D143 VER 18.143.2.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 000b4c88 08020200 08020200 00010200 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE 2 .rodata 000b8758 080d4e88 080d4e88 000c4e88 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA 3 .ARM 00000008 0818d5e0 0818d5e0 0017d5e0 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 4 .init_array 00000004 0818d5e8 0818d5e8 0017d5e8 2**2 CONTENTS, ALLOC, LOAD, DATA 5 .fini_array 00000004 0818d5ec 0818d5ec 0017d5ec 2**2 CONTENTS, ALLOC, LOAD, DATA 6 .data 00000d24 20020000 0818d5f0 00180000 2**2 CONTENTS, ALLOC, LOAD, DATA 7 .dtcmram 00019000 20000000 0818e314 00190000 2**5 CONTENTS, ALLOC, LOAD, DATA 8 .sram2 00000200 2007c000 081a7314 001ac000 2**5 CONTENTS, ALLOC, LOAD, DATA 9 .bss 00048958 20020d40 20020d40 001b0d40 2**5 ALLOC 10 ._user_heap_stack 0000f500 20069698 20069698 001b0d40 2**0 ALLOC 11 .ARM.attributes 0000002e 00000000 00000000 001ac200 2**0 CONTENTS, READONLY 12 .debug_info 00141441 00000000 00000000 001ac22e 2**0 CONTENTS, READONLY, DEBUGGING 13 .debug_abbrev 0001c512 00000000 00000000 002ed66f 2**0 CONTENTS, READONLY, DEBUGGING 14 .debug_aranges 00004588 00000000 00000000 00309b88 2**3 CONTENTS, READONLY, DEBUGGING 15 .debug_ranges 00003580 00000000 00000000 0030e110 2**3 CONTENTS, READONLY, DEBUGGING 16 .debug_line 00053c5a 00000000 00000000 00311690 2**0 CONTENTS, READONLY, DEBUGGING 17 .debug_str 00014693 00000000 00000000 003652ea 2**0 CONTENTS, READONLY, DEBUGGING 18 .comment 000000ec 00000000 00000000 0037997d 2**0 CONTENTS, READONLY 19 .debug_frame 00010328 00000000 00000000 00379a6c 2**2 CONTENTS, READONLY, DEBUGGING 20 .debug_loc 00003297 00000000 00000000 00389d94 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: 08020200 <__do_global_dtors_aux>: 8020200: b510 push {r4, lr} 8020202: 4c05 ldr r4, [pc, #20] ; (8020218 <__do_global_dtors_aux+0x18>) 8020204: 7823 ldrb r3, [r4, #0] 8020206: b933 cbnz r3, 8020216 <__do_global_dtors_aux+0x16> 8020208: 4b04 ldr r3, [pc, #16] ; (802021c <__do_global_dtors_aux+0x1c>) 802020a: b113 cbz r3, 8020212 <__do_global_dtors_aux+0x12> 802020c: 4804 ldr r0, [pc, #16] ; (8020220 <__do_global_dtors_aux+0x20>) 802020e: f3af 8000 nop.w 8020212: 2301 movs r3, #1 8020214: 7023 strb r3, [r4, #0] 8020216: bd10 pop {r4, pc} 8020218: 20020d40 .word 0x20020d40 802021c: 00000000 .word 0x00000000 8020220: 080d4e70 .word 0x080d4e70 08020224 : 8020224: b508 push {r3, lr} 8020226: 4b03 ldr r3, [pc, #12] ; (8020234 ) 8020228: b11b cbz r3, 8020232 802022a: 4903 ldr r1, [pc, #12] ; (8020238 ) 802022c: 4803 ldr r0, [pc, #12] ; (802023c ) 802022e: f3af 8000 nop.w 8020232: bd08 pop {r3, pc} 8020234: 00000000 .word 0x00000000 8020238: 20020d44 .word 0x20020d44 802023c: 080d4e70 .word 0x080d4e70 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: f097 f85b bl 80b7a80 80209ca: 4603 mov r3, r0 80209cc: 2b00 cmp r3, #0 80209ce: d001 beq.n 80209d4 Error_Handler(); 80209d0: f035 ff6c bl 80568ac } 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: f097 fb93 bl 80b8110 80209ea: 4603 mov r3, r0 80209ec: 2b00 cmp r3, #0 80209ee: d001 beq.n 80209f4 Error_Handler(); 80209f0: f035 ff5c bl 80568ac } //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: 20021c28 .word 0x20021c28 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: f097 f811 bl 80b7a80 8020a5e: 4603 mov r3, r0 8020a60: 2b00 cmp r3, #0 8020a62: d001 beq.n 8020a68 Error_Handler(); 8020a64: f035 ff22 bl 80568ac } __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: f099 f9b4 bl 80b9e00 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: f097 fb31 bl 80b8110 8020aae: 4603 mov r3, r0 8020ab0: 2b00 cmp r3, #0 8020ab2: d001 beq.n 8020ab8 Error_Handler(); 8020ab4: f035 fefa bl 80568ac } } 8020ab8: bf00 nop 8020aba: 3728 adds r7, #40 ; 0x28 8020abc: 46bd mov sp, r7 8020abe: bd80 pop {r7, pc} 8020ac0: 20021b80 .word 0x20021b80 8020ac4: 40012100 .word 0x40012100 8020ac8: 40023800 .word 0x40023800 8020acc: 40020800 .word 0x40020800 08020ad0 : void MX_ADC3_Init(void) //TACHO { 8020ad0: b580 push {r7, lr} 8020ad2: b08a sub sp, #40 ; 0x28 8020ad4: af00 add r7, sp, #0 GPIO_InitTypeDef GPIO_InitStruct; ADC_ChannelConfTypeDef sConfig; hadc3.Instance = ADC3; 8020ad6: 4b23 ldr r3, [pc, #140] ; (8020b64 ) 8020ad8: 4a23 ldr r2, [pc, #140] ; (8020b68 ) 8020ada: 601a str r2, [r3, #0] hadc3.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4; 8020adc: 4b21 ldr r3, [pc, #132] ; (8020b64 ) 8020ade: f44f 3280 mov.w r2, #65536 ; 0x10000 8020ae2: 605a str r2, [r3, #4] hadc3.Init.Resolution = ADC_RESOLUTION_12B; 8020ae4: 4b1f ldr r3, [pc, #124] ; (8020b64 ) 8020ae6: 2200 movs r2, #0 8020ae8: 609a str r2, [r3, #8] hadc3.Init.ScanConvMode = DISABLE; 8020aea: 4b1e ldr r3, [pc, #120] ; (8020b64 ) 8020aec: 2200 movs r2, #0 8020aee: 611a str r2, [r3, #16] hadc3.Init.ContinuousConvMode = DISABLE; 8020af0: 4b1c ldr r3, [pc, #112] ; (8020b64 ) 8020af2: 2200 movs r2, #0 8020af4: 619a str r2, [r3, #24] hadc3.Init.DiscontinuousConvMode = DISABLE; 8020af6: 4b1b ldr r3, [pc, #108] ; (8020b64 ) 8020af8: 2200 movs r2, #0 8020afa: f883 2020 strb.w r2, [r3, #32] hadc3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING; 8020afe: 4b19 ldr r3, [pc, #100] ; (8020b64 ) 8020b00: f04f 5280 mov.w r2, #268435456 ; 0x10000000 8020b04: 62da str r2, [r3, #44] ; 0x2c hadc3.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T1_TRGO; 8020b06: 4b17 ldr r3, [pc, #92] ; (8020b64 ) 8020b08: f04f 6210 mov.w r2, #150994944 ; 0x9000000 8020b0c: 629a str r2, [r3, #40] ; 0x28 hadc3.Init.DataAlign = ADC_DATAALIGN_RIGHT; 8020b0e: 4b15 ldr r3, [pc, #84] ; (8020b64 ) 8020b10: 2200 movs r2, #0 8020b12: 60da str r2, [r3, #12] hadc3.Init.NbrOfConversion = 1; 8020b14: 4b13 ldr r3, [pc, #76] ; (8020b64 ) 8020b16: 2201 movs r2, #1 8020b18: 61da str r2, [r3, #28] hadc3.Init.DMAContinuousRequests = ENABLE; 8020b1a: 4b12 ldr r3, [pc, #72] ; (8020b64 ) 8020b1c: 2201 movs r2, #1 8020b1e: f883 2030 strb.w r2, [r3, #48] ; 0x30 hadc3.Init.EOCSelection = ADC_EOC_SINGLE_CONV; 8020b22: 4b10 ldr r3, [pc, #64] ; (8020b64 ) 8020b24: 2201 movs r2, #1 8020b26: 615a str r2, [r3, #20] if(HAL_ADC_Init(&hadc3) != HAL_OK) { 8020b28: 480e ldr r0, [pc, #56] ; (8020b64 ) 8020b2a: f096 ffa9 bl 80b7a80 8020b2e: 4603 mov r3, r0 8020b30: 2b00 cmp r3, #0 8020b32: d001 beq.n 8020b38 Error_Handler(); 8020b34: f035 feba bl 80568ac } 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: f097 fadf bl 80b8110 8020b52: 4603 mov r3, r0 8020b54: 2b00 cmp r3, #0 8020b56: d001 beq.n 8020b5c Error_Handler(); 8020b58: f035 fea8 bl 80568ac } } 8020b5c: bf00 nop 8020b5e: 3728 adds r7, #40 ; 0x28 8020b60: 46bd mov sp, r7 8020b62: bd80 pop {r7, pc} 8020b64: 20021c70 .word 0x20021c70 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: f099 f929 bl 80b9e00 hdma_adc1.Instance = DMA2_Stream4; 8020bae: 4b5f ldr r3, [pc, #380] ; (8020d2c ) 8020bb0: 4a5f ldr r2, [pc, #380] ; (8020d30 ) 8020bb2: 601a str r2, [r3, #0] hdma_adc1.Init.Channel = DMA_CHANNEL_0; 8020bb4: 4b5d ldr r3, [pc, #372] ; (8020d2c ) 8020bb6: 2200 movs r2, #0 8020bb8: 605a str r2, [r3, #4] hdma_adc1.Init.Direction = DMA_PERIPH_TO_MEMORY; 8020bba: 4b5c ldr r3, [pc, #368] ; (8020d2c ) 8020bbc: 2200 movs r2, #0 8020bbe: 609a str r2, [r3, #8] hdma_adc1.Init.PeriphInc = DMA_PINC_DISABLE; 8020bc0: 4b5a ldr r3, [pc, #360] ; (8020d2c ) 8020bc2: 2200 movs r2, #0 8020bc4: 60da str r2, [r3, #12] hdma_adc1.Init.MemInc = DMA_MINC_ENABLE; 8020bc6: 4b59 ldr r3, [pc, #356] ; (8020d2c ) 8020bc8: f44f 6280 mov.w r2, #1024 ; 0x400 8020bcc: 611a str r2, [r3, #16] hdma_adc1.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; 8020bce: 4b57 ldr r3, [pc, #348] ; (8020d2c ) 8020bd0: f44f 6200 mov.w r2, #2048 ; 0x800 8020bd4: 615a str r2, [r3, #20] hdma_adc1.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; 8020bd6: 4b55 ldr r3, [pc, #340] ; (8020d2c ) 8020bd8: f44f 5200 mov.w r2, #8192 ; 0x2000 8020bdc: 619a str r2, [r3, #24] hdma_adc1.Init.Mode = DMA_CIRCULAR; 8020bde: 4b53 ldr r3, [pc, #332] ; (8020d2c ) 8020be0: f44f 7280 mov.w r2, #256 ; 0x100 8020be4: 61da str r2, [r3, #28] hdma_adc1.Init.Priority = DMA_PRIORITY_HIGH; 8020be6: 4b51 ldr r3, [pc, #324] ; (8020d2c ) 8020be8: f44f 3200 mov.w r2, #131072 ; 0x20000 8020bec: 621a str r2, [r3, #32] hdma_adc1.Init.FIFOMode = DMA_FIFOMODE_DISABLE; 8020bee: 4b4f ldr r3, [pc, #316] ; (8020d2c ) 8020bf0: 2200 movs r2, #0 8020bf2: 625a str r2, [r3, #36] ; 0x24 if(HAL_DMA_Init(&hdma_adc1) != HAL_OK) { 8020bf4: 484d ldr r0, [pc, #308] ; (8020d2c ) 8020bf6: f097 ff2d bl 80b8a54 8020bfa: 4603 mov r3, r0 8020bfc: 2b00 cmp r3, #0 8020bfe: d001 beq.n 8020c04 Error_Handler(); 8020c00: f035 fe54 bl 80568ac } __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: f099 f8da bl 80b9e00 } 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: f099 f8b0 bl 80b9e00 hdma_adc3.Instance = DMA2_Stream1; 8020ca0: 4b27 ldr r3, [pc, #156] ; (8020d40 ) 8020ca2: 4a28 ldr r2, [pc, #160] ; (8020d44 ) 8020ca4: 601a str r2, [r3, #0] hdma_adc3.Init.Channel = DMA_CHANNEL_2; 8020ca6: 4b26 ldr r3, [pc, #152] ; (8020d40 ) 8020ca8: f04f 6280 mov.w r2, #67108864 ; 0x4000000 8020cac: 605a str r2, [r3, #4] hdma_adc3.Init.Direction = DMA_PERIPH_TO_MEMORY; 8020cae: 4b24 ldr r3, [pc, #144] ; (8020d40 ) 8020cb0: 2200 movs r2, #0 8020cb2: 609a str r2, [r3, #8] hdma_adc3.Init.PeriphInc = DMA_PINC_DISABLE; 8020cb4: 4b22 ldr r3, [pc, #136] ; (8020d40 ) 8020cb6: 2200 movs r2, #0 8020cb8: 60da str r2, [r3, #12] hdma_adc3.Init.MemInc = DMA_MINC_ENABLE; 8020cba: 4b21 ldr r3, [pc, #132] ; (8020d40 ) 8020cbc: f44f 6280 mov.w r2, #1024 ; 0x400 8020cc0: 611a str r2, [r3, #16] hdma_adc3.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; 8020cc2: 4b1f ldr r3, [pc, #124] ; (8020d40 ) 8020cc4: f44f 6200 mov.w r2, #2048 ; 0x800 8020cc8: 615a str r2, [r3, #20] hdma_adc3.Init.MemDataAlignment = DMA_PDATAALIGN_HALFWORD; 8020cca: 4b1d ldr r3, [pc, #116] ; (8020d40 ) 8020ccc: f44f 6200 mov.w r2, #2048 ; 0x800 8020cd0: 619a str r2, [r3, #24] hdma_adc3.Init.Mode = DMA_CIRCULAR; 8020cd2: 4b1b ldr r3, [pc, #108] ; (8020d40 ) 8020cd4: f44f 7280 mov.w r2, #256 ; 0x100 8020cd8: 61da str r2, [r3, #28] hdma_adc3.Init.Priority = DMA_PRIORITY_HIGH; 8020cda: 4b19 ldr r3, [pc, #100] ; (8020d40 ) 8020cdc: f44f 3200 mov.w r2, #131072 ; 0x20000 8020ce0: 621a str r2, [r3, #32] hdma_adc3.Init.FIFOMode = DMA_FIFOMODE_DISABLE; 8020ce2: 4b17 ldr r3, [pc, #92] ; (8020d40 ) 8020ce4: 2200 movs r2, #0 8020ce6: 625a str r2, [r3, #36] ; 0x24 hdma_adc3.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_HALFFULL; 8020ce8: 4b15 ldr r3, [pc, #84] ; (8020d40 ) 8020cea: 2201 movs r2, #1 8020cec: 629a str r2, [r3, #40] ; 0x28 hdma_adc3.Init.MemBurst = DMA_MBURST_SINGLE; 8020cee: 4b14 ldr r3, [pc, #80] ; (8020d40 ) 8020cf0: 2200 movs r2, #0 8020cf2: 62da str r2, [r3, #44] ; 0x2c hdma_adc3.Init.PeriphBurst = DMA_PBURST_SINGLE; 8020cf4: 4b12 ldr r3, [pc, #72] ; (8020d40 ) 8020cf6: 2200 movs r2, #0 8020cf8: 631a str r2, [r3, #48] ; 0x30 if(HAL_DMA_Init(&hdma_adc3) != HAL_OK) { 8020cfa: 4811 ldr r0, [pc, #68] ; (8020d40 ) 8020cfc: f097 feaa bl 80b8a54 8020d00: 4603 mov r3, r0 8020d02: 2b00 cmp r3, #0 8020d04: d001 beq.n 8020d0a Error_Handler(); 8020d06: f035 fdd1 bl 80568ac __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: 20021cb8 .word 0x20021cb8 8020d30: 40026470 .word 0x40026470 8020d34: 40012100 .word 0x40012100 8020d38: 40020800 .word 0x40020800 8020d3c: 40012200 .word 0x40012200 8020d40: 20021bc8 .word 0x20021bc8 8020d44: 40026428 .word 0x40026428 08020d48 : } } /* USER CODE BEGIN 1 */ void StartBatMeas(void) { 8020d48: b480 push {r7} 8020d4a: af00 add r7, sp, #0 TIMEOUT_BAT = sec5 + sec5; 8020d4c: 4b05 ldr r3, [pc, #20] ; (8020d64 ) 8020d4e: f44f 42a0 mov.w r2, #20480 ; 0x5000 8020d52: 601a str r2, [r3, #0] StartBat = true; 8020d54: 4b04 ldr r3, [pc, #16] ; (8020d68 ) 8020d56: 2201 movs r2, #1 8020d58: 701a strb r2, [r3, #0] } 8020d5a: bf00 nop 8020d5c: 46bd mov sp, r7 8020d5e: f85d 7b04 ldr.w r7, [sp], #4 8020d62: 4770 bx lr 8020d64: 200209d4 .word 0x200209d4 8020d68: 20020d6a .word 0x20020d6a 08020d6c : /////////////////////////////////////////////////////// void StartADC12(void) { 8020d6c: b580 push {r7, lr} 8020d6e: af00 add r7, sp, #0 HAL_ADC_Start_DMA(&hadc1, (uint32_t *) &DMA_Udar_u16(0), 16384u); 8020d70: f44f 4280 mov.w r2, #16384 ; 0x4000 8020d74: 4906 ldr r1, [pc, #24] ; (8020d90 ) 8020d76: 4807 ldr r0, [pc, #28] ; (8020d94 ) 8020d78: f097 f854 bl 80b7e24 HAL_TIM_Base_Start(&htim5); 8020d7c: 4806 ldr r0, [pc, #24] ; (8020d98 ) 8020d7e: f09f ff47 bl 80c0c10 HAL_TIM_GenerateEvent(&htim5, TIM_EVENTSOURCE_UPDATE); 8020d82: 2101 movs r1, #1 8020d84: 4804 ldr r0, [pc, #16] ; (8020d98 ) 8020d86: f0a0 f972 bl 80c106e } 8020d8a: bf00 nop 8020d8c: bd80 pop {r7, pc} 8020d8e: bf00 nop 8020d90: 64090000 .word 0x64090000 8020d94: 20021c28 .word 0x20021c28 8020d98: 20068904 .word 0x20068904 08020d9c : void StopADC12(void) { 8020d9c: b580 push {r7, lr} 8020d9e: af00 add r7, sp, #0 HAL_TIM_Base_Stop(&htim5); 8020da0: 4803 ldr r0, [pc, #12] ; (8020db0 ) 8020da2: f09f ffa5 bl 80c0cf0 HAL_ADC_Stop_DMA(&hadc1); 8020da6: 4803 ldr r0, [pc, #12] ; (8020db4 ) 8020da8: f097 f936 bl 80b8018 } 8020dac: bf00 nop 8020dae: bd80 pop {r7, pc} 8020db0: 20068904 .word 0x20068904 8020db4: 20021c28 .word 0x20021c28 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: f097 f82e bl 80b7e24 HAL_TIM_Base_Start(&htim1); 8020dc8: 4806 ldr r0, [pc, #24] ; (8020de4 ) 8020dca: f09f ff21 bl 80c0c10 HAL_TIM_GenerateEvent(&htim1, TIM_EVENTSOURCE_UPDATE); 8020dce: 2101 movs r1, #1 8020dd0: 4804 ldr r0, [pc, #16] ; (8020de4 ) 8020dd2: f0a0 f94c bl 80c106e } 8020dd6: bf00 nop 8020dd8: bd80 pop {r7, pc} 8020dda: bf00 nop 8020ddc: 64090000 .word 0x64090000 8020de0: 20021c70 .word 0x20021c70 8020de4: 200689a0 .word 0x200689a0 08020de8 : void StopTacho(void) { 8020de8: b580 push {r7, lr} 8020dea: af00 add r7, sp, #0 //HAL_ADC_Stop_DMA(&hadc3); HAL_TIM_Base_Stop(&htim1); 8020dec: 4803 ldr r0, [pc, #12] ; (8020dfc ) 8020dee: f09f ff7f bl 80c0cf0 HAL_ADC_Stop_DMA(&hadc3); 8020df2: 4803 ldr r0, [pc, #12] ; (8020e00 ) 8020df4: f097 f910 bl 80b8018 } 8020df8: bf00 nop 8020dfa: bd80 pop {r7, pc} 8020dfc: 200689a0 .word 0x200689a0 8020e00: 20021c70 .word 0x20021c70 08020e04 : void MeasBattery(void) { 8020e04: b580 push {r7, lr} 8020e06: b084 sub sp, #16 8020e08: af00 add r7, sp, #0 static uint8_t oldState = 0xf; int32_t V32, i; uint32_t Bat; if((StartBat)) 8020e0a: 4ba5 ldr r3, [pc, #660] ; (80210a0 ) 8020e0c: 781b ldrb r3, [r3, #0] 8020e0e: b2db uxtb r3, r3 8020e10: 2b00 cmp r3, #0 8020e12: f000 841e beq.w 8021652 { HAL_ADC_Start(&hadc2); 8020e16: 48a3 ldr r0, [pc, #652] ; (80210a4 ) 8020e18: f096 fe76 bl 80b7b08 HAL_ADC_PollForConversion(&hadc2, 100); 8020e1c: 2164 movs r1, #100 ; 0x64 8020e1e: 48a1 ldr r0, [pc, #644] ; (80210a4 ) 8020e20: f096 ff74 bl 80b7d0c Bat = HAL_ADC_GetValue(&hadc2); 8020e24: 489f ldr r0, [pc, #636] ; (80210a4 ) 8020e26: f097 f951 bl 80b80cc 8020e2a: 60b8 str r0, [r7, #8] HAL_ADC_Stop(&hadc2); 8020e2c: 489d ldr r0, [pc, #628] ; (80210a4 ) 8020e2e: f096 ff39 bl 80b7ca4 ADCBat += Bat; 8020e32: 4b9d ldr r3, [pc, #628] ; (80210a8 ) 8020e34: 681a ldr r2, [r3, #0] 8020e36: 68bb ldr r3, [r7, #8] 8020e38: 4413 add r3, r2 8020e3a: 4a9b ldr r2, [pc, #620] ; (80210a8 ) 8020e3c: 6013 str r3, [r2, #0] adc_cnt++; 8020e3e: 4b9b ldr r3, [pc, #620] ; (80210ac ) 8020e40: 881b ldrh r3, [r3, #0] 8020e42: b29b uxth r3, r3 8020e44: 3301 adds r3, #1 8020e46: b29a uxth r2, r3 8020e48: 4b98 ldr r3, [pc, #608] ; (80210ac ) 8020e4a: 801a strh r2, [r3, #0] if(TIMEOUT_BAT) 8020e4c: 4b98 ldr r3, [pc, #608] ; (80210b0 ) 8020e4e: 681b ldr r3, [r3, #0] 8020e50: 2b00 cmp r3, #0 8020e52: f000 81e4 beq.w 802121e { if(adc_cnt >= 1) // 32 times --> 125 msec 8020e56: 4b95 ldr r3, [pc, #596] ; (80210ac ) 8020e58: 881b ldrh r3, [r3, #0] 8020e5a: b29b uxth r3, r3 8020e5c: 2b00 cmp r3, #0 8020e5e: f000 83f8 beq.w 8021652 { f = (float32_t) ADCBat; 8020e62: 4b91 ldr r3, [pc, #580] ; (80210a8 ) 8020e64: 681b ldr r3, [r3, #0] 8020e66: ee07 3a90 vmov s15, r3 8020e6a: eef8 7a67 vcvt.f32.u32 s15, s15 8020e6e: edc7 7a03 vstr s15, [r7, #12] f /= (float32_t) adc_cnt; 8020e72: 4b8e ldr r3, [pc, #568] ; (80210ac ) 8020e74: 881b ldrh r3, [r3, #0] 8020e76: b29b uxth r3, r3 8020e78: ee07 3a90 vmov s15, r3 8020e7c: eeb8 7a67 vcvt.f32.u32 s14, s15 8020e80: edd7 6a03 vldr s13, [r7, #12] 8020e84: eec6 7a87 vdiv.f32 s15, s13, s14 8020e88: edc7 7a03 vstr s15, [r7, #12] ADCBat = (uint32_t) (f + 0.5f); 8020e8c: edd7 7a03 vldr s15, [r7, #12] 8020e90: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8020e94: ee77 7a87 vadd.f32 s15, s15, s14 8020e98: eefc 7ae7 vcvt.u32.f32 s15, s15 8020e9c: ee17 2a90 vmov r2, s15 8020ea0: 4b81 ldr r3, [pc, #516] ; (80210a8 ) 8020ea2: 601a str r2, [r3, #0] ADCBat = MedVbat(ADCBat); 8020ea4: 4b80 ldr r3, [pc, #512] ; (80210a8 ) 8020ea6: 681b ldr r3, [r3, #0] 8020ea8: 4618 mov r0, r3 8020eaa: f000 fbef bl 802168c 8020eae: 4602 mov r2, r0 8020eb0: 4b7d ldr r3, [pc, #500] ; (80210a8 ) 8020eb2: 601a str r2, [r3, #0] f = (float32_t) ADCBat; 8020eb4: 4b7c ldr r3, [pc, #496] ; (80210a8 ) 8020eb6: 681b ldr r3, [r3, #0] 8020eb8: ee07 3a90 vmov s15, r3 8020ebc: eef8 7a67 vcvt.f32.u32 s15, s15 8020ec0: edc7 7a03 vstr s15, [r7, #12] f *= VBAT_MULT; 8020ec4: edd7 7a03 vldr s15, [r7, #12] 8020ec8: ed9f 7a7a vldr s14, [pc, #488] ; 80210b4 8020ecc: ee67 7a87 vmul.f32 s15, s15, s14 8020ed0: edc7 7a03 vstr s15, [r7, #12] if(clbr == false) 8020ed4: 4b78 ldr r3, [pc, #480] ; (80210b8 ) 8020ed6: 781b ldrb r3, [r3, #0] 8020ed8: b2db uxtb r3, r3 8020eda: f083 0301 eor.w r3, r3, #1 8020ede: b2db uxtb r3, r3 8020ee0: 2b00 cmp r3, #0 8020ee2: d011 beq.n 8020f08 { f = f * aa1; 8020ee4: 4b75 ldr r3, [pc, #468] ; (80210bc ) 8020ee6: edd3 7a00 vldr s15, [r3] 8020eea: ed97 7a03 vldr s14, [r7, #12] 8020eee: ee67 7a27 vmul.f32 s15, s14, s15 8020ef2: edc7 7a03 vstr s15, [r7, #12] f += aa0; 8020ef6: 4b72 ldr r3, [pc, #456] ; (80210c0 ) 8020ef8: edd3 7a00 vldr s15, [r3] 8020efc: ed97 7a03 vldr s14, [r7, #12] 8020f00: ee77 7a27 vadd.f32 s15, s14, s15 8020f04: edc7 7a03 vstr s15, [r7, #12] } f += 0.005f; 8020f08: edd7 7a03 vldr s15, [r7, #12] 8020f0c: ed9f 7a6d vldr s14, [pc, #436] ; 80210c4 8020f10: ee77 7a87 vadd.f32 s15, s15, s14 8020f14: edc7 7a03 vstr s15, [r7, #12] V32 = (int32_t) (f * 100); 8020f18: edd7 7a03 vldr s15, [r7, #12] 8020f1c: ed9f 7a6a vldr s14, [pc, #424] ; 80210c8 8020f20: ee67 7a87 vmul.f32 s15, s15, s14 8020f24: eefd 7ae7 vcvt.s32.f32 s15, s15 8020f28: ee17 3a90 vmov r3, s15 8020f2c: 607b str r3, [r7, #4] f = (float32_t) V32; 8020f2e: 687b ldr r3, [r7, #4] 8020f30: ee07 3a90 vmov s15, r3 8020f34: eef8 7ae7 vcvt.f32.s32 s15, s15 8020f38: edc7 7a03 vstr s15, [r7, #12] Vbat = f / 100 + 0.001f; 8020f3c: ed97 7a03 vldr s14, [r7, #12] 8020f40: eddf 6a61 vldr s13, [pc, #388] ; 80210c8 8020f44: eec7 7a26 vdiv.f32 s15, s14, s13 8020f48: ed9f 7a60 vldr s14, [pc, #384] ; 80210cc 8020f4c: ee77 7a87 vadd.f32 s15, s15, s14 8020f50: 4b5f ldr r3, [pc, #380] ; (80210d0 ) 8020f52: edc3 7a00 vstr s15, [r3] ADCBat = 0; 8020f56: 4b54 ldr r3, [pc, #336] ; (80210a8 ) 8020f58: 2200 movs r2, #0 8020f5a: 601a str r2, [r3, #0] adc_cnt = 0; 8020f5c: 4b53 ldr r3, [pc, #332] ; (80210ac ) 8020f5e: 2200 movs r2, #0 8020f60: 801a strh r2, [r3, #0] if(Vbat >= 3.80f) 8020f62: 4b5b ldr r3, [pc, #364] ; (80210d0 ) 8020f64: edd3 7a00 vldr s15, [r3] 8020f68: ed9f 7a5a vldr s14, [pc, #360] ; 80210d4 8020f6c: eef4 7ac7 vcmpe.f32 s15, s14 8020f70: eef1 fa10 vmrs APSR_nzcv, fpscr 8020f74: db23 blt.n 8020fbe { if((StateBattery != 0xf) && ((oldState == 0xf))) 8020f76: 4b58 ldr r3, [pc, #352] ; (80210d8 ) 8020f78: 781b ldrb r3, [r3, #0] 8020f7a: b2db uxtb r3, r3 8020f7c: 2b0f cmp r3, #15 8020f7e: d017 beq.n 8020fb0 8020f80: 4b56 ldr r3, [pc, #344] ; (80210dc ) 8020f82: 781b ldrb r3, [r3, #0] 8020f84: 2b0f cmp r3, #15 8020f86: d113 bne.n 8020fb0 { if(gystTimeout) 8020f88: 4b55 ldr r3, [pc, #340] ; (80210e0 ) 8020f8a: 781b ldrb r3, [r3, #0] 8020f8c: b2db uxtb r3, r3 8020f8e: 2b00 cmp r3, #0 8020f90: d007 beq.n 8020fa2 gystTimeout--; 8020f92: 4b53 ldr r3, [pc, #332] ; (80210e0 ) 8020f94: 781b ldrb r3, [r3, #0] 8020f96: b2db uxtb r3, r3 8020f98: 3b01 subs r3, #1 8020f9a: b2da uxtb r2, r3 8020f9c: 4b50 ldr r3, [pc, #320] ; (80210e0 ) 8020f9e: 701a strb r2, [r3, #0] if(gystTimeout) 8020fa0: e009 b.n 8020fb6 else { StateBattery = 0xf; 8020fa2: 4b4d ldr r3, [pc, #308] ; (80210d8 ) 8020fa4: 220f movs r2, #15 8020fa6: 701a strb r2, [r3, #0] gystTimeout = TIMEOUT_GYST_VALUE; 8020fa8: 4b4d ldr r3, [pc, #308] ; (80210e0 ) 8020faa: 2201 movs r2, #1 8020fac: 701a strb r2, [r3, #0] if(gystTimeout) 8020fae: e002 b.n 8020fb6 } } else gystTimeout = TIMEOUT_GYST_VALUE; 8020fb0: 4b4b ldr r3, [pc, #300] ; (80210e0 ) 8020fb2: 2201 movs r2, #1 8020fb4: 701a strb r2, [r3, #0] oldState = 0xf; 8020fb6: 4b49 ldr r3, [pc, #292] ; (80210dc ) 8020fb8: 220f movs r2, #15 8020fba: 701a strb r2, [r3, #0] 8020fbc: e12b b.n 8021216 } else if((Vbat >= 3.65f) && (Vbat < 3.80f)) 8020fbe: 4b44 ldr r3, [pc, #272] ; (80210d0 ) 8020fc0: edd3 7a00 vldr s15, [r3] 8020fc4: ed9f 7a47 vldr s14, [pc, #284] ; 80210e4 8020fc8: eef4 7ac7 vcmpe.f32 s15, s14 8020fcc: eef1 fa10 vmrs APSR_nzcv, fpscr 8020fd0: db2d blt.n 802102e 8020fd2: 4b3f ldr r3, [pc, #252] ; (80210d0 ) 8020fd4: edd3 7a00 vldr s15, [r3] 8020fd8: ed9f 7a3e vldr s14, [pc, #248] ; 80210d4 8020fdc: eef4 7ac7 vcmpe.f32 s15, s14 8020fe0: eef1 fa10 vmrs APSR_nzcv, fpscr 8020fe4: d523 bpl.n 802102e { if((StateBattery != 0x7) && ((oldState == 0x7))) 8020fe6: 4b3c ldr r3, [pc, #240] ; (80210d8 ) 8020fe8: 781b ldrb r3, [r3, #0] 8020fea: b2db uxtb r3, r3 8020fec: 2b07 cmp r3, #7 8020fee: d017 beq.n 8021020 8020ff0: 4b3a ldr r3, [pc, #232] ; (80210dc ) 8020ff2: 781b ldrb r3, [r3, #0] 8020ff4: 2b07 cmp r3, #7 8020ff6: d113 bne.n 8021020 { if(gystTimeout) 8020ff8: 4b39 ldr r3, [pc, #228] ; (80210e0 ) 8020ffa: 781b ldrb r3, [r3, #0] 8020ffc: b2db uxtb r3, r3 8020ffe: 2b00 cmp r3, #0 8021000: d007 beq.n 8021012 gystTimeout--; 8021002: 4b37 ldr r3, [pc, #220] ; (80210e0 ) 8021004: 781b ldrb r3, [r3, #0] 8021006: b2db uxtb r3, r3 8021008: 3b01 subs r3, #1 802100a: b2da uxtb r2, r3 802100c: 4b34 ldr r3, [pc, #208] ; (80210e0 ) 802100e: 701a strb r2, [r3, #0] if(gystTimeout) 8021010: e009 b.n 8021026 else { StateBattery = 0x7; 8021012: 4b31 ldr r3, [pc, #196] ; (80210d8 ) 8021014: 2207 movs r2, #7 8021016: 701a strb r2, [r3, #0] gystTimeout = TIMEOUT_GYST_VALUE; 8021018: 4b31 ldr r3, [pc, #196] ; (80210e0 ) 802101a: 2201 movs r2, #1 802101c: 701a strb r2, [r3, #0] if(gystTimeout) 802101e: e002 b.n 8021026 } } else gystTimeout = TIMEOUT_GYST_VALUE; 8021020: 4b2f ldr r3, [pc, #188] ; (80210e0 ) 8021022: 2201 movs r2, #1 8021024: 701a strb r2, [r3, #0] oldState = 0x7; 8021026: 4b2d ldr r3, [pc, #180] ; (80210dc ) 8021028: 2207 movs r2, #7 802102a: 701a strb r2, [r3, #0] 802102c: e0f3 b.n 8021216 } else if((Vbat >= 3.50f) && (Vbat < 3.65f)) 802102e: 4b28 ldr r3, [pc, #160] ; (80210d0 ) 8021030: edd3 7a00 vldr s15, [r3] 8021034: eeb0 7a0c vmov.f32 s14, #12 ; 0x40600000 3.5 8021038: eef4 7ac7 vcmpe.f32 s15, s14 802103c: eef1 fa10 vmrs APSR_nzcv, fpscr 8021040: db52 blt.n 80210e8 8021042: 4b23 ldr r3, [pc, #140] ; (80210d0 ) 8021044: edd3 7a00 vldr s15, [r3] 8021048: ed9f 7a26 vldr s14, [pc, #152] ; 80210e4 802104c: eef4 7ac7 vcmpe.f32 s15, s14 8021050: eef1 fa10 vmrs APSR_nzcv, fpscr 8021054: d548 bpl.n 80210e8 { if((StateBattery != 0x3) && ((oldState == 0x3))) 8021056: 4b20 ldr r3, [pc, #128] ; (80210d8 ) 8021058: 781b ldrb r3, [r3, #0] 802105a: b2db uxtb r3, r3 802105c: 2b03 cmp r3, #3 802105e: d017 beq.n 8021090 8021060: 4b1e ldr r3, [pc, #120] ; (80210dc ) 8021062: 781b ldrb r3, [r3, #0] 8021064: 2b03 cmp r3, #3 8021066: d113 bne.n 8021090 { if(gystTimeout) 8021068: 4b1d ldr r3, [pc, #116] ; (80210e0 ) 802106a: 781b ldrb r3, [r3, #0] 802106c: b2db uxtb r3, r3 802106e: 2b00 cmp r3, #0 8021070: d007 beq.n 8021082 gystTimeout--; 8021072: 4b1b ldr r3, [pc, #108] ; (80210e0 ) 8021074: 781b ldrb r3, [r3, #0] 8021076: b2db uxtb r3, r3 8021078: 3b01 subs r3, #1 802107a: b2da uxtb r2, r3 802107c: 4b18 ldr r3, [pc, #96] ; (80210e0 ) 802107e: 701a strb r2, [r3, #0] if(gystTimeout) 8021080: e009 b.n 8021096 else { StateBattery = 0x3; 8021082: 4b15 ldr r3, [pc, #84] ; (80210d8 ) 8021084: 2203 movs r2, #3 8021086: 701a strb r2, [r3, #0] gystTimeout = TIMEOUT_GYST_VALUE; 8021088: 4b15 ldr r3, [pc, #84] ; (80210e0 ) 802108a: 2201 movs r2, #1 802108c: 701a strb r2, [r3, #0] if(gystTimeout) 802108e: e002 b.n 8021096 } } else gystTimeout = TIMEOUT_GYST_VALUE; 8021090: 4b13 ldr r3, [pc, #76] ; (80210e0 ) 8021092: 2201 movs r2, #1 8021094: 701a strb r2, [r3, #0] oldState = 0x3; 8021096: 4b11 ldr r3, [pc, #68] ; (80210dc ) 8021098: 2203 movs r2, #3 802109a: 701a strb r2, [r3, #0] 802109c: e0bb b.n 8021216 802109e: bf00 nop 80210a0: 20020d6a .word 0x20020d6a 80210a4: 20021b80 .word 0x20021b80 80210a8: 20020d5c .word 0x20020d5c 80210ac: 20020d60 .word 0x20020d60 80210b0: 200209d4 .word 0x200209d4 80210b4: 3a993e15 .word 0x3a993e15 80210b8: 20020f90 .word 0x20020f90 80210bc: 20020024 .word 0x20020024 80210c0: 20020d6c .word 0x20020d6c 80210c4: 3ba3d70a .word 0x3ba3d70a 80210c8: 42c80000 .word 0x42c80000 80210cc: 3a83126f .word 0x3a83126f 80210d0: 20020000 .word 0x20020000 80210d4: 40733333 .word 0x40733333 80210d8: 20020008 .word 0x20020008 80210dc: 20020028 .word 0x20020028 80210e0: 20020021 .word 0x20020021 80210e4: 4069999a .word 0x4069999a } else if((Vbat >= 3.35f) && (Vbat < 3.50f)) 80210e8: 4bb9 ldr r3, [pc, #740] ; (80213d0 ) 80210ea: edd3 7a00 vldr s15, [r3] 80210ee: ed9f 7ab9 vldr s14, [pc, #740] ; 80213d4 80210f2: eef4 7ac7 vcmpe.f32 s15, s14 80210f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80210fa: db2d blt.n 8021158 80210fc: 4bb4 ldr r3, [pc, #720] ; (80213d0 ) 80210fe: edd3 7a00 vldr s15, [r3] 8021102: eeb0 7a0c vmov.f32 s14, #12 ; 0x40600000 3.5 8021106: eef4 7ac7 vcmpe.f32 s15, s14 802110a: eef1 fa10 vmrs APSR_nzcv, fpscr 802110e: d523 bpl.n 8021158 { if((StateBattery != 0x1) && ((oldState == 0x1))) 8021110: 4bb1 ldr r3, [pc, #708] ; (80213d8 ) 8021112: 781b ldrb r3, [r3, #0] 8021114: b2db uxtb r3, r3 8021116: 2b01 cmp r3, #1 8021118: d017 beq.n 802114a 802111a: 4bb0 ldr r3, [pc, #704] ; (80213dc ) 802111c: 781b ldrb r3, [r3, #0] 802111e: 2b01 cmp r3, #1 8021120: d113 bne.n 802114a { if(gystTimeout) 8021122: 4baf ldr r3, [pc, #700] ; (80213e0 ) 8021124: 781b ldrb r3, [r3, #0] 8021126: b2db uxtb r3, r3 8021128: 2b00 cmp r3, #0 802112a: d007 beq.n 802113c gystTimeout--; 802112c: 4bac ldr r3, [pc, #688] ; (80213e0 ) 802112e: 781b ldrb r3, [r3, #0] 8021130: b2db uxtb r3, r3 8021132: 3b01 subs r3, #1 8021134: b2da uxtb r2, r3 8021136: 4baa ldr r3, [pc, #680] ; (80213e0 ) 8021138: 701a strb r2, [r3, #0] if(gystTimeout) 802113a: e009 b.n 8021150 else { StateBattery = 0x1; 802113c: 4ba6 ldr r3, [pc, #664] ; (80213d8 ) 802113e: 2201 movs r2, #1 8021140: 701a strb r2, [r3, #0] gystTimeout = TIMEOUT_GYST_VALUE; 8021142: 4ba7 ldr r3, [pc, #668] ; (80213e0 ) 8021144: 2201 movs r2, #1 8021146: 701a strb r2, [r3, #0] if(gystTimeout) 8021148: e002 b.n 8021150 } } else gystTimeout = TIMEOUT_GYST_VALUE; 802114a: 4ba5 ldr r3, [pc, #660] ; (80213e0 ) 802114c: 2201 movs r2, #1 802114e: 701a strb r2, [r3, #0] oldState = 0x1; 8021150: 4ba2 ldr r3, [pc, #648] ; (80213dc ) 8021152: 2201 movs r2, #1 8021154: 701a strb r2, [r3, #0] 8021156: e05e b.n 8021216 } else if(Vbat < 3.35f) 8021158: 4b9d ldr r3, [pc, #628] ; (80213d0 ) 802115a: edd3 7a00 vldr s15, [r3] 802115e: ed9f 7a9d vldr s14, [pc, #628] ; 80213d4 8021162: eef4 7ac7 vcmpe.f32 s15, s14 8021166: eef1 fa10 vmrs APSR_nzcv, fpscr 802116a: d554 bpl.n 8021216 { if((StateBattery != 0) && ((oldState == 0))) 802116c: 4b9a ldr r3, [pc, #616] ; (80213d8 ) 802116e: 781b ldrb r3, [r3, #0] 8021170: b2db uxtb r3, r3 8021172: 2b00 cmp r3, #0 8021174: d047 beq.n 8021206 8021176: 4b99 ldr r3, [pc, #612] ; (80213dc ) 8021178: 781b ldrb r3, [r3, #0] 802117a: 2b00 cmp r3, #0 802117c: d143 bne.n 8021206 { if(gystTimeout) 802117e: 4b98 ldr r3, [pc, #608] ; (80213e0 ) 8021180: 781b ldrb r3, [r3, #0] 8021182: b2db uxtb r3, r3 8021184: 2b00 cmp r3, #0 8021186: d007 beq.n 8021198 gystTimeout--; 8021188: 4b95 ldr r3, [pc, #596] ; (80213e0 ) 802118a: 781b ldrb r3, [r3, #0] 802118c: b2db uxtb r3, r3 802118e: 3b01 subs r3, #1 8021190: b2da uxtb r2, r3 8021192: 4b93 ldr r3, [pc, #588] ; (80213e0 ) 8021194: 701a strb r2, [r3, #0] if(gystTimeout) 8021196: e03a b.n 802120e else { StateBattery = 0; 8021198: 4b8f ldr r3, [pc, #572] ; (80213d8 ) 802119a: 2200 movs r2, #0 802119c: 701a strb r2, [r3, #0] gystTimeout = TIMEOUT_GYST_VALUE; 802119e: 4b90 ldr r3, [pc, #576] ; (80213e0 ) 80211a0: 2201 movs r2, #1 80211a2: 701a strb r2, [r3, #0] if(!ChargerIsConnect) 80211a4: 4b8f ldr r3, [pc, #572] ; (80213e4 ) 80211a6: 781b ldrb r3, [r3, #0] 80211a8: b2db uxtb r3, r3 80211aa: f083 0301 eor.w r3, r3, #1 80211ae: b2db uxtb r3, r3 80211b0: 2b00 cmp r3, #0 80211b2: d02c beq.n 802120e { NeedOff = true; 80211b4: 4b8c ldr r3, [pc, #560] ; (80213e8 ) 80211b6: 2201 movs r2, #1 80211b8: 701a strb r2, [r3, #0] menu = LOW_BAT; 80211ba: 4b8c ldr r3, [pc, #560] ; (80213ec ) 80211bc: 2248 movs r2, #72 ; 0x48 80211be: 701a strb r2, [r3, #0] SCB_CleanInvalidateDCache(); 80211c0: f7ff fb9c bl 80208fc Display(); 80211c4: f048 fe2c bl 8069e20 HAL_Delay(100); 80211c8: 2064 movs r0, #100 ; 0x64 80211ca: f096 fc37 bl 80b7a3c SCB_CleanInvalidateDCache(); 80211ce: f7ff fb95 bl 80208fc Display(); 80211d2: f048 fe25 bl 8069e20 HAL_Delay(100); 80211d6: 2064 movs r0, #100 ; 0x64 80211d8: f096 fc30 bl 80b7a3c SCB_CleanInvalidateDCache(); 80211dc: f7ff fb8e bl 80208fc Display(); 80211e0: f048 fe1e bl 8069e20 HAL_Delay(100); 80211e4: 2064 movs r0, #100 ; 0x64 80211e6: f096 fc29 bl 80b7a3c SCB_CleanInvalidateDCache(); 80211ea: f7ff fb87 bl 80208fc Display(); 80211ee: f048 fe17 bl 8069e20 HAL_Delay(200); 80211f2: 20c8 movs r0, #200 ; 0xc8 80211f4: f096 fc22 bl 80b7a3c Display(); 80211f8: f048 fe12 bl 8069e20 HAL_Delay(3000); 80211fc: f640 30b8 movw r0, #3000 ; 0xbb8 8021200: f096 fc1c bl 80b7a3c 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: f099 f81c bl 80ba36c 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: 20021b72 .word 0x20021b72 80213e8: 20020fc1 .word 0x20020fc1 80213ec: 20020fc5 .word 0x20020fc5 80213f0: 20020020 .word 0x20020020 80213f4: 20020d60 .word 0x20020d60 80213f8: 20020d5c .word 0x20020d5c 80213fc: 3a993e15 .word 0x3a993e15 8021400: 20020f90 .word 0x20020f90 8021404: 20020024 .word 0x20020024 8021408: 20020d6c .word 0x20020d6c 802140c: 3ba3d70a .word 0x3ba3d70a 8021410: 42c80000 .word 0x42c80000 8021414: 3a83126f .word 0x3a83126f 8021418: 20020004 .word 0x20020004 802141c: 40020800 .word 0x40020800 8021420: 20020d64 .word 0x20020d64 8021424: 40733333 .word 0x40733333 if((Vbat >= 3.65f) && (Vbat < 3.80f)) 8021428: 4b8c ldr r3, [pc, #560] ; (802165c ) 802142a: edd3 7a00 vldr s15, [r3] 802142e: ed9f 7a8c vldr s14, [pc, #560] ; 8021660 8021432: eef4 7ac7 vcmpe.f32 s15, s14 8021436: eef1 fa10 vmrs APSR_nzcv, fpscr 802143a: db2d blt.n 8021498 802143c: 4b87 ldr r3, [pc, #540] ; (802165c ) 802143e: edd3 7a00 vldr s15, [r3] 8021442: ed9f 7a88 vldr s14, [pc, #544] ; 8021664 8021446: eef4 7ac7 vcmpe.f32 s15, s14 802144a: eef1 fa10 vmrs APSR_nzcv, fpscr 802144e: d523 bpl.n 8021498 if((StateBattery != 0x7) && ((oldState == 0x7))) 8021450: 4b85 ldr r3, [pc, #532] ; (8021668 ) 8021452: 781b ldrb r3, [r3, #0] 8021454: b2db uxtb r3, r3 8021456: 2b07 cmp r3, #7 8021458: d017 beq.n 802148a 802145a: 4b84 ldr r3, [pc, #528] ; (802166c ) 802145c: 781b ldrb r3, [r3, #0] 802145e: 2b07 cmp r3, #7 8021460: d113 bne.n 802148a if(gystVbat) 8021462: 4b83 ldr r3, [pc, #524] ; (8021670 ) 8021464: 781b ldrb r3, [r3, #0] 8021466: b2db uxtb r3, r3 8021468: 2b00 cmp r3, #0 802146a: d007 beq.n 802147c gystVbat--; 802146c: 4b80 ldr r3, [pc, #512] ; (8021670 ) 802146e: 781b ldrb r3, [r3, #0] 8021470: b2db uxtb r3, r3 8021472: 3b01 subs r3, #1 8021474: b2da uxtb r2, r3 8021476: 4b7e ldr r3, [pc, #504] ; (8021670 ) 8021478: 701a strb r2, [r3, #0] if(gystVbat) 802147a: e009 b.n 8021490 StateBattery = 0x7; 802147c: 4b7a ldr r3, [pc, #488] ; (8021668 ) 802147e: 2207 movs r2, #7 8021480: 701a strb r2, [r3, #0] gystVbat = VBAT_GYST_VALUE; 8021482: 4b7b ldr r3, [pc, #492] ; (8021670 ) 8021484: 220f movs r2, #15 8021486: 701a strb r2, [r3, #0] if(gystVbat) 8021488: e002 b.n 8021490 gystVbat = VBAT_GYST_VALUE; 802148a: 4b79 ldr r3, [pc, #484] ; (8021670 ) 802148c: 220f movs r2, #15 802148e: 701a strb r2, [r3, #0] oldState = 0x7; 8021490: 4b76 ldr r3, [pc, #472] ; (802166c ) 8021492: 2207 movs r2, #7 8021494: 701a strb r2, [r3, #0] 8021496: e09c b.n 80215d2 if((Vbat >= 3.5f) && (Vbat < 3.65f)) 8021498: 4b70 ldr r3, [pc, #448] ; (802165c ) 802149a: edd3 7a00 vldr s15, [r3] 802149e: eeb0 7a0c vmov.f32 s14, #12 ; 0x40600000 3.5 80214a2: eef4 7ac7 vcmpe.f32 s15, s14 80214a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80214aa: db2d blt.n 8021508 80214ac: 4b6b ldr r3, [pc, #428] ; (802165c ) 80214ae: edd3 7a00 vldr s15, [r3] 80214b2: ed9f 7a6b vldr s14, [pc, #428] ; 8021660 80214b6: eef4 7ac7 vcmpe.f32 s15, s14 80214ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80214be: d523 bpl.n 8021508 if((StateBattery != 0x3) && ((oldState == 0x3))) 80214c0: 4b69 ldr r3, [pc, #420] ; (8021668 ) 80214c2: 781b ldrb r3, [r3, #0] 80214c4: b2db uxtb r3, r3 80214c6: 2b03 cmp r3, #3 80214c8: d017 beq.n 80214fa 80214ca: 4b68 ldr r3, [pc, #416] ; (802166c ) 80214cc: 781b ldrb r3, [r3, #0] 80214ce: 2b03 cmp r3, #3 80214d0: d113 bne.n 80214fa if(gystVbat) 80214d2: 4b67 ldr r3, [pc, #412] ; (8021670 ) 80214d4: 781b ldrb r3, [r3, #0] 80214d6: b2db uxtb r3, r3 80214d8: 2b00 cmp r3, #0 80214da: d007 beq.n 80214ec gystVbat--; 80214dc: 4b64 ldr r3, [pc, #400] ; (8021670 ) 80214de: 781b ldrb r3, [r3, #0] 80214e0: b2db uxtb r3, r3 80214e2: 3b01 subs r3, #1 80214e4: b2da uxtb r2, r3 80214e6: 4b62 ldr r3, [pc, #392] ; (8021670 ) 80214e8: 701a strb r2, [r3, #0] if(gystVbat) 80214ea: e009 b.n 8021500 StateBattery = 0x3; 80214ec: 4b5e ldr r3, [pc, #376] ; (8021668 ) 80214ee: 2203 movs r2, #3 80214f0: 701a strb r2, [r3, #0] gystVbat = VBAT_GYST_VALUE; 80214f2: 4b5f ldr r3, [pc, #380] ; (8021670 ) 80214f4: 220f movs r2, #15 80214f6: 701a strb r2, [r3, #0] if(gystVbat) 80214f8: e002 b.n 8021500 gystVbat = VBAT_GYST_VALUE; 80214fa: 4b5d ldr r3, [pc, #372] ; (8021670 ) 80214fc: 220f movs r2, #15 80214fe: 701a strb r2, [r3, #0] oldState = 0x3; 8021500: 4b5a ldr r3, [pc, #360] ; (802166c ) 8021502: 2203 movs r2, #3 8021504: 701a strb r2, [r3, #0] 8021506: e064 b.n 80215d2 if((Vbat >= 3.35f) && (Vbat < 3.50f)) 8021508: 4b54 ldr r3, [pc, #336] ; (802165c ) 802150a: edd3 7a00 vldr s15, [r3] 802150e: ed9f 7a59 vldr s14, [pc, #356] ; 8021674 8021512: eef4 7ac7 vcmpe.f32 s15, s14 8021516: eef1 fa10 vmrs APSR_nzcv, fpscr 802151a: db2d blt.n 8021578 802151c: 4b4f ldr r3, [pc, #316] ; (802165c ) 802151e: edd3 7a00 vldr s15, [r3] 8021522: eeb0 7a0c vmov.f32 s14, #12 ; 0x40600000 3.5 8021526: eef4 7ac7 vcmpe.f32 s15, s14 802152a: eef1 fa10 vmrs APSR_nzcv, fpscr 802152e: d523 bpl.n 8021578 if((StateBattery != 0x1) && ((oldState == 0x1))) 8021530: 4b4d ldr r3, [pc, #308] ; (8021668 ) 8021532: 781b ldrb r3, [r3, #0] 8021534: b2db uxtb r3, r3 8021536: 2b01 cmp r3, #1 8021538: d017 beq.n 802156a 802153a: 4b4c ldr r3, [pc, #304] ; (802166c ) 802153c: 781b ldrb r3, [r3, #0] 802153e: 2b01 cmp r3, #1 8021540: d113 bne.n 802156a if(gystVbat) 8021542: 4b4b ldr r3, [pc, #300] ; (8021670 ) 8021544: 781b ldrb r3, [r3, #0] 8021546: b2db uxtb r3, r3 8021548: 2b00 cmp r3, #0 802154a: d007 beq.n 802155c gystVbat--; 802154c: 4b48 ldr r3, [pc, #288] ; (8021670 ) 802154e: 781b ldrb r3, [r3, #0] 8021550: b2db uxtb r3, r3 8021552: 3b01 subs r3, #1 8021554: b2da uxtb r2, r3 8021556: 4b46 ldr r3, [pc, #280] ; (8021670 ) 8021558: 701a strb r2, [r3, #0] if(gystVbat) 802155a: e009 b.n 8021570 StateBattery = 0x1; 802155c: 4b42 ldr r3, [pc, #264] ; (8021668 ) 802155e: 2201 movs r2, #1 8021560: 701a strb r2, [r3, #0] gystVbat = VBAT_GYST_VALUE; 8021562: 4b43 ldr r3, [pc, #268] ; (8021670 ) 8021564: 220f movs r2, #15 8021566: 701a strb r2, [r3, #0] if(gystVbat) 8021568: e002 b.n 8021570 gystVbat = VBAT_GYST_VALUE; 802156a: 4b41 ldr r3, [pc, #260] ; (8021670 ) 802156c: 220f movs r2, #15 802156e: 701a strb r2, [r3, #0] oldState = 0x1; 8021570: 4b3e ldr r3, [pc, #248] ; (802166c ) 8021572: 2201 movs r2, #1 8021574: 701a strb r2, [r3, #0] 8021576: e02c b.n 80215d2 if(Vbat < 3.35f) 8021578: 4b38 ldr r3, [pc, #224] ; (802165c ) 802157a: edd3 7a00 vldr s15, [r3] 802157e: ed9f 7a3d vldr s14, [pc, #244] ; 8021674 8021582: eef4 7ac7 vcmpe.f32 s15, s14 8021586: eef1 fa10 vmrs APSR_nzcv, fpscr 802158a: d522 bpl.n 80215d2 if((StateBattery != 0) && ((oldState == 0))) 802158c: 4b36 ldr r3, [pc, #216] ; (8021668 ) 802158e: 781b ldrb r3, [r3, #0] 8021590: b2db uxtb r3, r3 8021592: 2b00 cmp r3, #0 8021594: d017 beq.n 80215c6 8021596: 4b35 ldr r3, [pc, #212] ; (802166c ) 8021598: 781b ldrb r3, [r3, #0] 802159a: 2b00 cmp r3, #0 802159c: d113 bne.n 80215c6 if(gystVbat) 802159e: 4b34 ldr r3, [pc, #208] ; (8021670 ) 80215a0: 781b ldrb r3, [r3, #0] 80215a2: b2db uxtb r3, r3 80215a4: 2b00 cmp r3, #0 80215a6: d007 beq.n 80215b8 gystVbat--; 80215a8: 4b31 ldr r3, [pc, #196] ; (8021670 ) 80215aa: 781b ldrb r3, [r3, #0] 80215ac: b2db uxtb r3, r3 80215ae: 3b01 subs r3, #1 80215b0: b2da uxtb r2, r3 80215b2: 4b2f ldr r3, [pc, #188] ; (8021670 ) 80215b4: 701a strb r2, [r3, #0] if(gystVbat) 80215b6: e009 b.n 80215cc StateBattery = 0; 80215b8: 4b2b ldr r3, [pc, #172] ; (8021668 ) 80215ba: 2200 movs r2, #0 80215bc: 701a strb r2, [r3, #0] gystVbat = VBAT_GYST_VALUE; 80215be: 4b2c ldr r3, [pc, #176] ; (8021670 ) 80215c0: 220f movs r2, #15 80215c2: 701a strb r2, [r3, #0] if(gystVbat) 80215c4: e002 b.n 80215cc gystVbat = VBAT_GYST_VALUE; 80215c6: 4b2a ldr r3, [pc, #168] ; (8021670 ) 80215c8: 220f movs r2, #15 80215ca: 701a strb r2, [r3, #0] oldState = 0; 80215cc: 4b27 ldr r3, [pc, #156] ; (802166c ) 80215ce: 2200 movs r2, #0 80215d0: 701a strb r2, [r3, #0] if((StateBattery == 0) && (clbr == false) && (!ChargerIsConnect)) 80215d2: 4b25 ldr r3, [pc, #148] ; (8021668 ) 80215d4: 781b ldrb r3, [r3, #0] 80215d6: b2db uxtb r3, r3 80215d8: 2b00 cmp r3, #0 80215da: d137 bne.n 802164c 80215dc: 4b26 ldr r3, [pc, #152] ; (8021678 ) 80215de: 781b ldrb r3, [r3, #0] 80215e0: b2db uxtb r3, r3 80215e2: f083 0301 eor.w r3, r3, #1 80215e6: b2db uxtb r3, r3 80215e8: 2b00 cmp r3, #0 80215ea: d02f beq.n 802164c 80215ec: 4b23 ldr r3, [pc, #140] ; (802167c ) 80215ee: 781b ldrb r3, [r3, #0] 80215f0: b2db uxtb r3, r3 80215f2: f083 0301 eor.w r3, r3, #1 80215f6: b2db uxtb r3, r3 80215f8: 2b00 cmp r3, #0 80215fa: d027 beq.n 802164c NeedOff = true; 80215fc: 4b20 ldr r3, [pc, #128] ; (8021680 ) 80215fe: 2201 movs r2, #1 8021600: 701a strb r2, [r3, #0] menu = LOW_BAT; 8021602: 4b20 ldr r3, [pc, #128] ; (8021684 ) 8021604: 2248 movs r2, #72 ; 0x48 8021606: 701a strb r2, [r3, #0] SCB_CleanInvalidateDCache(); 8021608: f7ff f978 bl 80208fc Display(); 802160c: f048 fc08 bl 8069e20 HAL_Delay(100); 8021610: 2064 movs r0, #100 ; 0x64 8021612: f096 fa13 bl 80b7a3c SCB_CleanInvalidateDCache(); 8021616: f7ff f971 bl 80208fc Display(); 802161a: f048 fc01 bl 8069e20 HAL_Delay(100); 802161e: 2064 movs r0, #100 ; 0x64 8021620: f096 fa0c bl 80b7a3c SCB_CleanInvalidateDCache(); 8021624: f7ff f96a bl 80208fc Display(); 8021628: f048 fbfa bl 8069e20 HAL_Delay(100); 802162c: 2064 movs r0, #100 ; 0x64 802162e: f096 fa05 bl 80b7a3c SCB_CleanInvalidateDCache(); 8021632: f7ff f963 bl 80208fc Display(); 8021636: f048 fbf3 bl 8069e20 HAL_Delay(200); 802163a: 20c8 movs r0, #200 ; 0xc8 802163c: f096 f9fe bl 80b7a3c Display(); 8021640: f048 fbee bl 8069e20 HAL_Delay(3000); 8021644: f640 30b8 movw r0, #3000 ; 0xbb8 8021648: f096 f9f8 bl 80b7a3c 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: 20020f90 .word 0x20020f90 802167c: 20021b72 .word 0x20021b72 8021680: 20020fc1 .word 0x20020fc1 8021684: 20020fc5 .word 0x20020fc5 8021688: 20020021 .word 0x20020021 0802168c : uint32_t MedVbat(uint32_t val) { 802168c: b480 push {r7} 802168e: b08d sub sp, #52 ; 0x34 8021690: af00 add r7, sp, #0 8021692: 6078 str r0, [r7, #4] uint32_t i = 0; 8021694: 2300 movs r3, #0 8021696: 62fb str r3, [r7, #44] ; 0x2c uint32_t j = 0; 8021698: 2300 movs r3, #0 802169a: 62bb str r3, [r7, #40] ; 0x28 uint32_t k = 0; 802169c: 2300 movs r3, #0 802169e: 623b str r3, [r7, #32] uint32_t m; uint32_t temp[N_MED_ADC]; for(i = N_MED_ADC - 1; i > 0; i--) 80216a0: 2304 movs r3, #4 80216a2: 62fb str r3, [r7, #44] ; 0x2c 80216a4: e00b b.n 80216be med[i] = med[i - 1]; 80216a6: 6afb ldr r3, [r7, #44] ; 0x2c 80216a8: 3b01 subs r3, #1 80216aa: 4a54 ldr r2, [pc, #336] ; (80217fc ) 80216ac: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80216b0: 4952 ldr r1, [pc, #328] ; (80217fc ) 80216b2: 6afb ldr r3, [r7, #44] ; 0x2c 80216b4: f841 2023 str.w r2, [r1, r3, lsl #2] for(i = N_MED_ADC - 1; i > 0; i--) 80216b8: 6afb ldr r3, [r7, #44] ; 0x2c 80216ba: 3b01 subs r3, #1 80216bc: 62fb str r3, [r7, #44] ; 0x2c 80216be: 6afb ldr r3, [r7, #44] ; 0x2c 80216c0: 2b00 cmp r3, #0 80216c2: d1f0 bne.n 80216a6 med[0] = val; 80216c4: 4a4d ldr r2, [pc, #308] ; (80217fc ) 80216c6: 687b ldr r3, [r7, #4] 80216c8: 6013 str r3, [r2, #0] for(i = 0; i < N_MED_ADC; i++) 80216ca: 2300 movs r3, #0 80216cc: 62fb str r3, [r7, #44] ; 0x2c 80216ce: e00d b.n 80216ec temp[i] = med[i]; 80216d0: 4a4a ldr r2, [pc, #296] ; (80217fc ) 80216d2: 6afb ldr r3, [r7, #44] ; 0x2c 80216d4: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80216d8: 6afb ldr r3, [r7, #44] ; 0x2c 80216da: 009b lsls r3, r3, #2 80216dc: f107 0130 add.w r1, r7, #48 ; 0x30 80216e0: 440b add r3, r1 80216e2: f843 2c24 str.w r2, [r3, #-36] for(i = 0; i < N_MED_ADC; i++) 80216e6: 6afb ldr r3, [r7, #44] ; 0x2c 80216e8: 3301 adds r3, #1 80216ea: 62fb str r3, [r7, #44] ; 0x2c 80216ec: 6afb ldr r3, [r7, #44] ; 0x2c 80216ee: 2b04 cmp r3, #4 80216f0: d9ee bls.n 80216d0 if(CounterU < N_MED_ADC) 80216f2: 4b43 ldr r3, [pc, #268] ; (8021800 ) 80216f4: 881b ldrh r3, [r3, #0] 80216f6: b29b uxth r3, r3 80216f8: 2b04 cmp r3, #4 80216fa: d806 bhi.n 802170a CounterU++; 80216fc: 4b40 ldr r3, [pc, #256] ; (8021800 ) 80216fe: 881b ldrh r3, [r3, #0] 8021700: b29b uxth r3, r3 8021702: 3301 adds r3, #1 8021704: b29a uxth r2, r3 8021706: 4b3e ldr r3, [pc, #248] ; (8021800 ) 8021708: 801a strh r2, [r3, #0] for(j = 0; j < CounterU; j++) 802170a: 2300 movs r3, #0 802170c: 62bb str r3, [r7, #40] ; 0x28 802170e: e03d b.n 802178c { for(i = j; i < CounterU; i++) 8021710: 6abb ldr r3, [r7, #40] ; 0x28 8021712: 62fb str r3, [r7, #44] ; 0x2c 8021714: e030 b.n 8021778 { if(temp[i] < temp[j]) 8021716: 6afb ldr r3, [r7, #44] ; 0x2c 8021718: 009b lsls r3, r3, #2 802171a: f107 0230 add.w r2, r7, #48 ; 0x30 802171e: 4413 add r3, r2 8021720: f853 2c24 ldr.w r2, [r3, #-36] 8021724: 6abb ldr r3, [r7, #40] ; 0x28 8021726: 009b lsls r3, r3, #2 8021728: f107 0130 add.w r1, r7, #48 ; 0x30 802172c: 440b add r3, r1 802172e: f853 3c24 ldr.w r3, [r3, #-36] 8021732: 429a cmp r2, r3 8021734: d21d bcs.n 8021772 { m = temp[j]; 8021736: 6abb ldr r3, [r7, #40] ; 0x28 8021738: 009b lsls r3, r3, #2 802173a: f107 0230 add.w r2, r7, #48 ; 0x30 802173e: 4413 add r3, r2 8021740: f853 3c24 ldr.w r3, [r3, #-36] 8021744: 627b str r3, [r7, #36] ; 0x24 temp[j] = temp[i]; 8021746: 6afb ldr r3, [r7, #44] ; 0x2c 8021748: 009b lsls r3, r3, #2 802174a: f107 0230 add.w r2, r7, #48 ; 0x30 802174e: 4413 add r3, r2 8021750: f853 2c24 ldr.w r2, [r3, #-36] 8021754: 6abb ldr r3, [r7, #40] ; 0x28 8021756: 009b lsls r3, r3, #2 8021758: f107 0130 add.w r1, r7, #48 ; 0x30 802175c: 440b add r3, r1 802175e: f843 2c24 str.w r2, [r3, #-36] temp[i] = m; 8021762: 6afb ldr r3, [r7, #44] ; 0x2c 8021764: 009b lsls r3, r3, #2 8021766: f107 0230 add.w r2, r7, #48 ; 0x30 802176a: 4413 add r3, r2 802176c: 6a7a ldr r2, [r7, #36] ; 0x24 802176e: f843 2c24 str.w r2, [r3, #-36] for(i = j; i < CounterU; i++) 8021772: 6afb ldr r3, [r7, #44] ; 0x2c 8021774: 3301 adds r3, #1 8021776: 62fb str r3, [r7, #44] ; 0x2c 8021778: 4b21 ldr r3, [pc, #132] ; (8021800 ) 802177a: 881b ldrh r3, [r3, #0] 802177c: b29b uxth r3, r3 802177e: 461a mov r2, r3 8021780: 6afb ldr r3, [r7, #44] ; 0x2c 8021782: 429a cmp r2, r3 8021784: d8c7 bhi.n 8021716 for(j = 0; j < CounterU; j++) 8021786: 6abb ldr r3, [r7, #40] ; 0x28 8021788: 3301 adds r3, #1 802178a: 62bb str r3, [r7, #40] ; 0x28 802178c: 4b1c ldr r3, [pc, #112] ; (8021800 ) 802178e: 881b ldrh r3, [r3, #0] 8021790: b29b uxth r3, r3 8021792: 461a mov r2, r3 8021794: 6abb ldr r3, [r7, #40] ; 0x28 8021796: 429a cmp r2, r3 8021798: d8ba bhi.n 8021710 } } } i = CounterU >> 1; 802179a: 4b19 ldr r3, [pc, #100] ; (8021800 ) 802179c: 881b ldrh r3, [r3, #0] 802179e: b29b uxth r3, r3 80217a0: 085b lsrs r3, r3, #1 80217a2: b29b uxth r3, r3 80217a4: 62fb str r3, [r7, #44] ; 0x2c if((k & 0x1) || (i == 0)) 80217a6: 6a3b ldr r3, [r7, #32] 80217a8: f003 0301 and.w r3, r3, #1 80217ac: 2b00 cmp r3, #0 80217ae: d102 bne.n 80217b6 80217b0: 6afb ldr r3, [r7, #44] ; 0x2c 80217b2: 2b00 cmp r3, #0 80217b4: d108 bne.n 80217c8 m = temp[i]; 80217b6: 6afb ldr r3, [r7, #44] ; 0x2c 80217b8: 009b lsls r3, r3, #2 80217ba: f107 0230 add.w r2, r7, #48 ; 0x30 80217be: 4413 add r3, r2 80217c0: f853 3c24 ldr.w r3, [r3, #-36] 80217c4: 627b str r3, [r7, #36] ; 0x24 80217c6: e011 b.n 80217ec else m = (temp[i] + temp[i - 1]) / 2; 80217c8: 6afb ldr r3, [r7, #44] ; 0x2c 80217ca: 009b lsls r3, r3, #2 80217cc: f107 0230 add.w r2, r7, #48 ; 0x30 80217d0: 4413 add r3, r2 80217d2: f853 2c24 ldr.w r2, [r3, #-36] 80217d6: 6afb ldr r3, [r7, #44] ; 0x2c 80217d8: 3b01 subs r3, #1 80217da: 009b lsls r3, r3, #2 80217dc: f107 0130 add.w r1, r7, #48 ; 0x30 80217e0: 440b add r3, r1 80217e2: f853 3c24 ldr.w r3, [r3, #-36] 80217e6: 4413 add r3, r2 80217e8: 085b lsrs r3, r3, #1 80217ea: 627b str r3, [r7, #36] ; 0x24 return m; 80217ec: 6a7b ldr r3, [r7, #36] ; 0x24 } 80217ee: 4618 mov r0, r3 80217f0: 3734 adds r7, #52 ; 0x34 80217f2: 46bd mov sp, r7 80217f4: f85d 7b04 ldr.w r7, [sp], #4 80217f8: 4770 bx lr 80217fa: bf00 nop 80217fc: 2002000c .word 0x2002000c 8021800: 20020d68 .word 0x20020d68 08021804 : { 8021804: b480 push {r7} 8021806: b085 sub sp, #20 8021808: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 802180a: 4b19 ldr r3, [pc, #100] ; (8021870 ) 802180c: 2200 movs r2, #0 802180e: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 8021812: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 8021816: 4b16 ldr r3, [pc, #88] ; (8021870 ) 8021818: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 802181c: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 802181e: 687b ldr r3, [r7, #4] 8021820: 0b5b lsrs r3, r3, #13 8021822: f3c3 030e ubfx r3, r3, #0, #15 8021826: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 8021828: 687b ldr r3, [r7, #4] 802182a: 08db lsrs r3, r3, #3 802182c: f3c3 0309 ubfx r3, r3, #0, #10 8021830: 60bb str r3, [r7, #8] SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 8021832: 490f ldr r1, [pc, #60] ; (8021870 ) 8021834: 68fb ldr r3, [r7, #12] 8021836: 015a lsls r2, r3, #5 8021838: f643 73e0 movw r3, #16352 ; 0x3fe0 802183c: 4013 ands r3, r2 ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); 802183e: 68ba ldr r2, [r7, #8] 8021840: 0792 lsls r2, r2, #30 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 8021842: 4313 orrs r3, r2 8021844: f8c1 3274 str.w r3, [r1, #628] ; 0x274 } while (ways-- != 0U); 8021848: 68bb ldr r3, [r7, #8] 802184a: 1e5a subs r2, r3, #1 802184c: 60ba str r2, [r7, #8] 802184e: 2b00 cmp r3, #0 8021850: d1ef bne.n 8021832 } while(sets-- != 0U); 8021852: 68fb ldr r3, [r7, #12] 8021854: 1e5a subs r2, r3, #1 8021856: 60fa str r2, [r7, #12] 8021858: 2b00 cmp r3, #0 802185a: d1e5 bne.n 8021828 802185c: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 8021860: f3bf 8f6f isb sy } 8021864: bf00 nop 8021866: 3714 adds r7, #20 8021868: 46bd mov sp, r7 802186a: f85d 7b04 ldr.w r7, [sp], #4 802186e: 4770 bx lr 8021870: e000ed00 .word 0xe000ed00 08021874 : void SetKU(void) { 8021874: b580 push {r7, lr} 8021876: b082 sub sp, #8 8021878: af00 add r7, sp, #0 __IO uint32_t timeout; __IO uint8_t ku = 0; 802187a: 2300 movs r3, #0 802187c: 70fb strb r3, [r7, #3] if(pardata.SYG == UDAR) 802187e: 4b7b ldr r3, [pc, #492] ; (8021a6c ) 8021880: 781b ldrb r3, [r3, #0] 8021882: b2db uxtb r3, r3 8021884: 2b09 cmp r3, #9 8021886: d167 bne.n 8021958 { if(pardata.IKU > Ku8) 8021888: 4b78 ldr r3, [pc, #480] ; (8021a6c ) 802188a: 7a1b ldrb r3, [r3, #8] 802188c: b2db uxtb r3, r3 802188e: 2b03 cmp r3, #3 8021890: d902 bls.n 8021898 pardata.IKU = Ku8; //x1000 8021892: 4b76 ldr r3, [pc, #472] ; (8021a6c ) 8021894: 2203 movs r2, #3 8021896: 721a strb r2, [r3, #8] switch(pardata.IKU) 8021898: 4b74 ldr r3, [pc, #464] ; (8021a6c ) 802189a: 7a1b ldrb r3, [r3, #8] 802189c: b2db uxtb r3, r3 802189e: 2b03 cmp r3, #3 80218a0: d852 bhi.n 8021948 80218a2: a201 add r2, pc, #4 ; (adr r2, 80218a8 ) 80218a4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80218a8: 080218b9 .word 0x080218b9 80218ac: 080218dd .word 0x080218dd 80218b0: 08021901 .word 0x08021901 80218b4: 08021925 .word 0x08021925 { case Ku1: #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); 80218b8: 2201 movs r2, #1 80218ba: f44f 4180 mov.w r1, #16384 ; 0x4000 80218be: 486c ldr r0, [pc, #432] ; (8021a70 ) 80218c0: f098 fd6c bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #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: f098 fd67 bl 80ba39c 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: f098 fd61 bl 80ba39c break; 80218da: e035 b.n 8021948 case Ku2: //x10 #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 80218dc: 2200 movs r2, #0 80218de: f44f 4180 mov.w r1, #16384 ; 0x4000 80218e2: 4863 ldr r0, [pc, #396] ; (8021a70 ) 80218e4: f098 fd5a bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #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: f098 fd55 bl 80ba39c 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: f098 fd4f bl 80ba39c break; 80218fe: e023 b.n 8021948 case Ku4: //x100 #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8021900: 2200 movs r2, #0 8021902: f44f 4180 mov.w r1, #16384 ; 0x4000 8021906: 485a ldr r0, [pc, #360] ; (8021a70 ) 8021908: f098 fd48 bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #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: f098 fd43 bl 80ba39c 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: f098 fd3d bl 80ba39c break; 8021922: e011 b.n 8021948 case Ku8: //x1000 #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8021924: 2200 movs r2, #0 8021926: f44f 4180 mov.w r1, #16384 ; 0x4000 802192a: 4851 ldr r0, [pc, #324] ; (8021a70 ) 802192c: f098 fd36 bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #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: f098 fd31 bl 80ba39c 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: f098 fd2b bl 80ba39c 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_SET); 8021962: 2201 movs r2, #1 8021964: f44f 4180 mov.w r1, #16384 ; 0x4000 8021968: 4841 ldr r0, [pc, #260] ; (8021a70 ) 802196a: f098 fd17 bl 80ba39c 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_RESET); 8021978: 2200 movs r2, #0 802197a: f44f 4180 mov.w r1, #16384 ; 0x4000 802197e: 483c ldr r0, [pc, #240] ; (8021a70 ) 8021980: f098 fd0c bl 80ba39c 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: f096 f82b bl 80b7a24 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: f035 f861 bl 8056aa0 MAX11270_SetGain(ku); 80219de: 78fb ldrb r3, [r7, #3] 80219e0: b2db uxtb r3, r3 80219e2: 4618 mov r0, r3 80219e4: f035 f876 bl 8056ad4 MAX11270_StartMeas(); 80219e8: f034 fff0 bl 80569cc 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: f096 f812 bl 80b7a24 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: f035 f82a bl 8056aa0 MAX11270_SetGain(ku); 8021a4c: 78fb ldrb r3, [r7, #3] 8021a4e: b2db uxtb r3, r3 8021a50: 4618 mov r0, r3 8021a52: f035 f83f bl 8056ad4 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: 20023eb8 .word 0x20023eb8 8021a70: 40021800 .word 0x40021800 8021a74: 40020400 .word 0x40020400 8021a78: 40021400 .word 0x40021400 8021a7c: 20021580 .word 0x20021580 8021a80: 20020dcf .word 0x20020dcf 8021a84: 20020d94 .word 0x20020d94 8021a88: 20020dec .word 0x20020dec 8021a8c: 200216dc .word 0x200216dc 8021a90: 20020df2 .word 0x20020df2 08021a94 : void initAmplif(void) { 8021a94: b580 push {r7, lr} 8021a96: ed2d 8b02 vpush {d8} 8021a9a: b084 sub sp, #16 8021a9c: af00 add r7, sp, #0 uint8_t k, m, ku; __IO float32_t f, f1, fm; if(clbr) 8021a9e: 4ba5 ldr r3, [pc, #660] ; (8021d34 ) 8021aa0: 781b ldrb r3, [r3, #0] 8021aa2: b2db uxtb r3, r3 8021aa4: 2b00 cmp r3, #0 8021aa6: f000 80a3 beq.w 8021bf0 { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); 8021aaa: 2201 movs r2, #1 8021aac: f44f 4180 mov.w r1, #16384 ; 0x4000 8021ab0: 48a1 ldr r0, [pc, #644] ; (8021d38 ) 8021ab2: f098 fc73 bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #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: f098 fc30 bl 80ba39c #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); 8021b3c: 2201 movs r2, #1 8021b3e: f44f 4180 mov.w r1, #16384 ; 0x4000 8021b42: 487d ldr r0, [pc, #500] ; (8021d38 ) 8021b44: f098 fc2a bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #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: f098 fc25 bl 80ba39c 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: f098 fc1f bl 80ba39c MAX11270_StopMeas(); 8021b5e: f034 ff9f bl 8056aa0 MAX11270_SetGain(menu - CALIBR_0); 8021b62: 4b7d ldr r3, [pc, #500] ; (8021d58 ) 8021b64: 781b ldrb r3, [r3, #0] 8021b66: b2db uxtb r3, r3 8021b68: 3b35 subs r3, #53 ; 0x35 8021b6a: b2db uxtb r3, r3 8021b6c: 4618 mov r0, r3 8021b6e: f034 ffb1 bl 8056ad4 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: f098 fc0d bl 80ba39c #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8021b82: 2200 movs r2, #0 8021b84: f44f 4180 mov.w r1, #16384 ; 0x4000 8021b88: 486b ldr r0, [pc, #428] ; (8021d38 ) 8021b8a: f098 fc07 bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #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: f098 fc02 bl 80ba39c 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: f098 fbfc bl 80ba39c MAX11270_StopMeas(); 8021ba4: f034 ff7c bl 8056aa0 MAX11270_SetGain(Ku1); 8021ba8: 2000 movs r0, #0 8021baa: f034 ff93 bl 8056ad4 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: f098 fbef bl 80ba39c #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); 8021bbe: 2201 movs r2, #1 8021bc0: f44f 4180 mov.w r1, #16384 ; 0x4000 8021bc4: 485c ldr r0, [pc, #368] ; (8021d38 ) 8021bc6: f098 fbe9 bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #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: f098 fbe4 bl 80ba39c 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: f098 fbde bl 80ba39c MAX11270_StopMeas(); 8021be0: f034 ff5e bl 8056aa0 MAX11270_SetGain(Ku1); 8021be4: 2000 movs r0, #0 8021be6: f034 ff75 bl 8056ad4 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: f098 fbbc bl 80ba39c 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: f098 fbb0 bl 80ba39c 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: f098 fba9 bl 80ba39c } 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); 8021c66: 2201 movs r2, #1 8021c68: f44f 4180 mov.w r1, #16384 ; 0x4000 8021c6c: 4832 ldr r0, [pc, #200] ; (8021d38 ) 8021c6e: f098 fb95 bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #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: 20020f90 .word 0x20020f90 8021d38: 40021800 .word 0x40021800 8021d3c: 20023eb8 .word 0x20023eb8 8021d40: 41200000 .word 0x41200000 8021d44: 461c4000 .word 0x461c4000 8021d48: 080d76d8 .word 0x080d76d8 8021d4c: 20021d6c .word 0x20021d6c 8021d50: 080d76c4 .word 0x080d76c4 8021d54: 20021d2c .word 0x20021d2c 8021d58: 20020fc5 .word 0x20020fc5 8021d5c: 40021400 .word 0x40021400 8021d60: 40020400 .word 0x40020400 8021d64: 080d7700 .word 0x080d7700 8021d68: 447a0000 .word 0x447a0000 8021d6c: 080d76ac .word 0x080d76ac 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); 8021eaa: 2201 movs r2, #1 8021eac: f44f 4180 mov.w r1, #16384 ; 0x4000 8021eb0: 4878 ldr r0, [pc, #480] ; (8022094 ) 8021eb2: f098 fa73 bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #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: f046 f8fd bl 80680ec 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: f032 fbd9 bl 80547bc 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); 802201a: 2201 movs r2, #1 802201c: f44f 4180 mov.w r1, #16384 ; 0x4000 8022020: 481c ldr r0, [pc, #112] ; (8022094 ) 8022022: f098 f9bb bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #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: 080d76ac .word 0x080d76ac 8022080: 20020d84 .word 0x20020d84 8022084: 20023eb8 .word 0x20023eb8 8022088: 3d4ccccd .word 0x3d4ccccd 802208c: 080d7680 .word 0x080d7680 8022090: 447a0000 .word 0x447a0000 8022094: 40021800 .word 0x40021800 8022098: 080d76d8 .word 0x080d76d8 802209c: 20021d6c .word 0x20021d6c 80220a0: 080d76c4 .word 0x080d76c4 80220a4: 20021d2c .word 0x20021d2c 80220a8: 080d7728 .word 0x080d7728 80220ac: 200215b8 .word 0x200215b8 80220b0: 20020dd1 .word 0x20020dd1 { k--; 80220b4: 7bbb ldrb r3, [r7, #14] 80220b6: 3b01 subs r3, #1 80220b8: b2db uxtb r3, r3 80220ba: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 80220bc: 4bac ldr r3, [pc, #688] ; (8022370 ) 80220be: edd3 7a06 vldr s15, [r3, #24] 80220c2: ed9f 7aac vldr s14, [pc, #688] ; 8022374 80220c6: ee37 7ac7 vsub.f32 s14, s15, s14 80220ca: 4ba9 ldr r3, [pc, #676] ; (8022370 ) 80220cc: edd3 7a04 vldr s15, [r3, #16] 80220d0: ee27 7a27 vmul.f32 s14, s14, s15 80220d4: 7bbb ldrb r3, [r7, #14] 80220d6: 4aa8 ldr r2, [pc, #672] ; (8022378 ) 80220d8: 009b lsls r3, r3, #2 80220da: 4413 add r3, r2 80220dc: edd3 7a00 vldr s15, [r3] 80220e0: ee27 8a27 vmul.f32 s16, s14, s15 80220e4: f107 030e add.w r3, r7, #14 80220e8: 4618 mov r0, r3 80220ea: f000 fedd bl 8022ea8 80220ee: eef0 7a40 vmov.f32 s15, s0 80220f2: ee68 6a27 vmul.f32 s13, s16, s15 80220f6: ed97 7a01 vldr s14, [r7, #4] 80220fa: eec6 7a87 vdiv.f32 s15, s13, s14 80220fe: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8022102: 7bbb ldrb r3, [r7, #14] 8022104: 7bfa ldrb r2, [r7, #15] 8022106: 429a cmp r2, r3 8022108: d208 bcs.n 802211c 802210a: ed9f 7a9c vldr s14, [pc, #624] ; 802237c 802210e: edd7 7a02 vldr s15, [r7, #8] 8022112: eeb4 7ae7 vcmpe.f32 s14, s15 8022116: eef1 fa10 vmrs APSR_nzcv, fpscr 802211a: d4cb bmi.n 80220b4 } pardata.IKU = k; 802211c: 7bba ldrb r2, [r7, #14] 802211e: 4b94 ldr r3, [pc, #592] ; (8022370 ) 8022120: 721a strb r2, [r3, #8] SetKU(); 8022122: f7ff fba7 bl 8021874 8022126: e06b b.n 8022200 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8022128: 4b91 ldr r3, [pc, #580] ; (8022370 ) 802212a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 802212e: f003 0304 and.w r3, r3, #4 8022132: 2b00 cmp r3, #0 8022134: d15f bne.n 80221f6 { k = Ku640; 8022136: 230a movs r3, #10 8022138: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 802213a: 4b8d ldr r3, [pc, #564] ; (8022370 ) 802213c: edd3 7a06 vldr s15, [r3, #24] 8022140: ed9f 7a8c vldr s14, [pc, #560] ; 8022374 8022144: ee37 7ac7 vsub.f32 s14, s15, s14 8022148: 4b89 ldr r3, [pc, #548] ; (8022370 ) 802214a: edd3 7a04 vldr s15, [r3, #16] 802214e: ee27 7a27 vmul.f32 s14, s14, s15 8022152: 7bbb ldrb r3, [r7, #14] 8022154: 4a88 ldr r2, [pc, #544] ; (8022378 ) 8022156: 009b lsls r3, r3, #2 8022158: 4413 add r3, r2 802215a: edd3 7a00 vldr s15, [r3] 802215e: ee27 8a27 vmul.f32 s16, s14, s15 8022162: f107 030e add.w r3, r7, #14 8022166: 4618 mov r0, r3 8022168: f000 fe9e bl 8022ea8 802216c: eef0 7a40 vmov.f32 s15, s0 8022170: ee68 6a27 vmul.f32 s13, s16, s15 8022174: ed97 7a01 vldr s14, [r7, #4] 8022178: eec6 7a87 vdiv.f32 s15, s13, s14 802217c: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8022180: e026 b.n 80221d0 { k--; 8022182: 7bbb ldrb r3, [r7, #14] 8022184: 3b01 subs r3, #1 8022186: b2db uxtb r3, r3 8022188: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 802218a: 4b79 ldr r3, [pc, #484] ; (8022370 ) 802218c: edd3 7a06 vldr s15, [r3, #24] 8022190: ed9f 7a78 vldr s14, [pc, #480] ; 8022374 8022194: ee37 7ac7 vsub.f32 s14, s15, s14 8022198: 4b75 ldr r3, [pc, #468] ; (8022370 ) 802219a: edd3 7a04 vldr s15, [r3, #16] 802219e: ee27 7a27 vmul.f32 s14, s14, s15 80221a2: 7bbb ldrb r3, [r7, #14] 80221a4: 4a74 ldr r2, [pc, #464] ; (8022378 ) 80221a6: 009b lsls r3, r3, #2 80221a8: 4413 add r3, r2 80221aa: edd3 7a00 vldr s15, [r3] 80221ae: ee27 8a27 vmul.f32 s16, s14, s15 80221b2: f107 030e add.w r3, r7, #14 80221b6: 4618 mov r0, r3 80221b8: f000 fe76 bl 8022ea8 80221bc: eef0 7a40 vmov.f32 s15, s0 80221c0: ee68 6a27 vmul.f32 s13, s16, s15 80221c4: ed97 7a01 vldr s14, [r7, #4] 80221c8: eec6 7a87 vdiv.f32 s15, s13, s14 80221cc: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 80221d0: 7bbb ldrb r3, [r7, #14] 80221d2: 7bfa ldrb r2, [r7, #15] 80221d4: 429a cmp r2, r3 80221d6: d208 bcs.n 80221ea 80221d8: ed9f 7a68 vldr s14, [pc, #416] ; 802237c 80221dc: edd7 7a02 vldr s15, [r7, #8] 80221e0: eeb4 7ae7 vcmpe.f32 s14, s15 80221e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80221e8: d4cb bmi.n 8022182 } pardata.IKU = k; 80221ea: 7bba ldrb r2, [r7, #14] 80221ec: 4b60 ldr r3, [pc, #384] ; (8022370 ) 80221ee: 721a strb r2, [r3, #8] SetKU(); 80221f0: f7ff fb40 bl 8021874 80221f4: e004 b.n 8022200 } else { pardata.IKU = Ku1; 80221f6: 4b5e ldr r3, [pc, #376] ; (8022370 ) 80221f8: 2200 movs r2, #0 80221fa: 721a strb r2, [r3, #8] SetKU(); 80221fc: f7ff fb3a bl 8021874 } } Fs = FS[pardata.FRQ]; 8022200: 4b5b ldr r3, [pc, #364] ; (8022370 ) 8022202: 7adb ldrb r3, [r3, #11] 8022204: b2db uxtb r3, r3 8022206: 461a mov r2, r3 8022208: 4b5d ldr r3, [pc, #372] ; (8022380 ) 802220a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 802220e: 4a5d ldr r2, [pc, #372] ; (8022384 ) 8022210: 6013 str r3, [r2, #0] Ns = NS[pardata.LNE]; 8022212: 4b57 ldr r3, [pc, #348] ; (8022370 ) 8022214: 79db ldrb r3, [r3, #7] 8022216: b2db uxtb r3, r3 8022218: 461a mov r2, r3 802221a: 4b5b ldr r3, [pc, #364] ; (8022388 ) 802221c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8022220: 4a5a ldr r2, [pc, #360] ; (802238c ) 8022222: 6013 str r3, [r2, #0] RefreshGraf(); 8022224: f032 faca bl 80547bc 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); 8022236: 2201 movs r2, #1 8022238: f44f 4180 mov.w r1, #16384 ; 0x4000 802223c: 4854 ldr r0, [pc, #336] ; (8022390 ) 802223e: f098 f8ad bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #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: f032 fa28 bl 80547bc 802236c: e2d8 b.n 8022920 802236e: bf00 nop 8022370: 20023eb8 .word 0x20023eb8 8022374: 3d4ccccd .word 0x3d4ccccd 8022378: 080d7680 .word 0x080d7680 802237c: 447a0000 .word 0x447a0000 8022380: 080d76d8 .word 0x080d76d8 8022384: 20021d6c .word 0x20021d6c 8022388: 080d76c4 .word 0x080d76c4 802238c: 20021d2c .word 0x20021d2c 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); 80223c2: 2201 movs r2, #1 80223c4: f44f 4180 mov.w r1, #16384 ; 0x4000 80223c8: 4861 ldr r0, [pc, #388] ; (8022550 ) 80223ca: f097 ffe7 bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #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: f032 f977 bl 80547bc 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); 80224dc: 2201 movs r2, #1 80224de: f44f 4180 mov.w r1, #16384 ; 0x4000 80224e2: 481b ldr r0, [pc, #108] ; (8022550 ) 80224e4: f097 ff5a bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #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: 20023eb8 .word 0x20023eb8 8022550: 40021800 .word 0x40021800 8022554: 3d4ccccd .word 0x3d4ccccd 8022558: 080d7680 .word 0x080d7680 802255c: 447a0000 .word 0x447a0000 8022560: 080d76d8 .word 0x080d76d8 8022564: 20021d6c .word 0x20021d6c 8022568: 080d76c4 .word 0x080d76c4 802256c: 20021d2c .word 0x20021d2c 8022570: 20020dd1 .word 0x20020dd1 { k--; 8022574: 7bbb ldrb r3, [r7, #14] 8022576: 3b01 subs r3, #1 8022578: b2db uxtb r3, r3 802257a: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 802257c: 4ba9 ldr r3, [pc, #676] ; (8022824 ) 802257e: edd3 7a06 vldr s15, [r3, #24] 8022582: ed9f 7aa9 vldr s14, [pc, #676] ; 8022828 8022586: ee37 7ac7 vsub.f32 s14, s15, s14 802258a: 4ba6 ldr r3, [pc, #664] ; (8022824 ) 802258c: edd3 7a04 vldr s15, [r3, #16] 8022590: ee27 7a27 vmul.f32 s14, s14, s15 8022594: 7bbb ldrb r3, [r7, #14] 8022596: 4aa5 ldr r2, [pc, #660] ; (802282c ) 8022598: 009b lsls r3, r3, #2 802259a: 4413 add r3, r2 802259c: edd3 7a00 vldr s15, [r3] 80225a0: ee27 8a27 vmul.f32 s16, s14, s15 80225a4: f107 030e add.w r3, r7, #14 80225a8: 4618 mov r0, r3 80225aa: f000 fc7d bl 8022ea8 80225ae: eef0 7a40 vmov.f32 s15, s0 80225b2: ee68 6a27 vmul.f32 s13, s16, s15 80225b6: ed97 7a01 vldr s14, [r7, #4] 80225ba: eec6 7a87 vdiv.f32 s15, s13, s14 80225be: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 80225c2: 7bbb ldrb r3, [r7, #14] 80225c4: 7bfa ldrb r2, [r7, #15] 80225c6: 429a cmp r2, r3 80225c8: d208 bcs.n 80225dc 80225ca: ed9f 7a99 vldr s14, [pc, #612] ; 8022830 80225ce: edd7 7a02 vldr s15, [r7, #8] 80225d2: eeb4 7ae7 vcmpe.f32 s14, s15 80225d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80225da: d4cb bmi.n 8022574 } pardata.IKU = k; 80225dc: 7bba ldrb r2, [r7, #14] 80225de: 4b91 ldr r3, [pc, #580] ; (8022824 ) 80225e0: 721a strb r2, [r3, #8] SetKU(); 80225e2: f7ff f947 bl 8021874 fm = (pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] / f1; 80225e6: 4b8f ldr r3, [pc, #572] ; (8022824 ) 80225e8: edd3 7a06 vldr s15, [r3, #24] 80225ec: ed9f 7a8e vldr s14, [pc, #568] ; 8022828 80225f0: ee37 7ac7 vsub.f32 s14, s15, s14 80225f4: 4b8b ldr r3, [pc, #556] ; (8022824 ) 80225f6: edd3 7a04 vldr s15, [r3, #16] 80225fa: ee27 7a27 vmul.f32 s14, s14, s15 80225fe: 7bbb ldrb r3, [r7, #14] 8022600: 4a8a ldr r2, [pc, #552] ; (802282c ) 8022602: 009b lsls r3, r3, #2 8022604: 4413 add r3, r2 8022606: edd3 7a00 vldr s15, [r3] 802260a: ee67 6a27 vmul.f32 s13, s14, s15 802260e: ed97 7a01 vldr s14, [r7, #4] 8022612: eec6 7a87 vdiv.f32 s15, s13, s14 8022616: edc7 7a00 vstr s15, [r7] f = (pardata.THR_VAL - 0.05f) * fm / (pardata.MAX_VAL - 0.05f); 802261a: 4b82 ldr r3, [pc, #520] ; (8022824 ) 802261c: edd3 7a05 vldr s15, [r3, #20] 8022620: ed9f 7a81 vldr s14, [pc, #516] ; 8022828 8022624: ee37 7ac7 vsub.f32 s14, s15, s14 8022628: edd7 7a00 vldr s15, [r7] 802262c: ee67 6a27 vmul.f32 s13, s14, s15 8022630: 4b7c ldr r3, [pc, #496] ; (8022824 ) 8022632: edd3 7a06 vldr s15, [r3, #24] 8022636: ed9f 7a7c vldr s14, [pc, #496] ; 8022828 802263a: ee37 7ac7 vsub.f32 s14, s15, s14 802263e: eec6 7a87 vdiv.f32 s15, s13, s14 8022642: edc7 7a02 vstr s15, [r7, #8] f *= CorrKm(&k); 8022646: f107 030e add.w r3, r7, #14 802264a: 4618 mov r0, r3 802264c: f000 fc2c bl 8022ea8 8022650: eeb0 7a40 vmov.f32 s14, s0 8022654: edd7 7a02 vldr s15, [r7, #8] 8022658: ee67 7a27 vmul.f32 s15, s14, s15 802265c: edc7 7a02 vstr s15, [r7, #8] f *= 0.001f; 8022660: edd7 7a02 vldr s15, [r7, #8] 8022664: ed9f 7a73 vldr s14, [pc, #460] ; 8022834 8022668: ee67 7a87 vmul.f32 s15, s15, s14 802266c: edc7 7a02 vstr s15, [r7, #8] f /= _b24; 8022670: ed97 7a02 vldr s14, [r7, #8] 8022674: eddf 6a70 vldr s13, [pc, #448] ; 8022838 8022678: eec7 7a26 vdiv.f32 s15, s14, s13 802267c: edc7 7a02 vstr s15, [r7, #8] f += 0.5f; 8022680: edd7 7a02 vldr s15, [r7, #8] 8022684: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8022688: ee77 7a87 vadd.f32 s15, s15, s14 802268c: edc7 7a02 vstr s15, [r7, #8] adcThr = (uint32_t) f; 8022690: edd7 7a02 vldr s15, [r7, #8] 8022694: eefc 7ae7 vcvt.u32.f32 s15, s15 8022698: ee17 2a90 vmov r2, s15 802269c: 4b67 ldr r3, [pc, #412] ; (802283c ) 802269e: 601a str r2, [r3, #0] if(adcThr > MEAN - 1) { 80226a0: 4b66 ldr r3, [pc, #408] ; (802283c ) 80226a2: 681b ldr r3, [r3, #0] 80226a4: ee07 3a90 vmov s15, r3 80226a8: eeb8 7a67 vcvt.f32.u32 s14, s15 80226ac: 4b64 ldr r3, [pc, #400] ; (8022840 ) 80226ae: edd3 7a00 vldr s15, [r3] 80226b2: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 80226b6: ee77 7ae6 vsub.f32 s15, s15, s13 80226ba: eeb4 7ae7 vcmpe.f32 s14, s15 80226be: eef1 fa10 vmrs APSR_nzcv, fpscr 80226c2: dd0c ble.n 80226de adcThr = MEAN - 1; 80226c4: 4b5e ldr r3, [pc, #376] ; (8022840 ) 80226c6: edd3 7a00 vldr s15, [r3] 80226ca: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80226ce: ee77 7ac7 vsub.f32 s15, s15, s14 80226d2: eefc 7ae7 vcvt.u32.f32 s15, s15 80226d6: ee17 2a90 vmov r2, s15 80226da: 4b58 ldr r3, [pc, #352] ; (802283c ) 80226dc: 601a str r2, [r3, #0] } _adcThr = MEAN - adcThr; 80226de: 4b58 ldr r3, [pc, #352] ; (8022840 ) 80226e0: ed93 7a00 vldr s14, [r3] 80226e4: 4b55 ldr r3, [pc, #340] ; (802283c ) 80226e6: 681b ldr r3, [r3, #0] 80226e8: ee07 3a90 vmov s15, r3 80226ec: eef8 7a67 vcvt.f32.u32 s15, s15 80226f0: ee77 7a67 vsub.f32 s15, s14, s15 80226f4: eefc 7ae7 vcvt.u32.f32 s15, s15 80226f8: ee17 2a90 vmov r2, s15 80226fc: 4b51 ldr r3, [pc, #324] ; (8022844 ) 80226fe: 601a str r2, [r3, #0] adcThr = MEAN + adcThr; 8022700: 4b4e ldr r3, [pc, #312] ; (802283c ) 8022702: 681b ldr r3, [r3, #0] 8022704: ee07 3a90 vmov s15, r3 8022708: eeb8 7a67 vcvt.f32.u32 s14, s15 802270c: 4b4c ldr r3, [pc, #304] ; (8022840 ) 802270e: edd3 7a00 vldr s15, [r3] 8022712: ee77 7a27 vadd.f32 s15, s14, s15 8022716: eefc 7ae7 vcvt.u32.f32 s15, s15 802271a: ee17 2a90 vmov r2, s15 802271e: 4b47 ldr r3, [pc, #284] ; (802283c ) 8022720: 601a str r2, [r3, #0] 8022722: e06b b.n 80227fc } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8022724: 4b3f ldr r3, [pc, #252] ; (8022824 ) 8022726: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 802272a: f003 0304 and.w r3, r3, #4 802272e: 2b00 cmp r3, #0 8022730: d15f bne.n 80227f2 { k = Ku640; 8022732: 230a movs r3, #10 8022734: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8022736: 4b3b ldr r3, [pc, #236] ; (8022824 ) 8022738: edd3 7a06 vldr s15, [r3, #24] 802273c: ed9f 7a3a vldr s14, [pc, #232] ; 8022828 8022740: ee37 7ac7 vsub.f32 s14, s15, s14 8022744: 4b37 ldr r3, [pc, #220] ; (8022824 ) 8022746: edd3 7a04 vldr s15, [r3, #16] 802274a: ee27 7a27 vmul.f32 s14, s14, s15 802274e: 7bbb ldrb r3, [r7, #14] 8022750: 4a36 ldr r2, [pc, #216] ; (802282c ) 8022752: 009b lsls r3, r3, #2 8022754: 4413 add r3, r2 8022756: edd3 7a00 vldr s15, [r3] 802275a: ee27 8a27 vmul.f32 s16, s14, s15 802275e: f107 030e add.w r3, r7, #14 8022762: 4618 mov r0, r3 8022764: f000 fba0 bl 8022ea8 8022768: eef0 7a40 vmov.f32 s15, s0 802276c: ee68 6a27 vmul.f32 s13, s16, s15 8022770: ed97 7a01 vldr s14, [r7, #4] 8022774: eec6 7a87 vdiv.f32 s15, s13, s14 8022778: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 802277c: e026 b.n 80227cc { k--; 802277e: 7bbb ldrb r3, [r7, #14] 8022780: 3b01 subs r3, #1 8022782: b2db uxtb r3, r3 8022784: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8022786: 4b27 ldr r3, [pc, #156] ; (8022824 ) 8022788: edd3 7a06 vldr s15, [r3, #24] 802278c: ed9f 7a26 vldr s14, [pc, #152] ; 8022828 8022790: ee37 7ac7 vsub.f32 s14, s15, s14 8022794: 4b23 ldr r3, [pc, #140] ; (8022824 ) 8022796: edd3 7a04 vldr s15, [r3, #16] 802279a: ee27 7a27 vmul.f32 s14, s14, s15 802279e: 7bbb ldrb r3, [r7, #14] 80227a0: 4a22 ldr r2, [pc, #136] ; (802282c ) 80227a2: 009b lsls r3, r3, #2 80227a4: 4413 add r3, r2 80227a6: edd3 7a00 vldr s15, [r3] 80227aa: ee27 8a27 vmul.f32 s16, s14, s15 80227ae: f107 030e add.w r3, r7, #14 80227b2: 4618 mov r0, r3 80227b4: f000 fb78 bl 8022ea8 80227b8: eef0 7a40 vmov.f32 s15, s0 80227bc: ee68 6a27 vmul.f32 s13, s16, s15 80227c0: ed97 7a01 vldr s14, [r7, #4] 80227c4: eec6 7a87 vdiv.f32 s15, s13, s14 80227c8: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 80227cc: 7bbb ldrb r3, [r7, #14] 80227ce: 7bfa ldrb r2, [r7, #15] 80227d0: 429a cmp r2, r3 80227d2: d208 bcs.n 80227e6 80227d4: ed9f 7a16 vldr s14, [pc, #88] ; 8022830 80227d8: edd7 7a02 vldr s15, [r7, #8] 80227dc: eeb4 7ae7 vcmpe.f32 s14, s15 80227e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80227e4: d4cb bmi.n 802277e } pardata.IKU = k; 80227e6: 7bba ldrb r2, [r7, #14] 80227e8: 4b0e ldr r3, [pc, #56] ; (8022824 ) 80227ea: 721a strb r2, [r3, #8] SetKU(); 80227ec: f7ff f842 bl 8021874 80227f0: e004 b.n 80227fc } else { pardata.IKU = Ku1; 80227f2: 4b0c ldr r3, [pc, #48] ; (8022824 ) 80227f4: 2200 movs r2, #0 80227f6: 721a strb r2, [r3, #8] SetKU(); 80227f8: f7ff f83c bl 8021874 } } Fs = FS[pardata.FRQ]; 80227fc: 4b09 ldr r3, [pc, #36] ; (8022824 ) 80227fe: 7adb ldrb r3, [r3, #11] 8022800: b2db uxtb r3, r3 8022802: 461a mov r2, r3 8022804: 4b10 ldr r3, [pc, #64] ; (8022848 ) 8022806: f853 3022 ldr.w r3, [r3, r2, lsl #2] 802280a: 4a10 ldr r2, [pc, #64] ; (802284c ) 802280c: 6013 str r3, [r2, #0] Ns = NS[pardata.LNE]; 802280e: 4b05 ldr r3, [pc, #20] ; (8022824 ) 8022810: 79db ldrb r3, [r3, #7] 8022812: b2db uxtb r3, r3 8022814: 461a mov r2, r3 8022816: 4b0e ldr r3, [pc, #56] ; (8022850 ) 8022818: f853 3022 ldr.w r3, [r3, r2, lsl #2] 802281c: 4a0d ldr r2, [pc, #52] ; (8022854 ) 802281e: 6013 str r3, [r2, #0] 8022820: e07e b.n 8022920 8022822: bf00 nop 8022824: 20023eb8 .word 0x20023eb8 8022828: 3d4ccccd .word 0x3d4ccccd 802282c: 080d7680 .word 0x080d7680 8022830: 447a0000 .word 0x447a0000 8022834: 3a83126f .word 0x3a83126f 8022838: 34400000 .word 0x34400000 802283c: 20020ddc .word 0x20020ddc 8022840: 200209d8 .word 0x200209d8 8022844: 20020de0 .word 0x20020de0 8022848: 080d76d8 .word 0x080d76d8 802284c: 20021d6c .word 0x20021d6c 8022850: 080d76c4 .word 0x080d76c4 8022854: 20021d2c .word 0x20021d2c } 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); 8022862: 2201 movs r2, #1 8022864: f44f 4180 mov.w r1, #16384 ; 0x4000 8022868: 48a5 ldr r0, [pc, #660] ; (8022b00 ) 802286a: f097 fd97 bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #endif pardata.FRQ = _64000Hz; 802286e: 4ba3 ldr r3, [pc, #652] ; (8022afc ) 8022870: 2209 movs r2, #9 8022872: 72da strb r2, [r3, #11] pardata.LNE = N6400; 8022874: 4ba1 ldr r3, [pc, #644] ; (8022afc ) 8022876: 2204 movs r2, #4 8022878: 71da strb r2, [r3, #7] AUTOKU = true; 802287a: 4ba2 ldr r3, [pc, #648] ; (8022b04 ) 802287c: 2201 movs r2, #1 802287e: 701a strb r2, [r3, #0] pardata.IKU = Ku8; 8022880: 4b9e ldr r3, [pc, #632] ; (8022afc ) 8022882: 2203 movs r2, #3 8022884: 721a strb r2, [r3, #8] SetKU(); 8022886: f7fe fff5 bl 8021874 Fs = 250000; 802288a: 4b9f ldr r3, [pc, #636] ; (8022b08 ) 802288c: 4a9f ldr r2, [pc, #636] ; (8022b0c ) 802288e: 601a str r2, [r3, #0] Ns = NS[pardata.LNE]; 8022890: 4b9a ldr r3, [pc, #616] ; (8022afc ) 8022892: 79db ldrb r3, [r3, #7] 8022894: b2db uxtb r3, r3 8022896: 461a mov r2, r3 8022898: 4b9d ldr r3, [pc, #628] ; (8022b10 ) 802289a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 802289e: 4a9d ldr r2, [pc, #628] ; (8022b14 ) 80228a0: 6013 str r3, [r2, #0] RefreshGraf(); 80228a2: f031 ff8b bl 80547bc 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: 20023eb8 .word 0x20023eb8 8022b00: 40021800 .word 0x40021800 8022b04: 20020029 .word 0x20020029 8022b08: 20021d6c .word 0x20021d6c 8022b0c: 0003d090 .word 0x0003d090 8022b10: 080d76c4 .word 0x080d76c4 8022b14: 20021d2c .word 0x20021d2c 8022b18: 20020db8 .word 0x20020db8 8022b1c: c1a00000 .word 0xc1a00000 8022b20: 42200000 .word 0x42200000 8022b24: 42200000 .word 0x42200000 8022b28: 20021d70 .word 0x20021d70 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: 20021d2c .word 0x20021d2c 8022d34: 20021d70 .word 0x20021d70 8022d38: 20021d6c .word 0x20021d6c 8022d3c: 20020d78 .word 0x20020d78 8022d40: 20020d74 .word 0x20020d74 8022d44: 20020d7c .word 0x20020d7c 08022d48 : void SetupADC(void) { 8022d48: b580 push {r7, lr} 8022d4a: b082 sub sp, #8 8022d4c: af00 add r7, sp, #0 __IO uint32_t timeout = HAL_GetTick(); 8022d4e: f094 fe69 bl 80b7a24 8022d52: 4603 mov r3, r0 8022d54: 607b str r3, [r7, #4] ADC_Started = false; 8022d56: 4b1c ldr r3, [pc, #112] ; (8022dc8 ) 8022d58: 2200 movs r2, #0 8022d5a: 701a strb r2, [r3, #0] while((!ADC_Started) && ((HAL_GetTick() - timeout) < 3000)) 8022d5c: e00b b.n 8022d76 { MAX11270_StopMeas(); 8022d5e: f033 fe9f bl 8056aa0 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: f0af f91b bl 80d1fa4 SCB_CleanInvalidateDCache(); 8022d6e: f7fe fd49 bl 8021804 MAX11270_StartMeas(); 8022d72: f033 fe2b bl 80569cc while((!ADC_Started) && ((HAL_GetTick() - timeout) < 3000)) 8022d76: 4b14 ldr r3, [pc, #80] ; (8022dc8 ) 8022d78: 781b ldrb r3, [r3, #0] 8022d7a: b2db uxtb r3, r3 8022d7c: f083 0301 eor.w r3, r3, #1 8022d80: b2db uxtb r3, r3 8022d82: 2b00 cmp r3, #0 8022d84: d008 beq.n 8022d98 8022d86: f094 fe4d bl 80b7a24 8022d8a: 4602 mov r2, r0 8022d8c: 687b ldr r3, [r7, #4] 8022d8e: 1ad3 subs r3, r2, r3 8022d90: f640 32b7 movw r2, #2999 ; 0xbb7 8022d94: 4293 cmp r3, r2 8022d96: d9e2 bls.n 8022d5e } if((HAL_GetTick() - timeout) >= 3000) 8022d98: f094 fe44 bl 80b7a24 8022d9c: 4602 mov r2, r0 8022d9e: 687b ldr r3, [r7, #4] 8022da0: 1ad3 subs r3, r2, r3 8022da2: f640 32b7 movw r2, #2999 ; 0xbb7 8022da6: 4293 cmp r3, r2 8022da8: d909 bls.n 8022dbe { STATUS = AP_ADC_FAIL; 8022daa: 4b09 ldr r3, [pc, #36] ; (8022dd0 ) 8022dac: 2212 movs r2, #18 8022dae: 601a str r2, [r3, #0] timerStatus = sec2; 8022db0: 4b08 ldr r3, [pc, #32] ; (8022dd4 ) 8022db2: f44f 5280 mov.w r2, #4096 ; 0x1000 8022db6: 801a strh r2, [r3, #0] DrawStatus = true; 8022db8: 4b07 ldr r3, [pc, #28] ; (8022dd8 ) 8022dba: 2201 movs r2, #1 8022dbc: 701a strb r2, [r3, #0] } } 8022dbe: bf00 nop 8022dc0: 3708 adds r7, #8 8022dc2: 46bd mov sp, r7 8022dc4: bd80 pop {r7, pc} 8022dc6: bf00 nop 8022dc8: 20020d94 .word 0x20020d94 8022dcc: 64060000 .word 0x64060000 8022dd0: 20020dec .word 0x20020dec 8022dd4: 200216dc .word 0x200216dc 8022dd8: 20020df2 .word 0x20020df2 08022ddc : float32_t Corr(uint8_t *Km) { 8022ddc: b580 push {r7, lr} 8022dde: b086 sub sp, #24 8022de0: af00 add r7, sp, #0 8022de2: 6078 str r0, [r7, #4] float32_t fcorr, fc; uint8_t Ku = *Km; 8022de4: 687b ldr r3, [r7, #4] 8022de6: 781b ldrb r3, [r3, #0] 8022de8: 73fb strb r3, [r7, #15] if(pardata.IKK == 0.0f) { 8022dea: 4b2a ldr r3, [pc, #168] ; (8022e94 ) 8022dec: edd3 7a04 vldr s15, [r3, #16] 8022df0: eef5 7a40 vcmp.f32 s15, #0.0 8022df4: eef1 fa10 vmrs APSR_nzcv, fpscr 8022df8: d103 bne.n 8022e02 pardata.IKK = 1.0f; 8022dfa: 4b26 ldr r3, [pc, #152] ; (8022e94 ) 8022dfc: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 8022e00: 611a str r2, [r3, #16] } if(pardata.SYG != UDAR) 8022e02: 4b24 ldr r3, [pc, #144] ; (8022e94 ) 8022e04: 781b ldrb r3, [r3, #0] 8022e06: b2db uxtb r3, r3 8022e08: 2b09 cmp r3, #9 8022e0a: d01d beq.n 8022e48 { fcorr = 4000.0f / 1.6f; 8022e0c: 4b22 ldr r3, [pc, #136] ; (8022e98 ) 8022e0e: 617b str r3, [r7, #20] fcorr /= KM[Ku]; 8022e10: 7bfb ldrb r3, [r7, #15] 8022e12: 4a22 ldr r2, [pc, #136] ; (8022e9c ) 8022e14: 009b lsls r3, r3, #2 8022e16: 4413 add r3, r2 8022e18: ed93 7a00 vldr s14, [r3] 8022e1c: edd7 6a05 vldr s13, [r7, #20] 8022e20: eec6 7a87 vdiv.f32 s15, s13, s14 8022e24: edc7 7a05 vstr s15, [r7, #20] fc = CorrKm(&Ku); 8022e28: f107 030f add.w r3, r7, #15 8022e2c: 4618 mov r0, r3 8022e2e: f000 f83b bl 8022ea8 8022e32: ed87 0a04 vstr s0, [r7, #16] fcorr *= fc; 8022e36: ed97 7a05 vldr s14, [r7, #20] 8022e3a: edd7 7a04 vldr s15, [r7, #16] 8022e3e: ee67 7a27 vmul.f32 s15, s14, s15 8022e42: edc7 7a05 vstr s15, [r7, #20] 8022e46: e01c b.n 8022e82 } else { fcorr = 4000.0f; 8022e48: 4b15 ldr r3, [pc, #84] ; (8022ea0 ) 8022e4a: 617b str r3, [r7, #20] fcorr /= KM_UDAR[Ku]; 8022e4c: 7bfb ldrb r3, [r7, #15] 8022e4e: 4a15 ldr r2, [pc, #84] ; (8022ea4 ) 8022e50: 009b lsls r3, r3, #2 8022e52: 4413 add r3, r2 8022e54: ed93 7a00 vldr s14, [r3] 8022e58: edd7 6a05 vldr s13, [r7, #20] 8022e5c: eec6 7a87 vdiv.f32 s15, s13, s14 8022e60: edc7 7a05 vstr s15, [r7, #20] fc = CorrKm(&Ku); 8022e64: f107 030f add.w r3, r7, #15 8022e68: 4618 mov r0, r3 8022e6a: f000 f81d bl 8022ea8 8022e6e: ed87 0a04 vstr s0, [r7, #16] fcorr *= fc; 8022e72: ed97 7a05 vldr s14, [r7, #20] 8022e76: edd7 7a04 vldr s15, [r7, #16] 8022e7a: ee67 7a27 vmul.f32 s15, s14, s15 8022e7e: edc7 7a05 vstr s15, [r7, #20] } return fcorr; 8022e82: 697b ldr r3, [r7, #20] 8022e84: ee07 3a90 vmov s15, r3 } 8022e88: eeb0 0a67 vmov.f32 s0, s15 8022e8c: 3718 adds r7, #24 8022e8e: 46bd mov sp, r7 8022e90: bd80 pop {r7, pc} 8022e92: bf00 nop 8022e94: 20023eb8 .word 0x20023eb8 8022e98: 451c4000 .word 0x451c4000 8022e9c: 080d7680 .word 0x080d7680 8022ea0: 457a0000 .word 0x457a0000 8022ea4: 080d7670 .word 0x080d7670 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: 20023eb8 .word 0x20023eb8 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: 20023ec0 .word 0x20023ec0 8023034: 20020080 .word 0x20020080 8023038: 20023eb8 .word 0x20023eb8 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: 20021581 .word 0x20021581 80231fc: 20020dd4 .word 0x20020dd4 8023200: 20020dc8 .word 0x20020dc8 8023204: 20020dce .word 0x20020dce 8023208: 20020dcd .word 0x20020dcd 802320c: 20020d9e .word 0x20020d9e 8023210: 20021664 .word 0x20021664 8023214: 20021668 .word 0x20021668 8023218: 20020090 .word 0x20020090 802321c: 20021654 .word 0x20021654 8023220: 20020d70 .word 0x20020d70 8023224: 20020d71 .word 0x20020d71 8023228: 20023eb8 .word 0x20023eb8 802322c: 20020d9a .word 0x20020d9a 8023230: 20020dcc .word 0x20020dcc 8023234: 20020dd2 .word 0x20020dd2 8023238: 20020d8c .word 0x20020d8c 802323c: 20021d2c .word 0x20021d2c 8023240: 20021d6c .word 0x20021d6c 8023244: 3e03126f .word 0x3e03126f 8023248: 42400000 .word 0x42400000 802324c: 20020d90 .word 0x20020d90 8023250: 20021568 .word 0x20021568 8023254: 20021674 .word 0x20021674 8023258: 200685c0 .word 0x200685c0 802325c: c2c80000 .word 0xc2c80000 8023260: 20057f20 .word 0x20057f20 case WAVE: if(CardState != MSD_READY) { 8023264: 4bb1 ldr r3, [pc, #708] ; (802352c ) 8023266: 781b ldrb r3, [r3, #0] 8023268: b2db uxtb r3, r3 802326a: 2b03 cmp r3, #3 802326c: f040 8159 bne.w 8023522 return; } faseADC = 1; 8023270: 4baf ldr r3, [pc, #700] ; (8023530 ) 8023272: 2201 movs r2, #1 8023274: 801a strh r2, [r3, #0] RepeatKm = true; 8023276: 4baf ldr r3, [pc, #700] ; (8023534 ) 8023278: 2201 movs r2, #1 802327a: 701a strb r2, [r3, #0] Recording = false; 802327c: 4bae ldr r3, [pc, #696] ; (8023538 ) 802327e: 2200 movs r2, #0 8023280: 701a strb r2, [r3, #0] stage = 0; 8023282: 4bae ldr r3, [pc, #696] ; (802353c ) 8023284: 2200 movs r2, #0 8023286: 701a strb r2, [r3, #0] break; 8023288: bf00 nop } cntFs = faseADC; 802328a: 4ba9 ldr r3, [pc, #676] ; (8023530 ) 802328c: 881b ldrh r3, [r3, #0] 802328e: b29a uxth r2, r3 8023290: 4bab ldr r3, [pc, #684] ; (8023540 ) 8023292: 801a strh r2, [r3, #0] cntADC = 0; 8023294: 4bab ldr r3, [pc, #684] ; (8023544 ) 8023296: 2200 movs r2, #0 8023298: 801a strh r2, [r3, #0] measlen = 0; 802329a: 4bab ldr r3, [pc, #684] ; (8023548 ) 802329c: 2200 movs r2, #0 802329e: 801a strh r2, [r3, #0] cntmeas = 0; 80232a0: 4baa ldr r3, [pc, #680] ; (802354c ) 80232a2: 2200 movs r2, #0 80232a4: 801a strh r2, [r3, #0] lastcntmeas = 0; 80232a6: 4baa ldr r3, [pc, #680] ; (8023550 ) 80232a8: 2200 movs r2, #0 80232aa: 801a strh r2, [r3, #0] RiffLen = 0; 80232ac: 4aa9 ldr r2, [pc, #676] ; (8023554 ) 80232ae: f04f 0300 mov.w r3, #0 80232b2: f04f 0400 mov.w r4, #0 80232b6: e882 0018 stmia.w r2, {r3, r4} NSamples = 0; 80232ba: 4ba7 ldr r3, [pc, #668] ; (8023558 ) 80232bc: 2200 movs r2, #0 80232be: 601a str r2, [r3, #0] TimeRec = 0; 80232c0: 4ba6 ldr r3, [pc, #664] ; (802355c ) 80232c2: 2200 movs r2, #0 80232c4: 601a str r2, [r3, #0] READY = DATA_FREE; 80232c6: 4ba6 ldr r3, [pc, #664] ; (8023560 ) 80232c8: 2200 movs r2, #0 80232ca: 701a strb r2, [r3, #0] READY = 0; 80232cc: 4ba4 ldr r3, [pc, #656] ; (8023560 ) 80232ce: 2200 movs r2, #0 80232d0: 701a strb r2, [r3, #0] HISTORY = false; 80232d2: 4ba4 ldr r3, [pc, #656] ; (8023564 ) 80232d4: 2200 movs r2, #0 80232d6: 701a strb r2, [r3, #0] AutoStop = false; 80232d8: 4ba3 ldr r3, [pc, #652] ; (8023568 ) 80232da: 2200 movs r2, #0 80232dc: 701a strb r2, [r3, #0] MeanClbr = 0.0f; 80232de: 4ba3 ldr r3, [pc, #652] ; (802356c ) 80232e0: 2200 movs r2, #0 80232e2: 601a str r2, [r3, #0] MeanKcorr = 0; 80232e4: 4ba2 ldr r3, [pc, #648] ; (8023570 ) 80232e6: f04f 0200 mov.w r2, #0 80232ea: 601a str r2, [r3, #0] CounterA = 0; 80232ec: 4ba1 ldr r3, [pc, #644] ; (8023574 ) 80232ee: 2200 movs r2, #0 80232f0: 701a strb r2, [r3, #0] CounterV = 0; 80232f2: 4ba1 ldr r3, [pc, #644] ; (8023578 ) 80232f4: 2200 movs r2, #0 80232f6: 701a strb r2, [r3, #0] CounterS = 0; 80232f8: 4ba0 ldr r3, [pc, #640] ; (802357c ) 80232fa: 2200 movs r2, #0 80232fc: 701a strb r2, [r3, #0] memset((void *) &Freq_f32(0), 0, NUM_SAMPLES * 32768u); 80232fe: f44f 2200 mov.w r2, #524288 ; 0x80000 8023302: 2100 movs r1, #0 8023304: 489e ldr r0, [pc, #632] ; (8023580 ) 8023306: f0ae fe4d bl 80d1fa4 memset((void *) frq, 0, 4u * LEN_M_BUF); 802330a: 2224 movs r2, #36 ; 0x24 802330c: 2100 movs r1, #0 802330e: 489d ldr r0, [pc, #628] ; (8023584 ) 8023310: f0ae fe48 bl 80d1fa4 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: f0ab fc8f bl 80cec5c 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: f0ab fc89 bl 80cec5c 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: f0ab fc83 bl 80cec5c 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: f0ab fc7c bl 80cec5c 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: f0ab fc75 bl 80cec5c 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: f0ab fc6e bl 80cec5c 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: f0ab fc67 bl 80cec5c 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: f0ab fc61 bl 80cec5c 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: f0ab fc5b bl 80cec5c 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: f0ab fc55 bl 80cec5c 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: f0ab fc4f bl 80cec5c 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: f0ab fbe6 bl 80cec5c 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: f0ab fbe0 bl 80cec5c 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: f0ab fbda bl 80cec5c 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: f0ab fbd3 bl 80cec5c 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: 2002169c .word 0x2002169c 8023530: 20020d9a .word 0x20020d9a 8023534: 20020dcc .word 0x20020dcc 8023538: 20020dd0 .word 0x20020dd0 802353c: 20021568 .word 0x20021568 8023540: 20020d98 .word 0x20020d98 8023544: 20020d9c .word 0x20020d9c 8023548: 20020dac .word 0x20020dac 802354c: 20020da0 .word 0x20020da0 8023550: 20020da4 .word 0x20020da4 8023554: 20021578 .word 0x20021578 8023558: 20020da8 .word 0x20020da8 802355c: 200216d4 .word 0x200216d4 8023560: 20020d9f .word 0x20020d9f 8023564: 20020fc2 .word 0x20020fc2 8023568: 20021574 .word 0x20021574 802356c: 2002165c .word 0x2002165c 8023570: 20021660 .word 0x20021660 8023574: 20021571 .word 0x20021571 8023578: 20021572 .word 0x20021572 802357c: 20021573 .word 0x20021573 8023580: 64080000 .word 0x64080000 8023584: 20026ef4 .word 0x20026ef4 8023588: 20020094 .word 0x20020094 802358c: 20021678 .word 0x20021678 8023590: 2002167c .word 0x2002167c 8023594: 20020d95 .word 0x20020d95 8023598: 20020d96 .word 0x20020d96 802359c: 20057ec8 .word 0x20057ec8 80235a0: 00000000 .word 0x00000000 80235a4: 20058030 .word 0x20058030 80235a8: 200265b0 .word 0x200265b0 80235ac: 64090000 .word 0x64090000 80235b0: 64094000 .word 0x64094000 80235b4: 64098000 .word 0x64098000 80235b8: 20021590 .word 0x20021590 80235bc: 2002159c .word 0x2002159c 80235c0: 200215a8 .word 0x200215a8 80235c4: 20026938 .word 0x20026938 80235c8: 20023eb8 .word 0x20023eb8 80235cc: 588bfb80 .word 0x588bfb80 80235d0: 20021588 .word 0x20021588 80235d4: 2002158c .word 0x2002158c 80235d8: 497423f0 .word 0x497423f0 80235dc: 200215b4 .word 0x200215b4 80235e0: 2002008c .word 0x2002008c 80235e4: 200216de .word 0x200216de 80235e8: 20020d80 .word 0x20020d80 80235ec: 20020dd8 .word 0x20020dd8 80235f0: 20020dbc .word 0x20020dbc 80235f4: c2c80000 .word 0xc2c80000 80235f8: 20020dc0 .word 0x20020dc0 80235fc: 20020dc4 .word 0x20020dc4 8023600: 20020db4 .word 0x20020db4 8023604: 20020db0 .word 0x20020db0 8023608: 20021d24 .word 0x20021d24 802360c: 20021d60 .word 0x20021d60 8023610: 20021d18 .word 0x20021d18 8023614: 20021d1c .word 0x20021d1c 8023618: 20021d28 .word 0x20021d28 802361c: 20021d48 .word 0x20021d48 8023620: 20021d64 .word 0x20021d64 8023624: 20021d68 .word 0x20021d68 8023628: 20021d34 .word 0x20021d34 802362c: 20021d30 .word 0x20021d30 8023630: 20021d20 .word 0x20021d20 8023634: 20021d5c .word 0x20021d5c 8023638: 20021d38 .word 0x20021d38 802363c: 20021d4c .word 0x20021d4c 8023640: 64050000 .word 0x64050000 8023644: 20021670 .word 0x20021670 8023648: 2002166c .word 0x2002166c 802364c: 20021b73 .word 0x20021b73 8023650: 080d77c8 .word 0x080d77c8 8023654: 200209c4 .word 0x200209c4 8023658: 200200ca .word 0x200200ca 802365c: 2002002c .word 0x2002002c 8023660: 20020d88 .word 0x20020d88 8023664: 20020dae .word 0x20020dae 8023668: 2002105e .word 0x2002105e 802366c: 20021060 .word 0x20021060 8023670: 20021061 .word 0x20021061 8023674: 2002105c .word 0x2002105c 8023678: 20020daf .word 0x20020daf 0802367c : void StartRecording(void) { 802367c: b490 push {r4, r7} 802367e: af00 add r7, sp, #0 CALC_FREQ = 0; 8023680: 4b2c ldr r3, [pc, #176] ; (8023734 ) 8023682: 2200 movs r2, #0 8023684: 701a strb r2, [r3, #0] FirstTime = false; 8023686: 4b2c ldr r3, [pc, #176] ; (8023738 ) 8023688: 2200 movs r2, #0 802368a: 701a strb r2, [r3, #0] firstmeas = false; 802368c: 4b2b ldr r3, [pc, #172] ; (802373c ) 802368e: 2200 movs r2, #0 8023690: 701a strb r2, [r3, #0] RepeatKm = false; 8023692: 4b2b ldr r3, [pc, #172] ; (8023740 ) 8023694: 2200 movs r2, #0 8023696: 701a strb r2, [r3, #0] OVERDRIVE = false; 8023698: 4b2a ldr r3, [pc, #168] ; (8023744 ) 802369a: 2200 movs r2, #0 802369c: 701a strb r2, [r3, #0] FIRST_RECORD = true; 802369e: 4b2a ldr r3, [pc, #168] ; (8023748 ) 80236a0: 2201 movs r2, #1 80236a2: 701a strb r2, [r3, #0] Flag_Set_KU = 0; 80236a4: 4b29 ldr r3, [pc, #164] ; (802374c ) 80236a6: 2200 movs r2, #0 80236a8: 701a strb r2, [r3, #0] NR = 0; 80236aa: 4b29 ldr r3, [pc, #164] ; (8023750 ) 80236ac: 2200 movs r2, #0 80236ae: 601a str r2, [r3, #0] Vup = 0; 80236b0: 4b28 ldr r3, [pc, #160] ; (8023754 ) 80236b2: 2200 movs r2, #0 80236b4: 601a str r2, [r3, #0] Vdn = 0xffffff; 80236b6: 4b28 ldr r3, [pc, #160] ; (8023758 ) 80236b8: f06f 427f mvn.w r2, #4278190080 ; 0xff000000 80236bc: 601a str r2, [r3, #0] NUMPOINTS = 0; 80236be: 4b27 ldr r3, [pc, #156] ; (802375c ) 80236c0: 2200 movs r2, #0 80236c2: 601a str r2, [r3, #0] NeedKmDown = 0; 80236c4: 4b26 ldr r3, [pc, #152] ; (8023760 ) 80236c6: 2200 movs r2, #0 80236c8: 701a strb r2, [r3, #0] NeedKmUp = 0; 80236ca: 4b26 ldr r3, [pc, #152] ; (8023764 ) 80236cc: 2200 movs r2, #0 80236ce: 701a strb r2, [r3, #0] if(CardState != MSD_READY) { 80236d0: 4b25 ldr r3, [pc, #148] ; (8023768 ) 80236d2: 781b ldrb r3, [r3, #0] 80236d4: b2db uxtb r3, r3 80236d6: 2b03 cmp r3, #3 80236d8: d127 bne.n 802372a return; } cntFs = faseADC; 80236da: 4b24 ldr r3, [pc, #144] ; (802376c ) 80236dc: 881b ldrh r3, [r3, #0] 80236de: b29a uxth r2, r3 80236e0: 4b23 ldr r3, [pc, #140] ; (8023770 ) 80236e2: 801a strh r2, [r3, #0] NSamples = 0; 80236e4: 4b23 ldr r3, [pc, #140] ; (8023774 ) 80236e6: 2200 movs r2, #0 80236e8: 601a str r2, [r3, #0] RiffLen = 0; 80236ea: 4a23 ldr r2, [pc, #140] ; (8023778 ) 80236ec: f04f 0300 mov.w r3, #0 80236f0: f04f 0400 mov.w r4, #0 80236f4: e882 0018 stmia.w r2, {r3, r4} cntADC = 0; 80236f8: 4b20 ldr r3, [pc, #128] ; (802377c ) 80236fa: 2200 movs r2, #0 80236fc: 801a strh r2, [r3, #0] cntmeas = 0; 80236fe: 4b20 ldr r3, [pc, #128] ; (8023780 ) 8023700: 2200 movs r2, #0 8023702: 801a strh r2, [r3, #0] cntmeas1 = 0; 8023704: 4b1f ldr r3, [pc, #124] ; (8023784 ) 8023706: 2200 movs r2, #0 8023708: 801a strh r2, [r3, #0] TimeRec = 0; 802370a: 4b1f ldr r3, [pc, #124] ; (8023788 ) 802370c: 2200 movs r2, #0 802370e: 601a str r2, [r3, #0] measlen = 0; 8023710: 4b1e ldr r3, [pc, #120] ; (802378c ) 8023712: 2200 movs r2, #0 8023714: 801a strh r2, [r3, #0] READY = DATA_FREE; 8023716: 4b1e ldr r3, [pc, #120] ; (8023790 ) 8023718: 2200 movs r2, #0 802371a: 701a strb r2, [r3, #0] faseUdar = 0; 802371c: 4b1d ldr r3, [pc, #116] ; (8023794 ) 802371e: 2200 movs r2, #0 8023720: 701a strb r2, [r3, #0] Recording = true; 8023722: 4b1d ldr r3, [pc, #116] ; (8023798 ) 8023724: 2201 movs r2, #1 8023726: 701a strb r2, [r3, #0] 8023728: e000 b.n 802372c return; 802372a: bf00 nop } 802372c: 46bd mov sp, r7 802372e: bc90 pop {r4, r7} 8023730: 4770 bx lr 8023732: bf00 nop 8023734: 2002105c .word 0x2002105c 8023738: 20020dce .word 0x20020dce 802373c: 20020dcd .word 0x20020dcd 8023740: 20020dcc .word 0x20020dcc 8023744: 20021581 .word 0x20021581 8023748: 20020dd4 .word 0x20020dd4 802374c: 20020d9e .word 0x20020d9e 8023750: 20021664 .word 0x20021664 8023754: 20021668 .word 0x20021668 8023758: 20020090 .word 0x20020090 802375c: 20021654 .word 0x20021654 8023760: 20020d70 .word 0x20020d70 8023764: 20020d71 .word 0x20020d71 8023768: 2002169c .word 0x2002169c 802376c: 20020d9a .word 0x20020d9a 8023770: 20020d98 .word 0x20020d98 8023774: 20020da8 .word 0x20020da8 8023778: 20021578 .word 0x20021578 802377c: 20020d9c .word 0x20020d9c 8023780: 20020da0 .word 0x20020da0 8023784: 20020da2 .word 0x20020da2 8023788: 200216d4 .word 0x200216d4 802378c: 20020dac .word 0x20020dac 8023790: 20020d9f .word 0x20020d9f 8023794: 20021674 .word 0x20021674 8023798: 20020dd0 .word 0x20020dd0 0802379c : void StopMeas(void) { 802379c: b580 push {r7, lr} 802379e: af00 add r7, sp, #0 MAX11270_StopMeas(); 80237a0: f033 f97e bl 8056aa0 MAX11270_StopMeas(); 80237a4: f033 f97c bl 8056aa0 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); 80237b2: 2201 movs r2, #1 80237b4: f44f 4180 mov.w r1, #16384 ; 0x4000 80237b8: 4827 ldr r0, [pc, #156] ; (8023858 ) 80237ba: f096 fdef bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #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: f096 fdea bl 80ba39c 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: f096 fde4 bl 80ba39c 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] CloseFileWAV(&F); 802381a: 4819 ldr r0, [pc, #100] ; (8023880 ) 802381c: f009 fc56 bl 802d0cc //f_close(&F); 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 f916 bl 8027a68 //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: 20023eb8 .word 0x20023eb8 8023858: 40021800 .word 0x40021800 802385c: 40020400 .word 0x40020400 8023860: 40021400 .word 0x40021400 8023864: 20020dcf .word 0x20020dcf 8023868: 20020d9f .word 0x20020d9f 802386c: 20021574 .word 0x20021574 8023870: 20020dcc .word 0x20020dcc 8023874: 20020dd8 .word 0x20020dd8 8023878: 20020dd0 .word 0x20020dd0 802387c: 20020070 .word 0x20020070 8023880: 20022e78 .word 0x20022e78 8023884: 20020dd3 .word 0x20020dd3 8023888: 20020fb8 .word 0x20020fb8 802388c: 64100000 .word 0x64100000 8023890: 20022678 .word 0x20022678 8023894: 2002105c .word 0x2002105c 8023898: 200685c0 .word 0x200685c0 802389c: c2c80000 .word 0xc2c80000 80238a0: 20057f20 .word 0x20057f20 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: f094 f8c2 bl 80b7a3c 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: f031 fb2a bl 8054f28 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: f096 fd5e bl 80ba39c //************************************************************************************ //****** 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: f096 fa80 bl 80b9e00 //******************************************************** wrPar(); 8023900: f00b fa8a bl 802ee18 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: f096 fd2f bl 80ba36c 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: f096 fd3e bl 80ba39c HAL_Delay(300); 8023920: f44f 7096 mov.w r0, #300 ; 0x12c 8023924: f094 f88a bl 80b7a3c 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: 20020fc1 .word 0x20020fc1 8023938: 20021b71 .word 0x20021b71 802393c: 20020dcf .word 0x20020dcf 8023940: 40020000 .word 0x40020000 8023944: 40020400 .word 0x40020400 8023948: 40021400 .word 0x40021400 0802394c : float64_t get_log_unit_value(float64_t lin_unit_value, float64_t base, float64_t k, float64_t c) { 802394c: b580 push {r7, lr} 802394e: ed2d 8b02 vpush {d8} 8023952: b088 sub sp, #32 8023954: af00 add r7, sp, #0 8023956: ed87 0b06 vstr d0, [r7, #24] 802395a: ed87 1b04 vstr d1, [r7, #16] 802395e: ed87 2b02 vstr d2, [r7, #8] 8023962: ed87 3b00 vstr d3, [r7] return (c * logl(lin_unit_value) / logl(base) + k); 8023966: ed97 0b06 vldr d0, [r7, #24] 802396a: f0ab ff79 bl 80cf860 802396e: eeb0 6b40 vmov.f64 d6, d0 8023972: ed97 7b00 vldr d7, [r7] 8023976: ee26 8b07 vmul.f64 d8, d6, d7 802397a: ed97 0b04 vldr d0, [r7, #16] 802397e: f0ab ff6f bl 80cf860 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: 080d77d0 .word 0x080d77d0 80239e4: 080d77d8 .word 0x080d77d8 80239e8: 080d77e0 .word 0x080d77e0 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: 080d77e8 .word 0x080d77e8 8023a30: 080d77f0 .word 0x080d77f0 8023a34: 080d77f8 .word 0x080d77f8 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: 080d7800 .word 0x080d7800 8023a98: 080d7808 .word 0x080d7808 8023a9c: 080d7810 .word 0x080d7810 08023aa0 : * Enable DMA controller clock * Configure DMA for memory to memory transfers * hdma_memtomem_dma2_stream0 */ void MX_DMA_Init(void) { 8023aa0: b580 push {r7, lr} 8023aa2: b082 sub sp, #8 8023aa4: af00 add r7, sp, #0 __HAL_RCC_DMA2_CLK_ENABLE(); 8023aa6: 4a1c ldr r2, [pc, #112] ; (8023b18 ) 8023aa8: 4b1b ldr r3, [pc, #108] ; (8023b18 ) 8023aaa: 6b1b ldr r3, [r3, #48] ; 0x30 8023aac: f443 0380 orr.w r3, r3, #4194304 ; 0x400000 8023ab0: 6313 str r3, [r2, #48] ; 0x30 8023ab2: 4b19 ldr r3, [pc, #100] ; (8023b18 ) 8023ab4: 6b1b ldr r3, [r3, #48] ; 0x30 8023ab6: f403 0380 and.w r3, r3, #4194304 ; 0x400000 8023aba: 607b str r3, [r7, #4] 8023abc: 687b ldr r3, [r7, #4] HAL_NVIC_SetPriority(DMA2_Stream0_IRQn, 2, 0); /* MEM_COPY */ 8023abe: 2200 movs r2, #0 8023ac0: 2102 movs r1, #2 8023ac2: 2038 movs r0, #56 ; 0x38 8023ac4: f094 ff05 bl 80b88d2 HAL_NVIC_EnableIRQ(DMA2_Stream0_IRQn); 8023ac8: 2038 movs r0, #56 ; 0x38 8023aca: f094 ff1e bl 80b890a HAL_NVIC_SetPriority(DMA2_Stream3_IRQn, 5, 0); /* SD_Rx */ 8023ace: 2200 movs r2, #0 8023ad0: 2105 movs r1, #5 8023ad2: 203b movs r0, #59 ; 0x3b 8023ad4: f094 fefd bl 80b88d2 HAL_NVIC_EnableIRQ(DMA2_Stream3_IRQn); 8023ad8: 203b movs r0, #59 ; 0x3b 8023ada: f094 ff16 bl 80b890a HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 5, 0); /* SD_Tx */ 8023ade: 2200 movs r2, #0 8023ae0: 2105 movs r1, #5 8023ae2: 2045 movs r0, #69 ; 0x45 8023ae4: f094 fef5 bl 80b88d2 HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); 8023ae8: 2045 movs r0, #69 ; 0x45 8023aea: f094 ff0e bl 80b890a HAL_NVIC_SetPriority(DMA2_Stream4_IRQn, 1, 0); /* ADC_Bat */ 8023aee: 2200 movs r2, #0 8023af0: 2101 movs r1, #1 8023af2: 203c movs r0, #60 ; 0x3c 8023af4: f094 feed bl 80b88d2 HAL_NVIC_EnableIRQ(DMA2_Stream4_IRQn); 8023af8: 203c movs r0, #60 ; 0x3c 8023afa: f094 ff06 bl 80b890a HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 1, 0); /* TACHO */ 8023afe: 2200 movs r2, #0 8023b00: 2101 movs r1, #1 8023b02: 2039 movs r0, #57 ; 0x39 8023b04: f094 fee5 bl 80b88d2 HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); 8023b08: 2039 movs r0, #57 ; 0x39 8023b0a: f094 fefe bl 80b890a } 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: f095 fbf9 bl 80b9354 8023b62: 4603 mov r3, r0 8023b64: 2b00 cmp r3, #0 8023b66: d001 beq.n 8023b6c { Error_Handler(); 8023b68: f032 fea0 bl 80568ac } if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) 8023b6c: 2101 movs r1, #1 8023b6e: 4805 ldr r0, [pc, #20] ; (8023b84 ) 8023b70: f095 fd5e bl 80b9630 8023b74: 4603 mov r3, r0 8023b76: 2b00 cmp r3, #0 8023b78: d001 beq.n 8023b7e { Error_Handler(); 8023b7a: f032 fe97 bl 80568ac } } 8023b7e: bf00 nop 8023b80: bd80 pop {r7, pc} 8023b82: bf00 nop 8023b84: 20021d74 .word 0x20021d74 8023b88: 4002b000 .word 0x4002b000 08023b8c : void HAL_DMA2D_MspInit(DMA2D_HandleTypeDef* dma2dHandle) { 8023b8c: b480 push {r7} 8023b8e: b085 sub sp, #20 8023b90: af00 add r7, sp, #0 8023b92: 6078 str r0, [r7, #4] if(dma2dHandle->Instance==DMA2D) 8023b94: 687b ldr r3, [r7, #4] 8023b96: 681b ldr r3, [r3, #0] 8023b98: 4a0a ldr r2, [pc, #40] ; (8023bc4 ) 8023b9a: 4293 cmp r3, r2 8023b9c: d10b bne.n 8023bb6 { /* USER CODE BEGIN DMA2D_MspInit 0 */ /* USER CODE END DMA2D_MspInit 0 */ /* DMA2D clock enable */ __HAL_RCC_DMA2D_CLK_ENABLE(); 8023b9e: 4a0a ldr r2, [pc, #40] ; (8023bc8 ) 8023ba0: 4b09 ldr r3, [pc, #36] ; (8023bc8 ) 8023ba2: 6b1b ldr r3, [r3, #48] ; 0x30 8023ba4: f443 0300 orr.w r3, r3, #8388608 ; 0x800000 8023ba8: 6313 str r3, [r2, #48] ; 0x30 8023baa: 4b07 ldr r3, [pc, #28] ; (8023bc8 ) 8023bac: 6b1b ldr r3, [r3, #48] ; 0x30 8023bae: f403 0300 and.w r3, r3, #8388608 ; 0x800000 8023bb2: 60fb str r3, [r7, #12] 8023bb4: 68fb ldr r3, [r7, #12] /* USER CODE BEGIN DMA2D_MspInit 1 */ /* USER CODE END DMA2D_MspInit 1 */ } } 8023bb6: bf00 nop 8023bb8: 3714 adds r7, #20 8023bba: 46bd mov sp, r7 8023bbc: f85d 7b04 ldr.w r7, [sp], #4 8023bc0: 4770 bx lr 8023bc2: bf00 nop 8023bc4: 4002b000 .word 0x4002b000 8023bc8: 40023800 .word 0x40023800 08023bcc : void initSD(void) { 8023bcc: b580 push {r7, lr} 8023bce: b086 sub sp, #24 8023bd0: af00 add r7, sp, #0 uint32_t TryTimes, i; TM_FATFS_Size_t SD_Size; //HAL_SD_CardInfoTypeDef CardInfo; FRESULT res = FR_DISK_ERR; 8023bd2: 2301 movs r3, #1 8023bd4: 74fb strb r3, [r7, #19] AskFormat = false; 8023bd6: 4b55 ldr r3, [pc, #340] ; (8023d2c ) 8023bd8: 2200 movs r2, #0 8023bda: 701a strb r2, [r3, #0] for(TryTimes = 0; TryTimes < 10; TryTimes++) 8023bdc: 2300 movs r3, #0 8023bde: 617b str r3, [r7, #20] 8023be0: e011 b.n 8023c06 { if(BSP_SD_IsDetected() == SD_NOT_PRESENT) 8023be2: f0a0 fe1a bl 80c481a 8023be6: 4603 mov r3, r0 8023be8: 2b00 cmp r3, #0 8023bea: d103 bne.n 8023bf4 CardState = MSD_NOCARD; 8023bec: 4b50 ldr r3, [pc, #320] ; (8023d30 ) 8023bee: 2200 movs r2, #0 8023bf0: 701a strb r2, [r3, #0] 8023bf2: e002 b.n 8023bfa else CardState = MSD_PRESENT; 8023bf4: 4b4e ldr r3, [pc, #312] ; (8023d30 ) 8023bf6: 2201 movs r2, #1 8023bf8: 701a strb r2, [r3, #0] HAL_Delay(20); 8023bfa: 2014 movs r0, #20 8023bfc: f093 ff1e bl 80b7a3c 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: f0a7 f8b8 bl 80cad98 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: f099 fdb2 bl 80bd7a0 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: f099 fdbe bl 80bd7d4 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: f099 fd98 bl 80bd7a0 HAL_NVIC_SystemReset(); 8023c70: f094 fe67 bl 80b8942 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: f099 fd90 bl 80bd7a0 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: f007 fe5c bl 802b94c 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: f0ae f95f bl 80d1fa4 memset(WavFileName, 0, sizeof(WavFileName)); 8023ce6: 2221 movs r2, #33 ; 0x21 8023ce8: 2100 movs r1, #0 8023cea: 4817 ldr r0, [pc, #92] ; (8023d48 ) 8023cec: f0ae f95a bl 80d1fa4 memset(DiagFileName, 0, sizeof(DiagFileName)); 8023cf0: 2221 movs r2, #33 ; 0x21 8023cf2: 2100 movs r1, #0 8023cf4: 4815 ldr r0, [pc, #84] ; (8023d4c ) 8023cf6: f0ae f955 bl 80d1fa4 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: f0ae f94c bl 80d1fa4 memset(WavFileName, 0, sizeof(WavFileName)); 8023d0c: 2221 movs r2, #33 ; 0x21 8023d0e: 2100 movs r1, #0 8023d10: 480d ldr r0, [pc, #52] ; (8023d48 ) 8023d12: f0ae f947 bl 80d1fa4 memset(DiagFileName, 0, sizeof(DiagFileName)); 8023d16: 2221 movs r2, #33 ; 0x21 8023d18: 2100 movs r1, #0 8023d1a: 480c ldr r0, [pc, #48] ; (8023d4c ) 8023d1c: f0ae f942 bl 80d1fa4 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: 2002169d .word 0x2002169d 8023d30: 2002169c .word 0x2002169c 8023d34: 20068b2c .word 0x20068b2c 8023d38: 20022110 .word 0x20022110 8023d3c: 200685f8 .word 0x200685f8 8023d40: 20022350 .word 0x20022350 8023d44: 20020e80 .word 0x20020e80 8023d48: 20020e5c .word 0x20020e5c 8023d4c: 20020ea4 .word 0x20020ea4 08023d50 : void FileSystem(void) { 8023d50: b580 push {r7, lr} 8023d52: b092 sub sp, #72 ; 0x48 8023d54: af00 add r7, sp, #0 FRESULT res; TM_FATFS_Size_t SD_Size; char fn[40]; if(NeedClean) 8023d56: 4ba0 ldr r3, [pc, #640] ; (8023fd8 ) 8023d58: 781b ldrb r3, [r3, #0] 8023d5a: b2db uxtb r3, r3 8023d5c: 2b00 cmp r3, #0 8023d5e: f000 81a2 beq.w 80240a6 { if(CardState == MSD_READY) 8023d62: 4b9e ldr r3, [pc, #632] ; (8023fdc ) 8023d64: 781b ldrb r3, [r3, #0] 8023d66: b2db uxtb r3, r3 8023d68: 2b03 cmp r3, #3 8023d6a: f040 8195 bne.w 8024098 { if(NeedClean == 1) 8023d6e: 4b9a ldr r3, [pc, #616] ; (8023fd8 ) 8023d70: 781b ldrb r3, [r3, #0] 8023d72: b2db uxtb r3, r3 8023d74: 2b01 cmp r3, #1 8023d76: f040 808b bne.w 8023e90 { if(NumFilesDelete != 0) 8023d7a: 4b99 ldr r3, [pc, #612] ; (8023fe0 ) 8023d7c: 681b ldr r3, [r3, #0] 8023d7e: 2b00 cmp r3, #0 8023d80: f000 8083 beq.w 8023e8a { k = 0; 8023d84: 2300 movs r3, #0 8023d86: 63fb str r3, [r7, #60] ; 0x3c timedown = HAL_GetTick(); 8023d88: f093 fe4c bl 80b7a24 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: f0ae f9fb bl 80d21de 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: f0ae f8d1 bl 80d1fa4 res = DeleteFilePTM(fn); 8023e02: 1d3b adds r3, r7, #4 8023e04: 4618 mov r0, r3 8023e06: f006 f821 bl 8029e4c 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: f0ae f8b9 bl 80d1fa4 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: f093 fded bl 80b7a24 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: f093 fde5 bl 80b7a24 8023e5a: 4603 mov r3, r0 8023e5c: 637b str r3, [r7, #52] ; 0x34 RedrawScreen(); 8023e5e: f045 fd1b bl 8069898 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: f007 fd01 bl 802b890 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: f093 fdbd bl 80b7a24 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: f0ae f96c bl 80d21de 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: f0ae f842 bl 80d1fa4 //res = DeleteFileGTR(fn); res = DeleteFileWAV(fn); 8023f20: 1d3b adds r3, r7, #4 8023f22: 4618 mov r0, r3 8023f24: f006 f862 bl 8029fec 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: f093 fd72 bl 80b7a24 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: f093 fd6a bl 80b7a24 8023f50: 4603 mov r3, r0 8023f52: 637b str r3, [r7, #52] ; 0x34 RedrawScreen(); 8023f54: f045 fca0 bl 8069898 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: f007 fc86 bl 802b890 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: f093 fd41 bl 80b7a24 8023fa2: 4603 mov r3, r0 8023fa4: 637b str r3, [r7, #52] ; 0x34 for(i = 0; i < NumFilesDelete; i++) 8023fa6: 2300 movs r3, #0 8023fa8: 647b str r3, [r7, #68] ; 0x44 8023faa: e062 b.n 8024072 { j = 0; 8023fac: 2300 movs r3, #0 8023fae: 643b str r3, [r7, #64] ; 0x40 while(StrRAM(j, 0) == 0) 8023fb0: e006 b.n 8023fc0 { j++; 8023fb2: 6c3b ldr r3, [r7, #64] ; 0x40 8023fb4: 3301 adds r3, #1 8023fb6: 643b str r3, [r7, #64] ; 0x40 if(j >= MAX_CHECKED_FILES) 8023fb8: 6c3b ldr r3, [r7, #64] ; 0x40 8023fba: f5b3 7f00 cmp.w r3, #512 ; 0x200 8023fbe: d219 bcs.n 8023ff4 while(StrRAM(j, 0) == 0) 8023fc0: 6c3a ldr r2, [r7, #64] ; 0x40 8023fc2: 4613 mov r3, r2 8023fc4: 009b lsls r3, r3, #2 8023fc6: 4413 add r3, r2 8023fc8: 00db lsls r3, r3, #3 8023fca: 461a mov r2, r3 8023fcc: 4b05 ldr r3, [pc, #20] ; (8023fe4 ) 8023fce: 4413 add r3, r2 8023fd0: 781b ldrb r3, [r3, #0] 8023fd2: 2b00 cmp r3, #0 8023fd4: d0ed beq.n 8023fb2 8023fd6: e00e b.n 8023ff6 8023fd8: 20020dfc .word 0x20020dfc 8023fdc: 2002169c .word 0x2002169c 8023fe0: 20020e30 .word 0x20020e30 8023fe4: 6404b000 .word 0x6404b000 8023fe8: 20020e80 .word 0x20020e80 8023fec: 080d4e88 .word 0x080d4e88 8023ff0: 20020df0 .word 0x20020df0 break; 8023ff4: bf00 nop } if(j < MAX_CHECKED_FILES) 8023ff6: 6c3b ldr r3, [r7, #64] ; 0x40 8023ff8: f5b3 7f00 cmp.w r3, #512 ; 0x200 8023ffc: d228 bcs.n 8024050 { strcpy(fn, &StrRAM(j, 0)); 8023ffe: 6c3a ldr r2, [r7, #64] ; 0x40 8024000: 4613 mov r3, r2 8024002: 009b lsls r3, r3, #2 8024004: 4413 add r3, r2 8024006: 00db lsls r3, r3, #3 8024008: 461a mov r2, r3 802400a: 4b52 ldr r3, [pc, #328] ; (8024154 ) 802400c: 4413 add r3, r2 802400e: 461a mov r2, r3 8024010: 1d3b adds r3, r7, #4 8024012: 4611 mov r1, r2 8024014: 4618 mov r0, r3 8024016: f0ae f8e2 bl 80d21de memset(&StrRAM(j, 0), 0, 40); 802401a: 6c3a ldr r2, [r7, #64] ; 0x40 802401c: 4613 mov r3, r2 802401e: 009b lsls r3, r3, #2 8024020: 4413 add r3, r2 8024022: 00db lsls r3, r3, #3 8024024: 461a mov r2, r3 8024026: 4b4b ldr r3, [pc, #300] ; (8024154 ) 8024028: 4413 add r3, r2 802402a: 2228 movs r2, #40 ; 0x28 802402c: 2100 movs r1, #0 802402e: 4618 mov r0, r3 8024030: f0ad ffb8 bl 80d1fa4 res = DeleteFileCSV(fn); 8024034: 1d3b adds r3, r7, #4 8024036: 4618 mov r0, r3 8024038: f006 f870 bl 802a11c 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: f093 fce8 bl 80b7a24 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: f093 fce0 bl 80b7a24 8024064: 4603 mov r3, r0 8024066: 637b str r3, [r7, #52] ; 0x34 RedrawScreen(); 8024068: f045 fc16 bl 8069898 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: f007 fbfc bl 802b890 } } NumFilesDelete = 0; 8024098: 4b2f ldr r3, [pc, #188] ; (8024158 ) 802409a: 2200 movs r2, #0 802409c: 601a str r2, [r3, #0] NeedClean = 0; 802409e: 4b30 ldr r3, [pc, #192] ; (8024160 ) 80240a0: 2200 movs r2, #0 80240a2: 701a strb r2, [r3, #0] } NeedFormat = 0; } } 80240a4: e052 b.n 802414c if(NeedFormat) 80240a6: 4b2f ldr r3, [pc, #188] ; (8024164 ) 80240a8: 781b ldrb r3, [r3, #0] 80240aa: b2db uxtb r3, r3 80240ac: 2b00 cmp r3, #0 80240ae: d04d beq.n 802414c STATUS = AP_OK; 80240b0: 4b2d ldr r3, [pc, #180] ; (8024168 ) 80240b2: 2200 movs r2, #0 80240b4: 601a str r2, [r3, #0] memset(MeasFileName, 0, sizeof(MeasFileName)); 80240b6: 2221 movs r2, #33 ; 0x21 80240b8: 2100 movs r1, #0 80240ba: 482c ldr r0, [pc, #176] ; (802416c ) 80240bc: f0ad ff72 bl 80d1fa4 memset(WavFileName, 0, sizeof(WavFileName)); 80240c0: 2221 movs r2, #33 ; 0x21 80240c2: 2100 movs r1, #0 80240c4: 482a ldr r0, [pc, #168] ; (8024170 ) 80240c6: f0ad ff6d bl 80d1fa4 memset(DiagFileName, 0, sizeof(DiagFileName)); 80240ca: 2221 movs r2, #33 ; 0x21 80240cc: 2100 movs r1, #0 80240ce: 4829 ldr r0, [pc, #164] ; (8024174 ) 80240d0: f0ad ff68 bl 80d1fa4 RedrawScreen(); 80240d4: f045 fbe0 bl 8069898 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: f006 f945 bl 802a374 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: f007 fbc1 bl 802b890 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: 20020e30 .word 0x20020e30 802415c: 20020df0 .word 0x20020df0 8024160: 20020dfc .word 0x20020dfc 8024164: 20020dfd .word 0x20020dfd 8024168: 20020dec .word 0x20020dec 802416c: 20020e80 .word 0x20020e80 8024170: 20020e5c .word 0x20020e5c 8024174: 20020ea4 .word 0x20020ea4 8024178: 2002169c .word 0x2002169c 802417c: 20020df1 .word 0x20020df1 08024180 : } FRESULT CreateFilePTM(char *fname) //TODO { 8024180: b580 push {r7, lr} 8024182: b086 sub sp, #24 8024184: af00 add r7, sp, #0 8024186: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8024188: 2300 movs r3, #0 802418a: 74fb strb r3, [r7, #19] UINT fk, i; if(CardState != MSD_READY) { 802418c: 4b45 ldr r3, [pc, #276] ; (80242a4 ) 802418e: 781b ldrb r3, [r3, #0] 8024190: b2db uxtb r3, r3 8024192: 2b03 cmp r3, #3 8024194: d001 beq.n 802419a return FR_NOT_READY; 8024196: 2303 movs r3, #3 8024198: e080 b.n 802429c } if(res == FR_OK) 802419a: 7cfb ldrb r3, [r7, #19] 802419c: 2b00 cmp r3, #0 802419e: d17a bne.n 8024296 { memset(PointPath, 0, sizeof(PointPath)); 80241a0: f44f 7200 mov.w r2, #512 ; 0x200 80241a4: 2100 movs r1, #0 80241a6: 4840 ldr r0, [pc, #256] ; (80242a8 ) 80241a8: f0ad fefc bl 80d1fa4 PointPath[0] = '0'; 80241ac: 4b3e ldr r3, [pc, #248] ; (80242a8 ) 80241ae: 2230 movs r2, #48 ; 0x30 80241b0: 701a strb r2, [r3, #0] PointPath[1] = ':'; 80241b2: 4b3d ldr r3, [pc, #244] ; (80242a8 ) 80241b4: 223a movs r2, #58 ; 0x3a 80241b6: 705a strb r2, [r3, #1] strcat(PointPath, fname); 80241b8: 6879 ldr r1, [r7, #4] 80241ba: 483b ldr r0, [pc, #236] ; (80242a8 ) 80241bc: f0ad fff2 bl 80d21a4 res = f_open(&F, PointPath, FA_READ); 80241c0: 2201 movs r2, #1 80241c2: 4939 ldr r1, [pc, #228] ; (80242a8 ) 80241c4: 4839 ldr r0, [pc, #228] ; (80242ac ) 80241c6: f0a6 fe2b bl 80cae20 80241ca: 4603 mov r3, r0 80241cc: 74fb strb r3, [r7, #19] if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 80241ce: 7cfb ldrb r3, [r7, #19] 80241d0: 2b04 cmp r3, #4 80241d2: d002 beq.n 80241da 80241d4: 7cfb ldrb r3, [r7, #19] 80241d6: 2b05 cmp r3, #5 80241d8: d15f bne.n 802429a { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 80241da: 221b movs r2, #27 80241dc: 4932 ldr r1, [pc, #200] ; (80242a8 ) 80241de: 4833 ldr r0, [pc, #204] ; (80242ac ) 80241e0: f0a6 fe1e bl 80cae20 80241e4: 4603 mov r3, r0 80241e6: 74fb strb r3, [r7, #19] if(res == FR_OK) 80241e8: 7cfb ldrb r3, [r7, #19] 80241ea: 2b00 cmp r3, #0 80241ec: d151 bne.n 8024292 { f_sync(&F); 80241ee: 482f ldr r0, [pc, #188] ; (80242ac ) 80241f0: f0a7 fb56 bl 80cb8a0 ////////////////////// Ñîçäàåì øàïêó ôàéëà //////////////////////// memset(sector, 0, sizeof(sector)); 80241f4: f44f 7200 mov.w r2, #512 ; 0x200 80241f8: 2100 movs r1, #0 80241fa: 482d ldr r0, [pc, #180] ; (80242b0 ) 80241fc: f0ad fed2 bl 80d1fa4 strcpy((char *) sector, "Extend"); 8024200: 4b2b ldr r3, [pc, #172] ; (80242b0 ) 8024202: 4a2c ldr r2, [pc, #176] ; (80242b4 ) 8024204: e892 0003 ldmia.w r2, {r0, r1} 8024208: 6018 str r0, [r3, #0] 802420a: 3304 adds r3, #4 802420c: 8019 strh r1, [r3, #0] 802420e: 3302 adds r3, #2 8024210: 0c0a lsrs r2, r1, #16 8024212: 701a strb r2, [r3, #0] res = f_write(&F, sector, 96, &fk); 8024214: f107 030c add.w r3, r7, #12 8024218: 2260 movs r2, #96 ; 0x60 802421a: 4925 ldr r1, [pc, #148] ; (80242b0 ) 802421c: 4823 ldr r0, [pc, #140] ; (80242ac ) 802421e: f0a7 f99f bl 80cb560 8024222: 4603 mov r3, r0 8024224: 74fb strb r3, [r7, #19] if((res == FR_OK) && (fk == 96)) 8024226: 7cfb ldrb r3, [r7, #19] 8024228: 2b00 cmp r3, #0 802422a: d128 bne.n 802427e 802422c: 68fb ldr r3, [r7, #12] 802422e: 2b60 cmp r3, #96 ; 0x60 8024230: d125 bne.n 802427e { memset(sector, 0, sizeof(sector)); 8024232: f44f 7200 mov.w r2, #512 ; 0x200 8024236: 2100 movs r1, #0 8024238: 481d ldr r0, [pc, #116] ; (80242b0 ) 802423a: f0ad feb3 bl 80d1fa4 for(i = 0; i < 80; i++) 802423e: 2300 movs r3, #0 8024240: 617b str r3, [r7, #20] 8024242: e018 b.n 8024276 { res = f_write(&F, sector, 500, &fk); 8024244: f107 030c add.w r3, r7, #12 8024248: f44f 72fa mov.w r2, #500 ; 0x1f4 802424c: 4918 ldr r1, [pc, #96] ; (80242b0 ) 802424e: 4817 ldr r0, [pc, #92] ; (80242ac ) 8024250: f0a7 f986 bl 80cb560 8024254: 4603 mov r3, r0 8024256: 74fb strb r3, [r7, #19] if((res != FR_OK) || (fk != 500)) 8024258: 7cfb ldrb r3, [r7, #19] 802425a: 2b00 cmp r3, #0 802425c: d103 bne.n 8024266 802425e: 68fb ldr r3, [r7, #12] 8024260: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 8024264: d004 beq.n 8024270 { f_close(&F); 8024266: 4811 ldr r0, [pc, #68] ; (80242ac ) 8024268: f0a7 fc1e bl 80cbaa8 return FR_DISK_ERR; 802426c: 2301 movs r3, #1 802426e: e015 b.n 802429c for(i = 0; i < 80; i++) 8024270: 697b ldr r3, [r7, #20] 8024272: 3301 adds r3, #1 8024274: 617b str r3, [r7, #20] 8024276: 697b ldr r3, [r7, #20] 8024278: 2b4f cmp r3, #79 ; 0x4f 802427a: d9e3 bls.n 8024244 if((res == FR_OK) && (fk == 96)) 802427c: e004 b.n 8024288 } } } else { f_close(&F); 802427e: 480b ldr r0, [pc, #44] ; (80242ac ) 8024280: f0a7 fc12 bl 80cbaa8 return FR_DISK_ERR; 8024284: 2301 movs r3, #1 8024286: e009 b.n 802429c } ////////////////////////////////////////////////////////////////// f_close(&F); 8024288: 4808 ldr r0, [pc, #32] ; (80242ac ) 802428a: f0a7 fc0d bl 80cbaa8 return FR_OK; 802428e: 2300 movs r3, #0 8024290: e004 b.n 802429c } else { return FR_DISK_ERR; 8024292: 2301 movs r3, #1 8024294: e002 b.n 802429c } } } else { return FR_DISK_ERR; 8024296: 2301 movs r3, #1 8024298: e000 b.n 802429c } return res; 802429a: 7cfb ldrb r3, [r7, #19] } 802429c: 4618 mov r0, r3 802429e: 3718 adds r7, #24 80242a0: 46bd mov sp, r7 80242a2: bd80 pop {r7, pc} 80242a4: 2002169c .word 0x2002169c 80242a8: 20022a0c .word 0x20022a0c 80242ac: 20022e78 .word 0x20022e78 80242b0: 2007c000 .word 0x2007c000 80242b4: 080d4eac .word 0x080d4eac 080242b8 : FRESULT CreateFileDGN(char *fname) //TODO { 80242b8: b580 push {r7, lr} 80242ba: b086 sub sp, #24 80242bc: af00 add r7, sp, #0 80242be: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 80242c0: 2300 movs r3, #0 80242c2: 74fb strb r3, [r7, #19] UINT fk, i; if(CardState != MSD_READY) { 80242c4: 4b45 ldr r3, [pc, #276] ; (80243dc ) 80242c6: 781b ldrb r3, [r3, #0] 80242c8: b2db uxtb r3, r3 80242ca: 2b03 cmp r3, #3 80242cc: d001 beq.n 80242d2 return FR_NOT_READY; 80242ce: 2303 movs r3, #3 80242d0: e080 b.n 80243d4 } if(res == FR_OK) 80242d2: 7cfb ldrb r3, [r7, #19] 80242d4: 2b00 cmp r3, #0 80242d6: d17a bne.n 80243ce { memset(PointPath, 0, sizeof(PointPath)); 80242d8: f44f 7200 mov.w r2, #512 ; 0x200 80242dc: 2100 movs r1, #0 80242de: 4840 ldr r0, [pc, #256] ; (80243e0 ) 80242e0: f0ad fe60 bl 80d1fa4 PointPath[0] = '0'; 80242e4: 4b3e ldr r3, [pc, #248] ; (80243e0 ) 80242e6: 2230 movs r2, #48 ; 0x30 80242e8: 701a strb r2, [r3, #0] PointPath[1] = ':'; 80242ea: 4b3d ldr r3, [pc, #244] ; (80243e0 ) 80242ec: 223a movs r2, #58 ; 0x3a 80242ee: 705a strb r2, [r3, #1] strcat(PointPath, fname); 80242f0: 6879 ldr r1, [r7, #4] 80242f2: 483b ldr r0, [pc, #236] ; (80243e0 ) 80242f4: f0ad ff56 bl 80d21a4 res = f_open(&F, PointPath, FA_READ); 80242f8: 2201 movs r2, #1 80242fa: 4939 ldr r1, [pc, #228] ; (80243e0 ) 80242fc: 4839 ldr r0, [pc, #228] ; (80243e4 ) 80242fe: f0a6 fd8f bl 80cae20 8024302: 4603 mov r3, r0 8024304: 74fb strb r3, [r7, #19] if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8024306: 7cfb ldrb r3, [r7, #19] 8024308: 2b04 cmp r3, #4 802430a: d002 beq.n 8024312 802430c: 7cfb ldrb r3, [r7, #19] 802430e: 2b05 cmp r3, #5 8024310: d15f bne.n 80243d2 { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8024312: 221b movs r2, #27 8024314: 4932 ldr r1, [pc, #200] ; (80243e0 ) 8024316: 4833 ldr r0, [pc, #204] ; (80243e4 ) 8024318: f0a6 fd82 bl 80cae20 802431c: 4603 mov r3, r0 802431e: 74fb strb r3, [r7, #19] if(res == FR_OK) 8024320: 7cfb ldrb r3, [r7, #19] 8024322: 2b00 cmp r3, #0 8024324: d151 bne.n 80243ca { f_sync(&F); 8024326: 482f ldr r0, [pc, #188] ; (80243e4 ) 8024328: f0a7 faba bl 80cb8a0 ////////////////////// Ñîçäàåì øàïêó ôàéëà //////////////////////// memset(sector, 0, sizeof(sector)); 802432c: f44f 7200 mov.w r2, #512 ; 0x200 8024330: 2100 movs r1, #0 8024332: 482d ldr r0, [pc, #180] ; (80243e8 ) 8024334: f0ad fe36 bl 80d1fa4 strcpy((char *) sector, "Extend"); 8024338: 4b2b ldr r3, [pc, #172] ; (80243e8 ) 802433a: 4a2c ldr r2, [pc, #176] ; (80243ec ) 802433c: e892 0003 ldmia.w r2, {r0, r1} 8024340: 6018 str r0, [r3, #0] 8024342: 3304 adds r3, #4 8024344: 8019 strh r1, [r3, #0] 8024346: 3302 adds r3, #2 8024348: 0c0a lsrs r2, r1, #16 802434a: 701a strb r2, [r3, #0] res = f_write(&F, sector, 96, &fk); 802434c: f107 030c add.w r3, r7, #12 8024350: 2260 movs r2, #96 ; 0x60 8024352: 4925 ldr r1, [pc, #148] ; (80243e8 ) 8024354: 4823 ldr r0, [pc, #140] ; (80243e4 ) 8024356: f0a7 f903 bl 80cb560 802435a: 4603 mov r3, r0 802435c: 74fb strb r3, [r7, #19] if((res == FR_OK) && (fk == 96)) 802435e: 7cfb ldrb r3, [r7, #19] 8024360: 2b00 cmp r3, #0 8024362: d128 bne.n 80243b6 8024364: 68fb ldr r3, [r7, #12] 8024366: 2b60 cmp r3, #96 ; 0x60 8024368: d125 bne.n 80243b6 { memset(sector, 0, sizeof(sector)); 802436a: f44f 7200 mov.w r2, #512 ; 0x200 802436e: 2100 movs r1, #0 8024370: 481d ldr r0, [pc, #116] ; (80243e8 ) 8024372: f0ad fe17 bl 80d1fa4 for(i = 0; i < 80; i++) 8024376: 2300 movs r3, #0 8024378: 617b str r3, [r7, #20] 802437a: e018 b.n 80243ae { res = f_write(&F, sector, 500, &fk); 802437c: f107 030c add.w r3, r7, #12 8024380: f44f 72fa mov.w r2, #500 ; 0x1f4 8024384: 4918 ldr r1, [pc, #96] ; (80243e8 ) 8024386: 4817 ldr r0, [pc, #92] ; (80243e4 ) 8024388: f0a7 f8ea bl 80cb560 802438c: 4603 mov r3, r0 802438e: 74fb strb r3, [r7, #19] if((res != FR_OK) || (fk != 500)) 8024390: 7cfb ldrb r3, [r7, #19] 8024392: 2b00 cmp r3, #0 8024394: d103 bne.n 802439e 8024396: 68fb ldr r3, [r7, #12] 8024398: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 802439c: d004 beq.n 80243a8 { f_close(&F); 802439e: 4811 ldr r0, [pc, #68] ; (80243e4 ) 80243a0: f0a7 fb82 bl 80cbaa8 return FR_DISK_ERR; 80243a4: 2301 movs r3, #1 80243a6: e015 b.n 80243d4 for(i = 0; i < 80; i++) 80243a8: 697b ldr r3, [r7, #20] 80243aa: 3301 adds r3, #1 80243ac: 617b str r3, [r7, #20] 80243ae: 697b ldr r3, [r7, #20] 80243b0: 2b4f cmp r3, #79 ; 0x4f 80243b2: d9e3 bls.n 802437c if((res == FR_OK) && (fk == 96)) 80243b4: e004 b.n 80243c0 } } } else { f_close(&F); 80243b6: 480b ldr r0, [pc, #44] ; (80243e4 ) 80243b8: f0a7 fb76 bl 80cbaa8 return FR_DISK_ERR; 80243bc: 2301 movs r3, #1 80243be: e009 b.n 80243d4 } ////////////////////////////////////////////////////////////////// f_close(&F); 80243c0: 4808 ldr r0, [pc, #32] ; (80243e4 ) 80243c2: f0a7 fb71 bl 80cbaa8 return FR_OK; 80243c6: 2300 movs r3, #0 80243c8: e004 b.n 80243d4 } else { return FR_DISK_ERR; 80243ca: 2301 movs r3, #1 80243cc: e002 b.n 80243d4 } } } else { return FR_DISK_ERR; 80243ce: 2301 movs r3, #1 80243d0: e000 b.n 80243d4 } return res; 80243d2: 7cfb ldrb r3, [r7, #19] } 80243d4: 4618 mov r0, r3 80243d6: 3718 adds r7, #24 80243d8: 46bd mov sp, r7 80243da: bd80 pop {r7, pc} 80243dc: 2002169c .word 0x2002169c 80243e0: 20022a0c .word 0x20022a0c 80243e4: 20022e78 .word 0x20022e78 80243e8: 2007c000 .word 0x2007c000 80243ec: 080d4eac .word 0x080d4eac 080243f0 : FRESULT CreateFileSPEC(char *fname) { 80243f0: b5b0 push {r4, r5, r7, lr} 80243f2: b092 sub sp, #72 ; 0x48 80243f4: af00 add r7, sp, #0 80243f6: 6078 str r0, [r7, #4] UINT fk; uint32_t l, i; char fn[40]; FRESULT res = FR_OK; 80243f8: 2300 movs r3, #0 80243fa: f887 3043 strb.w r3, [r7, #67] ; 0x43 float32_t fs; if(CardState != MSD_READY) { 80243fe: 4bc9 ldr r3, [pc, #804] ; (8024724 ) 8024400: 781b ldrb r3, [r3, #0] 8024402: b2db uxtb r3, r3 8024404: 2b03 cmp r3, #3 8024406: d001 beq.n 802440c return FR_NOT_READY; 8024408: 2303 movs r3, #3 802440a: e317 b.n 8024a3c } strcpy(fn ,fname); 802440c: f107 030c add.w r3, r7, #12 8024410: 6879 ldr r1, [r7, #4] 8024412: 4618 mov r0, r3 8024414: f0ad fee3 bl 80d21de l = strlen(fn); 8024418: f107 030c add.w r3, r7, #12 802441c: 4618 mov r0, r3 802441e: f7fb ff79 bl 8020314 8024422: 63f8 str r0, [r7, #60] ; 0x3c if(fn[l - 4] == '.') 8024424: 6bfb ldr r3, [r7, #60] ; 0x3c 8024426: 3b04 subs r3, #4 8024428: f107 0248 add.w r2, r7, #72 ; 0x48 802442c: 4413 add r3, r2 802442e: f813 3c3c ldrb.w r3, [r3, #-60] 8024432: 2b2e cmp r3, #46 ; 0x2e 8024434: d169 bne.n 802450a { if((fn[l - 3] != 'C') && (fn[l - 3] != 'c')) fn[l - 3] = 'C'; 8024436: 6bfb ldr r3, [r7, #60] ; 0x3c 8024438: 3b03 subs r3, #3 802443a: f107 0248 add.w r2, r7, #72 ; 0x48 802443e: 4413 add r3, r2 8024440: f813 3c3c ldrb.w r3, [r3, #-60] 8024444: 2b43 cmp r3, #67 ; 0x43 8024446: d011 beq.n 802446c 8024448: 6bfb ldr r3, [r7, #60] ; 0x3c 802444a: 3b03 subs r3, #3 802444c: f107 0248 add.w r2, r7, #72 ; 0x48 8024450: 4413 add r3, r2 8024452: f813 3c3c ldrb.w r3, [r3, #-60] 8024456: 2b63 cmp r3, #99 ; 0x63 8024458: d008 beq.n 802446c 802445a: 6bfb ldr r3, [r7, #60] ; 0x3c 802445c: 3b03 subs r3, #3 802445e: f107 0248 add.w r2, r7, #72 ; 0x48 8024462: 4413 add r3, r2 8024464: 2243 movs r2, #67 ; 0x43 8024466: f803 2c3c strb.w r2, [r3, #-60] 802446a: e007 b.n 802447c else fn[l - 3] = 'C'; 802446c: 6bfb ldr r3, [r7, #60] ; 0x3c 802446e: 3b03 subs r3, #3 8024470: f107 0248 add.w r2, r7, #72 ; 0x48 8024474: 4413 add r3, r2 8024476: 2243 movs r2, #67 ; 0x43 8024478: f803 2c3c strb.w r2, [r3, #-60] if((fn[l - 2] != 'S') && (fn[l - 2] != 's')) fn[l - 2] = 'S'; 802447c: 6bfb ldr r3, [r7, #60] ; 0x3c 802447e: 3b02 subs r3, #2 8024480: f107 0248 add.w r2, r7, #72 ; 0x48 8024484: 4413 add r3, r2 8024486: f813 3c3c ldrb.w r3, [r3, #-60] 802448a: 2b53 cmp r3, #83 ; 0x53 802448c: d011 beq.n 80244b2 802448e: 6bfb ldr r3, [r7, #60] ; 0x3c 8024490: 3b02 subs r3, #2 8024492: f107 0248 add.w r2, r7, #72 ; 0x48 8024496: 4413 add r3, r2 8024498: f813 3c3c ldrb.w r3, [r3, #-60] 802449c: 2b73 cmp r3, #115 ; 0x73 802449e: d008 beq.n 80244b2 80244a0: 6bfb ldr r3, [r7, #60] ; 0x3c 80244a2: 3b02 subs r3, #2 80244a4: f107 0248 add.w r2, r7, #72 ; 0x48 80244a8: 4413 add r3, r2 80244aa: 2253 movs r2, #83 ; 0x53 80244ac: f803 2c3c strb.w r2, [r3, #-60] 80244b0: e007 b.n 80244c2 else fn[l - 2] = 'S'; 80244b2: 6bfb ldr r3, [r7, #60] ; 0x3c 80244b4: 3b02 subs r3, #2 80244b6: f107 0248 add.w r2, r7, #72 ; 0x48 80244ba: 4413 add r3, r2 80244bc: 2253 movs r2, #83 ; 0x53 80244be: f803 2c3c strb.w r2, [r3, #-60] if((fn[l - 1] != 'V') && (fn[l - 1] != 'v')) fn[l - 1] = 'V'; 80244c2: 6bfb ldr r3, [r7, #60] ; 0x3c 80244c4: 3b01 subs r3, #1 80244c6: f107 0248 add.w r2, r7, #72 ; 0x48 80244ca: 4413 add r3, r2 80244cc: f813 3c3c ldrb.w r3, [r3, #-60] 80244d0: 2b56 cmp r3, #86 ; 0x56 80244d2: d011 beq.n 80244f8 80244d4: 6bfb ldr r3, [r7, #60] ; 0x3c 80244d6: 3b01 subs r3, #1 80244d8: f107 0248 add.w r2, r7, #72 ; 0x48 80244dc: 4413 add r3, r2 80244de: f813 3c3c ldrb.w r3, [r3, #-60] 80244e2: 2b76 cmp r3, #118 ; 0x76 80244e4: d008 beq.n 80244f8 80244e6: 6bfb ldr r3, [r7, #60] ; 0x3c 80244e8: 3b01 subs r3, #1 80244ea: f107 0248 add.w r2, r7, #72 ; 0x48 80244ee: 4413 add r3, r2 80244f0: 2256 movs r2, #86 ; 0x56 80244f2: f803 2c3c strb.w r2, [r3, #-60] 80244f6: e027 b.n 8024548 else fn[l - 1] = 'V'; 80244f8: 6bfb ldr r3, [r7, #60] ; 0x3c 80244fa: 3b01 subs r3, #1 80244fc: f107 0248 add.w r2, r7, #72 ; 0x48 8024500: 4413 add r3, r2 8024502: 2256 movs r2, #86 ; 0x56 8024504: f803 2c3c strb.w r2, [r3, #-60] 8024508: e01e b.n 8024548 } else { if(l <= 36) 802450a: 6bfb ldr r3, [r7, #60] ; 0x3c 802450c: 2b24 cmp r3, #36 ; 0x24 802450e: d80f bhi.n 8024530 strcat(fn, ".CSV"); 8024510: f107 030c add.w r3, r7, #12 8024514: 4618 mov r0, r3 8024516: f7fb fefd bl 8020314 802451a: 4603 mov r3, r0 802451c: 461a mov r2, r3 802451e: f107 030c add.w r3, r7, #12 8024522: 4413 add r3, r2 8024524: 4a80 ldr r2, [pc, #512] ; (8024728 ) 8024526: 6810 ldr r0, [r2, #0] 8024528: 6018 str r0, [r3, #0] 802452a: 7912 ldrb r2, [r2, #4] 802452c: 711a strb r2, [r3, #4] 802452e: e00b b.n 8024548 else { fn[36] = '.'; 8024530: 232e movs r3, #46 ; 0x2e 8024532: f887 3030 strb.w r3, [r7, #48] ; 0x30 fn[37] = 'C'; 8024536: 2343 movs r3, #67 ; 0x43 8024538: f887 3031 strb.w r3, [r7, #49] ; 0x31 fn[38] = 'S'; 802453c: 2353 movs r3, #83 ; 0x53 802453e: f887 3032 strb.w r3, [r7, #50] ; 0x32 fn[39] = 'V'; 8024542: 2356 movs r3, #86 ; 0x56 8024544: f887 3033 strb.w r3, [r7, #51] ; 0x33 } } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 8024548: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 802454c: 2b00 cmp r3, #0 802454e: f040 8271 bne.w 8024a34 { memset(PointPath, 0, sizeof(PointPath)); 8024552: f44f 7200 mov.w r2, #512 ; 0x200 8024556: 2100 movs r1, #0 8024558: 4874 ldr r0, [pc, #464] ; (802472c ) 802455a: f0ad fd23 bl 80d1fa4 strcpy(PointPath, "0:Spectrum files"); 802455e: 4a73 ldr r2, [pc, #460] ; (802472c ) 8024560: 4b73 ldr r3, [pc, #460] ; (8024730 ) 8024562: 4615 mov r5, r2 8024564: 461c mov r4, r3 8024566: cc0f ldmia r4!, {r0, r1, r2, r3} 8024568: 6028 str r0, [r5, #0] 802456a: 6069 str r1, [r5, #4] 802456c: 60aa str r2, [r5, #8] 802456e: 60eb str r3, [r5, #12] 8024570: 7823 ldrb r3, [r4, #0] 8024572: 742b strb r3, [r5, #16] res = f_opendir(&dir, PointPath); 8024574: 496d ldr r1, [pc, #436] ; (802472c ) 8024576: 486f ldr r0, [pc, #444] ; (8024734 ) 8024578: f0a7 fd3f bl 80cbffa 802457c: 4603 mov r3, r0 802457e: f887 3043 strb.w r3, [r7, #67] ; 0x43 if(res != FR_OK) { 8024582: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 8024586: 2b00 cmp r3, #0 8024588: d005 beq.n 8024596 res = f_mkdir(PointPath); 802458a: 4868 ldr r0, [pc, #416] ; (802472c ) 802458c: f0a7 fff0 bl 80cc570 8024590: 4603 mov r3, r0 8024592: f887 3043 strb.w r3, [r7, #67] ; 0x43 } if(res == FR_OK) 8024596: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 802459a: 2b00 cmp r3, #0 802459c: f040 824c bne.w 8024a38 { strcat(PointPath, "/"); 80245a0: 4862 ldr r0, [pc, #392] ; (802472c ) 80245a2: f7fb feb7 bl 8020314 80245a6: 4603 mov r3, r0 80245a8: 461a mov r2, r3 80245aa: 4b60 ldr r3, [pc, #384] ; (802472c ) 80245ac: 4413 add r3, r2 80245ae: 4962 ldr r1, [pc, #392] ; (8024738 ) 80245b0: 461a mov r2, r3 80245b2: 460b mov r3, r1 80245b4: 881b ldrh r3, [r3, #0] 80245b6: 8013 strh r3, [r2, #0] strcat(PointPath, fname); 80245b8: 6879 ldr r1, [r7, #4] 80245ba: 485c ldr r0, [pc, #368] ; (802472c ) 80245bc: f0ad fdf2 bl 80d21a4 res = f_open(&F, PointPath, FA_READ); 80245c0: 2201 movs r2, #1 80245c2: 495a ldr r1, [pc, #360] ; (802472c ) 80245c4: 485d ldr r0, [pc, #372] ; (802473c ) 80245c6: f0a6 fc2b bl 80cae20 80245ca: 4603 mov r3, r0 80245cc: f887 3043 strb.w r3, [r7, #67] ; 0x43 if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 80245d0: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 80245d4: 2b04 cmp r3, #4 80245d6: d004 beq.n 80245e2 80245d8: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 80245dc: 2b05 cmp r3, #5 80245de: f040 8224 bne.w 8024a2a { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 80245e2: 221b movs r2, #27 80245e4: 4951 ldr r1, [pc, #324] ; (802472c ) 80245e6: 4855 ldr r0, [pc, #340] ; (802473c ) 80245e8: f0a6 fc1a bl 80cae20 80245ec: 4603 mov r3, r0 80245ee: f887 3043 strb.w r3, [r7, #67] ; 0x43 if(res == FR_OK) 80245f2: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 80245f6: 2b00 cmp r3, #0 80245f8: f040 8215 bne.w 8024a26 { f_sync(&F); 80245fc: 484f ldr r0, [pc, #316] ; (802473c ) 80245fe: f0a7 f94f bl 80cb8a0 memset((void *) sector, 0 , sizeof(sector)); 8024602: f44f 7200 mov.w r2, #512 ; 0x200 8024606: 2100 movs r1, #0 8024608: 484d ldr r0, [pc, #308] ; (8024740 ) 802460a: f0ad fccb bl 80d1fa4 strcpy((void *) sector, "HP: "); 802460e: 4b4c ldr r3, [pc, #304] ; (8024740 ) 8024610: 4a4c ldr r2, [pc, #304] ; (8024744 ) 8024612: e892 0003 ldmia.w r2, {r0, r1} 8024616: 6018 str r0, [r3, #0] 8024618: 3304 adds r3, #4 802461a: 7019 strb r1, [r3, #0] strcat((void *) sector, (char *) FloatToASCII(pardata.HP, -1)); 802461c: 4b4a ldr r3, [pc, #296] ; (8024748 ) 802461e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8024622: f04f 30ff mov.w r0, #4294967295 8024626: eeb0 0a67 vmov.f32 s0, s15 802462a: f043 fdb9 bl 80681a0 802462e: 4603 mov r3, r0 8024630: 4619 mov r1, r3 8024632: 4843 ldr r0, [pc, #268] ; (8024740 ) 8024634: f0ad fdb6 bl 80d21a4 strcat((void *) sector, "\r\n"); 8024638: 4841 ldr r0, [pc, #260] ; (8024740 ) 802463a: f7fb fe6b bl 8020314 802463e: 4603 mov r3, r0 8024640: 461a mov r2, r3 8024642: 4b3f ldr r3, [pc, #252] ; (8024740 ) 8024644: 4413 add r3, r2 8024646: 4a41 ldr r2, [pc, #260] ; (802474c ) 8024648: 8811 ldrh r1, [r2, #0] 802464a: 7892 ldrb r2, [r2, #2] 802464c: 8019 strh r1, [r3, #0] 802464e: 709a strb r2, [r3, #2] l = strlen((void *) sector); 8024650: 483b ldr r0, [pc, #236] ; (8024740 ) 8024652: f7fb fe5f bl 8020314 8024656: 63f8 str r0, [r7, #60] ; 0x3c res = f_write(&F, (void *) sector, (UINT) l, &fk); 8024658: f107 0334 add.w r3, r7, #52 ; 0x34 802465c: 6bfa ldr r2, [r7, #60] ; 0x3c 802465e: 4938 ldr r1, [pc, #224] ; (8024740 ) 8024660: 4836 ldr r0, [pc, #216] ; (802473c ) 8024662: f0a6 ff7d bl 80cb560 8024666: 4603 mov r3, r0 8024668: f887 3043 strb.w r3, [r7, #67] ; 0x43 memset((void *) sector, 0 , sizeof(sector)); 802466c: f44f 7200 mov.w r2, #512 ; 0x200 8024670: 2100 movs r1, #0 8024672: 4833 ldr r0, [pc, #204] ; (8024740 ) 8024674: f0ad fc96 bl 80d1fa4 strcpy((void *) sector, "LP: "); 8024678: 4b31 ldr r3, [pc, #196] ; (8024740 ) 802467a: 4a35 ldr r2, [pc, #212] ; (8024750 ) 802467c: e892 0003 ldmia.w r2, {r0, r1} 8024680: 6018 str r0, [r3, #0] 8024682: 3304 adds r3, #4 8024684: 7019 strb r1, [r3, #0] strcat((void *) sector, (char *) FloatToASCII(pardata.LP, -1)); 8024686: 4b30 ldr r3, [pc, #192] ; (8024748 ) 8024688: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 802468c: f04f 30ff mov.w r0, #4294967295 8024690: eeb0 0a67 vmov.f32 s0, s15 8024694: f043 fd84 bl 80681a0 8024698: 4603 mov r3, r0 802469a: 4619 mov r1, r3 802469c: 4828 ldr r0, [pc, #160] ; (8024740 ) 802469e: f0ad fd81 bl 80d21a4 strcat((void *) sector, "\r\n"); 80246a2: 4827 ldr r0, [pc, #156] ; (8024740 ) 80246a4: f7fb fe36 bl 8020314 80246a8: 4603 mov r3, r0 80246aa: 461a mov r2, r3 80246ac: 4b24 ldr r3, [pc, #144] ; (8024740 ) 80246ae: 4413 add r3, r2 80246b0: 4a26 ldr r2, [pc, #152] ; (802474c ) 80246b2: 8811 ldrh r1, [r2, #0] 80246b4: 7892 ldrb r2, [r2, #2] 80246b6: 8019 strh r1, [r3, #0] 80246b8: 709a strb r2, [r3, #2] strcat((void *) sector, "\r\n"); 80246ba: 4821 ldr r0, [pc, #132] ; (8024740 ) 80246bc: f7fb fe2a bl 8020314 80246c0: 4603 mov r3, r0 80246c2: 461a mov r2, r3 80246c4: 4b1e ldr r3, [pc, #120] ; (8024740 ) 80246c6: 4413 add r3, r2 80246c8: 4a20 ldr r2, [pc, #128] ; (802474c ) 80246ca: 8811 ldrh r1, [r2, #0] 80246cc: 7892 ldrb r2, [r2, #2] 80246ce: 8019 strh r1, [r3, #0] 80246d0: 709a strb r2, [r3, #2] strcat((void *) sector, "\r\n"); 80246d2: 481b ldr r0, [pc, #108] ; (8024740 ) 80246d4: f7fb fe1e bl 8020314 80246d8: 4603 mov r3, r0 80246da: 461a mov r2, r3 80246dc: 4b18 ldr r3, [pc, #96] ; (8024740 ) 80246de: 4413 add r3, r2 80246e0: 4a1a ldr r2, [pc, #104] ; (802474c ) 80246e2: 8811 ldrh r1, [r2, #0] 80246e4: 7892 ldrb r2, [r2, #2] 80246e6: 8019 strh r1, [r3, #0] 80246e8: 709a strb r2, [r3, #2] l = strlen((void *) sector); 80246ea: 4815 ldr r0, [pc, #84] ; (8024740 ) 80246ec: f7fb fe12 bl 8020314 80246f0: 63f8 str r0, [r7, #60] ; 0x3c res = f_write(&F, (void *) sector, (UINT) l, &fk); 80246f2: f107 0334 add.w r3, r7, #52 ; 0x34 80246f6: 6bfa ldr r2, [r7, #60] ; 0x3c 80246f8: 4911 ldr r1, [pc, #68] ; (8024740 ) 80246fa: 4810 ldr r0, [pc, #64] ; (802473c ) 80246fc: f0a6 ff30 bl 80cb560 8024700: 4603 mov r3, r0 8024702: f887 3043 strb.w r3, [r7, #67] ; 0x43 if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB)) 8024706: 4b10 ldr r3, [pc, #64] ; (8024748 ) 8024708: 781b ldrb r3, [r3, #0] 802470a: b2db uxtb r3, r3 802470c: 2b01 cmp r3, #1 802470e: d005 beq.n 802471c 8024710: 4b0d ldr r3, [pc, #52] ; (8024748 ) 8024712: 781b ldrb r3, [r3, #0] 8024714: b2db uxtb r3, r3 8024716: 2b05 cmp r3, #5 8024718: f040 809b bne.w 8024852 { for(i = 0; i < (Ns >> 1); i++) 802471c: 2300 movs r3, #0 802471e: 647b str r3, [r7, #68] ; 0x44 8024720: e090 b.n 8024844 8024722: bf00 nop 8024724: 2002169c .word 0x2002169c 8024728: 080d4eb4 .word 0x080d4eb4 802472c: 20022a0c .word 0x20022a0c 8024730: 080d4ebc .word 0x080d4ebc 8024734: 20022970 .word 0x20022970 8024738: 080d4e9c .word 0x080d4e9c 802473c: 20022e78 .word 0x20022e78 8024740: 2007c000 .word 0x2007c000 8024744: 080d4ed0 .word 0x080d4ed0 8024748: 20023eb8 .word 0x20023eb8 802474c: 080d4ed8 .word 0x080d4ed8 8024750: 080d4edc .word 0x080d4edc { memset((void *) sector, 0 , sizeof(sector)); 8024754: f44f 7200 mov.w r2, #512 ; 0x200 8024758: 2100 movs r1, #0 802475a: 48ba ldr r0, [pc, #744] ; (8024a44 ) 802475c: f0ad fc22 bl 80d1fa4 fs = (float32_t) i * Delta_SPC[pardata.FRQ][pardata.LNE]; 8024760: 6c7b ldr r3, [r7, #68] ; 0x44 8024762: ee07 3a90 vmov s15, r3 8024766: eeb8 7a67 vcvt.f32.u32 s14, s15 802476a: 4bb7 ldr r3, [pc, #732] ; (8024a48 ) 802476c: 7adb ldrb r3, [r3, #11] 802476e: b2db uxtb r3, r3 8024770: 4618 mov r0, r3 8024772: 4bb5 ldr r3, [pc, #724] ; (8024a48 ) 8024774: 79db ldrb r3, [r3, #7] 8024776: b2db uxtb r3, r3 8024778: 4619 mov r1, r3 802477a: 4ab4 ldr r2, [pc, #720] ; (8024a4c ) 802477c: 0083 lsls r3, r0, #2 802477e: 440b add r3, r1 8024780: 009b lsls r3, r3, #2 8024782: 4413 add r3, r2 8024784: edd3 7a00 vldr s15, [r3] 8024788: ee67 7a27 vmul.f32 s15, s14, s15 802478c: edc7 7a0e vstr s15, [r7, #56] ; 0x38 strcpy((void *) sector, (char *) FloatToASCII(fs, -6)); 8024790: f06f 0005 mvn.w r0, #5 8024794: ed97 0a0e vldr s0, [r7, #56] ; 0x38 8024798: f043 fd02 bl 80681a0 802479c: 4603 mov r3, r0 802479e: 4619 mov r1, r3 80247a0: 48a8 ldr r0, [pc, #672] ; (8024a44 ) 80247a2: f0ad fd1c bl 80d21de strcat((void *) sector, ";"); 80247a6: 48a7 ldr r0, [pc, #668] ; (8024a44 ) 80247a8: f7fb fdb4 bl 8020314 80247ac: 4603 mov r3, r0 80247ae: 461a mov r2, r3 80247b0: 4ba4 ldr r3, [pc, #656] ; (8024a44 ) 80247b2: 4413 add r3, r2 80247b4: 49a6 ldr r1, [pc, #664] ; (8024a50 ) 80247b6: 461a mov r2, r3 80247b8: 460b mov r3, r1 80247ba: 881b ldrh r3, [r3, #0] 80247bc: 8013 strh r3, [r2, #0] strcat((void *) sector, (char *) FloatToASCII(ScrA_f32(i), -6)); 80247be: 6c7b ldr r3, [r7, #68] ; 0x44 80247c0: 009a lsls r2, r3, #2 80247c2: 4ba4 ldr r3, [pc, #656] ; (8024a54 ) 80247c4: 4413 add r3, r2 80247c6: edd3 7a00 vldr s15, [r3] 80247ca: f06f 0005 mvn.w r0, #5 80247ce: eeb0 0a67 vmov.f32 s0, s15 80247d2: f043 fce5 bl 80681a0 80247d6: 4603 mov r3, r0 80247d8: 4619 mov r1, r3 80247da: 489a ldr r0, [pc, #616] ; (8024a44 ) 80247dc: f0ad fce2 bl 80d21a4 strcat((void *) sector, ";"); 80247e0: 4898 ldr r0, [pc, #608] ; (8024a44 ) 80247e2: f7fb fd97 bl 8020314 80247e6: 4603 mov r3, r0 80247e8: 461a mov r2, r3 80247ea: 4b96 ldr r3, [pc, #600] ; (8024a44 ) 80247ec: 4413 add r3, r2 80247ee: 4998 ldr r1, [pc, #608] ; (8024a50 ) 80247f0: 461a mov r2, r3 80247f2: 460b mov r3, r1 80247f4: 881b ldrh r3, [r3, #0] 80247f6: 8013 strh r3, [r2, #0] strcat((void *) sector, "\r\n"); 80247f8: 4892 ldr r0, [pc, #584] ; (8024a44 ) 80247fa: f7fb fd8b bl 8020314 80247fe: 4603 mov r3, r0 8024800: 461a mov r2, r3 8024802: 4b90 ldr r3, [pc, #576] ; (8024a44 ) 8024804: 4413 add r3, r2 8024806: 4a94 ldr r2, [pc, #592] ; (8024a58 ) 8024808: 8811 ldrh r1, [r2, #0] 802480a: 7892 ldrb r2, [r2, #2] 802480c: 8019 strh r1, [r3, #0] 802480e: 709a strb r2, [r3, #2] l = strlen((void *) sector); 8024810: 488c ldr r0, [pc, #560] ; (8024a44 ) 8024812: f7fb fd7f bl 8020314 8024816: 63f8 str r0, [r7, #60] ; 0x3c res = f_write(&F, (void *) sector, (UINT) l, &fk); 8024818: f107 0334 add.w r3, r7, #52 ; 0x34 802481c: 6bfa ldr r2, [r7, #60] ; 0x3c 802481e: 4989 ldr r1, [pc, #548] ; (8024a44 ) 8024820: 488e ldr r0, [pc, #568] ; (8024a5c ) 8024822: f0a6 fe9d bl 80cb560 8024826: 4603 mov r3, r0 8024828: f887 3043 strb.w r3, [r7, #67] ; 0x43 if(res != FR_OK) 802482c: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 8024830: 2b00 cmp r3, #0 8024832: d004 beq.n 802483e { f_close(&F); 8024834: 4889 ldr r0, [pc, #548] ; (8024a5c ) 8024836: f0a7 f937 bl 80cbaa8 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 802483a: 2301 movs r3, #1 802483c: e0fe b.n 8024a3c for(i = 0; i < (Ns >> 1); i++) 802483e: 6c7b ldr r3, [r7, #68] ; 0x44 8024840: 3301 adds r3, #1 8024842: 647b str r3, [r7, #68] ; 0x44 8024844: 4b86 ldr r3, [pc, #536] ; (8024a60 ) 8024846: 681b ldr r3, [r3, #0] 8024848: 085a lsrs r2, r3, #1 802484a: 6c7b ldr r3, [r7, #68] ; 0x44 802484c: 429a cmp r2, r3 802484e: d881 bhi.n 8024754 if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB)) 8024850: e0e2 b.n 8024a18 } } } else if(pardata.SYG == SPEC_OKT) 8024852: 4b7d ldr r3, [pc, #500] ; (8024a48 ) 8024854: 781b ldrb r3, [r3, #0] 8024856: b2db uxtb r3, r3 8024858: 2b06 cmp r3, #6 802485a: d16c bne.n 8024936 { for(i = 0; i < 14; i++) 802485c: 2300 movs r3, #0 802485e: 647b str r3, [r7, #68] ; 0x44 8024860: e065 b.n 802492e { memset((void *) sector, 0 , sizeof(sector)); 8024862: f44f 7200 mov.w r2, #512 ; 0x200 8024866: 2100 movs r1, #0 8024868: 4876 ldr r0, [pc, #472] ; (8024a44 ) 802486a: f0ad fb9b bl 80d1fa4 fs = OCTAVES[i]; 802486e: 4a7d ldr r2, [pc, #500] ; (8024a64 ) 8024870: 6c7b ldr r3, [r7, #68] ; 0x44 8024872: 009b lsls r3, r3, #2 8024874: 4413 add r3, r2 8024876: 681b ldr r3, [r3, #0] 8024878: 63bb str r3, [r7, #56] ; 0x38 strcpy((void *) sector, (char *) FloatToASCII(fs, -6)); 802487a: f06f 0005 mvn.w r0, #5 802487e: ed97 0a0e vldr s0, [r7, #56] ; 0x38 8024882: f043 fc8d bl 80681a0 8024886: 4603 mov r3, r0 8024888: 4619 mov r1, r3 802488a: 486e ldr r0, [pc, #440] ; (8024a44 ) 802488c: f0ad fca7 bl 80d21de strcat((void *) sector, ";"); 8024890: 486c ldr r0, [pc, #432] ; (8024a44 ) 8024892: f7fb fd3f bl 8020314 8024896: 4603 mov r3, r0 8024898: 461a mov r2, r3 802489a: 4b6a ldr r3, [pc, #424] ; (8024a44 ) 802489c: 4413 add r3, r2 802489e: 496c ldr r1, [pc, #432] ; (8024a50 ) 80248a0: 461a mov r2, r3 80248a2: 460b mov r3, r1 80248a4: 881b ldrh r3, [r3, #0] 80248a6: 8013 strh r3, [r2, #0] strcat((void *) sector, (char *) FloatToASCII(ScrA_f32(i), -6)); 80248a8: 6c7b ldr r3, [r7, #68] ; 0x44 80248aa: 009a lsls r2, r3, #2 80248ac: 4b69 ldr r3, [pc, #420] ; (8024a54 ) 80248ae: 4413 add r3, r2 80248b0: edd3 7a00 vldr s15, [r3] 80248b4: f06f 0005 mvn.w r0, #5 80248b8: eeb0 0a67 vmov.f32 s0, s15 80248bc: f043 fc70 bl 80681a0 80248c0: 4603 mov r3, r0 80248c2: 4619 mov r1, r3 80248c4: 485f ldr r0, [pc, #380] ; (8024a44 ) 80248c6: f0ad fc6d bl 80d21a4 strcat((void *) sector, ";"); 80248ca: 485e ldr r0, [pc, #376] ; (8024a44 ) 80248cc: f7fb fd22 bl 8020314 80248d0: 4603 mov r3, r0 80248d2: 461a mov r2, r3 80248d4: 4b5b ldr r3, [pc, #364] ; (8024a44 ) 80248d6: 4413 add r3, r2 80248d8: 495d ldr r1, [pc, #372] ; (8024a50 ) 80248da: 461a mov r2, r3 80248dc: 460b mov r3, r1 80248de: 881b ldrh r3, [r3, #0] 80248e0: 8013 strh r3, [r2, #0] strcat((void *) sector, "\r\n"); 80248e2: 4858 ldr r0, [pc, #352] ; (8024a44 ) 80248e4: f7fb fd16 bl 8020314 80248e8: 4603 mov r3, r0 80248ea: 461a mov r2, r3 80248ec: 4b55 ldr r3, [pc, #340] ; (8024a44 ) 80248ee: 4413 add r3, r2 80248f0: 4a59 ldr r2, [pc, #356] ; (8024a58 ) 80248f2: 8811 ldrh r1, [r2, #0] 80248f4: 7892 ldrb r2, [r2, #2] 80248f6: 8019 strh r1, [r3, #0] 80248f8: 709a strb r2, [r3, #2] l = strlen((void *) sector); 80248fa: 4852 ldr r0, [pc, #328] ; (8024a44 ) 80248fc: f7fb fd0a bl 8020314 8024900: 63f8 str r0, [r7, #60] ; 0x3c res = f_write(&F, (void *) sector, (UINT) l, &fk); 8024902: f107 0334 add.w r3, r7, #52 ; 0x34 8024906: 6bfa ldr r2, [r7, #60] ; 0x3c 8024908: 494e ldr r1, [pc, #312] ; (8024a44 ) 802490a: 4854 ldr r0, [pc, #336] ; (8024a5c ) 802490c: f0a6 fe28 bl 80cb560 8024910: 4603 mov r3, r0 8024912: f887 3043 strb.w r3, [r7, #67] ; 0x43 if(res != FR_OK) 8024916: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 802491a: 2b00 cmp r3, #0 802491c: d004 beq.n 8024928 { f_close(&F); 802491e: 484f ldr r0, [pc, #316] ; (8024a5c ) 8024920: f0a7 f8c2 bl 80cbaa8 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024924: 2301 movs r3, #1 8024926: e089 b.n 8024a3c for(i = 0; i < 14; i++) 8024928: 6c7b ldr r3, [r7, #68] ; 0x44 802492a: 3301 adds r3, #1 802492c: 647b str r3, [r7, #68] ; 0x44 802492e: 6c7b ldr r3, [r7, #68] ; 0x44 8024930: 2b0d cmp r3, #13 8024932: d996 bls.n 8024862 8024934: e070 b.n 8024a18 } } } else if(pardata.SYG == SPEC_THIRD) 8024936: 4b44 ldr r3, [pc, #272] ; (8024a48 ) 8024938: 781b ldrb r3, [r3, #0] 802493a: b2db uxtb r3, r3 802493c: 2b07 cmp r3, #7 802493e: d16b bne.n 8024a18 { for(i = 0; i < 39; i++) 8024940: 2300 movs r3, #0 8024942: 647b str r3, [r7, #68] ; 0x44 8024944: e065 b.n 8024a12 { memset((void *) sector, 0 , sizeof(sector)); 8024946: f44f 7200 mov.w r2, #512 ; 0x200 802494a: 2100 movs r1, #0 802494c: 483d ldr r0, [pc, #244] ; (8024a44 ) 802494e: f0ad fb29 bl 80d1fa4 fs = THIRD[i]; 8024952: 4a45 ldr r2, [pc, #276] ; (8024a68 ) 8024954: 6c7b ldr r3, [r7, #68] ; 0x44 8024956: 009b lsls r3, r3, #2 8024958: 4413 add r3, r2 802495a: 681b ldr r3, [r3, #0] 802495c: 63bb str r3, [r7, #56] ; 0x38 strcpy((void *) sector, (char *) FloatToASCII(fs, -6)); 802495e: f06f 0005 mvn.w r0, #5 8024962: ed97 0a0e vldr s0, [r7, #56] ; 0x38 8024966: f043 fc1b bl 80681a0 802496a: 4603 mov r3, r0 802496c: 4619 mov r1, r3 802496e: 4835 ldr r0, [pc, #212] ; (8024a44 ) 8024970: f0ad fc35 bl 80d21de strcat((void *) sector, ";"); 8024974: 4833 ldr r0, [pc, #204] ; (8024a44 ) 8024976: f7fb fccd bl 8020314 802497a: 4603 mov r3, r0 802497c: 461a mov r2, r3 802497e: 4b31 ldr r3, [pc, #196] ; (8024a44 ) 8024980: 4413 add r3, r2 8024982: 4933 ldr r1, [pc, #204] ; (8024a50 ) 8024984: 461a mov r2, r3 8024986: 460b mov r3, r1 8024988: 881b ldrh r3, [r3, #0] 802498a: 8013 strh r3, [r2, #0] strcat((void *) sector, (char *) FloatToASCII(ScrA_f32(i), -6)); 802498c: 6c7b ldr r3, [r7, #68] ; 0x44 802498e: 009a lsls r2, r3, #2 8024990: 4b30 ldr r3, [pc, #192] ; (8024a54 ) 8024992: 4413 add r3, r2 8024994: edd3 7a00 vldr s15, [r3] 8024998: f06f 0005 mvn.w r0, #5 802499c: eeb0 0a67 vmov.f32 s0, s15 80249a0: f043 fbfe bl 80681a0 80249a4: 4603 mov r3, r0 80249a6: 4619 mov r1, r3 80249a8: 4826 ldr r0, [pc, #152] ; (8024a44 ) 80249aa: f0ad fbfb bl 80d21a4 strcat((void *) sector, ";"); 80249ae: 4825 ldr r0, [pc, #148] ; (8024a44 ) 80249b0: f7fb fcb0 bl 8020314 80249b4: 4603 mov r3, r0 80249b6: 461a mov r2, r3 80249b8: 4b22 ldr r3, [pc, #136] ; (8024a44 ) 80249ba: 4413 add r3, r2 80249bc: 4924 ldr r1, [pc, #144] ; (8024a50 ) 80249be: 461a mov r2, r3 80249c0: 460b mov r3, r1 80249c2: 881b ldrh r3, [r3, #0] 80249c4: 8013 strh r3, [r2, #0] strcat((void *) sector, "\r\n"); 80249c6: 481f ldr r0, [pc, #124] ; (8024a44 ) 80249c8: f7fb fca4 bl 8020314 80249cc: 4603 mov r3, r0 80249ce: 461a mov r2, r3 80249d0: 4b1c ldr r3, [pc, #112] ; (8024a44 ) 80249d2: 4413 add r3, r2 80249d4: 4a20 ldr r2, [pc, #128] ; (8024a58 ) 80249d6: 8811 ldrh r1, [r2, #0] 80249d8: 7892 ldrb r2, [r2, #2] 80249da: 8019 strh r1, [r3, #0] 80249dc: 709a strb r2, [r3, #2] l = strlen((void *) sector); 80249de: 4819 ldr r0, [pc, #100] ; (8024a44 ) 80249e0: f7fb fc98 bl 8020314 80249e4: 63f8 str r0, [r7, #60] ; 0x3c res = f_write(&F, (void *) sector, (UINT) l, &fk); 80249e6: f107 0334 add.w r3, r7, #52 ; 0x34 80249ea: 6bfa ldr r2, [r7, #60] ; 0x3c 80249ec: 4915 ldr r1, [pc, #84] ; (8024a44 ) 80249ee: 481b ldr r0, [pc, #108] ; (8024a5c ) 80249f0: f0a6 fdb6 bl 80cb560 80249f4: 4603 mov r3, r0 80249f6: f887 3043 strb.w r3, [r7, #67] ; 0x43 if(res != FR_OK) 80249fa: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 80249fe: 2b00 cmp r3, #0 8024a00: d004 beq.n 8024a0c { f_close(&F); 8024a02: 4816 ldr r0, [pc, #88] ; (8024a5c ) 8024a04: f0a7 f850 bl 80cbaa8 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024a08: 2301 movs r3, #1 8024a0a: e017 b.n 8024a3c for(i = 0; i < 39; i++) 8024a0c: 6c7b ldr r3, [r7, #68] ; 0x44 8024a0e: 3301 adds r3, #1 8024a10: 647b str r3, [r7, #68] ; 0x44 8024a12: 6c7b ldr r3, [r7, #68] ; 0x44 8024a14: 2b26 cmp r3, #38 ; 0x26 8024a16: d996 bls.n 8024946 } } } res = FR_OK; 8024a18: 2300 movs r3, #0 8024a1a: f887 3043 strb.w r3, [r7, #67] ; 0x43 f_close(&F); 8024a1e: 480f ldr r0, [pc, #60] ; (8024a5c ) 8024a20: f0a7 f842 bl 80cbaa8 if(res == FR_OK) 8024a24: e008 b.n 8024a38 } else { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024a26: 2301 movs r3, #1 8024a28: e008 b.n 8024a3c } } else { f_close(&F); 8024a2a: 480c ldr r0, [pc, #48] ; (8024a5c ) 8024a2c: f0a7 f83c bl 80cbaa8 //f_mount(&fs, SDPath, 0); return FR_EXIST; 8024a30: 2308 movs r3, #8 8024a32: e003 b.n 8024a3c } } } else { return FR_DISK_ERR; 8024a34: 2301 movs r3, #1 8024a36: e001 b.n 8024a3c } //f_mount(&fs, SDPath, 0); return res; 8024a38: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 } 8024a3c: 4618 mov r0, r3 8024a3e: 3748 adds r7, #72 ; 0x48 8024a40: 46bd mov sp, r7 8024a42: bdb0 pop {r4, r5, r7, pc} 8024a44: 2007c000 .word 0x2007c000 8024a48: 20023eb8 .word 0x20023eb8 8024a4c: 080d782c .word 0x080d782c 8024a50: 080d4ee4 .word 0x080d4ee4 8024a54: 64080000 .word 0x64080000 8024a58: 080d4ed8 .word 0x080d4ed8 8024a5c: 20022e78 .word 0x20022e78 8024a60: 20021d2c .word 0x20021d2c 8024a64: 080d78cc .word 0x080d78cc 8024a68: 080d7908 .word 0x080d7908 08024a6c : FRESULT CreateFileFRN(char *fname) { 8024a6c: b590 push {r4, r7, lr} 8024a6e: b091 sub sp, #68 ; 0x44 8024a70: af00 add r7, sp, #0 8024a72: 6078 str r0, [r7, #4] UINT fk; uint32_t l; char fn[40]; FRESULT res = FR_OK; 8024a74: 2300 movs r3, #0 8024a76: f887 303f strb.w r3, [r7, #63] ; 0x3f //TimeDate_TypeDef TD; if(CardState != MSD_READY) { 8024a7a: 4bc9 ldr r3, [pc, #804] ; (8024da0 ) 8024a7c: 781b ldrb r3, [r3, #0] 8024a7e: b2db uxtb r3, r3 8024a80: 2b03 cmp r3, #3 8024a82: d001 beq.n 8024a88 return FR_NOT_READY; 8024a84: 2303 movs r3, #3 8024a86: e1c0 b.n 8024e0a } strcpy(fn ,fname); 8024a88: f107 030c add.w r3, r7, #12 8024a8c: 6879 ldr r1, [r7, #4] 8024a8e: 4618 mov r0, r3 8024a90: f0ad fba5 bl 80d21de l = strlen(fn); 8024a94: f107 030c add.w r3, r7, #12 8024a98: 4618 mov r0, r3 8024a9a: f7fb fc3b bl 8020314 8024a9e: 63b8 str r0, [r7, #56] ; 0x38 if(fn[l - 4] == '.') 8024aa0: 6bbb ldr r3, [r7, #56] ; 0x38 8024aa2: 3b04 subs r3, #4 8024aa4: f107 0240 add.w r2, r7, #64 ; 0x40 8024aa8: 4413 add r3, r2 8024aaa: f813 3c34 ldrb.w r3, [r3, #-52] 8024aae: 2b2e cmp r3, #46 ; 0x2e 8024ab0: d169 bne.n 8024b86 { if((fn[l - 3] != 'F') && (fn[l - 3] != 'f')) fn[l - 3] = 'F'; 8024ab2: 6bbb ldr r3, [r7, #56] ; 0x38 8024ab4: 3b03 subs r3, #3 8024ab6: f107 0240 add.w r2, r7, #64 ; 0x40 8024aba: 4413 add r3, r2 8024abc: f813 3c34 ldrb.w r3, [r3, #-52] 8024ac0: 2b46 cmp r3, #70 ; 0x46 8024ac2: d011 beq.n 8024ae8 8024ac4: 6bbb ldr r3, [r7, #56] ; 0x38 8024ac6: 3b03 subs r3, #3 8024ac8: f107 0240 add.w r2, r7, #64 ; 0x40 8024acc: 4413 add r3, r2 8024ace: f813 3c34 ldrb.w r3, [r3, #-52] 8024ad2: 2b66 cmp r3, #102 ; 0x66 8024ad4: d008 beq.n 8024ae8 8024ad6: 6bbb ldr r3, [r7, #56] ; 0x38 8024ad8: 3b03 subs r3, #3 8024ada: f107 0240 add.w r2, r7, #64 ; 0x40 8024ade: 4413 add r3, r2 8024ae0: 2246 movs r2, #70 ; 0x46 8024ae2: f803 2c34 strb.w r2, [r3, #-52] 8024ae6: e007 b.n 8024af8 else fn[l - 3] = 'F'; 8024ae8: 6bbb ldr r3, [r7, #56] ; 0x38 8024aea: 3b03 subs r3, #3 8024aec: f107 0240 add.w r2, r7, #64 ; 0x40 8024af0: 4413 add r3, r2 8024af2: 2246 movs r2, #70 ; 0x46 8024af4: f803 2c34 strb.w r2, [r3, #-52] if((fn[l - 2] != 'R') && (fn[l - 3] != 'r')) fn[l - 3] = 'R'; 8024af8: 6bbb ldr r3, [r7, #56] ; 0x38 8024afa: 3b02 subs r3, #2 8024afc: f107 0240 add.w r2, r7, #64 ; 0x40 8024b00: 4413 add r3, r2 8024b02: f813 3c34 ldrb.w r3, [r3, #-52] 8024b06: 2b52 cmp r3, #82 ; 0x52 8024b08: d011 beq.n 8024b2e 8024b0a: 6bbb ldr r3, [r7, #56] ; 0x38 8024b0c: 3b03 subs r3, #3 8024b0e: f107 0240 add.w r2, r7, #64 ; 0x40 8024b12: 4413 add r3, r2 8024b14: f813 3c34 ldrb.w r3, [r3, #-52] 8024b18: 2b72 cmp r3, #114 ; 0x72 8024b1a: d008 beq.n 8024b2e 8024b1c: 6bbb ldr r3, [r7, #56] ; 0x38 8024b1e: 3b03 subs r3, #3 8024b20: f107 0240 add.w r2, r7, #64 ; 0x40 8024b24: 4413 add r3, r2 8024b26: 2252 movs r2, #82 ; 0x52 8024b28: f803 2c34 strb.w r2, [r3, #-52] 8024b2c: e007 b.n 8024b3e else fn[l - 3] = 'R'; 8024b2e: 6bbb ldr r3, [r7, #56] ; 0x38 8024b30: 3b03 subs r3, #3 8024b32: f107 0240 add.w r2, r7, #64 ; 0x40 8024b36: 4413 add r3, r2 8024b38: 2252 movs r2, #82 ; 0x52 8024b3a: f803 2c34 strb.w r2, [r3, #-52] if((fn[l - 1] != 'N') && (fn[l - 3] != 'n')) fn[l - 3] = 'N'; 8024b3e: 6bbb ldr r3, [r7, #56] ; 0x38 8024b40: 3b01 subs r3, #1 8024b42: f107 0240 add.w r2, r7, #64 ; 0x40 8024b46: 4413 add r3, r2 8024b48: f813 3c34 ldrb.w r3, [r3, #-52] 8024b4c: 2b4e cmp r3, #78 ; 0x4e 8024b4e: d011 beq.n 8024b74 8024b50: 6bbb ldr r3, [r7, #56] ; 0x38 8024b52: 3b03 subs r3, #3 8024b54: f107 0240 add.w r2, r7, #64 ; 0x40 8024b58: 4413 add r3, r2 8024b5a: f813 3c34 ldrb.w r3, [r3, #-52] 8024b5e: 2b6e cmp r3, #110 ; 0x6e 8024b60: d008 beq.n 8024b74 8024b62: 6bbb ldr r3, [r7, #56] ; 0x38 8024b64: 3b03 subs r3, #3 8024b66: f107 0240 add.w r2, r7, #64 ; 0x40 8024b6a: 4413 add r3, r2 8024b6c: 224e movs r2, #78 ; 0x4e 8024b6e: f803 2c34 strb.w r2, [r3, #-52] 8024b72: e027 b.n 8024bc4 else fn[l - 3] = 'N'; 8024b74: 6bbb ldr r3, [r7, #56] ; 0x38 8024b76: 3b03 subs r3, #3 8024b78: f107 0240 add.w r2, r7, #64 ; 0x40 8024b7c: 4413 add r3, r2 8024b7e: 224e movs r2, #78 ; 0x4e 8024b80: f803 2c34 strb.w r2, [r3, #-52] 8024b84: e01e b.n 8024bc4 } else { if(l <= 36) 8024b86: 6bbb ldr r3, [r7, #56] ; 0x38 8024b88: 2b24 cmp r3, #36 ; 0x24 8024b8a: d80f bhi.n 8024bac strcat(fn, ".FRN"); 8024b8c: f107 030c add.w r3, r7, #12 8024b90: 4618 mov r0, r3 8024b92: f7fb fbbf bl 8020314 8024b96: 4603 mov r3, r0 8024b98: 461a mov r2, r3 8024b9a: f107 030c add.w r3, r7, #12 8024b9e: 4413 add r3, r2 8024ba0: 4a80 ldr r2, [pc, #512] ; (8024da4 ) 8024ba2: 6810 ldr r0, [r2, #0] 8024ba4: 6018 str r0, [r3, #0] 8024ba6: 7912 ldrb r2, [r2, #4] 8024ba8: 711a strb r2, [r3, #4] 8024baa: e00b b.n 8024bc4 else { fn[36] = '.'; 8024bac: 232e movs r3, #46 ; 0x2e 8024bae: f887 3030 strb.w r3, [r7, #48] ; 0x30 fn[37] = 'F'; 8024bb2: 2346 movs r3, #70 ; 0x46 8024bb4: f887 3031 strb.w r3, [r7, #49] ; 0x31 fn[38] = 'R'; 8024bb8: 2352 movs r3, #82 ; 0x52 8024bba: f887 3032 strb.w r3, [r7, #50] ; 0x32 fn[39] = 'N'; 8024bbe: 234e movs r3, #78 ; 0x4e 8024bc0: f887 3033 strb.w r3, [r7, #51] ; 0x33 } } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 8024bc4: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8024bc8: 2b00 cmp r3, #0 8024bca: f040 811a bne.w 8024e02 { memset(PointPath, 0, sizeof(PointPath)); 8024bce: f44f 7200 mov.w r2, #512 ; 0x200 8024bd2: 2100 movs r1, #0 8024bd4: 4874 ldr r0, [pc, #464] ; (8024da8 ) 8024bd6: f0ad f9e5 bl 80d1fa4 strcpy(PointPath, "0:Data files"); 8024bda: 4a73 ldr r2, [pc, #460] ; (8024da8 ) 8024bdc: 4b73 ldr r3, [pc, #460] ; (8024dac ) 8024bde: 4614 mov r4, r2 8024be0: cb07 ldmia r3!, {r0, r1, r2} 8024be2: 6020 str r0, [r4, #0] 8024be4: 6061 str r1, [r4, #4] 8024be6: 60a2 str r2, [r4, #8] 8024be8: 781b ldrb r3, [r3, #0] 8024bea: 7323 strb r3, [r4, #12] res = f_opendir(&dir, PointPath); 8024bec: 496e ldr r1, [pc, #440] ; (8024da8 ) 8024bee: 4870 ldr r0, [pc, #448] ; (8024db0 ) 8024bf0: f0a7 fa03 bl 80cbffa 8024bf4: 4603 mov r3, r0 8024bf6: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res != FR_OK) { 8024bfa: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8024bfe: 2b00 cmp r3, #0 8024c00: d005 beq.n 8024c0e res = f_mkdir(PointPath); 8024c02: 4869 ldr r0, [pc, #420] ; (8024da8 ) 8024c04: f0a7 fcb4 bl 80cc570 8024c08: 4603 mov r3, r0 8024c0a: f887 303f strb.w r3, [r7, #63] ; 0x3f } if(res == FR_OK) 8024c0e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8024c12: 2b00 cmp r3, #0 8024c14: f040 80f7 bne.w 8024e06 { strcat(PointPath, "/"); 8024c18: 4863 ldr r0, [pc, #396] ; (8024da8 ) 8024c1a: f7fb fb7b bl 8020314 8024c1e: 4603 mov r3, r0 8024c20: 461a mov r2, r3 8024c22: 4b61 ldr r3, [pc, #388] ; (8024da8 ) 8024c24: 4413 add r3, r2 8024c26: 4963 ldr r1, [pc, #396] ; (8024db4 ) 8024c28: 461a mov r2, r3 8024c2a: 460b mov r3, r1 8024c2c: 881b ldrh r3, [r3, #0] 8024c2e: 8013 strh r3, [r2, #0] strcat(PointPath, fname); 8024c30: 6879 ldr r1, [r7, #4] 8024c32: 485d ldr r0, [pc, #372] ; (8024da8 ) 8024c34: f0ad fab6 bl 80d21a4 res = f_open(&F, PointPath, FA_READ); 8024c38: 2201 movs r2, #1 8024c3a: 495b ldr r1, [pc, #364] ; (8024da8 ) 8024c3c: 485e ldr r0, [pc, #376] ; (8024db8 ) 8024c3e: f0a6 f8ef bl 80cae20 8024c42: 4603 mov r3, r0 8024c44: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8024c48: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8024c4c: 2b04 cmp r3, #4 8024c4e: d004 beq.n 8024c5a 8024c50: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8024c54: 2b05 cmp r3, #5 8024c56: f040 80cf bne.w 8024df8 { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8024c5a: 221b movs r2, #27 8024c5c: 4952 ldr r1, [pc, #328] ; (8024da8 ) 8024c5e: 4856 ldr r0, [pc, #344] ; (8024db8 ) 8024c60: f0a6 f8de bl 80cae20 8024c64: 4603 mov r3, r0 8024c66: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8024c6a: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8024c6e: 2b00 cmp r3, #0 8024c70: f040 80c0 bne.w 8024df4 { f_sync(&F); 8024c74: 4850 ldr r0, [pc, #320] ; (8024db8 ) 8024c76: f0a6 fe13 bl 80cb8a0 memset(sector, 0, sizeof(sector)); 8024c7a: f44f 7200 mov.w r2, #512 ; 0x200 8024c7e: 2100 movs r1, #0 8024c80: 484e ldr r0, [pc, #312] ; (8024dbc ) 8024c82: f0ad f98f bl 80d1fa4 memcpy(sector, (uint8_t *) &pardata, sizeof(pardata)); //pardata length is 148 bytes 8024c86: 4a4d ldr r2, [pc, #308] ; (8024dbc ) 8024c88: 4b4d ldr r3, [pc, #308] ; (8024dc0 ) 8024c8a: 4610 mov r0, r2 8024c8c: 4619 mov r1, r3 8024c8e: f44f 6396 mov.w r3, #1200 ; 0x4b0 8024c92: 461a mov r2, r3 8024c94: f0ad f97b bl 80d1f8e res = f_write(&F, sector, 512, &fk); 8024c98: f107 0334 add.w r3, r7, #52 ; 0x34 8024c9c: f44f 7200 mov.w r2, #512 ; 0x200 8024ca0: 4946 ldr r1, [pc, #280] ; (8024dbc ) 8024ca2: 4845 ldr r0, [pc, #276] ; (8024db8 ) 8024ca4: f0a6 fc5c bl 80cb560 8024ca8: 4603 mov r3, r0 8024caa: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8024cae: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8024cb2: 2b00 cmp r3, #0 8024cb4: f040 8099 bne.w 8024dea { arm_fill_f32(0.0f, (float32_t *) SD_Buff, 8192); 8024cb8: f44f 5100 mov.w r1, #8192 ; 0x2000 8024cbc: 4841 ldr r0, [pc, #260] ; (8024dc4 ) 8024cbe: ed9f 0a42 vldr s0, [pc, #264] ; 8024dc8 8024cc2: f0a9 ffcb bl 80cec5c arm_copy_f32(pA_Buff_f32, (float32_t *) SD_Buff, Ns); 8024cc6: 4b41 ldr r3, [pc, #260] ; (8024dcc ) 8024cc8: 681b ldr r3, [r3, #0] 8024cca: 461a mov r2, r3 8024ccc: 493d ldr r1, [pc, #244] ; (8024dc4 ) 8024cce: 4840 ldr r0, [pc, #256] ; (8024dd0 ) 8024cd0: f0a9 ffe2 bl 80cec98 l = Ns; 8024cd4: 4b3d ldr r3, [pc, #244] ; (8024dcc ) 8024cd6: 681b ldr r3, [r3, #0] 8024cd8: 63bb str r3, [r7, #56] ; 0x38 l <<= 2; 8024cda: 6bbb ldr r3, [r7, #56] ; 0x38 8024cdc: 009b lsls r3, r3, #2 8024cde: 63bb str r3, [r7, #56] ; 0x38 res = f_write(&F, (void *) &SD_Buff[0].fl, (UINT) l, &fk); 8024ce0: f107 0334 add.w r3, r7, #52 ; 0x34 8024ce4: 6bba ldr r2, [r7, #56] ; 0x38 8024ce6: 4937 ldr r1, [pc, #220] ; (8024dc4 ) 8024ce8: 4833 ldr r0, [pc, #204] ; (8024db8 ) 8024cea: f0a6 fc39 bl 80cb560 8024cee: 4603 mov r3, r0 8024cf0: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8024cf4: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8024cf8: 2b00 cmp r3, #0 8024cfa: d171 bne.n 8024de0 { arm_copy_f32(pV_Buff_f32, (float32_t *) SD_Buff, Ns); 8024cfc: 4b33 ldr r3, [pc, #204] ; (8024dcc ) 8024cfe: 681b ldr r3, [r3, #0] 8024d00: 461a mov r2, r3 8024d02: 4930 ldr r1, [pc, #192] ; (8024dc4 ) 8024d04: 4833 ldr r0, [pc, #204] ; (8024dd4 ) 8024d06: f0a9 ffc7 bl 80cec98 res = f_write(&F, (void *) &SD_Buff[0].fl, (UINT) l, &fk); 8024d0a: f107 0334 add.w r3, r7, #52 ; 0x34 8024d0e: 6bba ldr r2, [r7, #56] ; 0x38 8024d10: 492c ldr r1, [pc, #176] ; (8024dc4 ) 8024d12: 4829 ldr r0, [pc, #164] ; (8024db8 ) 8024d14: f0a6 fc24 bl 80cb560 8024d18: 4603 mov r3, r0 8024d1a: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8024d1e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8024d22: 2b00 cmp r3, #0 8024d24: d136 bne.n 8024d94 { arm_copy_f32(pS_Buff_f32, (float32_t *) SD_Buff, Ns); 8024d26: 4b29 ldr r3, [pc, #164] ; (8024dcc ) 8024d28: 681b ldr r3, [r3, #0] 8024d2a: 461a mov r2, r3 8024d2c: 4925 ldr r1, [pc, #148] ; (8024dc4 ) 8024d2e: 482a ldr r0, [pc, #168] ; (8024dd8 ) 8024d30: f0a9 ffb2 bl 80cec98 res = f_write(&F, (void *) &SD_Buff[0].fl, (UINT) l, &fk); 8024d34: f107 0334 add.w r3, r7, #52 ; 0x34 8024d38: 6bba ldr r2, [r7, #56] ; 0x38 8024d3a: 4922 ldr r1, [pc, #136] ; (8024dc4 ) 8024d3c: 481e ldr r0, [pc, #120] ; (8024db8 ) 8024d3e: f0a6 fc0f bl 80cb560 8024d42: 4603 mov r3, r0 8024d44: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8024d48: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8024d4c: 2b00 cmp r3, #0 8024d4e: d11c bne.n 8024d8a { arm_copy_f32(skz, (float32_t *) SD_Buff, 3); 8024d50: 2203 movs r2, #3 8024d52: 491c ldr r1, [pc, #112] ; (8024dc4 ) 8024d54: 4821 ldr r0, [pc, #132] ; (8024ddc ) 8024d56: f0a9 ff9f bl 80cec98 res = f_write(&F, (void *) &SD_Buff[0].fl, 12, &fk); 8024d5a: f107 0334 add.w r3, r7, #52 ; 0x34 8024d5e: 220c movs r2, #12 8024d60: 4918 ldr r1, [pc, #96] ; (8024dc4 ) 8024d62: 4815 ldr r0, [pc, #84] ; (8024db8 ) 8024d64: f0a6 fbfc bl 80cb560 8024d68: 4603 mov r3, r0 8024d6a: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8024d6e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8024d72: 2b00 cmp r3, #0 8024d74: d104 bne.n 8024d80 { f_close(&F); 8024d76: 4810 ldr r0, [pc, #64] ; (8024db8 ) 8024d78: f0a6 fe96 bl 80cbaa8 //f_mount(&fs, SDPath, 0); return FR_OK; 8024d7c: 2300 movs r3, #0 8024d7e: e044 b.n 8024e0a } else { f_close(&F); 8024d80: 480d ldr r0, [pc, #52] ; (8024db8 ) 8024d82: f0a6 fe91 bl 80cbaa8 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024d86: 2301 movs r3, #1 8024d88: e03f b.n 8024e0a } } else { f_close(&F); 8024d8a: 480b ldr r0, [pc, #44] ; (8024db8 ) 8024d8c: f0a6 fe8c bl 80cbaa8 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024d90: 2301 movs r3, #1 8024d92: e03a b.n 8024e0a } } else { f_close(&F); 8024d94: 4808 ldr r0, [pc, #32] ; (8024db8 ) 8024d96: f0a6 fe87 bl 80cbaa8 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024d9a: 2301 movs r3, #1 8024d9c: e035 b.n 8024e0a 8024d9e: bf00 nop 8024da0: 2002169c .word 0x2002169c 8024da4: 080d4ee8 .word 0x080d4ee8 8024da8: 20022a0c .word 0x20022a0c 8024dac: 080d4ef0 .word 0x080d4ef0 8024db0: 20022970 .word 0x20022970 8024db4: 080d4e9c .word 0x080d4e9c 8024db8: 20022e78 .word 0x20022e78 8024dbc: 2007c000 .word 0x2007c000 8024dc0: 20023eb8 .word 0x20023eb8 8024dc4: 20000000 .word 0x20000000 8024dc8: 00000000 .word 0x00000000 8024dcc: 20021d2c .word 0x20021d2c 8024dd0: 64090000 .word 0x64090000 8024dd4: 64094000 .word 0x64094000 8024dd8: 64098000 .word 0x64098000 8024ddc: 20021590 .word 0x20021590 } } else { f_close(&F); 8024de0: 480c ldr r0, [pc, #48] ; (8024e14 ) 8024de2: f0a6 fe61 bl 80cbaa8 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024de6: 2301 movs r3, #1 8024de8: e00f b.n 8024e0a } } else { f_close(&F); 8024dea: 480a ldr r0, [pc, #40] ; (8024e14 ) 8024dec: f0a6 fe5c bl 80cbaa8 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024df0: 2301 movs r3, #1 8024df2: e00a b.n 8024e0a } } else { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024df4: 2301 movs r3, #1 8024df6: e008 b.n 8024e0a } } else { f_close(&F); 8024df8: 4806 ldr r0, [pc, #24] ; (8024e14 ) 8024dfa: f0a6 fe55 bl 80cbaa8 //f_mount(&fs, SDPath, 0); return FR_EXIST; 8024dfe: 2308 movs r3, #8 8024e00: e003 b.n 8024e0a } } } else { return FR_DISK_ERR; 8024e02: 2301 movs r3, #1 8024e04: e001 b.n 8024e0a } //f_mount(&fs, SDPath, 0); return res; 8024e06: f897 303f ldrb.w r3, [r7, #63] ; 0x3f } 8024e0a: 4618 mov r0, r3 8024e0c: 3744 adds r7, #68 ; 0x44 8024e0e: 46bd mov sp, r7 8024e10: bd90 pop {r4, r7, pc} 8024e12: bf00 nop 8024e14: 20022e78 .word 0x20022e78 08024e18 : FRESULT GetPointAndIndexDGN(char *fname) //TODO { 8024e18: b5f0 push {r4, r5, r6, r7, lr} 8024e1a: b08b sub sp, #44 ; 0x2c 8024e1c: af00 add r7, sp, #0 8024e1e: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8024e20: 2300 movs r3, #0 8024e22: f887 3027 strb.w r3, [r7, #39] ; 0x27 uint32_t im, i; uint16_t IM = 0, IP = 0, ii; 8024e26: 2300 movs r3, #0 8024e28: 81fb strh r3, [r7, #14] 8024e2a: 2300 movs r3, #0 8024e2c: 837b strh r3, [r7, #26] UINT fk; FSIZE_t ifs; memset(Comment, 0, sizeof(Comment)); 8024e2e: 2228 movs r2, #40 ; 0x28 8024e30: 2100 movs r1, #0 8024e32: 48a3 ldr r0, [pc, #652] ; (80250c0 ) 8024e34: f0ad f8b6 bl 80d1fa4 NextIndexPoint = 0; 8024e38: 4ba2 ldr r3, [pc, #648] ; (80250c4 ) 8024e3a: 2200 movs r2, #0 8024e3c: 601a str r2, [r3, #0] NextIndexMeas = 1; 8024e3e: 4ba2 ldr r3, [pc, #648] ; (80250c8 ) 8024e40: 2201 movs r2, #1 8024e42: 601a str r2, [r3, #0] MaxIndexMeas = 1; 8024e44: 4ba1 ldr r3, [pc, #644] ; (80250cc ) 8024e46: 2201 movs r2, #1 8024e48: 601a str r2, [r3, #0] for(i = 0; i < NUM_POINTS; i++) { 8024e4a: 2300 movs r3, #0 8024e4c: 61fb str r3, [r7, #28] 8024e4e: e007 b.n 8024e60 IndexMeas[i] = 1; 8024e50: 4a9f ldr r2, [pc, #636] ; (80250d0 ) 8024e52: 69fb ldr r3, [r7, #28] 8024e54: 2101 movs r1, #1 8024e56: f842 1023 str.w r1, [r2, r3, lsl #2] for(i = 0; i < NUM_POINTS; i++) { 8024e5a: 69fb ldr r3, [r7, #28] 8024e5c: 3301 adds r3, #1 8024e5e: 61fb str r3, [r7, #28] 8024e60: 69fb ldr r3, [r7, #28] 8024e62: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8024e66: d3f3 bcc.n 8024e50 } if(CardState != MSD_READY) { 8024e68: 4b9a ldr r3, [pc, #616] ; (80250d4 ) 8024e6a: 781b ldrb r3, [r3, #0] 8024e6c: b2db uxtb r3, r3 8024e6e: 2b03 cmp r3, #3 8024e70: d001 beq.n 8024e76 return FR_NOT_READY; 8024e72: 2303 movs r3, #3 8024e74: e34e b.n 8025514 } if(fname[0] == '\0') { 8024e76: 687b ldr r3, [r7, #4] 8024e78: 781b ldrb r3, [r3, #0] 8024e7a: 2b00 cmp r3, #0 8024e7c: d101 bne.n 8024e82 return FR_NO_FILE; 8024e7e: 2304 movs r3, #4 8024e80: e348 b.n 8025514 } if(res == FR_OK) 8024e82: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8024e86: 2b00 cmp r3, #0 8024e88: f040 833c bne.w 8025504 { memset(FileName, 0, sizeof(FileName)); 8024e8c: 2228 movs r2, #40 ; 0x28 8024e8e: 2100 movs r1, #0 8024e90: 4891 ldr r0, [pc, #580] ; (80250d8 ) 8024e92: f0ad f887 bl 80d1fa4 strcpy(FileName, fname); 8024e96: 6879 ldr r1, [r7, #4] 8024e98: 488f ldr r0, [pc, #572] ; (80250d8 ) 8024e9a: f0ad f9a0 bl 80d21de memset(PointPath, 0, sizeof(PointPath)); 8024e9e: f44f 7200 mov.w r2, #512 ; 0x200 8024ea2: 2100 movs r1, #0 8024ea4: 488d ldr r0, [pc, #564] ; (80250dc ) 8024ea6: f0ad f87d bl 80d1fa4 memset(SearchPath, 0, sizeof(SearchPath)); 8024eaa: f44f 7200 mov.w r2, #512 ; 0x200 8024eae: 2100 movs r1, #0 8024eb0: 488b ldr r0, [pc, #556] ; (80250e0 ) 8024eb2: f0ad f877 bl 80d1fa4 SearchPath[0] = '0'; 8024eb6: 4b8a ldr r3, [pc, #552] ; (80250e0 ) 8024eb8: 2230 movs r2, #48 ; 0x30 8024eba: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8024ebc: 4b88 ldr r3, [pc, #544] ; (80250e0 ) 8024ebe: 223a movs r2, #58 ; 0x3a 8024ec0: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8024ec2: 4b88 ldr r3, [pc, #544] ; (80250e4 ) 8024ec4: 220b movs r2, #11 8024ec6: 701a strb r2, [r3, #0] FlagReturn = false; 8024ec8: 4b87 ldr r3, [pc, #540] ; (80250e8 ) 8024eca: 2200 movs r2, #0 8024ecc: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8024ece: 2100 movs r1, #0 8024ed0: 4883 ldr r0, [pc, #524] ; (80250e0 ) 8024ed2: f005 fd85 bl 802a9e0 if(PointPath[0] == 0) 8024ed6: 4b81 ldr r3, [pc, #516] ; (80250dc ) 8024ed8: 781b ldrb r3, [r3, #0] 8024eda: 2b00 cmp r3, #0 8024edc: d103 bne.n 8024ee6 { res = FR_NO_FILE; 8024ede: 2304 movs r3, #4 8024ee0: f887 3027 strb.w r3, [r7, #39] ; 0x27 8024ee4: e314 b.n 8025510 } else { res = f_open(&F, PointPath, FA_READ); 8024ee6: 2201 movs r2, #1 8024ee8: 497c ldr r1, [pc, #496] ; (80250dc ) 8024eea: 4880 ldr r0, [pc, #512] ; (80250ec ) 8024eec: f0a5 ff98 bl 80cae20 8024ef0: 4603 mov r3, r0 8024ef2: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 8024ef6: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8024efa: 2b00 cmp r3, #0 8024efc: f040 8308 bne.w 8025510 { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 8024f00: f04f 0200 mov.w r2, #0 8024f04: f04f 0300 mov.w r3, #0 8024f08: 4878 ldr r0, [pc, #480] ; (80250ec ) 8024f0a: f0a6 fded bl 80cbae8 8024f0e: 4603 mov r3, r0 8024f10: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 8024f14: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8024f18: 2b00 cmp r3, #0 8024f1a: d127 bne.n 8024f6c { res = f_read(&F, sector, 6, &fk); 8024f1c: f107 0308 add.w r3, r7, #8 8024f20: 2206 movs r2, #6 8024f22: 4973 ldr r1, [pc, #460] ; (80250f0 ) 8024f24: 4871 ldr r0, [pc, #452] ; (80250ec ) 8024f26: f0a6 f9d8 bl 80cb2da 8024f2a: 4603 mov r3, r0 8024f2c: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == 6)) 8024f30: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8024f34: 2b00 cmp r3, #0 8024f36: d114 bne.n 8024f62 8024f38: 68bb ldr r3, [r7, #8] 8024f3a: 2b06 cmp r3, #6 8024f3c: d111 bne.n 8024f62 { sector[6] = '\0'; 8024f3e: 4b6c ldr r3, [pc, #432] ; (80250f0 ) 8024f40: 2200 movs r2, #0 8024f42: 719a strb r2, [r3, #6] if(!strcmp((char *) sector, "Extend")) 8024f44: 496b ldr r1, [pc, #428] ; (80250f4 ) 8024f46: 486a ldr r0, [pc, #424] ; (80250f0 ) 8024f48: f7fb f9da bl 8020300 8024f4c: 4603 mov r3, r0 8024f4e: 2b00 cmp r3, #0 8024f50: d103 bne.n 8024f5a NEWFILE = true; 8024f52: 4b69 ldr r3, [pc, #420] ; (80250f8 ) 8024f54: 2201 movs r2, #1 8024f56: 701a strb r2, [r3, #0] if(!strcmp((char *) sector, "Extend")) 8024f58: e00d b.n 8024f76 else NEWFILE = false; 8024f5a: 4b67 ldr r3, [pc, #412] ; (80250f8 ) 8024f5c: 2200 movs r2, #0 8024f5e: 701a strb r2, [r3, #0] if(!strcmp((char *) sector, "Extend")) 8024f60: e009 b.n 8024f76 } else { f_close(&F); 8024f62: 4862 ldr r0, [pc, #392] ; (80250ec ) 8024f64: f0a6 fda0 bl 80cbaa8 return FR_DISK_ERR; 8024f68: 2301 movs r3, #1 8024f6a: e2d3 b.n 8025514 } } else { f_close(&F); 8024f6c: 485f ldr r0, [pc, #380] ; (80250ec ) 8024f6e: f0a6 fd9b bl 80cbaa8 return FR_DISK_ERR; 8024f72: 2301 movs r3, #1 8024f74: e2ce b.n 8025514 } /////////////////////////////////////////////////////////////////////////////// memset(sector, 0xff, sizeof(sector)); 8024f76: f44f 7200 mov.w r2, #512 ; 0x200 8024f7a: 21ff movs r1, #255 ; 0xff 8024f7c: 485c ldr r0, [pc, #368] ; (80250f0 ) 8024f7e: f0ad f811 bl 80d1fa4 if(NEWFILE) 8024f82: 4b5d ldr r3, [pc, #372] ; (80250f8 ) 8024f84: 781b ldrb r3, [r3, #0] 8024f86: b2db uxtb r3, r3 8024f88: 2b00 cmp r3, #0 8024f8a: f000 818e beq.w 80252aa { if(f_size(&F) > 40096u) 8024f8e: 4b57 ldr r3, [pc, #348] ; (80250ec ) 8024f90: e9d3 3404 ldrd r3, r4, [r3, #16] 8024f94: f649 41a0 movw r1, #40096 ; 0x9ca0 8024f98: f04f 0200 mov.w r2, #0 8024f9c: 42a2 cmp r2, r4 8024f9e: bf08 it eq 8024fa0: 4299 cmpeq r1, r3 8024fa2: f080 8177 bcs.w 8025294 { for(ii = 0; ii < NUM_POINTS; ii++) 8024fa6: 2300 movs r3, #0 8024fa8: 833b strh r3, [r7, #24] 8024faa: e0f9 b.n 80251a0 { ifs = 40096u; 8024fac: f649 43a0 movw r3, #40096 ; 0x9ca0 8024fb0: f04f 0400 mov.w r4, #0 8024fb4: e9c7 3404 strd r3, r4, [r7, #16] im = 0; 8024fb8: 2300 movs r3, #0 8024fba: 623b str r3, [r7, #32] while(ifs < f_size(&F)) 8024fbc: e0e3 b.n 8025186 { res = f_lseek(&F, ifs); 8024fbe: e9d7 2304 ldrd r2, r3, [r7, #16] 8024fc2: 484a ldr r0, [pc, #296] ; (80250ec ) 8024fc4: f0a6 fd90 bl 80cbae8 8024fc8: 4603 mov r3, r0 8024fca: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 8024fce: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8024fd2: 2b00 cmp r3, #0 8024fd4: f040 80b3 bne.w 802513e { res = f_read(&F, sector, 33, &fk); 8024fd8: f107 0308 add.w r3, r7, #8 8024fdc: 2221 movs r2, #33 ; 0x21 8024fde: 4944 ldr r1, [pc, #272] ; (80250f0 ) 8024fe0: 4842 ldr r0, [pc, #264] ; (80250ec ) 8024fe2: f0a6 f97a bl 80cb2da 8024fe6: 4603 mov r3, r0 8024fe8: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == 33)) 8024fec: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8024ff0: 2b00 cmp r3, #0 8024ff2: d161 bne.n 80250b8 8024ff4: 68bb ldr r3, [r7, #8] 8024ff6: 2b21 cmp r3, #33 ; 0x21 8024ff8: d15e bne.n 80250b8 { if((sector[d_13] == 0xD) && (sector[d_10] == 0xA)) 8024ffa: 4b3d ldr r3, [pc, #244] ; (80250f0 ) 8024ffc: 7fdb ldrb r3, [r3, #31] 8024ffe: 2b0d cmp r3, #13 8025000: d12d bne.n 802505e 8025002: 4b3b ldr r3, [pc, #236] ; (80250f0 ) 8025004: f893 3020 ldrb.w r3, [r3, #32] 8025008: 2b0a cmp r3, #10 802500a: d128 bne.n 802505e { IM = sector[d_Meas + 1]; 802500c: 4b38 ldr r3, [pc, #224] ; (80250f0 ) 802500e: 78db ldrb r3, [r3, #3] 8025010: 81fb strh r3, [r7, #14] IM = (IM << 8) | sector[d_Meas]; 8025012: 89fb ldrh r3, [r7, #14] 8025014: 021b lsls r3, r3, #8 8025016: b21a sxth r2, r3 8025018: 4b35 ldr r3, [pc, #212] ; (80250f0 ) 802501a: 789b ldrb r3, [r3, #2] 802501c: b21b sxth r3, r3 802501e: 4313 orrs r3, r2 8025020: b21b sxth r3, r3 8025022: 81fb strh r3, [r7, #14] IP = sector[d_Point + 1]; 8025024: 4b32 ldr r3, [pc, #200] ; (80250f0 ) 8025026: 785b ldrb r3, [r3, #1] 8025028: 837b strh r3, [r7, #26] IP = (IP << 8) | sector[d_Point]; 802502a: 8b7b ldrh r3, [r7, #26] 802502c: 021b lsls r3, r3, #8 802502e: b21a sxth r2, r3 8025030: 4b2f ldr r3, [pc, #188] ; (80250f0 ) 8025032: 781b ldrb r3, [r3, #0] 8025034: b21b sxth r3, r3 8025036: 4313 orrs r3, r2 8025038: b21b sxth r3, r3 802503a: 837b strh r3, [r7, #26] if((IP == ii) && (IM > im) && (IM < 65536)) 802503c: 8b7a ldrh r2, [r7, #26] 802503e: 8b3b ldrh r3, [r7, #24] 8025040: 429a cmp r2, r3 8025042: d130 bne.n 80250a6 8025044: 89fa ldrh r2, [r7, #14] 8025046: 6a3b ldr r3, [r7, #32] 8025048: 429a cmp r2, r3 802504a: d92c bls.n 80250a6 { im = IM; 802504c: 89fb ldrh r3, [r7, #14] 802504e: 623b str r3, [r7, #32] IndexMeas[ii] = (im + 1); 8025050: 8b3b ldrh r3, [r7, #24] 8025052: 6a3a ldr r2, [r7, #32] 8025054: 3201 adds r2, #1 8025056: 491e ldr r1, [pc, #120] ; (80250d0 ) 8025058: f841 2023 str.w r2, [r1, r3, lsl #2] if((IP == ii) && (IM > im) && (IM < 65536)) 802505c: e023 b.n 80250a6 } } else { for(i = 0; i < NUM_POINTS; i++) 802505e: 2300 movs r3, #0 8025060: 61fb str r3, [r7, #28] 8025062: e010 b.n 8025086 { if(IndexMeas[i] > MaxIndexMeas) 8025064: 4a1a ldr r2, [pc, #104] ; (80250d0 ) 8025066: 69fb ldr r3, [r7, #28] 8025068: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802506c: 4b17 ldr r3, [pc, #92] ; (80250cc ) 802506e: 681b ldr r3, [r3, #0] 8025070: 429a cmp r2, r3 8025072: d905 bls.n 8025080 MaxIndexMeas = IndexMeas[i]; 8025074: 4a16 ldr r2, [pc, #88] ; (80250d0 ) 8025076: 69fb ldr r3, [r7, #28] 8025078: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802507c: 4a13 ldr r2, [pc, #76] ; (80250cc ) 802507e: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8025080: 69fb ldr r3, [r7, #28] 8025082: 3301 adds r3, #1 8025084: 61fb str r3, [r7, #28] 8025086: 69fb ldr r3, [r7, #28] 8025088: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 802508c: d3ea bcc.n 8025064 } NextIndexPoint = IP; 802508e: 8b7b ldrh r3, [r7, #26] 8025090: 4a0c ldr r2, [pc, #48] ; (80250c4 ) 8025092: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8025094: 4b0d ldr r3, [pc, #52] ; (80250cc ) 8025096: 681b ldr r3, [r3, #0] 8025098: 4a0b ldr r2, [pc, #44] ; (80250c8 ) 802509a: 6013 str r3, [r2, #0] f_close(&F); 802509c: 4813 ldr r0, [pc, #76] ; (80250ec ) 802509e: f0a6 fd03 bl 80cbaa8 return FR_INVALID_OBJECT; 80250a2: 2309 movs r3, #9 80250a4: e236 b.n 8025514 if((IP == ii) && (IM > im) && (IM < 65536)) 80250a6: bf00 nop } ifs += 33; 80250a8: e9d7 3404 ldrd r3, r4, [r7, #16] 80250ac: 3321 adds r3, #33 ; 0x21 80250ae: f144 0400 adc.w r4, r4, #0 80250b2: e9c7 3404 strd r3, r4, [r7, #16] 80250b6: e066 b.n 8025186 } else { for(i = 0; i < NUM_POINTS; i++) 80250b8: 2300 movs r3, #0 80250ba: 61fb str r3, [r7, #28] 80250bc: e02f b.n 802511e 80250be: bf00 nop 80250c0: 200226a0 .word 0x200226a0 80250c4: 20021fec .word 0x20021fec 80250c8: 20022360 .word 0x20022360 80250cc: 200229d8 .word 0x200229d8 80250d0: 20022ef8 .word 0x20022ef8 80250d4: 2002169c .word 0x2002169c 80250d8: 20022c10 .word 0x20022c10 80250dc: 20022a0c .word 0x20022a0c 80250e0: 20021dd0 .word 0x20021dd0 80250e4: 20020dff .word 0x20020dff 80250e8: 20020dfe .word 0x20020dfe 80250ec: 20022e78 .word 0x20022e78 80250f0: 2007c000 .word 0x2007c000 80250f4: 080d4eac .word 0x080d4eac 80250f8: 20020e38 .word 0x20020e38 { if(IndexMeas[i] > MaxIndexMeas) 80250fc: 4a9d ldr r2, [pc, #628] ; (8025374 ) 80250fe: 69fb ldr r3, [r7, #28] 8025100: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8025104: 4b9c ldr r3, [pc, #624] ; (8025378 ) 8025106: 681b ldr r3, [r3, #0] 8025108: 429a cmp r2, r3 802510a: d905 bls.n 8025118 MaxIndexMeas = IndexMeas[i]; 802510c: 4a99 ldr r2, [pc, #612] ; (8025374 ) 802510e: 69fb ldr r3, [r7, #28] 8025110: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8025114: 4a98 ldr r2, [pc, #608] ; (8025378 ) 8025116: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8025118: 69fb ldr r3, [r7, #28] 802511a: 3301 adds r3, #1 802511c: 61fb str r3, [r7, #28] 802511e: 69fb ldr r3, [r7, #28] 8025120: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8025124: d3ea bcc.n 80250fc } NextIndexPoint = IP; 8025126: 8b7b ldrh r3, [r7, #26] 8025128: 4a94 ldr r2, [pc, #592] ; (802537c ) 802512a: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 802512c: 4b92 ldr r3, [pc, #584] ; (8025378 ) 802512e: 681b ldr r3, [r3, #0] 8025130: 4a93 ldr r2, [pc, #588] ; (8025380 ) 8025132: 6013 str r3, [r2, #0] f_close(&F); 8025134: 4893 ldr r0, [pc, #588] ; (8025384 ) 8025136: f0a6 fcb7 bl 80cbaa8 return FR_DISK_ERR; 802513a: 2301 movs r3, #1 802513c: e1ea b.n 8025514 } } else { for(i = 0; i < NUM_POINTS; i++) 802513e: 2300 movs r3, #0 8025140: 61fb str r3, [r7, #28] 8025142: e010 b.n 8025166 { if(IndexMeas[i] > MaxIndexMeas) 8025144: 4a8b ldr r2, [pc, #556] ; (8025374 ) 8025146: 69fb ldr r3, [r7, #28] 8025148: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802514c: 4b8a ldr r3, [pc, #552] ; (8025378 ) 802514e: 681b ldr r3, [r3, #0] 8025150: 429a cmp r2, r3 8025152: d905 bls.n 8025160 MaxIndexMeas = IndexMeas[i]; 8025154: 4a87 ldr r2, [pc, #540] ; (8025374 ) 8025156: 69fb ldr r3, [r7, #28] 8025158: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802515c: 4a86 ldr r2, [pc, #536] ; (8025378 ) 802515e: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8025160: 69fb ldr r3, [r7, #28] 8025162: 3301 adds r3, #1 8025164: 61fb str r3, [r7, #28] 8025166: 69fb ldr r3, [r7, #28] 8025168: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 802516c: d3ea bcc.n 8025144 } NextIndexPoint = IP; 802516e: 8b7b ldrh r3, [r7, #26] 8025170: 4a82 ldr r2, [pc, #520] ; (802537c ) 8025172: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8025174: 4b80 ldr r3, [pc, #512] ; (8025378 ) 8025176: 681b ldr r3, [r3, #0] 8025178: 4a81 ldr r2, [pc, #516] ; (8025380 ) 802517a: 6013 str r3, [r2, #0] f_close(&F); 802517c: 4881 ldr r0, [pc, #516] ; (8025384 ) 802517e: f0a6 fc93 bl 80cbaa8 return FR_DISK_ERR; 8025182: 2301 movs r3, #1 8025184: e1c6 b.n 8025514 while(ifs < f_size(&F)) 8025186: 4b7f ldr r3, [pc, #508] ; (8025384 ) 8025188: e9d3 3404 ldrd r3, r4, [r3, #16] 802518c: e9d7 1204 ldrd r1, r2, [r7, #16] 8025190: 42a2 cmp r2, r4 8025192: bf08 it eq 8025194: 4299 cmpeq r1, r3 8025196: f4ff af12 bcc.w 8024fbe for(ii = 0; ii < NUM_POINTS; ii++) 802519a: 8b3b ldrh r3, [r7, #24] 802519c: 3301 adds r3, #1 802519e: 833b strh r3, [r7, #24] 80251a0: 8b3b ldrh r3, [r7, #24] 80251a2: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80251a6: f4ff af01 bcc.w 8024fac } } } // end for(ii = 0; ...) if(res == FR_OK) 80251aa: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80251ae: 2b00 cmp r3, #0 80251b0: f040 81ae bne.w 8025510 { for(i = 0; i < NUM_POINTS; i++) 80251b4: 2300 movs r3, #0 80251b6: 61fb str r3, [r7, #28] 80251b8: e010 b.n 80251dc { if(IndexMeas[i] > MaxIndexMeas) 80251ba: 4a6e ldr r2, [pc, #440] ; (8025374 ) 80251bc: 69fb ldr r3, [r7, #28] 80251be: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80251c2: 4b6d ldr r3, [pc, #436] ; (8025378 ) 80251c4: 681b ldr r3, [r3, #0] 80251c6: 429a cmp r2, r3 80251c8: d905 bls.n 80251d6 MaxIndexMeas = IndexMeas[i]; 80251ca: 4a6a ldr r2, [pc, #424] ; (8025374 ) 80251cc: 69fb ldr r3, [r7, #28] 80251ce: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80251d2: 4a69 ldr r2, [pc, #420] ; (8025378 ) 80251d4: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 80251d6: 69fb ldr r3, [r7, #28] 80251d8: 3301 adds r3, #1 80251da: 61fb str r3, [r7, #28] 80251dc: 69fb ldr r3, [r7, #28] 80251de: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80251e2: d3ea bcc.n 80251ba } NextIndexPoint = IP; 80251e4: 8b7b ldrh r3, [r7, #26] 80251e6: 4a65 ldr r2, [pc, #404] ; (802537c ) 80251e8: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 80251ea: 4b64 ldr r3, [pc, #400] ; (802537c ) 80251ec: 681b ldr r3, [r3, #0] 80251ee: 4a61 ldr r2, [pc, #388] ; (8025374 ) 80251f0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80251f4: 4a62 ldr r2, [pc, #392] ; (8025380 ) 80251f6: 6013 str r3, [r2, #0] ifs = 96u + (sizeof(Comment) * NextIndexPoint); 80251f8: 4b60 ldr r3, [pc, #384] ; (802537c ) 80251fa: 681a ldr r2, [r3, #0] 80251fc: 4613 mov r3, r2 80251fe: 009b lsls r3, r3, #2 8025200: 4413 add r3, r2 8025202: 00db lsls r3, r3, #3 8025204: 3360 adds r3, #96 ; 0x60 8025206: f04f 0400 mov.w r4, #0 802520a: e9c7 3404 strd r3, r4, [r7, #16] res = f_lseek(&F, ifs); 802520e: e9d7 2304 ldrd r2, r3, [r7, #16] 8025212: 485c ldr r0, [pc, #368] ; (8025384 ) 8025214: f0a6 fc68 bl 80cbae8 8025218: 4603 mov r3, r0 802521a: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 802521e: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025222: 2b00 cmp r3, #0 8025224: d131 bne.n 802528a { res = f_read(&F, sector, sizeof(Comment), &fk); 8025226: f107 0308 add.w r3, r7, #8 802522a: 2228 movs r2, #40 ; 0x28 802522c: 4956 ldr r1, [pc, #344] ; (8025388 ) 802522e: 4855 ldr r0, [pc, #340] ; (8025384 ) 8025230: f0a6 f853 bl 80cb2da 8025234: 4603 mov r3, r0 8025236: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == sizeof(Comment))) 802523a: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 802523e: 2b00 cmp r3, #0 8025240: d11e bne.n 8025280 8025242: 68bb ldr r3, [r7, #8] 8025244: 2b28 cmp r3, #40 ; 0x28 8025246: d11b bne.n 8025280 { memcpy(Comment, sector, sizeof(Comment)); 8025248: 4b50 ldr r3, [pc, #320] ; (802538c ) 802524a: 4a4f ldr r2, [pc, #316] ; (8025388 ) 802524c: 4614 mov r4, r2 802524e: 469e mov lr, r3 8025250: f104 0c20 add.w ip, r4, #32 8025254: 4675 mov r5, lr 8025256: 4626 mov r6, r4 8025258: ce0f ldmia r6!, {r0, r1, r2, r3} 802525a: 6028 str r0, [r5, #0] 802525c: 6069 str r1, [r5, #4] 802525e: 60aa str r2, [r5, #8] 8025260: 60eb str r3, [r5, #12] 8025262: 3410 adds r4, #16 8025264: f10e 0e10 add.w lr, lr, #16 8025268: 4564 cmp r4, ip 802526a: d1f3 bne.n 8025254 802526c: 4672 mov r2, lr 802526e: 4623 mov r3, r4 8025270: cb03 ldmia r3!, {r0, r1} 8025272: 6010 str r0, [r2, #0] 8025274: 6051 str r1, [r2, #4] f_close(&F); 8025276: 4843 ldr r0, [pc, #268] ; (8025384 ) 8025278: f0a6 fc16 bl 80cbaa8 return FR_OK; 802527c: 2300 movs r3, #0 802527e: e149 b.n 8025514 } else { f_close(&F); 8025280: 4840 ldr r0, [pc, #256] ; (8025384 ) 8025282: f0a6 fc11 bl 80cbaa8 return FR_DISK_ERR; 8025286: 2301 movs r3, #1 8025288: e144 b.n 8025514 } } else { f_close(&F); 802528a: 483e ldr r0, [pc, #248] ; (8025384 ) 802528c: f0a6 fc0c bl 80cbaa8 return FR_DISK_ERR; 8025290: 2301 movs r3, #1 8025292: e13f b.n 8025514 } } } else { NextIndexPoint = 0; 8025294: 4b39 ldr r3, [pc, #228] ; (802537c ) 8025296: 2200 movs r2, #0 8025298: 601a str r2, [r3, #0] NextIndexMeas = 1; 802529a: 4b39 ldr r3, [pc, #228] ; (8025380 ) 802529c: 2201 movs r2, #1 802529e: 601a str r2, [r3, #0] f_close(&F); 80252a0: 4838 ldr r0, [pc, #224] ; (8025384 ) 80252a2: f0a6 fc01 bl 80cbaa8 return FR_OK; 80252a6: 2300 movs r3, #0 80252a8: e134 b.n 8025514 } } else { if(f_size(&F) > 0) 80252aa: 4b36 ldr r3, [pc, #216] ; (8025384 ) 80252ac: e9d3 3404 ldrd r3, r4, [r3, #16] 80252b0: 4323 orrs r3, r4 80252b2: f000 811c beq.w 80254ee { for(ii = 0; ii < NUM_POINTS; ii++) 80252b6: 2300 movs r3, #0 80252b8: 833b strh r3, [r7, #24] 80252ba: e0e8 b.n 802548e { ifs = 0; 80252bc: f04f 0300 mov.w r3, #0 80252c0: f04f 0400 mov.w r4, #0 80252c4: e9c7 3404 strd r3, r4, [r7, #16] im = 0; 80252c8: 2300 movs r3, #0 80252ca: 623b str r3, [r7, #32] while(ifs < f_size(&F)) 80252cc: e0d2 b.n 8025474 { res = f_lseek(&F, ifs); 80252ce: e9d7 2304 ldrd r2, r3, [r7, #16] 80252d2: 482c ldr r0, [pc, #176] ; (8025384 ) 80252d4: f0a6 fc08 bl 80cbae8 80252d8: 4603 mov r3, r0 80252da: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 80252de: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80252e2: 2b00 cmp r3, #0 80252e4: f040 80a2 bne.w 802542c { res = f_read(&F, sector, 33, &fk); 80252e8: f107 0308 add.w r3, r7, #8 80252ec: 2221 movs r2, #33 ; 0x21 80252ee: 4926 ldr r1, [pc, #152] ; (8025388 ) 80252f0: 4824 ldr r0, [pc, #144] ; (8025384 ) 80252f2: f0a5 fff2 bl 80cb2da 80252f6: 4603 mov r3, r0 80252f8: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == 33)) 80252fc: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025300: 2b00 cmp r3, #0 8025302: d16f bne.n 80253e4 8025304: 68bb ldr r3, [r7, #8] 8025306: 2b21 cmp r3, #33 ; 0x21 8025308: d16c bne.n 80253e4 { if((sector[d_13] == 0xD) && (sector[d_10] == 0xA)) 802530a: 4b1f ldr r3, [pc, #124] ; (8025388 ) 802530c: 7fdb ldrb r3, [r3, #31] 802530e: 2b0d cmp r3, #13 8025310: d12d bne.n 802536e 8025312: 4b1d ldr r3, [pc, #116] ; (8025388 ) 8025314: f893 3020 ldrb.w r3, [r3, #32] 8025318: 2b0a cmp r3, #10 802531a: d128 bne.n 802536e { IM = sector[d_Meas + 1]; 802531c: 4b1a ldr r3, [pc, #104] ; (8025388 ) 802531e: 78db ldrb r3, [r3, #3] 8025320: 81fb strh r3, [r7, #14] IM = (IM << 8) | sector[d_Meas]; 8025322: 89fb ldrh r3, [r7, #14] 8025324: 021b lsls r3, r3, #8 8025326: b21a sxth r2, r3 8025328: 4b17 ldr r3, [pc, #92] ; (8025388 ) 802532a: 789b ldrb r3, [r3, #2] 802532c: b21b sxth r3, r3 802532e: 4313 orrs r3, r2 8025330: b21b sxth r3, r3 8025332: 81fb strh r3, [r7, #14] IP = sector[d_Point + 1]; 8025334: 4b14 ldr r3, [pc, #80] ; (8025388 ) 8025336: 785b ldrb r3, [r3, #1] 8025338: 837b strh r3, [r7, #26] IP = (IP << 8) | sector[d_Point]; 802533a: 8b7b ldrh r3, [r7, #26] 802533c: 021b lsls r3, r3, #8 802533e: b21a sxth r2, r3 8025340: 4b11 ldr r3, [pc, #68] ; (8025388 ) 8025342: 781b ldrb r3, [r3, #0] 8025344: b21b sxth r3, r3 8025346: 4313 orrs r3, r2 8025348: b21b sxth r3, r3 802534a: 837b strh r3, [r7, #26] if((IP == ii) && (IM > im) && (IM < 65536)) 802534c: 8b7a ldrh r2, [r7, #26] 802534e: 8b3b ldrh r3, [r7, #24] 8025350: 429a cmp r2, r3 8025352: d13e bne.n 80253d2 8025354: 89fa ldrh r2, [r7, #14] 8025356: 6a3b ldr r3, [r7, #32] 8025358: 429a cmp r2, r3 802535a: d93a bls.n 80253d2 { im = IM; 802535c: 89fb ldrh r3, [r7, #14] 802535e: 623b str r3, [r7, #32] IndexMeas[ii] = (im + 1); 8025360: 8b3b ldrh r3, [r7, #24] 8025362: 6a3a ldr r2, [r7, #32] 8025364: 3201 adds r2, #1 8025366: 4903 ldr r1, [pc, #12] ; (8025374 ) 8025368: f841 2023 str.w r2, [r1, r3, lsl #2] if((IP == ii) && (IM > im) && (IM < 65536)) 802536c: e031 b.n 80253d2 } } else { for(i = 0; i < NUM_POINTS; i++) 802536e: 2300 movs r3, #0 8025370: 61fb str r3, [r7, #28] 8025372: e01e b.n 80253b2 8025374: 20022ef8 .word 0x20022ef8 8025378: 200229d8 .word 0x200229d8 802537c: 20021fec .word 0x20021fec 8025380: 20022360 .word 0x20022360 8025384: 20022e78 .word 0x20022e78 8025388: 2007c000 .word 0x2007c000 802538c: 200226a0 .word 0x200226a0 { if(IndexMeas[i] > MaxIndexMeas) 8025390: 4a62 ldr r2, [pc, #392] ; (802551c ) 8025392: 69fb ldr r3, [r7, #28] 8025394: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8025398: 4b61 ldr r3, [pc, #388] ; (8025520 ) 802539a: 681b ldr r3, [r3, #0] 802539c: 429a cmp r2, r3 802539e: d905 bls.n 80253ac MaxIndexMeas = IndexMeas[i]; 80253a0: 4a5e ldr r2, [pc, #376] ; (802551c ) 80253a2: 69fb ldr r3, [r7, #28] 80253a4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80253a8: 4a5d ldr r2, [pc, #372] ; (8025520 ) 80253aa: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 80253ac: 69fb ldr r3, [r7, #28] 80253ae: 3301 adds r3, #1 80253b0: 61fb str r3, [r7, #28] 80253b2: 69fb ldr r3, [r7, #28] 80253b4: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80253b8: d3ea bcc.n 8025390 } NextIndexPoint = IP; 80253ba: 8b7b ldrh r3, [r7, #26] 80253bc: 4a59 ldr r2, [pc, #356] ; (8025524 ) 80253be: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 80253c0: 4b57 ldr r3, [pc, #348] ; (8025520 ) 80253c2: 681b ldr r3, [r3, #0] 80253c4: 4a58 ldr r2, [pc, #352] ; (8025528 ) 80253c6: 6013 str r3, [r2, #0] f_close(&F); 80253c8: 4858 ldr r0, [pc, #352] ; (802552c ) 80253ca: f0a6 fb6d bl 80cbaa8 return FR_INVALID_OBJECT; 80253ce: 2309 movs r3, #9 80253d0: e0a0 b.n 8025514 if((IP == ii) && (IM > im) && (IM < 65536)) 80253d2: bf00 nop } ifs += 33; 80253d4: e9d7 3404 ldrd r3, r4, [r7, #16] 80253d8: 3321 adds r3, #33 ; 0x21 80253da: f144 0400 adc.w r4, r4, #0 80253de: e9c7 3404 strd r3, r4, [r7, #16] 80253e2: e047 b.n 8025474 } else { for(i = 0; i < NUM_POINTS; i++) 80253e4: 2300 movs r3, #0 80253e6: 61fb str r3, [r7, #28] 80253e8: e010 b.n 802540c { if(IndexMeas[i] > MaxIndexMeas) 80253ea: 4a4c ldr r2, [pc, #304] ; (802551c ) 80253ec: 69fb ldr r3, [r7, #28] 80253ee: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80253f2: 4b4b ldr r3, [pc, #300] ; (8025520 ) 80253f4: 681b ldr r3, [r3, #0] 80253f6: 429a cmp r2, r3 80253f8: d905 bls.n 8025406 MaxIndexMeas = IndexMeas[i]; 80253fa: 4a48 ldr r2, [pc, #288] ; (802551c ) 80253fc: 69fb ldr r3, [r7, #28] 80253fe: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8025402: 4a47 ldr r2, [pc, #284] ; (8025520 ) 8025404: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8025406: 69fb ldr r3, [r7, #28] 8025408: 3301 adds r3, #1 802540a: 61fb str r3, [r7, #28] 802540c: 69fb ldr r3, [r7, #28] 802540e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8025412: d3ea bcc.n 80253ea } NextIndexPoint = IP; 8025414: 8b7b ldrh r3, [r7, #26] 8025416: 4a43 ldr r2, [pc, #268] ; (8025524 ) 8025418: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 802541a: 4b41 ldr r3, [pc, #260] ; (8025520 ) 802541c: 681b ldr r3, [r3, #0] 802541e: 4a42 ldr r2, [pc, #264] ; (8025528 ) 8025420: 6013 str r3, [r2, #0] f_close(&F); 8025422: 4842 ldr r0, [pc, #264] ; (802552c ) 8025424: f0a6 fb40 bl 80cbaa8 return FR_DISK_ERR; 8025428: 2301 movs r3, #1 802542a: e073 b.n 8025514 } } else { for(i = 0; i < NUM_POINTS; i++) 802542c: 2300 movs r3, #0 802542e: 61fb str r3, [r7, #28] 8025430: e010 b.n 8025454 { if(IndexMeas[i] > MaxIndexMeas) 8025432: 4a3a ldr r2, [pc, #232] ; (802551c ) 8025434: 69fb ldr r3, [r7, #28] 8025436: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802543a: 4b39 ldr r3, [pc, #228] ; (8025520 ) 802543c: 681b ldr r3, [r3, #0] 802543e: 429a cmp r2, r3 8025440: d905 bls.n 802544e MaxIndexMeas = IndexMeas[i]; 8025442: 4a36 ldr r2, [pc, #216] ; (802551c ) 8025444: 69fb ldr r3, [r7, #28] 8025446: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802544a: 4a35 ldr r2, [pc, #212] ; (8025520 ) 802544c: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 802544e: 69fb ldr r3, [r7, #28] 8025450: 3301 adds r3, #1 8025452: 61fb str r3, [r7, #28] 8025454: 69fb ldr r3, [r7, #28] 8025456: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 802545a: d3ea bcc.n 8025432 } NextIndexPoint = IP; 802545c: 8b7b ldrh r3, [r7, #26] 802545e: 4a31 ldr r2, [pc, #196] ; (8025524 ) 8025460: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8025462: 4b2f ldr r3, [pc, #188] ; (8025520 ) 8025464: 681b ldr r3, [r3, #0] 8025466: 4a30 ldr r2, [pc, #192] ; (8025528 ) 8025468: 6013 str r3, [r2, #0] f_close(&F); 802546a: 4830 ldr r0, [pc, #192] ; (802552c ) 802546c: f0a6 fb1c bl 80cbaa8 return FR_DISK_ERR; 8025470: 2301 movs r3, #1 8025472: e04f b.n 8025514 while(ifs < f_size(&F)) 8025474: 4b2d ldr r3, [pc, #180] ; (802552c ) 8025476: e9d3 3404 ldrd r3, r4, [r3, #16] 802547a: e9d7 1204 ldrd r1, r2, [r7, #16] 802547e: 42a2 cmp r2, r4 8025480: bf08 it eq 8025482: 4299 cmpeq r1, r3 8025484: f4ff af23 bcc.w 80252ce for(ii = 0; ii < NUM_POINTS; ii++) 8025488: 8b3b ldrh r3, [r7, #24] 802548a: 3301 adds r3, #1 802548c: 833b strh r3, [r7, #24] 802548e: 8b3b ldrh r3, [r7, #24] 8025490: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8025494: f4ff af12 bcc.w 80252bc } } } // end for(ii = 0; ...) if(res == FR_OK) 8025498: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 802549c: 2b00 cmp r3, #0 802549e: d137 bne.n 8025510 { for(i = 0; i < NUM_POINTS; i++) 80254a0: 2300 movs r3, #0 80254a2: 61fb str r3, [r7, #28] 80254a4: e010 b.n 80254c8 { if(IndexMeas[i] > MaxIndexMeas) 80254a6: 4a1d ldr r2, [pc, #116] ; (802551c ) 80254a8: 69fb ldr r3, [r7, #28] 80254aa: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80254ae: 4b1c ldr r3, [pc, #112] ; (8025520 ) 80254b0: 681b ldr r3, [r3, #0] 80254b2: 429a cmp r2, r3 80254b4: d905 bls.n 80254c2 MaxIndexMeas = IndexMeas[i]; 80254b6: 4a19 ldr r2, [pc, #100] ; (802551c ) 80254b8: 69fb ldr r3, [r7, #28] 80254ba: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80254be: 4a18 ldr r2, [pc, #96] ; (8025520 ) 80254c0: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 80254c2: 69fb ldr r3, [r7, #28] 80254c4: 3301 adds r3, #1 80254c6: 61fb str r3, [r7, #28] 80254c8: 69fb ldr r3, [r7, #28] 80254ca: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80254ce: d3ea bcc.n 80254a6 } NextIndexPoint = IP; 80254d0: 8b7b ldrh r3, [r7, #26] 80254d2: 4a14 ldr r2, [pc, #80] ; (8025524 ) 80254d4: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 80254d6: 4b13 ldr r3, [pc, #76] ; (8025524 ) 80254d8: 681b ldr r3, [r3, #0] 80254da: 4a10 ldr r2, [pc, #64] ; (802551c ) 80254dc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80254e0: 4a11 ldr r2, [pc, #68] ; (8025528 ) 80254e2: 6013 str r3, [r2, #0] f_close(&F); 80254e4: 4811 ldr r0, [pc, #68] ; (802552c ) 80254e6: f0a6 fadf bl 80cbaa8 return FR_OK; 80254ea: 2300 movs r3, #0 80254ec: e012 b.n 8025514 } } else { NextIndexPoint = 0; 80254ee: 4b0d ldr r3, [pc, #52] ; (8025524 ) 80254f0: 2200 movs r2, #0 80254f2: 601a str r2, [r3, #0] NextIndexMeas = 1; 80254f4: 4b0c ldr r3, [pc, #48] ; (8025528 ) 80254f6: 2201 movs r2, #1 80254f8: 601a str r2, [r3, #0] f_close(&F); 80254fa: 480c ldr r0, [pc, #48] ; (802552c ) 80254fc: f0a6 fad4 bl 80cbaa8 return FR_OK; 8025500: 2300 movs r3, #0 8025502: e007 b.n 8025514 } } } else { NextIndexPoint = 0; 8025504: 4b07 ldr r3, [pc, #28] ; (8025524 ) 8025506: 2200 movs r2, #0 8025508: 601a str r2, [r3, #0] NextIndexMeas = 1; 802550a: 4b07 ldr r3, [pc, #28] ; (8025528 ) 802550c: 2201 movs r2, #1 802550e: 601a str r2, [r3, #0] } return res; 8025510: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 } 8025514: 4618 mov r0, r3 8025516: 372c adds r7, #44 ; 0x2c 8025518: 46bd mov sp, r7 802551a: bdf0 pop {r4, r5, r6, r7, pc} 802551c: 20022ef8 .word 0x20022ef8 8025520: 200229d8 .word 0x200229d8 8025524: 20021fec .word 0x20021fec 8025528: 20022360 .word 0x20022360 802552c: 20022e78 .word 0x20022e78 08025530 : FRESULT GetPointAndIndexPTM(char *fname) //TODO { 8025530: b5f0 push {r4, r5, r6, r7, lr} 8025532: b08b sub sp, #44 ; 0x2c 8025534: af00 add r7, sp, #0 8025536: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8025538: 2300 movs r3, #0 802553a: f887 3027 strb.w r3, [r7, #39] ; 0x27 uint32_t im, i; uint16_t IM = 0, IP = 0, ii; 802553e: 2300 movs r3, #0 8025540: 81fb strh r3, [r7, #14] 8025542: 2300 movs r3, #0 8025544: 837b strh r3, [r7, #26] UINT fk; FSIZE_t ifs; memset(Comment, 0, sizeof(Comment)); 8025546: 2228 movs r2, #40 ; 0x28 8025548: 2100 movs r1, #0 802554a: 48a2 ldr r0, [pc, #648] ; (80257d4 ) 802554c: f0ac fd2a bl 80d1fa4 NextIndexPoint = 0; 8025550: 4ba1 ldr r3, [pc, #644] ; (80257d8 ) 8025552: 2200 movs r2, #0 8025554: 601a str r2, [r3, #0] NextIndexMeas = 1; 8025556: 4ba1 ldr r3, [pc, #644] ; (80257dc ) 8025558: 2201 movs r2, #1 802555a: 601a str r2, [r3, #0] MaxIndexMeas = 1; 802555c: 4ba0 ldr r3, [pc, #640] ; (80257e0 ) 802555e: 2201 movs r2, #1 8025560: 601a str r2, [r3, #0] for(i = 0; i < NUM_POINTS; i++) { 8025562: 2300 movs r3, #0 8025564: 61fb str r3, [r7, #28] 8025566: e007 b.n 8025578 IndexMeas[i] = 1; 8025568: 4a9e ldr r2, [pc, #632] ; (80257e4 ) 802556a: 69fb ldr r3, [r7, #28] 802556c: 2101 movs r1, #1 802556e: f842 1023 str.w r1, [r2, r3, lsl #2] for(i = 0; i < NUM_POINTS; i++) { 8025572: 69fb ldr r3, [r7, #28] 8025574: 3301 adds r3, #1 8025576: 61fb str r3, [r7, #28] 8025578: 69fb ldr r3, [r7, #28] 802557a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 802557e: d3f3 bcc.n 8025568 } if(CardState != MSD_READY) { 8025580: 4b99 ldr r3, [pc, #612] ; (80257e8 ) 8025582: 781b ldrb r3, [r3, #0] 8025584: b2db uxtb r3, r3 8025586: 2b03 cmp r3, #3 8025588: d001 beq.n 802558e return FR_NOT_READY; 802558a: 2303 movs r3, #3 802558c: e34c b.n 8025c28 } if(fname[0] == '\0') { 802558e: 687b ldr r3, [r7, #4] 8025590: 781b ldrb r3, [r3, #0] 8025592: 2b00 cmp r3, #0 8025594: d101 bne.n 802559a return FR_NO_FILE; 8025596: 2304 movs r3, #4 8025598: e346 b.n 8025c28 } if(res == FR_OK) 802559a: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 802559e: 2b00 cmp r3, #0 80255a0: f040 833a bne.w 8025c18 { memset(FileName, 0, sizeof(FileName)); 80255a4: 2228 movs r2, #40 ; 0x28 80255a6: 2100 movs r1, #0 80255a8: 4890 ldr r0, [pc, #576] ; (80257ec ) 80255aa: f0ac fcfb bl 80d1fa4 strcpy(FileName, fname); 80255ae: 6879 ldr r1, [r7, #4] 80255b0: 488e ldr r0, [pc, #568] ; (80257ec ) 80255b2: f0ac fe14 bl 80d21de memset(PointPath, 0, sizeof(PointPath)); 80255b6: f44f 7200 mov.w r2, #512 ; 0x200 80255ba: 2100 movs r1, #0 80255bc: 488c ldr r0, [pc, #560] ; (80257f0 ) 80255be: f0ac fcf1 bl 80d1fa4 memset(SearchPath, 0, sizeof(SearchPath)); 80255c2: f44f 7200 mov.w r2, #512 ; 0x200 80255c6: 2100 movs r1, #0 80255c8: 488a ldr r0, [pc, #552] ; (80257f4 ) 80255ca: f0ac fceb bl 80d1fa4 SearchPath[0] = '0'; 80255ce: 4b89 ldr r3, [pc, #548] ; (80257f4 ) 80255d0: 2230 movs r2, #48 ; 0x30 80255d2: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 80255d4: 4b87 ldr r3, [pc, #540] ; (80257f4 ) 80255d6: 223a movs r2, #58 ; 0x3a 80255d8: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 80255da: 4b87 ldr r3, [pc, #540] ; (80257f8 ) 80255dc: 220b movs r2, #11 80255de: 701a strb r2, [r3, #0] FlagReturn = false; 80255e0: 4b86 ldr r3, [pc, #536] ; (80257fc ) 80255e2: 2200 movs r2, #0 80255e4: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 80255e6: 2100 movs r1, #0 80255e8: 4882 ldr r0, [pc, #520] ; (80257f4 ) 80255ea: f005 f9f9 bl 802a9e0 if(PointPath[0] == 0) 80255ee: 4b80 ldr r3, [pc, #512] ; (80257f0 ) 80255f0: 781b ldrb r3, [r3, #0] 80255f2: 2b00 cmp r3, #0 80255f4: d103 bne.n 80255fe { res = FR_NO_FILE; 80255f6: 2304 movs r3, #4 80255f8: f887 3027 strb.w r3, [r7, #39] ; 0x27 80255fc: e312 b.n 8025c24 } else { res = f_open(&F, PointPath, FA_READ); 80255fe: 2201 movs r2, #1 8025600: 497b ldr r1, [pc, #492] ; (80257f0 ) 8025602: 487f ldr r0, [pc, #508] ; (8025800 ) 8025604: f0a5 fc0c bl 80cae20 8025608: 4603 mov r3, r0 802560a: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 802560e: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025612: 2b00 cmp r3, #0 8025614: f040 8306 bne.w 8025c24 { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 8025618: f04f 0200 mov.w r2, #0 802561c: f04f 0300 mov.w r3, #0 8025620: 4877 ldr r0, [pc, #476] ; (8025800 ) 8025622: f0a6 fa61 bl 80cbae8 8025626: 4603 mov r3, r0 8025628: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 802562c: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025630: 2b00 cmp r3, #0 8025632: d127 bne.n 8025684 { res = f_read(&F, sector, 6, &fk); 8025634: f107 0308 add.w r3, r7, #8 8025638: 2206 movs r2, #6 802563a: 4972 ldr r1, [pc, #456] ; (8025804 ) 802563c: 4870 ldr r0, [pc, #448] ; (8025800 ) 802563e: f0a5 fe4c bl 80cb2da 8025642: 4603 mov r3, r0 8025644: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == 6)) 8025648: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 802564c: 2b00 cmp r3, #0 802564e: d114 bne.n 802567a 8025650: 68bb ldr r3, [r7, #8] 8025652: 2b06 cmp r3, #6 8025654: d111 bne.n 802567a { sector[6] = '\0'; 8025656: 4b6b ldr r3, [pc, #428] ; (8025804 ) 8025658: 2200 movs r2, #0 802565a: 719a strb r2, [r3, #6] if(!strcmp((char *) sector, "Extend")) 802565c: 496a ldr r1, [pc, #424] ; (8025808 ) 802565e: 4869 ldr r0, [pc, #420] ; (8025804 ) 8025660: f7fa fe4e bl 8020300 8025664: 4603 mov r3, r0 8025666: 2b00 cmp r3, #0 8025668: d103 bne.n 8025672 NEWFILE = true; 802566a: 4b68 ldr r3, [pc, #416] ; (802580c ) 802566c: 2201 movs r2, #1 802566e: 701a strb r2, [r3, #0] if(!strcmp((char *) sector, "Extend")) 8025670: e00d b.n 802568e else NEWFILE = false; 8025672: 4b66 ldr r3, [pc, #408] ; (802580c ) 8025674: 2200 movs r2, #0 8025676: 701a strb r2, [r3, #0] if(!strcmp((char *) sector, "Extend")) 8025678: e009 b.n 802568e } else { f_close(&F); 802567a: 4861 ldr r0, [pc, #388] ; (8025800 ) 802567c: f0a6 fa14 bl 80cbaa8 return FR_DISK_ERR; 8025680: 2301 movs r3, #1 8025682: e2d1 b.n 8025c28 } } else { f_close(&F); 8025684: 485e ldr r0, [pc, #376] ; (8025800 ) 8025686: f0a6 fa0f bl 80cbaa8 return FR_DISK_ERR; 802568a: 2301 movs r3, #1 802568c: e2cc b.n 8025c28 } /////////////////////////////////////////////////////////////////////////////// memset(sector, 0xff, sizeof(sector)); 802568e: f44f 7200 mov.w r2, #512 ; 0x200 8025692: 21ff movs r1, #255 ; 0xff 8025694: 485b ldr r0, [pc, #364] ; (8025804 ) 8025696: f0ac fc85 bl 80d1fa4 if(NEWFILE) 802569a: 4b5c ldr r3, [pc, #368] ; (802580c ) 802569c: 781b ldrb r3, [r3, #0] 802569e: b2db uxtb r3, r3 80256a0: 2b00 cmp r3, #0 80256a2: f000 818c beq.w 80259be { if(f_size(&F) > 40096u) 80256a6: 4b56 ldr r3, [pc, #344] ; (8025800 ) 80256a8: e9d3 3404 ldrd r3, r4, [r3, #16] 80256ac: f649 41a0 movw r1, #40096 ; 0x9ca0 80256b0: f04f 0200 mov.w r2, #0 80256b4: 42a2 cmp r2, r4 80256b6: bf08 it eq 80256b8: 4299 cmpeq r1, r3 80256ba: f080 8175 bcs.w 80259a8 { for(ii = 0; ii < NUM_POINTS; ii++) 80256be: 2300 movs r3, #0 80256c0: 833b strh r3, [r7, #24] 80256c2: e0f7 b.n 80258b4 { ifs = 40096u; 80256c4: f649 43a0 movw r3, #40096 ; 0x9ca0 80256c8: f04f 0400 mov.w r4, #0 80256cc: e9c7 3404 strd r3, r4, [r7, #16] im = 0; 80256d0: 2300 movs r3, #0 80256d2: 623b str r3, [r7, #32] while(ifs < f_size(&F)) 80256d4: e0e1 b.n 802589a { res = f_lseek(&F, ifs); 80256d6: e9d7 2304 ldrd r2, r3, [r7, #16] 80256da: 4849 ldr r0, [pc, #292] ; (8025800 ) 80256dc: f0a6 fa04 bl 80cbae8 80256e0: 4603 mov r3, r0 80256e2: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 80256e6: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80256ea: 2b00 cmp r3, #0 80256ec: f040 80b1 bne.w 8025852 { res = f_read(&F, sector, 29, &fk); 80256f0: f107 0308 add.w r3, r7, #8 80256f4: 221d movs r2, #29 80256f6: 4943 ldr r1, [pc, #268] ; (8025804 ) 80256f8: 4841 ldr r0, [pc, #260] ; (8025800 ) 80256fa: f0a5 fdee bl 80cb2da 80256fe: 4603 mov r3, r0 8025700: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == 29)) 8025704: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025708: 2b00 cmp r3, #0 802570a: d160 bne.n 80257ce 802570c: 68bb ldr r3, [r7, #8] 802570e: 2b1d cmp r3, #29 8025710: d15d bne.n 80257ce { if((sector[e13] == 0xD) && (sector[e10] == 0xA)) 8025712: 4b3c ldr r3, [pc, #240] ; (8025804 ) 8025714: 7edb ldrb r3, [r3, #27] 8025716: 2b0d cmp r3, #13 8025718: d12c bne.n 8025774 802571a: 4b3a ldr r3, [pc, #232] ; (8025804 ) 802571c: 7f1b ldrb r3, [r3, #28] 802571e: 2b0a cmp r3, #10 8025720: d128 bne.n 8025774 { IM = sector[eMeas + 1]; 8025722: 4b38 ldr r3, [pc, #224] ; (8025804 ) 8025724: 78db ldrb r3, [r3, #3] 8025726: 81fb strh r3, [r7, #14] IM = (IM << 8) | sector[eMeas]; 8025728: 89fb ldrh r3, [r7, #14] 802572a: 021b lsls r3, r3, #8 802572c: b21a sxth r2, r3 802572e: 4b35 ldr r3, [pc, #212] ; (8025804 ) 8025730: 789b ldrb r3, [r3, #2] 8025732: b21b sxth r3, r3 8025734: 4313 orrs r3, r2 8025736: b21b sxth r3, r3 8025738: 81fb strh r3, [r7, #14] IP = sector[ePoint + 1]; 802573a: 4b32 ldr r3, [pc, #200] ; (8025804 ) 802573c: 785b ldrb r3, [r3, #1] 802573e: 837b strh r3, [r7, #26] IP = (IP << 8) | sector[ePoint]; 8025740: 8b7b ldrh r3, [r7, #26] 8025742: 021b lsls r3, r3, #8 8025744: b21a sxth r2, r3 8025746: 4b2f ldr r3, [pc, #188] ; (8025804 ) 8025748: 781b ldrb r3, [r3, #0] 802574a: b21b sxth r3, r3 802574c: 4313 orrs r3, r2 802574e: b21b sxth r3, r3 8025750: 837b strh r3, [r7, #26] if((IP == ii) && (IM > im) && (IM < 65536)) 8025752: 8b7a ldrh r2, [r7, #26] 8025754: 8b3b ldrh r3, [r7, #24] 8025756: 429a cmp r2, r3 8025758: d130 bne.n 80257bc 802575a: 89fa ldrh r2, [r7, #14] 802575c: 6a3b ldr r3, [r7, #32] 802575e: 429a cmp r2, r3 8025760: d92c bls.n 80257bc { im = IM; 8025762: 89fb ldrh r3, [r7, #14] 8025764: 623b str r3, [r7, #32] IndexMeas[ii] = (im + 1); 8025766: 8b3b ldrh r3, [r7, #24] 8025768: 6a3a ldr r2, [r7, #32] 802576a: 3201 adds r2, #1 802576c: 491d ldr r1, [pc, #116] ; (80257e4 ) 802576e: f841 2023 str.w r2, [r1, r3, lsl #2] if((IP == ii) && (IM > im) && (IM < 65536)) 8025772: e023 b.n 80257bc } } else { for(i = 0; i < NUM_POINTS; i++) 8025774: 2300 movs r3, #0 8025776: 61fb str r3, [r7, #28] 8025778: e010 b.n 802579c { if(IndexMeas[i] > MaxIndexMeas) 802577a: 4a1a ldr r2, [pc, #104] ; (80257e4 ) 802577c: 69fb ldr r3, [r7, #28] 802577e: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8025782: 4b17 ldr r3, [pc, #92] ; (80257e0 ) 8025784: 681b ldr r3, [r3, #0] 8025786: 429a cmp r2, r3 8025788: d905 bls.n 8025796 MaxIndexMeas = IndexMeas[i]; 802578a: 4a16 ldr r2, [pc, #88] ; (80257e4 ) 802578c: 69fb ldr r3, [r7, #28] 802578e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8025792: 4a13 ldr r2, [pc, #76] ; (80257e0 ) 8025794: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8025796: 69fb ldr r3, [r7, #28] 8025798: 3301 adds r3, #1 802579a: 61fb str r3, [r7, #28] 802579c: 69fb ldr r3, [r7, #28] 802579e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80257a2: d3ea bcc.n 802577a } NextIndexPoint = IP; 80257a4: 8b7b ldrh r3, [r7, #26] 80257a6: 4a0c ldr r2, [pc, #48] ; (80257d8 ) 80257a8: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 80257aa: 4b0d ldr r3, [pc, #52] ; (80257e0 ) 80257ac: 681b ldr r3, [r3, #0] 80257ae: 4a0b ldr r2, [pc, #44] ; (80257dc ) 80257b0: 6013 str r3, [r2, #0] f_close(&F); 80257b2: 4813 ldr r0, [pc, #76] ; (8025800 ) 80257b4: f0a6 f978 bl 80cbaa8 return FR_INVALID_OBJECT; 80257b8: 2309 movs r3, #9 80257ba: e235 b.n 8025c28 if((IP == ii) && (IM > im) && (IM < 65536)) 80257bc: bf00 nop } ifs += 29; 80257be: e9d7 3404 ldrd r3, r4, [r7, #16] 80257c2: 331d adds r3, #29 80257c4: f144 0400 adc.w r4, r4, #0 80257c8: e9c7 3404 strd r3, r4, [r7, #16] 80257cc: e065 b.n 802589a } else { for(i = 0; i < NUM_POINTS; i++) 80257ce: 2300 movs r3, #0 80257d0: 61fb str r3, [r7, #28] 80257d2: e02e b.n 8025832 80257d4: 200226a0 .word 0x200226a0 80257d8: 20021fec .word 0x20021fec 80257dc: 20022360 .word 0x20022360 80257e0: 200229d8 .word 0x200229d8 80257e4: 20022ef8 .word 0x20022ef8 80257e8: 2002169c .word 0x2002169c 80257ec: 20022c10 .word 0x20022c10 80257f0: 20022a0c .word 0x20022a0c 80257f4: 20021dd0 .word 0x20021dd0 80257f8: 20020dff .word 0x20020dff 80257fc: 20020dfe .word 0x20020dfe 8025800: 20022e78 .word 0x20022e78 8025804: 2007c000 .word 0x2007c000 8025808: 080d4eac .word 0x080d4eac 802580c: 20020e38 .word 0x20020e38 { if(IndexMeas[i] > MaxIndexMeas) 8025810: 4a9d ldr r2, [pc, #628] ; (8025a88 ) 8025812: 69fb ldr r3, [r7, #28] 8025814: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8025818: 4b9c ldr r3, [pc, #624] ; (8025a8c ) 802581a: 681b ldr r3, [r3, #0] 802581c: 429a cmp r2, r3 802581e: d905 bls.n 802582c MaxIndexMeas = IndexMeas[i]; 8025820: 4a99 ldr r2, [pc, #612] ; (8025a88 ) 8025822: 69fb ldr r3, [r7, #28] 8025824: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8025828: 4a98 ldr r2, [pc, #608] ; (8025a8c ) 802582a: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 802582c: 69fb ldr r3, [r7, #28] 802582e: 3301 adds r3, #1 8025830: 61fb str r3, [r7, #28] 8025832: 69fb ldr r3, [r7, #28] 8025834: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8025838: d3ea bcc.n 8025810 } NextIndexPoint = IP; 802583a: 8b7b ldrh r3, [r7, #26] 802583c: 4a94 ldr r2, [pc, #592] ; (8025a90 ) 802583e: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8025840: 4b92 ldr r3, [pc, #584] ; (8025a8c ) 8025842: 681b ldr r3, [r3, #0] 8025844: 4a93 ldr r2, [pc, #588] ; (8025a94 ) 8025846: 6013 str r3, [r2, #0] f_close(&F); 8025848: 4893 ldr r0, [pc, #588] ; (8025a98 ) 802584a: f0a6 f92d bl 80cbaa8 return FR_DISK_ERR; 802584e: 2301 movs r3, #1 8025850: e1ea b.n 8025c28 } } else { for(i = 0; i < NUM_POINTS; i++) 8025852: 2300 movs r3, #0 8025854: 61fb str r3, [r7, #28] 8025856: e010 b.n 802587a { if(IndexMeas[i] > MaxIndexMeas) 8025858: 4a8b ldr r2, [pc, #556] ; (8025a88 ) 802585a: 69fb ldr r3, [r7, #28] 802585c: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8025860: 4b8a ldr r3, [pc, #552] ; (8025a8c ) 8025862: 681b ldr r3, [r3, #0] 8025864: 429a cmp r2, r3 8025866: d905 bls.n 8025874 MaxIndexMeas = IndexMeas[i]; 8025868: 4a87 ldr r2, [pc, #540] ; (8025a88 ) 802586a: 69fb ldr r3, [r7, #28] 802586c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8025870: 4a86 ldr r2, [pc, #536] ; (8025a8c ) 8025872: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8025874: 69fb ldr r3, [r7, #28] 8025876: 3301 adds r3, #1 8025878: 61fb str r3, [r7, #28] 802587a: 69fb ldr r3, [r7, #28] 802587c: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8025880: d3ea bcc.n 8025858 } NextIndexPoint = IP; 8025882: 8b7b ldrh r3, [r7, #26] 8025884: 4a82 ldr r2, [pc, #520] ; (8025a90 ) 8025886: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8025888: 4b80 ldr r3, [pc, #512] ; (8025a8c ) 802588a: 681b ldr r3, [r3, #0] 802588c: 4a81 ldr r2, [pc, #516] ; (8025a94 ) 802588e: 6013 str r3, [r2, #0] f_close(&F); 8025890: 4881 ldr r0, [pc, #516] ; (8025a98 ) 8025892: f0a6 f909 bl 80cbaa8 return FR_DISK_ERR; 8025896: 2301 movs r3, #1 8025898: e1c6 b.n 8025c28 while(ifs < f_size(&F)) 802589a: 4b7f ldr r3, [pc, #508] ; (8025a98 ) 802589c: e9d3 3404 ldrd r3, r4, [r3, #16] 80258a0: e9d7 1204 ldrd r1, r2, [r7, #16] 80258a4: 42a2 cmp r2, r4 80258a6: bf08 it eq 80258a8: 4299 cmpeq r1, r3 80258aa: f4ff af14 bcc.w 80256d6 for(ii = 0; ii < NUM_POINTS; ii++) 80258ae: 8b3b ldrh r3, [r7, #24] 80258b0: 3301 adds r3, #1 80258b2: 833b strh r3, [r7, #24] 80258b4: 8b3b ldrh r3, [r7, #24] 80258b6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80258ba: f4ff af03 bcc.w 80256c4 } } } // end for(ii = 0; ...) if(res == FR_OK) 80258be: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80258c2: 2b00 cmp r3, #0 80258c4: f040 81ae bne.w 8025c24 { for(i = 0; i < NUM_POINTS; i++) 80258c8: 2300 movs r3, #0 80258ca: 61fb str r3, [r7, #28] 80258cc: e010 b.n 80258f0 { if(IndexMeas[i] > MaxIndexMeas) 80258ce: 4a6e ldr r2, [pc, #440] ; (8025a88 ) 80258d0: 69fb ldr r3, [r7, #28] 80258d2: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80258d6: 4b6d ldr r3, [pc, #436] ; (8025a8c ) 80258d8: 681b ldr r3, [r3, #0] 80258da: 429a cmp r2, r3 80258dc: d905 bls.n 80258ea MaxIndexMeas = IndexMeas[i]; 80258de: 4a6a ldr r2, [pc, #424] ; (8025a88 ) 80258e0: 69fb ldr r3, [r7, #28] 80258e2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80258e6: 4a69 ldr r2, [pc, #420] ; (8025a8c ) 80258e8: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 80258ea: 69fb ldr r3, [r7, #28] 80258ec: 3301 adds r3, #1 80258ee: 61fb str r3, [r7, #28] 80258f0: 69fb ldr r3, [r7, #28] 80258f2: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80258f6: d3ea bcc.n 80258ce } NextIndexPoint = IP; 80258f8: 8b7b ldrh r3, [r7, #26] 80258fa: 4a65 ldr r2, [pc, #404] ; (8025a90 ) 80258fc: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 80258fe: 4b64 ldr r3, [pc, #400] ; (8025a90 ) 8025900: 681b ldr r3, [r3, #0] 8025902: 4a61 ldr r2, [pc, #388] ; (8025a88 ) 8025904: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8025908: 4a62 ldr r2, [pc, #392] ; (8025a94 ) 802590a: 6013 str r3, [r2, #0] ifs = 96u + (sizeof(Comment) * NextIndexPoint); 802590c: 4b60 ldr r3, [pc, #384] ; (8025a90 ) 802590e: 681a ldr r2, [r3, #0] 8025910: 4613 mov r3, r2 8025912: 009b lsls r3, r3, #2 8025914: 4413 add r3, r2 8025916: 00db lsls r3, r3, #3 8025918: 3360 adds r3, #96 ; 0x60 802591a: f04f 0400 mov.w r4, #0 802591e: e9c7 3404 strd r3, r4, [r7, #16] res = f_lseek(&F, ifs); 8025922: e9d7 2304 ldrd r2, r3, [r7, #16] 8025926: 485c ldr r0, [pc, #368] ; (8025a98 ) 8025928: f0a6 f8de bl 80cbae8 802592c: 4603 mov r3, r0 802592e: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 8025932: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025936: 2b00 cmp r3, #0 8025938: d131 bne.n 802599e { res = f_read(&F, sector, sizeof(Comment), &fk); 802593a: f107 0308 add.w r3, r7, #8 802593e: 2228 movs r2, #40 ; 0x28 8025940: 4956 ldr r1, [pc, #344] ; (8025a9c ) 8025942: 4855 ldr r0, [pc, #340] ; (8025a98 ) 8025944: f0a5 fcc9 bl 80cb2da 8025948: 4603 mov r3, r0 802594a: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == sizeof(Comment))) 802594e: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025952: 2b00 cmp r3, #0 8025954: d11e bne.n 8025994 8025956: 68bb ldr r3, [r7, #8] 8025958: 2b28 cmp r3, #40 ; 0x28 802595a: d11b bne.n 8025994 { memcpy(Comment, sector, sizeof(Comment)); 802595c: 4b50 ldr r3, [pc, #320] ; (8025aa0 ) 802595e: 4a4f ldr r2, [pc, #316] ; (8025a9c ) 8025960: 4614 mov r4, r2 8025962: 469e mov lr, r3 8025964: f104 0c20 add.w ip, r4, #32 8025968: 4675 mov r5, lr 802596a: 4626 mov r6, r4 802596c: ce0f ldmia r6!, {r0, r1, r2, r3} 802596e: 6028 str r0, [r5, #0] 8025970: 6069 str r1, [r5, #4] 8025972: 60aa str r2, [r5, #8] 8025974: 60eb str r3, [r5, #12] 8025976: 3410 adds r4, #16 8025978: f10e 0e10 add.w lr, lr, #16 802597c: 4564 cmp r4, ip 802597e: d1f3 bne.n 8025968 8025980: 4672 mov r2, lr 8025982: 4623 mov r3, r4 8025984: cb03 ldmia r3!, {r0, r1} 8025986: 6010 str r0, [r2, #0] 8025988: 6051 str r1, [r2, #4] f_close(&F); 802598a: 4843 ldr r0, [pc, #268] ; (8025a98 ) 802598c: f0a6 f88c bl 80cbaa8 return FR_OK; 8025990: 2300 movs r3, #0 8025992: e149 b.n 8025c28 } else { f_close(&F); 8025994: 4840 ldr r0, [pc, #256] ; (8025a98 ) 8025996: f0a6 f887 bl 80cbaa8 return FR_DISK_ERR; 802599a: 2301 movs r3, #1 802599c: e144 b.n 8025c28 } } else { f_close(&F); 802599e: 483e ldr r0, [pc, #248] ; (8025a98 ) 80259a0: f0a6 f882 bl 80cbaa8 return FR_DISK_ERR; 80259a4: 2301 movs r3, #1 80259a6: e13f b.n 8025c28 } } } else { NextIndexPoint = 0; 80259a8: 4b39 ldr r3, [pc, #228] ; (8025a90 ) 80259aa: 2200 movs r2, #0 80259ac: 601a str r2, [r3, #0] NextIndexMeas = 1; 80259ae: 4b39 ldr r3, [pc, #228] ; (8025a94 ) 80259b0: 2201 movs r2, #1 80259b2: 601a str r2, [r3, #0] f_close(&F); 80259b4: 4838 ldr r0, [pc, #224] ; (8025a98 ) 80259b6: f0a6 f877 bl 80cbaa8 return FR_OK; 80259ba: 2300 movs r3, #0 80259bc: e134 b.n 8025c28 } } else { if(f_size(&F) > 0) 80259be: 4b36 ldr r3, [pc, #216] ; (8025a98 ) 80259c0: e9d3 3404 ldrd r3, r4, [r3, #16] 80259c4: 4323 orrs r3, r4 80259c6: f000 811c beq.w 8025c02 { for(ii = 0; ii < NUM_POINTS; ii++) 80259ca: 2300 movs r3, #0 80259cc: 833b strh r3, [r7, #24] 80259ce: e0e8 b.n 8025ba2 { ifs = 0; 80259d0: f04f 0300 mov.w r3, #0 80259d4: f04f 0400 mov.w r4, #0 80259d8: e9c7 3404 strd r3, r4, [r7, #16] im = 0; 80259dc: 2300 movs r3, #0 80259de: 623b str r3, [r7, #32] while(ifs < f_size(&F)) 80259e0: e0d2 b.n 8025b88 { res = f_lseek(&F, ifs); 80259e2: e9d7 2304 ldrd r2, r3, [r7, #16] 80259e6: 482c ldr r0, [pc, #176] ; (8025a98 ) 80259e8: f0a6 f87e bl 80cbae8 80259ec: 4603 mov r3, r0 80259ee: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 80259f2: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80259f6: 2b00 cmp r3, #0 80259f8: f040 80a2 bne.w 8025b40 { res = f_read(&F, sector, 29, &fk); 80259fc: f107 0308 add.w r3, r7, #8 8025a00: 221d movs r2, #29 8025a02: 4926 ldr r1, [pc, #152] ; (8025a9c ) 8025a04: 4824 ldr r0, [pc, #144] ; (8025a98 ) 8025a06: f0a5 fc68 bl 80cb2da 8025a0a: 4603 mov r3, r0 8025a0c: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == 29)) 8025a10: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025a14: 2b00 cmp r3, #0 8025a16: d16f bne.n 8025af8 8025a18: 68bb ldr r3, [r7, #8] 8025a1a: 2b1d cmp r3, #29 8025a1c: d16c bne.n 8025af8 { if((sector[e13] == 0xD) && (sector[e10] == 0xA)) 8025a1e: 4b1f ldr r3, [pc, #124] ; (8025a9c ) 8025a20: 7edb ldrb r3, [r3, #27] 8025a22: 2b0d cmp r3, #13 8025a24: d12c bne.n 8025a80 8025a26: 4b1d ldr r3, [pc, #116] ; (8025a9c ) 8025a28: 7f1b ldrb r3, [r3, #28] 8025a2a: 2b0a cmp r3, #10 8025a2c: d128 bne.n 8025a80 { IM = sector[eMeas + 1]; 8025a2e: 4b1b ldr r3, [pc, #108] ; (8025a9c ) 8025a30: 78db ldrb r3, [r3, #3] 8025a32: 81fb strh r3, [r7, #14] IM = (IM << 8) | sector[eMeas]; 8025a34: 89fb ldrh r3, [r7, #14] 8025a36: 021b lsls r3, r3, #8 8025a38: b21a sxth r2, r3 8025a3a: 4b18 ldr r3, [pc, #96] ; (8025a9c ) 8025a3c: 789b ldrb r3, [r3, #2] 8025a3e: b21b sxth r3, r3 8025a40: 4313 orrs r3, r2 8025a42: b21b sxth r3, r3 8025a44: 81fb strh r3, [r7, #14] IP = sector[ePoint + 1]; 8025a46: 4b15 ldr r3, [pc, #84] ; (8025a9c ) 8025a48: 785b ldrb r3, [r3, #1] 8025a4a: 837b strh r3, [r7, #26] IP = (IP << 8) | sector[ePoint]; 8025a4c: 8b7b ldrh r3, [r7, #26] 8025a4e: 021b lsls r3, r3, #8 8025a50: b21a sxth r2, r3 8025a52: 4b12 ldr r3, [pc, #72] ; (8025a9c ) 8025a54: 781b ldrb r3, [r3, #0] 8025a56: b21b sxth r3, r3 8025a58: 4313 orrs r3, r2 8025a5a: b21b sxth r3, r3 8025a5c: 837b strh r3, [r7, #26] if((IP == ii) && (IM > im) && (IM < 65536)) 8025a5e: 8b7a ldrh r2, [r7, #26] 8025a60: 8b3b ldrh r3, [r7, #24] 8025a62: 429a cmp r2, r3 8025a64: d13f bne.n 8025ae6 8025a66: 89fa ldrh r2, [r7, #14] 8025a68: 6a3b ldr r3, [r7, #32] 8025a6a: 429a cmp r2, r3 8025a6c: d93b bls.n 8025ae6 { im = IM; 8025a6e: 89fb ldrh r3, [r7, #14] 8025a70: 623b str r3, [r7, #32] IndexMeas[ii] = (im + 1); 8025a72: 8b3b ldrh r3, [r7, #24] 8025a74: 6a3a ldr r2, [r7, #32] 8025a76: 3201 adds r2, #1 8025a78: 4903 ldr r1, [pc, #12] ; (8025a88 ) 8025a7a: f841 2023 str.w r2, [r1, r3, lsl #2] if((IP == ii) && (IM > im) && (IM < 65536)) 8025a7e: e032 b.n 8025ae6 } } else { for(i = 0; i < NUM_POINTS; i++) 8025a80: 2300 movs r3, #0 8025a82: 61fb str r3, [r7, #28] 8025a84: e01f b.n 8025ac6 8025a86: bf00 nop 8025a88: 20022ef8 .word 0x20022ef8 8025a8c: 200229d8 .word 0x200229d8 8025a90: 20021fec .word 0x20021fec 8025a94: 20022360 .word 0x20022360 8025a98: 20022e78 .word 0x20022e78 8025a9c: 2007c000 .word 0x2007c000 8025aa0: 200226a0 .word 0x200226a0 { if(IndexMeas[i] > MaxIndexMeas) 8025aa4: 4a62 ldr r2, [pc, #392] ; (8025c30 ) 8025aa6: 69fb ldr r3, [r7, #28] 8025aa8: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8025aac: 4b61 ldr r3, [pc, #388] ; (8025c34 ) 8025aae: 681b ldr r3, [r3, #0] 8025ab0: 429a cmp r2, r3 8025ab2: d905 bls.n 8025ac0 MaxIndexMeas = IndexMeas[i]; 8025ab4: 4a5e ldr r2, [pc, #376] ; (8025c30 ) 8025ab6: 69fb ldr r3, [r7, #28] 8025ab8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8025abc: 4a5d ldr r2, [pc, #372] ; (8025c34 ) 8025abe: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8025ac0: 69fb ldr r3, [r7, #28] 8025ac2: 3301 adds r3, #1 8025ac4: 61fb str r3, [r7, #28] 8025ac6: 69fb ldr r3, [r7, #28] 8025ac8: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8025acc: d3ea bcc.n 8025aa4 } NextIndexPoint = IP; 8025ace: 8b7b ldrh r3, [r7, #26] 8025ad0: 4a59 ldr r2, [pc, #356] ; (8025c38 ) 8025ad2: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8025ad4: 4b57 ldr r3, [pc, #348] ; (8025c34 ) 8025ad6: 681b ldr r3, [r3, #0] 8025ad8: 4a58 ldr r2, [pc, #352] ; (8025c3c ) 8025ada: 6013 str r3, [r2, #0] f_close(&F); 8025adc: 4858 ldr r0, [pc, #352] ; (8025c40 ) 8025ade: f0a5 ffe3 bl 80cbaa8 return FR_INVALID_OBJECT; 8025ae2: 2309 movs r3, #9 8025ae4: e0a0 b.n 8025c28 if((IP == ii) && (IM > im) && (IM < 65536)) 8025ae6: bf00 nop } ifs += 29; 8025ae8: e9d7 3404 ldrd r3, r4, [r7, #16] 8025aec: 331d adds r3, #29 8025aee: f144 0400 adc.w r4, r4, #0 8025af2: e9c7 3404 strd r3, r4, [r7, #16] 8025af6: e047 b.n 8025b88 } else { for(i = 0; i < NUM_POINTS; i++) 8025af8: 2300 movs r3, #0 8025afa: 61fb str r3, [r7, #28] 8025afc: e010 b.n 8025b20 { if(IndexMeas[i] > MaxIndexMeas) 8025afe: 4a4c ldr r2, [pc, #304] ; (8025c30 ) 8025b00: 69fb ldr r3, [r7, #28] 8025b02: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8025b06: 4b4b ldr r3, [pc, #300] ; (8025c34 ) 8025b08: 681b ldr r3, [r3, #0] 8025b0a: 429a cmp r2, r3 8025b0c: d905 bls.n 8025b1a MaxIndexMeas = IndexMeas[i]; 8025b0e: 4a48 ldr r2, [pc, #288] ; (8025c30 ) 8025b10: 69fb ldr r3, [r7, #28] 8025b12: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8025b16: 4a47 ldr r2, [pc, #284] ; (8025c34 ) 8025b18: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8025b1a: 69fb ldr r3, [r7, #28] 8025b1c: 3301 adds r3, #1 8025b1e: 61fb str r3, [r7, #28] 8025b20: 69fb ldr r3, [r7, #28] 8025b22: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8025b26: d3ea bcc.n 8025afe } NextIndexPoint = IP; 8025b28: 8b7b ldrh r3, [r7, #26] 8025b2a: 4a43 ldr r2, [pc, #268] ; (8025c38 ) 8025b2c: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8025b2e: 4b41 ldr r3, [pc, #260] ; (8025c34 ) 8025b30: 681b ldr r3, [r3, #0] 8025b32: 4a42 ldr r2, [pc, #264] ; (8025c3c ) 8025b34: 6013 str r3, [r2, #0] f_close(&F); 8025b36: 4842 ldr r0, [pc, #264] ; (8025c40 ) 8025b38: f0a5 ffb6 bl 80cbaa8 return FR_DISK_ERR; 8025b3c: 2301 movs r3, #1 8025b3e: e073 b.n 8025c28 } } else { for(i = 0; i < NUM_POINTS; i++) 8025b40: 2300 movs r3, #0 8025b42: 61fb str r3, [r7, #28] 8025b44: e010 b.n 8025b68 { if(IndexMeas[i] > MaxIndexMeas) 8025b46: 4a3a ldr r2, [pc, #232] ; (8025c30 ) 8025b48: 69fb ldr r3, [r7, #28] 8025b4a: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8025b4e: 4b39 ldr r3, [pc, #228] ; (8025c34 ) 8025b50: 681b ldr r3, [r3, #0] 8025b52: 429a cmp r2, r3 8025b54: d905 bls.n 8025b62 MaxIndexMeas = IndexMeas[i]; 8025b56: 4a36 ldr r2, [pc, #216] ; (8025c30 ) 8025b58: 69fb ldr r3, [r7, #28] 8025b5a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8025b5e: 4a35 ldr r2, [pc, #212] ; (8025c34 ) 8025b60: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8025b62: 69fb ldr r3, [r7, #28] 8025b64: 3301 adds r3, #1 8025b66: 61fb str r3, [r7, #28] 8025b68: 69fb ldr r3, [r7, #28] 8025b6a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8025b6e: d3ea bcc.n 8025b46 } NextIndexPoint = IP; 8025b70: 8b7b ldrh r3, [r7, #26] 8025b72: 4a31 ldr r2, [pc, #196] ; (8025c38 ) 8025b74: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8025b76: 4b2f ldr r3, [pc, #188] ; (8025c34 ) 8025b78: 681b ldr r3, [r3, #0] 8025b7a: 4a30 ldr r2, [pc, #192] ; (8025c3c ) 8025b7c: 6013 str r3, [r2, #0] f_close(&F); 8025b7e: 4830 ldr r0, [pc, #192] ; (8025c40 ) 8025b80: f0a5 ff92 bl 80cbaa8 return FR_DISK_ERR; 8025b84: 2301 movs r3, #1 8025b86: e04f b.n 8025c28 while(ifs < f_size(&F)) 8025b88: 4b2d ldr r3, [pc, #180] ; (8025c40 ) 8025b8a: e9d3 3404 ldrd r3, r4, [r3, #16] 8025b8e: e9d7 1204 ldrd r1, r2, [r7, #16] 8025b92: 42a2 cmp r2, r4 8025b94: bf08 it eq 8025b96: 4299 cmpeq r1, r3 8025b98: f4ff af23 bcc.w 80259e2 for(ii = 0; ii < NUM_POINTS; ii++) 8025b9c: 8b3b ldrh r3, [r7, #24] 8025b9e: 3301 adds r3, #1 8025ba0: 833b strh r3, [r7, #24] 8025ba2: 8b3b ldrh r3, [r7, #24] 8025ba4: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8025ba8: f4ff af12 bcc.w 80259d0 } } } // end for(ii = 0; ...) if(res == FR_OK) 8025bac: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025bb0: 2b00 cmp r3, #0 8025bb2: d137 bne.n 8025c24 { for(i = 0; i < NUM_POINTS; i++) 8025bb4: 2300 movs r3, #0 8025bb6: 61fb str r3, [r7, #28] 8025bb8: e010 b.n 8025bdc { if(IndexMeas[i] > MaxIndexMeas) 8025bba: 4a1d ldr r2, [pc, #116] ; (8025c30 ) 8025bbc: 69fb ldr r3, [r7, #28] 8025bbe: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8025bc2: 4b1c ldr r3, [pc, #112] ; (8025c34 ) 8025bc4: 681b ldr r3, [r3, #0] 8025bc6: 429a cmp r2, r3 8025bc8: d905 bls.n 8025bd6 MaxIndexMeas = IndexMeas[i]; 8025bca: 4a19 ldr r2, [pc, #100] ; (8025c30 ) 8025bcc: 69fb ldr r3, [r7, #28] 8025bce: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8025bd2: 4a18 ldr r2, [pc, #96] ; (8025c34 ) 8025bd4: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8025bd6: 69fb ldr r3, [r7, #28] 8025bd8: 3301 adds r3, #1 8025bda: 61fb str r3, [r7, #28] 8025bdc: 69fb ldr r3, [r7, #28] 8025bde: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8025be2: d3ea bcc.n 8025bba } NextIndexPoint = IP; 8025be4: 8b7b ldrh r3, [r7, #26] 8025be6: 4a14 ldr r2, [pc, #80] ; (8025c38 ) 8025be8: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 8025bea: 4b13 ldr r3, [pc, #76] ; (8025c38 ) 8025bec: 681b ldr r3, [r3, #0] 8025bee: 4a10 ldr r2, [pc, #64] ; (8025c30 ) 8025bf0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8025bf4: 4a11 ldr r2, [pc, #68] ; (8025c3c ) 8025bf6: 6013 str r3, [r2, #0] f_close(&F); 8025bf8: 4811 ldr r0, [pc, #68] ; (8025c40 ) 8025bfa: f0a5 ff55 bl 80cbaa8 return FR_OK; 8025bfe: 2300 movs r3, #0 8025c00: e012 b.n 8025c28 } } else { NextIndexPoint = 0; 8025c02: 4b0d ldr r3, [pc, #52] ; (8025c38 ) 8025c04: 2200 movs r2, #0 8025c06: 601a str r2, [r3, #0] NextIndexMeas = 1; 8025c08: 4b0c ldr r3, [pc, #48] ; (8025c3c ) 8025c0a: 2201 movs r2, #1 8025c0c: 601a str r2, [r3, #0] f_close(&F); 8025c0e: 480c ldr r0, [pc, #48] ; (8025c40 ) 8025c10: f0a5 ff4a bl 80cbaa8 return FR_OK; 8025c14: 2300 movs r3, #0 8025c16: e007 b.n 8025c28 } } } else { NextIndexPoint = 0; 8025c18: 4b07 ldr r3, [pc, #28] ; (8025c38 ) 8025c1a: 2200 movs r2, #0 8025c1c: 601a str r2, [r3, #0] NextIndexMeas = 1; 8025c1e: 4b07 ldr r3, [pc, #28] ; (8025c3c ) 8025c20: 2201 movs r2, #1 8025c22: 601a str r2, [r3, #0] } return res; 8025c24: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 } 8025c28: 4618 mov r0, r3 8025c2a: 372c adds r7, #44 ; 0x2c 8025c2c: 46bd mov sp, r7 8025c2e: bdf0 pop {r4, r5, r6, r7, pc} 8025c30: 20022ef8 .word 0x20022ef8 8025c34: 200229d8 .word 0x200229d8 8025c38: 20021fec .word 0x20021fec 8025c3c: 20022360 .word 0x20022360 8025c40: 20022e78 .word 0x20022e78 08025c44 : FRESULT ReadTrendPTM(char* fname) { 8025c44: b5f0 push {r4, r5, r6, r7, lr} 8025c46: b089 sub sp, #36 ; 0x24 8025c48: af00 add r7, sp, #0 8025c4a: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8025c4c: 2300 movs r3, #0 8025c4e: 77fb strb r3, [r7, #31] uint16_t IP; UINT fk; FSIZE_t ifs; NumTrendMeas = 0; 8025c50: 4b92 ldr r3, [pc, #584] ; (8025e9c ) 8025c52: 2200 movs r2, #0 8025c54: 601a str r2, [r3, #0] memset(pTrendRAM, 0, 1000u * sizeof(TrendData_TypeDef)); 8025c56: f644 6220 movw r2, #20000 ; 0x4e20 8025c5a: 2100 movs r1, #0 8025c5c: 4890 ldr r0, [pc, #576] ; (8025ea0 ) 8025c5e: f0ac f9a1 bl 80d1fa4 if(CardState != MSD_READY) { 8025c62: 4b90 ldr r3, [pc, #576] ; (8025ea4 ) 8025c64: 781b ldrb r3, [r3, #0] 8025c66: b2db uxtb r3, r3 8025c68: 2b03 cmp r3, #3 8025c6a: d001 beq.n 8025c70 return FR_NOT_READY; 8025c6c: 2303 movs r3, #3 8025c6e: e1a1 b.n 8025fb4 } if(res == FR_OK) 8025c70: 7ffb ldrb r3, [r7, #31] 8025c72: 2b00 cmp r3, #0 8025c74: f040 819d bne.w 8025fb2 { memset(FileName, 0, sizeof(FileName)); 8025c78: 2228 movs r2, #40 ; 0x28 8025c7a: 2100 movs r1, #0 8025c7c: 488a ldr r0, [pc, #552] ; (8025ea8 ) 8025c7e: f0ac f991 bl 80d1fa4 strcpy(FileName, fname); 8025c82: 6879 ldr r1, [r7, #4] 8025c84: 4888 ldr r0, [pc, #544] ; (8025ea8 ) 8025c86: f0ac faaa bl 80d21de memset(PointPath, 0, sizeof(PointPath)); 8025c8a: f44f 7200 mov.w r2, #512 ; 0x200 8025c8e: 2100 movs r1, #0 8025c90: 4886 ldr r0, [pc, #536] ; (8025eac ) 8025c92: f0ac f987 bl 80d1fa4 memset(SearchPath, 0, sizeof(SearchPath)); 8025c96: f44f 7200 mov.w r2, #512 ; 0x200 8025c9a: 2100 movs r1, #0 8025c9c: 4884 ldr r0, [pc, #528] ; (8025eb0 ) 8025c9e: f0ac f981 bl 80d1fa4 SearchPath[0] = '0'; 8025ca2: 4b83 ldr r3, [pc, #524] ; (8025eb0 ) 8025ca4: 2230 movs r2, #48 ; 0x30 8025ca6: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8025ca8: 4b81 ldr r3, [pc, #516] ; (8025eb0 ) 8025caa: 223a movs r2, #58 ; 0x3a 8025cac: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8025cae: 4b81 ldr r3, [pc, #516] ; (8025eb4 ) 8025cb0: 220b movs r2, #11 8025cb2: 701a strb r2, [r3, #0] FlagReturn = false; 8025cb4: 4b80 ldr r3, [pc, #512] ; (8025eb8 ) 8025cb6: 2200 movs r2, #0 8025cb8: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8025cba: 2100 movs r1, #0 8025cbc: 487c ldr r0, [pc, #496] ; (8025eb0 ) 8025cbe: f004 fe8f bl 802a9e0 if(PointPath[0] == 0) 8025cc2: 4b7a ldr r3, [pc, #488] ; (8025eac ) 8025cc4: 781b ldrb r3, [r3, #0] 8025cc6: 2b00 cmp r3, #0 8025cc8: d102 bne.n 8025cd0 { res = FR_NO_FILE; 8025cca: 2304 movs r3, #4 8025ccc: 77fb strb r3, [r7, #31] 8025cce: e170 b.n 8025fb2 } else { res = f_open(&F, PointPath, FA_READ); 8025cd0: 2201 movs r2, #1 8025cd2: 4976 ldr r1, [pc, #472] ; (8025eac ) 8025cd4: 4879 ldr r0, [pc, #484] ; (8025ebc ) 8025cd6: f0a5 f8a3 bl 80cae20 8025cda: 4603 mov r3, r0 8025cdc: 77fb strb r3, [r7, #31] if(res == FR_OK) 8025cde: 7ffb ldrb r3, [r7, #31] 8025ce0: 2b00 cmp r3, #0 8025ce2: f040 8166 bne.w 8025fb2 { memset(sector, 0xff, sizeof(sector)); 8025ce6: f44f 7200 mov.w r2, #512 ; 0x200 8025cea: 21ff movs r1, #255 ; 0xff 8025cec: 4874 ldr r0, [pc, #464] ; (8025ec0 ) 8025cee: f0ac f959 bl 80d1fa4 if(f_size(&F) == 0) 8025cf2: 4b72 ldr r3, [pc, #456] ; (8025ebc ) 8025cf4: e9d3 3404 ldrd r3, r4, [r3, #16] 8025cf8: 4323 orrs r3, r4 8025cfa: d105 bne.n 8025d08 { f_close(&F); 8025cfc: 486f ldr r0, [pc, #444] ; (8025ebc ) 8025cfe: f0a5 fed3 bl 80cbaa8 res = FR_OK; 8025d02: 2300 movs r3, #0 8025d04: 77fb strb r3, [r7, #31] 8025d06: e154 b.n 8025fb2 } else { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 8025d08: f04f 0200 mov.w r2, #0 8025d0c: f04f 0300 mov.w r3, #0 8025d10: 486a ldr r0, [pc, #424] ; (8025ebc ) 8025d12: f0a5 fee9 bl 80cbae8 8025d16: 4603 mov r3, r0 8025d18: 77fb strb r3, [r7, #31] if(res == FR_OK) 8025d1a: 7ffb ldrb r3, [r7, #31] 8025d1c: 2b00 cmp r3, #0 8025d1e: d170 bne.n 8025e02 { res = f_read(&F, sector, 6, &fk); 8025d20: f107 0308 add.w r3, r7, #8 8025d24: 2206 movs r2, #6 8025d26: 4966 ldr r1, [pc, #408] ; (8025ec0 ) 8025d28: 4864 ldr r0, [pc, #400] ; (8025ebc ) 8025d2a: f0a5 fad6 bl 80cb2da 8025d2e: 4603 mov r3, r0 8025d30: 77fb strb r3, [r7, #31] if((res == FR_OK) && (fk == 6)) 8025d32: 7ffb ldrb r3, [r7, #31] 8025d34: 2b00 cmp r3, #0 8025d36: d15f bne.n 8025df8 8025d38: 68bb ldr r3, [r7, #8] 8025d3a: 2b06 cmp r3, #6 8025d3c: d15c bne.n 8025df8 { sector[6] = '\0'; 8025d3e: 4b60 ldr r3, [pc, #384] ; (8025ec0 ) 8025d40: 2200 movs r2, #0 8025d42: 719a strb r2, [r3, #6] if(strcmp((char *) sector, "Extend")) 8025d44: 495f ldr r1, [pc, #380] ; (8025ec4 ) 8025d46: 485e ldr r0, [pc, #376] ; (8025ec0 ) 8025d48: f7fa fada bl 8020300 8025d4c: 4603 mov r3, r0 8025d4e: 2b00 cmp r3, #0 8025d50: d006 beq.n 8025d60 { //Ñòàðàÿ âåðñèÿ ôàéëà ifs = 0; 8025d52: f04f 0300 mov.w r3, #0 8025d56: f04f 0400 mov.w r4, #0 8025d5a: e9c7 3404 strd r3, r4, [r7, #16] if(strcmp((char *) sector, "Extend")) 8025d5e: e055 b.n 8025e0c } else { //Ðàñøèðåííàÿ âåðñèÿ ôàéëà ñ êîììåíòàðèÿìè ifs = 96u + (sizeof(Comment) * NextIndexPoint); 8025d60: 4b59 ldr r3, [pc, #356] ; (8025ec8 ) 8025d62: 681a ldr r2, [r3, #0] 8025d64: 4613 mov r3, r2 8025d66: 009b lsls r3, r3, #2 8025d68: 4413 add r3, r2 8025d6a: 00db lsls r3, r3, #3 8025d6c: 3360 adds r3, #96 ; 0x60 8025d6e: f04f 0400 mov.w r4, #0 8025d72: e9c7 3404 strd r3, r4, [r7, #16] res = f_lseek(&F, ifs); 8025d76: e9d7 2304 ldrd r2, r3, [r7, #16] 8025d7a: 4850 ldr r0, [pc, #320] ; (8025ebc ) 8025d7c: f0a5 feb4 bl 80cbae8 8025d80: 4603 mov r3, r0 8025d82: 77fb strb r3, [r7, #31] if(res == FR_OK) 8025d84: 7ffb ldrb r3, [r7, #31] 8025d86: 2b00 cmp r3, #0 8025d88: d131 bne.n 8025dee { res = f_read(&F, sector, sizeof(Comment), &fk); 8025d8a: f107 0308 add.w r3, r7, #8 8025d8e: 2228 movs r2, #40 ; 0x28 8025d90: 494b ldr r1, [pc, #300] ; (8025ec0 ) 8025d92: 484a ldr r0, [pc, #296] ; (8025ebc ) 8025d94: f0a5 faa1 bl 80cb2da 8025d98: 4603 mov r3, r0 8025d9a: 77fb strb r3, [r7, #31] if((res == FR_OK) && (fk == sizeof(Comment))) 8025d9c: 7ffb ldrb r3, [r7, #31] 8025d9e: 2b00 cmp r3, #0 8025da0: d120 bne.n 8025de4 8025da2: 68bb ldr r3, [r7, #8] 8025da4: 2b28 cmp r3, #40 ; 0x28 8025da6: d11d bne.n 8025de4 { memcpy(Comment, sector, sizeof(Comment)); 8025da8: 4b48 ldr r3, [pc, #288] ; (8025ecc ) 8025daa: 4a45 ldr r2, [pc, #276] ; (8025ec0 ) 8025dac: 4614 mov r4, r2 8025dae: 469e mov lr, r3 8025db0: f104 0c20 add.w ip, r4, #32 8025db4: 4675 mov r5, lr 8025db6: 4626 mov r6, r4 8025db8: ce0f ldmia r6!, {r0, r1, r2, r3} 8025dba: 6028 str r0, [r5, #0] 8025dbc: 6069 str r1, [r5, #4] 8025dbe: 60aa str r2, [r5, #8] 8025dc0: 60eb str r3, [r5, #12] 8025dc2: 3410 adds r4, #16 8025dc4: f10e 0e10 add.w lr, lr, #16 8025dc8: 4564 cmp r4, ip 8025dca: d1f3 bne.n 8025db4 8025dcc: 4672 mov r2, lr 8025dce: 4623 mov r3, r4 8025dd0: cb03 ldmia r3!, {r0, r1} 8025dd2: 6010 str r0, [r2, #0] 8025dd4: 6051 str r1, [r2, #4] ifs = 96u + (NUM_POINTS * sizeof(Comment)); 8025dd6: f649 43a0 movw r3, #40096 ; 0x9ca0 8025dda: f04f 0400 mov.w r4, #0 8025dde: e9c7 3404 strd r3, r4, [r7, #16] if(strcmp((char *) sector, "Extend")) 8025de2: e013 b.n 8025e0c } else { f_close(&F); 8025de4: 4835 ldr r0, [pc, #212] ; (8025ebc ) 8025de6: f0a5 fe5f bl 80cbaa8 return FR_DISK_ERR; 8025dea: 2301 movs r3, #1 8025dec: e0e2 b.n 8025fb4 } } else { f_close(&F); 8025dee: 4833 ldr r0, [pc, #204] ; (8025ebc ) 8025df0: f0a5 fe5a bl 80cbaa8 return FR_DISK_ERR; 8025df4: 2301 movs r3, #1 8025df6: e0dd b.n 8025fb4 } } } else { f_close(&F); 8025df8: 4830 ldr r0, [pc, #192] ; (8025ebc ) 8025dfa: f0a5 fe55 bl 80cbaa8 return FR_DISK_ERR; 8025dfe: 2301 movs r3, #1 8025e00: e0d8 b.n 8025fb4 } } else { f_close(&F); 8025e02: 482e ldr r0, [pc, #184] ; (8025ebc ) 8025e04: f0a5 fe50 bl 80cbaa8 return FR_DISK_ERR; 8025e08: 2301 movs r3, #1 8025e0a: e0d3 b.n 8025fb4 } /////////////////////////////////////////////////////////////////////////////// while(ifs < f_size(&F)) 8025e0c: e0c2 b.n 8025f94 { res = f_lseek(&F, ifs); 8025e0e: e9d7 2304 ldrd r2, r3, [r7, #16] 8025e12: 482a ldr r0, [pc, #168] ; (8025ebc ) 8025e14: f0a5 fe68 bl 80cbae8 8025e18: 4603 mov r3, r0 8025e1a: 77fb strb r3, [r7, #31] if(res == FR_OK) 8025e1c: 7ffb ldrb r3, [r7, #31] 8025e1e: 2b00 cmp r3, #0 8025e20: f040 80b3 bne.w 8025f8a { res = f_read(&F, sector, 29, &fk); 8025e24: f107 0308 add.w r3, r7, #8 8025e28: 221d movs r2, #29 8025e2a: 4925 ldr r1, [pc, #148] ; (8025ec0 ) 8025e2c: 4823 ldr r0, [pc, #140] ; (8025ebc ) 8025e2e: f0a5 fa54 bl 80cb2da 8025e32: 4603 mov r3, r0 8025e34: 77fb strb r3, [r7, #31] if((res == FR_OK) && (fk == 29)) 8025e36: 7ffb ldrb r3, [r7, #31] 8025e38: 2b00 cmp r3, #0 8025e3a: f040 80a1 bne.w 8025f80 8025e3e: 68bb ldr r3, [r7, #8] 8025e40: 2b1d cmp r3, #29 8025e42: f040 809d bne.w 8025f80 { if((sector[e13] == 0xD) && (sector[e10] == 0xA)) 8025e46: 4b1e ldr r3, [pc, #120] ; (8025ec0 ) 8025e48: 7edb ldrb r3, [r3, #27] 8025e4a: 2b0d cmp r3, #13 8025e4c: f040 808b bne.w 8025f66 8025e50: 4b1b ldr r3, [pc, #108] ; (8025ec0 ) 8025e52: 7f1b ldrb r3, [r3, #28] 8025e54: 2b0a cmp r3, #10 8025e56: f040 8086 bne.w 8025f66 { IP = sector[ePoint + 1]; 8025e5a: 4b19 ldr r3, [pc, #100] ; (8025ec0 ) 8025e5c: 785b ldrb r3, [r3, #1] 8025e5e: 81fb strh r3, [r7, #14] IP = (IP << 8) | sector[ePoint]; 8025e60: 89fb ldrh r3, [r7, #14] 8025e62: 021b lsls r3, r3, #8 8025e64: b21a sxth r2, r3 8025e66: 4b16 ldr r3, [pc, #88] ; (8025ec0 ) 8025e68: 781b ldrb r3, [r3, #0] 8025e6a: b21b sxth r3, r3 8025e6c: 4313 orrs r3, r2 8025e6e: b21b sxth r3, r3 8025e70: 81fb strh r3, [r7, #14] if(NextIndexPoint == IP) 8025e72: 89fa ldrh r2, [r7, #14] 8025e74: 4b14 ldr r3, [pc, #80] ; (8025ec8 ) 8025e76: 681b ldr r3, [r3, #0] 8025e78: 429a cmp r2, r3 8025e7a: d179 bne.n 8025f70 { TrendData.Aivs = sector[eAivs]; 8025e7c: 4b10 ldr r3, [pc, #64] ; (8025ec0 ) 8025e7e: 7d1a ldrb r2, [r3, #20] 8025e80: 4b13 ldr r3, [pc, #76] ; (8025ed0 ) 8025e82: 741a strb r2, [r3, #16] TrendData.Vivs = sector[eVivs]; 8025e84: 4b0e ldr r3, [pc, #56] ; (8025ec0 ) 8025e86: 7d5a ldrb r2, [r3, #21] 8025e88: 4b11 ldr r3, [pc, #68] ; (8025ed0 ) 8025e8a: 745a strb r2, [r3, #17] TrendData.Sivs = sector[eSivs]; 8025e8c: 4b0c ldr r3, [pc, #48] ; (8025ec0 ) 8025e8e: 7d9a ldrb r2, [r3, #22] 8025e90: 4b0f ldr r3, [pc, #60] ; (8025ed0 ) 8025e92: 749a strb r2, [r3, #18] for(i = 0; i < 4; i++) 8025e94: 2300 movs r3, #0 8025e96: 61bb str r3, [r7, #24] 8025e98: e03c b.n 8025f14 8025e9a: bf00 nop 8025e9c: 20020e34 .word 0x20020e34 8025ea0: 640a0000 .word 0x640a0000 8025ea4: 2002169c .word 0x2002169c 8025ea8: 20022c10 .word 0x20022c10 8025eac: 20022a0c .word 0x20022a0c 8025eb0: 20021dd0 .word 0x20021dd0 8025eb4: 20020dff .word 0x20020dff 8025eb8: 20020dfe .word 0x20020dfe 8025ebc: 20022e78 .word 0x20022e78 8025ec0: 2007c000 .word 0x2007c000 8025ec4: 080d4eac .word 0x080d4eac 8025ec8: 20021fec .word 0x20021fec 8025ecc: 200226a0 .word 0x200226a0 8025ed0: 20021fd8 .word 0x20021fd8 { TrendData.Aval.ch[i] = sector[eAval + i]; 8025ed4: 69bb ldr r3, [r7, #24] 8025ed6: 3304 adds r3, #4 8025ed8: 4a38 ldr r2, [pc, #224] ; (8025fbc ) 8025eda: 5cd1 ldrb r1, [r2, r3] 8025edc: 4a38 ldr r2, [pc, #224] ; (8025fc0 ) 8025ede: 69bb ldr r3, [r7, #24] 8025ee0: 4413 add r3, r2 8025ee2: 460a mov r2, r1 8025ee4: 701a strb r2, [r3, #0] TrendData.Vval.ch[i] = sector[eVval + i]; 8025ee6: 69bb ldr r3, [r7, #24] 8025ee8: 3308 adds r3, #8 8025eea: 4a34 ldr r2, [pc, #208] ; (8025fbc ) 8025eec: 5cd1 ldrb r1, [r2, r3] 8025eee: 4a34 ldr r2, [pc, #208] ; (8025fc0 ) 8025ef0: 69bb ldr r3, [r7, #24] 8025ef2: 4413 add r3, r2 8025ef4: 3304 adds r3, #4 8025ef6: 460a mov r2, r1 8025ef8: 701a strb r2, [r3, #0] TrendData.Sval.ch[i] = sector[eSval + i]; 8025efa: 69bb ldr r3, [r7, #24] 8025efc: 330c adds r3, #12 8025efe: 4a2f ldr r2, [pc, #188] ; (8025fbc ) 8025f00: 5cd1 ldrb r1, [r2, r3] 8025f02: 4a2f ldr r2, [pc, #188] ; (8025fc0 ) 8025f04: 69bb ldr r3, [r7, #24] 8025f06: 4413 add r3, r2 8025f08: 3308 adds r3, #8 8025f0a: 460a mov r2, r1 8025f0c: 701a strb r2, [r3, #0] for(i = 0; i < 4; i++) 8025f0e: 69bb ldr r3, [r7, #24] 8025f10: 3301 adds r3, #1 8025f12: 61bb str r3, [r7, #24] 8025f14: 69bb ldr r3, [r7, #24] 8025f16: 2b03 cmp r3, #3 8025f18: d9dc bls.n 8025ed4 } TrendData.DateTime = (sector[eDateTime + 3] << 24) | (sector[eDateTime + 2] << 16) | (sector[eDateTime + 1] << 8) | sector[eDateTime]; 8025f1a: 4b28 ldr r3, [pc, #160] ; (8025fbc ) 8025f1c: 7cdb ldrb r3, [r3, #19] 8025f1e: 061a lsls r2, r3, #24 8025f20: 4b26 ldr r3, [pc, #152] ; (8025fbc ) 8025f22: 7c9b ldrb r3, [r3, #18] 8025f24: 041b lsls r3, r3, #16 8025f26: 431a orrs r2, r3 8025f28: 4b24 ldr r3, [pc, #144] ; (8025fbc ) 8025f2a: 7c5b ldrb r3, [r3, #17] 8025f2c: 021b lsls r3, r3, #8 8025f2e: 4313 orrs r3, r2 8025f30: 4a22 ldr r2, [pc, #136] ; (8025fbc ) 8025f32: 7c12 ldrb r2, [r2, #16] 8025f34: 4313 orrs r3, r2 8025f36: 461a mov r2, r3 8025f38: 4b21 ldr r3, [pc, #132] ; (8025fc0 ) 8025f3a: 60da str r2, [r3, #12] TrendRAM(NumTrendMeas++) = TrendData; 8025f3c: 4b21 ldr r3, [pc, #132] ; (8025fc4 ) 8025f3e: 681a ldr r2, [r3, #0] 8025f40: 1c53 adds r3, r2, #1 8025f42: 4920 ldr r1, [pc, #128] ; (8025fc4 ) 8025f44: 600b str r3, [r1, #0] 8025f46: 4613 mov r3, r2 8025f48: 009b lsls r3, r3, #2 8025f4a: 4413 add r3, r2 8025f4c: 009b lsls r3, r3, #2 8025f4e: 461a mov r2, r3 8025f50: 4b1d ldr r3, [pc, #116] ; (8025fc8 ) 8025f52: 4413 add r3, r2 8025f54: 461a mov r2, r3 8025f56: 4b1a ldr r3, [pc, #104] ; (8025fc0 ) 8025f58: 4614 mov r4, r2 8025f5a: 461d mov r5, r3 8025f5c: cd0f ldmia r5!, {r0, r1, r2, r3} 8025f5e: c40f stmia r4!, {r0, r1, r2, r3} 8025f60: 682b ldr r3, [r5, #0] 8025f62: 6023 str r3, [r4, #0] if(NextIndexPoint == IP) 8025f64: e004 b.n 8025f70 } } else { //BAD DATA IN FILE!!!!!!!!!!!!!! f_close(&F); 8025f66: 4819 ldr r0, [pc, #100] ; (8025fcc ) 8025f68: f0a5 fd9e bl 80cbaa8 return FR_INVALID_OBJECT; 8025f6c: 2309 movs r3, #9 8025f6e: e021 b.n 8025fb4 } ifs += 29; 8025f70: e9d7 3404 ldrd r3, r4, [r7, #16] 8025f74: 331d adds r3, #29 8025f76: f144 0400 adc.w r4, r4, #0 8025f7a: e9c7 3404 strd r3, r4, [r7, #16] 8025f7e: e009 b.n 8025f94 } else { f_close(&F); 8025f80: 4812 ldr r0, [pc, #72] ; (8025fcc ) 8025f82: f0a5 fd91 bl 80cbaa8 return FR_DISK_ERR; 8025f86: 2301 movs r3, #1 8025f88: e014 b.n 8025fb4 } } else { f_close(&F); 8025f8a: 4810 ldr r0, [pc, #64] ; (8025fcc ) 8025f8c: f0a5 fd8c bl 80cbaa8 return FR_DISK_ERR; 8025f90: 2301 movs r3, #1 8025f92: e00f b.n 8025fb4 while(ifs < f_size(&F)) 8025f94: 4b0d ldr r3, [pc, #52] ; (8025fcc ) 8025f96: e9d3 3404 ldrd r3, r4, [r3, #16] 8025f9a: e9d7 1204 ldrd r1, r2, [r7, #16] 8025f9e: 42a2 cmp r2, r4 8025fa0: bf08 it eq 8025fa2: 4299 cmpeq r1, r3 8025fa4: f4ff af33 bcc.w 8025e0e } /* * Èçìåðåíèå íå îáíàðóæåíî */ f_close(&F); 8025fa8: 4808 ldr r0, [pc, #32] ; (8025fcc ) 8025faa: f0a5 fd7d bl 80cbaa8 return FR_OK; 8025fae: 2300 movs r3, #0 8025fb0: e000 b.n 8025fb4 } } } } return res; 8025fb2: 7ffb ldrb r3, [r7, #31] } 8025fb4: 4618 mov r0, r3 8025fb6: 3724 adds r7, #36 ; 0x24 8025fb8: 46bd mov sp, r7 8025fba: bdf0 pop {r4, r5, r6, r7, pc} 8025fbc: 2007c000 .word 0x2007c000 8025fc0: 20021fd8 .word 0x20021fd8 8025fc4: 20020e34 .word 0x20020e34 8025fc8: 640a0000 .word 0x640a0000 8025fcc: 20022e78 .word 0x20022e78 08025fd0 : FRESULT ReadFilePTM(char* fname) //TODO Read PTM { 8025fd0: b5f0 push {r4, r5, r6, r7, lr} 8025fd2: b091 sub sp, #68 ; 0x44 8025fd4: af00 add r7, sp, #0 8025fd6: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8025fd8: 2300 movs r3, #0 8025fda: 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; 8025fde: 4b88 ldr r3, [pc, #544] ; (8026200 ) 8025fe0: 2200 movs r2, #0 8025fe2: 701a strb r2, [r3, #0] ReadFileData.Aivs = 0; 8025fe4: 4b87 ldr r3, [pc, #540] ; (8026204 ) 8025fe6: 2200 movs r2, #0 8025fe8: f883 202c strb.w r2, [r3, #44] ; 0x2c ReadFileData.Vivs = 0; 8025fec: 4b85 ldr r3, [pc, #532] ; (8026204 ) 8025fee: 2200 movs r2, #0 8025ff0: f883 202d strb.w r2, [r3, #45] ; 0x2d ReadFileData.Sivs = 0; 8025ff4: 4b83 ldr r3, [pc, #524] ; (8026204 ) 8025ff6: 2200 movs r2, #0 8025ff8: f883 202e strb.w r2, [r3, #46] ; 0x2e ReadFileData.Aval.fl = -1.0f; 8025ffc: 4b81 ldr r3, [pc, #516] ; (8026204 ) 8025ffe: 4a82 ldr r2, [pc, #520] ; (8026208 ) 8026000: 601a str r2, [r3, #0] ReadFileData.Vval.fl = -1.0f; 8026002: 4b80 ldr r3, [pc, #512] ; (8026204 ) 8026004: 4a80 ldr r2, [pc, #512] ; (8026208 ) 8026006: 605a str r2, [r3, #4] ReadFileData.Sval.fl = -1.0f; 8026008: 4b7e ldr r3, [pc, #504] ; (8026204 ) 802600a: 4a7f ldr r2, [pc, #508] ; (8026208 ) 802600c: 609a str r2, [r3, #8] ReadFileData.Fval.fl = -1.0f; 802600e: 4b7d ldr r3, [pc, #500] ; (8026204 ) 8026010: 4a7d ldr r2, [pc, #500] ; (8026208 ) 8026012: 60da str r2, [r3, #12] memset((void *) &TimeFileData, 0, sizeof(RTC_TimeTypeDef)); 8026014: 2218 movs r2, #24 8026016: 2100 movs r1, #0 8026018: 487c ldr r0, [pc, #496] ; (802620c ) 802601a: f0ab ffc3 bl 80d1fa4 memset((void *) &DateFileData, 0, sizeof(RTC_DateTypeDef)); 802601e: 2204 movs r2, #4 8026020: 2100 movs r1, #0 8026022: 487b ldr r0, [pc, #492] ; (8026210 ) 8026024: f0ab ffbe bl 80d1fa4 memset(Comment, 0, sizeof(Comment)); 8026028: 2228 movs r2, #40 ; 0x28 802602a: 2100 movs r1, #0 802602c: 4879 ldr r0, [pc, #484] ; (8026214 ) 802602e: f0ab ffb9 bl 80d1fa4 if(CardState != MSD_READY) { 8026032: 4b79 ldr r3, [pc, #484] ; (8026218 ) 8026034: 781b ldrb r3, [r3, #0] 8026036: b2db uxtb r3, r3 8026038: 2b03 cmp r3, #3 802603a: d001 beq.n 8026040 return FR_NOT_READY; 802603c: 2303 movs r3, #3 802603e: e233 b.n 80264a8 } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 8026040: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8026044: 2b00 cmp r3, #0 8026046: f040 822d bne.w 80264a4 { memset(FileName, 0, sizeof(FileName)); 802604a: 2228 movs r2, #40 ; 0x28 802604c: 2100 movs r1, #0 802604e: 4873 ldr r0, [pc, #460] ; (802621c ) 8026050: f0ab ffa8 bl 80d1fa4 strcpy(FileName, fname); 8026054: 6879 ldr r1, [r7, #4] 8026056: 4871 ldr r0, [pc, #452] ; (802621c ) 8026058: f0ac f8c1 bl 80d21de memset(PointPath, 0, sizeof(PointPath)); 802605c: f44f 7200 mov.w r2, #512 ; 0x200 8026060: 2100 movs r1, #0 8026062: 486f ldr r0, [pc, #444] ; (8026220 ) 8026064: f0ab ff9e bl 80d1fa4 memset(SearchPath, 0, sizeof(SearchPath)); 8026068: f44f 7200 mov.w r2, #512 ; 0x200 802606c: 2100 movs r1, #0 802606e: 486d ldr r0, [pc, #436] ; (8026224 ) 8026070: f0ab ff98 bl 80d1fa4 SearchPath[0] = '0'; 8026074: 4b6b ldr r3, [pc, #428] ; (8026224 ) 8026076: 2230 movs r2, #48 ; 0x30 8026078: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802607a: 4b6a ldr r3, [pc, #424] ; (8026224 ) 802607c: 223a movs r2, #58 ; 0x3a 802607e: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8026080: 4b69 ldr r3, [pc, #420] ; (8026228 ) 8026082: 220b movs r2, #11 8026084: 701a strb r2, [r3, #0] FlagReturn = false; 8026086: 4b69 ldr r3, [pc, #420] ; (802622c ) 8026088: 2200 movs r2, #0 802608a: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 802608c: 2100 movs r1, #0 802608e: 4865 ldr r0, [pc, #404] ; (8026224 ) 8026090: f004 fca6 bl 802a9e0 if(PointPath[0] == 0) 8026094: 4b62 ldr r3, [pc, #392] ; (8026220 ) 8026096: 781b ldrb r3, [r3, #0] 8026098: 2b00 cmp r3, #0 802609a: d103 bne.n 80260a4 { res = FR_NO_FILE; 802609c: 2304 movs r3, #4 802609e: f887 303f strb.w r3, [r7, #63] ; 0x3f 80260a2: e1ff b.n 80264a4 } else { res = f_open(&F, PointPath, FA_READ); 80260a4: 2201 movs r2, #1 80260a6: 495e ldr r1, [pc, #376] ; (8026220 ) 80260a8: 4861 ldr r0, [pc, #388] ; (8026230 ) 80260aa: f0a4 feb9 bl 80cae20 80260ae: 4603 mov r3, r0 80260b0: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 80260b4: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80260b8: 2b00 cmp r3, #0 80260ba: f040 81f3 bne.w 80264a4 { memset(sector, 0xff, sizeof(sector)); 80260be: f44f 7200 mov.w r2, #512 ; 0x200 80260c2: 21ff movs r1, #255 ; 0xff 80260c4: 485b ldr r0, [pc, #364] ; (8026234 ) 80260c6: f0ab ff6d bl 80d1fa4 IM = (uint16_t) NextIndexMeas; 80260ca: 4b5b ldr r3, [pc, #364] ; (8026238 ) 80260cc: 681b ldr r3, [r3, #0] 80260ce: 85fb strh r3, [r7, #46] ; 0x2e if(f_size(&F) == 0) 80260d0: 4b57 ldr r3, [pc, #348] ; (8026230 ) 80260d2: e9d3 3404 ldrd r3, r4, [r3, #16] 80260d6: 4323 orrs r3, r4 80260d8: d106 bne.n 80260e8 { f_close(&F); 80260da: 4855 ldr r0, [pc, #340] ; (8026230 ) 80260dc: f0a5 fce4 bl 80cbaa8 res = FR_OK; 80260e0: 2300 movs r3, #0 80260e2: f887 303f strb.w r3, [r7, #63] ; 0x3f 80260e6: e1dd b.n 80264a4 } else { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 80260e8: f04f 0200 mov.w r2, #0 80260ec: f04f 0300 mov.w r3, #0 80260f0: 484f ldr r0, [pc, #316] ; (8026230 ) 80260f2: f0a5 fcf9 bl 80cbae8 80260f6: 4603 mov r3, r0 80260f8: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 80260fc: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8026100: 2b00 cmp r3, #0 8026102: d176 bne.n 80261f2 { res = f_read(&F, sector, 6, &fk); 8026104: f107 030c add.w r3, r7, #12 8026108: 2206 movs r2, #6 802610a: 494a ldr r1, [pc, #296] ; (8026234 ) 802610c: 4848 ldr r0, [pc, #288] ; (8026230 ) 802610e: f0a5 f8e4 bl 80cb2da 8026112: 4603 mov r3, r0 8026114: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 6)) 8026118: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802611c: 2b00 cmp r3, #0 802611e: d163 bne.n 80261e8 8026120: 68fb ldr r3, [r7, #12] 8026122: 2b06 cmp r3, #6 8026124: d160 bne.n 80261e8 { sector[6] = '\0'; 8026126: 4b43 ldr r3, [pc, #268] ; (8026234 ) 8026128: 2200 movs r2, #0 802612a: 719a strb r2, [r3, #6] if(strcmp((char *) sector, "Extend")) 802612c: 4943 ldr r1, [pc, #268] ; (802623c ) 802612e: 4841 ldr r0, [pc, #260] ; (8026234 ) 8026130: f7fa f8e6 bl 8020300 8026134: 4603 mov r3, r0 8026136: 2b00 cmp r3, #0 8026138: d006 beq.n 8026148 { //Ñòàðàÿ âåðñèÿ ôàéëà ifs = 0; 802613a: f04f 0300 mov.w r3, #0 802613e: f04f 0400 mov.w r4, #0 8026142: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 8026146: e059 b.n 80261fc } else { //Ðàñøèðåííàÿ âåðñèÿ ôàéëà ñ êîììåíòàðèÿìè ifs = 96u + (sizeof(Comment) * NextIndexPoint); 8026148: 4b3d ldr r3, [pc, #244] ; (8026240 ) 802614a: 681a ldr r2, [r3, #0] 802614c: 4613 mov r3, r2 802614e: 009b lsls r3, r3, #2 8026150: 4413 add r3, r2 8026152: 00db lsls r3, r3, #3 8026154: 3360 adds r3, #96 ; 0x60 8026156: f04f 0400 mov.w r4, #0 802615a: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 res = f_lseek(&F, ifs); 802615e: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8026162: 4833 ldr r0, [pc, #204] ; (8026230 ) 8026164: f0a5 fcc0 bl 80cbae8 8026168: 4603 mov r3, r0 802616a: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 802616e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8026172: 2b00 cmp r3, #0 8026174: d133 bne.n 80261de { res = f_read(&F, sector, sizeof(Comment), &fk); 8026176: f107 030c add.w r3, r7, #12 802617a: 2228 movs r2, #40 ; 0x28 802617c: 492d ldr r1, [pc, #180] ; (8026234 ) 802617e: 482c ldr r0, [pc, #176] ; (8026230 ) 8026180: f0a5 f8ab bl 80cb2da 8026184: 4603 mov r3, r0 8026186: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == sizeof(Comment))) 802618a: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802618e: 2b00 cmp r3, #0 8026190: d120 bne.n 80261d4 8026192: 68fb ldr r3, [r7, #12] 8026194: 2b28 cmp r3, #40 ; 0x28 8026196: d11d bne.n 80261d4 { memcpy(Comment, sector, sizeof(Comment)); 8026198: 4b1e ldr r3, [pc, #120] ; (8026214 ) 802619a: 4a26 ldr r2, [pc, #152] ; (8026234 ) 802619c: 4614 mov r4, r2 802619e: 469e mov lr, r3 80261a0: f104 0c20 add.w ip, r4, #32 80261a4: 4675 mov r5, lr 80261a6: 4626 mov r6, r4 80261a8: ce0f ldmia r6!, {r0, r1, r2, r3} 80261aa: 6028 str r0, [r5, #0] 80261ac: 6069 str r1, [r5, #4] 80261ae: 60aa str r2, [r5, #8] 80261b0: 60eb str r3, [r5, #12] 80261b2: 3410 adds r4, #16 80261b4: f10e 0e10 add.w lr, lr, #16 80261b8: 4564 cmp r4, ip 80261ba: d1f3 bne.n 80261a4 80261bc: 4672 mov r2, lr 80261be: 4623 mov r3, r4 80261c0: cb03 ldmia r3!, {r0, r1} 80261c2: 6010 str r0, [r2, #0] 80261c4: 6051 str r1, [r2, #4] ifs = 96u + (NUM_POINTS * sizeof(Comment)); 80261c6: f649 43a0 movw r3, #40096 ; 0x9ca0 80261ca: f04f 0400 mov.w r4, #0 80261ce: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 80261d2: e013 b.n 80261fc } else { f_close(&F); 80261d4: 4816 ldr r0, [pc, #88] ; (8026230 ) 80261d6: f0a5 fc67 bl 80cbaa8 return FR_DISK_ERR; 80261da: 2301 movs r3, #1 80261dc: e164 b.n 80264a8 } } else { f_close(&F); 80261de: 4814 ldr r0, [pc, #80] ; (8026230 ) 80261e0: f0a5 fc62 bl 80cbaa8 return FR_DISK_ERR; 80261e4: 2301 movs r3, #1 80261e6: e15f b.n 80264a8 } } } else { f_close(&F); 80261e8: 4811 ldr r0, [pc, #68] ; (8026230 ) 80261ea: f0a5 fc5d bl 80cbaa8 return FR_DISK_ERR; 80261ee: 2301 movs r3, #1 80261f0: e15a b.n 80264a8 } } else { f_close(&F); 80261f2: 480f ldr r0, [pc, #60] ; (8026230 ) 80261f4: f0a5 fc58 bl 80cbaa8 return FR_DISK_ERR; 80261f8: 2301 movs r3, #1 80261fa: e155 b.n 80264a8 } /////////////////////////////////////////////////////////////////////////////// while(ifs < f_size(&F)) 80261fc: e140 b.n 8026480 80261fe: bf00 nop 8026200: 20020df3 .word 0x20020df3 8026204: 200226f0 .word 0x200226f0 8026208: bf800000 .word 0xbf800000 802620c: 200229c0 .word 0x200229c0 8026210: 20022640 .word 0x20022640 8026214: 200226a0 .word 0x200226a0 8026218: 2002169c .word 0x2002169c 802621c: 20022c10 .word 0x20022c10 8026220: 20022a0c .word 0x20022a0c 8026224: 20021dd0 .word 0x20021dd0 8026228: 20020dff .word 0x20020dff 802622c: 20020dfe .word 0x20020dfe 8026230: 20022e78 .word 0x20022e78 8026234: 2007c000 .word 0x2007c000 8026238: 20022360 .word 0x20022360 802623c: 080d4eac .word 0x080d4eac 8026240: 20021fec .word 0x20021fec { res = f_lseek(&F, ifs); 8026244: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8026248: 4899 ldr r0, [pc, #612] ; (80264b0 ) 802624a: f0a5 fc4d bl 80cbae8 802624e: 4603 mov r3, r0 8026250: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8026254: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8026258: 2b00 cmp r3, #0 802625a: f040 8107 bne.w 802646c { res = f_read(&F, sector, 29, &fk); 802625e: f107 030c add.w r3, r7, #12 8026262: 221d movs r2, #29 8026264: 4993 ldr r1, [pc, #588] ; (80264b4 ) 8026266: 4892 ldr r0, [pc, #584] ; (80264b0 ) 8026268: f0a5 f837 bl 80cb2da 802626c: 4603 mov r3, r0 802626e: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 29)) 8026272: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8026276: 2b00 cmp r3, #0 8026278: f040 80ee bne.w 8026458 802627c: 68fb ldr r3, [r7, #12] 802627e: 2b1d cmp r3, #29 8026280: f040 80ea bne.w 8026458 { if((sector[e13] == 0xD) && (sector[e10] == 0xA)) 8026284: 4b8b ldr r3, [pc, #556] ; (80264b4 ) 8026286: 7edb ldrb r3, [r3, #27] 8026288: 2b0d cmp r3, #13 802628a: f040 80d2 bne.w 8026432 802628e: 4b89 ldr r3, [pc, #548] ; (80264b4 ) 8026290: 7f1b ldrb r3, [r3, #28] 8026292: 2b0a cmp r3, #10 8026294: f040 80cd bne.w 8026432 { IP = sector[ePoint + 1]; 8026298: 4b86 ldr r3, [pc, #536] ; (80264b4 ) 802629a: 785b ldrb r3, [r3, #1] 802629c: 85bb strh r3, [r7, #44] ; 0x2c IP = (IP << 8) | sector[ePoint]; 802629e: 8dbb ldrh r3, [r7, #44] ; 0x2c 80262a0: 021b lsls r3, r3, #8 80262a2: b21a sxth r2, r3 80262a4: 4b83 ldr r3, [pc, #524] ; (80264b4 ) 80262a6: 781b ldrb r3, [r3, #0] 80262a8: b21b sxth r3, r3 80262aa: 4313 orrs r3, r2 80262ac: b21b sxth r3, r3 80262ae: 85bb strh r3, [r7, #44] ; 0x2c if(NextIndexPoint == IP) 80262b0: 8dba ldrh r2, [r7, #44] ; 0x2c 80262b2: 4b81 ldr r3, [pc, #516] ; (80264b8 ) 80262b4: 681b ldr r3, [r3, #0] 80262b6: 429a cmp r2, r3 80262b8: f040 80c5 bne.w 8026446 { IM = sector[eMeas + 1]; 80262bc: 4b7d ldr r3, [pc, #500] ; (80264b4 ) 80262be: 78db ldrb r3, [r3, #3] 80262c0: 85fb strh r3, [r7, #46] ; 0x2e IM = (IM << 8) | sector[eMeas]; 80262c2: 8dfb ldrh r3, [r7, #46] ; 0x2e 80262c4: 021b lsls r3, r3, #8 80262c6: b21a sxth r2, r3 80262c8: 4b7a ldr r3, [pc, #488] ; (80264b4 ) 80262ca: 789b ldrb r3, [r3, #2] 80262cc: b21b sxth r3, r3 80262ce: 4313 orrs r3, r2 80262d0: b21b sxth r3, r3 80262d2: 85fb strh r3, [r7, #46] ; 0x2e if(NextIndexMeas == IM) 80262d4: 8dfa ldrh r2, [r7, #46] ; 0x2e 80262d6: 4b79 ldr r3, [pc, #484] ; (80264bc ) 80262d8: 681b ldr r3, [r3, #0] 80262da: 429a cmp r2, r3 80262dc: f040 80b3 bne.w 8026446 { ReadFileData.Aivs = sector[eAivs]; 80262e0: 4b74 ldr r3, [pc, #464] ; (80264b4 ) 80262e2: 7d1a ldrb r2, [r3, #20] 80262e4: 4b76 ldr r3, [pc, #472] ; (80264c0 ) 80262e6: f883 202c strb.w r2, [r3, #44] ; 0x2c ReadFileData.Vivs = sector[eVivs]; 80262ea: 4b72 ldr r3, [pc, #456] ; (80264b4 ) 80262ec: 7d5a ldrb r2, [r3, #21] 80262ee: 4b74 ldr r3, [pc, #464] ; (80264c0 ) 80262f0: f883 202d strb.w r2, [r3, #45] ; 0x2d ReadFileData.Sivs = sector[eSivs]; 80262f4: 4b6f ldr r3, [pc, #444] ; (80264b4 ) 80262f6: 7d9a ldrb r2, [r3, #22] 80262f8: 4b71 ldr r3, [pc, #452] ; (80264c0 ) 80262fa: f883 202e strb.w r2, [r3, #46] ; 0x2e for(i = 0; i < 4; i++) 80262fe: 2300 movs r3, #0 8026300: 63bb str r3, [r7, #56] ; 0x38 8026302: e029 b.n 8026358 { ReadFileData.Aval.ch[i] = sector[eAval + i]; 8026304: 6bbb ldr r3, [r7, #56] ; 0x38 8026306: 3304 adds r3, #4 8026308: 4a6a ldr r2, [pc, #424] ; (80264b4 ) 802630a: 5cd1 ldrb r1, [r2, r3] 802630c: 4a6c ldr r2, [pc, #432] ; (80264c0 ) 802630e: 6bbb ldr r3, [r7, #56] ; 0x38 8026310: 4413 add r3, r2 8026312: 460a mov r2, r1 8026314: 701a strb r2, [r3, #0] ReadFileData.Vval.ch[i] = sector[eVval + i]; 8026316: 6bbb ldr r3, [r7, #56] ; 0x38 8026318: 3308 adds r3, #8 802631a: 4a66 ldr r2, [pc, #408] ; (80264b4 ) 802631c: 5cd1 ldrb r1, [r2, r3] 802631e: 4a68 ldr r2, [pc, #416] ; (80264c0 ) 8026320: 6bbb ldr r3, [r7, #56] ; 0x38 8026322: 4413 add r3, r2 8026324: 3304 adds r3, #4 8026326: 460a mov r2, r1 8026328: 701a strb r2, [r3, #0] ReadFileData.Sval.ch[i] = sector[eSval + i]; 802632a: 6bbb ldr r3, [r7, #56] ; 0x38 802632c: 330c adds r3, #12 802632e: 4a61 ldr r2, [pc, #388] ; (80264b4 ) 8026330: 5cd1 ldrb r1, [r2, r3] 8026332: 4a63 ldr r2, [pc, #396] ; (80264c0 ) 8026334: 6bbb ldr r3, [r7, #56] ; 0x38 8026336: 4413 add r3, r2 8026338: 3308 adds r3, #8 802633a: 460a mov r2, r1 802633c: 701a strb r2, [r3, #0] ReadFileData.Fval.ch[i] = sector[eFval + i]; 802633e: 6bbb ldr r3, [r7, #56] ; 0x38 8026340: 3317 adds r3, #23 8026342: 4a5c ldr r2, [pc, #368] ; (80264b4 ) 8026344: 5cd1 ldrb r1, [r2, r3] 8026346: 4a5e ldr r2, [pc, #376] ; (80264c0 ) 8026348: 6bbb ldr r3, [r7, #56] ; 0x38 802634a: 4413 add r3, r2 802634c: 330c adds r3, #12 802634e: 460a mov r2, r1 8026350: 701a strb r2, [r3, #0] for(i = 0; i < 4; i++) 8026352: 6bbb ldr r3, [r7, #56] ; 0x38 8026354: 3301 adds r3, #1 8026356: 63bb str r3, [r7, #56] ; 0x38 8026358: 6bbb ldr r3, [r7, #56] ; 0x38 802635a: 2b03 cmp r3, #3 802635c: d9d2 bls.n 8026304 } DateTime = (sector[eDateTime + 3] << 24) | (sector[eDateTime + 2] << 16) | (sector[eDateTime + 1] << 8) | sector[eDateTime]; 802635e: 4b55 ldr r3, [pc, #340] ; (80264b4 ) 8026360: 7cdb ldrb r3, [r3, #19] 8026362: 061a lsls r2, r3, #24 8026364: 4b53 ldr r3, [pc, #332] ; (80264b4 ) 8026366: 7c9b ldrb r3, [r3, #18] 8026368: 041b lsls r3, r3, #16 802636a: 431a orrs r2, r3 802636c: 4b51 ldr r3, [pc, #324] ; (80264b4 ) 802636e: 7c5b ldrb r3, [r3, #17] 8026370: 021b lsls r3, r3, #8 8026372: 4313 orrs r3, r2 8026374: 4a4f ldr r2, [pc, #316] ; (80264b4 ) 8026376: 7c12 ldrb r2, [r2, #16] 8026378: 4313 orrs r3, r2 802637a: 62bb str r3, [r7, #40] ; 0x28 Year = (DateTime >> 25) - 20; 802637c: 6abb ldr r3, [r7, #40] ; 0x28 802637e: 0e5b lsrs r3, r3, #25 8026380: 3b14 subs r3, #20 8026382: 627b str r3, [r7, #36] ; 0x24 Month = (DateTime >> 21) & 0xf; 8026384: 6abb ldr r3, [r7, #40] ; 0x28 8026386: 0d5b lsrs r3, r3, #21 8026388: f003 030f and.w r3, r3, #15 802638c: 623b str r3, [r7, #32] Day = (DateTime >> 16) & 0x1f; 802638e: 6abb ldr r3, [r7, #40] ; 0x28 8026390: 0c1b lsrs r3, r3, #16 8026392: f003 031f and.w r3, r3, #31 8026396: 61fb str r3, [r7, #28] Hour = (DateTime >> 11) & 0x1f; 8026398: 6abb ldr r3, [r7, #40] ; 0x28 802639a: 0adb lsrs r3, r3, #11 802639c: f003 031f and.w r3, r3, #31 80263a0: 61bb str r3, [r7, #24] Min = (DateTime >> 5) & 0x3f; 80263a2: 6abb ldr r3, [r7, #40] ; 0x28 80263a4: 095b lsrs r3, r3, #5 80263a6: f003 033f and.w r3, r3, #63 ; 0x3f 80263aa: 617b str r3, [r7, #20] Sec = ((DateTime << 1) & 0x1f) + 1; 80263ac: 6abb ldr r3, [r7, #40] ; 0x28 80263ae: 005b lsls r3, r3, #1 80263b0: f003 031f and.w r3, r3, #31 80263b4: 3301 adds r3, #1 80263b6: 613b str r3, [r7, #16] ReadFileData.Date.WeekDay = 1; 80263b8: 4b41 ldr r3, [pc, #260] ; (80264c0 ) 80263ba: 2201 movs r2, #1 80263bc: f883 2028 strb.w r2, [r3, #40] ; 0x28 ReadFileData.Date.Date = (uint8_t) Day; 80263c0: 69fb ldr r3, [r7, #28] 80263c2: b2da uxtb r2, r3 80263c4: 4b3e ldr r3, [pc, #248] ; (80264c0 ) 80263c6: f883 202a strb.w r2, [r3, #42] ; 0x2a ReadFileData.Date.Month = (uint8_t) Month; 80263ca: 6a3b ldr r3, [r7, #32] 80263cc: b2da uxtb r2, r3 80263ce: 4b3c ldr r3, [pc, #240] ; (80264c0 ) 80263d0: f883 2029 strb.w r2, [r3, #41] ; 0x29 ReadFileData.Date.Year = (uint8_t) Year; 80263d4: 6a7b ldr r3, [r7, #36] ; 0x24 80263d6: b2da uxtb r2, r3 80263d8: 4b39 ldr r3, [pc, #228] ; (80264c0 ) 80263da: f883 202b strb.w r2, [r3, #43] ; 0x2b ReadFileData.Time.TimeFormat = 0; 80263de: 4b38 ldr r3, [pc, #224] ; (80264c0 ) 80263e0: 2200 movs r2, #0 80263e2: 771a strb r2, [r3, #28] ReadFileData.Time.Hours = (uint8_t) Hour; 80263e4: 69bb ldr r3, [r7, #24] 80263e6: b2da uxtb r2, r3 80263e8: 4b35 ldr r3, [pc, #212] ; (80264c0 ) 80263ea: 741a strb r2, [r3, #16] ReadFileData.Time.Minutes = (uint8_t) Min; 80263ec: 697b ldr r3, [r7, #20] 80263ee: b2da uxtb r2, r3 80263f0: 4b33 ldr r3, [pc, #204] ; (80264c0 ) 80263f2: 745a strb r2, [r3, #17] ReadFileData.Time.Seconds = (uint8_t) Sec; 80263f4: 693b ldr r3, [r7, #16] 80263f6: b2da uxtb r2, r3 80263f8: 4b31 ldr r3, [pc, #196] ; (80264c0 ) 80263fa: 749a strb r2, [r3, #18] TimeFileData = ReadFileData.Time; 80263fc: 4a31 ldr r2, [pc, #196] ; (80264c4 ) 80263fe: 4b30 ldr r3, [pc, #192] ; (80264c0 ) 8026400: 4615 mov r5, r2 8026402: f103 0410 add.w r4, r3, #16 8026406: cc0f ldmia r4!, {r0, r1, r2, r3} 8026408: c50f stmia r5!, {r0, r1, r2, r3} 802640a: e894 0003 ldmia.w r4, {r0, r1} 802640e: e885 0003 stmia.w r5, {r0, r1} DateFileData = ReadFileData.Date; 8026412: 4a2d ldr r2, [pc, #180] ; (80264c8 ) 8026414: 4b2a ldr r3, [pc, #168] ; (80264c0 ) 8026416: 3328 adds r3, #40 ; 0x28 8026418: 6818 ldr r0, [r3, #0] 802641a: 6010 str r0, [r2, #0] DrawSavedData = true; 802641c: 4b2b ldr r3, [pc, #172] ; (80264cc ) 802641e: 2201 movs r2, #1 8026420: 701a strb r2, [r3, #0] FileDataExist = true; 8026422: 4b2b ldr r3, [pc, #172] ; (80264d0 ) 8026424: 2201 movs r2, #1 8026426: 701a strb r2, [r3, #0] f_close(&F); 8026428: 4821 ldr r0, [pc, #132] ; (80264b0 ) 802642a: f0a5 fb3d bl 80cbaa8 return FR_OK; 802642e: 2300 movs r3, #0 8026430: e03a b.n 80264a8 } } else { //BAD DATA IN FILE!!!!!!!!!!!!!! f_close(&F); 8026432: 481f ldr r0, [pc, #124] ; (80264b0 ) 8026434: f0a5 fb38 bl 80cbaa8 memset(Comment, 0, sizeof(Comment)); 8026438: 2228 movs r2, #40 ; 0x28 802643a: 2100 movs r1, #0 802643c: 4825 ldr r0, [pc, #148] ; (80264d4 ) 802643e: f0ab fdb1 bl 80d1fa4 return FR_INVALID_OBJECT; 8026442: 2309 movs r3, #9 8026444: e030 b.n 80264a8 if(NextIndexPoint == IP) 8026446: bf00 nop } ifs += 29; 8026448: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 802644c: 331d adds r3, #29 802644e: f144 0400 adc.w r4, r4, #0 8026452: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 8026456: e013 b.n 8026480 } else { f_close(&F); 8026458: 4815 ldr r0, [pc, #84] ; (80264b0 ) 802645a: f0a5 fb25 bl 80cbaa8 memset(Comment, 0, sizeof(Comment)); 802645e: 2228 movs r2, #40 ; 0x28 8026460: 2100 movs r1, #0 8026462: 481c ldr r0, [pc, #112] ; (80264d4 ) 8026464: f0ab fd9e bl 80d1fa4 return FR_DISK_ERR; 8026468: 2301 movs r3, #1 802646a: e01d b.n 80264a8 } } else { f_close(&F); 802646c: 4810 ldr r0, [pc, #64] ; (80264b0 ) 802646e: f0a5 fb1b bl 80cbaa8 memset(Comment, 0, sizeof(Comment)); 8026472: 2228 movs r2, #40 ; 0x28 8026474: 2100 movs r1, #0 8026476: 4817 ldr r0, [pc, #92] ; (80264d4 ) 8026478: f0ab fd94 bl 80d1fa4 return FR_DISK_ERR; 802647c: 2301 movs r3, #1 802647e: e013 b.n 80264a8 while(ifs < f_size(&F)) 8026480: 4b0b ldr r3, [pc, #44] ; (80264b0 ) 8026482: e9d3 3404 ldrd r3, r4, [r3, #16] 8026486: e9d7 120c ldrd r1, r2, [r7, #48] ; 0x30 802648a: 42a2 cmp r2, r4 802648c: bf08 it eq 802648e: 4299 cmpeq r1, r3 8026490: f4ff aed8 bcc.w 8026244 /* * Èçìåðåíèå íå îáíàðóæåíî */ DrawSavedData = true; 8026494: 4b0d ldr r3, [pc, #52] ; (80264cc ) 8026496: 2201 movs r2, #1 8026498: 701a strb r2, [r3, #0] f_close(&F); 802649a: 4805 ldr r0, [pc, #20] ; (80264b0 ) 802649c: f0a5 fb04 bl 80cbaa8 return FR_OK; 80264a0: 2300 movs r3, #0 80264a2: e001 b.n 80264a8 } } } } return res; 80264a4: f897 303f ldrb.w r3, [r7, #63] ; 0x3f } 80264a8: 4618 mov r0, r3 80264aa: 3744 adds r7, #68 ; 0x44 80264ac: 46bd mov sp, r7 80264ae: bdf0 pop {r4, r5, r6, r7, pc} 80264b0: 20022e78 .word 0x20022e78 80264b4: 2007c000 .word 0x2007c000 80264b8: 20021fec .word 0x20021fec 80264bc: 20022360 .word 0x20022360 80264c0: 200226f0 .word 0x200226f0 80264c4: 200229c0 .word 0x200229c0 80264c8: 20022640 .word 0x20022640 80264cc: 20020dea .word 0x20020dea 80264d0: 20020df3 .word 0x20020df3 80264d4: 200226a0 .word 0x200226a0 080264d8 : FRESULT ReadFileDGN(char* fname) //TODO Read PTM { 80264d8: b5f0 push {r4, r5, r6, r7, lr} 80264da: b091 sub sp, #68 ; 0x44 80264dc: af00 add r7, sp, #0 80264de: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 80264e0: 2300 movs r3, #0 80264e2: 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; 80264e6: 4b90 ldr r3, [pc, #576] ; (8026728 ) 80264e8: 2200 movs r2, #0 80264ea: 701a strb r2, [r3, #0] DiagnFileData.Op_1.fl = -1.0f; 80264ec: 4b8f ldr r3, [pc, #572] ; (802672c ) 80264ee: 4a90 ldr r2, [pc, #576] ; (8026730 ) 80264f0: 601a str r2, [r3, #0] DiagnFileData.Op_2.fl = -1.0f; 80264f2: 4b8e ldr r3, [pc, #568] ; (802672c ) 80264f4: 4a8e ldr r2, [pc, #568] ; (8026730 ) 80264f6: 605a str r2, [r3, #4] DiagnFileData.Op_3.fl = -1.0f; 80264f8: 4b8c ldr r3, [pc, #560] ; (802672c ) 80264fa: 4a8d ldr r2, [pc, #564] ; (8026730 ) 80264fc: 609a str r2, [r3, #8] DiagnFileData.d_Op1_ipr = 0; 80264fe: 4b8b ldr r3, [pc, #556] ; (802672c ) 8026500: 2200 movs r2, #0 8026502: f883 2028 strb.w r2, [r3, #40] ; 0x28 DiagnFileData.d_Op2_ipr = 0; 8026506: 4b89 ldr r3, [pc, #548] ; (802672c ) 8026508: 2200 movs r2, #0 802650a: f883 2029 strb.w r2, [r3, #41] ; 0x29 DiagnFileData.d_Op3_ipr = 0; 802650e: 4b87 ldr r3, [pc, #540] ; (802672c ) 8026510: 2200 movs r2, #0 8026512: f883 202a strb.w r2, [r3, #42] ; 0x2a DiagnFileData.d_Op1_Color = 0; 8026516: 4b85 ldr r3, [pc, #532] ; (802672c ) 8026518: 2200 movs r2, #0 802651a: f883 202e strb.w r2, [r3, #46] ; 0x2e DiagnFileData.d_Op2_Color = 0; 802651e: 4b83 ldr r3, [pc, #524] ; (802672c ) 8026520: 2200 movs r2, #0 8026522: f883 202f strb.w r2, [r3, #47] ; 0x2f DiagnFileData.d_Op3_Color = 0; 8026526: 4b81 ldr r3, [pc, #516] ; (802672c ) 8026528: 2200 movs r2, #0 802652a: f883 2030 strb.w r2, [r3, #48] ; 0x30 DiagnFileData.d_Alarm = 0; 802652e: 4b7f ldr r3, [pc, #508] ; (802672c ) 8026530: 2200 movs r2, #0 8026532: f883 2032 strb.w r2, [r3, #50] ; 0x32 DiagnFileData.d_Warning = 0; 8026536: 4b7d ldr r3, [pc, #500] ; (802672c ) 8026538: 2200 movs r2, #0 802653a: f883 2031 strb.w r2, [r3, #49] ; 0x31 memset((void *) &TimeFileData, 0, sizeof(RTC_TimeTypeDef)); 802653e: 2218 movs r2, #24 8026540: 2100 movs r1, #0 8026542: 487c ldr r0, [pc, #496] ; (8026734 ) 8026544: f0ab fd2e bl 80d1fa4 memset((void *) &DateFileData, 0, sizeof(RTC_DateTypeDef)); 8026548: 2204 movs r2, #4 802654a: 2100 movs r1, #0 802654c: 487a ldr r0, [pc, #488] ; (8026738 ) 802654e: f0ab fd29 bl 80d1fa4 memset(Comment, 0, sizeof(Comment)); 8026552: 2228 movs r2, #40 ; 0x28 8026554: 2100 movs r1, #0 8026556: 4879 ldr r0, [pc, #484] ; (802673c ) 8026558: f0ab fd24 bl 80d1fa4 if(CardState != MSD_READY) { 802655c: 4b78 ldr r3, [pc, #480] ; (8026740 ) 802655e: 781b ldrb r3, [r3, #0] 8026560: b2db uxtb r3, r3 8026562: 2b03 cmp r3, #3 8026564: d001 beq.n 802656a return FR_NOT_READY; 8026566: 2303 movs r3, #3 8026568: e251 b.n 8026a0e } if(res == FR_OK) 802656a: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802656e: 2b00 cmp r3, #0 8026570: f040 824b bne.w 8026a0a { memset(FileName, 0, sizeof(FileName)); 8026574: 2228 movs r2, #40 ; 0x28 8026576: 2100 movs r1, #0 8026578: 4872 ldr r0, [pc, #456] ; (8026744 ) 802657a: f0ab fd13 bl 80d1fa4 strcpy(FileName, fname); 802657e: 6879 ldr r1, [r7, #4] 8026580: 4870 ldr r0, [pc, #448] ; (8026744 ) 8026582: f0ab fe2c bl 80d21de memset(PointPath, 0, sizeof(PointPath)); 8026586: f44f 7200 mov.w r2, #512 ; 0x200 802658a: 2100 movs r1, #0 802658c: 486e ldr r0, [pc, #440] ; (8026748 ) 802658e: f0ab fd09 bl 80d1fa4 memset(SearchPath, 0, sizeof(SearchPath)); 8026592: f44f 7200 mov.w r2, #512 ; 0x200 8026596: 2100 movs r1, #0 8026598: 486c ldr r0, [pc, #432] ; (802674c ) 802659a: f0ab fd03 bl 80d1fa4 SearchPath[0] = '0'; 802659e: 4b6b ldr r3, [pc, #428] ; (802674c ) 80265a0: 2230 movs r2, #48 ; 0x30 80265a2: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 80265a4: 4b69 ldr r3, [pc, #420] ; (802674c ) 80265a6: 223a movs r2, #58 ; 0x3a 80265a8: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 80265aa: 4b69 ldr r3, [pc, #420] ; (8026750 ) 80265ac: 220b movs r2, #11 80265ae: 701a strb r2, [r3, #0] FlagReturn = false; 80265b0: 4b68 ldr r3, [pc, #416] ; (8026754 ) 80265b2: 2200 movs r2, #0 80265b4: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 80265b6: 2100 movs r1, #0 80265b8: 4864 ldr r0, [pc, #400] ; (802674c ) 80265ba: f004 fa11 bl 802a9e0 if(PointPath[0] == 0) 80265be: 4b62 ldr r3, [pc, #392] ; (8026748 ) 80265c0: 781b ldrb r3, [r3, #0] 80265c2: 2b00 cmp r3, #0 80265c4: d103 bne.n 80265ce { res = FR_NO_FILE; 80265c6: 2304 movs r3, #4 80265c8: f887 303f strb.w r3, [r7, #63] ; 0x3f 80265cc: e21d b.n 8026a0a } else { res = f_open(&F, PointPath, FA_READ); 80265ce: 2201 movs r2, #1 80265d0: 495d ldr r1, [pc, #372] ; (8026748 ) 80265d2: 4861 ldr r0, [pc, #388] ; (8026758 ) 80265d4: f0a4 fc24 bl 80cae20 80265d8: 4603 mov r3, r0 80265da: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 80265de: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80265e2: 2b00 cmp r3, #0 80265e4: f040 8211 bne.w 8026a0a { memset(sector, 0xff, sizeof(sector)); 80265e8: f44f 7200 mov.w r2, #512 ; 0x200 80265ec: 21ff movs r1, #255 ; 0xff 80265ee: 485b ldr r0, [pc, #364] ; (802675c ) 80265f0: f0ab fcd8 bl 80d1fa4 IM = (uint16_t) NextIndexMeas; 80265f4: 4b5a ldr r3, [pc, #360] ; (8026760 ) 80265f6: 681b ldr r3, [r3, #0] 80265f8: 85fb strh r3, [r7, #46] ; 0x2e if(f_size(&F) == 0) 80265fa: 4b57 ldr r3, [pc, #348] ; (8026758 ) 80265fc: e9d3 3404 ldrd r3, r4, [r3, #16] 8026600: 4323 orrs r3, r4 8026602: d106 bne.n 8026612 { f_close(&F); 8026604: 4854 ldr r0, [pc, #336] ; (8026758 ) 8026606: f0a5 fa4f bl 80cbaa8 res = FR_OK; 802660a: 2300 movs r3, #0 802660c: f887 303f strb.w r3, [r7, #63] ; 0x3f 8026610: e1fb b.n 8026a0a } else { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 8026612: f04f 0200 mov.w r2, #0 8026616: f04f 0300 mov.w r3, #0 802661a: 484f ldr r0, [pc, #316] ; (8026758 ) 802661c: f0a5 fa64 bl 80cbae8 8026620: 4603 mov r3, r0 8026622: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8026626: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802662a: 2b00 cmp r3, #0 802662c: d176 bne.n 802671c { res = f_read(&F, sector, 6, &fk); 802662e: f107 030c add.w r3, r7, #12 8026632: 2206 movs r2, #6 8026634: 4949 ldr r1, [pc, #292] ; (802675c ) 8026636: 4848 ldr r0, [pc, #288] ; (8026758 ) 8026638: f0a4 fe4f bl 80cb2da 802663c: 4603 mov r3, r0 802663e: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 6)) 8026642: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8026646: 2b00 cmp r3, #0 8026648: d163 bne.n 8026712 802664a: 68fb ldr r3, [r7, #12] 802664c: 2b06 cmp r3, #6 802664e: d160 bne.n 8026712 { sector[6] = '\0'; 8026650: 4b42 ldr r3, [pc, #264] ; (802675c ) 8026652: 2200 movs r2, #0 8026654: 719a strb r2, [r3, #6] if(strcmp((char *) sector, "Extend")) 8026656: 4943 ldr r1, [pc, #268] ; (8026764 ) 8026658: 4840 ldr r0, [pc, #256] ; (802675c ) 802665a: f7f9 fe51 bl 8020300 802665e: 4603 mov r3, r0 8026660: 2b00 cmp r3, #0 8026662: d006 beq.n 8026672 { //Ñòàðàÿ âåðñèÿ ôàéëà ifs = 0; 8026664: f04f 0300 mov.w r3, #0 8026668: f04f 0400 mov.w r4, #0 802666c: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 8026670: e059 b.n 8026726 } else { //Ðàñøèðåííàÿ âåðñèÿ ôàéëà ñ êîììåíòàðèÿìè ifs = 96u + (sizeof(Comment) * NextIndexPoint); 8026672: 4b3d ldr r3, [pc, #244] ; (8026768 ) 8026674: 681a ldr r2, [r3, #0] 8026676: 4613 mov r3, r2 8026678: 009b lsls r3, r3, #2 802667a: 4413 add r3, r2 802667c: 00db lsls r3, r3, #3 802667e: 3360 adds r3, #96 ; 0x60 8026680: f04f 0400 mov.w r4, #0 8026684: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 res = f_lseek(&F, ifs); 8026688: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 802668c: 4832 ldr r0, [pc, #200] ; (8026758 ) 802668e: f0a5 fa2b bl 80cbae8 8026692: 4603 mov r3, r0 8026694: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8026698: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802669c: 2b00 cmp r3, #0 802669e: d133 bne.n 8026708 { res = f_read(&F, sector, sizeof(Comment), &fk); 80266a0: f107 030c add.w r3, r7, #12 80266a4: 2228 movs r2, #40 ; 0x28 80266a6: 492d ldr r1, [pc, #180] ; (802675c ) 80266a8: 482b ldr r0, [pc, #172] ; (8026758 ) 80266aa: f0a4 fe16 bl 80cb2da 80266ae: 4603 mov r3, r0 80266b0: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == sizeof(Comment))) 80266b4: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80266b8: 2b00 cmp r3, #0 80266ba: d120 bne.n 80266fe 80266bc: 68fb ldr r3, [r7, #12] 80266be: 2b28 cmp r3, #40 ; 0x28 80266c0: d11d bne.n 80266fe { memcpy(Comment, sector, sizeof(Comment)); 80266c2: 4b1e ldr r3, [pc, #120] ; (802673c ) 80266c4: 4a25 ldr r2, [pc, #148] ; (802675c ) 80266c6: 4614 mov r4, r2 80266c8: 469e mov lr, r3 80266ca: f104 0c20 add.w ip, r4, #32 80266ce: 4675 mov r5, lr 80266d0: 4626 mov r6, r4 80266d2: ce0f ldmia r6!, {r0, r1, r2, r3} 80266d4: 6028 str r0, [r5, #0] 80266d6: 6069 str r1, [r5, #4] 80266d8: 60aa str r2, [r5, #8] 80266da: 60eb str r3, [r5, #12] 80266dc: 3410 adds r4, #16 80266de: f10e 0e10 add.w lr, lr, #16 80266e2: 4564 cmp r4, ip 80266e4: d1f3 bne.n 80266ce 80266e6: 4672 mov r2, lr 80266e8: 4623 mov r3, r4 80266ea: cb03 ldmia r3!, {r0, r1} 80266ec: 6010 str r0, [r2, #0] 80266ee: 6051 str r1, [r2, #4] ifs = 96u + (NUM_POINTS * sizeof(Comment)); 80266f0: f649 43a0 movw r3, #40096 ; 0x9ca0 80266f4: f04f 0400 mov.w r4, #0 80266f8: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 80266fc: e013 b.n 8026726 } else { f_close(&F); 80266fe: 4816 ldr r0, [pc, #88] ; (8026758 ) 8026700: f0a5 f9d2 bl 80cbaa8 return FR_DISK_ERR; 8026704: 2301 movs r3, #1 8026706: e182 b.n 8026a0e } } else { f_close(&F); 8026708: 4813 ldr r0, [pc, #76] ; (8026758 ) 802670a: f0a5 f9cd bl 80cbaa8 return FR_DISK_ERR; 802670e: 2301 movs r3, #1 8026710: e17d b.n 8026a0e } } } else { f_close(&F); 8026712: 4811 ldr r0, [pc, #68] ; (8026758 ) 8026714: f0a5 f9c8 bl 80cbaa8 return FR_DISK_ERR; 8026718: 2301 movs r3, #1 802671a: e178 b.n 8026a0e } } else { f_close(&F); 802671c: 480e ldr r0, [pc, #56] ; (8026758 ) 802671e: f0a5 f9c3 bl 80cbaa8 return FR_DISK_ERR; 8026722: 2301 movs r3, #1 8026724: e173 b.n 8026a0e } /////////////////////////////////////////////////////////////////////////////// while(ifs < f_size(&F)) 8026726: e15e b.n 80269e6 8026728: 20020df3 .word 0x20020df3 802672c: 20022644 .word 0x20022644 8026730: bf800000 .word 0xbf800000 8026734: 200229c0 .word 0x200229c0 8026738: 20022640 .word 0x20022640 802673c: 200226a0 .word 0x200226a0 8026740: 2002169c .word 0x2002169c 8026744: 20022c10 .word 0x20022c10 8026748: 20022a0c .word 0x20022a0c 802674c: 20021dd0 .word 0x20021dd0 8026750: 20020dff .word 0x20020dff 8026754: 20020dfe .word 0x20020dfe 8026758: 20022e78 .word 0x20022e78 802675c: 2007c000 .word 0x2007c000 8026760: 20022360 .word 0x20022360 8026764: 080d4eac .word 0x080d4eac 8026768: 20021fec .word 0x20021fec { res = f_lseek(&F, ifs); 802676c: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8026770: 48a9 ldr r0, [pc, #676] ; (8026a18 ) 8026772: f0a5 f9b9 bl 80cbae8 8026776: 4603 mov r3, r0 8026778: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 802677c: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8026780: 2b00 cmp r3, #0 8026782: f040 8126 bne.w 80269d2 { res = f_read(&F, sector, 33, &fk); 8026786: f107 030c add.w r3, r7, #12 802678a: 2221 movs r2, #33 ; 0x21 802678c: 49a3 ldr r1, [pc, #652] ; (8026a1c ) 802678e: 48a2 ldr r0, [pc, #648] ; (8026a18 ) 8026790: f0a4 fda3 bl 80cb2da 8026794: 4603 mov r3, r0 8026796: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 33)) 802679a: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802679e: 2b00 cmp r3, #0 80267a0: f040 810d bne.w 80269be 80267a4: 68fb ldr r3, [r7, #12] 80267a6: 2b21 cmp r3, #33 ; 0x21 80267a8: f040 8109 bne.w 80269be { if((sector[d_13] == 0xD) && (sector[d_10] == 0xA)) 80267ac: 4b9b ldr r3, [pc, #620] ; (8026a1c ) 80267ae: 7fdb ldrb r3, [r3, #31] 80267b0: 2b0d cmp r3, #13 80267b2: f040 80f1 bne.w 8026998 80267b6: 4b99 ldr r3, [pc, #612] ; (8026a1c ) 80267b8: f893 3020 ldrb.w r3, [r3, #32] 80267bc: 2b0a cmp r3, #10 80267be: f040 80eb bne.w 8026998 { IP = sector[d_Point + 1]; 80267c2: 4b96 ldr r3, [pc, #600] ; (8026a1c ) 80267c4: 785b ldrb r3, [r3, #1] 80267c6: 85bb strh r3, [r7, #44] ; 0x2c IP = (IP << 8) | sector[d_Point]; 80267c8: 8dbb ldrh r3, [r7, #44] ; 0x2c 80267ca: 021b lsls r3, r3, #8 80267cc: b21a sxth r2, r3 80267ce: 4b93 ldr r3, [pc, #588] ; (8026a1c ) 80267d0: 781b ldrb r3, [r3, #0] 80267d2: b21b sxth r3, r3 80267d4: 4313 orrs r3, r2 80267d6: b21b sxth r3, r3 80267d8: 85bb strh r3, [r7, #44] ; 0x2c if(NextIndexPoint == IP) 80267da: 8dba ldrh r2, [r7, #44] ; 0x2c 80267dc: 4b90 ldr r3, [pc, #576] ; (8026a20 ) 80267de: 681b ldr r3, [r3, #0] 80267e0: 429a cmp r2, r3 80267e2: f040 80e3 bne.w 80269ac { IM = sector[d_Meas + 1]; 80267e6: 4b8d ldr r3, [pc, #564] ; (8026a1c ) 80267e8: 78db ldrb r3, [r3, #3] 80267ea: 85fb strh r3, [r7, #46] ; 0x2e IM = (IM << 8) | sector[d_Meas]; 80267ec: 8dfb ldrh r3, [r7, #46] ; 0x2e 80267ee: 021b lsls r3, r3, #8 80267f0: b21a sxth r2, r3 80267f2: 4b8a ldr r3, [pc, #552] ; (8026a1c ) 80267f4: 789b ldrb r3, [r3, #2] 80267f6: b21b sxth r3, r3 80267f8: 4313 orrs r3, r2 80267fa: b21b sxth r3, r3 80267fc: 85fb strh r3, [r7, #46] ; 0x2e if(NextIndexMeas == IM) 80267fe: 8dfa ldrh r2, [r7, #46] ; 0x2e 8026800: 4b88 ldr r3, [pc, #544] ; (8026a24 ) 8026802: 681b ldr r3, [r3, #0] 8026804: 429a cmp r2, r3 8026806: f040 80d1 bne.w 80269ac { DiagnFileData.d_Op1_ipr = sector[d_Op1_ipr]; 802680a: 4b84 ldr r3, [pc, #528] ; (8026a1c ) 802680c: 7d1a ldrb r2, [r3, #20] 802680e: 4b86 ldr r3, [pc, #536] ; (8026a28 ) 8026810: f883 2028 strb.w r2, [r3, #40] ; 0x28 DiagnFileData.d_Op2_ipr = sector[d_Op2_ipr]; 8026814: 4b81 ldr r3, [pc, #516] ; (8026a1c ) 8026816: 7d5a ldrb r2, [r3, #21] 8026818: 4b83 ldr r3, [pc, #524] ; (8026a28 ) 802681a: f883 2029 strb.w r2, [r3, #41] ; 0x29 DiagnFileData.d_Op3_ipr = sector[d_Op3_ipr]; 802681e: 4b7f ldr r3, [pc, #508] ; (8026a1c ) 8026820: 7d9a ldrb r2, [r3, #22] 8026822: 4b81 ldr r3, [pc, #516] ; (8026a28 ) 8026824: f883 202a strb.w r2, [r3, #42] ; 0x2a DiagnFileData.d_Op1_ivs = sector[d_Op1_ivs]; 8026828: 4b7c ldr r3, [pc, #496] ; (8026a1c ) 802682a: 7dda ldrb r2, [r3, #23] 802682c: 4b7e ldr r3, [pc, #504] ; (8026a28 ) 802682e: f883 202b strb.w r2, [r3, #43] ; 0x2b DiagnFileData.d_Op2_ivs = sector[d_Op2_ivs]; 8026832: 4b7a ldr r3, [pc, #488] ; (8026a1c ) 8026834: 7e1a ldrb r2, [r3, #24] 8026836: 4b7c ldr r3, [pc, #496] ; (8026a28 ) 8026838: f883 202c strb.w r2, [r3, #44] ; 0x2c DiagnFileData.d_Op3_ivs = sector[d_Op3_ivs]; 802683c: 4b77 ldr r3, [pc, #476] ; (8026a1c ) 802683e: 7e5a ldrb r2, [r3, #25] 8026840: 4b79 ldr r3, [pc, #484] ; (8026a28 ) 8026842: f883 202d strb.w r2, [r3, #45] ; 0x2d DiagnFileData.d_Op1_Color = sector[d_Op1_col]; 8026846: 4b75 ldr r3, [pc, #468] ; (8026a1c ) 8026848: 7e9a ldrb r2, [r3, #26] 802684a: 4b77 ldr r3, [pc, #476] ; (8026a28 ) 802684c: f883 202e strb.w r2, [r3, #46] ; 0x2e DiagnFileData.d_Op2_Color = sector[d_Op2_col]; 8026850: 4b72 ldr r3, [pc, #456] ; (8026a1c ) 8026852: 7eda ldrb r2, [r3, #27] 8026854: 4b74 ldr r3, [pc, #464] ; (8026a28 ) 8026856: f883 202f strb.w r2, [r3, #47] ; 0x2f DiagnFileData.d_Op3_Color = sector[d_Op3_col]; 802685a: 4b70 ldr r3, [pc, #448] ; (8026a1c ) 802685c: 7f1a ldrb r2, [r3, #28] 802685e: 4b72 ldr r3, [pc, #456] ; (8026a28 ) 8026860: f883 2030 strb.w r2, [r3, #48] ; 0x30 DiagnFileData.d_Warning = sector[d_W]; 8026864: 4b6d ldr r3, [pc, #436] ; (8026a1c ) 8026866: 7f5a ldrb r2, [r3, #29] 8026868: 4b6f ldr r3, [pc, #444] ; (8026a28 ) 802686a: f883 2031 strb.w r2, [r3, #49] ; 0x31 DiagnFileData.d_Alarm = sector[d_A]; 802686e: 4b6b ldr r3, [pc, #428] ; (8026a1c ) 8026870: 7f9a ldrb r2, [r3, #30] 8026872: 4b6d ldr r3, [pc, #436] ; (8026a28 ) 8026874: f883 2032 strb.w r2, [r3, #50] ; 0x32 for(i = 0; i < 4; i++) 8026878: 2300 movs r3, #0 802687a: 63bb str r3, [r7, #56] ; 0x38 802687c: e01f b.n 80268be { DiagnFileData.Op_1.ch[i] = sector[d_Op1_1 + i]; 802687e: 6bbb ldr r3, [r7, #56] ; 0x38 8026880: 3304 adds r3, #4 8026882: 4a66 ldr r2, [pc, #408] ; (8026a1c ) 8026884: 5cd1 ldrb r1, [r2, r3] 8026886: 4a68 ldr r2, [pc, #416] ; (8026a28 ) 8026888: 6bbb ldr r3, [r7, #56] ; 0x38 802688a: 4413 add r3, r2 802688c: 460a mov r2, r1 802688e: 701a strb r2, [r3, #0] DiagnFileData.Op_2.ch[i] = sector[d_Op2_1 + i]; 8026890: 6bbb ldr r3, [r7, #56] ; 0x38 8026892: 3308 adds r3, #8 8026894: 4a61 ldr r2, [pc, #388] ; (8026a1c ) 8026896: 5cd1 ldrb r1, [r2, r3] 8026898: 4a63 ldr r2, [pc, #396] ; (8026a28 ) 802689a: 6bbb ldr r3, [r7, #56] ; 0x38 802689c: 4413 add r3, r2 802689e: 3304 adds r3, #4 80268a0: 460a mov r2, r1 80268a2: 701a strb r2, [r3, #0] DiagnFileData.Op_3.ch[i] = sector[d_Op3_1 + i]; 80268a4: 6bbb ldr r3, [r7, #56] ; 0x38 80268a6: 330c adds r3, #12 80268a8: 4a5c ldr r2, [pc, #368] ; (8026a1c ) 80268aa: 5cd1 ldrb r1, [r2, r3] 80268ac: 4a5e ldr r2, [pc, #376] ; (8026a28 ) 80268ae: 6bbb ldr r3, [r7, #56] ; 0x38 80268b0: 4413 add r3, r2 80268b2: 3308 adds r3, #8 80268b4: 460a mov r2, r1 80268b6: 701a strb r2, [r3, #0] for(i = 0; i < 4; i++) 80268b8: 6bbb ldr r3, [r7, #56] ; 0x38 80268ba: 3301 adds r3, #1 80268bc: 63bb str r3, [r7, #56] ; 0x38 80268be: 6bbb ldr r3, [r7, #56] ; 0x38 80268c0: 2b03 cmp r3, #3 80268c2: d9dc bls.n 802687e } DateTime = (sector[d_DateTime + 3] << 24) | (sector[d_DateTime + 2] << 16) | (sector[d_DateTime + 1] << 8) | sector[d_DateTime]; 80268c4: 4b55 ldr r3, [pc, #340] ; (8026a1c ) 80268c6: 7cdb ldrb r3, [r3, #19] 80268c8: 061a lsls r2, r3, #24 80268ca: 4b54 ldr r3, [pc, #336] ; (8026a1c ) 80268cc: 7c9b ldrb r3, [r3, #18] 80268ce: 041b lsls r3, r3, #16 80268d0: 431a orrs r2, r3 80268d2: 4b52 ldr r3, [pc, #328] ; (8026a1c ) 80268d4: 7c5b ldrb r3, [r3, #17] 80268d6: 021b lsls r3, r3, #8 80268d8: 4313 orrs r3, r2 80268da: 4a50 ldr r2, [pc, #320] ; (8026a1c ) 80268dc: 7c12 ldrb r2, [r2, #16] 80268de: 4313 orrs r3, r2 80268e0: 62bb str r3, [r7, #40] ; 0x28 Year = (DateTime >> 25) - 20; 80268e2: 6abb ldr r3, [r7, #40] ; 0x28 80268e4: 0e5b lsrs r3, r3, #25 80268e6: 3b14 subs r3, #20 80268e8: 627b str r3, [r7, #36] ; 0x24 Month = (DateTime >> 21) & 0xf; 80268ea: 6abb ldr r3, [r7, #40] ; 0x28 80268ec: 0d5b lsrs r3, r3, #21 80268ee: f003 030f and.w r3, r3, #15 80268f2: 623b str r3, [r7, #32] Day = (DateTime >> 16) & 0x1f; 80268f4: 6abb ldr r3, [r7, #40] ; 0x28 80268f6: 0c1b lsrs r3, r3, #16 80268f8: f003 031f and.w r3, r3, #31 80268fc: 61fb str r3, [r7, #28] Hour = (DateTime >> 11) & 0x1f; 80268fe: 6abb ldr r3, [r7, #40] ; 0x28 8026900: 0adb lsrs r3, r3, #11 8026902: f003 031f and.w r3, r3, #31 8026906: 61bb str r3, [r7, #24] Min = (DateTime >> 5) & 0x3f; 8026908: 6abb ldr r3, [r7, #40] ; 0x28 802690a: 095b lsrs r3, r3, #5 802690c: f003 033f and.w r3, r3, #63 ; 0x3f 8026910: 617b str r3, [r7, #20] Sec = ((DateTime << 1) & 0x1f) + 1; 8026912: 6abb ldr r3, [r7, #40] ; 0x28 8026914: 005b lsls r3, r3, #1 8026916: f003 031f and.w r3, r3, #31 802691a: 3301 adds r3, #1 802691c: 613b str r3, [r7, #16] DiagnFileData.d_Date.WeekDay = 1; 802691e: 4b42 ldr r3, [pc, #264] ; (8026a28 ) 8026920: 2201 movs r2, #1 8026922: f883 2024 strb.w r2, [r3, #36] ; 0x24 DiagnFileData.d_Date.Date = (uint8_t) Day; 8026926: 69fb ldr r3, [r7, #28] 8026928: b2da uxtb r2, r3 802692a: 4b3f ldr r3, [pc, #252] ; (8026a28 ) 802692c: f883 2026 strb.w r2, [r3, #38] ; 0x26 DiagnFileData.d_Date.Month = (uint8_t) Month; 8026930: 6a3b ldr r3, [r7, #32] 8026932: b2da uxtb r2, r3 8026934: 4b3c ldr r3, [pc, #240] ; (8026a28 ) 8026936: f883 2025 strb.w r2, [r3, #37] ; 0x25 DiagnFileData.d_Date.Year = (uint8_t) Year; 802693a: 6a7b ldr r3, [r7, #36] ; 0x24 802693c: b2da uxtb r2, r3 802693e: 4b3a ldr r3, [pc, #232] ; (8026a28 ) 8026940: f883 2027 strb.w r2, [r3, #39] ; 0x27 DiagnFileData.d_Time.TimeFormat = 0; 8026944: 4b38 ldr r3, [pc, #224] ; (8026a28 ) 8026946: 2200 movs r2, #0 8026948: 761a strb r2, [r3, #24] DiagnFileData.d_Time.Hours = (uint8_t) Hour; 802694a: 69bb ldr r3, [r7, #24] 802694c: b2da uxtb r2, r3 802694e: 4b36 ldr r3, [pc, #216] ; (8026a28 ) 8026950: 731a strb r2, [r3, #12] DiagnFileData.d_Time.Minutes = (uint8_t) Min; 8026952: 697b ldr r3, [r7, #20] 8026954: b2da uxtb r2, r3 8026956: 4b34 ldr r3, [pc, #208] ; (8026a28 ) 8026958: 735a strb r2, [r3, #13] DiagnFileData.d_Time.Seconds = (uint8_t) Sec; 802695a: 693b ldr r3, [r7, #16] 802695c: b2da uxtb r2, r3 802695e: 4b32 ldr r3, [pc, #200] ; (8026a28 ) 8026960: 739a strb r2, [r3, #14] TimeFileData = DiagnFileData.d_Time; 8026962: 4a32 ldr r2, [pc, #200] ; (8026a2c ) 8026964: 4b30 ldr r3, [pc, #192] ; (8026a28 ) 8026966: 4615 mov r5, r2 8026968: f103 040c add.w r4, r3, #12 802696c: cc0f ldmia r4!, {r0, r1, r2, r3} 802696e: c50f stmia r5!, {r0, r1, r2, r3} 8026970: e894 0003 ldmia.w r4, {r0, r1} 8026974: e885 0003 stmia.w r5, {r0, r1} DateFileData = DiagnFileData.d_Date; 8026978: 4a2d ldr r2, [pc, #180] ; (8026a30 ) 802697a: 4b2b ldr r3, [pc, #172] ; (8026a28 ) 802697c: 3324 adds r3, #36 ; 0x24 802697e: 6818 ldr r0, [r3, #0] 8026980: 6010 str r0, [r2, #0] DrawSavedData = true; 8026982: 4b2c ldr r3, [pc, #176] ; (8026a34 ) 8026984: 2201 movs r2, #1 8026986: 701a strb r2, [r3, #0] FileDataExist = true; 8026988: 4b2b ldr r3, [pc, #172] ; (8026a38 ) 802698a: 2201 movs r2, #1 802698c: 701a strb r2, [r3, #0] f_close(&F); 802698e: 4822 ldr r0, [pc, #136] ; (8026a18 ) 8026990: f0a5 f88a bl 80cbaa8 return FR_OK; 8026994: 2300 movs r3, #0 8026996: e03a b.n 8026a0e } } else { //BAD DATA IN FILE!!!!!!!!!!!!!! f_close(&F); 8026998: 481f ldr r0, [pc, #124] ; (8026a18 ) 802699a: f0a5 f885 bl 80cbaa8 memset(Comment, 0, sizeof(Comment)); 802699e: 2228 movs r2, #40 ; 0x28 80269a0: 2100 movs r1, #0 80269a2: 4826 ldr r0, [pc, #152] ; (8026a3c ) 80269a4: f0ab fafe bl 80d1fa4 return FR_INVALID_OBJECT; 80269a8: 2309 movs r3, #9 80269aa: e030 b.n 8026a0e if(NextIndexPoint == IP) 80269ac: bf00 nop } ifs += 33; 80269ae: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 80269b2: 3321 adds r3, #33 ; 0x21 80269b4: f144 0400 adc.w r4, r4, #0 80269b8: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 80269bc: e013 b.n 80269e6 } else { f_close(&F); 80269be: 4816 ldr r0, [pc, #88] ; (8026a18 ) 80269c0: f0a5 f872 bl 80cbaa8 memset(Comment, 0, sizeof(Comment)); 80269c4: 2228 movs r2, #40 ; 0x28 80269c6: 2100 movs r1, #0 80269c8: 481c ldr r0, [pc, #112] ; (8026a3c ) 80269ca: f0ab faeb bl 80d1fa4 return FR_DISK_ERR; 80269ce: 2301 movs r3, #1 80269d0: e01d b.n 8026a0e } } else { f_close(&F); 80269d2: 4811 ldr r0, [pc, #68] ; (8026a18 ) 80269d4: f0a5 f868 bl 80cbaa8 memset(Comment, 0, sizeof(Comment)); 80269d8: 2228 movs r2, #40 ; 0x28 80269da: 2100 movs r1, #0 80269dc: 4817 ldr r0, [pc, #92] ; (8026a3c ) 80269de: f0ab fae1 bl 80d1fa4 return FR_DISK_ERR; 80269e2: 2301 movs r3, #1 80269e4: e013 b.n 8026a0e while(ifs < f_size(&F)) 80269e6: 4b0c ldr r3, [pc, #48] ; (8026a18 ) 80269e8: e9d3 3404 ldrd r3, r4, [r3, #16] 80269ec: e9d7 120c ldrd r1, r2, [r7, #48] ; 0x30 80269f0: 42a2 cmp r2, r4 80269f2: bf08 it eq 80269f4: 4299 cmpeq r1, r3 80269f6: f4ff aeb9 bcc.w 802676c /* * Èçìåðåíèå íå îáíàðóæåíî */ DrawSavedData = true; 80269fa: 4b0e ldr r3, [pc, #56] ; (8026a34 ) 80269fc: 2201 movs r2, #1 80269fe: 701a strb r2, [r3, #0] f_close(&F); 8026a00: 4805 ldr r0, [pc, #20] ; (8026a18 ) 8026a02: f0a5 f851 bl 80cbaa8 return FR_OK; 8026a06: 2300 movs r3, #0 8026a08: e001 b.n 8026a0e } } } } return res; 8026a0a: f897 303f ldrb.w r3, [r7, #63] ; 0x3f } 8026a0e: 4618 mov r0, r3 8026a10: 3744 adds r7, #68 ; 0x44 8026a12: 46bd mov sp, r7 8026a14: bdf0 pop {r4, r5, r6, r7, pc} 8026a16: bf00 nop 8026a18: 20022e78 .word 0x20022e78 8026a1c: 2007c000 .word 0x2007c000 8026a20: 20021fec .word 0x20021fec 8026a24: 20022360 .word 0x20022360 8026a28: 20022644 .word 0x20022644 8026a2c: 200229c0 .word 0x200229c0 8026a30: 20022640 .word 0x20022640 8026a34: 20020dea .word 0x20020dea 8026a38: 20020df3 .word 0x20020df3 8026a3c: 200226a0 .word 0x200226a0 08026a40 : FRESULT ReadFileSPEC(char* fname) { 8026a40: b580 push {r7, lr} 8026a42: b086 sub sp, #24 8026a44: af00 add r7, sp, #0 8026a46: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8026a48: 2300 movs r3, #0 8026a4a: 75fb strb r3, [r7, #23] uint32_t i; UINT fk; FileDataExist = false; 8026a4c: 4b4f ldr r3, [pc, #316] ; (8026b8c ) 8026a4e: 2200 movs r2, #0 8026a50: 701a strb r2, [r3, #0] DrawSavedData = false; 8026a52: 4b4f ldr r3, [pc, #316] ; (8026b90 ) 8026a54: 2200 movs r2, #0 8026a56: 701a strb r2, [r3, #0] if(CardState != MSD_READY) { 8026a58: 4b4e ldr r3, [pc, #312] ; (8026b94 ) 8026a5a: 781b ldrb r3, [r3, #0] 8026a5c: b2db uxtb r3, r3 8026a5e: 2b03 cmp r3, #3 8026a60: d001 beq.n 8026a66 return FR_NOT_READY; 8026a62: 2303 movs r3, #3 8026a64: e08e b.n 8026b84 } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 8026a66: 7dfb ldrb r3, [r7, #23] 8026a68: 2b00 cmp r3, #0 8026a6a: f040 808a bne.w 8026b82 { //memset(FileName, 0, sizeof(FileName)); //strcpy(FileName, fname); memset(PointPath, 0, sizeof(PointPath)); 8026a6e: f44f 7200 mov.w r2, #512 ; 0x200 8026a72: 2100 movs r1, #0 8026a74: 4848 ldr r0, [pc, #288] ; (8026b98 ) 8026a76: f0ab fa95 bl 80d1fa4 memset(SearchPath, 0, sizeof(SearchPath)); 8026a7a: f44f 7200 mov.w r2, #512 ; 0x200 8026a7e: 2100 movs r1, #0 8026a80: 4846 ldr r0, [pc, #280] ; (8026b9c ) 8026a82: f0ab fa8f bl 80d1fa4 SearchPath[0] = '0'; 8026a86: 4b45 ldr r3, [pc, #276] ; (8026b9c ) 8026a88: 2230 movs r2, #48 ; 0x30 8026a8a: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8026a8c: 4b43 ldr r3, [pc, #268] ; (8026b9c ) 8026a8e: 223a movs r2, #58 ; 0x3a 8026a90: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8026a92: 4b43 ldr r3, [pc, #268] ; (8026ba0 ) 8026a94: 220b movs r2, #11 8026a96: 701a strb r2, [r3, #0] FlagReturn = false; 8026a98: 4b42 ldr r3, [pc, #264] ; (8026ba4 ) 8026a9a: 2200 movs r2, #0 8026a9c: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8026a9e: 2100 movs r1, #0 8026aa0: 483e ldr r0, [pc, #248] ; (8026b9c ) 8026aa2: f003 ff9d bl 802a9e0 if(PointPath[0] == 0) 8026aa6: 4b3c ldr r3, [pc, #240] ; (8026b98 ) 8026aa8: 781b ldrb r3, [r3, #0] 8026aaa: 2b00 cmp r3, #0 8026aac: d102 bne.n 8026ab4 { res = FR_NO_FILE; 8026aae: 2304 movs r3, #4 8026ab0: 75fb strb r3, [r7, #23] 8026ab2: e066 b.n 8026b82 } else { res = f_open(&F, PointPath, FA_READ); 8026ab4: 2201 movs r2, #1 8026ab6: 4938 ldr r1, [pc, #224] ; (8026b98 ) 8026ab8: 483b ldr r0, [pc, #236] ; (8026ba8 ) 8026aba: f0a4 f9b1 bl 80cae20 8026abe: 4603 mov r3, r0 8026ac0: 75fb strb r3, [r7, #23] if(res == FR_OK) 8026ac2: 7dfb ldrb r3, [r7, #23] 8026ac4: 2b00 cmp r3, #0 8026ac6: d15c bne.n 8026b82 { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(pardata)); 8026ac8: 4a38 ldr r2, [pc, #224] ; (8026bac ) 8026aca: 4b39 ldr r3, [pc, #228] ; (8026bb0 ) 8026acc: 4610 mov r0, r2 8026ace: 4619 mov r1, r3 8026ad0: f44f 6396 mov.w r3, #1200 ; 0x4b0 8026ad4: 461a mov r2, r3 8026ad6: f0ab fa5a bl 80d1f8e res = f_read(&F, (void *) &pardata, sizeof(pardata), &fk); 8026ada: f107 030c add.w r3, r7, #12 8026ade: f44f 6296 mov.w r2, #1200 ; 0x4b0 8026ae2: 4933 ldr r1, [pc, #204] ; (8026bb0 ) 8026ae4: 4830 ldr r0, [pc, #192] ; (8026ba8 ) 8026ae6: f0a4 fbf8 bl 80cb2da 8026aea: 4603 mov r3, r0 8026aec: 75fb strb r3, [r7, #23] if(res == FR_OK) 8026aee: 7dfb ldrb r3, [r7, #23] 8026af0: 2b00 cmp r3, #0 8026af2: d141 bne.n 8026b78 { res = f_lseek(&F, 512); 8026af4: f44f 7200 mov.w r2, #512 ; 0x200 8026af8: f04f 0300 mov.w r3, #0 8026afc: 482a ldr r0, [pc, #168] ; (8026ba8 ) 8026afe: f0a4 fff3 bl 80cbae8 8026b02: 4603 mov r3, r0 8026b04: 75fb strb r3, [r7, #23] if(res == FR_OK) 8026b06: 7dfb ldrb r3, [r7, #23] 8026b08: 2b00 cmp r3, #0 8026b0a: d130 bne.n 8026b6e { i = (NS[pardata.LNE] << 2); 8026b0c: 4b28 ldr r3, [pc, #160] ; (8026bb0 ) 8026b0e: 79db ldrb r3, [r3, #7] 8026b10: b2db uxtb r3, r3 8026b12: 461a mov r2, r3 8026b14: 4b27 ldr r3, [pc, #156] ; (8026bb4 ) 8026b16: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8026b1a: 009b lsls r3, r3, #2 8026b1c: 613b str r3, [r7, #16] res = f_read(&F, (void *) &SD_Buff, (UINT) i, &fk); 8026b1e: f107 030c add.w r3, r7, #12 8026b22: 693a ldr r2, [r7, #16] 8026b24: 4924 ldr r1, [pc, #144] ; (8026bb8 ) 8026b26: 4820 ldr r0, [pc, #128] ; (8026ba8 ) 8026b28: f0a4 fbd7 bl 80cb2da 8026b2c: 4603 mov r3, r0 8026b2e: 75fb strb r3, [r7, #23] if(res == FR_OK) 8026b30: 7dfb ldrb r3, [r7, #23] 8026b32: 2b00 cmp r3, #0 8026b34: d116 bne.n 8026b64 { arm_copy_f32((float32_t *) &SD_Buff, pScrA_f32, NS[pardata.LNE]); 8026b36: 4b1e ldr r3, [pc, #120] ; (8026bb0 ) 8026b38: 79db ldrb r3, [r3, #7] 8026b3a: b2db uxtb r3, r3 8026b3c: 461a mov r2, r3 8026b3e: 4b1d ldr r3, [pc, #116] ; (8026bb4 ) 8026b40: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8026b44: 461a mov r2, r3 8026b46: 491d ldr r1, [pc, #116] ; (8026bbc ) 8026b48: 481b ldr r0, [pc, #108] ; (8026bb8 ) 8026b4a: f0a8 f8a5 bl 80cec98 f_close(&F); 8026b4e: 4816 ldr r0, [pc, #88] ; (8026ba8 ) 8026b50: f0a4 ffaa bl 80cbaa8 //f_mount(&fs, SDPath, 0); DrawSavedData = true; 8026b54: 4b0e ldr r3, [pc, #56] ; (8026b90 ) 8026b56: 2201 movs r2, #1 8026b58: 701a strb r2, [r3, #0] FileDataExist = true; 8026b5a: 4b0c ldr r3, [pc, #48] ; (8026b8c ) 8026b5c: 2201 movs r2, #1 8026b5e: 701a strb r2, [r3, #0] return FR_OK; 8026b60: 2300 movs r3, #0 8026b62: e00f b.n 8026b84 } else { f_close(&F); 8026b64: 4810 ldr r0, [pc, #64] ; (8026ba8 ) 8026b66: f0a4 ff9f bl 80cbaa8 // f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8026b6a: 2301 movs r3, #1 8026b6c: e00a b.n 8026b84 } } else { f_close(&F); 8026b6e: 480e ldr r0, [pc, #56] ; (8026ba8 ) 8026b70: f0a4 ff9a bl 80cbaa8 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8026b74: 2301 movs r3, #1 8026b76: e005 b.n 8026b84 } } else { f_close(&F); 8026b78: 480b ldr r0, [pc, #44] ; (8026ba8 ) 8026b7a: f0a4 ff95 bl 80cbaa8 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8026b7e: 2301 movs r3, #1 8026b80: e000 b.n 8026b84 } } } //f_mount(&fs, SDPath, 0); return res; 8026b82: 7dfb ldrb r3, [r7, #23] } 8026b84: 4618 mov r0, r3 8026b86: 3718 adds r7, #24 8026b88: 46bd mov sp, r7 8026b8a: bd80 pop {r7, pc} 8026b8c: 20020df3 .word 0x20020df3 8026b90: 20020dea .word 0x20020dea 8026b94: 2002169c .word 0x2002169c 8026b98: 20022a0c .word 0x20022a0c 8026b9c: 20021dd0 .word 0x20021dd0 8026ba0: 20020dff .word 0x20020dff 8026ba4: 20020dfe .word 0x20020dfe 8026ba8: 20022e78 .word 0x20022e78 8026bac: 200243d4 .word 0x200243d4 8026bb0: 20023eb8 .word 0x20023eb8 8026bb4: 080d7818 .word 0x080d7818 8026bb8: 20000000 .word 0x20000000 8026bbc: 64080000 .word 0x64080000 08026bc0 : } FRESULT OpenFileINFO(char* fname) { 8026bc0: b590 push {r4, r7, lr} 8026bc2: b0a5 sub sp, #148 ; 0x94 8026bc4: af00 add r7, sp, #0 8026bc6: 6078 str r0, [r7, #4] FSIZE_t SizeMeas = 0, FileSize; 8026bc8: f04f 0300 mov.w r3, #0 8026bcc: f04f 0400 mov.w r4, #0 8026bd0: e9c7 341e strd r3, r4, [r7, #120] ; 0x78 FRESULT res = FR_OK; 8026bd4: 2300 movs r3, #0 8026bd6: f887 308f strb.w r3, [r7, #143] ; 0x8f UINT fk, i, j, k, l; uint32_t srate[12]; uint32_t sens[12], s; FileDataExist = false; 8026bda: 4bb4 ldr r3, [pc, #720] ; (8026eac ) 8026bdc: 2200 movs r2, #0 8026bde: 701a strb r2, [r3, #0] DrawSavedData = false; 8026be0: 4bb3 ldr r3, [pc, #716] ; (8026eb0 ) 8026be2: 2200 movs r2, #0 8026be4: 701a strb r2, [r3, #0] memset((void *) &PlayingState, 0, sizeof(PlayingState)); 8026be6: 2230 movs r2, #48 ; 0x30 8026be8: 2100 movs r1, #0 8026bea: 48b2 ldr r0, [pc, #712] ; (8026eb4 ) 8026bec: f0ab f9da bl 80d1fa4 memset(srate, 0, sizeof(srate)); 8026bf0: f107 0338 add.w r3, r7, #56 ; 0x38 8026bf4: 2230 movs r2, #48 ; 0x30 8026bf6: 2100 movs r1, #0 8026bf8: 4618 mov r0, r3 8026bfa: f0ab f9d3 bl 80d1fa4 memset(sens, 0, sizeof(sens)); 8026bfe: f107 0308 add.w r3, r7, #8 8026c02: 2230 movs r2, #48 ; 0x30 8026c04: 2100 movs r1, #0 8026c06: 4618 mov r0, r3 8026c08: f0ab f9cc bl 80d1fa4 PlayingState.Sensitivity = 1.0f; 8026c0c: 4ba9 ldr r3, [pc, #676] ; (8026eb4 ) 8026c0e: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 8026c12: 621a str r2, [r3, #32] if(CardState != MSD_READY) { 8026c14: 4ba8 ldr r3, [pc, #672] ; (8026eb8 ) 8026c16: 781b ldrb r3, [r3, #0] 8026c18: b2db uxtb r3, r3 8026c1a: 2b03 cmp r3, #3 8026c1c: d001 beq.n 8026c22 return FR_NOT_READY; 8026c1e: 2303 movs r3, #3 8026c20: e2e1 b.n 80271e6 } if(res == FR_OK) 8026c22: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 8026c26: 2b00 cmp r3, #0 8026c28: f040 82db bne.w 80271e2 { memset(PointPath, 0, sizeof(PointPath)); 8026c2c: f44f 7200 mov.w r2, #512 ; 0x200 8026c30: 2100 movs r1, #0 8026c32: 48a2 ldr r0, [pc, #648] ; (8026ebc ) 8026c34: f0ab f9b6 bl 80d1fa4 memset(SearchPath, 0, sizeof(SearchPath)); 8026c38: f44f 7200 mov.w r2, #512 ; 0x200 8026c3c: 2100 movs r1, #0 8026c3e: 48a0 ldr r0, [pc, #640] ; (8026ec0 ) 8026c40: f0ab f9b0 bl 80d1fa4 SearchPath[0] = '0'; 8026c44: 4b9e ldr r3, [pc, #632] ; (8026ec0 ) 8026c46: 2230 movs r2, #48 ; 0x30 8026c48: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8026c4a: 4b9d ldr r3, [pc, #628] ; (8026ec0 ) 8026c4c: 223a movs r2, #58 ; 0x3a 8026c4e: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8026c50: 4b9c ldr r3, [pc, #624] ; (8026ec4 ) 8026c52: 220b movs r2, #11 8026c54: 701a strb r2, [r3, #0] FlagReturn = false; 8026c56: 4b9c ldr r3, [pc, #624] ; (8026ec8 ) 8026c58: 2200 movs r2, #0 8026c5a: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8026c5c: 2100 movs r1, #0 8026c5e: 4898 ldr r0, [pc, #608] ; (8026ec0 ) 8026c60: f003 febe bl 802a9e0 if(PointPath[0] == 0) 8026c64: 4b95 ldr r3, [pc, #596] ; (8026ebc ) 8026c66: 781b ldrb r3, [r3, #0] 8026c68: 2b00 cmp r3, #0 8026c6a: d103 bne.n 8026c74 { res = FR_NO_FILE; 8026c6c: 2304 movs r3, #4 8026c6e: f887 308f strb.w r3, [r7, #143] ; 0x8f 8026c72: e2b6 b.n 80271e2 } else { strcat(PointPath, ".info"); 8026c74: 4891 ldr r0, [pc, #580] ; (8026ebc ) 8026c76: f7f9 fb4d bl 8020314 8026c7a: 4603 mov r3, r0 8026c7c: 461a mov r2, r3 8026c7e: 4b8f ldr r3, [pc, #572] ; (8026ebc ) 8026c80: 4413 add r3, r2 8026c82: 4a92 ldr r2, [pc, #584] ; (8026ecc ) 8026c84: 6810 ldr r0, [r2, #0] 8026c86: 6018 str r0, [r3, #0] 8026c88: 8892 ldrh r2, [r2, #4] 8026c8a: 809a strh r2, [r3, #4] res = f_open(&F, PointPath, FA_READ); 8026c8c: 2201 movs r2, #1 8026c8e: 498b ldr r1, [pc, #556] ; (8026ebc ) 8026c90: 488f ldr r0, [pc, #572] ; (8026ed0 ) 8026c92: f0a4 f8c5 bl 80cae20 8026c96: 4603 mov r3, r0 8026c98: f887 308f strb.w r3, [r7, #143] ; 0x8f if(res == FR_OK) 8026c9c: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 8026ca0: 2b00 cmp r3, #0 8026ca2: f040 827c bne.w 802719e { FileSize = f_size(&F); 8026ca6: 4b8a ldr r3, [pc, #552] ; (8026ed0 ) 8026ca8: e9d3 3404 ldrd r3, r4, [r3, #16] 8026cac: e9c7 341c strd r3, r4, [r7, #112] ; 0x70 if(FileSize <= 512u) 8026cb0: e9d7 341c ldrd r3, r4, [r7, #112] ; 0x70 8026cb4: f44f 7100 mov.w r1, #512 ; 0x200 8026cb8: f04f 0200 mov.w r2, #0 8026cbc: 42a2 cmp r2, r4 8026cbe: bf08 it eq 8026cc0: 4299 cmpeq r1, r3 8026cc2: f0c0 824a bcc.w 802715a { res = f_read(&F, SearchPath, FileSize, &fk); 8026cc6: 6f3a ldr r2, [r7, #112] ; 0x70 8026cc8: f107 0368 add.w r3, r7, #104 ; 0x68 8026ccc: 497c ldr r1, [pc, #496] ; (8026ec0 ) 8026cce: 4880 ldr r0, [pc, #512] ; (8026ed0 ) 8026cd0: f0a4 fb03 bl 80cb2da 8026cd4: 4603 mov r3, r0 8026cd6: f887 308f strb.w r3, [r7, #143] ; 0x8f if(res == FR_OK) 8026cda: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 8026cde: 2b00 cmp r3, #0 8026ce0: f040 8219 bne.w 8027116 { //********************************** FIND Sensitivity ******************************************************************************************************************************** k = 0; 8026ce4: 2300 movs r3, #0 8026ce6: f8c7 3080 str.w r3, [r7, #128] ; 0x80 for(i = 0; i < FileSize; i++) 8026cea: 2300 movs r3, #0 8026cec: f8c7 3088 str.w r3, [r7, #136] ; 0x88 8026cf0: e08e b.n 8026e10 { 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')) 8026cf2: 4a73 ldr r2, [pc, #460] ; (8026ec0 ) 8026cf4: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026cf8: 4413 add r3, r2 8026cfa: 781b ldrb r3, [r3, #0] 8026cfc: 2b73 cmp r3, #115 ; 0x73 8026cfe: f040 8082 bne.w 8026e06 8026d02: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026d06: 3301 adds r3, #1 8026d08: 4a6d ldr r2, [pc, #436] ; (8026ec0 ) 8026d0a: 5cd3 ldrb r3, [r2, r3] 8026d0c: 2b65 cmp r3, #101 ; 0x65 8026d0e: d17a bne.n 8026e06 8026d10: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026d14: 3302 adds r3, #2 8026d16: 4a6a ldr r2, [pc, #424] ; (8026ec0 ) 8026d18: 5cd3 ldrb r3, [r2, r3] 8026d1a: 2b6e cmp r3, #110 ; 0x6e 8026d1c: d173 bne.n 8026e06 8026d1e: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026d22: 3303 adds r3, #3 8026d24: 4a66 ldr r2, [pc, #408] ; (8026ec0 ) 8026d26: 5cd3 ldrb r3, [r2, r3] 8026d28: 2b73 cmp r3, #115 ; 0x73 8026d2a: d16c bne.n 8026e06 8026d2c: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026d30: 3304 adds r3, #4 8026d32: 4a63 ldr r2, [pc, #396] ; (8026ec0 ) 8026d34: 5cd3 ldrb r3, [r2, r3] 8026d36: 2b69 cmp r3, #105 ; 0x69 8026d38: d165 bne.n 8026e06 8026d3a: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026d3e: 3305 adds r3, #5 8026d40: 4a5f ldr r2, [pc, #380] ; (8026ec0 ) 8026d42: 5cd3 ldrb r3, [r2, r3] 8026d44: 2b74 cmp r3, #116 ; 0x74 8026d46: d15e bne.n 8026e06 8026d48: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026d4c: 3306 adds r3, #6 8026d4e: 4a5c ldr r2, [pc, #368] ; (8026ec0 ) 8026d50: 5cd3 ldrb r3, [r2, r3] 8026d52: 2b69 cmp r3, #105 ; 0x69 8026d54: d157 bne.n 8026e06 8026d56: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026d5a: 3307 adds r3, #7 8026d5c: 4a58 ldr r2, [pc, #352] ; (8026ec0 ) 8026d5e: 5cd3 ldrb r3, [r2, r3] 8026d60: 2b76 cmp r3, #118 ; 0x76 8026d62: d150 bne.n 8026e06 8026d64: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026d68: 3308 adds r3, #8 8026d6a: 4a55 ldr r2, [pc, #340] ; (8026ec0 ) 8026d6c: 5cd3 ldrb r3, [r2, r3] 8026d6e: 2b69 cmp r3, #105 ; 0x69 8026d70: d149 bne.n 8026e06 8026d72: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026d76: 3309 adds r3, #9 8026d78: 4a51 ldr r2, [pc, #324] ; (8026ec0 ) 8026d7a: 5cd3 ldrb r3, [r2, r3] 8026d7c: 2b74 cmp r3, #116 ; 0x74 8026d7e: d142 bne.n 8026e06 8026d80: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026d84: 330a adds r3, #10 8026d86: 4a4e ldr r2, [pc, #312] ; (8026ec0 ) 8026d88: 5cd3 ldrb r3, [r2, r3] 8026d8a: 2b79 cmp r3, #121 ; 0x79 8026d8c: d13b bne.n 8026e06 { //j = i + 11; for(j = i + 11; j < FileSize; j++) 8026d8e: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026d92: 330b adds r3, #11 8026d94: f8c7 3084 str.w r3, [r7, #132] ; 0x84 8026d98: e026 b.n 8026de8 { if(SearchPath[j] == ':') { 8026d9a: 4a49 ldr r2, [pc, #292] ; (8026ec0 ) 8026d9c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8026da0: 4413 add r3, r2 8026da2: 781b ldrb r3, [r3, #0] 8026da4: 2b3a cmp r3, #58 ; 0x3a 8026da6: d11a bne.n 8026dde PlayingState.Sensitivity = atoff(&SearchPath[j + 1]); 8026da8: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8026dac: 3301 adds r3, #1 8026dae: 4a44 ldr r2, [pc, #272] ; (8026ec0 ) 8026db0: 4413 add r3, r2 8026db2: 4618 mov r0, r3 8026db4: f0ab f881 bl 80d1eba 8026db8: eef0 7a40 vmov.f32 s15, s0 8026dbc: 4b3d ldr r3, [pc, #244] ; (8026eb4 ) 8026dbe: edc3 7a08 vstr s15, [r3, #32] PlayingState.Sensitivity *= 1000.0f; 8026dc2: 4b3c ldr r3, [pc, #240] ; (8026eb4 ) 8026dc4: edd3 7a08 vldr s15, [r3, #32] 8026dc8: ed9f 7a42 vldr s14, [pc, #264] ; 8026ed4 8026dcc: ee67 7a87 vmul.f32 s15, s15, s14 8026dd0: 4b38 ldr r3, [pc, #224] ; (8026eb4 ) 8026dd2: edc3 7a08 vstr s15, [r3, #32] k = 1; 8026dd6: 2301 movs r3, #1 8026dd8: f8c7 3080 str.w r3, [r7, #128] ; 0x80 break; 8026ddc: e00f b.n 8026dfe for(j = i + 11; j < FileSize; j++) 8026dde: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8026de2: 3301 adds r3, #1 8026de4: f8c7 3084 str.w r3, [r7, #132] ; 0x84 8026de8: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8026dec: 4619 mov r1, r3 8026dee: f04f 0200 mov.w r2, #0 8026df2: e9d7 341c ldrd r3, r4, [r7, #112] ; 0x70 8026df6: 42a2 cmp r2, r4 8026df8: bf08 it eq 8026dfa: 4299 cmpeq r1, r3 8026dfc: d3cd bcc.n 8026d9a } } if(k) break; 8026dfe: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 8026e02: 2b00 cmp r3, #0 8026e04: d111 bne.n 8026e2a for(i = 0; i < FileSize; i++) 8026e06: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026e0a: 3301 adds r3, #1 8026e0c: f8c7 3088 str.w r3, [r7, #136] ; 0x88 8026e10: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026e14: 4619 mov r1, r3 8026e16: f04f 0200 mov.w r2, #0 8026e1a: e9d7 341c ldrd r3, r4, [r7, #112] ; 0x70 8026e1e: 42a2 cmp r2, r4 8026e20: bf08 it eq 8026e22: 4299 cmpeq r1, r3 8026e24: f4ff af65 bcc.w 8026cf2 8026e28: e000 b.n 8026e2c if(k) break; 8026e2a: bf00 nop } } //************************************************************************************************************************************************************************************** //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //********************************** FIND Rate ******************************************************************************************************************************** k = 0; 8026e2c: 2300 movs r3, #0 8026e2e: f8c7 3080 str.w r3, [r7, #128] ; 0x80 for(i = 0; i < FileSize; i++) 8026e32: 2300 movs r3, #0 8026e34: f8c7 3088 str.w r3, [r7, #136] ; 0x88 8026e38: e067 b.n 8026f0a { if((SearchPath[i] == 'r') && (SearchPath[i + 1] == 'a') && (SearchPath[i + 2] == 't') && (SearchPath[i + 3] == 'e')) 8026e3a: 4a21 ldr r2, [pc, #132] ; (8026ec0 ) 8026e3c: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026e40: 4413 add r3, r2 8026e42: 781b ldrb r3, [r3, #0] 8026e44: 2b72 cmp r3, #114 ; 0x72 8026e46: d157 bne.n 8026ef8 8026e48: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026e4c: 3301 adds r3, #1 8026e4e: 4a1c ldr r2, [pc, #112] ; (8026ec0 ) 8026e50: 5cd3 ldrb r3, [r2, r3] 8026e52: 2b61 cmp r3, #97 ; 0x61 8026e54: d150 bne.n 8026ef8 8026e56: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026e5a: 3302 adds r3, #2 8026e5c: 4a18 ldr r2, [pc, #96] ; (8026ec0 ) 8026e5e: 5cd3 ldrb r3, [r2, r3] 8026e60: 2b74 cmp r3, #116 ; 0x74 8026e62: d149 bne.n 8026ef8 8026e64: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026e68: 3303 adds r3, #3 8026e6a: 4a15 ldr r2, [pc, #84] ; (8026ec0 ) 8026e6c: 5cd3 ldrb r3, [r2, r3] 8026e6e: 2b65 cmp r3, #101 ; 0x65 8026e70: d142 bne.n 8026ef8 { for(j = i + 4; j < FileSize; j++) 8026e72: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026e76: 3304 adds r3, #4 8026e78: f8c7 3084 str.w r3, [r7, #132] ; 0x84 8026e7c: e031 b.n 8026ee2 { if(SearchPath[j] == ':') { 8026e7e: 4a10 ldr r2, [pc, #64] ; (8026ec0 ) 8026e80: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8026e84: 4413 add r3, r2 8026e86: 781b ldrb r3, [r3, #0] 8026e88: 2b3a cmp r3, #58 ; 0x3a 8026e8a: d125 bne.n 8026ed8 PlayingState.SampleRate = atoi(&SearchPath[j + 1]); 8026e8c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8026e90: 3301 adds r3, #1 8026e92: 4a0b ldr r2, [pc, #44] ; (8026ec0 ) 8026e94: 4413 add r3, r2 8026e96: 4618 mov r0, r3 8026e98: f0ab f812 bl 80d1ec0 8026e9c: 4603 mov r3, r0 8026e9e: 461a mov r2, r3 8026ea0: 4b04 ldr r3, [pc, #16] ; (8026eb4 ) 8026ea2: 619a str r2, [r3, #24] k = 1; 8026ea4: 2301 movs r3, #1 8026ea6: f8c7 3080 str.w r3, [r7, #128] ; 0x80 break; 8026eaa: e025 b.n 8026ef8 8026eac: 20020df3 .word 0x20020df3 8026eb0: 20020dea .word 0x20020dea 8026eb4: 20022928 .word 0x20022928 8026eb8: 2002169c .word 0x2002169c 8026ebc: 20022a0c .word 0x20022a0c 8026ec0: 20021dd0 .word 0x20021dd0 8026ec4: 20020dff .word 0x20020dff 8026ec8: 20020dfe .word 0x20020dfe 8026ecc: 080d4f00 .word 0x080d4f00 8026ed0: 20022e78 .word 0x20022e78 8026ed4: 447a0000 .word 0x447a0000 for(j = i + 4; j < FileSize; j++) 8026ed8: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8026edc: 3301 adds r3, #1 8026ede: f8c7 3084 str.w r3, [r7, #132] ; 0x84 8026ee2: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8026ee6: 4619 mov r1, r3 8026ee8: f04f 0200 mov.w r2, #0 8026eec: e9d7 341c ldrd r3, r4, [r7, #112] ; 0x70 8026ef0: 42a2 cmp r2, r4 8026ef2: bf08 it eq 8026ef4: 4299 cmpeq r1, r3 8026ef6: d3c2 bcc.n 8026e7e } } } if(k) break; 8026ef8: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 8026efc: 2b00 cmp r3, #0 8026efe: d110 bne.n 8026f22 for(i = 0; i < FileSize; i++) 8026f00: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026f04: 3301 adds r3, #1 8026f06: f8c7 3088 str.w r3, [r7, #136] ; 0x88 8026f0a: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026f0e: 4619 mov r1, r3 8026f10: f04f 0200 mov.w r2, #0 8026f14: e9d7 341c ldrd r3, r4, [r7, #112] ; 0x70 8026f18: 42a2 cmp r2, r4 8026f1a: bf08 it eq 8026f1c: 4299 cmpeq r1, r3 8026f1e: d38c bcc.n 8026e3a 8026f20: e000 b.n 8026f24 if(k) break; 8026f22: bf00 nop } //************************************************************************************************************************************************************************************** //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //********************************** FIND Gain ******************************************************************************************************************************** k = 0; 8026f24: 2300 movs r3, #0 8026f26: f8c7 3080 str.w r3, [r7, #128] ; 0x80 PlayingState.Gain = 1.0f; 8026f2a: 4bb1 ldr r3, [pc, #708] ; (80271f0 ) 8026f2c: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 8026f30: 625a str r2, [r3, #36] ; 0x24 for(i = 0; i < FileSize; i++) 8026f32: 2300 movs r3, #0 8026f34: f8c7 3088 str.w r3, [r7, #136] ; 0x88 8026f38: e052 b.n 8026fe0 { if((SearchPath[i] == 'g') && (SearchPath[i + 1] == 'a') && (SearchPath[i + 2] == 'i') && (SearchPath[i + 3] == 'n')) 8026f3a: 4aae ldr r2, [pc, #696] ; (80271f4 ) 8026f3c: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026f40: 4413 add r3, r2 8026f42: 781b ldrb r3, [r3, #0] 8026f44: 2b67 cmp r3, #103 ; 0x67 8026f46: d142 bne.n 8026fce 8026f48: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026f4c: 3301 adds r3, #1 8026f4e: 4aa9 ldr r2, [pc, #676] ; (80271f4 ) 8026f50: 5cd3 ldrb r3, [r2, r3] 8026f52: 2b61 cmp r3, #97 ; 0x61 8026f54: d13b bne.n 8026fce 8026f56: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026f5a: 3302 adds r3, #2 8026f5c: 4aa5 ldr r2, [pc, #660] ; (80271f4 ) 8026f5e: 5cd3 ldrb r3, [r2, r3] 8026f60: 2b69 cmp r3, #105 ; 0x69 8026f62: d134 bne.n 8026fce 8026f64: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026f68: 3303 adds r3, #3 8026f6a: 4aa2 ldr r2, [pc, #648] ; (80271f4 ) 8026f6c: 5cd3 ldrb r3, [r2, r3] 8026f6e: 2b6e cmp r3, #110 ; 0x6e 8026f70: d12d bne.n 8026fce { //j = i + 4; for(j = i + 4; j < FileSize; j++) 8026f72: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026f76: 3304 adds r3, #4 8026f78: f8c7 3084 str.w r3, [r7, #132] ; 0x84 8026f7c: e01c b.n 8026fb8 { if(SearchPath[j] == ':') { 8026f7e: 4a9d ldr r2, [pc, #628] ; (80271f4 ) 8026f80: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8026f84: 4413 add r3, r2 8026f86: 781b ldrb r3, [r3, #0] 8026f88: 2b3a cmp r3, #58 ; 0x3a 8026f8a: d110 bne.n 8026fae PlayingState.Gain = atoff(&SearchPath[j + 1]); 8026f8c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8026f90: 3301 adds r3, #1 8026f92: 4a98 ldr r2, [pc, #608] ; (80271f4 ) 8026f94: 4413 add r3, r2 8026f96: 4618 mov r0, r3 8026f98: f0aa ff8f bl 80d1eba 8026f9c: eef0 7a40 vmov.f32 s15, s0 8026fa0: 4b93 ldr r3, [pc, #588] ; (80271f0 ) 8026fa2: edc3 7a09 vstr s15, [r3, #36] ; 0x24 k = 1; 8026fa6: 2301 movs r3, #1 8026fa8: f8c7 3080 str.w r3, [r7, #128] ; 0x80 break; 8026fac: e00f b.n 8026fce for(j = i + 4; j < FileSize; j++) 8026fae: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8026fb2: 3301 adds r3, #1 8026fb4: f8c7 3084 str.w r3, [r7, #132] ; 0x84 8026fb8: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8026fbc: 4619 mov r1, r3 8026fbe: f04f 0200 mov.w r2, #0 8026fc2: e9d7 341c ldrd r3, r4, [r7, #112] ; 0x70 8026fc6: 42a2 cmp r2, r4 8026fc8: bf08 it eq 8026fca: 4299 cmpeq r1, r3 8026fcc: d3d7 bcc.n 8026f7e } } } if(k) break; 8026fce: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 8026fd2: 2b00 cmp r3, #0 8026fd4: d110 bne.n 8026ff8 for(i = 0; i < FileSize; i++) 8026fd6: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026fda: 3301 adds r3, #1 8026fdc: f8c7 3088 str.w r3, [r7, #136] ; 0x88 8026fe0: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8026fe4: 4619 mov r1, r3 8026fe6: f04f 0200 mov.w r2, #0 8026fea: e9d7 341c ldrd r3, r4, [r7, #112] ; 0x70 8026fee: 42a2 cmp r2, r4 8026ff0: bf08 it eq 8026ff2: 4299 cmpeq r1, r3 8026ff4: d3a1 bcc.n 8026f3a 8026ff6: e000 b.n 8026ffa if(k) break; 8026ff8: bf00 nop } //************************************************************************************************************************************************************************************** //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //********************************** FIND Freq ******************************************************************************************************************************** k = 0; 8026ffa: 2300 movs r3, #0 8026ffc: f8c7 3080 str.w r3, [r7, #128] ; 0x80 PlayingState.Freq = -1.0f; 8027000: 4b7b ldr r3, [pc, #492] ; (80271f0 ) 8027002: 4a7d ldr r2, [pc, #500] ; (80271f8 ) 8027004: 629a str r2, [r3, #40] ; 0x28 for(i = 0; i < FileSize; i++) 8027006: 2300 movs r3, #0 8027008: f8c7 3088 str.w r3, [r7, #136] ; 0x88 802700c: e052 b.n 80270b4 { if((SearchPath[i] == 'f') && (SearchPath[i + 1] == 'r') && (SearchPath[i + 2] == 'e') && (SearchPath[i + 3] == 'q')) 802700e: 4a79 ldr r2, [pc, #484] ; (80271f4 ) 8027010: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8027014: 4413 add r3, r2 8027016: 781b ldrb r3, [r3, #0] 8027018: 2b66 cmp r3, #102 ; 0x66 802701a: d142 bne.n 80270a2 802701c: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8027020: 3301 adds r3, #1 8027022: 4a74 ldr r2, [pc, #464] ; (80271f4 ) 8027024: 5cd3 ldrb r3, [r2, r3] 8027026: 2b72 cmp r3, #114 ; 0x72 8027028: d13b bne.n 80270a2 802702a: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 802702e: 3302 adds r3, #2 8027030: 4a70 ldr r2, [pc, #448] ; (80271f4 ) 8027032: 5cd3 ldrb r3, [r2, r3] 8027034: 2b65 cmp r3, #101 ; 0x65 8027036: d134 bne.n 80270a2 8027038: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 802703c: 3303 adds r3, #3 802703e: 4a6d ldr r2, [pc, #436] ; (80271f4 ) 8027040: 5cd3 ldrb r3, [r2, r3] 8027042: 2b71 cmp r3, #113 ; 0x71 8027044: d12d bne.n 80270a2 { //j = i + 4; for(j = i + 4; j < FileSize; j++) 8027046: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 802704a: 3304 adds r3, #4 802704c: f8c7 3084 str.w r3, [r7, #132] ; 0x84 8027050: e01c b.n 802708c { if(SearchPath[j] == ':') { 8027052: 4a68 ldr r2, [pc, #416] ; (80271f4 ) 8027054: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8027058: 4413 add r3, r2 802705a: 781b ldrb r3, [r3, #0] 802705c: 2b3a cmp r3, #58 ; 0x3a 802705e: d110 bne.n 8027082 PlayingState.Freq = atoff(&SearchPath[j + 1]); 8027060: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8027064: 3301 adds r3, #1 8027066: 4a63 ldr r2, [pc, #396] ; (80271f4 ) 8027068: 4413 add r3, r2 802706a: 4618 mov r0, r3 802706c: f0aa ff25 bl 80d1eba 8027070: eef0 7a40 vmov.f32 s15, s0 8027074: 4b5e ldr r3, [pc, #376] ; (80271f0 ) 8027076: edc3 7a0a vstr s15, [r3, #40] ; 0x28 k = 1; 802707a: 2301 movs r3, #1 802707c: f8c7 3080 str.w r3, [r7, #128] ; 0x80 break; 8027080: e00f b.n 80270a2 for(j = i + 4; j < FileSize; j++) 8027082: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8027086: 3301 adds r3, #1 8027088: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802708c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8027090: 4619 mov r1, r3 8027092: f04f 0200 mov.w r2, #0 8027096: e9d7 341c ldrd r3, r4, [r7, #112] ; 0x70 802709a: 42a2 cmp r2, r4 802709c: bf08 it eq 802709e: 4299 cmpeq r1, r3 80270a0: d3d7 bcc.n 8027052 } } } if(k) break; 80270a2: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80270a6: 2b00 cmp r3, #0 80270a8: d110 bne.n 80270cc for(i = 0; i < FileSize; i++) 80270aa: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80270ae: 3301 adds r3, #1 80270b0: f8c7 3088 str.w r3, [r7, #136] ; 0x88 80270b4: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80270b8: 4619 mov r1, r3 80270ba: f04f 0200 mov.w r2, #0 80270be: e9d7 341c ldrd r3, r4, [r7, #112] ; 0x70 80270c2: 42a2 cmp r2, r4 80270c4: bf08 it eq 80270c6: 4299 cmpeq r1, r3 80270c8: d3a1 bcc.n 802700e 80270ca: e000 b.n 80270ce if(k) break; 80270cc: bf00 nop } //************************************************************************************************************************************************************************************** res = f_close(&F); 80270ce: 484b ldr r0, [pc, #300] ; (80271fc ) 80270d0: f0a4 fcea bl 80cbaa8 80270d4: 4603 mov r3, r0 80270d6: f887 308f strb.w r3, [r7, #143] ; 0x8f l = strlen(PointPath); 80270da: 4849 ldr r0, [pc, #292] ; (8027200 ) 80270dc: f7f9 f91a bl 8020314 80270e0: 66f8 str r0, [r7, #108] ; 0x6c PointPath[l - 1] = 0; 80270e2: 6efb ldr r3, [r7, #108] ; 0x6c 80270e4: 3b01 subs r3, #1 80270e6: 4a46 ldr r2, [pc, #280] ; (8027200 ) 80270e8: 2100 movs r1, #0 80270ea: 54d1 strb r1, [r2, r3] PointPath[l - 2] = 0; 80270ec: 6efb ldr r3, [r7, #108] ; 0x6c 80270ee: 3b02 subs r3, #2 80270f0: 4a43 ldr r2, [pc, #268] ; (8027200 ) 80270f2: 2100 movs r1, #0 80270f4: 54d1 strb r1, [r2, r3] PointPath[l - 3] = 0; 80270f6: 6efb ldr r3, [r7, #108] ; 0x6c 80270f8: 3b03 subs r3, #3 80270fa: 4a41 ldr r2, [pc, #260] ; (8027200 ) 80270fc: 2100 movs r1, #0 80270fe: 54d1 strb r1, [r2, r3] PointPath[l - 4] = 0; 8027100: 6efb ldr r3, [r7, #108] ; 0x6c 8027102: 3b04 subs r3, #4 8027104: 4a3e ldr r2, [pc, #248] ; (8027200 ) 8027106: 2100 movs r1, #0 8027108: 54d1 strb r1, [r2, r3] PointPath[l - 5] = 0; 802710a: 6efb ldr r3, [r7, #108] ; 0x6c 802710c: 3b05 subs r3, #5 802710e: 4a3c ldr r2, [pc, #240] ; (8027200 ) 8027110: 2100 movs r1, #0 8027112: 54d1 strb r1, [r2, r3] 8027114: e065 b.n 80271e2 } else { f_close(&F); 8027116: 4839 ldr r0, [pc, #228] ; (80271fc ) 8027118: f0a4 fcc6 bl 80cbaa8 l = strlen(PointPath); 802711c: 4838 ldr r0, [pc, #224] ; (8027200 ) 802711e: f7f9 f8f9 bl 8020314 8027122: 66f8 str r0, [r7, #108] ; 0x6c PointPath[l - 1] = 0; 8027124: 6efb ldr r3, [r7, #108] ; 0x6c 8027126: 3b01 subs r3, #1 8027128: 4a35 ldr r2, [pc, #212] ; (8027200 ) 802712a: 2100 movs r1, #0 802712c: 54d1 strb r1, [r2, r3] PointPath[l - 2] = 0; 802712e: 6efb ldr r3, [r7, #108] ; 0x6c 8027130: 3b02 subs r3, #2 8027132: 4a33 ldr r2, [pc, #204] ; (8027200 ) 8027134: 2100 movs r1, #0 8027136: 54d1 strb r1, [r2, r3] PointPath[l - 3] = 0; 8027138: 6efb ldr r3, [r7, #108] ; 0x6c 802713a: 3b03 subs r3, #3 802713c: 4a30 ldr r2, [pc, #192] ; (8027200 ) 802713e: 2100 movs r1, #0 8027140: 54d1 strb r1, [r2, r3] PointPath[l - 4] = 0; 8027142: 6efb ldr r3, [r7, #108] ; 0x6c 8027144: 3b04 subs r3, #4 8027146: 4a2e ldr r2, [pc, #184] ; (8027200 ) 8027148: 2100 movs r1, #0 802714a: 54d1 strb r1, [r2, r3] PointPath[l - 5] = 0; 802714c: 6efb ldr r3, [r7, #108] ; 0x6c 802714e: 3b05 subs r3, #5 8027150: 4a2b ldr r2, [pc, #172] ; (8027200 ) 8027152: 2100 movs r1, #0 8027154: 54d1 strb r1, [r2, r3] //memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); return FR_DISK_ERR; 8027156: 2301 movs r3, #1 8027158: e045 b.n 80271e6 } } else { // if FileSize > 512 Bytes f_close(&F); 802715a: 4828 ldr r0, [pc, #160] ; (80271fc ) 802715c: f0a4 fca4 bl 80cbaa8 l = strlen(PointPath); 8027160: 4827 ldr r0, [pc, #156] ; (8027200 ) 8027162: f7f9 f8d7 bl 8020314 8027166: 66f8 str r0, [r7, #108] ; 0x6c PointPath[l - 1] = 0; 8027168: 6efb ldr r3, [r7, #108] ; 0x6c 802716a: 3b01 subs r3, #1 802716c: 4a24 ldr r2, [pc, #144] ; (8027200 ) 802716e: 2100 movs r1, #0 8027170: 54d1 strb r1, [r2, r3] PointPath[l - 2] = 0; 8027172: 6efb ldr r3, [r7, #108] ; 0x6c 8027174: 3b02 subs r3, #2 8027176: 4a22 ldr r2, [pc, #136] ; (8027200 ) 8027178: 2100 movs r1, #0 802717a: 54d1 strb r1, [r2, r3] PointPath[l - 3] = 0; 802717c: 6efb ldr r3, [r7, #108] ; 0x6c 802717e: 3b03 subs r3, #3 8027180: 4a1f ldr r2, [pc, #124] ; (8027200 ) 8027182: 2100 movs r1, #0 8027184: 54d1 strb r1, [r2, r3] PointPath[l - 4] = 0; 8027186: 6efb ldr r3, [r7, #108] ; 0x6c 8027188: 3b04 subs r3, #4 802718a: 4a1d ldr r2, [pc, #116] ; (8027200 ) 802718c: 2100 movs r1, #0 802718e: 54d1 strb r1, [r2, r3] PointPath[l - 5] = 0; 8027190: 6efb ldr r3, [r7, #108] ; 0x6c 8027192: 3b05 subs r3, #5 8027194: 4a1a ldr r2, [pc, #104] ; (8027200 ) 8027196: 2100 movs r1, #0 8027198: 54d1 strb r1, [r2, r3] //memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); return FR_DISK_ERR; 802719a: 2301 movs r3, #1 802719c: e023 b.n 80271e6 } } else { f_close(&F); 802719e: 4817 ldr r0, [pc, #92] ; (80271fc ) 80271a0: f0a4 fc82 bl 80cbaa8 l = strlen(PointPath); 80271a4: 4816 ldr r0, [pc, #88] ; (8027200 ) 80271a6: f7f9 f8b5 bl 8020314 80271aa: 66f8 str r0, [r7, #108] ; 0x6c PointPath[l - 1] = 0; 80271ac: 6efb ldr r3, [r7, #108] ; 0x6c 80271ae: 3b01 subs r3, #1 80271b0: 4a13 ldr r2, [pc, #76] ; (8027200 ) 80271b2: 2100 movs r1, #0 80271b4: 54d1 strb r1, [r2, r3] PointPath[l - 2] = 0; 80271b6: 6efb ldr r3, [r7, #108] ; 0x6c 80271b8: 3b02 subs r3, #2 80271ba: 4a11 ldr r2, [pc, #68] ; (8027200 ) 80271bc: 2100 movs r1, #0 80271be: 54d1 strb r1, [r2, r3] PointPath[l - 3] = 0; 80271c0: 6efb ldr r3, [r7, #108] ; 0x6c 80271c2: 3b03 subs r3, #3 80271c4: 4a0e ldr r2, [pc, #56] ; (8027200 ) 80271c6: 2100 movs r1, #0 80271c8: 54d1 strb r1, [r2, r3] PointPath[l - 4] = 0; 80271ca: 6efb ldr r3, [r7, #108] ; 0x6c 80271cc: 3b04 subs r3, #4 80271ce: 4a0c ldr r2, [pc, #48] ; (8027200 ) 80271d0: 2100 movs r1, #0 80271d2: 54d1 strb r1, [r2, r3] PointPath[l - 5] = 0; 80271d4: 6efb ldr r3, [r7, #108] ; 0x6c 80271d6: 3b05 subs r3, #5 80271d8: 4a09 ldr r2, [pc, #36] ; (8027200 ) 80271da: 2100 movs r1, #0 80271dc: 54d1 strb r1, [r2, r3] return FR_DISK_ERR; 80271de: 2301 movs r3, #1 80271e0: e001 b.n 80271e6 } } } return res; 80271e2: f897 308f ldrb.w r3, [r7, #143] ; 0x8f } 80271e6: 4618 mov r0, r3 80271e8: 3794 adds r7, #148 ; 0x94 80271ea: 46bd mov sp, r7 80271ec: bd90 pop {r4, r7, pc} 80271ee: bf00 nop 80271f0: 20022928 .word 0x20022928 80271f4: 20021dd0 .word 0x20021dd0 80271f8: bf800000 .word 0xbf800000 80271fc: 20022e78 .word 0x20022e78 8027200: 20022a0c .word 0x20022a0c 08027204 : FRESULT OpenFileWAV(char *fname) { 8027204: b5b0 push {r4, r5, r7, lr} 8027206: ed2d 8b02 vpush {d8} 802720a: b0a2 sub sp, #136 ; 0x88 802720c: af00 add r7, sp, #0 802720e: 6078 str r0, [r7, #4] FSIZE_t SizeMeas = 0, CountBytes = 0; 8027210: f04f 0200 mov.w r2, #0 8027214: f04f 0300 mov.w r3, #0 8027218: e9c7 231e strd r2, r3, [r7, #120] ; 0x78 802721c: f04f 0200 mov.w r2, #0 8027220: f04f 0300 mov.w r3, #0 8027224: e9c7 231c strd r2, r3, [r7, #112] ; 0x70 FRESULT res = FR_OK; 8027228: 2300 movs r3, #0 802722a: f887 3087 strb.w r3, [r7, #135] ; 0x87 UINT fk, i; uint32_t srate[12]; uint32_t sens[12], s; FileDataExist = false; 802722e: 4b6e ldr r3, [pc, #440] ; (80273e8 ) 8027230: 2200 movs r2, #0 8027232: 701a strb r2, [r3, #0] DrawSavedData = false; 8027234: 4b6d ldr r3, [pc, #436] ; (80273ec ) 8027236: 2200 movs r2, #0 8027238: 701a strb r2, [r3, #0] FirstMeas = 0; 802723a: 4b6d ldr r3, [pc, #436] ; (80273f0 ) 802723c: 2200 movs r2, #0 802723e: 601a str r2, [r3, #0] if(CardState != MSD_READY) { 8027240: 4b6c ldr r3, [pc, #432] ; (80273f4 ) 8027242: 781b ldrb r3, [r3, #0] 8027244: b2db uxtb r3, r3 8027246: 2b03 cmp r3, #3 8027248: d001 beq.n 802724e return FR_NOT_READY; 802724a: 2303 movs r3, #3 802724c: e0c6 b.n 80273dc } if(res == FR_OK) 802724e: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 8027252: 2b00 cmp r3, #0 8027254: f040 80c0 bne.w 80273d8 { memset(PointPath, 0, sizeof(PointPath)); 8027258: f44f 7200 mov.w r2, #512 ; 0x200 802725c: 2100 movs r1, #0 802725e: 4866 ldr r0, [pc, #408] ; (80273f8 ) 8027260: f0aa fea0 bl 80d1fa4 memset(SearchPath, 0, sizeof(SearchPath)); 8027264: f44f 7200 mov.w r2, #512 ; 0x200 8027268: 2100 movs r1, #0 802726a: 4864 ldr r0, [pc, #400] ; (80273fc ) 802726c: f0aa fe9a bl 80d1fa4 SearchPath[0] = '0'; 8027270: 4b62 ldr r3, [pc, #392] ; (80273fc ) 8027272: 2230 movs r2, #48 ; 0x30 8027274: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8027276: 4b61 ldr r3, [pc, #388] ; (80273fc ) 8027278: 223a movs r2, #58 ; 0x3a 802727a: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 802727c: 4b60 ldr r3, [pc, #384] ; (8027400 ) 802727e: 220b movs r2, #11 8027280: 701a strb r2, [r3, #0] FlagReturn = false; 8027282: 4b60 ldr r3, [pc, #384] ; (8027404 ) 8027284: 2200 movs r2, #0 8027286: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8027288: 2100 movs r1, #0 802728a: 485c ldr r0, [pc, #368] ; (80273fc ) 802728c: f003 fba8 bl 802a9e0 if(PointPath[0] == 0) 8027290: 4b59 ldr r3, [pc, #356] ; (80273f8 ) 8027292: 781b ldrb r3, [r3, #0] 8027294: 2b00 cmp r3, #0 8027296: d103 bne.n 80272a0 { res = FR_NO_FILE; 8027298: 2304 movs r3, #4 802729a: f887 3087 strb.w r3, [r7, #135] ; 0x87 802729e: e09b b.n 80273d8 } else { res = f_open(&F, PointPath, FA_READ); 80272a0: 2201 movs r2, #1 80272a2: 4955 ldr r1, [pc, #340] ; (80273f8 ) 80272a4: 4858 ldr r0, [pc, #352] ; (8027408 ) 80272a6: f0a3 fdbb bl 80cae20 80272aa: 4603 mov r3, r0 80272ac: f887 3087 strb.w r3, [r7, #135] ; 0x87 if(res == FR_OK) 80272b0: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80272b4: 2b00 cmp r3, #0 80272b6: f040 808f bne.w 80273d8 { res = f_read(&F, (void *) §or, 80, &fk); 80272ba: f107 036c add.w r3, r7, #108 ; 0x6c 80272be: 2250 movs r2, #80 ; 0x50 80272c0: 4952 ldr r1, [pc, #328] ; (802740c ) 80272c2: 4851 ldr r0, [pc, #324] ; (8027408 ) 80272c4: f0a4 f809 bl 80cb2da 80272c8: 4603 mov r3, r0 80272ca: f887 3087 strb.w r3, [r7, #135] ; 0x87 if(res == FR_OK) 80272ce: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80272d2: 2b00 cmp r3, #0 80272d4: d17b bne.n 80273ce { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(pardata)); 80272d6: 4a4e ldr r2, [pc, #312] ; (8027410 ) 80272d8: 4b4e ldr r3, [pc, #312] ; (8027414 ) 80272da: 4610 mov r0, r2 80272dc: 4619 mov r1, r3 80272de: f44f 6396 mov.w r3, #1200 ; 0x4b0 80272e2: 461a mov r2, r3 80272e4: f0aa fe53 bl 80d1f8e //====================================================================================================================================================================================== memcpy((void *) &CountBytes, (void *) §or[76], 4); 80272e8: 4b48 ldr r3, [pc, #288] ; (802740c ) 80272ea: 6cdb ldr r3, [r3, #76] ; 0x4c 80272ec: 673b str r3, [r7, #112] ; 0x70 res = f_lseek(&F, 80); 80272ee: f04f 0250 mov.w r2, #80 ; 0x50 80272f2: f04f 0300 mov.w r3, #0 80272f6: 4844 ldr r0, [pc, #272] ; (8027408 ) 80272f8: f0a4 fbf6 bl 80cbae8 80272fc: 4603 mov r3, r0 80272fe: f887 3087 strb.w r3, [r7, #135] ; 0x87 if(res == FR_OK) 8027302: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 8027306: 2b00 cmp r3, #0 8027308: d153 bne.n 80273b2 { PlayingState.CountBytes = CountBytes; 802730a: e9d7 231c ldrd r2, r3, [r7, #112] ; 0x70 802730e: 4942 ldr r1, [pc, #264] ; (8027418 ) 8027310: e9c1 2304 strd r2, r3, [r1, #16] SizeMeas = PlayingState.CountBytes >> 2; //NumPoints in WORDS 8027314: 4b40 ldr r3, [pc, #256] ; (8027418 ) 8027316: e9d3 2304 ldrd r2, r3, [r3, #16] 802731a: 0894 lsrs r4, r2, #2 802731c: ea44 7483 orr.w r4, r4, r3, lsl #30 8027320: 089d lsrs r5, r3, #2 8027322: e9c7 451e strd r4, r5, [r7, #120] ; 0x78 PlayingState.TimeLength = 1.0f / ((float32_t) PlayingState.SampleRate); 8027326: 4b3c ldr r3, [pc, #240] ; (8027418 ) 8027328: 699b ldr r3, [r3, #24] 802732a: ee07 3a90 vmov s15, r3 802732e: eeb8 7a67 vcvt.f32.u32 s14, s15 8027332: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 8027336: eec6 7a87 vdiv.f32 s15, s13, s14 802733a: 4b37 ldr r3, [pc, #220] ; (8027418 ) 802733c: edc3 7a07 vstr s15, [r3, #28] PlayingState.TimeLength *= (float32_t) SizeMeas; 8027340: 4b35 ldr r3, [pc, #212] ; (8027418 ) 8027342: ed93 8a07 vldr s16, [r3, #28] 8027346: e9d7 011e ldrd r0, r1, [r7, #120] ; 0x78 802734a: f7f9 f909 bl 8020560 <__aeabi_ul2f> 802734e: ee07 0a90 vmov s15, r0 8027352: ee68 7a27 vmul.f32 s15, s16, s15 8027356: 4b30 ldr r3, [pc, #192] ; (8027418 ) 8027358: edc3 7a07 vstr s15, [r3, #28] PlayingState.FrameSize = 4096; 802735c: 4b2e ldr r3, [pc, #184] ; (8027418 ) 802735e: f44f 5280 mov.w r2, #4096 ; 0x1000 8027362: 609a str r2, [r3, #8] PlayingState.NumFrames = SizeMeas / PlayingState.FrameSize; 8027364: 4b2c ldr r3, [pc, #176] ; (8027418 ) 8027366: 689b ldr r3, [r3, #8] 8027368: f04f 0400 mov.w r4, #0 802736c: 461a mov r2, r3 802736e: 4623 mov r3, r4 8027370: e9d7 011e ldrd r0, r1, [r7, #120] ; 0x78 8027374: f7f9 f93a bl 80205ec <__aeabi_uldivmod> 8027378: 4603 mov r3, r0 802737a: 460c mov r4, r1 802737c: 461a mov r2, r3 802737e: 4b26 ldr r3, [pc, #152] ; (8027418 ) 8027380: 605a str r2, [r3, #4] if(SizeMeas % PlayingState.FrameSize) { 8027382: 4b25 ldr r3, [pc, #148] ; (8027418 ) 8027384: 689b ldr r3, [r3, #8] 8027386: f04f 0400 mov.w r4, #0 802738a: e9d7 011e ldrd r0, r1, [r7, #120] ; 0x78 802738e: 461a mov r2, r3 8027390: 4623 mov r3, r4 8027392: f7f9 f92b bl 80205ec <__aeabi_uldivmod> 8027396: 461c mov r4, r3 8027398: 4613 mov r3, r2 802739a: 4323 orrs r3, r4 802739c: d004 beq.n 80273a8 PlayingState.NumFrames += 1; 802739e: 4b1e ldr r3, [pc, #120] ; (8027418 ) 80273a0: 685b ldr r3, [r3, #4] 80273a2: 3301 adds r3, #1 80273a4: 4a1c ldr r2, [pc, #112] ; (8027418 ) 80273a6: 6053 str r3, [r2, #4] } PlayingState.CurrentFrame = 0; 80273a8: 4b1b ldr r3, [pc, #108] ; (8027418 ) 80273aa: 2200 movs r2, #0 80273ac: 601a str r2, [r3, #0] return FR_OK; 80273ae: 2300 movs r3, #0 80273b0: e014 b.n 80273dc } else { f_close(&F); 80273b2: 4815 ldr r0, [pc, #84] ; (8027408 ) 80273b4: f0a4 fb78 bl 80cbaa8 memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 80273b8: 4a16 ldr r2, [pc, #88] ; (8027414 ) 80273ba: 4b15 ldr r3, [pc, #84] ; (8027410 ) 80273bc: 4610 mov r0, r2 80273be: 4619 mov r1, r3 80273c0: f44f 6396 mov.w r3, #1200 ; 0x4b0 80273c4: 461a mov r2, r3 80273c6: f0aa fde2 bl 80d1f8e return FR_DISK_ERR; 80273ca: 2301 movs r3, #1 80273cc: e006 b.n 80273dc } } else { f_close(&F); 80273ce: 480e ldr r0, [pc, #56] ; (8027408 ) 80273d0: f0a4 fb6a bl 80cbaa8 return FR_DISK_ERR; 80273d4: 2301 movs r3, #1 80273d6: e001 b.n 80273dc } } } } return res; 80273d8: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 } 80273dc: 4618 mov r0, r3 80273de: 3788 adds r7, #136 ; 0x88 80273e0: 46bd mov sp, r7 80273e2: ecbd 8b02 vpop {d8} 80273e6: bdb0 pop {r4, r5, r7, pc} 80273e8: 20020df3 .word 0x20020df3 80273ec: 20020dea .word 0x20020dea 80273f0: 20020df8 .word 0x20020df8 80273f4: 2002169c .word 0x2002169c 80273f8: 20022a0c .word 0x20022a0c 80273fc: 20021dd0 .word 0x20021dd0 8027400: 20020dff .word 0x20020dff 8027404: 20020dfe .word 0x20020dfe 8027408: 20022e78 .word 0x20022e78 802740c: 2007c000 .word 0x2007c000 8027410: 200243d4 .word 0x200243d4 8027414: 20023eb8 .word 0x20023eb8 8027418: 20022928 .word 0x20022928 0802741c : } FRESULT OpenFileCSV(char *fname) { 802741c: b590 push {r4, r7, lr} 802741e: b0a3 sub sp, #140 ; 0x8c 8027420: af00 add r7, sp, #0 8027422: 6078 str r0, [r7, #4] FSIZE_t SizeMeas = 0; 8027424: f04f 0300 mov.w r3, #0 8027428: f04f 0400 mov.w r4, #0 802742c: e9c7 341e strd r3, r4, [r7, #120] ; 0x78 FRESULT res = FR_OK; 8027430: 2300 movs r3, #0 8027432: 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; 8027436: 2300 movs r3, #0 8027438: 677b str r3, [r7, #116] ; 0x74 size_t l = 0, l1 = 0; 802743a: 2300 movs r3, #0 802743c: 673b str r3, [r7, #112] ; 0x70 802743e: 2300 movs r3, #0 8027440: 66fb str r3, [r7, #108] ; 0x6c FileDataExist = false; 8027442: 4b97 ldr r3, [pc, #604] ; (80276a0 ) 8027444: 2200 movs r2, #0 8027446: 701a strb r2, [r3, #0] DrawSavedData = false; 8027448: 4b96 ldr r3, [pc, #600] ; (80276a4 ) 802744a: 2200 movs r2, #0 802744c: 701a strb r2, [r3, #0] FirstMeas = 0; 802744e: 4b96 ldr r3, [pc, #600] ; (80276a8 ) 8027450: 2200 movs r2, #0 8027452: 601a str r2, [r3, #0] RouteIndex = MaxRouteIndex = 0; 8027454: 2300 movs r3, #0 8027456: 4a95 ldr r2, [pc, #596] ; (80276ac ) 8027458: 6013 str r3, [r2, #0] 802745a: 4a95 ldr r2, [pc, #596] ; (80276b0 ) 802745c: 6013 str r3, [r2, #0] if(CardState != MSD_READY) { 802745e: 4b95 ldr r3, [pc, #596] ; (80276b4 ) 8027460: 781b ldrb r3, [r3, #0] 8027462: b2db uxtb r3, r3 8027464: 2b03 cmp r3, #3 8027466: d001 beq.n 802746c return FR_NOT_READY; 8027468: 2303 movs r3, #3 802746a: e115 b.n 8027698 } memset(FileName, 0, sizeof(FileName)); 802746c: 2228 movs r2, #40 ; 0x28 802746e: 2100 movs r1, #0 8027470: 4891 ldr r0, [pc, #580] ; (80276b8 ) 8027472: f0aa fd97 bl 80d1fa4 strcpy(FileName, RouteName); 8027476: 4991 ldr r1, [pc, #580] ; (80276bc ) 8027478: 488f ldr r0, [pc, #572] ; (80276b8 ) 802747a: f0aa feb0 bl 80d21de if(res == FR_OK) 802747e: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 8027482: 2b00 cmp r3, #0 8027484: f040 8103 bne.w 802768e { memset(PointPath, 0, sizeof(PointPath)); 8027488: f44f 7200 mov.w r2, #512 ; 0x200 802748c: 2100 movs r1, #0 802748e: 488c ldr r0, [pc, #560] ; (80276c0 ) 8027490: f0aa fd88 bl 80d1fa4 memset(SearchPath, 0, sizeof(SearchPath)); 8027494: f44f 7200 mov.w r2, #512 ; 0x200 8027498: 2100 movs r1, #0 802749a: 488a ldr r0, [pc, #552] ; (80276c4 ) 802749c: f0aa fd82 bl 80d1fa4 strcpy(SearchPath, "0:Routes"); 80274a0: 4a88 ldr r2, [pc, #544] ; (80276c4 ) 80274a2: 4b89 ldr r3, [pc, #548] ; (80276c8 ) 80274a4: cb03 ldmia r3!, {r0, r1} 80274a6: 6010 str r0, [r2, #0] 80274a8: 6051 str r1, [r2, #4] 80274aa: 781b ldrb r3, [r3, #0] 80274ac: 7213 strb r3, [r2, #8] ScanMode = GET_PATH_TO_FILE; 80274ae: 4b87 ldr r3, [pc, #540] ; (80276cc ) 80274b0: 220b movs r2, #11 80274b2: 701a strb r2, [r3, #0] FlagReturn = false; 80274b4: 4b86 ldr r3, [pc, #536] ; (80276d0 ) 80274b6: 2200 movs r2, #0 80274b8: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 80274ba: 2100 movs r1, #0 80274bc: 4881 ldr r0, [pc, #516] ; (80276c4 ) 80274be: f003 fa8f bl 802a9e0 if(PointPath[0] == 0) 80274c2: 4b7f ldr r3, [pc, #508] ; (80276c0 ) 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 3087 strb.w r3, [r7, #135] ; 0x87 80274d0: e0dd b.n 802768e } else { res = f_open(&F, PointPath, FA_READ); 80274d2: 2201 movs r2, #1 80274d4: 497a ldr r1, [pc, #488] ; (80276c0 ) 80274d6: 487f ldr r0, [pc, #508] ; (80276d4 ) 80274d8: f0a3 fca2 bl 80cae20 80274dc: 4603 mov r3, r0 80274de: f887 3087 strb.w r3, [r7, #135] ; 0x87 if(res == FR_OK) 80274e2: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80274e6: 2b00 cmp r3, #0 80274e8: f040 80d1 bne.w 802768e { FileSize = f_size(&F); 80274ec: 4b79 ldr r3, [pc, #484] ; (80276d4 ) 80274ee: e9d3 3404 ldrd r3, r4, [r3, #16] 80274f2: 677b str r3, [r7, #116] ; 0x74 if(FileSize > 4) 80274f4: 6f7b ldr r3, [r7, #116] ; 0x74 80274f6: 2b04 cmp r3, #4 80274f8: f240 80bf bls.w 802767a { if(FileSize < 512) 80274fc: 6f7b ldr r3, [r7, #116] ; 0x74 80274fe: f5b3 7f00 cmp.w r3, #512 ; 0x200 8027502: d236 bcs.n 8027572 { res = f_read(&F, SearchPath, FileSize, &fk); 8027504: f107 0368 add.w r3, r7, #104 ; 0x68 8027508: 6f7a ldr r2, [r7, #116] ; 0x74 802750a: 496e ldr r1, [pc, #440] ; (80276c4 ) 802750c: 4871 ldr r0, [pc, #452] ; (80276d4 ) 802750e: f0a3 fee4 bl 80cb2da 8027512: 4603 mov r3, r0 8027514: f887 3087 strb.w r3, [r7, #135] ; 0x87 if(res == FR_OK) 8027518: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 802751c: 2b00 cmp r3, #0 802751e: d11e bne.n 802755e { for(i = 0; i < FileSize; i++) 8027520: 2300 movs r3, #0 8027522: f8c7 3080 str.w r3, [r7, #128] ; 0x80 8027526: e010 b.n 802754a { if(SearchPath[i] == '\n') 8027528: 4a66 ldr r2, [pc, #408] ; (80276c4 ) 802752a: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802752e: 4413 add r3, r2 8027530: 781b ldrb r3, [r3, #0] 8027532: 2b0a cmp r3, #10 8027534: d104 bne.n 8027540 MaxRouteIndex++; 8027536: 4b5d ldr r3, [pc, #372] ; (80276ac ) 8027538: 681b ldr r3, [r3, #0] 802753a: 3301 adds r3, #1 802753c: 4a5b ldr r2, [pc, #364] ; (80276ac ) 802753e: 6013 str r3, [r2, #0] for(i = 0; i < FileSize; i++) 8027540: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 8027544: 3301 adds r3, #1 8027546: f8c7 3080 str.w r3, [r7, #128] ; 0x80 802754a: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 802754e: 6f7b ldr r3, [r7, #116] ; 0x74 8027550: 429a cmp r2, r3 8027552: d3e9 bcc.n 8027528 } f_close(&F); 8027554: 485f ldr r0, [pc, #380] ; (80276d4 ) 8027556: f0a4 faa7 bl 80cbaa8 return FR_OK; 802755a: 2300 movs r3, #0 802755c: e09c b.n 8027698 } else { RouteIndex = MaxRouteIndex = 0; 802755e: 2300 movs r3, #0 8027560: 4a52 ldr r2, [pc, #328] ; (80276ac ) 8027562: 6013 str r3, [r2, #0] 8027564: 4a52 ldr r2, [pc, #328] ; (80276b0 ) 8027566: 6013 str r3, [r2, #0] f_close(&F); 8027568: 485a ldr r0, [pc, #360] ; (80276d4 ) 802756a: f0a4 fa9d bl 80cbaa8 return FR_DISK_ERR; 802756e: 2301 movs r3, #1 8027570: e092 b.n 8027698 } } else { l = FileSize / 512; 8027572: 6f7b ldr r3, [r7, #116] ; 0x74 8027574: 0a5b lsrs r3, r3, #9 8027576: 673b str r3, [r7, #112] ; 0x70 l1 = FileSize % 512; 8027578: 6f7b ldr r3, [r7, #116] ; 0x74 802757a: f3c3 0308 ubfx r3, r3, #0, #9 802757e: 66fb str r3, [r7, #108] ; 0x6c for(i = 0; i < l; i++) 8027580: 2300 movs r3, #0 8027582: f8c7 3080 str.w r3, [r7, #128] ; 0x80 8027586: e038 b.n 80275fa { res = f_read(&F, SearchPath, 512, &fk); 8027588: f107 0368 add.w r3, r7, #104 ; 0x68 802758c: f44f 7200 mov.w r2, #512 ; 0x200 8027590: 494c ldr r1, [pc, #304] ; (80276c4 ) 8027592: 4850 ldr r0, [pc, #320] ; (80276d4 ) 8027594: f0a3 fea1 bl 80cb2da 8027598: 4603 mov r3, r0 802759a: f887 3087 strb.w r3, [r7, #135] ; 0x87 if(res == FR_OK) 802759e: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80275a2: 2b00 cmp r3, #0 80275a4: d11a bne.n 80275dc { for(i = 0; i < 512; i++) 80275a6: 2300 movs r3, #0 80275a8: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80275ac: e010 b.n 80275d0 { if(SearchPath[i] == '\n') 80275ae: 4a45 ldr r2, [pc, #276] ; (80276c4 ) 80275b0: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80275b4: 4413 add r3, r2 80275b6: 781b ldrb r3, [r3, #0] 80275b8: 2b0a cmp r3, #10 80275ba: d104 bne.n 80275c6 MaxRouteIndex++; 80275bc: 4b3b ldr r3, [pc, #236] ; (80276ac ) 80275be: 681b ldr r3, [r3, #0] 80275c0: 3301 adds r3, #1 80275c2: 4a3a ldr r2, [pc, #232] ; (80276ac ) 80275c4: 6013 str r3, [r2, #0] for(i = 0; i < 512; i++) 80275c6: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80275ca: 3301 adds r3, #1 80275cc: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80275d0: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80275d4: f5b3 7f00 cmp.w r3, #512 ; 0x200 80275d8: d3e9 bcc.n 80275ae 80275da: e009 b.n 80275f0 } } else { RouteIndex = MaxRouteIndex = 0; 80275dc: 2300 movs r3, #0 80275de: 4a33 ldr r2, [pc, #204] ; (80276ac ) 80275e0: 6013 str r3, [r2, #0] 80275e2: 4a33 ldr r2, [pc, #204] ; (80276b0 ) 80275e4: 6013 str r3, [r2, #0] f_close(&F); 80275e6: 483b ldr r0, [pc, #236] ; (80276d4 ) 80275e8: f0a4 fa5e bl 80cbaa8 return FR_DISK_ERR; 80275ec: 2301 movs r3, #1 80275ee: e053 b.n 8027698 for(i = 0; i < l; i++) 80275f0: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80275f4: 3301 adds r3, #1 80275f6: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80275fa: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80275fe: 6f3b ldr r3, [r7, #112] ; 0x70 8027600: 429a cmp r2, r3 8027602: d3c1 bcc.n 8027588 } } if(l1) 8027604: 6efb ldr r3, [r7, #108] ; 0x6c 8027606: 2b00 cmp r3, #0 8027608: d032 beq.n 8027670 { res = f_read(&F, SearchPath, l1, &fk); 802760a: f107 0368 add.w r3, r7, #104 ; 0x68 802760e: 6efa ldr r2, [r7, #108] ; 0x6c 8027610: 492c ldr r1, [pc, #176] ; (80276c4 ) 8027612: 4830 ldr r0, [pc, #192] ; (80276d4 ) 8027614: f0a3 fe61 bl 80cb2da 8027618: 4603 mov r3, r0 802761a: f887 3087 strb.w r3, [r7, #135] ; 0x87 if(res == FR_OK) 802761e: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 8027622: 2b00 cmp r3, #0 8027624: d11a bne.n 802765c { for(i = 0; i < l1; i++) 8027626: 2300 movs r3, #0 8027628: f8c7 3080 str.w r3, [r7, #128] ; 0x80 802762c: e010 b.n 8027650 { if(SearchPath[i] == '\n') 802762e: 4a25 ldr r2, [pc, #148] ; (80276c4 ) 8027630: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 8027634: 4413 add r3, r2 8027636: 781b ldrb r3, [r3, #0] 8027638: 2b0a cmp r3, #10 802763a: d104 bne.n 8027646 MaxRouteIndex++; 802763c: 4b1b ldr r3, [pc, #108] ; (80276ac ) 802763e: 681b ldr r3, [r3, #0] 8027640: 3301 adds r3, #1 8027642: 4a1a ldr r2, [pc, #104] ; (80276ac ) 8027644: 6013 str r3, [r2, #0] for(i = 0; i < l1; i++) 8027646: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802764a: 3301 adds r3, #1 802764c: f8c7 3080 str.w r3, [r7, #128] ; 0x80 8027650: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 8027654: 6efb ldr r3, [r7, #108] ; 0x6c 8027656: 429a cmp r2, r3 8027658: d3e9 bcc.n 802762e 802765a: e009 b.n 8027670 } } else { RouteIndex = MaxRouteIndex = 0; 802765c: 2300 movs r3, #0 802765e: 4a13 ldr r2, [pc, #76] ; (80276ac ) 8027660: 6013 str r3, [r2, #0] 8027662: 4a13 ldr r2, [pc, #76] ; (80276b0 ) 8027664: 6013 str r3, [r2, #0] f_close(&F); 8027666: 481b ldr r0, [pc, #108] ; (80276d4 ) 8027668: f0a4 fa1e bl 80cbaa8 return FR_DISK_ERR; 802766c: 2301 movs r3, #1 802766e: e013 b.n 8027698 } } f_close(&F); 8027670: 4818 ldr r0, [pc, #96] ; (80276d4 ) 8027672: f0a4 fa19 bl 80cbaa8 return FR_OK; 8027676: 2300 movs r3, #0 8027678: e00e b.n 8027698 } } else { RouteIndex = MaxRouteIndex = 0; 802767a: 2300 movs r3, #0 802767c: 4a0b ldr r2, [pc, #44] ; (80276ac ) 802767e: 6013 str r3, [r2, #0] 8027680: 4a0b ldr r2, [pc, #44] ; (80276b0 ) 8027682: 6013 str r3, [r2, #0] f_close(&F); 8027684: 4813 ldr r0, [pc, #76] ; (80276d4 ) 8027686: f0a4 fa0f bl 80cbaa8 return FR_DISK_ERR; 802768a: 2301 movs r3, #1 802768c: e004 b.n 8027698 } } } } f_close(&F); 802768e: 4811 ldr r0, [pc, #68] ; (80276d4 ) 8027690: f0a4 fa0a bl 80cbaa8 return res; 8027694: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 } 8027698: 4618 mov r0, r3 802769a: 378c adds r7, #140 ; 0x8c 802769c: 46bd mov sp, r7 802769e: bd90 pop {r4, r7, pc} 80276a0: 20020df3 .word 0x20020df3 80276a4: 20020dea .word 0x20020dea 80276a8: 20020df8 .word 0x20020df8 80276ac: 20020fbc .word 0x20020fbc 80276b0: 20020fb8 .word 0x20020fb8 80276b4: 2002169c .word 0x2002169c 80276b8: 20022c10 .word 0x20022c10 80276bc: 20022678 .word 0x20022678 80276c0: 20022a0c .word 0x20022a0c 80276c4: 20021dd0 .word 0x20021dd0 80276c8: 080d4f14 .word 0x080d4f14 80276cc: 20020dff .word 0x20020dff 80276d0: 20020dfe .word 0x20020dfe 80276d4: 20022e78 .word 0x20022e78 080276d8 : FRESULT ReadFileCSV_TMP(char* fname) { 80276d8: b590 push {r4, r7, lr} 80276da: b0af sub sp, #188 ; 0xbc 80276dc: af00 add r7, sp, #0 80276de: 6078 str r0, [r7, #4] FSIZE_t SizeMeas = 0; 80276e0: f04f 0300 mov.w r3, #0 80276e4: f04f 0400 mov.w r4, #0 80276e8: e9c7 3428 strd r3, r4, [r7, #160] ; 0xa0 FRESULT res = FR_OK; 80276ec: 2300 movs r3, #0 80276ee: 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; 80276f2: 2300 movs r3, #0 80276f4: f8c7 309c str.w r3, [r7, #156] ; 0x9c size_t l = 0, l1 = 0; 80276f8: 2300 movs r3, #0 80276fa: f8c7 30ac str.w r3, [r7, #172] ; 0xac 80276fe: 2300 movs r3, #0 8027700: f8c7 3098 str.w r3, [r7, #152] ; 0x98 char fn[40]; memset((void *) &RouteMeas(0), 0, 65536u); 8027704: f44f 3280 mov.w r2, #65536 ; 0x10000 8027708: 2100 movs r1, #0 802770a: 48c5 ldr r0, [pc, #788] ; (8027a20 ) 802770c: f0aa fc4a bl 80d1fa4 FileDataExist = false; 8027710: 4bc4 ldr r3, [pc, #784] ; (8027a24 ) 8027712: 2200 movs r2, #0 8027714: 701a strb r2, [r3, #0] DrawSavedData = false; 8027716: 4bc4 ldr r3, [pc, #784] ; (8027a28 ) 8027718: 2200 movs r2, #0 802771a: 701a strb r2, [r3, #0] FirstMeas = 0; 802771c: 4bc3 ldr r3, [pc, #780] ; (8027a2c ) 802771e: 2200 movs r2, #0 8027720: 601a str r2, [r3, #0] memset(fn, 0, sizeof(fn)); 8027722: f107 030c add.w r3, r7, #12 8027726: 2228 movs r2, #40 ; 0x28 8027728: 2100 movs r1, #0 802772a: 4618 mov r0, r3 802772c: f0aa fc3a bl 80d1fa4 strcpy(fn, "_"); 8027730: f107 030c add.w r3, r7, #12 8027734: 225f movs r2, #95 ; 0x5f 8027736: 801a strh r2, [r3, #0] strcat(fn, fname); 8027738: f107 030c add.w r3, r7, #12 802773c: 6879 ldr r1, [r7, #4] 802773e: 4618 mov r0, r3 8027740: f0aa fd30 bl 80d21a4 l = strlen(fn); 8027744: f107 030c add.w r3, r7, #12 8027748: 4618 mov r0, r3 802774a: f7f8 fde3 bl 8020314 802774e: f8c7 00ac str.w r0, [r7, #172] ; 0xac if(fn[l - 4] == '.') 8027752: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 8027756: 3b04 subs r3, #4 8027758: f107 02b8 add.w r2, r7, #184 ; 0xb8 802775c: 4413 add r3, r2 802775e: f813 3cac ldrb.w r3, [r3, #-172] 8027762: 2b2e cmp r3, #46 ; 0x2e 8027764: d11a bne.n 802779c { fn[l - 3] = 'T'; 8027766: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 802776a: 3b03 subs r3, #3 802776c: f107 02b8 add.w r2, r7, #184 ; 0xb8 8027770: 4413 add r3, r2 8027772: 2254 movs r2, #84 ; 0x54 8027774: f803 2cac strb.w r2, [r3, #-172] fn[l - 2] = 'M'; 8027778: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 802777c: 3b02 subs r3, #2 802777e: f107 02b8 add.w r2, r7, #184 ; 0xb8 8027782: 4413 add r3, r2 8027784: 224d movs r2, #77 ; 0x4d 8027786: f803 2cac strb.w r2, [r3, #-172] fn[l - 1] = 'P'; 802778a: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 802778e: 3b01 subs r3, #1 8027790: f107 02b8 add.w r2, r7, #184 ; 0xb8 8027794: 4413 add r3, r2 8027796: 2250 movs r2, #80 ; 0x50 8027798: f803 2cac strb.w r2, [r3, #-172] } RouteIndex = 0; 802779c: 4ba4 ldr r3, [pc, #656] ; (8027a30 ) 802779e: 2200 movs r2, #0 80277a0: 601a str r2, [r3, #0] if(CardState != MSD_READY) { 80277a2: 4ba4 ldr r3, [pc, #656] ; (8027a34 ) 80277a4: 781b ldrb r3, [r3, #0] 80277a6: b2db uxtb r3, r3 80277a8: 2b03 cmp r3, #3 80277aa: d001 beq.n 80277b0 return FR_NOT_READY; 80277ac: 2303 movs r3, #3 80277ae: e157 b.n 8027a60 } if(res == FR_OK) 80277b0: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 80277b4: 2b00 cmp r3, #0 80277b6: f040 8151 bne.w 8027a5c { memset(PointPath, 0, sizeof(PointPath)); 80277ba: f44f 7200 mov.w r2, #512 ; 0x200 80277be: 2100 movs r1, #0 80277c0: 489d ldr r0, [pc, #628] ; (8027a38 ) 80277c2: f0aa fbef bl 80d1fa4 memset(SearchPath, 0, sizeof(SearchPath)); 80277c6: f44f 7200 mov.w r2, #512 ; 0x200 80277ca: 2100 movs r1, #0 80277cc: 489b ldr r0, [pc, #620] ; (8027a3c ) 80277ce: f0aa fbe9 bl 80d1fa4 strcpy(SearchPath, "0:Routes"); 80277d2: 4a9a ldr r2, [pc, #616] ; (8027a3c ) 80277d4: 4b9a ldr r3, [pc, #616] ; (8027a40 ) 80277d6: cb03 ldmia r3!, {r0, r1} 80277d8: 6010 str r0, [r2, #0] 80277da: 6051 str r1, [r2, #4] 80277dc: 781b ldrb r3, [r3, #0] 80277de: 7213 strb r3, [r2, #8] res = f_opendir(&dir, SearchPath); 80277e0: 4996 ldr r1, [pc, #600] ; (8027a3c ) 80277e2: 4898 ldr r0, [pc, #608] ; (8027a44 ) 80277e4: f0a4 fc09 bl 80cbffa 80277e8: 4603 mov r3, r0 80277ea: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 if(res != FR_OK) { 80277ee: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 80277f2: 2b00 cmp r3, #0 80277f4: d005 beq.n 8027802 res = f_mkdir(SearchPath); 80277f6: 4891 ldr r0, [pc, #580] ; (8027a3c ) 80277f8: f0a4 feba bl 80cc570 80277fc: 4603 mov r3, r0 80277fe: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 } f_closedir(&dir); 8027802: 4890 ldr r0, [pc, #576] ; (8027a44 ) 8027804: f0a4 fc88 bl 80cc118 strcat(SearchPath, "/"); 8027808: 488c ldr r0, [pc, #560] ; (8027a3c ) 802780a: f7f8 fd83 bl 8020314 802780e: 4603 mov r3, r0 8027810: 461a mov r2, r3 8027812: 4b8a ldr r3, [pc, #552] ; (8027a3c ) 8027814: 4413 add r3, r2 8027816: 498c ldr r1, [pc, #560] ; (8027a48 ) 8027818: 461a mov r2, r3 802781a: 460b mov r3, r1 802781c: 881b ldrh r3, [r3, #0] 802781e: 8013 strh r3, [r2, #0] strcat(SearchPath, fn); 8027820: f107 030c add.w r3, r7, #12 8027824: 4619 mov r1, r3 8027826: 4885 ldr r0, [pc, #532] ; (8027a3c ) 8027828: f0aa fcbc bl 80d21a4 strcpy(PointPath, SearchPath); 802782c: 4983 ldr r1, [pc, #524] ; (8027a3c ) 802782e: 4882 ldr r0, [pc, #520] ; (8027a38 ) 8027830: f0aa fcd5 bl 80d21de res = f_open(&F, PointPath, FA_READ); 8027834: 2201 movs r2, #1 8027836: 4980 ldr r1, [pc, #512] ; (8027a38 ) 8027838: 4884 ldr r0, [pc, #528] ; (8027a4c ) 802783a: f0a3 faf1 bl 80cae20 802783e: 4603 mov r3, r0 8027840: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8027844: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 8027848: 2b04 cmp r3, #4 802784a: d003 beq.n 8027854 802784c: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 8027850: 2b05 cmp r3, #5 8027852: d110 bne.n 8027876 { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8027854: 221b movs r2, #27 8027856: 4978 ldr r1, [pc, #480] ; (8027a38 ) 8027858: 487c ldr r0, [pc, #496] ; (8027a4c ) 802785a: f0a3 fae1 bl 80cae20 802785e: 4603 mov r3, r0 8027860: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 if(res != FR_OK) 8027864: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 8027868: 2b00 cmp r3, #0 802786a: d00d beq.n 8027888 { f_close(&F); 802786c: 4877 ldr r0, [pc, #476] ; (8027a4c ) 802786e: f0a4 f91b bl 80cbaa8 return FR_DISK_ERR; 8027872: 2301 movs r3, #1 8027874: e0f4 b.n 8027a60 } } else if(res != FR_OK) 8027876: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 802787a: 2b00 cmp r3, #0 802787c: d004 beq.n 8027888 { f_close(&F); 802787e: 4873 ldr r0, [pc, #460] ; (8027a4c ) 8027880: f0a4 f912 bl 80cbaa8 return FR_DISK_ERR; 8027884: 2301 movs r3, #1 8027886: e0eb b.n 8027a60 } //res = f_open(&F, PointPath, FA_READ); if(res == FR_OK) 8027888: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 802788c: 2b00 cmp r3, #0 802788e: f040 80c2 bne.w 8027a16 f_close(&F); return FR_DISK_ERR; } else*/ { FileSize = f_size(&F); 8027892: 4b6e ldr r3, [pc, #440] ; (8027a4c ) 8027894: e9d3 3404 ldrd r3, r4, [r3, #16] 8027898: f8c7 309c str.w r3, [r7, #156] ; 0x9c if(FileSize == 0) 802789c: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80278a0: 2b00 cmp r3, #0 80278a2: d12e bne.n 8027902 { memset(sector, 0, 512); 80278a4: f44f 7200 mov.w r2, #512 ; 0x200 80278a8: 2100 movs r1, #0 80278aa: 4869 ldr r0, [pc, #420] ; (8027a50 ) 80278ac: f0aa fb7a bl 80d1fa4 for(i = 0; i < 128; i++) 80278b0: 2300 movs r3, #0 80278b2: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 80278b6: e018 b.n 80278ea { res = f_write(&F, sector, 512, &fk); 80278b8: f107 0394 add.w r3, r7, #148 ; 0x94 80278bc: f44f 7200 mov.w r2, #512 ; 0x200 80278c0: 4963 ldr r1, [pc, #396] ; (8027a50 ) 80278c2: 4862 ldr r0, [pc, #392] ; (8027a4c ) 80278c4: f0a3 fe4c bl 80cb560 80278c8: 4603 mov r3, r0 80278ca: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 if(res != FR_OK) 80278ce: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 80278d2: 2b00 cmp r3, #0 80278d4: d004 beq.n 80278e0 { f_close(&F); 80278d6: 485d ldr r0, [pc, #372] ; (8027a4c ) 80278d8: f0a4 f8e6 bl 80cbaa8 return FR_DISK_ERR; 80278dc: 2301 movs r3, #1 80278de: e0bf b.n 8027a60 for(i = 0; i < 128; i++) 80278e0: f8d7 30b0 ldr.w r3, [r7, #176] ; 0xb0 80278e4: 3301 adds r3, #1 80278e6: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 80278ea: f8d7 30b0 ldr.w r3, [r7, #176] ; 0xb0 80278ee: 2b7f cmp r3, #127 ; 0x7f 80278f0: d9e2 bls.n 80278b8 } } f_close(&F); 80278f2: 4856 ldr r0, [pc, #344] ; (8027a4c ) 80278f4: f0a4 f8d8 bl 80cbaa8 RouteIndex = 0; 80278f8: 4b4d ldr r3, [pc, #308] ; (8027a30 ) 80278fa: 2200 movs r2, #0 80278fc: 601a str r2, [r3, #0] return FR_OK; 80278fe: 2300 movs r3, #0 8027900: e0ae b.n 8027a60 } else { if(FileSize == 65536) 8027902: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 8027906: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 802790a: d17c bne.n 8027a06 { for(i = 0; i < 128; i++) 802790c: 2300 movs r3, #0 802790e: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 8027912: e02a b.n 802796a { res = f_read(&F, sector, 512, &fk); 8027914: f107 0394 add.w r3, r7, #148 ; 0x94 8027918: f44f 7200 mov.w r2, #512 ; 0x200 802791c: 494c ldr r1, [pc, #304] ; (8027a50 ) 802791e: 484b ldr r0, [pc, #300] ; (8027a4c ) 8027920: f0a3 fcdb bl 80cb2da 8027924: 4603 mov r3, r0 8027926: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 if(res == FR_OK) 802792a: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 802792e: 2b00 cmp r3, #0 8027930: d10e bne.n 8027950 { memcpy((void *) &RouteMeas(i * 512u), sector, 512); 8027932: f8d7 20b0 ldr.w r2, [r7, #176] ; 0xb0 8027936: 4b47 ldr r3, [pc, #284] ; (8027a54 ) 8027938: 4413 add r3, r2 802793a: 025b lsls r3, r3, #9 802793c: 461a mov r2, r3 802793e: 4b44 ldr r3, [pc, #272] ; (8027a50 ) 8027940: 4610 mov r0, r2 8027942: 4619 mov r1, r3 8027944: f44f 7300 mov.w r3, #512 ; 0x200 8027948: 461a mov r2, r3 802794a: f0aa fb20 bl 80d1f8e 802794e: e007 b.n 8027960 } else { RouteIndex = 0; 8027950: 4b37 ldr r3, [pc, #220] ; (8027a30 ) 8027952: 2200 movs r2, #0 8027954: 601a str r2, [r3, #0] f_close(&F); 8027956: 483d ldr r0, [pc, #244] ; (8027a4c ) 8027958: f0a4 f8a6 bl 80cbaa8 return FR_DISK_ERR; 802795c: 2301 movs r3, #1 802795e: e07f b.n 8027a60 for(i = 0; i < 128; i++) 8027960: f8d7 30b0 ldr.w r3, [r7, #176] ; 0xb0 8027964: 3301 adds r3, #1 8027966: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 802796a: f8d7 30b0 ldr.w r3, [r7, #176] ; 0xb0 802796e: 2b7f cmp r3, #127 ; 0x7f 8027970: d9d0 bls.n 8027914 } } f_close(&F); 8027972: 4836 ldr r0, [pc, #216] ; (8027a4c ) 8027974: f0a4 f898 bl 80cbaa8 for(i = 0; i < MaxRouteIndex; i++) 8027978: 2300 movs r3, #0 802797a: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 802797e: e03a b.n 80279f6 { if(RouteMeas(i) != 0) 8027980: f8d7 20b0 ldr.w r2, [r7, #176] ; 0xb0 8027984: 4b26 ldr r3, [pc, #152] ; (8027a20 ) 8027986: 4413 add r3, r2 8027988: 781b ldrb r3, [r3, #0] 802798a: 2b00 cmp r3, #0 802798c: d02e beq.n 80279ec { RouteIndex = i + 1; 802798e: f8d7 30b0 ldr.w r3, [r7, #176] ; 0xb0 8027992: 3301 adds r3, #1 8027994: 4a26 ldr r2, [pc, #152] ; (8027a30 ) 8027996: 6013 str r3, [r2, #0] if(RouteIndex == MaxRouteIndex) 8027998: 4b25 ldr r3, [pc, #148] ; (8027a30 ) 802799a: 681a ldr r2, [r3, #0] 802799c: 4b2e ldr r3, [pc, #184] ; (8027a58 ) 802799e: 681b ldr r3, [r3, #0] 80279a0: 429a cmp r2, r3 80279a2: d123 bne.n 80279ec { for(l = 0; l < MaxRouteIndex; l++) 80279a4: 2300 movs r3, #0 80279a6: f8c7 30ac str.w r3, [r7, #172] ; 0xac 80279aa: e00f b.n 80279cc { if(RouteMeas(l) == 0) { 80279ac: f8d7 20ac ldr.w r2, [r7, #172] ; 0xac 80279b0: 4b1b ldr r3, [pc, #108] ; (8027a20 ) 80279b2: 4413 add r3, r2 80279b4: 781b ldrb r3, [r3, #0] 80279b6: 2b00 cmp r3, #0 80279b8: d103 bne.n 80279c2 RouteIndex = l; 80279ba: 4a1d ldr r2, [pc, #116] ; (8027a30 ) 80279bc: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80279c0: 6013 str r3, [r2, #0] for(l = 0; l < MaxRouteIndex; l++) 80279c2: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80279c6: 3301 adds r3, #1 80279c8: f8c7 30ac str.w r3, [r7, #172] ; 0xac 80279cc: 4b22 ldr r3, [pc, #136] ; (8027a58 ) 80279ce: 681b ldr r3, [r3, #0] 80279d0: f8d7 20ac ldr.w r2, [r7, #172] ; 0xac 80279d4: 429a cmp r2, r3 80279d6: d3e9 bcc.n 80279ac } } if(RouteIndex == MaxRouteIndex) 80279d8: 4b15 ldr r3, [pc, #84] ; (8027a30 ) 80279da: 681a ldr r2, [r3, #0] 80279dc: 4b1e ldr r3, [pc, #120] ; (8027a58 ) 80279de: 681b ldr r3, [r3, #0] 80279e0: 429a cmp r2, r3 80279e2: d103 bne.n 80279ec { RouteIndex = 0; 80279e4: 4b12 ldr r3, [pc, #72] ; (8027a30 ) 80279e6: 2200 movs r2, #0 80279e8: 601a str r2, [r3, #0] break; 80279ea: e00a b.n 8027a02 for(i = 0; i < MaxRouteIndex; i++) 80279ec: f8d7 30b0 ldr.w r3, [r7, #176] ; 0xb0 80279f0: 3301 adds r3, #1 80279f2: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 80279f6: 4b18 ldr r3, [pc, #96] ; (8027a58 ) 80279f8: 681b ldr r3, [r3, #0] 80279fa: f8d7 20b0 ldr.w r2, [r7, #176] ; 0xb0 80279fe: 429a cmp r2, r3 8027a00: d3be bcc.n 8027980 } } } } return FR_OK; 8027a02: 2300 movs r3, #0 8027a04: e02c b.n 8027a60 } else { RouteIndex = 0; 8027a06: 4b0a ldr r3, [pc, #40] ; (8027a30 ) 8027a08: 2200 movs r2, #0 8027a0a: 601a str r2, [r3, #0] f_close(&F); 8027a0c: 480f ldr r0, [pc, #60] ; (8027a4c ) 8027a0e: f0a4 f84b bl 80cbaa8 return FR_DISK_ERR; 8027a12: 2301 movs r3, #1 8027a14: e024 b.n 8027a60 } } } else { f_close(&F); 8027a16: 480d ldr r0, [pc, #52] ; (8027a4c ) 8027a18: f0a4 f846 bl 80cbaa8 return FR_DISK_ERR; 8027a1c: 2301 movs r3, #1 8027a1e: e01f b.n 8027a60 8027a20: 64100000 .word 0x64100000 8027a24: 20020df3 .word 0x20020df3 8027a28: 20020dea .word 0x20020dea 8027a2c: 20020df8 .word 0x20020df8 8027a30: 20020fb8 .word 0x20020fb8 8027a34: 2002169c .word 0x2002169c 8027a38: 20022a0c .word 0x20022a0c 8027a3c: 20021dd0 .word 0x20021dd0 8027a40: 080d4f14 .word 0x080d4f14 8027a44: 20022970 .word 0x20022970 8027a48: 080d4e9c .word 0x080d4e9c 8027a4c: 20022e78 .word 0x20022e78 8027a50: 2007c000 .word 0x2007c000 8027a54: 00320800 .word 0x00320800 8027a58: 20020fbc .word 0x20020fbc } } return res; 8027a5c: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 } 8027a60: 4618 mov r0, r3 8027a62: 37bc adds r7, #188 ; 0xbc 8027a64: 46bd mov sp, r7 8027a66: bd90 pop {r4, r7, pc} 08027a68 : FRESULT WriteFileCSV_TMP(char* fname) { 8027a68: b590 push {r4, r7, lr} 8027a6a: b0af sub sp, #188 ; 0xbc 8027a6c: af00 add r7, sp, #0 8027a6e: 6078 str r0, [r7, #4] FSIZE_t SizeMeas = 0; 8027a70: f04f 0300 mov.w r3, #0 8027a74: f04f 0400 mov.w r4, #0 8027a78: e9c7 342a strd r3, r4, [r7, #168] ; 0xa8 FRESULT res = FR_OK; 8027a7c: 2300 movs r3, #0 8027a7e: 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; 8027a82: 2300 movs r3, #0 8027a84: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 size_t l = 0, l1 = 0; 8027a88: 2300 movs r3, #0 8027a8a: f8c7 309c str.w r3, [r7, #156] ; 0x9c 8027a8e: 2300 movs r3, #0 8027a90: f8c7 3098 str.w r3, [r7, #152] ; 0x98 char fn[40]; memset(fn, 0, sizeof(fn)); 8027a94: f107 030c add.w r3, r7, #12 8027a98: 2228 movs r2, #40 ; 0x28 8027a9a: 2100 movs r1, #0 8027a9c: 4618 mov r0, r3 8027a9e: f0aa fa81 bl 80d1fa4 strcpy(fn, "_"); 8027aa2: f107 030c add.w r3, r7, #12 8027aa6: 225f movs r2, #95 ; 0x5f 8027aa8: 801a strh r2, [r3, #0] strcat(fn, fname); 8027aaa: f107 030c add.w r3, r7, #12 8027aae: 6879 ldr r1, [r7, #4] 8027ab0: 4618 mov r0, r3 8027ab2: f0aa fb77 bl 80d21a4 l = strlen(fn); 8027ab6: f107 030c add.w r3, r7, #12 8027aba: 4618 mov r0, r3 8027abc: f7f8 fc2a bl 8020314 8027ac0: f8c7 009c str.w r0, [r7, #156] ; 0x9c if(fn[l - 4] == '.') 8027ac4: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 8027ac8: 3b04 subs r3, #4 8027aca: f107 02b8 add.w r2, r7, #184 ; 0xb8 8027ace: 4413 add r3, r2 8027ad0: f813 3cac ldrb.w r3, [r3, #-172] 8027ad4: 2b2e cmp r3, #46 ; 0x2e 8027ad6: d11a bne.n 8027b0e { fn[l - 3] = 't'; 8027ad8: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 8027adc: 3b03 subs r3, #3 8027ade: f107 02b8 add.w r2, r7, #184 ; 0xb8 8027ae2: 4413 add r3, r2 8027ae4: 2274 movs r2, #116 ; 0x74 8027ae6: f803 2cac strb.w r2, [r3, #-172] fn[l - 2] = 'm'; 8027aea: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 8027aee: 3b02 subs r3, #2 8027af0: f107 02b8 add.w r2, r7, #184 ; 0xb8 8027af4: 4413 add r3, r2 8027af6: 226d movs r2, #109 ; 0x6d 8027af8: f803 2cac strb.w r2, [r3, #-172] fn[l - 1] = 'p'; 8027afc: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 8027b00: 3b01 subs r3, #1 8027b02: f107 02b8 add.w r2, r7, #184 ; 0xb8 8027b06: 4413 add r3, r2 8027b08: 2270 movs r2, #112 ; 0x70 8027b0a: f803 2cac strb.w r2, [r3, #-172] } if(CardState != MSD_READY) { 8027b0e: 4b55 ldr r3, [pc, #340] ; (8027c64 ) 8027b10: 781b ldrb r3, [r3, #0] 8027b12: b2db uxtb r3, r3 8027b14: 2b03 cmp r3, #3 8027b16: d001 beq.n 8027b1c return FR_NOT_READY; 8027b18: 2303 movs r3, #3 8027b1a: e09e b.n 8027c5a } if(res == FR_OK) 8027b1c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8027b20: 2b00 cmp r3, #0 8027b22: f040 8098 bne.w 8027c56 { memset(PointPath, 0, sizeof(PointPath)); 8027b26: f44f 7200 mov.w r2, #512 ; 0x200 8027b2a: 2100 movs r1, #0 8027b2c: 484e ldr r0, [pc, #312] ; (8027c68 ) 8027b2e: f0aa fa39 bl 80d1fa4 memset(SearchPath, 0, sizeof(SearchPath)); 8027b32: f44f 7200 mov.w r2, #512 ; 0x200 8027b36: 2100 movs r1, #0 8027b38: 484c ldr r0, [pc, #304] ; (8027c6c ) 8027b3a: f0aa fa33 bl 80d1fa4 strcpy(SearchPath, "0:Routes"); 8027b3e: 4a4b ldr r2, [pc, #300] ; (8027c6c ) 8027b40: 4b4b ldr r3, [pc, #300] ; (8027c70 ) 8027b42: cb03 ldmia r3!, {r0, r1} 8027b44: 6010 str r0, [r2, #0] 8027b46: 6051 str r1, [r2, #4] 8027b48: 781b ldrb r3, [r3, #0] 8027b4a: 7213 strb r3, [r2, #8] res = f_opendir(&dir, SearchPath); 8027b4c: 4947 ldr r1, [pc, #284] ; (8027c6c ) 8027b4e: 4849 ldr r0, [pc, #292] ; (8027c74 ) 8027b50: f0a4 fa53 bl 80cbffa 8027b54: 4603 mov r3, r0 8027b56: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(res != FR_OK) { 8027b5a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8027b5e: 2b00 cmp r3, #0 8027b60: d005 beq.n 8027b6e res = f_mkdir(SearchPath); 8027b62: 4842 ldr r0, [pc, #264] ; (8027c6c ) 8027b64: f0a4 fd04 bl 80cc570 8027b68: 4603 mov r3, r0 8027b6a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } f_closedir(&dir); 8027b6e: 4841 ldr r0, [pc, #260] ; (8027c74 ) 8027b70: f0a4 fad2 bl 80cc118 strcat(SearchPath, "/"); 8027b74: 483d ldr r0, [pc, #244] ; (8027c6c ) 8027b76: f7f8 fbcd bl 8020314 8027b7a: 4603 mov r3, r0 8027b7c: 461a mov r2, r3 8027b7e: 4b3b ldr r3, [pc, #236] ; (8027c6c ) 8027b80: 4413 add r3, r2 8027b82: 493d ldr r1, [pc, #244] ; (8027c78 ) 8027b84: 461a mov r2, r3 8027b86: 460b mov r3, r1 8027b88: 881b ldrh r3, [r3, #0] 8027b8a: 8013 strh r3, [r2, #0] strcat(SearchPath, fn); 8027b8c: f107 030c add.w r3, r7, #12 8027b90: 4619 mov r1, r3 8027b92: 4836 ldr r0, [pc, #216] ; (8027c6c ) 8027b94: f0aa fb06 bl 80d21a4 strcpy(PointPath, SearchPath); 8027b98: 4934 ldr r1, [pc, #208] ; (8027c6c ) 8027b9a: 4833 ldr r0, [pc, #204] ; (8027c68 ) 8027b9c: f0aa fb1f bl 80d21de res = f_open(&F, PointPath, FA_WRITE | FA_READ); 8027ba0: 2203 movs r2, #3 8027ba2: 4931 ldr r1, [pc, #196] ; (8027c68 ) 8027ba4: 4835 ldr r0, [pc, #212] ; (8027c7c ) 8027ba6: f0a3 f93b bl 80cae20 8027baa: 4603 mov r3, r0 8027bac: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(res == FR_OK) 8027bb0: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8027bb4: 2b00 cmp r3, #0 8027bb6: d149 bne.n 8027c4c { res = f_sync(&F); 8027bb8: 4830 ldr r0, [pc, #192] ; (8027c7c ) 8027bba: f0a3 fe71 bl 80cb8a0 8027bbe: 4603 mov r3, r0 8027bc0: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(res != FR_OK) 8027bc4: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8027bc8: 2b00 cmp r3, #0 8027bca: d004 beq.n 8027bd6 { f_close(&F); 8027bcc: 482b ldr r0, [pc, #172] ; (8027c7c ) 8027bce: f0a3 ff6b bl 80cbaa8 return FR_DISK_ERR; 8027bd2: 2301 movs r3, #1 8027bd4: e041 b.n 8027c5a } else { f_lseek(&F, 0); 8027bd6: f04f 0200 mov.w r2, #0 8027bda: f04f 0300 mov.w r3, #0 8027bde: 4827 ldr r0, [pc, #156] ; (8027c7c ) 8027be0: f0a3 ff82 bl 80cbae8 for(i = 0; i < 128; i++) 8027be4: 2300 movs r3, #0 8027be6: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 8027bea: e026 b.n 8027c3a { memcpy(sector, (void *) &RouteMeas(512u * i), 512u); 8027bec: f8d7 20b4 ldr.w r2, [r7, #180] ; 0xb4 8027bf0: 4b23 ldr r3, [pc, #140] ; (8027c80 ) 8027bf2: 4413 add r3, r2 8027bf4: 025b lsls r3, r3, #9 8027bf6: 461a mov r2, r3 8027bf8: 4b22 ldr r3, [pc, #136] ; (8027c84 ) 8027bfa: 4618 mov r0, r3 8027bfc: 4611 mov r1, r2 8027bfe: f44f 7300 mov.w r3, #512 ; 0x200 8027c02: 461a mov r2, r3 8027c04: f0aa f9c3 bl 80d1f8e res = f_write(&F, sector, 512, &fk); 8027c08: f107 0394 add.w r3, r7, #148 ; 0x94 8027c0c: f44f 7200 mov.w r2, #512 ; 0x200 8027c10: 491c ldr r1, [pc, #112] ; (8027c84 ) 8027c12: 481a ldr r0, [pc, #104] ; (8027c7c ) 8027c14: f0a3 fca4 bl 80cb560 8027c18: 4603 mov r3, r0 8027c1a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(res != FR_OK) 8027c1e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8027c22: 2b00 cmp r3, #0 8027c24: d004 beq.n 8027c30 { f_close(&F); 8027c26: 4815 ldr r0, [pc, #84] ; (8027c7c ) 8027c28: f0a3 ff3e bl 80cbaa8 return FR_DISK_ERR; 8027c2c: 2301 movs r3, #1 8027c2e: e014 b.n 8027c5a for(i = 0; i < 128; i++) 8027c30: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 8027c34: 3301 adds r3, #1 8027c36: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 8027c3a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 8027c3e: 2b7f cmp r3, #127 ; 0x7f 8027c40: d9d4 bls.n 8027bec } } f_close(&F); 8027c42: 480e ldr r0, [pc, #56] ; (8027c7c ) 8027c44: f0a3 ff30 bl 80cbaa8 return FR_OK; 8027c48: 2300 movs r3, #0 8027c4a: e006 b.n 8027c5a } } else { f_close(&F); 8027c4c: 480b ldr r0, [pc, #44] ; (8027c7c ) 8027c4e: f0a3 ff2b bl 80cbaa8 return FR_DISK_ERR; 8027c52: 2301 movs r3, #1 8027c54: e001 b.n 8027c5a } } return res; 8027c56: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 } 8027c5a: 4618 mov r0, r3 8027c5c: 37bc adds r7, #188 ; 0xbc 8027c5e: 46bd mov sp, r7 8027c60: bd90 pop {r4, r7, pc} 8027c62: bf00 nop 8027c64: 2002169c .word 0x2002169c 8027c68: 20022a0c .word 0x20022a0c 8027c6c: 20021dd0 .word 0x20021dd0 8027c70: 080d4f14 .word 0x080d4f14 8027c74: 20022970 .word 0x20022970 8027c78: 080d4e9c .word 0x080d4e9c 8027c7c: 20022e78 .word 0x20022e78 8027c80: 00320800 .word 0x00320800 8027c84: 2007c000 .word 0x2007c000 08027c88 : FRESULT GetRoutePath(uint32_t RouteIndex, char *fname) { 8027c88: b590 push {r4, r7, lr} 8027c8a: b0a7 sub sp, #156 ; 0x9c 8027c8c: af00 add r7, sp, #0 8027c8e: 6078 str r0, [r7, #4] 8027c90: 6039 str r1, [r7, #0] FSIZE_t SizeMeas = 0; 8027c92: f04f 0300 mov.w r3, #0 8027c96: f04f 0400 mov.w r4, #0 8027c9a: e9c7 341e strd r3, r4, [r7, #120] ; 0x78 FRESULT res = FR_OK; 8027c9e: 2300 movs r3, #0 8027ca0: 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; 8027ca4: 2300 movs r3, #0 8027ca6: 677b str r3, [r7, #116] ; 0x74 size_t l = 0, l1 = 0, l2 = 0; 8027ca8: 2300 movs r3, #0 8027caa: f8c7 3088 str.w r3, [r7, #136] ; 0x88 8027cae: 2300 movs r3, #0 8027cb0: f8c7 3084 str.w r3, [r7, #132] ; 0x84 8027cb4: 2300 movs r3, #0 8027cb6: 673b str r3, [r7, #112] ; 0x70 FileDataExist = false; 8027cb8: 4baa ldr r3, [pc, #680] ; (8027f64 ) 8027cba: 2200 movs r2, #0 8027cbc: 701a strb r2, [r3, #0] DrawSavedData = false; 8027cbe: 4baa ldr r3, [pc, #680] ; (8027f68 ) 8027cc0: 2200 movs r2, #0 8027cc2: 701a strb r2, [r3, #0] FirstMeas = 0; 8027cc4: 4ba9 ldr r3, [pc, #676] ; (8027f6c ) 8027cc6: 2200 movs r2, #0 8027cc8: 601a str r2, [r3, #0] if(CardState != MSD_READY) { 8027cca: 4ba9 ldr r3, [pc, #676] ; (8027f70 ) 8027ccc: 781b ldrb r3, [r3, #0] 8027cce: b2db uxtb r3, r3 8027cd0: 2b03 cmp r3, #3 8027cd2: d001 beq.n 8027cd8 return FR_NOT_READY; 8027cd4: 2303 movs r3, #3 8027cd6: e141 b.n 8027f5c } if(res == FR_OK) 8027cd8: f897 3097 ldrb.w r3, [r7, #151] ; 0x97 8027cdc: 2b00 cmp r3, #0 8027cde: f040 813b bne.w 8027f58 { memset(RoutePath, 0, sizeof(RoutePath)); 8027ce2: f44f 7200 mov.w r2, #512 ; 0x200 8027ce6: 2100 movs r1, #0 8027ce8: 48a2 ldr r0, [pc, #648] ; (8027f74 ) 8027cea: f0aa f95b bl 80d1fa4 memset(PointPath, 0, sizeof(PointPath)); 8027cee: f44f 7200 mov.w r2, #512 ; 0x200 8027cf2: 2100 movs r1, #0 8027cf4: 48a0 ldr r0, [pc, #640] ; (8027f78 ) 8027cf6: f0aa f955 bl 80d1fa4 memset(SearchPath, 0, sizeof(SearchPath)); 8027cfa: f44f 7200 mov.w r2, #512 ; 0x200 8027cfe: 2100 movs r1, #0 8027d00: 489e ldr r0, [pc, #632] ; (8027f7c ) 8027d02: f0aa f94f bl 80d1fa4 strcpy(SearchPath, "0:"); 8027d06: 4b9d ldr r3, [pc, #628] ; (8027f7c ) 8027d08: 4a9d ldr r2, [pc, #628] ; (8027f80 ) 8027d0a: 8811 ldrh r1, [r2, #0] 8027d0c: 7892 ldrb r2, [r2, #2] 8027d0e: 8019 strh r1, [r3, #0] 8027d10: 709a strb r2, [r3, #2] memset(FileName, 0, sizeof(FileName)); 8027d12: 2228 movs r2, #40 ; 0x28 8027d14: 2100 movs r1, #0 8027d16: 489b ldr r0, [pc, #620] ; (8027f84 ) 8027d18: f0aa f944 bl 80d1fa4 strcpy(FileName, fname); 8027d1c: 6839 ldr r1, [r7, #0] 8027d1e: 4899 ldr r0, [pc, #612] ; (8027f84 ) 8027d20: f0aa fa5d bl 80d21de ScanMode = GET_PATH_TO_FILE; 8027d24: 4b98 ldr r3, [pc, #608] ; (8027f88 ) 8027d26: 220b movs r2, #11 8027d28: 701a strb r2, [r3, #0] FlagReturn = false; 8027d2a: 4b98 ldr r3, [pc, #608] ; (8027f8c ) 8027d2c: 2200 movs r2, #0 8027d2e: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8027d30: 2100 movs r1, #0 8027d32: 4892 ldr r0, [pc, #584] ; (8027f7c ) 8027d34: f002 fe54 bl 802a9e0 if(PointPath[0] == 0) 8027d38: 4b8f ldr r3, [pc, #572] ; (8027f78 ) 8027d3a: 781b ldrb r3, [r3, #0] 8027d3c: 2b00 cmp r3, #0 8027d3e: d103 bne.n 8027d48 { res = FR_NO_FILE; 8027d40: 2304 movs r3, #4 8027d42: f887 3097 strb.w r3, [r7, #151] ; 0x97 8027d46: e107 b.n 8027f58 } else { res = f_open(&F, PointPath, FA_READ); 8027d48: 2201 movs r2, #1 8027d4a: 498b ldr r1, [pc, #556] ; (8027f78 ) 8027d4c: 4890 ldr r0, [pc, #576] ; (8027f90 ) 8027d4e: f0a3 f867 bl 80cae20 8027d52: 4603 mov r3, r0 8027d54: f887 3097 strb.w r3, [r7, #151] ; 0x97 if(res == FR_OK) 8027d58: f897 3097 ldrb.w r3, [r7, #151] ; 0x97 8027d5c: 2b00 cmp r3, #0 8027d5e: f040 80fb bne.w 8027f58 { FileSize = f_size(&F); 8027d62: 4b8b ldr r3, [pc, #556] ; (8027f90 ) 8027d64: e9d3 3404 ldrd r3, r4, [r3, #16] 8027d68: 677b str r3, [r7, #116] ; 0x74 if(FileSize > 4) 8027d6a: 6f7b ldr r3, [r7, #116] ; 0x74 8027d6c: 2b04 cmp r3, #4 8027d6e: f240 80eb bls.w 8027f48 { if(FileSize < 512) 8027d72: 6f7b ldr r3, [r7, #116] ; 0x74 8027d74: f5b3 7f00 cmp.w r3, #512 ; 0x200 8027d78: d24a bcs.n 8027e10 { k = 0; 8027d7a: 2300 movs r3, #0 8027d7c: f8c7 308c str.w r3, [r7, #140] ; 0x8c p = 0; 8027d80: 2300 movs r3, #0 8027d82: 66fb str r3, [r7, #108] ; 0x6c res = f_read(&F, SearchPath, FileSize, &fk); 8027d84: f107 0368 add.w r3, r7, #104 ; 0x68 8027d88: 6f7a ldr r2, [r7, #116] ; 0x74 8027d8a: 497c ldr r1, [pc, #496] ; (8027f7c ) 8027d8c: 4880 ldr r0, [pc, #512] ; (8027f90 ) 8027d8e: f0a3 faa4 bl 80cb2da 8027d92: 4603 mov r3, r0 8027d94: f887 3097 strb.w r3, [r7, #151] ; 0x97 if(res == FR_OK) 8027d98: f897 3097 ldrb.w r3, [r7, #151] ; 0x97 8027d9c: 2b00 cmp r3, #0 8027d9e: d132 bne.n 8027e06 { for(i = 0; i < FileSize; i++) 8027da0: 2300 movs r3, #0 8027da2: f8c7 3090 str.w r3, [r7, #144] ; 0x90 8027da6: e028 b.n 8027dfa { if(SearchPath[i] == '\r') 8027da8: 4a74 ldr r2, [pc, #464] ; (8027f7c ) 8027daa: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 8027dae: 4413 add r3, r2 8027db0: 781b ldrb r3, [r3, #0] 8027db2: 2b0d cmp r3, #13 8027db4: d11c bne.n 8027df0 { if(RouteIndex == k) 8027db6: 687a ldr r2, [r7, #4] 8027db8: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 8027dbc: 429a cmp r2, r3 8027dbe: d10d bne.n 8027ddc { memcpy(RoutePath, &SearchPath[l1], i - l1); 8027dc0: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8027dc4: 4a6d ldr r2, [pc, #436] ; (8027f7c ) 8027dc6: 1899 adds r1, r3, r2 8027dc8: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 8027dcc: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8027dd0: 1ad3 subs r3, r2, r3 8027dd2: 461a mov r2, r3 8027dd4: 4867 ldr r0, [pc, #412] ; (8027f74 ) 8027dd6: f0aa f8da bl 80d1f8e break; 8027dda: e0ba b.n 8027f52 } l1 = i + 2; 8027ddc: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 8027de0: 3302 adds r3, #2 8027de2: f8c7 3084 str.w r3, [r7, #132] ; 0x84 k++; 8027de6: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 8027dea: 3301 adds r3, #1 8027dec: f8c7 308c str.w r3, [r7, #140] ; 0x8c for(i = 0; i < FileSize; i++) 8027df0: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 8027df4: 3301 adds r3, #1 8027df6: f8c7 3090 str.w r3, [r7, #144] ; 0x90 8027dfa: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 8027dfe: 6f7b ldr r3, [r7, #116] ; 0x74 8027e00: 429a cmp r2, r3 8027e02: d3d1 bcc.n 8027da8 8027e04: e0a5 b.n 8027f52 } } } else { f_close(&F); 8027e06: 4862 ldr r0, [pc, #392] ; (8027f90 ) 8027e08: f0a3 fe4e bl 80cbaa8 return FR_DISK_ERR; 8027e0c: 2301 movs r3, #1 8027e0e: e0a5 b.n 8027f5c } } else { // File is over 512 bytes l = 0; 8027e10: 2300 movs r3, #0 8027e12: f8c7 3088 str.w r3, [r7, #136] ; 0x88 l1 = l2 = 0; 8027e16: 2300 movs r3, #0 8027e18: 673b str r3, [r7, #112] ; 0x70 8027e1a: 6f3b ldr r3, [r7, #112] ; 0x70 8027e1c: f8c7 3084 str.w r3, [r7, #132] ; 0x84 k = 0; 8027e20: 2300 movs r3, #0 8027e22: f8c7 308c str.w r3, [r7, #140] ; 0x8c p = 0; 8027e26: 2300 movs r3, #0 8027e28: 66fb str r3, [r7, #108] ; 0x6c while(l < FileSize) 8027e2a: e086 b.n 8027f3a { if(FileSize - l >= 512u) 8027e2c: 6f7a ldr r2, [r7, #116] ; 0x74 8027e2e: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8027e32: 1ad3 subs r3, r2, r3 8027e34: f5b3 7f00 cmp.w r3, #512 ; 0x200 8027e38: d30b bcc.n 8027e52 res = f_read(&F, SearchPath, 512, &fk); 8027e3a: f107 0368 add.w r3, r7, #104 ; 0x68 8027e3e: f44f 7200 mov.w r2, #512 ; 0x200 8027e42: 494e ldr r1, [pc, #312] ; (8027f7c ) 8027e44: 4852 ldr r0, [pc, #328] ; (8027f90 ) 8027e46: f0a3 fa48 bl 80cb2da 8027e4a: 4603 mov r3, r0 8027e4c: f887 3097 strb.w r3, [r7, #151] ; 0x97 8027e50: e00c b.n 8027e6c else res = f_read(&F, SearchPath, FileSize - l, &fk); 8027e52: 6f7a ldr r2, [r7, #116] ; 0x74 8027e54: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8027e58: 1ad2 subs r2, r2, r3 8027e5a: f107 0368 add.w r3, r7, #104 ; 0x68 8027e5e: 4947 ldr r1, [pc, #284] ; (8027f7c ) 8027e60: 484b ldr r0, [pc, #300] ; (8027f90 ) 8027e62: f0a3 fa3a bl 80cb2da 8027e66: 4603 mov r3, r0 8027e68: f887 3097 strb.w r3, [r7, #151] ; 0x97 if(res == FR_OK) 8027e6c: f897 3097 ldrb.w r3, [r7, #151] ; 0x97 8027e70: 2b00 cmp r3, #0 8027e72: d157 bne.n 8027f24 { for(i = 0; i < fk; i++) 8027e74: 2300 movs r3, #0 8027e76: f8c7 3090 str.w r3, [r7, #144] ; 0x90 8027e7a: e04d b.n 8027f18 { if(SearchPath[i] == '\r') 8027e7c: 4a3f ldr r2, [pc, #252] ; (8027f7c ) 8027e7e: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 8027e82: 4413 add r3, r2 8027e84: 781b ldrb r3, [r3, #0] 8027e86: 2b0d cmp r3, #13 8027e88: d141 bne.n 8027f0e { if(RouteIndex == k) 8027e8a: 687a ldr r2, [r7, #4] 8027e8c: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 8027e90: 429a cmp r2, r3 8027e92: d12f bne.n 8027ef4 { f_lseek(&F, l1); 8027e94: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8027e98: f04f 0400 mov.w r4, #0 8027e9c: 461a mov r2, r3 8027e9e: 4623 mov r3, r4 8027ea0: 483b ldr r0, [pc, #236] ; (8027f90 ) 8027ea2: f0a3 fe21 bl 80cbae8 if(FileSize - l1 >= 512u) 8027ea6: 6f7a ldr r2, [r7, #116] ; 0x74 8027ea8: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8027eac: 1ad3 subs r3, r2, r3 8027eae: f5b3 7f00 cmp.w r3, #512 ; 0x200 8027eb2: d30b bcc.n 8027ecc res = f_read(&F, SearchPath, 512, &fk); 8027eb4: f107 0368 add.w r3, r7, #104 ; 0x68 8027eb8: f44f 7200 mov.w r2, #512 ; 0x200 8027ebc: 492f ldr r1, [pc, #188] ; (8027f7c ) 8027ebe: 4834 ldr r0, [pc, #208] ; (8027f90 ) 8027ec0: f0a3 fa0b bl 80cb2da 8027ec4: 4603 mov r3, r0 8027ec6: f887 3097 strb.w r3, [r7, #151] ; 0x97 8027eca: e00c b.n 8027ee6 else res = f_read(&F, SearchPath, FileSize - l1, &fk); 8027ecc: 6f7a ldr r2, [r7, #116] ; 0x74 8027ece: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8027ed2: 1ad2 subs r2, r2, r3 8027ed4: f107 0368 add.w r3, r7, #104 ; 0x68 8027ed8: 4928 ldr r1, [pc, #160] ; (8027f7c ) 8027eda: 482d ldr r0, [pc, #180] ; (8027f90 ) 8027edc: f0a3 f9fd bl 80cb2da 8027ee0: 4603 mov r3, r0 8027ee2: f887 3097 strb.w r3, [r7, #151] ; 0x97 memcpy(RoutePath, SearchPath, fk); 8027ee6: 6ebb ldr r3, [r7, #104] ; 0x68 8027ee8: 461a mov r2, r3 8027eea: 4924 ldr r1, [pc, #144] ; (8027f7c ) 8027eec: 4821 ldr r0, [pc, #132] ; (8027f74 ) 8027eee: f0aa f84e bl 80d1f8e break; 8027ef2: e01c b.n 8027f2e } l1 = l + i + 2; 8027ef4: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 8027ef8: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 8027efc: 4413 add r3, r2 8027efe: 3302 adds r3, #2 8027f00: f8c7 3084 str.w r3, [r7, #132] ; 0x84 k++; 8027f04: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 8027f08: 3301 adds r3, #1 8027f0a: f8c7 308c str.w r3, [r7, #140] ; 0x8c for(i = 0; i < fk; i++) 8027f0e: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 8027f12: 3301 adds r3, #1 8027f14: f8c7 3090 str.w r3, [r7, #144] ; 0x90 8027f18: 6ebb ldr r3, [r7, #104] ; 0x68 8027f1a: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 8027f1e: 429a cmp r2, r3 8027f20: d3ac bcc.n 8027e7c 8027f22: e004 b.n 8027f2e } else { f_close(&F); 8027f24: 481a ldr r0, [pc, #104] ; (8027f90 ) 8027f26: f0a3 fdbf bl 80cbaa8 return FR_DISK_ERR; 8027f2a: 2301 movs r3, #1 8027f2c: e016 b.n 8027f5c } l += 512u; 8027f2e: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8027f32: f503 7300 add.w r3, r3, #512 ; 0x200 8027f36: f8c7 3088 str.w r3, [r7, #136] ; 0x88 while(l < FileSize) 8027f3a: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 8027f3e: 6f7b ldr r3, [r7, #116] ; 0x74 8027f40: 429a cmp r2, r3 8027f42: f4ff af73 bcc.w 8027e2c 8027f46: e004 b.n 8027f52 } } } else { f_close(&F); 8027f48: 4811 ldr r0, [pc, #68] ; (8027f90 ) 8027f4a: f0a3 fdad bl 80cbaa8 return FR_DISK_ERR; 8027f4e: 2301 movs r3, #1 8027f50: e004 b.n 8027f5c } f_close(&F); 8027f52: 480f ldr r0, [pc, #60] ; (8027f90 ) 8027f54: f0a3 fda8 bl 80cbaa8 } } } return res; 8027f58: f897 3097 ldrb.w r3, [r7, #151] ; 0x97 } 8027f5c: 4618 mov r0, r3 8027f5e: 379c adds r7, #156 ; 0x9c 8027f60: 46bd mov sp, r7 8027f62: bd90 pop {r4, r7, pc} 8027f64: 20020df3 .word 0x20020df3 8027f68: 20020dea .word 0x20020dea 8027f6c: 20020df8 .word 0x20020df8 8027f70: 2002169c .word 0x2002169c 8027f74: 20022c38 .word 0x20022c38 8027f78: 20022a0c .word 0x20022a0c 8027f7c: 20021dd0 .word 0x20021dd0 8027f80: 080d4f20 .word 0x080d4f20 8027f84: 20022c10 .word 0x20022c10 8027f88: 20020dff .word 0x20020dff 8027f8c: 20020dfe .word 0x20020dfe 8027f90: 20022e78 .word 0x20022e78 08027f94 : FRESULT RewindFileWAV(void) { 8027f94: b5f0 push {r4, r5, r6, r7, lr} 8027f96: b087 sub sp, #28 8027f98: af00 add r7, sp, #0 FRESULT res = FR_OK; 8027f9a: 2200 movs r2, #0 8027f9c: 75fa strb r2, [r7, #23] FSIZE_t fptr, cf; FSIZE_t NumRead; UINT fk; if(CardState != MSD_READY) { 8027f9e: 4a54 ldr r2, [pc, #336] ; (80280f0 ) 8027fa0: 7812 ldrb r2, [r2, #0] 8027fa2: b2d2 uxtb r2, r2 8027fa4: 2a03 cmp r2, #3 8027fa6: d001 beq.n 8027fac return FR_NOT_READY; 8027fa8: 2303 movs r3, #3 8027faa: e09d b.n 80280e8 } //if(NUM_CHANNELS == 1) //{ if((f_size(&F)) && (PlayingState.NumFrames)) 8027fac: 4a51 ldr r2, [pc, #324] ; (80280f4 ) 8027fae: e9d2 1204 ldrd r1, r2, [r2, #16] 8027fb2: 430a orrs r2, r1 8027fb4: f000 808b beq.w 80280ce 8027fb8: 4a4f ldr r2, [pc, #316] ; (80280f8 ) 8027fba: 6852 ldr r2, [r2, #4] 8027fbc: 2a00 cmp r2, #0 8027fbe: f000 8086 beq.w 80280ce { cf = PlayingState.CurrentFrame; 8027fc2: 4a4d ldr r2, [pc, #308] ; (80280f8 ) 8027fc4: 6812 ldr r2, [r2, #0] 8027fc6: 4611 mov r1, r2 8027fc8: f04f 0200 mov.w r2, #0 8027fcc: e887 0006 stmia.w r7, {r1, r2} if(cf == PlayingState.NumFrames) { 8027fd0: 4a49 ldr r2, [pc, #292] ; (80280f8 ) 8027fd2: 6852 ldr r2, [r2, #4] 8027fd4: 4615 mov r5, r2 8027fd6: f04f 0600 mov.w r6, #0 8027fda: e897 0006 ldmia.w r7, {r1, r2} 8027fde: 4296 cmp r6, r2 8027fe0: bf08 it eq 8027fe2: 428d cmpeq r5, r1 8027fe4: d107 bne.n 8027ff6 cf -= 1; 8027fe6: e897 0006 ldmia.w r7, {r1, r2} 8027fea: f111 31ff adds.w r1, r1, #4294967295 8027fee: f142 32ff adc.w r2, r2, #4294967295 8027ff2: e887 0006 stmia.w r7, {r1, r2} } cf *= PlayingState.FrameSize; 8027ff6: 4a40 ldr r2, [pc, #256] ; (80280f8 ) 8027ff8: 6892 ldr r2, [r2, #8] 8027ffa: 4611 mov r1, r2 8027ffc: f04f 0200 mov.w r2, #0 8028000: 6878 ldr r0, [r7, #4] 8028002: fb01 f500 mul.w r5, r1, r0 8028006: 6838 ldr r0, [r7, #0] 8028008: fb02 f000 mul.w r0, r2, r0 802800c: 4428 add r0, r5 802800e: 683d ldr r5, [r7, #0] 8028010: fba5 1201 umull r1, r2, r5, r1 8028014: 4410 add r0, r2 8028016: 4602 mov r2, r0 8028018: e887 0006 stmia.w r7, {r1, r2} 802801c: e887 0006 stmia.w r7, {r1, r2} cf <<= 2; 8028020: e897 0006 ldmia.w r7, {r1, r2} 8028024: 0094 lsls r4, r2, #2 8028026: ea44 7491 orr.w r4, r4, r1, lsr #30 802802a: 008b lsls r3, r1, #2 802802c: e887 0018 stmia.w r7, {r3, r4} fptr = (FSIZE_t) FirstMeas + cf; 8028030: 4b32 ldr r3, [pc, #200] ; (80280fc ) 8028032: 681b ldr r3, [r3, #0] 8028034: 4619 mov r1, r3 8028036: f04f 0200 mov.w r2, #0 802803a: e897 0018 ldmia.w r7, {r3, r4} 802803e: 185b adds r3, r3, r1 8028040: eb44 0402 adc.w r4, r4, r2 8028044: e9c7 3402 strd r3, r4, [r7, #8] if(fptr > f_size(&F)) { 8028048: 4b2a ldr r3, [pc, #168] ; (80280f4 ) 802804a: e9d3 1204 ldrd r1, r2, [r3, #16] 802804e: e9d7 3402 ldrd r3, r4, [r7, #8] 8028052: 42a2 cmp r2, r4 8028054: bf08 it eq 8028056: 4299 cmpeq r1, r3 8028058: d20c bcs.n 8028074 fptr = f_size(&F) - (PlayingState.FrameSize << 2); 802805a: 4b26 ldr r3, [pc, #152] ; (80280f4 ) 802805c: e9d3 1204 ldrd r1, r2, [r3, #16] 8028060: 4b25 ldr r3, [pc, #148] ; (80280f8 ) 8028062: 689b ldr r3, [r3, #8] 8028064: 009b lsls r3, r3, #2 8028066: f04f 0400 mov.w r4, #0 802806a: 1acb subs r3, r1, r3 802806c: eb62 0404 sbc.w r4, r2, r4 8028070: e9c7 3402 strd r3, r4, [r7, #8] } res = f_lseek(&F, fptr); 8028074: e9d7 2302 ldrd r2, r3, [r7, #8] 8028078: 481e ldr r0, [pc, #120] ; (80280f4 ) 802807a: f0a3 fd35 bl 80cbae8 802807e: 4603 mov r3, r0 8028080: 75fb strb r3, [r7, #23] if(res == FR_OK) 8028082: 7dfb ldrb r3, [r7, #23] 8028084: 2b00 cmp r3, #0 8028086: d115 bne.n 80280b4 { res = SeekFileWAV(); 8028088: f000 f83e bl 8028108 802808c: 4603 mov r3, r0 802808e: 75fb strb r3, [r7, #23] if(res == FR_OK) 8028090: 7dfb ldrb r3, [r7, #23] 8028092: 2b00 cmp r3, #0 8028094: d101 bne.n 802809a { return FR_OK; 8028096: 2300 movs r3, #0 8028098: e026 b.n 80280e8 } else { f_close(&F); 802809a: 4816 ldr r0, [pc, #88] ; (80280f4 ) 802809c: f0a3 fd04 bl 80cbaa8 memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 80280a0: 4a17 ldr r2, [pc, #92] ; (8028100 ) 80280a2: 4b18 ldr r3, [pc, #96] ; (8028104 ) 80280a4: 4610 mov r0, r2 80280a6: 4619 mov r1, r3 80280a8: f44f 6396 mov.w r3, #1200 ; 0x4b0 80280ac: 461a mov r2, r3 80280ae: f0a9 ff6e bl 80d1f8e if(res == FR_OK) 80280b2: e018 b.n 80280e6 } } else { f_close(&F); 80280b4: 480f ldr r0, [pc, #60] ; (80280f4 ) 80280b6: f0a3 fcf7 bl 80cbaa8 memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 80280ba: 4a11 ldr r2, [pc, #68] ; (8028100 ) 80280bc: 4b11 ldr r3, [pc, #68] ; (8028104 ) 80280be: 4610 mov r0, r2 80280c0: 4619 mov r1, r3 80280c2: f44f 6396 mov.w r3, #1200 ; 0x4b0 80280c6: 461a mov r2, r3 80280c8: f0a9 ff61 bl 80d1f8e if(res == FR_OK) 80280cc: e00b b.n 80280e6 } } else { f_close(&F); 80280ce: 4809 ldr r0, [pc, #36] ; (80280f4 ) 80280d0: f0a3 fcea bl 80cbaa8 memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 80280d4: 4a0a ldr r2, [pc, #40] ; (8028100 ) 80280d6: 4b0b ldr r3, [pc, #44] ; (8028104 ) 80280d8: 4610 mov r0, r2 80280da: 4619 mov r1, r3 80280dc: f44f 6396 mov.w r3, #1200 ; 0x4b0 80280e0: 461a mov r2, r3 80280e2: f0a9 ff54 bl 80d1f8e memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); } }*/ return res; 80280e6: 7dfb ldrb r3, [r7, #23] } 80280e8: 4618 mov r0, r3 80280ea: 371c adds r7, #28 80280ec: 46bd mov sp, r7 80280ee: bdf0 pop {r4, r5, r6, r7, pc} 80280f0: 2002169c .word 0x2002169c 80280f4: 20022e78 .word 0x20022e78 80280f8: 20022928 .word 0x20022928 80280fc: 20020df8 .word 0x20020df8 8028100: 20023eb8 .word 0x20023eb8 8028104: 200243d4 .word 0x200243d4 08028108 : return res; }*/ FRESULT SeekFileWAV(void) { 8028108: b5b0 push {r4, r5, r7, lr} 802810a: b088 sub sp, #32 802810c: af00 add r7, sp, #0 FRESULT res = FR_OK; 802810e: 2300 movs r3, #0 8028110: 77fb strb r3, [r7, #31] FSIZE_t fptr; FSIZE_t NumRead; UINT fk, i; float32_t fl; if(CardState != MSD_READY) { 8028112: 4b4a ldr r3, [pc, #296] ; (802823c ) 8028114: 781b ldrb r3, [r3, #0] 8028116: b2db uxtb r3, r3 8028118: 2b03 cmp r3, #3 802811a: d001 beq.n 8028120 return FR_NOT_READY; 802811c: 2303 movs r3, #3 802811e: e088 b.n 8028232 } arm_fill_f32(0.0f, (float32_t *) &SD_Buff, 8192); 8028120: f44f 5100 mov.w r1, #8192 ; 0x2000 8028124: 4846 ldr r0, [pc, #280] ; (8028240 ) 8028126: ed9f 0a47 vldr s0, [pc, #284] ; 8028244 802812a: f0a6 fd97 bl 80cec5c /*if(NUM_CHANNELS == 1) {*/ if(PlayingState.CurrentFrame < PlayingState.NumFrames) 802812e: 4b46 ldr r3, [pc, #280] ; (8028248 ) 8028130: 681a ldr r2, [r3, #0] 8028132: 4b45 ldr r3, [pc, #276] ; (8028248 ) 8028134: 685b ldr r3, [r3, #4] 8028136: 429a cmp r2, r3 8028138: d27a bcs.n 8028230 { fptr = f_tell(&F); 802813a: 4b44 ldr r3, [pc, #272] ; (802824c ) 802813c: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 8028140: e9c7 2304 strd r2, r3, [r7, #16] if(fptr == 0) 8028144: e9d7 2304 ldrd r2, r3, [r7, #16] 8028148: 4313 orrs r3, r2 802814a: d10b bne.n 8028164 { f_lseek(&F, 80); 802814c: f04f 0250 mov.w r2, #80 ; 0x50 8028150: f04f 0300 mov.w r3, #0 8028154: 483d ldr r0, [pc, #244] ; (802824c ) 8028156: f0a3 fcc7 bl 80cbae8 fptr = f_tell(&F); 802815a: 4b3c ldr r3, [pc, #240] ; (802824c ) 802815c: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 8028160: e9c7 2304 strd r2, r3, [r7, #16] } NumRead = (f_size(&F) - fptr) >> 2; 8028164: 4b39 ldr r3, [pc, #228] ; (802824c ) 8028166: e9d3 0104 ldrd r0, r1, [r3, #16] 802816a: e9d7 2304 ldrd r2, r3, [r7, #16] 802816e: 1a82 subs r2, r0, r2 8028170: eb61 0303 sbc.w r3, r1, r3 8028174: 0894 lsrs r4, r2, #2 8028176: ea44 7483 orr.w r4, r4, r3, lsl #30 802817a: 089d lsrs r5, r3, #2 802817c: e9c7 4502 strd r4, r5, [r7, #8] if(NumRead) 8028180: e9d7 3402 ldrd r3, r4, [r7, #8] 8028184: 4323 orrs r3, r4 8028186: d050 beq.n 802822a { if(NumRead >= PlayingState.FrameSize) 8028188: 4b2f ldr r3, [pc, #188] ; (8028248 ) 802818a: 689b ldr r3, [r3, #8] 802818c: f04f 0400 mov.w r4, #0 8028190: e9d7 1202 ldrd r1, r2, [r7, #8] 8028194: 42a2 cmp r2, r4 8028196: bf08 it eq 8028198: 4299 cmpeq r1, r3 802819a: d30a bcc.n 80281b2 res = f_read(&F, (void *) &SD_Buff, (PlayingState.FrameSize << 2), &fk); 802819c: 4b2a ldr r3, [pc, #168] ; (8028248 ) 802819e: 689b ldr r3, [r3, #8] 80281a0: 009a lsls r2, r3, #2 80281a2: 463b mov r3, r7 80281a4: 4926 ldr r1, [pc, #152] ; (8028240 ) 80281a6: 4829 ldr r0, [pc, #164] ; (802824c ) 80281a8: f0a3 f897 bl 80cb2da 80281ac: 4603 mov r3, r0 80281ae: 77fb strb r3, [r7, #31] 80281b0: e008 b.n 80281c4 else res = f_read(&F, (void *) &SD_Buff, (NumRead << 2), &fk); 80281b2: 68bb ldr r3, [r7, #8] 80281b4: 009a lsls r2, r3, #2 80281b6: 463b mov r3, r7 80281b8: 4921 ldr r1, [pc, #132] ; (8028240 ) 80281ba: 4824 ldr r0, [pc, #144] ; (802824c ) 80281bc: f0a3 f88d bl 80cb2da 80281c0: 4603 mov r3, r0 80281c2: 77fb strb r3, [r7, #31] if(res == FR_OK) 80281c4: 7ffb ldrb r3, [r7, #31] 80281c6: 2b00 cmp r3, #0 80281c8: d132 bne.n 8028230 { fl = 1000 / PlayingState.Sensitivity; 80281ca: 4b1f ldr r3, [pc, #124] ; (8028248 ) 80281cc: ed93 7a08 vldr s14, [r3, #32] 80281d0: eddf 6a1f vldr s13, [pc, #124] ; 8028250 80281d4: eec6 7a87 vdiv.f32 s15, s13, s14 80281d8: edc7 7a01 vstr s15, [r7, #4] arm_scale_f32((float32_t *) &SD_Buff, fl, (float32_t *) &SD_Buff, PlayingState.FrameSize); 80281dc: 4b1a ldr r3, [pc, #104] ; (8028248 ) 80281de: 689b ldr r3, [r3, #8] 80281e0: 461a mov r2, r3 80281e2: 4917 ldr r1, [pc, #92] ; (8028240 ) 80281e4: ed97 0a01 vldr s0, [r7, #4] 80281e8: 4815 ldr r0, [pc, #84] ; (8028240 ) 80281ea: f0a7 fa3d bl 80cf668 arm_copy_f32((float32_t *) &SD_Buff, pScrA_f32, PlayingState.FrameSize); 80281ee: 4b16 ldr r3, [pc, #88] ; (8028248 ) 80281f0: 689b ldr r3, [r3, #8] 80281f2: 461a mov r2, r3 80281f4: 4917 ldr r1, [pc, #92] ; (8028254 ) 80281f6: 4812 ldr r0, [pc, #72] ; (8028240 ) 80281f8: f0a6 fd4e bl 80cec98 if(PlayingState.State == PLAYING) { 80281fc: 4b12 ldr r3, [pc, #72] ; (8028248 ) 80281fe: 6adb ldr r3, [r3, #44] ; 0x2c 8028200: 2b01 cmp r3, #1 8028202: d104 bne.n 802820e PlayingState.CurrentFrame++; 8028204: 4b10 ldr r3, [pc, #64] ; (8028248 ) 8028206: 681b ldr r3, [r3, #0] 8028208: 3301 adds r3, #1 802820a: 4a0f ldr r2, [pc, #60] ; (8028248 ) 802820c: 6013 str r3, [r2, #0] } if(PlayingState.CurrentFrame >= PlayingState.NumFrames) 802820e: 4b0e ldr r3, [pc, #56] ; (8028248 ) 8028210: 681a ldr r2, [r3, #0] 8028212: 4b0d ldr r3, [pc, #52] ; (8028248 ) 8028214: 685b ldr r3, [r3, #4] 8028216: 429a cmp r2, r3 8028218: d30a bcc.n 8028230 { if(PlayingState.State == PLAYING) { 802821a: 4b0b ldr r3, [pc, #44] ; (8028248 ) 802821c: 6adb ldr r3, [r3, #44] ; 0x2c 802821e: 2b01 cmp r3, #1 8028220: d106 bne.n 8028230 PlayingState.State = STOPPED; 8028222: 4b09 ldr r3, [pc, #36] ; (8028248 ) 8028224: 2200 movs r2, #0 8028226: 62da str r2, [r3, #44] ; 0x2c 8028228: e002 b.n 8028230 } } } else { PlayingState.State = STOPPED; 802822a: 4b07 ldr r3, [pc, #28] ; (8028248 ) 802822c: 2200 movs r2, #0 802822e: 62da str r2, [r3, #44] ; 0x2c PlayingState.State = STOPPED; } } }*/ return res; 8028230: 7ffb ldrb r3, [r7, #31] } 8028232: 4618 mov r0, r3 8028234: 3720 adds r7, #32 8028236: 46bd mov sp, r7 8028238: bdb0 pop {r4, r5, r7, pc} 802823a: bf00 nop 802823c: 2002169c .word 0x2002169c 8028240: 20000000 .word 0x20000000 8028244: 00000000 .word 0x00000000 8028248: 20022928 .word 0x20022928 802824c: 20022e78 .word 0x20022e78 8028250: 447a0000 .word 0x447a0000 8028254: 64080000 .word 0x64080000 08028258 : FRESULT WriteFilePTM(char* fname) { 8028258: b5f0 push {r4, r5, r6, r7, lr} 802825a: b091 sub sp, #68 ; 0x44 802825c: af00 add r7, sp, #0 802825e: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8028260: 2300 movs r3, #0 8028262: f887 303f strb.w r3, [r7, #63] ; 0x3f uint16_t IM, IP; UINT fk; FSIZE_t ifs; if(CardState != MSD_READY) { 8028266: 4b97 ldr r3, [pc, #604] ; (80284c4 ) 8028268: 781b ldrb r3, [r3, #0] 802826a: b2db uxtb r3, r3 802826c: 2b03 cmp r3, #3 802826e: d002 beq.n 8028276 return FR_NOT_READY; 8028270: 2303 movs r3, #3 8028272: f000 bd3a b.w 8028cea } if(strcmp(fname, "") == 0) { 8028276: 687b ldr r3, [r7, #4] 8028278: 781b ldrb r3, [r3, #0] 802827a: 2b00 cmp r3, #0 802827c: d102 bne.n 8028284 return FR_INVALID_NAME; 802827e: 2306 movs r3, #6 8028280: f000 bd33 b.w 8028cea } if(res == FR_OK) 8028284: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8028288: 2b00 cmp r3, #0 802828a: f040 852c bne.w 8028ce6 { memset(FileName, 0, sizeof(FileName)); 802828e: 2228 movs r2, #40 ; 0x28 8028290: 2100 movs r1, #0 8028292: 488d ldr r0, [pc, #564] ; (80284c8 ) 8028294: f0a9 fe86 bl 80d1fa4 strcpy(FileName, fname); 8028298: 6879 ldr r1, [r7, #4] 802829a: 488b ldr r0, [pc, #556] ; (80284c8 ) 802829c: f0a9 ff9f bl 80d21de memset(PointPath, 0, sizeof(PointPath)); 80282a0: f44f 7200 mov.w r2, #512 ; 0x200 80282a4: 2100 movs r1, #0 80282a6: 4889 ldr r0, [pc, #548] ; (80284cc ) 80282a8: f0a9 fe7c bl 80d1fa4 memset(SearchPath, 0, sizeof(SearchPath)); 80282ac: f44f 7200 mov.w r2, #512 ; 0x200 80282b0: 2100 movs r1, #0 80282b2: 4887 ldr r0, [pc, #540] ; (80284d0 ) 80282b4: f0a9 fe76 bl 80d1fa4 SearchPath[0] = '0'; 80282b8: 4b85 ldr r3, [pc, #532] ; (80284d0 ) 80282ba: 2230 movs r2, #48 ; 0x30 80282bc: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 80282be: 4b84 ldr r3, [pc, #528] ; (80284d0 ) 80282c0: 223a movs r2, #58 ; 0x3a 80282c2: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 80282c4: 4b83 ldr r3, [pc, #524] ; (80284d4 ) 80282c6: 220b movs r2, #11 80282c8: 701a strb r2, [r3, #0] FlagReturn = false; 80282ca: 4b83 ldr r3, [pc, #524] ; (80284d8 ) 80282cc: 2200 movs r2, #0 80282ce: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 80282d0: 2100 movs r1, #0 80282d2: 487f ldr r0, [pc, #508] ; (80284d0 ) 80282d4: f002 fb84 bl 802a9e0 if(PointPath[0] == 0) 80282d8: 4b7c ldr r3, [pc, #496] ; (80284cc ) 80282da: 781b ldrb r3, [r3, #0] 80282dc: 2b00 cmp r3, #0 80282de: d104 bne.n 80282ea { res = FR_NO_FILE; 80282e0: 2304 movs r3, #4 80282e2: f887 303f strb.w r3, [r7, #63] ; 0x3f 80282e6: f000 bcfe b.w 8028ce6 } else { res = f_open(&F, PointPath, FA_READ | FA_WRITE); 80282ea: 2203 movs r2, #3 80282ec: 4977 ldr r1, [pc, #476] ; (80284cc ) 80282ee: 487b ldr r0, [pc, #492] ; (80284dc ) 80282f0: f0a2 fd96 bl 80cae20 80282f4: 4603 mov r3, r0 80282f6: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 80282fa: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80282fe: 2b04 cmp r3, #4 8028300: d003 beq.n 802830a 8028302: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8028306: 2b05 cmp r3, #5 8028308: d107 bne.n 802831a res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 802830a: 221b movs r2, #27 802830c: 496f ldr r1, [pc, #444] ; (80284cc ) 802830e: 4873 ldr r0, [pc, #460] ; (80284dc ) 8028310: f0a2 fd86 bl 80cae20 8028314: 4603 mov r3, r0 8028316: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 802831a: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802831e: 2b00 cmp r3, #0 8028320: f040 84e1 bne.w 8028ce6 { memset(sector, 0xff, sizeof(sector)); 8028324: f44f 7200 mov.w r2, #512 ; 0x200 8028328: 21ff movs r1, #255 ; 0xff 802832a: 486d ldr r0, [pc, #436] ; (80284e0 ) 802832c: f0a9 fe3a bl 80d1fa4 IM = (uint16_t) NextIndexMeas; 8028330: 4b6c ldr r3, [pc, #432] ; (80284e4 ) 8028332: 681b ldr r3, [r3, #0] 8028334: 85fb strh r3, [r7, #46] ; 0x2e if(f_size(&F) == 0) 8028336: 4b69 ldr r3, [pc, #420] ; (80284dc ) 8028338: e9d3 3404 ldrd r3, r4, [r3, #16] 802833c: 4323 orrs r3, r4 802833e: f040 819a bne.w 8028676 { ////////////////////// Ñîçäàåì øàïêó ôàéëà //////////////////////// memset(sector, 0, sizeof(sector)); 8028342: f44f 7200 mov.w r2, #512 ; 0x200 8028346: 2100 movs r1, #0 8028348: 4865 ldr r0, [pc, #404] ; (80284e0 ) 802834a: f0a9 fe2b bl 80d1fa4 strcpy((char *) sector, "Extend"); 802834e: 4b64 ldr r3, [pc, #400] ; (80284e0 ) 8028350: 4a65 ldr r2, [pc, #404] ; (80284e8 ) 8028352: e892 0003 ldmia.w r2, {r0, r1} 8028356: 6018 str r0, [r3, #0] 8028358: 3304 adds r3, #4 802835a: 8019 strh r1, [r3, #0] 802835c: 3302 adds r3, #2 802835e: 0c0a lsrs r2, r1, #16 8028360: 701a strb r2, [r3, #0] res = f_write(&F, sector, 96, &fk); 8028362: f107 030c add.w r3, r7, #12 8028366: 2260 movs r2, #96 ; 0x60 8028368: 495d ldr r1, [pc, #372] ; (80284e0 ) 802836a: 485c ldr r0, [pc, #368] ; (80284dc ) 802836c: f0a3 f8f8 bl 80cb560 8028370: 4603 mov r3, r0 8028372: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 96)) 8028376: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802837a: 2b00 cmp r3, #0 802837c: f040 8082 bne.w 8028484 8028380: 68fb ldr r3, [r7, #12] 8028382: 2b60 cmp r3, #96 ; 0x60 8028384: d17e bne.n 8028484 { memset(sector, 0, sizeof(sector)); 8028386: f44f 7200 mov.w r2, #512 ; 0x200 802838a: 2100 movs r1, #0 802838c: 4854 ldr r0, [pc, #336] ; (80284e0 ) 802838e: f0a9 fe09 bl 80d1fa4 for(i = 0; i < 8; i++) 8028392: 2300 movs r3, #0 8028394: 63bb str r3, [r7, #56] ; 0x38 8028396: e01b b.n 80283d0 { res = f_write(&F, sector, 500, &fk); 8028398: f107 030c add.w r3, r7, #12 802839c: f44f 72fa mov.w r2, #500 ; 0x1f4 80283a0: 494f ldr r1, [pc, #316] ; (80284e0 ) 80283a2: 484e ldr r0, [pc, #312] ; (80284dc ) 80283a4: f0a3 f8dc bl 80cb560 80283a8: 4603 mov r3, r0 80283aa: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != 500)) 80283ae: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80283b2: 2b00 cmp r3, #0 80283b4: d103 bne.n 80283be 80283b6: 68fb ldr r3, [r7, #12] 80283b8: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 80283bc: d005 beq.n 80283ca { f_close(&F); 80283be: 4847 ldr r0, [pc, #284] ; (80284dc ) 80283c0: f0a3 fb72 bl 80cbaa8 return FR_DISK_ERR; 80283c4: 2301 movs r3, #1 80283c6: f000 bc90 b.w 8028cea for(i = 0; i < 8; i++) 80283ca: 6bbb ldr r3, [r7, #56] ; 0x38 80283cc: 3301 adds r3, #1 80283ce: 63bb str r3, [r7, #56] ; 0x38 80283d0: 6bbb ldr r3, [r7, #56] ; 0x38 80283d2: 2b07 cmp r3, #7 80283d4: d9e0 bls.n 8028398 } } memcpy(sector, Comment, sizeof(Comment)); 80283d6: 4b42 ldr r3, [pc, #264] ; (80284e0 ) 80283d8: 4a44 ldr r2, [pc, #272] ; (80284ec ) 80283da: 4614 mov r4, r2 80283dc: 461e mov r6, r3 80283de: f104 0e20 add.w lr, r4, #32 80283e2: 4635 mov r5, r6 80283e4: 4623 mov r3, r4 80283e6: 6818 ldr r0, [r3, #0] 80283e8: 6859 ldr r1, [r3, #4] 80283ea: 689a ldr r2, [r3, #8] 80283ec: 68db ldr r3, [r3, #12] 80283ee: c50f stmia r5!, {r0, r1, r2, r3} 80283f0: 3410 adds r4, #16 80283f2: 3610 adds r6, #16 80283f4: 4574 cmp r4, lr 80283f6: d1f4 bne.n 80283e2 80283f8: 4633 mov r3, r6 80283fa: 4622 mov r2, r4 80283fc: 6810 ldr r0, [r2, #0] 80283fe: 6851 ldr r1, [r2, #4] 8028400: c303 stmia r3!, {r0, r1} ifs = 96u + (NextIndexPoint * sizeof(Comment)); 8028402: 4b3b ldr r3, [pc, #236] ; (80284f0 ) 8028404: 681a ldr r2, [r3, #0] 8028406: 4613 mov r3, r2 8028408: 009b lsls r3, r3, #2 802840a: 4413 add r3, r2 802840c: 00db lsls r3, r3, #3 802840e: 3360 adds r3, #96 ; 0x60 8028410: f04f 0400 mov.w r4, #0 8028414: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 8028418: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 802841c: 482f ldr r0, [pc, #188] ; (80284dc ) 802841e: f0a3 fb63 bl 80cbae8 8028422: 4603 mov r3, r0 8028424: 2b00 cmp r3, #0 8028426: d127 bne.n 8028478 { res = f_write(&F, sector, sizeof(Comment), &fk); 8028428: f107 030c add.w r3, r7, #12 802842c: 2228 movs r2, #40 ; 0x28 802842e: 492c ldr r1, [pc, #176] ; (80284e0 ) 8028430: 482a ldr r0, [pc, #168] ; (80284dc ) 8028432: f0a3 f895 bl 80cb560 8028436: 4603 mov r3, r0 8028438: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != sizeof(Comment))) 802843c: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8028440: 2b00 cmp r3, #0 8028442: d102 bne.n 802844a 8028444: 68fb ldr r3, [r7, #12] 8028446: 2b28 cmp r3, #40 ; 0x28 8028448: d005 beq.n 8028456 { f_close(&F); 802844a: 4824 ldr r0, [pc, #144] ; (80284dc ) 802844c: f0a3 fb2c bl 80cbaa8 return FR_DISK_ERR; 8028450: 2301 movs r3, #1 8028452: f000 bc4a b.w 8028cea } ifs = 96u + (NUM_POINTS * sizeof(Comment)); 8028456: f649 43a0 movw r3, #40096 ; 0x9ca0 802845a: f04f 0400 mov.w r4, #0 802845e: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 8028462: bf00 nop f_close(&F); return FR_DISK_ERR; } ////////////////////////////////////////////////////////////////// if(f_lseek(&F, ifs) == FR_OK) 8028464: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8028468: 481c ldr r0, [pc, #112] ; (80284dc ) 802846a: f0a3 fb3d bl 80cbae8 802846e: 4603 mov r3, r0 8028470: 2b00 cmp r3, #0 8028472: f040 80fb bne.w 802866c 8028476: e00b b.n 8028490 f_close(&F); 8028478: 4818 ldr r0, [pc, #96] ; (80284dc ) 802847a: f0a3 fb15 bl 80cbaa8 return FR_DISK_ERR; 802847e: 2301 movs r3, #1 8028480: f000 bc33 b.w 8028cea f_close(&F); 8028484: 4815 ldr r0, [pc, #84] ; (80284dc ) 8028486: f0a3 fb0f bl 80cbaa8 return FR_DISK_ERR; 802848a: 2301 movs r3, #1 802848c: f000 bc2d b.w 8028cea { IP = (uint16_t) NextIndexPoint; 8028490: 4b17 ldr r3, [pc, #92] ; (80284f0 ) 8028492: 681b ldr r3, [r3, #0] 8028494: 85bb strh r3, [r7, #44] ; 0x2c sector[ePoint] = LO(IP); 8028496: 8dbb ldrh r3, [r7, #44] ; 0x2c 8028498: b2da uxtb r2, r3 802849a: 4b11 ldr r3, [pc, #68] ; (80284e0 ) 802849c: 701a strb r2, [r3, #0] sector[ePoint + 1] = HI(IP); 802849e: 8dbb ldrh r3, [r7, #44] ; 0x2c 80284a0: 0a1b lsrs r3, r3, #8 80284a2: b29b uxth r3, r3 80284a4: b2da uxtb r2, r3 80284a6: 4b0e ldr r3, [pc, #56] ; (80284e0 ) 80284a8: 705a strb r2, [r3, #1] sector[eMeas] = LO(IM); 80284aa: 8dfb ldrh r3, [r7, #46] ; 0x2e 80284ac: b2da uxtb r2, r3 80284ae: 4b0c ldr r3, [pc, #48] ; (80284e0 ) 80284b0: 709a strb r2, [r3, #2] sector[eMeas + 1] = HI(IM); 80284b2: 8dfb ldrh r3, [r7, #46] ; 0x2e 80284b4: 0a1b lsrs r3, r3, #8 80284b6: b29b uxth r3, r3 80284b8: b2da uxtb r2, r3 80284ba: 4b09 ldr r3, [pc, #36] ; (80284e0 ) 80284bc: 70da strb r2, [r3, #3] for(i = 0; i < 4; i++) 80284be: 2300 movs r3, #0 80284c0: 63bb str r3, [r7, #56] ; 0x38 80284c2: e041 b.n 8028548 80284c4: 2002169c .word 0x2002169c 80284c8: 20022c10 .word 0x20022c10 80284cc: 20022a0c .word 0x20022a0c 80284d0: 20021dd0 .word 0x20021dd0 80284d4: 20020dff .word 0x20020dff 80284d8: 20020dfe .word 0x20020dfe 80284dc: 20022e78 .word 0x20022e78 80284e0: 2007c000 .word 0x2007c000 80284e4: 20022360 .word 0x20022360 80284e8: 080d4eac .word 0x080d4eac 80284ec: 200226a0 .word 0x200226a0 80284f0: 20021fec .word 0x20021fec { sector[eAval + i] = FileData.Aval.ch[i]; 80284f4: 6bbb ldr r3, [r7, #56] ; 0x38 80284f6: 3304 adds r3, #4 80284f8: 499f ldr r1, [pc, #636] ; (8028778 ) 80284fa: 6bba ldr r2, [r7, #56] ; 0x38 80284fc: 440a add r2, r1 80284fe: 7812 ldrb r2, [r2, #0] 8028500: b2d1 uxtb r1, r2 8028502: 4a9e ldr r2, [pc, #632] ; (802877c ) 8028504: 54d1 strb r1, [r2, r3] sector[eVval + i] = FileData.Vval.ch[i]; 8028506: 6bbb ldr r3, [r7, #56] ; 0x38 8028508: 3308 adds r3, #8 802850a: 499b ldr r1, [pc, #620] ; (8028778 ) 802850c: 6bba ldr r2, [r7, #56] ; 0x38 802850e: 440a add r2, r1 8028510: 3204 adds r2, #4 8028512: 7812 ldrb r2, [r2, #0] 8028514: b2d1 uxtb r1, r2 8028516: 4a99 ldr r2, [pc, #612] ; (802877c ) 8028518: 54d1 strb r1, [r2, r3] sector[eSval + i] = FileData.Sval.ch[i]; 802851a: 6bbb ldr r3, [r7, #56] ; 0x38 802851c: 330c adds r3, #12 802851e: 4996 ldr r1, [pc, #600] ; (8028778 ) 8028520: 6bba ldr r2, [r7, #56] ; 0x38 8028522: 440a add r2, r1 8028524: 3208 adds r2, #8 8028526: 7812 ldrb r2, [r2, #0] 8028528: b2d1 uxtb r1, r2 802852a: 4a94 ldr r2, [pc, #592] ; (802877c ) 802852c: 54d1 strb r1, [r2, r3] sector[eFval + i] = FileData.Fval.ch[i]; 802852e: 6bbb ldr r3, [r7, #56] ; 0x38 8028530: 3317 adds r3, #23 8028532: 4991 ldr r1, [pc, #580] ; (8028778 ) 8028534: 6bba ldr r2, [r7, #56] ; 0x38 8028536: 440a add r2, r1 8028538: 320c adds r2, #12 802853a: 7812 ldrb r2, [r2, #0] 802853c: b2d1 uxtb r1, r2 802853e: 4a8f ldr r2, [pc, #572] ; (802877c ) 8028540: 54d1 strb r1, [r2, r3] for(i = 0; i < 4; i++) 8028542: 6bbb ldr r3, [r7, #56] ; 0x38 8028544: 3301 adds r3, #1 8028546: 63bb str r3, [r7, #56] ; 0x38 8028548: 6bbb ldr r3, [r7, #56] ; 0x38 802854a: 2b03 cmp r3, #3 802854c: d9d2 bls.n 80284f4 } sector[eAivs] = FileData.Aivs; 802854e: 4b8a ldr r3, [pc, #552] ; (8028778 ) 8028550: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8028554: b2da uxtb r2, r3 8028556: 4b89 ldr r3, [pc, #548] ; (802877c ) 8028558: 751a strb r2, [r3, #20] sector[eVivs] = FileData.Vivs; 802855a: 4b87 ldr r3, [pc, #540] ; (8028778 ) 802855c: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8028560: b2da uxtb r2, r3 8028562: 4b86 ldr r3, [pc, #536] ; (802877c ) 8028564: 755a strb r2, [r3, #21] sector[eSivs] = FileData.Sivs; 8028566: 4b84 ldr r3, [pc, #528] ; (8028778 ) 8028568: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 802856c: b2da uxtb r2, r3 802856e: 4b83 ldr r3, [pc, #524] ; (802877c ) 8028570: 759a strb r2, [r3, #22] Day = FileData.Date.Date; 8028572: 4b81 ldr r3, [pc, #516] ; (8028778 ) 8028574: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8028578: b2db uxtb r3, r3 802857a: 62bb str r3, [r7, #40] ; 0x28 Month = FileData.Date.Month; 802857c: 4b7e ldr r3, [pc, #504] ; (8028778 ) 802857e: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8028582: b2db uxtb r3, r3 8028584: 627b str r3, [r7, #36] ; 0x24 Year = FileData.Date.Year + 2000; 8028586: 4b7c ldr r3, [pc, #496] ; (8028778 ) 8028588: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 802858c: b2db uxtb r3, r3 802858e: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8028592: 623b str r3, [r7, #32] Hour = FileData.Time.Hours; 8028594: 4b78 ldr r3, [pc, #480] ; (8028778 ) 8028596: 7c1b ldrb r3, [r3, #16] 8028598: b2db uxtb r3, r3 802859a: 61fb str r3, [r7, #28] Min = FileData.Time.Minutes; 802859c: 4b76 ldr r3, [pc, #472] ; (8028778 ) 802859e: 7c5b ldrb r3, [r3, #17] 80285a0: b2db uxtb r3, r3 80285a2: 61bb str r3, [r7, #24] Sec = FileData.Time.Seconds; 80285a4: 4b74 ldr r3, [pc, #464] ; (8028778 ) 80285a6: 7c9b ldrb r3, [r3, #18] 80285a8: b2db uxtb r3, r3 80285aa: 617b str r3, [r7, #20] DateTime = ((Year - 1980) << 25) | (Month << 21) | (Day << 16) | (Hour << 11) | (Min << 5) | (Sec >> 1); 80285ac: 6a3b ldr r3, [r7, #32] 80285ae: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 80285b2: 065a lsls r2, r3, #25 80285b4: 6a7b ldr r3, [r7, #36] ; 0x24 80285b6: 055b lsls r3, r3, #21 80285b8: 431a orrs r2, r3 80285ba: 6abb ldr r3, [r7, #40] ; 0x28 80285bc: 041b lsls r3, r3, #16 80285be: 431a orrs r2, r3 80285c0: 69fb ldr r3, [r7, #28] 80285c2: 02db lsls r3, r3, #11 80285c4: 431a orrs r2, r3 80285c6: 69bb ldr r3, [r7, #24] 80285c8: 015b lsls r3, r3, #5 80285ca: 431a orrs r2, r3 80285cc: 697b ldr r3, [r7, #20] 80285ce: 085b lsrs r3, r3, #1 80285d0: 4313 orrs r3, r2 80285d2: 613b str r3, [r7, #16] sector[eDateTime] = (uint8_t) (DateTime & 0xff); 80285d4: 693b ldr r3, [r7, #16] 80285d6: b2da uxtb r2, r3 80285d8: 4b68 ldr r3, [pc, #416] ; (802877c ) 80285da: 741a strb r2, [r3, #16] sector[eDateTime + 1] = (uint8_t) ((DateTime >> 8) & 0xff); 80285dc: 693b ldr r3, [r7, #16] 80285de: 0a1b lsrs r3, r3, #8 80285e0: b2da uxtb r2, r3 80285e2: 4b66 ldr r3, [pc, #408] ; (802877c ) 80285e4: 745a strb r2, [r3, #17] sector[eDateTime + 2] = (uint8_t) ((DateTime >> 16) & 0xff); 80285e6: 693b ldr r3, [r7, #16] 80285e8: 0c1b lsrs r3, r3, #16 80285ea: b2da uxtb r2, r3 80285ec: 4b63 ldr r3, [pc, #396] ; (802877c ) 80285ee: 749a strb r2, [r3, #18] sector[eDateTime + 3] = (uint8_t) ((DateTime >> 24) & 0xff); 80285f0: 693b ldr r3, [r7, #16] 80285f2: 0e1b lsrs r3, r3, #24 80285f4: b2da uxtb r2, r3 80285f6: 4b61 ldr r3, [pc, #388] ; (802877c ) 80285f8: 74da strb r2, [r3, #19] sector[e13] = 0xD; 80285fa: 4b60 ldr r3, [pc, #384] ; (802877c ) 80285fc: 220d movs r2, #13 80285fe: 76da strb r2, [r3, #27] sector[e10] = 0xA; 8028600: 4b5e ldr r3, [pc, #376] ; (802877c ) 8028602: 220a movs r2, #10 8028604: 771a strb r2, [r3, #28] res = f_write(&F, sector, 29, &fk); 8028606: f107 030c add.w r3, r7, #12 802860a: 221d movs r2, #29 802860c: 495b ldr r1, [pc, #364] ; (802877c ) 802860e: 485c ldr r0, [pc, #368] ; (8028780 ) 8028610: f0a2 ffa6 bl 80cb560 8028614: 4603 mov r3, r0 8028616: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 29)) 802861a: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802861e: 2b00 cmp r3, #0 8028620: d11f bne.n 8028662 8028622: 68fb ldr r3, [r7, #12] 8028624: 2b1d cmp r3, #29 8028626: d11c bne.n 8028662 { f_close(&F); 8028628: 4855 ldr r0, [pc, #340] ; (8028780 ) 802862a: f0a3 fa3d bl 80cbaa8 if(IndexMeas[NextIndexPoint] < 999) 802862e: 4b55 ldr r3, [pc, #340] ; (8028784 ) 8028630: 681b ldr r3, [r3, #0] 8028632: 4a55 ldr r2, [pc, #340] ; (8028788 ) 8028634: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8028638: f240 32e6 movw r2, #998 ; 0x3e6 802863c: 4293 cmp r3, r2 802863e: d808 bhi.n 8028652 IndexMeas[NextIndexPoint]++; 8028640: 4b50 ldr r3, [pc, #320] ; (8028784 ) 8028642: 681b ldr r3, [r3, #0] 8028644: 4a50 ldr r2, [pc, #320] ; (8028788 ) 8028646: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802864a: 3201 adds r2, #1 802864c: 494e ldr r1, [pc, #312] ; (8028788 ) 802864e: f841 2023 str.w r2, [r1, r3, lsl #2] NextIndexMeas = IndexMeas[NextIndexPoint]; 8028652: 4b4c ldr r3, [pc, #304] ; (8028784 ) 8028654: 681b ldr r3, [r3, #0] 8028656: 4a4c ldr r2, [pc, #304] ; (8028788 ) 8028658: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802865c: 4a4b ldr r2, [pc, #300] ; (802878c ) 802865e: 6013 str r3, [r2, #0] 8028660: e341 b.n 8028ce6 NextIndexPoint++; else NextIndexPoint = 0;*/ } else { f_close(&F); 8028662: 4847 ldr r0, [pc, #284] ; (8028780 ) 8028664: f0a3 fa20 bl 80cbaa8 return FR_DISK_ERR; 8028668: 2301 movs r3, #1 802866a: e33e b.n 8028cea } } else { f_close(&F); 802866c: 4844 ldr r0, [pc, #272] ; (8028780 ) 802866e: f0a3 fa1b bl 80cbaa8 return FR_DISK_ERR; 8028672: 2301 movs r3, #1 8028674: e339 b.n 8028cea } } else if(NextIndexMeas == IndexMeas[NextIndexPoint]) 8028676: 4b43 ldr r3, [pc, #268] ; (8028784 ) 8028678: 681b ldr r3, [r3, #0] 802867a: 4a43 ldr r2, [pc, #268] ; (8028788 ) 802867c: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8028680: 4b42 ldr r3, [pc, #264] ; (802878c ) 8028682: 681b ldr r3, [r3, #0] 8028684: 429a cmp r2, r3 8028686: f040 816f bne.w 8028968 { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 802868a: f04f 0200 mov.w r2, #0 802868e: f04f 0300 mov.w r3, #0 8028692: 483b ldr r0, [pc, #236] ; (8028780 ) 8028694: f0a3 fa28 bl 80cbae8 8028698: 4603 mov r3, r0 802869a: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 802869e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80286a2: 2b00 cmp r3, #0 80286a4: d163 bne.n 802876e { res = f_read(&F, sector, 6, &fk); 80286a6: f107 030c add.w r3, r7, #12 80286aa: 2206 movs r2, #6 80286ac: 4933 ldr r1, [pc, #204] ; (802877c ) 80286ae: 4834 ldr r0, [pc, #208] ; (8028780 ) 80286b0: f0a2 fe13 bl 80cb2da 80286b4: 4603 mov r3, r0 80286b6: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 6)) 80286ba: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80286be: 2b00 cmp r3, #0 80286c0: d150 bne.n 8028764 80286c2: 68fb ldr r3, [r7, #12] 80286c4: 2b06 cmp r3, #6 80286c6: d14d bne.n 8028764 { sector[6] = '\0'; 80286c8: 4b2c ldr r3, [pc, #176] ; (802877c ) 80286ca: 2200 movs r2, #0 80286cc: 719a strb r2, [r3, #6] if(!strcmp((char *) sector, "Extend")) 80286ce: 4930 ldr r1, [pc, #192] ; (8028790 ) 80286d0: 482a ldr r0, [pc, #168] ; (802877c ) 80286d2: f7f7 fe15 bl 8020300 80286d6: 4603 mov r3, r0 80286d8: 2b00 cmp r3, #0 80286da: d15d bne.n 8028798 { memcpy(sector, Comment, sizeof(Comment)); 80286dc: 4b27 ldr r3, [pc, #156] ; (802877c ) 80286de: 4a2d ldr r2, [pc, #180] ; (8028794 ) 80286e0: 4614 mov r4, r2 80286e2: 461e mov r6, r3 80286e4: f104 0e20 add.w lr, r4, #32 80286e8: 4635 mov r5, r6 80286ea: 4623 mov r3, r4 80286ec: 6818 ldr r0, [r3, #0] 80286ee: 6859 ldr r1, [r3, #4] 80286f0: 689a ldr r2, [r3, #8] 80286f2: 68db ldr r3, [r3, #12] 80286f4: c50f stmia r5!, {r0, r1, r2, r3} 80286f6: 3410 adds r4, #16 80286f8: 3610 adds r6, #16 80286fa: 4574 cmp r4, lr 80286fc: d1f4 bne.n 80286e8 80286fe: 4633 mov r3, r6 8028700: 4622 mov r2, r4 8028702: 6810 ldr r0, [r2, #0] 8028704: 6851 ldr r1, [r2, #4] 8028706: c303 stmia r3!, {r0, r1} ifs = 96u + (NextIndexPoint * sizeof(Comment)); 8028708: 4b1e ldr r3, [pc, #120] ; (8028784 ) 802870a: 681a ldr r2, [r3, #0] 802870c: 4613 mov r3, r2 802870e: 009b lsls r3, r3, #2 8028710: 4413 add r3, r2 8028712: 00db lsls r3, r3, #3 8028714: 3360 adds r3, #96 ; 0x60 8028716: f04f 0400 mov.w r4, #0 802871a: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 802871e: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8028722: 4817 ldr r0, [pc, #92] ; (8028780 ) 8028724: f0a3 f9e0 bl 80cbae8 8028728: 4603 mov r3, r0 802872a: 2b00 cmp r3, #0 802872c: d115 bne.n 802875a { res = f_write(&F, sector, sizeof(Comment), &fk); 802872e: f107 030c add.w r3, r7, #12 8028732: 2228 movs r2, #40 ; 0x28 8028734: 4911 ldr r1, [pc, #68] ; (802877c ) 8028736: 4812 ldr r0, [pc, #72] ; (8028780 ) 8028738: f0a2 ff12 bl 80cb560 802873c: 4603 mov r3, r0 802873e: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != sizeof(Comment))) 8028742: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8028746: 2b00 cmp r3, #0 8028748: d102 bne.n 8028750 802874a: 68fb ldr r3, [r7, #12] 802874c: 2b28 cmp r3, #40 ; 0x28 802874e: d023 beq.n 8028798 { f_close(&F); 8028750: 480b ldr r0, [pc, #44] ; (8028780 ) 8028752: f0a3 f9a9 bl 80cbaa8 return FR_DISK_ERR; 8028756: 2301 movs r3, #1 8028758: e2c7 b.n 8028cea } } else { f_close(&F); 802875a: 4809 ldr r0, [pc, #36] ; (8028780 ) 802875c: f0a3 f9a4 bl 80cbaa8 return FR_DISK_ERR; 8028760: 2301 movs r3, #1 8028762: e2c2 b.n 8028cea } } } else { f_close(&F); 8028764: 4806 ldr r0, [pc, #24] ; (8028780 ) 8028766: f0a3 f99f bl 80cbaa8 return FR_DISK_ERR; 802876a: 2301 movs r3, #1 802876c: e2bd b.n 8028cea } } else { f_close(&F); 802876e: 4804 ldr r0, [pc, #16] ; (8028780 ) 8028770: f0a3 f99a bl 80cbaa8 return FR_DISK_ERR; 8028774: 2301 movs r3, #1 8028776: e2b8 b.n 8028cea 8028778: 200229dc .word 0x200229dc 802877c: 2007c000 .word 0x2007c000 8028780: 20022e78 .word 0x20022e78 8028784: 20021fec .word 0x20021fec 8028788: 20022ef8 .word 0x20022ef8 802878c: 20022360 .word 0x20022360 8028790: 080d4eac .word 0x080d4eac 8028794: 200226a0 .word 0x200226a0 if(!strcmp((char *) sector, "Extend")) 8028798: bf00 nop } /////////////////////////////////////////////////////////////////////////////// if(f_lseek(&F, f_size(&F)) == FR_OK) 802879a: 4baf ldr r3, [pc, #700] ; (8028a58 ) 802879c: e9d3 3404 ldrd r3, r4, [r3, #16] 80287a0: 461a mov r2, r3 80287a2: 4623 mov r3, r4 80287a4: 48ac ldr r0, [pc, #688] ; (8028a58 ) 80287a6: f0a3 f99f bl 80cbae8 80287aa: 4603 mov r3, r0 80287ac: 2b00 cmp r3, #0 80287ae: f040 80d6 bne.w 802895e { IP = (uint16_t) NextIndexPoint; 80287b2: 4baa ldr r3, [pc, #680] ; (8028a5c ) 80287b4: 681b ldr r3, [r3, #0] 80287b6: 85bb strh r3, [r7, #44] ; 0x2c sector[ePoint] = LO(IP); 80287b8: 8dbb ldrh r3, [r7, #44] ; 0x2c 80287ba: b2da uxtb r2, r3 80287bc: 4ba8 ldr r3, [pc, #672] ; (8028a60 ) 80287be: 701a strb r2, [r3, #0] sector[ePoint + 1] = HI(IP); 80287c0: 8dbb ldrh r3, [r7, #44] ; 0x2c 80287c2: 0a1b lsrs r3, r3, #8 80287c4: b29b uxth r3, r3 80287c6: b2da uxtb r2, r3 80287c8: 4ba5 ldr r3, [pc, #660] ; (8028a60 ) 80287ca: 705a strb r2, [r3, #1] sector[eMeas] = LO(IM); 80287cc: 8dfb ldrh r3, [r7, #46] ; 0x2e 80287ce: b2da uxtb r2, r3 80287d0: 4ba3 ldr r3, [pc, #652] ; (8028a60 ) 80287d2: 709a strb r2, [r3, #2] sector[eMeas + 1] = HI(IM); 80287d4: 8dfb ldrh r3, [r7, #46] ; 0x2e 80287d6: 0a1b lsrs r3, r3, #8 80287d8: b29b uxth r3, r3 80287da: b2da uxtb r2, r3 80287dc: 4ba0 ldr r3, [pc, #640] ; (8028a60 ) 80287de: 70da strb r2, [r3, #3] for(i = 0; i < 4; i++) 80287e0: 2300 movs r3, #0 80287e2: 63bb str r3, [r7, #56] ; 0x38 80287e4: e029 b.n 802883a { sector[eAval + i] = FileData.Aval.ch[i]; 80287e6: 6bbb ldr r3, [r7, #56] ; 0x38 80287e8: 3304 adds r3, #4 80287ea: 499e ldr r1, [pc, #632] ; (8028a64 ) 80287ec: 6bba ldr r2, [r7, #56] ; 0x38 80287ee: 440a add r2, r1 80287f0: 7812 ldrb r2, [r2, #0] 80287f2: b2d1 uxtb r1, r2 80287f4: 4a9a ldr r2, [pc, #616] ; (8028a60 ) 80287f6: 54d1 strb r1, [r2, r3] sector[eVval + i] = FileData.Vval.ch[i]; 80287f8: 6bbb ldr r3, [r7, #56] ; 0x38 80287fa: 3308 adds r3, #8 80287fc: 4999 ldr r1, [pc, #612] ; (8028a64 ) 80287fe: 6bba ldr r2, [r7, #56] ; 0x38 8028800: 440a add r2, r1 8028802: 3204 adds r2, #4 8028804: 7812 ldrb r2, [r2, #0] 8028806: b2d1 uxtb r1, r2 8028808: 4a95 ldr r2, [pc, #596] ; (8028a60 ) 802880a: 54d1 strb r1, [r2, r3] sector[eSval + i] = FileData.Sval.ch[i]; 802880c: 6bbb ldr r3, [r7, #56] ; 0x38 802880e: 330c adds r3, #12 8028810: 4994 ldr r1, [pc, #592] ; (8028a64 ) 8028812: 6bba ldr r2, [r7, #56] ; 0x38 8028814: 440a add r2, r1 8028816: 3208 adds r2, #8 8028818: 7812 ldrb r2, [r2, #0] 802881a: b2d1 uxtb r1, r2 802881c: 4a90 ldr r2, [pc, #576] ; (8028a60 ) 802881e: 54d1 strb r1, [r2, r3] sector[eFval + i] = FileData.Fval.ch[i]; 8028820: 6bbb ldr r3, [r7, #56] ; 0x38 8028822: 3317 adds r3, #23 8028824: 498f ldr r1, [pc, #572] ; (8028a64 ) 8028826: 6bba ldr r2, [r7, #56] ; 0x38 8028828: 440a add r2, r1 802882a: 320c adds r2, #12 802882c: 7812 ldrb r2, [r2, #0] 802882e: b2d1 uxtb r1, r2 8028830: 4a8b ldr r2, [pc, #556] ; (8028a60 ) 8028832: 54d1 strb r1, [r2, r3] for(i = 0; i < 4; i++) 8028834: 6bbb ldr r3, [r7, #56] ; 0x38 8028836: 3301 adds r3, #1 8028838: 63bb str r3, [r7, #56] ; 0x38 802883a: 6bbb ldr r3, [r7, #56] ; 0x38 802883c: 2b03 cmp r3, #3 802883e: d9d2 bls.n 80287e6 } sector[eAivs] = FileData.Aivs; 8028840: 4b88 ldr r3, [pc, #544] ; (8028a64 ) 8028842: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8028846: b2da uxtb r2, r3 8028848: 4b85 ldr r3, [pc, #532] ; (8028a60 ) 802884a: 751a strb r2, [r3, #20] sector[eVivs] = FileData.Vivs; 802884c: 4b85 ldr r3, [pc, #532] ; (8028a64 ) 802884e: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8028852: b2da uxtb r2, r3 8028854: 4b82 ldr r3, [pc, #520] ; (8028a60 ) 8028856: 755a strb r2, [r3, #21] sector[eSivs] = FileData.Sivs; 8028858: 4b82 ldr r3, [pc, #520] ; (8028a64 ) 802885a: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 802885e: b2da uxtb r2, r3 8028860: 4b7f ldr r3, [pc, #508] ; (8028a60 ) 8028862: 759a strb r2, [r3, #22] Day = FileData.Date.Date; 8028864: 4b7f ldr r3, [pc, #508] ; (8028a64 ) 8028866: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 802886a: b2db uxtb r3, r3 802886c: 62bb str r3, [r7, #40] ; 0x28 Month = FileData.Date.Month; 802886e: 4b7d ldr r3, [pc, #500] ; (8028a64 ) 8028870: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8028874: b2db uxtb r3, r3 8028876: 627b str r3, [r7, #36] ; 0x24 Year = FileData.Date.Year + 2000; 8028878: 4b7a ldr r3, [pc, #488] ; (8028a64 ) 802887a: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 802887e: b2db uxtb r3, r3 8028880: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8028884: 623b str r3, [r7, #32] Hour = FileData.Time.Hours; 8028886: 4b77 ldr r3, [pc, #476] ; (8028a64 ) 8028888: 7c1b ldrb r3, [r3, #16] 802888a: b2db uxtb r3, r3 802888c: 61fb str r3, [r7, #28] Min = FileData.Time.Minutes; 802888e: 4b75 ldr r3, [pc, #468] ; (8028a64 ) 8028890: 7c5b ldrb r3, [r3, #17] 8028892: b2db uxtb r3, r3 8028894: 61bb str r3, [r7, #24] Sec = FileData.Time.Seconds; 8028896: 4b73 ldr r3, [pc, #460] ; (8028a64 ) 8028898: 7c9b ldrb r3, [r3, #18] 802889a: b2db uxtb r3, r3 802889c: 617b str r3, [r7, #20] DateTime = ((Year - 1980) << 25) | (Month << 21) | (Day << 16) | (Hour << 11) | (Min << 5) | (Sec >> 1); 802889e: 6a3b ldr r3, [r7, #32] 80288a0: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 80288a4: 065a lsls r2, r3, #25 80288a6: 6a7b ldr r3, [r7, #36] ; 0x24 80288a8: 055b lsls r3, r3, #21 80288aa: 431a orrs r2, r3 80288ac: 6abb ldr r3, [r7, #40] ; 0x28 80288ae: 041b lsls r3, r3, #16 80288b0: 431a orrs r2, r3 80288b2: 69fb ldr r3, [r7, #28] 80288b4: 02db lsls r3, r3, #11 80288b6: 431a orrs r2, r3 80288b8: 69bb ldr r3, [r7, #24] 80288ba: 015b lsls r3, r3, #5 80288bc: 431a orrs r2, r3 80288be: 697b ldr r3, [r7, #20] 80288c0: 085b lsrs r3, r3, #1 80288c2: 4313 orrs r3, r2 80288c4: 613b str r3, [r7, #16] sector[eDateTime] = (uint8_t) (DateTime & 0xff); 80288c6: 693b ldr r3, [r7, #16] 80288c8: b2da uxtb r2, r3 80288ca: 4b65 ldr r3, [pc, #404] ; (8028a60 ) 80288cc: 741a strb r2, [r3, #16] sector[eDateTime + 1] = (uint8_t) ((DateTime >> 8) & 0xff); 80288ce: 693b ldr r3, [r7, #16] 80288d0: 0a1b lsrs r3, r3, #8 80288d2: b2da uxtb r2, r3 80288d4: 4b62 ldr r3, [pc, #392] ; (8028a60 ) 80288d6: 745a strb r2, [r3, #17] sector[eDateTime + 2] = (uint8_t) ((DateTime >> 16) & 0xff); 80288d8: 693b ldr r3, [r7, #16] 80288da: 0c1b lsrs r3, r3, #16 80288dc: b2da uxtb r2, r3 80288de: 4b60 ldr r3, [pc, #384] ; (8028a60 ) 80288e0: 749a strb r2, [r3, #18] sector[eDateTime + 3] = (uint8_t) ((DateTime >> 24) & 0xff); 80288e2: 693b ldr r3, [r7, #16] 80288e4: 0e1b lsrs r3, r3, #24 80288e6: b2da uxtb r2, r3 80288e8: 4b5d ldr r3, [pc, #372] ; (8028a60 ) 80288ea: 74da strb r2, [r3, #19] sector[e13] = 0xD; 80288ec: 4b5c ldr r3, [pc, #368] ; (8028a60 ) 80288ee: 220d movs r2, #13 80288f0: 76da strb r2, [r3, #27] sector[e10] = 0xA; 80288f2: 4b5b ldr r3, [pc, #364] ; (8028a60 ) 80288f4: 220a movs r2, #10 80288f6: 771a strb r2, [r3, #28] res = f_write(&F, sector, 29, &fk); 80288f8: f107 030c add.w r3, r7, #12 80288fc: 221d movs r2, #29 80288fe: 4958 ldr r1, [pc, #352] ; (8028a60 ) 8028900: 4855 ldr r0, [pc, #340] ; (8028a58 ) 8028902: f0a2 fe2d bl 80cb560 8028906: 4603 mov r3, r0 8028908: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 29)) 802890c: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8028910: 2b00 cmp r3, #0 8028912: d11f bne.n 8028954 8028914: 68fb ldr r3, [r7, #12] 8028916: 2b1d cmp r3, #29 8028918: d11c bne.n 8028954 { f_close(&F); 802891a: 484f ldr r0, [pc, #316] ; (8028a58 ) 802891c: f0a3 f8c4 bl 80cbaa8 if(IndexMeas[NextIndexPoint] < 999) 8028920: 4b4e ldr r3, [pc, #312] ; (8028a5c ) 8028922: 681b ldr r3, [r3, #0] 8028924: 4a50 ldr r2, [pc, #320] ; (8028a68 ) 8028926: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802892a: f240 32e6 movw r2, #998 ; 0x3e6 802892e: 4293 cmp r3, r2 8028930: d808 bhi.n 8028944 IndexMeas[NextIndexPoint]++; 8028932: 4b4a ldr r3, [pc, #296] ; (8028a5c ) 8028934: 681b ldr r3, [r3, #0] 8028936: 4a4c ldr r2, [pc, #304] ; (8028a68 ) 8028938: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802893c: 3201 adds r2, #1 802893e: 494a ldr r1, [pc, #296] ; (8028a68 ) 8028940: f841 2023 str.w r2, [r1, r3, lsl #2] NextIndexMeas = IndexMeas[NextIndexPoint]; 8028944: 4b45 ldr r3, [pc, #276] ; (8028a5c ) 8028946: 681b ldr r3, [r3, #0] 8028948: 4a47 ldr r2, [pc, #284] ; (8028a68 ) 802894a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802894e: 4a47 ldr r2, [pc, #284] ; (8028a6c ) 8028950: 6013 str r3, [r2, #0] 8028952: e1c8 b.n 8028ce6 NextIndexPoint++; else NextIndexPoint = 0;*/ } else { f_close(&F); 8028954: 4840 ldr r0, [pc, #256] ; (8028a58 ) 8028956: f0a3 f8a7 bl 80cbaa8 return FR_DISK_ERR; 802895a: 2301 movs r3, #1 802895c: e1c5 b.n 8028cea } } else { f_close(&F); 802895e: 483e ldr r0, [pc, #248] ; (8028a58 ) 8028960: f0a3 f8a2 bl 80cbaa8 return FR_DISK_ERR; 8028964: 2301 movs r3, #1 8028966: e1c0 b.n 8028cea } } else { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 8028968: f04f 0200 mov.w r2, #0 802896c: f04f 0300 mov.w r3, #0 8028970: 4839 ldr r0, [pc, #228] ; (8028a58 ) 8028972: f0a3 f8b9 bl 80cbae8 8028976: 4603 mov r3, r0 8028978: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 802897c: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8028980: 2b00 cmp r3, #0 8028982: f040 8083 bne.w 8028a8c { res = f_read(&F, sector, 6, &fk); 8028986: f107 030c add.w r3, r7, #12 802898a: 2206 movs r2, #6 802898c: 4934 ldr r1, [pc, #208] ; (8028a60 ) 802898e: 4832 ldr r0, [pc, #200] ; (8028a58 ) 8028990: f0a2 fca3 bl 80cb2da 8028994: 4603 mov r3, r0 8028996: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 6)) 802899a: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802899e: 2b00 cmp r3, #0 80289a0: d16f bne.n 8028a82 80289a2: 68fb ldr r3, [r7, #12] 80289a4: 2b06 cmp r3, #6 80289a6: d16c bne.n 8028a82 { sector[6] = '\0'; 80289a8: 4b2d ldr r3, [pc, #180] ; (8028a60 ) 80289aa: 2200 movs r2, #0 80289ac: 719a strb r2, [r3, #6] if(strcmp((char *) sector, "Extend")) 80289ae: 4930 ldr r1, [pc, #192] ; (8028a70 ) 80289b0: 482b ldr r0, [pc, #172] ; (8028a60 ) 80289b2: f7f7 fca5 bl 8020300 80289b6: 4603 mov r3, r0 80289b8: 2b00 cmp r3, #0 80289ba: d006 beq.n 80289ca { //Ñòàðàÿ âåðñèÿ ôàéëà ifs = 0; 80289bc: f04f 0300 mov.w r3, #0 80289c0: f04f 0400 mov.w r4, #0 80289c4: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 80289c8: e065 b.n 8028a96 } else { //Ðàñøèðåííàÿ âåðñèÿ ôàéëà ñ êîììåíòàðèÿìè memcpy(sector, Comment, sizeof(Comment)); 80289ca: 4b25 ldr r3, [pc, #148] ; (8028a60 ) 80289cc: 4a29 ldr r2, [pc, #164] ; (8028a74 ) 80289ce: 4614 mov r4, r2 80289d0: 461e mov r6, r3 80289d2: f104 0e20 add.w lr, r4, #32 80289d6: 4635 mov r5, r6 80289d8: 4623 mov r3, r4 80289da: 6818 ldr r0, [r3, #0] 80289dc: 6859 ldr r1, [r3, #4] 80289de: 689a ldr r2, [r3, #8] 80289e0: 68db ldr r3, [r3, #12] 80289e2: c50f stmia r5!, {r0, r1, r2, r3} 80289e4: 3410 adds r4, #16 80289e6: 3610 adds r6, #16 80289e8: 4574 cmp r4, lr 80289ea: d1f4 bne.n 80289d6 80289ec: 4633 mov r3, r6 80289ee: 4622 mov r2, r4 80289f0: 6810 ldr r0, [r2, #0] 80289f2: 6851 ldr r1, [r2, #4] 80289f4: c303 stmia r3!, {r0, r1} ifs = 96u + (NextIndexPoint * sizeof(Comment)); 80289f6: 4b19 ldr r3, [pc, #100] ; (8028a5c ) 80289f8: 681a ldr r2, [r3, #0] 80289fa: 4613 mov r3, r2 80289fc: 009b lsls r3, r3, #2 80289fe: 4413 add r3, r2 8028a00: 00db lsls r3, r3, #3 8028a02: 3360 adds r3, #96 ; 0x60 8028a04: f04f 0400 mov.w r4, #0 8028a08: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 8028a0c: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8028a10: 4811 ldr r0, [pc, #68] ; (8028a58 ) 8028a12: f0a3 f869 bl 80cbae8 8028a16: 4603 mov r3, r0 8028a18: 2b00 cmp r3, #0 8028a1a: d12d bne.n 8028a78 { res = f_write(&F, sector, sizeof(Comment), &fk); 8028a1c: f107 030c add.w r3, r7, #12 8028a20: 2228 movs r2, #40 ; 0x28 8028a22: 490f ldr r1, [pc, #60] ; (8028a60 ) 8028a24: 480c ldr r0, [pc, #48] ; (8028a58 ) 8028a26: f0a2 fd9b bl 80cb560 8028a2a: 4603 mov r3, r0 8028a2c: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != sizeof(Comment))) 8028a30: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8028a34: 2b00 cmp r3, #0 8028a36: d102 bne.n 8028a3e 8028a38: 68fb ldr r3, [r7, #12] 8028a3a: 2b28 cmp r3, #40 ; 0x28 8028a3c: d004 beq.n 8028a48 { f_close(&F); 8028a3e: 4806 ldr r0, [pc, #24] ; (8028a58 ) 8028a40: f0a3 f832 bl 80cbaa8 return FR_DISK_ERR; 8028a44: 2301 movs r3, #1 8028a46: e150 b.n 8028cea } ifs = 96u + (NUM_POINTS * sizeof(Comment)); 8028a48: f649 43a0 movw r3, #40096 ; 0x9ca0 8028a4c: f04f 0400 mov.w r4, #0 8028a50: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 8028a54: e01f b.n 8028a96 8028a56: bf00 nop 8028a58: 20022e78 .word 0x20022e78 8028a5c: 20021fec .word 0x20021fec 8028a60: 2007c000 .word 0x2007c000 8028a64: 200229dc .word 0x200229dc 8028a68: 20022ef8 .word 0x20022ef8 8028a6c: 20022360 .word 0x20022360 8028a70: 080d4eac .word 0x080d4eac 8028a74: 200226a0 .word 0x200226a0 } else { f_close(&F); 8028a78: 489e ldr r0, [pc, #632] ; (8028cf4 ) 8028a7a: f0a3 f815 bl 80cbaa8 return FR_DISK_ERR; 8028a7e: 2301 movs r3, #1 8028a80: e133 b.n 8028cea } } else { f_close(&F); 8028a82: 489c ldr r0, [pc, #624] ; (8028cf4 ) 8028a84: f0a3 f810 bl 80cbaa8 return FR_DISK_ERR; 8028a88: 2301 movs r3, #1 8028a8a: e12e b.n 8028cea } } else { f_close(&F); 8028a8c: 4899 ldr r0, [pc, #612] ; (8028cf4 ) 8028a8e: f0a3 f80b bl 80cbaa8 return FR_DISK_ERR; 8028a92: 2301 movs r3, #1 8028a94: e129 b.n 8028cea } /////////////////////////////////////////////////////////////////////////////// while(ifs < f_size(&F)) 8028a96: e11c b.n 8028cd2 { if(f_lseek(&F, ifs) == FR_OK) 8028a98: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8028a9c: 4895 ldr r0, [pc, #596] ; (8028cf4 ) 8028a9e: f0a3 f823 bl 80cbae8 8028aa2: 4603 mov r3, r0 8028aa4: 2b00 cmp r3, #0 8028aa6: f040 810f bne.w 8028cc8 { res = f_read(&F, sector, 29, &fk); 8028aaa: f107 030c add.w r3, r7, #12 8028aae: 221d movs r2, #29 8028ab0: 4991 ldr r1, [pc, #580] ; (8028cf8 ) 8028ab2: 4890 ldr r0, [pc, #576] ; (8028cf4 ) 8028ab4: f0a2 fc11 bl 80cb2da 8028ab8: 4603 mov r3, r0 8028aba: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 29)) 8028abe: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8028ac2: 2b00 cmp r3, #0 8028ac4: f040 80fb bne.w 8028cbe 8028ac8: 68fb ldr r3, [r7, #12] 8028aca: 2b1d cmp r3, #29 8028acc: f040 80f7 bne.w 8028cbe { if((sector[e13] == 0xD) && (sector[e10] == 0xA)) 8028ad0: 4b89 ldr r3, [pc, #548] ; (8028cf8 ) 8028ad2: 7edb ldrb r3, [r3, #27] 8028ad4: 2b0d cmp r3, #13 8028ad6: f040 80e4 bne.w 8028ca2 8028ada: 4b87 ldr r3, [pc, #540] ; (8028cf8 ) 8028adc: 7f1b ldrb r3, [r3, #28] 8028ade: 2b0a cmp r3, #10 8028ae0: f040 80df bne.w 8028ca2 { IP = sector[ePoint + 1]; 8028ae4: 4b84 ldr r3, [pc, #528] ; (8028cf8 ) 8028ae6: 785b ldrb r3, [r3, #1] 8028ae8: 85bb strh r3, [r7, #44] ; 0x2c IP = (IP << 8) | sector[ePoint]; 8028aea: 8dbb ldrh r3, [r7, #44] ; 0x2c 8028aec: 021b lsls r3, r3, #8 8028aee: b21a sxth r2, r3 8028af0: 4b81 ldr r3, [pc, #516] ; (8028cf8 ) 8028af2: 781b ldrb r3, [r3, #0] 8028af4: b21b sxth r3, r3 8028af6: 4313 orrs r3, r2 8028af8: b21b sxth r3, r3 8028afa: 85bb strh r3, [r7, #44] ; 0x2c if(NextIndexPoint == IP) 8028afc: 8dba ldrh r2, [r7, #44] ; 0x2c 8028afe: 4b7f ldr r3, [pc, #508] ; (8028cfc ) 8028b00: 681b ldr r3, [r3, #0] 8028b02: 429a cmp r2, r3 8028b04: f040 80d2 bne.w 8028cac { IM = sector[eMeas + 1]; 8028b08: 4b7b ldr r3, [pc, #492] ; (8028cf8 ) 8028b0a: 78db ldrb r3, [r3, #3] 8028b0c: 85fb strh r3, [r7, #46] ; 0x2e IM = (IM << 8) | sector[eMeas]; 8028b0e: 8dfb ldrh r3, [r7, #46] ; 0x2e 8028b10: 021b lsls r3, r3, #8 8028b12: b21a sxth r2, r3 8028b14: 4b78 ldr r3, [pc, #480] ; (8028cf8 ) 8028b16: 789b ldrb r3, [r3, #2] 8028b18: b21b sxth r3, r3 8028b1a: 4313 orrs r3, r2 8028b1c: b21b sxth r3, r3 8028b1e: 85fb strh r3, [r7, #46] ; 0x2e if(NextIndexMeas == IM) 8028b20: 8dfa ldrh r2, [r7, #46] ; 0x2e 8028b22: 4b77 ldr r3, [pc, #476] ; (8028d00 ) 8028b24: 681b ldr r3, [r3, #0] 8028b26: 429a cmp r2, r3 8028b28: f040 80c0 bne.w 8028cac { for(i = 0; i < 4; i++) 8028b2c: 2300 movs r3, #0 8028b2e: 63bb str r3, [r7, #56] ; 0x38 8028b30: e029 b.n 8028b86 { sector[eAval + i] = FileData.Aval.ch[i]; 8028b32: 6bbb ldr r3, [r7, #56] ; 0x38 8028b34: 3304 adds r3, #4 8028b36: 4973 ldr r1, [pc, #460] ; (8028d04 ) 8028b38: 6bba ldr r2, [r7, #56] ; 0x38 8028b3a: 440a add r2, r1 8028b3c: 7812 ldrb r2, [r2, #0] 8028b3e: b2d1 uxtb r1, r2 8028b40: 4a6d ldr r2, [pc, #436] ; (8028cf8 ) 8028b42: 54d1 strb r1, [r2, r3] sector[eVval + i] = FileData.Vval.ch[i]; 8028b44: 6bbb ldr r3, [r7, #56] ; 0x38 8028b46: 3308 adds r3, #8 8028b48: 496e ldr r1, [pc, #440] ; (8028d04 ) 8028b4a: 6bba ldr r2, [r7, #56] ; 0x38 8028b4c: 440a add r2, r1 8028b4e: 3204 adds r2, #4 8028b50: 7812 ldrb r2, [r2, #0] 8028b52: b2d1 uxtb r1, r2 8028b54: 4a68 ldr r2, [pc, #416] ; (8028cf8 ) 8028b56: 54d1 strb r1, [r2, r3] sector[eSval + i] = FileData.Sval.ch[i]; 8028b58: 6bbb ldr r3, [r7, #56] ; 0x38 8028b5a: 330c adds r3, #12 8028b5c: 4969 ldr r1, [pc, #420] ; (8028d04 ) 8028b5e: 6bba ldr r2, [r7, #56] ; 0x38 8028b60: 440a add r2, r1 8028b62: 3208 adds r2, #8 8028b64: 7812 ldrb r2, [r2, #0] 8028b66: b2d1 uxtb r1, r2 8028b68: 4a63 ldr r2, [pc, #396] ; (8028cf8 ) 8028b6a: 54d1 strb r1, [r2, r3] sector[eFval + i] = FileData.Fval.ch[i]; 8028b6c: 6bbb ldr r3, [r7, #56] ; 0x38 8028b6e: 3317 adds r3, #23 8028b70: 4964 ldr r1, [pc, #400] ; (8028d04 ) 8028b72: 6bba ldr r2, [r7, #56] ; 0x38 8028b74: 440a add r2, r1 8028b76: 320c adds r2, #12 8028b78: 7812 ldrb r2, [r2, #0] 8028b7a: b2d1 uxtb r1, r2 8028b7c: 4a5e ldr r2, [pc, #376] ; (8028cf8 ) 8028b7e: 54d1 strb r1, [r2, r3] for(i = 0; i < 4; i++) 8028b80: 6bbb ldr r3, [r7, #56] ; 0x38 8028b82: 3301 adds r3, #1 8028b84: 63bb str r3, [r7, #56] ; 0x38 8028b86: 6bbb ldr r3, [r7, #56] ; 0x38 8028b88: 2b03 cmp r3, #3 8028b8a: d9d2 bls.n 8028b32 } sector[eAivs] = FileData.Aivs; 8028b8c: 4b5d ldr r3, [pc, #372] ; (8028d04 ) 8028b8e: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8028b92: b2da uxtb r2, r3 8028b94: 4b58 ldr r3, [pc, #352] ; (8028cf8 ) 8028b96: 751a strb r2, [r3, #20] sector[eVivs] = FileData.Vivs; 8028b98: 4b5a ldr r3, [pc, #360] ; (8028d04 ) 8028b9a: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8028b9e: b2da uxtb r2, r3 8028ba0: 4b55 ldr r3, [pc, #340] ; (8028cf8 ) 8028ba2: 755a strb r2, [r3, #21] sector[eSivs] = FileData.Sivs; 8028ba4: 4b57 ldr r3, [pc, #348] ; (8028d04 ) 8028ba6: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 8028baa: b2da uxtb r2, r3 8028bac: 4b52 ldr r3, [pc, #328] ; (8028cf8 ) 8028bae: 759a strb r2, [r3, #22] Day = FileData.Date.Date; 8028bb0: 4b54 ldr r3, [pc, #336] ; (8028d04 ) 8028bb2: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8028bb6: b2db uxtb r3, r3 8028bb8: 62bb str r3, [r7, #40] ; 0x28 Month = FileData.Date.Month; 8028bba: 4b52 ldr r3, [pc, #328] ; (8028d04 ) 8028bbc: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8028bc0: b2db uxtb r3, r3 8028bc2: 627b str r3, [r7, #36] ; 0x24 Year = FileData.Date.Year + 2000; 8028bc4: 4b4f ldr r3, [pc, #316] ; (8028d04 ) 8028bc6: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8028bca: b2db uxtb r3, r3 8028bcc: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8028bd0: 623b str r3, [r7, #32] Hour = FileData.Time.Hours; 8028bd2: 4b4c ldr r3, [pc, #304] ; (8028d04 ) 8028bd4: 7c1b ldrb r3, [r3, #16] 8028bd6: b2db uxtb r3, r3 8028bd8: 61fb str r3, [r7, #28] Min = FileData.Time.Minutes; 8028bda: 4b4a ldr r3, [pc, #296] ; (8028d04 ) 8028bdc: 7c5b ldrb r3, [r3, #17] 8028bde: b2db uxtb r3, r3 8028be0: 61bb str r3, [r7, #24] Sec = FileData.Time.Seconds; 8028be2: 4b48 ldr r3, [pc, #288] ; (8028d04 ) 8028be4: 7c9b ldrb r3, [r3, #18] 8028be6: b2db uxtb r3, r3 8028be8: 617b str r3, [r7, #20] DateTime = ((Year - 1980) << 25) | (Month << 21) | (Day << 16) | (Hour << 11) | (Min << 5) | (Sec >> 1); 8028bea: 6a3b ldr r3, [r7, #32] 8028bec: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 8028bf0: 065a lsls r2, r3, #25 8028bf2: 6a7b ldr r3, [r7, #36] ; 0x24 8028bf4: 055b lsls r3, r3, #21 8028bf6: 431a orrs r2, r3 8028bf8: 6abb ldr r3, [r7, #40] ; 0x28 8028bfa: 041b lsls r3, r3, #16 8028bfc: 431a orrs r2, r3 8028bfe: 69fb ldr r3, [r7, #28] 8028c00: 02db lsls r3, r3, #11 8028c02: 431a orrs r2, r3 8028c04: 69bb ldr r3, [r7, #24] 8028c06: 015b lsls r3, r3, #5 8028c08: 431a orrs r2, r3 8028c0a: 697b ldr r3, [r7, #20] 8028c0c: 085b lsrs r3, r3, #1 8028c0e: 4313 orrs r3, r2 8028c10: 613b str r3, [r7, #16] sector[eDateTime] = (uint8_t) (DateTime & 0xff); 8028c12: 693b ldr r3, [r7, #16] 8028c14: b2da uxtb r2, r3 8028c16: 4b38 ldr r3, [pc, #224] ; (8028cf8 ) 8028c18: 741a strb r2, [r3, #16] sector[eDateTime + 1] = (uint8_t) ((DateTime >> 8) & 0xff); 8028c1a: 693b ldr r3, [r7, #16] 8028c1c: 0a1b lsrs r3, r3, #8 8028c1e: b2da uxtb r2, r3 8028c20: 4b35 ldr r3, [pc, #212] ; (8028cf8 ) 8028c22: 745a strb r2, [r3, #17] sector[eDateTime + 2] = (uint8_t) ((DateTime >> 16) & 0xff); 8028c24: 693b ldr r3, [r7, #16] 8028c26: 0c1b lsrs r3, r3, #16 8028c28: b2da uxtb r2, r3 8028c2a: 4b33 ldr r3, [pc, #204] ; (8028cf8 ) 8028c2c: 749a strb r2, [r3, #18] sector[eDateTime + 3] = (uint8_t) ((DateTime >> 24) & 0xff); 8028c2e: 693b ldr r3, [r7, #16] 8028c30: 0e1b lsrs r3, r3, #24 8028c32: b2da uxtb r2, r3 8028c34: 4b30 ldr r3, [pc, #192] ; (8028cf8 ) 8028c36: 74da strb r2, [r3, #19] sector[e13] = 0xD; 8028c38: 4b2f ldr r3, [pc, #188] ; (8028cf8 ) 8028c3a: 220d movs r2, #13 8028c3c: 76da strb r2, [r3, #27] sector[e10] = 0xA; 8028c3e: 4b2e ldr r3, [pc, #184] ; (8028cf8 ) 8028c40: 220a movs r2, #10 8028c42: 771a strb r2, [r3, #28] if(f_lseek(&F, ifs) == FR_OK) 8028c44: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8028c48: 482a ldr r0, [pc, #168] ; (8028cf4 ) 8028c4a: f0a2 ff4d bl 80cbae8 8028c4e: 4603 mov r3, r0 8028c50: 2b00 cmp r3, #0 8028c52: d121 bne.n 8028c98 { res = f_write(&F, sector, 29, &fk); 8028c54: f107 030c add.w r3, r7, #12 8028c58: 221d movs r2, #29 8028c5a: 4927 ldr r1, [pc, #156] ; (8028cf8 ) 8028c5c: 4825 ldr r0, [pc, #148] ; (8028cf4 ) 8028c5e: f0a2 fc7f bl 80cb560 8028c62: 4603 mov r3, r0 8028c64: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 29)) 8028c68: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8028c6c: 2b00 cmp r3, #0 8028c6e: d10e bne.n 8028c8e 8028c70: 68fb ldr r3, [r7, #12] 8028c72: 2b1d cmp r3, #29 8028c74: d10b bne.n 8028c8e { f_close(&F); 8028c76: 481f ldr r0, [pc, #124] ; (8028cf4 ) 8028c78: f0a2 ff16 bl 80cbaa8 /*if(NextIndexPoint < NUM_POINTS - 1) // TODO NextIndexPoint++; else NextIndexPoint = 0;*/ NextIndexMeas = IndexMeas[NextIndexPoint]; 8028c7c: 4b1f ldr r3, [pc, #124] ; (8028cfc ) 8028c7e: 681b ldr r3, [r3, #0] 8028c80: 4a21 ldr r2, [pc, #132] ; (8028d08 ) 8028c82: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8028c86: 4a1e ldr r2, [pc, #120] ; (8028d00 ) 8028c88: 6013 str r3, [r2, #0] return FR_OK; 8028c8a: 2300 movs r3, #0 8028c8c: e02d b.n 8028cea } else { f_close(&F); 8028c8e: 4819 ldr r0, [pc, #100] ; (8028cf4 ) 8028c90: f0a2 ff0a bl 80cbaa8 return FR_DISK_ERR; 8028c94: 2301 movs r3, #1 8028c96: e028 b.n 8028cea } } else { f_close(&F); 8028c98: 4816 ldr r0, [pc, #88] ; (8028cf4 ) 8028c9a: f0a2 ff05 bl 80cbaa8 return FR_DISK_ERR; 8028c9e: 2301 movs r3, #1 8028ca0: e023 b.n 8028cea } } else { //BAD DATA IN FILE!!!!!!!!!!!!!! f_close(&F); 8028ca2: 4814 ldr r0, [pc, #80] ; (8028cf4 ) 8028ca4: f0a2 ff00 bl 80cbaa8 return FR_INVALID_OBJECT; 8028ca8: 2309 movs r3, #9 8028caa: e01e b.n 8028cea if(NextIndexPoint == IP) 8028cac: bf00 nop } ifs += 29; 8028cae: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 8028cb2: 331d adds r3, #29 8028cb4: f144 0400 adc.w r4, r4, #0 8028cb8: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 8028cbc: e009 b.n 8028cd2 } else { f_close(&F); 8028cbe: 480d ldr r0, [pc, #52] ; (8028cf4 ) 8028cc0: f0a2 fef2 bl 80cbaa8 return FR_DISK_ERR; 8028cc4: 2301 movs r3, #1 8028cc6: e010 b.n 8028cea } } else { f_close(&F); 8028cc8: 480a ldr r0, [pc, #40] ; (8028cf4 ) 8028cca: f0a2 feed bl 80cbaa8 return FR_DISK_ERR; 8028cce: 2301 movs r3, #1 8028cd0: e00b b.n 8028cea while(ifs < f_size(&F)) 8028cd2: 4b08 ldr r3, [pc, #32] ; (8028cf4 ) 8028cd4: e9d3 3404 ldrd r3, r4, [r3, #16] 8028cd8: e9d7 120c ldrd r1, r2, [r7, #48] ; 0x30 8028cdc: 42a2 cmp r2, r4 8028cde: bf08 it eq 8028ce0: 4299 cmpeq r1, r3 8028ce2: f4ff aed9 bcc.w 8028a98 } } } } return res; 8028ce6: f897 303f ldrb.w r3, [r7, #63] ; 0x3f } 8028cea: 4618 mov r0, r3 8028cec: 3744 adds r7, #68 ; 0x44 8028cee: 46bd mov sp, r7 8028cf0: bdf0 pop {r4, r5, r6, r7, pc} 8028cf2: bf00 nop 8028cf4: 20022e78 .word 0x20022e78 8028cf8: 2007c000 .word 0x2007c000 8028cfc: 20021fec .word 0x20021fec 8028d00: 20022360 .word 0x20022360 8028d04: 200229dc .word 0x200229dc 8028d08: 20022ef8 .word 0x20022ef8 08028d0c : FRESULT WriteFileDGN(char* fname) { 8028d0c: b5f0 push {r4, r5, r6, r7, lr} 8028d0e: b091 sub sp, #68 ; 0x44 8028d10: af00 add r7, sp, #0 8028d12: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8028d14: 2300 movs r3, #0 8028d16: f887 303f strb.w r3, [r7, #63] ; 0x3f uint16_t IM, IP; UINT fk; FSIZE_t ifs; if(CardState != MSD_READY) { 8028d1a: 4b97 ldr r3, [pc, #604] ; (8028f78 ) 8028d1c: 781b ldrb r3, [r3, #0] 8028d1e: b2db uxtb r3, r3 8028d20: 2b03 cmp r3, #3 8028d22: d002 beq.n 8028d2a return FR_NOT_READY; 8028d24: 2303 movs r3, #3 8028d26: f000 bdb6 b.w 8029896 } if(strcmp(fname, "") == 0) { 8028d2a: 687b ldr r3, [r7, #4] 8028d2c: 781b ldrb r3, [r3, #0] 8028d2e: 2b00 cmp r3, #0 8028d30: d102 bne.n 8028d38 return FR_INVALID_NAME; 8028d32: 2306 movs r3, #6 8028d34: f000 bdaf b.w 8029896 } if(res == FR_OK) 8028d38: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8028d3c: 2b00 cmp r3, #0 8028d3e: f040 85a8 bne.w 8029892 { memset(FileName, 0, sizeof(FileName)); 8028d42: 2228 movs r2, #40 ; 0x28 8028d44: 2100 movs r1, #0 8028d46: 488d ldr r0, [pc, #564] ; (8028f7c ) 8028d48: f0a9 f92c bl 80d1fa4 strcpy(FileName, fname); 8028d4c: 6879 ldr r1, [r7, #4] 8028d4e: 488b ldr r0, [pc, #556] ; (8028f7c ) 8028d50: f0a9 fa45 bl 80d21de memset(PointPath, 0, sizeof(PointPath)); 8028d54: f44f 7200 mov.w r2, #512 ; 0x200 8028d58: 2100 movs r1, #0 8028d5a: 4889 ldr r0, [pc, #548] ; (8028f80 ) 8028d5c: f0a9 f922 bl 80d1fa4 memset(SearchPath, 0, sizeof(SearchPath)); 8028d60: f44f 7200 mov.w r2, #512 ; 0x200 8028d64: 2100 movs r1, #0 8028d66: 4887 ldr r0, [pc, #540] ; (8028f84 ) 8028d68: f0a9 f91c bl 80d1fa4 SearchPath[0] = '0'; 8028d6c: 4b85 ldr r3, [pc, #532] ; (8028f84 ) 8028d6e: 2230 movs r2, #48 ; 0x30 8028d70: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8028d72: 4b84 ldr r3, [pc, #528] ; (8028f84 ) 8028d74: 223a movs r2, #58 ; 0x3a 8028d76: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8028d78: 4b83 ldr r3, [pc, #524] ; (8028f88 ) 8028d7a: 220b movs r2, #11 8028d7c: 701a strb r2, [r3, #0] FlagReturn = false; 8028d7e: 4b83 ldr r3, [pc, #524] ; (8028f8c ) 8028d80: 2200 movs r2, #0 8028d82: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8028d84: 2100 movs r1, #0 8028d86: 487f ldr r0, [pc, #508] ; (8028f84 ) 8028d88: f001 fe2a bl 802a9e0 if(PointPath[0] == 0) 8028d8c: 4b7c ldr r3, [pc, #496] ; (8028f80 ) 8028d8e: 781b ldrb r3, [r3, #0] 8028d90: 2b00 cmp r3, #0 8028d92: d104 bne.n 8028d9e { res = FR_NO_FILE; 8028d94: 2304 movs r3, #4 8028d96: f887 303f strb.w r3, [r7, #63] ; 0x3f 8028d9a: f000 bd7a b.w 8029892 } else { res = f_open(&F, PointPath, FA_READ | FA_WRITE); 8028d9e: 2203 movs r2, #3 8028da0: 4977 ldr r1, [pc, #476] ; (8028f80 ) 8028da2: 487b ldr r0, [pc, #492] ; (8028f90 ) 8028da4: f0a2 f83c bl 80cae20 8028da8: 4603 mov r3, r0 8028daa: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8028dae: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8028db2: 2b04 cmp r3, #4 8028db4: d003 beq.n 8028dbe 8028db6: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8028dba: 2b05 cmp r3, #5 8028dbc: d107 bne.n 8028dce res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8028dbe: 221b movs r2, #27 8028dc0: 496f ldr r1, [pc, #444] ; (8028f80 ) 8028dc2: 4873 ldr r0, [pc, #460] ; (8028f90 ) 8028dc4: f0a2 f82c bl 80cae20 8028dc8: 4603 mov r3, r0 8028dca: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8028dce: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8028dd2: 2b00 cmp r3, #0 8028dd4: f040 855d bne.w 8029892 { memset(sector, 0xff, sizeof(sector)); 8028dd8: f44f 7200 mov.w r2, #512 ; 0x200 8028ddc: 21ff movs r1, #255 ; 0xff 8028dde: 486d ldr r0, [pc, #436] ; (8028f94 ) 8028de0: f0a9 f8e0 bl 80d1fa4 IM = (uint16_t) NextIndexMeas; 8028de4: 4b6c ldr r3, [pc, #432] ; (8028f98 ) 8028de6: 681b ldr r3, [r3, #0] 8028de8: 85fb strh r3, [r7, #46] ; 0x2e if(f_size(&F) == 0) 8028dea: 4b69 ldr r3, [pc, #420] ; (8028f90 ) 8028dec: e9d3 3404 ldrd r3, r4, [r3, #16] 8028df0: 4323 orrs r3, r4 8028df2: f040 81c1 bne.w 8029178 { ////////////////////// Ñîçäàåì øàïêó ôàéëà //////////////////////// memset(sector, 0, sizeof(sector)); 8028df6: f44f 7200 mov.w r2, #512 ; 0x200 8028dfa: 2100 movs r1, #0 8028dfc: 4865 ldr r0, [pc, #404] ; (8028f94 ) 8028dfe: f0a9 f8d1 bl 80d1fa4 strcpy((char *) sector, "Extend"); 8028e02: 4b64 ldr r3, [pc, #400] ; (8028f94 ) 8028e04: 4a65 ldr r2, [pc, #404] ; (8028f9c ) 8028e06: e892 0003 ldmia.w r2, {r0, r1} 8028e0a: 6018 str r0, [r3, #0] 8028e0c: 3304 adds r3, #4 8028e0e: 8019 strh r1, [r3, #0] 8028e10: 3302 adds r3, #2 8028e12: 0c0a lsrs r2, r1, #16 8028e14: 701a strb r2, [r3, #0] res = f_write(&F, sector, 96, &fk); 8028e16: f107 030c add.w r3, r7, #12 8028e1a: 2260 movs r2, #96 ; 0x60 8028e1c: 495d ldr r1, [pc, #372] ; (8028f94 ) 8028e1e: 485c ldr r0, [pc, #368] ; (8028f90 ) 8028e20: f0a2 fb9e bl 80cb560 8028e24: 4603 mov r3, r0 8028e26: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 96)) 8028e2a: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8028e2e: 2b00 cmp r3, #0 8028e30: f040 8082 bne.w 8028f38 8028e34: 68fb ldr r3, [r7, #12] 8028e36: 2b60 cmp r3, #96 ; 0x60 8028e38: d17e bne.n 8028f38 { memset(sector, 0, sizeof(sector)); 8028e3a: f44f 7200 mov.w r2, #512 ; 0x200 8028e3e: 2100 movs r1, #0 8028e40: 4854 ldr r0, [pc, #336] ; (8028f94 ) 8028e42: f0a9 f8af bl 80d1fa4 for(i = 0; i < 8; i++) 8028e46: 2300 movs r3, #0 8028e48: 63bb str r3, [r7, #56] ; 0x38 8028e4a: e01b b.n 8028e84 { res = f_write(&F, sector, 500, &fk); 8028e4c: f107 030c add.w r3, r7, #12 8028e50: f44f 72fa mov.w r2, #500 ; 0x1f4 8028e54: 494f ldr r1, [pc, #316] ; (8028f94 ) 8028e56: 484e ldr r0, [pc, #312] ; (8028f90 ) 8028e58: f0a2 fb82 bl 80cb560 8028e5c: 4603 mov r3, r0 8028e5e: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != 500)) 8028e62: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8028e66: 2b00 cmp r3, #0 8028e68: d103 bne.n 8028e72 8028e6a: 68fb ldr r3, [r7, #12] 8028e6c: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 8028e70: d005 beq.n 8028e7e { f_close(&F); 8028e72: 4847 ldr r0, [pc, #284] ; (8028f90 ) 8028e74: f0a2 fe18 bl 80cbaa8 return FR_DISK_ERR; 8028e78: 2301 movs r3, #1 8028e7a: f000 bd0c b.w 8029896 for(i = 0; i < 8; i++) 8028e7e: 6bbb ldr r3, [r7, #56] ; 0x38 8028e80: 3301 adds r3, #1 8028e82: 63bb str r3, [r7, #56] ; 0x38 8028e84: 6bbb ldr r3, [r7, #56] ; 0x38 8028e86: 2b07 cmp r3, #7 8028e88: d9e0 bls.n 8028e4c } } memcpy(sector, Comment, sizeof(Comment)); 8028e8a: 4b42 ldr r3, [pc, #264] ; (8028f94 ) 8028e8c: 4a44 ldr r2, [pc, #272] ; (8028fa0 ) 8028e8e: 4614 mov r4, r2 8028e90: 461e mov r6, r3 8028e92: f104 0e20 add.w lr, r4, #32 8028e96: 4635 mov r5, r6 8028e98: 4623 mov r3, r4 8028e9a: 6818 ldr r0, [r3, #0] 8028e9c: 6859 ldr r1, [r3, #4] 8028e9e: 689a ldr r2, [r3, #8] 8028ea0: 68db ldr r3, [r3, #12] 8028ea2: c50f stmia r5!, {r0, r1, r2, r3} 8028ea4: 3410 adds r4, #16 8028ea6: 3610 adds r6, #16 8028ea8: 4574 cmp r4, lr 8028eaa: d1f4 bne.n 8028e96 8028eac: 4633 mov r3, r6 8028eae: 4622 mov r2, r4 8028eb0: 6810 ldr r0, [r2, #0] 8028eb2: 6851 ldr r1, [r2, #4] 8028eb4: c303 stmia r3!, {r0, r1} ifs = 96u + (NextIndexPoint * sizeof(Comment)); 8028eb6: 4b3b ldr r3, [pc, #236] ; (8028fa4 ) 8028eb8: 681a ldr r2, [r3, #0] 8028eba: 4613 mov r3, r2 8028ebc: 009b lsls r3, r3, #2 8028ebe: 4413 add r3, r2 8028ec0: 00db lsls r3, r3, #3 8028ec2: 3360 adds r3, #96 ; 0x60 8028ec4: f04f 0400 mov.w r4, #0 8028ec8: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 8028ecc: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8028ed0: 482f ldr r0, [pc, #188] ; (8028f90 ) 8028ed2: f0a2 fe09 bl 80cbae8 8028ed6: 4603 mov r3, r0 8028ed8: 2b00 cmp r3, #0 8028eda: d127 bne.n 8028f2c { res = f_write(&F, sector, sizeof(Comment), &fk); 8028edc: f107 030c add.w r3, r7, #12 8028ee0: 2228 movs r2, #40 ; 0x28 8028ee2: 492c ldr r1, [pc, #176] ; (8028f94 ) 8028ee4: 482a ldr r0, [pc, #168] ; (8028f90 ) 8028ee6: f0a2 fb3b bl 80cb560 8028eea: 4603 mov r3, r0 8028eec: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != sizeof(Comment))) 8028ef0: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8028ef4: 2b00 cmp r3, #0 8028ef6: d102 bne.n 8028efe 8028ef8: 68fb ldr r3, [r7, #12] 8028efa: 2b28 cmp r3, #40 ; 0x28 8028efc: d005 beq.n 8028f0a { f_close(&F); 8028efe: 4824 ldr r0, [pc, #144] ; (8028f90 ) 8028f00: f0a2 fdd2 bl 80cbaa8 return FR_DISK_ERR; 8028f04: 2301 movs r3, #1 8028f06: f000 bcc6 b.w 8029896 } ifs = 96u + (NUM_POINTS * sizeof(Comment)); 8028f0a: f649 43a0 movw r3, #40096 ; 0x9ca0 8028f0e: f04f 0400 mov.w r4, #0 8028f12: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 8028f16: bf00 nop f_close(&F); return FR_DISK_ERR; } ////////////////////////////////////////////////////////////////// if(f_lseek(&F, ifs) == FR_OK) 8028f18: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8028f1c: 481c ldr r0, [pc, #112] ; (8028f90 ) 8028f1e: f0a2 fde3 bl 80cbae8 8028f22: 4603 mov r3, r0 8028f24: 2b00 cmp r3, #0 8028f26: f040 8122 bne.w 802916e 8028f2a: e00b b.n 8028f44 f_close(&F); 8028f2c: 4818 ldr r0, [pc, #96] ; (8028f90 ) 8028f2e: f0a2 fdbb bl 80cbaa8 return FR_DISK_ERR; 8028f32: 2301 movs r3, #1 8028f34: f000 bcaf b.w 8029896 f_close(&F); 8028f38: 4815 ldr r0, [pc, #84] ; (8028f90 ) 8028f3a: f0a2 fdb5 bl 80cbaa8 return FR_DISK_ERR; 8028f3e: 2301 movs r3, #1 8028f40: f000 bca9 b.w 8029896 { IP = (uint16_t) NextIndexPoint; 8028f44: 4b17 ldr r3, [pc, #92] ; (8028fa4 ) 8028f46: 681b ldr r3, [r3, #0] 8028f48: 85bb strh r3, [r7, #44] ; 0x2c sector[d_Point] = LO(IP); 8028f4a: 8dbb ldrh r3, [r7, #44] ; 0x2c 8028f4c: b2da uxtb r2, r3 8028f4e: 4b11 ldr r3, [pc, #68] ; (8028f94 ) 8028f50: 701a strb r2, [r3, #0] sector[d_Point + 1] = HI(IP); 8028f52: 8dbb ldrh r3, [r7, #44] ; 0x2c 8028f54: 0a1b lsrs r3, r3, #8 8028f56: b29b uxth r3, r3 8028f58: b2da uxtb r2, r3 8028f5a: 4b0e ldr r3, [pc, #56] ; (8028f94 ) 8028f5c: 705a strb r2, [r3, #1] sector[d_Meas] = LO(IM); 8028f5e: 8dfb ldrh r3, [r7, #46] ; 0x2e 8028f60: b2da uxtb r2, r3 8028f62: 4b0c ldr r3, [pc, #48] ; (8028f94 ) 8028f64: 709a strb r2, [r3, #2] sector[d_Meas + 1] = HI(IM); 8028f66: 8dfb ldrh r3, [r7, #46] ; 0x2e 8028f68: 0a1b lsrs r3, r3, #8 8028f6a: b29b uxth r3, r3 8028f6c: b2da uxtb r2, r3 8028f6e: 4b09 ldr r3, [pc, #36] ; (8028f94 ) 8028f70: 70da strb r2, [r3, #3] for(i = 0; i < 4; i++) 8028f72: 2300 movs r3, #0 8028f74: 63bb str r3, [r7, #56] ; 0x38 8028f76: e037 b.n 8028fe8 8028f78: 2002169c .word 0x2002169c 8028f7c: 20022c10 .word 0x20022c10 8028f80: 20022a0c .word 0x20022a0c 8028f84: 20021dd0 .word 0x20021dd0 8028f88: 20020dff .word 0x20020dff 8028f8c: 20020dfe .word 0x20020dfe 8028f90: 20022e78 .word 0x20022e78 8028f94: 2007c000 .word 0x2007c000 8028f98: 20022360 .word 0x20022360 8028f9c: 080d4eac .word 0x080d4eac 8028fa0: 200226a0 .word 0x200226a0 8028fa4: 20021fec .word 0x20021fec { sector[d_Op1_1 + i] = DiagnFileData.Op_1.ch[i]; 8028fa8: 6bbb ldr r3, [r7, #56] ; 0x38 8028faa: 3304 adds r3, #4 8028fac: 49b0 ldr r1, [pc, #704] ; (8029270 ) 8028fae: 6bba ldr r2, [r7, #56] ; 0x38 8028fb0: 440a add r2, r1 8028fb2: 7812 ldrb r2, [r2, #0] 8028fb4: b2d1 uxtb r1, r2 8028fb6: 4aaf ldr r2, [pc, #700] ; (8029274 ) 8028fb8: 54d1 strb r1, [r2, r3] sector[d_Op2_1 + i] = DiagnFileData.Op_2.ch[i]; 8028fba: 6bbb ldr r3, [r7, #56] ; 0x38 8028fbc: 3308 adds r3, #8 8028fbe: 49ac ldr r1, [pc, #688] ; (8029270 ) 8028fc0: 6bba ldr r2, [r7, #56] ; 0x38 8028fc2: 440a add r2, r1 8028fc4: 3204 adds r2, #4 8028fc6: 7812 ldrb r2, [r2, #0] 8028fc8: b2d1 uxtb r1, r2 8028fca: 4aaa ldr r2, [pc, #680] ; (8029274 ) 8028fcc: 54d1 strb r1, [r2, r3] sector[d_Op3_1 + i] = DiagnFileData.Op_3.ch[i]; 8028fce: 6bbb ldr r3, [r7, #56] ; 0x38 8028fd0: 330c adds r3, #12 8028fd2: 49a7 ldr r1, [pc, #668] ; (8029270 ) 8028fd4: 6bba ldr r2, [r7, #56] ; 0x38 8028fd6: 440a add r2, r1 8028fd8: 3208 adds r2, #8 8028fda: 7812 ldrb r2, [r2, #0] 8028fdc: b2d1 uxtb r1, r2 8028fde: 4aa5 ldr r2, [pc, #660] ; (8029274 ) 8028fe0: 54d1 strb r1, [r2, r3] for(i = 0; i < 4; i++) 8028fe2: 6bbb ldr r3, [r7, #56] ; 0x38 8028fe4: 3301 adds r3, #1 8028fe6: 63bb str r3, [r7, #56] ; 0x38 8028fe8: 6bbb ldr r3, [r7, #56] ; 0x38 8028fea: 2b03 cmp r3, #3 8028fec: d9dc bls.n 8028fa8 } sector[d_Op1_ipr] = DiagnFileData.d_Op1_ipr; 8028fee: 4ba0 ldr r3, [pc, #640] ; (8029270 ) 8028ff0: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 8028ff4: b2da uxtb r2, r3 8028ff6: 4b9f ldr r3, [pc, #636] ; (8029274 ) 8028ff8: 751a strb r2, [r3, #20] sector[d_Op2_ipr] = DiagnFileData.d_Op2_ipr; 8028ffa: 4b9d ldr r3, [pc, #628] ; (8029270 ) 8028ffc: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8029000: b2da uxtb r2, r3 8029002: 4b9c ldr r3, [pc, #624] ; (8029274 ) 8029004: 755a strb r2, [r3, #21] sector[d_Op3_ipr] = DiagnFileData.d_Op3_ipr; 8029006: 4b9a ldr r3, [pc, #616] ; (8029270 ) 8029008: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 802900c: b2da uxtb r2, r3 802900e: 4b99 ldr r3, [pc, #612] ; (8029274 ) 8029010: 759a strb r2, [r3, #22] sector[d_Op1_ivs] = DiagnFileData.d_Op1_ivs; 8029012: 4b97 ldr r3, [pc, #604] ; (8029270 ) 8029014: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8029018: b2da uxtb r2, r3 802901a: 4b96 ldr r3, [pc, #600] ; (8029274 ) 802901c: 75da strb r2, [r3, #23] sector[d_Op2_ivs] = DiagnFileData.d_Op2_ivs; 802901e: 4b94 ldr r3, [pc, #592] ; (8029270 ) 8029020: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8029024: b2da uxtb r2, r3 8029026: 4b93 ldr r3, [pc, #588] ; (8029274 ) 8029028: 761a strb r2, [r3, #24] sector[d_Op3_ivs] = DiagnFileData.d_Op3_ivs; 802902a: 4b91 ldr r3, [pc, #580] ; (8029270 ) 802902c: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8029030: b2da uxtb r2, r3 8029032: 4b90 ldr r3, [pc, #576] ; (8029274 ) 8029034: 765a strb r2, [r3, #25] sector[d_Op1_col] = DiagnFileData.d_Op1_Color; 8029036: 4b8e ldr r3, [pc, #568] ; (8029270 ) 8029038: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 802903c: b2da uxtb r2, r3 802903e: 4b8d ldr r3, [pc, #564] ; (8029274 ) 8029040: 769a strb r2, [r3, #26] sector[d_Op2_col] = DiagnFileData.d_Op2_Color; 8029042: 4b8b ldr r3, [pc, #556] ; (8029270 ) 8029044: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 8029048: b2da uxtb r2, r3 802904a: 4b8a ldr r3, [pc, #552] ; (8029274 ) 802904c: 76da strb r2, [r3, #27] sector[d_Op3_col] = DiagnFileData.d_Op3_Color; 802904e: 4b88 ldr r3, [pc, #544] ; (8029270 ) 8029050: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 8029054: b2da uxtb r2, r3 8029056: 4b87 ldr r3, [pc, #540] ; (8029274 ) 8029058: 771a strb r2, [r3, #28] sector[d_W] = DiagnFileData.d_Warning; 802905a: 4b85 ldr r3, [pc, #532] ; (8029270 ) 802905c: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 8029060: b2da uxtb r2, r3 8029062: 4b84 ldr r3, [pc, #528] ; (8029274 ) 8029064: 775a strb r2, [r3, #29] sector[d_A] = DiagnFileData.d_Alarm; 8029066: 4b82 ldr r3, [pc, #520] ; (8029270 ) 8029068: f893 3032 ldrb.w r3, [r3, #50] ; 0x32 802906c: b2da uxtb r2, r3 802906e: 4b81 ldr r3, [pc, #516] ; (8029274 ) 8029070: 779a strb r2, [r3, #30] Day = DiagnFileData.d_Date.Date; 8029072: 4b7f ldr r3, [pc, #508] ; (8029270 ) 8029074: f893 3026 ldrb.w r3, [r3, #38] ; 0x26 8029078: b2db uxtb r3, r3 802907a: 62bb str r3, [r7, #40] ; 0x28 Month = DiagnFileData.d_Date.Month; 802907c: 4b7c ldr r3, [pc, #496] ; (8029270 ) 802907e: f893 3025 ldrb.w r3, [r3, #37] ; 0x25 8029082: b2db uxtb r3, r3 8029084: 627b str r3, [r7, #36] ; 0x24 Year = DiagnFileData.d_Date.Year + 2000; 8029086: 4b7a ldr r3, [pc, #488] ; (8029270 ) 8029088: f893 3027 ldrb.w r3, [r3, #39] ; 0x27 802908c: b2db uxtb r3, r3 802908e: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8029092: 623b str r3, [r7, #32] Hour = DiagnFileData.d_Time.Hours; 8029094: 4b76 ldr r3, [pc, #472] ; (8029270 ) 8029096: 7b1b ldrb r3, [r3, #12] 8029098: b2db uxtb r3, r3 802909a: 61fb str r3, [r7, #28] Min = DiagnFileData.d_Time.Minutes; 802909c: 4b74 ldr r3, [pc, #464] ; (8029270 ) 802909e: 7b5b ldrb r3, [r3, #13] 80290a0: b2db uxtb r3, r3 80290a2: 61bb str r3, [r7, #24] Sec = DiagnFileData.d_Time.Seconds; 80290a4: 4b72 ldr r3, [pc, #456] ; (8029270 ) 80290a6: 7b9b ldrb r3, [r3, #14] 80290a8: b2db uxtb r3, r3 80290aa: 617b str r3, [r7, #20] DateTime = ((Year - 1980) << 25) | (Month << 21) | (Day << 16) | (Hour << 11) | (Min << 5) | (Sec >> 1); 80290ac: 6a3b ldr r3, [r7, #32] 80290ae: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 80290b2: 065a lsls r2, r3, #25 80290b4: 6a7b ldr r3, [r7, #36] ; 0x24 80290b6: 055b lsls r3, r3, #21 80290b8: 431a orrs r2, r3 80290ba: 6abb ldr r3, [r7, #40] ; 0x28 80290bc: 041b lsls r3, r3, #16 80290be: 431a orrs r2, r3 80290c0: 69fb ldr r3, [r7, #28] 80290c2: 02db lsls r3, r3, #11 80290c4: 431a orrs r2, r3 80290c6: 69bb ldr r3, [r7, #24] 80290c8: 015b lsls r3, r3, #5 80290ca: 431a orrs r2, r3 80290cc: 697b ldr r3, [r7, #20] 80290ce: 085b lsrs r3, r3, #1 80290d0: 4313 orrs r3, r2 80290d2: 613b str r3, [r7, #16] sector[d_DateTime] = (uint8_t) (DateTime & 0xff); 80290d4: 693b ldr r3, [r7, #16] 80290d6: b2da uxtb r2, r3 80290d8: 4b66 ldr r3, [pc, #408] ; (8029274 ) 80290da: 741a strb r2, [r3, #16] sector[d_DateTime + 1] = (uint8_t) ((DateTime >> 8) & 0xff); 80290dc: 693b ldr r3, [r7, #16] 80290de: 0a1b lsrs r3, r3, #8 80290e0: b2da uxtb r2, r3 80290e2: 4b64 ldr r3, [pc, #400] ; (8029274 ) 80290e4: 745a strb r2, [r3, #17] sector[d_DateTime + 2] = (uint8_t) ((DateTime >> 16) & 0xff); 80290e6: 693b ldr r3, [r7, #16] 80290e8: 0c1b lsrs r3, r3, #16 80290ea: b2da uxtb r2, r3 80290ec: 4b61 ldr r3, [pc, #388] ; (8029274 ) 80290ee: 749a strb r2, [r3, #18] sector[d_DateTime + 3] = (uint8_t) ((DateTime >> 24) & 0xff); 80290f0: 693b ldr r3, [r7, #16] 80290f2: 0e1b lsrs r3, r3, #24 80290f4: b2da uxtb r2, r3 80290f6: 4b5f ldr r3, [pc, #380] ; (8029274 ) 80290f8: 74da strb r2, [r3, #19] sector[d_13] = 0xD; 80290fa: 4b5e ldr r3, [pc, #376] ; (8029274 ) 80290fc: 220d movs r2, #13 80290fe: 77da strb r2, [r3, #31] sector[d_10] = 0xA; 8029100: 4b5c ldr r3, [pc, #368] ; (8029274 ) 8029102: 220a movs r2, #10 8029104: f883 2020 strb.w r2, [r3, #32] res = f_write(&F, sector, 33, &fk); 8029108: f107 030c add.w r3, r7, #12 802910c: 2221 movs r2, #33 ; 0x21 802910e: 4959 ldr r1, [pc, #356] ; (8029274 ) 8029110: 4859 ldr r0, [pc, #356] ; (8029278 ) 8029112: f0a2 fa25 bl 80cb560 8029116: 4603 mov r3, r0 8029118: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 33)) 802911c: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029120: 2b00 cmp r3, #0 8029122: d11f bne.n 8029164 8029124: 68fb ldr r3, [r7, #12] 8029126: 2b21 cmp r3, #33 ; 0x21 8029128: d11c bne.n 8029164 { f_close(&F); 802912a: 4853 ldr r0, [pc, #332] ; (8029278 ) 802912c: f0a2 fcbc bl 80cbaa8 if(IndexMeas[NextIndexPoint] < 999) 8029130: 4b52 ldr r3, [pc, #328] ; (802927c ) 8029132: 681b ldr r3, [r3, #0] 8029134: 4a52 ldr r2, [pc, #328] ; (8029280 ) 8029136: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802913a: f240 32e6 movw r2, #998 ; 0x3e6 802913e: 4293 cmp r3, r2 8029140: d808 bhi.n 8029154 IndexMeas[NextIndexPoint]++; 8029142: 4b4e ldr r3, [pc, #312] ; (802927c ) 8029144: 681b ldr r3, [r3, #0] 8029146: 4a4e ldr r2, [pc, #312] ; (8029280 ) 8029148: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802914c: 3201 adds r2, #1 802914e: 494c ldr r1, [pc, #304] ; (8029280 ) 8029150: f841 2023 str.w r2, [r1, r3, lsl #2] NextIndexMeas = IndexMeas[NextIndexPoint]; 8029154: 4b49 ldr r3, [pc, #292] ; (802927c ) 8029156: 681b ldr r3, [r3, #0] 8029158: 4a49 ldr r2, [pc, #292] ; (8029280 ) 802915a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802915e: 4a49 ldr r2, [pc, #292] ; (8029284 ) 8029160: 6013 str r3, [r2, #0] 8029162: e396 b.n 8029892 } else { f_close(&F); 8029164: 4844 ldr r0, [pc, #272] ; (8029278 ) 8029166: f0a2 fc9f bl 80cbaa8 return FR_DISK_ERR; 802916a: 2301 movs r3, #1 802916c: e393 b.n 8029896 } } else { f_close(&F); 802916e: 4842 ldr r0, [pc, #264] ; (8029278 ) 8029170: f0a2 fc9a bl 80cbaa8 return FR_DISK_ERR; 8029174: 2301 movs r3, #1 8029176: e38e b.n 8029896 } } else if(NextIndexMeas == IndexMeas[NextIndexPoint]) 8029178: 4b40 ldr r3, [pc, #256] ; (802927c ) 802917a: 681b ldr r3, [r3, #0] 802917c: 4a40 ldr r2, [pc, #256] ; (8029280 ) 802917e: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8029182: 4b40 ldr r3, [pc, #256] ; (8029284 ) 8029184: 681b ldr r3, [r3, #0] 8029186: 429a cmp r2, r3 8029188: f040 8196 bne.w 80294b8 { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 802918c: f04f 0200 mov.w r2, #0 8029190: f04f 0300 mov.w r3, #0 8029194: 4838 ldr r0, [pc, #224] ; (8029278 ) 8029196: f0a2 fca7 bl 80cbae8 802919a: 4603 mov r3, r0 802919c: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 80291a0: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80291a4: 2b00 cmp r3, #0 80291a6: d173 bne.n 8029290 { res = f_read(&F, sector, 6, &fk); 80291a8: f107 030c add.w r3, r7, #12 80291ac: 2206 movs r2, #6 80291ae: 4931 ldr r1, [pc, #196] ; (8029274 ) 80291b0: 4831 ldr r0, [pc, #196] ; (8029278 ) 80291b2: f0a2 f892 bl 80cb2da 80291b6: 4603 mov r3, r0 80291b8: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 6)) 80291bc: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80291c0: 2b00 cmp r3, #0 80291c2: d150 bne.n 8029266 80291c4: 68fb ldr r3, [r7, #12] 80291c6: 2b06 cmp r3, #6 80291c8: d14d bne.n 8029266 { sector[6] = '\0'; 80291ca: 4b2a ldr r3, [pc, #168] ; (8029274 ) 80291cc: 2200 movs r2, #0 80291ce: 719a strb r2, [r3, #6] if(!strcmp((char *) sector, "Extend")) 80291d0: 492d ldr r1, [pc, #180] ; (8029288 ) 80291d2: 4828 ldr r0, [pc, #160] ; (8029274 ) 80291d4: f7f7 f894 bl 8020300 80291d8: 4603 mov r3, r0 80291da: 2b00 cmp r3, #0 80291dc: d15d bne.n 802929a { memcpy(sector, Comment, sizeof(Comment)); 80291de: 4b25 ldr r3, [pc, #148] ; (8029274 ) 80291e0: 4a2a ldr r2, [pc, #168] ; (802928c ) 80291e2: 4614 mov r4, r2 80291e4: 461e mov r6, r3 80291e6: f104 0e20 add.w lr, r4, #32 80291ea: 4635 mov r5, r6 80291ec: 4623 mov r3, r4 80291ee: 6818 ldr r0, [r3, #0] 80291f0: 6859 ldr r1, [r3, #4] 80291f2: 689a ldr r2, [r3, #8] 80291f4: 68db ldr r3, [r3, #12] 80291f6: c50f stmia r5!, {r0, r1, r2, r3} 80291f8: 3410 adds r4, #16 80291fa: 3610 adds r6, #16 80291fc: 4574 cmp r4, lr 80291fe: d1f4 bne.n 80291ea 8029200: 4633 mov r3, r6 8029202: 4622 mov r2, r4 8029204: 6810 ldr r0, [r2, #0] 8029206: 6851 ldr r1, [r2, #4] 8029208: c303 stmia r3!, {r0, r1} ifs = 96u + (NextIndexPoint * sizeof(Comment)); 802920a: 4b1c ldr r3, [pc, #112] ; (802927c ) 802920c: 681a ldr r2, [r3, #0] 802920e: 4613 mov r3, r2 8029210: 009b lsls r3, r3, #2 8029212: 4413 add r3, r2 8029214: 00db lsls r3, r3, #3 8029216: 3360 adds r3, #96 ; 0x60 8029218: f04f 0400 mov.w r4, #0 802921c: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 8029220: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8029224: 4814 ldr r0, [pc, #80] ; (8029278 ) 8029226: f0a2 fc5f bl 80cbae8 802922a: 4603 mov r3, r0 802922c: 2b00 cmp r3, #0 802922e: d115 bne.n 802925c { res = f_write(&F, sector, sizeof(Comment), &fk); 8029230: f107 030c add.w r3, r7, #12 8029234: 2228 movs r2, #40 ; 0x28 8029236: 490f ldr r1, [pc, #60] ; (8029274 ) 8029238: 480f ldr r0, [pc, #60] ; (8029278 ) 802923a: f0a2 f991 bl 80cb560 802923e: 4603 mov r3, r0 8029240: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != sizeof(Comment))) 8029244: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029248: 2b00 cmp r3, #0 802924a: d102 bne.n 8029252 802924c: 68fb ldr r3, [r7, #12] 802924e: 2b28 cmp r3, #40 ; 0x28 8029250: d023 beq.n 802929a { f_close(&F); 8029252: 4809 ldr r0, [pc, #36] ; (8029278 ) 8029254: f0a2 fc28 bl 80cbaa8 return FR_DISK_ERR; 8029258: 2301 movs r3, #1 802925a: e31c b.n 8029896 } } else { f_close(&F); 802925c: 4806 ldr r0, [pc, #24] ; (8029278 ) 802925e: f0a2 fc23 bl 80cbaa8 return FR_DISK_ERR; 8029262: 2301 movs r3, #1 8029264: e317 b.n 8029896 } } } else { f_close(&F); 8029266: 4804 ldr r0, [pc, #16] ; (8029278 ) 8029268: f0a2 fc1e bl 80cbaa8 return FR_DISK_ERR; 802926c: 2301 movs r3, #1 802926e: e312 b.n 8029896 8029270: 20022644 .word 0x20022644 8029274: 2007c000 .word 0x2007c000 8029278: 20022e78 .word 0x20022e78 802927c: 20021fec .word 0x20021fec 8029280: 20022ef8 .word 0x20022ef8 8029284: 20022360 .word 0x20022360 8029288: 080d4eac .word 0x080d4eac 802928c: 200226a0 .word 0x200226a0 } } else { f_close(&F); 8029290: 48a1 ldr r0, [pc, #644] ; (8029518 ) 8029292: f0a2 fc09 bl 80cbaa8 return FR_DISK_ERR; 8029296: 2301 movs r3, #1 8029298: e2fd b.n 8029896 if(!strcmp((char *) sector, "Extend")) 802929a: bf00 nop } /////////////////////////////////////////////////////////////////////////////// if(f_lseek(&F, f_size(&F)) == FR_OK) 802929c: 4b9e ldr r3, [pc, #632] ; (8029518 ) 802929e: e9d3 3404 ldrd r3, r4, [r3, #16] 80292a2: 461a mov r2, r3 80292a4: 4623 mov r3, r4 80292a6: 489c ldr r0, [pc, #624] ; (8029518 ) 80292a8: f0a2 fc1e bl 80cbae8 80292ac: 4603 mov r3, r0 80292ae: 2b00 cmp r3, #0 80292b0: f040 80fd bne.w 80294ae { IP = (uint16_t) NextIndexPoint; 80292b4: 4b99 ldr r3, [pc, #612] ; (802951c ) 80292b6: 681b ldr r3, [r3, #0] 80292b8: 85bb strh r3, [r7, #44] ; 0x2c sector[d_Point] = LO(IP); 80292ba: 8dbb ldrh r3, [r7, #44] ; 0x2c 80292bc: b2da uxtb r2, r3 80292be: 4b98 ldr r3, [pc, #608] ; (8029520 ) 80292c0: 701a strb r2, [r3, #0] sector[d_Point + 1] = HI(IP); 80292c2: 8dbb ldrh r3, [r7, #44] ; 0x2c 80292c4: 0a1b lsrs r3, r3, #8 80292c6: b29b uxth r3, r3 80292c8: b2da uxtb r2, r3 80292ca: 4b95 ldr r3, [pc, #596] ; (8029520 ) 80292cc: 705a strb r2, [r3, #1] sector[d_Meas] = LO(IM); 80292ce: 8dfb ldrh r3, [r7, #46] ; 0x2e 80292d0: b2da uxtb r2, r3 80292d2: 4b93 ldr r3, [pc, #588] ; (8029520 ) 80292d4: 709a strb r2, [r3, #2] sector[d_Meas + 1] = HI(IM); 80292d6: 8dfb ldrh r3, [r7, #46] ; 0x2e 80292d8: 0a1b lsrs r3, r3, #8 80292da: b29b uxth r3, r3 80292dc: b2da uxtb r2, r3 80292de: 4b90 ldr r3, [pc, #576] ; (8029520 ) 80292e0: 70da strb r2, [r3, #3] for(i = 0; i < 4; i++) 80292e2: 2300 movs r3, #0 80292e4: 63bb str r3, [r7, #56] ; 0x38 80292e6: e01f b.n 8029328 { sector[d_Op1_1 + i] = DiagnFileData.Op_1.ch[i]; 80292e8: 6bbb ldr r3, [r7, #56] ; 0x38 80292ea: 3304 adds r3, #4 80292ec: 498d ldr r1, [pc, #564] ; (8029524 ) 80292ee: 6bba ldr r2, [r7, #56] ; 0x38 80292f0: 440a add r2, r1 80292f2: 7812 ldrb r2, [r2, #0] 80292f4: b2d1 uxtb r1, r2 80292f6: 4a8a ldr r2, [pc, #552] ; (8029520 ) 80292f8: 54d1 strb r1, [r2, r3] sector[d_Op2_1 + i] = DiagnFileData.Op_2.ch[i]; 80292fa: 6bbb ldr r3, [r7, #56] ; 0x38 80292fc: 3308 adds r3, #8 80292fe: 4989 ldr r1, [pc, #548] ; (8029524 ) 8029300: 6bba ldr r2, [r7, #56] ; 0x38 8029302: 440a add r2, r1 8029304: 3204 adds r2, #4 8029306: 7812 ldrb r2, [r2, #0] 8029308: b2d1 uxtb r1, r2 802930a: 4a85 ldr r2, [pc, #532] ; (8029520 ) 802930c: 54d1 strb r1, [r2, r3] sector[d_Op3_1 + i] = DiagnFileData.Op_3.ch[i]; 802930e: 6bbb ldr r3, [r7, #56] ; 0x38 8029310: 330c adds r3, #12 8029312: 4984 ldr r1, [pc, #528] ; (8029524 ) 8029314: 6bba ldr r2, [r7, #56] ; 0x38 8029316: 440a add r2, r1 8029318: 3208 adds r2, #8 802931a: 7812 ldrb r2, [r2, #0] 802931c: b2d1 uxtb r1, r2 802931e: 4a80 ldr r2, [pc, #512] ; (8029520 ) 8029320: 54d1 strb r1, [r2, r3] for(i = 0; i < 4; i++) 8029322: 6bbb ldr r3, [r7, #56] ; 0x38 8029324: 3301 adds r3, #1 8029326: 63bb str r3, [r7, #56] ; 0x38 8029328: 6bbb ldr r3, [r7, #56] ; 0x38 802932a: 2b03 cmp r3, #3 802932c: d9dc bls.n 80292e8 } sector[d_Op1_ipr] = DiagnFileData.d_Op1_ipr; 802932e: 4b7d ldr r3, [pc, #500] ; (8029524 ) 8029330: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 8029334: b2da uxtb r2, r3 8029336: 4b7a ldr r3, [pc, #488] ; (8029520 ) 8029338: 751a strb r2, [r3, #20] sector[d_Op2_ipr] = DiagnFileData.d_Op2_ipr; 802933a: 4b7a ldr r3, [pc, #488] ; (8029524 ) 802933c: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8029340: b2da uxtb r2, r3 8029342: 4b77 ldr r3, [pc, #476] ; (8029520 ) 8029344: 755a strb r2, [r3, #21] sector[d_Op3_ipr] = DiagnFileData.d_Op3_ipr; 8029346: 4b77 ldr r3, [pc, #476] ; (8029524 ) 8029348: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 802934c: b2da uxtb r2, r3 802934e: 4b74 ldr r3, [pc, #464] ; (8029520 ) 8029350: 759a strb r2, [r3, #22] sector[d_Op1_ivs] = DiagnFileData.d_Op1_ivs; 8029352: 4b74 ldr r3, [pc, #464] ; (8029524 ) 8029354: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8029358: b2da uxtb r2, r3 802935a: 4b71 ldr r3, [pc, #452] ; (8029520 ) 802935c: 75da strb r2, [r3, #23] sector[d_Op2_ivs] = DiagnFileData.d_Op2_ivs; 802935e: 4b71 ldr r3, [pc, #452] ; (8029524 ) 8029360: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8029364: b2da uxtb r2, r3 8029366: 4b6e ldr r3, [pc, #440] ; (8029520 ) 8029368: 761a strb r2, [r3, #24] sector[d_Op3_ivs] = DiagnFileData.d_Op3_ivs; 802936a: 4b6e ldr r3, [pc, #440] ; (8029524 ) 802936c: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8029370: b2da uxtb r2, r3 8029372: 4b6b ldr r3, [pc, #428] ; (8029520 ) 8029374: 765a strb r2, [r3, #25] sector[d_Op1_col] = DiagnFileData.d_Op1_Color; 8029376: 4b6b ldr r3, [pc, #428] ; (8029524 ) 8029378: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 802937c: b2da uxtb r2, r3 802937e: 4b68 ldr r3, [pc, #416] ; (8029520 ) 8029380: 769a strb r2, [r3, #26] sector[d_Op2_col] = DiagnFileData.d_Op2_Color; 8029382: 4b68 ldr r3, [pc, #416] ; (8029524 ) 8029384: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 8029388: b2da uxtb r2, r3 802938a: 4b65 ldr r3, [pc, #404] ; (8029520 ) 802938c: 76da strb r2, [r3, #27] sector[d_Op3_col] = DiagnFileData.d_Op3_Color; 802938e: 4b65 ldr r3, [pc, #404] ; (8029524 ) 8029390: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 8029394: b2da uxtb r2, r3 8029396: 4b62 ldr r3, [pc, #392] ; (8029520 ) 8029398: 771a strb r2, [r3, #28] sector[d_W] = DiagnFileData.d_Warning; 802939a: 4b62 ldr r3, [pc, #392] ; (8029524 ) 802939c: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 80293a0: b2da uxtb r2, r3 80293a2: 4b5f ldr r3, [pc, #380] ; (8029520 ) 80293a4: 775a strb r2, [r3, #29] sector[d_A] = DiagnFileData.d_Alarm; 80293a6: 4b5f ldr r3, [pc, #380] ; (8029524 ) 80293a8: f893 3032 ldrb.w r3, [r3, #50] ; 0x32 80293ac: b2da uxtb r2, r3 80293ae: 4b5c ldr r3, [pc, #368] ; (8029520 ) 80293b0: 779a strb r2, [r3, #30] Day = DiagnFileData.d_Date.Date; 80293b2: 4b5c ldr r3, [pc, #368] ; (8029524 ) 80293b4: f893 3026 ldrb.w r3, [r3, #38] ; 0x26 80293b8: b2db uxtb r3, r3 80293ba: 62bb str r3, [r7, #40] ; 0x28 Month = DiagnFileData.d_Date.Month; 80293bc: 4b59 ldr r3, [pc, #356] ; (8029524 ) 80293be: f893 3025 ldrb.w r3, [r3, #37] ; 0x25 80293c2: b2db uxtb r3, r3 80293c4: 627b str r3, [r7, #36] ; 0x24 Year = DiagnFileData.d_Date.Year + 2000; 80293c6: 4b57 ldr r3, [pc, #348] ; (8029524 ) 80293c8: f893 3027 ldrb.w r3, [r3, #39] ; 0x27 80293cc: b2db uxtb r3, r3 80293ce: f503 63fa add.w r3, r3, #2000 ; 0x7d0 80293d2: 623b str r3, [r7, #32] Hour = DiagnFileData.d_Time.Hours; 80293d4: 4b53 ldr r3, [pc, #332] ; (8029524 ) 80293d6: 7b1b ldrb r3, [r3, #12] 80293d8: b2db uxtb r3, r3 80293da: 61fb str r3, [r7, #28] Min = DiagnFileData.d_Time.Minutes; 80293dc: 4b51 ldr r3, [pc, #324] ; (8029524 ) 80293de: 7b5b ldrb r3, [r3, #13] 80293e0: b2db uxtb r3, r3 80293e2: 61bb str r3, [r7, #24] Sec = DiagnFileData.d_Time.Seconds; 80293e4: 4b4f ldr r3, [pc, #316] ; (8029524 ) 80293e6: 7b9b ldrb r3, [r3, #14] 80293e8: b2db uxtb r3, r3 80293ea: 617b str r3, [r7, #20] DateTime = ((Year - 1980) << 25) | (Month << 21) | (Day << 16) | (Hour << 11) | (Min << 5) | (Sec >> 1); 80293ec: 6a3b ldr r3, [r7, #32] 80293ee: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 80293f2: 065a lsls r2, r3, #25 80293f4: 6a7b ldr r3, [r7, #36] ; 0x24 80293f6: 055b lsls r3, r3, #21 80293f8: 431a orrs r2, r3 80293fa: 6abb ldr r3, [r7, #40] ; 0x28 80293fc: 041b lsls r3, r3, #16 80293fe: 431a orrs r2, r3 8029400: 69fb ldr r3, [r7, #28] 8029402: 02db lsls r3, r3, #11 8029404: 431a orrs r2, r3 8029406: 69bb ldr r3, [r7, #24] 8029408: 015b lsls r3, r3, #5 802940a: 431a orrs r2, r3 802940c: 697b ldr r3, [r7, #20] 802940e: 085b lsrs r3, r3, #1 8029410: 4313 orrs r3, r2 8029412: 613b str r3, [r7, #16] sector[d_DateTime] = (uint8_t) (DateTime & 0xff); 8029414: 693b ldr r3, [r7, #16] 8029416: b2da uxtb r2, r3 8029418: 4b41 ldr r3, [pc, #260] ; (8029520 ) 802941a: 741a strb r2, [r3, #16] sector[d_DateTime + 1] = (uint8_t) ((DateTime >> 8) & 0xff); 802941c: 693b ldr r3, [r7, #16] 802941e: 0a1b lsrs r3, r3, #8 8029420: b2da uxtb r2, r3 8029422: 4b3f ldr r3, [pc, #252] ; (8029520 ) 8029424: 745a strb r2, [r3, #17] sector[d_DateTime + 2] = (uint8_t) ((DateTime >> 16) & 0xff); 8029426: 693b ldr r3, [r7, #16] 8029428: 0c1b lsrs r3, r3, #16 802942a: b2da uxtb r2, r3 802942c: 4b3c ldr r3, [pc, #240] ; (8029520 ) 802942e: 749a strb r2, [r3, #18] sector[d_DateTime + 3] = (uint8_t) ((DateTime >> 24) & 0xff); 8029430: 693b ldr r3, [r7, #16] 8029432: 0e1b lsrs r3, r3, #24 8029434: b2da uxtb r2, r3 8029436: 4b3a ldr r3, [pc, #232] ; (8029520 ) 8029438: 74da strb r2, [r3, #19] sector[d_13] = 0xD; 802943a: 4b39 ldr r3, [pc, #228] ; (8029520 ) 802943c: 220d movs r2, #13 802943e: 77da strb r2, [r3, #31] sector[d_10] = 0xA; 8029440: 4b37 ldr r3, [pc, #220] ; (8029520 ) 8029442: 220a movs r2, #10 8029444: f883 2020 strb.w r2, [r3, #32] res = f_write(&F, sector, 33, &fk); 8029448: f107 030c add.w r3, r7, #12 802944c: 2221 movs r2, #33 ; 0x21 802944e: 4934 ldr r1, [pc, #208] ; (8029520 ) 8029450: 4831 ldr r0, [pc, #196] ; (8029518 ) 8029452: f0a2 f885 bl 80cb560 8029456: 4603 mov r3, r0 8029458: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 33)) 802945c: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029460: 2b00 cmp r3, #0 8029462: d11f bne.n 80294a4 8029464: 68fb ldr r3, [r7, #12] 8029466: 2b21 cmp r3, #33 ; 0x21 8029468: d11c bne.n 80294a4 { f_close(&F); 802946a: 482b ldr r0, [pc, #172] ; (8029518 ) 802946c: f0a2 fb1c bl 80cbaa8 if(IndexMeas[NextIndexPoint] < 999) 8029470: 4b2a ldr r3, [pc, #168] ; (802951c ) 8029472: 681b ldr r3, [r3, #0] 8029474: 4a2c ldr r2, [pc, #176] ; (8029528 ) 8029476: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802947a: f240 32e6 movw r2, #998 ; 0x3e6 802947e: 4293 cmp r3, r2 8029480: d808 bhi.n 8029494 IndexMeas[NextIndexPoint]++; 8029482: 4b26 ldr r3, [pc, #152] ; (802951c ) 8029484: 681b ldr r3, [r3, #0] 8029486: 4a28 ldr r2, [pc, #160] ; (8029528 ) 8029488: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802948c: 3201 adds r2, #1 802948e: 4926 ldr r1, [pc, #152] ; (8029528 ) 8029490: f841 2023 str.w r2, [r1, r3, lsl #2] NextIndexMeas = IndexMeas[NextIndexPoint]; 8029494: 4b21 ldr r3, [pc, #132] ; (802951c ) 8029496: 681b ldr r3, [r3, #0] 8029498: 4a23 ldr r2, [pc, #140] ; (8029528 ) 802949a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802949e: 4a23 ldr r2, [pc, #140] ; (802952c ) 80294a0: 6013 str r3, [r2, #0] 80294a2: e1f6 b.n 8029892 } else { f_close(&F); 80294a4: 481c ldr r0, [pc, #112] ; (8029518 ) 80294a6: f0a2 faff bl 80cbaa8 return FR_DISK_ERR; 80294aa: 2301 movs r3, #1 80294ac: e1f3 b.n 8029896 } } else { f_close(&F); 80294ae: 481a ldr r0, [pc, #104] ; (8029518 ) 80294b0: f0a2 fafa bl 80cbaa8 return FR_DISK_ERR; 80294b4: 2301 movs r3, #1 80294b6: e1ee b.n 8029896 } } else { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 80294b8: f04f 0200 mov.w r2, #0 80294bc: f04f 0300 mov.w r3, #0 80294c0: 4815 ldr r0, [pc, #84] ; (8029518 ) 80294c2: f0a2 fb11 bl 80cbae8 80294c6: 4603 mov r3, r0 80294c8: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 80294cc: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80294d0: 2b00 cmp r3, #0 80294d2: d17f bne.n 80295d4 { res = f_read(&F, sector, 6, &fk); 80294d4: f107 030c add.w r3, r7, #12 80294d8: 2206 movs r2, #6 80294da: 4911 ldr r1, [pc, #68] ; (8029520 ) 80294dc: 480e ldr r0, [pc, #56] ; (8029518 ) 80294de: f0a1 fefc bl 80cb2da 80294e2: 4603 mov r3, r0 80294e4: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 6)) 80294e8: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80294ec: 2b00 cmp r3, #0 80294ee: d16c bne.n 80295ca 80294f0: 68fb ldr r3, [r7, #12] 80294f2: 2b06 cmp r3, #6 80294f4: d169 bne.n 80295ca { sector[6] = '\0'; 80294f6: 4b0a ldr r3, [pc, #40] ; (8029520 ) 80294f8: 2200 movs r2, #0 80294fa: 719a strb r2, [r3, #6] if(strcmp((char *) sector, "Extend")) 80294fc: 490c ldr r1, [pc, #48] ; (8029530 ) 80294fe: 4808 ldr r0, [pc, #32] ; (8029520 ) 8029500: f7f6 fefe bl 8020300 8029504: 4603 mov r3, r0 8029506: 2b00 cmp r3, #0 8029508: d014 beq.n 8029534 { //Ñòàðàÿ âåðñèÿ ôàéëà ifs = 0; 802950a: f04f 0300 mov.w r3, #0 802950e: f04f 0400 mov.w r4, #0 8029512: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 8029516: e062 b.n 80295de 8029518: 20022e78 .word 0x20022e78 802951c: 20021fec .word 0x20021fec 8029520: 2007c000 .word 0x2007c000 8029524: 20022644 .word 0x20022644 8029528: 20022ef8 .word 0x20022ef8 802952c: 20022360 .word 0x20022360 8029530: 080d4eac .word 0x080d4eac } else { //Ðàñøèðåííàÿ âåðñèÿ ôàéëà ñ êîììåíòàðèÿìè memcpy(sector, Comment, sizeof(Comment)); 8029534: 4b51 ldr r3, [pc, #324] ; (802967c ) 8029536: 4a52 ldr r2, [pc, #328] ; (8029680 ) 8029538: 4614 mov r4, r2 802953a: 461e mov r6, r3 802953c: f104 0e20 add.w lr, r4, #32 8029540: 4635 mov r5, r6 8029542: 4623 mov r3, r4 8029544: 6818 ldr r0, [r3, #0] 8029546: 6859 ldr r1, [r3, #4] 8029548: 689a ldr r2, [r3, #8] 802954a: 68db ldr r3, [r3, #12] 802954c: c50f stmia r5!, {r0, r1, r2, r3} 802954e: 3410 adds r4, #16 8029550: 3610 adds r6, #16 8029552: 4574 cmp r4, lr 8029554: d1f4 bne.n 8029540 8029556: 4633 mov r3, r6 8029558: 4622 mov r2, r4 802955a: 6810 ldr r0, [r2, #0] 802955c: 6851 ldr r1, [r2, #4] 802955e: c303 stmia r3!, {r0, r1} ifs = 96u + (NextIndexPoint * sizeof(Comment)); 8029560: 4b48 ldr r3, [pc, #288] ; (8029684 ) 8029562: 681a ldr r2, [r3, #0] 8029564: 4613 mov r3, r2 8029566: 009b lsls r3, r3, #2 8029568: 4413 add r3, r2 802956a: 00db lsls r3, r3, #3 802956c: 3360 adds r3, #96 ; 0x60 802956e: f04f 0400 mov.w r4, #0 8029572: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 8029576: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 802957a: 4843 ldr r0, [pc, #268] ; (8029688 ) 802957c: f0a2 fab4 bl 80cbae8 8029580: 4603 mov r3, r0 8029582: 2b00 cmp r3, #0 8029584: d11c bne.n 80295c0 { res = f_write(&F, sector, sizeof(Comment), &fk); 8029586: f107 030c add.w r3, r7, #12 802958a: 2228 movs r2, #40 ; 0x28 802958c: 493b ldr r1, [pc, #236] ; (802967c ) 802958e: 483e ldr r0, [pc, #248] ; (8029688 ) 8029590: f0a1 ffe6 bl 80cb560 8029594: 4603 mov r3, r0 8029596: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != sizeof(Comment))) 802959a: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802959e: 2b00 cmp r3, #0 80295a0: d102 bne.n 80295a8 80295a2: 68fb ldr r3, [r7, #12] 80295a4: 2b28 cmp r3, #40 ; 0x28 80295a6: d004 beq.n 80295b2 { f_close(&F); 80295a8: 4837 ldr r0, [pc, #220] ; (8029688 ) 80295aa: f0a2 fa7d bl 80cbaa8 return FR_DISK_ERR; 80295ae: 2301 movs r3, #1 80295b0: e171 b.n 8029896 } ifs = 96u + (NUM_POINTS * sizeof(Comment)); 80295b2: f649 43a0 movw r3, #40096 ; 0x9ca0 80295b6: f04f 0400 mov.w r4, #0 80295ba: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 80295be: e00e b.n 80295de } else { f_close(&F); 80295c0: 4831 ldr r0, [pc, #196] ; (8029688 ) 80295c2: f0a2 fa71 bl 80cbaa8 return FR_DISK_ERR; 80295c6: 2301 movs r3, #1 80295c8: e165 b.n 8029896 } } else { f_close(&F); 80295ca: 482f ldr r0, [pc, #188] ; (8029688 ) 80295cc: f0a2 fa6c bl 80cbaa8 return FR_DISK_ERR; 80295d0: 2301 movs r3, #1 80295d2: e160 b.n 8029896 } } else { f_close(&F); 80295d4: 482c ldr r0, [pc, #176] ; (8029688 ) 80295d6: f0a2 fa67 bl 80cbaa8 return FR_DISK_ERR; 80295da: 2301 movs r3, #1 80295dc: e15b b.n 8029896 } /////////////////////////////////////////////////////////////////////////////// while(ifs < f_size(&F)) 80295de: e14e b.n 802987e { if(f_lseek(&F, ifs) == FR_OK) 80295e0: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 80295e4: 4828 ldr r0, [pc, #160] ; (8029688 ) 80295e6: f0a2 fa7f bl 80cbae8 80295ea: 4603 mov r3, r0 80295ec: 2b00 cmp r3, #0 80295ee: f040 8141 bne.w 8029874 { res = f_read(&F, sector, 33, &fk); 80295f2: f107 030c add.w r3, r7, #12 80295f6: 2221 movs r2, #33 ; 0x21 80295f8: 4920 ldr r1, [pc, #128] ; (802967c ) 80295fa: 4823 ldr r0, [pc, #140] ; (8029688 ) 80295fc: f0a1 fe6d bl 80cb2da 8029600: 4603 mov r3, r0 8029602: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 33)) 8029606: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802960a: 2b00 cmp r3, #0 802960c: f040 812d bne.w 802986a 8029610: 68fb ldr r3, [r7, #12] 8029612: 2b21 cmp r3, #33 ; 0x21 8029614: f040 8129 bne.w 802986a { if((sector[d_13] == 0xD) && (sector[d_10] == 0xA)) 8029618: 4b18 ldr r3, [pc, #96] ; (802967c ) 802961a: 7fdb ldrb r3, [r3, #31] 802961c: 2b0d cmp r3, #13 802961e: f040 8116 bne.w 802984e 8029622: 4b16 ldr r3, [pc, #88] ; (802967c ) 8029624: f893 3020 ldrb.w r3, [r3, #32] 8029628: 2b0a cmp r3, #10 802962a: f040 8110 bne.w 802984e { IP = sector[d_Point + 1]; 802962e: 4b13 ldr r3, [pc, #76] ; (802967c ) 8029630: 785b ldrb r3, [r3, #1] 8029632: 85bb strh r3, [r7, #44] ; 0x2c IP = (IP << 8) | sector[d_Point]; 8029634: 8dbb ldrh r3, [r7, #44] ; 0x2c 8029636: 021b lsls r3, r3, #8 8029638: b21a sxth r2, r3 802963a: 4b10 ldr r3, [pc, #64] ; (802967c ) 802963c: 781b ldrb r3, [r3, #0] 802963e: b21b sxth r3, r3 8029640: 4313 orrs r3, r2 8029642: b21b sxth r3, r3 8029644: 85bb strh r3, [r7, #44] ; 0x2c if(NextIndexPoint == IP) 8029646: 8dba ldrh r2, [r7, #44] ; 0x2c 8029648: 4b0e ldr r3, [pc, #56] ; (8029684 ) 802964a: 681b ldr r3, [r3, #0] 802964c: 429a cmp r2, r3 802964e: f040 8103 bne.w 8029858 { IM = sector[d_Meas + 1]; 8029652: 4b0a ldr r3, [pc, #40] ; (802967c ) 8029654: 78db ldrb r3, [r3, #3] 8029656: 85fb strh r3, [r7, #46] ; 0x2e IM = (IM << 8) | sector[d_Meas]; 8029658: 8dfb ldrh r3, [r7, #46] ; 0x2e 802965a: 021b lsls r3, r3, #8 802965c: b21a sxth r2, r3 802965e: 4b07 ldr r3, [pc, #28] ; (802967c ) 8029660: 789b ldrb r3, [r3, #2] 8029662: b21b sxth r3, r3 8029664: 4313 orrs r3, r2 8029666: b21b sxth r3, r3 8029668: 85fb strh r3, [r7, #46] ; 0x2e if(NextIndexMeas == IM) 802966a: 8dfa ldrh r2, [r7, #46] ; 0x2e 802966c: 4b07 ldr r3, [pc, #28] ; (802968c ) 802966e: 681b ldr r3, [r3, #0] 8029670: 429a cmp r2, r3 8029672: f040 80f1 bne.w 8029858 { for(i = 0; i < 4; i++) 8029676: 2300 movs r3, #0 8029678: 63bb str r3, [r7, #56] ; 0x38 802967a: e029 b.n 80296d0 802967c: 2007c000 .word 0x2007c000 8029680: 200226a0 .word 0x200226a0 8029684: 20021fec .word 0x20021fec 8029688: 20022e78 .word 0x20022e78 802968c: 20022360 .word 0x20022360 { sector[d_Op1_1 + i] = DiagnFileData.Op_1.ch[i]; 8029690: 6bbb ldr r3, [r7, #56] ; 0x38 8029692: 3304 adds r3, #4 8029694: 4982 ldr r1, [pc, #520] ; (80298a0 ) 8029696: 6bba ldr r2, [r7, #56] ; 0x38 8029698: 440a add r2, r1 802969a: 7812 ldrb r2, [r2, #0] 802969c: b2d1 uxtb r1, r2 802969e: 4a81 ldr r2, [pc, #516] ; (80298a4 ) 80296a0: 54d1 strb r1, [r2, r3] sector[d_Op2_1 + i] = DiagnFileData.Op_2.ch[i]; 80296a2: 6bbb ldr r3, [r7, #56] ; 0x38 80296a4: 3308 adds r3, #8 80296a6: 497e ldr r1, [pc, #504] ; (80298a0 ) 80296a8: 6bba ldr r2, [r7, #56] ; 0x38 80296aa: 440a add r2, r1 80296ac: 3204 adds r2, #4 80296ae: 7812 ldrb r2, [r2, #0] 80296b0: b2d1 uxtb r1, r2 80296b2: 4a7c ldr r2, [pc, #496] ; (80298a4 ) 80296b4: 54d1 strb r1, [r2, r3] sector[d_Op3_1 + i] = DiagnFileData.Op_3.ch[i]; 80296b6: 6bbb ldr r3, [r7, #56] ; 0x38 80296b8: 330c adds r3, #12 80296ba: 4979 ldr r1, [pc, #484] ; (80298a0 ) 80296bc: 6bba ldr r2, [r7, #56] ; 0x38 80296be: 440a add r2, r1 80296c0: 3208 adds r2, #8 80296c2: 7812 ldrb r2, [r2, #0] 80296c4: b2d1 uxtb r1, r2 80296c6: 4a77 ldr r2, [pc, #476] ; (80298a4 ) 80296c8: 54d1 strb r1, [r2, r3] for(i = 0; i < 4; i++) 80296ca: 6bbb ldr r3, [r7, #56] ; 0x38 80296cc: 3301 adds r3, #1 80296ce: 63bb str r3, [r7, #56] ; 0x38 80296d0: 6bbb ldr r3, [r7, #56] ; 0x38 80296d2: 2b03 cmp r3, #3 80296d4: d9dc bls.n 8029690 } sector[d_Op1_ipr] = DiagnFileData.d_Op1_ipr; 80296d6: 4b72 ldr r3, [pc, #456] ; (80298a0 ) 80296d8: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 80296dc: b2da uxtb r2, r3 80296de: 4b71 ldr r3, [pc, #452] ; (80298a4 ) 80296e0: 751a strb r2, [r3, #20] sector[d_Op2_ipr] = DiagnFileData.d_Op2_ipr; 80296e2: 4b6f ldr r3, [pc, #444] ; (80298a0 ) 80296e4: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 80296e8: b2da uxtb r2, r3 80296ea: 4b6e ldr r3, [pc, #440] ; (80298a4 ) 80296ec: 755a strb r2, [r3, #21] sector[d_Op3_ipr] = DiagnFileData.d_Op3_ipr; 80296ee: 4b6c ldr r3, [pc, #432] ; (80298a0 ) 80296f0: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 80296f4: b2da uxtb r2, r3 80296f6: 4b6b ldr r3, [pc, #428] ; (80298a4 ) 80296f8: 759a strb r2, [r3, #22] sector[d_Op1_ivs] = DiagnFileData.d_Op1_ivs; 80296fa: 4b69 ldr r3, [pc, #420] ; (80298a0 ) 80296fc: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8029700: b2da uxtb r2, r3 8029702: 4b68 ldr r3, [pc, #416] ; (80298a4 ) 8029704: 75da strb r2, [r3, #23] sector[d_Op2_ivs] = DiagnFileData.d_Op2_ivs; 8029706: 4b66 ldr r3, [pc, #408] ; (80298a0 ) 8029708: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 802970c: b2da uxtb r2, r3 802970e: 4b65 ldr r3, [pc, #404] ; (80298a4 ) 8029710: 761a strb r2, [r3, #24] sector[d_Op3_ivs] = DiagnFileData.d_Op3_ivs; 8029712: 4b63 ldr r3, [pc, #396] ; (80298a0 ) 8029714: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8029718: b2da uxtb r2, r3 802971a: 4b62 ldr r3, [pc, #392] ; (80298a4 ) 802971c: 765a strb r2, [r3, #25] sector[d_Op1_col] = DiagnFileData.d_Op1_Color; 802971e: 4b60 ldr r3, [pc, #384] ; (80298a0 ) 8029720: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 8029724: b2da uxtb r2, r3 8029726: 4b5f ldr r3, [pc, #380] ; (80298a4 ) 8029728: 769a strb r2, [r3, #26] sector[d_Op2_col] = DiagnFileData.d_Op2_Color; 802972a: 4b5d ldr r3, [pc, #372] ; (80298a0 ) 802972c: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 8029730: b2da uxtb r2, r3 8029732: 4b5c ldr r3, [pc, #368] ; (80298a4 ) 8029734: 76da strb r2, [r3, #27] sector[d_Op3_col] = DiagnFileData.d_Op3_Color; 8029736: 4b5a ldr r3, [pc, #360] ; (80298a0 ) 8029738: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 802973c: b2da uxtb r2, r3 802973e: 4b59 ldr r3, [pc, #356] ; (80298a4 ) 8029740: 771a strb r2, [r3, #28] sector[d_W] = DiagnFileData.d_Warning; 8029742: 4b57 ldr r3, [pc, #348] ; (80298a0 ) 8029744: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 8029748: b2da uxtb r2, r3 802974a: 4b56 ldr r3, [pc, #344] ; (80298a4 ) 802974c: 775a strb r2, [r3, #29] sector[d_A] = DiagnFileData.d_Alarm; 802974e: 4b54 ldr r3, [pc, #336] ; (80298a0 ) 8029750: f893 3032 ldrb.w r3, [r3, #50] ; 0x32 8029754: b2da uxtb r2, r3 8029756: 4b53 ldr r3, [pc, #332] ; (80298a4 ) 8029758: 779a strb r2, [r3, #30] Day = DiagnFileData.d_Date.Date; 802975a: 4b51 ldr r3, [pc, #324] ; (80298a0 ) 802975c: f893 3026 ldrb.w r3, [r3, #38] ; 0x26 8029760: b2db uxtb r3, r3 8029762: 62bb str r3, [r7, #40] ; 0x28 Month = DiagnFileData.d_Date.Month; 8029764: 4b4e ldr r3, [pc, #312] ; (80298a0 ) 8029766: f893 3025 ldrb.w r3, [r3, #37] ; 0x25 802976a: b2db uxtb r3, r3 802976c: 627b str r3, [r7, #36] ; 0x24 Year = DiagnFileData.d_Date.Year + 2000; 802976e: 4b4c ldr r3, [pc, #304] ; (80298a0 ) 8029770: f893 3027 ldrb.w r3, [r3, #39] ; 0x27 8029774: b2db uxtb r3, r3 8029776: f503 63fa add.w r3, r3, #2000 ; 0x7d0 802977a: 623b str r3, [r7, #32] Hour = DiagnFileData.d_Time.Hours; 802977c: 4b48 ldr r3, [pc, #288] ; (80298a0 ) 802977e: 7b1b ldrb r3, [r3, #12] 8029780: b2db uxtb r3, r3 8029782: 61fb str r3, [r7, #28] Min = DiagnFileData.d_Time.Minutes; 8029784: 4b46 ldr r3, [pc, #280] ; (80298a0 ) 8029786: 7b5b ldrb r3, [r3, #13] 8029788: b2db uxtb r3, r3 802978a: 61bb str r3, [r7, #24] Sec = DiagnFileData.d_Time.Seconds; 802978c: 4b44 ldr r3, [pc, #272] ; (80298a0 ) 802978e: 7b9b ldrb r3, [r3, #14] 8029790: b2db uxtb r3, r3 8029792: 617b str r3, [r7, #20] DateTime = ((Year - 1980) << 25) | (Month << 21) | (Day << 16) | (Hour << 11) | (Min << 5) | (Sec >> 1); 8029794: 6a3b ldr r3, [r7, #32] 8029796: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 802979a: 065a lsls r2, r3, #25 802979c: 6a7b ldr r3, [r7, #36] ; 0x24 802979e: 055b lsls r3, r3, #21 80297a0: 431a orrs r2, r3 80297a2: 6abb ldr r3, [r7, #40] ; 0x28 80297a4: 041b lsls r3, r3, #16 80297a6: 431a orrs r2, r3 80297a8: 69fb ldr r3, [r7, #28] 80297aa: 02db lsls r3, r3, #11 80297ac: 431a orrs r2, r3 80297ae: 69bb ldr r3, [r7, #24] 80297b0: 015b lsls r3, r3, #5 80297b2: 431a orrs r2, r3 80297b4: 697b ldr r3, [r7, #20] 80297b6: 085b lsrs r3, r3, #1 80297b8: 4313 orrs r3, r2 80297ba: 613b str r3, [r7, #16] sector[d_DateTime] = (uint8_t) (DateTime & 0xff); 80297bc: 693b ldr r3, [r7, #16] 80297be: b2da uxtb r2, r3 80297c0: 4b38 ldr r3, [pc, #224] ; (80298a4 ) 80297c2: 741a strb r2, [r3, #16] sector[d_DateTime + 1] = (uint8_t) ((DateTime >> 8) & 0xff); 80297c4: 693b ldr r3, [r7, #16] 80297c6: 0a1b lsrs r3, r3, #8 80297c8: b2da uxtb r2, r3 80297ca: 4b36 ldr r3, [pc, #216] ; (80298a4 ) 80297cc: 745a strb r2, [r3, #17] sector[d_DateTime + 2] = (uint8_t) ((DateTime >> 16) & 0xff); 80297ce: 693b ldr r3, [r7, #16] 80297d0: 0c1b lsrs r3, r3, #16 80297d2: b2da uxtb r2, r3 80297d4: 4b33 ldr r3, [pc, #204] ; (80298a4 ) 80297d6: 749a strb r2, [r3, #18] sector[d_DateTime + 3] = (uint8_t) ((DateTime >> 24) & 0xff); 80297d8: 693b ldr r3, [r7, #16] 80297da: 0e1b lsrs r3, r3, #24 80297dc: b2da uxtb r2, r3 80297de: 4b31 ldr r3, [pc, #196] ; (80298a4 ) 80297e0: 74da strb r2, [r3, #19] sector[d_13] = 0xD; 80297e2: 4b30 ldr r3, [pc, #192] ; (80298a4 ) 80297e4: 220d movs r2, #13 80297e6: 77da strb r2, [r3, #31] sector[d_10] = 0xA; 80297e8: 4b2e ldr r3, [pc, #184] ; (80298a4 ) 80297ea: 220a movs r2, #10 80297ec: f883 2020 strb.w r2, [r3, #32] if(f_lseek(&F, ifs) == FR_OK) 80297f0: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 80297f4: 482c ldr r0, [pc, #176] ; (80298a8 ) 80297f6: f0a2 f977 bl 80cbae8 80297fa: 4603 mov r3, r0 80297fc: 2b00 cmp r3, #0 80297fe: d121 bne.n 8029844 { res = f_write(&F, sector, 33, &fk); 8029800: f107 030c add.w r3, r7, #12 8029804: 2221 movs r2, #33 ; 0x21 8029806: 4927 ldr r1, [pc, #156] ; (80298a4 ) 8029808: 4827 ldr r0, [pc, #156] ; (80298a8 ) 802980a: f0a1 fea9 bl 80cb560 802980e: 4603 mov r3, r0 8029810: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 33)) 8029814: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029818: 2b00 cmp r3, #0 802981a: d10e bne.n 802983a 802981c: 68fb ldr r3, [r7, #12] 802981e: 2b21 cmp r3, #33 ; 0x21 8029820: d10b bne.n 802983a { f_close(&F); 8029822: 4821 ldr r0, [pc, #132] ; (80298a8 ) 8029824: f0a2 f940 bl 80cbaa8 NextIndexMeas = IndexMeas[NextIndexPoint]; 8029828: 4b20 ldr r3, [pc, #128] ; (80298ac ) 802982a: 681b ldr r3, [r3, #0] 802982c: 4a20 ldr r2, [pc, #128] ; (80298b0 ) 802982e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8029832: 4a20 ldr r2, [pc, #128] ; (80298b4 ) 8029834: 6013 str r3, [r2, #0] return FR_OK; 8029836: 2300 movs r3, #0 8029838: e02d b.n 8029896 } else { f_close(&F); 802983a: 481b ldr r0, [pc, #108] ; (80298a8 ) 802983c: f0a2 f934 bl 80cbaa8 return FR_DISK_ERR; 8029840: 2301 movs r3, #1 8029842: e028 b.n 8029896 } } else { f_close(&F); 8029844: 4818 ldr r0, [pc, #96] ; (80298a8 ) 8029846: f0a2 f92f bl 80cbaa8 return FR_DISK_ERR; 802984a: 2301 movs r3, #1 802984c: e023 b.n 8029896 } } else { //BAD DATA IN FILE!!!!!!!!!!!!!! f_close(&F); 802984e: 4816 ldr r0, [pc, #88] ; (80298a8 ) 8029850: f0a2 f92a bl 80cbaa8 return FR_INVALID_OBJECT; 8029854: 2309 movs r3, #9 8029856: e01e b.n 8029896 if(NextIndexPoint == IP) 8029858: bf00 nop } ifs += 33; 802985a: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 802985e: 3321 adds r3, #33 ; 0x21 8029860: f144 0400 adc.w r4, r4, #0 8029864: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 8029868: e009 b.n 802987e } else { f_close(&F); 802986a: 480f ldr r0, [pc, #60] ; (80298a8 ) 802986c: f0a2 f91c bl 80cbaa8 return FR_DISK_ERR; 8029870: 2301 movs r3, #1 8029872: e010 b.n 8029896 } } else { f_close(&F); 8029874: 480c ldr r0, [pc, #48] ; (80298a8 ) 8029876: f0a2 f917 bl 80cbaa8 return FR_DISK_ERR; 802987a: 2301 movs r3, #1 802987c: e00b b.n 8029896 while(ifs < f_size(&F)) 802987e: 4b0a ldr r3, [pc, #40] ; (80298a8 ) 8029880: e9d3 3404 ldrd r3, r4, [r3, #16] 8029884: e9d7 120c ldrd r1, r2, [r7, #48] ; 0x30 8029888: 42a2 cmp r2, r4 802988a: bf08 it eq 802988c: 4299 cmpeq r1, r3 802988e: f4ff aea7 bcc.w 80295e0 } } } } return res; 8029892: f897 303f ldrb.w r3, [r7, #63] ; 0x3f } 8029896: 4618 mov r0, r3 8029898: 3744 adds r7, #68 ; 0x44 802989a: 46bd mov sp, r7 802989c: bdf0 pop {r4, r5, r6, r7, pc} 802989e: bf00 nop 80298a0: 20022644 .word 0x20022644 80298a4: 2007c000 .word 0x2007c000 80298a8: 20022e78 .word 0x20022e78 80298ac: 20021fec .word 0x20021fec 80298b0: 20022ef8 .word 0x20022ef8 80298b4: 20022360 .word 0x20022360 080298b8 : FRESULT ReadNumFiles(uint8_t FileTypes, uint32_t *ReadValue) { 80298b8: b580 push {r7, lr} 80298ba: b084 sub sp, #16 80298bc: af00 add r7, sp, #0 80298be: 4603 mov r3, r0 80298c0: 6039 str r1, [r7, #0] 80298c2: 71fb strb r3, [r7, #7] FRESULT res = FR_OK; 80298c4: 2300 movs r3, #0 80298c6: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 80298c8: 4b3a ldr r3, [pc, #232] ; (80299b4 ) 80298ca: 781b ldrb r3, [r3, #0] 80298cc: b2db uxtb r3, r3 80298ce: 2b03 cmp r3, #3 80298d0: d001 beq.n 80298d6 return FR_NOT_READY; 80298d2: 2303 movs r3, #3 80298d4: e06a b.n 80299ac } if(res == FR_OK) 80298d6: 7bfb ldrb r3, [r7, #15] 80298d8: 2b00 cmp r3, #0 80298da: d166 bne.n 80299aa { memset(SearchPath, 0, sizeof(SearchPath)); 80298dc: f44f 7200 mov.w r2, #512 ; 0x200 80298e0: 2100 movs r1, #0 80298e2: 4835 ldr r0, [pc, #212] ; (80299b8 ) 80298e4: f0a8 fb5e bl 80d1fa4 ScanMode = FileTypes; 80298e8: 4a34 ldr r2, [pc, #208] ; (80299bc ) 80298ea: 79fb ldrb r3, [r7, #7] 80298ec: 7013 strb r3, [r2, #0] FlagReturn = false; 80298ee: 4b34 ldr r3, [pc, #208] ; (80299c0 ) 80298f0: 2200 movs r2, #0 80298f2: 701a strb r2, [r3, #0] if(FileTypes == GET_NUM_CSV_FILES) 80298f4: 79fb ldrb r3, [r7, #7] 80298f6: 2b06 cmp r3, #6 80298f8: d008 beq.n 802990c //strcpy(SearchPath, "0:Routes"); //FlagReturn = true; } else if(FileTypes == GET_NUM_ROUTE_FILES) 80298fa: 79fb ldrb r3, [r7, #7] 80298fc: 2b07 cmp r3, #7 80298fe: d105 bne.n 802990c //strcpy(SearchPath, "0:Routes/"); //if(strlen(RouteName)) //strcat(SearchPath, RouteName); //else return 0; memset((void *) &RouteMeas(0), 0, 65536u); 8029900: f44f 3280 mov.w r2, #65536 ; 0x10000 8029904: 2100 movs r1, #0 8029906: 482f ldr r0, [pc, #188] ; (80299c4 ) 8029908: f0a8 fb4c bl 80d1fa4 { //SearchPath[0] = '0'; //SearchPath[1] = ':'; } SearchPath[0] = '0'; 802990c: 4b2a ldr r3, [pc, #168] ; (80299b8 ) 802990e: 2230 movs r2, #48 ; 0x30 8029910: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8029912: 4b29 ldr r3, [pc, #164] ; (80299b8 ) 8029914: 223a movs r2, #58 ; 0x3a 8029916: 705a strb r2, [r3, #1] ScanFiles(SearchPath, 0); 8029918: 2100 movs r1, #0 802991a: 4827 ldr r0, [pc, #156] ; (80299b8 ) 802991c: f001 f860 bl 802a9e0 memset(SearchPath, 0, sizeof(SearchPath)); 8029920: f44f 7200 mov.w r2, #512 ; 0x200 8029924: 2100 movs r1, #0 8029926: 4824 ldr r0, [pc, #144] ; (80299b8 ) 8029928: f0a8 fb3c bl 80d1fa4 if(FileTypes == GET_NUM_PTM_FILES) *ReadValue = tmpPTM; 802992c: 79fb ldrb r3, [r7, #7] 802992e: 2b00 cmp r3, #0 8029930: d104 bne.n 802993c 8029932: 4b25 ldr r3, [pc, #148] ; (80299c8 ) 8029934: 681a ldr r2, [r3, #0] 8029936: 683b ldr r3, [r7, #0] 8029938: 601a str r2, [r3, #0] 802993a: e036 b.n 80299aa else if(FileTypes == GET_NUM_SPEC_FILES) *ReadValue = tmpSPEC; 802993c: 79fb ldrb r3, [r7, #7] 802993e: 2b03 cmp r3, #3 8029940: d104 bne.n 802994c 8029942: 4b22 ldr r3, [pc, #136] ; (80299cc ) 8029944: 681a ldr r2, [r3, #0] 8029946: 683b ldr r3, [r7, #0] 8029948: 601a str r2, [r3, #0] 802994a: e02e b.n 80299aa else if(FileTypes == GET_NUM_FRAN_FILES) *ReadValue = tmpFRAN; 802994c: 79fb ldrb r3, [r7, #7] 802994e: 2b04 cmp r3, #4 8029950: d104 bne.n 802995c 8029952: 4b1f ldr r3, [pc, #124] ; (80299d0 ) 8029954: 681a ldr r2, [r3, #0] 8029956: 683b ldr r3, [r7, #0] 8029958: 601a str r2, [r3, #0] 802995a: e026 b.n 80299aa else if(FileTypes == GET_NUM_GTR_FILES) *ReadValue = tmpGTR; 802995c: 79fb ldrb r3, [r7, #7] 802995e: 2b01 cmp r3, #1 8029960: d104 bne.n 802996c 8029962: 4b1c ldr r3, [pc, #112] ; (80299d4 ) 8029964: 681a ldr r2, [r3, #0] 8029966: 683b ldr r3, [r7, #0] 8029968: 601a str r2, [r3, #0] 802996a: e01e b.n 80299aa else if(FileTypes == GET_NUM_WAV_FILES) *ReadValue = tmpWAV; 802996c: 79fb ldrb r3, [r7, #7] 802996e: 2b02 cmp r3, #2 8029970: d104 bne.n 802997c 8029972: 4b19 ldr r3, [pc, #100] ; (80299d8 ) 8029974: 681a ldr r2, [r3, #0] 8029976: 683b ldr r3, [r7, #0] 8029978: 601a str r2, [r3, #0] 802997a: e016 b.n 80299aa else if(FileTypes == GET_NUM_DGN_FILES) *ReadValue = tmpDGN; 802997c: 79fb ldrb r3, [r7, #7] 802997e: 2b05 cmp r3, #5 8029980: d104 bne.n 802998c 8029982: 4b16 ldr r3, [pc, #88] ; (80299dc ) 8029984: 681a ldr r2, [r3, #0] 8029986: 683b ldr r3, [r7, #0] 8029988: 601a str r2, [r3, #0] 802998a: e00e b.n 80299aa else if(FileTypes == GET_NUM_CSV_FILES) *ReadValue = tmpCSV; 802998c: 79fb ldrb r3, [r7, #7] 802998e: 2b06 cmp r3, #6 8029990: d104 bne.n 802999c 8029992: 4b13 ldr r3, [pc, #76] ; (80299e0 ) 8029994: 681a ldr r2, [r3, #0] 8029996: 683b ldr r3, [r7, #0] 8029998: 601a str r2, [r3, #0] 802999a: e006 b.n 80299aa else if(FileTypes == GET_NUM_ROUTE_FILES) *ReadValue = tmpGTR; 802999c: 79fb ldrb r3, [r7, #7] 802999e: 2b07 cmp r3, #7 80299a0: d103 bne.n 80299aa 80299a2: 4b0c ldr r3, [pc, #48] ; (80299d4 ) 80299a4: 681a ldr r2, [r3, #0] 80299a6: 683b ldr r3, [r7, #0] 80299a8: 601a str r2, [r3, #0] } return res; 80299aa: 7bfb ldrb r3, [r7, #15] } 80299ac: 4618 mov r0, r3 80299ae: 3710 adds r7, #16 80299b0: 46bd mov sp, r7 80299b2: bd80 pop {r7, pc} 80299b4: 2002169c .word 0x2002169c 80299b8: 20021dd0 .word 0x20021dd0 80299bc: 20020dff .word 0x20020dff 80299c0: 20020dfe .word 0x20020dfe 80299c4: 64100000 .word 0x64100000 80299c8: 20020e40 .word 0x20020e40 80299cc: 20020e48 .word 0x20020e48 80299d0: 20020e4c .word 0x20020e4c 80299d4: 20020e50 .word 0x20020e50 80299d8: 20020e54 .word 0x20020e54 80299dc: 20020e44 .word 0x20020e44 80299e0: 20020e58 .word 0x20020e58 080299e4 : FRESULT ReadNumFilesPTM(uint32_t *ReadValue) { 80299e4: b580 push {r7, lr} 80299e6: b082 sub sp, #8 80299e8: af00 add r7, sp, #0 80299ea: 6078 str r0, [r7, #4] *ReadValue = 0; 80299ec: 687b ldr r3, [r7, #4] 80299ee: 2200 movs r2, #0 80299f0: 601a str r2, [r3, #0] tmpPTM = 0; 80299f2: 4b06 ldr r3, [pc, #24] ; (8029a0c ) 80299f4: 2200 movs r2, #0 80299f6: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_PTM_FILES, ReadValue)); 80299f8: 6879 ldr r1, [r7, #4] 80299fa: 2000 movs r0, #0 80299fc: f7ff ff5c bl 80298b8 8029a00: 4603 mov r3, r0 } 8029a02: 4618 mov r0, r3 8029a04: 3708 adds r7, #8 8029a06: 46bd mov sp, r7 8029a08: bd80 pop {r7, pc} 8029a0a: bf00 nop 8029a0c: 20020e40 .word 0x20020e40 08029a10 : FRESULT ReadNumFilesDGN(uint32_t *ReadValue) { 8029a10: b580 push {r7, lr} 8029a12: b082 sub sp, #8 8029a14: af00 add r7, sp, #0 8029a16: 6078 str r0, [r7, #4] *ReadValue = 0; 8029a18: 687b ldr r3, [r7, #4] 8029a1a: 2200 movs r2, #0 8029a1c: 601a str r2, [r3, #0] tmpDGN = 0; 8029a1e: 4b06 ldr r3, [pc, #24] ; (8029a38 ) 8029a20: 2200 movs r2, #0 8029a22: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_DGN_FILES, ReadValue)); 8029a24: 6879 ldr r1, [r7, #4] 8029a26: 2005 movs r0, #5 8029a28: f7ff ff46 bl 80298b8 8029a2c: 4603 mov r3, r0 } 8029a2e: 4618 mov r0, r3 8029a30: 3708 adds r7, #8 8029a32: 46bd mov sp, r7 8029a34: bd80 pop {r7, pc} 8029a36: bf00 nop 8029a38: 20020e44 .word 0x20020e44 08029a3c : FRESULT ReadNumFilesSPEC(uint32_t *ReadValue) { 8029a3c: b580 push {r7, lr} 8029a3e: b082 sub sp, #8 8029a40: af00 add r7, sp, #0 8029a42: 6078 str r0, [r7, #4] *ReadValue = 0; 8029a44: 687b ldr r3, [r7, #4] 8029a46: 2200 movs r2, #0 8029a48: 601a str r2, [r3, #0] tmpSPEC = 0; 8029a4a: 4b06 ldr r3, [pc, #24] ; (8029a64 ) 8029a4c: 2200 movs r2, #0 8029a4e: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_SPEC_FILES, ReadValue)); 8029a50: 6879 ldr r1, [r7, #4] 8029a52: 2003 movs r0, #3 8029a54: f7ff ff30 bl 80298b8 8029a58: 4603 mov r3, r0 } 8029a5a: 4618 mov r0, r3 8029a5c: 3708 adds r7, #8 8029a5e: 46bd mov sp, r7 8029a60: bd80 pop {r7, pc} 8029a62: bf00 nop 8029a64: 20020e48 .word 0x20020e48 08029a68 : FRESULT ReadNumFilesFRAN(uint32_t *ReadValue) { 8029a68: b580 push {r7, lr} 8029a6a: b082 sub sp, #8 8029a6c: af00 add r7, sp, #0 8029a6e: 6078 str r0, [r7, #4] *ReadValue = 0; 8029a70: 687b ldr r3, [r7, #4] 8029a72: 2200 movs r2, #0 8029a74: 601a str r2, [r3, #0] tmpFRAN = 0; 8029a76: 4b06 ldr r3, [pc, #24] ; (8029a90 ) 8029a78: 2200 movs r2, #0 8029a7a: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_FRAN_FILES, ReadValue)); 8029a7c: 6879 ldr r1, [r7, #4] 8029a7e: 2004 movs r0, #4 8029a80: f7ff ff1a bl 80298b8 8029a84: 4603 mov r3, r0 } 8029a86: 4618 mov r0, r3 8029a88: 3708 adds r7, #8 8029a8a: 46bd mov sp, r7 8029a8c: bd80 pop {r7, pc} 8029a8e: bf00 nop 8029a90: 20020e4c .word 0x20020e4c 08029a94 : FRESULT ReadNumFilesGTR(uint32_t *ReadValue) { 8029a94: b580 push {r7, lr} 8029a96: b082 sub sp, #8 8029a98: af00 add r7, sp, #0 8029a9a: 6078 str r0, [r7, #4] *ReadValue = 0; 8029a9c: 687b ldr r3, [r7, #4] 8029a9e: 2200 movs r2, #0 8029aa0: 601a str r2, [r3, #0] tmpGTR = 0; 8029aa2: 4b06 ldr r3, [pc, #24] ; (8029abc ) 8029aa4: 2200 movs r2, #0 8029aa6: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_GTR_FILES, ReadValue)); 8029aa8: 6879 ldr r1, [r7, #4] 8029aaa: 2001 movs r0, #1 8029aac: f7ff ff04 bl 80298b8 8029ab0: 4603 mov r3, r0 } 8029ab2: 4618 mov r0, r3 8029ab4: 3708 adds r7, #8 8029ab6: 46bd mov sp, r7 8029ab8: bd80 pop {r7, pc} 8029aba: bf00 nop 8029abc: 20020e50 .word 0x20020e50 08029ac0 : FRESULT ReadNumFilesWAV(uint32_t *ReadValue) { 8029ac0: b580 push {r7, lr} 8029ac2: b082 sub sp, #8 8029ac4: af00 add r7, sp, #0 8029ac6: 6078 str r0, [r7, #4] *ReadValue = 0; 8029ac8: 687b ldr r3, [r7, #4] 8029aca: 2200 movs r2, #0 8029acc: 601a str r2, [r3, #0] tmpWAV = 0; 8029ace: 4b06 ldr r3, [pc, #24] ; (8029ae8 ) 8029ad0: 2200 movs r2, #0 8029ad2: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_WAV_FILES, ReadValue)); 8029ad4: 6879 ldr r1, [r7, #4] 8029ad6: 2002 movs r0, #2 8029ad8: f7ff feee bl 80298b8 8029adc: 4603 mov r3, r0 } 8029ade: 4618 mov r0, r3 8029ae0: 3708 adds r7, #8 8029ae2: 46bd mov sp, r7 8029ae4: bd80 pop {r7, pc} 8029ae6: bf00 nop 8029ae8: 20020e54 .word 0x20020e54 08029aec : tmpGTR = 0; return (ReadNumFiles(GET_NUM_GTR_FILES, ReadValue)); } FRESULT ReadNumFilesCSV(uint32_t *ReadValue) { 8029aec: b580 push {r7, lr} 8029aee: b082 sub sp, #8 8029af0: af00 add r7, sp, #0 8029af2: 6078 str r0, [r7, #4] *ReadValue = 0; 8029af4: 687b ldr r3, [r7, #4] 8029af6: 2200 movs r2, #0 8029af8: 601a str r2, [r3, #0] tmpCSV = 0; 8029afa: 4b06 ldr r3, [pc, #24] ; (8029b14 ) 8029afc: 2200 movs r2, #0 8029afe: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_CSV_FILES, ReadValue)); 8029b00: 6879 ldr r1, [r7, #4] 8029b02: 2006 movs r0, #6 8029b04: f7ff fed8 bl 80298b8 8029b08: 4603 mov r3, r0 } 8029b0a: 4618 mov r0, r3 8029b0c: 3708 adds r7, #8 8029b0e: 46bd mov sp, r7 8029b10: bd80 pop {r7, pc} 8029b12: bf00 nop 8029b14: 20020e58 .word 0x20020e58 08029b18 : FRESULT ReadFileList(uint8_t FileTypes, uint32_t IndexFirstFile) { 8029b18: b580 push {r7, lr} 8029b1a: b084 sub sp, #16 8029b1c: af00 add r7, sp, #0 8029b1e: 4603 mov r3, r0 8029b20: 6039 str r1, [r7, #0] 8029b22: 71fb strb r3, [r7, #7] FRESULT res = FR_OK; 8029b24: 2300 movs r3, #0 8029b26: 73fb strb r3, [r7, #15] memset((char *) &ExplorerFiles, 0, VIEW_FILES * sizeof(File_ID0)); 8029b28: f44f 7228 mov.w r2, #672 ; 0x2a0 8029b2c: 2100 movs r1, #0 8029b2e: 4817 ldr r0, [pc, #92] ; (8029b8c ) 8029b30: f0a8 fa38 bl 80d1fa4 CntMyFiles = 0; 8029b34: 4b16 ldr r3, [pc, #88] ; (8029b90 ) 8029b36: 2200 movs r2, #0 8029b38: 601a str r2, [r3, #0] IndxMyFiles = 0; 8029b3a: 4b16 ldr r3, [pc, #88] ; (8029b94 ) 8029b3c: 2200 movs r2, #0 8029b3e: 601a str r2, [r3, #0] if(CardState != MSD_READY) { 8029b40: 4b15 ldr r3, [pc, #84] ; (8029b98 ) 8029b42: 781b ldrb r3, [r3, #0] 8029b44: b2db uxtb r3, r3 8029b46: 2b03 cmp r3, #3 8029b48: d001 beq.n 8029b4e return FR_NOT_READY; 8029b4a: 2303 movs r3, #3 8029b4c: e019 b.n 8029b82 } if(res == FR_OK) 8029b4e: 7bfb ldrb r3, [r7, #15] 8029b50: 2b00 cmp r3, #0 8029b52: d115 bne.n 8029b80 { memset(SearchPath, 0, sizeof(SearchPath)); 8029b54: f44f 7200 mov.w r2, #512 ; 0x200 8029b58: 2100 movs r1, #0 8029b5a: 4810 ldr r0, [pc, #64] ; (8029b9c ) 8029b5c: f0a8 fa22 bl 80d1fa4 ScanMode = FileTypes; 8029b60: 4a0f ldr r2, [pc, #60] ; (8029ba0 ) 8029b62: 79fb ldrb r3, [r7, #7] 8029b64: 7013 strb r3, [r2, #0] FlagReturn = false; 8029b66: 4b0f ldr r3, [pc, #60] ; (8029ba4 ) 8029b68: 2200 movs r2, #0 8029b6a: 701a strb r2, [r3, #0] { SearchPath[0] = '0'; SearchPath[1] = ':'; }*/ SearchPath[0] = '0'; 8029b6c: 4b0b ldr r3, [pc, #44] ; (8029b9c ) 8029b6e: 2230 movs r2, #48 ; 0x30 8029b70: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8029b72: 4b0a ldr r3, [pc, #40] ; (8029b9c ) 8029b74: 223a movs r2, #58 ; 0x3a 8029b76: 705a strb r2, [r3, #1] ScanFiles(SearchPath, IndexFirstFile); 8029b78: 6839 ldr r1, [r7, #0] 8029b7a: 4808 ldr r0, [pc, #32] ; (8029b9c ) 8029b7c: f000 ff30 bl 802a9e0 } return res; 8029b80: 7bfb ldrb r3, [r7, #15] } 8029b82: 4618 mov r0, r3 8029b84: 3710 adds r7, #16 8029b86: 46bd mov sp, r7 8029b88: bd80 pop {r7, pc} 8029b8a: bf00 nop 8029b8c: 200223a0 .word 0x200223a0 8029b90: 20020e0c .word 0x20020e0c 8029b94: 20020e10 .word 0x20020e10 8029b98: 2002169c .word 0x2002169c 8029b9c: 20021dd0 .word 0x20021dd0 8029ba0: 20020dff .word 0x20020dff 8029ba4: 20020dfe .word 0x20020dfe 08029ba8 : FRESULT ReadMyFilesPTM(uint32_t IndexFirstFile) { 8029ba8: b580 push {r7, lr} 8029baa: b082 sub sp, #8 8029bac: af00 add r7, sp, #0 8029bae: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_PTM_FILES, IndexFirstFile)); 8029bb0: 6879 ldr r1, [r7, #4] 8029bb2: 2008 movs r0, #8 8029bb4: f7ff ffb0 bl 8029b18 8029bb8: 4603 mov r3, r0 } 8029bba: 4618 mov r0, r3 8029bbc: 3708 adds r7, #8 8029bbe: 46bd mov sp, r7 8029bc0: bd80 pop {r7, pc} 08029bc2 : FRESULT ReadMyFilesDGN(uint32_t IndexFirstFile) { 8029bc2: b580 push {r7, lr} 8029bc4: b082 sub sp, #8 8029bc6: af00 add r7, sp, #0 8029bc8: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_DGN_FILES, IndexFirstFile)); 8029bca: 6879 ldr r1, [r7, #4] 8029bcc: 200e movs r0, #14 8029bce: f7ff ffa3 bl 8029b18 8029bd2: 4603 mov r3, r0 } 8029bd4: 4618 mov r0, r3 8029bd6: 3708 adds r7, #8 8029bd8: 46bd mov sp, r7 8029bda: bd80 pop {r7, pc} 08029bdc : FRESULT ReadMyFilesSPEC(uint32_t IndexFirstFile) { 8029bdc: b580 push {r7, lr} 8029bde: b082 sub sp, #8 8029be0: af00 add r7, sp, #0 8029be2: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_SPEC_FILES, IndexFirstFile)); 8029be4: 6879 ldr r1, [r7, #4] 8029be6: 200c movs r0, #12 8029be8: f7ff ff96 bl 8029b18 8029bec: 4603 mov r3, r0 } 8029bee: 4618 mov r0, r3 8029bf0: 3708 adds r7, #8 8029bf2: 46bd mov sp, r7 8029bf4: bd80 pop {r7, pc} 08029bf6 : FRESULT ReadMyFilesFRAN(uint32_t IndexFirstFile) { 8029bf6: b580 push {r7, lr} 8029bf8: b082 sub sp, #8 8029bfa: af00 add r7, sp, #0 8029bfc: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_FRAN_FILES, IndexFirstFile)); 8029bfe: 6879 ldr r1, [r7, #4] 8029c00: 200d movs r0, #13 8029c02: f7ff ff89 bl 8029b18 8029c06: 4603 mov r3, r0 } 8029c08: 4618 mov r0, r3 8029c0a: 3708 adds r7, #8 8029c0c: 46bd mov sp, r7 8029c0e: bd80 pop {r7, pc} 08029c10 : FRESULT ReadMyFilesGTR(uint32_t IndexFirstFile) { 8029c10: b580 push {r7, lr} 8029c12: b082 sub sp, #8 8029c14: af00 add r7, sp, #0 8029c16: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_GTR_FILES, IndexFirstFile)); 8029c18: 6879 ldr r1, [r7, #4] 8029c1a: 2009 movs r0, #9 8029c1c: f7ff ff7c bl 8029b18 8029c20: 4603 mov r3, r0 } 8029c22: 4618 mov r0, r3 8029c24: 3708 adds r7, #8 8029c26: 46bd mov sp, r7 8029c28: bd80 pop {r7, pc} 08029c2a : FRESULT ReadMyFilesWAV(uint32_t IndexFirstFile) { 8029c2a: b580 push {r7, lr} 8029c2c: b082 sub sp, #8 8029c2e: af00 add r7, sp, #0 8029c30: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_WAV_FILES, IndexFirstFile)); 8029c32: 6879 ldr r1, [r7, #4] 8029c34: 200a movs r0, #10 8029c36: f7ff ff6f bl 8029b18 8029c3a: 4603 mov r3, r0 } 8029c3c: 4618 mov r0, r3 8029c3e: 3708 adds r7, #8 8029c40: 46bd mov sp, r7 8029c42: bd80 pop {r7, pc} 08029c44 : FRESULT ReadMyFilesCSV(uint32_t IndexFirstFile) { 8029c44: b580 push {r7, lr} 8029c46: b082 sub sp, #8 8029c48: af00 add r7, sp, #0 8029c4a: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_CSV_FILES, IndexFirstFile)); 8029c4c: 6879 ldr r1, [r7, #4] 8029c4e: 200f movs r0, #15 8029c50: f7ff ff62 bl 8029b18 8029c54: 4603 mov r3, r0 } 8029c56: 4618 mov r0, r3 8029c58: 3708 adds r7, #8 8029c5a: 46bd mov sp, r7 8029c5c: bd80 pop {r7, pc} ... 08029c60 : FRESULT CheckExistPTM(char *fname) { 8029c60: b580 push {r7, lr} 8029c62: b084 sub sp, #16 8029c64: af00 add r7, sp, #0 8029c66: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8029c68: 2300 movs r3, #0 8029c6a: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 8029c6c: 4b20 ldr r3, [pc, #128] ; (8029cf0 ) 8029c6e: 781b ldrb r3, [r3, #0] 8029c70: b2db uxtb r3, r3 8029c72: 2b03 cmp r3, #3 8029c74: d001 beq.n 8029c7a return FR_NOT_READY; 8029c76: 2303 movs r3, #3 8029c78: e036 b.n 8029ce8 } VerifyFileNamePTM(fname, FileName); 8029c7a: 491e ldr r1, [pc, #120] ; (8029cf4 ) 8029c7c: 6878 ldr r0, [r7, #4] 8029c7e: f001 fea7 bl 802b9d0 if(*FileName == 0) { 8029c82: 4b1c ldr r3, [pc, #112] ; (8029cf4 ) 8029c84: 781b ldrb r3, [r3, #0] 8029c86: 2b00 cmp r3, #0 8029c88: d101 bne.n 8029c8e return FR_INVALID_NAME; 8029c8a: 2306 movs r3, #6 8029c8c: e02c b.n 8029ce8 } if(res == FR_OK) 8029c8e: 7bfb ldrb r3, [r7, #15] 8029c90: 2b00 cmp r3, #0 8029c92: d128 bne.n 8029ce6 { memset(SearchPath, 0, sizeof(SearchPath)); 8029c94: f44f 7200 mov.w r2, #512 ; 0x200 8029c98: 2100 movs r1, #0 8029c9a: 4817 ldr r0, [pc, #92] ; (8029cf8 ) 8029c9c: f0a8 f982 bl 80d1fa4 SearchPath[0] = '0'; 8029ca0: 4b15 ldr r3, [pc, #84] ; (8029cf8 ) 8029ca2: 2230 movs r2, #48 ; 0x30 8029ca4: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8029ca6: 4b14 ldr r3, [pc, #80] ; (8029cf8 ) 8029ca8: 223a movs r2, #58 ; 0x3a 8029caa: 705a strb r2, [r3, #1] strcat(SearchPath, FileName); 8029cac: 4911 ldr r1, [pc, #68] ; (8029cf4 ) 8029cae: 4812 ldr r0, [pc, #72] ; (8029cf8 ) 8029cb0: f0a8 fa78 bl 80d21a4 res = f_open(&F, SearchPath, FA_READ); 8029cb4: 2201 movs r2, #1 8029cb6: 4910 ldr r1, [pc, #64] ; (8029cf8 ) 8029cb8: 4810 ldr r0, [pc, #64] ; (8029cfc ) 8029cba: f0a1 f8b1 bl 80cae20 8029cbe: 4603 mov r3, r0 8029cc0: 73fb strb r3, [r7, #15] if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8029cc2: 7bfb ldrb r3, [r7, #15] 8029cc4: 2b04 cmp r3, #4 8029cc6: d002 beq.n 8029cce 8029cc8: 7bfb ldrb r3, [r7, #15] 8029cca: 2b05 cmp r3, #5 8029ccc: d101 bne.n 8029cd2 { return FR_NO_FILE; 8029cce: 2304 movs r3, #4 8029cd0: e00a b.n 8029ce8 } else if(res == FR_OK) 8029cd2: 7bfb ldrb r3, [r7, #15] 8029cd4: 2b00 cmp r3, #0 8029cd6: d104 bne.n 8029ce2 { f_close(&F); 8029cd8: 4808 ldr r0, [pc, #32] ; (8029cfc ) 8029cda: f0a1 fee5 bl 80cbaa8 return FR_EXIST; 8029cde: 2308 movs r3, #8 8029ce0: e002 b.n 8029ce8 } else { return FR_DISK_ERR; 8029ce2: 2301 movs r3, #1 8029ce4: e000 b.n 8029ce8 } } else { return FR_DISK_ERR; 8029ce6: 2301 movs r3, #1 } return res; } 8029ce8: 4618 mov r0, r3 8029cea: 3710 adds r7, #16 8029cec: 46bd mov sp, r7 8029cee: bd80 pop {r7, pc} 8029cf0: 2002169c .word 0x2002169c 8029cf4: 20022c10 .word 0x20022c10 8029cf8: 20021dd0 .word 0x20021dd0 8029cfc: 20022e78 .word 0x20022e78 08029d00 : FRESULT CheckExistDGN(char *fname) { 8029d00: b580 push {r7, lr} 8029d02: b084 sub sp, #16 8029d04: af00 add r7, sp, #0 8029d06: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8029d08: 2300 movs r3, #0 8029d0a: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 8029d0c: 4b20 ldr r3, [pc, #128] ; (8029d90 ) 8029d0e: 781b ldrb r3, [r3, #0] 8029d10: b2db uxtb r3, r3 8029d12: 2b03 cmp r3, #3 8029d14: d001 beq.n 8029d1a return FR_NOT_READY; 8029d16: 2303 movs r3, #3 8029d18: e036 b.n 8029d88 } VerifyFileNameDGN(fname, FileName); 8029d1a: 491e ldr r1, [pc, #120] ; (8029d94 ) 8029d1c: 6878 ldr r0, [r7, #4] 8029d1e: f001 fef3 bl 802bb08 if(*FileName == 0) { 8029d22: 4b1c ldr r3, [pc, #112] ; (8029d94 ) 8029d24: 781b ldrb r3, [r3, #0] 8029d26: 2b00 cmp r3, #0 8029d28: d101 bne.n 8029d2e return FR_INVALID_NAME; 8029d2a: 2306 movs r3, #6 8029d2c: e02c b.n 8029d88 } if(res == FR_OK) 8029d2e: 7bfb ldrb r3, [r7, #15] 8029d30: 2b00 cmp r3, #0 8029d32: d128 bne.n 8029d86 { memset(SearchPath, 0, sizeof(SearchPath)); 8029d34: f44f 7200 mov.w r2, #512 ; 0x200 8029d38: 2100 movs r1, #0 8029d3a: 4817 ldr r0, [pc, #92] ; (8029d98 ) 8029d3c: f0a8 f932 bl 80d1fa4 SearchPath[0] = '0'; 8029d40: 4b15 ldr r3, [pc, #84] ; (8029d98 ) 8029d42: 2230 movs r2, #48 ; 0x30 8029d44: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8029d46: 4b14 ldr r3, [pc, #80] ; (8029d98 ) 8029d48: 223a movs r2, #58 ; 0x3a 8029d4a: 705a strb r2, [r3, #1] strcat(SearchPath, FileName); 8029d4c: 4911 ldr r1, [pc, #68] ; (8029d94 ) 8029d4e: 4812 ldr r0, [pc, #72] ; (8029d98 ) 8029d50: f0a8 fa28 bl 80d21a4 res = f_open(&F, SearchPath, FA_READ); 8029d54: 2201 movs r2, #1 8029d56: 4910 ldr r1, [pc, #64] ; (8029d98 ) 8029d58: 4810 ldr r0, [pc, #64] ; (8029d9c ) 8029d5a: f0a1 f861 bl 80cae20 8029d5e: 4603 mov r3, r0 8029d60: 73fb strb r3, [r7, #15] if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8029d62: 7bfb ldrb r3, [r7, #15] 8029d64: 2b04 cmp r3, #4 8029d66: d002 beq.n 8029d6e 8029d68: 7bfb ldrb r3, [r7, #15] 8029d6a: 2b05 cmp r3, #5 8029d6c: d101 bne.n 8029d72 { return FR_NO_FILE; 8029d6e: 2304 movs r3, #4 8029d70: e00a b.n 8029d88 } else if(res == FR_OK) 8029d72: 7bfb ldrb r3, [r7, #15] 8029d74: 2b00 cmp r3, #0 8029d76: d104 bne.n 8029d82 { f_close(&F); 8029d78: 4808 ldr r0, [pc, #32] ; (8029d9c ) 8029d7a: f0a1 fe95 bl 80cbaa8 return FR_EXIST; 8029d7e: 2308 movs r3, #8 8029d80: e002 b.n 8029d88 } else { return FR_DISK_ERR; 8029d82: 2301 movs r3, #1 8029d84: e000 b.n 8029d88 } } else { return FR_DISK_ERR; 8029d86: 2301 movs r3, #1 } return res; } 8029d88: 4618 mov r0, r3 8029d8a: 3710 adds r7, #16 8029d8c: 46bd mov sp, r7 8029d8e: bd80 pop {r7, pc} 8029d90: 2002169c .word 0x2002169c 8029d94: 20022c10 .word 0x20022c10 8029d98: 20021dd0 .word 0x20021dd0 8029d9c: 20022e78 .word 0x20022e78 08029da0 : FRESULT CheckExistSPEC(char *fname) { 8029da0: b580 push {r7, lr} 8029da2: b084 sub sp, #16 8029da4: af00 add r7, sp, #0 8029da6: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8029da8: 2300 movs r3, #0 8029daa: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 8029dac: 4b21 ldr r3, [pc, #132] ; (8029e34 ) 8029dae: 781b ldrb r3, [r3, #0] 8029db0: b2db uxtb r3, r3 8029db2: 2b03 cmp r3, #3 8029db4: d001 beq.n 8029dba return FR_NOT_READY; 8029db6: 2303 movs r3, #3 8029db8: e037 b.n 8029e2a } memset(FileName, 0, sizeof(FileName)); 8029dba: 2228 movs r2, #40 ; 0x28 8029dbc: 2100 movs r1, #0 8029dbe: 481e ldr r0, [pc, #120] ; (8029e38 ) 8029dc0: f0a8 f8f0 bl 80d1fa4 VerifyFileNameSPEC(fname, FileName); 8029dc4: 491c ldr r1, [pc, #112] ; (8029e38 ) 8029dc6: 6878 ldr r0, [r7, #4] 8029dc8: f002 f872 bl 802beb0 if(*FileName == 0) { 8029dcc: 4b1a ldr r3, [pc, #104] ; (8029e38 ) 8029dce: 781b ldrb r3, [r3, #0] 8029dd0: 2b00 cmp r3, #0 8029dd2: d101 bne.n 8029dd8 return FR_INVALID_NAME; 8029dd4: 2306 movs r3, #6 8029dd6: e028 b.n 8029e2a } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 8029dd8: 7bfb ldrb r3, [r7, #15] 8029dda: 2b00 cmp r3, #0 8029ddc: d124 bne.n 8029e28 { memset(PointPath, 0, sizeof(PointPath)); 8029dde: f44f 7200 mov.w r2, #512 ; 0x200 8029de2: 2100 movs r1, #0 8029de4: 4815 ldr r0, [pc, #84] ; (8029e3c ) 8029de6: f0a8 f8dd bl 80d1fa4 memset(SearchPath, 0, sizeof(SearchPath)); 8029dea: f44f 7200 mov.w r2, #512 ; 0x200 8029dee: 2100 movs r1, #0 8029df0: 4813 ldr r0, [pc, #76] ; (8029e40 ) 8029df2: f0a8 f8d7 bl 80d1fa4 SearchPath[0] = '0'; 8029df6: 4b12 ldr r3, [pc, #72] ; (8029e40 ) 8029df8: 2230 movs r2, #48 ; 0x30 8029dfa: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8029dfc: 4b10 ldr r3, [pc, #64] ; (8029e40 ) 8029dfe: 223a movs r2, #58 ; 0x3a 8029e00: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8029e02: 4b10 ldr r3, [pc, #64] ; (8029e44 ) 8029e04: 220b movs r2, #11 8029e06: 701a strb r2, [r3, #0] FlagReturn = false; 8029e08: 4b0f ldr r3, [pc, #60] ; (8029e48 ) 8029e0a: 2200 movs r2, #0 8029e0c: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8029e0e: 2100 movs r1, #0 8029e10: 480b ldr r0, [pc, #44] ; (8029e40 ) 8029e12: f000 fde5 bl 802a9e0 if(PointPath[0] == 0) 8029e16: 4b09 ldr r3, [pc, #36] ; (8029e3c ) 8029e18: 781b ldrb r3, [r3, #0] 8029e1a: 2b00 cmp r3, #0 8029e1c: d102 bne.n 8029e24 res = FR_NO_FILE; 8029e1e: 2304 movs r3, #4 8029e20: 73fb strb r3, [r7, #15] 8029e22: e001 b.n 8029e28 else res = FR_EXIST; 8029e24: 2308 movs r3, #8 8029e26: 73fb strb r3, [r7, #15] //f_mount(&fs, SDPath, 0); } return res; 8029e28: 7bfb ldrb r3, [r7, #15] } 8029e2a: 4618 mov r0, r3 8029e2c: 3710 adds r7, #16 8029e2e: 46bd mov sp, r7 8029e30: bd80 pop {r7, pc} 8029e32: bf00 nop 8029e34: 2002169c .word 0x2002169c 8029e38: 20022c10 .word 0x20022c10 8029e3c: 20022a0c .word 0x20022a0c 8029e40: 20021dd0 .word 0x20021dd0 8029e44: 20020dff .word 0x20020dff 8029e48: 20020dfe .word 0x20020dfe 08029e4c : } FRESULT DeleteFilePTM(char* fname) { 8029e4c: b580 push {r7, lr} 8029e4e: b084 sub sp, #16 8029e50: af00 add r7, sp, #0 8029e52: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8029e54: 2300 movs r3, #0 8029e56: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 8029e58: 4b29 ldr r3, [pc, #164] ; (8029f00 ) 8029e5a: 781b ldrb r3, [r3, #0] 8029e5c: b2db uxtb r3, r3 8029e5e: 2b03 cmp r3, #3 8029e60: d001 beq.n 8029e66 return FR_NOT_READY; 8029e62: 2303 movs r3, #3 8029e64: e047 b.n 8029ef6 } memset(FileName, 0, sizeof(FileName)); 8029e66: 2228 movs r2, #40 ; 0x28 8029e68: 2100 movs r1, #0 8029e6a: 4826 ldr r0, [pc, #152] ; (8029f04 ) 8029e6c: f0a8 f89a bl 80d1fa4 VerifyFileNamePTM(fname, FileName); 8029e70: 4924 ldr r1, [pc, #144] ; (8029f04 ) 8029e72: 6878 ldr r0, [r7, #4] 8029e74: f001 fdac bl 802b9d0 if(*FileName == 0) { 8029e78: 4b22 ldr r3, [pc, #136] ; (8029f04 ) 8029e7a: 781b ldrb r3, [r3, #0] 8029e7c: 2b00 cmp r3, #0 8029e7e: d101 bne.n 8029e84 return FR_INVALID_NAME; 8029e80: 2306 movs r3, #6 8029e82: e038 b.n 8029ef6 } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 8029e84: 7bfb ldrb r3, [r7, #15] 8029e86: 2b00 cmp r3, #0 8029e88: d134 bne.n 8029ef4 { memset(SearchPath, 0, sizeof(SearchPath)); 8029e8a: f44f 7200 mov.w r2, #512 ; 0x200 8029e8e: 2100 movs r1, #0 8029e90: 481d ldr r0, [pc, #116] ; (8029f08 ) 8029e92: f0a8 f887 bl 80d1fa4 memset(PointPath, 0, sizeof(PointPath)); 8029e96: f44f 7200 mov.w r2, #512 ; 0x200 8029e9a: 2100 movs r1, #0 8029e9c: 481b ldr r0, [pc, #108] ; (8029f0c ) 8029e9e: f0a8 f881 bl 80d1fa4 SearchPath[0] = '0'; 8029ea2: 4b19 ldr r3, [pc, #100] ; (8029f08 ) 8029ea4: 2230 movs r2, #48 ; 0x30 8029ea6: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8029ea8: 4b17 ldr r3, [pc, #92] ; (8029f08 ) 8029eaa: 223a movs r2, #58 ; 0x3a 8029eac: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8029eae: 4b18 ldr r3, [pc, #96] ; (8029f10 ) 8029eb0: 220b movs r2, #11 8029eb2: 701a strb r2, [r3, #0] FlagReturn = false; 8029eb4: 4b17 ldr r3, [pc, #92] ; (8029f14 ) 8029eb6: 2200 movs r2, #0 8029eb8: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8029eba: 2100 movs r1, #0 8029ebc: 4812 ldr r0, [pc, #72] ; (8029f08 ) 8029ebe: f000 fd8f bl 802a9e0 if(PointPath[0] != '\0') 8029ec2: 4b12 ldr r3, [pc, #72] ; (8029f0c ) 8029ec4: 781b ldrb r3, [r3, #0] 8029ec6: 2b00 cmp r3, #0 8029ec8: d012 beq.n 8029ef0 { res = f_open(&F, PointPath, FA_READ); 8029eca: 2201 movs r2, #1 8029ecc: 490f ldr r1, [pc, #60] ; (8029f0c ) 8029ece: 4812 ldr r0, [pc, #72] ; (8029f18 ) 8029ed0: f0a0 ffa6 bl 80cae20 8029ed4: 4603 mov r3, r0 8029ed6: 73fb strb r3, [r7, #15] if(res == FR_OK) 8029ed8: 7bfb ldrb r3, [r7, #15] 8029eda: 2b00 cmp r3, #0 8029edc: d10a bne.n 8029ef4 { f_close(&F); 8029ede: 480e ldr r0, [pc, #56] ; (8029f18 ) 8029ee0: f0a1 fde2 bl 80cbaa8 res = f_unlink(PointPath); 8029ee4: 4809 ldr r0, [pc, #36] ; (8029f0c ) 8029ee6: f0a2 fa6e bl 80cc3c6 8029eea: 4603 mov r3, r0 8029eec: 73fb strb r3, [r7, #15] 8029eee: e001 b.n 8029ef4 } } else { res = FR_INVALID_OBJECT; 8029ef0: 2309 movs r3, #9 8029ef2: 73fb strb r3, [r7, #15] } } return res; 8029ef4: 7bfb ldrb r3, [r7, #15] } 8029ef6: 4618 mov r0, r3 8029ef8: 3710 adds r7, #16 8029efa: 46bd mov sp, r7 8029efc: bd80 pop {r7, pc} 8029efe: bf00 nop 8029f00: 2002169c .word 0x2002169c 8029f04: 20022c10 .word 0x20022c10 8029f08: 20021dd0 .word 0x20021dd0 8029f0c: 20022a0c .word 0x20022a0c 8029f10: 20020dff .word 0x20020dff 8029f14: 20020dfe .word 0x20020dfe 8029f18: 20022e78 .word 0x20022e78 08029f1c : FRESULT DeleteFileDGN(char* fname) { 8029f1c: b580 push {r7, lr} 8029f1e: b084 sub sp, #16 8029f20: af00 add r7, sp, #0 8029f22: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8029f24: 2300 movs r3, #0 8029f26: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 8029f28: 4b29 ldr r3, [pc, #164] ; (8029fd0 ) 8029f2a: 781b ldrb r3, [r3, #0] 8029f2c: b2db uxtb r3, r3 8029f2e: 2b03 cmp r3, #3 8029f30: d001 beq.n 8029f36 return FR_NOT_READY; 8029f32: 2303 movs r3, #3 8029f34: e047 b.n 8029fc6 } memset(FileName, 0, sizeof(FileName)); 8029f36: 2228 movs r2, #40 ; 0x28 8029f38: 2100 movs r1, #0 8029f3a: 4826 ldr r0, [pc, #152] ; (8029fd4 ) 8029f3c: f0a8 f832 bl 80d1fa4 VerifyFileNameDGN(fname, FileName); 8029f40: 4924 ldr r1, [pc, #144] ; (8029fd4 ) 8029f42: 6878 ldr r0, [r7, #4] 8029f44: f001 fde0 bl 802bb08 if(*FileName == 0) { 8029f48: 4b22 ldr r3, [pc, #136] ; (8029fd4 ) 8029f4a: 781b ldrb r3, [r3, #0] 8029f4c: 2b00 cmp r3, #0 8029f4e: d101 bne.n 8029f54 return FR_INVALID_NAME; 8029f50: 2306 movs r3, #6 8029f52: e038 b.n 8029fc6 } if(res == FR_OK) 8029f54: 7bfb ldrb r3, [r7, #15] 8029f56: 2b00 cmp r3, #0 8029f58: d134 bne.n 8029fc4 { memset(SearchPath, 0, sizeof(SearchPath)); 8029f5a: f44f 7200 mov.w r2, #512 ; 0x200 8029f5e: 2100 movs r1, #0 8029f60: 481d ldr r0, [pc, #116] ; (8029fd8 ) 8029f62: f0a8 f81f bl 80d1fa4 memset(PointPath, 0, sizeof(PointPath)); 8029f66: f44f 7200 mov.w r2, #512 ; 0x200 8029f6a: 2100 movs r1, #0 8029f6c: 481b ldr r0, [pc, #108] ; (8029fdc ) 8029f6e: f0a8 f819 bl 80d1fa4 SearchPath[0] = '0'; 8029f72: 4b19 ldr r3, [pc, #100] ; (8029fd8 ) 8029f74: 2230 movs r2, #48 ; 0x30 8029f76: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8029f78: 4b17 ldr r3, [pc, #92] ; (8029fd8 ) 8029f7a: 223a movs r2, #58 ; 0x3a 8029f7c: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8029f7e: 4b18 ldr r3, [pc, #96] ; (8029fe0 ) 8029f80: 220b movs r2, #11 8029f82: 701a strb r2, [r3, #0] FlagReturn = false; 8029f84: 4b17 ldr r3, [pc, #92] ; (8029fe4 ) 8029f86: 2200 movs r2, #0 8029f88: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8029f8a: 2100 movs r1, #0 8029f8c: 4812 ldr r0, [pc, #72] ; (8029fd8 ) 8029f8e: f000 fd27 bl 802a9e0 if(PointPath[0] != '\0') 8029f92: 4b12 ldr r3, [pc, #72] ; (8029fdc ) 8029f94: 781b ldrb r3, [r3, #0] 8029f96: 2b00 cmp r3, #0 8029f98: d012 beq.n 8029fc0 { res = f_open(&F, PointPath, FA_READ); 8029f9a: 2201 movs r2, #1 8029f9c: 490f ldr r1, [pc, #60] ; (8029fdc ) 8029f9e: 4812 ldr r0, [pc, #72] ; (8029fe8 ) 8029fa0: f0a0 ff3e bl 80cae20 8029fa4: 4603 mov r3, r0 8029fa6: 73fb strb r3, [r7, #15] if(res == FR_OK) 8029fa8: 7bfb ldrb r3, [r7, #15] 8029faa: 2b00 cmp r3, #0 8029fac: d10a bne.n 8029fc4 { f_close(&F); 8029fae: 480e ldr r0, [pc, #56] ; (8029fe8 ) 8029fb0: f0a1 fd7a bl 80cbaa8 res = f_unlink(PointPath); 8029fb4: 4809 ldr r0, [pc, #36] ; (8029fdc ) 8029fb6: f0a2 fa06 bl 80cc3c6 8029fba: 4603 mov r3, r0 8029fbc: 73fb strb r3, [r7, #15] 8029fbe: e001 b.n 8029fc4 } } else { res = FR_INVALID_OBJECT; 8029fc0: 2309 movs r3, #9 8029fc2: 73fb strb r3, [r7, #15] } } return res; 8029fc4: 7bfb ldrb r3, [r7, #15] } 8029fc6: 4618 mov r0, r3 8029fc8: 3710 adds r7, #16 8029fca: 46bd mov sp, r7 8029fcc: bd80 pop {r7, pc} 8029fce: bf00 nop 8029fd0: 2002169c .word 0x2002169c 8029fd4: 20022c10 .word 0x20022c10 8029fd8: 20021dd0 .word 0x20021dd0 8029fdc: 20022a0c .word 0x20022a0c 8029fe0: 20020dff .word 0x20020dff 8029fe4: 20020dfe .word 0x20020dfe 8029fe8: 20022e78 .word 0x20022e78 08029fec : FRESULT DeleteFileWAV(char* fname) { 8029fec: b580 push {r7, lr} 8029fee: b084 sub sp, #16 8029ff0: af00 add r7, sp, #0 8029ff2: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8029ff4: 2300 movs r3, #0 8029ff6: 73fb strb r3, [r7, #15] uint32_t l; if(CardState != MSD_READY) { 8029ff8: 4b40 ldr r3, [pc, #256] ; (802a0fc ) 8029ffa: 781b ldrb r3, [r3, #0] 8029ffc: b2db uxtb r3, r3 8029ffe: 2b03 cmp r3, #3 802a000: d001 beq.n 802a006 return FR_NOT_READY; 802a002: 2303 movs r3, #3 802a004: e075 b.n 802a0f2 } memset(FileName, 0, sizeof(FileName)); 802a006: 2228 movs r2, #40 ; 0x28 802a008: 2100 movs r1, #0 802a00a: 483d ldr r0, [pc, #244] ; (802a100 ) 802a00c: f0a7 ffca bl 80d1fa4 VerifyFileNameWAV(fname, FileName); 802a010: 493b ldr r1, [pc, #236] ; (802a100 ) 802a012: 6878 ldr r0, [r7, #4] 802a014: f001 fe14 bl 802bc40 if(*FileName == 0) { 802a018: 4b39 ldr r3, [pc, #228] ; (802a100 ) 802a01a: 781b ldrb r3, [r3, #0] 802a01c: 2b00 cmp r3, #0 802a01e: d101 bne.n 802a024 return FR_INVALID_NAME; 802a020: 2306 movs r3, #6 802a022: e066 b.n 802a0f2 } if(res == FR_OK) 802a024: 7bfb ldrb r3, [r7, #15] 802a026: 2b00 cmp r3, #0 802a028: d162 bne.n 802a0f0 { memset(SearchPath, 0, sizeof(SearchPath)); 802a02a: f44f 7200 mov.w r2, #512 ; 0x200 802a02e: 2100 movs r1, #0 802a030: 4834 ldr r0, [pc, #208] ; (802a104 ) 802a032: f0a7 ffb7 bl 80d1fa4 memset(PointPath, 0, sizeof(PointPath)); 802a036: f44f 7200 mov.w r2, #512 ; 0x200 802a03a: 2100 movs r1, #0 802a03c: 4832 ldr r0, [pc, #200] ; (802a108 ) 802a03e: f0a7 ffb1 bl 80d1fa4 SearchPath[0] = '0'; 802a042: 4b30 ldr r3, [pc, #192] ; (802a104 ) 802a044: 2230 movs r2, #48 ; 0x30 802a046: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802a048: 4b2e ldr r3, [pc, #184] ; (802a104 ) 802a04a: 223a movs r2, #58 ; 0x3a 802a04c: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 802a04e: 4b2f ldr r3, [pc, #188] ; (802a10c ) 802a050: 220b movs r2, #11 802a052: 701a strb r2, [r3, #0] FlagReturn = false; 802a054: 4b2e ldr r3, [pc, #184] ; (802a110 ) 802a056: 2200 movs r2, #0 802a058: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 802a05a: 2100 movs r1, #0 802a05c: 4829 ldr r0, [pc, #164] ; (802a104 ) 802a05e: f000 fcbf bl 802a9e0 if(PointPath[0] != '\0') 802a062: 4b29 ldr r3, [pc, #164] ; (802a108 ) 802a064: 781b ldrb r3, [r3, #0] 802a066: 2b00 cmp r3, #0 802a068: d040 beq.n 802a0ec { res = f_open(&F, PointPath, FA_READ); 802a06a: 2201 movs r2, #1 802a06c: 4926 ldr r1, [pc, #152] ; (802a108 ) 802a06e: 4829 ldr r0, [pc, #164] ; (802a114 ) 802a070: f0a0 fed6 bl 80cae20 802a074: 4603 mov r3, r0 802a076: 73fb strb r3, [r7, #15] if(res == FR_OK) 802a078: 7bfb ldrb r3, [r7, #15] 802a07a: 2b00 cmp r3, #0 802a07c: d138 bne.n 802a0f0 { f_close(&F); 802a07e: 4825 ldr r0, [pc, #148] ; (802a114 ) 802a080: f0a1 fd12 bl 80cbaa8 res = f_unlink(PointPath); 802a084: 4820 ldr r0, [pc, #128] ; (802a108 ) 802a086: f0a2 f99e bl 80cc3c6 802a08a: 4603 mov r3, r0 802a08c: 73fb strb r3, [r7, #15] strcat(PointPath, ".info"); 802a08e: 481e ldr r0, [pc, #120] ; (802a108 ) 802a090: f7f6 f940 bl 8020314 802a094: 4603 mov r3, r0 802a096: 461a mov r2, r3 802a098: 4b1b ldr r3, [pc, #108] ; (802a108 ) 802a09a: 4413 add r3, r2 802a09c: 4a1e ldr r2, [pc, #120] ; (802a118 ) 802a09e: 6810 ldr r0, [r2, #0] 802a0a0: 6018 str r0, [r3, #0] 802a0a2: 8892 ldrh r2, [r2, #4] 802a0a4: 809a strh r2, [r3, #4] res = f_unlink(PointPath); 802a0a6: 4818 ldr r0, [pc, #96] ; (802a108 ) 802a0a8: f0a2 f98d bl 80cc3c6 802a0ac: 4603 mov r3, r0 802a0ae: 73fb strb r3, [r7, #15] l = strlen(PointPath); 802a0b0: 4815 ldr r0, [pc, #84] ; (802a108 ) 802a0b2: f7f6 f92f bl 8020314 802a0b6: 60b8 str r0, [r7, #8] PointPath[l - 1] = 0; 802a0b8: 68bb ldr r3, [r7, #8] 802a0ba: 3b01 subs r3, #1 802a0bc: 4a12 ldr r2, [pc, #72] ; (802a108 ) 802a0be: 2100 movs r1, #0 802a0c0: 54d1 strb r1, [r2, r3] PointPath[l - 2] = 0; 802a0c2: 68bb ldr r3, [r7, #8] 802a0c4: 3b02 subs r3, #2 802a0c6: 4a10 ldr r2, [pc, #64] ; (802a108 ) 802a0c8: 2100 movs r1, #0 802a0ca: 54d1 strb r1, [r2, r3] PointPath[l - 3] = 0; 802a0cc: 68bb ldr r3, [r7, #8] 802a0ce: 3b03 subs r3, #3 802a0d0: 4a0d ldr r2, [pc, #52] ; (802a108 ) 802a0d2: 2100 movs r1, #0 802a0d4: 54d1 strb r1, [r2, r3] PointPath[l - 4] = 0; 802a0d6: 68bb ldr r3, [r7, #8] 802a0d8: 3b04 subs r3, #4 802a0da: 4a0b ldr r2, [pc, #44] ; (802a108 ) 802a0dc: 2100 movs r1, #0 802a0de: 54d1 strb r1, [r2, r3] PointPath[l - 5] = 0; 802a0e0: 68bb ldr r3, [r7, #8] 802a0e2: 3b05 subs r3, #5 802a0e4: 4a08 ldr r2, [pc, #32] ; (802a108 ) 802a0e6: 2100 movs r1, #0 802a0e8: 54d1 strb r1, [r2, r3] 802a0ea: e001 b.n 802a0f0 } } else { res = FR_INVALID_OBJECT; 802a0ec: 2309 movs r3, #9 802a0ee: 73fb strb r3, [r7, #15] } } return res; 802a0f0: 7bfb ldrb r3, [r7, #15] } 802a0f2: 4618 mov r0, r3 802a0f4: 3710 adds r7, #16 802a0f6: 46bd mov sp, r7 802a0f8: bd80 pop {r7, pc} 802a0fa: bf00 nop 802a0fc: 2002169c .word 0x2002169c 802a100: 20022c10 .word 0x20022c10 802a104: 20021dd0 .word 0x20021dd0 802a108: 20022a0c .word 0x20022a0c 802a10c: 20020dff .word 0x20020dff 802a110: 20020dfe .word 0x20020dfe 802a114: 20022e78 .word 0x20022e78 802a118: 080d4f00 .word 0x080d4f00 0802a11c : return res; }*/ FRESULT DeleteFileCSV(char* fname) { 802a11c: b580 push {r7, lr} 802a11e: b084 sub sp, #16 802a120: af00 add r7, sp, #0 802a122: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802a124: 2300 movs r3, #0 802a126: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802a128: 4b29 ldr r3, [pc, #164] ; (802a1d0 ) 802a12a: 781b ldrb r3, [r3, #0] 802a12c: b2db uxtb r3, r3 802a12e: 2b03 cmp r3, #3 802a130: d001 beq.n 802a136 return FR_NOT_READY; 802a132: 2303 movs r3, #3 802a134: e047 b.n 802a1c6 } memset(FileName, 0, sizeof(FileName)); 802a136: 2228 movs r2, #40 ; 0x28 802a138: 2100 movs r1, #0 802a13a: 4826 ldr r0, [pc, #152] ; (802a1d4 ) 802a13c: f0a7 ff32 bl 80d1fa4 VerifyFileNameCSV(fname, FileName); 802a140: 4924 ldr r1, [pc, #144] ; (802a1d4 ) 802a142: 6878 ldr r0, [r7, #4] 802a144: f001 fe18 bl 802bd78 if(*FileName == 0) { 802a148: 4b22 ldr r3, [pc, #136] ; (802a1d4 ) 802a14a: 781b ldrb r3, [r3, #0] 802a14c: 2b00 cmp r3, #0 802a14e: d101 bne.n 802a154 return FR_INVALID_NAME; 802a150: 2306 movs r3, #6 802a152: e038 b.n 802a1c6 } if(res == FR_OK) 802a154: 7bfb ldrb r3, [r7, #15] 802a156: 2b00 cmp r3, #0 802a158: d134 bne.n 802a1c4 { memset(SearchPath, 0, sizeof(SearchPath)); 802a15a: f44f 7200 mov.w r2, #512 ; 0x200 802a15e: 2100 movs r1, #0 802a160: 481d ldr r0, [pc, #116] ; (802a1d8 ) 802a162: f0a7 ff1f bl 80d1fa4 memset(PointPath, 0, sizeof(PointPath)); 802a166: f44f 7200 mov.w r2, #512 ; 0x200 802a16a: 2100 movs r1, #0 802a16c: 481b ldr r0, [pc, #108] ; (802a1dc ) 802a16e: f0a7 ff19 bl 80d1fa4 SearchPath[0] = '0'; 802a172: 4b19 ldr r3, [pc, #100] ; (802a1d8 ) 802a174: 2230 movs r2, #48 ; 0x30 802a176: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802a178: 4b17 ldr r3, [pc, #92] ; (802a1d8 ) 802a17a: 223a movs r2, #58 ; 0x3a 802a17c: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 802a17e: 4b18 ldr r3, [pc, #96] ; (802a1e0 ) 802a180: 220b movs r2, #11 802a182: 701a strb r2, [r3, #0] FlagReturn = false; 802a184: 4b17 ldr r3, [pc, #92] ; (802a1e4 ) 802a186: 2200 movs r2, #0 802a188: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 802a18a: 2100 movs r1, #0 802a18c: 4812 ldr r0, [pc, #72] ; (802a1d8 ) 802a18e: f000 fc27 bl 802a9e0 if(PointPath[0] != '\0') 802a192: 4b12 ldr r3, [pc, #72] ; (802a1dc ) 802a194: 781b ldrb r3, [r3, #0] 802a196: 2b00 cmp r3, #0 802a198: d012 beq.n 802a1c0 { res = f_open(&F, PointPath, FA_READ); 802a19a: 2201 movs r2, #1 802a19c: 490f ldr r1, [pc, #60] ; (802a1dc ) 802a19e: 4812 ldr r0, [pc, #72] ; (802a1e8 ) 802a1a0: f0a0 fe3e bl 80cae20 802a1a4: 4603 mov r3, r0 802a1a6: 73fb strb r3, [r7, #15] if(res == FR_OK) 802a1a8: 7bfb ldrb r3, [r7, #15] 802a1aa: 2b00 cmp r3, #0 802a1ac: d10a bne.n 802a1c4 { f_close(&F); 802a1ae: 480e ldr r0, [pc, #56] ; (802a1e8 ) 802a1b0: f0a1 fc7a bl 80cbaa8 res = f_unlink(PointPath); 802a1b4: 4809 ldr r0, [pc, #36] ; (802a1dc ) 802a1b6: f0a2 f906 bl 80cc3c6 802a1ba: 4603 mov r3, r0 802a1bc: 73fb strb r3, [r7, #15] 802a1be: e001 b.n 802a1c4 } } else { res = FR_INVALID_OBJECT; 802a1c0: 2309 movs r3, #9 802a1c2: 73fb strb r3, [r7, #15] } } return res; 802a1c4: 7bfb ldrb r3, [r7, #15] } 802a1c6: 4618 mov r0, r3 802a1c8: 3710 adds r7, #16 802a1ca: 46bd mov sp, r7 802a1cc: bd80 pop {r7, pc} 802a1ce: bf00 nop 802a1d0: 2002169c .word 0x2002169c 802a1d4: 20022c10 .word 0x20022c10 802a1d8: 20021dd0 .word 0x20021dd0 802a1dc: 20022a0c .word 0x20022a0c 802a1e0: 20020dff .word 0x20020dff 802a1e4: 20020dfe .word 0x20020dfe 802a1e8: 20022e78 .word 0x20022e78 0802a1ec : return res; } FRESULT DeleteFileSPEC(char* fname) { 802a1ec: b580 push {r7, lr} 802a1ee: b084 sub sp, #16 802a1f0: af00 add r7, sp, #0 802a1f2: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802a1f4: 2300 movs r3, #0 802a1f6: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802a1f8: 4b29 ldr r3, [pc, #164] ; (802a2a0 ) 802a1fa: 781b ldrb r3, [r3, #0] 802a1fc: b2db uxtb r3, r3 802a1fe: 2b03 cmp r3, #3 802a200: d001 beq.n 802a206 return FR_NOT_READY; 802a202: 2303 movs r3, #3 802a204: e047 b.n 802a296 } memset(FileName, 0, sizeof(FileName)); 802a206: 2228 movs r2, #40 ; 0x28 802a208: 2100 movs r1, #0 802a20a: 4826 ldr r0, [pc, #152] ; (802a2a4 ) 802a20c: f0a7 feca bl 80d1fa4 VerifyFileNameSPEC(fname, FileName); 802a210: 4924 ldr r1, [pc, #144] ; (802a2a4 ) 802a212: 6878 ldr r0, [r7, #4] 802a214: f001 fe4c bl 802beb0 if(*FileName == 0) { 802a218: 4b22 ldr r3, [pc, #136] ; (802a2a4 ) 802a21a: 781b ldrb r3, [r3, #0] 802a21c: 2b00 cmp r3, #0 802a21e: d101 bne.n 802a224 return FR_INVALID_NAME; 802a220: 2306 movs r3, #6 802a222: e038 b.n 802a296 } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 802a224: 7bfb ldrb r3, [r7, #15] 802a226: 2b00 cmp r3, #0 802a228: d134 bne.n 802a294 { memset(SearchPath, 0, sizeof(SearchPath)); 802a22a: f44f 7200 mov.w r2, #512 ; 0x200 802a22e: 2100 movs r1, #0 802a230: 481d ldr r0, [pc, #116] ; (802a2a8 ) 802a232: f0a7 feb7 bl 80d1fa4 memset(PointPath, 0, sizeof(PointPath)); 802a236: f44f 7200 mov.w r2, #512 ; 0x200 802a23a: 2100 movs r1, #0 802a23c: 481b ldr r0, [pc, #108] ; (802a2ac ) 802a23e: f0a7 feb1 bl 80d1fa4 SearchPath[0] = '0'; 802a242: 4b19 ldr r3, [pc, #100] ; (802a2a8 ) 802a244: 2230 movs r2, #48 ; 0x30 802a246: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802a248: 4b17 ldr r3, [pc, #92] ; (802a2a8 ) 802a24a: 223a movs r2, #58 ; 0x3a 802a24c: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 802a24e: 4b18 ldr r3, [pc, #96] ; (802a2b0 ) 802a250: 220b movs r2, #11 802a252: 701a strb r2, [r3, #0] FlagReturn = false; 802a254: 4b17 ldr r3, [pc, #92] ; (802a2b4 ) 802a256: 2200 movs r2, #0 802a258: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 802a25a: 2100 movs r1, #0 802a25c: 4812 ldr r0, [pc, #72] ; (802a2a8 ) 802a25e: f000 fbbf bl 802a9e0 if(PointPath[0] != '\0') 802a262: 4b12 ldr r3, [pc, #72] ; (802a2ac ) 802a264: 781b ldrb r3, [r3, #0] 802a266: 2b00 cmp r3, #0 802a268: d012 beq.n 802a290 { res = f_open(&F, PointPath, FA_READ); 802a26a: 2201 movs r2, #1 802a26c: 490f ldr r1, [pc, #60] ; (802a2ac ) 802a26e: 4812 ldr r0, [pc, #72] ; (802a2b8 ) 802a270: f0a0 fdd6 bl 80cae20 802a274: 4603 mov r3, r0 802a276: 73fb strb r3, [r7, #15] if(res == FR_OK) 802a278: 7bfb ldrb r3, [r7, #15] 802a27a: 2b00 cmp r3, #0 802a27c: d10a bne.n 802a294 { f_close(&F); 802a27e: 480e ldr r0, [pc, #56] ; (802a2b8 ) 802a280: f0a1 fc12 bl 80cbaa8 res = f_unlink(PointPath); 802a284: 4809 ldr r0, [pc, #36] ; (802a2ac ) 802a286: f0a2 f89e bl 80cc3c6 802a28a: 4603 mov r3, r0 802a28c: 73fb strb r3, [r7, #15] 802a28e: e001 b.n 802a294 } } else { res = FR_INVALID_OBJECT; 802a290: 2309 movs r3, #9 802a292: 73fb strb r3, [r7, #15] } //f_mount(&fs, SDPath, 0); } return res; 802a294: 7bfb ldrb r3, [r7, #15] } 802a296: 4618 mov r0, r3 802a298: 3710 adds r7, #16 802a29a: 46bd mov sp, r7 802a29c: bd80 pop {r7, pc} 802a29e: bf00 nop 802a2a0: 2002169c .word 0x2002169c 802a2a4: 20022c10 .word 0x20022c10 802a2a8: 20021dd0 .word 0x20021dd0 802a2ac: 20022a0c .word 0x20022a0c 802a2b0: 20020dff .word 0x20020dff 802a2b4: 20020dfe .word 0x20020dfe 802a2b8: 20022e78 .word 0x20022e78 0802a2bc : FRESULT CheckRoutesFolder(void) { 802a2bc: b580 push {r7, lr} 802a2be: b096 sub sp, #88 ; 0x58 802a2c0: af00 add r7, sp, #0 FRESULT res = FR_OK; 802a2c2: 2300 movs r3, #0 802a2c4: f887 3057 strb.w r3, [r7, #87] ; 0x57 DIR dir; if(CardState != MSD_READY) { 802a2c8: 4b11 ldr r3, [pc, #68] ; (802a310 ) 802a2ca: 781b ldrb r3, [r3, #0] 802a2cc: b2db uxtb r3, r3 802a2ce: 2b03 cmp r3, #3 802a2d0: d001 beq.n 802a2d6 return FR_NOT_READY; 802a2d2: 2303 movs r3, #3 802a2d4: e018 b.n 802a308 } res = f_opendir(&dir, "0:Routes"); 802a2d6: 463b mov r3, r7 802a2d8: 490e ldr r1, [pc, #56] ; (802a314 ) 802a2da: 4618 mov r0, r3 802a2dc: f0a1 fe8d bl 80cbffa 802a2e0: 4603 mov r3, r0 802a2e2: f887 3057 strb.w r3, [r7, #87] ; 0x57 if(res != FR_OK) 802a2e6: f897 3057 ldrb.w r3, [r7, #87] ; 0x57 802a2ea: 2b00 cmp r3, #0 802a2ec: d006 beq.n 802a2fc { res = f_mkdir("0:Routes"); 802a2ee: 4809 ldr r0, [pc, #36] ; (802a314 ) 802a2f0: f0a2 f93e bl 80cc570 802a2f4: 4603 mov r3, r0 802a2f6: f887 3057 strb.w r3, [r7, #87] ; 0x57 802a2fa: e003 b.n 802a304 } else { f_closedir(&dir); 802a2fc: 463b mov r3, r7 802a2fe: 4618 mov r0, r3 802a300: f0a1 ff0a bl 80cc118 } return res; 802a304: f897 3057 ldrb.w r3, [r7, #87] ; 0x57 } 802a308: 4618 mov r0, r3 802a30a: 3758 adds r7, #88 ; 0x58 802a30c: 46bd mov sp, r7 802a30e: bd80 pop {r7, pc} 802a310: 2002169c .word 0x2002169c 802a314: 080d4f14 .word 0x080d4f14 0802a318 : FRESULT CheckRecordsFolder(void) { 802a318: b580 push {r7, lr} 802a31a: b096 sub sp, #88 ; 0x58 802a31c: af00 add r7, sp, #0 FRESULT res = FR_OK; 802a31e: 2300 movs r3, #0 802a320: f887 3057 strb.w r3, [r7, #87] ; 0x57 DIR dir; if(CardState != MSD_READY) { 802a324: 4b11 ldr r3, [pc, #68] ; (802a36c ) 802a326: 781b ldrb r3, [r3, #0] 802a328: b2db uxtb r3, r3 802a32a: 2b03 cmp r3, #3 802a32c: d001 beq.n 802a332 return FR_NOT_READY; 802a32e: 2303 movs r3, #3 802a330: e018 b.n 802a364 } res = f_opendir(&dir, "0:Records"); 802a332: 463b mov r3, r7 802a334: 490e ldr r1, [pc, #56] ; (802a370 ) 802a336: 4618 mov r0, r3 802a338: f0a1 fe5f bl 80cbffa 802a33c: 4603 mov r3, r0 802a33e: f887 3057 strb.w r3, [r7, #87] ; 0x57 if(res != FR_OK) 802a342: f897 3057 ldrb.w r3, [r7, #87] ; 0x57 802a346: 2b00 cmp r3, #0 802a348: d006 beq.n 802a358 { res = f_mkdir("0:Records"); 802a34a: 4809 ldr r0, [pc, #36] ; (802a370 ) 802a34c: f0a2 f910 bl 80cc570 802a350: 4603 mov r3, r0 802a352: f887 3057 strb.w r3, [r7, #87] ; 0x57 802a356: e003 b.n 802a360 } else { f_closedir(&dir); 802a358: 463b mov r3, r7 802a35a: 4618 mov r0, r3 802a35c: f0a1 fedc bl 80cc118 } return res; 802a360: f897 3057 ldrb.w r3, [r7, #87] ; 0x57 } 802a364: 4618 mov r0, r3 802a366: 3758 adds r7, #88 ; 0x58 802a368: 46bd mov sp, r7 802a36a: bd80 pop {r7, pc} 802a36c: 2002169c .word 0x2002169c 802a370: 080d4ea0 .word 0x080d4ea0 0802a374 : FRESULT FormatSD(void) { 802a374: b580 push {r7, lr} 802a376: b090 sub sp, #64 ; 0x40 802a378: af02 add r7, sp, #8 FRESULT res = FR_OK; 802a37a: 2300 movs r3, #0 802a37c: f887 3037 strb.w r3, [r7, #55] ; 0x37 HAL_SD_CardInfoTypeDef CardInfo; char str[20]; if(CardState == MSD_NOCARD) { 802a380: 4b3a ldr r3, [pc, #232] ; (802a46c ) 802a382: 781b ldrb r3, [r3, #0] 802a384: b2db uxtb r3, r3 802a386: 2b00 cmp r3, #0 802a388: d101 bne.n 802a38e return FR_NOT_READY; 802a38a: 2303 movs r3, #3 802a38c: e06a b.n 802a464 } CardState = MSD_PRESENT; 802a38e: 4b37 ldr r3, [pc, #220] ; (802a46c ) 802a390: 2201 movs r2, #1 802a392: 701a strb r2, [r3, #0] BSP_SD_GetCardInfo(&CardInfo); 802a394: f107 0314 add.w r3, r7, #20 802a398: 4618 mov r0, r3 802a39a: f09a fa0b bl 80c47b4 RedrawScreen(); 802a39e: f03f fa7b bl 8069898 HAL_Delay(100); 802a3a2: 2064 movs r0, #100 ; 0x64 802a3a4: f08d fb4a bl 80b7a3c RedrawScreen(); 802a3a8: f03f fa76 bl 8069898 HAL_Delay(100); 802a3ac: 2064 movs r0, #100 ; 0x64 802a3ae: f08d fb45 bl 80b7a3c RedrawScreen(); 802a3b2: f03f fa71 bl 8069898 HAL_Delay(100); 802a3b6: 2064 movs r0, #100 ; 0x64 802a3b8: f08d fb40 bl 80b7a3c RedrawScreen(); 802a3bc: f03f fa6c bl 8069898 HAL_Delay(100); 802a3c0: 2064 movs r0, #100 ; 0x64 802a3c2: f08d fb3b bl 80b7a3c RedrawScreen(); 802a3c6: f03f fa67 bl 8069898 HAL_Delay(100); 802a3ca: 2064 movs r0, #100 ; 0x64 802a3cc: f08d fb36 bl 80b7a3c res = f_mkfs(SDPath, FM_EXFAT, 0, (void *) SD_Buff, 32768U); 802a3d0: f44f 4300 mov.w r3, #32768 ; 0x8000 802a3d4: 9300 str r3, [sp, #0] 802a3d6: 4b26 ldr r3, [pc, #152] ; (802a470 ) 802a3d8: 2200 movs r2, #0 802a3da: 2104 movs r1, #4 802a3dc: 4825 ldr r0, [pc, #148] ; (802a474 ) 802a3de: f0a2 fbb1 bl 80ccb44 802a3e2: 4603 mov r3, r0 802a3e4: f887 3037 strb.w r3, [r7, #55] ; 0x37 if(res != FR_OK) { 802a3e8: f897 3037 ldrb.w r3, [r7, #55] ; 0x37 802a3ec: 2b00 cmp r3, #0 802a3ee: d001 beq.n 802a3f4 return FR_MKFS_ABORTED; 802a3f0: 230e movs r3, #14 802a3f2: e037 b.n 802a464 } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 802a3f4: f897 3037 ldrb.w r3, [r7, #55] ; 0x37 802a3f8: 2b00 cmp r3, #0 802a3fa: d131 bne.n 802a460 { CardState = MSD_READY; 802a3fc: 4b1b ldr r3, [pc, #108] ; (802a46c ) 802a3fe: 2203 movs r2, #3 802a400: 701a strb r2, [r3, #0] f_mkdir("0:Records"); 802a402: 481d ldr r0, [pc, #116] ; (802a478 ) 802a404: f0a2 f8b4 bl 80cc570 f_mkdir("0:Routes"); 802a408: 481c ldr r0, [pc, #112] ; (802a47c ) 802a40a: f0a2 f8b1 bl 80cc570 memset(str, 0, sizeof(str)); 802a40e: 463b mov r3, r7 802a410: 2214 movs r2, #20 802a412: 2100 movs r1, #0 802a414: 4618 mov r0, r3 802a416: f0a7 fdc5 bl 80d1fa4 strcpy(str, "D1xx_"); 802a41a: 463b mov r3, r7 802a41c: 4a18 ldr r2, [pc, #96] ; (802a480 ) 802a41e: e892 0003 ldmia.w r2, {r0, r1} 802a422: 6018 str r0, [r3, #0] 802a424: 3304 adds r3, #4 802a426: 8019 strh r1, [r3, #0] str[5] = _SERIAL[0]; 802a428: 4b16 ldr r3, [pc, #88] ; (802a484 ) 802a42a: 781b ldrb r3, [r3, #0] 802a42c: b2db uxtb r3, r3 802a42e: 717b strb r3, [r7, #5] str[6] = _SERIAL[1]; 802a430: 4b14 ldr r3, [pc, #80] ; (802a484 ) 802a432: 785b ldrb r3, [r3, #1] 802a434: b2db uxtb r3, r3 802a436: 71bb strb r3, [r7, #6] str[7] = _SERIAL[2]; 802a438: 4b12 ldr r3, [pc, #72] ; (802a484 ) 802a43a: 789b ldrb r3, [r3, #2] 802a43c: b2db uxtb r3, r3 802a43e: 71fb strb r3, [r7, #7] str[8] = _SERIAL[3]; 802a440: 4b10 ldr r3, [pc, #64] ; (802a484 ) 802a442: 78db ldrb r3, [r3, #3] 802a444: b2db uxtb r3, r3 802a446: 723b strb r3, [r7, #8] str[9] = _SERIAL[4]; 802a448: 4b0e ldr r3, [pc, #56] ; (802a484 ) 802a44a: 791b ldrb r3, [r3, #4] 802a44c: b2db uxtb r3, r3 802a44e: 727b strb r3, [r7, #9] f_setlabel(str); 802a450: 463b mov r3, r7 802a452: 4618 mov r0, r3 802a454: f0a2 f9d4 bl 80cc800 CreateFileJSON(); 802a458: f000 f816 bl 802a488 CheckSD(); 802a45c: f001 fa18 bl 802b890 } return res; 802a460: f897 3037 ldrb.w r3, [r7, #55] ; 0x37 } 802a464: 4618 mov r0, r3 802a466: 3738 adds r7, #56 ; 0x38 802a468: 46bd mov sp, r7 802a46a: bd80 pop {r7, pc} 802a46c: 2002169c .word 0x2002169c 802a470: 20000000 .word 0x20000000 802a474: 20068b2c .word 0x20068b2c 802a478: 080d4ea0 .word 0x080d4ea0 802a47c: 080d4f14 .word 0x080d4f14 802a480: 080d4f24 .word 0x080d4f24 802a484: 20020f3c .word 0x20020f3c 0802a488 : FRESULT CreateFileJSON(void) //TODO { 802a488: b590 push {r4, r7, lr} 802a48a: b085 sub sp, #20 802a48c: af00 add r7, sp, #0 FRESULT res = FR_OK; 802a48e: 2300 movs r3, #0 802a490: 72fb strb r3, [r7, #11] UINT fk, i, l; if(CardState != MSD_READY) { 802a492: 4bab ldr r3, [pc, #684] ; (802a740 ) 802a494: 781b ldrb r3, [r3, #0] 802a496: b2db uxtb r3, r3 802a498: 2b03 cmp r3, #3 802a49a: d001 beq.n 802a4a0 return FR_NOT_READY; 802a49c: 2303 movs r3, #3 802a49e: e292 b.n 802a9c6 } memset(PointPath, 0, sizeof(PointPath)); 802a4a0: f44f 7200 mov.w r2, #512 ; 0x200 802a4a4: 2100 movs r1, #0 802a4a6: 48a7 ldr r0, [pc, #668] ; (802a744 ) 802a4a8: f0a7 fd7c bl 80d1fa4 PointPath[0] = '0'; 802a4ac: 4ba5 ldr r3, [pc, #660] ; (802a744 ) 802a4ae: 2230 movs r2, #48 ; 0x30 802a4b0: 701a strb r2, [r3, #0] PointPath[1] = ':'; 802a4b2: 4ba4 ldr r3, [pc, #656] ; (802a744 ) 802a4b4: 223a movs r2, #58 ; 0x3a 802a4b6: 705a strb r2, [r3, #1] strcat(PointPath, "device.json"); 802a4b8: 48a2 ldr r0, [pc, #648] ; (802a744 ) 802a4ba: f7f5 ff2b bl 8020314 802a4be: 4603 mov r3, r0 802a4c0: 461a mov r2, r3 802a4c2: 4ba0 ldr r3, [pc, #640] ; (802a744 ) 802a4c4: 4413 add r3, r2 802a4c6: 4aa0 ldr r2, [pc, #640] ; (802a748 ) 802a4c8: 461c mov r4, r3 802a4ca: 4613 mov r3, r2 802a4cc: cb07 ldmia r3!, {r0, r1, r2} 802a4ce: 6020 str r0, [r4, #0] 802a4d0: 6061 str r1, [r4, #4] 802a4d2: 60a2 str r2, [r4, #8] res = f_open(&F, PointPath, FA_OPEN_EXISTING | FA_READ); 802a4d4: 2201 movs r2, #1 802a4d6: 499b ldr r1, [pc, #620] ; (802a744 ) 802a4d8: 489c ldr r0, [pc, #624] ; (802a74c ) 802a4da: f0a0 fca1 bl 80cae20 802a4de: 4603 mov r3, r0 802a4e0: 72fb strb r3, [r7, #11] if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 802a4e2: 7afb ldrb r3, [r7, #11] 802a4e4: 2b04 cmp r3, #4 802a4e6: d003 beq.n 802a4f0 802a4e8: 7afb ldrb r3, [r7, #11] 802a4ea: 2b05 cmp r3, #5 802a4ec: f040 8136 bne.w 802a75c { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 802a4f0: 221b movs r2, #27 802a4f2: 4994 ldr r1, [pc, #592] ; (802a744 ) 802a4f4: 4895 ldr r0, [pc, #596] ; (802a74c ) 802a4f6: f0a0 fc93 bl 80cae20 802a4fa: 4603 mov r3, r0 802a4fc: 72fb strb r3, [r7, #11] if(res == FR_OK) 802a4fe: 7afb ldrb r3, [r7, #11] 802a500: 2b00 cmp r3, #0 802a502: f040 8129 bne.w 802a758 { f_sync(&F); 802a506: 4891 ldr r0, [pc, #580] ; (802a74c ) 802a508: f0a1 f9ca bl 80cb8a0 memset(sector, 0, sizeof(sector)); 802a50c: f44f 7200 mov.w r2, #512 ; 0x200 802a510: 2100 movs r1, #0 802a512: 488f ldr r0, [pc, #572] ; (802a750 ) 802a514: f0a7 fd46 bl 80d1fa4 l = 0; 802a518: 2300 movs r3, #0 802a51a: 60fb str r3, [r7, #12] sector[l++] = '{'; 802a51c: 68fb ldr r3, [r7, #12] 802a51e: 1c5a adds r2, r3, #1 802a520: 60fa str r2, [r7, #12] 802a522: 4a8b ldr r2, [pc, #556] ; (802a750 ) 802a524: 217b movs r1, #123 ; 0x7b 802a526: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802a528: 68fb ldr r3, [r7, #12] 802a52a: 1c5a adds r2, r3, #1 802a52c: 60fa str r2, [r7, #12] 802a52e: 4a88 ldr r2, [pc, #544] ; (802a750 ) 802a530: 2120 movs r1, #32 802a532: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802a534: 68fb ldr r3, [r7, #12] 802a536: 1c5a adds r2, r3, #1 802a538: 60fa str r2, [r7, #12] 802a53a: 4a85 ldr r2, [pc, #532] ; (802a750 ) 802a53c: 2122 movs r1, #34 ; 0x22 802a53e: 54d1 strb r1, [r2, r3] sector[l++] = 'm'; 802a540: 68fb ldr r3, [r7, #12] 802a542: 1c5a adds r2, r3, #1 802a544: 60fa str r2, [r7, #12] 802a546: 4a82 ldr r2, [pc, #520] ; (802a750 ) 802a548: 216d movs r1, #109 ; 0x6d 802a54a: 54d1 strb r1, [r2, r3] sector[l++] = 'o'; 802a54c: 68fb ldr r3, [r7, #12] 802a54e: 1c5a adds r2, r3, #1 802a550: 60fa str r2, [r7, #12] 802a552: 4a7f ldr r2, [pc, #508] ; (802a750 ) 802a554: 216f movs r1, #111 ; 0x6f 802a556: 54d1 strb r1, [r2, r3] sector[l++] = 'd'; 802a558: 68fb ldr r3, [r7, #12] 802a55a: 1c5a adds r2, r3, #1 802a55c: 60fa str r2, [r7, #12] 802a55e: 4a7c ldr r2, [pc, #496] ; (802a750 ) 802a560: 2164 movs r1, #100 ; 0x64 802a562: 54d1 strb r1, [r2, r3] sector[l++] = 'e'; 802a564: 68fb ldr r3, [r7, #12] 802a566: 1c5a adds r2, r3, #1 802a568: 60fa str r2, [r7, #12] 802a56a: 4a79 ldr r2, [pc, #484] ; (802a750 ) 802a56c: 2165 movs r1, #101 ; 0x65 802a56e: 54d1 strb r1, [r2, r3] sector[l++] = 'l'; 802a570: 68fb ldr r3, [r7, #12] 802a572: 1c5a adds r2, r3, #1 802a574: 60fa str r2, [r7, #12] 802a576: 4a76 ldr r2, [pc, #472] ; (802a750 ) 802a578: 216c movs r1, #108 ; 0x6c 802a57a: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802a57c: 68fb ldr r3, [r7, #12] 802a57e: 1c5a adds r2, r3, #1 802a580: 60fa str r2, [r7, #12] 802a582: 4a73 ldr r2, [pc, #460] ; (802a750 ) 802a584: 2122 movs r1, #34 ; 0x22 802a586: 54d1 strb r1, [r2, r3] sector[l++] = ':'; 802a588: 68fb ldr r3, [r7, #12] 802a58a: 1c5a adds r2, r3, #1 802a58c: 60fa str r2, [r7, #12] 802a58e: 4a70 ldr r2, [pc, #448] ; (802a750 ) 802a590: 213a movs r1, #58 ; 0x3a 802a592: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802a594: 68fb ldr r3, [r7, #12] 802a596: 1c5a adds r2, r3, #1 802a598: 60fa str r2, [r7, #12] 802a59a: 4a6d ldr r2, [pc, #436] ; (802a750 ) 802a59c: 2120 movs r1, #32 802a59e: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802a5a0: 68fb ldr r3, [r7, #12] 802a5a2: 1c5a adds r2, r3, #1 802a5a4: 60fa str r2, [r7, #12] 802a5a6: 4a6a ldr r2, [pc, #424] ; (802a750 ) 802a5a8: 2122 movs r1, #34 ; 0x22 802a5aa: 54d1 strb r1, [r2, r3] sector[l++] = '1'; sector[l++] = '4'; sector[l++] = '1'; #endif #ifdef USE_D142 sector[l++] = 'D'; 802a5ac: 68fb ldr r3, [r7, #12] 802a5ae: 1c5a adds r2, r3, #1 802a5b0: 60fa str r2, [r7, #12] 802a5b2: 4a67 ldr r2, [pc, #412] ; (802a750 ) 802a5b4: 2144 movs r1, #68 ; 0x44 802a5b6: 54d1 strb r1, [r2, r3] sector[l++] = '1'; 802a5b8: 68fb ldr r3, [r7, #12] 802a5ba: 1c5a adds r2, r3, #1 802a5bc: 60fa str r2, [r7, #12] 802a5be: 4a64 ldr r2, [pc, #400] ; (802a750 ) 802a5c0: 2131 movs r1, #49 ; 0x31 802a5c2: 54d1 strb r1, [r2, r3] sector[l++] = '4'; 802a5c4: 68fb ldr r3, [r7, #12] 802a5c6: 1c5a adds r2, r3, #1 802a5c8: 60fa str r2, [r7, #12] 802a5ca: 4a61 ldr r2, [pc, #388] ; (802a750 ) 802a5cc: 2134 movs r1, #52 ; 0x34 802a5ce: 54d1 strb r1, [r2, r3] sector[l++] = '2'; 802a5d0: 68fb ldr r3, [r7, #12] 802a5d2: 1c5a adds r2, r3, #1 802a5d4: 60fa str r2, [r7, #12] 802a5d6: 4a5e ldr r2, [pc, #376] ; (802a750 ) 802a5d8: 2132 movs r1, #50 ; 0x32 802a5da: 54d1 strb r1, [r2, r3] #endif sector[l++] = '"'; 802a5dc: 68fb ldr r3, [r7, #12] 802a5de: 1c5a adds r2, r3, #1 802a5e0: 60fa str r2, [r7, #12] 802a5e2: 4a5b ldr r2, [pc, #364] ; (802a750 ) 802a5e4: 2122 movs r1, #34 ; 0x22 802a5e6: 54d1 strb r1, [r2, r3] sector[l++] = ','; 802a5e8: 68fb ldr r3, [r7, #12] 802a5ea: 1c5a adds r2, r3, #1 802a5ec: 60fa str r2, [r7, #12] 802a5ee: 4a58 ldr r2, [pc, #352] ; (802a750 ) 802a5f0: 212c movs r1, #44 ; 0x2c 802a5f2: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802a5f4: 68fb ldr r3, [r7, #12] 802a5f6: 1c5a adds r2, r3, #1 802a5f8: 60fa str r2, [r7, #12] 802a5fa: 4a55 ldr r2, [pc, #340] ; (802a750 ) 802a5fc: 2120 movs r1, #32 802a5fe: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802a600: 68fb ldr r3, [r7, #12] 802a602: 1c5a adds r2, r3, #1 802a604: 60fa str r2, [r7, #12] 802a606: 4a52 ldr r2, [pc, #328] ; (802a750 ) 802a608: 2122 movs r1, #34 ; 0x22 802a60a: 54d1 strb r1, [r2, r3] sector[l++] = 's'; 802a60c: 68fb ldr r3, [r7, #12] 802a60e: 1c5a adds r2, r3, #1 802a610: 60fa str r2, [r7, #12] 802a612: 4a4f ldr r2, [pc, #316] ; (802a750 ) 802a614: 2173 movs r1, #115 ; 0x73 802a616: 54d1 strb r1, [r2, r3] sector[l++] = 'n'; 802a618: 68fb ldr r3, [r7, #12] 802a61a: 1c5a adds r2, r3, #1 802a61c: 60fa str r2, [r7, #12] 802a61e: 4a4c ldr r2, [pc, #304] ; (802a750 ) 802a620: 216e movs r1, #110 ; 0x6e 802a622: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802a624: 68fb ldr r3, [r7, #12] 802a626: 1c5a adds r2, r3, #1 802a628: 60fa str r2, [r7, #12] 802a62a: 4a49 ldr r2, [pc, #292] ; (802a750 ) 802a62c: 2122 movs r1, #34 ; 0x22 802a62e: 54d1 strb r1, [r2, r3] sector[l++] = ':'; 802a630: 68fb ldr r3, [r7, #12] 802a632: 1c5a adds r2, r3, #1 802a634: 60fa str r2, [r7, #12] 802a636: 4a46 ldr r2, [pc, #280] ; (802a750 ) 802a638: 213a movs r1, #58 ; 0x3a 802a63a: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802a63c: 68fb ldr r3, [r7, #12] 802a63e: 1c5a adds r2, r3, #1 802a640: 60fa str r2, [r7, #12] 802a642: 4a43 ldr r2, [pc, #268] ; (802a750 ) 802a644: 2120 movs r1, #32 802a646: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802a648: 68fb ldr r3, [r7, #12] 802a64a: 1c5a adds r2, r3, #1 802a64c: 60fa str r2, [r7, #12] 802a64e: 4a40 ldr r2, [pc, #256] ; (802a750 ) 802a650: 2122 movs r1, #34 ; 0x22 802a652: 54d1 strb r1, [r2, r3] if(strlen((char *)_SERIAL) != 0) 802a654: 4b3f ldr r3, [pc, #252] ; (802a754 ) 802a656: 781b ldrb r3, [r3, #0] 802a658: 2b00 cmp r3, #0 802a65a: d028 beq.n 802a6ae { sector[l++] = _SERIAL[0]; 802a65c: 68fb ldr r3, [r7, #12] 802a65e: 1c5a adds r2, r3, #1 802a660: 60fa str r2, [r7, #12] 802a662: 4a3c ldr r2, [pc, #240] ; (802a754 ) 802a664: 7812 ldrb r2, [r2, #0] 802a666: b2d1 uxtb r1, r2 802a668: 4a39 ldr r2, [pc, #228] ; (802a750 ) 802a66a: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[1]; 802a66c: 68fb ldr r3, [r7, #12] 802a66e: 1c5a adds r2, r3, #1 802a670: 60fa str r2, [r7, #12] 802a672: 4a38 ldr r2, [pc, #224] ; (802a754 ) 802a674: 7852 ldrb r2, [r2, #1] 802a676: b2d1 uxtb r1, r2 802a678: 4a35 ldr r2, [pc, #212] ; (802a750 ) 802a67a: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[2]; 802a67c: 68fb ldr r3, [r7, #12] 802a67e: 1c5a adds r2, r3, #1 802a680: 60fa str r2, [r7, #12] 802a682: 4a34 ldr r2, [pc, #208] ; (802a754 ) 802a684: 7892 ldrb r2, [r2, #2] 802a686: b2d1 uxtb r1, r2 802a688: 4a31 ldr r2, [pc, #196] ; (802a750 ) 802a68a: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[3]; 802a68c: 68fb ldr r3, [r7, #12] 802a68e: 1c5a adds r2, r3, #1 802a690: 60fa str r2, [r7, #12] 802a692: 4a30 ldr r2, [pc, #192] ; (802a754 ) 802a694: 78d2 ldrb r2, [r2, #3] 802a696: b2d1 uxtb r1, r2 802a698: 4a2d ldr r2, [pc, #180] ; (802a750 ) 802a69a: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[4]; 802a69c: 68fb ldr r3, [r7, #12] 802a69e: 1c5a adds r2, r3, #1 802a6a0: 60fa str r2, [r7, #12] 802a6a2: 4a2c ldr r2, [pc, #176] ; (802a754 ) 802a6a4: 7912 ldrb r2, [r2, #4] 802a6a6: b2d1 uxtb r1, r2 802a6a8: 4a29 ldr r2, [pc, #164] ; (802a750 ) 802a6aa: 54d1 strb r1, [r2, r3] 802a6ac: e01d b.n 802a6ea } else { sector[l++] = '0'; 802a6ae: 68fb ldr r3, [r7, #12] 802a6b0: 1c5a adds r2, r3, #1 802a6b2: 60fa str r2, [r7, #12] 802a6b4: 4a26 ldr r2, [pc, #152] ; (802a750 ) 802a6b6: 2130 movs r1, #48 ; 0x30 802a6b8: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802a6ba: 68fb ldr r3, [r7, #12] 802a6bc: 1c5a adds r2, r3, #1 802a6be: 60fa str r2, [r7, #12] 802a6c0: 4a23 ldr r2, [pc, #140] ; (802a750 ) 802a6c2: 2130 movs r1, #48 ; 0x30 802a6c4: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802a6c6: 68fb ldr r3, [r7, #12] 802a6c8: 1c5a adds r2, r3, #1 802a6ca: 60fa str r2, [r7, #12] 802a6cc: 4a20 ldr r2, [pc, #128] ; (802a750 ) 802a6ce: 2130 movs r1, #48 ; 0x30 802a6d0: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802a6d2: 68fb ldr r3, [r7, #12] 802a6d4: 1c5a adds r2, r3, #1 802a6d6: 60fa str r2, [r7, #12] 802a6d8: 4a1d ldr r2, [pc, #116] ; (802a750 ) 802a6da: 2130 movs r1, #48 ; 0x30 802a6dc: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802a6de: 68fb ldr r3, [r7, #12] 802a6e0: 1c5a adds r2, r3, #1 802a6e2: 60fa str r2, [r7, #12] 802a6e4: 4a1a ldr r2, [pc, #104] ; (802a750 ) 802a6e6: 2130 movs r1, #48 ; 0x30 802a6e8: 54d1 strb r1, [r2, r3] } sector[l++] = '"'; 802a6ea: 68fb ldr r3, [r7, #12] 802a6ec: 1c5a adds r2, r3, #1 802a6ee: 60fa str r2, [r7, #12] 802a6f0: 4a17 ldr r2, [pc, #92] ; (802a750 ) 802a6f2: 2122 movs r1, #34 ; 0x22 802a6f4: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802a6f6: 68fb ldr r3, [r7, #12] 802a6f8: 1c5a adds r2, r3, #1 802a6fa: 60fa str r2, [r7, #12] 802a6fc: 4a14 ldr r2, [pc, #80] ; (802a750 ) 802a6fe: 2120 movs r1, #32 802a700: 54d1 strb r1, [r2, r3] sector[l++] = '}'; 802a702: 68fb ldr r3, [r7, #12] 802a704: 1c5a adds r2, r3, #1 802a706: 60fa str r2, [r7, #12] 802a708: 4a11 ldr r2, [pc, #68] ; (802a750 ) 802a70a: 217d movs r1, #125 ; 0x7d 802a70c: 54d1 strb r1, [r2, r3] res = f_write(&F, sector, l, &fk); 802a70e: 1d3b adds r3, r7, #4 802a710: 68fa ldr r2, [r7, #12] 802a712: 490f ldr r1, [pc, #60] ; (802a750 ) 802a714: 480d ldr r0, [pc, #52] ; (802a74c ) 802a716: f0a0 ff23 bl 80cb560 802a71a: 4603 mov r3, r0 802a71c: 72fb strb r3, [r7, #11] if((res == FR_OK) && (fk == l)) 802a71e: 7afb ldrb r3, [r7, #11] 802a720: 2b00 cmp r3, #0 802a722: d108 bne.n 802a736 802a724: 687a ldr r2, [r7, #4] 802a726: 68fb ldr r3, [r7, #12] 802a728: 429a cmp r2, r3 802a72a: d104 bne.n 802a736 { f_close(&F); 802a72c: 4807 ldr r0, [pc, #28] ; (802a74c ) 802a72e: f0a1 f9bb bl 80cbaa8 return FR_OK; 802a732: 2300 movs r3, #0 802a734: e147 b.n 802a9c6 } else { f_close(&F); 802a736: 4805 ldr r0, [pc, #20] ; (802a74c ) 802a738: f0a1 f9b6 bl 80cbaa8 return FR_DISK_ERR; 802a73c: 2301 movs r3, #1 802a73e: e142 b.n 802a9c6 802a740: 2002169c .word 0x2002169c 802a744: 20022a0c .word 0x20022a0c 802a748: 080d4f2c .word 0x080d4f2c 802a74c: 20022e78 .word 0x20022e78 802a750: 2007c000 .word 0x2007c000 802a754: 20020f3c .word 0x20020f3c } ////////////////////////////////////////////////////////////////// } else { return FR_DISK_ERR; 802a758: 2301 movs r3, #1 802a75a: e134 b.n 802a9c6 } } else if(res == FR_OK) 802a75c: 7afb ldrb r3, [r7, #11] 802a75e: 2b00 cmp r3, #0 802a760: f040 8130 bne.w 802a9c4 { f_close(&F); 802a764: 489a ldr r0, [pc, #616] ; (802a9d0 ) 802a766: f0a1 f99f bl 80cbaa8 f_unlink(PointPath); 802a76a: 489a ldr r0, [pc, #616] ; (802a9d4 ) 802a76c: f0a1 fe2b bl 80cc3c6 res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 802a770: 221b movs r2, #27 802a772: 4998 ldr r1, [pc, #608] ; (802a9d4 ) 802a774: 4896 ldr r0, [pc, #600] ; (802a9d0 ) 802a776: f0a0 fb53 bl 80cae20 802a77a: 4603 mov r3, r0 802a77c: 72fb strb r3, [r7, #11] if(res == FR_OK) 802a77e: 7afb ldrb r3, [r7, #11] 802a780: 2b00 cmp r3, #0 802a782: f040 811d bne.w 802a9c0 { f_sync(&F); 802a786: 4892 ldr r0, [pc, #584] ; (802a9d0 ) 802a788: f0a1 f88a bl 80cb8a0 memset(sector, 0, sizeof(sector)); 802a78c: f44f 7200 mov.w r2, #512 ; 0x200 802a790: 2100 movs r1, #0 802a792: 4891 ldr r0, [pc, #580] ; (802a9d8 ) 802a794: f0a7 fc06 bl 80d1fa4 l = 0; 802a798: 2300 movs r3, #0 802a79a: 60fb str r3, [r7, #12] sector[l++] = '{'; 802a79c: 68fb ldr r3, [r7, #12] 802a79e: 1c5a adds r2, r3, #1 802a7a0: 60fa str r2, [r7, #12] 802a7a2: 4a8d ldr r2, [pc, #564] ; (802a9d8 ) 802a7a4: 217b movs r1, #123 ; 0x7b 802a7a6: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802a7a8: 68fb ldr r3, [r7, #12] 802a7aa: 1c5a adds r2, r3, #1 802a7ac: 60fa str r2, [r7, #12] 802a7ae: 4a8a ldr r2, [pc, #552] ; (802a9d8 ) 802a7b0: 2120 movs r1, #32 802a7b2: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802a7b4: 68fb ldr r3, [r7, #12] 802a7b6: 1c5a adds r2, r3, #1 802a7b8: 60fa str r2, [r7, #12] 802a7ba: 4a87 ldr r2, [pc, #540] ; (802a9d8 ) 802a7bc: 2122 movs r1, #34 ; 0x22 802a7be: 54d1 strb r1, [r2, r3] sector[l++] = 'm'; 802a7c0: 68fb ldr r3, [r7, #12] 802a7c2: 1c5a adds r2, r3, #1 802a7c4: 60fa str r2, [r7, #12] 802a7c6: 4a84 ldr r2, [pc, #528] ; (802a9d8 ) 802a7c8: 216d movs r1, #109 ; 0x6d 802a7ca: 54d1 strb r1, [r2, r3] sector[l++] = 'o'; 802a7cc: 68fb ldr r3, [r7, #12] 802a7ce: 1c5a adds r2, r3, #1 802a7d0: 60fa str r2, [r7, #12] 802a7d2: 4a81 ldr r2, [pc, #516] ; (802a9d8 ) 802a7d4: 216f movs r1, #111 ; 0x6f 802a7d6: 54d1 strb r1, [r2, r3] sector[l++] = 'd'; 802a7d8: 68fb ldr r3, [r7, #12] 802a7da: 1c5a adds r2, r3, #1 802a7dc: 60fa str r2, [r7, #12] 802a7de: 4a7e ldr r2, [pc, #504] ; (802a9d8 ) 802a7e0: 2164 movs r1, #100 ; 0x64 802a7e2: 54d1 strb r1, [r2, r3] sector[l++] = 'e'; 802a7e4: 68fb ldr r3, [r7, #12] 802a7e6: 1c5a adds r2, r3, #1 802a7e8: 60fa str r2, [r7, #12] 802a7ea: 4a7b ldr r2, [pc, #492] ; (802a9d8 ) 802a7ec: 2165 movs r1, #101 ; 0x65 802a7ee: 54d1 strb r1, [r2, r3] sector[l++] = 'l'; 802a7f0: 68fb ldr r3, [r7, #12] 802a7f2: 1c5a adds r2, r3, #1 802a7f4: 60fa str r2, [r7, #12] 802a7f6: 4a78 ldr r2, [pc, #480] ; (802a9d8 ) 802a7f8: 216c movs r1, #108 ; 0x6c 802a7fa: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802a7fc: 68fb ldr r3, [r7, #12] 802a7fe: 1c5a adds r2, r3, #1 802a800: 60fa str r2, [r7, #12] 802a802: 4a75 ldr r2, [pc, #468] ; (802a9d8 ) 802a804: 2122 movs r1, #34 ; 0x22 802a806: 54d1 strb r1, [r2, r3] sector[l++] = ':'; 802a808: 68fb ldr r3, [r7, #12] 802a80a: 1c5a adds r2, r3, #1 802a80c: 60fa str r2, [r7, #12] 802a80e: 4a72 ldr r2, [pc, #456] ; (802a9d8 ) 802a810: 213a movs r1, #58 ; 0x3a 802a812: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802a814: 68fb ldr r3, [r7, #12] 802a816: 1c5a adds r2, r3, #1 802a818: 60fa str r2, [r7, #12] 802a81a: 4a6f ldr r2, [pc, #444] ; (802a9d8 ) 802a81c: 2120 movs r1, #32 802a81e: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802a820: 68fb ldr r3, [r7, #12] 802a822: 1c5a adds r2, r3, #1 802a824: 60fa str r2, [r7, #12] 802a826: 4a6c ldr r2, [pc, #432] ; (802a9d8 ) 802a828: 2122 movs r1, #34 ; 0x22 802a82a: 54d1 strb r1, [r2, r3] sector[l++] = '1'; sector[l++] = '4'; sector[l++] = '1'; #endif #ifdef USE_D142 sector[l++] = 'D'; 802a82c: 68fb ldr r3, [r7, #12] 802a82e: 1c5a adds r2, r3, #1 802a830: 60fa str r2, [r7, #12] 802a832: 4a69 ldr r2, [pc, #420] ; (802a9d8 ) 802a834: 2144 movs r1, #68 ; 0x44 802a836: 54d1 strb r1, [r2, r3] sector[l++] = '1'; 802a838: 68fb ldr r3, [r7, #12] 802a83a: 1c5a adds r2, r3, #1 802a83c: 60fa str r2, [r7, #12] 802a83e: 4a66 ldr r2, [pc, #408] ; (802a9d8 ) 802a840: 2131 movs r1, #49 ; 0x31 802a842: 54d1 strb r1, [r2, r3] sector[l++] = '4'; 802a844: 68fb ldr r3, [r7, #12] 802a846: 1c5a adds r2, r3, #1 802a848: 60fa str r2, [r7, #12] 802a84a: 4a63 ldr r2, [pc, #396] ; (802a9d8 ) 802a84c: 2134 movs r1, #52 ; 0x34 802a84e: 54d1 strb r1, [r2, r3] sector[l++] = '2'; 802a850: 68fb ldr r3, [r7, #12] 802a852: 1c5a adds r2, r3, #1 802a854: 60fa str r2, [r7, #12] 802a856: 4a60 ldr r2, [pc, #384] ; (802a9d8 ) 802a858: 2132 movs r1, #50 ; 0x32 802a85a: 54d1 strb r1, [r2, r3] #endif sector[l++] = '"'; 802a85c: 68fb ldr r3, [r7, #12] 802a85e: 1c5a adds r2, r3, #1 802a860: 60fa str r2, [r7, #12] 802a862: 4a5d ldr r2, [pc, #372] ; (802a9d8 ) 802a864: 2122 movs r1, #34 ; 0x22 802a866: 54d1 strb r1, [r2, r3] sector[l++] = ','; 802a868: 68fb ldr r3, [r7, #12] 802a86a: 1c5a adds r2, r3, #1 802a86c: 60fa str r2, [r7, #12] 802a86e: 4a5a ldr r2, [pc, #360] ; (802a9d8 ) 802a870: 212c movs r1, #44 ; 0x2c 802a872: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802a874: 68fb ldr r3, [r7, #12] 802a876: 1c5a adds r2, r3, #1 802a878: 60fa str r2, [r7, #12] 802a87a: 4a57 ldr r2, [pc, #348] ; (802a9d8 ) 802a87c: 2120 movs r1, #32 802a87e: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802a880: 68fb ldr r3, [r7, #12] 802a882: 1c5a adds r2, r3, #1 802a884: 60fa str r2, [r7, #12] 802a886: 4a54 ldr r2, [pc, #336] ; (802a9d8 ) 802a888: 2122 movs r1, #34 ; 0x22 802a88a: 54d1 strb r1, [r2, r3] sector[l++] = 's'; 802a88c: 68fb ldr r3, [r7, #12] 802a88e: 1c5a adds r2, r3, #1 802a890: 60fa str r2, [r7, #12] 802a892: 4a51 ldr r2, [pc, #324] ; (802a9d8 ) 802a894: 2173 movs r1, #115 ; 0x73 802a896: 54d1 strb r1, [r2, r3] sector[l++] = 'n'; 802a898: 68fb ldr r3, [r7, #12] 802a89a: 1c5a adds r2, r3, #1 802a89c: 60fa str r2, [r7, #12] 802a89e: 4a4e ldr r2, [pc, #312] ; (802a9d8 ) 802a8a0: 216e movs r1, #110 ; 0x6e 802a8a2: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802a8a4: 68fb ldr r3, [r7, #12] 802a8a6: 1c5a adds r2, r3, #1 802a8a8: 60fa str r2, [r7, #12] 802a8aa: 4a4b ldr r2, [pc, #300] ; (802a9d8 ) 802a8ac: 2122 movs r1, #34 ; 0x22 802a8ae: 54d1 strb r1, [r2, r3] sector[l++] = ':'; 802a8b0: 68fb ldr r3, [r7, #12] 802a8b2: 1c5a adds r2, r3, #1 802a8b4: 60fa str r2, [r7, #12] 802a8b6: 4a48 ldr r2, [pc, #288] ; (802a9d8 ) 802a8b8: 213a movs r1, #58 ; 0x3a 802a8ba: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802a8bc: 68fb ldr r3, [r7, #12] 802a8be: 1c5a adds r2, r3, #1 802a8c0: 60fa str r2, [r7, #12] 802a8c2: 4a45 ldr r2, [pc, #276] ; (802a9d8 ) 802a8c4: 2120 movs r1, #32 802a8c6: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802a8c8: 68fb ldr r3, [r7, #12] 802a8ca: 1c5a adds r2, r3, #1 802a8cc: 60fa str r2, [r7, #12] 802a8ce: 4a42 ldr r2, [pc, #264] ; (802a9d8 ) 802a8d0: 2122 movs r1, #34 ; 0x22 802a8d2: 54d1 strb r1, [r2, r3] if(strlen((char *) _SERIAL) != 0) 802a8d4: 4b41 ldr r3, [pc, #260] ; (802a9dc ) 802a8d6: 781b ldrb r3, [r3, #0] 802a8d8: 2b00 cmp r3, #0 802a8da: d028 beq.n 802a92e { sector[l++] = _SERIAL[0]; 802a8dc: 68fb ldr r3, [r7, #12] 802a8de: 1c5a adds r2, r3, #1 802a8e0: 60fa str r2, [r7, #12] 802a8e2: 4a3e ldr r2, [pc, #248] ; (802a9dc ) 802a8e4: 7812 ldrb r2, [r2, #0] 802a8e6: b2d1 uxtb r1, r2 802a8e8: 4a3b ldr r2, [pc, #236] ; (802a9d8 ) 802a8ea: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[1]; 802a8ec: 68fb ldr r3, [r7, #12] 802a8ee: 1c5a adds r2, r3, #1 802a8f0: 60fa str r2, [r7, #12] 802a8f2: 4a3a ldr r2, [pc, #232] ; (802a9dc ) 802a8f4: 7852 ldrb r2, [r2, #1] 802a8f6: b2d1 uxtb r1, r2 802a8f8: 4a37 ldr r2, [pc, #220] ; (802a9d8 ) 802a8fa: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[2]; 802a8fc: 68fb ldr r3, [r7, #12] 802a8fe: 1c5a adds r2, r3, #1 802a900: 60fa str r2, [r7, #12] 802a902: 4a36 ldr r2, [pc, #216] ; (802a9dc ) 802a904: 7892 ldrb r2, [r2, #2] 802a906: b2d1 uxtb r1, r2 802a908: 4a33 ldr r2, [pc, #204] ; (802a9d8 ) 802a90a: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[3]; 802a90c: 68fb ldr r3, [r7, #12] 802a90e: 1c5a adds r2, r3, #1 802a910: 60fa str r2, [r7, #12] 802a912: 4a32 ldr r2, [pc, #200] ; (802a9dc ) 802a914: 78d2 ldrb r2, [r2, #3] 802a916: b2d1 uxtb r1, r2 802a918: 4a2f ldr r2, [pc, #188] ; (802a9d8 ) 802a91a: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[4]; 802a91c: 68fb ldr r3, [r7, #12] 802a91e: 1c5a adds r2, r3, #1 802a920: 60fa str r2, [r7, #12] 802a922: 4a2e ldr r2, [pc, #184] ; (802a9dc ) 802a924: 7912 ldrb r2, [r2, #4] 802a926: b2d1 uxtb r1, r2 802a928: 4a2b ldr r2, [pc, #172] ; (802a9d8 ) 802a92a: 54d1 strb r1, [r2, r3] 802a92c: e01d b.n 802a96a } else { sector[l++] = '0'; 802a92e: 68fb ldr r3, [r7, #12] 802a930: 1c5a adds r2, r3, #1 802a932: 60fa str r2, [r7, #12] 802a934: 4a28 ldr r2, [pc, #160] ; (802a9d8 ) 802a936: 2130 movs r1, #48 ; 0x30 802a938: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802a93a: 68fb ldr r3, [r7, #12] 802a93c: 1c5a adds r2, r3, #1 802a93e: 60fa str r2, [r7, #12] 802a940: 4a25 ldr r2, [pc, #148] ; (802a9d8 ) 802a942: 2130 movs r1, #48 ; 0x30 802a944: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802a946: 68fb ldr r3, [r7, #12] 802a948: 1c5a adds r2, r3, #1 802a94a: 60fa str r2, [r7, #12] 802a94c: 4a22 ldr r2, [pc, #136] ; (802a9d8 ) 802a94e: 2130 movs r1, #48 ; 0x30 802a950: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802a952: 68fb ldr r3, [r7, #12] 802a954: 1c5a adds r2, r3, #1 802a956: 60fa str r2, [r7, #12] 802a958: 4a1f ldr r2, [pc, #124] ; (802a9d8 ) 802a95a: 2130 movs r1, #48 ; 0x30 802a95c: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802a95e: 68fb ldr r3, [r7, #12] 802a960: 1c5a adds r2, r3, #1 802a962: 60fa str r2, [r7, #12] 802a964: 4a1c ldr r2, [pc, #112] ; (802a9d8 ) 802a966: 2130 movs r1, #48 ; 0x30 802a968: 54d1 strb r1, [r2, r3] } sector[l++] = '"'; 802a96a: 68fb ldr r3, [r7, #12] 802a96c: 1c5a adds r2, r3, #1 802a96e: 60fa str r2, [r7, #12] 802a970: 4a19 ldr r2, [pc, #100] ; (802a9d8 ) 802a972: 2122 movs r1, #34 ; 0x22 802a974: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802a976: 68fb ldr r3, [r7, #12] 802a978: 1c5a adds r2, r3, #1 802a97a: 60fa str r2, [r7, #12] 802a97c: 4a16 ldr r2, [pc, #88] ; (802a9d8 ) 802a97e: 2120 movs r1, #32 802a980: 54d1 strb r1, [r2, r3] sector[l++] = '}'; 802a982: 68fb ldr r3, [r7, #12] 802a984: 1c5a adds r2, r3, #1 802a986: 60fa str r2, [r7, #12] 802a988: 4a13 ldr r2, [pc, #76] ; (802a9d8 ) 802a98a: 217d movs r1, #125 ; 0x7d 802a98c: 54d1 strb r1, [r2, r3] res = f_write(&F, sector, l, &fk); 802a98e: 1d3b adds r3, r7, #4 802a990: 68fa ldr r2, [r7, #12] 802a992: 4911 ldr r1, [pc, #68] ; (802a9d8 ) 802a994: 480e ldr r0, [pc, #56] ; (802a9d0 ) 802a996: f0a0 fde3 bl 80cb560 802a99a: 4603 mov r3, r0 802a99c: 72fb strb r3, [r7, #11] if((res == FR_OK) && (fk == l)) 802a99e: 7afb ldrb r3, [r7, #11] 802a9a0: 2b00 cmp r3, #0 802a9a2: d108 bne.n 802a9b6 802a9a4: 687a ldr r2, [r7, #4] 802a9a6: 68fb ldr r3, [r7, #12] 802a9a8: 429a cmp r2, r3 802a9aa: d104 bne.n 802a9b6 { f_close(&F); 802a9ac: 4808 ldr r0, [pc, #32] ; (802a9d0 ) 802a9ae: f0a1 f87b bl 80cbaa8 return FR_OK; 802a9b2: 2300 movs r3, #0 802a9b4: e007 b.n 802a9c6 } else { f_close(&F); 802a9b6: 4806 ldr r0, [pc, #24] ; (802a9d0 ) 802a9b8: f0a1 f876 bl 80cbaa8 return FR_DISK_ERR; 802a9bc: 2301 movs r3, #1 802a9be: e002 b.n 802a9c6 } ////////////////////////////////////////////////////////////////// } else { return FR_DISK_ERR; 802a9c0: 2301 movs r3, #1 802a9c2: e000 b.n 802a9c6 } } return res; 802a9c4: 7afb ldrb r3, [r7, #11] } 802a9c6: 4618 mov r0, r3 802a9c8: 3714 adds r7, #20 802a9ca: 46bd mov sp, r7 802a9cc: bd90 pop {r4, r7, pc} 802a9ce: bf00 nop 802a9d0: 20022e78 .word 0x20022e78 802a9d4: 20022a0c .word 0x20022a0c 802a9d8: 2007c000 .word 0x2007c000 802a9dc: 20020f3c .word 0x20020f3c 0802a9e0 : FRESULT ScanFiles(char* path, uint32_t IndexFirstFile) { 802a9e0: b590 push {r4, r7, lr} 802a9e2: b09d sub sp, #116 ; 0x74 802a9e4: af00 add r7, sp, #0 802a9e6: 6078 str r0, [r7, #4] 802a9e8: 6039 str r1, [r7, #0] FRESULT res; //FILINFO fno; DIR dir; uint32_t i, l; int32_t r = 0; 802a9ea: 2300 movs r3, #0 802a9ec: 66bb str r3, [r7, #104] ; 0x68 uint32_t num = 0; 802a9ee: 2300 movs r3, #0 802a9f0: 667b str r3, [r7, #100] ; 0x64 char *fn; /* Ïîäðàçóìåâàåòñÿ, ÷òî êîíôèãóðàöèÿ áåç Unicode. */ #if _USE_LFN #endif res = f_opendir(&dir, path); /* Îòêðûòèå äèðåêòîðèè */ 802a9f2: f107 0308 add.w r3, r7, #8 802a9f6: 6879 ldr r1, [r7, #4] 802a9f8: 4618 mov r0, r3 802a9fa: f0a1 fafe bl 80cbffa 802a9fe: 4603 mov r3, r0 802aa00: f887 306f strb.w r3, [r7, #111] ; 0x6f if(res == FR_OK) 802aa04: f897 306f ldrb.w r3, [r7, #111] ; 0x6f 802aa08: 2b00 cmp r3, #0 802aa0a: f040 872c bne.w 802b866 { i = strlen(path); 802aa0e: 6878 ldr r0, [r7, #4] 802aa10: f7f5 fc80 bl 8020314 802aa14: 6638 str r0, [r7, #96] ; 0x60 for (;;) { res = f_readdir(&dir, &fno); /* ×òåíèå îáúåêòà äèðåêòîðèè */ 802aa16: f107 0308 add.w r3, r7, #8 802aa1a: 49a8 ldr r1, [pc, #672] ; (802acbc ) 802aa1c: 4618 mov r0, r3 802aa1e: f0a1 fb93 bl 80cc148 802aa22: 4603 mov r3, r0 802aa24: f887 306f strb.w r3, [r7, #111] ; 0x6f if(res != FR_OK || fno.fname[0] == 0) 802aa28: f897 306f ldrb.w r3, [r7, #111] ; 0x6f 802aa2c: 2b00 cmp r3, #0 802aa2e: f040 871a bne.w 802b866 802aa32: 4ba2 ldr r3, [pc, #648] ; (802acbc ) 802aa34: 7e9b ldrb r3, [r3, #26] 802aa36: 2b00 cmp r3, #0 802aa38: f000 8715 beq.w 802b866 break; /* Îñòàíîâ öèêëà ïðè îøèáêå èëè ïðè äîñòèæåíèè êîíöà ñïèñêà äèðåêòîðèè */ if(fno.fname[0] == '.') 802aa3c: 4b9f ldr r3, [pc, #636] ; (802acbc ) 802aa3e: 7e9b ldrb r3, [r3, #26] 802aa40: 2b2e cmp r3, #46 ; 0x2e 802aa42: f000 86dc beq.w 802b7fe continue; /* Èãíîðèðîâàíèå ýëåìåíòà 'òî÷êà' */ #if _USE_LFN fn = *fno.fname ? fno.fname : fno.altname; 802aa46: 4b9d ldr r3, [pc, #628] ; (802acbc ) 802aa48: 7e9b ldrb r3, [r3, #26] 802aa4a: 2b00 cmp r3, #0 802aa4c: d001 beq.n 802aa52 802aa4e: 4b9c ldr r3, [pc, #624] ; (802acc0 ) 802aa50: e000 b.n 802aa54 802aa52: 4b9c ldr r3, [pc, #624] ; (802acc4 ) 802aa54: 65fb str r3, [r7, #92] ; 0x5c #else fn = fno.fname; #endif if(fno.fattrib & AM_DIR) 802aa56: 4b99 ldr r3, [pc, #612] ; (802acbc ) 802aa58: 7b1b ldrb r3, [r3, #12] 802aa5a: f003 0310 and.w r3, r3, #16 802aa5e: 2b00 cmp r3, #0 802aa60: d021 beq.n 802aaa6 { /* Ýòî äèðåêòîðèÿ */ sprintf(&path[i], "/%s", fn); 802aa62: 687a ldr r2, [r7, #4] 802aa64: 6e3b ldr r3, [r7, #96] ; 0x60 802aa66: 4413 add r3, r2 802aa68: 6dfa ldr r2, [r7, #92] ; 0x5c 802aa6a: 4997 ldr r1, [pc, #604] ; (802acc8 ) 802aa6c: 4618 mov r0, r3 802aa6e: f0a7 fb75 bl 80d215c if(FlagReturn == false) { 802aa72: 4b96 ldr r3, [pc, #600] ; (802accc ) 802aa74: 781b ldrb r3, [r3, #0] 802aa76: b2db uxtb r3, r3 802aa78: f083 0301 eor.w r3, r3, #1 802aa7c: b2db uxtb r3, r3 802aa7e: 2b00 cmp r3, #0 802aa80: d006 beq.n 802aa90 res = ScanFiles(path, IndexFirstFile); 802aa82: 6839 ldr r1, [r7, #0] 802aa84: 6878 ldr r0, [r7, #4] 802aa86: f7ff ffab bl 802a9e0 802aa8a: 4603 mov r3, r0 802aa8c: f887 306f strb.w r3, [r7, #111] ; 0x6f } if (res != FR_OK) { 802aa90: f897 306f ldrb.w r3, [r7, #111] ; 0x6f 802aa94: 2b00 cmp r3, #0 802aa96: f040 86e5 bne.w 802b864 break; } path[i] = 0; 802aa9a: 687a ldr r2, [r7, #4] 802aa9c: 6e3b ldr r3, [r7, #96] ; 0x60 802aa9e: 4413 add r3, r2 802aaa0: 2200 movs r2, #0 802aaa2: 701a strb r2, [r3, #0] 802aaa4: e7b7 b.n 802aa16 } path[i] = 0;*/ } else { /* Ýòî ôàéë. */ printf("%s/%s\n", path, fn); 802aaa6: 6dfa ldr r2, [r7, #92] ; 0x5c 802aaa8: 6879 ldr r1, [r7, #4] 802aaaa: 4889 ldr r0, [pc, #548] ; (802acd0 ) 802aaac: f0a7 fb2e bl 80d210c l = strlen(fn); 802aab0: 6df8 ldr r0, [r7, #92] ; 0x5c 802aab2: f7f5 fc2f bl 8020314 802aab6: 65b8 str r0, [r7, #88] ; 0x58 switch(ScanMode) 802aab8: 4b86 ldr r3, [pc, #536] ; (802acd4 ) 802aaba: 781b ldrb r3, [r3, #0] 802aabc: b2db uxtb r3, r3 802aabe: 2b0f cmp r3, #15 802aac0: d8a9 bhi.n 802aa16 802aac2: a201 add r2, pc, #4 ; (adr r2, 802aac8 ) 802aac4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 802aac8: 0802ab09 .word 0x0802ab09 802aacc: 0802ad55 .word 0x0802ad55 802aad0: 0802adbd .word 0x0802adbd 802aad4: 0802abd9 .word 0x0802abd9 802aad8: 0802aced .word 0x0802aced 802aadc: 0802ab71 .word 0x0802ab71 802aae0: 0802ac41 .word 0x0802ac41 802aae4: 0802ae25 .word 0x0802ae25 802aae8: 0802b00d .word 0x0802b00d 802aaec: 0802b557 .word 0x0802b557 802aaf0: 0802b689 .word 0x0802b689 802aaf4: 0802b7a5 .word 0x0802b7a5 802aaf8: 0802b225 .word 0x0802b225 802aafc: 0802b455 .word 0x0802b455 802ab00: 0802b10f .word 0x0802b10f 802ab04: 0802b327 .word 0x0802b327 { case GET_NUM_PTM_FILES: if((fn[l - 3] == 'p') || (fn[l - 3] == 'P')) 802ab08: 6dbb ldr r3, [r7, #88] ; 0x58 802ab0a: 3b03 subs r3, #3 802ab0c: 6dfa ldr r2, [r7, #92] ; 0x5c 802ab0e: 4413 add r3, r2 802ab10: 781b ldrb r3, [r3, #0] 802ab12: 2b70 cmp r3, #112 ; 0x70 802ab14: d007 beq.n 802ab26 802ab16: 6dbb ldr r3, [r7, #88] ; 0x58 802ab18: 3b03 subs r3, #3 802ab1a: 6dfa ldr r2, [r7, #92] ; 0x5c 802ab1c: 4413 add r3, r2 802ab1e: 781b ldrb r3, [r3, #0] 802ab20: 2b50 cmp r3, #80 ; 0x50 802ab22: f040 866f bne.w 802b804 { if((fn[l - 2] == 't') || (fn[l - 2] == 'T')) 802ab26: 6dbb ldr r3, [r7, #88] ; 0x58 802ab28: 3b02 subs r3, #2 802ab2a: 6dfa ldr r2, [r7, #92] ; 0x5c 802ab2c: 4413 add r3, r2 802ab2e: 781b ldrb r3, [r3, #0] 802ab30: 2b74 cmp r3, #116 ; 0x74 802ab32: d007 beq.n 802ab44 802ab34: 6dbb ldr r3, [r7, #88] ; 0x58 802ab36: 3b02 subs r3, #2 802ab38: 6dfa ldr r2, [r7, #92] ; 0x5c 802ab3a: 4413 add r3, r2 802ab3c: 781b ldrb r3, [r3, #0] 802ab3e: 2b54 cmp r3, #84 ; 0x54 802ab40: f040 8660 bne.w 802b804 { if((fn[l - 1] == 'm') || (fn[l - 1] == 'M')) 802ab44: 6dbb ldr r3, [r7, #88] ; 0x58 802ab46: 3b01 subs r3, #1 802ab48: 6dfa ldr r2, [r7, #92] ; 0x5c 802ab4a: 4413 add r3, r2 802ab4c: 781b ldrb r3, [r3, #0] 802ab4e: 2b6d cmp r3, #109 ; 0x6d 802ab50: d007 beq.n 802ab62 802ab52: 6dbb ldr r3, [r7, #88] ; 0x58 802ab54: 3b01 subs r3, #1 802ab56: 6dfa ldr r2, [r7, #92] ; 0x5c 802ab58: 4413 add r3, r2 802ab5a: 781b ldrb r3, [r3, #0] 802ab5c: 2b4d cmp r3, #77 ; 0x4d 802ab5e: f040 8651 bne.w 802b804 { tmpPTM++; 802ab62: 4b5d ldr r3, [pc, #372] ; (802acd8 ) 802ab64: 681b ldr r3, [r3, #0] 802ab66: 3301 adds r3, #1 802ab68: 4a5b ldr r2, [pc, #364] ; (802acd8 ) 802ab6a: 6013 str r3, [r2, #0] } } } break; 802ab6c: f000 be4a b.w 802b804 case GET_NUM_DGN_FILES: if((fn[l - 3] == 'd') || (fn[l - 3] == 'D')) 802ab70: 6dbb ldr r3, [r7, #88] ; 0x58 802ab72: 3b03 subs r3, #3 802ab74: 6dfa ldr r2, [r7, #92] ; 0x5c 802ab76: 4413 add r3, r2 802ab78: 781b ldrb r3, [r3, #0] 802ab7a: 2b64 cmp r3, #100 ; 0x64 802ab7c: d007 beq.n 802ab8e 802ab7e: 6dbb ldr r3, [r7, #88] ; 0x58 802ab80: 3b03 subs r3, #3 802ab82: 6dfa ldr r2, [r7, #92] ; 0x5c 802ab84: 4413 add r3, r2 802ab86: 781b ldrb r3, [r3, #0] 802ab88: 2b44 cmp r3, #68 ; 0x44 802ab8a: f040 863e bne.w 802b80a { if((fn[l - 2] == 'g') || (fn[l - 2] == 'G')) 802ab8e: 6dbb ldr r3, [r7, #88] ; 0x58 802ab90: 3b02 subs r3, #2 802ab92: 6dfa ldr r2, [r7, #92] ; 0x5c 802ab94: 4413 add r3, r2 802ab96: 781b ldrb r3, [r3, #0] 802ab98: 2b67 cmp r3, #103 ; 0x67 802ab9a: d007 beq.n 802abac 802ab9c: 6dbb ldr r3, [r7, #88] ; 0x58 802ab9e: 3b02 subs r3, #2 802aba0: 6dfa ldr r2, [r7, #92] ; 0x5c 802aba2: 4413 add r3, r2 802aba4: 781b ldrb r3, [r3, #0] 802aba6: 2b47 cmp r3, #71 ; 0x47 802aba8: f040 862f bne.w 802b80a { if((fn[l - 1] == 'n') || (fn[l - 1] == 'N')) 802abac: 6dbb ldr r3, [r7, #88] ; 0x58 802abae: 3b01 subs r3, #1 802abb0: 6dfa ldr r2, [r7, #92] ; 0x5c 802abb2: 4413 add r3, r2 802abb4: 781b ldrb r3, [r3, #0] 802abb6: 2b6e cmp r3, #110 ; 0x6e 802abb8: d007 beq.n 802abca 802abba: 6dbb ldr r3, [r7, #88] ; 0x58 802abbc: 3b01 subs r3, #1 802abbe: 6dfa ldr r2, [r7, #92] ; 0x5c 802abc0: 4413 add r3, r2 802abc2: 781b ldrb r3, [r3, #0] 802abc4: 2b4e cmp r3, #78 ; 0x4e 802abc6: f040 8620 bne.w 802b80a { tmpDGN++; 802abca: 4b44 ldr r3, [pc, #272] ; (802acdc ) 802abcc: 681b ldr r3, [r3, #0] 802abce: 3301 adds r3, #1 802abd0: 4a42 ldr r2, [pc, #264] ; (802acdc ) 802abd2: 6013 str r3, [r2, #0] } } } break; 802abd4: f000 be19 b.w 802b80a case GET_NUM_SPEC_FILES: if((fn[l - 3] == 'c') || (fn[l - 3] == 'C')) 802abd8: 6dbb ldr r3, [r7, #88] ; 0x58 802abda: 3b03 subs r3, #3 802abdc: 6dfa ldr r2, [r7, #92] ; 0x5c 802abde: 4413 add r3, r2 802abe0: 781b ldrb r3, [r3, #0] 802abe2: 2b63 cmp r3, #99 ; 0x63 802abe4: d007 beq.n 802abf6 802abe6: 6dbb ldr r3, [r7, #88] ; 0x58 802abe8: 3b03 subs r3, #3 802abea: 6dfa ldr r2, [r7, #92] ; 0x5c 802abec: 4413 add r3, r2 802abee: 781b ldrb r3, [r3, #0] 802abf0: 2b43 cmp r3, #67 ; 0x43 802abf2: f040 860d bne.w 802b810 { if((fn[l - 2] == 's') || (fn[l - 2] == 'S')) 802abf6: 6dbb ldr r3, [r7, #88] ; 0x58 802abf8: 3b02 subs r3, #2 802abfa: 6dfa ldr r2, [r7, #92] ; 0x5c 802abfc: 4413 add r3, r2 802abfe: 781b ldrb r3, [r3, #0] 802ac00: 2b73 cmp r3, #115 ; 0x73 802ac02: d007 beq.n 802ac14 802ac04: 6dbb ldr r3, [r7, #88] ; 0x58 802ac06: 3b02 subs r3, #2 802ac08: 6dfa ldr r2, [r7, #92] ; 0x5c 802ac0a: 4413 add r3, r2 802ac0c: 781b ldrb r3, [r3, #0] 802ac0e: 2b53 cmp r3, #83 ; 0x53 802ac10: f040 85fe bne.w 802b810 { if((fn[l - 1] == 'v') || (fn[l - 1] == 'V')) 802ac14: 6dbb ldr r3, [r7, #88] ; 0x58 802ac16: 3b01 subs r3, #1 802ac18: 6dfa ldr r2, [r7, #92] ; 0x5c 802ac1a: 4413 add r3, r2 802ac1c: 781b ldrb r3, [r3, #0] 802ac1e: 2b76 cmp r3, #118 ; 0x76 802ac20: d007 beq.n 802ac32 802ac22: 6dbb ldr r3, [r7, #88] ; 0x58 802ac24: 3b01 subs r3, #1 802ac26: 6dfa ldr r2, [r7, #92] ; 0x5c 802ac28: 4413 add r3, r2 802ac2a: 781b ldrb r3, [r3, #0] 802ac2c: 2b56 cmp r3, #86 ; 0x56 802ac2e: f040 85ef bne.w 802b810 { tmpSPEC++; 802ac32: 4b2b ldr r3, [pc, #172] ; (802ace0 ) 802ac34: 681b ldr r3, [r3, #0] 802ac36: 3301 adds r3, #1 802ac38: 4a29 ldr r2, [pc, #164] ; (802ace0 ) 802ac3a: 6013 str r3, [r2, #0] } } } break; 802ac3c: f000 bde8 b.w 802b810 case GET_NUM_CSV_FILES: if((fn[l - 3] == 'c') || (fn[l - 3] == 'C')) 802ac40: 6dbb ldr r3, [r7, #88] ; 0x58 802ac42: 3b03 subs r3, #3 802ac44: 6dfa ldr r2, [r7, #92] ; 0x5c 802ac46: 4413 add r3, r2 802ac48: 781b ldrb r3, [r3, #0] 802ac4a: 2b63 cmp r3, #99 ; 0x63 802ac4c: d007 beq.n 802ac5e 802ac4e: 6dbb ldr r3, [r7, #88] ; 0x58 802ac50: 3b03 subs r3, #3 802ac52: 6dfa ldr r2, [r7, #92] ; 0x5c 802ac54: 4413 add r3, r2 802ac56: 781b ldrb r3, [r3, #0] 802ac58: 2b43 cmp r3, #67 ; 0x43 802ac5a: f040 85dc bne.w 802b816 { if((fn[l - 2] == 's') || (fn[l - 2] == 'S')) 802ac5e: 6dbb ldr r3, [r7, #88] ; 0x58 802ac60: 3b02 subs r3, #2 802ac62: 6dfa ldr r2, [r7, #92] ; 0x5c 802ac64: 4413 add r3, r2 802ac66: 781b ldrb r3, [r3, #0] 802ac68: 2b73 cmp r3, #115 ; 0x73 802ac6a: d007 beq.n 802ac7c 802ac6c: 6dbb ldr r3, [r7, #88] ; 0x58 802ac6e: 3b02 subs r3, #2 802ac70: 6dfa ldr r2, [r7, #92] ; 0x5c 802ac72: 4413 add r3, r2 802ac74: 781b ldrb r3, [r3, #0] 802ac76: 2b53 cmp r3, #83 ; 0x53 802ac78: f040 85cd bne.w 802b816 { if((fn[l - 1] == 'v') || (fn[l - 1] == 'V')) 802ac7c: 6dbb ldr r3, [r7, #88] ; 0x58 802ac7e: 3b01 subs r3, #1 802ac80: 6dfa ldr r2, [r7, #92] ; 0x5c 802ac82: 4413 add r3, r2 802ac84: 781b ldrb r3, [r3, #0] 802ac86: 2b76 cmp r3, #118 ; 0x76 802ac88: d007 beq.n 802ac9a 802ac8a: 6dbb ldr r3, [r7, #88] ; 0x58 802ac8c: 3b01 subs r3, #1 802ac8e: 6dfa ldr r2, [r7, #92] ; 0x5c 802ac90: 4413 add r3, r2 802ac92: 781b ldrb r3, [r3, #0] 802ac94: 2b56 cmp r3, #86 ; 0x56 802ac96: f040 85be bne.w 802b816 { if(memcmp(path, "0:/Routes", 9) == 0) { 802ac9a: 2209 movs r2, #9 802ac9c: 4911 ldr r1, [pc, #68] ; (802ace4 ) 802ac9e: 6878 ldr r0, [r7, #4] 802aca0: f0a7 f966 bl 80d1f70 802aca4: 4603 mov r3, r0 802aca6: 2b00 cmp r3, #0 802aca8: f040 85b5 bne.w 802b816 tmpCSV++; 802acac: 4b0e ldr r3, [pc, #56] ; (802ace8 ) 802acae: 681b ldr r3, [r3, #0] 802acb0: 3301 adds r3, #1 802acb2: 4a0d ldr r2, [pc, #52] ; (802ace8 ) 802acb4: 6013 str r3, [r2, #0] } } } } break; 802acb6: f000 bdae b.w 802b816 802acba: bf00 nop 802acbc: 20021ff0 .word 0x20021ff0 802acc0: 2002200a .word 0x2002200a 802acc4: 20021ffd .word 0x20021ffd 802acc8: 080d4f38 .word 0x080d4f38 802accc: 20020dfe .word 0x20020dfe 802acd0: 080d4f3c .word 0x080d4f3c 802acd4: 20020dff .word 0x20020dff 802acd8: 20020e40 .word 0x20020e40 802acdc: 20020e44 .word 0x20020e44 802ace0: 20020e48 .word 0x20020e48 802ace4: 080d4f44 .word 0x080d4f44 802ace8: 20020e58 .word 0x20020e58 case GET_NUM_FRAN_FILES: if((fn[l - 3] == 'f') || (fn[l - 3] == 'F')) 802acec: 6dbb ldr r3, [r7, #88] ; 0x58 802acee: 3b03 subs r3, #3 802acf0: 6dfa ldr r2, [r7, #92] ; 0x5c 802acf2: 4413 add r3, r2 802acf4: 781b ldrb r3, [r3, #0] 802acf6: 2b66 cmp r3, #102 ; 0x66 802acf8: d007 beq.n 802ad0a 802acfa: 6dbb ldr r3, [r7, #88] ; 0x58 802acfc: 3b03 subs r3, #3 802acfe: 6dfa ldr r2, [r7, #92] ; 0x5c 802ad00: 4413 add r3, r2 802ad02: 781b ldrb r3, [r3, #0] 802ad04: 2b46 cmp r3, #70 ; 0x46 802ad06: f040 8589 bne.w 802b81c { if((fn[l - 2] == 'r') || (fn[l - 2] == 'R')) 802ad0a: 6dbb ldr r3, [r7, #88] ; 0x58 802ad0c: 3b02 subs r3, #2 802ad0e: 6dfa ldr r2, [r7, #92] ; 0x5c 802ad10: 4413 add r3, r2 802ad12: 781b ldrb r3, [r3, #0] 802ad14: 2b72 cmp r3, #114 ; 0x72 802ad16: d007 beq.n 802ad28 802ad18: 6dbb ldr r3, [r7, #88] ; 0x58 802ad1a: 3b02 subs r3, #2 802ad1c: 6dfa ldr r2, [r7, #92] ; 0x5c 802ad1e: 4413 add r3, r2 802ad20: 781b ldrb r3, [r3, #0] 802ad22: 2b52 cmp r3, #82 ; 0x52 802ad24: f040 857a bne.w 802b81c { if((fn[l - 1] == 'n') || (fn[l - 1] == 'N')) 802ad28: 6dbb ldr r3, [r7, #88] ; 0x58 802ad2a: 3b01 subs r3, #1 802ad2c: 6dfa ldr r2, [r7, #92] ; 0x5c 802ad2e: 4413 add r3, r2 802ad30: 781b ldrb r3, [r3, #0] 802ad32: 2b6e cmp r3, #110 ; 0x6e 802ad34: d007 beq.n 802ad46 802ad36: 6dbb ldr r3, [r7, #88] ; 0x58 802ad38: 3b01 subs r3, #1 802ad3a: 6dfa ldr r2, [r7, #92] ; 0x5c 802ad3c: 4413 add r3, r2 802ad3e: 781b ldrb r3, [r3, #0] 802ad40: 2b4e cmp r3, #78 ; 0x4e 802ad42: f040 856b bne.w 802b81c { tmpFRAN++; 802ad46: 4bad ldr r3, [pc, #692] ; (802affc ) 802ad48: 681b ldr r3, [r3, #0] 802ad4a: 3301 adds r3, #1 802ad4c: 4aab ldr r2, [pc, #684] ; (802affc ) 802ad4e: 6013 str r3, [r2, #0] } } } break; 802ad50: f000 bd64 b.w 802b81c case GET_NUM_GTR_FILES: if((fn[l - 3] == 'g') || (fn[l - 3] == 'G')) 802ad54: 6dbb ldr r3, [r7, #88] ; 0x58 802ad56: 3b03 subs r3, #3 802ad58: 6dfa ldr r2, [r7, #92] ; 0x5c 802ad5a: 4413 add r3, r2 802ad5c: 781b ldrb r3, [r3, #0] 802ad5e: 2b67 cmp r3, #103 ; 0x67 802ad60: d007 beq.n 802ad72 802ad62: 6dbb ldr r3, [r7, #88] ; 0x58 802ad64: 3b03 subs r3, #3 802ad66: 6dfa ldr r2, [r7, #92] ; 0x5c 802ad68: 4413 add r3, r2 802ad6a: 781b ldrb r3, [r3, #0] 802ad6c: 2b47 cmp r3, #71 ; 0x47 802ad6e: f040 8558 bne.w 802b822 { if((fn[l - 2] == 't') || (fn[l - 2] == 'T')) 802ad72: 6dbb ldr r3, [r7, #88] ; 0x58 802ad74: 3b02 subs r3, #2 802ad76: 6dfa ldr r2, [r7, #92] ; 0x5c 802ad78: 4413 add r3, r2 802ad7a: 781b ldrb r3, [r3, #0] 802ad7c: 2b74 cmp r3, #116 ; 0x74 802ad7e: d007 beq.n 802ad90 802ad80: 6dbb ldr r3, [r7, #88] ; 0x58 802ad82: 3b02 subs r3, #2 802ad84: 6dfa ldr r2, [r7, #92] ; 0x5c 802ad86: 4413 add r3, r2 802ad88: 781b ldrb r3, [r3, #0] 802ad8a: 2b54 cmp r3, #84 ; 0x54 802ad8c: f040 8549 bne.w 802b822 { if((fn[l - 1] == 'r') || (fn[l - 1] == 'R')) 802ad90: 6dbb ldr r3, [r7, #88] ; 0x58 802ad92: 3b01 subs r3, #1 802ad94: 6dfa ldr r2, [r7, #92] ; 0x5c 802ad96: 4413 add r3, r2 802ad98: 781b ldrb r3, [r3, #0] 802ad9a: 2b72 cmp r3, #114 ; 0x72 802ad9c: d007 beq.n 802adae 802ad9e: 6dbb ldr r3, [r7, #88] ; 0x58 802ada0: 3b01 subs r3, #1 802ada2: 6dfa ldr r2, [r7, #92] ; 0x5c 802ada4: 4413 add r3, r2 802ada6: 781b ldrb r3, [r3, #0] 802ada8: 2b52 cmp r3, #82 ; 0x52 802adaa: f040 853a bne.w 802b822 { tmpGTR++; 802adae: 4b94 ldr r3, [pc, #592] ; (802b000 ) 802adb0: 681b ldr r3, [r3, #0] 802adb2: 3301 adds r3, #1 802adb4: 4a92 ldr r2, [pc, #584] ; (802b000 ) 802adb6: 6013 str r3, [r2, #0] } } } break; 802adb8: f000 bd33 b.w 802b822 case GET_NUM_WAV_FILES: if((fn[l - 3] == 'w') || (fn[l - 3] == 'W')) 802adbc: 6dbb ldr r3, [r7, #88] ; 0x58 802adbe: 3b03 subs r3, #3 802adc0: 6dfa ldr r2, [r7, #92] ; 0x5c 802adc2: 4413 add r3, r2 802adc4: 781b ldrb r3, [r3, #0] 802adc6: 2b77 cmp r3, #119 ; 0x77 802adc8: d007 beq.n 802adda 802adca: 6dbb ldr r3, [r7, #88] ; 0x58 802adcc: 3b03 subs r3, #3 802adce: 6dfa ldr r2, [r7, #92] ; 0x5c 802add0: 4413 add r3, r2 802add2: 781b ldrb r3, [r3, #0] 802add4: 2b57 cmp r3, #87 ; 0x57 802add6: f040 8527 bne.w 802b828 { if((fn[l - 2] == 'a') || (fn[l - 2] == 'A')) 802adda: 6dbb ldr r3, [r7, #88] ; 0x58 802addc: 3b02 subs r3, #2 802adde: 6dfa ldr r2, [r7, #92] ; 0x5c 802ade0: 4413 add r3, r2 802ade2: 781b ldrb r3, [r3, #0] 802ade4: 2b61 cmp r3, #97 ; 0x61 802ade6: d007 beq.n 802adf8 802ade8: 6dbb ldr r3, [r7, #88] ; 0x58 802adea: 3b02 subs r3, #2 802adec: 6dfa ldr r2, [r7, #92] ; 0x5c 802adee: 4413 add r3, r2 802adf0: 781b ldrb r3, [r3, #0] 802adf2: 2b41 cmp r3, #65 ; 0x41 802adf4: f040 8518 bne.w 802b828 { if((fn[l - 1] == 'v') || (fn[l - 1] == 'V')) 802adf8: 6dbb ldr r3, [r7, #88] ; 0x58 802adfa: 3b01 subs r3, #1 802adfc: 6dfa ldr r2, [r7, #92] ; 0x5c 802adfe: 4413 add r3, r2 802ae00: 781b ldrb r3, [r3, #0] 802ae02: 2b76 cmp r3, #118 ; 0x76 802ae04: d007 beq.n 802ae16 802ae06: 6dbb ldr r3, [r7, #88] ; 0x58 802ae08: 3b01 subs r3, #1 802ae0a: 6dfa ldr r2, [r7, #92] ; 0x5c 802ae0c: 4413 add r3, r2 802ae0e: 781b ldrb r3, [r3, #0] 802ae10: 2b56 cmp r3, #86 ; 0x56 802ae12: f040 8509 bne.w 802b828 { tmpWAV++; 802ae16: 4b7b ldr r3, [pc, #492] ; (802b004 ) 802ae18: 681b ldr r3, [r3, #0] 802ae1a: 3301 adds r3, #1 802ae1c: 4a79 ldr r2, [pc, #484] ; (802b004 ) 802ae1e: 6013 str r3, [r2, #0] } } } break; 802ae20: f000 bd02 b.w 802b828 case GET_NUM_ROUTE_FILES: if((fn[l - 3] == 'w') || (fn[l - 3] == 'W')) 802ae24: 6dbb ldr r3, [r7, #88] ; 0x58 802ae26: 3b03 subs r3, #3 802ae28: 6dfa ldr r2, [r7, #92] ; 0x5c 802ae2a: 4413 add r3, r2 802ae2c: 781b ldrb r3, [r3, #0] 802ae2e: 2b77 cmp r3, #119 ; 0x77 802ae30: d007 beq.n 802ae42 802ae32: 6dbb ldr r3, [r7, #88] ; 0x58 802ae34: 3b03 subs r3, #3 802ae36: 6dfa ldr r2, [r7, #92] ; 0x5c 802ae38: 4413 add r3, r2 802ae3a: 781b ldrb r3, [r3, #0] 802ae3c: 2b57 cmp r3, #87 ; 0x57 802ae3e: f040 84f6 bne.w 802b82e { if((fn[l - 2] == 'a') || (fn[l - 2] == 'A')) 802ae42: 6dbb ldr r3, [r7, #88] ; 0x58 802ae44: 3b02 subs r3, #2 802ae46: 6dfa ldr r2, [r7, #92] ; 0x5c 802ae48: 4413 add r3, r2 802ae4a: 781b ldrb r3, [r3, #0] 802ae4c: 2b61 cmp r3, #97 ; 0x61 802ae4e: d007 beq.n 802ae60 802ae50: 6dbb ldr r3, [r7, #88] ; 0x58 802ae52: 3b02 subs r3, #2 802ae54: 6dfa ldr r2, [r7, #92] ; 0x5c 802ae56: 4413 add r3, r2 802ae58: 781b ldrb r3, [r3, #0] 802ae5a: 2b41 cmp r3, #65 ; 0x41 802ae5c: f040 84e7 bne.w 802b82e { if((fn[l - 1] == 'v') || (fn[l - 1] == 'V')) 802ae60: 6dbb ldr r3, [r7, #88] ; 0x58 802ae62: 3b01 subs r3, #1 802ae64: 6dfa ldr r2, [r7, #92] ; 0x5c 802ae66: 4413 add r3, r2 802ae68: 781b ldrb r3, [r3, #0] 802ae6a: 2b76 cmp r3, #118 ; 0x76 802ae6c: d007 beq.n 802ae7e 802ae6e: 6dbb ldr r3, [r7, #88] ; 0x58 802ae70: 3b01 subs r3, #1 802ae72: 6dfa ldr r2, [r7, #92] ; 0x5c 802ae74: 4413 add r3, r2 802ae76: 781b ldrb r3, [r3, #0] 802ae78: 2b56 cmp r3, #86 ; 0x56 802ae7a: f040 84d8 bne.w 802b82e { tmpWAV++; 802ae7e: 4b61 ldr r3, [pc, #388] ; (802b004 ) 802ae80: 681b ldr r3, [r3, #0] 802ae82: 3301 adds r3, #1 802ae84: 4a5f ldr r2, [pc, #380] ; (802b004 ) 802ae86: 6013 str r3, [r2, #0] if(fn[1] == '_') 802ae88: 6dfb ldr r3, [r7, #92] ; 0x5c 802ae8a: 3301 adds r3, #1 802ae8c: 781b ldrb r3, [r3, #0] 802ae8e: 2b5f cmp r3, #95 ; 0x5f 802ae90: d10e bne.n 802aeb0 { num = (uint32_t) (fn[0] - 0x30); 802ae92: 6dfb ldr r3, [r7, #92] ; 0x5c 802ae94: 781b ldrb r3, [r3, #0] 802ae96: 3b30 subs r3, #48 ; 0x30 802ae98: 667b str r3, [r7, #100] ; 0x64 if(num > 0) { 802ae9a: 6e7b ldr r3, [r7, #100] ; 0x64 802ae9c: 2b00 cmp r3, #0 802ae9e: f000 84c6 beq.w 802b82e RouteMeas(num - 1) = 1; 802aea2: 6e7a ldr r2, [r7, #100] ; 0x64 802aea4: 4b58 ldr r3, [pc, #352] ; (802b008 ) 802aea6: 4413 add r3, r2 802aea8: 2201 movs r2, #1 802aeaa: 701a strb r2, [r3, #0] RouteMeas(num - 1) = 1; } } } } break; 802aeac: f000 bcbf b.w 802b82e if(fn[2] == '_') 802aeb0: 6dfb ldr r3, [r7, #92] ; 0x5c 802aeb2: 3302 adds r3, #2 802aeb4: 781b ldrb r3, [r3, #0] 802aeb6: 2b5f cmp r3, #95 ; 0x5f 802aeb8: d115 bne.n 802aee6 num = (uint32_t) ((fn[0] - 0x30) * 10) + (uint32_t)(fn[1] - 0x30); 802aeba: 6dfb ldr r3, [r7, #92] ; 0x5c 802aebc: 781b ldrb r3, [r3, #0] 802aebe: f1a3 0230 sub.w r2, r3, #48 ; 0x30 802aec2: 4613 mov r3, r2 802aec4: 009b lsls r3, r3, #2 802aec6: 4413 add r3, r2 802aec8: 005b lsls r3, r3, #1 802aeca: 461a mov r2, r3 802aecc: 6dfb ldr r3, [r7, #92] ; 0x5c 802aece: 3301 adds r3, #1 802aed0: 781b ldrb r3, [r3, #0] 802aed2: 4413 add r3, r2 802aed4: 3b30 subs r3, #48 ; 0x30 802aed6: 667b str r3, [r7, #100] ; 0x64 RouteMeas(num - 1) = 1; 802aed8: 6e7a ldr r2, [r7, #100] ; 0x64 802aeda: 4b4b ldr r3, [pc, #300] ; (802b008 ) 802aedc: 4413 add r3, r2 802aede: 2201 movs r2, #1 802aee0: 701a strb r2, [r3, #0] break; 802aee2: f000 bca4 b.w 802b82e if(fn[3] == '_') 802aee6: 6dfb ldr r3, [r7, #92] ; 0x5c 802aee8: 3303 adds r3, #3 802aeea: 781b ldrb r3, [r3, #0] 802aeec: 2b5f cmp r3, #95 ; 0x5f 802aeee: d11d bne.n 802af2c num = (uint32_t) ((fn[0] - 0x30) * 100) + (uint32_t)((fn[1] - 0x30) * 10) + (uint32_t)(fn[2] - 0x30); 802aef0: 6dfb ldr r3, [r7, #92] ; 0x5c 802aef2: 781b ldrb r3, [r3, #0] 802aef4: 3b30 subs r3, #48 ; 0x30 802aef6: 2264 movs r2, #100 ; 0x64 802aef8: fb02 f303 mul.w r3, r2, r3 802aefc: 4619 mov r1, r3 802aefe: 6dfb ldr r3, [r7, #92] ; 0x5c 802af00: 3301 adds r3, #1 802af02: 781b ldrb r3, [r3, #0] 802af04: f1a3 0230 sub.w r2, r3, #48 ; 0x30 802af08: 4613 mov r3, r2 802af0a: 009b lsls r3, r3, #2 802af0c: 4413 add r3, r2 802af0e: 005b lsls r3, r3, #1 802af10: 440b add r3, r1 802af12: 6dfa ldr r2, [r7, #92] ; 0x5c 802af14: 3202 adds r2, #2 802af16: 7812 ldrb r2, [r2, #0] 802af18: 4413 add r3, r2 802af1a: 3b30 subs r3, #48 ; 0x30 802af1c: 667b str r3, [r7, #100] ; 0x64 RouteMeas(num - 1) = 1; 802af1e: 6e7a ldr r2, [r7, #100] ; 0x64 802af20: 4b39 ldr r3, [pc, #228] ; (802b008 ) 802af22: 4413 add r3, r2 802af24: 2201 movs r2, #1 802af26: 701a strb r2, [r3, #0] break; 802af28: f000 bc81 b.w 802b82e if(fn[4] == '_') 802af2c: 6dfb ldr r3, [r7, #92] ; 0x5c 802af2e: 3304 adds r3, #4 802af30: 781b ldrb r3, [r3, #0] 802af32: 2b5f cmp r3, #95 ; 0x5f 802af34: d126 bne.n 802af84 num = (uint32_t) ((fn[0] - 0x30) * 1000) + (uint32_t)((fn[1] - 0x30) * 100) + (uint32_t)((fn[2] - 0x30) * 10) + (uint32_t)(fn[3] - 0x30); 802af36: 6dfb ldr r3, [r7, #92] ; 0x5c 802af38: 781b ldrb r3, [r3, #0] 802af3a: 3b30 subs r3, #48 ; 0x30 802af3c: f44f 727a mov.w r2, #1000 ; 0x3e8 802af40: fb02 f303 mul.w r3, r2, r3 802af44: 4619 mov r1, r3 802af46: 6dfb ldr r3, [r7, #92] ; 0x5c 802af48: 3301 adds r3, #1 802af4a: 781b ldrb r3, [r3, #0] 802af4c: 3b30 subs r3, #48 ; 0x30 802af4e: 2264 movs r2, #100 ; 0x64 802af50: fb02 f303 mul.w r3, r2, r3 802af54: 4419 add r1, r3 802af56: 6dfb ldr r3, [r7, #92] ; 0x5c 802af58: 3302 adds r3, #2 802af5a: 781b ldrb r3, [r3, #0] 802af5c: f1a3 0230 sub.w r2, r3, #48 ; 0x30 802af60: 4613 mov r3, r2 802af62: 009b lsls r3, r3, #2 802af64: 4413 add r3, r2 802af66: 005b lsls r3, r3, #1 802af68: 440b add r3, r1 802af6a: 6dfa ldr r2, [r7, #92] ; 0x5c 802af6c: 3203 adds r2, #3 802af6e: 7812 ldrb r2, [r2, #0] 802af70: 4413 add r3, r2 802af72: 3b30 subs r3, #48 ; 0x30 802af74: 667b str r3, [r7, #100] ; 0x64 RouteMeas(num - 1) = 1; 802af76: 6e7a ldr r2, [r7, #100] ; 0x64 802af78: 4b23 ldr r3, [pc, #140] ; (802b008 ) 802af7a: 4413 add r3, r2 802af7c: 2201 movs r2, #1 802af7e: 701a strb r2, [r3, #0] break; 802af80: f000 bc55 b.w 802b82e if(fn[5] == '_') 802af84: 6dfb ldr r3, [r7, #92] ; 0x5c 802af86: 3305 adds r3, #5 802af88: 781b ldrb r3, [r3, #0] 802af8a: 2b5f cmp r3, #95 ; 0x5f 802af8c: f040 844f bne.w 802b82e 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); 802af90: 6dfb ldr r3, [r7, #92] ; 0x5c 802af92: 781b ldrb r3, [r3, #0] 802af94: 3b30 subs r3, #48 ; 0x30 802af96: f242 7210 movw r2, #10000 ; 0x2710 802af9a: fb02 f303 mul.w r3, r2, r3 802af9e: 4619 mov r1, r3 802afa0: 6dfb ldr r3, [r7, #92] ; 0x5c 802afa2: 3301 adds r3, #1 802afa4: 781b ldrb r3, [r3, #0] 802afa6: 3b30 subs r3, #48 ; 0x30 802afa8: f44f 727a mov.w r2, #1000 ; 0x3e8 802afac: fb02 f303 mul.w r3, r2, r3 802afb0: 4419 add r1, r3 802afb2: 6dfb ldr r3, [r7, #92] ; 0x5c 802afb4: 3303 adds r3, #3 802afb6: 781b ldrb r3, [r3, #0] 802afb8: f1a3 0230 sub.w r2, r3, #48 ; 0x30 802afbc: 4613 mov r3, r2 802afbe: 009b lsls r3, r3, #2 802afc0: 4413 add r3, r2 802afc2: 005b lsls r3, r3, #1 802afc4: 4618 mov r0, r3 802afc6: 6dfb ldr r3, [r7, #92] ; 0x5c 802afc8: 3302 adds r3, #2 802afca: 781b ldrb r3, [r3, #0] 802afcc: 3b30 subs r3, #48 ; 0x30 802afce: 2264 movs r2, #100 ; 0x64 802afd0: fb02 f303 mul.w r3, r2, r3 802afd4: 4403 add r3, r0 802afd6: 440b add r3, r1 802afd8: 6dfa ldr r2, [r7, #92] ; 0x5c 802afda: 3204 adds r2, #4 802afdc: 7812 ldrb r2, [r2, #0] 802afde: 4413 add r3, r2 802afe0: 3b30 subs r3, #48 ; 0x30 802afe2: 667b str r3, [r7, #100] ; 0x64 if(num <= 65536) 802afe4: 6e7b ldr r3, [r7, #100] ; 0x64 802afe6: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 802afea: f200 8420 bhi.w 802b82e RouteMeas(num - 1) = 1; 802afee: 6e7a ldr r2, [r7, #100] ; 0x64 802aff0: 4b05 ldr r3, [pc, #20] ; (802b008 ) 802aff2: 4413 add r3, r2 802aff4: 2201 movs r2, #1 802aff6: 701a strb r2, [r3, #0] break; 802aff8: f000 bc19 b.w 802b82e 802affc: 20020e4c .word 0x20020e4c 802b000: 20020e50 .word 0x20020e50 802b004: 20020e54 .word 0x20020e54 802b008: 640fffff .word 0x640fffff case GET_NAMES_12_PTM_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'p') || (fn[l - 3] == 'P')) 802b00c: 6dbb ldr r3, [r7, #88] ; 0x58 802b00e: 3b03 subs r3, #3 802b010: 6dfa ldr r2, [r7, #92] ; 0x5c 802b012: 4413 add r3, r2 802b014: 781b ldrb r3, [r3, #0] 802b016: 2b70 cmp r3, #112 ; 0x70 802b018: d007 beq.n 802b02a 802b01a: 6dbb ldr r3, [r7, #88] ; 0x58 802b01c: 3b03 subs r3, #3 802b01e: 6dfa ldr r2, [r7, #92] ; 0x5c 802b020: 4413 add r3, r2 802b022: 781b ldrb r3, [r3, #0] 802b024: 2b50 cmp r3, #80 ; 0x50 802b026: f040 8405 bne.w 802b834 { if((fn[l - 2] == 't') || (fn[l - 2] == 'T')) 802b02a: 6dbb ldr r3, [r7, #88] ; 0x58 802b02c: 3b02 subs r3, #2 802b02e: 6dfa ldr r2, [r7, #92] ; 0x5c 802b030: 4413 add r3, r2 802b032: 781b ldrb r3, [r3, #0] 802b034: 2b74 cmp r3, #116 ; 0x74 802b036: d007 beq.n 802b048 802b038: 6dbb ldr r3, [r7, #88] ; 0x58 802b03a: 3b02 subs r3, #2 802b03c: 6dfa ldr r2, [r7, #92] ; 0x5c 802b03e: 4413 add r3, r2 802b040: 781b ldrb r3, [r3, #0] 802b042: 2b54 cmp r3, #84 ; 0x54 802b044: f040 83f6 bne.w 802b834 { if((fn[l - 1] == 'm') || (fn[l - 1] == 'M')) 802b048: 6dbb ldr r3, [r7, #88] ; 0x58 802b04a: 3b01 subs r3, #1 802b04c: 6dfa ldr r2, [r7, #92] ; 0x5c 802b04e: 4413 add r3, r2 802b050: 781b ldrb r3, [r3, #0] 802b052: 2b6d cmp r3, #109 ; 0x6d 802b054: d007 beq.n 802b066 802b056: 6dbb ldr r3, [r7, #88] ; 0x58 802b058: 3b01 subs r3, #1 802b05a: 6dfa ldr r2, [r7, #92] ; 0x5c 802b05c: 4413 add r3, r2 802b05e: 781b ldrb r3, [r3, #0] 802b060: 2b4d cmp r3, #77 ; 0x4d 802b062: f040 83e7 bne.w 802b834 { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802b066: 4b6a ldr r3, [pc, #424] ; (802b210 ) 802b068: 681a ldr r2, [r3, #0] 802b06a: 683b ldr r3, [r7, #0] 802b06c: 429a cmp r2, r3 802b06e: d348 bcc.n 802b102 802b070: 4b68 ldr r3, [pc, #416] ; (802b214 ) 802b072: 681b ldr r3, [r3, #0] 802b074: 2b0b cmp r3, #11 802b076: d844 bhi.n 802b102 802b078: 4b67 ldr r3, [pc, #412] ; (802b218 ) 802b07a: 781b ldrb r3, [r3, #0] 802b07c: b2db uxtb r3, r3 802b07e: f083 0301 eor.w r3, r3, #1 802b082: b2db uxtb r3, r3 802b084: 2b00 cmp r3, #0 802b086: d03c beq.n 802b102 { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802b088: 4b62 ldr r3, [pc, #392] ; (802b214 ) 802b08a: 681a ldr r2, [r3, #0] 802b08c: 4613 mov r3, r2 802b08e: 00db lsls r3, r3, #3 802b090: 1a9b subs r3, r3, r2 802b092: 00db lsls r3, r3, #3 802b094: 3308 adds r3, #8 802b096: 4a61 ldr r2, [pc, #388] ; (802b21c ) 802b098: 4413 add r3, r2 802b09a: 3304 adds r3, #4 802b09c: 6df9 ldr r1, [r7, #92] ; 0x5c 802b09e: 4618 mov r0, r3 802b0a0: f0a7 f89d bl 80d21de ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802b0a4: 4b5b ldr r3, [pc, #364] ; (802b214 ) 802b0a6: 681a ldr r2, [r3, #0] 802b0a8: 4b5d ldr r3, [pc, #372] ; (802b220 ) 802b0aa: 891b ldrh r3, [r3, #8] 802b0ac: 041b lsls r3, r3, #16 802b0ae: 4618 mov r0, r3 802b0b0: 495a ldr r1, [pc, #360] ; (802b21c ) 802b0b2: 4613 mov r3, r2 802b0b4: 00db lsls r3, r3, #3 802b0b6: 1a9b subs r3, r3, r2 802b0b8: 00db lsls r3, r3, #3 802b0ba: 440b add r3, r1 802b0bc: 3308 adds r3, #8 802b0be: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802b0c0: 4b54 ldr r3, [pc, #336] ; (802b214 ) 802b0c2: 681a ldr r2, [r3, #0] 802b0c4: 4955 ldr r1, [pc, #340] ; (802b21c ) 802b0c6: 4613 mov r3, r2 802b0c8: 00db lsls r3, r3, #3 802b0ca: 1a9b subs r3, r3, r2 802b0cc: 00db lsls r3, r3, #3 802b0ce: 440b add r3, r1 802b0d0: 3308 adds r3, #8 802b0d2: 681b ldr r3, [r3, #0] 802b0d4: 4952 ldr r1, [pc, #328] ; (802b220 ) 802b0d6: 8949 ldrh r1, [r1, #10] 802b0d8: 4319 orrs r1, r3 802b0da: 4850 ldr r0, [pc, #320] ; (802b21c ) 802b0dc: 4613 mov r3, r2 802b0de: 00db lsls r3, r3, #3 802b0e0: 1a9b subs r3, r3, r2 802b0e2: 00db lsls r3, r3, #3 802b0e4: 4403 add r3, r0 802b0e6: 3308 adds r3, #8 802b0e8: 6019 str r1, [r3, #0] CntMyFiles++; 802b0ea: 4b4a ldr r3, [pc, #296] ; (802b214 ) 802b0ec: 681b ldr r3, [r3, #0] 802b0ee: 3301 adds r3, #1 802b0f0: 4a48 ldr r2, [pc, #288] ; (802b214 ) 802b0f2: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802b0f4: 4b47 ldr r3, [pc, #284] ; (802b214 ) 802b0f6: 681b ldr r3, [r3, #0] 802b0f8: 2b0b cmp r3, #11 802b0fa: d902 bls.n 802b102 FlagReturn = true; 802b0fc: 4b46 ldr r3, [pc, #280] ; (802b218 ) 802b0fe: 2201 movs r2, #1 802b100: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802b102: 4b43 ldr r3, [pc, #268] ; (802b210 ) 802b104: 681b ldr r3, [r3, #0] 802b106: 3301 adds r3, #1 802b108: 4a41 ldr r2, [pc, #260] ; (802b210 ) 802b10a: 6013 str r3, [r2, #0] } } } break; 802b10c: e392 b.n 802b834 case GET_NAMES_12_DGN_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'd') || (fn[l - 3] == 'D')) 802b10e: 6dbb ldr r3, [r7, #88] ; 0x58 802b110: 3b03 subs r3, #3 802b112: 6dfa ldr r2, [r7, #92] ; 0x5c 802b114: 4413 add r3, r2 802b116: 781b ldrb r3, [r3, #0] 802b118: 2b64 cmp r3, #100 ; 0x64 802b11a: d007 beq.n 802b12c 802b11c: 6dbb ldr r3, [r7, #88] ; 0x58 802b11e: 3b03 subs r3, #3 802b120: 6dfa ldr r2, [r7, #92] ; 0x5c 802b122: 4413 add r3, r2 802b124: 781b ldrb r3, [r3, #0] 802b126: 2b44 cmp r3, #68 ; 0x44 802b128: f040 8387 bne.w 802b83a { if((fn[l - 2] == 'g') || (fn[l - 2] == 'G')) 802b12c: 6dbb ldr r3, [r7, #88] ; 0x58 802b12e: 3b02 subs r3, #2 802b130: 6dfa ldr r2, [r7, #92] ; 0x5c 802b132: 4413 add r3, r2 802b134: 781b ldrb r3, [r3, #0] 802b136: 2b67 cmp r3, #103 ; 0x67 802b138: d007 beq.n 802b14a 802b13a: 6dbb ldr r3, [r7, #88] ; 0x58 802b13c: 3b02 subs r3, #2 802b13e: 6dfa ldr r2, [r7, #92] ; 0x5c 802b140: 4413 add r3, r2 802b142: 781b ldrb r3, [r3, #0] 802b144: 2b47 cmp r3, #71 ; 0x47 802b146: f040 8378 bne.w 802b83a { if((fn[l - 1] == 'n') || (fn[l - 1] == 'N')) 802b14a: 6dbb ldr r3, [r7, #88] ; 0x58 802b14c: 3b01 subs r3, #1 802b14e: 6dfa ldr r2, [r7, #92] ; 0x5c 802b150: 4413 add r3, r2 802b152: 781b ldrb r3, [r3, #0] 802b154: 2b6e cmp r3, #110 ; 0x6e 802b156: d007 beq.n 802b168 802b158: 6dbb ldr r3, [r7, #88] ; 0x58 802b15a: 3b01 subs r3, #1 802b15c: 6dfa ldr r2, [r7, #92] ; 0x5c 802b15e: 4413 add r3, r2 802b160: 781b ldrb r3, [r3, #0] 802b162: 2b4e cmp r3, #78 ; 0x4e 802b164: f040 8369 bne.w 802b83a { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802b168: 4b29 ldr r3, [pc, #164] ; (802b210 ) 802b16a: 681a ldr r2, [r3, #0] 802b16c: 683b ldr r3, [r7, #0] 802b16e: 429a cmp r2, r3 802b170: d348 bcc.n 802b204 802b172: 4b28 ldr r3, [pc, #160] ; (802b214 ) 802b174: 681b ldr r3, [r3, #0] 802b176: 2b0b cmp r3, #11 802b178: d844 bhi.n 802b204 802b17a: 4b27 ldr r3, [pc, #156] ; (802b218 ) 802b17c: 781b ldrb r3, [r3, #0] 802b17e: b2db uxtb r3, r3 802b180: f083 0301 eor.w r3, r3, #1 802b184: b2db uxtb r3, r3 802b186: 2b00 cmp r3, #0 802b188: d03c beq.n 802b204 { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802b18a: 4b22 ldr r3, [pc, #136] ; (802b214 ) 802b18c: 681a ldr r2, [r3, #0] 802b18e: 4613 mov r3, r2 802b190: 00db lsls r3, r3, #3 802b192: 1a9b subs r3, r3, r2 802b194: 00db lsls r3, r3, #3 802b196: 3308 adds r3, #8 802b198: 4a20 ldr r2, [pc, #128] ; (802b21c ) 802b19a: 4413 add r3, r2 802b19c: 3304 adds r3, #4 802b19e: 6df9 ldr r1, [r7, #92] ; 0x5c 802b1a0: 4618 mov r0, r3 802b1a2: f0a7 f81c bl 80d21de ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802b1a6: 4b1b ldr r3, [pc, #108] ; (802b214 ) 802b1a8: 681a ldr r2, [r3, #0] 802b1aa: 4b1d ldr r3, [pc, #116] ; (802b220 ) 802b1ac: 891b ldrh r3, [r3, #8] 802b1ae: 041b lsls r3, r3, #16 802b1b0: 4618 mov r0, r3 802b1b2: 491a ldr r1, [pc, #104] ; (802b21c ) 802b1b4: 4613 mov r3, r2 802b1b6: 00db lsls r3, r3, #3 802b1b8: 1a9b subs r3, r3, r2 802b1ba: 00db lsls r3, r3, #3 802b1bc: 440b add r3, r1 802b1be: 3308 adds r3, #8 802b1c0: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802b1c2: 4b14 ldr r3, [pc, #80] ; (802b214 ) 802b1c4: 681a ldr r2, [r3, #0] 802b1c6: 4915 ldr r1, [pc, #84] ; (802b21c ) 802b1c8: 4613 mov r3, r2 802b1ca: 00db lsls r3, r3, #3 802b1cc: 1a9b subs r3, r3, r2 802b1ce: 00db lsls r3, r3, #3 802b1d0: 440b add r3, r1 802b1d2: 3308 adds r3, #8 802b1d4: 681b ldr r3, [r3, #0] 802b1d6: 4912 ldr r1, [pc, #72] ; (802b220 ) 802b1d8: 8949 ldrh r1, [r1, #10] 802b1da: 4319 orrs r1, r3 802b1dc: 480f ldr r0, [pc, #60] ; (802b21c ) 802b1de: 4613 mov r3, r2 802b1e0: 00db lsls r3, r3, #3 802b1e2: 1a9b subs r3, r3, r2 802b1e4: 00db lsls r3, r3, #3 802b1e6: 4403 add r3, r0 802b1e8: 3308 adds r3, #8 802b1ea: 6019 str r1, [r3, #0] CntMyFiles++; 802b1ec: 4b09 ldr r3, [pc, #36] ; (802b214 ) 802b1ee: 681b ldr r3, [r3, #0] 802b1f0: 3301 adds r3, #1 802b1f2: 4a08 ldr r2, [pc, #32] ; (802b214 ) 802b1f4: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802b1f6: 4b07 ldr r3, [pc, #28] ; (802b214 ) 802b1f8: 681b ldr r3, [r3, #0] 802b1fa: 2b0b cmp r3, #11 802b1fc: d902 bls.n 802b204 FlagReturn = true; 802b1fe: 4b06 ldr r3, [pc, #24] ; (802b218 ) 802b200: 2201 movs r2, #1 802b202: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802b204: 4b02 ldr r3, [pc, #8] ; (802b210 ) 802b206: 681b ldr r3, [r3, #0] 802b208: 3301 adds r3, #1 802b20a: 4a01 ldr r2, [pc, #4] ; (802b210 ) 802b20c: 6013 str r3, [r2, #0] } } } break; 802b20e: e314 b.n 802b83a 802b210: 20020e10 .word 0x20020e10 802b214: 20020e0c .word 0x20020e0c 802b218: 20020dfe .word 0x20020dfe 802b21c: 200223a0 .word 0x200223a0 802b220: 20021ff0 .word 0x20021ff0 case GET_NAMES_12_SPEC_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'c') || (fn[l - 3] == 'C')) 802b224: 6dbb ldr r3, [r7, #88] ; 0x58 802b226: 3b03 subs r3, #3 802b228: 6dfa ldr r2, [r7, #92] ; 0x5c 802b22a: 4413 add r3, r2 802b22c: 781b ldrb r3, [r3, #0] 802b22e: 2b63 cmp r3, #99 ; 0x63 802b230: d007 beq.n 802b242 802b232: 6dbb ldr r3, [r7, #88] ; 0x58 802b234: 3b03 subs r3, #3 802b236: 6dfa ldr r2, [r7, #92] ; 0x5c 802b238: 4413 add r3, r2 802b23a: 781b ldrb r3, [r3, #0] 802b23c: 2b43 cmp r3, #67 ; 0x43 802b23e: f040 82ff bne.w 802b840 { if((fn[l - 2] == 's') || (fn[l - 2] == 'S')) 802b242: 6dbb ldr r3, [r7, #88] ; 0x58 802b244: 3b02 subs r3, #2 802b246: 6dfa ldr r2, [r7, #92] ; 0x5c 802b248: 4413 add r3, r2 802b24a: 781b ldrb r3, [r3, #0] 802b24c: 2b73 cmp r3, #115 ; 0x73 802b24e: d007 beq.n 802b260 802b250: 6dbb ldr r3, [r7, #88] ; 0x58 802b252: 3b02 subs r3, #2 802b254: 6dfa ldr r2, [r7, #92] ; 0x5c 802b256: 4413 add r3, r2 802b258: 781b ldrb r3, [r3, #0] 802b25a: 2b53 cmp r3, #83 ; 0x53 802b25c: f040 82f0 bne.w 802b840 { if((fn[l - 1] == 'v') || (fn[l - 1] == 'V')) 802b260: 6dbb ldr r3, [r7, #88] ; 0x58 802b262: 3b01 subs r3, #1 802b264: 6dfa ldr r2, [r7, #92] ; 0x5c 802b266: 4413 add r3, r2 802b268: 781b ldrb r3, [r3, #0] 802b26a: 2b76 cmp r3, #118 ; 0x76 802b26c: d007 beq.n 802b27e 802b26e: 6dbb ldr r3, [r7, #88] ; 0x58 802b270: 3b01 subs r3, #1 802b272: 6dfa ldr r2, [r7, #92] ; 0x5c 802b274: 4413 add r3, r2 802b276: 781b ldrb r3, [r3, #0] 802b278: 2b56 cmp r3, #86 ; 0x56 802b27a: f040 82e1 bne.w 802b840 { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802b27e: 4b6f ldr r3, [pc, #444] ; (802b43c ) 802b280: 681a ldr r2, [r3, #0] 802b282: 683b ldr r3, [r7, #0] 802b284: 429a cmp r2, r3 802b286: d348 bcc.n 802b31a 802b288: 4b6d ldr r3, [pc, #436] ; (802b440 ) 802b28a: 681b ldr r3, [r3, #0] 802b28c: 2b0b cmp r3, #11 802b28e: d844 bhi.n 802b31a 802b290: 4b6c ldr r3, [pc, #432] ; (802b444 ) 802b292: 781b ldrb r3, [r3, #0] 802b294: b2db uxtb r3, r3 802b296: f083 0301 eor.w r3, r3, #1 802b29a: b2db uxtb r3, r3 802b29c: 2b00 cmp r3, #0 802b29e: d03c beq.n 802b31a { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802b2a0: 4b67 ldr r3, [pc, #412] ; (802b440 ) 802b2a2: 681a ldr r2, [r3, #0] 802b2a4: 4613 mov r3, r2 802b2a6: 00db lsls r3, r3, #3 802b2a8: 1a9b subs r3, r3, r2 802b2aa: 00db lsls r3, r3, #3 802b2ac: 3308 adds r3, #8 802b2ae: 4a66 ldr r2, [pc, #408] ; (802b448 ) 802b2b0: 4413 add r3, r2 802b2b2: 3304 adds r3, #4 802b2b4: 6df9 ldr r1, [r7, #92] ; 0x5c 802b2b6: 4618 mov r0, r3 802b2b8: f0a6 ff91 bl 80d21de ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802b2bc: 4b60 ldr r3, [pc, #384] ; (802b440 ) 802b2be: 681a ldr r2, [r3, #0] 802b2c0: 4b62 ldr r3, [pc, #392] ; (802b44c ) 802b2c2: 891b ldrh r3, [r3, #8] 802b2c4: 041b lsls r3, r3, #16 802b2c6: 4618 mov r0, r3 802b2c8: 495f ldr r1, [pc, #380] ; (802b448 ) 802b2ca: 4613 mov r3, r2 802b2cc: 00db lsls r3, r3, #3 802b2ce: 1a9b subs r3, r3, r2 802b2d0: 00db lsls r3, r3, #3 802b2d2: 440b add r3, r1 802b2d4: 3308 adds r3, #8 802b2d6: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802b2d8: 4b59 ldr r3, [pc, #356] ; (802b440 ) 802b2da: 681a ldr r2, [r3, #0] 802b2dc: 495a ldr r1, [pc, #360] ; (802b448 ) 802b2de: 4613 mov r3, r2 802b2e0: 00db lsls r3, r3, #3 802b2e2: 1a9b subs r3, r3, r2 802b2e4: 00db lsls r3, r3, #3 802b2e6: 440b add r3, r1 802b2e8: 3308 adds r3, #8 802b2ea: 681b ldr r3, [r3, #0] 802b2ec: 4957 ldr r1, [pc, #348] ; (802b44c ) 802b2ee: 8949 ldrh r1, [r1, #10] 802b2f0: 4319 orrs r1, r3 802b2f2: 4855 ldr r0, [pc, #340] ; (802b448 ) 802b2f4: 4613 mov r3, r2 802b2f6: 00db lsls r3, r3, #3 802b2f8: 1a9b subs r3, r3, r2 802b2fa: 00db lsls r3, r3, #3 802b2fc: 4403 add r3, r0 802b2fe: 3308 adds r3, #8 802b300: 6019 str r1, [r3, #0] CntMyFiles++; 802b302: 4b4f ldr r3, [pc, #316] ; (802b440 ) 802b304: 681b ldr r3, [r3, #0] 802b306: 3301 adds r3, #1 802b308: 4a4d ldr r2, [pc, #308] ; (802b440 ) 802b30a: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802b30c: 4b4c ldr r3, [pc, #304] ; (802b440 ) 802b30e: 681b ldr r3, [r3, #0] 802b310: 2b0b cmp r3, #11 802b312: d902 bls.n 802b31a FlagReturn = true; 802b314: 4b4b ldr r3, [pc, #300] ; (802b444 ) 802b316: 2201 movs r2, #1 802b318: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802b31a: 4b48 ldr r3, [pc, #288] ; (802b43c ) 802b31c: 681b ldr r3, [r3, #0] 802b31e: 3301 adds r3, #1 802b320: 4a46 ldr r2, [pc, #280] ; (802b43c ) 802b322: 6013 str r3, [r2, #0] } } } break; 802b324: e28c b.n 802b840 case GET_NAMES_12_CSV_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'c') || (fn[l - 3] == 'C')) 802b326: 6dbb ldr r3, [r7, #88] ; 0x58 802b328: 3b03 subs r3, #3 802b32a: 6dfa ldr r2, [r7, #92] ; 0x5c 802b32c: 4413 add r3, r2 802b32e: 781b ldrb r3, [r3, #0] 802b330: 2b63 cmp r3, #99 ; 0x63 802b332: d007 beq.n 802b344 802b334: 6dbb ldr r3, [r7, #88] ; 0x58 802b336: 3b03 subs r3, #3 802b338: 6dfa ldr r2, [r7, #92] ; 0x5c 802b33a: 4413 add r3, r2 802b33c: 781b ldrb r3, [r3, #0] 802b33e: 2b43 cmp r3, #67 ; 0x43 802b340: f040 8281 bne.w 802b846 { if((fn[l - 2] == 's') || (fn[l - 2] == 'S')) 802b344: 6dbb ldr r3, [r7, #88] ; 0x58 802b346: 3b02 subs r3, #2 802b348: 6dfa ldr r2, [r7, #92] ; 0x5c 802b34a: 4413 add r3, r2 802b34c: 781b ldrb r3, [r3, #0] 802b34e: 2b73 cmp r3, #115 ; 0x73 802b350: d007 beq.n 802b362 802b352: 6dbb ldr r3, [r7, #88] ; 0x58 802b354: 3b02 subs r3, #2 802b356: 6dfa ldr r2, [r7, #92] ; 0x5c 802b358: 4413 add r3, r2 802b35a: 781b ldrb r3, [r3, #0] 802b35c: 2b53 cmp r3, #83 ; 0x53 802b35e: f040 8272 bne.w 802b846 { if((fn[l - 1] == 'v') || (fn[l - 1] == 'V')) 802b362: 6dbb ldr r3, [r7, #88] ; 0x58 802b364: 3b01 subs r3, #1 802b366: 6dfa ldr r2, [r7, #92] ; 0x5c 802b368: 4413 add r3, r2 802b36a: 781b ldrb r3, [r3, #0] 802b36c: 2b76 cmp r3, #118 ; 0x76 802b36e: d007 beq.n 802b380 802b370: 6dbb ldr r3, [r7, #88] ; 0x58 802b372: 3b01 subs r3, #1 802b374: 6dfa ldr r2, [r7, #92] ; 0x5c 802b376: 4413 add r3, r2 802b378: 781b ldrb r3, [r3, #0] 802b37a: 2b56 cmp r3, #86 ; 0x56 802b37c: f040 8263 bne.w 802b846 { if(memcmp(path, "0:/Routes", 9) == 0) 802b380: 2209 movs r2, #9 802b382: 4933 ldr r1, [pc, #204] ; (802b450 ) 802b384: 6878 ldr r0, [r7, #4] 802b386: f0a6 fdf3 bl 80d1f70 802b38a: 4603 mov r3, r0 802b38c: 2b00 cmp r3, #0 802b38e: f040 825a bne.w 802b846 { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802b392: 4b2a ldr r3, [pc, #168] ; (802b43c ) 802b394: 681a ldr r2, [r3, #0] 802b396: 683b ldr r3, [r7, #0] 802b398: 429a cmp r2, r3 802b39a: d348 bcc.n 802b42e 802b39c: 4b28 ldr r3, [pc, #160] ; (802b440 ) 802b39e: 681b ldr r3, [r3, #0] 802b3a0: 2b0b cmp r3, #11 802b3a2: d844 bhi.n 802b42e 802b3a4: 4b27 ldr r3, [pc, #156] ; (802b444 ) 802b3a6: 781b ldrb r3, [r3, #0] 802b3a8: b2db uxtb r3, r3 802b3aa: f083 0301 eor.w r3, r3, #1 802b3ae: b2db uxtb r3, r3 802b3b0: 2b00 cmp r3, #0 802b3b2: d03c beq.n 802b42e { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802b3b4: 4b22 ldr r3, [pc, #136] ; (802b440 ) 802b3b6: 681a ldr r2, [r3, #0] 802b3b8: 4613 mov r3, r2 802b3ba: 00db lsls r3, r3, #3 802b3bc: 1a9b subs r3, r3, r2 802b3be: 00db lsls r3, r3, #3 802b3c0: 3308 adds r3, #8 802b3c2: 4a21 ldr r2, [pc, #132] ; (802b448 ) 802b3c4: 4413 add r3, r2 802b3c6: 3304 adds r3, #4 802b3c8: 6df9 ldr r1, [r7, #92] ; 0x5c 802b3ca: 4618 mov r0, r3 802b3cc: f0a6 ff07 bl 80d21de ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802b3d0: 4b1b ldr r3, [pc, #108] ; (802b440 ) 802b3d2: 681a ldr r2, [r3, #0] 802b3d4: 4b1d ldr r3, [pc, #116] ; (802b44c ) 802b3d6: 891b ldrh r3, [r3, #8] 802b3d8: 041b lsls r3, r3, #16 802b3da: 4618 mov r0, r3 802b3dc: 491a ldr r1, [pc, #104] ; (802b448 ) 802b3de: 4613 mov r3, r2 802b3e0: 00db lsls r3, r3, #3 802b3e2: 1a9b subs r3, r3, r2 802b3e4: 00db lsls r3, r3, #3 802b3e6: 440b add r3, r1 802b3e8: 3308 adds r3, #8 802b3ea: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802b3ec: 4b14 ldr r3, [pc, #80] ; (802b440 ) 802b3ee: 681a ldr r2, [r3, #0] 802b3f0: 4915 ldr r1, [pc, #84] ; (802b448 ) 802b3f2: 4613 mov r3, r2 802b3f4: 00db lsls r3, r3, #3 802b3f6: 1a9b subs r3, r3, r2 802b3f8: 00db lsls r3, r3, #3 802b3fa: 440b add r3, r1 802b3fc: 3308 adds r3, #8 802b3fe: 681b ldr r3, [r3, #0] 802b400: 4912 ldr r1, [pc, #72] ; (802b44c ) 802b402: 8949 ldrh r1, [r1, #10] 802b404: 4319 orrs r1, r3 802b406: 4810 ldr r0, [pc, #64] ; (802b448 ) 802b408: 4613 mov r3, r2 802b40a: 00db lsls r3, r3, #3 802b40c: 1a9b subs r3, r3, r2 802b40e: 00db lsls r3, r3, #3 802b410: 4403 add r3, r0 802b412: 3308 adds r3, #8 802b414: 6019 str r1, [r3, #0] CntMyFiles++; 802b416: 4b0a ldr r3, [pc, #40] ; (802b440 ) 802b418: 681b ldr r3, [r3, #0] 802b41a: 3301 adds r3, #1 802b41c: 4a08 ldr r2, [pc, #32] ; (802b440 ) 802b41e: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802b420: 4b07 ldr r3, [pc, #28] ; (802b440 ) 802b422: 681b ldr r3, [r3, #0] 802b424: 2b0b cmp r3, #11 802b426: d902 bls.n 802b42e FlagReturn = true; 802b428: 4b06 ldr r3, [pc, #24] ; (802b444 ) 802b42a: 2201 movs r2, #1 802b42c: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802b42e: 4b03 ldr r3, [pc, #12] ; (802b43c ) 802b430: 681b ldr r3, [r3, #0] 802b432: 3301 adds r3, #1 802b434: 4a01 ldr r2, [pc, #4] ; (802b43c ) 802b436: 6013 str r3, [r2, #0] } } } } break; 802b438: e205 b.n 802b846 802b43a: bf00 nop 802b43c: 20020e10 .word 0x20020e10 802b440: 20020e0c .word 0x20020e0c 802b444: 20020dfe .word 0x20020dfe 802b448: 200223a0 .word 0x200223a0 802b44c: 20021ff0 .word 0x20021ff0 802b450: 080d4f44 .word 0x080d4f44 case GET_NAMES_12_FRAN_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'f') || (fn[l - 3] == 'F')) 802b454: 6dbb ldr r3, [r7, #88] ; 0x58 802b456: 3b03 subs r3, #3 802b458: 6dfa ldr r2, [r7, #92] ; 0x5c 802b45a: 4413 add r3, r2 802b45c: 781b ldrb r3, [r3, #0] 802b45e: 2b66 cmp r3, #102 ; 0x66 802b460: d007 beq.n 802b472 802b462: 6dbb ldr r3, [r7, #88] ; 0x58 802b464: 3b03 subs r3, #3 802b466: 6dfa ldr r2, [r7, #92] ; 0x5c 802b468: 4413 add r3, r2 802b46a: 781b ldrb r3, [r3, #0] 802b46c: 2b46 cmp r3, #70 ; 0x46 802b46e: f040 81ed bne.w 802b84c { if((fn[l - 2] == 'r') || (fn[l - 2] == 'R')) 802b472: 6dbb ldr r3, [r7, #88] ; 0x58 802b474: 3b02 subs r3, #2 802b476: 6dfa ldr r2, [r7, #92] ; 0x5c 802b478: 4413 add r3, r2 802b47a: 781b ldrb r3, [r3, #0] 802b47c: 2b72 cmp r3, #114 ; 0x72 802b47e: d007 beq.n 802b490 802b480: 6dbb ldr r3, [r7, #88] ; 0x58 802b482: 3b02 subs r3, #2 802b484: 6dfa ldr r2, [r7, #92] ; 0x5c 802b486: 4413 add r3, r2 802b488: 781b ldrb r3, [r3, #0] 802b48a: 2b52 cmp r3, #82 ; 0x52 802b48c: f040 81de bne.w 802b84c { if((fn[l - 1] == 'n') || (fn[l - 1] == 'N')) 802b490: 6dbb ldr r3, [r7, #88] ; 0x58 802b492: 3b01 subs r3, #1 802b494: 6dfa ldr r2, [r7, #92] ; 0x5c 802b496: 4413 add r3, r2 802b498: 781b ldrb r3, [r3, #0] 802b49a: 2b6e cmp r3, #110 ; 0x6e 802b49c: d007 beq.n 802b4ae 802b49e: 6dbb ldr r3, [r7, #88] ; 0x58 802b4a0: 3b01 subs r3, #1 802b4a2: 6dfa ldr r2, [r7, #92] ; 0x5c 802b4a4: 4413 add r3, r2 802b4a6: 781b ldrb r3, [r3, #0] 802b4a8: 2b4e cmp r3, #78 ; 0x4e 802b4aa: f040 81cf bne.w 802b84c { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802b4ae: 4b71 ldr r3, [pc, #452] ; (802b674 ) 802b4b0: 681a ldr r2, [r3, #0] 802b4b2: 683b ldr r3, [r7, #0] 802b4b4: 429a cmp r2, r3 802b4b6: d348 bcc.n 802b54a 802b4b8: 4b6f ldr r3, [pc, #444] ; (802b678 ) 802b4ba: 681b ldr r3, [r3, #0] 802b4bc: 2b0b cmp r3, #11 802b4be: d844 bhi.n 802b54a 802b4c0: 4b6e ldr r3, [pc, #440] ; (802b67c ) 802b4c2: 781b ldrb r3, [r3, #0] 802b4c4: b2db uxtb r3, r3 802b4c6: f083 0301 eor.w r3, r3, #1 802b4ca: b2db uxtb r3, r3 802b4cc: 2b00 cmp r3, #0 802b4ce: d03c beq.n 802b54a { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802b4d0: 4b69 ldr r3, [pc, #420] ; (802b678 ) 802b4d2: 681a ldr r2, [r3, #0] 802b4d4: 4613 mov r3, r2 802b4d6: 00db lsls r3, r3, #3 802b4d8: 1a9b subs r3, r3, r2 802b4da: 00db lsls r3, r3, #3 802b4dc: 3308 adds r3, #8 802b4de: 4a68 ldr r2, [pc, #416] ; (802b680 ) 802b4e0: 4413 add r3, r2 802b4e2: 3304 adds r3, #4 802b4e4: 6df9 ldr r1, [r7, #92] ; 0x5c 802b4e6: 4618 mov r0, r3 802b4e8: f0a6 fe79 bl 80d21de ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802b4ec: 4b62 ldr r3, [pc, #392] ; (802b678 ) 802b4ee: 681a ldr r2, [r3, #0] 802b4f0: 4b64 ldr r3, [pc, #400] ; (802b684 ) 802b4f2: 891b ldrh r3, [r3, #8] 802b4f4: 041b lsls r3, r3, #16 802b4f6: 4618 mov r0, r3 802b4f8: 4961 ldr r1, [pc, #388] ; (802b680 ) 802b4fa: 4613 mov r3, r2 802b4fc: 00db lsls r3, r3, #3 802b4fe: 1a9b subs r3, r3, r2 802b500: 00db lsls r3, r3, #3 802b502: 440b add r3, r1 802b504: 3308 adds r3, #8 802b506: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802b508: 4b5b ldr r3, [pc, #364] ; (802b678 ) 802b50a: 681a ldr r2, [r3, #0] 802b50c: 495c ldr r1, [pc, #368] ; (802b680 ) 802b50e: 4613 mov r3, r2 802b510: 00db lsls r3, r3, #3 802b512: 1a9b subs r3, r3, r2 802b514: 00db lsls r3, r3, #3 802b516: 440b add r3, r1 802b518: 3308 adds r3, #8 802b51a: 681b ldr r3, [r3, #0] 802b51c: 4959 ldr r1, [pc, #356] ; (802b684 ) 802b51e: 8949 ldrh r1, [r1, #10] 802b520: 4319 orrs r1, r3 802b522: 4857 ldr r0, [pc, #348] ; (802b680 ) 802b524: 4613 mov r3, r2 802b526: 00db lsls r3, r3, #3 802b528: 1a9b subs r3, r3, r2 802b52a: 00db lsls r3, r3, #3 802b52c: 4403 add r3, r0 802b52e: 3308 adds r3, #8 802b530: 6019 str r1, [r3, #0] CntMyFiles++; 802b532: 4b51 ldr r3, [pc, #324] ; (802b678 ) 802b534: 681b ldr r3, [r3, #0] 802b536: 3301 adds r3, #1 802b538: 4a4f ldr r2, [pc, #316] ; (802b678 ) 802b53a: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802b53c: 4b4e ldr r3, [pc, #312] ; (802b678 ) 802b53e: 681b ldr r3, [r3, #0] 802b540: 2b0b cmp r3, #11 802b542: d902 bls.n 802b54a FlagReturn = true; 802b544: 4b4d ldr r3, [pc, #308] ; (802b67c ) 802b546: 2201 movs r2, #1 802b548: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802b54a: 4b4a ldr r3, [pc, #296] ; (802b674 ) 802b54c: 681b ldr r3, [r3, #0] 802b54e: 3301 adds r3, #1 802b550: 4a48 ldr r2, [pc, #288] ; (802b674 ) 802b552: 6013 str r3, [r2, #0] } } } break; 802b554: e17a b.n 802b84c case GET_NAMES_12_GTR_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'g') || (fn[l - 3] == 'G')) 802b556: 6dbb ldr r3, [r7, #88] ; 0x58 802b558: 3b03 subs r3, #3 802b55a: 6dfa ldr r2, [r7, #92] ; 0x5c 802b55c: 4413 add r3, r2 802b55e: 781b ldrb r3, [r3, #0] 802b560: 2b67 cmp r3, #103 ; 0x67 802b562: d007 beq.n 802b574 802b564: 6dbb ldr r3, [r7, #88] ; 0x58 802b566: 3b03 subs r3, #3 802b568: 6dfa ldr r2, [r7, #92] ; 0x5c 802b56a: 4413 add r3, r2 802b56c: 781b ldrb r3, [r3, #0] 802b56e: 2b47 cmp r3, #71 ; 0x47 802b570: f040 816f bne.w 802b852 { if((fn[l - 2] == 't') || (fn[l - 2] == 'T')) 802b574: 6dbb ldr r3, [r7, #88] ; 0x58 802b576: 3b02 subs r3, #2 802b578: 6dfa ldr r2, [r7, #92] ; 0x5c 802b57a: 4413 add r3, r2 802b57c: 781b ldrb r3, [r3, #0] 802b57e: 2b74 cmp r3, #116 ; 0x74 802b580: d007 beq.n 802b592 802b582: 6dbb ldr r3, [r7, #88] ; 0x58 802b584: 3b02 subs r3, #2 802b586: 6dfa ldr r2, [r7, #92] ; 0x5c 802b588: 4413 add r3, r2 802b58a: 781b ldrb r3, [r3, #0] 802b58c: 2b54 cmp r3, #84 ; 0x54 802b58e: f040 8160 bne.w 802b852 { if((fn[l - 1] == 'r') || (fn[l - 1] == 'R')) 802b592: 6dbb ldr r3, [r7, #88] ; 0x58 802b594: 3b01 subs r3, #1 802b596: 6dfa ldr r2, [r7, #92] ; 0x5c 802b598: 4413 add r3, r2 802b59a: 781b ldrb r3, [r3, #0] 802b59c: 2b72 cmp r3, #114 ; 0x72 802b59e: d007 beq.n 802b5b0 802b5a0: 6dbb ldr r3, [r7, #88] ; 0x58 802b5a2: 3b01 subs r3, #1 802b5a4: 6dfa ldr r2, [r7, #92] ; 0x5c 802b5a6: 4413 add r3, r2 802b5a8: 781b ldrb r3, [r3, #0] 802b5aa: 2b52 cmp r3, #82 ; 0x52 802b5ac: f040 8151 bne.w 802b852 { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802b5b0: 4b30 ldr r3, [pc, #192] ; (802b674 ) 802b5b2: 681a ldr r2, [r3, #0] 802b5b4: 683b ldr r3, [r7, #0] 802b5b6: 429a cmp r2, r3 802b5b8: d355 bcc.n 802b666 802b5ba: 4b2f ldr r3, [pc, #188] ; (802b678 ) 802b5bc: 681b ldr r3, [r3, #0] 802b5be: 2b0b cmp r3, #11 802b5c0: d851 bhi.n 802b666 802b5c2: 4b2e ldr r3, [pc, #184] ; (802b67c ) 802b5c4: 781b ldrb r3, [r3, #0] 802b5c6: b2db uxtb r3, r3 802b5c8: f083 0301 eor.w r3, r3, #1 802b5cc: b2db uxtb r3, r3 802b5ce: 2b00 cmp r3, #0 802b5d0: d049 beq.n 802b666 { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802b5d2: 4b29 ldr r3, [pc, #164] ; (802b678 ) 802b5d4: 681a ldr r2, [r3, #0] 802b5d6: 4613 mov r3, r2 802b5d8: 00db lsls r3, r3, #3 802b5da: 1a9b subs r3, r3, r2 802b5dc: 00db lsls r3, r3, #3 802b5de: 3308 adds r3, #8 802b5e0: 4a27 ldr r2, [pc, #156] ; (802b680 ) 802b5e2: 4413 add r3, r2 802b5e4: 3304 adds r3, #4 802b5e6: 6df9 ldr r1, [r7, #92] ; 0x5c 802b5e8: 4618 mov r0, r3 802b5ea: f0a6 fdf8 bl 80d21de ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802b5ee: 4b22 ldr r3, [pc, #136] ; (802b678 ) 802b5f0: 681a ldr r2, [r3, #0] 802b5f2: 4b24 ldr r3, [pc, #144] ; (802b684 ) 802b5f4: 891b ldrh r3, [r3, #8] 802b5f6: 041b lsls r3, r3, #16 802b5f8: 4618 mov r0, r3 802b5fa: 4921 ldr r1, [pc, #132] ; (802b680 ) 802b5fc: 4613 mov r3, r2 802b5fe: 00db lsls r3, r3, #3 802b600: 1a9b subs r3, r3, r2 802b602: 00db lsls r3, r3, #3 802b604: 440b add r3, r1 802b606: 3308 adds r3, #8 802b608: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802b60a: 4b1b ldr r3, [pc, #108] ; (802b678 ) 802b60c: 681a ldr r2, [r3, #0] 802b60e: 491c ldr r1, [pc, #112] ; (802b680 ) 802b610: 4613 mov r3, r2 802b612: 00db lsls r3, r3, #3 802b614: 1a9b subs r3, r3, r2 802b616: 00db lsls r3, r3, #3 802b618: 440b add r3, r1 802b61a: 3308 adds r3, #8 802b61c: 681b ldr r3, [r3, #0] 802b61e: 4919 ldr r1, [pc, #100] ; (802b684 ) 802b620: 8949 ldrh r1, [r1, #10] 802b622: 4319 orrs r1, r3 802b624: 4816 ldr r0, [pc, #88] ; (802b680 ) 802b626: 4613 mov r3, r2 802b628: 00db lsls r3, r3, #3 802b62a: 1a9b subs r3, r3, r2 802b62c: 00db lsls r3, r3, #3 802b62e: 4403 add r3, r0 802b630: 3308 adds r3, #8 802b632: 6019 str r1, [r3, #0] ExplorerFiles[CntMyFiles].size = fno.fsize; 802b634: 4b10 ldr r3, [pc, #64] ; (802b678 ) 802b636: 6818 ldr r0, [r3, #0] 802b638: 4b12 ldr r3, [pc, #72] ; (802b684 ) 802b63a: e893 0006 ldmia.w r3, {r1, r2} 802b63e: 4c10 ldr r4, [pc, #64] ; (802b680 ) 802b640: 4603 mov r3, r0 802b642: 00db lsls r3, r3, #3 802b644: 1a1b subs r3, r3, r0 802b646: 00db lsls r3, r3, #3 802b648: 4423 add r3, r4 802b64a: e883 0006 stmia.w r3, {r1, r2} CntMyFiles++; 802b64e: 4b0a ldr r3, [pc, #40] ; (802b678 ) 802b650: 681b ldr r3, [r3, #0] 802b652: 3301 adds r3, #1 802b654: 4a08 ldr r2, [pc, #32] ; (802b678 ) 802b656: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802b658: 4b07 ldr r3, [pc, #28] ; (802b678 ) 802b65a: 681b ldr r3, [r3, #0] 802b65c: 2b0b cmp r3, #11 802b65e: d902 bls.n 802b666 FlagReturn = true; 802b660: 4b06 ldr r3, [pc, #24] ; (802b67c ) 802b662: 2201 movs r2, #1 802b664: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802b666: 4b03 ldr r3, [pc, #12] ; (802b674 ) 802b668: 681b ldr r3, [r3, #0] 802b66a: 3301 adds r3, #1 802b66c: 4a01 ldr r2, [pc, #4] ; (802b674 ) 802b66e: 6013 str r3, [r2, #0] } } } break; 802b670: e0ef b.n 802b852 802b672: bf00 nop 802b674: 20020e10 .word 0x20020e10 802b678: 20020e0c .word 0x20020e0c 802b67c: 20020dfe .word 0x20020dfe 802b680: 200223a0 .word 0x200223a0 802b684: 20021ff0 .word 0x20021ff0 case GET_NAMES_12_WAV_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'w') || (fn[l - 3] == 'W')) 802b688: 6dbb ldr r3, [r7, #88] ; 0x58 802b68a: 3b03 subs r3, #3 802b68c: 6dfa ldr r2, [r7, #92] ; 0x5c 802b68e: 4413 add r3, r2 802b690: 781b ldrb r3, [r3, #0] 802b692: 2b77 cmp r3, #119 ; 0x77 802b694: d007 beq.n 802b6a6 802b696: 6dbb ldr r3, [r7, #88] ; 0x58 802b698: 3b03 subs r3, #3 802b69a: 6dfa ldr r2, [r7, #92] ; 0x5c 802b69c: 4413 add r3, r2 802b69e: 781b ldrb r3, [r3, #0] 802b6a0: 2b57 cmp r3, #87 ; 0x57 802b6a2: f040 80d9 bne.w 802b858 { if((fn[l - 2] == 'a') || (fn[l - 2] == 'A')) 802b6a6: 6dbb ldr r3, [r7, #88] ; 0x58 802b6a8: 3b02 subs r3, #2 802b6aa: 6dfa ldr r2, [r7, #92] ; 0x5c 802b6ac: 4413 add r3, r2 802b6ae: 781b ldrb r3, [r3, #0] 802b6b0: 2b61 cmp r3, #97 ; 0x61 802b6b2: d007 beq.n 802b6c4 802b6b4: 6dbb ldr r3, [r7, #88] ; 0x58 802b6b6: 3b02 subs r3, #2 802b6b8: 6dfa ldr r2, [r7, #92] ; 0x5c 802b6ba: 4413 add r3, r2 802b6bc: 781b ldrb r3, [r3, #0] 802b6be: 2b41 cmp r3, #65 ; 0x41 802b6c0: f040 80ca bne.w 802b858 { if((fn[l - 1] == 'v') || (fn[l - 1] == 'V')) 802b6c4: 6dbb ldr r3, [r7, #88] ; 0x58 802b6c6: 3b01 subs r3, #1 802b6c8: 6dfa ldr r2, [r7, #92] ; 0x5c 802b6ca: 4413 add r3, r2 802b6cc: 781b ldrb r3, [r3, #0] 802b6ce: 2b76 cmp r3, #118 ; 0x76 802b6d0: d007 beq.n 802b6e2 802b6d2: 6dbb ldr r3, [r7, #88] ; 0x58 802b6d4: 3b01 subs r3, #1 802b6d6: 6dfa ldr r2, [r7, #92] ; 0x5c 802b6d8: 4413 add r3, r2 802b6da: 781b ldrb r3, [r3, #0] 802b6dc: 2b56 cmp r3, #86 ; 0x56 802b6de: f040 80bb bne.w 802b858 { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802b6e2: 4b64 ldr r3, [pc, #400] ; (802b874 ) 802b6e4: 681a ldr r2, [r3, #0] 802b6e6: 683b ldr r3, [r7, #0] 802b6e8: 429a cmp r2, r3 802b6ea: d355 bcc.n 802b798 802b6ec: 4b62 ldr r3, [pc, #392] ; (802b878 ) 802b6ee: 681b ldr r3, [r3, #0] 802b6f0: 2b0b cmp r3, #11 802b6f2: d851 bhi.n 802b798 802b6f4: 4b61 ldr r3, [pc, #388] ; (802b87c ) 802b6f6: 781b ldrb r3, [r3, #0] 802b6f8: b2db uxtb r3, r3 802b6fa: f083 0301 eor.w r3, r3, #1 802b6fe: b2db uxtb r3, r3 802b700: 2b00 cmp r3, #0 802b702: d049 beq.n 802b798 { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802b704: 4b5c ldr r3, [pc, #368] ; (802b878 ) 802b706: 681a ldr r2, [r3, #0] 802b708: 4613 mov r3, r2 802b70a: 00db lsls r3, r3, #3 802b70c: 1a9b subs r3, r3, r2 802b70e: 00db lsls r3, r3, #3 802b710: 3308 adds r3, #8 802b712: 4a5b ldr r2, [pc, #364] ; (802b880 ) 802b714: 4413 add r3, r2 802b716: 3304 adds r3, #4 802b718: 6df9 ldr r1, [r7, #92] ; 0x5c 802b71a: 4618 mov r0, r3 802b71c: f0a6 fd5f bl 80d21de ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802b720: 4b55 ldr r3, [pc, #340] ; (802b878 ) 802b722: 681a ldr r2, [r3, #0] 802b724: 4b57 ldr r3, [pc, #348] ; (802b884 ) 802b726: 891b ldrh r3, [r3, #8] 802b728: 041b lsls r3, r3, #16 802b72a: 4618 mov r0, r3 802b72c: 4954 ldr r1, [pc, #336] ; (802b880 ) 802b72e: 4613 mov r3, r2 802b730: 00db lsls r3, r3, #3 802b732: 1a9b subs r3, r3, r2 802b734: 00db lsls r3, r3, #3 802b736: 440b add r3, r1 802b738: 3308 adds r3, #8 802b73a: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802b73c: 4b4e ldr r3, [pc, #312] ; (802b878 ) 802b73e: 681a ldr r2, [r3, #0] 802b740: 494f ldr r1, [pc, #316] ; (802b880 ) 802b742: 4613 mov r3, r2 802b744: 00db lsls r3, r3, #3 802b746: 1a9b subs r3, r3, r2 802b748: 00db lsls r3, r3, #3 802b74a: 440b add r3, r1 802b74c: 3308 adds r3, #8 802b74e: 681b ldr r3, [r3, #0] 802b750: 494c ldr r1, [pc, #304] ; (802b884 ) 802b752: 8949 ldrh r1, [r1, #10] 802b754: 4319 orrs r1, r3 802b756: 484a ldr r0, [pc, #296] ; (802b880 ) 802b758: 4613 mov r3, r2 802b75a: 00db lsls r3, r3, #3 802b75c: 1a9b subs r3, r3, r2 802b75e: 00db lsls r3, r3, #3 802b760: 4403 add r3, r0 802b762: 3308 adds r3, #8 802b764: 6019 str r1, [r3, #0] ExplorerFiles[CntMyFiles].size = fno.fsize; 802b766: 4b44 ldr r3, [pc, #272] ; (802b878 ) 802b768: 6818 ldr r0, [r3, #0] 802b76a: 4b46 ldr r3, [pc, #280] ; (802b884 ) 802b76c: e893 0006 ldmia.w r3, {r1, r2} 802b770: 4c43 ldr r4, [pc, #268] ; (802b880 ) 802b772: 4603 mov r3, r0 802b774: 00db lsls r3, r3, #3 802b776: 1a1b subs r3, r3, r0 802b778: 00db lsls r3, r3, #3 802b77a: 4423 add r3, r4 802b77c: e883 0006 stmia.w r3, {r1, r2} CntMyFiles++; 802b780: 4b3d ldr r3, [pc, #244] ; (802b878 ) 802b782: 681b ldr r3, [r3, #0] 802b784: 3301 adds r3, #1 802b786: 4a3c ldr r2, [pc, #240] ; (802b878 ) 802b788: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802b78a: 4b3b ldr r3, [pc, #236] ; (802b878 ) 802b78c: 681b ldr r3, [r3, #0] 802b78e: 2b0b cmp r3, #11 802b790: d902 bls.n 802b798 FlagReturn = true; 802b792: 4b3a ldr r3, [pc, #232] ; (802b87c ) 802b794: 2201 movs r2, #1 802b796: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802b798: 4b36 ldr r3, [pc, #216] ; (802b874 ) 802b79a: 681b ldr r3, [r3, #0] 802b79c: 3301 adds r3, #1 802b79e: 4a35 ldr r2, [pc, #212] ; (802b874 ) 802b7a0: 6013 str r3, [r2, #0] } } } break; 802b7a2: e059 b.n 802b858 case GET_PATH_TO_FILE: // getting filepath of file with name at if((strcmp(FileName, fn) == 0) && (FlagReturn == false)) 802b7a4: 6df9 ldr r1, [r7, #92] ; 0x5c 802b7a6: 4838 ldr r0, [pc, #224] ; (802b888 ) 802b7a8: f7f4 fdaa bl 8020300 802b7ac: 4603 mov r3, r0 802b7ae: 2b00 cmp r3, #0 802b7b0: d155 bne.n 802b85e 802b7b2: 4b32 ldr r3, [pc, #200] ; (802b87c ) 802b7b4: 781b ldrb r3, [r3, #0] 802b7b6: b2db uxtb r3, r3 802b7b8: f083 0301 eor.w r3, r3, #1 802b7bc: b2db uxtb r3, r3 802b7be: 2b00 cmp r3, #0 802b7c0: d04d beq.n 802b85e { strcpy(PointPath, path); 802b7c2: 6879 ldr r1, [r7, #4] 802b7c4: 4831 ldr r0, [pc, #196] ; (802b88c ) 802b7c6: f0a6 fd0a bl 80d21de l = strlen(PointPath); 802b7ca: 4830 ldr r0, [pc, #192] ; (802b88c ) 802b7cc: f7f4 fda2 bl 8020314 802b7d0: 65b8 str r0, [r7, #88] ; 0x58 PointPath[l] = '/'; 802b7d2: 4a2e ldr r2, [pc, #184] ; (802b88c ) 802b7d4: 6dbb ldr r3, [r7, #88] ; 0x58 802b7d6: 4413 add r3, r2 802b7d8: 222f movs r2, #47 ; 0x2f 802b7da: 701a strb r2, [r3, #0] strcat(PointPath, fn); 802b7dc: 6df9 ldr r1, [r7, #92] ; 0x5c 802b7de: 482b ldr r0, [pc, #172] ; (802b88c ) 802b7e0: f0a6 fce0 bl 80d21a4 l = strlen(PointPath); 802b7e4: 4829 ldr r0, [pc, #164] ; (802b88c ) 802b7e6: f7f4 fd95 bl 8020314 802b7ea: 65b8 str r0, [r7, #88] ; 0x58 PointPath[l] = '\0'; 802b7ec: 4a27 ldr r2, [pc, #156] ; (802b88c ) 802b7ee: 6dbb ldr r3, [r7, #88] ; 0x58 802b7f0: 4413 add r3, r2 802b7f2: 2200 movs r2, #0 802b7f4: 701a strb r2, [r3, #0] FlagReturn = true; 802b7f6: 4b21 ldr r3, [pc, #132] ; (802b87c ) 802b7f8: 2201 movs r2, #1 802b7fa: 701a strb r2, [r3, #0] } break; 802b7fc: e02f b.n 802b85e continue; /* Èãíîðèðîâàíèå ýëåìåíòà 'òî÷êà' */ 802b7fe: bf00 nop 802b800: f7ff b909 b.w 802aa16 break; 802b804: bf00 nop 802b806: f7ff b906 b.w 802aa16 break; 802b80a: bf00 nop 802b80c: f7ff b903 b.w 802aa16 break; 802b810: bf00 nop 802b812: f7ff b900 b.w 802aa16 break; 802b816: bf00 nop 802b818: f7ff b8fd b.w 802aa16 break; 802b81c: bf00 nop 802b81e: f7ff b8fa b.w 802aa16 break; 802b822: bf00 nop 802b824: f7ff b8f7 b.w 802aa16 break; 802b828: bf00 nop 802b82a: f7ff b8f4 b.w 802aa16 break; 802b82e: bf00 nop 802b830: f7ff b8f1 b.w 802aa16 break; 802b834: bf00 nop 802b836: f7ff b8ee b.w 802aa16 break; 802b83a: bf00 nop 802b83c: f7ff b8eb b.w 802aa16 break; 802b840: bf00 nop 802b842: f7ff b8e8 b.w 802aa16 break; 802b846: bf00 nop 802b848: f7ff b8e5 b.w 802aa16 break; 802b84c: bf00 nop 802b84e: f7ff b8e2 b.w 802aa16 break; 802b852: bf00 nop 802b854: f7ff b8df b.w 802aa16 break; 802b858: bf00 nop 802b85a: f7ff b8dc b.w 802aa16 break; 802b85e: bf00 nop res = f_readdir(&dir, &fno); /* ×òåíèå îáúåêòà äèðåêòîðèè */ 802b860: f7ff b8d9 b.w 802aa16 break; 802b864: bf00 nop } } } } return res; 802b866: f897 306f ldrb.w r3, [r7, #111] ; 0x6f } 802b86a: 4618 mov r0, r3 802b86c: 3774 adds r7, #116 ; 0x74 802b86e: 46bd mov sp, r7 802b870: bd90 pop {r4, r7, pc} 802b872: bf00 nop 802b874: 20020e10 .word 0x20020e10 802b878: 20020e0c .word 0x20020e0c 802b87c: 20020dfe .word 0x20020dfe 802b880: 200223a0 .word 0x200223a0 802b884: 20021ff0 .word 0x20021ff0 802b888: 20022c10 .word 0x20022c10 802b88c: 20022a0c .word 0x20022a0c 0802b890 : bool CheckSD(void) { 802b890: b580 push {r7, lr} 802b892: b084 sub sp, #16 802b894: af00 add r7, sp, #0 uint8_t attempt; TM_FATFS_Size_t SD_Size; FRESULT res = FR_OK; 802b896: 2300 movs r3, #0 802b898: 73bb strb r3, [r7, #14] if(CardState == MSD_READY) 802b89a: 4b29 ldr r3, [pc, #164] ; (802b940 ) 802b89c: 781b ldrb r3, [r3, #0] 802b89e: b2db uxtb r3, r3 802b8a0: 2b03 cmp r3, #3 802b8a2: d139 bne.n 802b918 { for(attempt = 0; attempt < 10; attempt++) 802b8a4: 2300 movs r3, #0 802b8a6: 73fb strb r3, [r7, #15] 802b8a8: e032 b.n 802b910 { //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 802b8aa: 7bbb ldrb r3, [r7, #14] 802b8ac: 2b00 cmp r3, #0 802b8ae: d11a bne.n 802b8e6 { if(TM_FATFS_GetDriveSize(SDPath, &SD_Size) == FR_OK) 802b8b0: 1d3b adds r3, r7, #4 802b8b2: 4619 mov r1, r3 802b8b4: 4823 ldr r0, [pc, #140] ; (802b944 ) 802b8b6: f000 f849 bl 802b94c 802b8ba: 4603 mov r3, r0 802b8bc: 2b00 cmp r3, #0 802b8be: d124 bne.n 802b90a { SD_Space.TotalSectors = SD_Size.TotalSize; // Number Total Sectors 802b8c0: 687b ldr r3, [r7, #4] 802b8c2: 4a21 ldr r2, [pc, #132] ; (802b948 ) 802b8c4: 6013 str r3, [r2, #0] SD_Space.FreeSectors = SD_Size.FreeSize; // Number Free Sectors 802b8c6: 68bb ldr r3, [r7, #8] 802b8c8: 4a1f ldr r2, [pc, #124] ; (802b948 ) 802b8ca: 6053 str r3, [r2, #4] SD_Space.Total_MB = SD_Size.TotalSize >> 20; // Number Total sectors into MBytes 802b8cc: 687b ldr r3, [r7, #4] 802b8ce: 0d1b lsrs r3, r3, #20 802b8d0: 4a1d ldr r2, [pc, #116] ; (802b948 ) 802b8d2: 6093 str r3, [r2, #8] SD_Space.Free_MB = SD_Size.FreeSize >> 20; // Number Total sectors into MBytes 802b8d4: 68bb ldr r3, [r7, #8] 802b8d6: 0d1b lsrs r3, r3, #20 802b8d8: 4a1b ldr r2, [pc, #108] ; (802b948 ) 802b8da: 60d3 str r3, [r2, #12] CardState = MSD_READY; 802b8dc: 4b18 ldr r3, [pc, #96] ; (802b940 ) 802b8de: 2203 movs r2, #3 802b8e0: 701a strb r2, [r3, #0] //f_mount(&fs, SDPath, 0); return (true); 802b8e2: 2301 movs r3, #1 802b8e4: e028 b.n 802b938 } } else { SD_Space.TotalSectors = 0; 802b8e6: 4b18 ldr r3, [pc, #96] ; (802b948 ) 802b8e8: 2200 movs r2, #0 802b8ea: 601a str r2, [r3, #0] SD_Space.FreeSectors = 0; 802b8ec: 4b16 ldr r3, [pc, #88] ; (802b948 ) 802b8ee: 2200 movs r2, #0 802b8f0: 605a str r2, [r3, #4] SD_Space.Total_MB = 0; 802b8f2: 4b15 ldr r3, [pc, #84] ; (802b948 ) 802b8f4: 2200 movs r2, #0 802b8f6: 609a str r2, [r3, #8] SD_Space.Free_MB = 0; 802b8f8: 4b13 ldr r3, [pc, #76] ; (802b948 ) 802b8fa: 2200 movs r2, #0 802b8fc: 60da str r2, [r3, #12] CardState = MSD_PRESENT; 802b8fe: 4b10 ldr r3, [pc, #64] ; (802b940 ) 802b900: 2201 movs r2, #1 802b902: 701a strb r2, [r3, #0] HAL_Delay(50); 802b904: 2032 movs r0, #50 ; 0x32 802b906: f08c f899 bl 80b7a3c for(attempt = 0; attempt < 10; attempt++) 802b90a: 7bfb ldrb r3, [r7, #15] 802b90c: 3301 adds r3, #1 802b90e: 73fb strb r3, [r7, #15] 802b910: 7bfb ldrb r3, [r7, #15] 802b912: 2b09 cmp r3, #9 802b914: d9c9 bls.n 802b8aa 802b916: e00e b.n 802b936 } } } else { SD_Space.TotalSectors = 0; 802b918: 4b0b ldr r3, [pc, #44] ; (802b948 ) 802b91a: 2200 movs r2, #0 802b91c: 601a str r2, [r3, #0] SD_Space.FreeSectors = 0; 802b91e: 4b0a ldr r3, [pc, #40] ; (802b948 ) 802b920: 2200 movs r2, #0 802b922: 605a str r2, [r3, #4] SD_Space.Total_MB = 0; 802b924: 4b08 ldr r3, [pc, #32] ; (802b948 ) 802b926: 2200 movs r2, #0 802b928: 609a str r2, [r3, #8] SD_Space.Free_MB = 0; 802b92a: 4b07 ldr r3, [pc, #28] ; (802b948 ) 802b92c: 2200 movs r2, #0 802b92e: 60da str r2, [r3, #12] CardState = MSD_NOCARD; 802b930: 4b03 ldr r3, [pc, #12] ; (802b940 ) 802b932: 2200 movs r2, #0 802b934: 701a strb r2, [r3, #0] } return (false); 802b936: 2300 movs r3, #0 } 802b938: 4618 mov r0, r3 802b93a: 3710 adds r7, #16 802b93c: 46bd mov sp, r7 802b93e: bd80 pop {r7, pc} 802b940: 2002169c .word 0x2002169c 802b944: 20068b2c .word 0x20068b2c 802b948: 20022350 .word 0x20022350 0802b94c : FRESULT TM_FATFS_GetDriveSize(char* str, TM_FATFS_Size_t* SizeStruct) { 802b94c: b580 push {r7, lr} 802b94e: b086 sub sp, #24 802b950: af00 add r7, sp, #0 802b952: 6078 str r0, [r7, #4] 802b954: 6039 str r1, [r7, #0] FATFS *fs; DWORD fre_clust; FRESULT res; res = f_getfree(str, &fre_clust, &fs); 802b956: f107 0210 add.w r2, r7, #16 802b95a: f107 030c add.w r3, r7, #12 802b95e: 4619 mov r1, r3 802b960: 6878 ldr r0, [r7, #4] 802b962: f0a0 fc2e bl 80cc1c2 802b966: 4603 mov r3, r0 802b968: 75fb strb r3, [r7, #23] if (res != FR_OK) { 802b96a: 7dfb ldrb r3, [r7, #23] 802b96c: 2b00 cmp r3, #0 802b96e: d001 beq.n 802b974 return res; 802b970: 7dfb ldrb r3, [r7, #23] 802b972: e029 b.n 802b9c8 } SizeStruct->TotalSize = (fs->n_fatent - 2) * fs->csize * 0.5; //Get total sectors and free sectors 802b974: 693b ldr r3, [r7, #16] 802b976: 69db ldr r3, [r3, #28] 802b978: 3b02 subs r3, #2 802b97a: 693a ldr r2, [r7, #16] 802b97c: 8952 ldrh r2, [r2, #10] 802b97e: fb02 f303 mul.w r3, r2, r3 802b982: ee07 3a90 vmov s15, r3 802b986: eeb8 7b67 vcvt.f64.u32 d7, s15 802b98a: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 802b98e: ee27 7b06 vmul.f64 d7, d7, d6 802b992: eefc 7bc7 vcvt.u32.f64 s15, d7 802b996: ee17 2a90 vmov r2, s15 802b99a: 683b ldr r3, [r7, #0] 802b99c: 601a str r2, [r3, #0] SizeStruct->FreeSize = fre_clust * fs->csize * 0.5; 802b99e: 693b ldr r3, [r7, #16] 802b9a0: 895b ldrh r3, [r3, #10] 802b9a2: 461a mov r2, r3 802b9a4: 68fb ldr r3, [r7, #12] 802b9a6: fb03 f302 mul.w r3, r3, r2 802b9aa: ee07 3a90 vmov s15, r3 802b9ae: eeb8 7b67 vcvt.f64.u32 d7, s15 802b9b2: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 802b9b6: ee27 7b06 vmul.f64 d7, d7, d6 802b9ba: eefc 7bc7 vcvt.u32.f64 s15, d7 802b9be: ee17 2a90 vmov r2, s15 802b9c2: 683b ldr r3, [r7, #0] 802b9c4: 605a str r2, [r3, #4] return FR_OK; 802b9c6: 2300 movs r3, #0 } 802b9c8: 4618 mov r0, r3 802b9ca: 3718 adds r7, #24 802b9cc: 46bd mov sp, r7 802b9ce: bd80 pop {r7, pc} 0802b9d0 : void VerifyFileNamePTM(char *fname, char *out_name) { 802b9d0: b580 push {r7, lr} 802b9d2: b086 sub sp, #24 802b9d4: af00 add r7, sp, #0 802b9d6: 6078 str r0, [r7, #4] 802b9d8: 6039 str r1, [r7, #0] uint32_t l, indx; char *pch; if(*fname == 0) 802b9da: 687b ldr r3, [r7, #4] 802b9dc: 781b ldrb r3, [r3, #0] 802b9de: 2b00 cmp r3, #0 802b9e0: d103 bne.n 802b9ea { *out_name = 0; 802b9e2: 683b ldr r3, [r7, #0] 802b9e4: 2200 movs r2, #0 802b9e6: 701a strb r2, [r3, #0] return; 802b9e8: e088 b.n 802bafc } if(strcmp(fname, "") == 0) 802b9ea: 687b ldr r3, [r7, #4] 802b9ec: 781b ldrb r3, [r3, #0] 802b9ee: 2b00 cmp r3, #0 802b9f0: d103 bne.n 802b9fa { *out_name = 0; 802b9f2: 683b ldr r3, [r7, #0] 802b9f4: 2200 movs r2, #0 802b9f6: 701a strb r2, [r3, #0] return; 802b9f8: e080 b.n 802bafc } memset(fn, 0, sizeof(fn)); 802b9fa: 2228 movs r2, #40 ; 0x28 802b9fc: 2100 movs r1, #0 802b9fe: 4841 ldr r0, [pc, #260] ; (802bb04 ) 802ba00: f0a6 fad0 bl 80d1fa4 strcpy(fn, fname); 802ba04: 6879 ldr r1, [r7, #4] 802ba06: 483f ldr r0, [pc, #252] ; (802bb04 ) 802ba08: f0a6 fbe9 bl 80d21de pch = strchr(fn, '.'); 802ba0c: 212e movs r1, #46 ; 0x2e 802ba0e: 483d ldr r0, [pc, #244] ; (802bb04 ) 802ba10: f0a6 fbd7 bl 80d21c2 802ba14: 6178 str r0, [r7, #20] if(pch == NULL) 802ba16: 697b ldr r3, [r7, #20] 802ba18: 2b00 cmp r3, #0 802ba1a: d124 bne.n 802ba66 { l = strlen(fn); 802ba1c: 4839 ldr r0, [pc, #228] ; (802bb04 ) 802ba1e: f7f4 fc79 bl 8020314 802ba22: 6138 str r0, [r7, #16] if(l == 0) 802ba24: 693b ldr r3, [r7, #16] 802ba26: 2b00 cmp r3, #0 802ba28: d103 bne.n 802ba32 { *out_name = 0;; 802ba2a: 683b ldr r3, [r7, #0] 802ba2c: 2200 movs r2, #0 802ba2e: 701a strb r2, [r3, #0] return; 802ba30: e064 b.n 802bafc } fn[l] = '.'; 802ba32: 4a34 ldr r2, [pc, #208] ; (802bb04 ) 802ba34: 693b ldr r3, [r7, #16] 802ba36: 4413 add r3, r2 802ba38: 222e movs r2, #46 ; 0x2e 802ba3a: 701a strb r2, [r3, #0] fn[l + 1] = 'P'; 802ba3c: 693b ldr r3, [r7, #16] 802ba3e: 3301 adds r3, #1 802ba40: 4a30 ldr r2, [pc, #192] ; (802bb04 ) 802ba42: 2150 movs r1, #80 ; 0x50 802ba44: 54d1 strb r1, [r2, r3] fn[l + 2] = 'T'; 802ba46: 693b ldr r3, [r7, #16] 802ba48: 3302 adds r3, #2 802ba4a: 4a2e ldr r2, [pc, #184] ; (802bb04 ) 802ba4c: 2154 movs r1, #84 ; 0x54 802ba4e: 54d1 strb r1, [r2, r3] fn[l + 3] = 'M'; 802ba50: 693b ldr r3, [r7, #16] 802ba52: 3303 adds r3, #3 802ba54: 4a2b ldr r2, [pc, #172] ; (802bb04 ) 802ba56: 214d movs r1, #77 ; 0x4d 802ba58: 54d1 strb r1, [r2, r3] fn[l + 4] = '\0'; 802ba5a: 693b ldr r3, [r7, #16] 802ba5c: 3304 adds r3, #4 802ba5e: 4a29 ldr r2, [pc, #164] ; (802bb04 ) 802ba60: 2100 movs r1, #0 802ba62: 54d1 strb r1, [r2, r3] 802ba64: e045 b.n 802baf2 } else { indx = pch - fn; 802ba66: 697b ldr r3, [r7, #20] 802ba68: 4a26 ldr r2, [pc, #152] ; (802bb04 ) 802ba6a: 1a9b subs r3, r3, r2 802ba6c: 60fb str r3, [r7, #12] if((fn[indx + 1] != 'p') && (fn[indx + 1] != 'P')) { 802ba6e: 68fb ldr r3, [r7, #12] 802ba70: 3301 adds r3, #1 802ba72: 4a24 ldr r2, [pc, #144] ; (802bb04 ) 802ba74: 5cd3 ldrb r3, [r2, r3] 802ba76: 2b70 cmp r3, #112 ; 0x70 802ba78: d00a beq.n 802ba90 802ba7a: 68fb ldr r3, [r7, #12] 802ba7c: 3301 adds r3, #1 802ba7e: 4a21 ldr r2, [pc, #132] ; (802bb04 ) 802ba80: 5cd3 ldrb r3, [r2, r3] 802ba82: 2b50 cmp r3, #80 ; 0x50 802ba84: d004 beq.n 802ba90 fn[indx + 1] = 'P'; 802ba86: 68fb ldr r3, [r7, #12] 802ba88: 3301 adds r3, #1 802ba8a: 4a1e ldr r2, [pc, #120] ; (802bb04 ) 802ba8c: 2150 movs r1, #80 ; 0x50 802ba8e: 54d1 strb r1, [r2, r3] } if((fn[indx + 2] != 't') && (fn[indx + 2] != 'T')) { 802ba90: 68fb ldr r3, [r7, #12] 802ba92: 3302 adds r3, #2 802ba94: 4a1b ldr r2, [pc, #108] ; (802bb04 ) 802ba96: 5cd3 ldrb r3, [r2, r3] 802ba98: 2b74 cmp r3, #116 ; 0x74 802ba9a: d00a beq.n 802bab2 802ba9c: 68fb ldr r3, [r7, #12] 802ba9e: 3302 adds r3, #2 802baa0: 4a18 ldr r2, [pc, #96] ; (802bb04 ) 802baa2: 5cd3 ldrb r3, [r2, r3] 802baa4: 2b54 cmp r3, #84 ; 0x54 802baa6: d004 beq.n 802bab2 fn[indx + 2] = 'T'; 802baa8: 68fb ldr r3, [r7, #12] 802baaa: 3302 adds r3, #2 802baac: 4a15 ldr r2, [pc, #84] ; (802bb04 ) 802baae: 2154 movs r1, #84 ; 0x54 802bab0: 54d1 strb r1, [r2, r3] } if((fn[indx + 3] != 'm') && (fn[indx + 3] != 'M')) { 802bab2: 68fb ldr r3, [r7, #12] 802bab4: 3303 adds r3, #3 802bab6: 4a13 ldr r2, [pc, #76] ; (802bb04 ) 802bab8: 5cd3 ldrb r3, [r2, r3] 802baba: 2b6d cmp r3, #109 ; 0x6d 802babc: d00a beq.n 802bad4 802babe: 68fb ldr r3, [r7, #12] 802bac0: 3303 adds r3, #3 802bac2: 4a10 ldr r2, [pc, #64] ; (802bb04 ) 802bac4: 5cd3 ldrb r3, [r2, r3] 802bac6: 2b4d cmp r3, #77 ; 0x4d 802bac8: d004 beq.n 802bad4 fn[indx + 3] = 'M'; 802baca: 68fb ldr r3, [r7, #12] 802bacc: 3303 adds r3, #3 802bace: 4a0d ldr r2, [pc, #52] ; (802bb04 ) 802bad0: 214d movs r1, #77 ; 0x4d 802bad2: 54d1 strb r1, [r2, r3] } fn[indx + 4] = '\0'; 802bad4: 68fb ldr r3, [r7, #12] 802bad6: 3304 adds r3, #4 802bad8: 4a0a ldr r2, [pc, #40] ; (802bb04 ) 802bada: 2100 movs r1, #0 802badc: 54d1 strb r1, [r2, r3] if(strlen(fn) <= 4) 802bade: 4809 ldr r0, [pc, #36] ; (802bb04 ) 802bae0: f7f4 fc18 bl 8020314 802bae4: 4603 mov r3, r0 802bae6: 2b04 cmp r3, #4 802bae8: d803 bhi.n 802baf2 { *out_name = 0; 802baea: 683b ldr r3, [r7, #0] 802baec: 2200 movs r2, #0 802baee: 701a strb r2, [r3, #0] return; 802baf0: e004 b.n 802bafc } } strcpy(out_name, fn); 802baf2: 4904 ldr r1, [pc, #16] ; (802bb04 ) 802baf4: 6838 ldr r0, [r7, #0] 802baf6: f0a6 fb72 bl 80d21de return; 802bafa: bf00 nop } 802bafc: 3718 adds r7, #24 802bafe: 46bd mov sp, r7 802bb00: bd80 pop {r7, pc} 802bb02: bf00 nop 802bb04: 20022e50 .word 0x20022e50 0802bb08 : void VerifyFileNameDGN(char *fname, char *out_name) { 802bb08: b580 push {r7, lr} 802bb0a: b086 sub sp, #24 802bb0c: af00 add r7, sp, #0 802bb0e: 6078 str r0, [r7, #4] 802bb10: 6039 str r1, [r7, #0] uint32_t l, indx; char *pch; if(*fname == 0) 802bb12: 687b ldr r3, [r7, #4] 802bb14: 781b ldrb r3, [r3, #0] 802bb16: 2b00 cmp r3, #0 802bb18: d103 bne.n 802bb22 { *out_name = 0; 802bb1a: 683b ldr r3, [r7, #0] 802bb1c: 2200 movs r2, #0 802bb1e: 701a strb r2, [r3, #0] return; 802bb20: e088 b.n 802bc34 } if(strcmp(fname, "") == 0) 802bb22: 687b ldr r3, [r7, #4] 802bb24: 781b ldrb r3, [r3, #0] 802bb26: 2b00 cmp r3, #0 802bb28: d103 bne.n 802bb32 { *out_name = 0; 802bb2a: 683b ldr r3, [r7, #0] 802bb2c: 2200 movs r2, #0 802bb2e: 701a strb r2, [r3, #0] return; 802bb30: e080 b.n 802bc34 } memset(fn, 0, sizeof(fn)); 802bb32: 2228 movs r2, #40 ; 0x28 802bb34: 2100 movs r1, #0 802bb36: 4841 ldr r0, [pc, #260] ; (802bc3c ) 802bb38: f0a6 fa34 bl 80d1fa4 strcpy(fn, fname); 802bb3c: 6879 ldr r1, [r7, #4] 802bb3e: 483f ldr r0, [pc, #252] ; (802bc3c ) 802bb40: f0a6 fb4d bl 80d21de pch = strchr(fn, '.'); 802bb44: 212e movs r1, #46 ; 0x2e 802bb46: 483d ldr r0, [pc, #244] ; (802bc3c ) 802bb48: f0a6 fb3b bl 80d21c2 802bb4c: 6178 str r0, [r7, #20] if(pch == NULL) 802bb4e: 697b ldr r3, [r7, #20] 802bb50: 2b00 cmp r3, #0 802bb52: d124 bne.n 802bb9e { l = strlen(fn); 802bb54: 4839 ldr r0, [pc, #228] ; (802bc3c ) 802bb56: f7f4 fbdd bl 8020314 802bb5a: 6138 str r0, [r7, #16] if(l == 0) 802bb5c: 693b ldr r3, [r7, #16] 802bb5e: 2b00 cmp r3, #0 802bb60: d103 bne.n 802bb6a { *out_name = 0;; 802bb62: 683b ldr r3, [r7, #0] 802bb64: 2200 movs r2, #0 802bb66: 701a strb r2, [r3, #0] return; 802bb68: e064 b.n 802bc34 } fn[l] = '.'; 802bb6a: 4a34 ldr r2, [pc, #208] ; (802bc3c ) 802bb6c: 693b ldr r3, [r7, #16] 802bb6e: 4413 add r3, r2 802bb70: 222e movs r2, #46 ; 0x2e 802bb72: 701a strb r2, [r3, #0] fn[l + 1] = 'D'; 802bb74: 693b ldr r3, [r7, #16] 802bb76: 3301 adds r3, #1 802bb78: 4a30 ldr r2, [pc, #192] ; (802bc3c ) 802bb7a: 2144 movs r1, #68 ; 0x44 802bb7c: 54d1 strb r1, [r2, r3] fn[l + 2] = 'G'; 802bb7e: 693b ldr r3, [r7, #16] 802bb80: 3302 adds r3, #2 802bb82: 4a2e ldr r2, [pc, #184] ; (802bc3c ) 802bb84: 2147 movs r1, #71 ; 0x47 802bb86: 54d1 strb r1, [r2, r3] fn[l + 3] = 'N'; 802bb88: 693b ldr r3, [r7, #16] 802bb8a: 3303 adds r3, #3 802bb8c: 4a2b ldr r2, [pc, #172] ; (802bc3c ) 802bb8e: 214e movs r1, #78 ; 0x4e 802bb90: 54d1 strb r1, [r2, r3] fn[l + 4] = '\0'; 802bb92: 693b ldr r3, [r7, #16] 802bb94: 3304 adds r3, #4 802bb96: 4a29 ldr r2, [pc, #164] ; (802bc3c ) 802bb98: 2100 movs r1, #0 802bb9a: 54d1 strb r1, [r2, r3] 802bb9c: e045 b.n 802bc2a } else { indx = pch - fn; 802bb9e: 697b ldr r3, [r7, #20] 802bba0: 4a26 ldr r2, [pc, #152] ; (802bc3c ) 802bba2: 1a9b subs r3, r3, r2 802bba4: 60fb str r3, [r7, #12] if((fn[indx + 1] != 'd') && (fn[indx + 1] != 'D')) { 802bba6: 68fb ldr r3, [r7, #12] 802bba8: 3301 adds r3, #1 802bbaa: 4a24 ldr r2, [pc, #144] ; (802bc3c ) 802bbac: 5cd3 ldrb r3, [r2, r3] 802bbae: 2b64 cmp r3, #100 ; 0x64 802bbb0: d00a beq.n 802bbc8 802bbb2: 68fb ldr r3, [r7, #12] 802bbb4: 3301 adds r3, #1 802bbb6: 4a21 ldr r2, [pc, #132] ; (802bc3c ) 802bbb8: 5cd3 ldrb r3, [r2, r3] 802bbba: 2b44 cmp r3, #68 ; 0x44 802bbbc: d004 beq.n 802bbc8 fn[indx + 1] = 'D'; 802bbbe: 68fb ldr r3, [r7, #12] 802bbc0: 3301 adds r3, #1 802bbc2: 4a1e ldr r2, [pc, #120] ; (802bc3c ) 802bbc4: 2144 movs r1, #68 ; 0x44 802bbc6: 54d1 strb r1, [r2, r3] } if((fn[indx + 2] != 'g') && (fn[indx + 2] != 'G')) { 802bbc8: 68fb ldr r3, [r7, #12] 802bbca: 3302 adds r3, #2 802bbcc: 4a1b ldr r2, [pc, #108] ; (802bc3c ) 802bbce: 5cd3 ldrb r3, [r2, r3] 802bbd0: 2b67 cmp r3, #103 ; 0x67 802bbd2: d00a beq.n 802bbea 802bbd4: 68fb ldr r3, [r7, #12] 802bbd6: 3302 adds r3, #2 802bbd8: 4a18 ldr r2, [pc, #96] ; (802bc3c ) 802bbda: 5cd3 ldrb r3, [r2, r3] 802bbdc: 2b47 cmp r3, #71 ; 0x47 802bbde: d004 beq.n 802bbea fn[indx + 2] = 'G'; 802bbe0: 68fb ldr r3, [r7, #12] 802bbe2: 3302 adds r3, #2 802bbe4: 4a15 ldr r2, [pc, #84] ; (802bc3c ) 802bbe6: 2147 movs r1, #71 ; 0x47 802bbe8: 54d1 strb r1, [r2, r3] } if((fn[indx + 3] != 'n') && (fn[indx + 3] != 'N')) { 802bbea: 68fb ldr r3, [r7, #12] 802bbec: 3303 adds r3, #3 802bbee: 4a13 ldr r2, [pc, #76] ; (802bc3c ) 802bbf0: 5cd3 ldrb r3, [r2, r3] 802bbf2: 2b6e cmp r3, #110 ; 0x6e 802bbf4: d00a beq.n 802bc0c 802bbf6: 68fb ldr r3, [r7, #12] 802bbf8: 3303 adds r3, #3 802bbfa: 4a10 ldr r2, [pc, #64] ; (802bc3c ) 802bbfc: 5cd3 ldrb r3, [r2, r3] 802bbfe: 2b4e cmp r3, #78 ; 0x4e 802bc00: d004 beq.n 802bc0c fn[indx + 3] = 'N'; 802bc02: 68fb ldr r3, [r7, #12] 802bc04: 3303 adds r3, #3 802bc06: 4a0d ldr r2, [pc, #52] ; (802bc3c ) 802bc08: 214e movs r1, #78 ; 0x4e 802bc0a: 54d1 strb r1, [r2, r3] } fn[indx + 4] = '\0'; 802bc0c: 68fb ldr r3, [r7, #12] 802bc0e: 3304 adds r3, #4 802bc10: 4a0a ldr r2, [pc, #40] ; (802bc3c ) 802bc12: 2100 movs r1, #0 802bc14: 54d1 strb r1, [r2, r3] if(strlen(fn) <= 4) 802bc16: 4809 ldr r0, [pc, #36] ; (802bc3c ) 802bc18: f7f4 fb7c bl 8020314 802bc1c: 4603 mov r3, r0 802bc1e: 2b04 cmp r3, #4 802bc20: d803 bhi.n 802bc2a { *out_name = 0; 802bc22: 683b ldr r3, [r7, #0] 802bc24: 2200 movs r2, #0 802bc26: 701a strb r2, [r3, #0] return; 802bc28: e004 b.n 802bc34 } } strcpy(out_name, fn); 802bc2a: 4904 ldr r1, [pc, #16] ; (802bc3c ) 802bc2c: 6838 ldr r0, [r7, #0] 802bc2e: f0a6 fad6 bl 80d21de return; 802bc32: bf00 nop } 802bc34: 3718 adds r7, #24 802bc36: 46bd mov sp, r7 802bc38: bd80 pop {r7, pc} 802bc3a: bf00 nop 802bc3c: 20022e50 .word 0x20022e50 0802bc40 : return; } void VerifyFileNameWAV(char *fname, char *out_name) { 802bc40: b580 push {r7, lr} 802bc42: b086 sub sp, #24 802bc44: af00 add r7, sp, #0 802bc46: 6078 str r0, [r7, #4] 802bc48: 6039 str r1, [r7, #0] uint32_t l, indx; char *pch; if(*fname == 0) 802bc4a: 687b ldr r3, [r7, #4] 802bc4c: 781b ldrb r3, [r3, #0] 802bc4e: 2b00 cmp r3, #0 802bc50: d103 bne.n 802bc5a { *out_name = 0; 802bc52: 683b ldr r3, [r7, #0] 802bc54: 2200 movs r2, #0 802bc56: 701a strb r2, [r3, #0] return; 802bc58: e088 b.n 802bd6c } if(strcmp(fname, "") == 0) 802bc5a: 687b ldr r3, [r7, #4] 802bc5c: 781b ldrb r3, [r3, #0] 802bc5e: 2b00 cmp r3, #0 802bc60: d103 bne.n 802bc6a { *out_name = 0; 802bc62: 683b ldr r3, [r7, #0] 802bc64: 2200 movs r2, #0 802bc66: 701a strb r2, [r3, #0] return; 802bc68: e080 b.n 802bd6c } memset(fn, 0, sizeof(fn)); 802bc6a: 2228 movs r2, #40 ; 0x28 802bc6c: 2100 movs r1, #0 802bc6e: 4841 ldr r0, [pc, #260] ; (802bd74 ) 802bc70: f0a6 f998 bl 80d1fa4 strcpy(fn, fname); 802bc74: 6879 ldr r1, [r7, #4] 802bc76: 483f ldr r0, [pc, #252] ; (802bd74 ) 802bc78: f0a6 fab1 bl 80d21de pch = strchr(fn, '.'); 802bc7c: 212e movs r1, #46 ; 0x2e 802bc7e: 483d ldr r0, [pc, #244] ; (802bd74 ) 802bc80: f0a6 fa9f bl 80d21c2 802bc84: 6178 str r0, [r7, #20] if(pch == NULL) 802bc86: 697b ldr r3, [r7, #20] 802bc88: 2b00 cmp r3, #0 802bc8a: d124 bne.n 802bcd6 { l = strlen(fn); 802bc8c: 4839 ldr r0, [pc, #228] ; (802bd74 ) 802bc8e: f7f4 fb41 bl 8020314 802bc92: 6138 str r0, [r7, #16] if(l == 0) 802bc94: 693b ldr r3, [r7, #16] 802bc96: 2b00 cmp r3, #0 802bc98: d103 bne.n 802bca2 { *out_name = 0; 802bc9a: 683b ldr r3, [r7, #0] 802bc9c: 2200 movs r2, #0 802bc9e: 701a strb r2, [r3, #0] return; 802bca0: e064 b.n 802bd6c } fn[l] = '.'; 802bca2: 4a34 ldr r2, [pc, #208] ; (802bd74 ) 802bca4: 693b ldr r3, [r7, #16] 802bca6: 4413 add r3, r2 802bca8: 222e movs r2, #46 ; 0x2e 802bcaa: 701a strb r2, [r3, #0] fn[l + 1] = 'w'; 802bcac: 693b ldr r3, [r7, #16] 802bcae: 3301 adds r3, #1 802bcb0: 4a30 ldr r2, [pc, #192] ; (802bd74 ) 802bcb2: 2177 movs r1, #119 ; 0x77 802bcb4: 54d1 strb r1, [r2, r3] fn[l + 2] = 'a'; 802bcb6: 693b ldr r3, [r7, #16] 802bcb8: 3302 adds r3, #2 802bcba: 4a2e ldr r2, [pc, #184] ; (802bd74 ) 802bcbc: 2161 movs r1, #97 ; 0x61 802bcbe: 54d1 strb r1, [r2, r3] fn[l + 3] = 'v'; 802bcc0: 693b ldr r3, [r7, #16] 802bcc2: 3303 adds r3, #3 802bcc4: 4a2b ldr r2, [pc, #172] ; (802bd74 ) 802bcc6: 2176 movs r1, #118 ; 0x76 802bcc8: 54d1 strb r1, [r2, r3] fn[l + 4] = '\0'; 802bcca: 693b ldr r3, [r7, #16] 802bccc: 3304 adds r3, #4 802bcce: 4a29 ldr r2, [pc, #164] ; (802bd74 ) 802bcd0: 2100 movs r1, #0 802bcd2: 54d1 strb r1, [r2, r3] 802bcd4: e045 b.n 802bd62 } else { indx = pch - fn; 802bcd6: 697b ldr r3, [r7, #20] 802bcd8: 4a26 ldr r2, [pc, #152] ; (802bd74 ) 802bcda: 1a9b subs r3, r3, r2 802bcdc: 60fb str r3, [r7, #12] if((fn[indx + 1] != 'w') && (fn[indx + 1] != 'W')) { 802bcde: 68fb ldr r3, [r7, #12] 802bce0: 3301 adds r3, #1 802bce2: 4a24 ldr r2, [pc, #144] ; (802bd74 ) 802bce4: 5cd3 ldrb r3, [r2, r3] 802bce6: 2b77 cmp r3, #119 ; 0x77 802bce8: d00a beq.n 802bd00 802bcea: 68fb ldr r3, [r7, #12] 802bcec: 3301 adds r3, #1 802bcee: 4a21 ldr r2, [pc, #132] ; (802bd74 ) 802bcf0: 5cd3 ldrb r3, [r2, r3] 802bcf2: 2b57 cmp r3, #87 ; 0x57 802bcf4: d004 beq.n 802bd00 fn[indx + 1] = 'w'; 802bcf6: 68fb ldr r3, [r7, #12] 802bcf8: 3301 adds r3, #1 802bcfa: 4a1e ldr r2, [pc, #120] ; (802bd74 ) 802bcfc: 2177 movs r1, #119 ; 0x77 802bcfe: 54d1 strb r1, [r2, r3] } if((fn[indx + 2] != 'a') && (fn[indx + 2] != 'A')) { 802bd00: 68fb ldr r3, [r7, #12] 802bd02: 3302 adds r3, #2 802bd04: 4a1b ldr r2, [pc, #108] ; (802bd74 ) 802bd06: 5cd3 ldrb r3, [r2, r3] 802bd08: 2b61 cmp r3, #97 ; 0x61 802bd0a: d00a beq.n 802bd22 802bd0c: 68fb ldr r3, [r7, #12] 802bd0e: 3302 adds r3, #2 802bd10: 4a18 ldr r2, [pc, #96] ; (802bd74 ) 802bd12: 5cd3 ldrb r3, [r2, r3] 802bd14: 2b41 cmp r3, #65 ; 0x41 802bd16: d004 beq.n 802bd22 fn[indx + 2] = 'a'; 802bd18: 68fb ldr r3, [r7, #12] 802bd1a: 3302 adds r3, #2 802bd1c: 4a15 ldr r2, [pc, #84] ; (802bd74 ) 802bd1e: 2161 movs r1, #97 ; 0x61 802bd20: 54d1 strb r1, [r2, r3] } if((fn[indx + 3] != 'v') && (fn[indx + 3] != 'V')) { 802bd22: 68fb ldr r3, [r7, #12] 802bd24: 3303 adds r3, #3 802bd26: 4a13 ldr r2, [pc, #76] ; (802bd74 ) 802bd28: 5cd3 ldrb r3, [r2, r3] 802bd2a: 2b76 cmp r3, #118 ; 0x76 802bd2c: d00a beq.n 802bd44 802bd2e: 68fb ldr r3, [r7, #12] 802bd30: 3303 adds r3, #3 802bd32: 4a10 ldr r2, [pc, #64] ; (802bd74 ) 802bd34: 5cd3 ldrb r3, [r2, r3] 802bd36: 2b56 cmp r3, #86 ; 0x56 802bd38: d004 beq.n 802bd44 fn[indx + 3] = 'v'; 802bd3a: 68fb ldr r3, [r7, #12] 802bd3c: 3303 adds r3, #3 802bd3e: 4a0d ldr r2, [pc, #52] ; (802bd74 ) 802bd40: 2176 movs r1, #118 ; 0x76 802bd42: 54d1 strb r1, [r2, r3] } fn[indx + 4] = '\0'; 802bd44: 68fb ldr r3, [r7, #12] 802bd46: 3304 adds r3, #4 802bd48: 4a0a ldr r2, [pc, #40] ; (802bd74 ) 802bd4a: 2100 movs r1, #0 802bd4c: 54d1 strb r1, [r2, r3] if(strlen(fn) <= 4) 802bd4e: 4809 ldr r0, [pc, #36] ; (802bd74 ) 802bd50: f7f4 fae0 bl 8020314 802bd54: 4603 mov r3, r0 802bd56: 2b04 cmp r3, #4 802bd58: d803 bhi.n 802bd62 { *out_name = 0; 802bd5a: 683b ldr r3, [r7, #0] 802bd5c: 2200 movs r2, #0 802bd5e: 701a strb r2, [r3, #0] return; 802bd60: e004 b.n 802bd6c } } strcpy(out_name, fn); 802bd62: 4904 ldr r1, [pc, #16] ; (802bd74 ) 802bd64: 6838 ldr r0, [r7, #0] 802bd66: f0a6 fa3a bl 80d21de return; 802bd6a: bf00 nop } 802bd6c: 3718 adds r7, #24 802bd6e: 46bd mov sp, r7 802bd70: bd80 pop {r7, pc} 802bd72: bf00 nop 802bd74: 20022e50 .word 0x20022e50 0802bd78 : void VerifyFileNameCSV(char *fname, char *out_name) { 802bd78: b580 push {r7, lr} 802bd7a: b086 sub sp, #24 802bd7c: af00 add r7, sp, #0 802bd7e: 6078 str r0, [r7, #4] 802bd80: 6039 str r1, [r7, #0] uint32_t l, indx; char *pch; if(*fname == 0) 802bd82: 687b ldr r3, [r7, #4] 802bd84: 781b ldrb r3, [r3, #0] 802bd86: 2b00 cmp r3, #0 802bd88: d103 bne.n 802bd92 { *out_name = 0; 802bd8a: 683b ldr r3, [r7, #0] 802bd8c: 2200 movs r2, #0 802bd8e: 701a strb r2, [r3, #0] return; 802bd90: e088 b.n 802bea4 } if(strcmp(fname, "") == 0) 802bd92: 687b ldr r3, [r7, #4] 802bd94: 781b ldrb r3, [r3, #0] 802bd96: 2b00 cmp r3, #0 802bd98: d103 bne.n 802bda2 { *out_name = 0; 802bd9a: 683b ldr r3, [r7, #0] 802bd9c: 2200 movs r2, #0 802bd9e: 701a strb r2, [r3, #0] return; 802bda0: e080 b.n 802bea4 } memset(fn, 0, sizeof(fn)); 802bda2: 2228 movs r2, #40 ; 0x28 802bda4: 2100 movs r1, #0 802bda6: 4841 ldr r0, [pc, #260] ; (802beac ) 802bda8: f0a6 f8fc bl 80d1fa4 strcpy(fn, fname); 802bdac: 6879 ldr r1, [r7, #4] 802bdae: 483f ldr r0, [pc, #252] ; (802beac ) 802bdb0: f0a6 fa15 bl 80d21de pch = strchr(fn, '.'); 802bdb4: 212e movs r1, #46 ; 0x2e 802bdb6: 483d ldr r0, [pc, #244] ; (802beac ) 802bdb8: f0a6 fa03 bl 80d21c2 802bdbc: 6178 str r0, [r7, #20] if(pch == NULL) 802bdbe: 697b ldr r3, [r7, #20] 802bdc0: 2b00 cmp r3, #0 802bdc2: d124 bne.n 802be0e { l = strlen(fn); 802bdc4: 4839 ldr r0, [pc, #228] ; (802beac ) 802bdc6: f7f4 faa5 bl 8020314 802bdca: 6138 str r0, [r7, #16] if(l == 0) 802bdcc: 693b ldr r3, [r7, #16] 802bdce: 2b00 cmp r3, #0 802bdd0: d103 bne.n 802bdda { *out_name = 0; 802bdd2: 683b ldr r3, [r7, #0] 802bdd4: 2200 movs r2, #0 802bdd6: 701a strb r2, [r3, #0] return; 802bdd8: e064 b.n 802bea4 } fn[l] = '.'; 802bdda: 4a34 ldr r2, [pc, #208] ; (802beac ) 802bddc: 693b ldr r3, [r7, #16] 802bdde: 4413 add r3, r2 802bde0: 222e movs r2, #46 ; 0x2e 802bde2: 701a strb r2, [r3, #0] fn[l + 1] = 'C'; 802bde4: 693b ldr r3, [r7, #16] 802bde6: 3301 adds r3, #1 802bde8: 4a30 ldr r2, [pc, #192] ; (802beac ) 802bdea: 2143 movs r1, #67 ; 0x43 802bdec: 54d1 strb r1, [r2, r3] fn[l + 2] = 'S'; 802bdee: 693b ldr r3, [r7, #16] 802bdf0: 3302 adds r3, #2 802bdf2: 4a2e ldr r2, [pc, #184] ; (802beac ) 802bdf4: 2153 movs r1, #83 ; 0x53 802bdf6: 54d1 strb r1, [r2, r3] fn[l + 3] = 'V'; 802bdf8: 693b ldr r3, [r7, #16] 802bdfa: 3303 adds r3, #3 802bdfc: 4a2b ldr r2, [pc, #172] ; (802beac ) 802bdfe: 2156 movs r1, #86 ; 0x56 802be00: 54d1 strb r1, [r2, r3] fn[l + 4] = '\0'; 802be02: 693b ldr r3, [r7, #16] 802be04: 3304 adds r3, #4 802be06: 4a29 ldr r2, [pc, #164] ; (802beac ) 802be08: 2100 movs r1, #0 802be0a: 54d1 strb r1, [r2, r3] 802be0c: e045 b.n 802be9a } else { indx = pch - fn; 802be0e: 697b ldr r3, [r7, #20] 802be10: 4a26 ldr r2, [pc, #152] ; (802beac ) 802be12: 1a9b subs r3, r3, r2 802be14: 60fb str r3, [r7, #12] if((fn[indx + 1] != 'c') && (fn[indx + 1] != 'C')) { 802be16: 68fb ldr r3, [r7, #12] 802be18: 3301 adds r3, #1 802be1a: 4a24 ldr r2, [pc, #144] ; (802beac ) 802be1c: 5cd3 ldrb r3, [r2, r3] 802be1e: 2b63 cmp r3, #99 ; 0x63 802be20: d00a beq.n 802be38 802be22: 68fb ldr r3, [r7, #12] 802be24: 3301 adds r3, #1 802be26: 4a21 ldr r2, [pc, #132] ; (802beac ) 802be28: 5cd3 ldrb r3, [r2, r3] 802be2a: 2b43 cmp r3, #67 ; 0x43 802be2c: d004 beq.n 802be38 fn[indx + 1] = 'C'; 802be2e: 68fb ldr r3, [r7, #12] 802be30: 3301 adds r3, #1 802be32: 4a1e ldr r2, [pc, #120] ; (802beac ) 802be34: 2143 movs r1, #67 ; 0x43 802be36: 54d1 strb r1, [r2, r3] } if((fn[indx + 2] != 's') && (fn[indx + 2] != 'S')) { 802be38: 68fb ldr r3, [r7, #12] 802be3a: 3302 adds r3, #2 802be3c: 4a1b ldr r2, [pc, #108] ; (802beac ) 802be3e: 5cd3 ldrb r3, [r2, r3] 802be40: 2b73 cmp r3, #115 ; 0x73 802be42: d00a beq.n 802be5a 802be44: 68fb ldr r3, [r7, #12] 802be46: 3302 adds r3, #2 802be48: 4a18 ldr r2, [pc, #96] ; (802beac ) 802be4a: 5cd3 ldrb r3, [r2, r3] 802be4c: 2b53 cmp r3, #83 ; 0x53 802be4e: d004 beq.n 802be5a fn[indx + 2] = 'S'; 802be50: 68fb ldr r3, [r7, #12] 802be52: 3302 adds r3, #2 802be54: 4a15 ldr r2, [pc, #84] ; (802beac ) 802be56: 2153 movs r1, #83 ; 0x53 802be58: 54d1 strb r1, [r2, r3] } if((fn[indx + 3] != 'v') && (fn[indx + 3] != 'V')) { 802be5a: 68fb ldr r3, [r7, #12] 802be5c: 3303 adds r3, #3 802be5e: 4a13 ldr r2, [pc, #76] ; (802beac ) 802be60: 5cd3 ldrb r3, [r2, r3] 802be62: 2b76 cmp r3, #118 ; 0x76 802be64: d00a beq.n 802be7c 802be66: 68fb ldr r3, [r7, #12] 802be68: 3303 adds r3, #3 802be6a: 4a10 ldr r2, [pc, #64] ; (802beac ) 802be6c: 5cd3 ldrb r3, [r2, r3] 802be6e: 2b56 cmp r3, #86 ; 0x56 802be70: d004 beq.n 802be7c fn[indx + 3] = 'V'; 802be72: 68fb ldr r3, [r7, #12] 802be74: 3303 adds r3, #3 802be76: 4a0d ldr r2, [pc, #52] ; (802beac ) 802be78: 2156 movs r1, #86 ; 0x56 802be7a: 54d1 strb r1, [r2, r3] } fn[indx + 4] = '\0'; 802be7c: 68fb ldr r3, [r7, #12] 802be7e: 3304 adds r3, #4 802be80: 4a0a ldr r2, [pc, #40] ; (802beac ) 802be82: 2100 movs r1, #0 802be84: 54d1 strb r1, [r2, r3] if(strlen(fn) <= 4) 802be86: 4809 ldr r0, [pc, #36] ; (802beac ) 802be88: f7f4 fa44 bl 8020314 802be8c: 4603 mov r3, r0 802be8e: 2b04 cmp r3, #4 802be90: d803 bhi.n 802be9a { *out_name = 0; 802be92: 683b ldr r3, [r7, #0] 802be94: 2200 movs r2, #0 802be96: 701a strb r2, [r3, #0] return; 802be98: e004 b.n 802bea4 } } strcpy(out_name, fn); 802be9a: 4904 ldr r1, [pc, #16] ; (802beac ) 802be9c: 6838 ldr r0, [r7, #0] 802be9e: f0a6 f99e bl 80d21de return; 802bea2: bf00 nop } 802bea4: 3718 adds r7, #24 802bea6: 46bd mov sp, r7 802bea8: bd80 pop {r7, pc} 802beaa: bf00 nop 802beac: 20022e50 .word 0x20022e50 0802beb0 : return; } void VerifyFileNameSPEC(char *fname, char *out_name) { 802beb0: b580 push {r7, lr} 802beb2: b086 sub sp, #24 802beb4: af00 add r7, sp, #0 802beb6: 6078 str r0, [r7, #4] 802beb8: 6039 str r1, [r7, #0] uint32_t l, indx; char *pch; if(*fname == 0) 802beba: 687b ldr r3, [r7, #4] 802bebc: 781b ldrb r3, [r3, #0] 802bebe: 2b00 cmp r3, #0 802bec0: d103 bne.n 802beca { *out_name = 0; 802bec2: 683b ldr r3, [r7, #0] 802bec4: 2200 movs r2, #0 802bec6: 701a strb r2, [r3, #0] return; 802bec8: e088 b.n 802bfdc } if(strcmp(fname, "") == 0) 802beca: 687b ldr r3, [r7, #4] 802becc: 781b ldrb r3, [r3, #0] 802bece: 2b00 cmp r3, #0 802bed0: d103 bne.n 802beda { *out_name = 0; 802bed2: 683b ldr r3, [r7, #0] 802bed4: 2200 movs r2, #0 802bed6: 701a strb r2, [r3, #0] return; 802bed8: e080 b.n 802bfdc } memset(fn, 0, sizeof(fn)); 802beda: 2228 movs r2, #40 ; 0x28 802bedc: 2100 movs r1, #0 802bede: 4841 ldr r0, [pc, #260] ; (802bfe4 ) 802bee0: f0a6 f860 bl 80d1fa4 strcpy(fn, fname); 802bee4: 6879 ldr r1, [r7, #4] 802bee6: 483f ldr r0, [pc, #252] ; (802bfe4 ) 802bee8: f0a6 f979 bl 80d21de pch = strchr(fn, '.'); 802beec: 212e movs r1, #46 ; 0x2e 802beee: 483d ldr r0, [pc, #244] ; (802bfe4 ) 802bef0: f0a6 f967 bl 80d21c2 802bef4: 6178 str r0, [r7, #20] if(pch == NULL) 802bef6: 697b ldr r3, [r7, #20] 802bef8: 2b00 cmp r3, #0 802befa: d124 bne.n 802bf46 { l = strlen(fn); 802befc: 4839 ldr r0, [pc, #228] ; (802bfe4 ) 802befe: f7f4 fa09 bl 8020314 802bf02: 6138 str r0, [r7, #16] if(l == 0) 802bf04: 693b ldr r3, [r7, #16] 802bf06: 2b00 cmp r3, #0 802bf08: d103 bne.n 802bf12 { *out_name = 0; 802bf0a: 683b ldr r3, [r7, #0] 802bf0c: 2200 movs r2, #0 802bf0e: 701a strb r2, [r3, #0] return; 802bf10: e064 b.n 802bfdc } fn[l] = '.'; 802bf12: 4a34 ldr r2, [pc, #208] ; (802bfe4 ) 802bf14: 693b ldr r3, [r7, #16] 802bf16: 4413 add r3, r2 802bf18: 222e movs r2, #46 ; 0x2e 802bf1a: 701a strb r2, [r3, #0] fn[l + 1] = 'C'; 802bf1c: 693b ldr r3, [r7, #16] 802bf1e: 3301 adds r3, #1 802bf20: 4a30 ldr r2, [pc, #192] ; (802bfe4 ) 802bf22: 2143 movs r1, #67 ; 0x43 802bf24: 54d1 strb r1, [r2, r3] fn[l + 2] = 'S'; 802bf26: 693b ldr r3, [r7, #16] 802bf28: 3302 adds r3, #2 802bf2a: 4a2e ldr r2, [pc, #184] ; (802bfe4 ) 802bf2c: 2153 movs r1, #83 ; 0x53 802bf2e: 54d1 strb r1, [r2, r3] fn[l + 3] = 'V'; 802bf30: 693b ldr r3, [r7, #16] 802bf32: 3303 adds r3, #3 802bf34: 4a2b ldr r2, [pc, #172] ; (802bfe4 ) 802bf36: 2156 movs r1, #86 ; 0x56 802bf38: 54d1 strb r1, [r2, r3] fn[l + 4] = '\0'; 802bf3a: 693b ldr r3, [r7, #16] 802bf3c: 3304 adds r3, #4 802bf3e: 4a29 ldr r2, [pc, #164] ; (802bfe4 ) 802bf40: 2100 movs r1, #0 802bf42: 54d1 strb r1, [r2, r3] 802bf44: e045 b.n 802bfd2 } else { indx = pch - fn; 802bf46: 697b ldr r3, [r7, #20] 802bf48: 4a26 ldr r2, [pc, #152] ; (802bfe4 ) 802bf4a: 1a9b subs r3, r3, r2 802bf4c: 60fb str r3, [r7, #12] if((fn[indx + 1] != 'c') && (fn[indx + 1] != 'C')) { 802bf4e: 68fb ldr r3, [r7, #12] 802bf50: 3301 adds r3, #1 802bf52: 4a24 ldr r2, [pc, #144] ; (802bfe4 ) 802bf54: 5cd3 ldrb r3, [r2, r3] 802bf56: 2b63 cmp r3, #99 ; 0x63 802bf58: d00a beq.n 802bf70 802bf5a: 68fb ldr r3, [r7, #12] 802bf5c: 3301 adds r3, #1 802bf5e: 4a21 ldr r2, [pc, #132] ; (802bfe4 ) 802bf60: 5cd3 ldrb r3, [r2, r3] 802bf62: 2b43 cmp r3, #67 ; 0x43 802bf64: d004 beq.n 802bf70 fn[indx + 1] = 'C'; 802bf66: 68fb ldr r3, [r7, #12] 802bf68: 3301 adds r3, #1 802bf6a: 4a1e ldr r2, [pc, #120] ; (802bfe4 ) 802bf6c: 2143 movs r1, #67 ; 0x43 802bf6e: 54d1 strb r1, [r2, r3] } if((fn[indx + 2] != 's') && (fn[indx + 2] != 'S')) { 802bf70: 68fb ldr r3, [r7, #12] 802bf72: 3302 adds r3, #2 802bf74: 4a1b ldr r2, [pc, #108] ; (802bfe4 ) 802bf76: 5cd3 ldrb r3, [r2, r3] 802bf78: 2b73 cmp r3, #115 ; 0x73 802bf7a: d00a beq.n 802bf92 802bf7c: 68fb ldr r3, [r7, #12] 802bf7e: 3302 adds r3, #2 802bf80: 4a18 ldr r2, [pc, #96] ; (802bfe4 ) 802bf82: 5cd3 ldrb r3, [r2, r3] 802bf84: 2b53 cmp r3, #83 ; 0x53 802bf86: d004 beq.n 802bf92 fn[indx + 2] = 'S'; 802bf88: 68fb ldr r3, [r7, #12] 802bf8a: 3302 adds r3, #2 802bf8c: 4a15 ldr r2, [pc, #84] ; (802bfe4 ) 802bf8e: 2153 movs r1, #83 ; 0x53 802bf90: 54d1 strb r1, [r2, r3] } if((fn[indx + 3] != 'v') && (fn[indx + 3] != 'V')) { 802bf92: 68fb ldr r3, [r7, #12] 802bf94: 3303 adds r3, #3 802bf96: 4a13 ldr r2, [pc, #76] ; (802bfe4 ) 802bf98: 5cd3 ldrb r3, [r2, r3] 802bf9a: 2b76 cmp r3, #118 ; 0x76 802bf9c: d00a beq.n 802bfb4 802bf9e: 68fb ldr r3, [r7, #12] 802bfa0: 3303 adds r3, #3 802bfa2: 4a10 ldr r2, [pc, #64] ; (802bfe4 ) 802bfa4: 5cd3 ldrb r3, [r2, r3] 802bfa6: 2b56 cmp r3, #86 ; 0x56 802bfa8: d004 beq.n 802bfb4 fn[indx + 3] = 'V'; 802bfaa: 68fb ldr r3, [r7, #12] 802bfac: 3303 adds r3, #3 802bfae: 4a0d ldr r2, [pc, #52] ; (802bfe4 ) 802bfb0: 2156 movs r1, #86 ; 0x56 802bfb2: 54d1 strb r1, [r2, r3] } fn[indx + 4] = '\0'; 802bfb4: 68fb ldr r3, [r7, #12] 802bfb6: 3304 adds r3, #4 802bfb8: 4a0a ldr r2, [pc, #40] ; (802bfe4 ) 802bfba: 2100 movs r1, #0 802bfbc: 54d1 strb r1, [r2, r3] if(strlen(fn) <= 4) 802bfbe: 4809 ldr r0, [pc, #36] ; (802bfe4 ) 802bfc0: f7f4 f9a8 bl 8020314 802bfc4: 4603 mov r3, r0 802bfc6: 2b04 cmp r3, #4 802bfc8: d803 bhi.n 802bfd2 { *out_name = 0; 802bfca: 683b ldr r3, [r7, #0] 802bfcc: 2200 movs r2, #0 802bfce: 701a strb r2, [r3, #0] return; 802bfd0: e004 b.n 802bfdc } } strcpy(out_name, fn); 802bfd2: 4904 ldr r1, [pc, #16] ; (802bfe4 ) 802bfd4: 6838 ldr r0, [r7, #0] 802bfd6: f0a6 f902 bl 80d21de return; 802bfda: bf00 nop } 802bfdc: 3718 adds r7, #24 802bfde: 46bd mov sp, r7 802bfe0: bd80 pop {r7, pc} 802bfe2: bf00 nop 802bfe4: 20022e50 .word 0x20022e50 0802bfe8 : } FRESULT CreateFileWAV(char *fname) //TODO { 802bfe8: b580 push {r7, lr} 802bfea: b0aa sub sp, #168 ; 0xa8 802bfec: af00 add r7, sp, #0 802bfee: 6078 str r0, [r7, #4] UINT i, l; FRESULT res = FR_OK; 802bff0: 2300 movs r3, #0 802bff2: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 char fn[60]; char str[60]; uint32_t p, Year, Month, Day, Hour, Min, Sec; if(CardState != MSD_READY) { 802bff6: 4b29 ldr r3, [pc, #164] ; (802c09c ) 802bff8: 781b ldrb r3, [r3, #0] 802bffa: b2db uxtb r3, r3 802bffc: 2b03 cmp r3, #3 802bffe: d002 beq.n 802c006 return FR_NOT_READY; 802c000: 2303 movs r3, #3 802c002: f001 b857 b.w 802d0b4 } if(IS_ROUTE) 802c006: 4b26 ldr r3, [pc, #152] ; (802c0a0 ) 802c008: 781b ldrb r3, [r3, #0] 802c00a: b2db uxtb r3, r3 802c00c: 2b00 cmp r3, #0 802c00e: f000 83ff beq.w 802c810 { memset(PointPath, 0, sizeof(PointPath)); 802c012: f44f 7200 mov.w r2, #512 ; 0x200 802c016: 2100 movs r1, #0 802c018: 4822 ldr r0, [pc, #136] ; (802c0a4 ) 802c01a: f0a5 ffc3 bl 80d1fa4 memset(str, 0, sizeof(str)); 802c01e: f107 0308 add.w r3, r7, #8 802c022: 223c movs r2, #60 ; 0x3c 802c024: 2100 movs r1, #0 802c026: 4618 mov r0, r3 802c028: f0a5 ffbc bl 80d1fa4 strcpy(PointPath, "0:Records/"); 802c02c: 4a1d ldr r2, [pc, #116] ; (802c0a4 ) 802c02e: 4b1e ldr r3, [pc, #120] ; (802c0a8 ) 802c030: cb03 ldmia r3!, {r0, r1} 802c032: 6010 str r0, [r2, #0] 802c034: 6051 str r1, [r2, #4] 802c036: 8819 ldrh r1, [r3, #0] 802c038: 789b ldrb r3, [r3, #2] 802c03a: 8111 strh r1, [r2, #8] 802c03c: 7293 strb r3, [r2, #10] res = f_opendir(&dir, PointPath); 802c03e: 4919 ldr r1, [pc, #100] ; (802c0a4 ) 802c040: 481a ldr r0, [pc, #104] ; (802c0ac ) 802c042: f09f ffda bl 80cbffa 802c046: 4603 mov r3, r0 802c048: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 if(res != FR_OK) { 802c04c: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802c050: 2b00 cmp r3, #0 802c052: d005 beq.n 802c060 res = f_mkdir(PointPath); 802c054: 4813 ldr r0, [pc, #76] ; (802c0a4 ) 802c056: f0a0 fa8b bl 80cc570 802c05a: 4603 mov r3, r0 802c05c: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 } f_closedir(&dir); 802c060: 4812 ldr r0, [pc, #72] ; (802c0ac ) 802c062: f0a0 f859 bl 80cc118 /*strcpy(str, "/POINT "); itoa(RoutePointID, &str[strlen(str)], 10);*/ //todo BYLO for(i = 0; i < 512; i++) 802c066: 2300 movs r3, #0 802c068: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 802c06c: e027 b.n 802c0be { if(RoutePath[i] == ';') 802c06e: 4a10 ldr r2, [pc, #64] ; (802c0b0 ) 802c070: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 802c074: 4413 add r3, r2 802c076: 781b ldrb r3, [r3, #0] 802c078: 2b3b cmp r3, #59 ; 0x3b 802c07a: d11b bne.n 802c0b4 { if(!i) { 802c07c: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 802c080: 2b00 cmp r3, #0 802c082: d102 bne.n 802c08a return FR_DISK_ERR; 802c084: 2301 movs r3, #1 802c086: f001 b815 b.w 802d0b4 } memcpy(str, RoutePath, i); 802c08a: f107 0308 add.w r3, r7, #8 802c08e: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 802c092: 4907 ldr r1, [pc, #28] ; (802c0b0 ) 802c094: 4618 mov r0, r3 802c096: f0a5 ff7a bl 80d1f8e break; 802c09a: e015 b.n 802c0c8 802c09c: 2002169c .word 0x2002169c 802c0a0: 20020dd3 .word 0x20020dd3 802c0a4: 20022a0c .word 0x20022a0c 802c0a8: 080d4e90 .word 0x080d4e90 802c0ac: 20022970 .word 0x20022970 802c0b0: 20022c38 .word 0x20022c38 for(i = 0; i < 512; i++) 802c0b4: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 802c0b8: 3301 adds r3, #1 802c0ba: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 802c0be: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 802c0c2: f5b3 7f00 cmp.w r3, #512 ; 0x200 802c0c6: d3d2 bcc.n 802c06e } } strcat(PointPath, str); 802c0c8: f107 0308 add.w r3, r7, #8 802c0cc: 4619 mov r1, r3 802c0ce: 48dc ldr r0, [pc, #880] ; (802c440 ) 802c0d0: f0a6 f868 bl 80d21a4 res = f_opendir(&dir, PointPath); 802c0d4: 49da ldr r1, [pc, #872] ; (802c440 ) 802c0d6: 48db ldr r0, [pc, #876] ; (802c444 ) 802c0d8: f09f ff8f bl 80cbffa 802c0dc: 4603 mov r3, r0 802c0de: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 if(res != FR_OK) { 802c0e2: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802c0e6: 2b00 cmp r3, #0 802c0e8: d005 beq.n 802c0f6 res = f_mkdir(PointPath); 802c0ea: 48d5 ldr r0, [pc, #852] ; (802c440 ) 802c0ec: f0a0 fa40 bl 80cc570 802c0f0: 4603 mov r3, r0 802c0f2: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 } f_closedir(&dir); 802c0f6: 48d3 ldr r0, [pc, #844] ; (802c444 ) 802c0f8: f0a0 f80e bl 80cc118 if(res == FR_OK) 802c0fc: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802c100: 2b00 cmp r3, #0 802c102: f040 87d5 bne.w 802d0b0 { HAL_RTC_GetTime(&hrtc, &RTC_TimeSygnal, RTC_FORMAT_BIN); 802c106: 2200 movs r2, #0 802c108: 49cf ldr r1, [pc, #828] ; (802c448 ) 802c10a: 48d0 ldr r0, [pc, #832] ; (802c44c ) 802c10c: f091 f962 bl 80bd3d4 HAL_RTC_GetDate(&hrtc, &RTC_DateSygnal, RTC_FORMAT_BIN); 802c110: 2200 movs r2, #0 802c112: 49cf ldr r1, [pc, #828] ; (802c450 ) 802c114: 48cd ldr r0, [pc, #820] ; (802c44c ) 802c116: f091 fa63 bl 80bd5e0 Day = RTC_DateSygnal.Date; 802c11a: 4bcd ldr r3, [pc, #820] ; (802c450 ) 802c11c: 789b ldrb r3, [r3, #2] 802c11e: f8c7 309c str.w r3, [r7, #156] ; 0x9c Month = RTC_DateSygnal.Month; 802c122: 4bcb ldr r3, [pc, #812] ; (802c450 ) 802c124: 785b ldrb r3, [r3, #1] 802c126: f8c7 3098 str.w r3, [r7, #152] ; 0x98 Year = RTC_DateSygnal.Year + 2000; 802c12a: 4bc9 ldr r3, [pc, #804] ; (802c450 ) 802c12c: 78db ldrb r3, [r3, #3] 802c12e: f503 63fa add.w r3, r3, #2000 ; 0x7d0 802c132: f8c7 3094 str.w r3, [r7, #148] ; 0x94 Hour = RTC_TimeSygnal.Hours; 802c136: 4bc4 ldr r3, [pc, #784] ; (802c448 ) 802c138: 781b ldrb r3, [r3, #0] 802c13a: f8c7 3090 str.w r3, [r7, #144] ; 0x90 Min = RTC_TimeSygnal.Minutes; 802c13e: 4bc2 ldr r3, [pc, #776] ; (802c448 ) 802c140: 785b ldrb r3, [r3, #1] 802c142: f8c7 308c str.w r3, [r7, #140] ; 0x8c Sec = RTC_TimeSygnal.Seconds; 802c146: 4bc0 ldr r3, [pc, #768] ; (802c448 ) 802c148: 789b ldrb r3, [r3, #2] 802c14a: f8c7 3088 str.w r3, [r7, #136] ; 0x88 /*Rec_2018_07_30__13_42_06.gtr*/ l = 0; 802c14e: 2300 movs r3, #0 802c150: f8c7 3084 str.w r3, [r7, #132] ; 0x84 memset(fn, 0, sizeof(fn)); 802c154: f107 0344 add.w r3, r7, #68 ; 0x44 802c158: 223c movs r2, #60 ; 0x3c 802c15a: 2100 movs r1, #0 802c15c: 4618 mov r0, r3 802c15e: f0a5 ff21 bl 80d1fa4 //itoa(RoutePointID, fn, 10); //strcat(fn, " "); //l = strlen(fn); fn[l++] = (char) ((Year / 1000) + 48); 802c162: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c166: 1c5a adds r2, r3, #1 802c168: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802c16c: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 802c170: 49b8 ldr r1, [pc, #736] ; (802c454 ) 802c172: fba1 1202 umull r1, r2, r1, r2 802c176: 0992 lsrs r2, r2, #6 802c178: b2d2 uxtb r2, r2 802c17a: 3230 adds r2, #48 ; 0x30 802c17c: b2d2 uxtb r2, r2 802c17e: f107 01a8 add.w r1, r7, #168 ; 0xa8 802c182: 440b add r3, r1 802c184: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) (((Year % 1000) / 100) + 48); 802c188: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 802c18c: 1c53 adds r3, r2, #1 802c18e: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802c192: f8d7 1094 ldr.w r1, [r7, #148] ; 0x94 802c196: 4baf ldr r3, [pc, #700] ; (802c454 ) 802c198: fba3 0301 umull r0, r3, r3, r1 802c19c: 099b lsrs r3, r3, #6 802c19e: f44f 707a mov.w r0, #1000 ; 0x3e8 802c1a2: fb00 f303 mul.w r3, r0, r3 802c1a6: 1acb subs r3, r1, r3 802c1a8: 49ab ldr r1, [pc, #684] ; (802c458 ) 802c1aa: fba1 1303 umull r1, r3, r1, r3 802c1ae: 095b lsrs r3, r3, #5 802c1b0: b2db uxtb r3, r3 802c1b2: 3330 adds r3, #48 ; 0x30 802c1b4: b2d9 uxtb r1, r3 802c1b6: f107 03a8 add.w r3, r7, #168 ; 0xa8 802c1ba: 4413 add r3, r2 802c1bc: 460a mov r2, r1 802c1be: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((((Year % 1000) % 100) / 10) + 48); 802c1c2: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 802c1c6: 1c4b adds r3, r1, #1 802c1c8: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802c1cc: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 802c1d0: 4ba0 ldr r3, [pc, #640] ; (802c454 ) 802c1d2: fba3 0302 umull r0, r3, r3, r2 802c1d6: 099b lsrs r3, r3, #6 802c1d8: f44f 707a mov.w r0, #1000 ; 0x3e8 802c1dc: fb00 f303 mul.w r3, r0, r3 802c1e0: 1ad3 subs r3, r2, r3 802c1e2: 4a9d ldr r2, [pc, #628] ; (802c458 ) 802c1e4: fba2 0203 umull r0, r2, r2, r3 802c1e8: 0952 lsrs r2, r2, #5 802c1ea: 2064 movs r0, #100 ; 0x64 802c1ec: fb00 f202 mul.w r2, r0, r2 802c1f0: 1a9a subs r2, r3, r2 802c1f2: 4b9a ldr r3, [pc, #616] ; (802c45c ) 802c1f4: fba3 2302 umull r2, r3, r3, r2 802c1f8: 08db lsrs r3, r3, #3 802c1fa: b2db uxtb r3, r3 802c1fc: 3330 adds r3, #48 ; 0x30 802c1fe: b2da uxtb r2, r3 802c200: f107 03a8 add.w r3, r7, #168 ; 0xa8 802c204: 440b add r3, r1 802c206: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((((Year % 1000) % 100) % 10) + 48); 802c20a: f8d7 0084 ldr.w r0, [r7, #132] ; 0x84 802c20e: 1c43 adds r3, r0, #1 802c210: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802c214: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 802c218: 4b8e ldr r3, [pc, #568] ; (802c454 ) 802c21a: fba3 1302 umull r1, r3, r3, r2 802c21e: 099b lsrs r3, r3, #6 802c220: f44f 717a mov.w r1, #1000 ; 0x3e8 802c224: fb01 f303 mul.w r3, r1, r3 802c228: 1ad3 subs r3, r2, r3 802c22a: 4a8b ldr r2, [pc, #556] ; (802c458 ) 802c22c: fba2 1203 umull r1, r2, r2, r3 802c230: 0952 lsrs r2, r2, #5 802c232: 2164 movs r1, #100 ; 0x64 802c234: fb01 f202 mul.w r2, r1, r2 802c238: 1a9a subs r2, r3, r2 802c23a: 4b88 ldr r3, [pc, #544] ; (802c45c ) 802c23c: fba3 1302 umull r1, r3, r3, r2 802c240: 08d9 lsrs r1, r3, #3 802c242: 460b mov r3, r1 802c244: 009b lsls r3, r3, #2 802c246: 440b add r3, r1 802c248: 005b lsls r3, r3, #1 802c24a: 1ad1 subs r1, r2, r3 802c24c: b2cb uxtb r3, r1 802c24e: 3330 adds r3, #48 ; 0x30 802c250: b2da uxtb r2, r3 802c252: f107 03a8 add.w r3, r7, #168 ; 0xa8 802c256: 4403 add r3, r0 802c258: f803 2c64 strb.w r2, [r3, #-100] //fn[l++] = '_'; fn[l++] = (char) ((Month / 10) + 48); 802c25c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c260: 1c5a adds r2, r3, #1 802c262: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802c266: f8d7 2098 ldr.w r2, [r7, #152] ; 0x98 802c26a: 497c ldr r1, [pc, #496] ; (802c45c ) 802c26c: fba1 1202 umull r1, r2, r1, r2 802c270: 08d2 lsrs r2, r2, #3 802c272: b2d2 uxtb r2, r2 802c274: 3230 adds r2, #48 ; 0x30 802c276: b2d2 uxtb r2, r2 802c278: f107 01a8 add.w r1, r7, #168 ; 0xa8 802c27c: 440b add r3, r1 802c27e: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((Month % 10) + 48); 802c282: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 802c286: 1c4b adds r3, r1, #1 802c288: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802c28c: f8d7 0098 ldr.w r0, [r7, #152] ; 0x98 802c290: 4b72 ldr r3, [pc, #456] ; (802c45c ) 802c292: fba3 2300 umull r2, r3, r3, r0 802c296: 08da lsrs r2, r3, #3 802c298: 4613 mov r3, r2 802c29a: 009b lsls r3, r3, #2 802c29c: 4413 add r3, r2 802c29e: 005b lsls r3, r3, #1 802c2a0: 1ac2 subs r2, r0, r3 802c2a2: b2d3 uxtb r3, r2 802c2a4: 3330 adds r3, #48 ; 0x30 802c2a6: b2da uxtb r2, r3 802c2a8: f107 03a8 add.w r3, r7, #168 ; 0xa8 802c2ac: 440b add r3, r1 802c2ae: f803 2c64 strb.w r2, [r3, #-100] //fn[l++] = '_'; fn[l++] = (char) ((Day / 10) + 48); 802c2b2: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c2b6: 1c5a adds r2, r3, #1 802c2b8: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802c2bc: f8d7 209c ldr.w r2, [r7, #156] ; 0x9c 802c2c0: 4966 ldr r1, [pc, #408] ; (802c45c ) 802c2c2: fba1 1202 umull r1, r2, r1, r2 802c2c6: 08d2 lsrs r2, r2, #3 802c2c8: b2d2 uxtb r2, r2 802c2ca: 3230 adds r2, #48 ; 0x30 802c2cc: b2d2 uxtb r2, r2 802c2ce: f107 01a8 add.w r1, r7, #168 ; 0xa8 802c2d2: 440b add r3, r1 802c2d4: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((Day % 10) + 48); 802c2d8: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 802c2dc: 1c4b adds r3, r1, #1 802c2de: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802c2e2: f8d7 009c ldr.w r0, [r7, #156] ; 0x9c 802c2e6: 4b5d ldr r3, [pc, #372] ; (802c45c ) 802c2e8: fba3 2300 umull r2, r3, r3, r0 802c2ec: 08da lsrs r2, r3, #3 802c2ee: 4613 mov r3, r2 802c2f0: 009b lsls r3, r3, #2 802c2f2: 4413 add r3, r2 802c2f4: 005b lsls r3, r3, #1 802c2f6: 1ac2 subs r2, r0, r3 802c2f8: b2d3 uxtb r3, r2 802c2fa: 3330 adds r3, #48 ; 0x30 802c2fc: b2da uxtb r2, r3 802c2fe: f107 03a8 add.w r3, r7, #168 ; 0xa8 802c302: 440b add r3, r1 802c304: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = '_'; 802c308: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c30c: 1c5a adds r2, r3, #1 802c30e: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802c312: f107 02a8 add.w r2, r7, #168 ; 0xa8 802c316: 4413 add r3, r2 802c318: 225f movs r2, #95 ; 0x5f 802c31a: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((Hour / 10) + 48); 802c31e: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c322: 1c5a adds r2, r3, #1 802c324: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802c328: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 802c32c: 494b ldr r1, [pc, #300] ; (802c45c ) 802c32e: fba1 1202 umull r1, r2, r1, r2 802c332: 08d2 lsrs r2, r2, #3 802c334: b2d2 uxtb r2, r2 802c336: 3230 adds r2, #48 ; 0x30 802c338: b2d2 uxtb r2, r2 802c33a: f107 01a8 add.w r1, r7, #168 ; 0xa8 802c33e: 440b add r3, r1 802c340: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((Hour % 10) + 48); 802c344: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 802c348: 1c4b adds r3, r1, #1 802c34a: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802c34e: f8d7 0090 ldr.w r0, [r7, #144] ; 0x90 802c352: 4b42 ldr r3, [pc, #264] ; (802c45c ) 802c354: fba3 2300 umull r2, r3, r3, r0 802c358: 08da lsrs r2, r3, #3 802c35a: 4613 mov r3, r2 802c35c: 009b lsls r3, r3, #2 802c35e: 4413 add r3, r2 802c360: 005b lsls r3, r3, #1 802c362: 1ac2 subs r2, r0, r3 802c364: b2d3 uxtb r3, r2 802c366: 3330 adds r3, #48 ; 0x30 802c368: b2da uxtb r2, r3 802c36a: f107 03a8 add.w r3, r7, #168 ; 0xa8 802c36e: 440b add r3, r1 802c370: f803 2c64 strb.w r2, [r3, #-100] //fn[l++] = '_'; fn[l++] = (char) ((Min / 10) + 48); 802c374: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c378: 1c5a adds r2, r3, #1 802c37a: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802c37e: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 802c382: 4936 ldr r1, [pc, #216] ; (802c45c ) 802c384: fba1 1202 umull r1, r2, r1, r2 802c388: 08d2 lsrs r2, r2, #3 802c38a: b2d2 uxtb r2, r2 802c38c: 3230 adds r2, #48 ; 0x30 802c38e: b2d2 uxtb r2, r2 802c390: f107 01a8 add.w r1, r7, #168 ; 0xa8 802c394: 440b add r3, r1 802c396: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((Min % 10) + 48); 802c39a: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 802c39e: 1c4b adds r3, r1, #1 802c3a0: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802c3a4: f8d7 008c ldr.w r0, [r7, #140] ; 0x8c 802c3a8: 4b2c ldr r3, [pc, #176] ; (802c45c ) 802c3aa: fba3 2300 umull r2, r3, r3, r0 802c3ae: 08da lsrs r2, r3, #3 802c3b0: 4613 mov r3, r2 802c3b2: 009b lsls r3, r3, #2 802c3b4: 4413 add r3, r2 802c3b6: 005b lsls r3, r3, #1 802c3b8: 1ac2 subs r2, r0, r3 802c3ba: b2d3 uxtb r3, r2 802c3bc: 3330 adds r3, #48 ; 0x30 802c3be: b2da uxtb r2, r3 802c3c0: f107 03a8 add.w r3, r7, #168 ; 0xa8 802c3c4: 440b add r3, r1 802c3c6: f803 2c64 strb.w r2, [r3, #-100] //fn[l++] = '_'; fn[l++] = (char) ((Sec / 10) + 48); 802c3ca: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c3ce: 1c5a adds r2, r3, #1 802c3d0: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802c3d4: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 802c3d8: 4920 ldr r1, [pc, #128] ; (802c45c ) 802c3da: fba1 1202 umull r1, r2, r1, r2 802c3de: 08d2 lsrs r2, r2, #3 802c3e0: b2d2 uxtb r2, r2 802c3e2: 3230 adds r2, #48 ; 0x30 802c3e4: b2d2 uxtb r2, r2 802c3e6: f107 01a8 add.w r1, r7, #168 ; 0xa8 802c3ea: 440b add r3, r1 802c3ec: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((Sec % 10) + 48); 802c3f0: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 802c3f4: 1c4b adds r3, r1, #1 802c3f6: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802c3fa: f8d7 0088 ldr.w r0, [r7, #136] ; 0x88 802c3fe: 4b17 ldr r3, [pc, #92] ; (802c45c ) 802c400: fba3 2300 umull r2, r3, r3, r0 802c404: 08da lsrs r2, r3, #3 802c406: 4613 mov r3, r2 802c408: 009b lsls r3, r3, #2 802c40a: 4413 add r3, r2 802c40c: 005b lsls r3, r3, #1 802c40e: 1ac2 subs r2, r0, r3 802c410: b2d3 uxtb r3, r2 802c412: 3330 adds r3, #48 ; 0x30 802c414: b2da uxtb r2, r3 802c416: f107 03a8 add.w r3, r7, #168 ; 0xa8 802c41a: 440b add r3, r1 802c41c: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = '.'; 802c420: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c424: 1c5a adds r2, r3, #1 802c426: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802c42a: f107 02a8 add.w r2, r7, #168 ; 0xa8 802c42e: 4413 add r3, r2 802c430: 222e movs r2, #46 ; 0x2e 802c432: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = 'w'; 802c436: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c43a: 1c5a adds r2, r3, #1 802c43c: e010 b.n 802c460 802c43e: bf00 nop 802c440: 20022a0c .word 0x20022a0c 802c444: 20022970 .word 0x20022970 802c448: 20022e38 .word 0x20022e38 802c44c: 200685f8 .word 0x200685f8 802c450: 20022920 .word 0x20022920 802c454: 10624dd3 .word 0x10624dd3 802c458: 51eb851f .word 0x51eb851f 802c45c: cccccccd .word 0xcccccccd 802c460: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802c464: f107 02a8 add.w r2, r7, #168 ; 0xa8 802c468: 4413 add r3, r2 802c46a: 2277 movs r2, #119 ; 0x77 802c46c: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = 'a'; 802c470: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c474: 1c5a adds r2, r3, #1 802c476: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802c47a: f107 02a8 add.w r2, r7, #168 ; 0xa8 802c47e: 4413 add r3, r2 802c480: 2261 movs r2, #97 ; 0x61 802c482: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = 'v'; 802c486: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c48a: 1c5a adds r2, r3, #1 802c48c: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802c490: f107 02a8 add.w r2, r7, #168 ; 0xa8 802c494: 4413 add r3, r2 802c496: 2276 movs r2, #118 ; 0x76 802c498: f803 2c64 strb.w r2, [r3, #-100] strcpy(RecordingName, fn); 802c49c: f107 0344 add.w r3, r7, #68 ; 0x44 802c4a0: 4619 mov r1, r3 802c4a2: 48d1 ldr r0, [pc, #836] ; (802c7e8 ) 802c4a4: f0a5 fe9b bl 80d21de strcat(PointPath, "/"); 802c4a8: 48d0 ldr r0, [pc, #832] ; (802c7ec ) 802c4aa: f7f3 ff33 bl 8020314 802c4ae: 4603 mov r3, r0 802c4b0: 461a mov r2, r3 802c4b2: 4bce ldr r3, [pc, #824] ; (802c7ec ) 802c4b4: 4413 add r3, r2 802c4b6: 49ce ldr r1, [pc, #824] ; (802c7f0 ) 802c4b8: 461a mov r2, r3 802c4ba: 460b mov r3, r1 802c4bc: 881b ldrh r3, [r3, #0] 802c4be: 8013 strh r3, [r2, #0] strcat(PointPath, fn); 802c4c0: f107 0344 add.w r3, r7, #68 ; 0x44 802c4c4: 4619 mov r1, r3 802c4c6: 48c9 ldr r0, [pc, #804] ; (802c7ec ) 802c4c8: f0a5 fe6c bl 80d21a4 p = strlen(PointPath) - 4; 802c4cc: 48c7 ldr r0, [pc, #796] ; (802c7ec ) 802c4ce: f7f3 ff21 bl 8020314 802c4d2: 4603 mov r3, r0 802c4d4: 3b04 subs r3, #4 802c4d6: f8c7 3080 str.w r3, [r7, #128] ; 0x80 res = f_open(&F, PointPath, FA_READ); 802c4da: 2201 movs r2, #1 802c4dc: 49c3 ldr r1, [pc, #780] ; (802c7ec ) 802c4de: 48c5 ldr r0, [pc, #788] ; (802c7f4 ) 802c4e0: f09e fc9e bl 80cae20 802c4e4: 4603 mov r3, r0 802c4e6: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 802c4ea: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802c4ee: 2b04 cmp r3, #4 802c4f0: d003 beq.n 802c4fa 802c4f2: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802c4f6: 2b05 cmp r3, #5 802c4f8: d127 bne.n 802c54a { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 802c4fa: 221b movs r2, #27 802c4fc: 49bb ldr r1, [pc, #748] ; (802c7ec ) 802c4fe: 48bd ldr r0, [pc, #756] ; (802c7f4 ) 802c500: f09e fc8e bl 80cae20 802c504: 4603 mov r3, r0 802c506: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 if(res == FR_OK) 802c50a: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802c50e: 2b00 cmp r3, #0 802c510: d118 bne.n 802c544 { f_sync(&F); 802c512: 48b8 ldr r0, [pc, #736] ; (802c7f4 ) 802c514: f09f f9c4 bl 80cb8a0 res = WriteHeaderWAV(&F); 802c518: 48b6 ldr r0, [pc, #728] ; (802c7f4 ) 802c51a: f002 fb3f bl 802eb9c 802c51e: 4603 mov r3, r0 802c520: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 if(res != FR_OK) 802c524: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802c528: 2b00 cmp r3, #0 802c52a: d008 beq.n 802c53e { f_close(&F); 802c52c: 48b1 ldr r0, [pc, #708] ; (802c7f4 ) 802c52e: f09f fabb bl 80cbaa8 f_unlink(PointPath); 802c532: 48ae ldr r0, [pc, #696] ; (802c7ec ) 802c534: f09f ff47 bl 80cc3c6 return FR_DISK_ERR; 802c538: 2301 movs r3, #1 802c53a: f000 bdbb b.w 802d0b4 } else { return FR_OK; 802c53e: 2300 movs r3, #0 802c540: f000 bdb8 b.w 802d0b4 } } else { return FR_DISK_ERR; 802c544: 2301 movs r3, #1 802c546: f000 bdb5 b.w 802d0b4 } } else { if(res == FR_OK) 802c54a: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802c54e: 2b00 cmp r3, #0 802c550: f040 8156 bne.w 802c800 { i = 1; 802c554: 2301 movs r3, #1 802c556: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 for(;;) { if(i < 10) 802c55a: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 802c55e: 2b09 cmp r3, #9 802c560: d83d bhi.n 802c5de { PointPath[p - 4] = '('; 802c562: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c566: 3b04 subs r3, #4 802c568: 4aa0 ldr r2, [pc, #640] ; (802c7ec ) 802c56a: 2128 movs r1, #40 ; 0x28 802c56c: 54d1 strb r1, [r2, r3] PointPath[p - 3] = (char) ((i % 10) + 48); 802c56e: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c572: 1ed8 subs r0, r3, #3 802c574: f8d7 10a4 ldr.w r1, [r7, #164] ; 0xa4 802c578: 4b9f ldr r3, [pc, #636] ; (802c7f8 ) 802c57a: fba3 2301 umull r2, r3, r3, r1 802c57e: 08da lsrs r2, r3, #3 802c580: 4613 mov r3, r2 802c582: 009b lsls r3, r3, #2 802c584: 4413 add r3, r2 802c586: 005b lsls r3, r3, #1 802c588: 1aca subs r2, r1, r3 802c58a: b2d3 uxtb r3, r2 802c58c: 3330 adds r3, #48 ; 0x30 802c58e: b2da uxtb r2, r3 802c590: 4b96 ldr r3, [pc, #600] ; (802c7ec ) 802c592: 541a strb r2, [r3, r0] PointPath[p - 2] = ')'; 802c594: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c598: 3b02 subs r3, #2 802c59a: 4a94 ldr r2, [pc, #592] ; (802c7ec ) 802c59c: 2129 movs r1, #41 ; 0x29 802c59e: 54d1 strb r1, [r2, r3] PointPath[p - 1] = '.'; 802c5a0: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c5a4: 3b01 subs r3, #1 802c5a6: 4a91 ldr r2, [pc, #580] ; (802c7ec ) 802c5a8: 212e movs r1, #46 ; 0x2e 802c5aa: 54d1 strb r1, [r2, r3] PointPath[p] = 'w'; 802c5ac: 4a8f ldr r2, [pc, #572] ; (802c7ec ) 802c5ae: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c5b2: 4413 add r3, r2 802c5b4: 2277 movs r2, #119 ; 0x77 802c5b6: 701a strb r2, [r3, #0] PointPath[p + 1] = 'a'; 802c5b8: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c5bc: 3301 adds r3, #1 802c5be: 4a8b ldr r2, [pc, #556] ; (802c7ec ) 802c5c0: 2161 movs r1, #97 ; 0x61 802c5c2: 54d1 strb r1, [r2, r3] PointPath[p + 2] = 'v'; 802c5c4: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c5c8: 3302 adds r3, #2 802c5ca: 4a88 ldr r2, [pc, #544] ; (802c7ec ) 802c5cc: 2176 movs r1, #118 ; 0x76 802c5ce: 54d1 strb r1, [r2, r3] PointPath[p + 3] = 0; 802c5d0: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c5d4: 3303 adds r3, #3 802c5d6: 4a85 ldr r2, [pc, #532] ; (802c7ec ) 802c5d8: 2100 movs r1, #0 802c5da: 54d1 strb r1, [r2, r3] 802c5dc: e0c1 b.n 802c762 } else if(i < 100) 802c5de: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 802c5e2: 2b63 cmp r3, #99 ; 0x63 802c5e4: d84b bhi.n 802c67e { PointPath[p - 4] = '('; 802c5e6: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c5ea: 3b04 subs r3, #4 802c5ec: 4a7f ldr r2, [pc, #508] ; (802c7ec ) 802c5ee: 2128 movs r1, #40 ; 0x28 802c5f0: 54d1 strb r1, [r2, r3] PointPath[p - 3] = (char) ((i / 10) + 48); 802c5f2: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c5f6: 3b03 subs r3, #3 802c5f8: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 802c5fc: 497e ldr r1, [pc, #504] ; (802c7f8 ) 802c5fe: fba1 1202 umull r1, r2, r1, r2 802c602: 08d2 lsrs r2, r2, #3 802c604: b2d2 uxtb r2, r2 802c606: 3230 adds r2, #48 ; 0x30 802c608: b2d1 uxtb r1, r2 802c60a: 4a78 ldr r2, [pc, #480] ; (802c7ec ) 802c60c: 54d1 strb r1, [r2, r3] PointPath[p - 2] = (char) ((i % 10) + 48); 802c60e: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c612: 1e98 subs r0, r3, #2 802c614: f8d7 10a4 ldr.w r1, [r7, #164] ; 0xa4 802c618: 4b77 ldr r3, [pc, #476] ; (802c7f8 ) 802c61a: fba3 2301 umull r2, r3, r3, r1 802c61e: 08da lsrs r2, r3, #3 802c620: 4613 mov r3, r2 802c622: 009b lsls r3, r3, #2 802c624: 4413 add r3, r2 802c626: 005b lsls r3, r3, #1 802c628: 1aca subs r2, r1, r3 802c62a: b2d3 uxtb r3, r2 802c62c: 3330 adds r3, #48 ; 0x30 802c62e: b2da uxtb r2, r3 802c630: 4b6e ldr r3, [pc, #440] ; (802c7ec ) 802c632: 541a strb r2, [r3, r0] PointPath[p - 1] = ')'; 802c634: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c638: 3b01 subs r3, #1 802c63a: 4a6c ldr r2, [pc, #432] ; (802c7ec ) 802c63c: 2129 movs r1, #41 ; 0x29 802c63e: 54d1 strb r1, [r2, r3] PointPath[p] = '.'; 802c640: 4a6a ldr r2, [pc, #424] ; (802c7ec ) 802c642: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c646: 4413 add r3, r2 802c648: 222e movs r2, #46 ; 0x2e 802c64a: 701a strb r2, [r3, #0] PointPath[p + 1] = 'w'; 802c64c: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c650: 3301 adds r3, #1 802c652: 4a66 ldr r2, [pc, #408] ; (802c7ec ) 802c654: 2177 movs r1, #119 ; 0x77 802c656: 54d1 strb r1, [r2, r3] PointPath[p + 2] = 'a'; 802c658: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c65c: 3302 adds r3, #2 802c65e: 4a63 ldr r2, [pc, #396] ; (802c7ec ) 802c660: 2161 movs r1, #97 ; 0x61 802c662: 54d1 strb r1, [r2, r3] PointPath[p + 3] = 'v'; 802c664: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c668: 3303 adds r3, #3 802c66a: 4a60 ldr r2, [pc, #384] ; (802c7ec ) 802c66c: 2176 movs r1, #118 ; 0x76 802c66e: 54d1 strb r1, [r2, r3] PointPath[p + 4] = 0; 802c670: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c674: 3304 adds r3, #4 802c676: 4a5d ldr r2, [pc, #372] ; (802c7ec ) 802c678: 2100 movs r1, #0 802c67a: 54d1 strb r1, [r2, r3] 802c67c: e071 b.n 802c762 } else if(i < 1000) 802c67e: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 802c682: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 802c686: d269 bcs.n 802c75c { PointPath[p - 4] = '('; 802c688: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c68c: 3b04 subs r3, #4 802c68e: 4a57 ldr r2, [pc, #348] ; (802c7ec ) 802c690: 2128 movs r1, #40 ; 0x28 802c692: 54d1 strb r1, [r2, r3] PointPath[p - 3] = (char) ((i / 100) + 48); 802c694: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c698: 3b03 subs r3, #3 802c69a: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 802c69e: 4957 ldr r1, [pc, #348] ; (802c7fc ) 802c6a0: fba1 1202 umull r1, r2, r1, r2 802c6a4: 0952 lsrs r2, r2, #5 802c6a6: b2d2 uxtb r2, r2 802c6a8: 3230 adds r2, #48 ; 0x30 802c6aa: b2d1 uxtb r1, r2 802c6ac: 4a4f ldr r2, [pc, #316] ; (802c7ec ) 802c6ae: 54d1 strb r1, [r2, r3] PointPath[p - 2] = (char) (((i % 100) / 10) + 48); 802c6b0: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c6b4: 1e99 subs r1, r3, #2 802c6b6: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 802c6ba: 4b50 ldr r3, [pc, #320] ; (802c7fc ) 802c6bc: fba3 0302 umull r0, r3, r3, r2 802c6c0: 095b lsrs r3, r3, #5 802c6c2: 2064 movs r0, #100 ; 0x64 802c6c4: fb00 f303 mul.w r3, r0, r3 802c6c8: 1ad3 subs r3, r2, r3 802c6ca: 4a4b ldr r2, [pc, #300] ; (802c7f8 ) 802c6cc: fba2 2303 umull r2, r3, r2, r3 802c6d0: 08db lsrs r3, r3, #3 802c6d2: b2db uxtb r3, r3 802c6d4: 3330 adds r3, #48 ; 0x30 802c6d6: b2da uxtb r2, r3 802c6d8: 4b44 ldr r3, [pc, #272] ; (802c7ec ) 802c6da: 545a strb r2, [r3, r1] PointPath[p - 1] = (char) (((i % 100) % 10) + 48); 802c6dc: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c6e0: 1e58 subs r0, r3, #1 802c6e2: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 802c6e6: 4a45 ldr r2, [pc, #276] ; (802c7fc ) 802c6e8: fba2 1203 umull r1, r2, r2, r3 802c6ec: 0952 lsrs r2, r2, #5 802c6ee: 2164 movs r1, #100 ; 0x64 802c6f0: fb01 f202 mul.w r2, r1, r2 802c6f4: 1a9a subs r2, r3, r2 802c6f6: 4b40 ldr r3, [pc, #256] ; (802c7f8 ) 802c6f8: fba3 1302 umull r1, r3, r3, r2 802c6fc: 08d9 lsrs r1, r3, #3 802c6fe: 460b mov r3, r1 802c700: 009b lsls r3, r3, #2 802c702: 440b add r3, r1 802c704: 005b lsls r3, r3, #1 802c706: 1ad1 subs r1, r2, r3 802c708: b2cb uxtb r3, r1 802c70a: 3330 adds r3, #48 ; 0x30 802c70c: b2da uxtb r2, r3 802c70e: 4b37 ldr r3, [pc, #220] ; (802c7ec ) 802c710: 541a strb r2, [r3, r0] PointPath[p] = ')'; 802c712: 4a36 ldr r2, [pc, #216] ; (802c7ec ) 802c714: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c718: 4413 add r3, r2 802c71a: 2229 movs r2, #41 ; 0x29 802c71c: 701a strb r2, [r3, #0] PointPath[p + 1] = '.'; 802c71e: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c722: 3301 adds r3, #1 802c724: 4a31 ldr r2, [pc, #196] ; (802c7ec ) 802c726: 212e movs r1, #46 ; 0x2e 802c728: 54d1 strb r1, [r2, r3] PointPath[p + 2] = 'w'; 802c72a: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c72e: 3302 adds r3, #2 802c730: 4a2e ldr r2, [pc, #184] ; (802c7ec ) 802c732: 2177 movs r1, #119 ; 0x77 802c734: 54d1 strb r1, [r2, r3] PointPath[p + 3] = 'a'; 802c736: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c73a: 3303 adds r3, #3 802c73c: 4a2b ldr r2, [pc, #172] ; (802c7ec ) 802c73e: 2161 movs r1, #97 ; 0x61 802c740: 54d1 strb r1, [r2, r3] PointPath[p + 4] = 'v'; 802c742: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c746: 3304 adds r3, #4 802c748: 4a28 ldr r2, [pc, #160] ; (802c7ec ) 802c74a: 2176 movs r1, #118 ; 0x76 802c74c: 54d1 strb r1, [r2, r3] PointPath[p + 5] = 0; 802c74e: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802c752: 3305 adds r3, #5 802c754: 4a25 ldr r2, [pc, #148] ; (802c7ec ) 802c756: 2100 movs r1, #0 802c758: 54d1 strb r1, [r2, r3] 802c75a: e002 b.n 802c762 } else { return FR_DISK_ERR; 802c75c: 2301 movs r3, #1 802c75e: f000 bca9 b.w 802d0b4 } res = f_open(&F, PointPath, FA_READ); 802c762: 2201 movs r2, #1 802c764: 4921 ldr r1, [pc, #132] ; (802c7ec ) 802c766: 4823 ldr r0, [pc, #140] ; (802c7f4 ) 802c768: f09e fb5a bl 80cae20 802c76c: 4603 mov r3, r0 802c76e: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 802c772: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802c776: 2b04 cmp r3, #4 802c778: d003 beq.n 802c782 802c77a: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802c77e: 2b05 cmp r3, #5 802c780: d124 bne.n 802c7cc { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 802c782: 221b movs r2, #27 802c784: 4919 ldr r1, [pc, #100] ; (802c7ec ) 802c786: 481b ldr r0, [pc, #108] ; (802c7f4 ) 802c788: f09e fb4a bl 80cae20 802c78c: 4603 mov r3, r0 802c78e: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 if(res == FR_OK) 802c792: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802c796: 2b00 cmp r3, #0 802c798: d115 bne.n 802c7c6 { res = WriteHeaderWAV(&F); 802c79a: 4816 ldr r0, [pc, #88] ; (802c7f4 ) 802c79c: f002 f9fe bl 802eb9c 802c7a0: 4603 mov r3, r0 802c7a2: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 if(res != FR_OK) 802c7a6: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802c7aa: 2b00 cmp r3, #0 802c7ac: d008 beq.n 802c7c0 { f_close(&F); 802c7ae: 4811 ldr r0, [pc, #68] ; (802c7f4 ) 802c7b0: f09f f97a bl 80cbaa8 f_unlink(PointPath); 802c7b4: 480d ldr r0, [pc, #52] ; (802c7ec ) 802c7b6: f09f fe06 bl 80cc3c6 return FR_DISK_ERR; 802c7ba: 2301 movs r3, #1 802c7bc: f000 bc7a b.w 802d0b4 } else { return FR_OK; 802c7c0: 2300 movs r3, #0 802c7c2: f000 bc77 b.w 802d0b4 } } else { return FR_DISK_ERR; 802c7c6: 2301 movs r3, #1 802c7c8: f000 bc74 b.w 802d0b4 } } else if(res != FR_OK) 802c7cc: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802c7d0: 2b00 cmp r3, #0 802c7d2: d002 beq.n 802c7da { return FR_DISK_ERR; 802c7d4: 2301 movs r3, #1 802c7d6: f000 bc6d b.w 802d0b4 } i++; 802c7da: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 802c7de: 3301 adds r3, #1 802c7e0: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 if(i < 10) 802c7e4: e6b9 b.n 802c55a 802c7e6: bf00 nop 802c7e8: 20022378 .word 0x20022378 802c7ec: 20022a0c .word 0x20022a0c 802c7f0: 080d4e9c .word 0x080d4e9c 802c7f4: 20022e78 .word 0x20022e78 802c7f8: cccccccd .word 0xcccccccd 802c7fc: 51eb851f .word 0x51eb851f } } else { f_close(&F); 802c800: 4802 ldr r0, [pc, #8] ; (802c80c ) 802c802: f09f f951 bl 80cbaa8 return FR_DISK_ERR; 802c806: 2301 movs r3, #1 802c808: f000 bc54 b.w 802d0b4 802c80c: 20022e78 .word 0x20022e78 } } } else { memset(fn, 0, sizeof(fn)); 802c810: f107 0344 add.w r3, r7, #68 ; 0x44 802c814: 223c movs r2, #60 ; 0x3c 802c816: 2100 movs r1, #0 802c818: 4618 mov r0, r3 802c81a: f0a5 fbc3 bl 80d1fa4 strcpy(fn, fname); 802c81e: f107 0344 add.w r3, r7, #68 ; 0x44 802c822: 6879 ldr r1, [r7, #4] 802c824: 4618 mov r0, r3 802c826: f0a5 fcda bl 80d21de l = strlen(fn); 802c82a: f107 0344 add.w r3, r7, #68 ; 0x44 802c82e: 4618 mov r0, r3 802c830: f7f3 fd70 bl 8020314 802c834: f8c7 0084 str.w r0, [r7, #132] ; 0x84 if((fn[l - 4] == '.') && (l >= 4)) 802c838: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c83c: 3b04 subs r3, #4 802c83e: f107 02a8 add.w r2, r7, #168 ; 0xa8 802c842: 4413 add r3, r2 802c844: f813 3c64 ldrb.w r3, [r3, #-100] 802c848: 2b2e cmp r3, #46 ; 0x2e 802c84a: d127 bne.n 802c89c 802c84c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c850: 2b03 cmp r3, #3 802c852: d923 bls.n 802c89c { fn[l - 4] = 0; 802c854: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c858: 3b04 subs r3, #4 802c85a: f107 02a8 add.w r2, r7, #168 ; 0xa8 802c85e: 4413 add r3, r2 802c860: 2200 movs r2, #0 802c862: f803 2c64 strb.w r2, [r3, #-100] fn[l - 3] = 0; 802c866: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c86a: 3b03 subs r3, #3 802c86c: f107 02a8 add.w r2, r7, #168 ; 0xa8 802c870: 4413 add r3, r2 802c872: 2200 movs r2, #0 802c874: f803 2c64 strb.w r2, [r3, #-100] fn[l - 2] = 0; 802c878: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c87c: 3b02 subs r3, #2 802c87e: f107 02a8 add.w r2, r7, #168 ; 0xa8 802c882: 4413 add r3, r2 802c884: 2200 movs r2, #0 802c886: f803 2c64 strb.w r2, [r3, #-100] fn[l - 1] = 0; 802c88a: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c88e: 3b01 subs r3, #1 802c890: f107 02a8 add.w r2, r7, #168 ; 0xa8 802c894: 4413 add r3, r2 802c896: 2200 movs r2, #0 802c898: f803 2c64 strb.w r2, [r3, #-100] } if(res == FR_OK) 802c89c: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802c8a0: 2b00 cmp r3, #0 802c8a2: f040 8405 bne.w 802d0b0 { memset(PointPath, 0, sizeof(PointPath)); 802c8a6: f44f 7200 mov.w r2, #512 ; 0x200 802c8aa: 2100 movs r1, #0 802c8ac: 48dc ldr r0, [pc, #880] ; (802cc20 ) 802c8ae: f0a5 fb79 bl 80d1fa4 strcpy(PointPath, "0:Records"); 802c8b2: 4adb ldr r2, [pc, #876] ; (802cc20 ) 802c8b4: 4bdb ldr r3, [pc, #876] ; (802cc24 ) 802c8b6: cb03 ldmia r3!, {r0, r1} 802c8b8: 6010 str r0, [r2, #0] 802c8ba: 6051 str r1, [r2, #4] 802c8bc: 881b ldrh r3, [r3, #0] 802c8be: 8113 strh r3, [r2, #8] res = f_opendir(&dir, PointPath); 802c8c0: 49d7 ldr r1, [pc, #860] ; (802cc20 ) 802c8c2: 48d9 ldr r0, [pc, #868] ; (802cc28 ) 802c8c4: f09f fb99 bl 80cbffa 802c8c8: 4603 mov r3, r0 802c8ca: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 if(res != FR_OK) { 802c8ce: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802c8d2: 2b00 cmp r3, #0 802c8d4: d005 beq.n 802c8e2 res = f_mkdir(PointPath); 802c8d6: 48d2 ldr r0, [pc, #840] ; (802cc20 ) 802c8d8: f09f fe4a bl 80cc570 802c8dc: 4603 mov r3, r0 802c8de: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 } if(res == FR_OK) 802c8e2: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802c8e6: 2b00 cmp r3, #0 802c8e8: f040 83e2 bne.w 802d0b0 { strcat(PointPath, "/"); 802c8ec: 48cc ldr r0, [pc, #816] ; (802cc20 ) 802c8ee: f7f3 fd11 bl 8020314 802c8f2: 4603 mov r3, r0 802c8f4: 461a mov r2, r3 802c8f6: 4bca ldr r3, [pc, #808] ; (802cc20 ) 802c8f8: 4413 add r3, r2 802c8fa: 49cc ldr r1, [pc, #816] ; (802cc2c ) 802c8fc: 461a mov r2, r3 802c8fe: 460b mov r3, r1 802c900: 881b ldrh r3, [r3, #0] 802c902: 8013 strh r3, [r2, #0] strcat(PointPath, fn); 802c904: f107 0344 add.w r3, r7, #68 ; 0x44 802c908: 4619 mov r1, r3 802c90a: 48c5 ldr r0, [pc, #788] ; (802cc20 ) 802c90c: f0a5 fc4a bl 80d21a4 if(fn[0] != 0) 802c910: f897 3044 ldrb.w r3, [r7, #68] ; 0x44 802c914: 2b00 cmp r3, #0 802c916: d010 beq.n 802c93a { res = f_opendir(&dir, PointPath); 802c918: 49c1 ldr r1, [pc, #772] ; (802cc20 ) 802c91a: 48c3 ldr r0, [pc, #780] ; (802cc28 ) 802c91c: f09f fb6d bl 80cbffa 802c920: 4603 mov r3, r0 802c922: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 if(res != FR_OK) 802c926: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802c92a: 2b00 cmp r3, #0 802c92c: d005 beq.n 802c93a res = f_mkdir(PointPath); 802c92e: 48bc ldr r0, [pc, #752] ; (802cc20 ) 802c930: f09f fe1e bl 80cc570 802c934: 4603 mov r3, r0 802c936: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 } HAL_RTC_GetTime(&hrtc, &RTC_TimeSygnal, RTC_FORMAT_BIN); 802c93a: 2200 movs r2, #0 802c93c: 49bc ldr r1, [pc, #752] ; (802cc30 ) 802c93e: 48bd ldr r0, [pc, #756] ; (802cc34 ) 802c940: f090 fd48 bl 80bd3d4 HAL_RTC_GetDate(&hrtc, &RTC_DateSygnal, RTC_FORMAT_BIN); 802c944: 2200 movs r2, #0 802c946: 49bc ldr r1, [pc, #752] ; (802cc38 ) 802c948: 48ba ldr r0, [pc, #744] ; (802cc34 ) 802c94a: f090 fe49 bl 80bd5e0 Day = RTC_DateSygnal.Date; 802c94e: 4bba ldr r3, [pc, #744] ; (802cc38 ) 802c950: 789b ldrb r3, [r3, #2] 802c952: f8c7 309c str.w r3, [r7, #156] ; 0x9c Month = RTC_DateSygnal.Month; 802c956: 4bb8 ldr r3, [pc, #736] ; (802cc38 ) 802c958: 785b ldrb r3, [r3, #1] 802c95a: f8c7 3098 str.w r3, [r7, #152] ; 0x98 Year = RTC_DateSygnal.Year + 2000; 802c95e: 4bb6 ldr r3, [pc, #728] ; (802cc38 ) 802c960: 78db ldrb r3, [r3, #3] 802c962: f503 63fa add.w r3, r3, #2000 ; 0x7d0 802c966: f8c7 3094 str.w r3, [r7, #148] ; 0x94 Hour = RTC_TimeSygnal.Hours; 802c96a: 4bb1 ldr r3, [pc, #708] ; (802cc30 ) 802c96c: 781b ldrb r3, [r3, #0] 802c96e: f8c7 3090 str.w r3, [r7, #144] ; 0x90 Min = RTC_TimeSygnal.Minutes; 802c972: 4baf ldr r3, [pc, #700] ; (802cc30 ) 802c974: 785b ldrb r3, [r3, #1] 802c976: f8c7 308c str.w r3, [r7, #140] ; 0x8c Sec = RTC_TimeSygnal.Seconds; 802c97a: 4bad ldr r3, [pc, #692] ; (802cc30 ) 802c97c: 789b ldrb r3, [r3, #2] 802c97e: f8c7 3088 str.w r3, [r7, #136] ; 0x88 /*__2018_07_30__13_42_06.wav*/ l = 0; 802c982: 2300 movs r3, #0 802c984: f8c7 3084 str.w r3, [r7, #132] ; 0x84 memset(fn, 0, sizeof(fn)); 802c988: f107 0344 add.w r3, r7, #68 ; 0x44 802c98c: 223c movs r2, #60 ; 0x3c 802c98e: 2100 movs r1, #0 802c990: 4618 mov r0, r3 802c992: f0a5 fb07 bl 80d1fa4 fn[l++] = '_'; 802c996: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c99a: 1c5a adds r2, r3, #1 802c99c: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802c9a0: f107 02a8 add.w r2, r7, #168 ; 0xa8 802c9a4: 4413 add r3, r2 802c9a6: 225f movs r2, #95 ; 0x5f 802c9a8: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = '_'; 802c9ac: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c9b0: 1c5a adds r2, r3, #1 802c9b2: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802c9b6: f107 02a8 add.w r2, r7, #168 ; 0xa8 802c9ba: 4413 add r3, r2 802c9bc: 225f movs r2, #95 ; 0x5f 802c9be: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((Year / 1000) + 48); 802c9c2: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802c9c6: 1c5a adds r2, r3, #1 802c9c8: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802c9cc: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 802c9d0: 499a ldr r1, [pc, #616] ; (802cc3c ) 802c9d2: fba1 1202 umull r1, r2, r1, r2 802c9d6: 0992 lsrs r2, r2, #6 802c9d8: b2d2 uxtb r2, r2 802c9da: 3230 adds r2, #48 ; 0x30 802c9dc: b2d2 uxtb r2, r2 802c9de: f107 01a8 add.w r1, r7, #168 ; 0xa8 802c9e2: 440b add r3, r1 802c9e4: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) (((Year % 1000) / 100) + 48); 802c9e8: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 802c9ec: 1c53 adds r3, r2, #1 802c9ee: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802c9f2: f8d7 1094 ldr.w r1, [r7, #148] ; 0x94 802c9f6: 4b91 ldr r3, [pc, #580] ; (802cc3c ) 802c9f8: fba3 0301 umull r0, r3, r3, r1 802c9fc: 099b lsrs r3, r3, #6 802c9fe: f44f 707a mov.w r0, #1000 ; 0x3e8 802ca02: fb00 f303 mul.w r3, r0, r3 802ca06: 1acb subs r3, r1, r3 802ca08: 498d ldr r1, [pc, #564] ; (802cc40 ) 802ca0a: fba1 1303 umull r1, r3, r1, r3 802ca0e: 095b lsrs r3, r3, #5 802ca10: b2db uxtb r3, r3 802ca12: 3330 adds r3, #48 ; 0x30 802ca14: b2d9 uxtb r1, r3 802ca16: f107 03a8 add.w r3, r7, #168 ; 0xa8 802ca1a: 4413 add r3, r2 802ca1c: 460a mov r2, r1 802ca1e: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((((Year % 1000) % 100) / 10) + 48); 802ca22: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 802ca26: 1c4b adds r3, r1, #1 802ca28: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802ca2c: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 802ca30: 4b82 ldr r3, [pc, #520] ; (802cc3c ) 802ca32: fba3 0302 umull r0, r3, r3, r2 802ca36: 099b lsrs r3, r3, #6 802ca38: f44f 707a mov.w r0, #1000 ; 0x3e8 802ca3c: fb00 f303 mul.w r3, r0, r3 802ca40: 1ad3 subs r3, r2, r3 802ca42: 4a7f ldr r2, [pc, #508] ; (802cc40 ) 802ca44: fba2 0203 umull r0, r2, r2, r3 802ca48: 0952 lsrs r2, r2, #5 802ca4a: 2064 movs r0, #100 ; 0x64 802ca4c: fb00 f202 mul.w r2, r0, r2 802ca50: 1a9a subs r2, r3, r2 802ca52: 4b7c ldr r3, [pc, #496] ; (802cc44 ) 802ca54: fba3 2302 umull r2, r3, r3, r2 802ca58: 08db lsrs r3, r3, #3 802ca5a: b2db uxtb r3, r3 802ca5c: 3330 adds r3, #48 ; 0x30 802ca5e: b2da uxtb r2, r3 802ca60: f107 03a8 add.w r3, r7, #168 ; 0xa8 802ca64: 440b add r3, r1 802ca66: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((((Year % 1000) % 100) % 10) + 48); 802ca6a: f8d7 0084 ldr.w r0, [r7, #132] ; 0x84 802ca6e: 1c43 adds r3, r0, #1 802ca70: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802ca74: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 802ca78: 4b70 ldr r3, [pc, #448] ; (802cc3c ) 802ca7a: fba3 1302 umull r1, r3, r3, r2 802ca7e: 099b lsrs r3, r3, #6 802ca80: f44f 717a mov.w r1, #1000 ; 0x3e8 802ca84: fb01 f303 mul.w r3, r1, r3 802ca88: 1ad3 subs r3, r2, r3 802ca8a: 4a6d ldr r2, [pc, #436] ; (802cc40 ) 802ca8c: fba2 1203 umull r1, r2, r2, r3 802ca90: 0952 lsrs r2, r2, #5 802ca92: 2164 movs r1, #100 ; 0x64 802ca94: fb01 f202 mul.w r2, r1, r2 802ca98: 1a9a subs r2, r3, r2 802ca9a: 4b6a ldr r3, [pc, #424] ; (802cc44 ) 802ca9c: fba3 1302 umull r1, r3, r3, r2 802caa0: 08d9 lsrs r1, r3, #3 802caa2: 460b mov r3, r1 802caa4: 009b lsls r3, r3, #2 802caa6: 440b add r3, r1 802caa8: 005b lsls r3, r3, #1 802caaa: 1ad1 subs r1, r2, r3 802caac: b2cb uxtb r3, r1 802caae: 3330 adds r3, #48 ; 0x30 802cab0: b2da uxtb r2, r3 802cab2: f107 03a8 add.w r3, r7, #168 ; 0xa8 802cab6: 4403 add r3, r0 802cab8: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = '_'; 802cabc: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802cac0: 1c5a adds r2, r3, #1 802cac2: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802cac6: f107 02a8 add.w r2, r7, #168 ; 0xa8 802caca: 4413 add r3, r2 802cacc: 225f movs r2, #95 ; 0x5f 802cace: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((Month / 10) + 48); 802cad2: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802cad6: 1c5a adds r2, r3, #1 802cad8: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802cadc: f8d7 2098 ldr.w r2, [r7, #152] ; 0x98 802cae0: 4958 ldr r1, [pc, #352] ; (802cc44 ) 802cae2: fba1 1202 umull r1, r2, r1, r2 802cae6: 08d2 lsrs r2, r2, #3 802cae8: b2d2 uxtb r2, r2 802caea: 3230 adds r2, #48 ; 0x30 802caec: b2d2 uxtb r2, r2 802caee: f107 01a8 add.w r1, r7, #168 ; 0xa8 802caf2: 440b add r3, r1 802caf4: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((Month % 10) + 48); 802caf8: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 802cafc: 1c4b adds r3, r1, #1 802cafe: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802cb02: f8d7 0098 ldr.w r0, [r7, #152] ; 0x98 802cb06: 4b4f ldr r3, [pc, #316] ; (802cc44 ) 802cb08: fba3 2300 umull r2, r3, r3, r0 802cb0c: 08da lsrs r2, r3, #3 802cb0e: 4613 mov r3, r2 802cb10: 009b lsls r3, r3, #2 802cb12: 4413 add r3, r2 802cb14: 005b lsls r3, r3, #1 802cb16: 1ac2 subs r2, r0, r3 802cb18: b2d3 uxtb r3, r2 802cb1a: 3330 adds r3, #48 ; 0x30 802cb1c: b2da uxtb r2, r3 802cb1e: f107 03a8 add.w r3, r7, #168 ; 0xa8 802cb22: 440b add r3, r1 802cb24: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = '_'; 802cb28: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802cb2c: 1c5a adds r2, r3, #1 802cb2e: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802cb32: f107 02a8 add.w r2, r7, #168 ; 0xa8 802cb36: 4413 add r3, r2 802cb38: 225f movs r2, #95 ; 0x5f 802cb3a: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((Day / 10) + 48); 802cb3e: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802cb42: 1c5a adds r2, r3, #1 802cb44: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802cb48: f8d7 209c ldr.w r2, [r7, #156] ; 0x9c 802cb4c: 493d ldr r1, [pc, #244] ; (802cc44 ) 802cb4e: fba1 1202 umull r1, r2, r1, r2 802cb52: 08d2 lsrs r2, r2, #3 802cb54: b2d2 uxtb r2, r2 802cb56: 3230 adds r2, #48 ; 0x30 802cb58: b2d2 uxtb r2, r2 802cb5a: f107 01a8 add.w r1, r7, #168 ; 0xa8 802cb5e: 440b add r3, r1 802cb60: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((Day % 10) + 48); 802cb64: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 802cb68: 1c4b adds r3, r1, #1 802cb6a: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802cb6e: f8d7 009c ldr.w r0, [r7, #156] ; 0x9c 802cb72: 4b34 ldr r3, [pc, #208] ; (802cc44 ) 802cb74: fba3 2300 umull r2, r3, r3, r0 802cb78: 08da lsrs r2, r3, #3 802cb7a: 4613 mov r3, r2 802cb7c: 009b lsls r3, r3, #2 802cb7e: 4413 add r3, r2 802cb80: 005b lsls r3, r3, #1 802cb82: 1ac2 subs r2, r0, r3 802cb84: b2d3 uxtb r3, r2 802cb86: 3330 adds r3, #48 ; 0x30 802cb88: b2da uxtb r2, r3 802cb8a: f107 03a8 add.w r3, r7, #168 ; 0xa8 802cb8e: 440b add r3, r1 802cb90: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = '_'; 802cb94: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802cb98: 1c5a adds r2, r3, #1 802cb9a: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802cb9e: f107 02a8 add.w r2, r7, #168 ; 0xa8 802cba2: 4413 add r3, r2 802cba4: 225f movs r2, #95 ; 0x5f 802cba6: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = '_'; 802cbaa: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802cbae: 1c5a adds r2, r3, #1 802cbb0: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802cbb4: f107 02a8 add.w r2, r7, #168 ; 0xa8 802cbb8: 4413 add r3, r2 802cbba: 225f movs r2, #95 ; 0x5f 802cbbc: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((Hour / 10) + 48); 802cbc0: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802cbc4: 1c5a adds r2, r3, #1 802cbc6: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802cbca: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 802cbce: 491d ldr r1, [pc, #116] ; (802cc44 ) 802cbd0: fba1 1202 umull r1, r2, r1, r2 802cbd4: 08d2 lsrs r2, r2, #3 802cbd6: b2d2 uxtb r2, r2 802cbd8: 3230 adds r2, #48 ; 0x30 802cbda: b2d2 uxtb r2, r2 802cbdc: f107 01a8 add.w r1, r7, #168 ; 0xa8 802cbe0: 440b add r3, r1 802cbe2: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((Hour % 10) + 48); 802cbe6: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 802cbea: 1c4b adds r3, r1, #1 802cbec: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802cbf0: f8d7 0090 ldr.w r0, [r7, #144] ; 0x90 802cbf4: 4b13 ldr r3, [pc, #76] ; (802cc44 ) 802cbf6: fba3 2300 umull r2, r3, r3, r0 802cbfa: 08da lsrs r2, r3, #3 802cbfc: 4613 mov r3, r2 802cbfe: 009b lsls r3, r3, #2 802cc00: 4413 add r3, r2 802cc02: 005b lsls r3, r3, #1 802cc04: 1ac2 subs r2, r0, r3 802cc06: b2d3 uxtb r3, r2 802cc08: 3330 adds r3, #48 ; 0x30 802cc0a: b2da uxtb r2, r3 802cc0c: f107 03a8 add.w r3, r7, #168 ; 0xa8 802cc10: 440b add r3, r1 802cc12: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = '_'; 802cc16: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802cc1a: 1c5a adds r2, r3, #1 802cc1c: e014 b.n 802cc48 802cc1e: bf00 nop 802cc20: 20022a0c .word 0x20022a0c 802cc24: 080d4ea0 .word 0x080d4ea0 802cc28: 20022970 .word 0x20022970 802cc2c: 080d4e9c .word 0x080d4e9c 802cc30: 20022e38 .word 0x20022e38 802cc34: 200685f8 .word 0x200685f8 802cc38: 20022920 .word 0x20022920 802cc3c: 10624dd3 .word 0x10624dd3 802cc40: 51eb851f .word 0x51eb851f 802cc44: cccccccd .word 0xcccccccd 802cc48: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802cc4c: f107 02a8 add.w r2, r7, #168 ; 0xa8 802cc50: 4413 add r3, r2 802cc52: 225f movs r2, #95 ; 0x5f 802cc54: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((Min / 10) + 48); 802cc58: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802cc5c: 1c5a adds r2, r3, #1 802cc5e: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802cc62: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 802cc66: 49b4 ldr r1, [pc, #720] ; (802cf38 ) 802cc68: fba1 1202 umull r1, r2, r1, r2 802cc6c: 08d2 lsrs r2, r2, #3 802cc6e: b2d2 uxtb r2, r2 802cc70: 3230 adds r2, #48 ; 0x30 802cc72: b2d2 uxtb r2, r2 802cc74: f107 01a8 add.w r1, r7, #168 ; 0xa8 802cc78: 440b add r3, r1 802cc7a: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((Min % 10) + 48); 802cc7e: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 802cc82: 1c4b adds r3, r1, #1 802cc84: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802cc88: f8d7 008c ldr.w r0, [r7, #140] ; 0x8c 802cc8c: 4baa ldr r3, [pc, #680] ; (802cf38 ) 802cc8e: fba3 2300 umull r2, r3, r3, r0 802cc92: 08da lsrs r2, r3, #3 802cc94: 4613 mov r3, r2 802cc96: 009b lsls r3, r3, #2 802cc98: 4413 add r3, r2 802cc9a: 005b lsls r3, r3, #1 802cc9c: 1ac2 subs r2, r0, r3 802cc9e: b2d3 uxtb r3, r2 802cca0: 3330 adds r3, #48 ; 0x30 802cca2: b2da uxtb r2, r3 802cca4: f107 03a8 add.w r3, r7, #168 ; 0xa8 802cca8: 440b add r3, r1 802ccaa: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = '_'; 802ccae: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802ccb2: 1c5a adds r2, r3, #1 802ccb4: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802ccb8: f107 02a8 add.w r2, r7, #168 ; 0xa8 802ccbc: 4413 add r3, r2 802ccbe: 225f movs r2, #95 ; 0x5f 802ccc0: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((Sec / 10) + 48); 802ccc4: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802ccc8: 1c5a adds r2, r3, #1 802ccca: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802ccce: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 802ccd2: 4999 ldr r1, [pc, #612] ; (802cf38 ) 802ccd4: fba1 1202 umull r1, r2, r1, r2 802ccd8: 08d2 lsrs r2, r2, #3 802ccda: b2d2 uxtb r2, r2 802ccdc: 3230 adds r2, #48 ; 0x30 802ccde: b2d2 uxtb r2, r2 802cce0: f107 01a8 add.w r1, r7, #168 ; 0xa8 802cce4: 440b add r3, r1 802cce6: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = (char) ((Sec % 10) + 48); 802ccea: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 802ccee: 1c4b adds r3, r1, #1 802ccf0: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802ccf4: f8d7 0088 ldr.w r0, [r7, #136] ; 0x88 802ccf8: 4b8f ldr r3, [pc, #572] ; (802cf38 ) 802ccfa: fba3 2300 umull r2, r3, r3, r0 802ccfe: 08da lsrs r2, r3, #3 802cd00: 4613 mov r3, r2 802cd02: 009b lsls r3, r3, #2 802cd04: 4413 add r3, r2 802cd06: 005b lsls r3, r3, #1 802cd08: 1ac2 subs r2, r0, r3 802cd0a: b2d3 uxtb r3, r2 802cd0c: 3330 adds r3, #48 ; 0x30 802cd0e: b2da uxtb r2, r3 802cd10: f107 03a8 add.w r3, r7, #168 ; 0xa8 802cd14: 440b add r3, r1 802cd16: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = '.'; 802cd1a: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802cd1e: 1c5a adds r2, r3, #1 802cd20: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802cd24: f107 02a8 add.w r2, r7, #168 ; 0xa8 802cd28: 4413 add r3, r2 802cd2a: 222e movs r2, #46 ; 0x2e 802cd2c: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = 'w'; 802cd30: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802cd34: 1c5a adds r2, r3, #1 802cd36: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802cd3a: f107 02a8 add.w r2, r7, #168 ; 0xa8 802cd3e: 4413 add r3, r2 802cd40: 2277 movs r2, #119 ; 0x77 802cd42: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = 'a'; 802cd46: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802cd4a: 1c5a adds r2, r3, #1 802cd4c: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802cd50: f107 02a8 add.w r2, r7, #168 ; 0xa8 802cd54: 4413 add r3, r2 802cd56: 2261 movs r2, #97 ; 0x61 802cd58: f803 2c64 strb.w r2, [r3, #-100] fn[l++] = 'v'; 802cd5c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 802cd60: 1c5a adds r2, r3, #1 802cd62: f8c7 2084 str.w r2, [r7, #132] ; 0x84 802cd66: f107 02a8 add.w r2, r7, #168 ; 0xa8 802cd6a: 4413 add r3, r2 802cd6c: 2276 movs r2, #118 ; 0x76 802cd6e: f803 2c64 strb.w r2, [r3, #-100] strcpy(RecordingName, fn); 802cd72: f107 0344 add.w r3, r7, #68 ; 0x44 802cd76: 4619 mov r1, r3 802cd78: 4870 ldr r0, [pc, #448] ; (802cf3c ) 802cd7a: f0a5 fa30 bl 80d21de //strcat(PointPath, "/"); strcat(PointPath, fn); 802cd7e: f107 0344 add.w r3, r7, #68 ; 0x44 802cd82: 4619 mov r1, r3 802cd84: 486e ldr r0, [pc, #440] ; (802cf40 ) 802cd86: f0a5 fa0d bl 80d21a4 p = strlen(PointPath) - 4; 802cd8a: 486d ldr r0, [pc, #436] ; (802cf40 ) 802cd8c: f7f3 fac2 bl 8020314 802cd90: 4603 mov r3, r0 802cd92: 3b04 subs r3, #4 802cd94: f8c7 3080 str.w r3, [r7, #128] ; 0x80 res = f_open(&F, PointPath, FA_READ); 802cd98: 2201 movs r2, #1 802cd9a: 4969 ldr r1, [pc, #420] ; (802cf40 ) 802cd9c: 4869 ldr r0, [pc, #420] ; (802cf44 ) 802cd9e: f09e f83f bl 80cae20 802cda2: 4603 mov r3, r0 802cda4: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 802cda8: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802cdac: 2b04 cmp r3, #4 802cdae: d003 beq.n 802cdb8 802cdb0: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802cdb4: 2b05 cmp r3, #5 802cdb6: d124 bne.n 802ce02 { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 802cdb8: 221b movs r2, #27 802cdba: 4961 ldr r1, [pc, #388] ; (802cf40 ) 802cdbc: 4861 ldr r0, [pc, #388] ; (802cf44 ) 802cdbe: f09e f82f bl 80cae20 802cdc2: 4603 mov r3, r0 802cdc4: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 if(res == FR_OK) 802cdc8: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802cdcc: 2b00 cmp r3, #0 802cdce: d116 bne.n 802cdfe { f_sync(&F); 802cdd0: 485c ldr r0, [pc, #368] ; (802cf44 ) 802cdd2: f09e fd65 bl 80cb8a0 res = WriteHeaderWAV(&F); 802cdd6: 485b ldr r0, [pc, #364] ; (802cf44 ) 802cdd8: f001 fee0 bl 802eb9c 802cddc: 4603 mov r3, r0 802cdde: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 if(res != FR_OK) 802cde2: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802cde6: 2b00 cmp r3, #0 802cde8: d007 beq.n 802cdfa { f_close(&F); 802cdea: 4856 ldr r0, [pc, #344] ; (802cf44 ) 802cdec: f09e fe5c bl 80cbaa8 f_unlink(PointPath); 802cdf0: 4853 ldr r0, [pc, #332] ; (802cf40 ) 802cdf2: f09f fae8 bl 80cc3c6 return FR_DISK_ERR; 802cdf6: 2301 movs r3, #1 802cdf8: e15c b.n 802d0b4 } else { return FR_OK; 802cdfa: 2300 movs r3, #0 802cdfc: e15a b.n 802d0b4 } } else { return FR_DISK_ERR; 802cdfe: 2301 movs r3, #1 802ce00: e158 b.n 802d0b4 } } else { if(res == FR_OK) 802ce02: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802ce06: 2b00 cmp r3, #0 802ce08: f040 814d bne.w 802d0a6 { i = 1; 802ce0c: 2301 movs r3, #1 802ce0e: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 for(;;) { if(i < 10) 802ce12: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 802ce16: 2b09 cmp r3, #9 802ce18: d83d bhi.n 802ce96 { PointPath[p - 4] = '('; 802ce1a: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802ce1e: 3b04 subs r3, #4 802ce20: 4a47 ldr r2, [pc, #284] ; (802cf40 ) 802ce22: 2128 movs r1, #40 ; 0x28 802ce24: 54d1 strb r1, [r2, r3] PointPath[p - 3] = (char) ((i % 10) + 48); 802ce26: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802ce2a: 1ed8 subs r0, r3, #3 802ce2c: f8d7 10a4 ldr.w r1, [r7, #164] ; 0xa4 802ce30: 4b41 ldr r3, [pc, #260] ; (802cf38 ) 802ce32: fba3 2301 umull r2, r3, r3, r1 802ce36: 08da lsrs r2, r3, #3 802ce38: 4613 mov r3, r2 802ce3a: 009b lsls r3, r3, #2 802ce3c: 4413 add r3, r2 802ce3e: 005b lsls r3, r3, #1 802ce40: 1aca subs r2, r1, r3 802ce42: b2d3 uxtb r3, r2 802ce44: 3330 adds r3, #48 ; 0x30 802ce46: b2da uxtb r2, r3 802ce48: 4b3d ldr r3, [pc, #244] ; (802cf40 ) 802ce4a: 541a strb r2, [r3, r0] PointPath[p - 2] = ')'; 802ce4c: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802ce50: 3b02 subs r3, #2 802ce52: 4a3b ldr r2, [pc, #236] ; (802cf40 ) 802ce54: 2129 movs r1, #41 ; 0x29 802ce56: 54d1 strb r1, [r2, r3] PointPath[p - 1] = '.'; 802ce58: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802ce5c: 3b01 subs r3, #1 802ce5e: 4a38 ldr r2, [pc, #224] ; (802cf40 ) 802ce60: 212e movs r1, #46 ; 0x2e 802ce62: 54d1 strb r1, [r2, r3] PointPath[p] = 'w'; 802ce64: 4a36 ldr r2, [pc, #216] ; (802cf40 ) 802ce66: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802ce6a: 4413 add r3, r2 802ce6c: 2277 movs r2, #119 ; 0x77 802ce6e: 701a strb r2, [r3, #0] PointPath[p + 1] = 'a'; 802ce70: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802ce74: 3301 adds r3, #1 802ce76: 4a32 ldr r2, [pc, #200] ; (802cf40 ) 802ce78: 2161 movs r1, #97 ; 0x61 802ce7a: 54d1 strb r1, [r2, r3] PointPath[p + 2] = 'v'; 802ce7c: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802ce80: 3302 adds r3, #2 802ce82: 4a2f ldr r2, [pc, #188] ; (802cf40 ) 802ce84: 2176 movs r1, #118 ; 0x76 802ce86: 54d1 strb r1, [r2, r3] PointPath[p + 3] = 0; 802ce88: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802ce8c: 3303 adds r3, #3 802ce8e: 4a2c ldr r2, [pc, #176] ; (802cf40 ) 802ce90: 2100 movs r1, #0 802ce92: 54d1 strb r1, [r2, r3] 802ce94: e0c9 b.n 802d02a } else if(i < 100) 802ce96: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 802ce9a: 2b63 cmp r3, #99 ; 0x63 802ce9c: d854 bhi.n 802cf48 { PointPath[p - 4] = '('; 802ce9e: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802cea2: 3b04 subs r3, #4 802cea4: 4a26 ldr r2, [pc, #152] ; (802cf40 ) 802cea6: 2128 movs r1, #40 ; 0x28 802cea8: 54d1 strb r1, [r2, r3] PointPath[p - 3] = (char) ((i / 10) + 48); 802ceaa: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802ceae: 3b03 subs r3, #3 802ceb0: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 802ceb4: 4920 ldr r1, [pc, #128] ; (802cf38 ) 802ceb6: fba1 1202 umull r1, r2, r1, r2 802ceba: 08d2 lsrs r2, r2, #3 802cebc: b2d2 uxtb r2, r2 802cebe: 3230 adds r2, #48 ; 0x30 802cec0: b2d1 uxtb r1, r2 802cec2: 4a1f ldr r2, [pc, #124] ; (802cf40 ) 802cec4: 54d1 strb r1, [r2, r3] PointPath[p - 2] = (char) ((i % 10) + 48); 802cec6: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802ceca: 1e98 subs r0, r3, #2 802cecc: f8d7 10a4 ldr.w r1, [r7, #164] ; 0xa4 802ced0: 4b19 ldr r3, [pc, #100] ; (802cf38 ) 802ced2: fba3 2301 umull r2, r3, r3, r1 802ced6: 08da lsrs r2, r3, #3 802ced8: 4613 mov r3, r2 802ceda: 009b lsls r3, r3, #2 802cedc: 4413 add r3, r2 802cede: 005b lsls r3, r3, #1 802cee0: 1aca subs r2, r1, r3 802cee2: b2d3 uxtb r3, r2 802cee4: 3330 adds r3, #48 ; 0x30 802cee6: b2da uxtb r2, r3 802cee8: 4b15 ldr r3, [pc, #84] ; (802cf40 ) 802ceea: 541a strb r2, [r3, r0] PointPath[p - 1] = ')'; 802ceec: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802cef0: 3b01 subs r3, #1 802cef2: 4a13 ldr r2, [pc, #76] ; (802cf40 ) 802cef4: 2129 movs r1, #41 ; 0x29 802cef6: 54d1 strb r1, [r2, r3] PointPath[p] = '.'; 802cef8: 4a11 ldr r2, [pc, #68] ; (802cf40 ) 802cefa: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802cefe: 4413 add r3, r2 802cf00: 222e movs r2, #46 ; 0x2e 802cf02: 701a strb r2, [r3, #0] PointPath[p + 1] = 'w'; 802cf04: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802cf08: 3301 adds r3, #1 802cf0a: 4a0d ldr r2, [pc, #52] ; (802cf40 ) 802cf0c: 2177 movs r1, #119 ; 0x77 802cf0e: 54d1 strb r1, [r2, r3] PointPath[p + 2] = 'a'; 802cf10: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802cf14: 3302 adds r3, #2 802cf16: 4a0a ldr r2, [pc, #40] ; (802cf40 ) 802cf18: 2161 movs r1, #97 ; 0x61 802cf1a: 54d1 strb r1, [r2, r3] PointPath[p + 3] = 'v'; 802cf1c: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802cf20: 3303 adds r3, #3 802cf22: 4a07 ldr r2, [pc, #28] ; (802cf40 ) 802cf24: 2176 movs r1, #118 ; 0x76 802cf26: 54d1 strb r1, [r2, r3] PointPath[p + 4] = 0; 802cf28: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802cf2c: 3304 adds r3, #4 802cf2e: 4a04 ldr r2, [pc, #16] ; (802cf40 ) 802cf30: 2100 movs r1, #0 802cf32: 54d1 strb r1, [r2, r3] 802cf34: e079 b.n 802d02a 802cf36: bf00 nop 802cf38: cccccccd .word 0xcccccccd 802cf3c: 20022378 .word 0x20022378 802cf40: 20022a0c .word 0x20022a0c 802cf44: 20022e78 .word 0x20022e78 } else if(i < 1000) 802cf48: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 802cf4c: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 802cf50: d269 bcs.n 802d026 { PointPath[p - 4] = '('; 802cf52: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802cf56: 3b04 subs r3, #4 802cf58: 4a58 ldr r2, [pc, #352] ; (802d0bc ) 802cf5a: 2128 movs r1, #40 ; 0x28 802cf5c: 54d1 strb r1, [r2, r3] PointPath[p - 3] = (char) ((i / 100) + 48); 802cf5e: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802cf62: 3b03 subs r3, #3 802cf64: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 802cf68: 4955 ldr r1, [pc, #340] ; (802d0c0 ) 802cf6a: fba1 1202 umull r1, r2, r1, r2 802cf6e: 0952 lsrs r2, r2, #5 802cf70: b2d2 uxtb r2, r2 802cf72: 3230 adds r2, #48 ; 0x30 802cf74: b2d1 uxtb r1, r2 802cf76: 4a51 ldr r2, [pc, #324] ; (802d0bc ) 802cf78: 54d1 strb r1, [r2, r3] PointPath[p - 2] = (char) (((i % 100) / 10) + 48); 802cf7a: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802cf7e: 1e99 subs r1, r3, #2 802cf80: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 802cf84: 4b4e ldr r3, [pc, #312] ; (802d0c0 ) 802cf86: fba3 0302 umull r0, r3, r3, r2 802cf8a: 095b lsrs r3, r3, #5 802cf8c: 2064 movs r0, #100 ; 0x64 802cf8e: fb00 f303 mul.w r3, r0, r3 802cf92: 1ad3 subs r3, r2, r3 802cf94: 4a4b ldr r2, [pc, #300] ; (802d0c4 ) 802cf96: fba2 2303 umull r2, r3, r2, r3 802cf9a: 08db lsrs r3, r3, #3 802cf9c: b2db uxtb r3, r3 802cf9e: 3330 adds r3, #48 ; 0x30 802cfa0: b2da uxtb r2, r3 802cfa2: 4b46 ldr r3, [pc, #280] ; (802d0bc ) 802cfa4: 545a strb r2, [r3, r1] PointPath[p - 1] = (char) (((i % 100) % 10) + 48); 802cfa6: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802cfaa: 1e58 subs r0, r3, #1 802cfac: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 802cfb0: 4a43 ldr r2, [pc, #268] ; (802d0c0 ) 802cfb2: fba2 1203 umull r1, r2, r2, r3 802cfb6: 0952 lsrs r2, r2, #5 802cfb8: 2164 movs r1, #100 ; 0x64 802cfba: fb01 f202 mul.w r2, r1, r2 802cfbe: 1a9a subs r2, r3, r2 802cfc0: 4b40 ldr r3, [pc, #256] ; (802d0c4 ) 802cfc2: fba3 1302 umull r1, r3, r3, r2 802cfc6: 08d9 lsrs r1, r3, #3 802cfc8: 460b mov r3, r1 802cfca: 009b lsls r3, r3, #2 802cfcc: 440b add r3, r1 802cfce: 005b lsls r3, r3, #1 802cfd0: 1ad1 subs r1, r2, r3 802cfd2: b2cb uxtb r3, r1 802cfd4: 3330 adds r3, #48 ; 0x30 802cfd6: b2da uxtb r2, r3 802cfd8: 4b38 ldr r3, [pc, #224] ; (802d0bc ) 802cfda: 541a strb r2, [r3, r0] PointPath[p] = ')'; 802cfdc: 4a37 ldr r2, [pc, #220] ; (802d0bc ) 802cfde: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802cfe2: 4413 add r3, r2 802cfe4: 2229 movs r2, #41 ; 0x29 802cfe6: 701a strb r2, [r3, #0] PointPath[p + 1] = '.'; 802cfe8: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802cfec: 3301 adds r3, #1 802cfee: 4a33 ldr r2, [pc, #204] ; (802d0bc ) 802cff0: 212e movs r1, #46 ; 0x2e 802cff2: 54d1 strb r1, [r2, r3] PointPath[p + 2] = 'w'; 802cff4: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802cff8: 3302 adds r3, #2 802cffa: 4a30 ldr r2, [pc, #192] ; (802d0bc ) 802cffc: 2177 movs r1, #119 ; 0x77 802cffe: 54d1 strb r1, [r2, r3] PointPath[p + 3] = 'a'; 802d000: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802d004: 3303 adds r3, #3 802d006: 4a2d ldr r2, [pc, #180] ; (802d0bc ) 802d008: 2161 movs r1, #97 ; 0x61 802d00a: 54d1 strb r1, [r2, r3] PointPath[p + 4] = 'v'; 802d00c: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802d010: 3304 adds r3, #4 802d012: 4a2a ldr r2, [pc, #168] ; (802d0bc ) 802d014: 2176 movs r1, #118 ; 0x76 802d016: 54d1 strb r1, [r2, r3] PointPath[p + 5] = 0; 802d018: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802d01c: 3305 adds r3, #5 802d01e: 4a27 ldr r2, [pc, #156] ; (802d0bc ) 802d020: 2100 movs r1, #0 802d022: 54d1 strb r1, [r2, r3] 802d024: e001 b.n 802d02a } else { return FR_DISK_ERR; 802d026: 2301 movs r3, #1 802d028: e044 b.n 802d0b4 } res = f_open(&F, PointPath, FA_READ); 802d02a: 2201 movs r2, #1 802d02c: 4923 ldr r1, [pc, #140] ; (802d0bc ) 802d02e: 4826 ldr r0, [pc, #152] ; (802d0c8 ) 802d030: f09d fef6 bl 80cae20 802d034: 4603 mov r3, r0 802d036: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 802d03a: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802d03e: 2b04 cmp r3, #4 802d040: d003 beq.n 802d04a 802d042: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802d046: 2b05 cmp r3, #5 802d048: d121 bne.n 802d08e { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 802d04a: 221b movs r2, #27 802d04c: 491b ldr r1, [pc, #108] ; (802d0bc ) 802d04e: 481e ldr r0, [pc, #120] ; (802d0c8 ) 802d050: f09d fee6 bl 80cae20 802d054: 4603 mov r3, r0 802d056: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 if(res == FR_OK) 802d05a: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802d05e: 2b00 cmp r3, #0 802d060: d113 bne.n 802d08a { res = WriteHeaderWAV(&F); 802d062: 4819 ldr r0, [pc, #100] ; (802d0c8 ) 802d064: f001 fd9a bl 802eb9c 802d068: 4603 mov r3, r0 802d06a: f887 30a3 strb.w r3, [r7, #163] ; 0xa3 if(res != FR_OK) 802d06e: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802d072: 2b00 cmp r3, #0 802d074: d007 beq.n 802d086 { f_close(&F); 802d076: 4814 ldr r0, [pc, #80] ; (802d0c8 ) 802d078: f09e fd16 bl 80cbaa8 f_unlink(PointPath); 802d07c: 480f ldr r0, [pc, #60] ; (802d0bc ) 802d07e: f09f f9a2 bl 80cc3c6 return FR_DISK_ERR; 802d082: 2301 movs r3, #1 802d084: e016 b.n 802d0b4 } else { return FR_OK; 802d086: 2300 movs r3, #0 802d088: e014 b.n 802d0b4 } } else { return FR_DISK_ERR; 802d08a: 2301 movs r3, #1 802d08c: e012 b.n 802d0b4 } } else if(res != FR_OK) 802d08e: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 802d092: 2b00 cmp r3, #0 802d094: d001 beq.n 802d09a { return FR_DISK_ERR; 802d096: 2301 movs r3, #1 802d098: e00c b.n 802d0b4 } i++; 802d09a: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 802d09e: 3301 adds r3, #1 802d0a0: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 if(i < 10) 802d0a4: e6b5 b.n 802ce12 } } else { f_close(&F); 802d0a6: 4808 ldr r0, [pc, #32] ; (802d0c8 ) 802d0a8: f09e fcfe bl 80cbaa8 return FR_DISK_ERR; 802d0ac: 2301 movs r3, #1 802d0ae: e001 b.n 802d0b4 } } } } } return res; 802d0b0: f897 30a3 ldrb.w r3, [r7, #163] ; 0xa3 } 802d0b4: 4618 mov r0, r3 802d0b6: 37a8 adds r7, #168 ; 0xa8 802d0b8: 46bd mov sp, r7 802d0ba: bd80 pop {r7, pc} 802d0bc: 20022a0c .word 0x20022a0c 802d0c0: 51eb851f .word 0x51eb851f 802d0c4: cccccccd .word 0xcccccccd 802d0c8: 20022e78 .word 0x20022e78 0802d0cc : FRESULT CloseFileWAV(FIL *file) //TODO { 802d0cc: b590 push {r4, r7, lr} 802d0ce: b0a7 sub sp, #156 ; 0x9c 802d0d0: af00 add r7, sp, #0 802d0d2: 6078 str r0, [r7, #4] UINT i, l; FRESULT res = FR_OK; 802d0d4: 2300 movs r3, #0 802d0d6: f887 3097 strb.w r3, [r7, #151] ; 0x97 uint32_t p, Year, Month, Day, Hour, Min, Sec; size_t filesize; uint32_t chunk_1, chunk_2; if(CardState != MSD_READY) { 802d0da: 4b2a ldr r3, [pc, #168] ; (802d184 ) 802d0dc: 781b ldrb r3, [r3, #0] 802d0de: b2db uxtb r3, r3 802d0e0: 2b03 cmp r3, #3 802d0e2: d001 beq.n 802d0e8 return FR_NOT_READY; 802d0e4: 2303 movs r3, #3 802d0e6: e049 b.n 802d17c } filesize = f_size(file); 802d0e8: 687b ldr r3, [r7, #4] 802d0ea: e9d3 3404 ldrd r3, r4, [r3, #16] 802d0ee: f8c7 3090 str.w r3, [r7, #144] ; 0x90 chunk_1 = filesize - 8; 802d0f2: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 802d0f6: 3b08 subs r3, #8 802d0f8: f8c7 308c str.w r3, [r7, #140] ; 0x8c chunk_2 = filesize - 80; 802d0fc: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 802d100: 3b50 subs r3, #80 ; 0x50 802d102: 60fb str r3, [r7, #12] res = f_lseek(file, 76); 802d104: f04f 024c mov.w r2, #76 ; 0x4c 802d108: f04f 0300 mov.w r3, #0 802d10c: 6878 ldr r0, [r7, #4] 802d10e: f09e fceb bl 80cbae8 802d112: 4603 mov r3, r0 802d114: f887 3097 strb.w r3, [r7, #151] ; 0x97 if(res == FR_OK) 802d118: f897 3097 ldrb.w r3, [r7, #151] ; 0x97 802d11c: 2b00 cmp r3, #0 802d11e: d122 bne.n 802d166 { res = f_write(file, (uint8_t *) &chunk_2, 4, &i); 802d120: f107 0388 add.w r3, r7, #136 ; 0x88 802d124: f107 010c add.w r1, r7, #12 802d128: 2204 movs r2, #4 802d12a: 6878 ldr r0, [r7, #4] 802d12c: f09e fa18 bl 80cb560 802d130: 4603 mov r3, r0 802d132: f887 3097 strb.w r3, [r7, #151] ; 0x97 if(res == FR_OK) 802d136: f897 3097 ldrb.w r3, [r7, #151] ; 0x97 802d13a: 2b00 cmp r3, #0 802d13c: d109 bne.n 802d152 { f_close(file); 802d13e: 6878 ldr r0, [r7, #4] 802d140: f09e fcb2 bl 80cbaa8 res = CreateFileINFO(PointPath); 802d144: 4810 ldr r0, [pc, #64] ; (802d188 ) 802d146: f000 f821 bl 802d18c 802d14a: 4603 mov r3, r0 802d14c: f887 3097 strb.w r3, [r7, #151] ; 0x97 802d150: e012 b.n 802d178 res = FR_DISK_ERR; }*/ } else { f_close(file); 802d152: 6878 ldr r0, [r7, #4] 802d154: f09e fca8 bl 80cbaa8 f_unlink(PointPath); 802d158: 480b ldr r0, [pc, #44] ; (802d188 ) 802d15a: f09f f934 bl 80cc3c6 res = FR_DISK_ERR; 802d15e: 2301 movs r3, #1 802d160: f887 3097 strb.w r3, [r7, #151] ; 0x97 802d164: e008 b.n 802d178 } } else { f_close(file); 802d166: 6878 ldr r0, [r7, #4] 802d168: f09e fc9e bl 80cbaa8 f_unlink(PointPath); 802d16c: 4806 ldr r0, [pc, #24] ; (802d188 ) 802d16e: f09f f92a bl 80cc3c6 res = FR_DISK_ERR; 802d172: 2301 movs r3, #1 802d174: f887 3097 strb.w r3, [r7, #151] ; 0x97 f_unlink(PointPath); res = FR_DISK_ERR; }*/ return res; 802d178: f897 3097 ldrb.w r3, [r7, #151] ; 0x97 } 802d17c: 4618 mov r0, r3 802d17e: 379c adds r7, #156 ; 0x9c 802d180: 46bd mov sp, r7 802d182: bd90 pop {r4, r7, pc} 802d184: 2002169c .word 0x2002169c 802d188: 20022a0c .word 0x20022a0c 0802d18c : FRESULT CreateFileINFO(char *fname) //TODO { 802d18c: b580 push {r7, lr} 802d18e: b0b0 sub sp, #192 ; 0xc0 802d190: af00 add r7, sp, #0 802d192: 6078 str r0, [r7, #4] UINT fk, i, l, k, size; FRESULT res = FR_OK; 802d194: 2300 movs r3, #0 802d196: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 char fn[60], f_str[20]; char str[60]; uint32_t p, n, Year, Month, Day, Hour, Min, Sec; uint8_t ies, ied, iee, ikd, iks, ikt, aa[8], ak, *pfile; k = (uint32_t) (pardata.IKK * 1000.0f); 802d19a: 4be6 ldr r3, [pc, #920] ; (802d534 ) 802d19c: edd3 7a04 vldr s15, [r3, #16] 802d1a0: ed9f 7ae5 vldr s14, [pc, #916] ; 802d538 802d1a4: ee67 7a87 vmul.f32 s15, s15, s14 802d1a8: eefc 7ae7 vcvt.u32.f32 s15, s15 802d1ac: ee17 3a90 vmov r3, s15 802d1b0: f8c7 30ac str.w r3, [r7, #172] ; 0xac ies = (uint8_t) (k / 100000); 802d1b4: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 802d1b8: 095b lsrs r3, r3, #5 802d1ba: 4ae0 ldr r2, [pc, #896] ; (802d53c ) 802d1bc: fba2 2303 umull r2, r3, r2, r3 802d1c0: 09db lsrs r3, r3, #7 802d1c2: f887 30ab strb.w r3, [r7, #171] ; 0xab ied = (uint8_t) (k % 100000 / 10000); 802d1c6: f8d7 20ac ldr.w r2, [r7, #172] ; 0xac 802d1ca: 0953 lsrs r3, r2, #5 802d1cc: 49db ldr r1, [pc, #876] ; (802d53c ) 802d1ce: fba1 1303 umull r1, r3, r1, r3 802d1d2: 09db lsrs r3, r3, #7 802d1d4: 49da ldr r1, [pc, #872] ; (802d540 ) 802d1d6: fb01 f303 mul.w r3, r1, r3 802d1da: 1ad3 subs r3, r2, r3 802d1dc: 4ad9 ldr r2, [pc, #868] ; (802d544 ) 802d1de: fba2 2303 umull r2, r3, r2, r3 802d1e2: 0b5b lsrs r3, r3, #13 802d1e4: f887 30aa strb.w r3, [r7, #170] ; 0xaa iee = (uint8_t) (k % 100000 % 10000 / 1000); 802d1e8: f8d7 20ac ldr.w r2, [r7, #172] ; 0xac 802d1ec: 0953 lsrs r3, r2, #5 802d1ee: 49d3 ldr r1, [pc, #844] ; (802d53c ) 802d1f0: fba1 1303 umull r1, r3, r1, r3 802d1f4: 09db lsrs r3, r3, #7 802d1f6: 49d2 ldr r1, [pc, #840] ; (802d540 ) 802d1f8: fb01 f303 mul.w r3, r1, r3 802d1fc: 1ad3 subs r3, r2, r3 802d1fe: 4ad1 ldr r2, [pc, #836] ; (802d544 ) 802d200: fba2 1203 umull r1, r2, r2, r3 802d204: 0b52 lsrs r2, r2, #13 802d206: f242 7110 movw r1, #10000 ; 0x2710 802d20a: fb01 f202 mul.w r2, r1, r2 802d20e: 1a9a subs r2, r3, r2 802d210: 4bcd ldr r3, [pc, #820] ; (802d548 ) 802d212: fba3 2302 umull r2, r3, r3, r2 802d216: 099b lsrs r3, r3, #6 802d218: f887 30a9 strb.w r3, [r7, #169] ; 0xa9 ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 802d21c: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 802d220: 095a lsrs r2, r3, #5 802d222: 49c6 ldr r1, [pc, #792] ; (802d53c ) 802d224: fba1 1202 umull r1, r2, r1, r2 802d228: 09d2 lsrs r2, r2, #7 802d22a: 49c5 ldr r1, [pc, #788] ; (802d540 ) 802d22c: fb01 f202 mul.w r2, r1, r2 802d230: 1a9a subs r2, r3, r2 802d232: 4bc4 ldr r3, [pc, #784] ; (802d544 ) 802d234: fba3 1302 umull r1, r3, r3, r2 802d238: 0b5b lsrs r3, r3, #13 802d23a: f242 7110 movw r1, #10000 ; 0x2710 802d23e: fb01 f303 mul.w r3, r1, r3 802d242: 1ad3 subs r3, r2, r3 802d244: 4ac0 ldr r2, [pc, #768] ; (802d548 ) 802d246: fba2 1203 umull r1, r2, r2, r3 802d24a: 0992 lsrs r2, r2, #6 802d24c: f44f 717a mov.w r1, #1000 ; 0x3e8 802d250: fb01 f202 mul.w r2, r1, r2 802d254: 1a9a subs r2, r3, r2 802d256: 4bbd ldr r3, [pc, #756] ; (802d54c ) 802d258: fba3 2302 umull r2, r3, r3, r2 802d25c: 095b lsrs r3, r3, #5 802d25e: f887 30a8 strb.w r3, [r7, #168] ; 0xa8 iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 802d262: f8d7 20ac ldr.w r2, [r7, #172] ; 0xac 802d266: 0953 lsrs r3, r2, #5 802d268: 49b4 ldr r1, [pc, #720] ; (802d53c ) 802d26a: fba1 1303 umull r1, r3, r1, r3 802d26e: 09db lsrs r3, r3, #7 802d270: 49b3 ldr r1, [pc, #716] ; (802d540 ) 802d272: fb01 f303 mul.w r3, r1, r3 802d276: 1ad3 subs r3, r2, r3 802d278: 4ab2 ldr r2, [pc, #712] ; (802d544 ) 802d27a: fba2 1203 umull r1, r2, r2, r3 802d27e: 0b52 lsrs r2, r2, #13 802d280: f242 7110 movw r1, #10000 ; 0x2710 802d284: fb01 f202 mul.w r2, r1, r2 802d288: 1a9a subs r2, r3, r2 802d28a: 4baf ldr r3, [pc, #700] ; (802d548 ) 802d28c: fba3 1302 umull r1, r3, r3, r2 802d290: 099b lsrs r3, r3, #6 802d292: f44f 717a mov.w r1, #1000 ; 0x3e8 802d296: fb01 f303 mul.w r3, r1, r3 802d29a: 1ad3 subs r3, r2, r3 802d29c: 4aab ldr r2, [pc, #684] ; (802d54c ) 802d29e: fba2 1203 umull r1, r2, r2, r3 802d2a2: 0952 lsrs r2, r2, #5 802d2a4: 2164 movs r1, #100 ; 0x64 802d2a6: fb01 f202 mul.w r2, r1, r2 802d2aa: 1a9a subs r2, r3, r2 802d2ac: 4ba8 ldr r3, [pc, #672] ; (802d550 ) 802d2ae: fba3 2302 umull r2, r3, r3, r2 802d2b2: 08db lsrs r3, r3, #3 802d2b4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 802d2b8: f8d7 20ac ldr.w r2, [r7, #172] ; 0xac 802d2bc: 0953 lsrs r3, r2, #5 802d2be: 499f ldr r1, [pc, #636] ; (802d53c ) 802d2c0: fba1 1303 umull r1, r3, r1, r3 802d2c4: 09db lsrs r3, r3, #7 802d2c6: 499e ldr r1, [pc, #632] ; (802d540 ) 802d2c8: fb01 f303 mul.w r3, r1, r3 802d2cc: 1ad3 subs r3, r2, r3 802d2ce: 4a9d ldr r2, [pc, #628] ; (802d544 ) 802d2d0: fba2 1203 umull r1, r2, r2, r3 802d2d4: 0b52 lsrs r2, r2, #13 802d2d6: f242 7110 movw r1, #10000 ; 0x2710 802d2da: fb01 f202 mul.w r2, r1, r2 802d2de: 1a9a subs r2, r3, r2 802d2e0: 4b99 ldr r3, [pc, #612] ; (802d548 ) 802d2e2: fba3 1302 umull r1, r3, r3, r2 802d2e6: 099b lsrs r3, r3, #6 802d2e8: f44f 717a mov.w r1, #1000 ; 0x3e8 802d2ec: fb01 f303 mul.w r3, r1, r3 802d2f0: 1ad3 subs r3, r2, r3 802d2f2: 4a96 ldr r2, [pc, #600] ; (802d54c ) 802d2f4: fba2 1203 umull r1, r2, r2, r3 802d2f8: 0952 lsrs r2, r2, #5 802d2fa: 2164 movs r1, #100 ; 0x64 802d2fc: fb01 f202 mul.w r2, r1, r2 802d300: 1a9a subs r2, r3, r2 802d302: 4b93 ldr r3, [pc, #588] ; (802d550 ) 802d304: fba3 1302 umull r1, r3, r3, r2 802d308: 08d9 lsrs r1, r3, #3 802d30a: 460b mov r3, r1 802d30c: 009b lsls r3, r3, #2 802d30e: 440b add r3, r1 802d310: 005b lsls r3, r3, #1 802d312: 1ad1 subs r1, r2, r3 802d314: 460b mov r3, r1 802d316: f887 30a6 strb.w r3, [r7, #166] ; 0xa6 if(CardState != MSD_READY) { 802d31a: 4b8e ldr r3, [pc, #568] ; (802d554 ) 802d31c: 781b ldrb r3, [r3, #0] 802d31e: b2db uxtb r3, r3 802d320: 2b03 cmp r3, #3 802d322: d002 beq.n 802d32a return FR_NOT_READY; 802d324: 2303 movs r3, #3 802d326: f001 bc2c b.w 802eb82 } if(strlen(fname) >= 2) 802d32a: 6878 ldr r0, [r7, #4] 802d32c: f7f2 fff2 bl 8020314 802d330: 4603 mov r3, r0 802d332: 2b01 cmp r3, #1 802d334: f241 8420 bls.w 802eb78 { size = 0; 802d338: 2300 movs r3, #0 802d33a: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 memset(sector, 0, sizeof(sector)); 802d33e: f44f 7200 mov.w r2, #512 ; 0x200 802d342: 2100 movs r1, #0 802d344: 4884 ldr r0, [pc, #528] ; (802d558 ) 802d346: f0a4 fe2d bl 80d1fa4 pfile = sector; 802d34a: 4b83 ldr r3, [pc, #524] ; (802d558 ) 802d34c: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 *pfile++ = '{'; size++; 802d350: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d354: 1c5a adds r2, r3, #1 802d356: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d35a: 227b movs r2, #123 ; 0x7b 802d35c: 701a strb r2, [r3, #0] 802d35e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d362: 3301 adds r3, #1 802d364: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802d368: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d36c: 1c5a adds r2, r3, #1 802d36e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d372: 220a movs r2, #10 802d374: 701a strb r2, [r3, #0] 802d376: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d37a: 3301 adds r3, #1 802d37c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 4; i++) { 802d380: 2300 movs r3, #0 802d382: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802d386: e010 b.n 802d3aa *pfile++ = ' '; 802d388: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d38c: 1c5a adds r2, r3, #1 802d38e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d392: 2220 movs r2, #32 802d394: 701a strb r2, [r3, #0] size++; 802d396: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d39a: 3301 adds r3, #1 802d39c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 4; i++) { 802d3a0: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802d3a4: 3301 adds r3, #1 802d3a6: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802d3aa: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802d3ae: 2b03 cmp r3, #3 802d3b0: d9ea bls.n 802d388 } *pfile++ = '"'; size++; 802d3b2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d3b6: 1c5a adds r2, r3, #1 802d3b8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d3bc: 2222 movs r2, #34 ; 0x22 802d3be: 701a strb r2, [r3, #0] 802d3c0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d3c4: 3301 adds r3, #1 802d3c6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'c'; size++; 802d3ca: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d3ce: 1c5a adds r2, r3, #1 802d3d0: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d3d4: 2263 movs r2, #99 ; 0x63 802d3d6: 701a strb r2, [r3, #0] 802d3d8: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d3dc: 3301 adds r3, #1 802d3de: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'o'; size++; 802d3e2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d3e6: 1c5a adds r2, r3, #1 802d3e8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d3ec: 226f movs r2, #111 ; 0x6f 802d3ee: 701a strb r2, [r3, #0] 802d3f0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d3f4: 3301 adds r3, #1 802d3f6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'm'; size++; 802d3fa: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d3fe: 1c5a adds r2, r3, #1 802d400: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d404: 226d movs r2, #109 ; 0x6d 802d406: 701a strb r2, [r3, #0] 802d408: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d40c: 3301 adds r3, #1 802d40e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'm'; size++; 802d412: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d416: 1c5a adds r2, r3, #1 802d418: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d41c: 226d movs r2, #109 ; 0x6d 802d41e: 701a strb r2, [r3, #0] 802d420: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d424: 3301 adds r3, #1 802d426: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'e'; size++; 802d42a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d42e: 1c5a adds r2, r3, #1 802d430: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d434: 2265 movs r2, #101 ; 0x65 802d436: 701a strb r2, [r3, #0] 802d438: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d43c: 3301 adds r3, #1 802d43e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'n'; size++; 802d442: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d446: 1c5a adds r2, r3, #1 802d448: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d44c: 226e movs r2, #110 ; 0x6e 802d44e: 701a strb r2, [r3, #0] 802d450: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d454: 3301 adds r3, #1 802d456: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 't'; size++; 802d45a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d45e: 1c5a adds r2, r3, #1 802d460: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d464: 2274 movs r2, #116 ; 0x74 802d466: 701a strb r2, [r3, #0] 802d468: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d46c: 3301 adds r3, #1 802d46e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802d472: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d476: 1c5a adds r2, r3, #1 802d478: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d47c: 2222 movs r2, #34 ; 0x22 802d47e: 701a strb r2, [r3, #0] 802d480: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d484: 3301 adds r3, #1 802d486: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ':'; size++; 802d48a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d48e: 1c5a adds r2, r3, #1 802d490: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d494: 223a movs r2, #58 ; 0x3a 802d496: 701a strb r2, [r3, #0] 802d498: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d49c: 3301 adds r3, #1 802d49e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ' '; size++; 802d4a2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d4a6: 1c5a adds r2, r3, #1 802d4a8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d4ac: 2220 movs r2, #32 802d4ae: 701a strb r2, [r3, #0] 802d4b0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d4b4: 3301 adds r3, #1 802d4b6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802d4ba: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d4be: 1c5a adds r2, r3, #1 802d4c0: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d4c4: 2222 movs r2, #34 ; 0x22 802d4c6: 701a strb r2, [r3, #0] 802d4c8: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d4cc: 3301 adds r3, #1 802d4ce: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802d4d2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d4d6: 1c5a adds r2, r3, #1 802d4d8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d4dc: 2222 movs r2, #34 ; 0x22 802d4de: 701a strb r2, [r3, #0] 802d4e0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d4e4: 3301 adds r3, #1 802d4e6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ','; size++; 802d4ea: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d4ee: 1c5a adds r2, r3, #1 802d4f0: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d4f4: 222c movs r2, #44 ; 0x2c 802d4f6: 701a strb r2, [r3, #0] 802d4f8: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d4fc: 3301 adds r3, #1 802d4fe: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802d502: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d506: 1c5a adds r2, r3, #1 802d508: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d50c: 220a movs r2, #10 802d50e: 701a strb r2, [r3, #0] 802d510: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d514: 3301 adds r3, #1 802d516: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 if(FreqFran) 802d51a: 4b10 ldr r3, [pc, #64] ; (802d55c ) 802d51c: edd3 7a00 vldr s15, [r3] 802d520: eef5 7a40 vcmp.f32 s15, #0.0 802d524: eef1 fa10 vmrs APSR_nzcv, fpscr 802d528: f000 81c3 beq.w 802d8b2 { for(i = 0; i < 4; i++) { 802d52c: 2300 movs r3, #0 802d52e: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802d532: e026 b.n 802d582 802d534: 20023eb8 .word 0x20023eb8 802d538: 447a0000 .word 0x447a0000 802d53c: 0a7c5ac5 .word 0x0a7c5ac5 802d540: 000186a0 .word 0x000186a0 802d544: d1b71759 .word 0xd1b71759 802d548: 10624dd3 .word 0x10624dd3 802d54c: 51eb851f .word 0x51eb851f 802d550: cccccccd .word 0xcccccccd 802d554: 2002169c .word 0x2002169c 802d558: 2007c000 .word 0x2007c000 802d55c: 200215b4 .word 0x200215b4 *pfile++ = ' '; 802d560: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d564: 1c5a adds r2, r3, #1 802d566: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d56a: 2220 movs r2, #32 802d56c: 701a strb r2, [r3, #0] size++; 802d56e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d572: 3301 adds r3, #1 802d574: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 4; i++) { 802d578: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802d57c: 3301 adds r3, #1 802d57e: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802d582: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802d586: 2b03 cmp r3, #3 802d588: d9ea bls.n 802d560 } *pfile++ = '"'; size++; 802d58a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d58e: 1c5a adds r2, r3, #1 802d590: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d594: 2222 movs r2, #34 ; 0x22 802d596: 701a strb r2, [r3, #0] 802d598: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d59c: 3301 adds r3, #1 802d59e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'e'; size++; 802d5a2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d5a6: 1c5a adds r2, r3, #1 802d5a8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d5ac: 2265 movs r2, #101 ; 0x65 802d5ae: 701a strb r2, [r3, #0] 802d5b0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d5b4: 3301 adds r3, #1 802d5b6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'x'; size++; 802d5ba: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d5be: 1c5a adds r2, r3, #1 802d5c0: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d5c4: 2278 movs r2, #120 ; 0x78 802d5c6: 701a strb r2, [r3, #0] 802d5c8: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d5cc: 3301 adds r3, #1 802d5ce: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 't'; size++; 802d5d2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d5d6: 1c5a adds r2, r3, #1 802d5d8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d5dc: 2274 movs r2, #116 ; 0x74 802d5de: 701a strb r2, [r3, #0] 802d5e0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d5e4: 3301 adds r3, #1 802d5e6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'e'; size++; 802d5ea: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d5ee: 1c5a adds r2, r3, #1 802d5f0: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d5f4: 2265 movs r2, #101 ; 0x65 802d5f6: 701a strb r2, [r3, #0] 802d5f8: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d5fc: 3301 adds r3, #1 802d5fe: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'n'; size++; 802d602: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d606: 1c5a adds r2, r3, #1 802d608: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d60c: 226e movs r2, #110 ; 0x6e 802d60e: 701a strb r2, [r3, #0] 802d610: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d614: 3301 adds r3, #1 802d616: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'd'; size++; 802d61a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d61e: 1c5a adds r2, r3, #1 802d620: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d624: 2264 movs r2, #100 ; 0x64 802d626: 701a strb r2, [r3, #0] 802d628: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d62c: 3301 adds r3, #1 802d62e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'e'; size++; 802d632: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d636: 1c5a adds r2, r3, #1 802d638: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d63c: 2265 movs r2, #101 ; 0x65 802d63e: 701a strb r2, [r3, #0] 802d640: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d644: 3301 adds r3, #1 802d646: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'd'; size++; 802d64a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d64e: 1c5a adds r2, r3, #1 802d650: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d654: 2264 movs r2, #100 ; 0x64 802d656: 701a strb r2, [r3, #0] 802d658: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d65c: 3301 adds r3, #1 802d65e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802d662: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d666: 1c5a adds r2, r3, #1 802d668: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d66c: 2222 movs r2, #34 ; 0x22 802d66e: 701a strb r2, [r3, #0] 802d670: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d674: 3301 adds r3, #1 802d676: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ':'; size++; 802d67a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d67e: 1c5a adds r2, r3, #1 802d680: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d684: 223a movs r2, #58 ; 0x3a 802d686: 701a strb r2, [r3, #0] 802d688: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d68c: 3301 adds r3, #1 802d68e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ' '; size++; 802d692: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d696: 1c5a adds r2, r3, #1 802d698: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d69c: 2220 movs r2, #32 802d69e: 701a strb r2, [r3, #0] 802d6a0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d6a4: 3301 adds r3, #1 802d6a6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '{'; size++; 802d6aa: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d6ae: 1c5a adds r2, r3, #1 802d6b0: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d6b4: 227b movs r2, #123 ; 0x7b 802d6b6: 701a strb r2, [r3, #0] 802d6b8: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d6bc: 3301 adds r3, #1 802d6be: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802d6c2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d6c6: 1c5a adds r2, r3, #1 802d6c8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d6cc: 220a movs r2, #10 802d6ce: 701a strb r2, [r3, #0] 802d6d0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d6d4: 3301 adds r3, #1 802d6d6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 8; i++) { 802d6da: 2300 movs r3, #0 802d6dc: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802d6e0: e010 b.n 802d704 *pfile++ = ' '; 802d6e2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d6e6: 1c5a adds r2, r3, #1 802d6e8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d6ec: 2220 movs r2, #32 802d6ee: 701a strb r2, [r3, #0] size++; 802d6f0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d6f4: 3301 adds r3, #1 802d6f6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 8; i++) { 802d6fa: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802d6fe: 3301 adds r3, #1 802d700: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802d704: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802d708: 2b07 cmp r3, #7 802d70a: d9ea bls.n 802d6e2 } *pfile++ = '"'; size++; 802d70c: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d710: 1c5a adds r2, r3, #1 802d712: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d716: 2222 movs r2, #34 ; 0x22 802d718: 701a strb r2, [r3, #0] 802d71a: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d71e: 3301 adds r3, #1 802d720: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'f'; size++; 802d724: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d728: 1c5a adds r2, r3, #1 802d72a: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d72e: 2266 movs r2, #102 ; 0x66 802d730: 701a strb r2, [r3, #0] 802d732: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d736: 3301 adds r3, #1 802d738: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'r'; size++; 802d73c: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d740: 1c5a adds r2, r3, #1 802d742: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d746: 2272 movs r2, #114 ; 0x72 802d748: 701a strb r2, [r3, #0] 802d74a: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d74e: 3301 adds r3, #1 802d750: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'e'; size++; 802d754: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d758: 1c5a adds r2, r3, #1 802d75a: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d75e: 2265 movs r2, #101 ; 0x65 802d760: 701a strb r2, [r3, #0] 802d762: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d766: 3301 adds r3, #1 802d768: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'q'; size++; 802d76c: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d770: 1c5a adds r2, r3, #1 802d772: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d776: 2271 movs r2, #113 ; 0x71 802d778: 701a strb r2, [r3, #0] 802d77a: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d77e: 3301 adds r3, #1 802d780: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802d784: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d788: 1c5a adds r2, r3, #1 802d78a: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d78e: 2222 movs r2, #34 ; 0x22 802d790: 701a strb r2, [r3, #0] 802d792: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d796: 3301 adds r3, #1 802d798: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ':'; size++; 802d79c: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d7a0: 1c5a adds r2, r3, #1 802d7a2: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d7a6: 223a movs r2, #58 ; 0x3a 802d7a8: 701a strb r2, [r3, #0] 802d7aa: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d7ae: 3301 adds r3, #1 802d7b0: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ' '; size++; 802d7b4: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d7b8: 1c5a adds r2, r3, #1 802d7ba: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d7be: 2220 movs r2, #32 802d7c0: 701a strb r2, [r3, #0] 802d7c2: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d7c6: 3301 adds r3, #1 802d7c8: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 memset(f_str, 0, sizeof(f_str)); 802d7cc: f107 034c add.w r3, r7, #76 ; 0x4c 802d7d0: 2214 movs r2, #20 802d7d2: 2100 movs r1, #0 802d7d4: 4618 mov r0, r3 802d7d6: f0a4 fbe5 bl 80d1fa4 //ftoa(FreqFran, f_str, 4); FloatToASCII(FreqFran, -3); 802d7da: 4bed ldr r3, [pc, #948] ; (802db90 ) 802d7dc: edd3 7a00 vldr s15, [r3] 802d7e0: f06f 0002 mvn.w r0, #2 802d7e4: eeb0 0a67 vmov.f32 s0, s15 802d7e8: f03a fcda bl 80681a0 l = strlen(pString); 802d7ec: 48e9 ldr r0, [pc, #932] ; (802db94 ) 802d7ee: f7f2 fd91 bl 8020314 802d7f2: f8c7 00a0 str.w r0, [r7, #160] ; 0xa0 memcpy(pfile, pString, l); size += l; pfile += l; 802d7f6: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 802d7fa: 49e6 ldr r1, [pc, #920] ; (802db94 ) 802d7fc: f8d7 00b4 ldr.w r0, [r7, #180] ; 0xb4 802d800: f0a4 fbc5 bl 80d1f8e 802d804: f8d7 20b8 ldr.w r2, [r7, #184] ; 0xb8 802d808: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 802d80c: 4413 add r3, r2 802d80e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 802d812: f8d7 20b4 ldr.w r2, [r7, #180] ; 0xb4 802d816: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 802d81a: 4413 add r3, r2 802d81c: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 *pfile++ = '\n'; size++; 802d820: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d824: 1c5a adds r2, r3, #1 802d826: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d82a: 220a movs r2, #10 802d82c: 701a strb r2, [r3, #0] 802d82e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d832: 3301 adds r3, #1 802d834: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 4; i++) { 802d838: 2300 movs r3, #0 802d83a: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802d83e: e010 b.n 802d862 *pfile++ = ' '; 802d840: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d844: 1c5a adds r2, r3, #1 802d846: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d84a: 2220 movs r2, #32 802d84c: 701a strb r2, [r3, #0] size++; 802d84e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d852: 3301 adds r3, #1 802d854: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 4; i++) { 802d858: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802d85c: 3301 adds r3, #1 802d85e: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802d862: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802d866: 2b03 cmp r3, #3 802d868: d9ea bls.n 802d840 } *pfile++ = '}'; size++; 802d86a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d86e: 1c5a adds r2, r3, #1 802d870: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d874: 227d movs r2, #125 ; 0x7d 802d876: 701a strb r2, [r3, #0] 802d878: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d87c: 3301 adds r3, #1 802d87e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ','; size++; 802d882: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d886: 1c5a adds r2, r3, #1 802d888: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d88c: 222c movs r2, #44 ; 0x2c 802d88e: 701a strb r2, [r3, #0] 802d890: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d894: 3301 adds r3, #1 802d896: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802d89a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d89e: 1c5a adds r2, r3, #1 802d8a0: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d8a4: 220a movs r2, #10 802d8a6: 701a strb r2, [r3, #0] 802d8a8: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d8ac: 3301 adds r3, #1 802d8ae: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 } for(i = 0; i < 4; i++) { 802d8b2: 2300 movs r3, #0 802d8b4: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802d8b8: e010 b.n 802d8dc *pfile++ = ' '; 802d8ba: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d8be: 1c5a adds r2, r3, #1 802d8c0: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d8c4: 2220 movs r2, #32 802d8c6: 701a strb r2, [r3, #0] size++; 802d8c8: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d8cc: 3301 adds r3, #1 802d8ce: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 4; i++) { 802d8d2: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802d8d6: 3301 adds r3, #1 802d8d8: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802d8dc: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802d8e0: 2b03 cmp r3, #3 802d8e2: d9ea bls.n 802d8ba } *pfile++ = '"'; size++; 802d8e4: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d8e8: 1c5a adds r2, r3, #1 802d8ea: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d8ee: 2222 movs r2, #34 ; 0x22 802d8f0: 701a strb r2, [r3, #0] 802d8f2: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d8f6: 3301 adds r3, #1 802d8f8: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'h'; size++; 802d8fc: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d900: 1c5a adds r2, r3, #1 802d902: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d906: 2268 movs r2, #104 ; 0x68 802d908: 701a strb r2, [r3, #0] 802d90a: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d90e: 3301 adds r3, #1 802d910: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'w'; size++; 802d914: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d918: 1c5a adds r2, r3, #1 802d91a: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d91e: 2277 movs r2, #119 ; 0x77 802d920: 701a strb r2, [r3, #0] 802d922: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d926: 3301 adds r3, #1 802d928: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802d92c: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d930: 1c5a adds r2, r3, #1 802d932: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d936: 2222 movs r2, #34 ; 0x22 802d938: 701a strb r2, [r3, #0] 802d93a: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d93e: 3301 adds r3, #1 802d940: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ':'; size++; 802d944: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d948: 1c5a adds r2, r3, #1 802d94a: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d94e: 223a movs r2, #58 ; 0x3a 802d950: 701a strb r2, [r3, #0] 802d952: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d956: 3301 adds r3, #1 802d958: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ' '; size++; 802d95c: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d960: 1c5a adds r2, r3, #1 802d962: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d966: 2220 movs r2, #32 802d968: 701a strb r2, [r3, #0] 802d96a: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d96e: 3301 adds r3, #1 802d970: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '{'; size++; 802d974: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d978: 1c5a adds r2, r3, #1 802d97a: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d97e: 227b movs r2, #123 ; 0x7b 802d980: 701a strb r2, [r3, #0] 802d982: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d986: 3301 adds r3, #1 802d988: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802d98c: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d990: 1c5a adds r2, r3, #1 802d992: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d996: 220a movs r2, #10 802d998: 701a strb r2, [r3, #0] 802d99a: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d99e: 3301 adds r3, #1 802d9a0: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 8; i++) { 802d9a4: 2300 movs r3, #0 802d9a6: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802d9aa: e010 b.n 802d9ce *pfile++ = ' '; 802d9ac: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d9b0: 1c5a adds r2, r3, #1 802d9b2: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d9b6: 2220 movs r2, #32 802d9b8: 701a strb r2, [r3, #0] size++; 802d9ba: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d9be: 3301 adds r3, #1 802d9c0: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 8; i++) { 802d9c4: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802d9c8: 3301 adds r3, #1 802d9ca: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802d9ce: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802d9d2: 2b07 cmp r3, #7 802d9d4: d9ea bls.n 802d9ac } *pfile++ = '"'; size++; 802d9d6: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d9da: 1c5a adds r2, r3, #1 802d9dc: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d9e0: 2222 movs r2, #34 ; 0x22 802d9e2: 701a strb r2, [r3, #0] 802d9e4: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802d9e8: 3301 adds r3, #1 802d9ea: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'c'; size++; 802d9ee: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802d9f2: 1c5a adds r2, r3, #1 802d9f4: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802d9f8: 2263 movs r2, #99 ; 0x63 802d9fa: 701a strb r2, [r3, #0] 802d9fc: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802da00: 3301 adds r3, #1 802da02: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'h'; size++; 802da06: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802da0a: 1c5a adds r2, r3, #1 802da0c: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802da10: 2268 movs r2, #104 ; 0x68 802da12: 701a strb r2, [r3, #0] 802da14: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802da18: 3301 adds r3, #1 802da1a: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'a'; size++; 802da1e: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802da22: 1c5a adds r2, r3, #1 802da24: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802da28: 2261 movs r2, #97 ; 0x61 802da2a: 701a strb r2, [r3, #0] 802da2c: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802da30: 3301 adds r3, #1 802da32: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'n'; size++; 802da36: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802da3a: 1c5a adds r2, r3, #1 802da3c: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802da40: 226e movs r2, #110 ; 0x6e 802da42: 701a strb r2, [r3, #0] 802da44: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802da48: 3301 adds r3, #1 802da4a: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'n'; size++; 802da4e: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802da52: 1c5a adds r2, r3, #1 802da54: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802da58: 226e movs r2, #110 ; 0x6e 802da5a: 701a strb r2, [r3, #0] 802da5c: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802da60: 3301 adds r3, #1 802da62: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'e'; size++; 802da66: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802da6a: 1c5a adds r2, r3, #1 802da6c: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802da70: 2265 movs r2, #101 ; 0x65 802da72: 701a strb r2, [r3, #0] 802da74: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802da78: 3301 adds r3, #1 802da7a: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'l'; size++; 802da7e: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802da82: 1c5a adds r2, r3, #1 802da84: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802da88: 226c movs r2, #108 ; 0x6c 802da8a: 701a strb r2, [r3, #0] 802da8c: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802da90: 3301 adds r3, #1 802da92: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 's'; size++; 802da96: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802da9a: 1c5a adds r2, r3, #1 802da9c: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802daa0: 2273 movs r2, #115 ; 0x73 802daa2: 701a strb r2, [r3, #0] 802daa4: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802daa8: 3301 adds r3, #1 802daaa: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802daae: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dab2: 1c5a adds r2, r3, #1 802dab4: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dab8: 2222 movs r2, #34 ; 0x22 802daba: 701a strb r2, [r3, #0] 802dabc: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dac0: 3301 adds r3, #1 802dac2: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ':'; size++; 802dac6: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802daca: 1c5a adds r2, r3, #1 802dacc: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dad0: 223a movs r2, #58 ; 0x3a 802dad2: 701a strb r2, [r3, #0] 802dad4: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dad8: 3301 adds r3, #1 802dada: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ' '; size++; 802dade: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dae2: 1c5a adds r2, r3, #1 802dae4: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dae8: 2220 movs r2, #32 802daea: 701a strb r2, [r3, #0] 802daec: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802daf0: 3301 adds r3, #1 802daf2: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '['; size++; 802daf6: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dafa: 1c5a adds r2, r3, #1 802dafc: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802db00: 225b movs r2, #91 ; 0x5b 802db02: 701a strb r2, [r3, #0] 802db04: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802db08: 3301 adds r3, #1 802db0a: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802db0e: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802db12: 1c5a adds r2, r3, #1 802db14: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802db18: 220a movs r2, #10 802db1a: 701a strb r2, [r3, #0] 802db1c: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802db20: 3301 adds r3, #1 802db22: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 12; i++) { 802db26: 2300 movs r3, #0 802db28: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802db2c: e010 b.n 802db50 *pfile++ = ' '; 802db2e: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802db32: 1c5a adds r2, r3, #1 802db34: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802db38: 2220 movs r2, #32 802db3a: 701a strb r2, [r3, #0] size++; 802db3c: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802db40: 3301 adds r3, #1 802db42: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 12; i++) { 802db46: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802db4a: 3301 adds r3, #1 802db4c: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802db50: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802db54: 2b0b cmp r3, #11 802db56: d9ea bls.n 802db2e } *pfile++ = '{'; size++; 802db58: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802db5c: 1c5a adds r2, r3, #1 802db5e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802db62: 227b movs r2, #123 ; 0x7b 802db64: 701a strb r2, [r3, #0] 802db66: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802db6a: 3301 adds r3, #1 802db6c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802db70: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802db74: 1c5a adds r2, r3, #1 802db76: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802db7a: 220a movs r2, #10 802db7c: 701a strb r2, [r3, #0] 802db7e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802db82: 3301 adds r3, #1 802db84: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '6'; size++; *pfile++ = '0'; size++; *pfile++ = ','; size++; *pfile++ = '\n'; size++;*/ ///////////////////////////////////////////////// for(i = 0; i < 16; i++) { 802db88: 2300 movs r3, #0 802db8a: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802db8e: e014 b.n 802dbba 802db90: 200215b4 .word 0x200215b4 802db94: 20026d18 .word 0x20026d18 *pfile++ = ' '; 802db98: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802db9c: 1c5a adds r2, r3, #1 802db9e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dba2: 2220 movs r2, #32 802dba4: 701a strb r2, [r3, #0] size++; 802dba6: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dbaa: 3301 adds r3, #1 802dbac: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 16; i++) { 802dbb0: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802dbb4: 3301 adds r3, #1 802dbb6: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802dbba: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802dbbe: 2b0f cmp r3, #15 802dbc0: d9ea bls.n 802db98 } *pfile++ = '"'; size++; 802dbc2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dbc6: 1c5a adds r2, r3, #1 802dbc8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dbcc: 2222 movs r2, #34 ; 0x22 802dbce: 701a strb r2, [r3, #0] 802dbd0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dbd4: 3301 adds r3, #1 802dbd6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'g'; size++; 802dbda: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dbde: 1c5a adds r2, r3, #1 802dbe0: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dbe4: 2267 movs r2, #103 ; 0x67 802dbe6: 701a strb r2, [r3, #0] 802dbe8: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dbec: 3301 adds r3, #1 802dbee: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'a'; size++; 802dbf2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dbf6: 1c5a adds r2, r3, #1 802dbf8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dbfc: 2261 movs r2, #97 ; 0x61 802dbfe: 701a strb r2, [r3, #0] 802dc00: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dc04: 3301 adds r3, #1 802dc06: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'i'; size++; 802dc0a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dc0e: 1c5a adds r2, r3, #1 802dc10: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dc14: 2269 movs r2, #105 ; 0x69 802dc16: 701a strb r2, [r3, #0] 802dc18: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dc1c: 3301 adds r3, #1 802dc1e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'n'; size++; 802dc22: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dc26: 1c5a adds r2, r3, #1 802dc28: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dc2c: 226e movs r2, #110 ; 0x6e 802dc2e: 701a strb r2, [r3, #0] 802dc30: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dc34: 3301 adds r3, #1 802dc36: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802dc3a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dc3e: 1c5a adds r2, r3, #1 802dc40: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dc44: 2222 movs r2, #34 ; 0x22 802dc46: 701a strb r2, [r3, #0] 802dc48: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dc4c: 3301 adds r3, #1 802dc4e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ':'; size++; 802dc52: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dc56: 1c5a adds r2, r3, #1 802dc58: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dc5c: 223a movs r2, #58 ; 0x3a 802dc5e: 701a strb r2, [r3, #0] 802dc60: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dc64: 3301 adds r3, #1 802dc66: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ' '; size++; 802dc6a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dc6e: 1c5a adds r2, r3, #1 802dc70: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dc74: 2220 movs r2, #32 802dc76: 701a strb r2, [r3, #0] 802dc78: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dc7c: 3301 adds r3, #1 802dc7e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '1'; size++; 802dc82: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dc86: 1c5a adds r2, r3, #1 802dc88: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dc8c: 2231 movs r2, #49 ; 0x31 802dc8e: 701a strb r2, [r3, #0] 802dc90: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dc94: 3301 adds r3, #1 802dc96: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '.'; size++; 802dc9a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dc9e: 1c5a adds r2, r3, #1 802dca0: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dca4: 222e movs r2, #46 ; 0x2e 802dca6: 701a strb r2, [r3, #0] 802dca8: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dcac: 3301 adds r3, #1 802dcae: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '0'; size++; 802dcb2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dcb6: 1c5a adds r2, r3, #1 802dcb8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dcbc: 2230 movs r2, #48 ; 0x30 802dcbe: 701a strb r2, [r3, #0] 802dcc0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dcc4: 3301 adds r3, #1 802dcc6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 /*memset(str, 0, sizeof(str)); FloatToASCII((1.0f / CorrKk[ACC]), -6); l = strlen(pString); memcpy(pfile, pString, l); size += l; pfile += l;*/ *pfile++ = ','; size++; 802dcca: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dcce: 1c5a adds r2, r3, #1 802dcd0: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dcd4: 222c movs r2, #44 ; 0x2c 802dcd6: 701a strb r2, [r3, #0] 802dcd8: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dcdc: 3301 adds r3, #1 802dcde: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802dce2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dce6: 1c5a adds r2, r3, #1 802dce8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dcec: 220a movs r2, #10 802dcee: 701a strb r2, [r3, #0] 802dcf0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dcf4: 3301 adds r3, #1 802dcf6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 's'; size++; *pfile++ = 'e'; size++; *pfile++ = ','; size++; *pfile++ = '\n'; size++;*/ ////////////////////////////////////////// for(i = 0; i < 16; i++) { 802dcfa: 2300 movs r3, #0 802dcfc: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802dd00: e010 b.n 802dd24 *pfile++ = ' '; 802dd02: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dd06: 1c5a adds r2, r3, #1 802dd08: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dd0c: 2220 movs r2, #32 802dd0e: 701a strb r2, [r3, #0] size++; 802dd10: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dd14: 3301 adds r3, #1 802dd16: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 16; i++) { 802dd1a: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802dd1e: 3301 adds r3, #1 802dd20: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802dd24: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802dd28: 2b0f cmp r3, #15 802dd2a: d9ea bls.n 802dd02 } *pfile++ = '"'; size++; 802dd2c: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dd30: 1c5a adds r2, r3, #1 802dd32: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dd36: 2222 movs r2, #34 ; 0x22 802dd38: 701a strb r2, [r3, #0] 802dd3a: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dd3e: 3301 adds r3, #1 802dd40: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'n'; size++; 802dd44: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dd48: 1c5a adds r2, r3, #1 802dd4a: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dd4e: 226e movs r2, #110 ; 0x6e 802dd50: 701a strb r2, [r3, #0] 802dd52: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dd56: 3301 adds r3, #1 802dd58: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'a'; size++; 802dd5c: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dd60: 1c5a adds r2, r3, #1 802dd62: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dd66: 2261 movs r2, #97 ; 0x61 802dd68: 701a strb r2, [r3, #0] 802dd6a: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dd6e: 3301 adds r3, #1 802dd70: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'm'; size++; 802dd74: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dd78: 1c5a adds r2, r3, #1 802dd7a: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dd7e: 226d movs r2, #109 ; 0x6d 802dd80: 701a strb r2, [r3, #0] 802dd82: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dd86: 3301 adds r3, #1 802dd88: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'e'; size++; 802dd8c: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dd90: 1c5a adds r2, r3, #1 802dd92: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dd96: 2265 movs r2, #101 ; 0x65 802dd98: 701a strb r2, [r3, #0] 802dd9a: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dd9e: 3301 adds r3, #1 802dda0: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802dda4: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dda8: 1c5a adds r2, r3, #1 802ddaa: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802ddae: 2222 movs r2, #34 ; 0x22 802ddb0: 701a strb r2, [r3, #0] 802ddb2: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802ddb6: 3301 adds r3, #1 802ddb8: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ':'; size++; 802ddbc: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802ddc0: 1c5a adds r2, r3, #1 802ddc2: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802ddc6: 223a movs r2, #58 ; 0x3a 802ddc8: 701a strb r2, [r3, #0] 802ddca: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802ddce: 3301 adds r3, #1 802ddd0: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ' '; size++; 802ddd4: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802ddd8: 1c5a adds r2, r3, #1 802ddda: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802ddde: 2220 movs r2, #32 802dde0: 701a strb r2, [r3, #0] 802dde2: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dde6: 3301 adds r3, #1 802dde8: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802ddec: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802ddf0: 1c5a adds r2, r3, #1 802ddf2: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802ddf6: 2222 movs r2, #34 ; 0x22 802ddf8: 701a strb r2, [r3, #0] 802ddfa: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802ddfe: 3301 adds r3, #1 802de00: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'i'; size++; 802de04: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802de08: 1c5a adds r2, r3, #1 802de0a: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802de0e: 2269 movs r2, #105 ; 0x69 802de10: 701a strb r2, [r3, #0] 802de12: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802de16: 3301 adds r3, #1 802de18: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'n'; size++; 802de1c: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802de20: 1c5a adds r2, r3, #1 802de22: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802de26: 226e movs r2, #110 ; 0x6e 802de28: 701a strb r2, [r3, #0] 802de2a: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802de2e: 3301 adds r3, #1 802de30: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'p'; size++; 802de34: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802de38: 1c5a adds r2, r3, #1 802de3a: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802de3e: 2270 movs r2, #112 ; 0x70 802de40: 701a strb r2, [r3, #0] 802de42: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802de46: 3301 adds r3, #1 802de48: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'u'; size++; 802de4c: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802de50: 1c5a adds r2, r3, #1 802de52: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802de56: 2275 movs r2, #117 ; 0x75 802de58: 701a strb r2, [r3, #0] 802de5a: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802de5e: 3301 adds r3, #1 802de60: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 't'; size++; 802de64: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802de68: 1c5a adds r2, r3, #1 802de6a: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802de6e: 2274 movs r2, #116 ; 0x74 802de70: 701a strb r2, [r3, #0] 802de72: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802de76: 3301 adds r3, #1 802de78: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802de7c: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802de80: 1c5a adds r2, r3, #1 802de82: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802de86: 2222 movs r2, #34 ; 0x22 802de88: 701a strb r2, [r3, #0] 802de8a: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802de8e: 3301 adds r3, #1 802de90: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ','; size++; 802de94: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802de98: 1c5a adds r2, r3, #1 802de9a: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802de9e: 222c movs r2, #44 ; 0x2c 802dea0: 701a strb r2, [r3, #0] 802dea2: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dea6: 3301 adds r3, #1 802dea8: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802deac: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802deb0: 1c5a adds r2, r3, #1 802deb2: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802deb6: 220a movs r2, #10 802deb8: 701a strb r2, [r3, #0] 802deba: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802debe: 3301 adds r3, #1 802dec0: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 't'; size++; *pfile++ = '"'; size++; *pfile++ = ','; size++; *pfile++ = '\n'; size++;*/ ////////////////////////////////////////// for(i = 0; i < 16; i++) { 802dec4: 2300 movs r3, #0 802dec6: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802deca: e010 b.n 802deee *pfile++ = ' '; 802decc: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802ded0: 1c5a adds r2, r3, #1 802ded2: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802ded6: 2220 movs r2, #32 802ded8: 701a strb r2, [r3, #0] size++; 802deda: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dede: 3301 adds r3, #1 802dee0: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 16; i++) { 802dee4: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802dee8: 3301 adds r3, #1 802deea: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802deee: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802def2: 2b0f cmp r3, #15 802def4: d9ea bls.n 802decc } *pfile++ = '"'; size++; 802def6: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802defa: 1c5a adds r2, r3, #1 802defc: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802df00: 2222 movs r2, #34 ; 0x22 802df02: 701a strb r2, [r3, #0] 802df04: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802df08: 3301 adds r3, #1 802df0a: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'o'; size++; 802df0e: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802df12: 1c5a adds r2, r3, #1 802df14: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802df18: 226f movs r2, #111 ; 0x6f 802df1a: 701a strb r2, [r3, #0] 802df1c: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802df20: 3301 adds r3, #1 802df22: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'f'; size++; 802df26: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802df2a: 1c5a adds r2, r3, #1 802df2c: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802df30: 2266 movs r2, #102 ; 0x66 802df32: 701a strb r2, [r3, #0] 802df34: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802df38: 3301 adds r3, #1 802df3a: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'f'; size++; 802df3e: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802df42: 1c5a adds r2, r3, #1 802df44: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802df48: 2266 movs r2, #102 ; 0x66 802df4a: 701a strb r2, [r3, #0] 802df4c: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802df50: 3301 adds r3, #1 802df52: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 's'; size++; 802df56: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802df5a: 1c5a adds r2, r3, #1 802df5c: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802df60: 2273 movs r2, #115 ; 0x73 802df62: 701a strb r2, [r3, #0] 802df64: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802df68: 3301 adds r3, #1 802df6a: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'e'; size++; 802df6e: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802df72: 1c5a adds r2, r3, #1 802df74: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802df78: 2265 movs r2, #101 ; 0x65 802df7a: 701a strb r2, [r3, #0] 802df7c: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802df80: 3301 adds r3, #1 802df82: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 't'; size++; 802df86: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802df8a: 1c5a adds r2, r3, #1 802df8c: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802df90: 2274 movs r2, #116 ; 0x74 802df92: 701a strb r2, [r3, #0] 802df94: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802df98: 3301 adds r3, #1 802df9a: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802df9e: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dfa2: 1c5a adds r2, r3, #1 802dfa4: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dfa8: 2222 movs r2, #34 ; 0x22 802dfaa: 701a strb r2, [r3, #0] 802dfac: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dfb0: 3301 adds r3, #1 802dfb2: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ':'; size++; 802dfb6: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dfba: 1c5a adds r2, r3, #1 802dfbc: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dfc0: 223a movs r2, #58 ; 0x3a 802dfc2: 701a strb r2, [r3, #0] 802dfc4: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dfc8: 3301 adds r3, #1 802dfca: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ' '; size++; 802dfce: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dfd2: 1c5a adds r2, r3, #1 802dfd4: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dfd8: 2220 movs r2, #32 802dfda: 701a strb r2, [r3, #0] 802dfdc: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dfe0: 3301 adds r3, #1 802dfe2: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 /*memset(str, 0, sizeof(str)); //ftoa(MEAN, str, 6); FloatToASCII(MEAN, -3); l = strlen(pString); memcpy(pfile, pString, l); size += l;*/ *pfile++ = '0'; size++; 802dfe6: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802dfea: 1c5a adds r2, r3, #1 802dfec: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802dff0: 2230 movs r2, #48 ; 0x30 802dff2: 701a strb r2, [r3, #0] 802dff4: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802dff8: 3301 adds r3, #1 802dffa: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ','; size++; 802dffe: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e002: 1c5a adds r2, r3, #1 802e004: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e008: 222c movs r2, #44 ; 0x2c 802e00a: 701a strb r2, [r3, #0] 802e00c: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e010: 3301 adds r3, #1 802e012: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802e016: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e01a: 1c5a adds r2, r3, #1 802e01c: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e020: 220a movs r2, #10 802e022: 701a strb r2, [r3, #0] 802e024: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e028: 3301 adds r3, #1 802e02a: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 ////////////////////////////////////////// for(i = 0; i < 16; i++) { 802e02e: 2300 movs r3, #0 802e030: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802e034: e010 b.n 802e058 *pfile++ = ' '; 802e036: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e03a: 1c5a adds r2, r3, #1 802e03c: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e040: 2220 movs r2, #32 802e042: 701a strb r2, [r3, #0] size++; 802e044: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e048: 3301 adds r3, #1 802e04a: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 16; i++) { 802e04e: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802e052: 3301 adds r3, #1 802e054: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802e058: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802e05c: 2b0f cmp r3, #15 802e05e: d9ea bls.n 802e036 } *pfile++ = '"'; size++; 802e060: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e064: 1c5a adds r2, r3, #1 802e066: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e06a: 2222 movs r2, #34 ; 0x22 802e06c: 701a strb r2, [r3, #0] 802e06e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e072: 3301 adds r3, #1 802e074: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'r'; size++; 802e078: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e07c: 1c5a adds r2, r3, #1 802e07e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e082: 2272 movs r2, #114 ; 0x72 802e084: 701a strb r2, [r3, #0] 802e086: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e08a: 3301 adds r3, #1 802e08c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'e'; size++; 802e090: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e094: 1c5a adds r2, r3, #1 802e096: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e09a: 2265 movs r2, #101 ; 0x65 802e09c: 701a strb r2, [r3, #0] 802e09e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e0a2: 3301 adds r3, #1 802e0a4: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'f'; size++; 802e0a8: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e0ac: 1c5a adds r2, r3, #1 802e0ae: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e0b2: 2266 movs r2, #102 ; 0x66 802e0b4: 701a strb r2, [r3, #0] 802e0b6: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e0ba: 3301 adds r3, #1 802e0bc: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'e'; size++; 802e0c0: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e0c4: 1c5a adds r2, r3, #1 802e0c6: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e0ca: 2265 movs r2, #101 ; 0x65 802e0cc: 701a strb r2, [r3, #0] 802e0ce: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e0d2: 3301 adds r3, #1 802e0d4: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'r'; size++; 802e0d8: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e0dc: 1c5a adds r2, r3, #1 802e0de: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e0e2: 2272 movs r2, #114 ; 0x72 802e0e4: 701a strb r2, [r3, #0] 802e0e6: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e0ea: 3301 adds r3, #1 802e0ec: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'e'; size++; 802e0f0: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e0f4: 1c5a adds r2, r3, #1 802e0f6: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e0fa: 2265 movs r2, #101 ; 0x65 802e0fc: 701a strb r2, [r3, #0] 802e0fe: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e102: 3301 adds r3, #1 802e104: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'n'; size++; 802e108: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e10c: 1c5a adds r2, r3, #1 802e10e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e112: 226e movs r2, #110 ; 0x6e 802e114: 701a strb r2, [r3, #0] 802e116: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e11a: 3301 adds r3, #1 802e11c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'c'; size++; 802e120: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e124: 1c5a adds r2, r3, #1 802e126: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e12a: 2263 movs r2, #99 ; 0x63 802e12c: 701a strb r2, [r3, #0] 802e12e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e132: 3301 adds r3, #1 802e134: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'e'; size++; 802e138: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e13c: 1c5a adds r2, r3, #1 802e13e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e142: 2265 movs r2, #101 ; 0x65 802e144: 701a strb r2, [r3, #0] 802e146: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e14a: 3301 adds r3, #1 802e14c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802e150: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e154: 1c5a adds r2, r3, #1 802e156: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e15a: 2222 movs r2, #34 ; 0x22 802e15c: 701a strb r2, [r3, #0] 802e15e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e162: 3301 adds r3, #1 802e164: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ':'; size++; 802e168: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e16c: 1c5a adds r2, r3, #1 802e16e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e172: 223a movs r2, #58 ; 0x3a 802e174: 701a strb r2, [r3, #0] 802e176: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e17a: 3301 adds r3, #1 802e17c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ' '; size++; 802e180: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e184: 1c5a adds r2, r3, #1 802e186: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e18a: 2220 movs r2, #32 802e18c: 701a strb r2, [r3, #0] 802e18e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e192: 3301 adds r3, #1 802e194: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '1'; size++; 802e198: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e19c: 1c5a adds r2, r3, #1 802e19e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e1a2: 2231 movs r2, #49 ; 0x31 802e1a4: 701a strb r2, [r3, #0] 802e1a6: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e1aa: 3301 adds r3, #1 802e1ac: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '.'; size++; 802e1b0: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e1b4: 1c5a adds r2, r3, #1 802e1b6: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e1ba: 222e movs r2, #46 ; 0x2e 802e1bc: 701a strb r2, [r3, #0] 802e1be: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e1c2: 3301 adds r3, #1 802e1c4: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '0'; size++; 802e1c8: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e1cc: 1c5a adds r2, r3, #1 802e1ce: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e1d2: 2230 movs r2, #48 ; 0x30 802e1d4: 701a strb r2, [r3, #0] 802e1d6: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e1da: 3301 adds r3, #1 802e1dc: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ','; size++; 802e1e0: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e1e4: 1c5a adds r2, r3, #1 802e1e6: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e1ea: 222c movs r2, #44 ; 0x2c 802e1ec: 701a strb r2, [r3, #0] 802e1ee: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e1f2: 3301 adds r3, #1 802e1f4: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802e1f8: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e1fc: 1c5a adds r2, r3, #1 802e1fe: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e202: 220a movs r2, #10 802e204: 701a strb r2, [r3, #0] 802e206: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e20a: 3301 adds r3, #1 802e20c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 ////////////////////////////////////////// for(i = 0; i < 16; i++) { 802e210: 2300 movs r3, #0 802e212: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802e216: e010 b.n 802e23a *pfile++ = ' '; 802e218: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e21c: 1c5a adds r2, r3, #1 802e21e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e222: 2220 movs r2, #32 802e224: 701a strb r2, [r3, #0] size++; 802e226: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e22a: 3301 adds r3, #1 802e22c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 16; i++) { 802e230: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802e234: 3301 adds r3, #1 802e236: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802e23a: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802e23e: 2b0f cmp r3, #15 802e240: d9ea bls.n 802e218 } *pfile++ = '"'; size++; 802e242: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e246: 1c5a adds r2, r3, #1 802e248: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e24c: 2222 movs r2, #34 ; 0x22 802e24e: 701a strb r2, [r3, #0] 802e250: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e254: 3301 adds r3, #1 802e256: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 's'; size++; 802e25a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e25e: 1c5a adds r2, r3, #1 802e260: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e264: 2273 movs r2, #115 ; 0x73 802e266: 701a strb r2, [r3, #0] 802e268: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e26c: 3301 adds r3, #1 802e26e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'e'; size++; 802e272: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e276: 1c5a adds r2, r3, #1 802e278: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e27c: 2265 movs r2, #101 ; 0x65 802e27e: 701a strb r2, [r3, #0] 802e280: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e284: 3301 adds r3, #1 802e286: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'n'; size++; 802e28a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e28e: 1c5a adds r2, r3, #1 802e290: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e294: 226e movs r2, #110 ; 0x6e 802e296: 701a strb r2, [r3, #0] 802e298: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e29c: 3301 adds r3, #1 802e29e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 's'; size++; 802e2a2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e2a6: 1c5a adds r2, r3, #1 802e2a8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e2ac: 2273 movs r2, #115 ; 0x73 802e2ae: 701a strb r2, [r3, #0] 802e2b0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e2b4: 3301 adds r3, #1 802e2b6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'i'; size++; 802e2ba: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e2be: 1c5a adds r2, r3, #1 802e2c0: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e2c4: 2269 movs r2, #105 ; 0x69 802e2c6: 701a strb r2, [r3, #0] 802e2c8: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e2cc: 3301 adds r3, #1 802e2ce: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 't'; size++; 802e2d2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e2d6: 1c5a adds r2, r3, #1 802e2d8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e2dc: 2274 movs r2, #116 ; 0x74 802e2de: 701a strb r2, [r3, #0] 802e2e0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e2e4: 3301 adds r3, #1 802e2e6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'i'; size++; 802e2ea: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e2ee: 1c5a adds r2, r3, #1 802e2f0: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e2f4: 2269 movs r2, #105 ; 0x69 802e2f6: 701a strb r2, [r3, #0] 802e2f8: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e2fc: 3301 adds r3, #1 802e2fe: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'v'; size++; 802e302: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e306: 1c5a adds r2, r3, #1 802e308: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e30c: 2276 movs r2, #118 ; 0x76 802e30e: 701a strb r2, [r3, #0] 802e310: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e314: 3301 adds r3, #1 802e316: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'i'; size++; 802e31a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e31e: 1c5a adds r2, r3, #1 802e320: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e324: 2269 movs r2, #105 ; 0x69 802e326: 701a strb r2, [r3, #0] 802e328: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e32c: 3301 adds r3, #1 802e32e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 't'; size++; 802e332: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e336: 1c5a adds r2, r3, #1 802e338: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e33c: 2274 movs r2, #116 ; 0x74 802e33e: 701a strb r2, [r3, #0] 802e340: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e344: 3301 adds r3, #1 802e346: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'y'; size++; 802e34a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e34e: 1c5a adds r2, r3, #1 802e350: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e354: 2279 movs r2, #121 ; 0x79 802e356: 701a strb r2, [r3, #0] 802e358: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e35c: 3301 adds r3, #1 802e35e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802e362: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e366: 1c5a adds r2, r3, #1 802e368: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e36c: 2222 movs r2, #34 ; 0x22 802e36e: 701a strb r2, [r3, #0] 802e370: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e374: 3301 adds r3, #1 802e376: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ':'; size++; 802e37a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e37e: 1c5a adds r2, r3, #1 802e380: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e384: 223a movs r2, #58 ; 0x3a 802e386: 701a strb r2, [r3, #0] 802e388: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e38c: 3301 adds r3, #1 802e38e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ' '; size++; 802e392: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e396: 1c5a adds r2, r3, #1 802e398: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e39c: 2220 movs r2, #32 802e39e: 701a strb r2, [r3, #0] 802e3a0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e3a4: 3301 adds r3, #1 802e3a6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '0'; size++; 802e3aa: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e3ae: 1c5a adds r2, r3, #1 802e3b0: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e3b4: 2230 movs r2, #48 ; 0x30 802e3b6: 701a strb r2, [r3, #0] 802e3b8: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e3bc: 3301 adds r3, #1 802e3be: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '.'; size++; 802e3c2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e3c6: 1c5a adds r2, r3, #1 802e3c8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e3cc: 222e movs r2, #46 ; 0x2e 802e3ce: 701a strb r2, [r3, #0] 802e3d0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e3d4: 3301 adds r3, #1 802e3d6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ies + 48; size++; 802e3da: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e3de: 1c5a adds r2, r3, #1 802e3e0: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e3e4: f897 20ab ldrb.w r2, [r7, #171] ; 0xab 802e3e8: 3230 adds r2, #48 ; 0x30 802e3ea: b2d2 uxtb r2, r2 802e3ec: 701a strb r2, [r3, #0] 802e3ee: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e3f2: 3301 adds r3, #1 802e3f4: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ied + 48; size++; 802e3f8: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e3fc: 1c5a adds r2, r3, #1 802e3fe: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e402: f897 20aa ldrb.w r2, [r7, #170] ; 0xaa 802e406: 3230 adds r2, #48 ; 0x30 802e408: b2d2 uxtb r2, r2 802e40a: 701a strb r2, [r3, #0] 802e40c: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e410: 3301 adds r3, #1 802e412: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = iee + 48; size++; 802e416: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e41a: 1c5a adds r2, r3, #1 802e41c: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e420: f897 20a9 ldrb.w r2, [r7, #169] ; 0xa9 802e424: 3230 adds r2, #48 ; 0x30 802e426: b2d2 uxtb r2, r2 802e428: 701a strb r2, [r3, #0] 802e42a: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e42e: 3301 adds r3, #1 802e430: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ikd + 48; size++; 802e434: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e438: 1c5a adds r2, r3, #1 802e43a: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e43e: f897 20a8 ldrb.w r2, [r7, #168] ; 0xa8 802e442: 3230 adds r2, #48 ; 0x30 802e444: b2d2 uxtb r2, r2 802e446: 701a strb r2, [r3, #0] 802e448: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e44c: 3301 adds r3, #1 802e44e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = iks + 48; size++; 802e452: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e456: 1c5a adds r2, r3, #1 802e458: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e45c: f897 20a7 ldrb.w r2, [r7, #167] ; 0xa7 802e460: 3230 adds r2, #48 ; 0x30 802e462: b2d2 uxtb r2, r2 802e464: 701a strb r2, [r3, #0] 802e466: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e46a: 3301 adds r3, #1 802e46c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ikt + 48; size++; 802e470: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e474: 1c5a adds r2, r3, #1 802e476: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e47a: f897 20a6 ldrb.w r2, [r7, #166] ; 0xa6 802e47e: 3230 adds r2, #48 ; 0x30 802e480: b2d2 uxtb r2, r2 802e482: 701a strb r2, [r3, #0] 802e484: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e488: 3301 adds r3, #1 802e48a: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 /*memset(str, 0, sizeof(str)); //ftoa(pardata.IKK, str, 3); FloatToASCII(pardata.IKK, -3); l = strlen(pString); memcpy(pfile, pString, l); size += l; pfile += l;*/ *pfile++ = ','; size++; 802e48e: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e492: 1c5a adds r2, r3, #1 802e494: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e498: 222c movs r2, #44 ; 0x2c 802e49a: 701a strb r2, [r3, #0] 802e49c: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e4a0: 3301 adds r3, #1 802e4a2: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802e4a6: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e4aa: 1c5a adds r2, r3, #1 802e4ac: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e4b0: 220a movs r2, #10 802e4b2: 701a strb r2, [r3, #0] 802e4b4: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e4b8: 3301 adds r3, #1 802e4ba: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 ////////////////////////////////////////// for(i = 0; i < 16; i++) { 802e4be: 2300 movs r3, #0 802e4c0: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802e4c4: e010 b.n 802e4e8 *pfile++ = ' '; 802e4c6: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e4ca: 1c5a adds r2, r3, #1 802e4cc: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e4d0: 2220 movs r2, #32 802e4d2: 701a strb r2, [r3, #0] size++; 802e4d4: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e4d8: 3301 adds r3, #1 802e4da: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 16; i++) { 802e4de: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802e4e2: 3301 adds r3, #1 802e4e4: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802e4e8: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802e4ec: 2b0f cmp r3, #15 802e4ee: d9ea bls.n 802e4c6 } *pfile++ = '"'; size++; 802e4f0: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e4f4: 1c5a adds r2, r3, #1 802e4f6: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e4fa: 2222 movs r2, #34 ; 0x22 802e4fc: 701a strb r2, [r3, #0] 802e4fe: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e502: 3301 adds r3, #1 802e504: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'u'; size++; 802e508: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e50c: 1c5a adds r2, r3, #1 802e50e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e512: 2275 movs r2, #117 ; 0x75 802e514: 701a strb r2, [r3, #0] 802e516: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e51a: 3301 adds r3, #1 802e51c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'n'; size++; 802e520: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e524: 1c5a adds r2, r3, #1 802e526: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e52a: 226e movs r2, #110 ; 0x6e 802e52c: 701a strb r2, [r3, #0] 802e52e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e532: 3301 adds r3, #1 802e534: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'i'; size++; 802e538: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e53c: 1c5a adds r2, r3, #1 802e53e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e542: 2269 movs r2, #105 ; 0x69 802e544: 701a strb r2, [r3, #0] 802e546: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e54a: 3301 adds r3, #1 802e54c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 't'; size++; 802e550: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e554: 1c5a adds r2, r3, #1 802e556: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e55a: 2274 movs r2, #116 ; 0x74 802e55c: 701a strb r2, [r3, #0] 802e55e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e562: 3301 adds r3, #1 802e564: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802e568: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e56c: 1c5a adds r2, r3, #1 802e56e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e572: 2222 movs r2, #34 ; 0x22 802e574: 701a strb r2, [r3, #0] 802e576: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e57a: 3301 adds r3, #1 802e57c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ':'; size++; 802e580: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e584: 1c5a adds r2, r3, #1 802e586: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e58a: 223a movs r2, #58 ; 0x3a 802e58c: 701a strb r2, [r3, #0] 802e58e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e592: 3301 adds r3, #1 802e594: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ' '; size++; 802e598: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e59c: 1c5a adds r2, r3, #1 802e59e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e5a2: 2220 movs r2, #32 802e5a4: 701a strb r2, [r3, #0] 802e5a6: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e5aa: 3301 adds r3, #1 802e5ac: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802e5b0: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e5b4: 1c5a adds r2, r3, #1 802e5b6: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e5ba: 2222 movs r2, #34 ; 0x22 802e5bc: 701a strb r2, [r3, #0] 802e5be: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e5c2: 3301 adds r3, #1 802e5c4: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'm'; size++; 802e5c8: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e5cc: 1c5a adds r2, r3, #1 802e5ce: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e5d2: 226d movs r2, #109 ; 0x6d 802e5d4: 701a strb r2, [r3, #0] 802e5d6: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e5da: 3301 adds r3, #1 802e5dc: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '/'; size++; 802e5e0: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e5e4: 1c5a adds r2, r3, #1 802e5e6: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e5ea: 222f movs r2, #47 ; 0x2f 802e5ec: 701a strb r2, [r3, #0] 802e5ee: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e5f2: 3301 adds r3, #1 802e5f4: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 's'; size++; 802e5f8: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e5fc: 1c5a adds r2, r3, #1 802e5fe: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e602: 2273 movs r2, #115 ; 0x73 802e604: 701a strb r2, [r3, #0] 802e606: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e60a: 3301 adds r3, #1 802e60c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '2'; size++; 802e610: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e614: 1c5a adds r2, r3, #1 802e616: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e61a: 2232 movs r2, #50 ; 0x32 802e61c: 701a strb r2, [r3, #0] 802e61e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e622: 3301 adds r3, #1 802e624: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802e628: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e62c: 1c5a adds r2, r3, #1 802e62e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e632: 2222 movs r2, #34 ; 0x22 802e634: 701a strb r2, [r3, #0] 802e636: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e63a: 3301 adds r3, #1 802e63c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802e640: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e644: 1c5a adds r2, r3, #1 802e646: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e64a: 220a movs r2, #10 802e64c: 701a strb r2, [r3, #0] 802e64e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e652: 3301 adds r3, #1 802e654: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 ////////////////////////////////////////// for(i = 0; i < 12; i++) { 802e658: 2300 movs r3, #0 802e65a: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802e65e: e010 b.n 802e682 *pfile++ = ' '; 802e660: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e664: 1c5a adds r2, r3, #1 802e666: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e66a: 2220 movs r2, #32 802e66c: 701a strb r2, [r3, #0] size++; 802e66e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e672: 3301 adds r3, #1 802e674: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 12; i++) { 802e678: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802e67c: 3301 adds r3, #1 802e67e: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802e682: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802e686: 2b0b cmp r3, #11 802e688: d9ea bls.n 802e660 } *pfile++ = '}'; size++; 802e68a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e68e: 1c5a adds r2, r3, #1 802e690: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e694: 227d movs r2, #125 ; 0x7d 802e696: 701a strb r2, [r3, #0] 802e698: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e69c: 3301 adds r3, #1 802e69e: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802e6a2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e6a6: 1c5a adds r2, r3, #1 802e6a8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e6ac: 220a movs r2, #10 802e6ae: 701a strb r2, [r3, #0] 802e6b0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e6b4: 3301 adds r3, #1 802e6b6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 ////////////////////////////////////////// for(i = 0; i < 8; i++) { 802e6ba: 2300 movs r3, #0 802e6bc: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802e6c0: e010 b.n 802e6e4 *pfile++ = ' '; 802e6c2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e6c6: 1c5a adds r2, r3, #1 802e6c8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e6cc: 2220 movs r2, #32 802e6ce: 701a strb r2, [r3, #0] size++; 802e6d0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e6d4: 3301 adds r3, #1 802e6d6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 8; i++) { 802e6da: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802e6de: 3301 adds r3, #1 802e6e0: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802e6e4: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802e6e8: 2b07 cmp r3, #7 802e6ea: d9ea bls.n 802e6c2 } *pfile++ = ']'; size++; 802e6ec: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e6f0: 1c5a adds r2, r3, #1 802e6f2: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e6f6: 225d movs r2, #93 ; 0x5d 802e6f8: 701a strb r2, [r3, #0] 802e6fa: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e6fe: 3301 adds r3, #1 802e700: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ','; size++; 802e704: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e708: 1c5a adds r2, r3, #1 802e70a: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e70e: 222c movs r2, #44 ; 0x2c 802e710: 701a strb r2, [r3, #0] 802e712: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e716: 3301 adds r3, #1 802e718: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802e71c: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e720: 1c5a adds r2, r3, #1 802e722: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e726: 220a movs r2, #10 802e728: 701a strb r2, [r3, #0] 802e72a: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e72e: 3301 adds r3, #1 802e730: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 ////////////////////////////////////////// for(i = 0; i < 8; i++) { 802e734: 2300 movs r3, #0 802e736: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802e73a: e010 b.n 802e75e *pfile++ = ' '; 802e73c: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e740: 1c5a adds r2, r3, #1 802e742: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e746: 2220 movs r2, #32 802e748: 701a strb r2, [r3, #0] size++; 802e74a: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e74e: 3301 adds r3, #1 802e750: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 8; i++) { 802e754: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802e758: 3301 adds r3, #1 802e75a: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802e75e: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802e762: 2b07 cmp r3, #7 802e764: d9ea bls.n 802e73c } *pfile++ = '"'; size++; 802e766: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e76a: 1c5a adds r2, r3, #1 802e76c: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e770: 2222 movs r2, #34 ; 0x22 802e772: 701a strb r2, [r3, #0] 802e774: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e778: 3301 adds r3, #1 802e77a: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'n'; size++; 802e77e: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e782: 1c5a adds r2, r3, #1 802e784: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e788: 226e movs r2, #110 ; 0x6e 802e78a: 701a strb r2, [r3, #0] 802e78c: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e790: 3301 adds r3, #1 802e792: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'a'; size++; 802e796: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e79a: 1c5a adds r2, r3, #1 802e79c: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e7a0: 2261 movs r2, #97 ; 0x61 802e7a2: 701a strb r2, [r3, #0] 802e7a4: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e7a8: 3301 adds r3, #1 802e7aa: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'm'; size++; 802e7ae: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e7b2: 1c5a adds r2, r3, #1 802e7b4: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e7b8: 226d movs r2, #109 ; 0x6d 802e7ba: 701a strb r2, [r3, #0] 802e7bc: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e7c0: 3301 adds r3, #1 802e7c2: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'e'; size++; 802e7c6: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e7ca: 1c5a adds r2, r3, #1 802e7cc: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e7d0: 2265 movs r2, #101 ; 0x65 802e7d2: 701a strb r2, [r3, #0] 802e7d4: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e7d8: 3301 adds r3, #1 802e7da: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802e7de: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e7e2: 1c5a adds r2, r3, #1 802e7e4: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e7e8: 2222 movs r2, #34 ; 0x22 802e7ea: 701a strb r2, [r3, #0] 802e7ec: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e7f0: 3301 adds r3, #1 802e7f2: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ':'; size++; 802e7f6: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e7fa: 1c5a adds r2, r3, #1 802e7fc: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e800: 223a movs r2, #58 ; 0x3a 802e802: 701a strb r2, [r3, #0] 802e804: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e808: 3301 adds r3, #1 802e80a: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ' '; size++; 802e80e: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e812: 1c5a adds r2, r3, #1 802e814: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e818: 2220 movs r2, #32 802e81a: 701a strb r2, [r3, #0] 802e81c: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e820: 3301 adds r3, #1 802e822: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802e826: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e82a: 1c5a adds r2, r3, #1 802e82c: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e830: 2222 movs r2, #34 ; 0x22 802e832: 701a strb r2, [r3, #0] 802e834: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e838: 3301 adds r3, #1 802e83a: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '1'; size++; *pfile++ = '4'; size++; *pfile++ = '1'; size++; #endif #ifdef USE_D142 *pfile++ = 'D'; size++; 802e83e: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e842: 1c5a adds r2, r3, #1 802e844: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e848: 2244 movs r2, #68 ; 0x44 802e84a: 701a strb r2, [r3, #0] 802e84c: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e850: 3301 adds r3, #1 802e852: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '1'; size++; 802e856: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e85a: 1c5a adds r2, r3, #1 802e85c: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e860: 2231 movs r2, #49 ; 0x31 802e862: 701a strb r2, [r3, #0] 802e864: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e868: 3301 adds r3, #1 802e86a: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '4'; size++; 802e86e: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e872: 1c5a adds r2, r3, #1 802e874: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e878: 2234 movs r2, #52 ; 0x34 802e87a: 701a strb r2, [r3, #0] 802e87c: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e880: 3301 adds r3, #1 802e882: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '2'; size++; 802e886: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e88a: 1c5a adds r2, r3, #1 802e88c: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e890: 2232 movs r2, #50 ; 0x32 802e892: 701a strb r2, [r3, #0] 802e894: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e898: 3301 adds r3, #1 802e89a: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 #endif *pfile++ = '"'; size++; 802e89e: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e8a2: 1c5a adds r2, r3, #1 802e8a4: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e8a8: 2222 movs r2, #34 ; 0x22 802e8aa: 701a strb r2, [r3, #0] 802e8ac: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e8b0: 3301 adds r3, #1 802e8b2: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ','; size++; 802e8b6: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e8ba: 1c5a adds r2, r3, #1 802e8bc: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e8c0: 222c movs r2, #44 ; 0x2c 802e8c2: 701a strb r2, [r3, #0] 802e8c4: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e8c8: 3301 adds r3, #1 802e8ca: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802e8ce: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e8d2: 1c5a adds r2, r3, #1 802e8d4: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e8d8: 220a movs r2, #10 802e8da: 701a strb r2, [r3, #0] 802e8dc: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e8e0: 3301 adds r3, #1 802e8e2: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 ////////////////////////////////////////// for(i = 0; i < 8; i++) { 802e8e6: 2300 movs r3, #0 802e8e8: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802e8ec: e010 b.n 802e910 *pfile++ = ' '; 802e8ee: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e8f2: 1c5a adds r2, r3, #1 802e8f4: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e8f8: 2220 movs r2, #32 802e8fa: 701a strb r2, [r3, #0] size++; 802e8fc: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e900: 3301 adds r3, #1 802e902: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 8; i++) { 802e906: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802e90a: 3301 adds r3, #1 802e90c: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802e910: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802e914: 2b07 cmp r3, #7 802e916: d9ea bls.n 802e8ee } *pfile++ = '"'; size++; 802e918: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e91c: 1c5a adds r2, r3, #1 802e91e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e922: 2222 movs r2, #34 ; 0x22 802e924: 701a strb r2, [r3, #0] 802e926: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e92a: 3301 adds r3, #1 802e92c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'r'; size++; 802e930: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e934: 1c5a adds r2, r3, #1 802e936: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e93a: 2272 movs r2, #114 ; 0x72 802e93c: 701a strb r2, [r3, #0] 802e93e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e942: 3301 adds r3, #1 802e944: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'a'; size++; 802e948: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e94c: 1c5a adds r2, r3, #1 802e94e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e952: 2261 movs r2, #97 ; 0x61 802e954: 701a strb r2, [r3, #0] 802e956: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e95a: 3301 adds r3, #1 802e95c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 't'; size++; 802e960: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e964: 1c5a adds r2, r3, #1 802e966: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e96a: 2274 movs r2, #116 ; 0x74 802e96c: 701a strb r2, [r3, #0] 802e96e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e972: 3301 adds r3, #1 802e974: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = 'e'; size++; 802e978: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e97c: 1c5a adds r2, r3, #1 802e97e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e982: 2265 movs r2, #101 ; 0x65 802e984: 701a strb r2, [r3, #0] 802e986: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e98a: 3301 adds r3, #1 802e98c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '"'; size++; 802e990: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e994: 1c5a adds r2, r3, #1 802e996: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e99a: 2222 movs r2, #34 ; 0x22 802e99c: 701a strb r2, [r3, #0] 802e99e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e9a2: 3301 adds r3, #1 802e9a4: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ':'; size++; 802e9a8: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e9ac: 1c5a adds r2, r3, #1 802e9ae: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e9b2: 223a movs r2, #58 ; 0x3a 802e9b4: 701a strb r2, [r3, #0] 802e9b6: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e9ba: 3301 adds r3, #1 802e9bc: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = ' '; size++; 802e9c0: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e9c4: 1c5a adds r2, r3, #1 802e9c6: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e9ca: 2220 movs r2, #32 802e9cc: 701a strb r2, [r3, #0] 802e9ce: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e9d2: 3301 adds r3, #1 802e9d4: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '6'; size++; 802e9d8: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e9dc: 1c5a adds r2, r3, #1 802e9de: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e9e2: 2236 movs r2, #54 ; 0x36 802e9e4: 701a strb r2, [r3, #0] 802e9e6: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802e9ea: 3301 adds r3, #1 802e9ec: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '4'; size++; 802e9f0: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802e9f4: 1c5a adds r2, r3, #1 802e9f6: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802e9fa: 2234 movs r2, #52 ; 0x34 802e9fc: 701a strb r2, [r3, #0] 802e9fe: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802ea02: 3301 adds r3, #1 802ea04: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '0'; size++; 802ea08: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802ea0c: 1c5a adds r2, r3, #1 802ea0e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802ea12: 2230 movs r2, #48 ; 0x30 802ea14: 701a strb r2, [r3, #0] 802ea16: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802ea1a: 3301 adds r3, #1 802ea1c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '0'; size++; 802ea20: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802ea24: 1c5a adds r2, r3, #1 802ea26: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802ea2a: 2230 movs r2, #48 ; 0x30 802ea2c: 701a strb r2, [r3, #0] 802ea2e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802ea32: 3301 adds r3, #1 802ea34: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '0'; size++; 802ea38: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802ea3c: 1c5a adds r2, r3, #1 802ea3e: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802ea42: 2230 movs r2, #48 ; 0x30 802ea44: 701a strb r2, [r3, #0] 802ea46: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802ea4a: 3301 adds r3, #1 802ea4c: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802ea50: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802ea54: 1c5a adds r2, r3, #1 802ea56: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802ea5a: 220a movs r2, #10 802ea5c: 701a strb r2, [r3, #0] 802ea5e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802ea62: 3301 adds r3, #1 802ea64: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 ////////////////////////////////////////// for(i = 0; i < 4; i++) { 802ea68: 2300 movs r3, #0 802ea6a: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802ea6e: e010 b.n 802ea92 *pfile++ = ' '; 802ea70: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802ea74: 1c5a adds r2, r3, #1 802ea76: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802ea7a: 2220 movs r2, #32 802ea7c: 701a strb r2, [r3, #0] size++; 802ea7e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802ea82: 3301 adds r3, #1 802ea84: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 for(i = 0; i < 4; i++) { 802ea88: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802ea8c: 3301 adds r3, #1 802ea8e: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 802ea92: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 802ea96: 2b03 cmp r3, #3 802ea98: d9ea bls.n 802ea70 } *pfile++ = '}'; size++; 802ea9a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802ea9e: 1c5a adds r2, r3, #1 802eaa0: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802eaa4: 227d movs r2, #125 ; 0x7d 802eaa6: 701a strb r2, [r3, #0] 802eaa8: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802eaac: 3301 adds r3, #1 802eaae: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802eab2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802eab6: 1c5a adds r2, r3, #1 802eab8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802eabc: 220a movs r2, #10 802eabe: 701a strb r2, [r3, #0] 802eac0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802eac4: 3301 adds r3, #1 802eac6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 ////////////////////////////////////////// *pfile++ = '}'; size++; 802eaca: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802eace: 1c5a adds r2, r3, #1 802ead0: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802ead4: 227d movs r2, #125 ; 0x7d 802ead6: 701a strb r2, [r3, #0] 802ead8: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802eadc: 3301 adds r3, #1 802eade: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 *pfile++ = '\n'; size++; 802eae2: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 802eae6: 1c5a adds r2, r3, #1 802eae8: f8c7 20b4 str.w r2, [r7, #180] ; 0xb4 802eaec: 220a movs r2, #10 802eaee: 701a strb r2, [r3, #0] 802eaf0: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 802eaf4: 3301 adds r3, #1 802eaf6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 strcat(fname, ".info\0"); 802eafa: 6878 ldr r0, [r7, #4] 802eafc: f7f1 fc0a bl 8020314 802eb00: 4603 mov r3, r0 802eb02: 461a mov r2, r3 802eb04: 687b ldr r3, [r7, #4] 802eb06: 4413 add r3, r2 802eb08: 4a20 ldr r2, [pc, #128] ; (802eb8c ) 802eb0a: 6810 ldr r0, [r2, #0] 802eb0c: 6018 str r0, [r3, #0] 802eb0e: 8892 ldrh r2, [r2, #4] 802eb10: 809a strh r2, [r3, #4] res = f_open(&F, fname, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 802eb12: 221b movs r2, #27 802eb14: 6879 ldr r1, [r7, #4] 802eb16: 481e ldr r0, [pc, #120] ; (802eb90 ) 802eb18: f09c f982 bl 80cae20 802eb1c: 4603 mov r3, r0 802eb1e: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(res == FR_OK) 802eb22: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 802eb26: 2b00 cmp r3, #0 802eb28: d11e bne.n 802eb68 { f_sync(&F); 802eb2a: 4819 ldr r0, [pc, #100] ; (802eb90 ) 802eb2c: f09c feb8 bl 80cb8a0 res = f_write(&F, sector, size, &fk); 802eb30: f107 039c add.w r3, r7, #156 ; 0x9c 802eb34: f8d7 20b8 ldr.w r2, [r7, #184] ; 0xb8 802eb38: 4916 ldr r1, [pc, #88] ; (802eb94 ) 802eb3a: 4815 ldr r0, [pc, #84] ; (802eb90 ) 802eb3c: f09c fd10 bl 80cb560 802eb40: 4603 mov r3, r0 802eb42: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(res == FR_OK) 802eb46: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 802eb4a: 2b00 cmp r3, #0 802eb4c: d104 bne.n 802eb58 { f_close(&F); 802eb4e: 4810 ldr r0, [pc, #64] ; (802eb90 ) 802eb50: f09c ffaa bl 80cbaa8 return FR_OK; 802eb54: 2300 movs r3, #0 802eb56: e014 b.n 802eb82 } else { f_close(&F); 802eb58: 480d ldr r0, [pc, #52] ; (802eb90 ) 802eb5a: f09c ffa5 bl 80cbaa8 f_unlink(PointPath); 802eb5e: 480e ldr r0, [pc, #56] ; (802eb98 ) 802eb60: f09d fc31 bl 80cc3c6 return FR_DISK_ERR; 802eb64: 2301 movs r3, #1 802eb66: e00c b.n 802eb82 } } else { f_close(&F); 802eb68: 4809 ldr r0, [pc, #36] ; (802eb90 ) 802eb6a: f09c ff9d bl 80cbaa8 f_unlink(PointPath); 802eb6e: 480a ldr r0, [pc, #40] ; (802eb98 ) 802eb70: f09d fc29 bl 80cc3c6 return FR_DISK_ERR; 802eb74: 2301 movs r3, #1 802eb76: e004 b.n 802eb82 } else { res = FR_NO_PATH; 802eb78: 2305 movs r3, #5 802eb7a: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 } return res; 802eb7e: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 } 802eb82: 4618 mov r0, r3 802eb84: 37c0 adds r7, #192 ; 0xc0 802eb86: 46bd mov sp, r7 802eb88: bd80 pop {r7, pc} 802eb8a: bf00 nop 802eb8c: 080d4f50 .word 0x080d4f50 802eb90: 20022e78 .word 0x20022e78 802eb94: 2007c000 .word 0x2007c000 802eb98: 20022a0c .word 0x20022a0c 0802eb9c : FRESULT WriteHeaderWAV(FIL *file) { 802eb9c: b580 push {r7, lr} 802eb9e: b08a sub sp, #40 ; 0x28 802eba0: af00 add r7, sp, #0 802eba2: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802eba4: 2300 movs r3, #0 802eba6: f887 3023 strb.w r3, [r7, #35] ; 0x23 uint32_t bytes_per_sample; uint32_t bytes_per_second; //float32_t sens; //char string[10]; memset(sector, 0, sizeof(sector)); 802ebaa: f44f 7200 mov.w r2, #512 ; 0x200 802ebae: 2100 movs r1, #0 802ebb0: 4891 ldr r0, [pc, #580] ; (802edf8 ) 802ebb2: f0a3 f9f7 bl 80d1fa4 if(CardState != MSD_READY) { 802ebb6: 4b91 ldr r3, [pc, #580] ; (802edfc ) 802ebb8: 781b ldrb r3, [r3, #0] 802ebba: b2db uxtb r3, r3 802ebbc: 2b03 cmp r3, #3 802ebbe: d001 beq.n 802ebc4 return FR_NOT_READY; 802ebc0: 2303 movs r3, #3 802ebc2: e115 b.n 802edf0 'd', 'a', 't', 'a', datasize, // filesize-8-44 [4 Bytes] */ size = 0; 802ebc4: 2300 movs r3, #0 802ebc6: 627b str r3, [r7, #36] ; 0x24 memcpy(§or[size], "RIFF", 4); size += 4; // RIFF 802ebc8: 6a7b ldr r3, [r7, #36] ; 0x24 802ebca: 4a8b ldr r2, [pc, #556] ; (802edf8 ) 802ebcc: 4413 add r3, r2 802ebce: 2204 movs r2, #4 802ebd0: 498b ldr r1, [pc, #556] ; (802ee00 ) 802ebd2: 4618 mov r0, r3 802ebd4: f0a3 f9db bl 80d1f8e 802ebd8: 6a7b ldr r3, [r7, #36] ; 0x24 802ebda: 3304 adds r3, #4 802ebdc: 627b str r3, [r7, #36] ; 0x24 memcpy(§or[size], "\0\0\0\0", 4); size += 4; // length of CHUNK "" 802ebde: 6a7b ldr r3, [r7, #36] ; 0x24 802ebe0: 4a85 ldr r2, [pc, #532] ; (802edf8 ) 802ebe2: 4413 add r3, r2 802ebe4: 2204 movs r2, #4 802ebe6: 4987 ldr r1, [pc, #540] ; (802ee04 ) 802ebe8: 4618 mov r0, r3 802ebea: f0a3 f9d0 bl 80d1f8e 802ebee: 6a7b ldr r3, [r7, #36] ; 0x24 802ebf0: 3304 adds r3, #4 802ebf2: 627b str r3, [r7, #36] ; 0x24 memcpy(§or[size], "WAVE", 4); size += 4; // WAVE 802ebf4: 6a7b ldr r3, [r7, #36] ; 0x24 802ebf6: 4a80 ldr r2, [pc, #512] ; (802edf8 ) 802ebf8: 4413 add r3, r2 802ebfa: 2204 movs r2, #4 802ebfc: 4982 ldr r1, [pc, #520] ; (802ee08 ) 802ebfe: 4618 mov r0, r3 802ec00: f0a3 f9c5 bl 80d1f8e 802ec04: 6a7b ldr r3, [r7, #36] ; 0x24 802ec06: 3304 adds r3, #4 802ec08: 627b str r3, [r7, #36] ; 0x24 memcpy(§or[size], "JUNK", 4); size += 4; // JUNK 802ec0a: 6a7b ldr r3, [r7, #36] ; 0x24 802ec0c: 4a7a ldr r2, [pc, #488] ; (802edf8 ) 802ec0e: 4413 add r3, r2 802ec10: 2204 movs r2, #4 802ec12: 497e ldr r1, [pc, #504] ; (802ee0c ) 802ec14: 4618 mov r0, r3 802ec16: f0a3 f9ba bl 80d1f8e 802ec1a: 6a7b ldr r3, [r7, #36] ; 0x24 802ec1c: 3304 adds r3, #4 802ec1e: 627b str r3, [r7, #36] ; 0x24 sector[size++] = 28; 802ec20: 6a7b ldr r3, [r7, #36] ; 0x24 802ec22: 1c5a adds r2, r3, #1 802ec24: 627a str r2, [r7, #36] ; 0x24 802ec26: 4a74 ldr r2, [pc, #464] ; (802edf8 ) 802ec28: 211c movs r1, #28 802ec2a: 54d1 strb r1, [r2, r3] sector[size++] = 0; 802ec2c: 6a7b ldr r3, [r7, #36] ; 0x24 802ec2e: 1c5a adds r2, r3, #1 802ec30: 627a str r2, [r7, #36] ; 0x24 802ec32: 4a71 ldr r2, [pc, #452] ; (802edf8 ) 802ec34: 2100 movs r1, #0 802ec36: 54d1 strb r1, [r2, r3] sector[size++] = 0; 802ec38: 6a7b ldr r3, [r7, #36] ; 0x24 802ec3a: 1c5a adds r2, r3, #1 802ec3c: 627a str r2, [r7, #36] ; 0x24 802ec3e: 4a6e ldr r2, [pc, #440] ; (802edf8 ) 802ec40: 2100 movs r1, #0 802ec42: 54d1 strb r1, [r2, r3] sector[size++] = 0; 802ec44: 6a7b ldr r3, [r7, #36] ; 0x24 802ec46: 1c5a adds r2, r3, #1 802ec48: 627a str r2, [r7, #36] ; 0x24 802ec4a: 4a6b ldr r2, [pc, #428] ; (802edf8 ) 802ec4c: 2100 movs r1, #0 802ec4e: 54d1 strb r1, [r2, r3] for(i = 0; i < 7; i++) 802ec50: 2300 movs r3, #0 802ec52: 61bb str r3, [r7, #24] 802ec54: e01a b.n 802ec8c { sector[size++] = 0; 802ec56: 6a7b ldr r3, [r7, #36] ; 0x24 802ec58: 1c5a adds r2, r3, #1 802ec5a: 627a str r2, [r7, #36] ; 0x24 802ec5c: 4a66 ldr r2, [pc, #408] ; (802edf8 ) 802ec5e: 2100 movs r1, #0 802ec60: 54d1 strb r1, [r2, r3] sector[size++] = 0; 802ec62: 6a7b ldr r3, [r7, #36] ; 0x24 802ec64: 1c5a adds r2, r3, #1 802ec66: 627a str r2, [r7, #36] ; 0x24 802ec68: 4a63 ldr r2, [pc, #396] ; (802edf8 ) 802ec6a: 2100 movs r1, #0 802ec6c: 54d1 strb r1, [r2, r3] sector[size++] = 0; 802ec6e: 6a7b ldr r3, [r7, #36] ; 0x24 802ec70: 1c5a adds r2, r3, #1 802ec72: 627a str r2, [r7, #36] ; 0x24 802ec74: 4a60 ldr r2, [pc, #384] ; (802edf8 ) 802ec76: 2100 movs r1, #0 802ec78: 54d1 strb r1, [r2, r3] sector[size++] = 0; 802ec7a: 6a7b ldr r3, [r7, #36] ; 0x24 802ec7c: 1c5a adds r2, r3, #1 802ec7e: 627a str r2, [r7, #36] ; 0x24 802ec80: 4a5d ldr r2, [pc, #372] ; (802edf8 ) 802ec82: 2100 movs r1, #0 802ec84: 54d1 strb r1, [r2, r3] for(i = 0; i < 7; i++) 802ec86: 69bb ldr r3, [r7, #24] 802ec88: 3301 adds r3, #1 802ec8a: 61bb str r3, [r7, #24] 802ec8c: 69bb ldr r3, [r7, #24] 802ec8e: 2b06 cmp r3, #6 802ec90: d9e1 bls.n 802ec56 } memcpy(§or[size], "fmt ", 4); size += 4; // fmt 802ec92: 6a7b ldr r3, [r7, #36] ; 0x24 802ec94: 4a58 ldr r2, [pc, #352] ; (802edf8 ) 802ec96: 4413 add r3, r2 802ec98: 2204 movs r2, #4 802ec9a: 495d ldr r1, [pc, #372] ; (802ee10 ) 802ec9c: 4618 mov r0, r3 802ec9e: f0a3 f976 bl 80d1f8e 802eca2: 6a7b ldr r3, [r7, #36] ; 0x24 802eca4: 3304 adds r3, #4 802eca6: 627b str r3, [r7, #36] ; 0x24 sector[size++] = 16; // LENGTH CHUNK "fmt " --> 16 BYTES 802eca8: 6a7b ldr r3, [r7, #36] ; 0x24 802ecaa: 1c5a adds r2, r3, #1 802ecac: 627a str r2, [r7, #36] ; 0x24 802ecae: 4a52 ldr r2, [pc, #328] ; (802edf8 ) 802ecb0: 2110 movs r1, #16 802ecb2: 54d1 strb r1, [r2, r3] sector[size++] = 0; 802ecb4: 6a7b ldr r3, [r7, #36] ; 0x24 802ecb6: 1c5a adds r2, r3, #1 802ecb8: 627a str r2, [r7, #36] ; 0x24 802ecba: 4a4f ldr r2, [pc, #316] ; (802edf8 ) 802ecbc: 2100 movs r1, #0 802ecbe: 54d1 strb r1, [r2, r3] sector[size++] = 0; 802ecc0: 6a7b ldr r3, [r7, #36] ; 0x24 802ecc2: 1c5a adds r2, r3, #1 802ecc4: 627a str r2, [r7, #36] ; 0x24 802ecc6: 4a4c ldr r2, [pc, #304] ; (802edf8 ) 802ecc8: 2100 movs r1, #0 802ecca: 54d1 strb r1, [r2, r3] sector[size++] = 0; 802eccc: 6a7b ldr r3, [r7, #36] ; 0x24 802ecce: 1c5a adds r2, r3, #1 802ecd0: 627a str r2, [r7, #36] ; 0x24 802ecd2: 4a49 ldr r2, [pc, #292] ; (802edf8 ) 802ecd4: 2100 movs r1, #0 802ecd6: 54d1 strb r1, [r2, r3] /////////////////////////////////////// CHUNK "fmt " /////////////////////////////////// sector[size++] = 3; //? 802ecd8: 6a7b ldr r3, [r7, #36] ; 0x24 802ecda: 1c5a adds r2, r3, #1 802ecdc: 627a str r2, [r7, #36] ; 0x24 802ecde: 4a46 ldr r2, [pc, #280] ; (802edf8 ) 802ece0: 2103 movs r1, #3 802ece2: 54d1 strb r1, [r2, r3] sector[size++] = 0; 802ece4: 6a7b ldr r3, [r7, #36] ; 0x24 802ece6: 1c5a adds r2, r3, #1 802ece8: 627a str r2, [r7, #36] ; 0x24 802ecea: 4a43 ldr r2, [pc, #268] ; (802edf8 ) 802ecec: 2100 movs r1, #0 802ecee: 54d1 strb r1, [r2, r3] sector[size++] = 1; //num chanels 802ecf0: 6a7b ldr r3, [r7, #36] ; 0x24 802ecf2: 1c5a adds r2, r3, #1 802ecf4: 627a str r2, [r7, #36] ; 0x24 802ecf6: 4a40 ldr r2, [pc, #256] ; (802edf8 ) 802ecf8: 2101 movs r1, #1 802ecfa: 54d1 strb r1, [r2, r3] sector[size++] = 0; 802ecfc: 6a7b ldr r3, [r7, #36] ; 0x24 802ecfe: 1c5a adds r2, r3, #1 802ed00: 627a str r2, [r7, #36] ; 0x24 802ed02: 4a3d ldr r2, [pc, #244] ; (802edf8 ) 802ed04: 2100 movs r1, #0 802ed06: 54d1 strb r1, [r2, r3] sector[size++] = (uint8_t) (64000 & 0xff); //Sample rate 802ed08: 6a7b ldr r3, [r7, #36] ; 0x24 802ed0a: 1c5a adds r2, r3, #1 802ed0c: 627a str r2, [r7, #36] ; 0x24 802ed0e: 4a3a ldr r2, [pc, #232] ; (802edf8 ) 802ed10: 2100 movs r1, #0 802ed12: 54d1 strb r1, [r2, r3] sector[size++] = (uint8_t) ((64000 >> 8) & 0xff); //Sample rate 802ed14: 6a7b ldr r3, [r7, #36] ; 0x24 802ed16: 1c5a adds r2, r3, #1 802ed18: 627a str r2, [r7, #36] ; 0x24 802ed1a: 4a37 ldr r2, [pc, #220] ; (802edf8 ) 802ed1c: 21fa movs r1, #250 ; 0xfa 802ed1e: 54d1 strb r1, [r2, r3] sector[size++] = (uint8_t) ((64000 >> 16) & 0xff); //Sample rate 802ed20: 6a7b ldr r3, [r7, #36] ; 0x24 802ed22: 1c5a adds r2, r3, #1 802ed24: 627a str r2, [r7, #36] ; 0x24 802ed26: 4a34 ldr r2, [pc, #208] ; (802edf8 ) 802ed28: 2100 movs r1, #0 802ed2a: 54d1 strb r1, [r2, r3] sector[size++] = (uint8_t) ((64000 >> 24) & 0xff); //Sample rate 802ed2c: 6a7b ldr r3, [r7, #36] ; 0x24 802ed2e: 1c5a adds r2, r3, #1 802ed30: 627a str r2, [r7, #36] ; 0x24 802ed32: 4a31 ldr r2, [pc, #196] ; (802edf8 ) 802ed34: 2100 movs r1, #0 802ed36: 54d1 strb r1, [r2, r3] bytes_per_second = 64000 * 4u; 802ed38: f44f 337a mov.w r3, #256000 ; 0x3e800 802ed3c: 61fb str r3, [r7, #28] sector[size++] = (uint8_t) (bytes_per_second & 0xff); // bytes_per_second 802ed3e: 6a7b ldr r3, [r7, #36] ; 0x24 802ed40: 1c5a adds r2, r3, #1 802ed42: 627a str r2, [r7, #36] ; 0x24 802ed44: 69fa ldr r2, [r7, #28] 802ed46: b2d1 uxtb r1, r2 802ed48: 4a2b ldr r2, [pc, #172] ; (802edf8 ) 802ed4a: 54d1 strb r1, [r2, r3] sector[size++] = (uint8_t) ((bytes_per_second >> 8) & 0xff); // bytes_per_second 802ed4c: 6a7b ldr r3, [r7, #36] ; 0x24 802ed4e: 1c5a adds r2, r3, #1 802ed50: 627a str r2, [r7, #36] ; 0x24 802ed52: 69fa ldr r2, [r7, #28] 802ed54: 0a12 lsrs r2, r2, #8 802ed56: b2d1 uxtb r1, r2 802ed58: 4a27 ldr r2, [pc, #156] ; (802edf8 ) 802ed5a: 54d1 strb r1, [r2, r3] sector[size++] = (uint8_t) ((bytes_per_second >> 16) & 0xff); // bytes_per_second 802ed5c: 6a7b ldr r3, [r7, #36] ; 0x24 802ed5e: 1c5a adds r2, r3, #1 802ed60: 627a str r2, [r7, #36] ; 0x24 802ed62: 69fa ldr r2, [r7, #28] 802ed64: 0c12 lsrs r2, r2, #16 802ed66: b2d1 uxtb r1, r2 802ed68: 4a23 ldr r2, [pc, #140] ; (802edf8 ) 802ed6a: 54d1 strb r1, [r2, r3] sector[size++] = (uint8_t) ((bytes_per_second >> 24) & 0xff); // bytes_per_second 802ed6c: 6a7b ldr r3, [r7, #36] ; 0x24 802ed6e: 1c5a adds r2, r3, #1 802ed70: 627a str r2, [r7, #36] ; 0x24 802ed72: 69fa ldr r2, [r7, #28] 802ed74: 0e12 lsrs r2, r2, #24 802ed76: b2d1 uxtb r1, r2 802ed78: 4a1f ldr r2, [pc, #124] ; (802edf8 ) 802ed7a: 54d1 strb r1, [r2, r3] sector[size++] = 4; // bytes per sample 802ed7c: 6a7b ldr r3, [r7, #36] ; 0x24 802ed7e: 1c5a adds r2, r3, #1 802ed80: 627a str r2, [r7, #36] ; 0x24 802ed82: 4a1d ldr r2, [pc, #116] ; (802edf8 ) 802ed84: 2104 movs r1, #4 802ed86: 54d1 strb r1, [r2, r3] sector[size++] = 0; // bytes per sample 802ed88: 6a7b ldr r3, [r7, #36] ; 0x24 802ed8a: 1c5a adds r2, r3, #1 802ed8c: 627a str r2, [r7, #36] ; 0x24 802ed8e: 4a1a ldr r2, [pc, #104] ; (802edf8 ) 802ed90: 2100 movs r1, #0 802ed92: 54d1 strb r1, [r2, r3] sector[size++] = 32; // bits per sample 802ed94: 6a7b ldr r3, [r7, #36] ; 0x24 802ed96: 1c5a adds r2, r3, #1 802ed98: 627a str r2, [r7, #36] ; 0x24 802ed9a: 4a17 ldr r2, [pc, #92] ; (802edf8 ) 802ed9c: 2120 movs r1, #32 802ed9e: 54d1 strb r1, [r2, r3] sector[size++] = 0; // 802eda0: 6a7b ldr r3, [r7, #36] ; 0x24 802eda2: 1c5a adds r2, r3, #1 802eda4: 627a str r2, [r7, #36] ; 0x24 802eda6: 4a14 ldr r2, [pc, #80] ; (802edf8 ) 802eda8: 2100 movs r1, #0 802edaa: 54d1 strb r1, [r2, r3] ///////////////////////////////////////////////////////////////////////////////////////// memcpy(§or[size], "data", 4); size += 4; // data 802edac: 6a7b ldr r3, [r7, #36] ; 0x24 802edae: 4a12 ldr r2, [pc, #72] ; (802edf8 ) 802edb0: 4413 add r3, r2 802edb2: 2204 movs r2, #4 802edb4: 4917 ldr r1, [pc, #92] ; (802ee14 ) 802edb6: 4618 mov r0, r3 802edb8: f0a3 f8e9 bl 80d1f8e 802edbc: 6a7b ldr r3, [r7, #36] ; 0x24 802edbe: 3304 adds r3, #4 802edc0: 627b str r3, [r7, #36] ; 0x24 memcpy(§or[size], "\0\0\0\0", 4); size += 4; // length CHUNK "data" 802edc2: 6a7b ldr r3, [r7, #36] ; 0x24 802edc4: 4a0c ldr r2, [pc, #48] ; (802edf8 ) 802edc6: 4413 add r3, r2 802edc8: 2204 movs r2, #4 802edca: 490e ldr r1, [pc, #56] ; (802ee04 ) 802edcc: 4618 mov r0, r3 802edce: f0a3 f8de bl 80d1f8e 802edd2: 6a7b ldr r3, [r7, #36] ; 0x24 802edd4: 3304 adds r3, #4 802edd6: 627b str r3, [r7, #36] ; 0x24 res = f_write(file, sector, size, (UINT *) &i); 802edd8: f107 0318 add.w r3, r7, #24 802eddc: 6a7a ldr r2, [r7, #36] ; 0x24 802edde: 4906 ldr r1, [pc, #24] ; (802edf8 ) 802ede0: 6878 ldr r0, [r7, #4] 802ede2: f09c fbbd bl 80cb560 802ede6: 4603 mov r3, r0 802ede8: f887 3023 strb.w r3, [r7, #35] ; 0x23 *pfile++ = 0x00;*/ //*************************************************************** //res = f_write(file, sector, 44, (UINT *) &i); //*************************************************************** return res; 802edec: f897 3023 ldrb.w r3, [r7, #35] ; 0x23 } 802edf0: 4618 mov r0, r3 802edf2: 3728 adds r7, #40 ; 0x28 802edf4: 46bd mov sp, r7 802edf6: bd80 pop {r7, pc} 802edf8: 2007c000 .word 0x2007c000 802edfc: 2002169c .word 0x2002169c 802ee00: 080d4f58 .word 0x080d4f58 802ee04: 080d4f60 .word 0x080d4f60 802ee08: 080d4f68 .word 0x080d4f68 802ee0c: 080d4f70 .word 0x080d4f70 802ee10: 080d4f78 .word 0x080d4f78 802ee14: 080d4f80 .word 0x080d4f80 0802ee18 : HAL_FLASHEx_OBGetConfig(&OBInit); } void wrPar(void) { 802ee18: b590 push {r4, r7, lr} 802ee1a: b087 sub sp, #28 802ee1c: af00 add r7, sp, #0 volatile uint32_t i; volatile uint32_t lenpar = 0; 802ee1e: 2300 movs r3, #0 802ee20: 60fb str r3, [r7, #12] volatile uint32_t Address, *pData; uint32_t SECTORError = 0; 802ee22: 2300 movs r3, #0 802ee24: 607b str r3, [r7, #4] #ifndef DEBUGGING lenpar = sizeof(UserData_TypeDef); 802ee26: f44f 6396 mov.w r3, #1200 ; 0x4b0 802ee2a: 60fb str r3, [r7, #12] while(lenpar % 4) { 802ee2c: e002 b.n 802ee34 lenpar++; 802ee2e: 68fb ldr r3, [r7, #12] 802ee30: 3301 adds r3, #1 802ee32: 60fb str r3, [r7, #12] while(lenpar % 4) { 802ee34: 68fb ldr r3, [r7, #12] 802ee36: f003 0303 and.w r3, r3, #3 802ee3a: 2b00 cmp r3, #0 802ee3c: d1f7 bne.n 802ee2e } lenpar >>= 2; 802ee3e: 68fb ldr r3, [r7, #12] 802ee40: 089b lsrs r3, r3, #2 802ee42: 60fb str r3, [r7, #12] if(MeasFileName[0] != 0) 802ee44: 4b2f ldr r3, [pc, #188] ; (802ef04 ) 802ee46: 781b ldrb r3, [r3, #0] 802ee48: 2b00 cmp r3, #0 802ee4a: d004 beq.n 802ee56 memcpy((void *) &pardata.MEASNAME[0], MeasFileName, 40); 802ee4c: 2228 movs r2, #40 ; 0x28 802ee4e: 492d ldr r1, [pc, #180] ; (802ef04 ) 802ee50: 482d ldr r0, [pc, #180] ; (802ef08 ) 802ee52: f0a3 f89c bl 80d1f8e if(WavFileName[0] != 0) 802ee56: 4b2d ldr r3, [pc, #180] ; (802ef0c ) 802ee58: 781b ldrb r3, [r3, #0] 802ee5a: 2b00 cmp r3, #0 802ee5c: d004 beq.n 802ee68 memcpy((void *) &pardata.WAVNAME[0], WavFileName, 40); 802ee5e: 2228 movs r2, #40 ; 0x28 802ee60: 492a ldr r1, [pc, #168] ; (802ef0c ) 802ee62: 482b ldr r0, [pc, #172] ; (802ef10 ) 802ee64: f0a3 f893 bl 80d1f8e if(DiagFileName[0] != 0) 802ee68: 4b2a ldr r3, [pc, #168] ; (802ef14 ) 802ee6a: 781b ldrb r3, [r3, #0] 802ee6c: 2b00 cmp r3, #0 802ee6e: d004 beq.n 802ee7a memcpy((void *) &pardata.DIAGN_FILE[0], DiagFileName, 40); 802ee70: 2228 movs r2, #40 ; 0x28 802ee72: 4928 ldr r1, [pc, #160] ; (802ef14 ) 802ee74: 4828 ldr r0, [pc, #160] ; (802ef18 ) 802ee76: f0a3 f88a bl 80d1f8e if(RouteFileName[0] != 0) 802ee7a: 4b28 ldr r3, [pc, #160] ; (802ef1c ) 802ee7c: 781b ldrb r3, [r3, #0] 802ee7e: 2b00 cmp r3, #0 802ee80: d004 beq.n 802ee8c memcpy((void *) &pardata.ROUTE_NAME[0], RouteFileName, 40); 802ee82: 2228 movs r2, #40 ; 0x28 802ee84: 4925 ldr r1, [pc, #148] ; (802ef1c ) 802ee86: 4826 ldr r0, [pc, #152] ; (802ef20 ) 802ee88: f0a3 f881 bl 80d1f8e __ASM volatile ("cpsid i" : : : "memory"); 802ee8c: b672 cpsid i __disable_irq(); HAL_FLASH_Unlock(); 802ee8e: f08a fd63 bl 80b9958 EraseInitStruct.TypeErase = FLASH_TYPEERASE_SECTORS; 802ee92: 4b24 ldr r3, [pc, #144] ; (802ef24 ) 802ee94: 2200 movs r2, #0 802ee96: 601a str r2, [r3, #0] EraseInitStruct.VoltageRange = FLASH_VOLTAGE_RANGE_3; 802ee98: 4b22 ldr r3, [pc, #136] ; (802ef24 ) 802ee9a: 2202 movs r2, #2 802ee9c: 611a str r2, [r3, #16] EraseInitStruct.Sector = USERSECTOR; //FLASH_SECTOR_11; 802ee9e: 4b21 ldr r3, [pc, #132] ; (802ef24 ) 802eea0: 2203 movs r2, #3 802eea2: 609a str r2, [r3, #8] EraseInitStruct.NbSectors = 1; 802eea4: 4b1f ldr r3, [pc, #124] ; (802ef24 ) 802eea6: 2201 movs r2, #1 802eea8: 60da str r2, [r3, #12] if(HAL_FLASHEx_Erase(&EraseInitStruct, &SECTORError) == HAL_OK) 802eeaa: 1d3b adds r3, r7, #4 802eeac: 4619 mov r1, r3 802eeae: 481d ldr r0, [pc, #116] ; (802ef24 ) 802eeb0: f08a feac bl 80b9c0c 802eeb4: 4603 mov r3, r0 802eeb6: 2b00 cmp r3, #0 802eeb8: d11c bne.n 802eef4 { Address = USERPAGE; 802eeba: 4b1b ldr r3, [pc, #108] ; (802ef28 ) 802eebc: 60bb str r3, [r7, #8] pData = (uint32_t *) &pardata; 802eebe: 4b1b ldr r3, [pc, #108] ; (802ef2c ) 802eec0: 617b str r3, [r7, #20] for(i = 0; i < lenpar; i++) 802eec2: 2300 movs r3, #0 802eec4: 613b str r3, [r7, #16] 802eec6: e011 b.n 802eeec { HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, *pData++); 802eec8: 68b9 ldr r1, [r7, #8] 802eeca: 697b ldr r3, [r7, #20] 802eecc: 1d1a adds r2, r3, #4 802eece: 617a str r2, [r7, #20] 802eed0: 681b ldr r3, [r3, #0] 802eed2: f04f 0400 mov.w r4, #0 802eed6: 461a mov r2, r3 802eed8: 4623 mov r3, r4 802eeda: 2002 movs r0, #2 802eedc: f08a fce0 bl 80b98a0 Address += 4; 802eee0: 68bb ldr r3, [r7, #8] 802eee2: 3304 adds r3, #4 802eee4: 60bb str r3, [r7, #8] for(i = 0; i < lenpar; i++) 802eee6: 693b ldr r3, [r7, #16] 802eee8: 3301 adds r3, #1 802eeea: 613b str r3, [r7, #16] 802eeec: 693a ldr r2, [r7, #16] 802eeee: 68fb ldr r3, [r7, #12] 802eef0: 429a cmp r2, r3 802eef2: d3e9 bcc.n 802eec8 } } HAL_FLASH_Lock(); 802eef4: f08a fd52 bl 80b999c __ASM volatile ("cpsie i" : : : "memory"); 802eef8: b662 cpsie i __enable_irq(); #endif } 802eefa: bf00 nop 802eefc: 371c adds r7, #28 802eefe: 46bd mov sp, r7 802ef00: bd90 pop {r4, r7, pc} 802ef02: bf00 nop 802ef04: 20020e80 .word 0x20020e80 802ef08: 20023ef8 .word 0x20023ef8 802ef0c: 20020e5c .word 0x20020e5c 802ef10: 20023f20 .word 0x20023f20 802ef14: 20020ea4 .word 0x20020ea4 802ef18: 20024314 .word 0x20024314 802ef1c: 20020ec8 .word 0x20020ec8 802ef20: 2002433c .word 0x2002433c 802ef24: 20020f24 .word 0x20020f24 802ef28: 08018000 .word 0x08018000 802ef2c: 20023eb8 .word 0x20023eb8 0802ef30 : void rdPar(void) { 802ef30: b5f0 push {r4, r5, r6, r7, lr} 802ef32: b085 sub sp, #20 802ef34: af00 add r7, sp, #0 uint8_t i, j; uint32_t lenpar; volatile bool rewrite = false; 802ef36: 2300 movs r3, #0 802ef38: 71fb strb r3, [r7, #7] sfloat hpf; lenpar = sizeof(UserData_TypeDef); 802ef3a: f44f 6396 mov.w r3, #1200 ; 0x4b0 802ef3e: 60bb str r3, [r7, #8] memcpy((void *) &pardata, (void *) USERPAGE, lenpar); 802ef40: 68ba ldr r2, [r7, #8] 802ef42: 496e ldr r1, [pc, #440] ; (802f0fc ) 802ef44: 486e ldr r0, [pc, #440] ; (802f100 ) 802ef46: f0a3 f822 bl 80d1f8e if(pardata.PWR_CNT == 0xffffffff) // FIRST_POWER_ON 802ef4a: 4b6d ldr r3, [pc, #436] ; (802f100 ) 802ef4c: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 802ef50: f1b3 3fff cmp.w r3, #4294967295 802ef54: d109 bne.n 802ef6a { FirstOn = true; 802ef56: 4b6b ldr r3, [pc, #428] ; (802f104 ) 802ef58: 2201 movs r2, #1 802ef5a: 701a strb r2, [r3, #0] pardata.PWR_CNT = 1; 802ef5c: 4b68 ldr r3, [pc, #416] ; (802f100 ) 802ef5e: 2201 movs r2, #1 802ef60: f8c3 2090 str.w r2, [r3, #144] ; 0x90 rewrite = true; 802ef64: 2301 movs r3, #1 802ef66: 71fb strb r3, [r7, #7] 802ef68: e020 b.n 802efac } else { FirstOn = false; 802ef6a: 4b66 ldr r3, [pc, #408] ; (802f104 ) 802ef6c: 2200 movs r2, #0 802ef6e: 701a strb r2, [r3, #0] if((pardata.PWR_CNT > 0) && (pardata.PWR_CNT < 0xffffffff)) { 802ef70: 4b63 ldr r3, [pc, #396] ; (802f100 ) 802ef72: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 802ef76: 2b00 cmp r3, #0 802ef78: d00c beq.n 802ef94 802ef7a: 4b61 ldr r3, [pc, #388] ; (802f100 ) 802ef7c: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 802ef80: f1b3 3fff cmp.w r3, #4294967295 802ef84: d006 beq.n 802ef94 pardata.PWR_CNT++; 802ef86: 4b5e ldr r3, [pc, #376] ; (802f100 ) 802ef88: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 802ef8c: 3301 adds r3, #1 802ef8e: 4a5c ldr r2, [pc, #368] ; (802f100 ) 802ef90: f8c2 3090 str.w r3, [r2, #144] ; 0x90 } if((pardata.SYG > DIAGN) || (pardata.LANG > ENG)) { 802ef94: 4b5a ldr r3, [pc, #360] ; (802f100 ) 802ef96: 781b ldrb r3, [r3, #0] 802ef98: b2db uxtb r3, r3 802ef9a: 2b0a cmp r3, #10 802ef9c: d804 bhi.n 802efa8 802ef9e: 4b58 ldr r3, [pc, #352] ; (802f100 ) 802efa0: 7b1b ldrb r3, [r3, #12] 802efa2: b2db uxtb r3, r3 802efa4: 2b01 cmp r3, #1 802efa6: d901 bls.n 802efac rewrite = true; 802efa8: 2301 movs r3, #1 802efaa: 71fb strb r3, [r7, #7] //rewrite = true; //TODO if(rewrite == true) 802efac: 79fb ldrb r3, [r7, #7] 802efae: b2db uxtb r3, r3 802efb0: 2b00 cmp r3, #0 802efb2: f000 8113 beq.w 802f1dc { memset((char *) &pardata.MEASNAME[0], 0, sizeof(MeasFileName)); 802efb6: 2221 movs r2, #33 ; 0x21 802efb8: 2100 movs r1, #0 802efba: 4853 ldr r0, [pc, #332] ; (802f108 ) 802efbc: f0a2 fff2 bl 80d1fa4 memset((char *) &pardata.WAVNAME[0], 0, sizeof(WavFileName)); 802efc0: 2221 movs r2, #33 ; 0x21 802efc2: 2100 movs r1, #0 802efc4: 4851 ldr r0, [pc, #324] ; (802f10c ) 802efc6: f0a2 ffed bl 80d1fa4 memset((char *) &pardata.DIAGN_FILE[0], 0, sizeof(DiagFileName)); 802efca: 2221 movs r2, #33 ; 0x21 802efcc: 2100 movs r1, #0 802efce: 4850 ldr r0, [pc, #320] ; (802f110 ) 802efd0: f0a2 ffe8 bl 80d1fa4 memset((char *) &pardata.ROUTE_NAME[0], 0, sizeof(RouteFileName)); 802efd4: 2221 movs r2, #33 ; 0x21 802efd6: 2100 movs r1, #0 802efd8: 484e ldr r0, [pc, #312] ; (802f114 ) 802efda: f0a2 ffe3 bl 80d1fa4 pardata.ROUTE_POINT = 0xffffffff; 802efde: 4b48 ldr r3, [pc, #288] ; (802f100 ) 802efe0: f04f 32ff mov.w r2, #4294967295 802efe4: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac pardata.SYG = VIB; 802efe8: 4b45 ldr r3, [pc, #276] ; (802f100 ) 802efea: 2200 movs r2, #0 802efec: 701a strb r2, [r3, #0] pardata.IPR = ACC; 802efee: 4b44 ldr r3, [pc, #272] ; (802f100 ) 802eff0: 2200 movs r2, #0 802eff2: 705a strb r2, [r3, #1] pardata.IVS[ACC] = RMS; 802eff4: 4b42 ldr r3, [pc, #264] ; (802f100 ) 802eff6: 2201 movs r2, #1 802eff8: 709a strb r2, [r3, #2] pardata.IVS[VEL] = RMS; 802effa: 4b41 ldr r3, [pc, #260] ; (802f100 ) 802effc: 2201 movs r2, #1 802effe: 70da strb r2, [r3, #3] pardata.IVS[DIS] = RMS; 802f000: 4b3f ldr r3, [pc, #252] ; (802f100 ) 802f002: 2201 movs r2, #1 802f004: 711a strb r2, [r3, #4] pardata.UDAR_TYPE = SPECTR; 802f006: 4b3e ldr r3, [pc, #248] ; (802f100 ) 802f008: 2200 movs r2, #0 802f00a: 715a strb r2, [r3, #5] pardata.IIN = ICP; 802f00c: 4b3c ldr r3, [pc, #240] ; (802f100 ) 802f00e: 2201 movs r2, #1 802f010: 719a strb r2, [r3, #6] pardata.LNE = N3200; 802f012: 4b3b ldr r3, [pc, #236] ; (802f100 ) 802f014: 2203 movs r2, #3 802f016: 71da strb r2, [r3, #7] pardata.IKU = Ku1; 802f018: 4b39 ldr r3, [pc, #228] ; (802f100 ) 802f01a: 2200 movs r2, #0 802f01c: 721a strb r2, [r3, #8] pardata.WIN = HANN; 802f01e: 4b38 ldr r3, [pc, #224] ; (802f100 ) 802f020: 2201 movs r2, #1 802f022: 725a strb r2, [r3, #9] pardata.MSH = LIN; 802f024: 4b36 ldr r3, [pc, #216] ; (802f100 ) 802f026: 2200 movs r2, #0 802f028: 729a strb r2, [r3, #10] pardata.FRQ = _64000Hz; 802f02a: 4b35 ldr r3, [pc, #212] ; (802f100 ) 802f02c: 2209 movs r2, #9 802f02e: 72da strb r2, [r3, #11] pardata.AVG = AVG1; 802f030: 4b33 ldr r3, [pc, #204] ; (802f100 ) 802f032: 2200 movs r2, #0 802f034: 735a strb r2, [r3, #13] pardata.LANG = RUS; 802f036: 4b32 ldr r3, [pc, #200] ; (802f100 ) 802f038: 2200 movs r2, #0 802f03a: 731a strb r2, [r3, #12] pardata.IKK = 1.000f; 802f03c: 4b30 ldr r3, [pc, #192] ; (802f100 ) 802f03e: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802f042: 611a str r2, [r3, #16] pardata.THR = 0; 802f044: 4b2e ldr r3, [pc, #184] ; (802f100 ) 802f046: 2200 movs r2, #0 802f048: 73da strb r2, [r3, #15] pardata.THR_VAL = 10.0f; 802f04a: 4b2d ldr r3, [pc, #180] ; (802f100 ) 802f04c: 4a32 ldr r2, [pc, #200] ; (802f118 ) 802f04e: 615a str r2, [r3, #20] pardata.MAX_VAL = 200.0f; 802f050: 4b2b ldr r3, [pc, #172] ; (802f100 ) 802f052: 4a32 ldr r2, [pc, #200] ; (802f11c ) 802f054: 619a str r2, [r3, #24] pardata.HP = 2.0000011f; 802f056: 4b2a ldr r3, [pc, #168] ; (802f100 ) 802f058: 4a31 ldr r2, [pc, #196] ; (802f120 ) 802f05a: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 pardata.LP = 12800.000011111f; 802f05e: 4b28 ldr r3, [pc, #160] ; (802f100 ) 802f060: 4a30 ldr r2, [pc, #192] ; (802f124 ) 802f062: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 pardata.TME = SEC10; 802f066: 4b26 ldr r3, [pc, #152] ; (802f100 ) 802f068: 2202 movs r2, #2 802f06a: 739a strb r2, [r3, #14] pardata.CORR_MULT = 1.0f; 802f06c: 4b24 ldr r3, [pc, #144] ; (802f100 ) 802f06e: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802f072: f8c3 2094 str.w r2, [r3, #148] ; 0x94 for(i = 0; i < 9; i++) { 802f076: 2300 movs r3, #0 802f078: 73fb strb r3, [r7, #15] 802f07a: e00e b.n 802f09a pardata.CORR_KU[i] = corrdata.CORR_ACC[i]; 802f07c: 7bfb ldrb r3, [r7, #15] 802f07e: 7bfa ldrb r2, [r7, #15] 802f080: 4929 ldr r1, [pc, #164] ; (802f128 ) 802f082: 0092 lsls r2, r2, #2 802f084: 440a add r2, r1 802f086: 6812 ldr r2, [r2, #0] 802f088: 491d ldr r1, [pc, #116] ; (802f100 ) 802f08a: 3306 adds r3, #6 802f08c: 009b lsls r3, r3, #2 802f08e: 440b add r3, r1 802f090: 3304 adds r3, #4 802f092: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 802f094: 7bfb ldrb r3, [r7, #15] 802f096: 3301 adds r3, #1 802f098: 73fb strb r3, [r7, #15] 802f09a: 7bfb ldrb r3, [r7, #15] 802f09c: 2b08 cmp r3, #8 802f09e: d9ed bls.n 802f07c } pardata.OPTIONS = BIT0/* | BIT2*/; 802f0a0: 4b17 ldr r3, [pc, #92] ; (802f100 ) 802f0a2: 2201 movs r2, #1 802f0a4: f8c3 2098 str.w r2, [r3, #152] ; 0x98 * BIT6 - Bluetooth State (0 - PowerOff, 1- PowerOn) * BIT7 - TachoChannel +/- * BIT8 - Pyrometer */ pardata.ROLL_COUNT = 32; 802f0a8: 4b15 ldr r3, [pc, #84] ; (802f100 ) 802f0aa: 2220 movs r2, #32 802f0ac: f8c3 20bc str.w r2, [r3, #188] ; 0xbc pardata.D_ROLL = 10.000f; 802f0b0: 4b13 ldr r3, [pc, #76] ; (802f100 ) 802f0b2: 4a19 ldr r2, [pc, #100] ; (802f118 ) 802f0b4: f8c3 20c0 str.w r2, [r3, #192] ; 0xc0 pardata.D_OUTER = 62.000f; 802f0b8: 4b11 ldr r3, [pc, #68] ; (802f100 ) 802f0ba: 4a1c ldr r2, [pc, #112] ; (802f12c ) 802f0bc: f8c3 20c4 str.w r2, [r3, #196] ; 0xc4 pardata.D_INNER = 43.000f; 802f0c0: 4b0f ldr r3, [pc, #60] ; (802f100 ) 802f0c2: 4a1b ldr r2, [pc, #108] ; (802f130 ) 802f0c4: f8c3 20c8 str.w r2, [r3, #200] ; 0xc8 pardata.D_ANGLE = 45.000f; 802f0c8: 4b0d ldr r3, [pc, #52] ; (802f100 ) 802f0ca: 4a1a ldr r2, [pc, #104] ; (802f134 ) 802f0cc: f8c3 20cc str.w r2, [r3, #204] ; 0xcc pardata.D_RATE = 1416.0f; 802f0d0: 4b0b ldr r3, [pc, #44] ; (802f100 ) 802f0d2: f44f 62b1 mov.w r2, #1416 ; 0x588 802f0d6: f8c3 20d0 str.w r2, [r3, #208] ; 0xd0 memset((void *) &pardata.DIAGN_NAME[0][0], 0, 8u * 40); 802f0da: f44f 72a0 mov.w r2, #320 ; 0x140 802f0de: 2100 movs r1, #0 802f0e0: 4815 ldr r0, [pc, #84] ; (802f138 ) 802f0e2: f0a2 ff5f bl 80d1fa4 memset((void *) &pardata.DIAGN_OPER[0][0], 0, 8u * 4); 802f0e6: 2220 movs r2, #32 802f0e8: 2100 movs r1, #0 802f0ea: 4814 ldr r0, [pc, #80] ; (802f13c ) 802f0ec: f0a2 ff5a bl 80d1fa4 for(i = 0; i < 8; i++) 802f0f0: 2300 movs r3, #0 802f0f2: 73fb strb r3, [r7, #15] 802f0f4: e06d b.n 802f1d2 { for(j = 0; j < 4; j++) 802f0f6: 2300 movs r3, #0 802f0f8: 73bb strb r3, [r7, #14] 802f0fa: e064 b.n 802f1c6 802f0fc: 08018000 .word 0x08018000 802f100: 20023eb8 .word 0x20023eb8 802f104: 20020f20 .word 0x20020f20 802f108: 20023ef8 .word 0x20023ef8 802f10c: 20023f20 .word 0x20023f20 802f110: 20024314 .word 0x20024314 802f114: 2002433c .word 0x2002433c 802f118: 41200000 .word 0x41200000 802f11c: 43480000 .word 0x43480000 802f120: 40000005 .word 0x40000005 802f124: 46480000 .word 0x46480000 802f128: 20024368 .word 0x20024368 802f12c: 42780000 .word 0x42780000 802f130: 422c0000 .word 0x422c0000 802f134: 42340000 .word 0x42340000 802f138: 20023f94 .word 0x20023f94 802f13c: 200240d4 .word 0x200240d4 { pardata.DIAGN_OPER[i][j] = 0; // or 802f140: 7bfa ldrb r2, [r7, #15] 802f142: 7bbb ldrb r3, [r7, #14] 802f144: 4989 ldr r1, [pc, #548] ; (802f36c ) 802f146: 0092 lsls r2, r2, #2 802f148: 440a add r2, r1 802f14a: 4413 add r3, r2 802f14c: f503 7307 add.w r3, r3, #540 ; 0x21c 802f150: 2200 movs r2, #0 802f152: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[i][j] = 0x11; // A + rms 802f154: 7bfa ldrb r2, [r7, #15] 802f156: 7bbb ldrb r3, [r7, #14] 802f158: 4984 ldr r1, [pc, #528] ; (802f36c ) 802f15a: 0092 lsls r2, r2, #2 802f15c: 440a add r2, r1 802f15e: 4413 add r3, r2 802f160: f503 730f add.w r3, r3, #572 ; 0x23c 802f164: 2211 movs r2, #17 802f166: 701a strb r2, [r3, #0] pardata.DIAGN_HP[i][j] = 2.000111f; 802f168: 7bfa ldrb r2, [r7, #15] 802f16a: 7bbb ldrb r3, [r7, #14] 802f16c: 497f ldr r1, [pc, #508] ; (802f36c ) 802f16e: 0092 lsls r2, r2, #2 802f170: 4413 add r3, r2 802f172: 3396 adds r3, #150 ; 0x96 802f174: 009b lsls r3, r3, #2 802f176: 440b add r3, r1 802f178: 3304 adds r3, #4 802f17a: 4a7d ldr r2, [pc, #500] ; (802f370 ) 802f17c: 601a str r2, [r3, #0] pardata.DIAGN_LP[i][j] = 1000.00011f; 802f17e: 7bfa ldrb r2, [r7, #15] 802f180: 7bbb ldrb r3, [r7, #14] 802f182: 497a ldr r1, [pc, #488] ; (802f36c ) 802f184: 0092 lsls r2, r2, #2 802f186: 4413 add r3, r2 802f188: 33b6 adds r3, #182 ; 0xb6 802f18a: 009b lsls r3, r3, #2 802f18c: 440b add r3, r1 802f18e: 3304 adds r3, #4 802f190: 4a78 ldr r2, [pc, #480] ; (802f374 ) 802f192: 601a str r2, [r3, #0] pardata.DIAGN_W[i][j] = 50.000111f; 802f194: 7bfa ldrb r2, [r7, #15] 802f196: 7bbb ldrb r3, [r7, #14] 802f198: 4974 ldr r1, [pc, #464] ; (802f36c ) 802f19a: 0092 lsls r2, r2, #2 802f19c: 4413 add r3, r2 802f19e: 33d6 adds r3, #214 ; 0xd6 802f1a0: 009b lsls r3, r3, #2 802f1a2: 440b add r3, r1 802f1a4: 3304 adds r3, #4 802f1a6: 4a74 ldr r2, [pc, #464] ; (802f378 ) 802f1a8: 601a str r2, [r3, #0] pardata.DIAGN_A[i][j] = 100.00011f; 802f1aa: 7bfa ldrb r2, [r7, #15] 802f1ac: 7bbb ldrb r3, [r7, #14] 802f1ae: 496f ldr r1, [pc, #444] ; (802f36c ) 802f1b0: 0092 lsls r2, r2, #2 802f1b2: 4413 add r3, r2 802f1b4: 33f6 adds r3, #246 ; 0xf6 802f1b6: 009b lsls r3, r3, #2 802f1b8: 440b add r3, r1 802f1ba: 3304 adds r3, #4 802f1bc: 4a6f ldr r2, [pc, #444] ; (802f37c ) 802f1be: 601a str r2, [r3, #0] for(j = 0; j < 4; j++) 802f1c0: 7bbb ldrb r3, [r7, #14] 802f1c2: 3301 adds r3, #1 802f1c4: 73bb strb r3, [r7, #14] 802f1c6: 7bbb ldrb r3, [r7, #14] 802f1c8: 2b03 cmp r3, #3 802f1ca: d9b9 bls.n 802f140 for(i = 0; i < 8; i++) 802f1cc: 7bfb ldrb r3, [r7, #15] 802f1ce: 3301 adds r3, #1 802f1d0: 73fb strb r3, [r7, #15] 802f1d2: 7bfb ldrb r3, [r7, #15] 802f1d4: 2b07 cmp r3, #7 802f1d6: d98e bls.n 802f0f6 } } wrPar(); 802f1d8: f7ff fe1e bl 802ee18 } memcpy(MeasFileName, (char *) &pardata.MEASNAME[0], sizeof(MeasFileName)); 802f1dc: 4a68 ldr r2, [pc, #416] ; (802f380 ) 802f1de: 4b63 ldr r3, [pc, #396] ; (802f36c ) 802f1e0: f103 0440 add.w r4, r3, #64 ; 0x40 802f1e4: 4696 mov lr, r2 802f1e6: f104 0c20 add.w ip, r4, #32 802f1ea: 4675 mov r5, lr 802f1ec: 4626 mov r6, r4 802f1ee: ce0f ldmia r6!, {r0, r1, r2, r3} 802f1f0: 6028 str r0, [r5, #0] 802f1f2: 6069 str r1, [r5, #4] 802f1f4: 60aa str r2, [r5, #8] 802f1f6: 60eb str r3, [r5, #12] 802f1f8: 3410 adds r4, #16 802f1fa: f10e 0e10 add.w lr, lr, #16 802f1fe: 4564 cmp r4, ip 802f200: d1f3 bne.n 802f1ea 802f202: 4673 mov r3, lr 802f204: 4622 mov r2, r4 802f206: 7812 ldrb r2, [r2, #0] 802f208: 701a strb r2, [r3, #0] memcpy(WavFileName, (char *) &pardata.WAVNAME[0], sizeof(WavFileName)); 802f20a: 4a5e ldr r2, [pc, #376] ; (802f384 ) 802f20c: 4b57 ldr r3, [pc, #348] ; (802f36c ) 802f20e: f103 0468 add.w r4, r3, #104 ; 0x68 802f212: 4696 mov lr, r2 802f214: f104 0c20 add.w ip, r4, #32 802f218: 4675 mov r5, lr 802f21a: 4626 mov r6, r4 802f21c: ce0f ldmia r6!, {r0, r1, r2, r3} 802f21e: 6028 str r0, [r5, #0] 802f220: 6069 str r1, [r5, #4] 802f222: 60aa str r2, [r5, #8] 802f224: 60eb str r3, [r5, #12] 802f226: 3410 adds r4, #16 802f228: f10e 0e10 add.w lr, lr, #16 802f22c: 4564 cmp r4, ip 802f22e: d1f3 bne.n 802f218 802f230: 4673 mov r3, lr 802f232: 4622 mov r2, r4 802f234: 7812 ldrb r2, [r2, #0] 802f236: 701a strb r2, [r3, #0] memcpy(DiagFileName, (char *) &pardata.DIAGN_FILE[0], sizeof(DiagFileName)); 802f238: 4a53 ldr r2, [pc, #332] ; (802f388 ) 802f23a: 4b4c ldr r3, [pc, #304] ; (802f36c ) 802f23c: f203 445c addw r4, r3, #1116 ; 0x45c 802f240: 4696 mov lr, r2 802f242: f104 0c20 add.w ip, r4, #32 802f246: 4675 mov r5, lr 802f248: 4626 mov r6, r4 802f24a: ce0f ldmia r6!, {r0, r1, r2, r3} 802f24c: 6028 str r0, [r5, #0] 802f24e: 6069 str r1, [r5, #4] 802f250: 60aa str r2, [r5, #8] 802f252: 60eb str r3, [r5, #12] 802f254: 3410 adds r4, #16 802f256: f10e 0e10 add.w lr, lr, #16 802f25a: 4564 cmp r4, ip 802f25c: d1f3 bne.n 802f246 802f25e: 4673 mov r3, lr 802f260: 4622 mov r2, r4 802f262: 7812 ldrb r2, [r2, #0] 802f264: 701a strb r2, [r3, #0] memcpy(RouteFileName, (char *) &pardata.ROUTE_NAME[0], sizeof(RouteFileName)); 802f266: 4a49 ldr r2, [pc, #292] ; (802f38c ) 802f268: 4b40 ldr r3, [pc, #256] ; (802f36c ) 802f26a: f203 4484 addw r4, r3, #1156 ; 0x484 802f26e: 4696 mov lr, r2 802f270: f104 0c20 add.w ip, r4, #32 802f274: 4675 mov r5, lr 802f276: 4626 mov r6, r4 802f278: ce0f ldmia r6!, {r0, r1, r2, r3} 802f27a: 6028 str r0, [r5, #0] 802f27c: 6069 str r1, [r5, #4] 802f27e: 60aa str r2, [r5, #8] 802f280: 60eb str r3, [r5, #12] 802f282: 3410 adds r4, #16 802f284: f10e 0e10 add.w lr, lr, #16 802f288: 4564 cmp r4, ip 802f28a: d1f3 bne.n 802f274 802f28c: 4673 mov r3, lr 802f28e: 4622 mov r2, r4 802f290: 7812 ldrb r2, [r2, #0] 802f292: 701a strb r2, [r3, #0] pardata.IKU = Ku1; 802f294: 4b35 ldr r3, [pc, #212] ; (802f36c ) 802f296: 2200 movs r2, #0 802f298: 721a strb r2, [r3, #8] for(i = 0; i < 9; i++) { 802f29a: 2300 movs r3, #0 802f29c: 73fb strb r3, [r7, #15] 802f29e: e00e b.n 802f2be pardata.CORR_KU[i] = corrdata.CORR_ACC[i]; 802f2a0: 7bfb ldrb r3, [r7, #15] 802f2a2: 7bfa ldrb r2, [r7, #15] 802f2a4: 493a ldr r1, [pc, #232] ; (802f390 ) 802f2a6: 0092 lsls r2, r2, #2 802f2a8: 440a add r2, r1 802f2aa: 6812 ldr r2, [r2, #0] 802f2ac: 492f ldr r1, [pc, #188] ; (802f36c ) 802f2ae: 3306 adds r3, #6 802f2b0: 009b lsls r3, r3, #2 802f2b2: 440b add r3, r1 802f2b4: 3304 adds r3, #4 802f2b6: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 802f2b8: 7bfb ldrb r3, [r7, #15] 802f2ba: 3301 adds r3, #1 802f2bc: 73fb strb r3, [r7, #15] 802f2be: 7bfb ldrb r3, [r7, #15] 802f2c0: 2b08 cmp r3, #8 802f2c2: d9ed bls.n 802f2a0 } if(pardata.ROLL_COUNT == 0xffffffff) 802f2c4: 4b29 ldr r3, [pc, #164] ; (802f36c ) 802f2c6: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 802f2ca: f1b3 3fff cmp.w r3, #4294967295 802f2ce: d11a bne.n 802f306 { pardata.ROLL_COUNT = 32; 802f2d0: 4b26 ldr r3, [pc, #152] ; (802f36c ) 802f2d2: 2220 movs r2, #32 802f2d4: f8c3 20bc str.w r2, [r3, #188] ; 0xbc pardata.D_ROLL = 10.000f; 802f2d8: 4b24 ldr r3, [pc, #144] ; (802f36c ) 802f2da: 4a2e ldr r2, [pc, #184] ; (802f394 ) 802f2dc: f8c3 20c0 str.w r2, [r3, #192] ; 0xc0 pardata.D_OUTER = 62.000f; 802f2e0: 4b22 ldr r3, [pc, #136] ; (802f36c ) 802f2e2: 4a2d ldr r2, [pc, #180] ; (802f398 ) 802f2e4: f8c3 20c4 str.w r2, [r3, #196] ; 0xc4 pardata.D_INNER = 43.000f; 802f2e8: 4b20 ldr r3, [pc, #128] ; (802f36c ) 802f2ea: 4a2c ldr r2, [pc, #176] ; (802f39c ) 802f2ec: f8c3 20c8 str.w r2, [r3, #200] ; 0xc8 pardata.D_ANGLE = 45.000f; 802f2f0: 4b1e ldr r3, [pc, #120] ; (802f36c ) 802f2f2: 4a2b ldr r2, [pc, #172] ; (802f3a0 ) 802f2f4: f8c3 20cc str.w r2, [r3, #204] ; 0xcc pardata.D_RATE = 1416.0f; 802f2f8: 4b1c ldr r3, [pc, #112] ; (802f36c ) 802f2fa: f44f 62b1 mov.w r2, #1416 ; 0x588 802f2fe: f8c3 20d0 str.w r2, [r3, #208] ; 0xd0 rewrite = true; 802f302: 2301 movs r3, #1 802f304: 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)) 802f306: 4b19 ldr r3, [pc, #100] ; (802f36c ) 802f308: f893 30dc ldrb.w r3, [r3, #220] ; 0xdc 802f30c: b2db uxtb r3, r3 802f30e: 2bff cmp r3, #255 ; 0xff 802f310: f040 809a bne.w 802f448 802f314: 4b15 ldr r3, [pc, #84] ; (802f36c ) 802f316: f893 3104 ldrb.w r3, [r3, #260] ; 0x104 802f31a: b2db uxtb r3, r3 802f31c: 2bff cmp r3, #255 ; 0xff 802f31e: f040 8093 bne.w 802f448 802f322: 4b12 ldr r3, [pc, #72] ; (802f36c ) 802f324: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 802f328: b2db uxtb r3, r3 802f32a: 2bff cmp r3, #255 ; 0xff 802f32c: f040 808c bne.w 802f448 802f330: 4b0e ldr r3, [pc, #56] ; (802f36c ) 802f332: f893 3220 ldrb.w r3, [r3, #544] ; 0x220 802f336: b2db uxtb r3, r3 802f338: 2bff cmp r3, #255 ; 0xff 802f33a: f040 8085 bne.w 802f448 { memset((void *) &pardata.DIAGN_NAME[0][0], 0, 8u * 40); 802f33e: f44f 72a0 mov.w r2, #320 ; 0x140 802f342: 2100 movs r1, #0 802f344: 4817 ldr r0, [pc, #92] ; (802f3a4 ) 802f346: f0a2 fe2d bl 80d1fa4 memset((void *) &pardata.DIAGN_OPER[0][0], 0, 8u * 4); 802f34a: 2220 movs r2, #32 802f34c: 2100 movs r1, #0 802f34e: 4816 ldr r0, [pc, #88] ; (802f3a8 ) 802f350: f0a2 fe28 bl 80d1fa4 memset((char *) &pardata.DIAGN_FILE[0], 0, sizeof(DiagFileName)); 802f354: 2221 movs r2, #33 ; 0x21 802f356: 2100 movs r1, #0 802f358: 4814 ldr r0, [pc, #80] ; (802f3ac ) 802f35a: f0a2 fe23 bl 80d1fa4 for(i = 0; i < 8; i++) 802f35e: 2300 movs r3, #0 802f360: 73fb strb r3, [r7, #15] 802f362: e06e b.n 802f442 { for(j = 0; j < 4; j++) 802f364: 2300 movs r3, #0 802f366: 73bb strb r3, [r7, #14] 802f368: e065 b.n 802f436 802f36a: bf00 nop 802f36c: 20023eb8 .word 0x20023eb8 802f370: 400001d2 .word 0x400001d2 802f374: 447a0002 .word 0x447a0002 802f378: 4248001d .word 0x4248001d 802f37c: 42c8000e .word 0x42c8000e 802f380: 20020e80 .word 0x20020e80 802f384: 20020e5c .word 0x20020e5c 802f388: 20020ea4 .word 0x20020ea4 802f38c: 20020ec8 .word 0x20020ec8 802f390: 20024368 .word 0x20024368 802f394: 41200000 .word 0x41200000 802f398: 42780000 .word 0x42780000 802f39c: 422c0000 .word 0x422c0000 802f3a0: 42340000 .word 0x42340000 802f3a4: 20023f94 .word 0x20023f94 802f3a8: 200240d4 .word 0x200240d4 802f3ac: 20024314 .word 0x20024314 { pardata.DIAGN_OPER[i][j] = 0; // or 802f3b0: 7bfa ldrb r2, [r7, #15] 802f3b2: 7bbb ldrb r3, [r7, #14] 802f3b4: 4943 ldr r1, [pc, #268] ; (802f4c4 ) 802f3b6: 0092 lsls r2, r2, #2 802f3b8: 440a add r2, r1 802f3ba: 4413 add r3, r2 802f3bc: f503 7307 add.w r3, r3, #540 ; 0x21c 802f3c0: 2200 movs r2, #0 802f3c2: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[i][j] = 0x11; // A + rms 802f3c4: 7bfa ldrb r2, [r7, #15] 802f3c6: 7bbb ldrb r3, [r7, #14] 802f3c8: 493e ldr r1, [pc, #248] ; (802f4c4 ) 802f3ca: 0092 lsls r2, r2, #2 802f3cc: 440a add r2, r1 802f3ce: 4413 add r3, r2 802f3d0: f503 730f add.w r3, r3, #572 ; 0x23c 802f3d4: 2211 movs r2, #17 802f3d6: 701a strb r2, [r3, #0] pardata.DIAGN_HP[i][j] = 2.000111f; 802f3d8: 7bfa ldrb r2, [r7, #15] 802f3da: 7bbb ldrb r3, [r7, #14] 802f3dc: 4939 ldr r1, [pc, #228] ; (802f4c4 ) 802f3de: 0092 lsls r2, r2, #2 802f3e0: 4413 add r3, r2 802f3e2: 3396 adds r3, #150 ; 0x96 802f3e4: 009b lsls r3, r3, #2 802f3e6: 440b add r3, r1 802f3e8: 3304 adds r3, #4 802f3ea: 4a37 ldr r2, [pc, #220] ; (802f4c8 ) 802f3ec: 601a str r2, [r3, #0] pardata.DIAGN_LP[i][j] = 1000.00011f; 802f3ee: 7bfa ldrb r2, [r7, #15] 802f3f0: 7bbb ldrb r3, [r7, #14] 802f3f2: 4934 ldr r1, [pc, #208] ; (802f4c4 ) 802f3f4: 0092 lsls r2, r2, #2 802f3f6: 4413 add r3, r2 802f3f8: 33b6 adds r3, #182 ; 0xb6 802f3fa: 009b lsls r3, r3, #2 802f3fc: 440b add r3, r1 802f3fe: 3304 adds r3, #4 802f400: 4a32 ldr r2, [pc, #200] ; (802f4cc ) 802f402: 601a str r2, [r3, #0] pardata.DIAGN_W[i][j] = 50.000111f; 802f404: 7bfa ldrb r2, [r7, #15] 802f406: 7bbb ldrb r3, [r7, #14] 802f408: 492e ldr r1, [pc, #184] ; (802f4c4 ) 802f40a: 0092 lsls r2, r2, #2 802f40c: 4413 add r3, r2 802f40e: 33d6 adds r3, #214 ; 0xd6 802f410: 009b lsls r3, r3, #2 802f412: 440b add r3, r1 802f414: 3304 adds r3, #4 802f416: 4a2e ldr r2, [pc, #184] ; (802f4d0 ) 802f418: 601a str r2, [r3, #0] pardata.DIAGN_A[i][j] = 100.00011f; 802f41a: 7bfa ldrb r2, [r7, #15] 802f41c: 7bbb ldrb r3, [r7, #14] 802f41e: 4929 ldr r1, [pc, #164] ; (802f4c4 ) 802f420: 0092 lsls r2, r2, #2 802f422: 4413 add r3, r2 802f424: 33f6 adds r3, #246 ; 0xf6 802f426: 009b lsls r3, r3, #2 802f428: 440b add r3, r1 802f42a: 3304 adds r3, #4 802f42c: 4a29 ldr r2, [pc, #164] ; (802f4d4 ) 802f42e: 601a str r2, [r3, #0] for(j = 0; j < 4; j++) 802f430: 7bbb ldrb r3, [r7, #14] 802f432: 3301 adds r3, #1 802f434: 73bb strb r3, [r7, #14] 802f436: 7bbb ldrb r3, [r7, #14] 802f438: 2b03 cmp r3, #3 802f43a: d9b9 bls.n 802f3b0 for(i = 0; i < 8; i++) 802f43c: 7bfb ldrb r3, [r7, #15] 802f43e: 3301 adds r3, #1 802f440: 73fb strb r3, [r7, #15] 802f442: 7bfb ldrb r3, [r7, #15] 802f444: 2b07 cmp r3, #7 802f446: d98d bls.n 802f364 } } } hpf.fl = pardata.HP; 802f448: 4b1e ldr r3, [pc, #120] ; (802f4c4 ) 802f44a: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 802f44e: 603b str r3, [r7, #0] if(hpf.lg == 0xffffffff) 802f450: 683b ldr r3, [r7, #0] 802f452: f1b3 3fff cmp.w r3, #4294967295 802f456: d106 bne.n 802f466 { pardata.HP = 2.0f; 802f458: 4b1a ldr r3, [pc, #104] ; (802f4c4 ) 802f45a: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 802f45e: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 rewrite = true; 802f462: 2301 movs r3, #1 802f464: 71fb strb r3, [r7, #7] } hpf.fl = pardata.LP; 802f466: 4b17 ldr r3, [pc, #92] ; (802f4c4 ) 802f468: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 802f46c: 603b str r3, [r7, #0] if(hpf.lg == 0xffffffff) 802f46e: 683b ldr r3, [r7, #0] 802f470: f1b3 3fff cmp.w r3, #4294967295 802f474: d105 bne.n 802f482 { pardata.LP = 1000.0f; 802f476: 4b13 ldr r3, [pc, #76] ; (802f4c4 ) 802f478: 4a17 ldr r2, [pc, #92] ; (802f4d8 ) 802f47a: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 rewrite = true; 802f47e: 2301 movs r3, #1 802f480: 71fb strb r3, [r7, #7] if(pardata.IIN == CHARGE) pardata.IIN = ICP; #endif #ifndef USE_BLUETOOTH pardata.OPTIONS &= ~BIT6; 802f482: 4b10 ldr r3, [pc, #64] ; (802f4c4 ) 802f484: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 802f488: f023 0340 bic.w r3, r3, #64 ; 0x40 802f48c: 4a0d ldr r2, [pc, #52] ; (802f4c4 ) 802f48e: f8c2 3098 str.w r3, [r2, #152] ; 0x98 #ifndef USE_TEMPERATURE pardata.OPTIONS &= ~BIT8; #endif if((pardata.IIN == VOLTS) && (pardata.SYG > FFT)) { 802f492: 4b0c ldr r3, [pc, #48] ; (802f4c4 ) 802f494: 799b ldrb r3, [r3, #6] 802f496: b2db uxtb r3, r3 802f498: 2b02 cmp r3, #2 802f49a: d107 bne.n 802f4ac 802f49c: 4b09 ldr r3, [pc, #36] ; (802f4c4 ) 802f49e: 781b ldrb r3, [r3, #0] 802f4a0: b2db uxtb r3, r3 802f4a2: 2b03 cmp r3, #3 802f4a4: d902 bls.n 802f4ac pardata.SYG = VIB; 802f4a6: 4b07 ldr r3, [pc, #28] ; (802f4c4 ) 802f4a8: 2200 movs r2, #0 802f4aa: 701a strb r2, [r3, #0] } if(rewrite) 802f4ac: 79fb ldrb r3, [r7, #7] 802f4ae: b2db uxtb r3, r3 802f4b0: 2b00 cmp r3, #0 802f4b2: d003 beq.n 802f4bc { rewrite = false; 802f4b4: 2300 movs r3, #0 802f4b6: 71fb strb r3, [r7, #7] wrPar(); 802f4b8: f7ff fcae bl 802ee18 } } 802f4bc: bf00 nop 802f4be: 3714 adds r7, #20 802f4c0: 46bd mov sp, r7 802f4c2: bdf0 pop {r4, r5, r6, r7, pc} 802f4c4: 20023eb8 .word 0x20023eb8 802f4c8: 400001d2 .word 0x400001d2 802f4cc: 447a0002 .word 0x447a0002 802f4d0: 4248001d .word 0x4248001d 802f4d4: 42c8000e .word 0x42c8000e 802f4d8: 447a0000 .word 0x447a0000 0802f4dc : void CheckFilesForWrite(void) { 802f4dc: b580 push {r7, lr} 802f4de: af00 add r7, sp, #0 if(CardState == MSD_READY) 802f4e0: 4b1c ldr r3, [pc, #112] ; (802f554 ) 802f4e2: 781b ldrb r3, [r3, #0] 802f4e4: b2db uxtb r3, r3 802f4e6: 2b03 cmp r3, #3 802f4e8: d11e bne.n 802f528 { if(MeasFileName[0] != 0) 802f4ea: 4b1b ldr r3, [pc, #108] ; (802f558 ) 802f4ec: 781b ldrb r3, [r3, #0] 802f4ee: 2b00 cmp r3, #0 802f4f0: d00a beq.n 802f508 { if(CheckExistPTM(MeasFileName) == FR_NO_FILE) { // Ôàéë ñ äàííûì èìåíåì íå íàéäåí íà SD-êàðòå 802f4f2: 4819 ldr r0, [pc, #100] ; (802f558 ) 802f4f4: f7fa fbb4 bl 8029c60 802f4f8: 4603 mov r3, r0 802f4fa: 2b04 cmp r3, #4 802f4fc: d104 bne.n 802f508 memset(MeasFileName, 0, sizeof(MeasFileName)); 802f4fe: 2221 movs r2, #33 ; 0x21 802f500: 2100 movs r1, #0 802f502: 4815 ldr r0, [pc, #84] ; (802f558 ) 802f504: f0a2 fd4e bl 80d1fa4 } } if(DiagFileName[0] != 0) 802f508: 4b14 ldr r3, [pc, #80] ; (802f55c ) 802f50a: 781b ldrb r3, [r3, #0] 802f50c: 2b00 cmp r3, #0 802f50e: d01f beq.n 802f550 { if(CheckExistDGN(DiagFileName) == FR_NO_FILE) { // Ôàéë ñ äàííûì èìåíåì íå íàéäåí íà SD-êàðòå 802f510: 4812 ldr r0, [pc, #72] ; (802f55c ) 802f512: f7fa fbf5 bl 8029d00 802f516: 4603 mov r3, r0 802f518: 2b04 cmp r3, #4 802f51a: d119 bne.n 802f550 memset(DiagFileName, 0, sizeof(DiagFileName)); 802f51c: 2221 movs r2, #33 ; 0x21 802f51e: 2100 movs r1, #0 802f520: 480e ldr r0, [pc, #56] ; (802f55c ) 802f522: f0a2 fd3f bl 80d1fa4 memset(MeasFileName, 0, sizeof(MeasFileName)); memset(WavFileName, 0, sizeof(WavFileName)); memset(DiagFileName, 0, sizeof(DiagFileName)); memset(RouteFileName, 0, sizeof(RouteFileName)); } } 802f526: e013 b.n 802f550 memset(MeasFileName, 0, sizeof(MeasFileName)); 802f528: 2221 movs r2, #33 ; 0x21 802f52a: 2100 movs r1, #0 802f52c: 480a ldr r0, [pc, #40] ; (802f558 ) 802f52e: f0a2 fd39 bl 80d1fa4 memset(WavFileName, 0, sizeof(WavFileName)); 802f532: 2221 movs r2, #33 ; 0x21 802f534: 2100 movs r1, #0 802f536: 480a ldr r0, [pc, #40] ; (802f560 ) 802f538: f0a2 fd34 bl 80d1fa4 memset(DiagFileName, 0, sizeof(DiagFileName)); 802f53c: 2221 movs r2, #33 ; 0x21 802f53e: 2100 movs r1, #0 802f540: 4806 ldr r0, [pc, #24] ; (802f55c ) 802f542: f0a2 fd2f bl 80d1fa4 memset(RouteFileName, 0, sizeof(RouteFileName)); 802f546: 2221 movs r2, #33 ; 0x21 802f548: 2100 movs r1, #0 802f54a: 4806 ldr r0, [pc, #24] ; (802f564 ) 802f54c: f0a2 fd2a bl 80d1fa4 } 802f550: bf00 nop 802f552: bd80 pop {r7, pc} 802f554: 2002169c .word 0x2002169c 802f558: 20020e80 .word 0x20020e80 802f55c: 20020ea4 .word 0x20020ea4 802f560: 20020e5c .word 0x20020e5c 802f564: 20020ec8 .word 0x20020ec8 0802f568 : void wrCorr(void) { 802f568: b590 push {r4, r7, lr} 802f56a: b087 sub sp, #28 802f56c: af00 add r7, sp, #0 volatile uint32_t i; volatile uint32_t lencorr = 0; 802f56e: 2300 movs r3, #0 802f570: 60fb str r3, [r7, #12] volatile uint32_t Address, *pData; uint32_t SECTORError = 0; 802f572: 2300 movs r3, #0 802f574: 607b str r3, [r7, #4] #ifndef DEBUGGING lencorr = sizeof(CorrData_TypeDef); 802f576: 236c movs r3, #108 ; 0x6c 802f578: 60fb str r3, [r7, #12] while(lencorr % 4) 802f57a: e002 b.n 802f582 lencorr++; 802f57c: 68fb ldr r3, [r7, #12] 802f57e: 3301 adds r3, #1 802f580: 60fb str r3, [r7, #12] while(lencorr % 4) 802f582: 68fb ldr r3, [r7, #12] 802f584: f003 0303 and.w r3, r3, #3 802f588: 2b00 cmp r3, #0 802f58a: d1f7 bne.n 802f57c lencorr >>= 2; 802f58c: 68fb ldr r3, [r7, #12] 802f58e: 089b lsrs r3, r3, #2 802f590: 60fb str r3, [r7, #12] __ASM volatile ("cpsid i" : : : "memory"); 802f592: b672 cpsid i __disable_irq(); HAL_FLASH_Unlock(); 802f594: f08a f9e0 bl 80b9958 EraseInitStruct.TypeErase = FLASH_TYPEERASE_SECTORS; 802f598: 4b47 ldr r3, [pc, #284] ; (802f6b8 ) 802f59a: 2200 movs r2, #0 802f59c: 601a str r2, [r3, #0] EraseInitStruct.VoltageRange = FLASH_VOLTAGE_RANGE_3; 802f59e: 4b46 ldr r3, [pc, #280] ; (802f6b8 ) 802f5a0: 2202 movs r2, #2 802f5a2: 611a str r2, [r3, #16] EraseInitStruct.Sector = CORRSECTOR; //FLASH_SECTOR_10; 802f5a4: 4b44 ldr r3, [pc, #272] ; (802f6b8 ) 802f5a6: 2202 movs r2, #2 802f5a8: 609a str r2, [r3, #8] EraseInitStruct.NbSectors = 1; 802f5aa: 4b43 ldr r3, [pc, #268] ; (802f6b8 ) 802f5ac: 2201 movs r2, #1 802f5ae: 60da str r2, [r3, #12] if(HAL_FLASHEx_Erase(&EraseInitStruct, &SECTORError) == HAL_OK) 802f5b0: 1d3b adds r3, r7, #4 802f5b2: 4619 mov r1, r3 802f5b4: 4840 ldr r0, [pc, #256] ; (802f6b8 ) 802f5b6: f08a fb29 bl 80b9c0c 802f5ba: 4603 mov r3, r0 802f5bc: 2b00 cmp r3, #0 802f5be: d174 bne.n 802f6aa { Address = CORRPAGE; 802f5c0: 4b3e ldr r3, [pc, #248] ; (802f6bc ) 802f5c2: 60bb str r3, [r7, #8] pData = (uint32_t *) &corrdata; 802f5c4: 4b3e ldr r3, [pc, #248] ; (802f6c0 ) 802f5c6: 617b str r3, [r7, #20] for(i = 0; i < lencorr; i++) 802f5c8: 2300 movs r3, #0 802f5ca: 613b str r3, [r7, #16] 802f5cc: e011 b.n 802f5f2 { HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, *pData++); 802f5ce: 68b9 ldr r1, [r7, #8] 802f5d0: 697b ldr r3, [r7, #20] 802f5d2: 1d1a adds r2, r3, #4 802f5d4: 617a str r2, [r7, #20] 802f5d6: 681b ldr r3, [r3, #0] 802f5d8: f04f 0400 mov.w r4, #0 802f5dc: 461a mov r2, r3 802f5de: 4623 mov r3, r4 802f5e0: 2002 movs r0, #2 802f5e2: f08a f95d bl 80b98a0 Address += 4; 802f5e6: 68bb ldr r3, [r7, #8] 802f5e8: 3304 adds r3, #4 802f5ea: 60bb str r3, [r7, #8] for(i = 0; i < lencorr; i++) 802f5ec: 693b ldr r3, [r7, #16] 802f5ee: 3301 adds r3, #1 802f5f0: 613b str r3, [r7, #16] 802f5f2: 693a ldr r2, [r7, #16] 802f5f4: 68fb ldr r3, [r7, #12] 802f5f6: 429a cmp r2, r3 802f5f8: d3e9 bcc.n 802f5ce } pData = (uint32_t *) &aa1; 802f5fa: 4b32 ldr r3, [pc, #200] ; (802f6c4 ) 802f5fc: 617b str r3, [r7, #20] HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, *pData++); 802f5fe: 68b9 ldr r1, [r7, #8] 802f600: 697b ldr r3, [r7, #20] 802f602: 1d1a adds r2, r3, #4 802f604: 617a str r2, [r7, #20] 802f606: 681b ldr r3, [r3, #0] 802f608: f04f 0400 mov.w r4, #0 802f60c: 461a mov r2, r3 802f60e: 4623 mov r3, r4 802f610: 2002 movs r0, #2 802f612: f08a f945 bl 80b98a0 Address += 4; 802f616: 68bb ldr r3, [r7, #8] 802f618: 3304 adds r3, #4 802f61a: 60bb str r3, [r7, #8] pData = (uint32_t *) &aa0; 802f61c: 4b2a ldr r3, [pc, #168] ; (802f6c8 ) 802f61e: 617b str r3, [r7, #20] HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, *pData++); 802f620: 68b9 ldr r1, [r7, #8] 802f622: 697b ldr r3, [r7, #20] 802f624: 1d1a adds r2, r3, #4 802f626: 617a str r2, [r7, #20] 802f628: 681b ldr r3, [r3, #0] 802f62a: f04f 0400 mov.w r4, #0 802f62e: 461a mov r2, r3 802f630: 4623 mov r3, r4 802f632: 2002 movs r0, #2 802f634: f08a f934 bl 80b98a0 Address += 4; 802f638: 68bb ldr r3, [r7, #8] 802f63a: 3304 adds r3, #4 802f63c: 60bb str r3, [r7, #8] pData = (uint32_t *) _SERIAL; 802f63e: 4b23 ldr r3, [pc, #140] ; (802f6cc ) 802f640: 617b str r3, [r7, #20] for(i = 0; i < 2; i++) 802f642: 2300 movs r3, #0 802f644: 613b str r3, [r7, #16] 802f646: e011 b.n 802f66c { HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, *pData++); 802f648: 68b9 ldr r1, [r7, #8] 802f64a: 697b ldr r3, [r7, #20] 802f64c: 1d1a adds r2, r3, #4 802f64e: 617a str r2, [r7, #20] 802f650: 681b ldr r3, [r3, #0] 802f652: f04f 0400 mov.w r4, #0 802f656: 461a mov r2, r3 802f658: 4623 mov r3, r4 802f65a: 2002 movs r0, #2 802f65c: f08a f920 bl 80b98a0 Address += 4; 802f660: 68bb ldr r3, [r7, #8] 802f662: 3304 adds r3, #4 802f664: 60bb str r3, [r7, #8] for(i = 0; i < 2; i++) 802f666: 693b ldr r3, [r7, #16] 802f668: 3301 adds r3, #1 802f66a: 613b str r3, [r7, #16] 802f66c: 693b ldr r3, [r7, #16] 802f66e: 2b01 cmp r3, #1 802f670: d9ea bls.n 802f648 } pData = (uint32_t *) &MEAN; 802f672: 4b17 ldr r3, [pc, #92] ; (802f6d0 ) 802f674: 617b str r3, [r7, #20] HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, *pData++); 802f676: 68b9 ldr r1, [r7, #8] 802f678: 697b ldr r3, [r7, #20] 802f67a: 1d1a adds r2, r3, #4 802f67c: 617a str r2, [r7, #20] 802f67e: 681b ldr r3, [r3, #0] 802f680: f04f 0400 mov.w r4, #0 802f684: 461a mov r2, r3 802f686: 4623 mov r3, r4 802f688: 2002 movs r0, #2 802f68a: f08a f909 bl 80b98a0 Address += 4; 802f68e: 68bb ldr r3, [r7, #8] 802f690: 3304 adds r3, #4 802f692: 60bb str r3, [r7, #8] HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, 0x0000D141); 802f694: 68b9 ldr r1, [r7, #8] 802f696: f24d 1241 movw r2, #53569 ; 0xd141 802f69a: f04f 0300 mov.w r3, #0 802f69e: 2002 movs r0, #2 802f6a0: f08a f8fe bl 80b98a0 HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, 0x0000D141); #endif #ifdef USE_D142 HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, 0x0000D142); #endif*/ Address += 4; 802f6a4: 68bb ldr r3, [r7, #8] 802f6a6: 3304 adds r3, #4 802f6a8: 60bb str r3, [r7, #8] } HAL_FLASH_Lock(); 802f6aa: f08a f977 bl 80b999c __ASM volatile ("cpsie i" : : : "memory"); 802f6ae: b662 cpsie i __enable_irq(); #endif } 802f6b0: bf00 nop 802f6b2: 371c adds r7, #28 802f6b4: 46bd mov sp, r7 802f6b6: bd90 pop {r4, r7, pc} 802f6b8: 20020f24 .word 0x20020f24 802f6bc: 08010000 .word 0x08010000 802f6c0: 20024368 .word 0x20024368 802f6c4: 20020024 .word 0x20020024 802f6c8: 20020d6c .word 0x20020d6c 802f6cc: 20020f3c .word 0x20020f3c 802f6d0: 200209d8 .word 0x200209d8 0802f6d4 : void rdCorr(void) { 802f6d4: b5b0 push {r4, r5, r7, lr} 802f6d6: b090 sub sp, #64 ; 0x40 802f6d8: af00 add r7, sp, #0 CORRECTION = false; #else NeedFlash = false; 802f6da: 2300 movs r3, #0 802f6dc: f887 303b strb.w r3, [r7, #59] ; 0x3b lencorr = sizeof(CorrData_TypeDef); 802f6e0: 236c movs r3, #108 ; 0x6c 802f6e2: 637b str r3, [r7, #52] ; 0x34 memcpy((void *) &corrdata, (void *) CORRPAGE, lencorr); 802f6e4: 6b7a ldr r2, [r7, #52] ; 0x34 802f6e6: 49af ldr r1, [pc, #700] ; (802f9a4 ) 802f6e8: 48af ldr r0, [pc, #700] ; (802f9a8 ) 802f6ea: f0a2 fc50 bl 80d1f8e memcpy((void *) &af, (void *) ADCPAGE, 8); 802f6ee: 4aaf ldr r2, [pc, #700] ; (802f9ac ) 802f6f0: f107 0308 add.w r3, r7, #8 802f6f4: e892 0003 ldmia.w r2, {r0, r1} 802f6f8: e883 0003 stmia.w r3, {r0, r1} if((af[0].lg == 0xffffffff) || (af[1].lg == 0xffffffff)) 802f6fc: 68bb ldr r3, [r7, #8] 802f6fe: f1b3 3fff cmp.w r3, #4294967295 802f702: d003 beq.n 802f70c 802f704: 68fb ldr r3, [r7, #12] 802f706: f1b3 3fff cmp.w r3, #4294967295 802f70a: d108 bne.n 802f71e { af[0].fl = 1.0f; 802f70c: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 802f710: 60bb str r3, [r7, #8] af[1].fl = 0.0f; 802f712: f04f 0300 mov.w r3, #0 802f716: 60fb str r3, [r7, #12] NeedFlash = true; 802f718: 2301 movs r3, #1 802f71a: f887 303b strb.w r3, [r7, #59] ; 0x3b } aa1 = af[0].fl; 802f71e: 68bb ldr r3, [r7, #8] 802f720: 4aa3 ldr r2, [pc, #652] ; (802f9b0 ) 802f722: 6013 str r3, [r2, #0] aa0 = af[1].fl; 802f724: 68fb ldr r3, [r7, #12] 802f726: 4aa3 ldr r2, [pc, #652] ; (802f9b4 ) 802f728: 6013 str r3, [r2, #0] memcpy((void *) _SERIAL, (void *) SERIALPAGE, 8); 802f72a: 4ba3 ldr r3, [pc, #652] ; (802f9b8 ) 802f72c: 4aa3 ldr r2, [pc, #652] ; (802f9bc ) 802f72e: e892 0003 ldmia.w r2, {r0, r1} 802f732: 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)) 802f736: 4ba0 ldr r3, [pc, #640] ; (802f9b8 ) 802f738: 781b ldrb r3, [r3, #0] 802f73a: b2db uxtb r3, r3 802f73c: 2bff cmp r3, #255 ; 0xff 802f73e: d12a bne.n 802f796 802f740: 4b9d ldr r3, [pc, #628] ; (802f9b8 ) 802f742: 785b ldrb r3, [r3, #1] 802f744: b2db uxtb r3, r3 802f746: 2bff cmp r3, #255 ; 0xff 802f748: d125 bne.n 802f796 802f74a: 4b9b ldr r3, [pc, #620] ; (802f9b8 ) 802f74c: 789b ldrb r3, [r3, #2] 802f74e: b2db uxtb r3, r3 802f750: 2bff cmp r3, #255 ; 0xff 802f752: d120 bne.n 802f796 802f754: 4b98 ldr r3, [pc, #608] ; (802f9b8 ) 802f756: 78db ldrb r3, [r3, #3] 802f758: b2db uxtb r3, r3 802f75a: 2bff cmp r3, #255 ; 0xff 802f75c: d11b bne.n 802f796 802f75e: 4b96 ldr r3, [pc, #600] ; (802f9b8 ) 802f760: 791b ldrb r3, [r3, #4] 802f762: b2db uxtb r3, r3 802f764: 2bff cmp r3, #255 ; 0xff 802f766: d116 bne.n 802f796 802f768: 4b93 ldr r3, [pc, #588] ; (802f9b8 ) 802f76a: 795b ldrb r3, [r3, #5] 802f76c: b2db uxtb r3, r3 802f76e: 2bff cmp r3, #255 ; 0xff 802f770: d111 bne.n 802f796 802f772: 4b91 ldr r3, [pc, #580] ; (802f9b8 ) 802f774: 799b ldrb r3, [r3, #6] 802f776: b2db uxtb r3, r3 802f778: 2bff cmp r3, #255 ; 0xff 802f77a: d10c bne.n 802f796 802f77c: 4b8e ldr r3, [pc, #568] ; (802f9b8 ) 802f77e: 79db ldrb r3, [r3, #7] 802f780: b2db uxtb r3, r3 802f782: 2bff cmp r3, #255 ; 0xff 802f784: d107 bne.n 802f796 { memset((void *) _SERIAL, 0, sizeof(_SERIAL)); 802f786: 2208 movs r2, #8 802f788: 2100 movs r1, #0 802f78a: 488b ldr r0, [pc, #556] ; (802f9b8 ) 802f78c: f0a2 fc0a bl 80d1fa4 NeedFlash = true; 802f790: 2301 movs r3, #1 802f792: f887 303b strb.w r3, [r7, #59] ; 0x3b } //*************************************************************** if((_SERIAL[0] == 'S') && (_SERIAL[1] == 'N') && (_SERIAL[2] == ' ')) 802f796: 4b88 ldr r3, [pc, #544] ; (802f9b8 ) 802f798: 781b ldrb r3, [r3, #0] 802f79a: b2db uxtb r3, r3 802f79c: 2b53 cmp r3, #83 ; 0x53 802f79e: d110 bne.n 802f7c2 802f7a0: 4b85 ldr r3, [pc, #532] ; (802f9b8 ) 802f7a2: 785b ldrb r3, [r3, #1] 802f7a4: b2db uxtb r3, r3 802f7a6: 2b4e cmp r3, #78 ; 0x4e 802f7a8: d10b bne.n 802f7c2 802f7aa: 4b83 ldr r3, [pc, #524] ; (802f9b8 ) 802f7ac: 789b ldrb r3, [r3, #2] 802f7ae: b2db uxtb r3, r3 802f7b0: 2b20 cmp r3, #32 802f7b2: d106 bne.n 802f7c2 { memcpy((void *) _SERIAL_DRAW, (void *) _SERIAL, 8); 802f7b4: 4b82 ldr r3, [pc, #520] ; (802f9c0 ) 802f7b6: 4a80 ldr r2, [pc, #512] ; (802f9b8 ) 802f7b8: e892 0003 ldmia.w r2, {r0, r1} 802f7bc: e883 0003 stmia.w r3, {r0, r1} 802f7c0: e02b b.n 802f81a } else { if((_SERIAL[0] >= '0') && (_SERIAL[0] <= '9')) 802f7c2: 4b7d ldr r3, [pc, #500] ; (802f9b8 ) 802f7c4: 781b ldrb r3, [r3, #0] 802f7c6: b2db uxtb r3, r3 802f7c8: 2b2f cmp r3, #47 ; 0x2f 802f7ca: d926 bls.n 802f81a 802f7cc: 4b7a ldr r3, [pc, #488] ; (802f9b8 ) 802f7ce: 781b ldrb r3, [r3, #0] 802f7d0: b2db uxtb r3, r3 802f7d2: 2b39 cmp r3, #57 ; 0x39 802f7d4: d821 bhi.n 802f81a { _SERIAL_DRAW[0] = 'S'; 802f7d6: 4b7a ldr r3, [pc, #488] ; (802f9c0 ) 802f7d8: 2253 movs r2, #83 ; 0x53 802f7da: 701a strb r2, [r3, #0] _SERIAL_DRAW[1] = 'N'; 802f7dc: 4b78 ldr r3, [pc, #480] ; (802f9c0 ) 802f7de: 224e movs r2, #78 ; 0x4e 802f7e0: 705a strb r2, [r3, #1] _SERIAL_DRAW[2] = ' '; 802f7e2: 4b77 ldr r3, [pc, #476] ; (802f9c0 ) 802f7e4: 2220 movs r2, #32 802f7e6: 709a strb r2, [r3, #2] _SERIAL_DRAW[3] = _SERIAL[0]; 802f7e8: 4b73 ldr r3, [pc, #460] ; (802f9b8 ) 802f7ea: 781b ldrb r3, [r3, #0] 802f7ec: b2da uxtb r2, r3 802f7ee: 4b74 ldr r3, [pc, #464] ; (802f9c0 ) 802f7f0: 70da strb r2, [r3, #3] _SERIAL_DRAW[4] = _SERIAL[1]; 802f7f2: 4b71 ldr r3, [pc, #452] ; (802f9b8 ) 802f7f4: 785b ldrb r3, [r3, #1] 802f7f6: b2da uxtb r2, r3 802f7f8: 4b71 ldr r3, [pc, #452] ; (802f9c0 ) 802f7fa: 711a strb r2, [r3, #4] _SERIAL_DRAW[5] = _SERIAL[2]; 802f7fc: 4b6e ldr r3, [pc, #440] ; (802f9b8 ) 802f7fe: 789b ldrb r3, [r3, #2] 802f800: b2da uxtb r2, r3 802f802: 4b6f ldr r3, [pc, #444] ; (802f9c0 ) 802f804: 715a strb r2, [r3, #5] _SERIAL_DRAW[6] = _SERIAL[3]; 802f806: 4b6c ldr r3, [pc, #432] ; (802f9b8 ) 802f808: 78db ldrb r3, [r3, #3] 802f80a: b2da uxtb r2, r3 802f80c: 4b6c ldr r3, [pc, #432] ; (802f9c0 ) 802f80e: 719a strb r2, [r3, #6] _SERIAL_DRAW[7] = _SERIAL[4]; 802f810: 4b69 ldr r3, [pc, #420] ; (802f9b8 ) 802f812: 791b ldrb r3, [r3, #4] 802f814: b2da uxtb r2, r3 802f816: 4b6a ldr r3, [pc, #424] ; (802f9c0 ) 802f818: 71da strb r2, [r3, #7] } } //*************************************************************** memcpy((void *) &ofs, (void *) OFFSETPAGE, 4); 802f81a: 4b6a ldr r3, [pc, #424] ; (802f9c4 ) 802f81c: 681b ldr r3, [r3, #0] 802f81e: 607b str r3, [r7, #4] if(ofs.lg == 0xffffffff) 802f820: 687b ldr r3, [r7, #4] 802f822: f1b3 3fff cmp.w r3, #4294967295 802f826: d105 bne.n 802f834 { ofs.fl = 32768.0f; 802f828: f04f 438e mov.w r3, #1191182336 ; 0x47000000 802f82c: 607b str r3, [r7, #4] NeedFlash = true; 802f82e: 2301 movs r3, #1 802f830: f887 303b strb.w r3, [r7, #59] ; 0x3b } MEAN = ofs.fl; 802f834: 687b ldr r3, [r7, #4] 802f836: 4a64 ldr r2, [pc, #400] ; (802f9c8 ) 802f838: 6013 str r3, [r2, #0] //*************************************************************** memcpy((void *) &sf, (void *) &corrdata, 36); 802f83a: 4b5b ldr r3, [pc, #364] ; (802f9a8 ) 802f83c: f107 0410 add.w r4, r7, #16 802f840: 461d mov r5, r3 802f842: cd0f ldmia r5!, {r0, r1, r2, r3} 802f844: c40f stmia r4!, {r0, r1, r2, r3} 802f846: cd0f ldmia r5!, {r0, r1, r2, r3} 802f848: c40f stmia r4!, {r0, r1, r2, r3} 802f84a: 682b ldr r3, [r5, #0] 802f84c: 6023 str r3, [r4, #0] if( (sf[0].lg == 0xffffffff) && (sf[1].lg == 0xffffffff) && (sf[2].lg == 0xffffffff) && (sf[8].lg == 0xffffffff) ) 802f84e: 693b ldr r3, [r7, #16] 802f850: f1b3 3fff cmp.w r3, #4294967295 802f854: d130 bne.n 802f8b8 802f856: 697b ldr r3, [r7, #20] 802f858: f1b3 3fff cmp.w r3, #4294967295 802f85c: d12c bne.n 802f8b8 802f85e: 69bb ldr r3, [r7, #24] 802f860: f1b3 3fff cmp.w r3, #4294967295 802f864: d128 bne.n 802f8b8 802f866: 6b3b ldr r3, [r7, #48] ; 0x30 802f868: f1b3 3fff cmp.w r3, #4294967295 802f86c: d124 bne.n 802f8b8 { for(i = 0; i < 9; i++) 802f86e: 2300 movs r3, #0 802f870: 63fb str r3, [r7, #60] ; 0x3c 802f872: e01a b.n 802f8aa { corrdata.CORR_ACC[i] = 1.0f;//TEMP_CORR_KU[i]; 802f874: 4a4c ldr r2, [pc, #304] ; (802f9a8 ) 802f876: 6bfb ldr r3, [r7, #60] ; 0x3c 802f878: 009b lsls r3, r3, #2 802f87a: 4413 add r3, r2 802f87c: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802f880: 601a str r2, [r3, #0] corrdata.CORR_VEL[i] = 1.0f;//TEMP_CORR_KU[i]; 802f882: 4a49 ldr r2, [pc, #292] ; (802f9a8 ) 802f884: 6bfb ldr r3, [r7, #60] ; 0x3c 802f886: 3308 adds r3, #8 802f888: 009b lsls r3, r3, #2 802f88a: 4413 add r3, r2 802f88c: 3304 adds r3, #4 802f88e: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802f892: 601a str r2, [r3, #0] corrdata.CORR_DIS[i] = 1.0f;//TEMP_CORR_KU[i]; 802f894: 4a44 ldr r2, [pc, #272] ; (802f9a8 ) 802f896: 6bfb ldr r3, [r7, #60] ; 0x3c 802f898: 3312 adds r3, #18 802f89a: 009b lsls r3, r3, #2 802f89c: 4413 add r3, r2 802f89e: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802f8a2: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) 802f8a4: 6bfb ldr r3, [r7, #60] ; 0x3c 802f8a6: 3301 adds r3, #1 802f8a8: 63fb str r3, [r7, #60] ; 0x3c 802f8aa: 6bfb ldr r3, [r7, #60] ; 0x3c 802f8ac: 2b08 cmp r3, #8 802f8ae: d9e1 bls.n 802f874 } NeedFlash = true; 802f8b0: 2301 movs r3, #1 802f8b2: f887 303b strb.w r3, [r7, #59] ; 0x3b 802f8b6: e0fe b.n 802fab6 //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)) 802f8b8: edd7 7a04 vldr s15, [r7, #16] 802f8bc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802f8c0: eef4 7ac7 vcmpe.f32 s15, s14 802f8c4: eef1 fa10 vmrs APSR_nzcv, fpscr 802f8c8: d947 bls.n 802f95a 802f8ca: edd7 7a05 vldr s15, [r7, #20] 802f8ce: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802f8d2: eef4 7ac7 vcmpe.f32 s15, s14 802f8d6: eef1 fa10 vmrs APSR_nzcv, fpscr 802f8da: d93e bls.n 802f95a 802f8dc: edd7 7a06 vldr s15, [r7, #24] 802f8e0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802f8e4: eef4 7ac7 vcmpe.f32 s15, s14 802f8e8: eef1 fa10 vmrs APSR_nzcv, fpscr 802f8ec: d935 bls.n 802f95a 802f8ee: edd7 7a07 vldr s15, [r7, #28] 802f8f2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802f8f6: eef4 7ac7 vcmpe.f32 s15, s14 802f8fa: eef1 fa10 vmrs APSR_nzcv, fpscr 802f8fe: d92c bls.n 802f95a 802f900: edd7 7a08 vldr s15, [r7, #32] 802f904: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802f908: eef4 7ac7 vcmpe.f32 s15, s14 802f90c: eef1 fa10 vmrs APSR_nzcv, fpscr 802f910: d923 bls.n 802f95a 802f912: edd7 7a09 vldr s15, [r7, #36] ; 0x24 802f916: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802f91a: eef4 7ac7 vcmpe.f32 s15, s14 802f91e: eef1 fa10 vmrs APSR_nzcv, fpscr 802f922: d91a bls.n 802f95a 802f924: edd7 7a0a vldr s15, [r7, #40] ; 0x28 802f928: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802f92c: eef4 7ac7 vcmpe.f32 s15, s14 802f930: eef1 fa10 vmrs APSR_nzcv, fpscr 802f934: d911 bls.n 802f95a 802f936: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 802f93a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802f93e: eef4 7ac7 vcmpe.f32 s15, s14 802f942: eef1 fa10 vmrs APSR_nzcv, fpscr 802f946: d908 bls.n 802f95a 802f948: edd7 7a0c vldr s15, [r7, #48] ; 0x30 802f94c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802f950: eef4 7ac7 vcmpe.f32 s15, s14 802f954: eef1 fa10 vmrs APSR_nzcv, fpscr 802f958: d838 bhi.n 802f9cc { for(i = 0; i < 9; i++) 802f95a: 2300 movs r3, #0 802f95c: 63fb str r3, [r7, #60] ; 0x3c 802f95e: e01a b.n 802f996 { corrdata.CORR_ACC[i] = 1.0f;//TEMP_CORR_KU[i]; 802f960: 4a11 ldr r2, [pc, #68] ; (802f9a8 ) 802f962: 6bfb ldr r3, [r7, #60] ; 0x3c 802f964: 009b lsls r3, r3, #2 802f966: 4413 add r3, r2 802f968: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802f96c: 601a str r2, [r3, #0] corrdata.CORR_VEL[i] = 1.0f;//TEMP_CORR_KU[i]; 802f96e: 4a0e ldr r2, [pc, #56] ; (802f9a8 ) 802f970: 6bfb ldr r3, [r7, #60] ; 0x3c 802f972: 3308 adds r3, #8 802f974: 009b lsls r3, r3, #2 802f976: 4413 add r3, r2 802f978: 3304 adds r3, #4 802f97a: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802f97e: 601a str r2, [r3, #0] corrdata.CORR_DIS[i] = 1.0f;//TEMP_CORR_KU[i]; 802f980: 4a09 ldr r2, [pc, #36] ; (802f9a8 ) 802f982: 6bfb ldr r3, [r7, #60] ; 0x3c 802f984: 3312 adds r3, #18 802f986: 009b lsls r3, r3, #2 802f988: 4413 add r3, r2 802f98a: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802f98e: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) 802f990: 6bfb ldr r3, [r7, #60] ; 0x3c 802f992: 3301 adds r3, #1 802f994: 63fb str r3, [r7, #60] ; 0x3c 802f996: 6bfb ldr r3, [r7, #60] ; 0x3c 802f998: 2b08 cmp r3, #8 802f99a: d9e1 bls.n 802f960 } NeedFlash = true; 802f99c: 2301 movs r3, #1 802f99e: f887 303b strb.w r3, [r7, #59] ; 0x3b 802f9a2: e088 b.n 802fab6 802f9a4: 08010000 .word 0x08010000 802f9a8: 20024368 .word 0x20024368 802f9ac: 0801006c .word 0x0801006c 802f9b0: 20020024 .word 0x20020024 802f9b4: 20020d6c .word 0x20020d6c 802f9b8: 20020f3c .word 0x20020f3c 802f9bc: 08010074 .word 0x08010074 802f9c0: 20020f44 .word 0x20020f44 802f9c4: 0801007c .word 0x0801007c 802f9c8: 200209d8 .word 0x200209d8 //wrCorr(); } else if((sf[0].fl >= 2.0f) || (sf[1].fl >= 2.0f) || (sf[2].fl >= 2.0f) || (sf[3].fl >= 2.0f) || (sf[4].fl >= 2.0f) || (sf[5].fl >= 2.0f) || (sf[6].fl >= 2.0f) || (sf[7].fl >= 2.0f) || (sf[8].fl >= 2.0f)) 802f9cc: edd7 7a04 vldr s15, [r7, #16] 802f9d0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802f9d4: eef4 7ac7 vcmpe.f32 s15, s14 802f9d8: eef1 fa10 vmrs APSR_nzcv, fpscr 802f9dc: da47 bge.n 802fa6e 802f9de: edd7 7a05 vldr s15, [r7, #20] 802f9e2: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802f9e6: eef4 7ac7 vcmpe.f32 s15, s14 802f9ea: eef1 fa10 vmrs APSR_nzcv, fpscr 802f9ee: da3e bge.n 802fa6e 802f9f0: edd7 7a06 vldr s15, [r7, #24] 802f9f4: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802f9f8: eef4 7ac7 vcmpe.f32 s15, s14 802f9fc: eef1 fa10 vmrs APSR_nzcv, fpscr 802fa00: da35 bge.n 802fa6e 802fa02: edd7 7a07 vldr s15, [r7, #28] 802fa06: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802fa0a: eef4 7ac7 vcmpe.f32 s15, s14 802fa0e: eef1 fa10 vmrs APSR_nzcv, fpscr 802fa12: da2c bge.n 802fa6e 802fa14: edd7 7a08 vldr s15, [r7, #32] 802fa18: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802fa1c: eef4 7ac7 vcmpe.f32 s15, s14 802fa20: eef1 fa10 vmrs APSR_nzcv, fpscr 802fa24: da23 bge.n 802fa6e 802fa26: edd7 7a09 vldr s15, [r7, #36] ; 0x24 802fa2a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802fa2e: eef4 7ac7 vcmpe.f32 s15, s14 802fa32: eef1 fa10 vmrs APSR_nzcv, fpscr 802fa36: da1a bge.n 802fa6e 802fa38: edd7 7a0a vldr s15, [r7, #40] ; 0x28 802fa3c: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802fa40: eef4 7ac7 vcmpe.f32 s15, s14 802fa44: eef1 fa10 vmrs APSR_nzcv, fpscr 802fa48: da11 bge.n 802fa6e 802fa4a: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 802fa4e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802fa52: eef4 7ac7 vcmpe.f32 s15, s14 802fa56: eef1 fa10 vmrs APSR_nzcv, fpscr 802fa5a: da08 bge.n 802fa6e 802fa5c: edd7 7a0c vldr s15, [r7, #48] ; 0x30 802fa60: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802fa64: eef4 7ac7 vcmpe.f32 s15, s14 802fa68: eef1 fa10 vmrs APSR_nzcv, fpscr 802fa6c: db23 blt.n 802fab6 { for(i = 0; i < 9; i++) 802fa6e: 2300 movs r3, #0 802fa70: 63fb str r3, [r7, #60] ; 0x3c 802fa72: e01a b.n 802faaa { corrdata.CORR_ACC[i] = 1.0f;//TEMP_CORR_KU[i]; 802fa74: 4a71 ldr r2, [pc, #452] ; (802fc3c ) 802fa76: 6bfb ldr r3, [r7, #60] ; 0x3c 802fa78: 009b lsls r3, r3, #2 802fa7a: 4413 add r3, r2 802fa7c: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802fa80: 601a str r2, [r3, #0] corrdata.CORR_VEL[i] = 1.0f;//TEMP_CORR_KU[i]; 802fa82: 4a6e ldr r2, [pc, #440] ; (802fc3c ) 802fa84: 6bfb ldr r3, [r7, #60] ; 0x3c 802fa86: 3308 adds r3, #8 802fa88: 009b lsls r3, r3, #2 802fa8a: 4413 add r3, r2 802fa8c: 3304 adds r3, #4 802fa8e: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802fa92: 601a str r2, [r3, #0] corrdata.CORR_DIS[i] = 1.0f;//TEMP_CORR_KU[i]; 802fa94: 4a69 ldr r2, [pc, #420] ; (802fc3c ) 802fa96: 6bfb ldr r3, [r7, #60] ; 0x3c 802fa98: 3312 adds r3, #18 802fa9a: 009b lsls r3, r3, #2 802fa9c: 4413 add r3, r2 802fa9e: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802faa2: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) 802faa4: 6bfb ldr r3, [r7, #60] ; 0x3c 802faa6: 3301 adds r3, #1 802faa8: 63fb str r3, [r7, #60] ; 0x3c 802faaa: 6bfb ldr r3, [r7, #60] ; 0x3c 802faac: 2b08 cmp r3, #8 802faae: d9e1 bls.n 802fa74 } NeedFlash = true; 802fab0: 2301 movs r3, #1 802fab2: f887 303b strb.w r3, [r7, #59] ; 0x3b //wrCorr(); } for(i = 0; i < 9; i++) { 802fab6: 2300 movs r3, #0 802fab8: 63fb str r3, [r7, #60] ; 0x3c 802faba: e00e b.n 802fada pardata.CORR_KU[i] = corrdata.CORR_ACC[i]; 802fabc: 4a5f ldr r2, [pc, #380] ; (802fc3c ) 802fabe: 6bfb ldr r3, [r7, #60] ; 0x3c 802fac0: 009b lsls r3, r3, #2 802fac2: 4413 add r3, r2 802fac4: 681a ldr r2, [r3, #0] 802fac6: 495e ldr r1, [pc, #376] ; (802fc40 ) 802fac8: 6bfb ldr r3, [r7, #60] ; 0x3c 802faca: 3306 adds r3, #6 802facc: 009b lsls r3, r3, #2 802face: 440b add r3, r1 802fad0: 3304 adds r3, #4 802fad2: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 802fad4: 6bfb ldr r3, [r7, #60] ; 0x3c 802fad6: 3301 adds r3, #1 802fad8: 63fb str r3, [r7, #60] ; 0x3c 802fada: 6bfb ldr r3, [r7, #60] ; 0x3c 802fadc: 2b08 cmp r3, #8 802fade: d9ed bls.n 802fabc } 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)) 802fae0: 4b57 ldr r3, [pc, #348] ; (802fc40 ) 802fae2: edd3 7a07 vldr s15, [r3, #28] 802fae6: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802faea: eef4 7a47 vcmp.f32 s15, s14 802faee: eef1 fa10 vmrs APSR_nzcv, fpscr 802faf2: d13f bne.n 802fb74 802faf4: 4b52 ldr r3, [pc, #328] ; (802fc40 ) 802faf6: edd3 7a08 vldr s15, [r3, #32] 802fafa: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802fafe: eef4 7a47 vcmp.f32 s15, s14 802fb02: eef1 fa10 vmrs APSR_nzcv, fpscr 802fb06: d135 bne.n 802fb74 802fb08: 4b4d ldr r3, [pc, #308] ; (802fc40 ) 802fb0a: edd3 7a09 vldr s15, [r3, #36] ; 0x24 802fb0e: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802fb12: eef4 7a47 vcmp.f32 s15, s14 802fb16: eef1 fa10 vmrs APSR_nzcv, fpscr 802fb1a: d12b bne.n 802fb74 802fb1c: 4b48 ldr r3, [pc, #288] ; (802fc40 ) 802fb1e: edd3 7a0a vldr s15, [r3, #40] ; 0x28 802fb22: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802fb26: eef4 7a47 vcmp.f32 s15, s14 802fb2a: eef1 fa10 vmrs APSR_nzcv, fpscr 802fb2e: d121 bne.n 802fb74 802fb30: 4b43 ldr r3, [pc, #268] ; (802fc40 ) 802fb32: edd3 7a0b vldr s15, [r3, #44] ; 0x2c 802fb36: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802fb3a: eef4 7a47 vcmp.f32 s15, s14 802fb3e: eef1 fa10 vmrs APSR_nzcv, fpscr 802fb42: d117 bne.n 802fb74 802fb44: 4b3e ldr r3, [pc, #248] ; (802fc40 ) 802fb46: edd3 7a0c vldr s15, [r3, #48] ; 0x30 802fb4a: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802fb4e: eef4 7a47 vcmp.f32 s15, s14 802fb52: eef1 fa10 vmrs APSR_nzcv, fpscr 802fb56: d10d bne.n 802fb74 802fb58: 4b39 ldr r3, [pc, #228] ; (802fc40 ) 802fb5a: edd3 7a0d vldr s15, [r3, #52] ; 0x34 802fb5e: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802fb62: eef4 7a47 vcmp.f32 s15, s14 802fb66: eef1 fa10 vmrs APSR_nzcv, fpscr 802fb6a: d103 bne.n 802fb74 { CORRECTION = false; 802fb6c: 4b35 ldr r3, [pc, #212] ; (802fc44 ) 802fb6e: 2200 movs r2, #0 802fb70: 701a strb r2, [r3, #0] 802fb72: e002 b.n 802fb7a } else { CORRECTION = true; 802fb74: 4b33 ldr r3, [pc, #204] ; (802fc44 ) 802fb76: 2201 movs r2, #1 802fb78: 701a strb r2, [r3, #0] } //*************************************************************** memcpy((void *) &id, (void *) IDPAGE, 4); 802fb7a: 4b33 ldr r3, [pc, #204] ; (802fc48 ) 802fb7c: 681b ldr r3, [r3, #0] 802fb7e: 4a33 ldr r2, [pc, #204] ; (802fc4c ) 802fb80: 6013 str r3, [r2, #0] NeedFlash = true; } #endif #ifdef USE_D141*/ if(id != 0x0000D141) 802fb82: 4b32 ldr r3, [pc, #200] ; (802fc4c ) 802fb84: 681b ldr r3, [r3, #0] 802fb86: f24d 1241 movw r2, #53569 ; 0xd141 802fb8a: 4293 cmp r3, r2 802fb8c: d04c beq.n 802fc28 { memset((void *) _SERIAL, 0, sizeof(_SERIAL)); 802fb8e: 2208 movs r2, #8 802fb90: 2100 movs r1, #0 802fb92: 482f ldr r0, [pc, #188] ; (802fc50 ) 802fb94: f0a2 fa06 bl 80d1fa4 for(i = 0; i < 9; i++) 802fb98: 2300 movs r3, #0 802fb9a: 63fb str r3, [r7, #60] ; 0x3c 802fb9c: e01a b.n 802fbd4 { corrdata.CORR_ACC[i] = 1.0f; 802fb9e: 4a27 ldr r2, [pc, #156] ; (802fc3c ) 802fba0: 6bfb ldr r3, [r7, #60] ; 0x3c 802fba2: 009b lsls r3, r3, #2 802fba4: 4413 add r3, r2 802fba6: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802fbaa: 601a str r2, [r3, #0] corrdata.CORR_VEL[i] = 1.0f; 802fbac: 4a23 ldr r2, [pc, #140] ; (802fc3c ) 802fbae: 6bfb ldr r3, [r7, #60] ; 0x3c 802fbb0: 3308 adds r3, #8 802fbb2: 009b lsls r3, r3, #2 802fbb4: 4413 add r3, r2 802fbb6: 3304 adds r3, #4 802fbb8: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802fbbc: 601a str r2, [r3, #0] corrdata.CORR_DIS[i] = 1.0f; 802fbbe: 4a1f ldr r2, [pc, #124] ; (802fc3c ) 802fbc0: 6bfb ldr r3, [r7, #60] ; 0x3c 802fbc2: 3312 adds r3, #18 802fbc4: 009b lsls r3, r3, #2 802fbc6: 4413 add r3, r2 802fbc8: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802fbcc: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) 802fbce: 6bfb ldr r3, [r7, #60] ; 0x3c 802fbd0: 3301 adds r3, #1 802fbd2: 63fb str r3, [r7, #60] ; 0x3c 802fbd4: 6bfb ldr r3, [r7, #60] ; 0x3c 802fbd6: 2b08 cmp r3, #8 802fbd8: d9e1 bls.n 802fb9e } aa1 = 1.0f; 802fbda: 4b1e ldr r3, [pc, #120] ; (802fc54 ) 802fbdc: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802fbe0: 601a str r2, [r3, #0] aa0 = 0.0f; 802fbe2: 4b1d ldr r3, [pc, #116] ; (802fc58 ) 802fbe4: f04f 0200 mov.w r2, #0 802fbe8: 601a str r2, [r3, #0] MEAN = 8388608.0f; 802fbea: 4b1c ldr r3, [pc, #112] ; (802fc5c ) 802fbec: f04f 4296 mov.w r2, #1258291200 ; 0x4b000000 802fbf0: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 802fbf2: 2300 movs r3, #0 802fbf4: 63fb str r3, [r7, #60] ; 0x3c 802fbf6: e00e b.n 802fc16 pardata.CORR_KU[i] = corrdata.CORR_ACC[i]; 802fbf8: 4a10 ldr r2, [pc, #64] ; (802fc3c ) 802fbfa: 6bfb ldr r3, [r7, #60] ; 0x3c 802fbfc: 009b lsls r3, r3, #2 802fbfe: 4413 add r3, r2 802fc00: 681a ldr r2, [r3, #0] 802fc02: 490f ldr r1, [pc, #60] ; (802fc40 ) 802fc04: 6bfb ldr r3, [r7, #60] ; 0x3c 802fc06: 3306 adds r3, #6 802fc08: 009b lsls r3, r3, #2 802fc0a: 440b add r3, r1 802fc0c: 3304 adds r3, #4 802fc0e: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 802fc10: 6bfb ldr r3, [r7, #60] ; 0x3c 802fc12: 3301 adds r3, #1 802fc14: 63fb str r3, [r7, #60] ; 0x3c 802fc16: 6bfb ldr r3, [r7, #60] ; 0x3c 802fc18: 2b08 cmp r3, #8 802fc1a: d9ed bls.n 802fbf8 } CORRECTION = false; 802fc1c: 4b09 ldr r3, [pc, #36] ; (802fc44 ) 802fc1e: 2200 movs r2, #0 802fc20: 701a strb r2, [r3, #0] NeedFlash = true; 802fc22: 2301 movs r3, #1 802fc24: f887 303b strb.w r3, [r7, #59] ; 0x3b #endif*/ //*************************************************************** if(NeedFlash == true) { 802fc28: f897 303b ldrb.w r3, [r7, #59] ; 0x3b 802fc2c: 2b00 cmp r3, #0 802fc2e: d001 beq.n 802fc34 wrCorr(); 802fc30: f7ff fc9a bl 802f568 } #endif } 802fc34: bf00 nop 802fc36: 3740 adds r7, #64 ; 0x40 802fc38: 46bd mov sp, r7 802fc3a: bdb0 pop {r4, r5, r7, pc} 802fc3c: 20024368 .word 0x20024368 802fc40: 20023eb8 .word 0x20023eb8 802fc44: 20020f38 .word 0x20020f38 802fc48: 08010080 .word 0x08010080 802fc4c: 20020f50 .word 0x20020f50 802fc50: 20020f3c .word 0x20020f3c 802fc54: 20020024 .word 0x20020024 802fc58: 20020d6c .word 0x20020d6c 802fc5c: 200209d8 .word 0x200209d8 0802fc60 : void rdFlash(void) { 802fc60: b580 push {r7, lr} 802fc62: af00 add r7, sp, #0 rdCorr(); 802fc64: f7ff fd36 bl 802f6d4 rdPar(); 802fc68: f7ff f962 bl 802ef30 } 802fc6c: bf00 nop 802fc6e: bd80 pop {r7, pc} 0802fc70 : SRAM_HandleTypeDef hsram2; /* FMC initialization function */ void MX_FMC_Init(void) { 802fc70: b580 push {r7, lr} 802fc72: b088 sub sp, #32 802fc74: af00 add r7, sp, #0 /* USER CODE BEGIN FMC_Init 0 */ /* USER CODE END FMC_Init 0 */ FMC_NORSRAM_TimingTypeDef Timing = {0}; 802fc76: 1d3b adds r3, r7, #4 802fc78: 2200 movs r2, #0 802fc7a: 601a str r2, [r3, #0] 802fc7c: 605a str r2, [r3, #4] 802fc7e: 609a str r2, [r3, #8] 802fc80: 60da str r2, [r3, #12] 802fc82: 611a str r2, [r3, #16] 802fc84: 615a str r2, [r3, #20] 802fc86: 619a str r2, [r3, #24] /* USER CODE END FMC_Init 1 */ /** Perform the SRAM2 memory initialization sequence */ hsram2.Instance = FMC_NORSRAM_DEVICE; 802fc88: 4b2a ldr r3, [pc, #168] ; (802fd34 ) 802fc8a: f04f 4220 mov.w r2, #2684354560 ; 0xa0000000 802fc8e: 601a str r2, [r3, #0] hsram2.Extended = FMC_NORSRAM_EXTENDED_DEVICE; 802fc90: 4b28 ldr r3, [pc, #160] ; (802fd34 ) 802fc92: 4a29 ldr r2, [pc, #164] ; (802fd38 ) 802fc94: 605a str r2, [r3, #4] /* hsram2.Init */ hsram2.Init.NSBank = FMC_NORSRAM_BANK2; 802fc96: 4b27 ldr r3, [pc, #156] ; (802fd34 ) 802fc98: 2202 movs r2, #2 802fc9a: 609a str r2, [r3, #8] hsram2.Init.DataAddressMux = FMC_DATA_ADDRESS_MUX_DISABLE; 802fc9c: 4b25 ldr r3, [pc, #148] ; (802fd34 ) 802fc9e: 2200 movs r2, #0 802fca0: 60da str r2, [r3, #12] hsram2.Init.MemoryType = FMC_MEMORY_TYPE_SRAM; 802fca2: 4b24 ldr r3, [pc, #144] ; (802fd34 ) 802fca4: 2200 movs r2, #0 802fca6: 611a str r2, [r3, #16] hsram2.Init.MemoryDataWidth = FMC_NORSRAM_MEM_BUS_WIDTH_16; 802fca8: 4b22 ldr r3, [pc, #136] ; (802fd34 ) 802fcaa: 2210 movs r2, #16 802fcac: 615a str r2, [r3, #20] hsram2.Init.BurstAccessMode = FMC_BURST_ACCESS_MODE_DISABLE; 802fcae: 4b21 ldr r3, [pc, #132] ; (802fd34 ) 802fcb0: 2200 movs r2, #0 802fcb2: 619a str r2, [r3, #24] hsram2.Init.WaitSignalPolarity = FMC_WAIT_SIGNAL_POLARITY_LOW; 802fcb4: 4b1f ldr r3, [pc, #124] ; (802fd34 ) 802fcb6: 2200 movs r2, #0 802fcb8: 61da str r2, [r3, #28] hsram2.Init.WaitSignalActive = FMC_WAIT_TIMING_BEFORE_WS; 802fcba: 4b1e ldr r3, [pc, #120] ; (802fd34 ) 802fcbc: 2200 movs r2, #0 802fcbe: 621a str r2, [r3, #32] hsram2.Init.WriteOperation = FMC_WRITE_OPERATION_ENABLE; 802fcc0: 4b1c ldr r3, [pc, #112] ; (802fd34 ) 802fcc2: f44f 5280 mov.w r2, #4096 ; 0x1000 802fcc6: 625a str r2, [r3, #36] ; 0x24 hsram2.Init.WaitSignal = FMC_WAIT_SIGNAL_DISABLE; 802fcc8: 4b1a ldr r3, [pc, #104] ; (802fd34 ) 802fcca: 2200 movs r2, #0 802fccc: 629a str r2, [r3, #40] ; 0x28 hsram2.Init.ExtendedMode = FMC_EXTENDED_MODE_DISABLE; 802fcce: 4b19 ldr r3, [pc, #100] ; (802fd34 ) 802fcd0: 2200 movs r2, #0 802fcd2: 62da str r2, [r3, #44] ; 0x2c hsram2.Init.AsynchronousWait = FMC_ASYNCHRONOUS_WAIT_DISABLE; 802fcd4: 4b17 ldr r3, [pc, #92] ; (802fd34 ) 802fcd6: 2200 movs r2, #0 802fcd8: 631a str r2, [r3, #48] ; 0x30 hsram2.Init.WriteBurst = FMC_WRITE_BURST_DISABLE; 802fcda: 4b16 ldr r3, [pc, #88] ; (802fd34 ) 802fcdc: 2200 movs r2, #0 802fcde: 635a str r2, [r3, #52] ; 0x34 hsram2.Init.ContinuousClock = FMC_CONTINUOUS_CLOCK_SYNC_ONLY; 802fce0: 4b14 ldr r3, [pc, #80] ; (802fd34 ) 802fce2: 2200 movs r2, #0 802fce4: 639a str r2, [r3, #56] ; 0x38 hsram2.Init.WriteFifo = FMC_WRITE_FIFO_ENABLE; 802fce6: 4b13 ldr r3, [pc, #76] ; (802fd34 ) 802fce8: 2200 movs r2, #0 802fcea: 63da str r2, [r3, #60] ; 0x3c hsram2.Init.PageSize = FMC_PAGE_SIZE_NONE; 802fcec: 4b11 ldr r3, [pc, #68] ; (802fd34 ) 802fcee: 2200 movs r2, #0 802fcf0: 641a str r2, [r3, #64] ; 0x40 /* Timing */ Timing.AddressSetupTime = 2; 802fcf2: 2302 movs r3, #2 802fcf4: 607b str r3, [r7, #4] Timing.AddressHoldTime = 0; 802fcf6: 2300 movs r3, #0 802fcf8: 60bb str r3, [r7, #8] Timing.DataSetupTime = 2; 802fcfa: 2302 movs r3, #2 802fcfc: 60fb str r3, [r7, #12] Timing.BusTurnAroundDuration = 0; 802fcfe: 2300 movs r3, #0 802fd00: 613b str r3, [r7, #16] Timing.CLKDivision = 0; 802fd02: 2300 movs r3, #0 802fd04: 617b str r3, [r7, #20] Timing.DataLatency = 0; 802fd06: 2300 movs r3, #0 802fd08: 61bb str r3, [r7, #24] Timing.AccessMode = FMC_ACCESS_MODE_A; 802fd0a: 2300 movs r3, #0 802fd0c: 61fb str r3, [r7, #28] /* ExtTiming */ if (HAL_SRAM_Init(&hsram2, &Timing, NULL) != HAL_OK) 802fd0e: 1d3b adds r3, r7, #4 802fd10: 2200 movs r2, #0 802fd12: 4619 mov r1, r3 802fd14: 4807 ldr r0, [pc, #28] ; (802fd34 ) 802fd16: f090 fedb bl 80c0ad0 802fd1a: 4603 mov r3, r0 802fd1c: 2b00 cmp r3, #0 802fd1e: d001 beq.n 802fd24 { Error_Handler( ); 802fd20: f026 fdc4 bl 80568ac } /* USER CODE BEGIN FMC_Init 2 */ HAL_Delay(50); 802fd24: 2032 movs r0, #50 ; 0x32 802fd26: f087 fe89 bl 80b7a3c /* USER CODE END FMC_Init 2 */ } 802fd2a: bf00 nop 802fd2c: 3720 adds r7, #32 802fd2e: 46bd mov sp, r7 802fd30: bd80 pop {r7, pc} 802fd32: bf00 nop 802fd34: 20024884 .word 0x20024884 802fd38: a0000104 .word 0xa0000104 0802fd3c : static uint32_t FMC_Initialized = 0; static void HAL_FMC_MspInit(void){ 802fd3c: b580 push {r7, lr} 802fd3e: b086 sub sp, #24 802fd40: af00 add r7, sp, #0 /* USER CODE BEGIN FMC_MspInit 0 */ /* USER CODE END FMC_MspInit 0 */ GPIO_InitTypeDef GPIO_InitStruct = {0}; 802fd42: 1d3b adds r3, r7, #4 802fd44: 2200 movs r2, #0 802fd46: 601a str r2, [r3, #0] 802fd48: 605a str r2, [r3, #4] 802fd4a: 609a str r2, [r3, #8] 802fd4c: 60da str r2, [r3, #12] 802fd4e: 611a str r2, [r3, #16] if (FMC_Initialized) { 802fd50: 4b2b ldr r3, [pc, #172] ; (802fe00 ) 802fd52: 681b ldr r3, [r3, #0] 802fd54: 2b00 cmp r3, #0 802fd56: d14f bne.n 802fdf8 return; } FMC_Initialized = 1; 802fd58: 4b29 ldr r3, [pc, #164] ; (802fe00 ) 802fd5a: 2201 movs r2, #1 802fd5c: 601a str r2, [r3, #0] /* Peripheral clock enable */ __HAL_RCC_FMC_CLK_ENABLE(); 802fd5e: 4a29 ldr r2, [pc, #164] ; (802fe04 ) 802fd60: 4b28 ldr r3, [pc, #160] ; (802fe04 ) 802fd62: 6b9b ldr r3, [r3, #56] ; 0x38 802fd64: f043 0301 orr.w r3, r3, #1 802fd68: 6393 str r3, [r2, #56] ; 0x38 802fd6a: 4b26 ldr r3, [pc, #152] ; (802fe04 ) 802fd6c: 6b9b ldr r3, [r3, #56] ; 0x38 802fd6e: f003 0301 and.w r3, r3, #1 802fd72: 603b str r3, [r7, #0] 802fd74: 683b ldr r3, [r7, #0] #ifdef SRAM_1024x16 /* GPIO_InitStruct */ GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10 802fd76: f64f 738b movw r3, #65419 ; 0xff8b 802fd7a: 607b str r3, [r7, #4] |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14 |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 802fd7c: 2302 movs r3, #2 802fd7e: 60bb str r3, [r7, #8] GPIO_InitStruct.Pull = GPIO_NOPULL; 802fd80: 2300 movs r3, #0 802fd82: 60fb str r3, [r7, #12] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802fd84: 2303 movs r3, #3 802fd86: 613b str r3, [r7, #16] GPIO_InitStruct.Alternate = GPIO_AF12_FMC; 802fd88: 230c movs r3, #12 802fd8a: 617b str r3, [r7, #20] HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); 802fd8c: 1d3b adds r3, r7, #4 802fd8e: 4619 mov r1, r3 802fd90: 481d ldr r0, [pc, #116] ; (802fe08 ) 802fd92: f08a f835 bl 80b9e00 /* GPIO_InitStruct */ GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 802fd96: f24f 033f movw r3, #61503 ; 0xf03f 802fd9a: 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; 802fd9c: 2302 movs r3, #2 802fd9e: 60bb str r3, [r7, #8] GPIO_InitStruct.Pull = GPIO_NOPULL; 802fda0: 2300 movs r3, #0 802fda2: 60fb str r3, [r7, #12] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802fda4: 2303 movs r3, #3 802fda6: 613b str r3, [r7, #16] GPIO_InitStruct.Alternate = GPIO_AF12_FMC; 802fda8: 230c movs r3, #12 802fdaa: 617b str r3, [r7, #20] HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); 802fdac: 1d3b adds r3, r7, #4 802fdae: 4619 mov r1, r3 802fdb0: 4816 ldr r0, [pc, #88] ; (802fe0c ) 802fdb2: f08a f825 bl 80b9e00 /* GPIO_InitStruct */ GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 802fdb6: f240 233f movw r3, #575 ; 0x23f 802fdba: 607b str r3, [r7, #4] |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_9; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 802fdbc: 2302 movs r3, #2 802fdbe: 60bb str r3, [r7, #8] GPIO_InitStruct.Pull = GPIO_NOPULL; 802fdc0: 2300 movs r3, #0 802fdc2: 60fb str r3, [r7, #12] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802fdc4: 2303 movs r3, #3 802fdc6: 613b str r3, [r7, #16] GPIO_InitStruct.Alternate = GPIO_AF12_FMC; 802fdc8: 230c movs r3, #12 802fdca: 617b str r3, [r7, #20] HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); 802fdcc: 1d3b adds r3, r7, #4 802fdce: 4619 mov r1, r3 802fdd0: 480f ldr r0, [pc, #60] ; (802fe10 ) 802fdd2: f08a f815 bl 80b9e00 /* GPIO_InitStruct */ GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 802fdd6: f64f 7333 movw r3, #65331 ; 0xff33 802fdda: 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; 802fddc: 2302 movs r3, #2 802fdde: 60bb str r3, [r7, #8] GPIO_InitStruct.Pull = GPIO_NOPULL; 802fde0: 2300 movs r3, #0 802fde2: 60fb str r3, [r7, #12] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802fde4: 2303 movs r3, #3 802fde6: 613b str r3, [r7, #16] GPIO_InitStruct.Alternate = GPIO_AF12_FMC; 802fde8: 230c movs r3, #12 802fdea: 617b str r3, [r7, #20] HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); 802fdec: 1d3b adds r3, r7, #4 802fdee: 4619 mov r1, r3 802fdf0: 4808 ldr r0, [pc, #32] ; (802fe14 ) 802fdf2: f08a f805 bl 80b9e00 802fdf6: e000 b.n 802fdfa return; 802fdf8: bf00 nop /* USER CODE BEGIN FMC_MspInit 1 */ /* USER CODE END FMC_MspInit 1 */ } 802fdfa: 3718 adds r7, #24 802fdfc: 46bd mov sp, r7 802fdfe: bd80 pop {r7, pc} 802fe00: 20020f54 .word 0x20020f54 802fe04: 40023800 .word 0x40023800 802fe08: 40021000 .word 0x40021000 802fe0c: 40021400 .word 0x40021400 802fe10: 40021800 .word 0x40021800 802fe14: 40020c00 .word 0x40020c00 0802fe18 : void HAL_SRAM_MspInit(SRAM_HandleTypeDef* sramHandle){ 802fe18: b580 push {r7, lr} 802fe1a: b082 sub sp, #8 802fe1c: af00 add r7, sp, #0 802fe1e: 6078 str r0, [r7, #4] /* USER CODE BEGIN SRAM_MspInit 0 */ /* USER CODE END SRAM_MspInit 0 */ HAL_FMC_MspInit(); 802fe20: f7ff ff8c bl 802fd3c /* USER CODE BEGIN SRAM_MspInit 1 */ /* USER CODE END SRAM_MspInit 1 */ } 802fe24: bf00 nop 802fe26: 3708 adds r7, #8 802fe28: 46bd mov sp, r7 802fe2a: bd80 pop {r7, pc} 0802fe2c : * EXTI * Free pins are configured automatically as Analog (this feature is enabled through * the Code Generation settings) */ void MX_GPIO_Init(void) { 802fe2c: b580 push {r7, lr} 802fe2e: b08e sub sp, #56 ; 0x38 802fe30: af00 add r7, sp, #0 GPIO_InitTypeDef GPIO_InitStruct; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOE_CLK_ENABLE(); 802fe32: 4ab6 ldr r2, [pc, #728] ; (803010c ) 802fe34: 4bb5 ldr r3, [pc, #724] ; (803010c ) 802fe36: 6b1b ldr r3, [r3, #48] ; 0x30 802fe38: f043 0310 orr.w r3, r3, #16 802fe3c: 6313 str r3, [r2, #48] ; 0x30 802fe3e: 4bb3 ldr r3, [pc, #716] ; (803010c ) 802fe40: 6b1b ldr r3, [r3, #48] ; 0x30 802fe42: f003 0310 and.w r3, r3, #16 802fe46: 623b str r3, [r7, #32] 802fe48: 6a3b ldr r3, [r7, #32] __HAL_RCC_GPIOC_CLK_ENABLE(); 802fe4a: 4ab0 ldr r2, [pc, #704] ; (803010c ) 802fe4c: 4baf ldr r3, [pc, #700] ; (803010c ) 802fe4e: 6b1b ldr r3, [r3, #48] ; 0x30 802fe50: f043 0304 orr.w r3, r3, #4 802fe54: 6313 str r3, [r2, #48] ; 0x30 802fe56: 4bad ldr r3, [pc, #692] ; (803010c ) 802fe58: 6b1b ldr r3, [r3, #48] ; 0x30 802fe5a: f003 0304 and.w r3, r3, #4 802fe5e: 61fb str r3, [r7, #28] 802fe60: 69fb ldr r3, [r7, #28] __HAL_RCC_GPIOF_CLK_ENABLE(); 802fe62: 4aaa ldr r2, [pc, #680] ; (803010c ) 802fe64: 4ba9 ldr r3, [pc, #676] ; (803010c ) 802fe66: 6b1b ldr r3, [r3, #48] ; 0x30 802fe68: f043 0320 orr.w r3, r3, #32 802fe6c: 6313 str r3, [r2, #48] ; 0x30 802fe6e: 4ba7 ldr r3, [pc, #668] ; (803010c ) 802fe70: 6b1b ldr r3, [r3, #48] ; 0x30 802fe72: f003 0320 and.w r3, r3, #32 802fe76: 61bb str r3, [r7, #24] 802fe78: 69bb ldr r3, [r7, #24] __HAL_RCC_GPIOH_CLK_ENABLE(); 802fe7a: 4aa4 ldr r2, [pc, #656] ; (803010c ) 802fe7c: 4ba3 ldr r3, [pc, #652] ; (803010c ) 802fe7e: 6b1b ldr r3, [r3, #48] ; 0x30 802fe80: f043 0380 orr.w r3, r3, #128 ; 0x80 802fe84: 6313 str r3, [r2, #48] ; 0x30 802fe86: 4ba1 ldr r3, [pc, #644] ; (803010c ) 802fe88: 6b1b ldr r3, [r3, #48] ; 0x30 802fe8a: f003 0380 and.w r3, r3, #128 ; 0x80 802fe8e: 617b str r3, [r7, #20] 802fe90: 697b ldr r3, [r7, #20] __HAL_RCC_GPIOA_CLK_ENABLE(); 802fe92: 4a9e ldr r2, [pc, #632] ; (803010c ) 802fe94: 4b9d ldr r3, [pc, #628] ; (803010c ) 802fe96: 6b1b ldr r3, [r3, #48] ; 0x30 802fe98: f043 0301 orr.w r3, r3, #1 802fe9c: 6313 str r3, [r2, #48] ; 0x30 802fe9e: 4b9b ldr r3, [pc, #620] ; (803010c ) 802fea0: 6b1b ldr r3, [r3, #48] ; 0x30 802fea2: f003 0301 and.w r3, r3, #1 802fea6: 613b str r3, [r7, #16] 802fea8: 693b ldr r3, [r7, #16] __HAL_RCC_GPIOB_CLK_ENABLE(); 802feaa: 4a98 ldr r2, [pc, #608] ; (803010c ) 802feac: 4b97 ldr r3, [pc, #604] ; (803010c ) 802feae: 6b1b ldr r3, [r3, #48] ; 0x30 802feb0: f043 0302 orr.w r3, r3, #2 802feb4: 6313 str r3, [r2, #48] ; 0x30 802feb6: 4b95 ldr r3, [pc, #596] ; (803010c ) 802feb8: 6b1b ldr r3, [r3, #48] ; 0x30 802feba: f003 0302 and.w r3, r3, #2 802febe: 60fb str r3, [r7, #12] 802fec0: 68fb ldr r3, [r7, #12] __HAL_RCC_GPIOG_CLK_ENABLE(); 802fec2: 4a92 ldr r2, [pc, #584] ; (803010c ) 802fec4: 4b91 ldr r3, [pc, #580] ; (803010c ) 802fec6: 6b1b ldr r3, [r3, #48] ; 0x30 802fec8: f043 0340 orr.w r3, r3, #64 ; 0x40 802fecc: 6313 str r3, [r2, #48] ; 0x30 802fece: 4b8f ldr r3, [pc, #572] ; (803010c ) 802fed0: 6b1b ldr r3, [r3, #48] ; 0x30 802fed2: f003 0340 and.w r3, r3, #64 ; 0x40 802fed6: 60bb str r3, [r7, #8] 802fed8: 68bb ldr r3, [r7, #8] __HAL_RCC_GPIOD_CLK_ENABLE(); 802feda: 4a8c ldr r2, [pc, #560] ; (803010c ) 802fedc: 4b8b ldr r3, [pc, #556] ; (803010c ) 802fede: 6b1b ldr r3, [r3, #48] ; 0x30 802fee0: f043 0308 orr.w r3, r3, #8 802fee4: 6313 str r3, [r2, #48] ; 0x30 802fee6: 4b89 ldr r3, [pc, #548] ; (803010c ) 802fee8: 6b1b ldr r3, [r3, #48] ; 0x30 802feea: f003 0308 and.w r3, r3, #8 802feee: 607b str r3, [r7, #4] 802fef0: 687b ldr r3, [r7, #4] HAL_GPIO_WritePin(BL_ENABLE_GPIO_Port, BL_ENABLE_Pin, GPIO_PIN_SET); //Bluetooth PowerOff 802fef2: 2201 movs r2, #1 802fef4: 2104 movs r1, #4 802fef6: 4886 ldr r0, [pc, #536] ; (8030110 ) 802fef8: f08a fa50 bl 80ba39c HAL_GPIO_WritePin(KEY_GPIO_Port, KEY_Pin, GPIO_PIN_SET); //AT_MODE on 802fefc: 2201 movs r2, #1 802fefe: f44f 4100 mov.w r1, #32768 ; 0x8000 802ff02: 4884 ldr r0, [pc, #528] ; (8030114 ) 802ff04: f08a fa4a bl 80ba39c HAL_GPIO_WritePin(IN_GPIO_Port, IN_Pin, GPIO_PIN_RESET); 802ff08: 2200 movs r2, #0 802ff0a: f44f 6100 mov.w r1, #2048 ; 0x800 802ff0e: 4882 ldr r0, [pc, #520] ; (8030118 ) 802ff10: f08a fa44 bl 80ba39c HAL_GPIO_WritePin(TMPR_GPIO_Port, TMPR_Pin, GPIO_PIN_SET); 802ff14: 2201 movs r2, #1 802ff16: f44f 5100 mov.w r1, #8192 ; 0x2000 802ff1a: 4880 ldr r0, [pc, #512] ; (803011c ) 802ff1c: f08a fa3e bl 80ba39c HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 802ff20: 2201 movs r2, #1 802ff22: f44f 4100 mov.w r1, #32768 ; 0x8000 802ff26: 487a ldr r0, [pc, #488] ; (8030110 ) 802ff28: f08a fa38 bl 80ba39c HAL_GPIO_WritePin(RSTB_GPIO_Port, RSTB_Pin, GPIO_PIN_SET); 802ff2c: 2201 movs r2, #1 802ff2e: 2104 movs r1, #4 802ff30: 487b ldr r0, [pc, #492] ; (8030120 ) 802ff32: f08a fa33 bl 80ba39c HAL_GPIO_WritePin(GPIOE, (U1_Pin | U2_Pin | U3_Pin), GPIO_PIN_SET); 802ff36: 2201 movs r2, #1 802ff38: 2134 movs r1, #52 ; 0x34 802ff3a: 487a ldr r0, [pc, #488] ; (8030124 ) 802ff3c: f08a fa2e bl 80ba39c HAL_GPIO_WritePin(GPIOF, ON_Pin, GPIO_PIN_SET); 802ff40: 2201 movs r2, #1 802ff42: f44f 7180 mov.w r1, #256 ; 0x100 802ff46: 4874 ldr r0, [pc, #464] ; (8030118 ) 802ff48: f08a fa28 bl 80ba39c HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_SET); 802ff4c: 2201 movs r2, #1 802ff4e: 2140 movs r1, #64 ; 0x40 802ff50: 4875 ldr r0, [pc, #468] ; (8030128 ) 802ff52: f08a fa23 bl 80ba39c HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_RESET); 802ff56: 2200 movs r2, #0 802ff58: 2108 movs r1, #8 802ff5a: 4870 ldr r0, [pc, #448] ; (803011c ) 802ff5c: f08a fa1e bl 80ba39c HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_SET); 802ff60: 2201 movs r2, #1 802ff62: f44f 7180 mov.w r1, #256 ; 0x100 802ff66: 486a ldr r0, [pc, #424] ; (8030110 ) 802ff68: f08a fa18 bl 80ba39c #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); 802ff6c: 2201 movs r2, #1 802ff6e: f44f 4180 mov.w r1, #16384 ; 0x4000 802ff72: 4868 ldr r0, [pc, #416] ; (8030114 ) 802ff74: f08a fa12 bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 802ff78: 2200 movs r2, #0 802ff7a: 2120 movs r1, #32 802ff7c: 4868 ldr r0, [pc, #416] ; (8030120 ) 802ff7e: f08a fa0d bl 80ba39c HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 802ff82: 2200 movs r2, #0 802ff84: f44f 7100 mov.w r1, #512 ; 0x200 802ff88: 4863 ldr r0, [pc, #396] ; (8030118 ) 802ff8a: f08a fa07 bl 80ba39c GPIO_InitStruct.Pin = CR_Pin; 802ff8e: f44f 4300 mov.w r3, #32768 ; 0x8000 802ff92: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802ff94: 2301 movs r3, #1 802ff96: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802ff98: 2300 movs r3, #0 802ff9a: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802ff9c: 2303 movs r3, #3 802ff9e: 633b str r3, [r7, #48] ; 0x30 GPIO_InitStruct.Alternate = 0; 802ffa0: 2300 movs r3, #0 802ffa2: 637b str r3, [r7, #52] ; 0x34 HAL_GPIO_Init(CR_GPIO_Port, &GPIO_InitStruct); 802ffa4: f107 0324 add.w r3, r7, #36 ; 0x24 802ffa8: 4619 mov r1, r3 802ffaa: 4859 ldr r0, [pc, #356] ; (8030110 ) 802ffac: f089 ff28 bl 80b9e00 /*Configure GPIO pins : PEPin PEPin PEPin */ GPIO_InitStruct.Pin = RSTB_Pin; 802ffb0: 2304 movs r3, #4 802ffb2: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802ffb4: 2301 movs r3, #1 802ffb6: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_PULLUP; 802ffb8: 2301 movs r3, #1 802ffba: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802ffbc: 2303 movs r3, #3 802ffbe: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(RSTB_GPIO_Port, &GPIO_InitStruct); 802ffc0: f107 0324 add.w r3, r7, #36 ; 0x24 802ffc4: 4619 mov r1, r3 802ffc6: 4856 ldr r0, [pc, #344] ; (8030120 ) 802ffc8: f089 ff1a bl 80b9e00 /*Configure GPIO pins : PEPin PEPin PEPin */ GPIO_InitStruct.Pin = U1_Pin|U2_Pin|U3_Pin; 802ffcc: 2334 movs r3, #52 ; 0x34 802ffce: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802ffd0: 2301 movs r3, #1 802ffd2: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_PULLUP; 802ffd4: 2301 movs r3, #1 802ffd6: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802ffd8: 2303 movs r3, #3 802ffda: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); 802ffdc: f107 0324 add.w r3, r7, #36 ; 0x24 802ffe0: 4619 mov r1, r3 802ffe2: 4850 ldr r0, [pc, #320] ; (8030124 ) 802ffe4: f089 ff0c bl 80b9e00 /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = ON_Pin; 802ffe8: f44f 7380 mov.w r3, #256 ; 0x100 802ffec: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802ffee: 2301 movs r3, #1 802fff0: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802fff2: 2300 movs r3, #0 802fff4: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802fff6: 2302 movs r3, #2 802fff8: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(ON_GPIO_Port, &GPIO_InitStruct); 802fffa: f107 0324 add.w r3, r7, #36 ; 0x24 802fffe: 4619 mov r1, r3 8030000: 4845 ldr r0, [pc, #276] ; (8030118 ) 8030002: f089 fefd bl 80b9e00 GPIO_InitStruct.Pin = DISP_ON_Pin; 8030006: f44f 7380 mov.w r3, #256 ; 0x100 803000a: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 803000c: 2301 movs r3, #1 803000e: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 8030010: 2300 movs r3, #0 8030012: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 8030014: 2302 movs r3, #2 8030016: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(DISP_ON_GPIO_Port, &GPIO_InitStruct); 8030018: f107 0324 add.w r3, r7, #36 ; 0x24 803001c: 4619 mov r1, r3 803001e: 483c ldr r0, [pc, #240] ; (8030110 ) 8030020: f089 feee bl 80b9e00 /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = OFF_Pin; 8030024: 2301 movs r3, #1 8030026: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 8030028: 2300 movs r3, #0 803002a: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 803002c: 2300 movs r3, #0 803002e: 62fb str r3, [r7, #44] ; 0x2c HAL_GPIO_Init(OFF_GPIO_Port, &GPIO_InitStruct); 8030030: f107 0324 add.w r3, r7, #36 ; 0x24 8030034: 4619 mov r1, r3 8030036: 4836 ldr r0, [pc, #216] ; (8030110 ) 8030038: f089 fee2 bl 80b9e00 /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = BAT_Z_Pin; 803003c: 2310 movs r3, #16 803003e: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 8030040: 2300 movs r3, #0 8030042: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_PULLUP; 8030044: 2301 movs r3, #1 8030046: 62fb str r3, [r7, #44] ; 0x2c HAL_GPIO_Init(BAT_Z_GPIO_Port, &GPIO_InitStruct); 8030048: f107 0324 add.w r3, r7, #36 ; 0x24 803004c: 4619 mov r1, r3 803004e: 4833 ldr r0, [pc, #204] ; (803011c ) 8030050: f089 fed6 bl 80b9e00 /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = SD_DETECT_Pin; 8030054: f44f 5380 mov.w r3, #4096 ; 0x1000 8030058: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 803005a: 2300 movs r3, #0 803005c: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_PULLUP; 803005e: 2301 movs r3, #1 8030060: 62fb str r3, [r7, #44] ; 0x2c HAL_GPIO_Init(SD_DETECT_GPIO_Port, &GPIO_InitStruct); 8030062: f107 0324 add.w r3, r7, #36 ; 0x24 8030066: 4619 mov r1, r3 8030068: 482d ldr r0, [pc, #180] ; (8030120 ) 803006a: f089 fec9 bl 80b9e00 /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = RESET_Pin; 803006e: 2340 movs r3, #64 ; 0x40 8030070: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 8030072: 2301 movs r3, #1 8030074: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 8030076: 2300 movs r3, #0 8030078: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 803007a: 2302 movs r3, #2 803007c: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(RESET_GPIO_Port, &GPIO_InitStruct); 803007e: f107 0324 add.w r3, r7, #36 ; 0x24 8030082: 4619 mov r1, r3 8030084: 4828 ldr r0, [pc, #160] ; (8030128 ) 8030086: f089 febb bl 80b9e00 /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = ZAR_Pin; 803008a: 2308 movs r3, #8 803008c: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 803008e: 2301 movs r3, #1 8030090: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 8030092: 2300 movs r3, #0 8030094: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 8030096: 2300 movs r3, #0 8030098: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(ZAR_GPIO_Port, &GPIO_InitStruct); 803009a: f107 0324 add.w r3, r7, #36 ; 0x24 803009e: 4619 mov r1, r3 80300a0: 481e ldr r0, [pc, #120] ; (803011c ) 80300a2: f089 fead bl 80b9e00 GPIO_InitStruct.Pin = IN_Pin; 80300a6: f44f 6300 mov.w r3, #2048 ; 0x800 80300aa: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 80300ac: 2301 movs r3, #1 80300ae: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 80300b0: 2300 movs r3, #0 80300b2: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 80300b4: 2302 movs r3, #2 80300b6: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(IN_GPIO_Port, &GPIO_InitStruct); 80300b8: f107 0324 add.w r3, r7, #36 ; 0x24 80300bc: 4619 mov r1, r3 80300be: 4816 ldr r0, [pc, #88] ; (8030118 ) 80300c0: f089 fe9e bl 80b9e00 GPIO_InitStruct.Pin = TMPR_Pin; 80300c4: f44f 5300 mov.w r3, #8192 ; 0x2000 80300c8: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 80300ca: 2301 movs r3, #1 80300cc: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 80300ce: 2300 movs r3, #0 80300d0: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 80300d2: 2302 movs r3, #2 80300d4: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(TMPR_GPIO_Port, &GPIO_InitStruct); 80300d6: f107 0324 add.w r3, r7, #36 ; 0x24 80300da: 4619 mov r1, r3 80300dc: 480f ldr r0, [pc, #60] ; (803011c ) 80300de: f089 fe8f bl 80b9e00 //************************************************************************************ //************************** NOT USED PINS *************************************** //************************************************************************************ GPIO_InitStruct.Pin = A0_Pin; 80300e2: 2320 movs r3, #32 80300e4: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 80300e6: 2301 movs r3, #1 80300e8: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 80300ea: 2300 movs r3, #0 80300ec: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 80300ee: 2302 movs r3, #2 80300f0: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(A0_GPIO_Port, &GPIO_InitStruct); 80300f2: f107 0324 add.w r3, r7, #36 ; 0x24 80300f6: 4619 mov r1, r3 80300f8: 4809 ldr r0, [pc, #36] ; (8030120 ) 80300fa: f089 fe81 bl 80b9e00 GPIO_InitStruct.Pin = A1_Pin; 80300fe: f44f 7300 mov.w r3, #512 ; 0x200 8030102: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 8030104: 2301 movs r3, #1 8030106: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 8030108: 2300 movs r3, #0 803010a: e00f b.n 803012c 803010c: 40023800 .word 0x40023800 8030110: 40020000 .word 0x40020000 8030114: 40021800 .word 0x40021800 8030118: 40021400 .word 0x40021400 803011c: 40020800 .word 0x40020800 8030120: 40020400 .word 0x40020400 8030124: 40021000 .word 0x40021000 8030128: 40020c00 .word 0x40020c00 803012c: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 803012e: 2302 movs r3, #2 8030130: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(A1_GPIO_Port, &GPIO_InitStruct); 8030132: f107 0324 add.w r3, r7, #36 ; 0x24 8030136: 4619 mov r1, r3 8030138: 4844 ldr r0, [pc, #272] ; (803024c ) 803013a: f089 fe61 bl 80b9e00 /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = KU_Pin; 803013e: f44f 4380 mov.w r3, #16384 ; 0x4000 8030142: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 8030144: 2301 movs r3, #1 8030146: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 8030148: 2300 movs r3, #0 803014a: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 803014c: 2302 movs r3, #2 803014e: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(KU_GPIO_Port, &GPIO_InitStruct); 8030150: f107 0324 add.w r3, r7, #36 ; 0x24 8030154: 4619 mov r1, r3 8030156: 483e ldr r0, [pc, #248] ; (8030250 ) 8030158: f089 fe52 bl 80b9e00 GPIO_InitStruct.Pin = BL_ENABLE_Pin; 803015c: 2304 movs r3, #4 803015e: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 8030160: 2301 movs r3, #1 8030162: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 8030164: 2300 movs r3, #0 8030166: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 8030168: 2302 movs r3, #2 803016a: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(BL_ENABLE_GPIO_Port, &GPIO_InitStruct); 803016c: f107 0324 add.w r3, r7, #36 ; 0x24 8030170: 4619 mov r1, r3 8030172: 4838 ldr r0, [pc, #224] ; (8030254 ) 8030174: f089 fe44 bl 80b9e00 GPIO_InitStruct.Pin = KEY_Pin; 8030178: f44f 4300 mov.w r3, #32768 ; 0x8000 803017c: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 803017e: 2301 movs r3, #1 8030180: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 8030182: 2300 movs r3, #0 8030184: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 8030186: 2302 movs r3, #2 8030188: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(KEY_GPIO_Port, &GPIO_InitStruct); 803018a: f107 0324 add.w r3, r7, #36 ; 0x24 803018e: 4619 mov r1, r3 8030190: 482f ldr r0, [pc, #188] ; (8030250 ) 8030192: f089 fe35 bl 80b9e00 HAL_GPIO_WritePin(BL_ENABLE_GPIO_Port, BL_ENABLE_Pin, GPIO_PIN_RESET); //Bluetooth PowerOff 8030196: 2200 movs r2, #0 8030198: 2104 movs r1, #4 803019a: 482e ldr r0, [pc, #184] ; (8030254 ) 803019c: f08a f8fe bl 80ba39c HAL_GPIO_WritePin(BL_ENABLE_GPIO_Port, BL_ENABLE_Pin, GPIO_PIN_SET); //Bluetooth PowerOff 80301a0: 2201 movs r2, #1 80301a2: 2104 movs r1, #4 80301a4: 482b ldr r0, [pc, #172] ; (8030254 ) 80301a6: f08a f8f9 bl 80ba39c HAL_GPIO_WritePin(KEY_GPIO_Port, KEY_Pin, GPIO_PIN_SET); //AT_MODE on 80301aa: 2201 movs r2, #1 80301ac: f44f 4100 mov.w r1, #32768 ; 0x8000 80301b0: 4827 ldr r0, [pc, #156] ; (8030250 ) 80301b2: f08a f8f3 bl 80ba39c HAL_GPIO_WritePin(GPIOF, ON_Pin, GPIO_PIN_SET); 80301b6: 2201 movs r2, #1 80301b8: f44f 7180 mov.w r1, #256 ; 0x100 80301bc: 4823 ldr r0, [pc, #140] ; (803024c ) 80301be: f08a f8ed bl 80ba39c #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); 80301c2: 2201 movs r2, #1 80301c4: f44f 4180 mov.w r1, #16384 ; 0x4000 80301c8: 4821 ldr r0, [pc, #132] ; (8030250 ) 80301ca: f08a f8e7 bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 80301ce: 2200 movs r2, #0 80301d0: 2120 movs r1, #32 80301d2: 4821 ldr r0, [pc, #132] ; (8030258 ) 80301d4: f08a f8e2 bl 80ba39c HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 80301d8: 2200 movs r2, #0 80301da: f44f 7100 mov.w r1, #512 ; 0x200 80301de: 481b ldr r0, [pc, #108] ; (803024c ) 80301e0: f08a f8dc bl 80ba39c HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_RESET); 80301e4: 2200 movs r2, #0 80301e6: 2108 movs r1, #8 80301e8: 481c ldr r0, [pc, #112] ; (803025c ) 80301ea: f08a f8d7 bl 80ba39c HAL_GPIO_WritePin(ON_GPIO_Port, ON_Pin, GPIO_PIN_SET); 80301ee: 2201 movs r2, #1 80301f0: f44f 7180 mov.w r1, #256 ; 0x100 80301f4: 4815 ldr r0, [pc, #84] ; (803024c ) 80301f6: f08a f8d1 bl 80ba39c HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_SET); // BACKLIGHT IS OFF 80301fa: 2201 movs r2, #1 80301fc: f44f 7180 mov.w r1, #256 ; 0x100 8030200: 4814 ldr r0, [pc, #80] ; (8030254 ) 8030202: f08a f8cb bl 80ba39c /*Configure GPIO pins : PAPin PAPin */ GPIO_InitStruct.Pin = (K1_Pin | K2_Pin); 8030206: f44f 63c0 mov.w r3, #1536 ; 0x600 803020a: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 803020c: 2300 movs r3, #0 803020e: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 8030210: 2300 movs r3, #0 8030212: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 8030214: 2302 movs r3, #2 8030216: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 8030218: f107 0324 add.w r3, r7, #36 ; 0x24 803021c: 4619 mov r1, r3 803021e: 480d ldr r0, [pc, #52] ; (8030254 ) 8030220: f089 fdee bl 80b9e00 if(HAL_GPIO_ReadPin(SD_DETECT_GPIO_Port, SD_DETECT_Pin) == GPIO_PIN_SET) 8030224: f44f 5180 mov.w r1, #4096 ; 0x1000 8030228: 480b ldr r0, [pc, #44] ; (8030258 ) 803022a: f08a f89f bl 80ba36c 803022e: 4603 mov r3, r0 8030230: 2b01 cmp r3, #1 8030232: d103 bne.n 803023c CardState = MSD_NOCARD; 8030234: 4b0a ldr r3, [pc, #40] ; (8030260 ) 8030236: 2200 movs r2, #0 8030238: 701a strb r2, [r3, #0] else CardState = MSD_PRESENT; } 803023a: e002 b.n 8030242 else CardState = MSD_PRESENT; 803023c: 4b08 ldr r3, [pc, #32] ; (8030260 ) 803023e: 2201 movs r2, #1 8030240: 701a strb r2, [r3, #0] } 8030242: bf00 nop 8030244: 3738 adds r7, #56 ; 0x38 8030246: 46bd mov sp, r7 8030248: bd80 pop {r7, pc} 803024a: bf00 nop 803024c: 40021400 .word 0x40021400 8030250: 40021800 .word 0x40021800 8030254: 40020000 .word 0x40020000 8030258: 40020400 .word 0x40020400 803025c: 40020800 .word 0x40020800 8030260: 2002169c .word 0x2002169c 08030264 : return 0; } void MX_HC05_DeInit(void) { 8030264: b580 push {r7, lr} 8030266: af00 add r7, sp, #0 HAL_GPIO_WritePin(BL_ENABLE_GPIO_Port, BL_ENABLE_Pin, GPIO_PIN_SET); //Bluetooth PowerOff 8030268: 2201 movs r2, #1 803026a: 2104 movs r1, #4 803026c: 4806 ldr r0, [pc, #24] ; (8030288 ) 803026e: f08a f895 bl 80ba39c MX_USART7_UART_DeInit(); 8030272: f083 f819 bl 80b32a8 Initialized = false; 8030276: 4b05 ldr r3, [pc, #20] ; (803028c ) 8030278: 2200 movs r2, #0 803027a: 701a strb r2, [r3, #0] Connected = false; 803027c: 4b04 ldr r3, [pc, #16] ; (8030290 ) 803027e: 2200 movs r2, #0 8030280: 701a strb r2, [r3, #0] } 8030282: bf00 nop 8030284: bd80 pop {r7, pc} 8030286: bf00 nop 8030288: 40020000 .word 0x40020000 803028c: 20020f5d .word 0x20020f5d 8030290: 20020f5c .word 0x20020f5c 08030294 : void BT_InspectMessage(void) //todo { 8030294: b580 push {r7, lr} 8030296: b090 sub sp, #64 ; 0x40 8030298: af00 add r7, sp, #0 uint32_t cYear, cMonth; uint32_t date, month, year, hour, min, sec; uint8_t *pDataPos; pData = (char *) bufR[pCur]; 803029a: 4b85 ldr r3, [pc, #532] ; (80304b0 ) 803029c: 681b ldr r3, [r3, #0] 803029e: 021b lsls r3, r3, #8 80302a0: 4a84 ldr r2, [pc, #528] ; (80304b4 ) 80302a2: 4413 add r3, r2 80302a4: 63fb str r3, [r7, #60] ; 0x3c //pDataPos = (uint8_t *) (*pData + (strlen(pData) + 1)); if((!strstr(pData, "Start") == 0) || (!strstr(pData, "Start\r\n") == 0)) // Ñòàðò ïåðåäà÷è âðåìåííîãî ñèãíàëà 80302a6: 4984 ldr r1, [pc, #528] ; (80304b8 ) 80302a8: 6bf8 ldr r0, [r7, #60] ; 0x3c 80302aa: f0a1 ffb2 bl 80d2212 80302ae: 4603 mov r3, r0 80302b0: 2b00 cmp r3, #0 80302b2: d106 bne.n 80302c2 80302b4: 4981 ldr r1, [pc, #516] ; (80304bc ) 80302b6: 6bf8 ldr r0, [r7, #60] ; 0x3c 80302b8: f0a1 ffab bl 80d2212 80302bc: 4603 mov r3, r0 80302be: 2b00 cmp r3, #0 80302c0: d00c beq.n 80302dc { if(!measuring) 80302c2: 4b7f ldr r3, [pc, #508] ; (80304c0 ) 80302c4: 781b ldrb r3, [r3, #0] 80302c6: b2db uxtb r3, r3 80302c8: f083 0301 eor.w r3, r3, #1 80302cc: b2db uxtb r3, r3 80302ce: 2b00 cmp r3, #0 80302d0: f000 80e9 beq.w 80304a6 { BT_NeedStartMeas = true; 80302d4: 4b7b ldr r3, [pc, #492] ; (80304c4 ) 80302d6: 2201 movs r2, #1 80302d8: 701a strb r2, [r3, #0] if(!measuring) 80302da: e0e4 b.n 80304a6 } } else if((!strstr(pData, "Stop") == 0) || (!strstr(pData, "Stop\r\n") == 0)) // Ñòîï ïåðåäà÷è âðåìåííîãî ñèãíàëà 80302dc: 497a ldr r1, [pc, #488] ; (80304c8 ) 80302de: 6bf8 ldr r0, [r7, #60] ; 0x3c 80302e0: f0a1 ff97 bl 80d2212 80302e4: 4603 mov r3, r0 80302e6: 2b00 cmp r3, #0 80302e8: d106 bne.n 80302f8 80302ea: 4978 ldr r1, [pc, #480] ; (80304cc ) 80302ec: 6bf8 ldr r0, [r7, #60] ; 0x3c 80302ee: f0a1 ff90 bl 80d2212 80302f2: 4603 mov r3, r0 80302f4: 2b00 cmp r3, #0 80302f6: d009 beq.n 803030c { if(measuring) 80302f8: 4b71 ldr r3, [pc, #452] ; (80304c0 ) 80302fa: 781b ldrb r3, [r3, #0] 80302fc: b2db uxtb r3, r3 80302fe: 2b00 cmp r3, #0 8030300: f000 80d1 beq.w 80304a6 { /**/ BT_NeedStopMeas = true; 8030304: 4b72 ldr r3, [pc, #456] ; (80304d0 ) 8030306: 2201 movs r2, #1 8030308: 701a strb r2, [r3, #0] if(measuring) 803030a: e0cc b.n 80304a6 } } else if((!strstr(pData, "GetBuf") == 0) || (!strstr(pData, "GetBuf\r\n") == 0)) // Ñòàðò ïåðåäà÷è âðåìåííîãî ñèãíàëà 803030c: 4971 ldr r1, [pc, #452] ; (80304d4 ) 803030e: 6bf8 ldr r0, [r7, #60] ; 0x3c 8030310: f0a1 ff7f bl 80d2212 8030314: 4603 mov r3, r0 8030316: 2b00 cmp r3, #0 8030318: d106 bne.n 8030328 803031a: 496f ldr r1, [pc, #444] ; (80304d8 ) 803031c: 6bf8 ldr r0, [r7, #60] ; 0x3c 803031e: f0a1 ff78 bl 80d2212 8030322: 4603 mov r3, r0 8030324: 2b00 cmp r3, #0 8030326: d006 beq.n 8030336 { //if(measuring) //{ command |= COMMAND_SEND_BUFF; 8030328: 4b6c ldr r3, [pc, #432] ; (80304dc ) 803032a: 681b ldr r3, [r3, #0] 803032c: f043 0320 orr.w r3, r3, #32 8030330: 4a6a ldr r2, [pc, #424] ; (80304dc ) 8030332: 6013 str r3, [r2, #0] 8030334: e0b7 b.n 80304a6 //} } else if((!strstr(pData, "GetPar") == 0) || (!strstr(pData, "GetPar\r\n") == 0)) // ×òåíèå ïàðàìåòðîâ 8030336: 496a ldr r1, [pc, #424] ; (80304e0 ) 8030338: 6bf8 ldr r0, [r7, #60] ; 0x3c 803033a: f0a1 ff6a bl 80d2212 803033e: 4603 mov r3, r0 8030340: 2b00 cmp r3, #0 8030342: d106 bne.n 8030352 8030344: 4967 ldr r1, [pc, #412] ; (80304e4 ) 8030346: 6bf8 ldr r0, [r7, #60] ; 0x3c 8030348: f0a1 ff63 bl 80d2212 803034c: 4603 mov r3, r0 803034e: 2b00 cmp r3, #0 8030350: d006 beq.n 8030360 { command |= COMMAND_READ_PAR; 8030352: 4b62 ldr r3, [pc, #392] ; (80304dc ) 8030354: 681b ldr r3, [r3, #0] 8030356: f043 0301 orr.w r3, r3, #1 803035a: 4a60 ldr r2, [pc, #384] ; (80304dc ) 803035c: 6013 str r3, [r2, #0] 803035e: e0a2 b.n 80304a6 } else if((!strstr(pData, "SetPar") == 0) || (!strstr(pData, "SetPar\r\n") == 0)) // ×òåíèå ïàðàìåòðîâ 8030360: 4961 ldr r1, [pc, #388] ; (80304e8 ) 8030362: 6bf8 ldr r0, [r7, #60] ; 0x3c 8030364: f0a1 ff55 bl 80d2212 8030368: 4603 mov r3, r0 803036a: 2b00 cmp r3, #0 803036c: d106 bne.n 803037c 803036e: 495f ldr r1, [pc, #380] ; (80304ec ) 8030370: 6bf8 ldr r0, [r7, #60] ; 0x3c 8030372: f0a1 ff4e bl 80d2212 8030376: 4603 mov r3, r0 8030378: 2b00 cmp r3, #0 803037a: d006 beq.n 803038a { command |= COMMAND_WRITE_PAR; 803037c: 4b57 ldr r3, [pc, #348] ; (80304dc ) 803037e: 681b ldr r3, [r3, #0] 8030380: f043 0302 orr.w r3, r3, #2 8030384: 4a55 ldr r2, [pc, #340] ; (80304dc ) 8030386: 6013 str r3, [r2, #0] 8030388: e08d b.n 80304a6 } else if((!strstr(pData, "Synhr") == 0) || (!strstr(pData, "Synhr\r\n") == 0)) 803038a: 4959 ldr r1, [pc, #356] ; (80304f0 ) 803038c: 6bf8 ldr r0, [r7, #60] ; 0x3c 803038e: f0a1 ff40 bl 80d2212 8030392: 4603 mov r3, r0 8030394: 2b00 cmp r3, #0 8030396: d106 bne.n 80303a6 8030398: 4956 ldr r1, [pc, #344] ; (80304f4 ) 803039a: 6bf8 ldr r0, [r7, #60] ; 0x3c 803039c: f0a1 ff39 bl 80d2212 80303a0: 4603 mov r3, r0 80303a2: 2b00 cmp r3, #0 80303a4: d07f beq.n 80304a6 { pData += 5; 80303a6: 6bfb ldr r3, [r7, #60] ; 0x3c 80303a8: 3305 adds r3, #5 80303aa: 63fb str r3, [r7, #60] ; 0x3c date = *pData++; 80303ac: 6bfb ldr r3, [r7, #60] ; 0x3c 80303ae: 1c5a adds r2, r3, #1 80303b0: 63fa str r2, [r7, #60] ; 0x3c 80303b2: 781b ldrb r3, [r3, #0] 80303b4: 63bb str r3, [r7, #56] ; 0x38 month = *pData++; 80303b6: 6bfb ldr r3, [r7, #60] ; 0x3c 80303b8: 1c5a adds r2, r3, #1 80303ba: 63fa str r2, [r7, #60] ; 0x3c 80303bc: 781b ldrb r3, [r3, #0] 80303be: 637b str r3, [r7, #52] ; 0x34 year = *pData++; 80303c0: 6bfb ldr r3, [r7, #60] ; 0x3c 80303c2: 1c5a adds r2, r3, #1 80303c4: 63fa str r2, [r7, #60] ; 0x3c 80303c6: 781b ldrb r3, [r3, #0] 80303c8: 633b str r3, [r7, #48] ; 0x30 hour = *pData++; 80303ca: 6bfb ldr r3, [r7, #60] ; 0x3c 80303cc: 1c5a adds r2, r3, #1 80303ce: 63fa str r2, [r7, #60] ; 0x3c 80303d0: 781b ldrb r3, [r3, #0] 80303d2: 62fb str r3, [r7, #44] ; 0x2c min = *pData++; 80303d4: 6bfb ldr r3, [r7, #60] ; 0x3c 80303d6: 1c5a adds r2, r3, #1 80303d8: 63fa str r2, [r7, #60] ; 0x3c 80303da: 781b ldrb r3, [r3, #0] 80303dc: 62bb str r3, [r7, #40] ; 0x28 sec = *pData++; 80303de: 6bfb ldr r3, [r7, #60] ; 0x3c 80303e0: 1c5a adds r2, r3, #1 80303e2: 63fa str r2, [r7, #60] ; 0x3c 80303e4: 781b ldrb r3, [r3, #0] 80303e6: 627b str r3, [r7, #36] ; 0x24 HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 80303e8: 1d3b adds r3, r7, #4 80303ea: 2200 movs r2, #0 80303ec: 4619 mov r1, r3 80303ee: 4842 ldr r0, [pc, #264] ; (80304f8 ) 80303f0: f08c fff0 bl 80bd3d4 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 80303f4: 463b mov r3, r7 80303f6: 2200 movs r2, #0 80303f8: 4619 mov r1, r3 80303fa: 483f ldr r0, [pc, #252] ; (80304f8 ) 80303fc: f08d f8f0 bl 80bd5e0 RTC_TimeStruct.Hours = hour; 8030400: 6afb ldr r3, [r7, #44] ; 0x2c 8030402: b2db uxtb r3, r3 8030404: 713b strb r3, [r7, #4] RTC_TimeStruct.Minutes = min; 8030406: 6abb ldr r3, [r7, #40] ; 0x28 8030408: b2db uxtb r3, r3 803040a: 717b strb r3, [r7, #5] RTC_TimeStruct.Seconds = sec; 803040c: 6a7b ldr r3, [r7, #36] ; 0x24 803040e: b2db uxtb r3, r3 8030410: 71bb strb r3, [r7, #6] RTC_DateStruct.Date = date; 8030412: 6bbb ldr r3, [r7, #56] ; 0x38 8030414: b2db uxtb r3, r3 8030416: 70bb strb r3, [r7, #2] RTC_DateStruct.Month = month; 8030418: 6b7b ldr r3, [r7, #52] ; 0x34 803041a: b2db uxtb r3, r3 803041c: 707b strb r3, [r7, #1] RTC_DateStruct.Year = year; 803041e: 6b3b ldr r3, [r7, #48] ; 0x30 8030420: b2db uxtb r3, r3 8030422: 70fb strb r3, [r7, #3] cMonth = MONTH_CODE[RTC_DateStruct.Month]; 8030424: 787b ldrb r3, [r7, #1] 8030426: 461a mov r2, r3 8030428: 4b34 ldr r3, [pc, #208] ; (80304fc ) 803042a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803042e: 623b str r3, [r7, #32] cYear = ((RTC_DateStruct.Year / 4) + 6 + RTC_DateStruct.Year) % 7; 8030430: 78fb ldrb r3, [r7, #3] 8030432: 089b lsrs r3, r3, #2 8030434: b2db uxtb r3, r3 8030436: 3306 adds r3, #6 8030438: 78fa ldrb r2, [r7, #3] 803043a: 441a add r2, r3 803043c: 4b30 ldr r3, [pc, #192] ; (8030500 ) 803043e: fb83 1302 smull r1, r3, r3, r2 8030442: 4413 add r3, r2 8030444: 1099 asrs r1, r3, #2 8030446: 17d3 asrs r3, r2, #31 8030448: 1ac9 subs r1, r1, r3 803044a: 460b mov r3, r1 803044c: 00db lsls r3, r3, #3 803044e: 1a5b subs r3, r3, r1 8030450: 1ad1 subs r1, r2, r3 8030452: 61f9 str r1, [r7, #28] RTC_DateStruct.WeekDay = MONTH[(RTC_DateStruct.Date + cMonth + cYear) % 7]; 8030454: 78bb ldrb r3, [r7, #2] 8030456: 461a mov r2, r3 8030458: 6a3b ldr r3, [r7, #32] 803045a: 441a add r2, r3 803045c: 69fb ldr r3, [r7, #28] 803045e: 18d1 adds r1, r2, r3 8030460: 4b28 ldr r3, [pc, #160] ; (8030504 ) 8030462: fba3 2301 umull r2, r3, r3, r1 8030466: 1aca subs r2, r1, r3 8030468: 0852 lsrs r2, r2, #1 803046a: 4413 add r3, r2 803046c: 089a lsrs r2, r3, #2 803046e: 4613 mov r3, r2 8030470: 00db lsls r3, r3, #3 8030472: 1a9b subs r3, r3, r2 8030474: 1aca subs r2, r1, r3 8030476: 4b24 ldr r3, [pc, #144] ; (8030508 ) 8030478: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803047c: b2db uxtb r3, r3 803047e: 703b strb r3, [r7, #0] HAL_RTC_SetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 8030480: 1d3b adds r3, r7, #4 8030482: 2200 movs r2, #0 8030484: 4619 mov r1, r3 8030486: 481c ldr r0, [pc, #112] ; (80304f8 ) 8030488: f08c fee6 bl 80bd258 HAL_RTC_SetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 803048c: 463b mov r3, r7 803048e: 2200 movs r2, #0 8030490: 4619 mov r1, r3 8030492: 4819 ldr r0, [pc, #100] ; (80304f8 ) 8030494: f08c fffc bl 80bd490 command |= COMMAND_SET_TIME; 8030498: 4b10 ldr r3, [pc, #64] ; (80304dc ) 803049a: 681b ldr r3, [r3, #0] 803049c: f043 0304 orr.w r3, r3, #4 80304a0: 4a0e ldr r2, [pc, #56] ; (80304dc ) 80304a2: 6013 str r3, [r2, #0] } } 80304a4: e7ff b.n 80304a6 80304a6: bf00 nop 80304a8: 3740 adds r7, #64 ; 0x40 80304aa: 46bd mov sp, r7 80304ac: bd80 pop {r7, pc} 80304ae: bf00 nop 80304b0: 20020f68 .word 0x20020f68 80304b4: 20024910 .word 0x20024910 80304b8: 080d5008 .word 0x080d5008 80304bc: 080d5010 .word 0x080d5010 80304c0: 20020dcf .word 0x20020dcf 80304c4: 20020f58 .word 0x20020f58 80304c8: 080d5018 .word 0x080d5018 80304cc: 080d5020 .word 0x080d5020 80304d0: 20020f59 .word 0x20020f59 80304d4: 080d5028 .word 0x080d5028 80304d8: 080d5030 .word 0x080d5030 80304dc: 20020f6c .word 0x20020f6c 80304e0: 080d503c .word 0x080d503c 80304e4: 080d5044 .word 0x080d5044 80304e8: 080d5050 .word 0x080d5050 80304ec: 080d5058 .word 0x080d5058 80304f0: 080d5064 .word 0x080d5064 80304f4: 080d506c .word 0x080d506c 80304f8: 200685f8 .word 0x200685f8 80304fc: 080de8ac .word 0x080de8ac 8030500: 92492493 .word 0x92492493 8030504: 24924925 .word 0x24924925 8030508: 080de8e0 .word 0x080de8e0 0803050c : void HAL_UART_RxCplt(void) { 803050c: b580 push {r7, lr} 803050e: af00 add r7, sp, #0 bufR[pWr][faseR] = (uint8_t) (UART7->RDR & 0xFF); 8030510: 4b25 ldr r3, [pc, #148] ; (80305a8 ) 8030512: 681a ldr r2, [r3, #0] 8030514: 4b25 ldr r3, [pc, #148] ; (80305ac ) 8030516: 681b ldr r3, [r3, #0] 8030518: 4925 ldr r1, [pc, #148] ; (80305b0 ) 803051a: 6a49 ldr r1, [r1, #36] ; 0x24 803051c: b2c8 uxtb r0, r1 803051e: 4925 ldr r1, [pc, #148] ; (80305b4 ) 8030520: 0212 lsls r2, r2, #8 8030522: 440a add r2, r1 8030524: 4413 add r3, r2 8030526: 4602 mov r2, r0 8030528: 701a strb r2, [r3, #0] if((bufR[pWr][faseR - 1] == '\r') && (bufR[pWr][faseR] == '\n')) 803052a: 4b1f ldr r3, [pc, #124] ; (80305a8 ) 803052c: 681a ldr r2, [r3, #0] 803052e: 4b1f ldr r3, [pc, #124] ; (80305ac ) 8030530: 681b ldr r3, [r3, #0] 8030532: 3b01 subs r3, #1 8030534: 491f ldr r1, [pc, #124] ; (80305b4 ) 8030536: 0212 lsls r2, r2, #8 8030538: 440a add r2, r1 803053a: 4413 add r3, r2 803053c: 781b ldrb r3, [r3, #0] 803053e: 2b0d cmp r3, #13 8030540: d12b bne.n 803059a 8030542: 4b19 ldr r3, [pc, #100] ; (80305a8 ) 8030544: 681a ldr r2, [r3, #0] 8030546: 4b19 ldr r3, [pc, #100] ; (80305ac ) 8030548: 681b ldr r3, [r3, #0] 803054a: 491a ldr r1, [pc, #104] ; (80305b4 ) 803054c: 0212 lsls r2, r2, #8 803054e: 440a add r2, r1 8030550: 4413 add r3, r2 8030552: 781b ldrb r3, [r3, #0] 8030554: 2b0a cmp r3, #10 8030556: d120 bne.n 803059a { bufR[pWr][faseR + 1] = '\0'; // óñòàíàâëèâàåì òåðìèíàëüíûé 0 ïîñëå \r\n, ÷òîáû îáîçíà÷èòü êîíåö òåêóùåãî ñîîáùåíèÿ 8030558: 4b13 ldr r3, [pc, #76] ; (80305a8 ) 803055a: 681a ldr r2, [r3, #0] 803055c: 4b13 ldr r3, [pc, #76] ; (80305ac ) 803055e: 681b ldr r3, [r3, #0] 8030560: 3301 adds r3, #1 8030562: 4914 ldr r1, [pc, #80] ; (80305b4 ) 8030564: 0212 lsls r2, r2, #8 8030566: 440a add r2, r1 8030568: 4413 add r3, r2 803056a: 2200 movs r2, #0 803056c: 701a strb r2, [r3, #0] faseR = 0; 803056e: 4b0f ldr r3, [pc, #60] ; (80305ac ) 8030570: 2200 movs r2, #0 8030572: 601a str r2, [r3, #0] pCur = pWr; 8030574: 4b0c ldr r3, [pc, #48] ; (80305a8 ) 8030576: 681b ldr r3, [r3, #0] 8030578: 4a0f ldr r2, [pc, #60] ; (80305b8 ) 803057a: 6013 str r3, [r2, #0] BT_InspectMessage(); 803057c: f7ff fe8a bl 8030294 pWr++; 8030580: 4b09 ldr r3, [pc, #36] ; (80305a8 ) 8030582: 681b ldr r3, [r3, #0] 8030584: 3301 adds r3, #1 8030586: 4a08 ldr r2, [pc, #32] ; (80305a8 ) 8030588: 6013 str r3, [r2, #0] if(pWr == MESSAGE_BUF_SIZE) { 803058a: 4b07 ldr r3, [pc, #28] ; (80305a8 ) 803058c: 681b ldr r3, [r3, #0] 803058e: 2b10 cmp r3, #16 8030590: d108 bne.n 80305a4 pWr = 0; 8030592: 4b05 ldr r3, [pc, #20] ; (80305a8 ) 8030594: 2200 movs r2, #0 8030596: 601a str r2, [r3, #0] if(pWr == MESSAGE_BUF_SIZE) { 8030598: e004 b.n 80305a4 } } else faseR++; 803059a: 4b04 ldr r3, [pc, #16] ; (80305ac ) 803059c: 681b ldr r3, [r3, #0] 803059e: 3301 adds r3, #1 80305a0: 4a02 ldr r2, [pc, #8] ; (80305ac ) 80305a2: 6013 str r3, [r2, #0] } 80305a4: bf00 nop 80305a6: bd80 pop {r7, pc} 80305a8: 20020f64 .word 0x20020f64 80305ac: 20020f60 .word 0x20020f60 80305b0: 40007800 .word 0x40007800 80305b4: 20024910 .word 0x20024910 80305b8: 20020f68 .word 0x20020f68 080305bc : void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) { 80305bc: b480 push {r7} 80305be: b083 sub sp, #12 80305c0: af00 add r7, sp, #0 80305c2: 6078 str r0, [r7, #4] TX_OK = true; 80305c4: 4b04 ldr r3, [pc, #16] ; (80305d8 ) 80305c6: 2201 movs r2, #1 80305c8: 701a strb r2, [r3, #0] } 80305ca: bf00 nop 80305cc: 370c adds r7, #12 80305ce: 46bd mov sp, r7 80305d0: f85d 7b04 ldr.w r7, [sp], #4 80305d4: 4770 bx lr 80305d6: bf00 nop 80305d8: 20020f5a .word 0x20020f5a 080305dc : void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart) { 80305dc: b580 push {r7, lr} 80305de: b082 sub sp, #8 80305e0: af00 add r7, sp, #0 80305e2: 6078 str r0, [r7, #4] RX_OK = TX_OK = false; 80305e4: 2100 movs r1, #0 80305e6: 4b06 ldr r3, [pc, #24] ; (8030600 ) 80305e8: 460a mov r2, r1 80305ea: 701a strb r2, [r3, #0] 80305ec: 4b05 ldr r3, [pc, #20] ; (8030604 ) 80305ee: 460a mov r2, r1 80305f0: 701a strb r2, [r3, #0] HAL_UART_Abort_IT(&huart7); 80305f2: 4805 ldr r0, [pc, #20] ; (8030608 ) 80305f4: f091 f868 bl 80c16c8 } 80305f8: bf00 nop 80305fa: 3708 adds r7, #8 80305fc: 46bd mov sp, r7 80305fe: bd80 pop {r7, pc} 8030600: 20020f5a .word 0x20020f5a 8030604: 20020f5b .word 0x20020f5b 8030608: 20068a84 .word 0x20068a84 0803060c : __IO uint32_t I2C_Received = 0; void MX_I2C1_SMBUS_Init(void) { 803060c: b580 push {r7, lr} 803060e: af00 add r7, sp, #0 hsmbus1.Instance = I2C1; 8030610: 4b1a ldr r3, [pc, #104] ; (803067c ) 8030612: 4a1b ldr r2, [pc, #108] ; (8030680 ) 8030614: 601a str r2, [r3, #0] hsmbus1.Init.Timing = 0x60606CA1; 8030616: 4b19 ldr r3, [pc, #100] ; (803067c ) 8030618: 4a1a ldr r2, [pc, #104] ; (8030684 ) 803061a: 605a str r2, [r3, #4] hsmbus1.Init.AnalogFilter = SMBUS_ANALOGFILTER_ENABLE; 803061c: 4b17 ldr r3, [pc, #92] ; (803067c ) 803061e: 2200 movs r2, #0 8030620: 609a str r2, [r3, #8] hsmbus1.Init.OwnAddress1 = 0; 8030622: 4b16 ldr r3, [pc, #88] ; (803067c ) 8030624: 2200 movs r2, #0 8030626: 60da str r2, [r3, #12] hsmbus1.Init.AddressingMode = SMBUS_ADDRESSINGMODE_7BIT; 8030628: 4b14 ldr r3, [pc, #80] ; (803067c ) 803062a: 2201 movs r2, #1 803062c: 611a str r2, [r3, #16] hsmbus1.Init.DualAddressMode = SMBUS_DUALADDRESS_DISABLE; 803062e: 4b13 ldr r3, [pc, #76] ; (803067c ) 8030630: 2200 movs r2, #0 8030632: 615a str r2, [r3, #20] hsmbus1.Init.OwnAddress2 = 0; 8030634: 4b11 ldr r3, [pc, #68] ; (803067c ) 8030636: 2200 movs r2, #0 8030638: 619a str r2, [r3, #24] hsmbus1.Init.OwnAddress2Masks = SMBUS_OA2_NOMASK; 803063a: 4b10 ldr r3, [pc, #64] ; (803067c ) 803063c: 2200 movs r2, #0 803063e: 61da str r2, [r3, #28] hsmbus1.Init.GeneralCallMode = SMBUS_GENERALCALL_DISABLE; 8030640: 4b0e ldr r3, [pc, #56] ; (803067c ) 8030642: 2200 movs r2, #0 8030644: 621a str r2, [r3, #32] hsmbus1.Init.NoStretchMode = SMBUS_NOSTRETCH_DISABLE; 8030646: 4b0d ldr r3, [pc, #52] ; (803067c ) 8030648: 2200 movs r2, #0 803064a: 625a str r2, [r3, #36] ; 0x24 hsmbus1.Init.PacketErrorCheckMode = SMBUS_PEC_ENABLE; 803064c: 4b0b ldr r3, [pc, #44] ; (803067c ) 803064e: f44f 0200 mov.w r2, #8388608 ; 0x800000 8030652: 629a str r2, [r3, #40] ; 0x28 hsmbus1.Init.PeripheralMode = SMBUS_PERIPHERAL_MODE_SMBUS_HOST; 8030654: 4b09 ldr r3, [pc, #36] ; (803067c ) 8030656: f44f 1280 mov.w r2, #1048576 ; 0x100000 803065a: 62da str r2, [r3, #44] ; 0x2c hsmbus1.Init.SMBusTimeout = 0x00008927; 803065c: 4b07 ldr r3, [pc, #28] ; (803067c ) 803065e: f648 1227 movw r2, #35111 ; 0x8927 8030662: 631a str r2, [r3, #48] ; 0x30 HAL_SMBUS_Init(&hsmbus1); 8030664: 4805 ldr r0, [pc, #20] ; (803067c ) 8030666: f08e fc25 bl 80beeb4 HAL_GPIO_WritePin(TMPR_GPIO_Port, TMPR_Pin, GPIO_PIN_SET); 803066a: 2201 movs r2, #1 803066c: f44f 5100 mov.w r1, #8192 ; 0x2000 8030670: 4805 ldr r0, [pc, #20] ; (8030688 ) 8030672: f089 fe93 bl 80ba39c } 8030676: bf00 nop 8030678: bd80 pop {r7, pc} 803067a: bf00 nop 803067c: 2002591c .word 0x2002591c 8030680: 40005400 .word 0x40005400 8030684: 60606ca1 .word 0x60606ca1 8030688: 40020800 .word 0x40020800 0803068c : HAL_SMBUS_DeInit(&hsmbus1); } void HAL_SMBUS_MspInit(SMBUS_HandleTypeDef* smbusHandle) { 803068c: b580 push {r7, lr} 803068e: b088 sub sp, #32 8030690: af00 add r7, sp, #0 8030692: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct; if(smbusHandle->Instance == I2C1) 8030694: 687b ldr r3, [r7, #4] 8030696: 681b ldr r3, [r3, #0] 8030698: 4a19 ldr r2, [pc, #100] ; (8030700 ) 803069a: 4293 cmp r3, r2 803069c: d12b bne.n 80306f6 { /**I2C1 GPIO Configuration PB6 ------> I2C1_SCL PB7 ------> I2C1_SDA */ GPIO_InitStruct.Pin = GPIO_PIN_6 | GPIO_PIN_7; 803069e: 23c0 movs r3, #192 ; 0xc0 80306a0: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; 80306a2: 2312 movs r3, #18 80306a4: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80306a6: 2300 movs r3, #0 80306a8: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80306aa: 2303 movs r3, #3 80306ac: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF4_I2C1; 80306ae: 2304 movs r3, #4 80306b0: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 80306b2: f107 030c add.w r3, r7, #12 80306b6: 4619 mov r1, r3 80306b8: 4812 ldr r0, [pc, #72] ; (8030704 ) 80306ba: f089 fba1 bl 80b9e00 __HAL_RCC_I2C1_CLK_ENABLE(); 80306be: 4a12 ldr r2, [pc, #72] ; (8030708 ) 80306c0: 4b11 ldr r3, [pc, #68] ; (8030708 ) 80306c2: 6c1b ldr r3, [r3, #64] ; 0x40 80306c4: f443 1300 orr.w r3, r3, #2097152 ; 0x200000 80306c8: 6413 str r3, [r2, #64] ; 0x40 80306ca: 4b0f ldr r3, [pc, #60] ; (8030708 ) 80306cc: 6c1b ldr r3, [r3, #64] ; 0x40 80306ce: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80306d2: 60bb str r3, [r7, #8] 80306d4: 68bb ldr r3, [r7, #8] HAL_NVIC_SetPriority(I2C1_EV_IRQn, 7, 0); 80306d6: 2200 movs r2, #0 80306d8: 2107 movs r1, #7 80306da: 201f movs r0, #31 80306dc: f088 f8f9 bl 80b88d2 HAL_NVIC_EnableIRQ(I2C1_EV_IRQn); 80306e0: 201f movs r0, #31 80306e2: f088 f912 bl 80b890a HAL_NVIC_SetPriority(I2C1_ER_IRQn, 7, 0); 80306e6: 2200 movs r2, #0 80306e8: 2107 movs r1, #7 80306ea: 2020 movs r0, #32 80306ec: f088 f8f1 bl 80b88d2 HAL_NVIC_EnableIRQ(I2C1_ER_IRQn); 80306f0: 2020 movs r0, #32 80306f2: f088 f90a bl 80b890a } } 80306f6: bf00 nop 80306f8: 3720 adds r7, #32 80306fa: 46bd mov sp, r7 80306fc: bd80 pop {r7, pc} 80306fe: bf00 nop 8030700: 40005400 .word 0x40005400 8030704: 40020400 .word 0x40020400 8030708: 40023800 .word 0x40023800 0803070c : } void GetTemperature(void) { 803070c: b580 push {r7, lr} 803070e: b088 sub sp, #32 8030710: af02 add r7, sp, #8 uint8_t comm = 0x07; 8030712: 2307 movs r3, #7 8030714: 73fb strb r3, [r7, #15] __IO uint32_t timeout, v; float32_t f, absf; if(FlagGetTemperature) 8030716: 4bb0 ldr r3, [pc, #704] ; (80309d8 ) 8030718: 781b ldrb r3, [r3, #0] 803071a: b2db uxtb r3, r3 803071c: 2b00 cmp r3, #0 803071e: f000 82bd beq.w 8030c9c { FlagGetTemperature = false; 8030722: 4bad ldr r3, [pc, #692] ; (80309d8 ) 8030724: 2200 movs r2, #0 8030726: 701a strb r2, [r3, #0] timeout = HAL_GetTick(); 8030728: f087 f97c bl 80b7a24 803072c: 4603 mov r3, r0 803072e: 60bb str r3, [r7, #8] while((HAL_SMBUS_IsDeviceReady(&hsmbus1, 0xB4, 10, 10) != HAL_OK) && ((HAL_GetTick() - timeout) < 50)); 8030730: bf00 nop 8030732: 230a movs r3, #10 8030734: 220a movs r2, #10 8030736: 21b4 movs r1, #180 ; 0xb4 8030738: 48a8 ldr r0, [pc, #672] ; (80309dc ) 803073a: f08e fdc9 bl 80bf2d0 803073e: 4603 mov r3, r0 8030740: 2b00 cmp r3, #0 8030742: d006 beq.n 8030752 8030744: f087 f96e bl 80b7a24 8030748: 4602 mov r2, r0 803074a: 68bb ldr r3, [r7, #8] 803074c: 1ad3 subs r3, r2, r3 803074e: 2b31 cmp r3, #49 ; 0x31 8030750: d9ef bls.n 8030732 if(timeout > 0) 8030752: 68bb ldr r3, [r7, #8] 8030754: 2b00 cmp r3, #0 8030756: f000 82a1 beq.w 8030c9c { I2C_Transmitted = 0; 803075a: 4ba1 ldr r3, [pc, #644] ; (80309e0 ) 803075c: 2200 movs r2, #0 803075e: 601a str r2, [r3, #0] timeout = HAL_GetTick(); 8030760: f087 f960 bl 80b7a24 8030764: 4603 mov r3, r0 8030766: 60bb str r3, [r7, #8] HAL_SMBUS_Master_Transmit_IT(&hsmbus1, 180, &comm, 1, SMBUS_FIRST_FRAME); 8030768: f107 020f add.w r2, r7, #15 803076c: 2300 movs r3, #0 803076e: 9300 str r3, [sp, #0] 8030770: 2301 movs r3, #1 8030772: 21b4 movs r1, #180 ; 0xb4 8030774: 4899 ldr r0, [pc, #612] ; (80309dc ) 8030776: f08e fc53 bl 80bf020 while((I2C_Transmitted == 0) && ((HAL_GetTick() - timeout) < 50)); 803077a: bf00 nop 803077c: 4b98 ldr r3, [pc, #608] ; (80309e0 ) 803077e: 681b ldr r3, [r3, #0] 8030780: 2b00 cmp r3, #0 8030782: d106 bne.n 8030792 8030784: f087 f94e bl 80b7a24 8030788: 4602 mov r2, r0 803078a: 68bb ldr r3, [r7, #8] 803078c: 1ad3 subs r3, r2, r3 803078e: 2b31 cmp r3, #49 ; 0x31 8030790: d9f4 bls.n 803077c if(timeout > 0) 8030792: 68bb ldr r3, [r7, #8] 8030794: 2b00 cmp r3, #0 8030796: f000 8281 beq.w 8030c9c { HAL_Delay(1); 803079a: 2001 movs r0, #1 803079c: f087 f94e bl 80b7a3c I2C_Received = 0; 80307a0: 4b90 ldr r3, [pc, #576] ; (80309e4 ) 80307a2: 2200 movs r2, #0 80307a4: 601a str r2, [r3, #0] timeout = HAL_GetTick(); 80307a6: f087 f93d bl 80b7a24 80307aa: 4603 mov r3, r0 80307ac: 60bb str r3, [r7, #8] HAL_SMBUS_Master_Receive_IT(&hsmbus1, 180, &TEMPER.ch[0], 2, SMBUS_LAST_FRAME_WITH_PEC); 80307ae: f04f 63c0 mov.w r3, #100663296 ; 0x6000000 80307b2: 9300 str r3, [sp, #0] 80307b4: 2302 movs r3, #2 80307b6: 4a8c ldr r2, [pc, #560] ; (80309e8 ) 80307b8: 21b4 movs r1, #180 ; 0xb4 80307ba: 4888 ldr r0, [pc, #544] ; (80309dc ) 80307bc: f08e fce6 bl 80bf18c while((I2C_Received == 0) && ((HAL_GetTick() - timeout) < 50)); 80307c0: bf00 nop 80307c2: 4b88 ldr r3, [pc, #544] ; (80309e4 ) 80307c4: 681b ldr r3, [r3, #0] 80307c6: 2b00 cmp r3, #0 80307c8: d106 bne.n 80307d8 80307ca: f087 f92b bl 80b7a24 80307ce: 4602 mov r2, r0 80307d0: 68bb ldr r3, [r7, #8] 80307d2: 1ad3 subs r3, r2, r3 80307d4: 2b31 cmp r3, #49 ; 0x31 80307d6: d9f4 bls.n 80307c2 if(timeout > 0) 80307d8: 68bb ldr r3, [r7, #8] 80307da: 2b00 cmp r3, #0 80307dc: f000 825e beq.w 8030c9c { f = (float32_t) TEMPER.sh; 80307e0: 4b81 ldr r3, [pc, #516] ; (80309e8 ) 80307e2: 881b ldrh r3, [r3, #0] 80307e4: ee07 3a90 vmov s15, r3 80307e8: eef8 7a67 vcvt.f32.u32 s15, s15 80307ec: edc7 7a05 vstr s15, [r7, #20] f *= 0.02f; 80307f0: edd7 7a05 vldr s15, [r7, #20] 80307f4: ed9f 7a7d vldr s14, [pc, #500] ; 80309ec 80307f8: ee67 7a87 vmul.f32 s15, s15, s14 80307fc: edc7 7a05 vstr s15, [r7, #20] f -= 273.15f; 8030800: edd7 7a05 vldr s15, [r7, #20] 8030804: ed9f 7a7a vldr s14, [pc, #488] ; 80309f0 8030808: ee77 7ac7 vsub.f32 s15, s15, s14 803080c: edc7 7a05 vstr s15, [r7, #20] absf = ABS(f); 8030810: edd7 7a05 vldr s15, [r7, #20] 8030814: eef5 7ac0 vcmpe.f32 s15, #0.0 8030818: eef1 fa10 vmrs APSR_nzcv, fpscr 803081c: dd02 ble.n 8030824 803081e: edd7 7a05 vldr s15, [r7, #20] 8030822: e003 b.n 803082c 8030824: edd7 7a05 vldr s15, [r7, #20] 8030828: eef1 7a67 vneg.f32 s15, s15 803082c: edc7 7a04 vstr s15, [r7, #16] v = (uint32_t) roundf(absf * 100); 8030830: edd7 7a04 vldr s15, [r7, #16] 8030834: ed9f 7a6f vldr s14, [pc, #444] ; 80309f4 8030838: ee67 7a87 vmul.f32 s15, s15, s14 803083c: eeb0 0a67 vmov.f32 s0, s15 8030840: f09f f9b0 bl 80cfba4 8030844: eef0 7a40 vmov.f32 s15, s0 8030848: eefc 7ae7 vcvt.u32.f32 s15, s15 803084c: ee17 3a90 vmov r3, s15 8030850: 607b str r3, [r7, #4] memset(strT, 0, sizeof(strT)); 8030852: 2208 movs r2, #8 8030854: 2100 movs r1, #0 8030856: 4868 ldr r0, [pc, #416] ; (80309f8 ) 8030858: f0a1 fba4 bl 80d1fa4 if(f < 0) 803085c: edd7 7a05 vldr s15, [r7, #20] 8030860: eef5 7ac0 vcmpe.f32 s15, #0.0 8030864: eef1 fa10 vmrs APSR_nzcv, fpscr 8030868: f140 80ce bpl.w 8030a08 { if(absf < 10.0f) 803086c: edd7 7a04 vldr s15, [r7, #16] 8030870: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8030874: eef4 7ac7 vcmpe.f32 s15, s14 8030878: eef1 fa10 vmrs APSR_nzcv, fpscr 803087c: d53f bpl.n 80308fe { strT[0] = ' '; 803087e: 4b5e ldr r3, [pc, #376] ; (80309f8 ) 8030880: 2220 movs r2, #32 8030882: 701a strb r2, [r3, #0] strT[1] = ' '; 8030884: 4b5c ldr r3, [pc, #368] ; (80309f8 ) 8030886: 2220 movs r2, #32 8030888: 705a strb r2, [r3, #1] strT[2] = '-'; 803088a: 4b5b ldr r3, [pc, #364] ; (80309f8 ) 803088c: 222d movs r2, #45 ; 0x2d 803088e: 709a strb r2, [r3, #2] strT[3] = (char) ((v / 100) + 48); 8030890: 687b ldr r3, [r7, #4] 8030892: 4a5a ldr r2, [pc, #360] ; (80309fc ) 8030894: fba2 2303 umull r2, r3, r2, r3 8030898: 095b lsrs r3, r3, #5 803089a: b2db uxtb r3, r3 803089c: 3330 adds r3, #48 ; 0x30 803089e: b2da uxtb r2, r3 80308a0: 4b55 ldr r3, [pc, #340] ; (80309f8 ) 80308a2: 70da strb r2, [r3, #3] strT[4] = '.'; 80308a4: 4b54 ldr r3, [pc, #336] ; (80309f8 ) 80308a6: 222e movs r2, #46 ; 0x2e 80308a8: 711a strb r2, [r3, #4] strT[5] = (char) (((v % 100) / 10) + 48); 80308aa: 687a ldr r2, [r7, #4] 80308ac: 4b53 ldr r3, [pc, #332] ; (80309fc ) 80308ae: fba3 1302 umull r1, r3, r3, r2 80308b2: 095b lsrs r3, r3, #5 80308b4: 2164 movs r1, #100 ; 0x64 80308b6: fb01 f303 mul.w r3, r1, r3 80308ba: 1ad3 subs r3, r2, r3 80308bc: 4a50 ldr r2, [pc, #320] ; (8030a00 ) 80308be: fba2 2303 umull r2, r3, r2, r3 80308c2: 08db lsrs r3, r3, #3 80308c4: b2db uxtb r3, r3 80308c6: 3330 adds r3, #48 ; 0x30 80308c8: b2da uxtb r2, r3 80308ca: 4b4b ldr r3, [pc, #300] ; (80309f8 ) 80308cc: 715a strb r2, [r3, #5] strT[6] = (char) (((v % 100) % 10) + 48); 80308ce: 687b ldr r3, [r7, #4] 80308d0: 4a4a ldr r2, [pc, #296] ; (80309fc ) 80308d2: fba2 1203 umull r1, r2, r2, r3 80308d6: 0952 lsrs r2, r2, #5 80308d8: 2164 movs r1, #100 ; 0x64 80308da: fb01 f202 mul.w r2, r1, r2 80308de: 1a9a subs r2, r3, r2 80308e0: 4b47 ldr r3, [pc, #284] ; (8030a00 ) 80308e2: fba3 1302 umull r1, r3, r3, r2 80308e6: 08d9 lsrs r1, r3, #3 80308e8: 460b mov r3, r1 80308ea: 009b lsls r3, r3, #2 80308ec: 440b add r3, r1 80308ee: 005b lsls r3, r3, #1 80308f0: 1ad1 subs r1, r2, r3 80308f2: b2cb uxtb r3, r1 80308f4: 3330 adds r3, #48 ; 0x30 80308f6: b2da uxtb r2, r3 80308f8: 4b3f ldr r3, [pc, #252] ; (80309f8 ) 80308fa: 719a strb r2, [r3, #6] } } } } } } 80308fc: e1ce b.n 8030c9c if(absf < 100.0f) 80308fe: edd7 7a04 vldr s15, [r7, #16] 8030902: ed9f 7a3c vldr s14, [pc, #240] ; 80309f4 8030906: eef4 7ac7 vcmpe.f32 s15, s14 803090a: eef1 fa10 vmrs APSR_nzcv, fpscr 803090e: d400 bmi.n 8030912 } 8030910: e1c4 b.n 8030c9c strT[0] = ' '; 8030912: 4b39 ldr r3, [pc, #228] ; (80309f8 ) 8030914: 2220 movs r2, #32 8030916: 701a strb r2, [r3, #0] strT[1] = '-'; 8030918: 4b37 ldr r3, [pc, #220] ; (80309f8 ) 803091a: 222d movs r2, #45 ; 0x2d 803091c: 705a strb r2, [r3, #1] strT[2] = (char) ((v / 1000) + 48); 803091e: 687b ldr r3, [r7, #4] 8030920: 4a38 ldr r2, [pc, #224] ; (8030a04 ) 8030922: fba2 2303 umull r2, r3, r2, r3 8030926: 099b lsrs r3, r3, #6 8030928: b2db uxtb r3, r3 803092a: 3330 adds r3, #48 ; 0x30 803092c: b2da uxtb r2, r3 803092e: 4b32 ldr r3, [pc, #200] ; (80309f8 ) 8030930: 709a strb r2, [r3, #2] strT[3] = (char) ((v % 1000 / 100) + 48); 8030932: 687a ldr r2, [r7, #4] 8030934: 4b33 ldr r3, [pc, #204] ; (8030a04 ) 8030936: fba3 1302 umull r1, r3, r3, r2 803093a: 099b lsrs r3, r3, #6 803093c: f44f 717a mov.w r1, #1000 ; 0x3e8 8030940: fb01 f303 mul.w r3, r1, r3 8030944: 1ad3 subs r3, r2, r3 8030946: 4a2d ldr r2, [pc, #180] ; (80309fc ) 8030948: fba2 2303 umull r2, r3, r2, r3 803094c: 095b lsrs r3, r3, #5 803094e: b2db uxtb r3, r3 8030950: 3330 adds r3, #48 ; 0x30 8030952: b2da uxtb r2, r3 8030954: 4b28 ldr r3, [pc, #160] ; (80309f8 ) 8030956: 70da strb r2, [r3, #3] strT[4] = '.'; 8030958: 4b27 ldr r3, [pc, #156] ; (80309f8 ) 803095a: 222e movs r2, #46 ; 0x2e 803095c: 711a strb r2, [r3, #4] strT[5] = (char) ((v % 1000 % 100 / 10) + 48); 803095e: 687a ldr r2, [r7, #4] 8030960: 4b28 ldr r3, [pc, #160] ; (8030a04 ) 8030962: fba3 1302 umull r1, r3, r3, r2 8030966: 099b lsrs r3, r3, #6 8030968: f44f 717a mov.w r1, #1000 ; 0x3e8 803096c: fb01 f303 mul.w r3, r1, r3 8030970: 1ad3 subs r3, r2, r3 8030972: 4a22 ldr r2, [pc, #136] ; (80309fc ) 8030974: fba2 1203 umull r1, r2, r2, r3 8030978: 0952 lsrs r2, r2, #5 803097a: 2164 movs r1, #100 ; 0x64 803097c: fb01 f202 mul.w r2, r1, r2 8030980: 1a9a subs r2, r3, r2 8030982: 4b1f ldr r3, [pc, #124] ; (8030a00 ) 8030984: fba3 2302 umull r2, r3, r3, r2 8030988: 08db lsrs r3, r3, #3 803098a: b2db uxtb r3, r3 803098c: 3330 adds r3, #48 ; 0x30 803098e: b2da uxtb r2, r3 8030990: 4b19 ldr r3, [pc, #100] ; (80309f8 ) 8030992: 715a strb r2, [r3, #5] strT[6] = (char) ((v % 1000 % 100 % 10) + 48); 8030994: 687a ldr r2, [r7, #4] 8030996: 4b1b ldr r3, [pc, #108] ; (8030a04 ) 8030998: fba3 1302 umull r1, r3, r3, r2 803099c: 099b lsrs r3, r3, #6 803099e: f44f 717a mov.w r1, #1000 ; 0x3e8 80309a2: fb01 f303 mul.w r3, r1, r3 80309a6: 1ad3 subs r3, r2, r3 80309a8: 4a14 ldr r2, [pc, #80] ; (80309fc ) 80309aa: fba2 1203 umull r1, r2, r2, r3 80309ae: 0952 lsrs r2, r2, #5 80309b0: 2164 movs r1, #100 ; 0x64 80309b2: fb01 f202 mul.w r2, r1, r2 80309b6: 1a9a subs r2, r3, r2 80309b8: 4b11 ldr r3, [pc, #68] ; (8030a00 ) 80309ba: fba3 1302 umull r1, r3, r3, r2 80309be: 08d9 lsrs r1, r3, #3 80309c0: 460b mov r3, r1 80309c2: 009b lsls r3, r3, #2 80309c4: 440b add r3, r1 80309c6: 005b lsls r3, r3, #1 80309c8: 1ad1 subs r1, r2, r3 80309ca: b2cb uxtb r3, r1 80309cc: 3330 adds r3, #48 ; 0x30 80309ce: b2da uxtb r2, r3 80309d0: 4b09 ldr r3, [pc, #36] ; (80309f8 ) 80309d2: 719a strb r2, [r3, #6] } 80309d4: e162 b.n 8030c9c 80309d6: bf00 nop 80309d8: 20020f85 .word 0x20020f85 80309dc: 2002591c .word 0x2002591c 80309e0: 20020f88 .word 0x20020f88 80309e4: 20020f8c .word 0x20020f8c 80309e8: 20025910 .word 0x20025910 80309ec: 3ca3d70a .word 0x3ca3d70a 80309f0: 43889333 .word 0x43889333 80309f4: 42c80000 .word 0x42c80000 80309f8: 20025914 .word 0x20025914 80309fc: 51eb851f .word 0x51eb851f 8030a00: cccccccd .word 0xcccccccd 8030a04: 10624dd3 .word 0x10624dd3 if(absf < 10.0f) 8030a08: edd7 7a04 vldr s15, [r7, #16] 8030a0c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8030a10: eef4 7ac7 vcmpe.f32 s15, s14 8030a14: eef1 fa10 vmrs APSR_nzcv, fpscr 8030a18: d53f bpl.n 8030a9a strT[0] = ' '; 8030a1a: 4ba2 ldr r3, [pc, #648] ; (8030ca4 ) 8030a1c: 2220 movs r2, #32 8030a1e: 701a strb r2, [r3, #0] strT[1] = ' '; 8030a20: 4ba0 ldr r3, [pc, #640] ; (8030ca4 ) 8030a22: 2220 movs r2, #32 8030a24: 705a strb r2, [r3, #1] strT[2] = ' '; 8030a26: 4b9f ldr r3, [pc, #636] ; (8030ca4 ) 8030a28: 2220 movs r2, #32 8030a2a: 709a strb r2, [r3, #2] strT[3] = (char) ((v / 100) + 48); 8030a2c: 687b ldr r3, [r7, #4] 8030a2e: 4a9e ldr r2, [pc, #632] ; (8030ca8 ) 8030a30: fba2 2303 umull r2, r3, r2, r3 8030a34: 095b lsrs r3, r3, #5 8030a36: b2db uxtb r3, r3 8030a38: 3330 adds r3, #48 ; 0x30 8030a3a: b2da uxtb r2, r3 8030a3c: 4b99 ldr r3, [pc, #612] ; (8030ca4 ) 8030a3e: 70da strb r2, [r3, #3] strT[4] = '.'; 8030a40: 4b98 ldr r3, [pc, #608] ; (8030ca4 ) 8030a42: 222e movs r2, #46 ; 0x2e 8030a44: 711a strb r2, [r3, #4] strT[5] = (char) (((v % 100) / 10) + 48); 8030a46: 687a ldr r2, [r7, #4] 8030a48: 4b97 ldr r3, [pc, #604] ; (8030ca8 ) 8030a4a: fba3 1302 umull r1, r3, r3, r2 8030a4e: 095b lsrs r3, r3, #5 8030a50: 2164 movs r1, #100 ; 0x64 8030a52: fb01 f303 mul.w r3, r1, r3 8030a56: 1ad3 subs r3, r2, r3 8030a58: 4a94 ldr r2, [pc, #592] ; (8030cac ) 8030a5a: fba2 2303 umull r2, r3, r2, r3 8030a5e: 08db lsrs r3, r3, #3 8030a60: b2db uxtb r3, r3 8030a62: 3330 adds r3, #48 ; 0x30 8030a64: b2da uxtb r2, r3 8030a66: 4b8f ldr r3, [pc, #572] ; (8030ca4 ) 8030a68: 715a strb r2, [r3, #5] strT[6] = (char) (((v % 100) % 10) + 48); 8030a6a: 687b ldr r3, [r7, #4] 8030a6c: 4a8e ldr r2, [pc, #568] ; (8030ca8 ) 8030a6e: fba2 1203 umull r1, r2, r2, r3 8030a72: 0952 lsrs r2, r2, #5 8030a74: 2164 movs r1, #100 ; 0x64 8030a76: fb01 f202 mul.w r2, r1, r2 8030a7a: 1a9a subs r2, r3, r2 8030a7c: 4b8b ldr r3, [pc, #556] ; (8030cac ) 8030a7e: fba3 1302 umull r1, r3, r3, r2 8030a82: 08d9 lsrs r1, r3, #3 8030a84: 460b mov r3, r1 8030a86: 009b lsls r3, r3, #2 8030a88: 440b add r3, r1 8030a8a: 005b lsls r3, r3, #1 8030a8c: 1ad1 subs r1, r2, r3 8030a8e: b2cb uxtb r3, r1 8030a90: 3330 adds r3, #48 ; 0x30 8030a92: b2da uxtb r2, r3 8030a94: 4b83 ldr r3, [pc, #524] ; (8030ca4 ) 8030a96: 719a strb r2, [r3, #6] } 8030a98: e100 b.n 8030c9c if(absf < 100.0f) 8030a9a: edd7 7a04 vldr s15, [r7, #16] 8030a9e: ed9f 7a84 vldr s14, [pc, #528] ; 8030cb0 8030aa2: eef4 7ac7 vcmpe.f32 s15, s14 8030aa6: eef1 fa10 vmrs APSR_nzcv, fpscr 8030aaa: d561 bpl.n 8030b70 strT[0] = ' '; 8030aac: 4b7d ldr r3, [pc, #500] ; (8030ca4 ) 8030aae: 2220 movs r2, #32 8030ab0: 701a strb r2, [r3, #0] strT[1] = ' '; 8030ab2: 4b7c ldr r3, [pc, #496] ; (8030ca4 ) 8030ab4: 2220 movs r2, #32 8030ab6: 705a strb r2, [r3, #1] strT[2] = (char) ((v / 1000) + 48); 8030ab8: 687b ldr r3, [r7, #4] 8030aba: 4a7e ldr r2, [pc, #504] ; (8030cb4 ) 8030abc: fba2 2303 umull r2, r3, r2, r3 8030ac0: 099b lsrs r3, r3, #6 8030ac2: b2db uxtb r3, r3 8030ac4: 3330 adds r3, #48 ; 0x30 8030ac6: b2da uxtb r2, r3 8030ac8: 4b76 ldr r3, [pc, #472] ; (8030ca4 ) 8030aca: 709a strb r2, [r3, #2] strT[3] = (char) ((v % 1000 / 100) + 48); 8030acc: 687a ldr r2, [r7, #4] 8030ace: 4b79 ldr r3, [pc, #484] ; (8030cb4 ) 8030ad0: fba3 1302 umull r1, r3, r3, r2 8030ad4: 099b lsrs r3, r3, #6 8030ad6: f44f 717a mov.w r1, #1000 ; 0x3e8 8030ada: fb01 f303 mul.w r3, r1, r3 8030ade: 1ad3 subs r3, r2, r3 8030ae0: 4a71 ldr r2, [pc, #452] ; (8030ca8 ) 8030ae2: fba2 2303 umull r2, r3, r2, r3 8030ae6: 095b lsrs r3, r3, #5 8030ae8: b2db uxtb r3, r3 8030aea: 3330 adds r3, #48 ; 0x30 8030aec: b2da uxtb r2, r3 8030aee: 4b6d ldr r3, [pc, #436] ; (8030ca4 ) 8030af0: 70da strb r2, [r3, #3] strT[4] = '.'; 8030af2: 4b6c ldr r3, [pc, #432] ; (8030ca4 ) 8030af4: 222e movs r2, #46 ; 0x2e 8030af6: 711a strb r2, [r3, #4] strT[5] = (char) ((v % 1000 % 100 / 10) + 48); 8030af8: 687a ldr r2, [r7, #4] 8030afa: 4b6e ldr r3, [pc, #440] ; (8030cb4 ) 8030afc: fba3 1302 umull r1, r3, r3, r2 8030b00: 099b lsrs r3, r3, #6 8030b02: f44f 717a mov.w r1, #1000 ; 0x3e8 8030b06: fb01 f303 mul.w r3, r1, r3 8030b0a: 1ad3 subs r3, r2, r3 8030b0c: 4a66 ldr r2, [pc, #408] ; (8030ca8 ) 8030b0e: fba2 1203 umull r1, r2, r2, r3 8030b12: 0952 lsrs r2, r2, #5 8030b14: 2164 movs r1, #100 ; 0x64 8030b16: fb01 f202 mul.w r2, r1, r2 8030b1a: 1a9a subs r2, r3, r2 8030b1c: 4b63 ldr r3, [pc, #396] ; (8030cac ) 8030b1e: fba3 2302 umull r2, r3, r3, r2 8030b22: 08db lsrs r3, r3, #3 8030b24: b2db uxtb r3, r3 8030b26: 3330 adds r3, #48 ; 0x30 8030b28: b2da uxtb r2, r3 8030b2a: 4b5e ldr r3, [pc, #376] ; (8030ca4 ) 8030b2c: 715a strb r2, [r3, #5] strT[6] = (char) ((v % 1000 % 100 % 10) + 48); 8030b2e: 687a ldr r2, [r7, #4] 8030b30: 4b60 ldr r3, [pc, #384] ; (8030cb4 ) 8030b32: fba3 1302 umull r1, r3, r3, r2 8030b36: 099b lsrs r3, r3, #6 8030b38: f44f 717a mov.w r1, #1000 ; 0x3e8 8030b3c: fb01 f303 mul.w r3, r1, r3 8030b40: 1ad3 subs r3, r2, r3 8030b42: 4a59 ldr r2, [pc, #356] ; (8030ca8 ) 8030b44: fba2 1203 umull r1, r2, r2, r3 8030b48: 0952 lsrs r2, r2, #5 8030b4a: 2164 movs r1, #100 ; 0x64 8030b4c: fb01 f202 mul.w r2, r1, r2 8030b50: 1a9a subs r2, r3, r2 8030b52: 4b56 ldr r3, [pc, #344] ; (8030cac ) 8030b54: fba3 1302 umull r1, r3, r3, r2 8030b58: 08d9 lsrs r1, r3, #3 8030b5a: 460b mov r3, r1 8030b5c: 009b lsls r3, r3, #2 8030b5e: 440b add r3, r1 8030b60: 005b lsls r3, r3, #1 8030b62: 1ad1 subs r1, r2, r3 8030b64: b2cb uxtb r3, r1 8030b66: 3330 adds r3, #48 ; 0x30 8030b68: b2da uxtb r2, r3 8030b6a: 4b4e ldr r3, [pc, #312] ; (8030ca4 ) 8030b6c: 719a strb r2, [r3, #6] } 8030b6e: e095 b.n 8030c9c if(absf < 1000.0f) 8030b70: edd7 7a04 vldr s15, [r7, #16] 8030b74: ed9f 7a50 vldr s14, [pc, #320] ; 8030cb8 8030b78: eef4 7ac7 vcmpe.f32 s15, s14 8030b7c: eef1 fa10 vmrs APSR_nzcv, fpscr 8030b80: d400 bmi.n 8030b84 } 8030b82: e08b b.n 8030c9c strT[0] = ' '; 8030b84: 4b47 ldr r3, [pc, #284] ; (8030ca4 ) 8030b86: 2220 movs r2, #32 8030b88: 701a strb r2, [r3, #0] strT[1] = (char) ((v / 10000) + 48); 8030b8a: 687b ldr r3, [r7, #4] 8030b8c: 4a4b ldr r2, [pc, #300] ; (8030cbc ) 8030b8e: fba2 2303 umull r2, r3, r2, r3 8030b92: 0b5b lsrs r3, r3, #13 8030b94: b2db uxtb r3, r3 8030b96: 3330 adds r3, #48 ; 0x30 8030b98: b2da uxtb r2, r3 8030b9a: 4b42 ldr r3, [pc, #264] ; (8030ca4 ) 8030b9c: 705a strb r2, [r3, #1] strT[2] = (char) ((v % 10000 / 1000) + 48); 8030b9e: 687a ldr r2, [r7, #4] 8030ba0: 4b46 ldr r3, [pc, #280] ; (8030cbc ) 8030ba2: fba3 1302 umull r1, r3, r3, r2 8030ba6: 0b5b lsrs r3, r3, #13 8030ba8: f242 7110 movw r1, #10000 ; 0x2710 8030bac: fb01 f303 mul.w r3, r1, r3 8030bb0: 1ad3 subs r3, r2, r3 8030bb2: 4a40 ldr r2, [pc, #256] ; (8030cb4 ) 8030bb4: fba2 2303 umull r2, r3, r2, r3 8030bb8: 099b lsrs r3, r3, #6 8030bba: b2db uxtb r3, r3 8030bbc: 3330 adds r3, #48 ; 0x30 8030bbe: b2da uxtb r2, r3 8030bc0: 4b38 ldr r3, [pc, #224] ; (8030ca4 ) 8030bc2: 709a strb r2, [r3, #2] strT[3] = (char) ((v % 10000 % 1000 / 100) + 48); 8030bc4: 687a ldr r2, [r7, #4] 8030bc6: 4b3d ldr r3, [pc, #244] ; (8030cbc ) 8030bc8: fba3 1302 umull r1, r3, r3, r2 8030bcc: 0b5b lsrs r3, r3, #13 8030bce: f242 7110 movw r1, #10000 ; 0x2710 8030bd2: fb01 f303 mul.w r3, r1, r3 8030bd6: 1ad3 subs r3, r2, r3 8030bd8: 4a36 ldr r2, [pc, #216] ; (8030cb4 ) 8030bda: fba2 1203 umull r1, r2, r2, r3 8030bde: 0992 lsrs r2, r2, #6 8030be0: f44f 717a mov.w r1, #1000 ; 0x3e8 8030be4: fb01 f202 mul.w r2, r1, r2 8030be8: 1a9a subs r2, r3, r2 8030bea: 4b2f ldr r3, [pc, #188] ; (8030ca8 ) 8030bec: fba3 2302 umull r2, r3, r3, r2 8030bf0: 095b lsrs r3, r3, #5 8030bf2: b2db uxtb r3, r3 8030bf4: 3330 adds r3, #48 ; 0x30 8030bf6: b2da uxtb r2, r3 8030bf8: 4b2a ldr r3, [pc, #168] ; (8030ca4 ) 8030bfa: 70da strb r2, [r3, #3] strT[4] = '.'; 8030bfc: 4b29 ldr r3, [pc, #164] ; (8030ca4 ) 8030bfe: 222e movs r2, #46 ; 0x2e 8030c00: 711a strb r2, [r3, #4] strT[5] = (char) ((v % 10000 % 1000 % 100 / 10) + 48); 8030c02: 687b ldr r3, [r7, #4] 8030c04: 4a2d ldr r2, [pc, #180] ; (8030cbc ) 8030c06: fba2 1203 umull r1, r2, r2, r3 8030c0a: 0b52 lsrs r2, r2, #13 8030c0c: f242 7110 movw r1, #10000 ; 0x2710 8030c10: fb01 f202 mul.w r2, r1, r2 8030c14: 1a9a subs r2, r3, r2 8030c16: 4b27 ldr r3, [pc, #156] ; (8030cb4 ) 8030c18: fba3 1302 umull r1, r3, r3, r2 8030c1c: 099b lsrs r3, r3, #6 8030c1e: f44f 717a mov.w r1, #1000 ; 0x3e8 8030c22: fb01 f303 mul.w r3, r1, r3 8030c26: 1ad3 subs r3, r2, r3 8030c28: 4a1f ldr r2, [pc, #124] ; (8030ca8 ) 8030c2a: fba2 1203 umull r1, r2, r2, r3 8030c2e: 0952 lsrs r2, r2, #5 8030c30: 2164 movs r1, #100 ; 0x64 8030c32: fb01 f202 mul.w r2, r1, r2 8030c36: 1a9a subs r2, r3, r2 8030c38: 4b1c ldr r3, [pc, #112] ; (8030cac ) 8030c3a: fba3 2302 umull r2, r3, r3, r2 8030c3e: 08db lsrs r3, r3, #3 8030c40: b2db uxtb r3, r3 8030c42: 3330 adds r3, #48 ; 0x30 8030c44: b2da uxtb r2, r3 8030c46: 4b17 ldr r3, [pc, #92] ; (8030ca4 ) 8030c48: 715a strb r2, [r3, #5] strT[6] = (char) ((v % 10000 % 1000 % 100 % 10) + 48); 8030c4a: 687b ldr r3, [r7, #4] 8030c4c: 4a1b ldr r2, [pc, #108] ; (8030cbc ) 8030c4e: fba2 1203 umull r1, r2, r2, r3 8030c52: 0b52 lsrs r2, r2, #13 8030c54: f242 7110 movw r1, #10000 ; 0x2710 8030c58: fb01 f202 mul.w r2, r1, r2 8030c5c: 1a9a subs r2, r3, r2 8030c5e: 4b15 ldr r3, [pc, #84] ; (8030cb4 ) 8030c60: fba3 1302 umull r1, r3, r3, r2 8030c64: 099b lsrs r3, r3, #6 8030c66: f44f 717a mov.w r1, #1000 ; 0x3e8 8030c6a: fb01 f303 mul.w r3, r1, r3 8030c6e: 1ad3 subs r3, r2, r3 8030c70: 4a0d ldr r2, [pc, #52] ; (8030ca8 ) 8030c72: fba2 1203 umull r1, r2, r2, r3 8030c76: 0952 lsrs r2, r2, #5 8030c78: 2164 movs r1, #100 ; 0x64 8030c7a: fb01 f202 mul.w r2, r1, r2 8030c7e: 1a9a subs r2, r3, r2 8030c80: 4b0a ldr r3, [pc, #40] ; (8030cac ) 8030c82: fba3 1302 umull r1, r3, r3, r2 8030c86: 08d9 lsrs r1, r3, #3 8030c88: 460b mov r3, r1 8030c8a: 009b lsls r3, r3, #2 8030c8c: 440b add r3, r1 8030c8e: 005b lsls r3, r3, #1 8030c90: 1ad1 subs r1, r2, r3 8030c92: b2cb uxtb r3, r1 8030c94: 3330 adds r3, #48 ; 0x30 8030c96: b2da uxtb r2, r3 8030c98: 4b02 ldr r3, [pc, #8] ; (8030ca4 ) 8030c9a: 719a strb r2, [r3, #6] } 8030c9c: bf00 nop 8030c9e: 3718 adds r7, #24 8030ca0: 46bd mov sp, r7 8030ca2: bd80 pop {r7, pc} 8030ca4: 20025914 .word 0x20025914 8030ca8: 51eb851f .word 0x51eb851f 8030cac: cccccccd .word 0xcccccccd 8030cb0: 42c80000 .word 0x42c80000 8030cb4: 10624dd3 .word 0x10624dd3 8030cb8: 447a0000 .word 0x447a0000 8030cbc: d1b71759 .word 0xd1b71759 08030cc0 : void HAL_SMBUS_MasterTxCpltCallback(SMBUS_HandleTypeDef *hsmbus) { 8030cc0: b480 push {r7} 8030cc2: b083 sub sp, #12 8030cc4: af00 add r7, sp, #0 8030cc6: 6078 str r0, [r7, #4] I2C_Transmitted = 1; 8030cc8: 4b04 ldr r3, [pc, #16] ; (8030cdc ) 8030cca: 2201 movs r2, #1 8030ccc: 601a str r2, [r3, #0] } 8030cce: bf00 nop 8030cd0: 370c adds r7, #12 8030cd2: 46bd mov sp, r7 8030cd4: f85d 7b04 ldr.w r7, [sp], #4 8030cd8: 4770 bx lr 8030cda: bf00 nop 8030cdc: 20020f88 .word 0x20020f88 08030ce0 : void HAL_SMBUS_MasterRxCpltCallback(SMBUS_HandleTypeDef *hsmbus) { 8030ce0: b480 push {r7} 8030ce2: b083 sub sp, #12 8030ce4: af00 add r7, sp, #0 8030ce6: 6078 str r0, [r7, #4] I2C_Received = 1; 8030ce8: 4b04 ldr r3, [pc, #16] ; (8030cfc ) 8030cea: 2201 movs r2, #1 8030cec: 601a str r2, [r3, #0] } 8030cee: bf00 nop 8030cf0: 370c adds r7, #12 8030cf2: 46bd mov sp, r7 8030cf4: f85d 7b04 ldr.w r7, [sp], #4 8030cf8: 4770 bx lr 8030cfa: bf00 nop 8030cfc: 20020f8c .word 0x20020f8c 08030d00 : //--------------------------------------------------------------------------- // 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) { 8030d00: b590 push {r4, r7, lr} 8030d02: f2ad 6da4 subw sp, sp, #1700 ; 0x6a4 8030d06: af00 add r7, sp, #0 8030d08: f507 7403 add.w r4, r7, #524 ; 0x20c 8030d0c: 6020 str r0, [r4, #0] 8030d0e: 4608 mov r0, r1 8030d10: f507 7100 add.w r1, r7, #512 ; 0x200 8030d14: ed81 0b00 vstr d0, [r1] 8030d18: 4611 mov r1, r2 8030d1a: f507 72fe add.w r2, r7, #508 ; 0x1fc 8030d1e: 6013 str r3, [r2, #0] 8030d20: f507 73f8 add.w r3, r7, #496 ; 0x1f0 8030d24: ed83 1b00 vstr d1, [r3] 8030d28: f507 73f4 add.w r3, r7, #488 ; 0x1e8 8030d2c: ed83 2b00 vstr d2, [r3] 8030d30: f207 230b addw r3, r7, #523 ; 0x20b 8030d34: 4602 mov r2, r0 8030d36: 701a strb r2, [r3, #0] 8030d38: f207 230a addw r3, r7, #522 ; 0x20a 8030d3c: 460a mov r2, r1 8030d3e: 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)); 8030d40: f507 73f8 add.w r3, r7, #496 ; 0x1f0 8030d44: ed93 7b00 vldr d7, [r3] 8030d48: ee37 5b07 vadd.f64 d5, d7, d7 8030d4c: 4b92 ldr r3, [pc, #584] ; (8030f98 ) 8030d4e: 681b ldr r3, [r3, #0] 8030d50: ee07 3a90 vmov s15, r3 8030d54: eeb8 6b67 vcvt.f64.u32 d6, s15 8030d58: ee85 7b06 vdiv.f64 d7, d5, d6 8030d5c: f507 63d0 add.w r3, r7, #1664 ; 0x680 8030d60: 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; 8030d6c: 4a8b ldr r2, [pc, #556] ; (8030f9c ) 8030d6e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030d72: 00db lsls r3, r3, #3 8030d74: 441a add r2, r3 8030d76: f04f 0300 mov.w r3, #0 8030d7a: f04f 0400 mov.w r4, #0 8030d7e: e882 0018 stmia.w r2, {r3, r4} 8030d82: 4a86 ldr r2, [pc, #536] ; (8030f9c ) 8030d84: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030d88: 3332 adds r3, #50 ; 0x32 8030d8a: 00db lsls r3, r3, #3 8030d8c: 441a add r2, r3 8030d8e: f04f 0300 mov.w r3, #0 8030d92: f04f 0400 mov.w r4, #0 8030d96: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = 0.0; IIR.b1[j] = 0.0; 8030d9a: 4a80 ldr r2, [pc, #512] ; (8030f9c ) 8030d9c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030da0: 330a adds r3, #10 8030da2: 00db lsls r3, r3, #3 8030da4: 441a add r2, r3 8030da6: f04f 0300 mov.w r3, #0 8030daa: f04f 0400 mov.w r4, #0 8030dae: e882 0018 stmia.w r2, {r3, r4} 8030db2: 4a7a ldr r2, [pc, #488] ; (8030f9c ) 8030db4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030db8: 333c adds r3, #60 ; 0x3c 8030dba: 00db lsls r3, r3, #3 8030dbc: 441a add r2, r3 8030dbe: f04f 0300 mov.w r3, #0 8030dc2: f04f 0400 mov.w r4, #0 8030dc6: e882 0018 stmia.w r2, {r3, r4} IIR.a2[j] = 0.0; IIR.b2[j] = 0.0; 8030dca: 4a74 ldr r2, [pc, #464] ; (8030f9c ) 8030dcc: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030dd0: 3314 adds r3, #20 8030dd2: 00db lsls r3, r3, #3 8030dd4: 441a add r2, r3 8030dd6: f04f 0300 mov.w r3, #0 8030dda: f04f 0400 mov.w r4, #0 8030dde: e882 0018 stmia.w r2, {r3, r4} 8030de2: 4a6e ldr r2, [pc, #440] ; (8030f9c ) 8030de4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030de8: 3346 adds r3, #70 ; 0x46 8030dea: 00db lsls r3, r3, #3 8030dec: 441a add r2, r3 8030dee: f04f 0300 mov.w r3, #0 8030df2: f04f 0400 mov.w r4, #0 8030df6: e882 0018 stmia.w r2, {r3, r4} IIR.a3[j] = 0.0; IIR.b3[j] = 0.0; 8030dfa: 4a68 ldr r2, [pc, #416] ; (8030f9c ) 8030dfc: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030e00: 331e adds r3, #30 8030e02: 00db lsls r3, r3, #3 8030e04: 441a add r2, r3 8030e06: f04f 0300 mov.w r3, #0 8030e0a: f04f 0400 mov.w r4, #0 8030e0e: e882 0018 stmia.w r2, {r3, r4} 8030e12: 4a62 ldr r2, [pc, #392] ; (8030f9c ) 8030e14: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030e18: 3350 adds r3, #80 ; 0x50 8030e1a: 00db lsls r3, r3, #3 8030e1c: 441a add r2, r3 8030e1e: f04f 0300 mov.w r3, #0 8030e22: f04f 0400 mov.w r4, #0 8030e26: e882 0018 stmia.w r2, {r3, r4} IIR.a4[j] = 0.0; IIR.b4[j] = 0.0; 8030e2a: 4a5c ldr r2, [pc, #368] ; (8030f9c ) 8030e2c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030e30: 3328 adds r3, #40 ; 0x28 8030e32: 00db lsls r3, r3, #3 8030e34: 441a add r2, r3 8030e36: f04f 0300 mov.w r3, #0 8030e3a: f04f 0400 mov.w r4, #0 8030e3e: e882 0018 stmia.w r2, {r3, r4} 8030e42: 4a56 ldr r2, [pc, #344] ; (8030f9c ) 8030e44: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030e48: 335a adds r3, #90 ; 0x5a 8030e4a: 00db lsls r3, r3, #3 8030e4c: 441a add r2, r3 8030e4e: f04f 0300 mov.w r3, #0 8030e52: f04f 0400 mov.w r4, #0 8030e56: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } IIR.NumSections = 0; 8030e6e: 4b4b ldr r3, [pc, #300] ; (8030f9c ) 8030e70: 2200 movs r2, #0 8030e72: 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); 8030e76: f507 7404 add.w r4, r7, #528 ; 0x210 8030e7a: 4638 mov r0, r7 8030e7c: f507 7200 add.w r2, r7, #512 ; 0x200 8030e80: f507 73fe add.w r3, r7, #508 ; 0x1fc 8030e84: f207 210b addw r1, r7, #523 ; 0x20b 8030e88: 7809 ldrb r1, [r1, #0] 8030e8a: ed92 0b00 vldr d0, [r2] 8030e8e: 681a ldr r2, [r3, #0] 8030e90: f003 fb32 bl 80344f8 8030e94: 463b mov r3, r7 8030e96: 4620 mov r0, r4 8030e98: 4619 mov r1, r3 8030e9a: f44f 73f4 mov.w r3, #488 ; 0x1e8 8030e9e: 461a mov r2, r3 8030ea0: f0a1 f875 bl 80d1f8e IIR.NumSections = SPlaneCoeff.NumSections; // NumSections = (NumPoles + 1)/2 8030ea4: f507 7304 add.w r3, r7, #528 ; 0x210 8030ea8: f8d3 31e0 ldr.w r3, [r3, #480] ; 0x1e0 8030eac: 4a3b ldr r2, [pc, #236] ; (8030f9c ) 8030eae: 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); 8030eb2: f507 63d0 add.w r3, r7, #1664 ; 0x680 8030eb6: ed93 7b00 vldr d7, [r3] 8030eba: ed9f 6b2f vldr d6, [pc, #188] ; 8030f78 8030ebe: ee27 7b06 vmul.f64 d7, d7, d6 8030ec2: eeb0 0b47 vmov.f64 d0, d7 8030ec6: f09e fe0b bl 80cfae0 8030eca: eeb0 7b40 vmov.f64 d7, d0 8030ece: ee37 7b07 vadd.f64 d7, d7, d7 8030ed2: f507 63cf add.w r3, r7, #1656 ; 0x678 8030ed6: ed83 7b00 vstr d7, [r3] Q = 1.0 + OmegaC; 8030eda: f507 63d0 add.w r3, r7, #1664 ; 0x680 8030ede: ed93 7b00 vldr d7, [r3] 8030ee2: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 8030ee6: ee37 7b06 vadd.f64 d7, d7, d6 8030eea: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030eee: ed83 7b00 vstr d7, [r3] if(Q > 1.95)Q = 1.95; 8030ef2: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030ef6: ed93 7b00 vldr d7, [r3] 8030efa: ed9f 6b21 vldr d6, [pc, #132] ; 8030f80 8030efe: eeb4 7bc6 vcmpe.f64 d7, d6 8030f02: eef1 fa10 vmrs APSR_nzcv, fpscr 8030f06: dd05 ble.n 8030f14 8030f08: a41d add r4, pc, #116 ; (adr r4, 8030f80 ) 8030f0a: cc18 ldmia r4, {r3, r4} 8030f0c: f507 62d1 add.w r2, r7, #1672 ; 0x688 8030f10: 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. 8030f14: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030f18: ed93 7b00 vldr d7, [r3] 8030f1c: ed9f 6b1a vldr d6, [pc, #104] ; 8030f88 8030f20: ee27 7b06 vmul.f64 d7, d7, d6 8030f24: eeb0 0b47 vmov.f64 d0, d7 8030f28: f09e fdda bl 80cfae0 8030f2c: eeb0 6b40 vmov.f64 d6, d0 8030f30: ed9f 7b17 vldr d7, [pc, #92] ; 8030f90 8030f34: ee26 7b07 vmul.f64 d7, d6, d7 8030f38: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030f3c: ed83 7b00 vstr d7, [r3] Q = OmegaC / BW / Q; // This is the corrected Q. 8030f40: f507 73f4 add.w r3, r7, #488 ; 0x1e8 8030f44: f507 62d0 add.w r2, r7, #1664 ; 0x680 8030f48: ed92 6b00 vldr d6, [r2] 8030f4c: ed93 7b00 vldr d7, [r3] 8030f50: ee86 5b07 vdiv.f64 d5, d6, d7 8030f54: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030f58: ed93 6b00 vldr d6, [r3] 8030f5c: ee85 7b06 vdiv.f64 d7, d5, d6 8030f60: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030f64: ed83 7b00 vstr d7, [r3] k = 0; 8030f68: 2300 movs r3, #0 8030f6a: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 for(j=0; j 8030f78: 54442d18 .word 0x54442d18 8030f7c: 3ff921fb .word 0x3ff921fb 8030f80: 33333333 .word 0x33333333 8030f84: 3fff3333 .word 0x3fff3333 8030f88: 54442d18 .word 0x54442d18 8030f8c: 3fe921fb .word 0x3fe921fb 8030f90: 9999999a .word 0x9999999a 8030f94: 3fe99999 .word 0x3fe99999 8030f98: 20021d6c .word 0x20021d6c 8030f9c: 20025970 .word 0x20025970 { A = SPlaneCoeff.A[j]; // We use A - F to make the code easier to read. 8030fa0: f507 7204 add.w r2, r7, #528 ; 0x210 8030fa4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030fa8: 00db lsls r3, r3, #3 8030faa: 4413 add r3, r2 8030fac: cb18 ldmia r3, {r3, r4} 8030fae: f507 62ce add.w r2, r7, #1648 ; 0x670 8030fb2: e882 0018 stmia.w r2, {r3, r4} B = SPlaneCoeff.B[j]; 8030fb6: f507 7204 add.w r2, r7, #528 ; 0x210 8030fba: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030fbe: 330a adds r3, #10 8030fc0: 00db lsls r3, r3, #3 8030fc2: 4413 add r3, r2 8030fc4: cb18 ldmia r3, {r3, r4} 8030fc6: f507 62cd add.w r2, r7, #1640 ; 0x668 8030fca: e882 0018 stmia.w r2, {r3, r4} C = SPlaneCoeff.C[j]; 8030fce: f507 7204 add.w r2, r7, #528 ; 0x210 8030fd2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030fd6: 3314 adds r3, #20 8030fd8: 00db lsls r3, r3, #3 8030fda: 4413 add r3, r2 8030fdc: cb18 ldmia r3, {r3, r4} 8030fde: f507 62cc add.w r2, r7, #1632 ; 0x660 8030fe2: e882 0018 stmia.w r2, {r3, r4} D = SPlaneCoeff.D[j]; 8030fe6: f507 7204 add.w r2, r7, #528 ; 0x210 8030fea: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030fee: 331e adds r3, #30 8030ff0: 00db lsls r3, r3, #3 8030ff2: 4413 add r3, r2 8030ff4: cb18 ldmia r3, {r3, r4} 8030ff6: f507 62cb add.w r2, r7, #1624 ; 0x658 8030ffa: e882 0018 stmia.w r2, {r3, r4} E = SPlaneCoeff.E[j]; 8030ffe: f507 7204 add.w r2, r7, #528 ; 0x210 8031002: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031006: 3328 adds r3, #40 ; 0x28 8031008: 00db lsls r3, r3, #3 803100a: 4413 add r3, r2 803100c: cb18 ldmia r3, {r3, r4} 803100e: f507 62ca add.w r2, r7, #1616 ; 0x650 8031012: e882 0018 stmia.w r2, {r3, r4} F = SPlaneCoeff.F[j]; 8031016: f507 7204 add.w r2, r7, #528 ; 0x210 803101a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803101e: 3332 adds r3, #50 ; 0x32 8031020: 00db lsls r3, r3, #3 8031022: 4413 add r3, r2 8031024: cb18 ldmia r3, {r3, r4} 8031026: f507 62c9 add.w r2, r7, #1608 ; 0x648 803102a: e882 0018 stmia.w r2, {r3, r4} // b's are the numerator a's are the denominator if(PassType == iirLPF) 803102e: f207 230a addw r3, r7, #522 ; 0x20a 8031032: 781b ldrb r3, [r3, #0] 8031034: 2b00 cmp r3, #0 8031036: f040 821d bne.w 8031474 { if(A == 0.0 && D == 0.0) // 1 pole case 803103a: f507 63ce add.w r3, r7, #1648 ; 0x670 803103e: ed93 7b00 vldr d7, [r3] 8031042: eeb5 7b40 vcmp.f64 d7, #0.0 8031046: eef1 fa10 vmrs APSR_nzcv, fpscr 803104a: f040 80c3 bne.w 80311d4 803104e: f507 63cb add.w r3, r7, #1624 ; 0x658 8031052: ed93 7b00 vldr d7, [r3] 8031056: eeb5 7b40 vcmp.f64 d7, #0.0 803105a: eef1 fa10 vmrs APSR_nzcv, fpscr 803105e: f040 80b9 bne.w 80311d4 { Arg = (2.0*B + C*T); 8031062: f507 63cd add.w r3, r7, #1640 ; 0x668 8031066: ed93 7b00 vldr d7, [r3] 803106a: ee37 6b07 vadd.f64 d6, d7, d7 803106e: f507 63cc add.w r3, r7, #1632 ; 0x660 8031072: ed93 5b00 vldr d5, [r3] 8031076: f507 63cf add.w r3, r7, #1656 ; 0x678 803107a: ed93 7b00 vldr d7, [r3] 803107e: ee25 7b07 vmul.f64 d7, d5, d7 8031082: ee36 7b07 vadd.f64 d7, d6, d7 8031086: f507 63c8 add.w r3, r7, #1600 ; 0x640 803108a: ed83 7b00 vstr d7, [r3] IIR.a2[j] = 0.0; 803108e: 4a4f ldr r2, [pc, #316] ; (80311cc ) 8031090: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031094: 3314 adds r3, #20 8031096: 00db lsls r3, r3, #3 8031098: 441a add r2, r3 803109a: f04f 0300 mov.w r3, #0 803109e: f04f 0400 mov.w r4, #0 80310a2: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = (-2.0*B + C*T) / Arg; 80310a6: f507 63cd add.w r3, r7, #1640 ; 0x668 80310aa: ed93 7b00 vldr d7, [r3] 80310ae: eeb8 6b00 vmov.f64 d6, #128 ; 0xc0000000 -2.0 80310b2: ee27 6b06 vmul.f64 d6, d7, d6 80310b6: f507 63cc add.w r3, r7, #1632 ; 0x660 80310ba: ed93 5b00 vldr d5, [r3] 80310be: f507 63cf add.w r3, r7, #1656 ; 0x678 80310c2: ed93 7b00 vldr d7, [r3] 80310c6: ee25 7b07 vmul.f64 d7, d5, d7 80310ca: ee36 5b07 vadd.f64 d5, d6, d7 80310ce: f507 63c8 add.w r3, r7, #1600 ; 0x640 80310d2: ed93 6b00 vldr d6, [r3] 80310d6: ee85 7b06 vdiv.f64 d7, d5, d6 80310da: 4a3c ldr r2, [pc, #240] ; (80311cc ) 80310dc: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80310e0: 330a adds r3, #10 80310e2: 00db lsls r3, r3, #3 80310e4: 4413 add r3, r2 80310e6: ed83 7b00 vstr d7, [r3] IIR.a0[j] = 1.0; // The filter implementation depends on a0 = 1. 80310ea: 4a38 ldr r2, [pc, #224] ; (80311cc ) 80310ec: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80310f0: 00db lsls r3, r3, #3 80310f2: 441a add r2, r3 80310f4: f04f 0300 mov.w r3, #0 80310f8: 4c35 ldr r4, [pc, #212] ; (80311d0 ) 80310fa: e882 0018 stmia.w r2, {r3, r4} IIR.b2[j] = 0.0; 80310fe: 4a33 ldr r2, [pc, #204] ; (80311cc ) 8031100: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031104: 3346 adds r3, #70 ; 0x46 8031106: 00db lsls r3, r3, #3 8031108: 441a add r2, r3 803110a: f04f 0300 mov.w r3, #0 803110e: f04f 0400 mov.w r4, #0 8031112: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = (-2.0*E + F*T) / Arg * C/F; 8031116: f507 63ca add.w r3, r7, #1616 ; 0x650 803111a: ed93 7b00 vldr d7, [r3] 803111e: eeb8 6b00 vmov.f64 d6, #128 ; 0xc0000000 -2.0 8031122: ee27 6b06 vmul.f64 d6, d7, d6 8031126: f507 63c9 add.w r3, r7, #1608 ; 0x648 803112a: ed93 5b00 vldr d5, [r3] 803112e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031132: ed93 7b00 vldr d7, [r3] 8031136: ee25 7b07 vmul.f64 d7, d5, d7 803113a: ee36 5b07 vadd.f64 d5, d6, d7 803113e: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031142: ed93 7b00 vldr d7, [r3] 8031146: ee85 6b07 vdiv.f64 d6, d5, d7 803114a: f507 63cc add.w r3, r7, #1632 ; 0x660 803114e: ed93 7b00 vldr d7, [r3] 8031152: ee26 5b07 vmul.f64 d5, d6, d7 8031156: f507 63c9 add.w r3, r7, #1608 ; 0x648 803115a: ed93 6b00 vldr d6, [r3] 803115e: ee85 7b06 vdiv.f64 d7, d5, d6 8031162: 4a1a ldr r2, [pc, #104] ; (80311cc ) 8031164: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031168: 333c adds r3, #60 ; 0x3c 803116a: 00db lsls r3, r3, #3 803116c: 4413 add r3, r2 803116e: ed83 7b00 vstr d7, [r3] IIR.b0[j] = ( 2.0*E + F*T) / Arg * C/F; 8031172: f507 63ca add.w r3, r7, #1616 ; 0x650 8031176: ed93 7b00 vldr d7, [r3] 803117a: ee37 6b07 vadd.f64 d6, d7, d7 803117e: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031182: ed93 5b00 vldr d5, [r3] 8031186: f507 63cf add.w r3, r7, #1656 ; 0x678 803118a: ed93 7b00 vldr d7, [r3] 803118e: ee25 7b07 vmul.f64 d7, d5, d7 8031192: ee36 5b07 vadd.f64 d5, d6, d7 8031196: f507 63c8 add.w r3, r7, #1600 ; 0x640 803119a: ed93 7b00 vldr d7, [r3] 803119e: ee85 6b07 vdiv.f64 d6, d5, d7 80311a2: f507 63cc add.w r3, r7, #1632 ; 0x660 80311a6: ed93 7b00 vldr d7, [r3] 80311aa: ee26 5b07 vmul.f64 d5, d6, d7 80311ae: f507 63c9 add.w r3, r7, #1608 ; 0x648 80311b2: ed93 6b00 vldr d6, [r3] 80311b6: ee85 7b06 vdiv.f64 d7, d5, d6 80311ba: 4a04 ldr r2, [pc, #16] ; (80311cc ) 80311bc: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80311c0: 3332 adds r3, #50 ; 0x32 80311c2: 00db lsls r3, r3, #3 80311c4: 4413 add r3, r2 80311c6: ed83 7b00 vstr d7, [r3] 80311ca: e153 b.n 8031474 80311cc: 20025970 .word 0x20025970 80311d0: 3ff00000 .word 0x3ff00000 } else // 2 poles { Arg = (4.0*A + 2.0*B*T + C*T*T); 80311d4: f507 63ce add.w r3, r7, #1648 ; 0x670 80311d8: ed93 7b00 vldr d7, [r3] 80311dc: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80311e0: ee27 6b06 vmul.f64 d6, d7, d6 80311e4: f507 63cd add.w r3, r7, #1640 ; 0x668 80311e8: ed93 7b00 vldr d7, [r3] 80311ec: ee37 5b07 vadd.f64 d5, d7, d7 80311f0: f507 63cf add.w r3, r7, #1656 ; 0x678 80311f4: ed93 7b00 vldr d7, [r3] 80311f8: ee25 7b07 vmul.f64 d7, d5, d7 80311fc: ee36 6b07 vadd.f64 d6, d6, d7 8031200: f507 63cc add.w r3, r7, #1632 ; 0x660 8031204: ed93 5b00 vldr d5, [r3] 8031208: f507 63cf add.w r3, r7, #1656 ; 0x678 803120c: ed93 7b00 vldr d7, [r3] 8031210: ee25 5b07 vmul.f64 d5, d5, d7 8031214: f507 63cf add.w r3, r7, #1656 ; 0x678 8031218: ed93 7b00 vldr d7, [r3] 803121c: ee25 7b07 vmul.f64 d7, d5, d7 8031220: ee36 7b07 vadd.f64 d7, d6, d7 8031224: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031228: ed83 7b00 vstr d7, [r3] IIR.a2[j] = (4.0*A - 2.0*B*T + C*T*T) / Arg; 803122c: f507 63ce add.w r3, r7, #1648 ; 0x670 8031230: ed93 7b00 vldr d7, [r3] 8031234: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8031238: ee27 6b06 vmul.f64 d6, d7, d6 803123c: f507 63cd add.w r3, r7, #1640 ; 0x668 8031240: ed93 7b00 vldr d7, [r3] 8031244: ee37 5b07 vadd.f64 d5, d7, d7 8031248: f507 63cf add.w r3, r7, #1656 ; 0x678 803124c: ed93 7b00 vldr d7, [r3] 8031250: ee25 7b07 vmul.f64 d7, d5, d7 8031254: ee36 6b47 vsub.f64 d6, d6, d7 8031258: f507 63cc add.w r3, r7, #1632 ; 0x660 803125c: ed93 5b00 vldr d5, [r3] 8031260: f507 63cf add.w r3, r7, #1656 ; 0x678 8031264: ed93 7b00 vldr d7, [r3] 8031268: ee25 5b07 vmul.f64 d5, d5, d7 803126c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031270: ed93 7b00 vldr d7, [r3] 8031274: ee25 7b07 vmul.f64 d7, d5, d7 8031278: ee36 5b07 vadd.f64 d5, d6, d7 803127c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031280: ed93 6b00 vldr d6, [r3] 8031284: ee85 7b06 vdiv.f64 d7, d5, d6 8031288: 4ae0 ldr r2, [pc, #896] ; (803160c ) 803128a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803128e: 3314 adds r3, #20 8031290: 00db lsls r3, r3, #3 8031292: 4413 add r3, r2 8031294: ed83 7b00 vstr d7, [r3] IIR.a1[j] = (2.0*C*T*T - 8.0*A) / Arg; 8031298: f507 63cc add.w r3, r7, #1632 ; 0x660 803129c: ed93 7b00 vldr d7, [r3] 80312a0: ee37 6b07 vadd.f64 d6, d7, d7 80312a4: f507 63cf add.w r3, r7, #1656 ; 0x678 80312a8: ed93 7b00 vldr d7, [r3] 80312ac: ee26 6b07 vmul.f64 d6, d6, d7 80312b0: f507 63cf add.w r3, r7, #1656 ; 0x678 80312b4: ed93 7b00 vldr d7, [r3] 80312b8: ee26 6b07 vmul.f64 d6, d6, d7 80312bc: f507 63ce add.w r3, r7, #1648 ; 0x670 80312c0: ed93 7b00 vldr d7, [r3] 80312c4: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80312c8: ee27 7b05 vmul.f64 d7, d7, d5 80312cc: ee36 5b47 vsub.f64 d5, d6, d7 80312d0: f507 63c8 add.w r3, r7, #1600 ; 0x640 80312d4: ed93 6b00 vldr d6, [r3] 80312d8: ee85 7b06 vdiv.f64 d7, d5, d6 80312dc: 4acb ldr r2, [pc, #812] ; (803160c ) 80312de: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80312e2: 330a adds r3, #10 80312e4: 00db lsls r3, r3, #3 80312e6: 4413 add r3, r2 80312e8: ed83 7b00 vstr d7, [r3] IIR.a0[j] = 1.0; // The filter implementation depends on a0 = 1. 80312ec: 4ac7 ldr r2, [pc, #796] ; (803160c ) 80312ee: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80312f2: 00db lsls r3, r3, #3 80312f4: 441a add r2, r3 80312f6: f04f 0300 mov.w r3, #0 80312fa: 4cc5 ldr r4, [pc, #788] ; (8031610 ) 80312fc: 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; 8031300: f507 63cb add.w r3, r7, #1624 ; 0x658 8031304: ed93 7b00 vldr d7, [r3] 8031308: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 803130c: ee27 6b06 vmul.f64 d6, d7, d6 8031310: f507 63ca add.w r3, r7, #1616 ; 0x650 8031314: ed93 7b00 vldr d7, [r3] 8031318: ee37 5b07 vadd.f64 d5, d7, d7 803131c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031320: ed93 7b00 vldr d7, [r3] 8031324: ee25 7b07 vmul.f64 d7, d5, d7 8031328: ee36 6b47 vsub.f64 d6, d6, d7 803132c: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031330: ed93 5b00 vldr d5, [r3] 8031334: f507 63cf add.w r3, r7, #1656 ; 0x678 8031338: ed93 7b00 vldr d7, [r3] 803133c: ee25 5b07 vmul.f64 d5, d5, d7 8031340: f507 63cf add.w r3, r7, #1656 ; 0x678 8031344: ed93 7b00 vldr d7, [r3] 8031348: ee25 7b07 vmul.f64 d7, d5, d7 803134c: ee36 5b07 vadd.f64 d5, d6, d7 8031350: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031354: ed93 7b00 vldr d7, [r3] 8031358: ee85 6b07 vdiv.f64 d6, d5, d7 803135c: f507 63cc add.w r3, r7, #1632 ; 0x660 8031360: ed93 7b00 vldr d7, [r3] 8031364: ee26 5b07 vmul.f64 d5, d6, d7 8031368: f507 63c9 add.w r3, r7, #1608 ; 0x648 803136c: ed93 6b00 vldr d6, [r3] 8031370: ee85 7b06 vdiv.f64 d7, d5, d6 8031374: 4aa5 ldr r2, [pc, #660] ; (803160c ) 8031376: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803137a: 3346 adds r3, #70 ; 0x46 803137c: 00db lsls r3, r3, #3 803137e: 4413 add r3, r2 8031380: ed83 7b00 vstr d7, [r3] IIR.b1[j] = (2.0*F*T*T - 8.0*D) / Arg * C/F; 8031384: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031388: ed93 7b00 vldr d7, [r3] 803138c: ee37 6b07 vadd.f64 d6, d7, d7 8031390: f507 63cf add.w r3, r7, #1656 ; 0x678 8031394: ed93 7b00 vldr d7, [r3] 8031398: ee26 6b07 vmul.f64 d6, d6, d7 803139c: f507 63cf add.w r3, r7, #1656 ; 0x678 80313a0: ed93 7b00 vldr d7, [r3] 80313a4: ee26 6b07 vmul.f64 d6, d6, d7 80313a8: f507 63cb add.w r3, r7, #1624 ; 0x658 80313ac: ed93 7b00 vldr d7, [r3] 80313b0: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80313b4: ee27 7b05 vmul.f64 d7, d7, d5 80313b8: ee36 5b47 vsub.f64 d5, d6, d7 80313bc: f507 63c8 add.w r3, r7, #1600 ; 0x640 80313c0: ed93 7b00 vldr d7, [r3] 80313c4: ee85 6b07 vdiv.f64 d6, d5, d7 80313c8: f507 63cc add.w r3, r7, #1632 ; 0x660 80313cc: ed93 7b00 vldr d7, [r3] 80313d0: ee26 5b07 vmul.f64 d5, d6, d7 80313d4: f507 63c9 add.w r3, r7, #1608 ; 0x648 80313d8: ed93 6b00 vldr d6, [r3] 80313dc: ee85 7b06 vdiv.f64 d7, d5, d6 80313e0: 4a8a ldr r2, [pc, #552] ; (803160c ) 80313e2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80313e6: 333c adds r3, #60 ; 0x3c 80313e8: 00db lsls r3, r3, #3 80313ea: 4413 add r3, r2 80313ec: ed83 7b00 vstr d7, [r3] IIR.b0[j] = (4*D + F*T*T + 2.0*E*T) / Arg * C/F; 80313f0: f507 63cb add.w r3, r7, #1624 ; 0x658 80313f4: ed93 7b00 vldr d7, [r3] 80313f8: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80313fc: ee27 6b06 vmul.f64 d6, d7, d6 8031400: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031404: ed93 5b00 vldr d5, [r3] 8031408: f507 63cf add.w r3, r7, #1656 ; 0x678 803140c: ed93 7b00 vldr d7, [r3] 8031410: ee25 5b07 vmul.f64 d5, d5, d7 8031414: f507 63cf add.w r3, r7, #1656 ; 0x678 8031418: ed93 7b00 vldr d7, [r3] 803141c: ee25 7b07 vmul.f64 d7, d5, d7 8031420: ee36 6b07 vadd.f64 d6, d6, d7 8031424: f507 63ca add.w r3, r7, #1616 ; 0x650 8031428: ed93 7b00 vldr d7, [r3] 803142c: ee37 5b07 vadd.f64 d5, d7, d7 8031430: f507 63cf add.w r3, r7, #1656 ; 0x678 8031434: ed93 7b00 vldr d7, [r3] 8031438: ee25 7b07 vmul.f64 d7, d5, d7 803143c: ee36 5b07 vadd.f64 d5, d6, d7 8031440: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031444: ed93 7b00 vldr d7, [r3] 8031448: ee85 6b07 vdiv.f64 d6, d5, d7 803144c: f507 63cc add.w r3, r7, #1632 ; 0x660 8031450: ed93 7b00 vldr d7, [r3] 8031454: ee26 5b07 vmul.f64 d5, d6, d7 8031458: f507 63c9 add.w r3, r7, #1608 ; 0x648 803145c: ed93 6b00 vldr d6, [r3] 8031460: ee85 7b06 vdiv.f64 d7, d5, d6 8031464: 4a69 ldr r2, [pc, #420] ; (803160c ) 8031466: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803146a: 3332 adds r3, #50 ; 0x32 803146c: 00db lsls r3, r3, #3 803146e: 4413 add r3, r2 8031470: ed83 7b00 vstr d7, [r3] } } if(PassType == iirHPF) 8031474: f207 230a addw r3, r7, #522 ; 0x20a 8031478: 781b ldrb r3, [r3, #0] 803147a: 2b01 cmp r3, #1 803147c: f040 821a bne.w 80318b4 { if(A == 0.0 && D == 0.0) // 1 pole 8031480: f507 63ce add.w r3, r7, #1648 ; 0x670 8031484: ed93 7b00 vldr d7, [r3] 8031488: eeb5 7b40 vcmp.f64 d7, #0.0 803148c: eef1 fa10 vmrs APSR_nzcv, fpscr 8031490: f040 80c0 bne.w 8031614 8031494: f507 63cb add.w r3, r7, #1624 ; 0x658 8031498: ed93 7b00 vldr d7, [r3] 803149c: eeb5 7b40 vcmp.f64 d7, #0.0 80314a0: eef1 fa10 vmrs APSR_nzcv, fpscr 80314a4: f040 80b6 bne.w 8031614 { Arg = 2.0*C + B*T; 80314a8: f507 63cc add.w r3, r7, #1632 ; 0x660 80314ac: ed93 7b00 vldr d7, [r3] 80314b0: ee37 6b07 vadd.f64 d6, d7, d7 80314b4: f507 63cd add.w r3, r7, #1640 ; 0x668 80314b8: ed93 5b00 vldr d5, [r3] 80314bc: f507 63cf add.w r3, r7, #1656 ; 0x678 80314c0: ed93 7b00 vldr d7, [r3] 80314c4: ee25 7b07 vmul.f64 d7, d5, d7 80314c8: ee36 7b07 vadd.f64 d7, d6, d7 80314cc: f507 63c8 add.w r3, r7, #1600 ; 0x640 80314d0: ed83 7b00 vstr d7, [r3] IIR.a2[j] = 0.0; 80314d4: 4a4d ldr r2, [pc, #308] ; (803160c ) 80314d6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80314da: 3314 adds r3, #20 80314dc: 00db lsls r3, r3, #3 80314de: 441a add r2, r3 80314e0: f04f 0300 mov.w r3, #0 80314e4: f04f 0400 mov.w r4, #0 80314e8: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = (B*T - 2.0*C) / Arg; 80314ec: f507 63cd add.w r3, r7, #1640 ; 0x668 80314f0: ed93 6b00 vldr d6, [r3] 80314f4: f507 63cf add.w r3, r7, #1656 ; 0x678 80314f8: ed93 7b00 vldr d7, [r3] 80314fc: ee26 6b07 vmul.f64 d6, d6, d7 8031500: f507 63cc add.w r3, r7, #1632 ; 0x660 8031504: ed93 7b00 vldr d7, [r3] 8031508: ee37 7b07 vadd.f64 d7, d7, d7 803150c: ee36 5b47 vsub.f64 d5, d6, d7 8031510: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031514: ed93 6b00 vldr d6, [r3] 8031518: ee85 7b06 vdiv.f64 d7, d5, d6 803151c: 4a3b ldr r2, [pc, #236] ; (803160c ) 803151e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031522: 330a adds r3, #10 8031524: 00db lsls r3, r3, #3 8031526: 4413 add r3, r2 8031528: ed83 7b00 vstr d7, [r3] IIR.a0[j] = 1.0; // The filter implementation depends on a0 = 1. 803152c: 4a37 ldr r2, [pc, #220] ; (803160c ) 803152e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031532: 00db lsls r3, r3, #3 8031534: 441a add r2, r3 8031536: f04f 0300 mov.w r3, #0 803153a: 4c35 ldr r4, [pc, #212] ; (8031610 ) 803153c: e882 0018 stmia.w r2, {r3, r4} IIR.b2[j] = 0.0; 8031540: 4a32 ldr r2, [pc, #200] ; (803160c ) 8031542: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031546: 3346 adds r3, #70 ; 0x46 8031548: 00db lsls r3, r3, #3 803154a: 441a add r2, r3 803154c: f04f 0300 mov.w r3, #0 8031550: f04f 0400 mov.w r4, #0 8031554: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = (E*T - 2.0*F) / Arg * C/F; 8031558: f507 63ca add.w r3, r7, #1616 ; 0x650 803155c: ed93 6b00 vldr d6, [r3] 8031560: f507 63cf add.w r3, r7, #1656 ; 0x678 8031564: ed93 7b00 vldr d7, [r3] 8031568: ee26 6b07 vmul.f64 d6, d6, d7 803156c: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031570: ed93 7b00 vldr d7, [r3] 8031574: ee37 7b07 vadd.f64 d7, d7, d7 8031578: ee36 5b47 vsub.f64 d5, d6, d7 803157c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031580: ed93 7b00 vldr d7, [r3] 8031584: ee85 6b07 vdiv.f64 d6, d5, d7 8031588: f507 63cc add.w r3, r7, #1632 ; 0x660 803158c: ed93 7b00 vldr d7, [r3] 8031590: ee26 5b07 vmul.f64 d5, d6, d7 8031594: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031598: ed93 6b00 vldr d6, [r3] 803159c: ee85 7b06 vdiv.f64 d7, d5, d6 80315a0: 4a1a ldr r2, [pc, #104] ; (803160c ) 80315a2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80315a6: 333c adds r3, #60 ; 0x3c 80315a8: 00db lsls r3, r3, #3 80315aa: 4413 add r3, r2 80315ac: ed83 7b00 vstr d7, [r3] IIR.b0[j] = (E*T + 2.0*F) / Arg * C/F; 80315b0: f507 63ca add.w r3, r7, #1616 ; 0x650 80315b4: ed93 6b00 vldr d6, [r3] 80315b8: f507 63cf add.w r3, r7, #1656 ; 0x678 80315bc: ed93 7b00 vldr d7, [r3] 80315c0: ee26 6b07 vmul.f64 d6, d6, d7 80315c4: f507 63c9 add.w r3, r7, #1608 ; 0x648 80315c8: ed93 7b00 vldr d7, [r3] 80315cc: ee37 7b07 vadd.f64 d7, d7, d7 80315d0: ee36 5b07 vadd.f64 d5, d6, d7 80315d4: f507 63c8 add.w r3, r7, #1600 ; 0x640 80315d8: ed93 7b00 vldr d7, [r3] 80315dc: ee85 6b07 vdiv.f64 d6, d5, d7 80315e0: f507 63cc add.w r3, r7, #1632 ; 0x660 80315e4: ed93 7b00 vldr d7, [r3] 80315e8: ee26 5b07 vmul.f64 d5, d6, d7 80315ec: f507 63c9 add.w r3, r7, #1608 ; 0x648 80315f0: ed93 6b00 vldr d6, [r3] 80315f4: ee85 7b06 vdiv.f64 d7, d5, d6 80315f8: 4a04 ldr r2, [pc, #16] ; (803160c ) 80315fa: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80315fe: 3332 adds r3, #50 ; 0x32 8031600: 00db lsls r3, r3, #3 8031602: 4413 add r3, r2 8031604: ed83 7b00 vstr d7, [r3] 8031608: e154 b.n 80318b4 803160a: bf00 nop 803160c: 20025970 .word 0x20025970 8031610: 3ff00000 .word 0x3ff00000 } else // 2 poles { Arg = A*T*T + 4.0*C + 2.0*B*T; 8031614: f507 63ce add.w r3, r7, #1648 ; 0x670 8031618: ed93 6b00 vldr d6, [r3] 803161c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031620: ed93 7b00 vldr d7, [r3] 8031624: ee26 6b07 vmul.f64 d6, d6, d7 8031628: f507 63cf add.w r3, r7, #1656 ; 0x678 803162c: ed93 7b00 vldr d7, [r3] 8031630: ee26 6b07 vmul.f64 d6, d6, d7 8031634: f507 63cc add.w r3, r7, #1632 ; 0x660 8031638: ed93 7b00 vldr d7, [r3] 803163c: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8031640: ee27 7b05 vmul.f64 d7, d7, d5 8031644: ee36 6b07 vadd.f64 d6, d6, d7 8031648: f507 63cd add.w r3, r7, #1640 ; 0x668 803164c: ed93 7b00 vldr d7, [r3] 8031650: ee37 5b07 vadd.f64 d5, d7, d7 8031654: f507 63cf add.w r3, r7, #1656 ; 0x678 8031658: ed93 7b00 vldr d7, [r3] 803165c: ee25 7b07 vmul.f64 d7, d5, d7 8031660: ee36 7b07 vadd.f64 d7, d6, d7 8031664: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031668: ed83 7b00 vstr d7, [r3] IIR.a2[j] = (A*T*T + 4.0*C - 2.0*B*T) / Arg; 803166c: f507 63ce add.w r3, r7, #1648 ; 0x670 8031670: ed93 6b00 vldr d6, [r3] 8031674: f507 63cf add.w r3, r7, #1656 ; 0x678 8031678: ed93 7b00 vldr d7, [r3] 803167c: ee26 6b07 vmul.f64 d6, d6, d7 8031680: f507 63cf add.w r3, r7, #1656 ; 0x678 8031684: ed93 7b00 vldr d7, [r3] 8031688: ee26 6b07 vmul.f64 d6, d6, d7 803168c: f507 63cc add.w r3, r7, #1632 ; 0x660 8031690: ed93 7b00 vldr d7, [r3] 8031694: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8031698: ee27 7b05 vmul.f64 d7, d7, d5 803169c: ee36 6b07 vadd.f64 d6, d6, d7 80316a0: f507 63cd add.w r3, r7, #1640 ; 0x668 80316a4: ed93 7b00 vldr d7, [r3] 80316a8: ee37 5b07 vadd.f64 d5, d7, d7 80316ac: f507 63cf add.w r3, r7, #1656 ; 0x678 80316b0: ed93 7b00 vldr d7, [r3] 80316b4: ee25 7b07 vmul.f64 d7, d5, d7 80316b8: ee36 5b47 vsub.f64 d5, d6, d7 80316bc: f507 63c8 add.w r3, r7, #1600 ; 0x640 80316c0: ed93 6b00 vldr d6, [r3] 80316c4: ee85 7b06 vdiv.f64 d7, d5, d6 80316c8: 4af6 ldr r2, [pc, #984] ; (8031aa4 ) 80316ca: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80316ce: 3314 adds r3, #20 80316d0: 00db lsls r3, r3, #3 80316d2: 4413 add r3, r2 80316d4: ed83 7b00 vstr d7, [r3] IIR.a1[j] = (2.0*A*T*T - 8.0*C) / Arg; 80316d8: f507 63ce add.w r3, r7, #1648 ; 0x670 80316dc: ed93 7b00 vldr d7, [r3] 80316e0: ee37 6b07 vadd.f64 d6, d7, d7 80316e4: f507 63cf add.w r3, r7, #1656 ; 0x678 80316e8: ed93 7b00 vldr d7, [r3] 80316ec: ee26 6b07 vmul.f64 d6, d6, d7 80316f0: f507 63cf add.w r3, r7, #1656 ; 0x678 80316f4: ed93 7b00 vldr d7, [r3] 80316f8: ee26 6b07 vmul.f64 d6, d6, d7 80316fc: f507 63cc add.w r3, r7, #1632 ; 0x660 8031700: ed93 7b00 vldr d7, [r3] 8031704: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8031708: ee27 7b05 vmul.f64 d7, d7, d5 803170c: ee36 5b47 vsub.f64 d5, d6, d7 8031710: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031714: ed93 6b00 vldr d6, [r3] 8031718: ee85 7b06 vdiv.f64 d7, d5, d6 803171c: 4ae1 ldr r2, [pc, #900] ; (8031aa4 ) 803171e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031722: 330a adds r3, #10 8031724: 00db lsls r3, r3, #3 8031726: 4413 add r3, r2 8031728: ed83 7b00 vstr d7, [r3] IIR.a0[j] = 1.0; 803172c: 4add ldr r2, [pc, #884] ; (8031aa4 ) 803172e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031732: 00db lsls r3, r3, #3 8031734: 441a add r2, r3 8031736: f04f 0300 mov.w r3, #0 803173a: 4cdb ldr r4, [pc, #876] ; (8031aa8 ) 803173c: 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; 8031740: f507 63cb add.w r3, r7, #1624 ; 0x658 8031744: ed93 6b00 vldr d6, [r3] 8031748: f507 63cf add.w r3, r7, #1656 ; 0x678 803174c: ed93 7b00 vldr d7, [r3] 8031750: ee26 6b07 vmul.f64 d6, d6, d7 8031754: f507 63cf add.w r3, r7, #1656 ; 0x678 8031758: ed93 7b00 vldr d7, [r3] 803175c: ee26 6b07 vmul.f64 d6, d6, d7 8031760: f507 63ca add.w r3, r7, #1616 ; 0x650 8031764: ed93 7b00 vldr d7, [r3] 8031768: ee37 5b07 vadd.f64 d5, d7, d7 803176c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031770: ed93 7b00 vldr d7, [r3] 8031774: ee25 7b07 vmul.f64 d7, d5, d7 8031778: ee36 6b47 vsub.f64 d6, d6, d7 803177c: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031780: ed93 7b00 vldr d7, [r3] 8031784: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8031788: ee27 7b05 vmul.f64 d7, d7, d5 803178c: ee36 5b07 vadd.f64 d5, d6, d7 8031790: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031794: ed93 7b00 vldr d7, [r3] 8031798: ee85 6b07 vdiv.f64 d6, d5, d7 803179c: f507 63cc add.w r3, r7, #1632 ; 0x660 80317a0: ed93 7b00 vldr d7, [r3] 80317a4: ee26 5b07 vmul.f64 d5, d6, d7 80317a8: f507 63c9 add.w r3, r7, #1608 ; 0x648 80317ac: ed93 6b00 vldr d6, [r3] 80317b0: ee85 7b06 vdiv.f64 d7, d5, d6 80317b4: 4abb ldr r2, [pc, #748] ; (8031aa4 ) 80317b6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80317ba: 3346 adds r3, #70 ; 0x46 80317bc: 00db lsls r3, r3, #3 80317be: 4413 add r3, r2 80317c0: ed83 7b00 vstr d7, [r3] IIR.b1[j] = (2.0*D*T*T - 8.0*F) / Arg * C/F; 80317c4: f507 63cb add.w r3, r7, #1624 ; 0x658 80317c8: ed93 7b00 vldr d7, [r3] 80317cc: ee37 6b07 vadd.f64 d6, d7, d7 80317d0: f507 63cf add.w r3, r7, #1656 ; 0x678 80317d4: ed93 7b00 vldr d7, [r3] 80317d8: ee26 6b07 vmul.f64 d6, d6, d7 80317dc: f507 63cf add.w r3, r7, #1656 ; 0x678 80317e0: ed93 7b00 vldr d7, [r3] 80317e4: ee26 6b07 vmul.f64 d6, d6, d7 80317e8: f507 63c9 add.w r3, r7, #1608 ; 0x648 80317ec: ed93 7b00 vldr d7, [r3] 80317f0: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80317f4: ee27 7b05 vmul.f64 d7, d7, d5 80317f8: ee36 5b47 vsub.f64 d5, d6, d7 80317fc: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031800: ed93 7b00 vldr d7, [r3] 8031804: ee85 6b07 vdiv.f64 d6, d5, d7 8031808: f507 63cc add.w r3, r7, #1632 ; 0x660 803180c: ed93 7b00 vldr d7, [r3] 8031810: ee26 5b07 vmul.f64 d5, d6, d7 8031814: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031818: ed93 6b00 vldr d6, [r3] 803181c: ee85 7b06 vdiv.f64 d7, d5, d6 8031820: 4aa0 ldr r2, [pc, #640] ; (8031aa4 ) 8031822: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031826: 333c adds r3, #60 ; 0x3c 8031828: 00db lsls r3, r3, #3 803182a: 4413 add r3, r2 803182c: ed83 7b00 vstr d7, [r3] IIR.b0[j] = (D*T*T + 4.0*F + 2.0*E*T) / Arg * C/F; 8031830: f507 63cb add.w r3, r7, #1624 ; 0x658 8031834: ed93 6b00 vldr d6, [r3] 8031838: f507 63cf add.w r3, r7, #1656 ; 0x678 803183c: ed93 7b00 vldr d7, [r3] 8031840: ee26 6b07 vmul.f64 d6, d6, d7 8031844: f507 63cf add.w r3, r7, #1656 ; 0x678 8031848: ed93 7b00 vldr d7, [r3] 803184c: ee26 6b07 vmul.f64 d6, d6, d7 8031850: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031854: ed93 7b00 vldr d7, [r3] 8031858: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803185c: ee27 7b05 vmul.f64 d7, d7, d5 8031860: ee36 6b07 vadd.f64 d6, d6, d7 8031864: f507 63ca add.w r3, r7, #1616 ; 0x650 8031868: ed93 7b00 vldr d7, [r3] 803186c: ee37 5b07 vadd.f64 d5, d7, d7 8031870: f507 63cf add.w r3, r7, #1656 ; 0x678 8031874: ed93 7b00 vldr d7, [r3] 8031878: ee25 7b07 vmul.f64 d7, d5, d7 803187c: ee36 5b07 vadd.f64 d5, d6, d7 8031880: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031884: ed93 7b00 vldr d7, [r3] 8031888: ee85 6b07 vdiv.f64 d6, d5, d7 803188c: f507 63cc add.w r3, r7, #1632 ; 0x660 8031890: ed93 7b00 vldr d7, [r3] 8031894: ee26 5b07 vmul.f64 d5, d6, d7 8031898: f507 63c9 add.w r3, r7, #1608 ; 0x648 803189c: ed93 6b00 vldr d6, [r3] 80318a0: ee85 7b06 vdiv.f64 d7, d5, d6 80318a4: 4a7f ldr r2, [pc, #508] ; (8031aa4 ) 80318a6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80318aa: 3332 adds r3, #50 ; 0x32 80318ac: 00db lsls r3, r3, #3 80318ae: 4413 add r3, r2 80318b0: ed83 7b00 vstr d7, [r3] } } if(PassType == iirBPF) 80318b4: f207 230a addw r3, r7, #522 ; 0x20a 80318b8: 781b ldrb r3, [r3, #0] 80318ba: 2b02 cmp r3, #2 80318bc: f041 8283 bne.w 8032dc6 { if(A == 0.0 && D == 0.0) // 1 pole 80318c0: f507 63ce add.w r3, r7, #1648 ; 0x670 80318c4: ed93 7b00 vldr d7, [r3] 80318c8: eeb5 7b40 vcmp.f64 d7, #0.0 80318cc: eef1 fa10 vmrs APSR_nzcv, fpscr 80318d0: f040 81af bne.w 8031c32 80318d4: f507 63cb add.w r3, r7, #1624 ; 0x658 80318d8: ed93 7b00 vldr d7, [r3] 80318dc: eeb5 7b40 vcmp.f64 d7, #0.0 80318e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80318e4: f040 81a5 bne.w 8031c32 { Arg = 4.0*B*Q + 2.0*C*T + B*Q*T*T; 80318e8: f507 63cd add.w r3, r7, #1640 ; 0x668 80318ec: ed93 7b00 vldr d7, [r3] 80318f0: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80318f4: ee27 6b06 vmul.f64 d6, d7, d6 80318f8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80318fc: ed93 7b00 vldr d7, [r3] 8031900: ee26 6b07 vmul.f64 d6, d6, d7 8031904: f507 63cc add.w r3, r7, #1632 ; 0x660 8031908: ed93 7b00 vldr d7, [r3] 803190c: ee37 5b07 vadd.f64 d5, d7, d7 8031910: f507 63cf add.w r3, r7, #1656 ; 0x678 8031914: ed93 7b00 vldr d7, [r3] 8031918: ee25 7b07 vmul.f64 d7, d5, d7 803191c: ee36 6b07 vadd.f64 d6, d6, d7 8031920: f507 63cd add.w r3, r7, #1640 ; 0x668 8031924: ed93 5b00 vldr d5, [r3] 8031928: f507 63d1 add.w r3, r7, #1672 ; 0x688 803192c: ed93 7b00 vldr d7, [r3] 8031930: ee25 5b07 vmul.f64 d5, d5, d7 8031934: f507 63cf add.w r3, r7, #1656 ; 0x678 8031938: ed93 7b00 vldr d7, [r3] 803193c: ee25 5b07 vmul.f64 d5, d5, d7 8031940: f507 63cf add.w r3, r7, #1656 ; 0x678 8031944: ed93 7b00 vldr d7, [r3] 8031948: ee25 7b07 vmul.f64 d7, d5, d7 803194c: ee36 7b07 vadd.f64 d7, d6, d7 8031950: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031954: ed83 7b00 vstr d7, [r3] a2[k] = (B*Q*T*T + 4.0*B*Q - 2.0*C*T) / Arg; 8031958: f507 63cd add.w r3, r7, #1640 ; 0x668 803195c: ed93 6b00 vldr d6, [r3] 8031960: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031964: ed93 7b00 vldr d7, [r3] 8031968: ee26 6b07 vmul.f64 d6, d6, d7 803196c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031970: ed93 7b00 vldr d7, [r3] 8031974: ee26 6b07 vmul.f64 d6, d6, d7 8031978: f507 63cf add.w r3, r7, #1656 ; 0x678 803197c: ed93 7b00 vldr d7, [r3] 8031980: ee26 6b07 vmul.f64 d6, d6, d7 8031984: f507 63cd add.w r3, r7, #1640 ; 0x668 8031988: ed93 7b00 vldr d7, [r3] 803198c: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8031990: ee27 5b05 vmul.f64 d5, d7, d5 8031994: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031998: ed93 7b00 vldr d7, [r3] 803199c: ee25 7b07 vmul.f64 d7, d5, d7 80319a0: ee36 6b07 vadd.f64 d6, d6, d7 80319a4: f507 63cc add.w r3, r7, #1632 ; 0x660 80319a8: ed93 7b00 vldr d7, [r3] 80319ac: ee37 5b07 vadd.f64 d5, d7, d7 80319b0: f507 63cf add.w r3, r7, #1656 ; 0x678 80319b4: ed93 7b00 vldr d7, [r3] 80319b8: ee25 7b07 vmul.f64 d7, d5, d7 80319bc: ee36 5b47 vsub.f64 d5, d6, d7 80319c0: f507 63c8 add.w r3, r7, #1600 ; 0x640 80319c4: ed93 6b00 vldr d6, [r3] 80319c8: ee85 7b06 vdiv.f64 d7, d5, d6 80319cc: f507 62b1 add.w r2, r7, #1416 ; 0x588 80319d0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80319d4: 00db lsls r3, r3, #3 80319d6: 4413 add r3, r2 80319d8: ed83 7b00 vstr d7, [r3] a1[k] = (2.0*B*Q*T*T - 8.0*B*Q) / Arg ; 80319dc: f507 63cd add.w r3, r7, #1640 ; 0x668 80319e0: ed93 7b00 vldr d7, [r3] 80319e4: ee37 6b07 vadd.f64 d6, d7, d7 80319e8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80319ec: ed93 7b00 vldr d7, [r3] 80319f0: ee26 6b07 vmul.f64 d6, d6, d7 80319f4: f507 63cf add.w r3, r7, #1656 ; 0x678 80319f8: ed93 7b00 vldr d7, [r3] 80319fc: ee26 6b07 vmul.f64 d6, d6, d7 8031a00: f507 63cf add.w r3, r7, #1656 ; 0x678 8031a04: ed93 7b00 vldr d7, [r3] 8031a08: ee26 6b07 vmul.f64 d6, d6, d7 8031a0c: f507 63cd add.w r3, r7, #1640 ; 0x668 8031a10: ed93 7b00 vldr d7, [r3] 8031a14: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8031a18: ee27 5b05 vmul.f64 d5, d7, d5 8031a1c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031a20: ed93 7b00 vldr d7, [r3] 8031a24: ee25 7b07 vmul.f64 d7, d5, d7 8031a28: ee36 5b47 vsub.f64 d5, d6, d7 8031a2c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031a30: ed93 6b00 vldr d6, [r3] 8031a34: ee85 7b06 vdiv.f64 d7, d5, d6 8031a38: f507 62a7 add.w r2, r7, #1336 ; 0x538 8031a3c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031a40: 00db lsls r3, r3, #3 8031a42: 4413 add r3, r2 8031a44: ed83 7b00 vstr d7, [r3] a0[k] = 1.0; 8031a48: f507 629d add.w r2, r7, #1256 ; 0x4e8 8031a4c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031a50: 00db lsls r3, r3, #3 8031a52: 441a add r2, r3 8031a54: f04f 0300 mov.w r3, #0 8031a58: 4c13 ldr r4, [pc, #76] ; (8031aa8 ) 8031a5a: e882 0018 stmia.w r2, {r3, r4} b2[k] = (E*Q*T*T + 4.0*E*Q - 2.0*F*T) / Arg * C/F; 8031a5e: f507 63ca add.w r3, r7, #1616 ; 0x650 8031a62: ed93 6b00 vldr d6, [r3] 8031a66: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031a6a: ed93 7b00 vldr d7, [r3] 8031a6e: ee26 6b07 vmul.f64 d6, d6, d7 8031a72: f507 63cf add.w r3, r7, #1656 ; 0x678 8031a76: ed93 7b00 vldr d7, [r3] 8031a7a: ee26 6b07 vmul.f64 d6, d6, d7 8031a7e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031a82: ed93 7b00 vldr d7, [r3] 8031a86: ee26 6b07 vmul.f64 d6, d6, d7 8031a8a: f507 63ca add.w r3, r7, #1616 ; 0x650 8031a8e: ed93 7b00 vldr d7, [r3] 8031a92: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8031a96: ee27 5b05 vmul.f64 d5, d7, d5 8031a9a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031a9e: ed93 7b00 vldr d7, [r3] 8031aa2: e003 b.n 8031aac 8031aa4: 20025970 .word 0x20025970 8031aa8: 3ff00000 .word 0x3ff00000 8031aac: ee25 7b07 vmul.f64 d7, d5, d7 8031ab0: ee36 6b07 vadd.f64 d6, d6, d7 8031ab4: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031ab8: ed93 7b00 vldr d7, [r3] 8031abc: ee37 5b07 vadd.f64 d5, d7, d7 8031ac0: f507 63cf add.w r3, r7, #1656 ; 0x678 8031ac4: ed93 7b00 vldr d7, [r3] 8031ac8: ee25 7b07 vmul.f64 d7, d5, d7 8031acc: ee36 5b47 vsub.f64 d5, d6, d7 8031ad0: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031ad4: ed93 7b00 vldr d7, [r3] 8031ad8: ee85 6b07 vdiv.f64 d6, d5, d7 8031adc: f507 63cc add.w r3, r7, #1632 ; 0x660 8031ae0: ed93 7b00 vldr d7, [r3] 8031ae4: ee26 5b07 vmul.f64 d5, d6, d7 8031ae8: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031aec: ed93 6b00 vldr d6, [r3] 8031af0: ee85 7b06 vdiv.f64 d7, d5, d6 8031af4: f507 6293 add.w r2, r7, #1176 ; 0x498 8031af8: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031afc: 00db lsls r3, r3, #3 8031afe: 4413 add r3, r2 8031b00: ed83 7b00 vstr d7, [r3] b1[k] = (2.0*E*Q*T*T - 8.0*E*Q) / Arg * C/F; 8031b04: f507 63ca add.w r3, r7, #1616 ; 0x650 8031b08: ed93 7b00 vldr d7, [r3] 8031b0c: ee37 6b07 vadd.f64 d6, d7, d7 8031b10: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031b14: ed93 7b00 vldr d7, [r3] 8031b18: ee26 6b07 vmul.f64 d6, d6, d7 8031b1c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031b20: ed93 7b00 vldr d7, [r3] 8031b24: ee26 6b07 vmul.f64 d6, d6, d7 8031b28: f507 63cf add.w r3, r7, #1656 ; 0x678 8031b2c: ed93 7b00 vldr d7, [r3] 8031b30: ee26 6b07 vmul.f64 d6, d6, d7 8031b34: f507 63ca add.w r3, r7, #1616 ; 0x650 8031b38: ed93 7b00 vldr d7, [r3] 8031b3c: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8031b40: ee27 5b05 vmul.f64 d5, d7, d5 8031b44: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031b48: ed93 7b00 vldr d7, [r3] 8031b4c: ee25 7b07 vmul.f64 d7, d5, d7 8031b50: ee36 5b47 vsub.f64 d5, d6, d7 8031b54: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031b58: ed93 7b00 vldr d7, [r3] 8031b5c: ee85 6b07 vdiv.f64 d6, d5, d7 8031b60: f507 63cc add.w r3, r7, #1632 ; 0x660 8031b64: ed93 7b00 vldr d7, [r3] 8031b68: ee26 5b07 vmul.f64 d5, d6, d7 8031b6c: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031b70: ed93 6b00 vldr d6, [r3] 8031b74: ee85 7b06 vdiv.f64 d7, d5, d6 8031b78: f507 6289 add.w r2, r7, #1096 ; 0x448 8031b7c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031b80: 00db lsls r3, r3, #3 8031b82: 4413 add r3, r2 8031b84: ed83 7b00 vstr d7, [r3] b0[k] = (4.0*E*Q + 2.0*F*T + E*Q*T*T) / Arg * C/F; 8031b88: f507 63ca add.w r3, r7, #1616 ; 0x650 8031b8c: ed93 7b00 vldr d7, [r3] 8031b90: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8031b94: ee27 6b06 vmul.f64 d6, d7, d6 8031b98: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031b9c: ed93 7b00 vldr d7, [r3] 8031ba0: ee26 6b07 vmul.f64 d6, d6, d7 8031ba4: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031ba8: ed93 7b00 vldr d7, [r3] 8031bac: ee37 5b07 vadd.f64 d5, d7, d7 8031bb0: f507 63cf add.w r3, r7, #1656 ; 0x678 8031bb4: ed93 7b00 vldr d7, [r3] 8031bb8: ee25 7b07 vmul.f64 d7, d5, d7 8031bbc: ee36 6b07 vadd.f64 d6, d6, d7 8031bc0: f507 63ca add.w r3, r7, #1616 ; 0x650 8031bc4: ed93 5b00 vldr d5, [r3] 8031bc8: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031bcc: ed93 7b00 vldr d7, [r3] 8031bd0: ee25 5b07 vmul.f64 d5, d5, d7 8031bd4: f507 63cf add.w r3, r7, #1656 ; 0x678 8031bd8: ed93 7b00 vldr d7, [r3] 8031bdc: ee25 5b07 vmul.f64 d5, d5, d7 8031be0: f507 63cf add.w r3, r7, #1656 ; 0x678 8031be4: ed93 7b00 vldr d7, [r3] 8031be8: ee25 7b07 vmul.f64 d7, d5, d7 8031bec: ee36 5b07 vadd.f64 d5, d6, d7 8031bf0: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031bf4: ed93 7b00 vldr d7, [r3] 8031bf8: ee85 6b07 vdiv.f64 d6, d5, d7 8031bfc: f507 63cc add.w r3, r7, #1632 ; 0x660 8031c00: ed93 7b00 vldr d7, [r3] 8031c04: ee26 5b07 vmul.f64 d5, d6, d7 8031c08: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031c0c: ed93 6b00 vldr d6, [r3] 8031c10: ee85 7b06 vdiv.f64 d7, d5, d6 8031c14: f507 727e add.w r2, r7, #1016 ; 0x3f8 8031c18: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031c1c: 00db lsls r3, r3, #3 8031c1e: 4413 add r3, r2 8031c20: ed83 7b00 vstr d7, [r3] k++; 8031c24: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031c28: 3301 adds r3, #1 8031c2a: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 8031c2e: f001 b8ca b.w 8032dc6 } 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; 8031c32: f507 63ce add.w r3, r7, #1648 ; 0x670 8031c36: ed93 7b00 vldr d7, [r3] 8031c3a: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 8031c3e: ee27 6b06 vmul.f64 d6, d7, d6 8031c42: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031c46: ed93 7b00 vldr d7, [r3] 8031c4a: ee26 6b07 vmul.f64 d6, d6, d7 8031c4e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031c52: ed93 7b00 vldr d7, [r3] 8031c56: ee26 6b07 vmul.f64 d6, d6, d7 8031c5a: f507 63ce add.w r3, r7, #1648 ; 0x670 8031c5e: ed93 5b00 vldr d5, [r3] 8031c62: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031c66: ed93 7b00 vldr d7, [r3] 8031c6a: ee25 5b07 vmul.f64 d5, d5, d7 8031c6e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031c72: ed93 7b00 vldr d7, [r3] 8031c76: ee25 5b07 vmul.f64 d5, d5, d7 8031c7a: f507 63cf add.w r3, r7, #1656 ; 0x678 8031c7e: ed93 7b00 vldr d7, [r3] 8031c82: ee25 5b07 vmul.f64 d5, d5, d7 8031c86: f507 63cf add.w r3, r7, #1656 ; 0x678 8031c8a: ed93 7b00 vldr d7, [r3] 8031c8e: ee25 5b07 vmul.f64 d5, d5, d7 8031c92: f507 63cf add.w r3, r7, #1656 ; 0x678 8031c96: ed93 7b00 vldr d7, [r3] 8031c9a: ee25 5b07 vmul.f64 d5, d5, d7 8031c9e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031ca2: ed93 7b00 vldr d7, [r3] 8031ca6: ee25 7b07 vmul.f64 d7, d5, d7 8031caa: ee36 6b07 vadd.f64 d6, d6, d7 8031cae: f507 63ce add.w r3, r7, #1648 ; 0x670 8031cb2: ed93 7b00 vldr d7, [r3] 8031cb6: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8031cba: ee27 5b05 vmul.f64 d5, d7, d5 8031cbe: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031cc2: ed93 7b00 vldr d7, [r3] 8031cc6: ee25 5b07 vmul.f64 d5, d5, d7 8031cca: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031cce: ed93 7b00 vldr d7, [r3] 8031cd2: ee25 5b07 vmul.f64 d5, d5, d7 8031cd6: f507 63cf add.w r3, r7, #1656 ; 0x678 8031cda: ed93 7b00 vldr d7, [r3] 8031cde: ee25 5b07 vmul.f64 d5, d5, d7 8031ce2: f507 63cf add.w r3, r7, #1656 ; 0x678 8031ce6: ed93 7b00 vldr d7, [r3] 8031cea: ee25 7b07 vmul.f64 d7, d5, d7 8031cee: ee36 6b07 vadd.f64 d6, d6, d7 8031cf2: f507 63cd add.w r3, r7, #1640 ; 0x668 8031cf6: ed93 7b00 vldr d7, [r3] 8031cfa: ee37 5b07 vadd.f64 d5, d7, d7 8031cfe: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031d02: ed93 7b00 vldr d7, [r3] 8031d06: ee25 5b07 vmul.f64 d5, d5, d7 8031d0a: f507 63cf add.w r3, r7, #1656 ; 0x678 8031d0e: ed93 7b00 vldr d7, [r3] 8031d12: ee25 5b07 vmul.f64 d5, d5, d7 8031d16: f507 63cf add.w r3, r7, #1656 ; 0x678 8031d1a: ed93 7b00 vldr d7, [r3] 8031d1e: ee25 5b07 vmul.f64 d5, d5, d7 8031d22: f507 63cf add.w r3, r7, #1656 ; 0x678 8031d26: ed93 7b00 vldr d7, [r3] 8031d2a: ee25 7b07 vmul.f64 d7, d5, d7 8031d2e: ee36 6b47 vsub.f64 d6, d6, d7 8031d32: f507 63cd add.w r3, r7, #1640 ; 0x668 8031d36: ed93 7b00 vldr d7, [r3] 8031d3a: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8031d3e: ee27 5b05 vmul.f64 d5, d7, d5 8031d42: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031d46: ed93 7b00 vldr d7, [r3] 8031d4a: ee25 5b07 vmul.f64 d5, d5, d7 8031d4e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031d52: ed93 7b00 vldr d7, [r3] 8031d56: ee25 7b07 vmul.f64 d7, d5, d7 8031d5a: ee36 6b47 vsub.f64 d6, d6, d7 8031d5e: f507 63cc add.w r3, r7, #1632 ; 0x660 8031d62: ed93 7b00 vldr d7, [r3] 8031d66: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8031d6a: ee27 5b05 vmul.f64 d5, d7, d5 8031d6e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031d72: ed93 7b00 vldr d7, [r3] 8031d76: ee25 5b07 vmul.f64 d5, d5, d7 8031d7a: f507 63cf add.w r3, r7, #1656 ; 0x678 8031d7e: ed93 7b00 vldr d7, [r3] 8031d82: ee25 7b07 vmul.f64 d7, d5, d7 8031d86: ee36 6b07 vadd.f64 d6, d6, d7 8031d8a: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031d8e: ed93 7b00 vldr d7, [r3] 8031d92: ee26 7b07 vmul.f64 d7, d6, d7 8031d96: 4afc ldr r2, [pc, #1008] ; (8032188 ) 8031d98: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031d9c: 3328 adds r3, #40 ; 0x28 8031d9e: 00db lsls r3, r3, #3 8031da0: 4413 add r3, r2 8031da2: 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; 8031da6: f507 63cf add.w r3, r7, #1656 ; 0x678 8031daa: ed93 7b00 vldr d7, [r3] 8031dae: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8031db2: ee27 6b06 vmul.f64 d6, d7, d6 8031db6: f507 63cf add.w r3, r7, #1656 ; 0x678 8031dba: ed93 7b00 vldr d7, [r3] 8031dbe: ee26 6b07 vmul.f64 d6, d6, d7 8031dc2: f507 63cf add.w r3, r7, #1656 ; 0x678 8031dc6: ed93 7b00 vldr d7, [r3] 8031dca: ee26 6b07 vmul.f64 d6, d6, d7 8031dce: f507 63cf add.w r3, r7, #1656 ; 0x678 8031dd2: ed93 7b00 vldr d7, [r3] 8031dd6: ee26 6b07 vmul.f64 d6, d6, d7 8031dda: f507 63ce add.w r3, r7, #1648 ; 0x670 8031dde: ed93 7b00 vldr d7, [r3] 8031de2: ee26 6b07 vmul.f64 d6, d6, d7 8031de6: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031dea: ed93 7b00 vldr d7, [r3] 8031dee: ee26 6b07 vmul.f64 d6, d6, d7 8031df2: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031df6: ed93 7b00 vldr d7, [r3] 8031dfa: ee26 6b07 vmul.f64 d6, d6, d7 8031dfe: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031e02: ed93 7b00 vldr d7, [r3] 8031e06: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8031e0a: ee27 5b05 vmul.f64 d5, d7, d5 8031e0e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031e12: ed93 7b00 vldr d7, [r3] 8031e16: ee25 5b07 vmul.f64 d5, d5, d7 8031e1a: f507 63cf add.w r3, r7, #1656 ; 0x678 8031e1e: ed93 7b00 vldr d7, [r3] 8031e22: ee25 5b07 vmul.f64 d5, d5, d7 8031e26: f507 63cf add.w r3, r7, #1656 ; 0x678 8031e2a: ed93 7b00 vldr d7, [r3] 8031e2e: ee25 5b07 vmul.f64 d5, d5, d7 8031e32: f507 63cd add.w r3, r7, #1640 ; 0x668 8031e36: ed93 7b00 vldr d7, [r3] 8031e3a: ee25 7b07 vmul.f64 d7, d5, d7 8031e3e: ee36 6b47 vsub.f64 d6, d6, d7 8031e42: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031e46: ed93 7b00 vldr d7, [r3] 8031e4a: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8031e4e: ee27 5b05 vmul.f64 d5, d7, d5 8031e52: f507 63cd add.w r3, r7, #1640 ; 0x668 8031e56: ed93 7b00 vldr d7, [r3] 8031e5a: ee25 5b07 vmul.f64 d5, d5, d7 8031e5e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031e62: ed93 7b00 vldr d7, [r3] 8031e66: ee25 7b07 vmul.f64 d7, d5, d7 8031e6a: ee36 6b07 vadd.f64 d6, d6, d7 8031e6e: f507 63ce add.w r3, r7, #1648 ; 0x670 8031e72: ed93 7b00 vldr d7, [r3] 8031e76: ed9f 5bc0 vldr d5, [pc, #768] ; 8032178 8031e7a: ee27 5b05 vmul.f64 d5, d7, d5 8031e7e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031e82: ed93 7b00 vldr d7, [r3] 8031e86: ee25 5b07 vmul.f64 d5, d5, d7 8031e8a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031e8e: ed93 7b00 vldr d7, [r3] 8031e92: ee25 7b07 vmul.f64 d7, d5, d7 8031e96: ee36 6b47 vsub.f64 d6, d6, d7 8031e9a: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031e9e: ed93 7b00 vldr d7, [r3] 8031ea2: ee26 7b07 vmul.f64 d7, d6, d7 8031ea6: 4ab8 ldr r2, [pc, #736] ; (8032188 ) 8031ea8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031eac: 331e adds r3, #30 8031eae: 00db lsls r3, r3, #3 8031eb0: 4413 add r3, r2 8031eb2: 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; 8031eb6: f507 63ce add.w r3, r7, #1648 ; 0x670 8031eba: ed93 7b00 vldr d7, [r3] 8031ebe: ed9f 6bb0 vldr d6, [pc, #704] ; 8032180 8031ec2: ee27 6b06 vmul.f64 d6, d7, d6 8031ec6: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031eca: ed93 7b00 vldr d7, [r3] 8031ece: ee26 6b07 vmul.f64 d6, d6, d7 8031ed2: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031ed6: ed93 7b00 vldr d7, [r3] 8031eda: ee26 6b07 vmul.f64 d6, d6, d7 8031ede: f507 63ce add.w r3, r7, #1648 ; 0x670 8031ee2: ed93 7b00 vldr d7, [r3] 8031ee6: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8031eea: ee27 5b05 vmul.f64 d5, d7, d5 8031eee: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031ef2: ed93 7b00 vldr d7, [r3] 8031ef6: ee25 5b07 vmul.f64 d5, d5, d7 8031efa: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031efe: ed93 7b00 vldr d7, [r3] 8031f02: ee25 5b07 vmul.f64 d5, d5, d7 8031f06: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f0a: ed93 7b00 vldr d7, [r3] 8031f0e: ee25 5b07 vmul.f64 d5, d5, d7 8031f12: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f16: ed93 7b00 vldr d7, [r3] 8031f1a: ee25 7b07 vmul.f64 d7, d5, d7 8031f1e: ee36 6b47 vsub.f64 d6, d6, d7 8031f22: f507 63ce add.w r3, r7, #1648 ; 0x670 8031f26: ed93 7b00 vldr d7, [r3] 8031f2a: eeb1 5b08 vmov.f64 d5, #24 ; 0x40c00000 6.0 8031f2e: ee27 5b05 vmul.f64 d5, d7, d5 8031f32: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031f36: ed93 7b00 vldr d7, [r3] 8031f3a: ee25 5b07 vmul.f64 d5, d5, d7 8031f3e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031f42: ed93 7b00 vldr d7, [r3] 8031f46: ee25 5b07 vmul.f64 d5, d5, d7 8031f4a: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f4e: ed93 7b00 vldr d7, [r3] 8031f52: ee25 5b07 vmul.f64 d5, d5, d7 8031f56: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f5a: ed93 7b00 vldr d7, [r3] 8031f5e: ee25 5b07 vmul.f64 d5, d5, d7 8031f62: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f66: ed93 7b00 vldr d7, [r3] 8031f6a: ee25 5b07 vmul.f64 d5, d5, d7 8031f6e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f72: ed93 7b00 vldr d7, [r3] 8031f76: ee25 7b07 vmul.f64 d7, d5, d7 8031f7a: ee36 6b07 vadd.f64 d6, d6, d7 8031f7e: f507 63cc add.w r3, r7, #1632 ; 0x660 8031f82: ed93 7b00 vldr d7, [r3] 8031f86: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8031f8a: ee27 5b05 vmul.f64 d5, d7, d5 8031f8e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f92: ed93 7b00 vldr d7, [r3] 8031f96: ee25 5b07 vmul.f64 d5, d5, d7 8031f9a: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f9e: ed93 7b00 vldr d7, [r3] 8031fa2: ee25 7b07 vmul.f64 d7, d5, d7 8031fa6: ee36 6b47 vsub.f64 d6, d6, d7 8031faa: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031fae: ed93 7b00 vldr d7, [r3] 8031fb2: ee26 7b07 vmul.f64 d7, d6, d7 8031fb6: 4a74 ldr r2, [pc, #464] ; (8032188 ) 8031fb8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031fbc: 3314 adds r3, #20 8031fbe: 00db lsls r3, r3, #3 8031fc0: 4413 add r3, r2 8031fc2: 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; 8031fc6: f507 63cf add.w r3, r7, #1656 ; 0x678 8031fca: ed93 7b00 vldr d7, [r3] 8031fce: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8031fd2: ee27 6b06 vmul.f64 d6, d7, d6 8031fd6: f507 63cf add.w r3, r7, #1656 ; 0x678 8031fda: ed93 7b00 vldr d7, [r3] 8031fde: ee26 6b07 vmul.f64 d6, d6, d7 8031fe2: f507 63cf add.w r3, r7, #1656 ; 0x678 8031fe6: ed93 7b00 vldr d7, [r3] 8031fea: ee26 6b07 vmul.f64 d6, d6, d7 8031fee: f507 63cf add.w r3, r7, #1656 ; 0x678 8031ff2: ed93 7b00 vldr d7, [r3] 8031ff6: ee26 6b07 vmul.f64 d6, d6, d7 8031ffa: f507 63ce add.w r3, r7, #1648 ; 0x670 8031ffe: ed93 7b00 vldr d7, [r3] 8032002: ee26 6b07 vmul.f64 d6, d6, d7 8032006: f507 63d1 add.w r3, r7, #1672 ; 0x688 803200a: ed93 7b00 vldr d7, [r3] 803200e: ee26 6b07 vmul.f64 d6, d6, d7 8032012: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032016: ed93 7b00 vldr d7, [r3] 803201a: ee26 6b07 vmul.f64 d6, d6, d7 803201e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032022: ed93 7b00 vldr d7, [r3] 8032026: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803202a: ee27 5b05 vmul.f64 d5, d7, d5 803202e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032032: ed93 7b00 vldr d7, [r3] 8032036: ee25 5b07 vmul.f64 d5, d5, d7 803203a: f507 63cf add.w r3, r7, #1656 ; 0x678 803203e: ed93 7b00 vldr d7, [r3] 8032042: ee25 5b07 vmul.f64 d5, d5, d7 8032046: f507 63cf add.w r3, r7, #1656 ; 0x678 803204a: ed93 7b00 vldr d7, [r3] 803204e: ee25 5b07 vmul.f64 d5, d5, d7 8032052: f507 63cd add.w r3, r7, #1640 ; 0x668 8032056: ed93 7b00 vldr d7, [r3] 803205a: ee25 7b07 vmul.f64 d7, d5, d7 803205e: ee36 6b07 vadd.f64 d6, d6, d7 8032062: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032066: ed93 7b00 vldr d7, [r3] 803206a: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 803206e: ee27 5b05 vmul.f64 d5, d7, d5 8032072: f507 63cd add.w r3, r7, #1640 ; 0x668 8032076: ed93 7b00 vldr d7, [r3] 803207a: ee25 5b07 vmul.f64 d5, d5, d7 803207e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032082: ed93 7b00 vldr d7, [r3] 8032086: ee25 7b07 vmul.f64 d7, d5, d7 803208a: ee36 6b47 vsub.f64 d6, d6, d7 803208e: f507 63ce add.w r3, r7, #1648 ; 0x670 8032092: ed93 7b00 vldr d7, [r3] 8032096: ed9f 5b38 vldr d5, [pc, #224] ; 8032178 803209a: ee27 5b05 vmul.f64 d5, d7, d5 803209e: f507 63d1 add.w r3, r7, #1672 ; 0x688 80320a2: ed93 7b00 vldr d7, [r3] 80320a6: ee25 5b07 vmul.f64 d5, d5, d7 80320aa: f507 63d1 add.w r3, r7, #1672 ; 0x688 80320ae: ed93 7b00 vldr d7, [r3] 80320b2: ee25 7b07 vmul.f64 d7, d5, d7 80320b6: ee36 6b47 vsub.f64 d6, d6, d7 80320ba: f507 63c9 add.w r3, r7, #1608 ; 0x648 80320be: ed93 7b00 vldr d7, [r3] 80320c2: ee26 7b07 vmul.f64 d7, d6, d7 80320c6: 4a30 ldr r2, [pc, #192] ; (8032188 ) 80320c8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80320cc: 330a adds r3, #10 80320ce: 00db lsls r3, r3, #3 80320d0: 4413 add r3, r2 80320d2: 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; 80320d6: f507 63ce add.w r3, r7, #1648 ; 0x670 80320da: ed93 7b00 vldr d7, [r3] 80320de: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 80320e2: ee27 6b06 vmul.f64 d6, d7, d6 80320e6: f507 63d1 add.w r3, r7, #1672 ; 0x688 80320ea: ed93 7b00 vldr d7, [r3] 80320ee: ee26 6b07 vmul.f64 d6, d6, d7 80320f2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80320f6: ed93 7b00 vldr d7, [r3] 80320fa: ee26 6b07 vmul.f64 d6, d6, d7 80320fe: f507 63ce add.w r3, r7, #1648 ; 0x670 8032102: ed93 5b00 vldr d5, [r3] 8032106: f507 63d1 add.w r3, r7, #1672 ; 0x688 803210a: ed93 7b00 vldr d7, [r3] 803210e: ee25 5b07 vmul.f64 d5, d5, d7 8032112: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032116: ed93 7b00 vldr d7, [r3] 803211a: ee25 5b07 vmul.f64 d5, d5, d7 803211e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032122: ed93 7b00 vldr d7, [r3] 8032126: ee25 5b07 vmul.f64 d5, d5, d7 803212a: f507 63cf add.w r3, r7, #1656 ; 0x678 803212e: ed93 7b00 vldr d7, [r3] 8032132: ee25 5b07 vmul.f64 d5, d5, d7 8032136: f507 63cf add.w r3, r7, #1656 ; 0x678 803213a: ed93 7b00 vldr d7, [r3] 803213e: ee25 5b07 vmul.f64 d5, d5, d7 8032142: f507 63cf add.w r3, r7, #1656 ; 0x678 8032146: ed93 7b00 vldr d7, [r3] 803214a: ee25 7b07 vmul.f64 d7, d5, d7 803214e: ee36 6b07 vadd.f64 d6, d6, d7 8032152: f507 63ce add.w r3, r7, #1648 ; 0x670 8032156: ed93 7b00 vldr d7, [r3] 803215a: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 803215e: ee27 5b05 vmul.f64 d5, d7, d5 8032162: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032166: ed93 7b00 vldr d7, [r3] 803216a: ee25 5b07 vmul.f64 d5, d5, d7 803216e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032172: e00b b.n 803218c 8032174: f3af 8000 nop.w 8032178: 00000000 .word 0x00000000 803217c: 40500000 .word 0x40500000 8032180: 00000000 .word 0x00000000 8032184: 40580000 .word 0x40580000 8032188: 20025970 .word 0x20025970 803218c: ed93 7b00 vldr d7, [r3] 8032190: ee25 5b07 vmul.f64 d5, d5, d7 8032194: f507 63cf add.w r3, r7, #1656 ; 0x678 8032198: ed93 7b00 vldr d7, [r3] 803219c: ee25 5b07 vmul.f64 d5, d5, d7 80321a0: f507 63cf add.w r3, r7, #1656 ; 0x678 80321a4: ed93 7b00 vldr d7, [r3] 80321a8: ee25 7b07 vmul.f64 d7, d5, d7 80321ac: ee36 6b07 vadd.f64 d6, d6, d7 80321b0: f507 63cd add.w r3, r7, #1640 ; 0x668 80321b4: ed93 7b00 vldr d7, [r3] 80321b8: ee37 5b07 vadd.f64 d5, d7, d7 80321bc: f507 63d1 add.w r3, r7, #1672 ; 0x688 80321c0: ed93 7b00 vldr d7, [r3] 80321c4: ee25 5b07 vmul.f64 d5, d5, d7 80321c8: f507 63cf add.w r3, r7, #1656 ; 0x678 80321cc: ed93 7b00 vldr d7, [r3] 80321d0: ee25 5b07 vmul.f64 d5, d5, d7 80321d4: f507 63cf add.w r3, r7, #1656 ; 0x678 80321d8: ed93 7b00 vldr d7, [r3] 80321dc: ee25 5b07 vmul.f64 d5, d5, d7 80321e0: f507 63cf add.w r3, r7, #1656 ; 0x678 80321e4: ed93 7b00 vldr d7, [r3] 80321e8: ee25 7b07 vmul.f64 d7, d5, d7 80321ec: ee36 6b07 vadd.f64 d6, d6, d7 80321f0: f507 63cd add.w r3, r7, #1640 ; 0x668 80321f4: ed93 7b00 vldr d7, [r3] 80321f8: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80321fc: ee27 5b05 vmul.f64 d5, d7, d5 8032200: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032204: ed93 7b00 vldr d7, [r3] 8032208: ee25 5b07 vmul.f64 d5, d5, d7 803220c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032210: ed93 7b00 vldr d7, [r3] 8032214: ee25 7b07 vmul.f64 d7, d5, d7 8032218: ee36 6b07 vadd.f64 d6, d6, d7 803221c: f507 63cc add.w r3, r7, #1632 ; 0x660 8032220: ed93 7b00 vldr d7, [r3] 8032224: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8032228: ee27 5b05 vmul.f64 d5, d7, d5 803222c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032230: ed93 7b00 vldr d7, [r3] 8032234: ee25 5b07 vmul.f64 d5, d5, d7 8032238: f507 63cf add.w r3, r7, #1656 ; 0x678 803223c: ed93 7b00 vldr d7, [r3] 8032240: ee25 7b07 vmul.f64 d7, d5, d7 8032244: ee36 6b07 vadd.f64 d6, d6, d7 8032248: f507 63c9 add.w r3, r7, #1608 ; 0x648 803224c: ed93 7b00 vldr d7, [r3] 8032250: ee26 7b07 vmul.f64 d7, d6, d7 8032254: 4afa ldr r2, [pc, #1000] ; (8032640 ) 8032256: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803225a: 00db lsls r3, r3, #3 803225c: 4413 add r3, r2 803225e: 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; 8032262: f507 63cb add.w r3, r7, #1624 ; 0x658 8032266: ed93 7b00 vldr d7, [r3] 803226a: eeb2 6b00 vmov.f64 d6, #32 ; 0x41000000 8.0 803226e: ee27 6b06 vmul.f64 d6, d7, d6 8032272: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032276: ed93 7b00 vldr d7, [r3] 803227a: ee26 6b07 vmul.f64 d6, d6, d7 803227e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032282: ed93 7b00 vldr d7, [r3] 8032286: ee26 6b07 vmul.f64 d6, d6, d7 803228a: f507 63cf add.w r3, r7, #1656 ; 0x678 803228e: ed93 7b00 vldr d7, [r3] 8032292: ee26 6b07 vmul.f64 d6, d6, d7 8032296: f507 63cf add.w r3, r7, #1656 ; 0x678 803229a: ed93 7b00 vldr d7, [r3] 803229e: ee26 6b07 vmul.f64 d6, d6, d7 80322a2: f507 63ca add.w r3, r7, #1616 ; 0x650 80322a6: ed93 7b00 vldr d7, [r3] 80322aa: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80322ae: ee27 5b05 vmul.f64 d5, d7, d5 80322b2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80322b6: ed93 7b00 vldr d7, [r3] 80322ba: ee25 5b07 vmul.f64 d5, d5, d7 80322be: f507 63cf add.w r3, r7, #1656 ; 0x678 80322c2: ed93 7b00 vldr d7, [r3] 80322c6: ee25 7b07 vmul.f64 d7, d5, d7 80322ca: ee36 6b47 vsub.f64 d6, d6, d7 80322ce: f507 63cb add.w r3, r7, #1624 ; 0x658 80322d2: ed93 7b00 vldr d7, [r3] 80322d6: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 80322da: ee27 5b05 vmul.f64 d5, d7, d5 80322de: f507 63d1 add.w r3, r7, #1672 ; 0x688 80322e2: ed93 7b00 vldr d7, [r3] 80322e6: ee25 5b07 vmul.f64 d5, d5, d7 80322ea: f507 63d1 add.w r3, r7, #1672 ; 0x688 80322ee: ed93 7b00 vldr d7, [r3] 80322f2: ee25 7b07 vmul.f64 d7, d5, d7 80322f6: ee36 6b07 vadd.f64 d6, d6, d7 80322fa: f507 63ca add.w r3, r7, #1616 ; 0x650 80322fe: ed93 7b00 vldr d7, [r3] 8032302: ee37 5b07 vadd.f64 d5, d7, d7 8032306: f507 63d1 add.w r3, r7, #1672 ; 0x688 803230a: ed93 7b00 vldr d7, [r3] 803230e: ee25 5b07 vmul.f64 d5, d5, d7 8032312: f507 63cf add.w r3, r7, #1656 ; 0x678 8032316: ed93 7b00 vldr d7, [r3] 803231a: ee25 5b07 vmul.f64 d5, d5, d7 803231e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032322: ed93 7b00 vldr d7, [r3] 8032326: ee25 5b07 vmul.f64 d5, d5, d7 803232a: f507 63cf add.w r3, r7, #1656 ; 0x678 803232e: ed93 7b00 vldr d7, [r3] 8032332: ee25 7b07 vmul.f64 d7, d5, d7 8032336: ee36 6b47 vsub.f64 d6, d6, d7 803233a: f507 63cb add.w r3, r7, #1624 ; 0x658 803233e: ed93 5b00 vldr d5, [r3] 8032342: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032346: ed93 7b00 vldr d7, [r3] 803234a: ee25 5b07 vmul.f64 d5, d5, d7 803234e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032352: ed93 7b00 vldr d7, [r3] 8032356: ee25 5b07 vmul.f64 d5, d5, d7 803235a: f507 63cf add.w r3, r7, #1656 ; 0x678 803235e: ed93 7b00 vldr d7, [r3] 8032362: ee25 5b07 vmul.f64 d5, d5, d7 8032366: f507 63cf add.w r3, r7, #1656 ; 0x678 803236a: ed93 7b00 vldr d7, [r3] 803236e: ee25 5b07 vmul.f64 d5, d5, d7 8032372: f507 63cf add.w r3, r7, #1656 ; 0x678 8032376: ed93 7b00 vldr d7, [r3] 803237a: ee25 5b07 vmul.f64 d5, d5, d7 803237e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032382: ed93 7b00 vldr d7, [r3] 8032386: ee25 7b07 vmul.f64 d7, d5, d7 803238a: ee36 6b07 vadd.f64 d6, d6, d7 803238e: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032392: ed93 7b00 vldr d7, [r3] 8032396: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803239a: ee27 5b05 vmul.f64 d5, d7, d5 803239e: f507 63cf add.w r3, r7, #1656 ; 0x678 80323a2: ed93 7b00 vldr d7, [r3] 80323a6: ee25 5b07 vmul.f64 d5, d5, d7 80323aa: f507 63cf add.w r3, r7, #1656 ; 0x678 80323ae: ed93 7b00 vldr d7, [r3] 80323b2: ee25 7b07 vmul.f64 d7, d5, d7 80323b6: ee36 6b07 vadd.f64 d6, d6, d7 80323ba: f507 63cc add.w r3, r7, #1632 ; 0x660 80323be: ed93 7b00 vldr d7, [r3] 80323c2: ee26 7b07 vmul.f64 d7, d6, d7 80323c6: 4a9e ldr r2, [pc, #632] ; (8032640 ) 80323c8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80323cc: 335a adds r3, #90 ; 0x5a 80323ce: 00db lsls r3, r3, #3 80323d0: 4413 add r3, r2 80323d2: 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; 80323d6: f507 63ca add.w r3, r7, #1616 ; 0x650 80323da: ed93 7b00 vldr d7, [r3] 80323de: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 80323e2: ee27 6b06 vmul.f64 d6, d7, d6 80323e6: f507 63d1 add.w r3, r7, #1672 ; 0x688 80323ea: ed93 7b00 vldr d7, [r3] 80323ee: ee26 6b07 vmul.f64 d6, d6, d7 80323f2: f507 63cf add.w r3, r7, #1656 ; 0x678 80323f6: ed93 7b00 vldr d7, [r3] 80323fa: ee26 6b07 vmul.f64 d6, d6, d7 80323fe: f507 63ca add.w r3, r7, #1616 ; 0x650 8032402: ed93 7b00 vldr d7, [r3] 8032406: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803240a: ee27 5b05 vmul.f64 d5, d7, d5 803240e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032412: ed93 7b00 vldr d7, [r3] 8032416: ee25 5b07 vmul.f64 d5, d5, d7 803241a: f507 63cf add.w r3, r7, #1656 ; 0x678 803241e: ed93 7b00 vldr d7, [r3] 8032422: ee25 5b07 vmul.f64 d5, d5, d7 8032426: f507 63cf add.w r3, r7, #1656 ; 0x678 803242a: ed93 7b00 vldr d7, [r3] 803242e: ee25 5b07 vmul.f64 d5, d5, d7 8032432: f507 63cf add.w r3, r7, #1656 ; 0x678 8032436: ed93 7b00 vldr d7, [r3] 803243a: ee25 7b07 vmul.f64 d7, d5, d7 803243e: ee36 6b47 vsub.f64 d6, d6, d7 8032442: f507 63cb add.w r3, r7, #1624 ; 0x658 8032446: ed93 7b00 vldr d7, [r3] 803244a: ed9f 5b79 vldr d5, [pc, #484] ; 8032630 803244e: ee27 5b05 vmul.f64 d5, d7, d5 8032452: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032456: ed93 7b00 vldr d7, [r3] 803245a: ee25 5b07 vmul.f64 d5, d5, d7 803245e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032462: ed93 7b00 vldr d7, [r3] 8032466: ee25 7b07 vmul.f64 d7, d5, d7 803246a: ee36 6b47 vsub.f64 d6, d6, d7 803246e: f507 63cb add.w r3, r7, #1624 ; 0x658 8032472: ed93 7b00 vldr d7, [r3] 8032476: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803247a: ee27 5b05 vmul.f64 d5, d7, d5 803247e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032482: ed93 7b00 vldr d7, [r3] 8032486: ee25 5b07 vmul.f64 d5, d5, d7 803248a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803248e: ed93 7b00 vldr d7, [r3] 8032492: ee25 5b07 vmul.f64 d5, d5, d7 8032496: f507 63cf add.w r3, r7, #1656 ; 0x678 803249a: ed93 7b00 vldr d7, [r3] 803249e: ee25 5b07 vmul.f64 d5, d5, d7 80324a2: f507 63cf add.w r3, r7, #1656 ; 0x678 80324a6: ed93 7b00 vldr d7, [r3] 80324aa: ee25 5b07 vmul.f64 d5, d5, d7 80324ae: f507 63cf add.w r3, r7, #1656 ; 0x678 80324b2: ed93 7b00 vldr d7, [r3] 80324b6: ee25 5b07 vmul.f64 d5, d5, d7 80324ba: f507 63cf add.w r3, r7, #1656 ; 0x678 80324be: ed93 7b00 vldr d7, [r3] 80324c2: ee25 7b07 vmul.f64 d7, d5, d7 80324c6: ee36 6b07 vadd.f64 d6, d6, d7 80324ca: f507 63cc add.w r3, r7, #1632 ; 0x660 80324ce: ed93 7b00 vldr d7, [r3] 80324d2: ee26 7b07 vmul.f64 d7, d6, d7 80324d6: 4a5a ldr r2, [pc, #360] ; (8032640 ) 80324d8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80324dc: 3350 adds r3, #80 ; 0x50 80324de: 00db lsls r3, r3, #3 80324e0: 4413 add r3, r2 80324e2: 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; 80324e6: f507 63cb add.w r3, r7, #1624 ; 0x658 80324ea: ed93 7b00 vldr d7, [r3] 80324ee: ed9f 6b52 vldr d6, [pc, #328] ; 8032638 80324f2: ee27 6b06 vmul.f64 d6, d7, d6 80324f6: f507 63d1 add.w r3, r7, #1672 ; 0x688 80324fa: ed93 7b00 vldr d7, [r3] 80324fe: ee26 6b07 vmul.f64 d6, d6, d7 8032502: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032506: ed93 7b00 vldr d7, [r3] 803250a: ee26 6b07 vmul.f64 d6, d6, d7 803250e: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032512: ed93 7b00 vldr d7, [r3] 8032516: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 803251a: ee27 5b05 vmul.f64 d5, d7, d5 803251e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032522: ed93 7b00 vldr d7, [r3] 8032526: ee25 5b07 vmul.f64 d5, d5, d7 803252a: f507 63cf add.w r3, r7, #1656 ; 0x678 803252e: ed93 7b00 vldr d7, [r3] 8032532: ee25 7b07 vmul.f64 d7, d5, d7 8032536: ee36 6b47 vsub.f64 d6, d6, d7 803253a: f507 63cb add.w r3, r7, #1624 ; 0x658 803253e: ed93 7b00 vldr d7, [r3] 8032542: eeb1 5b08 vmov.f64 d5, #24 ; 0x40c00000 6.0 8032546: ee27 5b05 vmul.f64 d5, d7, d5 803254a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803254e: ed93 7b00 vldr d7, [r3] 8032552: ee25 5b07 vmul.f64 d5, d5, d7 8032556: f507 63d1 add.w r3, r7, #1672 ; 0x688 803255a: ed93 7b00 vldr d7, [r3] 803255e: ee25 5b07 vmul.f64 d5, d5, d7 8032562: f507 63cf add.w r3, r7, #1656 ; 0x678 8032566: ed93 7b00 vldr d7, [r3] 803256a: ee25 5b07 vmul.f64 d5, d5, d7 803256e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032572: ed93 7b00 vldr d7, [r3] 8032576: ee25 5b07 vmul.f64 d5, d5, d7 803257a: f507 63cf add.w r3, r7, #1656 ; 0x678 803257e: ed93 7b00 vldr d7, [r3] 8032582: ee25 5b07 vmul.f64 d5, d5, d7 8032586: f507 63cf add.w r3, r7, #1656 ; 0x678 803258a: ed93 7b00 vldr d7, [r3] 803258e: ee25 7b07 vmul.f64 d7, d5, d7 8032592: ee36 6b07 vadd.f64 d6, d6, d7 8032596: f507 63cb add.w r3, r7, #1624 ; 0x658 803259a: ed93 7b00 vldr d7, [r3] 803259e: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 80325a2: ee27 5b05 vmul.f64 d5, d7, d5 80325a6: f507 63d1 add.w r3, r7, #1672 ; 0x688 80325aa: ed93 7b00 vldr d7, [r3] 80325ae: ee25 5b07 vmul.f64 d5, d5, d7 80325b2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80325b6: ed93 7b00 vldr d7, [r3] 80325ba: ee25 5b07 vmul.f64 d5, d5, d7 80325be: f507 63cf add.w r3, r7, #1656 ; 0x678 80325c2: ed93 7b00 vldr d7, [r3] 80325c6: ee25 5b07 vmul.f64 d5, d5, d7 80325ca: f507 63cf add.w r3, r7, #1656 ; 0x678 80325ce: ed93 7b00 vldr d7, [r3] 80325d2: ee25 7b07 vmul.f64 d7, d5, d7 80325d6: ee36 6b47 vsub.f64 d6, d6, d7 80325da: f507 63cc add.w r3, r7, #1632 ; 0x660 80325de: ed93 7b00 vldr d7, [r3] 80325e2: ee26 7b07 vmul.f64 d7, d6, d7 80325e6: 4a16 ldr r2, [pc, #88] ; (8032640 ) 80325e8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80325ec: 3346 adds r3, #70 ; 0x46 80325ee: 00db lsls r3, r3, #3 80325f0: 4413 add r3, r2 80325f2: 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; 80325f6: f507 63cb add.w r3, r7, #1624 ; 0x658 80325fa: ed93 7b00 vldr d7, [r3] 80325fe: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8032602: ee27 6b06 vmul.f64 d6, d7, d6 8032606: f507 63d1 add.w r3, r7, #1672 ; 0x688 803260a: ed93 7b00 vldr d7, [r3] 803260e: ee26 6b07 vmul.f64 d6, d6, d7 8032612: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032616: ed93 7b00 vldr d7, [r3] 803261a: ee26 6b07 vmul.f64 d6, d6, d7 803261e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032622: ed93 7b00 vldr d7, [r3] 8032626: ee26 6b07 vmul.f64 d6, d6, d7 803262a: f507 63cf add.w r3, r7, #1656 ; 0x678 803262e: e009 b.n 8032644 8032630: 00000000 .word 0x00000000 8032634: 40500000 .word 0x40500000 8032638: 00000000 .word 0x00000000 803263c: 40580000 .word 0x40580000 8032640: 20025970 .word 0x20025970 8032644: ed93 7b00 vldr d7, [r3] 8032648: ee26 6b07 vmul.f64 d6, d6, d7 803264c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032650: ed93 7b00 vldr d7, [r3] 8032654: ee26 6b07 vmul.f64 d6, d6, d7 8032658: f507 63cf add.w r3, r7, #1656 ; 0x678 803265c: ed93 7b00 vldr d7, [r3] 8032660: ee26 6b07 vmul.f64 d6, d6, d7 8032664: f507 63cb add.w r3, r7, #1624 ; 0x658 8032668: ed93 7b00 vldr d7, [r3] 803266c: ed9f 5bda vldr d5, [pc, #872] ; 80329d8 8032670: ee27 5b05 vmul.f64 d5, d7, d5 8032674: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032678: ed93 7b00 vldr d7, [r3] 803267c: ee25 5b07 vmul.f64 d5, d5, d7 8032680: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032684: ed93 7b00 vldr d7, [r3] 8032688: ee25 7b07 vmul.f64 d7, d5, d7 803268c: ee36 6b47 vsub.f64 d6, d6, d7 8032690: f507 63ca add.w r3, r7, #1616 ; 0x650 8032694: ed93 7b00 vldr d7, [r3] 8032698: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803269c: ee27 5b05 vmul.f64 d5, d7, d5 80326a0: f507 63d1 add.w r3, r7, #1672 ; 0x688 80326a4: ed93 7b00 vldr d7, [r3] 80326a8: ee25 5b07 vmul.f64 d5, d5, d7 80326ac: f507 63cf add.w r3, r7, #1656 ; 0x678 80326b0: ed93 7b00 vldr d7, [r3] 80326b4: ee25 5b07 vmul.f64 d5, d5, d7 80326b8: f507 63cf add.w r3, r7, #1656 ; 0x678 80326bc: ed93 7b00 vldr d7, [r3] 80326c0: ee25 5b07 vmul.f64 d5, d5, d7 80326c4: f507 63cf add.w r3, r7, #1656 ; 0x678 80326c8: ed93 7b00 vldr d7, [r3] 80326cc: ee25 7b07 vmul.f64 d7, d5, d7 80326d0: ee36 6b07 vadd.f64 d6, d6, d7 80326d4: f507 63ca add.w r3, r7, #1616 ; 0x650 80326d8: ed93 7b00 vldr d7, [r3] 80326dc: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 80326e0: ee27 5b05 vmul.f64 d5, d7, d5 80326e4: f507 63d1 add.w r3, r7, #1672 ; 0x688 80326e8: ed93 7b00 vldr d7, [r3] 80326ec: ee25 5b07 vmul.f64 d5, d5, d7 80326f0: f507 63cf add.w r3, r7, #1656 ; 0x678 80326f4: ed93 7b00 vldr d7, [r3] 80326f8: ee25 7b07 vmul.f64 d7, d5, d7 80326fc: ee36 6b47 vsub.f64 d6, d6, d7 8032700: f507 63cc add.w r3, r7, #1632 ; 0x660 8032704: ed93 7b00 vldr d7, [r3] 8032708: ee26 7b07 vmul.f64 d7, d6, d7 803270c: 4ab6 ldr r2, [pc, #728] ; (80329e8 ) 803270e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032712: 333c adds r3, #60 ; 0x3c 8032714: 00db lsls r3, r3, #3 8032716: 4413 add r3, r2 8032718: 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; 803271c: f507 63cb add.w r3, r7, #1624 ; 0x658 8032720: ed93 7b00 vldr d7, [r3] 8032724: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 8032728: ee27 6b06 vmul.f64 d6, d7, d6 803272c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032730: ed93 7b00 vldr d7, [r3] 8032734: ee26 6b07 vmul.f64 d6, d6, d7 8032738: f507 63d1 add.w r3, r7, #1672 ; 0x688 803273c: ed93 7b00 vldr d7, [r3] 8032740: ee26 6b07 vmul.f64 d6, d6, d7 8032744: f507 63ca add.w r3, r7, #1616 ; 0x650 8032748: ed93 7b00 vldr d7, [r3] 803274c: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8032750: ee27 5b05 vmul.f64 d5, d7, d5 8032754: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032758: ed93 7b00 vldr d7, [r3] 803275c: ee25 5b07 vmul.f64 d5, d5, d7 8032760: f507 63cf add.w r3, r7, #1656 ; 0x678 8032764: ed93 7b00 vldr d7, [r3] 8032768: ee25 7b07 vmul.f64 d7, d5, d7 803276c: ee36 6b07 vadd.f64 d6, d6, d7 8032770: f507 63cb add.w r3, r7, #1624 ; 0x658 8032774: ed93 7b00 vldr d7, [r3] 8032778: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 803277c: ee27 5b05 vmul.f64 d5, d7, d5 8032780: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032784: ed93 7b00 vldr d7, [r3] 8032788: ee25 5b07 vmul.f64 d5, d5, d7 803278c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032790: ed93 7b00 vldr d7, [r3] 8032794: ee25 5b07 vmul.f64 d5, d5, d7 8032798: f507 63cf add.w r3, r7, #1656 ; 0x678 803279c: ed93 7b00 vldr d7, [r3] 80327a0: ee25 5b07 vmul.f64 d5, d5, d7 80327a4: f507 63cf add.w r3, r7, #1656 ; 0x678 80327a8: ed93 7b00 vldr d7, [r3] 80327ac: ee25 7b07 vmul.f64 d7, d5, d7 80327b0: ee36 6b07 vadd.f64 d6, d6, d7 80327b4: f507 63ca add.w r3, r7, #1616 ; 0x650 80327b8: ed93 7b00 vldr d7, [r3] 80327bc: ee37 5b07 vadd.f64 d5, d7, d7 80327c0: f507 63d1 add.w r3, r7, #1672 ; 0x688 80327c4: ed93 7b00 vldr d7, [r3] 80327c8: ee25 5b07 vmul.f64 d5, d5, d7 80327cc: f507 63cf add.w r3, r7, #1656 ; 0x678 80327d0: ed93 7b00 vldr d7, [r3] 80327d4: ee25 5b07 vmul.f64 d5, d5, d7 80327d8: f507 63cf add.w r3, r7, #1656 ; 0x678 80327dc: ed93 7b00 vldr d7, [r3] 80327e0: ee25 5b07 vmul.f64 d5, d5, d7 80327e4: f507 63cf add.w r3, r7, #1656 ; 0x678 80327e8: ed93 7b00 vldr d7, [r3] 80327ec: ee25 7b07 vmul.f64 d7, d5, d7 80327f0: ee36 6b07 vadd.f64 d6, d6, d7 80327f4: f507 63c9 add.w r3, r7, #1608 ; 0x648 80327f8: ed93 7b00 vldr d7, [r3] 80327fc: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8032800: ee27 5b05 vmul.f64 d5, d7, d5 8032804: f507 63cf add.w r3, r7, #1656 ; 0x678 8032808: ed93 7b00 vldr d7, [r3] 803280c: ee25 5b07 vmul.f64 d5, d5, d7 8032810: f507 63cf add.w r3, r7, #1656 ; 0x678 8032814: ed93 7b00 vldr d7, [r3] 8032818: ee25 7b07 vmul.f64 d7, d5, d7 803281c: ee36 6b07 vadd.f64 d6, d6, d7 8032820: f507 63cb add.w r3, r7, #1624 ; 0x658 8032824: ed93 5b00 vldr d5, [r3] 8032828: f507 63d1 add.w r3, r7, #1672 ; 0x688 803282c: ed93 7b00 vldr d7, [r3] 8032830: ee25 5b07 vmul.f64 d5, d5, d7 8032834: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032838: ed93 7b00 vldr d7, [r3] 803283c: ee25 5b07 vmul.f64 d5, d5, d7 8032840: f507 63cf add.w r3, r7, #1656 ; 0x678 8032844: ed93 7b00 vldr d7, [r3] 8032848: ee25 5b07 vmul.f64 d5, d5, d7 803284c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032850: ed93 7b00 vldr d7, [r3] 8032854: ee25 5b07 vmul.f64 d5, d5, d7 8032858: f507 63cf add.w r3, r7, #1656 ; 0x678 803285c: ed93 7b00 vldr d7, [r3] 8032860: ee25 5b07 vmul.f64 d5, d5, d7 8032864: f507 63cf add.w r3, r7, #1656 ; 0x678 8032868: ed93 7b00 vldr d7, [r3] 803286c: ee25 7b07 vmul.f64 d7, d5, d7 8032870: ee36 6b07 vadd.f64 d6, d6, d7 8032874: f507 63cc add.w r3, r7, #1632 ; 0x660 8032878: ed93 7b00 vldr d7, [r3] 803287c: ee26 7b07 vmul.f64 d7, d6, d7 8032880: 4a59 ldr r2, [pc, #356] ; (80329e8 ) 8032882: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032886: 3332 adds r3, #50 ; 0x32 8032888: 00db lsls r3, r3, #3 803288a: 4413 add r3, r2 803288c: 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) 8032890: f507 63cf add.w r3, r7, #1656 ; 0x678 8032894: ed93 7b00 vldr d7, [r3] 8032898: eeb0 6b00 vmov.f64 d6, #0 ; 0x40000000 2.0 803289c: ee37 7b46 vsub.f64 d7, d7, d6 80328a0: eeb0 7bc7 vabs.f64 d7, d7 80328a4: ed9f 6b4e vldr d6, [pc, #312] ; 80329e0 80328a8: eeb4 7bc6 vcmpe.f64 d7, d6 80328ac: eef1 fa10 vmrs APSR_nzcv, fpscr 80328b0: d52f bpl.n 8032912 { IIR.a3[j] = 0.0; 80328b2: 4a4d ldr r2, [pc, #308] ; (80329e8 ) 80328b4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80328b8: 331e adds r3, #30 80328ba: 00db lsls r3, r3, #3 80328bc: 441a add r2, r3 80328be: f04f 0300 mov.w r3, #0 80328c2: f04f 0400 mov.w r4, #0 80328c6: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = 0.0; 80328ca: 4a47 ldr r2, [pc, #284] ; (80329e8 ) 80328cc: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80328d0: 330a adds r3, #10 80328d2: 00db lsls r3, r3, #3 80328d4: 441a add r2, r3 80328d6: f04f 0300 mov.w r3, #0 80328da: f04f 0400 mov.w r4, #0 80328de: e882 0018 stmia.w r2, {r3, r4} IIR.b3[j] = 0.0; 80328e2: 4a41 ldr r2, [pc, #260] ; (80329e8 ) 80328e4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80328e8: 3350 adds r3, #80 ; 0x50 80328ea: 00db lsls r3, r3, #3 80328ec: 441a add r2, r3 80328ee: f04f 0300 mov.w r3, #0 80328f2: f04f 0400 mov.w r4, #0 80328f6: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = 0.0; 80328fa: 4a3b ldr r2, [pc, #236] ; (80329e8 ) 80328fc: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032900: 333c adds r3, #60 ; 0x3c 8032902: 00db lsls r3, r3, #3 8032904: 441a add r2, r3 8032906: f04f 0300 mov.w r3, #0 803290a: f04f 0400 mov.w r4, #0 803290e: 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]; 8032912: 4a35 ldr r2, [pc, #212] ; (80329e8 ) 8032914: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032918: 3328 adds r3, #40 ; 0x28 803291a: 00db lsls r3, r3, #3 803291c: 4413 add r3, r2 803291e: cb18 ldmia r3, {r3, r4} 8032920: f507 62c3 add.w r2, r7, #1560 ; 0x618 8032924: e882 0018 stmia.w r2, {r3, r4} Coeff[1] = IIR.a3[j]; 8032928: 4a2f ldr r2, [pc, #188] ; (80329e8 ) 803292a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803292e: 331e adds r3, #30 8032930: 00db lsls r3, r3, #3 8032932: 4413 add r3, r2 8032934: cb18 ldmia r3, {r3, r4} 8032936: f507 62c4 add.w r2, r7, #1568 ; 0x620 803293a: e882 0018 stmia.w r2, {r3, r4} Coeff[2] = IIR.a2[j]; 803293e: 4a2a ldr r2, [pc, #168] ; (80329e8 ) 8032940: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032944: 3314 adds r3, #20 8032946: 00db lsls r3, r3, #3 8032948: 4413 add r3, r2 803294a: cb18 ldmia r3, {r3, r4} 803294c: f507 62c5 add.w r2, r7, #1576 ; 0x628 8032950: e882 0018 stmia.w r2, {r3, r4} Coeff[3] = IIR.a1[j]; 8032954: 4a24 ldr r2, [pc, #144] ; (80329e8 ) 8032956: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803295a: 330a adds r3, #10 803295c: 00db lsls r3, r3, #3 803295e: 4413 add r3, r2 8032960: cb18 ldmia r3, {r3, r4} 8032962: f507 62c6 add.w r2, r7, #1584 ; 0x630 8032966: e882 0018 stmia.w r2, {r3, r4} Coeff[4] = IIR.a0[j]; 803296a: 4a1f ldr r2, [pc, #124] ; (80329e8 ) 803296c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032970: 00db lsls r3, r3, #3 8032972: 4413 add r3, r2 8032974: cb18 ldmia r3, {r3, r4} 8032976: f507 62c7 add.w r2, r7, #1592 ; 0x638 803297a: e882 0018 stmia.w r2, {r3, r4} QuadCubicRoots(4, Coeff, RealRoot, ImagRoot); 803297e: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8032982: f507 62bf add.w r2, r7, #1528 ; 0x5f8 8032986: f507 61c3 add.w r1, r7, #1560 ; 0x618 803298a: 2004 movs r0, #4 803298c: f002 f8e0 bl 8034b50 // 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]); 8032990: 4a15 ldr r2, [pc, #84] ; (80329e8 ) 8032992: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032996: 3328 adds r3, #40 ; 0x28 8032998: 00db lsls r3, r3, #3 803299a: 4413 add r3, r2 803299c: ed93 7b00 vldr d7, [r3] 80329a0: eeb5 7bc0 vcmpe.f64 d7, #0.0 80329a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80329a8: d520 bpl.n 80329ec 80329aa: 4a0f ldr r2, [pc, #60] ; (80329e8 ) 80329ac: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80329b0: 3328 adds r3, #40 ; 0x28 80329b2: 00db lsls r3, r3, #3 80329b4: 4413 add r3, r2 80329b6: ed93 7b00 vldr d7, [r3] 80329ba: eeb1 7b47 vneg.f64 d7, d7 80329be: eeb0 0b47 vmov.f64 d0, d7 80329c2: f09d fabd bl 80cff40 80329c6: eeb0 7b40 vmov.f64 d7, d0 80329ca: eeb1 7b47 vneg.f64 d7, d7 80329ce: f507 63d2 add.w r3, r7, #1680 ; 0x690 80329d2: ed83 7b00 vstr d7, [r3] 80329d6: e019 b.n 8032a0c 80329d8: 00000000 .word 0x00000000 80329dc: 40500000 .word 0x40500000 80329e0: d2f1a9fc .word 0xd2f1a9fc 80329e4: 3f40624d .word 0x3f40624d 80329e8: 20025970 .word 0x20025970 else Scalar = sqrt(IIR.a4[j]); 80329ec: 4ada ldr r2, [pc, #872] ; (8032d58 ) 80329ee: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80329f2: 3328 adds r3, #40 ; 0x28 80329f4: 00db lsls r3, r3, #3 80329f6: 4413 add r3, r2 80329f8: ed93 7b00 vldr d7, [r3] 80329fc: eeb0 0b47 vmov.f64 d0, d7 8032a00: f09d fa9e bl 80cff40 8032a04: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032a08: ed83 0b00 vstr d0, [r3] // Form the 2nd order polys from the roots. a2[k] = Scalar; 8032a0c: f507 62b1 add.w r2, r7, #1416 ; 0x588 8032a10: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032a14: 00db lsls r3, r3, #3 8032a16: 441a add r2, r3 8032a18: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032a1c: cb18 ldmia r3, {r3, r4} 8032a1e: e882 0018 stmia.w r2, {r3, r4} a1[k] = -(RealRoot[0] + RealRoot[1]) * Scalar; 8032a22: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8032a26: ed93 6b00 vldr d6, [r3] 8032a2a: f507 63c0 add.w r3, r7, #1536 ; 0x600 8032a2e: ed93 7b00 vldr d7, [r3] 8032a32: ee36 7b07 vadd.f64 d7, d6, d7 8032a36: eeb1 6b47 vneg.f64 d6, d7 8032a3a: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032a3e: ed93 7b00 vldr d7, [r3] 8032a42: ee26 7b07 vmul.f64 d7, d6, d7 8032a46: f507 62a7 add.w r2, r7, #1336 ; 0x538 8032a4a: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032a4e: 00db lsls r3, r3, #3 8032a50: 4413 add r3, r2 8032a52: ed83 7b00 vstr d7, [r3] a0[k] = (RealRoot[0] * RealRoot[1] - ImagRoot[0] * ImagRoot[1]) * Scalar; 8032a56: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8032a5a: ed93 6b00 vldr d6, [r3] 8032a5e: f507 63c0 add.w r3, r7, #1536 ; 0x600 8032a62: ed93 7b00 vldr d7, [r3] 8032a66: ee26 6b07 vmul.f64 d6, d6, d7 8032a6a: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8032a6e: ed93 5b00 vldr d5, [r3] 8032a72: f507 63bc add.w r3, r7, #1504 ; 0x5e0 8032a76: ed93 7b00 vldr d7, [r3] 8032a7a: ee25 7b07 vmul.f64 d7, d5, d7 8032a7e: ee36 6b47 vsub.f64 d6, d6, d7 8032a82: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032a86: ed93 7b00 vldr d7, [r3] 8032a8a: ee26 7b07 vmul.f64 d7, d6, d7 8032a8e: f507 629d add.w r2, r7, #1256 ; 0x4e8 8032a92: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032a96: 00db lsls r3, r3, #3 8032a98: 4413 add r3, r2 8032a9a: ed83 7b00 vstr d7, [r3] k++; 8032a9e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032aa2: 3301 adds r3, #1 8032aa4: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 a2[k] = Scalar; 8032aa8: f507 62b1 add.w r2, r7, #1416 ; 0x588 8032aac: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032ab0: 00db lsls r3, r3, #3 8032ab2: 441a add r2, r3 8032ab4: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032ab8: cb18 ldmia r3, {r3, r4} 8032aba: e882 0018 stmia.w r2, {r3, r4} a1[k] = -(RealRoot[2] + RealRoot[3]) * Scalar; 8032abe: f507 63c1 add.w r3, r7, #1544 ; 0x608 8032ac2: ed93 6b00 vldr d6, [r3] 8032ac6: f507 63c2 add.w r3, r7, #1552 ; 0x610 8032aca: ed93 7b00 vldr d7, [r3] 8032ace: ee36 7b07 vadd.f64 d7, d6, d7 8032ad2: eeb1 6b47 vneg.f64 d6, d7 8032ad6: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032ada: ed93 7b00 vldr d7, [r3] 8032ade: ee26 7b07 vmul.f64 d7, d6, d7 8032ae2: f507 62a7 add.w r2, r7, #1336 ; 0x538 8032ae6: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032aea: 00db lsls r3, r3, #3 8032aec: 4413 add r3, r2 8032aee: ed83 7b00 vstr d7, [r3] a0[k] = (RealRoot[2] * RealRoot[3] - ImagRoot[2] * ImagRoot[3]) * Scalar; 8032af2: f507 63c1 add.w r3, r7, #1544 ; 0x608 8032af6: ed93 6b00 vldr d6, [r3] 8032afa: f507 63c2 add.w r3, r7, #1552 ; 0x610 8032afe: ed93 7b00 vldr d7, [r3] 8032b02: ee26 6b07 vmul.f64 d6, d6, d7 8032b06: f507 63bd add.w r3, r7, #1512 ; 0x5e8 8032b0a: ed93 5b00 vldr d5, [r3] 8032b0e: f507 63be add.w r3, r7, #1520 ; 0x5f0 8032b12: ed93 7b00 vldr d7, [r3] 8032b16: ee25 7b07 vmul.f64 d7, d5, d7 8032b1a: ee36 6b47 vsub.f64 d6, d6, d7 8032b1e: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032b22: ed93 7b00 vldr d7, [r3] 8032b26: ee26 7b07 vmul.f64 d7, d6, d7 8032b2a: f507 629d add.w r2, r7, #1256 ; 0x4e8 8032b2e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032b32: 00db lsls r3, r3, #3 8032b34: 4413 add r3, r2 8032b36: ed83 7b00 vstr d7, [r3] k--; 8032b3a: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032b3e: 3b01 subs r3, #1 8032b40: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 // Now do the same with the numerator. Coeff[0] = IIR.b4[j]; 8032b44: 4a84 ldr r2, [pc, #528] ; (8032d58 ) 8032b46: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032b4a: 335a adds r3, #90 ; 0x5a 8032b4c: 00db lsls r3, r3, #3 8032b4e: 4413 add r3, r2 8032b50: cb18 ldmia r3, {r3, r4} 8032b52: f507 62c3 add.w r2, r7, #1560 ; 0x618 8032b56: e882 0018 stmia.w r2, {r3, r4} Coeff[1] = IIR.b3[j]; 8032b5a: 4a7f ldr r2, [pc, #508] ; (8032d58 ) 8032b5c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032b60: 3350 adds r3, #80 ; 0x50 8032b62: 00db lsls r3, r3, #3 8032b64: 4413 add r3, r2 8032b66: cb18 ldmia r3, {r3, r4} 8032b68: f507 62c4 add.w r2, r7, #1568 ; 0x620 8032b6c: e882 0018 stmia.w r2, {r3, r4} Coeff[2] = IIR.b2[j]; 8032b70: 4a79 ldr r2, [pc, #484] ; (8032d58 ) 8032b72: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032b76: 3346 adds r3, #70 ; 0x46 8032b78: 00db lsls r3, r3, #3 8032b7a: 4413 add r3, r2 8032b7c: cb18 ldmia r3, {r3, r4} 8032b7e: f507 62c5 add.w r2, r7, #1576 ; 0x628 8032b82: e882 0018 stmia.w r2, {r3, r4} Coeff[3] = IIR.b1[j]; 8032b86: 4a74 ldr r2, [pc, #464] ; (8032d58 ) 8032b88: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032b8c: 333c adds r3, #60 ; 0x3c 8032b8e: 00db lsls r3, r3, #3 8032b90: 4413 add r3, r2 8032b92: cb18 ldmia r3, {r3, r4} 8032b94: f507 62c6 add.w r2, r7, #1584 ; 0x630 8032b98: e882 0018 stmia.w r2, {r3, r4} Coeff[4] = IIR.b0[j]; 8032b9c: 4a6e ldr r2, [pc, #440] ; (8032d58 ) 8032b9e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032ba2: 3332 adds r3, #50 ; 0x32 8032ba4: 00db lsls r3, r3, #3 8032ba6: 4413 add r3, r2 8032ba8: cb18 ldmia r3, {r3, r4} 8032baa: f507 62c7 add.w r2, r7, #1592 ; 0x638 8032bae: e882 0018 stmia.w r2, {r3, r4} QuadCubicRoots(4, Coeff, RealRoot, ImagRoot); 8032bb2: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8032bb6: f507 62bf add.w r2, r7, #1528 ; 0x5f8 8032bba: f507 61c3 add.w r1, r7, #1560 ; 0x618 8032bbe: 2004 movs r0, #4 8032bc0: f001 ffc6 bl 8034b50 if(IIR.b4[j] < 0.0)Scalar = -sqrt(-IIR.b4[j]); 8032bc4: 4a64 ldr r2, [pc, #400] ; (8032d58 ) 8032bc6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032bca: 335a adds r3, #90 ; 0x5a 8032bcc: 00db lsls r3, r3, #3 8032bce: 4413 add r3, r2 8032bd0: ed93 7b00 vldr d7, [r3] 8032bd4: eeb5 7bc0 vcmpe.f64 d7, #0.0 8032bd8: eef1 fa10 vmrs APSR_nzcv, fpscr 8032bdc: d516 bpl.n 8032c0c 8032bde: 4a5e ldr r2, [pc, #376] ; (8032d58 ) 8032be0: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032be4: 335a adds r3, #90 ; 0x5a 8032be6: 00db lsls r3, r3, #3 8032be8: 4413 add r3, r2 8032bea: ed93 7b00 vldr d7, [r3] 8032bee: eeb1 7b47 vneg.f64 d7, d7 8032bf2: eeb0 0b47 vmov.f64 d0, d7 8032bf6: f09d f9a3 bl 80cff40 8032bfa: eeb0 7b40 vmov.f64 d7, d0 8032bfe: eeb1 7b47 vneg.f64 d7, d7 8032c02: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032c06: ed83 7b00 vstr d7, [r3] 8032c0a: e00f b.n 8032c2c else Scalar = sqrt(IIR.b4[j]); 8032c0c: 4a52 ldr r2, [pc, #328] ; (8032d58 ) 8032c0e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032c12: 335a adds r3, #90 ; 0x5a 8032c14: 00db lsls r3, r3, #3 8032c16: 4413 add r3, r2 8032c18: ed93 7b00 vldr d7, [r3] 8032c1c: eeb0 0b47 vmov.f64 d0, d7 8032c20: f09d f98e bl 80cff40 8032c24: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032c28: ed83 0b00 vstr d0, [r3] b2[k] = Scalar; 8032c2c: f507 6293 add.w r2, r7, #1176 ; 0x498 8032c30: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032c34: 00db lsls r3, r3, #3 8032c36: 441a add r2, r3 8032c38: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032c3c: cb18 ldmia r3, {r3, r4} 8032c3e: e882 0018 stmia.w r2, {r3, r4} if(ProtoType == ftINVERSE_CHEBY || ProtoType >= ftELLIPTIC_00) 8032c42: f207 230b addw r3, r7, #523 ; 0x20b 8032c46: 781b ldrb r3, [r3, #0] 8032c48: 2b05 cmp r3, #5 8032c4a: d004 beq.n 8032c56 8032c4c: f207 230b addw r3, r7, #523 ; 0x20b 8032c50: 781b ldrb r3, [r3, #0] 8032c52: 2b05 cmp r3, #5 8032c54: d91a bls.n 8032c8c b1[k] = -(RealRoot[0] + RealRoot[1]) * Scalar; 8032c56: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8032c5a: ed93 6b00 vldr d6, [r3] 8032c5e: f507 63c0 add.w r3, r7, #1536 ; 0x600 8032c62: ed93 7b00 vldr d7, [r3] 8032c66: ee36 7b07 vadd.f64 d7, d6, d7 8032c6a: eeb1 6b47 vneg.f64 d6, d7 8032c6e: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032c72: ed93 7b00 vldr d7, [r3] 8032c76: ee26 7b07 vmul.f64 d7, d6, d7 8032c7a: f507 6289 add.w r2, r7, #1096 ; 0x448 8032c7e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032c82: 00db lsls r3, r3, #3 8032c84: 4413 add r3, r2 8032c86: ed83 7b00 vstr d7, [r3] 8032c8a: e00b b.n 8032ca4 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. 8032c8c: f507 6289 add.w r2, r7, #1096 ; 0x448 8032c90: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032c94: 00db lsls r3, r3, #3 8032c96: 441a add r2, r3 8032c98: f04f 0300 mov.w r3, #0 8032c9c: f04f 0400 mov.w r4, #0 8032ca0: e882 0018 stmia.w r2, {r3, r4} b0[k] = (RealRoot[0] * RealRoot[1] - ImagRoot[0] * ImagRoot[1]) * Scalar; 8032ca4: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8032ca8: ed93 6b00 vldr d6, [r3] 8032cac: f507 63c0 add.w r3, r7, #1536 ; 0x600 8032cb0: ed93 7b00 vldr d7, [r3] 8032cb4: ee26 6b07 vmul.f64 d6, d6, d7 8032cb8: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8032cbc: ed93 5b00 vldr d5, [r3] 8032cc0: f507 63bc add.w r3, r7, #1504 ; 0x5e0 8032cc4: ed93 7b00 vldr d7, [r3] 8032cc8: ee25 7b07 vmul.f64 d7, d5, d7 8032ccc: ee36 6b47 vsub.f64 d6, d6, d7 8032cd0: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032cd4: ed93 7b00 vldr d7, [r3] 8032cd8: ee26 7b07 vmul.f64 d7, d6, d7 8032cdc: f507 727e add.w r2, r7, #1016 ; 0x3f8 8032ce0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032ce4: 00db lsls r3, r3, #3 8032ce6: 4413 add r3, r2 8032ce8: ed83 7b00 vstr d7, [r3] k++; 8032cec: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032cf0: 3301 adds r3, #1 8032cf2: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 b2[k] = Scalar; 8032cf6: f507 6293 add.w r2, r7, #1176 ; 0x498 8032cfa: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032cfe: 00db lsls r3, r3, #3 8032d00: 441a add r2, r3 8032d02: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032d06: cb18 ldmia r3, {r3, r4} 8032d08: e882 0018 stmia.w r2, {r3, r4} if(ProtoType == ftINVERSE_CHEBY || ProtoType >= ftELLIPTIC_00) 8032d0c: f207 230b addw r3, r7, #523 ; 0x20b 8032d10: 781b ldrb r3, [r3, #0] 8032d12: 2b05 cmp r3, #5 8032d14: d004 beq.n 8032d20 8032d16: f207 230b addw r3, r7, #523 ; 0x20b 8032d1a: 781b ldrb r3, [r3, #0] 8032d1c: 2b05 cmp r3, #5 8032d1e: d91d bls.n 8032d5c b1[k] = -(RealRoot[2] + RealRoot[3]) * Scalar; 8032d20: f507 63c1 add.w r3, r7, #1544 ; 0x608 8032d24: ed93 6b00 vldr d6, [r3] 8032d28: f507 63c2 add.w r3, r7, #1552 ; 0x610 8032d2c: ed93 7b00 vldr d7, [r3] 8032d30: ee36 7b07 vadd.f64 d7, d6, d7 8032d34: eeb1 6b47 vneg.f64 d6, d7 8032d38: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032d3c: ed93 7b00 vldr d7, [r3] 8032d40: ee26 7b07 vmul.f64 d7, d6, d7 8032d44: f507 6289 add.w r2, r7, #1096 ; 0x448 8032d48: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032d4c: 00db lsls r3, r3, #3 8032d4e: 4413 add r3, r2 8032d50: ed83 7b00 vstr d7, [r3] 8032d54: e00e b.n 8032d74 8032d56: bf00 nop 8032d58: 20025970 .word 0x20025970 else b1[k] = 0.0; 8032d5c: f507 6289 add.w r2, r7, #1096 ; 0x448 8032d60: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032d64: 00db lsls r3, r3, #3 8032d66: 441a add r2, r3 8032d68: f04f 0300 mov.w r3, #0 8032d6c: f04f 0400 mov.w r4, #0 8032d70: e882 0018 stmia.w r2, {r3, r4} b0[k] = (RealRoot[2] * RealRoot[3] - ImagRoot[2] * ImagRoot[3]) * Scalar; 8032d74: f507 63c1 add.w r3, r7, #1544 ; 0x608 8032d78: ed93 6b00 vldr d6, [r3] 8032d7c: f507 63c2 add.w r3, r7, #1552 ; 0x610 8032d80: ed93 7b00 vldr d7, [r3] 8032d84: ee26 6b07 vmul.f64 d6, d6, d7 8032d88: f507 63bd add.w r3, r7, #1512 ; 0x5e8 8032d8c: ed93 5b00 vldr d5, [r3] 8032d90: f507 63be add.w r3, r7, #1520 ; 0x5f0 8032d94: ed93 7b00 vldr d7, [r3] 8032d98: ee25 7b07 vmul.f64 d7, d5, d7 8032d9c: ee36 6b47 vsub.f64 d6, d6, d7 8032da0: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032da4: ed93 7b00 vldr d7, [r3] 8032da8: ee26 7b07 vmul.f64 d7, d6, d7 8032dac: f507 727e add.w r2, r7, #1016 ; 0x3f8 8032db0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032db4: 00db lsls r3, r3, #3 8032db6: 4413 add r3, r2 8032db8: ed83 7b00 vstr d7, [r3] k++; 8032dbc: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032dc0: 3301 adds r3, #1 8032dc2: 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) 8032dc6: f207 230a addw r3, r7, #522 ; 0x20a 8032dca: 781b ldrb r3, [r3, #0] 8032dcc: 2b03 cmp r3, #3 8032dce: f041 825b bne.w 8034288 { if(A == 0.0 && D == 0.0) // 1 pole 8032dd2: f507 63ce add.w r3, r7, #1648 ; 0x670 8032dd6: ed93 7b00 vldr d7, [r3] 8032dda: eeb5 7b40 vcmp.f64 d7, #0.0 8032dde: eef1 fa10 vmrs APSR_nzcv, fpscr 8032de2: f040 81ad bne.w 8033140 8032de6: f507 63cb add.w r3, r7, #1624 ; 0x658 8032dea: ed93 7b00 vldr d7, [r3] 8032dee: eeb5 7b40 vcmp.f64 d7, #0.0 8032df2: eef1 fa10 vmrs APSR_nzcv, fpscr 8032df6: f040 81a3 bne.w 8033140 { Arg = 2.0*B*T + C*Q*T*T + 4.0*C*Q; 8032dfa: f507 63cd add.w r3, r7, #1640 ; 0x668 8032dfe: ed93 7b00 vldr d7, [r3] 8032e02: ee37 6b07 vadd.f64 d6, d7, d7 8032e06: f507 63cf add.w r3, r7, #1656 ; 0x678 8032e0a: ed93 7b00 vldr d7, [r3] 8032e0e: ee26 6b07 vmul.f64 d6, d6, d7 8032e12: f507 63cc add.w r3, r7, #1632 ; 0x660 8032e16: ed93 5b00 vldr d5, [r3] 8032e1a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032e1e: ed93 7b00 vldr d7, [r3] 8032e22: ee25 5b07 vmul.f64 d5, d5, d7 8032e26: f507 63cf add.w r3, r7, #1656 ; 0x678 8032e2a: ed93 7b00 vldr d7, [r3] 8032e2e: ee25 5b07 vmul.f64 d5, d5, d7 8032e32: f507 63cf add.w r3, r7, #1656 ; 0x678 8032e36: ed93 7b00 vldr d7, [r3] 8032e3a: ee25 7b07 vmul.f64 d7, d5, d7 8032e3e: ee36 6b07 vadd.f64 d6, d6, d7 8032e42: f507 63cc add.w r3, r7, #1632 ; 0x660 8032e46: ed93 7b00 vldr d7, [r3] 8032e4a: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8032e4e: ee27 5b05 vmul.f64 d5, d7, d5 8032e52: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032e56: ed93 7b00 vldr d7, [r3] 8032e5a: ee25 7b07 vmul.f64 d7, d5, d7 8032e5e: ee36 7b07 vadd.f64 d7, d6, d7 8032e62: f507 63c8 add.w r3, r7, #1600 ; 0x640 8032e66: ed83 7b00 vstr d7, [r3] a2[k] = (4.0*C*Q - 2.0*B*T + C*Q*T*T) / Arg; 8032e6a: f507 63cc add.w r3, r7, #1632 ; 0x660 8032e6e: ed93 7b00 vldr d7, [r3] 8032e72: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8032e76: ee27 6b06 vmul.f64 d6, d7, d6 8032e7a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032e7e: ed93 7b00 vldr d7, [r3] 8032e82: ee26 6b07 vmul.f64 d6, d6, d7 8032e86: f507 63cd add.w r3, r7, #1640 ; 0x668 8032e8a: ed93 7b00 vldr d7, [r3] 8032e8e: ee37 5b07 vadd.f64 d5, d7, d7 8032e92: f507 63cf add.w r3, r7, #1656 ; 0x678 8032e96: ed93 7b00 vldr d7, [r3] 8032e9a: ee25 7b07 vmul.f64 d7, d5, d7 8032e9e: ee36 6b47 vsub.f64 d6, d6, d7 8032ea2: f507 63cc add.w r3, r7, #1632 ; 0x660 8032ea6: ed93 5b00 vldr d5, [r3] 8032eaa: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032eae: ed93 7b00 vldr d7, [r3] 8032eb2: ee25 5b07 vmul.f64 d5, d5, d7 8032eb6: f507 63cf add.w r3, r7, #1656 ; 0x678 8032eba: ed93 7b00 vldr d7, [r3] 8032ebe: ee25 5b07 vmul.f64 d5, d5, d7 8032ec2: f507 63cf add.w r3, r7, #1656 ; 0x678 8032ec6: ed93 7b00 vldr d7, [r3] 8032eca: ee25 7b07 vmul.f64 d7, d5, d7 8032ece: ee36 5b07 vadd.f64 d5, d6, d7 8032ed2: f507 63c8 add.w r3, r7, #1600 ; 0x640 8032ed6: ed93 6b00 vldr d6, [r3] 8032eda: ee85 7b06 vdiv.f64 d7, d5, d6 8032ede: f507 62b1 add.w r2, r7, #1416 ; 0x588 8032ee2: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032ee6: 00db lsls r3, r3, #3 8032ee8: 4413 add r3, r2 8032eea: ed83 7b00 vstr d7, [r3] a1[k] = (2.0*C*Q*T*T - 8.0*C*Q) / Arg; 8032eee: f507 63cc add.w r3, r7, #1632 ; 0x660 8032ef2: ed93 7b00 vldr d7, [r3] 8032ef6: ee37 6b07 vadd.f64 d6, d7, d7 8032efa: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032efe: ed93 7b00 vldr d7, [r3] 8032f02: ee26 6b07 vmul.f64 d6, d6, d7 8032f06: f507 63cf add.w r3, r7, #1656 ; 0x678 8032f0a: ed93 7b00 vldr d7, [r3] 8032f0e: ee26 6b07 vmul.f64 d6, d6, d7 8032f12: f507 63cf add.w r3, r7, #1656 ; 0x678 8032f16: ed93 7b00 vldr d7, [r3] 8032f1a: ee26 6b07 vmul.f64 d6, d6, d7 8032f1e: f507 63cc add.w r3, r7, #1632 ; 0x660 8032f22: ed93 7b00 vldr d7, [r3] 8032f26: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8032f2a: ee27 5b05 vmul.f64 d5, d7, d5 8032f2e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032f32: ed93 7b00 vldr d7, [r3] 8032f36: ee25 7b07 vmul.f64 d7, d5, d7 8032f3a: ee36 5b47 vsub.f64 d5, d6, d7 8032f3e: f507 63c8 add.w r3, r7, #1600 ; 0x640 8032f42: ed93 6b00 vldr d6, [r3] 8032f46: ee85 7b06 vdiv.f64 d7, d5, d6 8032f4a: f507 62a7 add.w r2, r7, #1336 ; 0x538 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] a0[k] = 1.0; 8032f5a: f507 629d add.w r2, r7, #1256 ; 0x4e8 8032f5e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032f62: 00db lsls r3, r3, #3 8032f64: 441a add r2, r3 8032f66: f04f 0300 mov.w r3, #0 8032f6a: 4c74 ldr r4, [pc, #464] ; (803313c ) 8032f6c: e882 0018 stmia.w r2, {r3, r4} b2[k] = (4.0*F*Q - 2.0*E*T + F*Q*T*T) / Arg * C/F; 8032f70: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032f74: ed93 7b00 vldr d7, [r3] 8032f78: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8032f7c: ee27 6b06 vmul.f64 d6, d7, d6 8032f80: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032f84: ed93 7b00 vldr d7, [r3] 8032f88: ee26 6b07 vmul.f64 d6, d6, d7 8032f8c: f507 63ca add.w r3, r7, #1616 ; 0x650 8032f90: ed93 7b00 vldr d7, [r3] 8032f94: ee37 5b07 vadd.f64 d5, d7, d7 8032f98: f507 63cf add.w r3, r7, #1656 ; 0x678 8032f9c: ed93 7b00 vldr d7, [r3] 8032fa0: ee25 7b07 vmul.f64 d7, d5, d7 8032fa4: ee36 6b47 vsub.f64 d6, d6, d7 8032fa8: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032fac: ed93 5b00 vldr d5, [r3] 8032fb0: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032fb4: ed93 7b00 vldr d7, [r3] 8032fb8: ee25 5b07 vmul.f64 d5, d5, d7 8032fbc: f507 63cf add.w r3, r7, #1656 ; 0x678 8032fc0: ed93 7b00 vldr d7, [r3] 8032fc4: ee25 5b07 vmul.f64 d5, d5, d7 8032fc8: f507 63cf add.w r3, r7, #1656 ; 0x678 8032fcc: ed93 7b00 vldr d7, [r3] 8032fd0: ee25 7b07 vmul.f64 d7, d5, d7 8032fd4: ee36 5b07 vadd.f64 d5, d6, d7 8032fd8: f507 63c8 add.w r3, r7, #1600 ; 0x640 8032fdc: ed93 7b00 vldr d7, [r3] 8032fe0: ee85 6b07 vdiv.f64 d6, d5, d7 8032fe4: f507 63cc add.w r3, r7, #1632 ; 0x660 8032fe8: ed93 7b00 vldr d7, [r3] 8032fec: ee26 5b07 vmul.f64 d5, d6, d7 8032ff0: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032ff4: ed93 6b00 vldr d6, [r3] 8032ff8: ee85 7b06 vdiv.f64 d7, d5, d6 8032ffc: f507 6293 add.w r2, r7, #1176 ; 0x498 8033000: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033004: 00db lsls r3, r3, #3 8033006: 4413 add r3, r2 8033008: ed83 7b00 vstr d7, [r3] b1[k] = (2.0*F*Q*T*T - 8.0*F*Q) / Arg *C/F; 803300c: f507 63c9 add.w r3, r7, #1608 ; 0x648 8033010: ed93 7b00 vldr d7, [r3] 8033014: ee37 6b07 vadd.f64 d6, d7, d7 8033018: f507 63d1 add.w r3, r7, #1672 ; 0x688 803301c: ed93 7b00 vldr d7, [r3] 8033020: ee26 6b07 vmul.f64 d6, d6, d7 8033024: f507 63cf add.w r3, r7, #1656 ; 0x678 8033028: ed93 7b00 vldr d7, [r3] 803302c: ee26 6b07 vmul.f64 d6, d6, d7 8033030: f507 63cf add.w r3, r7, #1656 ; 0x678 8033034: ed93 7b00 vldr d7, [r3] 8033038: ee26 6b07 vmul.f64 d6, d6, d7 803303c: f507 63c9 add.w r3, r7, #1608 ; 0x648 8033040: ed93 7b00 vldr d7, [r3] 8033044: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8033048: ee27 5b05 vmul.f64 d5, d7, d5 803304c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033050: ed93 7b00 vldr d7, [r3] 8033054: ee25 7b07 vmul.f64 d7, d5, d7 8033058: ee36 5b47 vsub.f64 d5, d6, d7 803305c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8033060: ed93 7b00 vldr d7, [r3] 8033064: ee85 6b07 vdiv.f64 d6, d5, d7 8033068: f507 63cc add.w r3, r7, #1632 ; 0x660 803306c: ed93 7b00 vldr d7, [r3] 8033070: ee26 5b07 vmul.f64 d5, d6, d7 8033074: f507 63c9 add.w r3, r7, #1608 ; 0x648 8033078: ed93 6b00 vldr d6, [r3] 803307c: ee85 7b06 vdiv.f64 d7, d5, d6 8033080: f507 6289 add.w r2, r7, #1096 ; 0x448 8033084: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033088: 00db lsls r3, r3, #3 803308a: 4413 add r3, r2 803308c: ed83 7b00 vstr d7, [r3] b0[k] = (2.0*E*T + F*Q*T*T +4.0*F*Q) / Arg *C/F; 8033090: f507 63ca add.w r3, r7, #1616 ; 0x650 8033094: ed93 7b00 vldr d7, [r3] 8033098: ee37 6b07 vadd.f64 d6, d7, d7 803309c: f507 63cf add.w r3, r7, #1656 ; 0x678 80330a0: ed93 7b00 vldr d7, [r3] 80330a4: ee26 6b07 vmul.f64 d6, d6, d7 80330a8: f507 63c9 add.w r3, r7, #1608 ; 0x648 80330ac: ed93 5b00 vldr d5, [r3] 80330b0: f507 63d1 add.w r3, r7, #1672 ; 0x688 80330b4: ed93 7b00 vldr d7, [r3] 80330b8: ee25 5b07 vmul.f64 d5, d5, d7 80330bc: f507 63cf add.w r3, r7, #1656 ; 0x678 80330c0: ed93 7b00 vldr d7, [r3] 80330c4: ee25 5b07 vmul.f64 d5, d5, d7 80330c8: f507 63cf add.w r3, r7, #1656 ; 0x678 80330cc: ed93 7b00 vldr d7, [r3] 80330d0: ee25 7b07 vmul.f64 d7, d5, d7 80330d4: ee36 6b07 vadd.f64 d6, d6, d7 80330d8: f507 63c9 add.w r3, r7, #1608 ; 0x648 80330dc: ed93 7b00 vldr d7, [r3] 80330e0: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 80330e4: ee27 5b05 vmul.f64 d5, d7, d5 80330e8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80330ec: ed93 7b00 vldr d7, [r3] 80330f0: ee25 7b07 vmul.f64 d7, d5, d7 80330f4: ee36 5b07 vadd.f64 d5, d6, d7 80330f8: f507 63c8 add.w r3, r7, #1600 ; 0x640 80330fc: ed93 7b00 vldr d7, [r3] 8033100: ee85 6b07 vdiv.f64 d6, d5, d7 8033104: f507 63cc add.w r3, r7, #1632 ; 0x660 8033108: ed93 7b00 vldr d7, [r3] 803310c: ee26 5b07 vmul.f64 d5, d6, d7 8033110: f507 63c9 add.w r3, r7, #1608 ; 0x648 8033114: ed93 6b00 vldr d6, [r3] 8033118: ee85 7b06 vdiv.f64 d7, d5, d6 803311c: f507 727e add.w r2, r7, #1016 ; 0x3f8 8033120: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033124: 00db lsls r3, r3, #3 8033126: 4413 add r3, r2 8033128: ed83 7b00 vstr d7, [r3] k++; 803312c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033130: 3301 adds r3, #1 8033132: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 8033136: f001 b8a7 b.w 8034288 803313a: bf00 nop 803313c: 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; 8033140: f507 63ce add.w r3, r7, #1648 ; 0x670 8033144: ed93 7b00 vldr d7, [r3] 8033148: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 803314c: ee27 6b06 vmul.f64 d6, d7, d6 8033150: f507 63cf add.w r3, r7, #1656 ; 0x678 8033154: ed93 7b00 vldr d7, [r3] 8033158: ee26 6b07 vmul.f64 d6, d6, d7 803315c: f507 63cf add.w r3, r7, #1656 ; 0x678 8033160: ed93 7b00 vldr d7, [r3] 8033164: ee26 6b07 vmul.f64 d6, d6, d7 8033168: f507 63cd add.w r3, r7, #1640 ; 0x668 803316c: ed93 7b00 vldr d7, [r3] 8033170: ee37 5b07 vadd.f64 d5, d7, d7 8033174: f507 63cf add.w r3, r7, #1656 ; 0x678 8033178: ed93 7b00 vldr d7, [r3] 803317c: ee25 5b07 vmul.f64 d5, d5, d7 8033180: f507 63cf add.w r3, r7, #1656 ; 0x678 8033184: ed93 7b00 vldr d7, [r3] 8033188: ee25 5b07 vmul.f64 d5, d5, d7 803318c: f507 63cf add.w r3, r7, #1656 ; 0x678 8033190: ed93 7b00 vldr d7, [r3] 8033194: ee25 5b07 vmul.f64 d5, d5, d7 8033198: f507 63d1 add.w r3, r7, #1672 ; 0x688 803319c: ed93 7b00 vldr d7, [r3] 80331a0: ee25 7b07 vmul.f64 d7, d5, d7 80331a4: ee36 6b47 vsub.f64 d6, d6, d7 80331a8: f507 63cc add.w r3, r7, #1632 ; 0x660 80331ac: ed93 7b00 vldr d7, [r3] 80331b0: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80331b4: ee27 5b05 vmul.f64 d5, d7, d5 80331b8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80331bc: ed93 7b00 vldr d7, [r3] 80331c0: ee25 5b07 vmul.f64 d5, d5, d7 80331c4: f507 63d1 add.w r3, r7, #1672 ; 0x688 80331c8: ed93 7b00 vldr d7, [r3] 80331cc: ee25 5b07 vmul.f64 d5, d5, d7 80331d0: f507 63cf add.w r3, r7, #1656 ; 0x678 80331d4: ed93 7b00 vldr d7, [r3] 80331d8: ee25 5b07 vmul.f64 d5, d5, d7 80331dc: f507 63cf add.w r3, r7, #1656 ; 0x678 80331e0: ed93 7b00 vldr d7, [r3] 80331e4: ee25 7b07 vmul.f64 d7, d5, d7 80331e8: ee36 6b07 vadd.f64 d6, d6, d7 80331ec: f507 63cd add.w r3, r7, #1640 ; 0x668 80331f0: ed93 7b00 vldr d7, [r3] 80331f4: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80331f8: ee27 5b05 vmul.f64 d5, d7, d5 80331fc: f507 63cf add.w r3, r7, #1656 ; 0x678 8033200: ed93 7b00 vldr d7, [r3] 8033204: ee25 5b07 vmul.f64 d5, d5, d7 8033208: f507 63d1 add.w r3, r7, #1672 ; 0x688 803320c: ed93 7b00 vldr d7, [r3] 8033210: ee25 7b07 vmul.f64 d7, d5, d7 8033214: ee36 6b47 vsub.f64 d6, d6, d7 8033218: f507 63cc add.w r3, r7, #1632 ; 0x660 803321c: ed93 5b00 vldr d5, [r3] 8033220: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033224: ed93 7b00 vldr d7, [r3] 8033228: ee25 5b07 vmul.f64 d5, d5, d7 803322c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033230: ed93 7b00 vldr d7, [r3] 8033234: ee25 5b07 vmul.f64 d5, d5, d7 8033238: f507 63cf add.w r3, r7, #1656 ; 0x678 803323c: ed93 7b00 vldr d7, [r3] 8033240: ee25 5b07 vmul.f64 d5, d5, d7 8033244: f507 63cf add.w r3, r7, #1656 ; 0x678 8033248: ed93 7b00 vldr d7, [r3] 803324c: ee25 5b07 vmul.f64 d5, d5, d7 8033250: f507 63cf add.w r3, r7, #1656 ; 0x678 8033254: ed93 7b00 vldr d7, [r3] 8033258: ee25 5b07 vmul.f64 d5, d5, d7 803325c: f507 63cf add.w r3, r7, #1656 ; 0x678 8033260: ed93 7b00 vldr d7, [r3] 8033264: ee25 7b07 vmul.f64 d7, d5, d7 8033268: ee36 6b07 vadd.f64 d6, d6, d7 803326c: f507 63cc add.w r3, r7, #1632 ; 0x660 8033270: ed93 7b00 vldr d7, [r3] 8033274: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8033278: ee27 5b05 vmul.f64 d5, d7, d5 803327c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033280: ed93 7b00 vldr d7, [r3] 8033284: ee25 5b07 vmul.f64 d5, d5, d7 8033288: f507 63d1 add.w r3, r7, #1672 ; 0x688 803328c: ed93 7b00 vldr d7, [r3] 8033290: ee25 7b07 vmul.f64 d7, d5, d7 8033294: ee36 6b07 vadd.f64 d6, d6, d7 8033298: f507 63c9 add.w r3, r7, #1608 ; 0x648 803329c: ed93 7b00 vldr d7, [r3] 80332a0: eeb1 7b47 vneg.f64 d7, d7 80332a4: ee26 7b07 vmul.f64 d7, d6, d7 80332a8: 4afb ldr r2, [pc, #1004] ; (8033698 ) 80332aa: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80332ae: 3328 adds r3, #40 ; 0x28 80332b0: 00db lsls r3, r3, #3 80332b2: 4413 add r3, r2 80332b4: 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; 80332b8: f507 63cd add.w r3, r7, #1640 ; 0x668 80332bc: ed93 7b00 vldr d7, [r3] 80332c0: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 80332c4: ee27 6b06 vmul.f64 d6, d7, d6 80332c8: f507 63cf add.w r3, r7, #1656 ; 0x678 80332cc: ed93 7b00 vldr d7, [r3] 80332d0: ee26 6b07 vmul.f64 d6, d6, d7 80332d4: f507 63d1 add.w r3, r7, #1672 ; 0x688 80332d8: ed93 7b00 vldr d7, [r3] 80332dc: ee26 6b07 vmul.f64 d6, d6, d7 80332e0: f507 63cc add.w r3, r7, #1632 ; 0x660 80332e4: ed93 7b00 vldr d7, [r3] 80332e8: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 80332ec: ee27 5b05 vmul.f64 d5, d7, d5 80332f0: f507 63d1 add.w r3, r7, #1672 ; 0x688 80332f4: ed93 7b00 vldr d7, [r3] 80332f8: ee25 5b07 vmul.f64 d5, d5, d7 80332fc: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033300: ed93 7b00 vldr d7, [r3] 8033304: ee25 5b07 vmul.f64 d5, d5, d7 8033308: f507 63cf add.w r3, r7, #1656 ; 0x678 803330c: ed93 7b00 vldr d7, [r3] 8033310: ee25 5b07 vmul.f64 d5, d5, d7 8033314: f507 63cf add.w r3, r7, #1656 ; 0x678 8033318: ed93 7b00 vldr d7, [r3] 803331c: ee25 5b07 vmul.f64 d5, d5, d7 8033320: f507 63cf add.w r3, r7, #1656 ; 0x678 8033324: ed93 7b00 vldr d7, [r3] 8033328: ee25 5b07 vmul.f64 d5, d5, d7 803332c: f507 63cf add.w r3, r7, #1656 ; 0x678 8033330: ed93 7b00 vldr d7, [r3] 8033334: ee25 7b07 vmul.f64 d7, d5, d7 8033338: ee36 6b07 vadd.f64 d6, d6, d7 803333c: f507 63cc add.w r3, r7, #1632 ; 0x660 8033340: ed93 7b00 vldr d7, [r3] 8033344: ed9f 5bd0 vldr d5, [pc, #832] ; 8033688 8033348: ee27 5b05 vmul.f64 d5, d7, d5 803334c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033350: ed93 7b00 vldr d7, [r3] 8033354: ee25 5b07 vmul.f64 d5, d5, d7 8033358: f507 63d1 add.w r3, r7, #1672 ; 0x688 803335c: ed93 7b00 vldr d7, [r3] 8033360: ee25 7b07 vmul.f64 d7, d5, d7 8033364: ee36 6b47 vsub.f64 d6, d6, d7 8033368: f507 63cd add.w r3, r7, #1640 ; 0x668 803336c: ed93 7b00 vldr d7, [r3] 8033370: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8033374: ee27 5b05 vmul.f64 d5, d7, d5 8033378: f507 63cf add.w r3, r7, #1656 ; 0x678 803337c: ed93 7b00 vldr d7, [r3] 8033380: ee25 5b07 vmul.f64 d5, d5, d7 8033384: f507 63cf add.w r3, r7, #1656 ; 0x678 8033388: ed93 7b00 vldr d7, [r3] 803338c: ee25 5b07 vmul.f64 d5, d5, d7 8033390: f507 63cf add.w r3, r7, #1656 ; 0x678 8033394: ed93 7b00 vldr d7, [r3] 8033398: ee25 5b07 vmul.f64 d5, d5, d7 803339c: f507 63d1 add.w r3, r7, #1672 ; 0x688 80333a0: ed93 7b00 vldr d7, [r3] 80333a4: ee25 7b07 vmul.f64 d7, d5, d7 80333a8: ee36 6b47 vsub.f64 d6, d6, d7 80333ac: f507 63c9 add.w r3, r7, #1608 ; 0x648 80333b0: ed93 7b00 vldr d7, [r3] 80333b4: eeb1 7b47 vneg.f64 d7, d7 80333b8: ee26 7b07 vmul.f64 d7, d6, d7 80333bc: 4ab6 ldr r2, [pc, #728] ; (8033698 ) 80333be: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80333c2: 331e adds r3, #30 80333c4: 00db lsls r3, r3, #3 80333c6: 4413 add r3, r2 80333c8: 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; 80333cc: f507 63cc add.w r3, r7, #1632 ; 0x660 80333d0: ed93 7b00 vldr d7, [r3] 80333d4: ed9f 6bae vldr d6, [pc, #696] ; 8033690 80333d8: ee27 6b06 vmul.f64 d6, d7, d6 80333dc: f507 63d1 add.w r3, r7, #1672 ; 0x688 80333e0: ed93 7b00 vldr d7, [r3] 80333e4: ee26 6b07 vmul.f64 d6, d6, d7 80333e8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80333ec: ed93 7b00 vldr d7, [r3] 80333f0: ee26 6b07 vmul.f64 d6, d6, d7 80333f4: f507 63ce add.w r3, r7, #1648 ; 0x670 80333f8: ed93 7b00 vldr d7, [r3] 80333fc: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8033400: ee27 5b05 vmul.f64 d5, d7, d5 8033404: f507 63cf add.w r3, r7, #1656 ; 0x678 8033408: ed93 7b00 vldr d7, [r3] 803340c: ee25 5b07 vmul.f64 d5, d5, d7 8033410: f507 63cf add.w r3, r7, #1656 ; 0x678 8033414: ed93 7b00 vldr d7, [r3] 8033418: ee25 7b07 vmul.f64 d7, d5, d7 803341c: ee36 6b47 vsub.f64 d6, d6, d7 8033420: f507 63cc add.w r3, r7, #1632 ; 0x660 8033424: ed93 7b00 vldr d7, [r3] 8033428: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 803342c: ee27 5b05 vmul.f64 d5, d7, d5 8033430: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033434: ed93 7b00 vldr d7, [r3] 8033438: ee25 5b07 vmul.f64 d5, d5, d7 803343c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033440: ed93 7b00 vldr d7, [r3] 8033444: ee25 5b07 vmul.f64 d5, d5, d7 8033448: f507 63cf add.w r3, r7, #1656 ; 0x678 803344c: ed93 7b00 vldr d7, [r3] 8033450: ee25 5b07 vmul.f64 d5, d5, d7 8033454: f507 63cf add.w r3, r7, #1656 ; 0x678 8033458: ed93 7b00 vldr d7, [r3] 803345c: ee25 7b07 vmul.f64 d7, d5, d7 8033460: ee36 6b47 vsub.f64 d6, d6, d7 8033464: f507 63cc add.w r3, r7, #1632 ; 0x660 8033468: ed93 7b00 vldr d7, [r3] 803346c: eeb1 5b08 vmov.f64 d5, #24 ; 0x40c00000 6.0 8033470: ee27 5b05 vmul.f64 d5, d7, d5 8033474: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033478: ed93 7b00 vldr d7, [r3] 803347c: ee25 5b07 vmul.f64 d5, d5, d7 8033480: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033484: ed93 7b00 vldr d7, [r3] 8033488: ee25 5b07 vmul.f64 d5, d5, d7 803348c: f507 63cf add.w r3, r7, #1656 ; 0x678 8033490: ed93 7b00 vldr d7, [r3] 8033494: ee25 5b07 vmul.f64 d5, d5, d7 8033498: f507 63cf add.w r3, r7, #1656 ; 0x678 803349c: ed93 7b00 vldr d7, [r3] 80334a0: ee25 5b07 vmul.f64 d5, d5, d7 80334a4: f507 63cf add.w r3, r7, #1656 ; 0x678 80334a8: ed93 7b00 vldr d7, [r3] 80334ac: ee25 5b07 vmul.f64 d5, d5, d7 80334b0: f507 63cf add.w r3, r7, #1656 ; 0x678 80334b4: ed93 7b00 vldr d7, [r3] 80334b8: ee25 7b07 vmul.f64 d7, d5, d7 80334bc: ee36 6b07 vadd.f64 d6, d6, d7 80334c0: f507 63c9 add.w r3, r7, #1608 ; 0x648 80334c4: ed93 7b00 vldr d7, [r3] 80334c8: eeb1 7b47 vneg.f64 d7, d7 80334cc: ee26 7b07 vmul.f64 d7, d6, d7 80334d0: 4a71 ldr r2, [pc, #452] ; (8033698 ) 80334d2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80334d6: 3314 adds r3, #20 80334d8: 00db lsls r3, r3, #3 80334da: 4413 add r3, r2 80334dc: 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; 80334e0: f507 63cd add.w r3, r7, #1640 ; 0x668 80334e4: ed93 7b00 vldr d7, [r3] 80334e8: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80334ec: ee27 6b06 vmul.f64 d6, d7, d6 80334f0: f507 63cf add.w r3, r7, #1656 ; 0x678 80334f4: ed93 7b00 vldr d7, [r3] 80334f8: ee26 6b07 vmul.f64 d6, d6, d7 80334fc: f507 63cf add.w r3, r7, #1656 ; 0x678 8033500: ed93 7b00 vldr d7, [r3] 8033504: ee26 6b07 vmul.f64 d6, d6, d7 8033508: f507 63cf add.w r3, r7, #1656 ; 0x678 803350c: ed93 7b00 vldr d7, [r3] 8033510: ee26 6b07 vmul.f64 d6, d6, d7 8033514: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033518: ed93 7b00 vldr d7, [r3] 803351c: ee26 6b07 vmul.f64 d6, d6, d7 8033520: f507 63cd add.w r3, r7, #1640 ; 0x668 8033524: ed93 7b00 vldr d7, [r3] 8033528: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 803352c: ee27 5b05 vmul.f64 d5, d7, d5 8033530: f507 63cf add.w r3, r7, #1656 ; 0x678 8033534: ed93 7b00 vldr d7, [r3] 8033538: ee25 5b07 vmul.f64 d5, d5, d7 803353c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033540: ed93 7b00 vldr d7, [r3] 8033544: ee25 7b07 vmul.f64 d7, d5, d7 8033548: ee36 6b47 vsub.f64 d6, d6, d7 803354c: f507 63cc add.w r3, r7, #1632 ; 0x660 8033550: ed93 7b00 vldr d7, [r3] 8033554: ed9f 5b4c vldr d5, [pc, #304] ; 8033688 8033558: ee27 5b05 vmul.f64 d5, d7, d5 803355c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033560: ed93 7b00 vldr d7, [r3] 8033564: ee25 5b07 vmul.f64 d5, d5, d7 8033568: f507 63d1 add.w r3, r7, #1672 ; 0x688 803356c: ed93 7b00 vldr d7, [r3] 8033570: ee25 7b07 vmul.f64 d7, d5, d7 8033574: ee36 6b47 vsub.f64 d6, d6, d7 8033578: f507 63cc add.w r3, r7, #1632 ; 0x660 803357c: ed93 7b00 vldr d7, [r3] 8033580: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8033584: ee27 5b05 vmul.f64 d5, d7, d5 8033588: f507 63d1 add.w r3, r7, #1672 ; 0x688 803358c: ed93 7b00 vldr d7, [r3] 8033590: ee25 5b07 vmul.f64 d5, d5, d7 8033594: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033598: ed93 7b00 vldr d7, [r3] 803359c: ee25 5b07 vmul.f64 d5, d5, d7 80335a0: f507 63cf add.w r3, r7, #1656 ; 0x678 80335a4: ed93 7b00 vldr d7, [r3] 80335a8: ee25 5b07 vmul.f64 d5, d5, d7 80335ac: f507 63cf add.w r3, r7, #1656 ; 0x678 80335b0: ed93 7b00 vldr d7, [r3] 80335b4: ee25 5b07 vmul.f64 d5, d5, d7 80335b8: f507 63cf add.w r3, r7, #1656 ; 0x678 80335bc: ed93 7b00 vldr d7, [r3] 80335c0: ee25 5b07 vmul.f64 d5, d5, d7 80335c4: f507 63cf add.w r3, r7, #1656 ; 0x678 80335c8: ed93 7b00 vldr d7, [r3] 80335cc: ee25 7b07 vmul.f64 d7, d5, d7 80335d0: ee36 6b07 vadd.f64 d6, d6, d7 80335d4: f507 63c9 add.w r3, r7, #1608 ; 0x648 80335d8: ed93 7b00 vldr d7, [r3] 80335dc: eeb1 7b47 vneg.f64 d7, d7 80335e0: ee26 7b07 vmul.f64 d7, d6, d7 80335e4: 4a2c ldr r2, [pc, #176] ; (8033698 ) 80335e6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80335ea: 330a adds r3, #10 80335ec: 00db lsls r3, r3, #3 80335ee: 4413 add r3, r2 80335f0: 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; 80335f4: f507 63ce add.w r3, r7, #1648 ; 0x670 80335f8: ed93 7b00 vldr d7, [r3] 80335fc: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8033600: ee27 6b06 vmul.f64 d6, d7, d6 8033604: f507 63cf add.w r3, r7, #1656 ; 0x678 8033608: ed93 7b00 vldr d7, [r3] 803360c: ee26 6b07 vmul.f64 d6, d6, d7 8033610: f507 63cf add.w r3, r7, #1656 ; 0x678 8033614: ed93 7b00 vldr d7, [r3] 8033618: ee26 6b07 vmul.f64 d6, d6, d7 803361c: f507 63cd add.w r3, r7, #1640 ; 0x668 8033620: ed93 7b00 vldr d7, [r3] 8033624: ee37 5b07 vadd.f64 d5, d7, d7 8033628: f507 63cf add.w r3, r7, #1656 ; 0x678 803362c: ed93 7b00 vldr d7, [r3] 8033630: ee25 5b07 vmul.f64 d5, d5, d7 8033634: f507 63cf add.w r3, r7, #1656 ; 0x678 8033638: ed93 7b00 vldr d7, [r3] 803363c: ee25 5b07 vmul.f64 d5, d5, d7 8033640: f507 63cf add.w r3, r7, #1656 ; 0x678 8033644: ed93 7b00 vldr d7, [r3] 8033648: ee25 5b07 vmul.f64 d5, d5, d7 803364c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033650: ed93 7b00 vldr d7, [r3] 8033654: ee25 7b07 vmul.f64 d7, d5, d7 8033658: ee36 6b07 vadd.f64 d6, d6, d7 803365c: f507 63cc add.w r3, r7, #1632 ; 0x660 8033660: ed93 7b00 vldr d7, [r3] 8033664: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8033668: ee27 5b05 vmul.f64 d5, d7, d5 803366c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033670: ed93 7b00 vldr d7, [r3] 8033674: ee25 5b07 vmul.f64 d5, d5, d7 8033678: f507 63d1 add.w r3, r7, #1672 ; 0x688 803367c: ed93 7b00 vldr d7, [r3] 8033680: ee25 5b07 vmul.f64 d5, d5, d7 8033684: e00a b.n 803369c 8033686: bf00 nop 8033688: 00000000 .word 0x00000000 803368c: 40500000 .word 0x40500000 8033690: 00000000 .word 0x00000000 8033694: 40580000 .word 0x40580000 8033698: 20025970 .word 0x20025970 803369c: f507 63cf add.w r3, r7, #1656 ; 0x678 80336a0: ed93 7b00 vldr d7, [r3] 80336a4: ee25 5b07 vmul.f64 d5, d5, d7 80336a8: f507 63cf add.w r3, r7, #1656 ; 0x678 80336ac: ed93 7b00 vldr d7, [r3] 80336b0: ee25 7b07 vmul.f64 d7, d5, d7 80336b4: ee36 6b07 vadd.f64 d6, d6, d7 80336b8: f507 63cd add.w r3, r7, #1640 ; 0x668 80336bc: ed93 7b00 vldr d7, [r3] 80336c0: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80336c4: ee27 5b05 vmul.f64 d5, d7, d5 80336c8: f507 63cf add.w r3, r7, #1656 ; 0x678 80336cc: ed93 7b00 vldr d7, [r3] 80336d0: ee25 5b07 vmul.f64 d5, d5, d7 80336d4: f507 63d1 add.w r3, r7, #1672 ; 0x688 80336d8: ed93 7b00 vldr d7, [r3] 80336dc: ee25 7b07 vmul.f64 d7, d5, d7 80336e0: ee36 6b07 vadd.f64 d6, d6, d7 80336e4: f507 63cc add.w r3, r7, #1632 ; 0x660 80336e8: ed93 5b00 vldr d5, [r3] 80336ec: f507 63d1 add.w r3, r7, #1672 ; 0x688 80336f0: ed93 7b00 vldr d7, [r3] 80336f4: ee25 5b07 vmul.f64 d5, d5, d7 80336f8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80336fc: ed93 7b00 vldr d7, [r3] 8033700: ee25 5b07 vmul.f64 d5, d5, d7 8033704: f507 63cf add.w r3, r7, #1656 ; 0x678 8033708: ed93 7b00 vldr d7, [r3] 803370c: ee25 5b07 vmul.f64 d5, d5, d7 8033710: f507 63cf add.w r3, r7, #1656 ; 0x678 8033714: ed93 7b00 vldr d7, [r3] 8033718: ee25 5b07 vmul.f64 d5, d5, d7 803371c: f507 63cf add.w r3, r7, #1656 ; 0x678 8033720: ed93 7b00 vldr d7, [r3] 8033724: ee25 5b07 vmul.f64 d5, d5, d7 8033728: f507 63cf add.w r3, r7, #1656 ; 0x678 803372c: ed93 7b00 vldr d7, [r3] 8033730: ee25 7b07 vmul.f64 d7, d5, d7 8033734: ee36 6b07 vadd.f64 d6, d6, d7 8033738: f507 63cc add.w r3, r7, #1632 ; 0x660 803373c: ed93 7b00 vldr d7, [r3] 8033740: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8033744: ee27 5b05 vmul.f64 d5, d7, d5 8033748: f507 63d1 add.w r3, r7, #1672 ; 0x688 803374c: ed93 7b00 vldr d7, [r3] 8033750: ee25 5b07 vmul.f64 d5, d5, d7 8033754: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033758: ed93 7b00 vldr d7, [r3] 803375c: ee25 7b07 vmul.f64 d7, d5, d7 8033760: ee36 6b07 vadd.f64 d6, d6, d7 8033764: f507 63c9 add.w r3, r7, #1608 ; 0x648 8033768: ed93 7b00 vldr d7, [r3] 803376c: eeb1 7b47 vneg.f64 d7, d7 8033770: ee26 7b07 vmul.f64 d7, d6, d7 8033774: 4afa ldr r2, [pc, #1000] ; (8033b60 ) 8033776: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803377a: 00db lsls r3, r3, #3 803377c: 4413 add r3, r2 803377e: 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; 8033782: f507 63ca add.w r3, r7, #1616 ; 0x650 8033786: ed93 7b00 vldr d7, [r3] 803378a: ee37 6b07 vadd.f64 d6, d7, d7 803378e: f507 63cf add.w r3, r7, #1656 ; 0x678 8033792: ed93 7b00 vldr d7, [r3] 8033796: ee26 6b07 vmul.f64 d6, d6, d7 803379a: f507 63cf add.w r3, r7, #1656 ; 0x678 803379e: ed93 7b00 vldr d7, [r3] 80337a2: ee26 6b07 vmul.f64 d6, d6, d7 80337a6: f507 63cf add.w r3, r7, #1656 ; 0x678 80337aa: ed93 7b00 vldr d7, [r3] 80337ae: ee26 6b07 vmul.f64 d6, d6, d7 80337b2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80337b6: ed93 7b00 vldr d7, [r3] 80337ba: ee26 6b07 vmul.f64 d6, d6, d7 80337be: f507 63cb add.w r3, r7, #1624 ; 0x658 80337c2: ed93 7b00 vldr d7, [r3] 80337c6: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 80337ca: ee27 5b05 vmul.f64 d5, d7, d5 80337ce: f507 63cf add.w r3, r7, #1656 ; 0x678 80337d2: ed93 7b00 vldr d7, [r3] 80337d6: ee25 5b07 vmul.f64 d5, d5, d7 80337da: f507 63cf add.w r3, r7, #1656 ; 0x678 80337de: ed93 7b00 vldr d7, [r3] 80337e2: ee25 7b07 vmul.f64 d7, d5, d7 80337e6: ee36 6b47 vsub.f64 d6, d6, d7 80337ea: f507 63c9 add.w r3, r7, #1608 ; 0x648 80337ee: ed93 7b00 vldr d7, [r3] 80337f2: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80337f6: ee27 5b05 vmul.f64 d5, d7, d5 80337fa: f507 63d1 add.w r3, r7, #1672 ; 0x688 80337fe: ed93 7b00 vldr d7, [r3] 8033802: ee25 5b07 vmul.f64 d5, d5, d7 8033806: f507 63d1 add.w r3, r7, #1672 ; 0x688 803380a: ed93 7b00 vldr d7, [r3] 803380e: ee25 5b07 vmul.f64 d5, d5, d7 8033812: f507 63cf add.w r3, r7, #1656 ; 0x678 8033816: ed93 7b00 vldr d7, [r3] 803381a: ee25 5b07 vmul.f64 d5, d5, d7 803381e: f507 63cf add.w r3, r7, #1656 ; 0x678 8033822: ed93 7b00 vldr d7, [r3] 8033826: ee25 7b07 vmul.f64 d7, d5, d7 803382a: ee36 6b47 vsub.f64 d6, d6, d7 803382e: f507 63ca add.w r3, r7, #1616 ; 0x650 8033832: ed93 7b00 vldr d7, [r3] 8033836: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 803383a: ee27 5b05 vmul.f64 d5, d7, d5 803383e: f507 63cf add.w r3, r7, #1656 ; 0x678 8033842: ed93 7b00 vldr d7, [r3] 8033846: ee25 5b07 vmul.f64 d5, d5, d7 803384a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803384e: ed93 7b00 vldr d7, [r3] 8033852: ee25 7b07 vmul.f64 d7, d5, d7 8033856: ee36 6b07 vadd.f64 d6, d6, d7 803385a: f507 63c9 add.w r3, r7, #1608 ; 0x648 803385e: ed93 7b00 vldr d7, [r3] 8033862: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8033866: ee27 5b05 vmul.f64 d5, d7, d5 803386a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803386e: ed93 7b00 vldr d7, [r3] 8033872: ee25 5b07 vmul.f64 d5, d5, d7 8033876: f507 63d1 add.w r3, r7, #1672 ; 0x688 803387a: ed93 7b00 vldr d7, [r3] 803387e: ee25 7b07 vmul.f64 d7, d5, d7 8033882: ee36 6b47 vsub.f64 d6, d6, d7 8033886: f507 63c9 add.w r3, r7, #1608 ; 0x648 803388a: ed93 5b00 vldr d5, [r3] 803388e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033892: ed93 7b00 vldr d7, [r3] 8033896: ee25 5b07 vmul.f64 d5, d5, d7 803389a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803389e: ed93 7b00 vldr d7, [r3] 80338a2: ee25 5b07 vmul.f64 d5, d5, d7 80338a6: f507 63cf add.w r3, r7, #1656 ; 0x678 80338aa: ed93 7b00 vldr d7, [r3] 80338ae: ee25 5b07 vmul.f64 d5, d5, d7 80338b2: f507 63cf add.w r3, r7, #1656 ; 0x678 80338b6: ed93 7b00 vldr d7, [r3] 80338ba: ee25 5b07 vmul.f64 d5, d5, d7 80338be: f507 63cf add.w r3, r7, #1656 ; 0x678 80338c2: ed93 7b00 vldr d7, [r3] 80338c6: ee25 5b07 vmul.f64 d5, d5, d7 80338ca: f507 63cf add.w r3, r7, #1656 ; 0x678 80338ce: ed93 7b00 vldr d7, [r3] 80338d2: ee25 7b07 vmul.f64 d7, d5, d7 80338d6: ee36 6b47 vsub.f64 d6, d6, d7 80338da: f507 63cc add.w r3, r7, #1632 ; 0x660 80338de: ed93 7b00 vldr d7, [r3] 80338e2: ee26 7b07 vmul.f64 d7, d6, d7 80338e6: 4a9e ldr r2, [pc, #632] ; (8033b60 ) 80338e8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80338ec: 335a adds r3, #90 ; 0x5a 80338ee: 00db lsls r3, r3, #3 80338f0: 4413 add r3, r2 80338f2: 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; 80338f6: f507 63c9 add.w r3, r7, #1608 ; 0x648 80338fa: ed93 7b00 vldr d7, [r3] 80338fe: ed9f 6b94 vldr d6, [pc, #592] ; 8033b50 8033902: ee27 6b06 vmul.f64 d6, d7, d6 8033906: f507 63d1 add.w r3, r7, #1672 ; 0x688 803390a: ed93 7b00 vldr d7, [r3] 803390e: ee26 6b07 vmul.f64 d6, d6, d7 8033912: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033916: ed93 7b00 vldr d7, [r3] 803391a: ee26 6b07 vmul.f64 d6, d6, d7 803391e: f507 63ca add.w r3, r7, #1616 ; 0x650 8033922: ed93 7b00 vldr d7, [r3] 8033926: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803392a: ee27 5b05 vmul.f64 d5, d7, d5 803392e: f507 63cf add.w r3, r7, #1656 ; 0x678 8033932: ed93 7b00 vldr d7, [r3] 8033936: ee25 5b07 vmul.f64 d5, d5, d7 803393a: f507 63cf add.w r3, r7, #1656 ; 0x678 803393e: ed93 7b00 vldr d7, [r3] 8033942: ee25 5b07 vmul.f64 d5, d5, d7 8033946: f507 63cf add.w r3, r7, #1656 ; 0x678 803394a: ed93 7b00 vldr d7, [r3] 803394e: ee25 5b07 vmul.f64 d5, d5, d7 8033952: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033956: ed93 7b00 vldr d7, [r3] 803395a: ee25 7b07 vmul.f64 d7, d5, d7 803395e: ee36 6b07 vadd.f64 d6, d6, d7 8033962: f507 63ca add.w r3, r7, #1616 ; 0x650 8033966: ed93 7b00 vldr d7, [r3] 803396a: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 803396e: ee27 5b05 vmul.f64 d5, d7, d5 8033972: f507 63cf add.w r3, r7, #1656 ; 0x678 8033976: ed93 7b00 vldr d7, [r3] 803397a: ee25 5b07 vmul.f64 d5, d5, d7 803397e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033982: ed93 7b00 vldr d7, [r3] 8033986: ee25 7b07 vmul.f64 d7, d5, d7 803398a: ee36 6b47 vsub.f64 d6, d6, d7 803398e: f507 63c9 add.w r3, r7, #1608 ; 0x648 8033992: ed93 7b00 vldr d7, [r3] 8033996: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803399a: ee27 5b05 vmul.f64 d5, d7, d5 803399e: f507 63d1 add.w r3, r7, #1672 ; 0x688 80339a2: ed93 7b00 vldr d7, [r3] 80339a6: ee25 5b07 vmul.f64 d5, d5, d7 80339aa: f507 63d1 add.w r3, r7, #1672 ; 0x688 80339ae: ed93 7b00 vldr d7, [r3] 80339b2: ee25 5b07 vmul.f64 d5, d5, d7 80339b6: f507 63cf add.w r3, r7, #1656 ; 0x678 80339ba: ed93 7b00 vldr d7, [r3] 80339be: ee25 5b07 vmul.f64 d5, d5, d7 80339c2: f507 63cf add.w r3, r7, #1656 ; 0x678 80339c6: ed93 7b00 vldr d7, [r3] 80339ca: ee25 5b07 vmul.f64 d5, d5, d7 80339ce: f507 63cf add.w r3, r7, #1656 ; 0x678 80339d2: ed93 7b00 vldr d7, [r3] 80339d6: ee25 5b07 vmul.f64 d5, d5, d7 80339da: f507 63cf add.w r3, r7, #1656 ; 0x678 80339de: ed93 7b00 vldr d7, [r3] 80339e2: ee25 7b07 vmul.f64 d7, d5, d7 80339e6: ee36 6b47 vsub.f64 d6, d6, d7 80339ea: f507 63cc add.w r3, r7, #1632 ; 0x660 80339ee: ed93 7b00 vldr d7, [r3] 80339f2: ee26 7b07 vmul.f64 d7, d6, d7 80339f6: 4a5a ldr r2, [pc, #360] ; (8033b60 ) 80339f8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80339fc: 3350 adds r3, #80 ; 0x50 80339fe: 00db lsls r3, r3, #3 8033a00: 4413 add r3, r2 8033a02: 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; 8033a06: f507 63cb add.w r3, r7, #1624 ; 0x658 8033a0a: ed93 7b00 vldr d7, [r3] 8033a0e: eeb2 6b00 vmov.f64 d6, #32 ; 0x41000000 8.0 8033a12: ee27 6b06 vmul.f64 d6, d7, d6 8033a16: f507 63cf add.w r3, r7, #1656 ; 0x678 8033a1a: ed93 7b00 vldr d7, [r3] 8033a1e: ee26 6b07 vmul.f64 d6, d6, d7 8033a22: f507 63cf add.w r3, r7, #1656 ; 0x678 8033a26: ed93 7b00 vldr d7, [r3] 8033a2a: ee26 6b07 vmul.f64 d6, d6, d7 8033a2e: f507 63c9 add.w r3, r7, #1608 ; 0x648 8033a32: ed93 7b00 vldr d7, [r3] 8033a36: ed9f 5b48 vldr d5, [pc, #288] ; 8033b58 8033a3a: ee27 5b05 vmul.f64 d5, d7, d5 8033a3e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033a42: ed93 7b00 vldr d7, [r3] 8033a46: ee25 5b07 vmul.f64 d5, d5, d7 8033a4a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033a4e: ed93 7b00 vldr d7, [r3] 8033a52: ee25 7b07 vmul.f64 d7, d5, d7 8033a56: ee36 6b47 vsub.f64 d6, d6, d7 8033a5a: f507 63c9 add.w r3, r7, #1608 ; 0x648 8033a5e: ed93 7b00 vldr d7, [r3] 8033a62: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8033a66: ee27 5b05 vmul.f64 d5, d7, d5 8033a6a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033a6e: ed93 7b00 vldr d7, [r3] 8033a72: ee25 5b07 vmul.f64 d5, d5, d7 8033a76: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033a7a: ed93 7b00 vldr d7, [r3] 8033a7e: ee25 5b07 vmul.f64 d5, d5, d7 8033a82: f507 63cf add.w r3, r7, #1656 ; 0x678 8033a86: ed93 7b00 vldr d7, [r3] 8033a8a: ee25 5b07 vmul.f64 d5, d5, d7 8033a8e: f507 63cf add.w r3, r7, #1656 ; 0x678 8033a92: ed93 7b00 vldr d7, [r3] 8033a96: ee25 7b07 vmul.f64 d7, d5, d7 8033a9a: ee36 6b07 vadd.f64 d6, d6, d7 8033a9e: f507 63c9 add.w r3, r7, #1608 ; 0x648 8033aa2: ed93 7b00 vldr d7, [r3] 8033aa6: eeb1 5b08 vmov.f64 d5, #24 ; 0x40c00000 6.0 8033aaa: ee27 5b05 vmul.f64 d5, d7, d5 8033aae: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033ab2: ed93 7b00 vldr d7, [r3] 8033ab6: ee25 5b07 vmul.f64 d5, d5, d7 8033aba: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033abe: ed93 7b00 vldr d7, [r3] 8033ac2: ee25 5b07 vmul.f64 d5, d5, d7 8033ac6: f507 63cf add.w r3, r7, #1656 ; 0x678 8033aca: ed93 7b00 vldr d7, [r3] 8033ace: ee25 5b07 vmul.f64 d5, d5, d7 8033ad2: f507 63cf add.w r3, r7, #1656 ; 0x678 8033ad6: ed93 7b00 vldr d7, [r3] 8033ada: ee25 5b07 vmul.f64 d5, d5, d7 8033ade: f507 63cf add.w r3, r7, #1656 ; 0x678 8033ae2: ed93 7b00 vldr d7, [r3] 8033ae6: ee25 5b07 vmul.f64 d5, d5, d7 8033aea: f507 63cf add.w r3, r7, #1656 ; 0x678 8033aee: ed93 7b00 vldr d7, [r3] 8033af2: ee25 7b07 vmul.f64 d7, d5, d7 8033af6: ee36 6b47 vsub.f64 d6, d6, d7 8033afa: f507 63cc add.w r3, r7, #1632 ; 0x660 8033afe: ed93 7b00 vldr d7, [r3] 8033b02: ee26 7b07 vmul.f64 d7, d6, d7 8033b06: 4a16 ldr r2, [pc, #88] ; (8033b60 ) 8033b08: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033b0c: 3346 adds r3, #70 ; 0x46 8033b0e: 00db lsls r3, r3, #3 8033b10: 4413 add r3, r2 8033b12: 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; 8033b16: f507 63ca add.w r3, r7, #1616 ; 0x650 8033b1a: ed93 7b00 vldr d7, [r3] 8033b1e: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 8033b22: ee27 6b06 vmul.f64 d6, d7, d6 8033b26: f507 63cf add.w r3, r7, #1656 ; 0x678 8033b2a: ed93 7b00 vldr d7, [r3] 8033b2e: ee26 6b07 vmul.f64 d6, d6, d7 8033b32: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033b36: ed93 7b00 vldr d7, [r3] 8033b3a: ee26 6b07 vmul.f64 d6, d6, d7 8033b3e: f507 63ca add.w r3, r7, #1616 ; 0x650 8033b42: ed93 7b00 vldr d7, [r3] 8033b46: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8033b4a: ee27 5b05 vmul.f64 d5, d7, d5 8033b4e: e009 b.n 8033b64 8033b50: 00000000 .word 0x00000000 8033b54: 40500000 .word 0x40500000 8033b58: 00000000 .word 0x00000000 8033b5c: 40580000 .word 0x40580000 8033b60: 20025970 .word 0x20025970 8033b64: f507 63cf add.w r3, r7, #1656 ; 0x678 8033b68: ed93 7b00 vldr d7, [r3] 8033b6c: ee25 5b07 vmul.f64 d5, d5, d7 8033b70: f507 63cf add.w r3, r7, #1656 ; 0x678 8033b74: ed93 7b00 vldr d7, [r3] 8033b78: ee25 5b07 vmul.f64 d5, d5, d7 8033b7c: f507 63cf add.w r3, r7, #1656 ; 0x678 8033b80: ed93 7b00 vldr d7, [r3] 8033b84: ee25 5b07 vmul.f64 d5, d5, d7 8033b88: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033b8c: ed93 7b00 vldr d7, [r3] 8033b90: ee25 7b07 vmul.f64 d7, d5, d7 8033b94: ee36 6b47 vsub.f64 d6, d6, d7 8033b98: f507 63c9 add.w r3, r7, #1608 ; 0x648 8033b9c: ed93 7b00 vldr d7, [r3] 8033ba0: ed9f 5bd5 vldr d5, [pc, #852] ; 8033ef8 8033ba4: ee27 5b05 vmul.f64 d5, d7, d5 8033ba8: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033bac: ed93 7b00 vldr d7, [r3] 8033bb0: ee25 5b07 vmul.f64 d5, d5, d7 8033bb4: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033bb8: ed93 7b00 vldr d7, [r3] 8033bbc: ee25 7b07 vmul.f64 d7, d5, d7 8033bc0: ee36 6b07 vadd.f64 d6, d6, d7 8033bc4: f507 63c9 add.w r3, r7, #1608 ; 0x648 8033bc8: ed93 7b00 vldr d7, [r3] 8033bcc: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8033bd0: ee27 5b05 vmul.f64 d5, d7, d5 8033bd4: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033bd8: ed93 7b00 vldr d7, [r3] 8033bdc: ee25 5b07 vmul.f64 d5, d5, d7 8033be0: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033be4: ed93 7b00 vldr d7, [r3] 8033be8: ee25 5b07 vmul.f64 d5, d5, d7 8033bec: f507 63cf add.w r3, r7, #1656 ; 0x678 8033bf0: ed93 7b00 vldr d7, [r3] 8033bf4: ee25 5b07 vmul.f64 d5, d5, d7 8033bf8: f507 63cf add.w r3, r7, #1656 ; 0x678 8033bfc: ed93 7b00 vldr d7, [r3] 8033c00: ee25 5b07 vmul.f64 d5, d5, d7 8033c04: f507 63cf add.w r3, r7, #1656 ; 0x678 8033c08: ed93 7b00 vldr d7, [r3] 8033c0c: ee25 5b07 vmul.f64 d5, d5, d7 8033c10: f507 63cf add.w r3, r7, #1656 ; 0x678 8033c14: ed93 7b00 vldr d7, [r3] 8033c18: ee25 7b07 vmul.f64 d7, d5, d7 8033c1c: ee36 6b47 vsub.f64 d6, d6, d7 8033c20: f507 63cc add.w r3, r7, #1632 ; 0x660 8033c24: ed93 7b00 vldr d7, [r3] 8033c28: ee26 7b07 vmul.f64 d7, d6, d7 8033c2c: 4ab6 ldr r2, [pc, #728] ; (8033f08 ) 8033c2e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033c32: 333c adds r3, #60 ; 0x3c 8033c34: 00db lsls r3, r3, #3 8033c36: 4413 add r3, r2 8033c38: 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; 8033c3c: f507 63cb add.w r3, r7, #1624 ; 0x658 8033c40: ed93 7b00 vldr d7, [r3] 8033c44: eeb9 6b00 vmov.f64 d6, #144 ; 0xc0800000 -4.0 8033c48: ee27 6b06 vmul.f64 d6, d7, d6 8033c4c: f507 63cf add.w r3, r7, #1656 ; 0x678 8033c50: ed93 7b00 vldr d7, [r3] 8033c54: ee26 6b07 vmul.f64 d6, d6, d7 8033c58: f507 63cf add.w r3, r7, #1656 ; 0x678 8033c5c: ed93 7b00 vldr d7, [r3] 8033c60: ee26 6b07 vmul.f64 d6, d6, d7 8033c64: f507 63ca add.w r3, r7, #1616 ; 0x650 8033c68: ed93 7b00 vldr d7, [r3] 8033c6c: ee37 5b07 vadd.f64 d5, d7, d7 8033c70: f507 63cf add.w r3, r7, #1656 ; 0x678 8033c74: ed93 7b00 vldr d7, [r3] 8033c78: ee25 5b07 vmul.f64 d5, d5, d7 8033c7c: f507 63cf add.w r3, r7, #1656 ; 0x678 8033c80: ed93 7b00 vldr d7, [r3] 8033c84: ee25 5b07 vmul.f64 d5, d5, d7 8033c88: f507 63cf add.w r3, r7, #1656 ; 0x678 8033c8c: ed93 7b00 vldr d7, [r3] 8033c90: ee25 5b07 vmul.f64 d5, d5, d7 8033c94: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033c98: ed93 7b00 vldr d7, [r3] 8033c9c: ee25 7b07 vmul.f64 d7, d5, d7 8033ca0: ee36 6b47 vsub.f64 d6, d6, d7 8033ca4: f507 63ca add.w r3, r7, #1616 ; 0x650 8033ca8: ed93 7b00 vldr d7, [r3] 8033cac: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8033cb0: ee27 5b05 vmul.f64 d5, d7, d5 8033cb4: f507 63cf add.w r3, r7, #1656 ; 0x678 8033cb8: ed93 7b00 vldr d7, [r3] 8033cbc: ee25 5b07 vmul.f64 d5, d5, d7 8033cc0: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033cc4: ed93 7b00 vldr d7, [r3] 8033cc8: ee25 7b07 vmul.f64 d7, d5, d7 8033ccc: ee36 6b47 vsub.f64 d6, d6, d7 8033cd0: f507 63c9 add.w r3, r7, #1608 ; 0x648 8033cd4: ed93 7b00 vldr d7, [r3] 8033cd8: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8033cdc: ee27 5b05 vmul.f64 d5, d7, d5 8033ce0: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033ce4: ed93 7b00 vldr d7, [r3] 8033ce8: ee25 5b07 vmul.f64 d5, d5, d7 8033cec: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033cf0: ed93 7b00 vldr d7, [r3] 8033cf4: ee25 5b07 vmul.f64 d5, d5, d7 8033cf8: f507 63cf add.w r3, r7, #1656 ; 0x678 8033cfc: ed93 7b00 vldr d7, [r3] 8033d00: ee25 5b07 vmul.f64 d5, d5, d7 8033d04: f507 63cf add.w r3, r7, #1656 ; 0x678 8033d08: ed93 7b00 vldr d7, [r3] 8033d0c: ee25 7b07 vmul.f64 d7, d5, d7 8033d10: ee36 6b47 vsub.f64 d6, d6, d7 8033d14: f507 63c9 add.w r3, r7, #1608 ; 0x648 8033d18: ed93 5b00 vldr d5, [r3] 8033d1c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033d20: ed93 7b00 vldr d7, [r3] 8033d24: ee25 5b07 vmul.f64 d5, d5, d7 8033d28: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033d2c: ed93 7b00 vldr d7, [r3] 8033d30: ee25 5b07 vmul.f64 d5, d5, d7 8033d34: f507 63cf add.w r3, r7, #1656 ; 0x678 8033d38: ed93 7b00 vldr d7, [r3] 8033d3c: ee25 5b07 vmul.f64 d5, d5, d7 8033d40: f507 63cf add.w r3, r7, #1656 ; 0x678 8033d44: ed93 7b00 vldr d7, [r3] 8033d48: ee25 5b07 vmul.f64 d5, d5, d7 8033d4c: f507 63cf add.w r3, r7, #1656 ; 0x678 8033d50: ed93 7b00 vldr d7, [r3] 8033d54: ee25 5b07 vmul.f64 d5, d5, d7 8033d58: f507 63cf add.w r3, r7, #1656 ; 0x678 8033d5c: ed93 7b00 vldr d7, [r3] 8033d60: ee25 7b07 vmul.f64 d7, d5, d7 8033d64: ee36 6b47 vsub.f64 d6, d6, d7 8033d68: f507 63c9 add.w r3, r7, #1608 ; 0x648 8033d6c: ed93 7b00 vldr d7, [r3] 8033d70: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8033d74: ee27 5b05 vmul.f64 d5, d7, d5 8033d78: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033d7c: ed93 7b00 vldr d7, [r3] 8033d80: ee25 5b07 vmul.f64 d5, d5, d7 8033d84: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033d88: ed93 7b00 vldr d7, [r3] 8033d8c: ee25 7b07 vmul.f64 d7, d5, d7 8033d90: ee36 6b47 vsub.f64 d6, d6, d7 8033d94: f507 63cc add.w r3, r7, #1632 ; 0x660 8033d98: ed93 7b00 vldr d7, [r3] 8033d9c: ee26 7b07 vmul.f64 d7, d6, d7 8033da0: 4a59 ldr r2, [pc, #356] ; (8033f08 ) 8033da2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033da6: 3332 adds r3, #50 ; 0x32 8033da8: 00db lsls r3, r3, #3 8033daa: 4413 add r3, r2 8033dac: 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) 8033db0: f507 63cf add.w r3, r7, #1656 ; 0x678 8033db4: ed93 7b00 vldr d7, [r3] 8033db8: eeb0 6b00 vmov.f64 d6, #0 ; 0x40000000 2.0 8033dbc: ee37 7b46 vsub.f64 d7, d7, d6 8033dc0: eeb0 7bc7 vabs.f64 d7, d7 8033dc4: ed9f 6b4e vldr d6, [pc, #312] ; 8033f00 8033dc8: eeb4 7bc6 vcmpe.f64 d7, d6 8033dcc: eef1 fa10 vmrs APSR_nzcv, fpscr 8033dd0: d52f bpl.n 8033e32 { IIR.a3[j] = 0.0; 8033dd2: 4a4d ldr r2, [pc, #308] ; (8033f08 ) 8033dd4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033dd8: 331e adds r3, #30 8033dda: 00db lsls r3, r3, #3 8033ddc: 441a add r2, r3 8033dde: f04f 0300 mov.w r3, #0 8033de2: f04f 0400 mov.w r4, #0 8033de6: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = 0.0; 8033dea: 4a47 ldr r2, [pc, #284] ; (8033f08 ) 8033dec: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033df0: 330a adds r3, #10 8033df2: 00db lsls r3, r3, #3 8033df4: 441a add r2, r3 8033df6: f04f 0300 mov.w r3, #0 8033dfa: f04f 0400 mov.w r4, #0 8033dfe: e882 0018 stmia.w r2, {r3, r4} IIR.b3[j] = 0.0; 8033e02: 4a41 ldr r2, [pc, #260] ; (8033f08 ) 8033e04: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033e08: 3350 adds r3, #80 ; 0x50 8033e0a: 00db lsls r3, r3, #3 8033e0c: 441a add r2, r3 8033e0e: f04f 0300 mov.w r3, #0 8033e12: f04f 0400 mov.w r4, #0 8033e16: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = 0.0; 8033e1a: 4a3b ldr r2, [pc, #236] ; (8033f08 ) 8033e1c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033e20: 333c adds r3, #60 ; 0x3c 8033e22: 00db lsls r3, r3, #3 8033e24: 441a add r2, r3 8033e26: f04f 0300 mov.w r3, #0 8033e2a: f04f 0400 mov.w r4, #0 8033e2e: 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]; 8033e32: 4a35 ldr r2, [pc, #212] ; (8033f08 ) 8033e34: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033e38: 3328 adds r3, #40 ; 0x28 8033e3a: 00db lsls r3, r3, #3 8033e3c: 4413 add r3, r2 8033e3e: cb18 ldmia r3, {r3, r4} 8033e40: f507 62c3 add.w r2, r7, #1560 ; 0x618 8033e44: e882 0018 stmia.w r2, {r3, r4} Coeff[1] = IIR.a3[j]; 8033e48: 4a2f ldr r2, [pc, #188] ; (8033f08 ) 8033e4a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033e4e: 331e adds r3, #30 8033e50: 00db lsls r3, r3, #3 8033e52: 4413 add r3, r2 8033e54: cb18 ldmia r3, {r3, r4} 8033e56: f507 62c4 add.w r2, r7, #1568 ; 0x620 8033e5a: e882 0018 stmia.w r2, {r3, r4} Coeff[2] = IIR.a2[j]; 8033e5e: 4a2a ldr r2, [pc, #168] ; (8033f08 ) 8033e60: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033e64: 3314 adds r3, #20 8033e66: 00db lsls r3, r3, #3 8033e68: 4413 add r3, r2 8033e6a: cb18 ldmia r3, {r3, r4} 8033e6c: f507 62c5 add.w r2, r7, #1576 ; 0x628 8033e70: e882 0018 stmia.w r2, {r3, r4} Coeff[3] = IIR.a1[j]; 8033e74: 4a24 ldr r2, [pc, #144] ; (8033f08 ) 8033e76: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033e7a: 330a adds r3, #10 8033e7c: 00db lsls r3, r3, #3 8033e7e: 4413 add r3, r2 8033e80: cb18 ldmia r3, {r3, r4} 8033e82: f507 62c6 add.w r2, r7, #1584 ; 0x630 8033e86: e882 0018 stmia.w r2, {r3, r4} Coeff[4] = IIR.a0[j]; 8033e8a: 4a1f ldr r2, [pc, #124] ; (8033f08 ) 8033e8c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033e90: 00db lsls r3, r3, #3 8033e92: 4413 add r3, r2 8033e94: cb18 ldmia r3, {r3, r4} 8033e96: f507 62c7 add.w r2, r7, #1592 ; 0x638 8033e9a: e882 0018 stmia.w r2, {r3, r4} QuadCubicRoots(4, Coeff, RealRoot, ImagRoot); 8033e9e: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8033ea2: f507 62bf add.w r2, r7, #1528 ; 0x5f8 8033ea6: f507 61c3 add.w r1, r7, #1560 ; 0x618 8033eaa: 2004 movs r0, #4 8033eac: f000 fe50 bl 8034b50 // 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]); 8033eb0: 4a15 ldr r2, [pc, #84] ; (8033f08 ) 8033eb2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033eb6: 3328 adds r3, #40 ; 0x28 8033eb8: 00db lsls r3, r3, #3 8033eba: 4413 add r3, r2 8033ebc: ed93 7b00 vldr d7, [r3] 8033ec0: eeb5 7bc0 vcmpe.f64 d7, #0.0 8033ec4: eef1 fa10 vmrs APSR_nzcv, fpscr 8033ec8: d520 bpl.n 8033f0c 8033eca: 4a0f ldr r2, [pc, #60] ; (8033f08 ) 8033ecc: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033ed0: 3328 adds r3, #40 ; 0x28 8033ed2: 00db lsls r3, r3, #3 8033ed4: 4413 add r3, r2 8033ed6: ed93 7b00 vldr d7, [r3] 8033eda: eeb1 7b47 vneg.f64 d7, d7 8033ede: eeb0 0b47 vmov.f64 d0, d7 8033ee2: f09c f82d bl 80cff40 8033ee6: eeb0 7b40 vmov.f64 d7, d0 8033eea: eeb1 7b47 vneg.f64 d7, d7 8033eee: f507 63d2 add.w r3, r7, #1680 ; 0x690 8033ef2: ed83 7b00 vstr d7, [r3] 8033ef6: e019 b.n 8033f2c 8033ef8: 00000000 .word 0x00000000 8033efc: 40500000 .word 0x40500000 8033f00: d2f1a9fc .word 0xd2f1a9fc 8033f04: 3f40624d .word 0x3f40624d 8033f08: 20025970 .word 0x20025970 else Scalar = sqrt(IIR.a4[j]); 8033f0c: 4a87 ldr r2, [pc, #540] ; (803412c ) 8033f0e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033f12: 3328 adds r3, #40 ; 0x28 8033f14: 00db lsls r3, r3, #3 8033f16: 4413 add r3, r2 8033f18: ed93 7b00 vldr d7, [r3] 8033f1c: eeb0 0b47 vmov.f64 d0, d7 8033f20: f09c f80e bl 80cff40 8033f24: f507 63d2 add.w r3, r7, #1680 ; 0x690 8033f28: ed83 0b00 vstr d0, [r3] a2[k] = Scalar; 8033f2c: f507 62b1 add.w r2, r7, #1416 ; 0x588 8033f30: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033f34: 00db lsls r3, r3, #3 8033f36: 441a add r2, r3 8033f38: f507 63d2 add.w r3, r7, #1680 ; 0x690 8033f3c: cb18 ldmia r3, {r3, r4} 8033f3e: e882 0018 stmia.w r2, {r3, r4} a1[k] = -(RealRoot[0] + RealRoot[1]) * Scalar; 8033f42: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8033f46: ed93 6b00 vldr d6, [r3] 8033f4a: f507 63c0 add.w r3, r7, #1536 ; 0x600 8033f4e: ed93 7b00 vldr d7, [r3] 8033f52: ee36 7b07 vadd.f64 d7, d6, d7 8033f56: eeb1 6b47 vneg.f64 d6, d7 8033f5a: f507 63d2 add.w r3, r7, #1680 ; 0x690 8033f5e: ed93 7b00 vldr d7, [r3] 8033f62: ee26 7b07 vmul.f64 d7, d6, d7 8033f66: f507 62a7 add.w r2, r7, #1336 ; 0x538 8033f6a: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033f6e: 00db lsls r3, r3, #3 8033f70: 4413 add r3, r2 8033f72: ed83 7b00 vstr d7, [r3] a0[k] = (RealRoot[0] * RealRoot[1] - ImagRoot[0] * ImagRoot[1]) * Scalar; 8033f76: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8033f7a: ed93 6b00 vldr d6, [r3] 8033f7e: f507 63c0 add.w r3, r7, #1536 ; 0x600 8033f82: ed93 7b00 vldr d7, [r3] 8033f86: ee26 6b07 vmul.f64 d6, d6, d7 8033f8a: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8033f8e: ed93 5b00 vldr d5, [r3] 8033f92: f507 63bc add.w r3, r7, #1504 ; 0x5e0 8033f96: ed93 7b00 vldr d7, [r3] 8033f9a: ee25 7b07 vmul.f64 d7, d5, d7 8033f9e: ee36 6b47 vsub.f64 d6, d6, d7 8033fa2: f507 63d2 add.w r3, r7, #1680 ; 0x690 8033fa6: ed93 7b00 vldr d7, [r3] 8033faa: ee26 7b07 vmul.f64 d7, d6, d7 8033fae: f507 629d add.w r2, r7, #1256 ; 0x4e8 8033fb2: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033fb6: 00db lsls r3, r3, #3 8033fb8: 4413 add r3, r2 8033fba: ed83 7b00 vstr d7, [r3] k++; 8033fbe: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033fc2: 3301 adds r3, #1 8033fc4: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 a2[k] = Scalar; 8033fc8: f507 62b1 add.w r2, r7, #1416 ; 0x588 8033fcc: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033fd0: 00db lsls r3, r3, #3 8033fd2: 441a add r2, r3 8033fd4: f507 63d2 add.w r3, r7, #1680 ; 0x690 8033fd8: cb18 ldmia r3, {r3, r4} 8033fda: e882 0018 stmia.w r2, {r3, r4} a1[k] = -(RealRoot[2] + RealRoot[3]) * Scalar; 8033fde: f507 63c1 add.w r3, r7, #1544 ; 0x608 8033fe2: ed93 6b00 vldr d6, [r3] 8033fe6: f507 63c2 add.w r3, r7, #1552 ; 0x610 8033fea: ed93 7b00 vldr d7, [r3] 8033fee: ee36 7b07 vadd.f64 d7, d6, d7 8033ff2: eeb1 6b47 vneg.f64 d6, d7 8033ff6: f507 63d2 add.w r3, r7, #1680 ; 0x690 8033ffa: ed93 7b00 vldr d7, [r3] 8033ffe: ee26 7b07 vmul.f64 d7, d6, d7 8034002: f507 62a7 add.w r2, r7, #1336 ; 0x538 8034006: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 803400a: 00db lsls r3, r3, #3 803400c: 4413 add r3, r2 803400e: ed83 7b00 vstr d7, [r3] a0[k] = (RealRoot[2] * RealRoot[3] - ImagRoot[2] * ImagRoot[3]) * Scalar; 8034012: f507 63c1 add.w r3, r7, #1544 ; 0x608 8034016: ed93 6b00 vldr d6, [r3] 803401a: f507 63c2 add.w r3, r7, #1552 ; 0x610 803401e: ed93 7b00 vldr d7, [r3] 8034022: ee26 6b07 vmul.f64 d6, d6, d7 8034026: f507 63bd add.w r3, r7, #1512 ; 0x5e8 803402a: ed93 5b00 vldr d5, [r3] 803402e: f507 63be add.w r3, r7, #1520 ; 0x5f0 8034032: ed93 7b00 vldr d7, [r3] 8034036: ee25 7b07 vmul.f64 d7, d5, d7 803403a: ee36 6b47 vsub.f64 d6, d6, d7 803403e: f507 63d2 add.w r3, r7, #1680 ; 0x690 8034042: ed93 7b00 vldr d7, [r3] 8034046: ee26 7b07 vmul.f64 d7, d6, d7 803404a: f507 629d add.w r2, r7, #1256 ; 0x4e8 803404e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8034052: 00db lsls r3, r3, #3 8034054: 4413 add r3, r2 8034056: ed83 7b00 vstr d7, [r3] k--; 803405a: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 803405e: 3b01 subs r3, #1 8034060: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 // Now do the same with the numerator. Coeff[0] = IIR.b4[j]; 8034064: 4a31 ldr r2, [pc, #196] ; (803412c ) 8034066: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803406a: 335a adds r3, #90 ; 0x5a 803406c: 00db lsls r3, r3, #3 803406e: 4413 add r3, r2 8034070: cb18 ldmia r3, {r3, r4} 8034072: f507 62c3 add.w r2, r7, #1560 ; 0x618 8034076: e882 0018 stmia.w r2, {r3, r4} Coeff[1] = IIR.b3[j]; 803407a: 4a2c ldr r2, [pc, #176] ; (803412c ) 803407c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8034080: 3350 adds r3, #80 ; 0x50 8034082: 00db lsls r3, r3, #3 8034084: 4413 add r3, r2 8034086: cb18 ldmia r3, {r3, r4} 8034088: f507 62c4 add.w r2, r7, #1568 ; 0x620 803408c: e882 0018 stmia.w r2, {r3, r4} Coeff[2] = IIR.b2[j]; 8034090: 4a26 ldr r2, [pc, #152] ; (803412c ) 8034092: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8034096: 3346 adds r3, #70 ; 0x46 8034098: 00db lsls r3, r3, #3 803409a: 4413 add r3, r2 803409c: cb18 ldmia r3, {r3, r4} 803409e: f507 62c5 add.w r2, r7, #1576 ; 0x628 80340a2: e882 0018 stmia.w r2, {r3, r4} Coeff[3] = IIR.b1[j]; 80340a6: 4a21 ldr r2, [pc, #132] ; (803412c ) 80340a8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80340ac: 333c adds r3, #60 ; 0x3c 80340ae: 00db lsls r3, r3, #3 80340b0: 4413 add r3, r2 80340b2: cb18 ldmia r3, {r3, r4} 80340b4: f507 62c6 add.w r2, r7, #1584 ; 0x630 80340b8: e882 0018 stmia.w r2, {r3, r4} Coeff[4] = IIR.b0[j]; 80340bc: 4a1b ldr r2, [pc, #108] ; (803412c ) 80340be: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80340c2: 3332 adds r3, #50 ; 0x32 80340c4: 00db lsls r3, r3, #3 80340c6: 4413 add r3, r2 80340c8: cb18 ldmia r3, {r3, r4} 80340ca: f507 62c7 add.w r2, r7, #1592 ; 0x638 80340ce: e882 0018 stmia.w r2, {r3, r4} QuadCubicRoots(4, Coeff, RealRoot, ImagRoot); 80340d2: f507 63bb add.w r3, r7, #1496 ; 0x5d8 80340d6: f507 62bf add.w r2, r7, #1528 ; 0x5f8 80340da: f507 61c3 add.w r1, r7, #1560 ; 0x618 80340de: 2004 movs r0, #4 80340e0: f000 fd36 bl 8034b50 if(IIR.b4[j] < 0.0)Scalar = -sqrt(-IIR.b4[j]); 80340e4: 4a11 ldr r2, [pc, #68] ; (803412c ) 80340e6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80340ea: 335a adds r3, #90 ; 0x5a 80340ec: 00db lsls r3, r3, #3 80340ee: 4413 add r3, r2 80340f0: ed93 7b00 vldr d7, [r3] 80340f4: eeb5 7bc0 vcmpe.f64 d7, #0.0 80340f8: eef1 fa10 vmrs APSR_nzcv, fpscr 80340fc: d518 bpl.n 8034130 80340fe: 4a0b ldr r2, [pc, #44] ; (803412c ) 8034100: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8034104: 335a adds r3, #90 ; 0x5a 8034106: 00db lsls r3, r3, #3 8034108: 4413 add r3, r2 803410a: ed93 7b00 vldr d7, [r3] 803410e: eeb1 7b47 vneg.f64 d7, d7 8034112: eeb0 0b47 vmov.f64 d0, d7 8034116: f09b ff13 bl 80cff40 803411a: eeb0 7b40 vmov.f64 d7, d0 803411e: eeb1 7b47 vneg.f64 d7, d7 8034122: f507 63d2 add.w r3, r7, #1680 ; 0x690 8034126: ed83 7b00 vstr d7, [r3] 803412a: e011 b.n 8034150 803412c: 20025970 .word 0x20025970 else Scalar = sqrt(IIR.b4[j]); 8034130: 4ab2 ldr r2, [pc, #712] ; (80343fc ) 8034132: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8034136: 335a adds r3, #90 ; 0x5a 8034138: 00db lsls r3, r3, #3 803413a: 4413 add r3, r2 803413c: ed93 7b00 vldr d7, [r3] 8034140: eeb0 0b47 vmov.f64 d0, d7 8034144: f09b fefc bl 80cff40 8034148: f507 63d2 add.w r3, r7, #1680 ; 0x690 803414c: ed83 0b00 vstr d0, [r3] b2[k] = Scalar; 8034150: f507 6293 add.w r2, r7, #1176 ; 0x498 8034154: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8034158: 00db lsls r3, r3, #3 803415a: 441a add r2, r3 803415c: f507 63d2 add.w r3, r7, #1680 ; 0x690 8034160: cb18 ldmia r3, {r3, r4} 8034162: e882 0018 stmia.w r2, {r3, r4} b1[k] = -(RealRoot[0] + RealRoot[1]) * Scalar; 8034166: f507 63bf add.w r3, r7, #1528 ; 0x5f8 803416a: ed93 6b00 vldr d6, [r3] 803416e: f507 63c0 add.w r3, r7, #1536 ; 0x600 8034172: ed93 7b00 vldr d7, [r3] 8034176: ee36 7b07 vadd.f64 d7, d6, d7 803417a: eeb1 6b47 vneg.f64 d6, d7 803417e: f507 63d2 add.w r3, r7, #1680 ; 0x690 8034182: ed93 7b00 vldr d7, [r3] 8034186: ee26 7b07 vmul.f64 d7, d6, d7 803418a: f507 6289 add.w r2, r7, #1096 ; 0x448 803418e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8034192: 00db lsls r3, r3, #3 8034194: 4413 add r3, r2 8034196: ed83 7b00 vstr d7, [r3] b0[k] = (RealRoot[0] * RealRoot[1] - ImagRoot[0] * ImagRoot[1]) * Scalar; 803419a: f507 63bf add.w r3, r7, #1528 ; 0x5f8 803419e: ed93 6b00 vldr d6, [r3] 80341a2: f507 63c0 add.w r3, r7, #1536 ; 0x600 80341a6: ed93 7b00 vldr d7, [r3] 80341aa: ee26 6b07 vmul.f64 d6, d6, d7 80341ae: f507 63bb add.w r3, r7, #1496 ; 0x5d8 80341b2: ed93 5b00 vldr d5, [r3] 80341b6: f507 63bc add.w r3, r7, #1504 ; 0x5e0 80341ba: ed93 7b00 vldr d7, [r3] 80341be: ee25 7b07 vmul.f64 d7, d5, d7 80341c2: ee36 6b47 vsub.f64 d6, d6, d7 80341c6: f507 63d2 add.w r3, r7, #1680 ; 0x690 80341ca: ed93 7b00 vldr d7, [r3] 80341ce: ee26 7b07 vmul.f64 d7, d6, d7 80341d2: f507 727e add.w r2, r7, #1016 ; 0x3f8 80341d6: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80341da: 00db lsls r3, r3, #3 80341dc: 4413 add r3, r2 80341de: ed83 7b00 vstr d7, [r3] k++; 80341e2: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80341e6: 3301 adds r3, #1 80341e8: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 b2[k] = Scalar; 80341ec: f507 6293 add.w r2, r7, #1176 ; 0x498 80341f0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80341f4: 00db lsls r3, r3, #3 80341f6: 441a add r2, r3 80341f8: f507 63d2 add.w r3, r7, #1680 ; 0x690 80341fc: cb18 ldmia r3, {r3, r4} 80341fe: e882 0018 stmia.w r2, {r3, r4} b1[k] = -(RealRoot[2] + RealRoot[3]) * Scalar; 8034202: f507 63c1 add.w r3, r7, #1544 ; 0x608 8034206: ed93 6b00 vldr d6, [r3] 803420a: f507 63c2 add.w r3, r7, #1552 ; 0x610 803420e: ed93 7b00 vldr d7, [r3] 8034212: ee36 7b07 vadd.f64 d7, d6, d7 8034216: eeb1 6b47 vneg.f64 d6, d7 803421a: f507 63d2 add.w r3, r7, #1680 ; 0x690 803421e: ed93 7b00 vldr d7, [r3] 8034222: ee26 7b07 vmul.f64 d7, d6, d7 8034226: f507 6289 add.w r2, r7, #1096 ; 0x448 803422a: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 803422e: 00db lsls r3, r3, #3 8034230: 4413 add r3, r2 8034232: ed83 7b00 vstr d7, [r3] b0[k] = (RealRoot[2] * RealRoot[3] - ImagRoot[2] * ImagRoot[3]) * Scalar; 8034236: f507 63c1 add.w r3, r7, #1544 ; 0x608 803423a: ed93 6b00 vldr d6, [r3] 803423e: f507 63c2 add.w r3, r7, #1552 ; 0x610 8034242: ed93 7b00 vldr d7, [r3] 8034246: ee26 6b07 vmul.f64 d6, d6, d7 803424a: f507 63bd add.w r3, r7, #1512 ; 0x5e8 803424e: ed93 5b00 vldr d5, [r3] 8034252: f507 63be add.w r3, r7, #1520 ; 0x5f0 8034256: ed93 7b00 vldr d7, [r3] 803425a: ee25 7b07 vmul.f64 d7, d5, d7 803425e: ee36 6b47 vsub.f64 d6, d6, d7 8034262: f507 63d2 add.w r3, r7, #1680 ; 0x690 8034266: ed93 7b00 vldr d7, [r3] 803426a: ee26 7b07 vmul.f64 d7, d6, d7 803426e: f507 727e add.w r2, r7, #1016 ; 0x3f8 8034272: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8034276: 00db lsls r3, r3, #3 8034278: 4413 add r3, r2 803427a: ed83 7b00 vstr d7, [r3] k++; 803427e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8034282: 3301 adds r3, #1 8034284: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 for(j=0; j } } } if(PassType == iirBPF || PassType == iirNOTCH) 80342a4: f207 230a addw r3, r7, #522 ; 0x20a 80342a8: 781b ldrb r3, [r3, #0] 80342aa: 2b02 cmp r3, #2 80342ac: d005 beq.n 80342ba 80342ae: f207 230a addw r3, r7, #522 ; 0x20a 80342b2: 781b ldrb r3, [r3, #0] 80342b4: 2b03 cmp r3, #3 80342b6: f040 8109 bne.w 80344cc { // 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]; 80342c2: f507 6293 add.w r2, r7, #1176 ; 0x498 80342c6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80342ca: 00db lsls r3, r3, #3 80342cc: 4413 add r3, r2 80342ce: ed93 5b00 vldr d5, [r3] 80342d2: f507 629d add.w r2, r7, #1256 ; 0x4e8 80342d6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80342da: 00db lsls r3, r3, #3 80342dc: 4413 add r3, r2 80342de: ed93 6b00 vldr d6, [r3] 80342e2: ee85 7b06 vdiv.f64 d7, d5, d6 80342e6: f507 6293 add.w r2, r7, #1176 ; 0x498 80342ea: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80342ee: 00db lsls r3, r3, #3 80342f0: 4413 add r3, r2 80342f2: ed83 7b00 vstr d7, [r3] b1[j] /= a0[j]; 80342f6: f507 6289 add.w r2, r7, #1096 ; 0x448 80342fa: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80342fe: 00db lsls r3, r3, #3 8034300: 4413 add r3, r2 8034302: ed93 5b00 vldr d5, [r3] 8034306: f507 629d add.w r2, r7, #1256 ; 0x4e8 803430a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803430e: 00db lsls r3, r3, #3 8034310: 4413 add r3, r2 8034312: ed93 6b00 vldr d6, [r3] 8034316: ee85 7b06 vdiv.f64 d7, d5, d6 803431a: f507 6289 add.w r2, r7, #1096 ; 0x448 803431e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8034322: 00db lsls r3, r3, #3 8034324: 4413 add r3, r2 8034326: ed83 7b00 vstr d7, [r3] b0[j] /= a0[j]; 803432a: f507 727e add.w r2, r7, #1016 ; 0x3f8 803432e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8034332: 00db lsls r3, r3, #3 8034334: 4413 add r3, r2 8034336: ed93 5b00 vldr d5, [r3] 803433a: f507 629d add.w r2, r7, #1256 ; 0x4e8 803433e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8034342: 00db lsls r3, r3, #3 8034344: 4413 add r3, r2 8034346: ed93 6b00 vldr d6, [r3] 803434a: ee85 7b06 vdiv.f64 d7, d5, d6 803434e: f507 727e add.w r2, r7, #1016 ; 0x3f8 8034352: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8034356: 00db lsls r3, r3, #3 8034358: 4413 add r3, r2 803435a: ed83 7b00 vstr d7, [r3] a2[j] /= a0[j]; 803435e: f507 62b1 add.w r2, r7, #1416 ; 0x588 8034362: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8034366: 00db lsls r3, r3, #3 8034368: 4413 add r3, r2 803436a: ed93 5b00 vldr d5, [r3] 803436e: f507 629d add.w r2, r7, #1256 ; 0x4e8 8034372: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8034376: 00db lsls r3, r3, #3 8034378: 4413 add r3, r2 803437a: ed93 6b00 vldr d6, [r3] 803437e: ee85 7b06 vdiv.f64 d7, d5, d6 8034382: f507 62b1 add.w r2, r7, #1416 ; 0x588 8034386: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803438a: 00db lsls r3, r3, #3 803438c: 4413 add r3, r2 803438e: ed83 7b00 vstr d7, [r3] a1[j] /= a0[j]; 8034392: f507 62a7 add.w r2, r7, #1336 ; 0x538 8034396: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803439a: 00db lsls r3, r3, #3 803439c: 4413 add r3, r2 803439e: ed93 5b00 vldr d5, [r3] 80343a2: f507 629d add.w r2, r7, #1256 ; 0x4e8 80343a6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80343aa: 00db lsls r3, r3, #3 80343ac: 4413 add r3, r2 80343ae: ed93 6b00 vldr d6, [r3] 80343b2: ee85 7b06 vdiv.f64 d7, d5, d6 80343b6: f507 62a7 add.w r2, r7, #1336 ; 0x538 80343ba: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80343be: 00db lsls r3, r3, #3 80343c0: 4413 add r3, r2 80343c2: ed83 7b00 vstr d7, [r3] a0[j] = 1.0; 80343c6: f507 629d add.w r2, r7, #1256 ; 0x4e8 80343ca: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80343ce: 00db lsls r3, r3, #3 80343d0: 441a add r2, r3 80343d2: f04f 0300 mov.w r3, #0 80343d6: 4c0a ldr r4, [pc, #40] ; (8034400 ) 80343d8: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } for(j=0; j 80343fc: 20025970 .word 0x20025970 8034400: 3ff00000 .word 0x3ff00000 { IIR.a0[j] = a0[j]; 8034404: f507 629d add.w r2, r7, #1256 ; 0x4e8 8034408: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803440c: 00db lsls r3, r3, #3 803440e: 4413 add r3, r2 8034410: cb18 ldmia r3, {r3, r4} 8034412: 4937 ldr r1, [pc, #220] ; (80344f0 ) 8034414: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 8034418: 00d2 lsls r2, r2, #3 803441a: 440a add r2, r1 803441c: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = a1[j]; 8034420: f507 62a7 add.w r2, r7, #1336 ; 0x538 8034424: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8034428: 00db lsls r3, r3, #3 803442a: 4413 add r3, r2 803442c: cb18 ldmia r3, {r3, r4} 803442e: 4930 ldr r1, [pc, #192] ; (80344f0 ) 8034430: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 8034434: 320a adds r2, #10 8034436: 00d2 lsls r2, r2, #3 8034438: 440a add r2, r1 803443a: e882 0018 stmia.w r2, {r3, r4} IIR.a2[j] = a2[j]; 803443e: f507 62b1 add.w r2, r7, #1416 ; 0x588 8034442: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8034446: 00db lsls r3, r3, #3 8034448: 4413 add r3, r2 803444a: cb18 ldmia r3, {r3, r4} 803444c: 4928 ldr r1, [pc, #160] ; (80344f0 ) 803444e: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 8034452: 3214 adds r2, #20 8034454: 00d2 lsls r2, r2, #3 8034456: 440a add r2, r1 8034458: e882 0018 stmia.w r2, {r3, r4} IIR.b0[j] = b0[j]; 803445c: f507 727e add.w r2, r7, #1016 ; 0x3f8 8034460: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8034464: 00db lsls r3, r3, #3 8034466: 4413 add r3, r2 8034468: cb18 ldmia r3, {r3, r4} 803446a: 4921 ldr r1, [pc, #132] ; (80344f0 ) 803446c: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 8034470: 3232 adds r2, #50 ; 0x32 8034472: 00d2 lsls r2, r2, #3 8034474: 440a add r2, r1 8034476: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = b1[j]; 803447a: f507 6289 add.w r2, r7, #1096 ; 0x448 803447e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8034482: 00db lsls r3, r3, #3 8034484: 4413 add r3, r2 8034486: cb18 ldmia r3, {r3, r4} 8034488: 4919 ldr r1, [pc, #100] ; (80344f0 ) 803448a: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 803448e: 323c adds r2, #60 ; 0x3c 8034490: 00d2 lsls r2, r2, #3 8034492: 440a add r2, r1 8034494: e882 0018 stmia.w r2, {r3, r4} IIR.b2[j] = b2[j]; 8034498: f507 6293 add.w r2, r7, #1176 ; 0x498 803449c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80344a0: 00db lsls r3, r3, #3 80344a2: 4413 add r3, r2 80344a4: cb18 ldmia r3, {r3, r4} 80344a6: 4912 ldr r1, [pc, #72] ; (80344f0 ) 80344a8: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 80344ac: 3246 adds r2, #70 ; 0x46 80344ae: 00d2 lsls r2, r2, #3 80344b0: 440a add r2, r1 80344b2: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } } return(IIR); // IIR is the structure containing the coefficients. 80344cc: f507 7303 add.w r3, r7, #524 ; 0x20c 80344d0: 681b ldr r3, [r3, #0] 80344d2: 4a07 ldr r2, [pc, #28] ; (80344f0 ) 80344d4: 4618 mov r0, r3 80344d6: 4611 mov r1, r2 80344d8: f44f 734a mov.w r3, #808 ; 0x328 80344dc: 461a mov r2, r3 80344de: f09d fd56 bl 80d1f8e } 80344e2: f507 7303 add.w r3, r7, #524 ; 0x20c 80344e6: 6818 ldr r0, [r3, #0] 80344e8: f207 67a4 addw r7, r7, #1700 ; 0x6a4 80344ec: 46bd mov sp, r7 80344ee: bd90 pop {r4, r7, pc} 80344f0: 20025970 .word 0x20025970 80344f4: 00000000 .word 0x00000000 080344f8 : TSPlaneCoeff GetSPlaneCoefficients(uint8_t FilterType, int NumPoles, double Beta) { 80344f8: b590 push {r4, r7, lr} 80344fa: f5ad 7d13 sub.w sp, sp, #588 ; 0x24c 80344fe: af00 add r7, sp, #0 8034500: f107 0314 add.w r3, r7, #20 8034504: 6018 str r0, [r3, #0] 8034506: f107 030c add.w r3, r7, #12 803450a: 601a str r2, [r3, #0] 803450c: 463b mov r3, r7 803450e: ed83 0b00 vstr d0, [r3] 8034512: f107 0313 add.w r3, r7, #19 8034516: 460a mov r2, r1 8034518: 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]; 803451a: f107 0313 add.w r3, r7, #19 803451e: 781b ldrb r3, [r3, #0] 8034520: 4ac5 ldr r2, [pc, #788] ; (8034838 ) 8034522: 00db lsls r3, r3, #3 8034524: 4413 add r3, r2 8034526: cb18 ldmia r3, {r3, r4} 8034528: e9c7 3488 strd r3, r4, [r7, #544] ; 0x220 BetaStep = BetaStepArray[FilterType]; 803452c: f107 0313 add.w r3, r7, #19 8034530: 781b ldrb r3, [r3, #0] 8034532: 4ac2 ldr r2, [pc, #776] ; (803483c ) 8034534: 00db lsls r3, r3, #3 8034536: 4413 add r3, r2 8034538: cb18 ldmia r3, {r3, r4} 803453a: e9c7 3486 strd r3, r4, [r7, #536] ; 0x218 BetaMax = BetaMaxArray[FilterType]; 803453e: f107 0313 add.w r3, r7, #19 8034542: 781b ldrb r3, [r3, #0] 8034544: 4abe ldr r2, [pc, #760] ; (8034840 ) 8034546: 00db lsls r3, r3, #3 8034548: 4413 add r3, r2 803454a: cb18 ldmia r3, {r3, r4} 803454c: e9c7 3484 strd r3, r4, [r7, #528] ; 0x210 MinNumPoles = MinNumPolesArray[FilterType]; 8034550: f107 0313 add.w r3, r7, #19 8034554: 781b ldrb r3, [r3, #0] 8034556: 4abb ldr r2, [pc, #748] ; (8034844 ) 8034558: 00db lsls r3, r3, #3 803455a: 4413 add r3, r2 803455c: ed93 7b00 vldr d7, [r3] 8034560: eefd 7bc7 vcvt.s32.f64 s15, d7 8034564: ee17 3a90 vmov r3, s15 8034568: f8c7 320c str.w r3, [r7, #524] ; 0x20c MaxNumPoles = MaxNumPolesArray[FilterType]; 803456c: f107 0313 add.w r3, r7, #19 8034570: 781b ldrb r3, [r3, #0] 8034572: 4ab5 ldr r2, [pc, #724] ; (8034848 ) 8034574: 00db lsls r3, r3, #3 8034576: 4413 add r3, r2 8034578: ed93 7b00 vldr d7, [r3] 803457c: eefd 7bc7 vcvt.s32.f64 s15, d7 8034580: ee17 3a90 vmov r3, s15 8034584: f8c7 3208 str.w r3, [r7, #520] ; 0x208 // Range check if(NumPoles < MinNumPoles)NumPoles = MinNumPoles; 8034588: f107 030c add.w r3, r7, #12 803458c: 681a ldr r2, [r3, #0] 803458e: f8d7 320c ldr.w r3, [r7, #524] ; 0x20c 8034592: 429a cmp r2, r3 8034594: da04 bge.n 80345a0 8034596: f107 030c add.w r3, r7, #12 803459a: f8d7 220c ldr.w r2, [r7, #524] ; 0x20c 803459e: 601a str r2, [r3, #0] if(NumPoles > MaxNumPoles)NumPoles = MaxNumPoles; 80345a0: f107 030c add.w r3, r7, #12 80345a4: 681a ldr r2, [r3, #0] 80345a6: f8d7 3208 ldr.w r3, [r7, #520] ; 0x208 80345aa: 429a cmp r2, r3 80345ac: dd04 ble.n 80345b8 80345ae: f107 030c add.w r3, r7, #12 80345b2: f8d7 2208 ldr.w r2, [r7, #520] ; 0x208 80345b6: 601a str r2, [r3, #0] if(Beta < BetaMin)Beta = BetaMin; 80345b8: 463b mov r3, r7 80345ba: ed93 6b00 vldr d6, [r3] 80345be: ed97 7b88 vldr d7, [r7, #544] ; 0x220 80345c2: eeb4 6bc7 vcmpe.f64 d6, d7 80345c6: eef1 fa10 vmrs APSR_nzcv, fpscr 80345ca: d504 bpl.n 80345d6 80345cc: 463a mov r2, r7 80345ce: e9d7 3488 ldrd r3, r4, [r7, #544] ; 0x220 80345d2: e882 0018 stmia.w r2, {r3, r4} if(Beta > BetaMax)Beta = BetaMax; 80345d6: 463b mov r3, r7 80345d8: ed93 6b00 vldr d6, [r3] 80345dc: ed97 7b84 vldr d7, [r7, #528] ; 0x210 80345e0: eeb4 6bc7 vcmpe.f64 d6, d7 80345e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80345e8: dd04 ble.n 80345f4 80345ea: 463a mov r2, r7 80345ec: e9d7 3484 ldrd r3, r4, [r7, #528] ; 0x210 80345f0: 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; 80345f4: 2300 movs r3, #0 80345f6: f8c7 3230 str.w r3, [r7, #560] ; 0x230 for(LoopBeta=BetaMin; LoopBeta<=BetaMax; LoopBeta+=BetaStep)OuterArrayDim++; 80345fa: e9d7 3488 ldrd r3, r4, [r7, #544] ; 0x220 80345fe: e9c7 348a strd r3, r4, [r7, #552] ; 0x228 8034602: e00c b.n 803461e 8034604: f8d7 3230 ldr.w r3, [r7, #560] ; 0x230 8034608: 3301 adds r3, #1 803460a: f8c7 3230 str.w r3, [r7, #560] ; 0x230 803460e: ed97 6b8a vldr d6, [r7, #552] ; 0x228 8034612: ed97 7b86 vldr d7, [r7, #536] ; 0x218 8034616: ee36 7b07 vadd.f64 d7, d6, d7 803461a: ed87 7b8a vstr d7, [r7, #552] ; 0x228 803461e: ed97 6b8a vldr d6, [r7, #552] ; 0x228 8034622: ed97 7b84 vldr d7, [r7, #528] ; 0x210 8034626: eeb4 6bc7 vcmpe.f64 d6, d7 803462a: eef1 fa10 vmrs APSR_nzcv, fpscr 803462e: d9e9 bls.n 8034604 ArrayNumber = 0; 8034630: 2300 movs r3, #0 8034632: f8c7 3234 str.w r3, [r7, #564] ; 0x234 for(LoopBeta=BetaMin; LoopBeta<=BetaMax; LoopBeta+=BetaStep) 8034636: e9d7 3488 ldrd r3, r4, [r7, #544] ; 0x220 803463a: e9c7 348a strd r3, r4, [r7, #552] ; 0x228 803463e: e030 b.n 80346a2 { if( LoopBeta >= Beta - BetaStep/1.9999 && LoopBeta <= Beta + BetaStep/1.9999)break; 8034640: ed97 6b86 vldr d6, [r7, #536] ; 0x218 8034644: ed9f 5b7a vldr d5, [pc, #488] ; 8034830 8034648: ee86 7b05 vdiv.f64 d7, d6, d5 803464c: 463b mov r3, r7 803464e: ed93 6b00 vldr d6, [r3] 8034652: ee36 6b47 vsub.f64 d6, d6, d7 8034656: ed97 7b8a vldr d7, [r7, #552] ; 0x228 803465a: eeb4 6bc7 vcmpe.f64 d6, d7 803465e: eef1 fa10 vmrs APSR_nzcv, fpscr 8034662: d811 bhi.n 8034688 8034664: ed97 7b86 vldr d7, [r7, #536] ; 0x218 8034668: ed9f 5b71 vldr d5, [pc, #452] ; 8034830 803466c: ee87 6b05 vdiv.f64 d6, d7, d5 8034670: 463b mov r3, r7 8034672: ed93 7b00 vldr d7, [r3] 8034676: ee36 6b07 vadd.f64 d6, d6, d7 803467a: ed97 7b8a vldr d7, [r7, #552] ; 0x228 803467e: eeb4 6bc7 vcmpe.f64 d6, d7 8034682: eef1 fa10 vmrs APSR_nzcv, fpscr 8034686: da16 bge.n 80346b6 ArrayNumber++; 8034688: f8d7 3234 ldr.w r3, [r7, #564] ; 0x234 803468c: 3301 adds r3, #1 803468e: f8c7 3234 str.w r3, [r7, #564] ; 0x234 for(LoopBeta=BetaMin; LoopBeta<=BetaMax; LoopBeta+=BetaStep) 8034692: ed97 6b8a vldr d6, [r7, #552] ; 0x228 8034696: ed97 7b86 vldr d7, [r7, #536] ; 0x218 803469a: ee36 7b07 vadd.f64 d7, d6, d7 803469e: ed87 7b8a vstr d7, [r7, #552] ; 0x228 80346a2: ed97 6b8a vldr d6, [r7, #552] ; 0x228 80346a6: ed97 7b84 vldr d7, [r7, #528] ; 0x210 80346aa: eeb4 6bc7 vcmpe.f64 d6, d7 80346ae: eef1 fa10 vmrs APSR_nzcv, fpscr 80346b2: d9c5 bls.n 8034640 80346b4: e000 b.n 80346b8 if( LoopBeta >= Beta - BetaStep/1.9999 && LoopBeta <= Beta + BetaStep/1.9999)break; 80346b6: 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 80346b8: f8d7 3230 ldr.w r3, [r7, #560] ; 0x230 80346bc: 1e5a subs r2, r3, #1 80346be: f8d7 3234 ldr.w r3, [r7, #564] ; 0x234 80346c2: 429a cmp r2, r3 80346c4: da04 bge.n 80346d0 80346c6: f8d7 3230 ldr.w r3, [r7, #560] ; 0x230 80346ca: 3b01 subs r3, #1 80346cc: 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; 80346d0: f107 030c add.w r3, r7, #12 80346d4: 681a ldr r2, [r3, #0] 80346d6: f8d7 320c ldr.w r3, [r7, #524] ; 0x20c 80346da: 1ad3 subs r3, r2, r3 80346dc: f8c7 3240 str.w r3, [r7, #576] ; 0x240 if(n < 0)n = 0; 80346e0: f8d7 3240 ldr.w r3, [r7, #576] ; 0x240 80346e4: 2b00 cmp r3, #0 80346e6: da02 bge.n 80346ee 80346e8: 2300 movs r3, #0 80346ea: f8c7 3240 str.w r3, [r7, #576] ; 0x240 // NumSections is the number of biquad sections for a given pole count. NumSections = (NumPoles + 1) / 2; 80346ee: f107 030c add.w r3, r7, #12 80346f2: 681b ldr r3, [r3, #0] 80346f4: 3301 adds r3, #1 80346f6: 2b00 cmp r3, #0 80346f8: da00 bge.n 80346fc 80346fa: 3301 adds r3, #1 80346fc: 105b asrs r3, r3, #1 80346fe: f8c7 3204 str.w r3, [r7, #516] ; 0x204 p = z = 0; 8034702: 2300 movs r3, #0 8034704: f8c7 3238 str.w r3, [r7, #568] ; 0x238 8034708: f8d7 3238 ldr.w r3, [r7, #568] ; 0x238 803470c: f8c7 323c str.w r3, [r7, #572] ; 0x23c switch(FilterType) 8034710: f107 0313 add.w r3, r7, #19 8034714: 781b ldrb r3, [r3, #0] 8034716: 2b04 cmp r3, #4 8034718: f000 8086 beq.w 8034828 803471c: 2b05 cmp r3, #5 803471e: f000 812b beq.w 8034978 8034722: 2b00 cmp r3, #0 8034724: f040 81f2 bne.w 8034b0c { case ftBUTTERWORTH: for(j=0; j { SPlaneCoeff.A[j] = ButterworthDenominator[n][p++]; 8034730: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8034734: 1c53 adds r3, r2, #1 8034736: f8c7 323c str.w r3, [r7, #572] ; 0x23c 803473a: 4844 ldr r0, [pc, #272] ; (803484c ) 803473c: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8034740: 460b mov r3, r1 8034742: 011b lsls r3, r3, #4 8034744: 1a5b subs r3, r3, r1 8034746: 005b lsls r3, r3, #1 8034748: 4413 add r3, r2 803474a: 00db lsls r3, r3, #3 803474c: 4403 add r3, r0 803474e: cb18 ldmia r3, {r3, r4} 8034750: f107 0118 add.w r1, r7, #24 8034754: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8034758: 00d2 lsls r2, r2, #3 803475a: 440a add r2, r1 803475c: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.B[j] = ButterworthDenominator[n][p++]; 8034760: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8034764: 1c53 adds r3, r2, #1 8034766: f8c7 323c str.w r3, [r7, #572] ; 0x23c 803476a: 4838 ldr r0, [pc, #224] ; (803484c ) 803476c: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8034770: 460b mov r3, r1 8034772: 011b lsls r3, r3, #4 8034774: 1a5b subs r3, r3, r1 8034776: 005b lsls r3, r3, #1 8034778: 4413 add r3, r2 803477a: 00db lsls r3, r3, #3 803477c: 4403 add r3, r0 803477e: cb18 ldmia r3, {r3, r4} 8034780: f107 0118 add.w r1, r7, #24 8034784: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8034788: 320a adds r2, #10 803478a: 00d2 lsls r2, r2, #3 803478c: 440a add r2, r1 803478e: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.C[j] = ButterworthDenominator[n][p++]; 8034792: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8034796: 1c53 adds r3, r2, #1 8034798: f8c7 323c str.w r3, [r7, #572] ; 0x23c 803479c: 482b ldr r0, [pc, #172] ; (803484c ) 803479e: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 80347a2: 460b mov r3, r1 80347a4: 011b lsls r3, r3, #4 80347a6: 1a5b subs r3, r3, r1 80347a8: 005b lsls r3, r3, #1 80347aa: 4413 add r3, r2 80347ac: 00db lsls r3, r3, #3 80347ae: 4403 add r3, r0 80347b0: cb18 ldmia r3, {r3, r4} 80347b2: f107 0118 add.w r1, r7, #24 80347b6: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 80347ba: 3214 adds r2, #20 80347bc: 00d2 lsls r2, r2, #3 80347be: 440a add r2, r1 80347c0: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.D[j] = 0.0; 80347c4: f107 0218 add.w r2, r7, #24 80347c8: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 80347cc: 331e adds r3, #30 80347ce: 00db lsls r3, r3, #3 80347d0: 441a add r2, r3 80347d2: f04f 0300 mov.w r3, #0 80347d6: f04f 0400 mov.w r4, #0 80347da: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.E[j] = 0.0; 80347de: f107 0218 add.w r2, r7, #24 80347e2: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 80347e6: 3328 adds r3, #40 ; 0x28 80347e8: 00db lsls r3, r3, #3 80347ea: 441a add r2, r3 80347ec: f04f 0300 mov.w r3, #0 80347f0: f04f 0400 mov.w r4, #0 80347f4: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.F[j] = 1.0; 80347f8: f107 0218 add.w r2, r7, #24 80347fc: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 8034800: 3332 adds r3, #50 ; 0x32 8034802: 00db lsls r3, r3, #3 8034804: 441a add r2, r3 8034806: f04f 0300 mov.w r3, #0 803480a: 4c11 ldr r4, [pc, #68] ; (8034850 ) 803480c: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } break; 8034826: e171 b.n 8034b0c case ftCHEBYSHEV: for(j=0; j 8034830: 2474538f .word 0x2474538f 8034834: 3fffff97 .word 0x3fffff97 8034838: 080de900 .word 0x080de900 803483c: 080de988 .word 0x080de988 8034840: 080dea10 .word 0x080dea10 8034844: 080dea98 .word 0x080dea98 8034848: 080deb20 .word 0x080deb20 803484c: 080deba8 .word 0x080deba8 8034850: 3ff00000 .word 0x3ff00000 { SPlaneCoeff.A[j] = ChebyshevDenominator[ArrayNumber][n][p++]; 8034854: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8034858: 1c53 adds r3, r2, #1 803485a: f8c7 323c str.w r3, [r7, #572] ; 0x23c 803485e: 4cb8 ldr r4, [pc, #736] ; (8034b40 ) 8034860: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8034864: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8034868: 460b mov r3, r1 803486a: 011b lsls r3, r3, #4 803486c: 1a5b subs r3, r3, r1 803486e: 005b lsls r3, r3, #1 8034870: f44f 7187 mov.w r1, #270 ; 0x10e 8034874: fb01 f100 mul.w r1, r1, r0 8034878: 440b add r3, r1 803487a: 4413 add r3, r2 803487c: 00db lsls r3, r3, #3 803487e: 4423 add r3, r4 8034880: cb18 ldmia r3, {r3, r4} 8034882: f107 0118 add.w r1, r7, #24 8034886: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 803488a: 00d2 lsls r2, r2, #3 803488c: 440a add r2, r1 803488e: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.B[j] = ChebyshevDenominator[ArrayNumber][n][p++]; 8034892: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8034896: 1c53 adds r3, r2, #1 8034898: f8c7 323c str.w r3, [r7, #572] ; 0x23c 803489c: 4ca8 ldr r4, [pc, #672] ; (8034b40 ) 803489e: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 80348a2: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 80348a6: 460b mov r3, r1 80348a8: 011b lsls r3, r3, #4 80348aa: 1a5b subs r3, r3, r1 80348ac: 005b lsls r3, r3, #1 80348ae: f44f 7187 mov.w r1, #270 ; 0x10e 80348b2: fb01 f100 mul.w r1, r1, r0 80348b6: 440b add r3, r1 80348b8: 4413 add r3, r2 80348ba: 00db lsls r3, r3, #3 80348bc: 4423 add r3, r4 80348be: cb18 ldmia r3, {r3, r4} 80348c0: f107 0118 add.w r1, r7, #24 80348c4: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 80348c8: 320a adds r2, #10 80348ca: 00d2 lsls r2, r2, #3 80348cc: 440a add r2, r1 80348ce: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.C[j] = ChebyshevDenominator[ArrayNumber][n][p++]; 80348d2: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 80348d6: 1c53 adds r3, r2, #1 80348d8: f8c7 323c str.w r3, [r7, #572] ; 0x23c 80348dc: 4c98 ldr r4, [pc, #608] ; (8034b40 ) 80348de: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 80348e2: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 80348e6: 460b mov r3, r1 80348e8: 011b lsls r3, r3, #4 80348ea: 1a5b subs r3, r3, r1 80348ec: 005b lsls r3, r3, #1 80348ee: f44f 7187 mov.w r1, #270 ; 0x10e 80348f2: fb01 f100 mul.w r1, r1, r0 80348f6: 440b add r3, r1 80348f8: 4413 add r3, r2 80348fa: 00db lsls r3, r3, #3 80348fc: 4423 add r3, r4 80348fe: cb18 ldmia r3, {r3, r4} 8034900: f107 0118 add.w r1, r7, #24 8034904: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8034908: 3214 adds r2, #20 803490a: 00d2 lsls r2, r2, #3 803490c: 440a add r2, r1 803490e: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.D[j] = 0.0; 8034912: f107 0218 add.w r2, r7, #24 8034916: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 803491a: 331e adds r3, #30 803491c: 00db lsls r3, r3, #3 803491e: 441a add r2, r3 8034920: f04f 0300 mov.w r3, #0 8034924: f04f 0400 mov.w r4, #0 8034928: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.E[j] = 0.0; 803492c: f107 0218 add.w r2, r7, #24 8034930: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 8034934: 3328 adds r3, #40 ; 0x28 8034936: 00db lsls r3, r3, #3 8034938: 441a add r2, r3 803493a: f04f 0300 mov.w r3, #0 803493e: f04f 0400 mov.w r4, #0 8034942: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.F[j] = 1.0; 8034946: f107 0218 add.w r2, r7, #24 803494a: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 803494e: 3332 adds r3, #50 ; 0x32 8034950: 00db lsls r3, r3, #3 8034952: 441a add r2, r3 8034954: f04f 0300 mov.w r3, #0 8034958: 4c7a ldr r4, [pc, #488] ; (8034b44 ) 803495a: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } break; 8034976: e0c9 b.n 8034b0c case ftINVERSE_CHEBY: for(j=0; j { SPlaneCoeff.A[j] = InvChebyDenominator[ArrayNumber][n][p++]; 8034980: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8034984: 1c53 adds r3, r2, #1 8034986: f8c7 323c str.w r3, [r7, #572] ; 0x23c 803498a: 4c6f ldr r4, [pc, #444] ; (8034b48 ) 803498c: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8034990: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8034994: 460b mov r3, r1 8034996: 005b lsls r3, r3, #1 8034998: 440b add r3, r1 803499a: 00db lsls r3, r3, #3 803499c: 21d8 movs r1, #216 ; 0xd8 803499e: fb01 f100 mul.w r1, r1, r0 80349a2: 440b add r3, r1 80349a4: 4413 add r3, r2 80349a6: 00db lsls r3, r3, #3 80349a8: 4423 add r3, r4 80349aa: cb18 ldmia r3, {r3, r4} 80349ac: f107 0118 add.w r1, r7, #24 80349b0: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 80349b4: 00d2 lsls r2, r2, #3 80349b6: 440a add r2, r1 80349b8: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.B[j] = InvChebyDenominator[ArrayNumber][n][p++]; 80349bc: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 80349c0: 1c53 adds r3, r2, #1 80349c2: f8c7 323c str.w r3, [r7, #572] ; 0x23c 80349c6: 4c60 ldr r4, [pc, #384] ; (8034b48 ) 80349c8: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 80349cc: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 80349d0: 460b mov r3, r1 80349d2: 005b lsls r3, r3, #1 80349d4: 440b add r3, r1 80349d6: 00db lsls r3, r3, #3 80349d8: 21d8 movs r1, #216 ; 0xd8 80349da: fb01 f100 mul.w r1, r1, r0 80349de: 440b add r3, r1 80349e0: 4413 add r3, r2 80349e2: 00db lsls r3, r3, #3 80349e4: 4423 add r3, r4 80349e6: cb18 ldmia r3, {r3, r4} 80349e8: f107 0118 add.w r1, r7, #24 80349ec: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 80349f0: 320a adds r2, #10 80349f2: 00d2 lsls r2, r2, #3 80349f4: 440a add r2, r1 80349f6: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.C[j] = InvChebyDenominator[ArrayNumber][n][p++]; 80349fa: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 80349fe: 1c53 adds r3, r2, #1 8034a00: f8c7 323c str.w r3, [r7, #572] ; 0x23c 8034a04: 4c50 ldr r4, [pc, #320] ; (8034b48 ) 8034a06: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8034a0a: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8034a0e: 460b mov r3, r1 8034a10: 005b lsls r3, r3, #1 8034a12: 440b add r3, r1 8034a14: 00db lsls r3, r3, #3 8034a16: 21d8 movs r1, #216 ; 0xd8 8034a18: fb01 f100 mul.w r1, r1, r0 8034a1c: 440b add r3, r1 8034a1e: 4413 add r3, r2 8034a20: 00db lsls r3, r3, #3 8034a22: 4423 add r3, r4 8034a24: cb18 ldmia r3, {r3, r4} 8034a26: f107 0118 add.w r1, r7, #24 8034a2a: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8034a2e: 3214 adds r2, #20 8034a30: 00d2 lsls r2, r2, #3 8034a32: 440a add r2, r1 8034a34: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.D[j] = InvChebyNumerator[ArrayNumber][n][z++]; 8034a38: f8d7 2238 ldr.w r2, [r7, #568] ; 0x238 8034a3c: 1c53 adds r3, r2, #1 8034a3e: f8c7 3238 str.w r3, [r7, #568] ; 0x238 8034a42: 4c42 ldr r4, [pc, #264] ; (8034b4c ) 8034a44: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8034a48: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8034a4c: 460b mov r3, r1 8034a4e: 005b lsls r3, r3, #1 8034a50: 440b add r3, r1 8034a52: 00db lsls r3, r3, #3 8034a54: 21d8 movs r1, #216 ; 0xd8 8034a56: fb01 f100 mul.w r1, r1, r0 8034a5a: 440b add r3, r1 8034a5c: 4413 add r3, r2 8034a5e: 00db lsls r3, r3, #3 8034a60: 4423 add r3, r4 8034a62: cb18 ldmia r3, {r3, r4} 8034a64: f107 0118 add.w r1, r7, #24 8034a68: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8034a6c: 321e adds r2, #30 8034a6e: 00d2 lsls r2, r2, #3 8034a70: 440a add r2, r1 8034a72: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.E[j] = InvChebyNumerator[ArrayNumber][n][z++]; 8034a76: f8d7 2238 ldr.w r2, [r7, #568] ; 0x238 8034a7a: 1c53 adds r3, r2, #1 8034a7c: f8c7 3238 str.w r3, [r7, #568] ; 0x238 8034a80: 4c32 ldr r4, [pc, #200] ; (8034b4c ) 8034a82: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8034a86: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8034a8a: 460b mov r3, r1 8034a8c: 005b lsls r3, r3, #1 8034a8e: 440b add r3, r1 8034a90: 00db lsls r3, r3, #3 8034a92: 21d8 movs r1, #216 ; 0xd8 8034a94: fb01 f100 mul.w r1, r1, r0 8034a98: 440b add r3, r1 8034a9a: 4413 add r3, r2 8034a9c: 00db lsls r3, r3, #3 8034a9e: 4423 add r3, r4 8034aa0: cb18 ldmia r3, {r3, r4} 8034aa2: f107 0118 add.w r1, r7, #24 8034aa6: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8034aaa: 3228 adds r2, #40 ; 0x28 8034aac: 00d2 lsls r2, r2, #3 8034aae: 440a add r2, r1 8034ab0: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.F[j] = InvChebyNumerator[ArrayNumber][n][z++]; 8034ab4: f8d7 2238 ldr.w r2, [r7, #568] ; 0x238 8034ab8: 1c53 adds r3, r2, #1 8034aba: f8c7 3238 str.w r3, [r7, #568] ; 0x238 8034abe: 4c23 ldr r4, [pc, #140] ; (8034b4c ) 8034ac0: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8034ac4: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8034ac8: 460b mov r3, r1 8034aca: 005b lsls r3, r3, #1 8034acc: 440b add r3, r1 8034ace: 00db lsls r3, r3, #3 8034ad0: 21d8 movs r1, #216 ; 0xd8 8034ad2: fb01 f100 mul.w r1, r1, r0 8034ad6: 440b add r3, r1 8034ad8: 4413 add r3, r2 8034ada: 00db lsls r3, r3, #3 8034adc: 4423 add r3, r4 8034ade: cb18 ldmia r3, {r3, r4} 8034ae0: f107 0118 add.w r1, r7, #24 8034ae4: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8034ae8: 3232 adds r2, #50 ; 0x32 8034aea: 00d2 lsls r2, r2, #3 8034aec: 440a add r2, r1 8034aee: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } break; 8034b0a: bf00 nop } SPlaneCoeff.NumSections = NumSections; 8034b0c: f107 0318 add.w r3, r7, #24 8034b10: f8d7 2204 ldr.w r2, [r7, #516] ; 0x204 8034b14: f8c3 21e0 str.w r2, [r3, #480] ; 0x1e0 return(SPlaneCoeff); 8034b18: f107 0314 add.w r3, r7, #20 8034b1c: 681a ldr r2, [r3, #0] 8034b1e: f107 0318 add.w r3, r7, #24 8034b22: 4610 mov r0, r2 8034b24: 4619 mov r1, r3 8034b26: f44f 73f4 mov.w r3, #488 ; 0x1e8 8034b2a: 461a mov r2, r3 8034b2c: f09d fa2f bl 80d1f8e } 8034b30: f107 0314 add.w r3, r7, #20 8034b34: 6818 ldr r0, [r3, #0] 8034b36: f507 7713 add.w r7, r7, #588 ; 0x24c 8034b3a: 46bd mov sp, r7 8034b3c: bd90 pop {r4, r7, pc} 8034b3e: bf00 nop 8034b40: 080df418 .word 0x080df418 8034b44: 3ff00000 .word 0x3ff00000 8034b48: 080e50e8 .word 0x080e50e8 8034b4c: 080ed128 .word 0x080ed128 08034b50 : int QuadCubicRoots(int N, double *Coeff, double *RootsReal, double *RootsImag) { 8034b50: b590 push {r4, r7, lr} 8034b52: b0a1 sub sp, #132 ; 0x84 8034b54: af00 add r7, sp, #0 8034b56: 60f8 str r0, [r7, #12] 8034b58: 60b9 str r1, [r7, #8] 8034b5a: 607a str r2, [r7, #4] 8034b5c: 603b str r3, [r7, #0] if(N <= 1 || N > 4) 8034b5e: 68fb ldr r3, [r7, #12] 8034b60: 2b01 cmp r3, #1 8034b62: dd02 ble.n 8034b6a 8034b64: 68fb ldr r3, [r7, #12] 8034b66: 2b04 cmp r3, #4 8034b68: dd01 ble.n 8034b6e { return(0); 8034b6a: 2300 movs r3, #0 8034b6c: e13b b.n 8034de6 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; 8034b6e: 2300 movs r3, #0 8034b70: 67fb str r3, [r7, #124] ; 0x7c 8034b72: e01e b.n 8034bb2 8034b74: 6ffb ldr r3, [r7, #124] ; 0x7c 8034b76: 00db lsls r3, r3, #3 8034b78: f107 0280 add.w r2, r7, #128 ; 0x80 8034b7c: 4413 add r3, r2 8034b7e: f1a3 0270 sub.w r2, r3, #112 ; 0x70 8034b82: f04f 0300 mov.w r3, #0 8034b86: f04f 0400 mov.w r4, #0 8034b8a: e882 0018 stmia.w r2, {r3, r4} 8034b8e: 6ffb ldr r3, [r7, #124] ; 0x7c 8034b90: 00db lsls r3, r3, #3 8034b92: f107 0280 add.w r2, r7, #128 ; 0x80 8034b96: 4413 add r3, r2 8034b98: 3b70 subs r3, #112 ; 0x70 8034b9a: cb18 ldmia r3, {r3, r4} 8034b9c: 6ffa ldr r2, [r7, #124] ; 0x7c 8034b9e: 00d2 lsls r2, r2, #3 8034ba0: f107 0180 add.w r1, r7, #128 ; 0x80 8034ba4: 440a add r2, r1 8034ba6: 3a50 subs r2, #80 ; 0x50 8034ba8: e882 0018 stmia.w r2, {r3, r4} 8034bac: 6ffb ldr r3, [r7, #124] ; 0x7c 8034bae: 3301 adds r3, #1 8034bb0: 67fb str r3, [r7, #124] ; 0x7c 8034bb2: 6ffb ldr r3, [r7, #124] ; 0x7c 8034bb4: 2b03 cmp r3, #3 8034bb6: dddd ble.n 8034b74 for(j=0; j<5; j++)P[j] = 0.0; 8034bb8: 2300 movs r3, #0 8034bba: 67fb str r3, [r7, #124] ; 0x7c 8034bbc: e00f b.n 8034bde 8034bbe: 6ffb ldr r3, [r7, #124] ; 0x7c 8034bc0: 00db lsls r3, r3, #3 8034bc2: f107 0280 add.w r2, r7, #128 ; 0x80 8034bc6: 4413 add r3, r2 8034bc8: f1a3 0230 sub.w r2, r3, #48 ; 0x30 8034bcc: f04f 0300 mov.w r3, #0 8034bd0: f04f 0400 mov.w r4, #0 8034bd4: e882 0018 stmia.w r2, {r3, r4} 8034bd8: 6ffb ldr r3, [r7, #124] ; 0x7c 8034bda: 3301 adds r3, #1 8034bdc: 67fb str r3, [r7, #124] ; 0x7c 8034bde: 6ffb ldr r3, [r7, #124] ; 0x7c 8034be0: 2b04 cmp r3, #4 8034be2: ddec ble.n 8034bbe // Reduce the order if there are trailing zeros. for(k=N; k>=0; k--) 8034be4: 68fb ldr r3, [r7, #12] 8034be6: 67bb str r3, [r7, #120] ; 0x78 8034be8: e01e b.n 8034c28 { if(fabs(Coeff[k]) > ZERO_PLUS)break; // break on the 1st nonzero coeff 8034bea: 6fbb ldr r3, [r7, #120] ; 0x78 8034bec: 00db lsls r3, r3, #3 8034bee: 68ba ldr r2, [r7, #8] 8034bf0: 4413 add r3, r2 8034bf2: ed93 7b00 vldr d7, [r3] 8034bf6: eeb0 7bc7 vabs.f64 d7, d7 8034bfa: ed9f 6b7d vldr d6, [pc, #500] ; 8034df0 8034bfe: eeb4 7bc6 vcmpe.f64 d7, d6 8034c02: eef1 fa10 vmrs APSR_nzcv, fpscr 8034c06: dc13 bgt.n 8034c30 Coeff[k] = 0.0; 8034c08: 6fbb ldr r3, [r7, #120] ; 0x78 8034c0a: 00db lsls r3, r3, #3 8034c0c: 68ba ldr r2, [r7, #8] 8034c0e: 441a add r2, r3 8034c10: f04f 0300 mov.w r3, #0 8034c14: f04f 0400 mov.w r4, #0 8034c18: e882 0018 stmia.w r2, {r3, r4} N--; 8034c1c: 68fb ldr r3, [r7, #12] 8034c1e: 3b01 subs r3, #1 8034c20: 60fb str r3, [r7, #12] for(k=N; k>=0; k--) 8034c22: 6fbb ldr r3, [r7, #120] ; 0x78 8034c24: 3b01 subs r3, #1 8034c26: 67bb str r3, [r7, #120] ; 0x78 8034c28: 6fbb ldr r3, [r7, #120] ; 0x78 8034c2a: 2b00 cmp r3, #0 8034c2c: dadd bge.n 8034bea 8034c2e: e024 b.n 8034c7a if(fabs(Coeff[k]) > ZERO_PLUS)break; // break on the 1st nonzero coeff 8034c30: bf00 nop } // Mandatory to remove leading zeros. while( fabs(Coeff[0]) < ZERO_PLUS && N>0) 8034c32: e022 b.n 8034c7a { for(k=0; k { Coeff[k] = Coeff[k+1]; 8034c3a: 6fbb ldr r3, [r7, #120] ; 0x78 8034c3c: 00db lsls r3, r3, #3 8034c3e: 68ba ldr r2, [r7, #8] 8034c40: 441a add r2, r3 8034c42: 6fbb ldr r3, [r7, #120] ; 0x78 8034c44: 3301 adds r3, #1 8034c46: 00db lsls r3, r3, #3 8034c48: 68b9 ldr r1, [r7, #8] 8034c4a: 440b add r3, r1 8034c4c: cb18 ldmia r3, {r3, r4} 8034c4e: e882 0018 stmia.w r2, {r3, r4} for(k=0; k } Coeff[N] = 0.0; 8034c60: 68fb ldr r3, [r7, #12] 8034c62: 00db lsls r3, r3, #3 8034c64: 68ba ldr r2, [r7, #8] 8034c66: 441a add r2, r3 8034c68: f04f 0300 mov.w r3, #0 8034c6c: f04f 0400 mov.w r4, #0 8034c70: e882 0018 stmia.w r2, {r3, r4} N--; 8034c74: 68fb ldr r3, [r7, #12] 8034c76: 3b01 subs r3, #1 8034c78: 60fb str r3, [r7, #12] while( fabs(Coeff[0]) < ZERO_PLUS && N>0) 8034c7a: 68bb ldr r3, [r7, #8] 8034c7c: ed93 7b00 vldr d7, [r3] 8034c80: eeb0 7bc7 vabs.f64 d7, d7 8034c84: ed9f 6b5a vldr d6, [pc, #360] ; 8034df0 8034c88: eeb4 7bc6 vcmpe.f64 d7, d6 8034c8c: eef1 fa10 vmrs APSR_nzcv, fpscr 8034c90: d502 bpl.n 8034c98 8034c92: 68fb ldr r3, [r7, #12] 8034c94: 2b00 cmp r3, #0 8034c96: dccd bgt.n 8034c34 } // The functions below modify the coeff array, so we pass P instead of Coeff. for(j=0; j<=N; j++)P[j] = Coeff[j]; 8034c98: 2300 movs r3, #0 8034c9a: 67fb str r3, [r7, #124] ; 0x7c 8034c9c: e00f b.n 8034cbe 8034c9e: 6ffb ldr r3, [r7, #124] ; 0x7c 8034ca0: 00db lsls r3, r3, #3 8034ca2: 68ba ldr r2, [r7, #8] 8034ca4: 4413 add r3, r2 8034ca6: cb18 ldmia r3, {r3, r4} 8034ca8: 6ffa ldr r2, [r7, #124] ; 0x7c 8034caa: 00d2 lsls r2, r2, #3 8034cac: f107 0180 add.w r1, r7, #128 ; 0x80 8034cb0: 440a add r2, r1 8034cb2: 3a30 subs r2, #48 ; 0x30 8034cb4: e882 0018 stmia.w r2, {r3, r4} 8034cb8: 6ffb ldr r3, [r7, #124] ; 0x7c 8034cba: 3301 adds r3, #1 8034cbc: 67fb str r3, [r7, #124] ; 0x7c 8034cbe: 6ffa ldr r2, [r7, #124] ; 0x7c 8034cc0: 68fb ldr r3, [r7, #12] 8034cc2: 429a cmp r2, r3 8034cc4: ddeb ble.n 8034c9e // Mandatory to normalize the coefficients if(P[0] != 1.0) 8034cc6: ed97 7b14 vldr d7, [r7, #80] ; 0x50 8034cca: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 8034cce: eeb4 7b46 vcmp.f64 d7, d6 8034cd2: eef1 fa10 vmrs APSR_nzcv, fpscr 8034cd6: d022 beq.n 8034d1e { for(k=1; k<=N; k++) 8034cd8: 2301 movs r3, #1 8034cda: 67bb str r3, [r7, #120] ; 0x78 8034cdc: e016 b.n 8034d0c { P[k] /= P[0]; 8034cde: 6fbb ldr r3, [r7, #120] ; 0x78 8034ce0: 00db lsls r3, r3, #3 8034ce2: f107 0280 add.w r2, r7, #128 ; 0x80 8034ce6: 4413 add r3, r2 8034ce8: 3b30 subs r3, #48 ; 0x30 8034cea: ed93 5b00 vldr d5, [r3] 8034cee: ed97 6b14 vldr d6, [r7, #80] ; 0x50 8034cf2: ee85 7b06 vdiv.f64 d7, d5, d6 8034cf6: 6fbb ldr r3, [r7, #120] ; 0x78 8034cf8: 00db lsls r3, r3, #3 8034cfa: f107 0280 add.w r2, r7, #128 ; 0x80 8034cfe: 4413 add r3, r2 8034d00: 3b30 subs r3, #48 ; 0x30 8034d02: ed83 7b00 vstr d7, [r3] for(k=1; k<=N; k++) 8034d06: 6fbb ldr r3, [r7, #120] ; 0x78 8034d08: 3301 adds r3, #1 8034d0a: 67bb str r3, [r7, #120] ; 0x78 8034d0c: 6fba ldr r2, [r7, #120] ; 0x78 8034d0e: 68fb ldr r3, [r7, #12] 8034d10: 429a cmp r2, r3 8034d12: dde4 ble.n 8034cde } P[0] = 1.0; 8034d14: f04f 0300 mov.w r3, #0 8034d18: 4c37 ldr r4, [pc, #220] ; (8034df8 ) 8034d1a: e9c7 3414 strd r3, r4, [r7, #80] ; 0x50 } if(N==4)BiQuadRoots(P, RealRoot, ImagRoot); 8034d1e: 68fb ldr r3, [r7, #12] 8034d20: 2b04 cmp r3, #4 8034d22: d108 bne.n 8034d36 8034d24: f107 0210 add.w r2, r7, #16 8034d28: f107 0130 add.w r1, r7, #48 ; 0x30 8034d2c: f107 0350 add.w r3, r7, #80 ; 0x50 8034d30: 4618 mov r0, r3 8034d32: f000 fba5 bl 8035480 if(N==3)CubicRoots(P, RealRoot, ImagRoot); 8034d36: 68fb ldr r3, [r7, #12] 8034d38: 2b03 cmp r3, #3 8034d3a: d108 bne.n 8034d4e 8034d3c: f107 0210 add.w r2, r7, #16 8034d40: f107 0130 add.w r1, r7, #48 ; 0x30 8034d44: f107 0350 add.w r3, r7, #80 ; 0x50 8034d48: 4618 mov r0, r3 8034d4a: f000 f915 bl 8034f78 if(N==2)QuadRoots(P, RealRoot, ImagRoot); 8034d4e: 68fb ldr r3, [r7, #12] 8034d50: 2b02 cmp r3, #2 8034d52: d108 bne.n 8034d66 8034d54: f107 0210 add.w r2, r7, #16 8034d58: f107 0130 add.w r1, r7, #48 ; 0x30 8034d5c: f107 0350 add.w r3, r7, #80 ; 0x50 8034d60: 4618 mov r0, r3 8034d62: f000 f84d bl 8034e00 if(N==1) 8034d66: 68fb ldr r3, [r7, #12] 8034d68: 2b01 cmp r3, #1 8034d6a: d10f bne.n 8034d8c { RealRoot[0] = -P[1]/P[0]; 8034d6c: ed97 7b16 vldr d7, [r7, #88] ; 0x58 8034d70: eeb1 5b47 vneg.f64 d5, d7 8034d74: ed97 6b14 vldr d6, [r7, #80] ; 0x50 8034d78: ee85 7b06 vdiv.f64 d7, d5, d6 8034d7c: ed87 7b0c vstr d7, [r7, #48] ; 0x30 ImagRoot[0] = 0.0; 8034d80: f04f 0300 mov.w r3, #0 8034d84: f04f 0400 mov.w r4, #0 8034d88: 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]; 8034d8c: 2300 movs r3, #0 8034d8e: 67fb str r3, [r7, #124] ; 0x7c 8034d90: e00f b.n 8034db2 8034d92: 6ffb ldr r3, [r7, #124] ; 0x7c 8034d94: 00db lsls r3, r3, #3 8034d96: 687a ldr r2, [r7, #4] 8034d98: 441a add r2, r3 8034d9a: 6ffb ldr r3, [r7, #124] ; 0x7c 8034d9c: 00db lsls r3, r3, #3 8034d9e: f107 0180 add.w r1, r7, #128 ; 0x80 8034da2: 440b add r3, r1 8034da4: 3b50 subs r3, #80 ; 0x50 8034da6: cb18 ldmia r3, {r3, r4} 8034da8: e882 0018 stmia.w r2, {r3, r4} 8034dac: 6ffb ldr r3, [r7, #124] ; 0x7c 8034dae: 3301 adds r3, #1 8034db0: 67fb str r3, [r7, #124] ; 0x7c 8034db2: 6ffb ldr r3, [r7, #124] ; 0x7c 8034db4: 2b03 cmp r3, #3 8034db6: ddec ble.n 8034d92 for(j=0; j<4; j++)RootsImag[j] = ImagRoot[j]; 8034db8: 2300 movs r3, #0 8034dba: 67fb str r3, [r7, #124] ; 0x7c 8034dbc: e00f b.n 8034dde 8034dbe: 6ffb ldr r3, [r7, #124] ; 0x7c 8034dc0: 00db lsls r3, r3, #3 8034dc2: 683a ldr r2, [r7, #0] 8034dc4: 441a add r2, r3 8034dc6: 6ffb ldr r3, [r7, #124] ; 0x7c 8034dc8: 00db lsls r3, r3, #3 8034dca: f107 0180 add.w r1, r7, #128 ; 0x80 8034dce: 440b add r3, r1 8034dd0: 3b70 subs r3, #112 ; 0x70 8034dd2: cb18 ldmia r3, {r3, r4} 8034dd4: e882 0018 stmia.w r2, {r3, r4} 8034dd8: 6ffb ldr r3, [r7, #124] ; 0x7c 8034dda: 3301 adds r3, #1 8034ddc: 67fb str r3, [r7, #124] ; 0x7c 8034dde: 6ffb ldr r3, [r7, #124] ; 0x7c 8034de0: 2b03 cmp r3, #3 8034de2: ddec ble.n 8034dbe return(N); 8034de4: 68fb ldr r3, [r7, #12] } 8034de6: 4618 mov r0, r3 8034de8: 3784 adds r7, #132 ; 0x84 8034dea: 46bd mov sp, r7 8034dec: bd90 pop {r4, r7, pc} 8034dee: bf00 nop 8034df0: 00000000 .word 0x00000000 8034df4: 3cd00000 .word 0x3cd00000 8034df8: 3ff00000 .word 0x3ff00000 8034dfc: 00000000 .word 0x00000000 08034e00 : //--------------------------------------------------------------------------- // 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) { 8034e00: b590 push {r4, r7, lr} 8034e02: ed2d 8b02 vpush {d8} 8034e06: b087 sub sp, #28 8034e08: af00 add r7, sp, #0 8034e0a: 60f8 str r0, [r7, #12] 8034e0c: 60b9 str r1, [r7, #8] 8034e0e: 607a str r2, [r7, #4] long double g; g = P[1]*P[1] - 4.0*P[2]; 8034e10: 68fb ldr r3, [r7, #12] 8034e12: 3308 adds r3, #8 8034e14: ed93 6b00 vldr d6, [r3] 8034e18: 68fb ldr r3, [r7, #12] 8034e1a: 3308 adds r3, #8 8034e1c: ed93 7b00 vldr d7, [r3] 8034e20: ee26 6b07 vmul.f64 d6, d6, d7 8034e24: 68fb ldr r3, [r7, #12] 8034e26: 3310 adds r3, #16 8034e28: ed93 7b00 vldr d7, [r3] 8034e2c: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8034e30: ee27 7b05 vmul.f64 d7, d7, d5 8034e34: ee36 7b47 vsub.f64 d7, d6, d7 8034e38: ed87 7b04 vstr d7, [r7, #16] if(fabsl(g) < ZERO_PLUS)g = 0.0; 8034e3c: ed97 7b04 vldr d7, [r7, #16] 8034e40: eeb0 7bc7 vabs.f64 d7, d7 8034e44: ed9f 6b4a vldr d6, [pc, #296] ; 8034f70 8034e48: eeb4 7bc6 vcmpe.f64 d7, d6 8034e4c: eef1 fa10 vmrs APSR_nzcv, fpscr 8034e50: d505 bpl.n 8034e5e 8034e52: f04f 0300 mov.w r3, #0 8034e56: f04f 0400 mov.w r4, #0 8034e5a: e9c7 3404 strd r3, r4, [r7, #16] if(g >= 0.0) // 2 real roots 8034e5e: ed97 7b04 vldr d7, [r7, #16] 8034e62: eeb5 7bc0 vcmpe.f64 d7, #0.0 8034e66: eef1 fa10 vmrs APSR_nzcv, fpscr 8034e6a: db3a blt.n 8034ee2 { RealRoot[0] = (-P[1] + sqrtl(g)) / 2.0; 8034e6c: ed97 0b04 vldr d0, [r7, #16] 8034e70: f09a fec0 bl 80cfbf4 8034e74: eeb0 6b40 vmov.f64 d6, d0 8034e78: 68fb ldr r3, [r7, #12] 8034e7a: 3308 adds r3, #8 8034e7c: ed93 7b00 vldr d7, [r3] 8034e80: ee36 6b47 vsub.f64 d6, d6, d7 8034e84: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8034e88: ee86 7b05 vdiv.f64 d7, d6, d5 8034e8c: 68bb ldr r3, [r7, #8] 8034e8e: ed83 7b00 vstr d7, [r3] RealRoot[1] = (-P[1] - sqrtl(g)) / 2.0; 8034e92: 68bb ldr r3, [r7, #8] 8034e94: f103 0408 add.w r4, r3, #8 8034e98: 68fb ldr r3, [r7, #12] 8034e9a: 3308 adds r3, #8 8034e9c: ed93 7b00 vldr d7, [r3] 8034ea0: eeb1 8b47 vneg.f64 d8, d7 8034ea4: ed97 0b04 vldr d0, [r7, #16] 8034ea8: f09a fea4 bl 80cfbf4 8034eac: eeb0 7b40 vmov.f64 d7, d0 8034eb0: ee38 6b47 vsub.f64 d6, d8, d7 8034eb4: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8034eb8: ee86 7b05 vdiv.f64 d7, d6, d5 8034ebc: ed84 7b00 vstr d7, [r4] ImagRoot[0] = 0.0; 8034ec0: 687a ldr r2, [r7, #4] 8034ec2: f04f 0300 mov.w r3, #0 8034ec6: f04f 0400 mov.w r4, #0 8034eca: e882 0018 stmia.w r2, {r3, r4} ImagRoot[1] = 0.0; 8034ece: 687b ldr r3, [r7, #4] 8034ed0: f103 0208 add.w r2, r3, #8 8034ed4: f04f 0300 mov.w r3, #0 8034ed8: f04f 0400 mov.w r4, #0 8034edc: 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; } } 8034ee0: e040 b.n 8034f64 RealRoot[0] = -P[1] / 2.0; 8034ee2: 68fb ldr r3, [r7, #12] 8034ee4: 3308 adds r3, #8 8034ee6: ed93 7b00 vldr d7, [r3] 8034eea: eeb1 6b47 vneg.f64 d6, d7 8034eee: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8034ef2: ee86 7b05 vdiv.f64 d7, d6, d5 8034ef6: 68bb ldr r3, [r7, #8] 8034ef8: ed83 7b00 vstr d7, [r3] RealRoot[1] = -P[1] / 2.0; 8034efc: 68bb ldr r3, [r7, #8] 8034efe: 3308 adds r3, #8 8034f00: 68fa ldr r2, [r7, #12] 8034f02: 3208 adds r2, #8 8034f04: ed92 7b00 vldr d7, [r2] 8034f08: eeb1 6b47 vneg.f64 d6, d7 8034f0c: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8034f10: ee86 7b05 vdiv.f64 d7, d6, d5 8034f14: ed83 7b00 vstr d7, [r3] ImagRoot[0] = sqrtl(-g) / 2.0; 8034f18: ed97 7b04 vldr d7, [r7, #16] 8034f1c: eeb1 7b47 vneg.f64 d7, d7 8034f20: eeb0 0b47 vmov.f64 d0, d7 8034f24: f09a fe66 bl 80cfbf4 8034f28: eeb0 5b40 vmov.f64 d5, d0 8034f2c: eeb0 6b00 vmov.f64 d6, #0 ; 0x40000000 2.0 8034f30: ee85 7b06 vdiv.f64 d7, d5, d6 8034f34: 687b ldr r3, [r7, #4] 8034f36: ed83 7b00 vstr d7, [r3] ImagRoot[1] = -sqrtl(-g) / 2.0; 8034f3a: 687b ldr r3, [r7, #4] 8034f3c: f103 0408 add.w r4, r3, #8 8034f40: ed97 7b04 vldr d7, [r7, #16] 8034f44: eeb1 7b47 vneg.f64 d7, d7 8034f48: eeb0 0b47 vmov.f64 d0, d7 8034f4c: f09a fe52 bl 80cfbf4 8034f50: eeb0 7b40 vmov.f64 d7, d0 8034f54: eeb1 6b47 vneg.f64 d6, d7 8034f58: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8034f5c: ee86 7b05 vdiv.f64 d7, d6, d5 8034f60: ed84 7b00 vstr d7, [r4] } 8034f64: bf00 nop 8034f66: 371c adds r7, #28 8034f68: 46bd mov sp, r7 8034f6a: ecbd 8b02 vpop {d8} 8034f6e: bd90 pop {r4, r7, pc} 8034f70: 00000000 .word 0x00000000 8034f74: 3cd00000 .word 0x3cd00000 08034f78 : //--------------------------------------------------------------------------- // 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) { 8034f78: b590 push {r4, r7, lr} 8034f7a: b091 sub sp, #68 ; 0x44 8034f7c: af00 add r7, sp, #0 8034f7e: 60f8 str r0, [r7, #12] 8034f80: 60b9 str r1, [r7, #8] 8034f82: 607a str r2, [r7, #4] long double s, t, b, c, d; s = P[1] / 3.0; 8034f84: 68fb ldr r3, [r7, #12] 8034f86: 3308 adds r3, #8 8034f88: ed93 6b00 vldr d6, [r3] 8034f8c: eeb0 5b08 vmov.f64 d5, #8 ; 0x40400000 3.0 8034f90: ee86 7b05 vdiv.f64 d7, d6, d5 8034f94: 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; 8034f98: 68fb ldr r3, [r7, #12] 8034f9a: 3308 adds r3, #8 8034f9c: ed93 7b00 vldr d7, [r3] 8034fa0: eeb1 6b08 vmov.f64 d6, #24 ; 0x40c00000 6.0 8034fa4: ee27 6b06 vmul.f64 d6, d7, d6 8034fa8: 68fb ldr r3, [r7, #12] 8034faa: 3308 adds r3, #8 8034fac: ed93 7b00 vldr d7, [r3] 8034fb0: ee26 6b07 vmul.f64 d6, d6, d7 8034fb4: 68fb ldr r3, [r7, #12] 8034fb6: 3308 adds r3, #8 8034fb8: ed93 7b00 vldr d7, [r3] 8034fbc: ee26 6b07 vmul.f64 d6, d6, d7 8034fc0: 68fb ldr r3, [r7, #12] 8034fc2: 3308 adds r3, #8 8034fc4: ed93 7b00 vldr d7, [r3] 8034fc8: eeb3 5b0b vmov.f64 d5, #59 ; 0x41d80000 27.0 8034fcc: ee27 5b05 vmul.f64 d5, d7, d5 8034fd0: 68fb ldr r3, [r7, #12] 8034fd2: 3310 adds r3, #16 8034fd4: ed93 7b00 vldr d7, [r3] 8034fd8: ee25 7b07 vmul.f64 d7, d5, d7 8034fdc: ee36 6b47 vsub.f64 d6, d6, d7 8034fe0: 68fb ldr r3, [r7, #12] 8034fe2: 3318 adds r3, #24 8034fe4: ed93 7b00 vldr d7, [r3] 8034fe8: ed9f 5ba9 vldr d5, [pc, #676] ; 8035290 8034fec: ee27 7b05 vmul.f64 d7, d7, d5 8034ff0: ee36 6b07 vadd.f64 d6, d6, d7 8034ff4: ed9f 5ba8 vldr d5, [pc, #672] ; 8035298 8034ff8: ee86 7b05 vdiv.f64 d7, d6, d5 8034ffc: ed87 7b0e vstr d7, [r7, #56] ; 0x38 t = (P[1]*P[1] - 3.0*P[2]) / 9.0; 8035000: 68fb ldr r3, [r7, #12] 8035002: 3308 adds r3, #8 8035004: ed93 6b00 vldr d6, [r3] 8035008: 68fb ldr r3, [r7, #12] 803500a: 3308 adds r3, #8 803500c: ed93 7b00 vldr d7, [r3] 8035010: ee26 6b07 vmul.f64 d6, d6, d7 8035014: 68fb ldr r3, [r7, #12] 8035016: 3310 adds r3, #16 8035018: ed93 7b00 vldr d7, [r3] 803501c: eeb0 5b08 vmov.f64 d5, #8 ; 0x40400000 3.0 8035020: ee27 7b05 vmul.f64 d7, d7, d5 8035024: ee36 6b47 vsub.f64 d6, d6, d7 8035028: eeb2 5b02 vmov.f64 d5, #34 ; 0x41100000 9.0 803502c: ee86 7b05 vdiv.f64 d7, d6, d5 8035030: ed87 7b04 vstr d7, [r7, #16] c = t * t * t; 8035034: ed97 6b04 vldr d6, [r7, #16] 8035038: ed97 7b04 vldr d7, [r7, #16] 803503c: ee26 6b07 vmul.f64 d6, d6, d7 8035040: ed97 7b04 vldr d7, [r7, #16] 8035044: ee26 7b07 vmul.f64 d7, d6, d7 8035048: 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]; 803504c: 68fb ldr r3, [r7, #12] 803504e: 3308 adds r3, #8 8035050: ed93 7b00 vldr d7, [r3] 8035054: ee37 6b07 vadd.f64 d6, d7, d7 8035058: 68fb ldr r3, [r7, #12] 803505a: 3308 adds r3, #8 803505c: ed93 7b00 vldr d7, [r3] 8035060: ee26 6b07 vmul.f64 d6, d6, d7 8035064: 68fb ldr r3, [r7, #12] 8035066: 3308 adds r3, #8 8035068: ed93 7b00 vldr d7, [r3] 803506c: ee26 6b07 vmul.f64 d6, d6, d7 8035070: 68fb ldr r3, [r7, #12] 8035072: 3308 adds r3, #8 8035074: ed93 7b00 vldr d7, [r3] 8035078: eeb2 5b02 vmov.f64 d5, #34 ; 0x41100000 9.0 803507c: ee27 5b05 vmul.f64 d5, d7, d5 8035080: 68fb ldr r3, [r7, #12] 8035082: 3310 adds r3, #16 8035084: ed93 7b00 vldr d7, [r3] 8035088: ee25 7b07 vmul.f64 d7, d5, d7 803508c: ee36 6b47 vsub.f64 d6, d6, d7 8035090: 68fb ldr r3, [r7, #12] 8035092: 3318 adds r3, #24 8035094: ed93 7b00 vldr d7, [r3] 8035098: eeb3 5b0b vmov.f64 d5, #59 ; 0x41d80000 27.0 803509c: ee27 7b05 vmul.f64 d7, d7, d5 80350a0: ee36 7b07 vadd.f64 d7, d6, d7 80350a4: ed87 7b0a vstr d7, [r7, #40] ; 0x28 d = d * d / 2916.0 - c; 80350a8: ed97 6b0a vldr d6, [r7, #40] ; 0x28 80350ac: ed97 7b0a vldr d7, [r7, #40] ; 0x28 80350b0: ee26 7b07 vmul.f64 d7, d6, d7 80350b4: ed9f 5b7a vldr d5, [pc, #488] ; 80352a0 80350b8: ee87 6b05 vdiv.f64 d6, d7, d5 80350bc: ed97 7b0c vldr d7, [r7, #48] ; 0x30 80350c0: ee36 7b47 vsub.f64 d7, d6, d7 80350c4: ed87 7b0a vstr d7, [r7, #40] ; 0x28 if(d > ZERO_PLUS) // 1 complex and 1 real root 80350c8: ed97 7b0a vldr d7, [r7, #40] ; 0x28 80350cc: ed9f 6b7e vldr d6, [pc, #504] ; 80352c8 80350d0: eeb4 7bc6 vcmpe.f64 d7, d6 80350d4: eef1 fa10 vmrs APSR_nzcv, fpscr 80350d8: f340 809c ble.w 8035214 { d = powl( (sqrtl(d) + fabsl(b)), 1.0/3.0); 80350dc: ed97 0b0a vldr d0, [r7, #40] ; 0x28 80350e0: f09a fd88 bl 80cfbf4 80350e4: eeb0 6b40 vmov.f64 d6, d0 80350e8: ed97 7b0e vldr d7, [r7, #56] ; 0x38 80350ec: eeb0 7bc7 vabs.f64 d7, d7 80350f0: ee36 7b07 vadd.f64 d7, d6, d7 80350f4: ed9f 1b6c vldr d1, [pc, #432] ; 80352a8 80350f8: eeb0 0b47 vmov.f64 d0, d7 80350fc: f09a fbb2 bl 80cf864 8035100: ed87 0b0a vstr d0, [r7, #40] ; 0x28 if(d != 0.0) 8035104: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8035108: eeb5 7b40 vcmp.f64 d7, #0.0 803510c: eef1 fa10 vmrs APSR_nzcv, fpscr 8035110: d019 beq.n 8035146 { if(b>0) b = -d; 8035112: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8035116: eeb5 7bc0 vcmpe.f64 d7, #0.0 803511a: eef1 fa10 vmrs APSR_nzcv, fpscr 803511e: dd06 ble.n 803512e 8035120: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8035124: eeb1 7b47 vneg.f64 d7, d7 8035128: ed87 7b0e vstr d7, [r7, #56] ; 0x38 803512c: e003 b.n 8035136 else b = d; 803512e: e9d7 340a ldrd r3, r4, [r7, #40] ; 0x28 8035132: e9c7 340e strd r3, r4, [r7, #56] ; 0x38 c = t / b; 8035136: ed97 5b04 vldr d5, [r7, #16] 803513a: ed97 6b0e vldr d6, [r7, #56] ; 0x38 803513e: ee85 7b06 vdiv.f64 d7, d5, d6 8035142: ed87 7b0c vstr d7, [r7, #48] ; 0x30 } d = M_SQRT3_2 * (b-c); 8035146: ed97 6b0e vldr d6, [r7, #56] ; 0x38 803514a: ed97 7b0c vldr d7, [r7, #48] ; 0x30 803514e: ee36 7b47 vsub.f64 d7, d6, d7 8035152: ed9f 6b57 vldr d6, [pc, #348] ; 80352b0 8035156: ee27 7b06 vmul.f64 d7, d7, d6 803515a: ed87 7b0a vstr d7, [r7, #40] ; 0x28 b = b + c; 803515e: ed97 6b0e vldr d6, [r7, #56] ; 0x38 8035162: ed97 7b0c vldr d7, [r7, #48] ; 0x30 8035166: ee36 7b07 vadd.f64 d7, d6, d7 803516a: ed87 7b0e vstr d7, [r7, #56] ; 0x38 c = -b/2.0 - s; 803516e: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8035172: eeb1 7b47 vneg.f64 d7, d7 8035176: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 803517a: ee87 6b05 vdiv.f64 d6, d7, d5 803517e: ed97 7b06 vldr d7, [r7, #24] 8035182: ee36 7b47 vsub.f64 d7, d6, d7 8035186: ed87 7b0c vstr d7, [r7, #48] ; 0x30 RealRoot[0] = c; 803518a: 68ba ldr r2, [r7, #8] 803518c: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 8035190: e882 0018 stmia.w r2, {r3, r4} ImagRoot[0] = -d; 8035194: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8035198: eeb1 7b47 vneg.f64 d7, d7 803519c: 687b ldr r3, [r7, #4] 803519e: ed83 7b00 vstr d7, [r3] RealRoot[1] = c; 80351a2: 68bb ldr r3, [r7, #8] 80351a4: f103 0208 add.w r2, r3, #8 80351a8: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 80351ac: e882 0018 stmia.w r2, {r3, r4} ImagRoot[1] = d; 80351b0: 687b ldr r3, [r7, #4] 80351b2: f103 0208 add.w r2, r3, #8 80351b6: e9d7 340a ldrd r3, r4, [r7, #40] ; 0x28 80351ba: e882 0018 stmia.w r2, {r3, r4} RealRoot[2] = b-s; 80351be: 68bb ldr r3, [r7, #8] 80351c0: 3310 adds r3, #16 80351c2: ed97 6b0e vldr d6, [r7, #56] ; 0x38 80351c6: ed97 7b06 vldr d7, [r7, #24] 80351ca: ee36 7b47 vsub.f64 d7, d6, d7 80351ce: ed83 7b00 vstr d7, [r3] if( fabsl(RealRoot[2]) < ZERO_PLUS)RealRoot[2] = 0.0; 80351d2: 68bb ldr r3, [r7, #8] 80351d4: 3310 adds r3, #16 80351d6: ed93 7b00 vldr d7, [r3] 80351da: eeb0 7bc7 vabs.f64 d7, d7 80351de: ed9f 6b3a vldr d6, [pc, #232] ; 80352c8 80351e2: eeb4 7bc6 vcmpe.f64 d7, d6 80351e6: eef1 fa10 vmrs APSR_nzcv, fpscr 80351ea: d508 bpl.n 80351fe 80351ec: 68bb ldr r3, [r7, #8] 80351ee: f103 0210 add.w r2, r3, #16 80351f2: f04f 0300 mov.w r3, #0 80351f6: f04f 0400 mov.w r4, #0 80351fa: e882 0018 stmia.w r2, {r3, r4} ImagRoot[2] = 0.0; 80351fe: 687b ldr r3, [r7, #4] 8035200: f103 0210 add.w r2, r3, #16 8035204: f04f 0300 mov.w r3, #0 8035208: f04f 0400 mov.w r4, #0 803520c: e882 0018 stmia.w r2, {r3, r4} return(2); // Return 2 because it contains the real root. 8035210: 2302 movs r3, #2 8035212: e131 b.n 8035478 } 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 8035214: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8035218: eeb5 7b40 vcmp.f64 d7, #0.0 803521c: eef1 fa10 vmrs APSR_nzcv, fpscr 8035220: d104 bne.n 803522c 8035222: a425 add r4, pc, #148 ; (adr r4, 80352b8 ) 8035224: cc18 ldmia r4, {r3, r4} 8035226: e9c7 340a strd r3, r4, [r7, #40] ; 0x28 803522a: e01b b.n 8035264 else d = atanl(sqrtl(fabsl(d))/fabsl(b)) / 3.0; 803522c: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8035230: eeb0 7bc7 vabs.f64 d7, d7 8035234: eeb0 0b47 vmov.f64 d0, d7 8035238: f09a fcdc bl 80cfbf4 803523c: eeb0 5b40 vmov.f64 d5, d0 8035240: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8035244: eeb0 7bc7 vabs.f64 d7, d7 8035248: ee85 6b07 vdiv.f64 d6, d5, d7 803524c: eeb0 0b46 vmov.f64 d0, d6 8035250: f09a fb02 bl 80cf858 8035254: eeb0 5b40 vmov.f64 d5, d0 8035258: eeb0 6b08 vmov.f64 d6, #8 ; 0x40400000 3.0 803525c: ee85 7b06 vdiv.f64 d7, d5, d6 8035260: ed87 7b0a vstr d7, [r7, #40] ; 0x28 if(b < 0.0) b = 2.0 * sqrtl(fabsl(t)); 8035264: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8035268: eeb5 7bc0 vcmpe.f64 d7, #0.0 803526c: eef1 fa10 vmrs APSR_nzcv, fpscr 8035270: d52e bpl.n 80352d0 8035272: ed97 7b04 vldr d7, [r7, #16] 8035276: eeb0 7bc7 vabs.f64 d7, d7 803527a: eeb0 0b47 vmov.f64 d0, d7 803527e: f09a fcb9 bl 80cfbf4 8035282: eeb0 7b40 vmov.f64 d7, d0 8035286: ee37 7b07 vadd.f64 d7, d7, d7 803528a: ed87 7b0e vstr d7, [r7, #56] ; 0x38 803528e: e02f b.n 80352f0 8035290: 00000000 .word 0x00000000 8035294: 40544000 .word 0x40544000 8035298: 00000000 .word 0x00000000 803529c: 40644000 .word 0x40644000 80352a0: 00000000 .word 0x00000000 80352a4: 40a6c800 .word 0x40a6c800 80352a8: 55555555 .word 0x55555555 80352ac: 3fd55555 .word 0x3fd55555 80352b0: e8584caa .word 0xe8584caa 80352b4: 3febb67a .word 0x3febb67a 80352b8: 382d7365 .word 0x382d7365 80352bc: 3fe0c152 .word 0x3fe0c152 80352c0: e8584caa .word 0xe8584caa 80352c4: bfebb67a .word 0xbfebb67a 80352c8: 00000000 .word 0x00000000 80352cc: 3cd00000 .word 0x3cd00000 else b = -2.0 * sqrtl(fabsl(t)); 80352d0: ed97 7b04 vldr d7, [r7, #16] 80352d4: eeb0 7bc7 vabs.f64 d7, d7 80352d8: eeb0 0b47 vmov.f64 d0, d7 80352dc: f09a fc8a bl 80cfbf4 80352e0: eeb0 6b40 vmov.f64 d6, d0 80352e4: eeb8 7b00 vmov.f64 d7, #128 ; 0xc0000000 -2.0 80352e8: ee26 7b07 vmul.f64 d7, d6, d7 80352ec: ed87 7b0e vstr d7, [r7, #56] ; 0x38 c = cosl(d) * b; 80352f0: ed97 0b0a vldr d0, [r7, #40] ; 0x28 80352f4: f09a fab2 bl 80cf85c 80352f8: eeb0 6b40 vmov.f64 d6, d0 80352fc: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8035300: ee26 7b07 vmul.f64 d7, d6, d7 8035304: ed87 7b0c vstr d7, [r7, #48] ; 0x30 t = -M_SQRT3_2 * sinl(d) * b - 0.5 * c; 8035308: ed97 0b0a vldr d0, [r7, #40] ; 0x28 803530c: f09a fc70 bl 80cfbf0 8035310: eeb0 6b40 vmov.f64 d6, d0 8035314: ed1f 7b16 vldr d7, [pc, #-88] ; 80352c0 8035318: ee26 6b07 vmul.f64 d6, d6, d7 803531c: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8035320: ee26 6b07 vmul.f64 d6, d6, d7 8035324: ed97 7b0c vldr d7, [r7, #48] ; 0x30 8035328: eeb6 5b00 vmov.f64 d5, #96 ; 0x3f000000 0.5 803532c: ee27 7b05 vmul.f64 d7, d7, d5 8035330: ee36 7b47 vsub.f64 d7, d6, d7 8035334: ed87 7b04 vstr d7, [r7, #16] RealRoot[0] = t - s; 8035338: ed97 6b04 vldr d6, [r7, #16] 803533c: ed97 7b06 vldr d7, [r7, #24] 8035340: ee36 7b47 vsub.f64 d7, d6, d7 8035344: 68bb ldr r3, [r7, #8] 8035346: ed83 7b00 vstr d7, [r3] RealRoot[1] = c - s; 803534a: 68bb ldr r3, [r7, #8] 803534c: 3308 adds r3, #8 803534e: ed97 6b0c vldr d6, [r7, #48] ; 0x30 8035352: ed97 7b06 vldr d7, [r7, #24] 8035356: ee36 7b47 vsub.f64 d7, d6, d7 803535a: ed83 7b00 vstr d7, [r3] RealRoot[2] = -(t + c + s); 803535e: 68bb ldr r3, [r7, #8] 8035360: 3310 adds r3, #16 8035362: ed97 6b04 vldr d6, [r7, #16] 8035366: ed97 7b0c vldr d7, [r7, #48] ; 0x30 803536a: ee36 6b07 vadd.f64 d6, d6, d7 803536e: ed97 7b06 vldr d7, [r7, #24] 8035372: ee36 7b07 vadd.f64 d7, d6, d7 8035376: eeb1 7b47 vneg.f64 d7, d7 803537a: ed83 7b00 vstr d7, [r3] ImagRoot[0] = 0.0; 803537e: 687a ldr r2, [r7, #4] 8035380: f04f 0300 mov.w r3, #0 8035384: f04f 0400 mov.w r4, #0 8035388: e882 0018 stmia.w r2, {r3, r4} ImagRoot[1] = 0.0; 803538c: 687b ldr r3, [r7, #4] 803538e: f103 0208 add.w r2, r3, #8 8035392: f04f 0300 mov.w r3, #0 8035396: f04f 0400 mov.w r4, #0 803539a: e882 0018 stmia.w r2, {r3, r4} ImagRoot[2] = 0.0; 803539e: 687b ldr r3, [r7, #4] 80353a0: f103 0210 add.w r2, r3, #16 80353a4: f04f 0300 mov.w r3, #0 80353a8: f04f 0400 mov.w r4, #0 80353ac: e882 0018 stmia.w r2, {r3, r4} if( fabsl(RealRoot[0]) < ZERO_PLUS)RealRoot[0] = 0.0; 80353b0: 68bb ldr r3, [r7, #8] 80353b2: ed93 7b00 vldr d7, [r3] 80353b6: eeb0 7bc7 vabs.f64 d7, d7 80353ba: ed1f 6b3d vldr d6, [pc, #-244] ; 80352c8 80353be: eeb4 7bc6 vcmpe.f64 d7, d6 80353c2: eef1 fa10 vmrs APSR_nzcv, fpscr 80353c6: d506 bpl.n 80353d6 80353c8: 68ba ldr r2, [r7, #8] 80353ca: f04f 0300 mov.w r3, #0 80353ce: f04f 0400 mov.w r4, #0 80353d2: e882 0018 stmia.w r2, {r3, r4} if( fabsl(RealRoot[1]) < ZERO_PLUS)RealRoot[1] = 0.0; 80353d6: 68bb ldr r3, [r7, #8] 80353d8: 3308 adds r3, #8 80353da: ed93 7b00 vldr d7, [r3] 80353de: eeb0 7bc7 vabs.f64 d7, d7 80353e2: ed1f 6b47 vldr d6, [pc, #-284] ; 80352c8 80353e6: eeb4 7bc6 vcmpe.f64 d7, d6 80353ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80353ee: d508 bpl.n 8035402 80353f0: 68bb ldr r3, [r7, #8] 80353f2: f103 0208 add.w r2, r3, #8 80353f6: f04f 0300 mov.w r3, #0 80353fa: f04f 0400 mov.w r4, #0 80353fe: e882 0018 stmia.w r2, {r3, r4} if( fabsl(RealRoot[2]) < ZERO_PLUS)RealRoot[2] = 0.0; 8035402: 68bb ldr r3, [r7, #8] 8035404: 3310 adds r3, #16 8035406: ed93 7b00 vldr d7, [r3] 803540a: eeb0 7bc7 vabs.f64 d7, d7 803540e: ed1f 6b52 vldr d6, [pc, #-328] ; 80352c8 8035412: eeb4 7bc6 vcmpe.f64 d7, d6 8035416: eef1 fa10 vmrs APSR_nzcv, fpscr 803541a: d508 bpl.n 803542e 803541c: 68bb ldr r3, [r7, #8] 803541e: f103 0210 add.w r2, r3, #16 8035422: f04f 0300 mov.w r3, #0 8035426: f04f 0400 mov.w r4, #0 803542a: e882 0018 stmia.w r2, {r3, r4} int MaxK = 0; 803542e: 2300 movs r3, #0 8035430: 627b str r3, [r7, #36] ; 0x24 if(RealRoot[1] > RealRoot[MaxK])MaxK = 1; 8035432: 68bb ldr r3, [r7, #8] 8035434: 3308 adds r3, #8 8035436: ed93 6b00 vldr d6, [r3] 803543a: 6a7b ldr r3, [r7, #36] ; 0x24 803543c: 00db lsls r3, r3, #3 803543e: 68ba ldr r2, [r7, #8] 8035440: 4413 add r3, r2 8035442: ed93 7b00 vldr d7, [r3] 8035446: eeb4 6bc7 vcmpe.f64 d6, d7 803544a: eef1 fa10 vmrs APSR_nzcv, fpscr 803544e: dd01 ble.n 8035454 8035450: 2301 movs r3, #1 8035452: 627b str r3, [r7, #36] ; 0x24 if(RealRoot[2] > RealRoot[MaxK])MaxK = 2; 8035454: 68bb ldr r3, [r7, #8] 8035456: 3310 adds r3, #16 8035458: ed93 6b00 vldr d6, [r3] 803545c: 6a7b ldr r3, [r7, #36] ; 0x24 803545e: 00db lsls r3, r3, #3 8035460: 68ba ldr r2, [r7, #8] 8035462: 4413 add r3, r2 8035464: ed93 7b00 vldr d7, [r3] 8035468: eeb4 6bc7 vcmpe.f64 d6, d7 803546c: eef1 fa10 vmrs APSR_nzcv, fpscr 8035470: dd01 ble.n 8035476 8035472: 2302 movs r3, #2 8035474: 627b str r3, [r7, #36] ; 0x24 return(MaxK); // Return the index with the largest real root. 8035476: 6a7b ldr r3, [r7, #36] ; 0x24 } } 8035478: 4618 mov r0, r3 803547a: 3744 adds r7, #68 ; 0x44 803547c: 46bd mov sp, r7 803547e: bd90 pop {r4, r7, pc} 08035480 : //--------------------------------------------------------------------------- // 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) { 8035480: b590 push {r4, r7, lr} 8035482: b097 sub sp, #92 ; 0x5c 8035484: af00 add r7, sp, #0 8035486: 60f8 str r0, [r7, #12] 8035488: 60b9 str r1, [r7, #8] 803548a: 607a str r2, [r7, #4] int k, MaxK; long double a, b, c, d, e, g, P1, P3Limit; P1 = P[1]; 803548c: 68fb ldr r3, [r7, #12] 803548e: e9d3 3402 ldrd r3, r4, [r3, #8] 8035492: e9c7 340e strd r3, r4, [r7, #56] ; 0x38 e = P[1]*0.25; 8035496: 68fb ldr r3, [r7, #12] 8035498: 3308 adds r3, #8 803549a: ed93 7b00 vldr d7, [r3] 803549e: eeb5 6b00 vmov.f64 d6, #80 ; 0x3e800000 0.250 80354a2: ee27 7b06 vmul.f64 d7, d7, d6 80354a6: ed87 7b0c vstr d7, [r7, #48] ; 0x30 d = P[1]*P[1]*0.1875; // 0.1875 = 3/16 80354aa: 68fb ldr r3, [r7, #12] 80354ac: 3308 adds r3, #8 80354ae: ed93 6b00 vldr d6, [r3] 80354b2: 68fb ldr r3, [r7, #12] 80354b4: 3308 adds r3, #8 80354b6: ed93 7b00 vldr d7, [r3] 80354ba: ee26 7b07 vmul.f64 d7, d6, d7 80354be: eeb4 6b08 vmov.f64 d6, #72 ; 0x3e400000 0.1875000 80354c2: ee27 7b06 vmul.f64 d7, d7, d6 80354c6: ed87 7b0a vstr d7, [r7, #40] ; 0x28 b = P[3] + P[1]*P[1]*P[1]*0.125 - P[1]*P[2]*0.5; 80354ca: 68fb ldr r3, [r7, #12] 80354cc: 3318 adds r3, #24 80354ce: ed93 6b00 vldr d6, [r3] 80354d2: 68fb ldr r3, [r7, #12] 80354d4: 3308 adds r3, #8 80354d6: ed93 5b00 vldr d5, [r3] 80354da: 68fb ldr r3, [r7, #12] 80354dc: 3308 adds r3, #8 80354de: ed93 7b00 vldr d7, [r3] 80354e2: ee25 5b07 vmul.f64 d5, d5, d7 80354e6: 68fb ldr r3, [r7, #12] 80354e8: 3308 adds r3, #8 80354ea: ed93 7b00 vldr d7, [r3] 80354ee: ee25 7b07 vmul.f64 d7, d5, d7 80354f2: eeb4 5b00 vmov.f64 d5, #64 ; 0x3e000000 0.125 80354f6: ee27 7b05 vmul.f64 d7, d7, d5 80354fa: ee36 6b07 vadd.f64 d6, d6, d7 80354fe: 68fb ldr r3, [r7, #12] 8035500: 3308 adds r3, #8 8035502: ed93 5b00 vldr d5, [r3] 8035506: 68fb ldr r3, [r7, #12] 8035508: 3310 adds r3, #16 803550a: ed93 7b00 vldr d7, [r3] 803550e: ee25 7b07 vmul.f64 d7, d5, d7 8035512: eeb6 5b00 vmov.f64 d5, #96 ; 0x3f000000 0.5 8035516: ee27 7b05 vmul.f64 d7, d7, d5 803551a: ee36 7b47 vsub.f64 d7, d6, d7 803551e: ed87 7b12 vstr d7, [r7, #72] ; 0x48 c = 256.0*P[4] + 16.0*P[1]*P[1]*P[2]; 8035522: 68fb ldr r3, [r7, #12] 8035524: 3320 adds r3, #32 8035526: ed93 7b00 vldr d7, [r3] 803552a: ed9f 6bcb vldr d6, [pc, #812] ; 8035858 803552e: ee27 6b06 vmul.f64 d6, d7, d6 8035532: 68fb ldr r3, [r7, #12] 8035534: 3308 adds r3, #8 8035536: ed93 7b00 vldr d7, [r3] 803553a: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 803553e: ee27 5b05 vmul.f64 d5, d7, d5 8035542: 68fb ldr r3, [r7, #12] 8035544: 3308 adds r3, #8 8035546: ed93 7b00 vldr d7, [r3] 803554a: ee25 5b07 vmul.f64 d5, d5, d7 803554e: 68fb ldr r3, [r7, #12] 8035550: 3310 adds r3, #16 8035552: ed93 7b00 vldr d7, [r3] 8035556: ee25 7b07 vmul.f64 d7, d5, d7 803555a: ee36 7b07 vadd.f64 d7, d6, d7 803555e: ed87 7b08 vstr d7, [r7, #32] c += -3.0*P[1]*P[1]*P[1]*P[1] - 64.0*P[1]*P[3]; 8035562: 68fb ldr r3, [r7, #12] 8035564: 3308 adds r3, #8 8035566: ed93 7b00 vldr d7, [r3] 803556a: eeb8 6b08 vmov.f64 d6, #136 ; 0xc0400000 -3.0 803556e: ee27 6b06 vmul.f64 d6, d7, d6 8035572: 68fb ldr r3, [r7, #12] 8035574: 3308 adds r3, #8 8035576: ed93 7b00 vldr d7, [r3] 803557a: ee26 6b07 vmul.f64 d6, d6, d7 803557e: 68fb ldr r3, [r7, #12] 8035580: 3308 adds r3, #8 8035582: ed93 7b00 vldr d7, [r3] 8035586: ee26 6b07 vmul.f64 d6, d6, d7 803558a: 68fb ldr r3, [r7, #12] 803558c: 3308 adds r3, #8 803558e: ed93 7b00 vldr d7, [r3] 8035592: ee26 6b07 vmul.f64 d6, d6, d7 8035596: 68fb ldr r3, [r7, #12] 8035598: 3308 adds r3, #8 803559a: ed93 7b00 vldr d7, [r3] 803559e: ed9f 5bb0 vldr d5, [pc, #704] ; 8035860 80355a2: ee27 5b05 vmul.f64 d5, d7, d5 80355a6: 68fb ldr r3, [r7, #12] 80355a8: 3318 adds r3, #24 80355aa: ed93 7b00 vldr d7, [r3] 80355ae: ee25 7b07 vmul.f64 d7, d5, d7 80355b2: ee36 7b47 vsub.f64 d7, d6, d7 80355b6: ed97 6b08 vldr d6, [r7, #32] 80355ba: ee36 7b07 vadd.f64 d7, d6, d7 80355be: ed87 7b08 vstr d7, [r7, #32] c *= 0.00390625; // 0.00390625 = 1/256 80355c2: ed97 7b08 vldr d7, [r7, #32] 80355c6: ed9f 6ba8 vldr d6, [pc, #672] ; 8035868 80355ca: ee27 7b06 vmul.f64 d7, d7, d6 80355ce: ed87 7b08 vstr d7, [r7, #32] a = P[2] - P[1]*P[1]*0.375; // 0.375 = 3/8 80355d2: 68fb ldr r3, [r7, #12] 80355d4: 3310 adds r3, #16 80355d6: ed93 6b00 vldr d6, [r3] 80355da: 68fb ldr r3, [r7, #12] 80355dc: 3308 adds r3, #8 80355de: ed93 5b00 vldr d5, [r3] 80355e2: 68fb ldr r3, [r7, #12] 80355e4: 3308 adds r3, #8 80355e6: ed93 7b00 vldr d7, [r3] 80355ea: ee25 7b07 vmul.f64 d7, d5, d7 80355ee: eeb5 5b08 vmov.f64 d5, #88 ; 0x3ec00000 0.375 80355f2: ee27 7b05 vmul.f64 d7, d7, d5 80355f6: ee36 7b47 vsub.f64 d7, d6, d7 80355fa: ed87 7b06 vstr d7, [r7, #24] P[1] = P[2]*0.5 - P[1]*P[1]*0.1875; // 0.1875 = 3/16 80355fe: 68fb ldr r3, [r7, #12] 8035600: 3308 adds r3, #8 8035602: 68fa ldr r2, [r7, #12] 8035604: 3210 adds r2, #16 8035606: ed92 7b00 vldr d7, [r2] 803560a: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 803560e: ee27 6b06 vmul.f64 d6, d7, d6 8035612: 68fa ldr r2, [r7, #12] 8035614: 3208 adds r2, #8 8035616: ed92 5b00 vldr d5, [r2] 803561a: 68fa ldr r2, [r7, #12] 803561c: 3208 adds r2, #8 803561e: ed92 7b00 vldr d7, [r2] 8035622: ee25 7b07 vmul.f64 d7, d5, d7 8035626: eeb4 5b08 vmov.f64 d5, #72 ; 0x3e400000 0.1875000 803562a: ee27 7b05 vmul.f64 d7, d7, d5 803562e: ee36 7b47 vsub.f64 d7, d6, d7 8035632: 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; 8035636: 68fb ldr r3, [r7, #12] 8035638: 3310 adds r3, #16 803563a: 68fa ldr r2, [r7, #12] 803563c: 3210 adds r2, #16 803563e: ed92 7b00 vldr d7, [r2] 8035642: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 8035646: ee27 6b06 vmul.f64 d6, d7, d6 803564a: 68fa ldr r2, [r7, #12] 803564c: 3210 adds r2, #16 803564e: ed92 7b00 vldr d7, [r2] 8035652: ee26 6b07 vmul.f64 d6, d6, d7 8035656: ed97 7b0e vldr d7, [r7, #56] ; 0x38 803565a: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 803565e: ee27 5b05 vmul.f64 d5, d7, d5 8035662: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8035666: ee25 5b07 vmul.f64 d5, d5, d7 803566a: 68fa ldr r2, [r7, #12] 803566c: 3210 adds r2, #16 803566e: ed92 7b00 vldr d7, [r2] 8035672: ee25 7b07 vmul.f64 d7, d5, d7 8035676: ee36 6b47 vsub.f64 d6, d6, d7 803567a: ed97 7b0e vldr d7, [r7, #56] ; 0x38 803567e: eeb0 5b08 vmov.f64 d5, #8 ; 0x40400000 3.0 8035682: ee27 5b05 vmul.f64 d5, d7, d5 8035686: ed97 7b0e vldr d7, [r7, #56] ; 0x38 803568a: ee25 5b07 vmul.f64 d5, d5, d7 803568e: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8035692: ee25 5b07 vmul.f64 d5, d5, d7 8035696: ed97 7b0e vldr d7, [r7, #56] ; 0x38 803569a: ee25 7b07 vmul.f64 d7, d5, d7 803569e: ee36 7b07 vadd.f64 d7, d6, d7 80356a2: ed83 7b00 vstr d7, [r3] P[2] += -64.0*P[4] + 16.0*P1*P[3]; 80356a6: 68fb ldr r3, [r7, #12] 80356a8: 3310 adds r3, #16 80356aa: 68fa ldr r2, [r7, #12] 80356ac: 3210 adds r2, #16 80356ae: ed92 6b00 vldr d6, [r2] 80356b2: 68fa ldr r2, [r7, #12] 80356b4: 3220 adds r2, #32 80356b6: ed92 7b00 vldr d7, [r2] 80356ba: ed9f 5b6d vldr d5, [pc, #436] ; 8035870 80356be: ee27 5b05 vmul.f64 d5, d7, d5 80356c2: ed97 7b0e vldr d7, [r7, #56] ; 0x38 80356c6: eeb3 4b00 vmov.f64 d4, #48 ; 0x41800000 16.0 80356ca: ee27 4b04 vmul.f64 d4, d7, d4 80356ce: 68fa ldr r2, [r7, #12] 80356d0: 3218 adds r2, #24 80356d2: ed92 7b00 vldr d7, [r2] 80356d6: ee24 7b07 vmul.f64 d7, d4, d7 80356da: ee35 7b07 vadd.f64 d7, d5, d7 80356de: ee36 7b07 vadd.f64 d7, d6, d7 80356e2: ed83 7b00 vstr d7, [r3] P[2] *= 3.90625E-3; // 3.90625E-3 = 1/256 80356e6: 68fb ldr r3, [r7, #12] 80356e8: 3310 adds r3, #16 80356ea: 68fa ldr r2, [r7, #12] 80356ec: 3210 adds r2, #16 80356ee: ed92 7b00 vldr d7, [r2] 80356f2: ed9f 6b5d vldr d6, [pc, #372] ; 8035868 80356f6: ee27 7b06 vmul.f64 d7, d7, d6 80356fa: ed83 7b00 vstr d7, [r3] P[3] = -b*b*0.015625; // 0.015625 = 1/64 80356fe: 68fb ldr r3, [r7, #12] 8035700: 3318 adds r3, #24 8035702: ed97 7b12 vldr d7, [r7, #72] ; 0x48 8035706: eeb1 6b47 vneg.f64 d6, d7 803570a: ed97 7b12 vldr d7, [r7, #72] ; 0x48 803570e: ee26 7b07 vmul.f64 d7, d6, d7 8035712: ed9f 6b59 vldr d6, [pc, #356] ; 8035878 8035716: ee27 7b06 vmul.f64 d7, d7, d6 803571a: ed83 7b00 vstr d7, [r3] if(P[3] > 0.0)P[3] = 0.0; // Only numerical errors make P[3] > 0 803571e: 68fb ldr r3, [r7, #12] 8035720: 3318 adds r3, #24 8035722: ed93 7b00 vldr d7, [r3] 8035726: eeb5 7bc0 vcmpe.f64 d7, #0.0 803572a: eef1 fa10 vmrs APSR_nzcv, fpscr 803572e: dd08 ble.n 8035742 8035730: 68fb ldr r3, [r7, #12] 8035732: f103 0218 add.w r2, r3, #24 8035736: f04f 0300 mov.w r3, #0 803573a: f04f 0400 mov.w r4, #0 803573e: 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; 8035742: 68fb ldr r3, [r7, #12] 8035744: 3318 adds r3, #24 8035746: ed93 7b00 vldr d7, [r3] 803574a: ed9f 6b4d vldr d6, [pc, #308] ; 8035880 803574e: eeb4 7bc6 vcmpe.f64 d7, d6 8035752: eef1 fa10 vmrs APSR_nzcv, fpscr 8035756: dd13 ble.n 8035780 8035758: 68fb ldr r3, [r7, #12] 803575a: 3310 adds r3, #16 803575c: ed93 7b00 vldr d7, [r3] 8035760: eeb0 7bc7 vabs.f64 d7, d7 8035764: ed9f 6b48 vldr d6, [pc, #288] ; 8035888 8035768: eeb4 7bc6 vcmpe.f64 d7, d6 803576c: eef1 fa10 vmrs APSR_nzcv, fpscr 8035770: d506 bpl.n 8035780 8035772: f04f 0300 mov.w r3, #0 8035776: f04f 0400 mov.w r4, #0 803577a: e9c7 3410 strd r3, r4, [r7, #64] ; 0x40 803577e: e004 b.n 803578a else P3Limit = ZERO_MINUS; 8035780: f04f 0300 mov.w r3, #0 8035784: 4c42 ldr r4, [pc, #264] ; (8035890 ) 8035786: e9c7 3410 strd r3, r4, [r7, #64] ; 0x40 if(P[3] < P3Limit) 803578a: 68fb ldr r3, [r7, #12] 803578c: 3318 adds r3, #24 803578e: ed93 6b00 vldr d6, [r3] 8035792: ed97 7b10 vldr d7, [r7, #64] ; 0x40 8035796: eeb4 6bc7 vcmpe.f64 d6, d7 803579a: eef1 fa10 vmrs APSR_nzcv, fpscr 803579e: d579 bpl.n 8035894 { MaxK = CubicRoots(P, RealRoot, ImagRoot); 80357a0: 687a ldr r2, [r7, #4] 80357a2: 68b9 ldr r1, [r7, #8] 80357a4: 68f8 ldr r0, [r7, #12] 80357a6: f7ff fbe7 bl 8034f78 80357aa: 6178 str r0, [r7, #20] if(RealRoot[MaxK] > 0.0) // MaxK is the index of the largest real root. 80357ac: 697b ldr r3, [r7, #20] 80357ae: 00db lsls r3, r3, #3 80357b0: 68ba ldr r2, [r7, #8] 80357b2: 4413 add r3, r2 80357b4: ed93 7b00 vldr d7, [r3] 80357b8: eeb5 7bc0 vcmpe.f64 d7, #0.0 80357bc: eef1 fa10 vmrs APSR_nzcv, fpscr 80357c0: dd68 ble.n 8035894 { d = 4.0*RealRoot[MaxK]; 80357c2: 697b ldr r3, [r7, #20] 80357c4: 00db lsls r3, r3, #3 80357c6: 68ba ldr r2, [r7, #8] 80357c8: 4413 add r3, r2 80357ca: ed93 7b00 vldr d7, [r3] 80357ce: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80357d2: ee27 7b06 vmul.f64 d7, d7, d6 80357d6: ed87 7b0a vstr d7, [r7, #40] ; 0x28 a += d; 80357da: ed97 6b06 vldr d6, [r7, #24] 80357de: ed97 7b0a vldr d7, [r7, #40] ; 0x28 80357e2: ee36 7b07 vadd.f64 d7, d6, d7 80357e6: ed87 7b06 vstr d7, [r7, #24] if(a*b < 0.0)P[1] = -sqrtl(d); 80357ea: ed97 6b06 vldr d6, [r7, #24] 80357ee: ed97 7b12 vldr d7, [r7, #72] ; 0x48 80357f2: ee26 7b07 vmul.f64 d7, d6, d7 80357f6: eeb5 7bc0 vcmpe.f64 d7, #0.0 80357fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80357fe: d50d bpl.n 803581c 8035800: 68fb ldr r3, [r7, #12] 8035802: f103 0408 add.w r4, r3, #8 8035806: ed97 0b0a vldr d0, [r7, #40] ; 0x28 803580a: f09a f9f3 bl 80cfbf4 803580e: eeb0 7b40 vmov.f64 d7, d0 8035812: eeb1 7b47 vneg.f64 d7, d7 8035816: ed84 7b00 vstr d7, [r4] 803581a: e00a b.n 8035832 else P[1] = sqrtl(d); 803581c: 68fb ldr r3, [r7, #12] 803581e: f103 0408 add.w r4, r3, #8 8035822: ed97 0b0a vldr d0, [r7, #40] ; 0x28 8035826: f09a f9e5 bl 80cfbf4 803582a: eeb0 7b40 vmov.f64 d7, d0 803582e: ed84 7b00 vstr d7, [r4] b = 0.5 * (a + b/P[1]); 8035832: 68fb ldr r3, [r7, #12] 8035834: 3308 adds r3, #8 8035836: ed93 7b00 vldr d7, [r3] 803583a: ed97 5b12 vldr d5, [r7, #72] ; 0x48 803583e: ee85 6b07 vdiv.f64 d6, d5, d7 8035842: ed97 7b06 vldr d7, [r7, #24] 8035846: ee36 7b07 vadd.f64 d7, d6, d7 803584a: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 803584e: ee27 7b06 vmul.f64 d7, d7, d6 8035852: ed87 7b12 vstr d7, [r7, #72] ; 0x48 goto QUAD; 8035856: e0c7 b.n 80359e8 8035858: 00000000 .word 0x00000000 803585c: 40700000 .word 0x40700000 8035860: 00000000 .word 0x00000000 8035864: 40500000 .word 0x40500000 8035868: 00000000 .word 0x00000000 803586c: 3f700000 .word 0x3f700000 8035870: 00000000 .word 0x00000000 8035874: c0500000 .word 0xc0500000 8035878: 00000000 .word 0x00000000 803587c: 3f900000 .word 0x3f900000 8035880: 00000000 .word 0x00000000 8035884: bcd00000 .word 0xbcd00000 8035888: a0b5ed8d .word 0xa0b5ed8d 803588c: 3eb0c6f7 .word 0x3eb0c6f7 8035890: bcd00000 .word 0xbcd00000 } } if(P[2] < -1.0E-8) // 2 sets of equal imag roots 8035894: 68fb ldr r3, [r7, #12] 8035896: 3310 adds r3, #16 8035898: ed93 7b00 vldr d7, [r3] 803589c: ed9f 6b76 vldr d6, [pc, #472] ; 8035a78 80358a0: eeb4 7bc6 vcmpe.f64 d7, d6 80358a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80358a8: d534 bpl.n 8035914 { b = sqrtl(fabsl(c)); 80358aa: ed97 7b08 vldr d7, [r7, #32] 80358ae: eeb0 7bc7 vabs.f64 d7, d7 80358b2: eeb0 0b47 vmov.f64 d0, d7 80358b6: f09a f99d bl 80cfbf4 80358ba: ed87 0b12 vstr d0, [r7, #72] ; 0x48 d = b + b - a; 80358be: ed97 7b12 vldr d7, [r7, #72] ; 0x48 80358c2: ee37 6b07 vadd.f64 d6, d7, d7 80358c6: ed97 7b06 vldr d7, [r7, #24] 80358ca: ee36 7b47 vsub.f64 d7, d6, d7 80358ce: ed87 7b0a vstr d7, [r7, #40] ; 0x28 if(d > 0.0)P[1] = sqrtl(fabsl(d)); 80358d2: ed97 7b0a vldr d7, [r7, #40] ; 0x28 80358d6: eeb5 7bc0 vcmpe.f64 d7, #0.0 80358da: eef1 fa10 vmrs APSR_nzcv, fpscr 80358de: dd0f ble.n 8035900 80358e0: 68fb ldr r3, [r7, #12] 80358e2: f103 0408 add.w r4, r3, #8 80358e6: ed97 7b0a vldr d7, [r7, #40] ; 0x28 80358ea: eeb0 7bc7 vabs.f64 d7, d7 80358ee: eeb0 0b47 vmov.f64 d0, d7 80358f2: f09a f97f bl 80cfbf4 80358f6: eeb0 7b40 vmov.f64 d7, d0 80358fa: ed84 7b00 vstr d7, [r4] 80358fe: e073 b.n 80359e8 else P[1] = 0.0; 8035900: 68fb ldr r3, [r7, #12] 8035902: f103 0208 add.w r2, r3, #8 8035906: f04f 0300 mov.w r3, #0 803590a: f04f 0400 mov.w r4, #0 803590e: e882 0018 stmia.w r2, {r3, r4} 8035912: e069 b.n 80359e8 } else { if(P[1] > 0.0)b = 2.0*sqrtl(fabsl(P[2])) + P[1]; 8035914: 68fb ldr r3, [r7, #12] 8035916: 3308 adds r3, #8 8035918: ed93 7b00 vldr d7, [r3] 803591c: eeb5 7bc0 vcmpe.f64 d7, #0.0 8035920: eef1 fa10 vmrs APSR_nzcv, fpscr 8035924: dd16 ble.n 8035954 8035926: 68fb ldr r3, [r7, #12] 8035928: 3310 adds r3, #16 803592a: ed93 7b00 vldr d7, [r3] 803592e: eeb0 7bc7 vabs.f64 d7, d7 8035932: eeb0 0b47 vmov.f64 d0, d7 8035936: f09a f95d bl 80cfbf4 803593a: eeb0 7b40 vmov.f64 d7, d0 803593e: ee37 6b07 vadd.f64 d6, d7, d7 8035942: 68fb ldr r3, [r7, #12] 8035944: 3308 adds r3, #8 8035946: ed93 7b00 vldr d7, [r3] 803594a: ee36 7b07 vadd.f64 d7, d6, d7 803594e: ed87 7b12 vstr d7, [r7, #72] ; 0x48 8035952: e017 b.n 8035984 else b = -2.0*sqrtl(fabsl(P[2])) + P[1]; 8035954: 68fb ldr r3, [r7, #12] 8035956: 3310 adds r3, #16 8035958: ed93 7b00 vldr d7, [r3] 803595c: eeb0 7bc7 vabs.f64 d7, d7 8035960: eeb0 0b47 vmov.f64 d0, d7 8035964: f09a f946 bl 80cfbf4 8035968: eeb0 6b40 vmov.f64 d6, d0 803596c: eeb8 7b00 vmov.f64 d7, #128 ; 0xc0000000 -2.0 8035970: ee26 6b07 vmul.f64 d6, d6, d7 8035974: 68fb ldr r3, [r7, #12] 8035976: 3308 adds r3, #8 8035978: ed93 7b00 vldr d7, [r3] 803597c: ee36 7b07 vadd.f64 d7, d6, d7 8035980: ed87 7b12 vstr d7, [r7, #72] ; 0x48 if(fabsl(b) < 10.0*ZERO_PLUS) // 4 equal real roots. Was originally if(b == 0.0) 8035984: ed97 7b12 vldr d7, [r7, #72] ; 0x48 8035988: eeb0 7bc7 vabs.f64 d7, d7 803598c: ed9f 6b3c vldr d6, [pc, #240] ; 8035a80 8035990: eeb4 7bc6 vcmpe.f64 d7, d6 8035994: eef1 fa10 vmrs APSR_nzcv, fpscr 8035998: d51d bpl.n 80359d6 { for(k=0; k<4; k++) 803599a: 2300 movs r3, #0 803599c: 657b str r3, [r7, #84] ; 0x54 803599e: e016 b.n 80359ce { RealRoot[k] = -e; 80359a0: 6d7b ldr r3, [r7, #84] ; 0x54 80359a2: 00db lsls r3, r3, #3 80359a4: 68ba ldr r2, [r7, #8] 80359a6: 4413 add r3, r2 80359a8: ed97 7b0c vldr d7, [r7, #48] ; 0x30 80359ac: eeb1 7b47 vneg.f64 d7, d7 80359b0: ed83 7b00 vstr d7, [r3] ImagRoot[k] = 0.0; 80359b4: 6d7b ldr r3, [r7, #84] ; 0x54 80359b6: 00db lsls r3, r3, #3 80359b8: 687a ldr r2, [r7, #4] 80359ba: 441a add r2, r3 80359bc: f04f 0300 mov.w r3, #0 80359c0: f04f 0400 mov.w r4, #0 80359c4: e882 0018 stmia.w r2, {r3, r4} for(k=0; k<4; k++) 80359c8: 6d7b ldr r3, [r7, #84] ; 0x54 80359ca: 3301 adds r3, #1 80359cc: 657b str r3, [r7, #84] ; 0x54 80359ce: 6d7b ldr r3, [r7, #84] ; 0x54 80359d0: 2b03 cmp r3, #3 80359d2: dde5 ble.n 80359a0 } return; 80359d4: e04a b.n 8035a6c } else P[1] = 0.0; 80359d6: 68fb ldr r3, [r7, #12] 80359d8: f103 0208 add.w r2, r3, #8 80359dc: f04f 0300 mov.w r3, #0 80359e0: f04f 0400 mov.w r4, #0 80359e4: 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; 80359e8: 68fb ldr r3, [r7, #12] 80359ea: 3310 adds r3, #16 80359ec: ed97 5b08 vldr d5, [r7, #32] 80359f0: ed97 6b12 vldr d6, [r7, #72] ; 0x48 80359f4: ee85 7b06 vdiv.f64 d7, d5, d6 80359f8: ed83 7b00 vstr d7, [r3] QuadRoots(P, RealRoot, ImagRoot); 80359fc: 687a ldr r2, [r7, #4] 80359fe: 68b9 ldr r1, [r7, #8] 8035a00: 68f8 ldr r0, [r7, #12] 8035a02: f7ff f9fd bl 8034e00 P[1] = -P[1]; 8035a06: 68fb ldr r3, [r7, #12] 8035a08: 3308 adds r3, #8 8035a0a: 68fa ldr r2, [r7, #12] 8035a0c: 3208 adds r2, #8 8035a0e: ed92 7b00 vldr d7, [r2] 8035a12: eeb1 7b47 vneg.f64 d7, d7 8035a16: ed83 7b00 vstr d7, [r3] P[2] = b; 8035a1a: 68fb ldr r3, [r7, #12] 8035a1c: f103 0210 add.w r2, r3, #16 8035a20: e9d7 3412 ldrd r3, r4, [r7, #72] ; 0x48 8035a24: e882 0018 stmia.w r2, {r3, r4} QuadRoots(P, RealRoot+2, ImagRoot+2); 8035a28: 68bb ldr r3, [r7, #8] 8035a2a: f103 0110 add.w r1, r3, #16 8035a2e: 687b ldr r3, [r7, #4] 8035a30: 3310 adds r3, #16 8035a32: 461a mov r2, r3 8035a34: 68f8 ldr r0, [r7, #12] 8035a36: f7ff f9e3 bl 8034e00 for(k=0; k<4; k++)RealRoot[k] -= e; 8035a3a: 2300 movs r3, #0 8035a3c: 657b str r3, [r7, #84] ; 0x54 8035a3e: e012 b.n 8035a66 8035a40: 6d7b ldr r3, [r7, #84] ; 0x54 8035a42: 00db lsls r3, r3, #3 8035a44: 68ba ldr r2, [r7, #8] 8035a46: 4413 add r3, r2 8035a48: 6d7a ldr r2, [r7, #84] ; 0x54 8035a4a: 00d2 lsls r2, r2, #3 8035a4c: 68b9 ldr r1, [r7, #8] 8035a4e: 440a add r2, r1 8035a50: ed92 6b00 vldr d6, [r2] 8035a54: ed97 7b0c vldr d7, [r7, #48] ; 0x30 8035a58: ee36 7b47 vsub.f64 d7, d6, d7 8035a5c: ed83 7b00 vstr d7, [r3] 8035a60: 6d7b ldr r3, [r7, #84] ; 0x54 8035a62: 3301 adds r3, #1 8035a64: 657b str r3, [r7, #84] ; 0x54 8035a66: 6d7b ldr r3, [r7, #84] ; 0x54 8035a68: 2b03 cmp r3, #3 8035a6a: dde9 ble.n 8035a40 } 8035a6c: 375c adds r7, #92 ; 0x5c 8035a6e: 46bd mov sp, r7 8035a70: bd90 pop {r4, r7, pc} 8035a72: bf00 nop 8035a74: f3af 8000 nop.w 8035a78: e2308c3a .word 0xe2308c3a 8035a7c: be45798e .word 0xbe45798e 8035a80: 00000000 .word 0x00000000 8035a84: 3d040000 .word 0x3d040000 08035a88 : extern float32_t Acorr[2]; extern char Serial[8]; void initDevice(void) { 8035a88: b580 push {r7, lr} 8035a8a: af00 add r7, sp, #0 NeedOff = false; 8035a8c: 4b11 ldr r3, [pc, #68] ; (8035ad4 ) 8035a8e: 2200 movs r2, #0 8035a90: 701a strb r2, [r3, #0] initAmplif(); 8035a92: f7eb ffff bl 8021a94 MAX11270_StopMeas(); 8035a96: f021 f803 bl 8056aa0 SetKU(); 8035a9a: f7eb feeb bl 8021874 if(AskFormat == false) 8035a9e: 4b0e ldr r3, [pc, #56] ; (8035ad8 ) 8035aa0: 781b ldrb r3, [r3, #0] 8035aa2: b2db uxtb r3, r3 8035aa4: f083 0301 eor.w r3, r3, #1 8035aa8: b2db uxtb r3, r3 8035aaa: 2b00 cmp r3, #0 8035aac: d006 beq.n 8035abc { menu = OPTIONS; 8035aae: 4b0b ldr r3, [pc, #44] ; (8035adc ) 8035ab0: 2201 movs r2, #1 8035ab2: 701a strb r2, [r3, #0] menupos = Mode; 8035ab4: 4b0a ldr r3, [pc, #40] ; (8035ae0 ) 8035ab6: 2201 movs r2, #1 8035ab8: 701a strb r2, [r3, #0] { menu = OPTIONS; menupos = AskFormatNo; AskFormat = false; } } 8035aba: e008 b.n 8035ace menu = OPTIONS; 8035abc: 4b07 ldr r3, [pc, #28] ; (8035adc ) 8035abe: 2201 movs r2, #1 8035ac0: 701a strb r2, [r3, #0] menupos = AskFormatNo; 8035ac2: 4b07 ldr r3, [pc, #28] ; (8035ae0 ) 8035ac4: 2205 movs r2, #5 8035ac6: 701a strb r2, [r3, #0] AskFormat = false; 8035ac8: 4b03 ldr r3, [pc, #12] ; (8035ad8 ) 8035aca: 2200 movs r2, #0 8035acc: 701a strb r2, [r3, #0] } 8035ace: bf00 nop 8035ad0: bd80 pop {r7, pc} 8035ad2: bf00 nop 8035ad4: 20020fc1 .word 0x20020fc1 8035ad8: 2002169d .word 0x2002169d 8035adc: 20020fc5 .word 0x20020fc5 8035ae0: 20020070 .word 0x20020070 08035ae4 : void NeedCalibrate(void) { 8035ae4: b580 push {r7, lr} 8035ae6: b082 sub sp, #8 8035ae8: af00 add r7, sp, #0 uint32_t i, k; for(k = 0; k < 100; k++) 8035aea: 2300 movs r3, #0 8035aec: 603b str r3, [r7, #0] 8035aee: e04c b.n 8035b8a { if(readkey() == (KEY_TMP + KEY_UP)) 8035af0: f000 f8a6 bl 8035c40 8035af4: 4603 mov r3, r0 8035af6: 2b42 cmp r3, #66 ; 0x42 8035af8: d141 bne.n 8035b7e { clbr = true; 8035afa: 4b3c ldr r3, [pc, #240] ; (8035bec ) 8035afc: 2201 movs r2, #1 8035afe: 701a strb r2, [r3, #0] pardata.SYG = VIB; 8035b00: 4b3b ldr r3, [pc, #236] ; (8035bf0 ) 8035b02: 2200 movs r2, #0 8035b04: 701a strb r2, [r3, #0] pardata.IIN = ICP; 8035b06: 4b3a ldr r3, [pc, #232] ; (8035bf0 ) 8035b08: 2201 movs r2, #1 8035b0a: 719a strb r2, [r3, #6] pardata.IKU = Ku1; 8035b0c: 4b38 ldr r3, [pc, #224] ; (8035bf0 ) 8035b0e: 2200 movs r2, #0 8035b10: 721a strb r2, [r3, #8] pardata.IVS[ACC] = RMS; 8035b12: 4b37 ldr r3, [pc, #220] ; (8035bf0 ) 8035b14: 2201 movs r2, #1 8035b16: 709a strb r2, [r3, #2] menu = CALIBR_00; 8035b18: 4b36 ldr r3, [pc, #216] ; (8035bf4 ) 8035b1a: 2234 movs r2, #52 ; 0x34 8035b1c: 701a strb r2, [r3, #0] menupos = 0; 8035b1e: 4b36 ldr r3, [pc, #216] ; (8035bf8 ) 8035b20: 2200 movs r2, #0 8035b22: 701a strb r2, [r3, #0] for(i = 0; i < 9; i++) { 8035b24: 2300 movs r3, #0 8035b26: 607b str r3, [r7, #4] 8035b28: e009 b.n 8035b3e Kcorr[i] = 1.0f; 8035b2a: 4a34 ldr r2, [pc, #208] ; (8035bfc ) 8035b2c: 687b ldr r3, [r7, #4] 8035b2e: 009b lsls r3, r3, #2 8035b30: 4413 add r3, r2 8035b32: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 8035b36: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 8035b38: 687b ldr r3, [r7, #4] 8035b3a: 3301 adds r3, #1 8035b3c: 607b str r3, [r7, #4] 8035b3e: 687b ldr r3, [r7, #4] 8035b40: 2b08 cmp r3, #8 8035b42: d9f2 bls.n 8035b2a } Acorr[0] = 1.0f; 8035b44: 4b2e ldr r3, [pc, #184] ; (8035c00 ) 8035b46: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 8035b4a: 601a str r2, [r3, #0] Acorr[1] = 0.0f; 8035b4c: 4b2c ldr r3, [pc, #176] ; (8035c00 ) 8035b4e: f04f 0200 mov.w r2, #0 8035b52: 605a str r2, [r3, #4] memset(Serial, 0, sizeof(Serial)); 8035b54: 2208 movs r2, #8 8035b56: 2100 movs r1, #0 8035b58: 482a ldr r0, [pc, #168] ; (8035c04 ) 8035b5a: f09c fa23 bl 80d1fa4 Serial[0] = '0'; 8035b5e: 4b29 ldr r3, [pc, #164] ; (8035c04 ) 8035b60: 2230 movs r2, #48 ; 0x30 8035b62: 701a strb r2, [r3, #0] Serial[1] = '0'; 8035b64: 4b27 ldr r3, [pc, #156] ; (8035c04 ) 8035b66: 2230 movs r2, #48 ; 0x30 8035b68: 705a strb r2, [r3, #1] Serial[2] = '0'; 8035b6a: 4b26 ldr r3, [pc, #152] ; (8035c04 ) 8035b6c: 2230 movs r2, #48 ; 0x30 8035b6e: 709a strb r2, [r3, #2] Serial[3] = '0'; 8035b70: 4b24 ldr r3, [pc, #144] ; (8035c04 ) 8035b72: 2230 movs r2, #48 ; 0x30 8035b74: 70da strb r2, [r3, #3] Serial[4] = '0'; 8035b76: 4b23 ldr r3, [pc, #140] ; (8035c04 ) 8035b78: 2230 movs r2, #48 ; 0x30 8035b7a: 711a strb r2, [r3, #4] break; 8035b7c: e008 b.n 8035b90 } else clbr = false; 8035b7e: 4b1b ldr r3, [pc, #108] ; (8035bec ) 8035b80: 2200 movs r2, #0 8035b82: 701a strb r2, [r3, #0] for(k = 0; k < 100; k++) 8035b84: 683b ldr r3, [r7, #0] 8035b86: 3301 adds r3, #1 8035b88: 603b str r3, [r7, #0] 8035b8a: 683b ldr r3, [r7, #0] 8035b8c: 2b63 cmp r3, #99 ; 0x63 8035b8e: d9af bls.n 8035af0 } if(!clbr) 8035b90: 4b16 ldr r3, [pc, #88] ; (8035bec ) 8035b92: 781b ldrb r3, [r3, #0] 8035b94: b2db uxtb r3, r3 8035b96: f083 0301 eor.w r3, r3, #1 8035b9a: b2db uxtb r3, r3 8035b9c: 2b00 cmp r3, #0 8035b9e: d020 beq.n 8035be2 { for(k = 0; k < 100; k++) 8035ba0: 2300 movs r3, #0 8035ba2: 603b str r3, [r7, #0] 8035ba4: e01a b.n 8035bdc { if(readkey() == (KEY_LT + KEY_RT)) 8035ba6: f000 f84b bl 8035c40 8035baa: 4603 mov r3, r0 8035bac: 2b18 cmp r3, #24 8035bae: d112 bne.n 8035bd6 { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); 8035bb0: 2201 movs r2, #1 8035bb2: f44f 4180 mov.w r1, #16384 ; 0x4000 8035bb6: 4814 ldr r0, [pc, #80] ; (8035c08 ) 8035bb8: f084 fbf0 bl 80ba39c #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #endif pardata.FRQ = _64000Hz; 8035bbc: 4b0c ldr r3, [pc, #48] ; (8035bf0 ) 8035bbe: 2209 movs r2, #9 8035bc0: 72da strb r2, [r3, #11] menu = CALIBR_OFFSET; 8035bc2: 4b0c ldr r3, [pc, #48] ; (8035bf4 ) 8035bc4: 2241 movs r2, #65 ; 0x41 8035bc6: 701a strb r2, [r3, #0] menupos = 0; 8035bc8: 4b0b ldr r3, [pc, #44] ; (8035bf8 ) 8035bca: 2200 movs r2, #0 8035bcc: 701a strb r2, [r3, #0] CALC_OFFSET(); 8035bce: f020 fd77 bl 80566c0 break; 8035bd2: bf00 nop } } } } 8035bd4: e005 b.n 8035be2 for(k = 0; k < 100; k++) 8035bd6: 683b ldr r3, [r7, #0] 8035bd8: 3301 adds r3, #1 8035bda: 603b str r3, [r7, #0] 8035bdc: 683b ldr r3, [r7, #0] 8035bde: 2b63 cmp r3, #99 ; 0x63 8035be0: d9e1 bls.n 8035ba6 } 8035be2: bf00 nop 8035be4: 3708 adds r7, #8 8035be6: 46bd mov sp, r7 8035be8: bd80 pop {r7, pc} 8035bea: bf00 nop 8035bec: 20020f90 .word 0x20020f90 8035bf0: 20023eb8 .word 0x20023eb8 8035bf4: 20020fc5 .word 0x20020fc5 8035bf8: 20020070 .word 0x20020070 8035bfc: 200261f4 .word 0x200261f4 8035c00: 2006855c .word 0x2006855c 8035c04: 20026d64 .word 0x20026d64 8035c08: 40021800 .word 0x40021800 08035c0c : void initKeys(void) { 8035c0c: b580 push {r7, lr} 8035c0e: af00 add r7, sp, #0 KeysIsReady = false; 8035c10: 4b09 ldr r3, [pc, #36] ; (8035c38 ) 8035c12: 2200 movs r2, #0 8035c14: 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); 8035c16: 2201 movs r2, #1 8035c18: 2104 movs r1, #4 8035c1a: 4808 ldr r0, [pc, #32] ; (8035c3c ) 8035c1c: f084 fbbe bl 80ba39c HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_SET); 8035c20: 2201 movs r2, #1 8035c22: 2110 movs r1, #16 8035c24: 4805 ldr r0, [pc, #20] ; (8035c3c ) 8035c26: f084 fbb9 bl 80ba39c HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_SET); 8035c2a: 2201 movs r2, #1 8035c2c: 2120 movs r1, #32 8035c2e: 4803 ldr r0, [pc, #12] ; (8035c3c ) 8035c30: f084 fbb4 bl 80ba39c #endif } 8035c34: bf00 nop 8035c36: bd80 pop {r7, pc} 8035c38: 20020fcb .word 0x20020fcb 8035c3c: 40021000 .word 0x40021000 08035c40 : uint32_t readkey(void) { 8035c40: b580 push {r7, lr} 8035c42: b082 sub sp, #8 8035c44: af00 add r7, sp, #0 uint32_t key = 0; 8035c46: 2300 movs r3, #0 8035c48: 607b str r3, [r7, #4] if(KeysIsReady == false){ 8035c4a: 4b46 ldr r3, [pc, #280] ; (8035d64 ) 8035c4c: 781b ldrb r3, [r3, #0] 8035c4e: b2db uxtb r3, r3 8035c50: f083 0301 eor.w r3, r3, #1 8035c54: b2db uxtb r3, r3 8035c56: 2b00 cmp r3, #0 8035c58: d001 beq.n 8035c5e return 0; 8035c5a: 2300 movs r3, #0 8035c5c: e07e b.n 8035d5c } if(HAL_GPIO_ReadPin(OFF_GPIO_Port, OFF_Pin) == GPIO_PIN_SET) { 8035c5e: 2101 movs r1, #1 8035c60: 4841 ldr r0, [pc, #260] ; (8035d68 ) 8035c62: f084 fb83 bl 80ba36c 8035c66: 4603 mov r3, r0 8035c68: 2b01 cmp r3, #1 8035c6a: d101 bne.n 8035c70 key = KEY_PW; 8035c6c: 2301 movs r3, #1 8035c6e: 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); 8035c70: 2201 movs r2, #1 8035c72: 2104 movs r1, #4 8035c74: 483d ldr r0, [pc, #244] ; (8035d6c ) 8035c76: f084 fb91 bl 80ba39c HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_SET); 8035c7a: 2201 movs r2, #1 8035c7c: 2110 movs r1, #16 8035c7e: 483b ldr r0, [pc, #236] ; (8035d6c ) 8035c80: f084 fb8c bl 80ba39c HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_SET); 8035c84: 2201 movs r2, #1 8035c86: 2120 movs r1, #32 8035c88: 4838 ldr r0, [pc, #224] ; (8035d6c ) 8035c8a: f084 fb87 bl 80ba39c HAL_GPIO_WritePin(U1_GPIO_Port, U1_Pin, GPIO_PIN_RESET); 8035c8e: 2200 movs r2, #0 8035c90: 2104 movs r1, #4 8035c92: 4836 ldr r0, [pc, #216] ; (8035d6c ) 8035c94: f084 fb82 bl 80ba39c if(HAL_GPIO_ReadPin(K1_GPIO_Port, K1_Pin) == GPIO_PIN_RESET) 8035c98: f44f 7100 mov.w r1, #512 ; 0x200 8035c9c: 4832 ldr r0, [pc, #200] ; (8035d68 ) 8035c9e: f084 fb65 bl 80ba36c 8035ca2: 4603 mov r3, r0 8035ca4: 2b00 cmp r3, #0 8035ca6: d103 bne.n 8035cb0 key |= KEY_OK; 8035ca8: 687b ldr r3, [r7, #4] 8035caa: f043 0320 orr.w r3, r3, #32 8035cae: 607b str r3, [r7, #4] if(HAL_GPIO_ReadPin(K2_GPIO_Port, K2_Pin) == GPIO_PIN_RESET) 8035cb0: f44f 6180 mov.w r1, #1024 ; 0x400 8035cb4: 482c ldr r0, [pc, #176] ; (8035d68 ) 8035cb6: f084 fb59 bl 80ba36c 8035cba: 4603 mov r3, r0 8035cbc: 2b00 cmp r3, #0 8035cbe: d103 bne.n 8035cc8 key |= KEY_TMP; 8035cc0: 687b ldr r3, [r7, #4] 8035cc2: f043 0340 orr.w r3, r3, #64 ; 0x40 8035cc6: 607b str r3, [r7, #4] HAL_GPIO_WritePin(U1_GPIO_Port, U1_Pin, GPIO_PIN_SET); 8035cc8: 2201 movs r2, #1 8035cca: 2104 movs r1, #4 8035ccc: 4827 ldr r0, [pc, #156] ; (8035d6c ) 8035cce: f084 fb65 bl 80ba39c HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_RESET); 8035cd2: 2200 movs r2, #0 8035cd4: 2110 movs r1, #16 8035cd6: 4825 ldr r0, [pc, #148] ; (8035d6c ) 8035cd8: f084 fb60 bl 80ba39c if(HAL_GPIO_ReadPin(K1_GPIO_Port, K1_Pin) == GPIO_PIN_RESET) 8035cdc: f44f 7100 mov.w r1, #512 ; 0x200 8035ce0: 4821 ldr r0, [pc, #132] ; (8035d68 ) 8035ce2: f084 fb43 bl 80ba36c 8035ce6: 4603 mov r3, r0 8035ce8: 2b00 cmp r3, #0 8035cea: d103 bne.n 8035cf4 key |= KEY_LT; 8035cec: 687b ldr r3, [r7, #4] 8035cee: f043 0310 orr.w r3, r3, #16 8035cf2: 607b str r3, [r7, #4] if(HAL_GPIO_ReadPin(K2_GPIO_Port, K2_Pin) == GPIO_PIN_RESET) 8035cf4: f44f 6180 mov.w r1, #1024 ; 0x400 8035cf8: 481b ldr r0, [pc, #108] ; (8035d68 ) 8035cfa: f084 fb37 bl 80ba36c 8035cfe: 4603 mov r3, r0 8035d00: 2b00 cmp r3, #0 8035d02: d103 bne.n 8035d0c key |= KEY_RT; 8035d04: 687b ldr r3, [r7, #4] 8035d06: f043 0308 orr.w r3, r3, #8 8035d0a: 607b str r3, [r7, #4] HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_SET); 8035d0c: 2201 movs r2, #1 8035d0e: 2110 movs r1, #16 8035d10: 4816 ldr r0, [pc, #88] ; (8035d6c ) 8035d12: f084 fb43 bl 80ba39c HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_RESET); 8035d16: 2200 movs r2, #0 8035d18: 2120 movs r1, #32 8035d1a: 4814 ldr r0, [pc, #80] ; (8035d6c ) 8035d1c: f084 fb3e bl 80ba39c if(HAL_GPIO_ReadPin(K1_GPIO_Port, K1_Pin) == GPIO_PIN_RESET) 8035d20: f44f 7100 mov.w r1, #512 ; 0x200 8035d24: 4810 ldr r0, [pc, #64] ; (8035d68 ) 8035d26: f084 fb21 bl 80ba36c 8035d2a: 4603 mov r3, r0 8035d2c: 2b00 cmp r3, #0 8035d2e: d103 bne.n 8035d38 key |= KEY_UP; 8035d30: 687b ldr r3, [r7, #4] 8035d32: f043 0302 orr.w r3, r3, #2 8035d36: 607b str r3, [r7, #4] if(HAL_GPIO_ReadPin(K2_GPIO_Port, K2_Pin) == GPIO_PIN_RESET) 8035d38: f44f 6180 mov.w r1, #1024 ; 0x400 8035d3c: 480a ldr r0, [pc, #40] ; (8035d68 ) 8035d3e: f084 fb15 bl 80ba36c 8035d42: 4603 mov r3, r0 8035d44: 2b00 cmp r3, #0 8035d46: d103 bne.n 8035d50 key |= KEY_DN; 8035d48: 687b ldr r3, [r7, #4] 8035d4a: f043 0304 orr.w r3, r3, #4 8035d4e: 607b str r3, [r7, #4] HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_SET); 8035d50: 2201 movs r2, #1 8035d52: 2120 movs r1, #32 8035d54: 4805 ldr r0, [pc, #20] ; (8035d6c ) 8035d56: f084 fb21 bl 80ba39c 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; 8035d5a: 687b ldr r3, [r7, #4] } 8035d5c: 4618 mov r0, r3 8035d5e: 3708 adds r7, #8 8035d60: 46bd mov sp, r7 8035d62: bd80 pop {r7, pc} 8035d64: 20020fcb .word 0x20020fcb 8035d68: 40020000 .word 0x40020000 8035d6c: 40021000 .word 0x40021000 08035d70 : uint32_t kbhit(void) { 8035d70: b580 push {r7, lr} 8035d72: b082 sub sp, #8 8035d74: af00 add r7, sp, #0 static uint16_t rep = 50; do { key = readkey(); 8035d76: f7ff ff63 bl 8035c40 8035d7a: 4603 mov r3, r0 8035d7c: 607b str r3, [r7, #4] if(!key) 8035d7e: 687b ldr r3, [r7, #4] 8035d80: 2b00 cmp r3, #0 8035d82: d10d bne.n 8035da0 { if(dreb) 8035d84: 4b4e ldr r3, [pc, #312] ; (8035ec0 ) 8035d86: 681b ldr r3, [r3, #0] 8035d88: 2b00 cmp r3, #0 8035d8a: d005 beq.n 8035d98 dreb--; 8035d8c: 4b4c ldr r3, [pc, #304] ; (8035ec0 ) 8035d8e: 681b ldr r3, [r3, #0] 8035d90: 3b01 subs r3, #1 8035d92: 4a4b ldr r2, [pc, #300] ; (8035ec0 ) 8035d94: 6013 str r3, [r2, #0] 8035d96: e00c b.n 8035db2 else first = 1; 8035d98: 4b4a ldr r3, [pc, #296] ; (8035ec4 ) 8035d9a: 2201 movs r2, #1 8035d9c: 701a strb r2, [r3, #0] 8035d9e: e008 b.n 8035db2 } else { if(dreb < KEY_DBZ) 8035da0: 4b47 ldr r3, [pc, #284] ; (8035ec0 ) 8035da2: 681b ldr r3, [r3, #0] 8035da4: 2b01 cmp r3, #1 8035da6: d804 bhi.n 8035db2 dreb++; 8035da8: 4b45 ldr r3, [pc, #276] ; (8035ec0 ) 8035daa: 681b ldr r3, [r3, #0] 8035dac: 3301 adds r3, #1 8035dae: 4a44 ldr r2, [pc, #272] ; (8035ec0 ) 8035db0: 6013 str r3, [r2, #0] } } while((dreb > 0) && (dreb < KEY_DBZ)); 8035db2: 4b43 ldr r3, [pc, #268] ; (8035ec0 ) 8035db4: 681b ldr r3, [r3, #0] 8035db6: 2b00 cmp r3, #0 8035db8: d003 beq.n 8035dc2 8035dba: 4b41 ldr r3, [pc, #260] ; (8035ec0 ) 8035dbc: 681b ldr r3, [r3, #0] 8035dbe: 2b01 cmp r3, #1 8035dc0: d9d9 bls.n 8035d76 if((key == KEY_PW) && (menu != POWER_OFF) && (menu != POWER_OFF2) && (LinkPC == 0) && (!ChargerIsConnect)) 8035dc2: 687b ldr r3, [r7, #4] 8035dc4: 2b01 cmp r3, #1 8035dc6: d13e bne.n 8035e46 8035dc8: 4b3f ldr r3, [pc, #252] ; (8035ec8 ) 8035dca: 781b ldrb r3, [r3, #0] 8035dcc: b2db uxtb r3, r3 8035dce: 2b43 cmp r3, #67 ; 0x43 8035dd0: d039 beq.n 8035e46 8035dd2: 4b3d ldr r3, [pc, #244] ; (8035ec8 ) 8035dd4: 781b ldrb r3, [r3, #0] 8035dd6: b2db uxtb r3, r3 8035dd8: 2b44 cmp r3, #68 ; 0x44 8035dda: d034 beq.n 8035e46 8035ddc: 4b3b ldr r3, [pc, #236] ; (8035ecc ) 8035dde: 781b ldrb r3, [r3, #0] 8035de0: b2db uxtb r3, r3 8035de2: 2b00 cmp r3, #0 8035de4: d12f bne.n 8035e46 8035de6: 4b3a ldr r3, [pc, #232] ; (8035ed0 ) 8035de8: 781b ldrb r3, [r3, #0] 8035dea: b2db uxtb r3, r3 8035dec: f083 0301 eor.w r3, r3, #1 8035df0: b2db uxtb r3, r3 8035df2: 2b00 cmp r3, #0 8035df4: d027 beq.n 8035e46 { do { key = readkey(); 8035df6: f7ff ff23 bl 8035c40 8035dfa: 4603 mov r3, r0 8035dfc: 607b str r3, [r7, #4] if(!key) 8035dfe: 687b ldr r3, [r7, #4] 8035e00: 2b00 cmp r3, #0 8035e02: d10d bne.n 8035e20 { if(dreb) 8035e04: 4b2e ldr r3, [pc, #184] ; (8035ec0 ) 8035e06: 681b ldr r3, [r3, #0] 8035e08: 2b00 cmp r3, #0 8035e0a: d005 beq.n 8035e18 dreb--; 8035e0c: 4b2c ldr r3, [pc, #176] ; (8035ec0 ) 8035e0e: 681b ldr r3, [r3, #0] 8035e10: 3b01 subs r3, #1 8035e12: 4a2b ldr r2, [pc, #172] ; (8035ec0 ) 8035e14: 6013 str r3, [r2, #0] 8035e16: e00d b.n 8035e34 else first = 1; 8035e18: 4b2a ldr r3, [pc, #168] ; (8035ec4 ) 8035e1a: 2201 movs r2, #1 8035e1c: 701a strb r2, [r3, #0] 8035e1e: e009 b.n 8035e34 } else { if(dreb < 200000) 8035e20: 4b27 ldr r3, [pc, #156] ; (8035ec0 ) 8035e22: 681b ldr r3, [r3, #0] 8035e24: 4a2b ldr r2, [pc, #172] ; (8035ed4 ) 8035e26: 4293 cmp r3, r2 8035e28: d804 bhi.n 8035e34 dreb++; 8035e2a: 4b25 ldr r3, [pc, #148] ; (8035ec0 ) 8035e2c: 681b ldr r3, [r3, #0] 8035e2e: 3301 adds r3, #1 8035e30: 4a23 ldr r2, [pc, #140] ; (8035ec0 ) 8035e32: 6013 str r3, [r2, #0] } } while((dreb > 0) && (dreb < 200000)); 8035e34: 4b22 ldr r3, [pc, #136] ; (8035ec0 ) 8035e36: 681b ldr r3, [r3, #0] 8035e38: 2b00 cmp r3, #0 8035e3a: d004 beq.n 8035e46 8035e3c: 4b20 ldr r3, [pc, #128] ; (8035ec0 ) 8035e3e: 681b ldr r3, [r3, #0] 8035e40: 4a24 ldr r2, [pc, #144] ; (8035ed4 ) 8035e42: 4293 cmp r3, r2 8035e44: d9d7 bls.n 8035df6 } if(!key) //åñëè êíîïêè îòïóùåíû 8035e46: 687b ldr r3, [r7, #4] 8035e48: 2b00 cmp r3, #0 8035e4a: d104 bne.n 8035e56 { first = 1; //äîñòîâåðíî êíîïêè îòïóùåíû 8035e4c: 4b1d ldr r3, [pc, #116] ; (8035ec4 ) 8035e4e: 2201 movs r2, #1 8035e50: 701a strb r2, [r3, #0] return 0; //âåðíóòü 0 8035e52: 2300 movs r3, #0 8035e54: e02f b.n 8035eb6 } else //èíà÷å { if(first) //îïðåäåëèòü êíîïêó 8035e56: 4b1b ldr r3, [pc, #108] ; (8035ec4 ) 8035e58: 781b ldrb r3, [r3, #0] 8035e5a: 2b00 cmp r3, #0 8035e5c: d00c beq.n 8035e78 { //òîëüêî îäèí ðàç first = 0; //çà íàæàòèå 8035e5e: 4b19 ldr r3, [pc, #100] ; (8035ec4 ) 8035e60: 2200 movs r2, #0 8035e62: 701a strb r2, [r3, #0] repeat = rep = 2000; 8035e64: 4b1c ldr r3, [pc, #112] ; (8035ed8 ) 8035e66: f44f 62fa mov.w r2, #2000 ; 0x7d0 8035e6a: 801a strh r2, [r3, #0] 8035e6c: 4b1a ldr r3, [pc, #104] ; (8035ed8 ) 8035e6e: 881a ldrh r2, [r3, #0] 8035e70: 4b1a ldr r3, [pc, #104] ; (8035edc ) 8035e72: 801a strh r2, [r3, #0] return key; //âåðíóòü â ãëàâíóþ ôóíêöèþ ñîñòîÿíèå êëàâèàòóðû 8035e74: 687b ldr r3, [r7, #4] 8035e76: e01e b.n 8035eb6 } else { if(repeat) 8035e78: 4b18 ldr r3, [pc, #96] ; (8035edc ) 8035e7a: 881b ldrh r3, [r3, #0] 8035e7c: b29b uxth r3, r3 8035e7e: 2b00 cmp r3, #0 8035e80: d001 beq.n 8035e86 return 0; //èìèòàöèÿ ñâîáîäíîé êëàâèàòóðû 8035e82: 2300 movs r3, #0 8035e84: e017 b.n 8035eb6 else { if(rep > 0) 8035e86: 4b14 ldr r3, [pc, #80] ; (8035ed8 ) 8035e88: 881b ldrh r3, [r3, #0] 8035e8a: 2b00 cmp r3, #0 8035e8c: d006 beq.n 8035e9c rep >>= 1; 8035e8e: 4b12 ldr r3, [pc, #72] ; (8035ed8 ) 8035e90: 881b ldrh r3, [r3, #0] 8035e92: 085b lsrs r3, r3, #1 8035e94: b29a uxth r2, r3 8035e96: 4b10 ldr r3, [pc, #64] ; (8035ed8 ) 8035e98: 801a strh r2, [r3, #0] 8035e9a: e002 b.n 8035ea2 else rep = 100; 8035e9c: 4b0e ldr r3, [pc, #56] ; (8035ed8 ) 8035e9e: 2264 movs r2, #100 ; 0x64 8035ea0: 801a strh r2, [r3, #0] repeat = rep; 8035ea2: 4b0d ldr r3, [pc, #52] ; (8035ed8 ) 8035ea4: 881a ldrh r2, [r3, #0] 8035ea6: 4b0d ldr r3, [pc, #52] ; (8035edc ) 8035ea8: 801a strh r2, [r3, #0] if(key == KEY_PW) 8035eaa: 687b ldr r3, [r7, #4] 8035eac: 2b01 cmp r3, #1 8035eae: d101 bne.n 8035eb4 return 0; 8035eb0: 2300 movs r3, #0 8035eb2: e000 b.n 8035eb6 return key; 8035eb4: 687b ldr r3, [r7, #4] } } } } 8035eb6: 4618 mov r0, r3 8035eb8: 3708 adds r7, #8 8035eba: 46bd mov sp, r7 8035ebc: bd80 pop {r7, pc} 8035ebe: bf00 nop 8035ec0: 20020fd4 .word 0x20020fd4 8035ec4: 20020072 .word 0x20020072 8035ec8: 20020fc5 .word 0x20020fc5 8035ecc: 20021b73 .word 0x20021b73 8035ed0: 20021b72 .word 0x20021b72 8035ed4: 00030d3f .word 0x00030d3f 8035ed8: 20020074 .word 0x20020074 8035edc: 20020fc8 .word 0x20020fc8 08035ee0 : void keyIns(void) { 8035ee0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 8035ee4: b0b3 sub sp, #204 ; 0xcc 8035ee6: 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}; 8035ee8: f04f 0300 mov.w r3, #0 8035eec: 613b str r3, [r7, #16] 8035eee: f04f 0300 mov.w r3, #0 8035ef2: 617b str r3, [r7, #20] 8035ef4: f04f 0300 mov.w r3, #0 8035ef8: 61bb str r3, [r7, #24] float32_t ff[3] = {0, 0, 0}; 8035efa: f04f 0300 mov.w r3, #0 8035efe: 607b str r3, [r7, #4] 8035f00: f04f 0300 mov.w r3, #0 8035f04: 60bb str r3, [r7, #8] 8035f06: f04f 0300 mov.w r3, #0 8035f0a: 60fb str r3, [r7, #12] float64_t f64; uint8_t tmp8; key = KEY_STATE; 8035f0c: 4bd5 ldr r3, [pc, #852] ; (8036264 ) 8035f0e: 681b ldr r3, [r3, #0] 8035f10: f8c7 30ac str.w r3, [r7, #172] ; 0xac KEY_STATE = 0; 8035f14: 4bd3 ldr r3, [pc, #844] ; (8036264 ) 8035f16: 2200 movs r2, #0 8035f18: 601a str r2, [r3, #0] if(key) 8035f1a: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 8035f1e: 2b00 cmp r3, #0 8035f20: f01e 8423 beq.w 805476a { TIMEOUT_OFF = min15; 8035f24: 4bd0 ldr r3, [pc, #832] ; (8036268 ) 8035f26: f44f 12e1 mov.w r2, #1843200 ; 0x1c2000 8035f2a: 601a str r2, [r3, #0] TIMEOUT_OFF2 = sec10; 8035f2c: 4bcf ldr r3, [pc, #828] ; (803626c ) 8035f2e: f44f 42a0 mov.w r2, #20480 ; 0x5000 8035f32: 601a str r2, [r3, #0] if(DrawStatus) 8035f34: 4bce ldr r3, [pc, #824] ; (8036270 ) 8035f36: 781b ldrb r3, [r3, #0] 8035f38: b2db uxtb r3, r3 8035f3a: 2b00 cmp r3, #0 8035f3c: d016 beq.n 8035f6c { DrawStatus = false; 8035f3e: 4bcc ldr r3, [pc, #816] ; (8036270 ) 8035f40: 2200 movs r2, #0 8035f42: 701a strb r2, [r3, #0] timerStatus = 0; 8035f44: 4bcb ldr r3, [pc, #812] ; (8036274 ) 8035f46: 2200 movs r2, #0 8035f48: 801a strh r2, [r3, #0] STATUS = AP_OK; 8035f4a: 4bcb ldr r3, [pc, #812] ; (8036278 ) 8035f4c: 2200 movs r2, #0 8035f4e: 601a str r2, [r3, #0] ThisFileExist = false; 8035f50: 4bca ldr r3, [pc, #808] ; (803627c ) 8035f52: 2200 movs r2, #0 8035f54: 701a strb r2, [r3, #0] SavingPassed = false; 8035f56: 4bca ldr r3, [pc, #808] ; (8036280 ) 8035f58: 2200 movs r2, #0 8035f5a: 701a strb r2, [r3, #0] SavingUnable = false; 8035f5c: 4bc9 ldr r3, [pc, #804] ; (8036284 ) 8035f5e: 2200 movs r2, #0 8035f60: 701a strb r2, [r3, #0] AddToFile = false; 8035f62: 4bc9 ldr r3, [pc, #804] ; (8036288 ) 8035f64: 2200 movs r2, #0 8035f66: 701a strb r2, [r3, #0] return; 8035f68: f01e bbff b.w 805476a } if(menu == POWER_OFF2) 8035f6c: 4bc7 ldr r3, [pc, #796] ; (803628c ) 8035f6e: 781b ldrb r3, [r3, #0] 8035f70: b2db uxtb r3, r3 8035f72: 2b44 cmp r3, #68 ; 0x44 8035f74: d111 bne.n 8035f9a { if(ChargerIsConnect == true) 8035f76: 4bc6 ldr r3, [pc, #792] ; (8036290 ) 8035f78: 781b ldrb r3, [r3, #0] 8035f7a: b2db uxtb r3, r3 8035f7c: 2b00 cmp r3, #0 8035f7e: f01e 83e7 beq.w 8054750 { menu = POWER_OFF; 8035f82: 4bc2 ldr r3, [pc, #776] ; (803628c ) 8035f84: 2243 movs r2, #67 ; 0x43 8035f86: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 8035f88: 4bb8 ldr r3, [pc, #736] ; (803626c ) 8035f8a: f44f 42a0 mov.w r2, #20480 ; 0x5000 8035f8e: 601a str r2, [r3, #0] needDispOn = true; 8035f90: 4bc0 ldr r3, [pc, #768] ; (8036294 ) 8035f92: 2201 movs r2, #1 8035f94: 701a strb r2, [r3, #0] } return; 8035f96: f01e bbdb b.w 8054750 } switch(key) 8035f9a: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 8035f9e: 3b01 subs r3, #1 8035fa0: 2b3f cmp r3, #63 ; 0x3f 8035fa2: f21e 83e2 bhi.w 805476a 8035fa6: a201 add r2, pc, #4 ; (adr r2, 8035fac ) 8035fa8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8035fac: 0805476b .word 0x0805476b 8035fb0: 080360ad .word 0x080360ad 8035fb4: 0805476b .word 0x0805476b 8035fb8: 0803d159 .word 0x0803d159 8035fbc: 0805476b .word 0x0805476b 8035fc0: 0805476b .word 0x0805476b 8035fc4: 0805476b .word 0x0805476b 8035fc8: 080475a1 .word 0x080475a1 8035fcc: 0805476b .word 0x0805476b 8035fd0: 0805476b .word 0x0805476b 8035fd4: 0805476b .word 0x0805476b 8035fd8: 0805476b .word 0x0805476b 8035fdc: 0805476b .word 0x0805476b 8035fe0: 0805476b .word 0x0805476b 8035fe4: 0805476b .word 0x0805476b 8035fe8: 08044d9d .word 0x08044d9d 8035fec: 0805476b .word 0x0805476b 8035ff0: 0805476b .word 0x0805476b 8035ff4: 0805476b .word 0x0805476b 8035ff8: 0805476b .word 0x0805476b 8035ffc: 0805476b .word 0x0805476b 8036000: 0805476b .word 0x0805476b 8036004: 0805476b .word 0x0805476b 8036008: 0805476b .word 0x0805476b 803600c: 0805476b .word 0x0805476b 8036010: 0805476b .word 0x0805476b 8036014: 0805476b .word 0x0805476b 8036018: 0805476b .word 0x0805476b 803601c: 0805476b .word 0x0805476b 8036020: 0805476b .word 0x0805476b 8036024: 0805476b .word 0x0805476b 8036028: 0804aa57 .word 0x0804aa57 803602c: 0805476b .word 0x0805476b 8036030: 0805476b .word 0x0805476b 8036034: 0805476b .word 0x0805476b 8036038: 0805476b .word 0x0805476b 803603c: 0805476b .word 0x0805476b 8036040: 0805476b .word 0x0805476b 8036044: 0805476b .word 0x0805476b 8036048: 0805476b .word 0x0805476b 803604c: 0805476b .word 0x0805476b 8036050: 0805476b .word 0x0805476b 8036054: 0805476b .word 0x0805476b 8036058: 0805476b .word 0x0805476b 803605c: 0805476b .word 0x0805476b 8036060: 0805476b .word 0x0805476b 8036064: 0805476b .word 0x0805476b 8036068: 0805476b .word 0x0805476b 803606c: 0805476b .word 0x0805476b 8036070: 0805476b .word 0x0805476b 8036074: 0805476b .word 0x0805476b 8036078: 0805476b .word 0x0805476b 803607c: 0805476b .word 0x0805476b 8036080: 0805476b .word 0x0805476b 8036084: 0805476b .word 0x0805476b 8036088: 0805476b .word 0x0805476b 803608c: 0805476b .word 0x0805476b 8036090: 0805476b .word 0x0805476b 8036094: 0805476b .word 0x0805476b 8036098: 0805476b .word 0x0805476b 803609c: 0805476b .word 0x0805476b 80360a0: 0805476b .word 0x0805476b 80360a4: 0805476b .word 0x0805476b 80360a8: 0804a2c7 .word 0x0804a2c7 { case KEY_UP://TODO KEY UP switch(menu) 80360ac: 4b77 ldr r3, [pc, #476] ; (803628c ) 80360ae: 781b ldrb r3, [r3, #0] 80360b0: b2db uxtb r3, r3 80360b2: 2b47 cmp r3, #71 ; 0x47 80360b4: f21e 834e bhi.w 8054754 80360b8: a201 add r2, pc, #4 ; (adr r2, 80360c0 ) 80360ba: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80360be: bf00 nop 80360c0: 08037983 .word 0x08037983 80360c4: 0803814f .word 0x0803814f 80360c8: 0803817f .word 0x0803817f 80360cc: 0803d02d .word 0x0803d02d 80360d0: 0803c1e1 .word 0x0803c1e1 80360d4: 08054755 .word 0x08054755 80360d8: 080395bb .word 0x080395bb 80360dc: 08039f8d .word 0x08039f8d 80360e0: 0803b4a3 .word 0x0803b4a3 80360e4: 08054755 .word 0x08054755 80360e8: 0803c4cd .word 0x0803c4cd 80360ec: 08054755 .word 0x08054755 80360f0: 08054755 .word 0x08054755 80360f4: 08038627 .word 0x08038627 80360f8: 080381d5 .word 0x080381d5 80360fc: 080361e1 .word 0x080361e1 8036100: 0803651d .word 0x0803651d 8036104: 08036543 .word 0x08036543 8036108: 0803cb19 .word 0x0803cb19 803610c: 08054755 .word 0x08054755 8036110: 0803cf15 .word 0x0803cf15 8036114: 0803cf37 .word 0x0803cf37 8036118: 0803cf89 .word 0x0803cf89 803611c: 0803cfdb .word 0x0803cfdb 8036120: 0803cdff .word 0x0803cdff 8036124: 0803cec3 .word 0x0803cec3 8036128: 08054755 .word 0x08054755 803612c: 08054755 .word 0x08054755 8036130: 08037be9 .word 0x08037be9 8036134: 08037b6f .word 0x08037b6f 8036138: 08054755 .word 0x08054755 803613c: 08037983 .word 0x08037983 8036140: 08037fc1 .word 0x08037fc1 8036144: 08037ddb .word 0x08037ddb 8036148: 08037e7d .word 0x08037e7d 803614c: 08037f1f .word 0x08037f1f 8036150: 08037cf1 .word 0x08037cf1 8036154: 08037851 .word 0x08037851 8036158: 0803788b .word 0x0803788b 803615c: 0803780d .word 0x0803780d 8036160: 08037c8b .word 0x08037c8b 8036164: 08038031 .word 0x08038031 8036168: 08038099 .word 0x08038099 803616c: 080380ed .word 0x080380ed 8036170: 080380ed .word 0x080380ed 8036174: 080380ed .word 0x080380ed 8036178: 08054755 .word 0x08054755 803617c: 080380ed .word 0x080380ed 8036180: 080380ed .word 0x080380ed 8036184: 080380ed .word 0x080380ed 8036188: 080380ed .word 0x080380ed 803618c: 080380ed .word 0x080380ed 8036190: 0803d07d .word 0x0803d07d 8036194: 08054755 .word 0x08054755 8036198: 08054755 .word 0x08054755 803619c: 08054755 .word 0x08054755 80361a0: 08054755 .word 0x08054755 80361a4: 08054755 .word 0x08054755 80361a8: 08054755 .word 0x08054755 80361ac: 08054755 .word 0x08054755 80361b0: 08054755 .word 0x08054755 80361b4: 08054755 .word 0x08054755 80361b8: 08054755 .word 0x08054755 80361bc: 08054755 .word 0x08054755 80361c0: 08054755 .word 0x08054755 80361c4: 08054755 .word 0x08054755 80361c8: 08054755 .word 0x08054755 80361cc: 08054755 .word 0x08054755 80361d0: 08054755 .word 0x08054755 80361d4: 08037833 .word 0x08037833 80361d8: 0803783d .word 0x0803783d 80361dc: 08037847 .word 0x08037847 { case PARAM_DIAGN: focused = false; 80361e0: 4b2d ldr r3, [pc, #180] ; (8036298 ) 80361e2: 2200 movs r2, #0 80361e4: 701a strb r2, [r3, #0] if(menupos == DiagUs) 80361e6: 4b2d ldr r3, [pc, #180] ; (803629c ) 80361e8: 781b ldrb r3, [r3, #0] 80361ea: b2db uxtb r3, r3 80361ec: 2b00 cmp r3, #0 80361ee: d104 bne.n 80361fa menupos = DiagSaveToFile; 80361f0: 4b2a ldr r3, [pc, #168] ; (803629c ) 80361f2: 2204 movs r2, #4 80361f4: 701a strb r2, [r3, #0] pardata.MAX_VAL = (float32_t) k; pardata.MAX_VAL *= 0.1f; pardata.MAX_VAL += 0.05f; } break; 80361f6: f006 bf53 b.w 803d0a0 if(menupos == DiagSaveToFile) 80361fa: 4b28 ldr r3, [pc, #160] ; (803629c ) 80361fc: 781b ldrb r3, [r3, #0] 80361fe: b2db uxtb r3, r3 8036200: 2b04 cmp r3, #4 8036202: d110 bne.n 8036226 if(pardata.OPTIONS & 0x4) 8036204: 4b26 ldr r3, [pc, #152] ; (80362a0 ) 8036206: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803620a: f003 0304 and.w r3, r3, #4 803620e: 2b00 cmp r3, #0 8036210: d004 beq.n 803621c menupos = DiagAutoKu; 8036212: 4b22 ldr r3, [pc, #136] ; (803629c ) 8036214: 2202 movs r2, #2 8036216: 701a strb r2, [r3, #0] break; 8036218: f006 bf42 b.w 803d0a0 else menupos = DiagMax_ALL; 803621c: 4b1f ldr r3, [pc, #124] ; (803629c ) 803621e: 2203 movs r2, #3 8036220: 701a strb r2, [r3, #0] break; 8036222: f006 bf3d b.w 803d0a0 if(menupos == DiagMax_ALL) 8036226: 4b1d ldr r3, [pc, #116] ; (803629c ) 8036228: 781b ldrb r3, [r3, #0] 803622a: b2db uxtb r3, r3 803622c: 2b03 cmp r3, #3 803622e: d104 bne.n 803623a menupos = DiagAutoKu; 8036230: 4b1a ldr r3, [pc, #104] ; (803629c ) 8036232: 2202 movs r2, #2 8036234: 701a strb r2, [r3, #0] break; 8036236: f006 bf33 b.w 803d0a0 if(menupos == DiagAutoKu) 803623a: 4b18 ldr r3, [pc, #96] ; (803629c ) 803623c: 781b ldrb r3, [r3, #0] 803623e: b2db uxtb r3, r3 8036240: 2b02 cmp r3, #2 8036242: d104 bne.n 803624e menupos = DiagAverage; 8036244: 4b15 ldr r3, [pc, #84] ; (803629c ) 8036246: 2201 movs r2, #1 8036248: 701a strb r2, [r3, #0] break; 803624a: f006 bf29 b.w 803d0a0 if(menupos == DiagAverage) 803624e: 4b13 ldr r3, [pc, #76] ; (803629c ) 8036250: 781b ldrb r3, [r3, #0] 8036252: b2db uxtb r3, r3 8036254: 2b01 cmp r3, #1 8036256: d125 bne.n 80362a4 menupos = DiagUs; 8036258: 4b10 ldr r3, [pc, #64] ; (803629c ) 803625a: 2200 movs r2, #0 803625c: 701a strb r2, [r3, #0] break; 803625e: f006 bf1f b.w 803d0a0 8036262: bf00 nop 8036264: 20020fcc .word 0x20020fcc 8036268: 200209cc .word 0x200209cc 803626c: 200209d0 .word 0x200209d0 8036270: 20020df2 .word 0x20020df2 8036274: 200216dc .word 0x200216dc 8036278: 20020dec .word 0x20020dec 803627c: 20020df5 .word 0x20020df5 8036280: 20020df4 .word 0x20020df4 8036284: 20020df6 .word 0x20020df6 8036288: 20020de8 .word 0x20020de8 803628c: 20020fc5 .word 0x20020fc5 8036290: 20021b72 .word 0x20021b72 8036294: 20021b74 .word 0x20021b74 8036298: 20020fd0 .word 0x20020fd0 803629c: 20020070 .word 0x20020070 80362a0: 20023eb8 .word 0x20023eb8 if((menupos >= DiagMax_IDT) && (menupos <= DiagMax_IKD)) 80362a4: 4bbe ldr r3, [pc, #760] ; (80365a0 ) 80362a6: 781b ldrb r3, [r3, #0] 80362a8: b2db uxtb r3, r3 80362aa: 2b04 cmp r3, #4 80362ac: f246 86f8 bls.w 803d0a0 80362b0: 4bbb ldr r3, [pc, #748] ; (80365a0 ) 80362b2: 781b ldrb r3, [r3, #0] 80362b4: b2db uxtb r3, r3 80362b6: 2b0a cmp r3, #10 80362b8: f206 86f2 bhi.w 803d0a0 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 80362bc: 4bb9 ldr r3, [pc, #740] ; (80365a4 ) 80362be: edd3 7a06 vldr s15, [r3, #24] 80362c2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80362c6: ee67 7a87 vmul.f32 s15, s15, s14 80362ca: eefc 7ae7 vcvt.u32.f32 s15, s15 80362ce: ee17 3a90 vmov r3, s15 80362d2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80362d6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80362da: 095b lsrs r3, r3, #5 80362dc: 4ab2 ldr r2, [pc, #712] ; (80365a8 ) 80362de: fba2 2303 umull r2, r3, r2, r3 80362e2: 09db lsrs r3, r3, #7 80362e4: b2db uxtb r3, r3 80362e6: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80362ea: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80362ee: 0953 lsrs r3, r2, #5 80362f0: 49ad ldr r1, [pc, #692] ; (80365a8 ) 80362f2: fba1 1303 umull r1, r3, r1, r3 80362f6: 09db lsrs r3, r3, #7 80362f8: 49ac ldr r1, [pc, #688] ; (80365ac ) 80362fa: fb01 f303 mul.w r3, r1, r3 80362fe: 1ad3 subs r3, r2, r3 8036300: 4aab ldr r2, [pc, #684] ; (80365b0 ) 8036302: fba2 2303 umull r2, r3, r2, r3 8036306: 0b5b lsrs r3, r3, #13 8036308: b2db uxtb r3, r3 803630a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803630e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036312: 0953 lsrs r3, r2, #5 8036314: 49a4 ldr r1, [pc, #656] ; (80365a8 ) 8036316: fba1 1303 umull r1, r3, r1, r3 803631a: 09db lsrs r3, r3, #7 803631c: 49a3 ldr r1, [pc, #652] ; (80365ac ) 803631e: fb01 f303 mul.w r3, r1, r3 8036322: 1ad3 subs r3, r2, r3 8036324: 4aa2 ldr r2, [pc, #648] ; (80365b0 ) 8036326: fba2 1203 umull r1, r2, r2, r3 803632a: 0b52 lsrs r2, r2, #13 803632c: f242 7110 movw r1, #10000 ; 0x2710 8036330: fb01 f202 mul.w r2, r1, r2 8036334: 1a9a subs r2, r3, r2 8036336: 4b9f ldr r3, [pc, #636] ; (80365b4 ) 8036338: fba3 2302 umull r2, r3, r3, r2 803633c: 099b lsrs r3, r3, #6 803633e: b2db uxtb r3, r3 8036340: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8036344: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036348: 095a lsrs r2, r3, #5 803634a: 4997 ldr r1, [pc, #604] ; (80365a8 ) 803634c: fba1 1202 umull r1, r2, r1, r2 8036350: 09d2 lsrs r2, r2, #7 8036352: 4996 ldr r1, [pc, #600] ; (80365ac ) 8036354: fb01 f202 mul.w r2, r1, r2 8036358: 1a9a subs r2, r3, r2 803635a: 4b95 ldr r3, [pc, #596] ; (80365b0 ) 803635c: fba3 1302 umull r1, r3, r3, r2 8036360: 0b5b lsrs r3, r3, #13 8036362: f242 7110 movw r1, #10000 ; 0x2710 8036366: fb01 f303 mul.w r3, r1, r3 803636a: 1ad3 subs r3, r2, r3 803636c: 4a91 ldr r2, [pc, #580] ; (80365b4 ) 803636e: fba2 1203 umull r1, r2, r2, r3 8036372: 0992 lsrs r2, r2, #6 8036374: f44f 717a mov.w r1, #1000 ; 0x3e8 8036378: fb01 f202 mul.w r2, r1, r2 803637c: 1a9a subs r2, r3, r2 803637e: 4b8e ldr r3, [pc, #568] ; (80365b8 ) 8036380: fba3 2302 umull r2, r3, r3, r2 8036384: 095b lsrs r3, r3, #5 8036386: b2db uxtb r3, r3 8036388: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803638c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036390: 0953 lsrs r3, r2, #5 8036392: 4985 ldr r1, [pc, #532] ; (80365a8 ) 8036394: fba1 1303 umull r1, r3, r1, r3 8036398: 09db lsrs r3, r3, #7 803639a: 4984 ldr r1, [pc, #528] ; (80365ac ) 803639c: fb01 f303 mul.w r3, r1, r3 80363a0: 1ad3 subs r3, r2, r3 80363a2: 4a83 ldr r2, [pc, #524] ; (80365b0 ) 80363a4: fba2 1203 umull r1, r2, r2, r3 80363a8: 0b52 lsrs r2, r2, #13 80363aa: f242 7110 movw r1, #10000 ; 0x2710 80363ae: fb01 f202 mul.w r2, r1, r2 80363b2: 1a9a subs r2, r3, r2 80363b4: 4b7f ldr r3, [pc, #508] ; (80365b4 ) 80363b6: fba3 1302 umull r1, r3, r3, r2 80363ba: 099b lsrs r3, r3, #6 80363bc: f44f 717a mov.w r1, #1000 ; 0x3e8 80363c0: fb01 f303 mul.w r3, r1, r3 80363c4: 1ad3 subs r3, r2, r3 80363c6: 4a7c ldr r2, [pc, #496] ; (80365b8 ) 80363c8: fba2 1203 umull r1, r2, r2, r3 80363cc: 0952 lsrs r2, r2, #5 80363ce: 2164 movs r1, #100 ; 0x64 80363d0: fb01 f202 mul.w r2, r1, r2 80363d4: 1a9a subs r2, r3, r2 80363d6: 4b79 ldr r3, [pc, #484] ; (80365bc ) 80363d8: fba3 2302 umull r2, r3, r3, r2 80363dc: 08db lsrs r3, r3, #3 80363de: b2db uxtb r3, r3 80363e0: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80363e4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80363e8: 0953 lsrs r3, r2, #5 80363ea: 496f ldr r1, [pc, #444] ; (80365a8 ) 80363ec: fba1 1303 umull r1, r3, r1, r3 80363f0: 09db lsrs r3, r3, #7 80363f2: 496e ldr r1, [pc, #440] ; (80365ac ) 80363f4: fb01 f303 mul.w r3, r1, r3 80363f8: 1ad3 subs r3, r2, r3 80363fa: 4a6d ldr r2, [pc, #436] ; (80365b0 ) 80363fc: fba2 1203 umull r1, r2, r2, r3 8036400: 0b52 lsrs r2, r2, #13 8036402: f242 7110 movw r1, #10000 ; 0x2710 8036406: fb01 f202 mul.w r2, r1, r2 803640a: 1a9a subs r2, r3, r2 803640c: 4b69 ldr r3, [pc, #420] ; (80365b4 ) 803640e: fba3 1302 umull r1, r3, r3, r2 8036412: 099b lsrs r3, r3, #6 8036414: f44f 717a mov.w r1, #1000 ; 0x3e8 8036418: fb01 f303 mul.w r3, r1, r3 803641c: 1ad3 subs r3, r2, r3 803641e: 4a66 ldr r2, [pc, #408] ; (80365b8 ) 8036420: fba2 1203 umull r1, r2, r2, r3 8036424: 0952 lsrs r2, r2, #5 8036426: 2164 movs r1, #100 ; 0x64 8036428: fb01 f202 mul.w r2, r1, r2 803642c: 1a9a subs r2, r3, r2 803642e: 4b63 ldr r3, [pc, #396] ; (80365bc ) 8036430: fba3 1302 umull r1, r3, r3, r2 8036434: 08d9 lsrs r1, r3, #3 8036436: 460b mov r3, r1 8036438: 009b lsls r3, r3, #2 803643a: 440b add r3, r1 803643c: 005b lsls r3, r3, #1 803643e: 1ad1 subs r1, r2, r3 8036440: b2cb uxtb r3, r1 8036442: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8036446: 4b56 ldr r3, [pc, #344] ; (80365a0 ) 8036448: 781b ldrb r3, [r3, #0] 803644a: b2db uxtb r3, r3 803644c: 3b05 subs r3, #5 803644e: 2b05 cmp r3, #5 8036450: d836 bhi.n 80364c0 8036452: a201 add r2, pc, #4 ; (adr r2, 8036458 ) 8036454: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8036458: 08036471 .word 0x08036471 803645c: 0803647f .word 0x0803647f 8036460: 0803648f .word 0x0803648f 8036464: 0803649d .word 0x0803649d 8036468: 080364a9 .word 0x080364a9 803646c: 080364b5 .word 0x080364b5 k += 100000; 8036470: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036474: 4b4d ldr r3, [pc, #308] ; (80365ac ) 8036476: 4413 add r3, r2 8036478: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803647c: e020 b.n 80364c0 k += 10000; 803647e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036482: f242 7310 movw r3, #10000 ; 0x2710 8036486: 4413 add r3, r2 8036488: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803648c: e018 b.n 80364c0 k += 1000; 803648e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036492: f503 737a add.w r3, r3, #1000 ; 0x3e8 8036496: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803649a: e011 b.n 80364c0 k += 100; 803649c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80364a0: 3364 adds r3, #100 ; 0x64 80364a2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80364a6: e00b b.n 80364c0 k += 10; 80364a8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80364ac: 330a adds r3, #10 80364ae: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80364b2: e005 b.n 80364c0 k++; 80364b4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80364b8: 3301 adds r3, #1 80364ba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80364be: bf00 nop if(k > 999999) k = 999999; 80364c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80364c4: 4a3e ldr r2, [pc, #248] ; (80365c0 ) 80364c6: 4293 cmp r3, r2 80364c8: d902 bls.n 80364d0 80364ca: 4b3d ldr r3, [pc, #244] ; (80365c0 ) 80364cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 80364d0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80364d4: 2b00 cmp r3, #0 80364d6: d102 bne.n 80364de 80364d8: 2301 movs r3, #1 80364da: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 80364de: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80364e2: ee07 3a90 vmov s15, r3 80364e6: eef8 7a67 vcvt.f32.u32 s15, s15 80364ea: 4b2e ldr r3, [pc, #184] ; (80365a4 ) 80364ec: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 80364f0: 4b2c ldr r3, [pc, #176] ; (80365a4 ) 80364f2: edd3 7a06 vldr s15, [r3, #24] 80364f6: ed9f 7a33 vldr s14, [pc, #204] ; 80365c4 80364fa: ee67 7a87 vmul.f32 s15, s15, s14 80364fe: 4b29 ldr r3, [pc, #164] ; (80365a4 ) 8036500: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 8036504: 4b27 ldr r3, [pc, #156] ; (80365a4 ) 8036506: edd3 7a06 vldr s15, [r3, #24] 803650a: ed9f 7a2f vldr s14, [pc, #188] ; 80365c8 803650e: ee77 7a87 vadd.f32 s15, s15, s14 8036512: 4b24 ldr r3, [pc, #144] ; (80365a4 ) 8036514: edc3 7a06 vstr s15, [r3, #24] break; 8036518: f006 bdc2 b.w 803d0a0 case PARAM_DIAGN_1: if(menupos > Diag1) menupos--; 803651c: 4b20 ldr r3, [pc, #128] ; (80365a0 ) 803651e: 781b ldrb r3, [r3, #0] 8036520: b2db uxtb r3, r3 8036522: 2b00 cmp r3, #0 8036524: d008 beq.n 8036538 8036526: 4b1e ldr r3, [pc, #120] ; (80365a0 ) 8036528: 781b ldrb r3, [r3, #0] 803652a: b2db uxtb r3, r3 803652c: 3b01 subs r3, #1 803652e: b2da uxtb r2, r3 8036530: 4b1b ldr r3, [pc, #108] ; (80365a0 ) 8036532: 701a strb r2, [r3, #0] else menupos = Diag8; break; 8036534: f006 be03 b.w 803d13e else menupos = Diag8; 8036538: 4b19 ldr r3, [pc, #100] ; (80365a0 ) 803653a: 2207 movs r2, #7 803653c: 701a strb r2, [r3, #0] break; 803653e: f006 bdfe b.w 803d13e case PARAM_DIAGN_2: focused = false; 8036542: 4b22 ldr r3, [pc, #136] ; (80365cc ) 8036544: 2200 movs r2, #0 8036546: 701a strb r2, [r3, #0] if((menupos >= DiagUs1) && (menupos <= DiagOp1)) 8036548: 4b15 ldr r3, [pc, #84] ; (80365a0 ) 803654a: 781b ldrb r3, [r3, #0] 803654c: b2db uxtb r3, r3 803654e: 2b00 cmp r3, #0 8036550: d042 beq.n 80365d8 8036552: 4b13 ldr r3, [pc, #76] ; (80365a0 ) 8036554: 781b ldrb r3, [r3, #0] 8036556: b2db uxtb r3, r3 8036558: 2b02 cmp r3, #2 803655a: d83d bhi.n 80365d8 { CURR_USL = Us1; 803655c: 4b1c ldr r3, [pc, #112] ; (80365d0 ) 803655e: 2200 movs r2, #0 8036560: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 8036562: 4b1c ldr r3, [pc, #112] ; (80365d4 ) 8036564: 781b ldrb r3, [r3, #0] 8036566: b2db uxtb r3, r3 8036568: 4618 mov r0, r3 803656a: 4b19 ldr r3, [pc, #100] ; (80365d0 ) 803656c: 781b ldrb r3, [r3, #0] 803656e: b2db uxtb r3, r3 8036570: 4619 mov r1, r3 8036572: 4a0c ldr r2, [pc, #48] ; (80365a4 ) 8036574: 0083 lsls r3, r0, #2 8036576: 4413 add r3, r2 8036578: 440b add r3, r1 803657a: f503 730f add.w r3, r3, #572 ; 0x23c 803657e: 781b ldrb r3, [r3, #0] 8036580: b2db uxtb r3, r3 8036582: f003 0307 and.w r3, r3, #7 8036586: 2b00 cmp r3, #0 8036588: d004 beq.n 8036594 menupos = Diag_A; 803658a: 4b05 ldr r3, [pc, #20] ; (80365a0 ) 803658c: 220c movs r2, #12 803658e: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 8036590: f001 b93a b.w 8037808 else menupos = DiagName; 8036594: 4b02 ldr r3, [pc, #8] ; (80365a0 ) 8036596: 2206 movs r2, #6 8036598: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 803659a: f001 b935 b.w 8037808 803659e: bf00 nop 80365a0: 20020070 .word 0x20020070 80365a4: 20023eb8 .word 0x20023eb8 80365a8: 0a7c5ac5 .word 0x0a7c5ac5 80365ac: 000186a0 .word 0x000186a0 80365b0: d1b71759 .word 0xd1b71759 80365b4: 10624dd3 .word 0x10624dd3 80365b8: 51eb851f .word 0x51eb851f 80365bc: cccccccd .word 0xcccccccd 80365c0: 000f423f .word 0x000f423f 80365c4: 3dcccccd .word 0x3dcccccd 80365c8: 3d4ccccd .word 0x3d4ccccd 80365cc: 20020fd0 .word 0x20020fd0 80365d0: 2002105f .word 0x2002105f 80365d4: 2002105d .word 0x2002105d } else if((menupos >= DiagUs2) && (menupos <= DiagOp2)) 80365d8: 4b5d ldr r3, [pc, #372] ; (8036750 ) 80365da: 781b ldrb r3, [r3, #0] 80365dc: b2db uxtb r3, r3 80365de: 2b02 cmp r3, #2 80365e0: d925 bls.n 803662e 80365e2: 4b5b ldr r3, [pc, #364] ; (8036750 ) 80365e4: 781b ldrb r3, [r3, #0] 80365e6: b2db uxtb r3, r3 80365e8: 2b04 cmp r3, #4 80365ea: d820 bhi.n 803662e { CURR_USL = Us2; 80365ec: 4b59 ldr r3, [pc, #356] ; (8036754 ) 80365ee: 2201 movs r2, #1 80365f0: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 80365f2: 4b59 ldr r3, [pc, #356] ; (8036758 ) 80365f4: 781b ldrb r3, [r3, #0] 80365f6: b2db uxtb r3, r3 80365f8: 4618 mov r0, r3 80365fa: 4b56 ldr r3, [pc, #344] ; (8036754 ) 80365fc: 781b ldrb r3, [r3, #0] 80365fe: b2db uxtb r3, r3 8036600: 4619 mov r1, r3 8036602: 4a56 ldr r2, [pc, #344] ; (803675c ) 8036604: 0083 lsls r3, r0, #2 8036606: 4413 add r3, r2 8036608: 440b add r3, r1 803660a: f503 730f add.w r3, r3, #572 ; 0x23c 803660e: 781b ldrb r3, [r3, #0] 8036610: b2db uxtb r3, r3 8036612: f003 0307 and.w r3, r3, #7 8036616: 2b00 cmp r3, #0 8036618: d004 beq.n 8036624 menupos = Diag_A; 803661a: 4b4d ldr r3, [pc, #308] ; (8036750 ) 803661c: 220c movs r2, #12 803661e: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 8036620: f001 b8f2 b.w 8037808 else menupos = DiagName; 8036624: 4b4a ldr r3, [pc, #296] ; (8036750 ) 8036626: 2206 movs r2, #6 8036628: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 803662a: f001 b8ed b.w 8037808 } else if(menupos == DiagUs3) 803662e: 4b48 ldr r3, [pc, #288] ; (8036750 ) 8036630: 781b ldrb r3, [r3, #0] 8036632: b2db uxtb r3, r3 8036634: 2b05 cmp r3, #5 8036636: d120 bne.n 803667a { CURR_USL = Us3; 8036638: 4b46 ldr r3, [pc, #280] ; (8036754 ) 803663a: 2202 movs r2, #2 803663c: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 803663e: 4b46 ldr r3, [pc, #280] ; (8036758 ) 8036640: 781b ldrb r3, [r3, #0] 8036642: b2db uxtb r3, r3 8036644: 4618 mov r0, r3 8036646: 4b43 ldr r3, [pc, #268] ; (8036754 ) 8036648: 781b ldrb r3, [r3, #0] 803664a: b2db uxtb r3, r3 803664c: 4619 mov r1, r3 803664e: 4a43 ldr r2, [pc, #268] ; (803675c ) 8036650: 0083 lsls r3, r0, #2 8036652: 4413 add r3, r2 8036654: 440b add r3, r1 8036656: f503 730f add.w r3, r3, #572 ; 0x23c 803665a: 781b ldrb r3, [r3, #0] 803665c: b2db uxtb r3, r3 803665e: f003 0307 and.w r3, r3, #7 8036662: 2b00 cmp r3, #0 8036664: d004 beq.n 8036670 menupos = Diag_A; 8036666: 4b3a ldr r3, [pc, #232] ; (8036750 ) 8036668: 220c movs r2, #12 803666a: 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; 803666c: f006 bd1b b.w 803d0a6 else menupos = DiagName; 8036670: 4b37 ldr r3, [pc, #220] ; (8036750 ) 8036672: 2206 movs r2, #6 8036674: 701a strb r2, [r3, #0] break; 8036676: f006 bd16 b.w 803d0a6 if(menupos == Diag_A) 803667a: 4b35 ldr r3, [pc, #212] ; (8036750 ) 803667c: 781b ldrb r3, [r3, #0] 803667e: b2db uxtb r3, r3 8036680: 2b0c cmp r3, #12 8036682: d104 bne.n 803668e menupos = Diag_W; 8036684: 4b32 ldr r3, [pc, #200] ; (8036750 ) 8036686: 220b movs r2, #11 8036688: 701a strb r2, [r3, #0] break; 803668a: f006 bd0c b.w 803d0a6 if(menupos == Diag_W) 803668e: 4b30 ldr r3, [pc, #192] ; (8036750 ) 8036690: 781b ldrb r3, [r3, #0] 8036692: b2db uxtb r3, r3 8036694: 2b0b cmp r3, #11 8036696: d104 bne.n 80366a2 menupos = DiagLP; 8036698: 4b2d ldr r3, [pc, #180] ; (8036750 ) 803669a: 220a movs r2, #10 803669c: 701a strb r2, [r3, #0] break; 803669e: f006 bd02 b.w 803d0a6 if(menupos == DiagLP) 80366a2: 4b2b ldr r3, [pc, #172] ; (8036750 ) 80366a4: 781b ldrb r3, [r3, #0] 80366a6: b2db uxtb r3, r3 80366a8: 2b0a cmp r3, #10 80366aa: d104 bne.n 80366b6 menupos = DiagHP; 80366ac: 4b28 ldr r3, [pc, #160] ; (8036750 ) 80366ae: 2209 movs r2, #9 80366b0: 701a strb r2, [r3, #0] break; 80366b2: f006 bcf8 b.w 803d0a6 if(menupos == DiagHP) 80366b6: 4b26 ldr r3, [pc, #152] ; (8036750 ) 80366b8: 781b ldrb r3, [r3, #0] 80366ba: b2db uxtb r3, r3 80366bc: 2b09 cmp r3, #9 80366be: d104 bne.n 80366ca menupos = DiagValue; 80366c0: 4b23 ldr r3, [pc, #140] ; (8036750 ) 80366c2: 2208 movs r2, #8 80366c4: 701a strb r2, [r3, #0] break; 80366c6: f006 bcee b.w 803d0a6 if(menupos == DiagValue) 80366ca: 4b21 ldr r3, [pc, #132] ; (8036750 ) 80366cc: 781b ldrb r3, [r3, #0] 80366ce: b2db uxtb r3, r3 80366d0: 2b08 cmp r3, #8 80366d2: d104 bne.n 80366de menupos = DiagAVS; 80366d4: 4b1e ldr r3, [pc, #120] ; (8036750 ) 80366d6: 2207 movs r2, #7 80366d8: 701a strb r2, [r3, #0] break; 80366da: f006 bce4 b.w 803d0a6 if(menupos == DiagAVS) 80366de: 4b1c ldr r3, [pc, #112] ; (8036750 ) 80366e0: 781b ldrb r3, [r3, #0] 80366e2: b2db uxtb r3, r3 80366e4: 2b07 cmp r3, #7 80366e6: d104 bne.n 80366f2 menupos = DiagName; 80366e8: 4b19 ldr r3, [pc, #100] ; (8036750 ) 80366ea: 2206 movs r2, #6 80366ec: 701a strb r2, [r3, #0] break; 80366ee: f006 bcda b.w 803d0a6 if(menupos == DiagName) 80366f2: 4b17 ldr r3, [pc, #92] ; (8036750 ) 80366f4: 781b ldrb r3, [r3, #0] 80366f6: b2db uxtb r3, r3 80366f8: 2b06 cmp r3, #6 80366fa: d104 bne.n 8036706 menupos = Ok; 80366fc: 4b14 ldr r3, [pc, #80] ; (8036750 ) 80366fe: 2200 movs r2, #0 8036700: 701a strb r2, [r3, #0] break; 8036702: f006 bcd0 b.w 803d0a6 if(menupos == Ok) 8036706: 4b12 ldr r3, [pc, #72] ; (8036750 ) 8036708: 781b ldrb r3, [r3, #0] 803670a: b2db uxtb r3, r3 803670c: 2b00 cmp r3, #0 803670e: d127 bne.n 8036760 if(CURR_USL == Us1) 8036710: 4b10 ldr r3, [pc, #64] ; (8036754 ) 8036712: 781b ldrb r3, [r3, #0] 8036714: b2db uxtb r3, r3 8036716: 2b00 cmp r3, #0 8036718: d104 bne.n 8036724 menupos = DiagUs1; 803671a: 4b0d ldr r3, [pc, #52] ; (8036750 ) 803671c: 2201 movs r2, #1 803671e: 701a strb r2, [r3, #0] break; 8036720: f006 bcc1 b.w 803d0a6 if(CURR_USL == Us2) 8036724: 4b0b ldr r3, [pc, #44] ; (8036754 ) 8036726: 781b ldrb r3, [r3, #0] 8036728: b2db uxtb r3, r3 803672a: 2b01 cmp r3, #1 803672c: d104 bne.n 8036738 menupos = DiagUs2; 803672e: 4b08 ldr r3, [pc, #32] ; (8036750 ) 8036730: 2203 movs r2, #3 8036732: 701a strb r2, [r3, #0] break; 8036734: f006 bcb7 b.w 803d0a6 if(CURR_USL == Us3) 8036738: 4b06 ldr r3, [pc, #24] ; (8036754 ) 803673a: 781b ldrb r3, [r3, #0] 803673c: b2db uxtb r3, r3 803673e: 2b02 cmp r3, #2 8036740: f046 84b1 bne.w 803d0a6 menupos = DiagUs3; 8036744: 4b02 ldr r3, [pc, #8] ; (8036750 ) 8036746: 2205 movs r2, #5 8036748: 701a strb r2, [r3, #0] break; 803674a: f006 bcac b.w 803d0a6 803674e: bf00 nop 8036750: 20020070 .word 0x20020070 8036754: 2002105f .word 0x2002105f 8036758: 2002105d .word 0x2002105d 803675c: 20023eb8 .word 0x20023eb8 if((menupos >= DiagHP_IDT) && (menupos <= DiagHP_IKD)) 8036760: 4bcf ldr r3, [pc, #828] ; (8036aa0 ) 8036762: 781b ldrb r3, [r3, #0] 8036764: b2db uxtb r3, r3 8036766: 2b0c cmp r3, #12 8036768: f240 82c6 bls.w 8036cf8 803676c: 4bcc ldr r3, [pc, #816] ; (8036aa0 ) 803676e: 781b ldrb r3, [r3, #0] 8036770: b2db uxtb r3, r3 8036772: 2b12 cmp r3, #18 8036774: f200 82c0 bhi.w 8036cf8 k = (uint32_t) (pardata.DIAGN_HP[CURR_POINT][CURR_USL] * 10.0f); 8036778: 4bca ldr r3, [pc, #808] ; (8036aa4 ) 803677a: 781b ldrb r3, [r3, #0] 803677c: b2db uxtb r3, r3 803677e: 4618 mov r0, r3 8036780: 4bc9 ldr r3, [pc, #804] ; (8036aa8 ) 8036782: 781b ldrb r3, [r3, #0] 8036784: b2db uxtb r3, r3 8036786: 4619 mov r1, r3 8036788: 4ac8 ldr r2, [pc, #800] ; (8036aac ) 803678a: 0083 lsls r3, r0, #2 803678c: 440b add r3, r1 803678e: 3396 adds r3, #150 ; 0x96 8036790: 009b lsls r3, r3, #2 8036792: 4413 add r3, r2 8036794: 3304 adds r3, #4 8036796: edd3 7a00 vldr s15, [r3] 803679a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803679e: ee67 7a87 vmul.f32 s15, s15, s14 80367a2: eefc 7ae7 vcvt.u32.f32 s15, s15 80367a6: ee17 3a90 vmov r3, s15 80367aa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80367ae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80367b2: 095b lsrs r3, r3, #5 80367b4: 4abe ldr r2, [pc, #760] ; (8036ab0 ) 80367b6: fba2 2303 umull r2, r3, r2, r3 80367ba: 09db lsrs r3, r3, #7 80367bc: b2db uxtb r3, r3 80367be: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80367c2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80367c6: 0953 lsrs r3, r2, #5 80367c8: 49b9 ldr r1, [pc, #740] ; (8036ab0 ) 80367ca: fba1 1303 umull r1, r3, r1, r3 80367ce: 09db lsrs r3, r3, #7 80367d0: 49b8 ldr r1, [pc, #736] ; (8036ab4 ) 80367d2: fb01 f303 mul.w r3, r1, r3 80367d6: 1ad3 subs r3, r2, r3 80367d8: 4ab7 ldr r2, [pc, #732] ; (8036ab8 ) 80367da: fba2 2303 umull r2, r3, r2, r3 80367de: 0b5b lsrs r3, r3, #13 80367e0: b2db uxtb r3, r3 80367e2: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80367e6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80367ea: 0953 lsrs r3, r2, #5 80367ec: 49b0 ldr r1, [pc, #704] ; (8036ab0 ) 80367ee: fba1 1303 umull r1, r3, r1, r3 80367f2: 09db lsrs r3, r3, #7 80367f4: 49af ldr r1, [pc, #700] ; (8036ab4 ) 80367f6: fb01 f303 mul.w r3, r1, r3 80367fa: 1ad3 subs r3, r2, r3 80367fc: 4aae ldr r2, [pc, #696] ; (8036ab8 ) 80367fe: fba2 1203 umull r1, r2, r2, r3 8036802: 0b52 lsrs r2, r2, #13 8036804: f242 7110 movw r1, #10000 ; 0x2710 8036808: fb01 f202 mul.w r2, r1, r2 803680c: 1a9a subs r2, r3, r2 803680e: 4bab ldr r3, [pc, #684] ; (8036abc ) 8036810: fba3 2302 umull r2, r3, r3, r2 8036814: 099b lsrs r3, r3, #6 8036816: b2db uxtb r3, r3 8036818: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803681c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036820: 095a lsrs r2, r3, #5 8036822: 49a3 ldr r1, [pc, #652] ; (8036ab0 ) 8036824: fba1 1202 umull r1, r2, r1, r2 8036828: 09d2 lsrs r2, r2, #7 803682a: 49a2 ldr r1, [pc, #648] ; (8036ab4 ) 803682c: fb01 f202 mul.w r2, r1, r2 8036830: 1a9a subs r2, r3, r2 8036832: 4ba1 ldr r3, [pc, #644] ; (8036ab8 ) 8036834: fba3 1302 umull r1, r3, r3, r2 8036838: 0b5b lsrs r3, r3, #13 803683a: f242 7110 movw r1, #10000 ; 0x2710 803683e: fb01 f303 mul.w r3, r1, r3 8036842: 1ad3 subs r3, r2, r3 8036844: 4a9d ldr r2, [pc, #628] ; (8036abc ) 8036846: fba2 1203 umull r1, r2, r2, r3 803684a: 0992 lsrs r2, r2, #6 803684c: f44f 717a mov.w r1, #1000 ; 0x3e8 8036850: fb01 f202 mul.w r2, r1, r2 8036854: 1a9a subs r2, r3, r2 8036856: 4b9a ldr r3, [pc, #616] ; (8036ac0 ) 8036858: fba3 2302 umull r2, r3, r3, r2 803685c: 095b lsrs r3, r3, #5 803685e: b2db uxtb r3, r3 8036860: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8036864: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036868: 0953 lsrs r3, r2, #5 803686a: 4991 ldr r1, [pc, #580] ; (8036ab0 ) 803686c: fba1 1303 umull r1, r3, r1, r3 8036870: 09db lsrs r3, r3, #7 8036872: 4990 ldr r1, [pc, #576] ; (8036ab4 ) 8036874: fb01 f303 mul.w r3, r1, r3 8036878: 1ad3 subs r3, r2, r3 803687a: 4a8f ldr r2, [pc, #572] ; (8036ab8 ) 803687c: fba2 1203 umull r1, r2, r2, r3 8036880: 0b52 lsrs r2, r2, #13 8036882: f242 7110 movw r1, #10000 ; 0x2710 8036886: fb01 f202 mul.w r2, r1, r2 803688a: 1a9a subs r2, r3, r2 803688c: 4b8b ldr r3, [pc, #556] ; (8036abc ) 803688e: fba3 1302 umull r1, r3, r3, r2 8036892: 099b lsrs r3, r3, #6 8036894: f44f 717a mov.w r1, #1000 ; 0x3e8 8036898: fb01 f303 mul.w r3, r1, r3 803689c: 1ad3 subs r3, r2, r3 803689e: 4a88 ldr r2, [pc, #544] ; (8036ac0 ) 80368a0: fba2 1203 umull r1, r2, r2, r3 80368a4: 0952 lsrs r2, r2, #5 80368a6: 2164 movs r1, #100 ; 0x64 80368a8: fb01 f202 mul.w r2, r1, r2 80368ac: 1a9a subs r2, r3, r2 80368ae: 4b85 ldr r3, [pc, #532] ; (8036ac4 ) 80368b0: fba3 2302 umull r2, r3, r3, r2 80368b4: 08db lsrs r3, r3, #3 80368b6: b2db uxtb r3, r3 80368b8: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80368bc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80368c0: 0953 lsrs r3, r2, #5 80368c2: 497b ldr r1, [pc, #492] ; (8036ab0 ) 80368c4: fba1 1303 umull r1, r3, r1, r3 80368c8: 09db lsrs r3, r3, #7 80368ca: 497a ldr r1, [pc, #488] ; (8036ab4 ) 80368cc: fb01 f303 mul.w r3, r1, r3 80368d0: 1ad3 subs r3, r2, r3 80368d2: 4a79 ldr r2, [pc, #484] ; (8036ab8 ) 80368d4: fba2 1203 umull r1, r2, r2, r3 80368d8: 0b52 lsrs r2, r2, #13 80368da: f242 7110 movw r1, #10000 ; 0x2710 80368de: fb01 f202 mul.w r2, r1, r2 80368e2: 1a9a subs r2, r3, r2 80368e4: 4b75 ldr r3, [pc, #468] ; (8036abc ) 80368e6: fba3 1302 umull r1, r3, r3, r2 80368ea: 099b lsrs r3, r3, #6 80368ec: f44f 717a mov.w r1, #1000 ; 0x3e8 80368f0: fb01 f303 mul.w r3, r1, r3 80368f4: 1ad3 subs r3, r2, r3 80368f6: 4a72 ldr r2, [pc, #456] ; (8036ac0 ) 80368f8: fba2 1203 umull r1, r2, r2, r3 80368fc: 0952 lsrs r2, r2, #5 80368fe: 2164 movs r1, #100 ; 0x64 8036900: fb01 f202 mul.w r2, r1, r2 8036904: 1a9a subs r2, r3, r2 8036906: 4b6f ldr r3, [pc, #444] ; (8036ac4 ) 8036908: fba3 1302 umull r1, r3, r3, r2 803690c: 08d9 lsrs r1, r3, #3 803690e: 460b mov r3, r1 8036910: 009b lsls r3, r3, #2 8036912: 440b add r3, r1 8036914: 005b lsls r3, r3, #1 8036916: 1ad1 subs r1, r2, r3 8036918: b2cb uxtb r3, r1 803691a: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803691e: 4b60 ldr r3, [pc, #384] ; (8036aa0 ) 8036920: 781b ldrb r3, [r3, #0] 8036922: b2db uxtb r3, r3 8036924: 3b0d subs r3, #13 8036926: 2b05 cmp r3, #5 8036928: d836 bhi.n 8036998 803692a: a201 add r2, pc, #4 ; (adr r2, 8036930 ) 803692c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8036930: 08036949 .word 0x08036949 8036934: 08036957 .word 0x08036957 8036938: 08036967 .word 0x08036967 803693c: 08036975 .word 0x08036975 8036940: 08036981 .word 0x08036981 8036944: 0803698d .word 0x0803698d k += 100000; 8036948: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803694c: 4b59 ldr r3, [pc, #356] ; (8036ab4 ) 803694e: 4413 add r3, r2 8036950: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036954: e020 b.n 8036998 k += 10000; 8036956: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803695a: f242 7310 movw r3, #10000 ; 0x2710 803695e: 4413 add r3, r2 8036960: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036964: e018 b.n 8036998 k += 1000; 8036966: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803696a: f503 737a add.w r3, r3, #1000 ; 0x3e8 803696e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036972: e011 b.n 8036998 k += 100; 8036974: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036978: 3364 adds r3, #100 ; 0x64 803697a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803697e: e00b b.n 8036998 k += 10; 8036980: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036984: 330a adds r3, #10 8036986: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803698a: e005 b.n 8036998 k++; 803698c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036990: 3301 adds r3, #1 8036992: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036996: bf00 nop fl = (float32_t) k; 8036998: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803699c: ee07 3a90 vmov s15, r3 80369a0: eef8 7a67 vcvt.f32.u32 s15, s15 80369a4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 80369a8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80369ac: ed9f 7a46 vldr s14, [pc, #280] ; 8036ac8 80369b0: ee67 7a87 vmul.f32 s15, s15, s14 80369b4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 80369b8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80369bc: ed9f 7a43 vldr s14, [pc, #268] ; 8036acc 80369c0: ee77 7a87 vadd.f32 s15, s15, s14 80369c4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 80369c8: 4b36 ldr r3, [pc, #216] ; (8036aa4 ) 80369ca: 781b ldrb r3, [r3, #0] 80369cc: b2db uxtb r3, r3 80369ce: 4618 mov r0, r3 80369d0: 4b35 ldr r3, [pc, #212] ; (8036aa8 ) 80369d2: 781b ldrb r3, [r3, #0] 80369d4: b2db uxtb r3, r3 80369d6: 4619 mov r1, r3 80369d8: 4a34 ldr r2, [pc, #208] ; (8036aac ) 80369da: 0083 lsls r3, r0, #2 80369dc: 4413 add r3, r2 80369de: 440b add r3, r1 80369e0: f503 730f add.w r3, r3, #572 ; 0x23c 80369e4: 781b ldrb r3, [r3, #0] 80369e6: b2db uxtb r3, r3 80369e8: f003 0307 and.w r3, r3, #7 80369ec: 2b01 cmp r3, #1 80369ee: f040 80c8 bne.w 8036b82 if(fl < 0.5f) 80369f2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80369f6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80369fa: eef4 7ac7 vcmpe.f32 s15, s14 80369fe: eef1 fa10 vmrs APSR_nzcv, fpscr 8036a02: d513 bpl.n 8036a2c pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 0.5f; 8036a04: 4b27 ldr r3, [pc, #156] ; (8036aa4 ) 8036a06: 781b ldrb r3, [r3, #0] 8036a08: b2db uxtb r3, r3 8036a0a: 4618 mov r0, r3 8036a0c: 4b26 ldr r3, [pc, #152] ; (8036aa8 ) 8036a0e: 781b ldrb r3, [r3, #0] 8036a10: b2db uxtb r3, r3 8036a12: 4619 mov r1, r3 8036a14: 4a25 ldr r2, [pc, #148] ; (8036aac ) 8036a16: 0083 lsls r3, r0, #2 8036a18: 440b add r3, r1 8036a1a: 3396 adds r3, #150 ; 0x96 8036a1c: 009b lsls r3, r3, #2 8036a1e: 4413 add r3, r2 8036a20: 3304 adds r3, #4 8036a22: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8036a26: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 8036a28: f000 beee b.w 8037808 if(fl > pardata.DIAGN_LP[CURR_POINT][CURR_USL]) 8036a2c: 4b1d ldr r3, [pc, #116] ; (8036aa4 ) 8036a2e: 781b ldrb r3, [r3, #0] 8036a30: b2db uxtb r3, r3 8036a32: 4618 mov r0, r3 8036a34: 4b1c ldr r3, [pc, #112] ; (8036aa8 ) 8036a36: 781b ldrb r3, [r3, #0] 8036a38: b2db uxtb r3, r3 8036a3a: 4619 mov r1, r3 8036a3c: 4a1b ldr r2, [pc, #108] ; (8036aac ) 8036a3e: 0083 lsls r3, r0, #2 8036a40: 440b add r3, r1 8036a42: 33b6 adds r3, #182 ; 0xb6 8036a44: 009b lsls r3, r3, #2 8036a46: 4413 add r3, r2 8036a48: 3304 adds r3, #4 8036a4a: ed93 7a00 vldr s14, [r3] 8036a4e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8036a52: eeb4 7ae7 vcmpe.f32 s14, s15 8036a56: eef1 fa10 vmrs APSR_nzcv, fpscr 8036a5a: d539 bpl.n 8036ad0 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = pardata.DIAGN_LP[CURR_POINT][CURR_USL]; 8036a5c: 4b11 ldr r3, [pc, #68] ; (8036aa4 ) 8036a5e: 781b ldrb r3, [r3, #0] 8036a60: b2db uxtb r3, r3 8036a62: 461c mov r4, r3 8036a64: 4b10 ldr r3, [pc, #64] ; (8036aa8 ) 8036a66: 781b ldrb r3, [r3, #0] 8036a68: b2db uxtb r3, r3 8036a6a: 4618 mov r0, r3 8036a6c: 4b0d ldr r3, [pc, #52] ; (8036aa4 ) 8036a6e: 781b ldrb r3, [r3, #0] 8036a70: b2db uxtb r3, r3 8036a72: 461d mov r5, r3 8036a74: 4b0c ldr r3, [pc, #48] ; (8036aa8 ) 8036a76: 781b ldrb r3, [r3, #0] 8036a78: b2db uxtb r3, r3 8036a7a: 4619 mov r1, r3 8036a7c: 4a0b ldr r2, [pc, #44] ; (8036aac ) 8036a7e: 00ab lsls r3, r5, #2 8036a80: 440b add r3, r1 8036a82: 33b6 adds r3, #182 ; 0xb6 8036a84: 009b lsls r3, r3, #2 8036a86: 4413 add r3, r2 8036a88: 3304 adds r3, #4 8036a8a: 681a ldr r2, [r3, #0] 8036a8c: 4907 ldr r1, [pc, #28] ; (8036aac ) 8036a8e: 00a3 lsls r3, r4, #2 8036a90: 4403 add r3, r0 8036a92: 3396 adds r3, #150 ; 0x96 8036a94: 009b lsls r3, r3, #2 8036a96: 440b add r3, r1 8036a98: 3304 adds r3, #4 8036a9a: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 8036a9c: f000 beb4 b.w 8037808 8036aa0: 20020070 .word 0x20020070 8036aa4: 2002105d .word 0x2002105d 8036aa8: 2002105f .word 0x2002105f 8036aac: 20023eb8 .word 0x20023eb8 8036ab0: 0a7c5ac5 .word 0x0a7c5ac5 8036ab4: 000186a0 .word 0x000186a0 8036ab8: d1b71759 .word 0xd1b71759 8036abc: 10624dd3 .word 0x10624dd3 8036ac0: 51eb851f .word 0x51eb851f 8036ac4: cccccccd .word 0xcccccccd 8036ac8: 3dcccccd .word 0x3dcccccd 8036acc: 38d1b717 .word 0x38d1b717 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = (float32_t) k; 8036ad0: 4b84 ldr r3, [pc, #528] ; (8036ce4 ) 8036ad2: 781b ldrb r3, [r3, #0] 8036ad4: b2db uxtb r3, r3 8036ad6: 4618 mov r0, r3 8036ad8: 4b83 ldr r3, [pc, #524] ; (8036ce8 ) 8036ada: 781b ldrb r3, [r3, #0] 8036adc: b2db uxtb r3, r3 8036ade: 4619 mov r1, r3 8036ae0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036ae4: ee07 3a90 vmov s15, r3 8036ae8: eef8 7a67 vcvt.f32.u32 s15, s15 8036aec: 4a7f ldr r2, [pc, #508] ; (8036cec ) 8036aee: 0083 lsls r3, r0, #2 8036af0: 440b add r3, r1 8036af2: 3396 adds r3, #150 ; 0x96 8036af4: 009b lsls r3, r3, #2 8036af6: 4413 add r3, r2 8036af8: 3304 adds r3, #4 8036afa: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] *= 0.1f; 8036afe: 4b79 ldr r3, [pc, #484] ; (8036ce4 ) 8036b00: 781b ldrb r3, [r3, #0] 8036b02: b2da uxtb r2, r3 8036b04: 4610 mov r0, r2 8036b06: 4b78 ldr r3, [pc, #480] ; (8036ce8 ) 8036b08: 781b ldrb r3, [r3, #0] 8036b0a: b2db uxtb r3, r3 8036b0c: 4619 mov r1, r3 8036b0e: 4615 mov r5, r2 8036b10: 461c mov r4, r3 8036b12: 4a76 ldr r2, [pc, #472] ; (8036cec ) 8036b14: 00ab lsls r3, r5, #2 8036b16: 4423 add r3, r4 8036b18: 3396 adds r3, #150 ; 0x96 8036b1a: 009b lsls r3, r3, #2 8036b1c: 4413 add r3, r2 8036b1e: 3304 adds r3, #4 8036b20: edd3 7a00 vldr s15, [r3] 8036b24: ed9f 7a72 vldr s14, [pc, #456] ; 8036cf0 8036b28: ee67 7a87 vmul.f32 s15, s15, s14 8036b2c: 4a6f ldr r2, [pc, #444] ; (8036cec ) 8036b2e: 0083 lsls r3, r0, #2 8036b30: 440b add r3, r1 8036b32: 3396 adds r3, #150 ; 0x96 8036b34: 009b lsls r3, r3, #2 8036b36: 4413 add r3, r2 8036b38: 3304 adds r3, #4 8036b3a: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] += 0.0001f; 8036b3e: 4b69 ldr r3, [pc, #420] ; (8036ce4 ) 8036b40: 781b ldrb r3, [r3, #0] 8036b42: b2da uxtb r2, r3 8036b44: 4610 mov r0, r2 8036b46: 4b68 ldr r3, [pc, #416] ; (8036ce8 ) 8036b48: 781b ldrb r3, [r3, #0] 8036b4a: b2db uxtb r3, r3 8036b4c: 4619 mov r1, r3 8036b4e: 4615 mov r5, r2 8036b50: 461c mov r4, r3 8036b52: 4a66 ldr r2, [pc, #408] ; (8036cec ) 8036b54: 00ab lsls r3, r5, #2 8036b56: 4423 add r3, r4 8036b58: 3396 adds r3, #150 ; 0x96 8036b5a: 009b lsls r3, r3, #2 8036b5c: 4413 add r3, r2 8036b5e: 3304 adds r3, #4 8036b60: edd3 7a00 vldr s15, [r3] 8036b64: ed9f 7a63 vldr s14, [pc, #396] ; 8036cf4 8036b68: ee77 7a87 vadd.f32 s15, s15, s14 8036b6c: 4a5f ldr r2, [pc, #380] ; (8036cec ) 8036b6e: 0083 lsls r3, r0, #2 8036b70: 440b add r3, r1 8036b72: 3396 adds r3, #150 ; 0x96 8036b74: 009b lsls r3, r3, #2 8036b76: 4413 add r3, r2 8036b78: 3304 adds r3, #4 8036b7a: edc3 7a00 vstr s15, [r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 8036b7e: f000 be43 b.w 8037808 if(fl < 2.0f) 8036b82: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8036b86: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8036b8a: eef4 7ac7 vcmpe.f32 s15, s14 8036b8e: eef1 fa10 vmrs APSR_nzcv, fpscr 8036b92: d513 bpl.n 8036bbc pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 2.0f; 8036b94: 4b53 ldr r3, [pc, #332] ; (8036ce4 ) 8036b96: 781b ldrb r3, [r3, #0] 8036b98: b2db uxtb r3, r3 8036b9a: 4618 mov r0, r3 8036b9c: 4b52 ldr r3, [pc, #328] ; (8036ce8 ) 8036b9e: 781b ldrb r3, [r3, #0] 8036ba0: b2db uxtb r3, r3 8036ba2: 4619 mov r1, r3 8036ba4: 4a51 ldr r2, [pc, #324] ; (8036cec ) 8036ba6: 0083 lsls r3, r0, #2 8036ba8: 440b add r3, r1 8036baa: 3396 adds r3, #150 ; 0x96 8036bac: 009b lsls r3, r3, #2 8036bae: 4413 add r3, r2 8036bb0: 3304 adds r3, #4 8036bb2: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8036bb6: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 8036bb8: f000 be26 b.w 8037808 if(fl > pardata.DIAGN_LP[CURR_POINT][CURR_USL]) 8036bbc: 4b49 ldr r3, [pc, #292] ; (8036ce4 ) 8036bbe: 781b ldrb r3, [r3, #0] 8036bc0: b2db uxtb r3, r3 8036bc2: 4618 mov r0, r3 8036bc4: 4b48 ldr r3, [pc, #288] ; (8036ce8 ) 8036bc6: 781b ldrb r3, [r3, #0] 8036bc8: b2db uxtb r3, r3 8036bca: 4619 mov r1, r3 8036bcc: 4a47 ldr r2, [pc, #284] ; (8036cec ) 8036bce: 0083 lsls r3, r0, #2 8036bd0: 440b add r3, r1 8036bd2: 33b6 adds r3, #182 ; 0xb6 8036bd4: 009b lsls r3, r3, #2 8036bd6: 4413 add r3, r2 8036bd8: 3304 adds r3, #4 8036bda: ed93 7a00 vldr s14, [r3] 8036bde: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8036be2: eeb4 7ae7 vcmpe.f32 s14, s15 8036be6: eef1 fa10 vmrs APSR_nzcv, fpscr 8036bea: d521 bpl.n 8036c30 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = pardata.DIAGN_LP[CURR_POINT][CURR_USL]; 8036bec: 4b3d ldr r3, [pc, #244] ; (8036ce4 ) 8036bee: 781b ldrb r3, [r3, #0] 8036bf0: b2db uxtb r3, r3 8036bf2: 461c mov r4, r3 8036bf4: 4b3c ldr r3, [pc, #240] ; (8036ce8 ) 8036bf6: 781b ldrb r3, [r3, #0] 8036bf8: b2db uxtb r3, r3 8036bfa: 4618 mov r0, r3 8036bfc: 4b39 ldr r3, [pc, #228] ; (8036ce4 ) 8036bfe: 781b ldrb r3, [r3, #0] 8036c00: b2db uxtb r3, r3 8036c02: 461d mov r5, r3 8036c04: 4b38 ldr r3, [pc, #224] ; (8036ce8 ) 8036c06: 781b ldrb r3, [r3, #0] 8036c08: b2db uxtb r3, r3 8036c0a: 4619 mov r1, r3 8036c0c: 4a37 ldr r2, [pc, #220] ; (8036cec ) 8036c0e: 00ab lsls r3, r5, #2 8036c10: 440b add r3, r1 8036c12: 33b6 adds r3, #182 ; 0xb6 8036c14: 009b lsls r3, r3, #2 8036c16: 4413 add r3, r2 8036c18: 3304 adds r3, #4 8036c1a: 681a ldr r2, [r3, #0] 8036c1c: 4933 ldr r1, [pc, #204] ; (8036cec ) 8036c1e: 00a3 lsls r3, r4, #2 8036c20: 4403 add r3, r0 8036c22: 3396 adds r3, #150 ; 0x96 8036c24: 009b lsls r3, r3, #2 8036c26: 440b add r3, r1 8036c28: 3304 adds r3, #4 8036c2a: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 8036c2c: f000 bdec b.w 8037808 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = (float32_t) k; 8036c30: 4b2c ldr r3, [pc, #176] ; (8036ce4 ) 8036c32: 781b ldrb r3, [r3, #0] 8036c34: b2db uxtb r3, r3 8036c36: 4618 mov r0, r3 8036c38: 4b2b ldr r3, [pc, #172] ; (8036ce8 ) 8036c3a: 781b ldrb r3, [r3, #0] 8036c3c: b2db uxtb r3, r3 8036c3e: 4619 mov r1, r3 8036c40: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036c44: ee07 3a90 vmov s15, r3 8036c48: eef8 7a67 vcvt.f32.u32 s15, s15 8036c4c: 4a27 ldr r2, [pc, #156] ; (8036cec ) 8036c4e: 0083 lsls r3, r0, #2 8036c50: 440b add r3, r1 8036c52: 3396 adds r3, #150 ; 0x96 8036c54: 009b lsls r3, r3, #2 8036c56: 4413 add r3, r2 8036c58: 3304 adds r3, #4 8036c5a: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] *= 0.1f; 8036c5e: 4b21 ldr r3, [pc, #132] ; (8036ce4 ) 8036c60: 781b ldrb r3, [r3, #0] 8036c62: b2da uxtb r2, r3 8036c64: 4610 mov r0, r2 8036c66: 4b20 ldr r3, [pc, #128] ; (8036ce8 ) 8036c68: 781b ldrb r3, [r3, #0] 8036c6a: b2db uxtb r3, r3 8036c6c: 4619 mov r1, r3 8036c6e: 4615 mov r5, r2 8036c70: 461c mov r4, r3 8036c72: 4a1e ldr r2, [pc, #120] ; (8036cec ) 8036c74: 00ab lsls r3, r5, #2 8036c76: 4423 add r3, r4 8036c78: 3396 adds r3, #150 ; 0x96 8036c7a: 009b lsls r3, r3, #2 8036c7c: 4413 add r3, r2 8036c7e: 3304 adds r3, #4 8036c80: edd3 7a00 vldr s15, [r3] 8036c84: ed9f 7a1a vldr s14, [pc, #104] ; 8036cf0 8036c88: ee67 7a87 vmul.f32 s15, s15, s14 8036c8c: 4a17 ldr r2, [pc, #92] ; (8036cec ) 8036c8e: 0083 lsls r3, r0, #2 8036c90: 440b add r3, r1 8036c92: 3396 adds r3, #150 ; 0x96 8036c94: 009b lsls r3, r3, #2 8036c96: 4413 add r3, r2 8036c98: 3304 adds r3, #4 8036c9a: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] += 0.0001f; 8036c9e: 4b11 ldr r3, [pc, #68] ; (8036ce4 ) 8036ca0: 781b ldrb r3, [r3, #0] 8036ca2: b2da uxtb r2, r3 8036ca4: 4610 mov r0, r2 8036ca6: 4b10 ldr r3, [pc, #64] ; (8036ce8 ) 8036ca8: 781b ldrb r3, [r3, #0] 8036caa: b2db uxtb r3, r3 8036cac: 4619 mov r1, r3 8036cae: 4615 mov r5, r2 8036cb0: 461c mov r4, r3 8036cb2: 4a0e ldr r2, [pc, #56] ; (8036cec ) 8036cb4: 00ab lsls r3, r5, #2 8036cb6: 4423 add r3, r4 8036cb8: 3396 adds r3, #150 ; 0x96 8036cba: 009b lsls r3, r3, #2 8036cbc: 4413 add r3, r2 8036cbe: 3304 adds r3, #4 8036cc0: edd3 7a00 vldr s15, [r3] 8036cc4: ed9f 7a0b vldr s14, [pc, #44] ; 8036cf4 8036cc8: ee77 7a87 vadd.f32 s15, s15, s14 8036ccc: 4a07 ldr r2, [pc, #28] ; (8036cec ) 8036cce: 0083 lsls r3, r0, #2 8036cd0: 440b add r3, r1 8036cd2: 3396 adds r3, #150 ; 0x96 8036cd4: 009b lsls r3, r3, #2 8036cd6: 4413 add r3, r2 8036cd8: 3304 adds r3, #4 8036cda: edc3 7a00 vstr s15, [r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 8036cde: f000 bd93 b.w 8037808 8036ce2: bf00 nop 8036ce4: 2002105d .word 0x2002105d 8036ce8: 2002105f .word 0x2002105f 8036cec: 20023eb8 .word 0x20023eb8 8036cf0: 3dcccccd .word 0x3dcccccd 8036cf4: 38d1b717 .word 0x38d1b717 if((menupos >= DiagLP_IDT) && (menupos <= DiagLP_IKD)) 8036cf8: 4bcb ldr r3, [pc, #812] ; (8037028 ) 8036cfa: 781b ldrb r3, [r3, #0] 8036cfc: b2db uxtb r3, r3 8036cfe: 2b12 cmp r3, #18 8036d00: f240 8243 bls.w 803718a 8036d04: 4bc8 ldr r3, [pc, #800] ; (8037028 ) 8036d06: 781b ldrb r3, [r3, #0] 8036d08: b2db uxtb r3, r3 8036d0a: 2b18 cmp r3, #24 8036d0c: f200 823d bhi.w 803718a k = (uint32_t) (pardata.DIAGN_LP[CURR_POINT][CURR_USL] * 10.0f); 8036d10: 4bc6 ldr r3, [pc, #792] ; (803702c ) 8036d12: 781b ldrb r3, [r3, #0] 8036d14: b2db uxtb r3, r3 8036d16: 4618 mov r0, r3 8036d18: 4bc5 ldr r3, [pc, #788] ; (8037030 ) 8036d1a: 781b ldrb r3, [r3, #0] 8036d1c: b2db uxtb r3, r3 8036d1e: 4619 mov r1, r3 8036d20: 4ac4 ldr r2, [pc, #784] ; (8037034 ) 8036d22: 0083 lsls r3, r0, #2 8036d24: 440b add r3, r1 8036d26: 33b6 adds r3, #182 ; 0xb6 8036d28: 009b lsls r3, r3, #2 8036d2a: 4413 add r3, r2 8036d2c: 3304 adds r3, #4 8036d2e: edd3 7a00 vldr s15, [r3] 8036d32: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8036d36: ee67 7a87 vmul.f32 s15, s15, s14 8036d3a: eefc 7ae7 vcvt.u32.f32 s15, s15 8036d3e: ee17 3a90 vmov r3, s15 8036d42: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8036d46: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036d4a: 095b lsrs r3, r3, #5 8036d4c: 4aba ldr r2, [pc, #744] ; (8037038 ) 8036d4e: fba2 2303 umull r2, r3, r2, r3 8036d52: 09db lsrs r3, r3, #7 8036d54: b2db uxtb r3, r3 8036d56: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8036d5a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036d5e: 0953 lsrs r3, r2, #5 8036d60: 49b5 ldr r1, [pc, #724] ; (8037038 ) 8036d62: fba1 1303 umull r1, r3, r1, r3 8036d66: 09db lsrs r3, r3, #7 8036d68: 49b4 ldr r1, [pc, #720] ; (803703c ) 8036d6a: fb01 f303 mul.w r3, r1, r3 8036d6e: 1ad3 subs r3, r2, r3 8036d70: 4ab3 ldr r2, [pc, #716] ; (8037040 ) 8036d72: fba2 2303 umull r2, r3, r2, r3 8036d76: 0b5b lsrs r3, r3, #13 8036d78: b2db uxtb r3, r3 8036d7a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8036d7e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036d82: 0953 lsrs r3, r2, #5 8036d84: 49ac ldr r1, [pc, #688] ; (8037038 ) 8036d86: fba1 1303 umull r1, r3, r1, r3 8036d8a: 09db lsrs r3, r3, #7 8036d8c: 49ab ldr r1, [pc, #684] ; (803703c ) 8036d8e: fb01 f303 mul.w r3, r1, r3 8036d92: 1ad3 subs r3, r2, r3 8036d94: 4aaa ldr r2, [pc, #680] ; (8037040 ) 8036d96: fba2 1203 umull r1, r2, r2, r3 8036d9a: 0b52 lsrs r2, r2, #13 8036d9c: f242 7110 movw r1, #10000 ; 0x2710 8036da0: fb01 f202 mul.w r2, r1, r2 8036da4: 1a9a subs r2, r3, r2 8036da6: 4ba7 ldr r3, [pc, #668] ; (8037044 ) 8036da8: fba3 2302 umull r2, r3, r3, r2 8036dac: 099b lsrs r3, r3, #6 8036dae: b2db uxtb r3, r3 8036db0: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8036db4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036db8: 095a lsrs r2, r3, #5 8036dba: 499f ldr r1, [pc, #636] ; (8037038 ) 8036dbc: fba1 1202 umull r1, r2, r1, r2 8036dc0: 09d2 lsrs r2, r2, #7 8036dc2: 499e ldr r1, [pc, #632] ; (803703c ) 8036dc4: fb01 f202 mul.w r2, r1, r2 8036dc8: 1a9a subs r2, r3, r2 8036dca: 4b9d ldr r3, [pc, #628] ; (8037040 ) 8036dcc: fba3 1302 umull r1, r3, r3, r2 8036dd0: 0b5b lsrs r3, r3, #13 8036dd2: f242 7110 movw r1, #10000 ; 0x2710 8036dd6: fb01 f303 mul.w r3, r1, r3 8036dda: 1ad3 subs r3, r2, r3 8036ddc: 4a99 ldr r2, [pc, #612] ; (8037044 ) 8036dde: fba2 1203 umull r1, r2, r2, r3 8036de2: 0992 lsrs r2, r2, #6 8036de4: f44f 717a mov.w r1, #1000 ; 0x3e8 8036de8: fb01 f202 mul.w r2, r1, r2 8036dec: 1a9a subs r2, r3, r2 8036dee: 4b96 ldr r3, [pc, #600] ; (8037048 ) 8036df0: fba3 2302 umull r2, r3, r3, r2 8036df4: 095b lsrs r3, r3, #5 8036df6: b2db uxtb r3, r3 8036df8: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8036dfc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036e00: 0953 lsrs r3, r2, #5 8036e02: 498d ldr r1, [pc, #564] ; (8037038 ) 8036e04: fba1 1303 umull r1, r3, r1, r3 8036e08: 09db lsrs r3, r3, #7 8036e0a: 498c ldr r1, [pc, #560] ; (803703c ) 8036e0c: fb01 f303 mul.w r3, r1, r3 8036e10: 1ad3 subs r3, r2, r3 8036e12: 4a8b ldr r2, [pc, #556] ; (8037040 ) 8036e14: fba2 1203 umull r1, r2, r2, r3 8036e18: 0b52 lsrs r2, r2, #13 8036e1a: f242 7110 movw r1, #10000 ; 0x2710 8036e1e: fb01 f202 mul.w r2, r1, r2 8036e22: 1a9a subs r2, r3, r2 8036e24: 4b87 ldr r3, [pc, #540] ; (8037044 ) 8036e26: fba3 1302 umull r1, r3, r3, r2 8036e2a: 099b lsrs r3, r3, #6 8036e2c: f44f 717a mov.w r1, #1000 ; 0x3e8 8036e30: fb01 f303 mul.w r3, r1, r3 8036e34: 1ad3 subs r3, r2, r3 8036e36: 4a84 ldr r2, [pc, #528] ; (8037048 ) 8036e38: fba2 1203 umull r1, r2, r2, r3 8036e3c: 0952 lsrs r2, r2, #5 8036e3e: 2164 movs r1, #100 ; 0x64 8036e40: fb01 f202 mul.w r2, r1, r2 8036e44: 1a9a subs r2, r3, r2 8036e46: 4b81 ldr r3, [pc, #516] ; (803704c ) 8036e48: fba3 2302 umull r2, r3, r3, r2 8036e4c: 08db lsrs r3, r3, #3 8036e4e: b2db uxtb r3, r3 8036e50: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8036e54: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036e58: 0953 lsrs r3, r2, #5 8036e5a: 4977 ldr r1, [pc, #476] ; (8037038 ) 8036e5c: fba1 1303 umull r1, r3, r1, r3 8036e60: 09db lsrs r3, r3, #7 8036e62: 4976 ldr r1, [pc, #472] ; (803703c ) 8036e64: fb01 f303 mul.w r3, r1, r3 8036e68: 1ad3 subs r3, r2, r3 8036e6a: 4a75 ldr r2, [pc, #468] ; (8037040 ) 8036e6c: fba2 1203 umull r1, r2, r2, r3 8036e70: 0b52 lsrs r2, r2, #13 8036e72: f242 7110 movw r1, #10000 ; 0x2710 8036e76: fb01 f202 mul.w r2, r1, r2 8036e7a: 1a9a subs r2, r3, r2 8036e7c: 4b71 ldr r3, [pc, #452] ; (8037044 ) 8036e7e: fba3 1302 umull r1, r3, r3, r2 8036e82: 099b lsrs r3, r3, #6 8036e84: f44f 717a mov.w r1, #1000 ; 0x3e8 8036e88: fb01 f303 mul.w r3, r1, r3 8036e8c: 1ad3 subs r3, r2, r3 8036e8e: 4a6e ldr r2, [pc, #440] ; (8037048 ) 8036e90: fba2 1203 umull r1, r2, r2, r3 8036e94: 0952 lsrs r2, r2, #5 8036e96: 2164 movs r1, #100 ; 0x64 8036e98: fb01 f202 mul.w r2, r1, r2 8036e9c: 1a9a subs r2, r3, r2 8036e9e: 4b6b ldr r3, [pc, #428] ; (803704c ) 8036ea0: fba3 1302 umull r1, r3, r3, r2 8036ea4: 08d9 lsrs r1, r3, #3 8036ea6: 460b mov r3, r1 8036ea8: 009b lsls r3, r3, #2 8036eaa: 440b add r3, r1 8036eac: 005b lsls r3, r3, #1 8036eae: 1ad1 subs r1, r2, r3 8036eb0: b2cb uxtb r3, r1 8036eb2: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8036eb6: 4b5c ldr r3, [pc, #368] ; (8037028 ) 8036eb8: 781b ldrb r3, [r3, #0] 8036eba: b2db uxtb r3, r3 8036ebc: 3b13 subs r3, #19 8036ebe: 2b05 cmp r3, #5 8036ec0: d836 bhi.n 8036f30 8036ec2: a201 add r2, pc, #4 ; (adr r2, 8036ec8 ) 8036ec4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8036ec8: 08036ee1 .word 0x08036ee1 8036ecc: 08036eef .word 0x08036eef 8036ed0: 08036eff .word 0x08036eff 8036ed4: 08036f0d .word 0x08036f0d 8036ed8: 08036f19 .word 0x08036f19 8036edc: 08036f25 .word 0x08036f25 k += 100000; 8036ee0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036ee4: 4b55 ldr r3, [pc, #340] ; (803703c ) 8036ee6: 4413 add r3, r2 8036ee8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036eec: e020 b.n 8036f30 k += 10000; 8036eee: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036ef2: f242 7310 movw r3, #10000 ; 0x2710 8036ef6: 4413 add r3, r2 8036ef8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036efc: e018 b.n 8036f30 k += 1000; 8036efe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036f02: f503 737a add.w r3, r3, #1000 ; 0x3e8 8036f06: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036f0a: e011 b.n 8036f30 k += 100; 8036f0c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036f10: 3364 adds r3, #100 ; 0x64 8036f12: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036f16: e00b b.n 8036f30 k += 10; 8036f18: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036f1c: 330a adds r3, #10 8036f1e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036f22: e005 b.n 8036f30 k++; 8036f24: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036f28: 3301 adds r3, #1 8036f2a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036f2e: bf00 nop fl = (float32_t) k; 8036f30: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036f34: ee07 3a90 vmov s15, r3 8036f38: eef8 7a67 vcvt.f32.u32 s15, s15 8036f3c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8036f40: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8036f44: ed9f 7a42 vldr s14, [pc, #264] ; 8037050 8036f48: ee67 7a87 vmul.f32 s15, s15, s14 8036f4c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8036f50: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8036f54: ed9f 7a3f vldr s14, [pc, #252] ; 8037054 8036f58: ee77 7a87 vadd.f32 s15, s15, s14 8036f5c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 8036f60: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8036f64: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8036f68: eef4 7ac7 vcmpe.f32 s15, s14 8036f6c: eef1 fa10 vmrs APSR_nzcv, fpscr 8036f70: d512 bpl.n 8036f98 pardata.DIAGN_LP[CURR_POINT][CURR_USL] = 10.0f; 8036f72: 4b2e ldr r3, [pc, #184] ; (803702c ) 8036f74: 781b ldrb r3, [r3, #0] 8036f76: b2db uxtb r3, r3 8036f78: 4618 mov r0, r3 8036f7a: 4b2d ldr r3, [pc, #180] ; (8037030 ) 8036f7c: 781b ldrb r3, [r3, #0] 8036f7e: b2db uxtb r3, r3 8036f80: 4619 mov r1, r3 8036f82: 4a2c ldr r2, [pc, #176] ; (8037034 ) 8036f84: 0083 lsls r3, r0, #2 8036f86: 440b add r3, r1 8036f88: 33b6 adds r3, #182 ; 0xb6 8036f8a: 009b lsls r3, r3, #2 8036f8c: 4413 add r3, r2 8036f8e: 3304 adds r3, #4 8036f90: 4a31 ldr r2, [pc, #196] ; (8037058 ) 8036f92: 601a str r2, [r3, #0] if(fl < 10.0f) 8036f94: f000 bc38 b.w 8037808 if(pardata.DIAGN_LP[CURR_POINT][CURR_USL] < pardata.DIAGN_HP[CURR_POINT][CURR_USL]) 8036f98: 4b24 ldr r3, [pc, #144] ; (803702c ) 8036f9a: 781b ldrb r3, [r3, #0] 8036f9c: b2db uxtb r3, r3 8036f9e: 4618 mov r0, r3 8036fa0: 4b23 ldr r3, [pc, #140] ; (8037030 ) 8036fa2: 781b ldrb r3, [r3, #0] 8036fa4: b2db uxtb r3, r3 8036fa6: 4619 mov r1, r3 8036fa8: 4a22 ldr r2, [pc, #136] ; (8037034 ) 8036faa: 0083 lsls r3, r0, #2 8036fac: 440b add r3, r1 8036fae: 33b6 adds r3, #182 ; 0xb6 8036fb0: 009b lsls r3, r3, #2 8036fb2: 4413 add r3, r2 8036fb4: 3304 adds r3, #4 8036fb6: ed93 7a00 vldr s14, [r3] 8036fba: 4b1c ldr r3, [pc, #112] ; (803702c ) 8036fbc: 781b ldrb r3, [r3, #0] 8036fbe: b2db uxtb r3, r3 8036fc0: 4618 mov r0, r3 8036fc2: 4b1b ldr r3, [pc, #108] ; (8037030 ) 8036fc4: 781b ldrb r3, [r3, #0] 8036fc6: b2db uxtb r3, r3 8036fc8: 4619 mov r1, r3 8036fca: 4a1a ldr r2, [pc, #104] ; (8037034 ) 8036fcc: 0083 lsls r3, r0, #2 8036fce: 440b add r3, r1 8036fd0: 3396 adds r3, #150 ; 0x96 8036fd2: 009b lsls r3, r3, #2 8036fd4: 4413 add r3, r2 8036fd6: 3304 adds r3, #4 8036fd8: edd3 7a00 vldr s15, [r3] 8036fdc: eeb4 7ae7 vcmpe.f32 s14, s15 8036fe0: eef1 fa10 vmrs APSR_nzcv, fpscr 8036fe4: d53a bpl.n 803705c pardata.DIAGN_LP[CURR_POINT][CURR_USL] = pardata.DIAGN_HP[CURR_POINT][CURR_USL]; 8036fe6: 4b11 ldr r3, [pc, #68] ; (803702c ) 8036fe8: 781b ldrb r3, [r3, #0] 8036fea: b2db uxtb r3, r3 8036fec: 461c mov r4, r3 8036fee: 4b10 ldr r3, [pc, #64] ; (8037030 ) 8036ff0: 781b ldrb r3, [r3, #0] 8036ff2: b2db uxtb r3, r3 8036ff4: 4618 mov r0, r3 8036ff6: 4b0d ldr r3, [pc, #52] ; (803702c ) 8036ff8: 781b ldrb r3, [r3, #0] 8036ffa: b2db uxtb r3, r3 8036ffc: 461d mov r5, r3 8036ffe: 4b0c ldr r3, [pc, #48] ; (8037030 ) 8037000: 781b ldrb r3, [r3, #0] 8037002: b2db uxtb r3, r3 8037004: 4619 mov r1, r3 8037006: 4a0b ldr r2, [pc, #44] ; (8037034 ) 8037008: 00ab lsls r3, r5, #2 803700a: 440b add r3, r1 803700c: 3396 adds r3, #150 ; 0x96 803700e: 009b lsls r3, r3, #2 8037010: 4413 add r3, r2 8037012: 3304 adds r3, #4 8037014: 681a ldr r2, [r3, #0] 8037016: 4907 ldr r1, [pc, #28] ; (8037034 ) 8037018: 00a3 lsls r3, r4, #2 803701a: 4403 add r3, r0 803701c: 33b6 adds r3, #182 ; 0xb6 803701e: 009b lsls r3, r3, #2 8037020: 440b add r3, r1 8037022: 3304 adds r3, #4 8037024: 601a str r2, [r3, #0] if(fl < 10.0f) 8037026: e3ef b.n 8037808 8037028: 20020070 .word 0x20020070 803702c: 2002105d .word 0x2002105d 8037030: 2002105f .word 0x2002105f 8037034: 20023eb8 .word 0x20023eb8 8037038: 0a7c5ac5 .word 0x0a7c5ac5 803703c: 000186a0 .word 0x000186a0 8037040: d1b71759 .word 0xd1b71759 8037044: 10624dd3 .word 0x10624dd3 8037048: 51eb851f .word 0x51eb851f 803704c: cccccccd .word 0xcccccccd 8037050: 3dcccccd .word 0x3dcccccd 8037054: 38d1b717 .word 0x38d1b717 8037058: 41200000 .word 0x41200000 if(fl > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 803705c: 4bd3 ldr r3, [pc, #844] ; (80373ac ) 803705e: 7adb ldrb r3, [r3, #11] 8037060: b2db uxtb r3, r3 8037062: 461a mov r2, r3 8037064: 4bd2 ldr r3, [pc, #840] ; (80373b0 ) 8037066: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803706a: ee07 3a90 vmov s15, r3 803706e: eeb8 7a67 vcvt.f32.u32 s14, s15 8037072: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 8037076: eec7 7a26 vdiv.f32 s15, s14, s13 803707a: ed9f 7ace vldr s14, [pc, #824] ; 80373b4 803707e: ee37 7a87 vadd.f32 s14, s15, s14 8037082: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8037086: eeb4 7ae7 vcmpe.f32 s14, s15 803708a: eef1 fa10 vmrs APSR_nzcv, fpscr 803708e: d524 bpl.n 80370da pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8037090: 4bc9 ldr r3, [pc, #804] ; (80373b8 ) 8037092: 781b ldrb r3, [r3, #0] 8037094: b2db uxtb r3, r3 8037096: 4618 mov r0, r3 8037098: 4bc8 ldr r3, [pc, #800] ; (80373bc ) 803709a: 781b ldrb r3, [r3, #0] 803709c: b2db uxtb r3, r3 803709e: 4619 mov r1, r3 80370a0: 4bc2 ldr r3, [pc, #776] ; (80373ac ) 80370a2: 7adb ldrb r3, [r3, #11] 80370a4: b2db uxtb r3, r3 80370a6: 461a mov r2, r3 80370a8: 4bc1 ldr r3, [pc, #772] ; (80373b0 ) 80370aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80370ae: 4ac4 ldr r2, [pc, #784] ; (80373c0 ) 80370b0: fba2 2303 umull r2, r3, r2, r3 80370b4: 089b lsrs r3, r3, #2 80370b6: ee07 3a90 vmov s15, r3 80370ba: eef8 7a67 vcvt.f32.u32 s15, s15 80370be: ed9f 7ac1 vldr s14, [pc, #772] ; 80373c4 80370c2: ee77 7a87 vadd.f32 s15, s15, s14 80370c6: 4ab9 ldr r2, [pc, #740] ; (80373ac ) 80370c8: 0083 lsls r3, r0, #2 80370ca: 440b add r3, r1 80370cc: 33b6 adds r3, #182 ; 0xb6 80370ce: 009b lsls r3, r3, #2 80370d0: 4413 add r3, r2 80370d2: 3304 adds r3, #4 80370d4: edc3 7a00 vstr s15, [r3] if(fl < 10.0f) 80370d8: e396 b.n 8037808 pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) k; 80370da: 4bb7 ldr r3, [pc, #732] ; (80373b8 ) 80370dc: 781b ldrb r3, [r3, #0] 80370de: b2db uxtb r3, r3 80370e0: 4618 mov r0, r3 80370e2: 4bb6 ldr r3, [pc, #728] ; (80373bc ) 80370e4: 781b ldrb r3, [r3, #0] 80370e6: b2db uxtb r3, r3 80370e8: 4619 mov r1, r3 80370ea: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80370ee: ee07 3a90 vmov s15, r3 80370f2: eef8 7a67 vcvt.f32.u32 s15, s15 80370f6: 4aad ldr r2, [pc, #692] ; (80373ac ) 80370f8: 0083 lsls r3, r0, #2 80370fa: 440b add r3, r1 80370fc: 33b6 adds r3, #182 ; 0xb6 80370fe: 009b lsls r3, r3, #2 8037100: 4413 add r3, r2 8037102: 3304 adds r3, #4 8037104: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] *= 0.1f; 8037108: 4bab ldr r3, [pc, #684] ; (80373b8 ) 803710a: 781b ldrb r3, [r3, #0] 803710c: b2da uxtb r2, r3 803710e: 4610 mov r0, r2 8037110: 4baa ldr r3, [pc, #680] ; (80373bc ) 8037112: 781b ldrb r3, [r3, #0] 8037114: b2db uxtb r3, r3 8037116: 4619 mov r1, r3 8037118: 4615 mov r5, r2 803711a: 461c mov r4, r3 803711c: 4aa3 ldr r2, [pc, #652] ; (80373ac ) 803711e: 00ab lsls r3, r5, #2 8037120: 4423 add r3, r4 8037122: 33b6 adds r3, #182 ; 0xb6 8037124: 009b lsls r3, r3, #2 8037126: 4413 add r3, r2 8037128: 3304 adds r3, #4 803712a: edd3 7a00 vldr s15, [r3] 803712e: ed9f 7aa6 vldr s14, [pc, #664] ; 80373c8 8037132: ee67 7a87 vmul.f32 s15, s15, s14 8037136: 4a9d ldr r2, [pc, #628] ; (80373ac ) 8037138: 0083 lsls r3, r0, #2 803713a: 440b add r3, r1 803713c: 33b6 adds r3, #182 ; 0xb6 803713e: 009b lsls r3, r3, #2 8037140: 4413 add r3, r2 8037142: 3304 adds r3, #4 8037144: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001f; 8037148: 4b9b ldr r3, [pc, #620] ; (80373b8 ) 803714a: 781b ldrb r3, [r3, #0] 803714c: b2da uxtb r2, r3 803714e: 4610 mov r0, r2 8037150: 4b9a ldr r3, [pc, #616] ; (80373bc ) 8037152: 781b ldrb r3, [r3, #0] 8037154: b2db uxtb r3, r3 8037156: 4619 mov r1, r3 8037158: 4615 mov r5, r2 803715a: 461c mov r4, r3 803715c: 4a93 ldr r2, [pc, #588] ; (80373ac ) 803715e: 00ab lsls r3, r5, #2 8037160: 4423 add r3, r4 8037162: 33b6 adds r3, #182 ; 0xb6 8037164: 009b lsls r3, r3, #2 8037166: 4413 add r3, r2 8037168: 3304 adds r3, #4 803716a: edd3 7a00 vldr s15, [r3] 803716e: ed9f 7a95 vldr s14, [pc, #596] ; 80373c4 8037172: ee77 7a87 vadd.f32 s15, s15, s14 8037176: 4a8d ldr r2, [pc, #564] ; (80373ac ) 8037178: 0083 lsls r3, r0, #2 803717a: 440b add r3, r1 803717c: 33b6 adds r3, #182 ; 0xb6 803717e: 009b lsls r3, r3, #2 8037180: 4413 add r3, r2 8037182: 3304 adds r3, #4 8037184: edc3 7a00 vstr s15, [r3] if(fl < 10.0f) 8037188: e33e b.n 8037808 if((menupos >= DiagW_IDT) && (menupos <= DiagW_IKD)) 803718a: 4b90 ldr r3, [pc, #576] ; (80373cc ) 803718c: 781b ldrb r3, [r3, #0] 803718e: b2db uxtb r3, r3 8037190: 2b18 cmp r3, #24 8037192: f240 819a bls.w 80374ca 8037196: 4b8d ldr r3, [pc, #564] ; (80373cc ) 8037198: 781b ldrb r3, [r3, #0] 803719a: b2db uxtb r3, r3 803719c: 2b1e cmp r3, #30 803719e: f200 8194 bhi.w 80374ca k = (uint32_t) (pardata.DIAGN_W[CURR_POINT][CURR_USL] * 10.0f); 80371a2: 4b85 ldr r3, [pc, #532] ; (80373b8 ) 80371a4: 781b ldrb r3, [r3, #0] 80371a6: b2db uxtb r3, r3 80371a8: 4618 mov r0, r3 80371aa: 4b84 ldr r3, [pc, #528] ; (80373bc ) 80371ac: 781b ldrb r3, [r3, #0] 80371ae: b2db uxtb r3, r3 80371b0: 4619 mov r1, r3 80371b2: 4a7e ldr r2, [pc, #504] ; (80373ac ) 80371b4: 0083 lsls r3, r0, #2 80371b6: 440b add r3, r1 80371b8: 33d6 adds r3, #214 ; 0xd6 80371ba: 009b lsls r3, r3, #2 80371bc: 4413 add r3, r2 80371be: 3304 adds r3, #4 80371c0: edd3 7a00 vldr s15, [r3] 80371c4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80371c8: ee67 7a87 vmul.f32 s15, s15, s14 80371cc: eefc 7ae7 vcvt.u32.f32 s15, s15 80371d0: ee17 3a90 vmov r3, s15 80371d4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80371d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80371dc: 095b lsrs r3, r3, #5 80371de: 4a7c ldr r2, [pc, #496] ; (80373d0 ) 80371e0: fba2 2303 umull r2, r3, r2, r3 80371e4: 09db lsrs r3, r3, #7 80371e6: b2db uxtb r3, r3 80371e8: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80371ec: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80371f0: 0953 lsrs r3, r2, #5 80371f2: 4977 ldr r1, [pc, #476] ; (80373d0 ) 80371f4: fba1 1303 umull r1, r3, r1, r3 80371f8: 09db lsrs r3, r3, #7 80371fa: 4976 ldr r1, [pc, #472] ; (80373d4 ) 80371fc: fb01 f303 mul.w r3, r1, r3 8037200: 1ad3 subs r3, r2, r3 8037202: 4a75 ldr r2, [pc, #468] ; (80373d8 ) 8037204: fba2 2303 umull r2, r3, r2, r3 8037208: 0b5b lsrs r3, r3, #13 803720a: b2db uxtb r3, r3 803720c: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8037210: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037214: 0953 lsrs r3, r2, #5 8037216: 496e ldr r1, [pc, #440] ; (80373d0 ) 8037218: fba1 1303 umull r1, r3, r1, r3 803721c: 09db lsrs r3, r3, #7 803721e: 496d ldr r1, [pc, #436] ; (80373d4 ) 8037220: fb01 f303 mul.w r3, r1, r3 8037224: 1ad3 subs r3, r2, r3 8037226: 4a6c ldr r2, [pc, #432] ; (80373d8 ) 8037228: fba2 1203 umull r1, r2, r2, r3 803722c: 0b52 lsrs r2, r2, #13 803722e: f242 7110 movw r1, #10000 ; 0x2710 8037232: fb01 f202 mul.w r2, r1, r2 8037236: 1a9a subs r2, r3, r2 8037238: 4b68 ldr r3, [pc, #416] ; (80373dc ) 803723a: fba3 2302 umull r2, r3, r3, r2 803723e: 099b lsrs r3, r3, #6 8037240: b2db uxtb r3, r3 8037242: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8037246: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803724a: 095a lsrs r2, r3, #5 803724c: 4960 ldr r1, [pc, #384] ; (80373d0 ) 803724e: fba1 1202 umull r1, r2, r1, r2 8037252: 09d2 lsrs r2, r2, #7 8037254: 495f ldr r1, [pc, #380] ; (80373d4 ) 8037256: fb01 f202 mul.w r2, r1, r2 803725a: 1a9a subs r2, r3, r2 803725c: 4b5e ldr r3, [pc, #376] ; (80373d8 ) 803725e: fba3 1302 umull r1, r3, r3, r2 8037262: 0b5b lsrs r3, r3, #13 8037264: f242 7110 movw r1, #10000 ; 0x2710 8037268: fb01 f303 mul.w r3, r1, r3 803726c: 1ad3 subs r3, r2, r3 803726e: 4a5b ldr r2, [pc, #364] ; (80373dc ) 8037270: fba2 1203 umull r1, r2, r2, r3 8037274: 0992 lsrs r2, r2, #6 8037276: f44f 717a mov.w r1, #1000 ; 0x3e8 803727a: fb01 f202 mul.w r2, r1, r2 803727e: 1a9a subs r2, r3, r2 8037280: 4b57 ldr r3, [pc, #348] ; (80373e0 ) 8037282: fba3 2302 umull r2, r3, r3, r2 8037286: 095b lsrs r3, r3, #5 8037288: b2db uxtb r3, r3 803728a: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803728e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037292: 0953 lsrs r3, r2, #5 8037294: 494e ldr r1, [pc, #312] ; (80373d0 ) 8037296: fba1 1303 umull r1, r3, r1, r3 803729a: 09db lsrs r3, r3, #7 803729c: 494d ldr r1, [pc, #308] ; (80373d4 ) 803729e: fb01 f303 mul.w r3, r1, r3 80372a2: 1ad3 subs r3, r2, r3 80372a4: 4a4c ldr r2, [pc, #304] ; (80373d8 ) 80372a6: fba2 1203 umull r1, r2, r2, r3 80372aa: 0b52 lsrs r2, r2, #13 80372ac: f242 7110 movw r1, #10000 ; 0x2710 80372b0: fb01 f202 mul.w r2, r1, r2 80372b4: 1a9a subs r2, r3, r2 80372b6: 4b49 ldr r3, [pc, #292] ; (80373dc ) 80372b8: fba3 1302 umull r1, r3, r3, r2 80372bc: 099b lsrs r3, r3, #6 80372be: f44f 717a mov.w r1, #1000 ; 0x3e8 80372c2: fb01 f303 mul.w r3, r1, r3 80372c6: 1ad3 subs r3, r2, r3 80372c8: 4a45 ldr r2, [pc, #276] ; (80373e0 ) 80372ca: fba2 1203 umull r1, r2, r2, r3 80372ce: 0952 lsrs r2, r2, #5 80372d0: 2164 movs r1, #100 ; 0x64 80372d2: fb01 f202 mul.w r2, r1, r2 80372d6: 1a9a subs r2, r3, r2 80372d8: 4b39 ldr r3, [pc, #228] ; (80373c0 ) 80372da: fba3 2302 umull r2, r3, r3, r2 80372de: 08db lsrs r3, r3, #3 80372e0: b2db uxtb r3, r3 80372e2: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80372e6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80372ea: 0953 lsrs r3, r2, #5 80372ec: 4938 ldr r1, [pc, #224] ; (80373d0 ) 80372ee: fba1 1303 umull r1, r3, r1, r3 80372f2: 09db lsrs r3, r3, #7 80372f4: 4937 ldr r1, [pc, #220] ; (80373d4 ) 80372f6: fb01 f303 mul.w r3, r1, r3 80372fa: 1ad3 subs r3, r2, r3 80372fc: 4a36 ldr r2, [pc, #216] ; (80373d8 ) 80372fe: fba2 1203 umull r1, r2, r2, r3 8037302: 0b52 lsrs r2, r2, #13 8037304: f242 7110 movw r1, #10000 ; 0x2710 8037308: fb01 f202 mul.w r2, r1, r2 803730c: 1a9a subs r2, r3, r2 803730e: 4b33 ldr r3, [pc, #204] ; (80373dc ) 8037310: fba3 1302 umull r1, r3, r3, r2 8037314: 099b lsrs r3, r3, #6 8037316: f44f 717a mov.w r1, #1000 ; 0x3e8 803731a: fb01 f303 mul.w r3, r1, r3 803731e: 1ad3 subs r3, r2, r3 8037320: 4a2f ldr r2, [pc, #188] ; (80373e0 ) 8037322: fba2 1203 umull r1, r2, r2, r3 8037326: 0952 lsrs r2, r2, #5 8037328: 2164 movs r1, #100 ; 0x64 803732a: fb01 f202 mul.w r2, r1, r2 803732e: 1a9a subs r2, r3, r2 8037330: 4b23 ldr r3, [pc, #140] ; (80373c0 ) 8037332: fba3 1302 umull r1, r3, r3, r2 8037336: 08d9 lsrs r1, r3, #3 8037338: 460b mov r3, r1 803733a: 009b lsls r3, r3, #2 803733c: 440b add r3, r1 803733e: 005b lsls r3, r3, #1 8037340: 1ad1 subs r1, r2, r3 8037342: b2cb uxtb r3, r1 8037344: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8037348: 4b20 ldr r3, [pc, #128] ; (80373cc ) 803734a: 781b ldrb r3, [r3, #0] 803734c: b2db uxtb r3, r3 803734e: 3b19 subs r3, #25 8037350: 2b05 cmp r3, #5 8037352: d853 bhi.n 80373fc 8037354: a201 add r2, pc, #4 ; (adr r2, 803735c ) 8037356: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803735a: bf00 nop 803735c: 08037375 .word 0x08037375 8037360: 08037383 .word 0x08037383 8037364: 08037393 .word 0x08037393 8037368: 080373a1 .word 0x080373a1 803736c: 080373e5 .word 0x080373e5 8037370: 080373f1 .word 0x080373f1 k += 100000; 8037374: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037378: 4b16 ldr r3, [pc, #88] ; (80373d4 ) 803737a: 4413 add r3, r2 803737c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8037380: e03c b.n 80373fc k += 10000; 8037382: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037386: f242 7310 movw r3, #10000 ; 0x2710 803738a: 4413 add r3, r2 803738c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8037390: e034 b.n 80373fc k += 1000; 8037392: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037396: f503 737a add.w r3, r3, #1000 ; 0x3e8 803739a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803739e: e02d b.n 80373fc k += 100; 80373a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80373a4: 3364 adds r3, #100 ; 0x64 80373a6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80373aa: e027 b.n 80373fc 80373ac: 20023eb8 .word 0x20023eb8 80373b0: 080f5268 .word 0x080f5268 80373b4: 3851b717 .word 0x3851b717 80373b8: 2002105d .word 0x2002105d 80373bc: 2002105f .word 0x2002105f 80373c0: cccccccd .word 0xcccccccd 80373c4: 38d1b717 .word 0x38d1b717 80373c8: 3dcccccd .word 0x3dcccccd 80373cc: 20020070 .word 0x20020070 80373d0: 0a7c5ac5 .word 0x0a7c5ac5 80373d4: 000186a0 .word 0x000186a0 80373d8: d1b71759 .word 0xd1b71759 80373dc: 10624dd3 .word 0x10624dd3 80373e0: 51eb851f .word 0x51eb851f k += 10; 80373e4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80373e8: 330a adds r3, #10 80373ea: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80373ee: e005 b.n 80373fc k++; 80373f0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80373f4: 3301 adds r3, #1 80373f6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80373fa: bf00 nop if(k > 999999) k = 999999; 80373fc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037400: 4abd ldr r2, [pc, #756] ; (80376f8 ) 8037402: 4293 cmp r3, r2 8037404: d902 bls.n 803740c 8037406: 4bbc ldr r3, [pc, #752] ; (80376f8 ) 8037408: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803740c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037410: 2b00 cmp r3, #0 8037412: d102 bne.n 803741a 8037414: 2301 movs r3, #1 8037416: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.DIAGN_W[CURR_POINT][CURR_USL] = (float32_t) k; 803741a: 4bb8 ldr r3, [pc, #736] ; (80376fc ) 803741c: 781b ldrb r3, [r3, #0] 803741e: b2db uxtb r3, r3 8037420: 4618 mov r0, r3 8037422: 4bb7 ldr r3, [pc, #732] ; (8037700 ) 8037424: 781b ldrb r3, [r3, #0] 8037426: b2db uxtb r3, r3 8037428: 4619 mov r1, r3 803742a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803742e: ee07 3a90 vmov s15, r3 8037432: eef8 7a67 vcvt.f32.u32 s15, s15 8037436: 4ab3 ldr r2, [pc, #716] ; (8037704 ) 8037438: 0083 lsls r3, r0, #2 803743a: 440b add r3, r1 803743c: 33d6 adds r3, #214 ; 0xd6 803743e: 009b lsls r3, r3, #2 8037440: 4413 add r3, r2 8037442: 3304 adds r3, #4 8037444: edc3 7a00 vstr s15, [r3] pardata.DIAGN_W[CURR_POINT][CURR_USL] *= 0.1f; 8037448: 4bac ldr r3, [pc, #688] ; (80376fc ) 803744a: 781b ldrb r3, [r3, #0] 803744c: b2da uxtb r2, r3 803744e: 4610 mov r0, r2 8037450: 4bab ldr r3, [pc, #684] ; (8037700 ) 8037452: 781b ldrb r3, [r3, #0] 8037454: b2db uxtb r3, r3 8037456: 4619 mov r1, r3 8037458: 4615 mov r5, r2 803745a: 461c mov r4, r3 803745c: 4aa9 ldr r2, [pc, #676] ; (8037704 ) 803745e: 00ab lsls r3, r5, #2 8037460: 4423 add r3, r4 8037462: 33d6 adds r3, #214 ; 0xd6 8037464: 009b lsls r3, r3, #2 8037466: 4413 add r3, r2 8037468: 3304 adds r3, #4 803746a: edd3 7a00 vldr s15, [r3] 803746e: ed9f 7aa6 vldr s14, [pc, #664] ; 8037708 8037472: ee67 7a87 vmul.f32 s15, s15, s14 8037476: 4aa3 ldr r2, [pc, #652] ; (8037704 ) 8037478: 0083 lsls r3, r0, #2 803747a: 440b add r3, r1 803747c: 33d6 adds r3, #214 ; 0xd6 803747e: 009b lsls r3, r3, #2 8037480: 4413 add r3, r2 8037482: 3304 adds r3, #4 8037484: edc3 7a00 vstr s15, [r3] pardata.DIAGN_W[CURR_POINT][CURR_USL] += 0.05f; 8037488: 4b9c ldr r3, [pc, #624] ; (80376fc ) 803748a: 781b ldrb r3, [r3, #0] 803748c: b2da uxtb r2, r3 803748e: 4610 mov r0, r2 8037490: 4b9b ldr r3, [pc, #620] ; (8037700 ) 8037492: 781b ldrb r3, [r3, #0] 8037494: b2db uxtb r3, r3 8037496: 4619 mov r1, r3 8037498: 4615 mov r5, r2 803749a: 461c mov r4, r3 803749c: 4a99 ldr r2, [pc, #612] ; (8037704 ) 803749e: 00ab lsls r3, r5, #2 80374a0: 4423 add r3, r4 80374a2: 33d6 adds r3, #214 ; 0xd6 80374a4: 009b lsls r3, r3, #2 80374a6: 4413 add r3, r2 80374a8: 3304 adds r3, #4 80374aa: edd3 7a00 vldr s15, [r3] 80374ae: ed9f 7a97 vldr s14, [pc, #604] ; 803770c 80374b2: ee77 7a87 vadd.f32 s15, s15, s14 80374b6: 4a93 ldr r2, [pc, #588] ; (8037704 ) 80374b8: 0083 lsls r3, r0, #2 80374ba: 440b add r3, r1 80374bc: 33d6 adds r3, #214 ; 0xd6 80374be: 009b lsls r3, r3, #2 80374c0: 4413 add r3, r2 80374c2: 3304 adds r3, #4 80374c4: edc3 7a00 vstr s15, [r3] 80374c8: e19e b.n 8037808 if((menupos >= DiagA_IDT) && (menupos <= DiagA_IKD)) 80374ca: 4b91 ldr r3, [pc, #580] ; (8037710 ) 80374cc: 781b ldrb r3, [r3, #0] 80374ce: b2db uxtb r3, r3 80374d0: 2b1e cmp r3, #30 80374d2: f245 85e8 bls.w 803d0a6 80374d6: 4b8e ldr r3, [pc, #568] ; (8037710 ) 80374d8: 781b ldrb r3, [r3, #0] 80374da: b2db uxtb r3, r3 80374dc: 2b24 cmp r3, #36 ; 0x24 80374de: f205 85e2 bhi.w 803d0a6 k = (uint32_t) (pardata.DIAGN_A[CURR_POINT][CURR_USL] * 10.0f); 80374e2: 4b86 ldr r3, [pc, #536] ; (80376fc ) 80374e4: 781b ldrb r3, [r3, #0] 80374e6: b2db uxtb r3, r3 80374e8: 4618 mov r0, r3 80374ea: 4b85 ldr r3, [pc, #532] ; (8037700 ) 80374ec: 781b ldrb r3, [r3, #0] 80374ee: b2db uxtb r3, r3 80374f0: 4619 mov r1, r3 80374f2: 4a84 ldr r2, [pc, #528] ; (8037704 ) 80374f4: 0083 lsls r3, r0, #2 80374f6: 440b add r3, r1 80374f8: 33f6 adds r3, #246 ; 0xf6 80374fa: 009b lsls r3, r3, #2 80374fc: 4413 add r3, r2 80374fe: 3304 adds r3, #4 8037500: edd3 7a00 vldr s15, [r3] 8037504: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8037508: ee67 7a87 vmul.f32 s15, s15, s14 803750c: eefc 7ae7 vcvt.u32.f32 s15, s15 8037510: ee17 3a90 vmov r3, s15 8037514: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8037518: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803751c: 095b lsrs r3, r3, #5 803751e: 4a7d ldr r2, [pc, #500] ; (8037714 ) 8037520: fba2 2303 umull r2, r3, r2, r3 8037524: 09db lsrs r3, r3, #7 8037526: b2db uxtb r3, r3 8037528: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803752c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037530: 0953 lsrs r3, r2, #5 8037532: 4978 ldr r1, [pc, #480] ; (8037714 ) 8037534: fba1 1303 umull r1, r3, r1, r3 8037538: 09db lsrs r3, r3, #7 803753a: 4977 ldr r1, [pc, #476] ; (8037718 ) 803753c: fb01 f303 mul.w r3, r1, r3 8037540: 1ad3 subs r3, r2, r3 8037542: 4a76 ldr r2, [pc, #472] ; (803771c ) 8037544: fba2 2303 umull r2, r3, r2, r3 8037548: 0b5b lsrs r3, r3, #13 803754a: b2db uxtb r3, r3 803754c: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8037550: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037554: 0953 lsrs r3, r2, #5 8037556: 496f ldr r1, [pc, #444] ; (8037714 ) 8037558: fba1 1303 umull r1, r3, r1, r3 803755c: 09db lsrs r3, r3, #7 803755e: 496e ldr r1, [pc, #440] ; (8037718 ) 8037560: fb01 f303 mul.w r3, r1, r3 8037564: 1ad3 subs r3, r2, r3 8037566: 4a6d ldr r2, [pc, #436] ; (803771c ) 8037568: fba2 1203 umull r1, r2, r2, r3 803756c: 0b52 lsrs r2, r2, #13 803756e: f242 7110 movw r1, #10000 ; 0x2710 8037572: fb01 f202 mul.w r2, r1, r2 8037576: 1a9a subs r2, r3, r2 8037578: 4b69 ldr r3, [pc, #420] ; (8037720 ) 803757a: fba3 2302 umull r2, r3, r3, r2 803757e: 099b lsrs r3, r3, #6 8037580: b2db uxtb r3, r3 8037582: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8037586: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803758a: 095a lsrs r2, r3, #5 803758c: 4961 ldr r1, [pc, #388] ; (8037714 ) 803758e: fba1 1202 umull r1, r2, r1, r2 8037592: 09d2 lsrs r2, r2, #7 8037594: 4960 ldr r1, [pc, #384] ; (8037718 ) 8037596: fb01 f202 mul.w r2, r1, r2 803759a: 1a9a subs r2, r3, r2 803759c: 4b5f ldr r3, [pc, #380] ; (803771c ) 803759e: fba3 1302 umull r1, r3, r3, r2 80375a2: 0b5b lsrs r3, r3, #13 80375a4: f242 7110 movw r1, #10000 ; 0x2710 80375a8: fb01 f303 mul.w r3, r1, r3 80375ac: 1ad3 subs r3, r2, r3 80375ae: 4a5c ldr r2, [pc, #368] ; (8037720 ) 80375b0: fba2 1203 umull r1, r2, r2, r3 80375b4: 0992 lsrs r2, r2, #6 80375b6: f44f 717a mov.w r1, #1000 ; 0x3e8 80375ba: fb01 f202 mul.w r2, r1, r2 80375be: 1a9a subs r2, r3, r2 80375c0: 4b58 ldr r3, [pc, #352] ; (8037724 ) 80375c2: fba3 2302 umull r2, r3, r3, r2 80375c6: 095b lsrs r3, r3, #5 80375c8: b2db uxtb r3, r3 80375ca: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80375ce: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80375d2: 0953 lsrs r3, r2, #5 80375d4: 494f ldr r1, [pc, #316] ; (8037714 ) 80375d6: fba1 1303 umull r1, r3, r1, r3 80375da: 09db lsrs r3, r3, #7 80375dc: 494e ldr r1, [pc, #312] ; (8037718 ) 80375de: fb01 f303 mul.w r3, r1, r3 80375e2: 1ad3 subs r3, r2, r3 80375e4: 4a4d ldr r2, [pc, #308] ; (803771c ) 80375e6: fba2 1203 umull r1, r2, r2, r3 80375ea: 0b52 lsrs r2, r2, #13 80375ec: f242 7110 movw r1, #10000 ; 0x2710 80375f0: fb01 f202 mul.w r2, r1, r2 80375f4: 1a9a subs r2, r3, r2 80375f6: 4b4a ldr r3, [pc, #296] ; (8037720 ) 80375f8: fba3 1302 umull r1, r3, r3, r2 80375fc: 099b lsrs r3, r3, #6 80375fe: f44f 717a mov.w r1, #1000 ; 0x3e8 8037602: fb01 f303 mul.w r3, r1, r3 8037606: 1ad3 subs r3, r2, r3 8037608: 4a46 ldr r2, [pc, #280] ; (8037724 ) 803760a: fba2 1203 umull r1, r2, r2, r3 803760e: 0952 lsrs r2, r2, #5 8037610: 2164 movs r1, #100 ; 0x64 8037612: fb01 f202 mul.w r2, r1, r2 8037616: 1a9a subs r2, r3, r2 8037618: 4b43 ldr r3, [pc, #268] ; (8037728 ) 803761a: fba3 2302 umull r2, r3, r3, r2 803761e: 08db lsrs r3, r3, #3 8037620: b2db uxtb r3, r3 8037622: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8037626: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803762a: 0953 lsrs r3, r2, #5 803762c: 4939 ldr r1, [pc, #228] ; (8037714 ) 803762e: fba1 1303 umull r1, r3, r1, r3 8037632: 09db lsrs r3, r3, #7 8037634: 4938 ldr r1, [pc, #224] ; (8037718 ) 8037636: fb01 f303 mul.w r3, r1, r3 803763a: 1ad3 subs r3, r2, r3 803763c: 4a37 ldr r2, [pc, #220] ; (803771c ) 803763e: fba2 1203 umull r1, r2, r2, r3 8037642: 0b52 lsrs r2, r2, #13 8037644: f242 7110 movw r1, #10000 ; 0x2710 8037648: fb01 f202 mul.w r2, r1, r2 803764c: 1a9a subs r2, r3, r2 803764e: 4b34 ldr r3, [pc, #208] ; (8037720 ) 8037650: fba3 1302 umull r1, r3, r3, r2 8037654: 099b lsrs r3, r3, #6 8037656: f44f 717a mov.w r1, #1000 ; 0x3e8 803765a: fb01 f303 mul.w r3, r1, r3 803765e: 1ad3 subs r3, r2, r3 8037660: 4a30 ldr r2, [pc, #192] ; (8037724 ) 8037662: fba2 1203 umull r1, r2, r2, r3 8037666: 0952 lsrs r2, r2, #5 8037668: 2164 movs r1, #100 ; 0x64 803766a: fb01 f202 mul.w r2, r1, r2 803766e: 1a9a subs r2, r3, r2 8037670: 4b2d ldr r3, [pc, #180] ; (8037728 ) 8037672: fba3 1302 umull r1, r3, r3, r2 8037676: 08d9 lsrs r1, r3, #3 8037678: 460b mov r3, r1 803767a: 009b lsls r3, r3, #2 803767c: 440b add r3, r1 803767e: 005b lsls r3, r3, #1 8037680: 1ad1 subs r1, r2, r3 8037682: b2cb uxtb r3, r1 8037684: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8037688: 4b21 ldr r3, [pc, #132] ; (8037710 ) 803768a: 781b ldrb r3, [r3, #0] 803768c: b2db uxtb r3, r3 803768e: 3b1f subs r3, #31 8037690: 2b05 cmp r3, #5 8037692: d851 bhi.n 8037738 8037694: a201 add r2, pc, #4 ; (adr r2, 803769c ) 8037696: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803769a: bf00 nop 803769c: 080376b5 .word 0x080376b5 80376a0: 080376c3 .word 0x080376c3 80376a4: 080376d3 .word 0x080376d3 80376a8: 080376e1 .word 0x080376e1 80376ac: 080376ed .word 0x080376ed 80376b0: 0803772d .word 0x0803772d k += 100000; 80376b4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80376b8: 4b17 ldr r3, [pc, #92] ; (8037718 ) 80376ba: 4413 add r3, r2 80376bc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80376c0: e03a b.n 8037738 k += 10000; 80376c2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80376c6: f242 7310 movw r3, #10000 ; 0x2710 80376ca: 4413 add r3, r2 80376cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80376d0: e032 b.n 8037738 k += 1000; 80376d2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80376d6: f503 737a add.w r3, r3, #1000 ; 0x3e8 80376da: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80376de: e02b b.n 8037738 k += 100; 80376e0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80376e4: 3364 adds r3, #100 ; 0x64 80376e6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80376ea: e025 b.n 8037738 k += 10; 80376ec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80376f0: 330a adds r3, #10 80376f2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80376f6: e01f b.n 8037738 80376f8: 000f423f .word 0x000f423f 80376fc: 2002105d .word 0x2002105d 8037700: 2002105f .word 0x2002105f 8037704: 20023eb8 .word 0x20023eb8 8037708: 3dcccccd .word 0x3dcccccd 803770c: 3d4ccccd .word 0x3d4ccccd 8037710: 20020070 .word 0x20020070 8037714: 0a7c5ac5 .word 0x0a7c5ac5 8037718: 000186a0 .word 0x000186a0 803771c: d1b71759 .word 0xd1b71759 8037720: 10624dd3 .word 0x10624dd3 8037724: 51eb851f .word 0x51eb851f 8037728: cccccccd .word 0xcccccccd k++; 803772c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037730: 3301 adds r3, #1 8037732: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8037736: bf00 nop if(k > 999999) k = 999999; 8037738: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803773c: 4ab7 ldr r2, [pc, #732] ; (8037a1c ) 803773e: 4293 cmp r3, r2 8037740: d902 bls.n 8037748 8037742: 4bb6 ldr r3, [pc, #728] ; (8037a1c ) 8037744: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8037748: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803774c: 2b00 cmp r3, #0 803774e: d102 bne.n 8037756 8037750: 2301 movs r3, #1 8037752: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.DIAGN_A[CURR_POINT][CURR_USL] = (float32_t) k; 8037756: 4bb2 ldr r3, [pc, #712] ; (8037a20 ) 8037758: 781b ldrb r3, [r3, #0] 803775a: b2db uxtb r3, r3 803775c: 4618 mov r0, r3 803775e: 4bb1 ldr r3, [pc, #708] ; (8037a24 ) 8037760: 781b ldrb r3, [r3, #0] 8037762: b2db uxtb r3, r3 8037764: 4619 mov r1, r3 8037766: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803776a: ee07 3a90 vmov s15, r3 803776e: eef8 7a67 vcvt.f32.u32 s15, s15 8037772: 4aad ldr r2, [pc, #692] ; (8037a28 ) 8037774: 0083 lsls r3, r0, #2 8037776: 440b add r3, r1 8037778: 33f6 adds r3, #246 ; 0xf6 803777a: 009b lsls r3, r3, #2 803777c: 4413 add r3, r2 803777e: 3304 adds r3, #4 8037780: edc3 7a00 vstr s15, [r3] pardata.DIAGN_A[CURR_POINT][CURR_USL] *= 0.1f; 8037784: 4ba6 ldr r3, [pc, #664] ; (8037a20 ) 8037786: 781b ldrb r3, [r3, #0] 8037788: b2da uxtb r2, r3 803778a: 4610 mov r0, r2 803778c: 4ba5 ldr r3, [pc, #660] ; (8037a24 ) 803778e: 781b ldrb r3, [r3, #0] 8037790: b2db uxtb r3, r3 8037792: 4619 mov r1, r3 8037794: 4615 mov r5, r2 8037796: 461c mov r4, r3 8037798: 4aa3 ldr r2, [pc, #652] ; (8037a28 ) 803779a: 00ab lsls r3, r5, #2 803779c: 4423 add r3, r4 803779e: 33f6 adds r3, #246 ; 0xf6 80377a0: 009b lsls r3, r3, #2 80377a2: 4413 add r3, r2 80377a4: 3304 adds r3, #4 80377a6: edd3 7a00 vldr s15, [r3] 80377aa: ed9f 7aa0 vldr s14, [pc, #640] ; 8037a2c 80377ae: ee67 7a87 vmul.f32 s15, s15, s14 80377b2: 4a9d ldr r2, [pc, #628] ; (8037a28 ) 80377b4: 0083 lsls r3, r0, #2 80377b6: 440b add r3, r1 80377b8: 33f6 adds r3, #246 ; 0xf6 80377ba: 009b lsls r3, r3, #2 80377bc: 4413 add r3, r2 80377be: 3304 adds r3, #4 80377c0: edc3 7a00 vstr s15, [r3] pardata.DIAGN_A[CURR_POINT][CURR_USL] += 0.05f; 80377c4: 4b96 ldr r3, [pc, #600] ; (8037a20 ) 80377c6: 781b ldrb r3, [r3, #0] 80377c8: b2da uxtb r2, r3 80377ca: 4610 mov r0, r2 80377cc: 4b95 ldr r3, [pc, #596] ; (8037a24 ) 80377ce: 781b ldrb r3, [r3, #0] 80377d0: b2db uxtb r3, r3 80377d2: 4619 mov r1, r3 80377d4: 4615 mov r5, r2 80377d6: 461c mov r4, r3 80377d8: 4a93 ldr r2, [pc, #588] ; (8037a28 ) 80377da: 00ab lsls r3, r5, #2 80377dc: 4423 add r3, r4 80377de: 33f6 adds r3, #246 ; 0xf6 80377e0: 009b lsls r3, r3, #2 80377e2: 4413 add r3, r2 80377e4: 3304 adds r3, #4 80377e6: edd3 7a00 vldr s15, [r3] 80377ea: ed9f 7a91 vldr s14, [pc, #580] ; 8037a30 80377ee: ee77 7a87 vadd.f32 s15, s15, s14 80377f2: 4a8d ldr r2, [pc, #564] ; (8037a28 ) 80377f4: 0083 lsls r3, r0, #2 80377f6: 440b add r3, r1 80377f8: 33f6 adds r3, #246 ; 0xf6 80377fa: 009b lsls r3, r3, #2 80377fc: 4413 add r3, r2 80377fe: 3304 adds r3, #4 8037800: edc3 7a00 vstr s15, [r3] break; 8037804: f005 bc4f b.w 803d0a6 8037808: f005 bc4d b.w 803d0a6 case ROLL_RESULTS: if(menupos > 0) menupos--; 803780c: 4b89 ldr r3, [pc, #548] ; (8037a34 ) 803780e: 781b ldrb r3, [r3, #0] 8037810: b2db uxtb r3, r3 8037812: 2b00 cmp r3, #0 8037814: d008 beq.n 8037828 8037816: 4b87 ldr r3, [pc, #540] ; (8037a34 ) 8037818: 781b ldrb r3, [r3, #0] 803781a: b2db uxtb r3, r3 803781c: 3b01 subs r3, #1 803781e: b2da uxtb r2, r3 8037820: 4b84 ldr r3, [pc, #528] ; (8037a34 ) 8037822: 701a strb r2, [r3, #0] else menupos = 11; break; 8037824: f005 bc8b b.w 803d13e else menupos = 11; 8037828: 4b82 ldr r3, [pc, #520] ; (8037a34 ) 803782a: 220b movs r2, #11 803782c: 701a strb r2, [r3, #0] break; 803782e: f005 bc86 b.w 803d13e case TREND_A: menu = TREND_V; 8037832: 4b81 ldr r3, [pc, #516] ; (8037a38 ) 8037834: 2246 movs r2, #70 ; 0x46 8037836: 701a strb r2, [r3, #0] break; 8037838: f005 bc81 b.w 803d13e case TREND_V: menu = TREND_S; 803783c: 4b7e ldr r3, [pc, #504] ; (8037a38 ) 803783e: 2247 movs r2, #71 ; 0x47 8037840: 701a strb r2, [r3, #0] break; 8037842: f005 bc7c b.w 803d13e case TREND_S: menu = TREND_A; 8037846: 4b7c ldr r3, [pc, #496] ; (8037a38 ) 8037848: 2245 movs r2, #69 ; 0x45 803784a: 701a strb r2, [r3, #0] break; 803784c: f005 bc77 b.w 803d13e case MAIN_UDAR: if(AUTOKU) 8037850: 4b7a ldr r3, [pc, #488] ; (8037a3c ) 8037852: 781b ldrb r3, [r3, #0] 8037854: b2db uxtb r3, r3 8037856: 2b00 cmp r3, #0 8037858: d002 beq.n 8037860 AUTOKU = false; 803785a: 4b78 ldr r3, [pc, #480] ; (8037a3c ) 803785c: 2200 movs r2, #0 803785e: 701a strb r2, [r3, #0] if(pardata.IKU < Ku8) 8037860: 4b71 ldr r3, [pc, #452] ; (8037a28 ) 8037862: 7a1b ldrb r3, [r3, #8] 8037864: b2db uxtb r3, r3 8037866: 2b02 cmp r3, #2 8037868: d80a bhi.n 8037880 { pardata.IKU++; 803786a: 4b6f ldr r3, [pc, #444] ; (8037a28 ) 803786c: 7a1b ldrb r3, [r3, #8] 803786e: b2db uxtb r3, r3 8037870: 3301 adds r3, #1 8037872: b2da uxtb r2, r3 8037874: 4b6c ldr r3, [pc, #432] ; (8037a28 ) 8037876: 721a strb r2, [r3, #8] SetKU(); 8037878: f7e9 fffc bl 8021874 } else pardata.IKU = Ku8; break; 803787c: f005 bc5f b.w 803d13e pardata.IKU = Ku8; 8037880: 4b69 ldr r3, [pc, #420] ; (8037a28 ) 8037882: 2203 movs r2, #3 8037884: 721a strb r2, [r3, #8] break; 8037886: f005 bc5a b.w 803d13e case MAIN_DIAGN: switch(menupos) 803788a: 4b6a ldr r3, [pc, #424] ; (8037a34 ) 803788c: 781b ldrb r3, [r3, #0] 803788e: b2db uxtb r3, r3 8037890: 2b03 cmp r3, #3 8037892: d003 beq.n 803789c 8037894: 2b04 cmp r3, #4 8037896: d032 beq.n 80378fe } } } break; } break; 8037898: f005 bc51 b.w 803d13e if((!measuring) && (!ReadFromFile)) 803789c: 4b68 ldr r3, [pc, #416] ; (8037a40 ) 803789e: 781b ldrb r3, [r3, #0] 80378a0: b2db uxtb r3, r3 80378a2: f083 0301 eor.w r3, r3, #1 80378a6: b2db uxtb r3, r3 80378a8: 2b00 cmp r3, #0 80378aa: d064 beq.n 8037976 80378ac: 4b65 ldr r3, [pc, #404] ; (8037a44 ) 80378ae: 781b ldrb r3, [r3, #0] 80378b0: b2db uxtb r3, r3 80378b2: f083 0301 eor.w r3, r3, #1 80378b6: b2db uxtb r3, r3 80378b8: 2b00 cmp r3, #0 80378ba: d05c beq.n 8037976 if(CardState == MSD_READY) 80378bc: 4b62 ldr r3, [pc, #392] ; (8037a48 ) 80378be: 781b ldrb r3, [r3, #0] 80378c0: b2db uxtb r3, r3 80378c2: 2b03 cmp r3, #3 80378c4: d157 bne.n 8037976 if(NextIndexPoint < NUM_POINTS - 1) 80378c6: 4b61 ldr r3, [pc, #388] ; (8037a4c ) 80378c8: 681b ldr r3, [r3, #0] 80378ca: f240 32e6 movw r2, #998 ; 0x3e6 80378ce: 4293 cmp r3, r2 80378d0: d851 bhi.n 8037976 NextIndexPoint++; 80378d2: 4b5e ldr r3, [pc, #376] ; (8037a4c ) 80378d4: 681b ldr r3, [r3, #0] 80378d6: 3301 adds r3, #1 80378d8: 4a5c ldr r2, [pc, #368] ; (8037a4c ) 80378da: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 80378dc: 4b5b ldr r3, [pc, #364] ; (8037a4c ) 80378de: 681b ldr r3, [r3, #0] 80378e0: 4a5b ldr r2, [pc, #364] ; (8037a50 ) 80378e2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80378e6: 4a5b ldr r2, [pc, #364] ; (8037a54 ) 80378e8: 6013 str r3, [r2, #0] result = ReadFileDGN(DiagFileName); 80378ea: 485b ldr r0, [pc, #364] ; (8037a58 ) 80378ec: f7ee fdf4 bl 80264d8 80378f0: 4603 mov r3, r0 80378f2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 DrawSavedData = false; 80378f6: 4b59 ldr r3, [pc, #356] ; (8037a5c ) 80378f8: 2200 movs r2, #0 80378fa: 701a strb r2, [r3, #0] break; 80378fc: e03b b.n 8037976 if((!measuring) && (!ReadFromFile)) 80378fe: 4b50 ldr r3, [pc, #320] ; (8037a40 ) 8037900: 781b ldrb r3, [r3, #0] 8037902: b2db uxtb r3, r3 8037904: f083 0301 eor.w r3, r3, #1 8037908: b2db uxtb r3, r3 803790a: 2b00 cmp r3, #0 803790c: d036 beq.n 803797c 803790e: 4b4d ldr r3, [pc, #308] ; (8037a44 ) 8037910: 781b ldrb r3, [r3, #0] 8037912: b2db uxtb r3, r3 8037914: f083 0301 eor.w r3, r3, #1 8037918: b2db uxtb r3, r3 803791a: 2b00 cmp r3, #0 803791c: d02e beq.n 803797c if(CardState == MSD_READY) 803791e: 4b4a ldr r3, [pc, #296] ; (8037a48 ) 8037920: 781b ldrb r3, [r3, #0] 8037922: b2db uxtb r3, r3 8037924: 2b03 cmp r3, #3 8037926: d129 bne.n 803797c if(NextIndexMeas < IndexMeas[NextIndexPoint]) 8037928: 4b48 ldr r3, [pc, #288] ; (8037a4c ) 803792a: 681b ldr r3, [r3, #0] 803792c: 4a48 ldr r2, [pc, #288] ; (8037a50 ) 803792e: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8037932: 4b48 ldr r3, [pc, #288] ; (8037a54 ) 8037934: 681b ldr r3, [r3, #0] 8037936: 429a cmp r2, r3 8037938: d920 bls.n 803797c if(NextIndexMeas < 999) 803793a: 4b46 ldr r3, [pc, #280] ; (8037a54 ) 803793c: 681b ldr r3, [r3, #0] 803793e: f240 32e6 movw r2, #998 ; 0x3e6 8037942: 4293 cmp r3, r2 8037944: d81a bhi.n 803797c NextIndexMeas++; 8037946: 4b43 ldr r3, [pc, #268] ; (8037a54 ) 8037948: 681b ldr r3, [r3, #0] 803794a: 3301 adds r3, #1 803794c: 4a41 ldr r2, [pc, #260] ; (8037a54 ) 803794e: 6013 str r3, [r2, #0] result = ReadFileDGN(DiagFileName); 8037950: 4841 ldr r0, [pc, #260] ; (8037a58 ) 8037952: f7ee fdc1 bl 80264d8 8037956: 4603 mov r3, r0 8037958: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 803795c: 4b3b ldr r3, [pc, #236] ; (8037a4c ) 803795e: 681b ldr r3, [r3, #0] 8037960: 4a3b ldr r2, [pc, #236] ; (8037a50 ) 8037962: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8037966: 4b3b ldr r3, [pc, #236] ; (8037a54 ) 8037968: 681b ldr r3, [r3, #0] 803796a: 429a cmp r2, r3 803796c: d106 bne.n 803797c DrawSavedData = false; 803796e: 4b3b ldr r3, [pc, #236] ; (8037a5c ) 8037970: 2200 movs r2, #0 8037972: 701a strb r2, [r3, #0] break; 8037974: e002 b.n 803797c break; 8037976: bf00 nop 8037978: f005 bbe1 b.w 803d13e break; 803797c: bf00 nop break; 803797e: f005 bbde b.w 803d13e case MAIN: case MAIN_FRAN: switch(menupos) 8037982: 4b2c ldr r3, [pc, #176] ; (8037a34 ) 8037984: 781b ldrb r3, [r3, #0] 8037986: b2db uxtb r3, r3 8037988: 2b06 cmp r3, #6 803798a: f205 838f bhi.w 803d0ac 803798e: a201 add r2, pc, #4 ; (adr r2, 8037994 ) 8037990: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8037994: 08037add .word 0x08037add 8037998: 0803d0ad .word 0x0803d0ad 803799c: 08037add .word 0x08037add 80379a0: 080379b1 .word 0x080379b1 80379a4: 08037a65 .word 0x08037a65 80379a8: 0803d0ad .word 0x0803d0ad 80379ac: 08037add .word 0x08037add { case MyPoint: if((!measuring) && (!ReadFromFile)) 80379b0: 4b23 ldr r3, [pc, #140] ; (8037a40 ) 80379b2: 781b ldrb r3, [r3, #0] 80379b4: b2db uxtb r3, r3 80379b6: f083 0301 eor.w r3, r3, #1 80379ba: b2db uxtb r3, r3 80379bc: 2b00 cmp r3, #0 80379be: f000 80cd beq.w 8037b5c 80379c2: 4b20 ldr r3, [pc, #128] ; (8037a44 ) 80379c4: 781b ldrb r3, [r3, #0] 80379c6: b2db uxtb r3, r3 80379c8: f083 0301 eor.w r3, r3, #1 80379cc: b2db uxtb r3, r3 80379ce: 2b00 cmp r3, #0 80379d0: f000 80c4 beq.w 8037b5c { if(CardState == MSD_READY) 80379d4: 4b1c ldr r3, [pc, #112] ; (8037a48 ) 80379d6: 781b ldrb r3, [r3, #0] 80379d8: b2db uxtb r3, r3 80379da: 2b03 cmp r3, #3 80379dc: f040 80be bne.w 8037b5c { if(NextIndexPoint < NUM_POINTS - 1) 80379e0: 4b1a ldr r3, [pc, #104] ; (8037a4c ) 80379e2: 681b ldr r3, [r3, #0] 80379e4: f240 32e6 movw r2, #998 ; 0x3e6 80379e8: 4293 cmp r3, r2 80379ea: f200 80b7 bhi.w 8037b5c { NextIndexPoint++; 80379ee: 4b17 ldr r3, [pc, #92] ; (8037a4c ) 80379f0: 681b ldr r3, [r3, #0] 80379f2: 3301 adds r3, #1 80379f4: 4a15 ldr r2, [pc, #84] ; (8037a4c ) 80379f6: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 80379f8: 4b14 ldr r3, [pc, #80] ; (8037a4c ) 80379fa: 681b ldr r3, [r3, #0] 80379fc: 4a14 ldr r2, [pc, #80] ; (8037a50 ) 80379fe: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8037a02: 4a14 ldr r2, [pc, #80] ; (8037a54 ) 8037a04: 6013 str r3, [r2, #0] result = ReadFilePTM(MeasFileName); 8037a06: 4816 ldr r0, [pc, #88] ; (8037a60 ) 8037a08: f7ee fae2 bl 8025fd0 8037a0c: 4603 mov r3, r0 8037a0e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 DrawSavedData = false; 8037a12: 4b12 ldr r3, [pc, #72] ; (8037a5c ) 8037a14: 2200 movs r2, #0 8037a16: 701a strb r2, [r3, #0] } } } break; 8037a18: e0a0 b.n 8037b5c 8037a1a: bf00 nop 8037a1c: 000f423f .word 0x000f423f 8037a20: 2002105d .word 0x2002105d 8037a24: 2002105f .word 0x2002105f 8037a28: 20023eb8 .word 0x20023eb8 8037a2c: 3dcccccd .word 0x3dcccccd 8037a30: 3d4ccccd .word 0x3d4ccccd 8037a34: 20020070 .word 0x20020070 8037a38: 20020fc5 .word 0x20020fc5 8037a3c: 20020029 .word 0x20020029 8037a40: 20020dcf .word 0x20020dcf 8037a44: 20020de9 .word 0x20020de9 8037a48: 2002169c .word 0x2002169c 8037a4c: 20021fec .word 0x20021fec 8037a50: 20022ef8 .word 0x20022ef8 8037a54: 20022360 .word 0x20022360 8037a58: 20020ea4 .word 0x20020ea4 8037a5c: 20020dea .word 0x20020dea 8037a60: 20020e80 .word 0x20020e80 case MyMeasure: if((!measuring) && (!ReadFromFile)) 8037a64: 4bb1 ldr r3, [pc, #708] ; (8037d2c ) 8037a66: 781b ldrb r3, [r3, #0] 8037a68: b2db uxtb r3, r3 8037a6a: f083 0301 eor.w r3, r3, #1 8037a6e: b2db uxtb r3, r3 8037a70: 2b00 cmp r3, #0 8037a72: d076 beq.n 8037b62 8037a74: 4bae ldr r3, [pc, #696] ; (8037d30 ) 8037a76: 781b ldrb r3, [r3, #0] 8037a78: b2db uxtb r3, r3 8037a7a: f083 0301 eor.w r3, r3, #1 8037a7e: b2db uxtb r3, r3 8037a80: 2b00 cmp r3, #0 8037a82: d06e beq.n 8037b62 { if(CardState == MSD_READY) 8037a84: 4bab ldr r3, [pc, #684] ; (8037d34 ) 8037a86: 781b ldrb r3, [r3, #0] 8037a88: b2db uxtb r3, r3 8037a8a: 2b03 cmp r3, #3 8037a8c: d169 bne.n 8037b62 { if(NextIndexMeas < IndexMeas[NextIndexPoint]) 8037a8e: 4baa ldr r3, [pc, #680] ; (8037d38 ) 8037a90: 681b ldr r3, [r3, #0] 8037a92: 4aaa ldr r2, [pc, #680] ; (8037d3c ) 8037a94: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8037a98: 4ba9 ldr r3, [pc, #676] ; (8037d40 ) 8037a9a: 681b ldr r3, [r3, #0] 8037a9c: 429a cmp r2, r3 8037a9e: d960 bls.n 8037b62 { if(NextIndexMeas < 999) 8037aa0: 4ba7 ldr r3, [pc, #668] ; (8037d40 ) 8037aa2: 681b ldr r3, [r3, #0] 8037aa4: f240 32e6 movw r2, #998 ; 0x3e6 8037aa8: 4293 cmp r3, r2 8037aaa: d85a bhi.n 8037b62 { NextIndexMeas++; 8037aac: 4ba4 ldr r3, [pc, #656] ; (8037d40 ) 8037aae: 681b ldr r3, [r3, #0] 8037ab0: 3301 adds r3, #1 8037ab2: 4aa3 ldr r2, [pc, #652] ; (8037d40 ) 8037ab4: 6013 str r3, [r2, #0] result = ReadFilePTM(MeasFileName); 8037ab6: 48a3 ldr r0, [pc, #652] ; (8037d44 ) 8037ab8: f7ee fa8a bl 8025fd0 8037abc: 4603 mov r3, r0 8037abe: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 8037ac2: 4b9d ldr r3, [pc, #628] ; (8037d38 ) 8037ac4: 681b ldr r3, [r3, #0] 8037ac6: 4a9d ldr r2, [pc, #628] ; (8037d3c ) 8037ac8: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8037acc: 4b9c ldr r3, [pc, #624] ; (8037d40 ) 8037ace: 681b ldr r3, [r3, #0] 8037ad0: 429a cmp r2, r3 8037ad2: d146 bne.n 8037b62 { DrawSavedData = false; 8037ad4: 4b9c ldr r3, [pc, #624] ; (8037d48 ) 8037ad6: 2200 movs r2, #0 8037ad8: 701a strb r2, [r3, #0] } } } } } break; 8037ada: e042 b.n 8037b62 case MyLinLog: case StartStop: case Record: if(!ReadFromFile) 8037adc: 4b94 ldr r3, [pc, #592] ; (8037d30 ) 8037ade: 781b ldrb r3, [r3, #0] 8037ae0: b2db uxtb r3, r3 8037ae2: f083 0301 eor.w r3, r3, #1 8037ae6: b2db uxtb r3, r3 8037ae8: 2b00 cmp r3, #0 8037aea: d03d beq.n 8037b68 { if((CardState == MSD_READY) && (strlen(MeasFileName))) 8037aec: 4b91 ldr r3, [pc, #580] ; (8037d34 ) 8037aee: 781b ldrb r3, [r3, #0] 8037af0: b2db uxtb r3, r3 8037af2: 2b03 cmp r3, #3 8037af4: d138 bne.n 8037b68 8037af6: 4b93 ldr r3, [pc, #588] ; (8037d44 ) 8037af8: 781b ldrb r3, [r3, #0] 8037afa: 2b00 cmp r3, #0 8037afc: d034 beq.n 8037b68 { if(measuring) 8037afe: 4b8b ldr r3, [pc, #556] ; (8037d2c ) 8037b00: 781b ldrb r3, [r3, #0] 8037b02: b2db uxtb r3, r3 8037b04: 2b00 cmp r3, #0 8037b06: d001 beq.n 8037b0c StopMeas(); 8037b08: f7eb fe48 bl 802379c result = ReadTrendPTM(MeasFileName); 8037b0c: 488d ldr r0, [pc, #564] ; (8037d44 ) 8037b0e: f7ee f899 bl 8025c44 8037b12: 4603 mov r3, r0 8037b14: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8037b18: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8037b1c: 2b00 cmp r3, #0 8037b1e: d112 bne.n 8037b46 { lastmenu = menu; 8037b20: 4b8a ldr r3, [pc, #552] ; (8037d4c ) 8037b22: 781b ldrb r3, [r3, #0] 8037b24: b2da uxtb r2, r3 8037b26: 4b8a ldr r3, [pc, #552] ; (8037d50 ) 8037b28: 701a strb r2, [r3, #0] menu = TREND_A; 8037b2a: 4b88 ldr r3, [pc, #544] ; (8037d4c ) 8037b2c: 2245 movs r2, #69 ; 0x45 8037b2e: 701a strb r2, [r3, #0] lastmenupos = menupos; 8037b30: 4b88 ldr r3, [pc, #544] ; (8037d54 ) 8037b32: 781b ldrb r3, [r3, #0] 8037b34: b2da uxtb r2, r3 8037b36: 4b88 ldr r3, [pc, #544] ; (8037d58 ) 8037b38: 701a strb r2, [r3, #0] menupos = pardata.IVS[ACC]; 8037b3a: 4b88 ldr r3, [pc, #544] ; (8037d5c ) 8037b3c: 789b ldrb r3, [r3, #2] 8037b3e: b2da uxtb r2, r3 8037b40: 4b84 ldr r3, [pc, #528] ; (8037d54 ) 8037b42: 701a strb r2, [r3, #0] timerStatus = sec2; DrawStatus = true; } } } break; 8037b44: e010 b.n 8037b68 STATUS = AP_INVALID_FILE; 8037b46: 4b86 ldr r3, [pc, #536] ; (8037d60 ) 8037b48: 2202 movs r2, #2 8037b4a: 601a str r2, [r3, #0] timerStatus = sec2; 8037b4c: 4b85 ldr r3, [pc, #532] ; (8037d64 ) 8037b4e: f44f 5280 mov.w r2, #4096 ; 0x1000 8037b52: 801a strh r2, [r3, #0] DrawStatus = true; 8037b54: 4b84 ldr r3, [pc, #528] ; (8037d68 ) 8037b56: 2201 movs r2, #1 8037b58: 701a strb r2, [r3, #0] break; 8037b5a: e005 b.n 8037b68 break; 8037b5c: bf00 nop 8037b5e: f005 baa5 b.w 803d0ac break; 8037b62: bf00 nop 8037b64: f005 baa2 b.w 803d0ac break; 8037b68: bf00 nop } break; 8037b6a: f005 ba9f b.w 803d0ac case MAIN_OSC: if(menupos == Cursor) 8037b6e: 4b79 ldr r3, [pc, #484] ; (8037d54 ) 8037b70: 781b ldrb r3, [r3, #0] 8037b72: b2db uxtb r3, r3 8037b74: 2b06 cmp r3, #6 8037b76: d104 bne.n 8037b82 { //menupos = lastmenupos; ZOOM_IN = true; 8037b78: 4b7c ldr r3, [pc, #496] ; (8037d6c ) 8037b7a: 2201 movs r2, #1 8037b7c: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ImageLeft; else if(menupos == ImageLeft) menupos = StartStop; break; 8037b7e: f005 ba98 b.w 803d0b2 if(menupos == StartStop) 8037b82: 4b74 ldr r3, [pc, #464] ; (8037d54 ) 8037b84: 781b ldrb r3, [r3, #0] 8037b86: b2db uxtb r3, r3 8037b88: 2b00 cmp r3, #0 8037b8a: d104 bne.n 8037b96 menupos = ZoomOut; 8037b8c: 4b71 ldr r3, [pc, #452] ; (8037d54 ) 8037b8e: 2204 movs r2, #4 8037b90: 701a strb r2, [r3, #0] break; 8037b92: f005 ba8e b.w 803d0b2 if(menupos == ZoomOut) 8037b96: 4b6f ldr r3, [pc, #444] ; (8037d54 ) 8037b98: 781b ldrb r3, [r3, #0] 8037b9a: b2db uxtb r3, r3 8037b9c: 2b04 cmp r3, #4 8037b9e: d104 bne.n 8037baa menupos = ZoomIn; 8037ba0: 4b6c ldr r3, [pc, #432] ; (8037d54 ) 8037ba2: 2203 movs r2, #3 8037ba4: 701a strb r2, [r3, #0] break; 8037ba6: f005 ba84 b.w 803d0b2 if(menupos == ZoomIn) 8037baa: 4b6a ldr r3, [pc, #424] ; (8037d54 ) 8037bac: 781b ldrb r3, [r3, #0] 8037bae: b2db uxtb r3, r3 8037bb0: 2b03 cmp r3, #3 8037bb2: d104 bne.n 8037bbe menupos = ImageRight; 8037bb4: 4b67 ldr r3, [pc, #412] ; (8037d54 ) 8037bb6: 2205 movs r2, #5 8037bb8: 701a strb r2, [r3, #0] break; 8037bba: f005 ba7a b.w 803d0b2 if(menupos == ImageRight) 8037bbe: 4b65 ldr r3, [pc, #404] ; (8037d54 ) 8037bc0: 781b ldrb r3, [r3, #0] 8037bc2: b2db uxtb r3, r3 8037bc4: 2b05 cmp r3, #5 8037bc6: d104 bne.n 8037bd2 menupos = ImageLeft; 8037bc8: 4b62 ldr r3, [pc, #392] ; (8037d54 ) 8037bca: 2202 movs r2, #2 8037bcc: 701a strb r2, [r3, #0] break; 8037bce: f005 ba70 b.w 803d0b2 if(menupos == ImageLeft) 8037bd2: 4b60 ldr r3, [pc, #384] ; (8037d54 ) 8037bd4: 781b ldrb r3, [r3, #0] 8037bd6: b2db uxtb r3, r3 8037bd8: 2b02 cmp r3, #2 8037bda: f045 826a bne.w 803d0b2 menupos = StartStop; 8037bde: 4b5d ldr r3, [pc, #372] ; (8037d54 ) 8037be0: 2200 movs r2, #0 8037be2: 701a strb r2, [r3, #0] break; 8037be4: f005 ba65 b.w 803d0b2 case MAIN_SPEC: if(menupos == Cursor) 8037be8: 4b5a ldr r3, [pc, #360] ; (8037d54 ) 8037bea: 781b ldrb r3, [r3, #0] 8037bec: b2db uxtb r3, r3 8037bee: 2b06 cmp r3, #6 8037bf0: d104 bne.n 8037bfc { //menupos = lastmenupos; ZOOM_IN = true; 8037bf2: 4b5e ldr r3, [pc, #376] ; (8037d6c ) 8037bf4: 2201 movs r2, #1 8037bf6: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == SaveSpec) menupos = StartStop; break; 8037bf8: f005 ba5e b.w 803d0b8 if(menupos == StartStop) 8037bfc: 4b55 ldr r3, [pc, #340] ; (8037d54 ) 8037bfe: 781b ldrb r3, [r3, #0] 8037c00: b2db uxtb r3, r3 8037c02: 2b00 cmp r3, #0 8037c04: d104 bne.n 8037c10 menupos = ZoomOut; 8037c06: 4b53 ldr r3, [pc, #332] ; (8037d54 ) 8037c08: 2204 movs r2, #4 8037c0a: 701a strb r2, [r3, #0] break; 8037c0c: f005 ba54 b.w 803d0b8 if(menupos == ZoomOut) 8037c10: 4b50 ldr r3, [pc, #320] ; (8037d54 ) 8037c12: 781b ldrb r3, [r3, #0] 8037c14: b2db uxtb r3, r3 8037c16: 2b04 cmp r3, #4 8037c18: d104 bne.n 8037c24 menupos = ZoomIn; 8037c1a: 4b4e ldr r3, [pc, #312] ; (8037d54 ) 8037c1c: 2203 movs r2, #3 8037c1e: 701a strb r2, [r3, #0] break; 8037c20: f005 ba4a b.w 803d0b8 if(menupos == ZoomIn) 8037c24: 4b4b ldr r3, [pc, #300] ; (8037d54 ) 8037c26: 781b ldrb r3, [r3, #0] 8037c28: b2db uxtb r3, r3 8037c2a: 2b03 cmp r3, #3 8037c2c: d104 bne.n 8037c38 menupos = ImageRight; 8037c2e: 4b49 ldr r3, [pc, #292] ; (8037d54 ) 8037c30: 2205 movs r2, #5 8037c32: 701a strb r2, [r3, #0] break; 8037c34: f005 ba40 b.w 803d0b8 if(menupos == ImageRight) 8037c38: 4b46 ldr r3, [pc, #280] ; (8037d54 ) 8037c3a: 781b ldrb r3, [r3, #0] 8037c3c: b2db uxtb r3, r3 8037c3e: 2b05 cmp r3, #5 8037c40: d104 bne.n 8037c4c menupos = ImageLeft; 8037c42: 4b44 ldr r3, [pc, #272] ; (8037d54 ) 8037c44: 2202 movs r2, #2 8037c46: 701a strb r2, [r3, #0] break; 8037c48: f005 ba36 b.w 803d0b8 if(menupos == ImageLeft) 8037c4c: 4b41 ldr r3, [pc, #260] ; (8037d54 ) 8037c4e: 781b ldrb r3, [r3, #0] 8037c50: b2db uxtb r3, r3 8037c52: 2b02 cmp r3, #2 8037c54: d10e bne.n 8037c74 if(READY_TO_SEE) 8037c56: 4b46 ldr r3, [pc, #280] ; (8037d70 ) 8037c58: 781b ldrb r3, [r3, #0] 8037c5a: b2db uxtb r3, r3 8037c5c: 2b00 cmp r3, #0 8037c5e: d004 beq.n 8037c6a menupos = SaveSpec; 8037c60: 4b3c ldr r3, [pc, #240] ; (8037d54 ) 8037c62: 2209 movs r2, #9 8037c64: 701a strb r2, [r3, #0] break; 8037c66: f005 ba27 b.w 803d0b8 else menupos = StartStop; 8037c6a: 4b3a ldr r3, [pc, #232] ; (8037d54 ) 8037c6c: 2200 movs r2, #0 8037c6e: 701a strb r2, [r3, #0] break; 8037c70: f005 ba22 b.w 803d0b8 if(menupos == SaveSpec) 8037c74: 4b37 ldr r3, [pc, #220] ; (8037d54 ) 8037c76: 781b ldrb r3, [r3, #0] 8037c78: b2db uxtb r3, r3 8037c7a: 2b09 cmp r3, #9 8037c7c: f045 821c bne.w 803d0b8 menupos = StartStop; 8037c80: 4b34 ldr r3, [pc, #208] ; (8037d54 ) 8037c82: 2200 movs r2, #0 8037c84: 701a strb r2, [r3, #0] break; 8037c86: f005 ba17 b.w 803d0b8 case VIEW_PORTRET: if(menupos == Cursor) 8037c8a: 4b32 ldr r3, [pc, #200] ; (8037d54 ) 8037c8c: 781b ldrb r3, [r3, #0] 8037c8e: b2db uxtb r3, r3 8037c90: 2b06 cmp r3, #6 8037c92: d104 bne.n 8037c9e { //menupos = lastmenupos; ZOOM_IN = true; 8037c94: 4b35 ldr r3, [pc, #212] ; (8037d6c ) 8037c96: 2201 movs r2, #1 8037c98: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ImageLeft; else if(menupos == ImageLeft) menupos = ZoomOut; break; 8037c9a: f005 ba10 b.w 803d0be if(menupos == ZoomOut) 8037c9e: 4b2d ldr r3, [pc, #180] ; (8037d54 ) 8037ca0: 781b ldrb r3, [r3, #0] 8037ca2: b2db uxtb r3, r3 8037ca4: 2b04 cmp r3, #4 8037ca6: d104 bne.n 8037cb2 menupos = ZoomIn; 8037ca8: 4b2a ldr r3, [pc, #168] ; (8037d54 ) 8037caa: 2203 movs r2, #3 8037cac: 701a strb r2, [r3, #0] break; 8037cae: f005 ba06 b.w 803d0be if(menupos == ZoomIn) 8037cb2: 4b28 ldr r3, [pc, #160] ; (8037d54 ) 8037cb4: 781b ldrb r3, [r3, #0] 8037cb6: b2db uxtb r3, r3 8037cb8: 2b03 cmp r3, #3 8037cba: d104 bne.n 8037cc6 menupos = ImageRight; 8037cbc: 4b25 ldr r3, [pc, #148] ; (8037d54 ) 8037cbe: 2205 movs r2, #5 8037cc0: 701a strb r2, [r3, #0] break; 8037cc2: f005 b9fc b.w 803d0be if(menupos == ImageRight) 8037cc6: 4b23 ldr r3, [pc, #140] ; (8037d54 ) 8037cc8: 781b ldrb r3, [r3, #0] 8037cca: b2db uxtb r3, r3 8037ccc: 2b05 cmp r3, #5 8037cce: d104 bne.n 8037cda menupos = ImageLeft; 8037cd0: 4b20 ldr r3, [pc, #128] ; (8037d54 ) 8037cd2: 2202 movs r2, #2 8037cd4: 701a strb r2, [r3, #0] break; 8037cd6: f005 b9f2 b.w 803d0be if(menupos == ImageLeft) 8037cda: 4b1e ldr r3, [pc, #120] ; (8037d54 ) 8037cdc: 781b ldrb r3, [r3, #0] 8037cde: b2db uxtb r3, r3 8037ce0: 2b02 cmp r3, #2 8037ce2: f045 81ec bne.w 803d0be menupos = ZoomOut; 8037ce6: 4b1b ldr r3, [pc, #108] ; (8037d54 ) 8037ce8: 2204 movs r2, #4 8037cea: 701a strb r2, [r3, #0] break; 8037cec: f005 b9e7 b.w 803d0be case MAIN_ROLL: if(menupos == Cursor) 8037cf0: 4b18 ldr r3, [pc, #96] ; (8037d54 ) 8037cf2: 781b ldrb r3, [r3, #0] 8037cf4: b2db uxtb r3, r3 8037cf6: 2b06 cmp r3, #6 8037cf8: d104 bne.n 8037d04 { //menupos = lastmenupos; ZOOM_IN = true; 8037cfa: 4b1c ldr r3, [pc, #112] ; (8037d6c ) 8037cfc: 2201 movs r2, #1 8037cfe: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == Results) menupos = StartStop; break; 8037d00: f005 b9e0 b.w 803d0c4 if(menupos == StartStop) 8037d04: 4b13 ldr r3, [pc, #76] ; (8037d54 ) 8037d06: 781b ldrb r3, [r3, #0] 8037d08: b2db uxtb r3, r3 8037d0a: 2b00 cmp r3, #0 8037d0c: d104 bne.n 8037d18 menupos = ZoomOut; 8037d0e: 4b11 ldr r3, [pc, #68] ; (8037d54 ) 8037d10: 2204 movs r2, #4 8037d12: 701a strb r2, [r3, #0] break; 8037d14: f005 b9d6 b.w 803d0c4 if(menupos == ZoomOut) 8037d18: 4b0e ldr r3, [pc, #56] ; (8037d54 ) 8037d1a: 781b ldrb r3, [r3, #0] 8037d1c: b2db uxtb r3, r3 8037d1e: 2b04 cmp r3, #4 8037d20: d128 bne.n 8037d74 menupos = ZoomIn; 8037d22: 4b0c ldr r3, [pc, #48] ; (8037d54 ) 8037d24: 2203 movs r2, #3 8037d26: 701a strb r2, [r3, #0] break; 8037d28: f005 b9cc b.w 803d0c4 8037d2c: 20020dcf .word 0x20020dcf 8037d30: 20020de9 .word 0x20020de9 8037d34: 2002169c .word 0x2002169c 8037d38: 20021fec .word 0x20021fec 8037d3c: 20022ef8 .word 0x20022ef8 8037d40: 20022360 .word 0x20022360 8037d44: 20020e80 .word 0x20020e80 8037d48: 20020dea .word 0x20020dea 8037d4c: 20020fc5 .word 0x20020fc5 8037d50: 20020fc6 .word 0x20020fc6 8037d54: 20020070 .word 0x20020070 8037d58: 20020071 .word 0x20020071 8037d5c: 20023eb8 .word 0x20023eb8 8037d60: 20020dec .word 0x20020dec 8037d64: 200216dc .word 0x200216dc 8037d68: 20020df2 .word 0x20020df2 8037d6c: 20020fb5 .word 0x20020fb5 8037d70: 20020dae .word 0x20020dae if(menupos == ZoomIn) 8037d74: 4bb6 ldr r3, [pc, #728] ; (8038050 ) 8037d76: 781b ldrb r3, [r3, #0] 8037d78: b2db uxtb r3, r3 8037d7a: 2b03 cmp r3, #3 8037d7c: d104 bne.n 8037d88 menupos = ImageRight; 8037d7e: 4bb4 ldr r3, [pc, #720] ; (8038050 ) 8037d80: 2205 movs r2, #5 8037d82: 701a strb r2, [r3, #0] break; 8037d84: f005 b99e b.w 803d0c4 if(menupos == ImageRight) 8037d88: 4bb1 ldr r3, [pc, #708] ; (8038050 ) 8037d8a: 781b ldrb r3, [r3, #0] 8037d8c: b2db uxtb r3, r3 8037d8e: 2b05 cmp r3, #5 8037d90: d104 bne.n 8037d9c menupos = ImageLeft; 8037d92: 4baf ldr r3, [pc, #700] ; (8038050 ) 8037d94: 2202 movs r2, #2 8037d96: 701a strb r2, [r3, #0] break; 8037d98: f005 b994 b.w 803d0c4 if(menupos == ImageLeft) 8037d9c: 4bac ldr r3, [pc, #688] ; (8038050 ) 8037d9e: 781b ldrb r3, [r3, #0] 8037da0: b2db uxtb r3, r3 8037da2: 2b02 cmp r3, #2 8037da4: d10e bne.n 8037dc4 if(SeeResults) 8037da6: 4bab ldr r3, [pc, #684] ; (8038054 ) 8037da8: 781b ldrb r3, [r3, #0] 8037daa: b2db uxtb r3, r3 8037dac: 2b00 cmp r3, #0 8037dae: d004 beq.n 8037dba menupos = Results; 8037db0: 4ba7 ldr r3, [pc, #668] ; (8038050 ) 8037db2: 2208 movs r2, #8 8037db4: 701a strb r2, [r3, #0] break; 8037db6: f005 b985 b.w 803d0c4 else menupos = StartStop; 8037dba: 4ba5 ldr r3, [pc, #660] ; (8038050 ) 8037dbc: 2200 movs r2, #0 8037dbe: 701a strb r2, [r3, #0] break; 8037dc0: f005 b980 b.w 803d0c4 if(menupos == Results) 8037dc4: 4ba2 ldr r3, [pc, #648] ; (8038050 ) 8037dc6: 781b ldrb r3, [r3, #0] 8037dc8: b2db uxtb r3, r3 8037dca: 2b08 cmp r3, #8 8037dcc: f045 817a bne.w 803d0c4 menupos = StartStop; 8037dd0: 4b9f ldr r3, [pc, #636] ; (8038050 ) 8037dd2: 2200 movs r2, #0 8037dd4: 701a strb r2, [r3, #0] break; 8037dd6: f005 b975 b.w 803d0c4 case MAIN_SPEC_OGIB: if(menupos == Cursor) 8037dda: 4b9d ldr r3, [pc, #628] ; (8038050 ) 8037ddc: 781b ldrb r3, [r3, #0] 8037dde: b2db uxtb r3, r3 8037de0: 2b06 cmp r3, #6 8037de2: d104 bne.n 8037dee { //menupos = lastmenupos; ZOOM_IN = true; 8037de4: 4b9c ldr r3, [pc, #624] ; (8038058 ) 8037de6: 2201 movs r2, #1 8037de8: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == SaveSpec) menupos = StartStop; break; 8037dea: f005 b96e b.w 803d0ca if(menupos == StartStop) 8037dee: 4b98 ldr r3, [pc, #608] ; (8038050 ) 8037df0: 781b ldrb r3, [r3, #0] 8037df2: b2db uxtb r3, r3 8037df4: 2b00 cmp r3, #0 8037df6: d104 bne.n 8037e02 menupos = ZoomOut; 8037df8: 4b95 ldr r3, [pc, #596] ; (8038050 ) 8037dfa: 2204 movs r2, #4 8037dfc: 701a strb r2, [r3, #0] break; 8037dfe: f005 b964 b.w 803d0ca if(menupos == ZoomOut) 8037e02: 4b93 ldr r3, [pc, #588] ; (8038050 ) 8037e04: 781b ldrb r3, [r3, #0] 8037e06: b2db uxtb r3, r3 8037e08: 2b04 cmp r3, #4 8037e0a: d104 bne.n 8037e16 menupos = ZoomIn; 8037e0c: 4b90 ldr r3, [pc, #576] ; (8038050 ) 8037e0e: 2203 movs r2, #3 8037e10: 701a strb r2, [r3, #0] break; 8037e12: f005 b95a b.w 803d0ca if(menupos == ZoomIn) 8037e16: 4b8e ldr r3, [pc, #568] ; (8038050 ) 8037e18: 781b ldrb r3, [r3, #0] 8037e1a: b2db uxtb r3, r3 8037e1c: 2b03 cmp r3, #3 8037e1e: d104 bne.n 8037e2a menupos = ImageRight; 8037e20: 4b8b ldr r3, [pc, #556] ; (8038050 ) 8037e22: 2205 movs r2, #5 8037e24: 701a strb r2, [r3, #0] break; 8037e26: f005 b950 b.w 803d0ca if(menupos == ImageRight) 8037e2a: 4b89 ldr r3, [pc, #548] ; (8038050 ) 8037e2c: 781b ldrb r3, [r3, #0] 8037e2e: b2db uxtb r3, r3 8037e30: 2b05 cmp r3, #5 8037e32: d104 bne.n 8037e3e menupos = ImageLeft; 8037e34: 4b86 ldr r3, [pc, #536] ; (8038050 ) 8037e36: 2202 movs r2, #2 8037e38: 701a strb r2, [r3, #0] break; 8037e3a: f005 b946 b.w 803d0ca if(menupos == ImageLeft) 8037e3e: 4b84 ldr r3, [pc, #528] ; (8038050 ) 8037e40: 781b ldrb r3, [r3, #0] 8037e42: b2db uxtb r3, r3 8037e44: 2b02 cmp r3, #2 8037e46: d10e bne.n 8037e66 if(READY_TO_SEE) 8037e48: 4b84 ldr r3, [pc, #528] ; (803805c ) 8037e4a: 781b ldrb r3, [r3, #0] 8037e4c: b2db uxtb r3, r3 8037e4e: 2b00 cmp r3, #0 8037e50: d004 beq.n 8037e5c menupos = SaveSpec; 8037e52: 4b7f ldr r3, [pc, #508] ; (8038050 ) 8037e54: 2209 movs r2, #9 8037e56: 701a strb r2, [r3, #0] break; 8037e58: f005 b937 b.w 803d0ca else menupos = StartStop; 8037e5c: 4b7c ldr r3, [pc, #496] ; (8038050 ) 8037e5e: 2200 movs r2, #0 8037e60: 701a strb r2, [r3, #0] break; 8037e62: f005 b932 b.w 803d0ca if(menupos == SaveSpec) 8037e66: 4b7a ldr r3, [pc, #488] ; (8038050 ) 8037e68: 781b ldrb r3, [r3, #0] 8037e6a: b2db uxtb r3, r3 8037e6c: 2b09 cmp r3, #9 8037e6e: f045 812c bne.w 803d0ca menupos = StartStop; 8037e72: 4b77 ldr r3, [pc, #476] ; (8038050 ) 8037e74: 2200 movs r2, #0 8037e76: 701a strb r2, [r3, #0] break; 8037e78: f005 b927 b.w 803d0ca case MAIN_SPEC_OKT: if(menupos == Cursor) 8037e7c: 4b74 ldr r3, [pc, #464] ; (8038050 ) 8037e7e: 781b ldrb r3, [r3, #0] 8037e80: b2db uxtb r3, r3 8037e82: 2b06 cmp r3, #6 8037e84: d104 bne.n 8037e90 { //menupos = lastmenupos; ZOOM_IN = true; 8037e86: 4b74 ldr r3, [pc, #464] ; (8038058 ) 8037e88: 2201 movs r2, #1 8037e8a: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == SaveSpec) menupos = StartStop; break; 8037e8c: f005 b920 b.w 803d0d0 if(menupos == StartStop) 8037e90: 4b6f ldr r3, [pc, #444] ; (8038050 ) 8037e92: 781b ldrb r3, [r3, #0] 8037e94: b2db uxtb r3, r3 8037e96: 2b00 cmp r3, #0 8037e98: d104 bne.n 8037ea4 menupos = ZoomOut; 8037e9a: 4b6d ldr r3, [pc, #436] ; (8038050 ) 8037e9c: 2204 movs r2, #4 8037e9e: 701a strb r2, [r3, #0] break; 8037ea0: f005 b916 b.w 803d0d0 if(menupos == ZoomOut) 8037ea4: 4b6a ldr r3, [pc, #424] ; (8038050 ) 8037ea6: 781b ldrb r3, [r3, #0] 8037ea8: b2db uxtb r3, r3 8037eaa: 2b04 cmp r3, #4 8037eac: d104 bne.n 8037eb8 menupos = ZoomIn; 8037eae: 4b68 ldr r3, [pc, #416] ; (8038050 ) 8037eb0: 2203 movs r2, #3 8037eb2: 701a strb r2, [r3, #0] break; 8037eb4: f005 b90c b.w 803d0d0 if(menupos == ZoomIn) 8037eb8: 4b65 ldr r3, [pc, #404] ; (8038050 ) 8037eba: 781b ldrb r3, [r3, #0] 8037ebc: b2db uxtb r3, r3 8037ebe: 2b03 cmp r3, #3 8037ec0: d104 bne.n 8037ecc menupos = ImageRight; 8037ec2: 4b63 ldr r3, [pc, #396] ; (8038050 ) 8037ec4: 2205 movs r2, #5 8037ec6: 701a strb r2, [r3, #0] break; 8037ec8: f005 b902 b.w 803d0d0 if(menupos == ImageRight) 8037ecc: 4b60 ldr r3, [pc, #384] ; (8038050 ) 8037ece: 781b ldrb r3, [r3, #0] 8037ed0: b2db uxtb r3, r3 8037ed2: 2b05 cmp r3, #5 8037ed4: d104 bne.n 8037ee0 menupos = ImageLeft; 8037ed6: 4b5e ldr r3, [pc, #376] ; (8038050 ) 8037ed8: 2202 movs r2, #2 8037eda: 701a strb r2, [r3, #0] break; 8037edc: f005 b8f8 b.w 803d0d0 if(menupos == ImageLeft) 8037ee0: 4b5b ldr r3, [pc, #364] ; (8038050 ) 8037ee2: 781b ldrb r3, [r3, #0] 8037ee4: b2db uxtb r3, r3 8037ee6: 2b02 cmp r3, #2 8037ee8: d10e bne.n 8037f08 if(READY_TO_SEE) 8037eea: 4b5c ldr r3, [pc, #368] ; (803805c ) 8037eec: 781b ldrb r3, [r3, #0] 8037eee: b2db uxtb r3, r3 8037ef0: 2b00 cmp r3, #0 8037ef2: d004 beq.n 8037efe menupos = SaveSpec; 8037ef4: 4b56 ldr r3, [pc, #344] ; (8038050 ) 8037ef6: 2209 movs r2, #9 8037ef8: 701a strb r2, [r3, #0] break; 8037efa: f005 b8e9 b.w 803d0d0 else menupos = StartStop; 8037efe: 4b54 ldr r3, [pc, #336] ; (8038050 ) 8037f00: 2200 movs r2, #0 8037f02: 701a strb r2, [r3, #0] break; 8037f04: f005 b8e4 b.w 803d0d0 if(menupos == SaveSpec) 8037f08: 4b51 ldr r3, [pc, #324] ; (8038050 ) 8037f0a: 781b ldrb r3, [r3, #0] 8037f0c: b2db uxtb r3, r3 8037f0e: 2b09 cmp r3, #9 8037f10: f045 80de bne.w 803d0d0 menupos = StartStop; 8037f14: 4b4e ldr r3, [pc, #312] ; (8038050 ) 8037f16: 2200 movs r2, #0 8037f18: 701a strb r2, [r3, #0] break; 8037f1a: f005 b8d9 b.w 803d0d0 case MAIN_SPEC_THIRD: if(menupos == Cursor) 8037f1e: 4b4c ldr r3, [pc, #304] ; (8038050 ) 8037f20: 781b ldrb r3, [r3, #0] 8037f22: b2db uxtb r3, r3 8037f24: 2b06 cmp r3, #6 8037f26: d104 bne.n 8037f32 { //menupos = lastmenupos; ZOOM_IN = true; 8037f28: 4b4b ldr r3, [pc, #300] ; (8038058 ) 8037f2a: 2201 movs r2, #1 8037f2c: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == SaveSpec) menupos = StartStop; break; 8037f2e: f005 b8d2 b.w 803d0d6 if(menupos == StartStop) 8037f32: 4b47 ldr r3, [pc, #284] ; (8038050 ) 8037f34: 781b ldrb r3, [r3, #0] 8037f36: b2db uxtb r3, r3 8037f38: 2b00 cmp r3, #0 8037f3a: d104 bne.n 8037f46 menupos = ZoomOut; 8037f3c: 4b44 ldr r3, [pc, #272] ; (8038050 ) 8037f3e: 2204 movs r2, #4 8037f40: 701a strb r2, [r3, #0] break; 8037f42: f005 b8c8 b.w 803d0d6 if(menupos == ZoomOut) 8037f46: 4b42 ldr r3, [pc, #264] ; (8038050 ) 8037f48: 781b ldrb r3, [r3, #0] 8037f4a: b2db uxtb r3, r3 8037f4c: 2b04 cmp r3, #4 8037f4e: d104 bne.n 8037f5a menupos = ZoomIn; 8037f50: 4b3f ldr r3, [pc, #252] ; (8038050 ) 8037f52: 2203 movs r2, #3 8037f54: 701a strb r2, [r3, #0] break; 8037f56: f005 b8be b.w 803d0d6 if(menupos == ZoomIn) 8037f5a: 4b3d ldr r3, [pc, #244] ; (8038050 ) 8037f5c: 781b ldrb r3, [r3, #0] 8037f5e: b2db uxtb r3, r3 8037f60: 2b03 cmp r3, #3 8037f62: d104 bne.n 8037f6e menupos = ImageRight; 8037f64: 4b3a ldr r3, [pc, #232] ; (8038050 ) 8037f66: 2205 movs r2, #5 8037f68: 701a strb r2, [r3, #0] break; 8037f6a: f005 b8b4 b.w 803d0d6 if(menupos == ImageRight) 8037f6e: 4b38 ldr r3, [pc, #224] ; (8038050 ) 8037f70: 781b ldrb r3, [r3, #0] 8037f72: b2db uxtb r3, r3 8037f74: 2b05 cmp r3, #5 8037f76: d104 bne.n 8037f82 menupos = ImageLeft; 8037f78: 4b35 ldr r3, [pc, #212] ; (8038050 ) 8037f7a: 2202 movs r2, #2 8037f7c: 701a strb r2, [r3, #0] break; 8037f7e: f005 b8aa b.w 803d0d6 if(menupos == ImageLeft) 8037f82: 4b33 ldr r3, [pc, #204] ; (8038050 ) 8037f84: 781b ldrb r3, [r3, #0] 8037f86: b2db uxtb r3, r3 8037f88: 2b02 cmp r3, #2 8037f8a: d10e bne.n 8037faa if(READY_TO_SEE) 8037f8c: 4b33 ldr r3, [pc, #204] ; (803805c ) 8037f8e: 781b ldrb r3, [r3, #0] 8037f90: b2db uxtb r3, r3 8037f92: 2b00 cmp r3, #0 8037f94: d004 beq.n 8037fa0 menupos = SaveSpec; 8037f96: 4b2e ldr r3, [pc, #184] ; (8038050 ) 8037f98: 2209 movs r2, #9 8037f9a: 701a strb r2, [r3, #0] break; 8037f9c: f005 b89b b.w 803d0d6 else menupos = StartStop; 8037fa0: 4b2b ldr r3, [pc, #172] ; (8038050 ) 8037fa2: 2200 movs r2, #0 8037fa4: 701a strb r2, [r3, #0] break; 8037fa6: f005 b896 b.w 803d0d6 if(menupos == SaveSpec) 8037faa: 4b29 ldr r3, [pc, #164] ; (8038050 ) 8037fac: 781b ldrb r3, [r3, #0] 8037fae: b2db uxtb r3, r3 8037fb0: 2b09 cmp r3, #9 8037fb2: f045 8090 bne.w 803d0d6 menupos = StartStop; 8037fb6: 4b26 ldr r3, [pc, #152] ; (8038050 ) 8037fb8: 2200 movs r2, #0 8037fba: 701a strb r2, [r3, #0] break; 8037fbc: f005 b88b b.w 803d0d6 case MAIN_SYGNAL: switch(menupos) 8037fc0: 4b23 ldr r3, [pc, #140] ; (8038050 ) 8037fc2: 781b ldrb r3, [r3, #0] 8037fc4: b2db uxtb r3, r3 8037fc6: 2b07 cmp r3, #7 8037fc8: f205 8088 bhi.w 803d0dc 8037fcc: a201 add r2, pc, #4 ; (adr r2, 8037fd4 ) 8037fce: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8037fd2: bf00 nop 8037fd4: 08037ffd .word 0x08037ffd 8037fd8: 0803d0dd .word 0x0803d0dd 8037fdc: 0803801d .word 0x0803801d 8037fe0: 0803800d .word 0x0803800d 8037fe4: 08038005 .word 0x08038005 8037fe8: 08038015 .word 0x08038015 8037fec: 08038025 .word 0x08038025 8037ff0: 08037ff5 .word 0x08037ff5 { case Stop: menupos = StartStop; break; 8037ff4: 4b16 ldr r3, [pc, #88] ; (8038050 ) 8037ff6: 2200 movs r2, #0 8037ff8: 701a strb r2, [r3, #0] 8037ffa: e017 b.n 803802c case StartStop: menupos = ZoomOut; break; 8037ffc: 4b14 ldr r3, [pc, #80] ; (8038050 ) 8037ffe: 2204 movs r2, #4 8038000: 701a strb r2, [r3, #0] 8038002: e013 b.n 803802c case ZoomOut: menupos = ZoomIn; break; 8038004: 4b12 ldr r3, [pc, #72] ; (8038050 ) 8038006: 2203 movs r2, #3 8038008: 701a strb r2, [r3, #0] 803800a: e00f b.n 803802c case ZoomIn: menupos = ImageRight; break; 803800c: 4b10 ldr r3, [pc, #64] ; (8038050 ) 803800e: 2205 movs r2, #5 8038010: 701a strb r2, [r3, #0] 8038012: e00b b.n 803802c case ImageRight:menupos = ImageLeft; break; 8038014: 4b0e ldr r3, [pc, #56] ; (8038050 ) 8038016: 2202 movs r2, #2 8038018: 701a strb r2, [r3, #0] 803801a: e007 b.n 803802c case ImageLeft: menupos = Stop; break; 803801c: 4b0c ldr r3, [pc, #48] ; (8038050 ) 803801e: 2207 movs r2, #7 8038020: 701a strb r2, [r3, #0] 8038022: e003 b.n 803802c case Cursor: /*menupos = lastmenupos;*/ZOOM_IN = true; break; 8038024: 4b0c ldr r3, [pc, #48] ; (8038058 ) 8038026: 2201 movs r2, #1 8038028: 701a strb r2, [r3, #0] 803802a: bf00 nop } break; 803802c: f005 b856 b.w 803d0dc case EXPLORER: if(menupos == FilesPTM) 8038030: 4b07 ldr r3, [pc, #28] ; (8038050 ) 8038032: 781b ldrb r3, [r3, #0] 8038034: b2db uxtb r3, r3 8038036: 2b02 cmp r3, #2 8038038: f045 8053 bne.w 803d0e2 { if(CursorIndex > 0) 803803c: 4b08 ldr r3, [pc, #32] ; (8038060 ) 803803e: 681b ldr r3, [r3, #0] 8038040: 2b00 cmp r3, #0 8038042: d00f beq.n 8038064 CursorIndex--; 8038044: 4b06 ldr r3, [pc, #24] ; (8038060 ) 8038046: 681b ldr r3, [r3, #0] 8038048: 3b01 subs r3, #1 803804a: 4a05 ldr r2, [pc, #20] ; (8038060 ) 803804c: 6013 str r3, [r2, #0] 803804e: e01a b.n 8038086 8038050: 20020070 .word 0x20020070 8038054: 20020d88 .word 0x20020d88 8038058: 20020fb5 .word 0x20020fb5 803805c: 20020dae .word 0x20020dae 8038060: 20020e00 .word 0x20020e00 else { if(FirstFileIndex > 0) 8038064: 4b6c ldr r3, [pc, #432] ; (8038218 ) 8038066: 681b ldr r3, [r3, #0] 8038068: 2b00 cmp r3, #0 803806a: d00c beq.n 8038086 { FirstFileIndex--; 803806c: 4b6a ldr r3, [pc, #424] ; (8038218 ) 803806e: 681b ldr r3, [r3, #0] 8038070: 3b01 subs r3, #1 8038072: 4a69 ldr r2, [pc, #420] ; (8038218 ) 8038074: 6013 str r3, [r2, #0] result = ReadMyFilesPTM(FirstFileIndex); 8038076: 4b68 ldr r3, [pc, #416] ; (8038218 ) 8038078: 681b ldr r3, [r3, #0] 803807a: 4618 mov r0, r3 803807c: f7f1 fd94 bl 8029ba8 8038080: 4603 mov r3, r0 8038082: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 /* îøèáêà ÷òåíèÿ 8 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 8038086: 4b64 ldr r3, [pc, #400] ; (8038218 ) 8038088: 681a ldr r2, [r3, #0] 803808a: 4b64 ldr r3, [pc, #400] ; (803821c ) 803808c: 681b ldr r3, [r3, #0] 803808e: 4413 add r3, r2 8038090: 4a63 ldr r2, [pc, #396] ; (8038220 ) 8038092: 6013 str r3, [r2, #0] } break; 8038094: f005 b825 b.w 803d0e2 case EXPLORER_DIAGN: if(menupos == FilesDGN) 8038098: 4b62 ldr r3, [pc, #392] ; (8038224 ) 803809a: 781b ldrb r3, [r3, #0] 803809c: b2db uxtb r3, r3 803809e: 2b02 cmp r3, #2 80380a0: f045 8022 bne.w 803d0e8 { if(CursorIndex > 0) 80380a4: 4b5d ldr r3, [pc, #372] ; (803821c ) 80380a6: 681b ldr r3, [r3, #0] 80380a8: 2b00 cmp r3, #0 80380aa: d005 beq.n 80380b8 CursorIndex--; 80380ac: 4b5b ldr r3, [pc, #364] ; (803821c ) 80380ae: 681b ldr r3, [r3, #0] 80380b0: 3b01 subs r3, #1 80380b2: 4a5a ldr r2, [pc, #360] ; (803821c ) 80380b4: 6013 str r3, [r2, #0] 80380b6: e010 b.n 80380da else { if(FirstFileIndex > 0) 80380b8: 4b57 ldr r3, [pc, #348] ; (8038218 ) 80380ba: 681b ldr r3, [r3, #0] 80380bc: 2b00 cmp r3, #0 80380be: d00c beq.n 80380da { FirstFileIndex--; 80380c0: 4b55 ldr r3, [pc, #340] ; (8038218 ) 80380c2: 681b ldr r3, [r3, #0] 80380c4: 3b01 subs r3, #1 80380c6: 4a54 ldr r2, [pc, #336] ; (8038218 ) 80380c8: 6013 str r3, [r2, #0] result = ReadMyFilesDGN(FirstFileIndex); 80380ca: 4b53 ldr r3, [pc, #332] ; (8038218 ) 80380cc: 681b ldr r3, [r3, #0] 80380ce: 4618 mov r0, r3 80380d0: f7f1 fd77 bl 8029bc2 80380d4: 4603 mov r3, r0 80380d6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } } RealFileIndex = FirstFileIndex + CursorIndex; 80380da: 4b4f ldr r3, [pc, #316] ; (8038218 ) 80380dc: 681a ldr r2, [r3, #0] 80380de: 4b4f ldr r3, [pc, #316] ; (803821c ) 80380e0: 681b ldr r3, [r3, #0] 80380e2: 4413 add r3, r2 80380e4: 4a4e ldr r2, [pc, #312] ; (8038220 ) 80380e6: 6013 str r3, [r2, #0] } break; 80380e8: f004 bffe b.w 803d0e8 case INPUT_NAME_PTM: case INPUT_NAME_DGN: case INPUT_NAME_SPEC: case INPUT_NAME_GTR: case INPUT_NAME_FRN: if(menupos <= _SPACE) 80380ec: 4b4d ldr r3, [pc, #308] ; (8038224 ) 80380ee: 781b ldrb r3, [r3, #0] 80380f0: b2db uxtb r3, r3 80380f2: 2b22 cmp r3, #34 ; 0x22 80380f4: d80e bhi.n 8038114 { if(menupos >= 10) 80380f6: 4b4b ldr r3, [pc, #300] ; (8038224 ) 80380f8: 781b ldrb r3, [r3, #0] 80380fa: b2db uxtb r3, r3 80380fc: 2b09 cmp r3, #9 80380fe: f244 87f6 bls.w 803d0ee menupos -= 10; 8038102: 4b48 ldr r3, [pc, #288] ; (8038224 ) 8038104: 781b ldrb r3, [r3, #0] 8038106: b2db uxtb r3, r3 8038108: 3b0a subs r3, #10 803810a: b2da uxtb r2, r3 803810c: 4b45 ldr r3, [pc, #276] ; (8038224 ) 803810e: 701a strb r2, [r3, #0] if(menupos == _CANCEL) menupos = _SPACE; else menupos -= 8; } break; 8038110: f004 bfed b.w 803d0ee if(menupos == _ENTER) 8038114: 4b43 ldr r3, [pc, #268] ; (8038224 ) 8038116: 781b ldrb r3, [r3, #0] 8038118: b2db uxtb r3, r3 803811a: 2b26 cmp r3, #38 ; 0x26 803811c: d104 bne.n 8038128 menupos = _V; 803811e: 4b41 ldr r3, [pc, #260] ; (8038224 ) 8038120: 2221 movs r2, #33 ; 0x21 8038122: 701a strb r2, [r3, #0] break; 8038124: f004 bfe3 b.w 803d0ee if(menupos == _CANCEL) 8038128: 4b3e ldr r3, [pc, #248] ; (8038224 ) 803812a: 781b ldrb r3, [r3, #0] 803812c: b2db uxtb r3, r3 803812e: 2b27 cmp r3, #39 ; 0x27 8038130: d104 bne.n 803813c menupos = _SPACE; 8038132: 4b3c ldr r3, [pc, #240] ; (8038224 ) 8038134: 2222 movs r2, #34 ; 0x22 8038136: 701a strb r2, [r3, #0] break; 8038138: f004 bfd9 b.w 803d0ee menupos -= 8; 803813c: 4b39 ldr r3, [pc, #228] ; (8038224 ) 803813e: 781b ldrb r3, [r3, #0] 8038140: b2db uxtb r3, r3 8038142: 3b08 subs r3, #8 8038144: b2da uxtb r2, r3 8038146: 4b37 ldr r3, [pc, #220] ; (8038224 ) 8038148: 701a strb r2, [r3, #0] break; 803814a: f004 bfd0 b.w 803d0ee case OPTIONS: if((menupos > Mode) && (menupos < AskFormatNo)) menupos--; 803814e: 4b35 ldr r3, [pc, #212] ; (8038224 ) 8038150: 781b ldrb r3, [r3, #0] 8038152: b2db uxtb r3, r3 8038154: 2b01 cmp r3, #1 8038156: d90d bls.n 8038174 8038158: 4b32 ldr r3, [pc, #200] ; (8038224 ) 803815a: 781b ldrb r3, [r3, #0] 803815c: b2db uxtb r3, r3 803815e: 2b04 cmp r3, #4 8038160: d808 bhi.n 8038174 8038162: 4b30 ldr r3, [pc, #192] ; (8038224 ) 8038164: 781b ldrb r3, [r3, #0] 8038166: b2db uxtb r3, r3 8038168: 3b01 subs r3, #1 803816a: b2da uxtb r2, r3 803816c: 4b2d ldr r3, [pc, #180] ; (8038224 ) 803816e: 701a strb r2, [r3, #0] else menupos = Route; break; 8038170: f004 bfe5 b.w 803d13e else menupos = Route; 8038174: 4b2b ldr r3, [pc, #172] ; (8038224 ) 8038176: 2204 movs r2, #4 8038178: 701a strb r2, [r3, #0] break; 803817a: f004 bfe0 b.w 803d13e case MEAS_MODE: #ifdef USE_ROLL #ifdef USE_UDAR if(pardata.IIN != VOLTS) 803817e: 4b2a ldr r3, [pc, #168] ; (8038228 ) 8038180: 799b ldrb r3, [r3, #6] 8038182: b2db uxtb r3, r3 8038184: 2b02 cmp r3, #2 8038186: d012 beq.n 80381ae { if(menupos > Vibrometer) menupos--; 8038188: 4b26 ldr r3, [pc, #152] ; (8038224 ) 803818a: 781b ldrb r3, [r3, #0] 803818c: b2db uxtb r3, r3 803818e: 2b01 cmp r3, #1 8038190: d908 bls.n 80381a4 8038192: 4b24 ldr r3, [pc, #144] ; (8038224 ) 8038194: 781b ldrb r3, [r3, #0] 8038196: b2db uxtb r3, r3 8038198: 3b01 subs r3, #1 803819a: b2da uxtb r2, r3 803819c: 4b21 ldr r3, [pc, #132] ; (8038224 ) 803819e: 701a strb r2, [r3, #0] #else if(menupos > Vibrometer) menupos--; else menupos = Diagn; #endif*/ break; 80381a0: f004 bfcd b.w 803d13e else menupos = Udar; 80381a4: 4b1f ldr r3, [pc, #124] ; (8038224 ) 80381a6: 2207 movs r2, #7 80381a8: 701a strb r2, [r3, #0] break; 80381aa: f004 bfc8 b.w 803d13e if(menupos > Vibrometer) menupos--; 80381ae: 4b1d ldr r3, [pc, #116] ; (8038224 ) 80381b0: 781b ldrb r3, [r3, #0] 80381b2: b2db uxtb r3, r3 80381b4: 2b01 cmp r3, #1 80381b6: d908 bls.n 80381ca 80381b8: 4b1a ldr r3, [pc, #104] ; (8038224 ) 80381ba: 781b ldrb r3, [r3, #0] 80381bc: b2db uxtb r3, r3 80381be: 3b01 subs r3, #1 80381c0: b2da uxtb r2, r3 80381c2: 4b18 ldr r3, [pc, #96] ; (8038224 ) 80381c4: 701a strb r2, [r3, #0] break; 80381c6: f004 bfba b.w 803d13e else menupos = FFT; 80381ca: 4b16 ldr r3, [pc, #88] ; (8038224 ) 80381cc: 2203 movs r2, #3 80381ce: 701a strb r2, [r3, #0] break; 80381d0: f004 bfb5 b.w 803d13e case PARAM_UDAR: focused = false; 80381d4: 4b15 ldr r3, [pc, #84] ; (803822c ) 80381d6: 2200 movs r2, #0 80381d8: 701a strb r2, [r3, #0] if(menupos == Ok) 80381da: 4b12 ldr r3, [pc, #72] ; (8038224 ) 80381dc: 781b ldrb r3, [r3, #0] 80381de: b2db uxtb r3, r3 80381e0: 2b00 cmp r3, #0 80381e2: d104 bne.n 80381ee menupos = UdarInner; 80381e4: 4b0f ldr r3, [pc, #60] ; (8038224 ) 80381e6: 2202 movs r2, #2 80381e8: 701a strb r2, [r3, #0] } if(k > 9999) k = 9999; if(k == 0) k = 1; pardata.D_RATE = k; } break; 80381ea: f004 bf83 b.w 803d0f4 if(menupos == UdarInner) 80381ee: 4b0d ldr r3, [pc, #52] ; (8038224 ) 80381f0: 781b ldrb r3, [r3, #0] 80381f2: b2db uxtb r3, r3 80381f4: 2b02 cmp r3, #2 80381f6: d104 bne.n 8038202 menupos = UdarRate; 80381f8: 4b0a ldr r3, [pc, #40] ; (8038224 ) 80381fa: 2201 movs r2, #1 80381fc: 701a strb r2, [r3, #0] break; 80381fe: f004 bf79 b.w 803d0f4 if(menupos == UdarRate) 8038202: 4b08 ldr r3, [pc, #32] ; (8038224 ) 8038204: 781b ldrb r3, [r3, #0] 8038206: b2db uxtb r3, r3 8038208: 2b01 cmp r3, #1 803820a: d111 bne.n 8038230 menupos = Ok; 803820c: 4b05 ldr r3, [pc, #20] ; (8038224 ) 803820e: 2200 movs r2, #0 8038210: 701a strb r2, [r3, #0] break; 8038212: f004 bf6f b.w 803d0f4 8038216: bf00 nop 8038218: 20020e04 .word 0x20020e04 803821c: 20020e00 .word 0x20020e00 8038220: 20020e08 .word 0x20020e08 8038224: 20020070 .word 0x20020070 8038228: 20023eb8 .word 0x20023eb8 803822c: 20020fd0 .word 0x20020fd0 if((menupos >= UdarInner_IES) && (menupos <= UdarInner_IKT)) 8038230: 4b9d ldr r3, [pc, #628] ; (80384a8 ) 8038232: 781b ldrb r3, [r3, #0] 8038234: b2db uxtb r3, r3 8038236: 2b06 cmp r3, #6 8038238: f240 814e bls.w 80384d8 803823c: 4b9a ldr r3, [pc, #616] ; (80384a8 ) 803823e: 781b ldrb r3, [r3, #0] 8038240: b2db uxtb r3, r3 8038242: 2b0c cmp r3, #12 8038244: f200 8148 bhi.w 80384d8 k = (uint32_t) (pardata.D_INNER * 1000.0f); 8038248: 4b98 ldr r3, [pc, #608] ; (80384ac ) 803824a: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803824e: ed9f 7a98 vldr s14, [pc, #608] ; 80384b0 8038252: ee67 7a87 vmul.f32 s15, s15, s14 8038256: eefc 7ae7 vcvt.u32.f32 s15, s15 803825a: ee17 3a90 vmov r3, s15 803825e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8038262: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038266: 095b lsrs r3, r3, #5 8038268: 4a92 ldr r2, [pc, #584] ; (80384b4 ) 803826a: fba2 2303 umull r2, r3, r2, r3 803826e: 09db lsrs r3, r3, #7 8038270: b2db uxtb r3, r3 8038272: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8038276: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803827a: 0953 lsrs r3, r2, #5 803827c: 498d ldr r1, [pc, #564] ; (80384b4 ) 803827e: fba1 1303 umull r1, r3, r1, r3 8038282: 09db lsrs r3, r3, #7 8038284: 498c ldr r1, [pc, #560] ; (80384b8 ) 8038286: fb01 f303 mul.w r3, r1, r3 803828a: 1ad3 subs r3, r2, r3 803828c: 4a8b ldr r2, [pc, #556] ; (80384bc ) 803828e: fba2 2303 umull r2, r3, r2, r3 8038292: 0b5b lsrs r3, r3, #13 8038294: b2db uxtb r3, r3 8038296: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803829a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803829e: 0953 lsrs r3, r2, #5 80382a0: 4984 ldr r1, [pc, #528] ; (80384b4 ) 80382a2: fba1 1303 umull r1, r3, r1, r3 80382a6: 09db lsrs r3, r3, #7 80382a8: 4983 ldr r1, [pc, #524] ; (80384b8 ) 80382aa: fb01 f303 mul.w r3, r1, r3 80382ae: 1ad3 subs r3, r2, r3 80382b0: 4a82 ldr r2, [pc, #520] ; (80384bc ) 80382b2: fba2 1203 umull r1, r2, r2, r3 80382b6: 0b52 lsrs r2, r2, #13 80382b8: f242 7110 movw r1, #10000 ; 0x2710 80382bc: fb01 f202 mul.w r2, r1, r2 80382c0: 1a9a subs r2, r3, r2 80382c2: 4b7f ldr r3, [pc, #508] ; (80384c0 ) 80382c4: fba3 2302 umull r2, r3, r3, r2 80382c8: 099b lsrs r3, r3, #6 80382ca: b2db uxtb r3, r3 80382cc: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80382d0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80382d4: 095a lsrs r2, r3, #5 80382d6: 4977 ldr r1, [pc, #476] ; (80384b4 ) 80382d8: fba1 1202 umull r1, r2, r1, r2 80382dc: 09d2 lsrs r2, r2, #7 80382de: 4976 ldr r1, [pc, #472] ; (80384b8 ) 80382e0: fb01 f202 mul.w r2, r1, r2 80382e4: 1a9a subs r2, r3, r2 80382e6: 4b75 ldr r3, [pc, #468] ; (80384bc ) 80382e8: fba3 1302 umull r1, r3, r3, r2 80382ec: 0b5b lsrs r3, r3, #13 80382ee: f242 7110 movw r1, #10000 ; 0x2710 80382f2: fb01 f303 mul.w r3, r1, r3 80382f6: 1ad3 subs r3, r2, r3 80382f8: 4a71 ldr r2, [pc, #452] ; (80384c0 ) 80382fa: fba2 1203 umull r1, r2, r2, r3 80382fe: 0992 lsrs r2, r2, #6 8038300: f44f 717a mov.w r1, #1000 ; 0x3e8 8038304: fb01 f202 mul.w r2, r1, r2 8038308: 1a9a subs r2, r3, r2 803830a: 4b6e ldr r3, [pc, #440] ; (80384c4 ) 803830c: fba3 2302 umull r2, r3, r3, r2 8038310: 095b lsrs r3, r3, #5 8038312: b2db uxtb r3, r3 8038314: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8038318: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803831c: 0953 lsrs r3, r2, #5 803831e: 4965 ldr r1, [pc, #404] ; (80384b4 ) 8038320: fba1 1303 umull r1, r3, r1, r3 8038324: 09db lsrs r3, r3, #7 8038326: 4964 ldr r1, [pc, #400] ; (80384b8 ) 8038328: fb01 f303 mul.w r3, r1, r3 803832c: 1ad3 subs r3, r2, r3 803832e: 4a63 ldr r2, [pc, #396] ; (80384bc ) 8038330: fba2 1203 umull r1, r2, r2, r3 8038334: 0b52 lsrs r2, r2, #13 8038336: f242 7110 movw r1, #10000 ; 0x2710 803833a: fb01 f202 mul.w r2, r1, r2 803833e: 1a9a subs r2, r3, r2 8038340: 4b5f ldr r3, [pc, #380] ; (80384c0 ) 8038342: fba3 1302 umull r1, r3, r3, r2 8038346: 099b lsrs r3, r3, #6 8038348: f44f 717a mov.w r1, #1000 ; 0x3e8 803834c: fb01 f303 mul.w r3, r1, r3 8038350: 1ad3 subs r3, r2, r3 8038352: 4a5c ldr r2, [pc, #368] ; (80384c4 ) 8038354: fba2 1203 umull r1, r2, r2, r3 8038358: 0952 lsrs r2, r2, #5 803835a: 2164 movs r1, #100 ; 0x64 803835c: fb01 f202 mul.w r2, r1, r2 8038360: 1a9a subs r2, r3, r2 8038362: 4b59 ldr r3, [pc, #356] ; (80384c8 ) 8038364: fba3 2302 umull r2, r3, r3, r2 8038368: 08db lsrs r3, r3, #3 803836a: b2db uxtb r3, r3 803836c: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8038370: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038374: 0953 lsrs r3, r2, #5 8038376: 494f ldr r1, [pc, #316] ; (80384b4 ) 8038378: fba1 1303 umull r1, r3, r1, r3 803837c: 09db lsrs r3, r3, #7 803837e: 494e ldr r1, [pc, #312] ; (80384b8 ) 8038380: fb01 f303 mul.w r3, r1, r3 8038384: 1ad3 subs r3, r2, r3 8038386: 4a4d ldr r2, [pc, #308] ; (80384bc ) 8038388: fba2 1203 umull r1, r2, r2, r3 803838c: 0b52 lsrs r2, r2, #13 803838e: f242 7110 movw r1, #10000 ; 0x2710 8038392: fb01 f202 mul.w r2, r1, r2 8038396: 1a9a subs r2, r3, r2 8038398: 4b49 ldr r3, [pc, #292] ; (80384c0 ) 803839a: fba3 1302 umull r1, r3, r3, r2 803839e: 099b lsrs r3, r3, #6 80383a0: f44f 717a mov.w r1, #1000 ; 0x3e8 80383a4: fb01 f303 mul.w r3, r1, r3 80383a8: 1ad3 subs r3, r2, r3 80383aa: 4a46 ldr r2, [pc, #280] ; (80384c4 ) 80383ac: fba2 1203 umull r1, r2, r2, r3 80383b0: 0952 lsrs r2, r2, #5 80383b2: 2164 movs r1, #100 ; 0x64 80383b4: fb01 f202 mul.w r2, r1, r2 80383b8: 1a9a subs r2, r3, r2 80383ba: 4b43 ldr r3, [pc, #268] ; (80384c8 ) 80383bc: fba3 1302 umull r1, r3, r3, r2 80383c0: 08d9 lsrs r1, r3, #3 80383c2: 460b mov r3, r1 80383c4: 009b lsls r3, r3, #2 80383c6: 440b add r3, r1 80383c8: 005b lsls r3, r3, #1 80383ca: 1ad1 subs r1, r2, r3 80383cc: b2cb uxtb r3, r1 80383ce: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 80383d2: 4b35 ldr r3, [pc, #212] ; (80384a8 ) 80383d4: 781b ldrb r3, [r3, #0] 80383d6: b2db uxtb r3, r3 80383d8: 3b07 subs r3, #7 80383da: 2b05 cmp r3, #5 80383dc: d836 bhi.n 803844c 80383de: a201 add r2, pc, #4 ; (adr r2, 80383e4 ) 80383e0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80383e4: 080383fd .word 0x080383fd 80383e8: 0803840b .word 0x0803840b 80383ec: 0803841b .word 0x0803841b 80383f0: 08038429 .word 0x08038429 80383f4: 08038435 .word 0x08038435 80383f8: 08038441 .word 0x08038441 case UdarInner_IES: k += 100000; break; 80383fc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038400: 4b2d ldr r3, [pc, #180] ; (80384b8 ) 8038402: 4413 add r3, r2 8038404: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038408: e020 b.n 803844c case UdarInner_IED: k += 10000; break; 803840a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803840e: f242 7310 movw r3, #10000 ; 0x2710 8038412: 4413 add r3, r2 8038414: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038418: e018 b.n 803844c case UdarInner_IEE: k += 1000; break; 803841a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803841e: f503 737a add.w r3, r3, #1000 ; 0x3e8 8038422: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038426: e011 b.n 803844c case UdarInner_IKD: k += 100; break; 8038428: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803842c: 3364 adds r3, #100 ; 0x64 803842e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038432: e00b b.n 803844c case UdarInner_IKS: k += 10; break; 8038434: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038438: 330a adds r3, #10 803843a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803843e: e005 b.n 803844c case UdarInner_IKT: k++; break; 8038440: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038444: 3301 adds r3, #1 8038446: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803844a: bf00 nop if(k > 999999) k = 999999; 803844c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038450: 4a1e ldr r2, [pc, #120] ; (80384cc ) 8038452: 4293 cmp r3, r2 8038454: d902 bls.n 803845c 8038456: 4b1d ldr r3, [pc, #116] ; (80384cc ) 8038458: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803845c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038460: 2b00 cmp r3, #0 8038462: d102 bne.n 803846a 8038464: 2301 movs r3, #1 8038466: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_INNER = (float32_t) k; 803846a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803846e: ee07 3a90 vmov s15, r3 8038472: eef8 7a67 vcvt.f32.u32 s15, s15 8038476: 4b0d ldr r3, [pc, #52] ; (80384ac ) 8038478: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER *= 0.001f; 803847c: 4b0b ldr r3, [pc, #44] ; (80384ac ) 803847e: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 8038482: ed9f 7a13 vldr s14, [pc, #76] ; 80384d0 8038486: ee67 7a87 vmul.f32 s15, s15, s14 803848a: 4b08 ldr r3, [pc, #32] ; (80384ac ) 803848c: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER += 0.0005f; 8038490: 4b06 ldr r3, [pc, #24] ; (80384ac ) 8038492: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 8038496: ed9f 7a0f vldr s14, [pc, #60] ; 80384d4 803849a: ee77 7a87 vadd.f32 s15, s15, s14 803849e: 4b03 ldr r3, [pc, #12] ; (80384ac ) 80384a0: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 break; 80384a4: f004 be26 b.w 803d0f4 80384a8: 20020070 .word 0x20020070 80384ac: 20023eb8 .word 0x20023eb8 80384b0: 447a0000 .word 0x447a0000 80384b4: 0a7c5ac5 .word 0x0a7c5ac5 80384b8: 000186a0 .word 0x000186a0 80384bc: d1b71759 .word 0xd1b71759 80384c0: 10624dd3 .word 0x10624dd3 80384c4: 51eb851f .word 0x51eb851f 80384c8: cccccccd .word 0xcccccccd 80384cc: 000f423f .word 0x000f423f 80384d0: 3a83126f .word 0x3a83126f 80384d4: 3a03126f .word 0x3a03126f if((menupos >= UdarRate_IET) && (menupos <= UdarRate_IEE)) 80384d8: 4b8c ldr r3, [pc, #560] ; (803870c ) 80384da: 781b ldrb r3, [r3, #0] 80384dc: b2db uxtb r3, r3 80384de: 2b02 cmp r3, #2 80384e0: f244 8608 bls.w 803d0f4 80384e4: 4b89 ldr r3, [pc, #548] ; (803870c ) 80384e6: 781b ldrb r3, [r3, #0] 80384e8: b2db uxtb r3, r3 80384ea: 2b06 cmp r3, #6 80384ec: f204 8602 bhi.w 803d0f4 k = pardata.D_RATE; 80384f0: 4b87 ldr r3, [pc, #540] ; (8038710 ) 80384f2: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 80384f6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 iet = (uint8_t) (k / 1000); 80384fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80384fe: 4a85 ldr r2, [pc, #532] ; (8038714 ) 8038500: fba2 2303 umull r2, r3, r2, r3 8038504: 099b lsrs r3, r3, #6 8038506: b2db uxtb r3, r3 8038508: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 1000 / 100); 803850c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038510: 4b80 ldr r3, [pc, #512] ; (8038714 ) 8038512: fba3 1302 umull r1, r3, r3, r2 8038516: 099b lsrs r3, r3, #6 8038518: f44f 717a mov.w r1, #1000 ; 0x3e8 803851c: fb01 f303 mul.w r3, r1, r3 8038520: 1ad3 subs r3, r2, r3 8038522: 4a7d ldr r2, [pc, #500] ; (8038718 ) 8038524: fba2 2303 umull r2, r3, r2, r3 8038528: 095b lsrs r3, r3, #5 803852a: b2db uxtb r3, r3 803852c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 1000 % 100 / 10); 8038530: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038534: 4b77 ldr r3, [pc, #476] ; (8038714 ) 8038536: fba3 1302 umull r1, r3, r3, r2 803853a: 099b lsrs r3, r3, #6 803853c: f44f 717a mov.w r1, #1000 ; 0x3e8 8038540: fb01 f303 mul.w r3, r1, r3 8038544: 1ad3 subs r3, r2, r3 8038546: 4a74 ldr r2, [pc, #464] ; (8038718 ) 8038548: fba2 1203 umull r1, r2, r2, r3 803854c: 0952 lsrs r2, r2, #5 803854e: 2164 movs r1, #100 ; 0x64 8038550: fb01 f202 mul.w r2, r1, r2 8038554: 1a9a subs r2, r3, r2 8038556: 4b71 ldr r3, [pc, #452] ; (803871c ) 8038558: fba3 2302 umull r2, r3, r3, r2 803855c: 08db lsrs r3, r3, #3 803855e: b2db uxtb r3, r3 8038560: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 1000 % 100 % 10); 8038564: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038568: 4b6a ldr r3, [pc, #424] ; (8038714 ) 803856a: fba3 1302 umull r1, r3, r3, r2 803856e: 099b lsrs r3, r3, #6 8038570: f44f 717a mov.w r1, #1000 ; 0x3e8 8038574: fb01 f303 mul.w r3, r1, r3 8038578: 1ad3 subs r3, r2, r3 803857a: 4a67 ldr r2, [pc, #412] ; (8038718 ) 803857c: fba2 1203 umull r1, r2, r2, r3 8038580: 0952 lsrs r2, r2, #5 8038582: 2164 movs r1, #100 ; 0x64 8038584: fb01 f202 mul.w r2, r1, r2 8038588: 1a9a subs r2, r3, r2 803858a: 4b64 ldr r3, [pc, #400] ; (803871c ) 803858c: fba3 1302 umull r1, r3, r3, r2 8038590: 08d9 lsrs r1, r3, #3 8038592: 460b mov r3, r1 8038594: 009b lsls r3, r3, #2 8038596: 440b add r3, r1 8038598: 005b lsls r3, r3, #1 803859a: 1ad1 subs r1, r2, r3 803859c: b2cb uxtb r3, r1 803859e: f887 306f strb.w r3, [r7, #111] ; 0x6f switch(menupos) 80385a2: 4b5a ldr r3, [pc, #360] ; (803870c ) 80385a4: 781b ldrb r3, [r3, #0] 80385a6: b2db uxtb r3, r3 80385a8: 3b03 subs r3, #3 80385aa: 2b03 cmp r3, #3 80385ac: d823 bhi.n 80385f6 80385ae: a201 add r2, pc, #4 ; (adr r2, 80385b4 ) 80385b0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80385b4: 080385c5 .word 0x080385c5 80385b8: 080385d3 .word 0x080385d3 80385bc: 080385df .word 0x080385df 80385c0: 080385eb .word 0x080385eb k += 1000; 80385c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80385c8: f503 737a add.w r3, r3, #1000 ; 0x3e8 80385cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80385d0: e011 b.n 80385f6 k += 100; 80385d2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80385d6: 3364 adds r3, #100 ; 0x64 80385d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80385dc: e00b b.n 80385f6 k += 10; 80385de: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80385e2: 330a adds r3, #10 80385e4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80385e8: e005 b.n 80385f6 k++; 80385ea: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80385ee: 3301 adds r3, #1 80385f0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80385f4: bf00 nop if(k > 9999) k = 9999; 80385f6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80385fa: f242 720f movw r2, #9999 ; 0x270f 80385fe: 4293 cmp r3, r2 8038600: d903 bls.n 803860a 8038602: f242 730f movw r3, #9999 ; 0x270f 8038606: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803860a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803860e: 2b00 cmp r3, #0 8038610: d102 bne.n 8038618 8038612: 2301 movs r3, #1 8038614: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_RATE = k; 8038618: 4a3d ldr r2, [pc, #244] ; (8038710 ) 803861a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803861e: f8c2 30d0 str.w r3, [r2, #208] ; 0xd0 break; 8038622: f004 bd67 b.w 803d0f4 case PARAM_ROLL: focused = false; 8038626: 4b3e ldr r3, [pc, #248] ; (8038720 ) 8038628: 2200 movs r2, #0 803862a: 701a strb r2, [r3, #0] if(menupos == Ok) 803862c: 4b37 ldr r3, [pc, #220] ; (803870c ) 803862e: 781b ldrb r3, [r3, #0] 8038630: b2db uxtb r3, r3 8038632: 2b00 cmp r3, #0 8038634: d104 bne.n 8038640 menupos = D_Rate; 8038636: 4b35 ldr r3, [pc, #212] ; (803870c ) 8038638: 2209 movs r2, #9 803863a: 701a strb r2, [r3, #0] } if(k > 9999) k = 9999; if(k == 0) k = 1; pardata.D_RATE = k; } break; 803863c: f004 bd5d b.w 803d0fa if(menupos == D_Rate) 8038640: 4b32 ldr r3, [pc, #200] ; (803870c ) 8038642: 781b ldrb r3, [r3, #0] 8038644: b2db uxtb r3, r3 8038646: 2b09 cmp r3, #9 8038648: d110 bne.n 803866c if(pardata.OPTIONS & 0x4) 803864a: 4b31 ldr r3, [pc, #196] ; (8038710 ) 803864c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8038650: f003 0304 and.w r3, r3, #4 8038654: 2b00 cmp r3, #0 8038656: d004 beq.n 8038662 menupos = RollAutoKu; 8038658: 4b2c ldr r3, [pc, #176] ; (803870c ) 803865a: 2207 movs r2, #7 803865c: 701a strb r2, [r3, #0] break; 803865e: f004 bd4c b.w 803d0fa else menupos = RollMax_ALL; 8038662: 4b2a ldr r3, [pc, #168] ; (803870c ) 8038664: 2208 movs r2, #8 8038666: 701a strb r2, [r3, #0] break; 8038668: f004 bd47 b.w 803d0fa if(menupos == RollMax_ALL) 803866c: 4b27 ldr r3, [pc, #156] ; (803870c ) 803866e: 781b ldrb r3, [r3, #0] 8038670: b2db uxtb r3, r3 8038672: 2b08 cmp r3, #8 8038674: d104 bne.n 8038680 menupos = RollAutoKu; 8038676: 4b25 ldr r3, [pc, #148] ; (803870c ) 8038678: 2207 movs r2, #7 803867a: 701a strb r2, [r3, #0] break; 803867c: f004 bd3d b.w 803d0fa if(menupos == RollAutoKu) 8038680: 4b22 ldr r3, [pc, #136] ; (803870c ) 8038682: 781b ldrb r3, [r3, #0] 8038684: b2db uxtb r3, r3 8038686: 2b07 cmp r3, #7 8038688: d104 bne.n 8038694 menupos = RollAverage; 803868a: 4b20 ldr r3, [pc, #128] ; (803870c ) 803868c: 2206 movs r2, #6 803868e: 701a strb r2, [r3, #0] break; 8038690: f004 bd33 b.w 803d0fa if(menupos == RollAverage) 8038694: 4b1d ldr r3, [pc, #116] ; (803870c ) 8038696: 781b ldrb r3, [r3, #0] 8038698: b2db uxtb r3, r3 803869a: 2b06 cmp r3, #6 803869c: d104 bne.n 80386a8 menupos = D_Angle; 803869e: 4b1b ldr r3, [pc, #108] ; (803870c ) 80386a0: 2205 movs r2, #5 80386a2: 701a strb r2, [r3, #0] break; 80386a4: f004 bd29 b.w 803d0fa if(menupos == D_Angle) 80386a8: 4b18 ldr r3, [pc, #96] ; (803870c ) 80386aa: 781b ldrb r3, [r3, #0] 80386ac: b2db uxtb r3, r3 80386ae: 2b05 cmp r3, #5 80386b0: d104 bne.n 80386bc menupos = D_Inner; 80386b2: 4b16 ldr r3, [pc, #88] ; (803870c ) 80386b4: 2204 movs r2, #4 80386b6: 701a strb r2, [r3, #0] break; 80386b8: f004 bd1f b.w 803d0fa if(menupos == D_Inner) 80386bc: 4b13 ldr r3, [pc, #76] ; (803870c ) 80386be: 781b ldrb r3, [r3, #0] 80386c0: b2db uxtb r3, r3 80386c2: 2b04 cmp r3, #4 80386c4: d104 bne.n 80386d0 menupos = D_Outer; 80386c6: 4b11 ldr r3, [pc, #68] ; (803870c ) 80386c8: 2203 movs r2, #3 80386ca: 701a strb r2, [r3, #0] break; 80386cc: f004 bd15 b.w 803d0fa if(menupos == D_Outer) 80386d0: 4b0e ldr r3, [pc, #56] ; (803870c ) 80386d2: 781b ldrb r3, [r3, #0] 80386d4: b2db uxtb r3, r3 80386d6: 2b03 cmp r3, #3 80386d8: d104 bne.n 80386e4 menupos = D_Roll; 80386da: 4b0c ldr r3, [pc, #48] ; (803870c ) 80386dc: 2202 movs r2, #2 80386de: 701a strb r2, [r3, #0] break; 80386e0: f004 bd0b b.w 803d0fa if(menupos == D_Roll) 80386e4: 4b09 ldr r3, [pc, #36] ; (803870c ) 80386e6: 781b ldrb r3, [r3, #0] 80386e8: b2db uxtb r3, r3 80386ea: 2b02 cmp r3, #2 80386ec: d104 bne.n 80386f8 menupos = RollCount; 80386ee: 4b07 ldr r3, [pc, #28] ; (803870c ) 80386f0: 2201 movs r2, #1 80386f2: 701a strb r2, [r3, #0] break; 80386f4: f004 bd01 b.w 803d0fa if(menupos == RollCount) 80386f8: 4b04 ldr r3, [pc, #16] ; (803870c ) 80386fa: 781b ldrb r3, [r3, #0] 80386fc: b2db uxtb r3, r3 80386fe: 2b01 cmp r3, #1 8038700: d110 bne.n 8038724 menupos = Ok; 8038702: 4b02 ldr r3, [pc, #8] ; (803870c ) 8038704: 2200 movs r2, #0 8038706: 701a strb r2, [r3, #0] break; 8038708: f004 bcf7 b.w 803d0fa 803870c: 20020070 .word 0x20020070 8038710: 20023eb8 .word 0x20023eb8 8038714: 10624dd3 .word 0x10624dd3 8038718: 51eb851f .word 0x51eb851f 803871c: cccccccd .word 0xcccccccd 8038720: 20020fd0 .word 0x20020fd0 if((menupos >= RollMax_IDT) && (menupos <= RollMax_IKD)) 8038724: 4b9d ldr r3, [pc, #628] ; (803899c ) 8038726: 781b ldrb r3, [r3, #0] 8038728: b2db uxtb r3, r3 803872a: 2b25 cmp r3, #37 ; 0x25 803872c: f240 814c bls.w 80389c8 8038730: 4b9a ldr r3, [pc, #616] ; (803899c ) 8038732: 781b ldrb r3, [r3, #0] 8038734: b2db uxtb r3, r3 8038736: 2b2b cmp r3, #43 ; 0x2b 8038738: f200 8146 bhi.w 80389c8 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803873c: 4b98 ldr r3, [pc, #608] ; (80389a0 ) 803873e: edd3 7a06 vldr s15, [r3, #24] 8038742: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8038746: ee67 7a87 vmul.f32 s15, s15, s14 803874a: eefc 7ae7 vcvt.u32.f32 s15, s15 803874e: ee17 3a90 vmov r3, s15 8038752: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8038756: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803875a: 095b lsrs r3, r3, #5 803875c: 4a91 ldr r2, [pc, #580] ; (80389a4 ) 803875e: fba2 2303 umull r2, r3, r2, r3 8038762: 09db lsrs r3, r3, #7 8038764: b2db uxtb r3, r3 8038766: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803876a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803876e: 0953 lsrs r3, r2, #5 8038770: 498c ldr r1, [pc, #560] ; (80389a4 ) 8038772: fba1 1303 umull r1, r3, r1, r3 8038776: 09db lsrs r3, r3, #7 8038778: 498b ldr r1, [pc, #556] ; (80389a8 ) 803877a: fb01 f303 mul.w r3, r1, r3 803877e: 1ad3 subs r3, r2, r3 8038780: 4a8a ldr r2, [pc, #552] ; (80389ac ) 8038782: fba2 2303 umull r2, r3, r2, r3 8038786: 0b5b lsrs r3, r3, #13 8038788: b2db uxtb r3, r3 803878a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803878e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038792: 0953 lsrs r3, r2, #5 8038794: 4983 ldr r1, [pc, #524] ; (80389a4 ) 8038796: fba1 1303 umull r1, r3, r1, r3 803879a: 09db lsrs r3, r3, #7 803879c: 4982 ldr r1, [pc, #520] ; (80389a8 ) 803879e: fb01 f303 mul.w r3, r1, r3 80387a2: 1ad3 subs r3, r2, r3 80387a4: 4a81 ldr r2, [pc, #516] ; (80389ac ) 80387a6: fba2 1203 umull r1, r2, r2, r3 80387aa: 0b52 lsrs r2, r2, #13 80387ac: f242 7110 movw r1, #10000 ; 0x2710 80387b0: fb01 f202 mul.w r2, r1, r2 80387b4: 1a9a subs r2, r3, r2 80387b6: 4b7e ldr r3, [pc, #504] ; (80389b0 ) 80387b8: fba3 2302 umull r2, r3, r3, r2 80387bc: 099b lsrs r3, r3, #6 80387be: b2db uxtb r3, r3 80387c0: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80387c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80387c8: 095a lsrs r2, r3, #5 80387ca: 4976 ldr r1, [pc, #472] ; (80389a4 ) 80387cc: fba1 1202 umull r1, r2, r1, r2 80387d0: 09d2 lsrs r2, r2, #7 80387d2: 4975 ldr r1, [pc, #468] ; (80389a8 ) 80387d4: fb01 f202 mul.w r2, r1, r2 80387d8: 1a9a subs r2, r3, r2 80387da: 4b74 ldr r3, [pc, #464] ; (80389ac ) 80387dc: fba3 1302 umull r1, r3, r3, r2 80387e0: 0b5b lsrs r3, r3, #13 80387e2: f242 7110 movw r1, #10000 ; 0x2710 80387e6: fb01 f303 mul.w r3, r1, r3 80387ea: 1ad3 subs r3, r2, r3 80387ec: 4a70 ldr r2, [pc, #448] ; (80389b0 ) 80387ee: fba2 1203 umull r1, r2, r2, r3 80387f2: 0992 lsrs r2, r2, #6 80387f4: f44f 717a mov.w r1, #1000 ; 0x3e8 80387f8: fb01 f202 mul.w r2, r1, r2 80387fc: 1a9a subs r2, r3, r2 80387fe: 4b6d ldr r3, [pc, #436] ; (80389b4 ) 8038800: fba3 2302 umull r2, r3, r3, r2 8038804: 095b lsrs r3, r3, #5 8038806: b2db uxtb r3, r3 8038808: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803880c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038810: 0953 lsrs r3, r2, #5 8038812: 4964 ldr r1, [pc, #400] ; (80389a4 ) 8038814: fba1 1303 umull r1, r3, r1, r3 8038818: 09db lsrs r3, r3, #7 803881a: 4963 ldr r1, [pc, #396] ; (80389a8 ) 803881c: fb01 f303 mul.w r3, r1, r3 8038820: 1ad3 subs r3, r2, r3 8038822: 4a62 ldr r2, [pc, #392] ; (80389ac ) 8038824: fba2 1203 umull r1, r2, r2, r3 8038828: 0b52 lsrs r2, r2, #13 803882a: f242 7110 movw r1, #10000 ; 0x2710 803882e: fb01 f202 mul.w r2, r1, r2 8038832: 1a9a subs r2, r3, r2 8038834: 4b5e ldr r3, [pc, #376] ; (80389b0 ) 8038836: fba3 1302 umull r1, r3, r3, r2 803883a: 099b lsrs r3, r3, #6 803883c: f44f 717a mov.w r1, #1000 ; 0x3e8 8038840: fb01 f303 mul.w r3, r1, r3 8038844: 1ad3 subs r3, r2, r3 8038846: 4a5b ldr r2, [pc, #364] ; (80389b4 ) 8038848: fba2 1203 umull r1, r2, r2, r3 803884c: 0952 lsrs r2, r2, #5 803884e: 2164 movs r1, #100 ; 0x64 8038850: fb01 f202 mul.w r2, r1, r2 8038854: 1a9a subs r2, r3, r2 8038856: 4b58 ldr r3, [pc, #352] ; (80389b8 ) 8038858: fba3 2302 umull r2, r3, r3, r2 803885c: 08db lsrs r3, r3, #3 803885e: b2db uxtb r3, r3 8038860: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8038864: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038868: 0953 lsrs r3, r2, #5 803886a: 494e ldr r1, [pc, #312] ; (80389a4 ) 803886c: fba1 1303 umull r1, r3, r1, r3 8038870: 09db lsrs r3, r3, #7 8038872: 494d ldr r1, [pc, #308] ; (80389a8 ) 8038874: fb01 f303 mul.w r3, r1, r3 8038878: 1ad3 subs r3, r2, r3 803887a: 4a4c ldr r2, [pc, #304] ; (80389ac ) 803887c: fba2 1203 umull r1, r2, r2, r3 8038880: 0b52 lsrs r2, r2, #13 8038882: f242 7110 movw r1, #10000 ; 0x2710 8038886: fb01 f202 mul.w r2, r1, r2 803888a: 1a9a subs r2, r3, r2 803888c: 4b48 ldr r3, [pc, #288] ; (80389b0 ) 803888e: fba3 1302 umull r1, r3, r3, r2 8038892: 099b lsrs r3, r3, #6 8038894: f44f 717a mov.w r1, #1000 ; 0x3e8 8038898: fb01 f303 mul.w r3, r1, r3 803889c: 1ad3 subs r3, r2, r3 803889e: 4a45 ldr r2, [pc, #276] ; (80389b4 ) 80388a0: fba2 1203 umull r1, r2, r2, r3 80388a4: 0952 lsrs r2, r2, #5 80388a6: 2164 movs r1, #100 ; 0x64 80388a8: fb01 f202 mul.w r2, r1, r2 80388ac: 1a9a subs r2, r3, r2 80388ae: 4b42 ldr r3, [pc, #264] ; (80389b8 ) 80388b0: fba3 1302 umull r1, r3, r3, r2 80388b4: 08d9 lsrs r1, r3, #3 80388b6: 460b mov r3, r1 80388b8: 009b lsls r3, r3, #2 80388ba: 440b add r3, r1 80388bc: 005b lsls r3, r3, #1 80388be: 1ad1 subs r1, r2, r3 80388c0: b2cb uxtb r3, r1 80388c2: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80388c6: 4b35 ldr r3, [pc, #212] ; (803899c ) 80388c8: 781b ldrb r3, [r3, #0] 80388ca: b2db uxtb r3, r3 80388cc: 3b26 subs r3, #38 ; 0x26 80388ce: 2b05 cmp r3, #5 80388d0: d836 bhi.n 8038940 80388d2: a201 add r2, pc, #4 ; (adr r2, 80388d8 ) 80388d4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80388d8: 080388f1 .word 0x080388f1 80388dc: 080388ff .word 0x080388ff 80388e0: 0803890f .word 0x0803890f 80388e4: 0803891d .word 0x0803891d 80388e8: 08038929 .word 0x08038929 80388ec: 08038935 .word 0x08038935 case RollMax_IDT: k += 100000; break; 80388f0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80388f4: 4b2c ldr r3, [pc, #176] ; (80389a8 ) 80388f6: 4413 add r3, r2 80388f8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80388fc: e020 b.n 8038940 case RollMax_IET: k += 10000; break; 80388fe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038902: f242 7310 movw r3, #10000 ; 0x2710 8038906: 4413 add r3, r2 8038908: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803890c: e018 b.n 8038940 case RollMax_IES: k += 1000; break; 803890e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038912: f503 737a add.w r3, r3, #1000 ; 0x3e8 8038916: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803891a: e011 b.n 8038940 case RollMax_IED: k += 100; break; 803891c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038920: 3364 adds r3, #100 ; 0x64 8038922: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038926: e00b b.n 8038940 case RollMax_IEE: k += 10; break; 8038928: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803892c: 330a adds r3, #10 803892e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038932: e005 b.n 8038940 case RollMax_IKD: k++; break; 8038934: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038938: 3301 adds r3, #1 803893a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803893e: bf00 nop if(k > 999999) k = 999999; 8038940: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038944: 4a1d ldr r2, [pc, #116] ; (80389bc ) 8038946: 4293 cmp r3, r2 8038948: d902 bls.n 8038950 803894a: 4b1c ldr r3, [pc, #112] ; (80389bc ) 803894c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8038950: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038954: 2b00 cmp r3, #0 8038956: d102 bne.n 803895e 8038958: 2301 movs r3, #1 803895a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803895e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038962: ee07 3a90 vmov s15, r3 8038966: eef8 7a67 vcvt.f32.u32 s15, s15 803896a: 4b0d ldr r3, [pc, #52] ; (80389a0 ) 803896c: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8038970: 4b0b ldr r3, [pc, #44] ; (80389a0 ) 8038972: edd3 7a06 vldr s15, [r3, #24] 8038976: ed9f 7a12 vldr s14, [pc, #72] ; 80389c0 803897a: ee67 7a87 vmul.f32 s15, s15, s14 803897e: 4b08 ldr r3, [pc, #32] ; (80389a0 ) 8038980: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 8038984: 4b06 ldr r3, [pc, #24] ; (80389a0 ) 8038986: edd3 7a06 vldr s15, [r3, #24] 803898a: ed9f 7a0e vldr s14, [pc, #56] ; 80389c4 803898e: ee77 7a87 vadd.f32 s15, s15, s14 8038992: 4b03 ldr r3, [pc, #12] ; (80389a0 ) 8038994: edc3 7a06 vstr s15, [r3, #24] 8038998: f000 be0d b.w 80395b6 803899c: 20020070 .word 0x20020070 80389a0: 20023eb8 .word 0x20023eb8 80389a4: 0a7c5ac5 .word 0x0a7c5ac5 80389a8: 000186a0 .word 0x000186a0 80389ac: d1b71759 .word 0xd1b71759 80389b0: 10624dd3 .word 0x10624dd3 80389b4: 51eb851f .word 0x51eb851f 80389b8: cccccccd .word 0xcccccccd 80389bc: 000f423f .word 0x000f423f 80389c0: 3dcccccd .word 0x3dcccccd 80389c4: 3d4ccccd .word 0x3d4ccccd if((menupos >= D_Roll_IES) && (menupos <= D_Roll_IKT)) 80389c8: 4b9d ldr r3, [pc, #628] ; (8038c40 ) 80389ca: 781b ldrb r3, [r3, #0] 80389cc: b2db uxtb r3, r3 80389ce: 2b09 cmp r3, #9 80389d0: f240 814e bls.w 8038c70 80389d4: 4b9a ldr r3, [pc, #616] ; (8038c40 ) 80389d6: 781b ldrb r3, [r3, #0] 80389d8: b2db uxtb r3, r3 80389da: 2b0f cmp r3, #15 80389dc: f200 8148 bhi.w 8038c70 k = (uint32_t) (pardata.D_ROLL * 1000.0f); 80389e0: 4b98 ldr r3, [pc, #608] ; (8038c44 ) 80389e2: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 80389e6: ed9f 7a98 vldr s14, [pc, #608] ; 8038c48 80389ea: ee67 7a87 vmul.f32 s15, s15, s14 80389ee: eefc 7ae7 vcvt.u32.f32 s15, s15 80389f2: ee17 3a90 vmov r3, s15 80389f6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 80389fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80389fe: 095b lsrs r3, r3, #5 8038a00: 4a92 ldr r2, [pc, #584] ; (8038c4c ) 8038a02: fba2 2303 umull r2, r3, r2, r3 8038a06: 09db lsrs r3, r3, #7 8038a08: b2db uxtb r3, r3 8038a0a: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8038a0e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038a12: 0953 lsrs r3, r2, #5 8038a14: 498d ldr r1, [pc, #564] ; (8038c4c ) 8038a16: fba1 1303 umull r1, r3, r1, r3 8038a1a: 09db lsrs r3, r3, #7 8038a1c: 498c ldr r1, [pc, #560] ; (8038c50 ) 8038a1e: fb01 f303 mul.w r3, r1, r3 8038a22: 1ad3 subs r3, r2, r3 8038a24: 4a8b ldr r2, [pc, #556] ; (8038c54 ) 8038a26: fba2 2303 umull r2, r3, r2, r3 8038a2a: 0b5b lsrs r3, r3, #13 8038a2c: b2db uxtb r3, r3 8038a2e: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 8038a32: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038a36: 0953 lsrs r3, r2, #5 8038a38: 4984 ldr r1, [pc, #528] ; (8038c4c ) 8038a3a: fba1 1303 umull r1, r3, r1, r3 8038a3e: 09db lsrs r3, r3, #7 8038a40: 4983 ldr r1, [pc, #524] ; (8038c50 ) 8038a42: fb01 f303 mul.w r3, r1, r3 8038a46: 1ad3 subs r3, r2, r3 8038a48: 4a82 ldr r2, [pc, #520] ; (8038c54 ) 8038a4a: fba2 1203 umull r1, r2, r2, r3 8038a4e: 0b52 lsrs r2, r2, #13 8038a50: f242 7110 movw r1, #10000 ; 0x2710 8038a54: fb01 f202 mul.w r2, r1, r2 8038a58: 1a9a subs r2, r3, r2 8038a5a: 4b7f ldr r3, [pc, #508] ; (8038c58 ) 8038a5c: fba3 2302 umull r2, r3, r3, r2 8038a60: 099b lsrs r3, r3, #6 8038a62: b2db uxtb r3, r3 8038a64: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8038a68: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038a6c: 095a lsrs r2, r3, #5 8038a6e: 4977 ldr r1, [pc, #476] ; (8038c4c ) 8038a70: fba1 1202 umull r1, r2, r1, r2 8038a74: 09d2 lsrs r2, r2, #7 8038a76: 4976 ldr r1, [pc, #472] ; (8038c50 ) 8038a78: fb01 f202 mul.w r2, r1, r2 8038a7c: 1a9a subs r2, r3, r2 8038a7e: 4b75 ldr r3, [pc, #468] ; (8038c54 ) 8038a80: fba3 1302 umull r1, r3, r3, r2 8038a84: 0b5b lsrs r3, r3, #13 8038a86: f242 7110 movw r1, #10000 ; 0x2710 8038a8a: fb01 f303 mul.w r3, r1, r3 8038a8e: 1ad3 subs r3, r2, r3 8038a90: 4a71 ldr r2, [pc, #452] ; (8038c58 ) 8038a92: fba2 1203 umull r1, r2, r2, r3 8038a96: 0992 lsrs r2, r2, #6 8038a98: f44f 717a mov.w r1, #1000 ; 0x3e8 8038a9c: fb01 f202 mul.w r2, r1, r2 8038aa0: 1a9a subs r2, r3, r2 8038aa2: 4b6e ldr r3, [pc, #440] ; (8038c5c ) 8038aa4: fba3 2302 umull r2, r3, r3, r2 8038aa8: 095b lsrs r3, r3, #5 8038aaa: b2db uxtb r3, r3 8038aac: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8038ab0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038ab4: 0953 lsrs r3, r2, #5 8038ab6: 4965 ldr r1, [pc, #404] ; (8038c4c ) 8038ab8: fba1 1303 umull r1, r3, r1, r3 8038abc: 09db lsrs r3, r3, #7 8038abe: 4964 ldr r1, [pc, #400] ; (8038c50 ) 8038ac0: fb01 f303 mul.w r3, r1, r3 8038ac4: 1ad3 subs r3, r2, r3 8038ac6: 4a63 ldr r2, [pc, #396] ; (8038c54 ) 8038ac8: fba2 1203 umull r1, r2, r2, r3 8038acc: 0b52 lsrs r2, r2, #13 8038ace: f242 7110 movw r1, #10000 ; 0x2710 8038ad2: fb01 f202 mul.w r2, r1, r2 8038ad6: 1a9a subs r2, r3, r2 8038ad8: 4b5f ldr r3, [pc, #380] ; (8038c58 ) 8038ada: fba3 1302 umull r1, r3, r3, r2 8038ade: 099b lsrs r3, r3, #6 8038ae0: f44f 717a mov.w r1, #1000 ; 0x3e8 8038ae4: fb01 f303 mul.w r3, r1, r3 8038ae8: 1ad3 subs r3, r2, r3 8038aea: 4a5c ldr r2, [pc, #368] ; (8038c5c ) 8038aec: fba2 1203 umull r1, r2, r2, r3 8038af0: 0952 lsrs r2, r2, #5 8038af2: 2164 movs r1, #100 ; 0x64 8038af4: fb01 f202 mul.w r2, r1, r2 8038af8: 1a9a subs r2, r3, r2 8038afa: 4b59 ldr r3, [pc, #356] ; (8038c60 ) 8038afc: fba3 2302 umull r2, r3, r3, r2 8038b00: 08db lsrs r3, r3, #3 8038b02: b2db uxtb r3, r3 8038b04: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8038b08: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038b0c: 0953 lsrs r3, r2, #5 8038b0e: 494f ldr r1, [pc, #316] ; (8038c4c ) 8038b10: fba1 1303 umull r1, r3, r1, r3 8038b14: 09db lsrs r3, r3, #7 8038b16: 494e ldr r1, [pc, #312] ; (8038c50 ) 8038b18: fb01 f303 mul.w r3, r1, r3 8038b1c: 1ad3 subs r3, r2, r3 8038b1e: 4a4d ldr r2, [pc, #308] ; (8038c54 ) 8038b20: fba2 1203 umull r1, r2, r2, r3 8038b24: 0b52 lsrs r2, r2, #13 8038b26: f242 7110 movw r1, #10000 ; 0x2710 8038b2a: fb01 f202 mul.w r2, r1, r2 8038b2e: 1a9a subs r2, r3, r2 8038b30: 4b49 ldr r3, [pc, #292] ; (8038c58 ) 8038b32: fba3 1302 umull r1, r3, r3, r2 8038b36: 099b lsrs r3, r3, #6 8038b38: f44f 717a mov.w r1, #1000 ; 0x3e8 8038b3c: fb01 f303 mul.w r3, r1, r3 8038b40: 1ad3 subs r3, r2, r3 8038b42: 4a46 ldr r2, [pc, #280] ; (8038c5c ) 8038b44: fba2 1203 umull r1, r2, r2, r3 8038b48: 0952 lsrs r2, r2, #5 8038b4a: 2164 movs r1, #100 ; 0x64 8038b4c: fb01 f202 mul.w r2, r1, r2 8038b50: 1a9a subs r2, r3, r2 8038b52: 4b43 ldr r3, [pc, #268] ; (8038c60 ) 8038b54: fba3 1302 umull r1, r3, r3, r2 8038b58: 08d9 lsrs r1, r3, #3 8038b5a: 460b mov r3, r1 8038b5c: 009b lsls r3, r3, #2 8038b5e: 440b add r3, r1 8038b60: 005b lsls r3, r3, #1 8038b62: 1ad1 subs r1, r2, r3 8038b64: b2cb uxtb r3, r1 8038b66: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 8038b6a: 4b35 ldr r3, [pc, #212] ; (8038c40 ) 8038b6c: 781b ldrb r3, [r3, #0] 8038b6e: b2db uxtb r3, r3 8038b70: 3b0a subs r3, #10 8038b72: 2b05 cmp r3, #5 8038b74: d836 bhi.n 8038be4 8038b76: a201 add r2, pc, #4 ; (adr r2, 8038b7c ) 8038b78: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8038b7c: 08038b95 .word 0x08038b95 8038b80: 08038ba3 .word 0x08038ba3 8038b84: 08038bb3 .word 0x08038bb3 8038b88: 08038bc1 .word 0x08038bc1 8038b8c: 08038bcd .word 0x08038bcd 8038b90: 08038bd9 .word 0x08038bd9 case D_Roll_IES: k += 100000; break; 8038b94: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038b98: 4b2d ldr r3, [pc, #180] ; (8038c50 ) 8038b9a: 4413 add r3, r2 8038b9c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038ba0: e020 b.n 8038be4 case D_Roll_IED: k += 10000; break; 8038ba2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038ba6: f242 7310 movw r3, #10000 ; 0x2710 8038baa: 4413 add r3, r2 8038bac: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038bb0: e018 b.n 8038be4 case D_Roll_IEE: k += 1000; break; 8038bb2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038bb6: f503 737a add.w r3, r3, #1000 ; 0x3e8 8038bba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038bbe: e011 b.n 8038be4 case D_Roll_IKD: k += 100; break; 8038bc0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038bc4: 3364 adds r3, #100 ; 0x64 8038bc6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038bca: e00b b.n 8038be4 case D_Roll_IKS: k += 10; break; 8038bcc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038bd0: 330a adds r3, #10 8038bd2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038bd6: e005 b.n 8038be4 case D_Roll_IKT: k++; break; 8038bd8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038bdc: 3301 adds r3, #1 8038bde: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038be2: bf00 nop if(k > 999999) k = 999999; 8038be4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038be8: 4a1e ldr r2, [pc, #120] ; (8038c64 ) 8038bea: 4293 cmp r3, r2 8038bec: d902 bls.n 8038bf4 8038bee: 4b1d ldr r3, [pc, #116] ; (8038c64 ) 8038bf0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8038bf4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038bf8: 2b00 cmp r3, #0 8038bfa: d102 bne.n 8038c02 8038bfc: 2301 movs r3, #1 8038bfe: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_ROLL = (float32_t) k; 8038c02: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038c06: ee07 3a90 vmov s15, r3 8038c0a: eef8 7a67 vcvt.f32.u32 s15, s15 8038c0e: 4b0d ldr r3, [pc, #52] ; (8038c44 ) 8038c10: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 pardata.D_ROLL *= 0.001f; 8038c14: 4b0b ldr r3, [pc, #44] ; (8038c44 ) 8038c16: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 8038c1a: ed9f 7a13 vldr s14, [pc, #76] ; 8038c68 8038c1e: ee67 7a87 vmul.f32 s15, s15, s14 8038c22: 4b08 ldr r3, [pc, #32] ; (8038c44 ) 8038c24: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 pardata.D_ROLL += 0.0005f; 8038c28: 4b06 ldr r3, [pc, #24] ; (8038c44 ) 8038c2a: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 8038c2e: ed9f 7a0f vldr s14, [pc, #60] ; 8038c6c 8038c32: ee77 7a87 vadd.f32 s15, s15, s14 8038c36: 4b03 ldr r3, [pc, #12] ; (8038c44 ) 8038c38: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 8038c3c: f000 bcbb b.w 80395b6 8038c40: 20020070 .word 0x20020070 8038c44: 20023eb8 .word 0x20023eb8 8038c48: 447a0000 .word 0x447a0000 8038c4c: 0a7c5ac5 .word 0x0a7c5ac5 8038c50: 000186a0 .word 0x000186a0 8038c54: d1b71759 .word 0xd1b71759 8038c58: 10624dd3 .word 0x10624dd3 8038c5c: 51eb851f .word 0x51eb851f 8038c60: cccccccd .word 0xcccccccd 8038c64: 000f423f .word 0x000f423f 8038c68: 3a83126f .word 0x3a83126f 8038c6c: 3a03126f .word 0x3a03126f if((menupos >= D_Outer_IES) && (menupos <= D_Outer_IKT)) 8038c70: 4b9d ldr r3, [pc, #628] ; (8038ee8 ) 8038c72: 781b ldrb r3, [r3, #0] 8038c74: b2db uxtb r3, r3 8038c76: 2b0f cmp r3, #15 8038c78: f240 814e bls.w 8038f18 8038c7c: 4b9a ldr r3, [pc, #616] ; (8038ee8 ) 8038c7e: 781b ldrb r3, [r3, #0] 8038c80: b2db uxtb r3, r3 8038c82: 2b15 cmp r3, #21 8038c84: f200 8148 bhi.w 8038f18 k = (uint32_t) (pardata.D_OUTER * 1000.0f); 8038c88: 4b98 ldr r3, [pc, #608] ; (8038eec ) 8038c8a: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 8038c8e: ed9f 7a98 vldr s14, [pc, #608] ; 8038ef0 8038c92: ee67 7a87 vmul.f32 s15, s15, s14 8038c96: eefc 7ae7 vcvt.u32.f32 s15, s15 8038c9a: ee17 3a90 vmov r3, s15 8038c9e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8038ca2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038ca6: 095b lsrs r3, r3, #5 8038ca8: 4a92 ldr r2, [pc, #584] ; (8038ef4 ) 8038caa: fba2 2303 umull r2, r3, r2, r3 8038cae: 09db lsrs r3, r3, #7 8038cb0: b2db uxtb r3, r3 8038cb2: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8038cb6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038cba: 0953 lsrs r3, r2, #5 8038cbc: 498d ldr r1, [pc, #564] ; (8038ef4 ) 8038cbe: fba1 1303 umull r1, r3, r1, r3 8038cc2: 09db lsrs r3, r3, #7 8038cc4: 498c ldr r1, [pc, #560] ; (8038ef8 ) 8038cc6: fb01 f303 mul.w r3, r1, r3 8038cca: 1ad3 subs r3, r2, r3 8038ccc: 4a8b ldr r2, [pc, #556] ; (8038efc ) 8038cce: fba2 2303 umull r2, r3, r2, r3 8038cd2: 0b5b lsrs r3, r3, #13 8038cd4: b2db uxtb r3, r3 8038cd6: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 8038cda: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038cde: 0953 lsrs r3, r2, #5 8038ce0: 4984 ldr r1, [pc, #528] ; (8038ef4 ) 8038ce2: fba1 1303 umull r1, r3, r1, r3 8038ce6: 09db lsrs r3, r3, #7 8038ce8: 4983 ldr r1, [pc, #524] ; (8038ef8 ) 8038cea: fb01 f303 mul.w r3, r1, r3 8038cee: 1ad3 subs r3, r2, r3 8038cf0: 4a82 ldr r2, [pc, #520] ; (8038efc ) 8038cf2: fba2 1203 umull r1, r2, r2, r3 8038cf6: 0b52 lsrs r2, r2, #13 8038cf8: f242 7110 movw r1, #10000 ; 0x2710 8038cfc: fb01 f202 mul.w r2, r1, r2 8038d00: 1a9a subs r2, r3, r2 8038d02: 4b7f ldr r3, [pc, #508] ; (8038f00 ) 8038d04: fba3 2302 umull r2, r3, r3, r2 8038d08: 099b lsrs r3, r3, #6 8038d0a: b2db uxtb r3, r3 8038d0c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8038d10: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038d14: 095a lsrs r2, r3, #5 8038d16: 4977 ldr r1, [pc, #476] ; (8038ef4 ) 8038d18: fba1 1202 umull r1, r2, r1, r2 8038d1c: 09d2 lsrs r2, r2, #7 8038d1e: 4976 ldr r1, [pc, #472] ; (8038ef8 ) 8038d20: fb01 f202 mul.w r2, r1, r2 8038d24: 1a9a subs r2, r3, r2 8038d26: 4b75 ldr r3, [pc, #468] ; (8038efc ) 8038d28: fba3 1302 umull r1, r3, r3, r2 8038d2c: 0b5b lsrs r3, r3, #13 8038d2e: f242 7110 movw r1, #10000 ; 0x2710 8038d32: fb01 f303 mul.w r3, r1, r3 8038d36: 1ad3 subs r3, r2, r3 8038d38: 4a71 ldr r2, [pc, #452] ; (8038f00 ) 8038d3a: fba2 1203 umull r1, r2, r2, r3 8038d3e: 0992 lsrs r2, r2, #6 8038d40: f44f 717a mov.w r1, #1000 ; 0x3e8 8038d44: fb01 f202 mul.w r2, r1, r2 8038d48: 1a9a subs r2, r3, r2 8038d4a: 4b6e ldr r3, [pc, #440] ; (8038f04 ) 8038d4c: fba3 2302 umull r2, r3, r3, r2 8038d50: 095b lsrs r3, r3, #5 8038d52: b2db uxtb r3, r3 8038d54: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8038d58: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038d5c: 0953 lsrs r3, r2, #5 8038d5e: 4965 ldr r1, [pc, #404] ; (8038ef4 ) 8038d60: fba1 1303 umull r1, r3, r1, r3 8038d64: 09db lsrs r3, r3, #7 8038d66: 4964 ldr r1, [pc, #400] ; (8038ef8 ) 8038d68: fb01 f303 mul.w r3, r1, r3 8038d6c: 1ad3 subs r3, r2, r3 8038d6e: 4a63 ldr r2, [pc, #396] ; (8038efc ) 8038d70: fba2 1203 umull r1, r2, r2, r3 8038d74: 0b52 lsrs r2, r2, #13 8038d76: f242 7110 movw r1, #10000 ; 0x2710 8038d7a: fb01 f202 mul.w r2, r1, r2 8038d7e: 1a9a subs r2, r3, r2 8038d80: 4b5f ldr r3, [pc, #380] ; (8038f00 ) 8038d82: fba3 1302 umull r1, r3, r3, r2 8038d86: 099b lsrs r3, r3, #6 8038d88: f44f 717a mov.w r1, #1000 ; 0x3e8 8038d8c: fb01 f303 mul.w r3, r1, r3 8038d90: 1ad3 subs r3, r2, r3 8038d92: 4a5c ldr r2, [pc, #368] ; (8038f04 ) 8038d94: fba2 1203 umull r1, r2, r2, r3 8038d98: 0952 lsrs r2, r2, #5 8038d9a: 2164 movs r1, #100 ; 0x64 8038d9c: fb01 f202 mul.w r2, r1, r2 8038da0: 1a9a subs r2, r3, r2 8038da2: 4b59 ldr r3, [pc, #356] ; (8038f08 ) 8038da4: fba3 2302 umull r2, r3, r3, r2 8038da8: 08db lsrs r3, r3, #3 8038daa: b2db uxtb r3, r3 8038dac: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8038db0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038db4: 0953 lsrs r3, r2, #5 8038db6: 494f ldr r1, [pc, #316] ; (8038ef4 ) 8038db8: fba1 1303 umull r1, r3, r1, r3 8038dbc: 09db lsrs r3, r3, #7 8038dbe: 494e ldr r1, [pc, #312] ; (8038ef8 ) 8038dc0: fb01 f303 mul.w r3, r1, r3 8038dc4: 1ad3 subs r3, r2, r3 8038dc6: 4a4d ldr r2, [pc, #308] ; (8038efc ) 8038dc8: fba2 1203 umull r1, r2, r2, r3 8038dcc: 0b52 lsrs r2, r2, #13 8038dce: f242 7110 movw r1, #10000 ; 0x2710 8038dd2: fb01 f202 mul.w r2, r1, r2 8038dd6: 1a9a subs r2, r3, r2 8038dd8: 4b49 ldr r3, [pc, #292] ; (8038f00 ) 8038dda: fba3 1302 umull r1, r3, r3, r2 8038dde: 099b lsrs r3, r3, #6 8038de0: f44f 717a mov.w r1, #1000 ; 0x3e8 8038de4: fb01 f303 mul.w r3, r1, r3 8038de8: 1ad3 subs r3, r2, r3 8038dea: 4a46 ldr r2, [pc, #280] ; (8038f04 ) 8038dec: fba2 1203 umull r1, r2, r2, r3 8038df0: 0952 lsrs r2, r2, #5 8038df2: 2164 movs r1, #100 ; 0x64 8038df4: fb01 f202 mul.w r2, r1, r2 8038df8: 1a9a subs r2, r3, r2 8038dfa: 4b43 ldr r3, [pc, #268] ; (8038f08 ) 8038dfc: fba3 1302 umull r1, r3, r3, r2 8038e00: 08d9 lsrs r1, r3, #3 8038e02: 460b mov r3, r1 8038e04: 009b lsls r3, r3, #2 8038e06: 440b add r3, r1 8038e08: 005b lsls r3, r3, #1 8038e0a: 1ad1 subs r1, r2, r3 8038e0c: b2cb uxtb r3, r1 8038e0e: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 8038e12: 4b35 ldr r3, [pc, #212] ; (8038ee8 ) 8038e14: 781b ldrb r3, [r3, #0] 8038e16: b2db uxtb r3, r3 8038e18: 3b10 subs r3, #16 8038e1a: 2b05 cmp r3, #5 8038e1c: d836 bhi.n 8038e8c 8038e1e: a201 add r2, pc, #4 ; (adr r2, 8038e24 ) 8038e20: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8038e24: 08038e3d .word 0x08038e3d 8038e28: 08038e4b .word 0x08038e4b 8038e2c: 08038e5b .word 0x08038e5b 8038e30: 08038e69 .word 0x08038e69 8038e34: 08038e75 .word 0x08038e75 8038e38: 08038e81 .word 0x08038e81 case D_Outer_IES: k += 100000; break; 8038e3c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038e40: 4b2d ldr r3, [pc, #180] ; (8038ef8 ) 8038e42: 4413 add r3, r2 8038e44: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038e48: e020 b.n 8038e8c case D_Outer_IED: k += 10000; break; 8038e4a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038e4e: f242 7310 movw r3, #10000 ; 0x2710 8038e52: 4413 add r3, r2 8038e54: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038e58: e018 b.n 8038e8c case D_Outer_IEE: k += 1000; break; 8038e5a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038e5e: f503 737a add.w r3, r3, #1000 ; 0x3e8 8038e62: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038e66: e011 b.n 8038e8c case D_Outer_IKD: k += 100; break; 8038e68: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038e6c: 3364 adds r3, #100 ; 0x64 8038e6e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038e72: e00b b.n 8038e8c case D_Outer_IKS: k += 10; break; 8038e74: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038e78: 330a adds r3, #10 8038e7a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038e7e: e005 b.n 8038e8c case D_Outer_IKT: k++; break; 8038e80: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038e84: 3301 adds r3, #1 8038e86: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038e8a: bf00 nop if(k > 999999) k = 999999; 8038e8c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038e90: 4a1e ldr r2, [pc, #120] ; (8038f0c ) 8038e92: 4293 cmp r3, r2 8038e94: d902 bls.n 8038e9c 8038e96: 4b1d ldr r3, [pc, #116] ; (8038f0c ) 8038e98: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8038e9c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038ea0: 2b00 cmp r3, #0 8038ea2: d102 bne.n 8038eaa 8038ea4: 2301 movs r3, #1 8038ea6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_OUTER = (float32_t) k; 8038eaa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038eae: ee07 3a90 vmov s15, r3 8038eb2: eef8 7a67 vcvt.f32.u32 s15, s15 8038eb6: 4b0d ldr r3, [pc, #52] ; (8038eec ) 8038eb8: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 pardata.D_OUTER *= 0.001f; 8038ebc: 4b0b ldr r3, [pc, #44] ; (8038eec ) 8038ebe: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 8038ec2: ed9f 7a13 vldr s14, [pc, #76] ; 8038f10 8038ec6: ee67 7a87 vmul.f32 s15, s15, s14 8038eca: 4b08 ldr r3, [pc, #32] ; (8038eec ) 8038ecc: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 pardata.D_OUTER += 0.0005f; 8038ed0: 4b06 ldr r3, [pc, #24] ; (8038eec ) 8038ed2: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 8038ed6: ed9f 7a0f vldr s14, [pc, #60] ; 8038f14 8038eda: ee77 7a87 vadd.f32 s15, s15, s14 8038ede: 4b03 ldr r3, [pc, #12] ; (8038eec ) 8038ee0: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 8038ee4: e367 b.n 80395b6 8038ee6: bf00 nop 8038ee8: 20020070 .word 0x20020070 8038eec: 20023eb8 .word 0x20023eb8 8038ef0: 447a0000 .word 0x447a0000 8038ef4: 0a7c5ac5 .word 0x0a7c5ac5 8038ef8: 000186a0 .word 0x000186a0 8038efc: d1b71759 .word 0xd1b71759 8038f00: 10624dd3 .word 0x10624dd3 8038f04: 51eb851f .word 0x51eb851f 8038f08: cccccccd .word 0xcccccccd 8038f0c: 000f423f .word 0x000f423f 8038f10: 3a83126f .word 0x3a83126f 8038f14: 3a03126f .word 0x3a03126f if((menupos >= D_Inner_IES) && (menupos <= D_Inner_IKT)) 8038f18: 4b9d ldr r3, [pc, #628] ; (8039190 ) 8038f1a: 781b ldrb r3, [r3, #0] 8038f1c: b2db uxtb r3, r3 8038f1e: 2b15 cmp r3, #21 8038f20: f240 814e bls.w 80391c0 8038f24: 4b9a ldr r3, [pc, #616] ; (8039190 ) 8038f26: 781b ldrb r3, [r3, #0] 8038f28: b2db uxtb r3, r3 8038f2a: 2b1b cmp r3, #27 8038f2c: f200 8148 bhi.w 80391c0 k = (uint32_t) (pardata.D_INNER * 1000.0f); 8038f30: 4b98 ldr r3, [pc, #608] ; (8039194 ) 8038f32: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 8038f36: ed9f 7a98 vldr s14, [pc, #608] ; 8039198 8038f3a: ee67 7a87 vmul.f32 s15, s15, s14 8038f3e: eefc 7ae7 vcvt.u32.f32 s15, s15 8038f42: ee17 3a90 vmov r3, s15 8038f46: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8038f4a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038f4e: 095b lsrs r3, r3, #5 8038f50: 4a92 ldr r2, [pc, #584] ; (803919c ) 8038f52: fba2 2303 umull r2, r3, r2, r3 8038f56: 09db lsrs r3, r3, #7 8038f58: b2db uxtb r3, r3 8038f5a: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8038f5e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038f62: 0953 lsrs r3, r2, #5 8038f64: 498d ldr r1, [pc, #564] ; (803919c ) 8038f66: fba1 1303 umull r1, r3, r1, r3 8038f6a: 09db lsrs r3, r3, #7 8038f6c: 498c ldr r1, [pc, #560] ; (80391a0 ) 8038f6e: fb01 f303 mul.w r3, r1, r3 8038f72: 1ad3 subs r3, r2, r3 8038f74: 4a8b ldr r2, [pc, #556] ; (80391a4 ) 8038f76: fba2 2303 umull r2, r3, r2, r3 8038f7a: 0b5b lsrs r3, r3, #13 8038f7c: b2db uxtb r3, r3 8038f7e: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 8038f82: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038f86: 0953 lsrs r3, r2, #5 8038f88: 4984 ldr r1, [pc, #528] ; (803919c ) 8038f8a: fba1 1303 umull r1, r3, r1, r3 8038f8e: 09db lsrs r3, r3, #7 8038f90: 4983 ldr r1, [pc, #524] ; (80391a0 ) 8038f92: fb01 f303 mul.w r3, r1, r3 8038f96: 1ad3 subs r3, r2, r3 8038f98: 4a82 ldr r2, [pc, #520] ; (80391a4 ) 8038f9a: fba2 1203 umull r1, r2, r2, r3 8038f9e: 0b52 lsrs r2, r2, #13 8038fa0: f242 7110 movw r1, #10000 ; 0x2710 8038fa4: fb01 f202 mul.w r2, r1, r2 8038fa8: 1a9a subs r2, r3, r2 8038faa: 4b7f ldr r3, [pc, #508] ; (80391a8 ) 8038fac: fba3 2302 umull r2, r3, r3, r2 8038fb0: 099b lsrs r3, r3, #6 8038fb2: b2db uxtb r3, r3 8038fb4: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8038fb8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038fbc: 095a lsrs r2, r3, #5 8038fbe: 4977 ldr r1, [pc, #476] ; (803919c ) 8038fc0: fba1 1202 umull r1, r2, r1, r2 8038fc4: 09d2 lsrs r2, r2, #7 8038fc6: 4976 ldr r1, [pc, #472] ; (80391a0 ) 8038fc8: fb01 f202 mul.w r2, r1, r2 8038fcc: 1a9a subs r2, r3, r2 8038fce: 4b75 ldr r3, [pc, #468] ; (80391a4 ) 8038fd0: fba3 1302 umull r1, r3, r3, r2 8038fd4: 0b5b lsrs r3, r3, #13 8038fd6: f242 7110 movw r1, #10000 ; 0x2710 8038fda: fb01 f303 mul.w r3, r1, r3 8038fde: 1ad3 subs r3, r2, r3 8038fe0: 4a71 ldr r2, [pc, #452] ; (80391a8 ) 8038fe2: fba2 1203 umull r1, r2, r2, r3 8038fe6: 0992 lsrs r2, r2, #6 8038fe8: f44f 717a mov.w r1, #1000 ; 0x3e8 8038fec: fb01 f202 mul.w r2, r1, r2 8038ff0: 1a9a subs r2, r3, r2 8038ff2: 4b6e ldr r3, [pc, #440] ; (80391ac ) 8038ff4: fba3 2302 umull r2, r3, r3, r2 8038ff8: 095b lsrs r3, r3, #5 8038ffa: b2db uxtb r3, r3 8038ffc: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8039000: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039004: 0953 lsrs r3, r2, #5 8039006: 4965 ldr r1, [pc, #404] ; (803919c ) 8039008: fba1 1303 umull r1, r3, r1, r3 803900c: 09db lsrs r3, r3, #7 803900e: 4964 ldr r1, [pc, #400] ; (80391a0 ) 8039010: fb01 f303 mul.w r3, r1, r3 8039014: 1ad3 subs r3, r2, r3 8039016: 4a63 ldr r2, [pc, #396] ; (80391a4 ) 8039018: fba2 1203 umull r1, r2, r2, r3 803901c: 0b52 lsrs r2, r2, #13 803901e: f242 7110 movw r1, #10000 ; 0x2710 8039022: fb01 f202 mul.w r2, r1, r2 8039026: 1a9a subs r2, r3, r2 8039028: 4b5f ldr r3, [pc, #380] ; (80391a8 ) 803902a: fba3 1302 umull r1, r3, r3, r2 803902e: 099b lsrs r3, r3, #6 8039030: f44f 717a mov.w r1, #1000 ; 0x3e8 8039034: fb01 f303 mul.w r3, r1, r3 8039038: 1ad3 subs r3, r2, r3 803903a: 4a5c ldr r2, [pc, #368] ; (80391ac ) 803903c: fba2 1203 umull r1, r2, r2, r3 8039040: 0952 lsrs r2, r2, #5 8039042: 2164 movs r1, #100 ; 0x64 8039044: fb01 f202 mul.w r2, r1, r2 8039048: 1a9a subs r2, r3, r2 803904a: 4b59 ldr r3, [pc, #356] ; (80391b0 ) 803904c: fba3 2302 umull r2, r3, r3, r2 8039050: 08db lsrs r3, r3, #3 8039052: b2db uxtb r3, r3 8039054: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8039058: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803905c: 0953 lsrs r3, r2, #5 803905e: 494f ldr r1, [pc, #316] ; (803919c ) 8039060: fba1 1303 umull r1, r3, r1, r3 8039064: 09db lsrs r3, r3, #7 8039066: 494e ldr r1, [pc, #312] ; (80391a0 ) 8039068: fb01 f303 mul.w r3, r1, r3 803906c: 1ad3 subs r3, r2, r3 803906e: 4a4d ldr r2, [pc, #308] ; (80391a4 ) 8039070: fba2 1203 umull r1, r2, r2, r3 8039074: 0b52 lsrs r2, r2, #13 8039076: f242 7110 movw r1, #10000 ; 0x2710 803907a: fb01 f202 mul.w r2, r1, r2 803907e: 1a9a subs r2, r3, r2 8039080: 4b49 ldr r3, [pc, #292] ; (80391a8 ) 8039082: fba3 1302 umull r1, r3, r3, r2 8039086: 099b lsrs r3, r3, #6 8039088: f44f 717a mov.w r1, #1000 ; 0x3e8 803908c: fb01 f303 mul.w r3, r1, r3 8039090: 1ad3 subs r3, r2, r3 8039092: 4a46 ldr r2, [pc, #280] ; (80391ac ) 8039094: fba2 1203 umull r1, r2, r2, r3 8039098: 0952 lsrs r2, r2, #5 803909a: 2164 movs r1, #100 ; 0x64 803909c: fb01 f202 mul.w r2, r1, r2 80390a0: 1a9a subs r2, r3, r2 80390a2: 4b43 ldr r3, [pc, #268] ; (80391b0 ) 80390a4: fba3 1302 umull r1, r3, r3, r2 80390a8: 08d9 lsrs r1, r3, #3 80390aa: 460b mov r3, r1 80390ac: 009b lsls r3, r3, #2 80390ae: 440b add r3, r1 80390b0: 005b lsls r3, r3, #1 80390b2: 1ad1 subs r1, r2, r3 80390b4: b2cb uxtb r3, r1 80390b6: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 80390ba: 4b35 ldr r3, [pc, #212] ; (8039190 ) 80390bc: 781b ldrb r3, [r3, #0] 80390be: b2db uxtb r3, r3 80390c0: 3b16 subs r3, #22 80390c2: 2b05 cmp r3, #5 80390c4: d836 bhi.n 8039134 80390c6: a201 add r2, pc, #4 ; (adr r2, 80390cc ) 80390c8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80390cc: 080390e5 .word 0x080390e5 80390d0: 080390f3 .word 0x080390f3 80390d4: 08039103 .word 0x08039103 80390d8: 08039111 .word 0x08039111 80390dc: 0803911d .word 0x0803911d 80390e0: 08039129 .word 0x08039129 case D_Inner_IES: k += 100000; break; 80390e4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80390e8: 4b2d ldr r3, [pc, #180] ; (80391a0 ) 80390ea: 4413 add r3, r2 80390ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80390f0: e020 b.n 8039134 case D_Inner_IED: k += 10000; break; 80390f2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80390f6: f242 7310 movw r3, #10000 ; 0x2710 80390fa: 4413 add r3, r2 80390fc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8039100: e018 b.n 8039134 case D_Inner_IEE: k += 1000; break; 8039102: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039106: f503 737a add.w r3, r3, #1000 ; 0x3e8 803910a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803910e: e011 b.n 8039134 case D_Inner_IKD: k += 100; break; 8039110: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039114: 3364 adds r3, #100 ; 0x64 8039116: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803911a: e00b b.n 8039134 case D_Inner_IKS: k += 10; break; 803911c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039120: 330a adds r3, #10 8039122: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8039126: e005 b.n 8039134 case D_Inner_IKT: k++; break; 8039128: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803912c: 3301 adds r3, #1 803912e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8039132: bf00 nop if(k > 999999) k = 999999; 8039134: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039138: 4a1e ldr r2, [pc, #120] ; (80391b4 ) 803913a: 4293 cmp r3, r2 803913c: d902 bls.n 8039144 803913e: 4b1d ldr r3, [pc, #116] ; (80391b4 ) 8039140: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8039144: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039148: 2b00 cmp r3, #0 803914a: d102 bne.n 8039152 803914c: 2301 movs r3, #1 803914e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_INNER = (float32_t) k; 8039152: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039156: ee07 3a90 vmov s15, r3 803915a: eef8 7a67 vcvt.f32.u32 s15, s15 803915e: 4b0d ldr r3, [pc, #52] ; (8039194 ) 8039160: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER *= 0.001f; 8039164: 4b0b ldr r3, [pc, #44] ; (8039194 ) 8039166: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803916a: ed9f 7a13 vldr s14, [pc, #76] ; 80391b8 803916e: ee67 7a87 vmul.f32 s15, s15, s14 8039172: 4b08 ldr r3, [pc, #32] ; (8039194 ) 8039174: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER += 0.0005f; 8039178: 4b06 ldr r3, [pc, #24] ; (8039194 ) 803917a: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803917e: ed9f 7a0f vldr s14, [pc, #60] ; 80391bc 8039182: ee77 7a87 vadd.f32 s15, s15, s14 8039186: 4b03 ldr r3, [pc, #12] ; (8039194 ) 8039188: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 803918c: e213 b.n 80395b6 803918e: bf00 nop 8039190: 20020070 .word 0x20020070 8039194: 20023eb8 .word 0x20023eb8 8039198: 447a0000 .word 0x447a0000 803919c: 0a7c5ac5 .word 0x0a7c5ac5 80391a0: 000186a0 .word 0x000186a0 80391a4: d1b71759 .word 0xd1b71759 80391a8: 10624dd3 .word 0x10624dd3 80391ac: 51eb851f .word 0x51eb851f 80391b0: cccccccd .word 0xcccccccd 80391b4: 000f423f .word 0x000f423f 80391b8: 3a83126f .word 0x3a83126f 80391bc: 3a03126f .word 0x3a03126f if((menupos >= D_Angle_IES) && (menupos <= D_Angle_IKT)) 80391c0: 4b9d ldr r3, [pc, #628] ; (8039438 ) 80391c2: 781b ldrb r3, [r3, #0] 80391c4: b2db uxtb r3, r3 80391c6: 2b1b cmp r3, #27 80391c8: f240 814e bls.w 8039468 80391cc: 4b9a ldr r3, [pc, #616] ; (8039438 ) 80391ce: 781b ldrb r3, [r3, #0] 80391d0: b2db uxtb r3, r3 80391d2: 2b21 cmp r3, #33 ; 0x21 80391d4: f200 8148 bhi.w 8039468 k = (uint32_t) (pardata.D_ANGLE * 1000.0f); 80391d8: 4b98 ldr r3, [pc, #608] ; (803943c ) 80391da: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 80391de: ed9f 7a98 vldr s14, [pc, #608] ; 8039440 80391e2: ee67 7a87 vmul.f32 s15, s15, s14 80391e6: eefc 7ae7 vcvt.u32.f32 s15, s15 80391ea: ee17 3a90 vmov r3, s15 80391ee: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 80391f2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80391f6: 095b lsrs r3, r3, #5 80391f8: 4a92 ldr r2, [pc, #584] ; (8039444 ) 80391fa: fba2 2303 umull r2, r3, r2, r3 80391fe: 09db lsrs r3, r3, #7 8039200: b2db uxtb r3, r3 8039202: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8039206: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803920a: 0953 lsrs r3, r2, #5 803920c: 498d ldr r1, [pc, #564] ; (8039444 ) 803920e: fba1 1303 umull r1, r3, r1, r3 8039212: 09db lsrs r3, r3, #7 8039214: 498c ldr r1, [pc, #560] ; (8039448 ) 8039216: fb01 f303 mul.w r3, r1, r3 803921a: 1ad3 subs r3, r2, r3 803921c: 4a8b ldr r2, [pc, #556] ; (803944c ) 803921e: fba2 2303 umull r2, r3, r2, r3 8039222: 0b5b lsrs r3, r3, #13 8039224: b2db uxtb r3, r3 8039226: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803922a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803922e: 0953 lsrs r3, r2, #5 8039230: 4984 ldr r1, [pc, #528] ; (8039444 ) 8039232: fba1 1303 umull r1, r3, r1, r3 8039236: 09db lsrs r3, r3, #7 8039238: 4983 ldr r1, [pc, #524] ; (8039448 ) 803923a: fb01 f303 mul.w r3, r1, r3 803923e: 1ad3 subs r3, r2, r3 8039240: 4a82 ldr r2, [pc, #520] ; (803944c ) 8039242: fba2 1203 umull r1, r2, r2, r3 8039246: 0b52 lsrs r2, r2, #13 8039248: f242 7110 movw r1, #10000 ; 0x2710 803924c: fb01 f202 mul.w r2, r1, r2 8039250: 1a9a subs r2, r3, r2 8039252: 4b7f ldr r3, [pc, #508] ; (8039450 ) 8039254: fba3 2302 umull r2, r3, r3, r2 8039258: 099b lsrs r3, r3, #6 803925a: b2db uxtb r3, r3 803925c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8039260: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039264: 095a lsrs r2, r3, #5 8039266: 4977 ldr r1, [pc, #476] ; (8039444 ) 8039268: fba1 1202 umull r1, r2, r1, r2 803926c: 09d2 lsrs r2, r2, #7 803926e: 4976 ldr r1, [pc, #472] ; (8039448 ) 8039270: fb01 f202 mul.w r2, r1, r2 8039274: 1a9a subs r2, r3, r2 8039276: 4b75 ldr r3, [pc, #468] ; (803944c ) 8039278: fba3 1302 umull r1, r3, r3, r2 803927c: 0b5b lsrs r3, r3, #13 803927e: f242 7110 movw r1, #10000 ; 0x2710 8039282: fb01 f303 mul.w r3, r1, r3 8039286: 1ad3 subs r3, r2, r3 8039288: 4a71 ldr r2, [pc, #452] ; (8039450 ) 803928a: fba2 1203 umull r1, r2, r2, r3 803928e: 0992 lsrs r2, r2, #6 8039290: f44f 717a mov.w r1, #1000 ; 0x3e8 8039294: fb01 f202 mul.w r2, r1, r2 8039298: 1a9a subs r2, r3, r2 803929a: 4b6e ldr r3, [pc, #440] ; (8039454 ) 803929c: fba3 2302 umull r2, r3, r3, r2 80392a0: 095b lsrs r3, r3, #5 80392a2: b2db uxtb r3, r3 80392a4: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80392a8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80392ac: 0953 lsrs r3, r2, #5 80392ae: 4965 ldr r1, [pc, #404] ; (8039444 ) 80392b0: fba1 1303 umull r1, r3, r1, r3 80392b4: 09db lsrs r3, r3, #7 80392b6: 4964 ldr r1, [pc, #400] ; (8039448 ) 80392b8: fb01 f303 mul.w r3, r1, r3 80392bc: 1ad3 subs r3, r2, r3 80392be: 4a63 ldr r2, [pc, #396] ; (803944c ) 80392c0: fba2 1203 umull r1, r2, r2, r3 80392c4: 0b52 lsrs r2, r2, #13 80392c6: f242 7110 movw r1, #10000 ; 0x2710 80392ca: fb01 f202 mul.w r2, r1, r2 80392ce: 1a9a subs r2, r3, r2 80392d0: 4b5f ldr r3, [pc, #380] ; (8039450 ) 80392d2: fba3 1302 umull r1, r3, r3, r2 80392d6: 099b lsrs r3, r3, #6 80392d8: f44f 717a mov.w r1, #1000 ; 0x3e8 80392dc: fb01 f303 mul.w r3, r1, r3 80392e0: 1ad3 subs r3, r2, r3 80392e2: 4a5c ldr r2, [pc, #368] ; (8039454 ) 80392e4: fba2 1203 umull r1, r2, r2, r3 80392e8: 0952 lsrs r2, r2, #5 80392ea: 2164 movs r1, #100 ; 0x64 80392ec: fb01 f202 mul.w r2, r1, r2 80392f0: 1a9a subs r2, r3, r2 80392f2: 4b59 ldr r3, [pc, #356] ; (8039458 ) 80392f4: fba3 2302 umull r2, r3, r3, r2 80392f8: 08db lsrs r3, r3, #3 80392fa: b2db uxtb r3, r3 80392fc: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8039300: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039304: 0953 lsrs r3, r2, #5 8039306: 494f ldr r1, [pc, #316] ; (8039444 ) 8039308: fba1 1303 umull r1, r3, r1, r3 803930c: 09db lsrs r3, r3, #7 803930e: 494e ldr r1, [pc, #312] ; (8039448 ) 8039310: fb01 f303 mul.w r3, r1, r3 8039314: 1ad3 subs r3, r2, r3 8039316: 4a4d ldr r2, [pc, #308] ; (803944c ) 8039318: fba2 1203 umull r1, r2, r2, r3 803931c: 0b52 lsrs r2, r2, #13 803931e: f242 7110 movw r1, #10000 ; 0x2710 8039322: fb01 f202 mul.w r2, r1, r2 8039326: 1a9a subs r2, r3, r2 8039328: 4b49 ldr r3, [pc, #292] ; (8039450 ) 803932a: fba3 1302 umull r1, r3, r3, r2 803932e: 099b lsrs r3, r3, #6 8039330: f44f 717a mov.w r1, #1000 ; 0x3e8 8039334: fb01 f303 mul.w r3, r1, r3 8039338: 1ad3 subs r3, r2, r3 803933a: 4a46 ldr r2, [pc, #280] ; (8039454 ) 803933c: fba2 1203 umull r1, r2, r2, r3 8039340: 0952 lsrs r2, r2, #5 8039342: 2164 movs r1, #100 ; 0x64 8039344: fb01 f202 mul.w r2, r1, r2 8039348: 1a9a subs r2, r3, r2 803934a: 4b43 ldr r3, [pc, #268] ; (8039458 ) 803934c: fba3 1302 umull r1, r3, r3, r2 8039350: 08d9 lsrs r1, r3, #3 8039352: 460b mov r3, r1 8039354: 009b lsls r3, r3, #2 8039356: 440b add r3, r1 8039358: 005b lsls r3, r3, #1 803935a: 1ad1 subs r1, r2, r3 803935c: b2cb uxtb r3, r1 803935e: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 8039362: 4b35 ldr r3, [pc, #212] ; (8039438 ) 8039364: 781b ldrb r3, [r3, #0] 8039366: b2db uxtb r3, r3 8039368: 3b1c subs r3, #28 803936a: 2b05 cmp r3, #5 803936c: d836 bhi.n 80393dc 803936e: a201 add r2, pc, #4 ; (adr r2, 8039374 ) 8039370: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8039374: 0803938d .word 0x0803938d 8039378: 0803939b .word 0x0803939b 803937c: 080393ab .word 0x080393ab 8039380: 080393b9 .word 0x080393b9 8039384: 080393c5 .word 0x080393c5 8039388: 080393d1 .word 0x080393d1 k += 100000; 803938c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039390: 4b2d ldr r3, [pc, #180] ; (8039448 ) 8039392: 4413 add r3, r2 8039394: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039398: e020 b.n 80393dc k += 10000; 803939a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803939e: f242 7310 movw r3, #10000 ; 0x2710 80393a2: 4413 add r3, r2 80393a4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80393a8: e018 b.n 80393dc k += 1000; 80393aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80393ae: f503 737a add.w r3, r3, #1000 ; 0x3e8 80393b2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80393b6: e011 b.n 80393dc k += 100; 80393b8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80393bc: 3364 adds r3, #100 ; 0x64 80393be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80393c2: e00b b.n 80393dc k += 10; 80393c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80393c8: 330a adds r3, #10 80393ca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80393ce: e005 b.n 80393dc k++; 80393d0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80393d4: 3301 adds r3, #1 80393d6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80393da: bf00 nop if(k > 999999) k = 999999; 80393dc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80393e0: 4a1e ldr r2, [pc, #120] ; (803945c ) 80393e2: 4293 cmp r3, r2 80393e4: d902 bls.n 80393ec 80393e6: 4b1d ldr r3, [pc, #116] ; (803945c ) 80393e8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 80393ec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80393f0: 2b00 cmp r3, #0 80393f2: d102 bne.n 80393fa 80393f4: 2301 movs r3, #1 80393f6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_ANGLE = (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: 4b0d ldr r3, [pc, #52] ; (803943c ) 8039408: edc3 7a33 vstr s15, [r3, #204] ; 0xcc pardata.D_ANGLE *= 0.001f; 803940c: 4b0b ldr r3, [pc, #44] ; (803943c ) 803940e: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 8039412: ed9f 7a13 vldr s14, [pc, #76] ; 8039460 8039416: ee67 7a87 vmul.f32 s15, s15, s14 803941a: 4b08 ldr r3, [pc, #32] ; (803943c ) 803941c: edc3 7a33 vstr s15, [r3, #204] ; 0xcc pardata.D_ANGLE += 0.0005f; 8039420: 4b06 ldr r3, [pc, #24] ; (803943c ) 8039422: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 8039426: ed9f 7a0f vldr s14, [pc, #60] ; 8039464 803942a: ee77 7a87 vadd.f32 s15, s15, s14 803942e: 4b03 ldr r3, [pc, #12] ; (803943c ) 8039430: edc3 7a33 vstr s15, [r3, #204] ; 0xcc 8039434: e0bf b.n 80395b6 8039436: bf00 nop 8039438: 20020070 .word 0x20020070 803943c: 20023eb8 .word 0x20023eb8 8039440: 447a0000 .word 0x447a0000 8039444: 0a7c5ac5 .word 0x0a7c5ac5 8039448: 000186a0 .word 0x000186a0 803944c: d1b71759 .word 0xd1b71759 8039450: 10624dd3 .word 0x10624dd3 8039454: 51eb851f .word 0x51eb851f 8039458: cccccccd .word 0xcccccccd 803945c: 000f423f .word 0x000f423f 8039460: 3a83126f .word 0x3a83126f 8039464: 3a03126f .word 0x3a03126f if((menupos >= D_Rate_IET) && (menupos <= D_Rate_IEE)) 8039468: 4b83 ldr r3, [pc, #524] ; (8039678 ) 803946a: 781b ldrb r3, [r3, #0] 803946c: b2db uxtb r3, r3 803946e: 2b21 cmp r3, #33 ; 0x21 8039470: f243 8643 bls.w 803d0fa 8039474: 4b80 ldr r3, [pc, #512] ; (8039678 ) 8039476: 781b ldrb r3, [r3, #0] 8039478: b2db uxtb r3, r3 803947a: 2b25 cmp r3, #37 ; 0x25 803947c: f203 863d bhi.w 803d0fa k = pardata.D_RATE; 8039480: 4b7e ldr r3, [pc, #504] ; (803967c ) 8039482: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 8039486: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 iet = (uint8_t) (k / 1000); 803948a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803948e: 4a7c ldr r2, [pc, #496] ; (8039680 ) 8039490: fba2 2303 umull r2, r3, r2, r3 8039494: 099b lsrs r3, r3, #6 8039496: b2db uxtb r3, r3 8039498: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 1000 / 100); 803949c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80394a0: 4b77 ldr r3, [pc, #476] ; (8039680 ) 80394a2: fba3 1302 umull r1, r3, r3, r2 80394a6: 099b lsrs r3, r3, #6 80394a8: f44f 717a mov.w r1, #1000 ; 0x3e8 80394ac: fb01 f303 mul.w r3, r1, r3 80394b0: 1ad3 subs r3, r2, r3 80394b2: 4a74 ldr r2, [pc, #464] ; (8039684 ) 80394b4: fba2 2303 umull r2, r3, r2, r3 80394b8: 095b lsrs r3, r3, #5 80394ba: b2db uxtb r3, r3 80394bc: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 1000 % 100 / 10); 80394c0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80394c4: 4b6e ldr r3, [pc, #440] ; (8039680 ) 80394c6: fba3 1302 umull r1, r3, r3, r2 80394ca: 099b lsrs r3, r3, #6 80394cc: f44f 717a mov.w r1, #1000 ; 0x3e8 80394d0: fb01 f303 mul.w r3, r1, r3 80394d4: 1ad3 subs r3, r2, r3 80394d6: 4a6b ldr r2, [pc, #428] ; (8039684 ) 80394d8: fba2 1203 umull r1, r2, r2, r3 80394dc: 0952 lsrs r2, r2, #5 80394de: 2164 movs r1, #100 ; 0x64 80394e0: fb01 f202 mul.w r2, r1, r2 80394e4: 1a9a subs r2, r3, r2 80394e6: 4b68 ldr r3, [pc, #416] ; (8039688 ) 80394e8: fba3 2302 umull r2, r3, r3, r2 80394ec: 08db lsrs r3, r3, #3 80394ee: b2db uxtb r3, r3 80394f0: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 1000 % 100 % 10); 80394f4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80394f8: 4b61 ldr r3, [pc, #388] ; (8039680 ) 80394fa: fba3 1302 umull r1, r3, r3, r2 80394fe: 099b lsrs r3, r3, #6 8039500: f44f 717a mov.w r1, #1000 ; 0x3e8 8039504: fb01 f303 mul.w r3, r1, r3 8039508: 1ad3 subs r3, r2, r3 803950a: 4a5e ldr r2, [pc, #376] ; (8039684 ) 803950c: fba2 1203 umull r1, r2, r2, r3 8039510: 0952 lsrs r2, r2, #5 8039512: 2164 movs r1, #100 ; 0x64 8039514: fb01 f202 mul.w r2, r1, r2 8039518: 1a9a subs r2, r3, r2 803951a: 4b5b ldr r3, [pc, #364] ; (8039688 ) 803951c: fba3 1302 umull r1, r3, r3, r2 8039520: 08d9 lsrs r1, r3, #3 8039522: 460b mov r3, r1 8039524: 009b lsls r3, r3, #2 8039526: 440b add r3, r1 8039528: 005b lsls r3, r3, #1 803952a: 1ad1 subs r1, r2, r3 803952c: b2cb uxtb r3, r1 803952e: f887 306f strb.w r3, [r7, #111] ; 0x6f switch(menupos) 8039532: 4b51 ldr r3, [pc, #324] ; (8039678 ) 8039534: 781b ldrb r3, [r3, #0] 8039536: b2db uxtb r3, r3 8039538: 3b22 subs r3, #34 ; 0x22 803953a: 2b03 cmp r3, #3 803953c: d823 bhi.n 8039586 803953e: a201 add r2, pc, #4 ; (adr r2, 8039544 ) 8039540: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8039544: 08039555 .word 0x08039555 8039548: 08039563 .word 0x08039563 803954c: 0803956f .word 0x0803956f 8039550: 0803957b .word 0x0803957b k += 1000; 8039554: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039558: f503 737a add.w r3, r3, #1000 ; 0x3e8 803955c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039560: e011 b.n 8039586 k += 100; 8039562: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039566: 3364 adds r3, #100 ; 0x64 8039568: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803956c: e00b b.n 8039586 k += 10; 803956e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039572: 330a adds r3, #10 8039574: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039578: e005 b.n 8039586 k++; 803957a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803957e: 3301 adds r3, #1 8039580: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039584: bf00 nop if(k > 9999) k = 9999; 8039586: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803958a: f242 720f movw r2, #9999 ; 0x270f 803958e: 4293 cmp r3, r2 8039590: d903 bls.n 803959a 8039592: f242 730f movw r3, #9999 ; 0x270f 8039596: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803959a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803959e: 2b00 cmp r3, #0 80395a0: d102 bne.n 80395a8 80395a2: 2301 movs r3, #1 80395a4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_RATE = k; 80395a8: 4a34 ldr r2, [pc, #208] ; (803967c ) 80395aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80395ae: f8c2 30d0 str.w r3, [r2, #208] ; 0xd0 break; 80395b2: f003 bda2 b.w 803d0fa 80395b6: f003 bda0 b.w 803d0fa case PARAM_VIB: //todo focused = false; 80395ba: 4b34 ldr r3, [pc, #208] ; (803968c ) 80395bc: 2200 movs r2, #0 80395be: 701a strb r2, [r3, #0] if(menupos == FilterHP) 80395c0: 4b2d ldr r3, [pc, #180] ; (8039678 ) 80395c2: 781b ldrb r3, [r3, #0] 80395c4: b2db uxtb r3, r3 80395c6: 2b17 cmp r3, #23 80395c8: d104 bne.n 80395d4 menupos = Ok; 80395ca: 4b2b ldr r3, [pc, #172] ; (8039678 ) 80395cc: 2200 movs r2, #0 80395ce: 701a strb r2, [r3, #0] if(menupos == Average) menupos = ValueA; else menupos--; } } break; 80395d0: f003 bdb5 b.w 803d13e if(menupos == FilterLP) 80395d4: 4b28 ldr r3, [pc, #160] ; (8039678 ) 80395d6: 781b ldrb r3, [r3, #0] 80395d8: b2db uxtb r3, r3 80395da: 2b18 cmp r3, #24 80395dc: d104 bne.n 80395e8 menupos = FilterHP; 80395de: 4b26 ldr r3, [pc, #152] ; (8039678 ) 80395e0: 2217 movs r2, #23 80395e2: 701a strb r2, [r3, #0] break; 80395e4: f003 bdab b.w 803d13e if(menupos == ValueA) 80395e8: 4b23 ldr r3, [pc, #140] ; (8039678 ) 80395ea: 781b ldrb r3, [r3, #0] 80395ec: b2db uxtb r3, r3 80395ee: 2b02 cmp r3, #2 80395f0: d104 bne.n 80395fc menupos = FilterLP; 80395f2: 4b21 ldr r3, [pc, #132] ; (8039678 ) 80395f4: 2218 movs r2, #24 80395f6: 701a strb r2, [r3, #0] break; 80395f8: f003 bda1 b.w 803d13e if(menupos == Ok) 80395fc: 4b1e ldr r3, [pc, #120] ; (8039678 ) 80395fe: 781b ldrb r3, [r3, #0] 8039600: b2db uxtb r3, r3 8039602: 2b00 cmp r3, #0 8039604: d104 bne.n 8039610 menupos = SaveToFile; 8039606: 4b1c ldr r3, [pc, #112] ; (8039678 ) 8039608: 220a movs r2, #10 803960a: 701a strb r2, [r3, #0] break; 803960c: f003 bd97 b.w 803d13e if(menupos == SaveToFile) 8039610: 4b19 ldr r3, [pc, #100] ; (8039678 ) 8039612: 781b ldrb r3, [r3, #0] 8039614: b2db uxtb r3, r3 8039616: 2b0a cmp r3, #10 8039618: d110 bne.n 803963c if(pardata.OPTIONS & 0x4) 803961a: 4b18 ldr r3, [pc, #96] ; (803967c ) 803961c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8039620: f003 0304 and.w r3, r3, #4 8039624: 2b00 cmp r3, #0 8039626: d004 beq.n 8039632 menupos = VibAutoKu; 8039628: 4b13 ldr r3, [pc, #76] ; (8039678 ) 803962a: 2208 movs r2, #8 803962c: 701a strb r2, [r3, #0] break; 803962e: f003 bd86 b.w 803d13e else menupos = VibMax_ALL; 8039632: 4b11 ldr r3, [pc, #68] ; (8039678 ) 8039634: 2209 movs r2, #9 8039636: 701a strb r2, [r3, #0] break; 8039638: f003 bd81 b.w 803d13e if(menupos == VibMax_ALL) 803963c: 4b0e ldr r3, [pc, #56] ; (8039678 ) 803963e: 781b ldrb r3, [r3, #0] 8039640: b2db uxtb r3, r3 8039642: 2b09 cmp r3, #9 8039644: d104 bne.n 8039650 menupos = VibAutoKu; 8039646: 4b0c ldr r3, [pc, #48] ; (8039678 ) 8039648: 2208 movs r2, #8 803964a: 701a strb r2, [r3, #0] break; 803964c: f003 bd77 b.w 803d13e if(menupos == VibAutoKu) 8039650: 4b09 ldr r3, [pc, #36] ; (8039678 ) 8039652: 781b ldrb r3, [r3, #0] 8039654: b2db uxtb r3, r3 8039656: 2b08 cmp r3, #8 8039658: d104 bne.n 8039664 menupos = ViewFreq; 803965a: 4b07 ldr r3, [pc, #28] ; (8039678 ) 803965c: 2207 movs r2, #7 803965e: 701a strb r2, [r3, #0] break; 8039660: f003 bd6d b.w 803d13e if(menupos == ViewFreq) 8039664: 4b04 ldr r3, [pc, #16] ; (8039678 ) 8039666: 781b ldrb r3, [r3, #0] 8039668: b2db uxtb r3, r3 803966a: 2b07 cmp r3, #7 803966c: d110 bne.n 8039690 menupos = Mediana; 803966e: 4b02 ldr r3, [pc, #8] ; (8039678 ) 8039670: 2206 movs r2, #6 8039672: 701a strb r2, [r3, #0] break; 8039674: f003 bd63 b.w 803d13e 8039678: 20020070 .word 0x20020070 803967c: 20023eb8 .word 0x20023eb8 8039680: 10624dd3 .word 0x10624dd3 8039684: 51eb851f .word 0x51eb851f 8039688: cccccccd .word 0xcccccccd 803968c: 20020fd0 .word 0x20020fd0 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 8039690: 4b9d ldr r3, [pc, #628] ; (8039908 ) 8039692: 781b ldrb r3, [r3, #0] 8039694: b2db uxtb r3, r3 8039696: 2b0a cmp r3, #10 8039698: f240 814c bls.w 8039934 803969c: 4b9a ldr r3, [pc, #616] ; (8039908 ) 803969e: 781b ldrb r3, [r3, #0] 80396a0: b2db uxtb r3, r3 80396a2: 2b10 cmp r3, #16 80396a4: f200 8146 bhi.w 8039934 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 80396a8: 4b98 ldr r3, [pc, #608] ; (803990c ) 80396aa: edd3 7a06 vldr s15, [r3, #24] 80396ae: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80396b2: ee67 7a87 vmul.f32 s15, s15, s14 80396b6: eefc 7ae7 vcvt.u32.f32 s15, s15 80396ba: ee17 3a90 vmov r3, s15 80396be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80396c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80396c6: 095b lsrs r3, r3, #5 80396c8: 4a91 ldr r2, [pc, #580] ; (8039910 ) 80396ca: fba2 2303 umull r2, r3, r2, r3 80396ce: 09db lsrs r3, r3, #7 80396d0: b2db uxtb r3, r3 80396d2: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80396d6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80396da: 0953 lsrs r3, r2, #5 80396dc: 498c ldr r1, [pc, #560] ; (8039910 ) 80396de: fba1 1303 umull r1, r3, r1, r3 80396e2: 09db lsrs r3, r3, #7 80396e4: 498b ldr r1, [pc, #556] ; (8039914 ) 80396e6: fb01 f303 mul.w r3, r1, r3 80396ea: 1ad3 subs r3, r2, r3 80396ec: 4a8a ldr r2, [pc, #552] ; (8039918 ) 80396ee: fba2 2303 umull r2, r3, r2, r3 80396f2: 0b5b lsrs r3, r3, #13 80396f4: b2db uxtb r3, r3 80396f6: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80396fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80396fe: 0953 lsrs r3, r2, #5 8039700: 4983 ldr r1, [pc, #524] ; (8039910 ) 8039702: fba1 1303 umull r1, r3, r1, r3 8039706: 09db lsrs r3, r3, #7 8039708: 4982 ldr r1, [pc, #520] ; (8039914 ) 803970a: fb01 f303 mul.w r3, r1, r3 803970e: 1ad3 subs r3, r2, r3 8039710: 4a81 ldr r2, [pc, #516] ; (8039918 ) 8039712: fba2 1203 umull r1, r2, r2, r3 8039716: 0b52 lsrs r2, r2, #13 8039718: f242 7110 movw r1, #10000 ; 0x2710 803971c: fb01 f202 mul.w r2, r1, r2 8039720: 1a9a subs r2, r3, r2 8039722: 4b7e ldr r3, [pc, #504] ; (803991c ) 8039724: fba3 2302 umull r2, r3, r3, r2 8039728: 099b lsrs r3, r3, #6 803972a: b2db uxtb r3, r3 803972c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8039730: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039734: 095a lsrs r2, r3, #5 8039736: 4976 ldr r1, [pc, #472] ; (8039910 ) 8039738: fba1 1202 umull r1, r2, r1, r2 803973c: 09d2 lsrs r2, r2, #7 803973e: 4975 ldr r1, [pc, #468] ; (8039914 ) 8039740: fb01 f202 mul.w r2, r1, r2 8039744: 1a9a subs r2, r3, r2 8039746: 4b74 ldr r3, [pc, #464] ; (8039918 ) 8039748: fba3 1302 umull r1, r3, r3, r2 803974c: 0b5b lsrs r3, r3, #13 803974e: f242 7110 movw r1, #10000 ; 0x2710 8039752: fb01 f303 mul.w r3, r1, r3 8039756: 1ad3 subs r3, r2, r3 8039758: 4a70 ldr r2, [pc, #448] ; (803991c ) 803975a: fba2 1203 umull r1, r2, r2, r3 803975e: 0992 lsrs r2, r2, #6 8039760: f44f 717a mov.w r1, #1000 ; 0x3e8 8039764: fb01 f202 mul.w r2, r1, r2 8039768: 1a9a subs r2, r3, r2 803976a: 4b6d ldr r3, [pc, #436] ; (8039920 ) 803976c: fba3 2302 umull r2, r3, r3, r2 8039770: 095b lsrs r3, r3, #5 8039772: b2db uxtb r3, r3 8039774: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8039778: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803977c: 0953 lsrs r3, r2, #5 803977e: 4964 ldr r1, [pc, #400] ; (8039910 ) 8039780: fba1 1303 umull r1, r3, r1, r3 8039784: 09db lsrs r3, r3, #7 8039786: 4963 ldr r1, [pc, #396] ; (8039914 ) 8039788: fb01 f303 mul.w r3, r1, r3 803978c: 1ad3 subs r3, r2, r3 803978e: 4a62 ldr r2, [pc, #392] ; (8039918 ) 8039790: fba2 1203 umull r1, r2, r2, r3 8039794: 0b52 lsrs r2, r2, #13 8039796: f242 7110 movw r1, #10000 ; 0x2710 803979a: fb01 f202 mul.w r2, r1, r2 803979e: 1a9a subs r2, r3, r2 80397a0: 4b5e ldr r3, [pc, #376] ; (803991c ) 80397a2: fba3 1302 umull r1, r3, r3, r2 80397a6: 099b lsrs r3, r3, #6 80397a8: f44f 717a mov.w r1, #1000 ; 0x3e8 80397ac: fb01 f303 mul.w r3, r1, r3 80397b0: 1ad3 subs r3, r2, r3 80397b2: 4a5b ldr r2, [pc, #364] ; (8039920 ) 80397b4: fba2 1203 umull r1, r2, r2, r3 80397b8: 0952 lsrs r2, r2, #5 80397ba: 2164 movs r1, #100 ; 0x64 80397bc: fb01 f202 mul.w r2, r1, r2 80397c0: 1a9a subs r2, r3, r2 80397c2: 4b58 ldr r3, [pc, #352] ; (8039924 ) 80397c4: fba3 2302 umull r2, r3, r3, r2 80397c8: 08db lsrs r3, r3, #3 80397ca: b2db uxtb r3, r3 80397cc: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80397d0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80397d4: 0953 lsrs r3, r2, #5 80397d6: 494e ldr r1, [pc, #312] ; (8039910 ) 80397d8: fba1 1303 umull r1, r3, r1, r3 80397dc: 09db lsrs r3, r3, #7 80397de: 494d ldr r1, [pc, #308] ; (8039914 ) 80397e0: fb01 f303 mul.w r3, r1, r3 80397e4: 1ad3 subs r3, r2, r3 80397e6: 4a4c ldr r2, [pc, #304] ; (8039918 ) 80397e8: fba2 1203 umull r1, r2, r2, r3 80397ec: 0b52 lsrs r2, r2, #13 80397ee: f242 7110 movw r1, #10000 ; 0x2710 80397f2: fb01 f202 mul.w r2, r1, r2 80397f6: 1a9a subs r2, r3, r2 80397f8: 4b48 ldr r3, [pc, #288] ; (803991c ) 80397fa: fba3 1302 umull r1, r3, r3, r2 80397fe: 099b lsrs r3, r3, #6 8039800: f44f 717a mov.w r1, #1000 ; 0x3e8 8039804: fb01 f303 mul.w r3, r1, r3 8039808: 1ad3 subs r3, r2, r3 803980a: 4a45 ldr r2, [pc, #276] ; (8039920 ) 803980c: fba2 1203 umull r1, r2, r2, r3 8039810: 0952 lsrs r2, r2, #5 8039812: 2164 movs r1, #100 ; 0x64 8039814: fb01 f202 mul.w r2, r1, r2 8039818: 1a9a subs r2, r3, r2 803981a: 4b42 ldr r3, [pc, #264] ; (8039924 ) 803981c: fba3 1302 umull r1, r3, r3, r2 8039820: 08d9 lsrs r1, r3, #3 8039822: 460b mov r3, r1 8039824: 009b lsls r3, r3, #2 8039826: 440b add r3, r1 8039828: 005b lsls r3, r3, #1 803982a: 1ad1 subs r1, r2, r3 803982c: b2cb uxtb r3, r1 803982e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8039832: 4b35 ldr r3, [pc, #212] ; (8039908 ) 8039834: 781b ldrb r3, [r3, #0] 8039836: b2db uxtb r3, r3 8039838: 3b0b subs r3, #11 803983a: 2b05 cmp r3, #5 803983c: d836 bhi.n 80398ac 803983e: a201 add r2, pc, #4 ; (adr r2, 8039844 ) 8039840: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8039844: 0803985d .word 0x0803985d 8039848: 0803986b .word 0x0803986b 803984c: 0803987b .word 0x0803987b 8039850: 08039889 .word 0x08039889 8039854: 08039895 .word 0x08039895 8039858: 080398a1 .word 0x080398a1 k += 100000; 803985c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039860: 4b2c ldr r3, [pc, #176] ; (8039914 ) 8039862: 4413 add r3, r2 8039864: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039868: e020 b.n 80398ac k += 10000; 803986a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803986e: f242 7310 movw r3, #10000 ; 0x2710 8039872: 4413 add r3, r2 8039874: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039878: e018 b.n 80398ac k += 1000; 803987a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803987e: f503 737a add.w r3, r3, #1000 ; 0x3e8 8039882: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039886: e011 b.n 80398ac k += 100; 8039888: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803988c: 3364 adds r3, #100 ; 0x64 803988e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039892: e00b b.n 80398ac k += 10; 8039894: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039898: 330a adds r3, #10 803989a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803989e: e005 b.n 80398ac k++; 80398a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80398a4: 3301 adds r3, #1 80398a6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80398aa: bf00 nop if(k > 999999) k = 999999; 80398ac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80398b0: 4a1d ldr r2, [pc, #116] ; (8039928 ) 80398b2: 4293 cmp r3, r2 80398b4: d902 bls.n 80398bc 80398b6: 4b1c ldr r3, [pc, #112] ; (8039928 ) 80398b8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 80398bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80398c0: 2b00 cmp r3, #0 80398c2: d102 bne.n 80398ca 80398c4: 2301 movs r3, #1 80398c6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 80398ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80398ce: ee07 3a90 vmov s15, r3 80398d2: eef8 7a67 vcvt.f32.u32 s15, s15 80398d6: 4b0d ldr r3, [pc, #52] ; (803990c ) 80398d8: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 80398dc: 4b0b ldr r3, [pc, #44] ; (803990c ) 80398de: edd3 7a06 vldr s15, [r3, #24] 80398e2: ed9f 7a12 vldr s14, [pc, #72] ; 803992c 80398e6: ee67 7a87 vmul.f32 s15, s15, s14 80398ea: 4b08 ldr r3, [pc, #32] ; (803990c ) 80398ec: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 80398f0: 4b06 ldr r3, [pc, #24] ; (803990c ) 80398f2: edd3 7a06 vldr s15, [r3, #24] 80398f6: ed9f 7a0e vldr s14, [pc, #56] ; 8039930 80398fa: ee77 7a87 vadd.f32 s15, s15, s14 80398fe: 4b03 ldr r3, [pc, #12] ; (803990c ) 8039900: edc3 7a06 vstr s15, [r3, #24] 8039904: e326 b.n 8039f54 8039906: bf00 nop 8039908: 20020070 .word 0x20020070 803990c: 20023eb8 .word 0x20023eb8 8039910: 0a7c5ac5 .word 0x0a7c5ac5 8039914: 000186a0 .word 0x000186a0 8039918: d1b71759 .word 0xd1b71759 803991c: 10624dd3 .word 0x10624dd3 8039920: 51eb851f .word 0x51eb851f 8039924: cccccccd .word 0xcccccccd 8039928: 000f423f .word 0x000f423f 803992c: 3dcccccd .word 0x3dcccccd 8039930: 3d4ccccd .word 0x3d4ccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 8039934: 4bb1 ldr r3, [pc, #708] ; (8039bfc ) 8039936: 781b ldrb r3, [r3, #0] 8039938: b2db uxtb r3, r3 803993a: 2b18 cmp r3, #24 803993c: f240 8172 bls.w 8039c24 8039940: 4bae ldr r3, [pc, #696] ; (8039bfc ) 8039942: 781b ldrb r3, [r3, #0] 8039944: b2db uxtb r3, r3 8039946: 2b1e cmp r3, #30 8039948: f200 816c bhi.w 8039c24 k = (uint32_t) (pardata.HP * 10.0f); 803994c: 4bac ldr r3, [pc, #688] ; (8039c00 ) 803994e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039952: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8039956: ee67 7a87 vmul.f32 s15, s15, s14 803995a: eefc 7ae7 vcvt.u32.f32 s15, s15 803995e: ee17 3a90 vmov r3, s15 8039962: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8039966: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803996a: 095b lsrs r3, r3, #5 803996c: 4aa5 ldr r2, [pc, #660] ; (8039c04 ) 803996e: fba2 2303 umull r2, r3, r2, r3 8039972: 09db lsrs r3, r3, #7 8039974: b2db uxtb r3, r3 8039976: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803997a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803997e: 0953 lsrs r3, r2, #5 8039980: 49a0 ldr r1, [pc, #640] ; (8039c04 ) 8039982: fba1 1303 umull r1, r3, r1, r3 8039986: 09db lsrs r3, r3, #7 8039988: 499f ldr r1, [pc, #636] ; (8039c08 ) 803998a: fb01 f303 mul.w r3, r1, r3 803998e: 1ad3 subs r3, r2, r3 8039990: 4a9e ldr r2, [pc, #632] ; (8039c0c ) 8039992: fba2 2303 umull r2, r3, r2, r3 8039996: 0b5b lsrs r3, r3, #13 8039998: b2db uxtb r3, r3 803999a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803999e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80399a2: 0953 lsrs r3, r2, #5 80399a4: 4997 ldr r1, [pc, #604] ; (8039c04 ) 80399a6: fba1 1303 umull r1, r3, r1, r3 80399aa: 09db lsrs r3, r3, #7 80399ac: 4996 ldr r1, [pc, #600] ; (8039c08 ) 80399ae: fb01 f303 mul.w r3, r1, r3 80399b2: 1ad3 subs r3, r2, r3 80399b4: 4a95 ldr r2, [pc, #596] ; (8039c0c ) 80399b6: fba2 1203 umull r1, r2, r2, r3 80399ba: 0b52 lsrs r2, r2, #13 80399bc: f242 7110 movw r1, #10000 ; 0x2710 80399c0: fb01 f202 mul.w r2, r1, r2 80399c4: 1a9a subs r2, r3, r2 80399c6: 4b92 ldr r3, [pc, #584] ; (8039c10 ) 80399c8: fba3 2302 umull r2, r3, r3, r2 80399cc: 099b lsrs r3, r3, #6 80399ce: b2db uxtb r3, r3 80399d0: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80399d4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80399d8: 095a lsrs r2, r3, #5 80399da: 498a ldr r1, [pc, #552] ; (8039c04 ) 80399dc: fba1 1202 umull r1, r2, r1, r2 80399e0: 09d2 lsrs r2, r2, #7 80399e2: 4989 ldr r1, [pc, #548] ; (8039c08 ) 80399e4: fb01 f202 mul.w r2, r1, r2 80399e8: 1a9a subs r2, r3, r2 80399ea: 4b88 ldr r3, [pc, #544] ; (8039c0c ) 80399ec: fba3 1302 umull r1, r3, r3, r2 80399f0: 0b5b lsrs r3, r3, #13 80399f2: f242 7110 movw r1, #10000 ; 0x2710 80399f6: fb01 f303 mul.w r3, r1, r3 80399fa: 1ad3 subs r3, r2, r3 80399fc: 4a84 ldr r2, [pc, #528] ; (8039c10 ) 80399fe: fba2 1203 umull r1, r2, r2, r3 8039a02: 0992 lsrs r2, r2, #6 8039a04: f44f 717a mov.w r1, #1000 ; 0x3e8 8039a08: fb01 f202 mul.w r2, r1, r2 8039a0c: 1a9a subs r2, r3, r2 8039a0e: 4b81 ldr r3, [pc, #516] ; (8039c14 ) 8039a10: fba3 2302 umull r2, r3, r3, r2 8039a14: 095b lsrs r3, r3, #5 8039a16: b2db uxtb r3, r3 8039a18: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8039a1c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039a20: 0953 lsrs r3, r2, #5 8039a22: 4978 ldr r1, [pc, #480] ; (8039c04 ) 8039a24: fba1 1303 umull r1, r3, r1, r3 8039a28: 09db lsrs r3, r3, #7 8039a2a: 4977 ldr r1, [pc, #476] ; (8039c08 ) 8039a2c: fb01 f303 mul.w r3, r1, r3 8039a30: 1ad3 subs r3, r2, r3 8039a32: 4a76 ldr r2, [pc, #472] ; (8039c0c ) 8039a34: fba2 1203 umull r1, r2, r2, r3 8039a38: 0b52 lsrs r2, r2, #13 8039a3a: f242 7110 movw r1, #10000 ; 0x2710 8039a3e: fb01 f202 mul.w r2, r1, r2 8039a42: 1a9a subs r2, r3, r2 8039a44: 4b72 ldr r3, [pc, #456] ; (8039c10 ) 8039a46: fba3 1302 umull r1, r3, r3, r2 8039a4a: 099b lsrs r3, r3, #6 8039a4c: f44f 717a mov.w r1, #1000 ; 0x3e8 8039a50: fb01 f303 mul.w r3, r1, r3 8039a54: 1ad3 subs r3, r2, r3 8039a56: 4a6f ldr r2, [pc, #444] ; (8039c14 ) 8039a58: fba2 1203 umull r1, r2, r2, r3 8039a5c: 0952 lsrs r2, r2, #5 8039a5e: 2164 movs r1, #100 ; 0x64 8039a60: fb01 f202 mul.w r2, r1, r2 8039a64: 1a9a subs r2, r3, r2 8039a66: 4b6c ldr r3, [pc, #432] ; (8039c18 ) 8039a68: fba3 2302 umull r2, r3, r3, r2 8039a6c: 08db lsrs r3, r3, #3 8039a6e: b2db uxtb r3, r3 8039a70: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8039a74: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039a78: 0953 lsrs r3, r2, #5 8039a7a: 4962 ldr r1, [pc, #392] ; (8039c04 ) 8039a7c: fba1 1303 umull r1, r3, r1, r3 8039a80: 09db lsrs r3, r3, #7 8039a82: 4961 ldr r1, [pc, #388] ; (8039c08 ) 8039a84: fb01 f303 mul.w r3, r1, r3 8039a88: 1ad3 subs r3, r2, r3 8039a8a: 4a60 ldr r2, [pc, #384] ; (8039c0c ) 8039a8c: fba2 1203 umull r1, r2, r2, r3 8039a90: 0b52 lsrs r2, r2, #13 8039a92: f242 7110 movw r1, #10000 ; 0x2710 8039a96: fb01 f202 mul.w r2, r1, r2 8039a9a: 1a9a subs r2, r3, r2 8039a9c: 4b5c ldr r3, [pc, #368] ; (8039c10 ) 8039a9e: fba3 1302 umull r1, r3, r3, r2 8039aa2: 099b lsrs r3, r3, #6 8039aa4: f44f 717a mov.w r1, #1000 ; 0x3e8 8039aa8: fb01 f303 mul.w r3, r1, r3 8039aac: 1ad3 subs r3, r2, r3 8039aae: 4a59 ldr r2, [pc, #356] ; (8039c14 ) 8039ab0: fba2 1203 umull r1, r2, r2, r3 8039ab4: 0952 lsrs r2, r2, #5 8039ab6: 2164 movs r1, #100 ; 0x64 8039ab8: fb01 f202 mul.w r2, r1, r2 8039abc: 1a9a subs r2, r3, r2 8039abe: 4b56 ldr r3, [pc, #344] ; (8039c18 ) 8039ac0: fba3 1302 umull r1, r3, r3, r2 8039ac4: 08d9 lsrs r1, r3, #3 8039ac6: 460b mov r3, r1 8039ac8: 009b lsls r3, r3, #2 8039aca: 440b add r3, r1 8039acc: 005b lsls r3, r3, #1 8039ace: 1ad1 subs r1, r2, r3 8039ad0: b2cb uxtb r3, r1 8039ad2: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8039ad6: 4b49 ldr r3, [pc, #292] ; (8039bfc ) 8039ad8: 781b ldrb r3, [r3, #0] 8039ada: b2db uxtb r3, r3 8039adc: 3b19 subs r3, #25 8039ade: 2b05 cmp r3, #5 8039ae0: d836 bhi.n 8039b50 8039ae2: a201 add r2, pc, #4 ; (adr r2, 8039ae8 ) 8039ae4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8039ae8: 08039b01 .word 0x08039b01 8039aec: 08039b0f .word 0x08039b0f 8039af0: 08039b1f .word 0x08039b1f 8039af4: 08039b2d .word 0x08039b2d 8039af8: 08039b39 .word 0x08039b39 8039afc: 08039b45 .word 0x08039b45 k += 100000; 8039b00: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039b04: 4b40 ldr r3, [pc, #256] ; (8039c08 ) 8039b06: 4413 add r3, r2 8039b08: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039b0c: e020 b.n 8039b50 k += 10000; 8039b0e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039b12: f242 7310 movw r3, #10000 ; 0x2710 8039b16: 4413 add r3, r2 8039b18: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039b1c: e018 b.n 8039b50 k += 1000; 8039b1e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039b22: f503 737a add.w r3, r3, #1000 ; 0x3e8 8039b26: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039b2a: e011 b.n 8039b50 k += 100; 8039b2c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039b30: 3364 adds r3, #100 ; 0x64 8039b32: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039b36: e00b b.n 8039b50 k += 10; 8039b38: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039b3c: 330a adds r3, #10 8039b3e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039b42: e005 b.n 8039b50 k++; 8039b44: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039b48: 3301 adds r3, #1 8039b4a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039b4e: bf00 nop fl = (float32_t) k; 8039b50: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039b54: ee07 3a90 vmov s15, r3 8039b58: eef8 7a67 vcvt.f32.u32 s15, s15 8039b5c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8039b60: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039b64: ed9f 7a2d vldr s14, [pc, #180] ; 8039c1c 8039b68: ee67 7a87 vmul.f32 s15, s15, s14 8039b6c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8039b70: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039b74: ed9f 7a2a vldr s14, [pc, #168] ; 8039c20 8039b78: ee77 7a87 vadd.f32 s15, s15, s14 8039b7c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 0.5f) 8039b80: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039b84: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8039b88: eef4 7ac7 vcmpe.f32 s15, s14 8039b8c: eef1 fa10 vmrs APSR_nzcv, fpscr 8039b90: d505 bpl.n 8039b9e pardata.HP = 0.5f; 8039b92: 4b1b ldr r3, [pc, #108] ; (8039c00 ) 8039b94: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8039b98: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(fl < 0.5f) 8039b9c: e1da b.n 8039f54 if(fl > pardata.LP) 8039b9e: 4b18 ldr r3, [pc, #96] ; (8039c00 ) 8039ba0: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8039ba4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039ba8: eeb4 7ae7 vcmpe.f32 s14, s15 8039bac: eef1 fa10 vmrs APSR_nzcv, fpscr 8039bb0: d506 bpl.n 8039bc0 pardata.HP = pardata.LP; 8039bb2: 4b13 ldr r3, [pc, #76] ; (8039c00 ) 8039bb4: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8039bb8: 4a11 ldr r2, [pc, #68] ; (8039c00 ) 8039bba: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(fl < 0.5f) 8039bbe: e1c9 b.n 8039f54 pardata.HP = (float32_t) k; 8039bc0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039bc4: ee07 3a90 vmov s15, r3 8039bc8: eef8 7a67 vcvt.f32.u32 s15, s15 8039bcc: 4b0c ldr r3, [pc, #48] ; (8039c00 ) 8039bce: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8039bd2: 4b0b ldr r3, [pc, #44] ; (8039c00 ) 8039bd4: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039bd8: ed9f 7a10 vldr s14, [pc, #64] ; 8039c1c 8039bdc: ee67 7a87 vmul.f32 s15, s15, s14 8039be0: 4b07 ldr r3, [pc, #28] ; (8039c00 ) 8039be2: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8039be6: 4b06 ldr r3, [pc, #24] ; (8039c00 ) 8039be8: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039bec: ed9f 7a0c vldr s14, [pc, #48] ; 8039c20 8039bf0: ee77 7a87 vadd.f32 s15, s15, s14 8039bf4: 4b02 ldr r3, [pc, #8] ; (8039c00 ) 8039bf6: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(fl < 0.5f) 8039bfa: e1ab b.n 8039f54 8039bfc: 20020070 .word 0x20020070 8039c00: 20023eb8 .word 0x20023eb8 8039c04: 0a7c5ac5 .word 0x0a7c5ac5 8039c08: 000186a0 .word 0x000186a0 8039c0c: d1b71759 .word 0xd1b71759 8039c10: 10624dd3 .word 0x10624dd3 8039c14: 51eb851f .word 0x51eb851f 8039c18: cccccccd .word 0xcccccccd 8039c1c: 3dcccccd .word 0x3dcccccd 8039c20: 38d1b717 .word 0x38d1b717 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 8039c24: 4bcc ldr r3, [pc, #816] ; (8039f58 ) 8039c26: 781b ldrb r3, [r3, #0] 8039c28: b2db uxtb r3, r3 8039c2a: 2b1e cmp r3, #30 8039c2c: f240 816c bls.w 8039f08 8039c30: 4bc9 ldr r3, [pc, #804] ; (8039f58 ) 8039c32: 781b ldrb r3, [r3, #0] 8039c34: b2db uxtb r3, r3 8039c36: 2b24 cmp r3, #36 ; 0x24 8039c38: f200 8166 bhi.w 8039f08 k = (uint32_t) (pardata.LP * 10.0f); 8039c3c: 4bc7 ldr r3, [pc, #796] ; (8039f5c ) 8039c3e: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8039c42: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8039c46: ee67 7a87 vmul.f32 s15, s15, s14 8039c4a: eefc 7ae7 vcvt.u32.f32 s15, s15 8039c4e: ee17 3a90 vmov r3, s15 8039c52: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8039c56: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039c5a: 095b lsrs r3, r3, #5 8039c5c: 4ac0 ldr r2, [pc, #768] ; (8039f60 ) 8039c5e: fba2 2303 umull r2, r3, r2, r3 8039c62: 09db lsrs r3, r3, #7 8039c64: b2db uxtb r3, r3 8039c66: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8039c6a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039c6e: 0953 lsrs r3, r2, #5 8039c70: 49bb ldr r1, [pc, #748] ; (8039f60 ) 8039c72: fba1 1303 umull r1, r3, r1, r3 8039c76: 09db lsrs r3, r3, #7 8039c78: 49ba ldr r1, [pc, #744] ; (8039f64 ) 8039c7a: fb01 f303 mul.w r3, r1, r3 8039c7e: 1ad3 subs r3, r2, r3 8039c80: 4ab9 ldr r2, [pc, #740] ; (8039f68 ) 8039c82: fba2 2303 umull r2, r3, r2, r3 8039c86: 0b5b lsrs r3, r3, #13 8039c88: b2db uxtb r3, r3 8039c8a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8039c8e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039c92: 0953 lsrs r3, r2, #5 8039c94: 49b2 ldr r1, [pc, #712] ; (8039f60 ) 8039c96: fba1 1303 umull r1, r3, r1, r3 8039c9a: 09db lsrs r3, r3, #7 8039c9c: 49b1 ldr r1, [pc, #708] ; (8039f64 ) 8039c9e: fb01 f303 mul.w r3, r1, r3 8039ca2: 1ad3 subs r3, r2, r3 8039ca4: 4ab0 ldr r2, [pc, #704] ; (8039f68 ) 8039ca6: fba2 1203 umull r1, r2, r2, r3 8039caa: 0b52 lsrs r2, r2, #13 8039cac: f242 7110 movw r1, #10000 ; 0x2710 8039cb0: fb01 f202 mul.w r2, r1, r2 8039cb4: 1a9a subs r2, r3, r2 8039cb6: 4bad ldr r3, [pc, #692] ; (8039f6c ) 8039cb8: fba3 2302 umull r2, r3, r3, r2 8039cbc: 099b lsrs r3, r3, #6 8039cbe: b2db uxtb r3, r3 8039cc0: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8039cc4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039cc8: 095a lsrs r2, r3, #5 8039cca: 49a5 ldr r1, [pc, #660] ; (8039f60 ) 8039ccc: fba1 1202 umull r1, r2, r1, r2 8039cd0: 09d2 lsrs r2, r2, #7 8039cd2: 49a4 ldr r1, [pc, #656] ; (8039f64 ) 8039cd4: fb01 f202 mul.w r2, r1, r2 8039cd8: 1a9a subs r2, r3, r2 8039cda: 4ba3 ldr r3, [pc, #652] ; (8039f68 ) 8039cdc: fba3 1302 umull r1, r3, r3, r2 8039ce0: 0b5b lsrs r3, r3, #13 8039ce2: f242 7110 movw r1, #10000 ; 0x2710 8039ce6: fb01 f303 mul.w r3, r1, r3 8039cea: 1ad3 subs r3, r2, r3 8039cec: 4a9f ldr r2, [pc, #636] ; (8039f6c ) 8039cee: fba2 1203 umull r1, r2, r2, r3 8039cf2: 0992 lsrs r2, r2, #6 8039cf4: f44f 717a mov.w r1, #1000 ; 0x3e8 8039cf8: fb01 f202 mul.w r2, r1, r2 8039cfc: 1a9a subs r2, r3, r2 8039cfe: 4b9c ldr r3, [pc, #624] ; (8039f70 ) 8039d00: fba3 2302 umull r2, r3, r3, r2 8039d04: 095b lsrs r3, r3, #5 8039d06: b2db uxtb r3, r3 8039d08: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8039d0c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039d10: 0953 lsrs r3, r2, #5 8039d12: 4993 ldr r1, [pc, #588] ; (8039f60 ) 8039d14: fba1 1303 umull r1, r3, r1, r3 8039d18: 09db lsrs r3, r3, #7 8039d1a: 4992 ldr r1, [pc, #584] ; (8039f64 ) 8039d1c: fb01 f303 mul.w r3, r1, r3 8039d20: 1ad3 subs r3, r2, r3 8039d22: 4a91 ldr r2, [pc, #580] ; (8039f68 ) 8039d24: fba2 1203 umull r1, r2, r2, r3 8039d28: 0b52 lsrs r2, r2, #13 8039d2a: f242 7110 movw r1, #10000 ; 0x2710 8039d2e: fb01 f202 mul.w r2, r1, r2 8039d32: 1a9a subs r2, r3, r2 8039d34: 4b8d ldr r3, [pc, #564] ; (8039f6c ) 8039d36: fba3 1302 umull r1, r3, r3, r2 8039d3a: 099b lsrs r3, r3, #6 8039d3c: f44f 717a mov.w r1, #1000 ; 0x3e8 8039d40: fb01 f303 mul.w r3, r1, r3 8039d44: 1ad3 subs r3, r2, r3 8039d46: 4a8a ldr r2, [pc, #552] ; (8039f70 ) 8039d48: fba2 1203 umull r1, r2, r2, r3 8039d4c: 0952 lsrs r2, r2, #5 8039d4e: 2164 movs r1, #100 ; 0x64 8039d50: fb01 f202 mul.w r2, r1, r2 8039d54: 1a9a subs r2, r3, r2 8039d56: 4b87 ldr r3, [pc, #540] ; (8039f74 ) 8039d58: fba3 2302 umull r2, r3, r3, r2 8039d5c: 08db lsrs r3, r3, #3 8039d5e: b2db uxtb r3, r3 8039d60: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8039d64: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039d68: 0953 lsrs r3, r2, #5 8039d6a: 497d ldr r1, [pc, #500] ; (8039f60 ) 8039d6c: fba1 1303 umull r1, r3, r1, r3 8039d70: 09db lsrs r3, r3, #7 8039d72: 497c ldr r1, [pc, #496] ; (8039f64 ) 8039d74: fb01 f303 mul.w r3, r1, r3 8039d78: 1ad3 subs r3, r2, r3 8039d7a: 4a7b ldr r2, [pc, #492] ; (8039f68 ) 8039d7c: fba2 1203 umull r1, r2, r2, r3 8039d80: 0b52 lsrs r2, r2, #13 8039d82: f242 7110 movw r1, #10000 ; 0x2710 8039d86: fb01 f202 mul.w r2, r1, r2 8039d8a: 1a9a subs r2, r3, r2 8039d8c: 4b77 ldr r3, [pc, #476] ; (8039f6c ) 8039d8e: fba3 1302 umull r1, r3, r3, r2 8039d92: 099b lsrs r3, r3, #6 8039d94: f44f 717a mov.w r1, #1000 ; 0x3e8 8039d98: fb01 f303 mul.w r3, r1, r3 8039d9c: 1ad3 subs r3, r2, r3 8039d9e: 4a74 ldr r2, [pc, #464] ; (8039f70 ) 8039da0: fba2 1203 umull r1, r2, r2, r3 8039da4: 0952 lsrs r2, r2, #5 8039da6: 2164 movs r1, #100 ; 0x64 8039da8: fb01 f202 mul.w r2, r1, r2 8039dac: 1a9a subs r2, r3, r2 8039dae: 4b71 ldr r3, [pc, #452] ; (8039f74 ) 8039db0: fba3 1302 umull r1, r3, r3, r2 8039db4: 08d9 lsrs r1, r3, #3 8039db6: 460b mov r3, r1 8039db8: 009b lsls r3, r3, #2 8039dba: 440b add r3, r1 8039dbc: 005b lsls r3, r3, #1 8039dbe: 1ad1 subs r1, r2, r3 8039dc0: b2cb uxtb r3, r1 8039dc2: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8039dc6: 4b64 ldr r3, [pc, #400] ; (8039f58 ) 8039dc8: 781b ldrb r3, [r3, #0] 8039dca: b2db uxtb r3, r3 8039dcc: 3b1f subs r3, #31 8039dce: 2b05 cmp r3, #5 8039dd0: d836 bhi.n 8039e40 8039dd2: a201 add r2, pc, #4 ; (adr r2, 8039dd8 ) 8039dd4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8039dd8: 08039df1 .word 0x08039df1 8039ddc: 08039dff .word 0x08039dff 8039de0: 08039e0f .word 0x08039e0f 8039de4: 08039e1d .word 0x08039e1d 8039de8: 08039e29 .word 0x08039e29 8039dec: 08039e35 .word 0x08039e35 k += 100000; 8039df0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039df4: 4b5b ldr r3, [pc, #364] ; (8039f64 ) 8039df6: 4413 add r3, r2 8039df8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039dfc: e020 b.n 8039e40 k += 10000; 8039dfe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039e02: f242 7310 movw r3, #10000 ; 0x2710 8039e06: 4413 add r3, r2 8039e08: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039e0c: e018 b.n 8039e40 k += 1000; 8039e0e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039e12: f503 737a add.w r3, r3, #1000 ; 0x3e8 8039e16: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039e1a: e011 b.n 8039e40 k += 100; 8039e1c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039e20: 3364 adds r3, #100 ; 0x64 8039e22: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039e26: e00b b.n 8039e40 k += 10; 8039e28: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039e2c: 330a adds r3, #10 8039e2e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039e32: e005 b.n 8039e40 k++; 8039e34: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039e38: 3301 adds r3, #1 8039e3a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039e3e: bf00 nop fl = (float32_t) k; 8039e40: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039e44: ee07 3a90 vmov s15, r3 8039e48: eef8 7a67 vcvt.f32.u32 s15, s15 8039e4c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8039e50: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039e54: ed9f 7a48 vldr s14, [pc, #288] ; 8039f78 8039e58: ee67 7a87 vmul.f32 s15, s15, s14 8039e5c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8039e60: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039e64: ed9f 7a45 vldr s14, [pc, #276] ; 8039f7c 8039e68: ee77 7a87 vadd.f32 s15, s15, s14 8039e6c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 8039e70: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039e74: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8039e78: eef4 7ac7 vcmpe.f32 s15, s14 8039e7c: eef1 fa10 vmrs APSR_nzcv, fpscr 8039e80: d504 bpl.n 8039e8c pardata.LP = 10.0f; 8039e82: 4b36 ldr r3, [pc, #216] ; (8039f5c ) 8039e84: 4a3e ldr r2, [pc, #248] ; (8039f80 ) 8039e86: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 if(fl < 10.0f) 8039e8a: e063 b.n 8039f54 if(pardata.LP < pardata.HP) 8039e8c: 4b33 ldr r3, [pc, #204] ; (8039f5c ) 8039e8e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8039e92: 4b32 ldr r3, [pc, #200] ; (8039f5c ) 8039e94: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039e98: eeb4 7ae7 vcmpe.f32 s14, s15 8039e9c: eef1 fa10 vmrs APSR_nzcv, fpscr 8039ea0: d506 bpl.n 8039eb0 pardata.LP = pardata.HP; 8039ea2: 4b2e ldr r3, [pc, #184] ; (8039f5c ) 8039ea4: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 8039ea8: 4a2c ldr r2, [pc, #176] ; (8039f5c ) 8039eaa: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 if(fl < 10.0f) 8039eae: e051 b.n 8039f54 if(fl > 12800.0f) 8039eb0: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039eb4: ed9f 7a33 vldr s14, [pc, #204] ; 8039f84 8039eb8: eef4 7ac7 vcmpe.f32 s15, s14 8039ebc: eef1 fa10 vmrs APSR_nzcv, fpscr 8039ec0: dd04 ble.n 8039ecc pardata.LP = 12800.0f; 8039ec2: 4b26 ldr r3, [pc, #152] ; (8039f5c ) 8039ec4: 4a30 ldr r2, [pc, #192] ; (8039f88 ) 8039ec6: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 if(fl < 10.0f) 8039eca: e043 b.n 8039f54 pardata.LP = (float32_t) k; 8039ecc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039ed0: ee07 3a90 vmov s15, r3 8039ed4: eef8 7a67 vcvt.f32.u32 s15, s15 8039ed8: 4b20 ldr r3, [pc, #128] ; (8039f5c ) 8039eda: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 8039ede: 4b1f ldr r3, [pc, #124] ; (8039f5c ) 8039ee0: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8039ee4: ed9f 7a24 vldr s14, [pc, #144] ; 8039f78 8039ee8: ee67 7a87 vmul.f32 s15, s15, s14 8039eec: 4b1b ldr r3, [pc, #108] ; (8039f5c ) 8039eee: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 8039ef2: 4b1a ldr r3, [pc, #104] ; (8039f5c ) 8039ef4: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8039ef8: ed9f 7a20 vldr s14, [pc, #128] ; 8039f7c 8039efc: ee77 7a87 vadd.f32 s15, s15, s14 8039f00: 4b16 ldr r3, [pc, #88] ; (8039f5c ) 8039f02: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 if(fl < 10.0f) 8039f06: e025 b.n 8039f54 if(pardata.HP < 2.0f) 8039f08: 4b14 ldr r3, [pc, #80] ; (8039f5c ) 8039f0a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039f0e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8039f12: eef4 7ac7 vcmpe.f32 s15, s14 8039f16: eef1 fa10 vmrs APSR_nzcv, fpscr 8039f1a: d508 bpl.n 8039f2e menupos--; 8039f1c: 4b0e ldr r3, [pc, #56] ; (8039f58 ) 8039f1e: 781b ldrb r3, [r3, #0] 8039f20: b2db uxtb r3, r3 8039f22: 3b01 subs r3, #1 8039f24: b2da uxtb r2, r3 8039f26: 4b0c ldr r3, [pc, #48] ; (8039f58 ) 8039f28: 701a strb r2, [r3, #0] break; 8039f2a: f003 b908 b.w 803d13e if(menupos == Average) 8039f2e: 4b0a ldr r3, [pc, #40] ; (8039f58 ) 8039f30: 781b ldrb r3, [r3, #0] 8039f32: b2db uxtb r3, r3 8039f34: 2b05 cmp r3, #5 8039f36: d104 bne.n 8039f42 menupos = ValueA; 8039f38: 4b07 ldr r3, [pc, #28] ; (8039f58 ) 8039f3a: 2202 movs r2, #2 8039f3c: 701a strb r2, [r3, #0] break; 8039f3e: f003 b8fe b.w 803d13e else menupos--; 8039f42: 4b05 ldr r3, [pc, #20] ; (8039f58 ) 8039f44: 781b ldrb r3, [r3, #0] 8039f46: b2db uxtb r3, r3 8039f48: 3b01 subs r3, #1 8039f4a: b2da uxtb r2, r3 8039f4c: 4b02 ldr r3, [pc, #8] ; (8039f58 ) 8039f4e: 701a strb r2, [r3, #0] break; 8039f50: f003 b8f5 b.w 803d13e 8039f54: f003 b8f3 b.w 803d13e 8039f58: 20020070 .word 0x20020070 8039f5c: 20023eb8 .word 0x20023eb8 8039f60: 0a7c5ac5 .word 0x0a7c5ac5 8039f64: 000186a0 .word 0x000186a0 8039f68: d1b71759 .word 0xd1b71759 8039f6c: 10624dd3 .word 0x10624dd3 8039f70: 51eb851f .word 0x51eb851f 8039f74: cccccccd .word 0xcccccccd 8039f78: 3dcccccd .word 0x3dcccccd 8039f7c: 38d1b717 .word 0x38d1b717 8039f80: 41200000 .word 0x41200000 8039f84: 46480000 .word 0x46480000 8039f88: 46480000 .word 0x46480000 case PARAM_SPEC: focused = false; 8039f8c: 4bc9 ldr r3, [pc, #804] ; (803a2b4 ) 8039f8e: 2200 movs r2, #0 8039f90: 701a strb r2, [r3, #0] switch(pardata.OPTIONS & maskFFT) 8039f92: 4bc9 ldr r3, [pc, #804] ; (803a2b8 ) 8039f94: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8039f98: f003 0330 and.w r3, r3, #48 ; 0x30 8039f9c: 2b10 cmp r3, #16 8039f9e: d00d beq.n 8039fbc 8039fa0: 2b10 cmp r3, #16 8039fa2: d803 bhi.n 8039fac 8039fa4: 2b00 cmp r3, #0 8039fa6: d009 beq.n 8039fbc pardata.LP += 0.0001f; } } break; } break; 8039fa8: f003 b8c9 b.w 803d13e switch(pardata.OPTIONS & maskFFT) 8039fac: 2b20 cmp r3, #32 8039fae: f000 855f beq.w 803aa70 8039fb2: 2b30 cmp r3, #48 ; 0x30 8039fb4: f000 855c beq.w 803aa70 break; 8039fb8: f003 b8c1 b.w 803d13e if(menupos == Ok) 8039fbc: 4bbf ldr r3, [pc, #764] ; (803a2bc ) 8039fbe: 781b ldrb r3, [r3, #0] 8039fc0: b2db uxtb r3, r3 8039fc2: 2b00 cmp r3, #0 8039fc4: d110 bne.n 8039fe8 if(pardata.OPTIONS & 0x4) 8039fc6: 4bbc ldr r3, [pc, #752] ; (803a2b8 ) 8039fc8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8039fcc: f003 0304 and.w r3, r3, #4 8039fd0: 2b00 cmp r3, #0 8039fd2: d004 beq.n 8039fde menupos = VibAutoKu; 8039fd4: 4bb9 ldr r3, [pc, #740] ; (803a2bc ) 8039fd6: 2208 movs r2, #8 8039fd8: 701a strb r2, [r3, #0] break; 8039fda: f001 ba5c b.w 803b496 else menupos = VibMax_ALL; 8039fde: 4bb7 ldr r3, [pc, #732] ; (803a2bc ) 8039fe0: 2209 movs r2, #9 8039fe2: 701a strb r2, [r3, #0] break; 8039fe4: f001 ba57 b.w 803b496 if(menupos == VibMax_ALL) 8039fe8: 4bb4 ldr r3, [pc, #720] ; (803a2bc ) 8039fea: 781b ldrb r3, [r3, #0] 8039fec: b2db uxtb r3, r3 8039fee: 2b09 cmp r3, #9 8039ff0: d104 bne.n 8039ffc menupos = VibAutoKu; 8039ff2: 4bb2 ldr r3, [pc, #712] ; (803a2bc ) 8039ff4: 2208 movs r2, #8 8039ff6: 701a strb r2, [r3, #0] break; 8039ff8: f001 ba4d b.w 803b496 if(menupos == VibAutoKu) 8039ffc: 4baf ldr r3, [pc, #700] ; (803a2bc ) 8039ffe: 781b ldrb r3, [r3, #0] 803a000: b2db uxtb r3, r3 803a002: 2b08 cmp r3, #8 803a004: d104 bne.n 803a010 menupos = SAverage; 803a006: 4bad ldr r3, [pc, #692] ; (803a2bc ) 803a008: 2207 movs r2, #7 803a00a: 701a strb r2, [r3, #0] break; 803a00c: f001 ba43 b.w 803b496 if(menupos == SAverage) 803a010: 4baa ldr r3, [pc, #680] ; (803a2bc ) 803a012: 781b ldrb r3, [r3, #0] 803a014: b2db uxtb r3, r3 803a016: 2b07 cmp r3, #7 803a018: d104 bne.n 803a024 menupos = SpecWin; 803a01a: 4ba8 ldr r3, [pc, #672] ; (803a2bc ) 803a01c: 2206 movs r2, #6 803a01e: 701a strb r2, [r3, #0] break; 803a020: f001 ba39 b.w 803b496 if(menupos == SpecWin) 803a024: 4ba5 ldr r3, [pc, #660] ; (803a2bc ) 803a026: 781b ldrb r3, [r3, #0] 803a028: b2db uxtb r3, r3 803a02a: 2b06 cmp r3, #6 803a02c: d104 bne.n 803a038 menupos = LinLog; 803a02e: 4ba3 ldr r3, [pc, #652] ; (803a2bc ) 803a030: 2205 movs r2, #5 803a032: 701a strb r2, [r3, #0] break; 803a034: f001 ba2f b.w 803b496 if(menupos == LinLog) 803a038: 4ba0 ldr r3, [pc, #640] ; (803a2bc ) 803a03a: 781b ldrb r3, [r3, #0] 803a03c: b2db uxtb r3, r3 803a03e: 2b05 cmp r3, #5 803a040: d104 bne.n 803a04c menupos = SpecLines; 803a042: 4b9e ldr r3, [pc, #632] ; (803a2bc ) 803a044: 2204 movs r2, #4 803a046: 701a strb r2, [r3, #0] break; 803a048: f001 ba25 b.w 803b496 if(menupos == SpecLines) 803a04c: 4b9b ldr r3, [pc, #620] ; (803a2bc ) 803a04e: 781b ldrb r3, [r3, #0] 803a050: b2db uxtb r3, r3 803a052: 2b04 cmp r3, #4 803a054: d104 bne.n 803a060 menupos = FilterLP; 803a056: 4b99 ldr r3, [pc, #612] ; (803a2bc ) 803a058: 2218 movs r2, #24 803a05a: 701a strb r2, [r3, #0] break; 803a05c: f001 ba1b b.w 803b496 if(menupos == FilterLP) 803a060: 4b96 ldr r3, [pc, #600] ; (803a2bc ) 803a062: 781b ldrb r3, [r3, #0] 803a064: b2db uxtb r3, r3 803a066: 2b18 cmp r3, #24 803a068: d104 bne.n 803a074 menupos = FilterHP; 803a06a: 4b94 ldr r3, [pc, #592] ; (803a2bc ) 803a06c: 2217 movs r2, #23 803a06e: 701a strb r2, [r3, #0] break; 803a070: f001 ba11 b.w 803b496 if(menupos == FilterHP) 803a074: 4b91 ldr r3, [pc, #580] ; (803a2bc ) 803a076: 781b ldrb r3, [r3, #0] 803a078: b2db uxtb r3, r3 803a07a: 2b17 cmp r3, #23 803a07c: d104 bne.n 803a088 menupos = SpecValue; 803a07e: 4b8f ldr r3, [pc, #572] ; (803a2bc ) 803a080: 2202 movs r2, #2 803a082: 701a strb r2, [r3, #0] break; 803a084: f001 ba07 b.w 803b496 if(menupos == SpecValue) 803a088: 4b8c ldr r3, [pc, #560] ; (803a2bc ) 803a08a: 781b ldrb r3, [r3, #0] 803a08c: b2db uxtb r3, r3 803a08e: 2b02 cmp r3, #2 803a090: d104 bne.n 803a09c menupos = SpecType; 803a092: 4b8a ldr r3, [pc, #552] ; (803a2bc ) 803a094: 2201 movs r2, #1 803a096: 701a strb r2, [r3, #0] break; 803a098: f001 b9fd b.w 803b496 if(menupos == SpecType) 803a09c: 4b87 ldr r3, [pc, #540] ; (803a2bc ) 803a09e: 781b ldrb r3, [r3, #0] 803a0a0: b2db uxtb r3, r3 803a0a2: 2b01 cmp r3, #1 803a0a4: d104 bne.n 803a0b0 menupos = Ok; 803a0a6: 4b85 ldr r3, [pc, #532] ; (803a2bc ) 803a0a8: 2200 movs r2, #0 803a0aa: 701a strb r2, [r3, #0] break; 803a0ac: f001 b9f3 b.w 803b496 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 803a0b0: 4b82 ldr r3, [pc, #520] ; (803a2bc ) 803a0b2: 781b ldrb r3, [r3, #0] 803a0b4: b2db uxtb r3, r3 803a0b6: 2b0a cmp r3, #10 803a0b8: f240 8147 bls.w 803a34a 803a0bc: 4b7f ldr r3, [pc, #508] ; (803a2bc ) 803a0be: 781b ldrb r3, [r3, #0] 803a0c0: b2db uxtb r3, r3 803a0c2: 2b10 cmp r3, #16 803a0c4: f200 8141 bhi.w 803a34a k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803a0c8: 4b7b ldr r3, [pc, #492] ; (803a2b8 ) 803a0ca: edd3 7a06 vldr s15, [r3, #24] 803a0ce: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803a0d2: ee67 7a87 vmul.f32 s15, s15, s14 803a0d6: eefc 7ae7 vcvt.u32.f32 s15, s15 803a0da: ee17 3a90 vmov r3, s15 803a0de: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803a0e2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a0e6: 095b lsrs r3, r3, #5 803a0e8: 4a75 ldr r2, [pc, #468] ; (803a2c0 ) 803a0ea: fba2 2303 umull r2, r3, r2, r3 803a0ee: 09db lsrs r3, r3, #7 803a0f0: b2db uxtb r3, r3 803a0f2: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803a0f6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a0fa: 0953 lsrs r3, r2, #5 803a0fc: 4970 ldr r1, [pc, #448] ; (803a2c0 ) 803a0fe: fba1 1303 umull r1, r3, r1, r3 803a102: 09db lsrs r3, r3, #7 803a104: 496f ldr r1, [pc, #444] ; (803a2c4 ) 803a106: fb01 f303 mul.w r3, r1, r3 803a10a: 1ad3 subs r3, r2, r3 803a10c: 4a6e ldr r2, [pc, #440] ; (803a2c8 ) 803a10e: fba2 2303 umull r2, r3, r2, r3 803a112: 0b5b lsrs r3, r3, #13 803a114: b2db uxtb r3, r3 803a116: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803a11a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a11e: 0953 lsrs r3, r2, #5 803a120: 4967 ldr r1, [pc, #412] ; (803a2c0 ) 803a122: fba1 1303 umull r1, r3, r1, r3 803a126: 09db lsrs r3, r3, #7 803a128: 4966 ldr r1, [pc, #408] ; (803a2c4 ) 803a12a: fb01 f303 mul.w r3, r1, r3 803a12e: 1ad3 subs r3, r2, r3 803a130: 4a65 ldr r2, [pc, #404] ; (803a2c8 ) 803a132: fba2 1203 umull r1, r2, r2, r3 803a136: 0b52 lsrs r2, r2, #13 803a138: f242 7110 movw r1, #10000 ; 0x2710 803a13c: fb01 f202 mul.w r2, r1, r2 803a140: 1a9a subs r2, r3, r2 803a142: 4b62 ldr r3, [pc, #392] ; (803a2cc ) 803a144: fba3 2302 umull r2, r3, r3, r2 803a148: 099b lsrs r3, r3, #6 803a14a: b2db uxtb r3, r3 803a14c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803a150: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a154: 095a lsrs r2, r3, #5 803a156: 495a ldr r1, [pc, #360] ; (803a2c0 ) 803a158: fba1 1202 umull r1, r2, r1, r2 803a15c: 09d2 lsrs r2, r2, #7 803a15e: 4959 ldr r1, [pc, #356] ; (803a2c4 ) 803a160: fb01 f202 mul.w r2, r1, r2 803a164: 1a9a subs r2, r3, r2 803a166: 4b58 ldr r3, [pc, #352] ; (803a2c8 ) 803a168: fba3 1302 umull r1, r3, r3, r2 803a16c: 0b5b lsrs r3, r3, #13 803a16e: f242 7110 movw r1, #10000 ; 0x2710 803a172: fb01 f303 mul.w r3, r1, r3 803a176: 1ad3 subs r3, r2, r3 803a178: 4a54 ldr r2, [pc, #336] ; (803a2cc ) 803a17a: fba2 1203 umull r1, r2, r2, r3 803a17e: 0992 lsrs r2, r2, #6 803a180: f44f 717a mov.w r1, #1000 ; 0x3e8 803a184: fb01 f202 mul.w r2, r1, r2 803a188: 1a9a subs r2, r3, r2 803a18a: 4b51 ldr r3, [pc, #324] ; (803a2d0 ) 803a18c: fba3 2302 umull r2, r3, r3, r2 803a190: 095b lsrs r3, r3, #5 803a192: b2db uxtb r3, r3 803a194: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803a198: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a19c: 0953 lsrs r3, r2, #5 803a19e: 4948 ldr r1, [pc, #288] ; (803a2c0 ) 803a1a0: fba1 1303 umull r1, r3, r1, r3 803a1a4: 09db lsrs r3, r3, #7 803a1a6: 4947 ldr r1, [pc, #284] ; (803a2c4 ) 803a1a8: fb01 f303 mul.w r3, r1, r3 803a1ac: 1ad3 subs r3, r2, r3 803a1ae: 4a46 ldr r2, [pc, #280] ; (803a2c8 ) 803a1b0: fba2 1203 umull r1, r2, r2, r3 803a1b4: 0b52 lsrs r2, r2, #13 803a1b6: f242 7110 movw r1, #10000 ; 0x2710 803a1ba: fb01 f202 mul.w r2, r1, r2 803a1be: 1a9a subs r2, r3, r2 803a1c0: 4b42 ldr r3, [pc, #264] ; (803a2cc ) 803a1c2: fba3 1302 umull r1, r3, r3, r2 803a1c6: 099b lsrs r3, r3, #6 803a1c8: f44f 717a mov.w r1, #1000 ; 0x3e8 803a1cc: fb01 f303 mul.w r3, r1, r3 803a1d0: 1ad3 subs r3, r2, r3 803a1d2: 4a3f ldr r2, [pc, #252] ; (803a2d0 ) 803a1d4: fba2 1203 umull r1, r2, r2, r3 803a1d8: 0952 lsrs r2, r2, #5 803a1da: 2164 movs r1, #100 ; 0x64 803a1dc: fb01 f202 mul.w r2, r1, r2 803a1e0: 1a9a subs r2, r3, r2 803a1e2: 4b3c ldr r3, [pc, #240] ; (803a2d4 ) 803a1e4: fba3 2302 umull r2, r3, r3, r2 803a1e8: 08db lsrs r3, r3, #3 803a1ea: b2db uxtb r3, r3 803a1ec: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803a1f0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a1f4: 0953 lsrs r3, r2, #5 803a1f6: 4932 ldr r1, [pc, #200] ; (803a2c0 ) 803a1f8: fba1 1303 umull r1, r3, r1, r3 803a1fc: 09db lsrs r3, r3, #7 803a1fe: 4931 ldr r1, [pc, #196] ; (803a2c4 ) 803a200: fb01 f303 mul.w r3, r1, r3 803a204: 1ad3 subs r3, r2, r3 803a206: 4a30 ldr r2, [pc, #192] ; (803a2c8 ) 803a208: fba2 1203 umull r1, r2, r2, r3 803a20c: 0b52 lsrs r2, r2, #13 803a20e: f242 7110 movw r1, #10000 ; 0x2710 803a212: fb01 f202 mul.w r2, r1, r2 803a216: 1a9a subs r2, r3, r2 803a218: 4b2c ldr r3, [pc, #176] ; (803a2cc ) 803a21a: fba3 1302 umull r1, r3, r3, r2 803a21e: 099b lsrs r3, r3, #6 803a220: f44f 717a mov.w r1, #1000 ; 0x3e8 803a224: fb01 f303 mul.w r3, r1, r3 803a228: 1ad3 subs r3, r2, r3 803a22a: 4a29 ldr r2, [pc, #164] ; (803a2d0 ) 803a22c: fba2 1203 umull r1, r2, r2, r3 803a230: 0952 lsrs r2, r2, #5 803a232: 2164 movs r1, #100 ; 0x64 803a234: fb01 f202 mul.w r2, r1, r2 803a238: 1a9a subs r2, r3, r2 803a23a: 4b26 ldr r3, [pc, #152] ; (803a2d4 ) 803a23c: fba3 1302 umull r1, r3, r3, r2 803a240: 08d9 lsrs r1, r3, #3 803a242: 460b mov r3, r1 803a244: 009b lsls r3, r3, #2 803a246: 440b add r3, r1 803a248: 005b lsls r3, r3, #1 803a24a: 1ad1 subs r1, r2, r3 803a24c: b2cb uxtb r3, r1 803a24e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803a252: 4b1a ldr r3, [pc, #104] ; (803a2bc ) 803a254: 781b ldrb r3, [r3, #0] 803a256: b2db uxtb r3, r3 803a258: 3b0b subs r3, #11 803a25a: 2b05 cmp r3, #5 803a25c: d848 bhi.n 803a2f0 803a25e: a201 add r2, pc, #4 ; (adr r2, 803a264 ) 803a260: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803a264: 0803a27d .word 0x0803a27d 803a268: 0803a28b .word 0x0803a28b 803a26c: 0803a29b .word 0x0803a29b 803a270: 0803a2a9 .word 0x0803a2a9 803a274: 0803a2d9 .word 0x0803a2d9 803a278: 0803a2e5 .word 0x0803a2e5 k += 100000; 803a27c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a280: 4b10 ldr r3, [pc, #64] ; (803a2c4 ) 803a282: 4413 add r3, r2 803a284: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a288: e032 b.n 803a2f0 k += 10000; 803a28a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a28e: f242 7310 movw r3, #10000 ; 0x2710 803a292: 4413 add r3, r2 803a294: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a298: e02a b.n 803a2f0 k += 1000; 803a29a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a29e: f503 737a add.w r3, r3, #1000 ; 0x3e8 803a2a2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a2a6: e023 b.n 803a2f0 k += 100; 803a2a8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a2ac: 3364 adds r3, #100 ; 0x64 803a2ae: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a2b2: e01d b.n 803a2f0 803a2b4: 20020fd0 .word 0x20020fd0 803a2b8: 20023eb8 .word 0x20023eb8 803a2bc: 20020070 .word 0x20020070 803a2c0: 0a7c5ac5 .word 0x0a7c5ac5 803a2c4: 000186a0 .word 0x000186a0 803a2c8: d1b71759 .word 0xd1b71759 803a2cc: 10624dd3 .word 0x10624dd3 803a2d0: 51eb851f .word 0x51eb851f 803a2d4: cccccccd .word 0xcccccccd k += 10; 803a2d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a2dc: 330a adds r3, #10 803a2de: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a2e2: e005 b.n 803a2f0 k++; 803a2e4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a2e8: 3301 adds r3, #1 803a2ea: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a2ee: bf00 nop if(k > 999999) k = 999999; 803a2f0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a2f4: 4ad1 ldr r2, [pc, #836] ; (803a63c ) 803a2f6: 4293 cmp r3, r2 803a2f8: d902 bls.n 803a300 803a2fa: 4bd0 ldr r3, [pc, #832] ; (803a63c ) 803a2fc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803a300: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a304: 2b00 cmp r3, #0 803a306: d102 bne.n 803a30e 803a308: 2301 movs r3, #1 803a30a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803a30e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a312: ee07 3a90 vmov s15, r3 803a316: eef8 7a67 vcvt.f32.u32 s15, s15 803a31a: 4bc9 ldr r3, [pc, #804] ; (803a640 ) 803a31c: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803a320: 4bc7 ldr r3, [pc, #796] ; (803a640 ) 803a322: edd3 7a06 vldr s15, [r3, #24] 803a326: ed9f 7ac7 vldr s14, [pc, #796] ; 803a644 803a32a: ee67 7a87 vmul.f32 s15, s15, s14 803a32e: 4bc4 ldr r3, [pc, #784] ; (803a640 ) 803a330: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803a334: 4bc2 ldr r3, [pc, #776] ; (803a640 ) 803a336: edd3 7a06 vldr s15, [r3, #24] 803a33a: ed9f 7ac3 vldr s14, [pc, #780] ; 803a648 803a33e: ee77 7a87 vadd.f32 s15, s15, s14 803a342: 4bbf ldr r3, [pc, #764] ; (803a640 ) 803a344: edc3 7a06 vstr s15, [r3, #24] 803a348: e390 b.n 803aa6c if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 803a34a: 4bc0 ldr r3, [pc, #768] ; (803a64c ) 803a34c: 781b ldrb r3, [r3, #0] 803a34e: b2db uxtb r3, r3 803a350: 2b18 cmp r3, #24 803a352: f240 81ba bls.w 803a6ca 803a356: 4bbd ldr r3, [pc, #756] ; (803a64c ) 803a358: 781b ldrb r3, [r3, #0] 803a35a: b2db uxtb r3, r3 803a35c: 2b1e cmp r3, #30 803a35e: f200 81b4 bhi.w 803a6ca k = (uint32_t) (pardata.HP * 10.0f); 803a362: 4bb7 ldr r3, [pc, #732] ; (803a640 ) 803a364: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803a368: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803a36c: ee67 7a87 vmul.f32 s15, s15, s14 803a370: eefc 7ae7 vcvt.u32.f32 s15, s15 803a374: ee17 3a90 vmov r3, s15 803a378: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803a37c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a380: 095b lsrs r3, r3, #5 803a382: 4ab3 ldr r2, [pc, #716] ; (803a650 ) 803a384: fba2 2303 umull r2, r3, r2, r3 803a388: 09db lsrs r3, r3, #7 803a38a: b2db uxtb r3, r3 803a38c: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803a390: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a394: 0953 lsrs r3, r2, #5 803a396: 49ae ldr r1, [pc, #696] ; (803a650 ) 803a398: fba1 1303 umull r1, r3, r1, r3 803a39c: 09db lsrs r3, r3, #7 803a39e: 49ad ldr r1, [pc, #692] ; (803a654 ) 803a3a0: fb01 f303 mul.w r3, r1, r3 803a3a4: 1ad3 subs r3, r2, r3 803a3a6: 4aac ldr r2, [pc, #688] ; (803a658 ) 803a3a8: fba2 2303 umull r2, r3, r2, r3 803a3ac: 0b5b lsrs r3, r3, #13 803a3ae: b2db uxtb r3, r3 803a3b0: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803a3b4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a3b8: 0953 lsrs r3, r2, #5 803a3ba: 49a5 ldr r1, [pc, #660] ; (803a650 ) 803a3bc: fba1 1303 umull r1, r3, r1, r3 803a3c0: 09db lsrs r3, r3, #7 803a3c2: 49a4 ldr r1, [pc, #656] ; (803a654 ) 803a3c4: fb01 f303 mul.w r3, r1, r3 803a3c8: 1ad3 subs r3, r2, r3 803a3ca: 4aa3 ldr r2, [pc, #652] ; (803a658 ) 803a3cc: fba2 1203 umull r1, r2, r2, r3 803a3d0: 0b52 lsrs r2, r2, #13 803a3d2: f242 7110 movw r1, #10000 ; 0x2710 803a3d6: fb01 f202 mul.w r2, r1, r2 803a3da: 1a9a subs r2, r3, r2 803a3dc: 4b9f ldr r3, [pc, #636] ; (803a65c ) 803a3de: fba3 2302 umull r2, r3, r3, r2 803a3e2: 099b lsrs r3, r3, #6 803a3e4: b2db uxtb r3, r3 803a3e6: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803a3ea: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a3ee: 095a lsrs r2, r3, #5 803a3f0: 4997 ldr r1, [pc, #604] ; (803a650 ) 803a3f2: fba1 1202 umull r1, r2, r1, r2 803a3f6: 09d2 lsrs r2, r2, #7 803a3f8: 4996 ldr r1, [pc, #600] ; (803a654 ) 803a3fa: fb01 f202 mul.w r2, r1, r2 803a3fe: 1a9a subs r2, r3, r2 803a400: 4b95 ldr r3, [pc, #596] ; (803a658 ) 803a402: fba3 1302 umull r1, r3, r3, r2 803a406: 0b5b lsrs r3, r3, #13 803a408: f242 7110 movw r1, #10000 ; 0x2710 803a40c: fb01 f303 mul.w r3, r1, r3 803a410: 1ad3 subs r3, r2, r3 803a412: 4a92 ldr r2, [pc, #584] ; (803a65c ) 803a414: fba2 1203 umull r1, r2, r2, r3 803a418: 0992 lsrs r2, r2, #6 803a41a: f44f 717a mov.w r1, #1000 ; 0x3e8 803a41e: fb01 f202 mul.w r2, r1, r2 803a422: 1a9a subs r2, r3, r2 803a424: 4b8e ldr r3, [pc, #568] ; (803a660 ) 803a426: fba3 2302 umull r2, r3, r3, r2 803a42a: 095b lsrs r3, r3, #5 803a42c: b2db uxtb r3, r3 803a42e: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803a432: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a436: 0953 lsrs r3, r2, #5 803a438: 4985 ldr r1, [pc, #532] ; (803a650 ) 803a43a: fba1 1303 umull r1, r3, r1, r3 803a43e: 09db lsrs r3, r3, #7 803a440: 4984 ldr r1, [pc, #528] ; (803a654 ) 803a442: fb01 f303 mul.w r3, r1, r3 803a446: 1ad3 subs r3, r2, r3 803a448: 4a83 ldr r2, [pc, #524] ; (803a658 ) 803a44a: fba2 1203 umull r1, r2, r2, r3 803a44e: 0b52 lsrs r2, r2, #13 803a450: f242 7110 movw r1, #10000 ; 0x2710 803a454: fb01 f202 mul.w r2, r1, r2 803a458: 1a9a subs r2, r3, r2 803a45a: 4b80 ldr r3, [pc, #512] ; (803a65c ) 803a45c: fba3 1302 umull r1, r3, r3, r2 803a460: 099b lsrs r3, r3, #6 803a462: f44f 717a mov.w r1, #1000 ; 0x3e8 803a466: fb01 f303 mul.w r3, r1, r3 803a46a: 1ad3 subs r3, r2, r3 803a46c: 4a7c ldr r2, [pc, #496] ; (803a660 ) 803a46e: fba2 1203 umull r1, r2, r2, r3 803a472: 0952 lsrs r2, r2, #5 803a474: 2164 movs r1, #100 ; 0x64 803a476: fb01 f202 mul.w r2, r1, r2 803a47a: 1a9a subs r2, r3, r2 803a47c: 4b79 ldr r3, [pc, #484] ; (803a664 ) 803a47e: fba3 2302 umull r2, r3, r3, r2 803a482: 08db lsrs r3, r3, #3 803a484: b2db uxtb r3, r3 803a486: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803a48a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a48e: 0953 lsrs r3, r2, #5 803a490: 496f ldr r1, [pc, #444] ; (803a650 ) 803a492: fba1 1303 umull r1, r3, r1, r3 803a496: 09db lsrs r3, r3, #7 803a498: 496e ldr r1, [pc, #440] ; (803a654 ) 803a49a: fb01 f303 mul.w r3, r1, r3 803a49e: 1ad3 subs r3, r2, r3 803a4a0: 4a6d ldr r2, [pc, #436] ; (803a658 ) 803a4a2: fba2 1203 umull r1, r2, r2, r3 803a4a6: 0b52 lsrs r2, r2, #13 803a4a8: f242 7110 movw r1, #10000 ; 0x2710 803a4ac: fb01 f202 mul.w r2, r1, r2 803a4b0: 1a9a subs r2, r3, r2 803a4b2: 4b6a ldr r3, [pc, #424] ; (803a65c ) 803a4b4: fba3 1302 umull r1, r3, r3, r2 803a4b8: 099b lsrs r3, r3, #6 803a4ba: f44f 717a mov.w r1, #1000 ; 0x3e8 803a4be: fb01 f303 mul.w r3, r1, r3 803a4c2: 1ad3 subs r3, r2, r3 803a4c4: 4a66 ldr r2, [pc, #408] ; (803a660 ) 803a4c6: fba2 1203 umull r1, r2, r2, r3 803a4ca: 0952 lsrs r2, r2, #5 803a4cc: 2164 movs r1, #100 ; 0x64 803a4ce: fb01 f202 mul.w r2, r1, r2 803a4d2: 1a9a subs r2, r3, r2 803a4d4: 4b63 ldr r3, [pc, #396] ; (803a664 ) 803a4d6: fba3 1302 umull r1, r3, r3, r2 803a4da: 08d9 lsrs r1, r3, #3 803a4dc: 460b mov r3, r1 803a4de: 009b lsls r3, r3, #2 803a4e0: 440b add r3, r1 803a4e2: 005b lsls r3, r3, #1 803a4e4: 1ad1 subs r1, r2, r3 803a4e6: b2cb uxtb r3, r1 803a4e8: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803a4ec: 4b57 ldr r3, [pc, #348] ; (803a64c ) 803a4ee: 781b ldrb r3, [r3, #0] 803a4f0: b2db uxtb r3, r3 803a4f2: 3b19 subs r3, #25 803a4f4: 2b05 cmp r3, #5 803a4f6: d837 bhi.n 803a568 803a4f8: a201 add r2, pc, #4 ; (adr r2, 803a500 ) 803a4fa: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803a4fe: bf00 nop 803a500: 0803a519 .word 0x0803a519 803a504: 0803a527 .word 0x0803a527 803a508: 0803a537 .word 0x0803a537 803a50c: 0803a545 .word 0x0803a545 803a510: 0803a551 .word 0x0803a551 803a514: 0803a55d .word 0x0803a55d k += 100000; 803a518: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a51c: 4b4d ldr r3, [pc, #308] ; (803a654 ) 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 fl = (float32_t) k; 803a568: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a56c: ee07 3a90 vmov s15, r3 803a570: eef8 7a67 vcvt.f32.u32 s15, s15 803a574: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803a578: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a57c: ed9f 7a31 vldr s14, [pc, #196] ; 803a644 803a580: ee67 7a87 vmul.f32 s15, s15, s14 803a584: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803a588: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a58c: ed9f 7a36 vldr s14, [pc, #216] ; 803a668 803a590: ee77 7a87 vadd.f32 s15, s15, s14 803a594: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 803a598: 4b29 ldr r3, [pc, #164] ; (803a640 ) 803a59a: 785b ldrb r3, [r3, #1] 803a59c: b2db uxtb r3, r3 803a59e: 2b00 cmp r3, #0 803a5a0: d13d bne.n 803a61e if(fl < 0.5f) 803a5a2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a5a6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 803a5aa: eef4 7ac7 vcmpe.f32 s15, s14 803a5ae: eef1 fa10 vmrs APSR_nzcv, fpscr 803a5b2: d505 bpl.n 803a5c0 pardata.HP = 0.5f; 803a5b4: 4b22 ldr r3, [pc, #136] ; (803a640 ) 803a5b6: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 803a5ba: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803a5be: e255 b.n 803aa6c if(fl > pardata.LP) 803a5c0: 4b1f ldr r3, [pc, #124] ; (803a640 ) 803a5c2: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803a5c6: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a5ca: eeb4 7ae7 vcmpe.f32 s14, s15 803a5ce: eef1 fa10 vmrs APSR_nzcv, fpscr 803a5d2: d506 bpl.n 803a5e2 pardata.HP = pardata.LP; 803a5d4: 4b1a ldr r3, [pc, #104] ; (803a640 ) 803a5d6: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 803a5da: 4a19 ldr r2, [pc, #100] ; (803a640 ) 803a5dc: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 803a5e0: e244 b.n 803aa6c pardata.HP = (float32_t) k; 803a5e2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a5e6: ee07 3a90 vmov s15, r3 803a5ea: eef8 7a67 vcvt.f32.u32 s15, s15 803a5ee: 4b14 ldr r3, [pc, #80] ; (803a640 ) 803a5f0: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803a5f4: 4b12 ldr r3, [pc, #72] ; (803a640 ) 803a5f6: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803a5fa: ed9f 7a12 vldr s14, [pc, #72] ; 803a644 803a5fe: ee67 7a87 vmul.f32 s15, s15, s14 803a602: 4b0f ldr r3, [pc, #60] ; (803a640 ) 803a604: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 803a608: 4b0d ldr r3, [pc, #52] ; (803a640 ) 803a60a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803a60e: ed9f 7a16 vldr s14, [pc, #88] ; 803a668 803a612: ee77 7a87 vadd.f32 s15, s15, s14 803a616: 4b0a ldr r3, [pc, #40] ; (803a640 ) 803a618: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803a61c: e226 b.n 803aa6c if(fl < 2.0f) 803a61e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a622: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 803a626: eef4 7ac7 vcmpe.f32 s15, s14 803a62a: eef1 fa10 vmrs APSR_nzcv, fpscr 803a62e: d51d bpl.n 803a66c pardata.HP = 2.0f; 803a630: 4b03 ldr r3, [pc, #12] ; (803a640 ) 803a632: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 803a636: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803a63a: e217 b.n 803aa6c 803a63c: 000f423f .word 0x000f423f 803a640: 20023eb8 .word 0x20023eb8 803a644: 3dcccccd .word 0x3dcccccd 803a648: 3d4ccccd .word 0x3d4ccccd 803a64c: 20020070 .word 0x20020070 803a650: 0a7c5ac5 .word 0x0a7c5ac5 803a654: 000186a0 .word 0x000186a0 803a658: d1b71759 .word 0xd1b71759 803a65c: 10624dd3 .word 0x10624dd3 803a660: 51eb851f .word 0x51eb851f 803a664: cccccccd .word 0xcccccccd 803a668: 38d1b717 .word 0x38d1b717 if(fl > pardata.LP) 803a66c: 4bd2 ldr r3, [pc, #840] ; (803a9b8 ) 803a66e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803a672: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a676: eeb4 7ae7 vcmpe.f32 s14, s15 803a67a: eef1 fa10 vmrs APSR_nzcv, fpscr 803a67e: d506 bpl.n 803a68e pardata.HP = pardata.LP; 803a680: 4bcd ldr r3, [pc, #820] ; (803a9b8 ) 803a682: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 803a686: 4acc ldr r2, [pc, #816] ; (803a9b8 ) 803a688: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 803a68c: e1ee b.n 803aa6c pardata.HP = (float32_t) k; 803a68e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a692: ee07 3a90 vmov s15, r3 803a696: eef8 7a67 vcvt.f32.u32 s15, s15 803a69a: 4bc7 ldr r3, [pc, #796] ; (803a9b8 ) 803a69c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803a6a0: 4bc5 ldr r3, [pc, #788] ; (803a9b8 ) 803a6a2: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803a6a6: ed9f 7ac5 vldr s14, [pc, #788] ; 803a9bc 803a6aa: ee67 7a87 vmul.f32 s15, s15, s14 803a6ae: 4bc2 ldr r3, [pc, #776] ; (803a9b8 ) 803a6b0: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 803a6b4: 4bc0 ldr r3, [pc, #768] ; (803a9b8 ) 803a6b6: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803a6ba: ed9f 7ac1 vldr s14, [pc, #772] ; 803a9c0 803a6be: ee77 7a87 vadd.f32 s15, s15, s14 803a6c2: 4bbd ldr r3, [pc, #756] ; (803a9b8 ) 803a6c4: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803a6c8: e1d0 b.n 803aa6c if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 803a6ca: 4bbe ldr r3, [pc, #760] ; (803a9c4 ) 803a6cc: 781b ldrb r3, [r3, #0] 803a6ce: b2db uxtb r3, r3 803a6d0: 2b1e cmp r3, #30 803a6d2: f240 86e0 bls.w 803b496 803a6d6: 4bbb ldr r3, [pc, #748] ; (803a9c4 ) 803a6d8: 781b ldrb r3, [r3, #0] 803a6da: b2db uxtb r3, r3 803a6dc: 2b24 cmp r3, #36 ; 0x24 803a6de: f200 86da bhi.w 803b496 k = (uint32_t) (pardata.LP * 10.0f); 803a6e2: 4bb5 ldr r3, [pc, #724] ; (803a9b8 ) 803a6e4: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803a6e8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803a6ec: ee67 7a87 vmul.f32 s15, s15, s14 803a6f0: eefc 7ae7 vcvt.u32.f32 s15, s15 803a6f4: ee17 3a90 vmov r3, s15 803a6f8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803a6fc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a700: 095b lsrs r3, r3, #5 803a702: 4ab1 ldr r2, [pc, #708] ; (803a9c8 ) 803a704: fba2 2303 umull r2, r3, r2, r3 803a708: 09db lsrs r3, r3, #7 803a70a: b2db uxtb r3, r3 803a70c: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803a710: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a714: 0953 lsrs r3, r2, #5 803a716: 49ac ldr r1, [pc, #688] ; (803a9c8 ) 803a718: fba1 1303 umull r1, r3, r1, r3 803a71c: 09db lsrs r3, r3, #7 803a71e: 49ab ldr r1, [pc, #684] ; (803a9cc ) 803a720: fb01 f303 mul.w r3, r1, r3 803a724: 1ad3 subs r3, r2, r3 803a726: 4aaa ldr r2, [pc, #680] ; (803a9d0 ) 803a728: fba2 2303 umull r2, r3, r2, r3 803a72c: 0b5b lsrs r3, r3, #13 803a72e: b2db uxtb r3, r3 803a730: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803a734: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a738: 0953 lsrs r3, r2, #5 803a73a: 49a3 ldr r1, [pc, #652] ; (803a9c8 ) 803a73c: fba1 1303 umull r1, r3, r1, r3 803a740: 09db lsrs r3, r3, #7 803a742: 49a2 ldr r1, [pc, #648] ; (803a9cc ) 803a744: fb01 f303 mul.w r3, r1, r3 803a748: 1ad3 subs r3, r2, r3 803a74a: 4aa1 ldr r2, [pc, #644] ; (803a9d0 ) 803a74c: fba2 1203 umull r1, r2, r2, r3 803a750: 0b52 lsrs r2, r2, #13 803a752: f242 7110 movw r1, #10000 ; 0x2710 803a756: fb01 f202 mul.w r2, r1, r2 803a75a: 1a9a subs r2, r3, r2 803a75c: 4b9d ldr r3, [pc, #628] ; (803a9d4 ) 803a75e: fba3 2302 umull r2, r3, r3, r2 803a762: 099b lsrs r3, r3, #6 803a764: b2db uxtb r3, r3 803a766: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803a76a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a76e: 095a lsrs r2, r3, #5 803a770: 4995 ldr r1, [pc, #596] ; (803a9c8 ) 803a772: fba1 1202 umull r1, r2, r1, r2 803a776: 09d2 lsrs r2, r2, #7 803a778: 4994 ldr r1, [pc, #592] ; (803a9cc ) 803a77a: fb01 f202 mul.w r2, r1, r2 803a77e: 1a9a subs r2, r3, r2 803a780: 4b93 ldr r3, [pc, #588] ; (803a9d0 ) 803a782: fba3 1302 umull r1, r3, r3, r2 803a786: 0b5b lsrs r3, r3, #13 803a788: f242 7110 movw r1, #10000 ; 0x2710 803a78c: fb01 f303 mul.w r3, r1, r3 803a790: 1ad3 subs r3, r2, r3 803a792: 4a90 ldr r2, [pc, #576] ; (803a9d4 ) 803a794: fba2 1203 umull r1, r2, r2, r3 803a798: 0992 lsrs r2, r2, #6 803a79a: f44f 717a mov.w r1, #1000 ; 0x3e8 803a79e: fb01 f202 mul.w r2, r1, r2 803a7a2: 1a9a subs r2, r3, r2 803a7a4: 4b8c ldr r3, [pc, #560] ; (803a9d8 ) 803a7a6: fba3 2302 umull r2, r3, r3, r2 803a7aa: 095b lsrs r3, r3, #5 803a7ac: b2db uxtb r3, r3 803a7ae: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803a7b2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a7b6: 0953 lsrs r3, r2, #5 803a7b8: 4983 ldr r1, [pc, #524] ; (803a9c8 ) 803a7ba: fba1 1303 umull r1, r3, r1, r3 803a7be: 09db lsrs r3, r3, #7 803a7c0: 4982 ldr r1, [pc, #520] ; (803a9cc ) 803a7c2: fb01 f303 mul.w r3, r1, r3 803a7c6: 1ad3 subs r3, r2, r3 803a7c8: 4a81 ldr r2, [pc, #516] ; (803a9d0 ) 803a7ca: fba2 1203 umull r1, r2, r2, r3 803a7ce: 0b52 lsrs r2, r2, #13 803a7d0: f242 7110 movw r1, #10000 ; 0x2710 803a7d4: fb01 f202 mul.w r2, r1, r2 803a7d8: 1a9a subs r2, r3, r2 803a7da: 4b7e ldr r3, [pc, #504] ; (803a9d4 ) 803a7dc: fba3 1302 umull r1, r3, r3, r2 803a7e0: 099b lsrs r3, r3, #6 803a7e2: f44f 717a mov.w r1, #1000 ; 0x3e8 803a7e6: fb01 f303 mul.w r3, r1, r3 803a7ea: 1ad3 subs r3, r2, r3 803a7ec: 4a7a ldr r2, [pc, #488] ; (803a9d8 ) 803a7ee: fba2 1203 umull r1, r2, r2, r3 803a7f2: 0952 lsrs r2, r2, #5 803a7f4: 2164 movs r1, #100 ; 0x64 803a7f6: fb01 f202 mul.w r2, r1, r2 803a7fa: 1a9a subs r2, r3, r2 803a7fc: 4b77 ldr r3, [pc, #476] ; (803a9dc ) 803a7fe: fba3 2302 umull r2, r3, r3, r2 803a802: 08db lsrs r3, r3, #3 803a804: b2db uxtb r3, r3 803a806: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803a80a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a80e: 0953 lsrs r3, r2, #5 803a810: 496d ldr r1, [pc, #436] ; (803a9c8 ) 803a812: fba1 1303 umull r1, r3, r1, r3 803a816: 09db lsrs r3, r3, #7 803a818: 496c ldr r1, [pc, #432] ; (803a9cc ) 803a81a: fb01 f303 mul.w r3, r1, r3 803a81e: 1ad3 subs r3, r2, r3 803a820: 4a6b ldr r2, [pc, #428] ; (803a9d0 ) 803a822: fba2 1203 umull r1, r2, r2, r3 803a826: 0b52 lsrs r2, r2, #13 803a828: f242 7110 movw r1, #10000 ; 0x2710 803a82c: fb01 f202 mul.w r2, r1, r2 803a830: 1a9a subs r2, r3, r2 803a832: 4b68 ldr r3, [pc, #416] ; (803a9d4 ) 803a834: fba3 1302 umull r1, r3, r3, r2 803a838: 099b lsrs r3, r3, #6 803a83a: f44f 717a mov.w r1, #1000 ; 0x3e8 803a83e: fb01 f303 mul.w r3, r1, r3 803a842: 1ad3 subs r3, r2, r3 803a844: 4a64 ldr r2, [pc, #400] ; (803a9d8 ) 803a846: fba2 1203 umull r1, r2, r2, r3 803a84a: 0952 lsrs r2, r2, #5 803a84c: 2164 movs r1, #100 ; 0x64 803a84e: fb01 f202 mul.w r2, r1, r2 803a852: 1a9a subs r2, r3, r2 803a854: 4b61 ldr r3, [pc, #388] ; (803a9dc ) 803a856: fba3 1302 umull r1, r3, r3, r2 803a85a: 08d9 lsrs r1, r3, #3 803a85c: 460b mov r3, r1 803a85e: 009b lsls r3, r3, #2 803a860: 440b add r3, r1 803a862: 005b lsls r3, r3, #1 803a864: 1ad1 subs r1, r2, r3 803a866: b2cb uxtb r3, r1 803a868: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803a86c: 4b55 ldr r3, [pc, #340] ; (803a9c4 ) 803a86e: 781b ldrb r3, [r3, #0] 803a870: b2db uxtb r3, r3 803a872: 3b1f subs r3, #31 803a874: 2b05 cmp r3, #5 803a876: d837 bhi.n 803a8e8 803a878: a201 add r2, pc, #4 ; (adr r2, 803a880 ) 803a87a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803a87e: bf00 nop 803a880: 0803a899 .word 0x0803a899 803a884: 0803a8a7 .word 0x0803a8a7 803a888: 0803a8b7 .word 0x0803a8b7 803a88c: 0803a8c5 .word 0x0803a8c5 803a890: 0803a8d1 .word 0x0803a8d1 803a894: 0803a8dd .word 0x0803a8dd k += 100000; 803a898: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a89c: 4b4b ldr r3, [pc, #300] ; (803a9cc ) 803a89e: 4413 add r3, r2 803a8a0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a8a4: e020 b.n 803a8e8 k += 10000; 803a8a6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a8aa: f242 7310 movw r3, #10000 ; 0x2710 803a8ae: 4413 add r3, r2 803a8b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a8b4: e018 b.n 803a8e8 k += 1000; 803a8b6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a8ba: f503 737a add.w r3, r3, #1000 ; 0x3e8 803a8be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a8c2: e011 b.n 803a8e8 k += 100; 803a8c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a8c8: 3364 adds r3, #100 ; 0x64 803a8ca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a8ce: e00b b.n 803a8e8 k += 10; 803a8d0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a8d4: 330a adds r3, #10 803a8d6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a8da: e005 b.n 803a8e8 k++; 803a8dc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a8e0: 3301 adds r3, #1 803a8e2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a8e6: bf00 nop fl = (float32_t) k; 803a8e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a8ec: ee07 3a90 vmov s15, r3 803a8f0: eef8 7a67 vcvt.f32.u32 s15, s15 803a8f4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803a8f8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a8fc: ed9f 7a2f vldr s14, [pc, #188] ; 803a9bc 803a900: ee67 7a87 vmul.f32 s15, s15, s14 803a904: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803a908: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a90c: ed9f 7a2c vldr s14, [pc, #176] ; 803a9c0 803a910: ee77 7a87 vadd.f32 s15, s15, s14 803a914: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 803a918: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a91c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803a920: eef4 7ac7 vcmpe.f32 s15, s14 803a924: eef1 fa10 vmrs APSR_nzcv, fpscr 803a928: d504 bpl.n 803a934 pardata.LP = 10.0f; 803a92a: 4b23 ldr r3, [pc, #140] ; (803a9b8 ) 803a92c: 4a2c ldr r2, [pc, #176] ; (803a9e0 ) 803a92e: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 803a932: e03c b.n 803a9ae if(pardata.LP < pardata.HP) 803a934: 4b20 ldr r3, [pc, #128] ; (803a9b8 ) 803a936: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803a93a: 4b1f ldr r3, [pc, #124] ; (803a9b8 ) 803a93c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803a940: eeb4 7ae7 vcmpe.f32 s14, s15 803a944: eef1 fa10 vmrs APSR_nzcv, fpscr 803a948: d506 bpl.n 803a958 pardata.LP = pardata.HP; 803a94a: 4b1b ldr r3, [pc, #108] ; (803a9b8 ) 803a94c: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 803a950: 4a19 ldr r2, [pc, #100] ; (803a9b8 ) 803a952: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 803a956: e02a b.n 803a9ae if(fl > 12800.0f) 803a958: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a95c: ed9f 7a21 vldr s14, [pc, #132] ; 803a9e4 803a960: eef4 7ac7 vcmpe.f32 s15, s14 803a964: eef1 fa10 vmrs APSR_nzcv, fpscr 803a968: dd04 ble.n 803a974 pardata.LP = 12800.0f; 803a96a: 4b13 ldr r3, [pc, #76] ; (803a9b8 ) 803a96c: 4a1e ldr r2, [pc, #120] ; (803a9e8 ) 803a96e: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 803a972: e01c b.n 803a9ae pardata.LP = (float32_t) k; 803a974: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a978: ee07 3a90 vmov s15, r3 803a97c: eef8 7a67 vcvt.f32.u32 s15, s15 803a980: 4b0d ldr r3, [pc, #52] ; (803a9b8 ) 803a982: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 803a986: 4b0c ldr r3, [pc, #48] ; (803a9b8 ) 803a988: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803a98c: ed9f 7a0b vldr s14, [pc, #44] ; 803a9bc 803a990: ee67 7a87 vmul.f32 s15, s15, s14 803a994: 4b08 ldr r3, [pc, #32] ; (803a9b8 ) 803a996: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 803a99a: 4b07 ldr r3, [pc, #28] ; (803a9b8 ) 803a99c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803a9a0: ed9f 7a07 vldr s14, [pc, #28] ; 803a9c0 803a9a4: ee77 7a87 vadd.f32 s15, s15, s14 803a9a8: 4b03 ldr r3, [pc, #12] ; (803a9b8 ) 803a9aa: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 k = _64000Hz; 803a9ae: 2309 movs r3, #9 803a9b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 803a9b4: e054 b.n 803aa60 803a9b6: bf00 nop 803a9b8: 20023eb8 .word 0x20023eb8 803a9bc: 3dcccccd .word 0x3dcccccd 803a9c0: 38d1b717 .word 0x38d1b717 803a9c4: 20020070 .word 0x20020070 803a9c8: 0a7c5ac5 .word 0x0a7c5ac5 803a9cc: 000186a0 .word 0x000186a0 803a9d0: d1b71759 .word 0xd1b71759 803a9d4: 10624dd3 .word 0x10624dd3 803a9d8: 51eb851f .word 0x51eb851f 803a9dc: cccccccd .word 0xcccccccd 803a9e0: 41200000 .word 0x41200000 803a9e4: 46480000 .word 0x46480000 803a9e8: 46480000 .word 0x46480000 f = (float32_t) FS[k] / pardata.LP; 803a9ec: 4aca ldr r2, [pc, #808] ; (803ad18 ) 803a9ee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a9f2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 803a9f6: ee07 3a90 vmov s15, r3 803a9fa: eef8 6a67 vcvt.f32.u32 s13, s15 803a9fe: 4bc7 ldr r3, [pc, #796] ; (803ad1c ) 803aa00: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803aa04: eec6 7a87 vdiv.f32 s15, s13, s14 803aa08: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 803aa0c: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 803aa10: ed9f 7ac3 vldr s14, [pc, #780] ; 803ad20 803aa14: ee77 7a87 vadd.f32 s15, s15, s14 803aa18: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 803aa1c: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 803aa20: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 803aa24: eef4 7ac7 vcmpe.f32 s15, s14 803aa28: eef1 fa10 vmrs APSR_nzcv, fpscr 803aa2c: d507 bpl.n 803aa3e pardata.FRQ = k + 1; 803aa2e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aa32: b2db uxtb r3, r3 803aa34: 3301 adds r3, #1 803aa36: b2da uxtb r2, r3 803aa38: 4bb8 ldr r3, [pc, #736] ; (803ad1c ) 803aa3a: 72da strb r2, [r3, #11] break; 803aa3c: e016 b.n 803aa6c if(k > 0) 803aa3e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aa42: 2b00 cmp r3, #0 803aa44: d004 beq.n 803aa50 k--; 803aa46: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aa4a: 3b01 subs r3, #1 803aa4c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 803aa50: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aa54: 2b00 cmp r3, #0 803aa56: d103 bne.n 803aa60 pardata.FRQ = _125Hz; 803aa58: 4bb0 ldr r3, [pc, #704] ; (803ad1c ) 803aa5a: 2200 movs r2, #0 803aa5c: 72da strb r2, [r3, #11] break; 803aa5e: e005 b.n 803aa6c while(k > _125Hz) 803aa60: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aa64: 2b00 cmp r3, #0 803aa66: d1c1 bne.n 803a9ec break; 803aa68: f000 bd15 b.w 803b496 803aa6c: f000 bd13 b.w 803b496 if(menupos == Ok) 803aa70: 4bac ldr r3, [pc, #688] ; (803ad24 ) 803aa72: 781b ldrb r3, [r3, #0] 803aa74: b2db uxtb r3, r3 803aa76: 2b00 cmp r3, #0 803aa78: d110 bne.n 803aa9c if(pardata.OPTIONS & 0x4) 803aa7a: 4ba8 ldr r3, [pc, #672] ; (803ad1c ) 803aa7c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803aa80: f003 0304 and.w r3, r3, #4 803aa84: 2b00 cmp r3, #0 803aa86: d004 beq.n 803aa92 menupos = VibAutoKu; 803aa88: 4ba6 ldr r3, [pc, #664] ; (803ad24 ) 803aa8a: 2208 movs r2, #8 803aa8c: 701a strb r2, [r3, #0] break; 803aa8e: f000 bd05 b.w 803b49c else menupos = VibMax_ALL; 803aa92: 4ba4 ldr r3, [pc, #656] ; (803ad24 ) 803aa94: 2209 movs r2, #9 803aa96: 701a strb r2, [r3, #0] break; 803aa98: f000 bd00 b.w 803b49c if(menupos == VibMax_ALL) 803aa9c: 4ba1 ldr r3, [pc, #644] ; (803ad24 ) 803aa9e: 781b ldrb r3, [r3, #0] 803aaa0: b2db uxtb r3, r3 803aaa2: 2b09 cmp r3, #9 803aaa4: d104 bne.n 803aab0 menupos = VibAutoKu; 803aaa6: 4b9f ldr r3, [pc, #636] ; (803ad24 ) 803aaa8: 2208 movs r2, #8 803aaaa: 701a strb r2, [r3, #0] break; 803aaac: f000 bcf6 b.w 803b49c if(menupos == VibAutoKu) 803aab0: 4b9c ldr r3, [pc, #624] ; (803ad24 ) 803aab2: 781b ldrb r3, [r3, #0] 803aab4: b2db uxtb r3, r3 803aab6: 2b08 cmp r3, #8 803aab8: d104 bne.n 803aac4 menupos = SAverage; 803aaba: 4b9a ldr r3, [pc, #616] ; (803ad24 ) 803aabc: 2207 movs r2, #7 803aabe: 701a strb r2, [r3, #0] break; 803aac0: f000 bcec b.w 803b49c if(menupos == SAverage) 803aac4: 4b97 ldr r3, [pc, #604] ; (803ad24 ) 803aac6: 781b ldrb r3, [r3, #0] 803aac8: b2db uxtb r3, r3 803aaca: 2b07 cmp r3, #7 803aacc: d104 bne.n 803aad8 menupos = LinLog; 803aace: 4b95 ldr r3, [pc, #596] ; (803ad24 ) 803aad0: 2205 movs r2, #5 803aad2: 701a strb r2, [r3, #0] break; 803aad4: f000 bce2 b.w 803b49c if(menupos == LinLog) 803aad8: 4b92 ldr r3, [pc, #584] ; (803ad24 ) 803aada: 781b ldrb r3, [r3, #0] 803aadc: b2db uxtb r3, r3 803aade: 2b05 cmp r3, #5 803aae0: d104 bne.n 803aaec menupos = FilterLP; 803aae2: 4b90 ldr r3, [pc, #576] ; (803ad24 ) 803aae4: 2218 movs r2, #24 803aae6: 701a strb r2, [r3, #0] break; 803aae8: f000 bcd8 b.w 803b49c if(menupos == FilterLP) 803aaec: 4b8d ldr r3, [pc, #564] ; (803ad24 ) 803aaee: 781b ldrb r3, [r3, #0] 803aaf0: b2db uxtb r3, r3 803aaf2: 2b18 cmp r3, #24 803aaf4: d104 bne.n 803ab00 menupos = FilterHP; 803aaf6: 4b8b ldr r3, [pc, #556] ; (803ad24 ) 803aaf8: 2217 movs r2, #23 803aafa: 701a strb r2, [r3, #0] break; 803aafc: f000 bcce b.w 803b49c if(menupos == FilterHP) 803ab00: 4b88 ldr r3, [pc, #544] ; (803ad24 ) 803ab02: 781b ldrb r3, [r3, #0] 803ab04: b2db uxtb r3, r3 803ab06: 2b17 cmp r3, #23 803ab08: d104 bne.n 803ab14 menupos = SpecValue; 803ab0a: 4b86 ldr r3, [pc, #536] ; (803ad24 ) 803ab0c: 2202 movs r2, #2 803ab0e: 701a strb r2, [r3, #0] break; 803ab10: f000 bcc4 b.w 803b49c if(menupos == SpecValue) 803ab14: 4b83 ldr r3, [pc, #524] ; (803ad24 ) 803ab16: 781b ldrb r3, [r3, #0] 803ab18: b2db uxtb r3, r3 803ab1a: 2b02 cmp r3, #2 803ab1c: d104 bne.n 803ab28 menupos = SpecType; 803ab1e: 4b81 ldr r3, [pc, #516] ; (803ad24 ) 803ab20: 2201 movs r2, #1 803ab22: 701a strb r2, [r3, #0] break; 803ab24: f000 bcba b.w 803b49c if(menupos == SpecType) 803ab28: 4b7e ldr r3, [pc, #504] ; (803ad24 ) 803ab2a: 781b ldrb r3, [r3, #0] 803ab2c: b2db uxtb r3, r3 803ab2e: 2b01 cmp r3, #1 803ab30: d104 bne.n 803ab3c menupos = Ok; 803ab32: 4b7c ldr r3, [pc, #496] ; (803ad24 ) 803ab34: 2200 movs r2, #0 803ab36: 701a strb r2, [r3, #0] break; 803ab38: f000 bcb0 b.w 803b49c if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 803ab3c: 4b79 ldr r3, [pc, #484] ; (803ad24 ) 803ab3e: 781b ldrb r3, [r3, #0] 803ab40: b2db uxtb r3, r3 803ab42: 2b0a cmp r3, #10 803ab44: f240 814a bls.w 803addc 803ab48: 4b76 ldr r3, [pc, #472] ; (803ad24 ) 803ab4a: 781b ldrb r3, [r3, #0] 803ab4c: b2db uxtb r3, r3 803ab4e: 2b10 cmp r3, #16 803ab50: f200 8144 bhi.w 803addc k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803ab54: 4b71 ldr r3, [pc, #452] ; (803ad1c ) 803ab56: edd3 7a06 vldr s15, [r3, #24] 803ab5a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803ab5e: ee67 7a87 vmul.f32 s15, s15, s14 803ab62: eefc 7ae7 vcvt.u32.f32 s15, s15 803ab66: ee17 3a90 vmov r3, s15 803ab6a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803ab6e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ab72: 095b lsrs r3, r3, #5 803ab74: 4a6c ldr r2, [pc, #432] ; (803ad28 ) 803ab76: fba2 2303 umull r2, r3, r2, r3 803ab7a: 09db lsrs r3, r3, #7 803ab7c: b2db uxtb r3, r3 803ab7e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803ab82: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ab86: 0953 lsrs r3, r2, #5 803ab88: 4967 ldr r1, [pc, #412] ; (803ad28 ) 803ab8a: fba1 1303 umull r1, r3, r1, r3 803ab8e: 09db lsrs r3, r3, #7 803ab90: 4966 ldr r1, [pc, #408] ; (803ad2c ) 803ab92: fb01 f303 mul.w r3, r1, r3 803ab96: 1ad3 subs r3, r2, r3 803ab98: 4a65 ldr r2, [pc, #404] ; (803ad30 ) 803ab9a: fba2 2303 umull r2, r3, r2, r3 803ab9e: 0b5b lsrs r3, r3, #13 803aba0: b2db uxtb r3, r3 803aba2: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803aba6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803abaa: 0953 lsrs r3, r2, #5 803abac: 495e ldr r1, [pc, #376] ; (803ad28 ) 803abae: fba1 1303 umull r1, r3, r1, r3 803abb2: 09db lsrs r3, r3, #7 803abb4: 495d ldr r1, [pc, #372] ; (803ad2c ) 803abb6: fb01 f303 mul.w r3, r1, r3 803abba: 1ad3 subs r3, r2, r3 803abbc: 4a5c ldr r2, [pc, #368] ; (803ad30 ) 803abbe: fba2 1203 umull r1, r2, r2, r3 803abc2: 0b52 lsrs r2, r2, #13 803abc4: f242 7110 movw r1, #10000 ; 0x2710 803abc8: fb01 f202 mul.w r2, r1, r2 803abcc: 1a9a subs r2, r3, r2 803abce: 4b59 ldr r3, [pc, #356] ; (803ad34 ) 803abd0: fba3 2302 umull r2, r3, r3, r2 803abd4: 099b lsrs r3, r3, #6 803abd6: b2db uxtb r3, r3 803abd8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803abdc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803abe0: 095a lsrs r2, r3, #5 803abe2: 4951 ldr r1, [pc, #324] ; (803ad28 ) 803abe4: fba1 1202 umull r1, r2, r1, r2 803abe8: 09d2 lsrs r2, r2, #7 803abea: 4950 ldr r1, [pc, #320] ; (803ad2c ) 803abec: fb01 f202 mul.w r2, r1, r2 803abf0: 1a9a subs r2, r3, r2 803abf2: 4b4f ldr r3, [pc, #316] ; (803ad30 ) 803abf4: fba3 1302 umull r1, r3, r3, r2 803abf8: 0b5b lsrs r3, r3, #13 803abfa: f242 7110 movw r1, #10000 ; 0x2710 803abfe: fb01 f303 mul.w r3, r1, r3 803ac02: 1ad3 subs r3, r2, r3 803ac04: 4a4b ldr r2, [pc, #300] ; (803ad34 ) 803ac06: fba2 1203 umull r1, r2, r2, r3 803ac0a: 0992 lsrs r2, r2, #6 803ac0c: f44f 717a mov.w r1, #1000 ; 0x3e8 803ac10: fb01 f202 mul.w r2, r1, r2 803ac14: 1a9a subs r2, r3, r2 803ac16: 4b48 ldr r3, [pc, #288] ; (803ad38 ) 803ac18: fba3 2302 umull r2, r3, r3, r2 803ac1c: 095b lsrs r3, r3, #5 803ac1e: b2db uxtb r3, r3 803ac20: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803ac24: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ac28: 0953 lsrs r3, r2, #5 803ac2a: 493f ldr r1, [pc, #252] ; (803ad28 ) 803ac2c: fba1 1303 umull r1, r3, r1, r3 803ac30: 09db lsrs r3, r3, #7 803ac32: 493e ldr r1, [pc, #248] ; (803ad2c ) 803ac34: fb01 f303 mul.w r3, r1, r3 803ac38: 1ad3 subs r3, r2, r3 803ac3a: 4a3d ldr r2, [pc, #244] ; (803ad30 ) 803ac3c: fba2 1203 umull r1, r2, r2, r3 803ac40: 0b52 lsrs r2, r2, #13 803ac42: f242 7110 movw r1, #10000 ; 0x2710 803ac46: fb01 f202 mul.w r2, r1, r2 803ac4a: 1a9a subs r2, r3, r2 803ac4c: 4b39 ldr r3, [pc, #228] ; (803ad34 ) 803ac4e: fba3 1302 umull r1, r3, r3, r2 803ac52: 099b lsrs r3, r3, #6 803ac54: f44f 717a mov.w r1, #1000 ; 0x3e8 803ac58: fb01 f303 mul.w r3, r1, r3 803ac5c: 1ad3 subs r3, r2, r3 803ac5e: 4a36 ldr r2, [pc, #216] ; (803ad38 ) 803ac60: fba2 1203 umull r1, r2, r2, r3 803ac64: 0952 lsrs r2, r2, #5 803ac66: 2164 movs r1, #100 ; 0x64 803ac68: fb01 f202 mul.w r2, r1, r2 803ac6c: 1a9a subs r2, r3, r2 803ac6e: 4b33 ldr r3, [pc, #204] ; (803ad3c ) 803ac70: fba3 2302 umull r2, r3, r3, r2 803ac74: 08db lsrs r3, r3, #3 803ac76: b2db uxtb r3, r3 803ac78: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803ac7c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ac80: 0953 lsrs r3, r2, #5 803ac82: 4929 ldr r1, [pc, #164] ; (803ad28 ) 803ac84: fba1 1303 umull r1, r3, r1, r3 803ac88: 09db lsrs r3, r3, #7 803ac8a: 4928 ldr r1, [pc, #160] ; (803ad2c ) 803ac8c: fb01 f303 mul.w r3, r1, r3 803ac90: 1ad3 subs r3, r2, r3 803ac92: 4a27 ldr r2, [pc, #156] ; (803ad30 ) 803ac94: fba2 1203 umull r1, r2, r2, r3 803ac98: 0b52 lsrs r2, r2, #13 803ac9a: f242 7110 movw r1, #10000 ; 0x2710 803ac9e: fb01 f202 mul.w r2, r1, r2 803aca2: 1a9a subs r2, r3, r2 803aca4: 4b23 ldr r3, [pc, #140] ; (803ad34 ) 803aca6: fba3 1302 umull r1, r3, r3, r2 803acaa: 099b lsrs r3, r3, #6 803acac: f44f 717a mov.w r1, #1000 ; 0x3e8 803acb0: fb01 f303 mul.w r3, r1, r3 803acb4: 1ad3 subs r3, r2, r3 803acb6: 4a20 ldr r2, [pc, #128] ; (803ad38 ) 803acb8: fba2 1203 umull r1, r2, r2, r3 803acbc: 0952 lsrs r2, r2, #5 803acbe: 2164 movs r1, #100 ; 0x64 803acc0: fb01 f202 mul.w r2, r1, r2 803acc4: 1a9a subs r2, r3, r2 803acc6: 4b1d ldr r3, [pc, #116] ; (803ad3c ) 803acc8: fba3 1302 umull r1, r3, r3, r2 803accc: 08d9 lsrs r1, r3, #3 803acce: 460b mov r3, r1 803acd0: 009b lsls r3, r3, #2 803acd2: 440b add r3, r1 803acd4: 005b lsls r3, r3, #1 803acd6: 1ad1 subs r1, r2, r3 803acd8: b2cb uxtb r3, r1 803acda: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803acde: 4b11 ldr r3, [pc, #68] ; (803ad24 ) 803ace0: 781b ldrb r3, [r3, #0] 803ace2: b2db uxtb r3, r3 803ace4: 3b0b subs r3, #11 803ace6: 2b05 cmp r3, #5 803ace8: d84b bhi.n 803ad82 803acea: a201 add r2, pc, #4 ; (adr r2, 803acf0 ) 803acec: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803acf0: 0803ad09 .word 0x0803ad09 803acf4: 0803ad41 .word 0x0803ad41 803acf8: 0803ad51 .word 0x0803ad51 803acfc: 0803ad5f .word 0x0803ad5f 803ad00: 0803ad6b .word 0x0803ad6b 803ad04: 0803ad77 .word 0x0803ad77 k += 100000; 803ad08: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ad0c: 4b07 ldr r3, [pc, #28] ; (803ad2c ) 803ad0e: 4413 add r3, r2 803ad10: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ad14: e035 b.n 803ad82 803ad16: bf00 nop 803ad18: 080f5268 .word 0x080f5268 803ad1c: 20023eb8 .word 0x20023eb8 803ad20: 38d1b717 .word 0x38d1b717 803ad24: 20020070 .word 0x20020070 803ad28: 0a7c5ac5 .word 0x0a7c5ac5 803ad2c: 000186a0 .word 0x000186a0 803ad30: d1b71759 .word 0xd1b71759 803ad34: 10624dd3 .word 0x10624dd3 803ad38: 51eb851f .word 0x51eb851f 803ad3c: cccccccd .word 0xcccccccd k += 10000; 803ad40: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ad44: f242 7310 movw r3, #10000 ; 0x2710 803ad48: 4413 add r3, r2 803ad4a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ad4e: e018 b.n 803ad82 k += 1000; 803ad50: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ad54: f503 737a add.w r3, r3, #1000 ; 0x3e8 803ad58: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ad5c: e011 b.n 803ad82 k += 100; 803ad5e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ad62: 3364 adds r3, #100 ; 0x64 803ad64: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ad68: e00b b.n 803ad82 k += 10; 803ad6a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ad6e: 330a adds r3, #10 803ad70: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ad74: e005 b.n 803ad82 k++; 803ad76: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ad7a: 3301 adds r3, #1 803ad7c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ad80: bf00 nop if(k > 999999) k = 999999; 803ad82: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ad86: 4ad1 ldr r2, [pc, #836] ; (803b0cc ) 803ad88: 4293 cmp r3, r2 803ad8a: d902 bls.n 803ad92 803ad8c: 4bcf ldr r3, [pc, #828] ; (803b0cc ) 803ad8e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803ad92: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ad96: 2b00 cmp r3, #0 803ad98: d102 bne.n 803ada0 803ad9a: 2301 movs r3, #1 803ad9c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803ada0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ada4: ee07 3a90 vmov s15, r3 803ada8: eef8 7a67 vcvt.f32.u32 s15, s15 803adac: 4bc8 ldr r3, [pc, #800] ; (803b0d0 ) 803adae: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803adb2: 4bc7 ldr r3, [pc, #796] ; (803b0d0 ) 803adb4: edd3 7a06 vldr s15, [r3, #24] 803adb8: ed9f 7ac6 vldr s14, [pc, #792] ; 803b0d4 803adbc: ee67 7a87 vmul.f32 s15, s15, s14 803adc0: 4bc3 ldr r3, [pc, #780] ; (803b0d0 ) 803adc2: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803adc6: 4bc2 ldr r3, [pc, #776] ; (803b0d0 ) 803adc8: edd3 7a06 vldr s15, [r3, #24] 803adcc: ed9f 7ac2 vldr s14, [pc, #776] ; 803b0d8 803add0: ee77 7a87 vadd.f32 s15, s15, s14 803add4: 4bbe ldr r3, [pc, #760] ; (803b0d0 ) 803add6: edc3 7a06 vstr s15, [r3, #24] 803adda: e35b b.n 803b494 if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 803addc: 4bbf ldr r3, [pc, #764] ; (803b0dc ) 803adde: 781b ldrb r3, [r3, #0] 803ade0: b2db uxtb r3, r3 803ade2: 2b18 cmp r3, #24 803ade4: f240 81b9 bls.w 803b15a 803ade8: 4bbc ldr r3, [pc, #752] ; (803b0dc ) 803adea: 781b ldrb r3, [r3, #0] 803adec: b2db uxtb r3, r3 803adee: 2b1e cmp r3, #30 803adf0: f200 81b3 bhi.w 803b15a k = (uint32_t) (pardata.HP * 10.0f); 803adf4: 4bb6 ldr r3, [pc, #728] ; (803b0d0 ) 803adf6: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803adfa: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803adfe: ee67 7a87 vmul.f32 s15, s15, s14 803ae02: eefc 7ae7 vcvt.u32.f32 s15, s15 803ae06: ee17 3a90 vmov r3, s15 803ae0a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803ae0e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ae12: 095b lsrs r3, r3, #5 803ae14: 4ab2 ldr r2, [pc, #712] ; (803b0e0 ) 803ae16: fba2 2303 umull r2, r3, r2, r3 803ae1a: 09db lsrs r3, r3, #7 803ae1c: b2db uxtb r3, r3 803ae1e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803ae22: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ae26: 0953 lsrs r3, r2, #5 803ae28: 49ad ldr r1, [pc, #692] ; (803b0e0 ) 803ae2a: fba1 1303 umull r1, r3, r1, r3 803ae2e: 09db lsrs r3, r3, #7 803ae30: 49ac ldr r1, [pc, #688] ; (803b0e4 ) 803ae32: fb01 f303 mul.w r3, r1, r3 803ae36: 1ad3 subs r3, r2, r3 803ae38: 4aab ldr r2, [pc, #684] ; (803b0e8 ) 803ae3a: fba2 2303 umull r2, r3, r2, r3 803ae3e: 0b5b lsrs r3, r3, #13 803ae40: b2db uxtb r3, r3 803ae42: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803ae46: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ae4a: 0953 lsrs r3, r2, #5 803ae4c: 49a4 ldr r1, [pc, #656] ; (803b0e0 ) 803ae4e: fba1 1303 umull r1, r3, r1, r3 803ae52: 09db lsrs r3, r3, #7 803ae54: 49a3 ldr r1, [pc, #652] ; (803b0e4 ) 803ae56: fb01 f303 mul.w r3, r1, r3 803ae5a: 1ad3 subs r3, r2, r3 803ae5c: 4aa2 ldr r2, [pc, #648] ; (803b0e8 ) 803ae5e: fba2 1203 umull r1, r2, r2, r3 803ae62: 0b52 lsrs r2, r2, #13 803ae64: f242 7110 movw r1, #10000 ; 0x2710 803ae68: fb01 f202 mul.w r2, r1, r2 803ae6c: 1a9a subs r2, r3, r2 803ae6e: 4b9f ldr r3, [pc, #636] ; (803b0ec ) 803ae70: fba3 2302 umull r2, r3, r3, r2 803ae74: 099b lsrs r3, r3, #6 803ae76: b2db uxtb r3, r3 803ae78: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803ae7c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ae80: 095a lsrs r2, r3, #5 803ae82: 4997 ldr r1, [pc, #604] ; (803b0e0 ) 803ae84: fba1 1202 umull r1, r2, r1, r2 803ae88: 09d2 lsrs r2, r2, #7 803ae8a: 4996 ldr r1, [pc, #600] ; (803b0e4 ) 803ae8c: fb01 f202 mul.w r2, r1, r2 803ae90: 1a9a subs r2, r3, r2 803ae92: 4b95 ldr r3, [pc, #596] ; (803b0e8 ) 803ae94: fba3 1302 umull r1, r3, r3, r2 803ae98: 0b5b lsrs r3, r3, #13 803ae9a: f242 7110 movw r1, #10000 ; 0x2710 803ae9e: fb01 f303 mul.w r3, r1, r3 803aea2: 1ad3 subs r3, r2, r3 803aea4: 4a91 ldr r2, [pc, #580] ; (803b0ec ) 803aea6: fba2 1203 umull r1, r2, r2, r3 803aeaa: 0992 lsrs r2, r2, #6 803aeac: f44f 717a mov.w r1, #1000 ; 0x3e8 803aeb0: fb01 f202 mul.w r2, r1, r2 803aeb4: 1a9a subs r2, r3, r2 803aeb6: 4b8e ldr r3, [pc, #568] ; (803b0f0 ) 803aeb8: fba3 2302 umull r2, r3, r3, r2 803aebc: 095b lsrs r3, r3, #5 803aebe: b2db uxtb r3, r3 803aec0: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803aec4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803aec8: 0953 lsrs r3, r2, #5 803aeca: 4985 ldr r1, [pc, #532] ; (803b0e0 ) 803aecc: fba1 1303 umull r1, r3, r1, r3 803aed0: 09db lsrs r3, r3, #7 803aed2: 4984 ldr r1, [pc, #528] ; (803b0e4 ) 803aed4: fb01 f303 mul.w r3, r1, r3 803aed8: 1ad3 subs r3, r2, r3 803aeda: 4a83 ldr r2, [pc, #524] ; (803b0e8 ) 803aedc: fba2 1203 umull r1, r2, r2, r3 803aee0: 0b52 lsrs r2, r2, #13 803aee2: f242 7110 movw r1, #10000 ; 0x2710 803aee6: fb01 f202 mul.w r2, r1, r2 803aeea: 1a9a subs r2, r3, r2 803aeec: 4b7f ldr r3, [pc, #508] ; (803b0ec ) 803aeee: fba3 1302 umull r1, r3, r3, r2 803aef2: 099b lsrs r3, r3, #6 803aef4: f44f 717a mov.w r1, #1000 ; 0x3e8 803aef8: fb01 f303 mul.w r3, r1, r3 803aefc: 1ad3 subs r3, r2, r3 803aefe: 4a7c ldr r2, [pc, #496] ; (803b0f0 ) 803af00: fba2 1203 umull r1, r2, r2, r3 803af04: 0952 lsrs r2, r2, #5 803af06: 2164 movs r1, #100 ; 0x64 803af08: fb01 f202 mul.w r2, r1, r2 803af0c: 1a9a subs r2, r3, r2 803af0e: 4b79 ldr r3, [pc, #484] ; (803b0f4 ) 803af10: fba3 2302 umull r2, r3, r3, r2 803af14: 08db lsrs r3, r3, #3 803af16: b2db uxtb r3, r3 803af18: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803af1c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803af20: 0953 lsrs r3, r2, #5 803af22: 496f ldr r1, [pc, #444] ; (803b0e0 ) 803af24: fba1 1303 umull r1, r3, r1, r3 803af28: 09db lsrs r3, r3, #7 803af2a: 496e ldr r1, [pc, #440] ; (803b0e4 ) 803af2c: fb01 f303 mul.w r3, r1, r3 803af30: 1ad3 subs r3, r2, r3 803af32: 4a6d ldr r2, [pc, #436] ; (803b0e8 ) 803af34: fba2 1203 umull r1, r2, r2, r3 803af38: 0b52 lsrs r2, r2, #13 803af3a: f242 7110 movw r1, #10000 ; 0x2710 803af3e: fb01 f202 mul.w r2, r1, r2 803af42: 1a9a subs r2, r3, r2 803af44: 4b69 ldr r3, [pc, #420] ; (803b0ec ) 803af46: fba3 1302 umull r1, r3, r3, r2 803af4a: 099b lsrs r3, r3, #6 803af4c: f44f 717a mov.w r1, #1000 ; 0x3e8 803af50: fb01 f303 mul.w r3, r1, r3 803af54: 1ad3 subs r3, r2, r3 803af56: 4a66 ldr r2, [pc, #408] ; (803b0f0 ) 803af58: fba2 1203 umull r1, r2, r2, r3 803af5c: 0952 lsrs r2, r2, #5 803af5e: 2164 movs r1, #100 ; 0x64 803af60: fb01 f202 mul.w r2, r1, r2 803af64: 1a9a subs r2, r3, r2 803af66: 4b63 ldr r3, [pc, #396] ; (803b0f4 ) 803af68: fba3 1302 umull r1, r3, r3, r2 803af6c: 08d9 lsrs r1, r3, #3 803af6e: 460b mov r3, r1 803af70: 009b lsls r3, r3, #2 803af72: 440b add r3, r1 803af74: 005b lsls r3, r3, #1 803af76: 1ad1 subs r1, r2, r3 803af78: b2cb uxtb r3, r1 803af7a: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803af7e: 4b57 ldr r3, [pc, #348] ; (803b0dc ) 803af80: 781b ldrb r3, [r3, #0] 803af82: b2db uxtb r3, r3 803af84: 3b19 subs r3, #25 803af86: 2b05 cmp r3, #5 803af88: d836 bhi.n 803aff8 803af8a: a201 add r2, pc, #4 ; (adr r2, 803af90 ) 803af8c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803af90: 0803afa9 .word 0x0803afa9 803af94: 0803afb7 .word 0x0803afb7 803af98: 0803afc7 .word 0x0803afc7 803af9c: 0803afd5 .word 0x0803afd5 803afa0: 0803afe1 .word 0x0803afe1 803afa4: 0803afed .word 0x0803afed k += 100000; 803afa8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803afac: 4b4d ldr r3, [pc, #308] ; (803b0e4 ) 803afae: 4413 add r3, r2 803afb0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803afb4: e020 b.n 803aff8 k += 10000; 803afb6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803afba: f242 7310 movw r3, #10000 ; 0x2710 803afbe: 4413 add r3, r2 803afc0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803afc4: e018 b.n 803aff8 k += 1000; 803afc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803afca: f503 737a add.w r3, r3, #1000 ; 0x3e8 803afce: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803afd2: e011 b.n 803aff8 k += 100; 803afd4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803afd8: 3364 adds r3, #100 ; 0x64 803afda: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803afde: e00b b.n 803aff8 k += 10; 803afe0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803afe4: 330a adds r3, #10 803afe6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803afea: e005 b.n 803aff8 k++; 803afec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aff0: 3301 adds r3, #1 803aff2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aff6: bf00 nop fl = (float32_t) k; 803aff8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803affc: ee07 3a90 vmov s15, r3 803b000: eef8 7a67 vcvt.f32.u32 s15, s15 803b004: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803b008: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b00c: ed9f 7a31 vldr s14, [pc, #196] ; 803b0d4 803b010: ee67 7a87 vmul.f32 s15, s15, s14 803b014: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803b018: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b01c: ed9f 7a36 vldr s14, [pc, #216] ; 803b0f8 803b020: ee77 7a87 vadd.f32 s15, s15, s14 803b024: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 803b028: 4b29 ldr r3, [pc, #164] ; (803b0d0 ) 803b02a: 785b ldrb r3, [r3, #1] 803b02c: b2db uxtb r3, r3 803b02e: 2b00 cmp r3, #0 803b030: d13d bne.n 803b0ae if(fl < 0.5f) 803b032: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b036: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 803b03a: eef4 7ac7 vcmpe.f32 s15, s14 803b03e: eef1 fa10 vmrs APSR_nzcv, fpscr 803b042: d505 bpl.n 803b050 pardata.HP = 0.5f; 803b044: 4b22 ldr r3, [pc, #136] ; (803b0d0 ) 803b046: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 803b04a: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803b04e: e221 b.n 803b494 if(fl > pardata.LP) 803b050: 4b1f ldr r3, [pc, #124] ; (803b0d0 ) 803b052: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803b056: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b05a: eeb4 7ae7 vcmpe.f32 s14, s15 803b05e: eef1 fa10 vmrs APSR_nzcv, fpscr 803b062: d506 bpl.n 803b072 pardata.HP = pardata.LP; 803b064: 4b1a ldr r3, [pc, #104] ; (803b0d0 ) 803b066: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 803b06a: 4a19 ldr r2, [pc, #100] ; (803b0d0 ) 803b06c: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 803b070: e210 b.n 803b494 pardata.HP = (float32_t) k; 803b072: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b076: ee07 3a90 vmov s15, r3 803b07a: eef8 7a67 vcvt.f32.u32 s15, s15 803b07e: 4b14 ldr r3, [pc, #80] ; (803b0d0 ) 803b080: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803b084: 4b12 ldr r3, [pc, #72] ; (803b0d0 ) 803b086: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803b08a: ed9f 7a12 vldr s14, [pc, #72] ; 803b0d4 803b08e: ee67 7a87 vmul.f32 s15, s15, s14 803b092: 4b0f ldr r3, [pc, #60] ; (803b0d0 ) 803b094: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 803b098: 4b0d ldr r3, [pc, #52] ; (803b0d0 ) 803b09a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803b09e: ed9f 7a16 vldr s14, [pc, #88] ; 803b0f8 803b0a2: ee77 7a87 vadd.f32 s15, s15, s14 803b0a6: 4b0a ldr r3, [pc, #40] ; (803b0d0 ) 803b0a8: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803b0ac: e1f2 b.n 803b494 if(fl < 2.0f) 803b0ae: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b0b2: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 803b0b6: eef4 7ac7 vcmpe.f32 s15, s14 803b0ba: eef1 fa10 vmrs APSR_nzcv, fpscr 803b0be: d51d bpl.n 803b0fc pardata.HP = 2.0f; 803b0c0: 4b03 ldr r3, [pc, #12] ; (803b0d0 ) 803b0c2: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 803b0c6: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803b0ca: e1e3 b.n 803b494 803b0cc: 000f423f .word 0x000f423f 803b0d0: 20023eb8 .word 0x20023eb8 803b0d4: 3dcccccd .word 0x3dcccccd 803b0d8: 3d4ccccd .word 0x3d4ccccd 803b0dc: 20020070 .word 0x20020070 803b0e0: 0a7c5ac5 .word 0x0a7c5ac5 803b0e4: 000186a0 .word 0x000186a0 803b0e8: d1b71759 .word 0xd1b71759 803b0ec: 10624dd3 .word 0x10624dd3 803b0f0: 51eb851f .word 0x51eb851f 803b0f4: cccccccd .word 0xcccccccd 803b0f8: 38d1b717 .word 0x38d1b717 if(fl > pardata.LP) 803b0fc: 4bc9 ldr r3, [pc, #804] ; (803b424 ) 803b0fe: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803b102: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b106: eeb4 7ae7 vcmpe.f32 s14, s15 803b10a: eef1 fa10 vmrs APSR_nzcv, fpscr 803b10e: d506 bpl.n 803b11e pardata.HP = pardata.LP; 803b110: 4bc4 ldr r3, [pc, #784] ; (803b424 ) 803b112: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 803b116: 4ac3 ldr r2, [pc, #780] ; (803b424 ) 803b118: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 803b11c: e1ba b.n 803b494 pardata.HP = (float32_t) k; 803b11e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b122: ee07 3a90 vmov s15, r3 803b126: eef8 7a67 vcvt.f32.u32 s15, s15 803b12a: 4bbe ldr r3, [pc, #760] ; (803b424 ) 803b12c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803b130: 4bbc ldr r3, [pc, #752] ; (803b424 ) 803b132: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803b136: ed9f 7abc vldr s14, [pc, #752] ; 803b428 803b13a: ee67 7a87 vmul.f32 s15, s15, s14 803b13e: 4bb9 ldr r3, [pc, #740] ; (803b424 ) 803b140: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 803b144: 4bb7 ldr r3, [pc, #732] ; (803b424 ) 803b146: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803b14a: ed9f 7ab8 vldr s14, [pc, #736] ; 803b42c 803b14e: ee77 7a87 vadd.f32 s15, s15, s14 803b152: 4bb4 ldr r3, [pc, #720] ; (803b424 ) 803b154: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803b158: e19c b.n 803b494 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 803b15a: 4bb5 ldr r3, [pc, #724] ; (803b430 ) 803b15c: 781b ldrb r3, [r3, #0] 803b15e: b2db uxtb r3, r3 803b160: 2b1e cmp r3, #30 803b162: f240 819b bls.w 803b49c 803b166: 4bb2 ldr r3, [pc, #712] ; (803b430 ) 803b168: 781b ldrb r3, [r3, #0] 803b16a: b2db uxtb r3, r3 803b16c: 2b24 cmp r3, #36 ; 0x24 803b16e: f200 8195 bhi.w 803b49c k = (uint32_t) (pardata.LP * 10.0f); 803b172: 4bac ldr r3, [pc, #688] ; (803b424 ) 803b174: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803b178: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803b17c: ee67 7a87 vmul.f32 s15, s15, s14 803b180: eefc 7ae7 vcvt.u32.f32 s15, s15 803b184: ee17 3a90 vmov r3, s15 803b188: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803b18c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b190: 095b lsrs r3, r3, #5 803b192: 4aa8 ldr r2, [pc, #672] ; (803b434 ) 803b194: fba2 2303 umull r2, r3, r2, r3 803b198: 09db lsrs r3, r3, #7 803b19a: b2db uxtb r3, r3 803b19c: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803b1a0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b1a4: 0953 lsrs r3, r2, #5 803b1a6: 49a3 ldr r1, [pc, #652] ; (803b434 ) 803b1a8: fba1 1303 umull r1, r3, r1, r3 803b1ac: 09db lsrs r3, r3, #7 803b1ae: 49a2 ldr r1, [pc, #648] ; (803b438 ) 803b1b0: fb01 f303 mul.w r3, r1, r3 803b1b4: 1ad3 subs r3, r2, r3 803b1b6: 4aa1 ldr r2, [pc, #644] ; (803b43c ) 803b1b8: fba2 2303 umull r2, r3, r2, r3 803b1bc: 0b5b lsrs r3, r3, #13 803b1be: b2db uxtb r3, r3 803b1c0: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803b1c4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b1c8: 0953 lsrs r3, r2, #5 803b1ca: 499a ldr r1, [pc, #616] ; (803b434 ) 803b1cc: fba1 1303 umull r1, r3, r1, r3 803b1d0: 09db lsrs r3, r3, #7 803b1d2: 4999 ldr r1, [pc, #612] ; (803b438 ) 803b1d4: fb01 f303 mul.w r3, r1, r3 803b1d8: 1ad3 subs r3, r2, r3 803b1da: 4a98 ldr r2, [pc, #608] ; (803b43c ) 803b1dc: fba2 1203 umull r1, r2, r2, r3 803b1e0: 0b52 lsrs r2, r2, #13 803b1e2: f242 7110 movw r1, #10000 ; 0x2710 803b1e6: fb01 f202 mul.w r2, r1, r2 803b1ea: 1a9a subs r2, r3, r2 803b1ec: 4b94 ldr r3, [pc, #592] ; (803b440 ) 803b1ee: fba3 2302 umull r2, r3, r3, r2 803b1f2: 099b lsrs r3, r3, #6 803b1f4: b2db uxtb r3, r3 803b1f6: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803b1fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b1fe: 095a lsrs r2, r3, #5 803b200: 498c ldr r1, [pc, #560] ; (803b434 ) 803b202: fba1 1202 umull r1, r2, r1, r2 803b206: 09d2 lsrs r2, r2, #7 803b208: 498b ldr r1, [pc, #556] ; (803b438 ) 803b20a: fb01 f202 mul.w r2, r1, r2 803b20e: 1a9a subs r2, r3, r2 803b210: 4b8a ldr r3, [pc, #552] ; (803b43c ) 803b212: fba3 1302 umull r1, r3, r3, r2 803b216: 0b5b lsrs r3, r3, #13 803b218: f242 7110 movw r1, #10000 ; 0x2710 803b21c: fb01 f303 mul.w r3, r1, r3 803b220: 1ad3 subs r3, r2, r3 803b222: 4a87 ldr r2, [pc, #540] ; (803b440 ) 803b224: fba2 1203 umull r1, r2, r2, r3 803b228: 0992 lsrs r2, r2, #6 803b22a: f44f 717a mov.w r1, #1000 ; 0x3e8 803b22e: fb01 f202 mul.w r2, r1, r2 803b232: 1a9a subs r2, r3, r2 803b234: 4b83 ldr r3, [pc, #524] ; (803b444 ) 803b236: fba3 2302 umull r2, r3, r3, r2 803b23a: 095b lsrs r3, r3, #5 803b23c: b2db uxtb r3, r3 803b23e: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803b242: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b246: 0953 lsrs r3, r2, #5 803b248: 497a ldr r1, [pc, #488] ; (803b434 ) 803b24a: fba1 1303 umull r1, r3, r1, r3 803b24e: 09db lsrs r3, r3, #7 803b250: 4979 ldr r1, [pc, #484] ; (803b438 ) 803b252: fb01 f303 mul.w r3, r1, r3 803b256: 1ad3 subs r3, r2, r3 803b258: 4a78 ldr r2, [pc, #480] ; (803b43c ) 803b25a: fba2 1203 umull r1, r2, r2, r3 803b25e: 0b52 lsrs r2, r2, #13 803b260: f242 7110 movw r1, #10000 ; 0x2710 803b264: fb01 f202 mul.w r2, r1, r2 803b268: 1a9a subs r2, r3, r2 803b26a: 4b75 ldr r3, [pc, #468] ; (803b440 ) 803b26c: fba3 1302 umull r1, r3, r3, r2 803b270: 099b lsrs r3, r3, #6 803b272: f44f 717a mov.w r1, #1000 ; 0x3e8 803b276: fb01 f303 mul.w r3, r1, r3 803b27a: 1ad3 subs r3, r2, r3 803b27c: 4a71 ldr r2, [pc, #452] ; (803b444 ) 803b27e: fba2 1203 umull r1, r2, r2, r3 803b282: 0952 lsrs r2, r2, #5 803b284: 2164 movs r1, #100 ; 0x64 803b286: fb01 f202 mul.w r2, r1, r2 803b28a: 1a9a subs r2, r3, r2 803b28c: 4b6e ldr r3, [pc, #440] ; (803b448 ) 803b28e: fba3 2302 umull r2, r3, r3, r2 803b292: 08db lsrs r3, r3, #3 803b294: b2db uxtb r3, r3 803b296: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803b29a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b29e: 0953 lsrs r3, r2, #5 803b2a0: 4964 ldr r1, [pc, #400] ; (803b434 ) 803b2a2: fba1 1303 umull r1, r3, r1, r3 803b2a6: 09db lsrs r3, r3, #7 803b2a8: 4963 ldr r1, [pc, #396] ; (803b438 ) 803b2aa: fb01 f303 mul.w r3, r1, r3 803b2ae: 1ad3 subs r3, r2, r3 803b2b0: 4a62 ldr r2, [pc, #392] ; (803b43c ) 803b2b2: fba2 1203 umull r1, r2, r2, r3 803b2b6: 0b52 lsrs r2, r2, #13 803b2b8: f242 7110 movw r1, #10000 ; 0x2710 803b2bc: fb01 f202 mul.w r2, r1, r2 803b2c0: 1a9a subs r2, r3, r2 803b2c2: 4b5f ldr r3, [pc, #380] ; (803b440 ) 803b2c4: fba3 1302 umull r1, r3, r3, r2 803b2c8: 099b lsrs r3, r3, #6 803b2ca: f44f 717a mov.w r1, #1000 ; 0x3e8 803b2ce: fb01 f303 mul.w r3, r1, r3 803b2d2: 1ad3 subs r3, r2, r3 803b2d4: 4a5b ldr r2, [pc, #364] ; (803b444 ) 803b2d6: fba2 1203 umull r1, r2, r2, r3 803b2da: 0952 lsrs r2, r2, #5 803b2dc: 2164 movs r1, #100 ; 0x64 803b2de: fb01 f202 mul.w r2, r1, r2 803b2e2: 1a9a subs r2, r3, r2 803b2e4: 4b58 ldr r3, [pc, #352] ; (803b448 ) 803b2e6: fba3 1302 umull r1, r3, r3, r2 803b2ea: 08d9 lsrs r1, r3, #3 803b2ec: 460b mov r3, r1 803b2ee: 009b lsls r3, r3, #2 803b2f0: 440b add r3, r1 803b2f2: 005b lsls r3, r3, #1 803b2f4: 1ad1 subs r1, r2, r3 803b2f6: b2cb uxtb r3, r1 803b2f8: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803b2fc: 4b4c ldr r3, [pc, #304] ; (803b430 ) 803b2fe: 781b ldrb r3, [r3, #0] 803b300: b2db uxtb r3, r3 803b302: 3b1f subs r3, #31 803b304: 2b05 cmp r3, #5 803b306: d837 bhi.n 803b378 803b308: a201 add r2, pc, #4 ; (adr r2, 803b310 ) 803b30a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803b30e: bf00 nop 803b310: 0803b329 .word 0x0803b329 803b314: 0803b337 .word 0x0803b337 803b318: 0803b347 .word 0x0803b347 803b31c: 0803b355 .word 0x0803b355 803b320: 0803b361 .word 0x0803b361 803b324: 0803b36d .word 0x0803b36d k += 100000; 803b328: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b32c: 4b42 ldr r3, [pc, #264] ; (803b438 ) 803b32e: 4413 add r3, r2 803b330: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b334: e020 b.n 803b378 k += 10000; 803b336: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b33a: f242 7310 movw r3, #10000 ; 0x2710 803b33e: 4413 add r3, r2 803b340: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b344: e018 b.n 803b378 k += 1000; 803b346: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b34a: f503 737a add.w r3, r3, #1000 ; 0x3e8 803b34e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b352: e011 b.n 803b378 k += 100; 803b354: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b358: 3364 adds r3, #100 ; 0x64 803b35a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b35e: e00b b.n 803b378 k += 10; 803b360: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b364: 330a adds r3, #10 803b366: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b36a: e005 b.n 803b378 k++; 803b36c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b370: 3301 adds r3, #1 803b372: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b376: bf00 nop fl = (float32_t) k; 803b378: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b37c: ee07 3a90 vmov s15, r3 803b380: eef8 7a67 vcvt.f32.u32 s15, s15 803b384: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803b388: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b38c: ed9f 7a26 vldr s14, [pc, #152] ; 803b428 803b390: ee67 7a87 vmul.f32 s15, s15, s14 803b394: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803b398: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b39c: ed9f 7a23 vldr s14, [pc, #140] ; 803b42c 803b3a0: ee77 7a87 vadd.f32 s15, s15, s14 803b3a4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if((pardata.OPTIONS & maskFFT) == okt) 803b3a8: 4b1e ldr r3, [pc, #120] ; (803b424 ) 803b3aa: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803b3ae: f003 0330 and.w r3, r3, #48 ; 0x30 803b3b2: 2b20 cmp r3, #32 803b3b4: d103 bne.n 803b3be f = 12800.0f; 803b3b6: 4b25 ldr r3, [pc, #148] ; (803b44c ) 803b3b8: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 803b3bc: e002 b.n 803b3c4 else f = 6400.0f; 803b3be: 4b24 ldr r3, [pc, #144] ; (803b450 ) 803b3c0: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 if(fl < 10.0f) 803b3c4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b3c8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803b3cc: eef4 7ac7 vcmpe.f32 s15, s14 803b3d0: eef1 fa10 vmrs APSR_nzcv, fpscr 803b3d4: d504 bpl.n 803b3e0 pardata.LP = 10.0f; 803b3d6: 4b13 ldr r3, [pc, #76] ; (803b424 ) 803b3d8: 4a1e ldr r2, [pc, #120] ; (803b454 ) 803b3da: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 break; 803b3de: e05d b.n 803b49c if(pardata.LP < pardata.HP) 803b3e0: 4b10 ldr r3, [pc, #64] ; (803b424 ) 803b3e2: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803b3e6: 4b0f ldr r3, [pc, #60] ; (803b424 ) 803b3e8: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803b3ec: eeb4 7ae7 vcmpe.f32 s14, s15 803b3f0: eef1 fa10 vmrs APSR_nzcv, fpscr 803b3f4: d506 bpl.n 803b404 pardata.LP = pardata.HP; 803b3f6: 4b0b ldr r3, [pc, #44] ; (803b424 ) 803b3f8: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 803b3fc: 4a09 ldr r2, [pc, #36] ; (803b424 ) 803b3fe: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 803b402: e04b b.n 803b49c if(fl > f) 803b404: ed97 7a2a vldr s14, [r7, #168] ; 0xa8 803b408: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 803b40c: eeb4 7ae7 vcmpe.f32 s14, s15 803b410: eef1 fa10 vmrs APSR_nzcv, fpscr 803b414: dd20 ble.n 803b458 pardata.LP = f; 803b416: 4a03 ldr r2, [pc, #12] ; (803b424 ) 803b418: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 803b41c: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 803b420: e03c b.n 803b49c 803b422: bf00 nop 803b424: 20023eb8 .word 0x20023eb8 803b428: 3dcccccd .word 0x3dcccccd 803b42c: 38d1b717 .word 0x38d1b717 803b430: 20020070 .word 0x20020070 803b434: 0a7c5ac5 .word 0x0a7c5ac5 803b438: 000186a0 .word 0x000186a0 803b43c: d1b71759 .word 0xd1b71759 803b440: 10624dd3 .word 0x10624dd3 803b444: 51eb851f .word 0x51eb851f 803b448: cccccccd .word 0xcccccccd 803b44c: 46480000 .word 0x46480000 803b450: 45c80000 .word 0x45c80000 803b454: 41200000 .word 0x41200000 pardata.LP = (float32_t) k; 803b458: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b45c: ee07 3a90 vmov s15, r3 803b460: eef8 7a67 vcvt.f32.u32 s15, s15 803b464: 4bc6 ldr r3, [pc, #792] ; (803b780 ) 803b466: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 803b46a: 4bc5 ldr r3, [pc, #788] ; (803b780 ) 803b46c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803b470: ed9f 7ac4 vldr s14, [pc, #784] ; 803b784 803b474: ee67 7a87 vmul.f32 s15, s15, s14 803b478: 4bc1 ldr r3, [pc, #772] ; (803b780 ) 803b47a: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 803b47e: 4bc0 ldr r3, [pc, #768] ; (803b780 ) 803b480: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803b484: ed9f 7ac0 vldr s14, [pc, #768] ; 803b788 803b488: ee77 7a87 vadd.f32 s15, s15, s14 803b48c: 4bbc ldr r3, [pc, #752] ; (803b780 ) 803b48e: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 803b492: e003 b.n 803b49c 803b494: e002 b.n 803b49c break; 803b496: bf00 nop 803b498: f001 be51 b.w 803d13e break; 803b49c: bf00 nop break; 803b49e: f001 be4e b.w 803d13e case PARAM_OSC: focused = false; 803b4a2: 4bba ldr r3, [pc, #744] ; (803b78c ) 803b4a4: 2200 movs r2, #0 803b4a6: 701a strb r2, [r3, #0] if(menupos == Ok) 803b4a8: 4bb9 ldr r3, [pc, #740] ; (803b790 ) 803b4aa: 781b ldrb r3, [r3, #0] 803b4ac: b2db uxtb r3, r3 803b4ae: 2b00 cmp r3, #0 803b4b0: d125 bne.n 803b4fe { if(pardata.OPTIONS & 0x4) 803b4b2: 4bb3 ldr r3, [pc, #716] ; (803b780 ) 803b4b4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803b4b8: f003 0304 and.w r3, r3, #4 803b4bc: 2b00 cmp r3, #0 803b4be: d004 beq.n 803b4ca menupos = OscAutoKu; 803b4c0: 4bb3 ldr r3, [pc, #716] ; (803b790 ) 803b4c2: 2205 movs r2, #5 803b4c4: 701a strb r2, [r3, #0] pardata.LP = (float32_t) k; pardata.LP *= 0.1f; pardata.LP += 0.0001f; } } break; 803b4c6: f001 be1b b.w 803d100 if(pardata.IPR > ACC) 803b4ca: 4bad ldr r3, [pc, #692] ; (803b780 ) 803b4cc: 785b ldrb r3, [r3, #1] 803b4ce: b2db uxtb r3, r3 803b4d0: 2b00 cmp r3, #0 803b4d2: d004 beq.n 803b4de menupos = OscMax_ALL; 803b4d4: 4bae ldr r3, [pc, #696] ; (803b790 ) 803b4d6: 2206 movs r2, #6 803b4d8: 701a strb r2, [r3, #0] break; 803b4da: f001 be11 b.w 803d100 if(pardata.THR & 0x80) 803b4de: 4ba8 ldr r3, [pc, #672] ; (803b780 ) 803b4e0: 7bdb ldrb r3, [r3, #15] 803b4e2: b2db uxtb r3, r3 803b4e4: b25b sxtb r3, r3 803b4e6: 2b00 cmp r3, #0 803b4e8: da04 bge.n 803b4f4 menupos = OscThr_ALL; 803b4ea: 4ba9 ldr r3, [pc, #676] ; (803b790 ) 803b4ec: 2208 movs r2, #8 803b4ee: 701a strb r2, [r3, #0] break; 803b4f0: f001 be06 b.w 803d100 else menupos = OscThr; 803b4f4: 4ba6 ldr r3, [pc, #664] ; (803b790 ) 803b4f6: 2207 movs r2, #7 803b4f8: 701a strb r2, [r3, #0] break; 803b4fa: f001 be01 b.w 803d100 if(menupos == OscThr_ALL) 803b4fe: 4ba4 ldr r3, [pc, #656] ; (803b790 ) 803b500: 781b ldrb r3, [r3, #0] 803b502: b2db uxtb r3, r3 803b504: 2b08 cmp r3, #8 803b506: d104 bne.n 803b512 menupos = OscThr; 803b508: 4ba1 ldr r3, [pc, #644] ; (803b790 ) 803b50a: 2207 movs r2, #7 803b50c: 701a strb r2, [r3, #0] break; 803b50e: f001 bdf7 b.w 803d100 if(menupos == OscThr) 803b512: 4b9f ldr r3, [pc, #636] ; (803b790 ) 803b514: 781b ldrb r3, [r3, #0] 803b516: b2db uxtb r3, r3 803b518: 2b07 cmp r3, #7 803b51a: d104 bne.n 803b526 menupos = OscMax_ALL; 803b51c: 4b9c ldr r3, [pc, #624] ; (803b790 ) 803b51e: 2206 movs r2, #6 803b520: 701a strb r2, [r3, #0] break; 803b522: f001 bded b.w 803d100 if(menupos == OscMax_ALL) 803b526: 4b9a ldr r3, [pc, #616] ; (803b790 ) 803b528: 781b ldrb r3, [r3, #0] 803b52a: b2db uxtb r3, r3 803b52c: 2b06 cmp r3, #6 803b52e: d104 bne.n 803b53a menupos = OscAutoKu; 803b530: 4b97 ldr r3, [pc, #604] ; (803b790 ) 803b532: 2205 movs r2, #5 803b534: 701a strb r2, [r3, #0] break; 803b536: f001 bde3 b.w 803d100 if(menupos == OscAutoKu) 803b53a: 4b95 ldr r3, [pc, #596] ; (803b790 ) 803b53c: 781b ldrb r3, [r3, #0] 803b53e: b2db uxtb r3, r3 803b540: 2b05 cmp r3, #5 803b542: d104 bne.n 803b54e menupos = OscLen; 803b544: 4b92 ldr r3, [pc, #584] ; (803b790 ) 803b546: 2204 movs r2, #4 803b548: 701a strb r2, [r3, #0] break; 803b54a: f001 bdd9 b.w 803d100 if(menupos == OscLen) 803b54e: 4b90 ldr r3, [pc, #576] ; (803b790 ) 803b550: 781b ldrb r3, [r3, #0] 803b552: b2db uxtb r3, r3 803b554: 2b04 cmp r3, #4 803b556: d104 bne.n 803b562 menupos = OscRate; 803b558: 4b8d ldr r3, [pc, #564] ; (803b790 ) 803b55a: 2203 movs r2, #3 803b55c: 701a strb r2, [r3, #0] break; 803b55e: f001 bdcf b.w 803d100 if(menupos == OscRate) 803b562: 4b8b ldr r3, [pc, #556] ; (803b790 ) 803b564: 781b ldrb r3, [r3, #0] 803b566: b2db uxtb r3, r3 803b568: 2b03 cmp r3, #3 803b56a: d104 bne.n 803b576 menupos = FilterLP; 803b56c: 4b88 ldr r3, [pc, #544] ; (803b790 ) 803b56e: 2218 movs r2, #24 803b570: 701a strb r2, [r3, #0] break; 803b572: f001 bdc5 b.w 803d100 if(menupos == FilterLP) 803b576: 4b86 ldr r3, [pc, #536] ; (803b790 ) 803b578: 781b ldrb r3, [r3, #0] 803b57a: b2db uxtb r3, r3 803b57c: 2b18 cmp r3, #24 803b57e: d104 bne.n 803b58a menupos = FilterHP; 803b580: 4b83 ldr r3, [pc, #524] ; (803b790 ) 803b582: 2217 movs r2, #23 803b584: 701a strb r2, [r3, #0] break; 803b586: f001 bdbb b.w 803d100 if(menupos == FilterHP) 803b58a: 4b81 ldr r3, [pc, #516] ; (803b790 ) 803b58c: 781b ldrb r3, [r3, #0] 803b58e: b2db uxtb r3, r3 803b590: 2b17 cmp r3, #23 803b592: d104 bne.n 803b59e menupos = OscValue; 803b594: 4b7e ldr r3, [pc, #504] ; (803b790 ) 803b596: 2201 movs r2, #1 803b598: 701a strb r2, [r3, #0] break; 803b59a: f001 bdb1 b.w 803d100 if(menupos == OscValue) 803b59e: 4b7c ldr r3, [pc, #496] ; (803b790 ) 803b5a0: 781b ldrb r3, [r3, #0] 803b5a2: b2db uxtb r3, r3 803b5a4: 2b01 cmp r3, #1 803b5a6: d104 bne.n 803b5b2 menupos = Ok; 803b5a8: 4b79 ldr r3, [pc, #484] ; (803b790 ) 803b5aa: 2200 movs r2, #0 803b5ac: 701a strb r2, [r3, #0] break; 803b5ae: f001 bda7 b.w 803d100 if((menupos >= OscThr_IDT) && (menupos <= OscThr_IKD)) 803b5b2: 4b77 ldr r3, [pc, #476] ; (803b790 ) 803b5b4: 781b ldrb r3, [r3, #0] 803b5b6: b2db uxtb r3, r3 803b5b8: 2b08 cmp r3, #8 803b5ba: f240 814d bls.w 803b858 803b5be: 4b74 ldr r3, [pc, #464] ; (803b790 ) 803b5c0: 781b ldrb r3, [r3, #0] 803b5c2: b2db uxtb r3, r3 803b5c4: 2b0e cmp r3, #14 803b5c6: f200 8147 bhi.w 803b858 k = (uint32_t) (pardata.THR_VAL * 10.0f); 803b5ca: 4b6d ldr r3, [pc, #436] ; (803b780 ) 803b5cc: edd3 7a05 vldr s15, [r3, #20] 803b5d0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803b5d4: ee67 7a87 vmul.f32 s15, s15, s14 803b5d8: eefc 7ae7 vcvt.u32.f32 s15, s15 803b5dc: ee17 3a90 vmov r3, s15 803b5e0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803b5e4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b5e8: 095b lsrs r3, r3, #5 803b5ea: 4a6a ldr r2, [pc, #424] ; (803b794 ) 803b5ec: fba2 2303 umull r2, r3, r2, r3 803b5f0: 09db lsrs r3, r3, #7 803b5f2: b2db uxtb r3, r3 803b5f4: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803b5f8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b5fc: 0953 lsrs r3, r2, #5 803b5fe: 4965 ldr r1, [pc, #404] ; (803b794 ) 803b600: fba1 1303 umull r1, r3, r1, r3 803b604: 09db lsrs r3, r3, #7 803b606: 4964 ldr r1, [pc, #400] ; (803b798 ) 803b608: fb01 f303 mul.w r3, r1, r3 803b60c: 1ad3 subs r3, r2, r3 803b60e: 4a63 ldr r2, [pc, #396] ; (803b79c ) 803b610: fba2 2303 umull r2, r3, r2, r3 803b614: 0b5b lsrs r3, r3, #13 803b616: b2db uxtb r3, r3 803b618: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803b61c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b620: 0953 lsrs r3, r2, #5 803b622: 495c ldr r1, [pc, #368] ; (803b794 ) 803b624: fba1 1303 umull r1, r3, r1, r3 803b628: 09db lsrs r3, r3, #7 803b62a: 495b ldr r1, [pc, #364] ; (803b798 ) 803b62c: fb01 f303 mul.w r3, r1, r3 803b630: 1ad3 subs r3, r2, r3 803b632: 4a5a ldr r2, [pc, #360] ; (803b79c ) 803b634: fba2 1203 umull r1, r2, r2, r3 803b638: 0b52 lsrs r2, r2, #13 803b63a: f242 7110 movw r1, #10000 ; 0x2710 803b63e: fb01 f202 mul.w r2, r1, r2 803b642: 1a9a subs r2, r3, r2 803b644: 4b56 ldr r3, [pc, #344] ; (803b7a0 ) 803b646: fba3 2302 umull r2, r3, r3, r2 803b64a: 099b lsrs r3, r3, #6 803b64c: b2db uxtb r3, r3 803b64e: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803b652: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b656: 095a lsrs r2, r3, #5 803b658: 494e ldr r1, [pc, #312] ; (803b794 ) 803b65a: fba1 1202 umull r1, r2, r1, r2 803b65e: 09d2 lsrs r2, r2, #7 803b660: 494d ldr r1, [pc, #308] ; (803b798 ) 803b662: fb01 f202 mul.w r2, r1, r2 803b666: 1a9a subs r2, r3, r2 803b668: 4b4c ldr r3, [pc, #304] ; (803b79c ) 803b66a: fba3 1302 umull r1, r3, r3, r2 803b66e: 0b5b lsrs r3, r3, #13 803b670: f242 7110 movw r1, #10000 ; 0x2710 803b674: fb01 f303 mul.w r3, r1, r3 803b678: 1ad3 subs r3, r2, r3 803b67a: 4a49 ldr r2, [pc, #292] ; (803b7a0 ) 803b67c: fba2 1203 umull r1, r2, r2, r3 803b680: 0992 lsrs r2, r2, #6 803b682: f44f 717a mov.w r1, #1000 ; 0x3e8 803b686: fb01 f202 mul.w r2, r1, r2 803b68a: 1a9a subs r2, r3, r2 803b68c: 4b45 ldr r3, [pc, #276] ; (803b7a4 ) 803b68e: fba3 2302 umull r2, r3, r3, r2 803b692: 095b lsrs r3, r3, #5 803b694: b2db uxtb r3, r3 803b696: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803b69a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b69e: 0953 lsrs r3, r2, #5 803b6a0: 493c ldr r1, [pc, #240] ; (803b794 ) 803b6a2: fba1 1303 umull r1, r3, r1, r3 803b6a6: 09db lsrs r3, r3, #7 803b6a8: 493b ldr r1, [pc, #236] ; (803b798 ) 803b6aa: fb01 f303 mul.w r3, r1, r3 803b6ae: 1ad3 subs r3, r2, r3 803b6b0: 4a3a ldr r2, [pc, #232] ; (803b79c ) 803b6b2: fba2 1203 umull r1, r2, r2, r3 803b6b6: 0b52 lsrs r2, r2, #13 803b6b8: f242 7110 movw r1, #10000 ; 0x2710 803b6bc: fb01 f202 mul.w r2, r1, r2 803b6c0: 1a9a subs r2, r3, r2 803b6c2: 4b37 ldr r3, [pc, #220] ; (803b7a0 ) 803b6c4: fba3 1302 umull r1, r3, r3, r2 803b6c8: 099b lsrs r3, r3, #6 803b6ca: f44f 717a mov.w r1, #1000 ; 0x3e8 803b6ce: fb01 f303 mul.w r3, r1, r3 803b6d2: 1ad3 subs r3, r2, r3 803b6d4: 4a33 ldr r2, [pc, #204] ; (803b7a4 ) 803b6d6: fba2 1203 umull r1, r2, r2, r3 803b6da: 0952 lsrs r2, r2, #5 803b6dc: 2164 movs r1, #100 ; 0x64 803b6de: fb01 f202 mul.w r2, r1, r2 803b6e2: 1a9a subs r2, r3, r2 803b6e4: 4b30 ldr r3, [pc, #192] ; (803b7a8 ) 803b6e6: fba3 2302 umull r2, r3, r3, r2 803b6ea: 08db lsrs r3, r3, #3 803b6ec: b2db uxtb r3, r3 803b6ee: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803b6f2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b6f6: 0953 lsrs r3, r2, #5 803b6f8: 4926 ldr r1, [pc, #152] ; (803b794 ) 803b6fa: fba1 1303 umull r1, r3, r1, r3 803b6fe: 09db lsrs r3, r3, #7 803b700: 4925 ldr r1, [pc, #148] ; (803b798 ) 803b702: fb01 f303 mul.w r3, r1, r3 803b706: 1ad3 subs r3, r2, r3 803b708: 4a24 ldr r2, [pc, #144] ; (803b79c ) 803b70a: fba2 1203 umull r1, r2, r2, r3 803b70e: 0b52 lsrs r2, r2, #13 803b710: f242 7110 movw r1, #10000 ; 0x2710 803b714: fb01 f202 mul.w r2, r1, r2 803b718: 1a9a subs r2, r3, r2 803b71a: 4b21 ldr r3, [pc, #132] ; (803b7a0 ) 803b71c: fba3 1302 umull r1, r3, r3, r2 803b720: 099b lsrs r3, r3, #6 803b722: f44f 717a mov.w r1, #1000 ; 0x3e8 803b726: fb01 f303 mul.w r3, r1, r3 803b72a: 1ad3 subs r3, r2, r3 803b72c: 4a1d ldr r2, [pc, #116] ; (803b7a4 ) 803b72e: fba2 1203 umull r1, r2, r2, r3 803b732: 0952 lsrs r2, r2, #5 803b734: 2164 movs r1, #100 ; 0x64 803b736: fb01 f202 mul.w r2, r1, r2 803b73a: 1a9a subs r2, r3, r2 803b73c: 4b1a ldr r3, [pc, #104] ; (803b7a8 ) 803b73e: fba3 1302 umull r1, r3, r3, r2 803b742: 08d9 lsrs r1, r3, #3 803b744: 460b mov r3, r1 803b746: 009b lsls r3, r3, #2 803b748: 440b add r3, r1 803b74a: 005b lsls r3, r3, #1 803b74c: 1ad1 subs r1, r2, r3 803b74e: b2cb uxtb r3, r1 803b750: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803b754: 4b0e ldr r3, [pc, #56] ; (803b790 ) 803b756: 781b ldrb r3, [r3, #0] 803b758: b2db uxtb r3, r3 803b75a: 3b09 subs r3, #9 803b75c: 2b05 cmp r3, #5 803b75e: d84d bhi.n 803b7fc 803b760: a201 add r2, pc, #4 ; (adr r2, 803b768 ) 803b762: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803b766: bf00 nop 803b768: 0803b7ad .word 0x0803b7ad 803b76c: 0803b7bb .word 0x0803b7bb 803b770: 0803b7cb .word 0x0803b7cb 803b774: 0803b7d9 .word 0x0803b7d9 803b778: 0803b7e5 .word 0x0803b7e5 803b77c: 0803b7f1 .word 0x0803b7f1 803b780: 20023eb8 .word 0x20023eb8 803b784: 3dcccccd .word 0x3dcccccd 803b788: 38d1b717 .word 0x38d1b717 803b78c: 20020fd0 .word 0x20020fd0 803b790: 20020070 .word 0x20020070 803b794: 0a7c5ac5 .word 0x0a7c5ac5 803b798: 000186a0 .word 0x000186a0 803b79c: d1b71759 .word 0xd1b71759 803b7a0: 10624dd3 .word 0x10624dd3 803b7a4: 51eb851f .word 0x51eb851f 803b7a8: cccccccd .word 0xcccccccd k += 100000; 803b7ac: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b7b0: 4bc7 ldr r3, [pc, #796] ; (803bad0 ) 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: 4ab4 ldr r2, [pc, #720] ; (803bad4 ) 803b802: 4293 cmp r3, r2 803b804: d902 bls.n 803b80c 803b806: 4bb3 ldr r3, [pc, #716] ; (803bad4 ) 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.THR_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: 4bac ldr r3, [pc, #688] ; (803bad8 ) 803b828: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL *= 0.1f; 803b82c: 4baa ldr r3, [pc, #680] ; (803bad8 ) 803b82e: edd3 7a05 vldr s15, [r3, #20] 803b832: ed9f 7aaa vldr s14, [pc, #680] ; 803badc 803b836: ee67 7a87 vmul.f32 s15, s15, s14 803b83a: 4ba7 ldr r3, [pc, #668] ; (803bad8 ) 803b83c: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL += 0.05f; 803b840: 4ba5 ldr r3, [pc, #660] ; (803bad8 ) 803b842: edd3 7a05 vldr s15, [r3, #20] 803b846: ed9f 7aa6 vldr s14, [pc, #664] ; 803bae0 803b84a: ee77 7a87 vadd.f32 s15, s15, s14 803b84e: 4ba2 ldr r3, [pc, #648] ; (803bad8 ) 803b850: edc3 7a05 vstr s15, [r3, #20] 803b854: f000 bca7 b.w 803c1a6 if((menupos >= OscMax_IDT) && (menupos <= OscMax_IKD)) 803b858: 4ba2 ldr r3, [pc, #648] ; (803bae4 ) 803b85a: 781b ldrb r3, [r3, #0] 803b85c: b2db uxtb r3, r3 803b85e: 2b0e cmp r3, #14 803b860: f240 814c bls.w 803bafc 803b864: 4b9f ldr r3, [pc, #636] ; (803bae4 ) 803b866: 781b ldrb r3, [r3, #0] 803b868: b2db uxtb r3, r3 803b86a: 2b14 cmp r3, #20 803b86c: f200 8146 bhi.w 803bafc k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803b870: 4b99 ldr r3, [pc, #612] ; (803bad8 ) 803b872: edd3 7a06 vldr s15, [r3, #24] 803b876: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803b87a: ee67 7a87 vmul.f32 s15, s15, s14 803b87e: eefc 7ae7 vcvt.u32.f32 s15, s15 803b882: ee17 3a90 vmov r3, s15 803b886: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803b88a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b88e: 095b lsrs r3, r3, #5 803b890: 4a95 ldr r2, [pc, #596] ; (803bae8 ) 803b892: fba2 2303 umull r2, r3, r2, r3 803b896: 09db lsrs r3, r3, #7 803b898: b2db uxtb r3, r3 803b89a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803b89e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b8a2: 0953 lsrs r3, r2, #5 803b8a4: 4990 ldr r1, [pc, #576] ; (803bae8 ) 803b8a6: fba1 1303 umull r1, r3, r1, r3 803b8aa: 09db lsrs r3, r3, #7 803b8ac: 4988 ldr r1, [pc, #544] ; (803bad0 ) 803b8ae: fb01 f303 mul.w r3, r1, r3 803b8b2: 1ad3 subs r3, r2, r3 803b8b4: 4a8d ldr r2, [pc, #564] ; (803baec ) 803b8b6: fba2 2303 umull r2, r3, r2, r3 803b8ba: 0b5b lsrs r3, r3, #13 803b8bc: b2db uxtb r3, r3 803b8be: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803b8c2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b8c6: 0953 lsrs r3, r2, #5 803b8c8: 4987 ldr r1, [pc, #540] ; (803bae8 ) 803b8ca: fba1 1303 umull r1, r3, r1, r3 803b8ce: 09db lsrs r3, r3, #7 803b8d0: 497f ldr r1, [pc, #508] ; (803bad0 ) 803b8d2: fb01 f303 mul.w r3, r1, r3 803b8d6: 1ad3 subs r3, r2, r3 803b8d8: 4a84 ldr r2, [pc, #528] ; (803baec ) 803b8da: fba2 1203 umull r1, r2, r2, r3 803b8de: 0b52 lsrs r2, r2, #13 803b8e0: f242 7110 movw r1, #10000 ; 0x2710 803b8e4: fb01 f202 mul.w r2, r1, r2 803b8e8: 1a9a subs r2, r3, r2 803b8ea: 4b81 ldr r3, [pc, #516] ; (803baf0 ) 803b8ec: fba3 2302 umull r2, r3, r3, r2 803b8f0: 099b lsrs r3, r3, #6 803b8f2: b2db uxtb r3, r3 803b8f4: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803b8f8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b8fc: 095a lsrs r2, r3, #5 803b8fe: 497a ldr r1, [pc, #488] ; (803bae8 ) 803b900: fba1 1202 umull r1, r2, r1, r2 803b904: 09d2 lsrs r2, r2, #7 803b906: 4972 ldr r1, [pc, #456] ; (803bad0 ) 803b908: fb01 f202 mul.w r2, r1, r2 803b90c: 1a9a subs r2, r3, r2 803b90e: 4b77 ldr r3, [pc, #476] ; (803baec ) 803b910: fba3 1302 umull r1, r3, r3, r2 803b914: 0b5b lsrs r3, r3, #13 803b916: f242 7110 movw r1, #10000 ; 0x2710 803b91a: fb01 f303 mul.w r3, r1, r3 803b91e: 1ad3 subs r3, r2, r3 803b920: 4a73 ldr r2, [pc, #460] ; (803baf0 ) 803b922: fba2 1203 umull r1, r2, r2, r3 803b926: 0992 lsrs r2, r2, #6 803b928: f44f 717a mov.w r1, #1000 ; 0x3e8 803b92c: fb01 f202 mul.w r2, r1, r2 803b930: 1a9a subs r2, r3, r2 803b932: 4b70 ldr r3, [pc, #448] ; (803baf4 ) 803b934: fba3 2302 umull r2, r3, r3, r2 803b938: 095b lsrs r3, r3, #5 803b93a: b2db uxtb r3, r3 803b93c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803b940: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b944: 0953 lsrs r3, r2, #5 803b946: 4968 ldr r1, [pc, #416] ; (803bae8 ) 803b948: fba1 1303 umull r1, r3, r1, r3 803b94c: 09db lsrs r3, r3, #7 803b94e: 4960 ldr r1, [pc, #384] ; (803bad0 ) 803b950: fb01 f303 mul.w r3, r1, r3 803b954: 1ad3 subs r3, r2, r3 803b956: 4a65 ldr r2, [pc, #404] ; (803baec ) 803b958: fba2 1203 umull r1, r2, r2, r3 803b95c: 0b52 lsrs r2, r2, #13 803b95e: f242 7110 movw r1, #10000 ; 0x2710 803b962: fb01 f202 mul.w r2, r1, r2 803b966: 1a9a subs r2, r3, r2 803b968: 4b61 ldr r3, [pc, #388] ; (803baf0 ) 803b96a: fba3 1302 umull r1, r3, r3, r2 803b96e: 099b lsrs r3, r3, #6 803b970: f44f 717a mov.w r1, #1000 ; 0x3e8 803b974: fb01 f303 mul.w r3, r1, r3 803b978: 1ad3 subs r3, r2, r3 803b97a: 4a5e ldr r2, [pc, #376] ; (803baf4 ) 803b97c: fba2 1203 umull r1, r2, r2, r3 803b980: 0952 lsrs r2, r2, #5 803b982: 2164 movs r1, #100 ; 0x64 803b984: fb01 f202 mul.w r2, r1, r2 803b988: 1a9a subs r2, r3, r2 803b98a: 4b5b ldr r3, [pc, #364] ; (803baf8 ) 803b98c: fba3 2302 umull r2, r3, r3, r2 803b990: 08db lsrs r3, r3, #3 803b992: b2db uxtb r3, r3 803b994: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803b998: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b99c: 0953 lsrs r3, r2, #5 803b99e: 4952 ldr r1, [pc, #328] ; (803bae8 ) 803b9a0: fba1 1303 umull r1, r3, r1, r3 803b9a4: 09db lsrs r3, r3, #7 803b9a6: 494a ldr r1, [pc, #296] ; (803bad0 ) 803b9a8: fb01 f303 mul.w r3, r1, r3 803b9ac: 1ad3 subs r3, r2, r3 803b9ae: 4a4f ldr r2, [pc, #316] ; (803baec ) 803b9b0: fba2 1203 umull r1, r2, r2, r3 803b9b4: 0b52 lsrs r2, r2, #13 803b9b6: f242 7110 movw r1, #10000 ; 0x2710 803b9ba: fb01 f202 mul.w r2, r1, r2 803b9be: 1a9a subs r2, r3, r2 803b9c0: 4b4b ldr r3, [pc, #300] ; (803baf0 ) 803b9c2: fba3 1302 umull r1, r3, r3, r2 803b9c6: 099b lsrs r3, r3, #6 803b9c8: f44f 717a mov.w r1, #1000 ; 0x3e8 803b9cc: fb01 f303 mul.w r3, r1, r3 803b9d0: 1ad3 subs r3, r2, r3 803b9d2: 4a48 ldr r2, [pc, #288] ; (803baf4 ) 803b9d4: fba2 1203 umull r1, r2, r2, r3 803b9d8: 0952 lsrs r2, r2, #5 803b9da: 2164 movs r1, #100 ; 0x64 803b9dc: fb01 f202 mul.w r2, r1, r2 803b9e0: 1a9a subs r2, r3, r2 803b9e2: 4b45 ldr r3, [pc, #276] ; (803baf8 ) 803b9e4: fba3 1302 umull r1, r3, r3, r2 803b9e8: 08d9 lsrs r1, r3, #3 803b9ea: 460b mov r3, r1 803b9ec: 009b lsls r3, r3, #2 803b9ee: 440b add r3, r1 803b9f0: 005b lsls r3, r3, #1 803b9f2: 1ad1 subs r1, r2, r3 803b9f4: b2cb uxtb r3, r1 803b9f6: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803b9fa: 4b3a ldr r3, [pc, #232] ; (803bae4 ) 803b9fc: 781b ldrb r3, [r3, #0] 803b9fe: b2db uxtb r3, r3 803ba00: 3b0f subs r3, #15 803ba02: 2b05 cmp r3, #5 803ba04: d836 bhi.n 803ba74 803ba06: a201 add r2, pc, #4 ; (adr r2, 803ba0c ) 803ba08: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803ba0c: 0803ba25 .word 0x0803ba25 803ba10: 0803ba33 .word 0x0803ba33 803ba14: 0803ba43 .word 0x0803ba43 803ba18: 0803ba51 .word 0x0803ba51 803ba1c: 0803ba5d .word 0x0803ba5d 803ba20: 0803ba69 .word 0x0803ba69 k += 100000; 803ba24: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ba28: 4b29 ldr r3, [pc, #164] ; (803bad0 ) 803ba2a: 4413 add r3, r2 803ba2c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ba30: e020 b.n 803ba74 k += 10000; 803ba32: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ba36: f242 7310 movw r3, #10000 ; 0x2710 803ba3a: 4413 add r3, r2 803ba3c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ba40: e018 b.n 803ba74 k += 1000; 803ba42: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ba46: f503 737a add.w r3, r3, #1000 ; 0x3e8 803ba4a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ba4e: e011 b.n 803ba74 k += 100; 803ba50: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ba54: 3364 adds r3, #100 ; 0x64 803ba56: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ba5a: e00b b.n 803ba74 k += 10; 803ba5c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ba60: 330a adds r3, #10 803ba62: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ba66: e005 b.n 803ba74 k++; 803ba68: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ba6c: 3301 adds r3, #1 803ba6e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ba72: bf00 nop if(k > 999999) k = 999999; 803ba74: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ba78: 4a16 ldr r2, [pc, #88] ; (803bad4 ) 803ba7a: 4293 cmp r3, r2 803ba7c: d902 bls.n 803ba84 803ba7e: 4b15 ldr r3, [pc, #84] ; (803bad4 ) 803ba80: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803ba84: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ba88: 2b00 cmp r3, #0 803ba8a: d102 bne.n 803ba92 803ba8c: 2301 movs r3, #1 803ba8e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803ba92: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ba96: ee07 3a90 vmov s15, r3 803ba9a: eef8 7a67 vcvt.f32.u32 s15, s15 803ba9e: 4b0e ldr r3, [pc, #56] ; (803bad8 ) 803baa0: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803baa4: 4b0c ldr r3, [pc, #48] ; (803bad8 ) 803baa6: edd3 7a06 vldr s15, [r3, #24] 803baaa: ed9f 7a0c vldr s14, [pc, #48] ; 803badc 803baae: ee67 7a87 vmul.f32 s15, s15, s14 803bab2: 4b09 ldr r3, [pc, #36] ; (803bad8 ) 803bab4: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803bab8: 4b07 ldr r3, [pc, #28] ; (803bad8 ) 803baba: edd3 7a06 vldr s15, [r3, #24] 803babe: ed9f 7a08 vldr s14, [pc, #32] ; 803bae0 803bac2: ee77 7a87 vadd.f32 s15, s15, s14 803bac6: 4b04 ldr r3, [pc, #16] ; (803bad8 ) 803bac8: edc3 7a06 vstr s15, [r3, #24] 803bacc: e36b b.n 803c1a6 803bace: bf00 nop 803bad0: 000186a0 .word 0x000186a0 803bad4: 000f423f .word 0x000f423f 803bad8: 20023eb8 .word 0x20023eb8 803badc: 3dcccccd .word 0x3dcccccd 803bae0: 3d4ccccd .word 0x3d4ccccd 803bae4: 20020070 .word 0x20020070 803bae8: 0a7c5ac5 .word 0x0a7c5ac5 803baec: d1b71759 .word 0xd1b71759 803baf0: 10624dd3 .word 0x10624dd3 803baf4: 51eb851f .word 0x51eb851f 803baf8: cccccccd .word 0xcccccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 803bafc: 4bd3 ldr r3, [pc, #844] ; (803be4c ) 803bafe: 781b ldrb r3, [r3, #0] 803bb00: b2db uxtb r3, r3 803bb02: 2b18 cmp r3, #24 803bb04: f240 81b6 bls.w 803be74 803bb08: 4bd0 ldr r3, [pc, #832] ; (803be4c ) 803bb0a: 781b ldrb r3, [r3, #0] 803bb0c: b2db uxtb r3, r3 803bb0e: 2b1e cmp r3, #30 803bb10: f200 81b0 bhi.w 803be74 k = (uint32_t) (pardata.HP * 10.0f); 803bb14: 4bce ldr r3, [pc, #824] ; (803be50 ) 803bb16: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803bb1a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803bb1e: ee67 7a87 vmul.f32 s15, s15, s14 803bb22: eefc 7ae7 vcvt.u32.f32 s15, s15 803bb26: ee17 3a90 vmov r3, s15 803bb2a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803bb2e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bb32: 095b lsrs r3, r3, #5 803bb34: 4ac7 ldr r2, [pc, #796] ; (803be54 ) 803bb36: fba2 2303 umull r2, r3, r2, r3 803bb3a: 09db lsrs r3, r3, #7 803bb3c: b2db uxtb r3, r3 803bb3e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803bb42: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bb46: 0953 lsrs r3, r2, #5 803bb48: 49c2 ldr r1, [pc, #776] ; (803be54 ) 803bb4a: fba1 1303 umull r1, r3, r1, r3 803bb4e: 09db lsrs r3, r3, #7 803bb50: 49c1 ldr r1, [pc, #772] ; (803be58 ) 803bb52: fb01 f303 mul.w r3, r1, r3 803bb56: 1ad3 subs r3, r2, r3 803bb58: 4ac0 ldr r2, [pc, #768] ; (803be5c ) 803bb5a: fba2 2303 umull r2, r3, r2, r3 803bb5e: 0b5b lsrs r3, r3, #13 803bb60: b2db uxtb r3, r3 803bb62: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803bb66: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bb6a: 0953 lsrs r3, r2, #5 803bb6c: 49b9 ldr r1, [pc, #740] ; (803be54 ) 803bb6e: fba1 1303 umull r1, r3, r1, r3 803bb72: 09db lsrs r3, r3, #7 803bb74: 49b8 ldr r1, [pc, #736] ; (803be58 ) 803bb76: fb01 f303 mul.w r3, r1, r3 803bb7a: 1ad3 subs r3, r2, r3 803bb7c: 4ab7 ldr r2, [pc, #732] ; (803be5c ) 803bb7e: fba2 1203 umull r1, r2, r2, r3 803bb82: 0b52 lsrs r2, r2, #13 803bb84: f242 7110 movw r1, #10000 ; 0x2710 803bb88: fb01 f202 mul.w r2, r1, r2 803bb8c: 1a9a subs r2, r3, r2 803bb8e: 4bb4 ldr r3, [pc, #720] ; (803be60 ) 803bb90: fba3 2302 umull r2, r3, r3, r2 803bb94: 099b lsrs r3, r3, #6 803bb96: b2db uxtb r3, r3 803bb98: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803bb9c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bba0: 095a lsrs r2, r3, #5 803bba2: 49ac ldr r1, [pc, #688] ; (803be54 ) 803bba4: fba1 1202 umull r1, r2, r1, r2 803bba8: 09d2 lsrs r2, r2, #7 803bbaa: 49ab ldr r1, [pc, #684] ; (803be58 ) 803bbac: fb01 f202 mul.w r2, r1, r2 803bbb0: 1a9a subs r2, r3, r2 803bbb2: 4baa ldr r3, [pc, #680] ; (803be5c ) 803bbb4: fba3 1302 umull r1, r3, r3, r2 803bbb8: 0b5b lsrs r3, r3, #13 803bbba: f242 7110 movw r1, #10000 ; 0x2710 803bbbe: fb01 f303 mul.w r3, r1, r3 803bbc2: 1ad3 subs r3, r2, r3 803bbc4: 4aa6 ldr r2, [pc, #664] ; (803be60 ) 803bbc6: fba2 1203 umull r1, r2, r2, r3 803bbca: 0992 lsrs r2, r2, #6 803bbcc: f44f 717a mov.w r1, #1000 ; 0x3e8 803bbd0: fb01 f202 mul.w r2, r1, r2 803bbd4: 1a9a subs r2, r3, r2 803bbd6: 4ba3 ldr r3, [pc, #652] ; (803be64 ) 803bbd8: fba3 2302 umull r2, r3, r3, r2 803bbdc: 095b lsrs r3, r3, #5 803bbde: b2db uxtb r3, r3 803bbe0: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803bbe4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bbe8: 0953 lsrs r3, r2, #5 803bbea: 499a ldr r1, [pc, #616] ; (803be54 ) 803bbec: fba1 1303 umull r1, r3, r1, r3 803bbf0: 09db lsrs r3, r3, #7 803bbf2: 4999 ldr r1, [pc, #612] ; (803be58 ) 803bbf4: fb01 f303 mul.w r3, r1, r3 803bbf8: 1ad3 subs r3, r2, r3 803bbfa: 4a98 ldr r2, [pc, #608] ; (803be5c ) 803bbfc: fba2 1203 umull r1, r2, r2, r3 803bc00: 0b52 lsrs r2, r2, #13 803bc02: f242 7110 movw r1, #10000 ; 0x2710 803bc06: fb01 f202 mul.w r2, r1, r2 803bc0a: 1a9a subs r2, r3, r2 803bc0c: 4b94 ldr r3, [pc, #592] ; (803be60 ) 803bc0e: fba3 1302 umull r1, r3, r3, r2 803bc12: 099b lsrs r3, r3, #6 803bc14: f44f 717a mov.w r1, #1000 ; 0x3e8 803bc18: fb01 f303 mul.w r3, r1, r3 803bc1c: 1ad3 subs r3, r2, r3 803bc1e: 4a91 ldr r2, [pc, #580] ; (803be64 ) 803bc20: fba2 1203 umull r1, r2, r2, r3 803bc24: 0952 lsrs r2, r2, #5 803bc26: 2164 movs r1, #100 ; 0x64 803bc28: fb01 f202 mul.w r2, r1, r2 803bc2c: 1a9a subs r2, r3, r2 803bc2e: 4b8e ldr r3, [pc, #568] ; (803be68 ) 803bc30: fba3 2302 umull r2, r3, r3, r2 803bc34: 08db lsrs r3, r3, #3 803bc36: b2db uxtb r3, r3 803bc38: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803bc3c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bc40: 0953 lsrs r3, r2, #5 803bc42: 4984 ldr r1, [pc, #528] ; (803be54 ) 803bc44: fba1 1303 umull r1, r3, r1, r3 803bc48: 09db lsrs r3, r3, #7 803bc4a: 4983 ldr r1, [pc, #524] ; (803be58 ) 803bc4c: fb01 f303 mul.w r3, r1, r3 803bc50: 1ad3 subs r3, r2, r3 803bc52: 4a82 ldr r2, [pc, #520] ; (803be5c ) 803bc54: fba2 1203 umull r1, r2, r2, r3 803bc58: 0b52 lsrs r2, r2, #13 803bc5a: f242 7110 movw r1, #10000 ; 0x2710 803bc5e: fb01 f202 mul.w r2, r1, r2 803bc62: 1a9a subs r2, r3, r2 803bc64: 4b7e ldr r3, [pc, #504] ; (803be60 ) 803bc66: fba3 1302 umull r1, r3, r3, r2 803bc6a: 099b lsrs r3, r3, #6 803bc6c: f44f 717a mov.w r1, #1000 ; 0x3e8 803bc70: fb01 f303 mul.w r3, r1, r3 803bc74: 1ad3 subs r3, r2, r3 803bc76: 4a7b ldr r2, [pc, #492] ; (803be64 ) 803bc78: fba2 1203 umull r1, r2, r2, r3 803bc7c: 0952 lsrs r2, r2, #5 803bc7e: 2164 movs r1, #100 ; 0x64 803bc80: fb01 f202 mul.w r2, r1, r2 803bc84: 1a9a subs r2, r3, r2 803bc86: 4b78 ldr r3, [pc, #480] ; (803be68 ) 803bc88: fba3 1302 umull r1, r3, r3, r2 803bc8c: 08d9 lsrs r1, r3, #3 803bc8e: 460b mov r3, r1 803bc90: 009b lsls r3, r3, #2 803bc92: 440b add r3, r1 803bc94: 005b lsls r3, r3, #1 803bc96: 1ad1 subs r1, r2, r3 803bc98: b2cb uxtb r3, r1 803bc9a: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803bc9e: 4b6b ldr r3, [pc, #428] ; (803be4c ) 803bca0: 781b ldrb r3, [r3, #0] 803bca2: b2db uxtb r3, r3 803bca4: 3b19 subs r3, #25 803bca6: 2b05 cmp r3, #5 803bca8: d836 bhi.n 803bd18 803bcaa: a201 add r2, pc, #4 ; (adr r2, 803bcb0 ) 803bcac: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803bcb0: 0803bcc9 .word 0x0803bcc9 803bcb4: 0803bcd7 .word 0x0803bcd7 803bcb8: 0803bce7 .word 0x0803bce7 803bcbc: 0803bcf5 .word 0x0803bcf5 803bcc0: 0803bd01 .word 0x0803bd01 803bcc4: 0803bd0d .word 0x0803bd0d k += 100000; 803bcc8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bccc: 4b62 ldr r3, [pc, #392] ; (803be58 ) 803bcce: 4413 add r3, r2 803bcd0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803bcd4: e020 b.n 803bd18 k += 10000; 803bcd6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bcda: f242 7310 movw r3, #10000 ; 0x2710 803bcde: 4413 add r3, r2 803bce0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803bce4: e018 b.n 803bd18 k += 1000; 803bce6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bcea: f503 737a add.w r3, r3, #1000 ; 0x3e8 803bcee: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803bcf2: e011 b.n 803bd18 k += 100; 803bcf4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bcf8: 3364 adds r3, #100 ; 0x64 803bcfa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803bcfe: e00b b.n 803bd18 k += 10; 803bd00: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bd04: 330a adds r3, #10 803bd06: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803bd0a: e005 b.n 803bd18 k++; 803bd0c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bd10: 3301 adds r3, #1 803bd12: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803bd16: bf00 nop fl = (float32_t) k; 803bd18: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bd1c: ee07 3a90 vmov s15, r3 803bd20: eef8 7a67 vcvt.f32.u32 s15, s15 803bd24: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803bd28: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803bd2c: ed9f 7a4f vldr s14, [pc, #316] ; 803be6c 803bd30: ee67 7a87 vmul.f32 s15, s15, s14 803bd34: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803bd38: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803bd3c: ed9f 7a4c vldr s14, [pc, #304] ; 803be70 803bd40: ee77 7a87 vadd.f32 s15, s15, s14 803bd44: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 803bd48: 4b41 ldr r3, [pc, #260] ; (803be50 ) 803bd4a: 785b ldrb r3, [r3, #1] 803bd4c: b2db uxtb r3, r3 803bd4e: 2b00 cmp r3, #0 803bd50: d13d bne.n 803bdce if(fl < 0.5f) 803bd52: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803bd56: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 803bd5a: eef4 7ac7 vcmpe.f32 s15, s14 803bd5e: eef1 fa10 vmrs APSR_nzcv, fpscr 803bd62: d505 bpl.n 803bd70 pardata.HP = 0.5f; 803bd64: 4b3a ldr r3, [pc, #232] ; (803be50 ) 803bd66: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 803bd6a: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803bd6e: e21a b.n 803c1a6 if(fl > pardata.LP) 803bd70: 4b37 ldr r3, [pc, #220] ; (803be50 ) 803bd72: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803bd76: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803bd7a: eeb4 7ae7 vcmpe.f32 s14, s15 803bd7e: eef1 fa10 vmrs APSR_nzcv, fpscr 803bd82: d506 bpl.n 803bd92 pardata.HP = pardata.LP; 803bd84: 4b32 ldr r3, [pc, #200] ; (803be50 ) 803bd86: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 803bd8a: 4a31 ldr r2, [pc, #196] ; (803be50 ) 803bd8c: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 803bd90: e209 b.n 803c1a6 pardata.HP = (float32_t) k; 803bd92: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bd96: ee07 3a90 vmov s15, r3 803bd9a: eef8 7a67 vcvt.f32.u32 s15, s15 803bd9e: 4b2c ldr r3, [pc, #176] ; (803be50 ) 803bda0: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803bda4: 4b2a ldr r3, [pc, #168] ; (803be50 ) 803bda6: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803bdaa: ed9f 7a30 vldr s14, [pc, #192] ; 803be6c 803bdae: ee67 7a87 vmul.f32 s15, s15, s14 803bdb2: 4b27 ldr r3, [pc, #156] ; (803be50 ) 803bdb4: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 803bdb8: 4b25 ldr r3, [pc, #148] ; (803be50 ) 803bdba: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803bdbe: ed9f 7a2c vldr s14, [pc, #176] ; 803be70 803bdc2: ee77 7a87 vadd.f32 s15, s15, s14 803bdc6: 4b22 ldr r3, [pc, #136] ; (803be50 ) 803bdc8: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803bdcc: e1eb b.n 803c1a6 if(fl < 2.0f) 803bdce: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803bdd2: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 803bdd6: eef4 7ac7 vcmpe.f32 s15, s14 803bdda: eef1 fa10 vmrs APSR_nzcv, fpscr 803bdde: d505 bpl.n 803bdec pardata.HP = 2.0f; 803bde0: 4b1b ldr r3, [pc, #108] ; (803be50 ) 803bde2: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 803bde6: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803bdea: e1dc b.n 803c1a6 if(fl > pardata.LP) 803bdec: 4b18 ldr r3, [pc, #96] ; (803be50 ) 803bdee: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803bdf2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803bdf6: eeb4 7ae7 vcmpe.f32 s14, s15 803bdfa: eef1 fa10 vmrs APSR_nzcv, fpscr 803bdfe: d506 bpl.n 803be0e pardata.HP = pardata.LP; 803be00: 4b13 ldr r3, [pc, #76] ; (803be50 ) 803be02: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 803be06: 4a12 ldr r2, [pc, #72] ; (803be50 ) 803be08: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 803be0c: e1cb b.n 803c1a6 pardata.HP = (float32_t) k; 803be0e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803be12: ee07 3a90 vmov s15, r3 803be16: eef8 7a67 vcvt.f32.u32 s15, s15 803be1a: 4b0d ldr r3, [pc, #52] ; (803be50 ) 803be1c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803be20: 4b0b ldr r3, [pc, #44] ; (803be50 ) 803be22: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803be26: ed9f 7a11 vldr s14, [pc, #68] ; 803be6c 803be2a: ee67 7a87 vmul.f32 s15, s15, s14 803be2e: 4b08 ldr r3, [pc, #32] ; (803be50 ) 803be30: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 803be34: 4b06 ldr r3, [pc, #24] ; (803be50 ) 803be36: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803be3a: ed9f 7a0d vldr s14, [pc, #52] ; 803be70 803be3e: ee77 7a87 vadd.f32 s15, s15, s14 803be42: 4b03 ldr r3, [pc, #12] ; (803be50 ) 803be44: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803be48: e1ad b.n 803c1a6 803be4a: bf00 nop 803be4c: 20020070 .word 0x20020070 803be50: 20023eb8 .word 0x20023eb8 803be54: 0a7c5ac5 .word 0x0a7c5ac5 803be58: 000186a0 .word 0x000186a0 803be5c: d1b71759 .word 0xd1b71759 803be60: 10624dd3 .word 0x10624dd3 803be64: 51eb851f .word 0x51eb851f 803be68: cccccccd .word 0xcccccccd 803be6c: 3dcccccd .word 0x3dcccccd 803be70: 38d1b717 .word 0x38d1b717 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 803be74: 4bcd ldr r3, [pc, #820] ; (803c1ac ) 803be76: 781b ldrb r3, [r3, #0] 803be78: b2db uxtb r3, r3 803be7a: 2b1e cmp r3, #30 803be7c: f241 8140 bls.w 803d100 803be80: 4bca ldr r3, [pc, #808] ; (803c1ac ) 803be82: 781b ldrb r3, [r3, #0] 803be84: b2db uxtb r3, r3 803be86: 2b24 cmp r3, #36 ; 0x24 803be88: f201 813a bhi.w 803d100 k = (uint32_t) (pardata.LP * 10.0f); 803be8c: 4bc8 ldr r3, [pc, #800] ; (803c1b0 ) 803be8e: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803be92: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803be96: ee67 7a87 vmul.f32 s15, s15, s14 803be9a: eefc 7ae7 vcvt.u32.f32 s15, s15 803be9e: ee17 3a90 vmov r3, s15 803bea2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803bea6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803beaa: 095b lsrs r3, r3, #5 803beac: 4ac1 ldr r2, [pc, #772] ; (803c1b4 ) 803beae: fba2 2303 umull r2, r3, r2, r3 803beb2: 09db lsrs r3, r3, #7 803beb4: b2db uxtb r3, r3 803beb6: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803beba: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bebe: 0953 lsrs r3, r2, #5 803bec0: 49bc ldr r1, [pc, #752] ; (803c1b4 ) 803bec2: fba1 1303 umull r1, r3, r1, r3 803bec6: 09db lsrs r3, r3, #7 803bec8: 49bb ldr r1, [pc, #748] ; (803c1b8 ) 803beca: fb01 f303 mul.w r3, r1, r3 803bece: 1ad3 subs r3, r2, r3 803bed0: 4aba ldr r2, [pc, #744] ; (803c1bc ) 803bed2: fba2 2303 umull r2, r3, r2, r3 803bed6: 0b5b lsrs r3, r3, #13 803bed8: b2db uxtb r3, r3 803beda: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803bede: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bee2: 0953 lsrs r3, r2, #5 803bee4: 49b3 ldr r1, [pc, #716] ; (803c1b4 ) 803bee6: fba1 1303 umull r1, r3, r1, r3 803beea: 09db lsrs r3, r3, #7 803beec: 49b2 ldr r1, [pc, #712] ; (803c1b8 ) 803beee: fb01 f303 mul.w r3, r1, r3 803bef2: 1ad3 subs r3, r2, r3 803bef4: 4ab1 ldr r2, [pc, #708] ; (803c1bc ) 803bef6: fba2 1203 umull r1, r2, r2, r3 803befa: 0b52 lsrs r2, r2, #13 803befc: f242 7110 movw r1, #10000 ; 0x2710 803bf00: fb01 f202 mul.w r2, r1, r2 803bf04: 1a9a subs r2, r3, r2 803bf06: 4bae ldr r3, [pc, #696] ; (803c1c0 ) 803bf08: fba3 2302 umull r2, r3, r3, r2 803bf0c: 099b lsrs r3, r3, #6 803bf0e: b2db uxtb r3, r3 803bf10: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803bf14: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bf18: 095a lsrs r2, r3, #5 803bf1a: 49a6 ldr r1, [pc, #664] ; (803c1b4 ) 803bf1c: fba1 1202 umull r1, r2, r1, r2 803bf20: 09d2 lsrs r2, r2, #7 803bf22: 49a5 ldr r1, [pc, #660] ; (803c1b8 ) 803bf24: fb01 f202 mul.w r2, r1, r2 803bf28: 1a9a subs r2, r3, r2 803bf2a: 4ba4 ldr r3, [pc, #656] ; (803c1bc ) 803bf2c: fba3 1302 umull r1, r3, r3, r2 803bf30: 0b5b lsrs r3, r3, #13 803bf32: f242 7110 movw r1, #10000 ; 0x2710 803bf36: fb01 f303 mul.w r3, r1, r3 803bf3a: 1ad3 subs r3, r2, r3 803bf3c: 4aa0 ldr r2, [pc, #640] ; (803c1c0 ) 803bf3e: fba2 1203 umull r1, r2, r2, r3 803bf42: 0992 lsrs r2, r2, #6 803bf44: f44f 717a mov.w r1, #1000 ; 0x3e8 803bf48: fb01 f202 mul.w r2, r1, r2 803bf4c: 1a9a subs r2, r3, r2 803bf4e: 4b9d ldr r3, [pc, #628] ; (803c1c4 ) 803bf50: fba3 2302 umull r2, r3, r3, r2 803bf54: 095b lsrs r3, r3, #5 803bf56: b2db uxtb r3, r3 803bf58: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803bf5c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bf60: 0953 lsrs r3, r2, #5 803bf62: 4994 ldr r1, [pc, #592] ; (803c1b4 ) 803bf64: fba1 1303 umull r1, r3, r1, r3 803bf68: 09db lsrs r3, r3, #7 803bf6a: 4993 ldr r1, [pc, #588] ; (803c1b8 ) 803bf6c: fb01 f303 mul.w r3, r1, r3 803bf70: 1ad3 subs r3, r2, r3 803bf72: 4a92 ldr r2, [pc, #584] ; (803c1bc ) 803bf74: fba2 1203 umull r1, r2, r2, r3 803bf78: 0b52 lsrs r2, r2, #13 803bf7a: f242 7110 movw r1, #10000 ; 0x2710 803bf7e: fb01 f202 mul.w r2, r1, r2 803bf82: 1a9a subs r2, r3, r2 803bf84: 4b8e ldr r3, [pc, #568] ; (803c1c0 ) 803bf86: fba3 1302 umull r1, r3, r3, r2 803bf8a: 099b lsrs r3, r3, #6 803bf8c: f44f 717a mov.w r1, #1000 ; 0x3e8 803bf90: fb01 f303 mul.w r3, r1, r3 803bf94: 1ad3 subs r3, r2, r3 803bf96: 4a8b ldr r2, [pc, #556] ; (803c1c4 ) 803bf98: fba2 1203 umull r1, r2, r2, r3 803bf9c: 0952 lsrs r2, r2, #5 803bf9e: 2164 movs r1, #100 ; 0x64 803bfa0: fb01 f202 mul.w r2, r1, r2 803bfa4: 1a9a subs r2, r3, r2 803bfa6: 4b88 ldr r3, [pc, #544] ; (803c1c8 ) 803bfa8: fba3 2302 umull r2, r3, r3, r2 803bfac: 08db lsrs r3, r3, #3 803bfae: b2db uxtb r3, r3 803bfb0: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803bfb4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bfb8: 0953 lsrs r3, r2, #5 803bfba: 497e ldr r1, [pc, #504] ; (803c1b4 ) 803bfbc: fba1 1303 umull r1, r3, r1, r3 803bfc0: 09db lsrs r3, r3, #7 803bfc2: 497d ldr r1, [pc, #500] ; (803c1b8 ) 803bfc4: fb01 f303 mul.w r3, r1, r3 803bfc8: 1ad3 subs r3, r2, r3 803bfca: 4a7c ldr r2, [pc, #496] ; (803c1bc ) 803bfcc: fba2 1203 umull r1, r2, r2, r3 803bfd0: 0b52 lsrs r2, r2, #13 803bfd2: f242 7110 movw r1, #10000 ; 0x2710 803bfd6: fb01 f202 mul.w r2, r1, r2 803bfda: 1a9a subs r2, r3, r2 803bfdc: 4b78 ldr r3, [pc, #480] ; (803c1c0 ) 803bfde: fba3 1302 umull r1, r3, r3, r2 803bfe2: 099b lsrs r3, r3, #6 803bfe4: f44f 717a mov.w r1, #1000 ; 0x3e8 803bfe8: fb01 f303 mul.w r3, r1, r3 803bfec: 1ad3 subs r3, r2, r3 803bfee: 4a75 ldr r2, [pc, #468] ; (803c1c4 ) 803bff0: fba2 1203 umull r1, r2, r2, r3 803bff4: 0952 lsrs r2, r2, #5 803bff6: 2164 movs r1, #100 ; 0x64 803bff8: fb01 f202 mul.w r2, r1, r2 803bffc: 1a9a subs r2, r3, r2 803bffe: 4b72 ldr r3, [pc, #456] ; (803c1c8 ) 803c000: fba3 1302 umull r1, r3, r3, r2 803c004: 08d9 lsrs r1, r3, #3 803c006: 460b mov r3, r1 803c008: 009b lsls r3, r3, #2 803c00a: 440b add r3, r1 803c00c: 005b lsls r3, r3, #1 803c00e: 1ad1 subs r1, r2, r3 803c010: b2cb uxtb r3, r1 803c012: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803c016: 4b65 ldr r3, [pc, #404] ; (803c1ac ) 803c018: 781b ldrb r3, [r3, #0] 803c01a: b2db uxtb r3, r3 803c01c: 3b1f subs r3, #31 803c01e: 2b05 cmp r3, #5 803c020: d836 bhi.n 803c090 803c022: a201 add r2, pc, #4 ; (adr r2, 803c028 ) 803c024: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803c028: 0803c041 .word 0x0803c041 803c02c: 0803c04f .word 0x0803c04f 803c030: 0803c05f .word 0x0803c05f 803c034: 0803c06d .word 0x0803c06d 803c038: 0803c079 .word 0x0803c079 803c03c: 0803c085 .word 0x0803c085 k += 100000; 803c040: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c044: 4b5c ldr r3, [pc, #368] ; (803c1b8 ) 803c046: 4413 add r3, r2 803c048: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c04c: e020 b.n 803c090 k += 10000; 803c04e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c052: f242 7310 movw r3, #10000 ; 0x2710 803c056: 4413 add r3, r2 803c058: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c05c: e018 b.n 803c090 k += 1000; 803c05e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c062: f503 737a add.w r3, r3, #1000 ; 0x3e8 803c066: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c06a: e011 b.n 803c090 k += 100; 803c06c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c070: 3364 adds r3, #100 ; 0x64 803c072: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c076: e00b b.n 803c090 k += 10; 803c078: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c07c: 330a adds r3, #10 803c07e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c082: e005 b.n 803c090 k++; 803c084: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c088: 3301 adds r3, #1 803c08a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c08e: bf00 nop fl = (float32_t) k; 803c090: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c094: ee07 3a90 vmov s15, r3 803c098: eef8 7a67 vcvt.f32.u32 s15, s15 803c09c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803c0a0: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803c0a4: ed9f 7a49 vldr s14, [pc, #292] ; 803c1cc 803c0a8: ee67 7a87 vmul.f32 s15, s15, s14 803c0ac: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803c0b0: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803c0b4: ed9f 7a46 vldr s14, [pc, #280] ; 803c1d0 803c0b8: ee77 7a87 vadd.f32 s15, s15, s14 803c0bc: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 803c0c0: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803c0c4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803c0c8: eef4 7ac7 vcmpe.f32 s15, s14 803c0cc: eef1 fa10 vmrs APSR_nzcv, fpscr 803c0d0: d505 bpl.n 803c0de pardata.LP = 10.0f; 803c0d2: 4b37 ldr r3, [pc, #220] ; (803c1b0 ) 803c0d4: 4a3f ldr r2, [pc, #252] ; (803c1d4 ) 803c0d6: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 break; 803c0da: f001 b811 b.w 803d100 if(pardata.LP < pardata.HP) 803c0de: 4b34 ldr r3, [pc, #208] ; (803c1b0 ) 803c0e0: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803c0e4: 4b32 ldr r3, [pc, #200] ; (803c1b0 ) 803c0e6: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803c0ea: eeb4 7ae7 vcmpe.f32 s14, s15 803c0ee: eef1 fa10 vmrs APSR_nzcv, fpscr 803c0f2: d507 bpl.n 803c104 pardata.LP = pardata.HP; 803c0f4: 4b2e ldr r3, [pc, #184] ; (803c1b0 ) 803c0f6: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 803c0fa: 4a2d ldr r2, [pc, #180] ; (803c1b0 ) 803c0fc: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 803c100: f000 bffe b.w 803d100 if(fl > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 803c104: 4b2a ldr r3, [pc, #168] ; (803c1b0 ) 803c106: 7adb ldrb r3, [r3, #11] 803c108: b2db uxtb r3, r3 803c10a: 461a mov r2, r3 803c10c: 4b32 ldr r3, [pc, #200] ; (803c1d8 ) 803c10e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803c112: ee07 3a90 vmov s15, r3 803c116: eeb8 7a67 vcvt.f32.u32 s14, s15 803c11a: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 803c11e: eec7 7a26 vdiv.f32 s15, s14, s13 803c122: ed9f 7a2e vldr s14, [pc, #184] ; 803c1dc 803c126: ee37 7a87 vadd.f32 s14, s15, s14 803c12a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803c12e: eeb4 7ae7 vcmpe.f32 s14, s15 803c132: eef1 fa10 vmrs APSR_nzcv, fpscr 803c136: d517 bpl.n 803c168 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 803c138: 4b1d ldr r3, [pc, #116] ; (803c1b0 ) 803c13a: 7adb ldrb r3, [r3, #11] 803c13c: b2db uxtb r3, r3 803c13e: 461a mov r2, r3 803c140: 4b25 ldr r3, [pc, #148] ; (803c1d8 ) 803c142: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803c146: 4a20 ldr r2, [pc, #128] ; (803c1c8 ) 803c148: fba2 2303 umull r2, r3, r2, r3 803c14c: 089b lsrs r3, r3, #2 803c14e: ee07 3a90 vmov s15, r3 803c152: eef8 7a67 vcvt.f32.u32 s15, s15 803c156: ed9f 7a1e vldr s14, [pc, #120] ; 803c1d0 803c15a: ee77 7a87 vadd.f32 s15, s15, s14 803c15e: 4b14 ldr r3, [pc, #80] ; (803c1b0 ) 803c160: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 803c164: f000 bfcc b.w 803d100 pardata.LP = (float32_t) k; 803c168: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c16c: ee07 3a90 vmov s15, r3 803c170: eef8 7a67 vcvt.f32.u32 s15, s15 803c174: 4b0e ldr r3, [pc, #56] ; (803c1b0 ) 803c176: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 803c17a: 4b0d ldr r3, [pc, #52] ; (803c1b0 ) 803c17c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803c180: ed9f 7a12 vldr s14, [pc, #72] ; 803c1cc 803c184: ee67 7a87 vmul.f32 s15, s15, s14 803c188: 4b09 ldr r3, [pc, #36] ; (803c1b0 ) 803c18a: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 803c18e: 4b08 ldr r3, [pc, #32] ; (803c1b0 ) 803c190: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803c194: ed9f 7a0e vldr s14, [pc, #56] ; 803c1d0 803c198: ee77 7a87 vadd.f32 s15, s15, s14 803c19c: 4b04 ldr r3, [pc, #16] ; (803c1b0 ) 803c19e: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 803c1a2: f000 bfad b.w 803d100 803c1a6: f000 bfab b.w 803d100 803c1aa: bf00 nop 803c1ac: 20020070 .word 0x20020070 803c1b0: 20023eb8 .word 0x20023eb8 803c1b4: 0a7c5ac5 .word 0x0a7c5ac5 803c1b8: 000186a0 .word 0x000186a0 803c1bc: d1b71759 .word 0xd1b71759 803c1c0: 10624dd3 .word 0x10624dd3 803c1c4: 51eb851f .word 0x51eb851f 803c1c8: cccccccd .word 0xcccccccd 803c1cc: 3dcccccd .word 0x3dcccccd 803c1d0: 38d1b717 .word 0x38d1b717 803c1d4: 41200000 .word 0x41200000 803c1d8: 080f5268 .word 0x080f5268 803c1dc: 3851b717 .word 0x3851b717 case ROUTE_MAP: //UP focused = false; 803c1e0: 4bcb ldr r3, [pc, #812] ; (803c510 ) 803c1e2: 2200 movs r2, #0 803c1e4: 701a strb r2, [r3, #0] if((menupos >= PrevPoint) && (menupos <= NextPoint)) 803c1e6: 4bcb ldr r3, [pc, #812] ; (803c514 ) 803c1e8: 781b ldrb r3, [r3, #0] 803c1ea: 4bca ldr r3, [pc, #808] ; (803c514 ) 803c1ec: 781b ldrb r3, [r3, #0] 803c1ee: b2db uxtb r3, r3 803c1f0: 2b02 cmp r3, #2 803c1f2: d80e bhi.n 803c212 { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 803c1f4: 4bc8 ldr r3, [pc, #800] ; (803c518 ) 803c1f6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803c1fa: f003 0304 and.w r3, r3, #4 803c1fe: 2b00 cmp r3, #0 803c200: d103 bne.n 803c20a menupos = RouteMax_ALL; 803c202: 4bc4 ldr r3, [pc, #784] ; (803c514 ) 803c204: 2206 movs r2, #6 803c206: 701a strb r2, [r3, #0] if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 803c208: e15e b.n 803c4c8 else menupos = RouteAutoKu; 803c20a: 4bc2 ldr r3, [pc, #776] ; (803c514 ) 803c20c: 2205 movs r2, #5 803c20e: 701a strb r2, [r3, #0] if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 803c210: e15a b.n 803c4c8 } else if(menupos == RouteMax_ALL) 803c212: 4bc0 ldr r3, [pc, #768] ; (803c514 ) 803c214: 781b ldrb r3, [r3, #0] 803c216: b2db uxtb r3, r3 803c218: 2b06 cmp r3, #6 803c21a: d104 bne.n 803c226 menupos = RouteAutoKu; 803c21c: 4bbd ldr r3, [pc, #756] ; (803c514 ) 803c21e: 2205 movs r2, #5 803c220: 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; 803c222: f000 bf70 b.w 803d106 if(menupos == RouteAutoKu) 803c226: 4bbb ldr r3, [pc, #748] ; (803c514 ) 803c228: 781b ldrb r3, [r3, #0] 803c22a: b2db uxtb r3, r3 803c22c: 2b05 cmp r3, #5 803c22e: d104 bne.n 803c23a menupos = RouteTime; 803c230: 4bb8 ldr r3, [pc, #736] ; (803c514 ) 803c232: 2204 movs r2, #4 803c234: 701a strb r2, [r3, #0] break; 803c236: f000 bf66 b.w 803d106 if(menupos == RouteTime) 803c23a: 4bb6 ldr r3, [pc, #728] ; (803c514 ) 803c23c: 781b ldrb r3, [r3, #0] 803c23e: b2db uxtb r3, r3 803c240: 2b04 cmp r3, #4 803c242: d104 bne.n 803c24e menupos = RouteTacho; 803c244: 4bb3 ldr r3, [pc, #716] ; (803c514 ) 803c246: 2203 movs r2, #3 803c248: 701a strb r2, [r3, #0] break; 803c24a: f000 bf5c b.w 803d106 if((menupos >= RouteMax_IDT) && (menupos <= RouteMax_IKD)) 803c24e: 4bb1 ldr r3, [pc, #708] ; (803c514 ) 803c250: 781b ldrb r3, [r3, #0] 803c252: b2db uxtb r3, r3 803c254: 2b06 cmp r3, #6 803c256: f240 8756 bls.w 803d106 803c25a: 4bae ldr r3, [pc, #696] ; (803c514 ) 803c25c: 781b ldrb r3, [r3, #0] 803c25e: b2db uxtb r3, r3 803c260: 2b0c cmp r3, #12 803c262: f200 8750 bhi.w 803d106 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803c266: 4bac ldr r3, [pc, #688] ; (803c518 ) 803c268: edd3 7a06 vldr s15, [r3, #24] 803c26c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803c270: ee67 7a87 vmul.f32 s15, s15, s14 803c274: eefc 7ae7 vcvt.u32.f32 s15, s15 803c278: ee17 3a90 vmov r3, s15 803c27c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803c280: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c284: 095b lsrs r3, r3, #5 803c286: 4aa5 ldr r2, [pc, #660] ; (803c51c ) 803c288: fba2 2303 umull r2, r3, r2, r3 803c28c: 09db lsrs r3, r3, #7 803c28e: b2db uxtb r3, r3 803c290: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803c294: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c298: 0953 lsrs r3, r2, #5 803c29a: 49a0 ldr r1, [pc, #640] ; (803c51c ) 803c29c: fba1 1303 umull r1, r3, r1, r3 803c2a0: 09db lsrs r3, r3, #7 803c2a2: 499f ldr r1, [pc, #636] ; (803c520 ) 803c2a4: fb01 f303 mul.w r3, r1, r3 803c2a8: 1ad3 subs r3, r2, r3 803c2aa: 4a9e ldr r2, [pc, #632] ; (803c524 ) 803c2ac: fba2 2303 umull r2, r3, r2, r3 803c2b0: 0b5b lsrs r3, r3, #13 803c2b2: b2db uxtb r3, r3 803c2b4: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803c2b8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c2bc: 0953 lsrs r3, r2, #5 803c2be: 4997 ldr r1, [pc, #604] ; (803c51c ) 803c2c0: fba1 1303 umull r1, r3, r1, r3 803c2c4: 09db lsrs r3, r3, #7 803c2c6: 4996 ldr r1, [pc, #600] ; (803c520 ) 803c2c8: fb01 f303 mul.w r3, r1, r3 803c2cc: 1ad3 subs r3, r2, r3 803c2ce: 4a95 ldr r2, [pc, #596] ; (803c524 ) 803c2d0: fba2 1203 umull r1, r2, r2, r3 803c2d4: 0b52 lsrs r2, r2, #13 803c2d6: f242 7110 movw r1, #10000 ; 0x2710 803c2da: fb01 f202 mul.w r2, r1, r2 803c2de: 1a9a subs r2, r3, r2 803c2e0: 4b91 ldr r3, [pc, #580] ; (803c528 ) 803c2e2: fba3 2302 umull r2, r3, r3, r2 803c2e6: 099b lsrs r3, r3, #6 803c2e8: b2db uxtb r3, r3 803c2ea: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803c2ee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c2f2: 095a lsrs r2, r3, #5 803c2f4: 4989 ldr r1, [pc, #548] ; (803c51c ) 803c2f6: fba1 1202 umull r1, r2, r1, r2 803c2fa: 09d2 lsrs r2, r2, #7 803c2fc: 4988 ldr r1, [pc, #544] ; (803c520 ) 803c2fe: fb01 f202 mul.w r2, r1, r2 803c302: 1a9a subs r2, r3, r2 803c304: 4b87 ldr r3, [pc, #540] ; (803c524 ) 803c306: fba3 1302 umull r1, r3, r3, r2 803c30a: 0b5b lsrs r3, r3, #13 803c30c: f242 7110 movw r1, #10000 ; 0x2710 803c310: fb01 f303 mul.w r3, r1, r3 803c314: 1ad3 subs r3, r2, r3 803c316: 4a84 ldr r2, [pc, #528] ; (803c528 ) 803c318: fba2 1203 umull r1, r2, r2, r3 803c31c: 0992 lsrs r2, r2, #6 803c31e: f44f 717a mov.w r1, #1000 ; 0x3e8 803c322: fb01 f202 mul.w r2, r1, r2 803c326: 1a9a subs r2, r3, r2 803c328: 4b80 ldr r3, [pc, #512] ; (803c52c ) 803c32a: fba3 2302 umull r2, r3, r3, r2 803c32e: 095b lsrs r3, r3, #5 803c330: b2db uxtb r3, r3 803c332: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803c336: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c33a: 0953 lsrs r3, r2, #5 803c33c: 4977 ldr r1, [pc, #476] ; (803c51c ) 803c33e: fba1 1303 umull r1, r3, r1, r3 803c342: 09db lsrs r3, r3, #7 803c344: 4976 ldr r1, [pc, #472] ; (803c520 ) 803c346: fb01 f303 mul.w r3, r1, r3 803c34a: 1ad3 subs r3, r2, r3 803c34c: 4a75 ldr r2, [pc, #468] ; (803c524 ) 803c34e: fba2 1203 umull r1, r2, r2, r3 803c352: 0b52 lsrs r2, r2, #13 803c354: f242 7110 movw r1, #10000 ; 0x2710 803c358: fb01 f202 mul.w r2, r1, r2 803c35c: 1a9a subs r2, r3, r2 803c35e: 4b72 ldr r3, [pc, #456] ; (803c528 ) 803c360: fba3 1302 umull r1, r3, r3, r2 803c364: 099b lsrs r3, r3, #6 803c366: f44f 717a mov.w r1, #1000 ; 0x3e8 803c36a: fb01 f303 mul.w r3, r1, r3 803c36e: 1ad3 subs r3, r2, r3 803c370: 4a6e ldr r2, [pc, #440] ; (803c52c ) 803c372: fba2 1203 umull r1, r2, r2, r3 803c376: 0952 lsrs r2, r2, #5 803c378: 2164 movs r1, #100 ; 0x64 803c37a: fb01 f202 mul.w r2, r1, r2 803c37e: 1a9a subs r2, r3, r2 803c380: 4b6b ldr r3, [pc, #428] ; (803c530 ) 803c382: fba3 2302 umull r2, r3, r3, r2 803c386: 08db lsrs r3, r3, #3 803c388: b2db uxtb r3, r3 803c38a: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803c38e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c392: 0953 lsrs r3, r2, #5 803c394: 4961 ldr r1, [pc, #388] ; (803c51c ) 803c396: fba1 1303 umull r1, r3, r1, r3 803c39a: 09db lsrs r3, r3, #7 803c39c: 4960 ldr r1, [pc, #384] ; (803c520 ) 803c39e: fb01 f303 mul.w r3, r1, r3 803c3a2: 1ad3 subs r3, r2, r3 803c3a4: 4a5f ldr r2, [pc, #380] ; (803c524 ) 803c3a6: fba2 1203 umull r1, r2, r2, r3 803c3aa: 0b52 lsrs r2, r2, #13 803c3ac: f242 7110 movw r1, #10000 ; 0x2710 803c3b0: fb01 f202 mul.w r2, r1, r2 803c3b4: 1a9a subs r2, r3, r2 803c3b6: 4b5c ldr r3, [pc, #368] ; (803c528 ) 803c3b8: fba3 1302 umull r1, r3, r3, r2 803c3bc: 099b lsrs r3, r3, #6 803c3be: f44f 717a mov.w r1, #1000 ; 0x3e8 803c3c2: fb01 f303 mul.w r3, r1, r3 803c3c6: 1ad3 subs r3, r2, r3 803c3c8: 4a58 ldr r2, [pc, #352] ; (803c52c ) 803c3ca: fba2 1203 umull r1, r2, r2, r3 803c3ce: 0952 lsrs r2, r2, #5 803c3d0: 2164 movs r1, #100 ; 0x64 803c3d2: fb01 f202 mul.w r2, r1, r2 803c3d6: 1a9a subs r2, r3, r2 803c3d8: 4b55 ldr r3, [pc, #340] ; (803c530 ) 803c3da: fba3 1302 umull r1, r3, r3, r2 803c3de: 08d9 lsrs r1, r3, #3 803c3e0: 460b mov r3, r1 803c3e2: 009b lsls r3, r3, #2 803c3e4: 440b add r3, r1 803c3e6: 005b lsls r3, r3, #1 803c3e8: 1ad1 subs r1, r2, r3 803c3ea: b2cb uxtb r3, r1 803c3ec: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803c3f0: 4b48 ldr r3, [pc, #288] ; (803c514 ) 803c3f2: 781b ldrb r3, [r3, #0] 803c3f4: b2db uxtb r3, r3 803c3f6: 3b07 subs r3, #7 803c3f8: 2b05 cmp r3, #5 803c3fa: d837 bhi.n 803c46c 803c3fc: a201 add r2, pc, #4 ; (adr r2, 803c404 ) 803c3fe: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803c402: bf00 nop 803c404: 0803c41d .word 0x0803c41d 803c408: 0803c42b .word 0x0803c42b 803c40c: 0803c43b .word 0x0803c43b 803c410: 0803c449 .word 0x0803c449 803c414: 0803c455 .word 0x0803c455 803c418: 0803c461 .word 0x0803c461 k += 100000; 803c41c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c420: 4b3f ldr r3, [pc, #252] ; (803c520 ) 803c422: 4413 add r3, r2 803c424: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c428: e020 b.n 803c46c k += 10000; 803c42a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c42e: f242 7310 movw r3, #10000 ; 0x2710 803c432: 4413 add r3, r2 803c434: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c438: e018 b.n 803c46c k += 1000; 803c43a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c43e: f503 737a add.w r3, r3, #1000 ; 0x3e8 803c442: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c446: e011 b.n 803c46c k += 100; 803c448: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c44c: 3364 adds r3, #100 ; 0x64 803c44e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c452: e00b b.n 803c46c k += 10; 803c454: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c458: 330a adds r3, #10 803c45a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c45e: e005 b.n 803c46c k++; 803c460: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c464: 3301 adds r3, #1 803c466: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c46a: bf00 nop if(k > 999999) k = 999999; 803c46c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c470: 4a30 ldr r2, [pc, #192] ; (803c534 ) 803c472: 4293 cmp r3, r2 803c474: d902 bls.n 803c47c 803c476: 4b2f ldr r3, [pc, #188] ; (803c534 ) 803c478: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803c47c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c480: 2b00 cmp r3, #0 803c482: d102 bne.n 803c48a 803c484: 2301 movs r3, #1 803c486: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803c48a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c48e: ee07 3a90 vmov s15, r3 803c492: eef8 7a67 vcvt.f32.u32 s15, s15 803c496: 4b20 ldr r3, [pc, #128] ; (803c518 ) 803c498: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803c49c: 4b1e ldr r3, [pc, #120] ; (803c518 ) 803c49e: edd3 7a06 vldr s15, [r3, #24] 803c4a2: ed9f 7a25 vldr s14, [pc, #148] ; 803c538 803c4a6: ee67 7a87 vmul.f32 s15, s15, s14 803c4aa: 4b1b ldr r3, [pc, #108] ; (803c518 ) 803c4ac: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803c4b0: 4b19 ldr r3, [pc, #100] ; (803c518 ) 803c4b2: edd3 7a06 vldr s15, [r3, #24] 803c4b6: ed9f 7a21 vldr s14, [pc, #132] ; 803c53c 803c4ba: ee77 7a87 vadd.f32 s15, s15, s14 803c4be: 4b16 ldr r3, [pc, #88] ; (803c518 ) 803c4c0: edc3 7a06 vstr s15, [r3, #24] break; 803c4c4: f000 be1f b.w 803d106 803c4c8: f000 be1d b.w 803d106 case PARAM_WAVE: // KEY_UP focused = false; 803c4cc: 4b10 ldr r3, [pc, #64] ; (803c510 ) 803c4ce: 2200 movs r2, #0 803c4d0: 701a strb r2, [r3, #0] if(menupos == Ok) 803c4d2: 4b10 ldr r3, [pc, #64] ; (803c514 ) 803c4d4: 781b ldrb r3, [r3, #0] 803c4d6: b2db uxtb r3, r3 803c4d8: 2b00 cmp r3, #0 803c4da: d10f bne.n 803c4fc { if(pardata.THR & 0x80) 803c4dc: 4b0e ldr r3, [pc, #56] ; (803c518 ) 803c4de: 7bdb ldrb r3, [r3, #15] 803c4e0: b2db uxtb r3, r3 803c4e2: b25b sxtb r3, r3 803c4e4: 2b00 cmp r3, #0 803c4e6: da04 bge.n 803c4f2 menupos = WaveThr_ALL; 803c4e8: 4b0a ldr r3, [pc, #40] ; (803c514 ) 803c4ea: 2209 movs r2, #9 803c4ec: 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; 803c4ee: f000 be0d b.w 803d10c else menupos = WaveThr; 803c4f2: 4b08 ldr r3, [pc, #32] ; (803c514 ) 803c4f4: 2208 movs r2, #8 803c4f6: 701a strb r2, [r3, #0] break; 803c4f8: f000 be08 b.w 803d10c if(menupos == WaveThr_ALL) 803c4fc: 4b05 ldr r3, [pc, #20] ; (803c514 ) 803c4fe: 781b ldrb r3, [r3, #0] 803c500: b2db uxtb r3, r3 803c502: 2b09 cmp r3, #9 803c504: d11c bne.n 803c540 menupos = WaveThr; 803c506: 4b03 ldr r3, [pc, #12] ; (803c514 ) 803c508: 2208 movs r2, #8 803c50a: 701a strb r2, [r3, #0] break; 803c50c: f000 bdfe b.w 803d10c 803c510: 20020fd0 .word 0x20020fd0 803c514: 20020070 .word 0x20020070 803c518: 20023eb8 .word 0x20023eb8 803c51c: 0a7c5ac5 .word 0x0a7c5ac5 803c520: 000186a0 .word 0x000186a0 803c524: d1b71759 .word 0xd1b71759 803c528: 10624dd3 .word 0x10624dd3 803c52c: 51eb851f .word 0x51eb851f 803c530: cccccccd .word 0xcccccccd 803c534: 000f423f .word 0x000f423f 803c538: 3dcccccd .word 0x3dcccccd 803c53c: 3d4ccccd .word 0x3d4ccccd if(menupos == WaveThr) 803c540: 4bc1 ldr r3, [pc, #772] ; (803c848 ) 803c542: 781b ldrb r3, [r3, #0] 803c544: b2db uxtb r3, r3 803c546: 2b08 cmp r3, #8 803c548: d110 bne.n 803c56c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 803c54a: 4bc0 ldr r3, [pc, #768] ; (803c84c ) 803c54c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803c550: f003 0304 and.w r3, r3, #4 803c554: 2b00 cmp r3, #0 803c556: d104 bne.n 803c562 menupos = WaveMax_ALL; 803c558: 4bbb ldr r3, [pc, #748] ; (803c848 ) 803c55a: 2207 movs r2, #7 803c55c: 701a strb r2, [r3, #0] break; 803c55e: f000 bdd5 b.w 803d10c else menupos = WaveAutoKu; 803c562: 4bb9 ldr r3, [pc, #740] ; (803c848 ) 803c564: 2206 movs r2, #6 803c566: 701a strb r2, [r3, #0] break; 803c568: f000 bdd0 b.w 803d10c if(menupos == WaveMax_ALL) 803c56c: 4bb6 ldr r3, [pc, #728] ; (803c848 ) 803c56e: 781b ldrb r3, [r3, #0] 803c570: b2db uxtb r3, r3 803c572: 2b07 cmp r3, #7 803c574: d104 bne.n 803c580 menupos = WaveAutoKu; 803c576: 4bb4 ldr r3, [pc, #720] ; (803c848 ) 803c578: 2206 movs r2, #6 803c57a: 701a strb r2, [r3, #0] break; 803c57c: f000 bdc6 b.w 803d10c if(menupos == WaveAutoKu) 803c580: 4bb1 ldr r3, [pc, #708] ; (803c848 ) 803c582: 781b ldrb r3, [r3, #0] 803c584: b2db uxtb r3, r3 803c586: 2b06 cmp r3, #6 803c588: d104 bne.n 803c594 menupos = WaveTime; 803c58a: 4baf ldr r3, [pc, #700] ; (803c848 ) 803c58c: 2205 movs r2, #5 803c58e: 701a strb r2, [r3, #0] break; 803c590: f000 bdbc b.w 803d10c if(menupos == WaveTime) 803c594: 4bac ldr r3, [pc, #688] ; (803c848 ) 803c596: 781b ldrb r3, [r3, #0] 803c598: b2db uxtb r3, r3 803c59a: 2b05 cmp r3, #5 803c59c: d104 bne.n 803c5a8 menupos = WaveName; 803c59e: 4baa ldr r3, [pc, #680] ; (803c848 ) 803c5a0: 2204 movs r2, #4 803c5a2: 701a strb r2, [r3, #0] break; 803c5a4: f000 bdb2 b.w 803d10c if(menupos == WaveName) 803c5a8: 4ba7 ldr r3, [pc, #668] ; (803c848 ) 803c5aa: 781b ldrb r3, [r3, #0] 803c5ac: b2db uxtb r3, r3 803c5ae: 2b04 cmp r3, #4 803c5b0: d104 bne.n 803c5bc menupos = WaveTacho; 803c5b2: 4ba5 ldr r3, [pc, #660] ; (803c848 ) 803c5b4: 2203 movs r2, #3 803c5b6: 701a strb r2, [r3, #0] break; 803c5b8: f000 bda8 b.w 803d10c if(menupos == WaveTacho) 803c5bc: 4ba2 ldr r3, [pc, #648] ; (803c848 ) 803c5be: 781b ldrb r3, [r3, #0] 803c5c0: b2db uxtb r3, r3 803c5c2: 2b03 cmp r3, #3 803c5c4: d104 bne.n 803c5d0 menupos = Ok; 803c5c6: 4ba0 ldr r3, [pc, #640] ; (803c848 ) 803c5c8: 2200 movs r2, #0 803c5ca: 701a strb r2, [r3, #0] break; 803c5cc: f000 bd9e b.w 803d10c if((menupos >= WaveThr_IDT) && (menupos <= WaveThr_IKD)) 803c5d0: 4b9d ldr r3, [pc, #628] ; (803c848 ) 803c5d2: 781b ldrb r3, [r3, #0] 803c5d4: b2db uxtb r3, r3 803c5d6: 2b0f cmp r3, #15 803c5d8: f240 814c bls.w 803c874 803c5dc: 4b9a ldr r3, [pc, #616] ; (803c848 ) 803c5de: 781b ldrb r3, [r3, #0] 803c5e0: b2db uxtb r3, r3 803c5e2: 2b15 cmp r3, #21 803c5e4: f200 8146 bhi.w 803c874 k = (uint32_t) (pardata.THR_VAL * 10.0f); 803c5e8: 4b98 ldr r3, [pc, #608] ; (803c84c ) 803c5ea: edd3 7a05 vldr s15, [r3, #20] 803c5ee: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803c5f2: ee67 7a87 vmul.f32 s15, s15, s14 803c5f6: eefc 7ae7 vcvt.u32.f32 s15, s15 803c5fa: ee17 3a90 vmov r3, s15 803c5fe: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803c602: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c606: 095b lsrs r3, r3, #5 803c608: 4a91 ldr r2, [pc, #580] ; (803c850 ) 803c60a: fba2 2303 umull r2, r3, r2, r3 803c60e: 09db lsrs r3, r3, #7 803c610: b2db uxtb r3, r3 803c612: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803c616: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c61a: 0953 lsrs r3, r2, #5 803c61c: 498c ldr r1, [pc, #560] ; (803c850 ) 803c61e: fba1 1303 umull r1, r3, r1, r3 803c622: 09db lsrs r3, r3, #7 803c624: 498b ldr r1, [pc, #556] ; (803c854 ) 803c626: fb01 f303 mul.w r3, r1, r3 803c62a: 1ad3 subs r3, r2, r3 803c62c: 4a8a ldr r2, [pc, #552] ; (803c858 ) 803c62e: fba2 2303 umull r2, r3, r2, r3 803c632: 0b5b lsrs r3, r3, #13 803c634: b2db uxtb r3, r3 803c636: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803c63a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c63e: 0953 lsrs r3, r2, #5 803c640: 4983 ldr r1, [pc, #524] ; (803c850 ) 803c642: fba1 1303 umull r1, r3, r1, r3 803c646: 09db lsrs r3, r3, #7 803c648: 4982 ldr r1, [pc, #520] ; (803c854 ) 803c64a: fb01 f303 mul.w r3, r1, r3 803c64e: 1ad3 subs r3, r2, r3 803c650: 4a81 ldr r2, [pc, #516] ; (803c858 ) 803c652: fba2 1203 umull r1, r2, r2, r3 803c656: 0b52 lsrs r2, r2, #13 803c658: f242 7110 movw r1, #10000 ; 0x2710 803c65c: fb01 f202 mul.w r2, r1, r2 803c660: 1a9a subs r2, r3, r2 803c662: 4b7e ldr r3, [pc, #504] ; (803c85c ) 803c664: fba3 2302 umull r2, r3, r3, r2 803c668: 099b lsrs r3, r3, #6 803c66a: b2db uxtb r3, r3 803c66c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803c670: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c674: 095a lsrs r2, r3, #5 803c676: 4976 ldr r1, [pc, #472] ; (803c850 ) 803c678: fba1 1202 umull r1, r2, r1, r2 803c67c: 09d2 lsrs r2, r2, #7 803c67e: 4975 ldr r1, [pc, #468] ; (803c854 ) 803c680: fb01 f202 mul.w r2, r1, r2 803c684: 1a9a subs r2, r3, r2 803c686: 4b74 ldr r3, [pc, #464] ; (803c858 ) 803c688: fba3 1302 umull r1, r3, r3, r2 803c68c: 0b5b lsrs r3, r3, #13 803c68e: f242 7110 movw r1, #10000 ; 0x2710 803c692: fb01 f303 mul.w r3, r1, r3 803c696: 1ad3 subs r3, r2, r3 803c698: 4a70 ldr r2, [pc, #448] ; (803c85c ) 803c69a: fba2 1203 umull r1, r2, r2, r3 803c69e: 0992 lsrs r2, r2, #6 803c6a0: f44f 717a mov.w r1, #1000 ; 0x3e8 803c6a4: fb01 f202 mul.w r2, r1, r2 803c6a8: 1a9a subs r2, r3, r2 803c6aa: 4b6d ldr r3, [pc, #436] ; (803c860 ) 803c6ac: fba3 2302 umull r2, r3, r3, r2 803c6b0: 095b lsrs r3, r3, #5 803c6b2: b2db uxtb r3, r3 803c6b4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803c6b8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c6bc: 0953 lsrs r3, r2, #5 803c6be: 4964 ldr r1, [pc, #400] ; (803c850 ) 803c6c0: fba1 1303 umull r1, r3, r1, r3 803c6c4: 09db lsrs r3, r3, #7 803c6c6: 4963 ldr r1, [pc, #396] ; (803c854 ) 803c6c8: fb01 f303 mul.w r3, r1, r3 803c6cc: 1ad3 subs r3, r2, r3 803c6ce: 4a62 ldr r2, [pc, #392] ; (803c858 ) 803c6d0: fba2 1203 umull r1, r2, r2, r3 803c6d4: 0b52 lsrs r2, r2, #13 803c6d6: f242 7110 movw r1, #10000 ; 0x2710 803c6da: fb01 f202 mul.w r2, r1, r2 803c6de: 1a9a subs r2, r3, r2 803c6e0: 4b5e ldr r3, [pc, #376] ; (803c85c ) 803c6e2: fba3 1302 umull r1, r3, r3, r2 803c6e6: 099b lsrs r3, r3, #6 803c6e8: f44f 717a mov.w r1, #1000 ; 0x3e8 803c6ec: fb01 f303 mul.w r3, r1, r3 803c6f0: 1ad3 subs r3, r2, r3 803c6f2: 4a5b ldr r2, [pc, #364] ; (803c860 ) 803c6f4: fba2 1203 umull r1, r2, r2, r3 803c6f8: 0952 lsrs r2, r2, #5 803c6fa: 2164 movs r1, #100 ; 0x64 803c6fc: fb01 f202 mul.w r2, r1, r2 803c700: 1a9a subs r2, r3, r2 803c702: 4b58 ldr r3, [pc, #352] ; (803c864 ) 803c704: fba3 2302 umull r2, r3, r3, r2 803c708: 08db lsrs r3, r3, #3 803c70a: b2db uxtb r3, r3 803c70c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803c710: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c714: 0953 lsrs r3, r2, #5 803c716: 494e ldr r1, [pc, #312] ; (803c850 ) 803c718: fba1 1303 umull r1, r3, r1, r3 803c71c: 09db lsrs r3, r3, #7 803c71e: 494d ldr r1, [pc, #308] ; (803c854 ) 803c720: fb01 f303 mul.w r3, r1, r3 803c724: 1ad3 subs r3, r2, r3 803c726: 4a4c ldr r2, [pc, #304] ; (803c858 ) 803c728: fba2 1203 umull r1, r2, r2, r3 803c72c: 0b52 lsrs r2, r2, #13 803c72e: f242 7110 movw r1, #10000 ; 0x2710 803c732: fb01 f202 mul.w r2, r1, r2 803c736: 1a9a subs r2, r3, r2 803c738: 4b48 ldr r3, [pc, #288] ; (803c85c ) 803c73a: fba3 1302 umull r1, r3, r3, r2 803c73e: 099b lsrs r3, r3, #6 803c740: f44f 717a mov.w r1, #1000 ; 0x3e8 803c744: fb01 f303 mul.w r3, r1, r3 803c748: 1ad3 subs r3, r2, r3 803c74a: 4a45 ldr r2, [pc, #276] ; (803c860 ) 803c74c: fba2 1203 umull r1, r2, r2, r3 803c750: 0952 lsrs r2, r2, #5 803c752: 2164 movs r1, #100 ; 0x64 803c754: fb01 f202 mul.w r2, r1, r2 803c758: 1a9a subs r2, r3, r2 803c75a: 4b42 ldr r3, [pc, #264] ; (803c864 ) 803c75c: fba3 1302 umull r1, r3, r3, r2 803c760: 08d9 lsrs r1, r3, #3 803c762: 460b mov r3, r1 803c764: 009b lsls r3, r3, #2 803c766: 440b add r3, r1 803c768: 005b lsls r3, r3, #1 803c76a: 1ad1 subs r1, r2, r3 803c76c: b2cb uxtb r3, r1 803c76e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803c772: 4b35 ldr r3, [pc, #212] ; (803c848 ) 803c774: 781b ldrb r3, [r3, #0] 803c776: b2db uxtb r3, r3 803c778: 3b10 subs r3, #16 803c77a: 2b05 cmp r3, #5 803c77c: d836 bhi.n 803c7ec 803c77e: a201 add r2, pc, #4 ; (adr r2, 803c784 ) 803c780: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803c784: 0803c79d .word 0x0803c79d 803c788: 0803c7ab .word 0x0803c7ab 803c78c: 0803c7bb .word 0x0803c7bb 803c790: 0803c7c9 .word 0x0803c7c9 803c794: 0803c7d5 .word 0x0803c7d5 803c798: 0803c7e1 .word 0x0803c7e1 k += 100000; 803c79c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c7a0: 4b2c ldr r3, [pc, #176] ; (803c854 ) 803c7a2: 4413 add r3, r2 803c7a4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c7a8: e020 b.n 803c7ec k += 10000; 803c7aa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c7ae: f242 7310 movw r3, #10000 ; 0x2710 803c7b2: 4413 add r3, r2 803c7b4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c7b8: e018 b.n 803c7ec k += 1000; 803c7ba: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c7be: f503 737a add.w r3, r3, #1000 ; 0x3e8 803c7c2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c7c6: e011 b.n 803c7ec k += 100; 803c7c8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c7cc: 3364 adds r3, #100 ; 0x64 803c7ce: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c7d2: e00b b.n 803c7ec k += 10; 803c7d4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c7d8: 330a adds r3, #10 803c7da: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c7de: e005 b.n 803c7ec k++; 803c7e0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c7e4: 3301 adds r3, #1 803c7e6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c7ea: bf00 nop if(k > 999999) k = 999999; 803c7ec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c7f0: 4a1d ldr r2, [pc, #116] ; (803c868 ) 803c7f2: 4293 cmp r3, r2 803c7f4: d902 bls.n 803c7fc 803c7f6: 4b1c ldr r3, [pc, #112] ; (803c868 ) 803c7f8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803c7fc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c800: 2b00 cmp r3, #0 803c802: d102 bne.n 803c80a 803c804: 2301 movs r3, #1 803c806: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.THR_VAL = (float32_t) k; 803c80a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c80e: ee07 3a90 vmov s15, r3 803c812: eef8 7a67 vcvt.f32.u32 s15, s15 803c816: 4b0d ldr r3, [pc, #52] ; (803c84c ) 803c818: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL *= 0.1f; 803c81c: 4b0b ldr r3, [pc, #44] ; (803c84c ) 803c81e: edd3 7a05 vldr s15, [r3, #20] 803c822: ed9f 7a12 vldr s14, [pc, #72] ; 803c86c 803c826: ee67 7a87 vmul.f32 s15, s15, s14 803c82a: 4b08 ldr r3, [pc, #32] ; (803c84c ) 803c82c: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL += 0.05f; 803c830: 4b06 ldr r3, [pc, #24] ; (803c84c ) 803c832: edd3 7a05 vldr s15, [r3, #20] 803c836: ed9f 7a0e vldr s14, [pc, #56] ; 803c870 803c83a: ee77 7a87 vadd.f32 s15, s15, s14 803c83e: 4b03 ldr r3, [pc, #12] ; (803c84c ) 803c840: edc3 7a05 vstr s15, [r3, #20] break; 803c844: f000 bc62 b.w 803d10c 803c848: 20020070 .word 0x20020070 803c84c: 20023eb8 .word 0x20023eb8 803c850: 0a7c5ac5 .word 0x0a7c5ac5 803c854: 000186a0 .word 0x000186a0 803c858: d1b71759 .word 0xd1b71759 803c85c: 10624dd3 .word 0x10624dd3 803c860: 51eb851f .word 0x51eb851f 803c864: cccccccd .word 0xcccccccd 803c868: 000f423f .word 0x000f423f 803c86c: 3dcccccd .word 0x3dcccccd 803c870: 3d4ccccd .word 0x3d4ccccd if((menupos >= WaveMax_IDT) && (menupos <= WaveMax_IKD)) 803c874: 4b9d ldr r3, [pc, #628] ; (803caec ) 803c876: 781b ldrb r3, [r3, #0] 803c878: b2db uxtb r3, r3 803c87a: 2b09 cmp r3, #9 803c87c: f240 8446 bls.w 803d10c 803c880: 4b9a ldr r3, [pc, #616] ; (803caec ) 803c882: 781b ldrb r3, [r3, #0] 803c884: b2db uxtb r3, r3 803c886: 2b0f cmp r3, #15 803c888: f200 8440 bhi.w 803d10c k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803c88c: 4b98 ldr r3, [pc, #608] ; (803caf0 ) 803c88e: edd3 7a06 vldr s15, [r3, #24] 803c892: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803c896: ee67 7a87 vmul.f32 s15, s15, s14 803c89a: eefc 7ae7 vcvt.u32.f32 s15, s15 803c89e: ee17 3a90 vmov r3, s15 803c8a2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803c8a6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c8aa: 095b lsrs r3, r3, #5 803c8ac: 4a91 ldr r2, [pc, #580] ; (803caf4 ) 803c8ae: fba2 2303 umull r2, r3, r2, r3 803c8b2: 09db lsrs r3, r3, #7 803c8b4: b2db uxtb r3, r3 803c8b6: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803c8ba: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c8be: 0953 lsrs r3, r2, #5 803c8c0: 498c ldr r1, [pc, #560] ; (803caf4 ) 803c8c2: fba1 1303 umull r1, r3, r1, r3 803c8c6: 09db lsrs r3, r3, #7 803c8c8: 498b ldr r1, [pc, #556] ; (803caf8 ) 803c8ca: fb01 f303 mul.w r3, r1, r3 803c8ce: 1ad3 subs r3, r2, r3 803c8d0: 4a8a ldr r2, [pc, #552] ; (803cafc ) 803c8d2: fba2 2303 umull r2, r3, r2, r3 803c8d6: 0b5b lsrs r3, r3, #13 803c8d8: b2db uxtb r3, r3 803c8da: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803c8de: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c8e2: 0953 lsrs r3, r2, #5 803c8e4: 4983 ldr r1, [pc, #524] ; (803caf4 ) 803c8e6: fba1 1303 umull r1, r3, r1, r3 803c8ea: 09db lsrs r3, r3, #7 803c8ec: 4982 ldr r1, [pc, #520] ; (803caf8 ) 803c8ee: fb01 f303 mul.w r3, r1, r3 803c8f2: 1ad3 subs r3, r2, r3 803c8f4: 4a81 ldr r2, [pc, #516] ; (803cafc ) 803c8f6: fba2 1203 umull r1, r2, r2, r3 803c8fa: 0b52 lsrs r2, r2, #13 803c8fc: f242 7110 movw r1, #10000 ; 0x2710 803c900: fb01 f202 mul.w r2, r1, r2 803c904: 1a9a subs r2, r3, r2 803c906: 4b7e ldr r3, [pc, #504] ; (803cb00 ) 803c908: fba3 2302 umull r2, r3, r3, r2 803c90c: 099b lsrs r3, r3, #6 803c90e: b2db uxtb r3, r3 803c910: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803c914: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c918: 095a lsrs r2, r3, #5 803c91a: 4976 ldr r1, [pc, #472] ; (803caf4 ) 803c91c: fba1 1202 umull r1, r2, r1, r2 803c920: 09d2 lsrs r2, r2, #7 803c922: 4975 ldr r1, [pc, #468] ; (803caf8 ) 803c924: fb01 f202 mul.w r2, r1, r2 803c928: 1a9a subs r2, r3, r2 803c92a: 4b74 ldr r3, [pc, #464] ; (803cafc ) 803c92c: fba3 1302 umull r1, r3, r3, r2 803c930: 0b5b lsrs r3, r3, #13 803c932: f242 7110 movw r1, #10000 ; 0x2710 803c936: fb01 f303 mul.w r3, r1, r3 803c93a: 1ad3 subs r3, r2, r3 803c93c: 4a70 ldr r2, [pc, #448] ; (803cb00 ) 803c93e: fba2 1203 umull r1, r2, r2, r3 803c942: 0992 lsrs r2, r2, #6 803c944: f44f 717a mov.w r1, #1000 ; 0x3e8 803c948: fb01 f202 mul.w r2, r1, r2 803c94c: 1a9a subs r2, r3, r2 803c94e: 4b6d ldr r3, [pc, #436] ; (803cb04 ) 803c950: fba3 2302 umull r2, r3, r3, r2 803c954: 095b lsrs r3, r3, #5 803c956: b2db uxtb r3, r3 803c958: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803c95c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c960: 0953 lsrs r3, r2, #5 803c962: 4964 ldr r1, [pc, #400] ; (803caf4 ) 803c964: fba1 1303 umull r1, r3, r1, r3 803c968: 09db lsrs r3, r3, #7 803c96a: 4963 ldr r1, [pc, #396] ; (803caf8 ) 803c96c: fb01 f303 mul.w r3, r1, r3 803c970: 1ad3 subs r3, r2, r3 803c972: 4a62 ldr r2, [pc, #392] ; (803cafc ) 803c974: fba2 1203 umull r1, r2, r2, r3 803c978: 0b52 lsrs r2, r2, #13 803c97a: f242 7110 movw r1, #10000 ; 0x2710 803c97e: fb01 f202 mul.w r2, r1, r2 803c982: 1a9a subs r2, r3, r2 803c984: 4b5e ldr r3, [pc, #376] ; (803cb00 ) 803c986: fba3 1302 umull r1, r3, r3, r2 803c98a: 099b lsrs r3, r3, #6 803c98c: f44f 717a mov.w r1, #1000 ; 0x3e8 803c990: fb01 f303 mul.w r3, r1, r3 803c994: 1ad3 subs r3, r2, r3 803c996: 4a5b ldr r2, [pc, #364] ; (803cb04 ) 803c998: fba2 1203 umull r1, r2, r2, r3 803c99c: 0952 lsrs r2, r2, #5 803c99e: 2164 movs r1, #100 ; 0x64 803c9a0: fb01 f202 mul.w r2, r1, r2 803c9a4: 1a9a subs r2, r3, r2 803c9a6: 4b58 ldr r3, [pc, #352] ; (803cb08 ) 803c9a8: fba3 2302 umull r2, r3, r3, r2 803c9ac: 08db lsrs r3, r3, #3 803c9ae: b2db uxtb r3, r3 803c9b0: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803c9b4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c9b8: 0953 lsrs r3, r2, #5 803c9ba: 494e ldr r1, [pc, #312] ; (803caf4 ) 803c9bc: fba1 1303 umull r1, r3, r1, r3 803c9c0: 09db lsrs r3, r3, #7 803c9c2: 494d ldr r1, [pc, #308] ; (803caf8 ) 803c9c4: fb01 f303 mul.w r3, r1, r3 803c9c8: 1ad3 subs r3, r2, r3 803c9ca: 4a4c ldr r2, [pc, #304] ; (803cafc ) 803c9cc: fba2 1203 umull r1, r2, r2, r3 803c9d0: 0b52 lsrs r2, r2, #13 803c9d2: f242 7110 movw r1, #10000 ; 0x2710 803c9d6: fb01 f202 mul.w r2, r1, r2 803c9da: 1a9a subs r2, r3, r2 803c9dc: 4b48 ldr r3, [pc, #288] ; (803cb00 ) 803c9de: fba3 1302 umull r1, r3, r3, r2 803c9e2: 099b lsrs r3, r3, #6 803c9e4: f44f 717a mov.w r1, #1000 ; 0x3e8 803c9e8: fb01 f303 mul.w r3, r1, r3 803c9ec: 1ad3 subs r3, r2, r3 803c9ee: 4a45 ldr r2, [pc, #276] ; (803cb04 ) 803c9f0: fba2 1203 umull r1, r2, r2, r3 803c9f4: 0952 lsrs r2, r2, #5 803c9f6: 2164 movs r1, #100 ; 0x64 803c9f8: fb01 f202 mul.w r2, r1, r2 803c9fc: 1a9a subs r2, r3, r2 803c9fe: 4b42 ldr r3, [pc, #264] ; (803cb08 ) 803ca00: fba3 1302 umull r1, r3, r3, r2 803ca04: 08d9 lsrs r1, r3, #3 803ca06: 460b mov r3, r1 803ca08: 009b lsls r3, r3, #2 803ca0a: 440b add r3, r1 803ca0c: 005b lsls r3, r3, #1 803ca0e: 1ad1 subs r1, r2, r3 803ca10: b2cb uxtb r3, r1 803ca12: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803ca16: 4b35 ldr r3, [pc, #212] ; (803caec ) 803ca18: 781b ldrb r3, [r3, #0] 803ca1a: b2db uxtb r3, r3 803ca1c: 3b0a subs r3, #10 803ca1e: 2b05 cmp r3, #5 803ca20: d836 bhi.n 803ca90 803ca22: a201 add r2, pc, #4 ; (adr r2, 803ca28 ) 803ca24: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803ca28: 0803ca41 .word 0x0803ca41 803ca2c: 0803ca4f .word 0x0803ca4f 803ca30: 0803ca5f .word 0x0803ca5f 803ca34: 0803ca6d .word 0x0803ca6d 803ca38: 0803ca79 .word 0x0803ca79 803ca3c: 0803ca85 .word 0x0803ca85 k += 100000; 803ca40: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ca44: 4b2c ldr r3, [pc, #176] ; (803caf8 ) 803ca46: 4413 add r3, r2 803ca48: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ca4c: e020 b.n 803ca90 k += 10000; 803ca4e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ca52: f242 7310 movw r3, #10000 ; 0x2710 803ca56: 4413 add r3, r2 803ca58: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ca5c: e018 b.n 803ca90 k += 1000; 803ca5e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ca62: f503 737a add.w r3, r3, #1000 ; 0x3e8 803ca66: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ca6a: e011 b.n 803ca90 k += 100; 803ca6c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ca70: 3364 adds r3, #100 ; 0x64 803ca72: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ca76: e00b b.n 803ca90 k += 10; 803ca78: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ca7c: 330a adds r3, #10 803ca7e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ca82: e005 b.n 803ca90 k++; 803ca84: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ca88: 3301 adds r3, #1 803ca8a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ca8e: bf00 nop if(k > 999999) k = 999999; 803ca90: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ca94: 4a1d ldr r2, [pc, #116] ; (803cb0c ) 803ca96: 4293 cmp r3, r2 803ca98: d902 bls.n 803caa0 803ca9a: 4b1c ldr r3, [pc, #112] ; (803cb0c ) 803ca9c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803caa0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803caa4: 2b00 cmp r3, #0 803caa6: d102 bne.n 803caae 803caa8: 2301 movs r3, #1 803caaa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803caae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cab2: ee07 3a90 vmov s15, r3 803cab6: eef8 7a67 vcvt.f32.u32 s15, s15 803caba: 4b0d ldr r3, [pc, #52] ; (803caf0 ) 803cabc: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803cac0: 4b0b ldr r3, [pc, #44] ; (803caf0 ) 803cac2: edd3 7a06 vldr s15, [r3, #24] 803cac6: ed9f 7a12 vldr s14, [pc, #72] ; 803cb10 803caca: ee67 7a87 vmul.f32 s15, s15, s14 803cace: 4b08 ldr r3, [pc, #32] ; (803caf0 ) 803cad0: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803cad4: 4b06 ldr r3, [pc, #24] ; (803caf0 ) 803cad6: edd3 7a06 vldr s15, [r3, #24] 803cada: ed9f 7a0e vldr s14, [pc, #56] ; 803cb14 803cade: ee77 7a87 vadd.f32 s15, s15, s14 803cae2: 4b03 ldr r3, [pc, #12] ; (803caf0 ) 803cae4: edc3 7a06 vstr s15, [r3, #24] break; 803cae8: e310 b.n 803d10c 803caea: bf00 nop 803caec: 20020070 .word 0x20020070 803caf0: 20023eb8 .word 0x20023eb8 803caf4: 0a7c5ac5 .word 0x0a7c5ac5 803caf8: 000186a0 .word 0x000186a0 803cafc: d1b71759 .word 0xd1b71759 803cb00: 10624dd3 .word 0x10624dd3 803cb04: 51eb851f .word 0x51eb851f 803cb08: cccccccd .word 0xcccccccd 803cb0c: 000f423f .word 0x000f423f 803cb10: 3dcccccd .word 0x3dcccccd 803cb14: 3d4ccccd .word 0x3d4ccccd case SETTINGS: focused = false; 803cb18: 4bcb ldr r3, [pc, #812] ; (803ce48 ) 803cb1a: 2200 movs r2, #0 803cb1c: 701a strb r2, [r3, #0] if(menupos >= Ies) 803cb1e: 4bcb ldr r3, [pc, #812] ; (803ce4c ) 803cb20: 781b ldrb r3, [r3, #0] 803cb22: b2db uxtb r3, r3 803cb24: 2b0c cmp r3, #12 803cb26: f240 8130 bls.w 803cd8a { k = (uint32_t) (pardata.IKK * 1000.0f); 803cb2a: 4bc9 ldr r3, [pc, #804] ; (803ce50 ) 803cb2c: edd3 7a04 vldr s15, [r3, #16] 803cb30: ed9f 7ac8 vldr s14, [pc, #800] ; 803ce54 803cb34: ee67 7a87 vmul.f32 s15, s15, s14 803cb38: eefc 7ae7 vcvt.u32.f32 s15, s15 803cb3c: ee17 3a90 vmov r3, s15 803cb40: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803cb44: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cb48: 095b lsrs r3, r3, #5 803cb4a: 4ac3 ldr r2, [pc, #780] ; (803ce58 ) 803cb4c: fba2 2303 umull r2, r3, r2, r3 803cb50: 09db lsrs r3, r3, #7 803cb52: b2db uxtb r3, r3 803cb54: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803cb58: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803cb5c: 0953 lsrs r3, r2, #5 803cb5e: 49be ldr r1, [pc, #760] ; (803ce58 ) 803cb60: fba1 1303 umull r1, r3, r1, r3 803cb64: 09db lsrs r3, r3, #7 803cb66: 49bd ldr r1, [pc, #756] ; (803ce5c ) 803cb68: fb01 f303 mul.w r3, r1, r3 803cb6c: 1ad3 subs r3, r2, r3 803cb6e: 4abc ldr r2, [pc, #752] ; (803ce60 ) 803cb70: fba2 2303 umull r2, r3, r2, r3 803cb74: 0b5b lsrs r3, r3, #13 803cb76: b2db uxtb r3, r3 803cb78: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803cb7c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803cb80: 0953 lsrs r3, r2, #5 803cb82: 49b5 ldr r1, [pc, #724] ; (803ce58 ) 803cb84: fba1 1303 umull r1, r3, r1, r3 803cb88: 09db lsrs r3, r3, #7 803cb8a: 49b4 ldr r1, [pc, #720] ; (803ce5c ) 803cb8c: fb01 f303 mul.w r3, r1, r3 803cb90: 1ad3 subs r3, r2, r3 803cb92: 4ab3 ldr r2, [pc, #716] ; (803ce60 ) 803cb94: fba2 1203 umull r1, r2, r2, r3 803cb98: 0b52 lsrs r2, r2, #13 803cb9a: f242 7110 movw r1, #10000 ; 0x2710 803cb9e: fb01 f202 mul.w r2, r1, r2 803cba2: 1a9a subs r2, r3, r2 803cba4: 4baf ldr r3, [pc, #700] ; (803ce64 ) 803cba6: fba3 2302 umull r2, r3, r3, r2 803cbaa: 099b lsrs r3, r3, #6 803cbac: b2db uxtb r3, r3 803cbae: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803cbb2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cbb6: 095a lsrs r2, r3, #5 803cbb8: 49a7 ldr r1, [pc, #668] ; (803ce58 ) 803cbba: fba1 1202 umull r1, r2, r1, r2 803cbbe: 09d2 lsrs r2, r2, #7 803cbc0: 49a6 ldr r1, [pc, #664] ; (803ce5c ) 803cbc2: fb01 f202 mul.w r2, r1, r2 803cbc6: 1a9a subs r2, r3, r2 803cbc8: 4ba5 ldr r3, [pc, #660] ; (803ce60 ) 803cbca: fba3 1302 umull r1, r3, r3, r2 803cbce: 0b5b lsrs r3, r3, #13 803cbd0: f242 7110 movw r1, #10000 ; 0x2710 803cbd4: fb01 f303 mul.w r3, r1, r3 803cbd8: 1ad3 subs r3, r2, r3 803cbda: 4aa2 ldr r2, [pc, #648] ; (803ce64 ) 803cbdc: fba2 1203 umull r1, r2, r2, r3 803cbe0: 0992 lsrs r2, r2, #6 803cbe2: f44f 717a mov.w r1, #1000 ; 0x3e8 803cbe6: fb01 f202 mul.w r2, r1, r2 803cbea: 1a9a subs r2, r3, r2 803cbec: 4b9e ldr r3, [pc, #632] ; (803ce68 ) 803cbee: fba3 2302 umull r2, r3, r3, r2 803cbf2: 095b lsrs r3, r3, #5 803cbf4: b2db uxtb r3, r3 803cbf6: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803cbfa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803cbfe: 0953 lsrs r3, r2, #5 803cc00: 4995 ldr r1, [pc, #596] ; (803ce58 ) 803cc02: fba1 1303 umull r1, r3, r1, r3 803cc06: 09db lsrs r3, r3, #7 803cc08: 4994 ldr r1, [pc, #592] ; (803ce5c ) 803cc0a: fb01 f303 mul.w r3, r1, r3 803cc0e: 1ad3 subs r3, r2, r3 803cc10: 4a93 ldr r2, [pc, #588] ; (803ce60 ) 803cc12: fba2 1203 umull r1, r2, r2, r3 803cc16: 0b52 lsrs r2, r2, #13 803cc18: f242 7110 movw r1, #10000 ; 0x2710 803cc1c: fb01 f202 mul.w r2, r1, r2 803cc20: 1a9a subs r2, r3, r2 803cc22: 4b90 ldr r3, [pc, #576] ; (803ce64 ) 803cc24: fba3 1302 umull r1, r3, r3, r2 803cc28: 099b lsrs r3, r3, #6 803cc2a: f44f 717a mov.w r1, #1000 ; 0x3e8 803cc2e: fb01 f303 mul.w r3, r1, r3 803cc32: 1ad3 subs r3, r2, r3 803cc34: 4a8c ldr r2, [pc, #560] ; (803ce68 ) 803cc36: fba2 1203 umull r1, r2, r2, r3 803cc3a: 0952 lsrs r2, r2, #5 803cc3c: 2164 movs r1, #100 ; 0x64 803cc3e: fb01 f202 mul.w r2, r1, r2 803cc42: 1a9a subs r2, r3, r2 803cc44: 4b89 ldr r3, [pc, #548] ; (803ce6c ) 803cc46: fba3 2302 umull r2, r3, r3, r2 803cc4a: 08db lsrs r3, r3, #3 803cc4c: b2db uxtb r3, r3 803cc4e: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803cc52: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803cc56: 0953 lsrs r3, r2, #5 803cc58: 497f ldr r1, [pc, #508] ; (803ce58 ) 803cc5a: fba1 1303 umull r1, r3, r1, r3 803cc5e: 09db lsrs r3, r3, #7 803cc60: 497e ldr r1, [pc, #504] ; (803ce5c ) 803cc62: fb01 f303 mul.w r3, r1, r3 803cc66: 1ad3 subs r3, r2, r3 803cc68: 4a7d ldr r2, [pc, #500] ; (803ce60 ) 803cc6a: fba2 1203 umull r1, r2, r2, r3 803cc6e: 0b52 lsrs r2, r2, #13 803cc70: f242 7110 movw r1, #10000 ; 0x2710 803cc74: fb01 f202 mul.w r2, r1, r2 803cc78: 1a9a subs r2, r3, r2 803cc7a: 4b7a ldr r3, [pc, #488] ; (803ce64 ) 803cc7c: fba3 1302 umull r1, r3, r3, r2 803cc80: 099b lsrs r3, r3, #6 803cc82: f44f 717a mov.w r1, #1000 ; 0x3e8 803cc86: fb01 f303 mul.w r3, r1, r3 803cc8a: 1ad3 subs r3, r2, r3 803cc8c: 4a76 ldr r2, [pc, #472] ; (803ce68 ) 803cc8e: fba2 1203 umull r1, r2, r2, r3 803cc92: 0952 lsrs r2, r2, #5 803cc94: 2164 movs r1, #100 ; 0x64 803cc96: fb01 f202 mul.w r2, r1, r2 803cc9a: 1a9a subs r2, r3, r2 803cc9c: 4b73 ldr r3, [pc, #460] ; (803ce6c ) 803cc9e: fba3 1302 umull r1, r3, r3, r2 803cca2: 08d9 lsrs r1, r3, #3 803cca4: 460b mov r3, r1 803cca6: 009b lsls r3, r3, #2 803cca8: 440b add r3, r1 803ccaa: 005b lsls r3, r3, #1 803ccac: 1ad1 subs r1, r2, r3 803ccae: b2cb uxtb r3, r1 803ccb0: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803ccb4: 4b65 ldr r3, [pc, #404] ; (803ce4c ) 803ccb6: 781b ldrb r3, [r3, #0] 803ccb8: b2db uxtb r3, r3 803ccba: 3b0d subs r3, #13 803ccbc: 2b05 cmp r3, #5 803ccbe: d837 bhi.n 803cd30 803ccc0: a201 add r2, pc, #4 ; (adr r2, 803ccc8 ) 803ccc2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803ccc6: bf00 nop 803ccc8: 0803cce1 .word 0x0803cce1 803cccc: 0803ccef .word 0x0803ccef 803ccd0: 0803ccff .word 0x0803ccff 803ccd4: 0803cd0d .word 0x0803cd0d 803ccd8: 0803cd19 .word 0x0803cd19 803ccdc: 0803cd25 .word 0x0803cd25 { case Ies: k += 100000; 803cce0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803cce4: 4b5d ldr r3, [pc, #372] ; (803ce5c ) 803cce6: 4413 add r3, r2 803cce8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ccec: e020 b.n 803cd30 case Ied: k += 10000; 803ccee: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ccf2: f242 7310 movw r3, #10000 ; 0x2710 803ccf6: 4413 add r3, r2 803ccf8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ccfc: e018 b.n 803cd30 case Iee: k += 1000; 803ccfe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd02: f503 737a add.w r3, r3, #1000 ; 0x3e8 803cd06: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803cd0a: e011 b.n 803cd30 case Ikd: k += 100; 803cd0c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd10: 3364 adds r3, #100 ; 0x64 803cd12: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803cd16: e00b b.n 803cd30 case Iks: k += 10; 803cd18: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd1c: 330a adds r3, #10 803cd1e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803cd22: e005 b.n 803cd30 case Ikt: k++; 803cd24: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd28: 3301 adds r3, #1 803cd2a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803cd2e: bf00 nop } if(k > 999999) k = 999999; 803cd30: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd34: 4a4e ldr r2, [pc, #312] ; (803ce70 ) 803cd36: 4293 cmp r3, r2 803cd38: d902 bls.n 803cd40 803cd3a: 4b4d ldr r3, [pc, #308] ; (803ce70 ) 803cd3c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803cd40: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd44: 2b00 cmp r3, #0 803cd46: d102 bne.n 803cd4e 803cd48: 2301 movs r3, #1 803cd4a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.IKK = (float32_t) k; 803cd4e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd52: ee07 3a90 vmov s15, r3 803cd56: eef8 7a67 vcvt.f32.u32 s15, s15 803cd5a: 4b3d ldr r3, [pc, #244] ; (803ce50 ) 803cd5c: edc3 7a04 vstr s15, [r3, #16] pardata.IKK *= 0.001f; 803cd60: 4b3b ldr r3, [pc, #236] ; (803ce50 ) 803cd62: edd3 7a04 vldr s15, [r3, #16] 803cd66: ed9f 7a43 vldr s14, [pc, #268] ; 803ce74 803cd6a: ee67 7a87 vmul.f32 s15, s15, s14 803cd6e: 4b38 ldr r3, [pc, #224] ; (803ce50 ) 803cd70: edc3 7a04 vstr s15, [r3, #16] pardata.IKK += 0.0005f; 803cd74: 4b36 ldr r3, [pc, #216] ; (803ce50 ) 803cd76: edd3 7a04 vldr s15, [r3, #16] 803cd7a: ed9f 7a3f vldr s14, [pc, #252] ; 803ce78 803cd7e: ee77 7a87 vadd.f32 s15, s15, s14 803cd82: 4b33 ldr r3, [pc, #204] ; (803ce50 ) 803cd84: edc3 7a04 vstr s15, [r3, #16] #endif #endif #endif } break; 803cd88: e1c3 b.n 803d112 focused = false; 803cd8a: 4b2f ldr r3, [pc, #188] ; (803ce48 ) 803cd8c: 2200 movs r2, #0 803cd8e: 701a strb r2, [r3, #0] if(menupos == Type) menupos = Temper; 803cd90: 4b2e ldr r3, [pc, #184] ; (803ce4c ) 803cd92: 781b ldrb r3, [r3, #0] 803cd94: b2db uxtb r3, r3 803cd96: 2b01 cmp r3, #1 803cd98: d103 bne.n 803cda2 803cd9a: 4b2c ldr r3, [pc, #176] ; (803ce4c ) 803cd9c: 2207 movs r2, #7 803cd9e: 701a strb r2, [r3, #0] break; 803cda0: e1b7 b.n 803d112 else if(menupos == Temper) menupos = FormatDisk; 803cda2: 4b2a ldr r3, [pc, #168] ; (803ce4c ) 803cda4: 781b ldrb r3, [r3, #0] 803cda6: b2db uxtb r3, r3 803cda8: 2b07 cmp r3, #7 803cdaa: d103 bne.n 803cdb4 803cdac: 4b27 ldr r3, [pc, #156] ; (803ce4c ) 803cdae: 2205 movs r2, #5 803cdb0: 701a strb r2, [r3, #0] break; 803cdb2: e1ae b.n 803d112 else if(menupos == FormatDisk) menupos = DateTime; 803cdb4: 4b25 ldr r3, [pc, #148] ; (803ce4c ) 803cdb6: 781b ldrb r3, [r3, #0] 803cdb8: b2db uxtb r3, r3 803cdba: 2b05 cmp r3, #5 803cdbc: d103 bne.n 803cdc6 803cdbe: 4b23 ldr r3, [pc, #140] ; (803ce4c ) 803cdc0: 2204 movs r2, #4 803cdc2: 701a strb r2, [r3, #0] break; 803cdc4: e1a5 b.n 803d112 else if(menupos == DateTime) menupos = Lang; 803cdc6: 4b21 ldr r3, [pc, #132] ; (803ce4c ) 803cdc8: 781b ldrb r3, [r3, #0] 803cdca: b2db uxtb r3, r3 803cdcc: 2b04 cmp r3, #4 803cdce: d103 bne.n 803cdd8 803cdd0: 4b1e ldr r3, [pc, #120] ; (803ce4c ) 803cdd2: 2203 movs r2, #3 803cdd4: 701a strb r2, [r3, #0] break; 803cdd6: e19c b.n 803d112 else if(menupos == Lang) menupos = Sens; 803cdd8: 4b1c ldr r3, [pc, #112] ; (803ce4c ) 803cdda: 781b ldrb r3, [r3, #0] 803cddc: b2db uxtb r3, r3 803cdde: 2b03 cmp r3, #3 803cde0: d103 bne.n 803cdea 803cde2: 4b1a ldr r3, [pc, #104] ; (803ce4c ) 803cde4: 2202 movs r2, #2 803cde6: 701a strb r2, [r3, #0] break; 803cde8: e193 b.n 803d112 else if(menupos == Sens) menupos = Type; 803cdea: 4b18 ldr r3, [pc, #96] ; (803ce4c ) 803cdec: 781b ldrb r3, [r3, #0] 803cdee: b2db uxtb r3, r3 803cdf0: 2b02 cmp r3, #2 803cdf2: f040 818e bne.w 803d112 803cdf6: 4b15 ldr r3, [pc, #84] ; (803ce4c ) 803cdf8: 2201 movs r2, #1 803cdfa: 701a strb r2, [r3, #0] break; 803cdfc: e189 b.n 803d112 case DATETIME: if(menupos > TimeAll) 803cdfe: 4b13 ldr r3, [pc, #76] ; (803ce4c ) 803ce00: 781b ldrb r3, [r3, #0] 803ce02: b2db uxtb r3, r3 803ce04: 2b02 cmp r3, #2 803ce06: d94a bls.n 803ce9e { switch(menupos) 803ce08: 4b10 ldr r3, [pc, #64] ; (803ce4c ) 803ce0a: 781b ldrb r3, [r3, #0] 803ce0c: b2db uxtb r3, r3 803ce0e: 3b03 subs r3, #3 803ce10: 2b04 cmp r3, #4 803ce12: f200 8181 bhi.w 803d118 803ce16: a201 add r2, pc, #4 ; (adr r2, 803ce1c ) 803ce18: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803ce1c: 0803ce31 .word 0x0803ce31 803ce20: 0803ce3d .word 0x0803ce3d 803ce24: 0803ce7d .word 0x0803ce7d 803ce28: 0803ce89 .word 0x0803ce89 803ce2c: 0803ce93 .word 0x0803ce93 { case DateD: ChangeDate(+1, 0, 0); break; 803ce30: 2200 movs r2, #0 803ce32: 2100 movs r1, #0 803ce34: 2001 movs r0, #1 803ce36: f02c f981 bl 806913c 803ce3a: e041 b.n 803cec0 case DateM: ChangeDate(0, +1, 0); break; 803ce3c: 2200 movs r2, #0 803ce3e: 2101 movs r1, #1 803ce40: 2000 movs r0, #0 803ce42: f02c f97b bl 806913c 803ce46: e03b b.n 803cec0 803ce48: 20020fd0 .word 0x20020fd0 803ce4c: 20020070 .word 0x20020070 803ce50: 20023eb8 .word 0x20023eb8 803ce54: 447a0000 .word 0x447a0000 803ce58: 0a7c5ac5 .word 0x0a7c5ac5 803ce5c: 000186a0 .word 0x000186a0 803ce60: d1b71759 .word 0xd1b71759 803ce64: 10624dd3 .word 0x10624dd3 803ce68: 51eb851f .word 0x51eb851f 803ce6c: cccccccd .word 0xcccccccd 803ce70: 000f423f .word 0x000f423f 803ce74: 3a83126f .word 0x3a83126f 803ce78: 3a03126f .word 0x3a03126f case DateY: ChangeDate(0, 0, +1); break; 803ce7c: 2201 movs r2, #1 803ce7e: 2100 movs r1, #0 803ce80: 2000 movs r0, #0 803ce82: f02c f95b bl 806913c 803ce86: e01b b.n 803cec0 case TimeH: ChangeTime(+1, 0); break; 803ce88: 2100 movs r1, #0 803ce8a: 2001 movs r0, #1 803ce8c: f02c f8ec bl 8069068 803ce90: e016 b.n 803cec0 case TimeM: ChangeTime(0, +1); break; 803ce92: 2101 movs r1, #1 803ce94: 2000 movs r0, #0 803ce96: f02c f8e7 bl 8069068 803ce9a: bf00 nop 803ce9c: e010 b.n 803cec0 } } else { if(menupos > DateAll) menupos--; 803ce9e: 4ba9 ldr r3, [pc, #676] ; (803d144 ) 803cea0: 781b ldrb r3, [r3, #0] 803cea2: b2db uxtb r3, r3 803cea4: 2b01 cmp r3, #1 803cea6: d907 bls.n 803ceb8 803cea8: 4ba6 ldr r3, [pc, #664] ; (803d144 ) 803ceaa: 781b ldrb r3, [r3, #0] 803ceac: b2db uxtb r3, r3 803ceae: 3b01 subs r3, #1 803ceb0: b2da uxtb r2, r3 803ceb2: 4ba4 ldr r3, [pc, #656] ; (803d144 ) 803ceb4: 701a strb r2, [r3, #0] else menupos = TimeAll; } break; 803ceb6: e12f b.n 803d118 else menupos = TimeAll; 803ceb8: 4ba2 ldr r3, [pc, #648] ; (803d144 ) 803ceba: 2202 movs r2, #2 803cebc: 701a strb r2, [r3, #0] break; 803cebe: e12b b.n 803d118 803cec0: e12a b.n 803d118 case CLEAN_FILES: if(menupos == FilesPTM) 803cec2: 4ba0 ldr r3, [pc, #640] ; (803d144 ) 803cec4: 781b ldrb r3, [r3, #0] 803cec6: b2db uxtb r3, r3 803cec8: 2b02 cmp r3, #2 803ceca: f040 8128 bne.w 803d11e { if(CursorIndex > 0) 803cece: 4b9e ldr r3, [pc, #632] ; (803d148 ) 803ced0: 681b ldr r3, [r3, #0] 803ced2: 2b00 cmp r3, #0 803ced4: d005 beq.n 803cee2 CursorIndex--; 803ced6: 4b9c ldr r3, [pc, #624] ; (803d148 ) 803ced8: 681b ldr r3, [r3, #0] 803ceda: 3b01 subs r3, #1 803cedc: 4a9a ldr r2, [pc, #616] ; (803d148 ) 803cede: 6013 str r3, [r2, #0] 803cee0: e010 b.n 803cf04 else { if(FirstFileIndex > 0) 803cee2: 4b9a ldr r3, [pc, #616] ; (803d14c ) 803cee4: 681b ldr r3, [r3, #0] 803cee6: 2b00 cmp r3, #0 803cee8: d00c beq.n 803cf04 { FirstFileIndex--; 803ceea: 4b98 ldr r3, [pc, #608] ; (803d14c ) 803ceec: 681b ldr r3, [r3, #0] 803ceee: 3b01 subs r3, #1 803cef0: 4a96 ldr r2, [pc, #600] ; (803d14c ) 803cef2: 6013 str r3, [r2, #0] result = ReadMyFilesPTM(FirstFileIndex); 803cef4: 4b95 ldr r3, [pc, #596] ; (803d14c ) 803cef6: 681b ldr r3, [r3, #0] 803cef8: 4618 mov r0, r3 803cefa: f7ec fe55 bl 8029ba8 803cefe: 4603 mov r3, r0 803cf00: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ ñïèñêà ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803cf04: 4b91 ldr r3, [pc, #580] ; (803d14c ) 803cf06: 681a ldr r2, [r3, #0] 803cf08: 4b8f ldr r3, [pc, #572] ; (803d148 ) 803cf0a: 681b ldr r3, [r3, #0] 803cf0c: 4413 add r3, r2 803cf0e: 4a90 ldr r2, [pc, #576] ; (803d150 ) 803cf10: 6013 str r3, [r2, #0] } break; 803cf12: e104 b.n 803d11e } break;*/ case ARCHIVE: if(menupos > Ok) menupos--; 803cf14: 4b8b ldr r3, [pc, #556] ; (803d144 ) 803cf16: 781b ldrb r3, [r3, #0] 803cf18: b2db uxtb r3, r3 803cf1a: 2b00 cmp r3, #0 803cf1c: d007 beq.n 803cf2e 803cf1e: 4b89 ldr r3, [pc, #548] ; (803d144 ) 803cf20: 781b ldrb r3, [r3, #0] 803cf22: b2db uxtb r3, r3 803cf24: 3b01 subs r3, #1 803cf26: b2da uxtb r2, r3 803cf28: 4b86 ldr r3, [pc, #536] ; (803d144 ) 803cf2a: 701a strb r2, [r3, #0] else menupos = ArchiveWave; break; 803cf2c: e107 b.n 803d13e else menupos = ArchiveWave; 803cf2e: 4b85 ldr r3, [pc, #532] ; (803d144 ) 803cf30: 2202 movs r2, #2 803cf32: 701a strb r2, [r3, #0] break; 803cf34: e103 b.n 803d13e case ARCHIVE_SPEC: if(menupos == FilesSPEC) 803cf36: 4b83 ldr r3, [pc, #524] ; (803d144 ) 803cf38: 781b ldrb r3, [r3, #0] 803cf3a: b2db uxtb r3, r3 803cf3c: 2b02 cmp r3, #2 803cf3e: f040 80f1 bne.w 803d124 { if(CursorIndex > 0) 803cf42: 4b81 ldr r3, [pc, #516] ; (803d148 ) 803cf44: 681b ldr r3, [r3, #0] 803cf46: 2b00 cmp r3, #0 803cf48: d005 beq.n 803cf56 CursorIndex--; 803cf4a: 4b7f ldr r3, [pc, #508] ; (803d148 ) 803cf4c: 681b ldr r3, [r3, #0] 803cf4e: 3b01 subs r3, #1 803cf50: 4a7d ldr r2, [pc, #500] ; (803d148 ) 803cf52: 6013 str r3, [r2, #0] 803cf54: e010 b.n 803cf78 else { if(FirstFileIndex > 0) 803cf56: 4b7d ldr r3, [pc, #500] ; (803d14c ) 803cf58: 681b ldr r3, [r3, #0] 803cf5a: 2b00 cmp r3, #0 803cf5c: d00c beq.n 803cf78 { FirstFileIndex--; 803cf5e: 4b7b ldr r3, [pc, #492] ; (803d14c ) 803cf60: 681b ldr r3, [r3, #0] 803cf62: 3b01 subs r3, #1 803cf64: 4a79 ldr r2, [pc, #484] ; (803d14c ) 803cf66: 6013 str r3, [r2, #0] result = ReadMyFilesSPEC(FirstFileIndex); 803cf68: 4b78 ldr r3, [pc, #480] ; (803d14c ) 803cf6a: 681b ldr r3, [r3, #0] 803cf6c: 4618 mov r0, r3 803cf6e: f7ec fe35 bl 8029bdc 803cf72: 4603 mov r3, r0 803cf74: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ 12 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803cf78: 4b74 ldr r3, [pc, #464] ; (803d14c ) 803cf7a: 681a ldr r2, [r3, #0] 803cf7c: 4b72 ldr r3, [pc, #456] ; (803d148 ) 803cf7e: 681b ldr r3, [r3, #0] 803cf80: 4413 add r3, r2 803cf82: 4a73 ldr r2, [pc, #460] ; (803d150 ) 803cf84: 6013 str r3, [r2, #0] } break; 803cf86: e0cd b.n 803d124 case ARCHIVE_FRAN: if(menupos == FilesFRAN) 803cf88: 4b6e ldr r3, [pc, #440] ; (803d144 ) 803cf8a: 781b ldrb r3, [r3, #0] 803cf8c: b2db uxtb r3, r3 803cf8e: 2b02 cmp r3, #2 803cf90: f040 80cb bne.w 803d12a { if(CursorIndex > 0) 803cf94: 4b6c ldr r3, [pc, #432] ; (803d148 ) 803cf96: 681b ldr r3, [r3, #0] 803cf98: 2b00 cmp r3, #0 803cf9a: d005 beq.n 803cfa8 CursorIndex--; 803cf9c: 4b6a ldr r3, [pc, #424] ; (803d148 ) 803cf9e: 681b ldr r3, [r3, #0] 803cfa0: 3b01 subs r3, #1 803cfa2: 4a69 ldr r2, [pc, #420] ; (803d148 ) 803cfa4: 6013 str r3, [r2, #0] 803cfa6: e010 b.n 803cfca else { if(FirstFileIndex > 0) 803cfa8: 4b68 ldr r3, [pc, #416] ; (803d14c ) 803cfaa: 681b ldr r3, [r3, #0] 803cfac: 2b00 cmp r3, #0 803cfae: d00c beq.n 803cfca { FirstFileIndex--; 803cfb0: 4b66 ldr r3, [pc, #408] ; (803d14c ) 803cfb2: 681b ldr r3, [r3, #0] 803cfb4: 3b01 subs r3, #1 803cfb6: 4a65 ldr r2, [pc, #404] ; (803d14c ) 803cfb8: 6013 str r3, [r2, #0] result = ReadMyFilesFRAN(FirstFileIndex); 803cfba: 4b64 ldr r3, [pc, #400] ; (803d14c ) 803cfbc: 681b ldr r3, [r3, #0] 803cfbe: 4618 mov r0, r3 803cfc0: f7ec fe19 bl 8029bf6 803cfc4: 4603 mov r3, r0 803cfc6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ 12 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803cfca: 4b60 ldr r3, [pc, #384] ; (803d14c ) 803cfcc: 681a ldr r2, [r3, #0] 803cfce: 4b5e ldr r3, [pc, #376] ; (803d148 ) 803cfd0: 681b ldr r3, [r3, #0] 803cfd2: 4413 add r3, r2 803cfd4: 4a5e ldr r2, [pc, #376] ; (803d150 ) 803cfd6: 6013 str r3, [r2, #0] } break; 803cfd8: e0a7 b.n 803d12a case ARCHIVE_WAVE: if(menupos == FilesGTR) 803cfda: 4b5a ldr r3, [pc, #360] ; (803d144 ) 803cfdc: 781b ldrb r3, [r3, #0] 803cfde: b2db uxtb r3, r3 803cfe0: 2b02 cmp r3, #2 803cfe2: f040 80a5 bne.w 803d130 { if(CursorIndex > 0) 803cfe6: 4b58 ldr r3, [pc, #352] ; (803d148 ) 803cfe8: 681b ldr r3, [r3, #0] 803cfea: 2b00 cmp r3, #0 803cfec: d005 beq.n 803cffa CursorIndex--; 803cfee: 4b56 ldr r3, [pc, #344] ; (803d148 ) 803cff0: 681b ldr r3, [r3, #0] 803cff2: 3b01 subs r3, #1 803cff4: 4a54 ldr r2, [pc, #336] ; (803d148 ) 803cff6: 6013 str r3, [r2, #0] 803cff8: e010 b.n 803d01c else { if(FirstFileIndex > 0) 803cffa: 4b54 ldr r3, [pc, #336] ; (803d14c ) 803cffc: 681b ldr r3, [r3, #0] 803cffe: 2b00 cmp r3, #0 803d000: d00c beq.n 803d01c { FirstFileIndex--; 803d002: 4b52 ldr r3, [pc, #328] ; (803d14c ) 803d004: 681b ldr r3, [r3, #0] 803d006: 3b01 subs r3, #1 803d008: 4a50 ldr r2, [pc, #320] ; (803d14c ) 803d00a: 6013 str r3, [r2, #0] //result = ReadMyFilesGTR(FirstFileIndex); result = ReadMyFilesWAV(FirstFileIndex); 803d00c: 4b4f ldr r3, [pc, #316] ; (803d14c ) 803d00e: 681b ldr r3, [r3, #0] 803d010: 4618 mov r0, r3 803d012: f7ec fe0a bl 8029c2a 803d016: 4603 mov r3, r0 803d018: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ 12 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803d01c: 4b4b ldr r3, [pc, #300] ; (803d14c ) 803d01e: 681a ldr r2, [r3, #0] 803d020: 4b49 ldr r3, [pc, #292] ; (803d148 ) 803d022: 681b ldr r3, [r3, #0] 803d024: 4413 add r3, r2 803d026: 4a4a ldr r2, [pc, #296] ; (803d150 ) 803d028: 6013 str r3, [r2, #0] } break; 803d02a: e081 b.n 803d130 case ROUTE: if(menupos == FilesCSV) 803d02c: 4b45 ldr r3, [pc, #276] ; (803d144 ) 803d02e: 781b ldrb r3, [r3, #0] 803d030: b2db uxtb r3, r3 803d032: 2b02 cmp r3, #2 803d034: d17f bne.n 803d136 { if(CursorIndex > 0) 803d036: 4b44 ldr r3, [pc, #272] ; (803d148 ) 803d038: 681b ldr r3, [r3, #0] 803d03a: 2b00 cmp r3, #0 803d03c: d005 beq.n 803d04a CursorIndex--; 803d03e: 4b42 ldr r3, [pc, #264] ; (803d148 ) 803d040: 681b ldr r3, [r3, #0] 803d042: 3b01 subs r3, #1 803d044: 4a40 ldr r2, [pc, #256] ; (803d148 ) 803d046: 6013 str r3, [r2, #0] 803d048: e010 b.n 803d06c else { if(FirstFileIndex > 0) 803d04a: 4b40 ldr r3, [pc, #256] ; (803d14c ) 803d04c: 681b ldr r3, [r3, #0] 803d04e: 2b00 cmp r3, #0 803d050: d00c beq.n 803d06c { FirstFileIndex--; 803d052: 4b3e ldr r3, [pc, #248] ; (803d14c ) 803d054: 681b ldr r3, [r3, #0] 803d056: 3b01 subs r3, #1 803d058: 4a3c ldr r2, [pc, #240] ; (803d14c ) 803d05a: 6013 str r3, [r2, #0] result = ReadMyFilesCSV(FirstFileIndex); 803d05c: 4b3b ldr r3, [pc, #236] ; (803d14c ) 803d05e: 681b ldr r3, [r3, #0] 803d060: 4618 mov r0, r3 803d062: f7ec fdef bl 8029c44 803d066: 4603 mov r3, r0 803d068: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ 12 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803d06c: 4b37 ldr r3, [pc, #220] ; (803d14c ) 803d06e: 681a ldr r2, [r3, #0] 803d070: 4b35 ldr r3, [pc, #212] ; (803d148 ) 803d072: 681b ldr r3, [r3, #0] 803d074: 4413 add r3, r2 803d076: 4a36 ldr r2, [pc, #216] ; (803d150 ) 803d078: 6013 str r3, [r2, #0] } break; 803d07a: e05c b.n 803d136 case CALIBR_00: if(Serial[menupos] < 0x39) 803d07c: 4b31 ldr r3, [pc, #196] ; (803d144 ) 803d07e: 781b ldrb r3, [r3, #0] 803d080: b2db uxtb r3, r3 803d082: 461a mov r2, r3 803d084: 4b33 ldr r3, [pc, #204] ; (803d154 ) 803d086: 5c9b ldrb r3, [r3, r2] 803d088: 2b38 cmp r3, #56 ; 0x38 803d08a: d857 bhi.n 803d13c Serial[menupos]++; 803d08c: 4b2d ldr r3, [pc, #180] ; (803d144 ) 803d08e: 781b ldrb r3, [r3, #0] 803d090: b2db uxtb r3, r3 803d092: 4a30 ldr r2, [pc, #192] ; (803d154 ) 803d094: 5cd2 ldrb r2, [r2, r3] 803d096: 3201 adds r2, #1 803d098: b2d1 uxtb r1, r2 803d09a: 4a2e ldr r2, [pc, #184] ; (803d154 ) 803d09c: 54d1 strb r1, [r2, r3] break; 803d09e: e04d b.n 803d13c break; 803d0a0: bf00 nop 803d0a2: f017 bb57 b.w 8054754 break; 803d0a6: bf00 nop 803d0a8: f017 bb54 b.w 8054754 break; 803d0ac: bf00 nop 803d0ae: f017 bb51 b.w 8054754 break; 803d0b2: bf00 nop 803d0b4: f017 bb4e b.w 8054754 break; 803d0b8: bf00 nop 803d0ba: f017 bb4b b.w 8054754 break; 803d0be: bf00 nop 803d0c0: f017 bb48 b.w 8054754 break; 803d0c4: bf00 nop 803d0c6: f017 bb45 b.w 8054754 break; 803d0ca: bf00 nop 803d0cc: f017 bb42 b.w 8054754 break; 803d0d0: bf00 nop 803d0d2: f017 bb3f b.w 8054754 break; 803d0d6: bf00 nop 803d0d8: f017 bb3c b.w 8054754 break; 803d0dc: bf00 nop 803d0de: f017 bb39 b.w 8054754 break; 803d0e2: bf00 nop 803d0e4: f017 bb36 b.w 8054754 break; 803d0e8: bf00 nop 803d0ea: f017 bb33 b.w 8054754 break; 803d0ee: bf00 nop 803d0f0: f017 bb30 b.w 8054754 break; 803d0f4: bf00 nop 803d0f6: f017 bb2d b.w 8054754 break; 803d0fa: bf00 nop 803d0fc: f017 bb2a b.w 8054754 break; 803d100: bf00 nop 803d102: f017 bb27 b.w 8054754 break; 803d106: bf00 nop 803d108: f017 bb24 b.w 8054754 break; 803d10c: bf00 nop 803d10e: f017 bb21 b.w 8054754 break; 803d112: bf00 nop 803d114: f017 bb1e b.w 8054754 break; 803d118: bf00 nop 803d11a: f017 bb1b b.w 8054754 break; 803d11e: bf00 nop 803d120: f017 bb18 b.w 8054754 break; 803d124: bf00 nop 803d126: f017 bb15 b.w 8054754 break; 803d12a: bf00 nop 803d12c: f017 bb12 b.w 8054754 break; 803d130: bf00 nop 803d132: f017 bb0f b.w 8054754 break; 803d136: bf00 nop 803d138: f017 bb0c b.w 8054754 break; 803d13c: bf00 nop } break; 803d13e: f017 bb09 b.w 8054754 803d142: bf00 nop 803d144: 20020070 .word 0x20020070 803d148: 20020e00 .word 0x20020e00 803d14c: 20020e04 .word 0x20020e04 803d150: 20020e08 .word 0x20020e08 803d154: 20026d64 .word 0x20026d64 case KEY_DN://TODO KEY DOWN switch(menu) 803d158: 4b6d ldr r3, [pc, #436] ; (803d310 ) 803d15a: 781b ldrb r3, [r3, #0] 803d15c: b2db uxtb r3, r3 803d15e: 2b47 cmp r3, #71 ; 0x47 803d160: f217 82fa bhi.w 8054758 803d164: a201 add r2, pc, #4 ; (adr r2, 803d16c ) 803d166: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803d16a: bf00 nop 803d16c: 0803eb59 .word 0x0803eb59 803d170: 0803f37f .word 0x0803f37f 803d174: 0803f3b1 .word 0x0803f3b1 803d178: 08044c61 .word 0x08044c61 803d17c: 08043bdd .word 0x08043bdd 803d180: 08054759 .word 0x08054759 803d184: 08040a6d .word 0x08040a6d 803d188: 08041577 .word 0x08041577 803d18c: 08042cff .word 0x08042cff 803d190: 08054759 .word 0x08054759 803d194: 08043f6b .word 0x08043f6b 803d198: 08054759 .word 0x08054759 803d19c: 08054759 .word 0x08054759 803d1a0: 0803f8e9 .word 0x0803f8e9 803d1a4: 0803f407 .word 0x0803f407 803d1a8: 0803d28d .word 0x0803d28d 803d1ac: 0803d5e5 .word 0x0803d5e5 803d1b0: 0803d60b .word 0x0803d60b 803d1b4: 08044655 .word 0x08044655 803d1b8: 08054759 .word 0x08054759 803d1bc: 08044acd .word 0x08044acd 803d1c0: 08044aef .word 0x08044aef 803d1c4: 08044b5f .word 0x08044b5f 803d1c8: 08044bcf .word 0x08044bcf 803d1cc: 080449c1 .word 0x080449c1 803d1d0: 08044a5d .word 0x08044a5d 803d1d4: 08054759 .word 0x08054759 803d1d8: 08054759 .word 0x08054759 803d1dc: 0803ee95 .word 0x0803ee95 803d1e0: 0803ed13 .word 0x0803ed13 803d1e4: 08054759 .word 0x08054759 803d1e8: 0803eb59 .word 0x0803eb59 803d1ec: 0803f15d .word 0x0803f15d 803d1f0: 0803ef77 .word 0x0803ef77 803d1f4: 0803f019 .word 0x0803f019 803d1f8: 0803f0bb .word 0x0803f0bb 803d1fc: 0803ed8d .word 0x0803ed8d 803d200: 0803ea4b .word 0x0803ea4b 803d204: 0803ea95 .word 0x0803ea95 803d208: 0803ea07 .word 0x0803ea07 803d20c: 0803ee2f .word 0x0803ee2f 803d210: 0803f1cd .word 0x0803f1cd 803d214: 0803f259 .word 0x0803f259 803d218: 0803f2cb .word 0x0803f2cb 803d21c: 0803f2cb .word 0x0803f2cb 803d220: 0803f2cb .word 0x0803f2cb 803d224: 08054759 .word 0x08054759 803d228: 0803f2cb .word 0x0803f2cb 803d22c: 0803f2cb .word 0x0803f2cb 803d230: 0803f2cb .word 0x0803f2cb 803d234: 0803f2cb .word 0x0803f2cb 803d238: 0803f2cb .word 0x0803f2cb 803d23c: 08044cd1 .word 0x08044cd1 803d240: 08054759 .word 0x08054759 803d244: 08054759 .word 0x08054759 803d248: 08054759 .word 0x08054759 803d24c: 08054759 .word 0x08054759 803d250: 08054759 .word 0x08054759 803d254: 08054759 .word 0x08054759 803d258: 08054759 .word 0x08054759 803d25c: 08054759 .word 0x08054759 803d260: 08054759 .word 0x08054759 803d264: 08054759 .word 0x08054759 803d268: 08054759 .word 0x08054759 803d26c: 08054759 .word 0x08054759 803d270: 08054759 .word 0x08054759 803d274: 08054759 .word 0x08054759 803d278: 08054759 .word 0x08054759 803d27c: 08054759 .word 0x08054759 803d280: 0803ea2d .word 0x0803ea2d 803d284: 0803ea37 .word 0x0803ea37 803d288: 0803ea41 .word 0x0803ea41 { case PARAM_DIAGN: focused = false; 803d28c: 4b21 ldr r3, [pc, #132] ; (803d314 ) 803d28e: 2200 movs r2, #0 803d290: 701a strb r2, [r3, #0] if(menupos == DiagUs) 803d292: 4b21 ldr r3, [pc, #132] ; (803d318 ) 803d294: 781b ldrb r3, [r3, #0] 803d296: b2db uxtb r3, r3 803d298: 2b00 cmp r3, #0 803d29a: d104 bne.n 803d2a6 menupos = DiagAverage; 803d29c: 4b1e ldr r3, [pc, #120] ; (803d318 ) 803d29e: 2201 movs r2, #1 803d2a0: 701a strb r2, [r3, #0] pardata.MAX_VAL = (float32_t) k; pardata.MAX_VAL *= 0.1f; pardata.MAX_VAL += 0.05f; } break; 803d2a2: f007 bd27 b.w 8044cf4 if(menupos == DiagAverage) 803d2a6: 4b1c ldr r3, [pc, #112] ; (803d318 ) 803d2a8: 781b ldrb r3, [r3, #0] 803d2aa: b2db uxtb r3, r3 803d2ac: 2b01 cmp r3, #1 803d2ae: d104 bne.n 803d2ba menupos = DiagAutoKu; 803d2b0: 4b19 ldr r3, [pc, #100] ; (803d318 ) 803d2b2: 2202 movs r2, #2 803d2b4: 701a strb r2, [r3, #0] break; 803d2b6: f007 bd1d b.w 8044cf4 if(menupos == DiagAutoKu) 803d2ba: 4b17 ldr r3, [pc, #92] ; (803d318 ) 803d2bc: 781b ldrb r3, [r3, #0] 803d2be: b2db uxtb r3, r3 803d2c0: 2b02 cmp r3, #2 803d2c2: d110 bne.n 803d2e6 if(pardata.OPTIONS & 0x4) 803d2c4: 4b15 ldr r3, [pc, #84] ; (803d31c ) 803d2c6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803d2ca: f003 0304 and.w r3, r3, #4 803d2ce: 2b00 cmp r3, #0 803d2d0: d004 beq.n 803d2dc menupos = DiagSaveToFile; 803d2d2: 4b11 ldr r3, [pc, #68] ; (803d318 ) 803d2d4: 2204 movs r2, #4 803d2d6: 701a strb r2, [r3, #0] break; 803d2d8: f007 bd0c b.w 8044cf4 else menupos = DiagMax_ALL; 803d2dc: 4b0e ldr r3, [pc, #56] ; (803d318 ) 803d2de: 2203 movs r2, #3 803d2e0: 701a strb r2, [r3, #0] break; 803d2e2: f007 bd07 b.w 8044cf4 if(menupos == DiagMax_ALL) 803d2e6: 4b0c ldr r3, [pc, #48] ; (803d318 ) 803d2e8: 781b ldrb r3, [r3, #0] 803d2ea: b2db uxtb r3, r3 803d2ec: 2b03 cmp r3, #3 803d2ee: d104 bne.n 803d2fa menupos = DiagSaveToFile; 803d2f0: 4b09 ldr r3, [pc, #36] ; (803d318 ) 803d2f2: 2204 movs r2, #4 803d2f4: 701a strb r2, [r3, #0] break; 803d2f6: f007 bcfd b.w 8044cf4 if(menupos == DiagSaveToFile) 803d2fa: 4b07 ldr r3, [pc, #28] ; (803d318 ) 803d2fc: 781b ldrb r3, [r3, #0] 803d2fe: b2db uxtb r3, r3 803d300: 2b04 cmp r3, #4 803d302: d10d bne.n 803d320 menupos = DiagUs; 803d304: 4b04 ldr r3, [pc, #16] ; (803d318 ) 803d306: 2200 movs r2, #0 803d308: 701a strb r2, [r3, #0] break; 803d30a: f007 bcf3 b.w 8044cf4 803d30e: bf00 nop 803d310: 20020fc5 .word 0x20020fc5 803d314: 20020fd0 .word 0x20020fd0 803d318: 20020070 .word 0x20020070 803d31c: 20023eb8 .word 0x20023eb8 if((menupos >= DiagMax_IDT) && (menupos <= DiagMax_IKD)) 803d320: 4bc4 ldr r3, [pc, #784] ; (803d634 ) 803d322: 781b ldrb r3, [r3, #0] 803d324: b2db uxtb r3, r3 803d326: 2b04 cmp r3, #4 803d328: f247 84e4 bls.w 8044cf4 803d32c: 4bc1 ldr r3, [pc, #772] ; (803d634 ) 803d32e: 781b ldrb r3, [r3, #0] 803d330: b2db uxtb r3, r3 803d332: 2b0a cmp r3, #10 803d334: f207 84de bhi.w 8044cf4 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803d338: 4bbf ldr r3, [pc, #764] ; (803d638 ) 803d33a: edd3 7a06 vldr s15, [r3, #24] 803d33e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803d342: ee67 7a87 vmul.f32 s15, s15, s14 803d346: eefc 7ae7 vcvt.u32.f32 s15, s15 803d34a: ee17 3a90 vmov r3, s15 803d34e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803d352: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d356: 095b lsrs r3, r3, #5 803d358: 4ab8 ldr r2, [pc, #736] ; (803d63c ) 803d35a: fba2 2303 umull r2, r3, r2, r3 803d35e: 09db lsrs r3, r3, #7 803d360: b2db uxtb r3, r3 803d362: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803d366: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d36a: 0953 lsrs r3, r2, #5 803d36c: 49b3 ldr r1, [pc, #716] ; (803d63c ) 803d36e: fba1 1303 umull r1, r3, r1, r3 803d372: 09db lsrs r3, r3, #7 803d374: 49b2 ldr r1, [pc, #712] ; (803d640 ) 803d376: fb01 f303 mul.w r3, r1, r3 803d37a: 1ad3 subs r3, r2, r3 803d37c: 4ab1 ldr r2, [pc, #708] ; (803d644 ) 803d37e: fba2 2303 umull r2, r3, r2, r3 803d382: 0b5b lsrs r3, r3, #13 803d384: b2db uxtb r3, r3 803d386: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803d38a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d38e: 0953 lsrs r3, r2, #5 803d390: 49aa ldr r1, [pc, #680] ; (803d63c ) 803d392: fba1 1303 umull r1, r3, r1, r3 803d396: 09db lsrs r3, r3, #7 803d398: 49a9 ldr r1, [pc, #676] ; (803d640 ) 803d39a: fb01 f303 mul.w r3, r1, r3 803d39e: 1ad3 subs r3, r2, r3 803d3a0: 4aa8 ldr r2, [pc, #672] ; (803d644 ) 803d3a2: fba2 1203 umull r1, r2, r2, r3 803d3a6: 0b52 lsrs r2, r2, #13 803d3a8: f242 7110 movw r1, #10000 ; 0x2710 803d3ac: fb01 f202 mul.w r2, r1, r2 803d3b0: 1a9a subs r2, r3, r2 803d3b2: 4ba5 ldr r3, [pc, #660] ; (803d648 ) 803d3b4: fba3 2302 umull r2, r3, r3, r2 803d3b8: 099b lsrs r3, r3, #6 803d3ba: b2db uxtb r3, r3 803d3bc: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803d3c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d3c4: 095a lsrs r2, r3, #5 803d3c6: 499d ldr r1, [pc, #628] ; (803d63c ) 803d3c8: fba1 1202 umull r1, r2, r1, r2 803d3cc: 09d2 lsrs r2, r2, #7 803d3ce: 499c ldr r1, [pc, #624] ; (803d640 ) 803d3d0: fb01 f202 mul.w r2, r1, r2 803d3d4: 1a9a subs r2, r3, r2 803d3d6: 4b9b ldr r3, [pc, #620] ; (803d644 ) 803d3d8: fba3 1302 umull r1, r3, r3, r2 803d3dc: 0b5b lsrs r3, r3, #13 803d3de: f242 7110 movw r1, #10000 ; 0x2710 803d3e2: fb01 f303 mul.w r3, r1, r3 803d3e6: 1ad3 subs r3, r2, r3 803d3e8: 4a97 ldr r2, [pc, #604] ; (803d648 ) 803d3ea: fba2 1203 umull r1, r2, r2, r3 803d3ee: 0992 lsrs r2, r2, #6 803d3f0: f44f 717a mov.w r1, #1000 ; 0x3e8 803d3f4: fb01 f202 mul.w r2, r1, r2 803d3f8: 1a9a subs r2, r3, r2 803d3fa: 4b94 ldr r3, [pc, #592] ; (803d64c ) 803d3fc: fba3 2302 umull r2, r3, r3, r2 803d400: 095b lsrs r3, r3, #5 803d402: b2db uxtb r3, r3 803d404: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803d408: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d40c: 0953 lsrs r3, r2, #5 803d40e: 498b ldr r1, [pc, #556] ; (803d63c ) 803d410: fba1 1303 umull r1, r3, r1, r3 803d414: 09db lsrs r3, r3, #7 803d416: 498a ldr r1, [pc, #552] ; (803d640 ) 803d418: fb01 f303 mul.w r3, r1, r3 803d41c: 1ad3 subs r3, r2, r3 803d41e: 4a89 ldr r2, [pc, #548] ; (803d644 ) 803d420: fba2 1203 umull r1, r2, r2, r3 803d424: 0b52 lsrs r2, r2, #13 803d426: f242 7110 movw r1, #10000 ; 0x2710 803d42a: fb01 f202 mul.w r2, r1, r2 803d42e: 1a9a subs r2, r3, r2 803d430: 4b85 ldr r3, [pc, #532] ; (803d648 ) 803d432: fba3 1302 umull r1, r3, r3, r2 803d436: 099b lsrs r3, r3, #6 803d438: f44f 717a mov.w r1, #1000 ; 0x3e8 803d43c: fb01 f303 mul.w r3, r1, r3 803d440: 1ad3 subs r3, r2, r3 803d442: 4a82 ldr r2, [pc, #520] ; (803d64c ) 803d444: fba2 1203 umull r1, r2, r2, r3 803d448: 0952 lsrs r2, r2, #5 803d44a: 2164 movs r1, #100 ; 0x64 803d44c: fb01 f202 mul.w r2, r1, r2 803d450: 1a9a subs r2, r3, r2 803d452: 4b7f ldr r3, [pc, #508] ; (803d650 ) 803d454: fba3 2302 umull r2, r3, r3, r2 803d458: 08db lsrs r3, r3, #3 803d45a: b2db uxtb r3, r3 803d45c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803d460: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d464: 0953 lsrs r3, r2, #5 803d466: 4975 ldr r1, [pc, #468] ; (803d63c ) 803d468: fba1 1303 umull r1, r3, r1, r3 803d46c: 09db lsrs r3, r3, #7 803d46e: 4974 ldr r1, [pc, #464] ; (803d640 ) 803d470: fb01 f303 mul.w r3, r1, r3 803d474: 1ad3 subs r3, r2, r3 803d476: 4a73 ldr r2, [pc, #460] ; (803d644 ) 803d478: fba2 1203 umull r1, r2, r2, r3 803d47c: 0b52 lsrs r2, r2, #13 803d47e: f242 7110 movw r1, #10000 ; 0x2710 803d482: fb01 f202 mul.w r2, r1, r2 803d486: 1a9a subs r2, r3, r2 803d488: 4b6f ldr r3, [pc, #444] ; (803d648 ) 803d48a: fba3 1302 umull r1, r3, r3, r2 803d48e: 099b lsrs r3, r3, #6 803d490: f44f 717a mov.w r1, #1000 ; 0x3e8 803d494: fb01 f303 mul.w r3, r1, r3 803d498: 1ad3 subs r3, r2, r3 803d49a: 4a6c ldr r2, [pc, #432] ; (803d64c ) 803d49c: fba2 1203 umull r1, r2, r2, r3 803d4a0: 0952 lsrs r2, r2, #5 803d4a2: 2164 movs r1, #100 ; 0x64 803d4a4: fb01 f202 mul.w r2, r1, r2 803d4a8: 1a9a subs r2, r3, r2 803d4aa: 4b69 ldr r3, [pc, #420] ; (803d650 ) 803d4ac: fba3 1302 umull r1, r3, r3, r2 803d4b0: 08d9 lsrs r1, r3, #3 803d4b2: 460b mov r3, r1 803d4b4: 009b lsls r3, r3, #2 803d4b6: 440b add r3, r1 803d4b8: 005b lsls r3, r3, #1 803d4ba: 1ad1 subs r1, r2, r3 803d4bc: b2cb uxtb r3, r1 803d4be: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803d4c2: 4b5c ldr r3, [pc, #368] ; (803d634 ) 803d4c4: 781b ldrb r3, [r3, #0] 803d4c6: b2db uxtb r3, r3 803d4c8: 3b05 subs r3, #5 803d4ca: 2b05 cmp r3, #5 803d4cc: d85c bhi.n 803d588 803d4ce: a201 add r2, pc, #4 ; (adr r2, 803d4d4 ) 803d4d0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803d4d4: 0803d4ed .word 0x0803d4ed 803d4d8: 0803d505 .word 0x0803d505 803d4dc: 0803d51f .word 0x0803d51f 803d4e0: 0803d537 .word 0x0803d537 803d4e4: 0803d54b .word 0x0803d54b 803d4e8: 0803d55f .word 0x0803d55f if(k > 100000) 803d4ec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d4f0: 4a53 ldr r2, [pc, #332] ; (803d640 ) 803d4f2: 4293 cmp r3, r2 803d4f4: d93d bls.n 803d572 k -= 100000; 803d4f6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d4fa: 4b56 ldr r3, [pc, #344] ; (803d654 ) 803d4fc: 4413 add r3, r2 803d4fe: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d502: e036 b.n 803d572 if(k > 10000) 803d504: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d508: f242 7210 movw r2, #10000 ; 0x2710 803d50c: 4293 cmp r3, r2 803d50e: d932 bls.n 803d576 k -= 10000; 803d510: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d514: 4b50 ldr r3, [pc, #320] ; (803d658 ) 803d516: 4413 add r3, r2 803d518: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d51c: e02b b.n 803d576 if(k > 1000) 803d51e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d522: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803d526: d928 bls.n 803d57a k -= 1000; 803d528: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d52c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803d530: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d534: e021 b.n 803d57a if(k > 100) 803d536: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d53a: 2b64 cmp r3, #100 ; 0x64 803d53c: d91f bls.n 803d57e k -= 100; 803d53e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d542: 3b64 subs r3, #100 ; 0x64 803d544: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d548: e019 b.n 803d57e if(k > 10) 803d54a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d54e: 2b0a cmp r3, #10 803d550: d917 bls.n 803d582 k -= 10; 803d552: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d556: 3b0a subs r3, #10 803d558: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d55c: e011 b.n 803d582 if(k > 1) 803d55e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d562: 2b01 cmp r3, #1 803d564: d90f bls.n 803d586 k--; 803d566: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d56a: 3b01 subs r3, #1 803d56c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d570: e009 b.n 803d586 break; 803d572: bf00 nop 803d574: e008 b.n 803d588 break; 803d576: bf00 nop 803d578: e006 b.n 803d588 break; 803d57a: bf00 nop 803d57c: e004 b.n 803d588 break; 803d57e: bf00 nop 803d580: e002 b.n 803d588 break; 803d582: bf00 nop 803d584: e000 b.n 803d588 break; 803d586: bf00 nop if(k > 999999) k = 999999; 803d588: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d58c: 4a33 ldr r2, [pc, #204] ; (803d65c ) 803d58e: 4293 cmp r3, r2 803d590: d902 bls.n 803d598 803d592: 4b32 ldr r3, [pc, #200] ; (803d65c ) 803d594: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803d598: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d59c: 2b00 cmp r3, #0 803d59e: d102 bne.n 803d5a6 803d5a0: 2301 movs r3, #1 803d5a2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803d5a6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d5aa: ee07 3a90 vmov s15, r3 803d5ae: eef8 7a67 vcvt.f32.u32 s15, s15 803d5b2: 4b21 ldr r3, [pc, #132] ; (803d638 ) 803d5b4: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803d5b8: 4b1f ldr r3, [pc, #124] ; (803d638 ) 803d5ba: edd3 7a06 vldr s15, [r3, #24] 803d5be: ed9f 7a28 vldr s14, [pc, #160] ; 803d660 803d5c2: ee67 7a87 vmul.f32 s15, s15, s14 803d5c6: 4b1c ldr r3, [pc, #112] ; (803d638 ) 803d5c8: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803d5cc: 4b1a ldr r3, [pc, #104] ; (803d638 ) 803d5ce: edd3 7a06 vldr s15, [r3, #24] 803d5d2: ed9f 7a24 vldr s14, [pc, #144] ; 803d664 803d5d6: ee77 7a87 vadd.f32 s15, s15, s14 803d5da: 4b17 ldr r3, [pc, #92] ; (803d638 ) 803d5dc: edc3 7a06 vstr s15, [r3, #24] break; 803d5e0: f007 bb88 b.w 8044cf4 case PARAM_DIAGN_1: if(menupos < Diag8) menupos++; 803d5e4: 4b13 ldr r3, [pc, #76] ; (803d634 ) 803d5e6: 781b ldrb r3, [r3, #0] 803d5e8: b2db uxtb r3, r3 803d5ea: 2b06 cmp r3, #6 803d5ec: d808 bhi.n 803d600 803d5ee: 4b11 ldr r3, [pc, #68] ; (803d634 ) 803d5f0: 781b ldrb r3, [r3, #0] 803d5f2: b2db uxtb r3, r3 803d5f4: 3301 adds r3, #1 803d5f6: b2da uxtb r2, r3 803d5f8: 4b0e ldr r3, [pc, #56] ; (803d634 ) 803d5fa: 701a strb r2, [r3, #0] else menupos = Diag1; break; 803d5fc: f007 bbcc b.w 8044d98 else menupos = Diag1; 803d600: 4b0c ldr r3, [pc, #48] ; (803d634 ) 803d602: 2200 movs r2, #0 803d604: 701a strb r2, [r3, #0] break; 803d606: f007 bbc7 b.w 8044d98 case PARAM_DIAGN_2: focused = false; 803d60a: 4b17 ldr r3, [pc, #92] ; (803d668 ) 803d60c: 2200 movs r2, #0 803d60e: 701a strb r2, [r3, #0] if((menupos >= DiagUs1) && (menupos <= DiagOp1)) 803d610: 4b08 ldr r3, [pc, #32] ; (803d634 ) 803d612: 781b ldrb r3, [r3, #0] 803d614: b2db uxtb r3, r3 803d616: 2b00 cmp r3, #0 803d618: d02a beq.n 803d670 803d61a: 4b06 ldr r3, [pc, #24] ; (803d634 ) 803d61c: 781b ldrb r3, [r3, #0] 803d61e: b2db uxtb r3, r3 803d620: 2b02 cmp r3, #2 803d622: d825 bhi.n 803d670 { CURR_USL = Us1; 803d624: 4b11 ldr r3, [pc, #68] ; (803d66c ) 803d626: 2200 movs r2, #0 803d628: 701a strb r2, [r3, #0] menupos = Ok; 803d62a: 4b02 ldr r3, [pc, #8] ; (803d634 ) 803d62c: 2200 movs r2, #0 803d62e: 701a strb r2, [r3, #0] 803d630: f001 b9e7 b.w 803ea02 803d634: 20020070 .word 0x20020070 803d638: 20023eb8 .word 0x20023eb8 803d63c: 0a7c5ac5 .word 0x0a7c5ac5 803d640: 000186a0 .word 0x000186a0 803d644: d1b71759 .word 0xd1b71759 803d648: 10624dd3 .word 0x10624dd3 803d64c: 51eb851f .word 0x51eb851f 803d650: cccccccd .word 0xcccccccd 803d654: fffe7960 .word 0xfffe7960 803d658: ffffd8f0 .word 0xffffd8f0 803d65c: 000f423f .word 0x000f423f 803d660: 3dcccccd .word 0x3dcccccd 803d664: 3d4ccccd .word 0x3d4ccccd 803d668: 20020fd0 .word 0x20020fd0 803d66c: 2002105f .word 0x2002105f /*if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) menupos = Diag_A; else menupos = DiagAVS;*/ } else if((menupos >= DiagUs2) && (menupos <= DiagOp2)) 803d670: 4b5d ldr r3, [pc, #372] ; (803d7e8 ) 803d672: 781b ldrb r3, [r3, #0] 803d674: b2db uxtb r3, r3 803d676: 2b02 cmp r3, #2 803d678: d90c bls.n 803d694 803d67a: 4b5b ldr r3, [pc, #364] ; (803d7e8 ) 803d67c: 781b ldrb r3, [r3, #0] 803d67e: b2db uxtb r3, r3 803d680: 2b04 cmp r3, #4 803d682: d807 bhi.n 803d694 { CURR_USL = Us2; 803d684: 4b59 ldr r3, [pc, #356] ; (803d7ec ) 803d686: 2201 movs r2, #1 803d688: 701a strb r2, [r3, #0] menupos = Ok; 803d68a: 4b57 ldr r3, [pc, #348] ; (803d7e8 ) 803d68c: 2200 movs r2, #0 803d68e: 701a strb r2, [r3, #0] 803d690: f001 b9b7 b.w 803ea02 /* if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) menupos = Diag_A; else menupos = DiagAVS;*/ } else if(menupos == DiagUs3) 803d694: 4b54 ldr r3, [pc, #336] ; (803d7e8 ) 803d696: 781b ldrb r3, [r3, #0] 803d698: b2db uxtb r3, r3 803d69a: 2b05 cmp r3, #5 803d69c: d107 bne.n 803d6ae { CURR_USL = Us3; 803d69e: 4b53 ldr r3, [pc, #332] ; (803d7ec ) 803d6a0: 2202 movs r2, #2 803d6a2: 701a strb r2, [r3, #0] menupos = Ok; 803d6a4: 4b50 ldr r3, [pc, #320] ; (803d7e8 ) 803d6a6: 2200 movs r2, #0 803d6a8: 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; 803d6aa: f007 bb26 b.w 8044cfa if(menupos == Ok) 803d6ae: 4b4e ldr r3, [pc, #312] ; (803d7e8 ) 803d6b0: 781b ldrb r3, [r3, #0] 803d6b2: b2db uxtb r3, r3 803d6b4: 2b00 cmp r3, #0 803d6b6: d104 bne.n 803d6c2 menupos = DiagName; 803d6b8: 4b4b ldr r3, [pc, #300] ; (803d7e8 ) 803d6ba: 2206 movs r2, #6 803d6bc: 701a strb r2, [r3, #0] break; 803d6be: f007 bb1c b.w 8044cfa if(menupos == DiagName) 803d6c2: 4b49 ldr r3, [pc, #292] ; (803d7e8 ) 803d6c4: 781b ldrb r3, [r3, #0] 803d6c6: b2db uxtb r3, r3 803d6c8: 2b06 cmp r3, #6 803d6ca: d104 bne.n 803d6d6 menupos = DiagAVS; 803d6cc: 4b46 ldr r3, [pc, #280] ; (803d7e8 ) 803d6ce: 2207 movs r2, #7 803d6d0: 701a strb r2, [r3, #0] break; 803d6d2: f007 bb12 b.w 8044cfa if(menupos == DiagAVS) 803d6d6: 4b44 ldr r3, [pc, #272] ; (803d7e8 ) 803d6d8: 781b ldrb r3, [r3, #0] 803d6da: b2db uxtb r3, r3 803d6dc: 2b07 cmp r3, #7 803d6de: d137 bne.n 803d750 if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 803d6e0: 4b43 ldr r3, [pc, #268] ; (803d7f0 ) 803d6e2: 781b ldrb r3, [r3, #0] 803d6e4: b2db uxtb r3, r3 803d6e6: 4618 mov r0, r3 803d6e8: 4b40 ldr r3, [pc, #256] ; (803d7ec ) 803d6ea: 781b ldrb r3, [r3, #0] 803d6ec: b2db uxtb r3, r3 803d6ee: 4619 mov r1, r3 803d6f0: 4a40 ldr r2, [pc, #256] ; (803d7f4 ) 803d6f2: 0083 lsls r3, r0, #2 803d6f4: 4413 add r3, r2 803d6f6: 440b add r3, r1 803d6f8: f503 730f add.w r3, r3, #572 ; 0x23c 803d6fc: 781b ldrb r3, [r3, #0] 803d6fe: b2db uxtb r3, r3 803d700: f003 0307 and.w r3, r3, #7 803d704: 2b00 cmp r3, #0 803d706: d004 beq.n 803d712 menupos = DiagValue; 803d708: 4b37 ldr r3, [pc, #220] ; (803d7e8 ) 803d70a: 2208 movs r2, #8 803d70c: 701a strb r2, [r3, #0] break; 803d70e: f007 baf4 b.w 8044cfa if(CURR_USL == Us1) 803d712: 4b36 ldr r3, [pc, #216] ; (803d7ec ) 803d714: 781b ldrb r3, [r3, #0] 803d716: b2db uxtb r3, r3 803d718: 2b00 cmp r3, #0 803d71a: d104 bne.n 803d726 menupos = DiagUs1; 803d71c: 4b32 ldr r3, [pc, #200] ; (803d7e8 ) 803d71e: 2201 movs r2, #1 803d720: 701a strb r2, [r3, #0] break; 803d722: f007 baea b.w 8044cfa if(CURR_USL == Us2) 803d726: 4b31 ldr r3, [pc, #196] ; (803d7ec ) 803d728: 781b ldrb r3, [r3, #0] 803d72a: b2db uxtb r3, r3 803d72c: 2b01 cmp r3, #1 803d72e: d104 bne.n 803d73a menupos = DiagUs2; 803d730: 4b2d ldr r3, [pc, #180] ; (803d7e8 ) 803d732: 2203 movs r2, #3 803d734: 701a strb r2, [r3, #0] break; 803d736: f007 bae0 b.w 8044cfa if(CURR_USL == Us3) 803d73a: 4b2c ldr r3, [pc, #176] ; (803d7ec ) 803d73c: 781b ldrb r3, [r3, #0] 803d73e: b2db uxtb r3, r3 803d740: 2b02 cmp r3, #2 803d742: f047 82da bne.w 8044cfa menupos = DiagUs3; 803d746: 4b28 ldr r3, [pc, #160] ; (803d7e8 ) 803d748: 2205 movs r2, #5 803d74a: 701a strb r2, [r3, #0] break; 803d74c: f007 bad5 b.w 8044cfa if(menupos == DiagValue) 803d750: 4b25 ldr r3, [pc, #148] ; (803d7e8 ) 803d752: 781b ldrb r3, [r3, #0] 803d754: b2db uxtb r3, r3 803d756: 2b08 cmp r3, #8 803d758: d104 bne.n 803d764 menupos = DiagHP; 803d75a: 4b23 ldr r3, [pc, #140] ; (803d7e8 ) 803d75c: 2209 movs r2, #9 803d75e: 701a strb r2, [r3, #0] break; 803d760: f007 bacb b.w 8044cfa if(menupos == DiagHP) 803d764: 4b20 ldr r3, [pc, #128] ; (803d7e8 ) 803d766: 781b ldrb r3, [r3, #0] 803d768: b2db uxtb r3, r3 803d76a: 2b09 cmp r3, #9 803d76c: d104 bne.n 803d778 menupos = DiagLP; 803d76e: 4b1e ldr r3, [pc, #120] ; (803d7e8 ) 803d770: 220a movs r2, #10 803d772: 701a strb r2, [r3, #0] break; 803d774: f007 bac1 b.w 8044cfa if(menupos == DiagLP) 803d778: 4b1b ldr r3, [pc, #108] ; (803d7e8 ) 803d77a: 781b ldrb r3, [r3, #0] 803d77c: b2db uxtb r3, r3 803d77e: 2b0a cmp r3, #10 803d780: d104 bne.n 803d78c menupos = Diag_W; 803d782: 4b19 ldr r3, [pc, #100] ; (803d7e8 ) 803d784: 220b movs r2, #11 803d786: 701a strb r2, [r3, #0] break; 803d788: f007 bab7 b.w 8044cfa if(menupos == Diag_W) 803d78c: 4b16 ldr r3, [pc, #88] ; (803d7e8 ) 803d78e: 781b ldrb r3, [r3, #0] 803d790: b2db uxtb r3, r3 803d792: 2b0b cmp r3, #11 803d794: d104 bne.n 803d7a0 menupos = Diag_A; 803d796: 4b14 ldr r3, [pc, #80] ; (803d7e8 ) 803d798: 220c movs r2, #12 803d79a: 701a strb r2, [r3, #0] break; 803d79c: f007 baad b.w 8044cfa if(menupos == Diag_A) 803d7a0: 4b11 ldr r3, [pc, #68] ; (803d7e8 ) 803d7a2: 781b ldrb r3, [r3, #0] 803d7a4: b2db uxtb r3, r3 803d7a6: 2b0c cmp r3, #12 803d7a8: d126 bne.n 803d7f8 if(CURR_USL == Us1) 803d7aa: 4b10 ldr r3, [pc, #64] ; (803d7ec ) 803d7ac: 781b ldrb r3, [r3, #0] 803d7ae: b2db uxtb r3, r3 803d7b0: 2b00 cmp r3, #0 803d7b2: d104 bne.n 803d7be menupos = DiagUs1; 803d7b4: 4b0c ldr r3, [pc, #48] ; (803d7e8 ) 803d7b6: 2201 movs r2, #1 803d7b8: 701a strb r2, [r3, #0] break; 803d7ba: f007 ba9e b.w 8044cfa if(CURR_USL == Us2) 803d7be: 4b0b ldr r3, [pc, #44] ; (803d7ec ) 803d7c0: 781b ldrb r3, [r3, #0] 803d7c2: b2db uxtb r3, r3 803d7c4: 2b01 cmp r3, #1 803d7c6: d104 bne.n 803d7d2 menupos = DiagUs2; 803d7c8: 4b07 ldr r3, [pc, #28] ; (803d7e8 ) 803d7ca: 2203 movs r2, #3 803d7cc: 701a strb r2, [r3, #0] break; 803d7ce: f007 ba94 b.w 8044cfa if(CURR_USL == Us3) 803d7d2: 4b06 ldr r3, [pc, #24] ; (803d7ec ) 803d7d4: 781b ldrb r3, [r3, #0] 803d7d6: b2db uxtb r3, r3 803d7d8: 2b02 cmp r3, #2 803d7da: f047 828e bne.w 8044cfa menupos = DiagUs3; 803d7de: 4b02 ldr r3, [pc, #8] ; (803d7e8 ) 803d7e0: 2205 movs r2, #5 803d7e2: 701a strb r2, [r3, #0] break; 803d7e4: f007 ba89 b.w 8044cfa 803d7e8: 20020070 .word 0x20020070 803d7ec: 2002105f .word 0x2002105f 803d7f0: 2002105d .word 0x2002105d 803d7f4: 20023eb8 .word 0x20023eb8 if((menupos >= DiagHP_IDT) && (menupos <= DiagHP_IKD)) 803d7f8: 4bc5 ldr r3, [pc, #788] ; (803db10 ) 803d7fa: 781b ldrb r3, [r3, #0] 803d7fc: b2db uxtb r3, r3 803d7fe: 2b0c cmp r3, #12 803d800: f240 82f0 bls.w 803dde4 803d804: 4bc2 ldr r3, [pc, #776] ; (803db10 ) 803d806: 781b ldrb r3, [r3, #0] 803d808: b2db uxtb r3, r3 803d80a: 2b12 cmp r3, #18 803d80c: f200 82ea bhi.w 803dde4 k = (uint32_t) (pardata.DIAGN_HP[CURR_POINT][CURR_USL] * 10.0f); 803d810: 4bc0 ldr r3, [pc, #768] ; (803db14 ) 803d812: 781b ldrb r3, [r3, #0] 803d814: b2db uxtb r3, r3 803d816: 4618 mov r0, r3 803d818: 4bbf ldr r3, [pc, #764] ; (803db18 ) 803d81a: 781b ldrb r3, [r3, #0] 803d81c: b2db uxtb r3, r3 803d81e: 4619 mov r1, r3 803d820: 4abe ldr r2, [pc, #760] ; (803db1c ) 803d822: 0083 lsls r3, r0, #2 803d824: 440b add r3, r1 803d826: 3396 adds r3, #150 ; 0x96 803d828: 009b lsls r3, r3, #2 803d82a: 4413 add r3, r2 803d82c: 3304 adds r3, #4 803d82e: edd3 7a00 vldr s15, [r3] 803d832: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803d836: ee67 7a87 vmul.f32 s15, s15, s14 803d83a: eefc 7ae7 vcvt.u32.f32 s15, s15 803d83e: ee17 3a90 vmov r3, s15 803d842: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803d846: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d84a: 095b lsrs r3, r3, #5 803d84c: 4ab4 ldr r2, [pc, #720] ; (803db20 ) 803d84e: fba2 2303 umull r2, r3, r2, r3 803d852: 09db lsrs r3, r3, #7 803d854: b2db uxtb r3, r3 803d856: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803d85a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d85e: 0953 lsrs r3, r2, #5 803d860: 49af ldr r1, [pc, #700] ; (803db20 ) 803d862: fba1 1303 umull r1, r3, r1, r3 803d866: 09db lsrs r3, r3, #7 803d868: 49ae ldr r1, [pc, #696] ; (803db24 ) 803d86a: fb01 f303 mul.w r3, r1, r3 803d86e: 1ad3 subs r3, r2, r3 803d870: 4aad ldr r2, [pc, #692] ; (803db28 ) 803d872: fba2 2303 umull r2, r3, r2, r3 803d876: 0b5b lsrs r3, r3, #13 803d878: b2db uxtb r3, r3 803d87a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803d87e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d882: 0953 lsrs r3, r2, #5 803d884: 49a6 ldr r1, [pc, #664] ; (803db20 ) 803d886: fba1 1303 umull r1, r3, r1, r3 803d88a: 09db lsrs r3, r3, #7 803d88c: 49a5 ldr r1, [pc, #660] ; (803db24 ) 803d88e: fb01 f303 mul.w r3, r1, r3 803d892: 1ad3 subs r3, r2, r3 803d894: 4aa4 ldr r2, [pc, #656] ; (803db28 ) 803d896: fba2 1203 umull r1, r2, r2, r3 803d89a: 0b52 lsrs r2, r2, #13 803d89c: f242 7110 movw r1, #10000 ; 0x2710 803d8a0: fb01 f202 mul.w r2, r1, r2 803d8a4: 1a9a subs r2, r3, r2 803d8a6: 4ba1 ldr r3, [pc, #644] ; (803db2c ) 803d8a8: fba3 2302 umull r2, r3, r3, r2 803d8ac: 099b lsrs r3, r3, #6 803d8ae: b2db uxtb r3, r3 803d8b0: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803d8b4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d8b8: 095a lsrs r2, r3, #5 803d8ba: 4999 ldr r1, [pc, #612] ; (803db20 ) 803d8bc: fba1 1202 umull r1, r2, r1, r2 803d8c0: 09d2 lsrs r2, r2, #7 803d8c2: 4998 ldr r1, [pc, #608] ; (803db24 ) 803d8c4: fb01 f202 mul.w r2, r1, r2 803d8c8: 1a9a subs r2, r3, r2 803d8ca: 4b97 ldr r3, [pc, #604] ; (803db28 ) 803d8cc: fba3 1302 umull r1, r3, r3, r2 803d8d0: 0b5b lsrs r3, r3, #13 803d8d2: f242 7110 movw r1, #10000 ; 0x2710 803d8d6: fb01 f303 mul.w r3, r1, r3 803d8da: 1ad3 subs r3, r2, r3 803d8dc: 4a93 ldr r2, [pc, #588] ; (803db2c ) 803d8de: fba2 1203 umull r1, r2, r2, r3 803d8e2: 0992 lsrs r2, r2, #6 803d8e4: f44f 717a mov.w r1, #1000 ; 0x3e8 803d8e8: fb01 f202 mul.w r2, r1, r2 803d8ec: 1a9a subs r2, r3, r2 803d8ee: 4b90 ldr r3, [pc, #576] ; (803db30 ) 803d8f0: fba3 2302 umull r2, r3, r3, r2 803d8f4: 095b lsrs r3, r3, #5 803d8f6: b2db uxtb r3, r3 803d8f8: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803d8fc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d900: 0953 lsrs r3, r2, #5 803d902: 4987 ldr r1, [pc, #540] ; (803db20 ) 803d904: fba1 1303 umull r1, r3, r1, r3 803d908: 09db lsrs r3, r3, #7 803d90a: 4986 ldr r1, [pc, #536] ; (803db24 ) 803d90c: fb01 f303 mul.w r3, r1, r3 803d910: 1ad3 subs r3, r2, r3 803d912: 4a85 ldr r2, [pc, #532] ; (803db28 ) 803d914: fba2 1203 umull r1, r2, r2, r3 803d918: 0b52 lsrs r2, r2, #13 803d91a: f242 7110 movw r1, #10000 ; 0x2710 803d91e: fb01 f202 mul.w r2, r1, r2 803d922: 1a9a subs r2, r3, r2 803d924: 4b81 ldr r3, [pc, #516] ; (803db2c ) 803d926: fba3 1302 umull r1, r3, r3, r2 803d92a: 099b lsrs r3, r3, #6 803d92c: f44f 717a mov.w r1, #1000 ; 0x3e8 803d930: fb01 f303 mul.w r3, r1, r3 803d934: 1ad3 subs r3, r2, r3 803d936: 4a7e ldr r2, [pc, #504] ; (803db30 ) 803d938: fba2 1203 umull r1, r2, r2, r3 803d93c: 0952 lsrs r2, r2, #5 803d93e: 2164 movs r1, #100 ; 0x64 803d940: fb01 f202 mul.w r2, r1, r2 803d944: 1a9a subs r2, r3, r2 803d946: 4b7b ldr r3, [pc, #492] ; (803db34 ) 803d948: fba3 2302 umull r2, r3, r3, r2 803d94c: 08db lsrs r3, r3, #3 803d94e: b2db uxtb r3, r3 803d950: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803d954: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d958: 0953 lsrs r3, r2, #5 803d95a: 4971 ldr r1, [pc, #452] ; (803db20 ) 803d95c: fba1 1303 umull r1, r3, r1, r3 803d960: 09db lsrs r3, r3, #7 803d962: 4970 ldr r1, [pc, #448] ; (803db24 ) 803d964: fb01 f303 mul.w r3, r1, r3 803d968: 1ad3 subs r3, r2, r3 803d96a: 4a6f ldr r2, [pc, #444] ; (803db28 ) 803d96c: fba2 1203 umull r1, r2, r2, r3 803d970: 0b52 lsrs r2, r2, #13 803d972: f242 7110 movw r1, #10000 ; 0x2710 803d976: fb01 f202 mul.w r2, r1, r2 803d97a: 1a9a subs r2, r3, r2 803d97c: 4b6b ldr r3, [pc, #428] ; (803db2c ) 803d97e: fba3 1302 umull r1, r3, r3, r2 803d982: 099b lsrs r3, r3, #6 803d984: f44f 717a mov.w r1, #1000 ; 0x3e8 803d988: fb01 f303 mul.w r3, r1, r3 803d98c: 1ad3 subs r3, r2, r3 803d98e: 4a68 ldr r2, [pc, #416] ; (803db30 ) 803d990: fba2 1203 umull r1, r2, r2, r3 803d994: 0952 lsrs r2, r2, #5 803d996: 2164 movs r1, #100 ; 0x64 803d998: fb01 f202 mul.w r2, r1, r2 803d99c: 1a9a subs r2, r3, r2 803d99e: 4b65 ldr r3, [pc, #404] ; (803db34 ) 803d9a0: fba3 1302 umull r1, r3, r3, r2 803d9a4: 08d9 lsrs r1, r3, #3 803d9a6: 460b mov r3, r1 803d9a8: 009b lsls r3, r3, #2 803d9aa: 440b add r3, r1 803d9ac: 005b lsls r3, r3, #1 803d9ae: 1ad1 subs r1, r2, r3 803d9b0: b2cb uxtb r3, r1 803d9b2: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803d9b6: 4b56 ldr r3, [pc, #344] ; (803db10 ) 803d9b8: 781b ldrb r3, [r3, #0] 803d9ba: b2db uxtb r3, r3 803d9bc: 3b0d subs r3, #13 803d9be: 2b05 cmp r3, #5 803d9c0: d85c bhi.n 803da7c 803d9c2: a201 add r2, pc, #4 ; (adr r2, 803d9c8 ) 803d9c4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803d9c8: 0803d9e1 .word 0x0803d9e1 803d9cc: 0803d9f9 .word 0x0803d9f9 803d9d0: 0803da13 .word 0x0803da13 803d9d4: 0803da2b .word 0x0803da2b 803d9d8: 0803da3f .word 0x0803da3f 803d9dc: 0803da53 .word 0x0803da53 if(k > 100000) 803d9e0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d9e4: 4a4f ldr r2, [pc, #316] ; (803db24 ) 803d9e6: 4293 cmp r3, r2 803d9e8: d93d bls.n 803da66 k -= 100000; 803d9ea: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d9ee: 4b52 ldr r3, [pc, #328] ; (803db38 ) 803d9f0: 4413 add r3, r2 803d9f2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d9f6: e036 b.n 803da66 if(k > 10000) 803d9f8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d9fc: f242 7210 movw r2, #10000 ; 0x2710 803da00: 4293 cmp r3, r2 803da02: d932 bls.n 803da6a k -= 10000; 803da04: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803da08: 4b4c ldr r3, [pc, #304] ; (803db3c ) 803da0a: 4413 add r3, r2 803da0c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803da10: e02b b.n 803da6a if(k > 1000) 803da12: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803da16: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803da1a: d928 bls.n 803da6e k -= 1000; 803da1c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803da20: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803da24: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803da28: e021 b.n 803da6e if(k > 100) 803da2a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803da2e: 2b64 cmp r3, #100 ; 0x64 803da30: d91f bls.n 803da72 k -= 100; 803da32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803da36: 3b64 subs r3, #100 ; 0x64 803da38: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803da3c: e019 b.n 803da72 if(k > 10) 803da3e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803da42: 2b0a cmp r3, #10 803da44: d917 bls.n 803da76 k -= 10; 803da46: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803da4a: 3b0a subs r3, #10 803da4c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803da50: e011 b.n 803da76 if(k > 1) 803da52: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803da56: 2b01 cmp r3, #1 803da58: d90f bls.n 803da7a k--; 803da5a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803da5e: 3b01 subs r3, #1 803da60: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803da64: e009 b.n 803da7a break; 803da66: bf00 nop 803da68: e008 b.n 803da7c break; 803da6a: bf00 nop 803da6c: e006 b.n 803da7c break; 803da6e: bf00 nop 803da70: e004 b.n 803da7c break; 803da72: bf00 nop 803da74: e002 b.n 803da7c break; 803da76: bf00 nop 803da78: e000 b.n 803da7c break; 803da7a: bf00 nop fl = (float32_t) k; 803da7c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803da80: ee07 3a90 vmov s15, r3 803da84: eef8 7a67 vcvt.f32.u32 s15, s15 803da88: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803da8c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803da90: ed9f 7a2b vldr s14, [pc, #172] ; 803db40 803da94: ee67 7a87 vmul.f32 s15, s15, s14 803da98: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803da9c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803daa0: ed9f 7a28 vldr s14, [pc, #160] ; 803db44 803daa4: ee77 7a87 vadd.f32 s15, s15, s14 803daa8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803daac: 4b19 ldr r3, [pc, #100] ; (803db14 ) 803daae: 781b ldrb r3, [r3, #0] 803dab0: b2db uxtb r3, r3 803dab2: 4618 mov r0, r3 803dab4: 4b18 ldr r3, [pc, #96] ; (803db18 ) 803dab6: 781b ldrb r3, [r3, #0] 803dab8: b2db uxtb r3, r3 803daba: 4619 mov r1, r3 803dabc: 4a17 ldr r2, [pc, #92] ; (803db1c ) 803dabe: 0083 lsls r3, r0, #2 803dac0: 4413 add r3, r2 803dac2: 440b add r3, r1 803dac4: f503 730f add.w r3, r3, #572 ; 0x23c 803dac8: 781b ldrb r3, [r3, #0] 803daca: b2db uxtb r3, r3 803dacc: f003 0307 and.w r3, r3, #7 803dad0: 2b01 cmp r3, #1 803dad2: f040 80cc bne.w 803dc6e if(fl < 0.5f) 803dad6: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803dada: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 803dade: eef4 7ac7 vcmpe.f32 s15, s14 803dae2: eef1 fa10 vmrs APSR_nzcv, fpscr 803dae6: d52f bpl.n 803db48 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 0.5f; 803dae8: 4b0a ldr r3, [pc, #40] ; (803db14 ) 803daea: 781b ldrb r3, [r3, #0] 803daec: b2db uxtb r3, r3 803daee: 4618 mov r0, r3 803daf0: 4b09 ldr r3, [pc, #36] ; (803db18 ) 803daf2: 781b ldrb r3, [r3, #0] 803daf4: b2db uxtb r3, r3 803daf6: 4619 mov r1, r3 803daf8: 4a08 ldr r2, [pc, #32] ; (803db1c ) 803dafa: 0083 lsls r3, r0, #2 803dafc: 440b add r3, r1 803dafe: 3396 adds r3, #150 ; 0x96 803db00: 009b lsls r3, r3, #2 803db02: 4413 add r3, r2 803db04: 3304 adds r3, #4 803db06: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 803db0a: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803db0c: f000 bf79 b.w 803ea02 803db10: 20020070 .word 0x20020070 803db14: 2002105d .word 0x2002105d 803db18: 2002105f .word 0x2002105f 803db1c: 20023eb8 .word 0x20023eb8 803db20: 0a7c5ac5 .word 0x0a7c5ac5 803db24: 000186a0 .word 0x000186a0 803db28: d1b71759 .word 0xd1b71759 803db2c: 10624dd3 .word 0x10624dd3 803db30: 51eb851f .word 0x51eb851f 803db34: cccccccd .word 0xcccccccd 803db38: fffe7960 .word 0xfffe7960 803db3c: ffffd8f0 .word 0xffffd8f0 803db40: 3dcccccd .word 0x3dcccccd 803db44: 38d1b717 .word 0x38d1b717 if(fl > pardata.DIAGN_LP[CURR_POINT][CURR_USL]) 803db48: 4ba1 ldr r3, [pc, #644] ; (803ddd0 ) 803db4a: 781b ldrb r3, [r3, #0] 803db4c: b2db uxtb r3, r3 803db4e: 4618 mov r0, r3 803db50: 4ba0 ldr r3, [pc, #640] ; (803ddd4 ) 803db52: 781b ldrb r3, [r3, #0] 803db54: b2db uxtb r3, r3 803db56: 4619 mov r1, r3 803db58: 4a9f ldr r2, [pc, #636] ; (803ddd8 ) 803db5a: 0083 lsls r3, r0, #2 803db5c: 440b add r3, r1 803db5e: 33b6 adds r3, #182 ; 0xb6 803db60: 009b lsls r3, r3, #2 803db62: 4413 add r3, r2 803db64: 3304 adds r3, #4 803db66: ed93 7a00 vldr s14, [r3] 803db6a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803db6e: eeb4 7ae7 vcmpe.f32 s14, s15 803db72: eef1 fa10 vmrs APSR_nzcv, fpscr 803db76: d521 bpl.n 803dbbc pardata.DIAGN_HP[CURR_POINT][CURR_USL] = pardata.DIAGN_LP[CURR_POINT][CURR_USL]; 803db78: 4b95 ldr r3, [pc, #596] ; (803ddd0 ) 803db7a: 781b ldrb r3, [r3, #0] 803db7c: b2db uxtb r3, r3 803db7e: 461c mov r4, r3 803db80: 4b94 ldr r3, [pc, #592] ; (803ddd4 ) 803db82: 781b ldrb r3, [r3, #0] 803db84: b2db uxtb r3, r3 803db86: 4618 mov r0, r3 803db88: 4b91 ldr r3, [pc, #580] ; (803ddd0 ) 803db8a: 781b ldrb r3, [r3, #0] 803db8c: b2db uxtb r3, r3 803db8e: 461d mov r5, r3 803db90: 4b90 ldr r3, [pc, #576] ; (803ddd4 ) 803db92: 781b ldrb r3, [r3, #0] 803db94: b2db uxtb r3, r3 803db96: 4619 mov r1, r3 803db98: 4a8f ldr r2, [pc, #572] ; (803ddd8 ) 803db9a: 00ab lsls r3, r5, #2 803db9c: 440b add r3, r1 803db9e: 33b6 adds r3, #182 ; 0xb6 803dba0: 009b lsls r3, r3, #2 803dba2: 4413 add r3, r2 803dba4: 3304 adds r3, #4 803dba6: 681a ldr r2, [r3, #0] 803dba8: 498b ldr r1, [pc, #556] ; (803ddd8 ) 803dbaa: 00a3 lsls r3, r4, #2 803dbac: 4403 add r3, r0 803dbae: 3396 adds r3, #150 ; 0x96 803dbb0: 009b lsls r3, r3, #2 803dbb2: 440b add r3, r1 803dbb4: 3304 adds r3, #4 803dbb6: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803dbb8: f000 bf23 b.w 803ea02 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = (float32_t) k; 803dbbc: 4b84 ldr r3, [pc, #528] ; (803ddd0 ) 803dbbe: 781b ldrb r3, [r3, #0] 803dbc0: b2db uxtb r3, r3 803dbc2: 4618 mov r0, r3 803dbc4: 4b83 ldr r3, [pc, #524] ; (803ddd4 ) 803dbc6: 781b ldrb r3, [r3, #0] 803dbc8: b2db uxtb r3, r3 803dbca: 4619 mov r1, r3 803dbcc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803dbd0: ee07 3a90 vmov s15, r3 803dbd4: eef8 7a67 vcvt.f32.u32 s15, s15 803dbd8: 4a7f ldr r2, [pc, #508] ; (803ddd8 ) 803dbda: 0083 lsls r3, r0, #2 803dbdc: 440b add r3, r1 803dbde: 3396 adds r3, #150 ; 0x96 803dbe0: 009b lsls r3, r3, #2 803dbe2: 4413 add r3, r2 803dbe4: 3304 adds r3, #4 803dbe6: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] *= 0.1f; 803dbea: 4b79 ldr r3, [pc, #484] ; (803ddd0 ) 803dbec: 781b ldrb r3, [r3, #0] 803dbee: b2da uxtb r2, r3 803dbf0: 4610 mov r0, r2 803dbf2: 4b78 ldr r3, [pc, #480] ; (803ddd4 ) 803dbf4: 781b ldrb r3, [r3, #0] 803dbf6: b2db uxtb r3, r3 803dbf8: 4619 mov r1, r3 803dbfa: 4615 mov r5, r2 803dbfc: 461c mov r4, r3 803dbfe: 4a76 ldr r2, [pc, #472] ; (803ddd8 ) 803dc00: 00ab lsls r3, r5, #2 803dc02: 4423 add r3, r4 803dc04: 3396 adds r3, #150 ; 0x96 803dc06: 009b lsls r3, r3, #2 803dc08: 4413 add r3, r2 803dc0a: 3304 adds r3, #4 803dc0c: edd3 7a00 vldr s15, [r3] 803dc10: ed9f 7a72 vldr s14, [pc, #456] ; 803dddc 803dc14: ee67 7a87 vmul.f32 s15, s15, s14 803dc18: 4a6f ldr r2, [pc, #444] ; (803ddd8 ) 803dc1a: 0083 lsls r3, r0, #2 803dc1c: 440b add r3, r1 803dc1e: 3396 adds r3, #150 ; 0x96 803dc20: 009b lsls r3, r3, #2 803dc22: 4413 add r3, r2 803dc24: 3304 adds r3, #4 803dc26: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] += 0.0001f; 803dc2a: 4b69 ldr r3, [pc, #420] ; (803ddd0 ) 803dc2c: 781b ldrb r3, [r3, #0] 803dc2e: b2da uxtb r2, r3 803dc30: 4610 mov r0, r2 803dc32: 4b68 ldr r3, [pc, #416] ; (803ddd4 ) 803dc34: 781b ldrb r3, [r3, #0] 803dc36: b2db uxtb r3, r3 803dc38: 4619 mov r1, r3 803dc3a: 4615 mov r5, r2 803dc3c: 461c mov r4, r3 803dc3e: 4a66 ldr r2, [pc, #408] ; (803ddd8 ) 803dc40: 00ab lsls r3, r5, #2 803dc42: 4423 add r3, r4 803dc44: 3396 adds r3, #150 ; 0x96 803dc46: 009b lsls r3, r3, #2 803dc48: 4413 add r3, r2 803dc4a: 3304 adds r3, #4 803dc4c: edd3 7a00 vldr s15, [r3] 803dc50: ed9f 7a63 vldr s14, [pc, #396] ; 803dde0 803dc54: ee77 7a87 vadd.f32 s15, s15, s14 803dc58: 4a5f ldr r2, [pc, #380] ; (803ddd8 ) 803dc5a: 0083 lsls r3, r0, #2 803dc5c: 440b add r3, r1 803dc5e: 3396 adds r3, #150 ; 0x96 803dc60: 009b lsls r3, r3, #2 803dc62: 4413 add r3, r2 803dc64: 3304 adds r3, #4 803dc66: edc3 7a00 vstr s15, [r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803dc6a: f000 beca b.w 803ea02 if(fl < 2.0f) 803dc6e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803dc72: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 803dc76: eef4 7ac7 vcmpe.f32 s15, s14 803dc7a: eef1 fa10 vmrs APSR_nzcv, fpscr 803dc7e: d513 bpl.n 803dca8 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 2.0f; 803dc80: 4b53 ldr r3, [pc, #332] ; (803ddd0 ) 803dc82: 781b ldrb r3, [r3, #0] 803dc84: b2db uxtb r3, r3 803dc86: 4618 mov r0, r3 803dc88: 4b52 ldr r3, [pc, #328] ; (803ddd4 ) 803dc8a: 781b ldrb r3, [r3, #0] 803dc8c: b2db uxtb r3, r3 803dc8e: 4619 mov r1, r3 803dc90: 4a51 ldr r2, [pc, #324] ; (803ddd8 ) 803dc92: 0083 lsls r3, r0, #2 803dc94: 440b add r3, r1 803dc96: 3396 adds r3, #150 ; 0x96 803dc98: 009b lsls r3, r3, #2 803dc9a: 4413 add r3, r2 803dc9c: 3304 adds r3, #4 803dc9e: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 803dca2: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803dca4: f000 bead b.w 803ea02 if(fl > pardata.DIAGN_LP[CURR_POINT][CURR_USL]) 803dca8: 4b49 ldr r3, [pc, #292] ; (803ddd0 ) 803dcaa: 781b ldrb r3, [r3, #0] 803dcac: b2db uxtb r3, r3 803dcae: 4618 mov r0, r3 803dcb0: 4b48 ldr r3, [pc, #288] ; (803ddd4 ) 803dcb2: 781b ldrb r3, [r3, #0] 803dcb4: b2db uxtb r3, r3 803dcb6: 4619 mov r1, r3 803dcb8: 4a47 ldr r2, [pc, #284] ; (803ddd8 ) 803dcba: 0083 lsls r3, r0, #2 803dcbc: 440b add r3, r1 803dcbe: 33b6 adds r3, #182 ; 0xb6 803dcc0: 009b lsls r3, r3, #2 803dcc2: 4413 add r3, r2 803dcc4: 3304 adds r3, #4 803dcc6: ed93 7a00 vldr s14, [r3] 803dcca: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803dcce: eeb4 7ae7 vcmpe.f32 s14, s15 803dcd2: eef1 fa10 vmrs APSR_nzcv, fpscr 803dcd6: d521 bpl.n 803dd1c pardata.DIAGN_HP[CURR_POINT][CURR_USL] = pardata.DIAGN_LP[CURR_POINT][CURR_USL]; 803dcd8: 4b3d ldr r3, [pc, #244] ; (803ddd0 ) 803dcda: 781b ldrb r3, [r3, #0] 803dcdc: b2db uxtb r3, r3 803dcde: 461c mov r4, r3 803dce0: 4b3c ldr r3, [pc, #240] ; (803ddd4 ) 803dce2: 781b ldrb r3, [r3, #0] 803dce4: b2db uxtb r3, r3 803dce6: 4618 mov r0, r3 803dce8: 4b39 ldr r3, [pc, #228] ; (803ddd0 ) 803dcea: 781b ldrb r3, [r3, #0] 803dcec: b2db uxtb r3, r3 803dcee: 461d mov r5, r3 803dcf0: 4b38 ldr r3, [pc, #224] ; (803ddd4 ) 803dcf2: 781b ldrb r3, [r3, #0] 803dcf4: b2db uxtb r3, r3 803dcf6: 4619 mov r1, r3 803dcf8: 4a37 ldr r2, [pc, #220] ; (803ddd8 ) 803dcfa: 00ab lsls r3, r5, #2 803dcfc: 440b add r3, r1 803dcfe: 33b6 adds r3, #182 ; 0xb6 803dd00: 009b lsls r3, r3, #2 803dd02: 4413 add r3, r2 803dd04: 3304 adds r3, #4 803dd06: 681a ldr r2, [r3, #0] 803dd08: 4933 ldr r1, [pc, #204] ; (803ddd8 ) 803dd0a: 00a3 lsls r3, r4, #2 803dd0c: 4403 add r3, r0 803dd0e: 3396 adds r3, #150 ; 0x96 803dd10: 009b lsls r3, r3, #2 803dd12: 440b add r3, r1 803dd14: 3304 adds r3, #4 803dd16: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803dd18: f000 be73 b.w 803ea02 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = (float32_t) k; 803dd1c: 4b2c ldr r3, [pc, #176] ; (803ddd0 ) 803dd1e: 781b ldrb r3, [r3, #0] 803dd20: b2db uxtb r3, r3 803dd22: 4618 mov r0, r3 803dd24: 4b2b ldr r3, [pc, #172] ; (803ddd4 ) 803dd26: 781b ldrb r3, [r3, #0] 803dd28: b2db uxtb r3, r3 803dd2a: 4619 mov r1, r3 803dd2c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803dd30: ee07 3a90 vmov s15, r3 803dd34: eef8 7a67 vcvt.f32.u32 s15, s15 803dd38: 4a27 ldr r2, [pc, #156] ; (803ddd8 ) 803dd3a: 0083 lsls r3, r0, #2 803dd3c: 440b add r3, r1 803dd3e: 3396 adds r3, #150 ; 0x96 803dd40: 009b lsls r3, r3, #2 803dd42: 4413 add r3, r2 803dd44: 3304 adds r3, #4 803dd46: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] *= 0.1f; 803dd4a: 4b21 ldr r3, [pc, #132] ; (803ddd0 ) 803dd4c: 781b ldrb r3, [r3, #0] 803dd4e: b2da uxtb r2, r3 803dd50: 4610 mov r0, r2 803dd52: 4b20 ldr r3, [pc, #128] ; (803ddd4 ) 803dd54: 781b ldrb r3, [r3, #0] 803dd56: b2db uxtb r3, r3 803dd58: 4619 mov r1, r3 803dd5a: 4615 mov r5, r2 803dd5c: 461c mov r4, r3 803dd5e: 4a1e ldr r2, [pc, #120] ; (803ddd8 ) 803dd60: 00ab lsls r3, r5, #2 803dd62: 4423 add r3, r4 803dd64: 3396 adds r3, #150 ; 0x96 803dd66: 009b lsls r3, r3, #2 803dd68: 4413 add r3, r2 803dd6a: 3304 adds r3, #4 803dd6c: edd3 7a00 vldr s15, [r3] 803dd70: ed9f 7a1a vldr s14, [pc, #104] ; 803dddc 803dd74: ee67 7a87 vmul.f32 s15, s15, s14 803dd78: 4a17 ldr r2, [pc, #92] ; (803ddd8 ) 803dd7a: 0083 lsls r3, r0, #2 803dd7c: 440b add r3, r1 803dd7e: 3396 adds r3, #150 ; 0x96 803dd80: 009b lsls r3, r3, #2 803dd82: 4413 add r3, r2 803dd84: 3304 adds r3, #4 803dd86: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] += 0.0001f; 803dd8a: 4b11 ldr r3, [pc, #68] ; (803ddd0 ) 803dd8c: 781b ldrb r3, [r3, #0] 803dd8e: b2da uxtb r2, r3 803dd90: 4610 mov r0, r2 803dd92: 4b10 ldr r3, [pc, #64] ; (803ddd4 ) 803dd94: 781b ldrb r3, [r3, #0] 803dd96: b2db uxtb r3, r3 803dd98: 4619 mov r1, r3 803dd9a: 4615 mov r5, r2 803dd9c: 461c mov r4, r3 803dd9e: 4a0e ldr r2, [pc, #56] ; (803ddd8 ) 803dda0: 00ab lsls r3, r5, #2 803dda2: 4423 add r3, r4 803dda4: 3396 adds r3, #150 ; 0x96 803dda6: 009b lsls r3, r3, #2 803dda8: 4413 add r3, r2 803ddaa: 3304 adds r3, #4 803ddac: edd3 7a00 vldr s15, [r3] 803ddb0: ed9f 7a0b vldr s14, [pc, #44] ; 803dde0 803ddb4: ee77 7a87 vadd.f32 s15, s15, s14 803ddb8: 4a07 ldr r2, [pc, #28] ; (803ddd8 ) 803ddba: 0083 lsls r3, r0, #2 803ddbc: 440b add r3, r1 803ddbe: 3396 adds r3, #150 ; 0x96 803ddc0: 009b lsls r3, r3, #2 803ddc2: 4413 add r3, r2 803ddc4: 3304 adds r3, #4 803ddc6: edc3 7a00 vstr s15, [r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803ddca: f000 be1a b.w 803ea02 803ddce: bf00 nop 803ddd0: 2002105d .word 0x2002105d 803ddd4: 2002105f .word 0x2002105f 803ddd8: 20023eb8 .word 0x20023eb8 803dddc: 3dcccccd .word 0x3dcccccd 803dde0: 38d1b717 .word 0x38d1b717 if((menupos >= DiagLP_IDT) && (menupos <= DiagLP_IKD)) 803dde4: 4bba ldr r3, [pc, #744] ; (803e0d0 ) 803dde6: 781b ldrb r3, [r3, #0] 803dde8: b2db uxtb r3, r3 803ddea: 2b12 cmp r3, #18 803ddec: f240 827e bls.w 803e2ec 803ddf0: 4bb7 ldr r3, [pc, #732] ; (803e0d0 ) 803ddf2: 781b ldrb r3, [r3, #0] 803ddf4: b2db uxtb r3, r3 803ddf6: 2b18 cmp r3, #24 803ddf8: f200 8278 bhi.w 803e2ec k = (uint32_t) (pardata.DIAGN_LP[CURR_POINT][CURR_USL] * 10.0f); 803ddfc: 4bb5 ldr r3, [pc, #724] ; (803e0d4 ) 803ddfe: 781b ldrb r3, [r3, #0] 803de00: b2db uxtb r3, r3 803de02: 4618 mov r0, r3 803de04: 4bb4 ldr r3, [pc, #720] ; (803e0d8 ) 803de06: 781b ldrb r3, [r3, #0] 803de08: b2db uxtb r3, r3 803de0a: 4619 mov r1, r3 803de0c: 4ab3 ldr r2, [pc, #716] ; (803e0dc ) 803de0e: 0083 lsls r3, r0, #2 803de10: 440b add r3, r1 803de12: 33b6 adds r3, #182 ; 0xb6 803de14: 009b lsls r3, r3, #2 803de16: 4413 add r3, r2 803de18: 3304 adds r3, #4 803de1a: edd3 7a00 vldr s15, [r3] 803de1e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803de22: ee67 7a87 vmul.f32 s15, s15, s14 803de26: eefc 7ae7 vcvt.u32.f32 s15, s15 803de2a: ee17 3a90 vmov r3, s15 803de2e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803de32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803de36: 095b lsrs r3, r3, #5 803de38: 4aa9 ldr r2, [pc, #676] ; (803e0e0 ) 803de3a: fba2 2303 umull r2, r3, r2, r3 803de3e: 09db lsrs r3, r3, #7 803de40: b2db uxtb r3, r3 803de42: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803de46: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803de4a: 0953 lsrs r3, r2, #5 803de4c: 49a4 ldr r1, [pc, #656] ; (803e0e0 ) 803de4e: fba1 1303 umull r1, r3, r1, r3 803de52: 09db lsrs r3, r3, #7 803de54: 49a3 ldr r1, [pc, #652] ; (803e0e4 ) 803de56: fb01 f303 mul.w r3, r1, r3 803de5a: 1ad3 subs r3, r2, r3 803de5c: 4aa2 ldr r2, [pc, #648] ; (803e0e8 ) 803de5e: fba2 2303 umull r2, r3, r2, r3 803de62: 0b5b lsrs r3, r3, #13 803de64: b2db uxtb r3, r3 803de66: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803de6a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803de6e: 0953 lsrs r3, r2, #5 803de70: 499b ldr r1, [pc, #620] ; (803e0e0 ) 803de72: fba1 1303 umull r1, r3, r1, r3 803de76: 09db lsrs r3, r3, #7 803de78: 499a ldr r1, [pc, #616] ; (803e0e4 ) 803de7a: fb01 f303 mul.w r3, r1, r3 803de7e: 1ad3 subs r3, r2, r3 803de80: 4a99 ldr r2, [pc, #612] ; (803e0e8 ) 803de82: fba2 1203 umull r1, r2, r2, r3 803de86: 0b52 lsrs r2, r2, #13 803de88: f242 7110 movw r1, #10000 ; 0x2710 803de8c: fb01 f202 mul.w r2, r1, r2 803de90: 1a9a subs r2, r3, r2 803de92: 4b96 ldr r3, [pc, #600] ; (803e0ec ) 803de94: fba3 2302 umull r2, r3, r3, r2 803de98: 099b lsrs r3, r3, #6 803de9a: b2db uxtb r3, r3 803de9c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803dea0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803dea4: 095a lsrs r2, r3, #5 803dea6: 498e ldr r1, [pc, #568] ; (803e0e0 ) 803dea8: fba1 1202 umull r1, r2, r1, r2 803deac: 09d2 lsrs r2, r2, #7 803deae: 498d ldr r1, [pc, #564] ; (803e0e4 ) 803deb0: fb01 f202 mul.w r2, r1, r2 803deb4: 1a9a subs r2, r3, r2 803deb6: 4b8c ldr r3, [pc, #560] ; (803e0e8 ) 803deb8: fba3 1302 umull r1, r3, r3, r2 803debc: 0b5b lsrs r3, r3, #13 803debe: f242 7110 movw r1, #10000 ; 0x2710 803dec2: fb01 f303 mul.w r3, r1, r3 803dec6: 1ad3 subs r3, r2, r3 803dec8: 4a88 ldr r2, [pc, #544] ; (803e0ec ) 803deca: fba2 1203 umull r1, r2, r2, r3 803dece: 0992 lsrs r2, r2, #6 803ded0: f44f 717a mov.w r1, #1000 ; 0x3e8 803ded4: fb01 f202 mul.w r2, r1, r2 803ded8: 1a9a subs r2, r3, r2 803deda: 4b85 ldr r3, [pc, #532] ; (803e0f0 ) 803dedc: fba3 2302 umull r2, r3, r3, r2 803dee0: 095b lsrs r3, r3, #5 803dee2: b2db uxtb r3, r3 803dee4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803dee8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803deec: 0953 lsrs r3, r2, #5 803deee: 497c ldr r1, [pc, #496] ; (803e0e0 ) 803def0: fba1 1303 umull r1, r3, r1, r3 803def4: 09db lsrs r3, r3, #7 803def6: 497b ldr r1, [pc, #492] ; (803e0e4 ) 803def8: fb01 f303 mul.w r3, r1, r3 803defc: 1ad3 subs r3, r2, r3 803defe: 4a7a ldr r2, [pc, #488] ; (803e0e8 ) 803df00: fba2 1203 umull r1, r2, r2, r3 803df04: 0b52 lsrs r2, r2, #13 803df06: f242 7110 movw r1, #10000 ; 0x2710 803df0a: fb01 f202 mul.w r2, r1, r2 803df0e: 1a9a subs r2, r3, r2 803df10: 4b76 ldr r3, [pc, #472] ; (803e0ec ) 803df12: fba3 1302 umull r1, r3, r3, r2 803df16: 099b lsrs r3, r3, #6 803df18: f44f 717a mov.w r1, #1000 ; 0x3e8 803df1c: fb01 f303 mul.w r3, r1, r3 803df20: 1ad3 subs r3, r2, r3 803df22: 4a73 ldr r2, [pc, #460] ; (803e0f0 ) 803df24: fba2 1203 umull r1, r2, r2, r3 803df28: 0952 lsrs r2, r2, #5 803df2a: 2164 movs r1, #100 ; 0x64 803df2c: fb01 f202 mul.w r2, r1, r2 803df30: 1a9a subs r2, r3, r2 803df32: 4b70 ldr r3, [pc, #448] ; (803e0f4 ) 803df34: fba3 2302 umull r2, r3, r3, r2 803df38: 08db lsrs r3, r3, #3 803df3a: b2db uxtb r3, r3 803df3c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803df40: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803df44: 0953 lsrs r3, r2, #5 803df46: 4966 ldr r1, [pc, #408] ; (803e0e0 ) 803df48: fba1 1303 umull r1, r3, r1, r3 803df4c: 09db lsrs r3, r3, #7 803df4e: 4965 ldr r1, [pc, #404] ; (803e0e4 ) 803df50: fb01 f303 mul.w r3, r1, r3 803df54: 1ad3 subs r3, r2, r3 803df56: 4a64 ldr r2, [pc, #400] ; (803e0e8 ) 803df58: fba2 1203 umull r1, r2, r2, r3 803df5c: 0b52 lsrs r2, r2, #13 803df5e: f242 7110 movw r1, #10000 ; 0x2710 803df62: fb01 f202 mul.w r2, r1, r2 803df66: 1a9a subs r2, r3, r2 803df68: 4b60 ldr r3, [pc, #384] ; (803e0ec ) 803df6a: fba3 1302 umull r1, r3, r3, r2 803df6e: 099b lsrs r3, r3, #6 803df70: f44f 717a mov.w r1, #1000 ; 0x3e8 803df74: fb01 f303 mul.w r3, r1, r3 803df78: 1ad3 subs r3, r2, r3 803df7a: 4a5d ldr r2, [pc, #372] ; (803e0f0 ) 803df7c: fba2 1203 umull r1, r2, r2, r3 803df80: 0952 lsrs r2, r2, #5 803df82: 2164 movs r1, #100 ; 0x64 803df84: fb01 f202 mul.w r2, r1, r2 803df88: 1a9a subs r2, r3, r2 803df8a: 4b5a ldr r3, [pc, #360] ; (803e0f4 ) 803df8c: fba3 1302 umull r1, r3, r3, r2 803df90: 08d9 lsrs r1, r3, #3 803df92: 460b mov r3, r1 803df94: 009b lsls r3, r3, #2 803df96: 440b add r3, r1 803df98: 005b lsls r3, r3, #1 803df9a: 1ad1 subs r1, r2, r3 803df9c: b2cb uxtb r3, r1 803df9e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803dfa2: 4b4b ldr r3, [pc, #300] ; (803e0d0 ) 803dfa4: 781b ldrb r3, [r3, #0] 803dfa6: b2db uxtb r3, r3 803dfa8: 3b13 subs r3, #19 803dfaa: 2b05 cmp r3, #5 803dfac: d85c bhi.n 803e068 803dfae: a201 add r2, pc, #4 ; (adr r2, 803dfb4 ) 803dfb0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803dfb4: 0803dfcd .word 0x0803dfcd 803dfb8: 0803dfe5 .word 0x0803dfe5 803dfbc: 0803dfff .word 0x0803dfff 803dfc0: 0803e017 .word 0x0803e017 803dfc4: 0803e02b .word 0x0803e02b 803dfc8: 0803e03f .word 0x0803e03f if(k > 100000) 803dfcc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803dfd0: 4a44 ldr r2, [pc, #272] ; (803e0e4 ) 803dfd2: 4293 cmp r3, r2 803dfd4: d93d bls.n 803e052 k -= 100000; 803dfd6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803dfda: 4b47 ldr r3, [pc, #284] ; (803e0f8 ) 803dfdc: 4413 add r3, r2 803dfde: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803dfe2: e036 b.n 803e052 if(k > 10000) 803dfe4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803dfe8: f242 7210 movw r2, #10000 ; 0x2710 803dfec: 4293 cmp r3, r2 803dfee: d932 bls.n 803e056 k -= 10000; 803dff0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803dff4: 4b41 ldr r3, [pc, #260] ; (803e0fc ) 803dff6: 4413 add r3, r2 803dff8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803dffc: e02b b.n 803e056 if(k > 1000) 803dffe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e002: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803e006: d928 bls.n 803e05a k -= 1000; 803e008: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e00c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803e010: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e014: e021 b.n 803e05a if(k > 100) 803e016: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e01a: 2b64 cmp r3, #100 ; 0x64 803e01c: d91f bls.n 803e05e k -= 100; 803e01e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e022: 3b64 subs r3, #100 ; 0x64 803e024: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e028: e019 b.n 803e05e if(k > 10) 803e02a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e02e: 2b0a cmp r3, #10 803e030: d917 bls.n 803e062 k -= 10; 803e032: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e036: 3b0a subs r3, #10 803e038: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e03c: e011 b.n 803e062 if(k > 1) 803e03e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e042: 2b01 cmp r3, #1 803e044: d90f bls.n 803e066 k--; 803e046: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e04a: 3b01 subs r3, #1 803e04c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e050: e009 b.n 803e066 break; 803e052: bf00 nop 803e054: e008 b.n 803e068 break; 803e056: bf00 nop 803e058: e006 b.n 803e068 break; 803e05a: bf00 nop 803e05c: e004 b.n 803e068 break; 803e05e: bf00 nop 803e060: e002 b.n 803e068 break; 803e062: bf00 nop 803e064: e000 b.n 803e068 break; 803e066: bf00 nop fl = (float32_t) k; 803e068: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e06c: ee07 3a90 vmov s15, r3 803e070: eef8 7a67 vcvt.f32.u32 s15, s15 803e074: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803e078: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803e07c: ed9f 7a20 vldr s14, [pc, #128] ; 803e100 803e080: ee67 7a87 vmul.f32 s15, s15, s14 803e084: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803e088: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803e08c: ed9f 7a1d vldr s14, [pc, #116] ; 803e104 803e090: ee77 7a87 vadd.f32 s15, s15, s14 803e094: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 803e098: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803e09c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803e0a0: eef4 7ac7 vcmpe.f32 s15, s14 803e0a4: eef1 fa10 vmrs APSR_nzcv, fpscr 803e0a8: d530 bpl.n 803e10c pardata.DIAGN_LP[CURR_POINT][CURR_USL] = 10.0f; 803e0aa: 4b0a ldr r3, [pc, #40] ; (803e0d4 ) 803e0ac: 781b ldrb r3, [r3, #0] 803e0ae: b2db uxtb r3, r3 803e0b0: 4618 mov r0, r3 803e0b2: 4b09 ldr r3, [pc, #36] ; (803e0d8 ) 803e0b4: 781b ldrb r3, [r3, #0] 803e0b6: b2db uxtb r3, r3 803e0b8: 4619 mov r1, r3 803e0ba: 4a08 ldr r2, [pc, #32] ; (803e0dc ) 803e0bc: 0083 lsls r3, r0, #2 803e0be: 440b add r3, r1 803e0c0: 33b6 adds r3, #182 ; 0xb6 803e0c2: 009b lsls r3, r3, #2 803e0c4: 4413 add r3, r2 803e0c6: 3304 adds r3, #4 803e0c8: 4a0f ldr r2, [pc, #60] ; (803e108 ) 803e0ca: 601a str r2, [r3, #0] if(fl < 10.0f) 803e0cc: f000 bc99 b.w 803ea02 803e0d0: 20020070 .word 0x20020070 803e0d4: 2002105d .word 0x2002105d 803e0d8: 2002105f .word 0x2002105f 803e0dc: 20023eb8 .word 0x20023eb8 803e0e0: 0a7c5ac5 .word 0x0a7c5ac5 803e0e4: 000186a0 .word 0x000186a0 803e0e8: d1b71759 .word 0xd1b71759 803e0ec: 10624dd3 .word 0x10624dd3 803e0f0: 51eb851f .word 0x51eb851f 803e0f4: cccccccd .word 0xcccccccd 803e0f8: fffe7960 .word 0xfffe7960 803e0fc: ffffd8f0 .word 0xffffd8f0 803e100: 3dcccccd .word 0x3dcccccd 803e104: 38d1b717 .word 0x38d1b717 803e108: 41200000 .word 0x41200000 if(pardata.DIAGN_LP[CURR_POINT][CURR_USL] < pardata.DIAGN_HP[CURR_POINT][CURR_USL]) 803e10c: 4b6f ldr r3, [pc, #444] ; (803e2cc ) 803e10e: 781b ldrb r3, [r3, #0] 803e110: b2db uxtb r3, r3 803e112: 4618 mov r0, r3 803e114: 4b6e ldr r3, [pc, #440] ; (803e2d0 ) 803e116: 781b ldrb r3, [r3, #0] 803e118: b2db uxtb r3, r3 803e11a: 4619 mov r1, r3 803e11c: 4a6d ldr r2, [pc, #436] ; (803e2d4 ) 803e11e: 0083 lsls r3, r0, #2 803e120: 440b add r3, r1 803e122: 33b6 adds r3, #182 ; 0xb6 803e124: 009b lsls r3, r3, #2 803e126: 4413 add r3, r2 803e128: 3304 adds r3, #4 803e12a: ed93 7a00 vldr s14, [r3] 803e12e: 4b67 ldr r3, [pc, #412] ; (803e2cc ) 803e130: 781b ldrb r3, [r3, #0] 803e132: b2db uxtb r3, r3 803e134: 4618 mov r0, r3 803e136: 4b66 ldr r3, [pc, #408] ; (803e2d0 ) 803e138: 781b ldrb r3, [r3, #0] 803e13a: b2db uxtb r3, r3 803e13c: 4619 mov r1, r3 803e13e: 4a65 ldr r2, [pc, #404] ; (803e2d4 ) 803e140: 0083 lsls r3, r0, #2 803e142: 440b add r3, r1 803e144: 3396 adds r3, #150 ; 0x96 803e146: 009b lsls r3, r3, #2 803e148: 4413 add r3, r2 803e14a: 3304 adds r3, #4 803e14c: edd3 7a00 vldr s15, [r3] 803e150: eeb4 7ae7 vcmpe.f32 s14, s15 803e154: eef1 fa10 vmrs APSR_nzcv, fpscr 803e158: d521 bpl.n 803e19e pardata.DIAGN_LP[CURR_POINT][CURR_USL] = pardata.DIAGN_HP[CURR_POINT][CURR_USL]; 803e15a: 4b5c ldr r3, [pc, #368] ; (803e2cc ) 803e15c: 781b ldrb r3, [r3, #0] 803e15e: b2db uxtb r3, r3 803e160: 461c mov r4, r3 803e162: 4b5b ldr r3, [pc, #364] ; (803e2d0 ) 803e164: 781b ldrb r3, [r3, #0] 803e166: b2db uxtb r3, r3 803e168: 4618 mov r0, r3 803e16a: 4b58 ldr r3, [pc, #352] ; (803e2cc ) 803e16c: 781b ldrb r3, [r3, #0] 803e16e: b2db uxtb r3, r3 803e170: 461d mov r5, r3 803e172: 4b57 ldr r3, [pc, #348] ; (803e2d0 ) 803e174: 781b ldrb r3, [r3, #0] 803e176: b2db uxtb r3, r3 803e178: 4619 mov r1, r3 803e17a: 4a56 ldr r2, [pc, #344] ; (803e2d4 ) 803e17c: 00ab lsls r3, r5, #2 803e17e: 440b add r3, r1 803e180: 3396 adds r3, #150 ; 0x96 803e182: 009b lsls r3, r3, #2 803e184: 4413 add r3, r2 803e186: 3304 adds r3, #4 803e188: 681a ldr r2, [r3, #0] 803e18a: 4952 ldr r1, [pc, #328] ; (803e2d4 ) 803e18c: 00a3 lsls r3, r4, #2 803e18e: 4403 add r3, r0 803e190: 33b6 adds r3, #182 ; 0xb6 803e192: 009b lsls r3, r3, #2 803e194: 440b add r3, r1 803e196: 3304 adds r3, #4 803e198: 601a str r2, [r3, #0] if(fl < 10.0f) 803e19a: f000 bc32 b.w 803ea02 if(fl > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 803e19e: 4b4d ldr r3, [pc, #308] ; (803e2d4 ) 803e1a0: 7adb ldrb r3, [r3, #11] 803e1a2: b2db uxtb r3, r3 803e1a4: 461a mov r2, r3 803e1a6: 4b4c ldr r3, [pc, #304] ; (803e2d8 ) 803e1a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803e1ac: ee07 3a90 vmov s15, r3 803e1b0: eeb8 7a67 vcvt.f32.u32 s14, s15 803e1b4: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 803e1b8: eec7 7a26 vdiv.f32 s15, s14, s13 803e1bc: ed9f 7a47 vldr s14, [pc, #284] ; 803e2dc 803e1c0: ee37 7a87 vadd.f32 s14, s15, s14 803e1c4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803e1c8: eeb4 7ae7 vcmpe.f32 s14, s15 803e1cc: eef1 fa10 vmrs APSR_nzcv, fpscr 803e1d0: d524 bpl.n 803e21c pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 803e1d2: 4b3e ldr r3, [pc, #248] ; (803e2cc ) 803e1d4: 781b ldrb r3, [r3, #0] 803e1d6: b2db uxtb r3, r3 803e1d8: 4618 mov r0, r3 803e1da: 4b3d ldr r3, [pc, #244] ; (803e2d0 ) 803e1dc: 781b ldrb r3, [r3, #0] 803e1de: b2db uxtb r3, r3 803e1e0: 4619 mov r1, r3 803e1e2: 4b3c ldr r3, [pc, #240] ; (803e2d4 ) 803e1e4: 7adb ldrb r3, [r3, #11] 803e1e6: b2db uxtb r3, r3 803e1e8: 461a mov r2, r3 803e1ea: 4b3b ldr r3, [pc, #236] ; (803e2d8 ) 803e1ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803e1f0: 4a3b ldr r2, [pc, #236] ; (803e2e0 ) 803e1f2: fba2 2303 umull r2, r3, r2, r3 803e1f6: 089b lsrs r3, r3, #2 803e1f8: ee07 3a90 vmov s15, r3 803e1fc: eef8 7a67 vcvt.f32.u32 s15, s15 803e200: ed9f 7a38 vldr s14, [pc, #224] ; 803e2e4 803e204: ee77 7a87 vadd.f32 s15, s15, s14 803e208: 4a32 ldr r2, [pc, #200] ; (803e2d4 ) 803e20a: 0083 lsls r3, r0, #2 803e20c: 440b add r3, r1 803e20e: 33b6 adds r3, #182 ; 0xb6 803e210: 009b lsls r3, r3, #2 803e212: 4413 add r3, r2 803e214: 3304 adds r3, #4 803e216: edc3 7a00 vstr s15, [r3] if(fl < 10.0f) 803e21a: e3f2 b.n 803ea02 pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) k; 803e21c: 4b2b ldr r3, [pc, #172] ; (803e2cc ) 803e21e: 781b ldrb r3, [r3, #0] 803e220: b2db uxtb r3, r3 803e222: 4618 mov r0, r3 803e224: 4b2a ldr r3, [pc, #168] ; (803e2d0 ) 803e226: 781b ldrb r3, [r3, #0] 803e228: b2db uxtb r3, r3 803e22a: 4619 mov r1, r3 803e22c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e230: ee07 3a90 vmov s15, r3 803e234: eef8 7a67 vcvt.f32.u32 s15, s15 803e238: 4a26 ldr r2, [pc, #152] ; (803e2d4 ) 803e23a: 0083 lsls r3, r0, #2 803e23c: 440b add r3, r1 803e23e: 33b6 adds r3, #182 ; 0xb6 803e240: 009b lsls r3, r3, #2 803e242: 4413 add r3, r2 803e244: 3304 adds r3, #4 803e246: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] *= 0.1f; 803e24a: 4b20 ldr r3, [pc, #128] ; (803e2cc ) 803e24c: 781b ldrb r3, [r3, #0] 803e24e: b2da uxtb r2, r3 803e250: 4610 mov r0, r2 803e252: 4b1f ldr r3, [pc, #124] ; (803e2d0 ) 803e254: 781b ldrb r3, [r3, #0] 803e256: b2db uxtb r3, r3 803e258: 4619 mov r1, r3 803e25a: 4615 mov r5, r2 803e25c: 461c mov r4, r3 803e25e: 4a1d ldr r2, [pc, #116] ; (803e2d4 ) 803e260: 00ab lsls r3, r5, #2 803e262: 4423 add r3, r4 803e264: 33b6 adds r3, #182 ; 0xb6 803e266: 009b lsls r3, r3, #2 803e268: 4413 add r3, r2 803e26a: 3304 adds r3, #4 803e26c: edd3 7a00 vldr s15, [r3] 803e270: ed9f 7a1d vldr s14, [pc, #116] ; 803e2e8 803e274: ee67 7a87 vmul.f32 s15, s15, s14 803e278: 4a16 ldr r2, [pc, #88] ; (803e2d4 ) 803e27a: 0083 lsls r3, r0, #2 803e27c: 440b add r3, r1 803e27e: 33b6 adds r3, #182 ; 0xb6 803e280: 009b lsls r3, r3, #2 803e282: 4413 add r3, r2 803e284: 3304 adds r3, #4 803e286: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001f; 803e28a: 4b10 ldr r3, [pc, #64] ; (803e2cc ) 803e28c: 781b ldrb r3, [r3, #0] 803e28e: b2da uxtb r2, r3 803e290: 4610 mov r0, r2 803e292: 4b0f ldr r3, [pc, #60] ; (803e2d0 ) 803e294: 781b ldrb r3, [r3, #0] 803e296: b2db uxtb r3, r3 803e298: 4619 mov r1, r3 803e29a: 4615 mov r5, r2 803e29c: 461c mov r4, r3 803e29e: 4a0d ldr r2, [pc, #52] ; (803e2d4 ) 803e2a0: 00ab lsls r3, r5, #2 803e2a2: 4423 add r3, r4 803e2a4: 33b6 adds r3, #182 ; 0xb6 803e2a6: 009b lsls r3, r3, #2 803e2a8: 4413 add r3, r2 803e2aa: 3304 adds r3, #4 803e2ac: edd3 7a00 vldr s15, [r3] 803e2b0: ed9f 7a0c vldr s14, [pc, #48] ; 803e2e4 803e2b4: ee77 7a87 vadd.f32 s15, s15, s14 803e2b8: 4a06 ldr r2, [pc, #24] ; (803e2d4 ) 803e2ba: 0083 lsls r3, r0, #2 803e2bc: 440b add r3, r1 803e2be: 33b6 adds r3, #182 ; 0xb6 803e2c0: 009b lsls r3, r3, #2 803e2c2: 4413 add r3, r2 803e2c4: 3304 adds r3, #4 803e2c6: edc3 7a00 vstr s15, [r3] if(fl < 10.0f) 803e2ca: e39a b.n 803ea02 803e2cc: 2002105d .word 0x2002105d 803e2d0: 2002105f .word 0x2002105f 803e2d4: 20023eb8 .word 0x20023eb8 803e2d8: 080f5268 .word 0x080f5268 803e2dc: 3851b717 .word 0x3851b717 803e2e0: cccccccd .word 0xcccccccd 803e2e4: 38d1b717 .word 0x38d1b717 803e2e8: 3dcccccd .word 0x3dcccccd if((menupos >= DiagW_IDT) && (menupos <= DiagW_IKD)) 803e2ec: 4ba0 ldr r3, [pc, #640] ; (803e570 ) 803e2ee: 781b ldrb r3, [r3, #0] 803e2f0: b2db uxtb r3, r3 803e2f2: 2b18 cmp r3, #24 803e2f4: f240 81bc bls.w 803e670 803e2f8: 4b9d ldr r3, [pc, #628] ; (803e570 ) 803e2fa: 781b ldrb r3, [r3, #0] 803e2fc: b2db uxtb r3, r3 803e2fe: 2b1e cmp r3, #30 803e300: f200 81b6 bhi.w 803e670 k = (uint32_t) (pardata.DIAGN_W[CURR_POINT][CURR_USL] * 10.0f); 803e304: 4b9b ldr r3, [pc, #620] ; (803e574 ) 803e306: 781b ldrb r3, [r3, #0] 803e308: b2db uxtb r3, r3 803e30a: 4618 mov r0, r3 803e30c: 4b9a ldr r3, [pc, #616] ; (803e578 ) 803e30e: 781b ldrb r3, [r3, #0] 803e310: b2db uxtb r3, r3 803e312: 4619 mov r1, r3 803e314: 4a99 ldr r2, [pc, #612] ; (803e57c ) 803e316: 0083 lsls r3, r0, #2 803e318: 440b add r3, r1 803e31a: 33d6 adds r3, #214 ; 0xd6 803e31c: 009b lsls r3, r3, #2 803e31e: 4413 add r3, r2 803e320: 3304 adds r3, #4 803e322: edd3 7a00 vldr s15, [r3] 803e326: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803e32a: ee67 7a87 vmul.f32 s15, s15, s14 803e32e: eefc 7ae7 vcvt.u32.f32 s15, s15 803e332: ee17 3a90 vmov r3, s15 803e336: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803e33a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e33e: 095b lsrs r3, r3, #5 803e340: 4a8f ldr r2, [pc, #572] ; (803e580 ) 803e342: fba2 2303 umull r2, r3, r2, r3 803e346: 09db lsrs r3, r3, #7 803e348: b2db uxtb r3, r3 803e34a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803e34e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e352: 0953 lsrs r3, r2, #5 803e354: 498a ldr r1, [pc, #552] ; (803e580 ) 803e356: fba1 1303 umull r1, r3, r1, r3 803e35a: 09db lsrs r3, r3, #7 803e35c: 4989 ldr r1, [pc, #548] ; (803e584 ) 803e35e: fb01 f303 mul.w r3, r1, r3 803e362: 1ad3 subs r3, r2, r3 803e364: 4a88 ldr r2, [pc, #544] ; (803e588 ) 803e366: fba2 2303 umull r2, r3, r2, r3 803e36a: 0b5b lsrs r3, r3, #13 803e36c: b2db uxtb r3, r3 803e36e: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803e372: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e376: 0953 lsrs r3, r2, #5 803e378: 4981 ldr r1, [pc, #516] ; (803e580 ) 803e37a: fba1 1303 umull r1, r3, r1, r3 803e37e: 09db lsrs r3, r3, #7 803e380: 4980 ldr r1, [pc, #512] ; (803e584 ) 803e382: fb01 f303 mul.w r3, r1, r3 803e386: 1ad3 subs r3, r2, r3 803e388: 4a7f ldr r2, [pc, #508] ; (803e588 ) 803e38a: fba2 1203 umull r1, r2, r2, r3 803e38e: 0b52 lsrs r2, r2, #13 803e390: f242 7110 movw r1, #10000 ; 0x2710 803e394: fb01 f202 mul.w r2, r1, r2 803e398: 1a9a subs r2, r3, r2 803e39a: 4b7c ldr r3, [pc, #496] ; (803e58c ) 803e39c: fba3 2302 umull r2, r3, r3, r2 803e3a0: 099b lsrs r3, r3, #6 803e3a2: b2db uxtb r3, r3 803e3a4: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803e3a8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e3ac: 095a lsrs r2, r3, #5 803e3ae: 4974 ldr r1, [pc, #464] ; (803e580 ) 803e3b0: fba1 1202 umull r1, r2, r1, r2 803e3b4: 09d2 lsrs r2, r2, #7 803e3b6: 4973 ldr r1, [pc, #460] ; (803e584 ) 803e3b8: fb01 f202 mul.w r2, r1, r2 803e3bc: 1a9a subs r2, r3, r2 803e3be: 4b72 ldr r3, [pc, #456] ; (803e588 ) 803e3c0: fba3 1302 umull r1, r3, r3, r2 803e3c4: 0b5b lsrs r3, r3, #13 803e3c6: f242 7110 movw r1, #10000 ; 0x2710 803e3ca: fb01 f303 mul.w r3, r1, r3 803e3ce: 1ad3 subs r3, r2, r3 803e3d0: 4a6e ldr r2, [pc, #440] ; (803e58c ) 803e3d2: fba2 1203 umull r1, r2, r2, r3 803e3d6: 0992 lsrs r2, r2, #6 803e3d8: f44f 717a mov.w r1, #1000 ; 0x3e8 803e3dc: fb01 f202 mul.w r2, r1, r2 803e3e0: 1a9a subs r2, r3, r2 803e3e2: 4b6b ldr r3, [pc, #428] ; (803e590 ) 803e3e4: fba3 2302 umull r2, r3, r3, r2 803e3e8: 095b lsrs r3, r3, #5 803e3ea: b2db uxtb r3, r3 803e3ec: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803e3f0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e3f4: 0953 lsrs r3, r2, #5 803e3f6: 4962 ldr r1, [pc, #392] ; (803e580 ) 803e3f8: fba1 1303 umull r1, r3, r1, r3 803e3fc: 09db lsrs r3, r3, #7 803e3fe: 4961 ldr r1, [pc, #388] ; (803e584 ) 803e400: fb01 f303 mul.w r3, r1, r3 803e404: 1ad3 subs r3, r2, r3 803e406: 4a60 ldr r2, [pc, #384] ; (803e588 ) 803e408: fba2 1203 umull r1, r2, r2, r3 803e40c: 0b52 lsrs r2, r2, #13 803e40e: f242 7110 movw r1, #10000 ; 0x2710 803e412: fb01 f202 mul.w r2, r1, r2 803e416: 1a9a subs r2, r3, r2 803e418: 4b5c ldr r3, [pc, #368] ; (803e58c ) 803e41a: fba3 1302 umull r1, r3, r3, r2 803e41e: 099b lsrs r3, r3, #6 803e420: f44f 717a mov.w r1, #1000 ; 0x3e8 803e424: fb01 f303 mul.w r3, r1, r3 803e428: 1ad3 subs r3, r2, r3 803e42a: 4a59 ldr r2, [pc, #356] ; (803e590 ) 803e42c: fba2 1203 umull r1, r2, r2, r3 803e430: 0952 lsrs r2, r2, #5 803e432: 2164 movs r1, #100 ; 0x64 803e434: fb01 f202 mul.w r2, r1, r2 803e438: 1a9a subs r2, r3, r2 803e43a: 4b56 ldr r3, [pc, #344] ; (803e594 ) 803e43c: fba3 2302 umull r2, r3, r3, r2 803e440: 08db lsrs r3, r3, #3 803e442: b2db uxtb r3, r3 803e444: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803e448: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e44c: 0953 lsrs r3, r2, #5 803e44e: 494c ldr r1, [pc, #304] ; (803e580 ) 803e450: fba1 1303 umull r1, r3, r1, r3 803e454: 09db lsrs r3, r3, #7 803e456: 494b ldr r1, [pc, #300] ; (803e584 ) 803e458: fb01 f303 mul.w r3, r1, r3 803e45c: 1ad3 subs r3, r2, r3 803e45e: 4a4a ldr r2, [pc, #296] ; (803e588 ) 803e460: fba2 1203 umull r1, r2, r2, r3 803e464: 0b52 lsrs r2, r2, #13 803e466: f242 7110 movw r1, #10000 ; 0x2710 803e46a: fb01 f202 mul.w r2, r1, r2 803e46e: 1a9a subs r2, r3, r2 803e470: 4b46 ldr r3, [pc, #280] ; (803e58c ) 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: 4a43 ldr r2, [pc, #268] ; (803e590 ) 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: 4b40 ldr r3, [pc, #256] ; (803e594 ) 803e494: fba3 1302 umull r1, r3, r3, r2 803e498: 08d9 lsrs r1, r3, #3 803e49a: 460b mov r3, r1 803e49c: 009b lsls r3, r3, #2 803e49e: 440b add r3, r1 803e4a0: 005b lsls r3, r3, #1 803e4a2: 1ad1 subs r1, r2, r3 803e4a4: b2cb uxtb r3, r1 803e4a6: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803e4aa: 4b31 ldr r3, [pc, #196] ; (803e570 ) 803e4ac: 781b ldrb r3, [r3, #0] 803e4ae: b2db uxtb r3, r3 803e4b0: 3b19 subs r3, #25 803e4b2: 2b05 cmp r3, #5 803e4b4: d875 bhi.n 803e5a2 803e4b6: a201 add r2, pc, #4 ; (adr r2, 803e4bc ) 803e4b8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803e4bc: 0803e4d5 .word 0x0803e4d5 803e4c0: 0803e4ed .word 0x0803e4ed 803e4c4: 0803e507 .word 0x0803e507 803e4c8: 0803e51f .word 0x0803e51f 803e4cc: 0803e533 .word 0x0803e533 803e4d0: 0803e547 .word 0x0803e547 if(k > 100000) 803e4d4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e4d8: 4a2a ldr r2, [pc, #168] ; (803e584 ) 803e4da: 4293 cmp r3, r2 803e4dc: d93d bls.n 803e55a k -= 100000; 803e4de: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e4e2: 4b2d ldr r3, [pc, #180] ; (803e598 ) 803e4e4: 4413 add r3, r2 803e4e6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e4ea: e036 b.n 803e55a if(k > 10000) 803e4ec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e4f0: f242 7210 movw r2, #10000 ; 0x2710 803e4f4: 4293 cmp r3, r2 803e4f6: d932 bls.n 803e55e k -= 10000; 803e4f8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e4fc: 4b27 ldr r3, [pc, #156] ; (803e59c ) 803e4fe: 4413 add r3, r2 803e500: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e504: e02b b.n 803e55e if(k > 1000) 803e506: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e50a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803e50e: d928 bls.n 803e562 k -= 1000; 803e510: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e514: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803e518: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e51c: e021 b.n 803e562 if(k > 100) 803e51e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e522: 2b64 cmp r3, #100 ; 0x64 803e524: d91f bls.n 803e566 k -= 100; 803e526: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e52a: 3b64 subs r3, #100 ; 0x64 803e52c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e530: e019 b.n 803e566 if(k > 10) 803e532: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e536: 2b0a cmp r3, #10 803e538: d917 bls.n 803e56a k -= 10; 803e53a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e53e: 3b0a subs r3, #10 803e540: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e544: e011 b.n 803e56a if(k > 1) 803e546: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e54a: 2b01 cmp r3, #1 803e54c: d928 bls.n 803e5a0 k--; 803e54e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e552: 3b01 subs r3, #1 803e554: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e558: e022 b.n 803e5a0 break; 803e55a: bf00 nop 803e55c: e021 b.n 803e5a2 break; 803e55e: bf00 nop 803e560: e01f b.n 803e5a2 break; 803e562: bf00 nop 803e564: e01d b.n 803e5a2 break; 803e566: bf00 nop 803e568: e01b b.n 803e5a2 break; 803e56a: bf00 nop 803e56c: e019 b.n 803e5a2 803e56e: bf00 nop 803e570: 20020070 .word 0x20020070 803e574: 2002105d .word 0x2002105d 803e578: 2002105f .word 0x2002105f 803e57c: 20023eb8 .word 0x20023eb8 803e580: 0a7c5ac5 .word 0x0a7c5ac5 803e584: 000186a0 .word 0x000186a0 803e588: d1b71759 .word 0xd1b71759 803e58c: 10624dd3 .word 0x10624dd3 803e590: 51eb851f .word 0x51eb851f 803e594: cccccccd .word 0xcccccccd 803e598: fffe7960 .word 0xfffe7960 803e59c: ffffd8f0 .word 0xffffd8f0 break; 803e5a0: bf00 nop if(k > 999999) k = 999999; 803e5a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e5a6: 4ad1 ldr r2, [pc, #836] ; (803e8ec ) 803e5a8: 4293 cmp r3, r2 803e5aa: d902 bls.n 803e5b2 803e5ac: 4bcf ldr r3, [pc, #828] ; (803e8ec ) 803e5ae: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803e5b2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e5b6: 2b00 cmp r3, #0 803e5b8: d102 bne.n 803e5c0 803e5ba: 2301 movs r3, #1 803e5bc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.DIAGN_W[CURR_POINT][CURR_USL] = (float32_t) k; 803e5c0: 4bcb ldr r3, [pc, #812] ; (803e8f0 ) 803e5c2: 781b ldrb r3, [r3, #0] 803e5c4: b2db uxtb r3, r3 803e5c6: 4618 mov r0, r3 803e5c8: 4bca ldr r3, [pc, #808] ; (803e8f4 ) 803e5ca: 781b ldrb r3, [r3, #0] 803e5cc: b2db uxtb r3, r3 803e5ce: 4619 mov r1, r3 803e5d0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e5d4: ee07 3a90 vmov s15, r3 803e5d8: eef8 7a67 vcvt.f32.u32 s15, s15 803e5dc: 4ac6 ldr r2, [pc, #792] ; (803e8f8 ) 803e5de: 0083 lsls r3, r0, #2 803e5e0: 440b add r3, r1 803e5e2: 33d6 adds r3, #214 ; 0xd6 803e5e4: 009b lsls r3, r3, #2 803e5e6: 4413 add r3, r2 803e5e8: 3304 adds r3, #4 803e5ea: edc3 7a00 vstr s15, [r3] pardata.DIAGN_W[CURR_POINT][CURR_USL] *= 0.1f; 803e5ee: 4bc0 ldr r3, [pc, #768] ; (803e8f0 ) 803e5f0: 781b ldrb r3, [r3, #0] 803e5f2: b2da uxtb r2, r3 803e5f4: 4610 mov r0, r2 803e5f6: 4bbf ldr r3, [pc, #764] ; (803e8f4 ) 803e5f8: 781b ldrb r3, [r3, #0] 803e5fa: b2db uxtb r3, r3 803e5fc: 4619 mov r1, r3 803e5fe: 4615 mov r5, r2 803e600: 461c mov r4, r3 803e602: 4abd ldr r2, [pc, #756] ; (803e8f8 ) 803e604: 00ab lsls r3, r5, #2 803e606: 4423 add r3, r4 803e608: 33d6 adds r3, #214 ; 0xd6 803e60a: 009b lsls r3, r3, #2 803e60c: 4413 add r3, r2 803e60e: 3304 adds r3, #4 803e610: edd3 7a00 vldr s15, [r3] 803e614: ed9f 7ab9 vldr s14, [pc, #740] ; 803e8fc 803e618: ee67 7a87 vmul.f32 s15, s15, s14 803e61c: 4ab6 ldr r2, [pc, #728] ; (803e8f8 ) 803e61e: 0083 lsls r3, r0, #2 803e620: 440b add r3, r1 803e622: 33d6 adds r3, #214 ; 0xd6 803e624: 009b lsls r3, r3, #2 803e626: 4413 add r3, r2 803e628: 3304 adds r3, #4 803e62a: edc3 7a00 vstr s15, [r3] pardata.DIAGN_W[CURR_POINT][CURR_USL] += 0.05f; 803e62e: 4bb0 ldr r3, [pc, #704] ; (803e8f0 ) 803e630: 781b ldrb r3, [r3, #0] 803e632: b2da uxtb r2, r3 803e634: 4610 mov r0, r2 803e636: 4baf ldr r3, [pc, #700] ; (803e8f4 ) 803e638: 781b ldrb r3, [r3, #0] 803e63a: b2db uxtb r3, r3 803e63c: 4619 mov r1, r3 803e63e: 4615 mov r5, r2 803e640: 461c mov r4, r3 803e642: 4aad ldr r2, [pc, #692] ; (803e8f8 ) 803e644: 00ab lsls r3, r5, #2 803e646: 4423 add r3, r4 803e648: 33d6 adds r3, #214 ; 0xd6 803e64a: 009b lsls r3, r3, #2 803e64c: 4413 add r3, r2 803e64e: 3304 adds r3, #4 803e650: edd3 7a00 vldr s15, [r3] 803e654: ed9f 7aaa vldr s14, [pc, #680] ; 803e900 803e658: ee77 7a87 vadd.f32 s15, s15, s14 803e65c: 4aa6 ldr r2, [pc, #664] ; (803e8f8 ) 803e65e: 0083 lsls r3, r0, #2 803e660: 440b add r3, r1 803e662: 33d6 adds r3, #214 ; 0xd6 803e664: 009b lsls r3, r3, #2 803e666: 4413 add r3, r2 803e668: 3304 adds r3, #4 803e66a: edc3 7a00 vstr s15, [r3] 803e66e: e1c8 b.n 803ea02 if((menupos >= DiagA_IDT) && (menupos <= DiagA_IKD)) 803e670: 4ba4 ldr r3, [pc, #656] ; (803e904 ) 803e672: 781b ldrb r3, [r3, #0] 803e674: b2db uxtb r3, r3 803e676: 2b1e cmp r3, #30 803e678: f246 833f bls.w 8044cfa 803e67c: 4ba1 ldr r3, [pc, #644] ; (803e904 ) 803e67e: 781b ldrb r3, [r3, #0] 803e680: b2db uxtb r3, r3 803e682: 2b24 cmp r3, #36 ; 0x24 803e684: f206 8339 bhi.w 8044cfa k = (uint32_t) (pardata.DIAGN_A[CURR_POINT][CURR_USL] * 10.0f); 803e688: 4b99 ldr r3, [pc, #612] ; (803e8f0 ) 803e68a: 781b ldrb r3, [r3, #0] 803e68c: b2db uxtb r3, r3 803e68e: 4618 mov r0, r3 803e690: 4b98 ldr r3, [pc, #608] ; (803e8f4 ) 803e692: 781b ldrb r3, [r3, #0] 803e694: b2db uxtb r3, r3 803e696: 4619 mov r1, r3 803e698: 4a97 ldr r2, [pc, #604] ; (803e8f8 ) 803e69a: 0083 lsls r3, r0, #2 803e69c: 440b add r3, r1 803e69e: 33f6 adds r3, #246 ; 0xf6 803e6a0: 009b lsls r3, r3, #2 803e6a2: 4413 add r3, r2 803e6a4: 3304 adds r3, #4 803e6a6: edd3 7a00 vldr s15, [r3] 803e6aa: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803e6ae: ee67 7a87 vmul.f32 s15, s15, s14 803e6b2: eefc 7ae7 vcvt.u32.f32 s15, s15 803e6b6: ee17 3a90 vmov r3, s15 803e6ba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803e6be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e6c2: 095b lsrs r3, r3, #5 803e6c4: 4a90 ldr r2, [pc, #576] ; (803e908 ) 803e6c6: fba2 2303 umull r2, r3, r2, r3 803e6ca: 09db lsrs r3, r3, #7 803e6cc: b2db uxtb r3, r3 803e6ce: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803e6d2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e6d6: 0953 lsrs r3, r2, #5 803e6d8: 498b ldr r1, [pc, #556] ; (803e908 ) 803e6da: fba1 1303 umull r1, r3, r1, r3 803e6de: 09db lsrs r3, r3, #7 803e6e0: 498a ldr r1, [pc, #552] ; (803e90c ) 803e6e2: fb01 f303 mul.w r3, r1, r3 803e6e6: 1ad3 subs r3, r2, r3 803e6e8: 4a89 ldr r2, [pc, #548] ; (803e910 ) 803e6ea: fba2 2303 umull r2, r3, r2, r3 803e6ee: 0b5b lsrs r3, r3, #13 803e6f0: b2db uxtb r3, r3 803e6f2: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803e6f6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e6fa: 0953 lsrs r3, r2, #5 803e6fc: 4982 ldr r1, [pc, #520] ; (803e908 ) 803e6fe: fba1 1303 umull r1, r3, r1, r3 803e702: 09db lsrs r3, r3, #7 803e704: 4981 ldr r1, [pc, #516] ; (803e90c ) 803e706: fb01 f303 mul.w r3, r1, r3 803e70a: 1ad3 subs r3, r2, r3 803e70c: 4a80 ldr r2, [pc, #512] ; (803e910 ) 803e70e: fba2 1203 umull r1, r2, r2, r3 803e712: 0b52 lsrs r2, r2, #13 803e714: f242 7110 movw r1, #10000 ; 0x2710 803e718: fb01 f202 mul.w r2, r1, r2 803e71c: 1a9a subs r2, r3, r2 803e71e: 4b7d ldr r3, [pc, #500] ; (803e914 ) 803e720: fba3 2302 umull r2, r3, r3, r2 803e724: 099b lsrs r3, r3, #6 803e726: b2db uxtb r3, r3 803e728: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803e72c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e730: 095a lsrs r2, r3, #5 803e732: 4975 ldr r1, [pc, #468] ; (803e908 ) 803e734: fba1 1202 umull r1, r2, r1, r2 803e738: 09d2 lsrs r2, r2, #7 803e73a: 4974 ldr r1, [pc, #464] ; (803e90c ) 803e73c: fb01 f202 mul.w r2, r1, r2 803e740: 1a9a subs r2, r3, r2 803e742: 4b73 ldr r3, [pc, #460] ; (803e910 ) 803e744: fba3 1302 umull r1, r3, r3, r2 803e748: 0b5b lsrs r3, r3, #13 803e74a: f242 7110 movw r1, #10000 ; 0x2710 803e74e: fb01 f303 mul.w r3, r1, r3 803e752: 1ad3 subs r3, r2, r3 803e754: 4a6f ldr r2, [pc, #444] ; (803e914 ) 803e756: fba2 1203 umull r1, r2, r2, r3 803e75a: 0992 lsrs r2, r2, #6 803e75c: f44f 717a mov.w r1, #1000 ; 0x3e8 803e760: fb01 f202 mul.w r2, r1, r2 803e764: 1a9a subs r2, r3, r2 803e766: 4b6c ldr r3, [pc, #432] ; (803e918 ) 803e768: fba3 2302 umull r2, r3, r3, r2 803e76c: 095b lsrs r3, r3, #5 803e76e: b2db uxtb r3, r3 803e770: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803e774: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e778: 0953 lsrs r3, r2, #5 803e77a: 4963 ldr r1, [pc, #396] ; (803e908 ) 803e77c: fba1 1303 umull r1, r3, r1, r3 803e780: 09db lsrs r3, r3, #7 803e782: 4962 ldr r1, [pc, #392] ; (803e90c ) 803e784: fb01 f303 mul.w r3, r1, r3 803e788: 1ad3 subs r3, r2, r3 803e78a: 4a61 ldr r2, [pc, #388] ; (803e910 ) 803e78c: fba2 1203 umull r1, r2, r2, r3 803e790: 0b52 lsrs r2, r2, #13 803e792: f242 7110 movw r1, #10000 ; 0x2710 803e796: fb01 f202 mul.w r2, r1, r2 803e79a: 1a9a subs r2, r3, r2 803e79c: 4b5d ldr r3, [pc, #372] ; (803e914 ) 803e79e: fba3 1302 umull r1, r3, r3, r2 803e7a2: 099b lsrs r3, r3, #6 803e7a4: f44f 717a mov.w r1, #1000 ; 0x3e8 803e7a8: fb01 f303 mul.w r3, r1, r3 803e7ac: 1ad3 subs r3, r2, r3 803e7ae: 4a5a ldr r2, [pc, #360] ; (803e918 ) 803e7b0: fba2 1203 umull r1, r2, r2, r3 803e7b4: 0952 lsrs r2, r2, #5 803e7b6: 2164 movs r1, #100 ; 0x64 803e7b8: fb01 f202 mul.w r2, r1, r2 803e7bc: 1a9a subs r2, r3, r2 803e7be: 4b57 ldr r3, [pc, #348] ; (803e91c ) 803e7c0: fba3 2302 umull r2, r3, r3, r2 803e7c4: 08db lsrs r3, r3, #3 803e7c6: b2db uxtb r3, r3 803e7c8: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803e7cc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e7d0: 0953 lsrs r3, r2, #5 803e7d2: 494d ldr r1, [pc, #308] ; (803e908 ) 803e7d4: fba1 1303 umull r1, r3, r1, r3 803e7d8: 09db lsrs r3, r3, #7 803e7da: 494c ldr r1, [pc, #304] ; (803e90c ) 803e7dc: fb01 f303 mul.w r3, r1, r3 803e7e0: 1ad3 subs r3, r2, r3 803e7e2: 4a4b ldr r2, [pc, #300] ; (803e910 ) 803e7e4: fba2 1203 umull r1, r2, r2, r3 803e7e8: 0b52 lsrs r2, r2, #13 803e7ea: f242 7110 movw r1, #10000 ; 0x2710 803e7ee: fb01 f202 mul.w r2, r1, r2 803e7f2: 1a9a subs r2, r3, r2 803e7f4: 4b47 ldr r3, [pc, #284] ; (803e914 ) 803e7f6: fba3 1302 umull r1, r3, r3, r2 803e7fa: 099b lsrs r3, r3, #6 803e7fc: f44f 717a mov.w r1, #1000 ; 0x3e8 803e800: fb01 f303 mul.w r3, r1, r3 803e804: 1ad3 subs r3, r2, r3 803e806: 4a44 ldr r2, [pc, #272] ; (803e918 ) 803e808: fba2 1203 umull r1, r2, r2, r3 803e80c: 0952 lsrs r2, r2, #5 803e80e: 2164 movs r1, #100 ; 0x64 803e810: fb01 f202 mul.w r2, r1, r2 803e814: 1a9a subs r2, r3, r2 803e816: 4b41 ldr r3, [pc, #260] ; (803e91c ) 803e818: fba3 1302 umull r1, r3, r3, r2 803e81c: 08d9 lsrs r1, r3, #3 803e81e: 460b mov r3, r1 803e820: 009b lsls r3, r3, #2 803e822: 440b add r3, r1 803e824: 005b lsls r3, r3, #1 803e826: 1ad1 subs r1, r2, r3 803e828: b2cb uxtb r3, r1 803e82a: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803e82e: 4b35 ldr r3, [pc, #212] ; (803e904 ) 803e830: 781b ldrb r3, [r3, #0] 803e832: b2db uxtb r3, r3 803e834: 3b1f subs r3, #31 803e836: 2b05 cmp r3, #5 803e838: d87b bhi.n 803e932 803e83a: a201 add r2, pc, #4 ; (adr r2, 803e840 ) 803e83c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803e840: 0803e859 .word 0x0803e859 803e844: 0803e871 .word 0x0803e871 803e848: 0803e88b .word 0x0803e88b 803e84c: 0803e8a3 .word 0x0803e8a3 803e850: 0803e8b7 .word 0x0803e8b7 803e854: 0803e8cb .word 0x0803e8cb if(k > 100000) 803e858: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e85c: 4a2b ldr r2, [pc, #172] ; (803e90c ) 803e85e: 4293 cmp r3, r2 803e860: d93d bls.n 803e8de k -= 100000; 803e862: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e866: 4b2e ldr r3, [pc, #184] ; (803e920 ) 803e868: 4413 add r3, r2 803e86a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e86e: e036 b.n 803e8de if(k > 10000) 803e870: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e874: f242 7210 movw r2, #10000 ; 0x2710 803e878: 4293 cmp r3, r2 803e87a: d932 bls.n 803e8e2 k -= 10000; 803e87c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e880: 4b28 ldr r3, [pc, #160] ; (803e924 ) 803e882: 4413 add r3, r2 803e884: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e888: e02b b.n 803e8e2 if(k > 1000) 803e88a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e88e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803e892: d928 bls.n 803e8e6 k -= 1000; 803e894: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e898: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803e89c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e8a0: e021 b.n 803e8e6 if(k > 100) 803e8a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8a6: 2b64 cmp r3, #100 ; 0x64 803e8a8: d93e bls.n 803e928 k -= 100; 803e8aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8ae: 3b64 subs r3, #100 ; 0x64 803e8b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e8b4: e038 b.n 803e928 if(k > 10) 803e8b6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8ba: 2b0a cmp r3, #10 803e8bc: d936 bls.n 803e92c k -= 10; 803e8be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8c2: 3b0a subs r3, #10 803e8c4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e8c8: e030 b.n 803e92c if(k > 1) 803e8ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8ce: 2b01 cmp r3, #1 803e8d0: d92e bls.n 803e930 k--; 803e8d2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8d6: 3b01 subs r3, #1 803e8d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e8dc: e028 b.n 803e930 break; 803e8de: bf00 nop 803e8e0: e027 b.n 803e932 break; 803e8e2: bf00 nop 803e8e4: e025 b.n 803e932 break; 803e8e6: bf00 nop 803e8e8: e023 b.n 803e932 803e8ea: bf00 nop 803e8ec: 000f423f .word 0x000f423f 803e8f0: 2002105d .word 0x2002105d 803e8f4: 2002105f .word 0x2002105f 803e8f8: 20023eb8 .word 0x20023eb8 803e8fc: 3dcccccd .word 0x3dcccccd 803e900: 3d4ccccd .word 0x3d4ccccd 803e904: 20020070 .word 0x20020070 803e908: 0a7c5ac5 .word 0x0a7c5ac5 803e90c: 000186a0 .word 0x000186a0 803e910: d1b71759 .word 0xd1b71759 803e914: 10624dd3 .word 0x10624dd3 803e918: 51eb851f .word 0x51eb851f 803e91c: cccccccd .word 0xcccccccd 803e920: fffe7960 .word 0xfffe7960 803e924: ffffd8f0 .word 0xffffd8f0 break; 803e928: bf00 nop 803e92a: e002 b.n 803e932 break; 803e92c: bf00 nop 803e92e: e000 b.n 803e932 break; 803e930: bf00 nop if(k > 999999) k = 999999; 803e932: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e936: 4aae ldr r2, [pc, #696] ; (803ebf0 ) 803e938: 4293 cmp r3, r2 803e93a: d902 bls.n 803e942 803e93c: 4bac ldr r3, [pc, #688] ; (803ebf0 ) 803e93e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803e942: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e946: 2b00 cmp r3, #0 803e948: d102 bne.n 803e950 803e94a: 2301 movs r3, #1 803e94c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.DIAGN_A[CURR_POINT][CURR_USL] = (float32_t) k; 803e950: 4ba8 ldr r3, [pc, #672] ; (803ebf4 ) 803e952: 781b ldrb r3, [r3, #0] 803e954: b2db uxtb r3, r3 803e956: 4618 mov r0, r3 803e958: 4ba7 ldr r3, [pc, #668] ; (803ebf8 ) 803e95a: 781b ldrb r3, [r3, #0] 803e95c: b2db uxtb r3, r3 803e95e: 4619 mov r1, r3 803e960: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e964: ee07 3a90 vmov s15, r3 803e968: eef8 7a67 vcvt.f32.u32 s15, s15 803e96c: 4aa3 ldr r2, [pc, #652] ; (803ebfc ) 803e96e: 0083 lsls r3, r0, #2 803e970: 440b add r3, r1 803e972: 33f6 adds r3, #246 ; 0xf6 803e974: 009b lsls r3, r3, #2 803e976: 4413 add r3, r2 803e978: 3304 adds r3, #4 803e97a: edc3 7a00 vstr s15, [r3] pardata.DIAGN_A[CURR_POINT][CURR_USL] *= 0.1f; 803e97e: 4b9d ldr r3, [pc, #628] ; (803ebf4 ) 803e980: 781b ldrb r3, [r3, #0] 803e982: b2da uxtb r2, r3 803e984: 4610 mov r0, r2 803e986: 4b9c ldr r3, [pc, #624] ; (803ebf8 ) 803e988: 781b ldrb r3, [r3, #0] 803e98a: b2db uxtb r3, r3 803e98c: 4619 mov r1, r3 803e98e: 4615 mov r5, r2 803e990: 461c mov r4, r3 803e992: 4a9a ldr r2, [pc, #616] ; (803ebfc ) 803e994: 00ab lsls r3, r5, #2 803e996: 4423 add r3, r4 803e998: 33f6 adds r3, #246 ; 0xf6 803e99a: 009b lsls r3, r3, #2 803e99c: 4413 add r3, r2 803e99e: 3304 adds r3, #4 803e9a0: edd3 7a00 vldr s15, [r3] 803e9a4: ed9f 7a96 vldr s14, [pc, #600] ; 803ec00 803e9a8: ee67 7a87 vmul.f32 s15, s15, s14 803e9ac: 4a93 ldr r2, [pc, #588] ; (803ebfc ) 803e9ae: 0083 lsls r3, r0, #2 803e9b0: 440b add r3, r1 803e9b2: 33f6 adds r3, #246 ; 0xf6 803e9b4: 009b lsls r3, r3, #2 803e9b6: 4413 add r3, r2 803e9b8: 3304 adds r3, #4 803e9ba: edc3 7a00 vstr s15, [r3] pardata.DIAGN_A[CURR_POINT][CURR_USL] += 0.05f; 803e9be: 4b8d ldr r3, [pc, #564] ; (803ebf4 ) 803e9c0: 781b ldrb r3, [r3, #0] 803e9c2: b2da uxtb r2, r3 803e9c4: 4610 mov r0, r2 803e9c6: 4b8c ldr r3, [pc, #560] ; (803ebf8 ) 803e9c8: 781b ldrb r3, [r3, #0] 803e9ca: b2db uxtb r3, r3 803e9cc: 4619 mov r1, r3 803e9ce: 4615 mov r5, r2 803e9d0: 461c mov r4, r3 803e9d2: 4a8a ldr r2, [pc, #552] ; (803ebfc ) 803e9d4: 00ab lsls r3, r5, #2 803e9d6: 4423 add r3, r4 803e9d8: 33f6 adds r3, #246 ; 0xf6 803e9da: 009b lsls r3, r3, #2 803e9dc: 4413 add r3, r2 803e9de: 3304 adds r3, #4 803e9e0: edd3 7a00 vldr s15, [r3] 803e9e4: ed9f 7a87 vldr s14, [pc, #540] ; 803ec04 803e9e8: ee77 7a87 vadd.f32 s15, s15, s14 803e9ec: 4a83 ldr r2, [pc, #524] ; (803ebfc ) 803e9ee: 0083 lsls r3, r0, #2 803e9f0: 440b add r3, r1 803e9f2: 33f6 adds r3, #246 ; 0xf6 803e9f4: 009b lsls r3, r3, #2 803e9f6: 4413 add r3, r2 803e9f8: 3304 adds r3, #4 803e9fa: edc3 7a00 vstr s15, [r3] break; 803e9fe: f006 b97c b.w 8044cfa 803ea02: f006 b97a b.w 8044cfa case ROLL_RESULTS: if(menupos < 11) menupos++; 803ea06: 4b80 ldr r3, [pc, #512] ; (803ec08 ) 803ea08: 781b ldrb r3, [r3, #0] 803ea0a: b2db uxtb r3, r3 803ea0c: 2b0a cmp r3, #10 803ea0e: d808 bhi.n 803ea22 803ea10: 4b7d ldr r3, [pc, #500] ; (803ec08 ) 803ea12: 781b ldrb r3, [r3, #0] 803ea14: b2db uxtb r3, r3 803ea16: 3301 adds r3, #1 803ea18: b2da uxtb r2, r3 803ea1a: 4b7b ldr r3, [pc, #492] ; (803ec08 ) 803ea1c: 701a strb r2, [r3, #0] else menupos = 0; break; 803ea1e: f006 b9bb b.w 8044d98 else menupos = 0; 803ea22: 4b79 ldr r3, [pc, #484] ; (803ec08 ) 803ea24: 2200 movs r2, #0 803ea26: 701a strb r2, [r3, #0] break; 803ea28: f006 b9b6 b.w 8044d98 case TREND_A: menu = TREND_S; 803ea2c: 4b77 ldr r3, [pc, #476] ; (803ec0c ) 803ea2e: 2247 movs r2, #71 ; 0x47 803ea30: 701a strb r2, [r3, #0] break; 803ea32: f006 b9b1 b.w 8044d98 case TREND_V: menu = TREND_A; 803ea36: 4b75 ldr r3, [pc, #468] ; (803ec0c ) 803ea38: 2245 movs r2, #69 ; 0x45 803ea3a: 701a strb r2, [r3, #0] break; 803ea3c: f006 b9ac b.w 8044d98 case TREND_S: menu = TREND_V; 803ea40: 4b72 ldr r3, [pc, #456] ; (803ec0c ) 803ea42: 2246 movs r2, #70 ; 0x46 803ea44: 701a strb r2, [r3, #0] break; 803ea46: f006 b9a7 b.w 8044d98 case MAIN_UDAR: if(AUTOKU) 803ea4a: 4b71 ldr r3, [pc, #452] ; (803ec10 ) 803ea4c: 781b ldrb r3, [r3, #0] 803ea4e: b2db uxtb r3, r3 803ea50: 2b00 cmp r3, #0 803ea52: d002 beq.n 803ea5a AUTOKU = false; 803ea54: 4b6e ldr r3, [pc, #440] ; (803ec10 ) 803ea56: 2200 movs r2, #0 803ea58: 701a strb r2, [r3, #0] if(pardata.IKU > Ku8) 803ea5a: 4b68 ldr r3, [pc, #416] ; (803ebfc ) 803ea5c: 7a1b ldrb r3, [r3, #8] 803ea5e: b2db uxtb r3, r3 803ea60: 2b03 cmp r3, #3 803ea62: d902 bls.n 803ea6a pardata.IKU = Ku8; 803ea64: 4b65 ldr r3, [pc, #404] ; (803ebfc ) 803ea66: 2203 movs r2, #3 803ea68: 721a strb r2, [r3, #8] if(pardata.IKU > Ku1) 803ea6a: 4b64 ldr r3, [pc, #400] ; (803ebfc ) 803ea6c: 7a1b ldrb r3, [r3, #8] 803ea6e: b2db uxtb r3, r3 803ea70: 2b00 cmp r3, #0 803ea72: d00a beq.n 803ea8a { pardata.IKU--; 803ea74: 4b61 ldr r3, [pc, #388] ; (803ebfc ) 803ea76: 7a1b ldrb r3, [r3, #8] 803ea78: b2db uxtb r3, r3 803ea7a: 3b01 subs r3, #1 803ea7c: b2da uxtb r2, r3 803ea7e: 4b5f ldr r3, [pc, #380] ; (803ebfc ) 803ea80: 721a strb r2, [r3, #8] SetKU(); 803ea82: f7e2 fef7 bl 8021874 } else pardata.IKU = Ku1; break; 803ea86: f006 b987 b.w 8044d98 pardata.IKU = Ku1; 803ea8a: 4b5c ldr r3, [pc, #368] ; (803ebfc ) 803ea8c: 2200 movs r2, #0 803ea8e: 721a strb r2, [r3, #8] break; 803ea90: f006 b982 b.w 8044d98 case MAIN_DIAGN: switch(menupos) 803ea94: 4b5c ldr r3, [pc, #368] ; (803ec08 ) 803ea96: 781b ldrb r3, [r3, #0] 803ea98: b2db uxtb r3, r3 803ea9a: 2b03 cmp r3, #3 803ea9c: d003 beq.n 803eaa6 803ea9e: 2b04 cmp r3, #4 803eaa0: d030 beq.n 803eb04 } } } break; } break; 803eaa2: f006 b979 b.w 8044d98 if((!measuring) && (!ReadFromFile)) 803eaa6: 4b5b ldr r3, [pc, #364] ; (803ec14 ) 803eaa8: 781b ldrb r3, [r3, #0] 803eaaa: b2db uxtb r3, r3 803eaac: f083 0301 eor.w r3, r3, #1 803eab0: b2db uxtb r3, r3 803eab2: 2b00 cmp r3, #0 803eab4: d04a beq.n 803eb4c 803eab6: 4b58 ldr r3, [pc, #352] ; (803ec18 ) 803eab8: 781b ldrb r3, [r3, #0] 803eaba: b2db uxtb r3, r3 803eabc: f083 0301 eor.w r3, r3, #1 803eac0: b2db uxtb r3, r3 803eac2: 2b00 cmp r3, #0 803eac4: d042 beq.n 803eb4c if(CardState == MSD_READY) 803eac6: 4b55 ldr r3, [pc, #340] ; (803ec1c ) 803eac8: 781b ldrb r3, [r3, #0] 803eaca: b2db uxtb r3, r3 803eacc: 2b03 cmp r3, #3 803eace: d13d bne.n 803eb4c if(NextIndexPoint > 0) 803ead0: 4b53 ldr r3, [pc, #332] ; (803ec20 ) 803ead2: 681b ldr r3, [r3, #0] 803ead4: 2b00 cmp r3, #0 803ead6: d039 beq.n 803eb4c NextIndexPoint--; 803ead8: 4b51 ldr r3, [pc, #324] ; (803ec20 ) 803eada: 681b ldr r3, [r3, #0] 803eadc: 3b01 subs r3, #1 803eade: 4a50 ldr r2, [pc, #320] ; (803ec20 ) 803eae0: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 803eae2: 4b4f ldr r3, [pc, #316] ; (803ec20 ) 803eae4: 681b ldr r3, [r3, #0] 803eae6: 4a4f ldr r2, [pc, #316] ; (803ec24 ) 803eae8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 803eaec: 4a4e ldr r2, [pc, #312] ; (803ec28 ) 803eaee: 6013 str r3, [r2, #0] result = ReadFileDGN(DiagFileName); 803eaf0: 484e ldr r0, [pc, #312] ; (803ec2c ) 803eaf2: f7e7 fcf1 bl 80264d8 803eaf6: 4603 mov r3, r0 803eaf8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 DrawSavedData = false; 803eafc: 4b4c ldr r3, [pc, #304] ; (803ec30 ) 803eafe: 2200 movs r2, #0 803eb00: 701a strb r2, [r3, #0] break; 803eb02: e023 b.n 803eb4c if(measuring) 803eb04: 4b43 ldr r3, [pc, #268] ; (803ec14 ) 803eb06: 781b ldrb r3, [r3, #0] 803eb08: b2db uxtb r3, r3 803eb0a: 2b00 cmp r3, #0 803eb0c: d001 beq.n 803eb12 StopMeas(); 803eb0e: f7e4 fe45 bl 802379c if(!ReadFromFile) 803eb12: 4b41 ldr r3, [pc, #260] ; (803ec18 ) 803eb14: 781b ldrb r3, [r3, #0] 803eb16: b2db uxtb r3, r3 803eb18: f083 0301 eor.w r3, r3, #1 803eb1c: b2db uxtb r3, r3 803eb1e: 2b00 cmp r3, #0 803eb20: d017 beq.n 803eb52 if(CardState == MSD_READY) 803eb22: 4b3e ldr r3, [pc, #248] ; (803ec1c ) 803eb24: 781b ldrb r3, [r3, #0] 803eb26: b2db uxtb r3, r3 803eb28: 2b03 cmp r3, #3 803eb2a: d112 bne.n 803eb52 if(NextIndexMeas > 1) 803eb2c: 4b3e ldr r3, [pc, #248] ; (803ec28 ) 803eb2e: 681b ldr r3, [r3, #0] 803eb30: 2b01 cmp r3, #1 803eb32: d90e bls.n 803eb52 NextIndexMeas--; 803eb34: 4b3c ldr r3, [pc, #240] ; (803ec28 ) 803eb36: 681b ldr r3, [r3, #0] 803eb38: 3b01 subs r3, #1 803eb3a: 4a3b ldr r2, [pc, #236] ; (803ec28 ) 803eb3c: 6013 str r3, [r2, #0] result = ReadFileDGN(DiagFileName); 803eb3e: 483b ldr r0, [pc, #236] ; (803ec2c ) 803eb40: f7e7 fcca bl 80264d8 803eb44: 4603 mov r3, r0 803eb46: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 break; 803eb4a: e002 b.n 803eb52 break; 803eb4c: bf00 nop 803eb4e: f006 b923 b.w 8044d98 break; 803eb52: bf00 nop break; 803eb54: f006 b920 b.w 8044d98 case MAIN: case MAIN_FRAN: switch(menupos) 803eb58: 4b2b ldr r3, [pc, #172] ; (803ec08 ) 803eb5a: 781b ldrb r3, [r3, #0] 803eb5c: b2db uxtb r3, r3 803eb5e: 2b06 cmp r3, #6 803eb60: f206 80ce bhi.w 8044d00 803eb64: a201 add r2, pc, #4 ; (adr r2, 803eb6c ) 803eb66: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803eb6a: bf00 nop 803eb6c: 0803ec81 .word 0x0803ec81 803eb70: 08044d01 .word 0x08044d01 803eb74: 0803ec81 .word 0x0803ec81 803eb78: 0803eb89 .word 0x0803eb89 803eb7c: 0803ec39 .word 0x0803ec39 803eb80: 08044d01 .word 0x08044d01 803eb84: 0803ec81 .word 0x0803ec81 { case MyPoint: if((!measuring) && (!ReadFromFile)) 803eb88: 4b22 ldr r3, [pc, #136] ; (803ec14 ) 803eb8a: 781b ldrb r3, [r3, #0] 803eb8c: b2db uxtb r3, r3 803eb8e: f083 0301 eor.w r3, r3, #1 803eb92: b2db uxtb r3, r3 803eb94: 2b00 cmp r3, #0 803eb96: f000 80b3 beq.w 803ed00 803eb9a: 4b1f ldr r3, [pc, #124] ; (803ec18 ) 803eb9c: 781b ldrb r3, [r3, #0] 803eb9e: b2db uxtb r3, r3 803eba0: f083 0301 eor.w r3, r3, #1 803eba4: b2db uxtb r3, r3 803eba6: 2b00 cmp r3, #0 803eba8: f000 80aa beq.w 803ed00 { if(CardState == MSD_READY) 803ebac: 4b1b ldr r3, [pc, #108] ; (803ec1c ) 803ebae: 781b ldrb r3, [r3, #0] 803ebb0: b2db uxtb r3, r3 803ebb2: 2b03 cmp r3, #3 803ebb4: f040 80a4 bne.w 803ed00 { if(NextIndexPoint > 0) 803ebb8: 4b19 ldr r3, [pc, #100] ; (803ec20 ) 803ebba: 681b ldr r3, [r3, #0] 803ebbc: 2b00 cmp r3, #0 803ebbe: f000 809f beq.w 803ed00 { NextIndexPoint--; 803ebc2: 4b17 ldr r3, [pc, #92] ; (803ec20 ) 803ebc4: 681b ldr r3, [r3, #0] 803ebc6: 3b01 subs r3, #1 803ebc8: 4a15 ldr r2, [pc, #84] ; (803ec20 ) 803ebca: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 803ebcc: 4b14 ldr r3, [pc, #80] ; (803ec20 ) 803ebce: 681b ldr r3, [r3, #0] 803ebd0: 4a14 ldr r2, [pc, #80] ; (803ec24 ) 803ebd2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 803ebd6: 4a14 ldr r2, [pc, #80] ; (803ec28 ) 803ebd8: 6013 str r3, [r2, #0] result = ReadFilePTM(MeasFileName); 803ebda: 4816 ldr r0, [pc, #88] ; (803ec34 ) 803ebdc: f7e7 f9f8 bl 8025fd0 803ebe0: 4603 mov r3, r0 803ebe2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 DrawSavedData = false; 803ebe6: 4b12 ldr r3, [pc, #72] ; (803ec30 ) 803ebe8: 2200 movs r2, #0 803ebea: 701a strb r2, [r3, #0] } } } break; 803ebec: e088 b.n 803ed00 803ebee: bf00 nop 803ebf0: 000f423f .word 0x000f423f 803ebf4: 2002105d .word 0x2002105d 803ebf8: 2002105f .word 0x2002105f 803ebfc: 20023eb8 .word 0x20023eb8 803ec00: 3dcccccd .word 0x3dcccccd 803ec04: 3d4ccccd .word 0x3d4ccccd 803ec08: 20020070 .word 0x20020070 803ec0c: 20020fc5 .word 0x20020fc5 803ec10: 20020029 .word 0x20020029 803ec14: 20020dcf .word 0x20020dcf 803ec18: 20020de9 .word 0x20020de9 803ec1c: 2002169c .word 0x2002169c 803ec20: 20021fec .word 0x20021fec 803ec24: 20022ef8 .word 0x20022ef8 803ec28: 20022360 .word 0x20022360 803ec2c: 20020ea4 .word 0x20020ea4 803ec30: 20020dea .word 0x20020dea 803ec34: 20020e80 .word 0x20020e80 case MyMeasure: if(measuring) 803ec38: 4baf ldr r3, [pc, #700] ; (803eef8 ) 803ec3a: 781b ldrb r3, [r3, #0] 803ec3c: b2db uxtb r3, r3 803ec3e: 2b00 cmp r3, #0 803ec40: d001 beq.n 803ec46 StopMeas(); 803ec42: f7e4 fdab bl 802379c if(!ReadFromFile) 803ec46: 4bad ldr r3, [pc, #692] ; (803eefc ) 803ec48: 781b ldrb r3, [r3, #0] 803ec4a: b2db uxtb r3, r3 803ec4c: f083 0301 eor.w r3, r3, #1 803ec50: b2db uxtb r3, r3 803ec52: 2b00 cmp r3, #0 803ec54: d057 beq.n 803ed06 { if(CardState == MSD_READY) 803ec56: 4baa ldr r3, [pc, #680] ; (803ef00 ) 803ec58: 781b ldrb r3, [r3, #0] 803ec5a: b2db uxtb r3, r3 803ec5c: 2b03 cmp r3, #3 803ec5e: d152 bne.n 803ed06 { if(NextIndexMeas > 1) 803ec60: 4ba8 ldr r3, [pc, #672] ; (803ef04 ) 803ec62: 681b ldr r3, [r3, #0] 803ec64: 2b01 cmp r3, #1 803ec66: d94e bls.n 803ed06 { NextIndexMeas--; 803ec68: 4ba6 ldr r3, [pc, #664] ; (803ef04 ) 803ec6a: 681b ldr r3, [r3, #0] 803ec6c: 3b01 subs r3, #1 803ec6e: 4aa5 ldr r2, [pc, #660] ; (803ef04 ) 803ec70: 6013 str r3, [r2, #0] result = ReadFilePTM(MeasFileName); 803ec72: 48a5 ldr r0, [pc, #660] ; (803ef08 ) 803ec74: f7e7 f9ac bl 8025fd0 803ec78: 4603 mov r3, r0 803ec7a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } } break; 803ec7e: e042 b.n 803ed06 case MyLinLog: case StartStop: case Record: if(!ReadFromFile) 803ec80: 4b9e ldr r3, [pc, #632] ; (803eefc ) 803ec82: 781b ldrb r3, [r3, #0] 803ec84: b2db uxtb r3, r3 803ec86: f083 0301 eor.w r3, r3, #1 803ec8a: b2db uxtb r3, r3 803ec8c: 2b00 cmp r3, #0 803ec8e: d03d beq.n 803ed0c { if((CardState == MSD_READY) && (strlen(MeasFileName))) 803ec90: 4b9b ldr r3, [pc, #620] ; (803ef00 ) 803ec92: 781b ldrb r3, [r3, #0] 803ec94: b2db uxtb r3, r3 803ec96: 2b03 cmp r3, #3 803ec98: d138 bne.n 803ed0c 803ec9a: 4b9b ldr r3, [pc, #620] ; (803ef08 ) 803ec9c: 781b ldrb r3, [r3, #0] 803ec9e: 2b00 cmp r3, #0 803eca0: d034 beq.n 803ed0c { if(measuring) 803eca2: 4b95 ldr r3, [pc, #596] ; (803eef8 ) 803eca4: 781b ldrb r3, [r3, #0] 803eca6: b2db uxtb r3, r3 803eca8: 2b00 cmp r3, #0 803ecaa: d001 beq.n 803ecb0 StopMeas(); 803ecac: f7e4 fd76 bl 802379c result = ReadTrendPTM(MeasFileName); 803ecb0: 4895 ldr r0, [pc, #596] ; (803ef08 ) 803ecb2: f7e6 ffc7 bl 8025c44 803ecb6: 4603 mov r3, r0 803ecb8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 803ecbc: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 803ecc0: 2b00 cmp r3, #0 803ecc2: d112 bne.n 803ecea { lastmenu = menu; 803ecc4: 4b91 ldr r3, [pc, #580] ; (803ef0c ) 803ecc6: 781b ldrb r3, [r3, #0] 803ecc8: b2da uxtb r2, r3 803ecca: 4b91 ldr r3, [pc, #580] ; (803ef10 ) 803eccc: 701a strb r2, [r3, #0] menu = TREND_S; 803ecce: 4b8f ldr r3, [pc, #572] ; (803ef0c ) 803ecd0: 2247 movs r2, #71 ; 0x47 803ecd2: 701a strb r2, [r3, #0] lastmenupos = menupos; 803ecd4: 4b8f ldr r3, [pc, #572] ; (803ef14 ) 803ecd6: 781b ldrb r3, [r3, #0] 803ecd8: b2da uxtb r2, r3 803ecda: 4b8f ldr r3, [pc, #572] ; (803ef18 ) 803ecdc: 701a strb r2, [r3, #0] menupos = pardata.IVS[DIS]; 803ecde: 4b8f ldr r3, [pc, #572] ; (803ef1c ) 803ece0: 791b ldrb r3, [r3, #4] 803ece2: b2da uxtb r2, r3 803ece4: 4b8b ldr r3, [pc, #556] ; (803ef14 ) 803ece6: 701a strb r2, [r3, #0] timerStatus = sec2; DrawStatus = true; } } } break; 803ece8: e010 b.n 803ed0c STATUS = AP_INVALID_FILE; 803ecea: 4b8d ldr r3, [pc, #564] ; (803ef20 ) 803ecec: 2202 movs r2, #2 803ecee: 601a str r2, [r3, #0] timerStatus = sec2; 803ecf0: 4b8c ldr r3, [pc, #560] ; (803ef24 ) 803ecf2: f44f 5280 mov.w r2, #4096 ; 0x1000 803ecf6: 801a strh r2, [r3, #0] DrawStatus = true; 803ecf8: 4b8b ldr r3, [pc, #556] ; (803ef28 ) 803ecfa: 2201 movs r2, #1 803ecfc: 701a strb r2, [r3, #0] break; 803ecfe: e005 b.n 803ed0c break; 803ed00: bf00 nop 803ed02: f005 bffd b.w 8044d00 break; 803ed06: bf00 nop 803ed08: f005 bffa b.w 8044d00 break; 803ed0c: bf00 nop } break; 803ed0e: f005 bff7 b.w 8044d00 case MAIN_OSC: if(menupos == Cursor) 803ed12: 4b80 ldr r3, [pc, #512] ; (803ef14 ) 803ed14: 781b ldrb r3, [r3, #0] 803ed16: b2db uxtb r3, r3 803ed18: 2b06 cmp r3, #6 803ed1a: d104 bne.n 803ed26 ZOOM_OUT = true; 803ed1c: 4b83 ldr r3, [pc, #524] ; (803ef2c ) 803ed1e: 2201 movs r2, #1 803ed20: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803ed22: f005 bff0 b.w 8044d06 if(menupos == StartStop) 803ed26: 4b7b ldr r3, [pc, #492] ; (803ef14 ) 803ed28: 781b ldrb r3, [r3, #0] 803ed2a: b2db uxtb r3, r3 803ed2c: 2b00 cmp r3, #0 803ed2e: d104 bne.n 803ed3a menupos = ImageLeft; 803ed30: 4b78 ldr r3, [pc, #480] ; (803ef14 ) 803ed32: 2202 movs r2, #2 803ed34: 701a strb r2, [r3, #0] break; 803ed36: f005 bfe6 b.w 8044d06 if(menupos == ZoomOut) 803ed3a: 4b76 ldr r3, [pc, #472] ; (803ef14 ) 803ed3c: 781b ldrb r3, [r3, #0] 803ed3e: b2db uxtb r3, r3 803ed40: 2b04 cmp r3, #4 803ed42: d104 bne.n 803ed4e menupos = StartStop; 803ed44: 4b73 ldr r3, [pc, #460] ; (803ef14 ) 803ed46: 2200 movs r2, #0 803ed48: 701a strb r2, [r3, #0] break; 803ed4a: f005 bfdc b.w 8044d06 if(menupos == ZoomIn) 803ed4e: 4b71 ldr r3, [pc, #452] ; (803ef14 ) 803ed50: 781b ldrb r3, [r3, #0] 803ed52: b2db uxtb r3, r3 803ed54: 2b03 cmp r3, #3 803ed56: d104 bne.n 803ed62 menupos = ZoomOut; 803ed58: 4b6e ldr r3, [pc, #440] ; (803ef14 ) 803ed5a: 2204 movs r2, #4 803ed5c: 701a strb r2, [r3, #0] break; 803ed5e: f005 bfd2 b.w 8044d06 if(menupos == ImageRight) 803ed62: 4b6c ldr r3, [pc, #432] ; (803ef14 ) 803ed64: 781b ldrb r3, [r3, #0] 803ed66: b2db uxtb r3, r3 803ed68: 2b05 cmp r3, #5 803ed6a: d104 bne.n 803ed76 menupos = ZoomIn; 803ed6c: 4b69 ldr r3, [pc, #420] ; (803ef14 ) 803ed6e: 2203 movs r2, #3 803ed70: 701a strb r2, [r3, #0] break; 803ed72: f005 bfc8 b.w 8044d06 if(menupos == ImageLeft) 803ed76: 4b67 ldr r3, [pc, #412] ; (803ef14 ) 803ed78: 781b ldrb r3, [r3, #0] 803ed7a: b2db uxtb r3, r3 803ed7c: 2b02 cmp r3, #2 803ed7e: f045 87c2 bne.w 8044d06 menupos = ImageRight; 803ed82: 4b64 ldr r3, [pc, #400] ; (803ef14 ) 803ed84: 2205 movs r2, #5 803ed86: 701a strb r2, [r3, #0] break; 803ed88: f005 bfbd b.w 8044d06 case MAIN_ROLL: if(menupos == Cursor) 803ed8c: 4b61 ldr r3, [pc, #388] ; (803ef14 ) 803ed8e: 781b ldrb r3, [r3, #0] 803ed90: b2db uxtb r3, r3 803ed92: 2b06 cmp r3, #6 803ed94: d104 bne.n 803eda0 ZOOM_OUT = true; 803ed96: 4b65 ldr r3, [pc, #404] ; (803ef2c ) 803ed98: 2201 movs r2, #1 803ed9a: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803ed9c: f005 bfb6 b.w 8044d0c if(menupos == StartStop) 803eda0: 4b5c ldr r3, [pc, #368] ; (803ef14 ) 803eda2: 781b ldrb r3, [r3, #0] 803eda4: b2db uxtb r3, r3 803eda6: 2b00 cmp r3, #0 803eda8: d10e bne.n 803edc8 if(SeeResults) 803edaa: 4b61 ldr r3, [pc, #388] ; (803ef30 ) 803edac: 781b ldrb r3, [r3, #0] 803edae: b2db uxtb r3, r3 803edb0: 2b00 cmp r3, #0 803edb2: d004 beq.n 803edbe menupos = Results; 803edb4: 4b57 ldr r3, [pc, #348] ; (803ef14 ) 803edb6: 2208 movs r2, #8 803edb8: 701a strb r2, [r3, #0] break; 803edba: f005 bfa7 b.w 8044d0c else menupos = ImageLeft; 803edbe: 4b55 ldr r3, [pc, #340] ; (803ef14 ) 803edc0: 2202 movs r2, #2 803edc2: 701a strb r2, [r3, #0] break; 803edc4: f005 bfa2 b.w 8044d0c if(menupos == Results) 803edc8: 4b52 ldr r3, [pc, #328] ; (803ef14 ) 803edca: 781b ldrb r3, [r3, #0] 803edcc: b2db uxtb r3, r3 803edce: 2b08 cmp r3, #8 803edd0: d104 bne.n 803eddc menupos = ImageLeft; 803edd2: 4b50 ldr r3, [pc, #320] ; (803ef14 ) 803edd4: 2202 movs r2, #2 803edd6: 701a strb r2, [r3, #0] break; 803edd8: f005 bf98 b.w 8044d0c if(menupos == ZoomOut) 803eddc: 4b4d ldr r3, [pc, #308] ; (803ef14 ) 803edde: 781b ldrb r3, [r3, #0] 803ede0: b2db uxtb r3, r3 803ede2: 2b04 cmp r3, #4 803ede4: d104 bne.n 803edf0 menupos = StartStop; 803ede6: 4b4b ldr r3, [pc, #300] ; (803ef14 ) 803ede8: 2200 movs r2, #0 803edea: 701a strb r2, [r3, #0] break; 803edec: f005 bf8e b.w 8044d0c if(menupos == ZoomIn) 803edf0: 4b48 ldr r3, [pc, #288] ; (803ef14 ) 803edf2: 781b ldrb r3, [r3, #0] 803edf4: b2db uxtb r3, r3 803edf6: 2b03 cmp r3, #3 803edf8: d104 bne.n 803ee04 menupos = ZoomOut; 803edfa: 4b46 ldr r3, [pc, #280] ; (803ef14 ) 803edfc: 2204 movs r2, #4 803edfe: 701a strb r2, [r3, #0] break; 803ee00: f005 bf84 b.w 8044d0c if(menupos == ImageRight) 803ee04: 4b43 ldr r3, [pc, #268] ; (803ef14 ) 803ee06: 781b ldrb r3, [r3, #0] 803ee08: b2db uxtb r3, r3 803ee0a: 2b05 cmp r3, #5 803ee0c: d104 bne.n 803ee18 menupos = ZoomIn; 803ee0e: 4b41 ldr r3, [pc, #260] ; (803ef14 ) 803ee10: 2203 movs r2, #3 803ee12: 701a strb r2, [r3, #0] break; 803ee14: f005 bf7a b.w 8044d0c if(menupos == ImageLeft) 803ee18: 4b3e ldr r3, [pc, #248] ; (803ef14 ) 803ee1a: 781b ldrb r3, [r3, #0] 803ee1c: b2db uxtb r3, r3 803ee1e: 2b02 cmp r3, #2 803ee20: f045 8774 bne.w 8044d0c menupos = ImageRight; 803ee24: 4b3b ldr r3, [pc, #236] ; (803ef14 ) 803ee26: 2205 movs r2, #5 803ee28: 701a strb r2, [r3, #0] break; 803ee2a: f005 bf6f b.w 8044d0c case VIEW_PORTRET: if(menupos == Cursor) 803ee2e: 4b39 ldr r3, [pc, #228] ; (803ef14 ) 803ee30: 781b ldrb r3, [r3, #0] 803ee32: b2db uxtb r3, r3 803ee34: 2b06 cmp r3, #6 803ee36: d104 bne.n 803ee42 ZOOM_OUT = true; 803ee38: 4b3c ldr r3, [pc, #240] ; (803ef2c ) 803ee3a: 2201 movs r2, #1 803ee3c: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803ee3e: f005 bf68 b.w 8044d12 if(menupos == ZoomOut) 803ee42: 4b34 ldr r3, [pc, #208] ; (803ef14 ) 803ee44: 781b ldrb r3, [r3, #0] 803ee46: b2db uxtb r3, r3 803ee48: 2b04 cmp r3, #4 803ee4a: d104 bne.n 803ee56 menupos = ImageLeft; 803ee4c: 4b31 ldr r3, [pc, #196] ; (803ef14 ) 803ee4e: 2202 movs r2, #2 803ee50: 701a strb r2, [r3, #0] break; 803ee52: f005 bf5e b.w 8044d12 if(menupos == ZoomIn) 803ee56: 4b2f ldr r3, [pc, #188] ; (803ef14 ) 803ee58: 781b ldrb r3, [r3, #0] 803ee5a: b2db uxtb r3, r3 803ee5c: 2b03 cmp r3, #3 803ee5e: d104 bne.n 803ee6a menupos = ZoomOut; 803ee60: 4b2c ldr r3, [pc, #176] ; (803ef14 ) 803ee62: 2204 movs r2, #4 803ee64: 701a strb r2, [r3, #0] break; 803ee66: f005 bf54 b.w 8044d12 if(menupos == ImageRight) 803ee6a: 4b2a ldr r3, [pc, #168] ; (803ef14 ) 803ee6c: 781b ldrb r3, [r3, #0] 803ee6e: b2db uxtb r3, r3 803ee70: 2b05 cmp r3, #5 803ee72: d104 bne.n 803ee7e menupos = ZoomIn; 803ee74: 4b27 ldr r3, [pc, #156] ; (803ef14 ) 803ee76: 2203 movs r2, #3 803ee78: 701a strb r2, [r3, #0] break; 803ee7a: f005 bf4a b.w 8044d12 if(menupos == ImageLeft) 803ee7e: 4b25 ldr r3, [pc, #148] ; (803ef14 ) 803ee80: 781b ldrb r3, [r3, #0] 803ee82: b2db uxtb r3, r3 803ee84: 2b02 cmp r3, #2 803ee86: f045 8744 bne.w 8044d12 menupos = ImageRight; 803ee8a: 4b22 ldr r3, [pc, #136] ; (803ef14 ) 803ee8c: 2205 movs r2, #5 803ee8e: 701a strb r2, [r3, #0] break; 803ee90: f005 bf3f b.w 8044d12 case MAIN_SPEC: if(menupos == Cursor) 803ee94: 4b1f ldr r3, [pc, #124] ; (803ef14 ) 803ee96: 781b ldrb r3, [r3, #0] 803ee98: b2db uxtb r3, r3 803ee9a: 2b06 cmp r3, #6 803ee9c: d104 bne.n 803eea8 ZOOM_OUT = true; 803ee9e: 4b23 ldr r3, [pc, #140] ; (803ef2c ) 803eea0: 2201 movs r2, #1 803eea2: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803eea4: f005 bf38 b.w 8044d18 if(menupos == StartStop) 803eea8: 4b1a ldr r3, [pc, #104] ; (803ef14 ) 803eeaa: 781b ldrb r3, [r3, #0] 803eeac: b2db uxtb r3, r3 803eeae: 2b00 cmp r3, #0 803eeb0: d10e bne.n 803eed0 if(READY_TO_SEE) 803eeb2: 4b20 ldr r3, [pc, #128] ; (803ef34 ) 803eeb4: 781b ldrb r3, [r3, #0] 803eeb6: b2db uxtb r3, r3 803eeb8: 2b00 cmp r3, #0 803eeba: d004 beq.n 803eec6 menupos = SaveSpec; 803eebc: 4b15 ldr r3, [pc, #84] ; (803ef14 ) 803eebe: 2209 movs r2, #9 803eec0: 701a strb r2, [r3, #0] break; 803eec2: f005 bf29 b.w 8044d18 else menupos = ImageLeft; 803eec6: 4b13 ldr r3, [pc, #76] ; (803ef14 ) 803eec8: 2202 movs r2, #2 803eeca: 701a strb r2, [r3, #0] break; 803eecc: f005 bf24 b.w 8044d18 if(menupos == SaveSpec) 803eed0: 4b10 ldr r3, [pc, #64] ; (803ef14 ) 803eed2: 781b ldrb r3, [r3, #0] 803eed4: b2db uxtb r3, r3 803eed6: 2b09 cmp r3, #9 803eed8: d104 bne.n 803eee4 menupos = ImageLeft; 803eeda: 4b0e ldr r3, [pc, #56] ; (803ef14 ) 803eedc: 2202 movs r2, #2 803eede: 701a strb r2, [r3, #0] break; 803eee0: f005 bf1a b.w 8044d18 if(menupos == ZoomOut) 803eee4: 4b0b ldr r3, [pc, #44] ; (803ef14 ) 803eee6: 781b ldrb r3, [r3, #0] 803eee8: b2db uxtb r3, r3 803eeea: 2b04 cmp r3, #4 803eeec: d124 bne.n 803ef38 menupos = StartStop; 803eeee: 4b09 ldr r3, [pc, #36] ; (803ef14 ) 803eef0: 2200 movs r2, #0 803eef2: 701a strb r2, [r3, #0] break; 803eef4: f005 bf10 b.w 8044d18 803eef8: 20020dcf .word 0x20020dcf 803eefc: 20020de9 .word 0x20020de9 803ef00: 2002169c .word 0x2002169c 803ef04: 20022360 .word 0x20022360 803ef08: 20020e80 .word 0x20020e80 803ef0c: 20020fc5 .word 0x20020fc5 803ef10: 20020fc6 .word 0x20020fc6 803ef14: 20020070 .word 0x20020070 803ef18: 20020071 .word 0x20020071 803ef1c: 20023eb8 .word 0x20023eb8 803ef20: 20020dec .word 0x20020dec 803ef24: 200216dc .word 0x200216dc 803ef28: 20020df2 .word 0x20020df2 803ef2c: 20020fb4 .word 0x20020fb4 803ef30: 20020d88 .word 0x20020d88 803ef34: 20020dae .word 0x20020dae if(menupos == ZoomIn) 803ef38: 4bb2 ldr r3, [pc, #712] ; (803f204 ) 803ef3a: 781b ldrb r3, [r3, #0] 803ef3c: b2db uxtb r3, r3 803ef3e: 2b03 cmp r3, #3 803ef40: d104 bne.n 803ef4c menupos = ZoomOut; 803ef42: 4bb0 ldr r3, [pc, #704] ; (803f204 ) 803ef44: 2204 movs r2, #4 803ef46: 701a strb r2, [r3, #0] break; 803ef48: f005 bee6 b.w 8044d18 if(menupos == ImageRight) 803ef4c: 4bad ldr r3, [pc, #692] ; (803f204 ) 803ef4e: 781b ldrb r3, [r3, #0] 803ef50: b2db uxtb r3, r3 803ef52: 2b05 cmp r3, #5 803ef54: d104 bne.n 803ef60 menupos = ZoomIn; 803ef56: 4bab ldr r3, [pc, #684] ; (803f204 ) 803ef58: 2203 movs r2, #3 803ef5a: 701a strb r2, [r3, #0] break; 803ef5c: f005 bedc b.w 8044d18 if(menupos == ImageLeft) 803ef60: 4ba8 ldr r3, [pc, #672] ; (803f204 ) 803ef62: 781b ldrb r3, [r3, #0] 803ef64: b2db uxtb r3, r3 803ef66: 2b02 cmp r3, #2 803ef68: f045 86d6 bne.w 8044d18 menupos = ImageRight; 803ef6c: 4ba5 ldr r3, [pc, #660] ; (803f204 ) 803ef6e: 2205 movs r2, #5 803ef70: 701a strb r2, [r3, #0] break; 803ef72: f005 bed1 b.w 8044d18 case MAIN_SPEC_OGIB: if(menupos == Cursor) 803ef76: 4ba3 ldr r3, [pc, #652] ; (803f204 ) 803ef78: 781b ldrb r3, [r3, #0] 803ef7a: b2db uxtb r3, r3 803ef7c: 2b06 cmp r3, #6 803ef7e: d104 bne.n 803ef8a ZOOM_OUT = true; 803ef80: 4ba1 ldr r3, [pc, #644] ; (803f208 ) 803ef82: 2201 movs r2, #1 803ef84: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803ef86: f005 beca b.w 8044d1e if(menupos == StartStop) 803ef8a: 4b9e ldr r3, [pc, #632] ; (803f204 ) 803ef8c: 781b ldrb r3, [r3, #0] 803ef8e: b2db uxtb r3, r3 803ef90: 2b00 cmp r3, #0 803ef92: d10e bne.n 803efb2 if(READY_TO_SEE) 803ef94: 4b9d ldr r3, [pc, #628] ; (803f20c ) 803ef96: 781b ldrb r3, [r3, #0] 803ef98: b2db uxtb r3, r3 803ef9a: 2b00 cmp r3, #0 803ef9c: d004 beq.n 803efa8 menupos = SaveSpec; 803ef9e: 4b99 ldr r3, [pc, #612] ; (803f204 ) 803efa0: 2209 movs r2, #9 803efa2: 701a strb r2, [r3, #0] break; 803efa4: f005 bebb b.w 8044d1e else menupos = ImageLeft; 803efa8: 4b96 ldr r3, [pc, #600] ; (803f204 ) 803efaa: 2202 movs r2, #2 803efac: 701a strb r2, [r3, #0] break; 803efae: f005 beb6 b.w 8044d1e if(menupos == SaveSpec) 803efb2: 4b94 ldr r3, [pc, #592] ; (803f204 ) 803efb4: 781b ldrb r3, [r3, #0] 803efb6: b2db uxtb r3, r3 803efb8: 2b09 cmp r3, #9 803efba: d104 bne.n 803efc6 menupos = ImageLeft; 803efbc: 4b91 ldr r3, [pc, #580] ; (803f204 ) 803efbe: 2202 movs r2, #2 803efc0: 701a strb r2, [r3, #0] break; 803efc2: f005 beac b.w 8044d1e if(menupos == ZoomOut) 803efc6: 4b8f ldr r3, [pc, #572] ; (803f204 ) 803efc8: 781b ldrb r3, [r3, #0] 803efca: b2db uxtb r3, r3 803efcc: 2b04 cmp r3, #4 803efce: d104 bne.n 803efda menupos = StartStop; 803efd0: 4b8c ldr r3, [pc, #560] ; (803f204 ) 803efd2: 2200 movs r2, #0 803efd4: 701a strb r2, [r3, #0] break; 803efd6: f005 bea2 b.w 8044d1e if(menupos == ZoomIn) 803efda: 4b8a ldr r3, [pc, #552] ; (803f204 ) 803efdc: 781b ldrb r3, [r3, #0] 803efde: b2db uxtb r3, r3 803efe0: 2b03 cmp r3, #3 803efe2: d104 bne.n 803efee menupos = ZoomOut; 803efe4: 4b87 ldr r3, [pc, #540] ; (803f204 ) 803efe6: 2204 movs r2, #4 803efe8: 701a strb r2, [r3, #0] break; 803efea: f005 be98 b.w 8044d1e if(menupos == ImageRight) 803efee: 4b85 ldr r3, [pc, #532] ; (803f204 ) 803eff0: 781b ldrb r3, [r3, #0] 803eff2: b2db uxtb r3, r3 803eff4: 2b05 cmp r3, #5 803eff6: d104 bne.n 803f002 menupos = ZoomIn; 803eff8: 4b82 ldr r3, [pc, #520] ; (803f204 ) 803effa: 2203 movs r2, #3 803effc: 701a strb r2, [r3, #0] break; 803effe: f005 be8e b.w 8044d1e if(menupos == ImageLeft) 803f002: 4b80 ldr r3, [pc, #512] ; (803f204 ) 803f004: 781b ldrb r3, [r3, #0] 803f006: b2db uxtb r3, r3 803f008: 2b02 cmp r3, #2 803f00a: f045 8688 bne.w 8044d1e menupos = ImageRight; 803f00e: 4b7d ldr r3, [pc, #500] ; (803f204 ) 803f010: 2205 movs r2, #5 803f012: 701a strb r2, [r3, #0] break; 803f014: f005 be83 b.w 8044d1e case MAIN_SPEC_OKT: if(menupos == Cursor) 803f018: 4b7a ldr r3, [pc, #488] ; (803f204 ) 803f01a: 781b ldrb r3, [r3, #0] 803f01c: b2db uxtb r3, r3 803f01e: 2b06 cmp r3, #6 803f020: d104 bne.n 803f02c ZOOM_OUT = true; 803f022: 4b79 ldr r3, [pc, #484] ; (803f208 ) 803f024: 2201 movs r2, #1 803f026: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803f028: f005 be7c b.w 8044d24 if(menupos == StartStop) 803f02c: 4b75 ldr r3, [pc, #468] ; (803f204 ) 803f02e: 781b ldrb r3, [r3, #0] 803f030: b2db uxtb r3, r3 803f032: 2b00 cmp r3, #0 803f034: d10e bne.n 803f054 if(READY_TO_SEE) 803f036: 4b75 ldr r3, [pc, #468] ; (803f20c ) 803f038: 781b ldrb r3, [r3, #0] 803f03a: b2db uxtb r3, r3 803f03c: 2b00 cmp r3, #0 803f03e: d004 beq.n 803f04a menupos = SaveSpec; 803f040: 4b70 ldr r3, [pc, #448] ; (803f204 ) 803f042: 2209 movs r2, #9 803f044: 701a strb r2, [r3, #0] break; 803f046: f005 be6d b.w 8044d24 else menupos = ImageLeft; 803f04a: 4b6e ldr r3, [pc, #440] ; (803f204 ) 803f04c: 2202 movs r2, #2 803f04e: 701a strb r2, [r3, #0] break; 803f050: f005 be68 b.w 8044d24 if(menupos == SaveSpec) 803f054: 4b6b ldr r3, [pc, #428] ; (803f204 ) 803f056: 781b ldrb r3, [r3, #0] 803f058: b2db uxtb r3, r3 803f05a: 2b09 cmp r3, #9 803f05c: d104 bne.n 803f068 menupos = ImageLeft; 803f05e: 4b69 ldr r3, [pc, #420] ; (803f204 ) 803f060: 2202 movs r2, #2 803f062: 701a strb r2, [r3, #0] break; 803f064: f005 be5e b.w 8044d24 if(menupos == ZoomOut) 803f068: 4b66 ldr r3, [pc, #408] ; (803f204 ) 803f06a: 781b ldrb r3, [r3, #0] 803f06c: b2db uxtb r3, r3 803f06e: 2b04 cmp r3, #4 803f070: d104 bne.n 803f07c menupos = StartStop; 803f072: 4b64 ldr r3, [pc, #400] ; (803f204 ) 803f074: 2200 movs r2, #0 803f076: 701a strb r2, [r3, #0] break; 803f078: f005 be54 b.w 8044d24 if(menupos == ZoomIn) 803f07c: 4b61 ldr r3, [pc, #388] ; (803f204 ) 803f07e: 781b ldrb r3, [r3, #0] 803f080: b2db uxtb r3, r3 803f082: 2b03 cmp r3, #3 803f084: d104 bne.n 803f090 menupos = ZoomOut; 803f086: 4b5f ldr r3, [pc, #380] ; (803f204 ) 803f088: 2204 movs r2, #4 803f08a: 701a strb r2, [r3, #0] break; 803f08c: f005 be4a b.w 8044d24 if(menupos == ImageRight) 803f090: 4b5c ldr r3, [pc, #368] ; (803f204 ) 803f092: 781b ldrb r3, [r3, #0] 803f094: b2db uxtb r3, r3 803f096: 2b05 cmp r3, #5 803f098: d104 bne.n 803f0a4 menupos = ZoomIn; 803f09a: 4b5a ldr r3, [pc, #360] ; (803f204 ) 803f09c: 2203 movs r2, #3 803f09e: 701a strb r2, [r3, #0] break; 803f0a0: f005 be40 b.w 8044d24 if(menupos == ImageLeft) 803f0a4: 4b57 ldr r3, [pc, #348] ; (803f204 ) 803f0a6: 781b ldrb r3, [r3, #0] 803f0a8: b2db uxtb r3, r3 803f0aa: 2b02 cmp r3, #2 803f0ac: f045 863a bne.w 8044d24 menupos = ImageRight; 803f0b0: 4b54 ldr r3, [pc, #336] ; (803f204 ) 803f0b2: 2205 movs r2, #5 803f0b4: 701a strb r2, [r3, #0] break; 803f0b6: f005 be35 b.w 8044d24 case MAIN_SPEC_THIRD: if(menupos == Cursor) 803f0ba: 4b52 ldr r3, [pc, #328] ; (803f204 ) 803f0bc: 781b ldrb r3, [r3, #0] 803f0be: b2db uxtb r3, r3 803f0c0: 2b06 cmp r3, #6 803f0c2: d104 bne.n 803f0ce ZOOM_OUT = true; 803f0c4: 4b50 ldr r3, [pc, #320] ; (803f208 ) 803f0c6: 2201 movs r2, #1 803f0c8: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803f0ca: f005 be2e b.w 8044d2a if(menupos == StartStop) 803f0ce: 4b4d ldr r3, [pc, #308] ; (803f204 ) 803f0d0: 781b ldrb r3, [r3, #0] 803f0d2: b2db uxtb r3, r3 803f0d4: 2b00 cmp r3, #0 803f0d6: d10e bne.n 803f0f6 if(READY_TO_SEE) 803f0d8: 4b4c ldr r3, [pc, #304] ; (803f20c ) 803f0da: 781b ldrb r3, [r3, #0] 803f0dc: b2db uxtb r3, r3 803f0de: 2b00 cmp r3, #0 803f0e0: d004 beq.n 803f0ec menupos = SaveSpec; 803f0e2: 4b48 ldr r3, [pc, #288] ; (803f204 ) 803f0e4: 2209 movs r2, #9 803f0e6: 701a strb r2, [r3, #0] break; 803f0e8: f005 be1f b.w 8044d2a else menupos = ImageLeft; 803f0ec: 4b45 ldr r3, [pc, #276] ; (803f204 ) 803f0ee: 2202 movs r2, #2 803f0f0: 701a strb r2, [r3, #0] break; 803f0f2: f005 be1a b.w 8044d2a if(menupos == SaveSpec) 803f0f6: 4b43 ldr r3, [pc, #268] ; (803f204 ) 803f0f8: 781b ldrb r3, [r3, #0] 803f0fa: b2db uxtb r3, r3 803f0fc: 2b09 cmp r3, #9 803f0fe: d104 bne.n 803f10a menupos = ImageLeft; 803f100: 4b40 ldr r3, [pc, #256] ; (803f204 ) 803f102: 2202 movs r2, #2 803f104: 701a strb r2, [r3, #0] break; 803f106: f005 be10 b.w 8044d2a if(menupos == ZoomOut) 803f10a: 4b3e ldr r3, [pc, #248] ; (803f204 ) 803f10c: 781b ldrb r3, [r3, #0] 803f10e: b2db uxtb r3, r3 803f110: 2b04 cmp r3, #4 803f112: d104 bne.n 803f11e menupos = StartStop; 803f114: 4b3b ldr r3, [pc, #236] ; (803f204 ) 803f116: 2200 movs r2, #0 803f118: 701a strb r2, [r3, #0] break; 803f11a: f005 be06 b.w 8044d2a if(menupos == ZoomIn) 803f11e: 4b39 ldr r3, [pc, #228] ; (803f204 ) 803f120: 781b ldrb r3, [r3, #0] 803f122: b2db uxtb r3, r3 803f124: 2b03 cmp r3, #3 803f126: d104 bne.n 803f132 menupos = ZoomOut; 803f128: 4b36 ldr r3, [pc, #216] ; (803f204 ) 803f12a: 2204 movs r2, #4 803f12c: 701a strb r2, [r3, #0] break; 803f12e: f005 bdfc b.w 8044d2a if(menupos == ImageRight) 803f132: 4b34 ldr r3, [pc, #208] ; (803f204 ) 803f134: 781b ldrb r3, [r3, #0] 803f136: b2db uxtb r3, r3 803f138: 2b05 cmp r3, #5 803f13a: d104 bne.n 803f146 menupos = ZoomIn; 803f13c: 4b31 ldr r3, [pc, #196] ; (803f204 ) 803f13e: 2203 movs r2, #3 803f140: 701a strb r2, [r3, #0] break; 803f142: f005 bdf2 b.w 8044d2a if(menupos == ImageLeft) 803f146: 4b2f ldr r3, [pc, #188] ; (803f204 ) 803f148: 781b ldrb r3, [r3, #0] 803f14a: b2db uxtb r3, r3 803f14c: 2b02 cmp r3, #2 803f14e: f045 85ec bne.w 8044d2a menupos = ImageRight; 803f152: 4b2c ldr r3, [pc, #176] ; (803f204 ) 803f154: 2205 movs r2, #5 803f156: 701a strb r2, [r3, #0] break; 803f158: f005 bde7 b.w 8044d2a case MAIN_SYGNAL: switch(menupos) 803f15c: 4b29 ldr r3, [pc, #164] ; (803f204 ) 803f15e: 781b ldrb r3, [r3, #0] 803f160: b2db uxtb r3, r3 803f162: 2b07 cmp r3, #7 803f164: f205 85e4 bhi.w 8044d30 803f168: a201 add r2, pc, #4 ; (adr r2, 803f170 ) 803f16a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803f16e: bf00 nop 803f170: 0803f1b9 .word 0x0803f1b9 803f174: 08044d31 .word 0x08044d31 803f178: 0803f199 .word 0x0803f199 803f17c: 0803f1a9 .word 0x0803f1a9 803f180: 0803f1b1 .word 0x0803f1b1 803f184: 0803f1a1 .word 0x0803f1a1 803f188: 0803f1c1 .word 0x0803f1c1 803f18c: 0803f191 .word 0x0803f191 { case Stop: menupos = ImageLeft; break; 803f190: 4b1c ldr r3, [pc, #112] ; (803f204 ) 803f192: 2202 movs r2, #2 803f194: 701a strb r2, [r3, #0] 803f196: e017 b.n 803f1c8 case ImageLeft: menupos = ImageRight; break; 803f198: 4b1a ldr r3, [pc, #104] ; (803f204 ) 803f19a: 2205 movs r2, #5 803f19c: 701a strb r2, [r3, #0] 803f19e: e013 b.n 803f1c8 case ImageRight:menupos = ZoomIn; break; 803f1a0: 4b18 ldr r3, [pc, #96] ; (803f204 ) 803f1a2: 2203 movs r2, #3 803f1a4: 701a strb r2, [r3, #0] 803f1a6: e00f b.n 803f1c8 case ZoomIn: menupos = ZoomOut; break; 803f1a8: 4b16 ldr r3, [pc, #88] ; (803f204 ) 803f1aa: 2204 movs r2, #4 803f1ac: 701a strb r2, [r3, #0] 803f1ae: e00b b.n 803f1c8 case ZoomOut: menupos = StartStop; break; 803f1b0: 4b14 ldr r3, [pc, #80] ; (803f204 ) 803f1b2: 2200 movs r2, #0 803f1b4: 701a strb r2, [r3, #0] 803f1b6: e007 b.n 803f1c8 case StartStop: menupos = Stop; break; 803f1b8: 4b12 ldr r3, [pc, #72] ; (803f204 ) 803f1ba: 2207 movs r2, #7 803f1bc: 701a strb r2, [r3, #0] 803f1be: e003 b.n 803f1c8 case Cursor: ZOOM_OUT = true; break; 803f1c0: 4b11 ldr r3, [pc, #68] ; (803f208 ) 803f1c2: 2201 movs r2, #1 803f1c4: 701a strb r2, [r3, #0] 803f1c6: bf00 nop } break; 803f1c8: f005 bdb2 b.w 8044d30 case EXPLORER: if(menupos == FilesPTM) 803f1cc: 4b0d ldr r3, [pc, #52] ; (803f204 ) 803f1ce: 781b ldrb r3, [r3, #0] 803f1d0: b2db uxtb r3, r3 803f1d2: 2b02 cmp r3, #2 803f1d4: f045 85af bne.w 8044d36 { if((CursorIndex + 1) < VIEW_FILES) 803f1d8: 4b0d ldr r3, [pc, #52] ; (803f210 ) 803f1da: 681b ldr r3, [r3, #0] 803f1dc: 3301 adds r3, #1 803f1de: 2b0b cmp r3, #11 803f1e0: d81c bhi.n 803f21c { if((FirstFileIndex + CursorIndex + 1) < NumFilesPTM) { 803f1e2: 4b0c ldr r3, [pc, #48] ; (803f214 ) 803f1e4: 681a ldr r2, [r3, #0] 803f1e6: 4b0a ldr r3, [pc, #40] ; (803f210 ) 803f1e8: 681b ldr r3, [r3, #0] 803f1ea: 4413 add r3, r2 803f1ec: 1c5a adds r2, r3, #1 803f1ee: 4b0a ldr r3, [pc, #40] ; (803f218 ) 803f1f0: 681b ldr r3, [r3, #0] 803f1f2: 429a cmp r2, r3 803f1f4: d227 bcs.n 803f246 CursorIndex++; 803f1f6: 4b06 ldr r3, [pc, #24] ; (803f210 ) 803f1f8: 681b ldr r3, [r3, #0] 803f1fa: 3301 adds r3, #1 803f1fc: 4a04 ldr r2, [pc, #16] ; (803f210 ) 803f1fe: 6013 str r3, [r2, #0] 803f200: e021 b.n 803f246 803f202: bf00 nop 803f204: 20020070 .word 0x20020070 803f208: 20020fb4 .word 0x20020fb4 803f20c: 20020dae .word 0x20020dae 803f210: 20020e00 .word 0x20020e00 803f214: 20020e04 .word 0x20020e04 803f218: 20020e14 .word 0x20020e14 } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesPTM) 803f21c: 4b8a ldr r3, [pc, #552] ; (803f448 ) 803f21e: 681b ldr r3, [r3, #0] 803f220: f103 020c add.w r2, r3, #12 803f224: 4b89 ldr r3, [pc, #548] ; (803f44c ) 803f226: 681b ldr r3, [r3, #0] 803f228: 429a cmp r2, r3 803f22a: d20c bcs.n 803f246 { FirstFileIndex++; 803f22c: 4b86 ldr r3, [pc, #536] ; (803f448 ) 803f22e: 681b ldr r3, [r3, #0] 803f230: 3301 adds r3, #1 803f232: 4a85 ldr r2, [pc, #532] ; (803f448 ) 803f234: 6013 str r3, [r2, #0] result = ReadMyFilesPTM(FirstFileIndex); 803f236: 4b84 ldr r3, [pc, #528] ; (803f448 ) 803f238: 681b ldr r3, [r3, #0] 803f23a: 4618 mov r0, r3 803f23c: f7ea fcb4 bl 8029ba8 803f240: 4603 mov r3, r0 803f242: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ ñïèñêà ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803f246: 4b80 ldr r3, [pc, #512] ; (803f448 ) 803f248: 681a ldr r2, [r3, #0] 803f24a: 4b81 ldr r3, [pc, #516] ; (803f450 ) 803f24c: 681b ldr r3, [r3, #0] 803f24e: 4413 add r3, r2 803f250: 4a80 ldr r2, [pc, #512] ; (803f454 ) 803f252: 6013 str r3, [r2, #0] } break; 803f254: f005 bd6f b.w 8044d36 case EXPLORER_DIAGN: if(menupos == FilesDGN) 803f258: 4b7f ldr r3, [pc, #508] ; (803f458 ) 803f25a: 781b ldrb r3, [r3, #0] 803f25c: b2db uxtb r3, r3 803f25e: 2b02 cmp r3, #2 803f260: f045 856c bne.w 8044d3c { if((CursorIndex + 1) < VIEW_FILES) 803f264: 4b7a ldr r3, [pc, #488] ; (803f450 ) 803f266: 681b ldr r3, [r3, #0] 803f268: 3301 adds r3, #1 803f26a: 2b0b cmp r3, #11 803f26c: d80f bhi.n 803f28e { if((FirstFileIndex + CursorIndex + 1) < NumFilesDGN) { 803f26e: 4b76 ldr r3, [pc, #472] ; (803f448 ) 803f270: 681a ldr r2, [r3, #0] 803f272: 4b77 ldr r3, [pc, #476] ; (803f450 ) 803f274: 681b ldr r3, [r3, #0] 803f276: 4413 add r3, r2 803f278: 1c5a adds r2, r3, #1 803f27a: 4b78 ldr r3, [pc, #480] ; (803f45c ) 803f27c: 681b ldr r3, [r3, #0] 803f27e: 429a cmp r2, r3 803f280: d21a bcs.n 803f2b8 CursorIndex++; 803f282: 4b73 ldr r3, [pc, #460] ; (803f450 ) 803f284: 681b ldr r3, [r3, #0] 803f286: 3301 adds r3, #1 803f288: 4a71 ldr r2, [pc, #452] ; (803f450 ) 803f28a: 6013 str r3, [r2, #0] 803f28c: e014 b.n 803f2b8 } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesDGN) 803f28e: 4b6e ldr r3, [pc, #440] ; (803f448 ) 803f290: 681b ldr r3, [r3, #0] 803f292: f103 020c add.w r2, r3, #12 803f296: 4b71 ldr r3, [pc, #452] ; (803f45c ) 803f298: 681b ldr r3, [r3, #0] 803f29a: 429a cmp r2, r3 803f29c: d20c bcs.n 803f2b8 { FirstFileIndex++; 803f29e: 4b6a ldr r3, [pc, #424] ; (803f448 ) 803f2a0: 681b ldr r3, [r3, #0] 803f2a2: 3301 adds r3, #1 803f2a4: 4a68 ldr r2, [pc, #416] ; (803f448 ) 803f2a6: 6013 str r3, [r2, #0] result = ReadMyFilesDGN(FirstFileIndex); 803f2a8: 4b67 ldr r3, [pc, #412] ; (803f448 ) 803f2aa: 681b ldr r3, [r3, #0] 803f2ac: 4618 mov r0, r3 803f2ae: f7ea fc88 bl 8029bc2 803f2b2: 4603 mov r3, r0 803f2b4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ ñïèñêà ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803f2b8: 4b63 ldr r3, [pc, #396] ; (803f448 ) 803f2ba: 681a ldr r2, [r3, #0] 803f2bc: 4b64 ldr r3, [pc, #400] ; (803f450 ) 803f2be: 681b ldr r3, [r3, #0] 803f2c0: 4413 add r3, r2 803f2c2: 4a64 ldr r2, [pc, #400] ; (803f454 ) 803f2c4: 6013 str r3, [r2, #0] } break; 803f2c6: f005 bd39 b.w 8044d3c 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)) 803f2ca: 4b63 ldr r3, [pc, #396] ; (803f458 ) 803f2cc: 781b ldrb r3, [r3, #0] 803f2ce: b2db uxtb r3, r3 803f2d0: 2b18 cmp r3, #24 803f2d2: d009 beq.n 803f2e8 803f2d4: 4b60 ldr r3, [pc, #384] ; (803f458 ) 803f2d6: 781b ldrb r3, [r3, #0] 803f2d8: b2db uxtb r3, r3 803f2da: 2b19 cmp r3, #25 803f2dc: d004 beq.n 803f2e8 803f2de: 4b5e ldr r3, [pc, #376] ; (803f458 ) 803f2e0: 781b ldrb r3, [r3, #0] 803f2e2: b2db uxtb r3, r3 803f2e4: 2b1a cmp r3, #26 803f2e6: d103 bne.n 803f2f0 menupos = _SPACE; 803f2e8: 4b5b ldr r3, [pc, #364] ; (803f458 ) 803f2ea: 2222 movs r2, #34 ; 0x22 803f2ec: 701a strb r2, [r3, #0] 803f2ee: e044 b.n 803f37a else if(menupos == _CANCEL) 803f2f0: 4b59 ldr r3, [pc, #356] ; (803f458 ) 803f2f2: 781b ldrb r3, [r3, #0] 803f2f4: b2db uxtb r3, r3 803f2f6: 2b27 cmp r3, #39 ; 0x27 803f2f8: d104 bne.n 803f304 menupos = _ENTER; 803f2fa: 4b57 ldr r3, [pc, #348] ; (803f458 ) 803f2fc: 2226 movs r2, #38 ; 0x26 803f2fe: 701a strb r2, [r3, #0] else if((menupos >= _SPACE) && (menupos <= _M)) menupos = _CANCEL; } } break; 803f300: f005 bd1f b.w 8044d42 if(menupos < _Z) 803f304: 4b54 ldr r3, [pc, #336] ; (803f458 ) 803f306: 781b ldrb r3, [r3, #0] 803f308: b2db uxtb r3, r3 803f30a: 2b1d cmp r3, #29 803f30c: d816 bhi.n 803f33c if(menupos < _G) menupos += 10; 803f30e: 4b52 ldr r3, [pc, #328] ; (803f458 ) 803f310: 781b ldrb r3, [r3, #0] 803f312: b2db uxtb r3, r3 803f314: 2b17 cmp r3, #23 803f316: d808 bhi.n 803f32a 803f318: 4b4f ldr r3, [pc, #316] ; (803f458 ) 803f31a: 781b ldrb r3, [r3, #0] 803f31c: b2db uxtb r3, r3 803f31e: 330a adds r3, #10 803f320: b2da uxtb r2, r3 803f322: 4b4d ldr r3, [pc, #308] ; (803f458 ) 803f324: 701a strb r2, [r3, #0] break; 803f326: f005 bd0c b.w 8044d42 else menupos += 8; 803f32a: 4b4b ldr r3, [pc, #300] ; (803f458 ) 803f32c: 781b ldrb r3, [r3, #0] 803f32e: b2db uxtb r3, r3 803f330: 3308 adds r3, #8 803f332: b2da uxtb r2, r3 803f334: 4b48 ldr r3, [pc, #288] ; (803f458 ) 803f336: 701a strb r2, [r3, #0] break; 803f338: f005 bd03 b.w 8044d42 if((menupos >= _Z) && (menupos <= _V)) 803f33c: 4b46 ldr r3, [pc, #280] ; (803f458 ) 803f33e: 781b ldrb r3, [r3, #0] 803f340: b2db uxtb r3, r3 803f342: 2b1d cmp r3, #29 803f344: d908 bls.n 803f358 803f346: 4b44 ldr r3, [pc, #272] ; (803f458 ) 803f348: 781b ldrb r3, [r3, #0] 803f34a: b2db uxtb r3, r3 803f34c: 2b21 cmp r3, #33 ; 0x21 803f34e: d803 bhi.n 803f358 menupos = _ENTER; 803f350: 4b41 ldr r3, [pc, #260] ; (803f458 ) 803f352: 2226 movs r2, #38 ; 0x26 803f354: 701a strb r2, [r3, #0] 803f356: e010 b.n 803f37a if((menupos >= _SPACE) && (menupos <= _M)) 803f358: 4b3f ldr r3, [pc, #252] ; (803f458 ) 803f35a: 781b ldrb r3, [r3, #0] 803f35c: b2db uxtb r3, r3 803f35e: 2b21 cmp r3, #33 ; 0x21 803f360: f245 84ef bls.w 8044d42 803f364: 4b3c ldr r3, [pc, #240] ; (803f458 ) 803f366: 781b ldrb r3, [r3, #0] 803f368: b2db uxtb r3, r3 803f36a: 2b25 cmp r3, #37 ; 0x25 803f36c: f205 84e9 bhi.w 8044d42 menupos = _CANCEL; 803f370: 4b39 ldr r3, [pc, #228] ; (803f458 ) 803f372: 2227 movs r2, #39 ; 0x27 803f374: 701a strb r2, [r3, #0] break; 803f376: f005 bce4 b.w 8044d42 803f37a: f005 bce2 b.w 8044d42 case OPTIONS: if(menupos < AskFormatNo) 803f37e: 4b36 ldr r3, [pc, #216] ; (803f458 ) 803f380: 781b ldrb r3, [r3, #0] 803f382: b2db uxtb r3, r3 803f384: 2b04 cmp r3, #4 803f386: f205 84df bhi.w 8044d48 { if(menupos < Route) menupos++; 803f38a: 4b33 ldr r3, [pc, #204] ; (803f458 ) 803f38c: 781b ldrb r3, [r3, #0] 803f38e: b2db uxtb r3, r3 803f390: 2b03 cmp r3, #3 803f392: d808 bhi.n 803f3a6 803f394: 4b30 ldr r3, [pc, #192] ; (803f458 ) 803f396: 781b ldrb r3, [r3, #0] 803f398: b2db uxtb r3, r3 803f39a: 3301 adds r3, #1 803f39c: b2da uxtb r2, r3 803f39e: 4b2e ldr r3, [pc, #184] ; (803f458 ) 803f3a0: 701a strb r2, [r3, #0] else menupos = Mode; } break; 803f3a2: f005 bcd1 b.w 8044d48 else menupos = Mode; 803f3a6: 4b2c ldr r3, [pc, #176] ; (803f458 ) 803f3a8: 2201 movs r2, #1 803f3aa: 701a strb r2, [r3, #0] break; 803f3ac: f005 bccc b.w 8044d48 case MEAS_MODE: #ifdef USE_ROLL #ifdef USE_UDAR if(pardata.IIN != VOLTS) 803f3b0: 4b2b ldr r3, [pc, #172] ; (803f460 ) 803f3b2: 799b ldrb r3, [r3, #6] 803f3b4: b2db uxtb r3, r3 803f3b6: 2b02 cmp r3, #2 803f3b8: d012 beq.n 803f3e0 { if(menupos < Udar) menupos++; 803f3ba: 4b27 ldr r3, [pc, #156] ; (803f458 ) 803f3bc: 781b ldrb r3, [r3, #0] 803f3be: b2db uxtb r3, r3 803f3c0: 2b06 cmp r3, #6 803f3c2: d808 bhi.n 803f3d6 803f3c4: 4b24 ldr r3, [pc, #144] ; (803f458 ) 803f3c6: 781b ldrb r3, [r3, #0] 803f3c8: b2db uxtb r3, r3 803f3ca: 3301 adds r3, #1 803f3cc: b2da uxtb r2, r3 803f3ce: 4b22 ldr r3, [pc, #136] ; (803f458 ) 803f3d0: 701a strb r2, [r3, #0] #else if(menupos < Wave) menupos++; else menupos = Vibrometer; #endif*/ break; 803f3d2: f005 bce1 b.w 8044d98 else menupos = Vibrometer; 803f3d6: 4b20 ldr r3, [pc, #128] ; (803f458 ) 803f3d8: 2201 movs r2, #1 803f3da: 701a strb r2, [r3, #0] break; 803f3dc: f005 bcdc b.w 8044d98 if(menupos < FFT) menupos++; 803f3e0: 4b1d ldr r3, [pc, #116] ; (803f458 ) 803f3e2: 781b ldrb r3, [r3, #0] 803f3e4: b2db uxtb r3, r3 803f3e6: 2b02 cmp r3, #2 803f3e8: d808 bhi.n 803f3fc 803f3ea: 4b1b ldr r3, [pc, #108] ; (803f458 ) 803f3ec: 781b ldrb r3, [r3, #0] 803f3ee: b2db uxtb r3, r3 803f3f0: 3301 adds r3, #1 803f3f2: b2da uxtb r2, r3 803f3f4: 4b18 ldr r3, [pc, #96] ; (803f458 ) 803f3f6: 701a strb r2, [r3, #0] break; 803f3f8: f005 bcce b.w 8044d98 else menupos = Vibrometer; 803f3fc: 4b16 ldr r3, [pc, #88] ; (803f458 ) 803f3fe: 2201 movs r2, #1 803f400: 701a strb r2, [r3, #0] break; 803f402: f005 bcc9 b.w 8044d98 case PARAM_UDAR: focused = false; 803f406: 4b17 ldr r3, [pc, #92] ; (803f464 ) 803f408: 2200 movs r2, #0 803f40a: 701a strb r2, [r3, #0] if(menupos == Ok) 803f40c: 4b12 ldr r3, [pc, #72] ; (803f458 ) 803f40e: 781b ldrb r3, [r3, #0] 803f410: b2db uxtb r3, r3 803f412: 2b00 cmp r3, #0 803f414: d104 bne.n 803f420 menupos = UdarRate; 803f416: 4b10 ldr r3, [pc, #64] ; (803f458 ) 803f418: 2201 movs r2, #1 803f41a: 701a strb r2, [r3, #0] break; } if(k == 0) k = 1; pardata.D_RATE = k; } break; 803f41c: f005 bc97 b.w 8044d4e if(menupos == UdarRate) 803f420: 4b0d ldr r3, [pc, #52] ; (803f458 ) 803f422: 781b ldrb r3, [r3, #0] 803f424: b2db uxtb r3, r3 803f426: 2b01 cmp r3, #1 803f428: d104 bne.n 803f434 menupos = UdarInner; 803f42a: 4b0b ldr r3, [pc, #44] ; (803f458 ) 803f42c: 2202 movs r2, #2 803f42e: 701a strb r2, [r3, #0] break; 803f430: f005 bc8d b.w 8044d4e if(menupos == UdarInner) 803f434: 4b08 ldr r3, [pc, #32] ; (803f458 ) 803f436: 781b ldrb r3, [r3, #0] 803f438: b2db uxtb r3, r3 803f43a: 2b02 cmp r3, #2 803f43c: d114 bne.n 803f468 menupos = Ok; 803f43e: 4b06 ldr r3, [pc, #24] ; (803f458 ) 803f440: 2200 movs r2, #0 803f442: 701a strb r2, [r3, #0] break; 803f444: f005 bc83 b.w 8044d4e 803f448: 20020e04 .word 0x20020e04 803f44c: 20020e14 .word 0x20020e14 803f450: 20020e00 .word 0x20020e00 803f454: 20020e08 .word 0x20020e08 803f458: 20020070 .word 0x20020070 803f45c: 20020e18 .word 0x20020e18 803f460: 20023eb8 .word 0x20023eb8 803f464: 20020fd0 .word 0x20020fd0 if((menupos >= UdarInner_IES) && (menupos <= UdarInner_IKT)) 803f468: 4bb3 ldr r3, [pc, #716] ; (803f738 ) 803f46a: 781b ldrb r3, [r3, #0] 803f46c: b2db uxtb r3, r3 803f46e: 2b06 cmp r3, #6 803f470: f240 817c bls.w 803f76c 803f474: 4bb0 ldr r3, [pc, #704] ; (803f738 ) 803f476: 781b ldrb r3, [r3, #0] 803f478: b2db uxtb r3, r3 803f47a: 2b0c cmp r3, #12 803f47c: f200 8176 bhi.w 803f76c k = (uint32_t) (pardata.D_INNER * 1000.0f); 803f480: 4bae ldr r3, [pc, #696] ; (803f73c ) 803f482: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803f486: ed9f 7aae vldr s14, [pc, #696] ; 803f740 803f48a: ee67 7a87 vmul.f32 s15, s15, s14 803f48e: eefc 7ae7 vcvt.u32.f32 s15, s15 803f492: ee17 3a90 vmov r3, s15 803f496: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803f49a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f49e: 095b lsrs r3, r3, #5 803f4a0: 4aa8 ldr r2, [pc, #672] ; (803f744 ) 803f4a2: fba2 2303 umull r2, r3, r2, r3 803f4a6: 09db lsrs r3, r3, #7 803f4a8: b2db uxtb r3, r3 803f4aa: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803f4ae: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f4b2: 0953 lsrs r3, r2, #5 803f4b4: 49a3 ldr r1, [pc, #652] ; (803f744 ) 803f4b6: fba1 1303 umull r1, r3, r1, r3 803f4ba: 09db lsrs r3, r3, #7 803f4bc: 49a2 ldr r1, [pc, #648] ; (803f748 ) 803f4be: fb01 f303 mul.w r3, r1, r3 803f4c2: 1ad3 subs r3, r2, r3 803f4c4: 4aa1 ldr r2, [pc, #644] ; (803f74c ) 803f4c6: fba2 2303 umull r2, r3, r2, r3 803f4ca: 0b5b lsrs r3, r3, #13 803f4cc: b2db uxtb r3, r3 803f4ce: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803f4d2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f4d6: 0953 lsrs r3, r2, #5 803f4d8: 499a ldr r1, [pc, #616] ; (803f744 ) 803f4da: fba1 1303 umull r1, r3, r1, r3 803f4de: 09db lsrs r3, r3, #7 803f4e0: 4999 ldr r1, [pc, #612] ; (803f748 ) 803f4e2: fb01 f303 mul.w r3, r1, r3 803f4e6: 1ad3 subs r3, r2, r3 803f4e8: 4a98 ldr r2, [pc, #608] ; (803f74c ) 803f4ea: fba2 1203 umull r1, r2, r2, r3 803f4ee: 0b52 lsrs r2, r2, #13 803f4f0: f242 7110 movw r1, #10000 ; 0x2710 803f4f4: fb01 f202 mul.w r2, r1, r2 803f4f8: 1a9a subs r2, r3, r2 803f4fa: 4b95 ldr r3, [pc, #596] ; (803f750 ) 803f4fc: fba3 2302 umull r2, r3, r3, r2 803f500: 099b lsrs r3, r3, #6 803f502: b2db uxtb r3, r3 803f504: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803f508: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f50c: 095a lsrs r2, r3, #5 803f50e: 498d ldr r1, [pc, #564] ; (803f744 ) 803f510: fba1 1202 umull r1, r2, r1, r2 803f514: 09d2 lsrs r2, r2, #7 803f516: 498c ldr r1, [pc, #560] ; (803f748 ) 803f518: fb01 f202 mul.w r2, r1, r2 803f51c: 1a9a subs r2, r3, r2 803f51e: 4b8b ldr r3, [pc, #556] ; (803f74c ) 803f520: fba3 1302 umull r1, r3, r3, r2 803f524: 0b5b lsrs r3, r3, #13 803f526: f242 7110 movw r1, #10000 ; 0x2710 803f52a: fb01 f303 mul.w r3, r1, r3 803f52e: 1ad3 subs r3, r2, r3 803f530: 4a87 ldr r2, [pc, #540] ; (803f750 ) 803f532: fba2 1203 umull r1, r2, r2, r3 803f536: 0992 lsrs r2, r2, #6 803f538: f44f 717a mov.w r1, #1000 ; 0x3e8 803f53c: fb01 f202 mul.w r2, r1, r2 803f540: 1a9a subs r2, r3, r2 803f542: 4b84 ldr r3, [pc, #528] ; (803f754 ) 803f544: fba3 2302 umull r2, r3, r3, r2 803f548: 095b lsrs r3, r3, #5 803f54a: b2db uxtb r3, r3 803f54c: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803f550: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f554: 0953 lsrs r3, r2, #5 803f556: 497b ldr r1, [pc, #492] ; (803f744 ) 803f558: fba1 1303 umull r1, r3, r1, r3 803f55c: 09db lsrs r3, r3, #7 803f55e: 497a ldr r1, [pc, #488] ; (803f748 ) 803f560: fb01 f303 mul.w r3, r1, r3 803f564: 1ad3 subs r3, r2, r3 803f566: 4a79 ldr r2, [pc, #484] ; (803f74c ) 803f568: fba2 1203 umull r1, r2, r2, r3 803f56c: 0b52 lsrs r2, r2, #13 803f56e: f242 7110 movw r1, #10000 ; 0x2710 803f572: fb01 f202 mul.w r2, r1, r2 803f576: 1a9a subs r2, r3, r2 803f578: 4b75 ldr r3, [pc, #468] ; (803f750 ) 803f57a: fba3 1302 umull r1, r3, r3, r2 803f57e: 099b lsrs r3, r3, #6 803f580: f44f 717a mov.w r1, #1000 ; 0x3e8 803f584: fb01 f303 mul.w r3, r1, r3 803f588: 1ad3 subs r3, r2, r3 803f58a: 4a72 ldr r2, [pc, #456] ; (803f754 ) 803f58c: fba2 1203 umull r1, r2, r2, r3 803f590: 0952 lsrs r2, r2, #5 803f592: 2164 movs r1, #100 ; 0x64 803f594: fb01 f202 mul.w r2, r1, r2 803f598: 1a9a subs r2, r3, r2 803f59a: 4b6f ldr r3, [pc, #444] ; (803f758 ) 803f59c: fba3 2302 umull r2, r3, r3, r2 803f5a0: 08db lsrs r3, r3, #3 803f5a2: b2db uxtb r3, r3 803f5a4: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803f5a8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f5ac: 0953 lsrs r3, r2, #5 803f5ae: 4965 ldr r1, [pc, #404] ; (803f744 ) 803f5b0: fba1 1303 umull r1, r3, r1, r3 803f5b4: 09db lsrs r3, r3, #7 803f5b6: 4964 ldr r1, [pc, #400] ; (803f748 ) 803f5b8: fb01 f303 mul.w r3, r1, r3 803f5bc: 1ad3 subs r3, r2, r3 803f5be: 4a63 ldr r2, [pc, #396] ; (803f74c ) 803f5c0: fba2 1203 umull r1, r2, r2, r3 803f5c4: 0b52 lsrs r2, r2, #13 803f5c6: f242 7110 movw r1, #10000 ; 0x2710 803f5ca: fb01 f202 mul.w r2, r1, r2 803f5ce: 1a9a subs r2, r3, r2 803f5d0: 4b5f ldr r3, [pc, #380] ; (803f750 ) 803f5d2: fba3 1302 umull r1, r3, r3, r2 803f5d6: 099b lsrs r3, r3, #6 803f5d8: f44f 717a mov.w r1, #1000 ; 0x3e8 803f5dc: fb01 f303 mul.w r3, r1, r3 803f5e0: 1ad3 subs r3, r2, r3 803f5e2: 4a5c ldr r2, [pc, #368] ; (803f754 ) 803f5e4: fba2 1203 umull r1, r2, r2, r3 803f5e8: 0952 lsrs r2, r2, #5 803f5ea: 2164 movs r1, #100 ; 0x64 803f5ec: fb01 f202 mul.w r2, r1, r2 803f5f0: 1a9a subs r2, r3, r2 803f5f2: 4b59 ldr r3, [pc, #356] ; (803f758 ) 803f5f4: fba3 1302 umull r1, r3, r3, r2 803f5f8: 08d9 lsrs r1, r3, #3 803f5fa: 460b mov r3, r1 803f5fc: 009b lsls r3, r3, #2 803f5fe: 440b add r3, r1 803f600: 005b lsls r3, r3, #1 803f602: 1ad1 subs r1, r2, r3 803f604: b2cb uxtb r3, r1 803f606: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803f60a: 4b4b ldr r3, [pc, #300] ; (803f738 ) 803f60c: 781b ldrb r3, [r3, #0] 803f60e: b2db uxtb r3, r3 803f610: 3b07 subs r3, #7 803f612: 2b05 cmp r3, #5 803f614: d869 bhi.n 803f6ea 803f616: a201 add r2, pc, #4 ; (adr r2, 803f61c ) 803f618: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803f61c: 0803f635 .word 0x0803f635 803f620: 0803f655 .word 0x0803f655 803f624: 0803f677 .word 0x0803f677 803f628: 0803f697 .word 0x0803f697 803f62c: 0803f6b3 .word 0x0803f6b3 803f630: 0803f6cf .word 0x0803f6cf if(k > 100000) k -= 100000; 803f634: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f638: 4a43 ldr r2, [pc, #268] ; (803f748 ) 803f63a: 4293 cmp r3, r2 803f63c: d906 bls.n 803f64c 803f63e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f642: 4b46 ldr r3, [pc, #280] ; (803f75c ) 803f644: 4413 add r3, r2 803f646: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f64a: e04e b.n 803f6ea else k = 0; 803f64c: 2300 movs r3, #0 803f64e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f652: e04a b.n 803f6ea if(k > 10000) k -= 10000; 803f654: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f658: f242 7210 movw r2, #10000 ; 0x2710 803f65c: 4293 cmp r3, r2 803f65e: d906 bls.n 803f66e 803f660: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f664: 4b3e ldr r3, [pc, #248] ; (803f760 ) 803f666: 4413 add r3, r2 803f668: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f66c: e03d b.n 803f6ea else k = 0; 803f66e: 2300 movs r3, #0 803f670: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f674: e039 b.n 803f6ea if(k > 1000) k -= 1000; 803f676: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f67a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803f67e: d906 bls.n 803f68e 803f680: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f684: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803f688: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f68c: e02d b.n 803f6ea else k = 0; 803f68e: 2300 movs r3, #0 803f690: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f694: e029 b.n 803f6ea if(k > 100) k -= 100; 803f696: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f69a: 2b64 cmp r3, #100 ; 0x64 803f69c: d905 bls.n 803f6aa 803f69e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6a2: 3b64 subs r3, #100 ; 0x64 803f6a4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6a8: e01f b.n 803f6ea else k = 0; 803f6aa: 2300 movs r3, #0 803f6ac: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6b0: e01b b.n 803f6ea if(k > 10) k -= 10; 803f6b2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6b6: 2b0a cmp r3, #10 803f6b8: d905 bls.n 803f6c6 803f6ba: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6be: 3b0a subs r3, #10 803f6c0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6c4: e011 b.n 803f6ea else k = 0; 803f6c6: 2300 movs r3, #0 803f6c8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6cc: e00d b.n 803f6ea if(k > 1) k -= 1; 803f6ce: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6d2: 2b01 cmp r3, #1 803f6d4: d905 bls.n 803f6e2 803f6d6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6da: 3b01 subs r3, #1 803f6dc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6e0: e002 b.n 803f6e8 else k = 0; 803f6e2: 2300 movs r3, #0 803f6e4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6e8: bf00 nop if(k == 0) k = 1; 803f6ea: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6ee: 2b00 cmp r3, #0 803f6f0: d102 bne.n 803f6f8 803f6f2: 2301 movs r3, #1 803f6f4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_INNER = (float32_t) k; 803f6f8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6fc: ee07 3a90 vmov s15, r3 803f700: eef8 7a67 vcvt.f32.u32 s15, s15 803f704: 4b0d ldr r3, [pc, #52] ; (803f73c ) 803f706: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER *= 0.001f; 803f70a: 4b0c ldr r3, [pc, #48] ; (803f73c ) 803f70c: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803f710: ed9f 7a14 vldr s14, [pc, #80] ; 803f764 803f714: ee67 7a87 vmul.f32 s15, s15, s14 803f718: 4b08 ldr r3, [pc, #32] ; (803f73c ) 803f71a: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER += 0.0005f; 803f71e: 4b07 ldr r3, [pc, #28] ; (803f73c ) 803f720: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803f724: ed9f 7a10 vldr s14, [pc, #64] ; 803f768 803f728: ee77 7a87 vadd.f32 s15, s15, s14 803f72c: 4b03 ldr r3, [pc, #12] ; (803f73c ) 803f72e: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 break; 803f732: f005 bb0c b.w 8044d4e 803f736: bf00 nop 803f738: 20020070 .word 0x20020070 803f73c: 20023eb8 .word 0x20023eb8 803f740: 447a0000 .word 0x447a0000 803f744: 0a7c5ac5 .word 0x0a7c5ac5 803f748: 000186a0 .word 0x000186a0 803f74c: d1b71759 .word 0xd1b71759 803f750: 10624dd3 .word 0x10624dd3 803f754: 51eb851f .word 0x51eb851f 803f758: cccccccd .word 0xcccccccd 803f75c: fffe7960 .word 0xfffe7960 803f760: ffffd8f0 .word 0xffffd8f0 803f764: 3a83126f .word 0x3a83126f 803f768: 3a03126f .word 0x3a03126f if((menupos >= UdarRate_IET) && (menupos <= UdarRate_IEE)) 803f76c: 4b98 ldr r3, [pc, #608] ; (803f9d0 ) 803f76e: 781b ldrb r3, [r3, #0] 803f770: b2db uxtb r3, r3 803f772: 2b02 cmp r3, #2 803f774: f245 82eb bls.w 8044d4e 803f778: 4b95 ldr r3, [pc, #596] ; (803f9d0 ) 803f77a: 781b ldrb r3, [r3, #0] 803f77c: b2db uxtb r3, r3 803f77e: 2b06 cmp r3, #6 803f780: f205 82e5 bhi.w 8044d4e k = pardata.D_RATE; 803f784: 4b93 ldr r3, [pc, #588] ; (803f9d4 ) 803f786: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 803f78a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 iet = (uint8_t) (k / 1000); 803f78e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f792: 4a91 ldr r2, [pc, #580] ; (803f9d8 ) 803f794: fba2 2303 umull r2, r3, r2, r3 803f798: 099b lsrs r3, r3, #6 803f79a: b2db uxtb r3, r3 803f79c: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 1000 / 100); 803f7a0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f7a4: 4b8c ldr r3, [pc, #560] ; (803f9d8 ) 803f7a6: fba3 1302 umull r1, r3, r3, r2 803f7aa: 099b lsrs r3, r3, #6 803f7ac: f44f 717a mov.w r1, #1000 ; 0x3e8 803f7b0: fb01 f303 mul.w r3, r1, r3 803f7b4: 1ad3 subs r3, r2, r3 803f7b6: 4a89 ldr r2, [pc, #548] ; (803f9dc ) 803f7b8: fba2 2303 umull r2, r3, r2, r3 803f7bc: 095b lsrs r3, r3, #5 803f7be: b2db uxtb r3, r3 803f7c0: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 1000 % 100 / 10); 803f7c4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f7c8: 4b83 ldr r3, [pc, #524] ; (803f9d8 ) 803f7ca: fba3 1302 umull r1, r3, r3, r2 803f7ce: 099b lsrs r3, r3, #6 803f7d0: f44f 717a mov.w r1, #1000 ; 0x3e8 803f7d4: fb01 f303 mul.w r3, r1, r3 803f7d8: 1ad3 subs r3, r2, r3 803f7da: 4a80 ldr r2, [pc, #512] ; (803f9dc ) 803f7dc: fba2 1203 umull r1, r2, r2, r3 803f7e0: 0952 lsrs r2, r2, #5 803f7e2: 2164 movs r1, #100 ; 0x64 803f7e4: fb01 f202 mul.w r2, r1, r2 803f7e8: 1a9a subs r2, r3, r2 803f7ea: 4b7d ldr r3, [pc, #500] ; (803f9e0 ) 803f7ec: fba3 2302 umull r2, r3, r3, r2 803f7f0: 08db lsrs r3, r3, #3 803f7f2: b2db uxtb r3, r3 803f7f4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 1000 % 100 % 10); 803f7f8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f7fc: 4b76 ldr r3, [pc, #472] ; (803f9d8 ) 803f7fe: fba3 1302 umull r1, r3, r3, r2 803f802: 099b lsrs r3, r3, #6 803f804: f44f 717a mov.w r1, #1000 ; 0x3e8 803f808: fb01 f303 mul.w r3, r1, r3 803f80c: 1ad3 subs r3, r2, r3 803f80e: 4a73 ldr r2, [pc, #460] ; (803f9dc ) 803f810: fba2 1203 umull r1, r2, r2, r3 803f814: 0952 lsrs r2, r2, #5 803f816: 2164 movs r1, #100 ; 0x64 803f818: fb01 f202 mul.w r2, r1, r2 803f81c: 1a9a subs r2, r3, r2 803f81e: 4b70 ldr r3, [pc, #448] ; (803f9e0 ) 803f820: fba3 1302 umull r1, r3, r3, r2 803f824: 08d9 lsrs r1, r3, #3 803f826: 460b mov r3, r1 803f828: 009b lsls r3, r3, #2 803f82a: 440b add r3, r1 803f82c: 005b lsls r3, r3, #1 803f82e: 1ad1 subs r1, r2, r3 803f830: b2cb uxtb r3, r1 803f832: f887 306f strb.w r3, [r7, #111] ; 0x6f switch(menupos) 803f836: 4b66 ldr r3, [pc, #408] ; (803f9d0 ) 803f838: 781b ldrb r3, [r3, #0] 803f83a: b2db uxtb r3, r3 803f83c: 3b03 subs r3, #3 803f83e: 2b03 cmp r3, #3 803f840: d844 bhi.n 803f8cc 803f842: a201 add r2, pc, #4 ; (adr r2, 803f848 ) 803f844: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803f848: 0803f859 .word 0x0803f859 803f84c: 0803f879 .word 0x0803f879 803f850: 0803f895 .word 0x0803f895 803f854: 0803f8b1 .word 0x0803f8b1 if(k > 1000) k -= 1000; 803f858: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f85c: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803f860: d906 bls.n 803f870 803f862: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f866: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803f86a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f86e: e02d b.n 803f8cc else k = 0; 803f870: 2300 movs r3, #0 803f872: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f876: e029 b.n 803f8cc if(k > 100) k -= 100; 803f878: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f87c: 2b64 cmp r3, #100 ; 0x64 803f87e: d905 bls.n 803f88c 803f880: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f884: 3b64 subs r3, #100 ; 0x64 803f886: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f88a: e01f b.n 803f8cc else k = 0; 803f88c: 2300 movs r3, #0 803f88e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f892: e01b b.n 803f8cc if(k > 10) k -= 10; 803f894: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f898: 2b0a cmp r3, #10 803f89a: d905 bls.n 803f8a8 803f89c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f8a0: 3b0a subs r3, #10 803f8a2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f8a6: e011 b.n 803f8cc else k = 0; 803f8a8: 2300 movs r3, #0 803f8aa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f8ae: e00d b.n 803f8cc if(k > 1) k -= 1; 803f8b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f8b4: 2b01 cmp r3, #1 803f8b6: d905 bls.n 803f8c4 803f8b8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f8bc: 3b01 subs r3, #1 803f8be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f8c2: e002 b.n 803f8ca else k = 0; 803f8c4: 2300 movs r3, #0 803f8c6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f8ca: bf00 nop if(k == 0) k = 1; 803f8cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f8d0: 2b00 cmp r3, #0 803f8d2: d102 bne.n 803f8da 803f8d4: 2301 movs r3, #1 803f8d6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_RATE = k; 803f8da: 4a3e ldr r2, [pc, #248] ; (803f9d4 ) 803f8dc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f8e0: f8c2 30d0 str.w r3, [r2, #208] ; 0xd0 break; 803f8e4: f005 ba33 b.w 8044d4e case PARAM_ROLL: focused = false; 803f8e8: 4b3e ldr r3, [pc, #248] ; (803f9e4 ) 803f8ea: 2200 movs r2, #0 803f8ec: 701a strb r2, [r3, #0] if(menupos == Ok) 803f8ee: 4b38 ldr r3, [pc, #224] ; (803f9d0 ) 803f8f0: 781b ldrb r3, [r3, #0] 803f8f2: b2db uxtb r3, r3 803f8f4: 2b00 cmp r3, #0 803f8f6: d104 bne.n 803f902 menupos = RollCount; 803f8f8: 4b35 ldr r3, [pc, #212] ; (803f9d0 ) 803f8fa: 2201 movs r2, #1 803f8fc: 701a strb r2, [r3, #0] break; } if(k == 0) k = 1; pardata.D_RATE = k; } break; 803f8fe: f005 ba29 b.w 8044d54 if(menupos == RollCount) 803f902: 4b33 ldr r3, [pc, #204] ; (803f9d0 ) 803f904: 781b ldrb r3, [r3, #0] 803f906: b2db uxtb r3, r3 803f908: 2b01 cmp r3, #1 803f90a: d104 bne.n 803f916 menupos = D_Roll; 803f90c: 4b30 ldr r3, [pc, #192] ; (803f9d0 ) 803f90e: 2202 movs r2, #2 803f910: 701a strb r2, [r3, #0] break; 803f912: f005 ba1f b.w 8044d54 if(menupos == D_Roll) 803f916: 4b2e ldr r3, [pc, #184] ; (803f9d0 ) 803f918: 781b ldrb r3, [r3, #0] 803f91a: b2db uxtb r3, r3 803f91c: 2b02 cmp r3, #2 803f91e: d104 bne.n 803f92a menupos = D_Outer; 803f920: 4b2b ldr r3, [pc, #172] ; (803f9d0 ) 803f922: 2203 movs r2, #3 803f924: 701a strb r2, [r3, #0] break; 803f926: f005 ba15 b.w 8044d54 if(menupos == D_Outer) 803f92a: 4b29 ldr r3, [pc, #164] ; (803f9d0 ) 803f92c: 781b ldrb r3, [r3, #0] 803f92e: b2db uxtb r3, r3 803f930: 2b03 cmp r3, #3 803f932: d104 bne.n 803f93e menupos = D_Inner; 803f934: 4b26 ldr r3, [pc, #152] ; (803f9d0 ) 803f936: 2204 movs r2, #4 803f938: 701a strb r2, [r3, #0] break; 803f93a: f005 ba0b b.w 8044d54 if(menupos == D_Inner) 803f93e: 4b24 ldr r3, [pc, #144] ; (803f9d0 ) 803f940: 781b ldrb r3, [r3, #0] 803f942: b2db uxtb r3, r3 803f944: 2b04 cmp r3, #4 803f946: d104 bne.n 803f952 menupos = D_Angle; 803f948: 4b21 ldr r3, [pc, #132] ; (803f9d0 ) 803f94a: 2205 movs r2, #5 803f94c: 701a strb r2, [r3, #0] break; 803f94e: f005 ba01 b.w 8044d54 if(menupos == D_Angle) 803f952: 4b1f ldr r3, [pc, #124] ; (803f9d0 ) 803f954: 781b ldrb r3, [r3, #0] 803f956: b2db uxtb r3, r3 803f958: 2b05 cmp r3, #5 803f95a: d104 bne.n 803f966 menupos = RollAverage; 803f95c: 4b1c ldr r3, [pc, #112] ; (803f9d0 ) 803f95e: 2206 movs r2, #6 803f960: 701a strb r2, [r3, #0] break; 803f962: f005 b9f7 b.w 8044d54 if(menupos == RollAverage) 803f966: 4b1a ldr r3, [pc, #104] ; (803f9d0 ) 803f968: 781b ldrb r3, [r3, #0] 803f96a: b2db uxtb r3, r3 803f96c: 2b06 cmp r3, #6 803f96e: d104 bne.n 803f97a menupos = RollAutoKu; 803f970: 4b17 ldr r3, [pc, #92] ; (803f9d0 ) 803f972: 2207 movs r2, #7 803f974: 701a strb r2, [r3, #0] break; 803f976: f005 b9ed b.w 8044d54 if(menupos == RollAutoKu) 803f97a: 4b15 ldr r3, [pc, #84] ; (803f9d0 ) 803f97c: 781b ldrb r3, [r3, #0] 803f97e: b2db uxtb r3, r3 803f980: 2b07 cmp r3, #7 803f982: d110 bne.n 803f9a6 if(pardata.OPTIONS & 0x4) 803f984: 4b13 ldr r3, [pc, #76] ; (803f9d4 ) 803f986: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803f98a: f003 0304 and.w r3, r3, #4 803f98e: 2b00 cmp r3, #0 803f990: d004 beq.n 803f99c menupos = D_Rate; 803f992: 4b0f ldr r3, [pc, #60] ; (803f9d0 ) 803f994: 2209 movs r2, #9 803f996: 701a strb r2, [r3, #0] break; 803f998: f005 b9dc b.w 8044d54 else menupos = RollMax_ALL; 803f99c: 4b0c ldr r3, [pc, #48] ; (803f9d0 ) 803f99e: 2208 movs r2, #8 803f9a0: 701a strb r2, [r3, #0] break; 803f9a2: f005 b9d7 b.w 8044d54 if(menupos == RollMax_ALL) 803f9a6: 4b0a ldr r3, [pc, #40] ; (803f9d0 ) 803f9a8: 781b ldrb r3, [r3, #0] 803f9aa: b2db uxtb r3, r3 803f9ac: 2b08 cmp r3, #8 803f9ae: d104 bne.n 803f9ba menupos = D_Rate; 803f9b0: 4b07 ldr r3, [pc, #28] ; (803f9d0 ) 803f9b2: 2209 movs r2, #9 803f9b4: 701a strb r2, [r3, #0] break; 803f9b6: f005 b9cd b.w 8044d54 if(menupos == D_Rate) 803f9ba: 4b05 ldr r3, [pc, #20] ; (803f9d0 ) 803f9bc: 781b ldrb r3, [r3, #0] 803f9be: b2db uxtb r3, r3 803f9c0: 2b09 cmp r3, #9 803f9c2: d111 bne.n 803f9e8 menupos = Ok; 803f9c4: 4b02 ldr r3, [pc, #8] ; (803f9d0 ) 803f9c6: 2200 movs r2, #0 803f9c8: 701a strb r2, [r3, #0] break; 803f9ca: f005 b9c3 b.w 8044d54 803f9ce: bf00 nop 803f9d0: 20020070 .word 0x20020070 803f9d4: 20023eb8 .word 0x20023eb8 803f9d8: 10624dd3 .word 0x10624dd3 803f9dc: 51eb851f .word 0x51eb851f 803f9e0: cccccccd .word 0xcccccccd 803f9e4: 20020fd0 .word 0x20020fd0 if((menupos >= RollMax_IDT) && (menupos <= RollMax_IKD)) 803f9e8: 4bb3 ldr r3, [pc, #716] ; (803fcb8 ) 803f9ea: 781b ldrb r3, [r3, #0] 803f9ec: b2db uxtb r3, r3 803f9ee: 2b25 cmp r3, #37 ; 0x25 803f9f0: f240 817a bls.w 803fce8 803f9f4: 4bb0 ldr r3, [pc, #704] ; (803fcb8 ) 803f9f6: 781b ldrb r3, [r3, #0] 803f9f8: b2db uxtb r3, r3 803f9fa: 2b2b cmp r3, #43 ; 0x2b 803f9fc: f200 8174 bhi.w 803fce8 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803fa00: 4bae ldr r3, [pc, #696] ; (803fcbc ) 803fa02: edd3 7a06 vldr s15, [r3, #24] 803fa06: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803fa0a: ee67 7a87 vmul.f32 s15, s15, s14 803fa0e: eefc 7ae7 vcvt.u32.f32 s15, s15 803fa12: ee17 3a90 vmov r3, s15 803fa16: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803fa1a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa1e: 095b lsrs r3, r3, #5 803fa20: 4aa7 ldr r2, [pc, #668] ; (803fcc0 ) 803fa22: fba2 2303 umull r2, r3, r2, r3 803fa26: 09db lsrs r3, r3, #7 803fa28: b2db uxtb r3, r3 803fa2a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803fa2e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fa32: 0953 lsrs r3, r2, #5 803fa34: 49a2 ldr r1, [pc, #648] ; (803fcc0 ) 803fa36: fba1 1303 umull r1, r3, r1, r3 803fa3a: 09db lsrs r3, r3, #7 803fa3c: 49a1 ldr r1, [pc, #644] ; (803fcc4 ) 803fa3e: fb01 f303 mul.w r3, r1, r3 803fa42: 1ad3 subs r3, r2, r3 803fa44: 4aa0 ldr r2, [pc, #640] ; (803fcc8 ) 803fa46: fba2 2303 umull r2, r3, r2, r3 803fa4a: 0b5b lsrs r3, r3, #13 803fa4c: b2db uxtb r3, r3 803fa4e: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803fa52: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fa56: 0953 lsrs r3, r2, #5 803fa58: 4999 ldr r1, [pc, #612] ; (803fcc0 ) 803fa5a: fba1 1303 umull r1, r3, r1, r3 803fa5e: 09db lsrs r3, r3, #7 803fa60: 4998 ldr r1, [pc, #608] ; (803fcc4 ) 803fa62: fb01 f303 mul.w r3, r1, r3 803fa66: 1ad3 subs r3, r2, r3 803fa68: 4a97 ldr r2, [pc, #604] ; (803fcc8 ) 803fa6a: fba2 1203 umull r1, r2, r2, r3 803fa6e: 0b52 lsrs r2, r2, #13 803fa70: f242 7110 movw r1, #10000 ; 0x2710 803fa74: fb01 f202 mul.w r2, r1, r2 803fa78: 1a9a subs r2, r3, r2 803fa7a: 4b94 ldr r3, [pc, #592] ; (803fccc ) 803fa7c: fba3 2302 umull r2, r3, r3, r2 803fa80: 099b lsrs r3, r3, #6 803fa82: b2db uxtb r3, r3 803fa84: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803fa88: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa8c: 095a lsrs r2, r3, #5 803fa8e: 498c ldr r1, [pc, #560] ; (803fcc0 ) 803fa90: fba1 1202 umull r1, r2, r1, r2 803fa94: 09d2 lsrs r2, r2, #7 803fa96: 498b ldr r1, [pc, #556] ; (803fcc4 ) 803fa98: fb01 f202 mul.w r2, r1, r2 803fa9c: 1a9a subs r2, r3, r2 803fa9e: 4b8a ldr r3, [pc, #552] ; (803fcc8 ) 803faa0: fba3 1302 umull r1, r3, r3, r2 803faa4: 0b5b lsrs r3, r3, #13 803faa6: f242 7110 movw r1, #10000 ; 0x2710 803faaa: fb01 f303 mul.w r3, r1, r3 803faae: 1ad3 subs r3, r2, r3 803fab0: 4a86 ldr r2, [pc, #536] ; (803fccc ) 803fab2: fba2 1203 umull r1, r2, r2, r3 803fab6: 0992 lsrs r2, r2, #6 803fab8: f44f 717a mov.w r1, #1000 ; 0x3e8 803fabc: fb01 f202 mul.w r2, r1, r2 803fac0: 1a9a subs r2, r3, r2 803fac2: 4b83 ldr r3, [pc, #524] ; (803fcd0 ) 803fac4: fba3 2302 umull r2, r3, r3, r2 803fac8: 095b lsrs r3, r3, #5 803faca: b2db uxtb r3, r3 803facc: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803fad0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fad4: 0953 lsrs r3, r2, #5 803fad6: 497a ldr r1, [pc, #488] ; (803fcc0 ) 803fad8: fba1 1303 umull r1, r3, r1, r3 803fadc: 09db lsrs r3, r3, #7 803fade: 4979 ldr r1, [pc, #484] ; (803fcc4 ) 803fae0: fb01 f303 mul.w r3, r1, r3 803fae4: 1ad3 subs r3, r2, r3 803fae6: 4a78 ldr r2, [pc, #480] ; (803fcc8 ) 803fae8: fba2 1203 umull r1, r2, r2, r3 803faec: 0b52 lsrs r2, r2, #13 803faee: f242 7110 movw r1, #10000 ; 0x2710 803faf2: fb01 f202 mul.w r2, r1, r2 803faf6: 1a9a subs r2, r3, r2 803faf8: 4b74 ldr r3, [pc, #464] ; (803fccc ) 803fafa: fba3 1302 umull r1, r3, r3, r2 803fafe: 099b lsrs r3, r3, #6 803fb00: f44f 717a mov.w r1, #1000 ; 0x3e8 803fb04: fb01 f303 mul.w r3, r1, r3 803fb08: 1ad3 subs r3, r2, r3 803fb0a: 4a71 ldr r2, [pc, #452] ; (803fcd0 ) 803fb0c: fba2 1203 umull r1, r2, r2, r3 803fb10: 0952 lsrs r2, r2, #5 803fb12: 2164 movs r1, #100 ; 0x64 803fb14: fb01 f202 mul.w r2, r1, r2 803fb18: 1a9a subs r2, r3, r2 803fb1a: 4b6e ldr r3, [pc, #440] ; (803fcd4 ) 803fb1c: fba3 2302 umull r2, r3, r3, r2 803fb20: 08db lsrs r3, r3, #3 803fb22: b2db uxtb r3, r3 803fb24: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803fb28: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fb2c: 0953 lsrs r3, r2, #5 803fb2e: 4964 ldr r1, [pc, #400] ; (803fcc0 ) 803fb30: fba1 1303 umull r1, r3, r1, r3 803fb34: 09db lsrs r3, r3, #7 803fb36: 4963 ldr r1, [pc, #396] ; (803fcc4 ) 803fb38: fb01 f303 mul.w r3, r1, r3 803fb3c: 1ad3 subs r3, r2, r3 803fb3e: 4a62 ldr r2, [pc, #392] ; (803fcc8 ) 803fb40: fba2 1203 umull r1, r2, r2, r3 803fb44: 0b52 lsrs r2, r2, #13 803fb46: f242 7110 movw r1, #10000 ; 0x2710 803fb4a: fb01 f202 mul.w r2, r1, r2 803fb4e: 1a9a subs r2, r3, r2 803fb50: 4b5e ldr r3, [pc, #376] ; (803fccc ) 803fb52: fba3 1302 umull r1, r3, r3, r2 803fb56: 099b lsrs r3, r3, #6 803fb58: f44f 717a mov.w r1, #1000 ; 0x3e8 803fb5c: fb01 f303 mul.w r3, r1, r3 803fb60: 1ad3 subs r3, r2, r3 803fb62: 4a5b ldr r2, [pc, #364] ; (803fcd0 ) 803fb64: fba2 1203 umull r1, r2, r2, r3 803fb68: 0952 lsrs r2, r2, #5 803fb6a: 2164 movs r1, #100 ; 0x64 803fb6c: fb01 f202 mul.w r2, r1, r2 803fb70: 1a9a subs r2, r3, r2 803fb72: 4b58 ldr r3, [pc, #352] ; (803fcd4 ) 803fb74: fba3 1302 umull r1, r3, r3, r2 803fb78: 08d9 lsrs r1, r3, #3 803fb7a: 460b mov r3, r1 803fb7c: 009b lsls r3, r3, #2 803fb7e: 440b add r3, r1 803fb80: 005b lsls r3, r3, #1 803fb82: 1ad1 subs r1, r2, r3 803fb84: b2cb uxtb r3, r1 803fb86: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803fb8a: 4b4b ldr r3, [pc, #300] ; (803fcb8 ) 803fb8c: 781b ldrb r3, [r3, #0] 803fb8e: b2db uxtb r3, r3 803fb90: 3b26 subs r3, #38 ; 0x26 803fb92: 2b05 cmp r3, #5 803fb94: d869 bhi.n 803fc6a 803fb96: a201 add r2, pc, #4 ; (adr r2, 803fb9c ) 803fb98: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803fb9c: 0803fbb5 .word 0x0803fbb5 803fba0: 0803fbd5 .word 0x0803fbd5 803fba4: 0803fbf7 .word 0x0803fbf7 803fba8: 0803fc17 .word 0x0803fc17 803fbac: 0803fc33 .word 0x0803fc33 803fbb0: 0803fc4f .word 0x0803fc4f if(k > 100000) k -= 100000; 803fbb4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fbb8: 4a42 ldr r2, [pc, #264] ; (803fcc4 ) 803fbba: 4293 cmp r3, r2 803fbbc: d906 bls.n 803fbcc 803fbbe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fbc2: 4b45 ldr r3, [pc, #276] ; (803fcd8 ) 803fbc4: 4413 add r3, r2 803fbc6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fbca: e04e b.n 803fc6a else k = 0; 803fbcc: 2300 movs r3, #0 803fbce: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fbd2: e04a b.n 803fc6a if(k > 10000) k -= 10000; 803fbd4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fbd8: f242 7210 movw r2, #10000 ; 0x2710 803fbdc: 4293 cmp r3, r2 803fbde: d906 bls.n 803fbee 803fbe0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fbe4: 4b3d ldr r3, [pc, #244] ; (803fcdc ) 803fbe6: 4413 add r3, r2 803fbe8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fbec: e03d b.n 803fc6a else k = 0; 803fbee: 2300 movs r3, #0 803fbf0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fbf4: e039 b.n 803fc6a if(k > 1000) k -= 1000; 803fbf6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fbfa: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803fbfe: d906 bls.n 803fc0e 803fc00: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fc04: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803fc08: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fc0c: e02d b.n 803fc6a else k = 0; 803fc0e: 2300 movs r3, #0 803fc10: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fc14: e029 b.n 803fc6a if(k > 100) k -= 100; 803fc16: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fc1a: 2b64 cmp r3, #100 ; 0x64 803fc1c: d905 bls.n 803fc2a 803fc1e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fc22: 3b64 subs r3, #100 ; 0x64 803fc24: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fc28: e01f b.n 803fc6a else k = 0; 803fc2a: 2300 movs r3, #0 803fc2c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fc30: e01b b.n 803fc6a if(k > 10) k -= 10; 803fc32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fc36: 2b0a cmp r3, #10 803fc38: d905 bls.n 803fc46 803fc3a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fc3e: 3b0a subs r3, #10 803fc40: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fc44: e011 b.n 803fc6a else k = 0; 803fc46: 2300 movs r3, #0 803fc48: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fc4c: e00d b.n 803fc6a if(k > 1) k -= 1; 803fc4e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fc52: 2b01 cmp r3, #1 803fc54: d905 bls.n 803fc62 803fc56: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fc5a: 3b01 subs r3, #1 803fc5c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fc60: e002 b.n 803fc68 else k = 0; 803fc62: 2300 movs r3, #0 803fc64: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fc68: bf00 nop if(k == 0) k = 1; 803fc6a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fc6e: 2b00 cmp r3, #0 803fc70: d102 bne.n 803fc78 803fc72: 2301 movs r3, #1 803fc74: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803fc78: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fc7c: ee07 3a90 vmov s15, r3 803fc80: eef8 7a67 vcvt.f32.u32 s15, s15 803fc84: 4b0d ldr r3, [pc, #52] ; (803fcbc ) 803fc86: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803fc8a: 4b0c ldr r3, [pc, #48] ; (803fcbc ) 803fc8c: edd3 7a06 vldr s15, [r3, #24] 803fc90: ed9f 7a13 vldr s14, [pc, #76] ; 803fce0 803fc94: ee67 7a87 vmul.f32 s15, s15, s14 803fc98: 4b08 ldr r3, [pc, #32] ; (803fcbc ) 803fc9a: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803fc9e: 4b07 ldr r3, [pc, #28] ; (803fcbc ) 803fca0: edd3 7a06 vldr s15, [r3, #24] 803fca4: ed9f 7a0f vldr s14, [pc, #60] ; 803fce4 803fca8: ee77 7a87 vadd.f32 s15, s15, s14 803fcac: 4b03 ldr r3, [pc, #12] ; (803fcbc ) 803fcae: edc3 7a06 vstr s15, [r3, #24] 803fcb2: f000 bed9 b.w 8040a68 803fcb6: bf00 nop 803fcb8: 20020070 .word 0x20020070 803fcbc: 20023eb8 .word 0x20023eb8 803fcc0: 0a7c5ac5 .word 0x0a7c5ac5 803fcc4: 000186a0 .word 0x000186a0 803fcc8: d1b71759 .word 0xd1b71759 803fccc: 10624dd3 .word 0x10624dd3 803fcd0: 51eb851f .word 0x51eb851f 803fcd4: cccccccd .word 0xcccccccd 803fcd8: fffe7960 .word 0xfffe7960 803fcdc: ffffd8f0 .word 0xffffd8f0 803fce0: 3dcccccd .word 0x3dcccccd 803fce4: 3d4ccccd .word 0x3d4ccccd if((menupos >= D_Roll_IES) && (menupos <= D_Roll_IKT)) 803fce8: 4bb3 ldr r3, [pc, #716] ; (803ffb8 ) 803fcea: 781b ldrb r3, [r3, #0] 803fcec: b2db uxtb r3, r3 803fcee: 2b09 cmp r3, #9 803fcf0: f240 817c bls.w 803ffec 803fcf4: 4bb0 ldr r3, [pc, #704] ; (803ffb8 ) 803fcf6: 781b ldrb r3, [r3, #0] 803fcf8: b2db uxtb r3, r3 803fcfa: 2b0f cmp r3, #15 803fcfc: f200 8176 bhi.w 803ffec k = (uint32_t) (pardata.D_ROLL * 1000.0f); 803fd00: 4bae ldr r3, [pc, #696] ; (803ffbc ) 803fd02: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 803fd06: ed9f 7aae vldr s14, [pc, #696] ; 803ffc0 803fd0a: ee67 7a87 vmul.f32 s15, s15, s14 803fd0e: eefc 7ae7 vcvt.u32.f32 s15, s15 803fd12: ee17 3a90 vmov r3, s15 803fd16: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803fd1a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd1e: 095b lsrs r3, r3, #5 803fd20: 4aa8 ldr r2, [pc, #672] ; (803ffc4 ) 803fd22: fba2 2303 umull r2, r3, r2, r3 803fd26: 09db lsrs r3, r3, #7 803fd28: b2db uxtb r3, r3 803fd2a: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803fd2e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fd32: 0953 lsrs r3, r2, #5 803fd34: 49a3 ldr r1, [pc, #652] ; (803ffc4 ) 803fd36: fba1 1303 umull r1, r3, r1, r3 803fd3a: 09db lsrs r3, r3, #7 803fd3c: 49a2 ldr r1, [pc, #648] ; (803ffc8 ) 803fd3e: fb01 f303 mul.w r3, r1, r3 803fd42: 1ad3 subs r3, r2, r3 803fd44: 4aa1 ldr r2, [pc, #644] ; (803ffcc ) 803fd46: fba2 2303 umull r2, r3, r2, r3 803fd4a: 0b5b lsrs r3, r3, #13 803fd4c: b2db uxtb r3, r3 803fd4e: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803fd52: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fd56: 0953 lsrs r3, r2, #5 803fd58: 499a ldr r1, [pc, #616] ; (803ffc4 ) 803fd5a: fba1 1303 umull r1, r3, r1, r3 803fd5e: 09db lsrs r3, r3, #7 803fd60: 4999 ldr r1, [pc, #612] ; (803ffc8 ) 803fd62: fb01 f303 mul.w r3, r1, r3 803fd66: 1ad3 subs r3, r2, r3 803fd68: 4a98 ldr r2, [pc, #608] ; (803ffcc ) 803fd6a: fba2 1203 umull r1, r2, r2, r3 803fd6e: 0b52 lsrs r2, r2, #13 803fd70: f242 7110 movw r1, #10000 ; 0x2710 803fd74: fb01 f202 mul.w r2, r1, r2 803fd78: 1a9a subs r2, r3, r2 803fd7a: 4b95 ldr r3, [pc, #596] ; (803ffd0 ) 803fd7c: fba3 2302 umull r2, r3, r3, r2 803fd80: 099b lsrs r3, r3, #6 803fd82: b2db uxtb r3, r3 803fd84: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803fd88: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd8c: 095a lsrs r2, r3, #5 803fd8e: 498d ldr r1, [pc, #564] ; (803ffc4 ) 803fd90: fba1 1202 umull r1, r2, r1, r2 803fd94: 09d2 lsrs r2, r2, #7 803fd96: 498c ldr r1, [pc, #560] ; (803ffc8 ) 803fd98: fb01 f202 mul.w r2, r1, r2 803fd9c: 1a9a subs r2, r3, r2 803fd9e: 4b8b ldr r3, [pc, #556] ; (803ffcc ) 803fda0: fba3 1302 umull r1, r3, r3, r2 803fda4: 0b5b lsrs r3, r3, #13 803fda6: f242 7110 movw r1, #10000 ; 0x2710 803fdaa: fb01 f303 mul.w r3, r1, r3 803fdae: 1ad3 subs r3, r2, r3 803fdb0: 4a87 ldr r2, [pc, #540] ; (803ffd0 ) 803fdb2: fba2 1203 umull r1, r2, r2, r3 803fdb6: 0992 lsrs r2, r2, #6 803fdb8: f44f 717a mov.w r1, #1000 ; 0x3e8 803fdbc: fb01 f202 mul.w r2, r1, r2 803fdc0: 1a9a subs r2, r3, r2 803fdc2: 4b84 ldr r3, [pc, #528] ; (803ffd4 ) 803fdc4: fba3 2302 umull r2, r3, r3, r2 803fdc8: 095b lsrs r3, r3, #5 803fdca: b2db uxtb r3, r3 803fdcc: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803fdd0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fdd4: 0953 lsrs r3, r2, #5 803fdd6: 497b ldr r1, [pc, #492] ; (803ffc4 ) 803fdd8: fba1 1303 umull r1, r3, r1, r3 803fddc: 09db lsrs r3, r3, #7 803fdde: 497a ldr r1, [pc, #488] ; (803ffc8 ) 803fde0: fb01 f303 mul.w r3, r1, r3 803fde4: 1ad3 subs r3, r2, r3 803fde6: 4a79 ldr r2, [pc, #484] ; (803ffcc ) 803fde8: fba2 1203 umull r1, r2, r2, r3 803fdec: 0b52 lsrs r2, r2, #13 803fdee: f242 7110 movw r1, #10000 ; 0x2710 803fdf2: fb01 f202 mul.w r2, r1, r2 803fdf6: 1a9a subs r2, r3, r2 803fdf8: 4b75 ldr r3, [pc, #468] ; (803ffd0 ) 803fdfa: fba3 1302 umull r1, r3, r3, r2 803fdfe: 099b lsrs r3, r3, #6 803fe00: f44f 717a mov.w r1, #1000 ; 0x3e8 803fe04: fb01 f303 mul.w r3, r1, r3 803fe08: 1ad3 subs r3, r2, r3 803fe0a: 4a72 ldr r2, [pc, #456] ; (803ffd4 ) 803fe0c: fba2 1203 umull r1, r2, r2, r3 803fe10: 0952 lsrs r2, r2, #5 803fe12: 2164 movs r1, #100 ; 0x64 803fe14: fb01 f202 mul.w r2, r1, r2 803fe18: 1a9a subs r2, r3, r2 803fe1a: 4b6f ldr r3, [pc, #444] ; (803ffd8 ) 803fe1c: fba3 2302 umull r2, r3, r3, r2 803fe20: 08db lsrs r3, r3, #3 803fe22: b2db uxtb r3, r3 803fe24: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803fe28: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fe2c: 0953 lsrs r3, r2, #5 803fe2e: 4965 ldr r1, [pc, #404] ; (803ffc4 ) 803fe30: fba1 1303 umull r1, r3, r1, r3 803fe34: 09db lsrs r3, r3, #7 803fe36: 4964 ldr r1, [pc, #400] ; (803ffc8 ) 803fe38: fb01 f303 mul.w r3, r1, r3 803fe3c: 1ad3 subs r3, r2, r3 803fe3e: 4a63 ldr r2, [pc, #396] ; (803ffcc ) 803fe40: fba2 1203 umull r1, r2, r2, r3 803fe44: 0b52 lsrs r2, r2, #13 803fe46: f242 7110 movw r1, #10000 ; 0x2710 803fe4a: fb01 f202 mul.w r2, r1, r2 803fe4e: 1a9a subs r2, r3, r2 803fe50: 4b5f ldr r3, [pc, #380] ; (803ffd0 ) 803fe52: fba3 1302 umull r1, r3, r3, r2 803fe56: 099b lsrs r3, r3, #6 803fe58: f44f 717a mov.w r1, #1000 ; 0x3e8 803fe5c: fb01 f303 mul.w r3, r1, r3 803fe60: 1ad3 subs r3, r2, r3 803fe62: 4a5c ldr r2, [pc, #368] ; (803ffd4 ) 803fe64: fba2 1203 umull r1, r2, r2, r3 803fe68: 0952 lsrs r2, r2, #5 803fe6a: 2164 movs r1, #100 ; 0x64 803fe6c: fb01 f202 mul.w r2, r1, r2 803fe70: 1a9a subs r2, r3, r2 803fe72: 4b59 ldr r3, [pc, #356] ; (803ffd8 ) 803fe74: fba3 1302 umull r1, r3, r3, r2 803fe78: 08d9 lsrs r1, r3, #3 803fe7a: 460b mov r3, r1 803fe7c: 009b lsls r3, r3, #2 803fe7e: 440b add r3, r1 803fe80: 005b lsls r3, r3, #1 803fe82: 1ad1 subs r1, r2, r3 803fe84: b2cb uxtb r3, r1 803fe86: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803fe8a: 4b4b ldr r3, [pc, #300] ; (803ffb8 ) 803fe8c: 781b ldrb r3, [r3, #0] 803fe8e: b2db uxtb r3, r3 803fe90: 3b0a subs r3, #10 803fe92: 2b05 cmp r3, #5 803fe94: d869 bhi.n 803ff6a 803fe96: a201 add r2, pc, #4 ; (adr r2, 803fe9c ) 803fe98: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803fe9c: 0803feb5 .word 0x0803feb5 803fea0: 0803fed5 .word 0x0803fed5 803fea4: 0803fef7 .word 0x0803fef7 803fea8: 0803ff17 .word 0x0803ff17 803feac: 0803ff33 .word 0x0803ff33 803feb0: 0803ff4f .word 0x0803ff4f if(k > 100000) k -= 100000; 803feb4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803feb8: 4a43 ldr r2, [pc, #268] ; (803ffc8 ) 803feba: 4293 cmp r3, r2 803febc: d906 bls.n 803fecc 803febe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fec2: 4b46 ldr r3, [pc, #280] ; (803ffdc ) 803fec4: 4413 add r3, r2 803fec6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803feca: e04e b.n 803ff6a else k = 0; 803fecc: 2300 movs r3, #0 803fece: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fed2: e04a b.n 803ff6a if(k > 10000) k -= 10000; 803fed4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fed8: f242 7210 movw r2, #10000 ; 0x2710 803fedc: 4293 cmp r3, r2 803fede: d906 bls.n 803feee 803fee0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fee4: 4b3e ldr r3, [pc, #248] ; (803ffe0 ) 803fee6: 4413 add r3, r2 803fee8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803feec: e03d b.n 803ff6a else k = 0; 803feee: 2300 movs r3, #0 803fef0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fef4: e039 b.n 803ff6a if(k > 1000) k -= 1000; 803fef6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fefa: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803fefe: d906 bls.n 803ff0e 803ff00: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ff04: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803ff08: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ff0c: e02d b.n 803ff6a else k = 0; 803ff0e: 2300 movs r3, #0 803ff10: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ff14: e029 b.n 803ff6a if(k > 100) k -= 100; 803ff16: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ff1a: 2b64 cmp r3, #100 ; 0x64 803ff1c: d905 bls.n 803ff2a 803ff1e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ff22: 3b64 subs r3, #100 ; 0x64 803ff24: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ff28: e01f b.n 803ff6a else k = 0; 803ff2a: 2300 movs r3, #0 803ff2c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ff30: e01b b.n 803ff6a if(k > 10) k -= 10; 803ff32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ff36: 2b0a cmp r3, #10 803ff38: d905 bls.n 803ff46 803ff3a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ff3e: 3b0a subs r3, #10 803ff40: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ff44: e011 b.n 803ff6a else k = 0; 803ff46: 2300 movs r3, #0 803ff48: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ff4c: e00d b.n 803ff6a if(k > 1) k -= 1; 803ff4e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ff52: 2b01 cmp r3, #1 803ff54: d905 bls.n 803ff62 803ff56: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ff5a: 3b01 subs r3, #1 803ff5c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ff60: e002 b.n 803ff68 else k = 0; 803ff62: 2300 movs r3, #0 803ff64: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ff68: bf00 nop if(k == 0) k = 1; 803ff6a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ff6e: 2b00 cmp r3, #0 803ff70: d102 bne.n 803ff78 803ff72: 2301 movs r3, #1 803ff74: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_ROLL = (float32_t) k; 803ff78: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ff7c: ee07 3a90 vmov s15, r3 803ff80: eef8 7a67 vcvt.f32.u32 s15, s15 803ff84: 4b0d ldr r3, [pc, #52] ; (803ffbc ) 803ff86: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 pardata.D_ROLL *= 0.001f; 803ff8a: 4b0c ldr r3, [pc, #48] ; (803ffbc ) 803ff8c: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 803ff90: ed9f 7a14 vldr s14, [pc, #80] ; 803ffe4 803ff94: ee67 7a87 vmul.f32 s15, s15, s14 803ff98: 4b08 ldr r3, [pc, #32] ; (803ffbc ) 803ff9a: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 pardata.D_ROLL += 0.0005f; 803ff9e: 4b07 ldr r3, [pc, #28] ; (803ffbc ) 803ffa0: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 803ffa4: ed9f 7a10 vldr s14, [pc, #64] ; 803ffe8 803ffa8: ee77 7a87 vadd.f32 s15, s15, s14 803ffac: 4b03 ldr r3, [pc, #12] ; (803ffbc ) 803ffae: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 803ffb2: f000 bd59 b.w 8040a68 803ffb6: bf00 nop 803ffb8: 20020070 .word 0x20020070 803ffbc: 20023eb8 .word 0x20023eb8 803ffc0: 447a0000 .word 0x447a0000 803ffc4: 0a7c5ac5 .word 0x0a7c5ac5 803ffc8: 000186a0 .word 0x000186a0 803ffcc: d1b71759 .word 0xd1b71759 803ffd0: 10624dd3 .word 0x10624dd3 803ffd4: 51eb851f .word 0x51eb851f 803ffd8: cccccccd .word 0xcccccccd 803ffdc: fffe7960 .word 0xfffe7960 803ffe0: ffffd8f0 .word 0xffffd8f0 803ffe4: 3a83126f .word 0x3a83126f 803ffe8: 3a03126f .word 0x3a03126f if((menupos >= D_Outer_IES) && (menupos <= D_Outer_IKT)) 803ffec: 4bb2 ldr r3, [pc, #712] ; (80402b8 ) 803ffee: 781b ldrb r3, [r3, #0] 803fff0: b2db uxtb r3, r3 803fff2: 2b0f cmp r3, #15 803fff4: f240 817a bls.w 80402ec 803fff8: 4baf ldr r3, [pc, #700] ; (80402b8 ) 803fffa: 781b ldrb r3, [r3, #0] 803fffc: b2db uxtb r3, r3 803fffe: 2b15 cmp r3, #21 8040000: f200 8174 bhi.w 80402ec k = (uint32_t) (pardata.D_OUTER * 1000.0f); 8040004: 4bad ldr r3, [pc, #692] ; (80402bc ) 8040006: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 804000a: ed9f 7aad vldr s14, [pc, #692] ; 80402c0 804000e: ee67 7a87 vmul.f32 s15, s15, s14 8040012: eefc 7ae7 vcvt.u32.f32 s15, s15 8040016: ee17 3a90 vmov r3, s15 804001a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 804001e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040022: 095b lsrs r3, r3, #5 8040024: 4aa7 ldr r2, [pc, #668] ; (80402c4 ) 8040026: fba2 2303 umull r2, r3, r2, r3 804002a: 09db lsrs r3, r3, #7 804002c: b2db uxtb r3, r3 804002e: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8040032: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040036: 0953 lsrs r3, r2, #5 8040038: 49a2 ldr r1, [pc, #648] ; (80402c4 ) 804003a: fba1 1303 umull r1, r3, r1, r3 804003e: 09db lsrs r3, r3, #7 8040040: 49a1 ldr r1, [pc, #644] ; (80402c8 ) 8040042: fb01 f303 mul.w r3, r1, r3 8040046: 1ad3 subs r3, r2, r3 8040048: 4aa0 ldr r2, [pc, #640] ; (80402cc ) 804004a: fba2 2303 umull r2, r3, r2, r3 804004e: 0b5b lsrs r3, r3, #13 8040050: b2db uxtb r3, r3 8040052: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 8040056: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804005a: 0953 lsrs r3, r2, #5 804005c: 4999 ldr r1, [pc, #612] ; (80402c4 ) 804005e: fba1 1303 umull r1, r3, r1, r3 8040062: 09db lsrs r3, r3, #7 8040064: 4998 ldr r1, [pc, #608] ; (80402c8 ) 8040066: fb01 f303 mul.w r3, r1, r3 804006a: 1ad3 subs r3, r2, r3 804006c: 4a97 ldr r2, [pc, #604] ; (80402cc ) 804006e: fba2 1203 umull r1, r2, r2, r3 8040072: 0b52 lsrs r2, r2, #13 8040074: f242 7110 movw r1, #10000 ; 0x2710 8040078: fb01 f202 mul.w r2, r1, r2 804007c: 1a9a subs r2, r3, r2 804007e: 4b94 ldr r3, [pc, #592] ; (80402d0 ) 8040080: fba3 2302 umull r2, r3, r3, r2 8040084: 099b lsrs r3, r3, #6 8040086: b2db uxtb r3, r3 8040088: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 804008c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040090: 095a lsrs r2, r3, #5 8040092: 498c ldr r1, [pc, #560] ; (80402c4 ) 8040094: fba1 1202 umull r1, r2, r1, r2 8040098: 09d2 lsrs r2, r2, #7 804009a: 498b ldr r1, [pc, #556] ; (80402c8 ) 804009c: fb01 f202 mul.w r2, r1, r2 80400a0: 1a9a subs r2, r3, r2 80400a2: 4b8a ldr r3, [pc, #552] ; (80402cc ) 80400a4: fba3 1302 umull r1, r3, r3, r2 80400a8: 0b5b lsrs r3, r3, #13 80400aa: f242 7110 movw r1, #10000 ; 0x2710 80400ae: fb01 f303 mul.w r3, r1, r3 80400b2: 1ad3 subs r3, r2, r3 80400b4: 4a86 ldr r2, [pc, #536] ; (80402d0 ) 80400b6: fba2 1203 umull r1, r2, r2, r3 80400ba: 0992 lsrs r2, r2, #6 80400bc: f44f 717a mov.w r1, #1000 ; 0x3e8 80400c0: fb01 f202 mul.w r2, r1, r2 80400c4: 1a9a subs r2, r3, r2 80400c6: 4b83 ldr r3, [pc, #524] ; (80402d4 ) 80400c8: fba3 2302 umull r2, r3, r3, r2 80400cc: 095b lsrs r3, r3, #5 80400ce: b2db uxtb r3, r3 80400d0: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80400d4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80400d8: 0953 lsrs r3, r2, #5 80400da: 497a ldr r1, [pc, #488] ; (80402c4 ) 80400dc: fba1 1303 umull r1, r3, r1, r3 80400e0: 09db lsrs r3, r3, #7 80400e2: 4979 ldr r1, [pc, #484] ; (80402c8 ) 80400e4: fb01 f303 mul.w r3, r1, r3 80400e8: 1ad3 subs r3, r2, r3 80400ea: 4a78 ldr r2, [pc, #480] ; (80402cc ) 80400ec: fba2 1203 umull r1, r2, r2, r3 80400f0: 0b52 lsrs r2, r2, #13 80400f2: f242 7110 movw r1, #10000 ; 0x2710 80400f6: fb01 f202 mul.w r2, r1, r2 80400fa: 1a9a subs r2, r3, r2 80400fc: 4b74 ldr r3, [pc, #464] ; (80402d0 ) 80400fe: fba3 1302 umull r1, r3, r3, r2 8040102: 099b lsrs r3, r3, #6 8040104: f44f 717a mov.w r1, #1000 ; 0x3e8 8040108: fb01 f303 mul.w r3, r1, r3 804010c: 1ad3 subs r3, r2, r3 804010e: 4a71 ldr r2, [pc, #452] ; (80402d4 ) 8040110: fba2 1203 umull r1, r2, r2, r3 8040114: 0952 lsrs r2, r2, #5 8040116: 2164 movs r1, #100 ; 0x64 8040118: fb01 f202 mul.w r2, r1, r2 804011c: 1a9a subs r2, r3, r2 804011e: 4b6e ldr r3, [pc, #440] ; (80402d8 ) 8040120: fba3 2302 umull r2, r3, r3, r2 8040124: 08db lsrs r3, r3, #3 8040126: b2db uxtb r3, r3 8040128: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 804012c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040130: 0953 lsrs r3, r2, #5 8040132: 4964 ldr r1, [pc, #400] ; (80402c4 ) 8040134: fba1 1303 umull r1, r3, r1, r3 8040138: 09db lsrs r3, r3, #7 804013a: 4963 ldr r1, [pc, #396] ; (80402c8 ) 804013c: fb01 f303 mul.w r3, r1, r3 8040140: 1ad3 subs r3, r2, r3 8040142: 4a62 ldr r2, [pc, #392] ; (80402cc ) 8040144: fba2 1203 umull r1, r2, r2, r3 8040148: 0b52 lsrs r2, r2, #13 804014a: f242 7110 movw r1, #10000 ; 0x2710 804014e: fb01 f202 mul.w r2, r1, r2 8040152: 1a9a subs r2, r3, r2 8040154: 4b5e ldr r3, [pc, #376] ; (80402d0 ) 8040156: fba3 1302 umull r1, r3, r3, r2 804015a: 099b lsrs r3, r3, #6 804015c: f44f 717a mov.w r1, #1000 ; 0x3e8 8040160: fb01 f303 mul.w r3, r1, r3 8040164: 1ad3 subs r3, r2, r3 8040166: 4a5b ldr r2, [pc, #364] ; (80402d4 ) 8040168: fba2 1203 umull r1, r2, r2, r3 804016c: 0952 lsrs r2, r2, #5 804016e: 2164 movs r1, #100 ; 0x64 8040170: fb01 f202 mul.w r2, r1, r2 8040174: 1a9a subs r2, r3, r2 8040176: 4b58 ldr r3, [pc, #352] ; (80402d8 ) 8040178: fba3 1302 umull r1, r3, r3, r2 804017c: 08d9 lsrs r1, r3, #3 804017e: 460b mov r3, r1 8040180: 009b lsls r3, r3, #2 8040182: 440b add r3, r1 8040184: 005b lsls r3, r3, #1 8040186: 1ad1 subs r1, r2, r3 8040188: b2cb uxtb r3, r1 804018a: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 804018e: 4b4a ldr r3, [pc, #296] ; (80402b8 ) 8040190: 781b ldrb r3, [r3, #0] 8040192: b2db uxtb r3, r3 8040194: 3b10 subs r3, #16 8040196: 2b05 cmp r3, #5 8040198: d869 bhi.n 804026e 804019a: a201 add r2, pc, #4 ; (adr r2, 80401a0 ) 804019c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80401a0: 080401b9 .word 0x080401b9 80401a4: 080401d9 .word 0x080401d9 80401a8: 080401fb .word 0x080401fb 80401ac: 0804021b .word 0x0804021b 80401b0: 08040237 .word 0x08040237 80401b4: 08040253 .word 0x08040253 if(k > 100000) k -= 100000; 80401b8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80401bc: 4a42 ldr r2, [pc, #264] ; (80402c8 ) 80401be: 4293 cmp r3, r2 80401c0: d906 bls.n 80401d0 80401c2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80401c6: 4b45 ldr r3, [pc, #276] ; (80402dc ) 80401c8: 4413 add r3, r2 80401ca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80401ce: e04e b.n 804026e else k = 0; 80401d0: 2300 movs r3, #0 80401d2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80401d6: e04a b.n 804026e if(k > 10000) k -= 10000; 80401d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80401dc: f242 7210 movw r2, #10000 ; 0x2710 80401e0: 4293 cmp r3, r2 80401e2: d906 bls.n 80401f2 80401e4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80401e8: 4b3d ldr r3, [pc, #244] ; (80402e0 ) 80401ea: 4413 add r3, r2 80401ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80401f0: e03d b.n 804026e else k = 0; 80401f2: 2300 movs r3, #0 80401f4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80401f8: e039 b.n 804026e if(k > 1000) k -= 1000; 80401fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80401fe: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8040202: d906 bls.n 8040212 8040204: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040208: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 804020c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040210: e02d b.n 804026e else k = 0; 8040212: 2300 movs r3, #0 8040214: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040218: e029 b.n 804026e if(k > 100) k -= 100; 804021a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804021e: 2b64 cmp r3, #100 ; 0x64 8040220: d905 bls.n 804022e 8040222: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040226: 3b64 subs r3, #100 ; 0x64 8040228: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804022c: e01f b.n 804026e else k = 0; 804022e: 2300 movs r3, #0 8040230: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040234: e01b b.n 804026e if(k > 10) k -= 10; 8040236: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804023a: 2b0a cmp r3, #10 804023c: d905 bls.n 804024a 804023e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040242: 3b0a subs r3, #10 8040244: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040248: e011 b.n 804026e else k = 0; 804024a: 2300 movs r3, #0 804024c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040250: e00d b.n 804026e if(k > 1) k -= 1; 8040252: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040256: 2b01 cmp r3, #1 8040258: d905 bls.n 8040266 804025a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804025e: 3b01 subs r3, #1 8040260: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040264: e002 b.n 804026c else k = 0; 8040266: 2300 movs r3, #0 8040268: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804026c: bf00 nop if(k == 0) k = 1; 804026e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040272: 2b00 cmp r3, #0 8040274: d102 bne.n 804027c 8040276: 2301 movs r3, #1 8040278: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_OUTER = (float32_t) k; 804027c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040280: ee07 3a90 vmov s15, r3 8040284: eef8 7a67 vcvt.f32.u32 s15, s15 8040288: 4b0c ldr r3, [pc, #48] ; (80402bc ) 804028a: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 pardata.D_OUTER *= 0.001f; 804028e: 4b0b ldr r3, [pc, #44] ; (80402bc ) 8040290: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 8040294: ed9f 7a13 vldr s14, [pc, #76] ; 80402e4 8040298: ee67 7a87 vmul.f32 s15, s15, s14 804029c: 4b07 ldr r3, [pc, #28] ; (80402bc ) 804029e: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 pardata.D_OUTER += 0.0005f; 80402a2: 4b06 ldr r3, [pc, #24] ; (80402bc ) 80402a4: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 80402a8: ed9f 7a0f vldr s14, [pc, #60] ; 80402e8 80402ac: ee77 7a87 vadd.f32 s15, s15, s14 80402b0: 4b02 ldr r3, [pc, #8] ; (80402bc ) 80402b2: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 80402b6: e3d7 b.n 8040a68 80402b8: 20020070 .word 0x20020070 80402bc: 20023eb8 .word 0x20023eb8 80402c0: 447a0000 .word 0x447a0000 80402c4: 0a7c5ac5 .word 0x0a7c5ac5 80402c8: 000186a0 .word 0x000186a0 80402cc: d1b71759 .word 0xd1b71759 80402d0: 10624dd3 .word 0x10624dd3 80402d4: 51eb851f .word 0x51eb851f 80402d8: cccccccd .word 0xcccccccd 80402dc: fffe7960 .word 0xfffe7960 80402e0: ffffd8f0 .word 0xffffd8f0 80402e4: 3a83126f .word 0x3a83126f 80402e8: 3a03126f .word 0x3a03126f if((menupos >= D_Inner_IES) && (menupos <= D_Inner_IKT)) 80402ec: 4bb2 ldr r3, [pc, #712] ; (80405b8 ) 80402ee: 781b ldrb r3, [r3, #0] 80402f0: b2db uxtb r3, r3 80402f2: 2b15 cmp r3, #21 80402f4: f240 817a bls.w 80405ec 80402f8: 4baf ldr r3, [pc, #700] ; (80405b8 ) 80402fa: 781b ldrb r3, [r3, #0] 80402fc: b2db uxtb r3, r3 80402fe: 2b1b cmp r3, #27 8040300: f200 8174 bhi.w 80405ec k = (uint32_t) (pardata.D_INNER * 1000.0f); 8040304: 4bad ldr r3, [pc, #692] ; (80405bc ) 8040306: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 804030a: ed9f 7aad vldr s14, [pc, #692] ; 80405c0 804030e: ee67 7a87 vmul.f32 s15, s15, s14 8040312: eefc 7ae7 vcvt.u32.f32 s15, s15 8040316: ee17 3a90 vmov r3, s15 804031a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 804031e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040322: 095b lsrs r3, r3, #5 8040324: 4aa7 ldr r2, [pc, #668] ; (80405c4 ) 8040326: fba2 2303 umull r2, r3, r2, r3 804032a: 09db lsrs r3, r3, #7 804032c: b2db uxtb r3, r3 804032e: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8040332: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040336: 0953 lsrs r3, r2, #5 8040338: 49a2 ldr r1, [pc, #648] ; (80405c4 ) 804033a: fba1 1303 umull r1, r3, r1, r3 804033e: 09db lsrs r3, r3, #7 8040340: 49a1 ldr r1, [pc, #644] ; (80405c8 ) 8040342: fb01 f303 mul.w r3, r1, r3 8040346: 1ad3 subs r3, r2, r3 8040348: 4aa0 ldr r2, [pc, #640] ; (80405cc ) 804034a: fba2 2303 umull r2, r3, r2, r3 804034e: 0b5b lsrs r3, r3, #13 8040350: b2db uxtb r3, r3 8040352: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 8040356: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804035a: 0953 lsrs r3, r2, #5 804035c: 4999 ldr r1, [pc, #612] ; (80405c4 ) 804035e: fba1 1303 umull r1, r3, r1, r3 8040362: 09db lsrs r3, r3, #7 8040364: 4998 ldr r1, [pc, #608] ; (80405c8 ) 8040366: fb01 f303 mul.w r3, r1, r3 804036a: 1ad3 subs r3, r2, r3 804036c: 4a97 ldr r2, [pc, #604] ; (80405cc ) 804036e: fba2 1203 umull r1, r2, r2, r3 8040372: 0b52 lsrs r2, r2, #13 8040374: f242 7110 movw r1, #10000 ; 0x2710 8040378: fb01 f202 mul.w r2, r1, r2 804037c: 1a9a subs r2, r3, r2 804037e: 4b94 ldr r3, [pc, #592] ; (80405d0 ) 8040380: fba3 2302 umull r2, r3, r3, r2 8040384: 099b lsrs r3, r3, #6 8040386: b2db uxtb r3, r3 8040388: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 804038c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040390: 095a lsrs r2, r3, #5 8040392: 498c ldr r1, [pc, #560] ; (80405c4 ) 8040394: fba1 1202 umull r1, r2, r1, r2 8040398: 09d2 lsrs r2, r2, #7 804039a: 498b ldr r1, [pc, #556] ; (80405c8 ) 804039c: fb01 f202 mul.w r2, r1, r2 80403a0: 1a9a subs r2, r3, r2 80403a2: 4b8a ldr r3, [pc, #552] ; (80405cc ) 80403a4: fba3 1302 umull r1, r3, r3, r2 80403a8: 0b5b lsrs r3, r3, #13 80403aa: f242 7110 movw r1, #10000 ; 0x2710 80403ae: fb01 f303 mul.w r3, r1, r3 80403b2: 1ad3 subs r3, r2, r3 80403b4: 4a86 ldr r2, [pc, #536] ; (80405d0 ) 80403b6: fba2 1203 umull r1, r2, r2, r3 80403ba: 0992 lsrs r2, r2, #6 80403bc: f44f 717a mov.w r1, #1000 ; 0x3e8 80403c0: fb01 f202 mul.w r2, r1, r2 80403c4: 1a9a subs r2, r3, r2 80403c6: 4b83 ldr r3, [pc, #524] ; (80405d4 ) 80403c8: fba3 2302 umull r2, r3, r3, r2 80403cc: 095b lsrs r3, r3, #5 80403ce: b2db uxtb r3, r3 80403d0: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80403d4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80403d8: 0953 lsrs r3, r2, #5 80403da: 497a ldr r1, [pc, #488] ; (80405c4 ) 80403dc: fba1 1303 umull r1, r3, r1, r3 80403e0: 09db lsrs r3, r3, #7 80403e2: 4979 ldr r1, [pc, #484] ; (80405c8 ) 80403e4: fb01 f303 mul.w r3, r1, r3 80403e8: 1ad3 subs r3, r2, r3 80403ea: 4a78 ldr r2, [pc, #480] ; (80405cc ) 80403ec: fba2 1203 umull r1, r2, r2, r3 80403f0: 0b52 lsrs r2, r2, #13 80403f2: f242 7110 movw r1, #10000 ; 0x2710 80403f6: fb01 f202 mul.w r2, r1, r2 80403fa: 1a9a subs r2, r3, r2 80403fc: 4b74 ldr r3, [pc, #464] ; (80405d0 ) 80403fe: fba3 1302 umull r1, r3, r3, r2 8040402: 099b lsrs r3, r3, #6 8040404: f44f 717a mov.w r1, #1000 ; 0x3e8 8040408: fb01 f303 mul.w r3, r1, r3 804040c: 1ad3 subs r3, r2, r3 804040e: 4a71 ldr r2, [pc, #452] ; (80405d4 ) 8040410: fba2 1203 umull r1, r2, r2, r3 8040414: 0952 lsrs r2, r2, #5 8040416: 2164 movs r1, #100 ; 0x64 8040418: fb01 f202 mul.w r2, r1, r2 804041c: 1a9a subs r2, r3, r2 804041e: 4b6e ldr r3, [pc, #440] ; (80405d8 ) 8040420: fba3 2302 umull r2, r3, r3, r2 8040424: 08db lsrs r3, r3, #3 8040426: b2db uxtb r3, r3 8040428: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 804042c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040430: 0953 lsrs r3, r2, #5 8040432: 4964 ldr r1, [pc, #400] ; (80405c4 ) 8040434: fba1 1303 umull r1, r3, r1, r3 8040438: 09db lsrs r3, r3, #7 804043a: 4963 ldr r1, [pc, #396] ; (80405c8 ) 804043c: fb01 f303 mul.w r3, r1, r3 8040440: 1ad3 subs r3, r2, r3 8040442: 4a62 ldr r2, [pc, #392] ; (80405cc ) 8040444: fba2 1203 umull r1, r2, r2, r3 8040448: 0b52 lsrs r2, r2, #13 804044a: f242 7110 movw r1, #10000 ; 0x2710 804044e: fb01 f202 mul.w r2, r1, r2 8040452: 1a9a subs r2, r3, r2 8040454: 4b5e ldr r3, [pc, #376] ; (80405d0 ) 8040456: fba3 1302 umull r1, r3, r3, r2 804045a: 099b lsrs r3, r3, #6 804045c: f44f 717a mov.w r1, #1000 ; 0x3e8 8040460: fb01 f303 mul.w r3, r1, r3 8040464: 1ad3 subs r3, r2, r3 8040466: 4a5b ldr r2, [pc, #364] ; (80405d4 ) 8040468: fba2 1203 umull r1, r2, r2, r3 804046c: 0952 lsrs r2, r2, #5 804046e: 2164 movs r1, #100 ; 0x64 8040470: fb01 f202 mul.w r2, r1, r2 8040474: 1a9a subs r2, r3, r2 8040476: 4b58 ldr r3, [pc, #352] ; (80405d8 ) 8040478: fba3 1302 umull r1, r3, r3, r2 804047c: 08d9 lsrs r1, r3, #3 804047e: 460b mov r3, r1 8040480: 009b lsls r3, r3, #2 8040482: 440b add r3, r1 8040484: 005b lsls r3, r3, #1 8040486: 1ad1 subs r1, r2, r3 8040488: b2cb uxtb r3, r1 804048a: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 804048e: 4b4a ldr r3, [pc, #296] ; (80405b8 ) 8040490: 781b ldrb r3, [r3, #0] 8040492: b2db uxtb r3, r3 8040494: 3b16 subs r3, #22 8040496: 2b05 cmp r3, #5 8040498: d869 bhi.n 804056e 804049a: a201 add r2, pc, #4 ; (adr r2, 80404a0 ) 804049c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80404a0: 080404b9 .word 0x080404b9 80404a4: 080404d9 .word 0x080404d9 80404a8: 080404fb .word 0x080404fb 80404ac: 0804051b .word 0x0804051b 80404b0: 08040537 .word 0x08040537 80404b4: 08040553 .word 0x08040553 if(k > 100000) k -= 100000; 80404b8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80404bc: 4a42 ldr r2, [pc, #264] ; (80405c8 ) 80404be: 4293 cmp r3, r2 80404c0: d906 bls.n 80404d0 80404c2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80404c6: 4b45 ldr r3, [pc, #276] ; (80405dc ) 80404c8: 4413 add r3, r2 80404ca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80404ce: e04e b.n 804056e else k = 0; 80404d0: 2300 movs r3, #0 80404d2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80404d6: e04a b.n 804056e if(k > 10000) k -= 10000; 80404d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80404dc: f242 7210 movw r2, #10000 ; 0x2710 80404e0: 4293 cmp r3, r2 80404e2: d906 bls.n 80404f2 80404e4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80404e8: 4b3d ldr r3, [pc, #244] ; (80405e0 ) 80404ea: 4413 add r3, r2 80404ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80404f0: e03d b.n 804056e else k = 0; 80404f2: 2300 movs r3, #0 80404f4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80404f8: e039 b.n 804056e if(k > 1000) k -= 1000; 80404fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80404fe: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8040502: d906 bls.n 8040512 8040504: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040508: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 804050c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040510: e02d b.n 804056e else k = 0; 8040512: 2300 movs r3, #0 8040514: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040518: e029 b.n 804056e if(k > 100) k -= 100; 804051a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804051e: 2b64 cmp r3, #100 ; 0x64 8040520: d905 bls.n 804052e 8040522: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040526: 3b64 subs r3, #100 ; 0x64 8040528: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804052c: e01f b.n 804056e else k = 0; 804052e: 2300 movs r3, #0 8040530: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040534: e01b b.n 804056e if(k > 10) k -= 10; 8040536: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804053a: 2b0a cmp r3, #10 804053c: d905 bls.n 804054a 804053e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040542: 3b0a subs r3, #10 8040544: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040548: e011 b.n 804056e else k = 0; 804054a: 2300 movs r3, #0 804054c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040550: e00d b.n 804056e if(k > 1) k -= 1; 8040552: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040556: 2b01 cmp r3, #1 8040558: d905 bls.n 8040566 804055a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804055e: 3b01 subs r3, #1 8040560: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040564: e002 b.n 804056c else k = 0; 8040566: 2300 movs r3, #0 8040568: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804056c: bf00 nop if(k == 0) k = 1; 804056e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040572: 2b00 cmp r3, #0 8040574: d102 bne.n 804057c 8040576: 2301 movs r3, #1 8040578: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_INNER = (float32_t) k; 804057c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040580: ee07 3a90 vmov s15, r3 8040584: eef8 7a67 vcvt.f32.u32 s15, s15 8040588: 4b0c ldr r3, [pc, #48] ; (80405bc ) 804058a: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER *= 0.001f; 804058e: 4b0b ldr r3, [pc, #44] ; (80405bc ) 8040590: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 8040594: ed9f 7a13 vldr s14, [pc, #76] ; 80405e4 8040598: ee67 7a87 vmul.f32 s15, s15, s14 804059c: 4b07 ldr r3, [pc, #28] ; (80405bc ) 804059e: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER += 0.0005f; 80405a2: 4b06 ldr r3, [pc, #24] ; (80405bc ) 80405a4: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 80405a8: ed9f 7a0f vldr s14, [pc, #60] ; 80405e8 80405ac: ee77 7a87 vadd.f32 s15, s15, s14 80405b0: 4b02 ldr r3, [pc, #8] ; (80405bc ) 80405b2: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 80405b6: e257 b.n 8040a68 80405b8: 20020070 .word 0x20020070 80405bc: 20023eb8 .word 0x20023eb8 80405c0: 447a0000 .word 0x447a0000 80405c4: 0a7c5ac5 .word 0x0a7c5ac5 80405c8: 000186a0 .word 0x000186a0 80405cc: d1b71759 .word 0xd1b71759 80405d0: 10624dd3 .word 0x10624dd3 80405d4: 51eb851f .word 0x51eb851f 80405d8: cccccccd .word 0xcccccccd 80405dc: fffe7960 .word 0xfffe7960 80405e0: ffffd8f0 .word 0xffffd8f0 80405e4: 3a83126f .word 0x3a83126f 80405e8: 3a03126f .word 0x3a03126f if((menupos >= D_Angle_IES) && (menupos <= D_Angle_IKT)) 80405ec: 4bb2 ldr r3, [pc, #712] ; (80408b8 ) 80405ee: 781b ldrb r3, [r3, #0] 80405f0: b2db uxtb r3, r3 80405f2: 2b1b cmp r3, #27 80405f4: f240 817a bls.w 80408ec 80405f8: 4baf ldr r3, [pc, #700] ; (80408b8 ) 80405fa: 781b ldrb r3, [r3, #0] 80405fc: b2db uxtb r3, r3 80405fe: 2b21 cmp r3, #33 ; 0x21 8040600: f200 8174 bhi.w 80408ec k = (uint32_t) (pardata.D_ANGLE * 1000.0f); 8040604: 4bad ldr r3, [pc, #692] ; (80408bc ) 8040606: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 804060a: ed9f 7aad vldr s14, [pc, #692] ; 80408c0 804060e: ee67 7a87 vmul.f32 s15, s15, s14 8040612: eefc 7ae7 vcvt.u32.f32 s15, s15 8040616: ee17 3a90 vmov r3, s15 804061a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 804061e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040622: 095b lsrs r3, r3, #5 8040624: 4aa7 ldr r2, [pc, #668] ; (80408c4 ) 8040626: fba2 2303 umull r2, r3, r2, r3 804062a: 09db lsrs r3, r3, #7 804062c: b2db uxtb r3, r3 804062e: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8040632: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040636: 0953 lsrs r3, r2, #5 8040638: 49a2 ldr r1, [pc, #648] ; (80408c4 ) 804063a: fba1 1303 umull r1, r3, r1, r3 804063e: 09db lsrs r3, r3, #7 8040640: 49a1 ldr r1, [pc, #644] ; (80408c8 ) 8040642: fb01 f303 mul.w r3, r1, r3 8040646: 1ad3 subs r3, r2, r3 8040648: 4aa0 ldr r2, [pc, #640] ; (80408cc ) 804064a: fba2 2303 umull r2, r3, r2, r3 804064e: 0b5b lsrs r3, r3, #13 8040650: b2db uxtb r3, r3 8040652: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 8040656: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804065a: 0953 lsrs r3, r2, #5 804065c: 4999 ldr r1, [pc, #612] ; (80408c4 ) 804065e: fba1 1303 umull r1, r3, r1, r3 8040662: 09db lsrs r3, r3, #7 8040664: 4998 ldr r1, [pc, #608] ; (80408c8 ) 8040666: fb01 f303 mul.w r3, r1, r3 804066a: 1ad3 subs r3, r2, r3 804066c: 4a97 ldr r2, [pc, #604] ; (80408cc ) 804066e: fba2 1203 umull r1, r2, r2, r3 8040672: 0b52 lsrs r2, r2, #13 8040674: f242 7110 movw r1, #10000 ; 0x2710 8040678: fb01 f202 mul.w r2, r1, r2 804067c: 1a9a subs r2, r3, r2 804067e: 4b94 ldr r3, [pc, #592] ; (80408d0 ) 8040680: fba3 2302 umull r2, r3, r3, r2 8040684: 099b lsrs r3, r3, #6 8040686: b2db uxtb r3, r3 8040688: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 804068c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040690: 095a lsrs r2, r3, #5 8040692: 498c ldr r1, [pc, #560] ; (80408c4 ) 8040694: fba1 1202 umull r1, r2, r1, r2 8040698: 09d2 lsrs r2, r2, #7 804069a: 498b ldr r1, [pc, #556] ; (80408c8 ) 804069c: fb01 f202 mul.w r2, r1, r2 80406a0: 1a9a subs r2, r3, r2 80406a2: 4b8a ldr r3, [pc, #552] ; (80408cc ) 80406a4: fba3 1302 umull r1, r3, r3, r2 80406a8: 0b5b lsrs r3, r3, #13 80406aa: f242 7110 movw r1, #10000 ; 0x2710 80406ae: fb01 f303 mul.w r3, r1, r3 80406b2: 1ad3 subs r3, r2, r3 80406b4: 4a86 ldr r2, [pc, #536] ; (80408d0 ) 80406b6: fba2 1203 umull r1, r2, r2, r3 80406ba: 0992 lsrs r2, r2, #6 80406bc: f44f 717a mov.w r1, #1000 ; 0x3e8 80406c0: fb01 f202 mul.w r2, r1, r2 80406c4: 1a9a subs r2, r3, r2 80406c6: 4b83 ldr r3, [pc, #524] ; (80408d4 ) 80406c8: fba3 2302 umull r2, r3, r3, r2 80406cc: 095b lsrs r3, r3, #5 80406ce: b2db uxtb r3, r3 80406d0: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80406d4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80406d8: 0953 lsrs r3, r2, #5 80406da: 497a ldr r1, [pc, #488] ; (80408c4 ) 80406dc: fba1 1303 umull r1, r3, r1, r3 80406e0: 09db lsrs r3, r3, #7 80406e2: 4979 ldr r1, [pc, #484] ; (80408c8 ) 80406e4: fb01 f303 mul.w r3, r1, r3 80406e8: 1ad3 subs r3, r2, r3 80406ea: 4a78 ldr r2, [pc, #480] ; (80408cc ) 80406ec: fba2 1203 umull r1, r2, r2, r3 80406f0: 0b52 lsrs r2, r2, #13 80406f2: f242 7110 movw r1, #10000 ; 0x2710 80406f6: fb01 f202 mul.w r2, r1, r2 80406fa: 1a9a subs r2, r3, r2 80406fc: 4b74 ldr r3, [pc, #464] ; (80408d0 ) 80406fe: fba3 1302 umull r1, r3, r3, r2 8040702: 099b lsrs r3, r3, #6 8040704: f44f 717a mov.w r1, #1000 ; 0x3e8 8040708: fb01 f303 mul.w r3, r1, r3 804070c: 1ad3 subs r3, r2, r3 804070e: 4a71 ldr r2, [pc, #452] ; (80408d4 ) 8040710: fba2 1203 umull r1, r2, r2, r3 8040714: 0952 lsrs r2, r2, #5 8040716: 2164 movs r1, #100 ; 0x64 8040718: fb01 f202 mul.w r2, r1, r2 804071c: 1a9a subs r2, r3, r2 804071e: 4b6e ldr r3, [pc, #440] ; (80408d8 ) 8040720: fba3 2302 umull r2, r3, r3, r2 8040724: 08db lsrs r3, r3, #3 8040726: b2db uxtb r3, r3 8040728: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 804072c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040730: 0953 lsrs r3, r2, #5 8040732: 4964 ldr r1, [pc, #400] ; (80408c4 ) 8040734: fba1 1303 umull r1, r3, r1, r3 8040738: 09db lsrs r3, r3, #7 804073a: 4963 ldr r1, [pc, #396] ; (80408c8 ) 804073c: fb01 f303 mul.w r3, r1, r3 8040740: 1ad3 subs r3, r2, r3 8040742: 4a62 ldr r2, [pc, #392] ; (80408cc ) 8040744: fba2 1203 umull r1, r2, r2, r3 8040748: 0b52 lsrs r2, r2, #13 804074a: f242 7110 movw r1, #10000 ; 0x2710 804074e: fb01 f202 mul.w r2, r1, r2 8040752: 1a9a subs r2, r3, r2 8040754: 4b5e ldr r3, [pc, #376] ; (80408d0 ) 8040756: fba3 1302 umull r1, r3, r3, r2 804075a: 099b lsrs r3, r3, #6 804075c: f44f 717a mov.w r1, #1000 ; 0x3e8 8040760: fb01 f303 mul.w r3, r1, r3 8040764: 1ad3 subs r3, r2, r3 8040766: 4a5b ldr r2, [pc, #364] ; (80408d4 ) 8040768: fba2 1203 umull r1, r2, r2, r3 804076c: 0952 lsrs r2, r2, #5 804076e: 2164 movs r1, #100 ; 0x64 8040770: fb01 f202 mul.w r2, r1, r2 8040774: 1a9a subs r2, r3, r2 8040776: 4b58 ldr r3, [pc, #352] ; (80408d8 ) 8040778: fba3 1302 umull r1, r3, r3, r2 804077c: 08d9 lsrs r1, r3, #3 804077e: 460b mov r3, r1 8040780: 009b lsls r3, r3, #2 8040782: 440b add r3, r1 8040784: 005b lsls r3, r3, #1 8040786: 1ad1 subs r1, r2, r3 8040788: b2cb uxtb r3, r1 804078a: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 804078e: 4b4a ldr r3, [pc, #296] ; (80408b8 ) 8040790: 781b ldrb r3, [r3, #0] 8040792: b2db uxtb r3, r3 8040794: 3b1c subs r3, #28 8040796: 2b05 cmp r3, #5 8040798: d869 bhi.n 804086e 804079a: a201 add r2, pc, #4 ; (adr r2, 80407a0 ) 804079c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80407a0: 080407b9 .word 0x080407b9 80407a4: 080407d9 .word 0x080407d9 80407a8: 080407fb .word 0x080407fb 80407ac: 0804081b .word 0x0804081b 80407b0: 08040837 .word 0x08040837 80407b4: 08040853 .word 0x08040853 if(k > 100000) k -= 100000; 80407b8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80407bc: 4a42 ldr r2, [pc, #264] ; (80408c8 ) 80407be: 4293 cmp r3, r2 80407c0: d906 bls.n 80407d0 80407c2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80407c6: 4b45 ldr r3, [pc, #276] ; (80408dc ) 80407c8: 4413 add r3, r2 80407ca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80407ce: e04e b.n 804086e else k = 0; 80407d0: 2300 movs r3, #0 80407d2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80407d6: e04a b.n 804086e if(k > 10000) k -= 10000; 80407d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80407dc: f242 7210 movw r2, #10000 ; 0x2710 80407e0: 4293 cmp r3, r2 80407e2: d906 bls.n 80407f2 80407e4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80407e8: 4b3d ldr r3, [pc, #244] ; (80408e0 ) 80407ea: 4413 add r3, r2 80407ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80407f0: e03d b.n 804086e else k = 0; 80407f2: 2300 movs r3, #0 80407f4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80407f8: e039 b.n 804086e if(k > 1000) k -= 1000; 80407fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80407fe: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8040802: d906 bls.n 8040812 8040804: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040808: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 804080c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040810: e02d b.n 804086e else k = 0; 8040812: 2300 movs r3, #0 8040814: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040818: e029 b.n 804086e if(k > 100) k -= 100; 804081a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804081e: 2b64 cmp r3, #100 ; 0x64 8040820: d905 bls.n 804082e 8040822: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040826: 3b64 subs r3, #100 ; 0x64 8040828: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804082c: e01f b.n 804086e else k = 0; 804082e: 2300 movs r3, #0 8040830: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040834: e01b b.n 804086e if(k > 10) k -= 10; 8040836: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804083a: 2b0a cmp r3, #10 804083c: d905 bls.n 804084a 804083e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040842: 3b0a subs r3, #10 8040844: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040848: e011 b.n 804086e else k = 0; 804084a: 2300 movs r3, #0 804084c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040850: e00d b.n 804086e if(k > 1) k -= 1; 8040852: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040856: 2b01 cmp r3, #1 8040858: d905 bls.n 8040866 804085a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804085e: 3b01 subs r3, #1 8040860: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040864: e002 b.n 804086c else k = 0; 8040866: 2300 movs r3, #0 8040868: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804086c: bf00 nop if(k == 0) k = 1; 804086e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040872: 2b00 cmp r3, #0 8040874: d102 bne.n 804087c 8040876: 2301 movs r3, #1 8040878: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_ANGLE = (float32_t) k; 804087c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040880: ee07 3a90 vmov s15, r3 8040884: eef8 7a67 vcvt.f32.u32 s15, s15 8040888: 4b0c ldr r3, [pc, #48] ; (80408bc ) 804088a: edc3 7a33 vstr s15, [r3, #204] ; 0xcc pardata.D_ANGLE *= 0.001f; 804088e: 4b0b ldr r3, [pc, #44] ; (80408bc ) 8040890: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 8040894: ed9f 7a13 vldr s14, [pc, #76] ; 80408e4 8040898: ee67 7a87 vmul.f32 s15, s15, s14 804089c: 4b07 ldr r3, [pc, #28] ; (80408bc ) 804089e: edc3 7a33 vstr s15, [r3, #204] ; 0xcc pardata.D_ANGLE += 0.0005f; 80408a2: 4b06 ldr r3, [pc, #24] ; (80408bc ) 80408a4: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 80408a8: ed9f 7a0f vldr s14, [pc, #60] ; 80408e8 80408ac: ee77 7a87 vadd.f32 s15, s15, s14 80408b0: 4b02 ldr r3, [pc, #8] ; (80408bc ) 80408b2: edc3 7a33 vstr s15, [r3, #204] ; 0xcc 80408b6: e0d7 b.n 8040a68 80408b8: 20020070 .word 0x20020070 80408bc: 20023eb8 .word 0x20023eb8 80408c0: 447a0000 .word 0x447a0000 80408c4: 0a7c5ac5 .word 0x0a7c5ac5 80408c8: 000186a0 .word 0x000186a0 80408cc: d1b71759 .word 0xd1b71759 80408d0: 10624dd3 .word 0x10624dd3 80408d4: 51eb851f .word 0x51eb851f 80408d8: cccccccd .word 0xcccccccd 80408dc: fffe7960 .word 0xfffe7960 80408e0: ffffd8f0 .word 0xffffd8f0 80408e4: 3a83126f .word 0x3a83126f 80408e8: 3a03126f .word 0x3a03126f if((menupos >= D_Rate_IET) && (menupos <= D_Rate_IEE)) 80408ec: 4b9d ldr r3, [pc, #628] ; (8040b64 ) 80408ee: 781b ldrb r3, [r3, #0] 80408f0: b2db uxtb r3, r3 80408f2: 2b21 cmp r3, #33 ; 0x21 80408f4: f244 822e bls.w 8044d54 80408f8: 4b9a ldr r3, [pc, #616] ; (8040b64 ) 80408fa: 781b ldrb r3, [r3, #0] 80408fc: b2db uxtb r3, r3 80408fe: 2b25 cmp r3, #37 ; 0x25 8040900: f204 8228 bhi.w 8044d54 k = pardata.D_RATE; 8040904: 4b98 ldr r3, [pc, #608] ; (8040b68 ) 8040906: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 804090a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 iet = (uint8_t) (k / 1000); 804090e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040912: 4a96 ldr r2, [pc, #600] ; (8040b6c ) 8040914: fba2 2303 umull r2, r3, r2, r3 8040918: 099b lsrs r3, r3, #6 804091a: b2db uxtb r3, r3 804091c: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 1000 / 100); 8040920: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040924: 4b91 ldr r3, [pc, #580] ; (8040b6c ) 8040926: fba3 1302 umull r1, r3, r3, r2 804092a: 099b lsrs r3, r3, #6 804092c: f44f 717a mov.w r1, #1000 ; 0x3e8 8040930: fb01 f303 mul.w r3, r1, r3 8040934: 1ad3 subs r3, r2, r3 8040936: 4a8e ldr r2, [pc, #568] ; (8040b70 ) 8040938: fba2 2303 umull r2, r3, r2, r3 804093c: 095b lsrs r3, r3, #5 804093e: b2db uxtb r3, r3 8040940: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 1000 % 100 / 10); 8040944: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040948: 4b88 ldr r3, [pc, #544] ; (8040b6c ) 804094a: fba3 1302 umull r1, r3, r3, r2 804094e: 099b lsrs r3, r3, #6 8040950: f44f 717a mov.w r1, #1000 ; 0x3e8 8040954: fb01 f303 mul.w r3, r1, r3 8040958: 1ad3 subs r3, r2, r3 804095a: 4a85 ldr r2, [pc, #532] ; (8040b70 ) 804095c: fba2 1203 umull r1, r2, r2, r3 8040960: 0952 lsrs r2, r2, #5 8040962: 2164 movs r1, #100 ; 0x64 8040964: fb01 f202 mul.w r2, r1, r2 8040968: 1a9a subs r2, r3, r2 804096a: 4b82 ldr r3, [pc, #520] ; (8040b74 ) 804096c: fba3 2302 umull r2, r3, r3, r2 8040970: 08db lsrs r3, r3, #3 8040972: b2db uxtb r3, r3 8040974: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 1000 % 100 % 10); 8040978: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804097c: 4b7b ldr r3, [pc, #492] ; (8040b6c ) 804097e: fba3 1302 umull r1, r3, r3, r2 8040982: 099b lsrs r3, r3, #6 8040984: f44f 717a mov.w r1, #1000 ; 0x3e8 8040988: fb01 f303 mul.w r3, r1, r3 804098c: 1ad3 subs r3, r2, r3 804098e: 4a78 ldr r2, [pc, #480] ; (8040b70 ) 8040990: fba2 1203 umull r1, r2, r2, r3 8040994: 0952 lsrs r2, r2, #5 8040996: 2164 movs r1, #100 ; 0x64 8040998: fb01 f202 mul.w r2, r1, r2 804099c: 1a9a subs r2, r3, r2 804099e: 4b75 ldr r3, [pc, #468] ; (8040b74 ) 80409a0: fba3 1302 umull r1, r3, r3, r2 80409a4: 08d9 lsrs r1, r3, #3 80409a6: 460b mov r3, r1 80409a8: 009b lsls r3, r3, #2 80409aa: 440b add r3, r1 80409ac: 005b lsls r3, r3, #1 80409ae: 1ad1 subs r1, r2, r3 80409b0: b2cb uxtb r3, r1 80409b2: f887 306f strb.w r3, [r7, #111] ; 0x6f switch(menupos) 80409b6: 4b6b ldr r3, [pc, #428] ; (8040b64 ) 80409b8: 781b ldrb r3, [r3, #0] 80409ba: b2db uxtb r3, r3 80409bc: 3b22 subs r3, #34 ; 0x22 80409be: 2b03 cmp r3, #3 80409c0: d844 bhi.n 8040a4c 80409c2: a201 add r2, pc, #4 ; (adr r2, 80409c8 ) 80409c4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80409c8: 080409d9 .word 0x080409d9 80409cc: 080409f9 .word 0x080409f9 80409d0: 08040a15 .word 0x08040a15 80409d4: 08040a31 .word 0x08040a31 if(k > 1000) k -= 1000; 80409d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80409dc: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80409e0: d906 bls.n 80409f0 80409e2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80409e6: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 80409ea: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80409ee: e02d b.n 8040a4c else k = 0; 80409f0: 2300 movs r3, #0 80409f2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80409f6: e029 b.n 8040a4c if(k > 100) k -= 100; 80409f8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80409fc: 2b64 cmp r3, #100 ; 0x64 80409fe: d905 bls.n 8040a0c 8040a00: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040a04: 3b64 subs r3, #100 ; 0x64 8040a06: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040a0a: e01f b.n 8040a4c else k = 0; 8040a0c: 2300 movs r3, #0 8040a0e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040a12: e01b b.n 8040a4c if(k > 10) k -= 10; 8040a14: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040a18: 2b0a cmp r3, #10 8040a1a: d905 bls.n 8040a28 8040a1c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040a20: 3b0a subs r3, #10 8040a22: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040a26: e011 b.n 8040a4c else k = 0; 8040a28: 2300 movs r3, #0 8040a2a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040a2e: e00d b.n 8040a4c if(k > 1) k -= 1; 8040a30: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040a34: 2b01 cmp r3, #1 8040a36: d905 bls.n 8040a44 8040a38: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040a3c: 3b01 subs r3, #1 8040a3e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040a42: e002 b.n 8040a4a else k = 0; 8040a44: 2300 movs r3, #0 8040a46: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040a4a: bf00 nop if(k == 0) k = 1; 8040a4c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040a50: 2b00 cmp r3, #0 8040a52: d102 bne.n 8040a5a 8040a54: 2301 movs r3, #1 8040a56: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_RATE = k; 8040a5a: 4a43 ldr r2, [pc, #268] ; (8040b68 ) 8040a5c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040a60: f8c2 30d0 str.w r3, [r2, #208] ; 0xd0 break; 8040a64: f004 b976 b.w 8044d54 8040a68: f004 b974 b.w 8044d54 case PARAM_VIB: focused = false; 8040a6c: 4b42 ldr r3, [pc, #264] ; (8040b78 ) 8040a6e: 2200 movs r2, #0 8040a70: 701a strb r2, [r3, #0] if(menupos == Ok) 8040a72: 4b3c ldr r3, [pc, #240] ; (8040b64 ) 8040a74: 781b ldrb r3, [r3, #0] 8040a76: b2db uxtb r3, r3 8040a78: 2b00 cmp r3, #0 8040a7a: d104 bne.n 8040a86 menupos = FilterHP; 8040a7c: 4b39 ldr r3, [pc, #228] ; (8040b64 ) 8040a7e: 2217 movs r2, #23 8040a80: 701a strb r2, [r3, #0] pardata.LP += 0.0001f; } } else menupos++; break; 8040a82: f004 b989 b.w 8044d98 if(menupos == FilterHP) 8040a86: 4b37 ldr r3, [pc, #220] ; (8040b64 ) 8040a88: 781b ldrb r3, [r3, #0] 8040a8a: b2db uxtb r3, r3 8040a8c: 2b17 cmp r3, #23 8040a8e: d104 bne.n 8040a9a menupos = FilterLP; 8040a90: 4b34 ldr r3, [pc, #208] ; (8040b64 ) 8040a92: 2218 movs r2, #24 8040a94: 701a strb r2, [r3, #0] break; 8040a96: f004 b97f b.w 8044d98 if(menupos == FilterLP) 8040a9a: 4b32 ldr r3, [pc, #200] ; (8040b64 ) 8040a9c: 781b ldrb r3, [r3, #0] 8040a9e: b2db uxtb r3, r3 8040aa0: 2b18 cmp r3, #24 8040aa2: d104 bne.n 8040aae menupos = ValueA; 8040aa4: 4b2f ldr r3, [pc, #188] ; (8040b64 ) 8040aa6: 2202 movs r2, #2 8040aa8: 701a strb r2, [r3, #0] break; 8040aaa: f004 b975 b.w 8044d98 if(menupos == ValueA) 8040aae: 4b2d ldr r3, [pc, #180] ; (8040b64 ) 8040ab0: 781b ldrb r3, [r3, #0] 8040ab2: b2db uxtb r3, r3 8040ab4: 2b02 cmp r3, #2 8040ab6: d117 bne.n 8040ae8 if(pardata.HP >= 2.0f) 8040ab8: 4b2b ldr r3, [pc, #172] ; (8040b68 ) 8040aba: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8040abe: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8040ac2: eef4 7ac7 vcmpe.f32 s15, s14 8040ac6: eef1 fa10 vmrs APSR_nzcv, fpscr 8040aca: db08 blt.n 8040ade menupos++; 8040acc: 4b25 ldr r3, [pc, #148] ; (8040b64 ) 8040ace: 781b ldrb r3, [r3, #0] 8040ad0: b2db uxtb r3, r3 8040ad2: 3301 adds r3, #1 8040ad4: b2da uxtb r2, r3 8040ad6: 4b23 ldr r3, [pc, #140] ; (8040b64 ) 8040ad8: 701a strb r2, [r3, #0] break; 8040ada: f004 b95d b.w 8044d98 else menupos = Average; 8040ade: 4b21 ldr r3, [pc, #132] ; (8040b64 ) 8040ae0: 2205 movs r2, #5 8040ae2: 701a strb r2, [r3, #0] break; 8040ae4: f004 b958 b.w 8044d98 if(menupos == SaveToFile) 8040ae8: 4b1e ldr r3, [pc, #120] ; (8040b64 ) 8040aea: 781b ldrb r3, [r3, #0] 8040aec: b2db uxtb r3, r3 8040aee: 2b0a cmp r3, #10 8040af0: d104 bne.n 8040afc menupos = Ok; 8040af2: 4b1c ldr r3, [pc, #112] ; (8040b64 ) 8040af4: 2200 movs r2, #0 8040af6: 701a strb r2, [r3, #0] break; 8040af8: f004 b94e b.w 8044d98 if(menupos == VibAutoKu) 8040afc: 4b19 ldr r3, [pc, #100] ; (8040b64 ) 8040afe: 781b ldrb r3, [r3, #0] 8040b00: b2db uxtb r3, r3 8040b02: 2b08 cmp r3, #8 8040b04: d110 bne.n 8040b28 if(pardata.OPTIONS & 0x4) 8040b06: 4b18 ldr r3, [pc, #96] ; (8040b68 ) 8040b08: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8040b0c: f003 0304 and.w r3, r3, #4 8040b10: 2b00 cmp r3, #0 8040b12: d004 beq.n 8040b1e menupos = SaveToFile; 8040b14: 4b13 ldr r3, [pc, #76] ; (8040b64 ) 8040b16: 220a movs r2, #10 8040b18: 701a strb r2, [r3, #0] break; 8040b1a: f004 b93d b.w 8044d98 else menupos = VibMax_ALL; 8040b1e: 4b11 ldr r3, [pc, #68] ; (8040b64 ) 8040b20: 2209 movs r2, #9 8040b22: 701a strb r2, [r3, #0] break; 8040b24: f004 b938 b.w 8044d98 if(menupos == Mediana) 8040b28: 4b0e ldr r3, [pc, #56] ; (8040b64 ) 8040b2a: 781b ldrb r3, [r3, #0] 8040b2c: b2db uxtb r3, r3 8040b2e: 2b06 cmp r3, #6 8040b30: d104 bne.n 8040b3c menupos = ViewFreq; 8040b32: 4b0c ldr r3, [pc, #48] ; (8040b64 ) 8040b34: 2207 movs r2, #7 8040b36: 701a strb r2, [r3, #0] break; 8040b38: f004 b92e b.w 8044d98 if(menupos == ViewFreq) 8040b3c: 4b09 ldr r3, [pc, #36] ; (8040b64 ) 8040b3e: 781b ldrb r3, [r3, #0] 8040b40: b2db uxtb r3, r3 8040b42: 2b07 cmp r3, #7 8040b44: d104 bne.n 8040b50 menupos = VibAutoKu; 8040b46: 4b07 ldr r3, [pc, #28] ; (8040b64 ) 8040b48: 2208 movs r2, #8 8040b4a: 701a strb r2, [r3, #0] break; 8040b4c: f004 b924 b.w 8044d98 if(menupos == VibMax_ALL) 8040b50: 4b04 ldr r3, [pc, #16] ; (8040b64 ) 8040b52: 781b ldrb r3, [r3, #0] 8040b54: b2db uxtb r3, r3 8040b56: 2b09 cmp r3, #9 8040b58: d110 bne.n 8040b7c menupos = SaveToFile; 8040b5a: 4b02 ldr r3, [pc, #8] ; (8040b64 ) 8040b5c: 220a movs r2, #10 8040b5e: 701a strb r2, [r3, #0] break; 8040b60: f004 b91a b.w 8044d98 8040b64: 20020070 .word 0x20020070 8040b68: 20023eb8 .word 0x20023eb8 8040b6c: 10624dd3 .word 0x10624dd3 8040b70: 51eb851f .word 0x51eb851f 8040b74: cccccccd .word 0xcccccccd 8040b78: 20020fd0 .word 0x20020fd0 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 8040b7c: 4bb2 ldr r3, [pc, #712] ; (8040e48 ) 8040b7e: 781b ldrb r3, [r3, #0] 8040b80: b2db uxtb r3, r3 8040b82: 2b0a cmp r3, #10 8040b84: f240 8178 bls.w 8040e78 8040b88: 4baf ldr r3, [pc, #700] ; (8040e48 ) 8040b8a: 781b ldrb r3, [r3, #0] 8040b8c: b2db uxtb r3, r3 8040b8e: 2b10 cmp r3, #16 8040b90: f200 8172 bhi.w 8040e78 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8040b94: 4bad ldr r3, [pc, #692] ; (8040e4c ) 8040b96: edd3 7a06 vldr s15, [r3, #24] 8040b9a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8040b9e: ee67 7a87 vmul.f32 s15, s15, s14 8040ba2: eefc 7ae7 vcvt.u32.f32 s15, s15 8040ba6: ee17 3a90 vmov r3, s15 8040baa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8040bae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040bb2: 095b lsrs r3, r3, #5 8040bb4: 4aa6 ldr r2, [pc, #664] ; (8040e50 ) 8040bb6: fba2 2303 umull r2, r3, r2, r3 8040bba: 09db lsrs r3, r3, #7 8040bbc: b2db uxtb r3, r3 8040bbe: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8040bc2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040bc6: 0953 lsrs r3, r2, #5 8040bc8: 49a1 ldr r1, [pc, #644] ; (8040e50 ) 8040bca: fba1 1303 umull r1, r3, r1, r3 8040bce: 09db lsrs r3, r3, #7 8040bd0: 49a0 ldr r1, [pc, #640] ; (8040e54 ) 8040bd2: fb01 f303 mul.w r3, r1, r3 8040bd6: 1ad3 subs r3, r2, r3 8040bd8: 4a9f ldr r2, [pc, #636] ; (8040e58 ) 8040bda: fba2 2303 umull r2, r3, r2, r3 8040bde: 0b5b lsrs r3, r3, #13 8040be0: b2db uxtb r3, r3 8040be2: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8040be6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040bea: 0953 lsrs r3, r2, #5 8040bec: 4998 ldr r1, [pc, #608] ; (8040e50 ) 8040bee: fba1 1303 umull r1, r3, r1, r3 8040bf2: 09db lsrs r3, r3, #7 8040bf4: 4997 ldr r1, [pc, #604] ; (8040e54 ) 8040bf6: fb01 f303 mul.w r3, r1, r3 8040bfa: 1ad3 subs r3, r2, r3 8040bfc: 4a96 ldr r2, [pc, #600] ; (8040e58 ) 8040bfe: fba2 1203 umull r1, r2, r2, r3 8040c02: 0b52 lsrs r2, r2, #13 8040c04: f242 7110 movw r1, #10000 ; 0x2710 8040c08: fb01 f202 mul.w r2, r1, r2 8040c0c: 1a9a subs r2, r3, r2 8040c0e: 4b93 ldr r3, [pc, #588] ; (8040e5c ) 8040c10: fba3 2302 umull r2, r3, r3, r2 8040c14: 099b lsrs r3, r3, #6 8040c16: b2db uxtb r3, r3 8040c18: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8040c1c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040c20: 095a lsrs r2, r3, #5 8040c22: 498b ldr r1, [pc, #556] ; (8040e50 ) 8040c24: fba1 1202 umull r1, r2, r1, r2 8040c28: 09d2 lsrs r2, r2, #7 8040c2a: 498a ldr r1, [pc, #552] ; (8040e54 ) 8040c2c: fb01 f202 mul.w r2, r1, r2 8040c30: 1a9a subs r2, r3, r2 8040c32: 4b89 ldr r3, [pc, #548] ; (8040e58 ) 8040c34: fba3 1302 umull r1, r3, r3, r2 8040c38: 0b5b lsrs r3, r3, #13 8040c3a: f242 7110 movw r1, #10000 ; 0x2710 8040c3e: fb01 f303 mul.w r3, r1, r3 8040c42: 1ad3 subs r3, r2, r3 8040c44: 4a85 ldr r2, [pc, #532] ; (8040e5c ) 8040c46: fba2 1203 umull r1, r2, r2, r3 8040c4a: 0992 lsrs r2, r2, #6 8040c4c: f44f 717a mov.w r1, #1000 ; 0x3e8 8040c50: fb01 f202 mul.w r2, r1, r2 8040c54: 1a9a subs r2, r3, r2 8040c56: 4b82 ldr r3, [pc, #520] ; (8040e60 ) 8040c58: fba3 2302 umull r2, r3, r3, r2 8040c5c: 095b lsrs r3, r3, #5 8040c5e: b2db uxtb r3, r3 8040c60: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8040c64: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040c68: 0953 lsrs r3, r2, #5 8040c6a: 4979 ldr r1, [pc, #484] ; (8040e50 ) 8040c6c: fba1 1303 umull r1, r3, r1, r3 8040c70: 09db lsrs r3, r3, #7 8040c72: 4978 ldr r1, [pc, #480] ; (8040e54 ) 8040c74: fb01 f303 mul.w r3, r1, r3 8040c78: 1ad3 subs r3, r2, r3 8040c7a: 4a77 ldr r2, [pc, #476] ; (8040e58 ) 8040c7c: fba2 1203 umull r1, r2, r2, r3 8040c80: 0b52 lsrs r2, r2, #13 8040c82: f242 7110 movw r1, #10000 ; 0x2710 8040c86: fb01 f202 mul.w r2, r1, r2 8040c8a: 1a9a subs r2, r3, r2 8040c8c: 4b73 ldr r3, [pc, #460] ; (8040e5c ) 8040c8e: fba3 1302 umull r1, r3, r3, r2 8040c92: 099b lsrs r3, r3, #6 8040c94: f44f 717a mov.w r1, #1000 ; 0x3e8 8040c98: fb01 f303 mul.w r3, r1, r3 8040c9c: 1ad3 subs r3, r2, r3 8040c9e: 4a70 ldr r2, [pc, #448] ; (8040e60 ) 8040ca0: fba2 1203 umull r1, r2, r2, r3 8040ca4: 0952 lsrs r2, r2, #5 8040ca6: 2164 movs r1, #100 ; 0x64 8040ca8: fb01 f202 mul.w r2, r1, r2 8040cac: 1a9a subs r2, r3, r2 8040cae: 4b6d ldr r3, [pc, #436] ; (8040e64 ) 8040cb0: fba3 2302 umull r2, r3, r3, r2 8040cb4: 08db lsrs r3, r3, #3 8040cb6: b2db uxtb r3, r3 8040cb8: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8040cbc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040cc0: 0953 lsrs r3, r2, #5 8040cc2: 4963 ldr r1, [pc, #396] ; (8040e50 ) 8040cc4: fba1 1303 umull r1, r3, r1, r3 8040cc8: 09db lsrs r3, r3, #7 8040cca: 4962 ldr r1, [pc, #392] ; (8040e54 ) 8040ccc: fb01 f303 mul.w r3, r1, r3 8040cd0: 1ad3 subs r3, r2, r3 8040cd2: 4a61 ldr r2, [pc, #388] ; (8040e58 ) 8040cd4: fba2 1203 umull r1, r2, r2, r3 8040cd8: 0b52 lsrs r2, r2, #13 8040cda: f242 7110 movw r1, #10000 ; 0x2710 8040cde: fb01 f202 mul.w r2, r1, r2 8040ce2: 1a9a subs r2, r3, r2 8040ce4: 4b5d ldr r3, [pc, #372] ; (8040e5c ) 8040ce6: fba3 1302 umull r1, r3, r3, r2 8040cea: 099b lsrs r3, r3, #6 8040cec: f44f 717a mov.w r1, #1000 ; 0x3e8 8040cf0: fb01 f303 mul.w r3, r1, r3 8040cf4: 1ad3 subs r3, r2, r3 8040cf6: 4a5a ldr r2, [pc, #360] ; (8040e60 ) 8040cf8: fba2 1203 umull r1, r2, r2, r3 8040cfc: 0952 lsrs r2, r2, #5 8040cfe: 2164 movs r1, #100 ; 0x64 8040d00: fb01 f202 mul.w r2, r1, r2 8040d04: 1a9a subs r2, r3, r2 8040d06: 4b57 ldr r3, [pc, #348] ; (8040e64 ) 8040d08: fba3 1302 umull r1, r3, r3, r2 8040d0c: 08d9 lsrs r1, r3, #3 8040d0e: 460b mov r3, r1 8040d10: 009b lsls r3, r3, #2 8040d12: 440b add r3, r1 8040d14: 005b lsls r3, r3, #1 8040d16: 1ad1 subs r1, r2, r3 8040d18: b2cb uxtb r3, r1 8040d1a: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8040d1e: 4b4a ldr r3, [pc, #296] ; (8040e48 ) 8040d20: 781b ldrb r3, [r3, #0] 8040d22: b2db uxtb r3, r3 8040d24: 3b0b subs r3, #11 8040d26: 2b05 cmp r3, #5 8040d28: d869 bhi.n 8040dfe 8040d2a: a201 add r2, pc, #4 ; (adr r2, 8040d30 ) 8040d2c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8040d30: 08040d49 .word 0x08040d49 8040d34: 08040d69 .word 0x08040d69 8040d38: 08040d8b .word 0x08040d8b 8040d3c: 08040dab .word 0x08040dab 8040d40: 08040dc7 .word 0x08040dc7 8040d44: 08040de3 .word 0x08040de3 if(k > 100000) k -= 100000; 8040d48: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040d4c: 4a41 ldr r2, [pc, #260] ; (8040e54 ) 8040d4e: 4293 cmp r3, r2 8040d50: d906 bls.n 8040d60 8040d52: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040d56: 4b44 ldr r3, [pc, #272] ; (8040e68 ) 8040d58: 4413 add r3, r2 8040d5a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040d5e: e04e b.n 8040dfe else k = 0; 8040d60: 2300 movs r3, #0 8040d62: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040d66: e04a b.n 8040dfe if(k > 10000) k -= 10000; 8040d68: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040d6c: f242 7210 movw r2, #10000 ; 0x2710 8040d70: 4293 cmp r3, r2 8040d72: d906 bls.n 8040d82 8040d74: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040d78: 4b3c ldr r3, [pc, #240] ; (8040e6c ) 8040d7a: 4413 add r3, r2 8040d7c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040d80: e03d b.n 8040dfe else k = 0; 8040d82: 2300 movs r3, #0 8040d84: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040d88: e039 b.n 8040dfe if(k > 1000) k -= 1000; 8040d8a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040d8e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8040d92: d906 bls.n 8040da2 8040d94: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040d98: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8040d9c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040da0: e02d b.n 8040dfe else k = 0; 8040da2: 2300 movs r3, #0 8040da4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040da8: e029 b.n 8040dfe if(k > 100) k -= 100; 8040daa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040dae: 2b64 cmp r3, #100 ; 0x64 8040db0: d905 bls.n 8040dbe 8040db2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040db6: 3b64 subs r3, #100 ; 0x64 8040db8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040dbc: e01f b.n 8040dfe else k = 0; 8040dbe: 2300 movs r3, #0 8040dc0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040dc4: e01b b.n 8040dfe if(k > 10) k -= 10; 8040dc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040dca: 2b0a cmp r3, #10 8040dcc: d905 bls.n 8040dda 8040dce: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040dd2: 3b0a subs r3, #10 8040dd4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040dd8: e011 b.n 8040dfe else k = 0; 8040dda: 2300 movs r3, #0 8040ddc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040de0: e00d b.n 8040dfe if(k > 1) k -= 1; 8040de2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040de6: 2b01 cmp r3, #1 8040de8: d905 bls.n 8040df6 8040dea: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040dee: 3b01 subs r3, #1 8040df0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040df4: e002 b.n 8040dfc else k = 0; 8040df6: 2300 movs r3, #0 8040df8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040dfc: bf00 nop if(k == 0) k = 1; 8040dfe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040e02: 2b00 cmp r3, #0 8040e04: d102 bne.n 8040e0c 8040e06: 2301 movs r3, #1 8040e08: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8040e0c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040e10: ee07 3a90 vmov s15, r3 8040e14: eef8 7a67 vcvt.f32.u32 s15, s15 8040e18: 4b0c ldr r3, [pc, #48] ; (8040e4c ) 8040e1a: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8040e1e: 4b0b ldr r3, [pc, #44] ; (8040e4c ) 8040e20: edd3 7a06 vldr s15, [r3, #24] 8040e24: ed9f 7a12 vldr s14, [pc, #72] ; 8040e70 8040e28: ee67 7a87 vmul.f32 s15, s15, s14 8040e2c: 4b07 ldr r3, [pc, #28] ; (8040e4c ) 8040e2e: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 8040e32: 4b06 ldr r3, [pc, #24] ; (8040e4c ) 8040e34: edd3 7a06 vldr s15, [r3, #24] 8040e38: ed9f 7a0e vldr s14, [pc, #56] ; 8040e74 8040e3c: ee77 7a87 vadd.f32 s15, s15, s14 8040e40: 4b02 ldr r3, [pc, #8] ; (8040e4c ) 8040e42: edc3 7a06 vstr s15, [r3, #24] 8040e46: e394 b.n 8041572 8040e48: 20020070 .word 0x20020070 8040e4c: 20023eb8 .word 0x20023eb8 8040e50: 0a7c5ac5 .word 0x0a7c5ac5 8040e54: 000186a0 .word 0x000186a0 8040e58: d1b71759 .word 0xd1b71759 8040e5c: 10624dd3 .word 0x10624dd3 8040e60: 51eb851f .word 0x51eb851f 8040e64: cccccccd .word 0xcccccccd 8040e68: fffe7960 .word 0xfffe7960 8040e6c: ffffd8f0 .word 0xffffd8f0 8040e70: 3dcccccd .word 0x3dcccccd 8040e74: 3d4ccccd .word 0x3d4ccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 8040e78: 4bcb ldr r3, [pc, #812] ; (80411a8 ) 8040e7a: 781b ldrb r3, [r3, #0] 8040e7c: b2db uxtb r3, r3 8040e7e: 2b18 cmp r3, #24 8040e80: f240 81aa bls.w 80411d8 8040e84: 4bc8 ldr r3, [pc, #800] ; (80411a8 ) 8040e86: 781b ldrb r3, [r3, #0] 8040e88: b2db uxtb r3, r3 8040e8a: 2b1e cmp r3, #30 8040e8c: f200 81a4 bhi.w 80411d8 k = (uint32_t) (pardata.HP * 10.0f); 8040e90: 4bc6 ldr r3, [pc, #792] ; (80411ac ) 8040e92: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8040e96: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8040e9a: ee67 7a87 vmul.f32 s15, s15, s14 8040e9e: eefc 7ae7 vcvt.u32.f32 s15, s15 8040ea2: ee17 3a90 vmov r3, s15 8040ea6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8040eaa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040eae: 095b lsrs r3, r3, #5 8040eb0: 4abf ldr r2, [pc, #764] ; (80411b0 ) 8040eb2: fba2 2303 umull r2, r3, r2, r3 8040eb6: 09db lsrs r3, r3, #7 8040eb8: b2db uxtb r3, r3 8040eba: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8040ebe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040ec2: 0953 lsrs r3, r2, #5 8040ec4: 49ba ldr r1, [pc, #744] ; (80411b0 ) 8040ec6: fba1 1303 umull r1, r3, r1, r3 8040eca: 09db lsrs r3, r3, #7 8040ecc: 49b9 ldr r1, [pc, #740] ; (80411b4 ) 8040ece: fb01 f303 mul.w r3, r1, r3 8040ed2: 1ad3 subs r3, r2, r3 8040ed4: 4ab8 ldr r2, [pc, #736] ; (80411b8 ) 8040ed6: fba2 2303 umull r2, r3, r2, r3 8040eda: 0b5b lsrs r3, r3, #13 8040edc: b2db uxtb r3, r3 8040ede: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8040ee2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040ee6: 0953 lsrs r3, r2, #5 8040ee8: 49b1 ldr r1, [pc, #708] ; (80411b0 ) 8040eea: fba1 1303 umull r1, r3, r1, r3 8040eee: 09db lsrs r3, r3, #7 8040ef0: 49b0 ldr r1, [pc, #704] ; (80411b4 ) 8040ef2: fb01 f303 mul.w r3, r1, r3 8040ef6: 1ad3 subs r3, r2, r3 8040ef8: 4aaf ldr r2, [pc, #700] ; (80411b8 ) 8040efa: fba2 1203 umull r1, r2, r2, r3 8040efe: 0b52 lsrs r2, r2, #13 8040f00: f242 7110 movw r1, #10000 ; 0x2710 8040f04: fb01 f202 mul.w r2, r1, r2 8040f08: 1a9a subs r2, r3, r2 8040f0a: 4bac ldr r3, [pc, #688] ; (80411bc ) 8040f0c: fba3 2302 umull r2, r3, r3, r2 8040f10: 099b lsrs r3, r3, #6 8040f12: b2db uxtb r3, r3 8040f14: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8040f18: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040f1c: 095a lsrs r2, r3, #5 8040f1e: 49a4 ldr r1, [pc, #656] ; (80411b0 ) 8040f20: fba1 1202 umull r1, r2, r1, r2 8040f24: 09d2 lsrs r2, r2, #7 8040f26: 49a3 ldr r1, [pc, #652] ; (80411b4 ) 8040f28: fb01 f202 mul.w r2, r1, r2 8040f2c: 1a9a subs r2, r3, r2 8040f2e: 4ba2 ldr r3, [pc, #648] ; (80411b8 ) 8040f30: fba3 1302 umull r1, r3, r3, r2 8040f34: 0b5b lsrs r3, r3, #13 8040f36: f242 7110 movw r1, #10000 ; 0x2710 8040f3a: fb01 f303 mul.w r3, r1, r3 8040f3e: 1ad3 subs r3, r2, r3 8040f40: 4a9e ldr r2, [pc, #632] ; (80411bc ) 8040f42: fba2 1203 umull r1, r2, r2, r3 8040f46: 0992 lsrs r2, r2, #6 8040f48: f44f 717a mov.w r1, #1000 ; 0x3e8 8040f4c: fb01 f202 mul.w r2, r1, r2 8040f50: 1a9a subs r2, r3, r2 8040f52: 4b9b ldr r3, [pc, #620] ; (80411c0 ) 8040f54: fba3 2302 umull r2, r3, r3, r2 8040f58: 095b lsrs r3, r3, #5 8040f5a: b2db uxtb r3, r3 8040f5c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8040f60: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040f64: 0953 lsrs r3, r2, #5 8040f66: 4992 ldr r1, [pc, #584] ; (80411b0 ) 8040f68: fba1 1303 umull r1, r3, r1, r3 8040f6c: 09db lsrs r3, r3, #7 8040f6e: 4991 ldr r1, [pc, #580] ; (80411b4 ) 8040f70: fb01 f303 mul.w r3, r1, r3 8040f74: 1ad3 subs r3, r2, r3 8040f76: 4a90 ldr r2, [pc, #576] ; (80411b8 ) 8040f78: fba2 1203 umull r1, r2, r2, r3 8040f7c: 0b52 lsrs r2, r2, #13 8040f7e: f242 7110 movw r1, #10000 ; 0x2710 8040f82: fb01 f202 mul.w r2, r1, r2 8040f86: 1a9a subs r2, r3, r2 8040f88: 4b8c ldr r3, [pc, #560] ; (80411bc ) 8040f8a: fba3 1302 umull r1, r3, r3, r2 8040f8e: 099b lsrs r3, r3, #6 8040f90: f44f 717a mov.w r1, #1000 ; 0x3e8 8040f94: fb01 f303 mul.w r3, r1, r3 8040f98: 1ad3 subs r3, r2, r3 8040f9a: 4a89 ldr r2, [pc, #548] ; (80411c0 ) 8040f9c: fba2 1203 umull r1, r2, r2, r3 8040fa0: 0952 lsrs r2, r2, #5 8040fa2: 2164 movs r1, #100 ; 0x64 8040fa4: fb01 f202 mul.w r2, r1, r2 8040fa8: 1a9a subs r2, r3, r2 8040faa: 4b86 ldr r3, [pc, #536] ; (80411c4 ) 8040fac: fba3 2302 umull r2, r3, r3, r2 8040fb0: 08db lsrs r3, r3, #3 8040fb2: b2db uxtb r3, r3 8040fb4: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8040fb8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040fbc: 0953 lsrs r3, r2, #5 8040fbe: 497c ldr r1, [pc, #496] ; (80411b0 ) 8040fc0: fba1 1303 umull r1, r3, r1, r3 8040fc4: 09db lsrs r3, r3, #7 8040fc6: 497b ldr r1, [pc, #492] ; (80411b4 ) 8040fc8: fb01 f303 mul.w r3, r1, r3 8040fcc: 1ad3 subs r3, r2, r3 8040fce: 4a7a ldr r2, [pc, #488] ; (80411b8 ) 8040fd0: fba2 1203 umull r1, r2, r2, r3 8040fd4: 0b52 lsrs r2, r2, #13 8040fd6: f242 7110 movw r1, #10000 ; 0x2710 8040fda: fb01 f202 mul.w r2, r1, r2 8040fde: 1a9a subs r2, r3, r2 8040fe0: 4b76 ldr r3, [pc, #472] ; (80411bc ) 8040fe2: fba3 1302 umull r1, r3, r3, r2 8040fe6: 099b lsrs r3, r3, #6 8040fe8: f44f 717a mov.w r1, #1000 ; 0x3e8 8040fec: fb01 f303 mul.w r3, r1, r3 8040ff0: 1ad3 subs r3, r2, r3 8040ff2: 4a73 ldr r2, [pc, #460] ; (80411c0 ) 8040ff4: fba2 1203 umull r1, r2, r2, r3 8040ff8: 0952 lsrs r2, r2, #5 8040ffa: 2164 movs r1, #100 ; 0x64 8040ffc: fb01 f202 mul.w r2, r1, r2 8041000: 1a9a subs r2, r3, r2 8041002: 4b70 ldr r3, [pc, #448] ; (80411c4 ) 8041004: fba3 1302 umull r1, r3, r3, r2 8041008: 08d9 lsrs r1, r3, #3 804100a: 460b mov r3, r1 804100c: 009b lsls r3, r3, #2 804100e: 440b add r3, r1 8041010: 005b lsls r3, r3, #1 8041012: 1ad1 subs r1, r2, r3 8041014: b2cb uxtb r3, r1 8041016: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 804101a: 4b63 ldr r3, [pc, #396] ; (80411a8 ) 804101c: 781b ldrb r3, [r3, #0] 804101e: b2db uxtb r3, r3 8041020: 3b19 subs r3, #25 8041022: 2b05 cmp r3, #5 8041024: d869 bhi.n 80410fa 8041026: a201 add r2, pc, #4 ; (adr r2, 804102c ) 8041028: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804102c: 08041045 .word 0x08041045 8041030: 08041065 .word 0x08041065 8041034: 08041087 .word 0x08041087 8041038: 080410a7 .word 0x080410a7 804103c: 080410c3 .word 0x080410c3 8041040: 080410df .word 0x080410df if(k > 100000) k -= 100000; 8041044: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041048: 4a5a ldr r2, [pc, #360] ; (80411b4 ) 804104a: 4293 cmp r3, r2 804104c: d906 bls.n 804105c 804104e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041052: 4b5d ldr r3, [pc, #372] ; (80411c8 ) 8041054: 4413 add r3, r2 8041056: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804105a: e04e b.n 80410fa else k = 0; 804105c: 2300 movs r3, #0 804105e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041062: e04a b.n 80410fa if(k > 10000) k -= 10000; 8041064: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041068: f242 7210 movw r2, #10000 ; 0x2710 804106c: 4293 cmp r3, r2 804106e: d906 bls.n 804107e 8041070: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041074: 4b55 ldr r3, [pc, #340] ; (80411cc ) 8041076: 4413 add r3, r2 8041078: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804107c: e03d b.n 80410fa else k = 0; 804107e: 2300 movs r3, #0 8041080: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041084: e039 b.n 80410fa if(k > 1000) k -= 1000; 8041086: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804108a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 804108e: d906 bls.n 804109e 8041090: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041094: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8041098: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804109c: e02d b.n 80410fa else k = 0; 804109e: 2300 movs r3, #0 80410a0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80410a4: e029 b.n 80410fa if(k > 100) k -= 100; 80410a6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80410aa: 2b64 cmp r3, #100 ; 0x64 80410ac: d905 bls.n 80410ba 80410ae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80410b2: 3b64 subs r3, #100 ; 0x64 80410b4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80410b8: e01f b.n 80410fa else k = 0; 80410ba: 2300 movs r3, #0 80410bc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80410c0: e01b b.n 80410fa if(k > 10) k -= 10; 80410c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80410c6: 2b0a cmp r3, #10 80410c8: d905 bls.n 80410d6 80410ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80410ce: 3b0a subs r3, #10 80410d0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80410d4: e011 b.n 80410fa else k = 0; 80410d6: 2300 movs r3, #0 80410d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80410dc: e00d b.n 80410fa if(k > 1) k -= 1; 80410de: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80410e2: 2b01 cmp r3, #1 80410e4: d905 bls.n 80410f2 80410e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80410ea: 3b01 subs r3, #1 80410ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80410f0: e002 b.n 80410f8 else k = 0; 80410f2: 2300 movs r3, #0 80410f4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80410f8: bf00 nop fl = (float32_t) k; 80410fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80410fe: ee07 3a90 vmov s15, r3 8041102: eef8 7a67 vcvt.f32.u32 s15, s15 8041106: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 804110a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804110e: ed9f 7a30 vldr s14, [pc, #192] ; 80411d0 8041112: ee67 7a87 vmul.f32 s15, s15, s14 8041116: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 804111a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804111e: ed9f 7a2d vldr s14, [pc, #180] ; 80411d4 8041122: ee77 7a87 vadd.f32 s15, s15, s14 8041126: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 0.5f) 804112a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804112e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8041132: eef4 7ac7 vcmpe.f32 s15, s14 8041136: eef1 fa10 vmrs APSR_nzcv, fpscr 804113a: d505 bpl.n 8041148 pardata.HP = 0.5f; 804113c: 4b1b ldr r3, [pc, #108] ; (80411ac ) 804113e: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8041142: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(fl < 0.5f) 8041146: e214 b.n 8041572 if(fl > pardata.LP) 8041148: 4b18 ldr r3, [pc, #96] ; (80411ac ) 804114a: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 804114e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041152: eeb4 7ae7 vcmpe.f32 s14, s15 8041156: eef1 fa10 vmrs APSR_nzcv, fpscr 804115a: d506 bpl.n 804116a pardata.HP = pardata.LP; 804115c: 4b13 ldr r3, [pc, #76] ; (80411ac ) 804115e: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8041162: 4a12 ldr r2, [pc, #72] ; (80411ac ) 8041164: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(fl < 0.5f) 8041168: e203 b.n 8041572 pardata.HP = (float32_t) k; 804116a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804116e: ee07 3a90 vmov s15, r3 8041172: eef8 7a67 vcvt.f32.u32 s15, s15 8041176: 4b0d ldr r3, [pc, #52] ; (80411ac ) 8041178: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 804117c: 4b0b ldr r3, [pc, #44] ; (80411ac ) 804117e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8041182: ed9f 7a13 vldr s14, [pc, #76] ; 80411d0 8041186: ee67 7a87 vmul.f32 s15, s15, s14 804118a: 4b08 ldr r3, [pc, #32] ; (80411ac ) 804118c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8041190: 4b06 ldr r3, [pc, #24] ; (80411ac ) 8041192: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8041196: ed9f 7a0f vldr s14, [pc, #60] ; 80411d4 804119a: ee77 7a87 vadd.f32 s15, s15, s14 804119e: 4b03 ldr r3, [pc, #12] ; (80411ac ) 80411a0: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(fl < 0.5f) 80411a4: e1e5 b.n 8041572 80411a6: bf00 nop 80411a8: 20020070 .word 0x20020070 80411ac: 20023eb8 .word 0x20023eb8 80411b0: 0a7c5ac5 .word 0x0a7c5ac5 80411b4: 000186a0 .word 0x000186a0 80411b8: d1b71759 .word 0xd1b71759 80411bc: 10624dd3 .word 0x10624dd3 80411c0: 51eb851f .word 0x51eb851f 80411c4: cccccccd .word 0xcccccccd 80411c8: fffe7960 .word 0xfffe7960 80411cc: ffffd8f0 .word 0xffffd8f0 80411d0: 3dcccccd .word 0x3dcccccd 80411d4: 38d1b717 .word 0x38d1b717 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 80411d8: 4bd2 ldr r3, [pc, #840] ; (8041524 ) 80411da: 781b ldrb r3, [r3, #0] 80411dc: b2db uxtb r3, r3 80411de: 2b1e cmp r3, #30 80411e0: f240 81be bls.w 8041560 80411e4: 4bcf ldr r3, [pc, #828] ; (8041524 ) 80411e6: 781b ldrb r3, [r3, #0] 80411e8: b2db uxtb r3, r3 80411ea: 2b24 cmp r3, #36 ; 0x24 80411ec: f200 81b8 bhi.w 8041560 k = (uint32_t) (pardata.LP * 10.0f); 80411f0: 4bcd ldr r3, [pc, #820] ; (8041528 ) 80411f2: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80411f6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80411fa: ee67 7a87 vmul.f32 s15, s15, s14 80411fe: eefc 7ae7 vcvt.u32.f32 s15, s15 8041202: ee17 3a90 vmov r3, s15 8041206: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 804120a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804120e: 095b lsrs r3, r3, #5 8041210: 4ac6 ldr r2, [pc, #792] ; (804152c ) 8041212: fba2 2303 umull r2, r3, r2, r3 8041216: 09db lsrs r3, r3, #7 8041218: b2db uxtb r3, r3 804121a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 804121e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041222: 0953 lsrs r3, r2, #5 8041224: 49c1 ldr r1, [pc, #772] ; (804152c ) 8041226: fba1 1303 umull r1, r3, r1, r3 804122a: 09db lsrs r3, r3, #7 804122c: 49c0 ldr r1, [pc, #768] ; (8041530 ) 804122e: fb01 f303 mul.w r3, r1, r3 8041232: 1ad3 subs r3, r2, r3 8041234: 4abf ldr r2, [pc, #764] ; (8041534 ) 8041236: fba2 2303 umull r2, r3, r2, r3 804123a: 0b5b lsrs r3, r3, #13 804123c: b2db uxtb r3, r3 804123e: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8041242: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041246: 0953 lsrs r3, r2, #5 8041248: 49b8 ldr r1, [pc, #736] ; (804152c ) 804124a: fba1 1303 umull r1, r3, r1, r3 804124e: 09db lsrs r3, r3, #7 8041250: 49b7 ldr r1, [pc, #732] ; (8041530 ) 8041252: fb01 f303 mul.w r3, r1, r3 8041256: 1ad3 subs r3, r2, r3 8041258: 4ab6 ldr r2, [pc, #728] ; (8041534 ) 804125a: fba2 1203 umull r1, r2, r2, r3 804125e: 0b52 lsrs r2, r2, #13 8041260: f242 7110 movw r1, #10000 ; 0x2710 8041264: fb01 f202 mul.w r2, r1, r2 8041268: 1a9a subs r2, r3, r2 804126a: 4bb3 ldr r3, [pc, #716] ; (8041538 ) 804126c: fba3 2302 umull r2, r3, r3, r2 8041270: 099b lsrs r3, r3, #6 8041272: b2db uxtb r3, r3 8041274: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8041278: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804127c: 095a lsrs r2, r3, #5 804127e: 49ab ldr r1, [pc, #684] ; (804152c ) 8041280: fba1 1202 umull r1, r2, r1, r2 8041284: 09d2 lsrs r2, r2, #7 8041286: 49aa ldr r1, [pc, #680] ; (8041530 ) 8041288: fb01 f202 mul.w r2, r1, r2 804128c: 1a9a subs r2, r3, r2 804128e: 4ba9 ldr r3, [pc, #676] ; (8041534 ) 8041290: fba3 1302 umull r1, r3, r3, r2 8041294: 0b5b lsrs r3, r3, #13 8041296: f242 7110 movw r1, #10000 ; 0x2710 804129a: fb01 f303 mul.w r3, r1, r3 804129e: 1ad3 subs r3, r2, r3 80412a0: 4aa5 ldr r2, [pc, #660] ; (8041538 ) 80412a2: fba2 1203 umull r1, r2, r2, r3 80412a6: 0992 lsrs r2, r2, #6 80412a8: f44f 717a mov.w r1, #1000 ; 0x3e8 80412ac: fb01 f202 mul.w r2, r1, r2 80412b0: 1a9a subs r2, r3, r2 80412b2: 4ba2 ldr r3, [pc, #648] ; (804153c ) 80412b4: fba3 2302 umull r2, r3, r3, r2 80412b8: 095b lsrs r3, r3, #5 80412ba: b2db uxtb r3, r3 80412bc: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80412c0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80412c4: 0953 lsrs r3, r2, #5 80412c6: 4999 ldr r1, [pc, #612] ; (804152c ) 80412c8: fba1 1303 umull r1, r3, r1, r3 80412cc: 09db lsrs r3, r3, #7 80412ce: 4998 ldr r1, [pc, #608] ; (8041530 ) 80412d0: fb01 f303 mul.w r3, r1, r3 80412d4: 1ad3 subs r3, r2, r3 80412d6: 4a97 ldr r2, [pc, #604] ; (8041534 ) 80412d8: fba2 1203 umull r1, r2, r2, r3 80412dc: 0b52 lsrs r2, r2, #13 80412de: f242 7110 movw r1, #10000 ; 0x2710 80412e2: fb01 f202 mul.w r2, r1, r2 80412e6: 1a9a subs r2, r3, r2 80412e8: 4b93 ldr r3, [pc, #588] ; (8041538 ) 80412ea: fba3 1302 umull r1, r3, r3, r2 80412ee: 099b lsrs r3, r3, #6 80412f0: f44f 717a mov.w r1, #1000 ; 0x3e8 80412f4: fb01 f303 mul.w r3, r1, r3 80412f8: 1ad3 subs r3, r2, r3 80412fa: 4a90 ldr r2, [pc, #576] ; (804153c ) 80412fc: fba2 1203 umull r1, r2, r2, r3 8041300: 0952 lsrs r2, r2, #5 8041302: 2164 movs r1, #100 ; 0x64 8041304: fb01 f202 mul.w r2, r1, r2 8041308: 1a9a subs r2, r3, r2 804130a: 4b8d ldr r3, [pc, #564] ; (8041540 ) 804130c: fba3 2302 umull r2, r3, r3, r2 8041310: 08db lsrs r3, r3, #3 8041312: b2db uxtb r3, r3 8041314: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8041318: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804131c: 0953 lsrs r3, r2, #5 804131e: 4983 ldr r1, [pc, #524] ; (804152c ) 8041320: fba1 1303 umull r1, r3, r1, r3 8041324: 09db lsrs r3, r3, #7 8041326: 4982 ldr r1, [pc, #520] ; (8041530 ) 8041328: fb01 f303 mul.w r3, r1, r3 804132c: 1ad3 subs r3, r2, r3 804132e: 4a81 ldr r2, [pc, #516] ; (8041534 ) 8041330: fba2 1203 umull r1, r2, r2, r3 8041334: 0b52 lsrs r2, r2, #13 8041336: f242 7110 movw r1, #10000 ; 0x2710 804133a: fb01 f202 mul.w r2, r1, r2 804133e: 1a9a subs r2, r3, r2 8041340: 4b7d ldr r3, [pc, #500] ; (8041538 ) 8041342: fba3 1302 umull r1, r3, r3, r2 8041346: 099b lsrs r3, r3, #6 8041348: f44f 717a mov.w r1, #1000 ; 0x3e8 804134c: fb01 f303 mul.w r3, r1, r3 8041350: 1ad3 subs r3, r2, r3 8041352: 4a7a ldr r2, [pc, #488] ; (804153c ) 8041354: fba2 1203 umull r1, r2, r2, r3 8041358: 0952 lsrs r2, r2, #5 804135a: 2164 movs r1, #100 ; 0x64 804135c: fb01 f202 mul.w r2, r1, r2 8041360: 1a9a subs r2, r3, r2 8041362: 4b77 ldr r3, [pc, #476] ; (8041540 ) 8041364: fba3 1302 umull r1, r3, r3, r2 8041368: 08d9 lsrs r1, r3, #3 804136a: 460b mov r3, r1 804136c: 009b lsls r3, r3, #2 804136e: 440b add r3, r1 8041370: 005b lsls r3, r3, #1 8041372: 1ad1 subs r1, r2, r3 8041374: b2cb uxtb r3, r1 8041376: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 804137a: 4b6a ldr r3, [pc, #424] ; (8041524 ) 804137c: 781b ldrb r3, [r3, #0] 804137e: b2db uxtb r3, r3 8041380: 3b1f subs r3, #31 8041382: 2b05 cmp r3, #5 8041384: d869 bhi.n 804145a 8041386: a201 add r2, pc, #4 ; (adr r2, 804138c ) 8041388: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804138c: 080413a5 .word 0x080413a5 8041390: 080413c5 .word 0x080413c5 8041394: 080413e7 .word 0x080413e7 8041398: 08041407 .word 0x08041407 804139c: 08041423 .word 0x08041423 80413a0: 0804143f .word 0x0804143f if(k > 100000) k -= 100000; 80413a4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80413a8: 4a61 ldr r2, [pc, #388] ; (8041530 ) 80413aa: 4293 cmp r3, r2 80413ac: d906 bls.n 80413bc 80413ae: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80413b2: 4b64 ldr r3, [pc, #400] ; (8041544 ) 80413b4: 4413 add r3, r2 80413b6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80413ba: e04e b.n 804145a else k = 0; 80413bc: 2300 movs r3, #0 80413be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80413c2: e04a b.n 804145a if(k > 10000) k -= 10000; 80413c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80413c8: f242 7210 movw r2, #10000 ; 0x2710 80413cc: 4293 cmp r3, r2 80413ce: d906 bls.n 80413de 80413d0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80413d4: 4b5c ldr r3, [pc, #368] ; (8041548 ) 80413d6: 4413 add r3, r2 80413d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80413dc: e03d b.n 804145a else k = 0; 80413de: 2300 movs r3, #0 80413e0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80413e4: e039 b.n 804145a if(k > 1000) k -= 1000; 80413e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80413ea: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80413ee: d906 bls.n 80413fe 80413f0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80413f4: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 80413f8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80413fc: e02d b.n 804145a else k = 0; 80413fe: 2300 movs r3, #0 8041400: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041404: e029 b.n 804145a if(k > 100) k -= 100; 8041406: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804140a: 2b64 cmp r3, #100 ; 0x64 804140c: d905 bls.n 804141a 804140e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041412: 3b64 subs r3, #100 ; 0x64 8041414: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041418: e01f b.n 804145a else k = 0; 804141a: 2300 movs r3, #0 804141c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041420: e01b b.n 804145a if(k > 10) k -= 10; 8041422: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041426: 2b0a cmp r3, #10 8041428: d905 bls.n 8041436 804142a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804142e: 3b0a subs r3, #10 8041430: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041434: e011 b.n 804145a else k = 0; 8041436: 2300 movs r3, #0 8041438: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804143c: e00d b.n 804145a if(k > 1) k -= 1; 804143e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041442: 2b01 cmp r3, #1 8041444: d905 bls.n 8041452 8041446: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804144a: 3b01 subs r3, #1 804144c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041450: e002 b.n 8041458 else k = 0; 8041452: 2300 movs r3, #0 8041454: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041458: bf00 nop fl = (float32_t) k; 804145a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804145e: ee07 3a90 vmov s15, r3 8041462: eef8 7a67 vcvt.f32.u32 s15, s15 8041466: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 804146a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804146e: ed9f 7a37 vldr s14, [pc, #220] ; 804154c 8041472: ee67 7a87 vmul.f32 s15, s15, s14 8041476: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 804147a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804147e: ed9f 7a34 vldr s14, [pc, #208] ; 8041550 8041482: ee77 7a87 vadd.f32 s15, s15, s14 8041486: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 804148a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804148e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8041492: eef4 7ac7 vcmpe.f32 s15, s14 8041496: eef1 fa10 vmrs APSR_nzcv, fpscr 804149a: d504 bpl.n 80414a6 pardata.LP = 10.0f; 804149c: 4b22 ldr r3, [pc, #136] ; (8041528 ) 804149e: 4a2d ldr r2, [pc, #180] ; (8041554 ) 80414a0: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 if(fl < 10.0f) 80414a4: e065 b.n 8041572 if(pardata.LP < pardata.HP) 80414a6: 4b20 ldr r3, [pc, #128] ; (8041528 ) 80414a8: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80414ac: 4b1e ldr r3, [pc, #120] ; (8041528 ) 80414ae: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80414b2: eeb4 7ae7 vcmpe.f32 s14, s15 80414b6: eef1 fa10 vmrs APSR_nzcv, fpscr 80414ba: d506 bpl.n 80414ca pardata.LP = pardata.HP; 80414bc: 4b1a ldr r3, [pc, #104] ; (8041528 ) 80414be: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 80414c2: 4a19 ldr r2, [pc, #100] ; (8041528 ) 80414c4: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 if(fl < 10.0f) 80414c8: e053 b.n 8041572 if(fl > 12800.0f) 80414ca: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80414ce: ed9f 7a22 vldr s14, [pc, #136] ; 8041558 80414d2: eef4 7ac7 vcmpe.f32 s15, s14 80414d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80414da: dd04 ble.n 80414e6 pardata.LP = 12800.0f; 80414dc: 4b12 ldr r3, [pc, #72] ; (8041528 ) 80414de: 4a1f ldr r2, [pc, #124] ; (804155c ) 80414e0: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 if(fl < 10.0f) 80414e4: e045 b.n 8041572 pardata.LP = (float32_t) k; 80414e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80414ea: ee07 3a90 vmov s15, r3 80414ee: eef8 7a67 vcvt.f32.u32 s15, s15 80414f2: 4b0d ldr r3, [pc, #52] ; (8041528 ) 80414f4: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 80414f8: 4b0b ldr r3, [pc, #44] ; (8041528 ) 80414fa: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80414fe: ed9f 7a13 vldr s14, [pc, #76] ; 804154c 8041502: ee67 7a87 vmul.f32 s15, s15, s14 8041506: 4b08 ldr r3, [pc, #32] ; (8041528 ) 8041508: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 804150c: 4b06 ldr r3, [pc, #24] ; (8041528 ) 804150e: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8041512: ed9f 7a0f vldr s14, [pc, #60] ; 8041550 8041516: ee77 7a87 vadd.f32 s15, s15, s14 804151a: 4b03 ldr r3, [pc, #12] ; (8041528 ) 804151c: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 if(fl < 10.0f) 8041520: e027 b.n 8041572 8041522: bf00 nop 8041524: 20020070 .word 0x20020070 8041528: 20023eb8 .word 0x20023eb8 804152c: 0a7c5ac5 .word 0x0a7c5ac5 8041530: 000186a0 .word 0x000186a0 8041534: d1b71759 .word 0xd1b71759 8041538: 10624dd3 .word 0x10624dd3 804153c: 51eb851f .word 0x51eb851f 8041540: cccccccd .word 0xcccccccd 8041544: fffe7960 .word 0xfffe7960 8041548: ffffd8f0 .word 0xffffd8f0 804154c: 3dcccccd .word 0x3dcccccd 8041550: 38d1b717 .word 0x38d1b717 8041554: 41200000 .word 0x41200000 8041558: 46480000 .word 0x46480000 804155c: 46480000 .word 0x46480000 menupos++; 8041560: 4bc9 ldr r3, [pc, #804] ; (8041888 ) 8041562: 781b ldrb r3, [r3, #0] 8041564: b2db uxtb r3, r3 8041566: 3301 adds r3, #1 8041568: b2da uxtb r2, r3 804156a: 4bc7 ldr r3, [pc, #796] ; (8041888 ) 804156c: 701a strb r2, [r3, #0] break; 804156e: f003 bc13 b.w 8044d98 8041572: f003 bc11 b.w 8044d98 case PARAM_SPEC: focused = false; 8041576: 4bc5 ldr r3, [pc, #788] ; (804188c ) 8041578: 2200 movs r2, #0 804157a: 701a strb r2, [r3, #0] switch(pardata.OPTIONS & maskFFT) 804157c: 4bc4 ldr r3, [pc, #784] ; (8041890 ) 804157e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8041582: f003 0330 and.w r3, r3, #48 ; 0x30 8041586: 2b10 cmp r3, #16 8041588: d00d beq.n 80415a6 804158a: 2b10 cmp r3, #16 804158c: d803 bhi.n 8041596 804158e: 2b00 cmp r3, #0 8041590: d009 beq.n 80415a6 pardata.LP += 0.0001f; } } break; } break; 8041592: f003 bc01 b.w 8044d98 switch(pardata.OPTIONS & maskFFT) 8041596: 2b20 cmp r3, #32 8041598: f000 85f5 beq.w 8042186 804159c: 2b30 cmp r3, #48 ; 0x30 804159e: f000 85f2 beq.w 8042186 break; 80415a2: f003 bbf9 b.w 8044d98 if(menupos == Ok) 80415a6: 4bb8 ldr r3, [pc, #736] ; (8041888 ) 80415a8: 781b ldrb r3, [r3, #0] 80415aa: b2db uxtb r3, r3 80415ac: 2b00 cmp r3, #0 80415ae: d104 bne.n 80415ba menupos = SpecType; 80415b0: 4bb5 ldr r3, [pc, #724] ; (8041888 ) 80415b2: 2201 movs r2, #1 80415b4: 701a strb r2, [r3, #0] break; 80415b6: f001 bb9c b.w 8042cf2 if(menupos == SpecType) 80415ba: 4bb3 ldr r3, [pc, #716] ; (8041888 ) 80415bc: 781b ldrb r3, [r3, #0] 80415be: b2db uxtb r3, r3 80415c0: 2b01 cmp r3, #1 80415c2: d104 bne.n 80415ce menupos = SpecValue; 80415c4: 4bb0 ldr r3, [pc, #704] ; (8041888 ) 80415c6: 2202 movs r2, #2 80415c8: 701a strb r2, [r3, #0] break; 80415ca: f001 bb92 b.w 8042cf2 if(menupos == SpecValue) 80415ce: 4bae ldr r3, [pc, #696] ; (8041888 ) 80415d0: 781b ldrb r3, [r3, #0] 80415d2: b2db uxtb r3, r3 80415d4: 2b02 cmp r3, #2 80415d6: d104 bne.n 80415e2 menupos = FilterHP; 80415d8: 4bab ldr r3, [pc, #684] ; (8041888 ) 80415da: 2217 movs r2, #23 80415dc: 701a strb r2, [r3, #0] break; 80415de: f001 bb88 b.w 8042cf2 if(menupos == FilterHP) 80415e2: 4ba9 ldr r3, [pc, #676] ; (8041888 ) 80415e4: 781b ldrb r3, [r3, #0] 80415e6: b2db uxtb r3, r3 80415e8: 2b17 cmp r3, #23 80415ea: d104 bne.n 80415f6 menupos = FilterLP; 80415ec: 4ba6 ldr r3, [pc, #664] ; (8041888 ) 80415ee: 2218 movs r2, #24 80415f0: 701a strb r2, [r3, #0] break; 80415f2: f001 bb7e b.w 8042cf2 if(menupos == FilterLP) 80415f6: 4ba4 ldr r3, [pc, #656] ; (8041888 ) 80415f8: 781b ldrb r3, [r3, #0] 80415fa: b2db uxtb r3, r3 80415fc: 2b18 cmp r3, #24 80415fe: d104 bne.n 804160a menupos = SpecLines; 8041600: 4ba1 ldr r3, [pc, #644] ; (8041888 ) 8041602: 2204 movs r2, #4 8041604: 701a strb r2, [r3, #0] break; 8041606: f001 bb74 b.w 8042cf2 if(menupos == SpecLines) 804160a: 4b9f ldr r3, [pc, #636] ; (8041888 ) 804160c: 781b ldrb r3, [r3, #0] 804160e: b2db uxtb r3, r3 8041610: 2b04 cmp r3, #4 8041612: d104 bne.n 804161e menupos = LinLog; 8041614: 4b9c ldr r3, [pc, #624] ; (8041888 ) 8041616: 2205 movs r2, #5 8041618: 701a strb r2, [r3, #0] break; 804161a: f001 bb6a b.w 8042cf2 if(menupos == LinLog) 804161e: 4b9a ldr r3, [pc, #616] ; (8041888 ) 8041620: 781b ldrb r3, [r3, #0] 8041622: b2db uxtb r3, r3 8041624: 2b05 cmp r3, #5 8041626: d104 bne.n 8041632 menupos = SpecWin; 8041628: 4b97 ldr r3, [pc, #604] ; (8041888 ) 804162a: 2206 movs r2, #6 804162c: 701a strb r2, [r3, #0] break; 804162e: f001 bb60 b.w 8042cf2 if(menupos == SpecWin) 8041632: 4b95 ldr r3, [pc, #596] ; (8041888 ) 8041634: 781b ldrb r3, [r3, #0] 8041636: b2db uxtb r3, r3 8041638: 2b06 cmp r3, #6 804163a: d104 bne.n 8041646 menupos = SAverage; 804163c: 4b92 ldr r3, [pc, #584] ; (8041888 ) 804163e: 2207 movs r2, #7 8041640: 701a strb r2, [r3, #0] break; 8041642: f001 bb56 b.w 8042cf2 if(menupos == SAverage) 8041646: 4b90 ldr r3, [pc, #576] ; (8041888 ) 8041648: 781b ldrb r3, [r3, #0] 804164a: b2db uxtb r3, r3 804164c: 2b07 cmp r3, #7 804164e: d104 bne.n 804165a menupos = VibAutoKu; 8041650: 4b8d ldr r3, [pc, #564] ; (8041888 ) 8041652: 2208 movs r2, #8 8041654: 701a strb r2, [r3, #0] break; 8041656: f001 bb4c b.w 8042cf2 if(menupos == VibAutoKu) 804165a: 4b8b ldr r3, [pc, #556] ; (8041888 ) 804165c: 781b ldrb r3, [r3, #0] 804165e: b2db uxtb r3, r3 8041660: 2b08 cmp r3, #8 8041662: d110 bne.n 8041686 if(pardata.OPTIONS & 0x4) 8041664: 4b8a ldr r3, [pc, #552] ; (8041890 ) 8041666: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804166a: f003 0304 and.w r3, r3, #4 804166e: 2b00 cmp r3, #0 8041670: d004 beq.n 804167c menupos = Ok; 8041672: 4b85 ldr r3, [pc, #532] ; (8041888 ) 8041674: 2200 movs r2, #0 8041676: 701a strb r2, [r3, #0] break; 8041678: f001 bb3b b.w 8042cf2 else menupos = VibMax_ALL; 804167c: 4b82 ldr r3, [pc, #520] ; (8041888 ) 804167e: 2209 movs r2, #9 8041680: 701a strb r2, [r3, #0] break; 8041682: f001 bb36 b.w 8042cf2 if(menupos == VibMax_ALL) 8041686: 4b80 ldr r3, [pc, #512] ; (8041888 ) 8041688: 781b ldrb r3, [r3, #0] 804168a: b2db uxtb r3, r3 804168c: 2b09 cmp r3, #9 804168e: d104 bne.n 804169a menupos = Ok; 8041690: 4b7d ldr r3, [pc, #500] ; (8041888 ) 8041692: 2200 movs r2, #0 8041694: 701a strb r2, [r3, #0] break; 8041696: f001 bb2c b.w 8042cf2 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 804169a: 4b7b ldr r3, [pc, #492] ; (8041888 ) 804169c: 781b ldrb r3, [r3, #0] 804169e: b2db uxtb r3, r3 80416a0: 2b0a cmp r3, #10 80416a2: f240 8175 bls.w 8041990 80416a6: 4b78 ldr r3, [pc, #480] ; (8041888 ) 80416a8: 781b ldrb r3, [r3, #0] 80416aa: b2db uxtb r3, r3 80416ac: 2b10 cmp r3, #16 80416ae: f200 816f bhi.w 8041990 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 80416b2: 4b77 ldr r3, [pc, #476] ; (8041890 ) 80416b4: edd3 7a06 vldr s15, [r3, #24] 80416b8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80416bc: ee67 7a87 vmul.f32 s15, s15, s14 80416c0: eefc 7ae7 vcvt.u32.f32 s15, s15 80416c4: ee17 3a90 vmov r3, s15 80416c8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80416cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80416d0: 095b lsrs r3, r3, #5 80416d2: 4a70 ldr r2, [pc, #448] ; (8041894 ) 80416d4: fba2 2303 umull r2, r3, r2, r3 80416d8: 09db lsrs r3, r3, #7 80416da: b2db uxtb r3, r3 80416dc: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80416e0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80416e4: 0953 lsrs r3, r2, #5 80416e6: 496b ldr r1, [pc, #428] ; (8041894 ) 80416e8: fba1 1303 umull r1, r3, r1, r3 80416ec: 09db lsrs r3, r3, #7 80416ee: 496a ldr r1, [pc, #424] ; (8041898 ) 80416f0: fb01 f303 mul.w r3, r1, r3 80416f4: 1ad3 subs r3, r2, r3 80416f6: 4a69 ldr r2, [pc, #420] ; (804189c ) 80416f8: fba2 2303 umull r2, r3, r2, r3 80416fc: 0b5b lsrs r3, r3, #13 80416fe: b2db uxtb r3, r3 8041700: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8041704: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041708: 0953 lsrs r3, r2, #5 804170a: 4962 ldr r1, [pc, #392] ; (8041894 ) 804170c: fba1 1303 umull r1, r3, r1, r3 8041710: 09db lsrs r3, r3, #7 8041712: 4961 ldr r1, [pc, #388] ; (8041898 ) 8041714: fb01 f303 mul.w r3, r1, r3 8041718: 1ad3 subs r3, r2, r3 804171a: 4a60 ldr r2, [pc, #384] ; (804189c ) 804171c: fba2 1203 umull r1, r2, r2, r3 8041720: 0b52 lsrs r2, r2, #13 8041722: f242 7110 movw r1, #10000 ; 0x2710 8041726: fb01 f202 mul.w r2, r1, r2 804172a: 1a9a subs r2, r3, r2 804172c: 4b5c ldr r3, [pc, #368] ; (80418a0 ) 804172e: fba3 2302 umull r2, r3, r3, r2 8041732: 099b lsrs r3, r3, #6 8041734: b2db uxtb r3, r3 8041736: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 804173a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804173e: 095a lsrs r2, r3, #5 8041740: 4954 ldr r1, [pc, #336] ; (8041894 ) 8041742: fba1 1202 umull r1, r2, r1, r2 8041746: 09d2 lsrs r2, r2, #7 8041748: 4953 ldr r1, [pc, #332] ; (8041898 ) 804174a: fb01 f202 mul.w r2, r1, r2 804174e: 1a9a subs r2, r3, r2 8041750: 4b52 ldr r3, [pc, #328] ; (804189c ) 8041752: fba3 1302 umull r1, r3, r3, r2 8041756: 0b5b lsrs r3, r3, #13 8041758: f242 7110 movw r1, #10000 ; 0x2710 804175c: fb01 f303 mul.w r3, r1, r3 8041760: 1ad3 subs r3, r2, r3 8041762: 4a4f ldr r2, [pc, #316] ; (80418a0 ) 8041764: fba2 1203 umull r1, r2, r2, r3 8041768: 0992 lsrs r2, r2, #6 804176a: f44f 717a mov.w r1, #1000 ; 0x3e8 804176e: fb01 f202 mul.w r2, r1, r2 8041772: 1a9a subs r2, r3, r2 8041774: 4b4b ldr r3, [pc, #300] ; (80418a4 ) 8041776: fba3 2302 umull r2, r3, r3, r2 804177a: 095b lsrs r3, r3, #5 804177c: b2db uxtb r3, r3 804177e: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8041782: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041786: 0953 lsrs r3, r2, #5 8041788: 4942 ldr r1, [pc, #264] ; (8041894 ) 804178a: fba1 1303 umull r1, r3, r1, r3 804178e: 09db lsrs r3, r3, #7 8041790: 4941 ldr r1, [pc, #260] ; (8041898 ) 8041792: fb01 f303 mul.w r3, r1, r3 8041796: 1ad3 subs r3, r2, r3 8041798: 4a40 ldr r2, [pc, #256] ; (804189c ) 804179a: fba2 1203 umull r1, r2, r2, r3 804179e: 0b52 lsrs r2, r2, #13 80417a0: f242 7110 movw r1, #10000 ; 0x2710 80417a4: fb01 f202 mul.w r2, r1, r2 80417a8: 1a9a subs r2, r3, r2 80417aa: 4b3d ldr r3, [pc, #244] ; (80418a0 ) 80417ac: fba3 1302 umull r1, r3, r3, r2 80417b0: 099b lsrs r3, r3, #6 80417b2: f44f 717a mov.w r1, #1000 ; 0x3e8 80417b6: fb01 f303 mul.w r3, r1, r3 80417ba: 1ad3 subs r3, r2, r3 80417bc: 4a39 ldr r2, [pc, #228] ; (80418a4 ) 80417be: fba2 1203 umull r1, r2, r2, r3 80417c2: 0952 lsrs r2, r2, #5 80417c4: 2164 movs r1, #100 ; 0x64 80417c6: fb01 f202 mul.w r2, r1, r2 80417ca: 1a9a subs r2, r3, r2 80417cc: 4b36 ldr r3, [pc, #216] ; (80418a8 ) 80417ce: fba3 2302 umull r2, r3, r3, r2 80417d2: 08db lsrs r3, r3, #3 80417d4: b2db uxtb r3, r3 80417d6: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80417da: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80417de: 0953 lsrs r3, r2, #5 80417e0: 492c ldr r1, [pc, #176] ; (8041894 ) 80417e2: fba1 1303 umull r1, r3, r1, r3 80417e6: 09db lsrs r3, r3, #7 80417e8: 492b ldr r1, [pc, #172] ; (8041898 ) 80417ea: fb01 f303 mul.w r3, r1, r3 80417ee: 1ad3 subs r3, r2, r3 80417f0: 4a2a ldr r2, [pc, #168] ; (804189c ) 80417f2: fba2 1203 umull r1, r2, r2, r3 80417f6: 0b52 lsrs r2, r2, #13 80417f8: f242 7110 movw r1, #10000 ; 0x2710 80417fc: fb01 f202 mul.w r2, r1, r2 8041800: 1a9a subs r2, r3, r2 8041802: 4b27 ldr r3, [pc, #156] ; (80418a0 ) 8041804: fba3 1302 umull r1, r3, r3, r2 8041808: 099b lsrs r3, r3, #6 804180a: f44f 717a mov.w r1, #1000 ; 0x3e8 804180e: fb01 f303 mul.w r3, r1, r3 8041812: 1ad3 subs r3, r2, r3 8041814: 4a23 ldr r2, [pc, #140] ; (80418a4 ) 8041816: fba2 1203 umull r1, r2, r2, r3 804181a: 0952 lsrs r2, r2, #5 804181c: 2164 movs r1, #100 ; 0x64 804181e: fb01 f202 mul.w r2, r1, r2 8041822: 1a9a subs r2, r3, r2 8041824: 4b20 ldr r3, [pc, #128] ; (80418a8 ) 8041826: fba3 1302 umull r1, r3, r3, r2 804182a: 08d9 lsrs r1, r3, #3 804182c: 460b mov r3, r1 804182e: 009b lsls r3, r3, #2 8041830: 440b add r3, r1 8041832: 005b lsls r3, r3, #1 8041834: 1ad1 subs r1, r2, r3 8041836: b2cb uxtb r3, r1 8041838: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 804183c: 4b12 ldr r3, [pc, #72] ; (8041888 ) 804183e: 781b ldrb r3, [r3, #0] 8041840: b2db uxtb r3, r3 8041842: 3b0b subs r3, #11 8041844: 2b05 cmp r3, #5 8041846: d87e bhi.n 8041946 8041848: a201 add r2, pc, #4 ; (adr r2, 8041850 ) 804184a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804184e: bf00 nop 8041850: 08041869 .word 0x08041869 8041854: 080418b1 .word 0x080418b1 8041858: 080418d3 .word 0x080418d3 804185c: 080418f3 .word 0x080418f3 8041860: 0804190f .word 0x0804190f 8041864: 0804192b .word 0x0804192b if(k > 100000) k -= 100000; 8041868: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804186c: 4a0a ldr r2, [pc, #40] ; (8041898 ) 804186e: 4293 cmp r3, r2 8041870: d906 bls.n 8041880 8041872: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041876: 4b0d ldr r3, [pc, #52] ; (80418ac ) 8041878: 4413 add r3, r2 804187a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804187e: e062 b.n 8041946 else k = 0; 8041880: 2300 movs r3, #0 8041882: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041886: e05e b.n 8041946 8041888: 20020070 .word 0x20020070 804188c: 20020fd0 .word 0x20020fd0 8041890: 20023eb8 .word 0x20023eb8 8041894: 0a7c5ac5 .word 0x0a7c5ac5 8041898: 000186a0 .word 0x000186a0 804189c: d1b71759 .word 0xd1b71759 80418a0: 10624dd3 .word 0x10624dd3 80418a4: 51eb851f .word 0x51eb851f 80418a8: cccccccd .word 0xcccccccd 80418ac: fffe7960 .word 0xfffe7960 if(k > 10000) k -= 10000; 80418b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80418b4: f242 7210 movw r2, #10000 ; 0x2710 80418b8: 4293 cmp r3, r2 80418ba: d906 bls.n 80418ca 80418bc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80418c0: 4bd3 ldr r3, [pc, #844] ; (8041c10 ) 80418c2: 4413 add r3, r2 80418c4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80418c8: e03d b.n 8041946 else k = 0; 80418ca: 2300 movs r3, #0 80418cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80418d0: e039 b.n 8041946 if(k > 1000) k -= 1000; 80418d2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80418d6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80418da: d906 bls.n 80418ea 80418dc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80418e0: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 80418e4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80418e8: e02d b.n 8041946 else k = 0; 80418ea: 2300 movs r3, #0 80418ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80418f0: e029 b.n 8041946 if(k > 100) k -= 100; 80418f2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80418f6: 2b64 cmp r3, #100 ; 0x64 80418f8: d905 bls.n 8041906 80418fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80418fe: 3b64 subs r3, #100 ; 0x64 8041900: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041904: e01f b.n 8041946 else k = 0; 8041906: 2300 movs r3, #0 8041908: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804190c: e01b b.n 8041946 if(k > 10) k -= 10; 804190e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041912: 2b0a cmp r3, #10 8041914: d905 bls.n 8041922 8041916: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804191a: 3b0a subs r3, #10 804191c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041920: e011 b.n 8041946 else k = 0; 8041922: 2300 movs r3, #0 8041924: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041928: e00d b.n 8041946 if(k > 1) k -= 1; 804192a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804192e: 2b01 cmp r3, #1 8041930: d905 bls.n 804193e 8041932: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041936: 3b01 subs r3, #1 8041938: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804193c: e002 b.n 8041944 else k = 0; 804193e: 2300 movs r3, #0 8041940: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041944: bf00 nop if(k == 0) k = 1; 8041946: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804194a: 2b00 cmp r3, #0 804194c: d102 bne.n 8041954 804194e: 2301 movs r3, #1 8041950: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8041954: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041958: ee07 3a90 vmov s15, r3 804195c: eef8 7a67 vcvt.f32.u32 s15, s15 8041960: 4bac ldr r3, [pc, #688] ; (8041c14 ) 8041962: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8041966: 4bab ldr r3, [pc, #684] ; (8041c14 ) 8041968: edd3 7a06 vldr s15, [r3, #24] 804196c: ed9f 7ab3 vldr s14, [pc, #716] ; 8041c3c 8041970: ee67 7a87 vmul.f32 s15, s15, s14 8041974: 4ba7 ldr r3, [pc, #668] ; (8041c14 ) 8041976: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 804197a: 4ba6 ldr r3, [pc, #664] ; (8041c14 ) 804197c: edd3 7a06 vldr s15, [r3, #24] 8041980: ed9f 7aa5 vldr s14, [pc, #660] ; 8041c18 8041984: ee77 7a87 vadd.f32 s15, s15, s14 8041988: 4ba2 ldr r3, [pc, #648] ; (8041c14 ) 804198a: edc3 7a06 vstr s15, [r3, #24] 804198e: e3f8 b.n 8042182 if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 8041990: 4ba2 ldr r3, [pc, #648] ; (8041c1c ) 8041992: 781b ldrb r3, [r3, #0] 8041994: b2db uxtb r3, r3 8041996: 2b18 cmp r3, #24 8041998: f240 81f1 bls.w 8041d7e 804199c: 4b9f ldr r3, [pc, #636] ; (8041c1c ) 804199e: 781b ldrb r3, [r3, #0] 80419a0: b2db uxtb r3, r3 80419a2: 2b1e cmp r3, #30 80419a4: f200 81eb bhi.w 8041d7e k = (uint32_t) (pardata.HP * 10.0f); 80419a8: 4b9a ldr r3, [pc, #616] ; (8041c14 ) 80419aa: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80419ae: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80419b2: ee67 7a87 vmul.f32 s15, s15, s14 80419b6: eefc 7ae7 vcvt.u32.f32 s15, s15 80419ba: ee17 3a90 vmov r3, s15 80419be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80419c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80419c6: 095b lsrs r3, r3, #5 80419c8: 4a95 ldr r2, [pc, #596] ; (8041c20 ) 80419ca: fba2 2303 umull r2, r3, r2, r3 80419ce: 09db lsrs r3, r3, #7 80419d0: b2db uxtb r3, r3 80419d2: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80419d6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80419da: 0953 lsrs r3, r2, #5 80419dc: 4990 ldr r1, [pc, #576] ; (8041c20 ) 80419de: fba1 1303 umull r1, r3, r1, r3 80419e2: 09db lsrs r3, r3, #7 80419e4: 498f ldr r1, [pc, #572] ; (8041c24 ) 80419e6: fb01 f303 mul.w r3, r1, r3 80419ea: 1ad3 subs r3, r2, r3 80419ec: 4a8e ldr r2, [pc, #568] ; (8041c28 ) 80419ee: fba2 2303 umull r2, r3, r2, r3 80419f2: 0b5b lsrs r3, r3, #13 80419f4: b2db uxtb r3, r3 80419f6: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80419fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80419fe: 0953 lsrs r3, r2, #5 8041a00: 4987 ldr r1, [pc, #540] ; (8041c20 ) 8041a02: fba1 1303 umull r1, r3, r1, r3 8041a06: 09db lsrs r3, r3, #7 8041a08: 4986 ldr r1, [pc, #536] ; (8041c24 ) 8041a0a: fb01 f303 mul.w r3, r1, r3 8041a0e: 1ad3 subs r3, r2, r3 8041a10: 4a85 ldr r2, [pc, #532] ; (8041c28 ) 8041a12: fba2 1203 umull r1, r2, r2, r3 8041a16: 0b52 lsrs r2, r2, #13 8041a18: f242 7110 movw r1, #10000 ; 0x2710 8041a1c: fb01 f202 mul.w r2, r1, r2 8041a20: 1a9a subs r2, r3, r2 8041a22: 4b82 ldr r3, [pc, #520] ; (8041c2c ) 8041a24: fba3 2302 umull r2, r3, r3, r2 8041a28: 099b lsrs r3, r3, #6 8041a2a: b2db uxtb r3, r3 8041a2c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8041a30: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041a34: 095a lsrs r2, r3, #5 8041a36: 497a ldr r1, [pc, #488] ; (8041c20 ) 8041a38: fba1 1202 umull r1, r2, r1, r2 8041a3c: 09d2 lsrs r2, r2, #7 8041a3e: 4979 ldr r1, [pc, #484] ; (8041c24 ) 8041a40: fb01 f202 mul.w r2, r1, r2 8041a44: 1a9a subs r2, r3, r2 8041a46: 4b78 ldr r3, [pc, #480] ; (8041c28 ) 8041a48: fba3 1302 umull r1, r3, r3, r2 8041a4c: 0b5b lsrs r3, r3, #13 8041a4e: f242 7110 movw r1, #10000 ; 0x2710 8041a52: fb01 f303 mul.w r3, r1, r3 8041a56: 1ad3 subs r3, r2, r3 8041a58: 4a74 ldr r2, [pc, #464] ; (8041c2c ) 8041a5a: fba2 1203 umull r1, r2, r2, r3 8041a5e: 0992 lsrs r2, r2, #6 8041a60: f44f 717a mov.w r1, #1000 ; 0x3e8 8041a64: fb01 f202 mul.w r2, r1, r2 8041a68: 1a9a subs r2, r3, r2 8041a6a: 4b71 ldr r3, [pc, #452] ; (8041c30 ) 8041a6c: fba3 2302 umull r2, r3, r3, r2 8041a70: 095b lsrs r3, r3, #5 8041a72: b2db uxtb r3, r3 8041a74: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8041a78: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041a7c: 0953 lsrs r3, r2, #5 8041a7e: 4968 ldr r1, [pc, #416] ; (8041c20 ) 8041a80: fba1 1303 umull r1, r3, r1, r3 8041a84: 09db lsrs r3, r3, #7 8041a86: 4967 ldr r1, [pc, #412] ; (8041c24 ) 8041a88: fb01 f303 mul.w r3, r1, r3 8041a8c: 1ad3 subs r3, r2, r3 8041a8e: 4a66 ldr r2, [pc, #408] ; (8041c28 ) 8041a90: fba2 1203 umull r1, r2, r2, r3 8041a94: 0b52 lsrs r2, r2, #13 8041a96: f242 7110 movw r1, #10000 ; 0x2710 8041a9a: fb01 f202 mul.w r2, r1, r2 8041a9e: 1a9a subs r2, r3, r2 8041aa0: 4b62 ldr r3, [pc, #392] ; (8041c2c ) 8041aa2: fba3 1302 umull r1, r3, r3, r2 8041aa6: 099b lsrs r3, r3, #6 8041aa8: f44f 717a mov.w r1, #1000 ; 0x3e8 8041aac: fb01 f303 mul.w r3, r1, r3 8041ab0: 1ad3 subs r3, r2, r3 8041ab2: 4a5f ldr r2, [pc, #380] ; (8041c30 ) 8041ab4: fba2 1203 umull r1, r2, r2, r3 8041ab8: 0952 lsrs r2, r2, #5 8041aba: 2164 movs r1, #100 ; 0x64 8041abc: fb01 f202 mul.w r2, r1, r2 8041ac0: 1a9a subs r2, r3, r2 8041ac2: 4b5c ldr r3, [pc, #368] ; (8041c34 ) 8041ac4: fba3 2302 umull r2, r3, r3, r2 8041ac8: 08db lsrs r3, r3, #3 8041aca: b2db uxtb r3, r3 8041acc: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8041ad0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041ad4: 0953 lsrs r3, r2, #5 8041ad6: 4952 ldr r1, [pc, #328] ; (8041c20 ) 8041ad8: fba1 1303 umull r1, r3, r1, r3 8041adc: 09db lsrs r3, r3, #7 8041ade: 4951 ldr r1, [pc, #324] ; (8041c24 ) 8041ae0: fb01 f303 mul.w r3, r1, r3 8041ae4: 1ad3 subs r3, r2, r3 8041ae6: 4a50 ldr r2, [pc, #320] ; (8041c28 ) 8041ae8: fba2 1203 umull r1, r2, r2, r3 8041aec: 0b52 lsrs r2, r2, #13 8041aee: f242 7110 movw r1, #10000 ; 0x2710 8041af2: fb01 f202 mul.w r2, r1, r2 8041af6: 1a9a subs r2, r3, r2 8041af8: 4b4c ldr r3, [pc, #304] ; (8041c2c ) 8041afa: fba3 1302 umull r1, r3, r3, r2 8041afe: 099b lsrs r3, r3, #6 8041b00: f44f 717a mov.w r1, #1000 ; 0x3e8 8041b04: fb01 f303 mul.w r3, r1, r3 8041b08: 1ad3 subs r3, r2, r3 8041b0a: 4a49 ldr r2, [pc, #292] ; (8041c30 ) 8041b0c: fba2 1203 umull r1, r2, r2, r3 8041b10: 0952 lsrs r2, r2, #5 8041b12: 2164 movs r1, #100 ; 0x64 8041b14: fb01 f202 mul.w r2, r1, r2 8041b18: 1a9a subs r2, r3, r2 8041b1a: 4b46 ldr r3, [pc, #280] ; (8041c34 ) 8041b1c: fba3 1302 umull r1, r3, r3, r2 8041b20: 08d9 lsrs r1, r3, #3 8041b22: 460b mov r3, r1 8041b24: 009b lsls r3, r3, #2 8041b26: 440b add r3, r1 8041b28: 005b lsls r3, r3, #1 8041b2a: 1ad1 subs r1, r2, r3 8041b2c: b2cb uxtb r3, r1 8041b2e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8041b32: 4b3a ldr r3, [pc, #232] ; (8041c1c ) 8041b34: 781b ldrb r3, [r3, #0] 8041b36: b2db uxtb r3, r3 8041b38: 3b19 subs r3, #25 8041b3a: 2b05 cmp r3, #5 8041b3c: f200 8086 bhi.w 8041c4c 8041b40: a201 add r2, pc, #4 ; (adr r2, 8041b48 ) 8041b42: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8041b46: bf00 nop 8041b48: 08041b61 .word 0x08041b61 8041b4c: 08041b81 .word 0x08041b81 8041b50: 08041ba3 .word 0x08041ba3 8041b54: 08041bc3 .word 0x08041bc3 8041b58: 08041bdf .word 0x08041bdf 8041b5c: 08041bfb .word 0x08041bfb if(k > 100000) k -= 100000; 8041b60: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041b64: 4a2f ldr r2, [pc, #188] ; (8041c24 ) 8041b66: 4293 cmp r3, r2 8041b68: d906 bls.n 8041b78 8041b6a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041b6e: 4b32 ldr r3, [pc, #200] ; (8041c38 ) 8041b70: 4413 add r3, r2 8041b72: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041b76: e069 b.n 8041c4c else k = 0; 8041b78: 2300 movs r3, #0 8041b7a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041b7e: e065 b.n 8041c4c if(k > 10000) k -= 10000; 8041b80: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041b84: f242 7210 movw r2, #10000 ; 0x2710 8041b88: 4293 cmp r3, r2 8041b8a: d906 bls.n 8041b9a 8041b8c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041b90: 4b1f ldr r3, [pc, #124] ; (8041c10 ) 8041b92: 4413 add r3, r2 8041b94: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041b98: e058 b.n 8041c4c else k = 0; 8041b9a: 2300 movs r3, #0 8041b9c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041ba0: e054 b.n 8041c4c if(k > 1000) k -= 1000; 8041ba2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041ba6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8041baa: d906 bls.n 8041bba 8041bac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041bb0: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8041bb4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041bb8: e048 b.n 8041c4c else k = 0; 8041bba: 2300 movs r3, #0 8041bbc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041bc0: e044 b.n 8041c4c if(k > 100) k -= 100; 8041bc2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041bc6: 2b64 cmp r3, #100 ; 0x64 8041bc8: d905 bls.n 8041bd6 8041bca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041bce: 3b64 subs r3, #100 ; 0x64 8041bd0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041bd4: e03a b.n 8041c4c else k = 0; 8041bd6: 2300 movs r3, #0 8041bd8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041bdc: e036 b.n 8041c4c if(k > 10) k -= 10; 8041bde: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041be2: 2b0a cmp r3, #10 8041be4: d905 bls.n 8041bf2 8041be6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041bea: 3b0a subs r3, #10 8041bec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041bf0: e02c b.n 8041c4c else k = 0; 8041bf2: 2300 movs r3, #0 8041bf4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041bf8: e028 b.n 8041c4c if(k > 1) k -= 1; 8041bfa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041bfe: 2b01 cmp r3, #1 8041c00: d920 bls.n 8041c44 8041c02: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041c06: 3b01 subs r3, #1 8041c08: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041c0c: e01d b.n 8041c4a 8041c0e: bf00 nop 8041c10: ffffd8f0 .word 0xffffd8f0 8041c14: 20023eb8 .word 0x20023eb8 8041c18: 3d4ccccd .word 0x3d4ccccd 8041c1c: 20020070 .word 0x20020070 8041c20: 0a7c5ac5 .word 0x0a7c5ac5 8041c24: 000186a0 .word 0x000186a0 8041c28: d1b71759 .word 0xd1b71759 8041c2c: 10624dd3 .word 0x10624dd3 8041c30: 51eb851f .word 0x51eb851f 8041c34: cccccccd .word 0xcccccccd 8041c38: fffe7960 .word 0xfffe7960 8041c3c: 3dcccccd .word 0x3dcccccd 8041c40: 38d1b717 .word 0x38d1b717 else k = 0; 8041c44: 2300 movs r3, #0 8041c46: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041c4a: bf00 nop fl = (float32_t) k; 8041c4c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041c50: ee07 3a90 vmov s15, r3 8041c54: eef8 7a67 vcvt.f32.u32 s15, s15 8041c58: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8041c5c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041c60: ed1f 7a0a vldr s14, [pc, #-40] ; 8041c3c 8041c64: ee67 7a87 vmul.f32 s15, s15, s14 8041c68: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8041c6c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041c70: ed1f 7a0d vldr s14, [pc, #-52] ; 8041c40 8041c74: ee77 7a87 vadd.f32 s15, s15, s14 8041c78: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 8041c7c: 4bd1 ldr r3, [pc, #836] ; (8041fc4 ) 8041c7e: 785b ldrb r3, [r3, #1] 8041c80: b2db uxtb r3, r3 8041c82: 2b00 cmp r3, #0 8041c84: d13d bne.n 8041d02 if(fl < 0.5f) 8041c86: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041c8a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8041c8e: eef4 7ac7 vcmpe.f32 s15, s14 8041c92: eef1 fa10 vmrs APSR_nzcv, fpscr 8041c96: d505 bpl.n 8041ca4 pardata.HP = 0.5f; 8041c98: 4bca ldr r3, [pc, #808] ; (8041fc4 ) 8041c9a: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8041c9e: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8041ca2: e26e b.n 8042182 if(fl > pardata.LP) 8041ca4: 4bc7 ldr r3, [pc, #796] ; (8041fc4 ) 8041ca6: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8041caa: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041cae: eeb4 7ae7 vcmpe.f32 s14, s15 8041cb2: eef1 fa10 vmrs APSR_nzcv, fpscr 8041cb6: d506 bpl.n 8041cc6 pardata.HP = pardata.LP; 8041cb8: 4bc2 ldr r3, [pc, #776] ; (8041fc4 ) 8041cba: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8041cbe: 4ac1 ldr r2, [pc, #772] ; (8041fc4 ) 8041cc0: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8041cc4: e25d b.n 8042182 pardata.HP = (float32_t) k; 8041cc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041cca: ee07 3a90 vmov s15, r3 8041cce: eef8 7a67 vcvt.f32.u32 s15, s15 8041cd2: 4bbc ldr r3, [pc, #752] ; (8041fc4 ) 8041cd4: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8041cd8: 4bba ldr r3, [pc, #744] ; (8041fc4 ) 8041cda: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8041cde: ed9f 7ac3 vldr s14, [pc, #780] ; 8041fec 8041ce2: ee67 7a87 vmul.f32 s15, s15, s14 8041ce6: 4bb7 ldr r3, [pc, #732] ; (8041fc4 ) 8041ce8: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8041cec: 4bb5 ldr r3, [pc, #724] ; (8041fc4 ) 8041cee: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8041cf2: ed9f 7abf vldr s14, [pc, #764] ; 8041ff0 8041cf6: ee77 7a87 vadd.f32 s15, s15, s14 8041cfa: 4bb2 ldr r3, [pc, #712] ; (8041fc4 ) 8041cfc: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8041d00: e23f b.n 8042182 if(fl < 2.0f) 8041d02: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041d06: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8041d0a: eef4 7ac7 vcmpe.f32 s15, s14 8041d0e: eef1 fa10 vmrs APSR_nzcv, fpscr 8041d12: d505 bpl.n 8041d20 pardata.HP = 2.0f; 8041d14: 4bab ldr r3, [pc, #684] ; (8041fc4 ) 8041d16: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8041d1a: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8041d1e: e230 b.n 8042182 if(fl > pardata.LP) 8041d20: 4ba8 ldr r3, [pc, #672] ; (8041fc4 ) 8041d22: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8041d26: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041d2a: eeb4 7ae7 vcmpe.f32 s14, s15 8041d2e: eef1 fa10 vmrs APSR_nzcv, fpscr 8041d32: d506 bpl.n 8041d42 pardata.HP = pardata.LP; 8041d34: 4ba3 ldr r3, [pc, #652] ; (8041fc4 ) 8041d36: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8041d3a: 4aa2 ldr r2, [pc, #648] ; (8041fc4 ) 8041d3c: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8041d40: e21f b.n 8042182 pardata.HP = (float32_t) k; 8041d42: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041d46: ee07 3a90 vmov s15, r3 8041d4a: eef8 7a67 vcvt.f32.u32 s15, s15 8041d4e: 4b9d ldr r3, [pc, #628] ; (8041fc4 ) 8041d50: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8041d54: 4b9b ldr r3, [pc, #620] ; (8041fc4 ) 8041d56: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8041d5a: ed9f 7aa4 vldr s14, [pc, #656] ; 8041fec 8041d5e: ee67 7a87 vmul.f32 s15, s15, s14 8041d62: 4b98 ldr r3, [pc, #608] ; (8041fc4 ) 8041d64: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8041d68: 4b96 ldr r3, [pc, #600] ; (8041fc4 ) 8041d6a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8041d6e: ed9f 7aa0 vldr s14, [pc, #640] ; 8041ff0 8041d72: ee77 7a87 vadd.f32 s15, s15, s14 8041d76: 4b93 ldr r3, [pc, #588] ; (8041fc4 ) 8041d78: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8041d7c: e201 b.n 8042182 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 8041d7e: 4b92 ldr r3, [pc, #584] ; (8041fc8 ) 8041d80: 781b ldrb r3, [r3, #0] 8041d82: b2db uxtb r3, r3 8041d84: 2b1e cmp r3, #30 8041d86: f240 87b4 bls.w 8042cf2 8041d8a: 4b8f ldr r3, [pc, #572] ; (8041fc8 ) 8041d8c: 781b ldrb r3, [r3, #0] 8041d8e: b2db uxtb r3, r3 8041d90: 2b24 cmp r3, #36 ; 0x24 8041d92: f200 87ae bhi.w 8042cf2 k = (uint32_t) (pardata.LP * 10.0f); 8041d96: 4b8b ldr r3, [pc, #556] ; (8041fc4 ) 8041d98: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8041d9c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8041da0: ee67 7a87 vmul.f32 s15, s15, s14 8041da4: eefc 7ae7 vcvt.u32.f32 s15, s15 8041da8: ee17 3a90 vmov r3, s15 8041dac: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8041db0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041db4: 095b lsrs r3, r3, #5 8041db6: 4a85 ldr r2, [pc, #532] ; (8041fcc ) 8041db8: fba2 2303 umull r2, r3, r2, r3 8041dbc: 09db lsrs r3, r3, #7 8041dbe: b2db uxtb r3, r3 8041dc0: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8041dc4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041dc8: 0953 lsrs r3, r2, #5 8041dca: 4980 ldr r1, [pc, #512] ; (8041fcc ) 8041dcc: fba1 1303 umull r1, r3, r1, r3 8041dd0: 09db lsrs r3, r3, #7 8041dd2: 497f ldr r1, [pc, #508] ; (8041fd0 ) 8041dd4: fb01 f303 mul.w r3, r1, r3 8041dd8: 1ad3 subs r3, r2, r3 8041dda: 4a7e ldr r2, [pc, #504] ; (8041fd4 ) 8041ddc: fba2 2303 umull r2, r3, r2, r3 8041de0: 0b5b lsrs r3, r3, #13 8041de2: b2db uxtb r3, r3 8041de4: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8041de8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041dec: 0953 lsrs r3, r2, #5 8041dee: 4977 ldr r1, [pc, #476] ; (8041fcc ) 8041df0: fba1 1303 umull r1, r3, r1, r3 8041df4: 09db lsrs r3, r3, #7 8041df6: 4976 ldr r1, [pc, #472] ; (8041fd0 ) 8041df8: fb01 f303 mul.w r3, r1, r3 8041dfc: 1ad3 subs r3, r2, r3 8041dfe: 4a75 ldr r2, [pc, #468] ; (8041fd4 ) 8041e00: fba2 1203 umull r1, r2, r2, r3 8041e04: 0b52 lsrs r2, r2, #13 8041e06: f242 7110 movw r1, #10000 ; 0x2710 8041e0a: fb01 f202 mul.w r2, r1, r2 8041e0e: 1a9a subs r2, r3, r2 8041e10: 4b71 ldr r3, [pc, #452] ; (8041fd8 ) 8041e12: fba3 2302 umull r2, r3, r3, r2 8041e16: 099b lsrs r3, r3, #6 8041e18: b2db uxtb r3, r3 8041e1a: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8041e1e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041e22: 095a lsrs r2, r3, #5 8041e24: 4969 ldr r1, [pc, #420] ; (8041fcc ) 8041e26: fba1 1202 umull r1, r2, r1, r2 8041e2a: 09d2 lsrs r2, r2, #7 8041e2c: 4968 ldr r1, [pc, #416] ; (8041fd0 ) 8041e2e: fb01 f202 mul.w r2, r1, r2 8041e32: 1a9a subs r2, r3, r2 8041e34: 4b67 ldr r3, [pc, #412] ; (8041fd4 ) 8041e36: fba3 1302 umull r1, r3, r3, r2 8041e3a: 0b5b lsrs r3, r3, #13 8041e3c: f242 7110 movw r1, #10000 ; 0x2710 8041e40: fb01 f303 mul.w r3, r1, r3 8041e44: 1ad3 subs r3, r2, r3 8041e46: 4a64 ldr r2, [pc, #400] ; (8041fd8 ) 8041e48: fba2 1203 umull r1, r2, r2, r3 8041e4c: 0992 lsrs r2, r2, #6 8041e4e: f44f 717a mov.w r1, #1000 ; 0x3e8 8041e52: fb01 f202 mul.w r2, r1, r2 8041e56: 1a9a subs r2, r3, r2 8041e58: 4b60 ldr r3, [pc, #384] ; (8041fdc ) 8041e5a: fba3 2302 umull r2, r3, r3, r2 8041e5e: 095b lsrs r3, r3, #5 8041e60: b2db uxtb r3, r3 8041e62: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8041e66: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041e6a: 0953 lsrs r3, r2, #5 8041e6c: 4957 ldr r1, [pc, #348] ; (8041fcc ) 8041e6e: fba1 1303 umull r1, r3, r1, r3 8041e72: 09db lsrs r3, r3, #7 8041e74: 4956 ldr r1, [pc, #344] ; (8041fd0 ) 8041e76: fb01 f303 mul.w r3, r1, r3 8041e7a: 1ad3 subs r3, r2, r3 8041e7c: 4a55 ldr r2, [pc, #340] ; (8041fd4 ) 8041e7e: fba2 1203 umull r1, r2, r2, r3 8041e82: 0b52 lsrs r2, r2, #13 8041e84: f242 7110 movw r1, #10000 ; 0x2710 8041e88: fb01 f202 mul.w r2, r1, r2 8041e8c: 1a9a subs r2, r3, r2 8041e8e: 4b52 ldr r3, [pc, #328] ; (8041fd8 ) 8041e90: fba3 1302 umull r1, r3, r3, r2 8041e94: 099b lsrs r3, r3, #6 8041e96: f44f 717a mov.w r1, #1000 ; 0x3e8 8041e9a: fb01 f303 mul.w r3, r1, r3 8041e9e: 1ad3 subs r3, r2, r3 8041ea0: 4a4e ldr r2, [pc, #312] ; (8041fdc ) 8041ea2: fba2 1203 umull r1, r2, r2, r3 8041ea6: 0952 lsrs r2, r2, #5 8041ea8: 2164 movs r1, #100 ; 0x64 8041eaa: fb01 f202 mul.w r2, r1, r2 8041eae: 1a9a subs r2, r3, r2 8041eb0: 4b4b ldr r3, [pc, #300] ; (8041fe0 ) 8041eb2: fba3 2302 umull r2, r3, r3, r2 8041eb6: 08db lsrs r3, r3, #3 8041eb8: b2db uxtb r3, r3 8041eba: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8041ebe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041ec2: 0953 lsrs r3, r2, #5 8041ec4: 4941 ldr r1, [pc, #260] ; (8041fcc ) 8041ec6: fba1 1303 umull r1, r3, r1, r3 8041eca: 09db lsrs r3, r3, #7 8041ecc: 4940 ldr r1, [pc, #256] ; (8041fd0 ) 8041ece: fb01 f303 mul.w r3, r1, r3 8041ed2: 1ad3 subs r3, r2, r3 8041ed4: 4a3f ldr r2, [pc, #252] ; (8041fd4 ) 8041ed6: fba2 1203 umull r1, r2, r2, r3 8041eda: 0b52 lsrs r2, r2, #13 8041edc: f242 7110 movw r1, #10000 ; 0x2710 8041ee0: fb01 f202 mul.w r2, r1, r2 8041ee4: 1a9a subs r2, r3, r2 8041ee6: 4b3c ldr r3, [pc, #240] ; (8041fd8 ) 8041ee8: fba3 1302 umull r1, r3, r3, r2 8041eec: 099b lsrs r3, r3, #6 8041eee: f44f 717a mov.w r1, #1000 ; 0x3e8 8041ef2: fb01 f303 mul.w r3, r1, r3 8041ef6: 1ad3 subs r3, r2, r3 8041ef8: 4a38 ldr r2, [pc, #224] ; (8041fdc ) 8041efa: fba2 1203 umull r1, r2, r2, r3 8041efe: 0952 lsrs r2, r2, #5 8041f00: 2164 movs r1, #100 ; 0x64 8041f02: fb01 f202 mul.w r2, r1, r2 8041f06: 1a9a subs r2, r3, r2 8041f08: 4b35 ldr r3, [pc, #212] ; (8041fe0 ) 8041f0a: fba3 1302 umull r1, r3, r3, r2 8041f0e: 08d9 lsrs r1, r3, #3 8041f10: 460b mov r3, r1 8041f12: 009b lsls r3, r3, #2 8041f14: 440b add r3, r1 8041f16: 005b lsls r3, r3, #1 8041f18: 1ad1 subs r1, r2, r3 8041f1a: b2cb uxtb r3, r1 8041f1c: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8041f20: 4b29 ldr r3, [pc, #164] ; (8041fc8 ) 8041f22: 781b ldrb r3, [r3, #0] 8041f24: b2db uxtb r3, r3 8041f26: 3b1f subs r3, #31 8041f28: 2b05 cmp r3, #5 8041f2a: f200 8083 bhi.w 8042034 8041f2e: a201 add r2, pc, #4 ; (adr r2, 8041f34 ) 8041f30: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8041f34: 08041f4d .word 0x08041f4d 8041f38: 08041f6d .word 0x08041f6d 8041f3c: 08041f8f .word 0x08041f8f 8041f40: 08041faf .word 0x08041faf 8041f44: 08041ffd .word 0x08041ffd 8041f48: 08042019 .word 0x08042019 if(k > 100000) k -= 100000; 8041f4c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041f50: 4a1f ldr r2, [pc, #124] ; (8041fd0 ) 8041f52: 4293 cmp r3, r2 8041f54: d906 bls.n 8041f64 8041f56: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041f5a: 4b22 ldr r3, [pc, #136] ; (8041fe4 ) 8041f5c: 4413 add r3, r2 8041f5e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041f62: e067 b.n 8042034 else k = 0; 8041f64: 2300 movs r3, #0 8041f66: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041f6a: e063 b.n 8042034 if(k > 10000) k -= 10000; 8041f6c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041f70: f242 7210 movw r2, #10000 ; 0x2710 8041f74: 4293 cmp r3, r2 8041f76: d906 bls.n 8041f86 8041f78: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041f7c: 4b1a ldr r3, [pc, #104] ; (8041fe8 ) 8041f7e: 4413 add r3, r2 8041f80: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041f84: e056 b.n 8042034 else k = 0; 8041f86: 2300 movs r3, #0 8041f88: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041f8c: e052 b.n 8042034 if(k > 1000) k -= 1000; 8041f8e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041f92: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8041f96: d906 bls.n 8041fa6 8041f98: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041f9c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8041fa0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041fa4: e046 b.n 8042034 else k = 0; 8041fa6: 2300 movs r3, #0 8041fa8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041fac: e042 b.n 8042034 if(k > 100) k -= 100; 8041fae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041fb2: 2b64 cmp r3, #100 ; 0x64 8041fb4: d91e bls.n 8041ff4 8041fb6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041fba: 3b64 subs r3, #100 ; 0x64 8041fbc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041fc0: e038 b.n 8042034 8041fc2: bf00 nop 8041fc4: 20023eb8 .word 0x20023eb8 8041fc8: 20020070 .word 0x20020070 8041fcc: 0a7c5ac5 .word 0x0a7c5ac5 8041fd0: 000186a0 .word 0x000186a0 8041fd4: d1b71759 .word 0xd1b71759 8041fd8: 10624dd3 .word 0x10624dd3 8041fdc: 51eb851f .word 0x51eb851f 8041fe0: cccccccd .word 0xcccccccd 8041fe4: fffe7960 .word 0xfffe7960 8041fe8: ffffd8f0 .word 0xffffd8f0 8041fec: 3dcccccd .word 0x3dcccccd 8041ff0: 38d1b717 .word 0x38d1b717 else k = 0; 8041ff4: 2300 movs r3, #0 8041ff6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041ffa: e01b b.n 8042034 if(k > 10) k -= 10; 8041ffc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042000: 2b0a cmp r3, #10 8042002: d905 bls.n 8042010 8042004: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042008: 3b0a subs r3, #10 804200a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804200e: e011 b.n 8042034 else k = 0; 8042010: 2300 movs r3, #0 8042012: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042016: e00d b.n 8042034 if(k > 1) k -= 1; 8042018: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804201c: 2b01 cmp r3, #1 804201e: d905 bls.n 804202c 8042020: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042024: 3b01 subs r3, #1 8042026: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804202a: e002 b.n 8042032 else k = 0; 804202c: 2300 movs r3, #0 804202e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042032: bf00 nop fl = (float32_t) k; 8042034: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042038: ee07 3a90 vmov s15, r3 804203c: eef8 7a67 vcvt.f32.u32 s15, s15 8042040: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8042044: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042048: ed1f 7a18 vldr s14, [pc, #-96] ; 8041fec 804204c: ee67 7a87 vmul.f32 s15, s15, s14 8042050: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8042054: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042058: ed1f 7a1b vldr s14, [pc, #-108] ; 8041ff0 804205c: ee77 7a87 vadd.f32 s15, s15, s14 8042060: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 8042064: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042068: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804206c: eef4 7ac7 vcmpe.f32 s15, s14 8042070: eef1 fa10 vmrs APSR_nzcv, fpscr 8042074: d504 bpl.n 8042080 pardata.LP = 10.0f; 8042076: 4b77 ldr r3, [pc, #476] ; (8042254 ) 8042078: 4a77 ldr r2, [pc, #476] ; (8042258 ) 804207a: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 804207e: e03c b.n 80420fa if(pardata.LP < pardata.HP) 8042080: 4b74 ldr r3, [pc, #464] ; (8042254 ) 8042082: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8042086: 4b73 ldr r3, [pc, #460] ; (8042254 ) 8042088: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804208c: eeb4 7ae7 vcmpe.f32 s14, s15 8042090: eef1 fa10 vmrs APSR_nzcv, fpscr 8042094: d506 bpl.n 80420a4 pardata.LP = pardata.HP; 8042096: 4b6f ldr r3, [pc, #444] ; (8042254 ) 8042098: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 804209c: 4a6d ldr r2, [pc, #436] ; (8042254 ) 804209e: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 80420a2: e02a b.n 80420fa if(fl > 12800.0f) 80420a4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80420a8: ed9f 7a6c vldr s14, [pc, #432] ; 804225c 80420ac: eef4 7ac7 vcmpe.f32 s15, s14 80420b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80420b4: dd04 ble.n 80420c0 pardata.LP = 12800.0f; 80420b6: 4b67 ldr r3, [pc, #412] ; (8042254 ) 80420b8: 4a69 ldr r2, [pc, #420] ; (8042260 ) 80420ba: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 80420be: e01c b.n 80420fa pardata.LP = (float32_t) k; 80420c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80420c4: ee07 3a90 vmov s15, r3 80420c8: eef8 7a67 vcvt.f32.u32 s15, s15 80420cc: 4b61 ldr r3, [pc, #388] ; (8042254 ) 80420ce: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 80420d2: 4b60 ldr r3, [pc, #384] ; (8042254 ) 80420d4: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80420d8: ed9f 7a62 vldr s14, [pc, #392] ; 8042264 80420dc: ee67 7a87 vmul.f32 s15, s15, s14 80420e0: 4b5c ldr r3, [pc, #368] ; (8042254 ) 80420e2: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 80420e6: 4b5b ldr r3, [pc, #364] ; (8042254 ) 80420e8: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80420ec: ed9f 7a5e vldr s14, [pc, #376] ; 8042268 80420f0: ee77 7a87 vadd.f32 s15, s15, s14 80420f4: 4b57 ldr r3, [pc, #348] ; (8042254 ) 80420f6: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 k = _64000Hz; 80420fa: 2309 movs r3, #9 80420fc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8042100: e039 b.n 8042176 f = (float32_t) FS[k] / pardata.LP; 8042102: 4a5a ldr r2, [pc, #360] ; (804226c ) 8042104: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042108: f852 3023 ldr.w r3, [r2, r3, lsl #2] 804210c: ee07 3a90 vmov s15, r3 8042110: eef8 6a67 vcvt.f32.u32 s13, s15 8042114: 4b4f ldr r3, [pc, #316] ; (8042254 ) 8042116: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 804211a: eec6 7a87 vdiv.f32 s15, s13, s14 804211e: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8042122: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8042126: ed9f 7a50 vldr s14, [pc, #320] ; 8042268 804212a: ee77 7a87 vadd.f32 s15, s15, s14 804212e: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8042132: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8042136: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 804213a: eef4 7ac7 vcmpe.f32 s15, s14 804213e: eef1 fa10 vmrs APSR_nzcv, fpscr 8042142: d507 bpl.n 8042154 pardata.FRQ = k + 1; 8042144: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042148: b2db uxtb r3, r3 804214a: 3301 adds r3, #1 804214c: b2da uxtb r2, r3 804214e: 4b41 ldr r3, [pc, #260] ; (8042254 ) 8042150: 72da strb r2, [r3, #11] break; 8042152: e016 b.n 8042182 if(k > 0) 8042154: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042158: 2b00 cmp r3, #0 804215a: d004 beq.n 8042166 k--; 804215c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042160: 3b01 subs r3, #1 8042162: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 8042166: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804216a: 2b00 cmp r3, #0 804216c: d103 bne.n 8042176 pardata.FRQ = _125Hz; 804216e: 4b39 ldr r3, [pc, #228] ; (8042254 ) 8042170: 2200 movs r2, #0 8042172: 72da strb r2, [r3, #11] break; 8042174: e005 b.n 8042182 while(k > _125Hz) 8042176: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804217a: 2b00 cmp r3, #0 804217c: d1c1 bne.n 8042102 break; 804217e: f000 bdb8 b.w 8042cf2 8042182: f000 bdb6 b.w 8042cf2 if(menupos == Ok) 8042186: 4b3a ldr r3, [pc, #232] ; (8042270 ) 8042188: 781b ldrb r3, [r3, #0] 804218a: b2db uxtb r3, r3 804218c: 2b00 cmp r3, #0 804218e: d104 bne.n 804219a menupos = SpecType; 8042190: 4b37 ldr r3, [pc, #220] ; (8042270 ) 8042192: 2201 movs r2, #1 8042194: 701a strb r2, [r3, #0] break; 8042196: f000 bdaf b.w 8042cf8 if(menupos == SpecType) 804219a: 4b35 ldr r3, [pc, #212] ; (8042270 ) 804219c: 781b ldrb r3, [r3, #0] 804219e: b2db uxtb r3, r3 80421a0: 2b01 cmp r3, #1 80421a2: d104 bne.n 80421ae menupos = SpecValue; 80421a4: 4b32 ldr r3, [pc, #200] ; (8042270 ) 80421a6: 2202 movs r2, #2 80421a8: 701a strb r2, [r3, #0] break; 80421aa: f000 bda5 b.w 8042cf8 if(menupos == SpecValue) 80421ae: 4b30 ldr r3, [pc, #192] ; (8042270 ) 80421b0: 781b ldrb r3, [r3, #0] 80421b2: b2db uxtb r3, r3 80421b4: 2b02 cmp r3, #2 80421b6: d104 bne.n 80421c2 menupos = FilterHP; 80421b8: 4b2d ldr r3, [pc, #180] ; (8042270 ) 80421ba: 2217 movs r2, #23 80421bc: 701a strb r2, [r3, #0] break; 80421be: f000 bd9b b.w 8042cf8 if(menupos == FilterHP) 80421c2: 4b2b ldr r3, [pc, #172] ; (8042270 ) 80421c4: 781b ldrb r3, [r3, #0] 80421c6: b2db uxtb r3, r3 80421c8: 2b17 cmp r3, #23 80421ca: d104 bne.n 80421d6 menupos = FilterLP; 80421cc: 4b28 ldr r3, [pc, #160] ; (8042270 ) 80421ce: 2218 movs r2, #24 80421d0: 701a strb r2, [r3, #0] break; 80421d2: f000 bd91 b.w 8042cf8 if(menupos == FilterLP) 80421d6: 4b26 ldr r3, [pc, #152] ; (8042270 ) 80421d8: 781b ldrb r3, [r3, #0] 80421da: b2db uxtb r3, r3 80421dc: 2b18 cmp r3, #24 80421de: d104 bne.n 80421ea menupos = LinLog; 80421e0: 4b23 ldr r3, [pc, #140] ; (8042270 ) 80421e2: 2205 movs r2, #5 80421e4: 701a strb r2, [r3, #0] break; 80421e6: f000 bd87 b.w 8042cf8 if(menupos == LinLog) 80421ea: 4b21 ldr r3, [pc, #132] ; (8042270 ) 80421ec: 781b ldrb r3, [r3, #0] 80421ee: b2db uxtb r3, r3 80421f0: 2b05 cmp r3, #5 80421f2: d104 bne.n 80421fe menupos = SAverage; 80421f4: 4b1e ldr r3, [pc, #120] ; (8042270 ) 80421f6: 2207 movs r2, #7 80421f8: 701a strb r2, [r3, #0] break; 80421fa: f000 bd7d b.w 8042cf8 if(menupos == SAverage) 80421fe: 4b1c ldr r3, [pc, #112] ; (8042270 ) 8042200: 781b ldrb r3, [r3, #0] 8042202: b2db uxtb r3, r3 8042204: 2b07 cmp r3, #7 8042206: d104 bne.n 8042212 menupos = VibAutoKu; 8042208: 4b19 ldr r3, [pc, #100] ; (8042270 ) 804220a: 2208 movs r2, #8 804220c: 701a strb r2, [r3, #0] break; 804220e: f000 bd73 b.w 8042cf8 if(menupos == VibAutoKu) 8042212: 4b17 ldr r3, [pc, #92] ; (8042270 ) 8042214: 781b ldrb r3, [r3, #0] 8042216: b2db uxtb r3, r3 8042218: 2b08 cmp r3, #8 804221a: d110 bne.n 804223e if(pardata.OPTIONS & 0x4) 804221c: 4b0d ldr r3, [pc, #52] ; (8042254 ) 804221e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8042222: f003 0304 and.w r3, r3, #4 8042226: 2b00 cmp r3, #0 8042228: d004 beq.n 8042234 menupos = Ok; 804222a: 4b11 ldr r3, [pc, #68] ; (8042270 ) 804222c: 2200 movs r2, #0 804222e: 701a strb r2, [r3, #0] break; 8042230: f000 bd62 b.w 8042cf8 else menupos = VibMax_ALL; 8042234: 4b0e ldr r3, [pc, #56] ; (8042270 ) 8042236: 2209 movs r2, #9 8042238: 701a strb r2, [r3, #0] break; 804223a: f000 bd5d b.w 8042cf8 if(menupos == VibMax_ALL) 804223e: 4b0c ldr r3, [pc, #48] ; (8042270 ) 8042240: 781b ldrb r3, [r3, #0] 8042242: b2db uxtb r3, r3 8042244: 2b09 cmp r3, #9 8042246: d115 bne.n 8042274 menupos = Ok; 8042248: 4b09 ldr r3, [pc, #36] ; (8042270 ) 804224a: 2200 movs r2, #0 804224c: 701a strb r2, [r3, #0] break; 804224e: f000 bd53 b.w 8042cf8 8042252: bf00 nop 8042254: 20023eb8 .word 0x20023eb8 8042258: 41200000 .word 0x41200000 804225c: 46480000 .word 0x46480000 8042260: 46480000 .word 0x46480000 8042264: 3dcccccd .word 0x3dcccccd 8042268: 38d1b717 .word 0x38d1b717 804226c: 080f5268 .word 0x080f5268 8042270: 20020070 .word 0x20020070 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 8042274: 4bb2 ldr r3, [pc, #712] ; (8042540 ) 8042276: 781b ldrb r3, [r3, #0] 8042278: b2db uxtb r3, r3 804227a: 2b0a cmp r3, #10 804227c: f240 8178 bls.w 8042570 8042280: 4baf ldr r3, [pc, #700] ; (8042540 ) 8042282: 781b ldrb r3, [r3, #0] 8042284: b2db uxtb r3, r3 8042286: 2b10 cmp r3, #16 8042288: f200 8172 bhi.w 8042570 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 804228c: 4bad ldr r3, [pc, #692] ; (8042544 ) 804228e: edd3 7a06 vldr s15, [r3, #24] 8042292: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8042296: ee67 7a87 vmul.f32 s15, s15, s14 804229a: eefc 7ae7 vcvt.u32.f32 s15, s15 804229e: ee17 3a90 vmov r3, s15 80422a2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80422a6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80422aa: 095b lsrs r3, r3, #5 80422ac: 4aa6 ldr r2, [pc, #664] ; (8042548 ) 80422ae: fba2 2303 umull r2, r3, r2, r3 80422b2: 09db lsrs r3, r3, #7 80422b4: b2db uxtb r3, r3 80422b6: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80422ba: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80422be: 0953 lsrs r3, r2, #5 80422c0: 49a1 ldr r1, [pc, #644] ; (8042548 ) 80422c2: fba1 1303 umull r1, r3, r1, r3 80422c6: 09db lsrs r3, r3, #7 80422c8: 49a0 ldr r1, [pc, #640] ; (804254c ) 80422ca: fb01 f303 mul.w r3, r1, r3 80422ce: 1ad3 subs r3, r2, r3 80422d0: 4a9f ldr r2, [pc, #636] ; (8042550 ) 80422d2: fba2 2303 umull r2, r3, r2, r3 80422d6: 0b5b lsrs r3, r3, #13 80422d8: b2db uxtb r3, r3 80422da: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80422de: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80422e2: 0953 lsrs r3, r2, #5 80422e4: 4998 ldr r1, [pc, #608] ; (8042548 ) 80422e6: fba1 1303 umull r1, r3, r1, r3 80422ea: 09db lsrs r3, r3, #7 80422ec: 4997 ldr r1, [pc, #604] ; (804254c ) 80422ee: fb01 f303 mul.w r3, r1, r3 80422f2: 1ad3 subs r3, r2, r3 80422f4: 4a96 ldr r2, [pc, #600] ; (8042550 ) 80422f6: fba2 1203 umull r1, r2, r2, r3 80422fa: 0b52 lsrs r2, r2, #13 80422fc: f242 7110 movw r1, #10000 ; 0x2710 8042300: fb01 f202 mul.w r2, r1, r2 8042304: 1a9a subs r2, r3, r2 8042306: 4b93 ldr r3, [pc, #588] ; (8042554 ) 8042308: fba3 2302 umull r2, r3, r3, r2 804230c: 099b lsrs r3, r3, #6 804230e: b2db uxtb r3, r3 8042310: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8042314: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042318: 095a lsrs r2, r3, #5 804231a: 498b ldr r1, [pc, #556] ; (8042548 ) 804231c: fba1 1202 umull r1, r2, r1, r2 8042320: 09d2 lsrs r2, r2, #7 8042322: 498a ldr r1, [pc, #552] ; (804254c ) 8042324: fb01 f202 mul.w r2, r1, r2 8042328: 1a9a subs r2, r3, r2 804232a: 4b89 ldr r3, [pc, #548] ; (8042550 ) 804232c: fba3 1302 umull r1, r3, r3, r2 8042330: 0b5b lsrs r3, r3, #13 8042332: f242 7110 movw r1, #10000 ; 0x2710 8042336: fb01 f303 mul.w r3, r1, r3 804233a: 1ad3 subs r3, r2, r3 804233c: 4a85 ldr r2, [pc, #532] ; (8042554 ) 804233e: fba2 1203 umull r1, r2, r2, r3 8042342: 0992 lsrs r2, r2, #6 8042344: f44f 717a mov.w r1, #1000 ; 0x3e8 8042348: fb01 f202 mul.w r2, r1, r2 804234c: 1a9a subs r2, r3, r2 804234e: 4b82 ldr r3, [pc, #520] ; (8042558 ) 8042350: fba3 2302 umull r2, r3, r3, r2 8042354: 095b lsrs r3, r3, #5 8042356: b2db uxtb r3, r3 8042358: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 804235c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042360: 0953 lsrs r3, r2, #5 8042362: 4979 ldr r1, [pc, #484] ; (8042548 ) 8042364: fba1 1303 umull r1, r3, r1, r3 8042368: 09db lsrs r3, r3, #7 804236a: 4978 ldr r1, [pc, #480] ; (804254c ) 804236c: fb01 f303 mul.w r3, r1, r3 8042370: 1ad3 subs r3, r2, r3 8042372: 4a77 ldr r2, [pc, #476] ; (8042550 ) 8042374: fba2 1203 umull r1, r2, r2, r3 8042378: 0b52 lsrs r2, r2, #13 804237a: f242 7110 movw r1, #10000 ; 0x2710 804237e: fb01 f202 mul.w r2, r1, r2 8042382: 1a9a subs r2, r3, r2 8042384: 4b73 ldr r3, [pc, #460] ; (8042554 ) 8042386: fba3 1302 umull r1, r3, r3, r2 804238a: 099b lsrs r3, r3, #6 804238c: f44f 717a mov.w r1, #1000 ; 0x3e8 8042390: fb01 f303 mul.w r3, r1, r3 8042394: 1ad3 subs r3, r2, r3 8042396: 4a70 ldr r2, [pc, #448] ; (8042558 ) 8042398: fba2 1203 umull r1, r2, r2, r3 804239c: 0952 lsrs r2, r2, #5 804239e: 2164 movs r1, #100 ; 0x64 80423a0: fb01 f202 mul.w r2, r1, r2 80423a4: 1a9a subs r2, r3, r2 80423a6: 4b6d ldr r3, [pc, #436] ; (804255c ) 80423a8: fba3 2302 umull r2, r3, r3, r2 80423ac: 08db lsrs r3, r3, #3 80423ae: b2db uxtb r3, r3 80423b0: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80423b4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80423b8: 0953 lsrs r3, r2, #5 80423ba: 4963 ldr r1, [pc, #396] ; (8042548 ) 80423bc: fba1 1303 umull r1, r3, r1, r3 80423c0: 09db lsrs r3, r3, #7 80423c2: 4962 ldr r1, [pc, #392] ; (804254c ) 80423c4: fb01 f303 mul.w r3, r1, r3 80423c8: 1ad3 subs r3, r2, r3 80423ca: 4a61 ldr r2, [pc, #388] ; (8042550 ) 80423cc: fba2 1203 umull r1, r2, r2, r3 80423d0: 0b52 lsrs r2, r2, #13 80423d2: f242 7110 movw r1, #10000 ; 0x2710 80423d6: fb01 f202 mul.w r2, r1, r2 80423da: 1a9a subs r2, r3, r2 80423dc: 4b5d ldr r3, [pc, #372] ; (8042554 ) 80423de: fba3 1302 umull r1, r3, r3, r2 80423e2: 099b lsrs r3, r3, #6 80423e4: f44f 717a mov.w r1, #1000 ; 0x3e8 80423e8: fb01 f303 mul.w r3, r1, r3 80423ec: 1ad3 subs r3, r2, r3 80423ee: 4a5a ldr r2, [pc, #360] ; (8042558 ) 80423f0: fba2 1203 umull r1, r2, r2, r3 80423f4: 0952 lsrs r2, r2, #5 80423f6: 2164 movs r1, #100 ; 0x64 80423f8: fb01 f202 mul.w r2, r1, r2 80423fc: 1a9a subs r2, r3, r2 80423fe: 4b57 ldr r3, [pc, #348] ; (804255c ) 8042400: fba3 1302 umull r1, r3, r3, r2 8042404: 08d9 lsrs r1, r3, #3 8042406: 460b mov r3, r1 8042408: 009b lsls r3, r3, #2 804240a: 440b add r3, r1 804240c: 005b lsls r3, r3, #1 804240e: 1ad1 subs r1, r2, r3 8042410: b2cb uxtb r3, r1 8042412: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8042416: 4b4a ldr r3, [pc, #296] ; (8042540 ) 8042418: 781b ldrb r3, [r3, #0] 804241a: b2db uxtb r3, r3 804241c: 3b0b subs r3, #11 804241e: 2b05 cmp r3, #5 8042420: d869 bhi.n 80424f6 8042422: a201 add r2, pc, #4 ; (adr r2, 8042428 ) 8042424: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8042428: 08042441 .word 0x08042441 804242c: 08042461 .word 0x08042461 8042430: 08042483 .word 0x08042483 8042434: 080424a3 .word 0x080424a3 8042438: 080424bf .word 0x080424bf 804243c: 080424db .word 0x080424db if(k > 100000) k -= 100000; 8042440: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042444: 4a41 ldr r2, [pc, #260] ; (804254c ) 8042446: 4293 cmp r3, r2 8042448: d906 bls.n 8042458 804244a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804244e: 4b44 ldr r3, [pc, #272] ; (8042560 ) 8042450: 4413 add r3, r2 8042452: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042456: e04e b.n 80424f6 else k = 0; 8042458: 2300 movs r3, #0 804245a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804245e: e04a b.n 80424f6 if(k > 10000) k -= 10000; 8042460: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042464: f242 7210 movw r2, #10000 ; 0x2710 8042468: 4293 cmp r3, r2 804246a: d906 bls.n 804247a 804246c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042470: 4b3c ldr r3, [pc, #240] ; (8042564 ) 8042472: 4413 add r3, r2 8042474: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042478: e03d b.n 80424f6 else k = 0; 804247a: 2300 movs r3, #0 804247c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042480: e039 b.n 80424f6 if(k > 1000) k -= 1000; 8042482: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042486: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 804248a: d906 bls.n 804249a 804248c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042490: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8042494: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042498: e02d b.n 80424f6 else k = 0; 804249a: 2300 movs r3, #0 804249c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80424a0: e029 b.n 80424f6 if(k > 100) k -= 100; 80424a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80424a6: 2b64 cmp r3, #100 ; 0x64 80424a8: d905 bls.n 80424b6 80424aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80424ae: 3b64 subs r3, #100 ; 0x64 80424b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80424b4: e01f b.n 80424f6 else k = 0; 80424b6: 2300 movs r3, #0 80424b8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80424bc: e01b b.n 80424f6 if(k > 10) k -= 10; 80424be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80424c2: 2b0a cmp r3, #10 80424c4: d905 bls.n 80424d2 80424c6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80424ca: 3b0a subs r3, #10 80424cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80424d0: e011 b.n 80424f6 else k = 0; 80424d2: 2300 movs r3, #0 80424d4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80424d8: e00d b.n 80424f6 if(k > 1) k -= 1; 80424da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80424de: 2b01 cmp r3, #1 80424e0: d905 bls.n 80424ee 80424e2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80424e6: 3b01 subs r3, #1 80424e8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80424ec: e002 b.n 80424f4 else k = 0; 80424ee: 2300 movs r3, #0 80424f0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80424f4: bf00 nop if(k == 0) k = 1; 80424f6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80424fa: 2b00 cmp r3, #0 80424fc: d102 bne.n 8042504 80424fe: 2301 movs r3, #1 8042500: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8042504: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042508: ee07 3a90 vmov s15, r3 804250c: eef8 7a67 vcvt.f32.u32 s15, s15 8042510: 4b0c ldr r3, [pc, #48] ; (8042544 ) 8042512: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8042516: 4b0b ldr r3, [pc, #44] ; (8042544 ) 8042518: edd3 7a06 vldr s15, [r3, #24] 804251c: ed9f 7a12 vldr s14, [pc, #72] ; 8042568 8042520: ee67 7a87 vmul.f32 s15, s15, s14 8042524: 4b07 ldr r3, [pc, #28] ; (8042544 ) 8042526: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 804252a: 4b06 ldr r3, [pc, #24] ; (8042544 ) 804252c: edd3 7a06 vldr s15, [r3, #24] 8042530: ed9f 7a0e vldr s14, [pc, #56] ; 804256c 8042534: ee77 7a87 vadd.f32 s15, s15, s14 8042538: 4b02 ldr r3, [pc, #8] ; (8042544 ) 804253a: edc3 7a06 vstr s15, [r3, #24] 804253e: e3d7 b.n 8042cf0 8042540: 20020070 .word 0x20020070 8042544: 20023eb8 .word 0x20023eb8 8042548: 0a7c5ac5 .word 0x0a7c5ac5 804254c: 000186a0 .word 0x000186a0 8042550: d1b71759 .word 0xd1b71759 8042554: 10624dd3 .word 0x10624dd3 8042558: 51eb851f .word 0x51eb851f 804255c: cccccccd .word 0xcccccccd 8042560: fffe7960 .word 0xfffe7960 8042564: ffffd8f0 .word 0xffffd8f0 8042568: 3dcccccd .word 0x3dcccccd 804256c: 3d4ccccd .word 0x3d4ccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 8042570: 4bcd ldr r3, [pc, #820] ; (80428a8 ) 8042572: 781b ldrb r3, [r3, #0] 8042574: b2db uxtb r3, r3 8042576: 2b18 cmp r3, #24 8042578: f240 81ec bls.w 8042954 804257c: 4bca ldr r3, [pc, #808] ; (80428a8 ) 804257e: 781b ldrb r3, [r3, #0] 8042580: b2db uxtb r3, r3 8042582: 2b1e cmp r3, #30 8042584: f200 81e6 bhi.w 8042954 k = (uint32_t) (pardata.HP * 10.0f); 8042588: 4bc8 ldr r3, [pc, #800] ; (80428ac ) 804258a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804258e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8042592: ee67 7a87 vmul.f32 s15, s15, s14 8042596: eefc 7ae7 vcvt.u32.f32 s15, s15 804259a: ee17 3a90 vmov r3, s15 804259e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80425a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80425a6: 095b lsrs r3, r3, #5 80425a8: 4ac1 ldr r2, [pc, #772] ; (80428b0 ) 80425aa: fba2 2303 umull r2, r3, r2, r3 80425ae: 09db lsrs r3, r3, #7 80425b0: b2db uxtb r3, r3 80425b2: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80425b6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80425ba: 0953 lsrs r3, r2, #5 80425bc: 49bc ldr r1, [pc, #752] ; (80428b0 ) 80425be: fba1 1303 umull r1, r3, r1, r3 80425c2: 09db lsrs r3, r3, #7 80425c4: 49bb ldr r1, [pc, #748] ; (80428b4 ) 80425c6: fb01 f303 mul.w r3, r1, r3 80425ca: 1ad3 subs r3, r2, r3 80425cc: 4aba ldr r2, [pc, #744] ; (80428b8 ) 80425ce: fba2 2303 umull r2, r3, r2, r3 80425d2: 0b5b lsrs r3, r3, #13 80425d4: b2db uxtb r3, r3 80425d6: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80425da: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80425de: 0953 lsrs r3, r2, #5 80425e0: 49b3 ldr r1, [pc, #716] ; (80428b0 ) 80425e2: fba1 1303 umull r1, r3, r1, r3 80425e6: 09db lsrs r3, r3, #7 80425e8: 49b2 ldr r1, [pc, #712] ; (80428b4 ) 80425ea: fb01 f303 mul.w r3, r1, r3 80425ee: 1ad3 subs r3, r2, r3 80425f0: 4ab1 ldr r2, [pc, #708] ; (80428b8 ) 80425f2: fba2 1203 umull r1, r2, r2, r3 80425f6: 0b52 lsrs r2, r2, #13 80425f8: f242 7110 movw r1, #10000 ; 0x2710 80425fc: fb01 f202 mul.w r2, r1, r2 8042600: 1a9a subs r2, r3, r2 8042602: 4bae ldr r3, [pc, #696] ; (80428bc ) 8042604: fba3 2302 umull r2, r3, r3, r2 8042608: 099b lsrs r3, r3, #6 804260a: b2db uxtb r3, r3 804260c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8042610: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042614: 095a lsrs r2, r3, #5 8042616: 49a6 ldr r1, [pc, #664] ; (80428b0 ) 8042618: fba1 1202 umull r1, r2, r1, r2 804261c: 09d2 lsrs r2, r2, #7 804261e: 49a5 ldr r1, [pc, #660] ; (80428b4 ) 8042620: fb01 f202 mul.w r2, r1, r2 8042624: 1a9a subs r2, r3, r2 8042626: 4ba4 ldr r3, [pc, #656] ; (80428b8 ) 8042628: fba3 1302 umull r1, r3, r3, r2 804262c: 0b5b lsrs r3, r3, #13 804262e: f242 7110 movw r1, #10000 ; 0x2710 8042632: fb01 f303 mul.w r3, r1, r3 8042636: 1ad3 subs r3, r2, r3 8042638: 4aa0 ldr r2, [pc, #640] ; (80428bc ) 804263a: fba2 1203 umull r1, r2, r2, r3 804263e: 0992 lsrs r2, r2, #6 8042640: f44f 717a mov.w r1, #1000 ; 0x3e8 8042644: fb01 f202 mul.w r2, r1, r2 8042648: 1a9a subs r2, r3, r2 804264a: 4b9d ldr r3, [pc, #628] ; (80428c0 ) 804264c: fba3 2302 umull r2, r3, r3, r2 8042650: 095b lsrs r3, r3, #5 8042652: b2db uxtb r3, r3 8042654: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8042658: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804265c: 0953 lsrs r3, r2, #5 804265e: 4994 ldr r1, [pc, #592] ; (80428b0 ) 8042660: fba1 1303 umull r1, r3, r1, r3 8042664: 09db lsrs r3, r3, #7 8042666: 4993 ldr r1, [pc, #588] ; (80428b4 ) 8042668: fb01 f303 mul.w r3, r1, r3 804266c: 1ad3 subs r3, r2, r3 804266e: 4a92 ldr r2, [pc, #584] ; (80428b8 ) 8042670: fba2 1203 umull r1, r2, r2, r3 8042674: 0b52 lsrs r2, r2, #13 8042676: f242 7110 movw r1, #10000 ; 0x2710 804267a: fb01 f202 mul.w r2, r1, r2 804267e: 1a9a subs r2, r3, r2 8042680: 4b8e ldr r3, [pc, #568] ; (80428bc ) 8042682: fba3 1302 umull r1, r3, r3, r2 8042686: 099b lsrs r3, r3, #6 8042688: f44f 717a mov.w r1, #1000 ; 0x3e8 804268c: fb01 f303 mul.w r3, r1, r3 8042690: 1ad3 subs r3, r2, r3 8042692: 4a8b ldr r2, [pc, #556] ; (80428c0 ) 8042694: fba2 1203 umull r1, r2, r2, r3 8042698: 0952 lsrs r2, r2, #5 804269a: 2164 movs r1, #100 ; 0x64 804269c: fb01 f202 mul.w r2, r1, r2 80426a0: 1a9a subs r2, r3, r2 80426a2: 4b88 ldr r3, [pc, #544] ; (80428c4 ) 80426a4: fba3 2302 umull r2, r3, r3, r2 80426a8: 08db lsrs r3, r3, #3 80426aa: b2db uxtb r3, r3 80426ac: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80426b0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80426b4: 0953 lsrs r3, r2, #5 80426b6: 497e ldr r1, [pc, #504] ; (80428b0 ) 80426b8: fba1 1303 umull r1, r3, r1, r3 80426bc: 09db lsrs r3, r3, #7 80426be: 497d ldr r1, [pc, #500] ; (80428b4 ) 80426c0: fb01 f303 mul.w r3, r1, r3 80426c4: 1ad3 subs r3, r2, r3 80426c6: 4a7c ldr r2, [pc, #496] ; (80428b8 ) 80426c8: fba2 1203 umull r1, r2, r2, r3 80426cc: 0b52 lsrs r2, r2, #13 80426ce: f242 7110 movw r1, #10000 ; 0x2710 80426d2: fb01 f202 mul.w r2, r1, r2 80426d6: 1a9a subs r2, r3, r2 80426d8: 4b78 ldr r3, [pc, #480] ; (80428bc ) 80426da: fba3 1302 umull r1, r3, r3, r2 80426de: 099b lsrs r3, r3, #6 80426e0: f44f 717a mov.w r1, #1000 ; 0x3e8 80426e4: fb01 f303 mul.w r3, r1, r3 80426e8: 1ad3 subs r3, r2, r3 80426ea: 4a75 ldr r2, [pc, #468] ; (80428c0 ) 80426ec: fba2 1203 umull r1, r2, r2, r3 80426f0: 0952 lsrs r2, r2, #5 80426f2: 2164 movs r1, #100 ; 0x64 80426f4: fb01 f202 mul.w r2, r1, r2 80426f8: 1a9a subs r2, r3, r2 80426fa: 4b72 ldr r3, [pc, #456] ; (80428c4 ) 80426fc: fba3 1302 umull r1, r3, r3, r2 8042700: 08d9 lsrs r1, r3, #3 8042702: 460b mov r3, r1 8042704: 009b lsls r3, r3, #2 8042706: 440b add r3, r1 8042708: 005b lsls r3, r3, #1 804270a: 1ad1 subs r1, r2, r3 804270c: b2cb uxtb r3, r1 804270e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8042712: 4b65 ldr r3, [pc, #404] ; (80428a8 ) 8042714: 781b ldrb r3, [r3, #0] 8042716: b2db uxtb r3, r3 8042718: 3b19 subs r3, #25 804271a: 2b05 cmp r3, #5 804271c: d869 bhi.n 80427f2 804271e: a201 add r2, pc, #4 ; (adr r2, 8042724 ) 8042720: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8042724: 0804273d .word 0x0804273d 8042728: 0804275d .word 0x0804275d 804272c: 0804277f .word 0x0804277f 8042730: 0804279f .word 0x0804279f 8042734: 080427bb .word 0x080427bb 8042738: 080427d7 .word 0x080427d7 if(k > 100000) k -= 100000; 804273c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042740: 4a5c ldr r2, [pc, #368] ; (80428b4 ) 8042742: 4293 cmp r3, r2 8042744: d906 bls.n 8042754 8042746: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804274a: 4b5f ldr r3, [pc, #380] ; (80428c8 ) 804274c: 4413 add r3, r2 804274e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042752: e04e b.n 80427f2 else k = 0; 8042754: 2300 movs r3, #0 8042756: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804275a: e04a b.n 80427f2 if(k > 10000) k -= 10000; 804275c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042760: f242 7210 movw r2, #10000 ; 0x2710 8042764: 4293 cmp r3, r2 8042766: d906 bls.n 8042776 8042768: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804276c: 4b57 ldr r3, [pc, #348] ; (80428cc ) 804276e: 4413 add r3, r2 8042770: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042774: e03d b.n 80427f2 else k = 0; 8042776: 2300 movs r3, #0 8042778: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804277c: e039 b.n 80427f2 if(k > 1000) k -= 1000; 804277e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042782: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8042786: d906 bls.n 8042796 8042788: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804278c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8042790: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042794: e02d b.n 80427f2 else k = 0; 8042796: 2300 movs r3, #0 8042798: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804279c: e029 b.n 80427f2 if(k > 100) k -= 100; 804279e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80427a2: 2b64 cmp r3, #100 ; 0x64 80427a4: d905 bls.n 80427b2 80427a6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80427aa: 3b64 subs r3, #100 ; 0x64 80427ac: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80427b0: e01f b.n 80427f2 else k = 0; 80427b2: 2300 movs r3, #0 80427b4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80427b8: e01b b.n 80427f2 if(k > 10) k -= 10; 80427ba: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80427be: 2b0a cmp r3, #10 80427c0: d905 bls.n 80427ce 80427c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80427c6: 3b0a subs r3, #10 80427c8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80427cc: e011 b.n 80427f2 else k = 0; 80427ce: 2300 movs r3, #0 80427d0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80427d4: e00d b.n 80427f2 if(k > 1) k -= 1; 80427d6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80427da: 2b01 cmp r3, #1 80427dc: d905 bls.n 80427ea 80427de: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80427e2: 3b01 subs r3, #1 80427e4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80427e8: e002 b.n 80427f0 else k = 0; 80427ea: 2300 movs r3, #0 80427ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80427f0: bf00 nop fl = (float32_t) k; 80427f2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80427f6: ee07 3a90 vmov s15, r3 80427fa: eef8 7a67 vcvt.f32.u32 s15, s15 80427fe: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8042802: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042806: ed9f 7a32 vldr s14, [pc, #200] ; 80428d0 804280a: ee67 7a87 vmul.f32 s15, s15, s14 804280e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8042812: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042816: ed9f 7a2f vldr s14, [pc, #188] ; 80428d4 804281a: ee77 7a87 vadd.f32 s15, s15, s14 804281e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 8042822: 4b22 ldr r3, [pc, #136] ; (80428ac ) 8042824: 785b ldrb r3, [r3, #1] 8042826: b2db uxtb r3, r3 8042828: 2b00 cmp r3, #0 804282a: d155 bne.n 80428d8 if(fl < 0.5f) 804282c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042830: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8042834: eef4 7ac7 vcmpe.f32 s15, s14 8042838: eef1 fa10 vmrs APSR_nzcv, fpscr 804283c: d505 bpl.n 804284a pardata.HP = 0.5f; 804283e: 4b1b ldr r3, [pc, #108] ; (80428ac ) 8042840: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8042844: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8042848: e252 b.n 8042cf0 if(fl > pardata.LP) 804284a: 4b18 ldr r3, [pc, #96] ; (80428ac ) 804284c: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8042850: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042854: eeb4 7ae7 vcmpe.f32 s14, s15 8042858: eef1 fa10 vmrs APSR_nzcv, fpscr 804285c: d506 bpl.n 804286c pardata.HP = pardata.LP; 804285e: 4b13 ldr r3, [pc, #76] ; (80428ac ) 8042860: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8042864: 4a11 ldr r2, [pc, #68] ; (80428ac ) 8042866: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 804286a: e241 b.n 8042cf0 pardata.HP = (float32_t) k; 804286c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042870: ee07 3a90 vmov s15, r3 8042874: eef8 7a67 vcvt.f32.u32 s15, s15 8042878: 4b0c ldr r3, [pc, #48] ; (80428ac ) 804287a: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 804287e: 4b0b ldr r3, [pc, #44] ; (80428ac ) 8042880: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8042884: ed9f 7a12 vldr s14, [pc, #72] ; 80428d0 8042888: ee67 7a87 vmul.f32 s15, s15, s14 804288c: 4b07 ldr r3, [pc, #28] ; (80428ac ) 804288e: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8042892: 4b06 ldr r3, [pc, #24] ; (80428ac ) 8042894: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8042898: ed9f 7a0e vldr s14, [pc, #56] ; 80428d4 804289c: ee77 7a87 vadd.f32 s15, s15, s14 80428a0: 4b02 ldr r3, [pc, #8] ; (80428ac ) 80428a2: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 80428a6: e223 b.n 8042cf0 80428a8: 20020070 .word 0x20020070 80428ac: 20023eb8 .word 0x20023eb8 80428b0: 0a7c5ac5 .word 0x0a7c5ac5 80428b4: 000186a0 .word 0x000186a0 80428b8: d1b71759 .word 0xd1b71759 80428bc: 10624dd3 .word 0x10624dd3 80428c0: 51eb851f .word 0x51eb851f 80428c4: cccccccd .word 0xcccccccd 80428c8: fffe7960 .word 0xfffe7960 80428cc: ffffd8f0 .word 0xffffd8f0 80428d0: 3dcccccd .word 0x3dcccccd 80428d4: 38d1b717 .word 0x38d1b717 if(fl < 2.0f) 80428d8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80428dc: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80428e0: eef4 7ac7 vcmpe.f32 s15, s14 80428e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80428e8: d505 bpl.n 80428f6 pardata.HP = 2.0f; 80428ea: 4bcc ldr r3, [pc, #816] ; (8042c1c ) 80428ec: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80428f0: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 80428f4: e1fc b.n 8042cf0 if(fl > pardata.LP) 80428f6: 4bc9 ldr r3, [pc, #804] ; (8042c1c ) 80428f8: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80428fc: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042900: eeb4 7ae7 vcmpe.f32 s14, s15 8042904: eef1 fa10 vmrs APSR_nzcv, fpscr 8042908: d506 bpl.n 8042918 pardata.HP = pardata.LP; 804290a: 4bc4 ldr r3, [pc, #784] ; (8042c1c ) 804290c: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8042910: 4ac2 ldr r2, [pc, #776] ; (8042c1c ) 8042912: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8042916: e1eb b.n 8042cf0 pardata.HP = (float32_t) k; 8042918: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804291c: ee07 3a90 vmov s15, r3 8042920: eef8 7a67 vcvt.f32.u32 s15, s15 8042924: 4bbd ldr r3, [pc, #756] ; (8042c1c ) 8042926: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 804292a: 4bbc ldr r3, [pc, #752] ; (8042c1c ) 804292c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8042930: ed9f 7abb vldr s14, [pc, #748] ; 8042c20 8042934: ee67 7a87 vmul.f32 s15, s15, s14 8042938: 4bb8 ldr r3, [pc, #736] ; (8042c1c ) 804293a: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 804293e: 4bb7 ldr r3, [pc, #732] ; (8042c1c ) 8042940: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8042944: ed9f 7ab7 vldr s14, [pc, #732] ; 8042c24 8042948: ee77 7a87 vadd.f32 s15, s15, s14 804294c: 4bb3 ldr r3, [pc, #716] ; (8042c1c ) 804294e: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8042952: e1cd b.n 8042cf0 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 8042954: 4bb4 ldr r3, [pc, #720] ; (8042c28 ) 8042956: 781b ldrb r3, [r3, #0] 8042958: b2db uxtb r3, r3 804295a: 2b1e cmp r3, #30 804295c: f240 81cc bls.w 8042cf8 8042960: 4bb1 ldr r3, [pc, #708] ; (8042c28 ) 8042962: 781b ldrb r3, [r3, #0] 8042964: b2db uxtb r3, r3 8042966: 2b24 cmp r3, #36 ; 0x24 8042968: f200 81c6 bhi.w 8042cf8 k = (uint32_t) (pardata.LP * 10.0f); 804296c: 4bab ldr r3, [pc, #684] ; (8042c1c ) 804296e: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8042972: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8042976: ee67 7a87 vmul.f32 s15, s15, s14 804297a: eefc 7ae7 vcvt.u32.f32 s15, s15 804297e: ee17 3a90 vmov r3, s15 8042982: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8042986: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804298a: 095b lsrs r3, r3, #5 804298c: 4aa7 ldr r2, [pc, #668] ; (8042c2c ) 804298e: fba2 2303 umull r2, r3, r2, r3 8042992: 09db lsrs r3, r3, #7 8042994: b2db uxtb r3, r3 8042996: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 804299a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804299e: 0953 lsrs r3, r2, #5 80429a0: 49a2 ldr r1, [pc, #648] ; (8042c2c ) 80429a2: fba1 1303 umull r1, r3, r1, r3 80429a6: 09db lsrs r3, r3, #7 80429a8: 49a1 ldr r1, [pc, #644] ; (8042c30 ) 80429aa: fb01 f303 mul.w r3, r1, r3 80429ae: 1ad3 subs r3, r2, r3 80429b0: 4aa0 ldr r2, [pc, #640] ; (8042c34 ) 80429b2: fba2 2303 umull r2, r3, r2, r3 80429b6: 0b5b lsrs r3, r3, #13 80429b8: b2db uxtb r3, r3 80429ba: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80429be: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80429c2: 0953 lsrs r3, r2, #5 80429c4: 4999 ldr r1, [pc, #612] ; (8042c2c ) 80429c6: fba1 1303 umull r1, r3, r1, r3 80429ca: 09db lsrs r3, r3, #7 80429cc: 4998 ldr r1, [pc, #608] ; (8042c30 ) 80429ce: fb01 f303 mul.w r3, r1, r3 80429d2: 1ad3 subs r3, r2, r3 80429d4: 4a97 ldr r2, [pc, #604] ; (8042c34 ) 80429d6: fba2 1203 umull r1, r2, r2, r3 80429da: 0b52 lsrs r2, r2, #13 80429dc: f242 7110 movw r1, #10000 ; 0x2710 80429e0: fb01 f202 mul.w r2, r1, r2 80429e4: 1a9a subs r2, r3, r2 80429e6: 4b94 ldr r3, [pc, #592] ; (8042c38 ) 80429e8: fba3 2302 umull r2, r3, r3, r2 80429ec: 099b lsrs r3, r3, #6 80429ee: b2db uxtb r3, r3 80429f0: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80429f4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80429f8: 095a lsrs r2, r3, #5 80429fa: 498c ldr r1, [pc, #560] ; (8042c2c ) 80429fc: fba1 1202 umull r1, r2, r1, r2 8042a00: 09d2 lsrs r2, r2, #7 8042a02: 498b ldr r1, [pc, #556] ; (8042c30 ) 8042a04: fb01 f202 mul.w r2, r1, r2 8042a08: 1a9a subs r2, r3, r2 8042a0a: 4b8a ldr r3, [pc, #552] ; (8042c34 ) 8042a0c: fba3 1302 umull r1, r3, r3, r2 8042a10: 0b5b lsrs r3, r3, #13 8042a12: f242 7110 movw r1, #10000 ; 0x2710 8042a16: fb01 f303 mul.w r3, r1, r3 8042a1a: 1ad3 subs r3, r2, r3 8042a1c: 4a86 ldr r2, [pc, #536] ; (8042c38 ) 8042a1e: fba2 1203 umull r1, r2, r2, r3 8042a22: 0992 lsrs r2, r2, #6 8042a24: f44f 717a mov.w r1, #1000 ; 0x3e8 8042a28: fb01 f202 mul.w r2, r1, r2 8042a2c: 1a9a subs r2, r3, r2 8042a2e: 4b83 ldr r3, [pc, #524] ; (8042c3c ) 8042a30: fba3 2302 umull r2, r3, r3, r2 8042a34: 095b lsrs r3, r3, #5 8042a36: b2db uxtb r3, r3 8042a38: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8042a3c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042a40: 0953 lsrs r3, r2, #5 8042a42: 497a ldr r1, [pc, #488] ; (8042c2c ) 8042a44: fba1 1303 umull r1, r3, r1, r3 8042a48: 09db lsrs r3, r3, #7 8042a4a: 4979 ldr r1, [pc, #484] ; (8042c30 ) 8042a4c: fb01 f303 mul.w r3, r1, r3 8042a50: 1ad3 subs r3, r2, r3 8042a52: 4a78 ldr r2, [pc, #480] ; (8042c34 ) 8042a54: fba2 1203 umull r1, r2, r2, r3 8042a58: 0b52 lsrs r2, r2, #13 8042a5a: f242 7110 movw r1, #10000 ; 0x2710 8042a5e: fb01 f202 mul.w r2, r1, r2 8042a62: 1a9a subs r2, r3, r2 8042a64: 4b74 ldr r3, [pc, #464] ; (8042c38 ) 8042a66: fba3 1302 umull r1, r3, r3, r2 8042a6a: 099b lsrs r3, r3, #6 8042a6c: f44f 717a mov.w r1, #1000 ; 0x3e8 8042a70: fb01 f303 mul.w r3, r1, r3 8042a74: 1ad3 subs r3, r2, r3 8042a76: 4a71 ldr r2, [pc, #452] ; (8042c3c ) 8042a78: fba2 1203 umull r1, r2, r2, r3 8042a7c: 0952 lsrs r2, r2, #5 8042a7e: 2164 movs r1, #100 ; 0x64 8042a80: fb01 f202 mul.w r2, r1, r2 8042a84: 1a9a subs r2, r3, r2 8042a86: 4b6e ldr r3, [pc, #440] ; (8042c40 ) 8042a88: fba3 2302 umull r2, r3, r3, r2 8042a8c: 08db lsrs r3, r3, #3 8042a8e: b2db uxtb r3, r3 8042a90: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8042a94: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042a98: 0953 lsrs r3, r2, #5 8042a9a: 4964 ldr r1, [pc, #400] ; (8042c2c ) 8042a9c: fba1 1303 umull r1, r3, r1, r3 8042aa0: 09db lsrs r3, r3, #7 8042aa2: 4963 ldr r1, [pc, #396] ; (8042c30 ) 8042aa4: fb01 f303 mul.w r3, r1, r3 8042aa8: 1ad3 subs r3, r2, r3 8042aaa: 4a62 ldr r2, [pc, #392] ; (8042c34 ) 8042aac: fba2 1203 umull r1, r2, r2, r3 8042ab0: 0b52 lsrs r2, r2, #13 8042ab2: f242 7110 movw r1, #10000 ; 0x2710 8042ab6: fb01 f202 mul.w r2, r1, r2 8042aba: 1a9a subs r2, r3, r2 8042abc: 4b5e ldr r3, [pc, #376] ; (8042c38 ) 8042abe: fba3 1302 umull r1, r3, r3, r2 8042ac2: 099b lsrs r3, r3, #6 8042ac4: f44f 717a mov.w r1, #1000 ; 0x3e8 8042ac8: fb01 f303 mul.w r3, r1, r3 8042acc: 1ad3 subs r3, r2, r3 8042ace: 4a5b ldr r2, [pc, #364] ; (8042c3c ) 8042ad0: fba2 1203 umull r1, r2, r2, r3 8042ad4: 0952 lsrs r2, r2, #5 8042ad6: 2164 movs r1, #100 ; 0x64 8042ad8: fb01 f202 mul.w r2, r1, r2 8042adc: 1a9a subs r2, r3, r2 8042ade: 4b58 ldr r3, [pc, #352] ; (8042c40 ) 8042ae0: fba3 1302 umull r1, r3, r3, r2 8042ae4: 08d9 lsrs r1, r3, #3 8042ae6: 460b mov r3, r1 8042ae8: 009b lsls r3, r3, #2 8042aea: 440b add r3, r1 8042aec: 005b lsls r3, r3, #1 8042aee: 1ad1 subs r1, r2, r3 8042af0: b2cb uxtb r3, r1 8042af2: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8042af6: 4b4c ldr r3, [pc, #304] ; (8042c28 ) 8042af8: 781b ldrb r3, [r3, #0] 8042afa: b2db uxtb r3, r3 8042afc: 3b1f subs r3, #31 8042afe: 2b05 cmp r3, #5 8042b00: d869 bhi.n 8042bd6 8042b02: a201 add r2, pc, #4 ; (adr r2, 8042b08 ) 8042b04: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8042b08: 08042b21 .word 0x08042b21 8042b0c: 08042b41 .word 0x08042b41 8042b10: 08042b63 .word 0x08042b63 8042b14: 08042b83 .word 0x08042b83 8042b18: 08042b9f .word 0x08042b9f 8042b1c: 08042bbb .word 0x08042bbb if(k > 100000) k -= 100000; 8042b20: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b24: 4a42 ldr r2, [pc, #264] ; (8042c30 ) 8042b26: 4293 cmp r3, r2 8042b28: d906 bls.n 8042b38 8042b2a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042b2e: 4b45 ldr r3, [pc, #276] ; (8042c44 ) 8042b30: 4413 add r3, r2 8042b32: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b36: e04e b.n 8042bd6 else k = 0; 8042b38: 2300 movs r3, #0 8042b3a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b3e: e04a b.n 8042bd6 if(k > 10000) k -= 10000; 8042b40: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b44: f242 7210 movw r2, #10000 ; 0x2710 8042b48: 4293 cmp r3, r2 8042b4a: d906 bls.n 8042b5a 8042b4c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042b50: 4b3d ldr r3, [pc, #244] ; (8042c48 ) 8042b52: 4413 add r3, r2 8042b54: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b58: e03d b.n 8042bd6 else k = 0; 8042b5a: 2300 movs r3, #0 8042b5c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b60: e039 b.n 8042bd6 if(k > 1000) k -= 1000; 8042b62: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b66: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8042b6a: d906 bls.n 8042b7a 8042b6c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b70: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8042b74: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b78: e02d b.n 8042bd6 else k = 0; 8042b7a: 2300 movs r3, #0 8042b7c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b80: e029 b.n 8042bd6 if(k > 100) k -= 100; 8042b82: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b86: 2b64 cmp r3, #100 ; 0x64 8042b88: d905 bls.n 8042b96 8042b8a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b8e: 3b64 subs r3, #100 ; 0x64 8042b90: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b94: e01f b.n 8042bd6 else k = 0; 8042b96: 2300 movs r3, #0 8042b98: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b9c: e01b b.n 8042bd6 if(k > 10) k -= 10; 8042b9e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042ba2: 2b0a cmp r3, #10 8042ba4: d905 bls.n 8042bb2 8042ba6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042baa: 3b0a subs r3, #10 8042bac: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042bb0: e011 b.n 8042bd6 else k = 0; 8042bb2: 2300 movs r3, #0 8042bb4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042bb8: e00d b.n 8042bd6 if(k > 1) k -= 1; 8042bba: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042bbe: 2b01 cmp r3, #1 8042bc0: d905 bls.n 8042bce 8042bc2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042bc6: 3b01 subs r3, #1 8042bc8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042bcc: e002 b.n 8042bd4 else k = 0; 8042bce: 2300 movs r3, #0 8042bd0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042bd4: bf00 nop fl = (float32_t) k; 8042bd6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042bda: ee07 3a90 vmov s15, r3 8042bde: eef8 7a67 vcvt.f32.u32 s15, s15 8042be2: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8042be6: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042bea: ed9f 7a0d vldr s14, [pc, #52] ; 8042c20 8042bee: ee67 7a87 vmul.f32 s15, s15, s14 8042bf2: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8042bf6: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042bfa: ed9f 7a0a vldr s14, [pc, #40] ; 8042c24 8042bfe: ee77 7a87 vadd.f32 s15, s15, s14 8042c02: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if((pardata.OPTIONS & maskFFT) == okt) 8042c06: 4b05 ldr r3, [pc, #20] ; (8042c1c ) 8042c08: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8042c0c: f003 0330 and.w r3, r3, #48 ; 0x30 8042c10: 2b20 cmp r3, #32 8042c12: d11d bne.n 8042c50 f = 12800.0f; 8042c14: 4b0d ldr r3, [pc, #52] ; (8042c4c ) 8042c16: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 8042c1a: e01c b.n 8042c56 8042c1c: 20023eb8 .word 0x20023eb8 8042c20: 3dcccccd .word 0x3dcccccd 8042c24: 38d1b717 .word 0x38d1b717 8042c28: 20020070 .word 0x20020070 8042c2c: 0a7c5ac5 .word 0x0a7c5ac5 8042c30: 000186a0 .word 0x000186a0 8042c34: d1b71759 .word 0xd1b71759 8042c38: 10624dd3 .word 0x10624dd3 8042c3c: 51eb851f .word 0x51eb851f 8042c40: cccccccd .word 0xcccccccd 8042c44: fffe7960 .word 0xfffe7960 8042c48: ffffd8f0 .word 0xffffd8f0 8042c4c: 46480000 .word 0x46480000 else f = 6400.0f; 8042c50: 4b6f ldr r3, [pc, #444] ; (8042e10 ) 8042c52: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 if(fl < 10.0f) 8042c56: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042c5a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8042c5e: eef4 7ac7 vcmpe.f32 s15, s14 8042c62: eef1 fa10 vmrs APSR_nzcv, fpscr 8042c66: d504 bpl.n 8042c72 pardata.LP = 10.0f; 8042c68: 4b6a ldr r3, [pc, #424] ; (8042e14 ) 8042c6a: 4a6b ldr r2, [pc, #428] ; (8042e18 ) 8042c6c: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 break; 8042c70: e042 b.n 8042cf8 if(pardata.LP < pardata.HP) 8042c72: 4b68 ldr r3, [pc, #416] ; (8042e14 ) 8042c74: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8042c78: 4b66 ldr r3, [pc, #408] ; (8042e14 ) 8042c7a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8042c7e: eeb4 7ae7 vcmpe.f32 s14, s15 8042c82: eef1 fa10 vmrs APSR_nzcv, fpscr 8042c86: d506 bpl.n 8042c96 pardata.LP = pardata.HP; 8042c88: 4b62 ldr r3, [pc, #392] ; (8042e14 ) 8042c8a: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 8042c8e: 4a61 ldr r2, [pc, #388] ; (8042e14 ) 8042c90: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 8042c94: e030 b.n 8042cf8 if(fl > f) 8042c96: ed97 7a2a vldr s14, [r7, #168] ; 0xa8 8042c9a: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8042c9e: eeb4 7ae7 vcmpe.f32 s14, s15 8042ca2: eef1 fa10 vmrs APSR_nzcv, fpscr 8042ca6: dd05 ble.n 8042cb4 pardata.LP = f; 8042ca8: 4a5a ldr r2, [pc, #360] ; (8042e14 ) 8042caa: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 8042cae: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 8042cb2: e021 b.n 8042cf8 pardata.LP = (float32_t) k; 8042cb4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042cb8: ee07 3a90 vmov s15, r3 8042cbc: eef8 7a67 vcvt.f32.u32 s15, s15 8042cc0: 4b54 ldr r3, [pc, #336] ; (8042e14 ) 8042cc2: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 8042cc6: 4b53 ldr r3, [pc, #332] ; (8042e14 ) 8042cc8: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8042ccc: ed9f 7a53 vldr s14, [pc, #332] ; 8042e1c 8042cd0: ee67 7a87 vmul.f32 s15, s15, s14 8042cd4: 4b4f ldr r3, [pc, #316] ; (8042e14 ) 8042cd6: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 8042cda: 4b4e ldr r3, [pc, #312] ; (8042e14 ) 8042cdc: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8042ce0: ed9f 7a4f vldr s14, [pc, #316] ; 8042e20 8042ce4: ee77 7a87 vadd.f32 s15, s15, s14 8042ce8: 4b4a ldr r3, [pc, #296] ; (8042e14 ) 8042cea: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8042cee: e003 b.n 8042cf8 8042cf0: e002 b.n 8042cf8 break; 8042cf2: bf00 nop 8042cf4: f002 b850 b.w 8044d98 break; 8042cf8: bf00 nop break; 8042cfa: f002 b84d b.w 8044d98 case PARAM_OSC: focused = false; 8042cfe: 4b49 ldr r3, [pc, #292] ; (8042e24 ) 8042d00: 2200 movs r2, #0 8042d02: 701a strb r2, [r3, #0] if(menupos == Ok) 8042d04: 4b48 ldr r3, [pc, #288] ; (8042e28 ) 8042d06: 781b ldrb r3, [r3, #0] 8042d08: b2db uxtb r3, r3 8042d0a: 2b00 cmp r3, #0 8042d0c: d104 bne.n 8042d18 menupos = OscValue; 8042d0e: 4b46 ldr r3, [pc, #280] ; (8042e28 ) 8042d10: 2201 movs r2, #1 8042d12: 701a strb r2, [r3, #0] pardata.LP = (float32_t) k; pardata.LP *= 0.1f; pardata.LP += 0.0001f; } } break; 8042d14: f002 b821 b.w 8044d5a if(menupos == OscValue) 8042d18: 4b43 ldr r3, [pc, #268] ; (8042e28 ) 8042d1a: 781b ldrb r3, [r3, #0] 8042d1c: b2db uxtb r3, r3 8042d1e: 2b01 cmp r3, #1 8042d20: d104 bne.n 8042d2c menupos = FilterHP; 8042d22: 4b41 ldr r3, [pc, #260] ; (8042e28 ) 8042d24: 2217 movs r2, #23 8042d26: 701a strb r2, [r3, #0] break; 8042d28: f002 b817 b.w 8044d5a if(menupos == FilterHP) 8042d2c: 4b3e ldr r3, [pc, #248] ; (8042e28 ) 8042d2e: 781b ldrb r3, [r3, #0] 8042d30: b2db uxtb r3, r3 8042d32: 2b17 cmp r3, #23 8042d34: d104 bne.n 8042d40 menupos = FilterLP; 8042d36: 4b3c ldr r3, [pc, #240] ; (8042e28 ) 8042d38: 2218 movs r2, #24 8042d3a: 701a strb r2, [r3, #0] break; 8042d3c: f002 b80d b.w 8044d5a if(menupos == FilterLP) 8042d40: 4b39 ldr r3, [pc, #228] ; (8042e28 ) 8042d42: 781b ldrb r3, [r3, #0] 8042d44: b2db uxtb r3, r3 8042d46: 2b18 cmp r3, #24 8042d48: d104 bne.n 8042d54 menupos = OscRate; 8042d4a: 4b37 ldr r3, [pc, #220] ; (8042e28 ) 8042d4c: 2203 movs r2, #3 8042d4e: 701a strb r2, [r3, #0] break; 8042d50: f002 b803 b.w 8044d5a if(menupos == OscRate) 8042d54: 4b34 ldr r3, [pc, #208] ; (8042e28 ) 8042d56: 781b ldrb r3, [r3, #0] 8042d58: b2db uxtb r3, r3 8042d5a: 2b03 cmp r3, #3 8042d5c: d104 bne.n 8042d68 menupos = OscLen; 8042d5e: 4b32 ldr r3, [pc, #200] ; (8042e28 ) 8042d60: 2204 movs r2, #4 8042d62: 701a strb r2, [r3, #0] break; 8042d64: f001 bff9 b.w 8044d5a if(menupos == OscLen) 8042d68: 4b2f ldr r3, [pc, #188] ; (8042e28 ) 8042d6a: 781b ldrb r3, [r3, #0] 8042d6c: b2db uxtb r3, r3 8042d6e: 2b04 cmp r3, #4 8042d70: d104 bne.n 8042d7c menupos = OscAutoKu; 8042d72: 4b2d ldr r3, [pc, #180] ; (8042e28 ) 8042d74: 2205 movs r2, #5 8042d76: 701a strb r2, [r3, #0] break; 8042d78: f001 bfef b.w 8044d5a if(menupos == OscAutoKu) 8042d7c: 4b2a ldr r3, [pc, #168] ; (8042e28 ) 8042d7e: 781b ldrb r3, [r3, #0] 8042d80: b2db uxtb r3, r3 8042d82: 2b05 cmp r3, #5 8042d84: d110 bne.n 8042da8 if(pardata.OPTIONS & 0x4) 8042d86: 4b23 ldr r3, [pc, #140] ; (8042e14 ) 8042d88: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8042d8c: f003 0304 and.w r3, r3, #4 8042d90: 2b00 cmp r3, #0 8042d92: d004 beq.n 8042d9e menupos = Ok; 8042d94: 4b24 ldr r3, [pc, #144] ; (8042e28 ) 8042d96: 2200 movs r2, #0 8042d98: 701a strb r2, [r3, #0] break; 8042d9a: f001 bfde b.w 8044d5a else menupos = OscMax_ALL; 8042d9e: 4b22 ldr r3, [pc, #136] ; (8042e28 ) 8042da0: 2206 movs r2, #6 8042da2: 701a strb r2, [r3, #0] break; 8042da4: f001 bfd9 b.w 8044d5a if(menupos == OscMax_ALL) 8042da8: 4b1f ldr r3, [pc, #124] ; (8042e28 ) 8042daa: 781b ldrb r3, [r3, #0] 8042dac: b2db uxtb r3, r3 8042dae: 2b06 cmp r3, #6 8042db0: d10e bne.n 8042dd0 if(pardata.IPR > ACC) 8042db2: 4b18 ldr r3, [pc, #96] ; (8042e14 ) 8042db4: 785b ldrb r3, [r3, #1] 8042db6: b2db uxtb r3, r3 8042db8: 2b00 cmp r3, #0 8042dba: d004 beq.n 8042dc6 menupos = Ok; 8042dbc: 4b1a ldr r3, [pc, #104] ; (8042e28 ) 8042dbe: 2200 movs r2, #0 8042dc0: 701a strb r2, [r3, #0] break; 8042dc2: f001 bfca b.w 8044d5a else menupos = OscThr; 8042dc6: 4b18 ldr r3, [pc, #96] ; (8042e28 ) 8042dc8: 2207 movs r2, #7 8042dca: 701a strb r2, [r3, #0] break; 8042dcc: f001 bfc5 b.w 8044d5a if(menupos == OscThr) 8042dd0: 4b15 ldr r3, [pc, #84] ; (8042e28 ) 8042dd2: 781b ldrb r3, [r3, #0] 8042dd4: b2db uxtb r3, r3 8042dd6: 2b07 cmp r3, #7 8042dd8: d10f bne.n 8042dfa if(pardata.THR & 0x80) 8042dda: 4b0e ldr r3, [pc, #56] ; (8042e14 ) 8042ddc: 7bdb ldrb r3, [r3, #15] 8042dde: b2db uxtb r3, r3 8042de0: b25b sxtb r3, r3 8042de2: 2b00 cmp r3, #0 8042de4: da04 bge.n 8042df0 menupos = OscThr_ALL; 8042de6: 4b10 ldr r3, [pc, #64] ; (8042e28 ) 8042de8: 2208 movs r2, #8 8042dea: 701a strb r2, [r3, #0] break; 8042dec: f001 bfb5 b.w 8044d5a else menupos = Ok; 8042df0: 4b0d ldr r3, [pc, #52] ; (8042e28 ) 8042df2: 2200 movs r2, #0 8042df4: 701a strb r2, [r3, #0] break; 8042df6: f001 bfb0 b.w 8044d5a if(menupos == OscThr_ALL) 8042dfa: 4b0b ldr r3, [pc, #44] ; (8042e28 ) 8042dfc: 781b ldrb r3, [r3, #0] 8042dfe: b2db uxtb r3, r3 8042e00: 2b08 cmp r3, #8 8042e02: d113 bne.n 8042e2c menupos = Ok; 8042e04: 4b08 ldr r3, [pc, #32] ; (8042e28 ) 8042e06: 2200 movs r2, #0 8042e08: 701a strb r2, [r3, #0] break; 8042e0a: f001 bfa6 b.w 8044d5a 8042e0e: bf00 nop 8042e10: 45c80000 .word 0x45c80000 8042e14: 20023eb8 .word 0x20023eb8 8042e18: 41200000 .word 0x41200000 8042e1c: 3dcccccd .word 0x3dcccccd 8042e20: 38d1b717 .word 0x38d1b717 8042e24: 20020fd0 .word 0x20020fd0 8042e28: 20020070 .word 0x20020070 if((menupos >= OscThr_IDT) && (menupos <= OscThr_IKD)) 8042e2c: 4bb3 ldr r3, [pc, #716] ; (80430fc ) 8042e2e: 781b ldrb r3, [r3, #0] 8042e30: b2db uxtb r3, r3 8042e32: 2b08 cmp r3, #8 8042e34: f240 817a bls.w 804312c 8042e38: 4bb0 ldr r3, [pc, #704] ; (80430fc ) 8042e3a: 781b ldrb r3, [r3, #0] 8042e3c: b2db uxtb r3, r3 8042e3e: 2b0e cmp r3, #14 8042e40: f200 8174 bhi.w 804312c k = (uint32_t) (pardata.THR_VAL * 10.0f); 8042e44: 4bae ldr r3, [pc, #696] ; (8043100 ) 8042e46: edd3 7a05 vldr s15, [r3, #20] 8042e4a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8042e4e: ee67 7a87 vmul.f32 s15, s15, s14 8042e52: eefc 7ae7 vcvt.u32.f32 s15, s15 8042e56: ee17 3a90 vmov r3, s15 8042e5a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8042e5e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042e62: 095b lsrs r3, r3, #5 8042e64: 4aa7 ldr r2, [pc, #668] ; (8043104 ) 8042e66: fba2 2303 umull r2, r3, r2, r3 8042e6a: 09db lsrs r3, r3, #7 8042e6c: b2db uxtb r3, r3 8042e6e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8042e72: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042e76: 0953 lsrs r3, r2, #5 8042e78: 49a2 ldr r1, [pc, #648] ; (8043104 ) 8042e7a: fba1 1303 umull r1, r3, r1, r3 8042e7e: 09db lsrs r3, r3, #7 8042e80: 49a1 ldr r1, [pc, #644] ; (8043108 ) 8042e82: fb01 f303 mul.w r3, r1, r3 8042e86: 1ad3 subs r3, r2, r3 8042e88: 4aa0 ldr r2, [pc, #640] ; (804310c ) 8042e8a: fba2 2303 umull r2, r3, r2, r3 8042e8e: 0b5b lsrs r3, r3, #13 8042e90: b2db uxtb r3, r3 8042e92: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8042e96: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042e9a: 0953 lsrs r3, r2, #5 8042e9c: 4999 ldr r1, [pc, #612] ; (8043104 ) 8042e9e: fba1 1303 umull r1, r3, r1, r3 8042ea2: 09db lsrs r3, r3, #7 8042ea4: 4998 ldr r1, [pc, #608] ; (8043108 ) 8042ea6: fb01 f303 mul.w r3, r1, r3 8042eaa: 1ad3 subs r3, r2, r3 8042eac: 4a97 ldr r2, [pc, #604] ; (804310c ) 8042eae: fba2 1203 umull r1, r2, r2, r3 8042eb2: 0b52 lsrs r2, r2, #13 8042eb4: f242 7110 movw r1, #10000 ; 0x2710 8042eb8: fb01 f202 mul.w r2, r1, r2 8042ebc: 1a9a subs r2, r3, r2 8042ebe: 4b94 ldr r3, [pc, #592] ; (8043110 ) 8042ec0: fba3 2302 umull r2, r3, r3, r2 8042ec4: 099b lsrs r3, r3, #6 8042ec6: b2db uxtb r3, r3 8042ec8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8042ecc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042ed0: 095a lsrs r2, r3, #5 8042ed2: 498c ldr r1, [pc, #560] ; (8043104 ) 8042ed4: fba1 1202 umull r1, r2, r1, r2 8042ed8: 09d2 lsrs r2, r2, #7 8042eda: 498b ldr r1, [pc, #556] ; (8043108 ) 8042edc: fb01 f202 mul.w r2, r1, r2 8042ee0: 1a9a subs r2, r3, r2 8042ee2: 4b8a ldr r3, [pc, #552] ; (804310c ) 8042ee4: fba3 1302 umull r1, r3, r3, r2 8042ee8: 0b5b lsrs r3, r3, #13 8042eea: f242 7110 movw r1, #10000 ; 0x2710 8042eee: fb01 f303 mul.w r3, r1, r3 8042ef2: 1ad3 subs r3, r2, r3 8042ef4: 4a86 ldr r2, [pc, #536] ; (8043110 ) 8042ef6: fba2 1203 umull r1, r2, r2, r3 8042efa: 0992 lsrs r2, r2, #6 8042efc: f44f 717a mov.w r1, #1000 ; 0x3e8 8042f00: fb01 f202 mul.w r2, r1, r2 8042f04: 1a9a subs r2, r3, r2 8042f06: 4b83 ldr r3, [pc, #524] ; (8043114 ) 8042f08: fba3 2302 umull r2, r3, r3, r2 8042f0c: 095b lsrs r3, r3, #5 8042f0e: b2db uxtb r3, r3 8042f10: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8042f14: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042f18: 0953 lsrs r3, r2, #5 8042f1a: 497a ldr r1, [pc, #488] ; (8043104 ) 8042f1c: fba1 1303 umull r1, r3, r1, r3 8042f20: 09db lsrs r3, r3, #7 8042f22: 4979 ldr r1, [pc, #484] ; (8043108 ) 8042f24: fb01 f303 mul.w r3, r1, r3 8042f28: 1ad3 subs r3, r2, r3 8042f2a: 4a78 ldr r2, [pc, #480] ; (804310c ) 8042f2c: fba2 1203 umull r1, r2, r2, r3 8042f30: 0b52 lsrs r2, r2, #13 8042f32: f242 7110 movw r1, #10000 ; 0x2710 8042f36: fb01 f202 mul.w r2, r1, r2 8042f3a: 1a9a subs r2, r3, r2 8042f3c: 4b74 ldr r3, [pc, #464] ; (8043110 ) 8042f3e: fba3 1302 umull r1, r3, r3, r2 8042f42: 099b lsrs r3, r3, #6 8042f44: f44f 717a mov.w r1, #1000 ; 0x3e8 8042f48: fb01 f303 mul.w r3, r1, r3 8042f4c: 1ad3 subs r3, r2, r3 8042f4e: 4a71 ldr r2, [pc, #452] ; (8043114 ) 8042f50: fba2 1203 umull r1, r2, r2, r3 8042f54: 0952 lsrs r2, r2, #5 8042f56: 2164 movs r1, #100 ; 0x64 8042f58: fb01 f202 mul.w r2, r1, r2 8042f5c: 1a9a subs r2, r3, r2 8042f5e: 4b6e ldr r3, [pc, #440] ; (8043118 ) 8042f60: fba3 2302 umull r2, r3, r3, r2 8042f64: 08db lsrs r3, r3, #3 8042f66: b2db uxtb r3, r3 8042f68: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8042f6c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042f70: 0953 lsrs r3, r2, #5 8042f72: 4964 ldr r1, [pc, #400] ; (8043104 ) 8042f74: fba1 1303 umull r1, r3, r1, r3 8042f78: 09db lsrs r3, r3, #7 8042f7a: 4963 ldr r1, [pc, #396] ; (8043108 ) 8042f7c: fb01 f303 mul.w r3, r1, r3 8042f80: 1ad3 subs r3, r2, r3 8042f82: 4a62 ldr r2, [pc, #392] ; (804310c ) 8042f84: fba2 1203 umull r1, r2, r2, r3 8042f88: 0b52 lsrs r2, r2, #13 8042f8a: f242 7110 movw r1, #10000 ; 0x2710 8042f8e: fb01 f202 mul.w r2, r1, r2 8042f92: 1a9a subs r2, r3, r2 8042f94: 4b5e ldr r3, [pc, #376] ; (8043110 ) 8042f96: fba3 1302 umull r1, r3, r3, r2 8042f9a: 099b lsrs r3, r3, #6 8042f9c: f44f 717a mov.w r1, #1000 ; 0x3e8 8042fa0: fb01 f303 mul.w r3, r1, r3 8042fa4: 1ad3 subs r3, r2, r3 8042fa6: 4a5b ldr r2, [pc, #364] ; (8043114 ) 8042fa8: fba2 1203 umull r1, r2, r2, r3 8042fac: 0952 lsrs r2, r2, #5 8042fae: 2164 movs r1, #100 ; 0x64 8042fb0: fb01 f202 mul.w r2, r1, r2 8042fb4: 1a9a subs r2, r3, r2 8042fb6: 4b58 ldr r3, [pc, #352] ; (8043118 ) 8042fb8: fba3 1302 umull r1, r3, r3, r2 8042fbc: 08d9 lsrs r1, r3, #3 8042fbe: 460b mov r3, r1 8042fc0: 009b lsls r3, r3, #2 8042fc2: 440b add r3, r1 8042fc4: 005b lsls r3, r3, #1 8042fc6: 1ad1 subs r1, r2, r3 8042fc8: b2cb uxtb r3, r1 8042fca: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8042fce: 4b4b ldr r3, [pc, #300] ; (80430fc ) 8042fd0: 781b ldrb r3, [r3, #0] 8042fd2: b2db uxtb r3, r3 8042fd4: 3b09 subs r3, #9 8042fd6: 2b05 cmp r3, #5 8042fd8: d869 bhi.n 80430ae 8042fda: a201 add r2, pc, #4 ; (adr r2, 8042fe0 ) 8042fdc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8042fe0: 08042ff9 .word 0x08042ff9 8042fe4: 08043019 .word 0x08043019 8042fe8: 0804303b .word 0x0804303b 8042fec: 0804305b .word 0x0804305b 8042ff0: 08043077 .word 0x08043077 8042ff4: 08043093 .word 0x08043093 if(k > 100000) k -= 100000; 8042ff8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042ffc: 4a42 ldr r2, [pc, #264] ; (8043108 ) 8042ffe: 4293 cmp r3, r2 8043000: d906 bls.n 8043010 8043002: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043006: 4b45 ldr r3, [pc, #276] ; (804311c ) 8043008: 4413 add r3, r2 804300a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804300e: e04e b.n 80430ae else k = 0; 8043010: 2300 movs r3, #0 8043012: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043016: e04a b.n 80430ae if(k > 10000) k -= 10000; 8043018: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804301c: f242 7210 movw r2, #10000 ; 0x2710 8043020: 4293 cmp r3, r2 8043022: d906 bls.n 8043032 8043024: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043028: 4b3d ldr r3, [pc, #244] ; (8043120 ) 804302a: 4413 add r3, r2 804302c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043030: e03d b.n 80430ae else k = 0; 8043032: 2300 movs r3, #0 8043034: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043038: e039 b.n 80430ae if(k > 1000) k -= 1000; 804303a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804303e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8043042: d906 bls.n 8043052 8043044: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043048: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 804304c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043050: e02d b.n 80430ae else k = 0; 8043052: 2300 movs r3, #0 8043054: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043058: e029 b.n 80430ae if(k > 100) k -= 100; 804305a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804305e: 2b64 cmp r3, #100 ; 0x64 8043060: d905 bls.n 804306e 8043062: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043066: 3b64 subs r3, #100 ; 0x64 8043068: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804306c: e01f b.n 80430ae else k = 0; 804306e: 2300 movs r3, #0 8043070: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043074: e01b b.n 80430ae if(k > 10) k -= 10; 8043076: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804307a: 2b0a cmp r3, #10 804307c: d905 bls.n 804308a 804307e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043082: 3b0a subs r3, #10 8043084: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043088: e011 b.n 80430ae else k = 0; 804308a: 2300 movs r3, #0 804308c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043090: e00d b.n 80430ae if(k > 1) k -= 1; 8043092: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043096: 2b01 cmp r3, #1 8043098: d905 bls.n 80430a6 804309a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804309e: 3b01 subs r3, #1 80430a0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80430a4: e002 b.n 80430ac else k = 0; 80430a6: 2300 movs r3, #0 80430a8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80430ac: bf00 nop if(k == 0) k = 1; 80430ae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80430b2: 2b00 cmp r3, #0 80430b4: d102 bne.n 80430bc 80430b6: 2301 movs r3, #1 80430b8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.THR_VAL = (float32_t) k; 80430bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80430c0: ee07 3a90 vmov s15, r3 80430c4: eef8 7a67 vcvt.f32.u32 s15, s15 80430c8: 4b0d ldr r3, [pc, #52] ; (8043100 ) 80430ca: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL *= 0.1f; 80430ce: 4b0c ldr r3, [pc, #48] ; (8043100 ) 80430d0: edd3 7a05 vldr s15, [r3, #20] 80430d4: ed9f 7a13 vldr s14, [pc, #76] ; 8043124 80430d8: ee67 7a87 vmul.f32 s15, s15, s14 80430dc: 4b08 ldr r3, [pc, #32] ; (8043100 ) 80430de: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL += 0.05f; 80430e2: 4b07 ldr r3, [pc, #28] ; (8043100 ) 80430e4: edd3 7a05 vldr s15, [r3, #20] 80430e8: ed9f 7a0f vldr s14, [pc, #60] ; 8043128 80430ec: ee77 7a87 vadd.f32 s15, s15, s14 80430f0: 4b03 ldr r3, [pc, #12] ; (8043100 ) 80430f2: edc3 7a05 vstr s15, [r3, #20] 80430f6: f000 bd6f b.w 8043bd8 80430fa: bf00 nop 80430fc: 20020070 .word 0x20020070 8043100: 20023eb8 .word 0x20023eb8 8043104: 0a7c5ac5 .word 0x0a7c5ac5 8043108: 000186a0 .word 0x000186a0 804310c: d1b71759 .word 0xd1b71759 8043110: 10624dd3 .word 0x10624dd3 8043114: 51eb851f .word 0x51eb851f 8043118: cccccccd .word 0xcccccccd 804311c: fffe7960 .word 0xfffe7960 8043120: ffffd8f0 .word 0xffffd8f0 8043124: 3dcccccd .word 0x3dcccccd 8043128: 3d4ccccd .word 0x3d4ccccd if((menupos >= OscMax_IDT) && (menupos <= OscMax_IKD)) 804312c: 4bb2 ldr r3, [pc, #712] ; (80433f8 ) 804312e: 781b ldrb r3, [r3, #0] 8043130: b2db uxtb r3, r3 8043132: 2b0e cmp r3, #14 8043134: f240 8178 bls.w 8043428 8043138: 4baf ldr r3, [pc, #700] ; (80433f8 ) 804313a: 781b ldrb r3, [r3, #0] 804313c: b2db uxtb r3, r3 804313e: 2b14 cmp r3, #20 8043140: f200 8172 bhi.w 8043428 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8043144: 4bad ldr r3, [pc, #692] ; (80433fc ) 8043146: edd3 7a06 vldr s15, [r3, #24] 804314a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804314e: ee67 7a87 vmul.f32 s15, s15, s14 8043152: eefc 7ae7 vcvt.u32.f32 s15, s15 8043156: ee17 3a90 vmov r3, s15 804315a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 804315e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043162: 095b lsrs r3, r3, #5 8043164: 4aa6 ldr r2, [pc, #664] ; (8043400 ) 8043166: fba2 2303 umull r2, r3, r2, r3 804316a: 09db lsrs r3, r3, #7 804316c: b2db uxtb r3, r3 804316e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8043172: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043176: 0953 lsrs r3, r2, #5 8043178: 49a1 ldr r1, [pc, #644] ; (8043400 ) 804317a: fba1 1303 umull r1, r3, r1, r3 804317e: 09db lsrs r3, r3, #7 8043180: 49a0 ldr r1, [pc, #640] ; (8043404 ) 8043182: fb01 f303 mul.w r3, r1, r3 8043186: 1ad3 subs r3, r2, r3 8043188: 4a9f ldr r2, [pc, #636] ; (8043408 ) 804318a: fba2 2303 umull r2, r3, r2, r3 804318e: 0b5b lsrs r3, r3, #13 8043190: b2db uxtb r3, r3 8043192: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8043196: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804319a: 0953 lsrs r3, r2, #5 804319c: 4998 ldr r1, [pc, #608] ; (8043400 ) 804319e: fba1 1303 umull r1, r3, r1, r3 80431a2: 09db lsrs r3, r3, #7 80431a4: 4997 ldr r1, [pc, #604] ; (8043404 ) 80431a6: fb01 f303 mul.w r3, r1, r3 80431aa: 1ad3 subs r3, r2, r3 80431ac: 4a96 ldr r2, [pc, #600] ; (8043408 ) 80431ae: fba2 1203 umull r1, r2, r2, r3 80431b2: 0b52 lsrs r2, r2, #13 80431b4: f242 7110 movw r1, #10000 ; 0x2710 80431b8: fb01 f202 mul.w r2, r1, r2 80431bc: 1a9a subs r2, r3, r2 80431be: 4b93 ldr r3, [pc, #588] ; (804340c ) 80431c0: fba3 2302 umull r2, r3, r3, r2 80431c4: 099b lsrs r3, r3, #6 80431c6: b2db uxtb r3, r3 80431c8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80431cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80431d0: 095a lsrs r2, r3, #5 80431d2: 498b ldr r1, [pc, #556] ; (8043400 ) 80431d4: fba1 1202 umull r1, r2, r1, r2 80431d8: 09d2 lsrs r2, r2, #7 80431da: 498a ldr r1, [pc, #552] ; (8043404 ) 80431dc: fb01 f202 mul.w r2, r1, r2 80431e0: 1a9a subs r2, r3, r2 80431e2: 4b89 ldr r3, [pc, #548] ; (8043408 ) 80431e4: fba3 1302 umull r1, r3, r3, r2 80431e8: 0b5b lsrs r3, r3, #13 80431ea: f242 7110 movw r1, #10000 ; 0x2710 80431ee: fb01 f303 mul.w r3, r1, r3 80431f2: 1ad3 subs r3, r2, r3 80431f4: 4a85 ldr r2, [pc, #532] ; (804340c ) 80431f6: fba2 1203 umull r1, r2, r2, r3 80431fa: 0992 lsrs r2, r2, #6 80431fc: f44f 717a mov.w r1, #1000 ; 0x3e8 8043200: fb01 f202 mul.w r2, r1, r2 8043204: 1a9a subs r2, r3, r2 8043206: 4b82 ldr r3, [pc, #520] ; (8043410 ) 8043208: fba3 2302 umull r2, r3, r3, r2 804320c: 095b lsrs r3, r3, #5 804320e: b2db uxtb r3, r3 8043210: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8043214: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043218: 0953 lsrs r3, r2, #5 804321a: 4979 ldr r1, [pc, #484] ; (8043400 ) 804321c: fba1 1303 umull r1, r3, r1, r3 8043220: 09db lsrs r3, r3, #7 8043222: 4978 ldr r1, [pc, #480] ; (8043404 ) 8043224: fb01 f303 mul.w r3, r1, r3 8043228: 1ad3 subs r3, r2, r3 804322a: 4a77 ldr r2, [pc, #476] ; (8043408 ) 804322c: fba2 1203 umull r1, r2, r2, r3 8043230: 0b52 lsrs r2, r2, #13 8043232: f242 7110 movw r1, #10000 ; 0x2710 8043236: fb01 f202 mul.w r2, r1, r2 804323a: 1a9a subs r2, r3, r2 804323c: 4b73 ldr r3, [pc, #460] ; (804340c ) 804323e: fba3 1302 umull r1, r3, r3, r2 8043242: 099b lsrs r3, r3, #6 8043244: f44f 717a mov.w r1, #1000 ; 0x3e8 8043248: fb01 f303 mul.w r3, r1, r3 804324c: 1ad3 subs r3, r2, r3 804324e: 4a70 ldr r2, [pc, #448] ; (8043410 ) 8043250: fba2 1203 umull r1, r2, r2, r3 8043254: 0952 lsrs r2, r2, #5 8043256: 2164 movs r1, #100 ; 0x64 8043258: fb01 f202 mul.w r2, r1, r2 804325c: 1a9a subs r2, r3, r2 804325e: 4b6d ldr r3, [pc, #436] ; (8043414 ) 8043260: fba3 2302 umull r2, r3, r3, r2 8043264: 08db lsrs r3, r3, #3 8043266: b2db uxtb r3, r3 8043268: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 804326c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043270: 0953 lsrs r3, r2, #5 8043272: 4963 ldr r1, [pc, #396] ; (8043400 ) 8043274: fba1 1303 umull r1, r3, r1, r3 8043278: 09db lsrs r3, r3, #7 804327a: 4962 ldr r1, [pc, #392] ; (8043404 ) 804327c: fb01 f303 mul.w r3, r1, r3 8043280: 1ad3 subs r3, r2, r3 8043282: 4a61 ldr r2, [pc, #388] ; (8043408 ) 8043284: fba2 1203 umull r1, r2, r2, r3 8043288: 0b52 lsrs r2, r2, #13 804328a: f242 7110 movw r1, #10000 ; 0x2710 804328e: fb01 f202 mul.w r2, r1, r2 8043292: 1a9a subs r2, r3, r2 8043294: 4b5d ldr r3, [pc, #372] ; (804340c ) 8043296: fba3 1302 umull r1, r3, r3, r2 804329a: 099b lsrs r3, r3, #6 804329c: f44f 717a mov.w r1, #1000 ; 0x3e8 80432a0: fb01 f303 mul.w r3, r1, r3 80432a4: 1ad3 subs r3, r2, r3 80432a6: 4a5a ldr r2, [pc, #360] ; (8043410 ) 80432a8: fba2 1203 umull r1, r2, r2, r3 80432ac: 0952 lsrs r2, r2, #5 80432ae: 2164 movs r1, #100 ; 0x64 80432b0: fb01 f202 mul.w r2, r1, r2 80432b4: 1a9a subs r2, r3, r2 80432b6: 4b57 ldr r3, [pc, #348] ; (8043414 ) 80432b8: fba3 1302 umull r1, r3, r3, r2 80432bc: 08d9 lsrs r1, r3, #3 80432be: 460b mov r3, r1 80432c0: 009b lsls r3, r3, #2 80432c2: 440b add r3, r1 80432c4: 005b lsls r3, r3, #1 80432c6: 1ad1 subs r1, r2, r3 80432c8: b2cb uxtb r3, r1 80432ca: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80432ce: 4b4a ldr r3, [pc, #296] ; (80433f8 ) 80432d0: 781b ldrb r3, [r3, #0] 80432d2: b2db uxtb r3, r3 80432d4: 3b0f subs r3, #15 80432d6: 2b05 cmp r3, #5 80432d8: d869 bhi.n 80433ae 80432da: a201 add r2, pc, #4 ; (adr r2, 80432e0 ) 80432dc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80432e0: 080432f9 .word 0x080432f9 80432e4: 08043319 .word 0x08043319 80432e8: 0804333b .word 0x0804333b 80432ec: 0804335b .word 0x0804335b 80432f0: 08043377 .word 0x08043377 80432f4: 08043393 .word 0x08043393 if(k > 100000) k -= 100000; 80432f8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80432fc: 4a41 ldr r2, [pc, #260] ; (8043404 ) 80432fe: 4293 cmp r3, r2 8043300: d906 bls.n 8043310 8043302: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043306: 4b44 ldr r3, [pc, #272] ; (8043418 ) 8043308: 4413 add r3, r2 804330a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804330e: e04e b.n 80433ae else k = 0; 8043310: 2300 movs r3, #0 8043312: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043316: e04a b.n 80433ae if(k > 10000) k -= 10000; 8043318: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804331c: f242 7210 movw r2, #10000 ; 0x2710 8043320: 4293 cmp r3, r2 8043322: d906 bls.n 8043332 8043324: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043328: 4b3c ldr r3, [pc, #240] ; (804341c ) 804332a: 4413 add r3, r2 804332c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043330: e03d b.n 80433ae else k = 0; 8043332: 2300 movs r3, #0 8043334: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043338: e039 b.n 80433ae if(k > 1000) k -= 1000; 804333a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804333e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8043342: d906 bls.n 8043352 8043344: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043348: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 804334c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043350: e02d b.n 80433ae else k = 0; 8043352: 2300 movs r3, #0 8043354: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043358: e029 b.n 80433ae if(k > 100) k -= 100; 804335a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804335e: 2b64 cmp r3, #100 ; 0x64 8043360: d905 bls.n 804336e 8043362: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043366: 3b64 subs r3, #100 ; 0x64 8043368: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804336c: e01f b.n 80433ae else k = 0; 804336e: 2300 movs r3, #0 8043370: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043374: e01b b.n 80433ae if(k > 10) k -= 10; 8043376: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804337a: 2b0a cmp r3, #10 804337c: d905 bls.n 804338a 804337e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043382: 3b0a subs r3, #10 8043384: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043388: e011 b.n 80433ae else k = 0; 804338a: 2300 movs r3, #0 804338c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043390: e00d b.n 80433ae if(k > 1) k -= 1; 8043392: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043396: 2b01 cmp r3, #1 8043398: d905 bls.n 80433a6 804339a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804339e: 3b01 subs r3, #1 80433a0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80433a4: e002 b.n 80433ac else k = 0; 80433a6: 2300 movs r3, #0 80433a8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80433ac: bf00 nop if(k == 0) k = 1; 80433ae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80433b2: 2b00 cmp r3, #0 80433b4: d102 bne.n 80433bc 80433b6: 2301 movs r3, #1 80433b8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 80433bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80433c0: ee07 3a90 vmov s15, r3 80433c4: eef8 7a67 vcvt.f32.u32 s15, s15 80433c8: 4b0c ldr r3, [pc, #48] ; (80433fc ) 80433ca: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 80433ce: 4b0b ldr r3, [pc, #44] ; (80433fc ) 80433d0: edd3 7a06 vldr s15, [r3, #24] 80433d4: ed9f 7a12 vldr s14, [pc, #72] ; 8043420 80433d8: ee67 7a87 vmul.f32 s15, s15, s14 80433dc: 4b07 ldr r3, [pc, #28] ; (80433fc ) 80433de: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 80433e2: 4b06 ldr r3, [pc, #24] ; (80433fc ) 80433e4: edd3 7a06 vldr s15, [r3, #24] 80433e8: ed9f 7a0e vldr s14, [pc, #56] ; 8043424 80433ec: ee77 7a87 vadd.f32 s15, s15, s14 80433f0: 4b02 ldr r3, [pc, #8] ; (80433fc ) 80433f2: edc3 7a06 vstr s15, [r3, #24] 80433f6: e3ef b.n 8043bd8 80433f8: 20020070 .word 0x20020070 80433fc: 20023eb8 .word 0x20023eb8 8043400: 0a7c5ac5 .word 0x0a7c5ac5 8043404: 000186a0 .word 0x000186a0 8043408: d1b71759 .word 0xd1b71759 804340c: 10624dd3 .word 0x10624dd3 8043410: 51eb851f .word 0x51eb851f 8043414: cccccccd .word 0xcccccccd 8043418: fffe7960 .word 0xfffe7960 804341c: ffffd8f0 .word 0xffffd8f0 8043420: 3dcccccd .word 0x3dcccccd 8043424: 3d4ccccd .word 0x3d4ccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 8043428: 4bcd ldr r3, [pc, #820] ; (8043760 ) 804342a: 781b ldrb r3, [r3, #0] 804342c: b2db uxtb r3, r3 804342e: 2b18 cmp r3, #24 8043430: f240 81ec bls.w 804380c 8043434: 4bca ldr r3, [pc, #808] ; (8043760 ) 8043436: 781b ldrb r3, [r3, #0] 8043438: b2db uxtb r3, r3 804343a: 2b1e cmp r3, #30 804343c: f200 81e6 bhi.w 804380c k = (uint32_t) (pardata.HP * 10.0f); 8043440: 4bc8 ldr r3, [pc, #800] ; (8043764 ) 8043442: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8043446: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804344a: ee67 7a87 vmul.f32 s15, s15, s14 804344e: eefc 7ae7 vcvt.u32.f32 s15, s15 8043452: ee17 3a90 vmov r3, s15 8043456: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 804345a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804345e: 095b lsrs r3, r3, #5 8043460: 4ac1 ldr r2, [pc, #772] ; (8043768 ) 8043462: fba2 2303 umull r2, r3, r2, r3 8043466: 09db lsrs r3, r3, #7 8043468: b2db uxtb r3, r3 804346a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 804346e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043472: 0953 lsrs r3, r2, #5 8043474: 49bc ldr r1, [pc, #752] ; (8043768 ) 8043476: fba1 1303 umull r1, r3, r1, r3 804347a: 09db lsrs r3, r3, #7 804347c: 49bb ldr r1, [pc, #748] ; (804376c ) 804347e: fb01 f303 mul.w r3, r1, r3 8043482: 1ad3 subs r3, r2, r3 8043484: 4aba ldr r2, [pc, #744] ; (8043770 ) 8043486: fba2 2303 umull r2, r3, r2, r3 804348a: 0b5b lsrs r3, r3, #13 804348c: b2db uxtb r3, r3 804348e: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8043492: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043496: 0953 lsrs r3, r2, #5 8043498: 49b3 ldr r1, [pc, #716] ; (8043768 ) 804349a: fba1 1303 umull r1, r3, r1, r3 804349e: 09db lsrs r3, r3, #7 80434a0: 49b2 ldr r1, [pc, #712] ; (804376c ) 80434a2: fb01 f303 mul.w r3, r1, r3 80434a6: 1ad3 subs r3, r2, r3 80434a8: 4ab1 ldr r2, [pc, #708] ; (8043770 ) 80434aa: fba2 1203 umull r1, r2, r2, r3 80434ae: 0b52 lsrs r2, r2, #13 80434b0: f242 7110 movw r1, #10000 ; 0x2710 80434b4: fb01 f202 mul.w r2, r1, r2 80434b8: 1a9a subs r2, r3, r2 80434ba: 4bae ldr r3, [pc, #696] ; (8043774 ) 80434bc: fba3 2302 umull r2, r3, r3, r2 80434c0: 099b lsrs r3, r3, #6 80434c2: b2db uxtb r3, r3 80434c4: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80434c8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80434cc: 095a lsrs r2, r3, #5 80434ce: 49a6 ldr r1, [pc, #664] ; (8043768 ) 80434d0: fba1 1202 umull r1, r2, r1, r2 80434d4: 09d2 lsrs r2, r2, #7 80434d6: 49a5 ldr r1, [pc, #660] ; (804376c ) 80434d8: fb01 f202 mul.w r2, r1, r2 80434dc: 1a9a subs r2, r3, r2 80434de: 4ba4 ldr r3, [pc, #656] ; (8043770 ) 80434e0: fba3 1302 umull r1, r3, r3, r2 80434e4: 0b5b lsrs r3, r3, #13 80434e6: f242 7110 movw r1, #10000 ; 0x2710 80434ea: fb01 f303 mul.w r3, r1, r3 80434ee: 1ad3 subs r3, r2, r3 80434f0: 4aa0 ldr r2, [pc, #640] ; (8043774 ) 80434f2: fba2 1203 umull r1, r2, r2, r3 80434f6: 0992 lsrs r2, r2, #6 80434f8: f44f 717a mov.w r1, #1000 ; 0x3e8 80434fc: fb01 f202 mul.w r2, r1, r2 8043500: 1a9a subs r2, r3, r2 8043502: 4b9d ldr r3, [pc, #628] ; (8043778 ) 8043504: fba3 2302 umull r2, r3, r3, r2 8043508: 095b lsrs r3, r3, #5 804350a: b2db uxtb r3, r3 804350c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8043510: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043514: 0953 lsrs r3, r2, #5 8043516: 4994 ldr r1, [pc, #592] ; (8043768 ) 8043518: fba1 1303 umull r1, r3, r1, r3 804351c: 09db lsrs r3, r3, #7 804351e: 4993 ldr r1, [pc, #588] ; (804376c ) 8043520: fb01 f303 mul.w r3, r1, r3 8043524: 1ad3 subs r3, r2, r3 8043526: 4a92 ldr r2, [pc, #584] ; (8043770 ) 8043528: fba2 1203 umull r1, r2, r2, r3 804352c: 0b52 lsrs r2, r2, #13 804352e: f242 7110 movw r1, #10000 ; 0x2710 8043532: fb01 f202 mul.w r2, r1, r2 8043536: 1a9a subs r2, r3, r2 8043538: 4b8e ldr r3, [pc, #568] ; (8043774 ) 804353a: fba3 1302 umull r1, r3, r3, r2 804353e: 099b lsrs r3, r3, #6 8043540: f44f 717a mov.w r1, #1000 ; 0x3e8 8043544: fb01 f303 mul.w r3, r1, r3 8043548: 1ad3 subs r3, r2, r3 804354a: 4a8b ldr r2, [pc, #556] ; (8043778 ) 804354c: fba2 1203 umull r1, r2, r2, r3 8043550: 0952 lsrs r2, r2, #5 8043552: 2164 movs r1, #100 ; 0x64 8043554: fb01 f202 mul.w r2, r1, r2 8043558: 1a9a subs r2, r3, r2 804355a: 4b88 ldr r3, [pc, #544] ; (804377c ) 804355c: fba3 2302 umull r2, r3, r3, r2 8043560: 08db lsrs r3, r3, #3 8043562: b2db uxtb r3, r3 8043564: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8043568: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804356c: 0953 lsrs r3, r2, #5 804356e: 497e ldr r1, [pc, #504] ; (8043768 ) 8043570: fba1 1303 umull r1, r3, r1, r3 8043574: 09db lsrs r3, r3, #7 8043576: 497d ldr r1, [pc, #500] ; (804376c ) 8043578: fb01 f303 mul.w r3, r1, r3 804357c: 1ad3 subs r3, r2, r3 804357e: 4a7c ldr r2, [pc, #496] ; (8043770 ) 8043580: fba2 1203 umull r1, r2, r2, r3 8043584: 0b52 lsrs r2, r2, #13 8043586: f242 7110 movw r1, #10000 ; 0x2710 804358a: fb01 f202 mul.w r2, r1, r2 804358e: 1a9a subs r2, r3, r2 8043590: 4b78 ldr r3, [pc, #480] ; (8043774 ) 8043592: fba3 1302 umull r1, r3, r3, r2 8043596: 099b lsrs r3, r3, #6 8043598: f44f 717a mov.w r1, #1000 ; 0x3e8 804359c: fb01 f303 mul.w r3, r1, r3 80435a0: 1ad3 subs r3, r2, r3 80435a2: 4a75 ldr r2, [pc, #468] ; (8043778 ) 80435a4: fba2 1203 umull r1, r2, r2, r3 80435a8: 0952 lsrs r2, r2, #5 80435aa: 2164 movs r1, #100 ; 0x64 80435ac: fb01 f202 mul.w r2, r1, r2 80435b0: 1a9a subs r2, r3, r2 80435b2: 4b72 ldr r3, [pc, #456] ; (804377c ) 80435b4: fba3 1302 umull r1, r3, r3, r2 80435b8: 08d9 lsrs r1, r3, #3 80435ba: 460b mov r3, r1 80435bc: 009b lsls r3, r3, #2 80435be: 440b add r3, r1 80435c0: 005b lsls r3, r3, #1 80435c2: 1ad1 subs r1, r2, r3 80435c4: b2cb uxtb r3, r1 80435c6: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80435ca: 4b65 ldr r3, [pc, #404] ; (8043760 ) 80435cc: 781b ldrb r3, [r3, #0] 80435ce: b2db uxtb r3, r3 80435d0: 3b19 subs r3, #25 80435d2: 2b05 cmp r3, #5 80435d4: d869 bhi.n 80436aa 80435d6: a201 add r2, pc, #4 ; (adr r2, 80435dc ) 80435d8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80435dc: 080435f5 .word 0x080435f5 80435e0: 08043615 .word 0x08043615 80435e4: 08043637 .word 0x08043637 80435e8: 08043657 .word 0x08043657 80435ec: 08043673 .word 0x08043673 80435f0: 0804368f .word 0x0804368f if(k > 100000) k -= 100000; 80435f4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80435f8: 4a5c ldr r2, [pc, #368] ; (804376c ) 80435fa: 4293 cmp r3, r2 80435fc: d906 bls.n 804360c 80435fe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043602: 4b5f ldr r3, [pc, #380] ; (8043780 ) 8043604: 4413 add r3, r2 8043606: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804360a: e04e b.n 80436aa else k = 0; 804360c: 2300 movs r3, #0 804360e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043612: e04a b.n 80436aa if(k > 10000) k -= 10000; 8043614: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043618: f242 7210 movw r2, #10000 ; 0x2710 804361c: 4293 cmp r3, r2 804361e: d906 bls.n 804362e 8043620: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043624: 4b57 ldr r3, [pc, #348] ; (8043784 ) 8043626: 4413 add r3, r2 8043628: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804362c: e03d b.n 80436aa else k = 0; 804362e: 2300 movs r3, #0 8043630: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043634: e039 b.n 80436aa if(k > 1000) k -= 1000; 8043636: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804363a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 804363e: d906 bls.n 804364e 8043640: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043644: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8043648: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804364c: e02d b.n 80436aa else k = 0; 804364e: 2300 movs r3, #0 8043650: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043654: e029 b.n 80436aa if(k > 100) k -= 100; 8043656: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804365a: 2b64 cmp r3, #100 ; 0x64 804365c: d905 bls.n 804366a 804365e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043662: 3b64 subs r3, #100 ; 0x64 8043664: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043668: e01f b.n 80436aa else k = 0; 804366a: 2300 movs r3, #0 804366c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043670: e01b b.n 80436aa if(k > 10) k -= 10; 8043672: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043676: 2b0a cmp r3, #10 8043678: d905 bls.n 8043686 804367a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804367e: 3b0a subs r3, #10 8043680: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043684: e011 b.n 80436aa else k = 0; 8043686: 2300 movs r3, #0 8043688: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804368c: e00d b.n 80436aa if(k > 1) k -= 1; 804368e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043692: 2b01 cmp r3, #1 8043694: d905 bls.n 80436a2 8043696: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804369a: 3b01 subs r3, #1 804369c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80436a0: e002 b.n 80436a8 else k = 0; 80436a2: 2300 movs r3, #0 80436a4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80436a8: bf00 nop fl = (float32_t) k; 80436aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80436ae: ee07 3a90 vmov s15, r3 80436b2: eef8 7a67 vcvt.f32.u32 s15, s15 80436b6: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 80436ba: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80436be: ed9f 7a32 vldr s14, [pc, #200] ; 8043788 80436c2: ee67 7a87 vmul.f32 s15, s15, s14 80436c6: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 80436ca: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80436ce: ed9f 7a2f vldr s14, [pc, #188] ; 804378c 80436d2: ee77 7a87 vadd.f32 s15, s15, s14 80436d6: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 80436da: 4b22 ldr r3, [pc, #136] ; (8043764 ) 80436dc: 785b ldrb r3, [r3, #1] 80436de: b2db uxtb r3, r3 80436e0: 2b00 cmp r3, #0 80436e2: d155 bne.n 8043790 if(fl < 0.5f) 80436e4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80436e8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80436ec: eef4 7ac7 vcmpe.f32 s15, s14 80436f0: eef1 fa10 vmrs APSR_nzcv, fpscr 80436f4: d505 bpl.n 8043702 pardata.HP = 0.5f; 80436f6: 4b1b ldr r3, [pc, #108] ; (8043764 ) 80436f8: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 80436fc: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8043700: e26a b.n 8043bd8 if(fl > pardata.LP) 8043702: 4b18 ldr r3, [pc, #96] ; (8043764 ) 8043704: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8043708: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804370c: eeb4 7ae7 vcmpe.f32 s14, s15 8043710: eef1 fa10 vmrs APSR_nzcv, fpscr 8043714: d506 bpl.n 8043724 pardata.HP = pardata.LP; 8043716: 4b13 ldr r3, [pc, #76] ; (8043764 ) 8043718: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 804371c: 4a11 ldr r2, [pc, #68] ; (8043764 ) 804371e: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8043722: e259 b.n 8043bd8 pardata.HP = (float32_t) k; 8043724: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043728: ee07 3a90 vmov s15, r3 804372c: eef8 7a67 vcvt.f32.u32 s15, s15 8043730: 4b0c ldr r3, [pc, #48] ; (8043764 ) 8043732: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8043736: 4b0b ldr r3, [pc, #44] ; (8043764 ) 8043738: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804373c: ed9f 7a12 vldr s14, [pc, #72] ; 8043788 8043740: ee67 7a87 vmul.f32 s15, s15, s14 8043744: 4b07 ldr r3, [pc, #28] ; (8043764 ) 8043746: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 804374a: 4b06 ldr r3, [pc, #24] ; (8043764 ) 804374c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8043750: ed9f 7a0e vldr s14, [pc, #56] ; 804378c 8043754: ee77 7a87 vadd.f32 s15, s15, s14 8043758: 4b02 ldr r3, [pc, #8] ; (8043764 ) 804375a: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 804375e: e23b b.n 8043bd8 8043760: 20020070 .word 0x20020070 8043764: 20023eb8 .word 0x20023eb8 8043768: 0a7c5ac5 .word 0x0a7c5ac5 804376c: 000186a0 .word 0x000186a0 8043770: d1b71759 .word 0xd1b71759 8043774: 10624dd3 .word 0x10624dd3 8043778: 51eb851f .word 0x51eb851f 804377c: cccccccd .word 0xcccccccd 8043780: fffe7960 .word 0xfffe7960 8043784: ffffd8f0 .word 0xffffd8f0 8043788: 3dcccccd .word 0x3dcccccd 804378c: 38d1b717 .word 0x38d1b717 if(fl < 2.0f) 8043790: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8043794: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8043798: eef4 7ac7 vcmpe.f32 s15, s14 804379c: eef1 fa10 vmrs APSR_nzcv, fpscr 80437a0: d505 bpl.n 80437ae pardata.HP = 2.0f; 80437a2: 4bce ldr r3, [pc, #824] ; (8043adc ) 80437a4: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80437a8: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 80437ac: e214 b.n 8043bd8 if(fl > pardata.LP) 80437ae: 4bcb ldr r3, [pc, #812] ; (8043adc ) 80437b0: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80437b4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80437b8: eeb4 7ae7 vcmpe.f32 s14, s15 80437bc: eef1 fa10 vmrs APSR_nzcv, fpscr 80437c0: d506 bpl.n 80437d0 pardata.HP = pardata.LP; 80437c2: 4bc6 ldr r3, [pc, #792] ; (8043adc ) 80437c4: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 80437c8: 4ac4 ldr r2, [pc, #784] ; (8043adc ) 80437ca: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 80437ce: e203 b.n 8043bd8 pardata.HP = (float32_t) k; 80437d0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80437d4: ee07 3a90 vmov s15, r3 80437d8: eef8 7a67 vcvt.f32.u32 s15, s15 80437dc: 4bbf ldr r3, [pc, #764] ; (8043adc ) 80437de: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 80437e2: 4bbe ldr r3, [pc, #760] ; (8043adc ) 80437e4: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80437e8: ed9f 7abd vldr s14, [pc, #756] ; 8043ae0 80437ec: ee67 7a87 vmul.f32 s15, s15, s14 80437f0: 4bba ldr r3, [pc, #744] ; (8043adc ) 80437f2: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 80437f6: 4bb9 ldr r3, [pc, #740] ; (8043adc ) 80437f8: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80437fc: ed9f 7ab9 vldr s14, [pc, #740] ; 8043ae4 8043800: ee77 7a87 vadd.f32 s15, s15, s14 8043804: 4bb5 ldr r3, [pc, #724] ; (8043adc ) 8043806: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 804380a: e1e5 b.n 8043bd8 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 804380c: 4bb6 ldr r3, [pc, #728] ; (8043ae8 ) 804380e: 781b ldrb r3, [r3, #0] 8043810: b2db uxtb r3, r3 8043812: 2b1e cmp r3, #30 8043814: f241 82a1 bls.w 8044d5a 8043818: 4bb3 ldr r3, [pc, #716] ; (8043ae8 ) 804381a: 781b ldrb r3, [r3, #0] 804381c: b2db uxtb r3, r3 804381e: 2b24 cmp r3, #36 ; 0x24 8043820: f201 829b bhi.w 8044d5a k = (uint32_t) (pardata.LP * 10.0f); 8043824: 4bad ldr r3, [pc, #692] ; (8043adc ) 8043826: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 804382a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804382e: ee67 7a87 vmul.f32 s15, s15, s14 8043832: eefc 7ae7 vcvt.u32.f32 s15, s15 8043836: ee17 3a90 vmov r3, s15 804383a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 804383e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043842: 095b lsrs r3, r3, #5 8043844: 4aa9 ldr r2, [pc, #676] ; (8043aec ) 8043846: fba2 2303 umull r2, r3, r2, r3 804384a: 09db lsrs r3, r3, #7 804384c: b2db uxtb r3, r3 804384e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8043852: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043856: 0953 lsrs r3, r2, #5 8043858: 49a4 ldr r1, [pc, #656] ; (8043aec ) 804385a: fba1 1303 umull r1, r3, r1, r3 804385e: 09db lsrs r3, r3, #7 8043860: 49a3 ldr r1, [pc, #652] ; (8043af0 ) 8043862: fb01 f303 mul.w r3, r1, r3 8043866: 1ad3 subs r3, r2, r3 8043868: 4aa2 ldr r2, [pc, #648] ; (8043af4 ) 804386a: fba2 2303 umull r2, r3, r2, r3 804386e: 0b5b lsrs r3, r3, #13 8043870: b2db uxtb r3, r3 8043872: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8043876: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804387a: 0953 lsrs r3, r2, #5 804387c: 499b ldr r1, [pc, #620] ; (8043aec ) 804387e: fba1 1303 umull r1, r3, r1, r3 8043882: 09db lsrs r3, r3, #7 8043884: 499a ldr r1, [pc, #616] ; (8043af0 ) 8043886: fb01 f303 mul.w r3, r1, r3 804388a: 1ad3 subs r3, r2, r3 804388c: 4a99 ldr r2, [pc, #612] ; (8043af4 ) 804388e: fba2 1203 umull r1, r2, r2, r3 8043892: 0b52 lsrs r2, r2, #13 8043894: f242 7110 movw r1, #10000 ; 0x2710 8043898: fb01 f202 mul.w r2, r1, r2 804389c: 1a9a subs r2, r3, r2 804389e: 4b96 ldr r3, [pc, #600] ; (8043af8 ) 80438a0: fba3 2302 umull r2, r3, r3, r2 80438a4: 099b lsrs r3, r3, #6 80438a6: b2db uxtb r3, r3 80438a8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80438ac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80438b0: 095a lsrs r2, r3, #5 80438b2: 498e ldr r1, [pc, #568] ; (8043aec ) 80438b4: fba1 1202 umull r1, r2, r1, r2 80438b8: 09d2 lsrs r2, r2, #7 80438ba: 498d ldr r1, [pc, #564] ; (8043af0 ) 80438bc: fb01 f202 mul.w r2, r1, r2 80438c0: 1a9a subs r2, r3, r2 80438c2: 4b8c ldr r3, [pc, #560] ; (8043af4 ) 80438c4: fba3 1302 umull r1, r3, r3, r2 80438c8: 0b5b lsrs r3, r3, #13 80438ca: f242 7110 movw r1, #10000 ; 0x2710 80438ce: fb01 f303 mul.w r3, r1, r3 80438d2: 1ad3 subs r3, r2, r3 80438d4: 4a88 ldr r2, [pc, #544] ; (8043af8 ) 80438d6: fba2 1203 umull r1, r2, r2, r3 80438da: 0992 lsrs r2, r2, #6 80438dc: f44f 717a mov.w r1, #1000 ; 0x3e8 80438e0: fb01 f202 mul.w r2, r1, r2 80438e4: 1a9a subs r2, r3, r2 80438e6: 4b85 ldr r3, [pc, #532] ; (8043afc ) 80438e8: fba3 2302 umull r2, r3, r3, r2 80438ec: 095b lsrs r3, r3, #5 80438ee: b2db uxtb r3, r3 80438f0: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80438f4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80438f8: 0953 lsrs r3, r2, #5 80438fa: 497c ldr r1, [pc, #496] ; (8043aec ) 80438fc: fba1 1303 umull r1, r3, r1, r3 8043900: 09db lsrs r3, r3, #7 8043902: 497b ldr r1, [pc, #492] ; (8043af0 ) 8043904: fb01 f303 mul.w r3, r1, r3 8043908: 1ad3 subs r3, r2, r3 804390a: 4a7a ldr r2, [pc, #488] ; (8043af4 ) 804390c: fba2 1203 umull r1, r2, r2, r3 8043910: 0b52 lsrs r2, r2, #13 8043912: f242 7110 movw r1, #10000 ; 0x2710 8043916: fb01 f202 mul.w r2, r1, r2 804391a: 1a9a subs r2, r3, r2 804391c: 4b76 ldr r3, [pc, #472] ; (8043af8 ) 804391e: fba3 1302 umull r1, r3, r3, r2 8043922: 099b lsrs r3, r3, #6 8043924: f44f 717a mov.w r1, #1000 ; 0x3e8 8043928: fb01 f303 mul.w r3, r1, r3 804392c: 1ad3 subs r3, r2, r3 804392e: 4a73 ldr r2, [pc, #460] ; (8043afc ) 8043930: fba2 1203 umull r1, r2, r2, r3 8043934: 0952 lsrs r2, r2, #5 8043936: 2164 movs r1, #100 ; 0x64 8043938: fb01 f202 mul.w r2, r1, r2 804393c: 1a9a subs r2, r3, r2 804393e: 4b70 ldr r3, [pc, #448] ; (8043b00 ) 8043940: fba3 2302 umull r2, r3, r3, r2 8043944: 08db lsrs r3, r3, #3 8043946: b2db uxtb r3, r3 8043948: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 804394c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043950: 0953 lsrs r3, r2, #5 8043952: 4966 ldr r1, [pc, #408] ; (8043aec ) 8043954: fba1 1303 umull r1, r3, r1, r3 8043958: 09db lsrs r3, r3, #7 804395a: 4965 ldr r1, [pc, #404] ; (8043af0 ) 804395c: fb01 f303 mul.w r3, r1, r3 8043960: 1ad3 subs r3, r2, r3 8043962: 4a64 ldr r2, [pc, #400] ; (8043af4 ) 8043964: fba2 1203 umull r1, r2, r2, r3 8043968: 0b52 lsrs r2, r2, #13 804396a: f242 7110 movw r1, #10000 ; 0x2710 804396e: fb01 f202 mul.w r2, r1, r2 8043972: 1a9a subs r2, r3, r2 8043974: 4b60 ldr r3, [pc, #384] ; (8043af8 ) 8043976: fba3 1302 umull r1, r3, r3, r2 804397a: 099b lsrs r3, r3, #6 804397c: f44f 717a mov.w r1, #1000 ; 0x3e8 8043980: fb01 f303 mul.w r3, r1, r3 8043984: 1ad3 subs r3, r2, r3 8043986: 4a5d ldr r2, [pc, #372] ; (8043afc ) 8043988: fba2 1203 umull r1, r2, r2, r3 804398c: 0952 lsrs r2, r2, #5 804398e: 2164 movs r1, #100 ; 0x64 8043990: fb01 f202 mul.w r2, r1, r2 8043994: 1a9a subs r2, r3, r2 8043996: 4b5a ldr r3, [pc, #360] ; (8043b00 ) 8043998: fba3 1302 umull r1, r3, r3, r2 804399c: 08d9 lsrs r1, r3, #3 804399e: 460b mov r3, r1 80439a0: 009b lsls r3, r3, #2 80439a2: 440b add r3, r1 80439a4: 005b lsls r3, r3, #1 80439a6: 1ad1 subs r1, r2, r3 80439a8: b2cb uxtb r3, r1 80439aa: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80439ae: 4b4e ldr r3, [pc, #312] ; (8043ae8 ) 80439b0: 781b ldrb r3, [r3, #0] 80439b2: b2db uxtb r3, r3 80439b4: 3b1f subs r3, #31 80439b6: 2b05 cmp r3, #5 80439b8: d869 bhi.n 8043a8e 80439ba: a201 add r2, pc, #4 ; (adr r2, 80439c0 ) 80439bc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80439c0: 080439d9 .word 0x080439d9 80439c4: 080439f9 .word 0x080439f9 80439c8: 08043a1b .word 0x08043a1b 80439cc: 08043a3b .word 0x08043a3b 80439d0: 08043a57 .word 0x08043a57 80439d4: 08043a73 .word 0x08043a73 if(k > 100000) k -= 100000; 80439d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80439dc: 4a44 ldr r2, [pc, #272] ; (8043af0 ) 80439de: 4293 cmp r3, r2 80439e0: d906 bls.n 80439f0 80439e2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80439e6: 4b47 ldr r3, [pc, #284] ; (8043b04 ) 80439e8: 4413 add r3, r2 80439ea: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80439ee: e04e b.n 8043a8e else k = 0; 80439f0: 2300 movs r3, #0 80439f2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80439f6: e04a b.n 8043a8e if(k > 10000) k -= 10000; 80439f8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80439fc: f242 7210 movw r2, #10000 ; 0x2710 8043a00: 4293 cmp r3, r2 8043a02: d906 bls.n 8043a12 8043a04: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043a08: 4b3f ldr r3, [pc, #252] ; (8043b08 ) 8043a0a: 4413 add r3, r2 8043a0c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043a10: e03d b.n 8043a8e else k = 0; 8043a12: 2300 movs r3, #0 8043a14: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043a18: e039 b.n 8043a8e if(k > 1000) k -= 1000; 8043a1a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043a1e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8043a22: d906 bls.n 8043a32 8043a24: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043a28: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8043a2c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043a30: e02d b.n 8043a8e else k = 0; 8043a32: 2300 movs r3, #0 8043a34: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043a38: e029 b.n 8043a8e if(k > 100) k -= 100; 8043a3a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043a3e: 2b64 cmp r3, #100 ; 0x64 8043a40: d905 bls.n 8043a4e 8043a42: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043a46: 3b64 subs r3, #100 ; 0x64 8043a48: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043a4c: e01f b.n 8043a8e else k = 0; 8043a4e: 2300 movs r3, #0 8043a50: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043a54: e01b b.n 8043a8e if(k > 10) k -= 10; 8043a56: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043a5a: 2b0a cmp r3, #10 8043a5c: d905 bls.n 8043a6a 8043a5e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043a62: 3b0a subs r3, #10 8043a64: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043a68: e011 b.n 8043a8e else k = 0; 8043a6a: 2300 movs r3, #0 8043a6c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043a70: e00d b.n 8043a8e if(k > 1) k -= 1; 8043a72: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043a76: 2b01 cmp r3, #1 8043a78: d905 bls.n 8043a86 8043a7a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043a7e: 3b01 subs r3, #1 8043a80: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043a84: e002 b.n 8043a8c else k = 0; 8043a86: 2300 movs r3, #0 8043a88: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043a8c: bf00 nop fl = (float32_t) k; 8043a8e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043a92: ee07 3a90 vmov s15, r3 8043a96: eef8 7a67 vcvt.f32.u32 s15, s15 8043a9a: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8043a9e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8043aa2: ed9f 7a0f vldr s14, [pc, #60] ; 8043ae0 8043aa6: ee67 7a87 vmul.f32 s15, s15, s14 8043aaa: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8043aae: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8043ab2: ed9f 7a0c vldr s14, [pc, #48] ; 8043ae4 8043ab6: ee77 7a87 vadd.f32 s15, s15, s14 8043aba: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 8043abe: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8043ac2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8043ac6: eef4 7ac7 vcmpe.f32 s15, s14 8043aca: eef1 fa10 vmrs APSR_nzcv, fpscr 8043ace: d51f bpl.n 8043b10 pardata.LP = 10.0f; 8043ad0: 4b02 ldr r3, [pc, #8] ; (8043adc ) 8043ad2: 4a0e ldr r2, [pc, #56] ; (8043b0c ) 8043ad4: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 break; 8043ad8: f001 b93f b.w 8044d5a 8043adc: 20023eb8 .word 0x20023eb8 8043ae0: 3dcccccd .word 0x3dcccccd 8043ae4: 38d1b717 .word 0x38d1b717 8043ae8: 20020070 .word 0x20020070 8043aec: 0a7c5ac5 .word 0x0a7c5ac5 8043af0: 000186a0 .word 0x000186a0 8043af4: d1b71759 .word 0xd1b71759 8043af8: 10624dd3 .word 0x10624dd3 8043afc: 51eb851f .word 0x51eb851f 8043b00: cccccccd .word 0xcccccccd 8043b04: fffe7960 .word 0xfffe7960 8043b08: ffffd8f0 .word 0xffffd8f0 8043b0c: 41200000 .word 0x41200000 if(pardata.LP < pardata.HP) 8043b10: 4bcf ldr r3, [pc, #828] ; (8043e50 ) 8043b12: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8043b16: 4bce ldr r3, [pc, #824] ; (8043e50 ) 8043b18: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8043b1c: eeb4 7ae7 vcmpe.f32 s14, s15 8043b20: eef1 fa10 vmrs APSR_nzcv, fpscr 8043b24: d507 bpl.n 8043b36 pardata.LP = pardata.HP; 8043b26: 4bca ldr r3, [pc, #808] ; (8043e50 ) 8043b28: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 8043b2c: 4ac8 ldr r2, [pc, #800] ; (8043e50 ) 8043b2e: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 8043b32: f001 b912 b.w 8044d5a if(fl > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8043b36: 4bc6 ldr r3, [pc, #792] ; (8043e50 ) 8043b38: 7adb ldrb r3, [r3, #11] 8043b3a: b2db uxtb r3, r3 8043b3c: 461a mov r2, r3 8043b3e: 4bc5 ldr r3, [pc, #788] ; (8043e54 ) 8043b40: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8043b44: ee07 3a90 vmov s15, r3 8043b48: eeb8 7a67 vcvt.f32.u32 s14, s15 8043b4c: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 8043b50: eec7 7a26 vdiv.f32 s15, s14, s13 8043b54: ed9f 7ac0 vldr s14, [pc, #768] ; 8043e58 8043b58: ee37 7a87 vadd.f32 s14, s15, s14 8043b5c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8043b60: eeb4 7ae7 vcmpe.f32 s14, s15 8043b64: eef1 fa10 vmrs APSR_nzcv, fpscr 8043b68: d517 bpl.n 8043b9a pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8043b6a: 4bb9 ldr r3, [pc, #740] ; (8043e50 ) 8043b6c: 7adb ldrb r3, [r3, #11] 8043b6e: b2db uxtb r3, r3 8043b70: 461a mov r2, r3 8043b72: 4bb8 ldr r3, [pc, #736] ; (8043e54 ) 8043b74: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8043b78: 4ab8 ldr r2, [pc, #736] ; (8043e5c ) 8043b7a: fba2 2303 umull r2, r3, r2, r3 8043b7e: 089b lsrs r3, r3, #2 8043b80: ee07 3a90 vmov s15, r3 8043b84: eef8 7a67 vcvt.f32.u32 s15, s15 8043b88: ed9f 7ab5 vldr s14, [pc, #724] ; 8043e60 8043b8c: ee77 7a87 vadd.f32 s15, s15, s14 8043b90: 4baf ldr r3, [pc, #700] ; (8043e50 ) 8043b92: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8043b96: f001 b8e0 b.w 8044d5a pardata.LP = (float32_t) k; 8043b9a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043b9e: ee07 3a90 vmov s15, r3 8043ba2: eef8 7a67 vcvt.f32.u32 s15, s15 8043ba6: 4baa ldr r3, [pc, #680] ; (8043e50 ) 8043ba8: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 8043bac: 4ba8 ldr r3, [pc, #672] ; (8043e50 ) 8043bae: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8043bb2: ed9f 7aac vldr s14, [pc, #688] ; 8043e64 8043bb6: ee67 7a87 vmul.f32 s15, s15, s14 8043bba: 4ba5 ldr r3, [pc, #660] ; (8043e50 ) 8043bbc: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 8043bc0: 4ba3 ldr r3, [pc, #652] ; (8043e50 ) 8043bc2: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8043bc6: ed9f 7aa6 vldr s14, [pc, #664] ; 8043e60 8043bca: ee77 7a87 vadd.f32 s15, s15, s14 8043bce: 4ba0 ldr r3, [pc, #640] ; (8043e50 ) 8043bd0: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8043bd4: f001 b8c1 b.w 8044d5a 8043bd8: f001 b8bf b.w 8044d5a case ROUTE_MAP: // KEY_DN focused = false; 8043bdc: 4ba2 ldr r3, [pc, #648] ; (8043e68 ) 8043bde: 2200 movs r2, #0 8043be0: 701a strb r2, [r3, #0] if(menupos == RouteMax_ALL) 8043be2: 4ba2 ldr r3, [pc, #648] ; (8043e6c ) 8043be4: 781b ldrb r3, [r3, #0] 8043be6: b2db uxtb r3, r3 8043be8: 2b06 cmp r3, #6 8043bea: d104 bne.n 8043bf6 menupos = GoMeas; 8043bec: 4b9f ldr r3, [pc, #636] ; (8043e6c ) 8043bee: 2201 movs r2, #1 8043bf0: 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; 8043bf2: f001 b8b5 b.w 8044d60 if((menupos >= PrevPoint) && (menupos <= NextPoint)) 8043bf6: 4b9d ldr r3, [pc, #628] ; (8043e6c ) 8043bf8: 781b ldrb r3, [r3, #0] 8043bfa: 4b9c ldr r3, [pc, #624] ; (8043e6c ) 8043bfc: 781b ldrb r3, [r3, #0] 8043bfe: b2db uxtb r3, r3 8043c00: 2b02 cmp r3, #2 8043c02: d804 bhi.n 8043c0e menupos = RouteTacho; 8043c04: 4b99 ldr r3, [pc, #612] ; (8043e6c ) 8043c06: 2203 movs r2, #3 8043c08: 701a strb r2, [r3, #0] break; 8043c0a: f001 b8a9 b.w 8044d60 if(menupos == RouteTacho) 8043c0e: 4b97 ldr r3, [pc, #604] ; (8043e6c ) 8043c10: 781b ldrb r3, [r3, #0] 8043c12: b2db uxtb r3, r3 8043c14: 2b03 cmp r3, #3 8043c16: d104 bne.n 8043c22 menupos = RouteTime; 8043c18: 4b94 ldr r3, [pc, #592] ; (8043e6c ) 8043c1a: 2204 movs r2, #4 8043c1c: 701a strb r2, [r3, #0] break; 8043c1e: f001 b89f b.w 8044d60 if(menupos == RouteTime) 8043c22: 4b92 ldr r3, [pc, #584] ; (8043e6c ) 8043c24: 781b ldrb r3, [r3, #0] 8043c26: b2db uxtb r3, r3 8043c28: 2b04 cmp r3, #4 8043c2a: d104 bne.n 8043c36 menupos = RouteAutoKu; 8043c2c: 4b8f ldr r3, [pc, #572] ; (8043e6c ) 8043c2e: 2205 movs r2, #5 8043c30: 701a strb r2, [r3, #0] break; 8043c32: f001 b895 b.w 8044d60 if(menupos == RouteAutoKu) 8043c36: 4b8d ldr r3, [pc, #564] ; (8043e6c ) 8043c38: 781b ldrb r3, [r3, #0] 8043c3a: b2db uxtb r3, r3 8043c3c: 2b05 cmp r3, #5 8043c3e: d110 bne.n 8043c62 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8043c40: 4b83 ldr r3, [pc, #524] ; (8043e50 ) 8043c42: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8043c46: f003 0304 and.w r3, r3, #4 8043c4a: 2b00 cmp r3, #0 8043c4c: d104 bne.n 8043c58 menupos = RouteMax_ALL; 8043c4e: 4b87 ldr r3, [pc, #540] ; (8043e6c ) 8043c50: 2206 movs r2, #6 8043c52: 701a strb r2, [r3, #0] break; 8043c54: f001 b884 b.w 8044d60 else menupos = GoMeas; 8043c58: 4b84 ldr r3, [pc, #528] ; (8043e6c ) 8043c5a: 2201 movs r2, #1 8043c5c: 701a strb r2, [r3, #0] break; 8043c5e: f001 b87f b.w 8044d60 if((menupos >= RouteMax_IDT) && (menupos <= RouteMax_IKD)) 8043c62: 4b82 ldr r3, [pc, #520] ; (8043e6c ) 8043c64: 781b ldrb r3, [r3, #0] 8043c66: b2db uxtb r3, r3 8043c68: 2b06 cmp r3, #6 8043c6a: f241 8079 bls.w 8044d60 8043c6e: 4b7f ldr r3, [pc, #508] ; (8043e6c ) 8043c70: 781b ldrb r3, [r3, #0] 8043c72: b2db uxtb r3, r3 8043c74: 2b0c cmp r3, #12 8043c76: f201 8073 bhi.w 8044d60 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8043c7a: 4b75 ldr r3, [pc, #468] ; (8043e50 ) 8043c7c: edd3 7a06 vldr s15, [r3, #24] 8043c80: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8043c84: ee67 7a87 vmul.f32 s15, s15, s14 8043c88: eefc 7ae7 vcvt.u32.f32 s15, s15 8043c8c: ee17 3a90 vmov r3, s15 8043c90: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8043c94: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043c98: 095b lsrs r3, r3, #5 8043c9a: 4a75 ldr r2, [pc, #468] ; (8043e70 ) 8043c9c: fba2 2303 umull r2, r3, r2, r3 8043ca0: 09db lsrs r3, r3, #7 8043ca2: b2db uxtb r3, r3 8043ca4: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8043ca8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043cac: 0953 lsrs r3, r2, #5 8043cae: 4970 ldr r1, [pc, #448] ; (8043e70 ) 8043cb0: fba1 1303 umull r1, r3, r1, r3 8043cb4: 09db lsrs r3, r3, #7 8043cb6: 496f ldr r1, [pc, #444] ; (8043e74 ) 8043cb8: fb01 f303 mul.w r3, r1, r3 8043cbc: 1ad3 subs r3, r2, r3 8043cbe: 4a6e ldr r2, [pc, #440] ; (8043e78 ) 8043cc0: fba2 2303 umull r2, r3, r2, r3 8043cc4: 0b5b lsrs r3, r3, #13 8043cc6: b2db uxtb r3, r3 8043cc8: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8043ccc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043cd0: 0953 lsrs r3, r2, #5 8043cd2: 4967 ldr r1, [pc, #412] ; (8043e70 ) 8043cd4: fba1 1303 umull r1, r3, r1, r3 8043cd8: 09db lsrs r3, r3, #7 8043cda: 4966 ldr r1, [pc, #408] ; (8043e74 ) 8043cdc: fb01 f303 mul.w r3, r1, r3 8043ce0: 1ad3 subs r3, r2, r3 8043ce2: 4a65 ldr r2, [pc, #404] ; (8043e78 ) 8043ce4: fba2 1203 umull r1, r2, r2, r3 8043ce8: 0b52 lsrs r2, r2, #13 8043cea: f242 7110 movw r1, #10000 ; 0x2710 8043cee: fb01 f202 mul.w r2, r1, r2 8043cf2: 1a9a subs r2, r3, r2 8043cf4: 4b61 ldr r3, [pc, #388] ; (8043e7c ) 8043cf6: fba3 2302 umull r2, r3, r3, r2 8043cfa: 099b lsrs r3, r3, #6 8043cfc: b2db uxtb r3, r3 8043cfe: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8043d02: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043d06: 095a lsrs r2, r3, #5 8043d08: 4959 ldr r1, [pc, #356] ; (8043e70 ) 8043d0a: fba1 1202 umull r1, r2, r1, r2 8043d0e: 09d2 lsrs r2, r2, #7 8043d10: 4958 ldr r1, [pc, #352] ; (8043e74 ) 8043d12: fb01 f202 mul.w r2, r1, r2 8043d16: 1a9a subs r2, r3, r2 8043d18: 4b57 ldr r3, [pc, #348] ; (8043e78 ) 8043d1a: fba3 1302 umull r1, r3, r3, r2 8043d1e: 0b5b lsrs r3, r3, #13 8043d20: f242 7110 movw r1, #10000 ; 0x2710 8043d24: fb01 f303 mul.w r3, r1, r3 8043d28: 1ad3 subs r3, r2, r3 8043d2a: 4a54 ldr r2, [pc, #336] ; (8043e7c ) 8043d2c: fba2 1203 umull r1, r2, r2, r3 8043d30: 0992 lsrs r2, r2, #6 8043d32: f44f 717a mov.w r1, #1000 ; 0x3e8 8043d36: fb01 f202 mul.w r2, r1, r2 8043d3a: 1a9a subs r2, r3, r2 8043d3c: 4b50 ldr r3, [pc, #320] ; (8043e80 ) 8043d3e: fba3 2302 umull r2, r3, r3, r2 8043d42: 095b lsrs r3, r3, #5 8043d44: b2db uxtb r3, r3 8043d46: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8043d4a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043d4e: 0953 lsrs r3, r2, #5 8043d50: 4947 ldr r1, [pc, #284] ; (8043e70 ) 8043d52: fba1 1303 umull r1, r3, r1, r3 8043d56: 09db lsrs r3, r3, #7 8043d58: 4946 ldr r1, [pc, #280] ; (8043e74 ) 8043d5a: fb01 f303 mul.w r3, r1, r3 8043d5e: 1ad3 subs r3, r2, r3 8043d60: 4a45 ldr r2, [pc, #276] ; (8043e78 ) 8043d62: fba2 1203 umull r1, r2, r2, r3 8043d66: 0b52 lsrs r2, r2, #13 8043d68: f242 7110 movw r1, #10000 ; 0x2710 8043d6c: fb01 f202 mul.w r2, r1, r2 8043d70: 1a9a subs r2, r3, r2 8043d72: 4b42 ldr r3, [pc, #264] ; (8043e7c ) 8043d74: fba3 1302 umull r1, r3, r3, r2 8043d78: 099b lsrs r3, r3, #6 8043d7a: f44f 717a mov.w r1, #1000 ; 0x3e8 8043d7e: fb01 f303 mul.w r3, r1, r3 8043d82: 1ad3 subs r3, r2, r3 8043d84: 4a3e ldr r2, [pc, #248] ; (8043e80 ) 8043d86: fba2 1203 umull r1, r2, r2, r3 8043d8a: 0952 lsrs r2, r2, #5 8043d8c: 2164 movs r1, #100 ; 0x64 8043d8e: fb01 f202 mul.w r2, r1, r2 8043d92: 1a9a subs r2, r3, r2 8043d94: 4b31 ldr r3, [pc, #196] ; (8043e5c ) 8043d96: fba3 2302 umull r2, r3, r3, r2 8043d9a: 08db lsrs r3, r3, #3 8043d9c: b2db uxtb r3, r3 8043d9e: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8043da2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043da6: 0953 lsrs r3, r2, #5 8043da8: 4931 ldr r1, [pc, #196] ; (8043e70 ) 8043daa: fba1 1303 umull r1, r3, r1, r3 8043dae: 09db lsrs r3, r3, #7 8043db0: 4930 ldr r1, [pc, #192] ; (8043e74 ) 8043db2: fb01 f303 mul.w r3, r1, r3 8043db6: 1ad3 subs r3, r2, r3 8043db8: 4a2f ldr r2, [pc, #188] ; (8043e78 ) 8043dba: fba2 1203 umull r1, r2, r2, r3 8043dbe: 0b52 lsrs r2, r2, #13 8043dc0: f242 7110 movw r1, #10000 ; 0x2710 8043dc4: fb01 f202 mul.w r2, r1, r2 8043dc8: 1a9a subs r2, r3, r2 8043dca: 4b2c ldr r3, [pc, #176] ; (8043e7c ) 8043dcc: fba3 1302 umull r1, r3, r3, r2 8043dd0: 099b lsrs r3, r3, #6 8043dd2: f44f 717a mov.w r1, #1000 ; 0x3e8 8043dd6: fb01 f303 mul.w r3, r1, r3 8043dda: 1ad3 subs r3, r2, r3 8043ddc: 4a28 ldr r2, [pc, #160] ; (8043e80 ) 8043dde: fba2 1203 umull r1, r2, r2, r3 8043de2: 0952 lsrs r2, r2, #5 8043de4: 2164 movs r1, #100 ; 0x64 8043de6: fb01 f202 mul.w r2, r1, r2 8043dea: 1a9a subs r2, r3, r2 8043dec: 4b1b ldr r3, [pc, #108] ; (8043e5c ) 8043dee: fba3 1302 umull r1, r3, r3, r2 8043df2: 08d9 lsrs r1, r3, #3 8043df4: 460b mov r3, r1 8043df6: 009b lsls r3, r3, #2 8043df8: 440b add r3, r1 8043dfa: 005b lsls r3, r3, #1 8043dfc: 1ad1 subs r1, r2, r3 8043dfe: b2cb uxtb r3, r1 8043e00: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8043e04: 4b19 ldr r3, [pc, #100] ; (8043e6c ) 8043e06: 781b ldrb r3, [r3, #0] 8043e08: b2db uxtb r3, r3 8043e0a: 3b07 subs r3, #7 8043e0c: 2b05 cmp r3, #5 8043e0e: f200 8086 bhi.w 8043f1e 8043e12: a201 add r2, pc, #4 ; (adr r2, 8043e18 ) 8043e14: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8043e18: 08043e31 .word 0x08043e31 8043e1c: 08043e89 .word 0x08043e89 8043e20: 08043eab .word 0x08043eab 8043e24: 08043ecb .word 0x08043ecb 8043e28: 08043ee7 .word 0x08043ee7 8043e2c: 08043f03 .word 0x08043f03 if(k > 100000) k -= 100000; 8043e30: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043e34: 4a0f ldr r2, [pc, #60] ; (8043e74 ) 8043e36: 4293 cmp r3, r2 8043e38: d906 bls.n 8043e48 8043e3a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043e3e: 4b11 ldr r3, [pc, #68] ; (8043e84 ) 8043e40: 4413 add r3, r2 8043e42: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043e46: e06a b.n 8043f1e else k = 0; 8043e48: 2300 movs r3, #0 8043e4a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043e4e: e066 b.n 8043f1e 8043e50: 20023eb8 .word 0x20023eb8 8043e54: 080f5268 .word 0x080f5268 8043e58: 3851b717 .word 0x3851b717 8043e5c: cccccccd .word 0xcccccccd 8043e60: 38d1b717 .word 0x38d1b717 8043e64: 3dcccccd .word 0x3dcccccd 8043e68: 20020fd0 .word 0x20020fd0 8043e6c: 20020070 .word 0x20020070 8043e70: 0a7c5ac5 .word 0x0a7c5ac5 8043e74: 000186a0 .word 0x000186a0 8043e78: d1b71759 .word 0xd1b71759 8043e7c: 10624dd3 .word 0x10624dd3 8043e80: 51eb851f .word 0x51eb851f 8043e84: fffe7960 .word 0xfffe7960 if(k > 10000) k -= 10000; 8043e88: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043e8c: f242 7210 movw r2, #10000 ; 0x2710 8043e90: 4293 cmp r3, r2 8043e92: d906 bls.n 8043ea2 8043e94: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043e98: 4b69 ldr r3, [pc, #420] ; (8044040 ) 8043e9a: 4413 add r3, r2 8043e9c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043ea0: e03d b.n 8043f1e else k = 0; 8043ea2: 2300 movs r3, #0 8043ea4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043ea8: e039 b.n 8043f1e if(k > 1000) k -= 1000; 8043eaa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043eae: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8043eb2: d906 bls.n 8043ec2 8043eb4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043eb8: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8043ebc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043ec0: e02d b.n 8043f1e else k = 0; 8043ec2: 2300 movs r3, #0 8043ec4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043ec8: e029 b.n 8043f1e if(k > 100) k -= 100; 8043eca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043ece: 2b64 cmp r3, #100 ; 0x64 8043ed0: d905 bls.n 8043ede 8043ed2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043ed6: 3b64 subs r3, #100 ; 0x64 8043ed8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043edc: e01f b.n 8043f1e else k = 0; 8043ede: 2300 movs r3, #0 8043ee0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043ee4: e01b b.n 8043f1e if(k > 10) k -= 10; 8043ee6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043eea: 2b0a cmp r3, #10 8043eec: d905 bls.n 8043efa 8043eee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043ef2: 3b0a subs r3, #10 8043ef4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043ef8: e011 b.n 8043f1e else k = 0; 8043efa: 2300 movs r3, #0 8043efc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043f00: e00d b.n 8043f1e if(k > 1) k -= 1; 8043f02: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043f06: 2b01 cmp r3, #1 8043f08: d905 bls.n 8043f16 8043f0a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043f0e: 3b01 subs r3, #1 8043f10: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043f14: e002 b.n 8043f1c else k = 0; 8043f16: 2300 movs r3, #0 8043f18: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043f1c: bf00 nop if(k == 0) k = 1; 8043f1e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043f22: 2b00 cmp r3, #0 8043f24: d102 bne.n 8043f2c 8043f26: 2301 movs r3, #1 8043f28: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8043f2c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043f30: ee07 3a90 vmov s15, r3 8043f34: eef8 7a67 vcvt.f32.u32 s15, s15 8043f38: 4b42 ldr r3, [pc, #264] ; (8044044 ) 8043f3a: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8043f3e: 4b41 ldr r3, [pc, #260] ; (8044044 ) 8043f40: edd3 7a06 vldr s15, [r3, #24] 8043f44: ed9f 7a40 vldr s14, [pc, #256] ; 8044048 8043f48: ee67 7a87 vmul.f32 s15, s15, s14 8043f4c: 4b3d ldr r3, [pc, #244] ; (8044044 ) 8043f4e: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 8043f52: 4b3c ldr r3, [pc, #240] ; (8044044 ) 8043f54: edd3 7a06 vldr s15, [r3, #24] 8043f58: ed9f 7a3c vldr s14, [pc, #240] ; 804404c 8043f5c: ee77 7a87 vadd.f32 s15, s15, s14 8043f60: 4b38 ldr r3, [pc, #224] ; (8044044 ) 8043f62: edc3 7a06 vstr s15, [r3, #24] break; 8043f66: f000 befb b.w 8044d60 case PARAM_WAVE: // KEY_DN focused = false; 8043f6a: 4b39 ldr r3, [pc, #228] ; (8044050 ) 8043f6c: 2200 movs r2, #0 8043f6e: 701a strb r2, [r3, #0] if(menupos == Ok) 8043f70: 4b38 ldr r3, [pc, #224] ; (8044054 ) 8043f72: 781b ldrb r3, [r3, #0] 8043f74: b2db uxtb r3, r3 8043f76: 2b00 cmp r3, #0 8043f78: d104 bne.n 8043f84 { #ifndef USE_D101 menupos = WaveTacho; 8043f7a: 4b36 ldr r3, [pc, #216] ; (8044054 ) 8043f7c: 2203 movs r2, #3 8043f7e: 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; 8043f80: f000 bef1 b.w 8044d66 if(menupos == WaveTacho) 8043f84: 4b33 ldr r3, [pc, #204] ; (8044054 ) 8043f86: 781b ldrb r3, [r3, #0] 8043f88: b2db uxtb r3, r3 8043f8a: 2b03 cmp r3, #3 8043f8c: d104 bne.n 8043f98 menupos = WaveName; 8043f8e: 4b31 ldr r3, [pc, #196] ; (8044054 ) 8043f90: 2204 movs r2, #4 8043f92: 701a strb r2, [r3, #0] break; 8043f94: f000 bee7 b.w 8044d66 if(menupos == WaveName) 8043f98: 4b2e ldr r3, [pc, #184] ; (8044054 ) 8043f9a: 781b ldrb r3, [r3, #0] 8043f9c: b2db uxtb r3, r3 8043f9e: 2b04 cmp r3, #4 8043fa0: d104 bne.n 8043fac menupos = WaveTime; 8043fa2: 4b2c ldr r3, [pc, #176] ; (8044054 ) 8043fa4: 2205 movs r2, #5 8043fa6: 701a strb r2, [r3, #0] break; 8043fa8: f000 bedd b.w 8044d66 if(menupos == WaveTime) 8043fac: 4b29 ldr r3, [pc, #164] ; (8044054 ) 8043fae: 781b ldrb r3, [r3, #0] 8043fb0: b2db uxtb r3, r3 8043fb2: 2b05 cmp r3, #5 8043fb4: d104 bne.n 8043fc0 menupos = WaveAutoKu; 8043fb6: 4b27 ldr r3, [pc, #156] ; (8044054 ) 8043fb8: 2206 movs r2, #6 8043fba: 701a strb r2, [r3, #0] break; 8043fbc: f000 bed3 b.w 8044d66 if(menupos == WaveAutoKu) 8043fc0: 4b24 ldr r3, [pc, #144] ; (8044054 ) 8043fc2: 781b ldrb r3, [r3, #0] 8043fc4: b2db uxtb r3, r3 8043fc6: 2b06 cmp r3, #6 8043fc8: d110 bne.n 8043fec if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8043fca: 4b1e ldr r3, [pc, #120] ; (8044044 ) 8043fcc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8043fd0: f003 0304 and.w r3, r3, #4 8043fd4: 2b00 cmp r3, #0 8043fd6: d104 bne.n 8043fe2 menupos = WaveMax_ALL; 8043fd8: 4b1e ldr r3, [pc, #120] ; (8044054 ) 8043fda: 2207 movs r2, #7 8043fdc: 701a strb r2, [r3, #0] break; 8043fde: f000 bec2 b.w 8044d66 else menupos = WaveThr; 8043fe2: 4b1c ldr r3, [pc, #112] ; (8044054 ) 8043fe4: 2208 movs r2, #8 8043fe6: 701a strb r2, [r3, #0] break; 8043fe8: f000 bebd b.w 8044d66 if(menupos == WaveMax_ALL) 8043fec: 4b19 ldr r3, [pc, #100] ; (8044054 ) 8043fee: 781b ldrb r3, [r3, #0] 8043ff0: b2db uxtb r3, r3 8043ff2: 2b07 cmp r3, #7 8043ff4: d104 bne.n 8044000 menupos = WaveThr; 8043ff6: 4b17 ldr r3, [pc, #92] ; (8044054 ) 8043ff8: 2208 movs r2, #8 8043ffa: 701a strb r2, [r3, #0] break; 8043ffc: f000 beb3 b.w 8044d66 if(menupos == WaveThr) 8044000: 4b14 ldr r3, [pc, #80] ; (8044054 ) 8044002: 781b ldrb r3, [r3, #0] 8044004: b2db uxtb r3, r3 8044006: 2b08 cmp r3, #8 8044008: d10f bne.n 804402a if(pardata.THR & 0x80) 804400a: 4b0e ldr r3, [pc, #56] ; (8044044 ) 804400c: 7bdb ldrb r3, [r3, #15] 804400e: b2db uxtb r3, r3 8044010: b25b sxtb r3, r3 8044012: 2b00 cmp r3, #0 8044014: da04 bge.n 8044020 menupos = WaveThr_ALL; 8044016: 4b0f ldr r3, [pc, #60] ; (8044054 ) 8044018: 2209 movs r2, #9 804401a: 701a strb r2, [r3, #0] break; 804401c: f000 bea3 b.w 8044d66 else menupos = Ok; 8044020: 4b0c ldr r3, [pc, #48] ; (8044054 ) 8044022: 2200 movs r2, #0 8044024: 701a strb r2, [r3, #0] break; 8044026: f000 be9e b.w 8044d66 if(menupos == WaveThr_ALL) 804402a: 4b0a ldr r3, [pc, #40] ; (8044054 ) 804402c: 781b ldrb r3, [r3, #0] 804402e: b2db uxtb r3, r3 8044030: 2b09 cmp r3, #9 8044032: d111 bne.n 8044058 menupos = Ok; 8044034: 4b07 ldr r3, [pc, #28] ; (8044054 ) 8044036: 2200 movs r2, #0 8044038: 701a strb r2, [r3, #0] break; 804403a: f000 be94 b.w 8044d66 804403e: bf00 nop 8044040: ffffd8f0 .word 0xffffd8f0 8044044: 20023eb8 .word 0x20023eb8 8044048: 3dcccccd .word 0x3dcccccd 804404c: 3d4ccccd .word 0x3d4ccccd 8044050: 20020fd0 .word 0x20020fd0 8044054: 20020070 .word 0x20020070 if((menupos >= WaveThr_IDT) && (menupos <= WaveThr_IKD)) 8044058: 4bb3 ldr r3, [pc, #716] ; (8044328 ) 804405a: 781b ldrb r3, [r3, #0] 804405c: b2db uxtb r3, r3 804405e: 2b0f cmp r3, #15 8044060: f240 817a bls.w 8044358 8044064: 4bb0 ldr r3, [pc, #704] ; (8044328 ) 8044066: 781b ldrb r3, [r3, #0] 8044068: b2db uxtb r3, r3 804406a: 2b15 cmp r3, #21 804406c: f200 8174 bhi.w 8044358 k = (uint32_t) (pardata.THR_VAL * 10.0f); 8044070: 4bae ldr r3, [pc, #696] ; (804432c ) 8044072: edd3 7a05 vldr s15, [r3, #20] 8044076: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804407a: ee67 7a87 vmul.f32 s15, s15, s14 804407e: eefc 7ae7 vcvt.u32.f32 s15, s15 8044082: ee17 3a90 vmov r3, s15 8044086: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 804408a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804408e: 095b lsrs r3, r3, #5 8044090: 4aa7 ldr r2, [pc, #668] ; (8044330 ) 8044092: fba2 2303 umull r2, r3, r2, r3 8044096: 09db lsrs r3, r3, #7 8044098: b2db uxtb r3, r3 804409a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 804409e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80440a2: 0953 lsrs r3, r2, #5 80440a4: 49a2 ldr r1, [pc, #648] ; (8044330 ) 80440a6: fba1 1303 umull r1, r3, r1, r3 80440aa: 09db lsrs r3, r3, #7 80440ac: 49a1 ldr r1, [pc, #644] ; (8044334 ) 80440ae: fb01 f303 mul.w r3, r1, r3 80440b2: 1ad3 subs r3, r2, r3 80440b4: 4aa0 ldr r2, [pc, #640] ; (8044338 ) 80440b6: fba2 2303 umull r2, r3, r2, r3 80440ba: 0b5b lsrs r3, r3, #13 80440bc: b2db uxtb r3, r3 80440be: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80440c2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80440c6: 0953 lsrs r3, r2, #5 80440c8: 4999 ldr r1, [pc, #612] ; (8044330 ) 80440ca: fba1 1303 umull r1, r3, r1, r3 80440ce: 09db lsrs r3, r3, #7 80440d0: 4998 ldr r1, [pc, #608] ; (8044334 ) 80440d2: fb01 f303 mul.w r3, r1, r3 80440d6: 1ad3 subs r3, r2, r3 80440d8: 4a97 ldr r2, [pc, #604] ; (8044338 ) 80440da: fba2 1203 umull r1, r2, r2, r3 80440de: 0b52 lsrs r2, r2, #13 80440e0: f242 7110 movw r1, #10000 ; 0x2710 80440e4: fb01 f202 mul.w r2, r1, r2 80440e8: 1a9a subs r2, r3, r2 80440ea: 4b94 ldr r3, [pc, #592] ; (804433c ) 80440ec: fba3 2302 umull r2, r3, r3, r2 80440f0: 099b lsrs r3, r3, #6 80440f2: b2db uxtb r3, r3 80440f4: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80440f8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80440fc: 095a lsrs r2, r3, #5 80440fe: 498c ldr r1, [pc, #560] ; (8044330 ) 8044100: fba1 1202 umull r1, r2, r1, r2 8044104: 09d2 lsrs r2, r2, #7 8044106: 498b ldr r1, [pc, #556] ; (8044334 ) 8044108: fb01 f202 mul.w r2, r1, r2 804410c: 1a9a subs r2, r3, r2 804410e: 4b8a ldr r3, [pc, #552] ; (8044338 ) 8044110: fba3 1302 umull r1, r3, r3, r2 8044114: 0b5b lsrs r3, r3, #13 8044116: f242 7110 movw r1, #10000 ; 0x2710 804411a: fb01 f303 mul.w r3, r1, r3 804411e: 1ad3 subs r3, r2, r3 8044120: 4a86 ldr r2, [pc, #536] ; (804433c ) 8044122: fba2 1203 umull r1, r2, r2, r3 8044126: 0992 lsrs r2, r2, #6 8044128: f44f 717a mov.w r1, #1000 ; 0x3e8 804412c: fb01 f202 mul.w r2, r1, r2 8044130: 1a9a subs r2, r3, r2 8044132: 4b83 ldr r3, [pc, #524] ; (8044340 ) 8044134: fba3 2302 umull r2, r3, r3, r2 8044138: 095b lsrs r3, r3, #5 804413a: b2db uxtb r3, r3 804413c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8044140: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8044144: 0953 lsrs r3, r2, #5 8044146: 497a ldr r1, [pc, #488] ; (8044330 ) 8044148: fba1 1303 umull r1, r3, r1, r3 804414c: 09db lsrs r3, r3, #7 804414e: 4979 ldr r1, [pc, #484] ; (8044334 ) 8044150: fb01 f303 mul.w r3, r1, r3 8044154: 1ad3 subs r3, r2, r3 8044156: 4a78 ldr r2, [pc, #480] ; (8044338 ) 8044158: fba2 1203 umull r1, r2, r2, r3 804415c: 0b52 lsrs r2, r2, #13 804415e: f242 7110 movw r1, #10000 ; 0x2710 8044162: fb01 f202 mul.w r2, r1, r2 8044166: 1a9a subs r2, r3, r2 8044168: 4b74 ldr r3, [pc, #464] ; (804433c ) 804416a: fba3 1302 umull r1, r3, r3, r2 804416e: 099b lsrs r3, r3, #6 8044170: f44f 717a mov.w r1, #1000 ; 0x3e8 8044174: fb01 f303 mul.w r3, r1, r3 8044178: 1ad3 subs r3, r2, r3 804417a: 4a71 ldr r2, [pc, #452] ; (8044340 ) 804417c: fba2 1203 umull r1, r2, r2, r3 8044180: 0952 lsrs r2, r2, #5 8044182: 2164 movs r1, #100 ; 0x64 8044184: fb01 f202 mul.w r2, r1, r2 8044188: 1a9a subs r2, r3, r2 804418a: 4b6e ldr r3, [pc, #440] ; (8044344 ) 804418c: fba3 2302 umull r2, r3, r3, r2 8044190: 08db lsrs r3, r3, #3 8044192: b2db uxtb r3, r3 8044194: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8044198: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804419c: 0953 lsrs r3, r2, #5 804419e: 4964 ldr r1, [pc, #400] ; (8044330 ) 80441a0: fba1 1303 umull r1, r3, r1, r3 80441a4: 09db lsrs r3, r3, #7 80441a6: 4963 ldr r1, [pc, #396] ; (8044334 ) 80441a8: fb01 f303 mul.w r3, r1, r3 80441ac: 1ad3 subs r3, r2, r3 80441ae: 4a62 ldr r2, [pc, #392] ; (8044338 ) 80441b0: fba2 1203 umull r1, r2, r2, r3 80441b4: 0b52 lsrs r2, r2, #13 80441b6: f242 7110 movw r1, #10000 ; 0x2710 80441ba: fb01 f202 mul.w r2, r1, r2 80441be: 1a9a subs r2, r3, r2 80441c0: 4b5e ldr r3, [pc, #376] ; (804433c ) 80441c2: fba3 1302 umull r1, r3, r3, r2 80441c6: 099b lsrs r3, r3, #6 80441c8: f44f 717a mov.w r1, #1000 ; 0x3e8 80441cc: fb01 f303 mul.w r3, r1, r3 80441d0: 1ad3 subs r3, r2, r3 80441d2: 4a5b ldr r2, [pc, #364] ; (8044340 ) 80441d4: fba2 1203 umull r1, r2, r2, r3 80441d8: 0952 lsrs r2, r2, #5 80441da: 2164 movs r1, #100 ; 0x64 80441dc: fb01 f202 mul.w r2, r1, r2 80441e0: 1a9a subs r2, r3, r2 80441e2: 4b58 ldr r3, [pc, #352] ; (8044344 ) 80441e4: fba3 1302 umull r1, r3, r3, r2 80441e8: 08d9 lsrs r1, r3, #3 80441ea: 460b mov r3, r1 80441ec: 009b lsls r3, r3, #2 80441ee: 440b add r3, r1 80441f0: 005b lsls r3, r3, #1 80441f2: 1ad1 subs r1, r2, r3 80441f4: b2cb uxtb r3, r1 80441f6: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80441fa: 4b4b ldr r3, [pc, #300] ; (8044328 ) 80441fc: 781b ldrb r3, [r3, #0] 80441fe: b2db uxtb r3, r3 8044200: 3b10 subs r3, #16 8044202: 2b05 cmp r3, #5 8044204: d869 bhi.n 80442da 8044206: a201 add r2, pc, #4 ; (adr r2, 804420c ) 8044208: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804420c: 08044225 .word 0x08044225 8044210: 08044245 .word 0x08044245 8044214: 08044267 .word 0x08044267 8044218: 08044287 .word 0x08044287 804421c: 080442a3 .word 0x080442a3 8044220: 080442bf .word 0x080442bf if(k > 100000) k -= 100000; 8044224: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044228: 4a42 ldr r2, [pc, #264] ; (8044334 ) 804422a: 4293 cmp r3, r2 804422c: d906 bls.n 804423c 804422e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8044232: 4b45 ldr r3, [pc, #276] ; (8044348 ) 8044234: 4413 add r3, r2 8044236: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804423a: e04e b.n 80442da else k = 0; 804423c: 2300 movs r3, #0 804423e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8044242: e04a b.n 80442da if(k > 10000) k -= 10000; 8044244: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044248: f242 7210 movw r2, #10000 ; 0x2710 804424c: 4293 cmp r3, r2 804424e: d906 bls.n 804425e 8044250: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8044254: 4b3d ldr r3, [pc, #244] ; (804434c ) 8044256: 4413 add r3, r2 8044258: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804425c: e03d b.n 80442da else k = 0; 804425e: 2300 movs r3, #0 8044260: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8044264: e039 b.n 80442da if(k > 1000) k -= 1000; 8044266: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804426a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 804426e: d906 bls.n 804427e 8044270: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044274: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8044278: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804427c: e02d b.n 80442da else k = 0; 804427e: 2300 movs r3, #0 8044280: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8044284: e029 b.n 80442da if(k > 100) k -= 100; 8044286: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804428a: 2b64 cmp r3, #100 ; 0x64 804428c: d905 bls.n 804429a 804428e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044292: 3b64 subs r3, #100 ; 0x64 8044294: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8044298: e01f b.n 80442da else k = 0; 804429a: 2300 movs r3, #0 804429c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80442a0: e01b b.n 80442da if(k > 10) k -= 10; 80442a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80442a6: 2b0a cmp r3, #10 80442a8: d905 bls.n 80442b6 80442aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80442ae: 3b0a subs r3, #10 80442b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80442b4: e011 b.n 80442da else k = 0; 80442b6: 2300 movs r3, #0 80442b8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80442bc: e00d b.n 80442da if(k > 1) k -= 1; 80442be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80442c2: 2b01 cmp r3, #1 80442c4: d905 bls.n 80442d2 80442c6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80442ca: 3b01 subs r3, #1 80442cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80442d0: e002 b.n 80442d8 else k = 0; 80442d2: 2300 movs r3, #0 80442d4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80442d8: bf00 nop if(k == 0) k = 1; 80442da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80442de: 2b00 cmp r3, #0 80442e0: d102 bne.n 80442e8 80442e2: 2301 movs r3, #1 80442e4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.THR_VAL = (float32_t) k; 80442e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80442ec: ee07 3a90 vmov s15, r3 80442f0: eef8 7a67 vcvt.f32.u32 s15, s15 80442f4: 4b0d ldr r3, [pc, #52] ; (804432c ) 80442f6: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL *= 0.1f; 80442fa: 4b0c ldr r3, [pc, #48] ; (804432c ) 80442fc: edd3 7a05 vldr s15, [r3, #20] 8044300: ed9f 7a13 vldr s14, [pc, #76] ; 8044350 8044304: ee67 7a87 vmul.f32 s15, s15, s14 8044308: 4b08 ldr r3, [pc, #32] ; (804432c ) 804430a: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL += 0.05f; 804430e: 4b07 ldr r3, [pc, #28] ; (804432c ) 8044310: edd3 7a05 vldr s15, [r3, #20] 8044314: ed9f 7a0f vldr s14, [pc, #60] ; 8044354 8044318: ee77 7a87 vadd.f32 s15, s15, s14 804431c: 4b03 ldr r3, [pc, #12] ; (804432c ) 804431e: edc3 7a05 vstr s15, [r3, #20] break; 8044322: f000 bd20 b.w 8044d66 8044326: bf00 nop 8044328: 20020070 .word 0x20020070 804432c: 20023eb8 .word 0x20023eb8 8044330: 0a7c5ac5 .word 0x0a7c5ac5 8044334: 000186a0 .word 0x000186a0 8044338: d1b71759 .word 0xd1b71759 804433c: 10624dd3 .word 0x10624dd3 8044340: 51eb851f .word 0x51eb851f 8044344: cccccccd .word 0xcccccccd 8044348: fffe7960 .word 0xfffe7960 804434c: ffffd8f0 .word 0xffffd8f0 8044350: 3dcccccd .word 0x3dcccccd 8044354: 3d4ccccd .word 0x3d4ccccd if((menupos >= WaveMax_IDT) && (menupos <= WaveMax_IKD)) 8044358: 4bb2 ldr r3, [pc, #712] ; (8044624 ) 804435a: 781b ldrb r3, [r3, #0] 804435c: b2db uxtb r3, r3 804435e: 2b09 cmp r3, #9 8044360: f240 8501 bls.w 8044d66 8044364: 4baf ldr r3, [pc, #700] ; (8044624 ) 8044366: 781b ldrb r3, [r3, #0] 8044368: b2db uxtb r3, r3 804436a: 2b0f cmp r3, #15 804436c: f200 84fb bhi.w 8044d66 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8044370: 4bad ldr r3, [pc, #692] ; (8044628 ) 8044372: edd3 7a06 vldr s15, [r3, #24] 8044376: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804437a: ee67 7a87 vmul.f32 s15, s15, s14 804437e: eefc 7ae7 vcvt.u32.f32 s15, s15 8044382: ee17 3a90 vmov r3, s15 8044386: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 804438a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804438e: 095b lsrs r3, r3, #5 8044390: 4aa6 ldr r2, [pc, #664] ; (804462c ) 8044392: fba2 2303 umull r2, r3, r2, r3 8044396: 09db lsrs r3, r3, #7 8044398: b2db uxtb r3, r3 804439a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 804439e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80443a2: 0953 lsrs r3, r2, #5 80443a4: 49a1 ldr r1, [pc, #644] ; (804462c ) 80443a6: fba1 1303 umull r1, r3, r1, r3 80443aa: 09db lsrs r3, r3, #7 80443ac: 49a0 ldr r1, [pc, #640] ; (8044630 ) 80443ae: fb01 f303 mul.w r3, r1, r3 80443b2: 1ad3 subs r3, r2, r3 80443b4: 4a9f ldr r2, [pc, #636] ; (8044634 ) 80443b6: fba2 2303 umull r2, r3, r2, r3 80443ba: 0b5b lsrs r3, r3, #13 80443bc: b2db uxtb r3, r3 80443be: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80443c2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80443c6: 0953 lsrs r3, r2, #5 80443c8: 4998 ldr r1, [pc, #608] ; (804462c ) 80443ca: fba1 1303 umull r1, r3, r1, r3 80443ce: 09db lsrs r3, r3, #7 80443d0: 4997 ldr r1, [pc, #604] ; (8044630 ) 80443d2: fb01 f303 mul.w r3, r1, r3 80443d6: 1ad3 subs r3, r2, r3 80443d8: 4a96 ldr r2, [pc, #600] ; (8044634 ) 80443da: fba2 1203 umull r1, r2, r2, r3 80443de: 0b52 lsrs r2, r2, #13 80443e0: f242 7110 movw r1, #10000 ; 0x2710 80443e4: fb01 f202 mul.w r2, r1, r2 80443e8: 1a9a subs r2, r3, r2 80443ea: 4b93 ldr r3, [pc, #588] ; (8044638 ) 80443ec: fba3 2302 umull r2, r3, r3, r2 80443f0: 099b lsrs r3, r3, #6 80443f2: b2db uxtb r3, r3 80443f4: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80443f8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80443fc: 095a lsrs r2, r3, #5 80443fe: 498b ldr r1, [pc, #556] ; (804462c ) 8044400: fba1 1202 umull r1, r2, r1, r2 8044404: 09d2 lsrs r2, r2, #7 8044406: 498a ldr r1, [pc, #552] ; (8044630 ) 8044408: fb01 f202 mul.w r2, r1, r2 804440c: 1a9a subs r2, r3, r2 804440e: 4b89 ldr r3, [pc, #548] ; (8044634 ) 8044410: fba3 1302 umull r1, r3, r3, r2 8044414: 0b5b lsrs r3, r3, #13 8044416: f242 7110 movw r1, #10000 ; 0x2710 804441a: fb01 f303 mul.w r3, r1, r3 804441e: 1ad3 subs r3, r2, r3 8044420: 4a85 ldr r2, [pc, #532] ; (8044638 ) 8044422: fba2 1203 umull r1, r2, r2, r3 8044426: 0992 lsrs r2, r2, #6 8044428: f44f 717a mov.w r1, #1000 ; 0x3e8 804442c: fb01 f202 mul.w r2, r1, r2 8044430: 1a9a subs r2, r3, r2 8044432: 4b82 ldr r3, [pc, #520] ; (804463c ) 8044434: fba3 2302 umull r2, r3, r3, r2 8044438: 095b lsrs r3, r3, #5 804443a: b2db uxtb r3, r3 804443c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8044440: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8044444: 0953 lsrs r3, r2, #5 8044446: 4979 ldr r1, [pc, #484] ; (804462c ) 8044448: fba1 1303 umull r1, r3, r1, r3 804444c: 09db lsrs r3, r3, #7 804444e: 4978 ldr r1, [pc, #480] ; (8044630 ) 8044450: fb01 f303 mul.w r3, r1, r3 8044454: 1ad3 subs r3, r2, r3 8044456: 4a77 ldr r2, [pc, #476] ; (8044634 ) 8044458: fba2 1203 umull r1, r2, r2, r3 804445c: 0b52 lsrs r2, r2, #13 804445e: f242 7110 movw r1, #10000 ; 0x2710 8044462: fb01 f202 mul.w r2, r1, r2 8044466: 1a9a subs r2, r3, r2 8044468: 4b73 ldr r3, [pc, #460] ; (8044638 ) 804446a: fba3 1302 umull r1, r3, r3, r2 804446e: 099b lsrs r3, r3, #6 8044470: f44f 717a mov.w r1, #1000 ; 0x3e8 8044474: fb01 f303 mul.w r3, r1, r3 8044478: 1ad3 subs r3, r2, r3 804447a: 4a70 ldr r2, [pc, #448] ; (804463c ) 804447c: fba2 1203 umull r1, r2, r2, r3 8044480: 0952 lsrs r2, r2, #5 8044482: 2164 movs r1, #100 ; 0x64 8044484: fb01 f202 mul.w r2, r1, r2 8044488: 1a9a subs r2, r3, r2 804448a: 4b6d ldr r3, [pc, #436] ; (8044640 ) 804448c: fba3 2302 umull r2, r3, r3, r2 8044490: 08db lsrs r3, r3, #3 8044492: b2db uxtb r3, r3 8044494: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8044498: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804449c: 0953 lsrs r3, r2, #5 804449e: 4963 ldr r1, [pc, #396] ; (804462c ) 80444a0: fba1 1303 umull r1, r3, r1, r3 80444a4: 09db lsrs r3, r3, #7 80444a6: 4962 ldr r1, [pc, #392] ; (8044630 ) 80444a8: fb01 f303 mul.w r3, r1, r3 80444ac: 1ad3 subs r3, r2, r3 80444ae: 4a61 ldr r2, [pc, #388] ; (8044634 ) 80444b0: fba2 1203 umull r1, r2, r2, r3 80444b4: 0b52 lsrs r2, r2, #13 80444b6: f242 7110 movw r1, #10000 ; 0x2710 80444ba: fb01 f202 mul.w r2, r1, r2 80444be: 1a9a subs r2, r3, r2 80444c0: 4b5d ldr r3, [pc, #372] ; (8044638 ) 80444c2: fba3 1302 umull r1, r3, r3, r2 80444c6: 099b lsrs r3, r3, #6 80444c8: f44f 717a mov.w r1, #1000 ; 0x3e8 80444cc: fb01 f303 mul.w r3, r1, r3 80444d0: 1ad3 subs r3, r2, r3 80444d2: 4a5a ldr r2, [pc, #360] ; (804463c ) 80444d4: fba2 1203 umull r1, r2, r2, r3 80444d8: 0952 lsrs r2, r2, #5 80444da: 2164 movs r1, #100 ; 0x64 80444dc: fb01 f202 mul.w r2, r1, r2 80444e0: 1a9a subs r2, r3, r2 80444e2: 4b57 ldr r3, [pc, #348] ; (8044640 ) 80444e4: fba3 1302 umull r1, r3, r3, r2 80444e8: 08d9 lsrs r1, r3, #3 80444ea: 460b mov r3, r1 80444ec: 009b lsls r3, r3, #2 80444ee: 440b add r3, r1 80444f0: 005b lsls r3, r3, #1 80444f2: 1ad1 subs r1, r2, r3 80444f4: b2cb uxtb r3, r1 80444f6: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80444fa: 4b4a ldr r3, [pc, #296] ; (8044624 ) 80444fc: 781b ldrb r3, [r3, #0] 80444fe: b2db uxtb r3, r3 8044500: 3b0a subs r3, #10 8044502: 2b05 cmp r3, #5 8044504: d869 bhi.n 80445da 8044506: a201 add r2, pc, #4 ; (adr r2, 804450c ) 8044508: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804450c: 08044525 .word 0x08044525 8044510: 08044545 .word 0x08044545 8044514: 08044567 .word 0x08044567 8044518: 08044587 .word 0x08044587 804451c: 080445a3 .word 0x080445a3 8044520: 080445bf .word 0x080445bf if(k > 100000) k -= 100000; 8044524: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044528: 4a41 ldr r2, [pc, #260] ; (8044630 ) 804452a: 4293 cmp r3, r2 804452c: d906 bls.n 804453c 804452e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8044532: 4b44 ldr r3, [pc, #272] ; (8044644 ) 8044534: 4413 add r3, r2 8044536: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804453a: e04e b.n 80445da else k = 0; 804453c: 2300 movs r3, #0 804453e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8044542: e04a b.n 80445da if(k > 10000) k -= 10000; 8044544: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044548: f242 7210 movw r2, #10000 ; 0x2710 804454c: 4293 cmp r3, r2 804454e: d906 bls.n 804455e 8044550: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8044554: 4b3c ldr r3, [pc, #240] ; (8044648 ) 8044556: 4413 add r3, r2 8044558: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804455c: e03d b.n 80445da else k = 0; 804455e: 2300 movs r3, #0 8044560: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8044564: e039 b.n 80445da if(k > 1000) k -= 1000; 8044566: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804456a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 804456e: d906 bls.n 804457e 8044570: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044574: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8044578: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804457c: e02d b.n 80445da else k = 0; 804457e: 2300 movs r3, #0 8044580: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8044584: e029 b.n 80445da if(k > 100) k -= 100; 8044586: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804458a: 2b64 cmp r3, #100 ; 0x64 804458c: d905 bls.n 804459a 804458e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044592: 3b64 subs r3, #100 ; 0x64 8044594: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8044598: e01f b.n 80445da else k = 0; 804459a: 2300 movs r3, #0 804459c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80445a0: e01b b.n 80445da if(k > 10) k -= 10; 80445a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80445a6: 2b0a cmp r3, #10 80445a8: d905 bls.n 80445b6 80445aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80445ae: 3b0a subs r3, #10 80445b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80445b4: e011 b.n 80445da else k = 0; 80445b6: 2300 movs r3, #0 80445b8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80445bc: e00d b.n 80445da if(k > 1) k -= 1; 80445be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80445c2: 2b01 cmp r3, #1 80445c4: d905 bls.n 80445d2 80445c6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80445ca: 3b01 subs r3, #1 80445cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80445d0: e002 b.n 80445d8 else k = 0; 80445d2: 2300 movs r3, #0 80445d4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80445d8: bf00 nop if(k == 0) k = 1; 80445da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80445de: 2b00 cmp r3, #0 80445e0: d102 bne.n 80445e8 80445e2: 2301 movs r3, #1 80445e4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 80445e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80445ec: ee07 3a90 vmov s15, r3 80445f0: eef8 7a67 vcvt.f32.u32 s15, s15 80445f4: 4b0c ldr r3, [pc, #48] ; (8044628 ) 80445f6: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 80445fa: 4b0b ldr r3, [pc, #44] ; (8044628 ) 80445fc: edd3 7a06 vldr s15, [r3, #24] 8044600: ed9f 7a12 vldr s14, [pc, #72] ; 804464c 8044604: ee67 7a87 vmul.f32 s15, s15, s14 8044608: 4b07 ldr r3, [pc, #28] ; (8044628 ) 804460a: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 804460e: 4b06 ldr r3, [pc, #24] ; (8044628 ) 8044610: edd3 7a06 vldr s15, [r3, #24] 8044614: ed9f 7a0e vldr s14, [pc, #56] ; 8044650 8044618: ee77 7a87 vadd.f32 s15, s15, s14 804461c: 4b02 ldr r3, [pc, #8] ; (8044628 ) 804461e: edc3 7a06 vstr s15, [r3, #24] break; 8044622: e3a0 b.n 8044d66 8044624: 20020070 .word 0x20020070 8044628: 20023eb8 .word 0x20023eb8 804462c: 0a7c5ac5 .word 0x0a7c5ac5 8044630: 000186a0 .word 0x000186a0 8044634: d1b71759 .word 0xd1b71759 8044638: 10624dd3 .word 0x10624dd3 804463c: 51eb851f .word 0x51eb851f 8044640: cccccccd .word 0xcccccccd 8044644: fffe7960 .word 0xfffe7960 8044648: ffffd8f0 .word 0xffffd8f0 804464c: 3dcccccd .word 0x3dcccccd 8044650: 3d4ccccd .word 0x3d4ccccd case SETTINGS: if(menupos >= Ies) 8044654: 4bc7 ldr r3, [pc, #796] ; (8044974 ) 8044656: 781b ldrb r3, [r3, #0] 8044658: b2db uxtb r3, r3 804465a: 2b0c cmp r3, #12 804465c: f240 815a bls.w 8044914 { k = (uint32_t) (pardata.IKK * 1000.0f); 8044660: 4bc5 ldr r3, [pc, #788] ; (8044978 ) 8044662: edd3 7a04 vldr s15, [r3, #16] 8044666: ed9f 7ac5 vldr s14, [pc, #788] ; 804497c 804466a: ee67 7a87 vmul.f32 s15, s15, s14 804466e: eefc 7ae7 vcvt.u32.f32 s15, s15 8044672: ee17 3a90 vmov r3, s15 8044676: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 804467a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804467e: 095b lsrs r3, r3, #5 8044680: 4abf ldr r2, [pc, #764] ; (8044980 ) 8044682: fba2 2303 umull r2, r3, r2, r3 8044686: 09db lsrs r3, r3, #7 8044688: b2db uxtb r3, r3 804468a: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 804468e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8044692: 0953 lsrs r3, r2, #5 8044694: 49ba ldr r1, [pc, #744] ; (8044980 ) 8044696: fba1 1303 umull r1, r3, r1, r3 804469a: 09db lsrs r3, r3, #7 804469c: 49b9 ldr r1, [pc, #740] ; (8044984 ) 804469e: fb01 f303 mul.w r3, r1, r3 80446a2: 1ad3 subs r3, r2, r3 80446a4: 4ab8 ldr r2, [pc, #736] ; (8044988 ) 80446a6: fba2 2303 umull r2, r3, r2, r3 80446aa: 0b5b lsrs r3, r3, #13 80446ac: b2db uxtb r3, r3 80446ae: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 80446b2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80446b6: 0953 lsrs r3, r2, #5 80446b8: 49b1 ldr r1, [pc, #708] ; (8044980 ) 80446ba: fba1 1303 umull r1, r3, r1, r3 80446be: 09db lsrs r3, r3, #7 80446c0: 49b0 ldr r1, [pc, #704] ; (8044984 ) 80446c2: fb01 f303 mul.w r3, r1, r3 80446c6: 1ad3 subs r3, r2, r3 80446c8: 4aaf ldr r2, [pc, #700] ; (8044988 ) 80446ca: fba2 1203 umull r1, r2, r2, r3 80446ce: 0b52 lsrs r2, r2, #13 80446d0: f242 7110 movw r1, #10000 ; 0x2710 80446d4: fb01 f202 mul.w r2, r1, r2 80446d8: 1a9a subs r2, r3, r2 80446da: 4bac ldr r3, [pc, #688] ; (804498c ) 80446dc: fba3 2302 umull r2, r3, r3, r2 80446e0: 099b lsrs r3, r3, #6 80446e2: b2db uxtb r3, r3 80446e4: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80446e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80446ec: 095a lsrs r2, r3, #5 80446ee: 49a4 ldr r1, [pc, #656] ; (8044980 ) 80446f0: fba1 1202 umull r1, r2, r1, r2 80446f4: 09d2 lsrs r2, r2, #7 80446f6: 49a3 ldr r1, [pc, #652] ; (8044984 ) 80446f8: fb01 f202 mul.w r2, r1, r2 80446fc: 1a9a subs r2, r3, r2 80446fe: 4ba2 ldr r3, [pc, #648] ; (8044988 ) 8044700: fba3 1302 umull r1, r3, r3, r2 8044704: 0b5b lsrs r3, r3, #13 8044706: f242 7110 movw r1, #10000 ; 0x2710 804470a: fb01 f303 mul.w r3, r1, r3 804470e: 1ad3 subs r3, r2, r3 8044710: 4a9e ldr r2, [pc, #632] ; (804498c ) 8044712: fba2 1203 umull r1, r2, r2, r3 8044716: 0992 lsrs r2, r2, #6 8044718: f44f 717a mov.w r1, #1000 ; 0x3e8 804471c: fb01 f202 mul.w r2, r1, r2 8044720: 1a9a subs r2, r3, r2 8044722: 4b9b ldr r3, [pc, #620] ; (8044990 ) 8044724: fba3 2302 umull r2, r3, r3, r2 8044728: 095b lsrs r3, r3, #5 804472a: b2db uxtb r3, r3 804472c: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8044730: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8044734: 0953 lsrs r3, r2, #5 8044736: 4992 ldr r1, [pc, #584] ; (8044980 ) 8044738: fba1 1303 umull r1, r3, r1, r3 804473c: 09db lsrs r3, r3, #7 804473e: 4991 ldr r1, [pc, #580] ; (8044984 ) 8044740: fb01 f303 mul.w r3, r1, r3 8044744: 1ad3 subs r3, r2, r3 8044746: 4a90 ldr r2, [pc, #576] ; (8044988 ) 8044748: fba2 1203 umull r1, r2, r2, r3 804474c: 0b52 lsrs r2, r2, #13 804474e: f242 7110 movw r1, #10000 ; 0x2710 8044752: fb01 f202 mul.w r2, r1, r2 8044756: 1a9a subs r2, r3, r2 8044758: 4b8c ldr r3, [pc, #560] ; (804498c ) 804475a: fba3 1302 umull r1, r3, r3, r2 804475e: 099b lsrs r3, r3, #6 8044760: f44f 717a mov.w r1, #1000 ; 0x3e8 8044764: fb01 f303 mul.w r3, r1, r3 8044768: 1ad3 subs r3, r2, r3 804476a: 4a89 ldr r2, [pc, #548] ; (8044990 ) 804476c: fba2 1203 umull r1, r2, r2, r3 8044770: 0952 lsrs r2, r2, #5 8044772: 2164 movs r1, #100 ; 0x64 8044774: fb01 f202 mul.w r2, r1, r2 8044778: 1a9a subs r2, r3, r2 804477a: 4b86 ldr r3, [pc, #536] ; (8044994 ) 804477c: fba3 2302 umull r2, r3, r3, r2 8044780: 08db lsrs r3, r3, #3 8044782: b2db uxtb r3, r3 8044784: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8044788: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804478c: 0953 lsrs r3, r2, #5 804478e: 497c ldr r1, [pc, #496] ; (8044980 ) 8044790: fba1 1303 umull r1, r3, r1, r3 8044794: 09db lsrs r3, r3, #7 8044796: 497b ldr r1, [pc, #492] ; (8044984 ) 8044798: fb01 f303 mul.w r3, r1, r3 804479c: 1ad3 subs r3, r2, r3 804479e: 4a7a ldr r2, [pc, #488] ; (8044988 ) 80447a0: fba2 1203 umull r1, r2, r2, r3 80447a4: 0b52 lsrs r2, r2, #13 80447a6: f242 7110 movw r1, #10000 ; 0x2710 80447aa: fb01 f202 mul.w r2, r1, r2 80447ae: 1a9a subs r2, r3, r2 80447b0: 4b76 ldr r3, [pc, #472] ; (804498c ) 80447b2: fba3 1302 umull r1, r3, r3, r2 80447b6: 099b lsrs r3, r3, #6 80447b8: f44f 717a mov.w r1, #1000 ; 0x3e8 80447bc: fb01 f303 mul.w r3, r1, r3 80447c0: 1ad3 subs r3, r2, r3 80447c2: 4a73 ldr r2, [pc, #460] ; (8044990 ) 80447c4: fba2 1203 umull r1, r2, r2, r3 80447c8: 0952 lsrs r2, r2, #5 80447ca: 2164 movs r1, #100 ; 0x64 80447cc: fb01 f202 mul.w r2, r1, r2 80447d0: 1a9a subs r2, r3, r2 80447d2: 4b70 ldr r3, [pc, #448] ; (8044994 ) 80447d4: fba3 1302 umull r1, r3, r3, r2 80447d8: 08d9 lsrs r1, r3, #3 80447da: 460b mov r3, r1 80447dc: 009b lsls r3, r3, #2 80447de: 440b add r3, r1 80447e0: 005b lsls r3, r3, #1 80447e2: 1ad1 subs r1, r2, r3 80447e4: b2cb uxtb r3, r1 80447e6: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 80447ea: 4b62 ldr r3, [pc, #392] ; (8044974 ) 80447ec: 781b ldrb r3, [r3, #0] 80447ee: b2db uxtb r3, r3 80447f0: 3b0d subs r3, #13 80447f2: 2b05 cmp r3, #5 80447f4: d869 bhi.n 80448ca 80447f6: a201 add r2, pc, #4 ; (adr r2, 80447fc ) 80447f8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80447fc: 08044815 .word 0x08044815 8044800: 08044835 .word 0x08044835 8044804: 08044857 .word 0x08044857 8044808: 08044877 .word 0x08044877 804480c: 08044893 .word 0x08044893 8044810: 080448af .word 0x080448af { case Ies: if(k > 100000) k -= 100000; 8044814: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044818: 4a5a ldr r2, [pc, #360] ; (8044984 ) 804481a: 4293 cmp r3, r2 804481c: d906 bls.n 804482c 804481e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8044822: 4b5d ldr r3, [pc, #372] ; (8044998 ) 8044824: 4413 add r3, r2 8044826: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 804482a: e04e b.n 80448ca else k = 0; 804482c: 2300 movs r3, #0 804482e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8044832: e04a b.n 80448ca case Ied: if(k > 10000) k -= 10000; 8044834: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044838: f242 7210 movw r2, #10000 ; 0x2710 804483c: 4293 cmp r3, r2 804483e: d906 bls.n 804484e 8044840: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8044844: 4b55 ldr r3, [pc, #340] ; (804499c ) 8044846: 4413 add r3, r2 8044848: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 804484c: e03d b.n 80448ca else k = 0; 804484e: 2300 movs r3, #0 8044850: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8044854: e039 b.n 80448ca case Iee: if(k > 1000) k -= 1000; 8044856: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804485a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 804485e: d906 bls.n 804486e 8044860: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044864: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8044868: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 804486c: e02d b.n 80448ca else k = 0; 804486e: 2300 movs r3, #0 8044870: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8044874: e029 b.n 80448ca case Ikd: if(k > 100) k -= 100; 8044876: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804487a: 2b64 cmp r3, #100 ; 0x64 804487c: d905 bls.n 804488a 804487e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044882: 3b64 subs r3, #100 ; 0x64 8044884: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 8044888: e01f b.n 80448ca else k = 0; 804488a: 2300 movs r3, #0 804488c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8044890: e01b b.n 80448ca case Iks: if(k > 10) k -= 10; 8044892: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044896: 2b0a cmp r3, #10 8044898: d905 bls.n 80448a6 804489a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804489e: 3b0a subs r3, #10 80448a0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 80448a4: e011 b.n 80448ca else k = 0; 80448a6: 2300 movs r3, #0 80448a8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80448ac: e00d b.n 80448ca case Ikt: if(k > 1) k -= 1; 80448ae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80448b2: 2b01 cmp r3, #1 80448b4: d905 bls.n 80448c2 80448b6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80448ba: 3b01 subs r3, #1 80448bc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 80448c0: e002 b.n 80448c8 else k = 0; 80448c2: 2300 movs r3, #0 80448c4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80448c8: bf00 nop } if(k == 0) k = 1; 80448ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80448ce: 2b00 cmp r3, #0 80448d0: d102 bne.n 80448d8 80448d2: 2301 movs r3, #1 80448d4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.IKK = (float32_t) k; 80448d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80448dc: ee07 3a90 vmov s15, r3 80448e0: eef8 7a67 vcvt.f32.u32 s15, s15 80448e4: 4b24 ldr r3, [pc, #144] ; (8044978 ) 80448e6: edc3 7a04 vstr s15, [r3, #16] pardata.IKK *= 0.001f; 80448ea: 4b23 ldr r3, [pc, #140] ; (8044978 ) 80448ec: edd3 7a04 vldr s15, [r3, #16] 80448f0: ed9f 7a2b vldr s14, [pc, #172] ; 80449a0 80448f4: ee67 7a87 vmul.f32 s15, s15, s14 80448f8: 4b1f ldr r3, [pc, #124] ; (8044978 ) 80448fa: edc3 7a04 vstr s15, [r3, #16] pardata.IKK += 0.0005f; 80448fe: 4b1e ldr r3, [pc, #120] ; (8044978 ) 8044900: edd3 7a04 vldr s15, [r3, #16] 8044904: ed9f 7a27 vldr s14, [pc, #156] ; 80449a4 8044908: ee77 7a87 vadd.f32 s15, s15, s14 804490c: 4b1a ldr r3, [pc, #104] ; (8044978 ) 804490e: edc3 7a04 vstr s15, [r3, #16] else menupos = Type; #endif #endif #endif } break; 8044912: e22b b.n 8044d6c focused = false; 8044914: 4b24 ldr r3, [pc, #144] ; (80449a8 ) 8044916: 2200 movs r2, #0 8044918: 701a strb r2, [r3, #0] if(menupos == Temper) menupos = Type; 804491a: 4b16 ldr r3, [pc, #88] ; (8044974 ) 804491c: 781b ldrb r3, [r3, #0] 804491e: b2db uxtb r3, r3 8044920: 2b07 cmp r3, #7 8044922: d103 bne.n 804492c 8044924: 4b13 ldr r3, [pc, #76] ; (8044974 ) 8044926: 2201 movs r2, #1 8044928: 701a strb r2, [r3, #0] break; 804492a: e21f b.n 8044d6c else if(menupos == FormatDisk) menupos = Temper; 804492c: 4b11 ldr r3, [pc, #68] ; (8044974 ) 804492e: 781b ldrb r3, [r3, #0] 8044930: b2db uxtb r3, r3 8044932: 2b05 cmp r3, #5 8044934: d103 bne.n 804493e 8044936: 4b0f ldr r3, [pc, #60] ; (8044974 ) 8044938: 2207 movs r2, #7 804493a: 701a strb r2, [r3, #0] break; 804493c: e216 b.n 8044d6c else if(menupos == DateTime) menupos = FormatDisk; 804493e: 4b0d ldr r3, [pc, #52] ; (8044974 ) 8044940: 781b ldrb r3, [r3, #0] 8044942: b2db uxtb r3, r3 8044944: 2b04 cmp r3, #4 8044946: d103 bne.n 8044950 8044948: 4b0a ldr r3, [pc, #40] ; (8044974 ) 804494a: 2205 movs r2, #5 804494c: 701a strb r2, [r3, #0] break; 804494e: e20d b.n 8044d6c else if(menupos == Lang) menupos = DateTime; 8044950: 4b08 ldr r3, [pc, #32] ; (8044974 ) 8044952: 781b ldrb r3, [r3, #0] 8044954: b2db uxtb r3, r3 8044956: 2b03 cmp r3, #3 8044958: d103 bne.n 8044962 804495a: 4b06 ldr r3, [pc, #24] ; (8044974 ) 804495c: 2204 movs r2, #4 804495e: 701a strb r2, [r3, #0] break; 8044960: e204 b.n 8044d6c else if(menupos == Sens) menupos = Lang; 8044962: 4b04 ldr r3, [pc, #16] ; (8044974 ) 8044964: 781b ldrb r3, [r3, #0] 8044966: b2db uxtb r3, r3 8044968: 2b02 cmp r3, #2 804496a: d11f bne.n 80449ac 804496c: 4b01 ldr r3, [pc, #4] ; (8044974 ) 804496e: 2203 movs r2, #3 8044970: 701a strb r2, [r3, #0] break; 8044972: e1fb b.n 8044d6c 8044974: 20020070 .word 0x20020070 8044978: 20023eb8 .word 0x20023eb8 804497c: 447a0000 .word 0x447a0000 8044980: 0a7c5ac5 .word 0x0a7c5ac5 8044984: 000186a0 .word 0x000186a0 8044988: d1b71759 .word 0xd1b71759 804498c: 10624dd3 .word 0x10624dd3 8044990: 51eb851f .word 0x51eb851f 8044994: cccccccd .word 0xcccccccd 8044998: fffe7960 .word 0xfffe7960 804499c: ffffd8f0 .word 0xffffd8f0 80449a0: 3a83126f .word 0x3a83126f 80449a4: 3a03126f .word 0x3a03126f 80449a8: 20020fd0 .word 0x20020fd0 else if(menupos == Type) menupos = Sens; 80449ac: 4ba4 ldr r3, [pc, #656] ; (8044c40 ) 80449ae: 781b ldrb r3, [r3, #0] 80449b0: b2db uxtb r3, r3 80449b2: 2b01 cmp r3, #1 80449b4: f040 81da bne.w 8044d6c 80449b8: 4ba1 ldr r3, [pc, #644] ; (8044c40 ) 80449ba: 2202 movs r2, #2 80449bc: 701a strb r2, [r3, #0] break; 80449be: e1d5 b.n 8044d6c case DATETIME: if(menupos > TimeAll) 80449c0: 4b9f ldr r3, [pc, #636] ; (8044c40 ) 80449c2: 781b ldrb r3, [r3, #0] 80449c4: b2db uxtb r3, r3 80449c6: 2b02 cmp r3, #2 80449c8: d936 bls.n 8044a38 { switch(menupos) 80449ca: 4b9d ldr r3, [pc, #628] ; (8044c40 ) 80449cc: 781b ldrb r3, [r3, #0] 80449ce: b2db uxtb r3, r3 80449d0: 3b03 subs r3, #3 80449d2: 2b04 cmp r3, #4 80449d4: f200 81cd bhi.w 8044d72 80449d8: a201 add r2, pc, #4 ; (adr r2, 80449e0 ) 80449da: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80449de: bf00 nop 80449e0: 080449f5 .word 0x080449f5 80449e4: 08044a03 .word 0x08044a03 80449e8: 08044a11 .word 0x08044a11 80449ec: 08044a1f .word 0x08044a1f 80449f0: 08044a2b .word 0x08044a2b { case DateD: ChangeDate(-1, 0, 0); break; 80449f4: 2200 movs r2, #0 80449f6: 2100 movs r1, #0 80449f8: f04f 30ff mov.w r0, #4294967295 80449fc: f024 fb9e bl 806913c 8044a00: e02b b.n 8044a5a case DateM: ChangeDate(0, -1, 0); break; 8044a02: 2200 movs r2, #0 8044a04: f04f 31ff mov.w r1, #4294967295 8044a08: 2000 movs r0, #0 8044a0a: f024 fb97 bl 806913c 8044a0e: e024 b.n 8044a5a case DateY: ChangeDate(0, 0, -1); break; 8044a10: f04f 32ff mov.w r2, #4294967295 8044a14: 2100 movs r1, #0 8044a16: 2000 movs r0, #0 8044a18: f024 fb90 bl 806913c 8044a1c: e01d b.n 8044a5a case TimeH: ChangeTime(-1, 0); break; 8044a1e: 2100 movs r1, #0 8044a20: f04f 30ff mov.w r0, #4294967295 8044a24: f024 fb20 bl 8069068 8044a28: e017 b.n 8044a5a case TimeM: ChangeTime(0, -1); break; 8044a2a: f04f 31ff mov.w r1, #4294967295 8044a2e: 2000 movs r0, #0 8044a30: f024 fb1a bl 8069068 8044a34: bf00 nop 8044a36: e010 b.n 8044a5a } } else { if(menupos < TimeAll) menupos++; 8044a38: 4b81 ldr r3, [pc, #516] ; (8044c40 ) 8044a3a: 781b ldrb r3, [r3, #0] 8044a3c: b2db uxtb r3, r3 8044a3e: 2b01 cmp r3, #1 8044a40: d807 bhi.n 8044a52 8044a42: 4b7f ldr r3, [pc, #508] ; (8044c40 ) 8044a44: 781b ldrb r3, [r3, #0] 8044a46: b2db uxtb r3, r3 8044a48: 3301 adds r3, #1 8044a4a: b2da uxtb r2, r3 8044a4c: 4b7c ldr r3, [pc, #496] ; (8044c40 ) 8044a4e: 701a strb r2, [r3, #0] else menupos = DateAll; } break; 8044a50: e18f b.n 8044d72 else menupos = DateAll; 8044a52: 4b7b ldr r3, [pc, #492] ; (8044c40 ) 8044a54: 2201 movs r2, #1 8044a56: 701a strb r2, [r3, #0] break; 8044a58: e18b b.n 8044d72 8044a5a: e18a b.n 8044d72 case CLEAN_FILES: if(menupos == FilesPTM) 8044a5c: 4b78 ldr r3, [pc, #480] ; (8044c40 ) 8044a5e: 781b ldrb r3, [r3, #0] 8044a60: b2db uxtb r3, r3 8044a62: 2b02 cmp r3, #2 8044a64: f040 8188 bne.w 8044d78 { if((CursorIndex + 1) < VIEW_FILES) 8044a68: 4b76 ldr r3, [pc, #472] ; (8044c44 ) 8044a6a: 681b ldr r3, [r3, #0] 8044a6c: 3301 adds r3, #1 8044a6e: 2b0b cmp r3, #11 8044a70: d80f bhi.n 8044a92 { if((FirstFileIndex + CursorIndex + 1) < NumFilesPTM) { 8044a72: 4b75 ldr r3, [pc, #468] ; (8044c48 ) 8044a74: 681a ldr r2, [r3, #0] 8044a76: 4b73 ldr r3, [pc, #460] ; (8044c44 ) 8044a78: 681b ldr r3, [r3, #0] 8044a7a: 4413 add r3, r2 8044a7c: 1c5a adds r2, r3, #1 8044a7e: 4b73 ldr r3, [pc, #460] ; (8044c4c ) 8044a80: 681b ldr r3, [r3, #0] 8044a82: 429a cmp r2, r3 8044a84: d21a bcs.n 8044abc CursorIndex++; 8044a86: 4b6f ldr r3, [pc, #444] ; (8044c44 ) 8044a88: 681b ldr r3, [r3, #0] 8044a8a: 3301 adds r3, #1 8044a8c: 4a6d ldr r2, [pc, #436] ; (8044c44 ) 8044a8e: 6013 str r3, [r2, #0] 8044a90: e014 b.n 8044abc } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesPTM) 8044a92: 4b6d ldr r3, [pc, #436] ; (8044c48 ) 8044a94: 681b ldr r3, [r3, #0] 8044a96: f103 020c add.w r2, r3, #12 8044a9a: 4b6c ldr r3, [pc, #432] ; (8044c4c ) 8044a9c: 681b ldr r3, [r3, #0] 8044a9e: 429a cmp r2, r3 8044aa0: d20c bcs.n 8044abc { FirstFileIndex++; 8044aa2: 4b69 ldr r3, [pc, #420] ; (8044c48 ) 8044aa4: 681b ldr r3, [r3, #0] 8044aa6: 3301 adds r3, #1 8044aa8: 4a67 ldr r2, [pc, #412] ; (8044c48 ) 8044aaa: 6013 str r3, [r2, #0] result = ReadMyFilesPTM(FirstFileIndex); 8044aac: 4b66 ldr r3, [pc, #408] ; (8044c48 ) 8044aae: 681b ldr r3, [r3, #0] 8044ab0: 4618 mov r0, r3 8044ab2: f7e5 f879 bl 8029ba8 8044ab6: 4603 mov r3, r0 8044ab8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ ñïèñêà ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 8044abc: 4b62 ldr r3, [pc, #392] ; (8044c48 ) 8044abe: 681a ldr r2, [r3, #0] 8044ac0: 4b60 ldr r3, [pc, #384] ; (8044c44 ) 8044ac2: 681b ldr r3, [r3, #0] 8044ac4: 4413 add r3, r2 8044ac6: 4a62 ldr r2, [pc, #392] ; (8044c50 ) 8044ac8: 6013 str r3, [r2, #0] } break; 8044aca: e155 b.n 8044d78 case ARCHIVE: if(menupos < ArchiveWave) menupos++; 8044acc: 4b5c ldr r3, [pc, #368] ; (8044c40 ) 8044ace: 781b ldrb r3, [r3, #0] 8044ad0: b2db uxtb r3, r3 8044ad2: 2b01 cmp r3, #1 8044ad4: d807 bhi.n 8044ae6 8044ad6: 4b5a ldr r3, [pc, #360] ; (8044c40 ) 8044ad8: 781b ldrb r3, [r3, #0] 8044ada: b2db uxtb r3, r3 8044adc: 3301 adds r3, #1 8044ade: b2da uxtb r2, r3 8044ae0: 4b57 ldr r3, [pc, #348] ; (8044c40 ) 8044ae2: 701a strb r2, [r3, #0] else menupos = Ok; break; 8044ae4: e158 b.n 8044d98 else menupos = Ok; 8044ae6: 4b56 ldr r3, [pc, #344] ; (8044c40 ) 8044ae8: 2200 movs r2, #0 8044aea: 701a strb r2, [r3, #0] break; 8044aec: e154 b.n 8044d98 case ARCHIVE_SPEC: if(menupos == FilesSPEC) 8044aee: 4b54 ldr r3, [pc, #336] ; (8044c40 ) 8044af0: 781b ldrb r3, [r3, #0] 8044af2: b2db uxtb r3, r3 8044af4: 2b02 cmp r3, #2 8044af6: f040 8142 bne.w 8044d7e { if((CursorIndex + 1) < VIEW_FILES) 8044afa: 4b52 ldr r3, [pc, #328] ; (8044c44 ) 8044afc: 681b ldr r3, [r3, #0] 8044afe: 3301 adds r3, #1 8044b00: 2b0b cmp r3, #11 8044b02: d80f bhi.n 8044b24 { if((FirstFileIndex + CursorIndex + 1) < NumFilesSPEC) { 8044b04: 4b50 ldr r3, [pc, #320] ; (8044c48 ) 8044b06: 681a ldr r2, [r3, #0] 8044b08: 4b4e ldr r3, [pc, #312] ; (8044c44 ) 8044b0a: 681b ldr r3, [r3, #0] 8044b0c: 4413 add r3, r2 8044b0e: 1c5a adds r2, r3, #1 8044b10: 4b50 ldr r3, [pc, #320] ; (8044c54 ) 8044b12: 681b ldr r3, [r3, #0] 8044b14: 429a cmp r2, r3 8044b16: d21a bcs.n 8044b4e CursorIndex++; 8044b18: 4b4a ldr r3, [pc, #296] ; (8044c44 ) 8044b1a: 681b ldr r3, [r3, #0] 8044b1c: 3301 adds r3, #1 8044b1e: 4a49 ldr r2, [pc, #292] ; (8044c44 ) 8044b20: 6013 str r3, [r2, #0] 8044b22: e014 b.n 8044b4e } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesSPEC) 8044b24: 4b48 ldr r3, [pc, #288] ; (8044c48 ) 8044b26: 681b ldr r3, [r3, #0] 8044b28: f103 020c add.w r2, r3, #12 8044b2c: 4b49 ldr r3, [pc, #292] ; (8044c54 ) 8044b2e: 681b ldr r3, [r3, #0] 8044b30: 429a cmp r2, r3 8044b32: d20c bcs.n 8044b4e { FirstFileIndex++; 8044b34: 4b44 ldr r3, [pc, #272] ; (8044c48 ) 8044b36: 681b ldr r3, [r3, #0] 8044b38: 3301 adds r3, #1 8044b3a: 4a43 ldr r2, [pc, #268] ; (8044c48 ) 8044b3c: 6013 str r3, [r2, #0] result = ReadMyFilesSPEC(FirstFileIndex); 8044b3e: 4b42 ldr r3, [pc, #264] ; (8044c48 ) 8044b40: 681b ldr r3, [r3, #0] 8044b42: 4618 mov r0, r3 8044b44: f7e5 f84a bl 8029bdc 8044b48: 4603 mov r3, r0 8044b4a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } RealFileIndex = FirstFileIndex + CursorIndex; 8044b4e: 4b3e ldr r3, [pc, #248] ; (8044c48 ) 8044b50: 681a ldr r2, [r3, #0] 8044b52: 4b3c ldr r3, [pc, #240] ; (8044c44 ) 8044b54: 681b ldr r3, [r3, #0] 8044b56: 4413 add r3, r2 8044b58: 4a3d ldr r2, [pc, #244] ; (8044c50 ) 8044b5a: 6013 str r3, [r2, #0] } break; 8044b5c: e10f b.n 8044d7e case ARCHIVE_FRAN: if(menupos == FilesFRAN) 8044b5e: 4b38 ldr r3, [pc, #224] ; (8044c40 ) 8044b60: 781b ldrb r3, [r3, #0] 8044b62: b2db uxtb r3, r3 8044b64: 2b02 cmp r3, #2 8044b66: f040 810d bne.w 8044d84 { if((CursorIndex + 1) < VIEW_FILES) 8044b6a: 4b36 ldr r3, [pc, #216] ; (8044c44 ) 8044b6c: 681b ldr r3, [r3, #0] 8044b6e: 3301 adds r3, #1 8044b70: 2b0b cmp r3, #11 8044b72: d80f bhi.n 8044b94 { if((FirstFileIndex + CursorIndex + 1) < NumFilesFRAN) { 8044b74: 4b34 ldr r3, [pc, #208] ; (8044c48 ) 8044b76: 681a ldr r2, [r3, #0] 8044b78: 4b32 ldr r3, [pc, #200] ; (8044c44 ) 8044b7a: 681b ldr r3, [r3, #0] 8044b7c: 4413 add r3, r2 8044b7e: 1c5a adds r2, r3, #1 8044b80: 4b35 ldr r3, [pc, #212] ; (8044c58 ) 8044b82: 681b ldr r3, [r3, #0] 8044b84: 429a cmp r2, r3 8044b86: d21a bcs.n 8044bbe CursorIndex++; 8044b88: 4b2e ldr r3, [pc, #184] ; (8044c44 ) 8044b8a: 681b ldr r3, [r3, #0] 8044b8c: 3301 adds r3, #1 8044b8e: 4a2d ldr r2, [pc, #180] ; (8044c44 ) 8044b90: 6013 str r3, [r2, #0] 8044b92: e014 b.n 8044bbe } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesFRAN) 8044b94: 4b2c ldr r3, [pc, #176] ; (8044c48 ) 8044b96: 681b ldr r3, [r3, #0] 8044b98: f103 020c add.w r2, r3, #12 8044b9c: 4b2e ldr r3, [pc, #184] ; (8044c58 ) 8044b9e: 681b ldr r3, [r3, #0] 8044ba0: 429a cmp r2, r3 8044ba2: d20c bcs.n 8044bbe { FirstFileIndex++; 8044ba4: 4b28 ldr r3, [pc, #160] ; (8044c48 ) 8044ba6: 681b ldr r3, [r3, #0] 8044ba8: 3301 adds r3, #1 8044baa: 4a27 ldr r2, [pc, #156] ; (8044c48 ) 8044bac: 6013 str r3, [r2, #0] result = ReadMyFilesFRAN(FirstFileIndex); 8044bae: 4b26 ldr r3, [pc, #152] ; (8044c48 ) 8044bb0: 681b ldr r3, [r3, #0] 8044bb2: 4618 mov r0, r3 8044bb4: f7e5 f81f bl 8029bf6 8044bb8: 4603 mov r3, r0 8044bba: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } RealFileIndex = FirstFileIndex + CursorIndex; 8044bbe: 4b22 ldr r3, [pc, #136] ; (8044c48 ) 8044bc0: 681a ldr r2, [r3, #0] 8044bc2: 4b20 ldr r3, [pc, #128] ; (8044c44 ) 8044bc4: 681b ldr r3, [r3, #0] 8044bc6: 4413 add r3, r2 8044bc8: 4a21 ldr r2, [pc, #132] ; (8044c50 ) 8044bca: 6013 str r3, [r2, #0] } break; 8044bcc: e0da b.n 8044d84 result = ReadMyFilesWAV(FirstFileIndex); } } RealFileIndex = FirstFileIndex + CursorIndex; }*/ if(menupos == FilesGTR) 8044bce: 4b1c ldr r3, [pc, #112] ; (8044c40 ) 8044bd0: 781b ldrb r3, [r3, #0] 8044bd2: b2db uxtb r3, r3 8044bd4: 2b02 cmp r3, #2 8044bd6: f040 80d8 bne.w 8044d8a { if((CursorIndex + 1) < VIEW_FILES) 8044bda: 4b1a ldr r3, [pc, #104] ; (8044c44 ) 8044bdc: 681b ldr r3, [r3, #0] 8044bde: 3301 adds r3, #1 8044be0: 2b0b cmp r3, #11 8044be2: d80f bhi.n 8044c04 { if((FirstFileIndex + CursorIndex + 1) < NumFilesWAV) { 8044be4: 4b18 ldr r3, [pc, #96] ; (8044c48 ) 8044be6: 681a ldr r2, [r3, #0] 8044be8: 4b16 ldr r3, [pc, #88] ; (8044c44 ) 8044bea: 681b ldr r3, [r3, #0] 8044bec: 4413 add r3, r2 8044bee: 1c5a adds r2, r3, #1 8044bf0: 4b1a ldr r3, [pc, #104] ; (8044c5c ) 8044bf2: 681b ldr r3, [r3, #0] 8044bf4: 429a cmp r2, r3 8044bf6: d21a bcs.n 8044c2e CursorIndex++; 8044bf8: 4b12 ldr r3, [pc, #72] ; (8044c44 ) 8044bfa: 681b ldr r3, [r3, #0] 8044bfc: 3301 adds r3, #1 8044bfe: 4a11 ldr r2, [pc, #68] ; (8044c44 ) 8044c00: 6013 str r3, [r2, #0] 8044c02: e014 b.n 8044c2e } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesWAV) 8044c04: 4b10 ldr r3, [pc, #64] ; (8044c48 ) 8044c06: 681b ldr r3, [r3, #0] 8044c08: f103 020c add.w r2, r3, #12 8044c0c: 4b13 ldr r3, [pc, #76] ; (8044c5c ) 8044c0e: 681b ldr r3, [r3, #0] 8044c10: 429a cmp r2, r3 8044c12: d20c bcs.n 8044c2e { FirstFileIndex++; 8044c14: 4b0c ldr r3, [pc, #48] ; (8044c48 ) 8044c16: 681b ldr r3, [r3, #0] 8044c18: 3301 adds r3, #1 8044c1a: 4a0b ldr r2, [pc, #44] ; (8044c48 ) 8044c1c: 6013 str r3, [r2, #0] result = ReadMyFilesWAV(FirstFileIndex); 8044c1e: 4b0a ldr r3, [pc, #40] ; (8044c48 ) 8044c20: 681b ldr r3, [r3, #0] 8044c22: 4618 mov r0, r3 8044c24: f7e5 f801 bl 8029c2a 8044c28: 4603 mov r3, r0 8044c2a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } RealFileIndex = FirstFileIndex + CursorIndex; 8044c2e: 4b06 ldr r3, [pc, #24] ; (8044c48 ) 8044c30: 681a ldr r2, [r3, #0] 8044c32: 4b04 ldr r3, [pc, #16] ; (8044c44 ) 8044c34: 681b ldr r3, [r3, #0] 8044c36: 4413 add r3, r2 8044c38: 4a05 ldr r2, [pc, #20] ; (8044c50 ) 8044c3a: 6013 str r3, [r2, #0] } break; 8044c3c: e0a5 b.n 8044d8a 8044c3e: bf00 nop 8044c40: 20020070 .word 0x20020070 8044c44: 20020e00 .word 0x20020e00 8044c48: 20020e04 .word 0x20020e04 8044c4c: 20020e14 .word 0x20020e14 8044c50: 20020e08 .word 0x20020e08 8044c54: 20020e1c .word 0x20020e1c 8044c58: 20020e20 .word 0x20020e20 8044c5c: 20020e28 .word 0x20020e28 case ROUTE: if(menupos == FilesCSV) 8044c60: 4bc6 ldr r3, [pc, #792] ; (8044f7c ) 8044c62: 781b ldrb r3, [r3, #0] 8044c64: b2db uxtb r3, r3 8044c66: 2b02 cmp r3, #2 8044c68: f040 8092 bne.w 8044d90 { if((CursorIndex + 1) < VIEW_FILES) 8044c6c: 4bc4 ldr r3, [pc, #784] ; (8044f80 ) 8044c6e: 681b ldr r3, [r3, #0] 8044c70: 3301 adds r3, #1 8044c72: 2b0b cmp r3, #11 8044c74: d80f bhi.n 8044c96 { if((FirstFileIndex + CursorIndex + 1) < NumFilesCSV) { 8044c76: 4bc3 ldr r3, [pc, #780] ; (8044f84 ) 8044c78: 681a ldr r2, [r3, #0] 8044c7a: 4bc1 ldr r3, [pc, #772] ; (8044f80 ) 8044c7c: 681b ldr r3, [r3, #0] 8044c7e: 4413 add r3, r2 8044c80: 1c5a adds r2, r3, #1 8044c82: 4bc1 ldr r3, [pc, #772] ; (8044f88 ) 8044c84: 681b ldr r3, [r3, #0] 8044c86: 429a cmp r2, r3 8044c88: d21a bcs.n 8044cc0 CursorIndex++; 8044c8a: 4bbd ldr r3, [pc, #756] ; (8044f80 ) 8044c8c: 681b ldr r3, [r3, #0] 8044c8e: 3301 adds r3, #1 8044c90: 4abb ldr r2, [pc, #748] ; (8044f80 ) 8044c92: 6013 str r3, [r2, #0] 8044c94: e014 b.n 8044cc0 } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesCSV) 8044c96: 4bbb ldr r3, [pc, #748] ; (8044f84 ) 8044c98: 681b ldr r3, [r3, #0] 8044c9a: f103 020c add.w r2, r3, #12 8044c9e: 4bba ldr r3, [pc, #744] ; (8044f88 ) 8044ca0: 681b ldr r3, [r3, #0] 8044ca2: 429a cmp r2, r3 8044ca4: d20c bcs.n 8044cc0 { FirstFileIndex++; 8044ca6: 4bb7 ldr r3, [pc, #732] ; (8044f84 ) 8044ca8: 681b ldr r3, [r3, #0] 8044caa: 3301 adds r3, #1 8044cac: 4ab5 ldr r2, [pc, #724] ; (8044f84 ) 8044cae: 6013 str r3, [r2, #0] result = ReadMyFilesWAV(FirstFileIndex); 8044cb0: 4bb4 ldr r3, [pc, #720] ; (8044f84 ) 8044cb2: 681b ldr r3, [r3, #0] 8044cb4: 4618 mov r0, r3 8044cb6: f7e4 ffb8 bl 8029c2a 8044cba: 4603 mov r3, r0 8044cbc: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } RealFileIndex = FirstFileIndex + CursorIndex; 8044cc0: 4bb0 ldr r3, [pc, #704] ; (8044f84 ) 8044cc2: 681a ldr r2, [r3, #0] 8044cc4: 4bae ldr r3, [pc, #696] ; (8044f80 ) 8044cc6: 681b ldr r3, [r3, #0] 8044cc8: 4413 add r3, r2 8044cca: 4ab0 ldr r2, [pc, #704] ; (8044f8c ) 8044ccc: 6013 str r3, [r2, #0] result = ReadMyFilesGTR(FirstFileIndex); } } RealFileIndex = FirstFileIndex + CursorIndex; }*/ break; 8044cce: e05f b.n 8044d90 case CALIBR_00: if(Serial[menupos] > 0x30) 8044cd0: 4baa ldr r3, [pc, #680] ; (8044f7c ) 8044cd2: 781b ldrb r3, [r3, #0] 8044cd4: b2db uxtb r3, r3 8044cd6: 461a mov r2, r3 8044cd8: 4bad ldr r3, [pc, #692] ; (8044f90 ) 8044cda: 5c9b ldrb r3, [r3, r2] 8044cdc: 2b30 cmp r3, #48 ; 0x30 8044cde: d95a bls.n 8044d96 Serial[menupos]--; 8044ce0: 4ba6 ldr r3, [pc, #664] ; (8044f7c ) 8044ce2: 781b ldrb r3, [r3, #0] 8044ce4: b2db uxtb r3, r3 8044ce6: 4aaa ldr r2, [pc, #680] ; (8044f90 ) 8044ce8: 5cd2 ldrb r2, [r2, r3] 8044cea: 3a01 subs r2, #1 8044cec: b2d1 uxtb r1, r2 8044cee: 4aa8 ldr r2, [pc, #672] ; (8044f90 ) 8044cf0: 54d1 strb r1, [r2, r3] break; 8044cf2: e050 b.n 8044d96 break; 8044cf4: bf00 nop 8044cf6: f00f bd2f b.w 8054758 break; 8044cfa: bf00 nop 8044cfc: f00f bd2c b.w 8054758 break; 8044d00: bf00 nop 8044d02: f00f bd29 b.w 8054758 break; 8044d06: bf00 nop 8044d08: f00f bd26 b.w 8054758 break; 8044d0c: bf00 nop 8044d0e: f00f bd23 b.w 8054758 break; 8044d12: bf00 nop 8044d14: f00f bd20 b.w 8054758 break; 8044d18: bf00 nop 8044d1a: f00f bd1d b.w 8054758 break; 8044d1e: bf00 nop 8044d20: f00f bd1a b.w 8054758 break; 8044d24: bf00 nop 8044d26: f00f bd17 b.w 8054758 break; 8044d2a: bf00 nop 8044d2c: f00f bd14 b.w 8054758 break; 8044d30: bf00 nop 8044d32: f00f bd11 b.w 8054758 break; 8044d36: bf00 nop 8044d38: f00f bd0e b.w 8054758 break; 8044d3c: bf00 nop 8044d3e: f00f bd0b b.w 8054758 break; 8044d42: bf00 nop 8044d44: f00f bd08 b.w 8054758 break; 8044d48: bf00 nop 8044d4a: f00f bd05 b.w 8054758 break; 8044d4e: bf00 nop 8044d50: f00f bd02 b.w 8054758 break; 8044d54: bf00 nop 8044d56: f00f bcff b.w 8054758 break; 8044d5a: bf00 nop 8044d5c: f00f bcfc b.w 8054758 break; 8044d60: bf00 nop 8044d62: f00f bcf9 b.w 8054758 break; 8044d66: bf00 nop 8044d68: f00f bcf6 b.w 8054758 break; 8044d6c: bf00 nop 8044d6e: f00f bcf3 b.w 8054758 break; 8044d72: bf00 nop 8044d74: f00f bcf0 b.w 8054758 break; 8044d78: bf00 nop 8044d7a: f00f bced b.w 8054758 break; 8044d7e: bf00 nop 8044d80: f00f bcea b.w 8054758 break; 8044d84: bf00 nop 8044d86: f00f bce7 b.w 8054758 break; 8044d8a: bf00 nop 8044d8c: f00f bce4 b.w 8054758 break; 8044d90: bf00 nop 8044d92: f00f bce1 b.w 8054758 break; 8044d96: bf00 nop } break; 8044d98: f00f bcde b.w 8054758 case KEY_LT: //TODO KEY LEFT switch(menu) 8044d9c: 4b7d ldr r3, [pc, #500] ; (8044f94 ) 8044d9e: 781b ldrb r3, [r3, #0] 8044da0: b2db uxtb r3, r3 8044da2: 2b47 cmp r3, #71 ; 0x47 8044da4: f20f 84da bhi.w 805475c 8044da8: a201 add r2, pc, #4 ; (adr r2, 8044db0 ) 8044daa: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8044dae: bf00 nop 8044db0: 080456c9 .word 0x080456c9 8044db4: 08045b2d .word 0x08045b2d 8044db8: 080474fd .word 0x080474fd 8044dbc: 08045d25 .word 0x08045d25 8044dc0: 0804707d .word 0x0804707d 8044dc4: 0805475d .word 0x0805475d 8044dc8: 08046053 .word 0x08046053 8044dcc: 0804627d .word 0x0804627d 8044dd0: 08046c89 .word 0x08046c89 8044dd4: 0805475d .word 0x0805475d 8044dd8: 08047163 .word 0x08047163 8044ddc: 0805475d .word 0x0805475d 8044de0: 0805475d .word 0x0805475d 8044de4: 08045e05 .word 0x08045e05 8044de8: 08045d6d .word 0x08045d6d 8044dec: 08044ed1 .word 0x08044ed1 8044df0: 080474fd .word 0x080474fd 8044df4: 08044fa5 .word 0x08044fa5 8044df8: 08047287 .word 0x08047287 8044dfc: 08047441 .word 0x08047441 8044e00: 080474fd .word 0x080474fd 8044e04: 08045c49 .word 0x08045c49 8044e08: 08045c79 .word 0x08045c79 8044e0c: 08045cbd .word 0x08045cbd 8044e10: 08047385 .word 0x08047385 8044e14: 080473d7 .word 0x080473d7 8044e18: 0805475d .word 0x0805475d 8044e1c: 0805475d .word 0x0805475d 8044e20: 080458b9 .word 0x080458b9 8044e24: 08045725 .word 0x08045725 8044e28: 08045ab3 .word 0x08045ab3 8044e2c: 080456c9 .word 0x080456c9 8044e30: 08045b09 .word 0x08045b09 8044e34: 080458b9 .word 0x080458b9 8044e38: 08045a67 .word 0x08045a67 8044e3c: 08045a8d .word 0x08045a8d 8044e40: 080458b9 .word 0x080458b9 8044e44: 080474fd .word 0x080474fd 8044e48: 0804567d .word 0x0804567d 8044e4c: 0805475d .word 0x0805475d 8044e50: 080458b9 .word 0x080458b9 8044e54: 08045b7f .word 0x08045b7f 8044e58: 08045bbd .word 0x08045bbd 8044e5c: 08045bfb .word 0x08045bfb 8044e60: 08045bfb .word 0x08045bfb 8044e64: 08045bfb .word 0x08045bfb 8044e68: 0805475d .word 0x0805475d 8044e6c: 08045bfb .word 0x08045bfb 8044e70: 08045bfb .word 0x08045bfb 8044e74: 08045bfb .word 0x08045bfb 8044e78: 08045bfb .word 0x08045bfb 8044e7c: 08045bfb .word 0x08045bfb 8044e80: 0804749f .word 0x0804749f 8044e84: 080474b9 .word 0x080474b9 8044e88: 080474b9 .word 0x080474b9 8044e8c: 080474b9 .word 0x080474b9 8044e90: 080474b9 .word 0x080474b9 8044e94: 080474b9 .word 0x080474b9 8044e98: 080474b9 .word 0x080474b9 8044e9c: 080474b9 .word 0x080474b9 8044ea0: 080474b9 .word 0x080474b9 8044ea4: 080474b9 .word 0x080474b9 8044ea8: 080474d3 .word 0x080474d3 8044eac: 080474d3 .word 0x080474d3 8044eb0: 080474d3 .word 0x080474d3 8044eb4: 0805475d .word 0x0805475d 8044eb8: 0805475d .word 0x0805475d 8044ebc: 0805475d .word 0x0805475d 8044ec0: 0805475d .word 0x0805475d 8044ec4: 08045657 .word 0x08045657 8044ec8: 08045657 .word 0x08045657 8044ecc: 08045657 .word 0x08045657 { case PARAM_DIAGN: switch(menupos) 8044ed0: 4b2a ldr r3, [pc, #168] ; (8044f7c ) 8044ed2: 781b ldrb r3, [r3, #0] 8044ed4: b2db uxtb r3, r3 8044ed6: 3b01 subs r3, #1 8044ed8: 2b09 cmp r3, #9 8044eda: f202 8312 bhi.w 8047502 8044ede: a201 add r2, pc, #4 ; (adr r2, 8044ee4 ) 8044ee0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8044ee4: 08044f0d .word 0x08044f0d 8044ee8: 08047503 .word 0x08047503 8044eec: 08047503 .word 0x08047503 8044ef0: 08044f69 .word 0x08044f69 8044ef4: 08044f39 .word 0x08044f39 8044ef8: 08044f61 .word 0x08044f61 8044efc: 08044f59 .word 0x08044f59 8044f00: 08044f51 .word 0x08044f51 8044f04: 08044f49 .word 0x08044f49 8044f08: 08044f41 .word 0x08044f41 { case DiagAverage: if(focused) 8044f0c: 4b22 ldr r3, [pc, #136] ; (8044f98 ) 8044f0e: 781b ldrb r3, [r3, #0] 8044f10: b2db uxtb r3, r3 8044f12: 2b00 cmp r3, #0 8044f14: d02e beq.n 8044f74 { if(pardata.AVG > AVG1) pardata.AVG--; 8044f16: 4b21 ldr r3, [pc, #132] ; (8044f9c ) 8044f18: 7b5b ldrb r3, [r3, #13] 8044f1a: b2db uxtb r3, r3 8044f1c: 2b00 cmp r3, #0 8044f1e: d007 beq.n 8044f30 8044f20: 4b1e ldr r3, [pc, #120] ; (8044f9c ) 8044f22: 7b5b ldrb r3, [r3, #13] 8044f24: b2db uxtb r3, r3 8044f26: 3b01 subs r3, #1 8044f28: b2da uxtb r2, r3 8044f2a: 4b1c ldr r3, [pc, #112] ; (8044f9c ) 8044f2c: 735a strb r2, [r3, #13] else pardata.AVG = AVG512; } break; 8044f2e: e021 b.n 8044f74 else pardata.AVG = AVG512; 8044f30: 4b1a ldr r3, [pc, #104] ; (8044f9c ) 8044f32: 2209 movs r2, #9 8044f34: 735a strb r2, [r3, #13] break; 8044f36: e01d b.n 8044f74 case DiagMax_IDT: menupos = DiagMax_IKD; break; 8044f38: 4b10 ldr r3, [pc, #64] ; (8044f7c ) 8044f3a: 220a movs r2, #10 8044f3c: 701a strb r2, [r3, #0] 8044f3e: e01a b.n 8044f76 case DiagMax_IKD: menupos = DiagMax_IEE; break; 8044f40: 4b0e ldr r3, [pc, #56] ; (8044f7c ) 8044f42: 2209 movs r2, #9 8044f44: 701a strb r2, [r3, #0] 8044f46: e016 b.n 8044f76 case DiagMax_IEE: menupos = DiagMax_IED; break; 8044f48: 4b0c ldr r3, [pc, #48] ; (8044f7c ) 8044f4a: 2208 movs r2, #8 8044f4c: 701a strb r2, [r3, #0] 8044f4e: e012 b.n 8044f76 case DiagMax_IED: menupos = DiagMax_IES; break; 8044f50: 4b0a ldr r3, [pc, #40] ; (8044f7c ) 8044f52: 2207 movs r2, #7 8044f54: 701a strb r2, [r3, #0] 8044f56: e00e b.n 8044f76 case DiagMax_IES: menupos = DiagMax_IET; break; 8044f58: 4b08 ldr r3, [pc, #32] ; (8044f7c ) 8044f5a: 2206 movs r2, #6 8044f5c: 701a strb r2, [r3, #0] 8044f5e: e00a b.n 8044f76 case DiagMax_IET: menupos = DiagMax_IDT; break; 8044f60: 4b06 ldr r3, [pc, #24] ; (8044f7c ) 8044f62: 2205 movs r2, #5 8044f64: 701a strb r2, [r3, #0] 8044f66: e006 b.n 8044f76 case DiagSaveToFile: memset(DiagFileName, 0, sizeof(DiagFileName)); 8044f68: 2221 movs r2, #33 ; 0x21 8044f6a: 2100 movs r1, #0 8044f6c: 480c ldr r0, [pc, #48] ; (8044fa0 ) 8044f6e: f08d f819 bl 80d1fa4 break; 8044f72: e000 b.n 8044f76 break; 8044f74: bf00 nop } break; 8044f76: f002 bac4 b.w 8047502 8044f7a: bf00 nop 8044f7c: 20020070 .word 0x20020070 8044f80: 20020e00 .word 0x20020e00 8044f84: 20020e04 .word 0x20020e04 8044f88: 20020e2c .word 0x20020e2c 8044f8c: 20020e08 .word 0x20020e08 8044f90: 20026d64 .word 0x20026d64 8044f94: 20020fc5 .word 0x20020fc5 8044f98: 20020fd0 .word 0x20020fd0 8044f9c: 20023eb8 .word 0x20023eb8 8044fa0: 20020ea4 .word 0x20020ea4 case PARAM_DIAGN_1: //case ROUTE_MAP break; case PARAM_DIAGN_2: switch(menupos) 8044fa4: 4b6f ldr r3, [pc, #444] ; (8045164 ) 8044fa6: 781b ldrb r3, [r3, #0] 8044fa8: b2db uxtb r3, r3 8044faa: 3b01 subs r3, #1 8044fac: 2b23 cmp r3, #35 ; 0x23 8044fae: f202 82ab bhi.w 8047508 8044fb2: a201 add r2, pc, #4 ; (adr r2, 8044fb8 ) 8044fb4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8044fb8: 08045049 .word 0x08045049 8044fbc: 08045057 .word 0x08045057 8044fc0: 0804509f .word 0x0804509f 8044fc4: 080450ad .word 0x080450ad 8044fc8: 080450f3 .word 0x080450f3 8044fcc: 08047509 .word 0x08047509 8044fd0: 08045101 .word 0x08045101 8044fd4: 0804541d .word 0x0804541d 8044fd8: 0804558b .word 0x0804558b 8044fdc: 0804558b .word 0x0804558b 8044fe0: 0804558b .word 0x0804558b 8044fe4: 0804558b .word 0x0804558b 8044fe8: 08045593 .word 0x08045593 8044fec: 080455bb .word 0x080455bb 8044ff0: 080455b3 .word 0x080455b3 8044ff4: 080455ab .word 0x080455ab 8044ff8: 080455a3 .word 0x080455a3 8044ffc: 0804559b .word 0x0804559b 8045000: 080455c3 .word 0x080455c3 8045004: 080455eb .word 0x080455eb 8045008: 080455e3 .word 0x080455e3 804500c: 080455db .word 0x080455db 8045010: 080455d3 .word 0x080455d3 8045014: 080455cb .word 0x080455cb 8045018: 080455f3 .word 0x080455f3 804501c: 0804561b .word 0x0804561b 8045020: 08045613 .word 0x08045613 8045024: 0804560b .word 0x0804560b 8045028: 08045603 .word 0x08045603 804502c: 080455fb .word 0x080455fb 8045030: 08045623 .word 0x08045623 8045034: 0804564b .word 0x0804564b 8045038: 08045643 .word 0x08045643 804503c: 0804563b .word 0x0804563b 8045040: 08045633 .word 0x08045633 8045044: 0804562b .word 0x0804562b { case DiagUs1: menupos = DiagUs3; 8045048: 4b46 ldr r3, [pc, #280] ; (8045164 ) 804504a: 2205 movs r2, #5 804504c: 701a strb r2, [r3, #0] CURR_USL = Us3; 804504e: 4b46 ldr r3, [pc, #280] ; (8045168 ) 8045050: 2202 movs r2, #2 8045052: 701a strb r2, [r3, #0] break; 8045054: e2fd b.n 8045652 case DiagOp1: if(!focused) 8045056: 4b45 ldr r3, [pc, #276] ; (804516c ) 8045058: 781b ldrb r3, [r3, #0] 804505a: b2db uxtb r3, r3 804505c: f083 0301 eor.w r3, r3, #1 8045060: b2db uxtb r3, r3 8045062: 2b00 cmp r3, #0 8045064: d006 beq.n 8045074 { menupos = DiagUs1; 8045066: 4b3f ldr r3, [pc, #252] ; (8045164 ) 8045068: 2201 movs r2, #1 804506a: 701a strb r2, [r3, #0] CURR_USL = Us1; 804506c: 4b3e ldr r3, [pc, #248] ; (8045168 ) 804506e: 2200 movs r2, #0 8045070: 701a strb r2, [r3, #0] } else { pardata.DIAGN_OPER[CURR_POINT][Us1] ^= 0x1; } break; 8045072: e2ee b.n 8045652 pardata.DIAGN_OPER[CURR_POINT][Us1] ^= 0x1; 8045074: 4b3e ldr r3, [pc, #248] ; (8045170 ) 8045076: 781b ldrb r3, [r3, #0] 8045078: b2db uxtb r3, r3 804507a: 4618 mov r0, r3 804507c: 4a3d ldr r2, [pc, #244] ; (8045174 ) 804507e: 3386 adds r3, #134 ; 0x86 8045080: 009b lsls r3, r3, #2 8045082: 4413 add r3, r2 8045084: 791b ldrb r3, [r3, #4] 8045086: b2db uxtb r3, r3 8045088: f083 0301 eor.w r3, r3, #1 804508c: b2d9 uxtb r1, r3 804508e: 4a39 ldr r2, [pc, #228] ; (8045174 ) 8045090: f100 0386 add.w r3, r0, #134 ; 0x86 8045094: 009b lsls r3, r3, #2 8045096: 4413 add r3, r2 8045098: 460a mov r2, r1 804509a: 711a strb r2, [r3, #4] break; 804509c: e2d9 b.n 8045652 case DiagUs2: menupos = DiagOp1; 804509e: 4b31 ldr r3, [pc, #196] ; (8045164 ) 80450a0: 2202 movs r2, #2 80450a2: 701a strb r2, [r3, #0] CURR_USL = Us2; 80450a4: 4b30 ldr r3, [pc, #192] ; (8045168 ) 80450a6: 2201 movs r2, #1 80450a8: 701a strb r2, [r3, #0] break; 80450aa: e2d2 b.n 8045652 case DiagOp2: if(!focused) 80450ac: 4b2f ldr r3, [pc, #188] ; (804516c ) 80450ae: 781b ldrb r3, [r3, #0] 80450b0: b2db uxtb r3, r3 80450b2: f083 0301 eor.w r3, r3, #1 80450b6: b2db uxtb r3, r3 80450b8: 2b00 cmp r3, #0 80450ba: d006 beq.n 80450ca { menupos = DiagUs2; 80450bc: 4b29 ldr r3, [pc, #164] ; (8045164 ) 80450be: 2203 movs r2, #3 80450c0: 701a strb r2, [r3, #0] CURR_USL = Us2; 80450c2: 4b29 ldr r3, [pc, #164] ; (8045168 ) 80450c4: 2201 movs r2, #1 80450c6: 701a strb r2, [r3, #0] } else { pardata.DIAGN_OPER[CURR_POINT][Us2] ^= 0x1; } break; 80450c8: e2c3 b.n 8045652 pardata.DIAGN_OPER[CURR_POINT][Us2] ^= 0x1; 80450ca: 4b29 ldr r3, [pc, #164] ; (8045170 ) 80450cc: 781b ldrb r3, [r3, #0] 80450ce: b2db uxtb r3, r3 80450d0: 4618 mov r0, r3 80450d2: 4a28 ldr r2, [pc, #160] ; (8045174 ) 80450d4: 009b lsls r3, r3, #2 80450d6: 4413 add r3, r2 80450d8: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 80450dc: b2db uxtb r3, r3 80450de: f083 0301 eor.w r3, r3, #1 80450e2: b2d9 uxtb r1, r3 80450e4: 4a23 ldr r2, [pc, #140] ; (8045174 ) 80450e6: 0083 lsls r3, r0, #2 80450e8: 4413 add r3, r2 80450ea: 460a mov r2, r1 80450ec: f883 221d strb.w r2, [r3, #541] ; 0x21d break; 80450f0: e2af b.n 8045652 case DiagUs3: menupos = DiagOp2; 80450f2: 4b1c ldr r3, [pc, #112] ; (8045164 ) 80450f4: 2204 movs r2, #4 80450f6: 701a strb r2, [r3, #0] CURR_USL = Us3; 80450f8: 4b1b ldr r3, [pc, #108] ; (8045168 ) 80450fa: 2202 movs r2, #2 80450fc: 701a strb r2, [r3, #0] break; 80450fe: e2a8 b.n 8045652 case DiagAVS: if(focused) 8045100: 4b1a ldr r3, [pc, #104] ; (804516c ) 8045102: 781b ldrb r3, [r3, #0] 8045104: b2db uxtb r3, r3 8045106: 2b00 cmp r3, #0 8045108: f000 8184 beq.w 8045414 { tmp8 = pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7; 804510c: 4b18 ldr r3, [pc, #96] ; (8045170 ) 804510e: 781b ldrb r3, [r3, #0] 8045110: b2db uxtb r3, r3 8045112: 4618 mov r0, r3 8045114: 4b14 ldr r3, [pc, #80] ; (8045168 ) 8045116: 781b ldrb r3, [r3, #0] 8045118: b2db uxtb r3, r3 804511a: 4619 mov r1, r3 804511c: 4a15 ldr r2, [pc, #84] ; (8045174 ) 804511e: 0083 lsls r3, r0, #2 8045120: 4413 add r3, r2 8045122: 440b add r3, r1 8045124: f503 730f add.w r3, r3, #572 ; 0x23c 8045128: 781b ldrb r3, [r3, #0] 804512a: b2db uxtb r3, r3 804512c: f003 0307 and.w r3, r3, #7 8045130: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_NO) tmp8 = DIAGN_DIS; 8045134: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8045138: 2b00 cmp r3, #0 804513a: d103 bne.n 8045144 804513c: 2304 movs r3, #4 804513e: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8045142: e020 b.n 8045186 else if(tmp8 == DIAGN_DIS) tmp8 = DIAGN_VEL; 8045144: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8045148: 2b04 cmp r3, #4 804514a: d103 bne.n 8045154 804514c: 2302 movs r3, #2 804514e: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8045152: e018 b.n 8045186 else if(tmp8 == DIAGN_VEL) tmp8 = DIAGN_ACC; 8045154: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8045158: 2b02 cmp r3, #2 804515a: d10d bne.n 8045178 804515c: 2301 movs r3, #1 804515e: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8045162: e010 b.n 8045186 8045164: 20020070 .word 0x20020070 8045168: 2002105f .word 0x2002105f 804516c: 20020fd0 .word 0x20020fd0 8045170: 2002105d .word 0x2002105d 8045174: 20023eb8 .word 0x20023eb8 else if(tmp8 == DIAGN_ACC) tmp8 = DIAGN_NO; 8045178: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 804517c: 2b01 cmp r3, #1 804517e: d102 bne.n 8045186 8045180: 2300 movs r3, #0 8045182: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0xf8; 8045186: 4bc6 ldr r3, [pc, #792] ; (80454a0 ) 8045188: 781b ldrb r3, [r3, #0] 804518a: b2da uxtb r2, r3 804518c: 4614 mov r4, r2 804518e: 4bc5 ldr r3, [pc, #788] ; (80454a4 ) 8045190: 781b ldrb r3, [r3, #0] 8045192: b2db uxtb r3, r3 8045194: 4618 mov r0, r3 8045196: 4615 mov r5, r2 8045198: 4619 mov r1, r3 804519a: 4ac3 ldr r2, [pc, #780] ; (80454a8 ) 804519c: 00ab lsls r3, r5, #2 804519e: 4413 add r3, r2 80451a0: 440b add r3, r1 80451a2: f503 730f add.w r3, r3, #572 ; 0x23c 80451a6: 781b ldrb r3, [r3, #0] 80451a8: b2db uxtb r3, r3 80451aa: f023 0307 bic.w r3, r3, #7 80451ae: b2d9 uxtb r1, r3 80451b0: 4abd ldr r2, [pc, #756] ; (80454a8 ) 80451b2: 00a3 lsls r3, r4, #2 80451b4: 4413 add r3, r2 80451b6: 4403 add r3, r0 80451b8: f503 730f add.w r3, r3, #572 ; 0x23c 80451bc: 460a mov r2, r1 80451be: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= tmp8; 80451c0: 4bb7 ldr r3, [pc, #732] ; (80454a0 ) 80451c2: 781b ldrb r3, [r3, #0] 80451c4: b2da uxtb r2, r3 80451c6: 4614 mov r4, r2 80451c8: 4bb6 ldr r3, [pc, #728] ; (80454a4 ) 80451ca: 781b ldrb r3, [r3, #0] 80451cc: b2db uxtb r3, r3 80451ce: 4618 mov r0, r3 80451d0: 4615 mov r5, r2 80451d2: 4619 mov r1, r3 80451d4: 4ab4 ldr r2, [pc, #720] ; (80454a8 ) 80451d6: 00ab lsls r3, r5, #2 80451d8: 4413 add r3, r2 80451da: 440b add r3, r1 80451dc: f503 730f add.w r3, r3, #572 ; 0x23c 80451e0: 781b ldrb r3, [r3, #0] 80451e2: b2da uxtb r2, r3 80451e4: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80451e8: 4313 orrs r3, r2 80451ea: b2d9 uxtb r1, r3 80451ec: 4aae ldr r2, [pc, #696] ; (80454a8 ) 80451ee: 00a3 lsls r3, r4, #2 80451f0: 4413 add r3, r2 80451f2: 4403 add r3, r0 80451f4: f503 730f add.w r3, r3, #572 ; 0x23c 80451f8: 460a mov r2, r1 80451fa: 701a strb r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) > DIAGN_ACC) 80451fc: 4ba8 ldr r3, [pc, #672] ; (80454a0 ) 80451fe: 781b ldrb r3, [r3, #0] 8045200: b2db uxtb r3, r3 8045202: 4618 mov r0, r3 8045204: 4ba7 ldr r3, [pc, #668] ; (80454a4 ) 8045206: 781b ldrb r3, [r3, #0] 8045208: b2db uxtb r3, r3 804520a: 4619 mov r1, r3 804520c: 4aa6 ldr r2, [pc, #664] ; (80454a8 ) 804520e: 0083 lsls r3, r0, #2 8045210: 4413 add r3, r2 8045212: 440b add r3, r1 8045214: f503 730f add.w r3, r3, #572 ; 0x23c 8045218: 781b ldrb r3, [r3, #0] 804521a: b2db uxtb r3, r3 804521c: f003 0307 and.w r3, r3, #7 8045220: 2b01 cmp r3, #1 8045222: f340 8086 ble.w 8045332 { if(pardata.DIAGN_HP[CURR_POINT][CURR_USL] < 2.0f) 8045226: 4b9e ldr r3, [pc, #632] ; (80454a0 ) 8045228: 781b ldrb r3, [r3, #0] 804522a: b2db uxtb r3, r3 804522c: 4618 mov r0, r3 804522e: 4b9d ldr r3, [pc, #628] ; (80454a4 ) 8045230: 781b ldrb r3, [r3, #0] 8045232: b2db uxtb r3, r3 8045234: 4619 mov r1, r3 8045236: 4a9c ldr r2, [pc, #624] ; (80454a8 ) 8045238: 0083 lsls r3, r0, #2 804523a: 440b add r3, r1 804523c: 3396 adds r3, #150 ; 0x96 804523e: 009b lsls r3, r3, #2 8045240: 4413 add r3, r2 8045242: 3304 adds r3, #4 8045244: edd3 7a00 vldr s15, [r3] 8045248: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804524c: eef4 7ac7 vcmpe.f32 s15, s14 8045250: eef1 fa10 vmrs APSR_nzcv, fpscr 8045254: d511 bpl.n 804527a pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 2.0f; 8045256: 4b92 ldr r3, [pc, #584] ; (80454a0 ) 8045258: 781b ldrb r3, [r3, #0] 804525a: b2db uxtb r3, r3 804525c: 4618 mov r0, r3 804525e: 4b91 ldr r3, [pc, #580] ; (80454a4 ) 8045260: 781b ldrb r3, [r3, #0] 8045262: b2db uxtb r3, r3 8045264: 4619 mov r1, r3 8045266: 4a90 ldr r2, [pc, #576] ; (80454a8 ) 8045268: 0083 lsls r3, r0, #2 804526a: 440b add r3, r1 804526c: 3396 adds r3, #150 ; 0x96 804526e: 009b lsls r3, r3, #2 8045270: 4413 add r3, r2 8045272: 3304 adds r3, #4 8045274: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8045278: 601a str r2, [r3, #0] tmp8 = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 804527a: 4b89 ldr r3, [pc, #548] ; (80454a0 ) 804527c: 781b ldrb r3, [r3, #0] 804527e: b2db uxtb r3, r3 8045280: 4618 mov r0, r3 8045282: 4b88 ldr r3, [pc, #544] ; (80454a4 ) 8045284: 781b ldrb r3, [r3, #0] 8045286: b2db uxtb r3, r3 8045288: 4619 mov r1, r3 804528a: 4a87 ldr r2, [pc, #540] ; (80454a8 ) 804528c: 0083 lsls r3, r0, #2 804528e: 4413 add r3, r2 8045290: 440b add r3, r1 8045292: f503 730f add.w r3, r3, #572 ; 0x23c 8045296: 781b ldrb r3, [r3, #0] 8045298: b2db uxtb r3, r3 804529a: 08db lsrs r3, r3, #3 804529c: b2db uxtb r3, r3 804529e: f003 031f and.w r3, r3, #31 80452a2: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_EXCESS) { 80452a6: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80452aa: 2b10 cmp r3, #16 80452ac: d102 bne.n 80452b4 tmp8 = DIAGN_PEAK; 80452ae: 2301 movs r3, #1 80452b0: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 } pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0x7; 80452b4: 4b7a ldr r3, [pc, #488] ; (80454a0 ) 80452b6: 781b ldrb r3, [r3, #0] 80452b8: b2da uxtb r2, r3 80452ba: 4614 mov r4, r2 80452bc: 4b79 ldr r3, [pc, #484] ; (80454a4 ) 80452be: 781b ldrb r3, [r3, #0] 80452c0: b2db uxtb r3, r3 80452c2: 4618 mov r0, r3 80452c4: 4615 mov r5, r2 80452c6: 4619 mov r1, r3 80452c8: 4a77 ldr r2, [pc, #476] ; (80454a8 ) 80452ca: 00ab lsls r3, r5, #2 80452cc: 4413 add r3, r2 80452ce: 440b add r3, r1 80452d0: f503 730f add.w r3, r3, #572 ; 0x23c 80452d4: 781b ldrb r3, [r3, #0] 80452d6: b2db uxtb r3, r3 80452d8: f003 0307 and.w r3, r3, #7 80452dc: b2d9 uxtb r1, r3 80452de: 4a72 ldr r2, [pc, #456] ; (80454a8 ) 80452e0: 00a3 lsls r3, r4, #2 80452e2: 4413 add r3, r2 80452e4: 4403 add r3, r0 80452e6: f503 730f add.w r3, r3, #572 ; 0x23c 80452ea: 460a mov r2, r1 80452ec: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= ((tmp8 << 3) & 0xf8); 80452ee: 4b6c ldr r3, [pc, #432] ; (80454a0 ) 80452f0: 781b ldrb r3, [r3, #0] 80452f2: b2da uxtb r2, r3 80452f4: 4614 mov r4, r2 80452f6: 4b6b ldr r3, [pc, #428] ; (80454a4 ) 80452f8: 781b ldrb r3, [r3, #0] 80452fa: b2db uxtb r3, r3 80452fc: 4618 mov r0, r3 80452fe: 4615 mov r5, r2 8045300: 4619 mov r1, r3 8045302: 4a69 ldr r2, [pc, #420] ; (80454a8 ) 8045304: 00ab lsls r3, r5, #2 8045306: 4413 add r3, r2 8045308: 440b add r3, r1 804530a: f503 730f add.w r3, r3, #572 ; 0x23c 804530e: 781b ldrb r3, [r3, #0] 8045310: b2db uxtb r3, r3 8045312: b25a sxtb r2, r3 8045314: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8045318: 00db lsls r3, r3, #3 804531a: b25b sxtb r3, r3 804531c: 4313 orrs r3, r2 804531e: b25b sxtb r3, r3 8045320: b2d9 uxtb r1, r3 8045322: 4a61 ldr r2, [pc, #388] ; (80454a8 ) 8045324: 00a3 lsls r3, r4, #2 8045326: 4413 add r3, r2 8045328: 4403 add r3, r0 804532a: f503 730f add.w r3, r3, #572 ; 0x23c 804532e: 460a mov r2, r1 8045330: 701a strb r2, [r3, #0] } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.DIAGN_LP[CURR_POINT][CURR_USL]) + 0.00005f) < 5.0) 8045332: 4b5d ldr r3, [pc, #372] ; (80454a8 ) 8045334: 7adb ldrb r3, [r3, #11] 8045336: b2db uxtb r3, r3 8045338: 461a mov r2, r3 804533a: 4b5c ldr r3, [pc, #368] ; (80454ac ) 804533c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045340: ee07 3a90 vmov s15, r3 8045344: eeb8 5b67 vcvt.f64.u32 d5, s15 8045348: 4b55 ldr r3, [pc, #340] ; (80454a0 ) 804534a: 781b ldrb r3, [r3, #0] 804534c: b2db uxtb r3, r3 804534e: 4618 mov r0, r3 8045350: 4b54 ldr r3, [pc, #336] ; (80454a4 ) 8045352: 781b ldrb r3, [r3, #0] 8045354: b2db uxtb r3, r3 8045356: 4619 mov r1, r3 8045358: 4a53 ldr r2, [pc, #332] ; (80454a8 ) 804535a: 0083 lsls r3, r0, #2 804535c: 440b add r3, r1 804535e: 33b6 adds r3, #182 ; 0xb6 8045360: 009b lsls r3, r3, #2 8045362: 4413 add r3, r2 8045364: 3304 adds r3, #4 8045366: edd3 7a00 vldr s15, [r3] 804536a: eeb7 6ae7 vcvt.f64.f32 d6, s15 804536e: ee85 7b06 vdiv.f64 d7, d5, d6 8045372: ed9f 6b47 vldr d6, [pc, #284] ; 8045490 8045376: ee37 7b06 vadd.f64 d7, d7, d6 804537a: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 804537e: eeb4 7bc6 vcmpe.f64 d7, d6 8045382: eef1 fa10 vmrs APSR_nzcv, fpscr 8045386: d400 bmi.n 804538a pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001; } } else menupos = Ok; break; 8045388: e163 b.n 8045652 pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) (FS[pardata.FRQ] / 5); 804538a: 4b45 ldr r3, [pc, #276] ; (80454a0 ) 804538c: 781b ldrb r3, [r3, #0] 804538e: b2db uxtb r3, r3 8045390: 4618 mov r0, r3 8045392: 4b44 ldr r3, [pc, #272] ; (80454a4 ) 8045394: 781b ldrb r3, [r3, #0] 8045396: b2db uxtb r3, r3 8045398: 4619 mov r1, r3 804539a: 4b43 ldr r3, [pc, #268] ; (80454a8 ) 804539c: 7adb ldrb r3, [r3, #11] 804539e: b2db uxtb r3, r3 80453a0: 461a mov r2, r3 80453a2: 4b42 ldr r3, [pc, #264] ; (80454ac ) 80453a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80453a8: 4a41 ldr r2, [pc, #260] ; (80454b0 ) 80453aa: fba2 2303 umull r2, r3, r2, r3 80453ae: 089b lsrs r3, r3, #2 80453b0: ee07 3a90 vmov s15, r3 80453b4: eef8 7a67 vcvt.f32.u32 s15, s15 80453b8: 4a3b ldr r2, [pc, #236] ; (80454a8 ) 80453ba: 0083 lsls r3, r0, #2 80453bc: 440b add r3, r1 80453be: 33b6 adds r3, #182 ; 0xb6 80453c0: 009b lsls r3, r3, #2 80453c2: 4413 add r3, r2 80453c4: 3304 adds r3, #4 80453c6: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001; 80453ca: 4b35 ldr r3, [pc, #212] ; (80454a0 ) 80453cc: 781b ldrb r3, [r3, #0] 80453ce: b2da uxtb r2, r3 80453d0: 4610 mov r0, r2 80453d2: 4b34 ldr r3, [pc, #208] ; (80454a4 ) 80453d4: 781b ldrb r3, [r3, #0] 80453d6: b2db uxtb r3, r3 80453d8: 4619 mov r1, r3 80453da: 4615 mov r5, r2 80453dc: 461c mov r4, r3 80453de: 4a32 ldr r2, [pc, #200] ; (80454a8 ) 80453e0: 00ab lsls r3, r5, #2 80453e2: 4423 add r3, r4 80453e4: 33b6 adds r3, #182 ; 0xb6 80453e6: 009b lsls r3, r3, #2 80453e8: 4413 add r3, r2 80453ea: 3304 adds r3, #4 80453ec: edd3 7a00 vldr s15, [r3] 80453f0: eeb7 7ae7 vcvt.f64.f32 d7, s15 80453f4: ed9f 6b28 vldr d6, [pc, #160] ; 8045498 80453f8: ee37 7b06 vadd.f64 d7, d7, d6 80453fc: eef7 7bc7 vcvt.f32.f64 s15, d7 8045400: 4a29 ldr r2, [pc, #164] ; (80454a8 ) 8045402: 0083 lsls r3, r0, #2 8045404: 440b add r3, r1 8045406: 33b6 adds r3, #182 ; 0xb6 8045408: 009b lsls r3, r3, #2 804540a: 4413 add r3, r2 804540c: 3304 adds r3, #4 804540e: edc3 7a00 vstr s15, [r3] break; 8045412: e11e b.n 8045652 menupos = Ok; 8045414: 4b27 ldr r3, [pc, #156] ; (80454b4 ) 8045416: 2200 movs r2, #0 8045418: 701a strb r2, [r3, #0] break; 804541a: e11a b.n 8045652 case DiagValue: if(focused) 804541c: 4b26 ldr r3, [pc, #152] ; (80454b8 ) 804541e: 781b ldrb r3, [r3, #0] 8045420: b2db uxtb r3, r3 8045422: 2b00 cmp r3, #0 8045424: f000 80ad beq.w 8045582 { tmp8 = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 8045428: 4b1d ldr r3, [pc, #116] ; (80454a0 ) 804542a: 781b ldrb r3, [r3, #0] 804542c: b2db uxtb r3, r3 804542e: 4618 mov r0, r3 8045430: 4b1c ldr r3, [pc, #112] ; (80454a4 ) 8045432: 781b ldrb r3, [r3, #0] 8045434: b2db uxtb r3, r3 8045436: 4619 mov r1, r3 8045438: 4a1b ldr r2, [pc, #108] ; (80454a8 ) 804543a: 0083 lsls r3, r0, #2 804543c: 4413 add r3, r2 804543e: 440b add r3, r1 8045440: f503 730f add.w r3, r3, #572 ; 0x23c 8045444: 781b ldrb r3, [r3, #0] 8045446: b2db uxtb r3, r3 8045448: 08db lsrs r3, r3, #3 804544a: b2db uxtb r3, r3 804544c: f003 031f and.w r3, r3, #31 8045450: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_PEAK) 8045454: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8045458: 2b01 cmp r3, #1 804545a: d133 bne.n 80454c4 { if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 804545c: 4b10 ldr r3, [pc, #64] ; (80454a0 ) 804545e: 781b ldrb r3, [r3, #0] 8045460: b2db uxtb r3, r3 8045462: 4618 mov r0, r3 8045464: 4b0f ldr r3, [pc, #60] ; (80454a4 ) 8045466: 781b ldrb r3, [r3, #0] 8045468: b2db uxtb r3, r3 804546a: 4619 mov r1, r3 804546c: 4a0e ldr r2, [pc, #56] ; (80454a8 ) 804546e: 0083 lsls r3, r0, #2 8045470: 4413 add r3, r2 8045472: 440b add r3, r1 8045474: f503 730f add.w r3, r3, #572 ; 0x23c 8045478: 781b ldrb r3, [r3, #0] 804547a: b2db uxtb r3, r3 804547c: f003 0307 and.w r3, r3, #7 8045480: 2b01 cmp r3, #1 8045482: d11b bne.n 80454bc tmp8 = DIAGN_EXCESS; 8045484: 2310 movs r3, #16 8045486: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804548a: e03a b.n 8045502 804548c: f3af 8000 nop.w 8045490: e0000000 .word 0xe0000000 8045494: 3f0a36e2 .word 0x3f0a36e2 8045498: eb1c432d .word 0xeb1c432d 804549c: 3f1a36e2 .word 0x3f1a36e2 80454a0: 2002105d .word 0x2002105d 80454a4: 2002105f .word 0x2002105f 80454a8: 20023eb8 .word 0x20023eb8 80454ac: 080f5268 .word 0x080f5268 80454b0: cccccccd .word 0xcccccccd 80454b4: 20020070 .word 0x20020070 80454b8: 20020fd0 .word 0x20020fd0 else tmp8 = DIAGN_PEAK_FACTOR; 80454bc: 2308 movs r3, #8 80454be: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80454c2: e01e b.n 8045502 } else if(tmp8 == DIAGN_EXCESS) tmp8 = DIAGN_PEAK_FACTOR; 80454c4: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80454c8: 2b10 cmp r3, #16 80454ca: d103 bne.n 80454d4 80454cc: 2308 movs r3, #8 80454ce: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80454d2: e016 b.n 8045502 else if(tmp8 == DIAGN_PEAK_FACTOR) tmp8 = DIAGN_PEAK_TO_PEAK; 80454d4: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80454d8: 2b08 cmp r3, #8 80454da: d103 bne.n 80454e4 80454dc: 2304 movs r3, #4 80454de: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80454e2: e00e b.n 8045502 else if(tmp8 == DIAGN_PEAK_TO_PEAK) tmp8 = DIAGN_RMS; 80454e4: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80454e8: 2b04 cmp r3, #4 80454ea: d103 bne.n 80454f4 80454ec: 2302 movs r3, #2 80454ee: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80454f2: e006 b.n 8045502 else if(tmp8 == DIAGN_RMS) tmp8 = DIAGN_PEAK; 80454f4: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80454f8: 2b02 cmp r3, #2 80454fa: d102 bne.n 8045502 80454fc: 2301 movs r3, #1 80454fe: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0x7; 8045502: 4b8c ldr r3, [pc, #560] ; (8045734 ) 8045504: 781b ldrb r3, [r3, #0] 8045506: b2da uxtb r2, r3 8045508: 4614 mov r4, r2 804550a: 4b8b ldr r3, [pc, #556] ; (8045738 ) 804550c: 781b ldrb r3, [r3, #0] 804550e: b2db uxtb r3, r3 8045510: 4618 mov r0, r3 8045512: 4615 mov r5, r2 8045514: 4619 mov r1, r3 8045516: 4a89 ldr r2, [pc, #548] ; (804573c ) 8045518: 00ab lsls r3, r5, #2 804551a: 4413 add r3, r2 804551c: 440b add r3, r1 804551e: f503 730f add.w r3, r3, #572 ; 0x23c 8045522: 781b ldrb r3, [r3, #0] 8045524: b2db uxtb r3, r3 8045526: f003 0307 and.w r3, r3, #7 804552a: b2d9 uxtb r1, r3 804552c: 4a83 ldr r2, [pc, #524] ; (804573c ) 804552e: 00a3 lsls r3, r4, #2 8045530: 4413 add r3, r2 8045532: 4403 add r3, r0 8045534: f503 730f add.w r3, r3, #572 ; 0x23c 8045538: 460a mov r2, r1 804553a: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= ((tmp8 << 3) & 0xf8); 804553c: 4b7d ldr r3, [pc, #500] ; (8045734 ) 804553e: 781b ldrb r3, [r3, #0] 8045540: b2da uxtb r2, r3 8045542: 4614 mov r4, r2 8045544: 4b7c ldr r3, [pc, #496] ; (8045738 ) 8045546: 781b ldrb r3, [r3, #0] 8045548: b2db uxtb r3, r3 804554a: 4618 mov r0, r3 804554c: 4615 mov r5, r2 804554e: 4619 mov r1, r3 8045550: 4a7a ldr r2, [pc, #488] ; (804573c ) 8045552: 00ab lsls r3, r5, #2 8045554: 4413 add r3, r2 8045556: 440b add r3, r1 8045558: f503 730f add.w r3, r3, #572 ; 0x23c 804555c: 781b ldrb r3, [r3, #0] 804555e: b2db uxtb r3, r3 8045560: b25a sxtb r2, r3 8045562: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8045566: 00db lsls r3, r3, #3 8045568: b25b sxtb r3, r3 804556a: 4313 orrs r3, r2 804556c: b25b sxtb r3, r3 804556e: b2d9 uxtb r1, r3 8045570: 4a72 ldr r2, [pc, #456] ; (804573c ) 8045572: 00a3 lsls r3, r4, #2 8045574: 4413 add r3, r2 8045576: 4403 add r3, r0 8045578: f503 730f add.w r3, r3, #572 ; 0x23c 804557c: 460a mov r2, r1 804557e: 701a strb r2, [r3, #0] } else menupos = Ok; break; 8045580: e067 b.n 8045652 menupos = Ok; 8045582: 4b6f ldr r3, [pc, #444] ; (8045740 ) 8045584: 2200 movs r2, #0 8045586: 701a strb r2, [r3, #0] break; 8045588: e063 b.n 8045652 case DiagHP: case DiagLP: case Diag_W: case Diag_A: menupos = Ok; 804558a: 4b6d ldr r3, [pc, #436] ; (8045740 ) 804558c: 2200 movs r2, #0 804558e: 701a strb r2, [r3, #0] break; 8045590: e05f b.n 8045652 case DiagHP_IDT: menupos = DiagHP_IKD; break; 8045592: 4b6b ldr r3, [pc, #428] ; (8045740 ) 8045594: 2212 movs r2, #18 8045596: 701a strb r2, [r3, #0] 8045598: e05b b.n 8045652 case DiagHP_IKD: menupos = DiagHP_IEE; break; 804559a: 4b69 ldr r3, [pc, #420] ; (8045740 ) 804559c: 2211 movs r2, #17 804559e: 701a strb r2, [r3, #0] 80455a0: e057 b.n 8045652 case DiagHP_IEE: menupos = DiagHP_IED; break; 80455a2: 4b67 ldr r3, [pc, #412] ; (8045740 ) 80455a4: 2210 movs r2, #16 80455a6: 701a strb r2, [r3, #0] 80455a8: e053 b.n 8045652 case DiagHP_IED: menupos = DiagHP_IES; break; 80455aa: 4b65 ldr r3, [pc, #404] ; (8045740 ) 80455ac: 220f movs r2, #15 80455ae: 701a strb r2, [r3, #0] 80455b0: e04f b.n 8045652 case DiagHP_IES: menupos = DiagHP_IET; break; 80455b2: 4b63 ldr r3, [pc, #396] ; (8045740 ) 80455b4: 220e movs r2, #14 80455b6: 701a strb r2, [r3, #0] 80455b8: e04b b.n 8045652 case DiagHP_IET: menupos = DiagHP_IDT; break; 80455ba: 4b61 ldr r3, [pc, #388] ; (8045740 ) 80455bc: 220d movs r2, #13 80455be: 701a strb r2, [r3, #0] 80455c0: e047 b.n 8045652 case DiagLP_IDT: menupos = DiagLP_IKD; break; 80455c2: 4b5f ldr r3, [pc, #380] ; (8045740 ) 80455c4: 2218 movs r2, #24 80455c6: 701a strb r2, [r3, #0] 80455c8: e043 b.n 8045652 case DiagLP_IKD: menupos = DiagLP_IEE; break; 80455ca: 4b5d ldr r3, [pc, #372] ; (8045740 ) 80455cc: 2217 movs r2, #23 80455ce: 701a strb r2, [r3, #0] 80455d0: e03f b.n 8045652 case DiagLP_IEE: menupos = DiagLP_IED; break; 80455d2: 4b5b ldr r3, [pc, #364] ; (8045740 ) 80455d4: 2216 movs r2, #22 80455d6: 701a strb r2, [r3, #0] 80455d8: e03b b.n 8045652 case DiagLP_IED: menupos = DiagLP_IES; break; 80455da: 4b59 ldr r3, [pc, #356] ; (8045740 ) 80455dc: 2215 movs r2, #21 80455de: 701a strb r2, [r3, #0] 80455e0: e037 b.n 8045652 case DiagLP_IES: menupos = DiagLP_IET; break; 80455e2: 4b57 ldr r3, [pc, #348] ; (8045740 ) 80455e4: 2214 movs r2, #20 80455e6: 701a strb r2, [r3, #0] 80455e8: e033 b.n 8045652 case DiagLP_IET: menupos = DiagLP_IDT; break; 80455ea: 4b55 ldr r3, [pc, #340] ; (8045740 ) 80455ec: 2213 movs r2, #19 80455ee: 701a strb r2, [r3, #0] 80455f0: e02f b.n 8045652 case DiagW_IDT: menupos = DiagW_IKD; break; 80455f2: 4b53 ldr r3, [pc, #332] ; (8045740 ) 80455f4: 221e movs r2, #30 80455f6: 701a strb r2, [r3, #0] 80455f8: e02b b.n 8045652 case DiagW_IKD: menupos = DiagW_IEE; break; 80455fa: 4b51 ldr r3, [pc, #324] ; (8045740 ) 80455fc: 221d movs r2, #29 80455fe: 701a strb r2, [r3, #0] 8045600: e027 b.n 8045652 case DiagW_IEE: menupos = DiagW_IED; break; 8045602: 4b4f ldr r3, [pc, #316] ; (8045740 ) 8045604: 221c movs r2, #28 8045606: 701a strb r2, [r3, #0] 8045608: e023 b.n 8045652 case DiagW_IED: menupos = DiagW_IES; break; 804560a: 4b4d ldr r3, [pc, #308] ; (8045740 ) 804560c: 221b movs r2, #27 804560e: 701a strb r2, [r3, #0] 8045610: e01f b.n 8045652 case DiagW_IES: menupos = DiagW_IET; break; 8045612: 4b4b ldr r3, [pc, #300] ; (8045740 ) 8045614: 221a movs r2, #26 8045616: 701a strb r2, [r3, #0] 8045618: e01b b.n 8045652 case DiagW_IET: menupos = DiagW_IDT; break; 804561a: 4b49 ldr r3, [pc, #292] ; (8045740 ) 804561c: 2219 movs r2, #25 804561e: 701a strb r2, [r3, #0] 8045620: e017 b.n 8045652 case DiagA_IDT: menupos = DiagA_IKD; break; 8045622: 4b47 ldr r3, [pc, #284] ; (8045740 ) 8045624: 2224 movs r2, #36 ; 0x24 8045626: 701a strb r2, [r3, #0] 8045628: e013 b.n 8045652 case DiagA_IKD: menupos = DiagA_IEE; break; 804562a: 4b45 ldr r3, [pc, #276] ; (8045740 ) 804562c: 2223 movs r2, #35 ; 0x23 804562e: 701a strb r2, [r3, #0] 8045630: e00f b.n 8045652 case DiagA_IEE: menupos = DiagA_IED; break; 8045632: 4b43 ldr r3, [pc, #268] ; (8045740 ) 8045634: 2222 movs r2, #34 ; 0x22 8045636: 701a strb r2, [r3, #0] 8045638: e00b b.n 8045652 case DiagA_IED: menupos = DiagA_IES; break; 804563a: 4b41 ldr r3, [pc, #260] ; (8045740 ) 804563c: 2221 movs r2, #33 ; 0x21 804563e: 701a strb r2, [r3, #0] 8045640: e007 b.n 8045652 case DiagA_IES: menupos = DiagA_IET; break; 8045642: 4b3f ldr r3, [pc, #252] ; (8045740 ) 8045644: 2220 movs r2, #32 8045646: 701a strb r2, [r3, #0] 8045648: e003 b.n 8045652 case DiagA_IET: menupos = DiagA_IDT; break; 804564a: 4b3d ldr r3, [pc, #244] ; (8045740 ) 804564c: 221f movs r2, #31 804564e: 701a strb r2, [r3, #0] 8045650: bf00 nop } break; 8045652: f001 bf59 b.w 8047508 case TREND_A: case TREND_V: case TREND_S: if(menupos > Trend_pk) menupos--; 8045656: 4b3a ldr r3, [pc, #232] ; (8045740 ) 8045658: 781b ldrb r3, [r3, #0] 804565a: b2db uxtb r3, r3 804565c: 2b00 cmp r3, #0 804565e: d008 beq.n 8045672 8045660: 4b37 ldr r3, [pc, #220] ; (8045740 ) 8045662: 781b ldrb r3, [r3, #0] 8045664: b2db uxtb r3, r3 8045666: 3b01 subs r3, #1 8045668: b2da uxtb r2, r3 804566a: 4b35 ldr r3, [pc, #212] ; (8045740 ) 804566c: 701a strb r2, [r3, #0] else menupos = Trend_excess; break; 804566e: f001 bf91 b.w 8047594 else menupos = Trend_excess; 8045672: 4b33 ldr r3, [pc, #204] ; (8045740 ) 8045674: 2204 movs r2, #4 8045676: 701a strb r2, [r3, #0] break; 8045678: f001 bf8c b.w 8047594 case MAIN_UDAR: break; case MAIN_DIAGN: switch(menupos) 804567c: 4b30 ldr r3, [pc, #192] ; (8045740 ) 804567e: 781b ldrb r3, [r3, #0] 8045680: b2db uxtb r3, r3 8045682: 2b04 cmp r3, #4 8045684: f201 8743 bhi.w 804750e 8045688: a201 add r2, pc, #4 ; (adr r2, 8045690 ) 804568a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804568e: bf00 nop 8045690: 080456a5 .word 0x080456a5 8045694: 0804750f .word 0x0804750f 8045698: 080456ad .word 0x080456ad 804569c: 080456bd .word 0x080456bd 80456a0: 080456b5 .word 0x080456b5 { case StartStop: menupos = Record; break; 80456a4: 4b26 ldr r3, [pc, #152] ; (8045740 ) 80456a6: 2202 movs r2, #2 80456a8: 701a strb r2, [r3, #0] 80456aa: e00b b.n 80456c4 case Record: menupos = MyMeasure; break; 80456ac: 4b24 ldr r3, [pc, #144] ; (8045740 ) 80456ae: 2204 movs r2, #4 80456b0: 701a strb r2, [r3, #0] 80456b2: e007 b.n 80456c4 case MyMeasure: menupos = MyPoint; break; 80456b4: 4b22 ldr r3, [pc, #136] ; (8045740 ) 80456b6: 2203 movs r2, #3 80456b8: 701a strb r2, [r3, #0] 80456ba: e003 b.n 80456c4 case MyPoint: menupos = StartStop; break; 80456bc: 4b20 ldr r3, [pc, #128] ; (8045740 ) 80456be: 2200 movs r2, #0 80456c0: 701a strb r2, [r3, #0] 80456c2: bf00 nop } break; 80456c4: f001 bf23 b.w 804750e case MAIN: case MAIN_FRAN: switch(menupos) 80456c8: 4b1d ldr r3, [pc, #116] ; (8045740 ) 80456ca: 781b ldrb r3, [r3, #0] 80456cc: b2db uxtb r3, r3 80456ce: 2b06 cmp r3, #6 80456d0: f201 8720 bhi.w 8047514 80456d4: a201 add r2, pc, #4 ; (adr r2, 80456dc ) 80456d6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80456da: bf00 nop 80456dc: 080456f9 .word 0x080456f9 80456e0: 08047515 .word 0x08047515 80456e4: 08045701 .word 0x08045701 80456e8: 08045711 .word 0x08045711 80456ec: 08045709 .word 0x08045709 80456f0: 08047515 .word 0x08047515 80456f4: 08045719 .word 0x08045719 { case StartStop: menupos = Record; break; 80456f8: 4b11 ldr r3, [pc, #68] ; (8045740 ) 80456fa: 2202 movs r2, #2 80456fc: 701a strb r2, [r3, #0] 80456fe: e00f b.n 8045720 case Record: menupos = MyMeasure; break; 8045700: 4b0f ldr r3, [pc, #60] ; (8045740 ) 8045702: 2204 movs r2, #4 8045704: 701a strb r2, [r3, #0] 8045706: e00b b.n 8045720 case MyMeasure: menupos = MyPoint; break; 8045708: 4b0d ldr r3, [pc, #52] ; (8045740 ) 804570a: 2203 movs r2, #3 804570c: 701a strb r2, [r3, #0] 804570e: e007 b.n 8045720 case MyPoint: menupos = MyLinLog; break; 8045710: 4b0b ldr r3, [pc, #44] ; (8045740 ) 8045712: 2206 movs r2, #6 8045714: 701a strb r2, [r3, #0] 8045716: e003 b.n 8045720 case MyLinLog: menupos = StartStop; break; 8045718: 4b09 ldr r3, [pc, #36] ; (8045740 ) 804571a: 2200 movs r2, #0 804571c: 701a strb r2, [r3, #0] 804571e: bf00 nop } break; 8045720: f001 bef8 b.w 8047514 case MAIN_OSC: switch(menupos) 8045724: 4b06 ldr r3, [pc, #24] ; (8045740 ) 8045726: 781b ldrb r3, [r3, #0] 8045728: b2db uxtb r3, r3 804572a: 2b06 cmp r3, #6 804572c: d00a beq.n 8045744 rX = X0 + k * multA_u16; CURSOR = (Mpos - X0) / multA_u16; } break; } break; 804572e: f001 bf31 b.w 8047594 8045732: bf00 nop 8045734: 2002105d .word 0x2002105d 8045738: 2002105f .word 0x2002105f 804573c: 20023eb8 .word 0x20023eb8 8045740: 20020070 .word 0x20020070 lvl_0 = 0; 8045744: 2300 movs r3, #0 8045746: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 multA_u16 = Avg[0][5 * ViewLevel + pardata.LNE]; 804574a: 4ba9 ldr r3, [pc, #676] ; (80459f0 ) 804574c: 781b ldrb r3, [r3, #0] 804574e: b2db uxtb r3, r3 8045750: 461a mov r2, r3 8045752: 4613 mov r3, r2 8045754: 009b lsls r3, r3, #2 8045756: 4413 add r3, r2 8045758: 4aa6 ldr r2, [pc, #664] ; (80459f4 ) 804575a: 79d2 ldrb r2, [r2, #7] 804575c: b2d2 uxtb r2, r2 804575e: 4413 add r3, r2 8045760: 4aa5 ldr r2, [pc, #660] ; (80459f8 ) 8045762: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8045766: f8a7 309e strh.w r3, [r7, #158] ; 0x9e i = 1; 804576a: 2301 movs r3, #1 804576c: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 k = 256; 8045770: f44f 7380 mov.w r3, #256 ; 0x100 8045774: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 d = 192 * multA_u16; 8045778: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804577c: 4613 mov r3, r2 804577e: 005b lsls r3, r3, #1 8045780: 4413 add r3, r2 8045782: 019b lsls r3, r3, #6 8045784: f8c7 30bc str.w r3, [r7, #188] ; 0xbc j = k * Avg[0][5 * lvl_0 + pardata.LNE] - Avg[0][5 * ViewLevel + pardata.LNE]; 8045788: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804578c: 4613 mov r3, r2 804578e: 009b lsls r3, r3, #2 8045790: 4413 add r3, r2 8045792: 4a98 ldr r2, [pc, #608] ; (80459f4 ) 8045794: 79d2 ldrb r2, [r2, #7] 8045796: b2d2 uxtb r2, r2 8045798: 4413 add r3, r2 804579a: 4a97 ldr r2, [pc, #604] ; (80459f8 ) 804579c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80457a0: 461a mov r2, r3 80457a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80457a6: fb03 f202 mul.w r2, r3, r2 80457aa: 4b91 ldr r3, [pc, #580] ; (80459f0 ) 80457ac: 781b ldrb r3, [r3, #0] 80457ae: b2db uxtb r3, r3 80457b0: 4619 mov r1, r3 80457b2: 460b mov r3, r1 80457b4: 009b lsls r3, r3, #2 80457b6: 440b add r3, r1 80457b8: 498e ldr r1, [pc, #568] ; (80459f4 ) 80457ba: 79c9 ldrb r1, [r1, #7] 80457bc: b2c9 uxtb r1, r1 80457be: 440b add r3, r1 80457c0: 498d ldr r1, [pc, #564] ; (80459f8 ) 80457c2: f831 3013 ldrh.w r3, [r1, r3, lsl #1] 80457c6: 1ad3 subs r3, r2, r3 80457c8: f8c7 3098 str.w r3, [r7, #152] ; 0x98 multB_u16 = i * multA_u16; 80457cc: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80457d0: b29b uxth r3, r3 80457d2: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 80457d6: fb12 f303 smulbb r3, r2, r3 80457da: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(multB_u16 >= Mpos) 80457de: 4b87 ldr r3, [pc, #540] ; (80459fc ) 80457e0: 881b ldrh r3, [r3, #0] 80457e2: b29b uxth r3, r3 80457e4: f8b7 2096 ldrh.w r2, [r7, #150] ; 0x96 80457e8: 429a cmp r2, r3 80457ea: d318 bcc.n 804581e CURSOR = 0; 80457ec: 4b84 ldr r3, [pc, #528] ; (8045a00 ) 80457ee: 2200 movs r2, #0 80457f0: 601a str r2, [r3, #0] X0 = 0; 80457f2: 4b84 ldr r3, [pc, #528] ; (8045a04 ) 80457f4: 2200 movs r2, #0 80457f6: 801a strh r2, [r3, #0] lX = X0; 80457f8: 4b82 ldr r3, [pc, #520] ; (8045a04 ) 80457fa: 881b ldrh r3, [r3, #0] 80457fc: b29a uxth r2, r3 80457fe: 4b82 ldr r3, [pc, #520] ; (8045a08 ) 8045800: 801a strh r2, [r3, #0] rX = k * multA_u16; 8045802: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045806: b29b uxth r3, r3 8045808: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804580c: fb12 f303 smulbb r3, r2, r3 8045810: b29a uxth r2, r3 8045812: 4b7e ldr r3, [pc, #504] ; (8045a0c ) 8045814: 801a strh r2, [r3, #0] Mpos = 0; 8045816: 4b79 ldr r3, [pc, #484] ; (80459fc ) 8045818: 2200 movs r2, #0 804581a: 801a strh r2, [r3, #0] break; 804581c: e049 b.n 80458b2 Mpos -= multB_u16; 804581e: 4b77 ldr r3, [pc, #476] ; (80459fc ) 8045820: 881b ldrh r3, [r3, #0] 8045822: b29a uxth r2, r3 8045824: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8045828: 1ad3 subs r3, r2, r3 804582a: b29a uxth r2, r3 804582c: 4b73 ldr r3, [pc, #460] ; (80459fc ) 804582e: 801a strh r2, [r3, #0] if(X0 > Mpos) 8045830: 4b74 ldr r3, [pc, #464] ; (8045a04 ) 8045832: 881b ldrh r3, [r3, #0] 8045834: b29a uxth r2, r3 8045836: 4b71 ldr r3, [pc, #452] ; (80459fc ) 8045838: 881b ldrh r3, [r3, #0] 804583a: b29b uxth r3, r3 804583c: 429a cmp r2, r3 804583e: d915 bls.n 804586c if(Mpos >= d) 8045840: 4b6e ldr r3, [pc, #440] ; (80459fc ) 8045842: 881b ldrh r3, [r3, #0] 8045844: b29b uxth r3, r3 8045846: 461a mov r2, r3 8045848: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 804584c: 429a cmp r2, r3 804584e: d30a bcc.n 8045866 X0 -= d; 8045850: 4b6c ldr r3, [pc, #432] ; (8045a04 ) 8045852: 881b ldrh r3, [r3, #0] 8045854: b29a uxth r2, r3 8045856: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 804585a: b29b uxth r3, r3 804585c: 1ad3 subs r3, r2, r3 804585e: b29a uxth r2, r3 8045860: 4b68 ldr r3, [pc, #416] ; (8045a04 ) 8045862: 801a strh r2, [r3, #0] 8045864: e002 b.n 804586c else X0 = 0; 8045866: 4b67 ldr r3, [pc, #412] ; (8045a04 ) 8045868: 2200 movs r2, #0 804586a: 801a strh r2, [r3, #0] lX = X0; 804586c: 4b65 ldr r3, [pc, #404] ; (8045a04 ) 804586e: 881b ldrh r3, [r3, #0] 8045870: b29a uxth r2, r3 8045872: 4b65 ldr r3, [pc, #404] ; (8045a08 ) 8045874: 801a strh r2, [r3, #0] rX = X0 + k * multA_u16; 8045876: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804587a: b29b uxth r3, r3 804587c: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8045880: fb12 f303 smulbb r3, r2, r3 8045884: b29a uxth r2, r3 8045886: 4b5f ldr r3, [pc, #380] ; (8045a04 ) 8045888: 881b ldrh r3, [r3, #0] 804588a: b29b uxth r3, r3 804588c: 4413 add r3, r2 804588e: b29a uxth r2, r3 8045890: 4b5e ldr r3, [pc, #376] ; (8045a0c ) 8045892: 801a strh r2, [r3, #0] CURSOR = (Mpos - X0) / multA_u16; 8045894: 4b59 ldr r3, [pc, #356] ; (80459fc ) 8045896: 881b ldrh r3, [r3, #0] 8045898: b29b uxth r3, r3 804589a: 461a mov r2, r3 804589c: 4b59 ldr r3, [pc, #356] ; (8045a04 ) 804589e: 881b ldrh r3, [r3, #0] 80458a0: b29b uxth r3, r3 80458a2: 1ad2 subs r2, r2, r3 80458a4: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 80458a8: fb92 f3f3 sdiv r3, r2, r3 80458ac: 461a mov r2, r3 80458ae: 4b54 ldr r3, [pc, #336] ; (8045a00 ) 80458b0: 601a str r2, [r3, #0] break; 80458b2: bf00 nop break; 80458b4: f001 be6e b.w 8047594 case MAIN_ROLL: case VIEW_PORTRET: case MAIN_SPEC: case MAIN_SPEC_OGIB: switch(menupos) 80458b8: 4b55 ldr r3, [pc, #340] ; (8045a10 ) 80458ba: 781b ldrb r3, [r3, #0] 80458bc: b2db uxtb r3, r3 80458be: 2b06 cmp r3, #6 80458c0: d001 beq.n 80458c6 rX = X0 + k * multA_u16; CURSOR = (Mpos - X0) / multA_u16; } break; } break; 80458c2: f001 be67 b.w 8047594 lvl_0 = 0; 80458c6: 2300 movs r3, #0 80458c8: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 80458cc: 4b48 ldr r3, [pc, #288] ; (80459f0 ) 80458ce: 781b ldrb r3, [r3, #0] 80458d0: b2db uxtb r3, r3 80458d2: 461a mov r2, r3 80458d4: 4613 mov r3, r2 80458d6: 009b lsls r3, r3, #2 80458d8: 4413 add r3, r2 80458da: 4a46 ldr r2, [pc, #280] ; (80459f4 ) 80458dc: 79d2 ldrb r2, [r2, #7] 80458de: b2d2 uxtb r2, r2 80458e0: 4413 add r3, r2 80458e2: 4a45 ldr r2, [pc, #276] ; (80459f8 ) 80458e4: 3323 adds r3, #35 ; 0x23 80458e6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80458ea: f8a7 309e strh.w r3, [r7, #158] ; 0x9e i = 1; 80458ee: 2301 movs r3, #1 80458f0: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 k = 256; 80458f4: f44f 7380 mov.w r3, #256 ; 0x100 80458f8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 d = 192 * multA_u16; 80458fc: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8045900: 4613 mov r3, r2 8045902: 005b lsls r3, r3, #1 8045904: 4413 add r3, r2 8045906: 019b lsls r3, r3, #6 8045908: f8c7 30bc str.w r3, [r7, #188] ; 0xbc j = k * Avg[1][5 * lvl_0 + pardata.LNE] - Avg[1][5 * ViewLevel + pardata.LNE]; 804590c: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8045910: 4613 mov r3, r2 8045912: 009b lsls r3, r3, #2 8045914: 4413 add r3, r2 8045916: 4a37 ldr r2, [pc, #220] ; (80459f4 ) 8045918: 79d2 ldrb r2, [r2, #7] 804591a: b2d2 uxtb r2, r2 804591c: 4413 add r3, r2 804591e: 4a36 ldr r2, [pc, #216] ; (80459f8 ) 8045920: 3323 adds r3, #35 ; 0x23 8045922: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8045926: 461a mov r2, r3 8045928: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804592c: fb03 f202 mul.w r2, r3, r2 8045930: 4b2f ldr r3, [pc, #188] ; (80459f0 ) 8045932: 781b ldrb r3, [r3, #0] 8045934: b2db uxtb r3, r3 8045936: 4619 mov r1, r3 8045938: 460b mov r3, r1 804593a: 009b lsls r3, r3, #2 804593c: 440b add r3, r1 804593e: 492d ldr r1, [pc, #180] ; (80459f4 ) 8045940: 79c9 ldrb r1, [r1, #7] 8045942: b2c9 uxtb r1, r1 8045944: 440b add r3, r1 8045946: 492c ldr r1, [pc, #176] ; (80459f8 ) 8045948: 3323 adds r3, #35 ; 0x23 804594a: f831 3013 ldrh.w r3, [r1, r3, lsl #1] 804594e: 1ad3 subs r3, r2, r3 8045950: f8c7 3098 str.w r3, [r7, #152] ; 0x98 multB_u16 = i * multA_u16; 8045954: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8045958: b29b uxth r3, r3 804595a: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804595e: fb12 f303 smulbb r3, r2, r3 8045962: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(multB_u16 >= Mpos) 8045966: 4b25 ldr r3, [pc, #148] ; (80459fc ) 8045968: 881b ldrh r3, [r3, #0] 804596a: b29b uxth r3, r3 804596c: f8b7 2096 ldrh.w r2, [r7, #150] ; 0x96 8045970: 429a cmp r2, r3 8045972: d318 bcc.n 80459a6 CURSOR = 0; 8045974: 4b22 ldr r3, [pc, #136] ; (8045a00 ) 8045976: 2200 movs r2, #0 8045978: 601a str r2, [r3, #0] X0 = 0; 804597a: 4b22 ldr r3, [pc, #136] ; (8045a04 ) 804597c: 2200 movs r2, #0 804597e: 801a strh r2, [r3, #0] lX = X0; 8045980: 4b20 ldr r3, [pc, #128] ; (8045a04 ) 8045982: 881b ldrh r3, [r3, #0] 8045984: b29a uxth r2, r3 8045986: 4b20 ldr r3, [pc, #128] ; (8045a08 ) 8045988: 801a strh r2, [r3, #0] rX = k * multA_u16; 804598a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804598e: b29b uxth r3, r3 8045990: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8045994: fb12 f303 smulbb r3, r2, r3 8045998: b29a uxth r2, r3 804599a: 4b1c ldr r3, [pc, #112] ; (8045a0c ) 804599c: 801a strh r2, [r3, #0] Mpos = 0; 804599e: 4b17 ldr r3, [pc, #92] ; (80459fc ) 80459a0: 2200 movs r2, #0 80459a2: 801a strh r2, [r3, #0] break; 80459a4: e05c b.n 8045a60 Mpos -= multB_u16; 80459a6: 4b15 ldr r3, [pc, #84] ; (80459fc ) 80459a8: 881b ldrh r3, [r3, #0] 80459aa: b29a uxth r2, r3 80459ac: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 80459b0: 1ad3 subs r3, r2, r3 80459b2: b29a uxth r2, r3 80459b4: 4b11 ldr r3, [pc, #68] ; (80459fc ) 80459b6: 801a strh r2, [r3, #0] if(X0 > Mpos) 80459b8: 4b12 ldr r3, [pc, #72] ; (8045a04 ) 80459ba: 881b ldrh r3, [r3, #0] 80459bc: b29a uxth r2, r3 80459be: 4b0f ldr r3, [pc, #60] ; (80459fc ) 80459c0: 881b ldrh r3, [r3, #0] 80459c2: b29b uxth r3, r3 80459c4: 429a cmp r2, r3 80459c6: d928 bls.n 8045a1a if(Mpos >= d) 80459c8: 4b0c ldr r3, [pc, #48] ; (80459fc ) 80459ca: 881b ldrh r3, [r3, #0] 80459cc: b29b uxth r3, r3 80459ce: 461a mov r2, r3 80459d0: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80459d4: 429a cmp r2, r3 80459d6: d31d bcc.n 8045a14 X0 -= d; 80459d8: 4b0a ldr r3, [pc, #40] ; (8045a04 ) 80459da: 881b ldrh r3, [r3, #0] 80459dc: b29a uxth r2, r3 80459de: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80459e2: b29b uxth r3, r3 80459e4: 1ad3 subs r3, r2, r3 80459e6: b29a uxth r2, r3 80459e8: 4b06 ldr r3, [pc, #24] ; (8045a04 ) 80459ea: 801a strh r2, [r3, #0] 80459ec: e015 b.n 8045a1a 80459ee: bf00 nop 80459f0: 20020fc0 .word 0x20020fc0 80459f4: 20023eb8 .word 0x20023eb8 80459f8: 080f51c8 .word 0x080f51c8 80459fc: 20025d6e .word 0x20025d6e 8045a00: 2002006c .word 0x2002006c 8045a04: 20025d76 .word 0x20025d76 8045a08: 20025d72 .word 0x20025d72 8045a0c: 20025d78 .word 0x20025d78 8045a10: 20020070 .word 0x20020070 else X0 = 0; 8045a14: 4bae ldr r3, [pc, #696] ; (8045cd0 ) 8045a16: 2200 movs r2, #0 8045a18: 801a strh r2, [r3, #0] lX = X0; 8045a1a: 4bad ldr r3, [pc, #692] ; (8045cd0 ) 8045a1c: 881b ldrh r3, [r3, #0] 8045a1e: b29a uxth r2, r3 8045a20: 4bac ldr r3, [pc, #688] ; (8045cd4 ) 8045a22: 801a strh r2, [r3, #0] rX = X0 + k * multA_u16; 8045a24: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045a28: b29b uxth r3, r3 8045a2a: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8045a2e: fb12 f303 smulbb r3, r2, r3 8045a32: b29a uxth r2, r3 8045a34: 4ba6 ldr r3, [pc, #664] ; (8045cd0 ) 8045a36: 881b ldrh r3, [r3, #0] 8045a38: b29b uxth r3, r3 8045a3a: 4413 add r3, r2 8045a3c: b29a uxth r2, r3 8045a3e: 4ba6 ldr r3, [pc, #664] ; (8045cd8 ) 8045a40: 801a strh r2, [r3, #0] CURSOR = (Mpos - X0) / multA_u16; 8045a42: 4ba6 ldr r3, [pc, #664] ; (8045cdc ) 8045a44: 881b ldrh r3, [r3, #0] 8045a46: b29b uxth r3, r3 8045a48: 461a mov r2, r3 8045a4a: 4ba1 ldr r3, [pc, #644] ; (8045cd0 ) 8045a4c: 881b ldrh r3, [r3, #0] 8045a4e: b29b uxth r3, r3 8045a50: 1ad2 subs r2, r2, r3 8045a52: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8045a56: fb92 f3f3 sdiv r3, r2, r3 8045a5a: 461a mov r2, r3 8045a5c: 4ba0 ldr r3, [pc, #640] ; (8045ce0 ) 8045a5e: 601a str r2, [r3, #0] break; 8045a60: bf00 nop break; 8045a62: f001 bd97 b.w 8047594 case MAIN_SPEC_OKT: switch(menupos) 8045a66: 4b9f ldr r3, [pc, #636] ; (8045ce4 ) 8045a68: 781b ldrb r3, [r3, #0] 8045a6a: b2db uxtb r3, r3 8045a6c: 2b06 cmp r3, #6 8045a6e: d001 beq.n 8045a74 case Cursor: if(CURSOR > 0) CURSOR--; break; } break; 8045a70: f001 bd90 b.w 8047594 if(CURSOR > 0) 8045a74: 4b9a ldr r3, [pc, #616] ; (8045ce0 ) 8045a76: 681b ldr r3, [r3, #0] 8045a78: 2b00 cmp r3, #0 8045a7a: d004 beq.n 8045a86 CURSOR--; 8045a7c: 4b98 ldr r3, [pc, #608] ; (8045ce0 ) 8045a7e: 681b ldr r3, [r3, #0] 8045a80: 3b01 subs r3, #1 8045a82: 4a97 ldr r2, [pc, #604] ; (8045ce0 ) 8045a84: 6013 str r3, [r2, #0] break; 8045a86: bf00 nop break; 8045a88: f001 bd84 b.w 8047594 case MAIN_SPEC_THIRD: switch(menupos) 8045a8c: 4b95 ldr r3, [pc, #596] ; (8045ce4 ) 8045a8e: 781b ldrb r3, [r3, #0] 8045a90: b2db uxtb r3, r3 8045a92: 2b06 cmp r3, #6 8045a94: d001 beq.n 8045a9a case Cursor: if(CURSOR > 0) CURSOR--; break; } break; 8045a96: f001 bd7d b.w 8047594 if(CURSOR > 0) 8045a9a: 4b91 ldr r3, [pc, #580] ; (8045ce0 ) 8045a9c: 681b ldr r3, [r3, #0] 8045a9e: 2b00 cmp r3, #0 8045aa0: d004 beq.n 8045aac CURSOR--; 8045aa2: 4b8f ldr r3, [pc, #572] ; (8045ce0 ) 8045aa4: 681b ldr r3, [r3, #0] 8045aa6: 3b01 subs r3, #1 8045aa8: 4a8d ldr r2, [pc, #564] ; (8045ce0 ) 8045aaa: 6013 str r3, [r2, #0] break; 8045aac: bf00 nop break; 8045aae: f001 bd71 b.w 8047594 case MAIN_WAVE: switch(menupos) 8045ab2: 4b8c ldr r3, [pc, #560] ; (8045ce4 ) 8045ab4: 781b ldrb r3, [r3, #0] 8045ab6: b2db uxtb r3, r3 8045ab8: 2b01 cmp r3, #1 8045aba: d005 beq.n 8045ac8 8045abc: 2b03 cmp r3, #3 8045abe: d01d beq.n 8045afc 8045ac0: 2b00 cmp r3, #0 8045ac2: d00e beq.n 8045ae2 break; case ReadyRec: oldmenupos = ReadyRec; break; } break; 8045ac4: f001 bd66 b.w 8047594 if(oldmenupos == StartStop) 8045ac8: 4b87 ldr r3, [pc, #540] ; (8045ce8 ) 8045aca: 781b ldrb r3, [r3, #0] 8045acc: b2db uxtb r3, r3 8045ace: 2b00 cmp r3, #0 8045ad0: d103 bne.n 8045ada oldmenupos = StartStop; 8045ad2: 4b85 ldr r3, [pc, #532] ; (8045ce8 ) 8045ad4: 2200 movs r2, #0 8045ad6: 701a strb r2, [r3, #0] break; 8045ad8: e014 b.n 8045b04 oldmenupos = ReadyRec; 8045ada: 4b83 ldr r3, [pc, #524] ; (8045ce8 ) 8045adc: 2203 movs r2, #3 8045ade: 701a strb r2, [r3, #0] break; 8045ae0: e010 b.n 8045b04 if(oldmenupos == StartStop) 8045ae2: 4b81 ldr r3, [pc, #516] ; (8045ce8 ) 8045ae4: 781b ldrb r3, [r3, #0] 8045ae6: b2db uxtb r3, r3 8045ae8: 2b00 cmp r3, #0 8045aea: d103 bne.n 8045af4 oldmenupos = StartStop; 8045aec: 4b7e ldr r3, [pc, #504] ; (8045ce8 ) 8045aee: 2200 movs r2, #0 8045af0: 701a strb r2, [r3, #0] break; 8045af2: e007 b.n 8045b04 oldmenupos = ReadyRec; 8045af4: 4b7c ldr r3, [pc, #496] ; (8045ce8 ) 8045af6: 2203 movs r2, #3 8045af8: 701a strb r2, [r3, #0] break; 8045afa: e003 b.n 8045b04 oldmenupos = ReadyRec; 8045afc: 4b7a ldr r3, [pc, #488] ; (8045ce8 ) 8045afe: 2203 movs r2, #3 8045b00: 701a strb r2, [r3, #0] break; 8045b02: bf00 nop break; 8045b04: f001 bd46 b.w 8047594 case MAIN_SYGNAL: if(menupos == Cursor) 8045b08: 4b76 ldr r3, [pc, #472] ; (8045ce4 ) 8045b0a: 781b ldrb r3, [r3, #0] 8045b0c: b2db uxtb r3, r3 8045b0e: 2b06 cmp r3, #6 8045b10: f041 8503 bne.w 804751a { if(CURSOR > 0) 8045b14: 4b72 ldr r3, [pc, #456] ; (8045ce0 ) 8045b16: 681b ldr r3, [r3, #0] 8045b18: 2b00 cmp r3, #0 8045b1a: f001 84fe beq.w 804751a CURSOR--; 8045b1e: 4b70 ldr r3, [pc, #448] ; (8045ce0 ) 8045b20: 681b ldr r3, [r3, #0] 8045b22: 3b01 subs r3, #1 8045b24: 4a6e ldr r2, [pc, #440] ; (8045ce0 ) 8045b26: 6013 str r3, [r2, #0] } break; 8045b28: f001 bcf7 b.w 804751a case OPTIONS: if(menupos == AskFormatNo) 8045b2c: 4b6d ldr r3, [pc, #436] ; (8045ce4 ) 8045b2e: 781b ldrb r3, [r3, #0] 8045b30: b2db uxtb r3, r3 8045b32: 2b05 cmp r3, #5 8045b34: d104 bne.n 8045b40 menupos = AskFormatYes; 8045b36: 4b6b ldr r3, [pc, #428] ; (8045ce4 ) 8045b38: 2206 movs r2, #6 8045b3a: 701a strb r2, [r3, #0] if(menupos == AskRouteNo) menupos = AskRouteYes; else if(menupos == AskRouteYes) menupos = AskRouteNo; break; 8045b3c: f001 bcf0 b.w 8047520 if(menupos == AskFormatYes) 8045b40: 4b68 ldr r3, [pc, #416] ; (8045ce4 ) 8045b42: 781b ldrb r3, [r3, #0] 8045b44: b2db uxtb r3, r3 8045b46: 2b06 cmp r3, #6 8045b48: d104 bne.n 8045b54 menupos = AskFormatNo; 8045b4a: 4b66 ldr r3, [pc, #408] ; (8045ce4 ) 8045b4c: 2205 movs r2, #5 8045b4e: 701a strb r2, [r3, #0] break; 8045b50: f001 bce6 b.w 8047520 if(menupos == AskRouteNo) 8045b54: 4b63 ldr r3, [pc, #396] ; (8045ce4 ) 8045b56: 781b ldrb r3, [r3, #0] 8045b58: b2db uxtb r3, r3 8045b5a: 2b09 cmp r3, #9 8045b5c: d104 bne.n 8045b68 menupos = AskRouteYes; 8045b5e: 4b61 ldr r3, [pc, #388] ; (8045ce4 ) 8045b60: 220a movs r2, #10 8045b62: 701a strb r2, [r3, #0] break; 8045b64: f001 bcdc b.w 8047520 if(menupos == AskRouteYes) 8045b68: 4b5e ldr r3, [pc, #376] ; (8045ce4 ) 8045b6a: 781b ldrb r3, [r3, #0] 8045b6c: b2db uxtb r3, r3 8045b6e: 2b0a cmp r3, #10 8045b70: f041 84d6 bne.w 8047520 menupos = AskRouteNo; 8045b74: 4b5b ldr r3, [pc, #364] ; (8045ce4 ) 8045b76: 2209 movs r2, #9 8045b78: 701a strb r2, [r3, #0] break; 8045b7a: f001 bcd1 b.w 8047520 case EXPLORER: if(menupos == UpNo) 8045b7e: 4b59 ldr r3, [pc, #356] ; (8045ce4 ) 8045b80: 781b ldrb r3, [r3, #0] 8045b82: b2db uxtb r3, r3 8045b84: 2b06 cmp r3, #6 8045b86: d104 bne.n 8045b92 menupos = UpYes; 8045b88: 4b56 ldr r3, [pc, #344] ; (8045ce4 ) 8045b8a: 2207 movs r2, #7 8045b8c: 701a strb r2, [r3, #0] else if(menupos == FilesPTM) { menupos = UpNo; } break; 8045b8e: f001 bcca b.w 8047526 if(menupos == UpYes) 8045b92: 4b54 ldr r3, [pc, #336] ; (8045ce4 ) 8045b94: 781b ldrb r3, [r3, #0] 8045b96: b2db uxtb r3, r3 8045b98: 2b07 cmp r3, #7 8045b9a: d104 bne.n 8045ba6 menupos = UpNo; 8045b9c: 4b51 ldr r3, [pc, #324] ; (8045ce4 ) 8045b9e: 2206 movs r2, #6 8045ba0: 701a strb r2, [r3, #0] break; 8045ba2: f001 bcc0 b.w 8047526 if(menupos == FilesPTM) 8045ba6: 4b4f ldr r3, [pc, #316] ; (8045ce4 ) 8045ba8: 781b ldrb r3, [r3, #0] 8045baa: b2db uxtb r3, r3 8045bac: 2b02 cmp r3, #2 8045bae: f041 84ba bne.w 8047526 menupos = UpNo; 8045bb2: 4b4c ldr r3, [pc, #304] ; (8045ce4 ) 8045bb4: 2206 movs r2, #6 8045bb6: 701a strb r2, [r3, #0] break; 8045bb8: f001 bcb5 b.w 8047526 case EXPLORER_DIAGN: if(menupos == UpNo) 8045bbc: 4b49 ldr r3, [pc, #292] ; (8045ce4 ) 8045bbe: 781b ldrb r3, [r3, #0] 8045bc0: b2db uxtb r3, r3 8045bc2: 2b06 cmp r3, #6 8045bc4: d104 bne.n 8045bd0 menupos = UpYes; 8045bc6: 4b47 ldr r3, [pc, #284] ; (8045ce4 ) 8045bc8: 2207 movs r2, #7 8045bca: 701a strb r2, [r3, #0] else if(menupos == FilesDGN) { menupos = UpNo; } break; 8045bcc: f001 bcae b.w 804752c if(menupos == UpYes) 8045bd0: 4b44 ldr r3, [pc, #272] ; (8045ce4 ) 8045bd2: 781b ldrb r3, [r3, #0] 8045bd4: b2db uxtb r3, r3 8045bd6: 2b07 cmp r3, #7 8045bd8: d104 bne.n 8045be4 menupos = UpNo; 8045bda: 4b42 ldr r3, [pc, #264] ; (8045ce4 ) 8045bdc: 2206 movs r2, #6 8045bde: 701a strb r2, [r3, #0] break; 8045be0: f001 bca4 b.w 804752c if(menupos == FilesDGN) 8045be4: 4b3f ldr r3, [pc, #252] ; (8045ce4 ) 8045be6: 781b ldrb r3, [r3, #0] 8045be8: b2db uxtb r3, r3 8045bea: 2b02 cmp r3, #2 8045bec: f041 849e bne.w 804752c menupos = UpNo; 8045bf0: 4b3c ldr r3, [pc, #240] ; (8045ce4 ) 8045bf2: 2206 movs r2, #6 8045bf4: 701a strb r2, [r3, #0] break; 8045bf6: f001 bc99 b.w 804752c 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)) 8045bfa: 4b3a ldr r3, [pc, #232] ; (8045ce4 ) 8045bfc: 781b ldrb r3, [r3, #0] 8045bfe: b2db uxtb r3, r3 8045c00: 2b00 cmp r3, #0 8045c02: f001 8496 beq.w 8047532 8045c06: 4b37 ldr r3, [pc, #220] ; (8045ce4 ) 8045c08: 781b ldrb r3, [r3, #0] 8045c0a: b2db uxtb r3, r3 8045c0c: 2b0a cmp r3, #10 8045c0e: f001 8490 beq.w 8047532 8045c12: 4b34 ldr r3, [pc, #208] ; (8045ce4 ) 8045c14: 781b ldrb r3, [r3, #0] 8045c16: b2db uxtb r3, r3 8045c18: 2b14 cmp r3, #20 8045c1a: f001 848a beq.w 8047532 8045c1e: 4b31 ldr r3, [pc, #196] ; (8045ce4 ) 8045c20: 781b ldrb r3, [r3, #0] 8045c22: b2db uxtb r3, r3 8045c24: 2b1e cmp r3, #30 8045c26: f001 8484 beq.w 8047532 8045c2a: 4b2e ldr r3, [pc, #184] ; (8045ce4 ) 8045c2c: 781b ldrb r3, [r3, #0] 8045c2e: b2db uxtb r3, r3 8045c30: 2b26 cmp r3, #38 ; 0x26 8045c32: f001 847e beq.w 8047532 menupos--; 8045c36: 4b2b ldr r3, [pc, #172] ; (8045ce4 ) 8045c38: 781b ldrb r3, [r3, #0] 8045c3a: b2db uxtb r3, r3 8045c3c: 3b01 subs r3, #1 8045c3e: b2da uxtb r2, r3 8045c40: 4b28 ldr r3, [pc, #160] ; (8045ce4 ) 8045c42: 701a strb r2, [r3, #0] break; 8045c44: f001 bc75 b.w 8047532 case MEAS_MODE: //menupos = Ok; break; case ARCHIVE_SPEC: if(menupos == UpNo) 8045c48: 4b26 ldr r3, [pc, #152] ; (8045ce4 ) 8045c4a: 781b ldrb r3, [r3, #0] 8045c4c: b2db uxtb r3, r3 8045c4e: 2b06 cmp r3, #6 8045c50: d104 bne.n 8045c5c menupos = UpYes; 8045c52: 4b24 ldr r3, [pc, #144] ; (8045ce4 ) 8045c54: 2207 movs r2, #7 8045c56: 701a strb r2, [r3, #0] else if(menupos == CleanUpResult) { } break; 8045c58: f001 bc9c b.w 8047594 if(menupos == UpYes) 8045c5c: 4b21 ldr r3, [pc, #132] ; (8045ce4 ) 8045c5e: 781b ldrb r3, [r3, #0] 8045c60: b2db uxtb r3, r3 8045c62: 2b07 cmp r3, #7 8045c64: d104 bne.n 8045c70 menupos = UpNo; 8045c66: 4b1f ldr r3, [pc, #124] ; (8045ce4 ) 8045c68: 2206 movs r2, #6 8045c6a: 701a strb r2, [r3, #0] break; 8045c6c: f001 bc92 b.w 8047594 if(menupos == CleanUpResult) 8045c70: 4b1c ldr r3, [pc, #112] ; (8045ce4 ) 8045c72: 781b ldrb r3, [r3, #0] break; 8045c74: f001 bc8e b.w 8047594 case ARCHIVE_FRAN: if(menupos == UpNo) 8045c78: 4b1a ldr r3, [pc, #104] ; (8045ce4 ) 8045c7a: 781b ldrb r3, [r3, #0] 8045c7c: b2db uxtb r3, r3 8045c7e: 2b06 cmp r3, #6 8045c80: d104 bne.n 8045c8c menupos = UpYes; 8045c82: 4b18 ldr r3, [pc, #96] ; (8045ce4 ) 8045c84: 2207 movs r2, #7 8045c86: 701a strb r2, [r3, #0] else { menu = ARCHIVE; menupos = ArchiveFran; } break; 8045c88: f001 bc56 b.w 8047538 if(menupos == UpYes) 8045c8c: 4b15 ldr r3, [pc, #84] ; (8045ce4 ) 8045c8e: 781b ldrb r3, [r3, #0] 8045c90: b2db uxtb r3, r3 8045c92: 2b07 cmp r3, #7 8045c94: d104 bne.n 8045ca0 menupos = UpNo; 8045c96: 4b13 ldr r3, [pc, #76] ; (8045ce4 ) 8045c98: 2206 movs r2, #6 8045c9a: 701a strb r2, [r3, #0] break; 8045c9c: f001 bc4c b.w 8047538 if(menupos == CleanUpResult) 8045ca0: 4b10 ldr r3, [pc, #64] ; (8045ce4 ) 8045ca2: 781b ldrb r3, [r3, #0] 8045ca4: b2db uxtb r3, r3 8045ca6: 2b0a cmp r3, #10 8045ca8: f001 8446 beq.w 8047538 menu = ARCHIVE; 8045cac: 4b0f ldr r3, [pc, #60] ; (8045cec ) 8045cae: 2214 movs r2, #20 8045cb0: 701a strb r2, [r3, #0] menupos = ArchiveFran; 8045cb2: 4b0c ldr r3, [pc, #48] ; (8045ce4 ) 8045cb4: 2201 movs r2, #1 8045cb6: 701a strb r2, [r3, #0] break; 8045cb8: f001 bc3e b.w 8047538 case ARCHIVE_WAVE: if(menupos == UpNo) 8045cbc: 4b09 ldr r3, [pc, #36] ; (8045ce4 ) 8045cbe: 781b ldrb r3, [r3, #0] 8045cc0: b2db uxtb r3, r3 8045cc2: 2b06 cmp r3, #6 8045cc4: d114 bne.n 8045cf0 menupos = UpYes; 8045cc6: 4b07 ldr r3, [pc, #28] ; (8045ce4 ) 8045cc8: 2207 movs r2, #7 8045cca: 701a strb r2, [r3, #0] else { /*menu = ARCHIVE; menupos = ArchiveWave;*/ } break; 8045ccc: f001 bc37 b.w 804753e 8045cd0: 20025d76 .word 0x20025d76 8045cd4: 20025d72 .word 0x20025d72 8045cd8: 20025d78 .word 0x20025d78 8045cdc: 20025d6e .word 0x20025d6e 8045ce0: 2002006c .word 0x2002006c 8045ce4: 20020070 .word 0x20020070 8045ce8: 20020fc7 .word 0x20020fc7 8045cec: 20020fc5 .word 0x20020fc5 if(menupos == UpYes) 8045cf0: 4bb8 ldr r3, [pc, #736] ; (8045fd4 ) 8045cf2: 781b ldrb r3, [r3, #0] 8045cf4: b2db uxtb r3, r3 8045cf6: 2b07 cmp r3, #7 8045cf8: d104 bne.n 8045d04 menupos = UpNo; 8045cfa: 4bb6 ldr r3, [pc, #728] ; (8045fd4 ) 8045cfc: 2206 movs r2, #6 8045cfe: 701a strb r2, [r3, #0] break; 8045d00: f001 bc1d b.w 804753e if(menupos == FilesGTR) 8045d04: 4bb3 ldr r3, [pc, #716] ; (8045fd4 ) 8045d06: 781b ldrb r3, [r3, #0] 8045d08: b2db uxtb r3, r3 8045d0a: 2b02 cmp r3, #2 8045d0c: f041 8417 bne.w 804753e if(NumFilesDelete != 0) { 8045d10: 4bb1 ldr r3, [pc, #708] ; (8045fd8 ) 8045d12: 681b ldr r3, [r3, #0] 8045d14: 2b00 cmp r3, #0 8045d16: f001 8412 beq.w 804753e menupos = UpNo; 8045d1a: 4bae ldr r3, [pc, #696] ; (8045fd4 ) 8045d1c: 2206 movs r2, #6 8045d1e: 701a strb r2, [r3, #0] break; 8045d20: f001 bc0d b.w 804753e case ROUTE: if(menupos == UpNo) 8045d24: 4bab ldr r3, [pc, #684] ; (8045fd4 ) 8045d26: 781b ldrb r3, [r3, #0] 8045d28: b2db uxtb r3, r3 8045d2a: 2b06 cmp r3, #6 8045d2c: d104 bne.n 8045d38 menupos = UpYes; 8045d2e: 4ba9 ldr r3, [pc, #676] ; (8045fd4 ) 8045d30: 2207 movs r2, #7 8045d32: 701a strb r2, [r3, #0] } } else { } break; 8045d34: f001 bc06 b.w 8047544 if(menupos == UpYes) 8045d38: 4ba6 ldr r3, [pc, #664] ; (8045fd4 ) 8045d3a: 781b ldrb r3, [r3, #0] 8045d3c: b2db uxtb r3, r3 8045d3e: 2b07 cmp r3, #7 8045d40: d104 bne.n 8045d4c menupos = UpNo; 8045d42: 4ba4 ldr r3, [pc, #656] ; (8045fd4 ) 8045d44: 2206 movs r2, #6 8045d46: 701a strb r2, [r3, #0] break; 8045d48: f001 bbfc b.w 8047544 if(menupos == FilesCSV) 8045d4c: 4ba1 ldr r3, [pc, #644] ; (8045fd4 ) 8045d4e: 781b ldrb r3, [r3, #0] 8045d50: b2db uxtb r3, r3 8045d52: 2b02 cmp r3, #2 8045d54: f041 83f6 bne.w 8047544 if(NumFilesDelete != 0) { 8045d58: 4b9f ldr r3, [pc, #636] ; (8045fd8 ) 8045d5a: 681b ldr r3, [r3, #0] 8045d5c: 2b00 cmp r3, #0 8045d5e: f001 83f1 beq.w 8047544 menupos = UpNo; 8045d62: 4b9c ldr r3, [pc, #624] ; (8045fd4 ) 8045d64: 2206 movs r2, #6 8045d66: 701a strb r2, [r3, #0] break; 8045d68: f001 bbec b.w 8047544 case PARAM_UDAR: switch(menupos) 8045d6c: 4b99 ldr r3, [pc, #612] ; (8045fd4 ) 8045d6e: 781b ldrb r3, [r3, #0] 8045d70: b2db uxtb r3, r3 8045d72: 3b03 subs r3, #3 8045d74: 2b09 cmp r3, #9 8045d76: d83f bhi.n 8045df8 8045d78: a201 add r2, pc, #4 ; (adr r2, 8045d80 ) 8045d7a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8045d7e: bf00 nop 8045d80: 08045da9 .word 0x08045da9 8045d84: 08045db1 .word 0x08045db1 8045d88: 08045db9 .word 0x08045db9 8045d8c: 08045dc1 .word 0x08045dc1 8045d90: 08045dc9 .word 0x08045dc9 8045d94: 08045dd1 .word 0x08045dd1 8045d98: 08045dd9 .word 0x08045dd9 8045d9c: 08045de1 .word 0x08045de1 8045da0: 08045de9 .word 0x08045de9 8045da4: 08045df1 .word 0x08045df1 { case UdarRate_IET: menupos = UdarRate_IEE; break; 8045da8: 4b8a ldr r3, [pc, #552] ; (8045fd4 ) 8045daa: 2206 movs r2, #6 8045dac: 701a strb r2, [r3, #0] 8045dae: e027 b.n 8045e00 case UdarRate_IES: menupos = UdarRate_IET; break; 8045db0: 4b88 ldr r3, [pc, #544] ; (8045fd4 ) 8045db2: 2203 movs r2, #3 8045db4: 701a strb r2, [r3, #0] 8045db6: e023 b.n 8045e00 case UdarRate_IED: menupos = UdarRate_IES; break; 8045db8: 4b86 ldr r3, [pc, #536] ; (8045fd4 ) 8045dba: 2204 movs r2, #4 8045dbc: 701a strb r2, [r3, #0] 8045dbe: e01f b.n 8045e00 case UdarRate_IEE: menupos = UdarRate_IED; break; 8045dc0: 4b84 ldr r3, [pc, #528] ; (8045fd4 ) 8045dc2: 2205 movs r2, #5 8045dc4: 701a strb r2, [r3, #0] 8045dc6: e01b b.n 8045e00 case UdarInner_IES: menupos = UdarInner_IKT; break; 8045dc8: 4b82 ldr r3, [pc, #520] ; (8045fd4 ) 8045dca: 220c movs r2, #12 8045dcc: 701a strb r2, [r3, #0] 8045dce: e017 b.n 8045e00 case UdarInner_IED: menupos = UdarInner_IES; break; 8045dd0: 4b80 ldr r3, [pc, #512] ; (8045fd4 ) 8045dd2: 2207 movs r2, #7 8045dd4: 701a strb r2, [r3, #0] 8045dd6: e013 b.n 8045e00 case UdarInner_IEE: menupos = UdarInner_IED; break; 8045dd8: 4b7e ldr r3, [pc, #504] ; (8045fd4 ) 8045dda: 2208 movs r2, #8 8045ddc: 701a strb r2, [r3, #0] 8045dde: e00f b.n 8045e00 case UdarInner_IKD: menupos = UdarInner_IEE; break; 8045de0: 4b7c ldr r3, [pc, #496] ; (8045fd4 ) 8045de2: 2209 movs r2, #9 8045de4: 701a strb r2, [r3, #0] 8045de6: e00b b.n 8045e00 case UdarInner_IKS: menupos = UdarInner_IKD; break; 8045de8: 4b7a ldr r3, [pc, #488] ; (8045fd4 ) 8045dea: 220a movs r2, #10 8045dec: 701a strb r2, [r3, #0] 8045dee: e007 b.n 8045e00 case UdarInner_IKT: menupos = UdarInner_IKS; break; 8045df0: 4b78 ldr r3, [pc, #480] ; (8045fd4 ) 8045df2: 220b movs r2, #11 8045df4: 701a strb r2, [r3, #0] 8045df6: e003 b.n 8045e00 default: menupos = Ok; 8045df8: 4b76 ldr r3, [pc, #472] ; (8045fd4 ) 8045dfa: 2200 movs r2, #0 8045dfc: 701a strb r2, [r3, #0] break; 8045dfe: bf00 nop } break; 8045e00: f001 bbc8 b.w 8047594 case PARAM_ROLL: switch(menupos) 8045e04: 4b73 ldr r3, [pc, #460] ; (8045fd4 ) 8045e06: 781b ldrb r3, [r3, #0] 8045e08: b2db uxtb r3, r3 8045e0a: 3b01 subs r3, #1 8045e0c: 2b2a cmp r3, #42 ; 0x2a 8045e0e: f201 839c bhi.w 804754a 8045e12: a201 add r2, pc, #4 ; (adr r2, 8045e18 ) 8045e14: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8045e18: 08045fdd .word 0x08045fdd 8045e1c: 08046047 .word 0x08046047 8045e20: 08046047 .word 0x08046047 8045e24: 08046047 .word 0x08046047 8045e28: 08046047 .word 0x08046047 8045e2c: 08046013 .word 0x08046013 8045e30: 08046047 .word 0x08046047 8045e34: 08046047 .word 0x08046047 8045e38: 08046047 .word 0x08046047 8045e3c: 08045ee5 .word 0x08045ee5 8045e40: 08045eed .word 0x08045eed 8045e44: 08045ef5 .word 0x08045ef5 8045e48: 08045efd .word 0x08045efd 8045e4c: 08045f05 .word 0x08045f05 8045e50: 08045f0d .word 0x08045f0d 8045e54: 08045f15 .word 0x08045f15 8045e58: 08045f1d .word 0x08045f1d 8045e5c: 08045f25 .word 0x08045f25 8045e60: 08045f2d .word 0x08045f2d 8045e64: 08045f35 .word 0x08045f35 8045e68: 08045f3d .word 0x08045f3d 8045e6c: 08045f45 .word 0x08045f45 8045e70: 08045f4d .word 0x08045f4d 8045e74: 08045f55 .word 0x08045f55 8045e78: 08045f5d .word 0x08045f5d 8045e7c: 08045f65 .word 0x08045f65 8045e80: 08045f6d .word 0x08045f6d 8045e84: 08045f75 .word 0x08045f75 8045e88: 08045f7d .word 0x08045f7d 8045e8c: 08045f85 .word 0x08045f85 8045e90: 08045f8d .word 0x08045f8d 8045e94: 08045f95 .word 0x08045f95 8045e98: 08045f9d .word 0x08045f9d 8045e9c: 08045ec5 .word 0x08045ec5 8045ea0: 08045ecd .word 0x08045ecd 8045ea4: 08045ed5 .word 0x08045ed5 8045ea8: 08045edd .word 0x08045edd 8045eac: 08045fa5 .word 0x08045fa5 8045eb0: 08045fcd .word 0x08045fcd 8045eb4: 08045fc5 .word 0x08045fc5 8045eb8: 08045fbd .word 0x08045fbd 8045ebc: 08045fb5 .word 0x08045fb5 8045ec0: 08045fad .word 0x08045fad { case D_Rate_IET: menupos = D_Rate_IEE; break; 8045ec4: 4b43 ldr r3, [pc, #268] ; (8045fd4 ) 8045ec6: 2225 movs r2, #37 ; 0x25 8045ec8: 701a strb r2, [r3, #0] 8045eca: e0c0 b.n 804604e case D_Rate_IES: menupos = D_Rate_IET; break; 8045ecc: 4b41 ldr r3, [pc, #260] ; (8045fd4 ) 8045ece: 2222 movs r2, #34 ; 0x22 8045ed0: 701a strb r2, [r3, #0] 8045ed2: e0bc b.n 804604e case D_Rate_IED: menupos = D_Rate_IES; break; 8045ed4: 4b3f ldr r3, [pc, #252] ; (8045fd4 ) 8045ed6: 2223 movs r2, #35 ; 0x23 8045ed8: 701a strb r2, [r3, #0] 8045eda: e0b8 b.n 804604e case D_Rate_IEE: menupos = D_Rate_IED; break; 8045edc: 4b3d ldr r3, [pc, #244] ; (8045fd4 ) 8045ede: 2224 movs r2, #36 ; 0x24 8045ee0: 701a strb r2, [r3, #0] 8045ee2: e0b4 b.n 804604e case D_Roll_IES: menupos = D_Roll_IKT; break; 8045ee4: 4b3b ldr r3, [pc, #236] ; (8045fd4 ) 8045ee6: 220f movs r2, #15 8045ee8: 701a strb r2, [r3, #0] 8045eea: e0b0 b.n 804604e case D_Roll_IED: menupos = D_Roll_IES; break; 8045eec: 4b39 ldr r3, [pc, #228] ; (8045fd4 ) 8045eee: 220a movs r2, #10 8045ef0: 701a strb r2, [r3, #0] 8045ef2: e0ac b.n 804604e case D_Roll_IEE: menupos = D_Roll_IED; break; 8045ef4: 4b37 ldr r3, [pc, #220] ; (8045fd4 ) 8045ef6: 220b movs r2, #11 8045ef8: 701a strb r2, [r3, #0] 8045efa: e0a8 b.n 804604e case D_Roll_IKD: menupos = D_Roll_IEE; break; 8045efc: 4b35 ldr r3, [pc, #212] ; (8045fd4 ) 8045efe: 220c movs r2, #12 8045f00: 701a strb r2, [r3, #0] 8045f02: e0a4 b.n 804604e case D_Roll_IKS: menupos = D_Roll_IKD; break; 8045f04: 4b33 ldr r3, [pc, #204] ; (8045fd4 ) 8045f06: 220d movs r2, #13 8045f08: 701a strb r2, [r3, #0] 8045f0a: e0a0 b.n 804604e case D_Roll_IKT: menupos = D_Roll_IKS; break; 8045f0c: 4b31 ldr r3, [pc, #196] ; (8045fd4 ) 8045f0e: 220e movs r2, #14 8045f10: 701a strb r2, [r3, #0] 8045f12: e09c b.n 804604e case D_Outer_IES: menupos = D_Outer_IKT; break; 8045f14: 4b2f ldr r3, [pc, #188] ; (8045fd4 ) 8045f16: 2215 movs r2, #21 8045f18: 701a strb r2, [r3, #0] 8045f1a: e098 b.n 804604e case D_Outer_IED: menupos = D_Outer_IES; break; 8045f1c: 4b2d ldr r3, [pc, #180] ; (8045fd4 ) 8045f1e: 2210 movs r2, #16 8045f20: 701a strb r2, [r3, #0] 8045f22: e094 b.n 804604e case D_Outer_IEE: menupos = D_Outer_IED; break; 8045f24: 4b2b ldr r3, [pc, #172] ; (8045fd4 ) 8045f26: 2211 movs r2, #17 8045f28: 701a strb r2, [r3, #0] 8045f2a: e090 b.n 804604e case D_Outer_IKD: menupos = D_Outer_IEE; break; 8045f2c: 4b29 ldr r3, [pc, #164] ; (8045fd4 ) 8045f2e: 2212 movs r2, #18 8045f30: 701a strb r2, [r3, #0] 8045f32: e08c b.n 804604e case D_Outer_IKS: menupos = D_Outer_IKD; break; 8045f34: 4b27 ldr r3, [pc, #156] ; (8045fd4 ) 8045f36: 2213 movs r2, #19 8045f38: 701a strb r2, [r3, #0] 8045f3a: e088 b.n 804604e case D_Outer_IKT: menupos = D_Outer_IKS; break; 8045f3c: 4b25 ldr r3, [pc, #148] ; (8045fd4 ) 8045f3e: 2214 movs r2, #20 8045f40: 701a strb r2, [r3, #0] 8045f42: e084 b.n 804604e case D_Inner_IES: menupos = D_Inner_IKT; break; 8045f44: 4b23 ldr r3, [pc, #140] ; (8045fd4 ) 8045f46: 221b movs r2, #27 8045f48: 701a strb r2, [r3, #0] 8045f4a: e080 b.n 804604e case D_Inner_IED: menupos = D_Inner_IES; break; 8045f4c: 4b21 ldr r3, [pc, #132] ; (8045fd4 ) 8045f4e: 2216 movs r2, #22 8045f50: 701a strb r2, [r3, #0] 8045f52: e07c b.n 804604e case D_Inner_IEE: menupos = D_Inner_IED; break; 8045f54: 4b1f ldr r3, [pc, #124] ; (8045fd4 ) 8045f56: 2217 movs r2, #23 8045f58: 701a strb r2, [r3, #0] 8045f5a: e078 b.n 804604e case D_Inner_IKD: menupos = D_Inner_IEE; break; 8045f5c: 4b1d ldr r3, [pc, #116] ; (8045fd4 ) 8045f5e: 2218 movs r2, #24 8045f60: 701a strb r2, [r3, #0] 8045f62: e074 b.n 804604e case D_Inner_IKS: menupos = D_Inner_IKD; break; 8045f64: 4b1b ldr r3, [pc, #108] ; (8045fd4 ) 8045f66: 2219 movs r2, #25 8045f68: 701a strb r2, [r3, #0] 8045f6a: e070 b.n 804604e case D_Inner_IKT: menupos = D_Inner_IKS; break; 8045f6c: 4b19 ldr r3, [pc, #100] ; (8045fd4 ) 8045f6e: 221a movs r2, #26 8045f70: 701a strb r2, [r3, #0] 8045f72: e06c b.n 804604e case D_Angle_IES: menupos = D_Angle_IKT; break; 8045f74: 4b17 ldr r3, [pc, #92] ; (8045fd4 ) 8045f76: 2221 movs r2, #33 ; 0x21 8045f78: 701a strb r2, [r3, #0] 8045f7a: e068 b.n 804604e case D_Angle_IED: menupos = D_Angle_IES; break; 8045f7c: 4b15 ldr r3, [pc, #84] ; (8045fd4 ) 8045f7e: 221c movs r2, #28 8045f80: 701a strb r2, [r3, #0] 8045f82: e064 b.n 804604e case D_Angle_IEE: menupos = D_Angle_IED; break; 8045f84: 4b13 ldr r3, [pc, #76] ; (8045fd4 ) 8045f86: 221d movs r2, #29 8045f88: 701a strb r2, [r3, #0] 8045f8a: e060 b.n 804604e case D_Angle_IKD: menupos = D_Angle_IEE; break; 8045f8c: 4b11 ldr r3, [pc, #68] ; (8045fd4 ) 8045f8e: 221e movs r2, #30 8045f90: 701a strb r2, [r3, #0] 8045f92: e05c b.n 804604e case D_Angle_IKS: menupos = D_Angle_IKD; break; 8045f94: 4b0f ldr r3, [pc, #60] ; (8045fd4 ) 8045f96: 221f movs r2, #31 8045f98: 701a strb r2, [r3, #0] 8045f9a: e058 b.n 804604e case D_Angle_IKT: menupos = D_Angle_IKS; break; 8045f9c: 4b0d ldr r3, [pc, #52] ; (8045fd4 ) 8045f9e: 2220 movs r2, #32 8045fa0: 701a strb r2, [r3, #0] 8045fa2: e054 b.n 804604e case RollMax_IDT: menupos = RollMax_IKD; break; 8045fa4: 4b0b ldr r3, [pc, #44] ; (8045fd4 ) 8045fa6: 222b movs r2, #43 ; 0x2b 8045fa8: 701a strb r2, [r3, #0] 8045faa: e050 b.n 804604e case RollMax_IKD: menupos = RollMax_IEE; break; 8045fac: 4b09 ldr r3, [pc, #36] ; (8045fd4 ) 8045fae: 222a movs r2, #42 ; 0x2a 8045fb0: 701a strb r2, [r3, #0] 8045fb2: e04c b.n 804604e case RollMax_IEE: menupos = RollMax_IED; break; 8045fb4: 4b07 ldr r3, [pc, #28] ; (8045fd4 ) 8045fb6: 2229 movs r2, #41 ; 0x29 8045fb8: 701a strb r2, [r3, #0] 8045fba: e048 b.n 804604e case RollMax_IED: menupos = RollMax_IES; break; 8045fbc: 4b05 ldr r3, [pc, #20] ; (8045fd4 ) 8045fbe: 2228 movs r2, #40 ; 0x28 8045fc0: 701a strb r2, [r3, #0] 8045fc2: e044 b.n 804604e case RollMax_IES: menupos = RollMax_IET; break; 8045fc4: 4b03 ldr r3, [pc, #12] ; (8045fd4 ) 8045fc6: 2227 movs r2, #39 ; 0x27 8045fc8: 701a strb r2, [r3, #0] 8045fca: e040 b.n 804604e case RollMax_IET: menupos = RollMax_IDT; break; 8045fcc: 4b01 ldr r3, [pc, #4] ; (8045fd4 ) 8045fce: 2226 movs r2, #38 ; 0x26 8045fd0: 701a strb r2, [r3, #0] 8045fd2: e03c b.n 804604e 8045fd4: 20020070 .word 0x20020070 8045fd8: 20020e30 .word 0x20020e30 case RollCount: if(focused) 8045fdc: 4ba3 ldr r3, [pc, #652] ; (804626c ) 8045fde: 781b ldrb r3, [r3, #0] 8045fe0: b2db uxtb r3, r3 8045fe2: 2b00 cmp r3, #0 8045fe4: d011 beq.n 804600a { if(pardata.ROLL_COUNT > 5) pardata.ROLL_COUNT--; 8045fe6: 4ba2 ldr r3, [pc, #648] ; (8046270 ) 8045fe8: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 8045fec: 2b05 cmp r3, #5 8045fee: d907 bls.n 8046000 8045ff0: 4b9f ldr r3, [pc, #636] ; (8046270 ) 8045ff2: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 8045ff6: 3b01 subs r3, #1 8045ff8: 4a9d ldr r2, [pc, #628] ; (8046270 ) 8045ffa: f8c2 30bc str.w r3, [r2, #188] ; 0xbc else pardata.ROLL_COUNT = 99; } else menupos = Ok; break; 8045ffe: e026 b.n 804604e else pardata.ROLL_COUNT = 99; 8046000: 4b9b ldr r3, [pc, #620] ; (8046270 ) 8046002: 2263 movs r2, #99 ; 0x63 8046004: f8c3 20bc str.w r2, [r3, #188] ; 0xbc break; 8046008: e021 b.n 804604e menupos = Ok; 804600a: 4b9a ldr r3, [pc, #616] ; (8046274 ) 804600c: 2200 movs r2, #0 804600e: 701a strb r2, [r3, #0] break; 8046010: e01d b.n 804604e case RollAverage: if(focused) 8046012: 4b96 ldr r3, [pc, #600] ; (804626c ) 8046014: 781b ldrb r3, [r3, #0] 8046016: b2db uxtb r3, r3 8046018: 2b00 cmp r3, #0 804601a: d010 beq.n 804603e { if(pardata.AVG > AVG1) pardata.AVG--; 804601c: 4b94 ldr r3, [pc, #592] ; (8046270 ) 804601e: 7b5b ldrb r3, [r3, #13] 8046020: b2db uxtb r3, r3 8046022: 2b00 cmp r3, #0 8046024: d007 beq.n 8046036 8046026: 4b92 ldr r3, [pc, #584] ; (8046270 ) 8046028: 7b5b ldrb r3, [r3, #13] 804602a: b2db uxtb r3, r3 804602c: 3b01 subs r3, #1 804602e: b2da uxtb r2, r3 8046030: 4b8f ldr r3, [pc, #572] ; (8046270 ) 8046032: 735a strb r2, [r3, #13] else pardata.AVG = AVG512; } else menupos = Ok; break; 8046034: e00b b.n 804604e else pardata.AVG = AVG512; 8046036: 4b8e ldr r3, [pc, #568] ; (8046270 ) 8046038: 2209 movs r2, #9 804603a: 735a strb r2, [r3, #13] break; 804603c: e007 b.n 804604e menupos = Ok; 804603e: 4b8d ldr r3, [pc, #564] ; (8046274 ) 8046040: 2200 movs r2, #0 8046042: 701a strb r2, [r3, #0] break; 8046044: e003 b.n 804604e case D_Inner: case D_Outer: case D_Angle: case RollAutoKu: case RollMax_ALL: menupos = Ok; 8046046: 4b8b ldr r3, [pc, #556] ; (8046274 ) 8046048: 2200 movs r2, #0 804604a: 701a strb r2, [r3, #0] break; 804604c: bf00 nop } break; 804604e: f001 ba7c b.w 804754a case PARAM_VIB: switch(menupos) 8046052: 4b88 ldr r3, [pc, #544] ; (8046274 ) 8046054: 781b ldrb r3, [r3, #0] 8046056: b2db uxtb r3, r3 8046058: 3b02 subs r3, #2 804605a: 2b22 cmp r3, #34 ; 0x22 804605c: f201 8278 bhi.w 8047550 8046060: a201 add r2, pc, #4 ; (adr r2, 8046068 ) 8046062: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8046066: bf00 nop 8046068: 08046185 .word 0x08046185 804606c: 080461b9 .word 0x080461b9 8046070: 080461ed .word 0x080461ed 8046074: 08046221 .word 0x08046221 8046078: 08046261 .word 0x08046261 804607c: 08046261 .word 0x08046261 8046080: 08046261 .word 0x08046261 8046084: 08046261 .word 0x08046261 8046088: 08046255 .word 0x08046255 804608c: 080460f5 .word 0x080460f5 8046090: 0804611d .word 0x0804611d 8046094: 08046115 .word 0x08046115 8046098: 0804610d .word 0x0804610d 804609c: 08046105 .word 0x08046105 80460a0: 080460fd .word 0x080460fd 80460a4: 08047551 .word 0x08047551 80460a8: 08047551 .word 0x08047551 80460ac: 08047551 .word 0x08047551 80460b0: 08047551 .word 0x08047551 80460b4: 08047551 .word 0x08047551 80460b8: 08047551 .word 0x08047551 80460bc: 08046261 .word 0x08046261 80460c0: 08046261 .word 0x08046261 80460c4: 08046125 .word 0x08046125 80460c8: 0804614d .word 0x0804614d 80460cc: 08046145 .word 0x08046145 80460d0: 0804613d .word 0x0804613d 80460d4: 08046135 .word 0x08046135 80460d8: 0804612d .word 0x0804612d 80460dc: 08046155 .word 0x08046155 80460e0: 0804617d .word 0x0804617d 80460e4: 08046175 .word 0x08046175 80460e8: 0804616d .word 0x0804616d 80460ec: 08046165 .word 0x08046165 80460f0: 0804615d .word 0x0804615d { case VibMax_IDT: menupos = VibMax_IKD; break; 80460f4: 4b5f ldr r3, [pc, #380] ; (8046274 ) 80460f6: 2210 movs r2, #16 80460f8: 701a strb r2, [r3, #0] 80460fa: e0b5 b.n 8046268 case VibMax_IKD: menupos = VibMax_IEE; break; 80460fc: 4b5d ldr r3, [pc, #372] ; (8046274 ) 80460fe: 220f movs r2, #15 8046100: 701a strb r2, [r3, #0] 8046102: e0b1 b.n 8046268 case VibMax_IEE: menupos = VibMax_IED; break; 8046104: 4b5b ldr r3, [pc, #364] ; (8046274 ) 8046106: 220e movs r2, #14 8046108: 701a strb r2, [r3, #0] 804610a: e0ad b.n 8046268 case VibMax_IED: menupos = VibMax_IES; break; 804610c: 4b59 ldr r3, [pc, #356] ; (8046274 ) 804610e: 220d movs r2, #13 8046110: 701a strb r2, [r3, #0] 8046112: e0a9 b.n 8046268 case VibMax_IES: menupos = VibMax_IET; break; 8046114: 4b57 ldr r3, [pc, #348] ; (8046274 ) 8046116: 220c movs r2, #12 8046118: 701a strb r2, [r3, #0] 804611a: e0a5 b.n 8046268 case VibMax_IET: menupos = VibMax_IDT; break; 804611c: 4b55 ldr r3, [pc, #340] ; (8046274 ) 804611e: 220b movs r2, #11 8046120: 701a strb r2, [r3, #0] 8046122: e0a1 b.n 8046268 case FilterHP_IDT: menupos = FilterHP_IKD; break; 8046124: 4b53 ldr r3, [pc, #332] ; (8046274 ) 8046126: 221e movs r2, #30 8046128: 701a strb r2, [r3, #0] 804612a: e09d b.n 8046268 case FilterHP_IKD: menupos = FilterHP_IEE; break; 804612c: 4b51 ldr r3, [pc, #324] ; (8046274 ) 804612e: 221d movs r2, #29 8046130: 701a strb r2, [r3, #0] 8046132: e099 b.n 8046268 case FilterHP_IEE: menupos = FilterHP_IED; break; 8046134: 4b4f ldr r3, [pc, #316] ; (8046274 ) 8046136: 221c movs r2, #28 8046138: 701a strb r2, [r3, #0] 804613a: e095 b.n 8046268 case FilterHP_IED: menupos = FilterHP_IES; break; 804613c: 4b4d ldr r3, [pc, #308] ; (8046274 ) 804613e: 221b movs r2, #27 8046140: 701a strb r2, [r3, #0] 8046142: e091 b.n 8046268 case FilterHP_IES: menupos = FilterHP_IET; break; 8046144: 4b4b ldr r3, [pc, #300] ; (8046274 ) 8046146: 221a movs r2, #26 8046148: 701a strb r2, [r3, #0] 804614a: e08d b.n 8046268 case FilterHP_IET: menupos = FilterHP_IDT; break; 804614c: 4b49 ldr r3, [pc, #292] ; (8046274 ) 804614e: 2219 movs r2, #25 8046150: 701a strb r2, [r3, #0] 8046152: e089 b.n 8046268 case FilterLP_IDT: menupos = FilterLP_IKD; break; 8046154: 4b47 ldr r3, [pc, #284] ; (8046274 ) 8046156: 2224 movs r2, #36 ; 0x24 8046158: 701a strb r2, [r3, #0] 804615a: e085 b.n 8046268 case FilterLP_IKD: menupos = FilterLP_IEE; break; 804615c: 4b45 ldr r3, [pc, #276] ; (8046274 ) 804615e: 2223 movs r2, #35 ; 0x23 8046160: 701a strb r2, [r3, #0] 8046162: e081 b.n 8046268 case FilterLP_IEE: menupos = FilterLP_IED; break; 8046164: 4b43 ldr r3, [pc, #268] ; (8046274 ) 8046166: 2222 movs r2, #34 ; 0x22 8046168: 701a strb r2, [r3, #0] 804616a: e07d b.n 8046268 case FilterLP_IED: menupos = FilterLP_IES; break; 804616c: 4b41 ldr r3, [pc, #260] ; (8046274 ) 804616e: 2221 movs r2, #33 ; 0x21 8046170: 701a strb r2, [r3, #0] 8046172: e079 b.n 8046268 case FilterLP_IES: menupos = FilterLP_IET; break; 8046174: 4b3f ldr r3, [pc, #252] ; (8046274 ) 8046176: 2220 movs r2, #32 8046178: 701a strb r2, [r3, #0] 804617a: e075 b.n 8046268 case FilterLP_IET: menupos = FilterLP_IDT; break; 804617c: 4b3d ldr r3, [pc, #244] ; (8046274 ) 804617e: 221f movs r2, #31 8046180: 701a strb r2, [r3, #0] 8046182: e071 b.n 8046268 case ValueA: if(focused) 8046184: 4b39 ldr r3, [pc, #228] ; (804626c ) 8046186: 781b ldrb r3, [r3, #0] 8046188: b2db uxtb r3, r3 804618a: 2b00 cmp r3, #0 804618c: d010 beq.n 80461b0 { if(pardata.IVS[ACC] > PEAK) pardata.IVS[ACC]--; 804618e: 4b38 ldr r3, [pc, #224] ; (8046270 ) 8046190: 789b ldrb r3, [r3, #2] 8046192: b2db uxtb r3, r3 8046194: 2b00 cmp r3, #0 8046196: d007 beq.n 80461a8 8046198: 4b35 ldr r3, [pc, #212] ; (8046270 ) 804619a: 789b ldrb r3, [r3, #2] 804619c: b2db uxtb r3, r3 804619e: 3b01 subs r3, #1 80461a0: b2da uxtb r2, r3 80461a2: 4b33 ldr r3, [pc, #204] ; (8046270 ) 80461a4: 709a strb r2, [r3, #2] else pardata.IVS[ACC] = EXCESS; } else menupos = Ok; break; 80461a6: e05f b.n 8046268 else pardata.IVS[ACC] = EXCESS; 80461a8: 4b31 ldr r3, [pc, #196] ; (8046270 ) 80461aa: 2204 movs r2, #4 80461ac: 709a strb r2, [r3, #2] break; 80461ae: e05b b.n 8046268 menupos = Ok; 80461b0: 4b30 ldr r3, [pc, #192] ; (8046274 ) 80461b2: 2200 movs r2, #0 80461b4: 701a strb r2, [r3, #0] break; 80461b6: e057 b.n 8046268 case ValueV: if(focused) 80461b8: 4b2c ldr r3, [pc, #176] ; (804626c ) 80461ba: 781b ldrb r3, [r3, #0] 80461bc: b2db uxtb r3, r3 80461be: 2b00 cmp r3, #0 80461c0: d010 beq.n 80461e4 { if(pardata.IVS[VEL] > PEAK) pardata.IVS[VEL]--; 80461c2: 4b2b ldr r3, [pc, #172] ; (8046270 ) 80461c4: 78db ldrb r3, [r3, #3] 80461c6: b2db uxtb r3, r3 80461c8: 2b00 cmp r3, #0 80461ca: d007 beq.n 80461dc 80461cc: 4b28 ldr r3, [pc, #160] ; (8046270 ) 80461ce: 78db ldrb r3, [r3, #3] 80461d0: b2db uxtb r3, r3 80461d2: 3b01 subs r3, #1 80461d4: b2da uxtb r2, r3 80461d6: 4b26 ldr r3, [pc, #152] ; (8046270 ) 80461d8: 70da strb r2, [r3, #3] else pardata.IVS[VEL] = EXCESS; } else menupos = Ok; break; 80461da: e045 b.n 8046268 else pardata.IVS[VEL] = EXCESS; 80461dc: 4b24 ldr r3, [pc, #144] ; (8046270 ) 80461de: 2204 movs r2, #4 80461e0: 70da strb r2, [r3, #3] break; 80461e2: e041 b.n 8046268 menupos = Ok; 80461e4: 4b23 ldr r3, [pc, #140] ; (8046274 ) 80461e6: 2200 movs r2, #0 80461e8: 701a strb r2, [r3, #0] break; 80461ea: e03d b.n 8046268 case ValueS: if(focused) 80461ec: 4b1f ldr r3, [pc, #124] ; (804626c ) 80461ee: 781b ldrb r3, [r3, #0] 80461f0: b2db uxtb r3, r3 80461f2: 2b00 cmp r3, #0 80461f4: d010 beq.n 8046218 { if(pardata.IVS[DIS] > PEAK) pardata.IVS[DIS]--; 80461f6: 4b1e ldr r3, [pc, #120] ; (8046270 ) 80461f8: 791b ldrb r3, [r3, #4] 80461fa: b2db uxtb r3, r3 80461fc: 2b00 cmp r3, #0 80461fe: d007 beq.n 8046210 8046200: 4b1b ldr r3, [pc, #108] ; (8046270 ) 8046202: 791b ldrb r3, [r3, #4] 8046204: b2db uxtb r3, r3 8046206: 3b01 subs r3, #1 8046208: b2da uxtb r2, r3 804620a: 4b19 ldr r3, [pc, #100] ; (8046270 ) 804620c: 711a strb r2, [r3, #4] else pardata.IVS[DIS] = EXCESS; } else menupos = Ok; break; 804620e: e02b b.n 8046268 else pardata.IVS[DIS] = EXCESS; 8046210: 4b17 ldr r3, [pc, #92] ; (8046270 ) 8046212: 2204 movs r2, #4 8046214: 711a strb r2, [r3, #4] break; 8046216: e027 b.n 8046268 menupos = Ok; 8046218: 4b16 ldr r3, [pc, #88] ; (8046274 ) 804621a: 2200 movs r2, #0 804621c: 701a strb r2, [r3, #0] break; 804621e: e023 b.n 8046268 case Average: if(focused) 8046220: 4b12 ldr r3, [pc, #72] ; (804626c ) 8046222: 781b ldrb r3, [r3, #0] 8046224: b2db uxtb r3, r3 8046226: 2b00 cmp r3, #0 8046228: d010 beq.n 804624c { if(pardata.AVG > AVG1) pardata.AVG--; 804622a: 4b11 ldr r3, [pc, #68] ; (8046270 ) 804622c: 7b5b ldrb r3, [r3, #13] 804622e: b2db uxtb r3, r3 8046230: 2b00 cmp r3, #0 8046232: d007 beq.n 8046244 8046234: 4b0e ldr r3, [pc, #56] ; (8046270 ) 8046236: 7b5b ldrb r3, [r3, #13] 8046238: b2db uxtb r3, r3 804623a: 3b01 subs r3, #1 804623c: b2da uxtb r2, r3 804623e: 4b0c ldr r3, [pc, #48] ; (8046270 ) 8046240: 735a strb r2, [r3, #13] else pardata.AVG = AVG512; } else menupos = Ok; break; 8046242: e011 b.n 8046268 else pardata.AVG = AVG512; 8046244: 4b0a ldr r3, [pc, #40] ; (8046270 ) 8046246: 2209 movs r2, #9 8046248: 735a strb r2, [r3, #13] break; 804624a: e00d b.n 8046268 menupos = Ok; 804624c: 4b09 ldr r3, [pc, #36] ; (8046274 ) 804624e: 2200 movs r2, #0 8046250: 701a strb r2, [r3, #0] break; 8046252: e009 b.n 8046268 case SaveToFile: memset(MeasFileName, 0, sizeof(MeasFileName)); 8046254: 2221 movs r2, #33 ; 0x21 8046256: 2100 movs r1, #0 8046258: 4807 ldr r0, [pc, #28] ; (8046278 ) 804625a: f08b fea3 bl 80d1fa4 break; 804625e: e003 b.n 8046268 case ViewFreq: case VibAutoKu: case VibMax_ALL: case FilterHP: case FilterLP: menupos = Ok; 8046260: 4b04 ldr r3, [pc, #16] ; (8046274 ) 8046262: 2200 movs r2, #0 8046264: 701a strb r2, [r3, #0] break; 8046266: bf00 nop } break; 8046268: f001 b972 b.w 8047550 804626c: 20020fd0 .word 0x20020fd0 8046270: 20023eb8 .word 0x20023eb8 8046274: 20020070 .word 0x20020070 8046278: 20020e80 .word 0x20020e80 case PARAM_SPEC: switch(menupos) 804627c: 4bc5 ldr r3, [pc, #788] ; (8046594 ) 804627e: 781b ldrb r3, [r3, #0] 8046280: b2db uxtb r3, r3 8046282: 3b01 subs r3, #1 8046284: 2b23 cmp r3, #35 ; 0x23 8046286: f201 8166 bhi.w 8047556 804628a: a201 add r2, pc, #4 ; (adr r2, 8046290 ) 804628c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8046290: 08046321 .word 0x08046321 8046294: 08046895 .word 0x08046895 8046298: 08047557 .word 0x08047557 804629c: 08046bbb .word 0x08046bbb 80462a0: 08046c23 .word 0x08046c23 80462a4: 08046bef .word 0x08046bef 80462a8: 08046c4f .word 0x08046c4f 80462ac: 080467e7 .word 0x080467e7 80462b0: 080467e7 .word 0x080467e7 80462b4: 08047557 .word 0x08047557 80462b8: 080467ef .word 0x080467ef 80462bc: 08046817 .word 0x08046817 80462c0: 0804680f .word 0x0804680f 80462c4: 08046807 .word 0x08046807 80462c8: 080467ff .word 0x080467ff 80462cc: 080467f7 .word 0x080467f7 80462d0: 08047557 .word 0x08047557 80462d4: 08047557 .word 0x08047557 80462d8: 08047557 .word 0x08047557 80462dc: 08047557 .word 0x08047557 80462e0: 08047557 .word 0x08047557 80462e4: 08047557 .word 0x08047557 80462e8: 08047557 .word 0x08047557 80462ec: 08047557 .word 0x08047557 80462f0: 0804681f .word 0x0804681f 80462f4: 08046847 .word 0x08046847 80462f8: 0804683f .word 0x0804683f 80462fc: 08046837 .word 0x08046837 8046300: 0804682f .word 0x0804682f 8046304: 08046827 .word 0x08046827 8046308: 0804684f .word 0x0804684f 804630c: 08046877 .word 0x08046877 8046310: 0804686f .word 0x0804686f 8046314: 08046867 .word 0x08046867 8046318: 0804685f .word 0x0804685f 804631c: 08046857 .word 0x08046857 { case SpecType: if(focused) 8046320: 4b9d ldr r3, [pc, #628] ; (8046598 ) 8046322: 781b ldrb r3, [r3, #0] 8046324: b2db uxtb r3, r3 8046326: 2b00 cmp r3, #0 8046328: f000 8258 beq.w 80467dc { if((pardata.OPTIONS & maskFFT) == fft) 804632c: 4b9b ldr r3, [pc, #620] ; (804659c ) 804632e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8046332: f003 0330 and.w r3, r3, #48 ; 0x30 8046336: 2b00 cmp r3, #0 8046338: f040 809a bne.w 8046470 { pardata.OPTIONS &= ~maskFFT; 804633c: 4b97 ldr r3, [pc, #604] ; (804659c ) 804633e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8046342: f023 0330 bic.w r3, r3, #48 ; 0x30 8046346: 4a95 ldr r2, [pc, #596] ; (804659c ) 8046348: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= third; 804634c: 4b93 ldr r3, [pc, #588] ; (804659c ) 804634e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8046352: f043 0330 orr.w r3, r3, #48 ; 0x30 8046356: 4a91 ldr r2, [pc, #580] ; (804659c ) 8046358: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 804635c: 4b8f ldr r3, [pc, #572] ; (804659c ) 804635e: 785b ldrb r3, [r3, #1] 8046360: b2db uxtb r3, r3 8046362: 461a mov r2, r3 8046364: 4b8d ldr r3, [pc, #564] ; (804659c ) 8046366: 4413 add r3, r2 8046368: 789b ldrb r3, [r3, #2] 804636a: b2db uxtb r3, r3 804636c: 2b01 cmp r3, #1 804636e: d907 bls.n 8046380 pardata.IVS[pardata.IPR] = PEAK; 8046370: 4b8a ldr r3, [pc, #552] ; (804659c ) 8046372: 785b ldrb r3, [r3, #1] 8046374: b2db uxtb r3, r3 8046376: 461a mov r2, r3 8046378: 4b88 ldr r3, [pc, #544] ; (804659c ) 804637a: 4413 add r3, r2 804637c: 2200 movs r2, #0 804637e: 709a strb r2, [r3, #2] pardata.LNE = N3200; 8046380: 4b86 ldr r3, [pc, #536] ; (804659c ) 8046382: 2203 movs r2, #3 8046384: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 8046386: 4b85 ldr r3, [pc, #532] ; (804659c ) 8046388: 2209 movs r2, #9 804638a: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 804638c: 4b83 ldr r3, [pc, #524] ; (804659c ) 804638e: 785b ldrb r3, [r3, #1] 8046390: b2db uxtb r3, r3 8046392: 2b00 cmp r3, #0 8046394: d00e beq.n 80463b4 8046396: 4b81 ldr r3, [pc, #516] ; (804659c ) 8046398: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804639c: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80463a0: eef4 7ac7 vcmpe.f32 s15, s14 80463a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80463a8: d504 bpl.n 80463b4 pardata.HP = 2.0f; 80463aa: 4b7c ldr r3, [pc, #496] ; (804659c ) 80463ac: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80463b0: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 80463b4: 4b79 ldr r3, [pc, #484] ; (804659c ) 80463b6: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 80463ba: 4b78 ldr r3, [pc, #480] ; (804659c ) 80463bc: 7adb ldrb r3, [r3, #11] 80463be: b2db uxtb r3, r3 80463c0: 461a mov r2, r3 80463c2: 4b77 ldr r3, [pc, #476] ; (80465a0 ) 80463c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80463c8: ee07 3a90 vmov s15, r3 80463cc: eef8 6a67 vcvt.f32.u32 s13, s15 80463d0: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 80463d4: eec6 7a86 vdiv.f32 s15, s13, s12 80463d8: eeb4 7ae7 vcmpe.f32 s14, s15 80463dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80463e0: dd15 ble.n 804640e pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 80463e2: 4b6e ldr r3, [pc, #440] ; (804659c ) 80463e4: 7adb ldrb r3, [r3, #11] 80463e6: b2db uxtb r3, r3 80463e8: 461a mov r2, r3 80463ea: 4b6d ldr r3, [pc, #436] ; (80465a0 ) 80463ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80463f0: ee07 3a90 vmov s15, r3 80463f4: eeb8 7a67 vcvt.f32.u32 s14, s15 80463f8: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 80463fc: eec7 7a26 vdiv.f32 s15, s14, s13 8046400: ed9f 7a68 vldr s14, [pc, #416] ; 80465a4 8046404: ee77 7a87 vadd.f32 s15, s15, s14 8046408: 4b64 ldr r3, [pc, #400] ; (804659c ) 804640a: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 804640e: 4b63 ldr r3, [pc, #396] ; (804659c ) 8046410: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8046414: 4b61 ldr r3, [pc, #388] ; (804659c ) 8046416: 7adb ldrb r3, [r3, #11] 8046418: b2db uxtb r3, r3 804641a: 461a mov r2, r3 804641c: 4b60 ldr r3, [pc, #384] ; (80465a0 ) 804641e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046422: ee07 3a90 vmov s15, r3 8046426: eef8 6a67 vcvt.f32.u32 s13, s15 804642a: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 804642e: eec6 7a86 vdiv.f32 s15, s13, s12 8046432: eeb4 7ae7 vcmpe.f32 s14, s15 8046436: eef1 fa10 vmrs APSR_nzcv, fpscr 804643a: dc01 bgt.n 8046440 } } } else menupos = Ok; break; 804643c: f000 bc21 b.w 8046c82 pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8046440: 4b56 ldr r3, [pc, #344] ; (804659c ) 8046442: 7adb ldrb r3, [r3, #11] 8046444: b2db uxtb r3, r3 8046446: 461a mov r2, r3 8046448: 4b55 ldr r3, [pc, #340] ; (80465a0 ) 804644a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804644e: ee07 3a90 vmov s15, r3 8046452: eeb8 7a67 vcvt.f32.u32 s14, s15 8046456: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 804645a: eec7 7a26 vdiv.f32 s15, s14, s13 804645e: ed9f 7a51 vldr s14, [pc, #324] ; 80465a4 8046462: ee77 7a87 vadd.f32 s15, s15, s14 8046466: 4b4d ldr r3, [pc, #308] ; (804659c ) 8046468: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 804646c: f000 bc09 b.w 8046c82 if((pardata.OPTIONS & maskFFT) == third) 8046470: 4b4a ldr r3, [pc, #296] ; (804659c ) 8046472: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8046476: f003 0330 and.w r3, r3, #48 ; 0x30 804647a: 2b30 cmp r3, #48 ; 0x30 804647c: f040 80af bne.w 80465de pardata.OPTIONS &= ~maskFFT; 8046480: 4b46 ldr r3, [pc, #280] ; (804659c ) 8046482: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8046486: f023 0330 bic.w r3, r3, #48 ; 0x30 804648a: 4a44 ldr r2, [pc, #272] ; (804659c ) 804648c: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= okt; 8046490: 4b42 ldr r3, [pc, #264] ; (804659c ) 8046492: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8046496: f043 0320 orr.w r3, r3, #32 804649a: 4a40 ldr r2, [pc, #256] ; (804659c ) 804649c: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 80464a0: 4b3e ldr r3, [pc, #248] ; (804659c ) 80464a2: 785b ldrb r3, [r3, #1] 80464a4: b2db uxtb r3, r3 80464a6: 461a mov r2, r3 80464a8: 4b3c ldr r3, [pc, #240] ; (804659c ) 80464aa: 4413 add r3, r2 80464ac: 789b ldrb r3, [r3, #2] 80464ae: b2db uxtb r3, r3 80464b0: 2b01 cmp r3, #1 80464b2: d907 bls.n 80464c4 pardata.IVS[pardata.IPR] = PEAK; 80464b4: 4b39 ldr r3, [pc, #228] ; (804659c ) 80464b6: 785b ldrb r3, [r3, #1] 80464b8: b2db uxtb r3, r3 80464ba: 461a mov r2, r3 80464bc: 4b37 ldr r3, [pc, #220] ; (804659c ) 80464be: 4413 add r3, r2 80464c0: 2200 movs r2, #0 80464c2: 709a strb r2, [r3, #2] pardata.LNE = N3200; 80464c4: 4b35 ldr r3, [pc, #212] ; (804659c ) 80464c6: 2203 movs r2, #3 80464c8: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 80464ca: 4b34 ldr r3, [pc, #208] ; (804659c ) 80464cc: 2209 movs r2, #9 80464ce: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 80464d0: 4b32 ldr r3, [pc, #200] ; (804659c ) 80464d2: 785b ldrb r3, [r3, #1] 80464d4: b2db uxtb r3, r3 80464d6: 2b00 cmp r3, #0 80464d8: d00e beq.n 80464f8 80464da: 4b30 ldr r3, [pc, #192] ; (804659c ) 80464dc: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80464e0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80464e4: eef4 7ac7 vcmpe.f32 s15, s14 80464e8: eef1 fa10 vmrs APSR_nzcv, fpscr 80464ec: d504 bpl.n 80464f8 pardata.HP = 2.0f; 80464ee: 4b2b ldr r3, [pc, #172] ; (804659c ) 80464f0: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80464f4: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 80464f8: 4b28 ldr r3, [pc, #160] ; (804659c ) 80464fa: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 80464fe: 4b27 ldr r3, [pc, #156] ; (804659c ) 8046500: 7adb ldrb r3, [r3, #11] 8046502: b2db uxtb r3, r3 8046504: 461a mov r2, r3 8046506: 4b26 ldr r3, [pc, #152] ; (80465a0 ) 8046508: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804650c: ee07 3a90 vmov s15, r3 8046510: eef8 6a67 vcvt.f32.u32 s13, s15 8046514: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8046518: eec6 7a86 vdiv.f32 s15, s13, s12 804651c: eddf 6a22 vldr s13, [pc, #136] ; 80465a8 8046520: ee77 7aa6 vadd.f32 s15, s15, s13 8046524: eeb4 7ae7 vcmpe.f32 s14, s15 8046528: eef1 fa10 vmrs APSR_nzcv, fpscr 804652c: dd15 ble.n 804655a pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 804652e: 4b1b ldr r3, [pc, #108] ; (804659c ) 8046530: 7adb ldrb r3, [r3, #11] 8046532: b2db uxtb r3, r3 8046534: 461a mov r2, r3 8046536: 4b1a ldr r3, [pc, #104] ; (80465a0 ) 8046538: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804653c: 4a1b ldr r2, [pc, #108] ; (80465ac ) 804653e: fba2 2303 umull r2, r3, r2, r3 8046542: 089b lsrs r3, r3, #2 8046544: ee07 3a90 vmov s15, r3 8046548: eef8 7a67 vcvt.f32.u32 s15, s15 804654c: ed9f 7a15 vldr s14, [pc, #84] ; 80465a4 8046550: ee77 7a87 vadd.f32 s15, s15, s14 8046554: 4b11 ldr r3, [pc, #68] ; (804659c ) 8046556: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 804655a: 4b10 ldr r3, [pc, #64] ; (804659c ) 804655c: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8046560: 4b0e ldr r3, [pc, #56] ; (804659c ) 8046562: 7adb ldrb r3, [r3, #11] 8046564: b2db uxtb r3, r3 8046566: 461a mov r2, r3 8046568: 4b0d ldr r3, [pc, #52] ; (80465a0 ) 804656a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804656e: ee07 3a90 vmov s15, r3 8046572: eef8 6a67 vcvt.f32.u32 s13, s15 8046576: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 804657a: eec6 7a86 vdiv.f32 s15, s13, s12 804657e: eddf 6a0a vldr s13, [pc, #40] ; 80465a8 8046582: ee77 7aa6 vadd.f32 s15, s15, s13 8046586: eeb4 7ae7 vcmpe.f32 s14, s15 804658a: eef1 fa10 vmrs APSR_nzcv, fpscr 804658e: dc0f bgt.n 80465b0 break; 8046590: e377 b.n 8046c82 8046592: bf00 nop 8046594: 20020070 .word 0x20020070 8046598: 20020fd0 .word 0x20020fd0 804659c: 20023eb8 .word 0x20023eb8 80465a0: 080f5268 .word 0x080f5268 80465a4: 38d1b717 .word 0x38d1b717 80465a8: 3851b717 .word 0x3851b717 80465ac: cccccccd .word 0xcccccccd pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 80465b0: 4bb3 ldr r3, [pc, #716] ; (8046880 ) 80465b2: 7adb ldrb r3, [r3, #11] 80465b4: b2db uxtb r3, r3 80465b6: 461a mov r2, r3 80465b8: 4bb2 ldr r3, [pc, #712] ; (8046884 ) 80465ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80465be: 4ab2 ldr r2, [pc, #712] ; (8046888 ) 80465c0: fba2 2303 umull r2, r3, r2, r3 80465c4: 089b lsrs r3, r3, #2 80465c6: ee07 3a90 vmov s15, r3 80465ca: eef8 7a67 vcvt.f32.u32 s15, s15 80465ce: ed9f 7aaf vldr s14, [pc, #700] ; 804688c 80465d2: ee77 7a87 vadd.f32 s15, s15, s14 80465d6: 4baa ldr r3, [pc, #680] ; (8046880 ) 80465d8: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 80465dc: e351 b.n 8046c82 if((pardata.OPTIONS & maskFFT) == okt) 80465de: 4ba8 ldr r3, [pc, #672] ; (8046880 ) 80465e0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80465e4: f003 0330 and.w r3, r3, #48 ; 0x30 80465e8: 2b20 cmp r3, #32 80465ea: d178 bne.n 80466de pardata.OPTIONS &= ~maskFFT; 80465ec: 4ba4 ldr r3, [pc, #656] ; (8046880 ) 80465ee: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80465f2: f023 0330 bic.w r3, r3, #48 ; 0x30 80465f6: 4aa2 ldr r2, [pc, #648] ; (8046880 ) 80465f8: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= env; 80465fc: 4ba0 ldr r3, [pc, #640] ; (8046880 ) 80465fe: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8046602: f043 0310 orr.w r3, r3, #16 8046606: 4a9e ldr r2, [pc, #632] ; (8046880 ) 8046608: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 804660c: 4b9c ldr r3, [pc, #624] ; (8046880 ) 804660e: 785b ldrb r3, [r3, #1] 8046610: b2db uxtb r3, r3 8046612: 461a mov r2, r3 8046614: 4b9a ldr r3, [pc, #616] ; (8046880 ) 8046616: 4413 add r3, r2 8046618: 789b ldrb r3, [r3, #2] 804661a: b2db uxtb r3, r3 804661c: 2b01 cmp r3, #1 804661e: d907 bls.n 8046630 pardata.IVS[pardata.IPR] = PEAK; 8046620: 4b97 ldr r3, [pc, #604] ; (8046880 ) 8046622: 785b ldrb r3, [r3, #1] 8046624: b2db uxtb r3, r3 8046626: 461a mov r2, r3 8046628: 4b95 ldr r3, [pc, #596] ; (8046880 ) 804662a: 4413 add r3, r2 804662c: 2200 movs r2, #0 804662e: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8046630: 4b93 ldr r3, [pc, #588] ; (8046880 ) 8046632: 785b ldrb r3, [r3, #1] 8046634: b2db uxtb r3, r3 8046636: 2b00 cmp r3, #0 8046638: d00e beq.n 8046658 804663a: 4b91 ldr r3, [pc, #580] ; (8046880 ) 804663c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8046640: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8046644: eef4 7ac7 vcmpe.f32 s15, s14 8046648: eef1 fa10 vmrs APSR_nzcv, fpscr 804664c: d504 bpl.n 8046658 pardata.HP = 2.0f; 804664e: 4b8c ldr r3, [pc, #560] ; (8046880 ) 8046650: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8046654: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 8046658: 2309 movs r3, #9 804665a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 804665e: e039 b.n 80466d4 f = (float32_t) FS[k] / pardata.LP; 8046660: 4a88 ldr r2, [pc, #544] ; (8046884 ) 8046662: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046666: f852 3023 ldr.w r3, [r2, r3, lsl #2] 804666a: ee07 3a90 vmov s15, r3 804666e: eef8 6a67 vcvt.f32.u32 s13, s15 8046672: 4b83 ldr r3, [pc, #524] ; (8046880 ) 8046674: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8046678: eec6 7a87 vdiv.f32 s15, s13, s14 804667c: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8046680: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8046684: ed9f 7a81 vldr s14, [pc, #516] ; 804688c 8046688: ee77 7a87 vadd.f32 s15, s15, s14 804668c: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8046690: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8046694: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8046698: eef4 7ac7 vcmpe.f32 s15, s14 804669c: eef1 fa10 vmrs APSR_nzcv, fpscr 80466a0: d507 bpl.n 80466b2 pardata.FRQ = k + 1; 80466a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80466a6: b2db uxtb r3, r3 80466a8: 3301 adds r3, #1 80466aa: b2da uxtb r2, r3 80466ac: 4b74 ldr r3, [pc, #464] ; (8046880 ) 80466ae: 72da strb r2, [r3, #11] break; 80466b0: e098 b.n 80467e4 if(k > 0) 80466b2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80466b6: 2b00 cmp r3, #0 80466b8: d004 beq.n 80466c4 k--; 80466ba: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80466be: 3b01 subs r3, #1 80466c0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 80466c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80466c8: 2b00 cmp r3, #0 80466ca: d103 bne.n 80466d4 pardata.FRQ = _125Hz; 80466cc: 4b6c ldr r3, [pc, #432] ; (8046880 ) 80466ce: 2200 movs r2, #0 80466d0: 72da strb r2, [r3, #11] break; 80466d2: e087 b.n 80467e4 while(k > _125Hz) 80466d4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80466d8: 2b00 cmp r3, #0 80466da: d1c1 bne.n 8046660 break; 80466dc: e2d1 b.n 8046c82 if((pardata.OPTIONS & maskFFT) == env) 80466de: 4b68 ldr r3, [pc, #416] ; (8046880 ) 80466e0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80466e4: f003 0330 and.w r3, r3, #48 ; 0x30 80466e8: 2b10 cmp r3, #16 80466ea: f040 82ca bne.w 8046c82 pardata.OPTIONS &= ~maskFFT; 80466ee: 4b64 ldr r3, [pc, #400] ; (8046880 ) 80466f0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80466f4: f023 0330 bic.w r3, r3, #48 ; 0x30 80466f8: 4a61 ldr r2, [pc, #388] ; (8046880 ) 80466fa: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= fft; 80466fe: 4b60 ldr r3, [pc, #384] ; (8046880 ) 8046700: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8046704: 4a5e ldr r2, [pc, #376] ; (8046880 ) 8046706: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 804670a: 4b5d ldr r3, [pc, #372] ; (8046880 ) 804670c: 785b ldrb r3, [r3, #1] 804670e: b2db uxtb r3, r3 8046710: 461a mov r2, r3 8046712: 4b5b ldr r3, [pc, #364] ; (8046880 ) 8046714: 4413 add r3, r2 8046716: 789b ldrb r3, [r3, #2] 8046718: b2db uxtb r3, r3 804671a: 2b01 cmp r3, #1 804671c: d907 bls.n 804672e pardata.IVS[pardata.IPR] = PEAK; 804671e: 4b58 ldr r3, [pc, #352] ; (8046880 ) 8046720: 785b ldrb r3, [r3, #1] 8046722: b2db uxtb r3, r3 8046724: 461a mov r2, r3 8046726: 4b56 ldr r3, [pc, #344] ; (8046880 ) 8046728: 4413 add r3, r2 804672a: 2200 movs r2, #0 804672c: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 804672e: 4b54 ldr r3, [pc, #336] ; (8046880 ) 8046730: 785b ldrb r3, [r3, #1] 8046732: b2db uxtb r3, r3 8046734: 2b00 cmp r3, #0 8046736: d00e beq.n 8046756 8046738: 4b51 ldr r3, [pc, #324] ; (8046880 ) 804673a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804673e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8046742: eef4 7ac7 vcmpe.f32 s15, s14 8046746: eef1 fa10 vmrs APSR_nzcv, fpscr 804674a: d504 bpl.n 8046756 pardata.HP = 2.0f; 804674c: 4b4c ldr r3, [pc, #304] ; (8046880 ) 804674e: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8046752: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 8046756: 2309 movs r3, #9 8046758: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 804675c: e039 b.n 80467d2 f = (float32_t) FS[k] / pardata.LP; 804675e: 4a49 ldr r2, [pc, #292] ; (8046884 ) 8046760: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046764: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8046768: ee07 3a90 vmov s15, r3 804676c: eef8 6a67 vcvt.f32.u32 s13, s15 8046770: 4b43 ldr r3, [pc, #268] ; (8046880 ) 8046772: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8046776: eec6 7a87 vdiv.f32 s15, s13, s14 804677a: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 804677e: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8046782: ed9f 7a42 vldr s14, [pc, #264] ; 804688c 8046786: ee77 7a87 vadd.f32 s15, s15, s14 804678a: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 804678e: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8046792: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8046796: eef4 7ac7 vcmpe.f32 s15, s14 804679a: eef1 fa10 vmrs APSR_nzcv, fpscr 804679e: d507 bpl.n 80467b0 pardata.FRQ = k + 1; 80467a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80467a4: b2db uxtb r3, r3 80467a6: 3301 adds r3, #1 80467a8: b2da uxtb r2, r3 80467aa: 4b35 ldr r3, [pc, #212] ; (8046880 ) 80467ac: 72da strb r2, [r3, #11] break; 80467ae: e019 b.n 80467e4 if(k > 0) 80467b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80467b4: 2b00 cmp r3, #0 80467b6: d004 beq.n 80467c2 k--; 80467b8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80467bc: 3b01 subs r3, #1 80467be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 80467c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80467c6: 2b00 cmp r3, #0 80467c8: d103 bne.n 80467d2 pardata.FRQ = _125Hz; 80467ca: 4b2d ldr r3, [pc, #180] ; (8046880 ) 80467cc: 2200 movs r2, #0 80467ce: 72da strb r2, [r3, #11] break; 80467d0: e008 b.n 80467e4 while(k > _125Hz) 80467d2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80467d6: 2b00 cmp r3, #0 80467d8: d1c1 bne.n 804675e break; 80467da: e252 b.n 8046c82 menupos = Ok; 80467dc: 4b2c ldr r3, [pc, #176] ; (8046890 ) 80467de: 2200 movs r2, #0 80467e0: 701a strb r2, [r3, #0] break; 80467e2: e24e b.n 8046c82 80467e4: e24d b.n 8046c82 case VibMax_ALL: case VibAutoKu: menupos = Ok; 80467e6: 4b2a ldr r3, [pc, #168] ; (8046890 ) 80467e8: 2200 movs r2, #0 80467ea: 701a strb r2, [r3, #0] break; 80467ec: e24a b.n 8046c84 case VibMax_IDT: menupos = VibMax_IKD; break; 80467ee: 4b28 ldr r3, [pc, #160] ; (8046890 ) 80467f0: 2210 movs r2, #16 80467f2: 701a strb r2, [r3, #0] 80467f4: e246 b.n 8046c84 case VibMax_IKD: menupos = VibMax_IEE; break; 80467f6: 4b26 ldr r3, [pc, #152] ; (8046890 ) 80467f8: 220f movs r2, #15 80467fa: 701a strb r2, [r3, #0] 80467fc: e242 b.n 8046c84 case VibMax_IEE: menupos = VibMax_IED; break; 80467fe: 4b24 ldr r3, [pc, #144] ; (8046890 ) 8046800: 220e movs r2, #14 8046802: 701a strb r2, [r3, #0] 8046804: e23e b.n 8046c84 case VibMax_IED: menupos = VibMax_IES; break; 8046806: 4b22 ldr r3, [pc, #136] ; (8046890 ) 8046808: 220d movs r2, #13 804680a: 701a strb r2, [r3, #0] 804680c: e23a b.n 8046c84 case VibMax_IES: menupos = VibMax_IET; break; 804680e: 4b20 ldr r3, [pc, #128] ; (8046890 ) 8046810: 220c movs r2, #12 8046812: 701a strb r2, [r3, #0] 8046814: e236 b.n 8046c84 case VibMax_IET: menupos = VibMax_IDT; break; 8046816: 4b1e ldr r3, [pc, #120] ; (8046890 ) 8046818: 220b movs r2, #11 804681a: 701a strb r2, [r3, #0] 804681c: e232 b.n 8046c84 case FilterHP_IDT: menupos = FilterHP_IKD; break; 804681e: 4b1c ldr r3, [pc, #112] ; (8046890 ) 8046820: 221e movs r2, #30 8046822: 701a strb r2, [r3, #0] 8046824: e22e b.n 8046c84 case FilterHP_IKD: menupos = FilterHP_IEE; break; 8046826: 4b1a ldr r3, [pc, #104] ; (8046890 ) 8046828: 221d movs r2, #29 804682a: 701a strb r2, [r3, #0] 804682c: e22a b.n 8046c84 case FilterHP_IEE: menupos = FilterHP_IED; break; 804682e: 4b18 ldr r3, [pc, #96] ; (8046890 ) 8046830: 221c movs r2, #28 8046832: 701a strb r2, [r3, #0] 8046834: e226 b.n 8046c84 case FilterHP_IED: menupos = FilterHP_IES; break; 8046836: 4b16 ldr r3, [pc, #88] ; (8046890 ) 8046838: 221b movs r2, #27 804683a: 701a strb r2, [r3, #0] 804683c: e222 b.n 8046c84 case FilterHP_IES: menupos = FilterHP_IET; break; 804683e: 4b14 ldr r3, [pc, #80] ; (8046890 ) 8046840: 221a movs r2, #26 8046842: 701a strb r2, [r3, #0] 8046844: e21e b.n 8046c84 case FilterHP_IET: menupos = FilterHP_IDT; break; 8046846: 4b12 ldr r3, [pc, #72] ; (8046890 ) 8046848: 2219 movs r2, #25 804684a: 701a strb r2, [r3, #0] 804684c: e21a b.n 8046c84 case FilterLP_IDT: menupos = FilterLP_IKD; break; 804684e: 4b10 ldr r3, [pc, #64] ; (8046890 ) 8046850: 2224 movs r2, #36 ; 0x24 8046852: 701a strb r2, [r3, #0] 8046854: e216 b.n 8046c84 case FilterLP_IKD: menupos = FilterLP_IEE; break; 8046856: 4b0e ldr r3, [pc, #56] ; (8046890 ) 8046858: 2223 movs r2, #35 ; 0x23 804685a: 701a strb r2, [r3, #0] 804685c: e212 b.n 8046c84 case FilterLP_IEE: menupos = FilterLP_IED; break; 804685e: 4b0c ldr r3, [pc, #48] ; (8046890 ) 8046860: 2222 movs r2, #34 ; 0x22 8046862: 701a strb r2, [r3, #0] 8046864: e20e b.n 8046c84 case FilterLP_IED: menupos = FilterLP_IES; break; 8046866: 4b0a ldr r3, [pc, #40] ; (8046890 ) 8046868: 2221 movs r2, #33 ; 0x21 804686a: 701a strb r2, [r3, #0] 804686c: e20a b.n 8046c84 case FilterLP_IES: menupos = FilterLP_IET; break; 804686e: 4b08 ldr r3, [pc, #32] ; (8046890 ) 8046870: 2220 movs r2, #32 8046872: 701a strb r2, [r3, #0] 8046874: e206 b.n 8046c84 case FilterLP_IET: menupos = FilterLP_IDT; break; 8046876: 4b06 ldr r3, [pc, #24] ; (8046890 ) 8046878: 221f movs r2, #31 804687a: 701a strb r2, [r3, #0] 804687c: e202 b.n 8046c84 804687e: bf00 nop 8046880: 20023eb8 .word 0x20023eb8 8046884: 080f5268 .word 0x080f5268 8046888: cccccccd .word 0xcccccccd 804688c: 38d1b717 .word 0x38d1b717 8046890: 20020070 .word 0x20020070 case SpecValue: if(focused) 8046894: 4bb5 ldr r3, [pc, #724] ; (8046b6c ) 8046896: 781b ldrb r3, [r3, #0] 8046898: b2db uxtb r3, r3 804689a: 2b00 cmp r3, #0 804689c: f000 8189 beq.w 8046bb2 { if((pardata.IPR == ACC) && (pardata.IVS[pardata.IPR] == PEAK)) 80468a0: 4bb3 ldr r3, [pc, #716] ; (8046b70 ) 80468a2: 785b ldrb r3, [r3, #1] 80468a4: b2db uxtb r3, r3 80468a6: 2b00 cmp r3, #0 80468a8: d115 bne.n 80468d6 80468aa: 4bb1 ldr r3, [pc, #708] ; (8046b70 ) 80468ac: 785b ldrb r3, [r3, #1] 80468ae: b2db uxtb r3, r3 80468b0: 461a mov r2, r3 80468b2: 4baf ldr r3, [pc, #700] ; (8046b70 ) 80468b4: 4413 add r3, r2 80468b6: 789b ldrb r3, [r3, #2] 80468b8: b2db uxtb r3, r3 80468ba: 2b00 cmp r3, #0 80468bc: d10b bne.n 80468d6 { pardata.IPR = DIS; 80468be: 4bac ldr r3, [pc, #688] ; (8046b70 ) 80468c0: 2202 movs r2, #2 80468c2: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 80468c4: 4baa ldr r3, [pc, #680] ; (8046b70 ) 80468c6: 785b ldrb r3, [r3, #1] 80468c8: b2db uxtb r3, r3 80468ca: 461a mov r2, r3 80468cc: 4ba8 ldr r3, [pc, #672] ; (8046b70 ) 80468ce: 4413 add r3, r2 80468d0: 2201 movs r2, #1 80468d2: 709a strb r2, [r3, #2] 80468d4: e085 b.n 80469e2 } else if((pardata.IPR == ACC) && (pardata.IVS[pardata.IPR] == RMS)) 80468d6: 4ba6 ldr r3, [pc, #664] ; (8046b70 ) 80468d8: 785b ldrb r3, [r3, #1] 80468da: b2db uxtb r3, r3 80468dc: 2b00 cmp r3, #0 80468de: d115 bne.n 804690c 80468e0: 4ba3 ldr r3, [pc, #652] ; (8046b70 ) 80468e2: 785b ldrb r3, [r3, #1] 80468e4: b2db uxtb r3, r3 80468e6: 461a mov r2, r3 80468e8: 4ba1 ldr r3, [pc, #644] ; (8046b70 ) 80468ea: 4413 add r3, r2 80468ec: 789b ldrb r3, [r3, #2] 80468ee: b2db uxtb r3, r3 80468f0: 2b01 cmp r3, #1 80468f2: d10b bne.n 804690c { pardata.IPR = ACC; 80468f4: 4b9e ldr r3, [pc, #632] ; (8046b70 ) 80468f6: 2200 movs r2, #0 80468f8: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 80468fa: 4b9d ldr r3, [pc, #628] ; (8046b70 ) 80468fc: 785b ldrb r3, [r3, #1] 80468fe: b2db uxtb r3, r3 8046900: 461a mov r2, r3 8046902: 4b9b ldr r3, [pc, #620] ; (8046b70 ) 8046904: 4413 add r3, r2 8046906: 2200 movs r2, #0 8046908: 709a strb r2, [r3, #2] 804690a: e06a b.n 80469e2 } else if((pardata.IPR == VEL) && (pardata.IVS[pardata.IPR] == PEAK)) 804690c: 4b98 ldr r3, [pc, #608] ; (8046b70 ) 804690e: 785b ldrb r3, [r3, #1] 8046910: b2db uxtb r3, r3 8046912: 2b01 cmp r3, #1 8046914: d115 bne.n 8046942 8046916: 4b96 ldr r3, [pc, #600] ; (8046b70 ) 8046918: 785b ldrb r3, [r3, #1] 804691a: b2db uxtb r3, r3 804691c: 461a mov r2, r3 804691e: 4b94 ldr r3, [pc, #592] ; (8046b70 ) 8046920: 4413 add r3, r2 8046922: 789b ldrb r3, [r3, #2] 8046924: b2db uxtb r3, r3 8046926: 2b00 cmp r3, #0 8046928: d10b bne.n 8046942 { pardata.IPR = ACC; 804692a: 4b91 ldr r3, [pc, #580] ; (8046b70 ) 804692c: 2200 movs r2, #0 804692e: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 8046930: 4b8f ldr r3, [pc, #572] ; (8046b70 ) 8046932: 785b ldrb r3, [r3, #1] 8046934: b2db uxtb r3, r3 8046936: 461a mov r2, r3 8046938: 4b8d ldr r3, [pc, #564] ; (8046b70 ) 804693a: 4413 add r3, r2 804693c: 2201 movs r2, #1 804693e: 709a strb r2, [r3, #2] 8046940: e04f b.n 80469e2 } else if((pardata.IPR == VEL) && (pardata.IVS[pardata.IPR] == RMS)) 8046942: 4b8b ldr r3, [pc, #556] ; (8046b70 ) 8046944: 785b ldrb r3, [r3, #1] 8046946: b2db uxtb r3, r3 8046948: 2b01 cmp r3, #1 804694a: d115 bne.n 8046978 804694c: 4b88 ldr r3, [pc, #544] ; (8046b70 ) 804694e: 785b ldrb r3, [r3, #1] 8046950: b2db uxtb r3, r3 8046952: 461a mov r2, r3 8046954: 4b86 ldr r3, [pc, #536] ; (8046b70 ) 8046956: 4413 add r3, r2 8046958: 789b ldrb r3, [r3, #2] 804695a: b2db uxtb r3, r3 804695c: 2b01 cmp r3, #1 804695e: d10b bne.n 8046978 { pardata.IPR = VEL; 8046960: 4b83 ldr r3, [pc, #524] ; (8046b70 ) 8046962: 2201 movs r2, #1 8046964: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 8046966: 4b82 ldr r3, [pc, #520] ; (8046b70 ) 8046968: 785b ldrb r3, [r3, #1] 804696a: b2db uxtb r3, r3 804696c: 461a mov r2, r3 804696e: 4b80 ldr r3, [pc, #512] ; (8046b70 ) 8046970: 4413 add r3, r2 8046972: 2200 movs r2, #0 8046974: 709a strb r2, [r3, #2] 8046976: e034 b.n 80469e2 } else if((pardata.IPR == DIS) && (pardata.IVS[pardata.IPR] == PEAK)) 8046978: 4b7d ldr r3, [pc, #500] ; (8046b70 ) 804697a: 785b ldrb r3, [r3, #1] 804697c: b2db uxtb r3, r3 804697e: 2b02 cmp r3, #2 8046980: d115 bne.n 80469ae 8046982: 4b7b ldr r3, [pc, #492] ; (8046b70 ) 8046984: 785b ldrb r3, [r3, #1] 8046986: b2db uxtb r3, r3 8046988: 461a mov r2, r3 804698a: 4b79 ldr r3, [pc, #484] ; (8046b70 ) 804698c: 4413 add r3, r2 804698e: 789b ldrb r3, [r3, #2] 8046990: b2db uxtb r3, r3 8046992: 2b00 cmp r3, #0 8046994: d10b bne.n 80469ae { pardata.IPR = VEL; 8046996: 4b76 ldr r3, [pc, #472] ; (8046b70 ) 8046998: 2201 movs r2, #1 804699a: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 804699c: 4b74 ldr r3, [pc, #464] ; (8046b70 ) 804699e: 785b ldrb r3, [r3, #1] 80469a0: b2db uxtb r3, r3 80469a2: 461a mov r2, r3 80469a4: 4b72 ldr r3, [pc, #456] ; (8046b70 ) 80469a6: 4413 add r3, r2 80469a8: 2201 movs r2, #1 80469aa: 709a strb r2, [r3, #2] 80469ac: e019 b.n 80469e2 } else if((pardata.IPR == DIS) && (pardata.IVS[pardata.IPR] == RMS)) 80469ae: 4b70 ldr r3, [pc, #448] ; (8046b70 ) 80469b0: 785b ldrb r3, [r3, #1] 80469b2: b2db uxtb r3, r3 80469b4: 2b02 cmp r3, #2 80469b6: d114 bne.n 80469e2 80469b8: 4b6d ldr r3, [pc, #436] ; (8046b70 ) 80469ba: 785b ldrb r3, [r3, #1] 80469bc: b2db uxtb r3, r3 80469be: 461a mov r2, r3 80469c0: 4b6b ldr r3, [pc, #428] ; (8046b70 ) 80469c2: 4413 add r3, r2 80469c4: 789b ldrb r3, [r3, #2] 80469c6: b2db uxtb r3, r3 80469c8: 2b01 cmp r3, #1 80469ca: d10a bne.n 80469e2 { pardata.IPR = DIS; 80469cc: 4b68 ldr r3, [pc, #416] ; (8046b70 ) 80469ce: 2202 movs r2, #2 80469d0: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 80469d2: 4b67 ldr r3, [pc, #412] ; (8046b70 ) 80469d4: 785b ldrb r3, [r3, #1] 80469d6: b2db uxtb r3, r3 80469d8: 461a mov r2, r3 80469da: 4b65 ldr r3, [pc, #404] ; (8046b70 ) 80469dc: 4413 add r3, r2 80469de: 2200 movs r2, #0 80469e0: 709a strb r2, [r3, #2] } if(pardata.IPR > ACC) 80469e2: 4b63 ldr r3, [pc, #396] ; (8046b70 ) 80469e4: 785b ldrb r3, [r3, #1] 80469e6: b2db uxtb r3, r3 80469e8: 2b00 cmp r3, #0 80469ea: d00e beq.n 8046a0a { if(pardata.HP < 2.0f) 80469ec: 4b60 ldr r3, [pc, #384] ; (8046b70 ) 80469ee: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80469f2: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80469f6: eef4 7ac7 vcmpe.f32 s15, s14 80469fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80469fe: d504 bpl.n 8046a0a pardata.HP = 2.0f; 8046a00: 4b5b ldr r3, [pc, #364] ; (8046b70 ) 8046a02: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8046a06: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } if((pardata.OPTIONS & maskFFT) < third) 8046a0a: 4b59 ldr r3, [pc, #356] ; (8046b70 ) 8046a0c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8046a10: f003 0330 and.w r3, r3, #48 ; 0x30 8046a14: 2b2f cmp r3, #47 ; 0x2f 8046a16: d863 bhi.n 8046ae0 { if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8046a18: 4b55 ldr r3, [pc, #340] ; (8046b70 ) 8046a1a: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8046a1e: 4b54 ldr r3, [pc, #336] ; (8046b70 ) 8046a20: 7adb ldrb r3, [r3, #11] 8046a22: b2db uxtb r3, r3 8046a24: 461a mov r2, r3 8046a26: 4b53 ldr r3, [pc, #332] ; (8046b74 ) 8046a28: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046a2c: ee07 3a90 vmov s15, r3 8046a30: eef8 6a67 vcvt.f32.u32 s13, s15 8046a34: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8046a38: eec6 7a86 vdiv.f32 s15, s13, s12 8046a3c: eddf 6a4e vldr s13, [pc, #312] ; 8046b78 8046a40: ee77 7aa6 vadd.f32 s15, s15, s13 8046a44: eeb4 7ae7 vcmpe.f32 s14, s15 8046a48: eef1 fa10 vmrs APSR_nzcv, fpscr 8046a4c: dd15 ble.n 8046a7a pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8046a4e: 4b48 ldr r3, [pc, #288] ; (8046b70 ) 8046a50: 7adb ldrb r3, [r3, #11] 8046a52: b2db uxtb r3, r3 8046a54: 461a mov r2, r3 8046a56: 4b47 ldr r3, [pc, #284] ; (8046b74 ) 8046a58: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046a5c: 4a47 ldr r2, [pc, #284] ; (8046b7c ) 8046a5e: fba2 2303 umull r2, r3, r2, r3 8046a62: 089b lsrs r3, r3, #2 8046a64: ee07 3a90 vmov s15, r3 8046a68: eef8 7a67 vcvt.f32.u32 s15, s15 8046a6c: ed9f 7a44 vldr s14, [pc, #272] ; 8046b80 8046a70: ee77 7a87 vadd.f32 s15, s15, s14 8046a74: 4b3e ldr r3, [pc, #248] ; (8046b70 ) 8046a76: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8046a7a: 4b3d ldr r3, [pc, #244] ; (8046b70 ) 8046a7c: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8046a80: 4b3b ldr r3, [pc, #236] ; (8046b70 ) 8046a82: 7adb ldrb r3, [r3, #11] 8046a84: b2db uxtb r3, r3 8046a86: 461a mov r2, r3 8046a88: 4b3a ldr r3, [pc, #232] ; (8046b74 ) 8046a8a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046a8e: ee07 3a90 vmov s15, r3 8046a92: eef8 6a67 vcvt.f32.u32 s13, s15 8046a96: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8046a9a: eec6 7a86 vdiv.f32 s15, s13, s12 8046a9e: eddf 6a36 vldr s13, [pc, #216] ; 8046b78 8046aa2: ee77 7aa6 vadd.f32 s15, s15, s13 8046aa6: eeb4 7ae7 vcmpe.f32 s14, s15 8046aaa: eef1 fa10 vmrs APSR_nzcv, fpscr 8046aae: dc00 bgt.n 8046ab2 pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; } } else menupos = Ok; break; 8046ab0: e0e8 b.n 8046c84 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8046ab2: 4b2f ldr r3, [pc, #188] ; (8046b70 ) 8046ab4: 7adb ldrb r3, [r3, #11] 8046ab6: b2db uxtb r3, r3 8046ab8: 461a mov r2, r3 8046aba: 4b2e ldr r3, [pc, #184] ; (8046b74 ) 8046abc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046ac0: 4a2e ldr r2, [pc, #184] ; (8046b7c ) 8046ac2: fba2 2303 umull r2, r3, r2, r3 8046ac6: 089b lsrs r3, r3, #2 8046ac8: ee07 3a90 vmov s15, r3 8046acc: eef8 7a67 vcvt.f32.u32 s15, s15 8046ad0: ed9f 7a2b vldr s14, [pc, #172] ; 8046b80 8046ad4: ee77 7a87 vadd.f32 s15, s15, s14 8046ad8: 4b25 ldr r3, [pc, #148] ; (8046b70 ) 8046ada: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8046ade: e0d1 b.n 8046c84 if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8046ae0: 4b23 ldr r3, [pc, #140] ; (8046b70 ) 8046ae2: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8046ae6: 4b22 ldr r3, [pc, #136] ; (8046b70 ) 8046ae8: 7adb ldrb r3, [r3, #11] 8046aea: b2db uxtb r3, r3 8046aec: 461a mov r2, r3 8046aee: 4b21 ldr r3, [pc, #132] ; (8046b74 ) 8046af0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046af4: ee07 3a90 vmov s15, r3 8046af8: eef8 6a67 vcvt.f32.u32 s13, s15 8046afc: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8046b00: eec6 7a86 vdiv.f32 s15, s13, s12 8046b04: eeb4 7ae7 vcmpe.f32 s14, s15 8046b08: eef1 fa10 vmrs APSR_nzcv, fpscr 8046b0c: dd15 ble.n 8046b3a pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8046b0e: 4b18 ldr r3, [pc, #96] ; (8046b70 ) 8046b10: 7adb ldrb r3, [r3, #11] 8046b12: b2db uxtb r3, r3 8046b14: 461a mov r2, r3 8046b16: 4b17 ldr r3, [pc, #92] ; (8046b74 ) 8046b18: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046b1c: ee07 3a90 vmov s15, r3 8046b20: eeb8 7a67 vcvt.f32.u32 s14, s15 8046b24: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8046b28: eec7 7a26 vdiv.f32 s15, s14, s13 8046b2c: ed9f 7a14 vldr s14, [pc, #80] ; 8046b80 8046b30: ee77 7a87 vadd.f32 s15, s15, s14 8046b34: 4b0e ldr r3, [pc, #56] ; (8046b70 ) 8046b36: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8046b3a: 4b0d ldr r3, [pc, #52] ; (8046b70 ) 8046b3c: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8046b40: 4b0b ldr r3, [pc, #44] ; (8046b70 ) 8046b42: 7adb ldrb r3, [r3, #11] 8046b44: b2db uxtb r3, r3 8046b46: 461a mov r2, r3 8046b48: 4b0a ldr r3, [pc, #40] ; (8046b74 ) 8046b4a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046b4e: ee07 3a90 vmov s15, r3 8046b52: eef8 6a67 vcvt.f32.u32 s13, s15 8046b56: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8046b5a: eec6 7a86 vdiv.f32 s15, s13, s12 8046b5e: eeb4 7ae7 vcmpe.f32 s14, s15 8046b62: eef1 fa10 vmrs APSR_nzcv, fpscr 8046b66: dc0d bgt.n 8046b84 break; 8046b68: e08c b.n 8046c84 8046b6a: bf00 nop 8046b6c: 20020fd0 .word 0x20020fd0 8046b70: 20023eb8 .word 0x20023eb8 8046b74: 080f5268 .word 0x080f5268 8046b78: 3851b717 .word 0x3851b717 8046b7c: cccccccd .word 0xcccccccd 8046b80: 38d1b717 .word 0x38d1b717 pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8046b84: 4b87 ldr r3, [pc, #540] ; (8046da4 ) 8046b86: 7adb ldrb r3, [r3, #11] 8046b88: b2db uxtb r3, r3 8046b8a: 461a mov r2, r3 8046b8c: 4b86 ldr r3, [pc, #536] ; (8046da8 ) 8046b8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046b92: ee07 3a90 vmov s15, r3 8046b96: eeb8 7a67 vcvt.f32.u32 s14, s15 8046b9a: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8046b9e: eec7 7a26 vdiv.f32 s15, s14, s13 8046ba2: ed9f 7a82 vldr s14, [pc, #520] ; 8046dac 8046ba6: ee77 7a87 vadd.f32 s15, s15, s14 8046baa: 4b7e ldr r3, [pc, #504] ; (8046da4 ) 8046bac: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8046bb0: e068 b.n 8046c84 menupos = Ok; 8046bb2: 4b7f ldr r3, [pc, #508] ; (8046db0 ) 8046bb4: 2200 movs r2, #0 8046bb6: 701a strb r2, [r3, #0] break; 8046bb8: e064 b.n 8046c84 case SpecLines: if(focused) 8046bba: 4b7e ldr r3, [pc, #504] ; (8046db4 ) 8046bbc: 781b ldrb r3, [r3, #0] 8046bbe: b2db uxtb r3, r3 8046bc0: 2b00 cmp r3, #0 8046bc2: d010 beq.n 8046be6 { if(pardata.LNE < N3200) pardata.LNE++; 8046bc4: 4b77 ldr r3, [pc, #476] ; (8046da4 ) 8046bc6: 79db ldrb r3, [r3, #7] 8046bc8: b2db uxtb r3, r3 8046bca: 2b02 cmp r3, #2 8046bcc: d807 bhi.n 8046bde 8046bce: 4b75 ldr r3, [pc, #468] ; (8046da4 ) 8046bd0: 79db ldrb r3, [r3, #7] 8046bd2: b2db uxtb r3, r3 8046bd4: 3301 adds r3, #1 8046bd6: b2da uxtb r2, r3 8046bd8: 4b72 ldr r3, [pc, #456] ; (8046da4 ) 8046bda: 71da strb r2, [r3, #7] else pardata.LNE = N400; } else menupos = Ok; break; 8046bdc: e052 b.n 8046c84 else pardata.LNE = N400; 8046bde: 4b71 ldr r3, [pc, #452] ; (8046da4 ) 8046be0: 2200 movs r2, #0 8046be2: 71da strb r2, [r3, #7] break; 8046be4: e04e b.n 8046c84 menupos = Ok; 8046be6: 4b72 ldr r3, [pc, #456] ; (8046db0 ) 8046be8: 2200 movs r2, #0 8046bea: 701a strb r2, [r3, #0] break; 8046bec: e04a b.n 8046c84 case SpecWin: if(focused) 8046bee: 4b71 ldr r3, [pc, #452] ; (8046db4 ) 8046bf0: 781b ldrb r3, [r3, #0] 8046bf2: b2db uxtb r3, r3 8046bf4: 2b00 cmp r3, #0 8046bf6: d010 beq.n 8046c1a { if(pardata.WIN > RECT) pardata.WIN--; 8046bf8: 4b6a ldr r3, [pc, #424] ; (8046da4 ) 8046bfa: 7a5b ldrb r3, [r3, #9] 8046bfc: b2db uxtb r3, r3 8046bfe: 2b00 cmp r3, #0 8046c00: d007 beq.n 8046c12 8046c02: 4b68 ldr r3, [pc, #416] ; (8046da4 ) 8046c04: 7a5b ldrb r3, [r3, #9] 8046c06: b2db uxtb r3, r3 8046c08: 3b01 subs r3, #1 8046c0a: b2da uxtb r2, r3 8046c0c: 4b65 ldr r3, [pc, #404] ; (8046da4 ) 8046c0e: 725a strb r2, [r3, #9] else pardata.WIN = HANN; } else menupos = Ok; break; 8046c10: e038 b.n 8046c84 else pardata.WIN = HANN; 8046c12: 4b64 ldr r3, [pc, #400] ; (8046da4 ) 8046c14: 2201 movs r2, #1 8046c16: 725a strb r2, [r3, #9] break; 8046c18: e034 b.n 8046c84 menupos = Ok; 8046c1a: 4b65 ldr r3, [pc, #404] ; (8046db0 ) 8046c1c: 2200 movs r2, #0 8046c1e: 701a strb r2, [r3, #0] break; 8046c20: e030 b.n 8046c84 case LinLog: if(focused) 8046c22: 4b64 ldr r3, [pc, #400] ; (8046db4 ) 8046c24: 781b ldrb r3, [r3, #0] 8046c26: b2db uxtb r3, r3 8046c28: 2b00 cmp r3, #0 8046c2a: d00c beq.n 8046c46 { if(pardata.MSH == LOG) pardata.MSH = LIN; 8046c2c: 4b5d ldr r3, [pc, #372] ; (8046da4 ) 8046c2e: 7a9b ldrb r3, [r3, #10] 8046c30: b2db uxtb r3, r3 8046c32: 2b01 cmp r3, #1 8046c34: d103 bne.n 8046c3e 8046c36: 4b5b ldr r3, [pc, #364] ; (8046da4 ) 8046c38: 2200 movs r2, #0 8046c3a: 729a strb r2, [r3, #10] else pardata.MSH = LOG; } else menupos = Ok; break; 8046c3c: e022 b.n 8046c84 else pardata.MSH = LOG; 8046c3e: 4b59 ldr r3, [pc, #356] ; (8046da4 ) 8046c40: 2201 movs r2, #1 8046c42: 729a strb r2, [r3, #10] break; 8046c44: e01e b.n 8046c84 menupos = Ok; 8046c46: 4b5a ldr r3, [pc, #360] ; (8046db0 ) 8046c48: 2200 movs r2, #0 8046c4a: 701a strb r2, [r3, #0] break; 8046c4c: e01a b.n 8046c84 case SAverage: if(focused) 8046c4e: 4b59 ldr r3, [pc, #356] ; (8046db4 ) 8046c50: 781b ldrb r3, [r3, #0] 8046c52: b2db uxtb r3, r3 8046c54: 2b00 cmp r3, #0 8046c56: d010 beq.n 8046c7a { if(pardata.AVG > AVG1) pardata.AVG--; 8046c58: 4b52 ldr r3, [pc, #328] ; (8046da4 ) 8046c5a: 7b5b ldrb r3, [r3, #13] 8046c5c: b2db uxtb r3, r3 8046c5e: 2b00 cmp r3, #0 8046c60: d007 beq.n 8046c72 8046c62: 4b50 ldr r3, [pc, #320] ; (8046da4 ) 8046c64: 7b5b ldrb r3, [r3, #13] 8046c66: b2db uxtb r3, r3 8046c68: 3b01 subs r3, #1 8046c6a: b2da uxtb r2, r3 8046c6c: 4b4d ldr r3, [pc, #308] ; (8046da4 ) 8046c6e: 735a strb r2, [r3, #13] else pardata.AVG = AVG512; } else menupos = Ok; break; 8046c70: e008 b.n 8046c84 else pardata.AVG = AVG512; 8046c72: 4b4c ldr r3, [pc, #304] ; (8046da4 ) 8046c74: 2209 movs r2, #9 8046c76: 735a strb r2, [r3, #13] break; 8046c78: e004 b.n 8046c84 menupos = Ok; 8046c7a: 4b4d ldr r3, [pc, #308] ; (8046db0 ) 8046c7c: 2200 movs r2, #0 8046c7e: 701a strb r2, [r3, #0] break; 8046c80: e000 b.n 8046c84 break; 8046c82: bf00 nop } break; 8046c84: f000 bc67 b.w 8047556 case PARAM_OSC: switch(menupos) 8046c88: 4b49 ldr r3, [pc, #292] ; (8046db0 ) 8046c8a: 781b ldrb r3, [r3, #0] 8046c8c: b2db uxtb r3, r3 8046c8e: 3b01 subs r3, #1 8046c90: 2b23 cmp r3, #35 ; 0x23 8046c92: f200 8463 bhi.w 804755c 8046c96: a201 add r2, pc, #4 ; (adr r2, 8046c9c ) 8046c98: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8046c9c: 08046d2d .word 0x08046d2d 8046ca0: 0804755d .word 0x0804755d 8046ca4: 08046f01 .word 0x08046f01 8046ca8: 08046fb1 .word 0x08046fb1 8046cac: 08047045 .word 0x08047045 8046cb0: 08047045 .word 0x08047045 8046cb4: 08047045 .word 0x08047045 8046cb8: 08047045 .word 0x08047045 8046cbc: 08046fe5 .word 0x08046fe5 8046cc0: 08046fed .word 0x08046fed 8046cc4: 08046ff5 .word 0x08046ff5 8046cc8: 08046ffd .word 0x08046ffd 8046ccc: 08047005 .word 0x08047005 8046cd0: 0804700d .word 0x0804700d 8046cd4: 08047015 .word 0x08047015 8046cd8: 0804701d .word 0x0804701d 8046cdc: 08047025 .word 0x08047025 8046ce0: 0804702d .word 0x0804702d 8046ce4: 08047035 .word 0x08047035 8046ce8: 0804703d .word 0x0804703d 8046cec: 0804755d .word 0x0804755d 8046cf0: 0804755d .word 0x0804755d 8046cf4: 08047045 .word 0x08047045 8046cf8: 08047045 .word 0x08047045 8046cfc: 08046ea1 .word 0x08046ea1 8046d00: 08046ec9 .word 0x08046ec9 8046d04: 08046ec1 .word 0x08046ec1 8046d08: 08046eb9 .word 0x08046eb9 8046d0c: 08046eb1 .word 0x08046eb1 8046d10: 08046ea9 .word 0x08046ea9 8046d14: 08046ed1 .word 0x08046ed1 8046d18: 08046ef9 .word 0x08046ef9 8046d1c: 08046ef1 .word 0x08046ef1 8046d20: 08046ee9 .word 0x08046ee9 8046d24: 08046ee1 .word 0x08046ee1 8046d28: 08046ed9 .word 0x08046ed9 { case OscValue: if(focused) 8046d2c: 4b21 ldr r3, [pc, #132] ; (8046db4 ) 8046d2e: 781b ldrb r3, [r3, #0] 8046d30: b2db uxtb r3, r3 8046d32: 2b00 cmp r3, #0 8046d34: f000 80b0 beq.w 8046e98 { if(pardata.IPR > ACC) pardata.IPR--; 8046d38: 4b1a ldr r3, [pc, #104] ; (8046da4 ) 8046d3a: 785b ldrb r3, [r3, #1] 8046d3c: b2db uxtb r3, r3 8046d3e: 2b00 cmp r3, #0 8046d40: d007 beq.n 8046d52 8046d42: 4b18 ldr r3, [pc, #96] ; (8046da4 ) 8046d44: 785b ldrb r3, [r3, #1] 8046d46: b2db uxtb r3, r3 8046d48: 3b01 subs r3, #1 8046d4a: b2da uxtb r2, r3 8046d4c: 4b15 ldr r3, [pc, #84] ; (8046da4 ) 8046d4e: 705a strb r2, [r3, #1] 8046d50: e002 b.n 8046d58 else pardata.IPR = DIS; 8046d52: 4b14 ldr r3, [pc, #80] ; (8046da4 ) 8046d54: 2202 movs r2, #2 8046d56: 705a strb r2, [r3, #1] if(pardata.IPR > ACC) 8046d58: 4b12 ldr r3, [pc, #72] ; (8046da4 ) 8046d5a: 785b ldrb r3, [r3, #1] 8046d5c: b2db uxtb r3, r3 8046d5e: 2b00 cmp r3, #0 8046d60: d02a beq.n 8046db8 { if(pardata.HP < 2.0f) 8046d62: 4b10 ldr r3, [pc, #64] ; (8046da4 ) 8046d64: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8046d68: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8046d6c: eef4 7ac7 vcmpe.f32 s15, s14 8046d70: eef1 fa10 vmrs APSR_nzcv, fpscr 8046d74: d504 bpl.n 8046d80 pardata.HP = 2.0f; 8046d76: 4b0b ldr r3, [pc, #44] ; (8046da4 ) 8046d78: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8046d7c: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } while((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.0005f) < 5.0) 8046d80: e01a b.n 8046db8 { if(pardata.FRQ > _125Hz) 8046d82: 4b08 ldr r3, [pc, #32] ; (8046da4 ) 8046d84: 7adb ldrb r3, [r3, #11] 8046d86: b2db uxtb r3, r3 8046d88: 2b00 cmp r3, #0 8046d8a: d007 beq.n 8046d9c pardata.FRQ--; 8046d8c: 4b05 ldr r3, [pc, #20] ; (8046da4 ) 8046d8e: 7adb ldrb r3, [r3, #11] 8046d90: b2db uxtb r3, r3 8046d92: 3b01 subs r3, #1 8046d94: b2da uxtb r2, r3 8046d96: 4b03 ldr r3, [pc, #12] ; (8046da4 ) 8046d98: 72da strb r2, [r3, #11] 8046d9a: e00d b.n 8046db8 else { pardata.FRQ = _64000Hz; 8046d9c: 4b01 ldr r3, [pc, #4] ; (8046da4 ) 8046d9e: 2209 movs r2, #9 8046da0: 72da strb r2, [r3, #11] break; 8046da2: e026 b.n 8046df2 8046da4: 20023eb8 .word 0x20023eb8 8046da8: 080f5268 .word 0x080f5268 8046dac: 38d1b717 .word 0x38d1b717 8046db0: 20020070 .word 0x20020070 8046db4: 20020fd0 .word 0x20020fd0 while((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.0005f) < 5.0) 8046db8: 4bab ldr r3, [pc, #684] ; (8047068 ) 8046dba: 7adb ldrb r3, [r3, #11] 8046dbc: b2db uxtb r3, r3 8046dbe: 461a mov r2, r3 8046dc0: 4baa ldr r3, [pc, #680] ; (804706c ) 8046dc2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046dc6: ee07 3a90 vmov s15, r3 8046dca: eeb8 5b67 vcvt.f64.u32 d5, s15 8046dce: 4ba6 ldr r3, [pc, #664] ; (8047068 ) 8046dd0: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8046dd4: eeb7 6ae7 vcvt.f64.f32 d6, s15 8046dd8: ee85 7b06 vdiv.f64 d7, d5, d6 8046ddc: ed9f 6b9c vldr d6, [pc, #624] ; 8047050 8046de0: ee37 7b06 vadd.f64 d7, d7, d6 8046de4: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8046de8: eeb4 7bc6 vcmpe.f64 d7, d6 8046dec: eef1 fa10 vmrs APSR_nzcv, fpscr 8046df0: d4c7 bmi.n 8046d82 } } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8046df2: 4b9d ldr r3, [pc, #628] ; (8047068 ) 8046df4: 7adb ldrb r3, [r3, #11] 8046df6: b2db uxtb r3, r3 8046df8: 461a mov r2, r3 8046dfa: 4b9c ldr r3, [pc, #624] ; (804706c ) 8046dfc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046e00: ee07 3a90 vmov s15, r3 8046e04: eeb8 5b67 vcvt.f64.u32 d5, s15 8046e08: 4b97 ldr r3, [pc, #604] ; (8047068 ) 8046e0a: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8046e0e: eeb7 6ae7 vcvt.f64.f32 d6, s15 8046e12: ee85 7b06 vdiv.f64 d7, d5, d6 8046e16: ed9f 6b90 vldr d6, [pc, #576] ; 8047058 8046e1a: ee37 7b06 vadd.f64 d7, d7, d6 8046e1e: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8046e22: eeb4 7bc6 vcmpe.f64 d7, d6 8046e26: eef1 fa10 vmrs APSR_nzcv, fpscr 8046e2a: d51f bpl.n 8046e6c { pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 8046e2c: 4b8e ldr r3, [pc, #568] ; (8047068 ) 8046e2e: 7adb ldrb r3, [r3, #11] 8046e30: b2db uxtb r3, r3 8046e32: 461a mov r2, r3 8046e34: 4b8d ldr r3, [pc, #564] ; (804706c ) 8046e36: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046e3a: 4a8d ldr r2, [pc, #564] ; (8047070 ) 8046e3c: fba2 2303 umull r2, r3, r2, r3 8046e40: 089b lsrs r3, r3, #2 8046e42: ee07 3a90 vmov s15, r3 8046e46: eef8 7a67 vcvt.f32.u32 s15, s15 8046e4a: 4b87 ldr r3, [pc, #540] ; (8047068 ) 8046e4c: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 8046e50: 4b85 ldr r3, [pc, #532] ; (8047068 ) 8046e52: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8046e56: eeb7 7ae7 vcvt.f64.f32 d7, s15 8046e5a: ed9f 6b81 vldr d6, [pc, #516] ; 8047060 8046e5e: ee37 7b06 vadd.f64 d7, d7, d6 8046e62: eef7 7bc7 vcvt.f32.f64 s15, d7 8046e66: 4b80 ldr r3, [pc, #512] ; (8047068 ) 8046e68: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 } if((pardata.IPR > ACC) && (pardata.THR & 0x80)) 8046e6c: 4b7e ldr r3, [pc, #504] ; (8047068 ) 8046e6e: 785b ldrb r3, [r3, #1] 8046e70: b2db uxtb r3, r3 8046e72: 2b00 cmp r3, #0 8046e74: f000 80ea beq.w 804704c 8046e78: 4b7b ldr r3, [pc, #492] ; (8047068 ) 8046e7a: 7bdb ldrb r3, [r3, #15] 8046e7c: b2db uxtb r3, r3 8046e7e: b25b sxtb r3, r3 8046e80: 2b00 cmp r3, #0 8046e82: f280 80e3 bge.w 804704c pardata.THR &= 0x7f; 8046e86: 4b78 ldr r3, [pc, #480] ; (8047068 ) 8046e88: 7bdb ldrb r3, [r3, #15] 8046e8a: b2db uxtb r3, r3 8046e8c: f003 037f and.w r3, r3, #127 ; 0x7f 8046e90: b2da uxtb r2, r3 8046e92: 4b75 ldr r3, [pc, #468] ; (8047068 ) 8046e94: 73da strb r2, [r3, #15] } else menupos = Ok; break; 8046e96: e0d9 b.n 804704c menupos = Ok; 8046e98: 4b76 ldr r3, [pc, #472] ; (8047074 ) 8046e9a: 2200 movs r2, #0 8046e9c: 701a strb r2, [r3, #0] break; 8046e9e: e0d5 b.n 804704c case FilterHP_IDT: menupos = FilterHP_IKD; break; 8046ea0: 4b74 ldr r3, [pc, #464] ; (8047074 ) 8046ea2: 221e movs r2, #30 8046ea4: 701a strb r2, [r3, #0] 8046ea6: e0d2 b.n 804704e case FilterHP_IKD: menupos = FilterHP_IEE; break; 8046ea8: 4b72 ldr r3, [pc, #456] ; (8047074 ) 8046eaa: 221d movs r2, #29 8046eac: 701a strb r2, [r3, #0] 8046eae: e0ce b.n 804704e case FilterHP_IEE: menupos = FilterHP_IED; break; 8046eb0: 4b70 ldr r3, [pc, #448] ; (8047074 ) 8046eb2: 221c movs r2, #28 8046eb4: 701a strb r2, [r3, #0] 8046eb6: e0ca b.n 804704e case FilterHP_IED: menupos = FilterHP_IES; break; 8046eb8: 4b6e ldr r3, [pc, #440] ; (8047074 ) 8046eba: 221b movs r2, #27 8046ebc: 701a strb r2, [r3, #0] 8046ebe: e0c6 b.n 804704e case FilterHP_IES: menupos = FilterHP_IET; break; 8046ec0: 4b6c ldr r3, [pc, #432] ; (8047074 ) 8046ec2: 221a movs r2, #26 8046ec4: 701a strb r2, [r3, #0] 8046ec6: e0c2 b.n 804704e case FilterHP_IET: menupos = FilterHP_IDT; break; 8046ec8: 4b6a ldr r3, [pc, #424] ; (8047074 ) 8046eca: 2219 movs r2, #25 8046ecc: 701a strb r2, [r3, #0] 8046ece: e0be b.n 804704e case FilterLP_IDT: menupos = FilterLP_IKD; break; 8046ed0: 4b68 ldr r3, [pc, #416] ; (8047074 ) 8046ed2: 2224 movs r2, #36 ; 0x24 8046ed4: 701a strb r2, [r3, #0] 8046ed6: e0ba b.n 804704e case FilterLP_IKD: menupos = FilterLP_IEE; break; 8046ed8: 4b66 ldr r3, [pc, #408] ; (8047074 ) 8046eda: 2223 movs r2, #35 ; 0x23 8046edc: 701a strb r2, [r3, #0] 8046ede: e0b6 b.n 804704e case FilterLP_IEE: menupos = FilterLP_IED; break; 8046ee0: 4b64 ldr r3, [pc, #400] ; (8047074 ) 8046ee2: 2222 movs r2, #34 ; 0x22 8046ee4: 701a strb r2, [r3, #0] 8046ee6: e0b2 b.n 804704e case FilterLP_IED: menupos = FilterLP_IES; break; 8046ee8: 4b62 ldr r3, [pc, #392] ; (8047074 ) 8046eea: 2221 movs r2, #33 ; 0x21 8046eec: 701a strb r2, [r3, #0] 8046eee: e0ae b.n 804704e case FilterLP_IES: menupos = FilterLP_IET; break; 8046ef0: 4b60 ldr r3, [pc, #384] ; (8047074 ) 8046ef2: 2220 movs r2, #32 8046ef4: 701a strb r2, [r3, #0] 8046ef6: e0aa b.n 804704e case FilterLP_IET: menupos = FilterLP_IDT; break; 8046ef8: 4b5e ldr r3, [pc, #376] ; (8047074 ) 8046efa: 221f movs r2, #31 8046efc: 701a strb r2, [r3, #0] 8046efe: e0a6 b.n 804704e case OscRate: if(focused) 8046f00: 4b5d ldr r3, [pc, #372] ; (8047078 ) 8046f02: 781b ldrb r3, [r3, #0] 8046f04: b2db uxtb r3, r3 8046f06: 2b00 cmp r3, #0 8046f08: d04e beq.n 8046fa8 { if(pardata.FRQ > _125Hz) pardata.FRQ--; 8046f0a: 4b57 ldr r3, [pc, #348] ; (8047068 ) 8046f0c: 7adb ldrb r3, [r3, #11] 8046f0e: b2db uxtb r3, r3 8046f10: 2b00 cmp r3, #0 8046f12: d007 beq.n 8046f24 8046f14: 4b54 ldr r3, [pc, #336] ; (8047068 ) 8046f16: 7adb ldrb r3, [r3, #11] 8046f18: b2db uxtb r3, r3 8046f1a: 3b01 subs r3, #1 8046f1c: b2da uxtb r2, r3 8046f1e: 4b52 ldr r3, [pc, #328] ; (8047068 ) 8046f20: 72da strb r2, [r3, #11] 8046f22: e002 b.n 8046f2a else pardata.FRQ = _64000Hz; 8046f24: 4b50 ldr r3, [pc, #320] ; (8047068 ) 8046f26: 2209 movs r2, #9 8046f28: 72da strb r2, [r3, #11] pardata.FRQ = _64000Hz; break; } }*/ if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8046f2a: 4b4f ldr r3, [pc, #316] ; (8047068 ) 8046f2c: 7adb ldrb r3, [r3, #11] 8046f2e: b2db uxtb r3, r3 8046f30: 461a mov r2, r3 8046f32: 4b4e ldr r3, [pc, #312] ; (804706c ) 8046f34: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046f38: ee07 3a90 vmov s15, r3 8046f3c: eeb8 5b67 vcvt.f64.u32 d5, s15 8046f40: 4b49 ldr r3, [pc, #292] ; (8047068 ) 8046f42: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8046f46: eeb7 6ae7 vcvt.f64.f32 d6, s15 8046f4a: ee85 7b06 vdiv.f64 d7, d5, d6 8046f4e: ed9f 6b42 vldr d6, [pc, #264] ; 8047058 8046f52: ee37 7b06 vadd.f64 d7, d7, d6 8046f56: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8046f5a: eeb4 7bc6 vcmpe.f64 d7, d6 8046f5e: eef1 fa10 vmrs APSR_nzcv, fpscr 8046f62: d400 bmi.n 8046f66 } } else menupos = Ok; break; 8046f64: e073 b.n 804704e pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 8046f66: 4b40 ldr r3, [pc, #256] ; (8047068 ) 8046f68: 7adb ldrb r3, [r3, #11] 8046f6a: b2db uxtb r3, r3 8046f6c: 461a mov r2, r3 8046f6e: 4b3f ldr r3, [pc, #252] ; (804706c ) 8046f70: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046f74: 4a3e ldr r2, [pc, #248] ; (8047070 ) 8046f76: fba2 2303 umull r2, r3, r2, r3 8046f7a: 089b lsrs r3, r3, #2 8046f7c: ee07 3a90 vmov s15, r3 8046f80: eef8 7a67 vcvt.f32.u32 s15, s15 8046f84: 4b38 ldr r3, [pc, #224] ; (8047068 ) 8046f86: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 8046f8a: 4b37 ldr r3, [pc, #220] ; (8047068 ) 8046f8c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8046f90: eeb7 7ae7 vcvt.f64.f32 d7, s15 8046f94: ed9f 6b32 vldr d6, [pc, #200] ; 8047060 8046f98: ee37 7b06 vadd.f64 d7, d7, d6 8046f9c: eef7 7bc7 vcvt.f32.f64 s15, d7 8046fa0: 4b31 ldr r3, [pc, #196] ; (8047068 ) 8046fa2: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8046fa6: e052 b.n 804704e menupos = Ok; 8046fa8: 4b32 ldr r3, [pc, #200] ; (8047074 ) 8046faa: 2200 movs r2, #0 8046fac: 701a strb r2, [r3, #0] break; 8046fae: e04e b.n 804704e case OscLen: if(focused) 8046fb0: 4b31 ldr r3, [pc, #196] ; (8047078 ) 8046fb2: 781b ldrb r3, [r3, #0] 8046fb4: b2db uxtb r3, r3 8046fb6: 2b00 cmp r3, #0 8046fb8: d010 beq.n 8046fdc { if(pardata.LNE > N400) pardata.LNE--; 8046fba: 4b2b ldr r3, [pc, #172] ; (8047068 ) 8046fbc: 79db ldrb r3, [r3, #7] 8046fbe: b2db uxtb r3, r3 8046fc0: 2b00 cmp r3, #0 8046fc2: d007 beq.n 8046fd4 8046fc4: 4b28 ldr r3, [pc, #160] ; (8047068 ) 8046fc6: 79db ldrb r3, [r3, #7] 8046fc8: b2db uxtb r3, r3 8046fca: 3b01 subs r3, #1 8046fcc: b2da uxtb r2, r3 8046fce: 4b26 ldr r3, [pc, #152] ; (8047068 ) 8046fd0: 71da strb r2, [r3, #7] else pardata.LNE = N6400; } else menupos = Ok; break; 8046fd2: e03c b.n 804704e else pardata.LNE = N6400; 8046fd4: 4b24 ldr r3, [pc, #144] ; (8047068 ) 8046fd6: 2204 movs r2, #4 8046fd8: 71da strb r2, [r3, #7] break; 8046fda: e038 b.n 804704e menupos = Ok; 8046fdc: 4b25 ldr r3, [pc, #148] ; (8047074 ) 8046fde: 2200 movs r2, #0 8046fe0: 701a strb r2, [r3, #0] break; 8046fe2: e034 b.n 804704e case OscThr_IDT: menupos = OscThr_IKD; 8046fe4: 4b23 ldr r3, [pc, #140] ; (8047074 ) 8046fe6: 220e movs r2, #14 8046fe8: 701a strb r2, [r3, #0] break; 8046fea: e030 b.n 804704e case OscThr_IET: menupos = OscThr_IDT; 8046fec: 4b21 ldr r3, [pc, #132] ; (8047074 ) 8046fee: 2209 movs r2, #9 8046ff0: 701a strb r2, [r3, #0] break; 8046ff2: e02c b.n 804704e case OscThr_IES: menupos = OscThr_IET; 8046ff4: 4b1f ldr r3, [pc, #124] ; (8047074 ) 8046ff6: 220a movs r2, #10 8046ff8: 701a strb r2, [r3, #0] break; 8046ffa: e028 b.n 804704e case OscThr_IED: menupos = OscThr_IES; 8046ffc: 4b1d ldr r3, [pc, #116] ; (8047074 ) 8046ffe: 220b movs r2, #11 8047000: 701a strb r2, [r3, #0] break; 8047002: e024 b.n 804704e case OscThr_IEE: menupos = OscThr_IED; 8047004: 4b1b ldr r3, [pc, #108] ; (8047074 ) 8047006: 220c movs r2, #12 8047008: 701a strb r2, [r3, #0] break; 804700a: e020 b.n 804704e case OscThr_IKD: menupos = OscThr_IEE; 804700c: 4b19 ldr r3, [pc, #100] ; (8047074 ) 804700e: 220d movs r2, #13 8047010: 701a strb r2, [r3, #0] break; 8047012: e01c b.n 804704e case OscMax_IDT: menupos = OscMax_IKD; 8047014: 4b17 ldr r3, [pc, #92] ; (8047074 ) 8047016: 2214 movs r2, #20 8047018: 701a strb r2, [r3, #0] break; 804701a: e018 b.n 804704e case OscMax_IET: menupos = OscMax_IDT; 804701c: 4b15 ldr r3, [pc, #84] ; (8047074 ) 804701e: 220f movs r2, #15 8047020: 701a strb r2, [r3, #0] break; 8047022: e014 b.n 804704e case OscMax_IES: menupos = OscMax_IET; 8047024: 4b13 ldr r3, [pc, #76] ; (8047074 ) 8047026: 2210 movs r2, #16 8047028: 701a strb r2, [r3, #0] break; 804702a: e010 b.n 804704e case OscMax_IED: menupos = OscMax_IES; 804702c: 4b11 ldr r3, [pc, #68] ; (8047074 ) 804702e: 2211 movs r2, #17 8047030: 701a strb r2, [r3, #0] break; 8047032: e00c b.n 804704e case OscMax_IEE: menupos = OscMax_IED; 8047034: 4b0f ldr r3, [pc, #60] ; (8047074 ) 8047036: 2212 movs r2, #18 8047038: 701a strb r2, [r3, #0] break; 804703a: e008 b.n 804704e case OscMax_IKD: menupos = OscMax_IEE; 804703c: 4b0d ldr r3, [pc, #52] ; (8047074 ) 804703e: 2213 movs r2, #19 8047040: 701a strb r2, [r3, #0] break; 8047042: e004 b.n 804704e case OscThr: case OscThr_ALL: case OscMax_ALL: case FilterHP: case FilterLP: menupos = Ok; 8047044: 4b0b ldr r3, [pc, #44] ; (8047074 ) 8047046: 2200 movs r2, #0 8047048: 701a strb r2, [r3, #0] break; 804704a: e000 b.n 804704e break; 804704c: bf00 nop } break; 804704e: e285 b.n 804755c 8047050: e0000000 .word 0xe0000000 8047054: 3f40624d .word 0x3f40624d 8047058: e0000000 .word 0xe0000000 804705c: 3f0a36e2 .word 0x3f0a36e2 8047060: eb1c432d .word 0xeb1c432d 8047064: 3f1a36e2 .word 0x3f1a36e2 8047068: 20023eb8 .word 0x20023eb8 804706c: 080f5268 .word 0x080f5268 8047070: cccccccd .word 0xcccccccd 8047074: 20020070 .word 0x20020070 8047078: 20020fd0 .word 0x20020fd0 case ROUTE_MAP: //LT switch(menupos) 804707c: 4bb9 ldr r3, [pc, #740] ; (8047364 ) 804707e: 781b ldrb r3, [r3, #0] 8047080: b2db uxtb r3, r3 8047082: 2b0e cmp r3, #14 8047084: f200 826d bhi.w 8047562 8047088: a201 add r2, pc, #4 ; (adr r2, 8047090 ) 804708a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804708e: bf00 nop 8047090: 08047149 .word 0x08047149 8047094: 08047151 .word 0x08047151 8047098: 08047159 .word 0x08047159 804709c: 08047141 .word 0x08047141 80470a0: 080470cd .word 0x080470cd 80470a4: 08047141 .word 0x08047141 80470a8: 08047141 .word 0x08047141 80470ac: 08047111 .word 0x08047111 80470b0: 08047119 .word 0x08047119 80470b4: 08047121 .word 0x08047121 80470b8: 08047129 .word 0x08047129 80470bc: 08047131 .word 0x08047131 80470c0: 08047139 .word 0x08047139 80470c4: 08047101 .word 0x08047101 80470c8: 08047109 .word 0x08047109 { case RouteTime: if(focused) 80470cc: 4ba6 ldr r3, [pc, #664] ; (8047368 ) 80470ce: 781b ldrb r3, [r3, #0] 80470d0: b2db uxtb r3, r3 80470d2: 2b00 cmp r3, #0 80470d4: d010 beq.n 80470f8 { if(pardata.TME > CONTINUOUS) pardata.TME--; 80470d6: 4ba5 ldr r3, [pc, #660] ; (804736c ) 80470d8: 7b9b ldrb r3, [r3, #14] 80470da: b2db uxtb r3, r3 80470dc: 2b00 cmp r3, #0 80470de: d007 beq.n 80470f0 80470e0: 4ba2 ldr r3, [pc, #648] ; (804736c ) 80470e2: 7b9b ldrb r3, [r3, #14] 80470e4: b2db uxtb r3, r3 80470e6: 3b01 subs r3, #1 80470e8: b2da uxtb r2, r3 80470ea: 4ba0 ldr r3, [pc, #640] ; (804736c ) 80470ec: 739a strb r2, [r3, #14] else pardata.TME = HOUR2; } else menupos = GoMeas; break; 80470ee: e037 b.n 8047160 else pardata.TME = HOUR2; 80470f0: 4b9e ldr r3, [pc, #632] ; (804736c ) 80470f2: 2209 movs r2, #9 80470f4: 739a strb r2, [r3, #14] break; 80470f6: e033 b.n 8047160 menupos = GoMeas; 80470f8: 4b9a ldr r3, [pc, #616] ; (8047364 ) 80470fa: 2201 movs r2, #1 80470fc: 701a strb r2, [r3, #0] break; 80470fe: e02f b.n 8047160 case RouteNullYes: menupos = RouteNullNo; 8047100: 4b98 ldr r3, [pc, #608] ; (8047364 ) 8047102: 220e movs r2, #14 8047104: 701a strb r2, [r3, #0] break; 8047106: e02b b.n 8047160 case RouteNullNo: menupos = RouteNullYes; 8047108: 4b96 ldr r3, [pc, #600] ; (8047364 ) 804710a: 220d movs r2, #13 804710c: 701a strb r2, [r3, #0] break; 804710e: e027 b.n 8047160 case RouteMax_IDT: menupos = RouteMax_IKD; 8047110: 4b94 ldr r3, [pc, #592] ; (8047364 ) 8047112: 220c movs r2, #12 8047114: 701a strb r2, [r3, #0] break; 8047116: e023 b.n 8047160 case RouteMax_IET: menupos = RouteMax_IDT; 8047118: 4b92 ldr r3, [pc, #584] ; (8047364 ) 804711a: 2207 movs r2, #7 804711c: 701a strb r2, [r3, #0] break; 804711e: e01f b.n 8047160 case RouteMax_IES: menupos = RouteMax_IET; 8047120: 4b90 ldr r3, [pc, #576] ; (8047364 ) 8047122: 2208 movs r2, #8 8047124: 701a strb r2, [r3, #0] break; 8047126: e01b b.n 8047160 case RouteMax_IED: menupos = RouteMax_IES; 8047128: 4b8e ldr r3, [pc, #568] ; (8047364 ) 804712a: 2209 movs r2, #9 804712c: 701a strb r2, [r3, #0] break; 804712e: e017 b.n 8047160 case RouteMax_IEE: menupos = RouteMax_IED; 8047130: 4b8c ldr r3, [pc, #560] ; (8047364 ) 8047132: 220a movs r2, #10 8047134: 701a strb r2, [r3, #0] break; 8047136: e013 b.n 8047160 case RouteMax_IKD: menupos = RouteMax_IEE; 8047138: 4b8a ldr r3, [pc, #552] ; (8047364 ) 804713a: 220b movs r2, #11 804713c: 701a strb r2, [r3, #0] break; 804713e: e00f b.n 8047160 case RouteTacho: case RouteAutoKu: case RouteMax_ALL: menupos = GoMeas; 8047140: 4b88 ldr r3, [pc, #544] ; (8047364 ) 8047142: 2201 movs r2, #1 8047144: 701a strb r2, [r3, #0] break; 8047146: e00b b.n 8047160 case PrevPoint: menupos = NextPoint; 8047148: 4b86 ldr r3, [pc, #536] ; (8047364 ) 804714a: 2202 movs r2, #2 804714c: 701a strb r2, [r3, #0] break; 804714e: e007 b.n 8047160 case GoMeas: menupos = PrevPoint; 8047150: 4b84 ldr r3, [pc, #528] ; (8047364 ) 8047152: 2200 movs r2, #0 8047154: 701a strb r2, [r3, #0] break; 8047156: e003 b.n 8047160 case NextPoint: menupos = GoMeas; 8047158: 4b82 ldr r3, [pc, #520] ; (8047364 ) 804715a: 2201 movs r2, #1 804715c: 701a strb r2, [r3, #0] break; 804715e: bf00 nop } break; 8047160: e1ff b.n 8047562 case PARAM_WAVE: //LT switch(menupos) 8047162: 4b80 ldr r3, [pc, #512] ; (8047364 ) 8047164: 781b ldrb r3, [r3, #0] 8047166: b2db uxtb r3, r3 8047168: 3b01 subs r3, #1 804716a: 2b14 cmp r3, #20 804716c: f200 81fc bhi.w 8047568 8047170: a201 add r2, pc, #4 ; (adr r2, 8047178 ) 8047172: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8047176: bf00 nop 8047178: 080471cd .word 0x080471cd 804717c: 080471d5 .word 0x080471d5 8047180: 08047271 .word 0x08047271 8047184: 08047279 .word 0x08047279 8047188: 080471dd .word 0x080471dd 804718c: 08047271 .word 0x08047271 8047190: 08047271 .word 0x08047271 8047194: 08047271 .word 0x08047271 8047198: 08047271 .word 0x08047271 804719c: 08047241 .word 0x08047241 80471a0: 08047249 .word 0x08047249 80471a4: 08047251 .word 0x08047251 80471a8: 08047259 .word 0x08047259 80471ac: 08047261 .word 0x08047261 80471b0: 08047269 .word 0x08047269 80471b4: 08047211 .word 0x08047211 80471b8: 08047219 .word 0x08047219 80471bc: 08047221 .word 0x08047221 80471c0: 08047229 .word 0x08047229 80471c4: 08047231 .word 0x08047231 80471c8: 08047239 .word 0x08047239 { case WaveBand: pardata.FRQ = _64000Hz; 80471cc: 4b67 ldr r3, [pc, #412] ; (804736c ) 80471ce: 2209 movs r2, #9 80471d0: 72da strb r2, [r3, #11] break; 80471d2: e057 b.n 8047284 case WaveFreq: pardata.FRQ = _64000Hz; 80471d4: 4b65 ldr r3, [pc, #404] ; (804736c ) 80471d6: 2209 movs r2, #9 80471d8: 72da strb r2, [r3, #11] break; 80471da: e053 b.n 8047284 case WaveTime: if(focused) 80471dc: 4b62 ldr r3, [pc, #392] ; (8047368 ) 80471de: 781b ldrb r3, [r3, #0] 80471e0: b2db uxtb r3, r3 80471e2: 2b00 cmp r3, #0 80471e4: d010 beq.n 8047208 { if(pardata.TME > CONTINUOUS) pardata.TME--; 80471e6: 4b61 ldr r3, [pc, #388] ; (804736c ) 80471e8: 7b9b ldrb r3, [r3, #14] 80471ea: b2db uxtb r3, r3 80471ec: 2b00 cmp r3, #0 80471ee: d007 beq.n 8047200 80471f0: 4b5e ldr r3, [pc, #376] ; (804736c ) 80471f2: 7b9b ldrb r3, [r3, #14] 80471f4: b2db uxtb r3, r3 80471f6: 3b01 subs r3, #1 80471f8: b2da uxtb r2, r3 80471fa: 4b5c ldr r3, [pc, #368] ; (804736c ) 80471fc: 739a strb r2, [r3, #14] else pardata.TME = HOUR2; } else menupos = Ok; break; 80471fe: e041 b.n 8047284 else pardata.TME = HOUR2; 8047200: 4b5a ldr r3, [pc, #360] ; (804736c ) 8047202: 2209 movs r2, #9 8047204: 739a strb r2, [r3, #14] break; 8047206: e03d b.n 8047284 menupos = Ok; 8047208: 4b56 ldr r3, [pc, #344] ; (8047364 ) 804720a: 2200 movs r2, #0 804720c: 701a strb r2, [r3, #0] break; 804720e: e039 b.n 8047284 case WaveThr_IDT: menupos = WaveThr_IKD; 8047210: 4b54 ldr r3, [pc, #336] ; (8047364 ) 8047212: 2215 movs r2, #21 8047214: 701a strb r2, [r3, #0] break; 8047216: e035 b.n 8047284 case WaveThr_IET: menupos = WaveThr_IDT; 8047218: 4b52 ldr r3, [pc, #328] ; (8047364 ) 804721a: 2210 movs r2, #16 804721c: 701a strb r2, [r3, #0] break; 804721e: e031 b.n 8047284 case WaveThr_IES: menupos = WaveThr_IET; 8047220: 4b50 ldr r3, [pc, #320] ; (8047364 ) 8047222: 2211 movs r2, #17 8047224: 701a strb r2, [r3, #0] break; 8047226: e02d b.n 8047284 case WaveThr_IED: menupos = WaveThr_IES; 8047228: 4b4e ldr r3, [pc, #312] ; (8047364 ) 804722a: 2212 movs r2, #18 804722c: 701a strb r2, [r3, #0] break; 804722e: e029 b.n 8047284 case WaveThr_IEE: menupos = WaveThr_IED; 8047230: 4b4c ldr r3, [pc, #304] ; (8047364 ) 8047232: 2213 movs r2, #19 8047234: 701a strb r2, [r3, #0] break; 8047236: e025 b.n 8047284 case WaveThr_IKD: menupos = WaveThr_IEE; 8047238: 4b4a ldr r3, [pc, #296] ; (8047364 ) 804723a: 2214 movs r2, #20 804723c: 701a strb r2, [r3, #0] break; 804723e: e021 b.n 8047284 case WaveMax_IDT: menupos = WaveMax_IKD; 8047240: 4b48 ldr r3, [pc, #288] ; (8047364 ) 8047242: 220f movs r2, #15 8047244: 701a strb r2, [r3, #0] break; 8047246: e01d b.n 8047284 case WaveMax_IET: menupos = WaveMax_IDT; 8047248: 4b46 ldr r3, [pc, #280] ; (8047364 ) 804724a: 220a movs r2, #10 804724c: 701a strb r2, [r3, #0] break; 804724e: e019 b.n 8047284 case WaveMax_IES: menupos = WaveMax_IET; 8047250: 4b44 ldr r3, [pc, #272] ; (8047364 ) 8047252: 220b movs r2, #11 8047254: 701a strb r2, [r3, #0] break; 8047256: e015 b.n 8047284 case WaveMax_IED: menupos = WaveMax_IES; 8047258: 4b42 ldr r3, [pc, #264] ; (8047364 ) 804725a: 220c movs r2, #12 804725c: 701a strb r2, [r3, #0] break; 804725e: e011 b.n 8047284 case WaveMax_IEE: menupos = WaveMax_IED; 8047260: 4b40 ldr r3, [pc, #256] ; (8047364 ) 8047262: 220d movs r2, #13 8047264: 701a strb r2, [r3, #0] break; 8047266: e00d b.n 8047284 case WaveMax_IKD: menupos = WaveMax_IEE; 8047268: 4b3e ldr r3, [pc, #248] ; (8047364 ) 804726a: 220e movs r2, #14 804726c: 701a strb r2, [r3, #0] break; 804726e: e009 b.n 8047284 case WaveThr: case WaveTacho: case WaveAutoKu: case WaveMax_ALL: case WaveThr_ALL: menupos = Ok; 8047270: 4b3c ldr r3, [pc, #240] ; (8047364 ) 8047272: 2200 movs r2, #0 8047274: 701a strb r2, [r3, #0] break; 8047276: e005 b.n 8047284 case WaveName: memset(WavFileName, 0, sizeof(WavFileName)); 8047278: 2221 movs r2, #33 ; 0x21 804727a: 2100 movs r1, #0 804727c: 483c ldr r0, [pc, #240] ; (8047370 ) 804727e: f08a fe91 bl 80d1fa4 break; 8047282: bf00 nop } break; 8047284: e170 b.n 8047568 case SETTINGS: switch(menupos) 8047286: 4b37 ldr r3, [pc, #220] ; (8047364 ) 8047288: 781b ldrb r3, [r3, #0] 804728a: b2db uxtb r3, r3 804728c: 3b01 subs r3, #1 804728e: 2b11 cmp r3, #17 8047290: f200 816d bhi.w 804756e 8047294: a201 add r2, pc, #4 ; (adr r2, 804729c ) 8047296: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804729a: bf00 nop 804729c: 08047339 .word 0x08047339 80472a0: 0804756f .word 0x0804756f 80472a4: 08047315 .word 0x08047315 80472a8: 0804756f .word 0x0804756f 80472ac: 0804756f .word 0x0804756f 80472b0: 0804756f .word 0x0804756f 80472b4: 0804756f .word 0x0804756f 80472b8: 0804756f .word 0x0804756f 80472bc: 08047375 .word 0x08047375 80472c0: 0804756f .word 0x0804756f 80472c4: 0804756f .word 0x0804756f 80472c8: 0804756f .word 0x0804756f 80472cc: 080472e5 .word 0x080472e5 80472d0: 080472ed .word 0x080472ed 80472d4: 080472f5 .word 0x080472f5 80472d8: 080472fd .word 0x080472fd 80472dc: 08047305 .word 0x08047305 80472e0: 0804730d .word 0x0804730d { case Ies: menupos = Ikt; break; 80472e4: 4b1f ldr r3, [pc, #124] ; (8047364 ) 80472e6: 2212 movs r2, #18 80472e8: 701a strb r2, [r3, #0] 80472ea: e04a b.n 8047382 case Ied: menupos = Ies; break; 80472ec: 4b1d ldr r3, [pc, #116] ; (8047364 ) 80472ee: 220d movs r2, #13 80472f0: 701a strb r2, [r3, #0] 80472f2: e046 b.n 8047382 case Iee: menupos = Ied; break; 80472f4: 4b1b ldr r3, [pc, #108] ; (8047364 ) 80472f6: 220e movs r2, #14 80472f8: 701a strb r2, [r3, #0] 80472fa: e042 b.n 8047382 case Ikd: menupos = Iee; break; 80472fc: 4b19 ldr r3, [pc, #100] ; (8047364 ) 80472fe: 220f movs r2, #15 8047300: 701a strb r2, [r3, #0] 8047302: e03e b.n 8047382 case Iks: menupos = Ikd; break; 8047304: 4b17 ldr r3, [pc, #92] ; (8047364 ) 8047306: 2210 movs r2, #16 8047308: 701a strb r2, [r3, #0] 804730a: e03a b.n 8047382 case Ikt: menupos = Iks; break; 804730c: 4b15 ldr r3, [pc, #84] ; (8047364 ) 804730e: 2211 movs r2, #17 8047310: 701a strb r2, [r3, #0] 8047312: e036 b.n 8047382 case Lang: if(focused) 8047314: 4b14 ldr r3, [pc, #80] ; (8047368 ) 8047316: 781b ldrb r3, [r3, #0] 8047318: b2db uxtb r3, r3 804731a: 2b00 cmp r3, #0 804731c: d02e beq.n 804737c { if(pardata.LANG == ENG) 804731e: 4b13 ldr r3, [pc, #76] ; (804736c ) 8047320: 7b1b ldrb r3, [r3, #12] 8047322: b2db uxtb r3, r3 8047324: 2b01 cmp r3, #1 8047326: d103 bne.n 8047330 pardata.LANG = RUS; 8047328: 4b10 ldr r3, [pc, #64] ; (804736c ) 804732a: 2200 movs r2, #0 804732c: 731a strb r2, [r3, #12] else pardata.LANG = ENG; } break; 804732e: e025 b.n 804737c else pardata.LANG = ENG; 8047330: 4b0e ldr r3, [pc, #56] ; (804736c ) 8047332: 2201 movs r2, #1 8047334: 731a strb r2, [r3, #12] break; 8047336: e021 b.n 804737c case Type: #if (!defined(USE_D101) && !defined(USE_D102)) if(focused) 8047338: 4b0b ldr r3, [pc, #44] ; (8047368 ) 804733a: 781b ldrb r3, [r3, #0] 804733c: b2db uxtb r3, r3 804733e: 2b00 cmp r3, #0 8047340: d01e beq.n 8047380 { if(pardata.IIN > CHARGE) pardata.IIN--; 8047342: 4b0a ldr r3, [pc, #40] ; (804736c ) 8047344: 799b ldrb r3, [r3, #6] 8047346: b2db uxtb r3, r3 8047348: 2b00 cmp r3, #0 804734a: d007 beq.n 804735c 804734c: 4b07 ldr r3, [pc, #28] ; (804736c ) 804734e: 799b ldrb r3, [r3, #6] 8047350: b2db uxtb r3, r3 8047352: 3b01 subs r3, #1 8047354: b2da uxtb r2, r3 8047356: 4b05 ldr r3, [pc, #20] ; (804736c ) 8047358: 719a strb r2, [r3, #6] { if(pardata.IIN == VOLTS) pardata.IIN = ICP; else pardata.IIN = VOLTS; } #endif break; 804735a: e011 b.n 8047380 else pardata.IIN = VOLTS; 804735c: 4b03 ldr r3, [pc, #12] ; (804736c ) 804735e: 2202 movs r2, #2 8047360: 719a strb r2, [r3, #6] break; 8047362: e00d b.n 8047380 8047364: 20020070 .word 0x20020070 8047368: 20020fd0 .word 0x20020fd0 804736c: 20023eb8 .word 0x20023eb8 8047370: 20020e5c .word 0x20020e5c case FormatDiskYes: menupos = FormatDiskNo; 8047374: 4b88 ldr r3, [pc, #544] ; (8047598 ) 8047376: 2208 movs r2, #8 8047378: 701a strb r2, [r3, #0] break; 804737a: e002 b.n 8047382 break; 804737c: bf00 nop 804737e: e0f6 b.n 804756e break; 8047380: bf00 nop } break; 8047382: e0f4 b.n 804756e case DATETIME: switch(menupos) 8047384: 4b84 ldr r3, [pc, #528] ; (8047598 ) 8047386: 781b ldrb r3, [r3, #0] 8047388: b2db uxtb r3, r3 804738a: 3b03 subs r3, #3 804738c: 2b04 cmp r3, #4 804738e: f200 80f1 bhi.w 8047574 8047392: a201 add r2, pc, #4 ; (adr r2, 8047398 ) 8047394: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8047398: 080473ad .word 0x080473ad 804739c: 080473b5 .word 0x080473b5 80473a0: 080473bd .word 0x080473bd 80473a4: 080473c5 .word 0x080473c5 80473a8: 080473cd .word 0x080473cd { case DateD: menupos = DateY; break; 80473ac: 4b7a ldr r3, [pc, #488] ; (8047598 ) 80473ae: 2205 movs r2, #5 80473b0: 701a strb r2, [r3, #0] 80473b2: e00f b.n 80473d4 case DateM: menupos = DateD; break; 80473b4: 4b78 ldr r3, [pc, #480] ; (8047598 ) 80473b6: 2203 movs r2, #3 80473b8: 701a strb r2, [r3, #0] 80473ba: e00b b.n 80473d4 case DateY: menupos = DateM; break; 80473bc: 4b76 ldr r3, [pc, #472] ; (8047598 ) 80473be: 2204 movs r2, #4 80473c0: 701a strb r2, [r3, #0] 80473c2: e007 b.n 80473d4 case TimeH: menupos = TimeM; break; 80473c4: 4b74 ldr r3, [pc, #464] ; (8047598 ) 80473c6: 2207 movs r2, #7 80473c8: 701a strb r2, [r3, #0] 80473ca: e003 b.n 80473d4 case TimeM: menupos = TimeH; break; 80473cc: 4b72 ldr r3, [pc, #456] ; (8047598 ) 80473ce: 2206 movs r2, #6 80473d0: 701a strb r2, [r3, #0] 80473d2: bf00 nop } break; 80473d4: e0ce b.n 8047574 case CLEAN_FILES: switch(menupos) 80473d6: 4b70 ldr r3, [pc, #448] ; (8047598 ) 80473d8: 781b ldrb r3, [r3, #0] 80473da: b2db uxtb r3, r3 80473dc: 3b01 subs r3, #1 80473de: 2b08 cmp r3, #8 80473e0: f200 80cb bhi.w 804757a 80473e4: a201 add r2, pc, #4 ; (adr r2, 80473ec ) 80473e6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80473ea: bf00 nop 80473ec: 08047411 .word 0x08047411 80473f0: 08047411 .word 0x08047411 80473f4: 0804757b .word 0x0804757b 80473f8: 0804757b .word 0x0804757b 80473fc: 0804757b .word 0x0804757b 8047400: 0804741f .word 0x0804741f 8047404: 08047427 .word 0x08047427 8047408: 0804742f .word 0x0804742f 804740c: 08047437 .word 0x08047437 { case NoFilesPTM: case FilesPTM: menu = SETTINGS; 8047410: 4b62 ldr r3, [pc, #392] ; (804759c ) 8047412: 2212 movs r2, #18 8047414: 701a strb r2, [r3, #0] menupos = CleanFiles; 8047416: 4b60 ldr r3, [pc, #384] ; (8047598 ) 8047418: 220c movs r2, #12 804741a: 701a strb r2, [r3, #0] break; 804741c: e00f b.n 804743e case UpNo: menupos = UpYes; 804741e: 4b5e ldr r3, [pc, #376] ; (8047598 ) 8047420: 2207 movs r2, #7 8047422: 701a strb r2, [r3, #0] break; 8047424: e00b b.n 804743e case UpYes: menupos = UpNo; 8047426: 4b5c ldr r3, [pc, #368] ; (8047598 ) 8047428: 2206 movs r2, #6 804742a: 701a strb r2, [r3, #0] break; 804742c: e007 b.n 804743e case AllNo: menupos = AllYes; 804742e: 4b5a ldr r3, [pc, #360] ; (8047598 ) 8047430: 2209 movs r2, #9 8047432: 701a strb r2, [r3, #0] break; 8047434: e003 b.n 804743e case AllYes: menupos = AllNo; 8047436: 4b58 ldr r3, [pc, #352] ; (8047598 ) 8047438: 2208 movs r2, #8 804743a: 701a strb r2, [r3, #0] break; 804743c: bf00 nop } break; 804743e: e09c b.n 804757a case ACCELEROMETER: switch(menupos) 8047440: 4b55 ldr r3, [pc, #340] ; (8047598 ) 8047442: 781b ldrb r3, [r3, #0] 8047444: b2db uxtb r3, r3 8047446: 3b0d subs r3, #13 8047448: 2b05 cmp r3, #5 804744a: f200 8099 bhi.w 8047580 804744e: a201 add r2, pc, #4 ; (adr r2, 8047454 ) 8047450: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8047454: 0804746d .word 0x0804746d 8047458: 08047475 .word 0x08047475 804745c: 0804747d .word 0x0804747d 8047460: 08047485 .word 0x08047485 8047464: 0804748d .word 0x0804748d 8047468: 08047495 .word 0x08047495 { case Ies: menupos = Ikt; break; 804746c: 4b4a ldr r3, [pc, #296] ; (8047598 ) 804746e: 2212 movs r2, #18 8047470: 701a strb r2, [r3, #0] 8047472: e013 b.n 804749c case Ied: menupos = Ies; break; 8047474: 4b48 ldr r3, [pc, #288] ; (8047598 ) 8047476: 220d movs r2, #13 8047478: 701a strb r2, [r3, #0] 804747a: e00f b.n 804749c case Iee: menupos = Ied; break; 804747c: 4b46 ldr r3, [pc, #280] ; (8047598 ) 804747e: 220e movs r2, #14 8047480: 701a strb r2, [r3, #0] 8047482: e00b b.n 804749c case Ikd: menupos = Iee; break; 8047484: 4b44 ldr r3, [pc, #272] ; (8047598 ) 8047486: 220f movs r2, #15 8047488: 701a strb r2, [r3, #0] 804748a: e007 b.n 804749c case Iks: menupos = Ikd; break; 804748c: 4b42 ldr r3, [pc, #264] ; (8047598 ) 804748e: 2210 movs r2, #16 8047490: 701a strb r2, [r3, #0] 8047492: e003 b.n 804749c case Ikt: menupos = Iks; break; 8047494: 4b40 ldr r3, [pc, #256] ; (8047598 ) 8047496: 2211 movs r2, #17 8047498: 701a strb r2, [r3, #0] 804749a: bf00 nop } break; 804749c: e070 b.n 8047580 case CALIBR_00: if(menupos > 0) 804749e: 4b3e ldr r3, [pc, #248] ; (8047598 ) 80474a0: 781b ldrb r3, [r3, #0] 80474a2: b2db uxtb r3, r3 80474a4: 2b00 cmp r3, #0 80474a6: d06e beq.n 8047586 menupos--; 80474a8: 4b3b ldr r3, [pc, #236] ; (8047598 ) 80474aa: 781b ldrb r3, [r3, #0] 80474ac: b2db uxtb r3, r3 80474ae: 3b01 subs r3, #1 80474b0: b2da uxtb r2, r3 80474b2: 4b39 ldr r3, [pc, #228] ; (8047598 ) 80474b4: 701a strb r2, [r3, #0] break; 80474b6: e066 b.n 8047586 case CALIBR_4: case CALIBR_5: case CALIBR_6: case CALIBR_7: case CALIBR_8: if(menupos > 0) 80474b8: 4b37 ldr r3, [pc, #220] ; (8047598 ) 80474ba: 781b ldrb r3, [r3, #0] 80474bc: b2db uxtb r3, r3 80474be: 2b00 cmp r3, #0 80474c0: d064 beq.n 804758c menupos--; 80474c2: 4b35 ldr r3, [pc, #212] ; (8047598 ) 80474c4: 781b ldrb r3, [r3, #0] 80474c6: b2db uxtb r3, r3 80474c8: 3b01 subs r3, #1 80474ca: b2da uxtb r2, r3 80474cc: 4b32 ldr r3, [pc, #200] ; (8047598 ) 80474ce: 701a strb r2, [r3, #0] break; 80474d0: e05c b.n 804758c case CALIBR_9: case CALIBR_10: case CALIBR_11: if(menupos > 1) 80474d2: 4b31 ldr r3, [pc, #196] ; (8047598 ) 80474d4: 781b ldrb r3, [r3, #0] 80474d6: b2db uxtb r3, r3 80474d8: 2b01 cmp r3, #1 80474da: d902 bls.n 80474e2 menupos = 1; 80474dc: 4b2e ldr r3, [pc, #184] ; (8047598 ) 80474de: 2201 movs r2, #1 80474e0: 701a strb r2, [r3, #0] if(menupos > 0) 80474e2: 4b2d ldr r3, [pc, #180] ; (8047598 ) 80474e4: 781b ldrb r3, [r3, #0] 80474e6: b2db uxtb r3, r3 80474e8: 2b00 cmp r3, #0 80474ea: d052 beq.n 8047592 menupos--; 80474ec: 4b2a ldr r3, [pc, #168] ; (8047598 ) 80474ee: 781b ldrb r3, [r3, #0] 80474f0: b2db uxtb r3, r3 80474f2: 3b01 subs r3, #1 80474f4: b2da uxtb r2, r3 80474f6: 4b28 ldr r3, [pc, #160] ; (8047598 ) 80474f8: 701a strb r2, [r3, #0] break; 80474fa: e04a b.n 8047592 break; 80474fc: bf00 nop 80474fe: f00d b92d b.w 805475c break; 8047502: bf00 nop 8047504: f00d b92a b.w 805475c break; 8047508: bf00 nop 804750a: f00d b927 b.w 805475c break; 804750e: bf00 nop 8047510: f00d b924 b.w 805475c break; 8047514: bf00 nop 8047516: f00d b921 b.w 805475c break; 804751a: bf00 nop 804751c: f00d b91e b.w 805475c break; 8047520: bf00 nop 8047522: f00d b91b b.w 805475c break; 8047526: bf00 nop 8047528: f00d b918 b.w 805475c break; 804752c: bf00 nop 804752e: f00d b915 b.w 805475c break; 8047532: bf00 nop 8047534: f00d b912 b.w 805475c break; 8047538: bf00 nop 804753a: f00d b90f b.w 805475c break; 804753e: bf00 nop 8047540: f00d b90c b.w 805475c break; 8047544: bf00 nop 8047546: f00d b909 b.w 805475c break; 804754a: bf00 nop 804754c: f00d b906 b.w 805475c break; 8047550: bf00 nop 8047552: f00d b903 b.w 805475c break; 8047556: bf00 nop 8047558: f00d b900 b.w 805475c break; 804755c: bf00 nop 804755e: f00d b8fd b.w 805475c break; 8047562: bf00 nop 8047564: f00d b8fa b.w 805475c break; 8047568: bf00 nop 804756a: f00d b8f7 b.w 805475c break; 804756e: bf00 nop 8047570: f00d b8f4 b.w 805475c break; 8047574: bf00 nop 8047576: f00d b8f1 b.w 805475c break; 804757a: bf00 nop 804757c: f00d b8ee b.w 805475c break; 8047580: bf00 nop 8047582: f00d b8eb b.w 805475c break; 8047586: bf00 nop 8047588: f00d b8e8 b.w 805475c break; 804758c: bf00 nop 804758e: f00d b8e5 b.w 805475c break; 8047592: bf00 nop } break; 8047594: f00d b8e2 b.w 805475c 8047598: 20020070 .word 0x20020070 804759c: 20020fc5 .word 0x20020fc5 case KEY_RT:// TODO KEY RT switch(menu) 80475a0: 4bce ldr r3, [pc, #824] ; (80478dc ) 80475a2: 781b ldrb r3, [r3, #0] 80475a4: b2db uxtb r3, r3 80475a6: 2b47 cmp r3, #71 ; 0x47 80475a8: f20d 80da bhi.w 8054760 80475ac: a201 add r2, pc, #4 ; (adr r2, 80475b4 ) 80475ae: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80475b2: bf00 nop 80475b4: 08047ea9 .word 0x08047ea9 80475b8: 08048575 .word 0x08048575 80475bc: 08054761 .word 0x08054761 80475c0: 080488f7 .word 0x080488f7 80475c4: 08049d69 .word 0x08049d69 80475c8: 08054761 .word 0x08054761 80475cc: 08048d4f .word 0x08048d4f 80475d0: 08048f75 .word 0x08048f75 80475d4: 08049995 .word 0x08049995 80475d8: 08054761 .word 0x08054761 80475dc: 08049e4f .word 0x08049e4f 80475e0: 08054761 .word 0x08054761 80475e4: 08054761 .word 0x08054761 80475e8: 08048b09 .word 0x08048b09 80475ec: 08048a5d .word 0x08048a5d 80475f0: 080476d5 .word 0x080476d5 80475f4: 0804a1f7 .word 0x0804a1f7 80475f8: 0804777f .word 0x0804777f 80475fc: 08049f85 .word 0x08049f85 8047600: 0804a137 .word 0x0804a137 8047604: 08054761 .word 0x08054761 8047608: 080486e5 .word 0x080486e5 804760c: 08048723 .word 0x08048723 8047610: 08048761 .word 0x08048761 8047614: 0804a069 .word 0x0804a069 8047618: 0804a0bb .word 0x0804a0bb 804761c: 08054761 .word 0x08054761 8047620: 08054761 .word 0x08054761 8047624: 0804814b .word 0x0804814b 8047628: 08047f19 .word 0x08047f19 804762c: 080484e9 .word 0x080484e9 8047630: 08047ea9 .word 0x08047ea9 8047634: 0804853f .word 0x0804853f 8047638: 0804814b .word 0x0804814b 804763c: 080483dd .word 0x080483dd 8047640: 08048449 .word 0x08048449 8047644: 0804814b .word 0x0804814b 8047648: 0804a1f7 .word 0x0804a1f7 804764c: 08047e5d .word 0x08047e5d 8047650: 08054761 .word 0x08054761 8047654: 0804814b .word 0x0804814b 8047658: 080485c7 .word 0x080485c7 804765c: 0804862f .word 0x0804862f 8047660: 08048697 .word 0x08048697 8047664: 08048697 .word 0x08048697 8047668: 08048697 .word 0x08048697 804766c: 08054761 .word 0x08054761 8047670: 08048697 .word 0x08048697 8047674: 08048697 .word 0x08048697 8047678: 08048697 .word 0x08048697 804767c: 08048697 .word 0x08048697 8047680: 08048697 .word 0x08048697 8047684: 0804a197 .word 0x0804a197 8047688: 0804a1b3 .word 0x0804a1b3 804768c: 0804a1b3 .word 0x0804a1b3 8047690: 0804a1b3 .word 0x0804a1b3 8047694: 0804a1b3 .word 0x0804a1b3 8047698: 0804a1b3 .word 0x0804a1b3 804769c: 0804a1b3 .word 0x0804a1b3 80476a0: 0804a1b3 .word 0x0804a1b3 80476a4: 0804a1b3 .word 0x0804a1b3 80476a8: 0804a1b3 .word 0x0804a1b3 80476ac: 0804a1cd .word 0x0804a1cd 80476b0: 0804a1cd .word 0x0804a1cd 80476b4: 0804a1cd .word 0x0804a1cd 80476b8: 08054761 .word 0x08054761 80476bc: 08054761 .word 0x08054761 80476c0: 08054761 .word 0x08054761 80476c4: 08054761 .word 0x08054761 80476c8: 08047e37 .word 0x08047e37 80476cc: 08047e37 .word 0x08047e37 80476d0: 08047e37 .word 0x08047e37 { case PARAM_DIAGN: switch(menupos) 80476d4: 4b82 ldr r3, [pc, #520] ; (80478e0 ) 80476d6: 781b ldrb r3, [r3, #0] 80476d8: b2db uxtb r3, r3 80476da: 3b01 subs r3, #1 80476dc: 2b09 cmp r3, #9 80476de: f202 858d bhi.w 804a1fc 80476e2: a201 add r2, pc, #4 ; (adr r2, 80476e8 ) 80476e4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80476e8: 08047711 .word 0x08047711 80476ec: 0804a1fd .word 0x0804a1fd 80476f0: 0804a1fd .word 0x0804a1fd 80476f4: 0804776d .word 0x0804776d 80476f8: 08047765 .word 0x08047765 80476fc: 0804775d .word 0x0804775d 8047700: 08047755 .word 0x08047755 8047704: 0804774d .word 0x0804774d 8047708: 08047745 .word 0x08047745 804770c: 0804773d .word 0x0804773d { case DiagAverage: if(focused) 8047710: 4b74 ldr r3, [pc, #464] ; (80478e4 ) 8047712: 781b ldrb r3, [r3, #0] 8047714: b2db uxtb r3, r3 8047716: 2b00 cmp r3, #0 8047718: d02e beq.n 8047778 { if(pardata.AVG < AVG512) pardata.AVG++; 804771a: 4b73 ldr r3, [pc, #460] ; (80478e8 ) 804771c: 7b5b ldrb r3, [r3, #13] 804771e: b2db uxtb r3, r3 8047720: 2b08 cmp r3, #8 8047722: d807 bhi.n 8047734 8047724: 4b70 ldr r3, [pc, #448] ; (80478e8 ) 8047726: 7b5b ldrb r3, [r3, #13] 8047728: b2db uxtb r3, r3 804772a: 3301 adds r3, #1 804772c: b2da uxtb r2, r3 804772e: 4b6e ldr r3, [pc, #440] ; (80478e8 ) 8047730: 735a strb r2, [r3, #13] else pardata.AVG = AVG1; } break; 8047732: e021 b.n 8047778 else pardata.AVG = AVG1; 8047734: 4b6c ldr r3, [pc, #432] ; (80478e8 ) 8047736: 2200 movs r2, #0 8047738: 735a strb r2, [r3, #13] break; 804773a: e01d b.n 8047778 case DiagMax_IKD: menupos = DiagMax_IDT; break; 804773c: 4b68 ldr r3, [pc, #416] ; (80478e0 ) 804773e: 2205 movs r2, #5 8047740: 701a strb r2, [r3, #0] 8047742: e01a b.n 804777a case DiagMax_IEE: menupos = DiagMax_IKD; break; 8047744: 4b66 ldr r3, [pc, #408] ; (80478e0 ) 8047746: 220a movs r2, #10 8047748: 701a strb r2, [r3, #0] 804774a: e016 b.n 804777a case DiagMax_IED: menupos = DiagMax_IEE; break; 804774c: 4b64 ldr r3, [pc, #400] ; (80478e0 ) 804774e: 2209 movs r2, #9 8047750: 701a strb r2, [r3, #0] 8047752: e012 b.n 804777a case DiagMax_IES: menupos = DiagMax_IED; break; 8047754: 4b62 ldr r3, [pc, #392] ; (80478e0 ) 8047756: 2208 movs r2, #8 8047758: 701a strb r2, [r3, #0] 804775a: e00e b.n 804777a case DiagMax_IET: menupos = DiagMax_IES; break; 804775c: 4b60 ldr r3, [pc, #384] ; (80478e0 ) 804775e: 2207 movs r2, #7 8047760: 701a strb r2, [r3, #0] 8047762: e00a b.n 804777a case DiagMax_IDT: menupos = DiagMax_IET; break; 8047764: 4b5e ldr r3, [pc, #376] ; (80478e0 ) 8047766: 2206 movs r2, #6 8047768: 701a strb r2, [r3, #0] 804776a: e006 b.n 804777a case DiagSaveToFile: memset(DiagFileName, 0, sizeof(DiagFileName)); 804776c: 2221 movs r2, #33 ; 0x21 804776e: 2100 movs r1, #0 8047770: 485e ldr r0, [pc, #376] ; (80478ec ) 8047772: f08a fc17 bl 80d1fa4 break; 8047776: e000 b.n 804777a break; 8047778: bf00 nop } break; 804777a: f002 bd3f b.w 804a1fc case PARAM_DIAGN_1: break; case PARAM_DIAGN_2: switch(menupos) 804777e: 4b58 ldr r3, [pc, #352] ; (80478e0 ) 8047780: 781b ldrb r3, [r3, #0] 8047782: b2db uxtb r3, r3 8047784: 3b01 subs r3, #1 8047786: 2b23 cmp r3, #35 ; 0x23 8047788: f202 853b bhi.w 804a202 804778c: a201 add r2, pc, #4 ; (adr r2, 8047794 ) 804778e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8047792: bf00 nop 8047794: 08047825 .word 0x08047825 8047798: 08047833 .word 0x08047833 804779c: 0804787b .word 0x0804787b 80477a0: 08047889 .word 0x08047889 80477a4: 080478cf .word 0x080478cf 80477a8: 0804a203 .word 0x0804a203 80477ac: 080478f9 .word 0x080478f9 80477b0: 08047c2d .word 0x08047c2d 80477b4: 08047d6b .word 0x08047d6b 80477b8: 08047d6b .word 0x08047d6b 80477bc: 08047d6b .word 0x08047d6b 80477c0: 08047d6b .word 0x08047d6b 80477c4: 08047d9b .word 0x08047d9b 80477c8: 08047d93 .word 0x08047d93 80477cc: 08047d8b .word 0x08047d8b 80477d0: 08047d83 .word 0x08047d83 80477d4: 08047d7b .word 0x08047d7b 80477d8: 08047d73 .word 0x08047d73 80477dc: 08047dcb .word 0x08047dcb 80477e0: 08047dc3 .word 0x08047dc3 80477e4: 08047dbb .word 0x08047dbb 80477e8: 08047db3 .word 0x08047db3 80477ec: 08047dab .word 0x08047dab 80477f0: 08047da3 .word 0x08047da3 80477f4: 08047dfb .word 0x08047dfb 80477f8: 08047df3 .word 0x08047df3 80477fc: 08047deb .word 0x08047deb 8047800: 08047de3 .word 0x08047de3 8047804: 08047ddb .word 0x08047ddb 8047808: 08047dd3 .word 0x08047dd3 804780c: 08047e2b .word 0x08047e2b 8047810: 08047e23 .word 0x08047e23 8047814: 08047e1b .word 0x08047e1b 8047818: 08047e13 .word 0x08047e13 804781c: 08047e0b .word 0x08047e0b 8047820: 08047e03 .word 0x08047e03 { case DiagUs1: menupos = DiagOp1; 8047824: 4b2e ldr r3, [pc, #184] ; (80478e0 ) 8047826: 2202 movs r2, #2 8047828: 701a strb r2, [r3, #0] CURR_USL = Us1; 804782a: 4b31 ldr r3, [pc, #196] ; (80478f0 ) 804782c: 2200 movs r2, #0 804782e: 701a strb r2, [r3, #0] break; 8047830: e2ff b.n 8047e32 case DiagOp1: if(!focused) 8047832: 4b2c ldr r3, [pc, #176] ; (80478e4 ) 8047834: 781b ldrb r3, [r3, #0] 8047836: b2db uxtb r3, r3 8047838: f083 0301 eor.w r3, r3, #1 804783c: b2db uxtb r3, r3 804783e: 2b00 cmp r3, #0 8047840: d006 beq.n 8047850 { menupos = DiagUs2; 8047842: 4b27 ldr r3, [pc, #156] ; (80478e0 ) 8047844: 2203 movs r2, #3 8047846: 701a strb r2, [r3, #0] CURR_USL = Us2; 8047848: 4b29 ldr r3, [pc, #164] ; (80478f0 ) 804784a: 2201 movs r2, #1 804784c: 701a strb r2, [r3, #0] } else { pardata.DIAGN_OPER[CURR_POINT][Us1] ^= 0x1; } break; 804784e: e2f0 b.n 8047e32 pardata.DIAGN_OPER[CURR_POINT][Us1] ^= 0x1; 8047850: 4b28 ldr r3, [pc, #160] ; (80478f4 ) 8047852: 781b ldrb r3, [r3, #0] 8047854: b2db uxtb r3, r3 8047856: 4618 mov r0, r3 8047858: 4a23 ldr r2, [pc, #140] ; (80478e8 ) 804785a: 3386 adds r3, #134 ; 0x86 804785c: 009b lsls r3, r3, #2 804785e: 4413 add r3, r2 8047860: 791b ldrb r3, [r3, #4] 8047862: b2db uxtb r3, r3 8047864: f083 0301 eor.w r3, r3, #1 8047868: b2d9 uxtb r1, r3 804786a: 4a1f ldr r2, [pc, #124] ; (80478e8 ) 804786c: f100 0386 add.w r3, r0, #134 ; 0x86 8047870: 009b lsls r3, r3, #2 8047872: 4413 add r3, r2 8047874: 460a mov r2, r1 8047876: 711a strb r2, [r3, #4] break; 8047878: e2db b.n 8047e32 case DiagUs2: menupos = DiagOp2; 804787a: 4b19 ldr r3, [pc, #100] ; (80478e0 ) 804787c: 2204 movs r2, #4 804787e: 701a strb r2, [r3, #0] CURR_USL = Us2; 8047880: 4b1b ldr r3, [pc, #108] ; (80478f0 ) 8047882: 2201 movs r2, #1 8047884: 701a strb r2, [r3, #0] break; 8047886: e2d4 b.n 8047e32 case DiagOp2: if(!focused) 8047888: 4b16 ldr r3, [pc, #88] ; (80478e4 ) 804788a: 781b ldrb r3, [r3, #0] 804788c: b2db uxtb r3, r3 804788e: f083 0301 eor.w r3, r3, #1 8047892: b2db uxtb r3, r3 8047894: 2b00 cmp r3, #0 8047896: d006 beq.n 80478a6 { menupos = DiagUs3; 8047898: 4b11 ldr r3, [pc, #68] ; (80478e0 ) 804789a: 2205 movs r2, #5 804789c: 701a strb r2, [r3, #0] CURR_USL = Us3; 804789e: 4b14 ldr r3, [pc, #80] ; (80478f0 ) 80478a0: 2202 movs r2, #2 80478a2: 701a strb r2, [r3, #0] } else { pardata.DIAGN_OPER[CURR_POINT][Us2] ^= 0x1; } break; 80478a4: e2c5 b.n 8047e32 pardata.DIAGN_OPER[CURR_POINT][Us2] ^= 0x1; 80478a6: 4b13 ldr r3, [pc, #76] ; (80478f4 ) 80478a8: 781b ldrb r3, [r3, #0] 80478aa: b2db uxtb r3, r3 80478ac: 4618 mov r0, r3 80478ae: 4a0e ldr r2, [pc, #56] ; (80478e8 ) 80478b0: 009b lsls r3, r3, #2 80478b2: 4413 add r3, r2 80478b4: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 80478b8: b2db uxtb r3, r3 80478ba: f083 0301 eor.w r3, r3, #1 80478be: b2d9 uxtb r1, r3 80478c0: 4a09 ldr r2, [pc, #36] ; (80478e8 ) 80478c2: 0083 lsls r3, r0, #2 80478c4: 4413 add r3, r2 80478c6: 460a mov r2, r1 80478c8: f883 221d strb.w r2, [r3, #541] ; 0x21d break; 80478cc: e2b1 b.n 8047e32 case DiagUs3: menupos = DiagUs1; 80478ce: 4b04 ldr r3, [pc, #16] ; (80478e0 ) 80478d0: 2201 movs r2, #1 80478d2: 701a strb r2, [r3, #0] CURR_USL = Us1; 80478d4: 4b06 ldr r3, [pc, #24] ; (80478f0 ) 80478d6: 2200 movs r2, #0 80478d8: 701a strb r2, [r3, #0] break; 80478da: e2aa b.n 8047e32 80478dc: 20020fc5 .word 0x20020fc5 80478e0: 20020070 .word 0x20020070 80478e4: 20020fd0 .word 0x20020fd0 80478e8: 20023eb8 .word 0x20023eb8 80478ec: 20020ea4 .word 0x20020ea4 80478f0: 2002105f .word 0x2002105f 80478f4: 2002105d .word 0x2002105d case DiagAVS: if(focused) 80478f8: 4bc5 ldr r3, [pc, #788] ; (8047c10 ) 80478fa: 781b ldrb r3, [r3, #0] 80478fc: b2db uxtb r3, r3 80478fe: 2b00 cmp r3, #0 8047900: f000 817a beq.w 8047bf8 { tmp8 = pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7; 8047904: 4bc3 ldr r3, [pc, #780] ; (8047c14 ) 8047906: 781b ldrb r3, [r3, #0] 8047908: b2db uxtb r3, r3 804790a: 4618 mov r0, r3 804790c: 4bc2 ldr r3, [pc, #776] ; (8047c18 ) 804790e: 781b ldrb r3, [r3, #0] 8047910: b2db uxtb r3, r3 8047912: 4619 mov r1, r3 8047914: 4ac1 ldr r2, [pc, #772] ; (8047c1c ) 8047916: 0083 lsls r3, r0, #2 8047918: 4413 add r3, r2 804791a: 440b add r3, r1 804791c: f503 730f add.w r3, r3, #572 ; 0x23c 8047920: 781b ldrb r3, [r3, #0] 8047922: b2db uxtb r3, r3 8047924: f003 0307 and.w r3, r3, #7 8047928: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_NO) tmp8 = DIAGN_ACC; 804792c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8047930: 2b00 cmp r3, #0 8047932: d103 bne.n 804793c 8047934: 2301 movs r3, #1 8047936: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804793a: e016 b.n 804796a else if(tmp8 == DIAGN_ACC) tmp8 = DIAGN_VEL; 804793c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8047940: 2b01 cmp r3, #1 8047942: d103 bne.n 804794c 8047944: 2302 movs r3, #2 8047946: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804794a: e00e b.n 804796a else if(tmp8 == DIAGN_VEL) tmp8 = DIAGN_DIS; 804794c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8047950: 2b02 cmp r3, #2 8047952: d103 bne.n 804795c 8047954: 2304 movs r3, #4 8047956: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804795a: e006 b.n 804796a else if(tmp8 == DIAGN_DIS) tmp8 = DIAGN_NO; 804795c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8047960: 2b04 cmp r3, #4 8047962: d102 bne.n 804796a 8047964: 2300 movs r3, #0 8047966: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0xf8; 804796a: 4baa ldr r3, [pc, #680] ; (8047c14 ) 804796c: 781b ldrb r3, [r3, #0] 804796e: b2da uxtb r2, r3 8047970: 4614 mov r4, r2 8047972: 4ba9 ldr r3, [pc, #676] ; (8047c18 ) 8047974: 781b ldrb r3, [r3, #0] 8047976: b2db uxtb r3, r3 8047978: 4618 mov r0, r3 804797a: 4615 mov r5, r2 804797c: 4619 mov r1, r3 804797e: 4aa7 ldr r2, [pc, #668] ; (8047c1c ) 8047980: 00ab lsls r3, r5, #2 8047982: 4413 add r3, r2 8047984: 440b add r3, r1 8047986: f503 730f add.w r3, r3, #572 ; 0x23c 804798a: 781b ldrb r3, [r3, #0] 804798c: b2db uxtb r3, r3 804798e: f023 0307 bic.w r3, r3, #7 8047992: b2d9 uxtb r1, r3 8047994: 4aa1 ldr r2, [pc, #644] ; (8047c1c ) 8047996: 00a3 lsls r3, r4, #2 8047998: 4413 add r3, r2 804799a: 4403 add r3, r0 804799c: f503 730f add.w r3, r3, #572 ; 0x23c 80479a0: 460a mov r2, r1 80479a2: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= tmp8; 80479a4: 4b9b ldr r3, [pc, #620] ; (8047c14 ) 80479a6: 781b ldrb r3, [r3, #0] 80479a8: b2da uxtb r2, r3 80479aa: 4614 mov r4, r2 80479ac: 4b9a ldr r3, [pc, #616] ; (8047c18 ) 80479ae: 781b ldrb r3, [r3, #0] 80479b0: b2db uxtb r3, r3 80479b2: 4618 mov r0, r3 80479b4: 4615 mov r5, r2 80479b6: 4619 mov r1, r3 80479b8: 4a98 ldr r2, [pc, #608] ; (8047c1c ) 80479ba: 00ab lsls r3, r5, #2 80479bc: 4413 add r3, r2 80479be: 440b add r3, r1 80479c0: f503 730f add.w r3, r3, #572 ; 0x23c 80479c4: 781b ldrb r3, [r3, #0] 80479c6: b2da uxtb r2, r3 80479c8: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80479cc: 4313 orrs r3, r2 80479ce: b2d9 uxtb r1, r3 80479d0: 4a92 ldr r2, [pc, #584] ; (8047c1c ) 80479d2: 00a3 lsls r3, r4, #2 80479d4: 4413 add r3, r2 80479d6: 4403 add r3, r0 80479d8: f503 730f add.w r3, r3, #572 ; 0x23c 80479dc: 460a mov r2, r1 80479de: 701a strb r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) > DIAGN_ACC) 80479e0: 4b8c ldr r3, [pc, #560] ; (8047c14 ) 80479e2: 781b ldrb r3, [r3, #0] 80479e4: b2db uxtb r3, r3 80479e6: 4618 mov r0, r3 80479e8: 4b8b ldr r3, [pc, #556] ; (8047c18 ) 80479ea: 781b ldrb r3, [r3, #0] 80479ec: b2db uxtb r3, r3 80479ee: 4619 mov r1, r3 80479f0: 4a8a ldr r2, [pc, #552] ; (8047c1c ) 80479f2: 0083 lsls r3, r0, #2 80479f4: 4413 add r3, r2 80479f6: 440b add r3, r1 80479f8: f503 730f add.w r3, r3, #572 ; 0x23c 80479fc: 781b ldrb r3, [r3, #0] 80479fe: b2db uxtb r3, r3 8047a00: f003 0307 and.w r3, r3, #7 8047a04: 2b01 cmp r3, #1 8047a06: f340 8086 ble.w 8047b16 { if(pardata.DIAGN_HP[CURR_POINT][CURR_USL] < 2.0f) 8047a0a: 4b82 ldr r3, [pc, #520] ; (8047c14 ) 8047a0c: 781b ldrb r3, [r3, #0] 8047a0e: b2db uxtb r3, r3 8047a10: 4618 mov r0, r3 8047a12: 4b81 ldr r3, [pc, #516] ; (8047c18 ) 8047a14: 781b ldrb r3, [r3, #0] 8047a16: b2db uxtb r3, r3 8047a18: 4619 mov r1, r3 8047a1a: 4a80 ldr r2, [pc, #512] ; (8047c1c ) 8047a1c: 0083 lsls r3, r0, #2 8047a1e: 440b add r3, r1 8047a20: 3396 adds r3, #150 ; 0x96 8047a22: 009b lsls r3, r3, #2 8047a24: 4413 add r3, r2 8047a26: 3304 adds r3, #4 8047a28: edd3 7a00 vldr s15, [r3] 8047a2c: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8047a30: eef4 7ac7 vcmpe.f32 s15, s14 8047a34: eef1 fa10 vmrs APSR_nzcv, fpscr 8047a38: d511 bpl.n 8047a5e pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 2.0f; 8047a3a: 4b76 ldr r3, [pc, #472] ; (8047c14 ) 8047a3c: 781b ldrb r3, [r3, #0] 8047a3e: b2db uxtb r3, r3 8047a40: 4618 mov r0, r3 8047a42: 4b75 ldr r3, [pc, #468] ; (8047c18 ) 8047a44: 781b ldrb r3, [r3, #0] 8047a46: b2db uxtb r3, r3 8047a48: 4619 mov r1, r3 8047a4a: 4a74 ldr r2, [pc, #464] ; (8047c1c ) 8047a4c: 0083 lsls r3, r0, #2 8047a4e: 440b add r3, r1 8047a50: 3396 adds r3, #150 ; 0x96 8047a52: 009b lsls r3, r3, #2 8047a54: 4413 add r3, r2 8047a56: 3304 adds r3, #4 8047a58: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8047a5c: 601a str r2, [r3, #0] tmp8 = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 8047a5e: 4b6d ldr r3, [pc, #436] ; (8047c14 ) 8047a60: 781b ldrb r3, [r3, #0] 8047a62: b2db uxtb r3, r3 8047a64: 4618 mov r0, r3 8047a66: 4b6c ldr r3, [pc, #432] ; (8047c18 ) 8047a68: 781b ldrb r3, [r3, #0] 8047a6a: b2db uxtb r3, r3 8047a6c: 4619 mov r1, r3 8047a6e: 4a6b ldr r2, [pc, #428] ; (8047c1c ) 8047a70: 0083 lsls r3, r0, #2 8047a72: 4413 add r3, r2 8047a74: 440b add r3, r1 8047a76: f503 730f add.w r3, r3, #572 ; 0x23c 8047a7a: 781b ldrb r3, [r3, #0] 8047a7c: b2db uxtb r3, r3 8047a7e: 08db lsrs r3, r3, #3 8047a80: b2db uxtb r3, r3 8047a82: f003 031f and.w r3, r3, #31 8047a86: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_EXCESS) { 8047a8a: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8047a8e: 2b10 cmp r3, #16 8047a90: d102 bne.n 8047a98 tmp8 = DIAGN_PEAK; 8047a92: 2301 movs r3, #1 8047a94: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 } pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0x7; 8047a98: 4b5e ldr r3, [pc, #376] ; (8047c14 ) 8047a9a: 781b ldrb r3, [r3, #0] 8047a9c: b2da uxtb r2, r3 8047a9e: 4614 mov r4, r2 8047aa0: 4b5d ldr r3, [pc, #372] ; (8047c18 ) 8047aa2: 781b ldrb r3, [r3, #0] 8047aa4: b2db uxtb r3, r3 8047aa6: 4618 mov r0, r3 8047aa8: 4615 mov r5, r2 8047aaa: 4619 mov r1, r3 8047aac: 4a5b ldr r2, [pc, #364] ; (8047c1c ) 8047aae: 00ab lsls r3, r5, #2 8047ab0: 4413 add r3, r2 8047ab2: 440b add r3, r1 8047ab4: f503 730f add.w r3, r3, #572 ; 0x23c 8047ab8: 781b ldrb r3, [r3, #0] 8047aba: b2db uxtb r3, r3 8047abc: f003 0307 and.w r3, r3, #7 8047ac0: b2d9 uxtb r1, r3 8047ac2: 4a56 ldr r2, [pc, #344] ; (8047c1c ) 8047ac4: 00a3 lsls r3, r4, #2 8047ac6: 4413 add r3, r2 8047ac8: 4403 add r3, r0 8047aca: f503 730f add.w r3, r3, #572 ; 0x23c 8047ace: 460a mov r2, r1 8047ad0: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= ((tmp8 << 3) & 0xf8); 8047ad2: 4b50 ldr r3, [pc, #320] ; (8047c14 ) 8047ad4: 781b ldrb r3, [r3, #0] 8047ad6: b2da uxtb r2, r3 8047ad8: 4614 mov r4, r2 8047ada: 4b4f ldr r3, [pc, #316] ; (8047c18 ) 8047adc: 781b ldrb r3, [r3, #0] 8047ade: b2db uxtb r3, r3 8047ae0: 4618 mov r0, r3 8047ae2: 4615 mov r5, r2 8047ae4: 4619 mov r1, r3 8047ae6: 4a4d ldr r2, [pc, #308] ; (8047c1c ) 8047ae8: 00ab lsls r3, r5, #2 8047aea: 4413 add r3, r2 8047aec: 440b add r3, r1 8047aee: f503 730f add.w r3, r3, #572 ; 0x23c 8047af2: 781b ldrb r3, [r3, #0] 8047af4: b2db uxtb r3, r3 8047af6: b25a sxtb r2, r3 8047af8: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8047afc: 00db lsls r3, r3, #3 8047afe: b25b sxtb r3, r3 8047b00: 4313 orrs r3, r2 8047b02: b25b sxtb r3, r3 8047b04: b2d9 uxtb r1, r3 8047b06: 4a45 ldr r2, [pc, #276] ; (8047c1c ) 8047b08: 00a3 lsls r3, r4, #2 8047b0a: 4413 add r3, r2 8047b0c: 4403 add r3, r0 8047b0e: f503 730f add.w r3, r3, #572 ; 0x23c 8047b12: 460a mov r2, r1 8047b14: 701a strb r2, [r3, #0] } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.DIAGN_LP[CURR_POINT][CURR_USL]) + 0.00005f) < 5.0) 8047b16: 4b41 ldr r3, [pc, #260] ; (8047c1c ) 8047b18: 7adb ldrb r3, [r3, #11] 8047b1a: b2db uxtb r3, r3 8047b1c: 461a mov r2, r3 8047b1e: 4b40 ldr r3, [pc, #256] ; (8047c20 ) 8047b20: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8047b24: ee07 3a90 vmov s15, r3 8047b28: eeb8 5b67 vcvt.f64.u32 d5, s15 8047b2c: 4b39 ldr r3, [pc, #228] ; (8047c14 ) 8047b2e: 781b ldrb r3, [r3, #0] 8047b30: b2db uxtb r3, r3 8047b32: 4618 mov r0, r3 8047b34: 4b38 ldr r3, [pc, #224] ; (8047c18 ) 8047b36: 781b ldrb r3, [r3, #0] 8047b38: b2db uxtb r3, r3 8047b3a: 4619 mov r1, r3 8047b3c: 4a37 ldr r2, [pc, #220] ; (8047c1c ) 8047b3e: 0083 lsls r3, r0, #2 8047b40: 440b add r3, r1 8047b42: 33b6 adds r3, #182 ; 0xb6 8047b44: 009b lsls r3, r3, #2 8047b46: 4413 add r3, r2 8047b48: 3304 adds r3, #4 8047b4a: edd3 7a00 vldr s15, [r3] 8047b4e: eeb7 6ae7 vcvt.f64.f32 d6, s15 8047b52: ee85 7b06 vdiv.f64 d7, d5, d6 8047b56: ed9f 6b2a vldr d6, [pc, #168] ; 8047c00 8047b5a: ee37 7b06 vadd.f64 d7, d7, d6 8047b5e: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8047b62: eeb4 7bc6 vcmpe.f64 d7, d6 8047b66: eef1 fa10 vmrs APSR_nzcv, fpscr 8047b6a: d400 bmi.n 8047b6e pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001; } } else menupos = Ok; break; 8047b6c: e161 b.n 8047e32 pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) (FS[pardata.FRQ] / 5); 8047b6e: 4b29 ldr r3, [pc, #164] ; (8047c14 ) 8047b70: 781b ldrb r3, [r3, #0] 8047b72: b2db uxtb r3, r3 8047b74: 4618 mov r0, r3 8047b76: 4b28 ldr r3, [pc, #160] ; (8047c18 ) 8047b78: 781b ldrb r3, [r3, #0] 8047b7a: b2db uxtb r3, r3 8047b7c: 4619 mov r1, r3 8047b7e: 4b27 ldr r3, [pc, #156] ; (8047c1c ) 8047b80: 7adb ldrb r3, [r3, #11] 8047b82: b2db uxtb r3, r3 8047b84: 461a mov r2, r3 8047b86: 4b26 ldr r3, [pc, #152] ; (8047c20 ) 8047b88: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8047b8c: 4a25 ldr r2, [pc, #148] ; (8047c24 ) 8047b8e: fba2 2303 umull r2, r3, r2, r3 8047b92: 089b lsrs r3, r3, #2 8047b94: ee07 3a90 vmov s15, r3 8047b98: eef8 7a67 vcvt.f32.u32 s15, s15 8047b9c: 4a1f ldr r2, [pc, #124] ; (8047c1c ) 8047b9e: 0083 lsls r3, r0, #2 8047ba0: 440b add r3, r1 8047ba2: 33b6 adds r3, #182 ; 0xb6 8047ba4: 009b lsls r3, r3, #2 8047ba6: 4413 add r3, r2 8047ba8: 3304 adds r3, #4 8047baa: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001; 8047bae: 4b19 ldr r3, [pc, #100] ; (8047c14 ) 8047bb0: 781b ldrb r3, [r3, #0] 8047bb2: b2da uxtb r2, r3 8047bb4: 4610 mov r0, r2 8047bb6: 4b18 ldr r3, [pc, #96] ; (8047c18 ) 8047bb8: 781b ldrb r3, [r3, #0] 8047bba: b2db uxtb r3, r3 8047bbc: 4619 mov r1, r3 8047bbe: 4615 mov r5, r2 8047bc0: 461c mov r4, r3 8047bc2: 4a16 ldr r2, [pc, #88] ; (8047c1c ) 8047bc4: 00ab lsls r3, r5, #2 8047bc6: 4423 add r3, r4 8047bc8: 33b6 adds r3, #182 ; 0xb6 8047bca: 009b lsls r3, r3, #2 8047bcc: 4413 add r3, r2 8047bce: 3304 adds r3, #4 8047bd0: edd3 7a00 vldr s15, [r3] 8047bd4: eeb7 7ae7 vcvt.f64.f32 d7, s15 8047bd8: ed9f 6b0b vldr d6, [pc, #44] ; 8047c08 8047bdc: ee37 7b06 vadd.f64 d7, d7, d6 8047be0: eef7 7bc7 vcvt.f32.f64 s15, d7 8047be4: 4a0d ldr r2, [pc, #52] ; (8047c1c ) 8047be6: 0083 lsls r3, r0, #2 8047be8: 440b add r3, r1 8047bea: 33b6 adds r3, #182 ; 0xb6 8047bec: 009b lsls r3, r3, #2 8047bee: 4413 add r3, r2 8047bf0: 3304 adds r3, #4 8047bf2: edc3 7a00 vstr s15, [r3] break; 8047bf6: e11c b.n 8047e32 menupos = Ok; 8047bf8: 4b0b ldr r3, [pc, #44] ; (8047c28 ) 8047bfa: 2200 movs r2, #0 8047bfc: 701a strb r2, [r3, #0] break; 8047bfe: e118 b.n 8047e32 8047c00: e0000000 .word 0xe0000000 8047c04: 3f0a36e2 .word 0x3f0a36e2 8047c08: eb1c432d .word 0xeb1c432d 8047c0c: 3f1a36e2 .word 0x3f1a36e2 8047c10: 20020fd0 .word 0x20020fd0 8047c14: 2002105d .word 0x2002105d 8047c18: 2002105f .word 0x2002105f 8047c1c: 20023eb8 .word 0x20023eb8 8047c20: 080f5268 .word 0x080f5268 8047c24: cccccccd .word 0xcccccccd 8047c28: 20020070 .word 0x20020070 case DiagValue: if(focused) 8047c2c: 4bb5 ldr r3, [pc, #724] ; (8047f04 ) 8047c2e: 781b ldrb r3, [r3, #0] 8047c30: b2db uxtb r3, r3 8047c32: 2b00 cmp r3, #0 8047c34: f000 8095 beq.w 8047d62 { tmp8 = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 8047c38: 4bb3 ldr r3, [pc, #716] ; (8047f08 ) 8047c3a: 781b ldrb r3, [r3, #0] 8047c3c: b2db uxtb r3, r3 8047c3e: 4618 mov r0, r3 8047c40: 4bb2 ldr r3, [pc, #712] ; (8047f0c ) 8047c42: 781b ldrb r3, [r3, #0] 8047c44: b2db uxtb r3, r3 8047c46: 4619 mov r1, r3 8047c48: 4ab1 ldr r2, [pc, #708] ; (8047f10 ) 8047c4a: 0083 lsls r3, r0, #2 8047c4c: 4413 add r3, r2 8047c4e: 440b add r3, r1 8047c50: f503 730f add.w r3, r3, #572 ; 0x23c 8047c54: 781b ldrb r3, [r3, #0] 8047c56: b2db uxtb r3, r3 8047c58: 08db lsrs r3, r3, #3 8047c5a: b2db uxtb r3, r3 8047c5c: f003 031f and.w r3, r3, #31 8047c60: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_PEAK) tmp8 = DIAGN_RMS; 8047c64: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8047c68: 2b01 cmp r3, #1 8047c6a: d103 bne.n 8047c74 8047c6c: 2302 movs r3, #2 8047c6e: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8047c72: e036 b.n 8047ce2 else if(tmp8 == DIAGN_RMS) tmp8 = DIAGN_PEAK_TO_PEAK; 8047c74: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8047c78: 2b02 cmp r3, #2 8047c7a: d103 bne.n 8047c84 8047c7c: 2304 movs r3, #4 8047c7e: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8047c82: e02e b.n 8047ce2 else if(tmp8 == DIAGN_PEAK_TO_PEAK) tmp8 = DIAGN_PEAK_FACTOR; 8047c84: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8047c88: 2b04 cmp r3, #4 8047c8a: d103 bne.n 8047c94 8047c8c: 2308 movs r3, #8 8047c8e: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8047c92: e026 b.n 8047ce2 else if(tmp8 == DIAGN_PEAK_FACTOR) 8047c94: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8047c98: 2b08 cmp r3, #8 8047c9a: d11b bne.n 8047cd4 { if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 8047c9c: 4b9a ldr r3, [pc, #616] ; (8047f08 ) 8047c9e: 781b ldrb r3, [r3, #0] 8047ca0: b2db uxtb r3, r3 8047ca2: 4618 mov r0, r3 8047ca4: 4b99 ldr r3, [pc, #612] ; (8047f0c ) 8047ca6: 781b ldrb r3, [r3, #0] 8047ca8: b2db uxtb r3, r3 8047caa: 4619 mov r1, r3 8047cac: 4a98 ldr r2, [pc, #608] ; (8047f10 ) 8047cae: 0083 lsls r3, r0, #2 8047cb0: 4413 add r3, r2 8047cb2: 440b add r3, r1 8047cb4: f503 730f add.w r3, r3, #572 ; 0x23c 8047cb8: 781b ldrb r3, [r3, #0] 8047cba: b2db uxtb r3, r3 8047cbc: f003 0307 and.w r3, r3, #7 8047cc0: 2b01 cmp r3, #1 8047cc2: d103 bne.n 8047ccc tmp8 = DIAGN_EXCESS; 8047cc4: 2310 movs r3, #16 8047cc6: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8047cca: e00a b.n 8047ce2 else tmp8 = DIAGN_PEAK; 8047ccc: 2301 movs r3, #1 8047cce: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8047cd2: e006 b.n 8047ce2 } else if(tmp8 == DIAGN_EXCESS) tmp8 = DIAGN_PEAK; 8047cd4: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8047cd8: 2b10 cmp r3, #16 8047cda: d102 bne.n 8047ce2 8047cdc: 2301 movs r3, #1 8047cde: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0x7; 8047ce2: 4b89 ldr r3, [pc, #548] ; (8047f08 ) 8047ce4: 781b ldrb r3, [r3, #0] 8047ce6: b2da uxtb r2, r3 8047ce8: 4614 mov r4, r2 8047cea: 4b88 ldr r3, [pc, #544] ; (8047f0c ) 8047cec: 781b ldrb r3, [r3, #0] 8047cee: b2db uxtb r3, r3 8047cf0: 4618 mov r0, r3 8047cf2: 4615 mov r5, r2 8047cf4: 4619 mov r1, r3 8047cf6: 4a86 ldr r2, [pc, #536] ; (8047f10 ) 8047cf8: 00ab lsls r3, r5, #2 8047cfa: 4413 add r3, r2 8047cfc: 440b add r3, r1 8047cfe: f503 730f add.w r3, r3, #572 ; 0x23c 8047d02: 781b ldrb r3, [r3, #0] 8047d04: b2db uxtb r3, r3 8047d06: f003 0307 and.w r3, r3, #7 8047d0a: b2d9 uxtb r1, r3 8047d0c: 4a80 ldr r2, [pc, #512] ; (8047f10 ) 8047d0e: 00a3 lsls r3, r4, #2 8047d10: 4413 add r3, r2 8047d12: 4403 add r3, r0 8047d14: f503 730f add.w r3, r3, #572 ; 0x23c 8047d18: 460a mov r2, r1 8047d1a: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= ((tmp8 << 3) & 0xf8); 8047d1c: 4b7a ldr r3, [pc, #488] ; (8047f08 ) 8047d1e: 781b ldrb r3, [r3, #0] 8047d20: b2da uxtb r2, r3 8047d22: 4614 mov r4, r2 8047d24: 4b79 ldr r3, [pc, #484] ; (8047f0c ) 8047d26: 781b ldrb r3, [r3, #0] 8047d28: b2db uxtb r3, r3 8047d2a: 4618 mov r0, r3 8047d2c: 4615 mov r5, r2 8047d2e: 4619 mov r1, r3 8047d30: 4a77 ldr r2, [pc, #476] ; (8047f10 ) 8047d32: 00ab lsls r3, r5, #2 8047d34: 4413 add r3, r2 8047d36: 440b add r3, r1 8047d38: f503 730f add.w r3, r3, #572 ; 0x23c 8047d3c: 781b ldrb r3, [r3, #0] 8047d3e: b2db uxtb r3, r3 8047d40: b25a sxtb r2, r3 8047d42: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8047d46: 00db lsls r3, r3, #3 8047d48: b25b sxtb r3, r3 8047d4a: 4313 orrs r3, r2 8047d4c: b25b sxtb r3, r3 8047d4e: b2d9 uxtb r1, r3 8047d50: 4a6f ldr r2, [pc, #444] ; (8047f10 ) 8047d52: 00a3 lsls r3, r4, #2 8047d54: 4413 add r3, r2 8047d56: 4403 add r3, r0 8047d58: f503 730f add.w r3, r3, #572 ; 0x23c 8047d5c: 460a mov r2, r1 8047d5e: 701a strb r2, [r3, #0] } else menupos = Ok; break; 8047d60: e067 b.n 8047e32 menupos = Ok; 8047d62: 4b6c ldr r3, [pc, #432] ; (8047f14 ) 8047d64: 2200 movs r2, #0 8047d66: 701a strb r2, [r3, #0] break; 8047d68: e063 b.n 8047e32 case DiagHP: case DiagLP: case Diag_W: case Diag_A: menupos = Ok; 8047d6a: 4b6a ldr r3, [pc, #424] ; (8047f14 ) 8047d6c: 2200 movs r2, #0 8047d6e: 701a strb r2, [r3, #0] break; 8047d70: e05f b.n 8047e32 case DiagHP_IKD: menupos = DiagHP_IDT; break; 8047d72: 4b68 ldr r3, [pc, #416] ; (8047f14 ) 8047d74: 220d movs r2, #13 8047d76: 701a strb r2, [r3, #0] 8047d78: e05b b.n 8047e32 case DiagHP_IEE: menupos = DiagHP_IKD; break; 8047d7a: 4b66 ldr r3, [pc, #408] ; (8047f14 ) 8047d7c: 2212 movs r2, #18 8047d7e: 701a strb r2, [r3, #0] 8047d80: e057 b.n 8047e32 case DiagHP_IED: menupos = DiagHP_IEE; break; 8047d82: 4b64 ldr r3, [pc, #400] ; (8047f14 ) 8047d84: 2211 movs r2, #17 8047d86: 701a strb r2, [r3, #0] 8047d88: e053 b.n 8047e32 case DiagHP_IES: menupos = DiagHP_IED; break; 8047d8a: 4b62 ldr r3, [pc, #392] ; (8047f14 ) 8047d8c: 2210 movs r2, #16 8047d8e: 701a strb r2, [r3, #0] 8047d90: e04f b.n 8047e32 case DiagHP_IET: menupos = DiagHP_IES; break; 8047d92: 4b60 ldr r3, [pc, #384] ; (8047f14 ) 8047d94: 220f movs r2, #15 8047d96: 701a strb r2, [r3, #0] 8047d98: e04b b.n 8047e32 case DiagHP_IDT: menupos = DiagHP_IET; break; 8047d9a: 4b5e ldr r3, [pc, #376] ; (8047f14 ) 8047d9c: 220e movs r2, #14 8047d9e: 701a strb r2, [r3, #0] 8047da0: e047 b.n 8047e32 case DiagLP_IKD: menupos = DiagLP_IDT; break; 8047da2: 4b5c ldr r3, [pc, #368] ; (8047f14 ) 8047da4: 2213 movs r2, #19 8047da6: 701a strb r2, [r3, #0] 8047da8: e043 b.n 8047e32 case DiagLP_IEE: menupos = DiagLP_IKD; break; 8047daa: 4b5a ldr r3, [pc, #360] ; (8047f14 ) 8047dac: 2218 movs r2, #24 8047dae: 701a strb r2, [r3, #0] 8047db0: e03f b.n 8047e32 case DiagLP_IED: menupos = DiagLP_IEE; break; 8047db2: 4b58 ldr r3, [pc, #352] ; (8047f14 ) 8047db4: 2217 movs r2, #23 8047db6: 701a strb r2, [r3, #0] 8047db8: e03b b.n 8047e32 case DiagLP_IES: menupos = DiagLP_IED; break; 8047dba: 4b56 ldr r3, [pc, #344] ; (8047f14 ) 8047dbc: 2216 movs r2, #22 8047dbe: 701a strb r2, [r3, #0] 8047dc0: e037 b.n 8047e32 case DiagLP_IET: menupos = DiagLP_IES; break; 8047dc2: 4b54 ldr r3, [pc, #336] ; (8047f14 ) 8047dc4: 2215 movs r2, #21 8047dc6: 701a strb r2, [r3, #0] 8047dc8: e033 b.n 8047e32 case DiagLP_IDT: menupos = DiagLP_IET; break; 8047dca: 4b52 ldr r3, [pc, #328] ; (8047f14 ) 8047dcc: 2214 movs r2, #20 8047dce: 701a strb r2, [r3, #0] 8047dd0: e02f b.n 8047e32 case DiagW_IKD: menupos = DiagW_IDT; break; 8047dd2: 4b50 ldr r3, [pc, #320] ; (8047f14 ) 8047dd4: 2219 movs r2, #25 8047dd6: 701a strb r2, [r3, #0] 8047dd8: e02b b.n 8047e32 case DiagW_IEE: menupos = DiagW_IKD; break; 8047dda: 4b4e ldr r3, [pc, #312] ; (8047f14 ) 8047ddc: 221e movs r2, #30 8047dde: 701a strb r2, [r3, #0] 8047de0: e027 b.n 8047e32 case DiagW_IED: menupos = DiagW_IEE; break; 8047de2: 4b4c ldr r3, [pc, #304] ; (8047f14 ) 8047de4: 221d movs r2, #29 8047de6: 701a strb r2, [r3, #0] 8047de8: e023 b.n 8047e32 case DiagW_IES: menupos = DiagW_IED; break; 8047dea: 4b4a ldr r3, [pc, #296] ; (8047f14 ) 8047dec: 221c movs r2, #28 8047dee: 701a strb r2, [r3, #0] 8047df0: e01f b.n 8047e32 case DiagW_IET: menupos = DiagW_IES; break; 8047df2: 4b48 ldr r3, [pc, #288] ; (8047f14 ) 8047df4: 221b movs r2, #27 8047df6: 701a strb r2, [r3, #0] 8047df8: e01b b.n 8047e32 case DiagW_IDT: menupos = DiagW_IET; break; 8047dfa: 4b46 ldr r3, [pc, #280] ; (8047f14 ) 8047dfc: 221a movs r2, #26 8047dfe: 701a strb r2, [r3, #0] 8047e00: e017 b.n 8047e32 case DiagA_IKD: menupos = DiagA_IDT; break; 8047e02: 4b44 ldr r3, [pc, #272] ; (8047f14 ) 8047e04: 221f movs r2, #31 8047e06: 701a strb r2, [r3, #0] 8047e08: e013 b.n 8047e32 case DiagA_IEE: menupos = DiagA_IKD; break; 8047e0a: 4b42 ldr r3, [pc, #264] ; (8047f14 ) 8047e0c: 2224 movs r2, #36 ; 0x24 8047e0e: 701a strb r2, [r3, #0] 8047e10: e00f b.n 8047e32 case DiagA_IED: menupos = DiagA_IEE; break; 8047e12: 4b40 ldr r3, [pc, #256] ; (8047f14 ) 8047e14: 2223 movs r2, #35 ; 0x23 8047e16: 701a strb r2, [r3, #0] 8047e18: e00b b.n 8047e32 case DiagA_IES: menupos = DiagA_IED; break; 8047e1a: 4b3e ldr r3, [pc, #248] ; (8047f14 ) 8047e1c: 2222 movs r2, #34 ; 0x22 8047e1e: 701a strb r2, [r3, #0] 8047e20: e007 b.n 8047e32 case DiagA_IET: menupos = DiagA_IES; break; 8047e22: 4b3c ldr r3, [pc, #240] ; (8047f14 ) 8047e24: 2221 movs r2, #33 ; 0x21 8047e26: 701a strb r2, [r3, #0] 8047e28: e003 b.n 8047e32 case DiagA_IDT: menupos = DiagA_IET; break; 8047e2a: 4b3a ldr r3, [pc, #232] ; (8047f14 ) 8047e2c: 2220 movs r2, #32 8047e2e: 701a strb r2, [r3, #0] 8047e30: bf00 nop } break; 8047e32: f002 b9e6 b.w 804a202 case TREND_A: case TREND_V: case TREND_S: if(menupos < Trend_excess) menupos++; 8047e36: 4b37 ldr r3, [pc, #220] ; (8047f14 ) 8047e38: 781b ldrb r3, [r3, #0] 8047e3a: b2db uxtb r3, r3 8047e3c: 2b03 cmp r3, #3 8047e3e: d808 bhi.n 8047e52 8047e40: 4b34 ldr r3, [pc, #208] ; (8047f14 ) 8047e42: 781b ldrb r3, [r3, #0] 8047e44: b2db uxtb r3, r3 8047e46: 3301 adds r3, #1 8047e48: b2da uxtb r2, r3 8047e4a: 4b32 ldr r3, [pc, #200] ; (8047f14 ) 8047e4c: 701a strb r2, [r3, #0] else menupos = Trend_pk; break; 8047e4e: f002 ba38 b.w 804a2c2 else menupos = Trend_pk; 8047e52: 4b30 ldr r3, [pc, #192] ; (8047f14 ) 8047e54: 2200 movs r2, #0 8047e56: 701a strb r2, [r3, #0] break; 8047e58: f002 ba33 b.w 804a2c2 case MAIN_UDAR: break; case MAIN_DIAGN: switch(menupos) 8047e5c: 4b2d ldr r3, [pc, #180] ; (8047f14 ) 8047e5e: 781b ldrb r3, [r3, #0] 8047e60: b2db uxtb r3, r3 8047e62: 2b04 cmp r3, #4 8047e64: f202 81d0 bhi.w 804a208 8047e68: a201 add r2, pc, #4 ; (adr r2, 8047e70 ) 8047e6a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8047e6e: bf00 nop 8047e70: 08047e85 .word 0x08047e85 8047e74: 0804a209 .word 0x0804a209 8047e78: 08047e9d .word 0x08047e9d 8047e7c: 08047e8d .word 0x08047e8d 8047e80: 08047e95 .word 0x08047e95 { case StartStop: menupos = MyPoint; break; 8047e84: 4b23 ldr r3, [pc, #140] ; (8047f14 ) 8047e86: 2203 movs r2, #3 8047e88: 701a strb r2, [r3, #0] 8047e8a: e00b b.n 8047ea4 case MyPoint: menupos = MyMeasure; break; 8047e8c: 4b21 ldr r3, [pc, #132] ; (8047f14 ) 8047e8e: 2204 movs r2, #4 8047e90: 701a strb r2, [r3, #0] 8047e92: e007 b.n 8047ea4 case MyMeasure: menupos = Record; break; 8047e94: 4b1f ldr r3, [pc, #124] ; (8047f14 ) 8047e96: 2202 movs r2, #2 8047e98: 701a strb r2, [r3, #0] 8047e9a: e003 b.n 8047ea4 case Record: menupos = StartStop; break; 8047e9c: 4b1d ldr r3, [pc, #116] ; (8047f14 ) 8047e9e: 2200 movs r2, #0 8047ea0: 701a strb r2, [r3, #0] 8047ea2: bf00 nop } break; 8047ea4: f002 b9b0 b.w 804a208 case MAIN: case MAIN_FRAN: switch(menupos) 8047ea8: 4b1a ldr r3, [pc, #104] ; (8047f14 ) 8047eaa: 781b ldrb r3, [r3, #0] 8047eac: b2db uxtb r3, r3 8047eae: 2b06 cmp r3, #6 8047eb0: f202 81ad bhi.w 804a20e 8047eb4: a201 add r2, pc, #4 ; (adr r2, 8047ebc ) 8047eb6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8047eba: bf00 nop 8047ebc: 08047ed9 .word 0x08047ed9 8047ec0: 0804a20f .word 0x0804a20f 8047ec4: 08047ef9 .word 0x08047ef9 8047ec8: 08047ee9 .word 0x08047ee9 8047ecc: 08047ef1 .word 0x08047ef1 8047ed0: 0804a20f .word 0x0804a20f 8047ed4: 08047ee1 .word 0x08047ee1 { case StartStop: menupos = MyLinLog; break; 8047ed8: 4b0e ldr r3, [pc, #56] ; (8047f14 ) 8047eda: 2206 movs r2, #6 8047edc: 701a strb r2, [r3, #0] 8047ede: e00f b.n 8047f00 case MyLinLog: menupos = MyPoint; break; 8047ee0: 4b0c ldr r3, [pc, #48] ; (8047f14 ) 8047ee2: 2203 movs r2, #3 8047ee4: 701a strb r2, [r3, #0] 8047ee6: e00b b.n 8047f00 case MyPoint: menupos = MyMeasure; break; 8047ee8: 4b0a ldr r3, [pc, #40] ; (8047f14 ) 8047eea: 2204 movs r2, #4 8047eec: 701a strb r2, [r3, #0] 8047eee: e007 b.n 8047f00 case MyMeasure: menupos = Record; break; 8047ef0: 4b08 ldr r3, [pc, #32] ; (8047f14 ) 8047ef2: 2202 movs r2, #2 8047ef4: 701a strb r2, [r3, #0] 8047ef6: e003 b.n 8047f00 case Record: menupos = StartStop; break; 8047ef8: 4b06 ldr r3, [pc, #24] ; (8047f14 ) 8047efa: 2200 movs r2, #0 8047efc: 701a strb r2, [r3, #0] 8047efe: bf00 nop } break; 8047f00: f002 b985 b.w 804a20e 8047f04: 20020fd0 .word 0x20020fd0 8047f08: 2002105d .word 0x2002105d 8047f0c: 2002105f .word 0x2002105f 8047f10: 20023eb8 .word 0x20023eb8 8047f14: 20020070 .word 0x20020070 case MAIN_OSC: switch(menupos) 8047f18: 4ba8 ldr r3, [pc, #672] ; (80481bc ) 8047f1a: 781b ldrb r3, [r3, #0] 8047f1c: b2db uxtb r3, r3 8047f1e: 2b00 cmp r3, #0 8047f20: f2c2 8178 blt.w 804a214 8047f24: 2b05 cmp r3, #5 8047f26: dd03 ble.n 8047f30 8047f28: 2b06 cmp r3, #6 8047f2a: d01d beq.n 8047f68 rX = X0 + k * multA_u16; CURSOR = (Mpos - X0) / multA_u16; } break; } break; 8047f2c: f002 b972 b.w 804a214 if((!FIRST) && (Stability > (Nr * 4))) 8047f30: 4ba3 ldr r3, [pc, #652] ; (80481c0 ) 8047f32: 781b ldrb r3, [r3, #0] 8047f34: b2db uxtb r3, r3 8047f36: f083 0301 eor.w r3, r3, #1 8047f3a: b2db uxtb r3, r3 8047f3c: 2b00 cmp r3, #0 8047f3e: f000 8101 beq.w 8048144 8047f42: 4ba0 ldr r3, [pc, #640] ; (80481c4 ) 8047f44: 881b ldrh r3, [r3, #0] 8047f46: b29b uxth r3, r3 8047f48: 009b lsls r3, r3, #2 8047f4a: 461a mov r2, r3 8047f4c: 4b9e ldr r3, [pc, #632] ; (80481c8 ) 8047f4e: 681b ldr r3, [r3, #0] 8047f50: 429a cmp r2, r3 8047f52: f080 80f7 bcs.w 8048144 lastmenupos = menupos; 8047f56: 4b99 ldr r3, [pc, #612] ; (80481bc ) 8047f58: 781b ldrb r3, [r3, #0] 8047f5a: b2da uxtb r2, r3 8047f5c: 4b9b ldr r3, [pc, #620] ; (80481cc ) 8047f5e: 701a strb r2, [r3, #0] menupos = Cursor; 8047f60: 4b96 ldr r3, [pc, #600] ; (80481bc ) 8047f62: 2206 movs r2, #6 8047f64: 701a strb r2, [r3, #0] break; 8047f66: e0ed b.n 8048144 lvl_0 = 0; 8047f68: 2300 movs r3, #0 8047f6a: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 multA_u16 = Avg[0][5 * ViewLevel + pardata.LNE]; 8047f6e: 4b98 ldr r3, [pc, #608] ; (80481d0 ) 8047f70: 781b ldrb r3, [r3, #0] 8047f72: b2db uxtb r3, r3 8047f74: 461a mov r2, r3 8047f76: 4613 mov r3, r2 8047f78: 009b lsls r3, r3, #2 8047f7a: 4413 add r3, r2 8047f7c: 4a95 ldr r2, [pc, #596] ; (80481d4 ) 8047f7e: 79d2 ldrb r2, [r2, #7] 8047f80: b2d2 uxtb r2, r2 8047f82: 4413 add r3, r2 8047f84: 4a94 ldr r2, [pc, #592] ; (80481d8 ) 8047f86: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8047f8a: f8a7 309e strh.w r3, [r7, #158] ; 0x9e i = 1; 8047f8e: 2301 movs r3, #1 8047f90: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 k = 256; 8047f94: f44f 7380 mov.w r3, #256 ; 0x100 8047f98: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 d = 224 * multA_u16; 8047f9c: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8047fa0: 4613 mov r3, r2 8047fa2: 00db lsls r3, r3, #3 8047fa4: 1a9b subs r3, r3, r2 8047fa6: 015b lsls r3, r3, #5 8047fa8: f8c7 30bc str.w r3, [r7, #188] ; 0xbc j = k * Avg[0][5 * lvl_0 + pardata.LNE] - Avg[0][5 * ViewLevel + pardata.LNE]; 8047fac: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8047fb0: 4613 mov r3, r2 8047fb2: 009b lsls r3, r3, #2 8047fb4: 4413 add r3, r2 8047fb6: 4a87 ldr r2, [pc, #540] ; (80481d4 ) 8047fb8: 79d2 ldrb r2, [r2, #7] 8047fba: b2d2 uxtb r2, r2 8047fbc: 4413 add r3, r2 8047fbe: 4a86 ldr r2, [pc, #536] ; (80481d8 ) 8047fc0: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8047fc4: 461a mov r2, r3 8047fc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8047fca: fb03 f202 mul.w r2, r3, r2 8047fce: 4b80 ldr r3, [pc, #512] ; (80481d0 ) 8047fd0: 781b ldrb r3, [r3, #0] 8047fd2: b2db uxtb r3, r3 8047fd4: 4619 mov r1, r3 8047fd6: 460b mov r3, r1 8047fd8: 009b lsls r3, r3, #2 8047fda: 440b add r3, r1 8047fdc: 497d ldr r1, [pc, #500] ; (80481d4 ) 8047fde: 79c9 ldrb r1, [r1, #7] 8047fe0: b2c9 uxtb r1, r1 8047fe2: 440b add r3, r1 8047fe4: 497c ldr r1, [pc, #496] ; (80481d8 ) 8047fe6: f831 3013 ldrh.w r3, [r1, r3, lsl #1] 8047fea: 1ad3 subs r3, r2, r3 8047fec: f8c7 3098 str.w r3, [r7, #152] ; 0x98 multB_u16 = i * multA_u16; 8047ff0: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047ff4: b29b uxth r3, r3 8047ff6: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8047ffa: fb12 f303 smulbb r3, r2, r3 8047ffe: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if((multB_u16 + Mpos) >= j) 8048002: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8048006: 4a75 ldr r2, [pc, #468] ; (80481dc ) 8048008: 8812 ldrh r2, [r2, #0] 804800a: b292 uxth r2, r2 804800c: 4413 add r3, r2 804800e: 461a mov r2, r3 8048010: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8048014: 429a cmp r2, r3 8048016: d332 bcc.n 804807e rX = k * Avg[0][5 * lvl_0 + pardata.LNE]; 8048018: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804801c: 4613 mov r3, r2 804801e: 009b lsls r3, r3, #2 8048020: 4413 add r3, r2 8048022: 4a6c ldr r2, [pc, #432] ; (80481d4 ) 8048024: 79d2 ldrb r2, [r2, #7] 8048026: b2d2 uxtb r2, r2 8048028: 4413 add r3, r2 804802a: 4a6b ldr r2, [pc, #428] ; (80481d8 ) 804802c: f832 2013 ldrh.w r2, [r2, r3, lsl #1] 8048030: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8048034: b29b uxth r3, r3 8048036: fb12 f303 smulbb r3, r2, r3 804803a: b29a uxth r2, r3 804803c: 4b68 ldr r3, [pc, #416] ; (80481e0 ) 804803e: 801a strh r2, [r3, #0] X0 = rX - k * multA_u16; 8048040: 4b67 ldr r3, [pc, #412] ; (80481e0 ) 8048042: 881b ldrh r3, [r3, #0] 8048044: b29a uxth r2, r3 8048046: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804804a: b29b uxth r3, r3 804804c: f8b7 109e ldrh.w r1, [r7, #158] ; 0x9e 8048050: fb11 f303 smulbb r3, r1, r3 8048054: b29b uxth r3, r3 8048056: 1ad3 subs r3, r2, r3 8048058: b29a uxth r2, r3 804805a: 4b62 ldr r3, [pc, #392] ; (80481e4 ) 804805c: 801a strh r2, [r3, #0] lX = X0; 804805e: 4b61 ldr r3, [pc, #388] ; (80481e4 ) 8048060: 881b ldrh r3, [r3, #0] 8048062: b29a uxth r2, r3 8048064: 4b60 ldr r3, [pc, #384] ; (80481e8 ) 8048066: 801a strh r2, [r3, #0] CURSOR = k - 1; 8048068: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804806c: 3b01 subs r3, #1 804806e: 4a5f ldr r2, [pc, #380] ; (80481ec ) 8048070: 6013 str r3, [r2, #0] Mpos = j; 8048072: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8048076: b29a uxth r2, r3 8048078: 4b58 ldr r3, [pc, #352] ; (80481dc ) 804807a: 801a strh r2, [r3, #0] break; 804807c: e063 b.n 8048146 Mpos += multB_u16; 804807e: 4b57 ldr r3, [pc, #348] ; (80481dc ) 8048080: 881b ldrh r3, [r3, #0] 8048082: b29a uxth r2, r3 8048084: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8048088: 4413 add r3, r2 804808a: b29a uxth r2, r3 804808c: 4b53 ldr r3, [pc, #332] ; (80481dc ) 804808e: 801a strh r2, [r3, #0] if(Mpos >= rX) 8048090: 4b52 ldr r3, [pc, #328] ; (80481dc ) 8048092: 881b ldrh r3, [r3, #0] 8048094: b29a uxth r2, r3 8048096: 4b52 ldr r3, [pc, #328] ; (80481e0 ) 8048098: 881b ldrh r3, [r3, #0] 804809a: b29b uxth r3, r3 804809c: 429a cmp r2, r3 804809e: d32d bcc.n 80480fc if((Mpos + d) <= j) 80480a0: 4b4e ldr r3, [pc, #312] ; (80481dc ) 80480a2: 881b ldrh r3, [r3, #0] 80480a4: b29b uxth r3, r3 80480a6: 461a mov r2, r3 80480a8: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80480ac: 441a add r2, r3 80480ae: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80480b2: 429a cmp r2, r3 80480b4: d80a bhi.n 80480cc X0 += d; 80480b6: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80480ba: b29a uxth r2, r3 80480bc: 4b49 ldr r3, [pc, #292] ; (80481e4 ) 80480be: 881b ldrh r3, [r3, #0] 80480c0: b29b uxth r3, r3 80480c2: 4413 add r3, r2 80480c4: b29a uxth r2, r3 80480c6: 4b47 ldr r3, [pc, #284] ; (80481e4 ) 80480c8: 801a strh r2, [r3, #0] 80480ca: e017 b.n 80480fc X0 = k * (Avg[0][5 * lvl_0 + pardata.LNE] - multA_u16); 80480cc: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 80480d0: 4613 mov r3, r2 80480d2: 009b lsls r3, r3, #2 80480d4: 4413 add r3, r2 80480d6: 4a3f ldr r2, [pc, #252] ; (80481d4 ) 80480d8: 79d2 ldrb r2, [r2, #7] 80480da: b2d2 uxtb r2, r2 80480dc: 4413 add r3, r2 80480de: 4a3e ldr r2, [pc, #248] ; (80481d8 ) 80480e0: f832 2013 ldrh.w r2, [r2, r3, lsl #1] 80480e4: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 80480e8: 1ad3 subs r3, r2, r3 80480ea: b29a uxth r2, r3 80480ec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80480f0: b29b uxth r3, r3 80480f2: fb12 f303 smulbb r3, r2, r3 80480f6: b29a uxth r2, r3 80480f8: 4b3a ldr r3, [pc, #232] ; (80481e4 ) 80480fa: 801a strh r2, [r3, #0] lX = X0; 80480fc: 4b39 ldr r3, [pc, #228] ; (80481e4 ) 80480fe: 881b ldrh r3, [r3, #0] 8048100: b29a uxth r2, r3 8048102: 4b39 ldr r3, [pc, #228] ; (80481e8 ) 8048104: 801a strh r2, [r3, #0] rX = X0 + k * multA_u16; 8048106: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804810a: b29b uxth r3, r3 804810c: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8048110: fb12 f303 smulbb r3, r2, r3 8048114: b29a uxth r2, r3 8048116: 4b33 ldr r3, [pc, #204] ; (80481e4 ) 8048118: 881b ldrh r3, [r3, #0] 804811a: b29b uxth r3, r3 804811c: 4413 add r3, r2 804811e: b29a uxth r2, r3 8048120: 4b2f ldr r3, [pc, #188] ; (80481e0 ) 8048122: 801a strh r2, [r3, #0] CURSOR = (Mpos - X0) / multA_u16; 8048124: 4b2d ldr r3, [pc, #180] ; (80481dc ) 8048126: 881b ldrh r3, [r3, #0] 8048128: b29b uxth r3, r3 804812a: 461a mov r2, r3 804812c: 4b2d ldr r3, [pc, #180] ; (80481e4 ) 804812e: 881b ldrh r3, [r3, #0] 8048130: b29b uxth r3, r3 8048132: 1ad2 subs r2, r2, r3 8048134: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8048138: fb92 f3f3 sdiv r3, r2, r3 804813c: 461a mov r2, r3 804813e: 4b2b ldr r3, [pc, #172] ; (80481ec ) 8048140: 601a str r2, [r3, #0] break; 8048142: e000 b.n 8048146 break; 8048144: bf00 nop break; 8048146: f002 b865 b.w 804a214 case VIEW_PORTRET: case MAIN_ROLL: case MAIN_SPEC: case MAIN_SPEC_OGIB: switch(menupos) 804814a: 4b1c ldr r3, [pc, #112] ; (80481bc ) 804814c: 781b ldrb r3, [r3, #0] 804814e: b2db uxtb r3, r3 8048150: 2b09 cmp r3, #9 8048152: f202 8062 bhi.w 804a21a 8048156: a201 add r2, pc, #4 ; (adr r2, 804815c ) 8048158: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804815c: 08048185 .word 0x08048185 8048160: 08048185 .word 0x08048185 8048164: 08048185 .word 0x08048185 8048168: 08048185 .word 0x08048185 804816c: 08048185 .word 0x08048185 8048170: 08048185 .word 0x08048185 8048174: 080481f1 .word 0x080481f1 8048178: 0804a21b .word 0x0804a21b 804817c: 08048185 .word 0x08048185 8048180: 08048185 .word 0x08048185 case ZoomOut: case ImageRight: case StartStop: case Results: case SaveSpec: if((!FIRST) && (Stability > (Nr * 4))) 8048184: 4b0e ldr r3, [pc, #56] ; (80481c0 ) 8048186: 781b ldrb r3, [r3, #0] 8048188: b2db uxtb r3, r3 804818a: f083 0301 eor.w r3, r3, #1 804818e: b2db uxtb r3, r3 8048190: 2b00 cmp r3, #0 8048192: f000 8120 beq.w 80483d6 8048196: 4b0b ldr r3, [pc, #44] ; (80481c4 ) 8048198: 881b ldrh r3, [r3, #0] 804819a: b29b uxth r3, r3 804819c: 009b lsls r3, r3, #2 804819e: 461a mov r2, r3 80481a0: 4b09 ldr r3, [pc, #36] ; (80481c8 ) 80481a2: 681b ldr r3, [r3, #0] 80481a4: 429a cmp r2, r3 80481a6: f080 8116 bcs.w 80483d6 { lastmenupos = menupos; 80481aa: 4b04 ldr r3, [pc, #16] ; (80481bc ) 80481ac: 781b ldrb r3, [r3, #0] 80481ae: b2da uxtb r2, r3 80481b0: 4b06 ldr r3, [pc, #24] ; (80481cc ) 80481b2: 701a strb r2, [r3, #0] menupos = Cursor; 80481b4: 4b01 ldr r3, [pc, #4] ; (80481bc ) 80481b6: 2206 movs r2, #6 80481b8: 701a strb r2, [r3, #0] } break; 80481ba: e10c b.n 80483d6 80481bc: 20020070 .word 0x20020070 80481c0: 20020dd2 .word 0x20020dd2 80481c4: 20021d70 .word 0x20021d70 80481c8: 20020dc8 .word 0x20020dc8 80481cc: 20020071 .word 0x20020071 80481d0: 20020fc0 .word 0x20020fc0 80481d4: 20023eb8 .word 0x20023eb8 80481d8: 080f51c8 .word 0x080f51c8 80481dc: 20025d6e .word 0x20025d6e 80481e0: 20025d78 .word 0x20025d78 80481e4: 20025d76 .word 0x20025d76 80481e8: 20025d72 .word 0x20025d72 80481ec: 2002006c .word 0x2002006c case Cursor: lvl_0 = 0; 80481f0: 2300 movs r3, #0 80481f2: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 80481f6: 4baf ldr r3, [pc, #700] ; (80484b4 ) 80481f8: 781b ldrb r3, [r3, #0] 80481fa: b2db uxtb r3, r3 80481fc: 461a mov r2, r3 80481fe: 4613 mov r3, r2 8048200: 009b lsls r3, r3, #2 8048202: 4413 add r3, r2 8048204: 4aac ldr r2, [pc, #688] ; (80484b8 ) 8048206: 79d2 ldrb r2, [r2, #7] 8048208: b2d2 uxtb r2, r2 804820a: 4413 add r3, r2 804820c: 4aab ldr r2, [pc, #684] ; (80484bc ) 804820e: 3323 adds r3, #35 ; 0x23 8048210: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8048214: f8a7 309e strh.w r3, [r7, #158] ; 0x9e i = 1; 8048218: 2301 movs r3, #1 804821a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 k = 256; 804821e: f44f 7380 mov.w r3, #256 ; 0x100 8048222: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 d = 224 * multA_u16; 8048226: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804822a: 4613 mov r3, r2 804822c: 00db lsls r3, r3, #3 804822e: 1a9b subs r3, r3, r2 8048230: 015b lsls r3, r3, #5 8048232: f8c7 30bc str.w r3, [r7, #188] ; 0xbc j = k * Avg[1][5 * lvl_0 + pardata.LNE] - Avg[1][5 * ViewLevel + pardata.LNE]; 8048236: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804823a: 4613 mov r3, r2 804823c: 009b lsls r3, r3, #2 804823e: 4413 add r3, r2 8048240: 4a9d ldr r2, [pc, #628] ; (80484b8 ) 8048242: 79d2 ldrb r2, [r2, #7] 8048244: b2d2 uxtb r2, r2 8048246: 4413 add r3, r2 8048248: 4a9c ldr r2, [pc, #624] ; (80484bc ) 804824a: 3323 adds r3, #35 ; 0x23 804824c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8048250: 461a mov r2, r3 8048252: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8048256: fb03 f202 mul.w r2, r3, r2 804825a: 4b96 ldr r3, [pc, #600] ; (80484b4 ) 804825c: 781b ldrb r3, [r3, #0] 804825e: b2db uxtb r3, r3 8048260: 4619 mov r1, r3 8048262: 460b mov r3, r1 8048264: 009b lsls r3, r3, #2 8048266: 440b add r3, r1 8048268: 4993 ldr r1, [pc, #588] ; (80484b8 ) 804826a: 79c9 ldrb r1, [r1, #7] 804826c: b2c9 uxtb r1, r1 804826e: 440b add r3, r1 8048270: 4992 ldr r1, [pc, #584] ; (80484bc ) 8048272: 3323 adds r3, #35 ; 0x23 8048274: f831 3013 ldrh.w r3, [r1, r3, lsl #1] 8048278: 1ad3 subs r3, r2, r3 804827a: f8c7 3098 str.w r3, [r7, #152] ; 0x98 multB_u16 = i * multA_u16; 804827e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8048282: b29b uxth r3, r3 8048284: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8048288: fb12 f303 smulbb r3, r2, r3 804828c: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if((multB_u16 + Mpos) >= j) 8048290: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8048294: 4a8a ldr r2, [pc, #552] ; (80484c0 ) 8048296: 8812 ldrh r2, [r2, #0] 8048298: b292 uxth r2, r2 804829a: 4413 add r3, r2 804829c: 461a mov r2, r3 804829e: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80482a2: 429a cmp r2, r3 80482a4: d333 bcc.n 804830e { rX = k * Avg[1][5 * lvl_0 + pardata.LNE]; 80482a6: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 80482aa: 4613 mov r3, r2 80482ac: 009b lsls r3, r3, #2 80482ae: 4413 add r3, r2 80482b0: 4a81 ldr r2, [pc, #516] ; (80484b8 ) 80482b2: 79d2 ldrb r2, [r2, #7] 80482b4: b2d2 uxtb r2, r2 80482b6: 4413 add r3, r2 80482b8: 4a80 ldr r2, [pc, #512] ; (80484bc ) 80482ba: 3323 adds r3, #35 ; 0x23 80482bc: f832 2013 ldrh.w r2, [r2, r3, lsl #1] 80482c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80482c4: b29b uxth r3, r3 80482c6: fb12 f303 smulbb r3, r2, r3 80482ca: b29a uxth r2, r3 80482cc: 4b7d ldr r3, [pc, #500] ; (80484c4 ) 80482ce: 801a strh r2, [r3, #0] X0 = rX - k * multA_u16; 80482d0: 4b7c ldr r3, [pc, #496] ; (80484c4 ) 80482d2: 881b ldrh r3, [r3, #0] 80482d4: b29a uxth r2, r3 80482d6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80482da: b29b uxth r3, r3 80482dc: f8b7 109e ldrh.w r1, [r7, #158] ; 0x9e 80482e0: fb11 f303 smulbb r3, r1, r3 80482e4: b29b uxth r3, r3 80482e6: 1ad3 subs r3, r2, r3 80482e8: b29a uxth r2, r3 80482ea: 4b77 ldr r3, [pc, #476] ; (80484c8 ) 80482ec: 801a strh r2, [r3, #0] lX = X0; 80482ee: 4b76 ldr r3, [pc, #472] ; (80484c8 ) 80482f0: 881b ldrh r3, [r3, #0] 80482f2: b29a uxth r2, r3 80482f4: 4b75 ldr r3, [pc, #468] ; (80484cc ) 80482f6: 801a strh r2, [r3, #0] CURSOR = k - 1; 80482f8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80482fc: 3b01 subs r3, #1 80482fe: 4a74 ldr r2, [pc, #464] ; (80484d0 ) 8048300: 6013 str r3, [r2, #0] Mpos = j; 8048302: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8048306: b29a uxth r2, r3 8048308: 4b6d ldr r3, [pc, #436] ; (80484c0 ) 804830a: 801a strh r2, [r3, #0] } lX = X0; rX = X0 + k * multA_u16; CURSOR = (Mpos - X0) / multA_u16; } break; 804830c: e064 b.n 80483d8 Mpos += multB_u16; 804830e: 4b6c ldr r3, [pc, #432] ; (80484c0 ) 8048310: 881b ldrh r3, [r3, #0] 8048312: b29a uxth r2, r3 8048314: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8048318: 4413 add r3, r2 804831a: b29a uxth r2, r3 804831c: 4b68 ldr r3, [pc, #416] ; (80484c0 ) 804831e: 801a strh r2, [r3, #0] if(Mpos >= rX) 8048320: 4b67 ldr r3, [pc, #412] ; (80484c0 ) 8048322: 881b ldrh r3, [r3, #0] 8048324: b29a uxth r2, r3 8048326: 4b67 ldr r3, [pc, #412] ; (80484c4 ) 8048328: 881b ldrh r3, [r3, #0] 804832a: b29b uxth r3, r3 804832c: 429a cmp r2, r3 804832e: d32e bcc.n 804838e if((Mpos + d) <= j) 8048330: 4b63 ldr r3, [pc, #396] ; (80484c0 ) 8048332: 881b ldrh r3, [r3, #0] 8048334: b29b uxth r3, r3 8048336: 461a mov r2, r3 8048338: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 804833c: 441a add r2, r3 804833e: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8048342: 429a cmp r2, r3 8048344: d80a bhi.n 804835c X0 += d; 8048346: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 804834a: b29a uxth r2, r3 804834c: 4b5e ldr r3, [pc, #376] ; (80484c8 ) 804834e: 881b ldrh r3, [r3, #0] 8048350: b29b uxth r3, r3 8048352: 4413 add r3, r2 8048354: b29a uxth r2, r3 8048356: 4b5c ldr r3, [pc, #368] ; (80484c8 ) 8048358: 801a strh r2, [r3, #0] 804835a: e018 b.n 804838e else X0 = k * (Avg[1][5 * lvl_0 + pardata.LNE] - multA_u16); 804835c: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8048360: 4613 mov r3, r2 8048362: 009b lsls r3, r3, #2 8048364: 4413 add r3, r2 8048366: 4a54 ldr r2, [pc, #336] ; (80484b8 ) 8048368: 79d2 ldrb r2, [r2, #7] 804836a: b2d2 uxtb r2, r2 804836c: 4413 add r3, r2 804836e: 4a53 ldr r2, [pc, #332] ; (80484bc ) 8048370: 3323 adds r3, #35 ; 0x23 8048372: f832 2013 ldrh.w r2, [r2, r3, lsl #1] 8048376: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804837a: 1ad3 subs r3, r2, r3 804837c: b29a uxth r2, r3 804837e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8048382: b29b uxth r3, r3 8048384: fb12 f303 smulbb r3, r2, r3 8048388: b29a uxth r2, r3 804838a: 4b4f ldr r3, [pc, #316] ; (80484c8 ) 804838c: 801a strh r2, [r3, #0] lX = X0; 804838e: 4b4e ldr r3, [pc, #312] ; (80484c8 ) 8048390: 881b ldrh r3, [r3, #0] 8048392: b29a uxth r2, r3 8048394: 4b4d ldr r3, [pc, #308] ; (80484cc ) 8048396: 801a strh r2, [r3, #0] rX = X0 + k * multA_u16; 8048398: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804839c: b29b uxth r3, r3 804839e: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 80483a2: fb12 f303 smulbb r3, r2, r3 80483a6: b29a uxth r2, r3 80483a8: 4b47 ldr r3, [pc, #284] ; (80484c8 ) 80483aa: 881b ldrh r3, [r3, #0] 80483ac: b29b uxth r3, r3 80483ae: 4413 add r3, r2 80483b0: b29a uxth r2, r3 80483b2: 4b44 ldr r3, [pc, #272] ; (80484c4 ) 80483b4: 801a strh r2, [r3, #0] CURSOR = (Mpos - X0) / multA_u16; 80483b6: 4b42 ldr r3, [pc, #264] ; (80484c0 ) 80483b8: 881b ldrh r3, [r3, #0] 80483ba: b29b uxth r3, r3 80483bc: 461a mov r2, r3 80483be: 4b42 ldr r3, [pc, #264] ; (80484c8 ) 80483c0: 881b ldrh r3, [r3, #0] 80483c2: b29b uxth r3, r3 80483c4: 1ad2 subs r2, r2, r3 80483c6: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 80483ca: fb92 f3f3 sdiv r3, r2, r3 80483ce: 461a mov r2, r3 80483d0: 4b3f ldr r3, [pc, #252] ; (80484d0 ) 80483d2: 601a str r2, [r3, #0] break; 80483d4: e000 b.n 80483d8 break; 80483d6: bf00 nop } break; 80483d8: f001 bf1f b.w 804a21a case MAIN_SPEC_OKT: switch(menupos) 80483dc: 4b3d ldr r3, [pc, #244] ; (80484d4 ) 80483de: 781b ldrb r3, [r3, #0] 80483e0: b2db uxtb r3, r3 80483e2: 2b00 cmp r3, #0 80483e4: f2c1 871c blt.w 804a220 80483e8: 2b05 cmp r3, #5 80483ea: dd03 ble.n 80483f4 80483ec: 2b06 cmp r3, #6 80483ee: d01b beq.n 8048428 case Cursor: if(CURSOR < 13) CURSOR++; break; } break; 80483f0: f001 bf16 b.w 804a220 if((!FIRST) && (Stability > (Nr * 4))) 80483f4: 4b38 ldr r3, [pc, #224] ; (80484d8 ) 80483f6: 781b ldrb r3, [r3, #0] 80483f8: b2db uxtb r3, r3 80483fa: f083 0301 eor.w r3, r3, #1 80483fe: b2db uxtb r3, r3 8048400: 2b00 cmp r3, #0 8048402: d01b beq.n 804843c 8048404: 4b35 ldr r3, [pc, #212] ; (80484dc ) 8048406: 881b ldrh r3, [r3, #0] 8048408: b29b uxth r3, r3 804840a: 009b lsls r3, r3, #2 804840c: 461a mov r2, r3 804840e: 4b34 ldr r3, [pc, #208] ; (80484e0 ) 8048410: 681b ldr r3, [r3, #0] 8048412: 429a cmp r2, r3 8048414: d212 bcs.n 804843c lastmenupos = menupos; 8048416: 4b2f ldr r3, [pc, #188] ; (80484d4 ) 8048418: 781b ldrb r3, [r3, #0] 804841a: b2da uxtb r2, r3 804841c: 4b31 ldr r3, [pc, #196] ; (80484e4 ) 804841e: 701a strb r2, [r3, #0] menupos = Cursor; 8048420: 4b2c ldr r3, [pc, #176] ; (80484d4 ) 8048422: 2206 movs r2, #6 8048424: 701a strb r2, [r3, #0] break; 8048426: e009 b.n 804843c if(CURSOR < 13) 8048428: 4b29 ldr r3, [pc, #164] ; (80484d0 ) 804842a: 681b ldr r3, [r3, #0] 804842c: 2b0c cmp r3, #12 804842e: d808 bhi.n 8048442 CURSOR++; 8048430: 4b27 ldr r3, [pc, #156] ; (80484d0 ) 8048432: 681b ldr r3, [r3, #0] 8048434: 3301 adds r3, #1 8048436: 4a26 ldr r2, [pc, #152] ; (80484d0 ) 8048438: 6013 str r3, [r2, #0] break; 804843a: e002 b.n 8048442 break; 804843c: bf00 nop 804843e: f001 beef b.w 804a220 break; 8048442: bf00 nop break; 8048444: f001 beec b.w 804a220 case MAIN_SPEC_THIRD: switch(menupos) 8048448: 4b22 ldr r3, [pc, #136] ; (80484d4 ) 804844a: 781b ldrb r3, [r3, #0] 804844c: b2db uxtb r3, r3 804844e: 2b00 cmp r3, #0 8048450: f2c1 86e9 blt.w 804a226 8048454: 2b05 cmp r3, #5 8048456: dd03 ble.n 8048460 8048458: 2b06 cmp r3, #6 804845a: d01b beq.n 8048494 case Cursor: if(CURSOR < 38) CURSOR++; break; } break; 804845c: f001 bee3 b.w 804a226 if((!FIRST) && (Stability > (Nr * 4))) 8048460: 4b1d ldr r3, [pc, #116] ; (80484d8 ) 8048462: 781b ldrb r3, [r3, #0] 8048464: b2db uxtb r3, r3 8048466: f083 0301 eor.w r3, r3, #1 804846a: b2db uxtb r3, r3 804846c: 2b00 cmp r3, #0 804846e: d01b beq.n 80484a8 8048470: 4b1a ldr r3, [pc, #104] ; (80484dc ) 8048472: 881b ldrh r3, [r3, #0] 8048474: b29b uxth r3, r3 8048476: 009b lsls r3, r3, #2 8048478: 461a mov r2, r3 804847a: 4b19 ldr r3, [pc, #100] ; (80484e0 ) 804847c: 681b ldr r3, [r3, #0] 804847e: 429a cmp r2, r3 8048480: d212 bcs.n 80484a8 lastmenupos = menupos; 8048482: 4b14 ldr r3, [pc, #80] ; (80484d4 ) 8048484: 781b ldrb r3, [r3, #0] 8048486: b2da uxtb r2, r3 8048488: 4b16 ldr r3, [pc, #88] ; (80484e4 ) 804848a: 701a strb r2, [r3, #0] menupos = Cursor; 804848c: 4b11 ldr r3, [pc, #68] ; (80484d4 ) 804848e: 2206 movs r2, #6 8048490: 701a strb r2, [r3, #0] break; 8048492: e009 b.n 80484a8 if(CURSOR < 38) 8048494: 4b0e ldr r3, [pc, #56] ; (80484d0 ) 8048496: 681b ldr r3, [r3, #0] 8048498: 2b25 cmp r3, #37 ; 0x25 804849a: d808 bhi.n 80484ae CURSOR++; 804849c: 4b0c ldr r3, [pc, #48] ; (80484d0 ) 804849e: 681b ldr r3, [r3, #0] 80484a0: 3301 adds r3, #1 80484a2: 4a0b ldr r2, [pc, #44] ; (80484d0 ) 80484a4: 6013 str r3, [r2, #0] break; 80484a6: e002 b.n 80484ae break; 80484a8: bf00 nop 80484aa: f001 bebc b.w 804a226 break; 80484ae: bf00 nop break; 80484b0: f001 beb9 b.w 804a226 80484b4: 20020fc0 .word 0x20020fc0 80484b8: 20023eb8 .word 0x20023eb8 80484bc: 080f51c8 .word 0x080f51c8 80484c0: 20025d6e .word 0x20025d6e 80484c4: 20025d78 .word 0x20025d78 80484c8: 20025d76 .word 0x20025d76 80484cc: 20025d72 .word 0x20025d72 80484d0: 2002006c .word 0x2002006c 80484d4: 20020070 .word 0x20020070 80484d8: 20020dd2 .word 0x20020dd2 80484dc: 20021d70 .word 0x20021d70 80484e0: 20020dc8 .word 0x20020dc8 80484e4: 20020071 .word 0x20020071 case MAIN_WAVE: switch(menupos) 80484e8: 4bac ldr r3, [pc, #688] ; (804879c ) 80484ea: 781b ldrb r3, [r3, #0] 80484ec: b2db uxtb r3, r3 80484ee: 2b01 cmp r3, #1 80484f0: d005 beq.n 80484fe 80484f2: 2b03 cmp r3, #3 80484f4: d01d beq.n 8048532 80484f6: 2b00 cmp r3, #0 80484f8: d00e beq.n 8048518 break; case ReadyRec: oldmenupos = ReadyRec; break; } break; 80484fa: f001 bee2 b.w 804a2c2 if(oldmenupos == StartStop) 80484fe: 4ba8 ldr r3, [pc, #672] ; (80487a0 ) 8048500: 781b ldrb r3, [r3, #0] 8048502: b2db uxtb r3, r3 8048504: 2b00 cmp r3, #0 8048506: d103 bne.n 8048510 oldmenupos = StartStop; 8048508: 4ba5 ldr r3, [pc, #660] ; (80487a0 ) 804850a: 2200 movs r2, #0 804850c: 701a strb r2, [r3, #0] break; 804850e: e014 b.n 804853a else oldmenupos = ReadyRec; 8048510: 4ba3 ldr r3, [pc, #652] ; (80487a0 ) 8048512: 2203 movs r2, #3 8048514: 701a strb r2, [r3, #0] break; 8048516: e010 b.n 804853a if(oldmenupos == StartStop) 8048518: 4ba1 ldr r3, [pc, #644] ; (80487a0 ) 804851a: 781b ldrb r3, [r3, #0] 804851c: b2db uxtb r3, r3 804851e: 2b00 cmp r3, #0 8048520: d103 bne.n 804852a oldmenupos = StartStop; 8048522: 4b9f ldr r3, [pc, #636] ; (80487a0 ) 8048524: 2200 movs r2, #0 8048526: 701a strb r2, [r3, #0] break; 8048528: e007 b.n 804853a else oldmenupos = ReadyRec; 804852a: 4b9d ldr r3, [pc, #628] ; (80487a0 ) 804852c: 2203 movs r2, #3 804852e: 701a strb r2, [r3, #0] break; 8048530: e003 b.n 804853a oldmenupos = ReadyRec; 8048532: 4b9b ldr r3, [pc, #620] ; (80487a0 ) 8048534: 2203 movs r2, #3 8048536: 701a strb r2, [r3, #0] break; 8048538: bf00 nop break; 804853a: f001 bec2 b.w 804a2c2 case MAIN_SYGNAL: if(menupos == Cursor) 804853e: 4b97 ldr r3, [pc, #604] ; (804879c ) 8048540: 781b ldrb r3, [r3, #0] 8048542: b2db uxtb r3, r3 8048544: 2b06 cmp r3, #6 8048546: d10b bne.n 8048560 { if(CURSOR < 255) 8048548: 4b96 ldr r3, [pc, #600] ; (80487a4 ) 804854a: 681b ldr r3, [r3, #0] 804854c: 2bfe cmp r3, #254 ; 0xfe 804854e: f201 866d bhi.w 804a22c CURSOR++; 8048552: 4b94 ldr r3, [pc, #592] ; (80487a4 ) 8048554: 681b ldr r3, [r3, #0] 8048556: 3301 adds r3, #1 8048558: 4a92 ldr r2, [pc, #584] ; (80487a4 ) 804855a: 6013 str r3, [r2, #0] else { lastmenupos = menupos; menupos = Cursor; } break; 804855c: f001 be66 b.w 804a22c lastmenupos = menupos; 8048560: 4b8e ldr r3, [pc, #568] ; (804879c ) 8048562: 781b ldrb r3, [r3, #0] 8048564: b2da uxtb r2, r3 8048566: 4b90 ldr r3, [pc, #576] ; (80487a8 ) 8048568: 701a strb r2, [r3, #0] menupos = Cursor; 804856a: 4b8c ldr r3, [pc, #560] ; (804879c ) 804856c: 2206 movs r2, #6 804856e: 701a strb r2, [r3, #0] break; 8048570: f001 be5c b.w 804a22c case OPTIONS: if(menupos == AskFormatNo) 8048574: 4b89 ldr r3, [pc, #548] ; (804879c ) 8048576: 781b ldrb r3, [r3, #0] 8048578: b2db uxtb r3, r3 804857a: 2b05 cmp r3, #5 804857c: d104 bne.n 8048588 menupos = AskFormatYes; 804857e: 4b87 ldr r3, [pc, #540] ; (804879c ) 8048580: 2206 movs r2, #6 8048582: 701a strb r2, [r3, #0] if(menupos == AskRouteNo) menupos = AskRouteYes; else if(menupos == AskRouteYes) menupos = AskRouteNo; break; 8048584: f001 be55 b.w 804a232 if(menupos == AskFormatYes) 8048588: 4b84 ldr r3, [pc, #528] ; (804879c ) 804858a: 781b ldrb r3, [r3, #0] 804858c: b2db uxtb r3, r3 804858e: 2b06 cmp r3, #6 8048590: d104 bne.n 804859c menupos = AskFormatNo; 8048592: 4b82 ldr r3, [pc, #520] ; (804879c ) 8048594: 2205 movs r2, #5 8048596: 701a strb r2, [r3, #0] break; 8048598: f001 be4b b.w 804a232 if(menupos == AskRouteNo) 804859c: 4b7f ldr r3, [pc, #508] ; (804879c ) 804859e: 781b ldrb r3, [r3, #0] 80485a0: b2db uxtb r3, r3 80485a2: 2b09 cmp r3, #9 80485a4: d104 bne.n 80485b0 menupos = AskRouteYes; 80485a6: 4b7d ldr r3, [pc, #500] ; (804879c ) 80485a8: 220a movs r2, #10 80485aa: 701a strb r2, [r3, #0] break; 80485ac: f001 be41 b.w 804a232 if(menupos == AskRouteYes) 80485b0: 4b7a ldr r3, [pc, #488] ; (804879c ) 80485b2: 781b ldrb r3, [r3, #0] 80485b4: b2db uxtb r3, r3 80485b6: 2b0a cmp r3, #10 80485b8: f041 863b bne.w 804a232 menupos = AskRouteNo; 80485bc: 4b77 ldr r3, [pc, #476] ; (804879c ) 80485be: 2209 movs r2, #9 80485c0: 701a strb r2, [r3, #0] break; 80485c2: f001 be36 b.w 804a232 case EXPLORER: if((menupos == FilesPTM) || (menupos == NoFilesPTM)) 80485c6: 4b75 ldr r3, [pc, #468] ; (804879c ) 80485c8: 781b ldrb r3, [r3, #0] 80485ca: b2db uxtb r3, r3 80485cc: 2b02 cmp r3, #2 80485ce: d004 beq.n 80485da 80485d0: 4b72 ldr r3, [pc, #456] ; (804879c ) 80485d2: 781b ldrb r3, [r3, #0] 80485d4: b2db uxtb r3, r3 80485d6: 2b01 cmp r3, #1 80485d8: d114 bne.n 8048604 { memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 80485da: 2221 movs r2, #33 ; 0x21 80485dc: 2100 movs r1, #0 80485de: 4873 ldr r0, [pc, #460] ; (80487ac ) 80485e0: f089 fce0 bl 80d1fa4 MeasFileNameLen = 0; 80485e4: 4b72 ldr r3, [pc, #456] ; (80487b0 ) 80485e6: 2200 movs r2, #0 80485e8: 601a str r2, [r3, #0] lastmenupos = menupos; 80485ea: 4b6c ldr r3, [pc, #432] ; (804879c ) 80485ec: 781b ldrb r3, [r3, #0] 80485ee: b2da uxtb r2, r3 80485f0: 4b6d ldr r3, [pc, #436] ; (80487a8 ) 80485f2: 701a strb r2, [r3, #0] menu = INPUT_NAME_PTM; 80485f4: 4b6f ldr r3, [pc, #444] ; (80487b4 ) 80485f6: 222b movs r2, #43 ; 0x2b 80485f8: 701a strb r2, [r3, #0] menupos = _CANCEL; 80485fa: 4b68 ldr r3, [pc, #416] ; (804879c ) 80485fc: 2227 movs r2, #39 ; 0x27 80485fe: 701a strb r2, [r3, #0] if(menupos == UpYes) menupos = UpNo; else if(menupos == UpNo) menupos = UpYes; break; 8048600: f001 be1a b.w 804a238 if(menupos == UpYes) 8048604: 4b65 ldr r3, [pc, #404] ; (804879c ) 8048606: 781b ldrb r3, [r3, #0] 8048608: b2db uxtb r3, r3 804860a: 2b07 cmp r3, #7 804860c: d104 bne.n 8048618 menupos = UpNo; 804860e: 4b63 ldr r3, [pc, #396] ; (804879c ) 8048610: 2206 movs r2, #6 8048612: 701a strb r2, [r3, #0] break; 8048614: f001 be10 b.w 804a238 if(menupos == UpNo) 8048618: 4b60 ldr r3, [pc, #384] ; (804879c ) 804861a: 781b ldrb r3, [r3, #0] 804861c: b2db uxtb r3, r3 804861e: 2b06 cmp r3, #6 8048620: f041 860a bne.w 804a238 menupos = UpYes; 8048624: 4b5d ldr r3, [pc, #372] ; (804879c ) 8048626: 2207 movs r2, #7 8048628: 701a strb r2, [r3, #0] break; 804862a: f001 be05 b.w 804a238 case EXPLORER_DIAGN: if((menupos == FilesDGN) || (menupos == NoFilesDGN)) 804862e: 4b5b ldr r3, [pc, #364] ; (804879c ) 8048630: 781b ldrb r3, [r3, #0] 8048632: b2db uxtb r3, r3 8048634: 2b02 cmp r3, #2 8048636: d004 beq.n 8048642 8048638: 4b58 ldr r3, [pc, #352] ; (804879c ) 804863a: 781b ldrb r3, [r3, #0] 804863c: b2db uxtb r3, r3 804863e: 2b01 cmp r3, #1 8048640: d114 bne.n 804866c { memset(TEMP_DiagFileName, 0, sizeof(TEMP_DiagFileName)); 8048642: 2221 movs r2, #33 ; 0x21 8048644: 2100 movs r1, #0 8048646: 485c ldr r0, [pc, #368] ; (80487b8 ) 8048648: f089 fcac bl 80d1fa4 DiagFileNameLen = 0; 804864c: 4b5b ldr r3, [pc, #364] ; (80487bc ) 804864e: 2200 movs r2, #0 8048650: 601a str r2, [r3, #0] lastmenupos = menupos; 8048652: 4b52 ldr r3, [pc, #328] ; (804879c ) 8048654: 781b ldrb r3, [r3, #0] 8048656: b2da uxtb r2, r3 8048658: 4b53 ldr r3, [pc, #332] ; (80487a8 ) 804865a: 701a strb r2, [r3, #0] menu = INPUT_NAME_DGN; 804865c: 4b55 ldr r3, [pc, #340] ; (80487b4 ) 804865e: 222c movs r2, #44 ; 0x2c 8048660: 701a strb r2, [r3, #0] menupos = _CANCEL; 8048662: 4b4e ldr r3, [pc, #312] ; (804879c ) 8048664: 2227 movs r2, #39 ; 0x27 8048666: 701a strb r2, [r3, #0] if(menupos == UpYes) menupos = UpNo; else if(menupos == UpNo) menupos = UpYes; break; 8048668: f001 bde9 b.w 804a23e if(menupos == UpYes) 804866c: 4b4b ldr r3, [pc, #300] ; (804879c ) 804866e: 781b ldrb r3, [r3, #0] 8048670: b2db uxtb r3, r3 8048672: 2b07 cmp r3, #7 8048674: d104 bne.n 8048680 menupos = UpNo; 8048676: 4b49 ldr r3, [pc, #292] ; (804879c ) 8048678: 2206 movs r2, #6 804867a: 701a strb r2, [r3, #0] break; 804867c: f001 bddf b.w 804a23e if(menupos == UpNo) 8048680: 4b46 ldr r3, [pc, #280] ; (804879c ) 8048682: 781b ldrb r3, [r3, #0] 8048684: b2db uxtb r3, r3 8048686: 2b06 cmp r3, #6 8048688: f041 85d9 bne.w 804a23e menupos = UpYes; 804868c: 4b43 ldr r3, [pc, #268] ; (804879c ) 804868e: 2207 movs r2, #7 8048690: 701a strb r2, [r3, #0] break; 8048692: f001 bdd4 b.w 804a23e 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)) 8048696: 4b41 ldr r3, [pc, #260] ; (804879c ) 8048698: 781b ldrb r3, [r3, #0] 804869a: b2db uxtb r3, r3 804869c: 2b09 cmp r3, #9 804869e: f001 85d1 beq.w 804a244 80486a2: 4b3e ldr r3, [pc, #248] ; (804879c ) 80486a4: 781b ldrb r3, [r3, #0] 80486a6: b2db uxtb r3, r3 80486a8: 2b13 cmp r3, #19 80486aa: f001 85cb beq.w 804a244 80486ae: 4b3b ldr r3, [pc, #236] ; (804879c ) 80486b0: 781b ldrb r3, [r3, #0] 80486b2: b2db uxtb r3, r3 80486b4: 2b1d cmp r3, #29 80486b6: f001 85c5 beq.w 804a244 80486ba: 4b38 ldr r3, [pc, #224] ; (804879c ) 80486bc: 781b ldrb r3, [r3, #0] 80486be: b2db uxtb r3, r3 80486c0: 2b25 cmp r3, #37 ; 0x25 80486c2: f001 85bf beq.w 804a244 80486c6: 4b35 ldr r3, [pc, #212] ; (804879c ) 80486c8: 781b ldrb r3, [r3, #0] 80486ca: b2db uxtb r3, r3 80486cc: 2b27 cmp r3, #39 ; 0x27 80486ce: f001 85b9 beq.w 804a244 menupos++; 80486d2: 4b32 ldr r3, [pc, #200] ; (804879c ) 80486d4: 781b ldrb r3, [r3, #0] 80486d6: b2db uxtb r3, r3 80486d8: 3301 adds r3, #1 80486da: b2da uxtb r2, r3 80486dc: 4b2f ldr r3, [pc, #188] ; (804879c ) 80486de: 701a strb r2, [r3, #0] break; 80486e0: f001 bdb0 b.w 804a244 case ARCHIVE_SPEC: if(menupos == FilesSPEC) 80486e4: 4b2d ldr r3, [pc, #180] ; (804879c ) 80486e6: 781b ldrb r3, [r3, #0] 80486e8: b2db uxtb r3, r3 80486ea: 2b02 cmp r3, #2 80486ec: d104 bne.n 80486f8 menupos = UpNo; 80486ee: 4b2b ldr r3, [pc, #172] ; (804879c ) 80486f0: 2206 movs r2, #6 80486f2: 701a strb r2, [r3, #0] if(menupos == UpNo) menupos = UpYes; else if(menupos == UpYes) menupos = UpNo; break; 80486f4: f001 bda9 b.w 804a24a if(menupos == UpNo) 80486f8: 4b28 ldr r3, [pc, #160] ; (804879c ) 80486fa: 781b ldrb r3, [r3, #0] 80486fc: b2db uxtb r3, r3 80486fe: 2b06 cmp r3, #6 8048700: d104 bne.n 804870c menupos = UpYes; 8048702: 4b26 ldr r3, [pc, #152] ; (804879c ) 8048704: 2207 movs r2, #7 8048706: 701a strb r2, [r3, #0] break; 8048708: f001 bd9f b.w 804a24a if(menupos == UpYes) 804870c: 4b23 ldr r3, [pc, #140] ; (804879c ) 804870e: 781b ldrb r3, [r3, #0] 8048710: b2db uxtb r3, r3 8048712: 2b07 cmp r3, #7 8048714: f041 8599 bne.w 804a24a menupos = UpNo; 8048718: 4b20 ldr r3, [pc, #128] ; (804879c ) 804871a: 2206 movs r2, #6 804871c: 701a strb r2, [r3, #0] break; 804871e: f001 bd94 b.w 804a24a case ARCHIVE_FRAN: if(menupos == FilesFRAN) 8048722: 4b1e ldr r3, [pc, #120] ; (804879c ) 8048724: 781b ldrb r3, [r3, #0] 8048726: b2db uxtb r3, r3 8048728: 2b02 cmp r3, #2 804872a: d104 bne.n 8048736 menupos = UpNo; 804872c: 4b1b ldr r3, [pc, #108] ; (804879c ) 804872e: 2206 movs r2, #6 8048730: 701a strb r2, [r3, #0] if(menupos == UpNo) menupos = UpYes; else if(menupos == UpYes) menupos = UpNo; break; 8048732: f001 bd8d b.w 804a250 if(menupos == UpNo) 8048736: 4b19 ldr r3, [pc, #100] ; (804879c ) 8048738: 781b ldrb r3, [r3, #0] 804873a: b2db uxtb r3, r3 804873c: 2b06 cmp r3, #6 804873e: d104 bne.n 804874a menupos = UpYes; 8048740: 4b16 ldr r3, [pc, #88] ; (804879c ) 8048742: 2207 movs r2, #7 8048744: 701a strb r2, [r3, #0] break; 8048746: f001 bd83 b.w 804a250 if(menupos == UpYes) 804874a: 4b14 ldr r3, [pc, #80] ; (804879c ) 804874c: 781b ldrb r3, [r3, #0] 804874e: b2db uxtb r3, r3 8048750: 2b07 cmp r3, #7 8048752: f041 857d bne.w 804a250 menupos = UpNo; 8048756: 4b11 ldr r3, [pc, #68] ; (804879c ) 8048758: 2206 movs r2, #6 804875a: 701a strb r2, [r3, #0] break; 804875c: f001 bd78 b.w 804a250 case ARCHIVE_WAVE: if(menupos == FilesGTR) 8048760: 4b0e ldr r3, [pc, #56] ; (804879c ) 8048762: 781b ldrb r3, [r3, #0] 8048764: b2db uxtb r3, r3 8048766: 2b02 cmp r3, #2 8048768: f040 80b0 bne.w 80488cc { if(ExplorerFiles[CursorIndex].fname[0] != 0) 804876c: 4b14 ldr r3, [pc, #80] ; (80487c0 ) 804876e: 681a ldr r2, [r3, #0] 8048770: 4914 ldr r1, [pc, #80] ; (80487c4 ) 8048772: 4613 mov r3, r2 8048774: 00db lsls r3, r3, #3 8048776: 1a9b subs r3, r3, r2 8048778: 00db lsls r3, r3, #3 804877a: 440b add r3, r1 804877c: 330c adds r3, #12 804877e: 781b ldrb r3, [r3, #0] 8048780: 2b00 cmp r3, #0 8048782: f001 8568 beq.w 804a256 { d = cbChecked; 8048786: 2301 movs r3, #1 8048788: f8c7 30bc str.w r3, [r7, #188] ; 0xbc if(NumFilesDelete != 0) 804878c: 4b0e ldr r3, [pc, #56] ; (80487c8 ) 804878e: 681b ldr r3, [r3, #0] 8048790: 2b00 cmp r3, #0 8048792: d055 beq.n 8048840 { for(i = 0; i < MAX_CHECKED_FILES; i++) 8048794: 2300 movs r3, #0 8048796: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 804879a: e04c b.n 8048836 804879c: 20020070 .word 0x20020070 80487a0: 20020fc7 .word 0x20020fc7 80487a4: 2002006c .word 0x2002006c 80487a8: 20020071 .word 0x20020071 80487ac: 20025cd8 .word 0x20025cd8 80487b0: 20020f14 .word 0x20020f14 80487b4: 20020fc5 .word 0x20020fc5 80487b8: 20025d20 .word 0x20025d20 80487bc: 20020f18 .word 0x20020f18 80487c0: 20020e00 .word 0x20020e00 80487c4: 200223a0 .word 0x200223a0 80487c8: 20020e30 .word 0x20020e30 { if(strcmp(ExplorerFiles[CursorIndex].fname, &StrRAM(i, 0)) == 0) 80487cc: 4bc6 ldr r3, [pc, #792] ; (8048ae8 ) 80487ce: 681a ldr r2, [r3, #0] 80487d0: 4613 mov r3, r2 80487d2: 00db lsls r3, r3, #3 80487d4: 1a9b subs r3, r3, r2 80487d6: 00db lsls r3, r3, #3 80487d8: 3308 adds r3, #8 80487da: 4ac4 ldr r2, [pc, #784] ; (8048aec ) 80487dc: 4413 add r3, r2 80487de: 1d18 adds r0, r3, #4 80487e0: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80487e4: 4613 mov r3, r2 80487e6: 009b lsls r3, r3, #2 80487e8: 4413 add r3, r2 80487ea: 00db lsls r3, r3, #3 80487ec: 461a mov r2, r3 80487ee: 4bc0 ldr r3, [pc, #768] ; (8048af0 ) 80487f0: 4413 add r3, r2 80487f2: 4619 mov r1, r3 80487f4: f7d7 fd84 bl 8020300 80487f8: 4603 mov r3, r0 80487fa: 2b00 cmp r3, #0 80487fc: d116 bne.n 804882c { memset(&StrRAM(i, 0), 0, 40); 80487fe: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8048802: 4613 mov r3, r2 8048804: 009b lsls r3, r3, #2 8048806: 4413 add r3, r2 8048808: 00db lsls r3, r3, #3 804880a: 461a mov r2, r3 804880c: 4bb8 ldr r3, [pc, #736] ; (8048af0 ) 804880e: 4413 add r3, r2 8048810: 2228 movs r2, #40 ; 0x28 8048812: 2100 movs r1, #0 8048814: 4618 mov r0, r3 8048816: f089 fbc5 bl 80d1fa4 d = cbUnchecked; // Èìÿ ôàéëà èñêëþ÷èëè èç ñïèñêà óäàëÿåìûõ ôàéëîâ 804881a: 2300 movs r3, #0 804881c: f8c7 30bc str.w r3, [r7, #188] ; 0xbc NumFilesDelete--; 8048820: 4bb4 ldr r3, [pc, #720] ; (8048af4 ) 8048822: 681b ldr r3, [r3, #0] 8048824: 3b01 subs r3, #1 8048826: 4ab3 ldr r2, [pc, #716] ; (8048af4 ) 8048828: 6013 str r3, [r2, #0] break; 804882a: e009 b.n 8048840 for(i = 0; i < MAX_CHECKED_FILES; i++) 804882c: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8048830: 3301 adds r3, #1 8048832: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8048836: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804883a: f5b3 7f00 cmp.w r3, #512 ; 0x200 804883e: d3c5 bcc.n 80487cc } } } if(d == cbChecked) // Åñëè èìÿ ôàéëà âêëþ÷èëè â ñïèñîê óäàëÿåìûõ ôàéëîâ 8048840: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8048844: 2b01 cmp r3, #1 8048846: f041 8506 bne.w 804a256 { // Èùåì ïåðâóþ ñâîáîäíóþ ÿ÷åéêó â áóôåðå if(NumFilesDelete < MAX_CHECKED_FILES) 804884a: 4baa ldr r3, [pc, #680] ; (8048af4 ) 804884c: 681b ldr r3, [r3, #0] 804884e: f5b3 7f00 cmp.w r3, #512 ; 0x200 8048852: f081 8500 bcs.w 804a256 { for(i = 0; i < MAX_CHECKED_FILES; i++) 8048856: 2300 movs r3, #0 8048858: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 804885c: e02f b.n 80488be { if(StrRAM(i, 0) == 0) 804885e: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8048862: 4613 mov r3, r2 8048864: 009b lsls r3, r3, #2 8048866: 4413 add r3, r2 8048868: 00db lsls r3, r3, #3 804886a: 461a mov r2, r3 804886c: 4ba0 ldr r3, [pc, #640] ; (8048af0 ) 804886e: 4413 add r3, r2 8048870: 781b ldrb r3, [r3, #0] 8048872: 2b00 cmp r3, #0 8048874: d11e bne.n 80488b4 { strcpy(&StrRAM(i, 0), ExplorerFiles[CursorIndex].fname); 8048876: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804887a: 4613 mov r3, r2 804887c: 009b lsls r3, r3, #2 804887e: 4413 add r3, r2 8048880: 00db lsls r3, r3, #3 8048882: 461a mov r2, r3 8048884: 4b9a ldr r3, [pc, #616] ; (8048af0 ) 8048886: 4413 add r3, r2 8048888: 4618 mov r0, r3 804888a: 4b97 ldr r3, [pc, #604] ; (8048ae8 ) 804888c: 681a ldr r2, [r3, #0] 804888e: 4613 mov r3, r2 8048890: 00db lsls r3, r3, #3 8048892: 1a9b subs r3, r3, r2 8048894: 00db lsls r3, r3, #3 8048896: 3308 adds r3, #8 8048898: 4a94 ldr r2, [pc, #592] ; (8048aec ) 804889a: 4413 add r3, r2 804889c: 3304 adds r3, #4 804889e: 4619 mov r1, r3 80488a0: f089 fc9d bl 80d21de NumFilesDelete++; 80488a4: 4b93 ldr r3, [pc, #588] ; (8048af4 ) 80488a6: 681b ldr r3, [r3, #0] 80488a8: 3301 adds r3, #1 80488aa: 4a92 ldr r2, [pc, #584] ; (8048af4 ) 80488ac: 6013 str r3, [r2, #0] break; 80488ae: bf00 nop if(menupos == UpNo) menupos = UpYes; else if(menupos == UpYes) menupos = UpNo; break; 80488b0: f001 bcd1 b.w 804a256 for(i = 0; i < MAX_CHECKED_FILES; i++) 80488b4: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80488b8: 3301 adds r3, #1 80488ba: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80488be: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80488c2: f5b3 7f00 cmp.w r3, #512 ; 0x200 80488c6: d3ca bcc.n 804885e break; 80488c8: f001 bcc5 b.w 804a256 if(menupos == UpNo) 80488cc: 4b8a ldr r3, [pc, #552] ; (8048af8 ) 80488ce: 781b ldrb r3, [r3, #0] 80488d0: b2db uxtb r3, r3 80488d2: 2b06 cmp r3, #6 80488d4: d104 bne.n 80488e0 menupos = UpYes; 80488d6: 4b88 ldr r3, [pc, #544] ; (8048af8 ) 80488d8: 2207 movs r2, #7 80488da: 701a strb r2, [r3, #0] break; 80488dc: f001 bcbb b.w 804a256 if(menupos == UpYes) 80488e0: 4b85 ldr r3, [pc, #532] ; (8048af8 ) 80488e2: 781b ldrb r3, [r3, #0] 80488e4: b2db uxtb r3, r3 80488e6: 2b07 cmp r3, #7 80488e8: f041 84b5 bne.w 804a256 menupos = UpNo; 80488ec: 4b82 ldr r3, [pc, #520] ; (8048af8 ) 80488ee: 2206 movs r2, #6 80488f0: 701a strb r2, [r3, #0] break; 80488f2: f001 bcb0 b.w 804a256 case ROUTE: if(menupos == FilesCSV) 80488f6: 4b80 ldr r3, [pc, #512] ; (8048af8 ) 80488f8: 781b ldrb r3, [r3, #0] 80488fa: b2db uxtb r3, r3 80488fc: 2b02 cmp r3, #2 80488fe: f040 8098 bne.w 8048a32 { if(ExplorerFiles[CursorIndex].fname[0] != 0) 8048902: 4b79 ldr r3, [pc, #484] ; (8048ae8 ) 8048904: 681a ldr r2, [r3, #0] 8048906: 4979 ldr r1, [pc, #484] ; (8048aec ) 8048908: 4613 mov r3, r2 804890a: 00db lsls r3, r3, #3 804890c: 1a9b subs r3, r3, r2 804890e: 00db lsls r3, r3, #3 8048910: 440b add r3, r1 8048912: 330c adds r3, #12 8048914: 781b ldrb r3, [r3, #0] 8048916: 2b00 cmp r3, #0 8048918: f001 84a0 beq.w 804a25c { d = cbChecked; 804891c: 2301 movs r3, #1 804891e: f8c7 30bc str.w r3, [r7, #188] ; 0xbc if(NumFilesDelete != 0) 8048922: 4b74 ldr r3, [pc, #464] ; (8048af4 ) 8048924: 681b ldr r3, [r3, #0] 8048926: 2b00 cmp r3, #0 8048928: d03d beq.n 80489a6 { for(i = 0; i < MAX_CHECKED_FILES; i++) 804892a: 2300 movs r3, #0 804892c: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8048930: e034 b.n 804899c { if(strcmp(ExplorerFiles[CursorIndex].fname, &StrRAM(i, 0)) == 0) 8048932: 4b6d ldr r3, [pc, #436] ; (8048ae8 ) 8048934: 681a ldr r2, [r3, #0] 8048936: 4613 mov r3, r2 8048938: 00db lsls r3, r3, #3 804893a: 1a9b subs r3, r3, r2 804893c: 00db lsls r3, r3, #3 804893e: 3308 adds r3, #8 8048940: 4a6a ldr r2, [pc, #424] ; (8048aec ) 8048942: 4413 add r3, r2 8048944: 1d18 adds r0, r3, #4 8048946: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804894a: 4613 mov r3, r2 804894c: 009b lsls r3, r3, #2 804894e: 4413 add r3, r2 8048950: 00db lsls r3, r3, #3 8048952: 461a mov r2, r3 8048954: 4b66 ldr r3, [pc, #408] ; (8048af0 ) 8048956: 4413 add r3, r2 8048958: 4619 mov r1, r3 804895a: f7d7 fcd1 bl 8020300 804895e: 4603 mov r3, r0 8048960: 2b00 cmp r3, #0 8048962: d116 bne.n 8048992 { memset(&StrRAM(i, 0), 0, 40); 8048964: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8048968: 4613 mov r3, r2 804896a: 009b lsls r3, r3, #2 804896c: 4413 add r3, r2 804896e: 00db lsls r3, r3, #3 8048970: 461a mov r2, r3 8048972: 4b5f ldr r3, [pc, #380] ; (8048af0 ) 8048974: 4413 add r3, r2 8048976: 2228 movs r2, #40 ; 0x28 8048978: 2100 movs r1, #0 804897a: 4618 mov r0, r3 804897c: f089 fb12 bl 80d1fa4 d = cbUnchecked; // Èìÿ ôàéëà èñêëþ÷èëè èç ñïèñêà óäàëÿåìûõ ôàéëîâ 8048980: 2300 movs r3, #0 8048982: f8c7 30bc str.w r3, [r7, #188] ; 0xbc NumFilesDelete--; 8048986: 4b5b ldr r3, [pc, #364] ; (8048af4 ) 8048988: 681b ldr r3, [r3, #0] 804898a: 3b01 subs r3, #1 804898c: 4a59 ldr r2, [pc, #356] ; (8048af4 ) 804898e: 6013 str r3, [r2, #0] break; 8048990: e009 b.n 80489a6 for(i = 0; i < MAX_CHECKED_FILES; i++) 8048992: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8048996: 3301 adds r3, #1 8048998: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 804899c: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80489a0: f5b3 7f00 cmp.w r3, #512 ; 0x200 80489a4: d3c5 bcc.n 8048932 } } } if(d == cbChecked) // Åñëè èìÿ ôàéëà âêëþ÷èëè â ñïèñîê óäàëÿåìûõ ôàéëîâ 80489a6: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80489aa: 2b01 cmp r3, #1 80489ac: f041 8456 bne.w 804a25c { // Èùåì ïåðâóþ ñâîáîäíóþ ÿ÷åéêó â áóôåðå if(NumFilesDelete < MAX_CHECKED_FILES) 80489b0: 4b50 ldr r3, [pc, #320] ; (8048af4 ) 80489b2: 681b ldr r3, [r3, #0] 80489b4: f5b3 7f00 cmp.w r3, #512 ; 0x200 80489b8: f081 8450 bcs.w 804a25c { for(i = 0; i < MAX_CHECKED_FILES; i++) 80489bc: 2300 movs r3, #0 80489be: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80489c2: e02f b.n 8048a24 { if(StrRAM(i, 0) == 0) 80489c4: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80489c8: 4613 mov r3, r2 80489ca: 009b lsls r3, r3, #2 80489cc: 4413 add r3, r2 80489ce: 00db lsls r3, r3, #3 80489d0: 461a mov r2, r3 80489d2: 4b47 ldr r3, [pc, #284] ; (8048af0 ) 80489d4: 4413 add r3, r2 80489d6: 781b ldrb r3, [r3, #0] 80489d8: 2b00 cmp r3, #0 80489da: d11e bne.n 8048a1a { strcpy(&StrRAM(i, 0), ExplorerFiles[CursorIndex].fname); 80489dc: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80489e0: 4613 mov r3, r2 80489e2: 009b lsls r3, r3, #2 80489e4: 4413 add r3, r2 80489e6: 00db lsls r3, r3, #3 80489e8: 461a mov r2, r3 80489ea: 4b41 ldr r3, [pc, #260] ; (8048af0 ) 80489ec: 4413 add r3, r2 80489ee: 4618 mov r0, r3 80489f0: 4b3d ldr r3, [pc, #244] ; (8048ae8 ) 80489f2: 681a ldr r2, [r3, #0] 80489f4: 4613 mov r3, r2 80489f6: 00db lsls r3, r3, #3 80489f8: 1a9b subs r3, r3, r2 80489fa: 00db lsls r3, r3, #3 80489fc: 3308 adds r3, #8 80489fe: 4a3b ldr r2, [pc, #236] ; (8048aec ) 8048a00: 4413 add r3, r2 8048a02: 3304 adds r3, #4 8048a04: 4619 mov r1, r3 8048a06: f089 fbea bl 80d21de NumFilesDelete++; 8048a0a: 4b3a ldr r3, [pc, #232] ; (8048af4 ) 8048a0c: 681b ldr r3, [r3, #0] 8048a0e: 3301 adds r3, #1 8048a10: 4a38 ldr r2, [pc, #224] ; (8048af4 ) 8048a12: 6013 str r3, [r2, #0] break; 8048a14: bf00 nop if(menupos == UpNo) menupos = UpYes; else if(menupos == UpYes) menupos = UpNo; break; 8048a16: f001 bc21 b.w 804a25c for(i = 0; i < MAX_CHECKED_FILES; i++) 8048a1a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8048a1e: 3301 adds r3, #1 8048a20: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8048a24: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8048a28: f5b3 7f00 cmp.w r3, #512 ; 0x200 8048a2c: d3ca bcc.n 80489c4 break; 8048a2e: f001 bc15 b.w 804a25c if(menupos == UpNo) 8048a32: 4b31 ldr r3, [pc, #196] ; (8048af8 ) 8048a34: 781b ldrb r3, [r3, #0] 8048a36: b2db uxtb r3, r3 8048a38: 2b06 cmp r3, #6 8048a3a: d104 bne.n 8048a46 menupos = UpYes; 8048a3c: 4b2e ldr r3, [pc, #184] ; (8048af8 ) 8048a3e: 2207 movs r2, #7 8048a40: 701a strb r2, [r3, #0] break; 8048a42: f001 bc0b b.w 804a25c if(menupos == UpYes) 8048a46: 4b2c ldr r3, [pc, #176] ; (8048af8 ) 8048a48: 781b ldrb r3, [r3, #0] 8048a4a: b2db uxtb r3, r3 8048a4c: 2b07 cmp r3, #7 8048a4e: f041 8405 bne.w 804a25c menupos = UpNo; 8048a52: 4b29 ldr r3, [pc, #164] ; (8048af8 ) 8048a54: 2206 movs r2, #6 8048a56: 701a strb r2, [r3, #0] break; 8048a58: f001 bc00 b.w 804a25c case PARAM_UDAR: switch(menupos) 8048a5c: 4b26 ldr r3, [pc, #152] ; (8048af8 ) 8048a5e: 781b ldrb r3, [r3, #0] 8048a60: b2db uxtb r3, r3 8048a62: 3b03 subs r3, #3 8048a64: 2b09 cmp r3, #9 8048a66: d849 bhi.n 8048afc 8048a68: a201 add r2, pc, #4 ; (adr r2, 8048a70 ) 8048a6a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048a6e: bf00 nop 8048a70: 08048a99 .word 0x08048a99 8048a74: 08048aa1 .word 0x08048aa1 8048a78: 08048aa9 .word 0x08048aa9 8048a7c: 08048ab1 .word 0x08048ab1 8048a80: 08048ab9 .word 0x08048ab9 8048a84: 08048ac1 .word 0x08048ac1 8048a88: 08048ac9 .word 0x08048ac9 8048a8c: 08048ad1 .word 0x08048ad1 8048a90: 08048ad9 .word 0x08048ad9 8048a94: 08048ae1 .word 0x08048ae1 { case UdarRate_IET: menupos = UdarRate_IES; break; 8048a98: 4b17 ldr r3, [pc, #92] ; (8048af8 ) 8048a9a: 2204 movs r2, #4 8048a9c: 701a strb r2, [r3, #0] 8048a9e: e031 b.n 8048b04 case UdarRate_IES: menupos = UdarRate_IED; break; 8048aa0: 4b15 ldr r3, [pc, #84] ; (8048af8 ) 8048aa2: 2205 movs r2, #5 8048aa4: 701a strb r2, [r3, #0] 8048aa6: e02d b.n 8048b04 case UdarRate_IED: menupos = UdarRate_IEE; break; 8048aa8: 4b13 ldr r3, [pc, #76] ; (8048af8 ) 8048aaa: 2206 movs r2, #6 8048aac: 701a strb r2, [r3, #0] 8048aae: e029 b.n 8048b04 case UdarRate_IEE: menupos = UdarRate_IET; break; 8048ab0: 4b11 ldr r3, [pc, #68] ; (8048af8 ) 8048ab2: 2203 movs r2, #3 8048ab4: 701a strb r2, [r3, #0] 8048ab6: e025 b.n 8048b04 case UdarInner_IES: menupos = UdarInner_IED; break; 8048ab8: 4b0f ldr r3, [pc, #60] ; (8048af8 ) 8048aba: 2208 movs r2, #8 8048abc: 701a strb r2, [r3, #0] 8048abe: e021 b.n 8048b04 case UdarInner_IED: menupos = UdarInner_IEE; break; 8048ac0: 4b0d ldr r3, [pc, #52] ; (8048af8 ) 8048ac2: 2209 movs r2, #9 8048ac4: 701a strb r2, [r3, #0] 8048ac6: e01d b.n 8048b04 case UdarInner_IEE: menupos = UdarInner_IKD; break; 8048ac8: 4b0b ldr r3, [pc, #44] ; (8048af8 ) 8048aca: 220a movs r2, #10 8048acc: 701a strb r2, [r3, #0] 8048ace: e019 b.n 8048b04 case UdarInner_IKD: menupos = UdarInner_IKS; break; 8048ad0: 4b09 ldr r3, [pc, #36] ; (8048af8 ) 8048ad2: 220b movs r2, #11 8048ad4: 701a strb r2, [r3, #0] 8048ad6: e015 b.n 8048b04 case UdarInner_IKS: menupos = UdarInner_IKT; break; 8048ad8: 4b07 ldr r3, [pc, #28] ; (8048af8 ) 8048ada: 220c movs r2, #12 8048adc: 701a strb r2, [r3, #0] 8048ade: e011 b.n 8048b04 case UdarInner_IKT: menupos = UdarInner_IES; break; 8048ae0: 4b05 ldr r3, [pc, #20] ; (8048af8 ) 8048ae2: 2207 movs r2, #7 8048ae4: 701a strb r2, [r3, #0] 8048ae6: e00d b.n 8048b04 8048ae8: 20020e00 .word 0x20020e00 8048aec: 200223a0 .word 0x200223a0 8048af0: 6404b000 .word 0x6404b000 8048af4: 20020e30 .word 0x20020e30 8048af8: 20020070 .word 0x20020070 default: menupos = Ok; 8048afc: 4bc2 ldr r3, [pc, #776] ; (8048e08 ) 8048afe: 2200 movs r2, #0 8048b00: 701a strb r2, [r3, #0] break; 8048b02: bf00 nop } break; 8048b04: f001 bbdd b.w 804a2c2 case PARAM_ROLL: switch(menupos) 8048b08: 4bbf ldr r3, [pc, #764] ; (8048e08 ) 8048b0a: 781b ldrb r3, [r3, #0] 8048b0c: b2db uxtb r3, r3 8048b0e: 3b01 subs r3, #1 8048b10: 2b2a cmp r3, #42 ; 0x2a 8048b12: f201 83a6 bhi.w 804a262 8048b16: a201 add r2, pc, #4 ; (adr r2, 8048b1c ) 8048b18: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048b1c: 08048cd9 .word 0x08048cd9 8048b20: 08048d43 .word 0x08048d43 8048b24: 08048d43 .word 0x08048d43 8048b28: 08048d43 .word 0x08048d43 8048b2c: 08048d43 .word 0x08048d43 8048b30: 08048d0f .word 0x08048d0f 8048b34: 08048d43 .word 0x08048d43 8048b38: 08048d43 .word 0x08048d43 8048b3c: 08048d43 .word 0x08048d43 8048b40: 08048be9 .word 0x08048be9 8048b44: 08048bf1 .word 0x08048bf1 8048b48: 08048bf9 .word 0x08048bf9 8048b4c: 08048c01 .word 0x08048c01 8048b50: 08048c09 .word 0x08048c09 8048b54: 08048c11 .word 0x08048c11 8048b58: 08048c19 .word 0x08048c19 8048b5c: 08048c21 .word 0x08048c21 8048b60: 08048c29 .word 0x08048c29 8048b64: 08048c31 .word 0x08048c31 8048b68: 08048c39 .word 0x08048c39 8048b6c: 08048c41 .word 0x08048c41 8048b70: 08048c49 .word 0x08048c49 8048b74: 08048c51 .word 0x08048c51 8048b78: 08048c59 .word 0x08048c59 8048b7c: 08048c61 .word 0x08048c61 8048b80: 08048c69 .word 0x08048c69 8048b84: 08048c71 .word 0x08048c71 8048b88: 08048c79 .word 0x08048c79 8048b8c: 08048c81 .word 0x08048c81 8048b90: 08048c89 .word 0x08048c89 8048b94: 08048c91 .word 0x08048c91 8048b98: 08048c99 .word 0x08048c99 8048b9c: 08048ca1 .word 0x08048ca1 8048ba0: 08048bc9 .word 0x08048bc9 8048ba4: 08048bd1 .word 0x08048bd1 8048ba8: 08048bd9 .word 0x08048bd9 8048bac: 08048be1 .word 0x08048be1 8048bb0: 08048ca9 .word 0x08048ca9 8048bb4: 08048cb1 .word 0x08048cb1 8048bb8: 08048cb9 .word 0x08048cb9 8048bbc: 08048cc1 .word 0x08048cc1 8048bc0: 08048cc9 .word 0x08048cc9 8048bc4: 08048cd1 .word 0x08048cd1 { case D_Rate_IET: menupos = D_Rate_IES; break; 8048bc8: 4b8f ldr r3, [pc, #572] ; (8048e08 ) 8048bca: 2223 movs r2, #35 ; 0x23 8048bcc: 701a strb r2, [r3, #0] 8048bce: e0bc b.n 8048d4a case D_Rate_IES: menupos = D_Rate_IED; break; 8048bd0: 4b8d ldr r3, [pc, #564] ; (8048e08 ) 8048bd2: 2224 movs r2, #36 ; 0x24 8048bd4: 701a strb r2, [r3, #0] 8048bd6: e0b8 b.n 8048d4a case D_Rate_IED: menupos = D_Rate_IEE; break; 8048bd8: 4b8b ldr r3, [pc, #556] ; (8048e08 ) 8048bda: 2225 movs r2, #37 ; 0x25 8048bdc: 701a strb r2, [r3, #0] 8048bde: e0b4 b.n 8048d4a case D_Rate_IEE: menupos = D_Rate_IET; break; 8048be0: 4b89 ldr r3, [pc, #548] ; (8048e08 ) 8048be2: 2222 movs r2, #34 ; 0x22 8048be4: 701a strb r2, [r3, #0] 8048be6: e0b0 b.n 8048d4a case D_Roll_IES: menupos = D_Roll_IED; break; 8048be8: 4b87 ldr r3, [pc, #540] ; (8048e08 ) 8048bea: 220b movs r2, #11 8048bec: 701a strb r2, [r3, #0] 8048bee: e0ac b.n 8048d4a case D_Roll_IED: menupos = D_Roll_IEE; break; 8048bf0: 4b85 ldr r3, [pc, #532] ; (8048e08 ) 8048bf2: 220c movs r2, #12 8048bf4: 701a strb r2, [r3, #0] 8048bf6: e0a8 b.n 8048d4a case D_Roll_IEE: menupos = D_Roll_IKD; break; 8048bf8: 4b83 ldr r3, [pc, #524] ; (8048e08 ) 8048bfa: 220d movs r2, #13 8048bfc: 701a strb r2, [r3, #0] 8048bfe: e0a4 b.n 8048d4a case D_Roll_IKD: menupos = D_Roll_IKS; break; 8048c00: 4b81 ldr r3, [pc, #516] ; (8048e08 ) 8048c02: 220e movs r2, #14 8048c04: 701a strb r2, [r3, #0] 8048c06: e0a0 b.n 8048d4a case D_Roll_IKS: menupos = D_Roll_IKT; break; 8048c08: 4b7f ldr r3, [pc, #508] ; (8048e08 ) 8048c0a: 220f movs r2, #15 8048c0c: 701a strb r2, [r3, #0] 8048c0e: e09c b.n 8048d4a case D_Roll_IKT: menupos = D_Roll_IES; break; 8048c10: 4b7d ldr r3, [pc, #500] ; (8048e08 ) 8048c12: 220a movs r2, #10 8048c14: 701a strb r2, [r3, #0] 8048c16: e098 b.n 8048d4a case D_Outer_IES: menupos = D_Outer_IED; break; 8048c18: 4b7b ldr r3, [pc, #492] ; (8048e08 ) 8048c1a: 2211 movs r2, #17 8048c1c: 701a strb r2, [r3, #0] 8048c1e: e094 b.n 8048d4a case D_Outer_IED: menupos = D_Outer_IEE; break; 8048c20: 4b79 ldr r3, [pc, #484] ; (8048e08 ) 8048c22: 2212 movs r2, #18 8048c24: 701a strb r2, [r3, #0] 8048c26: e090 b.n 8048d4a case D_Outer_IEE: menupos = D_Outer_IKD; break; 8048c28: 4b77 ldr r3, [pc, #476] ; (8048e08 ) 8048c2a: 2213 movs r2, #19 8048c2c: 701a strb r2, [r3, #0] 8048c2e: e08c b.n 8048d4a case D_Outer_IKD: menupos = D_Outer_IKS; break; 8048c30: 4b75 ldr r3, [pc, #468] ; (8048e08 ) 8048c32: 2214 movs r2, #20 8048c34: 701a strb r2, [r3, #0] 8048c36: e088 b.n 8048d4a case D_Outer_IKS: menupos = D_Outer_IKT; break; 8048c38: 4b73 ldr r3, [pc, #460] ; (8048e08 ) 8048c3a: 2215 movs r2, #21 8048c3c: 701a strb r2, [r3, #0] 8048c3e: e084 b.n 8048d4a case D_Outer_IKT: menupos = D_Outer_IES; break; 8048c40: 4b71 ldr r3, [pc, #452] ; (8048e08 ) 8048c42: 2210 movs r2, #16 8048c44: 701a strb r2, [r3, #0] 8048c46: e080 b.n 8048d4a case D_Inner_IES: menupos = D_Inner_IED; break; 8048c48: 4b6f ldr r3, [pc, #444] ; (8048e08 ) 8048c4a: 2217 movs r2, #23 8048c4c: 701a strb r2, [r3, #0] 8048c4e: e07c b.n 8048d4a case D_Inner_IED: menupos = D_Inner_IEE; break; 8048c50: 4b6d ldr r3, [pc, #436] ; (8048e08 ) 8048c52: 2218 movs r2, #24 8048c54: 701a strb r2, [r3, #0] 8048c56: e078 b.n 8048d4a case D_Inner_IEE: menupos = D_Inner_IKD; break; 8048c58: 4b6b ldr r3, [pc, #428] ; (8048e08 ) 8048c5a: 2219 movs r2, #25 8048c5c: 701a strb r2, [r3, #0] 8048c5e: e074 b.n 8048d4a case D_Inner_IKD: menupos = D_Inner_IKS; break; 8048c60: 4b69 ldr r3, [pc, #420] ; (8048e08 ) 8048c62: 221a movs r2, #26 8048c64: 701a strb r2, [r3, #0] 8048c66: e070 b.n 8048d4a case D_Inner_IKS: menupos = D_Inner_IKT; break; 8048c68: 4b67 ldr r3, [pc, #412] ; (8048e08 ) 8048c6a: 221b movs r2, #27 8048c6c: 701a strb r2, [r3, #0] 8048c6e: e06c b.n 8048d4a case D_Inner_IKT: menupos = D_Inner_IES; break; 8048c70: 4b65 ldr r3, [pc, #404] ; (8048e08 ) 8048c72: 2216 movs r2, #22 8048c74: 701a strb r2, [r3, #0] 8048c76: e068 b.n 8048d4a case D_Angle_IES: menupos = D_Angle_IED; break; 8048c78: 4b63 ldr r3, [pc, #396] ; (8048e08 ) 8048c7a: 221d movs r2, #29 8048c7c: 701a strb r2, [r3, #0] 8048c7e: e064 b.n 8048d4a case D_Angle_IED: menupos = D_Angle_IEE; break; 8048c80: 4b61 ldr r3, [pc, #388] ; (8048e08 ) 8048c82: 221e movs r2, #30 8048c84: 701a strb r2, [r3, #0] 8048c86: e060 b.n 8048d4a case D_Angle_IEE: menupos = D_Angle_IKD; break; 8048c88: 4b5f ldr r3, [pc, #380] ; (8048e08 ) 8048c8a: 221f movs r2, #31 8048c8c: 701a strb r2, [r3, #0] 8048c8e: e05c b.n 8048d4a case D_Angle_IKD: menupos = D_Angle_IKS; break; 8048c90: 4b5d ldr r3, [pc, #372] ; (8048e08 ) 8048c92: 2220 movs r2, #32 8048c94: 701a strb r2, [r3, #0] 8048c96: e058 b.n 8048d4a case D_Angle_IKS: menupos = D_Angle_IKT; break; 8048c98: 4b5b ldr r3, [pc, #364] ; (8048e08 ) 8048c9a: 2221 movs r2, #33 ; 0x21 8048c9c: 701a strb r2, [r3, #0] 8048c9e: e054 b.n 8048d4a case D_Angle_IKT: menupos = D_Angle_IES; break; 8048ca0: 4b59 ldr r3, [pc, #356] ; (8048e08 ) 8048ca2: 221c movs r2, #28 8048ca4: 701a strb r2, [r3, #0] 8048ca6: e050 b.n 8048d4a case RollMax_IDT: menupos = RollMax_IET; break; 8048ca8: 4b57 ldr r3, [pc, #348] ; (8048e08 ) 8048caa: 2227 movs r2, #39 ; 0x27 8048cac: 701a strb r2, [r3, #0] 8048cae: e04c b.n 8048d4a case RollMax_IET: menupos = RollMax_IES; break; 8048cb0: 4b55 ldr r3, [pc, #340] ; (8048e08 ) 8048cb2: 2228 movs r2, #40 ; 0x28 8048cb4: 701a strb r2, [r3, #0] 8048cb6: e048 b.n 8048d4a case RollMax_IES: menupos = RollMax_IED; break; 8048cb8: 4b53 ldr r3, [pc, #332] ; (8048e08 ) 8048cba: 2229 movs r2, #41 ; 0x29 8048cbc: 701a strb r2, [r3, #0] 8048cbe: e044 b.n 8048d4a case RollMax_IED: menupos = RollMax_IEE; break; 8048cc0: 4b51 ldr r3, [pc, #324] ; (8048e08 ) 8048cc2: 222a movs r2, #42 ; 0x2a 8048cc4: 701a strb r2, [r3, #0] 8048cc6: e040 b.n 8048d4a case RollMax_IEE: menupos = RollMax_IKD; break; 8048cc8: 4b4f ldr r3, [pc, #316] ; (8048e08 ) 8048cca: 222b movs r2, #43 ; 0x2b 8048ccc: 701a strb r2, [r3, #0] 8048cce: e03c b.n 8048d4a case RollMax_IKD: menupos = RollMax_IDT; break; 8048cd0: 4b4d ldr r3, [pc, #308] ; (8048e08 ) 8048cd2: 2226 movs r2, #38 ; 0x26 8048cd4: 701a strb r2, [r3, #0] 8048cd6: e038 b.n 8048d4a case RollCount: if(focused) 8048cd8: 4b4c ldr r3, [pc, #304] ; (8048e0c ) 8048cda: 781b ldrb r3, [r3, #0] 8048cdc: b2db uxtb r3, r3 8048cde: 2b00 cmp r3, #0 8048ce0: d011 beq.n 8048d06 { if(pardata.ROLL_COUNT < 99) pardata.ROLL_COUNT++; 8048ce2: 4b4b ldr r3, [pc, #300] ; (8048e10 ) 8048ce4: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 8048ce8: 2b62 cmp r3, #98 ; 0x62 8048cea: d807 bhi.n 8048cfc 8048cec: 4b48 ldr r3, [pc, #288] ; (8048e10 ) 8048cee: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 8048cf2: 3301 adds r3, #1 8048cf4: 4a46 ldr r2, [pc, #280] ; (8048e10 ) 8048cf6: f8c2 30bc str.w r3, [r2, #188] ; 0xbc else pardata.ROLL_COUNT = 5; } else menupos = Ok; break; 8048cfa: e026 b.n 8048d4a else pardata.ROLL_COUNT = 5; 8048cfc: 4b44 ldr r3, [pc, #272] ; (8048e10 ) 8048cfe: 2205 movs r2, #5 8048d00: f8c3 20bc str.w r2, [r3, #188] ; 0xbc break; 8048d04: e021 b.n 8048d4a menupos = Ok; 8048d06: 4b40 ldr r3, [pc, #256] ; (8048e08 ) 8048d08: 2200 movs r2, #0 8048d0a: 701a strb r2, [r3, #0] break; 8048d0c: e01d b.n 8048d4a case RollAverage: if(focused) 8048d0e: 4b3f ldr r3, [pc, #252] ; (8048e0c ) 8048d10: 781b ldrb r3, [r3, #0] 8048d12: b2db uxtb r3, r3 8048d14: 2b00 cmp r3, #0 8048d16: d010 beq.n 8048d3a { if(pardata.AVG < AVG512) pardata.AVG++; 8048d18: 4b3d ldr r3, [pc, #244] ; (8048e10 ) 8048d1a: 7b5b ldrb r3, [r3, #13] 8048d1c: b2db uxtb r3, r3 8048d1e: 2b08 cmp r3, #8 8048d20: d807 bhi.n 8048d32 8048d22: 4b3b ldr r3, [pc, #236] ; (8048e10 ) 8048d24: 7b5b ldrb r3, [r3, #13] 8048d26: b2db uxtb r3, r3 8048d28: 3301 adds r3, #1 8048d2a: b2da uxtb r2, r3 8048d2c: 4b38 ldr r3, [pc, #224] ; (8048e10 ) 8048d2e: 735a strb r2, [r3, #13] else pardata.AVG = AVG1; } else menupos = Ok; break; 8048d30: e00b b.n 8048d4a else pardata.AVG = AVG1; 8048d32: 4b37 ldr r3, [pc, #220] ; (8048e10 ) 8048d34: 2200 movs r2, #0 8048d36: 735a strb r2, [r3, #13] break; 8048d38: e007 b.n 8048d4a menupos = Ok; 8048d3a: 4b33 ldr r3, [pc, #204] ; (8048e08 ) 8048d3c: 2200 movs r2, #0 8048d3e: 701a strb r2, [r3, #0] break; 8048d40: e003 b.n 8048d4a case D_Inner: case D_Outer: case D_Angle: case RollAutoKu: case RollMax_ALL: menupos = Ok; 8048d42: 4b31 ldr r3, [pc, #196] ; (8048e08 ) 8048d44: 2200 movs r2, #0 8048d46: 701a strb r2, [r3, #0] break; 8048d48: bf00 nop } break; 8048d4a: f001 ba8a b.w 804a262 case PARAM_VIB: switch(menupos) 8048d4e: 4b2e ldr r3, [pc, #184] ; (8048e08 ) 8048d50: 781b ldrb r3, [r3, #0] 8048d52: b2db uxtb r3, r3 8048d54: 3b02 subs r3, #2 8048d56: 2b22 cmp r3, #34 ; 0x22 8048d58: f201 8286 bhi.w 804a268 8048d5c: a201 add r2, pc, #4 ; (adr r2, 8048d64 ) 8048d5e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048d62: bf00 nop 8048d64: 08048e8d .word 0x08048e8d 8048d68: 08048ec1 .word 0x08048ec1 8048d6c: 08048ef5 .word 0x08048ef5 8048d70: 08048f35 .word 0x08048f35 8048d74: 08048f69 .word 0x08048f69 8048d78: 08048f69 .word 0x08048f69 8048d7c: 08048f69 .word 0x08048f69 8048d80: 08048f69 .word 0x08048f69 8048d84: 08048f29 .word 0x08048f29 8048d88: 08048df1 .word 0x08048df1 8048d8c: 08048df9 .word 0x08048df9 8048d90: 08048e01 .word 0x08048e01 8048d94: 08048e15 .word 0x08048e15 8048d98: 08048e1d .word 0x08048e1d 8048d9c: 08048e25 .word 0x08048e25 8048da0: 0804a269 .word 0x0804a269 8048da4: 0804a269 .word 0x0804a269 8048da8: 0804a269 .word 0x0804a269 8048dac: 0804a269 .word 0x0804a269 8048db0: 0804a269 .word 0x0804a269 8048db4: 0804a269 .word 0x0804a269 8048db8: 08048f69 .word 0x08048f69 8048dbc: 08048f69 .word 0x08048f69 8048dc0: 08048e2d .word 0x08048e2d 8048dc4: 08048e35 .word 0x08048e35 8048dc8: 08048e3d .word 0x08048e3d 8048dcc: 08048e45 .word 0x08048e45 8048dd0: 08048e4d .word 0x08048e4d 8048dd4: 08048e55 .word 0x08048e55 8048dd8: 08048e5d .word 0x08048e5d 8048ddc: 08048e65 .word 0x08048e65 8048de0: 08048e6d .word 0x08048e6d 8048de4: 08048e75 .word 0x08048e75 8048de8: 08048e7d .word 0x08048e7d 8048dec: 08048e85 .word 0x08048e85 { case VibMax_IDT: menupos = VibMax_IET; break; 8048df0: 4b05 ldr r3, [pc, #20] ; (8048e08 ) 8048df2: 220c movs r2, #12 8048df4: 701a strb r2, [r3, #0] 8048df6: e0bb b.n 8048f70 case VibMax_IET: menupos = VibMax_IES; break; 8048df8: 4b03 ldr r3, [pc, #12] ; (8048e08 ) 8048dfa: 220d movs r2, #13 8048dfc: 701a strb r2, [r3, #0] 8048dfe: e0b7 b.n 8048f70 case VibMax_IES: menupos = VibMax_IED; break; 8048e00: 4b01 ldr r3, [pc, #4] ; (8048e08 ) 8048e02: 220e movs r2, #14 8048e04: 701a strb r2, [r3, #0] 8048e06: e0b3 b.n 8048f70 8048e08: 20020070 .word 0x20020070 8048e0c: 20020fd0 .word 0x20020fd0 8048e10: 20023eb8 .word 0x20023eb8 case VibMax_IED: menupos = VibMax_IEE; break; 8048e14: 4bbb ldr r3, [pc, #748] ; (8049104 ) 8048e16: 220f movs r2, #15 8048e18: 701a strb r2, [r3, #0] 8048e1a: e0a9 b.n 8048f70 case VibMax_IEE: menupos = VibMax_IKD; break; 8048e1c: 4bb9 ldr r3, [pc, #740] ; (8049104 ) 8048e1e: 2210 movs r2, #16 8048e20: 701a strb r2, [r3, #0] 8048e22: e0a5 b.n 8048f70 case VibMax_IKD: menupos = VibMax_IDT; break; 8048e24: 4bb7 ldr r3, [pc, #732] ; (8049104 ) 8048e26: 220b movs r2, #11 8048e28: 701a strb r2, [r3, #0] 8048e2a: e0a1 b.n 8048f70 case FilterHP_IDT: menupos = FilterHP_IET; break; 8048e2c: 4bb5 ldr r3, [pc, #724] ; (8049104 ) 8048e2e: 221a movs r2, #26 8048e30: 701a strb r2, [r3, #0] 8048e32: e09d b.n 8048f70 case FilterHP_IET: menupos = FilterHP_IES; break; 8048e34: 4bb3 ldr r3, [pc, #716] ; (8049104 ) 8048e36: 221b movs r2, #27 8048e38: 701a strb r2, [r3, #0] 8048e3a: e099 b.n 8048f70 case FilterHP_IES: menupos = FilterHP_IED; break; 8048e3c: 4bb1 ldr r3, [pc, #708] ; (8049104 ) 8048e3e: 221c movs r2, #28 8048e40: 701a strb r2, [r3, #0] 8048e42: e095 b.n 8048f70 case FilterHP_IED: menupos = FilterHP_IEE; break; 8048e44: 4baf ldr r3, [pc, #700] ; (8049104 ) 8048e46: 221d movs r2, #29 8048e48: 701a strb r2, [r3, #0] 8048e4a: e091 b.n 8048f70 case FilterHP_IEE: menupos = FilterHP_IKD; break; 8048e4c: 4bad ldr r3, [pc, #692] ; (8049104 ) 8048e4e: 221e movs r2, #30 8048e50: 701a strb r2, [r3, #0] 8048e52: e08d b.n 8048f70 case FilterHP_IKD: menupos = FilterHP_IDT; break; 8048e54: 4bab ldr r3, [pc, #684] ; (8049104 ) 8048e56: 2219 movs r2, #25 8048e58: 701a strb r2, [r3, #0] 8048e5a: e089 b.n 8048f70 case FilterLP_IDT: menupos = FilterLP_IET; break; 8048e5c: 4ba9 ldr r3, [pc, #676] ; (8049104 ) 8048e5e: 2220 movs r2, #32 8048e60: 701a strb r2, [r3, #0] 8048e62: e085 b.n 8048f70 case FilterLP_IET: menupos = FilterLP_IES; break; 8048e64: 4ba7 ldr r3, [pc, #668] ; (8049104 ) 8048e66: 2221 movs r2, #33 ; 0x21 8048e68: 701a strb r2, [r3, #0] 8048e6a: e081 b.n 8048f70 case FilterLP_IES: menupos = FilterLP_IED; break; 8048e6c: 4ba5 ldr r3, [pc, #660] ; (8049104 ) 8048e6e: 2222 movs r2, #34 ; 0x22 8048e70: 701a strb r2, [r3, #0] 8048e72: e07d b.n 8048f70 case FilterLP_IED: menupos = FilterLP_IEE; break; 8048e74: 4ba3 ldr r3, [pc, #652] ; (8049104 ) 8048e76: 2223 movs r2, #35 ; 0x23 8048e78: 701a strb r2, [r3, #0] 8048e7a: e079 b.n 8048f70 case FilterLP_IEE: menupos = FilterLP_IKD; break; 8048e7c: 4ba1 ldr r3, [pc, #644] ; (8049104 ) 8048e7e: 2224 movs r2, #36 ; 0x24 8048e80: 701a strb r2, [r3, #0] 8048e82: e075 b.n 8048f70 case FilterLP_IKD: menupos = FilterLP_IDT; break; 8048e84: 4b9f ldr r3, [pc, #636] ; (8049104 ) 8048e86: 221f movs r2, #31 8048e88: 701a strb r2, [r3, #0] 8048e8a: e071 b.n 8048f70 case ValueA: if(focused) 8048e8c: 4b9e ldr r3, [pc, #632] ; (8049108 ) 8048e8e: 781b ldrb r3, [r3, #0] 8048e90: b2db uxtb r3, r3 8048e92: 2b00 cmp r3, #0 8048e94: d010 beq.n 8048eb8 { if(pardata.IVS[ACC] < EXCESS) pardata.IVS[ACC]++; 8048e96: 4b9d ldr r3, [pc, #628] ; (804910c ) 8048e98: 789b ldrb r3, [r3, #2] 8048e9a: b2db uxtb r3, r3 8048e9c: 2b03 cmp r3, #3 8048e9e: d807 bhi.n 8048eb0 8048ea0: 4b9a ldr r3, [pc, #616] ; (804910c ) 8048ea2: 789b ldrb r3, [r3, #2] 8048ea4: b2db uxtb r3, r3 8048ea6: 3301 adds r3, #1 8048ea8: b2da uxtb r2, r3 8048eaa: 4b98 ldr r3, [pc, #608] ; (804910c ) 8048eac: 709a strb r2, [r3, #2] else pardata.IVS[ACC] = PEAK; } else menupos = Ok; break; 8048eae: e05f b.n 8048f70 else pardata.IVS[ACC] = PEAK; 8048eb0: 4b96 ldr r3, [pc, #600] ; (804910c ) 8048eb2: 2200 movs r2, #0 8048eb4: 709a strb r2, [r3, #2] break; 8048eb6: e05b b.n 8048f70 menupos = Ok; 8048eb8: 4b92 ldr r3, [pc, #584] ; (8049104 ) 8048eba: 2200 movs r2, #0 8048ebc: 701a strb r2, [r3, #0] break; 8048ebe: e057 b.n 8048f70 case ValueV: if(focused) 8048ec0: 4b91 ldr r3, [pc, #580] ; (8049108 ) 8048ec2: 781b ldrb r3, [r3, #0] 8048ec4: b2db uxtb r3, r3 8048ec6: 2b00 cmp r3, #0 8048ec8: d010 beq.n 8048eec { if(pardata.IVS[VEL] < EXCESS) pardata.IVS[VEL]++; 8048eca: 4b90 ldr r3, [pc, #576] ; (804910c ) 8048ecc: 78db ldrb r3, [r3, #3] 8048ece: b2db uxtb r3, r3 8048ed0: 2b03 cmp r3, #3 8048ed2: d807 bhi.n 8048ee4 8048ed4: 4b8d ldr r3, [pc, #564] ; (804910c ) 8048ed6: 78db ldrb r3, [r3, #3] 8048ed8: b2db uxtb r3, r3 8048eda: 3301 adds r3, #1 8048edc: b2da uxtb r2, r3 8048ede: 4b8b ldr r3, [pc, #556] ; (804910c ) 8048ee0: 70da strb r2, [r3, #3] else pardata.IVS[VEL] = PEAK; } else menupos = Ok; break; 8048ee2: e045 b.n 8048f70 else pardata.IVS[VEL] = PEAK; 8048ee4: 4b89 ldr r3, [pc, #548] ; (804910c ) 8048ee6: 2200 movs r2, #0 8048ee8: 70da strb r2, [r3, #3] break; 8048eea: e041 b.n 8048f70 menupos = Ok; 8048eec: 4b85 ldr r3, [pc, #532] ; (8049104 ) 8048eee: 2200 movs r2, #0 8048ef0: 701a strb r2, [r3, #0] break; 8048ef2: e03d b.n 8048f70 case ValueS: if(focused) 8048ef4: 4b84 ldr r3, [pc, #528] ; (8049108 ) 8048ef6: 781b ldrb r3, [r3, #0] 8048ef8: b2db uxtb r3, r3 8048efa: 2b00 cmp r3, #0 8048efc: d010 beq.n 8048f20 { if(pardata.IVS[DIS] < EXCESS) pardata.IVS[DIS]++; 8048efe: 4b83 ldr r3, [pc, #524] ; (804910c ) 8048f00: 791b ldrb r3, [r3, #4] 8048f02: b2db uxtb r3, r3 8048f04: 2b03 cmp r3, #3 8048f06: d807 bhi.n 8048f18 8048f08: 4b80 ldr r3, [pc, #512] ; (804910c ) 8048f0a: 791b ldrb r3, [r3, #4] 8048f0c: b2db uxtb r3, r3 8048f0e: 3301 adds r3, #1 8048f10: b2da uxtb r2, r3 8048f12: 4b7e ldr r3, [pc, #504] ; (804910c ) 8048f14: 711a strb r2, [r3, #4] else pardata.IVS[DIS] = PEAK; } else menupos = Ok; break; 8048f16: e02b b.n 8048f70 else pardata.IVS[DIS] = PEAK; 8048f18: 4b7c ldr r3, [pc, #496] ; (804910c ) 8048f1a: 2200 movs r2, #0 8048f1c: 711a strb r2, [r3, #4] break; 8048f1e: e027 b.n 8048f70 menupos = Ok; 8048f20: 4b78 ldr r3, [pc, #480] ; (8049104 ) 8048f22: 2200 movs r2, #0 8048f24: 701a strb r2, [r3, #0] break; 8048f26: e023 b.n 8048f70 case SaveToFile: memset(MeasFileName, 0, sizeof(MeasFileName)); 8048f28: 2221 movs r2, #33 ; 0x21 8048f2a: 2100 movs r1, #0 8048f2c: 4878 ldr r0, [pc, #480] ; (8049110 ) 8048f2e: f089 f839 bl 80d1fa4 break; 8048f32: e01d b.n 8048f70 case Average: if(focused) 8048f34: 4b74 ldr r3, [pc, #464] ; (8049108 ) 8048f36: 781b ldrb r3, [r3, #0] 8048f38: b2db uxtb r3, r3 8048f3a: 2b00 cmp r3, #0 8048f3c: d010 beq.n 8048f60 { if(pardata.AVG < AVG512) pardata.AVG++; 8048f3e: 4b73 ldr r3, [pc, #460] ; (804910c ) 8048f40: 7b5b ldrb r3, [r3, #13] 8048f42: b2db uxtb r3, r3 8048f44: 2b08 cmp r3, #8 8048f46: d807 bhi.n 8048f58 8048f48: 4b70 ldr r3, [pc, #448] ; (804910c ) 8048f4a: 7b5b ldrb r3, [r3, #13] 8048f4c: b2db uxtb r3, r3 8048f4e: 3301 adds r3, #1 8048f50: b2da uxtb r2, r3 8048f52: 4b6e ldr r3, [pc, #440] ; (804910c ) 8048f54: 735a strb r2, [r3, #13] else pardata.AVG = AVG1; } else menupos = Ok; break; 8048f56: e00b b.n 8048f70 else pardata.AVG = AVG1; 8048f58: 4b6c ldr r3, [pc, #432] ; (804910c ) 8048f5a: 2200 movs r2, #0 8048f5c: 735a strb r2, [r3, #13] break; 8048f5e: e007 b.n 8048f70 menupos = Ok; 8048f60: 4b68 ldr r3, [pc, #416] ; (8049104 ) 8048f62: 2200 movs r2, #0 8048f64: 701a strb r2, [r3, #0] break; 8048f66: e003 b.n 8048f70 case FilterLP: case ViewFreq: case VibAutoKu: case Mediana: case VibMax_ALL: menupos = Ok; 8048f68: 4b66 ldr r3, [pc, #408] ; (8049104 ) 8048f6a: 2200 movs r2, #0 8048f6c: 701a strb r2, [r3, #0] break; 8048f6e: bf00 nop } break; 8048f70: f001 b97a b.w 804a268 case PARAM_SPEC: switch(menupos) 8048f74: 4b63 ldr r3, [pc, #396] ; (8049104 ) 8048f76: 781b ldrb r3, [r3, #0] 8048f78: b2db uxtb r3, r3 8048f7a: 3b01 subs r3, #1 8048f7c: 2b23 cmp r3, #35 ; 0x23 8048f7e: f201 8176 bhi.w 804a26e 8048f82: a201 add r2, pc, #4 ; (adr r2, 8048f88 ) 8048f84: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048f88: 08049023 .word 0x08049023 8048f8c: 08049589 .word 0x08049589 8048f90: 0804a26f .word 0x0804a26f 8048f94: 080498ab .word 0x080498ab 8048f98: 08049913 .word 0x08049913 8048f9c: 080498df .word 0x080498df 8048fa0: 0804993f .word 0x0804993f 8048fa4: 08049019 .word 0x08049019 8048fa8: 08049019 .word 0x08049019 8048fac: 0804a26f .word 0x0804a26f 8048fb0: 080494f9 .word 0x080494f9 8048fb4: 08049501 .word 0x08049501 8048fb8: 08049509 .word 0x08049509 8048fbc: 08049511 .word 0x08049511 8048fc0: 08049519 .word 0x08049519 8048fc4: 08049521 .word 0x08049521 8048fc8: 0804a26f .word 0x0804a26f 8048fcc: 0804a26f .word 0x0804a26f 8048fd0: 0804a26f .word 0x0804a26f 8048fd4: 0804a26f .word 0x0804a26f 8048fd8: 0804a26f .word 0x0804a26f 8048fdc: 0804a26f .word 0x0804a26f 8048fe0: 08049019 .word 0x08049019 8048fe4: 08049019 .word 0x08049019 8048fe8: 08049529 .word 0x08049529 8048fec: 08049531 .word 0x08049531 8048ff0: 08049539 .word 0x08049539 8048ff4: 08049541 .word 0x08049541 8048ff8: 08049549 .word 0x08049549 8048ffc: 08049551 .word 0x08049551 8049000: 08049559 .word 0x08049559 8049004: 08049561 .word 0x08049561 8049008: 08049569 .word 0x08049569 804900c: 08049571 .word 0x08049571 8049010: 08049579 .word 0x08049579 8049014: 08049581 .word 0x08049581 { case VibMax_ALL: case VibAutoKu: case FilterHP: case FilterLP: menupos = Ok; 8049018: 4b3a ldr r3, [pc, #232] ; (8049104 ) 804901a: 2200 movs r2, #0 804901c: 701a strb r2, [r3, #0] break; 804901e: f000 bca9 b.w 8049974 case SpecType: if(focused) 8049022: 4b39 ldr r3, [pc, #228] ; (8049108 ) 8049024: 781b ldrb r3, [r3, #0] 8049026: b2db uxtb r3, r3 8049028: 2b00 cmp r3, #0 804902a: f000 8260 beq.w 80494ee { if((pardata.OPTIONS & maskFFT) == fft) 804902e: 4b37 ldr r3, [pc, #220] ; (804910c ) 8049030: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8049034: f003 0330 and.w r3, r3, #48 ; 0x30 8049038: 2b00 cmp r3, #0 804903a: f040 8086 bne.w 804914a { pardata.OPTIONS &= ~maskFFT; 804903e: 4b33 ldr r3, [pc, #204] ; (804910c ) 8049040: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8049044: f023 0330 bic.w r3, r3, #48 ; 0x30 8049048: 4a30 ldr r2, [pc, #192] ; (804910c ) 804904a: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= env; 804904e: 4b2f ldr r3, [pc, #188] ; (804910c ) 8049050: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8049054: f043 0310 orr.w r3, r3, #16 8049058: 4a2c ldr r2, [pc, #176] ; (804910c ) 804905a: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 804905e: 4b2b ldr r3, [pc, #172] ; (804910c ) 8049060: 785b ldrb r3, [r3, #1] 8049062: b2db uxtb r3, r3 8049064: 461a mov r2, r3 8049066: 4b29 ldr r3, [pc, #164] ; (804910c ) 8049068: 4413 add r3, r2 804906a: 789b ldrb r3, [r3, #2] 804906c: b2db uxtb r3, r3 804906e: 2b01 cmp r3, #1 8049070: d907 bls.n 8049082 pardata.IVS[pardata.IPR] = PEAK; 8049072: 4b26 ldr r3, [pc, #152] ; (804910c ) 8049074: 785b ldrb r3, [r3, #1] 8049076: b2db uxtb r3, r3 8049078: 461a mov r2, r3 804907a: 4b24 ldr r3, [pc, #144] ; (804910c ) 804907c: 4413 add r3, r2 804907e: 2200 movs r2, #0 8049080: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8049082: 4b22 ldr r3, [pc, #136] ; (804910c ) 8049084: 785b ldrb r3, [r3, #1] 8049086: b2db uxtb r3, r3 8049088: 2b00 cmp r3, #0 804908a: d00e beq.n 80490aa 804908c: 4b1f ldr r3, [pc, #124] ; (804910c ) 804908e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8049092: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8049096: eef4 7ac7 vcmpe.f32 s15, s14 804909a: eef1 fa10 vmrs APSR_nzcv, fpscr 804909e: d504 bpl.n 80490aa pardata.HP = 2.0f; 80490a0: 4b1a ldr r3, [pc, #104] ; (804910c ) 80490a2: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80490a6: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 80490aa: 2309 movs r3, #9 80490ac: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 80490b0: e045 b.n 804913e { f = (float32_t) FS[k] / pardata.LP; 80490b2: 4a18 ldr r2, [pc, #96] ; (8049114 ) 80490b4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80490b8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80490bc: ee07 3a90 vmov s15, r3 80490c0: eef8 6a67 vcvt.f32.u32 s13, s15 80490c4: 4b11 ldr r3, [pc, #68] ; (804910c ) 80490c6: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80490ca: eec6 7a87 vdiv.f32 s15, s13, s14 80490ce: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 80490d2: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80490d6: ed9f 7a10 vldr s14, [pc, #64] ; 8049118 80490da: ee77 7a87 vadd.f32 s15, s15, s14 80490de: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 80490e2: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80490e6: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 80490ea: eef4 7ac7 vcmpe.f32 s15, s14 80490ee: eef1 fa10 vmrs APSR_nzcv, fpscr 80490f2: d513 bpl.n 804911c { pardata.FRQ = k + 1; 80490f4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80490f8: b2db uxtb r3, r3 80490fa: 3301 adds r3, #1 80490fc: b2da uxtb r2, r3 80490fe: 4b03 ldr r3, [pc, #12] ; (804910c ) 8049100: 72da strb r2, [r3, #11] break; 8049102: e1f8 b.n 80494f6 8049104: 20020070 .word 0x20020070 8049108: 20020fd0 .word 0x20020fd0 804910c: 20023eb8 .word 0x20023eb8 8049110: 20020e80 .word 0x20020e80 8049114: 080f5268 .word 0x080f5268 8049118: 38d1b717 .word 0x38d1b717 } else { if(k > 0) 804911c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8049120: 2b00 cmp r3, #0 8049122: d004 beq.n 804912e k--; 8049124: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8049128: 3b01 subs r3, #1 804912a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 804912e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8049132: 2b00 cmp r3, #0 8049134: d103 bne.n 804913e { pardata.FRQ = _125Hz; 8049136: 4ba9 ldr r3, [pc, #676] ; (80493dc ) 8049138: 2200 movs r2, #0 804913a: 72da strb r2, [r3, #11] break; 804913c: e1db b.n 80494f6 while(k > _125Hz) 804913e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8049142: 2b00 cmp r3, #0 8049144: d1b5 bne.n 80490b2 } } } else menupos = Ok; break; 8049146: f000 bc14 b.w 8049972 if((pardata.OPTIONS & maskFFT) == env) 804914a: 4ba4 ldr r3, [pc, #656] ; (80493dc ) 804914c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8049150: f003 0330 and.w r3, r3, #48 ; 0x30 8049154: 2b10 cmp r3, #16 8049156: f040 80a0 bne.w 804929a pardata.OPTIONS &= ~maskFFT; 804915a: 4ba0 ldr r3, [pc, #640] ; (80493dc ) 804915c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8049160: f023 0330 bic.w r3, r3, #48 ; 0x30 8049164: 4a9d ldr r2, [pc, #628] ; (80493dc ) 8049166: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= okt; 804916a: 4b9c ldr r3, [pc, #624] ; (80493dc ) 804916c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8049170: f043 0320 orr.w r3, r3, #32 8049174: 4a99 ldr r2, [pc, #612] ; (80493dc ) 8049176: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 804917a: 4b98 ldr r3, [pc, #608] ; (80493dc ) 804917c: 785b ldrb r3, [r3, #1] 804917e: b2db uxtb r3, r3 8049180: 461a mov r2, r3 8049182: 4b96 ldr r3, [pc, #600] ; (80493dc ) 8049184: 4413 add r3, r2 8049186: 789b ldrb r3, [r3, #2] 8049188: b2db uxtb r3, r3 804918a: 2b01 cmp r3, #1 804918c: d907 bls.n 804919e pardata.IVS[pardata.IPR] = PEAK; 804918e: 4b93 ldr r3, [pc, #588] ; (80493dc ) 8049190: 785b ldrb r3, [r3, #1] 8049192: b2db uxtb r3, r3 8049194: 461a mov r2, r3 8049196: 4b91 ldr r3, [pc, #580] ; (80493dc ) 8049198: 4413 add r3, r2 804919a: 2200 movs r2, #0 804919c: 709a strb r2, [r3, #2] pardata.LNE = N3200; 804919e: 4b8f ldr r3, [pc, #572] ; (80493dc ) 80491a0: 2203 movs r2, #3 80491a2: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 80491a4: 4b8d ldr r3, [pc, #564] ; (80493dc ) 80491a6: 2209 movs r2, #9 80491a8: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 80491aa: 4b8c ldr r3, [pc, #560] ; (80493dc ) 80491ac: 785b ldrb r3, [r3, #1] 80491ae: b2db uxtb r3, r3 80491b0: 2b00 cmp r3, #0 80491b2: d00e beq.n 80491d2 80491b4: 4b89 ldr r3, [pc, #548] ; (80493dc ) 80491b6: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80491ba: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80491be: eef4 7ac7 vcmpe.f32 s15, s14 80491c2: eef1 fa10 vmrs APSR_nzcv, fpscr 80491c6: d504 bpl.n 80491d2 pardata.HP = 2.0f; 80491c8: 4b84 ldr r3, [pc, #528] ; (80493dc ) 80491ca: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80491ce: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 80491d2: 4b82 ldr r3, [pc, #520] ; (80493dc ) 80491d4: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 80491d8: 4b80 ldr r3, [pc, #512] ; (80493dc ) 80491da: 7adb ldrb r3, [r3, #11] 80491dc: b2db uxtb r3, r3 80491de: 461a mov r2, r3 80491e0: 4b7f ldr r3, [pc, #508] ; (80493e0 ) 80491e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80491e6: ee07 3a90 vmov s15, r3 80491ea: eef8 6a67 vcvt.f32.u32 s13, s15 80491ee: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 80491f2: eec6 7a86 vdiv.f32 s15, s13, s12 80491f6: eddf 6a7b vldr s13, [pc, #492] ; 80493e4 80491fa: ee77 7aa6 vadd.f32 s15, s15, s13 80491fe: eeb4 7ae7 vcmpe.f32 s14, s15 8049202: eef1 fa10 vmrs APSR_nzcv, fpscr 8049206: dd15 ble.n 8049234 pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8049208: 4b74 ldr r3, [pc, #464] ; (80493dc ) 804920a: 7adb ldrb r3, [r3, #11] 804920c: b2db uxtb r3, r3 804920e: 461a mov r2, r3 8049210: 4b73 ldr r3, [pc, #460] ; (80493e0 ) 8049212: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8049216: 4a74 ldr r2, [pc, #464] ; (80493e8 ) 8049218: fba2 2303 umull r2, r3, r2, r3 804921c: 089b lsrs r3, r3, #2 804921e: ee07 3a90 vmov s15, r3 8049222: eef8 7a67 vcvt.f32.u32 s15, s15 8049226: ed9f 7a71 vldr s14, [pc, #452] ; 80493ec 804922a: ee77 7a87 vadd.f32 s15, s15, s14 804922e: 4b6b ldr r3, [pc, #428] ; (80493dc ) 8049230: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8049234: 4b69 ldr r3, [pc, #420] ; (80493dc ) 8049236: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 804923a: 4b68 ldr r3, [pc, #416] ; (80493dc ) 804923c: 7adb ldrb r3, [r3, #11] 804923e: b2db uxtb r3, r3 8049240: 461a mov r2, r3 8049242: 4b67 ldr r3, [pc, #412] ; (80493e0 ) 8049244: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8049248: ee07 3a90 vmov s15, r3 804924c: eef8 6a67 vcvt.f32.u32 s13, s15 8049250: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8049254: eec6 7a86 vdiv.f32 s15, s13, s12 8049258: eddf 6a62 vldr s13, [pc, #392] ; 80493e4 804925c: ee77 7aa6 vadd.f32 s15, s15, s13 8049260: eeb4 7ae7 vcmpe.f32 s14, s15 8049264: eef1 fa10 vmrs APSR_nzcv, fpscr 8049268: dc00 bgt.n 804926c break; 804926a: e382 b.n 8049972 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 804926c: 4b5b ldr r3, [pc, #364] ; (80493dc ) 804926e: 7adb ldrb r3, [r3, #11] 8049270: b2db uxtb r3, r3 8049272: 461a mov r2, r3 8049274: 4b5a ldr r3, [pc, #360] ; (80493e0 ) 8049276: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804927a: 4a5b ldr r2, [pc, #364] ; (80493e8 ) 804927c: fba2 2303 umull r2, r3, r2, r3 8049280: 089b lsrs r3, r3, #2 8049282: ee07 3a90 vmov s15, r3 8049286: eef8 7a67 vcvt.f32.u32 s15, s15 804928a: ed9f 7a58 vldr s14, [pc, #352] ; 80493ec 804928e: ee77 7a87 vadd.f32 s15, s15, s14 8049292: 4b52 ldr r3, [pc, #328] ; (80493dc ) 8049294: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8049298: e36b b.n 8049972 if((pardata.OPTIONS & maskFFT) == okt) 804929a: 4b50 ldr r3, [pc, #320] ; (80493dc ) 804929c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80492a0: f003 0330 and.w r3, r3, #48 ; 0x30 80492a4: 2b20 cmp r3, #32 80492a6: f040 80a3 bne.w 80493f0 pardata.OPTIONS &= ~maskFFT; 80492aa: 4b4c ldr r3, [pc, #304] ; (80493dc ) 80492ac: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80492b0: f023 0330 bic.w r3, r3, #48 ; 0x30 80492b4: 4a49 ldr r2, [pc, #292] ; (80493dc ) 80492b6: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= third; 80492ba: 4b48 ldr r3, [pc, #288] ; (80493dc ) 80492bc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80492c0: f043 0330 orr.w r3, r3, #48 ; 0x30 80492c4: 4a45 ldr r2, [pc, #276] ; (80493dc ) 80492c6: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 80492ca: 4b44 ldr r3, [pc, #272] ; (80493dc ) 80492cc: 785b ldrb r3, [r3, #1] 80492ce: b2db uxtb r3, r3 80492d0: 461a mov r2, r3 80492d2: 4b42 ldr r3, [pc, #264] ; (80493dc ) 80492d4: 4413 add r3, r2 80492d6: 789b ldrb r3, [r3, #2] 80492d8: b2db uxtb r3, r3 80492da: 2b01 cmp r3, #1 80492dc: d907 bls.n 80492ee pardata.IVS[pardata.IPR] = PEAK; 80492de: 4b3f ldr r3, [pc, #252] ; (80493dc ) 80492e0: 785b ldrb r3, [r3, #1] 80492e2: b2db uxtb r3, r3 80492e4: 461a mov r2, r3 80492e6: 4b3d ldr r3, [pc, #244] ; (80493dc ) 80492e8: 4413 add r3, r2 80492ea: 2200 movs r2, #0 80492ec: 709a strb r2, [r3, #2] pardata.LNE = N3200; 80492ee: 4b3b ldr r3, [pc, #236] ; (80493dc ) 80492f0: 2203 movs r2, #3 80492f2: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 80492f4: 4b39 ldr r3, [pc, #228] ; (80493dc ) 80492f6: 2209 movs r2, #9 80492f8: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 80492fa: 4b38 ldr r3, [pc, #224] ; (80493dc ) 80492fc: 785b ldrb r3, [r3, #1] 80492fe: b2db uxtb r3, r3 8049300: 2b00 cmp r3, #0 8049302: d00e beq.n 8049322 8049304: 4b35 ldr r3, [pc, #212] ; (80493dc ) 8049306: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804930a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804930e: eef4 7ac7 vcmpe.f32 s15, s14 8049312: eef1 fa10 vmrs APSR_nzcv, fpscr 8049316: d504 bpl.n 8049322 pardata.HP = 2.0f; 8049318: 4b30 ldr r3, [pc, #192] ; (80493dc ) 804931a: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 804931e: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8049322: 4b2e ldr r3, [pc, #184] ; (80493dc ) 8049324: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8049328: 4b2c ldr r3, [pc, #176] ; (80493dc ) 804932a: 7adb ldrb r3, [r3, #11] 804932c: b2db uxtb r3, r3 804932e: 461a mov r2, r3 8049330: 4b2b ldr r3, [pc, #172] ; (80493e0 ) 8049332: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8049336: ee07 3a90 vmov s15, r3 804933a: eef8 6a67 vcvt.f32.u32 s13, s15 804933e: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8049342: eec6 7a86 vdiv.f32 s15, s13, s12 8049346: eeb4 7ae7 vcmpe.f32 s14, s15 804934a: eef1 fa10 vmrs APSR_nzcv, fpscr 804934e: dd15 ble.n 804937c pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8049350: 4b22 ldr r3, [pc, #136] ; (80493dc ) 8049352: 7adb ldrb r3, [r3, #11] 8049354: b2db uxtb r3, r3 8049356: 461a mov r2, r3 8049358: 4b21 ldr r3, [pc, #132] ; (80493e0 ) 804935a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804935e: ee07 3a90 vmov s15, r3 8049362: eeb8 7a67 vcvt.f32.u32 s14, s15 8049366: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 804936a: eec7 7a26 vdiv.f32 s15, s14, s13 804936e: ed9f 7a1f vldr s14, [pc, #124] ; 80493ec 8049372: ee77 7a87 vadd.f32 s15, s15, s14 8049376: 4b19 ldr r3, [pc, #100] ; (80493dc ) 8049378: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 804937c: 4b17 ldr r3, [pc, #92] ; (80493dc ) 804937e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8049382: 4b16 ldr r3, [pc, #88] ; (80493dc ) 8049384: 7adb ldrb r3, [r3, #11] 8049386: b2db uxtb r3, r3 8049388: 461a mov r2, r3 804938a: 4b15 ldr r3, [pc, #84] ; (80493e0 ) 804938c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8049390: ee07 3a90 vmov s15, r3 8049394: eef8 6a67 vcvt.f32.u32 s13, s15 8049398: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 804939c: eec6 7a86 vdiv.f32 s15, s13, s12 80493a0: eeb4 7ae7 vcmpe.f32 s14, s15 80493a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80493a8: dc00 bgt.n 80493ac break; 80493aa: e2e2 b.n 8049972 pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 80493ac: 4b0b ldr r3, [pc, #44] ; (80493dc ) 80493ae: 7adb ldrb r3, [r3, #11] 80493b0: b2db uxtb r3, r3 80493b2: 461a mov r2, r3 80493b4: 4b0a ldr r3, [pc, #40] ; (80493e0 ) 80493b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80493ba: ee07 3a90 vmov s15, r3 80493be: eeb8 7a67 vcvt.f32.u32 s14, s15 80493c2: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 80493c6: eec7 7a26 vdiv.f32 s15, s14, s13 80493ca: ed9f 7a08 vldr s14, [pc, #32] ; 80493ec 80493ce: ee77 7a87 vadd.f32 s15, s15, s14 80493d2: 4b02 ldr r3, [pc, #8] ; (80493dc ) 80493d4: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 80493d8: e2cb b.n 8049972 80493da: bf00 nop 80493dc: 20023eb8 .word 0x20023eb8 80493e0: 080f5268 .word 0x080f5268 80493e4: 3851b717 .word 0x3851b717 80493e8: cccccccd .word 0xcccccccd 80493ec: 38d1b717 .word 0x38d1b717 if((pardata.OPTIONS & maskFFT) == third) 80493f0: 4bac ldr r3, [pc, #688] ; (80496a4 ) 80493f2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80493f6: f003 0330 and.w r3, r3, #48 ; 0x30 80493fa: 2b30 cmp r3, #48 ; 0x30 80493fc: f040 82b9 bne.w 8049972 pardata.OPTIONS &= ~maskFFT; 8049400: 4ba8 ldr r3, [pc, #672] ; (80496a4 ) 8049402: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8049406: f023 0330 bic.w r3, r3, #48 ; 0x30 804940a: 4aa6 ldr r2, [pc, #664] ; (80496a4 ) 804940c: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= fft; 8049410: 4ba4 ldr r3, [pc, #656] ; (80496a4 ) 8049412: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8049416: 4aa3 ldr r2, [pc, #652] ; (80496a4 ) 8049418: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 804941c: 4ba1 ldr r3, [pc, #644] ; (80496a4 ) 804941e: 785b ldrb r3, [r3, #1] 8049420: b2db uxtb r3, r3 8049422: 461a mov r2, r3 8049424: 4b9f ldr r3, [pc, #636] ; (80496a4 ) 8049426: 4413 add r3, r2 8049428: 789b ldrb r3, [r3, #2] 804942a: b2db uxtb r3, r3 804942c: 2b01 cmp r3, #1 804942e: d907 bls.n 8049440 pardata.IVS[pardata.IPR] = PEAK; 8049430: 4b9c ldr r3, [pc, #624] ; (80496a4 ) 8049432: 785b ldrb r3, [r3, #1] 8049434: b2db uxtb r3, r3 8049436: 461a mov r2, r3 8049438: 4b9a ldr r3, [pc, #616] ; (80496a4 ) 804943a: 4413 add r3, r2 804943c: 2200 movs r2, #0 804943e: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8049440: 4b98 ldr r3, [pc, #608] ; (80496a4 ) 8049442: 785b ldrb r3, [r3, #1] 8049444: b2db uxtb r3, r3 8049446: 2b00 cmp r3, #0 8049448: d00e beq.n 8049468 804944a: 4b96 ldr r3, [pc, #600] ; (80496a4 ) 804944c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8049450: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8049454: eef4 7ac7 vcmpe.f32 s15, s14 8049458: eef1 fa10 vmrs APSR_nzcv, fpscr 804945c: d504 bpl.n 8049468 pardata.HP = 2.0f; 804945e: 4b91 ldr r3, [pc, #580] ; (80496a4 ) 8049460: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8049464: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 8049468: 2309 movs r3, #9 804946a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 804946e: e039 b.n 80494e4 f = (float32_t) FS[k] / pardata.LP; 8049470: 4a8d ldr r2, [pc, #564] ; (80496a8 ) 8049472: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8049476: f852 3023 ldr.w r3, [r2, r3, lsl #2] 804947a: ee07 3a90 vmov s15, r3 804947e: eef8 6a67 vcvt.f32.u32 s13, s15 8049482: 4b88 ldr r3, [pc, #544] ; (80496a4 ) 8049484: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8049488: eec6 7a87 vdiv.f32 s15, s13, s14 804948c: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8049490: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8049494: ed9f 7a85 vldr s14, [pc, #532] ; 80496ac 8049498: ee77 7a87 vadd.f32 s15, s15, s14 804949c: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 80494a0: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80494a4: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 80494a8: eef4 7ac7 vcmpe.f32 s15, s14 80494ac: eef1 fa10 vmrs APSR_nzcv, fpscr 80494b0: d507 bpl.n 80494c2 pardata.FRQ = k + 1; 80494b2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80494b6: b2db uxtb r3, r3 80494b8: 3301 adds r3, #1 80494ba: b2da uxtb r2, r3 80494bc: 4b79 ldr r3, [pc, #484] ; (80496a4 ) 80494be: 72da strb r2, [r3, #11] break; 80494c0: e019 b.n 80494f6 if(k > 0) 80494c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80494c6: 2b00 cmp r3, #0 80494c8: d004 beq.n 80494d4 k--; 80494ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80494ce: 3b01 subs r3, #1 80494d0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 80494d4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80494d8: 2b00 cmp r3, #0 80494da: d103 bne.n 80494e4 pardata.FRQ = _125Hz; 80494dc: 4b71 ldr r3, [pc, #452] ; (80496a4 ) 80494de: 2200 movs r2, #0 80494e0: 72da strb r2, [r3, #11] break; 80494e2: e008 b.n 80494f6 while(k > _125Hz) 80494e4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80494e8: 2b00 cmp r3, #0 80494ea: d1c1 bne.n 8049470 break; 80494ec: e241 b.n 8049972 menupos = Ok; 80494ee: 4b70 ldr r3, [pc, #448] ; (80496b0 ) 80494f0: 2200 movs r2, #0 80494f2: 701a strb r2, [r3, #0] break; 80494f4: e23d b.n 8049972 80494f6: e23c b.n 8049972 case VibMax_IDT: menupos = VibMax_IET; break; 80494f8: 4b6d ldr r3, [pc, #436] ; (80496b0 ) 80494fa: 220c movs r2, #12 80494fc: 701a strb r2, [r3, #0] 80494fe: e239 b.n 8049974 case VibMax_IET: menupos = VibMax_IES; break; 8049500: 4b6b ldr r3, [pc, #428] ; (80496b0 ) 8049502: 220d movs r2, #13 8049504: 701a strb r2, [r3, #0] 8049506: e235 b.n 8049974 case VibMax_IES: menupos = VibMax_IED; break; 8049508: 4b69 ldr r3, [pc, #420] ; (80496b0 ) 804950a: 220e movs r2, #14 804950c: 701a strb r2, [r3, #0] 804950e: e231 b.n 8049974 case VibMax_IED: menupos = VibMax_IEE; break; 8049510: 4b67 ldr r3, [pc, #412] ; (80496b0 ) 8049512: 220f movs r2, #15 8049514: 701a strb r2, [r3, #0] 8049516: e22d b.n 8049974 case VibMax_IEE: menupos = VibMax_IKD; break; 8049518: 4b65 ldr r3, [pc, #404] ; (80496b0 ) 804951a: 2210 movs r2, #16 804951c: 701a strb r2, [r3, #0] 804951e: e229 b.n 8049974 case VibMax_IKD: menupos = VibMax_IDT; break; 8049520: 4b63 ldr r3, [pc, #396] ; (80496b0 ) 8049522: 220b movs r2, #11 8049524: 701a strb r2, [r3, #0] 8049526: e225 b.n 8049974 case FilterHP_IDT: menupos = FilterHP_IET; break; 8049528: 4b61 ldr r3, [pc, #388] ; (80496b0 ) 804952a: 221a movs r2, #26 804952c: 701a strb r2, [r3, #0] 804952e: e221 b.n 8049974 case FilterHP_IET: menupos = FilterHP_IES; break; 8049530: 4b5f ldr r3, [pc, #380] ; (80496b0 ) 8049532: 221b movs r2, #27 8049534: 701a strb r2, [r3, #0] 8049536: e21d b.n 8049974 case FilterHP_IES: menupos = FilterHP_IED; break; 8049538: 4b5d ldr r3, [pc, #372] ; (80496b0 ) 804953a: 221c movs r2, #28 804953c: 701a strb r2, [r3, #0] 804953e: e219 b.n 8049974 case FilterHP_IED: menupos = FilterHP_IEE; break; 8049540: 4b5b ldr r3, [pc, #364] ; (80496b0 ) 8049542: 221d movs r2, #29 8049544: 701a strb r2, [r3, #0] 8049546: e215 b.n 8049974 case FilterHP_IEE: menupos = FilterHP_IKD; break; 8049548: 4b59 ldr r3, [pc, #356] ; (80496b0 ) 804954a: 221e movs r2, #30 804954c: 701a strb r2, [r3, #0] 804954e: e211 b.n 8049974 case FilterHP_IKD: menupos = FilterHP_IDT; break; 8049550: 4b57 ldr r3, [pc, #348] ; (80496b0 ) 8049552: 2219 movs r2, #25 8049554: 701a strb r2, [r3, #0] 8049556: e20d b.n 8049974 case FilterLP_IDT: menupos = FilterLP_IET; break; 8049558: 4b55 ldr r3, [pc, #340] ; (80496b0 ) 804955a: 2220 movs r2, #32 804955c: 701a strb r2, [r3, #0] 804955e: e209 b.n 8049974 case FilterLP_IET: menupos = FilterLP_IES; break; 8049560: 4b53 ldr r3, [pc, #332] ; (80496b0 ) 8049562: 2221 movs r2, #33 ; 0x21 8049564: 701a strb r2, [r3, #0] 8049566: e205 b.n 8049974 case FilterLP_IES: menupos = FilterLP_IED; break; 8049568: 4b51 ldr r3, [pc, #324] ; (80496b0 ) 804956a: 2222 movs r2, #34 ; 0x22 804956c: 701a strb r2, [r3, #0] 804956e: e201 b.n 8049974 case FilterLP_IED: menupos = FilterLP_IEE; break; 8049570: 4b4f ldr r3, [pc, #316] ; (80496b0 ) 8049572: 2223 movs r2, #35 ; 0x23 8049574: 701a strb r2, [r3, #0] 8049576: e1fd b.n 8049974 case FilterLP_IEE: menupos = FilterLP_IKD; break; 8049578: 4b4d ldr r3, [pc, #308] ; (80496b0 ) 804957a: 2224 movs r2, #36 ; 0x24 804957c: 701a strb r2, [r3, #0] 804957e: e1f9 b.n 8049974 case FilterLP_IKD: menupos = FilterLP_IDT; break; 8049580: 4b4b ldr r3, [pc, #300] ; (80496b0 ) 8049582: 221f movs r2, #31 8049584: 701a strb r2, [r3, #0] 8049586: e1f5 b.n 8049974 case SpecValue: if(focused) 8049588: 4b4a ldr r3, [pc, #296] ; (80496b4 ) 804958a: 781b ldrb r3, [r3, #0] 804958c: b2db uxtb r3, r3 804958e: 2b00 cmp r3, #0 8049590: f000 8187 beq.w 80498a2 { if((pardata.IPR == ACC) && (pardata.IVS[pardata.IPR] == PEAK)) 8049594: 4b43 ldr r3, [pc, #268] ; (80496a4 ) 8049596: 785b ldrb r3, [r3, #1] 8049598: b2db uxtb r3, r3 804959a: 2b00 cmp r3, #0 804959c: d115 bne.n 80495ca 804959e: 4b41 ldr r3, [pc, #260] ; (80496a4 ) 80495a0: 785b ldrb r3, [r3, #1] 80495a2: b2db uxtb r3, r3 80495a4: 461a mov r2, r3 80495a6: 4b3f ldr r3, [pc, #252] ; (80496a4 ) 80495a8: 4413 add r3, r2 80495aa: 789b ldrb r3, [r3, #2] 80495ac: b2db uxtb r3, r3 80495ae: 2b00 cmp r3, #0 80495b0: d10b bne.n 80495ca { pardata.IPR = ACC; 80495b2: 4b3c ldr r3, [pc, #240] ; (80496a4 ) 80495b4: 2200 movs r2, #0 80495b6: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 80495b8: 4b3a ldr r3, [pc, #232] ; (80496a4 ) 80495ba: 785b ldrb r3, [r3, #1] 80495bc: b2db uxtb r3, r3 80495be: 461a mov r2, r3 80495c0: 4b38 ldr r3, [pc, #224] ; (80496a4 ) 80495c2: 4413 add r3, r2 80495c4: 2201 movs r2, #1 80495c6: 709a strb r2, [r3, #2] 80495c8: e090 b.n 80496ec } else if((pardata.IPR == ACC) && (pardata.IVS[pardata.IPR] == RMS)) 80495ca: 4b36 ldr r3, [pc, #216] ; (80496a4 ) 80495cc: 785b ldrb r3, [r3, #1] 80495ce: b2db uxtb r3, r3 80495d0: 2b00 cmp r3, #0 80495d2: d115 bne.n 8049600 80495d4: 4b33 ldr r3, [pc, #204] ; (80496a4 ) 80495d6: 785b ldrb r3, [r3, #1] 80495d8: b2db uxtb r3, r3 80495da: 461a mov r2, r3 80495dc: 4b31 ldr r3, [pc, #196] ; (80496a4 ) 80495de: 4413 add r3, r2 80495e0: 789b ldrb r3, [r3, #2] 80495e2: b2db uxtb r3, r3 80495e4: 2b01 cmp r3, #1 80495e6: d10b bne.n 8049600 { pardata.IPR = VEL; 80495e8: 4b2e ldr r3, [pc, #184] ; (80496a4 ) 80495ea: 2201 movs r2, #1 80495ec: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 80495ee: 4b2d ldr r3, [pc, #180] ; (80496a4 ) 80495f0: 785b ldrb r3, [r3, #1] 80495f2: b2db uxtb r3, r3 80495f4: 461a mov r2, r3 80495f6: 4b2b ldr r3, [pc, #172] ; (80496a4 ) 80495f8: 4413 add r3, r2 80495fa: 2200 movs r2, #0 80495fc: 709a strb r2, [r3, #2] 80495fe: e075 b.n 80496ec } else if((pardata.IPR == VEL) && (pardata.IVS[pardata.IPR] == PEAK)) 8049600: 4b28 ldr r3, [pc, #160] ; (80496a4 ) 8049602: 785b ldrb r3, [r3, #1] 8049604: b2db uxtb r3, r3 8049606: 2b01 cmp r3, #1 8049608: d115 bne.n 8049636 804960a: 4b26 ldr r3, [pc, #152] ; (80496a4 ) 804960c: 785b ldrb r3, [r3, #1] 804960e: b2db uxtb r3, r3 8049610: 461a mov r2, r3 8049612: 4b24 ldr r3, [pc, #144] ; (80496a4 ) 8049614: 4413 add r3, r2 8049616: 789b ldrb r3, [r3, #2] 8049618: b2db uxtb r3, r3 804961a: 2b00 cmp r3, #0 804961c: d10b bne.n 8049636 { pardata.IPR = VEL; 804961e: 4b21 ldr r3, [pc, #132] ; (80496a4 ) 8049620: 2201 movs r2, #1 8049622: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 8049624: 4b1f ldr r3, [pc, #124] ; (80496a4 ) 8049626: 785b ldrb r3, [r3, #1] 8049628: b2db uxtb r3, r3 804962a: 461a mov r2, r3 804962c: 4b1d ldr r3, [pc, #116] ; (80496a4 ) 804962e: 4413 add r3, r2 8049630: 2201 movs r2, #1 8049632: 709a strb r2, [r3, #2] 8049634: e05a b.n 80496ec } else if((pardata.IPR == VEL) && (pardata.IVS[pardata.IPR] == RMS)) 8049636: 4b1b ldr r3, [pc, #108] ; (80496a4 ) 8049638: 785b ldrb r3, [r3, #1] 804963a: b2db uxtb r3, r3 804963c: 2b01 cmp r3, #1 804963e: d115 bne.n 804966c 8049640: 4b18 ldr r3, [pc, #96] ; (80496a4 ) 8049642: 785b ldrb r3, [r3, #1] 8049644: b2db uxtb r3, r3 8049646: 461a mov r2, r3 8049648: 4b16 ldr r3, [pc, #88] ; (80496a4 ) 804964a: 4413 add r3, r2 804964c: 789b ldrb r3, [r3, #2] 804964e: b2db uxtb r3, r3 8049650: 2b01 cmp r3, #1 8049652: d10b bne.n 804966c { pardata.IPR = DIS; 8049654: 4b13 ldr r3, [pc, #76] ; (80496a4 ) 8049656: 2202 movs r2, #2 8049658: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 804965a: 4b12 ldr r3, [pc, #72] ; (80496a4 ) 804965c: 785b ldrb r3, [r3, #1] 804965e: b2db uxtb r3, r3 8049660: 461a mov r2, r3 8049662: 4b10 ldr r3, [pc, #64] ; (80496a4 ) 8049664: 4413 add r3, r2 8049666: 2200 movs r2, #0 8049668: 709a strb r2, [r3, #2] 804966a: e03f b.n 80496ec } else if((pardata.IPR == DIS) && (pardata.IVS[pardata.IPR] == PEAK)) 804966c: 4b0d ldr r3, [pc, #52] ; (80496a4 ) 804966e: 785b ldrb r3, [r3, #1] 8049670: b2db uxtb r3, r3 8049672: 2b02 cmp r3, #2 8049674: d120 bne.n 80496b8 8049676: 4b0b ldr r3, [pc, #44] ; (80496a4 ) 8049678: 785b ldrb r3, [r3, #1] 804967a: b2db uxtb r3, r3 804967c: 461a mov r2, r3 804967e: 4b09 ldr r3, [pc, #36] ; (80496a4 ) 8049680: 4413 add r3, r2 8049682: 789b ldrb r3, [r3, #2] 8049684: b2db uxtb r3, r3 8049686: 2b00 cmp r3, #0 8049688: d116 bne.n 80496b8 { pardata.IPR = DIS; 804968a: 4b06 ldr r3, [pc, #24] ; (80496a4 ) 804968c: 2202 movs r2, #2 804968e: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 8049690: 4b04 ldr r3, [pc, #16] ; (80496a4 ) 8049692: 785b ldrb r3, [r3, #1] 8049694: b2db uxtb r3, r3 8049696: 461a mov r2, r3 8049698: 4b02 ldr r3, [pc, #8] ; (80496a4 ) 804969a: 4413 add r3, r2 804969c: 2201 movs r2, #1 804969e: 709a strb r2, [r3, #2] 80496a0: e024 b.n 80496ec 80496a2: bf00 nop 80496a4: 20023eb8 .word 0x20023eb8 80496a8: 080f5268 .word 0x080f5268 80496ac: 38d1b717 .word 0x38d1b717 80496b0: 20020070 .word 0x20020070 80496b4: 20020fd0 .word 0x20020fd0 } else if((pardata.IPR == DIS) && (pardata.IVS[pardata.IPR] == RMS)) 80496b8: 4baf ldr r3, [pc, #700] ; (8049978 ) 80496ba: 785b ldrb r3, [r3, #1] 80496bc: b2db uxtb r3, r3 80496be: 2b02 cmp r3, #2 80496c0: d114 bne.n 80496ec 80496c2: 4bad ldr r3, [pc, #692] ; (8049978 ) 80496c4: 785b ldrb r3, [r3, #1] 80496c6: b2db uxtb r3, r3 80496c8: 461a mov r2, r3 80496ca: 4bab ldr r3, [pc, #684] ; (8049978 ) 80496cc: 4413 add r3, r2 80496ce: 789b ldrb r3, [r3, #2] 80496d0: b2db uxtb r3, r3 80496d2: 2b01 cmp r3, #1 80496d4: d10a bne.n 80496ec { pardata.IPR = ACC; 80496d6: 4ba8 ldr r3, [pc, #672] ; (8049978 ) 80496d8: 2200 movs r2, #0 80496da: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 80496dc: 4ba6 ldr r3, [pc, #664] ; (8049978 ) 80496de: 785b ldrb r3, [r3, #1] 80496e0: b2db uxtb r3, r3 80496e2: 461a mov r2, r3 80496e4: 4ba4 ldr r3, [pc, #656] ; (8049978 ) 80496e6: 4413 add r3, r2 80496e8: 2200 movs r2, #0 80496ea: 709a strb r2, [r3, #2] } if(pardata.IPR > ACC) 80496ec: 4ba2 ldr r3, [pc, #648] ; (8049978 ) 80496ee: 785b ldrb r3, [r3, #1] 80496f0: b2db uxtb r3, r3 80496f2: 2b00 cmp r3, #0 80496f4: d00e beq.n 8049714 { if(pardata.HP < 2.0f) 80496f6: 4ba0 ldr r3, [pc, #640] ; (8049978 ) 80496f8: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80496fc: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8049700: eef4 7ac7 vcmpe.f32 s15, s14 8049704: eef1 fa10 vmrs APSR_nzcv, fpscr 8049708: d504 bpl.n 8049714 pardata.HP = 2.0f; 804970a: 4b9b ldr r3, [pc, #620] ; (8049978 ) 804970c: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8049710: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } if((pardata.OPTIONS & maskFFT) < third) 8049714: 4b98 ldr r3, [pc, #608] ; (8049978 ) 8049716: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804971a: f003 0330 and.w r3, r3, #48 ; 0x30 804971e: 2b2f cmp r3, #47 ; 0x2f 8049720: d863 bhi.n 80497ea { if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8049722: 4b95 ldr r3, [pc, #596] ; (8049978 ) 8049724: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8049728: 4b93 ldr r3, [pc, #588] ; (8049978 ) 804972a: 7adb ldrb r3, [r3, #11] 804972c: b2db uxtb r3, r3 804972e: 461a mov r2, r3 8049730: 4b92 ldr r3, [pc, #584] ; (804997c ) 8049732: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8049736: ee07 3a90 vmov s15, r3 804973a: eef8 6a67 vcvt.f32.u32 s13, s15 804973e: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8049742: eec6 7a86 vdiv.f32 s15, s13, s12 8049746: eddf 6a8e vldr s13, [pc, #568] ; 8049980 804974a: ee77 7aa6 vadd.f32 s15, s15, s13 804974e: eeb4 7ae7 vcmpe.f32 s14, s15 8049752: eef1 fa10 vmrs APSR_nzcv, fpscr 8049756: dd15 ble.n 8049784 pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8049758: 4b87 ldr r3, [pc, #540] ; (8049978 ) 804975a: 7adb ldrb r3, [r3, #11] 804975c: b2db uxtb r3, r3 804975e: 461a mov r2, r3 8049760: 4b86 ldr r3, [pc, #536] ; (804997c ) 8049762: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8049766: 4a87 ldr r2, [pc, #540] ; (8049984 ) 8049768: fba2 2303 umull r2, r3, r2, r3 804976c: 089b lsrs r3, r3, #2 804976e: ee07 3a90 vmov s15, r3 8049772: eef8 7a67 vcvt.f32.u32 s15, s15 8049776: ed9f 7a84 vldr s14, [pc, #528] ; 8049988 804977a: ee77 7a87 vadd.f32 s15, s15, s14 804977e: 4b7e ldr r3, [pc, #504] ; (8049978 ) 8049780: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8049784: 4b7c ldr r3, [pc, #496] ; (8049978 ) 8049786: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 804978a: 4b7b ldr r3, [pc, #492] ; (8049978 ) 804978c: 7adb ldrb r3, [r3, #11] 804978e: b2db uxtb r3, r3 8049790: 461a mov r2, r3 8049792: 4b7a ldr r3, [pc, #488] ; (804997c ) 8049794: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8049798: ee07 3a90 vmov s15, r3 804979c: eef8 6a67 vcvt.f32.u32 s13, s15 80497a0: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 80497a4: eec6 7a86 vdiv.f32 s15, s13, s12 80497a8: eddf 6a75 vldr s13, [pc, #468] ; 8049980 80497ac: ee77 7aa6 vadd.f32 s15, s15, s13 80497b0: eeb4 7ae7 vcmpe.f32 s14, s15 80497b4: eef1 fa10 vmrs APSR_nzcv, fpscr 80497b8: dc00 bgt.n 80497bc pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; } } else menupos = Ok; break; 80497ba: e0db b.n 8049974 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 80497bc: 4b6e ldr r3, [pc, #440] ; (8049978 ) 80497be: 7adb ldrb r3, [r3, #11] 80497c0: b2db uxtb r3, r3 80497c2: 461a mov r2, r3 80497c4: 4b6d ldr r3, [pc, #436] ; (804997c ) 80497c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80497ca: 4a6e ldr r2, [pc, #440] ; (8049984 ) 80497cc: fba2 2303 umull r2, r3, r2, r3 80497d0: 089b lsrs r3, r3, #2 80497d2: ee07 3a90 vmov s15, r3 80497d6: eef8 7a67 vcvt.f32.u32 s15, s15 80497da: ed9f 7a6b vldr s14, [pc, #428] ; 8049988 80497de: ee77 7a87 vadd.f32 s15, s15, s14 80497e2: 4b65 ldr r3, [pc, #404] ; (8049978 ) 80497e4: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 80497e8: e0c4 b.n 8049974 if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 80497ea: 4b63 ldr r3, [pc, #396] ; (8049978 ) 80497ec: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 80497f0: 4b61 ldr r3, [pc, #388] ; (8049978 ) 80497f2: 7adb ldrb r3, [r3, #11] 80497f4: b2db uxtb r3, r3 80497f6: 461a mov r2, r3 80497f8: 4b60 ldr r3, [pc, #384] ; (804997c ) 80497fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80497fe: ee07 3a90 vmov s15, r3 8049802: eef8 6a67 vcvt.f32.u32 s13, s15 8049806: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 804980a: eec6 7a86 vdiv.f32 s15, s13, s12 804980e: eeb4 7ae7 vcmpe.f32 s14, s15 8049812: eef1 fa10 vmrs APSR_nzcv, fpscr 8049816: dd15 ble.n 8049844 pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8049818: 4b57 ldr r3, [pc, #348] ; (8049978 ) 804981a: 7adb ldrb r3, [r3, #11] 804981c: b2db uxtb r3, r3 804981e: 461a mov r2, r3 8049820: 4b56 ldr r3, [pc, #344] ; (804997c ) 8049822: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8049826: ee07 3a90 vmov s15, r3 804982a: eeb8 7a67 vcvt.f32.u32 s14, s15 804982e: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8049832: eec7 7a26 vdiv.f32 s15, s14, s13 8049836: ed9f 7a54 vldr s14, [pc, #336] ; 8049988 804983a: ee77 7a87 vadd.f32 s15, s15, s14 804983e: 4b4e ldr r3, [pc, #312] ; (8049978 ) 8049840: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8049844: 4b4c ldr r3, [pc, #304] ; (8049978 ) 8049846: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 804984a: 4b4b ldr r3, [pc, #300] ; (8049978 ) 804984c: 7adb ldrb r3, [r3, #11] 804984e: b2db uxtb r3, r3 8049850: 461a mov r2, r3 8049852: 4b4a ldr r3, [pc, #296] ; (804997c ) 8049854: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8049858: ee07 3a90 vmov s15, r3 804985c: eef8 6a67 vcvt.f32.u32 s13, s15 8049860: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8049864: eec6 7a86 vdiv.f32 s15, s13, s12 8049868: eeb4 7ae7 vcmpe.f32 s14, s15 804986c: eef1 fa10 vmrs APSR_nzcv, fpscr 8049870: dc00 bgt.n 8049874 break; 8049872: e07f b.n 8049974 pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8049874: 4b40 ldr r3, [pc, #256] ; (8049978 ) 8049876: 7adb ldrb r3, [r3, #11] 8049878: b2db uxtb r3, r3 804987a: 461a mov r2, r3 804987c: 4b3f ldr r3, [pc, #252] ; (804997c ) 804987e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8049882: ee07 3a90 vmov s15, r3 8049886: eeb8 7a67 vcvt.f32.u32 s14, s15 804988a: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 804988e: eec7 7a26 vdiv.f32 s15, s14, s13 8049892: ed9f 7a3d vldr s14, [pc, #244] ; 8049988 8049896: ee77 7a87 vadd.f32 s15, s15, s14 804989a: 4b37 ldr r3, [pc, #220] ; (8049978 ) 804989c: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 80498a0: e068 b.n 8049974 menupos = Ok; 80498a2: 4b3a ldr r3, [pc, #232] ; (804998c ) 80498a4: 2200 movs r2, #0 80498a6: 701a strb r2, [r3, #0] break; 80498a8: e064 b.n 8049974 case SpecLines: if(focused) 80498aa: 4b39 ldr r3, [pc, #228] ; (8049990 ) 80498ac: 781b ldrb r3, [r3, #0] 80498ae: b2db uxtb r3, r3 80498b0: 2b00 cmp r3, #0 80498b2: d010 beq.n 80498d6 { if(pardata.LNE > N400) pardata.LNE--; 80498b4: 4b30 ldr r3, [pc, #192] ; (8049978 ) 80498b6: 79db ldrb r3, [r3, #7] 80498b8: b2db uxtb r3, r3 80498ba: 2b00 cmp r3, #0 80498bc: d007 beq.n 80498ce 80498be: 4b2e ldr r3, [pc, #184] ; (8049978 ) 80498c0: 79db ldrb r3, [r3, #7] 80498c2: b2db uxtb r3, r3 80498c4: 3b01 subs r3, #1 80498c6: b2da uxtb r2, r3 80498c8: 4b2b ldr r3, [pc, #172] ; (8049978 ) 80498ca: 71da strb r2, [r3, #7] else pardata.LNE = N3200; } else menupos = Ok; break; 80498cc: e052 b.n 8049974 else pardata.LNE = N3200; 80498ce: 4b2a ldr r3, [pc, #168] ; (8049978 ) 80498d0: 2203 movs r2, #3 80498d2: 71da strb r2, [r3, #7] break; 80498d4: e04e b.n 8049974 menupos = Ok; 80498d6: 4b2d ldr r3, [pc, #180] ; (804998c ) 80498d8: 2200 movs r2, #0 80498da: 701a strb r2, [r3, #0] break; 80498dc: e04a b.n 8049974 case SpecWin: if(focused) 80498de: 4b2c ldr r3, [pc, #176] ; (8049990 ) 80498e0: 781b ldrb r3, [r3, #0] 80498e2: b2db uxtb r3, r3 80498e4: 2b00 cmp r3, #0 80498e6: d010 beq.n 804990a { if(pardata.WIN < HANN) pardata.WIN++; 80498e8: 4b23 ldr r3, [pc, #140] ; (8049978 ) 80498ea: 7a5b ldrb r3, [r3, #9] 80498ec: b2db uxtb r3, r3 80498ee: 2b00 cmp r3, #0 80498f0: d107 bne.n 8049902 80498f2: 4b21 ldr r3, [pc, #132] ; (8049978 ) 80498f4: 7a5b ldrb r3, [r3, #9] 80498f6: b2db uxtb r3, r3 80498f8: 3301 adds r3, #1 80498fa: b2da uxtb r2, r3 80498fc: 4b1e ldr r3, [pc, #120] ; (8049978 ) 80498fe: 725a strb r2, [r3, #9] else pardata.WIN = RECT; } else menupos = Ok; break; 8049900: e038 b.n 8049974 else pardata.WIN = RECT; 8049902: 4b1d ldr r3, [pc, #116] ; (8049978 ) 8049904: 2200 movs r2, #0 8049906: 725a strb r2, [r3, #9] break; 8049908: e034 b.n 8049974 menupos = Ok; 804990a: 4b20 ldr r3, [pc, #128] ; (804998c ) 804990c: 2200 movs r2, #0 804990e: 701a strb r2, [r3, #0] break; 8049910: e030 b.n 8049974 case LinLog: if(focused) 8049912: 4b1f ldr r3, [pc, #124] ; (8049990 ) 8049914: 781b ldrb r3, [r3, #0] 8049916: b2db uxtb r3, r3 8049918: 2b00 cmp r3, #0 804991a: d00c beq.n 8049936 { if(pardata.MSH == LOG) pardata.MSH = LIN; 804991c: 4b16 ldr r3, [pc, #88] ; (8049978 ) 804991e: 7a9b ldrb r3, [r3, #10] 8049920: b2db uxtb r3, r3 8049922: 2b01 cmp r3, #1 8049924: d103 bne.n 804992e 8049926: 4b14 ldr r3, [pc, #80] ; (8049978 ) 8049928: 2200 movs r2, #0 804992a: 729a strb r2, [r3, #10] else pardata.MSH = LOG; } else menupos = Ok; break; 804992c: e022 b.n 8049974 else pardata.MSH = LOG; 804992e: 4b12 ldr r3, [pc, #72] ; (8049978 ) 8049930: 2201 movs r2, #1 8049932: 729a strb r2, [r3, #10] break; 8049934: e01e b.n 8049974 menupos = Ok; 8049936: 4b15 ldr r3, [pc, #84] ; (804998c ) 8049938: 2200 movs r2, #0 804993a: 701a strb r2, [r3, #0] break; 804993c: e01a b.n 8049974 case SAverage: if(focused) 804993e: 4b14 ldr r3, [pc, #80] ; (8049990 ) 8049940: 781b ldrb r3, [r3, #0] 8049942: b2db uxtb r3, r3 8049944: 2b00 cmp r3, #0 8049946: d010 beq.n 804996a { if(pardata.AVG < AVG512) pardata.AVG++; 8049948: 4b0b ldr r3, [pc, #44] ; (8049978 ) 804994a: 7b5b ldrb r3, [r3, #13] 804994c: b2db uxtb r3, r3 804994e: 2b08 cmp r3, #8 8049950: d807 bhi.n 8049962 8049952: 4b09 ldr r3, [pc, #36] ; (8049978 ) 8049954: 7b5b ldrb r3, [r3, #13] 8049956: b2db uxtb r3, r3 8049958: 3301 adds r3, #1 804995a: b2da uxtb r2, r3 804995c: 4b06 ldr r3, [pc, #24] ; (8049978 ) 804995e: 735a strb r2, [r3, #13] else pardata.AVG = AVG1; } else menupos = Ok; break; 8049960: e008 b.n 8049974 else pardata.AVG = AVG1; 8049962: 4b05 ldr r3, [pc, #20] ; (8049978 ) 8049964: 2200 movs r2, #0 8049966: 735a strb r2, [r3, #13] break; 8049968: e004 b.n 8049974 menupos = Ok; 804996a: 4b08 ldr r3, [pc, #32] ; (804998c ) 804996c: 2200 movs r2, #0 804996e: 701a strb r2, [r3, #0] break; 8049970: e000 b.n 8049974 break; 8049972: bf00 nop } break; 8049974: f000 bc7b b.w 804a26e 8049978: 20023eb8 .word 0x20023eb8 804997c: 080f5268 .word 0x080f5268 8049980: 3851b717 .word 0x3851b717 8049984: cccccccd .word 0xcccccccd 8049988: 38d1b717 .word 0x38d1b717 804998c: 20020070 .word 0x20020070 8049990: 20020fd0 .word 0x20020fd0 case PARAM_OSC: switch(menupos) 8049994: 4bc4 ldr r3, [pc, #784] ; (8049ca8 ) 8049996: 781b ldrb r3, [r3, #0] 8049998: b2db uxtb r3, r3 804999a: 3b01 subs r3, #1 804999c: 2b23 cmp r3, #35 ; 0x23 804999e: f200 8469 bhi.w 804a274 80499a2: a201 add r2, pc, #4 ; (adr r2, 80499a8 ) 80499a4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80499a8: 08049a39 .word 0x08049a39 80499ac: 0804a275 .word 0x0804a275 80499b0: 08049b93 .word 0x08049b93 80499b4: 08049c43 .word 0x08049c43 80499b8: 08049d5d .word 0x08049d5d 80499bc: 08049d5d .word 0x08049d5d 80499c0: 08049d5d .word 0x08049d5d 80499c4: 08049d5d .word 0x08049d5d 80499c8: 08049cfd .word 0x08049cfd 80499cc: 08049d05 .word 0x08049d05 80499d0: 08049d0d .word 0x08049d0d 80499d4: 08049d15 .word 0x08049d15 80499d8: 08049d1d .word 0x08049d1d 80499dc: 08049d25 .word 0x08049d25 80499e0: 08049d2d .word 0x08049d2d 80499e4: 08049d35 .word 0x08049d35 80499e8: 08049d3d .word 0x08049d3d 80499ec: 08049d45 .word 0x08049d45 80499f0: 08049d4d .word 0x08049d4d 80499f4: 08049d55 .word 0x08049d55 80499f8: 0804a275 .word 0x0804a275 80499fc: 0804a275 .word 0x0804a275 8049a00: 08049d5d .word 0x08049d5d 8049a04: 08049d5d .word 0x08049d5d 8049a08: 08049c77 .word 0x08049c77 8049a0c: 08049c7f .word 0x08049c7f 8049a10: 08049c87 .word 0x08049c87 8049a14: 08049c8f .word 0x08049c8f 8049a18: 08049cbd .word 0x08049cbd 8049a1c: 08049cc5 .word 0x08049cc5 8049a20: 08049ccd .word 0x08049ccd 8049a24: 08049cd5 .word 0x08049cd5 8049a28: 08049cdd .word 0x08049cdd 8049a2c: 08049ce5 .word 0x08049ce5 8049a30: 08049ced .word 0x08049ced 8049a34: 08049cf5 .word 0x08049cf5 { case OscValue: if(focused) 8049a38: 4b9c ldr r3, [pc, #624] ; (8049cac ) 8049a3a: 781b ldrb r3, [r3, #0] 8049a3c: b2db uxtb r3, r3 8049a3e: 2b00 cmp r3, #0 8049a40: f000 80a3 beq.w 8049b8a { if(pardata.IPR < DIS) pardata.IPR++; 8049a44: 4b9a ldr r3, [pc, #616] ; (8049cb0 ) 8049a46: 785b ldrb r3, [r3, #1] 8049a48: b2db uxtb r3, r3 8049a4a: 2b01 cmp r3, #1 8049a4c: d807 bhi.n 8049a5e 8049a4e: 4b98 ldr r3, [pc, #608] ; (8049cb0 ) 8049a50: 785b ldrb r3, [r3, #1] 8049a52: b2db uxtb r3, r3 8049a54: 3301 adds r3, #1 8049a56: b2da uxtb r2, r3 8049a58: 4b95 ldr r3, [pc, #596] ; (8049cb0 ) 8049a5a: 705a strb r2, [r3, #1] 8049a5c: e002 b.n 8049a64 else pardata.IPR = ACC; 8049a5e: 4b94 ldr r3, [pc, #592] ; (8049cb0 ) 8049a60: 2200 movs r2, #0 8049a62: 705a strb r2, [r3, #1] if(pardata.IPR > ACC) 8049a64: 4b92 ldr r3, [pc, #584] ; (8049cb0 ) 8049a66: 785b ldrb r3, [r3, #1] 8049a68: b2db uxtb r3, r3 8049a6a: 2b00 cmp r3, #0 8049a6c: d01b beq.n 8049aa6 { if(pardata.HP < 2.0f) 8049a6e: 4b90 ldr r3, [pc, #576] ; (8049cb0 ) 8049a70: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8049a74: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8049a78: eef4 7ac7 vcmpe.f32 s15, s14 8049a7c: eef1 fa10 vmrs APSR_nzcv, fpscr 8049a80: d504 bpl.n 8049a8c pardata.HP = 2.0f; 8049a82: 4b8b ldr r3, [pc, #556] ; (8049cb0 ) 8049a84: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8049a88: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } while((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8049a8c: e00b b.n 8049aa6 { if(pardata.FRQ < _64000Hz) 8049a8e: 4b88 ldr r3, [pc, #544] ; (8049cb0 ) 8049a90: 7adb ldrb r3, [r3, #11] 8049a92: b2db uxtb r3, r3 8049a94: 2b08 cmp r3, #8 8049a96: d824 bhi.n 8049ae2 pardata.FRQ++; 8049a98: 4b85 ldr r3, [pc, #532] ; (8049cb0 ) 8049a9a: 7adb ldrb r3, [r3, #11] 8049a9c: b2db uxtb r3, r3 8049a9e: 3301 adds r3, #1 8049aa0: b2da uxtb r2, r3 8049aa2: 4b83 ldr r3, [pc, #524] ; (8049cb0 ) 8049aa4: 72da strb r2, [r3, #11] while((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8049aa6: 4b82 ldr r3, [pc, #520] ; (8049cb0 ) 8049aa8: 7adb ldrb r3, [r3, #11] 8049aaa: b2db uxtb r3, r3 8049aac: 461a mov r2, r3 8049aae: 4b81 ldr r3, [pc, #516] ; (8049cb4 ) 8049ab0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8049ab4: ee07 3a90 vmov s15, r3 8049ab8: eeb8 5b67 vcvt.f64.u32 d5, s15 8049abc: 4b7c ldr r3, [pc, #496] ; (8049cb0 ) 8049abe: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8049ac2: eeb7 6ae7 vcvt.f64.f32 d6, s15 8049ac6: ee85 7b06 vdiv.f64 d7, d5, d6 8049aca: ed9f 6b73 vldr d6, [pc, #460] ; 8049c98 8049ace: ee37 7b06 vadd.f64 d7, d7, d6 8049ad2: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8049ad6: eeb4 7bc6 vcmpe.f64 d7, d6 8049ada: eef1 fa10 vmrs APSR_nzcv, fpscr 8049ade: d4d6 bmi.n 8049a8e 8049ae0: e000 b.n 8049ae4 else break; 8049ae2: bf00 nop } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8049ae4: 4b72 ldr r3, [pc, #456] ; (8049cb0 ) 8049ae6: 7adb ldrb r3, [r3, #11] 8049ae8: b2db uxtb r3, r3 8049aea: 461a mov r2, r3 8049aec: 4b71 ldr r3, [pc, #452] ; (8049cb4 ) 8049aee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8049af2: ee07 3a90 vmov s15, r3 8049af6: eeb8 5b67 vcvt.f64.u32 d5, s15 8049afa: 4b6d ldr r3, [pc, #436] ; (8049cb0 ) 8049afc: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8049b00: eeb7 6ae7 vcvt.f64.f32 d6, s15 8049b04: ee85 7b06 vdiv.f64 d7, d5, d6 8049b08: ed9f 6b63 vldr d6, [pc, #396] ; 8049c98 8049b0c: ee37 7b06 vadd.f64 d7, d7, d6 8049b10: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8049b14: eeb4 7bc6 vcmpe.f64 d7, d6 8049b18: eef1 fa10 vmrs APSR_nzcv, fpscr 8049b1c: d51f bpl.n 8049b5e { pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 8049b1e: 4b64 ldr r3, [pc, #400] ; (8049cb0 ) 8049b20: 7adb ldrb r3, [r3, #11] 8049b22: b2db uxtb r3, r3 8049b24: 461a mov r2, r3 8049b26: 4b63 ldr r3, [pc, #396] ; (8049cb4 ) 8049b28: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8049b2c: 4a62 ldr r2, [pc, #392] ; (8049cb8 ) 8049b2e: fba2 2303 umull r2, r3, r2, r3 8049b32: 089b lsrs r3, r3, #2 8049b34: ee07 3a90 vmov s15, r3 8049b38: eef8 7a67 vcvt.f32.u32 s15, s15 8049b3c: 4b5c ldr r3, [pc, #368] ; (8049cb0 ) 8049b3e: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 8049b42: 4b5b ldr r3, [pc, #364] ; (8049cb0 ) 8049b44: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8049b48: eeb7 7ae7 vcvt.f64.f32 d7, s15 8049b4c: ed9f 6b54 vldr d6, [pc, #336] ; 8049ca0 8049b50: ee37 7b06 vadd.f64 d7, d7, d6 8049b54: eef7 7bc7 vcvt.f32.f64 s15, d7 8049b58: 4b55 ldr r3, [pc, #340] ; (8049cb0 ) 8049b5a: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 } if((pardata.IPR > ACC) && (pardata.THR & 0x80)) 8049b5e: 4b54 ldr r3, [pc, #336] ; (8049cb0 ) 8049b60: 785b ldrb r3, [r3, #1] 8049b62: b2db uxtb r3, r3 8049b64: 2b00 cmp r3, #0 8049b66: f000 80fd beq.w 8049d64 8049b6a: 4b51 ldr r3, [pc, #324] ; (8049cb0 ) 8049b6c: 7bdb ldrb r3, [r3, #15] 8049b6e: b2db uxtb r3, r3 8049b70: b25b sxtb r3, r3 8049b72: 2b00 cmp r3, #0 8049b74: f280 80f6 bge.w 8049d64 pardata.THR &= 0x7f; 8049b78: 4b4d ldr r3, [pc, #308] ; (8049cb0 ) 8049b7a: 7bdb ldrb r3, [r3, #15] 8049b7c: b2db uxtb r3, r3 8049b7e: f003 037f and.w r3, r3, #127 ; 0x7f 8049b82: b2da uxtb r2, r3 8049b84: 4b4a ldr r3, [pc, #296] ; (8049cb0 ) 8049b86: 73da strb r2, [r3, #15] } else menupos = Ok; break; 8049b88: e0ec b.n 8049d64 menupos = Ok; 8049b8a: 4b47 ldr r3, [pc, #284] ; (8049ca8 ) 8049b8c: 2200 movs r2, #0 8049b8e: 701a strb r2, [r3, #0] break; 8049b90: e0e8 b.n 8049d64 case OscRate: if(focused) 8049b92: 4b46 ldr r3, [pc, #280] ; (8049cac ) 8049b94: 781b ldrb r3, [r3, #0] 8049b96: b2db uxtb r3, r3 8049b98: 2b00 cmp r3, #0 8049b9a: d04e beq.n 8049c3a { if(pardata.FRQ < _64000Hz) pardata.FRQ++; 8049b9c: 4b44 ldr r3, [pc, #272] ; (8049cb0 ) 8049b9e: 7adb ldrb r3, [r3, #11] 8049ba0: b2db uxtb r3, r3 8049ba2: 2b08 cmp r3, #8 8049ba4: d807 bhi.n 8049bb6 8049ba6: 4b42 ldr r3, [pc, #264] ; (8049cb0 ) 8049ba8: 7adb ldrb r3, [r3, #11] 8049baa: b2db uxtb r3, r3 8049bac: 3301 adds r3, #1 8049bae: b2da uxtb r2, r3 8049bb0: 4b3f ldr r3, [pc, #252] ; (8049cb0 ) 8049bb2: 72da strb r2, [r3, #11] 8049bb4: e002 b.n 8049bbc else pardata.FRQ = _125Hz; 8049bb6: 4b3e ldr r3, [pc, #248] ; (8049cb0 ) 8049bb8: 2200 movs r2, #0 8049bba: 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) 8049bbc: 4b3c ldr r3, [pc, #240] ; (8049cb0 ) 8049bbe: 7adb ldrb r3, [r3, #11] 8049bc0: b2db uxtb r3, r3 8049bc2: 461a mov r2, r3 8049bc4: 4b3b ldr r3, [pc, #236] ; (8049cb4 ) 8049bc6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8049bca: ee07 3a90 vmov s15, r3 8049bce: eeb8 5b67 vcvt.f64.u32 d5, s15 8049bd2: 4b37 ldr r3, [pc, #220] ; (8049cb0 ) 8049bd4: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8049bd8: eeb7 6ae7 vcvt.f64.f32 d6, s15 8049bdc: ee85 7b06 vdiv.f64 d7, d5, d6 8049be0: ed9f 6b2d vldr d6, [pc, #180] ; 8049c98 8049be4: ee37 7b06 vadd.f64 d7, d7, d6 8049be8: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8049bec: eeb4 7bc6 vcmpe.f64 d7, d6 8049bf0: eef1 fa10 vmrs APSR_nzcv, fpscr 8049bf4: d400 bmi.n 8049bf8 } } else menupos = Ok; break; 8049bf6: e0b6 b.n 8049d66 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 8049bf8: 4b2d ldr r3, [pc, #180] ; (8049cb0 ) 8049bfa: 7adb ldrb r3, [r3, #11] 8049bfc: b2db uxtb r3, r3 8049bfe: 461a mov r2, r3 8049c00: 4b2c ldr r3, [pc, #176] ; (8049cb4 ) 8049c02: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8049c06: 4a2c ldr r2, [pc, #176] ; (8049cb8 ) 8049c08: fba2 2303 umull r2, r3, r2, r3 8049c0c: 089b lsrs r3, r3, #2 8049c0e: ee07 3a90 vmov s15, r3 8049c12: eef8 7a67 vcvt.f32.u32 s15, s15 8049c16: 4b26 ldr r3, [pc, #152] ; (8049cb0 ) 8049c18: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 8049c1c: 4b24 ldr r3, [pc, #144] ; (8049cb0 ) 8049c1e: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8049c22: eeb7 7ae7 vcvt.f64.f32 d7, s15 8049c26: ed9f 6b1e vldr d6, [pc, #120] ; 8049ca0 8049c2a: ee37 7b06 vadd.f64 d7, d7, d6 8049c2e: eef7 7bc7 vcvt.f32.f64 s15, d7 8049c32: 4b1f ldr r3, [pc, #124] ; (8049cb0 ) 8049c34: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8049c38: e095 b.n 8049d66 menupos = Ok; 8049c3a: 4b1b ldr r3, [pc, #108] ; (8049ca8 ) 8049c3c: 2200 movs r2, #0 8049c3e: 701a strb r2, [r3, #0] break; 8049c40: e091 b.n 8049d66 case OscLen: if(focused) 8049c42: 4b1a ldr r3, [pc, #104] ; (8049cac ) 8049c44: 781b ldrb r3, [r3, #0] 8049c46: b2db uxtb r3, r3 8049c48: 2b00 cmp r3, #0 8049c4a: d010 beq.n 8049c6e { if(pardata.LNE < N6400) pardata.LNE++; 8049c4c: 4b18 ldr r3, [pc, #96] ; (8049cb0 ) 8049c4e: 79db ldrb r3, [r3, #7] 8049c50: b2db uxtb r3, r3 8049c52: 2b03 cmp r3, #3 8049c54: d807 bhi.n 8049c66 8049c56: 4b16 ldr r3, [pc, #88] ; (8049cb0 ) 8049c58: 79db ldrb r3, [r3, #7] 8049c5a: b2db uxtb r3, r3 8049c5c: 3301 adds r3, #1 8049c5e: b2da uxtb r2, r3 8049c60: 4b13 ldr r3, [pc, #76] ; (8049cb0 ) 8049c62: 71da strb r2, [r3, #7] else pardata.LNE = N400; } else menupos = Ok; break; 8049c64: e07f b.n 8049d66 else pardata.LNE = N400; 8049c66: 4b12 ldr r3, [pc, #72] ; (8049cb0 ) 8049c68: 2200 movs r2, #0 8049c6a: 71da strb r2, [r3, #7] break; 8049c6c: e07b b.n 8049d66 menupos = Ok; 8049c6e: 4b0e ldr r3, [pc, #56] ; (8049ca8 ) 8049c70: 2200 movs r2, #0 8049c72: 701a strb r2, [r3, #0] break; 8049c74: e077 b.n 8049d66 case FilterHP_IDT: menupos = FilterHP_IET; break; 8049c76: 4b0c ldr r3, [pc, #48] ; (8049ca8 ) 8049c78: 221a movs r2, #26 8049c7a: 701a strb r2, [r3, #0] 8049c7c: e073 b.n 8049d66 case FilterHP_IET: menupos = FilterHP_IES; break; 8049c7e: 4b0a ldr r3, [pc, #40] ; (8049ca8 ) 8049c80: 221b movs r2, #27 8049c82: 701a strb r2, [r3, #0] 8049c84: e06f b.n 8049d66 case FilterHP_IES: menupos = FilterHP_IED; break; 8049c86: 4b08 ldr r3, [pc, #32] ; (8049ca8 ) 8049c88: 221c movs r2, #28 8049c8a: 701a strb r2, [r3, #0] 8049c8c: e06b b.n 8049d66 case FilterHP_IED: menupos = FilterHP_IEE; break; 8049c8e: 4b06 ldr r3, [pc, #24] ; (8049ca8 ) 8049c90: 221d movs r2, #29 8049c92: 701a strb r2, [r3, #0] 8049c94: e067 b.n 8049d66 8049c96: bf00 nop 8049c98: e0000000 .word 0xe0000000 8049c9c: 3f0a36e2 .word 0x3f0a36e2 8049ca0: eb1c432d .word 0xeb1c432d 8049ca4: 3f1a36e2 .word 0x3f1a36e2 8049ca8: 20020070 .word 0x20020070 8049cac: 20020fd0 .word 0x20020fd0 8049cb0: 20023eb8 .word 0x20023eb8 8049cb4: 080f5268 .word 0x080f5268 8049cb8: cccccccd .word 0xcccccccd case FilterHP_IEE: menupos = FilterHP_IKD; break; 8049cbc: 4bad ldr r3, [pc, #692] ; (8049f74 ) 8049cbe: 221e movs r2, #30 8049cc0: 701a strb r2, [r3, #0] 8049cc2: e050 b.n 8049d66 case FilterHP_IKD: menupos = FilterHP_IDT; break; 8049cc4: 4bab ldr r3, [pc, #684] ; (8049f74 ) 8049cc6: 2219 movs r2, #25 8049cc8: 701a strb r2, [r3, #0] 8049cca: e04c b.n 8049d66 case FilterLP_IDT: menupos = FilterLP_IET; break; 8049ccc: 4ba9 ldr r3, [pc, #676] ; (8049f74 ) 8049cce: 2220 movs r2, #32 8049cd0: 701a strb r2, [r3, #0] 8049cd2: e048 b.n 8049d66 case FilterLP_IET: menupos = FilterLP_IES; break; 8049cd4: 4ba7 ldr r3, [pc, #668] ; (8049f74 ) 8049cd6: 2221 movs r2, #33 ; 0x21 8049cd8: 701a strb r2, [r3, #0] 8049cda: e044 b.n 8049d66 case FilterLP_IES: menupos = FilterLP_IED; break; 8049cdc: 4ba5 ldr r3, [pc, #660] ; (8049f74 ) 8049cde: 2222 movs r2, #34 ; 0x22 8049ce0: 701a strb r2, [r3, #0] 8049ce2: e040 b.n 8049d66 case FilterLP_IED: menupos = FilterLP_IEE; break; 8049ce4: 4ba3 ldr r3, [pc, #652] ; (8049f74 ) 8049ce6: 2223 movs r2, #35 ; 0x23 8049ce8: 701a strb r2, [r3, #0] 8049cea: e03c b.n 8049d66 case FilterLP_IEE: menupos = FilterLP_IKD; break; 8049cec: 4ba1 ldr r3, [pc, #644] ; (8049f74 ) 8049cee: 2224 movs r2, #36 ; 0x24 8049cf0: 701a strb r2, [r3, #0] 8049cf2: e038 b.n 8049d66 case FilterLP_IKD: menupos = FilterLP_IDT; break; 8049cf4: 4b9f ldr r3, [pc, #636] ; (8049f74 ) 8049cf6: 221f movs r2, #31 8049cf8: 701a strb r2, [r3, #0] 8049cfa: e034 b.n 8049d66 case OscThr_IDT: menupos = OscThr_IET; 8049cfc: 4b9d ldr r3, [pc, #628] ; (8049f74 ) 8049cfe: 220a movs r2, #10 8049d00: 701a strb r2, [r3, #0] break; 8049d02: e030 b.n 8049d66 case OscThr_IET: menupos = OscThr_IES; 8049d04: 4b9b ldr r3, [pc, #620] ; (8049f74 ) 8049d06: 220b movs r2, #11 8049d08: 701a strb r2, [r3, #0] break; 8049d0a: e02c b.n 8049d66 case OscThr_IES: menupos = OscThr_IED; 8049d0c: 4b99 ldr r3, [pc, #612] ; (8049f74 ) 8049d0e: 220c movs r2, #12 8049d10: 701a strb r2, [r3, #0] break; 8049d12: e028 b.n 8049d66 case OscThr_IED: menupos = OscThr_IEE; 8049d14: 4b97 ldr r3, [pc, #604] ; (8049f74 ) 8049d16: 220d movs r2, #13 8049d18: 701a strb r2, [r3, #0] break; 8049d1a: e024 b.n 8049d66 case OscThr_IEE: menupos = OscThr_IKD; 8049d1c: 4b95 ldr r3, [pc, #596] ; (8049f74 ) 8049d1e: 220e movs r2, #14 8049d20: 701a strb r2, [r3, #0] break; 8049d22: e020 b.n 8049d66 case OscThr_IKD: menupos = OscThr_IDT; 8049d24: 4b93 ldr r3, [pc, #588] ; (8049f74 ) 8049d26: 2209 movs r2, #9 8049d28: 701a strb r2, [r3, #0] break; 8049d2a: e01c b.n 8049d66 case OscMax_IDT: menupos = OscMax_IET; 8049d2c: 4b91 ldr r3, [pc, #580] ; (8049f74 ) 8049d2e: 2210 movs r2, #16 8049d30: 701a strb r2, [r3, #0] break; 8049d32: e018 b.n 8049d66 case OscMax_IET: menupos = OscMax_IES; 8049d34: 4b8f ldr r3, [pc, #572] ; (8049f74 ) 8049d36: 2211 movs r2, #17 8049d38: 701a strb r2, [r3, #0] break; 8049d3a: e014 b.n 8049d66 case OscMax_IES: menupos = OscMax_IED; 8049d3c: 4b8d ldr r3, [pc, #564] ; (8049f74 ) 8049d3e: 2212 movs r2, #18 8049d40: 701a strb r2, [r3, #0] break; 8049d42: e010 b.n 8049d66 case OscMax_IED: menupos = OscMax_IEE; 8049d44: 4b8b ldr r3, [pc, #556] ; (8049f74 ) 8049d46: 2213 movs r2, #19 8049d48: 701a strb r2, [r3, #0] break; 8049d4a: e00c b.n 8049d66 case OscMax_IEE: menupos = OscMax_IKD; 8049d4c: 4b89 ldr r3, [pc, #548] ; (8049f74 ) 8049d4e: 2214 movs r2, #20 8049d50: 701a strb r2, [r3, #0] break; 8049d52: e008 b.n 8049d66 case OscMax_IKD: menupos = OscMax_IDT; 8049d54: 4b87 ldr r3, [pc, #540] ; (8049f74 ) 8049d56: 220f movs r2, #15 8049d58: 701a strb r2, [r3, #0] break; 8049d5a: e004 b.n 8049d66 case OscThr: case OscMax_ALL: case OscThr_ALL: case FilterHP: case FilterLP: menupos = Ok; 8049d5c: 4b85 ldr r3, [pc, #532] ; (8049f74 ) 8049d5e: 2200 movs r2, #0 8049d60: 701a strb r2, [r3, #0] break; 8049d62: e000 b.n 8049d66 break; 8049d64: bf00 nop } break; 8049d66: e285 b.n 804a274 case ROUTE_MAP: //RT switch(menupos) 8049d68: 4b82 ldr r3, [pc, #520] ; (8049f74 ) 8049d6a: 781b ldrb r3, [r3, #0] 8049d6c: b2db uxtb r3, r3 8049d6e: 2b0e cmp r3, #14 8049d70: f200 8283 bhi.w 804a27a 8049d74: a201 add r2, pc, #4 ; (adr r2, 8049d7c ) 8049d76: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8049d7a: bf00 nop 8049d7c: 08049e35 .word 0x08049e35 8049d80: 08049e3d .word 0x08049e3d 8049d84: 08049e45 .word 0x08049e45 8049d88: 08049e2d .word 0x08049e2d 8049d8c: 08049db9 .word 0x08049db9 8049d90: 08049e2d .word 0x08049e2d 8049d94: 08049e2d .word 0x08049e2d 8049d98: 08049dfd .word 0x08049dfd 8049d9c: 08049e05 .word 0x08049e05 8049da0: 08049e0d .word 0x08049e0d 8049da4: 08049e15 .word 0x08049e15 8049da8: 08049e1d .word 0x08049e1d 8049dac: 08049e25 .word 0x08049e25 8049db0: 08049ded .word 0x08049ded 8049db4: 08049df5 .word 0x08049df5 { case RouteTime: if(focused) 8049db8: 4b6f ldr r3, [pc, #444] ; (8049f78 ) 8049dba: 781b ldrb r3, [r3, #0] 8049dbc: b2db uxtb r3, r3 8049dbe: 2b00 cmp r3, #0 8049dc0: d010 beq.n 8049de4 { if(pardata.TME < HOUR2) pardata.TME++; 8049dc2: 4b6e ldr r3, [pc, #440] ; (8049f7c ) 8049dc4: 7b9b ldrb r3, [r3, #14] 8049dc6: b2db uxtb r3, r3 8049dc8: 2b08 cmp r3, #8 8049dca: d807 bhi.n 8049ddc 8049dcc: 4b6b ldr r3, [pc, #428] ; (8049f7c ) 8049dce: 7b9b ldrb r3, [r3, #14] 8049dd0: b2db uxtb r3, r3 8049dd2: 3301 adds r3, #1 8049dd4: b2da uxtb r2, r3 8049dd6: 4b69 ldr r3, [pc, #420] ; (8049f7c ) 8049dd8: 739a strb r2, [r3, #14] else pardata.TME = CONTINUOUS; } else menupos = GoMeas; break; 8049dda: e037 b.n 8049e4c else pardata.TME = CONTINUOUS; 8049ddc: 4b67 ldr r3, [pc, #412] ; (8049f7c ) 8049dde: 2200 movs r2, #0 8049de0: 739a strb r2, [r3, #14] break; 8049de2: e033 b.n 8049e4c menupos = GoMeas; 8049de4: 4b63 ldr r3, [pc, #396] ; (8049f74 ) 8049de6: 2201 movs r2, #1 8049de8: 701a strb r2, [r3, #0] break; 8049dea: e02f b.n 8049e4c case RouteNullYes: menupos = RouteNullNo; 8049dec: 4b61 ldr r3, [pc, #388] ; (8049f74 ) 8049dee: 220e movs r2, #14 8049df0: 701a strb r2, [r3, #0] break; 8049df2: e02b b.n 8049e4c case RouteNullNo: menupos = RouteNullYes; 8049df4: 4b5f ldr r3, [pc, #380] ; (8049f74 ) 8049df6: 220d movs r2, #13 8049df8: 701a strb r2, [r3, #0] break; 8049dfa: e027 b.n 8049e4c case RouteMax_IDT: menupos = RouteMax_IET; 8049dfc: 4b5d ldr r3, [pc, #372] ; (8049f74 ) 8049dfe: 2208 movs r2, #8 8049e00: 701a strb r2, [r3, #0] break; 8049e02: e023 b.n 8049e4c case RouteMax_IET: menupos = RouteMax_IES; 8049e04: 4b5b ldr r3, [pc, #364] ; (8049f74 ) 8049e06: 2209 movs r2, #9 8049e08: 701a strb r2, [r3, #0] break; 8049e0a: e01f b.n 8049e4c case RouteMax_IES: menupos = RouteMax_IED; 8049e0c: 4b59 ldr r3, [pc, #356] ; (8049f74 ) 8049e0e: 220a movs r2, #10 8049e10: 701a strb r2, [r3, #0] break; 8049e12: e01b b.n 8049e4c case RouteMax_IED: menupos = RouteMax_IEE; 8049e14: 4b57 ldr r3, [pc, #348] ; (8049f74 ) 8049e16: 220b movs r2, #11 8049e18: 701a strb r2, [r3, #0] break; 8049e1a: e017 b.n 8049e4c case RouteMax_IEE: menupos = RouteMax_IKD; 8049e1c: 4b55 ldr r3, [pc, #340] ; (8049f74 ) 8049e1e: 220c movs r2, #12 8049e20: 701a strb r2, [r3, #0] break; 8049e22: e013 b.n 8049e4c case RouteMax_IKD: menupos = RouteMax_IDT; 8049e24: 4b53 ldr r3, [pc, #332] ; (8049f74 ) 8049e26: 2207 movs r2, #7 8049e28: 701a strb r2, [r3, #0] break; 8049e2a: e00f b.n 8049e4c case RouteAutoKu: case RouteMax_ALL: case RouteTacho: menupos = GoMeas; 8049e2c: 4b51 ldr r3, [pc, #324] ; (8049f74 ) 8049e2e: 2201 movs r2, #1 8049e30: 701a strb r2, [r3, #0] break; 8049e32: e00b b.n 8049e4c case PrevPoint: menupos = GoMeas; 8049e34: 4b4f ldr r3, [pc, #316] ; (8049f74 ) 8049e36: 2201 movs r2, #1 8049e38: 701a strb r2, [r3, #0] break; 8049e3a: e007 b.n 8049e4c case GoMeas: menupos = NextPoint; 8049e3c: 4b4d ldr r3, [pc, #308] ; (8049f74 ) 8049e3e: 2202 movs r2, #2 8049e40: 701a strb r2, [r3, #0] break; 8049e42: e003 b.n 8049e4c case NextPoint: menupos = PrevPoint; 8049e44: 4b4b ldr r3, [pc, #300] ; (8049f74 ) 8049e46: 2200 movs r2, #0 8049e48: 701a strb r2, [r3, #0] break; 8049e4a: bf00 nop } break; 8049e4c: e215 b.n 804a27a case PARAM_WAVE: //RT switch(menupos) 8049e4e: 4b49 ldr r3, [pc, #292] ; (8049f74 ) 8049e50: 781b ldrb r3, [r3, #0] 8049e52: b2db uxtb r3, r3 8049e54: 3b01 subs r3, #1 8049e56: 2b14 cmp r3, #20 8049e58: f200 8212 bhi.w 804a280 8049e5c: a201 add r2, pc, #4 ; (adr r2, 8049e64 ) 8049e5e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8049e62: bf00 nop 8049e64: 08049eb9 .word 0x08049eb9 8049e68: 08049ec1 .word 0x08049ec1 8049e6c: 08049f5d .word 0x08049f5d 8049e70: 08049f65 .word 0x08049f65 8049e74: 08049ec9 .word 0x08049ec9 8049e78: 08049f5d .word 0x08049f5d 8049e7c: 08049f5d .word 0x08049f5d 8049e80: 08049f5d .word 0x08049f5d 8049e84: 08049f5d .word 0x08049f5d 8049e88: 08049f2d .word 0x08049f2d 8049e8c: 08049f35 .word 0x08049f35 8049e90: 08049f3d .word 0x08049f3d 8049e94: 08049f45 .word 0x08049f45 8049e98: 08049f4d .word 0x08049f4d 8049e9c: 08049f55 .word 0x08049f55 8049ea0: 08049efd .word 0x08049efd 8049ea4: 08049f05 .word 0x08049f05 8049ea8: 08049f0d .word 0x08049f0d 8049eac: 08049f15 .word 0x08049f15 8049eb0: 08049f1d .word 0x08049f1d 8049eb4: 08049f25 .word 0x08049f25 { case WaveBand: pardata.FRQ = _64000Hz; 8049eb8: 4b30 ldr r3, [pc, #192] ; (8049f7c ) 8049eba: 2209 movs r2, #9 8049ebc: 72da strb r2, [r3, #11] break; 8049ebe: e057 b.n 8049f70 case WaveFreq: pardata.FRQ = _64000Hz; 8049ec0: 4b2e ldr r3, [pc, #184] ; (8049f7c ) 8049ec2: 2209 movs r2, #9 8049ec4: 72da strb r2, [r3, #11] break; 8049ec6: e053 b.n 8049f70 case WaveTime: if(focused) 8049ec8: 4b2b ldr r3, [pc, #172] ; (8049f78 ) 8049eca: 781b ldrb r3, [r3, #0] 8049ecc: b2db uxtb r3, r3 8049ece: 2b00 cmp r3, #0 8049ed0: d010 beq.n 8049ef4 { if(pardata.TME < HOUR2) pardata.TME++; 8049ed2: 4b2a ldr r3, [pc, #168] ; (8049f7c ) 8049ed4: 7b9b ldrb r3, [r3, #14] 8049ed6: b2db uxtb r3, r3 8049ed8: 2b08 cmp r3, #8 8049eda: d807 bhi.n 8049eec 8049edc: 4b27 ldr r3, [pc, #156] ; (8049f7c ) 8049ede: 7b9b ldrb r3, [r3, #14] 8049ee0: b2db uxtb r3, r3 8049ee2: 3301 adds r3, #1 8049ee4: b2da uxtb r2, r3 8049ee6: 4b25 ldr r3, [pc, #148] ; (8049f7c ) 8049ee8: 739a strb r2, [r3, #14] else pardata.TME = CONTINUOUS; } else menupos = Ok; break; 8049eea: e041 b.n 8049f70 else pardata.TME = CONTINUOUS; 8049eec: 4b23 ldr r3, [pc, #140] ; (8049f7c ) 8049eee: 2200 movs r2, #0 8049ef0: 739a strb r2, [r3, #14] break; 8049ef2: e03d b.n 8049f70 menupos = Ok; 8049ef4: 4b1f ldr r3, [pc, #124] ; (8049f74 ) 8049ef6: 2200 movs r2, #0 8049ef8: 701a strb r2, [r3, #0] break; 8049efa: e039 b.n 8049f70 case WaveThr_IDT: menupos = WaveThr_IET; 8049efc: 4b1d ldr r3, [pc, #116] ; (8049f74 ) 8049efe: 2211 movs r2, #17 8049f00: 701a strb r2, [r3, #0] break; 8049f02: e035 b.n 8049f70 case WaveThr_IET: menupos = WaveThr_IES; 8049f04: 4b1b ldr r3, [pc, #108] ; (8049f74 ) 8049f06: 2212 movs r2, #18 8049f08: 701a strb r2, [r3, #0] break; 8049f0a: e031 b.n 8049f70 case WaveThr_IES: menupos = WaveThr_IED; 8049f0c: 4b19 ldr r3, [pc, #100] ; (8049f74 ) 8049f0e: 2213 movs r2, #19 8049f10: 701a strb r2, [r3, #0] break; 8049f12: e02d b.n 8049f70 case WaveThr_IED: menupos = WaveThr_IEE; 8049f14: 4b17 ldr r3, [pc, #92] ; (8049f74 ) 8049f16: 2214 movs r2, #20 8049f18: 701a strb r2, [r3, #0] break; 8049f1a: e029 b.n 8049f70 case WaveThr_IEE: menupos = WaveThr_IKD; 8049f1c: 4b15 ldr r3, [pc, #84] ; (8049f74 ) 8049f1e: 2215 movs r2, #21 8049f20: 701a strb r2, [r3, #0] break; 8049f22: e025 b.n 8049f70 case WaveThr_IKD: menupos = WaveThr_IDT; 8049f24: 4b13 ldr r3, [pc, #76] ; (8049f74 ) 8049f26: 2210 movs r2, #16 8049f28: 701a strb r2, [r3, #0] break; 8049f2a: e021 b.n 8049f70 case WaveMax_IDT: menupos = WaveMax_IET; 8049f2c: 4b11 ldr r3, [pc, #68] ; (8049f74 ) 8049f2e: 220b movs r2, #11 8049f30: 701a strb r2, [r3, #0] break; 8049f32: e01d b.n 8049f70 case WaveMax_IET: menupos = WaveMax_IES; 8049f34: 4b0f ldr r3, [pc, #60] ; (8049f74 ) 8049f36: 220c movs r2, #12 8049f38: 701a strb r2, [r3, #0] break; 8049f3a: e019 b.n 8049f70 case WaveMax_IES: menupos = WaveMax_IED; 8049f3c: 4b0d ldr r3, [pc, #52] ; (8049f74 ) 8049f3e: 220d movs r2, #13 8049f40: 701a strb r2, [r3, #0] break; 8049f42: e015 b.n 8049f70 case WaveMax_IED: menupos = WaveMax_IEE; 8049f44: 4b0b ldr r3, [pc, #44] ; (8049f74 ) 8049f46: 220e movs r2, #14 8049f48: 701a strb r2, [r3, #0] break; 8049f4a: e011 b.n 8049f70 case WaveMax_IEE: menupos = WaveMax_IKD; 8049f4c: 4b09 ldr r3, [pc, #36] ; (8049f74 ) 8049f4e: 220f movs r2, #15 8049f50: 701a strb r2, [r3, #0] break; 8049f52: e00d b.n 8049f70 case WaveMax_IKD: menupos = WaveMax_IDT; 8049f54: 4b07 ldr r3, [pc, #28] ; (8049f74 ) 8049f56: 220a movs r2, #10 8049f58: 701a strb r2, [r3, #0] break; 8049f5a: e009 b.n 8049f70 case WaveThr: case WaveThr_ALL: case WaveAutoKu: case WaveMax_ALL: case WaveTacho: menupos = Ok; 8049f5c: 4b05 ldr r3, [pc, #20] ; (8049f74 ) 8049f5e: 2200 movs r2, #0 8049f60: 701a strb r2, [r3, #0] break; 8049f62: e005 b.n 8049f70 case WaveName: memset(WavFileName, 0, sizeof(WavFileName)); 8049f64: 2221 movs r2, #33 ; 0x21 8049f66: 2100 movs r1, #0 8049f68: 4805 ldr r0, [pc, #20] ; (8049f80 ) 8049f6a: f088 f81b bl 80d1fa4 break; 8049f6e: bf00 nop } break; 8049f70: e186 b.n 804a280 8049f72: bf00 nop 8049f74: 20020070 .word 0x20020070 8049f78: 20020fd0 .word 0x20020fd0 8049f7c: 20023eb8 .word 0x20023eb8 8049f80: 20020e5c .word 0x20020e5c case SETTINGS: switch(menupos) 8049f84: 4bc0 ldr r3, [pc, #768] ; (804a288 ) 8049f86: 781b ldrb r3, [r3, #0] 8049f88: b2db uxtb r3, r3 8049f8a: 3b01 subs r3, #1 8049f8c: 2b11 cmp r3, #17 8049f8e: f200 8185 bhi.w 804a29c 8049f92: a201 add r2, pc, #4 ; (adr r2, 8049f98 ) 8049f94: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8049f98: 0804a02d .word 0x0804a02d 8049f9c: 0804a29d .word 0x0804a29d 8049fa0: 0804a011 .word 0x0804a011 8049fa4: 0804a29d .word 0x0804a29d 8049fa8: 0804a29d .word 0x0804a29d 8049fac: 0804a29d .word 0x0804a29d 8049fb0: 0804a29d .word 0x0804a29d 8049fb4: 0804a059 .word 0x0804a059 8049fb8: 0804a29d .word 0x0804a29d 8049fbc: 0804a29d .word 0x0804a29d 8049fc0: 0804a29d .word 0x0804a29d 8049fc4: 0804a29d .word 0x0804a29d 8049fc8: 08049fe1 .word 0x08049fe1 8049fcc: 08049fe9 .word 0x08049fe9 8049fd0: 08049ff1 .word 0x08049ff1 8049fd4: 08049ff9 .word 0x08049ff9 8049fd8: 0804a001 .word 0x0804a001 8049fdc: 0804a009 .word 0x0804a009 { case Ies: menupos = Ied; break; 8049fe0: 4ba9 ldr r3, [pc, #676] ; (804a288 ) 8049fe2: 220e movs r2, #14 8049fe4: 701a strb r2, [r3, #0] 8049fe6: e03e b.n 804a066 case Ied: menupos = Iee; break; 8049fe8: 4ba7 ldr r3, [pc, #668] ; (804a288 ) 8049fea: 220f movs r2, #15 8049fec: 701a strb r2, [r3, #0] 8049fee: e03a b.n 804a066 case Iee: menupos = Ikd; break; 8049ff0: 4ba5 ldr r3, [pc, #660] ; (804a288 ) 8049ff2: 2210 movs r2, #16 8049ff4: 701a strb r2, [r3, #0] 8049ff6: e036 b.n 804a066 case Ikd: menupos = Iks; break; 8049ff8: 4ba3 ldr r3, [pc, #652] ; (804a288 ) 8049ffa: 2211 movs r2, #17 8049ffc: 701a strb r2, [r3, #0] 8049ffe: e032 b.n 804a066 case Iks: menupos = Ikt; break; 804a000: 4ba1 ldr r3, [pc, #644] ; (804a288 ) 804a002: 2212 movs r2, #18 804a004: 701a strb r2, [r3, #0] 804a006: e02e b.n 804a066 case Ikt: menupos = Ies; break; 804a008: 4b9f ldr r3, [pc, #636] ; (804a288 ) 804a00a: 220d movs r2, #13 804a00c: 701a strb r2, [r3, #0] 804a00e: e02a b.n 804a066 case Lang: if(focused) 804a010: 4b9e ldr r3, [pc, #632] ; (804a28c ) 804a012: 781b ldrb r3, [r3, #0] 804a014: b2db uxtb r3, r3 804a016: 2b00 cmp r3, #0 804a018: d022 beq.n 804a060 { pardata.LANG ^= 1; 804a01a: 4b9d ldr r3, [pc, #628] ; (804a290 ) 804a01c: 7b1b ldrb r3, [r3, #12] 804a01e: b2db uxtb r3, r3 804a020: f083 0301 eor.w r3, r3, #1 804a024: b2da uxtb r2, r3 804a026: 4b9a ldr r3, [pc, #616] ; (804a290 ) 804a028: 731a strb r2, [r3, #12] } break; 804a02a: e019 b.n 804a060 case Type: #if (!defined(USE_D101) && !defined(USE_D102)) if(focused) 804a02c: 4b97 ldr r3, [pc, #604] ; (804a28c ) 804a02e: 781b ldrb r3, [r3, #0] 804a030: b2db uxtb r3, r3 804a032: 2b00 cmp r3, #0 804a034: d016 beq.n 804a064 { if(pardata.IIN < VOLTS) pardata.IIN++; 804a036: 4b96 ldr r3, [pc, #600] ; (804a290 ) 804a038: 799b ldrb r3, [r3, #6] 804a03a: b2db uxtb r3, r3 804a03c: 2b01 cmp r3, #1 804a03e: d807 bhi.n 804a050 804a040: 4b93 ldr r3, [pc, #588] ; (804a290 ) 804a042: 799b ldrb r3, [r3, #6] 804a044: b2db uxtb r3, r3 804a046: 3301 adds r3, #1 804a048: b2da uxtb r2, r3 804a04a: 4b91 ldr r3, [pc, #580] ; (804a290 ) 804a04c: 719a strb r2, [r3, #6] { if(pardata.IIN == VOLTS) pardata.IIN = ICP; else pardata.IIN = VOLTS; } #endif break; 804a04e: e009 b.n 804a064 else pardata.IIN = CHARGE; 804a050: 4b8f ldr r3, [pc, #572] ; (804a290 ) 804a052: 2200 movs r2, #0 804a054: 719a strb r2, [r3, #6] break; 804a056: e005 b.n 804a064 case FormatDiskNo: menupos = FormatDiskYes; 804a058: 4b8b ldr r3, [pc, #556] ; (804a288 ) 804a05a: 2209 movs r2, #9 804a05c: 701a strb r2, [r3, #0] break; 804a05e: e002 b.n 804a066 break; 804a060: bf00 nop 804a062: e11b b.n 804a29c break; 804a064: bf00 nop } break; 804a066: e119 b.n 804a29c case DATETIME: switch(menupos) 804a068: 4b87 ldr r3, [pc, #540] ; (804a288 ) 804a06a: 781b ldrb r3, [r3, #0] 804a06c: b2db uxtb r3, r3 804a06e: 3b03 subs r3, #3 804a070: 2b04 cmp r3, #4 804a072: f200 8116 bhi.w 804a2a2 804a076: a201 add r2, pc, #4 ; (adr r2, 804a07c ) 804a078: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804a07c: 0804a091 .word 0x0804a091 804a080: 0804a099 .word 0x0804a099 804a084: 0804a0a1 .word 0x0804a0a1 804a088: 0804a0a9 .word 0x0804a0a9 804a08c: 0804a0b1 .word 0x0804a0b1 { case DateD: menupos = DateM; break; 804a090: 4b7d ldr r3, [pc, #500] ; (804a288 ) 804a092: 2204 movs r2, #4 804a094: 701a strb r2, [r3, #0] 804a096: e00f b.n 804a0b8 case DateM: menupos = DateY; break; 804a098: 4b7b ldr r3, [pc, #492] ; (804a288 ) 804a09a: 2205 movs r2, #5 804a09c: 701a strb r2, [r3, #0] 804a09e: e00b b.n 804a0b8 case DateY: menupos = DateD; break; 804a0a0: 4b79 ldr r3, [pc, #484] ; (804a288 ) 804a0a2: 2203 movs r2, #3 804a0a4: 701a strb r2, [r3, #0] 804a0a6: e007 b.n 804a0b8 case TimeH: menupos = TimeM; break; 804a0a8: 4b77 ldr r3, [pc, #476] ; (804a288 ) 804a0aa: 2207 movs r2, #7 804a0ac: 701a strb r2, [r3, #0] 804a0ae: e003 b.n 804a0b8 case TimeM: menupos = TimeH; break; 804a0b0: 4b75 ldr r3, [pc, #468] ; (804a288 ) 804a0b2: 2206 movs r2, #6 804a0b4: 701a strb r2, [r3, #0] 804a0b6: bf00 nop } break; 804a0b8: e0f3 b.n 804a2a2 case CLEAN_FILES: switch(menupos) 804a0ba: 4b73 ldr r3, [pc, #460] ; (804a288 ) 804a0bc: 781b ldrb r3, [r3, #0] 804a0be: b2db uxtb r3, r3 804a0c0: 3b01 subs r3, #1 804a0c2: 2b08 cmp r3, #8 804a0c4: f200 80f0 bhi.w 804a2a8 804a0c8: a201 add r2, pc, #4 ; (adr r2, 804a0d0 ) 804a0ca: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804a0ce: bf00 nop 804a0d0: 0804a0f5 .word 0x0804a0f5 804a0d4: 0804a103 .word 0x0804a103 804a0d8: 0804a2a9 .word 0x0804a2a9 804a0dc: 0804a2a9 .word 0x0804a2a9 804a0e0: 0804a2a9 .word 0x0804a2a9 804a0e4: 0804a113 .word 0x0804a113 804a0e8: 0804a123 .word 0x0804a123 804a0ec: 0804a11b .word 0x0804a11b 804a0f0: 0804a12b .word 0x0804a12b { case NoFilesPTM: menu = SETTINGS; 804a0f4: 4b67 ldr r3, [pc, #412] ; (804a294 ) 804a0f6: 2212 movs r2, #18 804a0f8: 701a strb r2, [r3, #0] menupos = CleanFiles; 804a0fa: 4b63 ldr r3, [pc, #396] ; (804a288 ) 804a0fc: 220c movs r2, #12 804a0fe: 701a strb r2, [r3, #0] break; 804a100: e018 b.n 804a134 case FilesPTM: /*Óäàëÿåì ñïèñîê ôàéëîâ â îñíîâíîì öèêëå ïðîãðàììû, åñëè îí åñòü */ if(NumFilesDelete != 0) { 804a102: 4b65 ldr r3, [pc, #404] ; (804a298 ) 804a104: 681b ldr r3, [r3, #0] 804a106: 2b00 cmp r3, #0 804a108: d013 beq.n 804a132 menupos = UpNo; 804a10a: 4b5f ldr r3, [pc, #380] ; (804a288 ) 804a10c: 2206 movs r2, #6 804a10e: 701a strb r2, [r3, #0] } break; 804a110: e00f b.n 804a132 case UpNo: menupos = UpYes; 804a112: 4b5d ldr r3, [pc, #372] ; (804a288 ) 804a114: 2207 movs r2, #7 804a116: 701a strb r2, [r3, #0] break; 804a118: e00c b.n 804a134 case AllNo: menupos = AllYes; 804a11a: 4b5b ldr r3, [pc, #364] ; (804a288 ) 804a11c: 2209 movs r2, #9 804a11e: 701a strb r2, [r3, #0] break; 804a120: e008 b.n 804a134 case UpYes: menupos = UpNo; 804a122: 4b59 ldr r3, [pc, #356] ; (804a288 ) 804a124: 2206 movs r2, #6 804a126: 701a strb r2, [r3, #0] break; 804a128: e004 b.n 804a134 case AllYes: menupos = AllNo; 804a12a: 4b57 ldr r3, [pc, #348] ; (804a288 ) 804a12c: 2208 movs r2, #8 804a12e: 701a strb r2, [r3, #0] break; 804a130: e000 b.n 804a134 break; 804a132: bf00 nop } break; 804a134: e0b8 b.n 804a2a8 case ACCELEROMETER: switch(menupos) 804a136: 4b54 ldr r3, [pc, #336] ; (804a288 ) 804a138: 781b ldrb r3, [r3, #0] 804a13a: b2db uxtb r3, r3 804a13c: 3b0d subs r3, #13 804a13e: 2b05 cmp r3, #5 804a140: f200 80b5 bhi.w 804a2ae 804a144: a201 add r2, pc, #4 ; (adr r2, 804a14c ) 804a146: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804a14a: bf00 nop 804a14c: 0804a165 .word 0x0804a165 804a150: 0804a16d .word 0x0804a16d 804a154: 0804a175 .word 0x0804a175 804a158: 0804a17d .word 0x0804a17d 804a15c: 0804a185 .word 0x0804a185 804a160: 0804a18d .word 0x0804a18d { case Ies: menupos = Ied; break; 804a164: 4b48 ldr r3, [pc, #288] ; (804a288 ) 804a166: 220e movs r2, #14 804a168: 701a strb r2, [r3, #0] 804a16a: e013 b.n 804a194 case Ied: menupos = Iee; break; 804a16c: 4b46 ldr r3, [pc, #280] ; (804a288 ) 804a16e: 220f movs r2, #15 804a170: 701a strb r2, [r3, #0] 804a172: e00f b.n 804a194 case Iee: menupos = Ikd; break; 804a174: 4b44 ldr r3, [pc, #272] ; (804a288 ) 804a176: 2210 movs r2, #16 804a178: 701a strb r2, [r3, #0] 804a17a: e00b b.n 804a194 case Ikd: menupos = Iks; break; 804a17c: 4b42 ldr r3, [pc, #264] ; (804a288 ) 804a17e: 2211 movs r2, #17 804a180: 701a strb r2, [r3, #0] 804a182: e007 b.n 804a194 case Iks: menupos = Ikt; break; 804a184: 4b40 ldr r3, [pc, #256] ; (804a288 ) 804a186: 2212 movs r2, #18 804a188: 701a strb r2, [r3, #0] 804a18a: e003 b.n 804a194 case Ikt: menupos = Ies; break; 804a18c: 4b3e ldr r3, [pc, #248] ; (804a288 ) 804a18e: 220d movs r2, #13 804a190: 701a strb r2, [r3, #0] 804a192: bf00 nop } break; 804a194: e08b b.n 804a2ae case CALIBR_00: if(menupos < 4) 804a196: 4b3c ldr r3, [pc, #240] ; (804a288 ) 804a198: 781b ldrb r3, [r3, #0] 804a19a: b2db uxtb r3, r3 804a19c: 2b03 cmp r3, #3 804a19e: f200 8089 bhi.w 804a2b4 menupos++; 804a1a2: 4b39 ldr r3, [pc, #228] ; (804a288 ) 804a1a4: 781b ldrb r3, [r3, #0] 804a1a6: b2db uxtb r3, r3 804a1a8: 3301 adds r3, #1 804a1aa: b2da uxtb r2, r3 804a1ac: 4b36 ldr r3, [pc, #216] ; (804a288 ) 804a1ae: 701a strb r2, [r3, #0] break; 804a1b0: e080 b.n 804a2b4 case CALIBR_4: case CALIBR_5: case CALIBR_6: case CALIBR_7: case CALIBR_8: if(menupos < 2) 804a1b2: 4b35 ldr r3, [pc, #212] ; (804a288 ) 804a1b4: 781b ldrb r3, [r3, #0] 804a1b6: b2db uxtb r3, r3 804a1b8: 2b01 cmp r3, #1 804a1ba: d87e bhi.n 804a2ba menupos++; 804a1bc: 4b32 ldr r3, [pc, #200] ; (804a288 ) 804a1be: 781b ldrb r3, [r3, #0] 804a1c0: b2db uxtb r3, r3 804a1c2: 3301 adds r3, #1 804a1c4: b2da uxtb r2, r3 804a1c6: 4b30 ldr r3, [pc, #192] ; (804a288 ) 804a1c8: 701a strb r2, [r3, #0] break; 804a1ca: e076 b.n 804a2ba case CALIBR_9: case CALIBR_10: case CALIBR_11: if(menupos > 1) 804a1cc: 4b2e ldr r3, [pc, #184] ; (804a288 ) 804a1ce: 781b ldrb r3, [r3, #0] 804a1d0: b2db uxtb r3, r3 804a1d2: 2b01 cmp r3, #1 804a1d4: d902 bls.n 804a1dc menupos = 1; 804a1d6: 4b2c ldr r3, [pc, #176] ; (804a288 ) 804a1d8: 2201 movs r2, #1 804a1da: 701a strb r2, [r3, #0] if(menupos == 0) 804a1dc: 4b2a ldr r3, [pc, #168] ; (804a288 ) 804a1de: 781b ldrb r3, [r3, #0] 804a1e0: b2db uxtb r3, r3 804a1e2: 2b00 cmp r3, #0 804a1e4: d16c bne.n 804a2c0 menupos++; 804a1e6: 4b28 ldr r3, [pc, #160] ; (804a288 ) 804a1e8: 781b ldrb r3, [r3, #0] 804a1ea: b2db uxtb r3, r3 804a1ec: 3301 adds r3, #1 804a1ee: b2da uxtb r2, r3 804a1f0: 4b25 ldr r3, [pc, #148] ; (804a288 ) 804a1f2: 701a strb r2, [r3, #0] break; 804a1f4: e064 b.n 804a2c0 break; 804a1f6: bf00 nop 804a1f8: f00a bab2 b.w 8054760 break; 804a1fc: bf00 nop 804a1fe: f00a baaf b.w 8054760 break; 804a202: bf00 nop 804a204: f00a baac b.w 8054760 break; 804a208: bf00 nop 804a20a: f00a baa9 b.w 8054760 break; 804a20e: bf00 nop 804a210: f00a baa6 b.w 8054760 break; 804a214: bf00 nop 804a216: f00a baa3 b.w 8054760 break; 804a21a: bf00 nop 804a21c: f00a baa0 b.w 8054760 break; 804a220: bf00 nop 804a222: f00a ba9d b.w 8054760 break; 804a226: bf00 nop 804a228: f00a ba9a b.w 8054760 break; 804a22c: bf00 nop 804a22e: f00a ba97 b.w 8054760 break; 804a232: bf00 nop 804a234: f00a ba94 b.w 8054760 break; 804a238: bf00 nop 804a23a: f00a ba91 b.w 8054760 break; 804a23e: bf00 nop 804a240: f00a ba8e b.w 8054760 break; 804a244: bf00 nop 804a246: f00a ba8b b.w 8054760 break; 804a24a: bf00 nop 804a24c: f00a ba88 b.w 8054760 break; 804a250: bf00 nop 804a252: f00a ba85 b.w 8054760 break; 804a256: bf00 nop 804a258: f00a ba82 b.w 8054760 break; 804a25c: bf00 nop 804a25e: f00a ba7f b.w 8054760 break; 804a262: bf00 nop 804a264: f00a ba7c b.w 8054760 break; 804a268: bf00 nop 804a26a: f00a ba79 b.w 8054760 break; 804a26e: bf00 nop 804a270: f00a ba76 b.w 8054760 break; 804a274: bf00 nop 804a276: f00a ba73 b.w 8054760 break; 804a27a: bf00 nop 804a27c: f00a ba70 b.w 8054760 break; 804a280: bf00 nop 804a282: f00a ba6d b.w 8054760 804a286: bf00 nop 804a288: 20020070 .word 0x20020070 804a28c: 20020fd0 .word 0x20020fd0 804a290: 20023eb8 .word 0x20023eb8 804a294: 20020fc5 .word 0x20020fc5 804a298: 20020e30 .word 0x20020e30 break; 804a29c: bf00 nop 804a29e: f00a ba5f b.w 8054760 break; 804a2a2: bf00 nop 804a2a4: f00a ba5c b.w 8054760 break; 804a2a8: bf00 nop 804a2aa: f00a ba59 b.w 8054760 break; 804a2ae: bf00 nop 804a2b0: f00a ba56 b.w 8054760 break; 804a2b4: bf00 nop 804a2b6: f00a ba53 b.w 8054760 break; 804a2ba: bf00 nop 804a2bc: f00a ba50 b.w 8054760 break; 804a2c0: bf00 nop } break; 804a2c2: f00a ba4d b.w 8054760 case KEY_TMP: // TODO KEY TMP switch(menu) 804a2c6: 4bc1 ldr r3, [pc, #772] ; (804a5cc ) 804a2c8: 781b ldrb r3, [r3, #0] 804a2ca: b2db uxtb r3, r3 804a2cc: 2b47 cmp r3, #71 ; 0x47 804a2ce: f20a 8249 bhi.w 8054764 804a2d2: a201 add r2, pc, #4 ; (adr r2, 804a2d8 ) 804a2d4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804a2d8: 0804a451 .word 0x0804a451 804a2dc: 08054765 .word 0x08054765 804a2e0: 0804a7a1 .word 0x0804a7a1 804a2e4: 0804a7d5 .word 0x0804a7d5 804a2e8: 0804a80b .word 0x0804a80b 804a2ec: 08054765 .word 0x08054765 804a2f0: 0804a715 .word 0x0804a715 804a2f4: 0804a73d .word 0x0804a73d 804a2f8: 0804a729 .word 0x0804a729 804a2fc: 08054765 .word 0x08054765 804a300: 0804a751 .word 0x0804a751 804a304: 08054765 .word 0x08054765 804a308: 08054765 .word 0x08054765 804a30c: 0804a765 .word 0x0804a765 804a310: 0804a779 .word 0x0804a779 804a314: 0804a78d .word 0x0804a78d 804a318: 0804a701 .word 0x0804a701 804a31c: 0804a6e9 .word 0x0804a6e9 804a320: 0804a973 .word 0x0804a973 804a324: 08054765 .word 0x08054765 804a328: 08054765 .word 0x08054765 804a32c: 08054765 .word 0x08054765 804a330: 08054765 .word 0x08054765 804a334: 0804a7b5 .word 0x0804a7b5 804a338: 0804a987 .word 0x0804a987 804a33c: 08054765 .word 0x08054765 804a340: 08054765 .word 0x08054765 804a344: 08054765 .word 0x08054765 804a348: 0804a49d .word 0x0804a49d 804a34c: 0804a469 .word 0x0804a469 804a350: 0804a63d .word 0x0804a63d 804a354: 0804a451 .word 0x0804a451 804a358: 0804a505 .word 0x0804a505 804a35c: 0804a52f .word 0x0804a52f 804a360: 0804a563 .word 0x0804a563 804a364: 0804a609 .word 0x0804a609 804a368: 0804a4d1 .word 0x0804a4d1 804a36c: 0804a597 .word 0x0804a597 804a370: 0804a5f1 .word 0x0804a5f1 804a374: 0804a421 .word 0x0804a421 804a378: 0804a3f9 .word 0x0804a3f9 804a37c: 0804a695 .word 0x0804a695 804a380: 0804a6bf .word 0x0804a6bf 804a384: 0804a9d1 .word 0x0804a9d1 804a388: 0804aa1b .word 0x0804aa1b 804a38c: 08054765 .word 0x08054765 804a390: 08054765 .word 0x08054765 804a394: 0804a9bf .word 0x0804a9bf 804a398: 0804a9f5 .word 0x0804a9f5 804a39c: 08054765 .word 0x08054765 804a3a0: 08054765 .word 0x08054765 804a3a4: 0804a99b .word 0x0804a99b 804a3a8: 08054765 .word 0x08054765 804a3ac: 08054765 .word 0x08054765 804a3b0: 08054765 .word 0x08054765 804a3b4: 08054765 .word 0x08054765 804a3b8: 08054765 .word 0x08054765 804a3bc: 08054765 .word 0x08054765 804a3c0: 08054765 .word 0x08054765 804a3c4: 08054765 .word 0x08054765 804a3c8: 08054765 .word 0x08054765 804a3cc: 08054765 .word 0x08054765 804a3d0: 08054765 .word 0x08054765 804a3d4: 08054765 .word 0x08054765 804a3d8: 08054765 .word 0x08054765 804a3dc: 08054765 .word 0x08054765 804a3e0: 08054765 .word 0x08054765 804a3e4: 08054765 .word 0x08054765 804a3e8: 08054765 .word 0x08054765 804a3ec: 0804a42f .word 0x0804a42f 804a3f0: 0804a42f .word 0x0804a42f 804a3f4: 0804a42f .word 0x0804a42f { case VIEW_PORTRET: if(menupos == Cursor) 804a3f8: 4b75 ldr r3, [pc, #468] ; (804a5d0 ) 804a3fa: 781b ldrb r3, [r3, #0] 804a3fc: b2db uxtb r3, r3 804a3fe: 2b06 cmp r3, #6 804a400: d105 bne.n 804a40e menupos = lastmenupos; 804a402: 4b74 ldr r3, [pc, #464] ; (804a5d4 ) 804a404: 781b ldrb r3, [r3, #0] 804a406: b2da uxtb r2, r3 804a408: 4b71 ldr r3, [pc, #452] ; (804a5d0 ) 804a40a: 701a strb r2, [r3, #0] else { menu = ROLL_RESULTS; menupos = DefectType; } break; 804a40c: e321 b.n 804aa52 menu = ROLL_RESULTS; 804a40e: 4b6f ldr r3, [pc, #444] ; (804a5cc ) 804a410: 2227 movs r2, #39 ; 0x27 804a412: 701a strb r2, [r3, #0] menupos = DefectType; 804a414: 4b70 ldr r3, [pc, #448] ; (804a5d8 ) 804a416: 781b ldrb r3, [r3, #0] 804a418: b2da uxtb r2, r3 804a41a: 4b6d ldr r3, [pc, #436] ; (804a5d0 ) 804a41c: 701a strb r2, [r3, #0] break; 804a41e: e318 b.n 804aa52 case ROLL_RESULTS: menu = MAIN_ROLL; 804a420: 4b6a ldr r3, [pc, #424] ; (804a5cc ) 804a422: 2224 movs r2, #36 ; 0x24 804a424: 701a strb r2, [r3, #0] menupos = Results; 804a426: 4b6a ldr r3, [pc, #424] ; (804a5d0 ) 804a428: 2208 movs r2, #8 804a42a: 701a strb r2, [r3, #0] break; 804a42c: e311 b.n 804aa52 case TREND_A: case TREND_V: case TREND_S: menu = lastmenu; 804a42e: 4b6b ldr r3, [pc, #428] ; (804a5dc ) 804a430: 781b ldrb r3, [r3, #0] 804a432: b2da uxtb r2, r3 804a434: 4b65 ldr r3, [pc, #404] ; (804a5cc ) 804a436: 701a strb r2, [r3, #0] menupos = lastmenupos; 804a438: 4b66 ldr r3, [pc, #408] ; (804a5d4 ) 804a43a: 781b ldrb r3, [r3, #0] 804a43c: b2da uxtb r2, r3 804a43e: 4b64 ldr r3, [pc, #400] ; (804a5d0 ) 804a440: 701a strb r2, [r3, #0] Threshold = false; 804a442: 4b67 ldr r3, [pc, #412] ; (804a5e0 ) 804a444: 2200 movs r2, #0 804a446: 701a strb r2, [r3, #0] FIRST = true; 804a448: 4b66 ldr r3, [pc, #408] ; (804a5e4 ) 804a44a: 2201 movs r2, #1 804a44c: 701a strb r2, [r3, #0] break; 804a44e: e300 b.n 804aa52 case MAIN: case MAIN_FRAN: focused = false; 804a450: 4b65 ldr r3, [pc, #404] ; (804a5e8 ) 804a452: 2200 movs r2, #0 804a454: 701a strb r2, [r3, #0] StopMeas(); 804a456: f7d9 f9a1 bl 802379c menu = PARAM_VIB; 804a45a: 4b5c ldr r3, [pc, #368] ; (804a5cc ) 804a45c: 2206 movs r2, #6 804a45e: 701a strb r2, [r3, #0] menupos = Ok; 804a460: 4b5b ldr r3, [pc, #364] ; (804a5d0 ) 804a462: 2200 movs r2, #0 804a464: 701a strb r2, [r3, #0] break; 804a466: e2f4 b.n 804aa52 case MAIN_OSC: focused = false; 804a468: 4b5f ldr r3, [pc, #380] ; (804a5e8 ) 804a46a: 2200 movs r2, #0 804a46c: 701a strb r2, [r3, #0] if(menupos == Cursor) 804a46e: 4b58 ldr r3, [pc, #352] ; (804a5d0 ) 804a470: 781b ldrb r3, [r3, #0] 804a472: b2db uxtb r3, r3 804a474: 2b06 cmp r3, #6 804a476: d105 bne.n 804a484 menupos = lastmenupos; 804a478: 4b56 ldr r3, [pc, #344] ; (804a5d4 ) 804a47a: 781b ldrb r3, [r3, #0] 804a47c: b2da uxtb r2, r3 804a47e: 4b54 ldr r3, [pc, #336] ; (804a5d0 ) 804a480: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_OSC; menupos = Ok; READY_TO_SEE = false; } break; 804a482: e2e6 b.n 804aa52 StopMeas(); 804a484: f7d9 f98a bl 802379c menu = PARAM_OSC; 804a488: 4b50 ldr r3, [pc, #320] ; (804a5cc ) 804a48a: 2208 movs r2, #8 804a48c: 701a strb r2, [r3, #0] menupos = Ok; 804a48e: 4b50 ldr r3, [pc, #320] ; (804a5d0 ) 804a490: 2200 movs r2, #0 804a492: 701a strb r2, [r3, #0] READY_TO_SEE = false; 804a494: 4b55 ldr r3, [pc, #340] ; (804a5ec ) 804a496: 2200 movs r2, #0 804a498: 701a strb r2, [r3, #0] break; 804a49a: e2da b.n 804aa52 case MAIN_SPEC: focused = false; 804a49c: 4b52 ldr r3, [pc, #328] ; (804a5e8 ) 804a49e: 2200 movs r2, #0 804a4a0: 701a strb r2, [r3, #0] if(menupos == Cursor) 804a4a2: 4b4b ldr r3, [pc, #300] ; (804a5d0 ) 804a4a4: 781b ldrb r3, [r3, #0] 804a4a6: b2db uxtb r3, r3 804a4a8: 2b06 cmp r3, #6 804a4aa: d105 bne.n 804a4b8 menupos = lastmenupos; 804a4ac: 4b49 ldr r3, [pc, #292] ; (804a5d4 ) 804a4ae: 781b ldrb r3, [r3, #0] 804a4b0: b2da uxtb r2, r3 804a4b2: 4b47 ldr r3, [pc, #284] ; (804a5d0 ) 804a4b4: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_SPEC; menupos = Ok; READY_TO_SEE = false; } break; 804a4b6: e2cc b.n 804aa52 StopMeas(); 804a4b8: f7d9 f970 bl 802379c menu = PARAM_SPEC; 804a4bc: 4b43 ldr r3, [pc, #268] ; (804a5cc ) 804a4be: 2207 movs r2, #7 804a4c0: 701a strb r2, [r3, #0] menupos = Ok; 804a4c2: 4b43 ldr r3, [pc, #268] ; (804a5d0 ) 804a4c4: 2200 movs r2, #0 804a4c6: 701a strb r2, [r3, #0] READY_TO_SEE = false; 804a4c8: 4b48 ldr r3, [pc, #288] ; (804a5ec ) 804a4ca: 2200 movs r2, #0 804a4cc: 701a strb r2, [r3, #0] break; 804a4ce: e2c0 b.n 804aa52 case MAIN_ROLL: focused = false; 804a4d0: 4b45 ldr r3, [pc, #276] ; (804a5e8 ) 804a4d2: 2200 movs r2, #0 804a4d4: 701a strb r2, [r3, #0] if(menupos == Cursor) 804a4d6: 4b3e ldr r3, [pc, #248] ; (804a5d0 ) 804a4d8: 781b ldrb r3, [r3, #0] 804a4da: b2db uxtb r3, r3 804a4dc: 2b06 cmp r3, #6 804a4de: d105 bne.n 804a4ec menupos = lastmenupos; 804a4e0: 4b3c ldr r3, [pc, #240] ; (804a5d4 ) 804a4e2: 781b ldrb r3, [r3, #0] 804a4e4: b2da uxtb r2, r3 804a4e6: 4b3a ldr r3, [pc, #232] ; (804a5d0 ) 804a4e8: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_ROLL; menupos = Ok; READY_TO_SEE = false; } break; 804a4ea: e2b2 b.n 804aa52 StopMeas(); 804a4ec: f7d9 f956 bl 802379c menu = PARAM_ROLL; 804a4f0: 4b36 ldr r3, [pc, #216] ; (804a5cc ) 804a4f2: 220d movs r2, #13 804a4f4: 701a strb r2, [r3, #0] menupos = Ok; 804a4f6: 4b36 ldr r3, [pc, #216] ; (804a5d0 ) 804a4f8: 2200 movs r2, #0 804a4fa: 701a strb r2, [r3, #0] READY_TO_SEE = false; 804a4fc: 4b3b ldr r3, [pc, #236] ; (804a5ec ) 804a4fe: 2200 movs r2, #0 804a500: 701a strb r2, [r3, #0] break; 804a502: e2a6 b.n 804aa52 case MAIN_SYGNAL: focused = false; 804a504: 4b38 ldr r3, [pc, #224] ; (804a5e8 ) 804a506: 2200 movs r2, #0 804a508: 701a strb r2, [r3, #0] if(menupos == Cursor) 804a50a: 4b31 ldr r3, [pc, #196] ; (804a5d0 ) 804a50c: 781b ldrb r3, [r3, #0] 804a50e: b2db uxtb r3, r3 804a510: 2b06 cmp r3, #6 804a512: d105 bne.n 804a520 menupos = lastmenupos; 804a514: 4b2f ldr r3, [pc, #188] ; (804a5d4 ) 804a516: 781b ldrb r3, [r3, #0] 804a518: b2da uxtb r2, r3 804a51a: 4b2d ldr r3, [pc, #180] ; (804a5d0 ) 804a51c: 701a strb r2, [r3, #0] else { menu = ARCHIVE_WAVE; menupos = FilesGTR; } break; 804a51e: e298 b.n 804aa52 menu = ARCHIVE_WAVE; 804a520: 4b2a ldr r3, [pc, #168] ; (804a5cc ) 804a522: 2217 movs r2, #23 804a524: 701a strb r2, [r3, #0] menupos = FilesGTR; 804a526: 4b2a ldr r3, [pc, #168] ; (804a5d0 ) 804a528: 2202 movs r2, #2 804a52a: 701a strb r2, [r3, #0] break; 804a52c: e291 b.n 804aa52 case MAIN_SPEC_OGIB: focused = false; 804a52e: 4b2e ldr r3, [pc, #184] ; (804a5e8 ) 804a530: 2200 movs r2, #0 804a532: 701a strb r2, [r3, #0] if(menupos == Cursor) 804a534: 4b26 ldr r3, [pc, #152] ; (804a5d0 ) 804a536: 781b ldrb r3, [r3, #0] 804a538: b2db uxtb r3, r3 804a53a: 2b06 cmp r3, #6 804a53c: d105 bne.n 804a54a menupos = lastmenupos; 804a53e: 4b25 ldr r3, [pc, #148] ; (804a5d4 ) 804a540: 781b ldrb r3, [r3, #0] 804a542: b2da uxtb r2, r3 804a544: 4b22 ldr r3, [pc, #136] ; (804a5d0 ) 804a546: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_SPEC; menupos = Ok; READY_TO_SEE = false; } break; 804a548: e283 b.n 804aa52 StopMeas(); 804a54a: f7d9 f927 bl 802379c menu = PARAM_SPEC; 804a54e: 4b1f ldr r3, [pc, #124] ; (804a5cc ) 804a550: 2207 movs r2, #7 804a552: 701a strb r2, [r3, #0] menupos = Ok; 804a554: 4b1e ldr r3, [pc, #120] ; (804a5d0 ) 804a556: 2200 movs r2, #0 804a558: 701a strb r2, [r3, #0] READY_TO_SEE = false; 804a55a: 4b24 ldr r3, [pc, #144] ; (804a5ec ) 804a55c: 2200 movs r2, #0 804a55e: 701a strb r2, [r3, #0] break; 804a560: e277 b.n 804aa52 case MAIN_SPEC_OKT: focused = false; 804a562: 4b21 ldr r3, [pc, #132] ; (804a5e8 ) 804a564: 2200 movs r2, #0 804a566: 701a strb r2, [r3, #0] if(menupos == Cursor) 804a568: 4b19 ldr r3, [pc, #100] ; (804a5d0 ) 804a56a: 781b ldrb r3, [r3, #0] 804a56c: b2db uxtb r3, r3 804a56e: 2b06 cmp r3, #6 804a570: d105 bne.n 804a57e menupos = lastmenupos; 804a572: 4b18 ldr r3, [pc, #96] ; (804a5d4 ) 804a574: 781b ldrb r3, [r3, #0] 804a576: b2da uxtb r2, r3 804a578: 4b15 ldr r3, [pc, #84] ; (804a5d0 ) 804a57a: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_SPEC; menupos = Ok; READY_TO_SEE = false; } break; 804a57c: e269 b.n 804aa52 StopMeas(); 804a57e: f7d9 f90d bl 802379c menu = PARAM_SPEC; 804a582: 4b12 ldr r3, [pc, #72] ; (804a5cc ) 804a584: 2207 movs r2, #7 804a586: 701a strb r2, [r3, #0] menupos = Ok; 804a588: 4b11 ldr r3, [pc, #68] ; (804a5d0 ) 804a58a: 2200 movs r2, #0 804a58c: 701a strb r2, [r3, #0] READY_TO_SEE = false; 804a58e: 4b17 ldr r3, [pc, #92] ; (804a5ec ) 804a590: 2200 movs r2, #0 804a592: 701a strb r2, [r3, #0] break; 804a594: e25d b.n 804aa52 case MAIN_UDAR: focused = false; 804a596: 4b14 ldr r3, [pc, #80] ; (804a5e8 ) 804a598: 2200 movs r2, #0 804a59a: 701a strb r2, [r3, #0] if(menupos == Cursor) 804a59c: 4b0c ldr r3, [pc, #48] ; (804a5d0 ) 804a59e: 781b ldrb r3, [r3, #0] 804a5a0: b2db uxtb r3, r3 804a5a2: 2b06 cmp r3, #6 804a5a4: d105 bne.n 804a5b2 menupos = lastmenupos; 804a5a6: 4b0b ldr r3, [pc, #44] ; (804a5d4 ) 804a5a8: 781b ldrb r3, [r3, #0] 804a5aa: b2da uxtb r2, r3 804a5ac: 4b08 ldr r3, [pc, #32] ; (804a5d0 ) 804a5ae: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_UDAR; menupos = Ok; READY_TO_SEE = false; } break; 804a5b0: e24f b.n 804aa52 StopMeas(); 804a5b2: f7d9 f8f3 bl 802379c menu = PARAM_UDAR; 804a5b6: 4b05 ldr r3, [pc, #20] ; (804a5cc ) 804a5b8: 220e movs r2, #14 804a5ba: 701a strb r2, [r3, #0] menupos = Ok; 804a5bc: 4b04 ldr r3, [pc, #16] ; (804a5d0 ) 804a5be: 2200 movs r2, #0 804a5c0: 701a strb r2, [r3, #0] READY_TO_SEE = false; 804a5c2: 4b0a ldr r3, [pc, #40] ; (804a5ec ) 804a5c4: 2200 movs r2, #0 804a5c6: 701a strb r2, [r3, #0] break; 804a5c8: e243 b.n 804aa52 804a5ca: bf00 nop 804a5cc: 20020fc5 .word 0x20020fc5 804a5d0: 20020070 .word 0x20020070 804a5d4: 20020071 .word 0x20020071 804a5d8: 20021570 .word 0x20021570 804a5dc: 20020fc6 .word 0x20020fc6 804a5e0: 20020dd1 .word 0x20020dd1 804a5e4: 20020dd2 .word 0x20020dd2 804a5e8: 20020fd0 .word 0x20020fd0 804a5ec: 20020dae .word 0x20020dae case MAIN_DIAGN: focused = false; 804a5f0: 4bad ldr r3, [pc, #692] ; (804a8a8 ) 804a5f2: 2200 movs r2, #0 804a5f4: 701a strb r2, [r3, #0] StopMeas(); 804a5f6: f7d9 f8d1 bl 802379c menu = PARAM_DIAGN_2; 804a5fa: 4bac ldr r3, [pc, #688] ; (804a8ac ) 804a5fc: 2211 movs r2, #17 804a5fe: 701a strb r2, [r3, #0] menupos = Ok; 804a600: 4bab ldr r3, [pc, #684] ; (804a8b0 ) 804a602: 2200 movs r2, #0 804a604: 701a strb r2, [r3, #0] break; 804a606: e224 b.n 804aa52 case MAIN_SPEC_THIRD: focused = false; 804a608: 4ba7 ldr r3, [pc, #668] ; (804a8a8 ) 804a60a: 2200 movs r2, #0 804a60c: 701a strb r2, [r3, #0] if(menupos == Cursor) 804a60e: 4ba8 ldr r3, [pc, #672] ; (804a8b0 ) 804a610: 781b ldrb r3, [r3, #0] 804a612: b2db uxtb r3, r3 804a614: 2b06 cmp r3, #6 804a616: d105 bne.n 804a624 menupos = lastmenupos; 804a618: 4ba6 ldr r3, [pc, #664] ; (804a8b4 ) 804a61a: 781b ldrb r3, [r3, #0] 804a61c: b2da uxtb r2, r3 804a61e: 4ba4 ldr r3, [pc, #656] ; (804a8b0 ) 804a620: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_SPEC; menupos = Ok; READY_TO_SEE = false; } break; 804a622: e216 b.n 804aa52 StopMeas(); 804a624: f7d9 f8ba bl 802379c menu = PARAM_SPEC; 804a628: 4ba0 ldr r3, [pc, #640] ; (804a8ac ) 804a62a: 2207 movs r2, #7 804a62c: 701a strb r2, [r3, #0] menupos = Ok; 804a62e: 4ba0 ldr r3, [pc, #640] ; (804a8b0 ) 804a630: 2200 movs r2, #0 804a632: 701a strb r2, [r3, #0] READY_TO_SEE = false; 804a634: 4ba0 ldr r3, [pc, #640] ; (804a8b8 ) 804a636: 2200 movs r2, #0 804a638: 701a strb r2, [r3, #0] break; 804a63a: e20a b.n 804aa52 case MAIN_WAVE: focused = false; 804a63c: 4b9a ldr r3, [pc, #616] ; (804a8a8 ) 804a63e: 2200 movs r2, #0 804a640: 701a strb r2, [r3, #0] StopMeas(); 804a642: f7d9 f8ab bl 802379c if(IS_ROUTE == false) 804a646: 4b9d ldr r3, [pc, #628] ; (804a8bc ) 804a648: 781b ldrb r3, [r3, #0] 804a64a: b2db uxtb r3, r3 804a64c: f083 0301 eor.w r3, r3, #1 804a650: b2db uxtb r3, r3 804a652: 2b00 cmp r3, #0 804a654: d009 beq.n 804a66a { menu = PARAM_WAVE; 804a656: 4b95 ldr r3, [pc, #596] ; (804a8ac ) 804a658: 220a movs r2, #10 804a65a: 701a strb r2, [r3, #0] menupos = Ok; 804a65c: 4b94 ldr r3, [pc, #592] ; (804a8b0 ) 804a65e: 2200 movs r2, #0 804a660: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 804a662: 4b97 ldr r3, [pc, #604] ; (804a8c0 ) 804a664: 2200 movs r2, #0 804a666: 709a strb r2, [r3, #2] }*/ if(RouteMeas(RouteIndex) == 0) menupos = GoMeas; else menupos = NextPoint; } break; 804a668: e1f3 b.n 804aa52 IS_ROUTE = false; 804a66a: 4b94 ldr r3, [pc, #592] ; (804a8bc ) 804a66c: 2200 movs r2, #0 804a66e: 701a strb r2, [r3, #0] menu = ROUTE_MAP; 804a670: 4b8e ldr r3, [pc, #568] ; (804a8ac ) 804a672: 2204 movs r2, #4 804a674: 701a strb r2, [r3, #0] if(RouteMeas(RouteIndex) == 0) 804a676: 4b93 ldr r3, [pc, #588] ; (804a8c4 ) 804a678: 681a ldr r2, [r3, #0] 804a67a: 4b93 ldr r3, [pc, #588] ; (804a8c8 ) 804a67c: 4413 add r3, r2 804a67e: 781b ldrb r3, [r3, #0] 804a680: 2b00 cmp r3, #0 804a682: d103 bne.n 804a68c menupos = GoMeas; 804a684: 4b8a ldr r3, [pc, #552] ; (804a8b0 ) 804a686: 2201 movs r2, #1 804a688: 701a strb r2, [r3, #0] break; 804a68a: e1e2 b.n 804aa52 else menupos = NextPoint; 804a68c: 4b88 ldr r3, [pc, #544] ; (804a8b0 ) 804a68e: 2202 movs r2, #2 804a690: 701a strb r2, [r3, #0] break; 804a692: e1de b.n 804aa52 case EXPLORER: focused = false; 804a694: 4b84 ldr r3, [pc, #528] ; (804a8a8 ) 804a696: 2200 movs r2, #0 804a698: 701a strb r2, [r3, #0] if(NeedClean == 0) 804a69a: 4b8c ldr r3, [pc, #560] ; (804a8cc ) 804a69c: 781b ldrb r3, [r3, #0] 804a69e: b2db uxtb r3, r3 804a6a0: 2b00 cmp r3, #0 804a6a2: f040 81cc bne.w 804aa3e { memset(MeasFileName, 0, sizeof(MeasFileName));//TODO 804a6a6: 2221 movs r2, #33 ; 0x21 804a6a8: 2100 movs r1, #0 804a6aa: 4889 ldr r0, [pc, #548] ; (804a8d0 ) 804a6ac: f087 fc7a bl 80d1fa4 menu = PARAM_VIB; 804a6b0: 4b7e ldr r3, [pc, #504] ; (804a8ac ) 804a6b2: 2206 movs r2, #6 804a6b4: 701a strb r2, [r3, #0] menupos = SaveToFile; 804a6b6: 4b7e ldr r3, [pc, #504] ; (804a8b0 ) 804a6b8: 220a movs r2, #10 804a6ba: 701a strb r2, [r3, #0] } break; 804a6bc: e1bf b.n 804aa3e case EXPLORER_DIAGN: focused = false; 804a6be: 4b7a ldr r3, [pc, #488] ; (804a8a8 ) 804a6c0: 2200 movs r2, #0 804a6c2: 701a strb r2, [r3, #0] if(NeedClean == 0) 804a6c4: 4b81 ldr r3, [pc, #516] ; (804a8cc ) 804a6c6: 781b ldrb r3, [r3, #0] 804a6c8: b2db uxtb r3, r3 804a6ca: 2b00 cmp r3, #0 804a6cc: f040 81ba bne.w 804aa44 { memset(DiagFileName, 0, sizeof(DiagFileName));//TODO 804a6d0: 2221 movs r2, #33 ; 0x21 804a6d2: 2100 movs r1, #0 804a6d4: 487f ldr r0, [pc, #508] ; (804a8d4 ) 804a6d6: f087 fc65 bl 80d1fa4 menu = PARAM_DIAGN; 804a6da: 4b74 ldr r3, [pc, #464] ; (804a8ac ) 804a6dc: 220f movs r2, #15 804a6de: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 804a6e0: 4b73 ldr r3, [pc, #460] ; (804a8b0 ) 804a6e2: 2204 movs r2, #4 804a6e4: 701a strb r2, [r3, #0] } break; 804a6e6: e1ad b.n 804aa44 focused = false; menu = SETTINGS; menupos = Accel; break;*/ case PARAM_DIAGN_2: focused = false; 804a6e8: 4b6f ldr r3, [pc, #444] ; (804a8a8 ) 804a6ea: 2200 movs r2, #0 804a6ec: 701a strb r2, [r3, #0] menu = PARAM_DIAGN_1; 804a6ee: 4b6f ldr r3, [pc, #444] ; (804a8ac ) 804a6f0: 2210 movs r2, #16 804a6f2: 701a strb r2, [r3, #0] menupos = CURR_POINT; 804a6f4: 4b78 ldr r3, [pc, #480] ; (804a8d8 ) 804a6f6: 781b ldrb r3, [r3, #0] 804a6f8: b2da uxtb r2, r3 804a6fa: 4b6d ldr r3, [pc, #436] ; (804a8b0 ) 804a6fc: 701a strb r2, [r3, #0] break; 804a6fe: e1a8 b.n 804aa52 case PARAM_DIAGN_1: focused = false; 804a700: 4b69 ldr r3, [pc, #420] ; (804a8a8 ) 804a702: 2200 movs r2, #0 804a704: 701a strb r2, [r3, #0] menu = PARAM_DIAGN; 804a706: 4b69 ldr r3, [pc, #420] ; (804a8ac ) 804a708: 220f movs r2, #15 804a70a: 701a strb r2, [r3, #0] menupos = DiagUs; 804a70c: 4b68 ldr r3, [pc, #416] ; (804a8b0 ) 804a70e: 2200 movs r2, #0 804a710: 701a strb r2, [r3, #0] break; 804a712: e19e b.n 804aa52 case PARAM_VIB: focused = false; 804a714: 4b64 ldr r3, [pc, #400] ; (804a8a8 ) 804a716: 2200 movs r2, #0 804a718: 701a strb r2, [r3, #0] menu = MEAS_MODE; 804a71a: 4b64 ldr r3, [pc, #400] ; (804a8ac ) 804a71c: 2202 movs r2, #2 804a71e: 701a strb r2, [r3, #0] menupos = Vibrometer; 804a720: 4b63 ldr r3, [pc, #396] ; (804a8b0 ) 804a722: 2201 movs r2, #1 804a724: 701a strb r2, [r3, #0] break; 804a726: e194 b.n 804aa52 case PARAM_OSC: focused = false; 804a728: 4b5f ldr r3, [pc, #380] ; (804a8a8 ) 804a72a: 2200 movs r2, #0 804a72c: 701a strb r2, [r3, #0] menu = MEAS_MODE; 804a72e: 4b5f ldr r3, [pc, #380] ; (804a8ac ) 804a730: 2202 movs r2, #2 804a732: 701a strb r2, [r3, #0] menupos = Osc; 804a734: 4b5e ldr r3, [pc, #376] ; (804a8b0 ) 804a736: 2202 movs r2, #2 804a738: 701a strb r2, [r3, #0] break; 804a73a: e18a b.n 804aa52 case PARAM_SPEC: focused = false; 804a73c: 4b5a ldr r3, [pc, #360] ; (804a8a8 ) 804a73e: 2200 movs r2, #0 804a740: 701a strb r2, [r3, #0] menu = MEAS_MODE; 804a742: 4b5a ldr r3, [pc, #360] ; (804a8ac ) 804a744: 2202 movs r2, #2 804a746: 701a strb r2, [r3, #0] menupos = FFT; 804a748: 4b59 ldr r3, [pc, #356] ; (804a8b0 ) 804a74a: 2203 movs r2, #3 804a74c: 701a strb r2, [r3, #0] break; 804a74e: e180 b.n 804aa52 case PARAM_WAVE: focused = false; 804a750: 4b55 ldr r3, [pc, #340] ; (804a8a8 ) 804a752: 2200 movs r2, #0 804a754: 701a strb r2, [r3, #0] menu = MEAS_MODE; 804a756: 4b55 ldr r3, [pc, #340] ; (804a8ac ) 804a758: 2202 movs r2, #2 804a75a: 701a strb r2, [r3, #0] menupos = Wave; 804a75c: 4b54 ldr r3, [pc, #336] ; (804a8b0 ) 804a75e: 2204 movs r2, #4 804a760: 701a strb r2, [r3, #0] break; 804a762: e176 b.n 804aa52 case PARAM_ROLL: focused = false; 804a764: 4b50 ldr r3, [pc, #320] ; (804a8a8 ) 804a766: 2200 movs r2, #0 804a768: 701a strb r2, [r3, #0] menu = MEAS_MODE; 804a76a: 4b50 ldr r3, [pc, #320] ; (804a8ac ) 804a76c: 2202 movs r2, #2 804a76e: 701a strb r2, [r3, #0] menupos = Roll; 804a770: 4b4f ldr r3, [pc, #316] ; (804a8b0 ) 804a772: 2206 movs r2, #6 804a774: 701a strb r2, [r3, #0] break; 804a776: e16c b.n 804aa52 case PARAM_UDAR: focused = false; 804a778: 4b4b ldr r3, [pc, #300] ; (804a8a8 ) 804a77a: 2200 movs r2, #0 804a77c: 701a strb r2, [r3, #0] menu = MEAS_MODE; 804a77e: 4b4b ldr r3, [pc, #300] ; (804a8ac ) 804a780: 2202 movs r2, #2 804a782: 701a strb r2, [r3, #0] menupos = Udar; 804a784: 4b4a ldr r3, [pc, #296] ; (804a8b0 ) 804a786: 2207 movs r2, #7 804a788: 701a strb r2, [r3, #0] break; 804a78a: e162 b.n 804aa52 case PARAM_DIAGN: focused = false; 804a78c: 4b46 ldr r3, [pc, #280] ; (804a8a8 ) 804a78e: 2200 movs r2, #0 804a790: 701a strb r2, [r3, #0] menu = MEAS_MODE; 804a792: 4b46 ldr r3, [pc, #280] ; (804a8ac ) 804a794: 2202 movs r2, #2 804a796: 701a strb r2, [r3, #0] menupos = Diagn; 804a798: 4b45 ldr r3, [pc, #276] ; (804a8b0 ) 804a79a: 2205 movs r2, #5 804a79c: 701a strb r2, [r3, #0] break; 804a79e: e158 b.n 804aa52 case MEAS_MODE: focused = false; 804a7a0: 4b41 ldr r3, [pc, #260] ; (804a8a8 ) 804a7a2: 2200 movs r2, #0 804a7a4: 701a strb r2, [r3, #0] menu = OPTIONS; 804a7a6: 4b41 ldr r3, [pc, #260] ; (804a8ac ) 804a7a8: 2201 movs r2, #1 804a7aa: 701a strb r2, [r3, #0] menupos = Mode; 804a7ac: 4b40 ldr r3, [pc, #256] ; (804a8b0 ) 804a7ae: 2201 movs r2, #1 804a7b0: 701a strb r2, [r3, #0] break; 804a7b2: e14e b.n 804aa52 case ARCHIVE_WAVE: focused = false; 804a7b4: 4b3c ldr r3, [pc, #240] ; (804a8a8 ) 804a7b6: 2200 movs r2, #0 804a7b8: 701a strb r2, [r3, #0] if(NeedClean == 0) 804a7ba: 4b44 ldr r3, [pc, #272] ; (804a8cc ) 804a7bc: 781b ldrb r3, [r3, #0] 804a7be: b2db uxtb r3, r3 804a7c0: 2b00 cmp r3, #0 804a7c2: f040 8142 bne.w 804aa4a { menu = OPTIONS; 804a7c6: 4b39 ldr r3, [pc, #228] ; (804a8ac ) 804a7c8: 2201 movs r2, #1 804a7ca: 701a strb r2, [r3, #0] menupos = PlayFiles; 804a7cc: 4b38 ldr r3, [pc, #224] ; (804a8b0 ) 804a7ce: 2203 movs r2, #3 804a7d0: 701a strb r2, [r3, #0] } break; 804a7d2: e13a b.n 804aa4a case ROUTE: focused = false; 804a7d4: 4b34 ldr r3, [pc, #208] ; (804a8a8 ) 804a7d6: 2200 movs r2, #0 804a7d8: 701a strb r2, [r3, #0] if(NeedClean == 0) 804a7da: 4b3c ldr r3, [pc, #240] ; (804a8cc ) 804a7dc: 781b ldrb r3, [r3, #0] 804a7de: b2db uxtb r3, r3 804a7e0: 2b00 cmp r3, #0 804a7e2: f040 8135 bne.w 804aa50 { RouteIndex = MaxRouteIndex = 0; 804a7e6: 2300 movs r3, #0 804a7e8: 4a3c ldr r2, [pc, #240] ; (804a8dc ) 804a7ea: 6013 str r3, [r2, #0] 804a7ec: 4a35 ldr r2, [pc, #212] ; (804a8c4 ) 804a7ee: 6013 str r3, [r2, #0] memset((void *) &RouteMeas(0), 0, 65536u); 804a7f0: f44f 3280 mov.w r2, #65536 ; 0x10000 804a7f4: 2100 movs r1, #0 804a7f6: 4834 ldr r0, [pc, #208] ; (804a8c8 ) 804a7f8: f087 fbd4 bl 80d1fa4 menu = OPTIONS; 804a7fc: 4b2b ldr r3, [pc, #172] ; (804a8ac ) 804a7fe: 2201 movs r2, #1 804a800: 701a strb r2, [r3, #0] menupos = Route; 804a802: 4b2b ldr r3, [pc, #172] ; (804a8b0 ) 804a804: 2204 movs r2, #4 804a806: 701a strb r2, [r3, #0] } break; 804a808: e122 b.n 804aa50 case ROUTE_MAP: focused = false; 804a80a: 4b27 ldr r3, [pc, #156] ; (804a8a8 ) 804a80c: 2200 movs r2, #0 804a80e: 701a strb r2, [r3, #0] menu = ROUTE; 804a810: 4b26 ldr r3, [pc, #152] ; (804a8ac ) 804a812: 2203 movs r2, #3 804a814: 701a strb r2, [r3, #0] menupos = FilesCSV; 804a816: 4b26 ldr r3, [pc, #152] ; (804a8b0 ) 804a818: 2202 movs r2, #2 804a81a: 701a strb r2, [r3, #0] memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 804a81c: 4a28 ldr r2, [pc, #160] ; (804a8c0 ) 804a81e: 4b30 ldr r3, [pc, #192] ; (804a8e0 ) 804a820: 4610 mov r0, r2 804a822: 4619 mov r1, r3 804a824: f44f 6396 mov.w r3, #1200 ; 0x4b0 804a828: 461a mov r2, r3 804a82a: f087 fbb0 bl 80d1f8e RouteIndex = 0; 804a82e: 4b25 ldr r3, [pc, #148] ; (804a8c4 ) 804a830: 2200 movs r2, #0 804a832: 601a str r2, [r3, #0] for(i = 0; i < MaxRouteIndex; i++) 804a834: 2300 movs r3, #0 804a836: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 804a83a: e058 b.n 804a8ee { if(RouteMeas(i) != 0) 804a83c: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804a840: 4b21 ldr r3, [pc, #132] ; (804a8c8 ) 804a842: 4413 add r3, r2 804a844: 781b ldrb r3, [r3, #0] 804a846: 2b00 cmp r3, #0 804a848: d04c beq.n 804a8e4 { RouteIndex = i + 1; 804a84a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804a84e: 3301 adds r3, #1 804a850: 4a1c ldr r2, [pc, #112] ; (804a8c4 ) 804a852: 6013 str r3, [r2, #0] if(RouteIndex == MaxRouteIndex) 804a854: 4b1b ldr r3, [pc, #108] ; (804a8c4 ) 804a856: 681a ldr r2, [r3, #0] 804a858: 4b20 ldr r3, [pc, #128] ; (804a8dc ) 804a85a: 681b ldr r3, [r3, #0] 804a85c: 429a cmp r2, r3 804a85e: d141 bne.n 804a8e4 { for(l = 0; l < MaxRouteIndex; l++) 804a860: 2300 movs r3, #0 804a862: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 804a866: e00f b.n 804a888 { if(RouteMeas(l) == 0) { 804a868: f8d7 20b8 ldr.w r2, [r7, #184] ; 0xb8 804a86c: 4b16 ldr r3, [pc, #88] ; (804a8c8 ) 804a86e: 4413 add r3, r2 804a870: 781b ldrb r3, [r3, #0] 804a872: 2b00 cmp r3, #0 804a874: d103 bne.n 804a87e RouteIndex = l; 804a876: 4a13 ldr r2, [pc, #76] ; (804a8c4 ) 804a878: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 804a87c: 6013 str r3, [r2, #0] for(l = 0; l < MaxRouteIndex; l++) 804a87e: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 804a882: 3301 adds r3, #1 804a884: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 804a888: 4b14 ldr r3, [pc, #80] ; (804a8dc ) 804a88a: 681b ldr r3, [r3, #0] 804a88c: f8d7 20b8 ldr.w r2, [r7, #184] ; 0xb8 804a890: 429a cmp r2, r3 804a892: d3e9 bcc.n 804a868 } } if(RouteIndex == MaxRouteIndex) 804a894: 4b0b ldr r3, [pc, #44] ; (804a8c4 ) 804a896: 681a ldr r2, [r3, #0] 804a898: 4b10 ldr r3, [pc, #64] ; (804a8dc ) 804a89a: 681b ldr r3, [r3, #0] 804a89c: 429a cmp r2, r3 804a89e: d121 bne.n 804a8e4 { RouteIndex = 0; 804a8a0: 4b08 ldr r3, [pc, #32] ; (804a8c4 ) 804a8a2: 2200 movs r2, #0 804a8a4: 601a str r2, [r3, #0] break; 804a8a6: e028 b.n 804a8fa 804a8a8: 20020fd0 .word 0x20020fd0 804a8ac: 20020fc5 .word 0x20020fc5 804a8b0: 20020070 .word 0x20020070 804a8b4: 20020071 .word 0x20020071 804a8b8: 20020dae .word 0x20020dae 804a8bc: 20020dd3 .word 0x20020dd3 804a8c0: 20023eb8 .word 0x20023eb8 804a8c4: 20020fb8 .word 0x20020fb8 804a8c8: 64100000 .word 0x64100000 804a8cc: 20020dfc .word 0x20020dfc 804a8d0: 20020e80 .word 0x20020e80 804a8d4: 20020ea4 .word 0x20020ea4 804a8d8: 2002105d .word 0x2002105d 804a8dc: 20020fbc .word 0x20020fbc 804a8e0: 200243d4 .word 0x200243d4 for(i = 0; i < MaxRouteIndex; i++) 804a8e4: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804a8e8: 3301 adds r3, #1 804a8ea: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 804a8ee: 4bc2 ldr r3, [pc, #776] ; (804abf8 ) 804a8f0: 681b ldr r3, [r3, #0] 804a8f2: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804a8f6: 429a cmp r2, r3 804a8f8: d3a0 bcc.n 804a83c } } } } pardata.ROUTE_POINT = RouteIndex; 804a8fa: 4bc0 ldr r3, [pc, #768] ; (804abfc ) 804a8fc: 681b ldr r3, [r3, #0] 804a8fe: 4ac0 ldr r2, [pc, #768] ; (804ac00 ) 804a900: f8c2 34ac str.w r3, [r2, #1196] ; 0x4ac if(pardata.ROUTE_POINT >= MaxRouteIndex) { 804a904: 4bbe ldr r3, [pc, #760] ; (804ac00 ) 804a906: f8d3 24ac ldr.w r2, [r3, #1196] ; 0x4ac 804a90a: 4bbb ldr r3, [pc, #748] ; (804abf8 ) 804a90c: 681b ldr r3, [r3, #0] 804a90e: 429a cmp r2, r3 804a910: d303 bcc.n 804a91a pardata.ROUTE_POINT = 0; 804a912: 4bbb ldr r3, [pc, #748] ; (804ac00 ) 804a914: 2200 movs r2, #0 804a916: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac } memcpy(RouteFileName, RouteName, 40); 804a91a: 4aba ldr r2, [pc, #744] ; (804ac04 ) 804a91c: 4bba ldr r3, [pc, #744] ; (804ac08 ) 804a91e: 4610 mov r0, r2 804a920: f103 0420 add.w r4, r3, #32 804a924: 4602 mov r2, r0 804a926: 4619 mov r1, r3 804a928: f8d1 e000 ldr.w lr, [r1] 804a92c: 684e ldr r6, [r1, #4] 804a92e: 688d ldr r5, [r1, #8] 804a930: 68c9 ldr r1, [r1, #12] 804a932: f8c2 e000 str.w lr, [r2] 804a936: 6056 str r6, [r2, #4] 804a938: 6095 str r5, [r2, #8] 804a93a: 60d1 str r1, [r2, #12] 804a93c: 3310 adds r3, #16 804a93e: 3010 adds r0, #16 804a940: 42a3 cmp r3, r4 804a942: d1ef bne.n 804a924 804a944: 4602 mov r2, r0 804a946: 6819 ldr r1, [r3, #0] 804a948: 685b ldr r3, [r3, #4] 804a94a: 6011 str r1, [r2, #0] 804a94c: 6053 str r3, [r2, #4] wrPar(); 804a94e: f7e4 fa63 bl 802ee18 RoutePointID = 0xffffffff; 804a952: 4bae ldr r3, [pc, #696] ; (804ac0c ) 804a954: f04f 32ff mov.w r2, #4294967295 804a958: 601a str r2, [r3, #0] RouteIndex = MaxRouteIndex = 0; 804a95a: 2300 movs r3, #0 804a95c: 4aa6 ldr r2, [pc, #664] ; (804abf8 ) 804a95e: 6013 str r3, [r2, #0] 804a960: 4aa6 ldr r2, [pc, #664] ; (804abfc ) 804a962: 6013 str r3, [r2, #0] memset((void *) &RouteMeas(0), 0, 65536u); 804a964: f44f 3280 mov.w r2, #65536 ; 0x10000 804a968: 2100 movs r1, #0 804a96a: 48a9 ldr r0, [pc, #676] ; (804ac10 ) 804a96c: f087 fb1a bl 80d1fa4 break; 804a970: e06f b.n 804aa52 case SETTINGS: focused = false; 804a972: 4ba8 ldr r3, [pc, #672] ; (804ac14 ) 804a974: 2200 movs r2, #0 804a976: 701a strb r2, [r3, #0] menu = OPTIONS; 804a978: 4ba7 ldr r3, [pc, #668] ; (804ac18 ) 804a97a: 2201 movs r2, #1 804a97c: 701a strb r2, [r3, #0] menupos = Settings; 804a97e: 4ba7 ldr r3, [pc, #668] ; (804ac1c ) 804a980: 2202 movs r2, #2 804a982: 701a strb r2, [r3, #0] break; 804a984: e065 b.n 804aa52 case DATETIME: focused = false; 804a986: 4ba3 ldr r3, [pc, #652] ; (804ac14 ) 804a988: 2200 movs r2, #0 804a98a: 701a strb r2, [r3, #0] menu = SETTINGS; 804a98c: 4ba2 ldr r3, [pc, #648] ; (804ac18 ) 804a98e: 2212 movs r2, #18 804a990: 701a strb r2, [r3, #0] menupos = DateTime; 804a992: 4ba2 ldr r3, [pc, #648] ; (804ac1c ) 804a994: 2204 movs r2, #4 804a996: 701a strb r2, [r3, #0] break; 804a998: e05b b.n 804aa52 case INPUT_NAME: focused = false; 804a99a: 4b9e ldr r3, [pc, #632] ; (804ac14 ) 804a99c: 2200 movs r2, #0 804a99e: 701a strb r2, [r3, #0] NameLen = strlen(Name); 804a9a0: 489f ldr r0, [pc, #636] ; (804ac20 ) 804a9a2: f7d5 fcb7 bl 8020314 804a9a6: 4602 mov r2, r0 804a9a8: 4b9e ldr r3, [pc, #632] ; (804ac24 ) 804a9aa: 601a str r2, [r3, #0] menu = PARAM_DIAGN_2; 804a9ac: 4b9a ldr r3, [pc, #616] ; (804ac18 ) 804a9ae: 2211 movs r2, #17 804a9b0: 701a strb r2, [r3, #0] menupos = lastmenupos; 804a9b2: 4b9d ldr r3, [pc, #628] ; (804ac28 ) 804a9b4: 781b ldrb r3, [r3, #0] 804a9b6: b2da uxtb r2, r3 804a9b8: 4b98 ldr r3, [pc, #608] ; (804ac1c ) 804a9ba: 701a strb r2, [r3, #0] break; 804a9bc: e049 b.n 804aa52 case INPUT_NAME_SPEC: menu = lastmenu; 804a9be: 4b9b ldr r3, [pc, #620] ; (804ac2c ) 804a9c0: 781b ldrb r3, [r3, #0] 804a9c2: b2da uxtb r2, r3 804a9c4: 4b94 ldr r3, [pc, #592] ; (804ac18 ) 804a9c6: 701a strb r2, [r3, #0] menupos = SaveSpec; 804a9c8: 4b94 ldr r3, [pc, #592] ; (804ac1c ) 804a9ca: 2209 movs r2, #9 804a9cc: 701a strb r2, [r3, #0] break; 804a9ce: e040 b.n 804aa52 case INPUT_NAME_PTM: focused = false; 804a9d0: 4b90 ldr r3, [pc, #576] ; (804ac14 ) 804a9d2: 2200 movs r2, #0 804a9d4: 701a strb r2, [r3, #0] MeasFileNameLen = strlen(MeasFileName); 804a9d6: 4896 ldr r0, [pc, #600] ; (804ac30 ) 804a9d8: f7d5 fc9c bl 8020314 804a9dc: 4602 mov r2, r0 804a9de: 4b95 ldr r3, [pc, #596] ; (804ac34 ) 804a9e0: 601a str r2, [r3, #0] menu = EXPLORER; 804a9e2: 4b8d ldr r3, [pc, #564] ; (804ac18 ) 804a9e4: 2229 movs r2, #41 ; 0x29 804a9e6: 701a strb r2, [r3, #0] menupos = lastmenupos; 804a9e8: 4b8f ldr r3, [pc, #572] ; (804ac28 ) 804a9ea: 781b ldrb r3, [r3, #0] 804a9ec: b2da uxtb r2, r3 804a9ee: 4b8b ldr r3, [pc, #556] ; (804ac1c ) 804a9f0: 701a strb r2, [r3, #0] break; 804a9f2: e02e b.n 804aa52 case INPUT_NAME_GTR: focused = false; 804a9f4: 4b87 ldr r3, [pc, #540] ; (804ac14 ) 804a9f6: 2200 movs r2, #0 804a9f8: 701a strb r2, [r3, #0] WavFileNameLen = strlen(WavFileName); 804a9fa: 488f ldr r0, [pc, #572] ; (804ac38 ) 804a9fc: f7d5 fc8a bl 8020314 804aa00: 4602 mov r2, r0 804aa02: 4b8e ldr r3, [pc, #568] ; (804ac3c ) 804aa04: 601a str r2, [r3, #0] menu = PARAM_WAVE; 804aa06: 4b84 ldr r3, [pc, #528] ; (804ac18 ) 804aa08: 220a movs r2, #10 804aa0a: 701a strb r2, [r3, #0] menupos = WaveName; 804aa0c: 4b83 ldr r3, [pc, #524] ; (804ac1c ) 804aa0e: 2204 movs r2, #4 804aa10: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 804aa12: 4b7b ldr r3, [pc, #492] ; (804ac00 ) 804aa14: 2200 movs r2, #0 804aa16: 709a strb r2, [r3, #2] break; 804aa18: e01b b.n 804aa52 case INPUT_NAME_DGN: focused = false; 804aa1a: 4b7e ldr r3, [pc, #504] ; (804ac14 ) 804aa1c: 2200 movs r2, #0 804aa1e: 701a strb r2, [r3, #0] DiagFileNameLen = strlen(DiagFileName); 804aa20: 4887 ldr r0, [pc, #540] ; (804ac40 ) 804aa22: f7d5 fc77 bl 8020314 804aa26: 4602 mov r2, r0 804aa28: 4b86 ldr r3, [pc, #536] ; (804ac44 ) 804aa2a: 601a str r2, [r3, #0] menu = EXPLORER_DIAGN; 804aa2c: 4b7a ldr r3, [pc, #488] ; (804ac18 ) 804aa2e: 222a movs r2, #42 ; 0x2a 804aa30: 701a strb r2, [r3, #0] menupos = lastmenupos; 804aa32: 4b7d ldr r3, [pc, #500] ; (804ac28 ) 804aa34: 781b ldrb r3, [r3, #0] 804aa36: b2da uxtb r2, r3 804aa38: 4b78 ldr r3, [pc, #480] ; (804ac1c ) 804aa3a: 701a strb r2, [r3, #0] break; 804aa3c: e009 b.n 804aa52 break; 804aa3e: bf00 nop 804aa40: f009 be90 b.w 8054764 break; 804aa44: bf00 nop 804aa46: f009 be8d b.w 8054764 break; 804aa4a: bf00 nop 804aa4c: f009 be8a b.w 8054764 break; 804aa50: bf00 nop } break; 804aa52: f009 be87 b.w 8054764 case KEY_OK: // TODO KEY OK switch(menu) 804aa56: 4b70 ldr r3, [pc, #448] ; (804ac18 ) 804aa58: 781b ldrb r3, [r3, #0] 804aa5a: b2db uxtb r3, r3 804aa5c: 2b47 cmp r3, #71 ; 0x47 804aa5e: f209 8683 bhi.w 8054768 804aa62: a201 add r2, pc, #4 ; (adr r2, 804aa68 ) 804aa64: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804aa68: 0804b829 .word 0x0804b829 804aa6c: 08051529 .word 0x08051529 804aa70: 0805221d .word 0x0805221d 804aa74: 08051b01 .word 0x08051b01 804aa78: 08051d4f .word 0x08051d4f 804aa7c: 08054769 .word 0x08054769 804aa80: 08052f21 .word 0x08052f21 804aa84: 08053229 .word 0x08053229 804aa88: 080534b5 .word 0x080534b5 804aa8c: 08054769 .word 0x08054769 804aa90: 080536e7 .word 0x080536e7 804aa94: 08054769 .word 0x08054769 804aa98: 08054769 .word 0x08054769 804aa9c: 08052cd5 .word 0x08052cd5 804aaa0: 08052c29 .word 0x08052c29 804aaa4: 080528e3 .word 0x080528e3 804aaa8: 08052a9d .word 0x08052a9d 804aaac: 08052abd .word 0x08052abd 804aab0: 08053961 .word 0x08053961 804aab4: 08054769 .word 0x08054769 804aab8: 08054151 .word 0x08054151 804aabc: 08054347 .word 0x08054347 804aac0: 080546b1 .word 0x080546b1 804aac4: 080544cf .word 0x080544cf 804aac8: 08053dad .word 0x08053dad 804aacc: 08053b13 .word 0x08053b13 804aad0: 08054769 .word 0x08054769 804aad4: 08054769 .word 0x08054769 804aad8: 0804d363 .word 0x0804d363 804aadc: 0804bc2d .word 0x0804bc2d 804aae0: 0804f635 .word 0x0804f635 804aae4: 0804b829 .word 0x0804b829 804aae8: 0804fabf .word 0x0804fabf 804aaec: 0804dfbf .word 0x0804dfbf 804aaf0: 0804ec0f .word 0x0804ec0f 804aaf4: 0804f121 .word 0x0804f121 804aaf8: 0804cb87 .word 0x0804cb87 804aafc: 0804b161 .word 0x0804b161 804ab00: 0804ab89 .word 0x0804ab89 804ab04: 0804c401 .word 0x0804c401 804ab08: 0804c425 .word 0x0804c425 804ab0c: 0804feb1 .word 0x0804feb1 804ab10: 08050027 .word 0x08050027 804ab14: 08050a69 .word 0x08050a69 804ab18: 08050df7 .word 0x08050df7 804ab1c: 08051375 .word 0x08051375 804ab20: 08054769 .word 0x08054769 804ab24: 0805101d .word 0x0805101d 804ab28: 080511f1 .word 0x080511f1 804ab2c: 08050701 .word 0x08050701 804ab30: 080501d9 .word 0x080501d9 804ab34: 08050c55 .word 0x08050c55 804ab38: 08053e77 .word 0x08053e77 804ab3c: 08053e01 .word 0x08053e01 804ab40: 08053e93 .word 0x08053e93 804ab44: 08053e93 .word 0x08053e93 804ab48: 08053e93 .word 0x08053e93 804ab4c: 08053e93 .word 0x08053e93 804ab50: 08053e93 .word 0x08053e93 804ab54: 08053e93 .word 0x08053e93 804ab58: 08053e93 .word 0x08053e93 804ab5c: 08053e93 .word 0x08053e93 804ab60: 08053f0f .word 0x08053f0f 804ab64: 08053f93 .word 0x08053f93 804ab68: 08053fd1 .word 0x08053fd1 804ab6c: 0805412d .word 0x0805412d 804ab70: 08054769 .word 0x08054769 804ab74: 08054769 .word 0x08054769 804ab78: 08054769 .word 0x08054769 804ab7c: 0804b805 .word 0x0804b805 804ab80: 0804b805 .word 0x0804b805 804ab84: 0804b805 .word 0x0804b805 { case MAIN_DIAGN: switch(menupos) 804ab88: 4b24 ldr r3, [pc, #144] ; (804ac1c ) 804ab8a: 781b ldrb r3, [r3, #0] 804ab8c: b2db uxtb r3, r3 804ab8e: 2b04 cmp r3, #4 804ab90: f209 8590 bhi.w 80546b4 804ab94: a201 add r2, pc, #4 ; (adr r2, 804ab9c ) 804ab96: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804ab9a: bf00 nop 804ab9c: 0804abc3 .word 0x0804abc3 804aba0: 0804abb1 .word 0x0804abb1 804aba4: 0804ac59 .word 0x0804ac59 804aba8: 0804b155 .word 0x0804b155 804abac: 0804b155 .word 0x0804b155 { case BackMenu: StopMeas(); 804abb0: f7d8 fdf4 bl 802379c menu = PARAM_DIAGN_2; 804abb4: 4b18 ldr r3, [pc, #96] ; (804ac18 ) 804abb6: 2211 movs r2, #17 804abb8: 701a strb r2, [r3, #0] menupos = Ok; 804abba: 4b18 ldr r3, [pc, #96] ; (804ac1c ) 804abbc: 2200 movs r2, #0 804abbe: 701a strb r2, [r3, #0] break; 804abc0: e2cc b.n 804b15c case StartStop: if(!measuring) 804abc2: 4b21 ldr r3, [pc, #132] ; (804ac48 ) 804abc4: 781b ldrb r3, [r3, #0] 804abc6: b2db uxtb r3, r3 804abc8: f083 0301 eor.w r3, r3, #1 804abcc: b2db uxtb r3, r3 804abce: 2b00 cmp r3, #0 804abd0: d00a beq.n 804abe8 { initAmplif(); 804abd2: f7d6 ff5f bl 8021a94 StartMeas(); 804abd6: f7d8 fa31 bl 802303c FIRST = true; 804abda: 4b1c ldr r3, [pc, #112] ; (804ac4c ) 804abdc: 2201 movs r2, #1 804abde: 701a strb r2, [r3, #0] DrawSavedData = false; 804abe0: 4b1b ldr r3, [pc, #108] ; (804ac50 ) 804abe2: 2200 movs r2, #0 804abe4: 701a strb r2, [r3, #0] else { StopMeas(); oldmenupos = menupos; } break; 804abe6: e2b9 b.n 804b15c StopMeas(); 804abe8: f7d8 fdd8 bl 802379c oldmenupos = menupos; 804abec: 4b0b ldr r3, [pc, #44] ; (804ac1c ) 804abee: 781b ldrb r3, [r3, #0] 804abf0: b2da uxtb r2, r3 804abf2: 4b18 ldr r3, [pc, #96] ; (804ac54 ) 804abf4: 701a strb r2, [r3, #0] break; 804abf6: e2b1 b.n 804b15c 804abf8: 20020fbc .word 0x20020fbc 804abfc: 20020fb8 .word 0x20020fb8 804ac00: 20023eb8 .word 0x20023eb8 804ac04: 20020ec8 .word 0x20020ec8 804ac08: 20022678 .word 0x20022678 804ac0c: 20020034 .word 0x20020034 804ac10: 64100000 .word 0x64100000 804ac14: 20020fd0 .word 0x20020fd0 804ac18: 20020fc5 .word 0x20020fc5 804ac1c: 20020070 .word 0x20020070 804ac20: 20020eec .word 0x20020eec 804ac24: 20020f1c .word 0x20020f1c 804ac28: 20020071 .word 0x20020071 804ac2c: 20020fc6 .word 0x20020fc6 804ac30: 20020e80 .word 0x20020e80 804ac34: 20020f14 .word 0x20020f14 804ac38: 20020e5c .word 0x20020e5c 804ac3c: 20020f10 .word 0x20020f10 804ac40: 20020ea4 .word 0x20020ea4 804ac44: 20020f18 .word 0x20020f18 804ac48: 20020dcf .word 0x20020dcf 804ac4c: 20020dd2 .word 0x20020dd2 804ac50: 20020dea .word 0x20020dea 804ac54: 20020fc7 .word 0x20020fc7 case Record: if(CardState == MSD_READY) 804ac58: 4bae ldr r3, [pc, #696] ; (804af14 ) 804ac5a: 781b ldrb r3, [r3, #0] 804ac5c: b2db uxtb r3, r3 804ac5e: 2b03 cmp r3, #3 804ac60: f040 826d bne.w 804b13e { if((!measuring) && (!AddToFile) && (!FIRST)) 804ac64: 4bac ldr r3, [pc, #688] ; (804af18 ) 804ac66: 781b ldrb r3, [r3, #0] 804ac68: b2db uxtb r3, r3 804ac6a: f083 0301 eor.w r3, r3, #1 804ac6e: b2db uxtb r3, r3 804ac70: 2b00 cmp r3, #0 804ac72: f000 8272 beq.w 804b15a 804ac76: 4ba9 ldr r3, [pc, #676] ; (804af1c ) 804ac78: 781b ldrb r3, [r3, #0] 804ac7a: b2db uxtb r3, r3 804ac7c: f083 0301 eor.w r3, r3, #1 804ac80: b2db uxtb r3, r3 804ac82: 2b00 cmp r3, #0 804ac84: f000 8269 beq.w 804b15a 804ac88: 4ba5 ldr r3, [pc, #660] ; (804af20 ) 804ac8a: 781b ldrb r3, [r3, #0] 804ac8c: b2db uxtb r3, r3 804ac8e: f083 0301 eor.w r3, r3, #1 804ac92: b2db uxtb r3, r3 804ac94: 2b00 cmp r3, #0 804ac96: f000 8260 beq.w 804b15a { if(NEWFILE) 804ac9a: 4ba2 ldr r3, [pc, #648] ; (804af24 ) 804ac9c: 781b ldrb r3, [r3, #0] 804ac9e: b2db uxtb r3, r3 804aca0: 2b00 cmp r3, #0 804aca2: d02b beq.n 804acfc { memcpy(TEMP_Comment, Comment, sizeof(Comment)); 804aca4: 4aa0 ldr r2, [pc, #640] ; (804af28 ) 804aca6: 4ba1 ldr r3, [pc, #644] ; (804af2c ) 804aca8: 4610 mov r0, r2 804acaa: f103 0420 add.w r4, r3, #32 804acae: 4602 mov r2, r0 804acb0: 4619 mov r1, r3 804acb2: f8d1 e000 ldr.w lr, [r1] 804acb6: 684e ldr r6, [r1, #4] 804acb8: 688d ldr r5, [r1, #8] 804acba: 68c9 ldr r1, [r1, #12] 804acbc: f8c2 e000 str.w lr, [r2] 804acc0: 6056 str r6, [r2, #4] 804acc2: 6095 str r5, [r2, #8] 804acc4: 60d1 str r1, [r2, #12] 804acc6: 3310 adds r3, #16 804acc8: 3010 adds r0, #16 804acca: 42a3 cmp r3, r4 804accc: d1ef bne.n 804acae 804acce: 4602 mov r2, r0 804acd0: 6819 ldr r1, [r3, #0] 804acd2: 685b ldr r3, [r3, #4] 804acd4: 6011 str r1, [r2, #0] 804acd6: 6053 str r3, [r2, #4] CommentLen = strlen(TEMP_Comment); 804acd8: 4893 ldr r0, [pc, #588] ; (804af28 ) 804acda: f7d5 fb1b bl 8020314 804acde: 4602 mov r2, r0 804ace0: 4b93 ldr r3, [pc, #588] ; (804af30 ) 804ace2: 601a str r2, [r3, #0] lastmenu = menu; 804ace4: 4b93 ldr r3, [pc, #588] ; (804af34 ) 804ace6: 781b ldrb r3, [r3, #0] 804ace8: b2da uxtb r2, r3 804acea: 4b93 ldr r3, [pc, #588] ; (804af38 ) 804acec: 701a strb r2, [r3, #0] menu = INPUT_COMMENT_DIAGN; 804acee: 4b91 ldr r3, [pc, #580] ; (804af34 ) 804acf0: 2232 movs r2, #50 ; 0x32 804acf2: 701a strb r2, [r3, #0] menupos = _ENTER; 804acf4: 4b91 ldr r3, [pc, #580] ; (804af3c ) 804acf6: 2226 movs r2, #38 ; 0x26 804acf8: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804acfa: e22e b.n 804b15a DiagnFileData.d_Op1_ipr = pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7; 804acfc: 4b90 ldr r3, [pc, #576] ; (804af40 ) 804acfe: 781b ldrb r3, [r3, #0] 804ad00: b2db uxtb r3, r3 804ad02: 4a90 ldr r2, [pc, #576] ; (804af44 ) 804ad04: 338e adds r3, #142 ; 0x8e 804ad06: 009b lsls r3, r3, #2 804ad08: 4413 add r3, r2 804ad0a: 791b ldrb r3, [r3, #4] 804ad0c: b2db uxtb r3, r3 804ad0e: f003 0307 and.w r3, r3, #7 804ad12: b2da uxtb r2, r3 804ad14: 4b8c ldr r3, [pc, #560] ; (804af48 ) 804ad16: f883 2028 strb.w r2, [r3, #40] ; 0x28 DiagnFileData.d_Op2_ipr = pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7; 804ad1a: 4b89 ldr r3, [pc, #548] ; (804af40 ) 804ad1c: 781b ldrb r3, [r3, #0] 804ad1e: b2db uxtb r3, r3 804ad20: 4a88 ldr r2, [pc, #544] ; (804af44 ) 804ad22: 009b lsls r3, r3, #2 804ad24: 4413 add r3, r2 804ad26: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 804ad2a: b2db uxtb r3, r3 804ad2c: f003 0307 and.w r3, r3, #7 804ad30: b2da uxtb r2, r3 804ad32: 4b85 ldr r3, [pc, #532] ; (804af48 ) 804ad34: f883 2029 strb.w r2, [r3, #41] ; 0x29 DiagnFileData.d_Op3_ipr = pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7; 804ad38: 4b81 ldr r3, [pc, #516] ; (804af40 ) 804ad3a: 781b ldrb r3, [r3, #0] 804ad3c: b2db uxtb r3, r3 804ad3e: 4a81 ldr r2, [pc, #516] ; (804af44 ) 804ad40: 009b lsls r3, r3, #2 804ad42: 4413 add r3, r2 804ad44: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 804ad48: b2db uxtb r3, r3 804ad4a: f003 0307 and.w r3, r3, #7 804ad4e: b2da uxtb r2, r3 804ad50: 4b7d ldr r3, [pc, #500] ; (804af48 ) 804ad52: f883 202a strb.w r2, [r3, #42] ; 0x2a switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 804ad56: 4b7a ldr r3, [pc, #488] ; (804af40 ) 804ad58: 781b ldrb r3, [r3, #0] 804ad5a: b2db uxtb r3, r3 804ad5c: 4a79 ldr r2, [pc, #484] ; (804af44 ) 804ad5e: 338e adds r3, #142 ; 0x8e 804ad60: 009b lsls r3, r3, #2 804ad62: 4413 add r3, r2 804ad64: 791b ldrb r3, [r3, #4] 804ad66: b2db uxtb r3, r3 804ad68: 08db lsrs r3, r3, #3 804ad6a: b2db uxtb r3, r3 804ad6c: f003 031f and.w r3, r3, #31 804ad70: 3b01 subs r3, #1 804ad72: 2b0f cmp r3, #15 804ad74: d83b bhi.n 804adee 804ad76: a201 add r2, pc, #4 ; (adr r2, 804ad7c ) 804ad78: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804ad7c: 0804adbd .word 0x0804adbd 804ad80: 0804adc7 .word 0x0804adc7 804ad84: 0804adef .word 0x0804adef 804ad88: 0804add1 .word 0x0804add1 804ad8c: 0804adef .word 0x0804adef 804ad90: 0804adef .word 0x0804adef 804ad94: 0804adef .word 0x0804adef 804ad98: 0804addb .word 0x0804addb 804ad9c: 0804adef .word 0x0804adef 804ada0: 0804adef .word 0x0804adef 804ada4: 0804adef .word 0x0804adef 804ada8: 0804adef .word 0x0804adef 804adac: 0804adef .word 0x0804adef 804adb0: 0804adef .word 0x0804adef 804adb4: 0804adef .word 0x0804adef 804adb8: 0804ade5 .word 0x0804ade5 case DIAGN_PEAK: DiagnFileData.d_Op1_ivs = 'P'; break; 804adbc: 4b62 ldr r3, [pc, #392] ; (804af48 ) 804adbe: 2250 movs r2, #80 ; 0x50 804adc0: f883 202b strb.w r2, [r3, #43] ; 0x2b 804adc4: e013 b.n 804adee case DIAGN_RMS: DiagnFileData.d_Op1_ivs = 'S'; break; 804adc6: 4b60 ldr r3, [pc, #384] ; (804af48 ) 804adc8: 2253 movs r2, #83 ; 0x53 804adca: f883 202b strb.w r2, [r3, #43] ; 0x2b 804adce: e00e b.n 804adee case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op1_ivs = 'R'; break; 804add0: 4b5d ldr r3, [pc, #372] ; (804af48 ) 804add2: 2252 movs r2, #82 ; 0x52 804add4: f883 202b strb.w r2, [r3, #43] ; 0x2b 804add8: e009 b.n 804adee case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op1_ivs = 'F'; break; 804adda: 4b5b ldr r3, [pc, #364] ; (804af48 ) 804addc: 2246 movs r2, #70 ; 0x46 804adde: f883 202b strb.w r2, [r3, #43] ; 0x2b 804ade2: e004 b.n 804adee case DIAGN_EXCESS: DiagnFileData.d_Op1_ivs = 'E'; break; 804ade4: 4b58 ldr r3, [pc, #352] ; (804af48 ) 804ade6: 2245 movs r2, #69 ; 0x45 804ade8: f883 202b strb.w r2, [r3, #43] ; 0x2b 804adec: bf00 nop switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 804adee: 4b54 ldr r3, [pc, #336] ; (804af40 ) 804adf0: 781b ldrb r3, [r3, #0] 804adf2: b2db uxtb r3, r3 804adf4: 4a53 ldr r2, [pc, #332] ; (804af44 ) 804adf6: 009b lsls r3, r3, #2 804adf8: 4413 add r3, r2 804adfa: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 804adfe: b2db uxtb r3, r3 804ae00: 08db lsrs r3, r3, #3 804ae02: b2db uxtb r3, r3 804ae04: f003 031f and.w r3, r3, #31 804ae08: 3b01 subs r3, #1 804ae0a: 2b0f cmp r3, #15 804ae0c: d83b bhi.n 804ae86 804ae0e: a201 add r2, pc, #4 ; (adr r2, 804ae14 ) 804ae10: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804ae14: 0804ae55 .word 0x0804ae55 804ae18: 0804ae5f .word 0x0804ae5f 804ae1c: 0804ae87 .word 0x0804ae87 804ae20: 0804ae69 .word 0x0804ae69 804ae24: 0804ae87 .word 0x0804ae87 804ae28: 0804ae87 .word 0x0804ae87 804ae2c: 0804ae87 .word 0x0804ae87 804ae30: 0804ae73 .word 0x0804ae73 804ae34: 0804ae87 .word 0x0804ae87 804ae38: 0804ae87 .word 0x0804ae87 804ae3c: 0804ae87 .word 0x0804ae87 804ae40: 0804ae87 .word 0x0804ae87 804ae44: 0804ae87 .word 0x0804ae87 804ae48: 0804ae87 .word 0x0804ae87 804ae4c: 0804ae87 .word 0x0804ae87 804ae50: 0804ae7d .word 0x0804ae7d case DIAGN_PEAK: DiagnFileData.d_Op2_ivs = 'P'; break; 804ae54: 4b3c ldr r3, [pc, #240] ; (804af48 ) 804ae56: 2250 movs r2, #80 ; 0x50 804ae58: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ae5c: e013 b.n 804ae86 case DIAGN_RMS: DiagnFileData.d_Op2_ivs = 'S'; break; 804ae5e: 4b3a ldr r3, [pc, #232] ; (804af48 ) 804ae60: 2253 movs r2, #83 ; 0x53 804ae62: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ae66: e00e b.n 804ae86 case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op2_ivs = 'R'; break; 804ae68: 4b37 ldr r3, [pc, #220] ; (804af48 ) 804ae6a: 2252 movs r2, #82 ; 0x52 804ae6c: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ae70: e009 b.n 804ae86 case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op2_ivs = 'F'; break; 804ae72: 4b35 ldr r3, [pc, #212] ; (804af48 ) 804ae74: 2246 movs r2, #70 ; 0x46 804ae76: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ae7a: e004 b.n 804ae86 case DIAGN_EXCESS: DiagnFileData.d_Op2_ivs = 'E'; break; 804ae7c: 4b32 ldr r3, [pc, #200] ; (804af48 ) 804ae7e: 2245 movs r2, #69 ; 0x45 804ae80: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ae84: bf00 nop switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 804ae86: 4b2e ldr r3, [pc, #184] ; (804af40 ) 804ae88: 781b ldrb r3, [r3, #0] 804ae8a: b2db uxtb r3, r3 804ae8c: 4a2d ldr r2, [pc, #180] ; (804af44 ) 804ae8e: 009b lsls r3, r3, #2 804ae90: 4413 add r3, r2 804ae92: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 804ae96: b2db uxtb r3, r3 804ae98: 08db lsrs r3, r3, #3 804ae9a: b2db uxtb r3, r3 804ae9c: f003 031f and.w r3, r3, #31 804aea0: 3b01 subs r3, #1 804aea2: 2b0f cmp r3, #15 804aea4: d857 bhi.n 804af56 804aea6: a201 add r2, pc, #4 ; (adr r2, 804aeac ) 804aea8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804aeac: 0804aeed .word 0x0804aeed 804aeb0: 0804aef7 .word 0x0804aef7 804aeb4: 0804af57 .word 0x0804af57 804aeb8: 0804af01 .word 0x0804af01 804aebc: 0804af57 .word 0x0804af57 804aec0: 0804af57 .word 0x0804af57 804aec4: 0804af57 .word 0x0804af57 804aec8: 0804af0b .word 0x0804af0b 804aecc: 0804af57 .word 0x0804af57 804aed0: 0804af57 .word 0x0804af57 804aed4: 0804af57 .word 0x0804af57 804aed8: 0804af57 .word 0x0804af57 804aedc: 0804af57 .word 0x0804af57 804aee0: 0804af57 .word 0x0804af57 804aee4: 0804af57 .word 0x0804af57 804aee8: 0804af4d .word 0x0804af4d case DIAGN_PEAK: DiagnFileData.d_Op3_ivs = 'P'; break; 804aeec: 4b16 ldr r3, [pc, #88] ; (804af48 ) 804aeee: 2250 movs r2, #80 ; 0x50 804aef0: f883 202d strb.w r2, [r3, #45] ; 0x2d 804aef4: e02f b.n 804af56 case DIAGN_RMS: DiagnFileData.d_Op3_ivs = 'S'; break; 804aef6: 4b14 ldr r3, [pc, #80] ; (804af48 ) 804aef8: 2253 movs r2, #83 ; 0x53 804aefa: f883 202d strb.w r2, [r3, #45] ; 0x2d 804aefe: e02a b.n 804af56 case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op3_ivs = 'R'; break; 804af00: 4b11 ldr r3, [pc, #68] ; (804af48 ) 804af02: 2252 movs r2, #82 ; 0x52 804af04: f883 202d strb.w r2, [r3, #45] ; 0x2d 804af08: e025 b.n 804af56 case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op3_ivs = 'F'; break; 804af0a: 4b0f ldr r3, [pc, #60] ; (804af48 ) 804af0c: 2246 movs r2, #70 ; 0x46 804af0e: f883 202d strb.w r2, [r3, #45] ; 0x2d 804af12: e020 b.n 804af56 804af14: 2002169c .word 0x2002169c 804af18: 20020dcf .word 0x20020dcf 804af1c: 20020de8 .word 0x20020de8 804af20: 20020dd2 .word 0x20020dd2 804af24: 20020e38 .word 0x20020e38 804af28: 20025c98 .word 0x20025c98 804af2c: 200226a0 .word 0x200226a0 804af30: 20020e3c .word 0x20020e3c 804af34: 20020fc5 .word 0x20020fc5 804af38: 20020fc6 .word 0x20020fc6 804af3c: 20020070 .word 0x20020070 804af40: 2002105d .word 0x2002105d 804af44: 20023eb8 .word 0x20023eb8 804af48: 20022644 .word 0x20022644 case DIAGN_EXCESS: DiagnFileData.d_Op3_ivs = 'E'; break; 804af4c: 4ba9 ldr r3, [pc, #676] ; (804b1f4 ) 804af4e: 2245 movs r2, #69 ; 0x45 804af50: f883 202d strb.w r2, [r3, #45] ; 0x2d 804af54: bf00 nop DiagnFileData.Op_1.fl = operand[Us1]; 804af56: 4ba8 ldr r3, [pc, #672] ; (804b1f8 ) 804af58: 681b ldr r3, [r3, #0] 804af5a: 4aa6 ldr r2, [pc, #664] ; (804b1f4 ) 804af5c: 6013 str r3, [r2, #0] DiagnFileData.Op_2.fl = operand[Us2]; 804af5e: 4ba6 ldr r3, [pc, #664] ; (804b1f8 ) 804af60: 685b ldr r3, [r3, #4] 804af62: 4aa4 ldr r2, [pc, #656] ; (804b1f4 ) 804af64: 6053 str r3, [r2, #4] DiagnFileData.Op_3.fl = operand[Us3]; 804af66: 4ba4 ldr r3, [pc, #656] ; (804b1f8 ) 804af68: 689b ldr r3, [r3, #8] 804af6a: 4aa2 ldr r2, [pc, #648] ; (804b1f4 ) 804af6c: 6093 str r3, [r2, #8] DiagnFileData.d_Time = RTC_TimeStruct; 804af6e: 4ba1 ldr r3, [pc, #644] ; (804b1f4 ) 804af70: 4aa2 ldr r2, [pc, #648] ; (804b1fc ) 804af72: f103 040c add.w r4, r3, #12 804af76: 4615 mov r5, r2 804af78: cd0f ldmia r5!, {r0, r1, r2, r3} 804af7a: c40f stmia r4!, {r0, r1, r2, r3} 804af7c: e895 0003 ldmia.w r5, {r0, r1} 804af80: e884 0003 stmia.w r4, {r0, r1} DiagnFileData.d_Date = RTC_DateStruct; 804af84: 4b9b ldr r3, [pc, #620] ; (804b1f4 ) 804af86: 4a9e ldr r2, [pc, #632] ; (804b200 ) 804af88: 3324 adds r3, #36 ; 0x24 804af8a: 6810 ldr r0, [r2, #0] 804af8c: 6018 str r0, [r3, #0] if(ALARM) DiagnFileData.d_Alarm = 1; 804af8e: 4b9d ldr r3, [pc, #628] ; (804b204 ) 804af90: 781b ldrb r3, [r3, #0] 804af92: b2db uxtb r3, r3 804af94: 2b00 cmp r3, #0 804af96: d004 beq.n 804afa2 804af98: 4b96 ldr r3, [pc, #600] ; (804b1f4 ) 804af9a: 2201 movs r2, #1 804af9c: f883 2032 strb.w r2, [r3, #50] ; 0x32 804afa0: e003 b.n 804afaa else DiagnFileData.d_Alarm = 0; 804afa2: 4b94 ldr r3, [pc, #592] ; (804b1f4 ) 804afa4: 2200 movs r2, #0 804afa6: f883 2032 strb.w r2, [r3, #50] ; 0x32 if(WARNING) DiagnFileData.d_Warning = 1; 804afaa: 4b97 ldr r3, [pc, #604] ; (804b208 ) 804afac: 781b ldrb r3, [r3, #0] 804afae: b2db uxtb r3, r3 804afb0: 2b00 cmp r3, #0 804afb2: d004 beq.n 804afbe 804afb4: 4b8f ldr r3, [pc, #572] ; (804b1f4 ) 804afb6: 2201 movs r2, #1 804afb8: f883 2031 strb.w r2, [r3, #49] ; 0x31 804afbc: e003 b.n 804afc6 else DiagnFileData.d_Warning = 0; 804afbe: 4b8d ldr r3, [pc, #564] ; (804b1f4 ) 804afc0: 2200 movs r2, #0 804afc2: f883 2031 strb.w r2, [r3, #49] ; 0x31 if(operand[Us1] < pardata.DIAGN_A[CURR_POINT][Us1]) 804afc6: 4b8c ldr r3, [pc, #560] ; (804b1f8 ) 804afc8: ed93 7a00 vldr s14, [r3] 804afcc: 4b8f ldr r3, [pc, #572] ; (804b20c ) 804afce: 781b ldrb r3, [r3, #0] 804afd0: b2db uxtb r3, r3 804afd2: 4a8f ldr r2, [pc, #572] ; (804b210 ) 804afd4: 011b lsls r3, r3, #4 804afd6: 4413 add r3, r2 804afd8: f503 7377 add.w r3, r3, #988 ; 0x3dc 804afdc: edd3 7a00 vldr s15, [r3] 804afe0: eeb4 7ae7 vcmpe.f32 s14, s15 804afe4: eef1 fa10 vmrs APSR_nzcv, fpscr 804afe8: d51b bpl.n 804b022 if(operand[Us1] < pardata.DIAGN_W[CURR_POINT][Us1]) 804afea: 4b83 ldr r3, [pc, #524] ; (804b1f8 ) 804afec: ed93 7a00 vldr s14, [r3] 804aff0: 4b86 ldr r3, [pc, #536] ; (804b20c ) 804aff2: 781b ldrb r3, [r3, #0] 804aff4: b2db uxtb r3, r3 804aff6: 4a86 ldr r2, [pc, #536] ; (804b210 ) 804aff8: 011b lsls r3, r3, #4 804affa: 4413 add r3, r2 804affc: f503 7357 add.w r3, r3, #860 ; 0x35c 804b000: edd3 7a00 vldr s15, [r3] 804b004: eeb4 7ae7 vcmpe.f32 s14, s15 804b008: eef1 fa10 vmrs APSR_nzcv, fpscr 804b00c: d504 bpl.n 804b018 DiagnFileData.d_Op1_Color = 0; 804b00e: 4b79 ldr r3, [pc, #484] ; (804b1f4 ) 804b010: 2200 movs r2, #0 804b012: f883 202e strb.w r2, [r3, #46] ; 0x2e 804b016: e008 b.n 804b02a else DiagnFileData.d_Op1_Color = 1; 804b018: 4b76 ldr r3, [pc, #472] ; (804b1f4 ) 804b01a: 2201 movs r2, #1 804b01c: f883 202e strb.w r2, [r3, #46] ; 0x2e 804b020: e003 b.n 804b02a DiagnFileData.d_Op1_Color = 2; 804b022: 4b74 ldr r3, [pc, #464] ; (804b1f4 ) 804b024: 2202 movs r2, #2 804b026: f883 202e strb.w r2, [r3, #46] ; 0x2e if(operand[Us2] < pardata.DIAGN_A[CURR_POINT][Us2]) 804b02a: 4b73 ldr r3, [pc, #460] ; (804b1f8 ) 804b02c: ed93 7a01 vldr s14, [r3, #4] 804b030: 4b76 ldr r3, [pc, #472] ; (804b20c ) 804b032: 781b ldrb r3, [r3, #0] 804b034: b2db uxtb r3, r3 804b036: 4a76 ldr r2, [pc, #472] ; (804b210 ) 804b038: 011b lsls r3, r3, #4 804b03a: 4413 add r3, r2 804b03c: f503 7378 add.w r3, r3, #992 ; 0x3e0 804b040: edd3 7a00 vldr s15, [r3] 804b044: eeb4 7ae7 vcmpe.f32 s14, s15 804b048: eef1 fa10 vmrs APSR_nzcv, fpscr 804b04c: d51b bpl.n 804b086 if(operand[Us2] < pardata.DIAGN_W[CURR_POINT][Us2]) 804b04e: 4b6a ldr r3, [pc, #424] ; (804b1f8 ) 804b050: ed93 7a01 vldr s14, [r3, #4] 804b054: 4b6d ldr r3, [pc, #436] ; (804b20c ) 804b056: 781b ldrb r3, [r3, #0] 804b058: b2db uxtb r3, r3 804b05a: 4a6d ldr r2, [pc, #436] ; (804b210 ) 804b05c: 011b lsls r3, r3, #4 804b05e: 4413 add r3, r2 804b060: f503 7358 add.w r3, r3, #864 ; 0x360 804b064: edd3 7a00 vldr s15, [r3] 804b068: eeb4 7ae7 vcmpe.f32 s14, s15 804b06c: eef1 fa10 vmrs APSR_nzcv, fpscr 804b070: d504 bpl.n 804b07c DiagnFileData.d_Op2_Color = 0; 804b072: 4b60 ldr r3, [pc, #384] ; (804b1f4 ) 804b074: 2200 movs r2, #0 804b076: f883 202f strb.w r2, [r3, #47] ; 0x2f 804b07a: e008 b.n 804b08e else DiagnFileData.d_Op2_Color = 1; 804b07c: 4b5d ldr r3, [pc, #372] ; (804b1f4 ) 804b07e: 2201 movs r2, #1 804b080: f883 202f strb.w r2, [r3, #47] ; 0x2f 804b084: e003 b.n 804b08e DiagnFileData.d_Op2_Color = 2; 804b086: 4b5b ldr r3, [pc, #364] ; (804b1f4 ) 804b088: 2202 movs r2, #2 804b08a: f883 202f strb.w r2, [r3, #47] ; 0x2f if(operand[Us3] < pardata.DIAGN_A[CURR_POINT][Us3]) 804b08e: 4b5a ldr r3, [pc, #360] ; (804b1f8 ) 804b090: ed93 7a02 vldr s14, [r3, #8] 804b094: 4b5d ldr r3, [pc, #372] ; (804b20c ) 804b096: 781b ldrb r3, [r3, #0] 804b098: b2db uxtb r3, r3 804b09a: 4a5d ldr r2, [pc, #372] ; (804b210 ) 804b09c: 333e adds r3, #62 ; 0x3e 804b09e: 011b lsls r3, r3, #4 804b0a0: 4413 add r3, r2 804b0a2: 3304 adds r3, #4 804b0a4: edd3 7a00 vldr s15, [r3] 804b0a8: eeb4 7ae7 vcmpe.f32 s14, s15 804b0ac: eef1 fa10 vmrs APSR_nzcv, fpscr 804b0b0: d51b bpl.n 804b0ea if(operand[Us3] < pardata.DIAGN_W[CURR_POINT][Us3]) 804b0b2: 4b51 ldr r3, [pc, #324] ; (804b1f8 ) 804b0b4: ed93 7a02 vldr s14, [r3, #8] 804b0b8: 4b54 ldr r3, [pc, #336] ; (804b20c ) 804b0ba: 781b ldrb r3, [r3, #0] 804b0bc: b2db uxtb r3, r3 804b0be: 4a54 ldr r2, [pc, #336] ; (804b210 ) 804b0c0: 3336 adds r3, #54 ; 0x36 804b0c2: 011b lsls r3, r3, #4 804b0c4: 4413 add r3, r2 804b0c6: 3304 adds r3, #4 804b0c8: edd3 7a00 vldr s15, [r3] 804b0cc: eeb4 7ae7 vcmpe.f32 s14, s15 804b0d0: eef1 fa10 vmrs APSR_nzcv, fpscr 804b0d4: d504 bpl.n 804b0e0 DiagnFileData.d_Op3_Color = 0; 804b0d6: 4b47 ldr r3, [pc, #284] ; (804b1f4 ) 804b0d8: 2200 movs r2, #0 804b0da: f883 2030 strb.w r2, [r3, #48] ; 0x30 804b0de: e008 b.n 804b0f2 else DiagnFileData.d_Op3_Color = 1; 804b0e0: 4b44 ldr r3, [pc, #272] ; (804b1f4 ) 804b0e2: 2201 movs r2, #1 804b0e4: f883 2030 strb.w r2, [r3, #48] ; 0x30 804b0e8: e003 b.n 804b0f2 DiagnFileData.d_Op3_Color = 2; 804b0ea: 4b42 ldr r3, [pc, #264] ; (804b1f4 ) 804b0ec: 2202 movs r2, #2 804b0ee: f883 2030 strb.w r2, [r3, #48] ; 0x30 AddToFile = true; 804b0f2: 4b48 ldr r3, [pc, #288] ; (804b214 ) 804b0f4: 2201 movs r2, #1 804b0f6: 701a strb r2, [r3, #0] result = WriteFileDGN(DiagFileName); 804b0f8: 4847 ldr r0, [pc, #284] ; (804b218 ) 804b0fa: f7dd fe07 bl 8028d0c 804b0fe: 4603 mov r3, r0 804b100: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804b104: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804b108: 2b00 cmp r3, #0 804b10a: d10a bne.n 804b122 STATUS = AP_SAVING_SUCCESS; 804b10c: 4b43 ldr r3, [pc, #268] ; (804b21c ) 804b10e: 2207 movs r2, #7 804b110: 601a str r2, [r3, #0] timerStatus = sec2; 804b112: 4b43 ldr r3, [pc, #268] ; (804b220 ) 804b114: f44f 5280 mov.w r2, #4096 ; 0x1000 804b118: 801a strh r2, [r3, #0] DrawStatus = true; 804b11a: 4b42 ldr r3, [pc, #264] ; (804b224 ) 804b11c: 2201 movs r2, #1 804b11e: 701a strb r2, [r3, #0] 804b120: e009 b.n 804b136 STATUS = AP_SAVING_ERROR; 804b122: 4b3e ldr r3, [pc, #248] ; (804b21c ) 804b124: 2208 movs r2, #8 804b126: 601a str r2, [r3, #0] timerStatus = sec2; 804b128: 4b3d ldr r3, [pc, #244] ; (804b220 ) 804b12a: f44f 5280 mov.w r2, #4096 ; 0x1000 804b12e: 801a strh r2, [r3, #0] DrawStatus = true; 804b130: 4b3c ldr r3, [pc, #240] ; (804b224 ) 804b132: 2201 movs r2, #1 804b134: 701a strb r2, [r3, #0] AddToFile = false; 804b136: 4b37 ldr r3, [pc, #220] ; (804b214 ) 804b138: 2200 movs r2, #0 804b13a: 701a strb r2, [r3, #0] break; 804b13c: e00d b.n 804b15a STATUS = AP_NO_CARD; 804b13e: 4b37 ldr r3, [pc, #220] ; (804b21c ) 804b140: 2211 movs r2, #17 804b142: 601a str r2, [r3, #0] timerStatus = sec2; 804b144: 4b36 ldr r3, [pc, #216] ; (804b220 ) 804b146: f44f 5280 mov.w r2, #4096 ; 0x1000 804b14a: 801a strh r2, [r3, #0] DrawStatus = true; 804b14c: 4b35 ldr r3, [pc, #212] ; (804b224 ) 804b14e: 2201 movs r2, #1 804b150: 701a strb r2, [r3, #0] break; 804b152: e002 b.n 804b15a timerStatus = sec2; DrawStatus = true; } } }*/ break; 804b154: bf00 nop 804b156: f009 baad b.w 80546b4 break; 804b15a: bf00 nop } break; 804b15c: f009 baaa b.w 80546b4 case MAIN_UDAR: switch(menupos) 804b160: 4b31 ldr r3, [pc, #196] ; (804b228 ) 804b162: 781b ldrb r3, [r3, #0] 804b164: b2db uxtb r3, r3 804b166: 2b06 cmp r3, #6 804b168: f209 82a6 bhi.w 80546b8 804b16c: a201 add r2, pc, #4 ; (adr r2, 804b174 ) 804b16e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804b172: bf00 nop 804b174: 0804b7b5 .word 0x0804b7b5 804b178: 080546b9 .word 0x080546b9 804b17c: 0804b191 .word 0x0804b191 804b180: 0804b353 .word 0x0804b353 804b184: 0804b58d .word 0x0804b58d 804b188: 0804b285 .word 0x0804b285 804b18c: 0804b7eb .word 0x0804b7eb { case ImageLeft: if(lX) 804b190: 4b26 ldr r3, [pc, #152] ; (804b22c ) 804b192: 881b ldrh r3, [r3, #0] 804b194: b29b uxth r3, r3 804b196: 2b00 cmp r3, #0 804b198: f000 832b beq.w 804b7f2 { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804b19c: 4b24 ldr r3, [pc, #144] ; (804b230 ) 804b19e: 781b ldrb r3, [r3, #0] 804b1a0: b2db uxtb r3, r3 804b1a2: 461a mov r2, r3 804b1a4: 4613 mov r3, r2 804b1a6: 009b lsls r3, r3, #2 804b1a8: 4413 add r3, r2 804b1aa: 4a19 ldr r2, [pc, #100] ; (804b210 ) 804b1ac: 79d2 ldrb r2, [r2, #7] 804b1ae: b2d2 uxtb r2, r2 804b1b0: 4413 add r3, r2 804b1b2: 4a20 ldr r2, [pc, #128] ; (804b234 ) 804b1b4: 3323 adds r3, #35 ; 0x23 804b1b6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b1ba: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804b1be: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804b1c2: 021b lsls r3, r3, #8 804b1c4: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804b1c8: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b1cc: 085b lsrs r3, r3, #1 804b1ce: b29a uxth r2, r3 804b1d0: 4b16 ldr r3, [pc, #88] ; (804b22c ) 804b1d2: 881b ldrh r3, [r3, #0] 804b1d4: b29b uxth r3, r3 804b1d6: 429a cmp r2, r3 804b1d8: d830 bhi.n 804b23c X0 -= (multB_u16 >> 1); 804b1da: 4b17 ldr r3, [pc, #92] ; (804b238 ) 804b1dc: 881b ldrh r3, [r3, #0] 804b1de: b29a uxth r2, r3 804b1e0: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b1e4: 085b lsrs r3, r3, #1 804b1e6: b29b uxth r3, r3 804b1e8: 1ad3 subs r3, r2, r3 804b1ea: b29a uxth r2, r3 804b1ec: 4b12 ldr r3, [pc, #72] ; (804b238 ) 804b1ee: 801a strh r2, [r3, #0] 804b1f0: e027 b.n 804b242 804b1f2: bf00 nop 804b1f4: 20022644 .word 0x20022644 804b1f8: 20026938 .word 0x20026938 804b1fc: 20025cc0 .word 0x20025cc0 804b200: 20025d44 .word 0x20025d44 804b204: 20021061 .word 0x20021061 804b208: 20021060 .word 0x20021060 804b20c: 2002105d .word 0x2002105d 804b210: 20023eb8 .word 0x20023eb8 804b214: 20020de8 .word 0x20020de8 804b218: 20020ea4 .word 0x20020ea4 804b21c: 20020dec .word 0x20020dec 804b220: 200216dc .word 0x200216dc 804b224: 20020df2 .word 0x20020df2 804b228: 20020070 .word 0x20020070 804b22c: 20025d72 .word 0x20025d72 804b230: 20020fc0 .word 0x20020fc0 804b234: 080f51c8 .word 0x080f51c8 804b238: 20025d76 .word 0x20025d76 else X0 = 0; 804b23c: 4ba2 ldr r3, [pc, #648] ; (804b4c8 ) 804b23e: 2200 movs r2, #0 804b240: 801a strh r2, [r3, #0] lX = X0; 804b242: 4ba1 ldr r3, [pc, #644] ; (804b4c8 ) 804b244: 881b ldrh r3, [r3, #0] 804b246: b29a uxth r2, r3 804b248: 4ba0 ldr r3, [pc, #640] ; (804b4cc ) 804b24a: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804b24c: 4b9f ldr r3, [pc, #636] ; (804b4cc ) 804b24e: 881b ldrh r3, [r3, #0] 804b250: b29a uxth r2, r3 804b252: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b256: 4413 add r3, r2 804b258: b29a uxth r2, r3 804b25a: 4b9d ldr r3, [pc, #628] ; (804b4d0 ) 804b25c: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804b25e: 4b9d ldr r3, [pc, #628] ; (804b4d4 ) 804b260: 681b ldr r3, [r3, #0] 804b262: b29b uxth r3, r3 804b264: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804b268: fb12 f303 smulbb r3, r2, r3 804b26c: b29a uxth r2, r3 804b26e: 4b96 ldr r3, [pc, #600] ; (804b4c8 ) 804b270: 881b ldrh r3, [r3, #0] 804b272: b29b uxth r3, r3 804b274: 4413 add r3, r2 804b276: b29a uxth r2, r3 804b278: 4b97 ldr r3, [pc, #604] ; (804b4d8 ) 804b27a: 801a strh r2, [r3, #0] AUTOZOOM = true; 804b27c: 4b97 ldr r3, [pc, #604] ; (804b4dc ) 804b27e: 2201 movs r2, #1 804b280: 701a strb r2, [r3, #0] } break; 804b282: e2b6 b.n 804b7f2 case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804b284: 4b96 ldr r3, [pc, #600] ; (804b4e0 ) 804b286: 781b ldrb r3, [r3, #0] 804b288: b2db uxtb r3, r3 804b28a: 461a mov r2, r3 804b28c: 4613 mov r3, r2 804b28e: 009b lsls r3, r3, #2 804b290: 4413 add r3, r2 804b292: 4a94 ldr r2, [pc, #592] ; (804b4e4 ) 804b294: 79d2 ldrb r2, [r2, #7] 804b296: b2d2 uxtb r2, r2 804b298: 4413 add r3, r2 804b29a: 4a93 ldr r2, [pc, #588] ; (804b4e8 ) 804b29c: 3323 adds r3, #35 ; 0x23 804b29e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b2a2: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804b2a6: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804b2aa: 021b lsls r3, r3, #8 804b2ac: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 804b2b0: 4b8c ldr r3, [pc, #560] ; (804b4e4 ) 804b2b2: 79db ldrb r3, [r3, #7] 804b2b4: b2db uxtb r3, r3 804b2b6: 461a mov r2, r3 804b2b8: 4b8c ldr r3, [pc, #560] ; (804b4ec ) 804b2ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804b2be: 085b lsrs r3, r3, #1 804b2c0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804b2c4: 4b82 ldr r3, [pc, #520] ; (804b4d0 ) 804b2c6: 881b ldrh r3, [r3, #0] 804b2c8: b29b uxth r3, r3 804b2ca: 461a mov r2, r3 804b2cc: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b2d0: 085b lsrs r3, r3, #1 804b2d2: b29b uxth r3, r3 804b2d4: 4413 add r3, r2 804b2d6: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804b2da: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804b2de: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804b2e2: 429a cmp r2, r3 804b2e4: d80b bhi.n 804b2fe X0 += (multB_u16 >> 1); 804b2e6: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b2ea: 085b lsrs r3, r3, #1 804b2ec: b29a uxth r2, r3 804b2ee: 4b76 ldr r3, [pc, #472] ; (804b4c8 ) 804b2f0: 881b ldrh r3, [r3, #0] 804b2f2: b29b uxth r3, r3 804b2f4: 4413 add r3, r2 804b2f6: b29a uxth r2, r3 804b2f8: 4b73 ldr r3, [pc, #460] ; (804b4c8 ) 804b2fa: 801a strh r2, [r3, #0] 804b2fc: e008 b.n 804b310 else X0 = (uint16_t) (k - multB_u16); 804b2fe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804b302: b29a uxth r2, r3 804b304: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b308: 1ad3 subs r3, r2, r3 804b30a: b29a uxth r2, r3 804b30c: 4b6e ldr r3, [pc, #440] ; (804b4c8 ) 804b30e: 801a strh r2, [r3, #0] lX = X0; 804b310: 4b6d ldr r3, [pc, #436] ; (804b4c8 ) 804b312: 881b ldrh r3, [r3, #0] 804b314: b29a uxth r2, r3 804b316: 4b6d ldr r3, [pc, #436] ; (804b4cc ) 804b318: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804b31a: 4b6c ldr r3, [pc, #432] ; (804b4cc ) 804b31c: 881b ldrh r3, [r3, #0] 804b31e: b29a uxth r2, r3 804b320: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b324: 4413 add r3, r2 804b326: b29a uxth r2, r3 804b328: 4b69 ldr r3, [pc, #420] ; (804b4d0 ) 804b32a: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804b32c: 4b69 ldr r3, [pc, #420] ; (804b4d4 ) 804b32e: 681b ldr r3, [r3, #0] 804b330: b29b uxth r3, r3 804b332: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804b336: fb12 f303 smulbb r3, r2, r3 804b33a: b29a uxth r2, r3 804b33c: 4b62 ldr r3, [pc, #392] ; (804b4c8 ) 804b33e: 881b ldrh r3, [r3, #0] 804b340: b29b uxth r3, r3 804b342: 4413 add r3, r2 804b344: b29a uxth r2, r3 804b346: 4b64 ldr r3, [pc, #400] ; (804b4d8 ) 804b348: 801a strh r2, [r3, #0] AUTOZOOM = true; 804b34a: 4b64 ldr r3, [pc, #400] ; (804b4dc ) 804b34c: 2201 movs r2, #1 804b34e: 701a strb r2, [r3, #0] break; 804b350: e256 b.n 804b800 case ZoomIn: lvl_0 = 0; 804b352: 2300 movs r3, #0 804b354: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804b358: 4b61 ldr r3, [pc, #388] ; (804b4e0 ) 804b35a: 781b ldrb r3, [r3, #0] 804b35c: b2db uxtb r3, r3 804b35e: 461a mov r2, r3 804b360: 4613 mov r3, r2 804b362: 009b lsls r3, r3, #2 804b364: 4413 add r3, r2 804b366: 4a5f ldr r2, [pc, #380] ; (804b4e4 ) 804b368: 79d2 ldrb r2, [r2, #7] 804b36a: b2d2 uxtb r2, r2 804b36c: 4413 add r3, r2 804b36e: 4a5e ldr r2, [pc, #376] ; (804b4e8 ) 804b370: 3323 adds r3, #35 ; 0x23 804b372: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b376: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 804b37a: 2304 movs r3, #4 804b37c: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804b380: 4b57 ldr r3, [pc, #348] ; (804b4e0 ) 804b382: 781b ldrb r3, [r3, #0] 804b384: b2db uxtb r3, r3 804b386: b29b uxth r3, r3 804b388: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804b38c: 429a cmp r2, r3 804b38e: f240 8233 bls.w 804b7f8 804b392: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b396: 2b01 cmp r3, #1 804b398: f240 822e bls.w 804b7f8 { ViewLevel++; 804b39c: 4b50 ldr r3, [pc, #320] ; (804b4e0 ) 804b39e: 781b ldrb r3, [r3, #0] 804b3a0: b2db uxtb r3, r3 804b3a2: 3301 adds r3, #1 804b3a4: b2da uxtb r2, r3 804b3a6: 4b4e ldr r3, [pc, #312] ; (804b4e0 ) 804b3a8: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804b3aa: 4b4d ldr r3, [pc, #308] ; (804b4e0 ) 804b3ac: 781b ldrb r3, [r3, #0] 804b3ae: b2db uxtb r3, r3 804b3b0: 461a mov r2, r3 804b3b2: 4613 mov r3, r2 804b3b4: 009b lsls r3, r3, #2 804b3b6: 4413 add r3, r2 804b3b8: 4a4a ldr r2, [pc, #296] ; (804b4e4 ) 804b3ba: 79d2 ldrb r2, [r2, #7] 804b3bc: b2d2 uxtb r2, r2 804b3be: 4413 add r3, r2 804b3c0: 4a49 ldr r2, [pc, #292] ; (804b4e8 ) 804b3c2: 3323 adds r3, #35 ; 0x23 804b3c4: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b3c8: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804b3cc: 4b42 ldr r3, [pc, #264] ; (804b4d8 ) 804b3ce: 881b ldrh r3, [r3, #0] 804b3d0: b29a uxth r2, r3 804b3d2: 4b40 ldr r3, [pc, #256] ; (804b4d4 ) 804b3d4: 681b ldr r3, [r3, #0] 804b3d6: b29b uxth r3, r3 804b3d8: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804b3dc: fb11 f303 smulbb r3, r1, r3 804b3e0: b29b uxth r3, r3 804b3e2: 1ad3 subs r3, r2, r3 804b3e4: b29a uxth r2, r3 804b3e6: 4b38 ldr r3, [pc, #224] ; (804b4c8 ) 804b3e8: 801a strh r2, [r3, #0] lX = X0; 804b3ea: 4b37 ldr r3, [pc, #220] ; (804b4c8 ) 804b3ec: 881b ldrh r3, [r3, #0] 804b3ee: b29a uxth r2, r3 804b3f0: 4b36 ldr r3, [pc, #216] ; (804b4cc ) 804b3f2: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b3f4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b3f8: 021b lsls r3, r3, #8 804b3fa: b29a uxth r2, r3 804b3fc: 4b33 ldr r3, [pc, #204] ; (804b4cc ) 804b3fe: 881b ldrh r3, [r3, #0] 804b400: b29b uxth r3, r3 804b402: 4413 add r3, r2 804b404: b29a uxth r2, r3 804b406: 4b32 ldr r3, [pc, #200] ; (804b4d0 ) 804b408: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b40a: 4b39 ldr r3, [pc, #228] ; (804b4f0 ) 804b40c: 881b ldrh r3, [r3, #0] 804b40e: b29b uxth r3, r3 804b410: 461a mov r2, r3 804b412: 4b2e ldr r3, [pc, #184] ; (804b4cc ) 804b414: 881b ldrh r3, [r3, #0] 804b416: b29b uxth r3, r3 804b418: 1ad2 subs r2, r2, r3 804b41a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b41e: fb92 f3f3 sdiv r3, r2, r3 804b422: 461a mov r2, r3 804b424: 4b2b ldr r3, [pc, #172] ; (804b4d4 ) 804b426: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804b428: 4b2a ldr r3, [pc, #168] ; (804b4d4 ) 804b42a: 681b ldr r3, [r3, #0] 804b42c: b29b uxth r3, r3 804b42e: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b432: fb12 f303 smulbb r3, r2, r3 804b436: b29a uxth r2, r3 804b438: 4b24 ldr r3, [pc, #144] ; (804b4cc ) 804b43a: 881b ldrh r3, [r3, #0] 804b43c: b29b uxth r3, r3 804b43e: 4413 add r3, r2 804b440: b29a uxth r2, r3 804b442: 4b25 ldr r3, [pc, #148] ; (804b4d8 ) 804b444: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804b446: 4b23 ldr r3, [pc, #140] ; (804b4d4 ) 804b448: 681b ldr r3, [r3, #0] 804b44a: 2b7f cmp r3, #127 ; 0x7f 804b44c: d852 bhi.n 804b4f4 804b44e: 4b1e ldr r3, [pc, #120] ; (804b4c8 ) 804b450: 881b ldrh r3, [r3, #0] 804b452: b29b uxth r3, r3 804b454: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b458: 429a cmp r2, r3 804b45a: d84b bhi.n 804b4f4 { if(lX >= dX) 804b45c: 4b1b ldr r3, [pc, #108] ; (804b4cc ) 804b45e: 881b ldrh r3, [r3, #0] 804b460: b29b uxth r3, r3 804b462: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b466: 429a cmp r2, r3 804b468: f200 808c bhi.w 804b584 { CURSOR++; 804b46c: 4b19 ldr r3, [pc, #100] ; (804b4d4 ) 804b46e: 681b ldr r3, [r3, #0] 804b470: 3301 adds r3, #1 804b472: 4a18 ldr r2, [pc, #96] ; (804b4d4 ) 804b474: 6013 str r3, [r2, #0] X0 -= dX; 804b476: 4b14 ldr r3, [pc, #80] ; (804b4c8 ) 804b478: 881b ldrh r3, [r3, #0] 804b47a: b29a uxth r2, r3 804b47c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b480: 1ad3 subs r3, r2, r3 804b482: b29a uxth r2, r3 804b484: 4b10 ldr r3, [pc, #64] ; (804b4c8 ) 804b486: 801a strh r2, [r3, #0] lX = X0; 804b488: 4b0f ldr r3, [pc, #60] ; (804b4c8 ) 804b48a: 881b ldrh r3, [r3, #0] 804b48c: b29a uxth r2, r3 804b48e: 4b0f ldr r3, [pc, #60] ; (804b4cc ) 804b490: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b492: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b496: 021b lsls r3, r3, #8 804b498: b29a uxth r2, r3 804b49a: 4b0c ldr r3, [pc, #48] ; (804b4cc ) 804b49c: 881b ldrh r3, [r3, #0] 804b49e: b29b uxth r3, r3 804b4a0: 4413 add r3, r2 804b4a2: b29a uxth r2, r3 804b4a4: 4b0a ldr r3, [pc, #40] ; (804b4d0 ) 804b4a6: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b4a8: 4b11 ldr r3, [pc, #68] ; (804b4f0 ) 804b4aa: 881b ldrh r3, [r3, #0] 804b4ac: b29b uxth r3, r3 804b4ae: 461a mov r2, r3 804b4b0: 4b06 ldr r3, [pc, #24] ; (804b4cc ) 804b4b2: 881b ldrh r3, [r3, #0] 804b4b4: b29b uxth r3, r3 804b4b6: 1ad2 subs r2, r2, r3 804b4b8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b4bc: fb92 f3f3 sdiv r3, r2, r3 804b4c0: 461a mov r2, r3 804b4c2: 4b04 ldr r3, [pc, #16] ; (804b4d4 ) 804b4c4: 601a str r2, [r3, #0] if(lX >= dX) 804b4c6: e05d b.n 804b584 804b4c8: 20025d76 .word 0x20025d76 804b4cc: 20025d72 .word 0x20025d72 804b4d0: 20025d78 .word 0x20025d78 804b4d4: 2002006c .word 0x2002006c 804b4d8: 20025d6e .word 0x20025d6e 804b4dc: 20020994 .word 0x20020994 804b4e0: 20020fc0 .word 0x20020fc0 804b4e4: 20023eb8 .word 0x20023eb8 804b4e8: 080f51c8 .word 0x080f51c8 804b4ec: 080f5254 .word 0x080f5254 804b4f0: 20025d74 .word 0x20025d74 } } else if(CURSOR > (256 >> 1)) 804b4f4: 4ba5 ldr r3, [pc, #660] ; (804b78c ) 804b4f6: 681b ldr r3, [r3, #0] 804b4f8: 2b80 cmp r3, #128 ; 0x80 804b4fa: d943 bls.n 804b584 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804b4fc: 4ba4 ldr r3, [pc, #656] ; (804b790 ) 804b4fe: 881b ldrh r3, [r3, #0] 804b500: b29b uxth r3, r3 804b502: 461a mov r2, r3 804b504: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b508: 18d1 adds r1, r2, r3 804b50a: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804b50e: 4613 mov r3, r2 804b510: 009b lsls r3, r3, #2 804b512: 4413 add r3, r2 804b514: 4a9f ldr r2, [pc, #636] ; (804b794 ) 804b516: 79d2 ldrb r2, [r2, #7] 804b518: b2d2 uxtb r2, r2 804b51a: 4413 add r3, r2 804b51c: 4a9e ldr r2, [pc, #632] ; (804b798 ) 804b51e: 3323 adds r3, #35 ; 0x23 804b520: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b524: 021b lsls r3, r3, #8 804b526: 4299 cmp r1, r3 804b528: dc2c bgt.n 804b584 { CURSOR--; 804b52a: 4b98 ldr r3, [pc, #608] ; (804b78c ) 804b52c: 681b ldr r3, [r3, #0] 804b52e: 3b01 subs r3, #1 804b530: 4a96 ldr r2, [pc, #600] ; (804b78c ) 804b532: 6013 str r3, [r2, #0] X0 += dX; 804b534: 4b99 ldr r3, [pc, #612] ; (804b79c ) 804b536: 881b ldrh r3, [r3, #0] 804b538: b29a uxth r2, r3 804b53a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b53e: 4413 add r3, r2 804b540: b29a uxth r2, r3 804b542: 4b96 ldr r3, [pc, #600] ; (804b79c ) 804b544: 801a strh r2, [r3, #0] lX = X0; 804b546: 4b95 ldr r3, [pc, #596] ; (804b79c ) 804b548: 881b ldrh r3, [r3, #0] 804b54a: b29a uxth r2, r3 804b54c: 4b94 ldr r3, [pc, #592] ; (804b7a0 ) 804b54e: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b550: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b554: 021b lsls r3, r3, #8 804b556: b29a uxth r2, r3 804b558: 4b91 ldr r3, [pc, #580] ; (804b7a0 ) 804b55a: 881b ldrh r3, [r3, #0] 804b55c: b29b uxth r3, r3 804b55e: 4413 add r3, r2 804b560: b29a uxth r2, r3 804b562: 4b8b ldr r3, [pc, #556] ; (804b790 ) 804b564: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b566: 4b8f ldr r3, [pc, #572] ; (804b7a4 ) 804b568: 881b ldrh r3, [r3, #0] 804b56a: b29b uxth r3, r3 804b56c: 461a mov r2, r3 804b56e: 4b8c ldr r3, [pc, #560] ; (804b7a0 ) 804b570: 881b ldrh r3, [r3, #0] 804b572: b29b uxth r3, r3 804b574: 1ad2 subs r2, r2, r3 804b576: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b57a: fb92 f3f3 sdiv r3, r2, r3 804b57e: 461a mov r2, r3 804b580: 4b82 ldr r3, [pc, #520] ; (804b78c ) 804b582: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804b584: 4b88 ldr r3, [pc, #544] ; (804b7a8 ) 804b586: 2201 movs r2, #1 804b588: 701a strb r2, [r3, #0] } break; 804b58a: e135 b.n 804b7f8 case ZoomOut: lvl_0 = 0; 804b58c: 2300 movs r3, #0 804b58e: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804b592: 2304 movs r3, #4 804b594: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804b598: 4b84 ldr r3, [pc, #528] ; (804b7ac ) 804b59a: 781b ldrb r3, [r3, #0] 804b59c: b2db uxtb r3, r3 804b59e: 461a mov r2, r3 804b5a0: 4613 mov r3, r2 804b5a2: 009b lsls r3, r3, #2 804b5a4: 4413 add r3, r2 804b5a6: 4a7b ldr r2, [pc, #492] ; (804b794 ) 804b5a8: 79d2 ldrb r2, [r2, #7] 804b5aa: b2d2 uxtb r2, r2 804b5ac: 4413 add r3, r2 804b5ae: 4a7a ldr r2, [pc, #488] ; (804b798 ) 804b5b0: 3323 adds r3, #35 ; 0x23 804b5b2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b5b6: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804b5ba: 4b7c ldr r3, [pc, #496] ; (804b7ac ) 804b5bc: 781b ldrb r3, [r3, #0] 804b5be: b2db uxtb r3, r3 804b5c0: 2b00 cmp r3, #0 804b5c2: f000 811c beq.w 804b7fe { ViewLevel--; 804b5c6: 4b79 ldr r3, [pc, #484] ; (804b7ac ) 804b5c8: 781b ldrb r3, [r3, #0] 804b5ca: b2db uxtb r3, r3 804b5cc: 3b01 subs r3, #1 804b5ce: b2da uxtb r2, r3 804b5d0: 4b76 ldr r3, [pc, #472] ; (804b7ac ) 804b5d2: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804b5d4: 4b75 ldr r3, [pc, #468] ; (804b7ac ) 804b5d6: 781b ldrb r3, [r3, #0] 804b5d8: b2db uxtb r3, r3 804b5da: 461a mov r2, r3 804b5dc: 4613 mov r3, r2 804b5de: 009b lsls r3, r3, #2 804b5e0: 4413 add r3, r2 804b5e2: 4a6c ldr r2, [pc, #432] ; (804b794 ) 804b5e4: 79d2 ldrb r2, [r2, #7] 804b5e6: b2d2 uxtb r2, r2 804b5e8: 4413 add r3, r2 804b5ea: 4a6b ldr r2, [pc, #428] ; (804b798 ) 804b5ec: 3323 adds r3, #35 ; 0x23 804b5ee: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b5f2: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804b5f6: 4b6d ldr r3, [pc, #436] ; (804b7ac ) 804b5f8: 781b ldrb r3, [r3, #0] 804b5fa: b2db uxtb r3, r3 804b5fc: 2b00 cmp r3, #0 804b5fe: d130 bne.n 804b662 { X0 = lX = 0; 804b600: 2100 movs r1, #0 804b602: 4b67 ldr r3, [pc, #412] ; (804b7a0 ) 804b604: 460a mov r2, r1 804b606: 801a strh r2, [r3, #0] 804b608: 4b64 ldr r3, [pc, #400] ; (804b79c ) 804b60a: 460a mov r2, r1 804b60c: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b60e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b612: 021b lsls r3, r3, #8 804b614: b29a uxth r2, r3 804b616: 4b62 ldr r3, [pc, #392] ; (804b7a0 ) 804b618: 881b ldrh r3, [r3, #0] 804b61a: b29b uxth r3, r3 804b61c: 4413 add r3, r2 804b61e: b29a uxth r2, r3 804b620: 4b5b ldr r3, [pc, #364] ; (804b790 ) 804b622: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b624: 4b5f ldr r3, [pc, #380] ; (804b7a4 ) 804b626: 881b ldrh r3, [r3, #0] 804b628: b29b uxth r3, r3 804b62a: 461a mov r2, r3 804b62c: 4b5c ldr r3, [pc, #368] ; (804b7a0 ) 804b62e: 881b ldrh r3, [r3, #0] 804b630: b29b uxth r3, r3 804b632: 1ad2 subs r2, r2, r3 804b634: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b638: fb92 f3f3 sdiv r3, r2, r3 804b63c: 461a mov r2, r3 804b63e: 4b53 ldr r3, [pc, #332] ; (804b78c ) 804b640: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804b642: 4b52 ldr r3, [pc, #328] ; (804b78c ) 804b644: 681b ldr r3, [r3, #0] 804b646: b29b uxth r3, r3 804b648: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b64c: fb12 f303 smulbb r3, r2, r3 804b650: b29a uxth r2, r3 804b652: 4b52 ldr r3, [pc, #328] ; (804b79c ) 804b654: 881b ldrh r3, [r3, #0] 804b656: b29b uxth r3, r3 804b658: 4413 add r3, r2 804b65a: b29a uxth r2, r3 804b65c: 4b54 ldr r3, [pc, #336] ; (804b7b0 ) 804b65e: 801a strh r2, [r3, #0] 804b660: e090 b.n 804b784 } else { if(CURSOR * dX > Mpos) 804b662: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b666: 4a49 ldr r2, [pc, #292] ; (804b78c ) 804b668: 6812 ldr r2, [r2, #0] 804b66a: fb02 f303 mul.w r3, r2, r3 804b66e: 4a50 ldr r2, [pc, #320] ; (804b7b0 ) 804b670: 8812 ldrh r2, [r2, #0] 804b672: b292 uxth r2, r2 804b674: 4293 cmp r3, r2 804b676: d91f bls.n 804b6b8 { while(CURSOR * dX > Mpos) 804b678: e004 b.n 804b684 CURSOR--; 804b67a: 4b44 ldr r3, [pc, #272] ; (804b78c ) 804b67c: 681b ldr r3, [r3, #0] 804b67e: 3b01 subs r3, #1 804b680: 4a42 ldr r2, [pc, #264] ; (804b78c ) 804b682: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804b684: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b688: 4a40 ldr r2, [pc, #256] ; (804b78c ) 804b68a: 6812 ldr r2, [r2, #0] 804b68c: fb02 f303 mul.w r3, r2, r3 804b690: 4a47 ldr r2, [pc, #284] ; (804b7b0 ) 804b692: 8812 ldrh r2, [r2, #0] 804b694: b292 uxth r2, r2 804b696: 4293 cmp r3, r2 804b698: d8ef bhi.n 804b67a Mpos = X0 + CURSOR * dX; 804b69a: 4b3c ldr r3, [pc, #240] ; (804b78c ) 804b69c: 681b ldr r3, [r3, #0] 804b69e: b29b uxth r3, r3 804b6a0: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b6a4: fb12 f303 smulbb r3, r2, r3 804b6a8: b29a uxth r2, r3 804b6aa: 4b3c ldr r3, [pc, #240] ; (804b79c ) 804b6ac: 881b ldrh r3, [r3, #0] 804b6ae: b29b uxth r3, r3 804b6b0: 4413 add r3, r2 804b6b2: b29a uxth r2, r3 804b6b4: 4b3e ldr r3, [pc, #248] ; (804b7b0 ) 804b6b6: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804b6b8: 4b3d ldr r3, [pc, #244] ; (804b7b0 ) 804b6ba: 881b ldrh r3, [r3, #0] 804b6bc: b29b uxth r3, r3 804b6be: 4619 mov r1, r3 804b6c0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b6c4: 4a31 ldr r2, [pc, #196] ; (804b78c ) 804b6c6: 6812 ldr r2, [r2, #0] 804b6c8: fb02 f303 mul.w r3, r2, r3 804b6cc: 1acb subs r3, r1, r3 804b6ce: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804b6d2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b6d6: 021b lsls r3, r3, #8 804b6d8: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804b6dc: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804b6e0: 4613 mov r3, r2 804b6e2: 009b lsls r3, r3, #2 804b6e4: 4413 add r3, r2 804b6e6: 4a2b ldr r2, [pc, #172] ; (804b794 ) 804b6e8: 79d2 ldrb r2, [r2, #7] 804b6ea: b2d2 uxtb r2, r2 804b6ec: 4413 add r3, r2 804b6ee: 4a2a ldr r2, [pc, #168] ; (804b798 ) 804b6f0: 3323 adds r3, #35 ; 0x23 804b6f2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b6f6: 021b lsls r3, r3, #8 804b6f8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804b6fc: e006 b.n 804b70c i -= dXold; 804b6fe: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804b702: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804b706: 1ad3 subs r3, r2, r3 804b708: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804b70c: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804b710: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804b714: 441a add r2, r3 804b716: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804b71a: 429a cmp r2, r3 804b71c: d8ef bhi.n 804b6fe } X0 = (uint16_t) i; 804b71e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804b722: b29a uxth r2, r3 804b724: 4b1d ldr r3, [pc, #116] ; (804b79c ) 804b726: 801a strh r2, [r3, #0] lX = X0; 804b728: 4b1c ldr r3, [pc, #112] ; (804b79c ) 804b72a: 881b ldrh r3, [r3, #0] 804b72c: b29a uxth r2, r3 804b72e: 4b1c ldr r3, [pc, #112] ; (804b7a0 ) 804b730: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b732: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b736: 021b lsls r3, r3, #8 804b738: b29a uxth r2, r3 804b73a: 4b19 ldr r3, [pc, #100] ; (804b7a0 ) 804b73c: 881b ldrh r3, [r3, #0] 804b73e: b29b uxth r3, r3 804b740: 4413 add r3, r2 804b742: b29a uxth r2, r3 804b744: 4b12 ldr r3, [pc, #72] ; (804b790 ) 804b746: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b748: 4b16 ldr r3, [pc, #88] ; (804b7a4 ) 804b74a: 881b ldrh r3, [r3, #0] 804b74c: b29b uxth r3, r3 804b74e: 461a mov r2, r3 804b750: 4b13 ldr r3, [pc, #76] ; (804b7a0 ) 804b752: 881b ldrh r3, [r3, #0] 804b754: b29b uxth r3, r3 804b756: 1ad2 subs r2, r2, r3 804b758: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b75c: fb92 f3f3 sdiv r3, r2, r3 804b760: 461a mov r2, r3 804b762: 4b0a ldr r3, [pc, #40] ; (804b78c ) 804b764: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804b766: 4b09 ldr r3, [pc, #36] ; (804b78c ) 804b768: 681b ldr r3, [r3, #0] 804b76a: b29b uxth r3, r3 804b76c: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b770: fb12 f303 smulbb r3, r2, r3 804b774: b29a uxth r2, r3 804b776: 4b09 ldr r3, [pc, #36] ; (804b79c ) 804b778: 881b ldrh r3, [r3, #0] 804b77a: b29b uxth r3, r3 804b77c: 4413 add r3, r2 804b77e: b29a uxth r2, r3 804b780: 4b0b ldr r3, [pc, #44] ; (804b7b0 ) 804b782: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804b784: 4b08 ldr r3, [pc, #32] ; (804b7a8 ) 804b786: 2201 movs r2, #1 804b788: 701a strb r2, [r3, #0] } break; 804b78a: e038 b.n 804b7fe 804b78c: 2002006c .word 0x2002006c 804b790: 20025d78 .word 0x20025d78 804b794: 20023eb8 .word 0x20023eb8 804b798: 080f51c8 .word 0x080f51c8 804b79c: 20025d76 .word 0x20025d76 804b7a0: 20025d72 .word 0x20025d72 804b7a4: 20025d74 .word 0x20025d74 804b7a8: 20020994 .word 0x20020994 804b7ac: 20020fc0 .word 0x20020fc0 804b7b0: 20025d6e .word 0x20025d6e case StartStop: if(!measuring) 804b7b4: 4ba8 ldr r3, [pc, #672] ; (804ba58 ) 804b7b6: 781b ldrb r3, [r3, #0] 804b7b8: b2db uxtb r3, r3 804b7ba: f083 0301 eor.w r3, r3, #1 804b7be: b2db uxtb r3, r3 804b7c0: 2b00 cmp r3, #0 804b7c2: d00a beq.n 804b7da { initAmplif(); 804b7c4: f7d6 f966 bl 8021a94 StartMeas(); 804b7c8: f7d7 fc38 bl 802303c FIRST = true; 804b7cc: 4ba3 ldr r3, [pc, #652] ; (804ba5c ) 804b7ce: 2201 movs r2, #1 804b7d0: 701a strb r2, [r3, #0] DrawSavedData = false; 804b7d2: 4ba3 ldr r3, [pc, #652] ; (804ba60 ) 804b7d4: 2200 movs r2, #0 804b7d6: 701a strb r2, [r3, #0] else { StopMeas(); oldmenupos = menupos; } break; 804b7d8: e012 b.n 804b800 StopMeas(); 804b7da: f7d7 ffdf bl 802379c oldmenupos = menupos; 804b7de: 4ba1 ldr r3, [pc, #644] ; (804ba64 ) 804b7e0: 781b ldrb r3, [r3, #0] 804b7e2: b2da uxtb r2, r3 804b7e4: 4ba0 ldr r3, [pc, #640] ; (804ba68 ) 804b7e6: 701a strb r2, [r3, #0] break; 804b7e8: e00a b.n 804b800 case Cursor: AUTOZOOM = true; 804b7ea: 4ba0 ldr r3, [pc, #640] ; (804ba6c ) 804b7ec: 2201 movs r2, #1 804b7ee: 701a strb r2, [r3, #0] break; 804b7f0: e006 b.n 804b800 break; 804b7f2: bf00 nop 804b7f4: f008 bf60 b.w 80546b8 break; 804b7f8: bf00 nop 804b7fa: f008 bf5d b.w 80546b8 break; 804b7fe: bf00 nop } break; 804b800: f008 bf5a b.w 80546b8 case TREND_A: case TREND_V: case TREND_S: menu = lastmenu; 804b804: 4b9a ldr r3, [pc, #616] ; (804ba70 ) 804b806: 781b ldrb r3, [r3, #0] 804b808: b2da uxtb r2, r3 804b80a: 4b9a ldr r3, [pc, #616] ; (804ba74 ) 804b80c: 701a strb r2, [r3, #0] menupos = lastmenupos; 804b80e: 4b9a ldr r3, [pc, #616] ; (804ba78 ) 804b810: 781b ldrb r3, [r3, #0] 804b812: b2da uxtb r2, r3 804b814: 4b93 ldr r3, [pc, #588] ; (804ba64 ) 804b816: 701a strb r2, [r3, #0] Threshold = false; 804b818: 4b98 ldr r3, [pc, #608] ; (804ba7c ) 804b81a: 2200 movs r2, #0 804b81c: 701a strb r2, [r3, #0] FIRST = true; 804b81e: 4b8f ldr r3, [pc, #572] ; (804ba5c ) 804b820: 2201 movs r2, #1 804b822: 701a strb r2, [r3, #0] break; 804b824: f008 bf93 b.w 805474e case MAIN: case MAIN_FRAN: switch(menupos) 804b828: 4b8e ldr r3, [pc, #568] ; (804ba64 ) 804b82a: 781b ldrb r3, [r3, #0] 804b82c: b2db uxtb r3, r3 804b82e: 2b06 cmp r3, #6 804b830: f208 8744 bhi.w 80546bc 804b834: a201 add r2, pc, #4 ; (adr r2, 804b83c ) 804b836: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804b83a: bf00 nop 804b83c: 0804b86b .word 0x0804b86b 804b840: 0804b859 .word 0x0804b859 804b844: 0804b8a1 .word 0x0804b8a1 804b848: 0804bba1 .word 0x0804bba1 804b84c: 0804bba1 .word 0x0804bba1 804b850: 080546bd .word 0x080546bd 804b854: 0804bb87 .word 0x0804bb87 { case BackMenu: StopMeas(); 804b858: f7d7 ffa0 bl 802379c menu = PARAM_VIB; 804b85c: 4b85 ldr r3, [pc, #532] ; (804ba74 ) 804b85e: 2206 movs r2, #6 804b860: 701a strb r2, [r3, #0] menupos = Ok; 804b862: 4b80 ldr r3, [pc, #512] ; (804ba64 ) 804b864: 2200 movs r2, #0 804b866: 701a strb r2, [r3, #0] break; 804b868: e1de b.n 804bc28 case StartStop: if(!measuring) 804b86a: 4b7b ldr r3, [pc, #492] ; (804ba58 ) 804b86c: 781b ldrb r3, [r3, #0] 804b86e: b2db uxtb r3, r3 804b870: f083 0301 eor.w r3, r3, #1 804b874: b2db uxtb r3, r3 804b876: 2b00 cmp r3, #0 804b878: d00a beq.n 804b890 { initAmplif(); 804b87a: f7d6 f90b bl 8021a94 StartMeas(); 804b87e: f7d7 fbdd bl 802303c FIRST = true; 804b882: 4b76 ldr r3, [pc, #472] ; (804ba5c ) 804b884: 2201 movs r2, #1 804b886: 701a strb r2, [r3, #0] DrawSavedData = false; 804b888: 4b75 ldr r3, [pc, #468] ; (804ba60 ) 804b88a: 2200 movs r2, #0 804b88c: 701a strb r2, [r3, #0] else { StopMeas(); oldmenupos = menupos; } break; 804b88e: e1cb b.n 804bc28 StopMeas(); 804b890: f7d7 ff84 bl 802379c oldmenupos = menupos; 804b894: 4b73 ldr r3, [pc, #460] ; (804ba64 ) 804b896: 781b ldrb r3, [r3, #0] 804b898: b2da uxtb r2, r3 804b89a: 4b73 ldr r3, [pc, #460] ; (804ba68 ) 804b89c: 701a strb r2, [r3, #0] break; 804b89e: e1c3 b.n 804bc28 case Record: if(CardState == MSD_READY) 804b8a0: 4b77 ldr r3, [pc, #476] ; (804ba80 ) 804b8a2: 781b ldrb r3, [r3, #0] 804b8a4: b2db uxtb r3, r3 804b8a6: 2b03 cmp r3, #3 804b8a8: f040 8162 bne.w 804bb70 { if((!measuring) && (!AddToFile) && (!FIRST)) 804b8ac: 4b6a ldr r3, [pc, #424] ; (804ba58 ) 804b8ae: 781b ldrb r3, [r3, #0] 804b8b0: b2db uxtb r3, r3 804b8b2: f083 0301 eor.w r3, r3, #1 804b8b6: b2db uxtb r3, r3 804b8b8: 2b00 cmp r3, #0 804b8ba: f000 81b1 beq.w 804bc20 804b8be: 4b71 ldr r3, [pc, #452] ; (804ba84 ) 804b8c0: 781b ldrb r3, [r3, #0] 804b8c2: b2db uxtb r3, r3 804b8c4: f083 0301 eor.w r3, r3, #1 804b8c8: b2db uxtb r3, r3 804b8ca: 2b00 cmp r3, #0 804b8cc: f000 81a8 beq.w 804bc20 804b8d0: 4b62 ldr r3, [pc, #392] ; (804ba5c ) 804b8d2: 781b ldrb r3, [r3, #0] 804b8d4: b2db uxtb r3, r3 804b8d6: f083 0301 eor.w r3, r3, #1 804b8da: b2db uxtb r3, r3 804b8dc: 2b00 cmp r3, #0 804b8de: f000 819f beq.w 804bc20 { if(NEWFILE) 804b8e2: 4b69 ldr r3, [pc, #420] ; (804ba88 ) 804b8e4: 781b ldrb r3, [r3, #0] 804b8e6: b2db uxtb r3, r3 804b8e8: 2b00 cmp r3, #0 804b8ea: d02b beq.n 804b944 { memcpy(TEMP_Comment, Comment, sizeof(Comment)); 804b8ec: 4a67 ldr r2, [pc, #412] ; (804ba8c ) 804b8ee: 4b68 ldr r3, [pc, #416] ; (804ba90 ) 804b8f0: 4610 mov r0, r2 804b8f2: f103 0420 add.w r4, r3, #32 804b8f6: 4602 mov r2, r0 804b8f8: 4619 mov r1, r3 804b8fa: f8d1 e000 ldr.w lr, [r1] 804b8fe: 684e ldr r6, [r1, #4] 804b900: 688d ldr r5, [r1, #8] 804b902: 68c9 ldr r1, [r1, #12] 804b904: f8c2 e000 str.w lr, [r2] 804b908: 6056 str r6, [r2, #4] 804b90a: 6095 str r5, [r2, #8] 804b90c: 60d1 str r1, [r2, #12] 804b90e: 3310 adds r3, #16 804b910: 3010 adds r0, #16 804b912: 42a3 cmp r3, r4 804b914: d1ef bne.n 804b8f6 804b916: 4602 mov r2, r0 804b918: 6819 ldr r1, [r3, #0] 804b91a: 685b ldr r3, [r3, #4] 804b91c: 6011 str r1, [r2, #0] 804b91e: 6053 str r3, [r2, #4] CommentLen = strlen(TEMP_Comment); 804b920: 485a ldr r0, [pc, #360] ; (804ba8c ) 804b922: f7d4 fcf7 bl 8020314 804b926: 4602 mov r2, r0 804b928: 4b5a ldr r3, [pc, #360] ; (804ba94 ) 804b92a: 601a str r2, [r3, #0] lastmenu = menu; 804b92c: 4b51 ldr r3, [pc, #324] ; (804ba74 ) 804b92e: 781b ldrb r3, [r3, #0] 804b930: b2da uxtb r2, r3 804b932: 4b4f ldr r3, [pc, #316] ; (804ba70 ) 804b934: 701a strb r2, [r3, #0] menu = INPUT_COMMENT; 804b936: 4b4f ldr r3, [pc, #316] ; (804ba74 ) 804b938: 2231 movs r2, #49 ; 0x31 804b93a: 701a strb r2, [r3, #0] menupos = _ENTER; 804b93c: 4b49 ldr r3, [pc, #292] ; (804ba64 ) 804b93e: 2226 movs r2, #38 ; 0x26 804b940: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804b942: e16d b.n 804bc20 if(pardata.IVS[ACC] == PEAK) 804b944: 4b54 ldr r3, [pc, #336] ; (804ba98 ) 804b946: 789b ldrb r3, [r3, #2] 804b948: b2db uxtb r3, r3 804b94a: 2b00 cmp r3, #0 804b94c: d104 bne.n 804b958 FileData.Aivs = 'P'; 804b94e: 4b53 ldr r3, [pc, #332] ; (804ba9c ) 804b950: 2250 movs r2, #80 ; 0x50 804b952: f883 202c strb.w r2, [r3, #44] ; 0x2c 804b956: e026 b.n 804b9a6 else if(pardata.IVS[ACC] == RMS) 804b958: 4b4f ldr r3, [pc, #316] ; (804ba98 ) 804b95a: 789b ldrb r3, [r3, #2] 804b95c: b2db uxtb r3, r3 804b95e: 2b01 cmp r3, #1 804b960: d104 bne.n 804b96c FileData.Aivs = 'S'; 804b962: 4b4e ldr r3, [pc, #312] ; (804ba9c ) 804b964: 2253 movs r2, #83 ; 0x53 804b966: f883 202c strb.w r2, [r3, #44] ; 0x2c 804b96a: e01c b.n 804b9a6 else if(pardata.IVS[ACC] == PEAK_TO_PEAK) 804b96c: 4b4a ldr r3, [pc, #296] ; (804ba98 ) 804b96e: 789b ldrb r3, [r3, #2] 804b970: b2db uxtb r3, r3 804b972: 2b02 cmp r3, #2 804b974: d104 bne.n 804b980 FileData.Aivs = 'R'; 804b976: 4b49 ldr r3, [pc, #292] ; (804ba9c ) 804b978: 2252 movs r2, #82 ; 0x52 804b97a: f883 202c strb.w r2, [r3, #44] ; 0x2c 804b97e: e012 b.n 804b9a6 else if(pardata.IVS[ACC] == PEAK_FACTOR) 804b980: 4b45 ldr r3, [pc, #276] ; (804ba98 ) 804b982: 789b ldrb r3, [r3, #2] 804b984: b2db uxtb r3, r3 804b986: 2b03 cmp r3, #3 804b988: d104 bne.n 804b994 FileData.Aivs = 'F'; 804b98a: 4b44 ldr r3, [pc, #272] ; (804ba9c ) 804b98c: 2246 movs r2, #70 ; 0x46 804b98e: f883 202c strb.w r2, [r3, #44] ; 0x2c 804b992: e008 b.n 804b9a6 else if(pardata.IVS[ACC] == EXCESS) 804b994: 4b40 ldr r3, [pc, #256] ; (804ba98 ) 804b996: 789b ldrb r3, [r3, #2] 804b998: b2db uxtb r3, r3 804b99a: 2b04 cmp r3, #4 804b99c: d103 bne.n 804b9a6 FileData.Aivs = 'E'; 804b99e: 4b3f ldr r3, [pc, #252] ; (804ba9c ) 804b9a0: 2245 movs r2, #69 ; 0x45 804b9a2: f883 202c strb.w r2, [r3, #44] ; 0x2c if(pardata.IVS[VEL] == PEAK) 804b9a6: 4b3c ldr r3, [pc, #240] ; (804ba98 ) 804b9a8: 78db ldrb r3, [r3, #3] 804b9aa: b2db uxtb r3, r3 804b9ac: 2b00 cmp r3, #0 804b9ae: d104 bne.n 804b9ba FileData.Vivs = 'P'; 804b9b0: 4b3a ldr r3, [pc, #232] ; (804ba9c ) 804b9b2: 2250 movs r2, #80 ; 0x50 804b9b4: f883 202d strb.w r2, [r3, #45] ; 0x2d 804b9b8: e026 b.n 804ba08 else if(pardata.IVS[VEL] == RMS) 804b9ba: 4b37 ldr r3, [pc, #220] ; (804ba98 ) 804b9bc: 78db ldrb r3, [r3, #3] 804b9be: b2db uxtb r3, r3 804b9c0: 2b01 cmp r3, #1 804b9c2: d104 bne.n 804b9ce FileData.Vivs = 'S'; 804b9c4: 4b35 ldr r3, [pc, #212] ; (804ba9c ) 804b9c6: 2253 movs r2, #83 ; 0x53 804b9c8: f883 202d strb.w r2, [r3, #45] ; 0x2d 804b9cc: e01c b.n 804ba08 else if(pardata.IVS[VEL] == PEAK_TO_PEAK) 804b9ce: 4b32 ldr r3, [pc, #200] ; (804ba98 ) 804b9d0: 78db ldrb r3, [r3, #3] 804b9d2: b2db uxtb r3, r3 804b9d4: 2b02 cmp r3, #2 804b9d6: d104 bne.n 804b9e2 FileData.Vivs = 'R'; 804b9d8: 4b30 ldr r3, [pc, #192] ; (804ba9c ) 804b9da: 2252 movs r2, #82 ; 0x52 804b9dc: f883 202d strb.w r2, [r3, #45] ; 0x2d 804b9e0: e012 b.n 804ba08 else if(pardata.IVS[VEL] == PEAK_FACTOR) 804b9e2: 4b2d ldr r3, [pc, #180] ; (804ba98 ) 804b9e4: 78db ldrb r3, [r3, #3] 804b9e6: b2db uxtb r3, r3 804b9e8: 2b03 cmp r3, #3 804b9ea: d104 bne.n 804b9f6 FileData.Vivs = 'F'; 804b9ec: 4b2b ldr r3, [pc, #172] ; (804ba9c ) 804b9ee: 2246 movs r2, #70 ; 0x46 804b9f0: f883 202d strb.w r2, [r3, #45] ; 0x2d 804b9f4: e008 b.n 804ba08 else if(pardata.IVS[VEL] == EXCESS) 804b9f6: 4b28 ldr r3, [pc, #160] ; (804ba98 ) 804b9f8: 78db ldrb r3, [r3, #3] 804b9fa: b2db uxtb r3, r3 804b9fc: 2b04 cmp r3, #4 804b9fe: d103 bne.n 804ba08 FileData.Vivs = 'E'; 804ba00: 4b26 ldr r3, [pc, #152] ; (804ba9c ) 804ba02: 2245 movs r2, #69 ; 0x45 804ba04: f883 202d strb.w r2, [r3, #45] ; 0x2d if(pardata.IVS[DIS] == PEAK) 804ba08: 4b23 ldr r3, [pc, #140] ; (804ba98 ) 804ba0a: 791b ldrb r3, [r3, #4] 804ba0c: b2db uxtb r3, r3 804ba0e: 2b00 cmp r3, #0 804ba10: d104 bne.n 804ba1c FileData.Sivs = 'P'; 804ba12: 4b22 ldr r3, [pc, #136] ; (804ba9c ) 804ba14: 2250 movs r2, #80 ; 0x50 804ba16: f883 202e strb.w r2, [r3, #46] ; 0x2e 804ba1a: e04a b.n 804bab2 else if(pardata.IVS[DIS] == RMS) 804ba1c: 4b1e ldr r3, [pc, #120] ; (804ba98 ) 804ba1e: 791b ldrb r3, [r3, #4] 804ba20: b2db uxtb r3, r3 804ba22: 2b01 cmp r3, #1 804ba24: d104 bne.n 804ba30 FileData.Sivs = 'S'; 804ba26: 4b1d ldr r3, [pc, #116] ; (804ba9c ) 804ba28: 2253 movs r2, #83 ; 0x53 804ba2a: f883 202e strb.w r2, [r3, #46] ; 0x2e 804ba2e: e040 b.n 804bab2 else if(pardata.IVS[DIS] == PEAK_TO_PEAK) 804ba30: 4b19 ldr r3, [pc, #100] ; (804ba98 ) 804ba32: 791b ldrb r3, [r3, #4] 804ba34: b2db uxtb r3, r3 804ba36: 2b02 cmp r3, #2 804ba38: d104 bne.n 804ba44 FileData.Sivs = 'R'; 804ba3a: 4b18 ldr r3, [pc, #96] ; (804ba9c ) 804ba3c: 2252 movs r2, #82 ; 0x52 804ba3e: f883 202e strb.w r2, [r3, #46] ; 0x2e 804ba42: e036 b.n 804bab2 else if(pardata.IVS[DIS] == PEAK_FACTOR) 804ba44: 4b14 ldr r3, [pc, #80] ; (804ba98 ) 804ba46: 791b ldrb r3, [r3, #4] 804ba48: b2db uxtb r3, r3 804ba4a: 2b03 cmp r3, #3 804ba4c: d128 bne.n 804baa0 FileData.Sivs = 'F'; 804ba4e: 4b13 ldr r3, [pc, #76] ; (804ba9c ) 804ba50: 2246 movs r2, #70 ; 0x46 804ba52: f883 202e strb.w r2, [r3, #46] ; 0x2e 804ba56: e02c b.n 804bab2 804ba58: 20020dcf .word 0x20020dcf 804ba5c: 20020dd2 .word 0x20020dd2 804ba60: 20020dea .word 0x20020dea 804ba64: 20020070 .word 0x20020070 804ba68: 20020fc7 .word 0x20020fc7 804ba6c: 20020994 .word 0x20020994 804ba70: 20020fc6 .word 0x20020fc6 804ba74: 20020fc5 .word 0x20020fc5 804ba78: 20020071 .word 0x20020071 804ba7c: 20020dd1 .word 0x20020dd1 804ba80: 2002169c .word 0x2002169c 804ba84: 20020de8 .word 0x20020de8 804ba88: 20020e38 .word 0x20020e38 804ba8c: 20025c98 .word 0x20025c98 804ba90: 200226a0 .word 0x200226a0 804ba94: 20020e3c .word 0x20020e3c 804ba98: 20023eb8 .word 0x20023eb8 804ba9c: 200229dc .word 0x200229dc else if(pardata.IVS[DIS] == EXCESS) 804baa0: 4b9a ldr r3, [pc, #616] ; (804bd0c ) 804baa2: 791b ldrb r3, [r3, #4] 804baa4: b2db uxtb r3, r3 804baa6: 2b04 cmp r3, #4 804baa8: d103 bne.n 804bab2 FileData.Sivs = 'E'; 804baaa: 4b99 ldr r3, [pc, #612] ; (804bd10 ) 804baac: 2245 movs r2, #69 ; 0x45 804baae: f883 202e strb.w r2, [r3, #46] ; 0x2e FileData.Aval.fl = skz[ACC]; 804bab2: 4b98 ldr r3, [pc, #608] ; (804bd14 ) 804bab4: 681b ldr r3, [r3, #0] 804bab6: 4a96 ldr r2, [pc, #600] ; (804bd10 ) 804bab8: 6013 str r3, [r2, #0] if(pardata.HP < 2.0f) 804baba: 4b94 ldr r3, [pc, #592] ; (804bd0c ) 804babc: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804bac0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804bac4: eef4 7ac7 vcmpe.f32 s15, s14 804bac8: eef1 fa10 vmrs APSR_nzcv, fpscr 804bacc: d505 bpl.n 804bada skz[VEL] = -1.0f; 804bace: 4b91 ldr r3, [pc, #580] ; (804bd14 ) 804bad0: 4a91 ldr r2, [pc, #580] ; (804bd18 ) 804bad2: 605a str r2, [r3, #4] skz[DIS] = -1.0f; 804bad4: 4b8f ldr r3, [pc, #572] ; (804bd14 ) 804bad6: 4a90 ldr r2, [pc, #576] ; (804bd18 ) 804bad8: 609a str r2, [r3, #8] FileData.Vval.fl = skz[VEL]; 804bada: 4b8e ldr r3, [pc, #568] ; (804bd14 ) 804badc: 685b ldr r3, [r3, #4] 804bade: 4a8c ldr r2, [pc, #560] ; (804bd10 ) 804bae0: 6053 str r3, [r2, #4] FileData.Sval.fl = skz[DIS]; 804bae2: 4b8c ldr r3, [pc, #560] ; (804bd14 ) 804bae4: 689b ldr r3, [r3, #8] 804bae6: 4a8a ldr r2, [pc, #552] ; (804bd10 ) 804bae8: 6093 str r3, [r2, #8] if(menu == MAIN) 804baea: 4b8c ldr r3, [pc, #560] ; (804bd1c ) 804baec: 781b ldrb r3, [r3, #0] 804baee: b2db uxtb r3, r3 804baf0: 2b00 cmp r3, #0 804baf2: d103 bne.n 804bafc FileData.Fval.fl = -1.0f; 804baf4: 4b86 ldr r3, [pc, #536] ; (804bd10 ) 804baf6: 4a88 ldr r2, [pc, #544] ; (804bd18 ) 804baf8: 60da str r2, [r3, #12] 804bafa: e003 b.n 804bb04 else FileData.Fval.fl = FreqFran; 804bafc: 4b88 ldr r3, [pc, #544] ; (804bd20 ) 804bafe: 681b ldr r3, [r3, #0] 804bb00: 4a83 ldr r2, [pc, #524] ; (804bd10 ) 804bb02: 60d3 str r3, [r2, #12] FileData.Time = RTC_TimeStruct; 804bb04: 4b82 ldr r3, [pc, #520] ; (804bd10 ) 804bb06: 4a87 ldr r2, [pc, #540] ; (804bd24 ) 804bb08: f103 0410 add.w r4, r3, #16 804bb0c: 4615 mov r5, r2 804bb0e: cd0f ldmia r5!, {r0, r1, r2, r3} 804bb10: c40f stmia r4!, {r0, r1, r2, r3} 804bb12: e895 0003 ldmia.w r5, {r0, r1} 804bb16: e884 0003 stmia.w r4, {r0, r1} FileData.Date = RTC_DateStruct; 804bb1a: 4b7d ldr r3, [pc, #500] ; (804bd10 ) 804bb1c: 4a82 ldr r2, [pc, #520] ; (804bd28 ) 804bb1e: 3328 adds r3, #40 ; 0x28 804bb20: 6810 ldr r0, [r2, #0] 804bb22: 6018 str r0, [r3, #0] AddToFile = true; 804bb24: 4b81 ldr r3, [pc, #516] ; (804bd2c ) 804bb26: 2201 movs r2, #1 804bb28: 701a strb r2, [r3, #0] result = WriteFilePTM(MeasFileName); 804bb2a: 4881 ldr r0, [pc, #516] ; (804bd30 ) 804bb2c: f7dc fb94 bl 8028258 804bb30: 4603 mov r3, r0 804bb32: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804bb36: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804bb3a: 2b00 cmp r3, #0 804bb3c: d10a bne.n 804bb54 STATUS = AP_SAVING_SUCCESS; 804bb3e: 4b7d ldr r3, [pc, #500] ; (804bd34 ) 804bb40: 2207 movs r2, #7 804bb42: 601a str r2, [r3, #0] timerStatus = sec2; 804bb44: 4b7c ldr r3, [pc, #496] ; (804bd38 ) 804bb46: f44f 5280 mov.w r2, #4096 ; 0x1000 804bb4a: 801a strh r2, [r3, #0] DrawStatus = true; 804bb4c: 4b7b ldr r3, [pc, #492] ; (804bd3c ) 804bb4e: 2201 movs r2, #1 804bb50: 701a strb r2, [r3, #0] 804bb52: e009 b.n 804bb68 STATUS = AP_SAVING_ERROR; 804bb54: 4b77 ldr r3, [pc, #476] ; (804bd34 ) 804bb56: 2208 movs r2, #8 804bb58: 601a str r2, [r3, #0] timerStatus = sec2; 804bb5a: 4b77 ldr r3, [pc, #476] ; (804bd38 ) 804bb5c: f44f 5280 mov.w r2, #4096 ; 0x1000 804bb60: 801a strh r2, [r3, #0] DrawStatus = true; 804bb62: 4b76 ldr r3, [pc, #472] ; (804bd3c ) 804bb64: 2201 movs r2, #1 804bb66: 701a strb r2, [r3, #0] AddToFile = false; 804bb68: 4b70 ldr r3, [pc, #448] ; (804bd2c ) 804bb6a: 2200 movs r2, #0 804bb6c: 701a strb r2, [r3, #0] break; 804bb6e: e057 b.n 804bc20 STATUS = AP_NO_CARD; 804bb70: 4b70 ldr r3, [pc, #448] ; (804bd34 ) 804bb72: 2211 movs r2, #17 804bb74: 601a str r2, [r3, #0] timerStatus = sec2; 804bb76: 4b70 ldr r3, [pc, #448] ; (804bd38 ) 804bb78: f44f 5280 mov.w r2, #4096 ; 0x1000 804bb7c: 801a strh r2, [r3, #0] DrawStatus = true; 804bb7e: 4b6f ldr r3, [pc, #444] ; (804bd3c ) 804bb80: 2201 movs r2, #1 804bb82: 701a strb r2, [r3, #0] break; 804bb84: e04c b.n 804bc20 case MyLinLog: if(SeeLog) 804bb86: 4b6e ldr r3, [pc, #440] ; (804bd40 ) 804bb88: 781b ldrb r3, [r3, #0] 804bb8a: b2db uxtb r3, r3 804bb8c: 2b00 cmp r3, #0 804bb8e: d003 beq.n 804bb98 SeeLog = false; 804bb90: 4b6b ldr r3, [pc, #428] ; (804bd40 ) 804bb92: 2200 movs r2, #0 804bb94: 701a strb r2, [r3, #0] else SeeLog = true; break; 804bb96: e047 b.n 804bc28 else SeeLog = true; 804bb98: 4b69 ldr r3, [pc, #420] ; (804bd40 ) 804bb9a: 2201 movs r2, #1 804bb9c: 701a strb r2, [r3, #0] break; 804bb9e: e043 b.n 804bc28 case MyPoint: case MyMeasure: if(!ReadFromFile) 804bba0: 4b68 ldr r3, [pc, #416] ; (804bd44 ) 804bba2: 781b ldrb r3, [r3, #0] 804bba4: b2db uxtb r3, r3 804bba6: f083 0301 eor.w r3, r3, #1 804bbaa: b2db uxtb r3, r3 804bbac: 2b00 cmp r3, #0 804bbae: d03a beq.n 804bc26 { if((CardState == MSD_READY) && (strlen(MeasFileName))) 804bbb0: 4b65 ldr r3, [pc, #404] ; (804bd48 ) 804bbb2: 781b ldrb r3, [r3, #0] 804bbb4: b2db uxtb r3, r3 804bbb6: 2b03 cmp r3, #3 804bbb8: d135 bne.n 804bc26 804bbba: 4b5d ldr r3, [pc, #372] ; (804bd30 ) 804bbbc: 781b ldrb r3, [r3, #0] 804bbbe: 2b00 cmp r3, #0 804bbc0: d031 beq.n 804bc26 { if(measuring) 804bbc2: 4b62 ldr r3, [pc, #392] ; (804bd4c ) 804bbc4: 781b ldrb r3, [r3, #0] 804bbc6: b2db uxtb r3, r3 804bbc8: 2b00 cmp r3, #0 804bbca: d001 beq.n 804bbd0 StopMeas(); 804bbcc: f7d7 fde6 bl 802379c result = ReadTrendPTM(MeasFileName); 804bbd0: 4857 ldr r0, [pc, #348] ; (804bd30 ) 804bbd2: f7da f837 bl 8025c44 804bbd6: 4603 mov r3, r0 804bbd8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804bbdc: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804bbe0: 2b00 cmp r3, #0 804bbe2: d112 bne.n 804bc0a { lastmenu = menu; 804bbe4: 4b4d ldr r3, [pc, #308] ; (804bd1c ) 804bbe6: 781b ldrb r3, [r3, #0] 804bbe8: b2da uxtb r2, r3 804bbea: 4b59 ldr r3, [pc, #356] ; (804bd50 ) 804bbec: 701a strb r2, [r3, #0] menu = TREND_A; 804bbee: 4b4b ldr r3, [pc, #300] ; (804bd1c ) 804bbf0: 2245 movs r2, #69 ; 0x45 804bbf2: 701a strb r2, [r3, #0] lastmenupos = menupos; 804bbf4: 4b57 ldr r3, [pc, #348] ; (804bd54 ) 804bbf6: 781b ldrb r3, [r3, #0] 804bbf8: b2da uxtb r2, r3 804bbfa: 4b57 ldr r3, [pc, #348] ; (804bd58 ) 804bbfc: 701a strb r2, [r3, #0] menupos = pardata.IVS[ACC]; 804bbfe: 4b43 ldr r3, [pc, #268] ; (804bd0c ) 804bc00: 789b ldrb r3, [r3, #2] 804bc02: b2da uxtb r2, r3 804bc04: 4b53 ldr r3, [pc, #332] ; (804bd54 ) 804bc06: 701a strb r2, [r3, #0] timerStatus = sec2; DrawStatus = true; } } } break; 804bc08: e00d b.n 804bc26 STATUS = AP_INVALID_FILE; 804bc0a: 4b4a ldr r3, [pc, #296] ; (804bd34 ) 804bc0c: 2202 movs r2, #2 804bc0e: 601a str r2, [r3, #0] timerStatus = sec2; 804bc10: 4b49 ldr r3, [pc, #292] ; (804bd38 ) 804bc12: f44f 5280 mov.w r2, #4096 ; 0x1000 804bc16: 801a strh r2, [r3, #0] DrawStatus = true; 804bc18: 4b48 ldr r3, [pc, #288] ; (804bd3c ) 804bc1a: 2201 movs r2, #1 804bc1c: 701a strb r2, [r3, #0] break; 804bc1e: e002 b.n 804bc26 break; 804bc20: bf00 nop 804bc22: f008 bd4b b.w 80546bc break; 804bc26: bf00 nop } break; 804bc28: f008 bd48 b.w 80546bc case MAIN_OSC: switch(menupos) 804bc2c: 4b49 ldr r3, [pc, #292] ; (804bd54 ) 804bc2e: 781b ldrb r3, [r3, #0] 804bc30: b2db uxtb r3, r3 804bc32: 2b06 cmp r3, #6 804bc34: f208 8544 bhi.w 80546c0 804bc38: a201 add r2, pc, #4 ; (adr r2, 804bc40 ) 804bc3a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804bc3e: bf00 nop 804bc40: 0804bc6f .word 0x0804bc6f 804bc44: 0804bc5d .word 0x0804bc5d 804bc48: 0804bcab .word 0x0804bcab 804bc4c: 0804be8b .word 0x0804be8b 804bc50: 0804c0bf .word 0x0804c0bf 804bc54: 0804bdc1 .word 0x0804bdc1 804bc58: 0804c2e1 .word 0x0804c2e1 { case BackMenu: StopMeas(); 804bc5c: f7d7 fd9e bl 802379c menu = PARAM_OSC; 804bc60: 4b2e ldr r3, [pc, #184] ; (804bd1c ) 804bc62: 2208 movs r2, #8 804bc64: 701a strb r2, [r3, #0] menupos = Ok; 804bc66: 4b3b ldr r3, [pc, #236] ; (804bd54 ) 804bc68: 2200 movs r2, #0 804bc6a: 701a strb r2, [r3, #0] break; 804bc6c: e3c6 b.n 804c3fc case StartStop: if(!measuring) 804bc6e: 4b37 ldr r3, [pc, #220] ; (804bd4c ) 804bc70: 781b ldrb r3, [r3, #0] 804bc72: b2db uxtb r3, r3 804bc74: f083 0301 eor.w r3, r3, #1 804bc78: b2db uxtb r3, r3 804bc7a: 2b00 cmp r3, #0 804bc7c: d00a beq.n 804bc94 { AUTOZOOM = true; 804bc7e: 4b37 ldr r3, [pc, #220] ; (804bd5c ) 804bc80: 2201 movs r2, #1 804bc82: 701a strb r2, [r3, #0] FIRST = true; 804bc84: 4b36 ldr r3, [pc, #216] ; (804bd60 ) 804bc86: 2201 movs r2, #1 804bc88: 701a strb r2, [r3, #0] initAmplif(); 804bc8a: f7d5 ff03 bl 8021a94 StartMeas(); 804bc8e: f7d7 f9d5 bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804bc92: e3b3 b.n 804c3fc StopMeas(); 804bc94: f7d7 fd82 bl 802379c AUTOZOOM = true; 804bc98: 4b30 ldr r3, [pc, #192] ; (804bd5c ) 804bc9a: 2201 movs r2, #1 804bc9c: 701a strb r2, [r3, #0] oldmenupos = menupos; 804bc9e: 4b2d ldr r3, [pc, #180] ; (804bd54 ) 804bca0: 781b ldrb r3, [r3, #0] 804bca2: b2da uxtb r2, r3 804bca4: 4b2f ldr r3, [pc, #188] ; (804bd64 ) 804bca6: 701a strb r2, [r3, #0] break; 804bca8: e3a8 b.n 804c3fc case ImageLeft: if(lX) 804bcaa: 4b2f ldr r3, [pc, #188] ; (804bd68 ) 804bcac: 881b ldrh r3, [r3, #0] 804bcae: b29b uxth r3, r3 804bcb0: 2b00 cmp r3, #0 804bcb2: f000 8399 beq.w 804c3e8 { multA_u16 = Avg[0][5 * ViewLevel + pardata.LNE]; 804bcb6: 4b2d ldr r3, [pc, #180] ; (804bd6c ) 804bcb8: 781b ldrb r3, [r3, #0] 804bcba: b2db uxtb r3, r3 804bcbc: 461a mov r2, r3 804bcbe: 4613 mov r3, r2 804bcc0: 009b lsls r3, r3, #2 804bcc2: 4413 add r3, r2 804bcc4: 4a11 ldr r2, [pc, #68] ; (804bd0c ) 804bcc6: 79d2 ldrb r2, [r2, #7] 804bcc8: b2d2 uxtb r2, r2 804bcca: 4413 add r3, r2 804bccc: 4a28 ldr r2, [pc, #160] ; (804bd70 ) 804bcce: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804bcd2: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804bcd6: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804bcda: 021b lsls r3, r3, #8 804bcdc: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804bce0: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804bce4: 085b lsrs r3, r3, #1 804bce6: b29a uxth r2, r3 804bce8: 4b1f ldr r3, [pc, #124] ; (804bd68 ) 804bcea: 881b ldrh r3, [r3, #0] 804bcec: b29b uxth r3, r3 804bcee: 429a cmp r2, r3 804bcf0: d842 bhi.n 804bd78 X0 -= (multB_u16 >> 1); 804bcf2: 4b20 ldr r3, [pc, #128] ; (804bd74 ) 804bcf4: 881b ldrh r3, [r3, #0] 804bcf6: b29a uxth r2, r3 804bcf8: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804bcfc: 085b lsrs r3, r3, #1 804bcfe: b29b uxth r3, r3 804bd00: 1ad3 subs r3, r2, r3 804bd02: b29a uxth r2, r3 804bd04: 4b1b ldr r3, [pc, #108] ; (804bd74 ) 804bd06: 801a strh r2, [r3, #0] 804bd08: e039 b.n 804bd7e 804bd0a: bf00 nop 804bd0c: 20023eb8 .word 0x20023eb8 804bd10: 200229dc .word 0x200229dc 804bd14: 20021590 .word 0x20021590 804bd18: bf800000 .word 0xbf800000 804bd1c: 20020fc5 .word 0x20020fc5 804bd20: 200215b4 .word 0x200215b4 804bd24: 20025cc0 .word 0x20025cc0 804bd28: 20025d44 .word 0x20025d44 804bd2c: 20020de8 .word 0x20020de8 804bd30: 20020e80 .word 0x20020e80 804bd34: 20020dec .word 0x20020dec 804bd38: 200216dc .word 0x200216dc 804bd3c: 20020df2 .word 0x20020df2 804bd40: 20020fc4 .word 0x20020fc4 804bd44: 20020de9 .word 0x20020de9 804bd48: 2002169c .word 0x2002169c 804bd4c: 20020dcf .word 0x20020dcf 804bd50: 20020fc6 .word 0x20020fc6 804bd54: 20020070 .word 0x20020070 804bd58: 20020071 .word 0x20020071 804bd5c: 20020994 .word 0x20020994 804bd60: 20020dd2 .word 0x20020dd2 804bd64: 20020fc7 .word 0x20020fc7 804bd68: 20025d72 .word 0x20025d72 804bd6c: 20020fc0 .word 0x20020fc0 804bd70: 080f51c8 .word 0x080f51c8 804bd74: 20025d76 .word 0x20025d76 else X0 = 0; 804bd78: 4ba0 ldr r3, [pc, #640] ; (804bffc ) 804bd7a: 2200 movs r2, #0 804bd7c: 801a strh r2, [r3, #0] lX = X0; 804bd7e: 4b9f ldr r3, [pc, #636] ; (804bffc ) 804bd80: 881b ldrh r3, [r3, #0] 804bd82: b29a uxth r2, r3 804bd84: 4b9e ldr r3, [pc, #632] ; (804c000 ) 804bd86: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804bd88: 4b9d ldr r3, [pc, #628] ; (804c000 ) 804bd8a: 881b ldrh r3, [r3, #0] 804bd8c: b29a uxth r2, r3 804bd8e: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804bd92: 4413 add r3, r2 804bd94: b29a uxth r2, r3 804bd96: 4b9b ldr r3, [pc, #620] ; (804c004 ) 804bd98: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804bd9a: 4b9b ldr r3, [pc, #620] ; (804c008 ) 804bd9c: 681b ldr r3, [r3, #0] 804bd9e: b29b uxth r3, r3 804bda0: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804bda4: fb12 f303 smulbb r3, r2, r3 804bda8: b29a uxth r2, r3 804bdaa: 4b94 ldr r3, [pc, #592] ; (804bffc ) 804bdac: 881b ldrh r3, [r3, #0] 804bdae: b29b uxth r3, r3 804bdb0: 4413 add r3, r2 804bdb2: b29a uxth r2, r3 804bdb4: 4b95 ldr r3, [pc, #596] ; (804c00c ) 804bdb6: 801a strh r2, [r3, #0] AUTOZOOM = true; 804bdb8: 4b95 ldr r3, [pc, #596] ; (804c010 ) 804bdba: 2201 movs r2, #1 804bdbc: 701a strb r2, [r3, #0] } break; 804bdbe: e313 b.n 804c3e8 case ImageRight: multA_u16 = Avg[0][5 * ViewLevel + pardata.LNE]; 804bdc0: 4b94 ldr r3, [pc, #592] ; (804c014 ) 804bdc2: 781b ldrb r3, [r3, #0] 804bdc4: b2db uxtb r3, r3 804bdc6: 461a mov r2, r3 804bdc8: 4613 mov r3, r2 804bdca: 009b lsls r3, r3, #2 804bdcc: 4413 add r3, r2 804bdce: 4a92 ldr r2, [pc, #584] ; (804c018 ) 804bdd0: 79d2 ldrb r2, [r2, #7] 804bdd2: b2d2 uxtb r2, r2 804bdd4: 4413 add r3, r2 804bdd6: 4a91 ldr r2, [pc, #580] ; (804c01c ) 804bdd8: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804bddc: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804bde0: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804bde4: 021b lsls r3, r3, #8 804bde6: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = NS[pardata.LNE]; 804bdea: 4b8b ldr r3, [pc, #556] ; (804c018 ) 804bdec: 79db ldrb r3, [r3, #7] 804bdee: b2db uxtb r3, r3 804bdf0: 461a mov r2, r3 804bdf2: 4b8b ldr r3, [pc, #556] ; (804c020 ) 804bdf4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804bdf8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804bdfc: 4b81 ldr r3, [pc, #516] ; (804c004 ) 804bdfe: 881b ldrh r3, [r3, #0] 804be00: b29b uxth r3, r3 804be02: 461a mov r2, r3 804be04: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804be08: 085b lsrs r3, r3, #1 804be0a: b29b uxth r3, r3 804be0c: 4413 add r3, r2 804be0e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804be12: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804be16: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804be1a: 429a cmp r2, r3 804be1c: d80b bhi.n 804be36 X0 += (multB_u16 >> 1); 804be1e: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804be22: 085b lsrs r3, r3, #1 804be24: b29a uxth r2, r3 804be26: 4b75 ldr r3, [pc, #468] ; (804bffc ) 804be28: 881b ldrh r3, [r3, #0] 804be2a: b29b uxth r3, r3 804be2c: 4413 add r3, r2 804be2e: b29a uxth r2, r3 804be30: 4b72 ldr r3, [pc, #456] ; (804bffc ) 804be32: 801a strh r2, [r3, #0] 804be34: e008 b.n 804be48 else X0 = (uint16_t) (k - multB_u16); 804be36: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804be3a: b29a uxth r2, r3 804be3c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804be40: 1ad3 subs r3, r2, r3 804be42: b29a uxth r2, r3 804be44: 4b6d ldr r3, [pc, #436] ; (804bffc ) 804be46: 801a strh r2, [r3, #0] lX = X0; 804be48: 4b6c ldr r3, [pc, #432] ; (804bffc ) 804be4a: 881b ldrh r3, [r3, #0] 804be4c: b29a uxth r2, r3 804be4e: 4b6c ldr r3, [pc, #432] ; (804c000 ) 804be50: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804be52: 4b6b ldr r3, [pc, #428] ; (804c000 ) 804be54: 881b ldrh r3, [r3, #0] 804be56: b29a uxth r2, r3 804be58: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804be5c: 4413 add r3, r2 804be5e: b29a uxth r2, r3 804be60: 4b68 ldr r3, [pc, #416] ; (804c004 ) 804be62: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804be64: 4b68 ldr r3, [pc, #416] ; (804c008 ) 804be66: 681b ldr r3, [r3, #0] 804be68: b29b uxth r3, r3 804be6a: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804be6e: fb12 f303 smulbb r3, r2, r3 804be72: b29a uxth r2, r3 804be74: 4b61 ldr r3, [pc, #388] ; (804bffc ) 804be76: 881b ldrh r3, [r3, #0] 804be78: b29b uxth r3, r3 804be7a: 4413 add r3, r2 804be7c: b29a uxth r2, r3 804be7e: 4b63 ldr r3, [pc, #396] ; (804c00c ) 804be80: 801a strh r2, [r3, #0] AUTOZOOM = true; 804be82: 4b63 ldr r3, [pc, #396] ; (804c010 ) 804be84: 2201 movs r2, #1 804be86: 701a strb r2, [r3, #0] break; 804be88: e2b8 b.n 804c3fc case ZoomIn: lvl_0 = 0; 804be8a: 2300 movs r3, #0 804be8c: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[0][5 * ViewLevel + pardata.LNE]; 804be90: 4b60 ldr r3, [pc, #384] ; (804c014 ) 804be92: 781b ldrb r3, [r3, #0] 804be94: b2db uxtb r3, r3 804be96: 461a mov r2, r3 804be98: 4613 mov r3, r2 804be9a: 009b lsls r3, r3, #2 804be9c: 4413 add r3, r2 804be9e: 4a5e ldr r2, [pc, #376] ; (804c018 ) 804bea0: 79d2 ldrb r2, [r2, #7] 804bea2: b2d2 uxtb r2, r2 804bea4: 4413 add r3, r2 804bea6: 4a5d ldr r2, [pc, #372] ; (804c01c ) 804bea8: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804beac: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 6; 804beb0: 2306 movs r3, #6 804beb2: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804beb6: 4b57 ldr r3, [pc, #348] ; (804c014 ) 804beb8: 781b ldrb r3, [r3, #0] 804beba: b2db uxtb r3, r3 804bebc: b29b uxth r3, r3 804bebe: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804bec2: 429a cmp r2, r3 804bec4: f240 8293 bls.w 804c3ee 804bec8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804becc: 2b01 cmp r3, #1 804bece: f240 828e bls.w 804c3ee { ViewLevel++; 804bed2: 4b50 ldr r3, [pc, #320] ; (804c014 ) 804bed4: 781b ldrb r3, [r3, #0] 804bed6: b2db uxtb r3, r3 804bed8: 3301 adds r3, #1 804beda: b2da uxtb r2, r3 804bedc: 4b4d ldr r3, [pc, #308] ; (804c014 ) 804bede: 701a strb r2, [r3, #0] dX = Avg[0][5 * ViewLevel + pardata.LNE]; 804bee0: 4b4c ldr r3, [pc, #304] ; (804c014 ) 804bee2: 781b ldrb r3, [r3, #0] 804bee4: b2db uxtb r3, r3 804bee6: 461a mov r2, r3 804bee8: 4613 mov r3, r2 804beea: 009b lsls r3, r3, #2 804beec: 4413 add r3, r2 804beee: 4a4a ldr r2, [pc, #296] ; (804c018 ) 804bef0: 79d2 ldrb r2, [r2, #7] 804bef2: b2d2 uxtb r2, r2 804bef4: 4413 add r3, r2 804bef6: 4a49 ldr r2, [pc, #292] ; (804c01c ) 804bef8: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804befc: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804bf00: 4b42 ldr r3, [pc, #264] ; (804c00c ) 804bf02: 881b ldrh r3, [r3, #0] 804bf04: b29a uxth r2, r3 804bf06: 4b40 ldr r3, [pc, #256] ; (804c008 ) 804bf08: 681b ldr r3, [r3, #0] 804bf0a: b29b uxth r3, r3 804bf0c: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804bf10: fb11 f303 smulbb r3, r1, r3 804bf14: b29b uxth r3, r3 804bf16: 1ad3 subs r3, r2, r3 804bf18: b29a uxth r2, r3 804bf1a: 4b38 ldr r3, [pc, #224] ; (804bffc ) 804bf1c: 801a strh r2, [r3, #0] lX = X0; 804bf1e: 4b37 ldr r3, [pc, #220] ; (804bffc ) 804bf20: 881b ldrh r3, [r3, #0] 804bf22: b29a uxth r2, r3 804bf24: 4b36 ldr r3, [pc, #216] ; (804c000 ) 804bf26: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804bf28: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bf2c: 021b lsls r3, r3, #8 804bf2e: b29a uxth r2, r3 804bf30: 4b33 ldr r3, [pc, #204] ; (804c000 ) 804bf32: 881b ldrh r3, [r3, #0] 804bf34: b29b uxth r3, r3 804bf36: 4413 add r3, r2 804bf38: b29a uxth r2, r3 804bf3a: 4b32 ldr r3, [pc, #200] ; (804c004 ) 804bf3c: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804bf3e: 4b39 ldr r3, [pc, #228] ; (804c024 ) 804bf40: 881b ldrh r3, [r3, #0] 804bf42: b29b uxth r3, r3 804bf44: 461a mov r2, r3 804bf46: 4b2e ldr r3, [pc, #184] ; (804c000 ) 804bf48: 881b ldrh r3, [r3, #0] 804bf4a: b29b uxth r3, r3 804bf4c: 1ad2 subs r2, r2, r3 804bf4e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bf52: fb92 f3f3 sdiv r3, r2, r3 804bf56: 461a mov r2, r3 804bf58: 4b2b ldr r3, [pc, #172] ; (804c008 ) 804bf5a: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804bf5c: 4b2a ldr r3, [pc, #168] ; (804c008 ) 804bf5e: 681b ldr r3, [r3, #0] 804bf60: b29b uxth r3, r3 804bf62: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804bf66: fb12 f303 smulbb r3, r2, r3 804bf6a: b29a uxth r2, r3 804bf6c: 4b24 ldr r3, [pc, #144] ; (804c000 ) 804bf6e: 881b ldrh r3, [r3, #0] 804bf70: b29b uxth r3, r3 804bf72: 4413 add r3, r2 804bf74: b29a uxth r2, r3 804bf76: 4b25 ldr r3, [pc, #148] ; (804c00c ) 804bf78: 801a strh r2, [r3, #0] if((CURSOR < 128) && (X0 >= dX)) 804bf7a: 4b23 ldr r3, [pc, #140] ; (804c008 ) 804bf7c: 681b ldr r3, [r3, #0] 804bf7e: 2b7f cmp r3, #127 ; 0x7f 804bf80: d852 bhi.n 804c028 804bf82: 4b1e ldr r3, [pc, #120] ; (804bffc ) 804bf84: 881b ldrh r3, [r3, #0] 804bf86: b29b uxth r3, r3 804bf88: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804bf8c: 429a cmp r2, r3 804bf8e: d84b bhi.n 804c028 { if(lX >= dX) 804bf90: 4b1b ldr r3, [pc, #108] ; (804c000 ) 804bf92: 881b ldrh r3, [r3, #0] 804bf94: b29b uxth r3, r3 804bf96: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804bf9a: 429a cmp r2, r3 804bf9c: f200 808b bhi.w 804c0b6 { CURSOR++; 804bfa0: 4b19 ldr r3, [pc, #100] ; (804c008 ) 804bfa2: 681b ldr r3, [r3, #0] 804bfa4: 3301 adds r3, #1 804bfa6: 4a18 ldr r2, [pc, #96] ; (804c008 ) 804bfa8: 6013 str r3, [r2, #0] X0 -= dX; 804bfaa: 4b14 ldr r3, [pc, #80] ; (804bffc ) 804bfac: 881b ldrh r3, [r3, #0] 804bfae: b29a uxth r2, r3 804bfb0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bfb4: 1ad3 subs r3, r2, r3 804bfb6: b29a uxth r2, r3 804bfb8: 4b10 ldr r3, [pc, #64] ; (804bffc ) 804bfba: 801a strh r2, [r3, #0] lX = X0; 804bfbc: 4b0f ldr r3, [pc, #60] ; (804bffc ) 804bfbe: 881b ldrh r3, [r3, #0] 804bfc0: b29a uxth r2, r3 804bfc2: 4b0f ldr r3, [pc, #60] ; (804c000 ) 804bfc4: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804bfc6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bfca: 021b lsls r3, r3, #8 804bfcc: b29a uxth r2, r3 804bfce: 4b0c ldr r3, [pc, #48] ; (804c000 ) 804bfd0: 881b ldrh r3, [r3, #0] 804bfd2: b29b uxth r3, r3 804bfd4: 4413 add r3, r2 804bfd6: b29a uxth r2, r3 804bfd8: 4b0a ldr r3, [pc, #40] ; (804c004 ) 804bfda: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804bfdc: 4b11 ldr r3, [pc, #68] ; (804c024 ) 804bfde: 881b ldrh r3, [r3, #0] 804bfe0: b29b uxth r3, r3 804bfe2: 461a mov r2, r3 804bfe4: 4b06 ldr r3, [pc, #24] ; (804c000 ) 804bfe6: 881b ldrh r3, [r3, #0] 804bfe8: b29b uxth r3, r3 804bfea: 1ad2 subs r2, r2, r3 804bfec: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bff0: fb92 f3f3 sdiv r3, r2, r3 804bff4: 461a mov r2, r3 804bff6: 4b04 ldr r3, [pc, #16] ; (804c008 ) 804bff8: 601a str r2, [r3, #0] if(lX >= dX) 804bffa: e05c b.n 804c0b6 804bffc: 20025d76 .word 0x20025d76 804c000: 20025d72 .word 0x20025d72 804c004: 20025d78 .word 0x20025d78 804c008: 2002006c .word 0x2002006c 804c00c: 20025d6e .word 0x20025d6e 804c010: 20020994 .word 0x20020994 804c014: 20020fc0 .word 0x20020fc0 804c018: 20023eb8 .word 0x20023eb8 804c01c: 080f51c8 .word 0x080f51c8 804c020: 080f5254 .word 0x080f5254 804c024: 20025d74 .word 0x20025d74 } } else if(CURSOR > 128) 804c028: 4ba3 ldr r3, [pc, #652] ; (804c2b8 ) 804c02a: 681b ldr r3, [r3, #0] 804c02c: 2b80 cmp r3, #128 ; 0x80 804c02e: d942 bls.n 804c0b6 { if((rX + dX) <= (256 * Avg[0][5 * lvl_0 + pardata.LNE])) 804c030: 4ba2 ldr r3, [pc, #648] ; (804c2bc ) 804c032: 881b ldrh r3, [r3, #0] 804c034: b29b uxth r3, r3 804c036: 461a mov r2, r3 804c038: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c03c: 18d1 adds r1, r2, r3 804c03e: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804c042: 4613 mov r3, r2 804c044: 009b lsls r3, r3, #2 804c046: 4413 add r3, r2 804c048: 4a9d ldr r2, [pc, #628] ; (804c2c0 ) 804c04a: 79d2 ldrb r2, [r2, #7] 804c04c: b2d2 uxtb r2, r2 804c04e: 4413 add r3, r2 804c050: 4a9c ldr r2, [pc, #624] ; (804c2c4 ) 804c052: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c056: 021b lsls r3, r3, #8 804c058: 4299 cmp r1, r3 804c05a: dc2c bgt.n 804c0b6 { CURSOR--; 804c05c: 4b96 ldr r3, [pc, #600] ; (804c2b8 ) 804c05e: 681b ldr r3, [r3, #0] 804c060: 3b01 subs r3, #1 804c062: 4a95 ldr r2, [pc, #596] ; (804c2b8 ) 804c064: 6013 str r3, [r2, #0] X0 += dX; 804c066: 4b98 ldr r3, [pc, #608] ; (804c2c8 ) 804c068: 881b ldrh r3, [r3, #0] 804c06a: b29a uxth r2, r3 804c06c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c070: 4413 add r3, r2 804c072: b29a uxth r2, r3 804c074: 4b94 ldr r3, [pc, #592] ; (804c2c8 ) 804c076: 801a strh r2, [r3, #0] lX = X0; 804c078: 4b93 ldr r3, [pc, #588] ; (804c2c8 ) 804c07a: 881b ldrh r3, [r3, #0] 804c07c: b29a uxth r2, r3 804c07e: 4b93 ldr r3, [pc, #588] ; (804c2cc ) 804c080: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c082: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c086: 021b lsls r3, r3, #8 804c088: b29a uxth r2, r3 804c08a: 4b90 ldr r3, [pc, #576] ; (804c2cc ) 804c08c: 881b ldrh r3, [r3, #0] 804c08e: b29b uxth r3, r3 804c090: 4413 add r3, r2 804c092: b29a uxth r2, r3 804c094: 4b89 ldr r3, [pc, #548] ; (804c2bc ) 804c096: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c098: 4b8d ldr r3, [pc, #564] ; (804c2d0 ) 804c09a: 881b ldrh r3, [r3, #0] 804c09c: b29b uxth r3, r3 804c09e: 461a mov r2, r3 804c0a0: 4b8a ldr r3, [pc, #552] ; (804c2cc ) 804c0a2: 881b ldrh r3, [r3, #0] 804c0a4: b29b uxth r3, r3 804c0a6: 1ad2 subs r2, r2, r3 804c0a8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c0ac: fb92 f3f3 sdiv r3, r2, r3 804c0b0: 461a mov r2, r3 804c0b2: 4b81 ldr r3, [pc, #516] ; (804c2b8 ) 804c0b4: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804c0b6: 4b87 ldr r3, [pc, #540] ; (804c2d4 ) 804c0b8: 2201 movs r2, #1 804c0ba: 701a strb r2, [r3, #0] } break; 804c0bc: e197 b.n 804c3ee case ZoomOut: lvl_0 = 0; 804c0be: 2300 movs r3, #0 804c0c0: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 6; 804c0c4: 2306 movs r3, #6 804c0c6: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[0][5 * ViewLevel + pardata.LNE]; 804c0ca: 4b83 ldr r3, [pc, #524] ; (804c2d8 ) 804c0cc: 781b ldrb r3, [r3, #0] 804c0ce: b2db uxtb r3, r3 804c0d0: 461a mov r2, r3 804c0d2: 4613 mov r3, r2 804c0d4: 009b lsls r3, r3, #2 804c0d6: 4413 add r3, r2 804c0d8: 4a79 ldr r2, [pc, #484] ; (804c2c0 ) 804c0da: 79d2 ldrb r2, [r2, #7] 804c0dc: b2d2 uxtb r2, r2 804c0de: 4413 add r3, r2 804c0e0: 4a78 ldr r2, [pc, #480] ; (804c2c4 ) 804c0e2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c0e6: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804c0ea: 4b7b ldr r3, [pc, #492] ; (804c2d8 ) 804c0ec: 781b ldrb r3, [r3, #0] 804c0ee: b2db uxtb r3, r3 804c0f0: 2b00 cmp r3, #0 804c0f2: f000 817f beq.w 804c3f4 { ViewLevel--; 804c0f6: 4b78 ldr r3, [pc, #480] ; (804c2d8 ) 804c0f8: 781b ldrb r3, [r3, #0] 804c0fa: b2db uxtb r3, r3 804c0fc: 3b01 subs r3, #1 804c0fe: b2da uxtb r2, r3 804c100: 4b75 ldr r3, [pc, #468] ; (804c2d8 ) 804c102: 701a strb r2, [r3, #0] dX = Avg[0][5 * ViewLevel + pardata.LNE]; 804c104: 4b74 ldr r3, [pc, #464] ; (804c2d8 ) 804c106: 781b ldrb r3, [r3, #0] 804c108: b2db uxtb r3, r3 804c10a: 461a mov r2, r3 804c10c: 4613 mov r3, r2 804c10e: 009b lsls r3, r3, #2 804c110: 4413 add r3, r2 804c112: 4a6b ldr r2, [pc, #428] ; (804c2c0 ) 804c114: 79d2 ldrb r2, [r2, #7] 804c116: b2d2 uxtb r2, r2 804c118: 4413 add r3, r2 804c11a: 4a6a ldr r2, [pc, #424] ; (804c2c4 ) 804c11c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c120: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804c124: 4b6c ldr r3, [pc, #432] ; (804c2d8 ) 804c126: 781b ldrb r3, [r3, #0] 804c128: b2db uxtb r3, r3 804c12a: 2b00 cmp r3, #0 804c12c: d130 bne.n 804c190 { X0 = lX = 0; 804c12e: 2100 movs r1, #0 804c130: 4b66 ldr r3, [pc, #408] ; (804c2cc ) 804c132: 460a mov r2, r1 804c134: 801a strh r2, [r3, #0] 804c136: 4b64 ldr r3, [pc, #400] ; (804c2c8 ) 804c138: 460a mov r2, r1 804c13a: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c13c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c140: 021b lsls r3, r3, #8 804c142: b29a uxth r2, r3 804c144: 4b61 ldr r3, [pc, #388] ; (804c2cc ) 804c146: 881b ldrh r3, [r3, #0] 804c148: b29b uxth r3, r3 804c14a: 4413 add r3, r2 804c14c: b29a uxth r2, r3 804c14e: 4b5b ldr r3, [pc, #364] ; (804c2bc ) 804c150: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c152: 4b5f ldr r3, [pc, #380] ; (804c2d0 ) 804c154: 881b ldrh r3, [r3, #0] 804c156: b29b uxth r3, r3 804c158: 461a mov r2, r3 804c15a: 4b5c ldr r3, [pc, #368] ; (804c2cc ) 804c15c: 881b ldrh r3, [r3, #0] 804c15e: b29b uxth r3, r3 804c160: 1ad2 subs r2, r2, r3 804c162: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c166: fb92 f3f3 sdiv r3, r2, r3 804c16a: 461a mov r2, r3 804c16c: 4b52 ldr r3, [pc, #328] ; (804c2b8 ) 804c16e: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804c170: 4b51 ldr r3, [pc, #324] ; (804c2b8 ) 804c172: 681b ldr r3, [r3, #0] 804c174: b29b uxth r3, r3 804c176: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c17a: fb12 f303 smulbb r3, r2, r3 804c17e: b29a uxth r2, r3 804c180: 4b51 ldr r3, [pc, #324] ; (804c2c8 ) 804c182: 881b ldrh r3, [r3, #0] 804c184: b29b uxth r3, r3 804c186: 4413 add r3, r2 804c188: b29a uxth r2, r3 804c18a: 4b54 ldr r3, [pc, #336] ; (804c2dc ) 804c18c: 801a strh r2, [r3, #0] 804c18e: e08f b.n 804c2b0 } else { if(CURSOR * dX > Mpos) 804c190: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c194: 4a48 ldr r2, [pc, #288] ; (804c2b8 ) 804c196: 6812 ldr r2, [r2, #0] 804c198: fb02 f303 mul.w r3, r2, r3 804c19c: 4a4f ldr r2, [pc, #316] ; (804c2dc ) 804c19e: 8812 ldrh r2, [r2, #0] 804c1a0: b292 uxth r2, r2 804c1a2: 4293 cmp r3, r2 804c1a4: d91f bls.n 804c1e6 { while(CURSOR * dX > Mpos) 804c1a6: e004 b.n 804c1b2 CURSOR--; 804c1a8: 4b43 ldr r3, [pc, #268] ; (804c2b8 ) 804c1aa: 681b ldr r3, [r3, #0] 804c1ac: 3b01 subs r3, #1 804c1ae: 4a42 ldr r2, [pc, #264] ; (804c2b8 ) 804c1b0: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804c1b2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c1b6: 4a40 ldr r2, [pc, #256] ; (804c2b8 ) 804c1b8: 6812 ldr r2, [r2, #0] 804c1ba: fb02 f303 mul.w r3, r2, r3 804c1be: 4a47 ldr r2, [pc, #284] ; (804c2dc ) 804c1c0: 8812 ldrh r2, [r2, #0] 804c1c2: b292 uxth r2, r2 804c1c4: 4293 cmp r3, r2 804c1c6: d8ef bhi.n 804c1a8 Mpos = X0 + CURSOR * dX; 804c1c8: 4b3b ldr r3, [pc, #236] ; (804c2b8 ) 804c1ca: 681b ldr r3, [r3, #0] 804c1cc: b29b uxth r3, r3 804c1ce: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c1d2: fb12 f303 smulbb r3, r2, r3 804c1d6: b29a uxth r2, r3 804c1d8: 4b3b ldr r3, [pc, #236] ; (804c2c8 ) 804c1da: 881b ldrh r3, [r3, #0] 804c1dc: b29b uxth r3, r3 804c1de: 4413 add r3, r2 804c1e0: b29a uxth r2, r3 804c1e2: 4b3e ldr r3, [pc, #248] ; (804c2dc ) 804c1e4: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804c1e6: 4b3d ldr r3, [pc, #244] ; (804c2dc ) 804c1e8: 881b ldrh r3, [r3, #0] 804c1ea: b29b uxth r3, r3 804c1ec: 4619 mov r1, r3 804c1ee: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c1f2: 4a31 ldr r2, [pc, #196] ; (804c2b8 ) 804c1f4: 6812 ldr r2, [r2, #0] 804c1f6: fb02 f303 mul.w r3, r2, r3 804c1fa: 1acb subs r3, r1, r3 804c1fc: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804c200: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c204: 021b lsls r3, r3, #8 804c206: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[0][5 * lvl_0 + pardata.LNE]; // 3200 804c20a: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804c20e: 4613 mov r3, r2 804c210: 009b lsls r3, r3, #2 804c212: 4413 add r3, r2 804c214: 4a2a ldr r2, [pc, #168] ; (804c2c0 ) 804c216: 79d2 ldrb r2, [r2, #7] 804c218: b2d2 uxtb r2, r2 804c21a: 4413 add r3, r2 804c21c: 4a29 ldr r2, [pc, #164] ; (804c2c4 ) 804c21e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c222: 021b lsls r3, r3, #8 804c224: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804c228: e006 b.n 804c238 i -= dXold; 804c22a: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804c22e: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804c232: 1ad3 subs r3, r2, r3 804c234: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804c238: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804c23c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804c240: 441a add r2, r3 804c242: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804c246: 429a cmp r2, r3 804c248: d8ef bhi.n 804c22a } X0 = (uint16_t) i; 804c24a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804c24e: b29a uxth r2, r3 804c250: 4b1d ldr r3, [pc, #116] ; (804c2c8 ) 804c252: 801a strh r2, [r3, #0] lX = X0; 804c254: 4b1c ldr r3, [pc, #112] ; (804c2c8 ) 804c256: 881b ldrh r3, [r3, #0] 804c258: b29a uxth r2, r3 804c25a: 4b1c ldr r3, [pc, #112] ; (804c2cc ) 804c25c: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c25e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c262: 021b lsls r3, r3, #8 804c264: b29a uxth r2, r3 804c266: 4b19 ldr r3, [pc, #100] ; (804c2cc ) 804c268: 881b ldrh r3, [r3, #0] 804c26a: b29b uxth r3, r3 804c26c: 4413 add r3, r2 804c26e: b29a uxth r2, r3 804c270: 4b12 ldr r3, [pc, #72] ; (804c2bc ) 804c272: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c274: 4b16 ldr r3, [pc, #88] ; (804c2d0 ) 804c276: 881b ldrh r3, [r3, #0] 804c278: b29b uxth r3, r3 804c27a: 461a mov r2, r3 804c27c: 4b13 ldr r3, [pc, #76] ; (804c2cc ) 804c27e: 881b ldrh r3, [r3, #0] 804c280: b29b uxth r3, r3 804c282: 1ad2 subs r2, r2, r3 804c284: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c288: fb92 f3f3 sdiv r3, r2, r3 804c28c: 461a mov r2, r3 804c28e: 4b0a ldr r3, [pc, #40] ; (804c2b8 ) 804c290: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804c292: 4b09 ldr r3, [pc, #36] ; (804c2b8 ) 804c294: 681b ldr r3, [r3, #0] 804c296: b29b uxth r3, r3 804c298: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c29c: fb12 f303 smulbb r3, r2, r3 804c2a0: b29a uxth r2, r3 804c2a2: 4b09 ldr r3, [pc, #36] ; (804c2c8 ) 804c2a4: 881b ldrh r3, [r3, #0] 804c2a6: b29b uxth r3, r3 804c2a8: 4413 add r3, r2 804c2aa: b29a uxth r2, r3 804c2ac: 4b0b ldr r3, [pc, #44] ; (804c2dc ) 804c2ae: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804c2b0: 4b08 ldr r3, [pc, #32] ; (804c2d4 ) 804c2b2: 2201 movs r2, #1 804c2b4: 701a strb r2, [r3, #0] } break; 804c2b6: e09d b.n 804c3f4 804c2b8: 2002006c .word 0x2002006c 804c2bc: 20025d78 .word 0x20025d78 804c2c0: 20023eb8 .word 0x20023eb8 804c2c4: 080f51c8 .word 0x080f51c8 804c2c8: 20025d76 .word 0x20025d76 804c2cc: 20025d72 .word 0x20025d72 804c2d0: 20025d74 .word 0x20025d74 804c2d4: 20020994 .word 0x20020994 804c2d8: 20020fc0 .word 0x20020fc0 804c2dc: 20025d6e .word 0x20025d6e case Cursor: AUTOZOOM = true; 804c2e0: 4ba3 ldr r3, [pc, #652] ; (804c570 ) 804c2e2: 2201 movs r2, #1 804c2e4: 701a strb r2, [r3, #0] if((DynamicCursor[0].Mpos >= Mpos) && (DynamicCursor[0].Mpos < (Mpos + Avg[0][5 * ViewLevel + pardata.LNE]))) 804c2e6: 4ba3 ldr r3, [pc, #652] ; (804c574 ) 804c2e8: 889a ldrh r2, [r3, #4] 804c2ea: 4ba3 ldr r3, [pc, #652] ; (804c578 ) 804c2ec: 881b ldrh r3, [r3, #0] 804c2ee: b29b uxth r3, r3 804c2f0: 429a cmp r2, r3 804c2f2: d323 bcc.n 804c33c 804c2f4: 4b9f ldr r3, [pc, #636] ; (804c574 ) 804c2f6: 889b ldrh r3, [r3, #4] 804c2f8: 4619 mov r1, r3 804c2fa: 4b9f ldr r3, [pc, #636] ; (804c578 ) 804c2fc: 881b ldrh r3, [r3, #0] 804c2fe: b29b uxth r3, r3 804c300: 4618 mov r0, r3 804c302: 4b9e ldr r3, [pc, #632] ; (804c57c ) 804c304: 781b ldrb r3, [r3, #0] 804c306: b2db uxtb r3, r3 804c308: 461a mov r2, r3 804c30a: 4613 mov r3, r2 804c30c: 009b lsls r3, r3, #2 804c30e: 4413 add r3, r2 804c310: 4a9b ldr r2, [pc, #620] ; (804c580 ) 804c312: 79d2 ldrb r2, [r2, #7] 804c314: b2d2 uxtb r2, r2 804c316: 4413 add r3, r2 804c318: 4a9a ldr r2, [pc, #616] ; (804c584 ) 804c31a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c31e: 4403 add r3, r0 804c320: 4299 cmp r1, r3 804c322: da0b bge.n 804c33c { if(DynamicCursor[0].Enabled) 804c324: 4b93 ldr r3, [pc, #588] ; (804c574 ) 804c326: 781b ldrb r3, [r3, #0] 804c328: 2b00 cmp r3, #0 804c32a: d05c beq.n 804c3e6 { DynamicCursor[0].Enabled = false; 804c32c: 4b91 ldr r3, [pc, #580] ; (804c574 ) 804c32e: 2200 movs r2, #0 804c330: 701a strb r2, [r3, #0] DynamicCursor[0].Mpos = 0xffff; 804c332: 4b90 ldr r3, [pc, #576] ; (804c574 ) 804c334: f64f 72ff movw r2, #65535 ; 0xffff 804c338: 809a strh r2, [r3, #4] if(DynamicCursor[0].Enabled) 804c33a: e054 b.n 804c3e6 } } else if((DynamicCursor[1].Mpos >= Mpos) && (DynamicCursor[1].Mpos < (Mpos + Avg[0][5 * ViewLevel + pardata.LNE]))) 804c33c: 4b8d ldr r3, [pc, #564] ; (804c574 ) 804c33e: 8a9a ldrh r2, [r3, #20] 804c340: 4b8d ldr r3, [pc, #564] ; (804c578 ) 804c342: 881b ldrh r3, [r3, #0] 804c344: b29b uxth r3, r3 804c346: 429a cmp r2, r3 804c348: d323 bcc.n 804c392 804c34a: 4b8a ldr r3, [pc, #552] ; (804c574 ) 804c34c: 8a9b ldrh r3, [r3, #20] 804c34e: 4619 mov r1, r3 804c350: 4b89 ldr r3, [pc, #548] ; (804c578 ) 804c352: 881b ldrh r3, [r3, #0] 804c354: b29b uxth r3, r3 804c356: 4618 mov r0, r3 804c358: 4b88 ldr r3, [pc, #544] ; (804c57c ) 804c35a: 781b ldrb r3, [r3, #0] 804c35c: b2db uxtb r3, r3 804c35e: 461a mov r2, r3 804c360: 4613 mov r3, r2 804c362: 009b lsls r3, r3, #2 804c364: 4413 add r3, r2 804c366: 4a86 ldr r2, [pc, #536] ; (804c580 ) 804c368: 79d2 ldrb r2, [r2, #7] 804c36a: b2d2 uxtb r2, r2 804c36c: 4413 add r3, r2 804c36e: 4a85 ldr r2, [pc, #532] ; (804c584 ) 804c370: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c374: 4403 add r3, r0 804c376: 4299 cmp r1, r3 804c378: da0b bge.n 804c392 { if(DynamicCursor[1].Enabled) 804c37a: 4b7e ldr r3, [pc, #504] ; (804c574 ) 804c37c: 7c1b ldrb r3, [r3, #16] 804c37e: 2b00 cmp r3, #0 804c380: d031 beq.n 804c3e6 { DynamicCursor[1].Enabled = false; 804c382: 4b7c ldr r3, [pc, #496] ; (804c574 ) 804c384: 2200 movs r2, #0 804c386: 741a strb r2, [r3, #16] DynamicCursor[1].Mpos = 0xffff; 804c388: 4b7a ldr r3, [pc, #488] ; (804c574 ) 804c38a: f64f 72ff movw r2, #65535 ; 0xffff 804c38e: 829a strh r2, [r3, #20] if(DynamicCursor[1].Enabled) 804c390: e029 b.n 804c3e6 } } else { if(!DynamicCursor[0].Enabled) 804c392: 4b78 ldr r3, [pc, #480] ; (804c574 ) 804c394: 781b ldrb r3, [r3, #0] 804c396: f083 0301 eor.w r3, r3, #1 804c39a: b2db uxtb r3, r3 804c39c: 2b00 cmp r3, #0 804c39e: d00d beq.n 804c3bc { DynamicCursor[0].Mpos = Mpos; 804c3a0: 4b75 ldr r3, [pc, #468] ; (804c578 ) 804c3a2: 881b ldrh r3, [r3, #0] 804c3a4: b29a uxth r2, r3 804c3a6: 4b73 ldr r3, [pc, #460] ; (804c574 ) 804c3a8: 809a strh r2, [r3, #4] DynamicCursor[0].fineMpos = Mpos; 804c3aa: 4b73 ldr r3, [pc, #460] ; (804c578 ) 804c3ac: 881b ldrh r3, [r3, #0] 804c3ae: b29a uxth r2, r3 804c3b0: 4b70 ldr r3, [pc, #448] ; (804c574 ) 804c3b2: 80da strh r2, [r3, #6] DynamicCursor[0].Enabled = true; 804c3b4: 4b6f ldr r3, [pc, #444] ; (804c574 ) 804c3b6: 2201 movs r2, #1 804c3b8: 701a strb r2, [r3, #0] DynamicCursor[1].Mpos = Mpos; DynamicCursor[1].fineMpos = Mpos; DynamicCursor[1].Enabled = true; } } break; 804c3ba: e01e b.n 804c3fa if(!DynamicCursor[1].Enabled) 804c3bc: 4b6d ldr r3, [pc, #436] ; (804c574 ) 804c3be: 7c1b ldrb r3, [r3, #16] 804c3c0: f083 0301 eor.w r3, r3, #1 804c3c4: b2db uxtb r3, r3 804c3c6: 2b00 cmp r3, #0 804c3c8: d017 beq.n 804c3fa DynamicCursor[1].Mpos = Mpos; 804c3ca: 4b6b ldr r3, [pc, #428] ; (804c578 ) 804c3cc: 881b ldrh r3, [r3, #0] 804c3ce: b29a uxth r2, r3 804c3d0: 4b68 ldr r3, [pc, #416] ; (804c574 ) 804c3d2: 829a strh r2, [r3, #20] DynamicCursor[1].fineMpos = Mpos; 804c3d4: 4b68 ldr r3, [pc, #416] ; (804c578 ) 804c3d6: 881b ldrh r3, [r3, #0] 804c3d8: b29a uxth r2, r3 804c3da: 4b66 ldr r3, [pc, #408] ; (804c574 ) 804c3dc: 82da strh r2, [r3, #22] DynamicCursor[1].Enabled = true; 804c3de: 4b65 ldr r3, [pc, #404] ; (804c574 ) 804c3e0: 2201 movs r2, #1 804c3e2: 741a strb r2, [r3, #16] break; 804c3e4: e009 b.n 804c3fa 804c3e6: e008 b.n 804c3fa break; 804c3e8: bf00 nop 804c3ea: f008 b969 b.w 80546c0 break; 804c3ee: bf00 nop 804c3f0: f008 b966 b.w 80546c0 break; 804c3f4: bf00 nop 804c3f6: f008 b963 b.w 80546c0 break; 804c3fa: bf00 nop } break; 804c3fc: f008 b960 b.w 80546c0 case ROLL_RESULTS: DefectType = menupos; 804c400: 4b61 ldr r3, [pc, #388] ; (804c588 ) 804c402: 781b ldrb r3, [r3, #0] 804c404: b2da uxtb r2, r3 804c406: 4b61 ldr r3, [pc, #388] ; (804c58c ) 804c408: 701a strb r2, [r3, #0] RefreshGraf(); 804c40a: f008 f9d7 bl 80547bc menu = VIEW_PORTRET; 804c40e: 4b60 ldr r3, [pc, #384] ; (804c590 ) 804c410: 2228 movs r2, #40 ; 0x28 804c412: 701a strb r2, [r3, #0] menupos = Cursor; 804c414: 4b5c ldr r3, [pc, #368] ; (804c588 ) 804c416: 2206 movs r2, #6 804c418: 701a strb r2, [r3, #0] lastmenupos = ZoomIn; 804c41a: 4b5e ldr r3, [pc, #376] ; (804c594 ) 804c41c: 2203 movs r2, #3 804c41e: 701a strb r2, [r3, #0] break; 804c420: f008 b995 b.w 805474e case VIEW_PORTRET: switch(menupos) 804c424: 4b58 ldr r3, [pc, #352] ; (804c588 ) 804c426: 781b ldrb r3, [r3, #0] 804c428: b2db uxtb r3, r3 804c42a: 3b02 subs r3, #2 804c42c: 2b04 cmp r3, #4 804c42e: f208 8149 bhi.w 80546c4 804c432: a201 add r2, pc, #4 ; (adr r2, 804c438 ) 804c434: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804c438: 0804c44d .word 0x0804c44d 804c43c: 0804c601 .word 0x0804c601 804c440: 0804c835 .word 0x0804c835 804c444: 0804c4f7 .word 0x0804c4f7 804c448: 0804ca35 .word 0x0804ca35 { case ImageLeft: if(lX) 804c44c: 4b52 ldr r3, [pc, #328] ; (804c598 ) 804c44e: 881b ldrh r3, [r3, #0] 804c450: b29b uxth r3, r3 804c452: 2b00 cmp r3, #0 804c454: f000 838b beq.w 804cb6e { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804c458: 4b48 ldr r3, [pc, #288] ; (804c57c ) 804c45a: 781b ldrb r3, [r3, #0] 804c45c: b2db uxtb r3, r3 804c45e: 461a mov r2, r3 804c460: 4613 mov r3, r2 804c462: 009b lsls r3, r3, #2 804c464: 4413 add r3, r2 804c466: 4a46 ldr r2, [pc, #280] ; (804c580 ) 804c468: 79d2 ldrb r2, [r2, #7] 804c46a: b2d2 uxtb r2, r2 804c46c: 4413 add r3, r2 804c46e: 4a45 ldr r2, [pc, #276] ; (804c584 ) 804c470: 3323 adds r3, #35 ; 0x23 804c472: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c476: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804c47a: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804c47e: 021b lsls r3, r3, #8 804c480: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804c484: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c488: 085b lsrs r3, r3, #1 804c48a: b29a uxth r2, r3 804c48c: 4b42 ldr r3, [pc, #264] ; (804c598 ) 804c48e: 881b ldrh r3, [r3, #0] 804c490: b29b uxth r3, r3 804c492: 429a cmp r2, r3 804c494: d80b bhi.n 804c4ae X0 -= (multB_u16 >> 1); 804c496: 4b41 ldr r3, [pc, #260] ; (804c59c ) 804c498: 881b ldrh r3, [r3, #0] 804c49a: b29a uxth r2, r3 804c49c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c4a0: 085b lsrs r3, r3, #1 804c4a2: b29b uxth r3, r3 804c4a4: 1ad3 subs r3, r2, r3 804c4a6: b29a uxth r2, r3 804c4a8: 4b3c ldr r3, [pc, #240] ; (804c59c ) 804c4aa: 801a strh r2, [r3, #0] 804c4ac: e002 b.n 804c4b4 else X0 = 0; 804c4ae: 4b3b ldr r3, [pc, #236] ; (804c59c ) 804c4b0: 2200 movs r2, #0 804c4b2: 801a strh r2, [r3, #0] lX = X0; 804c4b4: 4b39 ldr r3, [pc, #228] ; (804c59c ) 804c4b6: 881b ldrh r3, [r3, #0] 804c4b8: b29a uxth r2, r3 804c4ba: 4b37 ldr r3, [pc, #220] ; (804c598 ) 804c4bc: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804c4be: 4b36 ldr r3, [pc, #216] ; (804c598 ) 804c4c0: 881b ldrh r3, [r3, #0] 804c4c2: b29a uxth r2, r3 804c4c4: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c4c8: 4413 add r3, r2 804c4ca: b29a uxth r2, r3 804c4cc: 4b34 ldr r3, [pc, #208] ; (804c5a0 ) 804c4ce: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804c4d0: 4b34 ldr r3, [pc, #208] ; (804c5a4 ) 804c4d2: 681b ldr r3, [r3, #0] 804c4d4: b29b uxth r3, r3 804c4d6: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804c4da: fb12 f303 smulbb r3, r2, r3 804c4de: b29a uxth r2, r3 804c4e0: 4b2e ldr r3, [pc, #184] ; (804c59c ) 804c4e2: 881b ldrh r3, [r3, #0] 804c4e4: b29b uxth r3, r3 804c4e6: 4413 add r3, r2 804c4e8: b29a uxth r2, r3 804c4ea: 4b23 ldr r3, [pc, #140] ; (804c578 ) 804c4ec: 801a strh r2, [r3, #0] AUTOZOOM = true; 804c4ee: 4b20 ldr r3, [pc, #128] ; (804c570 ) 804c4f0: 2201 movs r2, #1 804c4f2: 701a strb r2, [r3, #0] } break; 804c4f4: e33b b.n 804cb6e case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804c4f6: 4b21 ldr r3, [pc, #132] ; (804c57c ) 804c4f8: 781b ldrb r3, [r3, #0] 804c4fa: b2db uxtb r3, r3 804c4fc: 461a mov r2, r3 804c4fe: 4613 mov r3, r2 804c500: 009b lsls r3, r3, #2 804c502: 4413 add r3, r2 804c504: 4a1e ldr r2, [pc, #120] ; (804c580 ) 804c506: 79d2 ldrb r2, [r2, #7] 804c508: b2d2 uxtb r2, r2 804c50a: 4413 add r3, r2 804c50c: 4a1d ldr r2, [pc, #116] ; (804c584 ) 804c50e: 3323 adds r3, #35 ; 0x23 804c510: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c514: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804c518: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804c51c: 021b lsls r3, r3, #8 804c51e: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 804c522: 4b17 ldr r3, [pc, #92] ; (804c580 ) 804c524: 79db ldrb r3, [r3, #7] 804c526: b2db uxtb r3, r3 804c528: 461a mov r2, r3 804c52a: 4b1f ldr r3, [pc, #124] ; (804c5a8 ) 804c52c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804c530: 085b lsrs r3, r3, #1 804c532: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804c536: 4b1a ldr r3, [pc, #104] ; (804c5a0 ) 804c538: 881b ldrh r3, [r3, #0] 804c53a: b29b uxth r3, r3 804c53c: 461a mov r2, r3 804c53e: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c542: 085b lsrs r3, r3, #1 804c544: b29b uxth r3, r3 804c546: 4413 add r3, r2 804c548: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804c54c: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804c550: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804c554: 429a cmp r2, r3 804c556: d829 bhi.n 804c5ac X0 += (multB_u16 >> 1); 804c558: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c55c: 085b lsrs r3, r3, #1 804c55e: b29a uxth r2, r3 804c560: 4b0e ldr r3, [pc, #56] ; (804c59c ) 804c562: 881b ldrh r3, [r3, #0] 804c564: b29b uxth r3, r3 804c566: 4413 add r3, r2 804c568: b29a uxth r2, r3 804c56a: 4b0c ldr r3, [pc, #48] ; (804c59c ) 804c56c: 801a strh r2, [r3, #0] 804c56e: e026 b.n 804c5be 804c570: 20020994 .word 0x20020994 804c574: 20020f94 .word 0x20020f94 804c578: 20025d6e .word 0x20025d6e 804c57c: 20020fc0 .word 0x20020fc0 804c580: 20023eb8 .word 0x20023eb8 804c584: 080f51c8 .word 0x080f51c8 804c588: 20020070 .word 0x20020070 804c58c: 20021570 .word 0x20021570 804c590: 20020fc5 .word 0x20020fc5 804c594: 20020071 .word 0x20020071 804c598: 20025d72 .word 0x20025d72 804c59c: 20025d76 .word 0x20025d76 804c5a0: 20025d78 .word 0x20025d78 804c5a4: 2002006c .word 0x2002006c 804c5a8: 080f5254 .word 0x080f5254 else X0 = (uint16_t) (k - multB_u16); 804c5ac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804c5b0: b29a uxth r2, r3 804c5b2: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c5b6: 1ad3 subs r3, r2, r3 804c5b8: b29a uxth r2, r3 804c5ba: 4b94 ldr r3, [pc, #592] ; (804c80c ) 804c5bc: 801a strh r2, [r3, #0] lX = X0; 804c5be: 4b93 ldr r3, [pc, #588] ; (804c80c ) 804c5c0: 881b ldrh r3, [r3, #0] 804c5c2: b29a uxth r2, r3 804c5c4: 4b92 ldr r3, [pc, #584] ; (804c810 ) 804c5c6: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804c5c8: 4b91 ldr r3, [pc, #580] ; (804c810 ) 804c5ca: 881b ldrh r3, [r3, #0] 804c5cc: b29a uxth r2, r3 804c5ce: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c5d2: 4413 add r3, r2 804c5d4: b29a uxth r2, r3 804c5d6: 4b8f ldr r3, [pc, #572] ; (804c814 ) 804c5d8: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804c5da: 4b8f ldr r3, [pc, #572] ; (804c818 ) 804c5dc: 681b ldr r3, [r3, #0] 804c5de: b29b uxth r3, r3 804c5e0: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804c5e4: fb12 f303 smulbb r3, r2, r3 804c5e8: b29a uxth r2, r3 804c5ea: 4b88 ldr r3, [pc, #544] ; (804c80c ) 804c5ec: 881b ldrh r3, [r3, #0] 804c5ee: b29b uxth r3, r3 804c5f0: 4413 add r3, r2 804c5f2: b29a uxth r2, r3 804c5f4: 4b89 ldr r3, [pc, #548] ; (804c81c ) 804c5f6: 801a strh r2, [r3, #0] AUTOZOOM = true; 804c5f8: 4b89 ldr r3, [pc, #548] ; (804c820 ) 804c5fa: 2201 movs r2, #1 804c5fc: 701a strb r2, [r3, #0] break; 804c5fe: e2c0 b.n 804cb82 case ZoomIn: lvl_0 = 0; 804c600: 2300 movs r3, #0 804c602: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804c606: 4b87 ldr r3, [pc, #540] ; (804c824 ) 804c608: 781b ldrb r3, [r3, #0] 804c60a: b2db uxtb r3, r3 804c60c: 461a mov r2, r3 804c60e: 4613 mov r3, r2 804c610: 009b lsls r3, r3, #2 804c612: 4413 add r3, r2 804c614: 4a84 ldr r2, [pc, #528] ; (804c828 ) 804c616: 79d2 ldrb r2, [r2, #7] 804c618: b2d2 uxtb r2, r2 804c61a: 4413 add r3, r2 804c61c: 4a83 ldr r2, [pc, #524] ; (804c82c ) 804c61e: 3323 adds r3, #35 ; 0x23 804c620: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c624: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 804c628: 2304 movs r3, #4 804c62a: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804c62e: 4b7d ldr r3, [pc, #500] ; (804c824 ) 804c630: 781b ldrb r3, [r3, #0] 804c632: b2db uxtb r3, r3 804c634: b29b uxth r3, r3 804c636: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804c63a: 429a cmp r2, r3 804c63c: f240 829a bls.w 804cb74 804c640: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c644: 2b01 cmp r3, #1 804c646: f240 8295 bls.w 804cb74 { ViewLevel++; 804c64a: 4b76 ldr r3, [pc, #472] ; (804c824 ) 804c64c: 781b ldrb r3, [r3, #0] 804c64e: b2db uxtb r3, r3 804c650: 3301 adds r3, #1 804c652: b2da uxtb r2, r3 804c654: 4b73 ldr r3, [pc, #460] ; (804c824 ) 804c656: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804c658: 4b72 ldr r3, [pc, #456] ; (804c824 ) 804c65a: 781b ldrb r3, [r3, #0] 804c65c: b2db uxtb r3, r3 804c65e: 461a mov r2, r3 804c660: 4613 mov r3, r2 804c662: 009b lsls r3, r3, #2 804c664: 4413 add r3, r2 804c666: 4a70 ldr r2, [pc, #448] ; (804c828 ) 804c668: 79d2 ldrb r2, [r2, #7] 804c66a: b2d2 uxtb r2, r2 804c66c: 4413 add r3, r2 804c66e: 4a6f ldr r2, [pc, #444] ; (804c82c ) 804c670: 3323 adds r3, #35 ; 0x23 804c672: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c676: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804c67a: 4b68 ldr r3, [pc, #416] ; (804c81c ) 804c67c: 881b ldrh r3, [r3, #0] 804c67e: b29a uxth r2, r3 804c680: 4b65 ldr r3, [pc, #404] ; (804c818 ) 804c682: 681b ldr r3, [r3, #0] 804c684: b29b uxth r3, r3 804c686: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804c68a: fb11 f303 smulbb r3, r1, r3 804c68e: b29b uxth r3, r3 804c690: 1ad3 subs r3, r2, r3 804c692: b29a uxth r2, r3 804c694: 4b5d ldr r3, [pc, #372] ; (804c80c ) 804c696: 801a strh r2, [r3, #0] lX = X0; 804c698: 4b5c ldr r3, [pc, #368] ; (804c80c ) 804c69a: 881b ldrh r3, [r3, #0] 804c69c: b29a uxth r2, r3 804c69e: 4b5c ldr r3, [pc, #368] ; (804c810 ) 804c6a0: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c6a2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c6a6: 021b lsls r3, r3, #8 804c6a8: b29a uxth r2, r3 804c6aa: 4b59 ldr r3, [pc, #356] ; (804c810 ) 804c6ac: 881b ldrh r3, [r3, #0] 804c6ae: b29b uxth r3, r3 804c6b0: 4413 add r3, r2 804c6b2: b29a uxth r2, r3 804c6b4: 4b57 ldr r3, [pc, #348] ; (804c814 ) 804c6b6: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c6b8: 4b5d ldr r3, [pc, #372] ; (804c830 ) 804c6ba: 881b ldrh r3, [r3, #0] 804c6bc: b29b uxth r3, r3 804c6be: 461a mov r2, r3 804c6c0: 4b53 ldr r3, [pc, #332] ; (804c810 ) 804c6c2: 881b ldrh r3, [r3, #0] 804c6c4: b29b uxth r3, r3 804c6c6: 1ad2 subs r2, r2, r3 804c6c8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c6cc: fb92 f3f3 sdiv r3, r2, r3 804c6d0: 461a mov r2, r3 804c6d2: 4b51 ldr r3, [pc, #324] ; (804c818 ) 804c6d4: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804c6d6: 4b50 ldr r3, [pc, #320] ; (804c818 ) 804c6d8: 681b ldr r3, [r3, #0] 804c6da: b29b uxth r3, r3 804c6dc: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c6e0: fb12 f303 smulbb r3, r2, r3 804c6e4: b29a uxth r2, r3 804c6e6: 4b4a ldr r3, [pc, #296] ; (804c810 ) 804c6e8: 881b ldrh r3, [r3, #0] 804c6ea: b29b uxth r3, r3 804c6ec: 4413 add r3, r2 804c6ee: b29a uxth r2, r3 804c6f0: 4b4a ldr r3, [pc, #296] ; (804c81c ) 804c6f2: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804c6f4: 4b48 ldr r3, [pc, #288] ; (804c818 ) 804c6f6: 681b ldr r3, [r3, #0] 804c6f8: 2b7f cmp r3, #127 ; 0x7f 804c6fa: d83b bhi.n 804c774 804c6fc: 4b43 ldr r3, [pc, #268] ; (804c80c ) 804c6fe: 881b ldrh r3, [r3, #0] 804c700: b29b uxth r3, r3 804c702: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c706: 429a cmp r2, r3 804c708: d834 bhi.n 804c774 { if(lX >= dX) 804c70a: 4b41 ldr r3, [pc, #260] ; (804c810 ) 804c70c: 881b ldrh r3, [r3, #0] 804c70e: b29b uxth r3, r3 804c710: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c714: 429a cmp r2, r3 804c716: d875 bhi.n 804c804 { CURSOR++; 804c718: 4b3f ldr r3, [pc, #252] ; (804c818 ) 804c71a: 681b ldr r3, [r3, #0] 804c71c: 3301 adds r3, #1 804c71e: 4a3e ldr r2, [pc, #248] ; (804c818 ) 804c720: 6013 str r3, [r2, #0] X0 -= dX; 804c722: 4b3a ldr r3, [pc, #232] ; (804c80c ) 804c724: 881b ldrh r3, [r3, #0] 804c726: b29a uxth r2, r3 804c728: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c72c: 1ad3 subs r3, r2, r3 804c72e: b29a uxth r2, r3 804c730: 4b36 ldr r3, [pc, #216] ; (804c80c ) 804c732: 801a strh r2, [r3, #0] lX = X0; 804c734: 4b35 ldr r3, [pc, #212] ; (804c80c ) 804c736: 881b ldrh r3, [r3, #0] 804c738: b29a uxth r2, r3 804c73a: 4b35 ldr r3, [pc, #212] ; (804c810 ) 804c73c: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c73e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c742: 021b lsls r3, r3, #8 804c744: b29a uxth r2, r3 804c746: 4b32 ldr r3, [pc, #200] ; (804c810 ) 804c748: 881b ldrh r3, [r3, #0] 804c74a: b29b uxth r3, r3 804c74c: 4413 add r3, r2 804c74e: b29a uxth r2, r3 804c750: 4b30 ldr r3, [pc, #192] ; (804c814 ) 804c752: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c754: 4b36 ldr r3, [pc, #216] ; (804c830 ) 804c756: 881b ldrh r3, [r3, #0] 804c758: b29b uxth r3, r3 804c75a: 461a mov r2, r3 804c75c: 4b2c ldr r3, [pc, #176] ; (804c810 ) 804c75e: 881b ldrh r3, [r3, #0] 804c760: b29b uxth r3, r3 804c762: 1ad2 subs r2, r2, r3 804c764: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c768: fb92 f3f3 sdiv r3, r2, r3 804c76c: 461a mov r2, r3 804c76e: 4b2a ldr r3, [pc, #168] ; (804c818 ) 804c770: 601a str r2, [r3, #0] if(lX >= dX) 804c772: e047 b.n 804c804 } } else if(CURSOR > (256 >> 1)) 804c774: 4b28 ldr r3, [pc, #160] ; (804c818 ) 804c776: 681b ldr r3, [r3, #0] 804c778: 2b80 cmp r3, #128 ; 0x80 804c77a: d943 bls.n 804c804 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804c77c: 4b25 ldr r3, [pc, #148] ; (804c814 ) 804c77e: 881b ldrh r3, [r3, #0] 804c780: b29b uxth r3, r3 804c782: 461a mov r2, r3 804c784: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c788: 18d1 adds r1, r2, r3 804c78a: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804c78e: 4613 mov r3, r2 804c790: 009b lsls r3, r3, #2 804c792: 4413 add r3, r2 804c794: 4a24 ldr r2, [pc, #144] ; (804c828 ) 804c796: 79d2 ldrb r2, [r2, #7] 804c798: b2d2 uxtb r2, r2 804c79a: 4413 add r3, r2 804c79c: 4a23 ldr r2, [pc, #140] ; (804c82c ) 804c79e: 3323 adds r3, #35 ; 0x23 804c7a0: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c7a4: 021b lsls r3, r3, #8 804c7a6: 4299 cmp r1, r3 804c7a8: dc2c bgt.n 804c804 { CURSOR--; 804c7aa: 4b1b ldr r3, [pc, #108] ; (804c818 ) 804c7ac: 681b ldr r3, [r3, #0] 804c7ae: 3b01 subs r3, #1 804c7b0: 4a19 ldr r2, [pc, #100] ; (804c818 ) 804c7b2: 6013 str r3, [r2, #0] X0 += dX; 804c7b4: 4b15 ldr r3, [pc, #84] ; (804c80c ) 804c7b6: 881b ldrh r3, [r3, #0] 804c7b8: b29a uxth r2, r3 804c7ba: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c7be: 4413 add r3, r2 804c7c0: b29a uxth r2, r3 804c7c2: 4b12 ldr r3, [pc, #72] ; (804c80c ) 804c7c4: 801a strh r2, [r3, #0] lX = X0; 804c7c6: 4b11 ldr r3, [pc, #68] ; (804c80c ) 804c7c8: 881b ldrh r3, [r3, #0] 804c7ca: b29a uxth r2, r3 804c7cc: 4b10 ldr r3, [pc, #64] ; (804c810 ) 804c7ce: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c7d0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c7d4: 021b lsls r3, r3, #8 804c7d6: b29a uxth r2, r3 804c7d8: 4b0d ldr r3, [pc, #52] ; (804c810 ) 804c7da: 881b ldrh r3, [r3, #0] 804c7dc: b29b uxth r3, r3 804c7de: 4413 add r3, r2 804c7e0: b29a uxth r2, r3 804c7e2: 4b0c ldr r3, [pc, #48] ; (804c814 ) 804c7e4: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c7e6: 4b12 ldr r3, [pc, #72] ; (804c830 ) 804c7e8: 881b ldrh r3, [r3, #0] 804c7ea: b29b uxth r3, r3 804c7ec: 461a mov r2, r3 804c7ee: 4b08 ldr r3, [pc, #32] ; (804c810 ) 804c7f0: 881b ldrh r3, [r3, #0] 804c7f2: b29b uxth r3, r3 804c7f4: 1ad2 subs r2, r2, r3 804c7f6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c7fa: fb92 f3f3 sdiv r3, r2, r3 804c7fe: 461a mov r2, r3 804c800: 4b05 ldr r3, [pc, #20] ; (804c818 ) 804c802: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804c804: 4b06 ldr r3, [pc, #24] ; (804c820 ) 804c806: 2201 movs r2, #1 804c808: 701a strb r2, [r3, #0] } break; 804c80a: e1b3 b.n 804cb74 804c80c: 20025d76 .word 0x20025d76 804c810: 20025d72 .word 0x20025d72 804c814: 20025d78 .word 0x20025d78 804c818: 2002006c .word 0x2002006c 804c81c: 20025d6e .word 0x20025d6e 804c820: 20020994 .word 0x20020994 804c824: 20020fc0 .word 0x20020fc0 804c828: 20023eb8 .word 0x20023eb8 804c82c: 080f51c8 .word 0x080f51c8 804c830: 20025d74 .word 0x20025d74 case ZoomOut: lvl_0 = 0; 804c834: 2300 movs r3, #0 804c836: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804c83a: 2304 movs r3, #4 804c83c: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804c840: 4b94 ldr r3, [pc, #592] ; (804ca94 ) 804c842: 781b ldrb r3, [r3, #0] 804c844: b2db uxtb r3, r3 804c846: 461a mov r2, r3 804c848: 4613 mov r3, r2 804c84a: 009b lsls r3, r3, #2 804c84c: 4413 add r3, r2 804c84e: 4a92 ldr r2, [pc, #584] ; (804ca98 ) 804c850: 79d2 ldrb r2, [r2, #7] 804c852: b2d2 uxtb r2, r2 804c854: 4413 add r3, r2 804c856: 4a91 ldr r2, [pc, #580] ; (804ca9c ) 804c858: 3323 adds r3, #35 ; 0x23 804c85a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c85e: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804c862: 4b8c ldr r3, [pc, #560] ; (804ca94 ) 804c864: 781b ldrb r3, [r3, #0] 804c866: b2db uxtb r3, r3 804c868: 2b00 cmp r3, #0 804c86a: f000 8186 beq.w 804cb7a { ViewLevel--; 804c86e: 4b89 ldr r3, [pc, #548] ; (804ca94 ) 804c870: 781b ldrb r3, [r3, #0] 804c872: b2db uxtb r3, r3 804c874: 3b01 subs r3, #1 804c876: b2da uxtb r2, r3 804c878: 4b86 ldr r3, [pc, #536] ; (804ca94 ) 804c87a: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804c87c: 4b85 ldr r3, [pc, #532] ; (804ca94 ) 804c87e: 781b ldrb r3, [r3, #0] 804c880: b2db uxtb r3, r3 804c882: 461a mov r2, r3 804c884: 4613 mov r3, r2 804c886: 009b lsls r3, r3, #2 804c888: 4413 add r3, r2 804c88a: 4a83 ldr r2, [pc, #524] ; (804ca98 ) 804c88c: 79d2 ldrb r2, [r2, #7] 804c88e: b2d2 uxtb r2, r2 804c890: 4413 add r3, r2 804c892: 4a82 ldr r2, [pc, #520] ; (804ca9c ) 804c894: 3323 adds r3, #35 ; 0x23 804c896: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c89a: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804c89e: 4b7d ldr r3, [pc, #500] ; (804ca94 ) 804c8a0: 781b ldrb r3, [r3, #0] 804c8a2: b2db uxtb r3, r3 804c8a4: 2b00 cmp r3, #0 804c8a6: d130 bne.n 804c90a { X0 = lX = 0; 804c8a8: 2100 movs r1, #0 804c8aa: 4b7d ldr r3, [pc, #500] ; (804caa0 ) 804c8ac: 460a mov r2, r1 804c8ae: 801a strh r2, [r3, #0] 804c8b0: 4b7c ldr r3, [pc, #496] ; (804caa4 ) 804c8b2: 460a mov r2, r1 804c8b4: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c8b6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c8ba: 021b lsls r3, r3, #8 804c8bc: b29a uxth r2, r3 804c8be: 4b78 ldr r3, [pc, #480] ; (804caa0 ) 804c8c0: 881b ldrh r3, [r3, #0] 804c8c2: b29b uxth r3, r3 804c8c4: 4413 add r3, r2 804c8c6: b29a uxth r2, r3 804c8c8: 4b77 ldr r3, [pc, #476] ; (804caa8 ) 804c8ca: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c8cc: 4b77 ldr r3, [pc, #476] ; (804caac ) 804c8ce: 881b ldrh r3, [r3, #0] 804c8d0: b29b uxth r3, r3 804c8d2: 461a mov r2, r3 804c8d4: 4b72 ldr r3, [pc, #456] ; (804caa0 ) 804c8d6: 881b ldrh r3, [r3, #0] 804c8d8: b29b uxth r3, r3 804c8da: 1ad2 subs r2, r2, r3 804c8dc: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c8e0: fb92 f3f3 sdiv r3, r2, r3 804c8e4: 461a mov r2, r3 804c8e6: 4b72 ldr r3, [pc, #456] ; (804cab0 ) 804c8e8: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804c8ea: 4b71 ldr r3, [pc, #452] ; (804cab0 ) 804c8ec: 681b ldr r3, [r3, #0] 804c8ee: b29b uxth r3, r3 804c8f0: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c8f4: fb12 f303 smulbb r3, r2, r3 804c8f8: b29a uxth r2, r3 804c8fa: 4b6a ldr r3, [pc, #424] ; (804caa4 ) 804c8fc: 881b ldrh r3, [r3, #0] 804c8fe: b29b uxth r3, r3 804c900: 4413 add r3, r2 804c902: b29a uxth r2, r3 804c904: 4b6b ldr r3, [pc, #428] ; (804cab4 ) 804c906: 801a strh r2, [r3, #0] 804c908: e090 b.n 804ca2c } else { if(CURSOR * dX > Mpos) 804c90a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c90e: 4a68 ldr r2, [pc, #416] ; (804cab0 ) 804c910: 6812 ldr r2, [r2, #0] 804c912: fb02 f303 mul.w r3, r2, r3 804c916: 4a67 ldr r2, [pc, #412] ; (804cab4 ) 804c918: 8812 ldrh r2, [r2, #0] 804c91a: b292 uxth r2, r2 804c91c: 4293 cmp r3, r2 804c91e: d91f bls.n 804c960 { while(CURSOR * dX > Mpos) 804c920: e004 b.n 804c92c CURSOR--; 804c922: 4b63 ldr r3, [pc, #396] ; (804cab0 ) 804c924: 681b ldr r3, [r3, #0] 804c926: 3b01 subs r3, #1 804c928: 4a61 ldr r2, [pc, #388] ; (804cab0 ) 804c92a: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804c92c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c930: 4a5f ldr r2, [pc, #380] ; (804cab0 ) 804c932: 6812 ldr r2, [r2, #0] 804c934: fb02 f303 mul.w r3, r2, r3 804c938: 4a5e ldr r2, [pc, #376] ; (804cab4 ) 804c93a: 8812 ldrh r2, [r2, #0] 804c93c: b292 uxth r2, r2 804c93e: 4293 cmp r3, r2 804c940: d8ef bhi.n 804c922 Mpos = X0 + CURSOR * dX; 804c942: 4b5b ldr r3, [pc, #364] ; (804cab0 ) 804c944: 681b ldr r3, [r3, #0] 804c946: b29b uxth r3, r3 804c948: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c94c: fb12 f303 smulbb r3, r2, r3 804c950: b29a uxth r2, r3 804c952: 4b54 ldr r3, [pc, #336] ; (804caa4 ) 804c954: 881b ldrh r3, [r3, #0] 804c956: b29b uxth r3, r3 804c958: 4413 add r3, r2 804c95a: b29a uxth r2, r3 804c95c: 4b55 ldr r3, [pc, #340] ; (804cab4 ) 804c95e: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804c960: 4b54 ldr r3, [pc, #336] ; (804cab4 ) 804c962: 881b ldrh r3, [r3, #0] 804c964: b29b uxth r3, r3 804c966: 4619 mov r1, r3 804c968: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c96c: 4a50 ldr r2, [pc, #320] ; (804cab0 ) 804c96e: 6812 ldr r2, [r2, #0] 804c970: fb02 f303 mul.w r3, r2, r3 804c974: 1acb subs r3, r1, r3 804c976: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804c97a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c97e: 021b lsls r3, r3, #8 804c980: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804c984: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804c988: 4613 mov r3, r2 804c98a: 009b lsls r3, r3, #2 804c98c: 4413 add r3, r2 804c98e: 4a42 ldr r2, [pc, #264] ; (804ca98 ) 804c990: 79d2 ldrb r2, [r2, #7] 804c992: b2d2 uxtb r2, r2 804c994: 4413 add r3, r2 804c996: 4a41 ldr r2, [pc, #260] ; (804ca9c ) 804c998: 3323 adds r3, #35 ; 0x23 804c99a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c99e: 021b lsls r3, r3, #8 804c9a0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804c9a4: e006 b.n 804c9b4 i -= dXold; 804c9a6: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804c9aa: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804c9ae: 1ad3 subs r3, r2, r3 804c9b0: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804c9b4: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804c9b8: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804c9bc: 441a add r2, r3 804c9be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804c9c2: 429a cmp r2, r3 804c9c4: d8ef bhi.n 804c9a6 } X0 = (uint16_t) i; 804c9c6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804c9ca: b29a uxth r2, r3 804c9cc: 4b35 ldr r3, [pc, #212] ; (804caa4 ) 804c9ce: 801a strh r2, [r3, #0] lX = X0; 804c9d0: 4b34 ldr r3, [pc, #208] ; (804caa4 ) 804c9d2: 881b ldrh r3, [r3, #0] 804c9d4: b29a uxth r2, r3 804c9d6: 4b32 ldr r3, [pc, #200] ; (804caa0 ) 804c9d8: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c9da: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c9de: 021b lsls r3, r3, #8 804c9e0: b29a uxth r2, r3 804c9e2: 4b2f ldr r3, [pc, #188] ; (804caa0 ) 804c9e4: 881b ldrh r3, [r3, #0] 804c9e6: b29b uxth r3, r3 804c9e8: 4413 add r3, r2 804c9ea: b29a uxth r2, r3 804c9ec: 4b2e ldr r3, [pc, #184] ; (804caa8 ) 804c9ee: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c9f0: 4b2e ldr r3, [pc, #184] ; (804caac ) 804c9f2: 881b ldrh r3, [r3, #0] 804c9f4: b29b uxth r3, r3 804c9f6: 461a mov r2, r3 804c9f8: 4b29 ldr r3, [pc, #164] ; (804caa0 ) 804c9fa: 881b ldrh r3, [r3, #0] 804c9fc: b29b uxth r3, r3 804c9fe: 1ad2 subs r2, r2, r3 804ca00: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ca04: fb92 f3f3 sdiv r3, r2, r3 804ca08: 461a mov r2, r3 804ca0a: 4b29 ldr r3, [pc, #164] ; (804cab0 ) 804ca0c: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804ca0e: 4b28 ldr r3, [pc, #160] ; (804cab0 ) 804ca10: 681b ldr r3, [r3, #0] 804ca12: b29b uxth r3, r3 804ca14: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804ca18: fb12 f303 smulbb r3, r2, r3 804ca1c: b29a uxth r2, r3 804ca1e: 4b21 ldr r3, [pc, #132] ; (804caa4 ) 804ca20: 881b ldrh r3, [r3, #0] 804ca22: b29b uxth r3, r3 804ca24: 4413 add r3, r2 804ca26: b29a uxth r2, r3 804ca28: 4b22 ldr r3, [pc, #136] ; (804cab4 ) 804ca2a: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804ca2c: 4b22 ldr r3, [pc, #136] ; (804cab8 ) 804ca2e: 2201 movs r2, #1 804ca30: 701a strb r2, [r3, #0] } break; 804ca32: e0a2 b.n 804cb7a case Cursor: AUTOZOOM = true; 804ca34: 4b20 ldr r3, [pc, #128] ; (804cab8 ) 804ca36: 2201 movs r2, #1 804ca38: 701a strb r2, [r3, #0] if((DynamicCursor[0].Mpos >= Mpos) && (DynamicCursor[0].Mpos < (Mpos + Avg[1][5 * ViewLevel + pardata.LNE]))) 804ca3a: 4b20 ldr r3, [pc, #128] ; (804cabc ) 804ca3c: 889a ldrh r2, [r3, #4] 804ca3e: 4b1d ldr r3, [pc, #116] ; (804cab4 ) 804ca40: 881b ldrh r3, [r3, #0] 804ca42: b29b uxth r3, r3 804ca44: 429a cmp r2, r3 804ca46: d33b bcc.n 804cac0 804ca48: 4b1c ldr r3, [pc, #112] ; (804cabc ) 804ca4a: 889b ldrh r3, [r3, #4] 804ca4c: 4619 mov r1, r3 804ca4e: 4b19 ldr r3, [pc, #100] ; (804cab4 ) 804ca50: 881b ldrh r3, [r3, #0] 804ca52: b29b uxth r3, r3 804ca54: 4618 mov r0, r3 804ca56: 4b0f ldr r3, [pc, #60] ; (804ca94 ) 804ca58: 781b ldrb r3, [r3, #0] 804ca5a: b2db uxtb r3, r3 804ca5c: 461a mov r2, r3 804ca5e: 4613 mov r3, r2 804ca60: 009b lsls r3, r3, #2 804ca62: 4413 add r3, r2 804ca64: 4a0c ldr r2, [pc, #48] ; (804ca98 ) 804ca66: 79d2 ldrb r2, [r2, #7] 804ca68: b2d2 uxtb r2, r2 804ca6a: 4413 add r3, r2 804ca6c: 4a0b ldr r2, [pc, #44] ; (804ca9c ) 804ca6e: 3323 adds r3, #35 ; 0x23 804ca70: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ca74: 4403 add r3, r0 804ca76: 4299 cmp r1, r3 804ca78: da22 bge.n 804cac0 { if(DynamicCursor[0].Enabled) 804ca7a: 4b10 ldr r3, [pc, #64] ; (804cabc ) 804ca7c: 781b ldrb r3, [r3, #0] 804ca7e: 2b00 cmp r3, #0 804ca80: d074 beq.n 804cb6c { DynamicCursor[0].Enabled = false; 804ca82: 4b0e ldr r3, [pc, #56] ; (804cabc ) 804ca84: 2200 movs r2, #0 804ca86: 701a strb r2, [r3, #0] DynamicCursor[0].Mpos = 0xffff; 804ca88: 4b0c ldr r3, [pc, #48] ; (804cabc ) 804ca8a: f64f 72ff movw r2, #65535 ; 0xffff 804ca8e: 809a strh r2, [r3, #4] if(DynamicCursor[0].Enabled) 804ca90: e06c b.n 804cb6c 804ca92: bf00 nop 804ca94: 20020fc0 .word 0x20020fc0 804ca98: 20023eb8 .word 0x20023eb8 804ca9c: 080f51c8 .word 0x080f51c8 804caa0: 20025d72 .word 0x20025d72 804caa4: 20025d76 .word 0x20025d76 804caa8: 20025d78 .word 0x20025d78 804caac: 20025d74 .word 0x20025d74 804cab0: 2002006c .word 0x2002006c 804cab4: 20025d6e .word 0x20025d6e 804cab8: 20020994 .word 0x20020994 804cabc: 20020f94 .word 0x20020f94 } } else if((DynamicCursor[1].Mpos >= Mpos) && (DynamicCursor[1].Mpos < (Mpos + Avg[1][5 * ViewLevel + pardata.LNE]))) 804cac0: 4b9b ldr r3, [pc, #620] ; (804cd30 ) 804cac2: 8a9a ldrh r2, [r3, #20] 804cac4: 4b9b ldr r3, [pc, #620] ; (804cd34 ) 804cac6: 881b ldrh r3, [r3, #0] 804cac8: b29b uxth r3, r3 804caca: 429a cmp r2, r3 804cacc: d324 bcc.n 804cb18 804cace: 4b98 ldr r3, [pc, #608] ; (804cd30 ) 804cad0: 8a9b ldrh r3, [r3, #20] 804cad2: 4619 mov r1, r3 804cad4: 4b97 ldr r3, [pc, #604] ; (804cd34 ) 804cad6: 881b ldrh r3, [r3, #0] 804cad8: b29b uxth r3, r3 804cada: 4618 mov r0, r3 804cadc: 4b96 ldr r3, [pc, #600] ; (804cd38 ) 804cade: 781b ldrb r3, [r3, #0] 804cae0: b2db uxtb r3, r3 804cae2: 461a mov r2, r3 804cae4: 4613 mov r3, r2 804cae6: 009b lsls r3, r3, #2 804cae8: 4413 add r3, r2 804caea: 4a94 ldr r2, [pc, #592] ; (804cd3c ) 804caec: 79d2 ldrb r2, [r2, #7] 804caee: b2d2 uxtb r2, r2 804caf0: 4413 add r3, r2 804caf2: 4a93 ldr r2, [pc, #588] ; (804cd40 ) 804caf4: 3323 adds r3, #35 ; 0x23 804caf6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804cafa: 4403 add r3, r0 804cafc: 4299 cmp r1, r3 804cafe: da0b bge.n 804cb18 { if(DynamicCursor[1].Enabled) 804cb00: 4b8b ldr r3, [pc, #556] ; (804cd30 ) 804cb02: 7c1b ldrb r3, [r3, #16] 804cb04: 2b00 cmp r3, #0 804cb06: d031 beq.n 804cb6c { DynamicCursor[1].Enabled = false; 804cb08: 4b89 ldr r3, [pc, #548] ; (804cd30 ) 804cb0a: 2200 movs r2, #0 804cb0c: 741a strb r2, [r3, #16] DynamicCursor[1].Mpos = 0xffff; 804cb0e: 4b88 ldr r3, [pc, #544] ; (804cd30 ) 804cb10: f64f 72ff movw r2, #65535 ; 0xffff 804cb14: 829a strh r2, [r3, #20] if(DynamicCursor[1].Enabled) 804cb16: e029 b.n 804cb6c } } else { if(!DynamicCursor[0].Enabled) 804cb18: 4b85 ldr r3, [pc, #532] ; (804cd30 ) 804cb1a: 781b ldrb r3, [r3, #0] 804cb1c: f083 0301 eor.w r3, r3, #1 804cb20: b2db uxtb r3, r3 804cb22: 2b00 cmp r3, #0 804cb24: d00d beq.n 804cb42 { DynamicCursor[0].Mpos = Mpos; 804cb26: 4b83 ldr r3, [pc, #524] ; (804cd34 ) 804cb28: 881b ldrh r3, [r3, #0] 804cb2a: b29a uxth r2, r3 804cb2c: 4b80 ldr r3, [pc, #512] ; (804cd30 ) 804cb2e: 809a strh r2, [r3, #4] DynamicCursor[0].fineMpos = Mpos; 804cb30: 4b80 ldr r3, [pc, #512] ; (804cd34 ) 804cb32: 881b ldrh r3, [r3, #0] 804cb34: b29a uxth r2, r3 804cb36: 4b7e ldr r3, [pc, #504] ; (804cd30 ) 804cb38: 80da strh r2, [r3, #6] DynamicCursor[0].Enabled = true; 804cb3a: 4b7d ldr r3, [pc, #500] ; (804cd30 ) 804cb3c: 2201 movs r2, #1 804cb3e: 701a strb r2, [r3, #0] DynamicCursor[1].Mpos = Mpos; DynamicCursor[1].fineMpos = Mpos; DynamicCursor[1].Enabled = true; } } break; 804cb40: e01e b.n 804cb80 if(!DynamicCursor[1].Enabled) 804cb42: 4b7b ldr r3, [pc, #492] ; (804cd30 ) 804cb44: 7c1b ldrb r3, [r3, #16] 804cb46: f083 0301 eor.w r3, r3, #1 804cb4a: b2db uxtb r3, r3 804cb4c: 2b00 cmp r3, #0 804cb4e: d017 beq.n 804cb80 DynamicCursor[1].Mpos = Mpos; 804cb50: 4b78 ldr r3, [pc, #480] ; (804cd34 ) 804cb52: 881b ldrh r3, [r3, #0] 804cb54: b29a uxth r2, r3 804cb56: 4b76 ldr r3, [pc, #472] ; (804cd30 ) 804cb58: 829a strh r2, [r3, #20] DynamicCursor[1].fineMpos = Mpos; 804cb5a: 4b76 ldr r3, [pc, #472] ; (804cd34 ) 804cb5c: 881b ldrh r3, [r3, #0] 804cb5e: b29a uxth r2, r3 804cb60: 4b73 ldr r3, [pc, #460] ; (804cd30 ) 804cb62: 82da strh r2, [r3, #22] DynamicCursor[1].Enabled = true; 804cb64: 4b72 ldr r3, [pc, #456] ; (804cd30 ) 804cb66: 2201 movs r2, #1 804cb68: 741a strb r2, [r3, #16] break; 804cb6a: e009 b.n 804cb80 804cb6c: e008 b.n 804cb80 break; 804cb6e: bf00 nop 804cb70: f007 bda8 b.w 80546c4 break; 804cb74: bf00 nop 804cb76: f007 bda5 b.w 80546c4 break; 804cb7a: bf00 nop 804cb7c: f007 bda2 b.w 80546c4 break; 804cb80: bf00 nop } break; 804cb82: f007 bd9f b.w 80546c4 case MAIN_ROLL: switch(menupos) 804cb86: 4b6f ldr r3, [pc, #444] ; (804cd44 ) 804cb88: 781b ldrb r3, [r3, #0] 804cb8a: b2db uxtb r3, r3 804cb8c: 2b08 cmp r3, #8 804cb8e: f207 859b bhi.w 80546c8 804cb92: a201 add r2, pc, #4 ; (adr r2, 804cb98 ) 804cb94: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804cb98: 0804cbbd .word 0x0804cbbd 804cb9c: 080546c9 .word 0x080546c9 804cba0: 0804cc0d .word 0x0804cc0d 804cba4: 0804cdc5 .word 0x0804cdc5 804cba8: 0804cff9 .word 0x0804cff9 804cbac: 0804ccb7 .word 0x0804ccb7 804cbb0: 0804d1f9 .word 0x0804d1f9 804cbb4: 080546c9 .word 0x080546c9 804cbb8: 0804d333 .word 0x0804d333 { case StartStop: if(!measuring) 804cbbc: 4b62 ldr r3, [pc, #392] ; (804cd48 ) 804cbbe: 781b ldrb r3, [r3, #0] 804cbc0: b2db uxtb r3, r3 804cbc2: f083 0301 eor.w r3, r3, #1 804cbc6: b2db uxtb r3, r3 804cbc8: 2b00 cmp r3, #0 804cbca: d014 beq.n 804cbf6 { AUTOZOOM = true; 804cbcc: 4b5f ldr r3, [pc, #380] ; (804cd4c ) 804cbce: 2201 movs r2, #1 804cbd0: 701a strb r2, [r3, #0] FIRST = true; 804cbd2: 4b5f ldr r3, [pc, #380] ; (804cd50 ) 804cbd4: 2201 movs r2, #1 804cbd6: 701a strb r2, [r3, #0] if(FirstStart) 804cbd8: 4b5e ldr r3, [pc, #376] ; (804cd54 ) 804cbda: 781b ldrb r3, [r3, #0] 804cbdc: b2db uxtb r3, r3 804cbde: 2b00 cmp r3, #0 804cbe0: d004 beq.n 804cbec { FirstStart = false; 804cbe2: 4b5c ldr r3, [pc, #368] ; (804cd54 ) 804cbe4: 2200 movs r2, #0 804cbe6: 701a strb r2, [r3, #0] initAmplif(); 804cbe8: f7d4 ff54 bl 8021a94 } RefreshGraf(); 804cbec: f007 fde6 bl 80547bc StartMeas(); 804cbf0: f7d6 fa24 bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804cbf4: e3b3 b.n 804d35e StopMeas(); 804cbf6: f7d6 fdd1 bl 802379c AUTOZOOM = true; 804cbfa: 4b54 ldr r3, [pc, #336] ; (804cd4c ) 804cbfc: 2201 movs r2, #1 804cbfe: 701a strb r2, [r3, #0] oldmenupos = menupos; 804cc00: 4b50 ldr r3, [pc, #320] ; (804cd44 ) 804cc02: 781b ldrb r3, [r3, #0] 804cc04: b2da uxtb r2, r3 804cc06: 4b54 ldr r3, [pc, #336] ; (804cd58 ) 804cc08: 701a strb r2, [r3, #0] break; 804cc0a: e3a8 b.n 804d35e case ImageLeft: if(lX) 804cc0c: 4b53 ldr r3, [pc, #332] ; (804cd5c ) 804cc0e: 881b ldrh r3, [r3, #0] 804cc10: b29b uxth r3, r3 804cc12: 2b00 cmp r3, #0 804cc14: f000 8399 beq.w 804d34a { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804cc18: 4b47 ldr r3, [pc, #284] ; (804cd38 ) 804cc1a: 781b ldrb r3, [r3, #0] 804cc1c: b2db uxtb r3, r3 804cc1e: 461a mov r2, r3 804cc20: 4613 mov r3, r2 804cc22: 009b lsls r3, r3, #2 804cc24: 4413 add r3, r2 804cc26: 4a45 ldr r2, [pc, #276] ; (804cd3c ) 804cc28: 79d2 ldrb r2, [r2, #7] 804cc2a: b2d2 uxtb r2, r2 804cc2c: 4413 add r3, r2 804cc2e: 4a44 ldr r2, [pc, #272] ; (804cd40 ) 804cc30: 3323 adds r3, #35 ; 0x23 804cc32: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804cc36: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804cc3a: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804cc3e: 021b lsls r3, r3, #8 804cc40: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804cc44: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804cc48: 085b lsrs r3, r3, #1 804cc4a: b29a uxth r2, r3 804cc4c: 4b43 ldr r3, [pc, #268] ; (804cd5c ) 804cc4e: 881b ldrh r3, [r3, #0] 804cc50: b29b uxth r3, r3 804cc52: 429a cmp r2, r3 804cc54: d80b bhi.n 804cc6e X0 -= (multB_u16 >> 1); 804cc56: 4b42 ldr r3, [pc, #264] ; (804cd60 ) 804cc58: 881b ldrh r3, [r3, #0] 804cc5a: b29a uxth r2, r3 804cc5c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804cc60: 085b lsrs r3, r3, #1 804cc62: b29b uxth r3, r3 804cc64: 1ad3 subs r3, r2, r3 804cc66: b29a uxth r2, r3 804cc68: 4b3d ldr r3, [pc, #244] ; (804cd60 ) 804cc6a: 801a strh r2, [r3, #0] 804cc6c: e002 b.n 804cc74 else X0 = 0; 804cc6e: 4b3c ldr r3, [pc, #240] ; (804cd60 ) 804cc70: 2200 movs r2, #0 804cc72: 801a strh r2, [r3, #0] lX = X0; 804cc74: 4b3a ldr r3, [pc, #232] ; (804cd60 ) 804cc76: 881b ldrh r3, [r3, #0] 804cc78: b29a uxth r2, r3 804cc7a: 4b38 ldr r3, [pc, #224] ; (804cd5c ) 804cc7c: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804cc7e: 4b37 ldr r3, [pc, #220] ; (804cd5c ) 804cc80: 881b ldrh r3, [r3, #0] 804cc82: b29a uxth r2, r3 804cc84: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804cc88: 4413 add r3, r2 804cc8a: b29a uxth r2, r3 804cc8c: 4b35 ldr r3, [pc, #212] ; (804cd64 ) 804cc8e: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804cc90: 4b35 ldr r3, [pc, #212] ; (804cd68 ) 804cc92: 681b ldr r3, [r3, #0] 804cc94: b29b uxth r3, r3 804cc96: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804cc9a: fb12 f303 smulbb r3, r2, r3 804cc9e: b29a uxth r2, r3 804cca0: 4b2f ldr r3, [pc, #188] ; (804cd60 ) 804cca2: 881b ldrh r3, [r3, #0] 804cca4: b29b uxth r3, r3 804cca6: 4413 add r3, r2 804cca8: b29a uxth r2, r3 804ccaa: 4b22 ldr r3, [pc, #136] ; (804cd34 ) 804ccac: 801a strh r2, [r3, #0] AUTOZOOM = true; 804ccae: 4b27 ldr r3, [pc, #156] ; (804cd4c ) 804ccb0: 2201 movs r2, #1 804ccb2: 701a strb r2, [r3, #0] } break; 804ccb4: e349 b.n 804d34a case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804ccb6: 4b20 ldr r3, [pc, #128] ; (804cd38 ) 804ccb8: 781b ldrb r3, [r3, #0] 804ccba: b2db uxtb r3, r3 804ccbc: 461a mov r2, r3 804ccbe: 4613 mov r3, r2 804ccc0: 009b lsls r3, r3, #2 804ccc2: 4413 add r3, r2 804ccc4: 4a1d ldr r2, [pc, #116] ; (804cd3c ) 804ccc6: 79d2 ldrb r2, [r2, #7] 804ccc8: b2d2 uxtb r2, r2 804ccca: 4413 add r3, r2 804cccc: 4a1c ldr r2, [pc, #112] ; (804cd40 ) 804ccce: 3323 adds r3, #35 ; 0x23 804ccd0: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ccd4: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804ccd8: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804ccdc: 021b lsls r3, r3, #8 804ccde: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 804cce2: 4b16 ldr r3, [pc, #88] ; (804cd3c ) 804cce4: 79db ldrb r3, [r3, #7] 804cce6: b2db uxtb r3, r3 804cce8: 461a mov r2, r3 804ccea: 4b20 ldr r3, [pc, #128] ; (804cd6c ) 804ccec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804ccf0: 085b lsrs r3, r3, #1 804ccf2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804ccf6: 4b1b ldr r3, [pc, #108] ; (804cd64 ) 804ccf8: 881b ldrh r3, [r3, #0] 804ccfa: b29b uxth r3, r3 804ccfc: 461a mov r2, r3 804ccfe: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804cd02: 085b lsrs r3, r3, #1 804cd04: b29b uxth r3, r3 804cd06: 4413 add r3, r2 804cd08: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804cd0c: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804cd10: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804cd14: 429a cmp r2, r3 804cd16: d82b bhi.n 804cd70 X0 += (multB_u16 >> 1); 804cd18: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804cd1c: 085b lsrs r3, r3, #1 804cd1e: b29a uxth r2, r3 804cd20: 4b0f ldr r3, [pc, #60] ; (804cd60 ) 804cd22: 881b ldrh r3, [r3, #0] 804cd24: b29b uxth r3, r3 804cd26: 4413 add r3, r2 804cd28: b29a uxth r2, r3 804cd2a: 4b0d ldr r3, [pc, #52] ; (804cd60 ) 804cd2c: 801a strh r2, [r3, #0] 804cd2e: e028 b.n 804cd82 804cd30: 20020f94 .word 0x20020f94 804cd34: 20025d6e .word 0x20025d6e 804cd38: 20020fc0 .word 0x20020fc0 804cd3c: 20023eb8 .word 0x20023eb8 804cd40: 080f51c8 .word 0x080f51c8 804cd44: 20020070 .word 0x20020070 804cd48: 20020dcf .word 0x20020dcf 804cd4c: 20020994 .word 0x20020994 804cd50: 20020dd2 .word 0x20020dd2 804cd54: 20020068 .word 0x20020068 804cd58: 20020fc7 .word 0x20020fc7 804cd5c: 20025d72 .word 0x20025d72 804cd60: 20025d76 .word 0x20025d76 804cd64: 20025d78 .word 0x20025d78 804cd68: 2002006c .word 0x2002006c 804cd6c: 080f5254 .word 0x080f5254 else X0 = (uint16_t) (k - multB_u16); 804cd70: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804cd74: b29a uxth r2, r3 804cd76: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804cd7a: 1ad3 subs r3, r2, r3 804cd7c: b29a uxth r2, r3 804cd7e: 4b94 ldr r3, [pc, #592] ; (804cfd0 ) 804cd80: 801a strh r2, [r3, #0] lX = X0; 804cd82: 4b93 ldr r3, [pc, #588] ; (804cfd0 ) 804cd84: 881b ldrh r3, [r3, #0] 804cd86: b29a uxth r2, r3 804cd88: 4b92 ldr r3, [pc, #584] ; (804cfd4 ) 804cd8a: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804cd8c: 4b91 ldr r3, [pc, #580] ; (804cfd4 ) 804cd8e: 881b ldrh r3, [r3, #0] 804cd90: b29a uxth r2, r3 804cd92: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804cd96: 4413 add r3, r2 804cd98: b29a uxth r2, r3 804cd9a: 4b8f ldr r3, [pc, #572] ; (804cfd8 ) 804cd9c: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804cd9e: 4b8f ldr r3, [pc, #572] ; (804cfdc ) 804cda0: 681b ldr r3, [r3, #0] 804cda2: b29b uxth r3, r3 804cda4: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804cda8: fb12 f303 smulbb r3, r2, r3 804cdac: b29a uxth r2, r3 804cdae: 4b88 ldr r3, [pc, #544] ; (804cfd0 ) 804cdb0: 881b ldrh r3, [r3, #0] 804cdb2: b29b uxth r3, r3 804cdb4: 4413 add r3, r2 804cdb6: b29a uxth r2, r3 804cdb8: 4b89 ldr r3, [pc, #548] ; (804cfe0 ) 804cdba: 801a strh r2, [r3, #0] AUTOZOOM = true; 804cdbc: 4b89 ldr r3, [pc, #548] ; (804cfe4 ) 804cdbe: 2201 movs r2, #1 804cdc0: 701a strb r2, [r3, #0] break; 804cdc2: e2cc b.n 804d35e case ZoomIn: lvl_0 = 0; 804cdc4: 2300 movs r3, #0 804cdc6: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804cdca: 4b87 ldr r3, [pc, #540] ; (804cfe8 ) 804cdcc: 781b ldrb r3, [r3, #0] 804cdce: b2db uxtb r3, r3 804cdd0: 461a mov r2, r3 804cdd2: 4613 mov r3, r2 804cdd4: 009b lsls r3, r3, #2 804cdd6: 4413 add r3, r2 804cdd8: 4a84 ldr r2, [pc, #528] ; (804cfec ) 804cdda: 79d2 ldrb r2, [r2, #7] 804cddc: b2d2 uxtb r2, r2 804cdde: 4413 add r3, r2 804cde0: 4a83 ldr r2, [pc, #524] ; (804cff0 ) 804cde2: 3323 adds r3, #35 ; 0x23 804cde4: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804cde8: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 804cdec: 2304 movs r3, #4 804cdee: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804cdf2: 4b7d ldr r3, [pc, #500] ; (804cfe8 ) 804cdf4: 781b ldrb r3, [r3, #0] 804cdf6: b2db uxtb r3, r3 804cdf8: b29b uxth r3, r3 804cdfa: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804cdfe: 429a cmp r2, r3 804ce00: f240 82a6 bls.w 804d350 804ce04: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ce08: 2b01 cmp r3, #1 804ce0a: f240 82a1 bls.w 804d350 { ViewLevel++; 804ce0e: 4b76 ldr r3, [pc, #472] ; (804cfe8 ) 804ce10: 781b ldrb r3, [r3, #0] 804ce12: b2db uxtb r3, r3 804ce14: 3301 adds r3, #1 804ce16: b2da uxtb r2, r3 804ce18: 4b73 ldr r3, [pc, #460] ; (804cfe8 ) 804ce1a: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804ce1c: 4b72 ldr r3, [pc, #456] ; (804cfe8 ) 804ce1e: 781b ldrb r3, [r3, #0] 804ce20: b2db uxtb r3, r3 804ce22: 461a mov r2, r3 804ce24: 4613 mov r3, r2 804ce26: 009b lsls r3, r3, #2 804ce28: 4413 add r3, r2 804ce2a: 4a70 ldr r2, [pc, #448] ; (804cfec ) 804ce2c: 79d2 ldrb r2, [r2, #7] 804ce2e: b2d2 uxtb r2, r2 804ce30: 4413 add r3, r2 804ce32: 4a6f ldr r2, [pc, #444] ; (804cff0 ) 804ce34: 3323 adds r3, #35 ; 0x23 804ce36: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ce3a: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804ce3e: 4b68 ldr r3, [pc, #416] ; (804cfe0 ) 804ce40: 881b ldrh r3, [r3, #0] 804ce42: b29a uxth r2, r3 804ce44: 4b65 ldr r3, [pc, #404] ; (804cfdc ) 804ce46: 681b ldr r3, [r3, #0] 804ce48: b29b uxth r3, r3 804ce4a: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804ce4e: fb11 f303 smulbb r3, r1, r3 804ce52: b29b uxth r3, r3 804ce54: 1ad3 subs r3, r2, r3 804ce56: b29a uxth r2, r3 804ce58: 4b5d ldr r3, [pc, #372] ; (804cfd0 ) 804ce5a: 801a strh r2, [r3, #0] lX = X0; 804ce5c: 4b5c ldr r3, [pc, #368] ; (804cfd0 ) 804ce5e: 881b ldrh r3, [r3, #0] 804ce60: b29a uxth r2, r3 804ce62: 4b5c ldr r3, [pc, #368] ; (804cfd4 ) 804ce64: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804ce66: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ce6a: 021b lsls r3, r3, #8 804ce6c: b29a uxth r2, r3 804ce6e: 4b59 ldr r3, [pc, #356] ; (804cfd4 ) 804ce70: 881b ldrh r3, [r3, #0] 804ce72: b29b uxth r3, r3 804ce74: 4413 add r3, r2 804ce76: b29a uxth r2, r3 804ce78: 4b57 ldr r3, [pc, #348] ; (804cfd8 ) 804ce7a: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804ce7c: 4b5d ldr r3, [pc, #372] ; (804cff4 ) 804ce7e: 881b ldrh r3, [r3, #0] 804ce80: b29b uxth r3, r3 804ce82: 461a mov r2, r3 804ce84: 4b53 ldr r3, [pc, #332] ; (804cfd4 ) 804ce86: 881b ldrh r3, [r3, #0] 804ce88: b29b uxth r3, r3 804ce8a: 1ad2 subs r2, r2, r3 804ce8c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ce90: fb92 f3f3 sdiv r3, r2, r3 804ce94: 461a mov r2, r3 804ce96: 4b51 ldr r3, [pc, #324] ; (804cfdc ) 804ce98: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804ce9a: 4b50 ldr r3, [pc, #320] ; (804cfdc ) 804ce9c: 681b ldr r3, [r3, #0] 804ce9e: b29b uxth r3, r3 804cea0: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804cea4: fb12 f303 smulbb r3, r2, r3 804cea8: b29a uxth r2, r3 804ceaa: 4b4a ldr r3, [pc, #296] ; (804cfd4 ) 804ceac: 881b ldrh r3, [r3, #0] 804ceae: b29b uxth r3, r3 804ceb0: 4413 add r3, r2 804ceb2: b29a uxth r2, r3 804ceb4: 4b4a ldr r3, [pc, #296] ; (804cfe0 ) 804ceb6: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804ceb8: 4b48 ldr r3, [pc, #288] ; (804cfdc ) 804ceba: 681b ldr r3, [r3, #0] 804cebc: 2b7f cmp r3, #127 ; 0x7f 804cebe: d83b bhi.n 804cf38 804cec0: 4b43 ldr r3, [pc, #268] ; (804cfd0 ) 804cec2: 881b ldrh r3, [r3, #0] 804cec4: b29b uxth r3, r3 804cec6: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804ceca: 429a cmp r2, r3 804cecc: d834 bhi.n 804cf38 { if(lX >= dX) 804cece: 4b41 ldr r3, [pc, #260] ; (804cfd4 ) 804ced0: 881b ldrh r3, [r3, #0] 804ced2: b29b uxth r3, r3 804ced4: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804ced8: 429a cmp r2, r3 804ceda: d875 bhi.n 804cfc8 { CURSOR++; 804cedc: 4b3f ldr r3, [pc, #252] ; (804cfdc ) 804cede: 681b ldr r3, [r3, #0] 804cee0: 3301 adds r3, #1 804cee2: 4a3e ldr r2, [pc, #248] ; (804cfdc ) 804cee4: 6013 str r3, [r2, #0] X0 -= dX; 804cee6: 4b3a ldr r3, [pc, #232] ; (804cfd0 ) 804cee8: 881b ldrh r3, [r3, #0] 804ceea: b29a uxth r2, r3 804ceec: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cef0: 1ad3 subs r3, r2, r3 804cef2: b29a uxth r2, r3 804cef4: 4b36 ldr r3, [pc, #216] ; (804cfd0 ) 804cef6: 801a strh r2, [r3, #0] lX = X0; 804cef8: 4b35 ldr r3, [pc, #212] ; (804cfd0 ) 804cefa: 881b ldrh r3, [r3, #0] 804cefc: b29a uxth r2, r3 804cefe: 4b35 ldr r3, [pc, #212] ; (804cfd4 ) 804cf00: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804cf02: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cf06: 021b lsls r3, r3, #8 804cf08: b29a uxth r2, r3 804cf0a: 4b32 ldr r3, [pc, #200] ; (804cfd4 ) 804cf0c: 881b ldrh r3, [r3, #0] 804cf0e: b29b uxth r3, r3 804cf10: 4413 add r3, r2 804cf12: b29a uxth r2, r3 804cf14: 4b30 ldr r3, [pc, #192] ; (804cfd8 ) 804cf16: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804cf18: 4b36 ldr r3, [pc, #216] ; (804cff4 ) 804cf1a: 881b ldrh r3, [r3, #0] 804cf1c: b29b uxth r3, r3 804cf1e: 461a mov r2, r3 804cf20: 4b2c ldr r3, [pc, #176] ; (804cfd4 ) 804cf22: 881b ldrh r3, [r3, #0] 804cf24: b29b uxth r3, r3 804cf26: 1ad2 subs r2, r2, r3 804cf28: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cf2c: fb92 f3f3 sdiv r3, r2, r3 804cf30: 461a mov r2, r3 804cf32: 4b2a ldr r3, [pc, #168] ; (804cfdc ) 804cf34: 601a str r2, [r3, #0] if(lX >= dX) 804cf36: e047 b.n 804cfc8 } } else if(CURSOR > (256 >> 1)) 804cf38: 4b28 ldr r3, [pc, #160] ; (804cfdc ) 804cf3a: 681b ldr r3, [r3, #0] 804cf3c: 2b80 cmp r3, #128 ; 0x80 804cf3e: d943 bls.n 804cfc8 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804cf40: 4b25 ldr r3, [pc, #148] ; (804cfd8 ) 804cf42: 881b ldrh r3, [r3, #0] 804cf44: b29b uxth r3, r3 804cf46: 461a mov r2, r3 804cf48: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cf4c: 18d1 adds r1, r2, r3 804cf4e: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804cf52: 4613 mov r3, r2 804cf54: 009b lsls r3, r3, #2 804cf56: 4413 add r3, r2 804cf58: 4a24 ldr r2, [pc, #144] ; (804cfec ) 804cf5a: 79d2 ldrb r2, [r2, #7] 804cf5c: b2d2 uxtb r2, r2 804cf5e: 4413 add r3, r2 804cf60: 4a23 ldr r2, [pc, #140] ; (804cff0 ) 804cf62: 3323 adds r3, #35 ; 0x23 804cf64: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804cf68: 021b lsls r3, r3, #8 804cf6a: 4299 cmp r1, r3 804cf6c: dc2c bgt.n 804cfc8 { CURSOR--; 804cf6e: 4b1b ldr r3, [pc, #108] ; (804cfdc ) 804cf70: 681b ldr r3, [r3, #0] 804cf72: 3b01 subs r3, #1 804cf74: 4a19 ldr r2, [pc, #100] ; (804cfdc ) 804cf76: 6013 str r3, [r2, #0] X0 += dX; 804cf78: 4b15 ldr r3, [pc, #84] ; (804cfd0 ) 804cf7a: 881b ldrh r3, [r3, #0] 804cf7c: b29a uxth r2, r3 804cf7e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cf82: 4413 add r3, r2 804cf84: b29a uxth r2, r3 804cf86: 4b12 ldr r3, [pc, #72] ; (804cfd0 ) 804cf88: 801a strh r2, [r3, #0] lX = X0; 804cf8a: 4b11 ldr r3, [pc, #68] ; (804cfd0 ) 804cf8c: 881b ldrh r3, [r3, #0] 804cf8e: b29a uxth r2, r3 804cf90: 4b10 ldr r3, [pc, #64] ; (804cfd4 ) 804cf92: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804cf94: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cf98: 021b lsls r3, r3, #8 804cf9a: b29a uxth r2, r3 804cf9c: 4b0d ldr r3, [pc, #52] ; (804cfd4 ) 804cf9e: 881b ldrh r3, [r3, #0] 804cfa0: b29b uxth r3, r3 804cfa2: 4413 add r3, r2 804cfa4: b29a uxth r2, r3 804cfa6: 4b0c ldr r3, [pc, #48] ; (804cfd8 ) 804cfa8: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804cfaa: 4b12 ldr r3, [pc, #72] ; (804cff4 ) 804cfac: 881b ldrh r3, [r3, #0] 804cfae: b29b uxth r3, r3 804cfb0: 461a mov r2, r3 804cfb2: 4b08 ldr r3, [pc, #32] ; (804cfd4 ) 804cfb4: 881b ldrh r3, [r3, #0] 804cfb6: b29b uxth r3, r3 804cfb8: 1ad2 subs r2, r2, r3 804cfba: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cfbe: fb92 f3f3 sdiv r3, r2, r3 804cfc2: 461a mov r2, r3 804cfc4: 4b05 ldr r3, [pc, #20] ; (804cfdc ) 804cfc6: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804cfc8: 4b06 ldr r3, [pc, #24] ; (804cfe4 ) 804cfca: 2201 movs r2, #1 804cfcc: 701a strb r2, [r3, #0] } break; 804cfce: e1bf b.n 804d350 804cfd0: 20025d76 .word 0x20025d76 804cfd4: 20025d72 .word 0x20025d72 804cfd8: 20025d78 .word 0x20025d78 804cfdc: 2002006c .word 0x2002006c 804cfe0: 20025d6e .word 0x20025d6e 804cfe4: 20020994 .word 0x20020994 804cfe8: 20020fc0 .word 0x20020fc0 804cfec: 20023eb8 .word 0x20023eb8 804cff0: 080f51c8 .word 0x080f51c8 804cff4: 20025d74 .word 0x20025d74 case ZoomOut: lvl_0 = 0; 804cff8: 2300 movs r3, #0 804cffa: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804cffe: 2304 movs r3, #4 804d000: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804d004: 4b94 ldr r3, [pc, #592] ; (804d258 ) 804d006: 781b ldrb r3, [r3, #0] 804d008: b2db uxtb r3, r3 804d00a: 461a mov r2, r3 804d00c: 4613 mov r3, r2 804d00e: 009b lsls r3, r3, #2 804d010: 4413 add r3, r2 804d012: 4a92 ldr r2, [pc, #584] ; (804d25c ) 804d014: 79d2 ldrb r2, [r2, #7] 804d016: b2d2 uxtb r2, r2 804d018: 4413 add r3, r2 804d01a: 4a91 ldr r2, [pc, #580] ; (804d260 ) 804d01c: 3323 adds r3, #35 ; 0x23 804d01e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d022: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804d026: 4b8c ldr r3, [pc, #560] ; (804d258 ) 804d028: 781b ldrb r3, [r3, #0] 804d02a: b2db uxtb r3, r3 804d02c: 2b00 cmp r3, #0 804d02e: f000 8192 beq.w 804d356 { ViewLevel--; 804d032: 4b89 ldr r3, [pc, #548] ; (804d258 ) 804d034: 781b ldrb r3, [r3, #0] 804d036: b2db uxtb r3, r3 804d038: 3b01 subs r3, #1 804d03a: b2da uxtb r2, r3 804d03c: 4b86 ldr r3, [pc, #536] ; (804d258 ) 804d03e: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804d040: 4b85 ldr r3, [pc, #532] ; (804d258 ) 804d042: 781b ldrb r3, [r3, #0] 804d044: b2db uxtb r3, r3 804d046: 461a mov r2, r3 804d048: 4613 mov r3, r2 804d04a: 009b lsls r3, r3, #2 804d04c: 4413 add r3, r2 804d04e: 4a83 ldr r2, [pc, #524] ; (804d25c ) 804d050: 79d2 ldrb r2, [r2, #7] 804d052: b2d2 uxtb r2, r2 804d054: 4413 add r3, r2 804d056: 4a82 ldr r2, [pc, #520] ; (804d260 ) 804d058: 3323 adds r3, #35 ; 0x23 804d05a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d05e: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804d062: 4b7d ldr r3, [pc, #500] ; (804d258 ) 804d064: 781b ldrb r3, [r3, #0] 804d066: b2db uxtb r3, r3 804d068: 2b00 cmp r3, #0 804d06a: d130 bne.n 804d0ce { X0 = lX = 0; 804d06c: 2100 movs r1, #0 804d06e: 4b7d ldr r3, [pc, #500] ; (804d264 ) 804d070: 460a mov r2, r1 804d072: 801a strh r2, [r3, #0] 804d074: 4b7c ldr r3, [pc, #496] ; (804d268 ) 804d076: 460a mov r2, r1 804d078: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804d07a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d07e: 021b lsls r3, r3, #8 804d080: b29a uxth r2, r3 804d082: 4b78 ldr r3, [pc, #480] ; (804d264 ) 804d084: 881b ldrh r3, [r3, #0] 804d086: b29b uxth r3, r3 804d088: 4413 add r3, r2 804d08a: b29a uxth r2, r3 804d08c: 4b77 ldr r3, [pc, #476] ; (804d26c ) 804d08e: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804d090: 4b77 ldr r3, [pc, #476] ; (804d270 ) 804d092: 881b ldrh r3, [r3, #0] 804d094: b29b uxth r3, r3 804d096: 461a mov r2, r3 804d098: 4b72 ldr r3, [pc, #456] ; (804d264 ) 804d09a: 881b ldrh r3, [r3, #0] 804d09c: b29b uxth r3, r3 804d09e: 1ad2 subs r2, r2, r3 804d0a0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d0a4: fb92 f3f3 sdiv r3, r2, r3 804d0a8: 461a mov r2, r3 804d0aa: 4b72 ldr r3, [pc, #456] ; (804d274 ) 804d0ac: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804d0ae: 4b71 ldr r3, [pc, #452] ; (804d274 ) 804d0b0: 681b ldr r3, [r3, #0] 804d0b2: b29b uxth r3, r3 804d0b4: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804d0b8: fb12 f303 smulbb r3, r2, r3 804d0bc: b29a uxth r2, r3 804d0be: 4b6a ldr r3, [pc, #424] ; (804d268 ) 804d0c0: 881b ldrh r3, [r3, #0] 804d0c2: b29b uxth r3, r3 804d0c4: 4413 add r3, r2 804d0c6: b29a uxth r2, r3 804d0c8: 4b6b ldr r3, [pc, #428] ; (804d278 ) 804d0ca: 801a strh r2, [r3, #0] 804d0cc: e090 b.n 804d1f0 } else { if(CURSOR * dX > Mpos) 804d0ce: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d0d2: 4a68 ldr r2, [pc, #416] ; (804d274 ) 804d0d4: 6812 ldr r2, [r2, #0] 804d0d6: fb02 f303 mul.w r3, r2, r3 804d0da: 4a67 ldr r2, [pc, #412] ; (804d278 ) 804d0dc: 8812 ldrh r2, [r2, #0] 804d0de: b292 uxth r2, r2 804d0e0: 4293 cmp r3, r2 804d0e2: d91f bls.n 804d124 { while(CURSOR * dX > Mpos) 804d0e4: e004 b.n 804d0f0 CURSOR--; 804d0e6: 4b63 ldr r3, [pc, #396] ; (804d274 ) 804d0e8: 681b ldr r3, [r3, #0] 804d0ea: 3b01 subs r3, #1 804d0ec: 4a61 ldr r2, [pc, #388] ; (804d274 ) 804d0ee: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804d0f0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d0f4: 4a5f ldr r2, [pc, #380] ; (804d274 ) 804d0f6: 6812 ldr r2, [r2, #0] 804d0f8: fb02 f303 mul.w r3, r2, r3 804d0fc: 4a5e ldr r2, [pc, #376] ; (804d278 ) 804d0fe: 8812 ldrh r2, [r2, #0] 804d100: b292 uxth r2, r2 804d102: 4293 cmp r3, r2 804d104: d8ef bhi.n 804d0e6 Mpos = X0 + CURSOR * dX; 804d106: 4b5b ldr r3, [pc, #364] ; (804d274 ) 804d108: 681b ldr r3, [r3, #0] 804d10a: b29b uxth r3, r3 804d10c: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804d110: fb12 f303 smulbb r3, r2, r3 804d114: b29a uxth r2, r3 804d116: 4b54 ldr r3, [pc, #336] ; (804d268 ) 804d118: 881b ldrh r3, [r3, #0] 804d11a: b29b uxth r3, r3 804d11c: 4413 add r3, r2 804d11e: b29a uxth r2, r3 804d120: 4b55 ldr r3, [pc, #340] ; (804d278 ) 804d122: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804d124: 4b54 ldr r3, [pc, #336] ; (804d278 ) 804d126: 881b ldrh r3, [r3, #0] 804d128: b29b uxth r3, r3 804d12a: 4619 mov r1, r3 804d12c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d130: 4a50 ldr r2, [pc, #320] ; (804d274 ) 804d132: 6812 ldr r2, [r2, #0] 804d134: fb02 f303 mul.w r3, r2, r3 804d138: 1acb subs r3, r1, r3 804d13a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804d13e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d142: 021b lsls r3, r3, #8 804d144: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804d148: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804d14c: 4613 mov r3, r2 804d14e: 009b lsls r3, r3, #2 804d150: 4413 add r3, r2 804d152: 4a42 ldr r2, [pc, #264] ; (804d25c ) 804d154: 79d2 ldrb r2, [r2, #7] 804d156: b2d2 uxtb r2, r2 804d158: 4413 add r3, r2 804d15a: 4a41 ldr r2, [pc, #260] ; (804d260 ) 804d15c: 3323 adds r3, #35 ; 0x23 804d15e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d162: 021b lsls r3, r3, #8 804d164: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804d168: e006 b.n 804d178 i -= dXold; 804d16a: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804d16e: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804d172: 1ad3 subs r3, r2, r3 804d174: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804d178: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804d17c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804d180: 441a add r2, r3 804d182: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804d186: 429a cmp r2, r3 804d188: d8ef bhi.n 804d16a } X0 = (uint16_t) i; 804d18a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804d18e: b29a uxth r2, r3 804d190: 4b35 ldr r3, [pc, #212] ; (804d268 ) 804d192: 801a strh r2, [r3, #0] lX = X0; 804d194: 4b34 ldr r3, [pc, #208] ; (804d268 ) 804d196: 881b ldrh r3, [r3, #0] 804d198: b29a uxth r2, r3 804d19a: 4b32 ldr r3, [pc, #200] ; (804d264 ) 804d19c: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804d19e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d1a2: 021b lsls r3, r3, #8 804d1a4: b29a uxth r2, r3 804d1a6: 4b2f ldr r3, [pc, #188] ; (804d264 ) 804d1a8: 881b ldrh r3, [r3, #0] 804d1aa: b29b uxth r3, r3 804d1ac: 4413 add r3, r2 804d1ae: b29a uxth r2, r3 804d1b0: 4b2e ldr r3, [pc, #184] ; (804d26c ) 804d1b2: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804d1b4: 4b2e ldr r3, [pc, #184] ; (804d270 ) 804d1b6: 881b ldrh r3, [r3, #0] 804d1b8: b29b uxth r3, r3 804d1ba: 461a mov r2, r3 804d1bc: 4b29 ldr r3, [pc, #164] ; (804d264 ) 804d1be: 881b ldrh r3, [r3, #0] 804d1c0: b29b uxth r3, r3 804d1c2: 1ad2 subs r2, r2, r3 804d1c4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d1c8: fb92 f3f3 sdiv r3, r2, r3 804d1cc: 461a mov r2, r3 804d1ce: 4b29 ldr r3, [pc, #164] ; (804d274 ) 804d1d0: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804d1d2: 4b28 ldr r3, [pc, #160] ; (804d274 ) 804d1d4: 681b ldr r3, [r3, #0] 804d1d6: b29b uxth r3, r3 804d1d8: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804d1dc: fb12 f303 smulbb r3, r2, r3 804d1e0: b29a uxth r2, r3 804d1e2: 4b21 ldr r3, [pc, #132] ; (804d268 ) 804d1e4: 881b ldrh r3, [r3, #0] 804d1e6: b29b uxth r3, r3 804d1e8: 4413 add r3, r2 804d1ea: b29a uxth r2, r3 804d1ec: 4b22 ldr r3, [pc, #136] ; (804d278 ) 804d1ee: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804d1f0: 4b22 ldr r3, [pc, #136] ; (804d27c ) 804d1f2: 2201 movs r2, #1 804d1f4: 701a strb r2, [r3, #0] } break; 804d1f6: e0ae b.n 804d356 case Cursor: AUTOZOOM = true; 804d1f8: 4b20 ldr r3, [pc, #128] ; (804d27c ) 804d1fa: 2201 movs r2, #1 804d1fc: 701a strb r2, [r3, #0] if((DynamicCursor[0].Mpos >= Mpos) && (DynamicCursor[0].Mpos < (Mpos + Avg[1][5 * ViewLevel + pardata.LNE]))) 804d1fe: 4b20 ldr r3, [pc, #128] ; (804d280 ) 804d200: 889a ldrh r2, [r3, #4] 804d202: 4b1d ldr r3, [pc, #116] ; (804d278 ) 804d204: 881b ldrh r3, [r3, #0] 804d206: b29b uxth r3, r3 804d208: 429a cmp r2, r3 804d20a: d33b bcc.n 804d284 804d20c: 4b1c ldr r3, [pc, #112] ; (804d280 ) 804d20e: 889b ldrh r3, [r3, #4] 804d210: 4619 mov r1, r3 804d212: 4b19 ldr r3, [pc, #100] ; (804d278 ) 804d214: 881b ldrh r3, [r3, #0] 804d216: b29b uxth r3, r3 804d218: 4618 mov r0, r3 804d21a: 4b0f ldr r3, [pc, #60] ; (804d258 ) 804d21c: 781b ldrb r3, [r3, #0] 804d21e: b2db uxtb r3, r3 804d220: 461a mov r2, r3 804d222: 4613 mov r3, r2 804d224: 009b lsls r3, r3, #2 804d226: 4413 add r3, r2 804d228: 4a0c ldr r2, [pc, #48] ; (804d25c ) 804d22a: 79d2 ldrb r2, [r2, #7] 804d22c: b2d2 uxtb r2, r2 804d22e: 4413 add r3, r2 804d230: 4a0b ldr r2, [pc, #44] ; (804d260 ) 804d232: 3323 adds r3, #35 ; 0x23 804d234: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d238: 4403 add r3, r0 804d23a: 4299 cmp r1, r3 804d23c: da22 bge.n 804d284 { if(DynamicCursor[0].Enabled) 804d23e: 4b10 ldr r3, [pc, #64] ; (804d280 ) 804d240: 781b ldrb r3, [r3, #0] 804d242: 2b00 cmp r3, #0 804d244: d074 beq.n 804d330 { DynamicCursor[0].Enabled = false; 804d246: 4b0e ldr r3, [pc, #56] ; (804d280 ) 804d248: 2200 movs r2, #0 804d24a: 701a strb r2, [r3, #0] DynamicCursor[0].Mpos = 0xffff; 804d24c: 4b0c ldr r3, [pc, #48] ; (804d280 ) 804d24e: f64f 72ff movw r2, #65535 ; 0xffff 804d252: 809a strh r2, [r3, #4] if(DynamicCursor[0].Enabled) 804d254: e06c b.n 804d330 804d256: bf00 nop 804d258: 20020fc0 .word 0x20020fc0 804d25c: 20023eb8 .word 0x20023eb8 804d260: 080f51c8 .word 0x080f51c8 804d264: 20025d72 .word 0x20025d72 804d268: 20025d76 .word 0x20025d76 804d26c: 20025d78 .word 0x20025d78 804d270: 20025d74 .word 0x20025d74 804d274: 2002006c .word 0x2002006c 804d278: 20025d6e .word 0x20025d6e 804d27c: 20020994 .word 0x20020994 804d280: 20020f94 .word 0x20020f94 } } else if((DynamicCursor[1].Mpos >= Mpos) && (DynamicCursor[1].Mpos < (Mpos + Avg[1][5 * ViewLevel + pardata.LNE]))) 804d284: 4ba4 ldr r3, [pc, #656] ; (804d518 ) 804d286: 8a9a ldrh r2, [r3, #20] 804d288: 4ba4 ldr r3, [pc, #656] ; (804d51c ) 804d28a: 881b ldrh r3, [r3, #0] 804d28c: b29b uxth r3, r3 804d28e: 429a cmp r2, r3 804d290: d324 bcc.n 804d2dc 804d292: 4ba1 ldr r3, [pc, #644] ; (804d518 ) 804d294: 8a9b ldrh r3, [r3, #20] 804d296: 4619 mov r1, r3 804d298: 4ba0 ldr r3, [pc, #640] ; (804d51c ) 804d29a: 881b ldrh r3, [r3, #0] 804d29c: b29b uxth r3, r3 804d29e: 4618 mov r0, r3 804d2a0: 4b9f ldr r3, [pc, #636] ; (804d520 ) 804d2a2: 781b ldrb r3, [r3, #0] 804d2a4: b2db uxtb r3, r3 804d2a6: 461a mov r2, r3 804d2a8: 4613 mov r3, r2 804d2aa: 009b lsls r3, r3, #2 804d2ac: 4413 add r3, r2 804d2ae: 4a9d ldr r2, [pc, #628] ; (804d524 ) 804d2b0: 79d2 ldrb r2, [r2, #7] 804d2b2: b2d2 uxtb r2, r2 804d2b4: 4413 add r3, r2 804d2b6: 4a9c ldr r2, [pc, #624] ; (804d528 ) 804d2b8: 3323 adds r3, #35 ; 0x23 804d2ba: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d2be: 4403 add r3, r0 804d2c0: 4299 cmp r1, r3 804d2c2: da0b bge.n 804d2dc { if(DynamicCursor[1].Enabled) 804d2c4: 4b94 ldr r3, [pc, #592] ; (804d518 ) 804d2c6: 7c1b ldrb r3, [r3, #16] 804d2c8: 2b00 cmp r3, #0 804d2ca: d031 beq.n 804d330 { DynamicCursor[1].Enabled = false; 804d2cc: 4b92 ldr r3, [pc, #584] ; (804d518 ) 804d2ce: 2200 movs r2, #0 804d2d0: 741a strb r2, [r3, #16] DynamicCursor[1].Mpos = 0xffff; 804d2d2: 4b91 ldr r3, [pc, #580] ; (804d518 ) 804d2d4: f64f 72ff movw r2, #65535 ; 0xffff 804d2d8: 829a strh r2, [r3, #20] if(DynamicCursor[1].Enabled) 804d2da: e029 b.n 804d330 } } else { if(!DynamicCursor[0].Enabled) 804d2dc: 4b8e ldr r3, [pc, #568] ; (804d518 ) 804d2de: 781b ldrb r3, [r3, #0] 804d2e0: f083 0301 eor.w r3, r3, #1 804d2e4: b2db uxtb r3, r3 804d2e6: 2b00 cmp r3, #0 804d2e8: d00d beq.n 804d306 { DynamicCursor[0].Mpos = Mpos; 804d2ea: 4b8c ldr r3, [pc, #560] ; (804d51c ) 804d2ec: 881b ldrh r3, [r3, #0] 804d2ee: b29a uxth r2, r3 804d2f0: 4b89 ldr r3, [pc, #548] ; (804d518 ) 804d2f2: 809a strh r2, [r3, #4] DynamicCursor[0].fineMpos = Mpos; 804d2f4: 4b89 ldr r3, [pc, #548] ; (804d51c ) 804d2f6: 881b ldrh r3, [r3, #0] 804d2f8: b29a uxth r2, r3 804d2fa: 4b87 ldr r3, [pc, #540] ; (804d518 ) 804d2fc: 80da strh r2, [r3, #6] DynamicCursor[0].Enabled = true; 804d2fe: 4b86 ldr r3, [pc, #536] ; (804d518 ) 804d300: 2201 movs r2, #1 804d302: 701a strb r2, [r3, #0] DynamicCursor[1].Mpos = Mpos; DynamicCursor[1].fineMpos = Mpos; DynamicCursor[1].Enabled = true; } } break; 804d304: e02a b.n 804d35c if(!DynamicCursor[1].Enabled) 804d306: 4b84 ldr r3, [pc, #528] ; (804d518 ) 804d308: 7c1b ldrb r3, [r3, #16] 804d30a: f083 0301 eor.w r3, r3, #1 804d30e: b2db uxtb r3, r3 804d310: 2b00 cmp r3, #0 804d312: d023 beq.n 804d35c DynamicCursor[1].Mpos = Mpos; 804d314: 4b81 ldr r3, [pc, #516] ; (804d51c ) 804d316: 881b ldrh r3, [r3, #0] 804d318: b29a uxth r2, r3 804d31a: 4b7f ldr r3, [pc, #508] ; (804d518 ) 804d31c: 829a strh r2, [r3, #20] DynamicCursor[1].fineMpos = Mpos; 804d31e: 4b7f ldr r3, [pc, #508] ; (804d51c ) 804d320: 881b ldrh r3, [r3, #0] 804d322: b29a uxth r2, r3 804d324: 4b7c ldr r3, [pc, #496] ; (804d518 ) 804d326: 82da strh r2, [r3, #22] DynamicCursor[1].Enabled = true; 804d328: 4b7b ldr r3, [pc, #492] ; (804d518 ) 804d32a: 2201 movs r2, #1 804d32c: 741a strb r2, [r3, #16] break; 804d32e: e015 b.n 804d35c 804d330: e014 b.n 804d35c case Results: menu = ROLL_RESULTS; 804d332: 4b7e ldr r3, [pc, #504] ; (804d52c ) 804d334: 2227 movs r2, #39 ; 0x27 804d336: 701a strb r2, [r3, #0] lastmenupos = menupos; 804d338: 4b7d ldr r3, [pc, #500] ; (804d530 ) 804d33a: 781b ldrb r3, [r3, #0] 804d33c: b2da uxtb r2, r3 804d33e: 4b7d ldr r3, [pc, #500] ; (804d534 ) 804d340: 701a strb r2, [r3, #0] menupos = 0; 804d342: 4b7b ldr r3, [pc, #492] ; (804d530 ) 804d344: 2200 movs r2, #0 804d346: 701a strb r2, [r3, #0] break; 804d348: e009 b.n 804d35e break; 804d34a: bf00 nop 804d34c: f007 b9bc b.w 80546c8 break; 804d350: bf00 nop 804d352: f007 b9b9 b.w 80546c8 break; 804d356: bf00 nop 804d358: f007 b9b6 b.w 80546c8 break; 804d35c: bf00 nop } break; 804d35e: f007 b9b3 b.w 80546c8 case MAIN_SPEC: switch(menupos) 804d362: 4b73 ldr r3, [pc, #460] ; (804d530 ) 804d364: 781b ldrb r3, [r3, #0] 804d366: b2db uxtb r3, r3 804d368: 2b09 cmp r3, #9 804d36a: f207 81af bhi.w 80546cc 804d36e: a201 add r2, pc, #4 ; (adr r2, 804d374 ) 804d370: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804d374: 0804d3b1 .word 0x0804d3b1 804d378: 0804d39d .word 0x0804d39d 804d37c: 0804d3f1 .word 0x0804d3f1 804d380: 0804d5b3 .word 0x0804d5b3 804d384: 0804d7e9 .word 0x0804d7e9 804d388: 0804d49d .word 0x0804d49d 804d38c: 0804d9e9 .word 0x0804d9e9 804d390: 080546cd .word 0x080546cd 804d394: 080546cd .word 0x080546cd 804d398: 0804db25 .word 0x0804db25 { case BackMenu: StopMeas(); 804d39c: f7d6 f9fe bl 802379c menu = PARAM_SPEC; 804d3a0: 4b62 ldr r3, [pc, #392] ; (804d52c ) 804d3a2: 2207 movs r2, #7 804d3a4: 701a strb r2, [r3, #0] menupos = Ok; 804d3a6: 4b62 ldr r3, [pc, #392] ; (804d530 ) 804d3a8: 2200 movs r2, #0 804d3aa: 701a strb r2, [r3, #0] break; 804d3ac: f000 be05 b.w 804dfba case StartStop: if(!measuring) 804d3b0: 4b61 ldr r3, [pc, #388] ; (804d538 ) 804d3b2: 781b ldrb r3, [r3, #0] 804d3b4: b2db uxtb r3, r3 804d3b6: f083 0301 eor.w r3, r3, #1 804d3ba: b2db uxtb r3, r3 804d3bc: 2b00 cmp r3, #0 804d3be: d00b beq.n 804d3d8 { AUTOZOOM = true; 804d3c0: 4b5e ldr r3, [pc, #376] ; (804d53c ) 804d3c2: 2201 movs r2, #1 804d3c4: 701a strb r2, [r3, #0] FIRST = true; 804d3c6: 4b5e ldr r3, [pc, #376] ; (804d540 ) 804d3c8: 2201 movs r2, #1 804d3ca: 701a strb r2, [r3, #0] initAmplif(); 804d3cc: f7d4 fb62 bl 8021a94 StartMeas(); 804d3d0: f7d5 fe34 bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804d3d4: f000 bdf1 b.w 804dfba StopMeas(); 804d3d8: f7d6 f9e0 bl 802379c AUTOZOOM = true; 804d3dc: 4b57 ldr r3, [pc, #348] ; (804d53c ) 804d3de: 2201 movs r2, #1 804d3e0: 701a strb r2, [r3, #0] oldmenupos = menupos; 804d3e2: 4b53 ldr r3, [pc, #332] ; (804d530 ) 804d3e4: 781b ldrb r3, [r3, #0] 804d3e6: b2da uxtb r2, r3 804d3e8: 4b56 ldr r3, [pc, #344] ; (804d544 ) 804d3ea: 701a strb r2, [r3, #0] break; 804d3ec: f000 bde5 b.w 804dfba case ImageLeft: if(lX) 804d3f0: 4b55 ldr r3, [pc, #340] ; (804d548 ) 804d3f2: 881b ldrh r3, [r3, #0] 804d3f4: b29b uxth r3, r3 804d3f6: 2b00 cmp r3, #0 804d3f8: f000 85d2 beq.w 804dfa0 { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804d3fc: 4b48 ldr r3, [pc, #288] ; (804d520 ) 804d3fe: 781b ldrb r3, [r3, #0] 804d400: b2db uxtb r3, r3 804d402: 461a mov r2, r3 804d404: 4613 mov r3, r2 804d406: 009b lsls r3, r3, #2 804d408: 4413 add r3, r2 804d40a: 4a46 ldr r2, [pc, #280] ; (804d524 ) 804d40c: 79d2 ldrb r2, [r2, #7] 804d40e: b2d2 uxtb r2, r2 804d410: 4413 add r3, r2 804d412: 4a45 ldr r2, [pc, #276] ; (804d528 ) 804d414: 3323 adds r3, #35 ; 0x23 804d416: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d41a: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804d41e: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804d422: 021b lsls r3, r3, #8 804d424: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804d428: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804d42c: 085b lsrs r3, r3, #1 804d42e: b29a uxth r2, r3 804d430: 4b45 ldr r3, [pc, #276] ; (804d548 ) 804d432: 881b ldrh r3, [r3, #0] 804d434: b29b uxth r3, r3 804d436: 429a cmp r2, r3 804d438: d80b bhi.n 804d452 X0 -= (multB_u16 >> 1); 804d43a: 4b44 ldr r3, [pc, #272] ; (804d54c ) 804d43c: 881b ldrh r3, [r3, #0] 804d43e: b29a uxth r2, r3 804d440: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804d444: 085b lsrs r3, r3, #1 804d446: b29b uxth r3, r3 804d448: 1ad3 subs r3, r2, r3 804d44a: b29a uxth r2, r3 804d44c: 4b3f ldr r3, [pc, #252] ; (804d54c ) 804d44e: 801a strh r2, [r3, #0] 804d450: e002 b.n 804d458 else X0 = 0; 804d452: 4b3e ldr r3, [pc, #248] ; (804d54c ) 804d454: 2200 movs r2, #0 804d456: 801a strh r2, [r3, #0] lX = X0; 804d458: 4b3c ldr r3, [pc, #240] ; (804d54c ) 804d45a: 881b ldrh r3, [r3, #0] 804d45c: b29a uxth r2, r3 804d45e: 4b3a ldr r3, [pc, #232] ; (804d548 ) 804d460: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804d462: 4b39 ldr r3, [pc, #228] ; (804d548 ) 804d464: 881b ldrh r3, [r3, #0] 804d466: b29a uxth r2, r3 804d468: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804d46c: 4413 add r3, r2 804d46e: b29a uxth r2, r3 804d470: 4b37 ldr r3, [pc, #220] ; (804d550 ) 804d472: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804d474: 4b37 ldr r3, [pc, #220] ; (804d554 ) 804d476: 681b ldr r3, [r3, #0] 804d478: b29b uxth r3, r3 804d47a: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804d47e: fb12 f303 smulbb r3, r2, r3 804d482: b29a uxth r2, r3 804d484: 4b31 ldr r3, [pc, #196] ; (804d54c ) 804d486: 881b ldrh r3, [r3, #0] 804d488: b29b uxth r3, r3 804d48a: 4413 add r3, r2 804d48c: b29a uxth r2, r3 804d48e: 4b23 ldr r3, [pc, #140] ; (804d51c ) 804d490: 801a strh r2, [r3, #0] AUTOZOOM = true; 804d492: 4b2a ldr r3, [pc, #168] ; (804d53c ) 804d494: 2201 movs r2, #1 804d496: 701a strb r2, [r3, #0] } break; 804d498: f000 bd82 b.w 804dfa0 case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804d49c: 4b20 ldr r3, [pc, #128] ; (804d520 ) 804d49e: 781b ldrb r3, [r3, #0] 804d4a0: b2db uxtb r3, r3 804d4a2: 461a mov r2, r3 804d4a4: 4613 mov r3, r2 804d4a6: 009b lsls r3, r3, #2 804d4a8: 4413 add r3, r2 804d4aa: 4a1e ldr r2, [pc, #120] ; (804d524 ) 804d4ac: 79d2 ldrb r2, [r2, #7] 804d4ae: b2d2 uxtb r2, r2 804d4b0: 4413 add r3, r2 804d4b2: 4a1d ldr r2, [pc, #116] ; (804d528 ) 804d4b4: 3323 adds r3, #35 ; 0x23 804d4b6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d4ba: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804d4be: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804d4c2: 021b lsls r3, r3, #8 804d4c4: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 804d4c8: 4b16 ldr r3, [pc, #88] ; (804d524 ) 804d4ca: 79db ldrb r3, [r3, #7] 804d4cc: b2db uxtb r3, r3 804d4ce: 461a mov r2, r3 804d4d0: 4b21 ldr r3, [pc, #132] ; (804d558 ) 804d4d2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804d4d6: 085b lsrs r3, r3, #1 804d4d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804d4dc: 4b1c ldr r3, [pc, #112] ; (804d550 ) 804d4de: 881b ldrh r3, [r3, #0] 804d4e0: b29b uxth r3, r3 804d4e2: 461a mov r2, r3 804d4e4: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804d4e8: 085b lsrs r3, r3, #1 804d4ea: b29b uxth r3, r3 804d4ec: 4413 add r3, r2 804d4ee: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804d4f2: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804d4f6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804d4fa: 429a cmp r2, r3 804d4fc: d82e bhi.n 804d55c X0 += (multB_u16 >> 1); 804d4fe: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804d502: 085b lsrs r3, r3, #1 804d504: b29a uxth r2, r3 804d506: 4b11 ldr r3, [pc, #68] ; (804d54c ) 804d508: 881b ldrh r3, [r3, #0] 804d50a: b29b uxth r3, r3 804d50c: 4413 add r3, r2 804d50e: b29a uxth r2, r3 804d510: 4b0e ldr r3, [pc, #56] ; (804d54c ) 804d512: 801a strh r2, [r3, #0] 804d514: e02b b.n 804d56e 804d516: bf00 nop 804d518: 20020f94 .word 0x20020f94 804d51c: 20025d6e .word 0x20025d6e 804d520: 20020fc0 .word 0x20020fc0 804d524: 20023eb8 .word 0x20023eb8 804d528: 080f51c8 .word 0x080f51c8 804d52c: 20020fc5 .word 0x20020fc5 804d530: 20020070 .word 0x20020070 804d534: 20020071 .word 0x20020071 804d538: 20020dcf .word 0x20020dcf 804d53c: 20020994 .word 0x20020994 804d540: 20020dd2 .word 0x20020dd2 804d544: 20020fc7 .word 0x20020fc7 804d548: 20025d72 .word 0x20025d72 804d54c: 20025d76 .word 0x20025d76 804d550: 20025d78 .word 0x20025d78 804d554: 2002006c .word 0x2002006c 804d558: 080f5254 .word 0x080f5254 else X0 = (uint16_t) (k - multB_u16); 804d55c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804d560: b29a uxth r2, r3 804d562: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804d566: 1ad3 subs r3, r2, r3 804d568: b29a uxth r2, r3 804d56a: 4b95 ldr r3, [pc, #596] ; (804d7c0 ) 804d56c: 801a strh r2, [r3, #0] lX = X0; 804d56e: 4b94 ldr r3, [pc, #592] ; (804d7c0 ) 804d570: 881b ldrh r3, [r3, #0] 804d572: b29a uxth r2, r3 804d574: 4b93 ldr r3, [pc, #588] ; (804d7c4 ) 804d576: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804d578: 4b92 ldr r3, [pc, #584] ; (804d7c4 ) 804d57a: 881b ldrh r3, [r3, #0] 804d57c: b29a uxth r2, r3 804d57e: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804d582: 4413 add r3, r2 804d584: b29a uxth r2, r3 804d586: 4b90 ldr r3, [pc, #576] ; (804d7c8 ) 804d588: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804d58a: 4b90 ldr r3, [pc, #576] ; (804d7cc ) 804d58c: 681b ldr r3, [r3, #0] 804d58e: b29b uxth r3, r3 804d590: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804d594: fb12 f303 smulbb r3, r2, r3 804d598: b29a uxth r2, r3 804d59a: 4b89 ldr r3, [pc, #548] ; (804d7c0 ) 804d59c: 881b ldrh r3, [r3, #0] 804d59e: b29b uxth r3, r3 804d5a0: 4413 add r3, r2 804d5a2: b29a uxth r2, r3 804d5a4: 4b8a ldr r3, [pc, #552] ; (804d7d0 ) 804d5a6: 801a strh r2, [r3, #0] AUTOZOOM = true; 804d5a8: 4b8a ldr r3, [pc, #552] ; (804d7d4 ) 804d5aa: 2201 movs r2, #1 804d5ac: 701a strb r2, [r3, #0] break; 804d5ae: f000 bd04 b.w 804dfba case ZoomIn: lvl_0 = 0; 804d5b2: 2300 movs r3, #0 804d5b4: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804d5b8: 4b87 ldr r3, [pc, #540] ; (804d7d8 ) 804d5ba: 781b ldrb r3, [r3, #0] 804d5bc: b2db uxtb r3, r3 804d5be: 461a mov r2, r3 804d5c0: 4613 mov r3, r2 804d5c2: 009b lsls r3, r3, #2 804d5c4: 4413 add r3, r2 804d5c6: 4a85 ldr r2, [pc, #532] ; (804d7dc ) 804d5c8: 79d2 ldrb r2, [r2, #7] 804d5ca: b2d2 uxtb r2, r2 804d5cc: 4413 add r3, r2 804d5ce: 4a84 ldr r2, [pc, #528] ; (804d7e0 ) 804d5d0: 3323 adds r3, #35 ; 0x23 804d5d2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d5d6: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 804d5da: 2304 movs r3, #4 804d5dc: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804d5e0: 4b7d ldr r3, [pc, #500] ; (804d7d8 ) 804d5e2: 781b ldrb r3, [r3, #0] 804d5e4: b2db uxtb r3, r3 804d5e6: b29b uxth r3, r3 804d5e8: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804d5ec: 429a cmp r2, r3 804d5ee: f240 84da bls.w 804dfa6 804d5f2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d5f6: 2b01 cmp r3, #1 804d5f8: f240 84d5 bls.w 804dfa6 { ViewLevel++; 804d5fc: 4b76 ldr r3, [pc, #472] ; (804d7d8 ) 804d5fe: 781b ldrb r3, [r3, #0] 804d600: b2db uxtb r3, r3 804d602: 3301 adds r3, #1 804d604: b2da uxtb r2, r3 804d606: 4b74 ldr r3, [pc, #464] ; (804d7d8 ) 804d608: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804d60a: 4b73 ldr r3, [pc, #460] ; (804d7d8 ) 804d60c: 781b ldrb r3, [r3, #0] 804d60e: b2db uxtb r3, r3 804d610: 461a mov r2, r3 804d612: 4613 mov r3, r2 804d614: 009b lsls r3, r3, #2 804d616: 4413 add r3, r2 804d618: 4a70 ldr r2, [pc, #448] ; (804d7dc ) 804d61a: 79d2 ldrb r2, [r2, #7] 804d61c: b2d2 uxtb r2, r2 804d61e: 4413 add r3, r2 804d620: 4a6f ldr r2, [pc, #444] ; (804d7e0 ) 804d622: 3323 adds r3, #35 ; 0x23 804d624: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d628: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804d62c: 4b68 ldr r3, [pc, #416] ; (804d7d0 ) 804d62e: 881b ldrh r3, [r3, #0] 804d630: b29a uxth r2, r3 804d632: 4b66 ldr r3, [pc, #408] ; (804d7cc ) 804d634: 681b ldr r3, [r3, #0] 804d636: b29b uxth r3, r3 804d638: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804d63c: fb11 f303 smulbb r3, r1, r3 804d640: b29b uxth r3, r3 804d642: 1ad3 subs r3, r2, r3 804d644: b29a uxth r2, r3 804d646: 4b5e ldr r3, [pc, #376] ; (804d7c0 ) 804d648: 801a strh r2, [r3, #0] lX = X0; 804d64a: 4b5d ldr r3, [pc, #372] ; (804d7c0 ) 804d64c: 881b ldrh r3, [r3, #0] 804d64e: b29a uxth r2, r3 804d650: 4b5c ldr r3, [pc, #368] ; (804d7c4 ) 804d652: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804d654: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d658: 021b lsls r3, r3, #8 804d65a: b29a uxth r2, r3 804d65c: 4b59 ldr r3, [pc, #356] ; (804d7c4 ) 804d65e: 881b ldrh r3, [r3, #0] 804d660: b29b uxth r3, r3 804d662: 4413 add r3, r2 804d664: b29a uxth r2, r3 804d666: 4b58 ldr r3, [pc, #352] ; (804d7c8 ) 804d668: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804d66a: 4b5e ldr r3, [pc, #376] ; (804d7e4 ) 804d66c: 881b ldrh r3, [r3, #0] 804d66e: b29b uxth r3, r3 804d670: 461a mov r2, r3 804d672: 4b54 ldr r3, [pc, #336] ; (804d7c4 ) 804d674: 881b ldrh r3, [r3, #0] 804d676: b29b uxth r3, r3 804d678: 1ad2 subs r2, r2, r3 804d67a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d67e: fb92 f3f3 sdiv r3, r2, r3 804d682: 461a mov r2, r3 804d684: 4b51 ldr r3, [pc, #324] ; (804d7cc ) 804d686: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804d688: 4b50 ldr r3, [pc, #320] ; (804d7cc ) 804d68a: 681b ldr r3, [r3, #0] 804d68c: b29b uxth r3, r3 804d68e: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804d692: fb12 f303 smulbb r3, r2, r3 804d696: b29a uxth r2, r3 804d698: 4b4a ldr r3, [pc, #296] ; (804d7c4 ) 804d69a: 881b ldrh r3, [r3, #0] 804d69c: b29b uxth r3, r3 804d69e: 4413 add r3, r2 804d6a0: b29a uxth r2, r3 804d6a2: 4b4b ldr r3, [pc, #300] ; (804d7d0 ) 804d6a4: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804d6a6: 4b49 ldr r3, [pc, #292] ; (804d7cc ) 804d6a8: 681b ldr r3, [r3, #0] 804d6aa: 2b7f cmp r3, #127 ; 0x7f 804d6ac: d83b bhi.n 804d726 804d6ae: 4b44 ldr r3, [pc, #272] ; (804d7c0 ) 804d6b0: 881b ldrh r3, [r3, #0] 804d6b2: b29b uxth r3, r3 804d6b4: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804d6b8: 429a cmp r2, r3 804d6ba: d834 bhi.n 804d726 { if(lX >= dX) 804d6bc: 4b41 ldr r3, [pc, #260] ; (804d7c4 ) 804d6be: 881b ldrh r3, [r3, #0] 804d6c0: b29b uxth r3, r3 804d6c2: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804d6c6: 429a cmp r2, r3 804d6c8: d875 bhi.n 804d7b6 { CURSOR++; 804d6ca: 4b40 ldr r3, [pc, #256] ; (804d7cc ) 804d6cc: 681b ldr r3, [r3, #0] 804d6ce: 3301 adds r3, #1 804d6d0: 4a3e ldr r2, [pc, #248] ; (804d7cc ) 804d6d2: 6013 str r3, [r2, #0] X0 -= dX; 804d6d4: 4b3a ldr r3, [pc, #232] ; (804d7c0 ) 804d6d6: 881b ldrh r3, [r3, #0] 804d6d8: b29a uxth r2, r3 804d6da: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d6de: 1ad3 subs r3, r2, r3 804d6e0: b29a uxth r2, r3 804d6e2: 4b37 ldr r3, [pc, #220] ; (804d7c0 ) 804d6e4: 801a strh r2, [r3, #0] lX = X0; 804d6e6: 4b36 ldr r3, [pc, #216] ; (804d7c0 ) 804d6e8: 881b ldrh r3, [r3, #0] 804d6ea: b29a uxth r2, r3 804d6ec: 4b35 ldr r3, [pc, #212] ; (804d7c4 ) 804d6ee: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804d6f0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d6f4: 021b lsls r3, r3, #8 804d6f6: b29a uxth r2, r3 804d6f8: 4b32 ldr r3, [pc, #200] ; (804d7c4 ) 804d6fa: 881b ldrh r3, [r3, #0] 804d6fc: b29b uxth r3, r3 804d6fe: 4413 add r3, r2 804d700: b29a uxth r2, r3 804d702: 4b31 ldr r3, [pc, #196] ; (804d7c8 ) 804d704: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804d706: 4b37 ldr r3, [pc, #220] ; (804d7e4 ) 804d708: 881b ldrh r3, [r3, #0] 804d70a: b29b uxth r3, r3 804d70c: 461a mov r2, r3 804d70e: 4b2d ldr r3, [pc, #180] ; (804d7c4 ) 804d710: 881b ldrh r3, [r3, #0] 804d712: b29b uxth r3, r3 804d714: 1ad2 subs r2, r2, r3 804d716: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d71a: fb92 f3f3 sdiv r3, r2, r3 804d71e: 461a mov r2, r3 804d720: 4b2a ldr r3, [pc, #168] ; (804d7cc ) 804d722: 601a str r2, [r3, #0] if(lX >= dX) 804d724: e047 b.n 804d7b6 } } else if(CURSOR > (256 >> 1)) 804d726: 4b29 ldr r3, [pc, #164] ; (804d7cc ) 804d728: 681b ldr r3, [r3, #0] 804d72a: 2b80 cmp r3, #128 ; 0x80 804d72c: d943 bls.n 804d7b6 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804d72e: 4b26 ldr r3, [pc, #152] ; (804d7c8 ) 804d730: 881b ldrh r3, [r3, #0] 804d732: b29b uxth r3, r3 804d734: 461a mov r2, r3 804d736: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d73a: 18d1 adds r1, r2, r3 804d73c: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804d740: 4613 mov r3, r2 804d742: 009b lsls r3, r3, #2 804d744: 4413 add r3, r2 804d746: 4a25 ldr r2, [pc, #148] ; (804d7dc ) 804d748: 79d2 ldrb r2, [r2, #7] 804d74a: b2d2 uxtb r2, r2 804d74c: 4413 add r3, r2 804d74e: 4a24 ldr r2, [pc, #144] ; (804d7e0 ) 804d750: 3323 adds r3, #35 ; 0x23 804d752: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d756: 021b lsls r3, r3, #8 804d758: 4299 cmp r1, r3 804d75a: dc2c bgt.n 804d7b6 { CURSOR--; 804d75c: 4b1b ldr r3, [pc, #108] ; (804d7cc ) 804d75e: 681b ldr r3, [r3, #0] 804d760: 3b01 subs r3, #1 804d762: 4a1a ldr r2, [pc, #104] ; (804d7cc ) 804d764: 6013 str r3, [r2, #0] X0 += dX; 804d766: 4b16 ldr r3, [pc, #88] ; (804d7c0 ) 804d768: 881b ldrh r3, [r3, #0] 804d76a: b29a uxth r2, r3 804d76c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d770: 4413 add r3, r2 804d772: b29a uxth r2, r3 804d774: 4b12 ldr r3, [pc, #72] ; (804d7c0 ) 804d776: 801a strh r2, [r3, #0] lX = X0; 804d778: 4b11 ldr r3, [pc, #68] ; (804d7c0 ) 804d77a: 881b ldrh r3, [r3, #0] 804d77c: b29a uxth r2, r3 804d77e: 4b11 ldr r3, [pc, #68] ; (804d7c4 ) 804d780: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804d782: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d786: 021b lsls r3, r3, #8 804d788: b29a uxth r2, r3 804d78a: 4b0e ldr r3, [pc, #56] ; (804d7c4 ) 804d78c: 881b ldrh r3, [r3, #0] 804d78e: b29b uxth r3, r3 804d790: 4413 add r3, r2 804d792: b29a uxth r2, r3 804d794: 4b0c ldr r3, [pc, #48] ; (804d7c8 ) 804d796: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804d798: 4b12 ldr r3, [pc, #72] ; (804d7e4 ) 804d79a: 881b ldrh r3, [r3, #0] 804d79c: b29b uxth r3, r3 804d79e: 461a mov r2, r3 804d7a0: 4b08 ldr r3, [pc, #32] ; (804d7c4 ) 804d7a2: 881b ldrh r3, [r3, #0] 804d7a4: b29b uxth r3, r3 804d7a6: 1ad2 subs r2, r2, r3 804d7a8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d7ac: fb92 f3f3 sdiv r3, r2, r3 804d7b0: 461a mov r2, r3 804d7b2: 4b06 ldr r3, [pc, #24] ; (804d7cc ) 804d7b4: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804d7b6: 4b07 ldr r3, [pc, #28] ; (804d7d4 ) 804d7b8: 2201 movs r2, #1 804d7ba: 701a strb r2, [r3, #0] } break; 804d7bc: e3f3 b.n 804dfa6 804d7be: bf00 nop 804d7c0: 20025d76 .word 0x20025d76 804d7c4: 20025d72 .word 0x20025d72 804d7c8: 20025d78 .word 0x20025d78 804d7cc: 2002006c .word 0x2002006c 804d7d0: 20025d6e .word 0x20025d6e 804d7d4: 20020994 .word 0x20020994 804d7d8: 20020fc0 .word 0x20020fc0 804d7dc: 20023eb8 .word 0x20023eb8 804d7e0: 080f51c8 .word 0x080f51c8 804d7e4: 20025d74 .word 0x20025d74 case ZoomOut: lvl_0 = 0; 804d7e8: 2300 movs r3, #0 804d7ea: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804d7ee: 2304 movs r3, #4 804d7f0: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804d7f4: 4b94 ldr r3, [pc, #592] ; (804da48 ) 804d7f6: 781b ldrb r3, [r3, #0] 804d7f8: b2db uxtb r3, r3 804d7fa: 461a mov r2, r3 804d7fc: 4613 mov r3, r2 804d7fe: 009b lsls r3, r3, #2 804d800: 4413 add r3, r2 804d802: 4a92 ldr r2, [pc, #584] ; (804da4c ) 804d804: 79d2 ldrb r2, [r2, #7] 804d806: b2d2 uxtb r2, r2 804d808: 4413 add r3, r2 804d80a: 4a91 ldr r2, [pc, #580] ; (804da50 ) 804d80c: 3323 adds r3, #35 ; 0x23 804d80e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d812: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804d816: 4b8c ldr r3, [pc, #560] ; (804da48 ) 804d818: 781b ldrb r3, [r3, #0] 804d81a: b2db uxtb r3, r3 804d81c: 2b00 cmp r3, #0 804d81e: f000 83c5 beq.w 804dfac { ViewLevel--; 804d822: 4b89 ldr r3, [pc, #548] ; (804da48 ) 804d824: 781b ldrb r3, [r3, #0] 804d826: b2db uxtb r3, r3 804d828: 3b01 subs r3, #1 804d82a: b2da uxtb r2, r3 804d82c: 4b86 ldr r3, [pc, #536] ; (804da48 ) 804d82e: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804d830: 4b85 ldr r3, [pc, #532] ; (804da48 ) 804d832: 781b ldrb r3, [r3, #0] 804d834: b2db uxtb r3, r3 804d836: 461a mov r2, r3 804d838: 4613 mov r3, r2 804d83a: 009b lsls r3, r3, #2 804d83c: 4413 add r3, r2 804d83e: 4a83 ldr r2, [pc, #524] ; (804da4c ) 804d840: 79d2 ldrb r2, [r2, #7] 804d842: b2d2 uxtb r2, r2 804d844: 4413 add r3, r2 804d846: 4a82 ldr r2, [pc, #520] ; (804da50 ) 804d848: 3323 adds r3, #35 ; 0x23 804d84a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d84e: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804d852: 4b7d ldr r3, [pc, #500] ; (804da48 ) 804d854: 781b ldrb r3, [r3, #0] 804d856: b2db uxtb r3, r3 804d858: 2b00 cmp r3, #0 804d85a: d130 bne.n 804d8be { X0 = lX = 0; 804d85c: 2100 movs r1, #0 804d85e: 4b7d ldr r3, [pc, #500] ; (804da54 ) 804d860: 460a mov r2, r1 804d862: 801a strh r2, [r3, #0] 804d864: 4b7c ldr r3, [pc, #496] ; (804da58 ) 804d866: 460a mov r2, r1 804d868: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804d86a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d86e: 021b lsls r3, r3, #8 804d870: b29a uxth r2, r3 804d872: 4b78 ldr r3, [pc, #480] ; (804da54 ) 804d874: 881b ldrh r3, [r3, #0] 804d876: b29b uxth r3, r3 804d878: 4413 add r3, r2 804d87a: b29a uxth r2, r3 804d87c: 4b77 ldr r3, [pc, #476] ; (804da5c ) 804d87e: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804d880: 4b77 ldr r3, [pc, #476] ; (804da60 ) 804d882: 881b ldrh r3, [r3, #0] 804d884: b29b uxth r3, r3 804d886: 461a mov r2, r3 804d888: 4b72 ldr r3, [pc, #456] ; (804da54 ) 804d88a: 881b ldrh r3, [r3, #0] 804d88c: b29b uxth r3, r3 804d88e: 1ad2 subs r2, r2, r3 804d890: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d894: fb92 f3f3 sdiv r3, r2, r3 804d898: 461a mov r2, r3 804d89a: 4b72 ldr r3, [pc, #456] ; (804da64 ) 804d89c: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804d89e: 4b71 ldr r3, [pc, #452] ; (804da64 ) 804d8a0: 681b ldr r3, [r3, #0] 804d8a2: b29b uxth r3, r3 804d8a4: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804d8a8: fb12 f303 smulbb r3, r2, r3 804d8ac: b29a uxth r2, r3 804d8ae: 4b6a ldr r3, [pc, #424] ; (804da58 ) 804d8b0: 881b ldrh r3, [r3, #0] 804d8b2: b29b uxth r3, r3 804d8b4: 4413 add r3, r2 804d8b6: b29a uxth r2, r3 804d8b8: 4b6b ldr r3, [pc, #428] ; (804da68 ) 804d8ba: 801a strh r2, [r3, #0] 804d8bc: e090 b.n 804d9e0 } else { if(CURSOR * dX > Mpos) 804d8be: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d8c2: 4a68 ldr r2, [pc, #416] ; (804da64 ) 804d8c4: 6812 ldr r2, [r2, #0] 804d8c6: fb02 f303 mul.w r3, r2, r3 804d8ca: 4a67 ldr r2, [pc, #412] ; (804da68 ) 804d8cc: 8812 ldrh r2, [r2, #0] 804d8ce: b292 uxth r2, r2 804d8d0: 4293 cmp r3, r2 804d8d2: d91f bls.n 804d914 { while(CURSOR * dX > Mpos) 804d8d4: e004 b.n 804d8e0 CURSOR--; 804d8d6: 4b63 ldr r3, [pc, #396] ; (804da64 ) 804d8d8: 681b ldr r3, [r3, #0] 804d8da: 3b01 subs r3, #1 804d8dc: 4a61 ldr r2, [pc, #388] ; (804da64 ) 804d8de: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804d8e0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d8e4: 4a5f ldr r2, [pc, #380] ; (804da64 ) 804d8e6: 6812 ldr r2, [r2, #0] 804d8e8: fb02 f303 mul.w r3, r2, r3 804d8ec: 4a5e ldr r2, [pc, #376] ; (804da68 ) 804d8ee: 8812 ldrh r2, [r2, #0] 804d8f0: b292 uxth r2, r2 804d8f2: 4293 cmp r3, r2 804d8f4: d8ef bhi.n 804d8d6 Mpos = X0 + CURSOR * dX; 804d8f6: 4b5b ldr r3, [pc, #364] ; (804da64 ) 804d8f8: 681b ldr r3, [r3, #0] 804d8fa: b29b uxth r3, r3 804d8fc: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804d900: fb12 f303 smulbb r3, r2, r3 804d904: b29a uxth r2, r3 804d906: 4b54 ldr r3, [pc, #336] ; (804da58 ) 804d908: 881b ldrh r3, [r3, #0] 804d90a: b29b uxth r3, r3 804d90c: 4413 add r3, r2 804d90e: b29a uxth r2, r3 804d910: 4b55 ldr r3, [pc, #340] ; (804da68 ) 804d912: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804d914: 4b54 ldr r3, [pc, #336] ; (804da68 ) 804d916: 881b ldrh r3, [r3, #0] 804d918: b29b uxth r3, r3 804d91a: 4619 mov r1, r3 804d91c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d920: 4a50 ldr r2, [pc, #320] ; (804da64 ) 804d922: 6812 ldr r2, [r2, #0] 804d924: fb02 f303 mul.w r3, r2, r3 804d928: 1acb subs r3, r1, r3 804d92a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804d92e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d932: 021b lsls r3, r3, #8 804d934: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804d938: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804d93c: 4613 mov r3, r2 804d93e: 009b lsls r3, r3, #2 804d940: 4413 add r3, r2 804d942: 4a42 ldr r2, [pc, #264] ; (804da4c ) 804d944: 79d2 ldrb r2, [r2, #7] 804d946: b2d2 uxtb r2, r2 804d948: 4413 add r3, r2 804d94a: 4a41 ldr r2, [pc, #260] ; (804da50 ) 804d94c: 3323 adds r3, #35 ; 0x23 804d94e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d952: 021b lsls r3, r3, #8 804d954: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804d958: e006 b.n 804d968 i -= dXold; 804d95a: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804d95e: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804d962: 1ad3 subs r3, r2, r3 804d964: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804d968: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804d96c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804d970: 441a add r2, r3 804d972: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804d976: 429a cmp r2, r3 804d978: d8ef bhi.n 804d95a } X0 = (uint16_t) i; 804d97a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804d97e: b29a uxth r2, r3 804d980: 4b35 ldr r3, [pc, #212] ; (804da58 ) 804d982: 801a strh r2, [r3, #0] lX = X0; 804d984: 4b34 ldr r3, [pc, #208] ; (804da58 ) 804d986: 881b ldrh r3, [r3, #0] 804d988: b29a uxth r2, r3 804d98a: 4b32 ldr r3, [pc, #200] ; (804da54 ) 804d98c: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804d98e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d992: 021b lsls r3, r3, #8 804d994: b29a uxth r2, r3 804d996: 4b2f ldr r3, [pc, #188] ; (804da54 ) 804d998: 881b ldrh r3, [r3, #0] 804d99a: b29b uxth r3, r3 804d99c: 4413 add r3, r2 804d99e: b29a uxth r2, r3 804d9a0: 4b2e ldr r3, [pc, #184] ; (804da5c ) 804d9a2: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804d9a4: 4b2e ldr r3, [pc, #184] ; (804da60 ) 804d9a6: 881b ldrh r3, [r3, #0] 804d9a8: b29b uxth r3, r3 804d9aa: 461a mov r2, r3 804d9ac: 4b29 ldr r3, [pc, #164] ; (804da54 ) 804d9ae: 881b ldrh r3, [r3, #0] 804d9b0: b29b uxth r3, r3 804d9b2: 1ad2 subs r2, r2, r3 804d9b4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d9b8: fb92 f3f3 sdiv r3, r2, r3 804d9bc: 461a mov r2, r3 804d9be: 4b29 ldr r3, [pc, #164] ; (804da64 ) 804d9c0: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804d9c2: 4b28 ldr r3, [pc, #160] ; (804da64 ) 804d9c4: 681b ldr r3, [r3, #0] 804d9c6: b29b uxth r3, r3 804d9c8: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804d9cc: fb12 f303 smulbb r3, r2, r3 804d9d0: b29a uxth r2, r3 804d9d2: 4b21 ldr r3, [pc, #132] ; (804da58 ) 804d9d4: 881b ldrh r3, [r3, #0] 804d9d6: b29b uxth r3, r3 804d9d8: 4413 add r3, r2 804d9da: b29a uxth r2, r3 804d9dc: 4b22 ldr r3, [pc, #136] ; (804da68 ) 804d9de: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804d9e0: 4b22 ldr r3, [pc, #136] ; (804da6c ) 804d9e2: 2201 movs r2, #1 804d9e4: 701a strb r2, [r3, #0] } break; 804d9e6: e2e1 b.n 804dfac case Cursor: AUTOZOOM = true; 804d9e8: 4b20 ldr r3, [pc, #128] ; (804da6c ) 804d9ea: 2201 movs r2, #1 804d9ec: 701a strb r2, [r3, #0] if((DynamicCursor[0].Mpos >= Mpos) && (DynamicCursor[0].Mpos < (Mpos + Avg[1][5 * ViewLevel + pardata.LNE]))) 804d9ee: 4b20 ldr r3, [pc, #128] ; (804da70 ) 804d9f0: 889a ldrh r2, [r3, #4] 804d9f2: 4b1d ldr r3, [pc, #116] ; (804da68 ) 804d9f4: 881b ldrh r3, [r3, #0] 804d9f6: b29b uxth r3, r3 804d9f8: 429a cmp r2, r3 804d9fa: d33b bcc.n 804da74 804d9fc: 4b1c ldr r3, [pc, #112] ; (804da70 ) 804d9fe: 889b ldrh r3, [r3, #4] 804da00: 4619 mov r1, r3 804da02: 4b19 ldr r3, [pc, #100] ; (804da68 ) 804da04: 881b ldrh r3, [r3, #0] 804da06: b29b uxth r3, r3 804da08: 4618 mov r0, r3 804da0a: 4b0f ldr r3, [pc, #60] ; (804da48 ) 804da0c: 781b ldrb r3, [r3, #0] 804da0e: b2db uxtb r3, r3 804da10: 461a mov r2, r3 804da12: 4613 mov r3, r2 804da14: 009b lsls r3, r3, #2 804da16: 4413 add r3, r2 804da18: 4a0c ldr r2, [pc, #48] ; (804da4c ) 804da1a: 79d2 ldrb r2, [r2, #7] 804da1c: b2d2 uxtb r2, r2 804da1e: 4413 add r3, r2 804da20: 4a0b ldr r2, [pc, #44] ; (804da50 ) 804da22: 3323 adds r3, #35 ; 0x23 804da24: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804da28: 4403 add r3, r0 804da2a: 4299 cmp r1, r3 804da2c: da22 bge.n 804da74 { if(DynamicCursor[0].Enabled) 804da2e: 4b10 ldr r3, [pc, #64] ; (804da70 ) 804da30: 781b ldrb r3, [r3, #0] 804da32: 2b00 cmp r3, #0 804da34: d075 beq.n 804db22 { DynamicCursor[0].Enabled = false; 804da36: 4b0e ldr r3, [pc, #56] ; (804da70 ) 804da38: 2200 movs r2, #0 804da3a: 701a strb r2, [r3, #0] DynamicCursor[0].Mpos = 0xffff; 804da3c: 4b0c ldr r3, [pc, #48] ; (804da70 ) 804da3e: f64f 72ff movw r2, #65535 ; 0xffff 804da42: 809a strh r2, [r3, #4] if(DynamicCursor[0].Enabled) 804da44: e06d b.n 804db22 804da46: bf00 nop 804da48: 20020fc0 .word 0x20020fc0 804da4c: 20023eb8 .word 0x20023eb8 804da50: 080f51c8 .word 0x080f51c8 804da54: 20025d72 .word 0x20025d72 804da58: 20025d76 .word 0x20025d76 804da5c: 20025d78 .word 0x20025d78 804da60: 20025d74 .word 0x20025d74 804da64: 2002006c .word 0x2002006c 804da68: 20025d6e .word 0x20025d6e 804da6c: 20020994 .word 0x20020994 804da70: 20020f94 .word 0x20020f94 } } else if((DynamicCursor[1].Mpos >= Mpos) && (DynamicCursor[1].Mpos < (Mpos + Avg[1][5 * ViewLevel + pardata.LNE]))) 804da74: 4b7b ldr r3, [pc, #492] ; (804dc64 ) 804da76: 8a9a ldrh r2, [r3, #20] 804da78: 4b7b ldr r3, [pc, #492] ; (804dc68 ) 804da7a: 881b ldrh r3, [r3, #0] 804da7c: b29b uxth r3, r3 804da7e: 429a cmp r2, r3 804da80: d324 bcc.n 804dacc 804da82: 4b78 ldr r3, [pc, #480] ; (804dc64 ) 804da84: 8a9b ldrh r3, [r3, #20] 804da86: 4619 mov r1, r3 804da88: 4b77 ldr r3, [pc, #476] ; (804dc68 ) 804da8a: 881b ldrh r3, [r3, #0] 804da8c: b29b uxth r3, r3 804da8e: 4618 mov r0, r3 804da90: 4b76 ldr r3, [pc, #472] ; (804dc6c ) 804da92: 781b ldrb r3, [r3, #0] 804da94: b2db uxtb r3, r3 804da96: 461a mov r2, r3 804da98: 4613 mov r3, r2 804da9a: 009b lsls r3, r3, #2 804da9c: 4413 add r3, r2 804da9e: 4a74 ldr r2, [pc, #464] ; (804dc70 ) 804daa0: 79d2 ldrb r2, [r2, #7] 804daa2: b2d2 uxtb r2, r2 804daa4: 4413 add r3, r2 804daa6: 4a73 ldr r2, [pc, #460] ; (804dc74 ) 804daa8: 3323 adds r3, #35 ; 0x23 804daaa: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804daae: 4403 add r3, r0 804dab0: 4299 cmp r1, r3 804dab2: da0b bge.n 804dacc { if(DynamicCursor[1].Enabled) 804dab4: 4b6b ldr r3, [pc, #428] ; (804dc64 ) 804dab6: 7c1b ldrb r3, [r3, #16] 804dab8: 2b00 cmp r3, #0 804daba: d032 beq.n 804db22 { DynamicCursor[1].Enabled = false; 804dabc: 4b69 ldr r3, [pc, #420] ; (804dc64 ) 804dabe: 2200 movs r2, #0 804dac0: 741a strb r2, [r3, #16] DynamicCursor[1].Mpos = 0xffff; 804dac2: 4b68 ldr r3, [pc, #416] ; (804dc64 ) 804dac4: f64f 72ff movw r2, #65535 ; 0xffff 804dac8: 829a strh r2, [r3, #20] if(DynamicCursor[1].Enabled) 804daca: e02a b.n 804db22 } } else { if(!DynamicCursor[0].Enabled) 804dacc: 4b65 ldr r3, [pc, #404] ; (804dc64 ) 804dace: 781b ldrb r3, [r3, #0] 804dad0: f083 0301 eor.w r3, r3, #1 804dad4: b2db uxtb r3, r3 804dad6: 2b00 cmp r3, #0 804dad8: d00d beq.n 804daf6 { DynamicCursor[0].Mpos = Mpos; 804dada: 4b63 ldr r3, [pc, #396] ; (804dc68 ) 804dadc: 881b ldrh r3, [r3, #0] 804dade: b29a uxth r2, r3 804dae0: 4b60 ldr r3, [pc, #384] ; (804dc64 ) 804dae2: 809a strh r2, [r3, #4] DynamicCursor[0].fineMpos = Mpos; 804dae4: 4b60 ldr r3, [pc, #384] ; (804dc68 ) 804dae6: 881b ldrh r3, [r3, #0] 804dae8: b29a uxth r2, r3 804daea: 4b5e ldr r3, [pc, #376] ; (804dc64 ) 804daec: 80da strh r2, [r3, #6] DynamicCursor[0].Enabled = true; 804daee: 4b5d ldr r3, [pc, #372] ; (804dc64 ) 804daf0: 2201 movs r2, #1 804daf2: 701a strb r2, [r3, #0] DynamicCursor[1].Mpos = Mpos; DynamicCursor[1].fineMpos = Mpos; DynamicCursor[1].Enabled = true; } } break; 804daf4: e25d b.n 804dfb2 if(!DynamicCursor[1].Enabled) 804daf6: 4b5b ldr r3, [pc, #364] ; (804dc64 ) 804daf8: 7c1b ldrb r3, [r3, #16] 804dafa: f083 0301 eor.w r3, r3, #1 804dafe: b2db uxtb r3, r3 804db00: 2b00 cmp r3, #0 804db02: f000 8256 beq.w 804dfb2 DynamicCursor[1].Mpos = Mpos; 804db06: 4b58 ldr r3, [pc, #352] ; (804dc68 ) 804db08: 881b ldrh r3, [r3, #0] 804db0a: b29a uxth r2, r3 804db0c: 4b55 ldr r3, [pc, #340] ; (804dc64 ) 804db0e: 829a strh r2, [r3, #20] DynamicCursor[1].fineMpos = Mpos; 804db10: 4b55 ldr r3, [pc, #340] ; (804dc68 ) 804db12: 881b ldrh r3, [r3, #0] 804db14: b29a uxth r2, r3 804db16: 4b53 ldr r3, [pc, #332] ; (804dc64 ) 804db18: 82da strh r2, [r3, #22] DynamicCursor[1].Enabled = true; 804db1a: 4b52 ldr r3, [pc, #328] ; (804dc64 ) 804db1c: 2201 movs r2, #1 804db1e: 741a strb r2, [r3, #16] break; 804db20: e247 b.n 804dfb2 804db22: e246 b.n 804dfb2 case SaveSpec: if(CardState == MSD_READY) 804db24: 4b54 ldr r3, [pc, #336] ; (804dc78 ) 804db26: 781b ldrb r3, [r3, #0] 804db28: b2db uxtb r3, r3 804db2a: 2b03 cmp r3, #3 804db2c: f040 8213 bne.w 804df56 { if(!measuring) 804db30: 4b52 ldr r3, [pc, #328] ; (804dc7c ) 804db32: 781b ldrb r3, [r3, #0] 804db34: b2db uxtb r3, r3 804db36: f083 0301 eor.w r3, r3, #1 804db3a: b2db uxtb r3, r3 804db3c: 2b00 cmp r3, #0 804db3e: f000 823b beq.w 804dfb8 { HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 804db42: 2200 movs r2, #0 804db44: 494e ldr r1, [pc, #312] ; (804dc80 ) 804db46: 484f ldr r0, [pc, #316] ; (804dc84 ) 804db48: f06f fc44 bl 80bd3d4 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 804db4c: 2200 movs r2, #0 804db4e: 494e ldr r1, [pc, #312] ; (804dc88 ) 804db50: 484c ldr r0, [pc, #304] ; (804dc84 ) 804db52: f06f fd45 bl 80bd5e0 Day = RTC_DateStruct.Date; 804db56: 4b4c ldr r3, [pc, #304] ; (804dc88 ) 804db58: 789b ldrb r3, [r3, #2] 804db5a: f8c7 308c str.w r3, [r7, #140] ; 0x8c Month = RTC_DateStruct.Month; 804db5e: 4b4a ldr r3, [pc, #296] ; (804dc88 ) 804db60: 785b ldrb r3, [r3, #1] 804db62: f8c7 3088 str.w r3, [r7, #136] ; 0x88 Year = RTC_DateStruct.Year + 2000; 804db66: 4b48 ldr r3, [pc, #288] ; (804dc88 ) 804db68: 78db ldrb r3, [r3, #3] 804db6a: f503 63fa add.w r3, r3, #2000 ; 0x7d0 804db6e: f8c7 3084 str.w r3, [r7, #132] ; 0x84 Hour = RTC_TimeStruct.Hours; 804db72: 4b43 ldr r3, [pc, #268] ; (804dc80 ) 804db74: 781b ldrb r3, [r3, #0] 804db76: f8c7 3080 str.w r3, [r7, #128] ; 0x80 Min = RTC_TimeStruct.Minutes; 804db7a: 4b41 ldr r3, [pc, #260] ; (804dc80 ) 804db7c: 785b ldrb r3, [r3, #1] 804db7e: 67fb str r3, [r7, #124] ; 0x7c Sec = RTC_TimeStruct.Seconds; 804db80: 4b3f ldr r3, [pc, #252] ; (804dc80 ) 804db82: 789b ldrb r3, [r3, #2] 804db84: 67bb str r3, [r7, #120] ; 0x78 memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 804db86: 2221 movs r2, #33 ; 0x21 804db88: 2100 movs r1, #0 804db8a: 4840 ldr r0, [pc, #256] ; (804dc8c ) 804db8c: f084 fa0a bl 80d1fa4 strcpy(TEMP_MeasFileName,"FFT_"); 804db90: 4b3e ldr r3, [pc, #248] ; (804dc8c ) 804db92: 4a3f ldr r2, [pc, #252] ; (804dc90 ) 804db94: 6810 ldr r0, [r2, #0] 804db96: 6018 str r0, [r3, #0] 804db98: 7912 ldrb r2, [r2, #4] 804db9a: 711a strb r2, [r3, #4] if(pardata.IPR == ACC) strcat(TEMP_MeasFileName, "A"); 804db9c: 4b34 ldr r3, [pc, #208] ; (804dc70 ) 804db9e: 785b ldrb r3, [r3, #1] 804dba0: b2db uxtb r3, r3 804dba2: 2b00 cmp r3, #0 804dba4: d10c bne.n 804dbc0 804dba6: 4839 ldr r0, [pc, #228] ; (804dc8c ) 804dba8: f7d2 fbb4 bl 8020314 804dbac: 4603 mov r3, r0 804dbae: 461a mov r2, r3 804dbb0: 4b36 ldr r3, [pc, #216] ; (804dc8c ) 804dbb2: 4413 add r3, r2 804dbb4: 4937 ldr r1, [pc, #220] ; (804dc94 ) 804dbb6: 461a mov r2, r3 804dbb8: 460b mov r3, r1 804dbba: 881b ldrh r3, [r3, #0] 804dbbc: 8013 strh r3, [r2, #0] 804dbbe: e022 b.n 804dc06 else if(pardata.IPR == VEL) strcat(TEMP_MeasFileName, "V"); 804dbc0: 4b2b ldr r3, [pc, #172] ; (804dc70 ) 804dbc2: 785b ldrb r3, [r3, #1] 804dbc4: b2db uxtb r3, r3 804dbc6: 2b01 cmp r3, #1 804dbc8: d10c bne.n 804dbe4 804dbca: 4830 ldr r0, [pc, #192] ; (804dc8c ) 804dbcc: f7d2 fba2 bl 8020314 804dbd0: 4603 mov r3, r0 804dbd2: 461a mov r2, r3 804dbd4: 4b2d ldr r3, [pc, #180] ; (804dc8c ) 804dbd6: 4413 add r3, r2 804dbd8: 492f ldr r1, [pc, #188] ; (804dc98 ) 804dbda: 461a mov r2, r3 804dbdc: 460b mov r3, r1 804dbde: 881b ldrh r3, [r3, #0] 804dbe0: 8013 strh r3, [r2, #0] 804dbe2: e010 b.n 804dc06 else if(pardata.IPR == DIS) strcat(TEMP_MeasFileName, "S"); 804dbe4: 4b22 ldr r3, [pc, #136] ; (804dc70 ) 804dbe6: 785b ldrb r3, [r3, #1] 804dbe8: b2db uxtb r3, r3 804dbea: 2b02 cmp r3, #2 804dbec: d10b bne.n 804dc06 804dbee: 4827 ldr r0, [pc, #156] ; (804dc8c ) 804dbf0: f7d2 fb90 bl 8020314 804dbf4: 4603 mov r3, r0 804dbf6: 461a mov r2, r3 804dbf8: 4b24 ldr r3, [pc, #144] ; (804dc8c ) 804dbfa: 4413 add r3, r2 804dbfc: 4927 ldr r1, [pc, #156] ; (804dc9c ) 804dbfe: 461a mov r2, r3 804dc00: 460b mov r3, r1 804dc02: 881b ldrh r3, [r3, #0] 804dc04: 8013 strh r3, [r2, #0] if(pardata.IVS[pardata.IPR] == PEAK) strcat(TEMP_MeasFileName, "_PK_"); 804dc06: 4b1a ldr r3, [pc, #104] ; (804dc70 ) 804dc08: 785b ldrb r3, [r3, #1] 804dc0a: b2db uxtb r3, r3 804dc0c: 461a mov r2, r3 804dc0e: 4b18 ldr r3, [pc, #96] ; (804dc70 ) 804dc10: 4413 add r3, r2 804dc12: 789b ldrb r3, [r3, #2] 804dc14: b2db uxtb r3, r3 804dc16: 2b00 cmp r3, #0 804dc18: d10c bne.n 804dc34 804dc1a: 481c ldr r0, [pc, #112] ; (804dc8c ) 804dc1c: f7d2 fb7a bl 8020314 804dc20: 4603 mov r3, r0 804dc22: 461a mov r2, r3 804dc24: 4b19 ldr r3, [pc, #100] ; (804dc8c ) 804dc26: 4413 add r3, r2 804dc28: 4a1d ldr r2, [pc, #116] ; (804dca0 ) 804dc2a: 6810 ldr r0, [r2, #0] 804dc2c: 6018 str r0, [r3, #0] 804dc2e: 7912 ldrb r2, [r2, #4] 804dc30: 711a strb r2, [r3, #4] 804dc32: e051 b.n 804dcd8 else if(pardata.IVS[pardata.IPR] == RMS) strcat(TEMP_MeasFileName, "_RMS_"); 804dc34: 4b0e ldr r3, [pc, #56] ; (804dc70 ) 804dc36: 785b ldrb r3, [r3, #1] 804dc38: b2db uxtb r3, r3 804dc3a: 461a mov r2, r3 804dc3c: 4b0c ldr r3, [pc, #48] ; (804dc70 ) 804dc3e: 4413 add r3, r2 804dc40: 789b ldrb r3, [r3, #2] 804dc42: b2db uxtb r3, r3 804dc44: 2b01 cmp r3, #1 804dc46: d12f bne.n 804dca8 804dc48: 4810 ldr r0, [pc, #64] ; (804dc8c ) 804dc4a: f7d2 fb63 bl 8020314 804dc4e: 4603 mov r3, r0 804dc50: 461a mov r2, r3 804dc52: 4b0e ldr r3, [pc, #56] ; (804dc8c ) 804dc54: 4413 add r3, r2 804dc56: 4a13 ldr r2, [pc, #76] ; (804dca4 ) 804dc58: 6810 ldr r0, [r2, #0] 804dc5a: 6018 str r0, [r3, #0] 804dc5c: 8892 ldrh r2, [r2, #4] 804dc5e: 809a strh r2, [r3, #4] 804dc60: e03a b.n 804dcd8 804dc62: bf00 nop 804dc64: 20020f94 .word 0x20020f94 804dc68: 20025d6e .word 0x20025d6e 804dc6c: 20020fc0 .word 0x20020fc0 804dc70: 20023eb8 .word 0x20023eb8 804dc74: 080f51c8 .word 0x080f51c8 804dc78: 2002169c .word 0x2002169c 804dc7c: 20020dcf .word 0x20020dcf 804dc80: 20025cc0 .word 0x20025cc0 804dc84: 200685f8 .word 0x200685f8 804dc88: 20025d44 .word 0x20025d44 804dc8c: 20025cd8 .word 0x20025cd8 804dc90: 080d5084 .word 0x080d5084 804dc94: 080d508c .word 0x080d508c 804dc98: 080d5090 .word 0x080d5090 804dc9c: 080d5094 .word 0x080d5094 804dca0: 080d5098 .word 0x080d5098 804dca4: 080d50a0 .word 0x080d50a0 else if(pardata.IVS[pardata.IPR] == PEAK_TO_PEAK) strcat(TEMP_MeasFileName, "_PKPK_"); 804dca8: 4bb0 ldr r3, [pc, #704] ; (804df6c ) 804dcaa: 785b ldrb r3, [r3, #1] 804dcac: b2db uxtb r3, r3 804dcae: 461a mov r2, r3 804dcb0: 4bae ldr r3, [pc, #696] ; (804df6c ) 804dcb2: 4413 add r3, r2 804dcb4: 789b ldrb r3, [r3, #2] 804dcb6: b2db uxtb r3, r3 804dcb8: 2b02 cmp r3, #2 804dcba: d10d bne.n 804dcd8 804dcbc: 48ac ldr r0, [pc, #688] ; (804df70 ) 804dcbe: f7d2 fb29 bl 8020314 804dcc2: 4603 mov r3, r0 804dcc4: 461a mov r2, r3 804dcc6: 4baa ldr r3, [pc, #680] ; (804df70 ) 804dcc8: 4413 add r3, r2 804dcca: 4aaa ldr r2, [pc, #680] ; (804df74 ) 804dccc: 6810 ldr r0, [r2, #0] 804dcce: 6018 str r0, [r3, #0] 804dcd0: 8891 ldrh r1, [r2, #4] 804dcd2: 7992 ldrb r2, [r2, #6] 804dcd4: 8099 strh r1, [r3, #4] 804dcd6: 719a strb r2, [r3, #6] MeasFileNameLen = strlen(TEMP_MeasFileName); 804dcd8: 48a5 ldr r0, [pc, #660] ; (804df70 ) 804dcda: f7d2 fb1b bl 8020314 804dcde: 4602 mov r2, r0 804dce0: 4ba5 ldr r3, [pc, #660] ; (804df78 ) 804dce2: 601a str r2, [r3, #0] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Year / 1000) + 48); 804dce4: 4ba4 ldr r3, [pc, #656] ; (804df78 ) 804dce6: 681b ldr r3, [r3, #0] 804dce8: 1c5a adds r2, r3, #1 804dcea: 49a3 ldr r1, [pc, #652] ; (804df78 ) 804dcec: 600a str r2, [r1, #0] 804dcee: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804dcf2: 49a2 ldr r1, [pc, #648] ; (804df7c ) 804dcf4: fba1 1202 umull r1, r2, r1, r2 804dcf8: 0992 lsrs r2, r2, #6 804dcfa: b2d2 uxtb r2, r2 804dcfc: 3230 adds r2, #48 ; 0x30 804dcfe: b2d1 uxtb r1, r2 804dd00: 4a9b ldr r2, [pc, #620] ; (804df70 ) 804dd02: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) (((Year % 1000) / 100) + 48); 804dd04: 4b9c ldr r3, [pc, #624] ; (804df78 ) 804dd06: 681a ldr r2, [r3, #0] 804dd08: 1c53 adds r3, r2, #1 804dd0a: 499b ldr r1, [pc, #620] ; (804df78 ) 804dd0c: 600b str r3, [r1, #0] 804dd0e: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 804dd12: 4b9a ldr r3, [pc, #616] ; (804df7c ) 804dd14: fba3 0301 umull r0, r3, r3, r1 804dd18: 099b lsrs r3, r3, #6 804dd1a: f44f 707a mov.w r0, #1000 ; 0x3e8 804dd1e: fb00 f303 mul.w r3, r0, r3 804dd22: 1acb subs r3, r1, r3 804dd24: 4996 ldr r1, [pc, #600] ; (804df80 ) 804dd26: fba1 1303 umull r1, r3, r1, r3 804dd2a: 095b lsrs r3, r3, #5 804dd2c: b2db uxtb r3, r3 804dd2e: 3330 adds r3, #48 ; 0x30 804dd30: b2d9 uxtb r1, r3 804dd32: 4b8f ldr r3, [pc, #572] ; (804df70 ) 804dd34: 5499 strb r1, [r3, r2] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) / 10) + 48); 804dd36: 4b90 ldr r3, [pc, #576] ; (804df78 ) 804dd38: 6819 ldr r1, [r3, #0] 804dd3a: 1c4b adds r3, r1, #1 804dd3c: 4a8e ldr r2, [pc, #568] ; (804df78 ) 804dd3e: 6013 str r3, [r2, #0] 804dd40: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804dd44: 4b8d ldr r3, [pc, #564] ; (804df7c ) 804dd46: fba3 0302 umull r0, r3, r3, r2 804dd4a: 099b lsrs r3, r3, #6 804dd4c: f44f 707a mov.w r0, #1000 ; 0x3e8 804dd50: fb00 f303 mul.w r3, r0, r3 804dd54: 1ad3 subs r3, r2, r3 804dd56: 4a8a ldr r2, [pc, #552] ; (804df80 ) 804dd58: fba2 0203 umull r0, r2, r2, r3 804dd5c: 0952 lsrs r2, r2, #5 804dd5e: 2064 movs r0, #100 ; 0x64 804dd60: fb00 f202 mul.w r2, r0, r2 804dd64: 1a9a subs r2, r3, r2 804dd66: 4b87 ldr r3, [pc, #540] ; (804df84 ) 804dd68: fba3 2302 umull r2, r3, r3, r2 804dd6c: 08db lsrs r3, r3, #3 804dd6e: b2db uxtb r3, r3 804dd70: 3330 adds r3, #48 ; 0x30 804dd72: b2da uxtb r2, r3 804dd74: 4b7e ldr r3, [pc, #504] ; (804df70 ) 804dd76: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) % 10) + 48); 804dd78: 4b7f ldr r3, [pc, #508] ; (804df78 ) 804dd7a: 6818 ldr r0, [r3, #0] 804dd7c: 1c43 adds r3, r0, #1 804dd7e: 4a7e ldr r2, [pc, #504] ; (804df78 ) 804dd80: 6013 str r3, [r2, #0] 804dd82: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804dd86: 4b7d ldr r3, [pc, #500] ; (804df7c ) 804dd88: fba3 1302 umull r1, r3, r3, r2 804dd8c: 099b lsrs r3, r3, #6 804dd8e: f44f 717a mov.w r1, #1000 ; 0x3e8 804dd92: fb01 f303 mul.w r3, r1, r3 804dd96: 1ad3 subs r3, r2, r3 804dd98: 4a79 ldr r2, [pc, #484] ; (804df80 ) 804dd9a: fba2 1203 umull r1, r2, r2, r3 804dd9e: 0952 lsrs r2, r2, #5 804dda0: 2164 movs r1, #100 ; 0x64 804dda2: fb01 f202 mul.w r2, r1, r2 804dda6: 1a9a subs r2, r3, r2 804dda8: 4b76 ldr r3, [pc, #472] ; (804df84 ) 804ddaa: fba3 1302 umull r1, r3, r3, r2 804ddae: 08d9 lsrs r1, r3, #3 804ddb0: 460b mov r3, r1 804ddb2: 009b lsls r3, r3, #2 804ddb4: 440b add r3, r1 804ddb6: 005b lsls r3, r3, #1 804ddb8: 1ad1 subs r1, r2, r3 804ddba: b2cb uxtb r3, r1 804ddbc: 3330 adds r3, #48 ; 0x30 804ddbe: b2da uxtb r2, r3 804ddc0: 4b6b ldr r3, [pc, #428] ; (804df70 ) 804ddc2: 541a strb r2, [r3, r0] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month / 10) + 48); 804ddc4: 4b6c ldr r3, [pc, #432] ; (804df78 ) 804ddc6: 681b ldr r3, [r3, #0] 804ddc8: 1c5a adds r2, r3, #1 804ddca: 496b ldr r1, [pc, #428] ; (804df78 ) 804ddcc: 600a str r2, [r1, #0] 804ddce: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 804ddd2: 496c ldr r1, [pc, #432] ; (804df84 ) 804ddd4: fba1 1202 umull r1, r2, r1, r2 804ddd8: 08d2 lsrs r2, r2, #3 804ddda: b2d2 uxtb r2, r2 804dddc: 3230 adds r2, #48 ; 0x30 804ddde: b2d1 uxtb r1, r2 804dde0: 4a63 ldr r2, [pc, #396] ; (804df70 ) 804dde2: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month % 10) + 48); 804dde4: 4b64 ldr r3, [pc, #400] ; (804df78 ) 804dde6: 6819 ldr r1, [r3, #0] 804dde8: 1c4b adds r3, r1, #1 804ddea: 4a63 ldr r2, [pc, #396] ; (804df78 ) 804ddec: 6013 str r3, [r2, #0] 804ddee: f8d7 0088 ldr.w r0, [r7, #136] ; 0x88 804ddf2: 4b64 ldr r3, [pc, #400] ; (804df84 ) 804ddf4: fba3 2300 umull r2, r3, r3, r0 804ddf8: 08da lsrs r2, r3, #3 804ddfa: 4613 mov r3, r2 804ddfc: 009b lsls r3, r3, #2 804ddfe: 4413 add r3, r2 804de00: 005b lsls r3, r3, #1 804de02: 1ac2 subs r2, r0, r3 804de04: b2d3 uxtb r3, r2 804de06: 3330 adds r3, #48 ; 0x30 804de08: b2da uxtb r2, r3 804de0a: 4b59 ldr r3, [pc, #356] ; (804df70 ) 804de0c: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day / 10) + 48); 804de0e: 4b5a ldr r3, [pc, #360] ; (804df78 ) 804de10: 681b ldr r3, [r3, #0] 804de12: 1c5a adds r2, r3, #1 804de14: 4958 ldr r1, [pc, #352] ; (804df78 ) 804de16: 600a str r2, [r1, #0] 804de18: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 804de1c: 4959 ldr r1, [pc, #356] ; (804df84 ) 804de1e: fba1 1202 umull r1, r2, r1, r2 804de22: 08d2 lsrs r2, r2, #3 804de24: b2d2 uxtb r2, r2 804de26: 3230 adds r2, #48 ; 0x30 804de28: b2d1 uxtb r1, r2 804de2a: 4a51 ldr r2, [pc, #324] ; (804df70 ) 804de2c: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day % 10) + 48); 804de2e: 4b52 ldr r3, [pc, #328] ; (804df78 ) 804de30: 6819 ldr r1, [r3, #0] 804de32: 1c4b adds r3, r1, #1 804de34: 4a50 ldr r2, [pc, #320] ; (804df78 ) 804de36: 6013 str r3, [r2, #0] 804de38: f8d7 008c ldr.w r0, [r7, #140] ; 0x8c 804de3c: 4b51 ldr r3, [pc, #324] ; (804df84 ) 804de3e: fba3 2300 umull r2, r3, r3, r0 804de42: 08da lsrs r2, r3, #3 804de44: 4613 mov r3, r2 804de46: 009b lsls r3, r3, #2 804de48: 4413 add r3, r2 804de4a: 005b lsls r3, r3, #1 804de4c: 1ac2 subs r2, r0, r3 804de4e: b2d3 uxtb r3, r2 804de50: 3330 adds r3, #48 ; 0x30 804de52: b2da uxtb r2, r3 804de54: 4b46 ldr r3, [pc, #280] ; (804df70 ) 804de56: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = '_'; 804de58: 4b47 ldr r3, [pc, #284] ; (804df78 ) 804de5a: 681b ldr r3, [r3, #0] 804de5c: 1c5a adds r2, r3, #1 804de5e: 4946 ldr r1, [pc, #280] ; (804df78 ) 804de60: 600a str r2, [r1, #0] 804de62: 4a43 ldr r2, [pc, #268] ; (804df70 ) 804de64: 215f movs r1, #95 ; 0x5f 804de66: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour / 10) + 48); 804de68: 4b43 ldr r3, [pc, #268] ; (804df78 ) 804de6a: 681b ldr r3, [r3, #0] 804de6c: 1c5a adds r2, r3, #1 804de6e: 4942 ldr r1, [pc, #264] ; (804df78 ) 804de70: 600a str r2, [r1, #0] 804de72: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 804de76: 4943 ldr r1, [pc, #268] ; (804df84 ) 804de78: fba1 1202 umull r1, r2, r1, r2 804de7c: 08d2 lsrs r2, r2, #3 804de7e: b2d2 uxtb r2, r2 804de80: 3230 adds r2, #48 ; 0x30 804de82: b2d1 uxtb r1, r2 804de84: 4a3a ldr r2, [pc, #232] ; (804df70 ) 804de86: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour % 10) + 48); 804de88: 4b3b ldr r3, [pc, #236] ; (804df78 ) 804de8a: 6819 ldr r1, [r3, #0] 804de8c: 1c4b adds r3, r1, #1 804de8e: 4a3a ldr r2, [pc, #232] ; (804df78 ) 804de90: 6013 str r3, [r2, #0] 804de92: f8d7 0080 ldr.w r0, [r7, #128] ; 0x80 804de96: 4b3b ldr r3, [pc, #236] ; (804df84 ) 804de98: fba3 2300 umull r2, r3, r3, r0 804de9c: 08da lsrs r2, r3, #3 804de9e: 4613 mov r3, r2 804dea0: 009b lsls r3, r3, #2 804dea2: 4413 add r3, r2 804dea4: 005b lsls r3, r3, #1 804dea6: 1ac2 subs r2, r0, r3 804dea8: b2d3 uxtb r3, r2 804deaa: 3330 adds r3, #48 ; 0x30 804deac: b2da uxtb r2, r3 804deae: 4b30 ldr r3, [pc, #192] ; (804df70 ) 804deb0: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min / 10) + 48); 804deb2: 4b31 ldr r3, [pc, #196] ; (804df78 ) 804deb4: 681b ldr r3, [r3, #0] 804deb6: 1c5a adds r2, r3, #1 804deb8: 492f ldr r1, [pc, #188] ; (804df78 ) 804deba: 600a str r2, [r1, #0] 804debc: 6ffa ldr r2, [r7, #124] ; 0x7c 804debe: 4931 ldr r1, [pc, #196] ; (804df84 ) 804dec0: fba1 1202 umull r1, r2, r1, r2 804dec4: 08d2 lsrs r2, r2, #3 804dec6: b2d2 uxtb r2, r2 804dec8: 3230 adds r2, #48 ; 0x30 804deca: b2d1 uxtb r1, r2 804decc: 4a28 ldr r2, [pc, #160] ; (804df70 ) 804dece: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min % 10) + 48); 804ded0: 4b29 ldr r3, [pc, #164] ; (804df78 ) 804ded2: 6819 ldr r1, [r3, #0] 804ded4: 1c4b adds r3, r1, #1 804ded6: 4a28 ldr r2, [pc, #160] ; (804df78 ) 804ded8: 6013 str r3, [r2, #0] 804deda: 6ff8 ldr r0, [r7, #124] ; 0x7c 804dedc: 4b29 ldr r3, [pc, #164] ; (804df84 ) 804dede: fba3 2300 umull r2, r3, r3, r0 804dee2: 08da lsrs r2, r3, #3 804dee4: 4613 mov r3, r2 804dee6: 009b lsls r3, r3, #2 804dee8: 4413 add r3, r2 804deea: 005b lsls r3, r3, #1 804deec: 1ac2 subs r2, r0, r3 804deee: b2d3 uxtb r3, r2 804def0: 3330 adds r3, #48 ; 0x30 804def2: b2da uxtb r2, r3 804def4: 4b1e ldr r3, [pc, #120] ; (804df70 ) 804def6: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec / 10) + 48); 804def8: 4b1f ldr r3, [pc, #124] ; (804df78 ) 804defa: 681b ldr r3, [r3, #0] 804defc: 1c5a adds r2, r3, #1 804defe: 491e ldr r1, [pc, #120] ; (804df78 ) 804df00: 600a str r2, [r1, #0] 804df02: 6fba ldr r2, [r7, #120] ; 0x78 804df04: 491f ldr r1, [pc, #124] ; (804df84 ) 804df06: fba1 1202 umull r1, r2, r1, r2 804df0a: 08d2 lsrs r2, r2, #3 804df0c: b2d2 uxtb r2, r2 804df0e: 3230 adds r2, #48 ; 0x30 804df10: b2d1 uxtb r1, r2 804df12: 4a17 ldr r2, [pc, #92] ; (804df70 ) 804df14: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec % 10) + 48); 804df16: 4b18 ldr r3, [pc, #96] ; (804df78 ) 804df18: 6819 ldr r1, [r3, #0] 804df1a: 1c4b adds r3, r1, #1 804df1c: 4a16 ldr r2, [pc, #88] ; (804df78 ) 804df1e: 6013 str r3, [r2, #0] 804df20: 6fb8 ldr r0, [r7, #120] ; 0x78 804df22: 4b18 ldr r3, [pc, #96] ; (804df84 ) 804df24: fba3 2300 umull r2, r3, r3, r0 804df28: 08da lsrs r2, r3, #3 804df2a: 4613 mov r3, r2 804df2c: 009b lsls r3, r3, #2 804df2e: 4413 add r3, r2 804df30: 005b lsls r3, r3, #1 804df32: 1ac2 subs r2, r0, r3 804df34: b2d3 uxtb r3, r2 804df36: 3330 adds r3, #48 ; 0x30 804df38: b2da uxtb r2, r3 804df3a: 4b0d ldr r3, [pc, #52] ; (804df70 ) 804df3c: 545a strb r2, [r3, r1] lastmenu = menu; 804df3e: 4b12 ldr r3, [pc, #72] ; (804df88 ) 804df40: 781b ldrb r3, [r3, #0] 804df42: b2da uxtb r2, r3 804df44: 4b11 ldr r3, [pc, #68] ; (804df8c ) 804df46: 701a strb r2, [r3, #0] menu = INPUT_NAME_SPEC; 804df48: 4b0f ldr r3, [pc, #60] ; (804df88 ) 804df4a: 222f movs r2, #47 ; 0x2f 804df4c: 701a strb r2, [r3, #0] menupos = _ENTER; 804df4e: 4b10 ldr r3, [pc, #64] ; (804df90 ) 804df50: 2226 movs r2, #38 ; 0x26 804df52: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804df54: e030 b.n 804dfb8 STATUS = AP_NO_CARD; 804df56: 4b0f ldr r3, [pc, #60] ; (804df94 ) 804df58: 2211 movs r2, #17 804df5a: 601a str r2, [r3, #0] timerStatus = sec2; 804df5c: 4b0e ldr r3, [pc, #56] ; (804df98 ) 804df5e: f44f 5280 mov.w r2, #4096 ; 0x1000 804df62: 801a strh r2, [r3, #0] DrawStatus = true; 804df64: 4b0d ldr r3, [pc, #52] ; (804df9c ) 804df66: 2201 movs r2, #1 804df68: 701a strb r2, [r3, #0] break; 804df6a: e025 b.n 804dfb8 804df6c: 20023eb8 .word 0x20023eb8 804df70: 20025cd8 .word 0x20025cd8 804df74: 080d50a8 .word 0x080d50a8 804df78: 20020f14 .word 0x20020f14 804df7c: 10624dd3 .word 0x10624dd3 804df80: 51eb851f .word 0x51eb851f 804df84: cccccccd .word 0xcccccccd 804df88: 20020fc5 .word 0x20020fc5 804df8c: 20020fc6 .word 0x20020fc6 804df90: 20020070 .word 0x20020070 804df94: 20020dec .word 0x20020dec 804df98: 200216dc .word 0x200216dc 804df9c: 20020df2 .word 0x20020df2 break; 804dfa0: bf00 nop 804dfa2: f006 bb93 b.w 80546cc break; 804dfa6: bf00 nop 804dfa8: f006 bb90 b.w 80546cc break; 804dfac: bf00 nop 804dfae: f006 bb8d b.w 80546cc break; 804dfb2: bf00 nop 804dfb4: f006 bb8a b.w 80546cc break; 804dfb8: bf00 nop } break; 804dfba: f006 bb87 b.w 80546cc case MAIN_SPEC_OGIB: switch(menupos) 804dfbe: 4b82 ldr r3, [pc, #520] ; (804e1c8 ) 804dfc0: 781b ldrb r3, [r3, #0] 804dfc2: b2db uxtb r3, r3 804dfc4: 2b09 cmp r3, #9 804dfc6: f206 8383 bhi.w 80546d0 804dfca: a201 add r2, pc, #4 ; (adr r2, 804dfd0 ) 804dfcc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804dfd0: 0804e00d .word 0x0804e00d 804dfd4: 0804dff9 .word 0x0804dff9 804dfd8: 0804e04d .word 0x0804e04d 804dfdc: 0804e205 .word 0x0804e205 804dfe0: 0804e439 .word 0x0804e439 804dfe4: 0804e0f9 .word 0x0804e0f9 804dfe8: 0804e639 .word 0x0804e639 804dfec: 080546d1 .word 0x080546d1 804dff0: 080546d1 .word 0x080546d1 804dff4: 0804e775 .word 0x0804e775 { case BackMenu: StopMeas(); 804dff8: f7d5 fbd0 bl 802379c menu = PARAM_SPEC; 804dffc: 4b73 ldr r3, [pc, #460] ; (804e1cc ) 804dffe: 2207 movs r2, #7 804e000: 701a strb r2, [r3, #0] menupos = Ok; 804e002: 4b71 ldr r3, [pc, #452] ; (804e1c8 ) 804e004: 2200 movs r2, #0 804e006: 701a strb r2, [r3, #0] break; 804e008: f000 bdff b.w 804ec0a case StartStop: if(!measuring) 804e00c: 4b70 ldr r3, [pc, #448] ; (804e1d0 ) 804e00e: 781b ldrb r3, [r3, #0] 804e010: b2db uxtb r3, r3 804e012: f083 0301 eor.w r3, r3, #1 804e016: b2db uxtb r3, r3 804e018: 2b00 cmp r3, #0 804e01a: d00b beq.n 804e034 { AUTOZOOM = true; 804e01c: 4b6d ldr r3, [pc, #436] ; (804e1d4 ) 804e01e: 2201 movs r2, #1 804e020: 701a strb r2, [r3, #0] FIRST = true; 804e022: 4b6d ldr r3, [pc, #436] ; (804e1d8 ) 804e024: 2201 movs r2, #1 804e026: 701a strb r2, [r3, #0] initAmplif(); 804e028: f7d3 fd34 bl 8021a94 StartMeas(); 804e02c: f7d5 f806 bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804e030: f000 bdeb b.w 804ec0a StopMeas(); 804e034: f7d5 fbb2 bl 802379c AUTOZOOM = true; 804e038: 4b66 ldr r3, [pc, #408] ; (804e1d4 ) 804e03a: 2201 movs r2, #1 804e03c: 701a strb r2, [r3, #0] oldmenupos = menupos; 804e03e: 4b62 ldr r3, [pc, #392] ; (804e1c8 ) 804e040: 781b ldrb r3, [r3, #0] 804e042: b2da uxtb r2, r3 804e044: 4b65 ldr r3, [pc, #404] ; (804e1dc ) 804e046: 701a strb r2, [r3, #0] break; 804e048: f000 bddf b.w 804ec0a case ImageLeft: if(lX) 804e04c: 4b64 ldr r3, [pc, #400] ; (804e1e0 ) 804e04e: 881b ldrh r3, [r3, #0] 804e050: b29b uxth r3, r3 804e052: 2b00 cmp r3, #0 804e054: f000 85cc beq.w 804ebf0 { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804e058: 4b62 ldr r3, [pc, #392] ; (804e1e4 ) 804e05a: 781b ldrb r3, [r3, #0] 804e05c: b2db uxtb r3, r3 804e05e: 461a mov r2, r3 804e060: 4613 mov r3, r2 804e062: 009b lsls r3, r3, #2 804e064: 4413 add r3, r2 804e066: 4a60 ldr r2, [pc, #384] ; (804e1e8 ) 804e068: 79d2 ldrb r2, [r2, #7] 804e06a: b2d2 uxtb r2, r2 804e06c: 4413 add r3, r2 804e06e: 4a5f ldr r2, [pc, #380] ; (804e1ec ) 804e070: 3323 adds r3, #35 ; 0x23 804e072: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804e076: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804e07a: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804e07e: 021b lsls r3, r3, #8 804e080: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804e084: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804e088: 085b lsrs r3, r3, #1 804e08a: b29a uxth r2, r3 804e08c: 4b54 ldr r3, [pc, #336] ; (804e1e0 ) 804e08e: 881b ldrh r3, [r3, #0] 804e090: b29b uxth r3, r3 804e092: 429a cmp r2, r3 804e094: d80b bhi.n 804e0ae X0 -= (multB_u16 >> 1); 804e096: 4b56 ldr r3, [pc, #344] ; (804e1f0 ) 804e098: 881b ldrh r3, [r3, #0] 804e09a: b29a uxth r2, r3 804e09c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804e0a0: 085b lsrs r3, r3, #1 804e0a2: b29b uxth r3, r3 804e0a4: 1ad3 subs r3, r2, r3 804e0a6: b29a uxth r2, r3 804e0a8: 4b51 ldr r3, [pc, #324] ; (804e1f0 ) 804e0aa: 801a strh r2, [r3, #0] 804e0ac: e002 b.n 804e0b4 else X0 = 0; 804e0ae: 4b50 ldr r3, [pc, #320] ; (804e1f0 ) 804e0b0: 2200 movs r2, #0 804e0b2: 801a strh r2, [r3, #0] lX = X0; 804e0b4: 4b4e ldr r3, [pc, #312] ; (804e1f0 ) 804e0b6: 881b ldrh r3, [r3, #0] 804e0b8: b29a uxth r2, r3 804e0ba: 4b49 ldr r3, [pc, #292] ; (804e1e0 ) 804e0bc: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804e0be: 4b48 ldr r3, [pc, #288] ; (804e1e0 ) 804e0c0: 881b ldrh r3, [r3, #0] 804e0c2: b29a uxth r2, r3 804e0c4: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804e0c8: 4413 add r3, r2 804e0ca: b29a uxth r2, r3 804e0cc: 4b49 ldr r3, [pc, #292] ; (804e1f4 ) 804e0ce: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804e0d0: 4b49 ldr r3, [pc, #292] ; (804e1f8 ) 804e0d2: 681b ldr r3, [r3, #0] 804e0d4: b29b uxth r3, r3 804e0d6: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804e0da: fb12 f303 smulbb r3, r2, r3 804e0de: b29a uxth r2, r3 804e0e0: 4b43 ldr r3, [pc, #268] ; (804e1f0 ) 804e0e2: 881b ldrh r3, [r3, #0] 804e0e4: b29b uxth r3, r3 804e0e6: 4413 add r3, r2 804e0e8: b29a uxth r2, r3 804e0ea: 4b44 ldr r3, [pc, #272] ; (804e1fc ) 804e0ec: 801a strh r2, [r3, #0] AUTOZOOM = true; 804e0ee: 4b39 ldr r3, [pc, #228] ; (804e1d4 ) 804e0f0: 2201 movs r2, #1 804e0f2: 701a strb r2, [r3, #0] } break; 804e0f4: f000 bd7c b.w 804ebf0 case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804e0f8: 4b3a ldr r3, [pc, #232] ; (804e1e4 ) 804e0fa: 781b ldrb r3, [r3, #0] 804e0fc: b2db uxtb r3, r3 804e0fe: 461a mov r2, r3 804e100: 4613 mov r3, r2 804e102: 009b lsls r3, r3, #2 804e104: 4413 add r3, r2 804e106: 4a38 ldr r2, [pc, #224] ; (804e1e8 ) 804e108: 79d2 ldrb r2, [r2, #7] 804e10a: b2d2 uxtb r2, r2 804e10c: 4413 add r3, r2 804e10e: 4a37 ldr r2, [pc, #220] ; (804e1ec ) 804e110: 3323 adds r3, #35 ; 0x23 804e112: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804e116: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804e11a: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804e11e: 021b lsls r3, r3, #8 804e120: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 804e124: 4b30 ldr r3, [pc, #192] ; (804e1e8 ) 804e126: 79db ldrb r3, [r3, #7] 804e128: b2db uxtb r3, r3 804e12a: 461a mov r2, r3 804e12c: 4b34 ldr r3, [pc, #208] ; (804e200 ) 804e12e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804e132: 085b lsrs r3, r3, #1 804e134: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804e138: 4b2e ldr r3, [pc, #184] ; (804e1f4 ) 804e13a: 881b ldrh r3, [r3, #0] 804e13c: b29b uxth r3, r3 804e13e: 461a mov r2, r3 804e140: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804e144: 085b lsrs r3, r3, #1 804e146: b29b uxth r3, r3 804e148: 4413 add r3, r2 804e14a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804e14e: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804e152: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804e156: 429a cmp r2, r3 804e158: d80b bhi.n 804e172 X0 += (multB_u16 >> 1); 804e15a: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804e15e: 085b lsrs r3, r3, #1 804e160: b29a uxth r2, r3 804e162: 4b23 ldr r3, [pc, #140] ; (804e1f0 ) 804e164: 881b ldrh r3, [r3, #0] 804e166: b29b uxth r3, r3 804e168: 4413 add r3, r2 804e16a: b29a uxth r2, r3 804e16c: 4b20 ldr r3, [pc, #128] ; (804e1f0 ) 804e16e: 801a strh r2, [r3, #0] 804e170: e008 b.n 804e184 else X0 = (uint16_t) (k - multB_u16); 804e172: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804e176: b29a uxth r2, r3 804e178: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804e17c: 1ad3 subs r3, r2, r3 804e17e: b29a uxth r2, r3 804e180: 4b1b ldr r3, [pc, #108] ; (804e1f0 ) 804e182: 801a strh r2, [r3, #0] lX = X0; 804e184: 4b1a ldr r3, [pc, #104] ; (804e1f0 ) 804e186: 881b ldrh r3, [r3, #0] 804e188: b29a uxth r2, r3 804e18a: 4b15 ldr r3, [pc, #84] ; (804e1e0 ) 804e18c: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804e18e: 4b14 ldr r3, [pc, #80] ; (804e1e0 ) 804e190: 881b ldrh r3, [r3, #0] 804e192: b29a uxth r2, r3 804e194: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804e198: 4413 add r3, r2 804e19a: b29a uxth r2, r3 804e19c: 4b15 ldr r3, [pc, #84] ; (804e1f4 ) 804e19e: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804e1a0: 4b15 ldr r3, [pc, #84] ; (804e1f8 ) 804e1a2: 681b ldr r3, [r3, #0] 804e1a4: b29b uxth r3, r3 804e1a6: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804e1aa: fb12 f303 smulbb r3, r2, r3 804e1ae: b29a uxth r2, r3 804e1b0: 4b0f ldr r3, [pc, #60] ; (804e1f0 ) 804e1b2: 881b ldrh r3, [r3, #0] 804e1b4: b29b uxth r3, r3 804e1b6: 4413 add r3, r2 804e1b8: b29a uxth r2, r3 804e1ba: 4b10 ldr r3, [pc, #64] ; (804e1fc ) 804e1bc: 801a strh r2, [r3, #0] AUTOZOOM = true; 804e1be: 4b05 ldr r3, [pc, #20] ; (804e1d4 ) 804e1c0: 2201 movs r2, #1 804e1c2: 701a strb r2, [r3, #0] break; 804e1c4: f000 bd21 b.w 804ec0a 804e1c8: 20020070 .word 0x20020070 804e1cc: 20020fc5 .word 0x20020fc5 804e1d0: 20020dcf .word 0x20020dcf 804e1d4: 20020994 .word 0x20020994 804e1d8: 20020dd2 .word 0x20020dd2 804e1dc: 20020fc7 .word 0x20020fc7 804e1e0: 20025d72 .word 0x20025d72 804e1e4: 20020fc0 .word 0x20020fc0 804e1e8: 20023eb8 .word 0x20023eb8 804e1ec: 080f51c8 .word 0x080f51c8 804e1f0: 20025d76 .word 0x20025d76 804e1f4: 20025d78 .word 0x20025d78 804e1f8: 2002006c .word 0x2002006c 804e1fc: 20025d6e .word 0x20025d6e 804e200: 080f5254 .word 0x080f5254 case ZoomIn: lvl_0 = 0; 804e204: 2300 movs r3, #0 804e206: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804e20a: 4b81 ldr r3, [pc, #516] ; (804e410 ) 804e20c: 781b ldrb r3, [r3, #0] 804e20e: b2db uxtb r3, r3 804e210: 461a mov r2, r3 804e212: 4613 mov r3, r2 804e214: 009b lsls r3, r3, #2 804e216: 4413 add r3, r2 804e218: 4a7e ldr r2, [pc, #504] ; (804e414 ) 804e21a: 79d2 ldrb r2, [r2, #7] 804e21c: b2d2 uxtb r2, r2 804e21e: 4413 add r3, r2 804e220: 4a7d ldr r2, [pc, #500] ; (804e418 ) 804e222: 3323 adds r3, #35 ; 0x23 804e224: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804e228: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 804e22c: 2304 movs r3, #4 804e22e: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804e232: 4b77 ldr r3, [pc, #476] ; (804e410 ) 804e234: 781b ldrb r3, [r3, #0] 804e236: b2db uxtb r3, r3 804e238: b29b uxth r3, r3 804e23a: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804e23e: 429a cmp r2, r3 804e240: f240 84d9 bls.w 804ebf6 804e244: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804e248: 2b01 cmp r3, #1 804e24a: f240 84d4 bls.w 804ebf6 { ViewLevel++; 804e24e: 4b70 ldr r3, [pc, #448] ; (804e410 ) 804e250: 781b ldrb r3, [r3, #0] 804e252: b2db uxtb r3, r3 804e254: 3301 adds r3, #1 804e256: b2da uxtb r2, r3 804e258: 4b6d ldr r3, [pc, #436] ; (804e410 ) 804e25a: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804e25c: 4b6c ldr r3, [pc, #432] ; (804e410 ) 804e25e: 781b ldrb r3, [r3, #0] 804e260: b2db uxtb r3, r3 804e262: 461a mov r2, r3 804e264: 4613 mov r3, r2 804e266: 009b lsls r3, r3, #2 804e268: 4413 add r3, r2 804e26a: 4a6a ldr r2, [pc, #424] ; (804e414 ) 804e26c: 79d2 ldrb r2, [r2, #7] 804e26e: b2d2 uxtb r2, r2 804e270: 4413 add r3, r2 804e272: 4a69 ldr r2, [pc, #420] ; (804e418 ) 804e274: 3323 adds r3, #35 ; 0x23 804e276: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804e27a: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804e27e: 4b67 ldr r3, [pc, #412] ; (804e41c ) 804e280: 881b ldrh r3, [r3, #0] 804e282: b29a uxth r2, r3 804e284: 4b66 ldr r3, [pc, #408] ; (804e420 ) 804e286: 681b ldr r3, [r3, #0] 804e288: b29b uxth r3, r3 804e28a: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804e28e: fb11 f303 smulbb r3, r1, r3 804e292: b29b uxth r3, r3 804e294: 1ad3 subs r3, r2, r3 804e296: b29a uxth r2, r3 804e298: 4b62 ldr r3, [pc, #392] ; (804e424 ) 804e29a: 801a strh r2, [r3, #0] lX = X0; 804e29c: 4b61 ldr r3, [pc, #388] ; (804e424 ) 804e29e: 881b ldrh r3, [r3, #0] 804e2a0: b29a uxth r2, r3 804e2a2: 4b61 ldr r3, [pc, #388] ; (804e428 ) 804e2a4: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804e2a6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804e2aa: 021b lsls r3, r3, #8 804e2ac: b29a uxth r2, r3 804e2ae: 4b5e ldr r3, [pc, #376] ; (804e428 ) 804e2b0: 881b ldrh r3, [r3, #0] 804e2b2: b29b uxth r3, r3 804e2b4: 4413 add r3, r2 804e2b6: b29a uxth r2, r3 804e2b8: 4b5c ldr r3, [pc, #368] ; (804e42c ) 804e2ba: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804e2bc: 4b5c ldr r3, [pc, #368] ; (804e430 ) 804e2be: 881b ldrh r3, [r3, #0] 804e2c0: b29b uxth r3, r3 804e2c2: 461a mov r2, r3 804e2c4: 4b58 ldr r3, [pc, #352] ; (804e428 ) 804e2c6: 881b ldrh r3, [r3, #0] 804e2c8: b29b uxth r3, r3 804e2ca: 1ad2 subs r2, r2, r3 804e2cc: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804e2d0: fb92 f3f3 sdiv r3, r2, r3 804e2d4: 461a mov r2, r3 804e2d6: 4b52 ldr r3, [pc, #328] ; (804e420 ) 804e2d8: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804e2da: 4b51 ldr r3, [pc, #324] ; (804e420 ) 804e2dc: 681b ldr r3, [r3, #0] 804e2de: b29b uxth r3, r3 804e2e0: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804e2e4: fb12 f303 smulbb r3, r2, r3 804e2e8: b29a uxth r2, r3 804e2ea: 4b4f ldr r3, [pc, #316] ; (804e428 ) 804e2ec: 881b ldrh r3, [r3, #0] 804e2ee: b29b uxth r3, r3 804e2f0: 4413 add r3, r2 804e2f2: b29a uxth r2, r3 804e2f4: 4b49 ldr r3, [pc, #292] ; (804e41c ) 804e2f6: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804e2f8: 4b49 ldr r3, [pc, #292] ; (804e420 ) 804e2fa: 681b ldr r3, [r3, #0] 804e2fc: 2b7f cmp r3, #127 ; 0x7f 804e2fe: d83b bhi.n 804e378 804e300: 4b48 ldr r3, [pc, #288] ; (804e424 ) 804e302: 881b ldrh r3, [r3, #0] 804e304: b29b uxth r3, r3 804e306: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804e30a: 429a cmp r2, r3 804e30c: d834 bhi.n 804e378 { if(lX >= dX) 804e30e: 4b46 ldr r3, [pc, #280] ; (804e428 ) 804e310: 881b ldrh r3, [r3, #0] 804e312: b29b uxth r3, r3 804e314: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804e318: 429a cmp r2, r3 804e31a: d875 bhi.n 804e408 { CURSOR++; 804e31c: 4b40 ldr r3, [pc, #256] ; (804e420 ) 804e31e: 681b ldr r3, [r3, #0] 804e320: 3301 adds r3, #1 804e322: 4a3f ldr r2, [pc, #252] ; (804e420 ) 804e324: 6013 str r3, [r2, #0] X0 -= dX; 804e326: 4b3f ldr r3, [pc, #252] ; (804e424 ) 804e328: 881b ldrh r3, [r3, #0] 804e32a: b29a uxth r2, r3 804e32c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804e330: 1ad3 subs r3, r2, r3 804e332: b29a uxth r2, r3 804e334: 4b3b ldr r3, [pc, #236] ; (804e424 ) 804e336: 801a strh r2, [r3, #0] lX = X0; 804e338: 4b3a ldr r3, [pc, #232] ; (804e424 ) 804e33a: 881b ldrh r3, [r3, #0] 804e33c: b29a uxth r2, r3 804e33e: 4b3a ldr r3, [pc, #232] ; (804e428 ) 804e340: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804e342: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804e346: 021b lsls r3, r3, #8 804e348: b29a uxth r2, r3 804e34a: 4b37 ldr r3, [pc, #220] ; (804e428 ) 804e34c: 881b ldrh r3, [r3, #0] 804e34e: b29b uxth r3, r3 804e350: 4413 add r3, r2 804e352: b29a uxth r2, r3 804e354: 4b35 ldr r3, [pc, #212] ; (804e42c ) 804e356: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804e358: 4b35 ldr r3, [pc, #212] ; (804e430 ) 804e35a: 881b ldrh r3, [r3, #0] 804e35c: b29b uxth r3, r3 804e35e: 461a mov r2, r3 804e360: 4b31 ldr r3, [pc, #196] ; (804e428 ) 804e362: 881b ldrh r3, [r3, #0] 804e364: b29b uxth r3, r3 804e366: 1ad2 subs r2, r2, r3 804e368: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804e36c: fb92 f3f3 sdiv r3, r2, r3 804e370: 461a mov r2, r3 804e372: 4b2b ldr r3, [pc, #172] ; (804e420 ) 804e374: 601a str r2, [r3, #0] if(lX >= dX) 804e376: e047 b.n 804e408 } } else if(CURSOR > (256 >> 1)) 804e378: 4b29 ldr r3, [pc, #164] ; (804e420 ) 804e37a: 681b ldr r3, [r3, #0] 804e37c: 2b80 cmp r3, #128 ; 0x80 804e37e: d943 bls.n 804e408 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804e380: 4b2a ldr r3, [pc, #168] ; (804e42c ) 804e382: 881b ldrh r3, [r3, #0] 804e384: b29b uxth r3, r3 804e386: 461a mov r2, r3 804e388: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804e38c: 18d1 adds r1, r2, r3 804e38e: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804e392: 4613 mov r3, r2 804e394: 009b lsls r3, r3, #2 804e396: 4413 add r3, r2 804e398: 4a1e ldr r2, [pc, #120] ; (804e414 ) 804e39a: 79d2 ldrb r2, [r2, #7] 804e39c: b2d2 uxtb r2, r2 804e39e: 4413 add r3, r2 804e3a0: 4a1d ldr r2, [pc, #116] ; (804e418 ) 804e3a2: 3323 adds r3, #35 ; 0x23 804e3a4: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804e3a8: 021b lsls r3, r3, #8 804e3aa: 4299 cmp r1, r3 804e3ac: dc2c bgt.n 804e408 { CURSOR--; 804e3ae: 4b1c ldr r3, [pc, #112] ; (804e420 ) 804e3b0: 681b ldr r3, [r3, #0] 804e3b2: 3b01 subs r3, #1 804e3b4: 4a1a ldr r2, [pc, #104] ; (804e420 ) 804e3b6: 6013 str r3, [r2, #0] X0 += dX; 804e3b8: 4b1a ldr r3, [pc, #104] ; (804e424 ) 804e3ba: 881b ldrh r3, [r3, #0] 804e3bc: b29a uxth r2, r3 804e3be: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804e3c2: 4413 add r3, r2 804e3c4: b29a uxth r2, r3 804e3c6: 4b17 ldr r3, [pc, #92] ; (804e424 ) 804e3c8: 801a strh r2, [r3, #0] lX = X0; 804e3ca: 4b16 ldr r3, [pc, #88] ; (804e424 ) 804e3cc: 881b ldrh r3, [r3, #0] 804e3ce: b29a uxth r2, r3 804e3d0: 4b15 ldr r3, [pc, #84] ; (804e428 ) 804e3d2: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804e3d4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804e3d8: 021b lsls r3, r3, #8 804e3da: b29a uxth r2, r3 804e3dc: 4b12 ldr r3, [pc, #72] ; (804e428 ) 804e3de: 881b ldrh r3, [r3, #0] 804e3e0: b29b uxth r3, r3 804e3e2: 4413 add r3, r2 804e3e4: b29a uxth r2, r3 804e3e6: 4b11 ldr r3, [pc, #68] ; (804e42c ) 804e3e8: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804e3ea: 4b11 ldr r3, [pc, #68] ; (804e430 ) 804e3ec: 881b ldrh r3, [r3, #0] 804e3ee: b29b uxth r3, r3 804e3f0: 461a mov r2, r3 804e3f2: 4b0d ldr r3, [pc, #52] ; (804e428 ) 804e3f4: 881b ldrh r3, [r3, #0] 804e3f6: b29b uxth r3, r3 804e3f8: 1ad2 subs r2, r2, r3 804e3fa: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804e3fe: fb92 f3f3 sdiv r3, r2, r3 804e402: 461a mov r2, r3 804e404: 4b06 ldr r3, [pc, #24] ; (804e420 ) 804e406: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804e408: 4b0a ldr r3, [pc, #40] ; (804e434 ) 804e40a: 2201 movs r2, #1 804e40c: 701a strb r2, [r3, #0] } break; 804e40e: e3f2 b.n 804ebf6 804e410: 20020fc0 .word 0x20020fc0 804e414: 20023eb8 .word 0x20023eb8 804e418: 080f51c8 .word 0x080f51c8 804e41c: 20025d6e .word 0x20025d6e 804e420: 2002006c .word 0x2002006c 804e424: 20025d76 .word 0x20025d76 804e428: 20025d72 .word 0x20025d72 804e42c: 20025d78 .word 0x20025d78 804e430: 20025d74 .word 0x20025d74 804e434: 20020994 .word 0x20020994 case ZoomOut: lvl_0 = 0; 804e438: 2300 movs r3, #0 804e43a: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804e43e: 2304 movs r3, #4 804e440: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804e444: 4b94 ldr r3, [pc, #592] ; (804e698 ) 804e446: 781b ldrb r3, [r3, #0] 804e448: b2db uxtb r3, r3 804e44a: 461a mov r2, r3 804e44c: 4613 mov r3, r2 804e44e: 009b lsls r3, r3, #2 804e450: 4413 add r3, r2 804e452: 4a92 ldr r2, [pc, #584] ; (804e69c ) 804e454: 79d2 ldrb r2, [r2, #7] 804e456: b2d2 uxtb r2, r2 804e458: 4413 add r3, r2 804e45a: 4a91 ldr r2, [pc, #580] ; (804e6a0 ) 804e45c: 3323 adds r3, #35 ; 0x23 804e45e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804e462: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804e466: 4b8c ldr r3, [pc, #560] ; (804e698 ) 804e468: 781b ldrb r3, [r3, #0] 804e46a: b2db uxtb r3, r3 804e46c: 2b00 cmp r3, #0 804e46e: f000 83c5 beq.w 804ebfc { ViewLevel--; 804e472: 4b89 ldr r3, [pc, #548] ; (804e698 ) 804e474: 781b ldrb r3, [r3, #0] 804e476: b2db uxtb r3, r3 804e478: 3b01 subs r3, #1 804e47a: b2da uxtb r2, r3 804e47c: 4b86 ldr r3, [pc, #536] ; (804e698 ) 804e47e: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804e480: 4b85 ldr r3, [pc, #532] ; (804e698 ) 804e482: 781b ldrb r3, [r3, #0] 804e484: b2db uxtb r3, r3 804e486: 461a mov r2, r3 804e488: 4613 mov r3, r2 804e48a: 009b lsls r3, r3, #2 804e48c: 4413 add r3, r2 804e48e: 4a83 ldr r2, [pc, #524] ; (804e69c ) 804e490: 79d2 ldrb r2, [r2, #7] 804e492: b2d2 uxtb r2, r2 804e494: 4413 add r3, r2 804e496: 4a82 ldr r2, [pc, #520] ; (804e6a0 ) 804e498: 3323 adds r3, #35 ; 0x23 804e49a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804e49e: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804e4a2: 4b7d ldr r3, [pc, #500] ; (804e698 ) 804e4a4: 781b ldrb r3, [r3, #0] 804e4a6: b2db uxtb r3, r3 804e4a8: 2b00 cmp r3, #0 804e4aa: d130 bne.n 804e50e { X0 = lX = 0; 804e4ac: 2100 movs r1, #0 804e4ae: 4b7d ldr r3, [pc, #500] ; (804e6a4 ) 804e4b0: 460a mov r2, r1 804e4b2: 801a strh r2, [r3, #0] 804e4b4: 4b7c ldr r3, [pc, #496] ; (804e6a8 ) 804e4b6: 460a mov r2, r1 804e4b8: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804e4ba: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804e4be: 021b lsls r3, r3, #8 804e4c0: b29a uxth r2, r3 804e4c2: 4b78 ldr r3, [pc, #480] ; (804e6a4 ) 804e4c4: 881b ldrh r3, [r3, #0] 804e4c6: b29b uxth r3, r3 804e4c8: 4413 add r3, r2 804e4ca: b29a uxth r2, r3 804e4cc: 4b77 ldr r3, [pc, #476] ; (804e6ac ) 804e4ce: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804e4d0: 4b77 ldr r3, [pc, #476] ; (804e6b0 ) 804e4d2: 881b ldrh r3, [r3, #0] 804e4d4: b29b uxth r3, r3 804e4d6: 461a mov r2, r3 804e4d8: 4b72 ldr r3, [pc, #456] ; (804e6a4 ) 804e4da: 881b ldrh r3, [r3, #0] 804e4dc: b29b uxth r3, r3 804e4de: 1ad2 subs r2, r2, r3 804e4e0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804e4e4: fb92 f3f3 sdiv r3, r2, r3 804e4e8: 461a mov r2, r3 804e4ea: 4b72 ldr r3, [pc, #456] ; (804e6b4 ) 804e4ec: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804e4ee: 4b71 ldr r3, [pc, #452] ; (804e6b4 ) 804e4f0: 681b ldr r3, [r3, #0] 804e4f2: b29b uxth r3, r3 804e4f4: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804e4f8: fb12 f303 smulbb r3, r2, r3 804e4fc: b29a uxth r2, r3 804e4fe: 4b6a ldr r3, [pc, #424] ; (804e6a8 ) 804e500: 881b ldrh r3, [r3, #0] 804e502: b29b uxth r3, r3 804e504: 4413 add r3, r2 804e506: b29a uxth r2, r3 804e508: 4b6b ldr r3, [pc, #428] ; (804e6b8 ) 804e50a: 801a strh r2, [r3, #0] 804e50c: e090 b.n 804e630 } else { if(CURSOR * dX > Mpos) 804e50e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804e512: 4a68 ldr r2, [pc, #416] ; (804e6b4 ) 804e514: 6812 ldr r2, [r2, #0] 804e516: fb02 f303 mul.w r3, r2, r3 804e51a: 4a67 ldr r2, [pc, #412] ; (804e6b8 ) 804e51c: 8812 ldrh r2, [r2, #0] 804e51e: b292 uxth r2, r2 804e520: 4293 cmp r3, r2 804e522: d91f bls.n 804e564 { while(CURSOR * dX > Mpos) 804e524: e004 b.n 804e530 CURSOR--; 804e526: 4b63 ldr r3, [pc, #396] ; (804e6b4 ) 804e528: 681b ldr r3, [r3, #0] 804e52a: 3b01 subs r3, #1 804e52c: 4a61 ldr r2, [pc, #388] ; (804e6b4 ) 804e52e: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804e530: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804e534: 4a5f ldr r2, [pc, #380] ; (804e6b4 ) 804e536: 6812 ldr r2, [r2, #0] 804e538: fb02 f303 mul.w r3, r2, r3 804e53c: 4a5e ldr r2, [pc, #376] ; (804e6b8 ) 804e53e: 8812 ldrh r2, [r2, #0] 804e540: b292 uxth r2, r2 804e542: 4293 cmp r3, r2 804e544: d8ef bhi.n 804e526 Mpos = X0 + CURSOR * dX; 804e546: 4b5b ldr r3, [pc, #364] ; (804e6b4 ) 804e548: 681b ldr r3, [r3, #0] 804e54a: b29b uxth r3, r3 804e54c: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804e550: fb12 f303 smulbb r3, r2, r3 804e554: b29a uxth r2, r3 804e556: 4b54 ldr r3, [pc, #336] ; (804e6a8 ) 804e558: 881b ldrh r3, [r3, #0] 804e55a: b29b uxth r3, r3 804e55c: 4413 add r3, r2 804e55e: b29a uxth r2, r3 804e560: 4b55 ldr r3, [pc, #340] ; (804e6b8 ) 804e562: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804e564: 4b54 ldr r3, [pc, #336] ; (804e6b8 ) 804e566: 881b ldrh r3, [r3, #0] 804e568: b29b uxth r3, r3 804e56a: 4619 mov r1, r3 804e56c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804e570: 4a50 ldr r2, [pc, #320] ; (804e6b4 ) 804e572: 6812 ldr r2, [r2, #0] 804e574: fb02 f303 mul.w r3, r2, r3 804e578: 1acb subs r3, r1, r3 804e57a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804e57e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804e582: 021b lsls r3, r3, #8 804e584: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804e588: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804e58c: 4613 mov r3, r2 804e58e: 009b lsls r3, r3, #2 804e590: 4413 add r3, r2 804e592: 4a42 ldr r2, [pc, #264] ; (804e69c ) 804e594: 79d2 ldrb r2, [r2, #7] 804e596: b2d2 uxtb r2, r2 804e598: 4413 add r3, r2 804e59a: 4a41 ldr r2, [pc, #260] ; (804e6a0 ) 804e59c: 3323 adds r3, #35 ; 0x23 804e59e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804e5a2: 021b lsls r3, r3, #8 804e5a4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804e5a8: e006 b.n 804e5b8 i -= dXold; 804e5aa: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804e5ae: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804e5b2: 1ad3 subs r3, r2, r3 804e5b4: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804e5b8: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804e5bc: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804e5c0: 441a add r2, r3 804e5c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804e5c6: 429a cmp r2, r3 804e5c8: d8ef bhi.n 804e5aa } X0 = (uint16_t) i; 804e5ca: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804e5ce: b29a uxth r2, r3 804e5d0: 4b35 ldr r3, [pc, #212] ; (804e6a8 ) 804e5d2: 801a strh r2, [r3, #0] lX = X0; 804e5d4: 4b34 ldr r3, [pc, #208] ; (804e6a8 ) 804e5d6: 881b ldrh r3, [r3, #0] 804e5d8: b29a uxth r2, r3 804e5da: 4b32 ldr r3, [pc, #200] ; (804e6a4 ) 804e5dc: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804e5de: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804e5e2: 021b lsls r3, r3, #8 804e5e4: b29a uxth r2, r3 804e5e6: 4b2f ldr r3, [pc, #188] ; (804e6a4 ) 804e5e8: 881b ldrh r3, [r3, #0] 804e5ea: b29b uxth r3, r3 804e5ec: 4413 add r3, r2 804e5ee: b29a uxth r2, r3 804e5f0: 4b2e ldr r3, [pc, #184] ; (804e6ac ) 804e5f2: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804e5f4: 4b2e ldr r3, [pc, #184] ; (804e6b0 ) 804e5f6: 881b ldrh r3, [r3, #0] 804e5f8: b29b uxth r3, r3 804e5fa: 461a mov r2, r3 804e5fc: 4b29 ldr r3, [pc, #164] ; (804e6a4 ) 804e5fe: 881b ldrh r3, [r3, #0] 804e600: b29b uxth r3, r3 804e602: 1ad2 subs r2, r2, r3 804e604: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804e608: fb92 f3f3 sdiv r3, r2, r3 804e60c: 461a mov r2, r3 804e60e: 4b29 ldr r3, [pc, #164] ; (804e6b4 ) 804e610: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804e612: 4b28 ldr r3, [pc, #160] ; (804e6b4 ) 804e614: 681b ldr r3, [r3, #0] 804e616: b29b uxth r3, r3 804e618: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804e61c: fb12 f303 smulbb r3, r2, r3 804e620: b29a uxth r2, r3 804e622: 4b21 ldr r3, [pc, #132] ; (804e6a8 ) 804e624: 881b ldrh r3, [r3, #0] 804e626: b29b uxth r3, r3 804e628: 4413 add r3, r2 804e62a: b29a uxth r2, r3 804e62c: 4b22 ldr r3, [pc, #136] ; (804e6b8 ) 804e62e: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804e630: 4b22 ldr r3, [pc, #136] ; (804e6bc ) 804e632: 2201 movs r2, #1 804e634: 701a strb r2, [r3, #0] } break; 804e636: e2e1 b.n 804ebfc case Cursor: AUTOZOOM = true; 804e638: 4b20 ldr r3, [pc, #128] ; (804e6bc ) 804e63a: 2201 movs r2, #1 804e63c: 701a strb r2, [r3, #0] if((DynamicCursor[0].Mpos >= Mpos) && (DynamicCursor[0].Mpos < (Mpos + Avg[1][5 * ViewLevel + pardata.LNE]))) 804e63e: 4b20 ldr r3, [pc, #128] ; (804e6c0 ) 804e640: 889a ldrh r2, [r3, #4] 804e642: 4b1d ldr r3, [pc, #116] ; (804e6b8 ) 804e644: 881b ldrh r3, [r3, #0] 804e646: b29b uxth r3, r3 804e648: 429a cmp r2, r3 804e64a: d33b bcc.n 804e6c4 804e64c: 4b1c ldr r3, [pc, #112] ; (804e6c0 ) 804e64e: 889b ldrh r3, [r3, #4] 804e650: 4619 mov r1, r3 804e652: 4b19 ldr r3, [pc, #100] ; (804e6b8 ) 804e654: 881b ldrh r3, [r3, #0] 804e656: b29b uxth r3, r3 804e658: 4618 mov r0, r3 804e65a: 4b0f ldr r3, [pc, #60] ; (804e698 ) 804e65c: 781b ldrb r3, [r3, #0] 804e65e: b2db uxtb r3, r3 804e660: 461a mov r2, r3 804e662: 4613 mov r3, r2 804e664: 009b lsls r3, r3, #2 804e666: 4413 add r3, r2 804e668: 4a0c ldr r2, [pc, #48] ; (804e69c ) 804e66a: 79d2 ldrb r2, [r2, #7] 804e66c: b2d2 uxtb r2, r2 804e66e: 4413 add r3, r2 804e670: 4a0b ldr r2, [pc, #44] ; (804e6a0 ) 804e672: 3323 adds r3, #35 ; 0x23 804e674: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804e678: 4403 add r3, r0 804e67a: 4299 cmp r1, r3 804e67c: da22 bge.n 804e6c4 { if(DynamicCursor[0].Enabled) 804e67e: 4b10 ldr r3, [pc, #64] ; (804e6c0 ) 804e680: 781b ldrb r3, [r3, #0] 804e682: 2b00 cmp r3, #0 804e684: d075 beq.n 804e772 { DynamicCursor[0].Enabled = false; 804e686: 4b0e ldr r3, [pc, #56] ; (804e6c0 ) 804e688: 2200 movs r2, #0 804e68a: 701a strb r2, [r3, #0] DynamicCursor[0].Mpos = 0xffff; 804e68c: 4b0c ldr r3, [pc, #48] ; (804e6c0 ) 804e68e: f64f 72ff movw r2, #65535 ; 0xffff 804e692: 809a strh r2, [r3, #4] if(DynamicCursor[0].Enabled) 804e694: e06d b.n 804e772 804e696: bf00 nop 804e698: 20020fc0 .word 0x20020fc0 804e69c: 20023eb8 .word 0x20023eb8 804e6a0: 080f51c8 .word 0x080f51c8 804e6a4: 20025d72 .word 0x20025d72 804e6a8: 20025d76 .word 0x20025d76 804e6ac: 20025d78 .word 0x20025d78 804e6b0: 20025d74 .word 0x20025d74 804e6b4: 2002006c .word 0x2002006c 804e6b8: 20025d6e .word 0x20025d6e 804e6bc: 20020994 .word 0x20020994 804e6c0: 20020f94 .word 0x20020f94 } } else if((DynamicCursor[1].Mpos >= Mpos) && (DynamicCursor[1].Mpos < (Mpos + Avg[1][5 * ViewLevel + pardata.LNE]))) 804e6c4: 4b7b ldr r3, [pc, #492] ; (804e8b4 ) 804e6c6: 8a9a ldrh r2, [r3, #20] 804e6c8: 4b7b ldr r3, [pc, #492] ; (804e8b8 ) 804e6ca: 881b ldrh r3, [r3, #0] 804e6cc: b29b uxth r3, r3 804e6ce: 429a cmp r2, r3 804e6d0: d324 bcc.n 804e71c 804e6d2: 4b78 ldr r3, [pc, #480] ; (804e8b4 ) 804e6d4: 8a9b ldrh r3, [r3, #20] 804e6d6: 4619 mov r1, r3 804e6d8: 4b77 ldr r3, [pc, #476] ; (804e8b8 ) 804e6da: 881b ldrh r3, [r3, #0] 804e6dc: b29b uxth r3, r3 804e6de: 4618 mov r0, r3 804e6e0: 4b76 ldr r3, [pc, #472] ; (804e8bc ) 804e6e2: 781b ldrb r3, [r3, #0] 804e6e4: b2db uxtb r3, r3 804e6e6: 461a mov r2, r3 804e6e8: 4613 mov r3, r2 804e6ea: 009b lsls r3, r3, #2 804e6ec: 4413 add r3, r2 804e6ee: 4a74 ldr r2, [pc, #464] ; (804e8c0 ) 804e6f0: 79d2 ldrb r2, [r2, #7] 804e6f2: b2d2 uxtb r2, r2 804e6f4: 4413 add r3, r2 804e6f6: 4a73 ldr r2, [pc, #460] ; (804e8c4 ) 804e6f8: 3323 adds r3, #35 ; 0x23 804e6fa: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804e6fe: 4403 add r3, r0 804e700: 4299 cmp r1, r3 804e702: da0b bge.n 804e71c { if(DynamicCursor[1].Enabled) 804e704: 4b6b ldr r3, [pc, #428] ; (804e8b4 ) 804e706: 7c1b ldrb r3, [r3, #16] 804e708: 2b00 cmp r3, #0 804e70a: d032 beq.n 804e772 { DynamicCursor[1].Enabled = false; 804e70c: 4b69 ldr r3, [pc, #420] ; (804e8b4 ) 804e70e: 2200 movs r2, #0 804e710: 741a strb r2, [r3, #16] DynamicCursor[1].Mpos = 0xffff; 804e712: 4b68 ldr r3, [pc, #416] ; (804e8b4 ) 804e714: f64f 72ff movw r2, #65535 ; 0xffff 804e718: 829a strh r2, [r3, #20] if(DynamicCursor[1].Enabled) 804e71a: e02a b.n 804e772 } } else { if(!DynamicCursor[0].Enabled) 804e71c: 4b65 ldr r3, [pc, #404] ; (804e8b4 ) 804e71e: 781b ldrb r3, [r3, #0] 804e720: f083 0301 eor.w r3, r3, #1 804e724: b2db uxtb r3, r3 804e726: 2b00 cmp r3, #0 804e728: d00d beq.n 804e746 { DynamicCursor[0].Mpos = Mpos; 804e72a: 4b63 ldr r3, [pc, #396] ; (804e8b8 ) 804e72c: 881b ldrh r3, [r3, #0] 804e72e: b29a uxth r2, r3 804e730: 4b60 ldr r3, [pc, #384] ; (804e8b4 ) 804e732: 809a strh r2, [r3, #4] DynamicCursor[0].fineMpos = Mpos; 804e734: 4b60 ldr r3, [pc, #384] ; (804e8b8 ) 804e736: 881b ldrh r3, [r3, #0] 804e738: b29a uxth r2, r3 804e73a: 4b5e ldr r3, [pc, #376] ; (804e8b4 ) 804e73c: 80da strh r2, [r3, #6] DynamicCursor[0].Enabled = true; 804e73e: 4b5d ldr r3, [pc, #372] ; (804e8b4 ) 804e740: 2201 movs r2, #1 804e742: 701a strb r2, [r3, #0] DynamicCursor[1].Mpos = Mpos; DynamicCursor[1].fineMpos = Mpos; DynamicCursor[1].Enabled = true; } } break; 804e744: e25d b.n 804ec02 if(!DynamicCursor[1].Enabled) 804e746: 4b5b ldr r3, [pc, #364] ; (804e8b4 ) 804e748: 7c1b ldrb r3, [r3, #16] 804e74a: f083 0301 eor.w r3, r3, #1 804e74e: b2db uxtb r3, r3 804e750: 2b00 cmp r3, #0 804e752: f000 8256 beq.w 804ec02 DynamicCursor[1].Mpos = Mpos; 804e756: 4b58 ldr r3, [pc, #352] ; (804e8b8 ) 804e758: 881b ldrh r3, [r3, #0] 804e75a: b29a uxth r2, r3 804e75c: 4b55 ldr r3, [pc, #340] ; (804e8b4 ) 804e75e: 829a strh r2, [r3, #20] DynamicCursor[1].fineMpos = Mpos; 804e760: 4b55 ldr r3, [pc, #340] ; (804e8b8 ) 804e762: 881b ldrh r3, [r3, #0] 804e764: b29a uxth r2, r3 804e766: 4b53 ldr r3, [pc, #332] ; (804e8b4 ) 804e768: 82da strh r2, [r3, #22] DynamicCursor[1].Enabled = true; 804e76a: 4b52 ldr r3, [pc, #328] ; (804e8b4 ) 804e76c: 2201 movs r2, #1 804e76e: 741a strb r2, [r3, #16] break; 804e770: e247 b.n 804ec02 804e772: e246 b.n 804ec02 case SaveSpec: if(CardState == MSD_READY) 804e774: 4b54 ldr r3, [pc, #336] ; (804e8c8 ) 804e776: 781b ldrb r3, [r3, #0] 804e778: b2db uxtb r3, r3 804e77a: 2b03 cmp r3, #3 804e77c: f040 8213 bne.w 804eba6 { if(!measuring) 804e780: 4b52 ldr r3, [pc, #328] ; (804e8cc ) 804e782: 781b ldrb r3, [r3, #0] 804e784: b2db uxtb r3, r3 804e786: f083 0301 eor.w r3, r3, #1 804e78a: b2db uxtb r3, r3 804e78c: 2b00 cmp r3, #0 804e78e: f000 823b beq.w 804ec08 { HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 804e792: 2200 movs r2, #0 804e794: 494e ldr r1, [pc, #312] ; (804e8d0 ) 804e796: 484f ldr r0, [pc, #316] ; (804e8d4 ) 804e798: f06e fe1c bl 80bd3d4 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 804e79c: 2200 movs r2, #0 804e79e: 494e ldr r1, [pc, #312] ; (804e8d8 ) 804e7a0: 484c ldr r0, [pc, #304] ; (804e8d4 ) 804e7a2: f06e ff1d bl 80bd5e0 Day = RTC_DateStruct.Date; 804e7a6: 4b4c ldr r3, [pc, #304] ; (804e8d8 ) 804e7a8: 789b ldrb r3, [r3, #2] 804e7aa: f8c7 308c str.w r3, [r7, #140] ; 0x8c Month = RTC_DateStruct.Month; 804e7ae: 4b4a ldr r3, [pc, #296] ; (804e8d8 ) 804e7b0: 785b ldrb r3, [r3, #1] 804e7b2: f8c7 3088 str.w r3, [r7, #136] ; 0x88 Year = RTC_DateStruct.Year + 2000; 804e7b6: 4b48 ldr r3, [pc, #288] ; (804e8d8 ) 804e7b8: 78db ldrb r3, [r3, #3] 804e7ba: f503 63fa add.w r3, r3, #2000 ; 0x7d0 804e7be: f8c7 3084 str.w r3, [r7, #132] ; 0x84 Hour = RTC_TimeStruct.Hours; 804e7c2: 4b43 ldr r3, [pc, #268] ; (804e8d0 ) 804e7c4: 781b ldrb r3, [r3, #0] 804e7c6: f8c7 3080 str.w r3, [r7, #128] ; 0x80 Min = RTC_TimeStruct.Minutes; 804e7ca: 4b41 ldr r3, [pc, #260] ; (804e8d0 ) 804e7cc: 785b ldrb r3, [r3, #1] 804e7ce: 67fb str r3, [r7, #124] ; 0x7c Sec = RTC_TimeStruct.Seconds; 804e7d0: 4b3f ldr r3, [pc, #252] ; (804e8d0 ) 804e7d2: 789b ldrb r3, [r3, #2] 804e7d4: 67bb str r3, [r7, #120] ; 0x78 memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 804e7d6: 2221 movs r2, #33 ; 0x21 804e7d8: 2100 movs r1, #0 804e7da: 4840 ldr r0, [pc, #256] ; (804e8dc ) 804e7dc: f083 fbe2 bl 80d1fa4 strcpy(TEMP_MeasFileName,"ENV_"); 804e7e0: 4b3e ldr r3, [pc, #248] ; (804e8dc ) 804e7e2: 4a3f ldr r2, [pc, #252] ; (804e8e0 ) 804e7e4: 6810 ldr r0, [r2, #0] 804e7e6: 6018 str r0, [r3, #0] 804e7e8: 7912 ldrb r2, [r2, #4] 804e7ea: 711a strb r2, [r3, #4] if(pardata.IPR == ACC) strcat(TEMP_MeasFileName, "A"); 804e7ec: 4b34 ldr r3, [pc, #208] ; (804e8c0 ) 804e7ee: 785b ldrb r3, [r3, #1] 804e7f0: b2db uxtb r3, r3 804e7f2: 2b00 cmp r3, #0 804e7f4: d10c bne.n 804e810 804e7f6: 4839 ldr r0, [pc, #228] ; (804e8dc ) 804e7f8: f7d1 fd8c bl 8020314 804e7fc: 4603 mov r3, r0 804e7fe: 461a mov r2, r3 804e800: 4b36 ldr r3, [pc, #216] ; (804e8dc ) 804e802: 4413 add r3, r2 804e804: 4937 ldr r1, [pc, #220] ; (804e8e4 ) 804e806: 461a mov r2, r3 804e808: 460b mov r3, r1 804e80a: 881b ldrh r3, [r3, #0] 804e80c: 8013 strh r3, [r2, #0] 804e80e: e022 b.n 804e856 else if(pardata.IPR == VEL) strcat(TEMP_MeasFileName, "V"); 804e810: 4b2b ldr r3, [pc, #172] ; (804e8c0 ) 804e812: 785b ldrb r3, [r3, #1] 804e814: b2db uxtb r3, r3 804e816: 2b01 cmp r3, #1 804e818: d10c bne.n 804e834 804e81a: 4830 ldr r0, [pc, #192] ; (804e8dc ) 804e81c: f7d1 fd7a bl 8020314 804e820: 4603 mov r3, r0 804e822: 461a mov r2, r3 804e824: 4b2d ldr r3, [pc, #180] ; (804e8dc ) 804e826: 4413 add r3, r2 804e828: 492f ldr r1, [pc, #188] ; (804e8e8 ) 804e82a: 461a mov r2, r3 804e82c: 460b mov r3, r1 804e82e: 881b ldrh r3, [r3, #0] 804e830: 8013 strh r3, [r2, #0] 804e832: e010 b.n 804e856 else if(pardata.IPR == DIS) strcat(TEMP_MeasFileName, "S"); 804e834: 4b22 ldr r3, [pc, #136] ; (804e8c0 ) 804e836: 785b ldrb r3, [r3, #1] 804e838: b2db uxtb r3, r3 804e83a: 2b02 cmp r3, #2 804e83c: d10b bne.n 804e856 804e83e: 4827 ldr r0, [pc, #156] ; (804e8dc ) 804e840: f7d1 fd68 bl 8020314 804e844: 4603 mov r3, r0 804e846: 461a mov r2, r3 804e848: 4b24 ldr r3, [pc, #144] ; (804e8dc ) 804e84a: 4413 add r3, r2 804e84c: 4927 ldr r1, [pc, #156] ; (804e8ec ) 804e84e: 461a mov r2, r3 804e850: 460b mov r3, r1 804e852: 881b ldrh r3, [r3, #0] 804e854: 8013 strh r3, [r2, #0] if(pardata.IVS[pardata.IPR] == PEAK) strcat(TEMP_MeasFileName, "_PK_"); 804e856: 4b1a ldr r3, [pc, #104] ; (804e8c0 ) 804e858: 785b ldrb r3, [r3, #1] 804e85a: b2db uxtb r3, r3 804e85c: 461a mov r2, r3 804e85e: 4b18 ldr r3, [pc, #96] ; (804e8c0 ) 804e860: 4413 add r3, r2 804e862: 789b ldrb r3, [r3, #2] 804e864: b2db uxtb r3, r3 804e866: 2b00 cmp r3, #0 804e868: d10c bne.n 804e884 804e86a: 481c ldr r0, [pc, #112] ; (804e8dc ) 804e86c: f7d1 fd52 bl 8020314 804e870: 4603 mov r3, r0 804e872: 461a mov r2, r3 804e874: 4b19 ldr r3, [pc, #100] ; (804e8dc ) 804e876: 4413 add r3, r2 804e878: 4a1d ldr r2, [pc, #116] ; (804e8f0 ) 804e87a: 6810 ldr r0, [r2, #0] 804e87c: 6018 str r0, [r3, #0] 804e87e: 7912 ldrb r2, [r2, #4] 804e880: 711a strb r2, [r3, #4] 804e882: e051 b.n 804e928 else if(pardata.IVS[pardata.IPR] == RMS) strcat(TEMP_MeasFileName, "_RMS_"); 804e884: 4b0e ldr r3, [pc, #56] ; (804e8c0 ) 804e886: 785b ldrb r3, [r3, #1] 804e888: b2db uxtb r3, r3 804e88a: 461a mov r2, r3 804e88c: 4b0c ldr r3, [pc, #48] ; (804e8c0 ) 804e88e: 4413 add r3, r2 804e890: 789b ldrb r3, [r3, #2] 804e892: b2db uxtb r3, r3 804e894: 2b01 cmp r3, #1 804e896: d12f bne.n 804e8f8 804e898: 4810 ldr r0, [pc, #64] ; (804e8dc ) 804e89a: f7d1 fd3b bl 8020314 804e89e: 4603 mov r3, r0 804e8a0: 461a mov r2, r3 804e8a2: 4b0e ldr r3, [pc, #56] ; (804e8dc ) 804e8a4: 4413 add r3, r2 804e8a6: 4a13 ldr r2, [pc, #76] ; (804e8f4 ) 804e8a8: 6810 ldr r0, [r2, #0] 804e8aa: 6018 str r0, [r3, #0] 804e8ac: 8892 ldrh r2, [r2, #4] 804e8ae: 809a strh r2, [r3, #4] 804e8b0: e03a b.n 804e928 804e8b2: bf00 nop 804e8b4: 20020f94 .word 0x20020f94 804e8b8: 20025d6e .word 0x20025d6e 804e8bc: 20020fc0 .word 0x20020fc0 804e8c0: 20023eb8 .word 0x20023eb8 804e8c4: 080f51c8 .word 0x080f51c8 804e8c8: 2002169c .word 0x2002169c 804e8cc: 20020dcf .word 0x20020dcf 804e8d0: 20025cc0 .word 0x20025cc0 804e8d4: 200685f8 .word 0x200685f8 804e8d8: 20025d44 .word 0x20025d44 804e8dc: 20025cd8 .word 0x20025cd8 804e8e0: 080d50b0 .word 0x080d50b0 804e8e4: 080d508c .word 0x080d508c 804e8e8: 080d5090 .word 0x080d5090 804e8ec: 080d5094 .word 0x080d5094 804e8f0: 080d5098 .word 0x080d5098 804e8f4: 080d50a0 .word 0x080d50a0 else if(pardata.IVS[pardata.IPR] == PEAK_TO_PEAK) strcat(TEMP_MeasFileName, "_PKPK_"); 804e8f8: 4bb0 ldr r3, [pc, #704] ; (804ebbc ) 804e8fa: 785b ldrb r3, [r3, #1] 804e8fc: b2db uxtb r3, r3 804e8fe: 461a mov r2, r3 804e900: 4bae ldr r3, [pc, #696] ; (804ebbc ) 804e902: 4413 add r3, r2 804e904: 789b ldrb r3, [r3, #2] 804e906: b2db uxtb r3, r3 804e908: 2b02 cmp r3, #2 804e90a: d10d bne.n 804e928 804e90c: 48ac ldr r0, [pc, #688] ; (804ebc0 ) 804e90e: f7d1 fd01 bl 8020314 804e912: 4603 mov r3, r0 804e914: 461a mov r2, r3 804e916: 4baa ldr r3, [pc, #680] ; (804ebc0 ) 804e918: 4413 add r3, r2 804e91a: 4aaa ldr r2, [pc, #680] ; (804ebc4 ) 804e91c: 6810 ldr r0, [r2, #0] 804e91e: 6018 str r0, [r3, #0] 804e920: 8891 ldrh r1, [r2, #4] 804e922: 7992 ldrb r2, [r2, #6] 804e924: 8099 strh r1, [r3, #4] 804e926: 719a strb r2, [r3, #6] MeasFileNameLen = strlen(TEMP_MeasFileName); 804e928: 48a5 ldr r0, [pc, #660] ; (804ebc0 ) 804e92a: f7d1 fcf3 bl 8020314 804e92e: 4602 mov r2, r0 804e930: 4ba5 ldr r3, [pc, #660] ; (804ebc8 ) 804e932: 601a str r2, [r3, #0] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Year / 1000) + 48); 804e934: 4ba4 ldr r3, [pc, #656] ; (804ebc8 ) 804e936: 681b ldr r3, [r3, #0] 804e938: 1c5a adds r2, r3, #1 804e93a: 49a3 ldr r1, [pc, #652] ; (804ebc8 ) 804e93c: 600a str r2, [r1, #0] 804e93e: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804e942: 49a2 ldr r1, [pc, #648] ; (804ebcc ) 804e944: fba1 1202 umull r1, r2, r1, r2 804e948: 0992 lsrs r2, r2, #6 804e94a: b2d2 uxtb r2, r2 804e94c: 3230 adds r2, #48 ; 0x30 804e94e: b2d1 uxtb r1, r2 804e950: 4a9b ldr r2, [pc, #620] ; (804ebc0 ) 804e952: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) (((Year % 1000) / 100) + 48); 804e954: 4b9c ldr r3, [pc, #624] ; (804ebc8 ) 804e956: 681a ldr r2, [r3, #0] 804e958: 1c53 adds r3, r2, #1 804e95a: 499b ldr r1, [pc, #620] ; (804ebc8 ) 804e95c: 600b str r3, [r1, #0] 804e95e: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 804e962: 4b9a ldr r3, [pc, #616] ; (804ebcc ) 804e964: fba3 0301 umull r0, r3, r3, r1 804e968: 099b lsrs r3, r3, #6 804e96a: f44f 707a mov.w r0, #1000 ; 0x3e8 804e96e: fb00 f303 mul.w r3, r0, r3 804e972: 1acb subs r3, r1, r3 804e974: 4996 ldr r1, [pc, #600] ; (804ebd0 ) 804e976: fba1 1303 umull r1, r3, r1, r3 804e97a: 095b lsrs r3, r3, #5 804e97c: b2db uxtb r3, r3 804e97e: 3330 adds r3, #48 ; 0x30 804e980: b2d9 uxtb r1, r3 804e982: 4b8f ldr r3, [pc, #572] ; (804ebc0 ) 804e984: 5499 strb r1, [r3, r2] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) / 10) + 48); 804e986: 4b90 ldr r3, [pc, #576] ; (804ebc8 ) 804e988: 6819 ldr r1, [r3, #0] 804e98a: 1c4b adds r3, r1, #1 804e98c: 4a8e ldr r2, [pc, #568] ; (804ebc8 ) 804e98e: 6013 str r3, [r2, #0] 804e990: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804e994: 4b8d ldr r3, [pc, #564] ; (804ebcc ) 804e996: fba3 0302 umull r0, r3, r3, r2 804e99a: 099b lsrs r3, r3, #6 804e99c: f44f 707a mov.w r0, #1000 ; 0x3e8 804e9a0: fb00 f303 mul.w r3, r0, r3 804e9a4: 1ad3 subs r3, r2, r3 804e9a6: 4a8a ldr r2, [pc, #552] ; (804ebd0 ) 804e9a8: fba2 0203 umull r0, r2, r2, r3 804e9ac: 0952 lsrs r2, r2, #5 804e9ae: 2064 movs r0, #100 ; 0x64 804e9b0: fb00 f202 mul.w r2, r0, r2 804e9b4: 1a9a subs r2, r3, r2 804e9b6: 4b87 ldr r3, [pc, #540] ; (804ebd4 ) 804e9b8: fba3 2302 umull r2, r3, r3, r2 804e9bc: 08db lsrs r3, r3, #3 804e9be: b2db uxtb r3, r3 804e9c0: 3330 adds r3, #48 ; 0x30 804e9c2: b2da uxtb r2, r3 804e9c4: 4b7e ldr r3, [pc, #504] ; (804ebc0 ) 804e9c6: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) % 10) + 48); 804e9c8: 4b7f ldr r3, [pc, #508] ; (804ebc8 ) 804e9ca: 6818 ldr r0, [r3, #0] 804e9cc: 1c43 adds r3, r0, #1 804e9ce: 4a7e ldr r2, [pc, #504] ; (804ebc8 ) 804e9d0: 6013 str r3, [r2, #0] 804e9d2: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804e9d6: 4b7d ldr r3, [pc, #500] ; (804ebcc ) 804e9d8: fba3 1302 umull r1, r3, r3, r2 804e9dc: 099b lsrs r3, r3, #6 804e9de: f44f 717a mov.w r1, #1000 ; 0x3e8 804e9e2: fb01 f303 mul.w r3, r1, r3 804e9e6: 1ad3 subs r3, r2, r3 804e9e8: 4a79 ldr r2, [pc, #484] ; (804ebd0 ) 804e9ea: fba2 1203 umull r1, r2, r2, r3 804e9ee: 0952 lsrs r2, r2, #5 804e9f0: 2164 movs r1, #100 ; 0x64 804e9f2: fb01 f202 mul.w r2, r1, r2 804e9f6: 1a9a subs r2, r3, r2 804e9f8: 4b76 ldr r3, [pc, #472] ; (804ebd4 ) 804e9fa: fba3 1302 umull r1, r3, r3, r2 804e9fe: 08d9 lsrs r1, r3, #3 804ea00: 460b mov r3, r1 804ea02: 009b lsls r3, r3, #2 804ea04: 440b add r3, r1 804ea06: 005b lsls r3, r3, #1 804ea08: 1ad1 subs r1, r2, r3 804ea0a: b2cb uxtb r3, r1 804ea0c: 3330 adds r3, #48 ; 0x30 804ea0e: b2da uxtb r2, r3 804ea10: 4b6b ldr r3, [pc, #428] ; (804ebc0 ) 804ea12: 541a strb r2, [r3, r0] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month / 10) + 48); 804ea14: 4b6c ldr r3, [pc, #432] ; (804ebc8 ) 804ea16: 681b ldr r3, [r3, #0] 804ea18: 1c5a adds r2, r3, #1 804ea1a: 496b ldr r1, [pc, #428] ; (804ebc8 ) 804ea1c: 600a str r2, [r1, #0] 804ea1e: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 804ea22: 496c ldr r1, [pc, #432] ; (804ebd4 ) 804ea24: fba1 1202 umull r1, r2, r1, r2 804ea28: 08d2 lsrs r2, r2, #3 804ea2a: b2d2 uxtb r2, r2 804ea2c: 3230 adds r2, #48 ; 0x30 804ea2e: b2d1 uxtb r1, r2 804ea30: 4a63 ldr r2, [pc, #396] ; (804ebc0 ) 804ea32: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month % 10) + 48); 804ea34: 4b64 ldr r3, [pc, #400] ; (804ebc8 ) 804ea36: 6819 ldr r1, [r3, #0] 804ea38: 1c4b adds r3, r1, #1 804ea3a: 4a63 ldr r2, [pc, #396] ; (804ebc8 ) 804ea3c: 6013 str r3, [r2, #0] 804ea3e: f8d7 0088 ldr.w r0, [r7, #136] ; 0x88 804ea42: 4b64 ldr r3, [pc, #400] ; (804ebd4 ) 804ea44: fba3 2300 umull r2, r3, r3, r0 804ea48: 08da lsrs r2, r3, #3 804ea4a: 4613 mov r3, r2 804ea4c: 009b lsls r3, r3, #2 804ea4e: 4413 add r3, r2 804ea50: 005b lsls r3, r3, #1 804ea52: 1ac2 subs r2, r0, r3 804ea54: b2d3 uxtb r3, r2 804ea56: 3330 adds r3, #48 ; 0x30 804ea58: b2da uxtb r2, r3 804ea5a: 4b59 ldr r3, [pc, #356] ; (804ebc0 ) 804ea5c: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day / 10) + 48); 804ea5e: 4b5a ldr r3, [pc, #360] ; (804ebc8 ) 804ea60: 681b ldr r3, [r3, #0] 804ea62: 1c5a adds r2, r3, #1 804ea64: 4958 ldr r1, [pc, #352] ; (804ebc8 ) 804ea66: 600a str r2, [r1, #0] 804ea68: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 804ea6c: 4959 ldr r1, [pc, #356] ; (804ebd4 ) 804ea6e: fba1 1202 umull r1, r2, r1, r2 804ea72: 08d2 lsrs r2, r2, #3 804ea74: b2d2 uxtb r2, r2 804ea76: 3230 adds r2, #48 ; 0x30 804ea78: b2d1 uxtb r1, r2 804ea7a: 4a51 ldr r2, [pc, #324] ; (804ebc0 ) 804ea7c: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day % 10) + 48); 804ea7e: 4b52 ldr r3, [pc, #328] ; (804ebc8 ) 804ea80: 6819 ldr r1, [r3, #0] 804ea82: 1c4b adds r3, r1, #1 804ea84: 4a50 ldr r2, [pc, #320] ; (804ebc8 ) 804ea86: 6013 str r3, [r2, #0] 804ea88: f8d7 008c ldr.w r0, [r7, #140] ; 0x8c 804ea8c: 4b51 ldr r3, [pc, #324] ; (804ebd4 ) 804ea8e: fba3 2300 umull r2, r3, r3, r0 804ea92: 08da lsrs r2, r3, #3 804ea94: 4613 mov r3, r2 804ea96: 009b lsls r3, r3, #2 804ea98: 4413 add r3, r2 804ea9a: 005b lsls r3, r3, #1 804ea9c: 1ac2 subs r2, r0, r3 804ea9e: b2d3 uxtb r3, r2 804eaa0: 3330 adds r3, #48 ; 0x30 804eaa2: b2da uxtb r2, r3 804eaa4: 4b46 ldr r3, [pc, #280] ; (804ebc0 ) 804eaa6: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = '_'; 804eaa8: 4b47 ldr r3, [pc, #284] ; (804ebc8 ) 804eaaa: 681b ldr r3, [r3, #0] 804eaac: 1c5a adds r2, r3, #1 804eaae: 4946 ldr r1, [pc, #280] ; (804ebc8 ) 804eab0: 600a str r2, [r1, #0] 804eab2: 4a43 ldr r2, [pc, #268] ; (804ebc0 ) 804eab4: 215f movs r1, #95 ; 0x5f 804eab6: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour / 10) + 48); 804eab8: 4b43 ldr r3, [pc, #268] ; (804ebc8 ) 804eaba: 681b ldr r3, [r3, #0] 804eabc: 1c5a adds r2, r3, #1 804eabe: 4942 ldr r1, [pc, #264] ; (804ebc8 ) 804eac0: 600a str r2, [r1, #0] 804eac2: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 804eac6: 4943 ldr r1, [pc, #268] ; (804ebd4 ) 804eac8: fba1 1202 umull r1, r2, r1, r2 804eacc: 08d2 lsrs r2, r2, #3 804eace: b2d2 uxtb r2, r2 804ead0: 3230 adds r2, #48 ; 0x30 804ead2: b2d1 uxtb r1, r2 804ead4: 4a3a ldr r2, [pc, #232] ; (804ebc0 ) 804ead6: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour % 10) + 48); 804ead8: 4b3b ldr r3, [pc, #236] ; (804ebc8 ) 804eada: 6819 ldr r1, [r3, #0] 804eadc: 1c4b adds r3, r1, #1 804eade: 4a3a ldr r2, [pc, #232] ; (804ebc8 ) 804eae0: 6013 str r3, [r2, #0] 804eae2: f8d7 0080 ldr.w r0, [r7, #128] ; 0x80 804eae6: 4b3b ldr r3, [pc, #236] ; (804ebd4 ) 804eae8: fba3 2300 umull r2, r3, r3, r0 804eaec: 08da lsrs r2, r3, #3 804eaee: 4613 mov r3, r2 804eaf0: 009b lsls r3, r3, #2 804eaf2: 4413 add r3, r2 804eaf4: 005b lsls r3, r3, #1 804eaf6: 1ac2 subs r2, r0, r3 804eaf8: b2d3 uxtb r3, r2 804eafa: 3330 adds r3, #48 ; 0x30 804eafc: b2da uxtb r2, r3 804eafe: 4b30 ldr r3, [pc, #192] ; (804ebc0 ) 804eb00: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min / 10) + 48); 804eb02: 4b31 ldr r3, [pc, #196] ; (804ebc8 ) 804eb04: 681b ldr r3, [r3, #0] 804eb06: 1c5a adds r2, r3, #1 804eb08: 492f ldr r1, [pc, #188] ; (804ebc8 ) 804eb0a: 600a str r2, [r1, #0] 804eb0c: 6ffa ldr r2, [r7, #124] ; 0x7c 804eb0e: 4931 ldr r1, [pc, #196] ; (804ebd4 ) 804eb10: fba1 1202 umull r1, r2, r1, r2 804eb14: 08d2 lsrs r2, r2, #3 804eb16: b2d2 uxtb r2, r2 804eb18: 3230 adds r2, #48 ; 0x30 804eb1a: b2d1 uxtb r1, r2 804eb1c: 4a28 ldr r2, [pc, #160] ; (804ebc0 ) 804eb1e: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min % 10) + 48); 804eb20: 4b29 ldr r3, [pc, #164] ; (804ebc8 ) 804eb22: 6819 ldr r1, [r3, #0] 804eb24: 1c4b adds r3, r1, #1 804eb26: 4a28 ldr r2, [pc, #160] ; (804ebc8 ) 804eb28: 6013 str r3, [r2, #0] 804eb2a: 6ff8 ldr r0, [r7, #124] ; 0x7c 804eb2c: 4b29 ldr r3, [pc, #164] ; (804ebd4 ) 804eb2e: fba3 2300 umull r2, r3, r3, r0 804eb32: 08da lsrs r2, r3, #3 804eb34: 4613 mov r3, r2 804eb36: 009b lsls r3, r3, #2 804eb38: 4413 add r3, r2 804eb3a: 005b lsls r3, r3, #1 804eb3c: 1ac2 subs r2, r0, r3 804eb3e: b2d3 uxtb r3, r2 804eb40: 3330 adds r3, #48 ; 0x30 804eb42: b2da uxtb r2, r3 804eb44: 4b1e ldr r3, [pc, #120] ; (804ebc0 ) 804eb46: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec / 10) + 48); 804eb48: 4b1f ldr r3, [pc, #124] ; (804ebc8 ) 804eb4a: 681b ldr r3, [r3, #0] 804eb4c: 1c5a adds r2, r3, #1 804eb4e: 491e ldr r1, [pc, #120] ; (804ebc8 ) 804eb50: 600a str r2, [r1, #0] 804eb52: 6fba ldr r2, [r7, #120] ; 0x78 804eb54: 491f ldr r1, [pc, #124] ; (804ebd4 ) 804eb56: fba1 1202 umull r1, r2, r1, r2 804eb5a: 08d2 lsrs r2, r2, #3 804eb5c: b2d2 uxtb r2, r2 804eb5e: 3230 adds r2, #48 ; 0x30 804eb60: b2d1 uxtb r1, r2 804eb62: 4a17 ldr r2, [pc, #92] ; (804ebc0 ) 804eb64: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec % 10) + 48); 804eb66: 4b18 ldr r3, [pc, #96] ; (804ebc8 ) 804eb68: 6819 ldr r1, [r3, #0] 804eb6a: 1c4b adds r3, r1, #1 804eb6c: 4a16 ldr r2, [pc, #88] ; (804ebc8 ) 804eb6e: 6013 str r3, [r2, #0] 804eb70: 6fb8 ldr r0, [r7, #120] ; 0x78 804eb72: 4b18 ldr r3, [pc, #96] ; (804ebd4 ) 804eb74: fba3 2300 umull r2, r3, r3, r0 804eb78: 08da lsrs r2, r3, #3 804eb7a: 4613 mov r3, r2 804eb7c: 009b lsls r3, r3, #2 804eb7e: 4413 add r3, r2 804eb80: 005b lsls r3, r3, #1 804eb82: 1ac2 subs r2, r0, r3 804eb84: b2d3 uxtb r3, r2 804eb86: 3330 adds r3, #48 ; 0x30 804eb88: b2da uxtb r2, r3 804eb8a: 4b0d ldr r3, [pc, #52] ; (804ebc0 ) 804eb8c: 545a strb r2, [r3, r1] lastmenu = menu; 804eb8e: 4b12 ldr r3, [pc, #72] ; (804ebd8 ) 804eb90: 781b ldrb r3, [r3, #0] 804eb92: b2da uxtb r2, r3 804eb94: 4b11 ldr r3, [pc, #68] ; (804ebdc ) 804eb96: 701a strb r2, [r3, #0] menu = INPUT_NAME_SPEC; 804eb98: 4b0f ldr r3, [pc, #60] ; (804ebd8 ) 804eb9a: 222f movs r2, #47 ; 0x2f 804eb9c: 701a strb r2, [r3, #0] menupos = _ENTER; 804eb9e: 4b10 ldr r3, [pc, #64] ; (804ebe0 ) 804eba0: 2226 movs r2, #38 ; 0x26 804eba2: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804eba4: e030 b.n 804ec08 STATUS = AP_NO_CARD; 804eba6: 4b0f ldr r3, [pc, #60] ; (804ebe4 ) 804eba8: 2211 movs r2, #17 804ebaa: 601a str r2, [r3, #0] timerStatus = sec2; 804ebac: 4b0e ldr r3, [pc, #56] ; (804ebe8 ) 804ebae: f44f 5280 mov.w r2, #4096 ; 0x1000 804ebb2: 801a strh r2, [r3, #0] DrawStatus = true; 804ebb4: 4b0d ldr r3, [pc, #52] ; (804ebec ) 804ebb6: 2201 movs r2, #1 804ebb8: 701a strb r2, [r3, #0] break; 804ebba: e025 b.n 804ec08 804ebbc: 20023eb8 .word 0x20023eb8 804ebc0: 20025cd8 .word 0x20025cd8 804ebc4: 080d50a8 .word 0x080d50a8 804ebc8: 20020f14 .word 0x20020f14 804ebcc: 10624dd3 .word 0x10624dd3 804ebd0: 51eb851f .word 0x51eb851f 804ebd4: cccccccd .word 0xcccccccd 804ebd8: 20020fc5 .word 0x20020fc5 804ebdc: 20020fc6 .word 0x20020fc6 804ebe0: 20020070 .word 0x20020070 804ebe4: 20020dec .word 0x20020dec 804ebe8: 200216dc .word 0x200216dc 804ebec: 20020df2 .word 0x20020df2 break; 804ebf0: bf00 nop 804ebf2: f005 bd6d b.w 80546d0 break; 804ebf6: bf00 nop 804ebf8: f005 bd6a b.w 80546d0 break; 804ebfc: bf00 nop 804ebfe: f005 bd67 b.w 80546d0 break; 804ec02: bf00 nop 804ec04: f005 bd64 b.w 80546d0 break; 804ec08: bf00 nop } break; 804ec0a: f005 bd61 b.w 80546d0 case MAIN_SPEC_OKT: switch(menupos) 804ec0e: 4b73 ldr r3, [pc, #460] ; (804eddc ) 804ec10: 781b ldrb r3, [r3, #0] 804ec12: b2db uxtb r3, r3 804ec14: 2b09 cmp r3, #9 804ec16: f205 855d bhi.w 80546d4 804ec1a: a201 add r2, pc, #4 ; (adr r2, 804ec20 ) 804ec1c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804ec20: 0804ec5b .word 0x0804ec5b 804ec24: 0804ec49 .word 0x0804ec49 804ec28: 0804ec97 .word 0x0804ec97 804ec2c: 0804ec97 .word 0x0804ec97 804ec30: 0804ec97 .word 0x0804ec97 804ec34: 0804ec97 .word 0x0804ec97 804ec38: 0804ec97 .word 0x0804ec97 804ec3c: 080546d5 .word 0x080546d5 804ec40: 080546d5 .word 0x080546d5 804ec44: 0804ec9f .word 0x0804ec9f { case BackMenu: StopMeas(); 804ec48: f7d4 fda8 bl 802379c menu = PARAM_SPEC; 804ec4c: 4b64 ldr r3, [pc, #400] ; (804ede0 ) 804ec4e: 2207 movs r2, #7 804ec50: 701a strb r2, [r3, #0] menupos = Ok; 804ec52: 4b62 ldr r3, [pc, #392] ; (804eddc ) 804ec54: 2200 movs r2, #0 804ec56: 701a strb r2, [r3, #0] break; 804ec58: e246 b.n 804f0e8 case StartStop: if(!measuring) 804ec5a: 4b62 ldr r3, [pc, #392] ; (804ede4 ) 804ec5c: 781b ldrb r3, [r3, #0] 804ec5e: b2db uxtb r3, r3 804ec60: f083 0301 eor.w r3, r3, #1 804ec64: b2db uxtb r3, r3 804ec66: 2b00 cmp r3, #0 804ec68: d00a beq.n 804ec80 { AUTOZOOM = true; 804ec6a: 4b5f ldr r3, [pc, #380] ; (804ede8 ) 804ec6c: 2201 movs r2, #1 804ec6e: 701a strb r2, [r3, #0] FIRST = true; 804ec70: 4b5e ldr r3, [pc, #376] ; (804edec ) 804ec72: 2201 movs r2, #1 804ec74: 701a strb r2, [r3, #0] initAmplif(); 804ec76: f7d2 ff0d bl 8021a94 StartMeas(); 804ec7a: f7d4 f9df bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804ec7e: e233 b.n 804f0e8 StopMeas(); 804ec80: f7d4 fd8c bl 802379c AUTOZOOM = true; 804ec84: 4b58 ldr r3, [pc, #352] ; (804ede8 ) 804ec86: 2201 movs r2, #1 804ec88: 701a strb r2, [r3, #0] oldmenupos = menupos; 804ec8a: 4b54 ldr r3, [pc, #336] ; (804eddc ) 804ec8c: 781b ldrb r3, [r3, #0] 804ec8e: b2da uxtb r2, r3 804ec90: 4b57 ldr r3, [pc, #348] ; (804edf0 ) 804ec92: 701a strb r2, [r3, #0] break; 804ec94: e228 b.n 804f0e8 case ImageLeft: case ImageRight: case ZoomIn: case ZoomOut: case Cursor: AUTOZOOM = true; 804ec96: 4b54 ldr r3, [pc, #336] ; (804ede8 ) 804ec98: 2201 movs r2, #1 804ec9a: 701a strb r2, [r3, #0] break; 804ec9c: e224 b.n 804f0e8 case SaveSpec: if(CardState == MSD_READY) 804ec9e: 4b55 ldr r3, [pc, #340] ; (804edf4 ) 804eca0: 781b ldrb r3, [r3, #0] 804eca2: b2db uxtb r3, r3 804eca4: 2b03 cmp r3, #3 804eca6: f040 8214 bne.w 804f0d2 { if(!measuring) 804ecaa: 4b4e ldr r3, [pc, #312] ; (804ede4 ) 804ecac: 781b ldrb r3, [r3, #0] 804ecae: b2db uxtb r3, r3 804ecb0: f083 0301 eor.w r3, r3, #1 804ecb4: b2db uxtb r3, r3 804ecb6: 2b00 cmp r3, #0 804ecb8: f000 8215 beq.w 804f0e6 { HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 804ecbc: 2200 movs r2, #0 804ecbe: 494e ldr r1, [pc, #312] ; (804edf8 ) 804ecc0: 484e ldr r0, [pc, #312] ; (804edfc ) 804ecc2: f06e fb87 bl 80bd3d4 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 804ecc6: 2200 movs r2, #0 804ecc8: 494d ldr r1, [pc, #308] ; (804ee00 ) 804ecca: 484c ldr r0, [pc, #304] ; (804edfc ) 804eccc: f06e fc88 bl 80bd5e0 Day = RTC_DateStruct.Date; 804ecd0: 4b4b ldr r3, [pc, #300] ; (804ee00 ) 804ecd2: 789b ldrb r3, [r3, #2] 804ecd4: f8c7 308c str.w r3, [r7, #140] ; 0x8c Month = RTC_DateStruct.Month; 804ecd8: 4b49 ldr r3, [pc, #292] ; (804ee00 ) 804ecda: 785b ldrb r3, [r3, #1] 804ecdc: f8c7 3088 str.w r3, [r7, #136] ; 0x88 Year = RTC_DateStruct.Year + 2000; 804ece0: 4b47 ldr r3, [pc, #284] ; (804ee00 ) 804ece2: 78db ldrb r3, [r3, #3] 804ece4: f503 63fa add.w r3, r3, #2000 ; 0x7d0 804ece8: f8c7 3084 str.w r3, [r7, #132] ; 0x84 Hour = RTC_TimeStruct.Hours; 804ecec: 4b42 ldr r3, [pc, #264] ; (804edf8 ) 804ecee: 781b ldrb r3, [r3, #0] 804ecf0: f8c7 3080 str.w r3, [r7, #128] ; 0x80 Min = RTC_TimeStruct.Minutes; 804ecf4: 4b40 ldr r3, [pc, #256] ; (804edf8 ) 804ecf6: 785b ldrb r3, [r3, #1] 804ecf8: 67fb str r3, [r7, #124] ; 0x7c Sec = RTC_TimeStruct.Seconds; 804ecfa: 4b3f ldr r3, [pc, #252] ; (804edf8 ) 804ecfc: 789b ldrb r3, [r3, #2] 804ecfe: 67bb str r3, [r7, #120] ; 0x78 memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 804ed00: 2221 movs r2, #33 ; 0x21 804ed02: 2100 movs r1, #0 804ed04: 483f ldr r0, [pc, #252] ; (804ee04 ) 804ed06: f083 f94d bl 80d1fa4 strcpy(TEMP_MeasFileName,"1_1_"); 804ed0a: 4b3e ldr r3, [pc, #248] ; (804ee04 ) 804ed0c: 4a3e ldr r2, [pc, #248] ; (804ee08 ) 804ed0e: 6810 ldr r0, [r2, #0] 804ed10: 6018 str r0, [r3, #0] 804ed12: 7912 ldrb r2, [r2, #4] 804ed14: 711a strb r2, [r3, #4] if(pardata.IPR == ACC) strcat(TEMP_MeasFileName, "A"); 804ed16: 4b3d ldr r3, [pc, #244] ; (804ee0c ) 804ed18: 785b ldrb r3, [r3, #1] 804ed1a: b2db uxtb r3, r3 804ed1c: 2b00 cmp r3, #0 804ed1e: d10c bne.n 804ed3a 804ed20: 4838 ldr r0, [pc, #224] ; (804ee04 ) 804ed22: f7d1 faf7 bl 8020314 804ed26: 4603 mov r3, r0 804ed28: 461a mov r2, r3 804ed2a: 4b36 ldr r3, [pc, #216] ; (804ee04 ) 804ed2c: 4413 add r3, r2 804ed2e: 4938 ldr r1, [pc, #224] ; (804ee10 ) 804ed30: 461a mov r2, r3 804ed32: 460b mov r3, r1 804ed34: 881b ldrh r3, [r3, #0] 804ed36: 8013 strh r3, [r2, #0] 804ed38: e022 b.n 804ed80 else if(pardata.IPR == VEL) strcat(TEMP_MeasFileName, "V"); 804ed3a: 4b34 ldr r3, [pc, #208] ; (804ee0c ) 804ed3c: 785b ldrb r3, [r3, #1] 804ed3e: b2db uxtb r3, r3 804ed40: 2b01 cmp r3, #1 804ed42: d10c bne.n 804ed5e 804ed44: 482f ldr r0, [pc, #188] ; (804ee04 ) 804ed46: f7d1 fae5 bl 8020314 804ed4a: 4603 mov r3, r0 804ed4c: 461a mov r2, r3 804ed4e: 4b2d ldr r3, [pc, #180] ; (804ee04 ) 804ed50: 4413 add r3, r2 804ed52: 4930 ldr r1, [pc, #192] ; (804ee14 ) 804ed54: 461a mov r2, r3 804ed56: 460b mov r3, r1 804ed58: 881b ldrh r3, [r3, #0] 804ed5a: 8013 strh r3, [r2, #0] 804ed5c: e010 b.n 804ed80 else if(pardata.IPR == DIS) strcat(TEMP_MeasFileName, "S"); 804ed5e: 4b2b ldr r3, [pc, #172] ; (804ee0c ) 804ed60: 785b ldrb r3, [r3, #1] 804ed62: b2db uxtb r3, r3 804ed64: 2b02 cmp r3, #2 804ed66: d10b bne.n 804ed80 804ed68: 4826 ldr r0, [pc, #152] ; (804ee04 ) 804ed6a: f7d1 fad3 bl 8020314 804ed6e: 4603 mov r3, r0 804ed70: 461a mov r2, r3 804ed72: 4b24 ldr r3, [pc, #144] ; (804ee04 ) 804ed74: 4413 add r3, r2 804ed76: 4928 ldr r1, [pc, #160] ; (804ee18 ) 804ed78: 461a mov r2, r3 804ed7a: 460b mov r3, r1 804ed7c: 881b ldrh r3, [r3, #0] 804ed7e: 8013 strh r3, [r2, #0] if(pardata.IVS[pardata.IPR] == PEAK) strcat(TEMP_MeasFileName, "_PK_"); 804ed80: 4b22 ldr r3, [pc, #136] ; (804ee0c ) 804ed82: 785b ldrb r3, [r3, #1] 804ed84: b2db uxtb r3, r3 804ed86: 461a mov r2, r3 804ed88: 4b20 ldr r3, [pc, #128] ; (804ee0c ) 804ed8a: 4413 add r3, r2 804ed8c: 789b ldrb r3, [r3, #2] 804ed8e: b2db uxtb r3, r3 804ed90: 2b00 cmp r3, #0 804ed92: d10c bne.n 804edae 804ed94: 481b ldr r0, [pc, #108] ; (804ee04 ) 804ed96: f7d1 fabd bl 8020314 804ed9a: 4603 mov r3, r0 804ed9c: 461a mov r2, r3 804ed9e: 4b19 ldr r3, [pc, #100] ; (804ee04 ) 804eda0: 4413 add r3, r2 804eda2: 4a1e ldr r2, [pc, #120] ; (804ee1c ) 804eda4: 6810 ldr r0, [r2, #0] 804eda6: 6018 str r0, [r3, #0] 804eda8: 7912 ldrb r2, [r2, #4] 804edaa: 711a strb r2, [r3, #4] 804edac: e052 b.n 804ee54 else if(pardata.IVS[pardata.IPR] == RMS) strcat(TEMP_MeasFileName, "_RMS_"); 804edae: 4b17 ldr r3, [pc, #92] ; (804ee0c ) 804edb0: 785b ldrb r3, [r3, #1] 804edb2: b2db uxtb r3, r3 804edb4: 461a mov r2, r3 804edb6: 4b15 ldr r3, [pc, #84] ; (804ee0c ) 804edb8: 4413 add r3, r2 804edba: 789b ldrb r3, [r3, #2] 804edbc: b2db uxtb r3, r3 804edbe: 2b01 cmp r3, #1 804edc0: d130 bne.n 804ee24 804edc2: 4810 ldr r0, [pc, #64] ; (804ee04 ) 804edc4: f7d1 faa6 bl 8020314 804edc8: 4603 mov r3, r0 804edca: 461a mov r2, r3 804edcc: 4b0d ldr r3, [pc, #52] ; (804ee04 ) 804edce: 4413 add r3, r2 804edd0: 4a13 ldr r2, [pc, #76] ; (804ee20 ) 804edd2: 6810 ldr r0, [r2, #0] 804edd4: 6018 str r0, [r3, #0] 804edd6: 8892 ldrh r2, [r2, #4] 804edd8: 809a strh r2, [r3, #4] 804edda: e03b b.n 804ee54 804eddc: 20020070 .word 0x20020070 804ede0: 20020fc5 .word 0x20020fc5 804ede4: 20020dcf .word 0x20020dcf 804ede8: 20020994 .word 0x20020994 804edec: 20020dd2 .word 0x20020dd2 804edf0: 20020fc7 .word 0x20020fc7 804edf4: 2002169c .word 0x2002169c 804edf8: 20025cc0 .word 0x20025cc0 804edfc: 200685f8 .word 0x200685f8 804ee00: 20025d44 .word 0x20025d44 804ee04: 20025cd8 .word 0x20025cd8 804ee08: 080d50b8 .word 0x080d50b8 804ee0c: 20023eb8 .word 0x20023eb8 804ee10: 080d508c .word 0x080d508c 804ee14: 080d5090 .word 0x080d5090 804ee18: 080d5094 .word 0x080d5094 804ee1c: 080d5098 .word 0x080d5098 804ee20: 080d50a0 .word 0x080d50a0 else if(pardata.IVS[pardata.IPR] == PEAK_TO_PEAK) strcat(TEMP_MeasFileName, "_PKPK_"); 804ee24: 4bb1 ldr r3, [pc, #708] ; (804f0ec ) 804ee26: 785b ldrb r3, [r3, #1] 804ee28: b2db uxtb r3, r3 804ee2a: 461a mov r2, r3 804ee2c: 4baf ldr r3, [pc, #700] ; (804f0ec ) 804ee2e: 4413 add r3, r2 804ee30: 789b ldrb r3, [r3, #2] 804ee32: b2db uxtb r3, r3 804ee34: 2b02 cmp r3, #2 804ee36: d10d bne.n 804ee54 804ee38: 48ad ldr r0, [pc, #692] ; (804f0f0 ) 804ee3a: f7d1 fa6b bl 8020314 804ee3e: 4603 mov r3, r0 804ee40: 461a mov r2, r3 804ee42: 4bab ldr r3, [pc, #684] ; (804f0f0 ) 804ee44: 4413 add r3, r2 804ee46: 4aab ldr r2, [pc, #684] ; (804f0f4 ) 804ee48: 6810 ldr r0, [r2, #0] 804ee4a: 6018 str r0, [r3, #0] 804ee4c: 8891 ldrh r1, [r2, #4] 804ee4e: 7992 ldrb r2, [r2, #6] 804ee50: 8099 strh r1, [r3, #4] 804ee52: 719a strb r2, [r3, #6] MeasFileNameLen = strlen(TEMP_MeasFileName); 804ee54: 48a6 ldr r0, [pc, #664] ; (804f0f0 ) 804ee56: f7d1 fa5d bl 8020314 804ee5a: 4602 mov r2, r0 804ee5c: 4ba6 ldr r3, [pc, #664] ; (804f0f8 ) 804ee5e: 601a str r2, [r3, #0] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Year / 1000) + 48); 804ee60: 4ba5 ldr r3, [pc, #660] ; (804f0f8 ) 804ee62: 681b ldr r3, [r3, #0] 804ee64: 1c5a adds r2, r3, #1 804ee66: 49a4 ldr r1, [pc, #656] ; (804f0f8 ) 804ee68: 600a str r2, [r1, #0] 804ee6a: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804ee6e: 49a3 ldr r1, [pc, #652] ; (804f0fc ) 804ee70: fba1 1202 umull r1, r2, r1, r2 804ee74: 0992 lsrs r2, r2, #6 804ee76: b2d2 uxtb r2, r2 804ee78: 3230 adds r2, #48 ; 0x30 804ee7a: b2d1 uxtb r1, r2 804ee7c: 4a9c ldr r2, [pc, #624] ; (804f0f0 ) 804ee7e: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) (((Year % 1000) / 100) + 48); 804ee80: 4b9d ldr r3, [pc, #628] ; (804f0f8 ) 804ee82: 681a ldr r2, [r3, #0] 804ee84: 1c53 adds r3, r2, #1 804ee86: 499c ldr r1, [pc, #624] ; (804f0f8 ) 804ee88: 600b str r3, [r1, #0] 804ee8a: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 804ee8e: 4b9b ldr r3, [pc, #620] ; (804f0fc ) 804ee90: fba3 0301 umull r0, r3, r3, r1 804ee94: 099b lsrs r3, r3, #6 804ee96: f44f 707a mov.w r0, #1000 ; 0x3e8 804ee9a: fb00 f303 mul.w r3, r0, r3 804ee9e: 1acb subs r3, r1, r3 804eea0: 4997 ldr r1, [pc, #604] ; (804f100 ) 804eea2: fba1 1303 umull r1, r3, r1, r3 804eea6: 095b lsrs r3, r3, #5 804eea8: b2db uxtb r3, r3 804eeaa: 3330 adds r3, #48 ; 0x30 804eeac: b2d9 uxtb r1, r3 804eeae: 4b90 ldr r3, [pc, #576] ; (804f0f0 ) 804eeb0: 5499 strb r1, [r3, r2] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) / 10) + 48); 804eeb2: 4b91 ldr r3, [pc, #580] ; (804f0f8 ) 804eeb4: 6819 ldr r1, [r3, #0] 804eeb6: 1c4b adds r3, r1, #1 804eeb8: 4a8f ldr r2, [pc, #572] ; (804f0f8 ) 804eeba: 6013 str r3, [r2, #0] 804eebc: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804eec0: 4b8e ldr r3, [pc, #568] ; (804f0fc ) 804eec2: fba3 0302 umull r0, r3, r3, r2 804eec6: 099b lsrs r3, r3, #6 804eec8: f44f 707a mov.w r0, #1000 ; 0x3e8 804eecc: fb00 f303 mul.w r3, r0, r3 804eed0: 1ad3 subs r3, r2, r3 804eed2: 4a8b ldr r2, [pc, #556] ; (804f100 ) 804eed4: fba2 0203 umull r0, r2, r2, r3 804eed8: 0952 lsrs r2, r2, #5 804eeda: 2064 movs r0, #100 ; 0x64 804eedc: fb00 f202 mul.w r2, r0, r2 804eee0: 1a9a subs r2, r3, r2 804eee2: 4b88 ldr r3, [pc, #544] ; (804f104 ) 804eee4: fba3 2302 umull r2, r3, r3, r2 804eee8: 08db lsrs r3, r3, #3 804eeea: b2db uxtb r3, r3 804eeec: 3330 adds r3, #48 ; 0x30 804eeee: b2da uxtb r2, r3 804eef0: 4b7f ldr r3, [pc, #508] ; (804f0f0 ) 804eef2: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) % 10) + 48); 804eef4: 4b80 ldr r3, [pc, #512] ; (804f0f8 ) 804eef6: 6818 ldr r0, [r3, #0] 804eef8: 1c43 adds r3, r0, #1 804eefa: 4a7f ldr r2, [pc, #508] ; (804f0f8 ) 804eefc: 6013 str r3, [r2, #0] 804eefe: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804ef02: 4b7e ldr r3, [pc, #504] ; (804f0fc ) 804ef04: fba3 1302 umull r1, r3, r3, r2 804ef08: 099b lsrs r3, r3, #6 804ef0a: f44f 717a mov.w r1, #1000 ; 0x3e8 804ef0e: fb01 f303 mul.w r3, r1, r3 804ef12: 1ad3 subs r3, r2, r3 804ef14: 4a7a ldr r2, [pc, #488] ; (804f100 ) 804ef16: fba2 1203 umull r1, r2, r2, r3 804ef1a: 0952 lsrs r2, r2, #5 804ef1c: 2164 movs r1, #100 ; 0x64 804ef1e: fb01 f202 mul.w r2, r1, r2 804ef22: 1a9a subs r2, r3, r2 804ef24: 4b77 ldr r3, [pc, #476] ; (804f104 ) 804ef26: fba3 1302 umull r1, r3, r3, r2 804ef2a: 08d9 lsrs r1, r3, #3 804ef2c: 460b mov r3, r1 804ef2e: 009b lsls r3, r3, #2 804ef30: 440b add r3, r1 804ef32: 005b lsls r3, r3, #1 804ef34: 1ad1 subs r1, r2, r3 804ef36: b2cb uxtb r3, r1 804ef38: 3330 adds r3, #48 ; 0x30 804ef3a: b2da uxtb r2, r3 804ef3c: 4b6c ldr r3, [pc, #432] ; (804f0f0 ) 804ef3e: 541a strb r2, [r3, r0] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month / 10) + 48); 804ef40: 4b6d ldr r3, [pc, #436] ; (804f0f8 ) 804ef42: 681b ldr r3, [r3, #0] 804ef44: 1c5a adds r2, r3, #1 804ef46: 496c ldr r1, [pc, #432] ; (804f0f8 ) 804ef48: 600a str r2, [r1, #0] 804ef4a: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 804ef4e: 496d ldr r1, [pc, #436] ; (804f104 ) 804ef50: fba1 1202 umull r1, r2, r1, r2 804ef54: 08d2 lsrs r2, r2, #3 804ef56: b2d2 uxtb r2, r2 804ef58: 3230 adds r2, #48 ; 0x30 804ef5a: b2d1 uxtb r1, r2 804ef5c: 4a64 ldr r2, [pc, #400] ; (804f0f0 ) 804ef5e: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month % 10) + 48); 804ef60: 4b65 ldr r3, [pc, #404] ; (804f0f8 ) 804ef62: 6819 ldr r1, [r3, #0] 804ef64: 1c4b adds r3, r1, #1 804ef66: 4a64 ldr r2, [pc, #400] ; (804f0f8 ) 804ef68: 6013 str r3, [r2, #0] 804ef6a: f8d7 0088 ldr.w r0, [r7, #136] ; 0x88 804ef6e: 4b65 ldr r3, [pc, #404] ; (804f104 ) 804ef70: fba3 2300 umull r2, r3, r3, r0 804ef74: 08da lsrs r2, r3, #3 804ef76: 4613 mov r3, r2 804ef78: 009b lsls r3, r3, #2 804ef7a: 4413 add r3, r2 804ef7c: 005b lsls r3, r3, #1 804ef7e: 1ac2 subs r2, r0, r3 804ef80: b2d3 uxtb r3, r2 804ef82: 3330 adds r3, #48 ; 0x30 804ef84: b2da uxtb r2, r3 804ef86: 4b5a ldr r3, [pc, #360] ; (804f0f0 ) 804ef88: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day / 10) + 48); 804ef8a: 4b5b ldr r3, [pc, #364] ; (804f0f8 ) 804ef8c: 681b ldr r3, [r3, #0] 804ef8e: 1c5a adds r2, r3, #1 804ef90: 4959 ldr r1, [pc, #356] ; (804f0f8 ) 804ef92: 600a str r2, [r1, #0] 804ef94: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 804ef98: 495a ldr r1, [pc, #360] ; (804f104 ) 804ef9a: fba1 1202 umull r1, r2, r1, r2 804ef9e: 08d2 lsrs r2, r2, #3 804efa0: b2d2 uxtb r2, r2 804efa2: 3230 adds r2, #48 ; 0x30 804efa4: b2d1 uxtb r1, r2 804efa6: 4a52 ldr r2, [pc, #328] ; (804f0f0 ) 804efa8: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day % 10) + 48); 804efaa: 4b53 ldr r3, [pc, #332] ; (804f0f8 ) 804efac: 6819 ldr r1, [r3, #0] 804efae: 1c4b adds r3, r1, #1 804efb0: 4a51 ldr r2, [pc, #324] ; (804f0f8 ) 804efb2: 6013 str r3, [r2, #0] 804efb4: f8d7 008c ldr.w r0, [r7, #140] ; 0x8c 804efb8: 4b52 ldr r3, [pc, #328] ; (804f104 ) 804efba: fba3 2300 umull r2, r3, r3, r0 804efbe: 08da lsrs r2, r3, #3 804efc0: 4613 mov r3, r2 804efc2: 009b lsls r3, r3, #2 804efc4: 4413 add r3, r2 804efc6: 005b lsls r3, r3, #1 804efc8: 1ac2 subs r2, r0, r3 804efca: b2d3 uxtb r3, r2 804efcc: 3330 adds r3, #48 ; 0x30 804efce: b2da uxtb r2, r3 804efd0: 4b47 ldr r3, [pc, #284] ; (804f0f0 ) 804efd2: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = '_'; 804efd4: 4b48 ldr r3, [pc, #288] ; (804f0f8 ) 804efd6: 681b ldr r3, [r3, #0] 804efd8: 1c5a adds r2, r3, #1 804efda: 4947 ldr r1, [pc, #284] ; (804f0f8 ) 804efdc: 600a str r2, [r1, #0] 804efde: 4a44 ldr r2, [pc, #272] ; (804f0f0 ) 804efe0: 215f movs r1, #95 ; 0x5f 804efe2: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour / 10) + 48); 804efe4: 4b44 ldr r3, [pc, #272] ; (804f0f8 ) 804efe6: 681b ldr r3, [r3, #0] 804efe8: 1c5a adds r2, r3, #1 804efea: 4943 ldr r1, [pc, #268] ; (804f0f8 ) 804efec: 600a str r2, [r1, #0] 804efee: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 804eff2: 4944 ldr r1, [pc, #272] ; (804f104 ) 804eff4: fba1 1202 umull r1, r2, r1, r2 804eff8: 08d2 lsrs r2, r2, #3 804effa: b2d2 uxtb r2, r2 804effc: 3230 adds r2, #48 ; 0x30 804effe: b2d1 uxtb r1, r2 804f000: 4a3b ldr r2, [pc, #236] ; (804f0f0 ) 804f002: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour % 10) + 48); 804f004: 4b3c ldr r3, [pc, #240] ; (804f0f8 ) 804f006: 6819 ldr r1, [r3, #0] 804f008: 1c4b adds r3, r1, #1 804f00a: 4a3b ldr r2, [pc, #236] ; (804f0f8 ) 804f00c: 6013 str r3, [r2, #0] 804f00e: f8d7 0080 ldr.w r0, [r7, #128] ; 0x80 804f012: 4b3c ldr r3, [pc, #240] ; (804f104 ) 804f014: fba3 2300 umull r2, r3, r3, r0 804f018: 08da lsrs r2, r3, #3 804f01a: 4613 mov r3, r2 804f01c: 009b lsls r3, r3, #2 804f01e: 4413 add r3, r2 804f020: 005b lsls r3, r3, #1 804f022: 1ac2 subs r2, r0, r3 804f024: b2d3 uxtb r3, r2 804f026: 3330 adds r3, #48 ; 0x30 804f028: b2da uxtb r2, r3 804f02a: 4b31 ldr r3, [pc, #196] ; (804f0f0 ) 804f02c: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min / 10) + 48); 804f02e: 4b32 ldr r3, [pc, #200] ; (804f0f8 ) 804f030: 681b ldr r3, [r3, #0] 804f032: 1c5a adds r2, r3, #1 804f034: 4930 ldr r1, [pc, #192] ; (804f0f8 ) 804f036: 600a str r2, [r1, #0] 804f038: 6ffa ldr r2, [r7, #124] ; 0x7c 804f03a: 4932 ldr r1, [pc, #200] ; (804f104 ) 804f03c: fba1 1202 umull r1, r2, r1, r2 804f040: 08d2 lsrs r2, r2, #3 804f042: b2d2 uxtb r2, r2 804f044: 3230 adds r2, #48 ; 0x30 804f046: b2d1 uxtb r1, r2 804f048: 4a29 ldr r2, [pc, #164] ; (804f0f0 ) 804f04a: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min % 10) + 48); 804f04c: 4b2a ldr r3, [pc, #168] ; (804f0f8 ) 804f04e: 6819 ldr r1, [r3, #0] 804f050: 1c4b adds r3, r1, #1 804f052: 4a29 ldr r2, [pc, #164] ; (804f0f8 ) 804f054: 6013 str r3, [r2, #0] 804f056: 6ff8 ldr r0, [r7, #124] ; 0x7c 804f058: 4b2a ldr r3, [pc, #168] ; (804f104 ) 804f05a: fba3 2300 umull r2, r3, r3, r0 804f05e: 08da lsrs r2, r3, #3 804f060: 4613 mov r3, r2 804f062: 009b lsls r3, r3, #2 804f064: 4413 add r3, r2 804f066: 005b lsls r3, r3, #1 804f068: 1ac2 subs r2, r0, r3 804f06a: b2d3 uxtb r3, r2 804f06c: 3330 adds r3, #48 ; 0x30 804f06e: b2da uxtb r2, r3 804f070: 4b1f ldr r3, [pc, #124] ; (804f0f0 ) 804f072: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec / 10) + 48); 804f074: 4b20 ldr r3, [pc, #128] ; (804f0f8 ) 804f076: 681b ldr r3, [r3, #0] 804f078: 1c5a adds r2, r3, #1 804f07a: 491f ldr r1, [pc, #124] ; (804f0f8 ) 804f07c: 600a str r2, [r1, #0] 804f07e: 6fba ldr r2, [r7, #120] ; 0x78 804f080: 4920 ldr r1, [pc, #128] ; (804f104 ) 804f082: fba1 1202 umull r1, r2, r1, r2 804f086: 08d2 lsrs r2, r2, #3 804f088: b2d2 uxtb r2, r2 804f08a: 3230 adds r2, #48 ; 0x30 804f08c: b2d1 uxtb r1, r2 804f08e: 4a18 ldr r2, [pc, #96] ; (804f0f0 ) 804f090: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec % 10) + 48); 804f092: 4b19 ldr r3, [pc, #100] ; (804f0f8 ) 804f094: 6819 ldr r1, [r3, #0] 804f096: 1c4b adds r3, r1, #1 804f098: 4a17 ldr r2, [pc, #92] ; (804f0f8 ) 804f09a: 6013 str r3, [r2, #0] 804f09c: 6fb8 ldr r0, [r7, #120] ; 0x78 804f09e: 4b19 ldr r3, [pc, #100] ; (804f104 ) 804f0a0: fba3 2300 umull r2, r3, r3, r0 804f0a4: 08da lsrs r2, r3, #3 804f0a6: 4613 mov r3, r2 804f0a8: 009b lsls r3, r3, #2 804f0aa: 4413 add r3, r2 804f0ac: 005b lsls r3, r3, #1 804f0ae: 1ac2 subs r2, r0, r3 804f0b0: b2d3 uxtb r3, r2 804f0b2: 3330 adds r3, #48 ; 0x30 804f0b4: b2da uxtb r2, r3 804f0b6: 4b0e ldr r3, [pc, #56] ; (804f0f0 ) 804f0b8: 545a strb r2, [r3, r1] lastmenu = menu; 804f0ba: 4b13 ldr r3, [pc, #76] ; (804f108 ) 804f0bc: 781b ldrb r3, [r3, #0] 804f0be: b2da uxtb r2, r3 804f0c0: 4b12 ldr r3, [pc, #72] ; (804f10c ) 804f0c2: 701a strb r2, [r3, #0] menu = INPUT_NAME_SPEC; 804f0c4: 4b10 ldr r3, [pc, #64] ; (804f108 ) 804f0c6: 222f movs r2, #47 ; 0x2f 804f0c8: 701a strb r2, [r3, #0] menupos = _ENTER; 804f0ca: 4b11 ldr r3, [pc, #68] ; (804f110 ) 804f0cc: 2226 movs r2, #38 ; 0x26 804f0ce: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804f0d0: e009 b.n 804f0e6 STATUS = AP_NO_CARD; 804f0d2: 4b10 ldr r3, [pc, #64] ; (804f114 ) 804f0d4: 2211 movs r2, #17 804f0d6: 601a str r2, [r3, #0] timerStatus = sec2; 804f0d8: 4b0f ldr r3, [pc, #60] ; (804f118 ) 804f0da: f44f 5280 mov.w r2, #4096 ; 0x1000 804f0de: 801a strh r2, [r3, #0] DrawStatus = true; 804f0e0: 4b0e ldr r3, [pc, #56] ; (804f11c ) 804f0e2: 2201 movs r2, #1 804f0e4: 701a strb r2, [r3, #0] break; 804f0e6: bf00 nop } break; 804f0e8: f005 baf4 b.w 80546d4 804f0ec: 20023eb8 .word 0x20023eb8 804f0f0: 20025cd8 .word 0x20025cd8 804f0f4: 080d50a8 .word 0x080d50a8 804f0f8: 20020f14 .word 0x20020f14 804f0fc: 10624dd3 .word 0x10624dd3 804f100: 51eb851f .word 0x51eb851f 804f104: cccccccd .word 0xcccccccd 804f108: 20020fc5 .word 0x20020fc5 804f10c: 20020fc6 .word 0x20020fc6 804f110: 20020070 .word 0x20020070 804f114: 20020dec .word 0x20020dec 804f118: 200216dc .word 0x200216dc 804f11c: 20020df2 .word 0x20020df2 case MAIN_SPEC_THIRD: switch(menupos) 804f120: 4b73 ldr r3, [pc, #460] ; (804f2f0 ) 804f122: 781b ldrb r3, [r3, #0] 804f124: b2db uxtb r3, r3 804f126: 2b09 cmp r3, #9 804f128: f205 82d6 bhi.w 80546d8 804f12c: a201 add r2, pc, #4 ; (adr r2, 804f134 ) 804f12e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804f132: bf00 nop 804f134: 0804f16f .word 0x0804f16f 804f138: 0804f15d .word 0x0804f15d 804f13c: 0804f1ab .word 0x0804f1ab 804f140: 0804f1ab .word 0x0804f1ab 804f144: 0804f1ab .word 0x0804f1ab 804f148: 0804f1ab .word 0x0804f1ab 804f14c: 0804f1ab .word 0x0804f1ab 804f150: 080546d9 .word 0x080546d9 804f154: 080546d9 .word 0x080546d9 804f158: 0804f1b3 .word 0x0804f1b3 { case BackMenu: StopMeas(); 804f15c: f7d4 fb1e bl 802379c menu = PARAM_SPEC; 804f160: 4b64 ldr r3, [pc, #400] ; (804f2f4 ) 804f162: 2207 movs r2, #7 804f164: 701a strb r2, [r3, #0] menupos = Ok; 804f166: 4b62 ldr r3, [pc, #392] ; (804f2f0 ) 804f168: 2200 movs r2, #0 804f16a: 701a strb r2, [r3, #0] break; 804f16c: e246 b.n 804f5fc case StartStop: if(!measuring) 804f16e: 4b62 ldr r3, [pc, #392] ; (804f2f8 ) 804f170: 781b ldrb r3, [r3, #0] 804f172: b2db uxtb r3, r3 804f174: f083 0301 eor.w r3, r3, #1 804f178: b2db uxtb r3, r3 804f17a: 2b00 cmp r3, #0 804f17c: d00a beq.n 804f194 { AUTOZOOM = true; 804f17e: 4b5f ldr r3, [pc, #380] ; (804f2fc ) 804f180: 2201 movs r2, #1 804f182: 701a strb r2, [r3, #0] FIRST = true; 804f184: 4b5e ldr r3, [pc, #376] ; (804f300 ) 804f186: 2201 movs r2, #1 804f188: 701a strb r2, [r3, #0] initAmplif(); 804f18a: f7d2 fc83 bl 8021a94 StartMeas(); 804f18e: f7d3 ff55 bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804f192: e233 b.n 804f5fc StopMeas(); 804f194: f7d4 fb02 bl 802379c AUTOZOOM = true; 804f198: 4b58 ldr r3, [pc, #352] ; (804f2fc ) 804f19a: 2201 movs r2, #1 804f19c: 701a strb r2, [r3, #0] oldmenupos = menupos; 804f19e: 4b54 ldr r3, [pc, #336] ; (804f2f0 ) 804f1a0: 781b ldrb r3, [r3, #0] 804f1a2: b2da uxtb r2, r3 804f1a4: 4b57 ldr r3, [pc, #348] ; (804f304 ) 804f1a6: 701a strb r2, [r3, #0] break; 804f1a8: e228 b.n 804f5fc case ImageLeft: case ImageRight: case ZoomIn: case ZoomOut: case Cursor: AUTOZOOM = true; 804f1aa: 4b54 ldr r3, [pc, #336] ; (804f2fc ) 804f1ac: 2201 movs r2, #1 804f1ae: 701a strb r2, [r3, #0] break; 804f1b0: e224 b.n 804f5fc case SaveSpec: if(CardState == MSD_READY) 804f1b2: 4b55 ldr r3, [pc, #340] ; (804f308 ) 804f1b4: 781b ldrb r3, [r3, #0] 804f1b6: b2db uxtb r3, r3 804f1b8: 2b03 cmp r3, #3 804f1ba: f040 8214 bne.w 804f5e6 { if(!measuring) 804f1be: 4b4e ldr r3, [pc, #312] ; (804f2f8 ) 804f1c0: 781b ldrb r3, [r3, #0] 804f1c2: b2db uxtb r3, r3 804f1c4: f083 0301 eor.w r3, r3, #1 804f1c8: b2db uxtb r3, r3 804f1ca: 2b00 cmp r3, #0 804f1cc: f000 8215 beq.w 804f5fa { HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 804f1d0: 2200 movs r2, #0 804f1d2: 494e ldr r1, [pc, #312] ; (804f30c ) 804f1d4: 484e ldr r0, [pc, #312] ; (804f310 ) 804f1d6: f06e f8fd bl 80bd3d4 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 804f1da: 2200 movs r2, #0 804f1dc: 494d ldr r1, [pc, #308] ; (804f314 ) 804f1de: 484c ldr r0, [pc, #304] ; (804f310 ) 804f1e0: f06e f9fe bl 80bd5e0 Day = RTC_DateStruct.Date; 804f1e4: 4b4b ldr r3, [pc, #300] ; (804f314 ) 804f1e6: 789b ldrb r3, [r3, #2] 804f1e8: f8c7 308c str.w r3, [r7, #140] ; 0x8c Month = RTC_DateStruct.Month; 804f1ec: 4b49 ldr r3, [pc, #292] ; (804f314 ) 804f1ee: 785b ldrb r3, [r3, #1] 804f1f0: f8c7 3088 str.w r3, [r7, #136] ; 0x88 Year = RTC_DateStruct.Year + 2000; 804f1f4: 4b47 ldr r3, [pc, #284] ; (804f314 ) 804f1f6: 78db ldrb r3, [r3, #3] 804f1f8: f503 63fa add.w r3, r3, #2000 ; 0x7d0 804f1fc: f8c7 3084 str.w r3, [r7, #132] ; 0x84 Hour = RTC_TimeStruct.Hours; 804f200: 4b42 ldr r3, [pc, #264] ; (804f30c ) 804f202: 781b ldrb r3, [r3, #0] 804f204: f8c7 3080 str.w r3, [r7, #128] ; 0x80 Min = RTC_TimeStruct.Minutes; 804f208: 4b40 ldr r3, [pc, #256] ; (804f30c ) 804f20a: 785b ldrb r3, [r3, #1] 804f20c: 67fb str r3, [r7, #124] ; 0x7c Sec = RTC_TimeStruct.Seconds; 804f20e: 4b3f ldr r3, [pc, #252] ; (804f30c ) 804f210: 789b ldrb r3, [r3, #2] 804f212: 67bb str r3, [r7, #120] ; 0x78 memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 804f214: 2221 movs r2, #33 ; 0x21 804f216: 2100 movs r1, #0 804f218: 483f ldr r0, [pc, #252] ; (804f318 ) 804f21a: f082 fec3 bl 80d1fa4 strcpy(TEMP_MeasFileName,"1_3_"); 804f21e: 4b3e ldr r3, [pc, #248] ; (804f318 ) 804f220: 4a3e ldr r2, [pc, #248] ; (804f31c ) 804f222: 6810 ldr r0, [r2, #0] 804f224: 6018 str r0, [r3, #0] 804f226: 7912 ldrb r2, [r2, #4] 804f228: 711a strb r2, [r3, #4] if(pardata.IPR == ACC) strcat(TEMP_MeasFileName, "A"); 804f22a: 4b3d ldr r3, [pc, #244] ; (804f320 ) 804f22c: 785b ldrb r3, [r3, #1] 804f22e: b2db uxtb r3, r3 804f230: 2b00 cmp r3, #0 804f232: d10c bne.n 804f24e 804f234: 4838 ldr r0, [pc, #224] ; (804f318 ) 804f236: f7d1 f86d bl 8020314 804f23a: 4603 mov r3, r0 804f23c: 461a mov r2, r3 804f23e: 4b36 ldr r3, [pc, #216] ; (804f318 ) 804f240: 4413 add r3, r2 804f242: 4938 ldr r1, [pc, #224] ; (804f324 ) 804f244: 461a mov r2, r3 804f246: 460b mov r3, r1 804f248: 881b ldrh r3, [r3, #0] 804f24a: 8013 strh r3, [r2, #0] 804f24c: e022 b.n 804f294 else if(pardata.IPR == VEL) strcat(TEMP_MeasFileName, "V"); 804f24e: 4b34 ldr r3, [pc, #208] ; (804f320 ) 804f250: 785b ldrb r3, [r3, #1] 804f252: b2db uxtb r3, r3 804f254: 2b01 cmp r3, #1 804f256: d10c bne.n 804f272 804f258: 482f ldr r0, [pc, #188] ; (804f318 ) 804f25a: f7d1 f85b bl 8020314 804f25e: 4603 mov r3, r0 804f260: 461a mov r2, r3 804f262: 4b2d ldr r3, [pc, #180] ; (804f318 ) 804f264: 4413 add r3, r2 804f266: 4930 ldr r1, [pc, #192] ; (804f328 ) 804f268: 461a mov r2, r3 804f26a: 460b mov r3, r1 804f26c: 881b ldrh r3, [r3, #0] 804f26e: 8013 strh r3, [r2, #0] 804f270: e010 b.n 804f294 else if(pardata.IPR == DIS) strcat(TEMP_MeasFileName, "S"); 804f272: 4b2b ldr r3, [pc, #172] ; (804f320 ) 804f274: 785b ldrb r3, [r3, #1] 804f276: b2db uxtb r3, r3 804f278: 2b02 cmp r3, #2 804f27a: d10b bne.n 804f294 804f27c: 4826 ldr r0, [pc, #152] ; (804f318 ) 804f27e: f7d1 f849 bl 8020314 804f282: 4603 mov r3, r0 804f284: 461a mov r2, r3 804f286: 4b24 ldr r3, [pc, #144] ; (804f318 ) 804f288: 4413 add r3, r2 804f28a: 4928 ldr r1, [pc, #160] ; (804f32c ) 804f28c: 461a mov r2, r3 804f28e: 460b mov r3, r1 804f290: 881b ldrh r3, [r3, #0] 804f292: 8013 strh r3, [r2, #0] if(pardata.IVS[pardata.IPR] == PEAK) strcat(TEMP_MeasFileName, "_PK_"); 804f294: 4b22 ldr r3, [pc, #136] ; (804f320 ) 804f296: 785b ldrb r3, [r3, #1] 804f298: b2db uxtb r3, r3 804f29a: 461a mov r2, r3 804f29c: 4b20 ldr r3, [pc, #128] ; (804f320 ) 804f29e: 4413 add r3, r2 804f2a0: 789b ldrb r3, [r3, #2] 804f2a2: b2db uxtb r3, r3 804f2a4: 2b00 cmp r3, #0 804f2a6: d10c bne.n 804f2c2 804f2a8: 481b ldr r0, [pc, #108] ; (804f318 ) 804f2aa: f7d1 f833 bl 8020314 804f2ae: 4603 mov r3, r0 804f2b0: 461a mov r2, r3 804f2b2: 4b19 ldr r3, [pc, #100] ; (804f318 ) 804f2b4: 4413 add r3, r2 804f2b6: 4a1e ldr r2, [pc, #120] ; (804f330 ) 804f2b8: 6810 ldr r0, [r2, #0] 804f2ba: 6018 str r0, [r3, #0] 804f2bc: 7912 ldrb r2, [r2, #4] 804f2be: 711a strb r2, [r3, #4] 804f2c0: e052 b.n 804f368 else if(pardata.IVS[pardata.IPR] == RMS) strcat(TEMP_MeasFileName, "_RMS_"); 804f2c2: 4b17 ldr r3, [pc, #92] ; (804f320 ) 804f2c4: 785b ldrb r3, [r3, #1] 804f2c6: b2db uxtb r3, r3 804f2c8: 461a mov r2, r3 804f2ca: 4b15 ldr r3, [pc, #84] ; (804f320 ) 804f2cc: 4413 add r3, r2 804f2ce: 789b ldrb r3, [r3, #2] 804f2d0: b2db uxtb r3, r3 804f2d2: 2b01 cmp r3, #1 804f2d4: d130 bne.n 804f338 804f2d6: 4810 ldr r0, [pc, #64] ; (804f318 ) 804f2d8: f7d1 f81c bl 8020314 804f2dc: 4603 mov r3, r0 804f2de: 461a mov r2, r3 804f2e0: 4b0d ldr r3, [pc, #52] ; (804f318 ) 804f2e2: 4413 add r3, r2 804f2e4: 4a13 ldr r2, [pc, #76] ; (804f334 ) 804f2e6: 6810 ldr r0, [r2, #0] 804f2e8: 6018 str r0, [r3, #0] 804f2ea: 8892 ldrh r2, [r2, #4] 804f2ec: 809a strh r2, [r3, #4] 804f2ee: e03b b.n 804f368 804f2f0: 20020070 .word 0x20020070 804f2f4: 20020fc5 .word 0x20020fc5 804f2f8: 20020dcf .word 0x20020dcf 804f2fc: 20020994 .word 0x20020994 804f300: 20020dd2 .word 0x20020dd2 804f304: 20020fc7 .word 0x20020fc7 804f308: 2002169c .word 0x2002169c 804f30c: 20025cc0 .word 0x20025cc0 804f310: 200685f8 .word 0x200685f8 804f314: 20025d44 .word 0x20025d44 804f318: 20025cd8 .word 0x20025cd8 804f31c: 080d50c0 .word 0x080d50c0 804f320: 20023eb8 .word 0x20023eb8 804f324: 080d508c .word 0x080d508c 804f328: 080d5090 .word 0x080d5090 804f32c: 080d5094 .word 0x080d5094 804f330: 080d5098 .word 0x080d5098 804f334: 080d50a0 .word 0x080d50a0 else if(pardata.IVS[pardata.IPR] == PEAK_TO_PEAK) strcat(TEMP_MeasFileName, "_PKPK_"); 804f338: 4bb1 ldr r3, [pc, #708] ; (804f600 ) 804f33a: 785b ldrb r3, [r3, #1] 804f33c: b2db uxtb r3, r3 804f33e: 461a mov r2, r3 804f340: 4baf ldr r3, [pc, #700] ; (804f600 ) 804f342: 4413 add r3, r2 804f344: 789b ldrb r3, [r3, #2] 804f346: b2db uxtb r3, r3 804f348: 2b02 cmp r3, #2 804f34a: d10d bne.n 804f368 804f34c: 48ad ldr r0, [pc, #692] ; (804f604 ) 804f34e: f7d0 ffe1 bl 8020314 804f352: 4603 mov r3, r0 804f354: 461a mov r2, r3 804f356: 4bab ldr r3, [pc, #684] ; (804f604 ) 804f358: 4413 add r3, r2 804f35a: 4aab ldr r2, [pc, #684] ; (804f608 ) 804f35c: 6810 ldr r0, [r2, #0] 804f35e: 6018 str r0, [r3, #0] 804f360: 8891 ldrh r1, [r2, #4] 804f362: 7992 ldrb r2, [r2, #6] 804f364: 8099 strh r1, [r3, #4] 804f366: 719a strb r2, [r3, #6] MeasFileNameLen = strlen(TEMP_MeasFileName); 804f368: 48a6 ldr r0, [pc, #664] ; (804f604 ) 804f36a: f7d0 ffd3 bl 8020314 804f36e: 4602 mov r2, r0 804f370: 4ba6 ldr r3, [pc, #664] ; (804f60c ) 804f372: 601a str r2, [r3, #0] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Year / 1000) + 48); 804f374: 4ba5 ldr r3, [pc, #660] ; (804f60c ) 804f376: 681b ldr r3, [r3, #0] 804f378: 1c5a adds r2, r3, #1 804f37a: 49a4 ldr r1, [pc, #656] ; (804f60c ) 804f37c: 600a str r2, [r1, #0] 804f37e: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804f382: 49a3 ldr r1, [pc, #652] ; (804f610 ) 804f384: fba1 1202 umull r1, r2, r1, r2 804f388: 0992 lsrs r2, r2, #6 804f38a: b2d2 uxtb r2, r2 804f38c: 3230 adds r2, #48 ; 0x30 804f38e: b2d1 uxtb r1, r2 804f390: 4a9c ldr r2, [pc, #624] ; (804f604 ) 804f392: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) (((Year % 1000) / 100) + 48); 804f394: 4b9d ldr r3, [pc, #628] ; (804f60c ) 804f396: 681a ldr r2, [r3, #0] 804f398: 1c53 adds r3, r2, #1 804f39a: 499c ldr r1, [pc, #624] ; (804f60c ) 804f39c: 600b str r3, [r1, #0] 804f39e: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 804f3a2: 4b9b ldr r3, [pc, #620] ; (804f610 ) 804f3a4: fba3 0301 umull r0, r3, r3, r1 804f3a8: 099b lsrs r3, r3, #6 804f3aa: f44f 707a mov.w r0, #1000 ; 0x3e8 804f3ae: fb00 f303 mul.w r3, r0, r3 804f3b2: 1acb subs r3, r1, r3 804f3b4: 4997 ldr r1, [pc, #604] ; (804f614 ) 804f3b6: fba1 1303 umull r1, r3, r1, r3 804f3ba: 095b lsrs r3, r3, #5 804f3bc: b2db uxtb r3, r3 804f3be: 3330 adds r3, #48 ; 0x30 804f3c0: b2d9 uxtb r1, r3 804f3c2: 4b90 ldr r3, [pc, #576] ; (804f604 ) 804f3c4: 5499 strb r1, [r3, r2] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) / 10) + 48); 804f3c6: 4b91 ldr r3, [pc, #580] ; (804f60c ) 804f3c8: 6819 ldr r1, [r3, #0] 804f3ca: 1c4b adds r3, r1, #1 804f3cc: 4a8f ldr r2, [pc, #572] ; (804f60c ) 804f3ce: 6013 str r3, [r2, #0] 804f3d0: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804f3d4: 4b8e ldr r3, [pc, #568] ; (804f610 ) 804f3d6: fba3 0302 umull r0, r3, r3, r2 804f3da: 099b lsrs r3, r3, #6 804f3dc: f44f 707a mov.w r0, #1000 ; 0x3e8 804f3e0: fb00 f303 mul.w r3, r0, r3 804f3e4: 1ad3 subs r3, r2, r3 804f3e6: 4a8b ldr r2, [pc, #556] ; (804f614 ) 804f3e8: fba2 0203 umull r0, r2, r2, r3 804f3ec: 0952 lsrs r2, r2, #5 804f3ee: 2064 movs r0, #100 ; 0x64 804f3f0: fb00 f202 mul.w r2, r0, r2 804f3f4: 1a9a subs r2, r3, r2 804f3f6: 4b88 ldr r3, [pc, #544] ; (804f618 ) 804f3f8: fba3 2302 umull r2, r3, r3, r2 804f3fc: 08db lsrs r3, r3, #3 804f3fe: b2db uxtb r3, r3 804f400: 3330 adds r3, #48 ; 0x30 804f402: b2da uxtb r2, r3 804f404: 4b7f ldr r3, [pc, #508] ; (804f604 ) 804f406: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) % 10) + 48); 804f408: 4b80 ldr r3, [pc, #512] ; (804f60c ) 804f40a: 6818 ldr r0, [r3, #0] 804f40c: 1c43 adds r3, r0, #1 804f40e: 4a7f ldr r2, [pc, #508] ; (804f60c ) 804f410: 6013 str r3, [r2, #0] 804f412: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804f416: 4b7e ldr r3, [pc, #504] ; (804f610 ) 804f418: fba3 1302 umull r1, r3, r3, r2 804f41c: 099b lsrs r3, r3, #6 804f41e: f44f 717a mov.w r1, #1000 ; 0x3e8 804f422: fb01 f303 mul.w r3, r1, r3 804f426: 1ad3 subs r3, r2, r3 804f428: 4a7a ldr r2, [pc, #488] ; (804f614 ) 804f42a: fba2 1203 umull r1, r2, r2, r3 804f42e: 0952 lsrs r2, r2, #5 804f430: 2164 movs r1, #100 ; 0x64 804f432: fb01 f202 mul.w r2, r1, r2 804f436: 1a9a subs r2, r3, r2 804f438: 4b77 ldr r3, [pc, #476] ; (804f618 ) 804f43a: fba3 1302 umull r1, r3, r3, r2 804f43e: 08d9 lsrs r1, r3, #3 804f440: 460b mov r3, r1 804f442: 009b lsls r3, r3, #2 804f444: 440b add r3, r1 804f446: 005b lsls r3, r3, #1 804f448: 1ad1 subs r1, r2, r3 804f44a: b2cb uxtb r3, r1 804f44c: 3330 adds r3, #48 ; 0x30 804f44e: b2da uxtb r2, r3 804f450: 4b6c ldr r3, [pc, #432] ; (804f604 ) 804f452: 541a strb r2, [r3, r0] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month / 10) + 48); 804f454: 4b6d ldr r3, [pc, #436] ; (804f60c ) 804f456: 681b ldr r3, [r3, #0] 804f458: 1c5a adds r2, r3, #1 804f45a: 496c ldr r1, [pc, #432] ; (804f60c ) 804f45c: 600a str r2, [r1, #0] 804f45e: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 804f462: 496d ldr r1, [pc, #436] ; (804f618 ) 804f464: fba1 1202 umull r1, r2, r1, r2 804f468: 08d2 lsrs r2, r2, #3 804f46a: b2d2 uxtb r2, r2 804f46c: 3230 adds r2, #48 ; 0x30 804f46e: b2d1 uxtb r1, r2 804f470: 4a64 ldr r2, [pc, #400] ; (804f604 ) 804f472: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month % 10) + 48); 804f474: 4b65 ldr r3, [pc, #404] ; (804f60c ) 804f476: 6819 ldr r1, [r3, #0] 804f478: 1c4b adds r3, r1, #1 804f47a: 4a64 ldr r2, [pc, #400] ; (804f60c ) 804f47c: 6013 str r3, [r2, #0] 804f47e: f8d7 0088 ldr.w r0, [r7, #136] ; 0x88 804f482: 4b65 ldr r3, [pc, #404] ; (804f618 ) 804f484: fba3 2300 umull r2, r3, r3, r0 804f488: 08da lsrs r2, r3, #3 804f48a: 4613 mov r3, r2 804f48c: 009b lsls r3, r3, #2 804f48e: 4413 add r3, r2 804f490: 005b lsls r3, r3, #1 804f492: 1ac2 subs r2, r0, r3 804f494: b2d3 uxtb r3, r2 804f496: 3330 adds r3, #48 ; 0x30 804f498: b2da uxtb r2, r3 804f49a: 4b5a ldr r3, [pc, #360] ; (804f604 ) 804f49c: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day / 10) + 48); 804f49e: 4b5b ldr r3, [pc, #364] ; (804f60c ) 804f4a0: 681b ldr r3, [r3, #0] 804f4a2: 1c5a adds r2, r3, #1 804f4a4: 4959 ldr r1, [pc, #356] ; (804f60c ) 804f4a6: 600a str r2, [r1, #0] 804f4a8: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 804f4ac: 495a ldr r1, [pc, #360] ; (804f618 ) 804f4ae: fba1 1202 umull r1, r2, r1, r2 804f4b2: 08d2 lsrs r2, r2, #3 804f4b4: b2d2 uxtb r2, r2 804f4b6: 3230 adds r2, #48 ; 0x30 804f4b8: b2d1 uxtb r1, r2 804f4ba: 4a52 ldr r2, [pc, #328] ; (804f604 ) 804f4bc: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day % 10) + 48); 804f4be: 4b53 ldr r3, [pc, #332] ; (804f60c ) 804f4c0: 6819 ldr r1, [r3, #0] 804f4c2: 1c4b adds r3, r1, #1 804f4c4: 4a51 ldr r2, [pc, #324] ; (804f60c ) 804f4c6: 6013 str r3, [r2, #0] 804f4c8: f8d7 008c ldr.w r0, [r7, #140] ; 0x8c 804f4cc: 4b52 ldr r3, [pc, #328] ; (804f618 ) 804f4ce: fba3 2300 umull r2, r3, r3, r0 804f4d2: 08da lsrs r2, r3, #3 804f4d4: 4613 mov r3, r2 804f4d6: 009b lsls r3, r3, #2 804f4d8: 4413 add r3, r2 804f4da: 005b lsls r3, r3, #1 804f4dc: 1ac2 subs r2, r0, r3 804f4de: b2d3 uxtb r3, r2 804f4e0: 3330 adds r3, #48 ; 0x30 804f4e2: b2da uxtb r2, r3 804f4e4: 4b47 ldr r3, [pc, #284] ; (804f604 ) 804f4e6: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = '_'; 804f4e8: 4b48 ldr r3, [pc, #288] ; (804f60c ) 804f4ea: 681b ldr r3, [r3, #0] 804f4ec: 1c5a adds r2, r3, #1 804f4ee: 4947 ldr r1, [pc, #284] ; (804f60c ) 804f4f0: 600a str r2, [r1, #0] 804f4f2: 4a44 ldr r2, [pc, #272] ; (804f604 ) 804f4f4: 215f movs r1, #95 ; 0x5f 804f4f6: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour / 10) + 48); 804f4f8: 4b44 ldr r3, [pc, #272] ; (804f60c ) 804f4fa: 681b ldr r3, [r3, #0] 804f4fc: 1c5a adds r2, r3, #1 804f4fe: 4943 ldr r1, [pc, #268] ; (804f60c ) 804f500: 600a str r2, [r1, #0] 804f502: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 804f506: 4944 ldr r1, [pc, #272] ; (804f618 ) 804f508: fba1 1202 umull r1, r2, r1, r2 804f50c: 08d2 lsrs r2, r2, #3 804f50e: b2d2 uxtb r2, r2 804f510: 3230 adds r2, #48 ; 0x30 804f512: b2d1 uxtb r1, r2 804f514: 4a3b ldr r2, [pc, #236] ; (804f604 ) 804f516: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour % 10) + 48); 804f518: 4b3c ldr r3, [pc, #240] ; (804f60c ) 804f51a: 6819 ldr r1, [r3, #0] 804f51c: 1c4b adds r3, r1, #1 804f51e: 4a3b ldr r2, [pc, #236] ; (804f60c ) 804f520: 6013 str r3, [r2, #0] 804f522: f8d7 0080 ldr.w r0, [r7, #128] ; 0x80 804f526: 4b3c ldr r3, [pc, #240] ; (804f618 ) 804f528: fba3 2300 umull r2, r3, r3, r0 804f52c: 08da lsrs r2, r3, #3 804f52e: 4613 mov r3, r2 804f530: 009b lsls r3, r3, #2 804f532: 4413 add r3, r2 804f534: 005b lsls r3, r3, #1 804f536: 1ac2 subs r2, r0, r3 804f538: b2d3 uxtb r3, r2 804f53a: 3330 adds r3, #48 ; 0x30 804f53c: b2da uxtb r2, r3 804f53e: 4b31 ldr r3, [pc, #196] ; (804f604 ) 804f540: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min / 10) + 48); 804f542: 4b32 ldr r3, [pc, #200] ; (804f60c ) 804f544: 681b ldr r3, [r3, #0] 804f546: 1c5a adds r2, r3, #1 804f548: 4930 ldr r1, [pc, #192] ; (804f60c ) 804f54a: 600a str r2, [r1, #0] 804f54c: 6ffa ldr r2, [r7, #124] ; 0x7c 804f54e: 4932 ldr r1, [pc, #200] ; (804f618 ) 804f550: fba1 1202 umull r1, r2, r1, r2 804f554: 08d2 lsrs r2, r2, #3 804f556: b2d2 uxtb r2, r2 804f558: 3230 adds r2, #48 ; 0x30 804f55a: b2d1 uxtb r1, r2 804f55c: 4a29 ldr r2, [pc, #164] ; (804f604 ) 804f55e: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min % 10) + 48); 804f560: 4b2a ldr r3, [pc, #168] ; (804f60c ) 804f562: 6819 ldr r1, [r3, #0] 804f564: 1c4b adds r3, r1, #1 804f566: 4a29 ldr r2, [pc, #164] ; (804f60c ) 804f568: 6013 str r3, [r2, #0] 804f56a: 6ff8 ldr r0, [r7, #124] ; 0x7c 804f56c: 4b2a ldr r3, [pc, #168] ; (804f618 ) 804f56e: fba3 2300 umull r2, r3, r3, r0 804f572: 08da lsrs r2, r3, #3 804f574: 4613 mov r3, r2 804f576: 009b lsls r3, r3, #2 804f578: 4413 add r3, r2 804f57a: 005b lsls r3, r3, #1 804f57c: 1ac2 subs r2, r0, r3 804f57e: b2d3 uxtb r3, r2 804f580: 3330 adds r3, #48 ; 0x30 804f582: b2da uxtb r2, r3 804f584: 4b1f ldr r3, [pc, #124] ; (804f604 ) 804f586: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec / 10) + 48); 804f588: 4b20 ldr r3, [pc, #128] ; (804f60c ) 804f58a: 681b ldr r3, [r3, #0] 804f58c: 1c5a adds r2, r3, #1 804f58e: 491f ldr r1, [pc, #124] ; (804f60c ) 804f590: 600a str r2, [r1, #0] 804f592: 6fba ldr r2, [r7, #120] ; 0x78 804f594: 4920 ldr r1, [pc, #128] ; (804f618 ) 804f596: fba1 1202 umull r1, r2, r1, r2 804f59a: 08d2 lsrs r2, r2, #3 804f59c: b2d2 uxtb r2, r2 804f59e: 3230 adds r2, #48 ; 0x30 804f5a0: b2d1 uxtb r1, r2 804f5a2: 4a18 ldr r2, [pc, #96] ; (804f604 ) 804f5a4: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec % 10) + 48); 804f5a6: 4b19 ldr r3, [pc, #100] ; (804f60c ) 804f5a8: 6819 ldr r1, [r3, #0] 804f5aa: 1c4b adds r3, r1, #1 804f5ac: 4a17 ldr r2, [pc, #92] ; (804f60c ) 804f5ae: 6013 str r3, [r2, #0] 804f5b0: 6fb8 ldr r0, [r7, #120] ; 0x78 804f5b2: 4b19 ldr r3, [pc, #100] ; (804f618 ) 804f5b4: fba3 2300 umull r2, r3, r3, r0 804f5b8: 08da lsrs r2, r3, #3 804f5ba: 4613 mov r3, r2 804f5bc: 009b lsls r3, r3, #2 804f5be: 4413 add r3, r2 804f5c0: 005b lsls r3, r3, #1 804f5c2: 1ac2 subs r2, r0, r3 804f5c4: b2d3 uxtb r3, r2 804f5c6: 3330 adds r3, #48 ; 0x30 804f5c8: b2da uxtb r2, r3 804f5ca: 4b0e ldr r3, [pc, #56] ; (804f604 ) 804f5cc: 545a strb r2, [r3, r1] lastmenu = menu; 804f5ce: 4b13 ldr r3, [pc, #76] ; (804f61c ) 804f5d0: 781b ldrb r3, [r3, #0] 804f5d2: b2da uxtb r2, r3 804f5d4: 4b12 ldr r3, [pc, #72] ; (804f620 ) 804f5d6: 701a strb r2, [r3, #0] menu = INPUT_NAME_SPEC; 804f5d8: 4b10 ldr r3, [pc, #64] ; (804f61c ) 804f5da: 222f movs r2, #47 ; 0x2f 804f5dc: 701a strb r2, [r3, #0] menupos = _ENTER; 804f5de: 4b11 ldr r3, [pc, #68] ; (804f624 ) 804f5e0: 2226 movs r2, #38 ; 0x26 804f5e2: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804f5e4: e009 b.n 804f5fa STATUS = AP_NO_CARD; 804f5e6: 4b10 ldr r3, [pc, #64] ; (804f628 ) 804f5e8: 2211 movs r2, #17 804f5ea: 601a str r2, [r3, #0] timerStatus = sec2; 804f5ec: 4b0f ldr r3, [pc, #60] ; (804f62c ) 804f5ee: f44f 5280 mov.w r2, #4096 ; 0x1000 804f5f2: 801a strh r2, [r3, #0] DrawStatus = true; 804f5f4: 4b0e ldr r3, [pc, #56] ; (804f630 ) 804f5f6: 2201 movs r2, #1 804f5f8: 701a strb r2, [r3, #0] break; 804f5fa: bf00 nop } break; 804f5fc: f005 b86c b.w 80546d8 804f600: 20023eb8 .word 0x20023eb8 804f604: 20025cd8 .word 0x20025cd8 804f608: 080d50a8 .word 0x080d50a8 804f60c: 20020f14 .word 0x20020f14 804f610: 10624dd3 .word 0x10624dd3 804f614: 51eb851f .word 0x51eb851f 804f618: cccccccd .word 0xcccccccd 804f61c: 20020fc5 .word 0x20020fc5 804f620: 20020fc6 .word 0x20020fc6 804f624: 20020070 .word 0x20020070 804f628: 20020dec .word 0x20020dec 804f62c: 200216dc .word 0x200216dc 804f630: 20020df2 .word 0x20020df2 case MAIN_WAVE: // KEY_OK switch(menupos) 804f634: 4baf ldr r3, [pc, #700] ; (804f8f4 ) 804f636: 781b ldrb r3, [r3, #0] 804f638: b2db uxtb r3, r3 804f63a: 2b03 cmp r3, #3 804f63c: f205 804e bhi.w 80546dc 804f640: a201 add r2, pc, #4 ; (adr r2, 804f648 ) 804f642: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804f646: bf00 nop 804f648: 0804f671 .word 0x0804f671 804f64c: 0804f659 .word 0x0804f659 804f650: 0804f98d .word 0x0804f98d 804f654: 0804f999 .word 0x0804f999 { case BackMenu: StopMeas(); 804f658: f7d4 f8a0 bl 802379c menu = PARAM_WAVE; 804f65c: 4ba6 ldr r3, [pc, #664] ; (804f8f8 ) 804f65e: 220a movs r2, #10 804f660: 701a strb r2, [r3, #0] menupos = Ok; 804f662: 4ba4 ldr r3, [pc, #656] ; (804f8f4 ) 804f664: 2200 movs r2, #0 804f666: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 804f668: 4ba4 ldr r3, [pc, #656] ; (804f8fc ) 804f66a: 2200 movs r2, #0 804f66c: 709a strb r2, [r3, #2] break; 804f66e: e224 b.n 804faba case StartStop: if(CardState == MSD_READY) 804f670: 4ba3 ldr r3, [pc, #652] ; (804f900 ) 804f672: 781b ldrb r3, [r3, #0] 804f674: b2db uxtb r3, r3 804f676: 2b03 cmp r3, #3 804f678: f040 817d bne.w 804f976 { if(Threshold == false) 804f67c: 4ba1 ldr r3, [pc, #644] ; (804f904 ) 804f67e: 781b ldrb r3, [r3, #0] 804f680: b2db uxtb r3, r3 804f682: f083 0301 eor.w r3, r3, #1 804f686: b2db uxtb r3, r3 804f688: 2b00 cmp r3, #0 804f68a: f000 80b7 beq.w 804f7fc { initAmplif(); 804f68e: f7d2 fa01 bl 8021a94 StartMeas(); 804f692: f7d3 fcd3 bl 802303c if(pardata.OPTIONS & BIT7) 804f696: 4b99 ldr r3, [pc, #612] ; (804f8fc ) 804f698: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804f69c: f003 0380 and.w r3, r3, #128 ; 0x80 804f6a0: 2b00 cmp r3, #0 804f6a2: d006 beq.n 804f6b2 { menupos = CalculatingFreq; 804f6a4: 4b93 ldr r3, [pc, #588] ; (804f8f4 ) 804f6a6: 2204 movs r2, #4 804f6a8: 701a strb r2, [r3, #0] CALC_FREQ = 1; 804f6aa: 4b97 ldr r3, [pc, #604] ; (804f908 ) 804f6ac: 2201 movs r2, #1 804f6ae: 701a strb r2, [r3, #0] { timerStatus = sec2; DrawStatus = true; STATUS = AP_NO_CARD; } break; 804f6b0: e203 b.n 804faba if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 804f6b2: 4b92 ldr r3, [pc, #584] ; (804f8fc ) 804f6b4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804f6b8: f003 0304 and.w r3, r3, #4 804f6bc: 2b00 cmp r3, #0 804f6be: f040 8099 bne.w 804f7f4 MultRec = _b24V * CorrKk[ACC] * 2; 804f6c2: 4b92 ldr r3, [pc, #584] ; (804f90c ) 804f6c4: edd3 7a00 vldr s15, [r3] 804f6c8: ed9f 7a91 vldr s14, [pc, #580] ; 804f910 804f6cc: ee67 7a87 vmul.f32 s15, s15, s14 804f6d0: ee77 7aa7 vadd.f32 s15, s15, s15 804f6d4: 4b8f ldr r3, [pc, #572] ; (804f914 ) 804f6d6: edc3 7a00 vstr s15, [r3] menupos = ReadyRec; 804f6da: 4b86 ldr r3, [pc, #536] ; (804f8f4 ) 804f6dc: 2203 movs r2, #3 804f6de: 701a strb r2, [r3, #0] Recording = false; 804f6e0: 4b8d ldr r3, [pc, #564] ; (804f918 ) 804f6e2: 2200 movs r2, #0 804f6e4: 701a strb r2, [r3, #0] RepeatKm = false; 804f6e6: 4b8d ldr r3, [pc, #564] ; (804f91c ) 804f6e8: 2200 movs r2, #0 804f6ea: 701a strb r2, [r3, #0] FirstTime = false; 804f6ec: 4b8c ldr r3, [pc, #560] ; (804f920 ) 804f6ee: 2200 movs r2, #0 804f6f0: 701a strb r2, [r3, #0] if(CardState == MSD_READY) 804f6f2: 4b83 ldr r3, [pc, #524] ; (804f900 ) 804f6f4: 781b ldrb r3, [r3, #0] 804f6f6: b2db uxtb r3, r3 804f6f8: 2b03 cmp r3, #3 804f6fa: d16d bne.n 804f7d8 WavFileNameLen = strlen(WavFileName); 804f6fc: 4889 ldr r0, [pc, #548] ; (804f924 ) 804f6fe: f7d0 fe09 bl 8020314 804f702: 4602 mov r2, r0 804f704: 4b88 ldr r3, [pc, #544] ; (804f928 ) 804f706: 601a str r2, [r3, #0] if((WavFileName[WavFileNameLen - 4] != '.') && (WavFileNameLen >= 4)) 804f708: 4b87 ldr r3, [pc, #540] ; (804f928 ) 804f70a: 681b ldr r3, [r3, #0] 804f70c: 3b04 subs r3, #4 804f70e: 4a85 ldr r2, [pc, #532] ; (804f924 ) 804f710: 5cd3 ldrb r3, [r2, r3] 804f712: 2b2e cmp r3, #46 ; 0x2e 804f714: d01a beq.n 804f74c 804f716: 4b84 ldr r3, [pc, #528] ; (804f928 ) 804f718: 681b ldr r3, [r3, #0] 804f71a: 2b03 cmp r3, #3 804f71c: d916 bls.n 804f74c WavFileName[WavFileNameLen - 3] = 'w'; 804f71e: 4b82 ldr r3, [pc, #520] ; (804f928 ) 804f720: 681b ldr r3, [r3, #0] 804f722: 3b03 subs r3, #3 804f724: 4a7f ldr r2, [pc, #508] ; (804f924 ) 804f726: 2177 movs r1, #119 ; 0x77 804f728: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 2] = 'a'; 804f72a: 4b7f ldr r3, [pc, #508] ; (804f928 ) 804f72c: 681b ldr r3, [r3, #0] 804f72e: 3b02 subs r3, #2 804f730: 4a7c ldr r2, [pc, #496] ; (804f924 ) 804f732: 2161 movs r1, #97 ; 0x61 804f734: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 1] = 'v'; 804f736: 4b7c ldr r3, [pc, #496] ; (804f928 ) 804f738: 681b ldr r3, [r3, #0] 804f73a: 3b01 subs r3, #1 804f73c: 4a79 ldr r2, [pc, #484] ; (804f924 ) 804f73e: 2176 movs r1, #118 ; 0x76 804f740: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen] = '\0'; 804f742: 4b79 ldr r3, [pc, #484] ; (804f928 ) 804f744: 681b ldr r3, [r3, #0] 804f746: 4a77 ldr r2, [pc, #476] ; (804f924 ) 804f748: 2100 movs r1, #0 804f74a: 54d1 strb r1, [r2, r3] result = CreateFileWAV(WavFileName); 804f74c: 4875 ldr r0, [pc, #468] ; (804f924 ) 804f74e: f7dc fc4b bl 802bfe8 804f752: 4603 mov r3, r0 804f754: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804f758: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f75c: 2b00 cmp r3, #0 804f75e: d105 bne.n 804f76c STATUS = AP_OK; 804f760: 4b72 ldr r3, [pc, #456] ; (804f92c ) 804f762: 2200 movs r2, #0 804f764: 601a str r2, [r3, #0] StartRecording(); 804f766: f7d3 ff89 bl 802367c break; 804f76a: e1a6 b.n 804faba Recording = false; 804f76c: 4b6a ldr r3, [pc, #424] ; (804f918 ) 804f76e: 2200 movs r2, #0 804f770: 701a strb r2, [r3, #0] StopMeas(); //// ADDED 804f772: f7d4 f813 bl 802379c menupos = StartStop; //// ADDED 804f776: 4b5f ldr r3, [pc, #380] ; (804f8f4 ) 804f778: 2200 movs r2, #0 804f77a: 701a strb r2, [r3, #0] switch(result) 804f77c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f780: 3b03 subs r3, #3 804f782: 2b06 cmp r3, #6 804f784: d81c bhi.n 804f7c0 804f786: a201 add r2, pc, #4 ; (adr r2, 804f78c ) 804f788: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804f78c: 0804f7a9 .word 0x0804f7a9 804f790: 0804f7b1 .word 0x0804f7b1 804f794: 0804f7c1 .word 0x0804f7c1 804f798: 0804f7c1 .word 0x0804f7c1 804f79c: 0804f7c1 .word 0x0804f7c1 804f7a0: 0804f7b9 .word 0x0804f7b9 804f7a4: 0804f7b1 .word 0x0804f7b1 STATUS = AP_NO_CARD; 804f7a8: 4b60 ldr r3, [pc, #384] ; (804f92c ) 804f7aa: 2211 movs r2, #17 804f7ac: 601a str r2, [r3, #0] break; 804f7ae: e00b b.n 804f7c8 STATUS = AP_INVALID_FILE; 804f7b0: 4b5e ldr r3, [pc, #376] ; (804f92c ) 804f7b2: 2202 movs r2, #2 804f7b4: 601a str r2, [r3, #0] break; 804f7b6: e007 b.n 804f7c8 STATUS = AP_FILE_EXIST; 804f7b8: 4b5c ldr r3, [pc, #368] ; (804f92c ) 804f7ba: 2206 movs r2, #6 804f7bc: 601a str r2, [r3, #0] break; 804f7be: e003 b.n 804f7c8 STATUS = AP_DISK_ERROR; 804f7c0: 4b5a ldr r3, [pc, #360] ; (804f92c ) 804f7c2: 220b movs r2, #11 804f7c4: 601a str r2, [r3, #0] break; 804f7c6: bf00 nop timerStatus = sec2; 804f7c8: 4b59 ldr r3, [pc, #356] ; (804f930 ) 804f7ca: f44f 5280 mov.w r2, #4096 ; 0x1000 804f7ce: 801a strh r2, [r3, #0] DrawStatus = true; 804f7d0: 4b58 ldr r3, [pc, #352] ; (804f934 ) 804f7d2: 2201 movs r2, #1 804f7d4: 701a strb r2, [r3, #0] break; 804f7d6: e170 b.n 804faba Recording = false; 804f7d8: 4b4f ldr r3, [pc, #316] ; (804f918 ) 804f7da: 2200 movs r2, #0 804f7dc: 701a strb r2, [r3, #0] timerStatus = sec2; 804f7de: 4b54 ldr r3, [pc, #336] ; (804f930 ) 804f7e0: f44f 5280 mov.w r2, #4096 ; 0x1000 804f7e4: 801a strh r2, [r3, #0] DrawStatus = true; 804f7e6: 4b53 ldr r3, [pc, #332] ; (804f934 ) 804f7e8: 2201 movs r2, #1 804f7ea: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 804f7ec: 4b4f ldr r3, [pc, #316] ; (804f92c ) 804f7ee: 2211 movs r2, #17 804f7f0: 601a str r2, [r3, #0] break; 804f7f2: e162 b.n 804faba menupos = GainSelecting; 804f7f4: 4b3f ldr r3, [pc, #252] ; (804f8f4 ) 804f7f6: 2202 movs r2, #2 804f7f8: 701a strb r2, [r3, #0] break; 804f7fa: e15e b.n 804faba if(measuring == false) 804f7fc: 4b4e ldr r3, [pc, #312] ; (804f938 ) 804f7fe: 781b ldrb r3, [r3, #0] 804f800: b2db uxtb r3, r3 804f802: f083 0301 eor.w r3, r3, #1 804f806: b2db uxtb r3, r3 804f808: 2b00 cmp r3, #0 804f80a: f000 80a5 beq.w 804f958 menupos = StartStop; 804f80e: 4b39 ldr r3, [pc, #228] ; (804f8f4 ) 804f810: 2200 movs r2, #0 804f812: 701a strb r2, [r3, #0] if(CardState == MSD_READY) 804f814: 4b3a ldr r3, [pc, #232] ; (804f900 ) 804f816: 781b ldrb r3, [r3, #0] 804f818: b2db uxtb r3, r3 804f81a: 2b03 cmp r3, #3 804f81c: f040 808e bne.w 804f93c WavFileNameLen = strlen(WavFileName); 804f820: 4840 ldr r0, [pc, #256] ; (804f924 ) 804f822: f7d0 fd77 bl 8020314 804f826: 4602 mov r2, r0 804f828: 4b3f ldr r3, [pc, #252] ; (804f928 ) 804f82a: 601a str r2, [r3, #0] if((WavFileName[WavFileNameLen - 4] != '.') && (WavFileNameLen >= 4)) 804f82c: 4b3e ldr r3, [pc, #248] ; (804f928 ) 804f82e: 681b ldr r3, [r3, #0] 804f830: 3b04 subs r3, #4 804f832: 4a3c ldr r2, [pc, #240] ; (804f924 ) 804f834: 5cd3 ldrb r3, [r2, r3] 804f836: 2b2e cmp r3, #46 ; 0x2e 804f838: d01a beq.n 804f870 804f83a: 4b3b ldr r3, [pc, #236] ; (804f928 ) 804f83c: 681b ldr r3, [r3, #0] 804f83e: 2b03 cmp r3, #3 804f840: d916 bls.n 804f870 WavFileName[WavFileNameLen - 3] = 'w'; 804f842: 4b39 ldr r3, [pc, #228] ; (804f928 ) 804f844: 681b ldr r3, [r3, #0] 804f846: 3b03 subs r3, #3 804f848: 4a36 ldr r2, [pc, #216] ; (804f924 ) 804f84a: 2177 movs r1, #119 ; 0x77 804f84c: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 2] = 'a'; 804f84e: 4b36 ldr r3, [pc, #216] ; (804f928 ) 804f850: 681b ldr r3, [r3, #0] 804f852: 3b02 subs r3, #2 804f854: 4a33 ldr r2, [pc, #204] ; (804f924 ) 804f856: 2161 movs r1, #97 ; 0x61 804f858: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 1] = 'v'; 804f85a: 4b33 ldr r3, [pc, #204] ; (804f928 ) 804f85c: 681b ldr r3, [r3, #0] 804f85e: 3b01 subs r3, #1 804f860: 4a30 ldr r2, [pc, #192] ; (804f924 ) 804f862: 2176 movs r1, #118 ; 0x76 804f864: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen] = '\0'; 804f866: 4b30 ldr r3, [pc, #192] ; (804f928 ) 804f868: 681b ldr r3, [r3, #0] 804f86a: 4a2e ldr r2, [pc, #184] ; (804f924 ) 804f86c: 2100 movs r1, #0 804f86e: 54d1 strb r1, [r2, r3] result = CreateFileWAV(WavFileName); 804f870: 482c ldr r0, [pc, #176] ; (804f924 ) 804f872: f7dc fbb9 bl 802bfe8 804f876: 4603 mov r3, r0 804f878: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804f87c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f880: 2b00 cmp r3, #0 804f882: d105 bne.n 804f890 STATUS = AP_OK; 804f884: 4b29 ldr r3, [pc, #164] ; (804f92c ) 804f886: 2200 movs r2, #0 804f888: 601a str r2, [r3, #0] StartMeas(); 804f88a: f7d3 fbd7 bl 802303c break; 804f88e: e114 b.n 804faba Recording = false; 804f890: 4b21 ldr r3, [pc, #132] ; (804f918 ) 804f892: 2200 movs r2, #0 804f894: 701a strb r2, [r3, #0] switch(result) 804f896: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f89a: 3b03 subs r3, #3 804f89c: 2b06 cmp r3, #6 804f89e: d81d bhi.n 804f8dc 804f8a0: a201 add r2, pc, #4 ; (adr r2, 804f8a8 ) 804f8a2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804f8a6: bf00 nop 804f8a8: 0804f8c5 .word 0x0804f8c5 804f8ac: 0804f8cd .word 0x0804f8cd 804f8b0: 0804f8dd .word 0x0804f8dd 804f8b4: 0804f8dd .word 0x0804f8dd 804f8b8: 0804f8dd .word 0x0804f8dd 804f8bc: 0804f8d5 .word 0x0804f8d5 804f8c0: 0804f8cd .word 0x0804f8cd STATUS = AP_NO_CARD; 804f8c4: 4b19 ldr r3, [pc, #100] ; (804f92c ) 804f8c6: 2211 movs r2, #17 804f8c8: 601a str r2, [r3, #0] break; 804f8ca: e00b b.n 804f8e4 STATUS = AP_INVALID_FILE; 804f8cc: 4b17 ldr r3, [pc, #92] ; (804f92c ) 804f8ce: 2202 movs r2, #2 804f8d0: 601a str r2, [r3, #0] break; 804f8d2: e007 b.n 804f8e4 STATUS = AP_FILE_EXIST; 804f8d4: 4b15 ldr r3, [pc, #84] ; (804f92c ) 804f8d6: 2206 movs r2, #6 804f8d8: 601a str r2, [r3, #0] break; 804f8da: e003 b.n 804f8e4 STATUS = AP_DISK_ERROR; 804f8dc: 4b13 ldr r3, [pc, #76] ; (804f92c ) 804f8de: 220b movs r2, #11 804f8e0: 601a str r2, [r3, #0] break; 804f8e2: bf00 nop timerStatus = sec2; 804f8e4: 4b12 ldr r3, [pc, #72] ; (804f930 ) 804f8e6: f44f 5280 mov.w r2, #4096 ; 0x1000 804f8ea: 801a strh r2, [r3, #0] DrawStatus = true; 804f8ec: 4b11 ldr r3, [pc, #68] ; (804f934 ) 804f8ee: 2201 movs r2, #1 804f8f0: 701a strb r2, [r3, #0] break; 804f8f2: e0e2 b.n 804faba 804f8f4: 20020070 .word 0x20020070 804f8f8: 20020fc5 .word 0x20020fc5 804f8fc: 20023eb8 .word 0x20023eb8 804f900: 2002169c .word 0x2002169c 804f904: 20020dd1 .word 0x20020dd1 804f908: 2002105c .word 0x2002105c 804f90c: 20020080 .word 0x20020080 804f910: 2f449ba8 .word 0x2f449ba8 804f914: 20026228 .word 0x20026228 804f918: 20020dd0 .word 0x20020dd0 804f91c: 20020dcc .word 0x20020dcc 804f920: 20020dce .word 0x20020dce 804f924: 20020e5c .word 0x20020e5c 804f928: 20020f10 .word 0x20020f10 804f92c: 20020dec .word 0x20020dec 804f930: 200216dc .word 0x200216dc 804f934: 20020df2 .word 0x20020df2 804f938: 20020dcf .word 0x20020dcf Recording = false; 804f93c: 4b95 ldr r3, [pc, #596] ; (804fb94 ) 804f93e: 2200 movs r2, #0 804f940: 701a strb r2, [r3, #0] timerStatus = sec2; 804f942: 4b95 ldr r3, [pc, #596] ; (804fb98 ) 804f944: f44f 5280 mov.w r2, #4096 ; 0x1000 804f948: 801a strh r2, [r3, #0] DrawStatus = true; 804f94a: 4b94 ldr r3, [pc, #592] ; (804fb9c ) 804f94c: 2201 movs r2, #1 804f94e: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 804f950: 4b93 ldr r3, [pc, #588] ; (804fba0 ) 804f952: 2211 movs r2, #17 804f954: 601a str r2, [r3, #0] break; 804f956: e0b0 b.n 804faba if(Recording == true) 804f958: 4b8e ldr r3, [pc, #568] ; (804fb94 ) 804f95a: 781b ldrb r3, [r3, #0] 804f95c: b2db uxtb r3, r3 804f95e: 2b00 cmp r3, #0 804f960: d006 beq.n 804f970 NeedSTOP = true; 804f962: 4b90 ldr r3, [pc, #576] ; (804fba4 ) 804f964: 2201 movs r2, #1 804f966: 701a strb r2, [r3, #0] menupos = StartStop; 804f968: 4b8f ldr r3, [pc, #572] ; (804fba8 ) 804f96a: 2200 movs r2, #0 804f96c: 701a strb r2, [r3, #0] break; 804f96e: e0a4 b.n 804faba StopMeas(); 804f970: f7d3 ff14 bl 802379c break; 804f974: e0a1 b.n 804faba timerStatus = sec2; 804f976: 4b88 ldr r3, [pc, #544] ; (804fb98 ) 804f978: f44f 5280 mov.w r2, #4096 ; 0x1000 804f97c: 801a strh r2, [r3, #0] DrawStatus = true; 804f97e: 4b87 ldr r3, [pc, #540] ; (804fb9c ) 804f980: 2201 movs r2, #1 804f982: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 804f984: 4b86 ldr r3, [pc, #536] ; (804fba0 ) 804f986: 2211 movs r2, #17 804f988: 601a str r2, [r3, #0] break; 804f98a: e096 b.n 804faba case GainSelecting: StopMeas(); 804f98c: f7d3 ff06 bl 802379c menupos = StartStop; 804f990: 4b85 ldr r3, [pc, #532] ; (804fba8 ) 804f992: 2200 movs r2, #0 804f994: 701a strb r2, [r3, #0] break; 804f996: e090 b.n 804faba case ReadyRec: if(!Recording) 804f998: 4b7e ldr r3, [pc, #504] ; (804fb94 ) 804f99a: 781b ldrb r3, [r3, #0] 804f99c: b2db uxtb r3, r3 804f99e: f083 0301 eor.w r3, r3, #1 804f9a2: b2db uxtb r3, r3 804f9a4: 2b00 cmp r3, #0 804f9a6: f000 8081 beq.w 804faac { if(CardState == MSD_READY) 804f9aa: 4b80 ldr r3, [pc, #512] ; (804fbac ) 804f9ac: 781b ldrb r3, [r3, #0] 804f9ae: b2db uxtb r3, r3 804f9b0: 2b03 cmp r3, #3 804f9b2: d16d bne.n 804fa90 { WavFileNameLen = strlen(WavFileName); 804f9b4: 487e ldr r0, [pc, #504] ; (804fbb0 ) 804f9b6: f7d0 fcad bl 8020314 804f9ba: 4602 mov r2, r0 804f9bc: 4b7d ldr r3, [pc, #500] ; (804fbb4 ) 804f9be: 601a str r2, [r3, #0] WavFileName[WavFileNameLen - 2] = 'T'; WavFileName[WavFileNameLen - 1] = 'R'; WavFileName[WavFileNameLen] = '\0'; } result = CreateFileGTR(WavFileName);*/ if((WavFileName[WavFileNameLen - 4] != '.') && (WavFileNameLen >= 4)) 804f9c0: 4b7c ldr r3, [pc, #496] ; (804fbb4 ) 804f9c2: 681b ldr r3, [r3, #0] 804f9c4: 3b04 subs r3, #4 804f9c6: 4a7a ldr r2, [pc, #488] ; (804fbb0 ) 804f9c8: 5cd3 ldrb r3, [r2, r3] 804f9ca: 2b2e cmp r3, #46 ; 0x2e 804f9cc: d01a beq.n 804fa04 804f9ce: 4b79 ldr r3, [pc, #484] ; (804fbb4 ) 804f9d0: 681b ldr r3, [r3, #0] 804f9d2: 2b03 cmp r3, #3 804f9d4: d916 bls.n 804fa04 { WavFileName[WavFileNameLen - 3] = 'w'; 804f9d6: 4b77 ldr r3, [pc, #476] ; (804fbb4 ) 804f9d8: 681b ldr r3, [r3, #0] 804f9da: 3b03 subs r3, #3 804f9dc: 4a74 ldr r2, [pc, #464] ; (804fbb0 ) 804f9de: 2177 movs r1, #119 ; 0x77 804f9e0: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 2] = 'a'; 804f9e2: 4b74 ldr r3, [pc, #464] ; (804fbb4 ) 804f9e4: 681b ldr r3, [r3, #0] 804f9e6: 3b02 subs r3, #2 804f9e8: 4a71 ldr r2, [pc, #452] ; (804fbb0 ) 804f9ea: 2161 movs r1, #97 ; 0x61 804f9ec: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 1] = 'v'; 804f9ee: 4b71 ldr r3, [pc, #452] ; (804fbb4 ) 804f9f0: 681b ldr r3, [r3, #0] 804f9f2: 3b01 subs r3, #1 804f9f4: 4a6e ldr r2, [pc, #440] ; (804fbb0 ) 804f9f6: 2176 movs r1, #118 ; 0x76 804f9f8: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen] = '\0'; 804f9fa: 4b6e ldr r3, [pc, #440] ; (804fbb4 ) 804f9fc: 681b ldr r3, [r3, #0] 804f9fe: 4a6c ldr r2, [pc, #432] ; (804fbb0 ) 804fa00: 2100 movs r1, #0 804fa02: 54d1 strb r1, [r2, r3] } result = CreateFileWAV(WavFileName); 804fa04: 486a ldr r0, [pc, #424] ; (804fbb0 ) 804fa06: f7dc faef bl 802bfe8 804fa0a: 4603 mov r3, r0 804fa0c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804fa10: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804fa14: 2b00 cmp r3, #0 804fa16: d105 bne.n 804fa24 { STATUS = AP_OK; 804fa18: 4b61 ldr r3, [pc, #388] ; (804fba0 ) 804fa1a: 2200 movs r2, #0 804fa1c: 601a str r2, [r3, #0] StartRecording(); 804fa1e: f7d3 fe2d bl 802367c else { NeedSTOP = true; menupos = StartStop; } break; 804fa22: e049 b.n 804fab8 Recording = false; 804fa24: 4b5b ldr r3, [pc, #364] ; (804fb94 ) 804fa26: 2200 movs r2, #0 804fa28: 701a strb r2, [r3, #0] StopMeas(); //// ADDED 804fa2a: f7d3 feb7 bl 802379c menupos = StartStop; //// ADDED 804fa2e: 4b5e ldr r3, [pc, #376] ; (804fba8 ) 804fa30: 2200 movs r2, #0 804fa32: 701a strb r2, [r3, #0] switch(result) 804fa34: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804fa38: 3b03 subs r3, #3 804fa3a: 2b06 cmp r3, #6 804fa3c: d81c bhi.n 804fa78 804fa3e: a201 add r2, pc, #4 ; (adr r2, 804fa44 ) 804fa40: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804fa44: 0804fa61 .word 0x0804fa61 804fa48: 0804fa69 .word 0x0804fa69 804fa4c: 0804fa79 .word 0x0804fa79 804fa50: 0804fa79 .word 0x0804fa79 804fa54: 0804fa79 .word 0x0804fa79 804fa58: 0804fa71 .word 0x0804fa71 804fa5c: 0804fa69 .word 0x0804fa69 STATUS = AP_NO_CARD; 804fa60: 4b4f ldr r3, [pc, #316] ; (804fba0 ) 804fa62: 2211 movs r2, #17 804fa64: 601a str r2, [r3, #0] break; 804fa66: e00b b.n 804fa80 STATUS = AP_INVALID_FILE; 804fa68: 4b4d ldr r3, [pc, #308] ; (804fba0 ) 804fa6a: 2202 movs r2, #2 804fa6c: 601a str r2, [r3, #0] break; 804fa6e: e007 b.n 804fa80 STATUS = AP_FILE_EXIST; 804fa70: 4b4b ldr r3, [pc, #300] ; (804fba0 ) 804fa72: 2206 movs r2, #6 804fa74: 601a str r2, [r3, #0] break; 804fa76: e003 b.n 804fa80 STATUS = AP_DISK_ERROR; 804fa78: 4b49 ldr r3, [pc, #292] ; (804fba0 ) 804fa7a: 220b movs r2, #11 804fa7c: 601a str r2, [r3, #0] break; 804fa7e: bf00 nop timerStatus = sec2; 804fa80: 4b45 ldr r3, [pc, #276] ; (804fb98 ) 804fa82: f44f 5280 mov.w r2, #4096 ; 0x1000 804fa86: 801a strh r2, [r3, #0] DrawStatus = true; 804fa88: 4b44 ldr r3, [pc, #272] ; (804fb9c ) 804fa8a: 2201 movs r2, #1 804fa8c: 701a strb r2, [r3, #0] break; 804fa8e: e013 b.n 804fab8 Recording = false; 804fa90: 4b40 ldr r3, [pc, #256] ; (804fb94 ) 804fa92: 2200 movs r2, #0 804fa94: 701a strb r2, [r3, #0] timerStatus = sec2; 804fa96: 4b40 ldr r3, [pc, #256] ; (804fb98 ) 804fa98: f44f 5280 mov.w r2, #4096 ; 0x1000 804fa9c: 801a strh r2, [r3, #0] DrawStatus = true; 804fa9e: 4b3f ldr r3, [pc, #252] ; (804fb9c ) 804faa0: 2201 movs r2, #1 804faa2: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 804faa4: 4b3e ldr r3, [pc, #248] ; (804fba0 ) 804faa6: 2211 movs r2, #17 804faa8: 601a str r2, [r3, #0] break; 804faaa: e005 b.n 804fab8 NeedSTOP = true; 804faac: 4b3d ldr r3, [pc, #244] ; (804fba4 ) 804faae: 2201 movs r2, #1 804fab0: 701a strb r2, [r3, #0] menupos = StartStop; 804fab2: 4b3d ldr r3, [pc, #244] ; (804fba8 ) 804fab4: 2200 movs r2, #0 804fab6: 701a strb r2, [r3, #0] break; 804fab8: bf00 nop } break; 804faba: f004 be0f b.w 80546dc case MAIN_SYGNAL: //TODO switch(menupos) 804fabe: 4b3a ldr r3, [pc, #232] ; (804fba8 ) 804fac0: 781b ldrb r3, [r3, #0] 804fac2: b2db uxtb r3, r3 804fac4: 2b07 cmp r3, #7 804fac6: f204 860b bhi.w 80546e0 804faca: a201 add r2, pc, #4 ; (adr r2, 804fad0 ) 804facc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804fad0: 0804fd37 .word 0x0804fd37 804fad4: 0804faf1 .word 0x0804faf1 804fad8: 0804faff .word 0x0804faff 804fadc: 0804fbc9 .word 0x0804fbc9 804fae0: 0804fc89 .word 0x0804fc89 804fae4: 0804fb53 .word 0x0804fb53 804fae8: 0804fe57 .word 0x0804fe57 804faec: 0804fd7f .word 0x0804fd7f { case BackMenu: menu = ARCHIVE_WAVE; 804faf0: 4b31 ldr r3, [pc, #196] ; (804fbb8 ) 804faf2: 2217 movs r2, #23 804faf4: 701a strb r2, [r3, #0] menupos = FilesGTR; 804faf6: 4b2c ldr r3, [pc, #176] ; (804fba8 ) 804faf8: 2202 movs r2, #2 804fafa: 701a strb r2, [r3, #0] break; 804fafc: e1bc b.n 804fe78 case ImageLeft: if((!FIRST) && (PlayingState.State != PLAYING)) 804fafe: 4b2f ldr r3, [pc, #188] ; (804fbbc ) 804fb00: 781b ldrb r3, [r3, #0] 804fb02: b2db uxtb r3, r3 804fb04: f083 0301 eor.w r3, r3, #1 804fb08: b2db uxtb r3, r3 804fb0a: 2b00 cmp r3, #0 804fb0c: f000 81a7 beq.w 804fe5e 804fb10: 4b2b ldr r3, [pc, #172] ; (804fbc0 ) 804fb12: 6adb ldr r3, [r3, #44] ; 0x2c 804fb14: 2b01 cmp r3, #1 804fb16: f000 81a2 beq.w 804fe5e { if(PlayingState.CurrentFrame > 0) 804fb1a: 4b29 ldr r3, [pc, #164] ; (804fbc0 ) 804fb1c: 681b ldr r3, [r3, #0] 804fb1e: 2b00 cmp r3, #0 804fb20: f000 819d beq.w 804fe5e { if(PlayingState.CurrentFrame == PlayingState.NumFrames) PlayingState.CurrentFrame -= 2; 804fb24: 4b26 ldr r3, [pc, #152] ; (804fbc0 ) 804fb26: 681a ldr r2, [r3, #0] 804fb28: 4b25 ldr r3, [pc, #148] ; (804fbc0 ) 804fb2a: 685b ldr r3, [r3, #4] 804fb2c: 429a cmp r2, r3 804fb2e: d105 bne.n 804fb3c 804fb30: 4b23 ldr r3, [pc, #140] ; (804fbc0 ) 804fb32: 681b ldr r3, [r3, #0] 804fb34: 3b02 subs r3, #2 804fb36: 4a22 ldr r2, [pc, #136] ; (804fbc0 ) 804fb38: 6013 str r3, [r2, #0] 804fb3a: e004 b.n 804fb46 else PlayingState.CurrentFrame--; 804fb3c: 4b20 ldr r3, [pc, #128] ; (804fbc0 ) 804fb3e: 681b ldr r3, [r3, #0] 804fb40: 3b01 subs r3, #1 804fb42: 4a1f ldr r2, [pc, #124] ; (804fbc0 ) 804fb44: 6013 str r3, [r2, #0] //RewindFileGTR(); RewindFileWAV(); 804fb46: f7d8 fa25 bl 8027f94 AUTOZOOM = true; 804fb4a: 4b1e ldr r3, [pc, #120] ; (804fbc4 ) 804fb4c: 2201 movs r2, #1 804fb4e: 701a strb r2, [r3, #0] } } break; 804fb50: e185 b.n 804fe5e case ImageRight: if((!FIRST) && (PlayingState.State != PLAYING)) 804fb52: 4b1a ldr r3, [pc, #104] ; (804fbbc ) 804fb54: 781b ldrb r3, [r3, #0] 804fb56: b2db uxtb r3, r3 804fb58: f083 0301 eor.w r3, r3, #1 804fb5c: b2db uxtb r3, r3 804fb5e: 2b00 cmp r3, #0 804fb60: f000 8180 beq.w 804fe64 804fb64: 4b16 ldr r3, [pc, #88] ; (804fbc0 ) 804fb66: 6adb ldr r3, [r3, #44] ; 0x2c 804fb68: 2b01 cmp r3, #1 804fb6a: f000 817b beq.w 804fe64 { if((PlayingState.CurrentFrame + 1) < PlayingState.NumFrames) 804fb6e: 4b14 ldr r3, [pc, #80] ; (804fbc0 ) 804fb70: 681b ldr r3, [r3, #0] 804fb72: 1c5a adds r2, r3, #1 804fb74: 4b12 ldr r3, [pc, #72] ; (804fbc0 ) 804fb76: 685b ldr r3, [r3, #4] 804fb78: 429a cmp r2, r3 804fb7a: f080 8173 bcs.w 804fe64 { PlayingState.CurrentFrame++; 804fb7e: 4b10 ldr r3, [pc, #64] ; (804fbc0 ) 804fb80: 681b ldr r3, [r3, #0] 804fb82: 3301 adds r3, #1 804fb84: 4a0e ldr r2, [pc, #56] ; (804fbc0 ) 804fb86: 6013 str r3, [r2, #0] //RewindFileGTR(); RewindFileWAV(); 804fb88: f7d8 fa04 bl 8027f94 AUTOZOOM = true; 804fb8c: 4b0d ldr r3, [pc, #52] ; (804fbc4 ) 804fb8e: 2201 movs r2, #1 804fb90: 701a strb r2, [r3, #0] } } break; 804fb92: e167 b.n 804fe64 804fb94: 20020dd0 .word 0x20020dd0 804fb98: 200216dc .word 0x200216dc 804fb9c: 20020df2 .word 0x20020df2 804fba0: 20020dec .word 0x20020dec 804fba4: 20020fca .word 0x20020fca 804fba8: 20020070 .word 0x20020070 804fbac: 2002169c .word 0x2002169c 804fbb0: 20020e5c .word 0x20020e5c 804fbb4: 20020f10 .word 0x20020f10 804fbb8: 20020fc5 .word 0x20020fc5 804fbbc: 20020dd2 .word 0x20020dd2 804fbc0: 20022928 .word 0x20022928 804fbc4: 20020994 .word 0x20020994 case ZoomIn: if(!FIRST) 804fbc8: 4bac ldr r3, [pc, #688] ; (804fe7c ) 804fbca: 781b ldrb r3, [r3, #0] 804fbcc: b2db uxtb r3, r3 804fbce: f083 0301 eor.w r3, r3, #1 804fbd2: b2db uxtb r3, r3 804fbd4: 2b00 cmp r3, #0 804fbd6: f000 8148 beq.w 804fe6a { if((ViewLevel < 4) && (PlayingState.FrameSize > 256)) 804fbda: 4ba9 ldr r3, [pc, #676] ; (804fe80 ) 804fbdc: 781b ldrb r3, [r3, #0] 804fbde: b2db uxtb r3, r3 804fbe0: 2b03 cmp r3, #3 804fbe2: f200 8142 bhi.w 804fe6a 804fbe6: 4ba7 ldr r3, [pc, #668] ; (804fe84 ) 804fbe8: 689b ldr r3, [r3, #8] 804fbea: f5b3 7f80 cmp.w r3, #256 ; 0x100 804fbee: f240 813c bls.w 804fe6a { ViewLevel++; 804fbf2: 4ba3 ldr r3, [pc, #652] ; (804fe80 ) 804fbf4: 781b ldrb r3, [r3, #0] 804fbf6: b2db uxtb r3, r3 804fbf8: 3301 adds r3, #1 804fbfa: b2da uxtb r2, r3 804fbfc: 4ba0 ldr r3, [pc, #640] ; (804fe80 ) 804fbfe: 701a strb r2, [r3, #0] PlayingState.FrameSize >>= 1; 804fc00: 4ba0 ldr r3, [pc, #640] ; (804fe84 ) 804fc02: 689b ldr r3, [r3, #8] 804fc04: 085b lsrs r3, r3, #1 804fc06: 4a9f ldr r2, [pc, #636] ; (804fe84 ) 804fc08: 6093 str r3, [r2, #8] PlayingState.NumFrames = (PlayingState.CountBytes >> 2) / PlayingState.FrameSize; 804fc0a: 4b9e ldr r3, [pc, #632] ; (804fe84 ) 804fc0c: e9d3 3404 ldrd r3, r4, [r3, #16] 804fc10: ea4f 0a93 mov.w sl, r3, lsr #2 804fc14: ea4a 7a84 orr.w sl, sl, r4, lsl #30 804fc18: ea4f 0b94 mov.w fp, r4, lsr #2 804fc1c: 4b99 ldr r3, [pc, #612] ; (804fe84 ) 804fc1e: 689b ldr r3, [r3, #8] 804fc20: f04f 0400 mov.w r4, #0 804fc24: 461a mov r2, r3 804fc26: 4623 mov r3, r4 804fc28: 4650 mov r0, sl 804fc2a: 4659 mov r1, fp 804fc2c: f7d0 fcde bl 80205ec <__aeabi_uldivmod> 804fc30: 4603 mov r3, r0 804fc32: 460c mov r4, r1 804fc34: 461a mov r2, r3 804fc36: 4b93 ldr r3, [pc, #588] ; (804fe84 ) 804fc38: 605a str r2, [r3, #4] if((PlayingState.CountBytes >> 2) % PlayingState.FrameSize) 804fc3a: 4b92 ldr r3, [pc, #584] ; (804fe84 ) 804fc3c: e9d3 3404 ldrd r3, r4, [r3, #16] 804fc40: ea4f 0893 mov.w r8, r3, lsr #2 804fc44: ea48 7884 orr.w r8, r8, r4, lsl #30 804fc48: ea4f 0994 mov.w r9, r4, lsr #2 804fc4c: 4b8d ldr r3, [pc, #564] ; (804fe84 ) 804fc4e: 689b ldr r3, [r3, #8] 804fc50: f04f 0400 mov.w r4, #0 804fc54: 461a mov r2, r3 804fc56: 4623 mov r3, r4 804fc58: 4640 mov r0, r8 804fc5a: 4649 mov r1, r9 804fc5c: f7d0 fcc6 bl 80205ec <__aeabi_uldivmod> 804fc60: 461c mov r4, r3 804fc62: 4613 mov r3, r2 804fc64: 4323 orrs r3, r4 804fc66: d004 beq.n 804fc72 PlayingState.NumFrames += 1; 804fc68: 4b86 ldr r3, [pc, #536] ; (804fe84 ) 804fc6a: 685b ldr r3, [r3, #4] 804fc6c: 3301 adds r3, #1 804fc6e: 4a85 ldr r2, [pc, #532] ; (804fe84 ) 804fc70: 6053 str r3, [r2, #4] PlayingState.CurrentFrame <<= 1; 804fc72: 4b84 ldr r3, [pc, #528] ; (804fe84 ) 804fc74: 681b ldr r3, [r3, #0] 804fc76: 005b lsls r3, r3, #1 804fc78: 4a82 ldr r2, [pc, #520] ; (804fe84 ) 804fc7a: 6013 str r3, [r2, #0] //RewindFileGTR(); RewindFileWAV(); 804fc7c: f7d8 f98a bl 8027f94 AUTOZOOM = true; 804fc80: 4b81 ldr r3, [pc, #516] ; (804fe88 ) 804fc82: 2201 movs r2, #1 804fc84: 701a strb r2, [r3, #0] } } break; 804fc86: e0f0 b.n 804fe6a case ZoomOut: if(!FIRST) 804fc88: 4b7c ldr r3, [pc, #496] ; (804fe7c ) 804fc8a: 781b ldrb r3, [r3, #0] 804fc8c: b2db uxtb r3, r3 804fc8e: f083 0301 eor.w r3, r3, #1 804fc92: b2db uxtb r3, r3 804fc94: 2b00 cmp r3, #0 804fc96: f000 80eb beq.w 804fe70 { if((ViewLevel > 0) && (PlayingState.FrameSize < 4096)) 804fc9a: 4b79 ldr r3, [pc, #484] ; (804fe80 ) 804fc9c: 781b ldrb r3, [r3, #0] 804fc9e: b2db uxtb r3, r3 804fca0: 2b00 cmp r3, #0 804fca2: f000 80e5 beq.w 804fe70 804fca6: 4b77 ldr r3, [pc, #476] ; (804fe84 ) 804fca8: 689b ldr r3, [r3, #8] 804fcaa: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 804fcae: f080 80df bcs.w 804fe70 { ViewLevel--; 804fcb2: 4b73 ldr r3, [pc, #460] ; (804fe80 ) 804fcb4: 781b ldrb r3, [r3, #0] 804fcb6: b2db uxtb r3, r3 804fcb8: 3b01 subs r3, #1 804fcba: b2da uxtb r2, r3 804fcbc: 4b70 ldr r3, [pc, #448] ; (804fe80 ) 804fcbe: 701a strb r2, [r3, #0] PlayingState.FrameSize <<= 1; 804fcc0: 4b70 ldr r3, [pc, #448] ; (804fe84 ) 804fcc2: 689b ldr r3, [r3, #8] 804fcc4: 005b lsls r3, r3, #1 804fcc6: 4a6f ldr r2, [pc, #444] ; (804fe84 ) 804fcc8: 6093 str r3, [r2, #8] PlayingState.NumFrames = (PlayingState.CountBytes >> 2) / PlayingState.FrameSize; 804fcca: 4b6e ldr r3, [pc, #440] ; (804fe84 ) 804fccc: e9d3 2304 ldrd r2, r3, [r3, #16] 804fcd0: 0890 lsrs r0, r2, #2 804fcd2: ea40 7083 orr.w r0, r0, r3, lsl #30 804fcd6: 0899 lsrs r1, r3, #2 804fcd8: 4b6a ldr r3, [pc, #424] ; (804fe84 ) 804fcda: 689b ldr r3, [r3, #8] 804fcdc: 461a mov r2, r3 804fcde: f04f 0300 mov.w r3, #0 804fce2: f7d0 fc83 bl 80205ec <__aeabi_uldivmod> 804fce6: 4602 mov r2, r0 804fce8: 460b mov r3, r1 804fcea: 4b66 ldr r3, [pc, #408] ; (804fe84 ) 804fcec: 605a str r2, [r3, #4] if((PlayingState.CountBytes >> 2) % PlayingState.FrameSize) 804fcee: 4b65 ldr r3, [pc, #404] ; (804fe84 ) 804fcf0: e9d3 2304 ldrd r2, r3, [r3, #16] 804fcf4: 0894 lsrs r4, r2, #2 804fcf6: ea44 7483 orr.w r4, r4, r3, lsl #30 804fcfa: 089d lsrs r5, r3, #2 804fcfc: 4b61 ldr r3, [pc, #388] ; (804fe84 ) 804fcfe: 689b ldr r3, [r3, #8] 804fd00: 461a mov r2, r3 804fd02: f04f 0300 mov.w r3, #0 804fd06: 4620 mov r0, r4 804fd08: 4629 mov r1, r5 804fd0a: f7d0 fc6f bl 80205ec <__aeabi_uldivmod> 804fd0e: 461c mov r4, r3 804fd10: 4613 mov r3, r2 804fd12: 4323 orrs r3, r4 804fd14: d004 beq.n 804fd20 PlayingState.NumFrames += 1; 804fd16: 4b5b ldr r3, [pc, #364] ; (804fe84 ) 804fd18: 685b ldr r3, [r3, #4] 804fd1a: 3301 adds r3, #1 804fd1c: 4a59 ldr r2, [pc, #356] ; (804fe84 ) 804fd1e: 6053 str r3, [r2, #4] PlayingState.CurrentFrame >>= 1; 804fd20: 4b58 ldr r3, [pc, #352] ; (804fe84 ) 804fd22: 681b ldr r3, [r3, #0] 804fd24: 085b lsrs r3, r3, #1 804fd26: 4a57 ldr r2, [pc, #348] ; (804fe84 ) 804fd28: 6013 str r3, [r2, #0] //RewindFileGTR(); RewindFileWAV(); 804fd2a: f7d8 f933 bl 8027f94 AUTOZOOM = true; 804fd2e: 4b56 ldr r3, [pc, #344] ; (804fe88 ) 804fd30: 2201 movs r2, #1 804fd32: 701a strb r2, [r3, #0] } } break; 804fd34: e09c b.n 804fe70 case StartStop: if(PlayingState.State == STOPPED) 804fd36: 4b53 ldr r3, [pc, #332] ; (804fe84 ) 804fd38: 6adb ldr r3, [r3, #44] ; 0x2c 804fd3a: 2b00 cmp r3, #0 804fd3c: d10f bne.n 804fd5e { PlayingState.CurrentFrame = 0; 804fd3e: 4b51 ldr r3, [pc, #324] ; (804fe84 ) 804fd40: 2200 movs r2, #0 804fd42: 601a str r2, [r3, #0] if(FR_OK == RewindFileWAV()) 804fd44: f7d8 f926 bl 8027f94 804fd48: 4603 mov r3, r0 804fd4a: 2b00 cmp r3, #0 804fd4c: f040 8093 bne.w 804fe76 { PlayingState.State = PLAYING; 804fd50: 4b4c ldr r3, [pc, #304] ; (804fe84 ) 804fd52: 2201 movs r2, #1 804fd54: 62da str r2, [r3, #44] ; 0x2c FIRST = false; 804fd56: 4b49 ldr r3, [pc, #292] ; (804fe7c ) 804fd58: 2200 movs r2, #0 804fd5a: 701a strb r2, [r3, #0] if(PlayingState.State == PLAYING) PlayingState.State = PAUSED; else if(PlayingState.State == PAUSED) PlayingState.State = PLAYING; break; 804fd5c: e08b b.n 804fe76 if(PlayingState.State == PLAYING) 804fd5e: 4b49 ldr r3, [pc, #292] ; (804fe84 ) 804fd60: 6adb ldr r3, [r3, #44] ; 0x2c 804fd62: 2b01 cmp r3, #1 804fd64: d103 bne.n 804fd6e PlayingState.State = PAUSED; 804fd66: 4b47 ldr r3, [pc, #284] ; (804fe84 ) 804fd68: 2202 movs r2, #2 804fd6a: 62da str r2, [r3, #44] ; 0x2c break; 804fd6c: e083 b.n 804fe76 if(PlayingState.State == PAUSED) 804fd6e: 4b45 ldr r3, [pc, #276] ; (804fe84 ) 804fd70: 6adb ldr r3, [r3, #44] ; 0x2c 804fd72: 2b02 cmp r3, #2 804fd74: d17f bne.n 804fe76 PlayingState.State = PLAYING; 804fd76: 4b43 ldr r3, [pc, #268] ; (804fe84 ) 804fd78: 2201 movs r2, #1 804fd7a: 62da str r2, [r3, #44] ; 0x2c break; 804fd7c: e07b b.n 804fe76 case Stop: if((PlayingState.State == PLAYING) || (PlayingState.State == PAUSED)) { 804fd7e: 4b41 ldr r3, [pc, #260] ; (804fe84 ) 804fd80: 6adb ldr r3, [r3, #44] ; 0x2c 804fd82: 2b01 cmp r3, #1 804fd84: d003 beq.n 804fd8e 804fd86: 4b3f ldr r3, [pc, #252] ; (804fe84 ) 804fd88: 6adb ldr r3, [r3, #44] ; 0x2c 804fd8a: 2b02 cmp r3, #2 804fd8c: d102 bne.n 804fd94 PlayingState.State = STOPPED; 804fd8e: 4b3d ldr r3, [pc, #244] ; (804fe84 ) 804fd90: 2200 movs r2, #0 804fd92: 62da str r2, [r3, #44] ; 0x2c } memset(FileName, 0, sizeof(FileName)); 804fd94: 2228 movs r2, #40 ; 0x28 804fd96: 2100 movs r1, #0 804fd98: 483c ldr r0, [pc, #240] ; (804fe8c ) 804fd9a: f082 f903 bl 80d1fa4 strcpy(FileName, (char *) ExplorerFiles[CursorIndex].fname); 804fd9e: 4b3c ldr r3, [pc, #240] ; (804fe90 ) 804fda0: 681a ldr r2, [r3, #0] 804fda2: 4613 mov r3, r2 804fda4: 00db lsls r3, r3, #3 804fda6: 1a9b subs r3, r3, r2 804fda8: 00db lsls r3, r3, #3 804fdaa: 3308 adds r3, #8 804fdac: 4a39 ldr r2, [pc, #228] ; (804fe94 ) 804fdae: 4413 add r3, r2 804fdb0: 3304 adds r3, #4 804fdb2: 4619 mov r1, r3 804fdb4: 4835 ldr r0, [pc, #212] ; (804fe8c ) 804fdb6: f082 fa12 bl 80d21de //result = OpenFileGTR(FileName); result = OpenFileINFO(FileName); 804fdba: 4834 ldr r0, [pc, #208] ; (804fe8c ) 804fdbc: f7d6 ff00 bl 8026bc0 804fdc0: 4603 mov r3, r0 804fdc2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804fdc6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804fdca: 2b00 cmp r3, #0 804fdcc: d129 bne.n 804fe22 { //SeekFileGTR(); result = OpenFileWAV(FileName); 804fdce: 482f ldr r0, [pc, #188] ; (804fe8c ) 804fdd0: f7d7 fa18 bl 8027204 804fdd4: 4603 mov r3, r0 804fdd6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804fdda: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804fdde: 2b00 cmp r3, #0 804fde0: d114 bne.n 804fe0c { SeekFileWAV(); 804fde2: f7d8 f991 bl 8028108 ViewLevel = 0; 804fde6: 4b26 ldr r3, [pc, #152] ; (804fe80 ) 804fde8: 2200 movs r2, #0 804fdea: 701a strb r2, [r3, #0] AUTOZOOM = true; 804fdec: 4b26 ldr r3, [pc, #152] ; (804fe88 ) 804fdee: 2201 movs r2, #1 804fdf0: 701a strb r2, [r3, #0] menu = MAIN_SYGNAL; 804fdf2: 4b29 ldr r3, [pc, #164] ; (804fe98 ) 804fdf4: 2220 movs r2, #32 804fdf6: 701a strb r2, [r3, #0] menupos = StartStop; 804fdf8: 4b28 ldr r3, [pc, #160] ; (804fe9c ) 804fdfa: 2200 movs r2, #0 804fdfc: 701a strb r2, [r3, #0] HISTORY = true; 804fdfe: 4b28 ldr r3, [pc, #160] ; (804fea0 ) 804fe00: 2201 movs r2, #1 804fe02: 701a strb r2, [r3, #0] FIRST = false; 804fe04: 4b1d ldr r3, [pc, #116] ; (804fe7c ) 804fe06: 2200 movs r2, #0 804fe08: 701a strb r2, [r3, #0] { STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } break; 804fe0a: e035 b.n 804fe78 STATUS = AP_DISK_ERROR; 804fe0c: 4b25 ldr r3, [pc, #148] ; (804fea4 ) 804fe0e: 220b movs r2, #11 804fe10: 601a str r2, [r3, #0] timerStatus = sec2; 804fe12: 4b25 ldr r3, [pc, #148] ; (804fea8 ) 804fe14: f44f 5280 mov.w r2, #4096 ; 0x1000 804fe18: 801a strh r2, [r3, #0] DrawStatus = true; 804fe1a: 4b24 ldr r3, [pc, #144] ; (804feac ) 804fe1c: 2201 movs r2, #1 804fe1e: 701a strb r2, [r3, #0] break; 804fe20: e02a b.n 804fe78 if(result == FR_NOT_READY) 804fe22: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804fe26: 2b03 cmp r3, #3 804fe28: d10a bne.n 804fe40 STATUS = AP_NO_CARD; 804fe2a: 4b1e ldr r3, [pc, #120] ; (804fea4 ) 804fe2c: 2211 movs r2, #17 804fe2e: 601a str r2, [r3, #0] timerStatus = sec2; 804fe30: 4b1d ldr r3, [pc, #116] ; (804fea8 ) 804fe32: f44f 5280 mov.w r2, #4096 ; 0x1000 804fe36: 801a strh r2, [r3, #0] DrawStatus = true; 804fe38: 4b1c ldr r3, [pc, #112] ; (804feac ) 804fe3a: 2201 movs r2, #1 804fe3c: 701a strb r2, [r3, #0] break; 804fe3e: e01b b.n 804fe78 STATUS = AP_INVALID_FILE; 804fe40: 4b18 ldr r3, [pc, #96] ; (804fea4 ) 804fe42: 2202 movs r2, #2 804fe44: 601a str r2, [r3, #0] timerStatus = sec2; 804fe46: 4b18 ldr r3, [pc, #96] ; (804fea8 ) 804fe48: f44f 5280 mov.w r2, #4096 ; 0x1000 804fe4c: 801a strh r2, [r3, #0] DrawStatus = true; 804fe4e: 4b17 ldr r3, [pc, #92] ; (804feac ) 804fe50: 2201 movs r2, #1 804fe52: 701a strb r2, [r3, #0] break; 804fe54: e010 b.n 804fe78 case Cursor: AUTOZOOM = true; 804fe56: 4b0c ldr r3, [pc, #48] ; (804fe88 ) 804fe58: 2201 movs r2, #1 804fe5a: 701a strb r2, [r3, #0] DynamicCursor[1].Mpos = Mpos; DynamicCursor[1].fineMpos = Mpos; DynamicCursor[1].Enabled = true; } }*/ break; 804fe5c: e00c b.n 804fe78 break; 804fe5e: bf00 nop 804fe60: f004 bc3e b.w 80546e0 break; 804fe64: bf00 nop 804fe66: f004 bc3b b.w 80546e0 break; 804fe6a: bf00 nop 804fe6c: f004 bc38 b.w 80546e0 break; 804fe70: bf00 nop 804fe72: f004 bc35 b.w 80546e0 break; 804fe76: bf00 nop } break; 804fe78: f004 bc32 b.w 80546e0 804fe7c: 20020dd2 .word 0x20020dd2 804fe80: 20020fc0 .word 0x20020fc0 804fe84: 20022928 .word 0x20022928 804fe88: 20020994 .word 0x20020994 804fe8c: 20022c10 .word 0x20022c10 804fe90: 20020e00 .word 0x20020e00 804fe94: 200223a0 .word 0x200223a0 804fe98: 20020fc5 .word 0x20020fc5 804fe9c: 20020070 .word 0x20020070 804fea0: 20020fc2 .word 0x20020fc2 804fea4: 20020dec .word 0x20020dec 804fea8: 200216dc .word 0x200216dc 804feac: 20020df2 .word 0x20020df2 case EXPLORER: //TODO if(menupos == FilesPTM) 804feb0: 4bba ldr r3, [pc, #744] ; (805019c ) 804feb2: 781b ldrb r3, [r3, #0] 804feb4: b2db uxtb r3, r3 804feb6: 2b02 cmp r3, #2 804feb8: d12e bne.n 804ff18 { if(strcmp(MeasFileName, (char *) ExplorerFiles[CursorIndex].fname) != 0) 804feba: 4bb9 ldr r3, [pc, #740] ; (80501a0 ) 804febc: 681a ldr r2, [r3, #0] 804febe: 4613 mov r3, r2 804fec0: 00db lsls r3, r3, #3 804fec2: 1a9b subs r3, r3, r2 804fec4: 00db lsls r3, r3, #3 804fec6: 3308 adds r3, #8 804fec8: 4ab6 ldr r2, [pc, #728] ; (80501a4 ) 804feca: 4413 add r3, r2 804fecc: 3304 adds r3, #4 804fece: 4619 mov r1, r3 804fed0: 48b5 ldr r0, [pc, #724] ; (80501a8 ) 804fed2: f7d0 fa15 bl 8020300 804fed6: 4603 mov r3, r0 804fed8: 2b00 cmp r3, #0 804feda: d002 beq.n 804fee2 DrawSavedData = false; 804fedc: 4bb3 ldr r3, [pc, #716] ; (80501ac ) 804fede: 2200 movs r2, #0 804fee0: 701a strb r2, [r3, #0] memset(MeasFileName, 0, sizeof(MeasFileName)); 804fee2: 2221 movs r2, #33 ; 0x21 804fee4: 2100 movs r1, #0 804fee6: 48b0 ldr r0, [pc, #704] ; (80501a8 ) 804fee8: f082 f85c bl 80d1fa4 strcpy(MeasFileName, (char *) ExplorerFiles[CursorIndex].fname); 804feec: 4bac ldr r3, [pc, #688] ; (80501a0 ) 804feee: 681a ldr r2, [r3, #0] 804fef0: 4613 mov r3, r2 804fef2: 00db lsls r3, r3, #3 804fef4: 1a9b subs r3, r3, r2 804fef6: 00db lsls r3, r3, #3 804fef8: 3308 adds r3, #8 804fefa: 4aaa ldr r2, [pc, #680] ; (80501a4 ) 804fefc: 4413 add r3, r2 804fefe: 3304 adds r3, #4 804ff00: 4619 mov r1, r3 804ff02: 48a9 ldr r0, [pc, #676] ; (80501a8 ) 804ff04: f082 f96b bl 80d21de menu = PARAM_VIB; 804ff08: 4ba9 ldr r3, [pc, #676] ; (80501b0 ) 804ff0a: 2206 movs r2, #6 804ff0c: 701a strb r2, [r3, #0] menupos = SaveToFile; 804ff0e: 4ba3 ldr r3, [pc, #652] ; (805019c ) 804ff10: 220a movs r2, #10 804ff12: 701a strb r2, [r3, #0] MeasFileName[0] = '\0'; } else MeasFileName[0] = '\0'; } break; 804ff14: f004 bbe6 b.w 80546e4 if(menupos == UpNo) 804ff18: 4ba0 ldr r3, [pc, #640] ; (805019c ) 804ff1a: 781b ldrb r3, [r3, #0] 804ff1c: b2db uxtb r3, r3 804ff1e: 2b06 cmp r3, #6 804ff20: d104 bne.n 804ff2c menupos = FilesPTM; 804ff22: 4b9e ldr r3, [pc, #632] ; (805019c ) 804ff24: 2202 movs r2, #2 804ff26: 701a strb r2, [r3, #0] break; 804ff28: f004 bbdc b.w 80546e4 if(menupos == UpYes) 804ff2c: 4b9b ldr r3, [pc, #620] ; (805019c ) 804ff2e: 781b ldrb r3, [r3, #0] 804ff30: b2db uxtb r3, r3 804ff32: 2b07 cmp r3, #7 804ff34: d125 bne.n 804ff82 STATUS = AP_OK; 804ff36: 4b9f ldr r3, [pc, #636] ; (80501b4 ) 804ff38: 2200 movs r2, #0 804ff3a: 601a str r2, [r3, #0] CleanStatus = AP_OK; 804ff3c: 4b9e ldr r3, [pc, #632] ; (80501b8 ) 804ff3e: 2200 movs r2, #0 804ff40: 701a strb r2, [r3, #0] result = DeleteFilePTM((char *) ExplorerFiles[CursorIndex].fname); 804ff42: 4b97 ldr r3, [pc, #604] ; (80501a0 ) 804ff44: 681a ldr r2, [r3, #0] 804ff46: 4613 mov r3, r2 804ff48: 00db lsls r3, r3, #3 804ff4a: 1a9b subs r3, r3, r2 804ff4c: 00db lsls r3, r3, #3 804ff4e: 3308 adds r3, #8 804ff50: 4a94 ldr r2, [pc, #592] ; (80501a4 ) 804ff52: 4413 add r3, r2 804ff54: 3304 adds r3, #4 804ff56: 4618 mov r0, r3 804ff58: f7d9 ff78 bl 8029e4c 804ff5c: 4603 mov r3, r0 804ff5e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804ff62: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804ff66: 2b00 cmp r3, #0 804ff68: d103 bne.n 804ff72 CleanStatus = AP_OK; 804ff6a: 4b93 ldr r3, [pc, #588] ; (80501b8 ) 804ff6c: 2200 movs r2, #0 804ff6e: 701a strb r2, [r3, #0] 804ff70: e002 b.n 804ff78 else CleanStatus = AP_FAIL; 804ff72: 4b91 ldr r3, [pc, #580] ; (80501b8 ) 804ff74: 2201 movs r2, #1 804ff76: 701a strb r2, [r3, #0] menupos = CleanUpResult; 804ff78: 4b88 ldr r3, [pc, #544] ; (805019c ) 804ff7a: 220a movs r2, #10 804ff7c: 701a strb r2, [r3, #0] break; 804ff7e: f004 bbb1 b.w 80546e4 if(menupos == CleanUpResult) 804ff82: 4b86 ldr r3, [pc, #536] ; (805019c ) 804ff84: 781b ldrb r3, [r3, #0] 804ff86: b2db uxtb r3, r3 804ff88: 2b0a cmp r3, #10 804ff8a: f044 83ab bne.w 80546e4 result = FR_NOT_READY; 804ff8e: 2303 movs r3, #3 804ff90: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 804ff94: 4b89 ldr r3, [pc, #548] ; (80501bc ) 804ff96: 781b ldrb r3, [r3, #0] 804ff98: b2db uxtb r3, r3 804ff9a: 2b03 cmp r3, #3 804ff9c: d13e bne.n 805001c CursorIndex = 0; 804ff9e: 4b80 ldr r3, [pc, #512] ; (80501a0 ) 804ffa0: 2200 movs r2, #0 804ffa2: 601a str r2, [r3, #0] FirstFileIndex = 0; 804ffa4: 4b86 ldr r3, [pc, #536] ; (80501c0 ) 804ffa6: 2200 movs r2, #0 804ffa8: 601a str r2, [r3, #0] RealFileIndex = 0; 804ffaa: 4b86 ldr r3, [pc, #536] ; (80501c4 ) 804ffac: 2200 movs r2, #0 804ffae: 601a str r2, [r3, #0] result = ReadNumFilesPTM((uint32_t *) &NumFilesPTM); 804ffb0: 4885 ldr r0, [pc, #532] ; (80501c8 ) 804ffb2: f7d9 fd17 bl 80299e4 804ffb6: 4603 mov r3, r0 804ffb8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804ffbc: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804ffc0: 2b00 cmp r3, #0 804ffc2: d126 bne.n 8050012 result = ReadMyFilesPTM(FirstFileIndex); 804ffc4: 4b7e ldr r3, [pc, #504] ; (80501c0 ) 804ffc6: 681b ldr r3, [r3, #0] 804ffc8: 4618 mov r0, r3 804ffca: f7d9 fded bl 8029ba8 804ffce: 4603 mov r3, r0 804ffd0: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804ffd4: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804ffd8: 2b00 cmp r3, #0 804ffda: d115 bne.n 8050008 menu = EXPLORER; 804ffdc: 4b74 ldr r3, [pc, #464] ; (80501b0 ) 804ffde: 2229 movs r2, #41 ; 0x29 804ffe0: 701a strb r2, [r3, #0] lastmenupos = menupos; 804ffe2: 4b6e ldr r3, [pc, #440] ; (805019c ) 804ffe4: 781b ldrb r3, [r3, #0] 804ffe6: b2da uxtb r2, r3 804ffe8: 4b78 ldr r3, [pc, #480] ; (80501cc ) 804ffea: 701a strb r2, [r3, #0] if(NumFilesPTM) 804ffec: 4b76 ldr r3, [pc, #472] ; (80501c8 ) 804ffee: 681b ldr r3, [r3, #0] 804fff0: 2b00 cmp r3, #0 804fff2: d004 beq.n 804fffe menupos = FilesPTM; 804fff4: 4b69 ldr r3, [pc, #420] ; (805019c ) 804fff6: 2202 movs r2, #2 804fff8: 701a strb r2, [r3, #0] break; 804fffa: f004 bb73 b.w 80546e4 else menupos = NoFilesPTM; 804fffe: 4b67 ldr r3, [pc, #412] ; (805019c ) 8050000: 2201 movs r2, #1 8050002: 701a strb r2, [r3, #0] break; 8050004: f004 bb6e b.w 80546e4 MeasFileName[0] = '\0'; 8050008: 4b67 ldr r3, [pc, #412] ; (80501a8 ) 805000a: 2200 movs r2, #0 805000c: 701a strb r2, [r3, #0] break; 805000e: f004 bb69 b.w 80546e4 MeasFileName[0] = '\0'; 8050012: 4b65 ldr r3, [pc, #404] ; (80501a8 ) 8050014: 2200 movs r2, #0 8050016: 701a strb r2, [r3, #0] break; 8050018: f004 bb64 b.w 80546e4 MeasFileName[0] = '\0'; 805001c: 4b62 ldr r3, [pc, #392] ; (80501a8 ) 805001e: 2200 movs r2, #0 8050020: 701a strb r2, [r3, #0] break; 8050022: f004 bb5f b.w 80546e4 case EXPLORER_DIAGN: //TODO if(menupos == FilesDGN) 8050026: 4b5d ldr r3, [pc, #372] ; (805019c ) 8050028: 781b ldrb r3, [r3, #0] 805002a: b2db uxtb r3, r3 805002c: 2b02 cmp r3, #2 805002e: d12e bne.n 805008e { if(strcmp(DiagFileName, (char *) ExplorerFiles[CursorIndex].fname) != 0) 8050030: 4b5b ldr r3, [pc, #364] ; (80501a0 ) 8050032: 681a ldr r2, [r3, #0] 8050034: 4613 mov r3, r2 8050036: 00db lsls r3, r3, #3 8050038: 1a9b subs r3, r3, r2 805003a: 00db lsls r3, r3, #3 805003c: 3308 adds r3, #8 805003e: 4a59 ldr r2, [pc, #356] ; (80501a4 ) 8050040: 4413 add r3, r2 8050042: 3304 adds r3, #4 8050044: 4619 mov r1, r3 8050046: 4862 ldr r0, [pc, #392] ; (80501d0 ) 8050048: f7d0 f95a bl 8020300 805004c: 4603 mov r3, r0 805004e: 2b00 cmp r3, #0 8050050: d002 beq.n 8050058 DrawSavedData = false; 8050052: 4b56 ldr r3, [pc, #344] ; (80501ac ) 8050054: 2200 movs r2, #0 8050056: 701a strb r2, [r3, #0] memset(DiagFileName, 0, sizeof(DiagFileName)); 8050058: 2221 movs r2, #33 ; 0x21 805005a: 2100 movs r1, #0 805005c: 485c ldr r0, [pc, #368] ; (80501d0 ) 805005e: f081 ffa1 bl 80d1fa4 strcpy(DiagFileName, (char *) ExplorerFiles[CursorIndex].fname); 8050062: 4b4f ldr r3, [pc, #316] ; (80501a0 ) 8050064: 681a ldr r2, [r3, #0] 8050066: 4613 mov r3, r2 8050068: 00db lsls r3, r3, #3 805006a: 1a9b subs r3, r3, r2 805006c: 00db lsls r3, r3, #3 805006e: 3308 adds r3, #8 8050070: 4a4c ldr r2, [pc, #304] ; (80501a4 ) 8050072: 4413 add r3, r2 8050074: 3304 adds r3, #4 8050076: 4619 mov r1, r3 8050078: 4855 ldr r0, [pc, #340] ; (80501d0 ) 805007a: f082 f8b0 bl 80d21de menu = PARAM_DIAGN; 805007e: 4b4c ldr r3, [pc, #304] ; (80501b0 ) 8050080: 220f movs r2, #15 8050082: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 8050084: 4b45 ldr r3, [pc, #276] ; (805019c ) 8050086: 2204 movs r2, #4 8050088: 701a strb r2, [r3, #0] DiagFileName[0] = '\0'; } else DiagFileName[0] = '\0'; } break; 805008a: f004 bb2d b.w 80546e8 if(menupos == UpNo) 805008e: 4b43 ldr r3, [pc, #268] ; (805019c ) 8050090: 781b ldrb r3, [r3, #0] 8050092: b2db uxtb r3, r3 8050094: 2b06 cmp r3, #6 8050096: d104 bne.n 80500a2 menupos = FilesDGN; 8050098: 4b40 ldr r3, [pc, #256] ; (805019c ) 805009a: 2202 movs r2, #2 805009c: 701a strb r2, [r3, #0] break; 805009e: f004 bb23 b.w 80546e8 if(menupos == UpYes) 80500a2: 4b3e ldr r3, [pc, #248] ; (805019c ) 80500a4: 781b ldrb r3, [r3, #0] 80500a6: b2db uxtb r3, r3 80500a8: 2b07 cmp r3, #7 80500aa: d125 bne.n 80500f8 STATUS = AP_OK; 80500ac: 4b41 ldr r3, [pc, #260] ; (80501b4 ) 80500ae: 2200 movs r2, #0 80500b0: 601a str r2, [r3, #0] CleanStatus = AP_OK; 80500b2: 4b41 ldr r3, [pc, #260] ; (80501b8 ) 80500b4: 2200 movs r2, #0 80500b6: 701a strb r2, [r3, #0] result = DeleteFileDGN((char *) ExplorerFiles[CursorIndex].fname); 80500b8: 4b39 ldr r3, [pc, #228] ; (80501a0 ) 80500ba: 681a ldr r2, [r3, #0] 80500bc: 4613 mov r3, r2 80500be: 00db lsls r3, r3, #3 80500c0: 1a9b subs r3, r3, r2 80500c2: 00db lsls r3, r3, #3 80500c4: 3308 adds r3, #8 80500c6: 4a37 ldr r2, [pc, #220] ; (80501a4 ) 80500c8: 4413 add r3, r2 80500ca: 3304 adds r3, #4 80500cc: 4618 mov r0, r3 80500ce: f7d9 ff25 bl 8029f1c 80500d2: 4603 mov r3, r0 80500d4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80500d8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80500dc: 2b00 cmp r3, #0 80500de: d103 bne.n 80500e8 CleanStatus = AP_OK; 80500e0: 4b35 ldr r3, [pc, #212] ; (80501b8 ) 80500e2: 2200 movs r2, #0 80500e4: 701a strb r2, [r3, #0] 80500e6: e002 b.n 80500ee else CleanStatus = AP_FAIL; 80500e8: 4b33 ldr r3, [pc, #204] ; (80501b8 ) 80500ea: 2201 movs r2, #1 80500ec: 701a strb r2, [r3, #0] menupos = CleanUpResult; 80500ee: 4b2b ldr r3, [pc, #172] ; (805019c ) 80500f0: 220a movs r2, #10 80500f2: 701a strb r2, [r3, #0] break; 80500f4: f004 baf8 b.w 80546e8 if(menupos == CleanUpResult) 80500f8: 4b28 ldr r3, [pc, #160] ; (805019c ) 80500fa: 781b ldrb r3, [r3, #0] 80500fc: b2db uxtb r3, r3 80500fe: 2b0a cmp r3, #10 8050100: f044 82f2 bne.w 80546e8 result = FR_NOT_READY; 8050104: 2303 movs r3, #3 8050106: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 805010a: 4b2c ldr r3, [pc, #176] ; (80501bc ) 805010c: 781b ldrb r3, [r3, #0] 805010e: b2db uxtb r3, r3 8050110: 2b03 cmp r3, #3 8050112: d13e bne.n 8050192 CursorIndex = 0; 8050114: 4b22 ldr r3, [pc, #136] ; (80501a0 ) 8050116: 2200 movs r2, #0 8050118: 601a str r2, [r3, #0] FirstFileIndex = 0; 805011a: 4b29 ldr r3, [pc, #164] ; (80501c0 ) 805011c: 2200 movs r2, #0 805011e: 601a str r2, [r3, #0] RealFileIndex = 0; 8050120: 4b28 ldr r3, [pc, #160] ; (80501c4 ) 8050122: 2200 movs r2, #0 8050124: 601a str r2, [r3, #0] result = ReadNumFilesDGN((uint32_t *) &NumFilesDGN); 8050126: 482b ldr r0, [pc, #172] ; (80501d4 ) 8050128: f7d9 fc72 bl 8029a10 805012c: 4603 mov r3, r0 805012e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050132: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050136: 2b00 cmp r3, #0 8050138: d126 bne.n 8050188 result = ReadMyFilesDGN(FirstFileIndex); 805013a: 4b21 ldr r3, [pc, #132] ; (80501c0 ) 805013c: 681b ldr r3, [r3, #0] 805013e: 4618 mov r0, r3 8050140: f7d9 fd3f bl 8029bc2 8050144: 4603 mov r3, r0 8050146: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805014a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805014e: 2b00 cmp r3, #0 8050150: d115 bne.n 805017e menu = EXPLORER_DIAGN; 8050152: 4b17 ldr r3, [pc, #92] ; (80501b0 ) 8050154: 222a movs r2, #42 ; 0x2a 8050156: 701a strb r2, [r3, #0] lastmenupos = menupos; 8050158: 4b10 ldr r3, [pc, #64] ; (805019c ) 805015a: 781b ldrb r3, [r3, #0] 805015c: b2da uxtb r2, r3 805015e: 4b1b ldr r3, [pc, #108] ; (80501cc ) 8050160: 701a strb r2, [r3, #0] if(NumFilesDGN) 8050162: 4b1c ldr r3, [pc, #112] ; (80501d4 ) 8050164: 681b ldr r3, [r3, #0] 8050166: 2b00 cmp r3, #0 8050168: d004 beq.n 8050174 menupos = FilesDGN; 805016a: 4b0c ldr r3, [pc, #48] ; (805019c ) 805016c: 2202 movs r2, #2 805016e: 701a strb r2, [r3, #0] break; 8050170: f004 baba b.w 80546e8 else menupos = NoFilesDGN; 8050174: 4b09 ldr r3, [pc, #36] ; (805019c ) 8050176: 2201 movs r2, #1 8050178: 701a strb r2, [r3, #0] break; 805017a: f004 bab5 b.w 80546e8 DiagFileName[0] = '\0'; 805017e: 4b14 ldr r3, [pc, #80] ; (80501d0 ) 8050180: 2200 movs r2, #0 8050182: 701a strb r2, [r3, #0] break; 8050184: f004 bab0 b.w 80546e8 DiagFileName[0] = '\0'; 8050188: 4b11 ldr r3, [pc, #68] ; (80501d0 ) 805018a: 2200 movs r2, #0 805018c: 701a strb r2, [r3, #0] break; 805018e: f004 baab b.w 80546e8 DiagFileName[0] = '\0'; 8050192: 4b0f ldr r3, [pc, #60] ; (80501d0 ) 8050194: 2200 movs r2, #0 8050196: 701a strb r2, [r3, #0] break; 8050198: f004 baa6 b.w 80546e8 805019c: 20020070 .word 0x20020070 80501a0: 20020e00 .word 0x20020e00 80501a4: 200223a0 .word 0x200223a0 80501a8: 20020e80 .word 0x20020e80 80501ac: 20020dea .word 0x20020dea 80501b0: 20020fc5 .word 0x20020fc5 80501b4: 20020dec .word 0x20020dec 80501b8: 20020df0 .word 0x20020df0 80501bc: 2002169c .word 0x2002169c 80501c0: 20020e04 .word 0x20020e04 80501c4: 20020e08 .word 0x20020e08 80501c8: 20020e14 .word 0x20020e14 80501cc: 20020071 .word 0x20020071 80501d0: 20020ea4 .word 0x20020ea4 80501d4: 20020e18 .word 0x20020e18 case INPUT_COMMENT_DIAGN: //TODO if(menupos == _ENTER) 80501d8: 4bb6 ldr r3, [pc, #728] ; (80504b4 ) 80501da: 781b ldrb r3, [r3, #0] 80501dc: b2db uxtb r3, r3 80501de: 2b26 cmp r3, #38 ; 0x26 80501e0: f040 8249 bne.w 8050676 { menu = lastmenu; 80501e4: 4bb4 ldr r3, [pc, #720] ; (80504b8 ) 80501e6: 781b ldrb r3, [r3, #0] 80501e8: b2da uxtb r2, r3 80501ea: 4bb4 ldr r3, [pc, #720] ; (80504bc ) 80501ec: 701a strb r2, [r3, #0] menupos = Record; 80501ee: 4bb1 ldr r3, [pc, #708] ; (80504b4 ) 80501f0: 2202 movs r2, #2 80501f2: 701a strb r2, [r3, #0] memcpy(Comment, TEMP_Comment, sizeof(Comment)); 80501f4: 4ab2 ldr r2, [pc, #712] ; (80504c0 ) 80501f6: 4bb3 ldr r3, [pc, #716] ; (80504c4 ) 80501f8: 4610 mov r0, r2 80501fa: f103 0420 add.w r4, r3, #32 80501fe: 4602 mov r2, r0 8050200: 4619 mov r1, r3 8050202: f8d1 e000 ldr.w lr, [r1] 8050206: 684e ldr r6, [r1, #4] 8050208: 688d ldr r5, [r1, #8] 805020a: 68c9 ldr r1, [r1, #12] 805020c: f8c2 e000 str.w lr, [r2] 8050210: 6056 str r6, [r2, #4] 8050212: 6095 str r5, [r2, #8] 8050214: 60d1 str r1, [r2, #12] 8050216: 3310 adds r3, #16 8050218: 3010 adds r0, #16 805021a: 42a3 cmp r3, r4 805021c: d1ef bne.n 80501fe 805021e: 4602 mov r2, r0 8050220: 6819 ldr r1, [r3, #0] 8050222: 685b ldr r3, [r3, #4] 8050224: 6011 str r1, [r2, #0] 8050226: 6053 str r3, [r2, #4] DiagnFileData.d_Op1_ipr = pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7; 8050228: 4ba7 ldr r3, [pc, #668] ; (80504c8 ) 805022a: 781b ldrb r3, [r3, #0] 805022c: b2db uxtb r3, r3 805022e: 4aa7 ldr r2, [pc, #668] ; (80504cc ) 8050230: 338e adds r3, #142 ; 0x8e 8050232: 009b lsls r3, r3, #2 8050234: 4413 add r3, r2 8050236: 791b ldrb r3, [r3, #4] 8050238: b2db uxtb r3, r3 805023a: f003 0307 and.w r3, r3, #7 805023e: b2da uxtb r2, r3 8050240: 4ba3 ldr r3, [pc, #652] ; (80504d0 ) 8050242: f883 2028 strb.w r2, [r3, #40] ; 0x28 DiagnFileData.d_Op2_ipr = pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7; 8050246: 4ba0 ldr r3, [pc, #640] ; (80504c8 ) 8050248: 781b ldrb r3, [r3, #0] 805024a: b2db uxtb r3, r3 805024c: 4a9f ldr r2, [pc, #636] ; (80504cc ) 805024e: 009b lsls r3, r3, #2 8050250: 4413 add r3, r2 8050252: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8050256: b2db uxtb r3, r3 8050258: f003 0307 and.w r3, r3, #7 805025c: b2da uxtb r2, r3 805025e: 4b9c ldr r3, [pc, #624] ; (80504d0 ) 8050260: f883 2029 strb.w r2, [r3, #41] ; 0x29 DiagnFileData.d_Op3_ipr = pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7; 8050264: 4b98 ldr r3, [pc, #608] ; (80504c8 ) 8050266: 781b ldrb r3, [r3, #0] 8050268: b2db uxtb r3, r3 805026a: 4a98 ldr r2, [pc, #608] ; (80504cc ) 805026c: 009b lsls r3, r3, #2 805026e: 4413 add r3, r2 8050270: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8050274: b2db uxtb r3, r3 8050276: f003 0307 and.w r3, r3, #7 805027a: b2da uxtb r2, r3 805027c: 4b94 ldr r3, [pc, #592] ; (80504d0 ) 805027e: f883 202a strb.w r2, [r3, #42] ; 0x2a switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 8050282: 4b91 ldr r3, [pc, #580] ; (80504c8 ) 8050284: 781b ldrb r3, [r3, #0] 8050286: b2db uxtb r3, r3 8050288: 4a90 ldr r2, [pc, #576] ; (80504cc ) 805028a: 338e adds r3, #142 ; 0x8e 805028c: 009b lsls r3, r3, #2 805028e: 4413 add r3, r2 8050290: 791b ldrb r3, [r3, #4] 8050292: b2db uxtb r3, r3 8050294: 08db lsrs r3, r3, #3 8050296: b2db uxtb r3, r3 8050298: f003 031f and.w r3, r3, #31 805029c: 3b01 subs r3, #1 805029e: 2b0f cmp r3, #15 80502a0: d83b bhi.n 805031a 80502a2: a201 add r2, pc, #4 ; (adr r2, 80502a8 ) 80502a4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80502a8: 080502e9 .word 0x080502e9 80502ac: 080502f3 .word 0x080502f3 80502b0: 0805031b .word 0x0805031b 80502b4: 080502fd .word 0x080502fd 80502b8: 0805031b .word 0x0805031b 80502bc: 0805031b .word 0x0805031b 80502c0: 0805031b .word 0x0805031b 80502c4: 08050307 .word 0x08050307 80502c8: 0805031b .word 0x0805031b 80502cc: 0805031b .word 0x0805031b 80502d0: 0805031b .word 0x0805031b 80502d4: 0805031b .word 0x0805031b 80502d8: 0805031b .word 0x0805031b 80502dc: 0805031b .word 0x0805031b 80502e0: 0805031b .word 0x0805031b 80502e4: 08050311 .word 0x08050311 { case DIAGN_PEAK: DiagnFileData.d_Op1_ivs = 'P'; break; 80502e8: 4b79 ldr r3, [pc, #484] ; (80504d0 ) 80502ea: 2250 movs r2, #80 ; 0x50 80502ec: f883 202b strb.w r2, [r3, #43] ; 0x2b 80502f0: e013 b.n 805031a case DIAGN_RMS: DiagnFileData.d_Op1_ivs = 'S'; break; 80502f2: 4b77 ldr r3, [pc, #476] ; (80504d0 ) 80502f4: 2253 movs r2, #83 ; 0x53 80502f6: f883 202b strb.w r2, [r3, #43] ; 0x2b 80502fa: e00e b.n 805031a case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op1_ivs = 'R'; break; 80502fc: 4b74 ldr r3, [pc, #464] ; (80504d0 ) 80502fe: 2252 movs r2, #82 ; 0x52 8050300: f883 202b strb.w r2, [r3, #43] ; 0x2b 8050304: e009 b.n 805031a case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op1_ivs = 'F'; break; 8050306: 4b72 ldr r3, [pc, #456] ; (80504d0 ) 8050308: 2246 movs r2, #70 ; 0x46 805030a: f883 202b strb.w r2, [r3, #43] ; 0x2b 805030e: e004 b.n 805031a case DIAGN_EXCESS: DiagnFileData.d_Op1_ivs = 'E'; break; 8050310: 4b6f ldr r3, [pc, #444] ; (80504d0 ) 8050312: 2245 movs r2, #69 ; 0x45 8050314: f883 202b strb.w r2, [r3, #43] ; 0x2b 8050318: bf00 nop } switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 805031a: 4b6b ldr r3, [pc, #428] ; (80504c8 ) 805031c: 781b ldrb r3, [r3, #0] 805031e: b2db uxtb r3, r3 8050320: 4a6a ldr r2, [pc, #424] ; (80504cc ) 8050322: 009b lsls r3, r3, #2 8050324: 4413 add r3, r2 8050326: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805032a: b2db uxtb r3, r3 805032c: 08db lsrs r3, r3, #3 805032e: b2db uxtb r3, r3 8050330: f003 031f and.w r3, r3, #31 8050334: 3b01 subs r3, #1 8050336: 2b0f cmp r3, #15 8050338: d83b bhi.n 80503b2 805033a: a201 add r2, pc, #4 ; (adr r2, 8050340 ) 805033c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8050340: 08050381 .word 0x08050381 8050344: 0805038b .word 0x0805038b 8050348: 080503b3 .word 0x080503b3 805034c: 08050395 .word 0x08050395 8050350: 080503b3 .word 0x080503b3 8050354: 080503b3 .word 0x080503b3 8050358: 080503b3 .word 0x080503b3 805035c: 0805039f .word 0x0805039f 8050360: 080503b3 .word 0x080503b3 8050364: 080503b3 .word 0x080503b3 8050368: 080503b3 .word 0x080503b3 805036c: 080503b3 .word 0x080503b3 8050370: 080503b3 .word 0x080503b3 8050374: 080503b3 .word 0x080503b3 8050378: 080503b3 .word 0x080503b3 805037c: 080503a9 .word 0x080503a9 { case DIAGN_PEAK: DiagnFileData.d_Op2_ivs = 'P'; break; 8050380: 4b53 ldr r3, [pc, #332] ; (80504d0 ) 8050382: 2250 movs r2, #80 ; 0x50 8050384: f883 202c strb.w r2, [r3, #44] ; 0x2c 8050388: e013 b.n 80503b2 case DIAGN_RMS: DiagnFileData.d_Op2_ivs = 'S'; break; 805038a: 4b51 ldr r3, [pc, #324] ; (80504d0 ) 805038c: 2253 movs r2, #83 ; 0x53 805038e: f883 202c strb.w r2, [r3, #44] ; 0x2c 8050392: e00e b.n 80503b2 case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op2_ivs = 'R'; break; 8050394: 4b4e ldr r3, [pc, #312] ; (80504d0 ) 8050396: 2252 movs r2, #82 ; 0x52 8050398: f883 202c strb.w r2, [r3, #44] ; 0x2c 805039c: e009 b.n 80503b2 case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op2_ivs = 'F'; break; 805039e: 4b4c ldr r3, [pc, #304] ; (80504d0 ) 80503a0: 2246 movs r2, #70 ; 0x46 80503a2: f883 202c strb.w r2, [r3, #44] ; 0x2c 80503a6: e004 b.n 80503b2 case DIAGN_EXCESS: DiagnFileData.d_Op2_ivs = 'E'; break; 80503a8: 4b49 ldr r3, [pc, #292] ; (80504d0 ) 80503aa: 2245 movs r2, #69 ; 0x45 80503ac: f883 202c strb.w r2, [r3, #44] ; 0x2c 80503b0: bf00 nop } switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 80503b2: 4b45 ldr r3, [pc, #276] ; (80504c8 ) 80503b4: 781b ldrb r3, [r3, #0] 80503b6: b2db uxtb r3, r3 80503b8: 4a44 ldr r2, [pc, #272] ; (80504cc ) 80503ba: 009b lsls r3, r3, #2 80503bc: 4413 add r3, r2 80503be: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 80503c2: b2db uxtb r3, r3 80503c4: 08db lsrs r3, r3, #3 80503c6: b2db uxtb r3, r3 80503c8: f003 031f and.w r3, r3, #31 80503cc: 3b01 subs r3, #1 80503ce: 2b0f cmp r3, #15 80503d0: d83b bhi.n 805044a 80503d2: a201 add r2, pc, #4 ; (adr r2, 80503d8 ) 80503d4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80503d8: 08050419 .word 0x08050419 80503dc: 08050423 .word 0x08050423 80503e0: 0805044b .word 0x0805044b 80503e4: 0805042d .word 0x0805042d 80503e8: 0805044b .word 0x0805044b 80503ec: 0805044b .word 0x0805044b 80503f0: 0805044b .word 0x0805044b 80503f4: 08050437 .word 0x08050437 80503f8: 0805044b .word 0x0805044b 80503fc: 0805044b .word 0x0805044b 8050400: 0805044b .word 0x0805044b 8050404: 0805044b .word 0x0805044b 8050408: 0805044b .word 0x0805044b 805040c: 0805044b .word 0x0805044b 8050410: 0805044b .word 0x0805044b 8050414: 08050441 .word 0x08050441 { case DIAGN_PEAK: DiagnFileData.d_Op3_ivs = 'P'; break; 8050418: 4b2d ldr r3, [pc, #180] ; (80504d0 ) 805041a: 2250 movs r2, #80 ; 0x50 805041c: f883 202d strb.w r2, [r3, #45] ; 0x2d 8050420: e013 b.n 805044a case DIAGN_RMS: DiagnFileData.d_Op3_ivs = 'S'; break; 8050422: 4b2b ldr r3, [pc, #172] ; (80504d0 ) 8050424: 2253 movs r2, #83 ; 0x53 8050426: f883 202d strb.w r2, [r3, #45] ; 0x2d 805042a: e00e b.n 805044a case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op3_ivs = 'R'; break; 805042c: 4b28 ldr r3, [pc, #160] ; (80504d0 ) 805042e: 2252 movs r2, #82 ; 0x52 8050430: f883 202d strb.w r2, [r3, #45] ; 0x2d 8050434: e009 b.n 805044a case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op3_ivs = 'F'; break; 8050436: 4b26 ldr r3, [pc, #152] ; (80504d0 ) 8050438: 2246 movs r2, #70 ; 0x46 805043a: f883 202d strb.w r2, [r3, #45] ; 0x2d 805043e: e004 b.n 805044a case DIAGN_EXCESS: DiagnFileData.d_Op3_ivs = 'E'; break; 8050440: 4b23 ldr r3, [pc, #140] ; (80504d0 ) 8050442: 2245 movs r2, #69 ; 0x45 8050444: f883 202d strb.w r2, [r3, #45] ; 0x2d 8050448: bf00 nop } DiagnFileData.Op_1.fl = operand[Us1]; 805044a: 4b22 ldr r3, [pc, #136] ; (80504d4 ) 805044c: 681b ldr r3, [r3, #0] 805044e: 4a20 ldr r2, [pc, #128] ; (80504d0 ) 8050450: 6013 str r3, [r2, #0] DiagnFileData.Op_2.fl = operand[Us2]; 8050452: 4b20 ldr r3, [pc, #128] ; (80504d4 ) 8050454: 685b ldr r3, [r3, #4] 8050456: 4a1e ldr r2, [pc, #120] ; (80504d0 ) 8050458: 6053 str r3, [r2, #4] DiagnFileData.Op_3.fl = operand[Us3]; 805045a: 4b1e ldr r3, [pc, #120] ; (80504d4 ) 805045c: 689b ldr r3, [r3, #8] 805045e: 4a1c ldr r2, [pc, #112] ; (80504d0 ) 8050460: 6093 str r3, [r2, #8] DiagnFileData.d_Time = RTC_TimeStruct; 8050462: 4b1b ldr r3, [pc, #108] ; (80504d0 ) 8050464: 4a1c ldr r2, [pc, #112] ; (80504d8 ) 8050466: f103 040c add.w r4, r3, #12 805046a: 4615 mov r5, r2 805046c: cd0f ldmia r5!, {r0, r1, r2, r3} 805046e: c40f stmia r4!, {r0, r1, r2, r3} 8050470: e895 0003 ldmia.w r5, {r0, r1} 8050474: e884 0003 stmia.w r4, {r0, r1} DiagnFileData.d_Date = RTC_DateStruct; 8050478: 4b15 ldr r3, [pc, #84] ; (80504d0 ) 805047a: 4a18 ldr r2, [pc, #96] ; (80504dc ) 805047c: 3324 adds r3, #36 ; 0x24 805047e: 6810 ldr r0, [r2, #0] 8050480: 6018 str r0, [r3, #0] if(ALARM) DiagnFileData.d_Alarm = 1; 8050482: 4b17 ldr r3, [pc, #92] ; (80504e0 ) 8050484: 781b ldrb r3, [r3, #0] 8050486: b2db uxtb r3, r3 8050488: 2b00 cmp r3, #0 805048a: d004 beq.n 8050496 805048c: 4b10 ldr r3, [pc, #64] ; (80504d0 ) 805048e: 2201 movs r2, #1 8050490: f883 2032 strb.w r2, [r3, #50] ; 0x32 8050494: e003 b.n 805049e else DiagnFileData.d_Alarm = 0; 8050496: 4b0e ldr r3, [pc, #56] ; (80504d0 ) 8050498: 2200 movs r2, #0 805049a: f883 2032 strb.w r2, [r3, #50] ; 0x32 if(WARNING) DiagnFileData.d_Warning = 1; 805049e: 4b11 ldr r3, [pc, #68] ; (80504e4 ) 80504a0: 781b ldrb r3, [r3, #0] 80504a2: b2db uxtb r3, r3 80504a4: 2b00 cmp r3, #0 80504a6: d01f beq.n 80504e8 80504a8: 4b09 ldr r3, [pc, #36] ; (80504d0 ) 80504aa: 2201 movs r2, #1 80504ac: f883 2031 strb.w r2, [r3, #49] ; 0x31 80504b0: e01e b.n 80504f0 80504b2: bf00 nop 80504b4: 20020070 .word 0x20020070 80504b8: 20020fc6 .word 0x20020fc6 80504bc: 20020fc5 .word 0x20020fc5 80504c0: 200226a0 .word 0x200226a0 80504c4: 20025c98 .word 0x20025c98 80504c8: 2002105d .word 0x2002105d 80504cc: 20023eb8 .word 0x20023eb8 80504d0: 20022644 .word 0x20022644 80504d4: 20026938 .word 0x20026938 80504d8: 20025cc0 .word 0x20025cc0 80504dc: 20025d44 .word 0x20025d44 80504e0: 20021061 .word 0x20021061 80504e4: 20021060 .word 0x20021060 else DiagnFileData.d_Warning = 0; 80504e8: 4bb7 ldr r3, [pc, #732] ; (80507c8 ) 80504ea: 2200 movs r2, #0 80504ec: f883 2031 strb.w r2, [r3, #49] ; 0x31 // if(operand[Us1] < pardata.DIAGN_A[CURR_POINT][Us1]) 80504f0: 4bb6 ldr r3, [pc, #728] ; (80507cc ) 80504f2: ed93 7a00 vldr s14, [r3] 80504f6: 4bb6 ldr r3, [pc, #728] ; (80507d0 ) 80504f8: 781b ldrb r3, [r3, #0] 80504fa: b2db uxtb r3, r3 80504fc: 4ab5 ldr r2, [pc, #724] ; (80507d4 ) 80504fe: 011b lsls r3, r3, #4 8050500: 4413 add r3, r2 8050502: f503 7377 add.w r3, r3, #988 ; 0x3dc 8050506: edd3 7a00 vldr s15, [r3] 805050a: eeb4 7ae7 vcmpe.f32 s14, s15 805050e: eef1 fa10 vmrs APSR_nzcv, fpscr 8050512: d51b bpl.n 805054c { if(operand[Us1] < pardata.DIAGN_W[CURR_POINT][Us1]) 8050514: 4bad ldr r3, [pc, #692] ; (80507cc ) 8050516: ed93 7a00 vldr s14, [r3] 805051a: 4bad ldr r3, [pc, #692] ; (80507d0 ) 805051c: 781b ldrb r3, [r3, #0] 805051e: b2db uxtb r3, r3 8050520: 4aac ldr r2, [pc, #688] ; (80507d4 ) 8050522: 011b lsls r3, r3, #4 8050524: 4413 add r3, r2 8050526: f503 7357 add.w r3, r3, #860 ; 0x35c 805052a: edd3 7a00 vldr s15, [r3] 805052e: eeb4 7ae7 vcmpe.f32 s14, s15 8050532: eef1 fa10 vmrs APSR_nzcv, fpscr 8050536: d504 bpl.n 8050542 DiagnFileData.d_Op1_Color = 0; 8050538: 4ba3 ldr r3, [pc, #652] ; (80507c8 ) 805053a: 2200 movs r2, #0 805053c: f883 202e strb.w r2, [r3, #46] ; 0x2e 8050540: e008 b.n 8050554 else DiagnFileData.d_Op1_Color = 1; 8050542: 4ba1 ldr r3, [pc, #644] ; (80507c8 ) 8050544: 2201 movs r2, #1 8050546: f883 202e strb.w r2, [r3, #46] ; 0x2e 805054a: e003 b.n 8050554 } else DiagnFileData.d_Op1_Color = 2; 805054c: 4b9e ldr r3, [pc, #632] ; (80507c8 ) 805054e: 2202 movs r2, #2 8050550: f883 202e strb.w r2, [r3, #46] ; 0x2e // if(operand[Us2] < pardata.DIAGN_A[CURR_POINT][Us2]) 8050554: 4b9d ldr r3, [pc, #628] ; (80507cc ) 8050556: ed93 7a01 vldr s14, [r3, #4] 805055a: 4b9d ldr r3, [pc, #628] ; (80507d0 ) 805055c: 781b ldrb r3, [r3, #0] 805055e: b2db uxtb r3, r3 8050560: 4a9c ldr r2, [pc, #624] ; (80507d4 ) 8050562: 011b lsls r3, r3, #4 8050564: 4413 add r3, r2 8050566: f503 7378 add.w r3, r3, #992 ; 0x3e0 805056a: edd3 7a00 vldr s15, [r3] 805056e: eeb4 7ae7 vcmpe.f32 s14, s15 8050572: eef1 fa10 vmrs APSR_nzcv, fpscr 8050576: d51b bpl.n 80505b0 { if(operand[Us2] < pardata.DIAGN_W[CURR_POINT][Us2]) 8050578: 4b94 ldr r3, [pc, #592] ; (80507cc ) 805057a: ed93 7a01 vldr s14, [r3, #4] 805057e: 4b94 ldr r3, [pc, #592] ; (80507d0 ) 8050580: 781b ldrb r3, [r3, #0] 8050582: b2db uxtb r3, r3 8050584: 4a93 ldr r2, [pc, #588] ; (80507d4 ) 8050586: 011b lsls r3, r3, #4 8050588: 4413 add r3, r2 805058a: f503 7358 add.w r3, r3, #864 ; 0x360 805058e: edd3 7a00 vldr s15, [r3] 8050592: eeb4 7ae7 vcmpe.f32 s14, s15 8050596: eef1 fa10 vmrs APSR_nzcv, fpscr 805059a: d504 bpl.n 80505a6 DiagnFileData.d_Op2_Color = 0; 805059c: 4b8a ldr r3, [pc, #552] ; (80507c8 ) 805059e: 2200 movs r2, #0 80505a0: f883 202f strb.w r2, [r3, #47] ; 0x2f 80505a4: e008 b.n 80505b8 else DiagnFileData.d_Op2_Color = 1; 80505a6: 4b88 ldr r3, [pc, #544] ; (80507c8 ) 80505a8: 2201 movs r2, #1 80505aa: f883 202f strb.w r2, [r3, #47] ; 0x2f 80505ae: e003 b.n 80505b8 } else DiagnFileData.d_Op2_Color = 2; 80505b0: 4b85 ldr r3, [pc, #532] ; (80507c8 ) 80505b2: 2202 movs r2, #2 80505b4: f883 202f strb.w r2, [r3, #47] ; 0x2f // if(operand[Us3] < pardata.DIAGN_A[CURR_POINT][Us3]) 80505b8: 4b84 ldr r3, [pc, #528] ; (80507cc ) 80505ba: ed93 7a02 vldr s14, [r3, #8] 80505be: 4b84 ldr r3, [pc, #528] ; (80507d0 ) 80505c0: 781b ldrb r3, [r3, #0] 80505c2: b2db uxtb r3, r3 80505c4: 4a83 ldr r2, [pc, #524] ; (80507d4 ) 80505c6: 333e adds r3, #62 ; 0x3e 80505c8: 011b lsls r3, r3, #4 80505ca: 4413 add r3, r2 80505cc: 3304 adds r3, #4 80505ce: edd3 7a00 vldr s15, [r3] 80505d2: eeb4 7ae7 vcmpe.f32 s14, s15 80505d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80505da: d51b bpl.n 8050614 { if(operand[Us3] < pardata.DIAGN_W[CURR_POINT][Us3]) 80505dc: 4b7b ldr r3, [pc, #492] ; (80507cc ) 80505de: ed93 7a02 vldr s14, [r3, #8] 80505e2: 4b7b ldr r3, [pc, #492] ; (80507d0 ) 80505e4: 781b ldrb r3, [r3, #0] 80505e6: b2db uxtb r3, r3 80505e8: 4a7a ldr r2, [pc, #488] ; (80507d4 ) 80505ea: 3336 adds r3, #54 ; 0x36 80505ec: 011b lsls r3, r3, #4 80505ee: 4413 add r3, r2 80505f0: 3304 adds r3, #4 80505f2: edd3 7a00 vldr s15, [r3] 80505f6: eeb4 7ae7 vcmpe.f32 s14, s15 80505fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80505fe: d504 bpl.n 805060a DiagnFileData.d_Op3_Color = 0; 8050600: 4b71 ldr r3, [pc, #452] ; (80507c8 ) 8050602: 2200 movs r2, #0 8050604: f883 2030 strb.w r2, [r3, #48] ; 0x30 8050608: e008 b.n 805061c else DiagnFileData.d_Op3_Color = 1; 805060a: 4b6f ldr r3, [pc, #444] ; (80507c8 ) 805060c: 2201 movs r2, #1 805060e: f883 2030 strb.w r2, [r3, #48] ; 0x30 8050612: e003 b.n 805061c } else DiagnFileData.d_Op3_Color = 2; 8050614: 4b6c ldr r3, [pc, #432] ; (80507c8 ) 8050616: 2202 movs r2, #2 8050618: f883 2030 strb.w r2, [r3, #48] ; 0x30 AddToFile = true; 805061c: 4b6e ldr r3, [pc, #440] ; (80507d8 ) 805061e: 2201 movs r2, #1 8050620: 701a strb r2, [r3, #0] //************************************************************************************ result = WriteFileDGN(DiagFileName); 8050622: 486e ldr r0, [pc, #440] ; (80507dc ) 8050624: f7d8 fb72 bl 8028d0c 8050628: 4603 mov r3, r0 805062a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805062e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050632: 2b00 cmp r3, #0 8050634: d110 bne.n 8050658 { STATUS = AP_SAVING_SUCCESS; 8050636: 4b6a ldr r3, [pc, #424] ; (80507e0 ) 8050638: 2207 movs r2, #7 805063a: 601a str r2, [r3, #0] timerStatus = sec2; 805063c: 4b69 ldr r3, [pc, #420] ; (80507e4 ) 805063e: f44f 5280 mov.w r2, #4096 ; 0x1000 8050642: 801a strh r2, [r3, #0] DrawStatus = true; 8050644: 4b68 ldr r3, [pc, #416] ; (80507e8 ) 8050646: 2201 movs r2, #1 8050648: 701a strb r2, [r3, #0] Threshold = false; 805064a: 4b68 ldr r3, [pc, #416] ; (80507ec ) 805064c: 2200 movs r2, #0 805064e: 701a strb r2, [r3, #0] FIRST = true; 8050650: 4b67 ldr r3, [pc, #412] ; (80507f0 ) 8050652: 2201 movs r2, #1 8050654: 701a strb r2, [r3, #0] 8050656: e009 b.n 805066c } else { STATUS = AP_SAVING_ERROR; 8050658: 4b61 ldr r3, [pc, #388] ; (80507e0 ) 805065a: 2208 movs r2, #8 805065c: 601a str r2, [r3, #0] timerStatus = sec2; 805065e: 4b61 ldr r3, [pc, #388] ; (80507e4 ) 8050660: f44f 5280 mov.w r2, #4096 ; 0x1000 8050664: 801a strh r2, [r3, #0] DrawStatus = true; 8050666: 4b60 ldr r3, [pc, #384] ; (80507e8 ) 8050668: 2201 movs r2, #1 805066a: 701a strb r2, [r3, #0] } AddToFile = false; 805066c: 4b5a ldr r3, [pc, #360] ; (80507d8 ) 805066e: 2200 movs r2, #0 8050670: 701a strb r2, [r3, #0] { TEMP_Comment[CommentLen] = CHARS_ENG[menupos]; CommentLen++; } } break; 8050672: f004 b83b b.w 80546ec if(menupos == _BCKSPC) 8050676: 4b5f ldr r3, [pc, #380] ; (80507f4 ) 8050678: 781b ldrb r3, [r3, #0] 805067a: b2db uxtb r3, r3 805067c: 2b1d cmp r3, #29 805067e: d116 bne.n 80506ae CommentLen = strlen(TEMP_Comment); 8050680: 485d ldr r0, [pc, #372] ; (80507f8 ) 8050682: f7cf fe47 bl 8020314 8050686: 4602 mov r2, r0 8050688: 4b5c ldr r3, [pc, #368] ; (80507fc ) 805068a: 601a str r2, [r3, #0] if(CommentLen) 805068c: 4b5b ldr r3, [pc, #364] ; (80507fc ) 805068e: 681b ldr r3, [r3, #0] 8050690: 2b00 cmp r3, #0 8050692: f004 802b beq.w 80546ec CommentLen--; 8050696: 4b59 ldr r3, [pc, #356] ; (80507fc ) 8050698: 681b ldr r3, [r3, #0] 805069a: 3b01 subs r3, #1 805069c: 4a57 ldr r2, [pc, #348] ; (80507fc ) 805069e: 6013 str r3, [r2, #0] TEMP_Comment[CommentLen] = 0; 80506a0: 4b56 ldr r3, [pc, #344] ; (80507fc ) 80506a2: 681b ldr r3, [r3, #0] 80506a4: 4a54 ldr r2, [pc, #336] ; (80507f8 ) 80506a6: 2100 movs r1, #0 80506a8: 54d1 strb r1, [r2, r3] break; 80506aa: f004 b81f b.w 80546ec if(menupos == _CANCEL) 80506ae: 4b51 ldr r3, [pc, #324] ; (80507f4 ) 80506b0: 781b ldrb r3, [r3, #0] 80506b2: b2db uxtb r3, r3 80506b4: 2b27 cmp r3, #39 ; 0x27 80506b6: d107 bne.n 80506c8 menu = MAIN; 80506b8: 4b51 ldr r3, [pc, #324] ; (8050800 ) 80506ba: 2200 movs r2, #0 80506bc: 701a strb r2, [r3, #0] menupos = Record; 80506be: 4b4d ldr r3, [pc, #308] ; (80507f4 ) 80506c0: 2202 movs r2, #2 80506c2: 701a strb r2, [r3, #0] break; 80506c4: f004 b812 b.w 80546ec CommentLen = strlen(TEMP_Comment); 80506c8: 484b ldr r0, [pc, #300] ; (80507f8 ) 80506ca: f7cf fe23 bl 8020314 80506ce: 4602 mov r2, r0 80506d0: 4b4a ldr r3, [pc, #296] ; (80507fc ) 80506d2: 601a str r2, [r3, #0] if(CommentLen < 25) 80506d4: 4b49 ldr r3, [pc, #292] ; (80507fc ) 80506d6: 681b ldr r3, [r3, #0] 80506d8: 2b18 cmp r3, #24 80506da: f204 8007 bhi.w 80546ec TEMP_Comment[CommentLen] = CHARS_ENG[menupos]; 80506de: 4b47 ldr r3, [pc, #284] ; (80507fc ) 80506e0: 681b ldr r3, [r3, #0] 80506e2: 4a44 ldr r2, [pc, #272] ; (80507f4 ) 80506e4: 7812 ldrb r2, [r2, #0] 80506e6: b2d2 uxtb r2, r2 80506e8: 4611 mov r1, r2 80506ea: 4a46 ldr r2, [pc, #280] ; (8050804 ) 80506ec: 5c51 ldrb r1, [r2, r1] 80506ee: 4a42 ldr r2, [pc, #264] ; (80507f8 ) 80506f0: 54d1 strb r1, [r2, r3] CommentLen++; 80506f2: 4b42 ldr r3, [pc, #264] ; (80507fc ) 80506f4: 681b ldr r3, [r3, #0] 80506f6: 3301 adds r3, #1 80506f8: 4a40 ldr r2, [pc, #256] ; (80507fc ) 80506fa: 6013 str r3, [r2, #0] break; 80506fc: f003 bff6 b.w 80546ec case INPUT_COMMENT: //TODO if(menupos == _ENTER) 8050700: 4b3c ldr r3, [pc, #240] ; (80507f4 ) 8050702: 781b ldrb r3, [r3, #0] 8050704: b2db uxtb r3, r3 8050706: 2b26 cmp r3, #38 ; 0x26 8050708: f040 8142 bne.w 8050990 { menu = lastmenu; 805070c: 4b3e ldr r3, [pc, #248] ; (8050808 ) 805070e: 781b ldrb r3, [r3, #0] 8050710: b2da uxtb r2, r3 8050712: 4b3b ldr r3, [pc, #236] ; (8050800 ) 8050714: 701a strb r2, [r3, #0] menupos = Record; 8050716: 4b37 ldr r3, [pc, #220] ; (80507f4 ) 8050718: 2202 movs r2, #2 805071a: 701a strb r2, [r3, #0] memcpy(Comment, TEMP_Comment, sizeof(Comment)); 805071c: 4a3b ldr r2, [pc, #236] ; (805080c ) 805071e: 4b36 ldr r3, [pc, #216] ; (80507f8 ) 8050720: 4610 mov r0, r2 8050722: f103 0420 add.w r4, r3, #32 8050726: 4602 mov r2, r0 8050728: 4619 mov r1, r3 805072a: f8d1 e000 ldr.w lr, [r1] 805072e: 684e ldr r6, [r1, #4] 8050730: 688d ldr r5, [r1, #8] 8050732: 68c9 ldr r1, [r1, #12] 8050734: f8c2 e000 str.w lr, [r2] 8050738: 6056 str r6, [r2, #4] 805073a: 6095 str r5, [r2, #8] 805073c: 60d1 str r1, [r2, #12] 805073e: 3310 adds r3, #16 8050740: 3010 adds r0, #16 8050742: 42a3 cmp r3, r4 8050744: d1ef bne.n 8050726 8050746: 4602 mov r2, r0 8050748: 6819 ldr r1, [r3, #0] 805074a: 685b ldr r3, [r3, #4] 805074c: 6011 str r1, [r2, #0] 805074e: 6053 str r3, [r2, #4] if(pardata.IVS[ACC] == PEAK) 8050750: 4b20 ldr r3, [pc, #128] ; (80507d4 ) 8050752: 789b ldrb r3, [r3, #2] 8050754: b2db uxtb r3, r3 8050756: 2b00 cmp r3, #0 8050758: d104 bne.n 8050764 FileData.Aivs = 'P'; 805075a: 4b2d ldr r3, [pc, #180] ; (8050810 ) 805075c: 2250 movs r2, #80 ; 0x50 805075e: f883 202c strb.w r2, [r3, #44] ; 0x2c 8050762: e026 b.n 80507b2 else if(pardata.IVS[ACC] == RMS) 8050764: 4b1b ldr r3, [pc, #108] ; (80507d4 ) 8050766: 789b ldrb r3, [r3, #2] 8050768: b2db uxtb r3, r3 805076a: 2b01 cmp r3, #1 805076c: d104 bne.n 8050778 FileData.Aivs = 'S'; 805076e: 4b28 ldr r3, [pc, #160] ; (8050810 ) 8050770: 2253 movs r2, #83 ; 0x53 8050772: f883 202c strb.w r2, [r3, #44] ; 0x2c 8050776: e01c b.n 80507b2 else if(pardata.IVS[ACC] == PEAK_TO_PEAK) 8050778: 4b16 ldr r3, [pc, #88] ; (80507d4 ) 805077a: 789b ldrb r3, [r3, #2] 805077c: b2db uxtb r3, r3 805077e: 2b02 cmp r3, #2 8050780: d104 bne.n 805078c FileData.Aivs = 'R'; 8050782: 4b23 ldr r3, [pc, #140] ; (8050810 ) 8050784: 2252 movs r2, #82 ; 0x52 8050786: f883 202c strb.w r2, [r3, #44] ; 0x2c 805078a: e012 b.n 80507b2 else if(pardata.IVS[ACC] == PEAK_FACTOR) 805078c: 4b11 ldr r3, [pc, #68] ; (80507d4 ) 805078e: 789b ldrb r3, [r3, #2] 8050790: b2db uxtb r3, r3 8050792: 2b03 cmp r3, #3 8050794: d104 bne.n 80507a0 FileData.Aivs = 'F'; 8050796: 4b1e ldr r3, [pc, #120] ; (8050810 ) 8050798: 2246 movs r2, #70 ; 0x46 805079a: f883 202c strb.w r2, [r3, #44] ; 0x2c 805079e: e008 b.n 80507b2 else if(pardata.IVS[ACC] == EXCESS) 80507a0: 4b0c ldr r3, [pc, #48] ; (80507d4 ) 80507a2: 789b ldrb r3, [r3, #2] 80507a4: b2db uxtb r3, r3 80507a6: 2b04 cmp r3, #4 80507a8: d103 bne.n 80507b2 FileData.Aivs = 'E'; 80507aa: 4b19 ldr r3, [pc, #100] ; (8050810 ) 80507ac: 2245 movs r2, #69 ; 0x45 80507ae: f883 202c strb.w r2, [r3, #44] ; 0x2c if(pardata.IVS[VEL] == PEAK) 80507b2: 4b08 ldr r3, [pc, #32] ; (80507d4 ) 80507b4: 78db ldrb r3, [r3, #3] 80507b6: b2db uxtb r3, r3 80507b8: 2b00 cmp r3, #0 80507ba: d12b bne.n 8050814 FileData.Vivs = 'P'; 80507bc: 4b14 ldr r3, [pc, #80] ; (8050810 ) 80507be: 2250 movs r2, #80 ; 0x50 80507c0: f883 202d strb.w r2, [r3, #45] ; 0x2d 80507c4: e04d b.n 8050862 80507c6: bf00 nop 80507c8: 20022644 .word 0x20022644 80507cc: 20026938 .word 0x20026938 80507d0: 2002105d .word 0x2002105d 80507d4: 20023eb8 .word 0x20023eb8 80507d8: 20020de8 .word 0x20020de8 80507dc: 20020ea4 .word 0x20020ea4 80507e0: 20020dec .word 0x20020dec 80507e4: 200216dc .word 0x200216dc 80507e8: 20020df2 .word 0x20020df2 80507ec: 20020dd1 .word 0x20020dd1 80507f0: 20020dd2 .word 0x20020dd2 80507f4: 20020070 .word 0x20020070 80507f8: 20025c98 .word 0x20025c98 80507fc: 20020e3c .word 0x20020e3c 8050800: 20020fc5 .word 0x20020fc5 8050804: 080f5168 .word 0x080f5168 8050808: 20020fc6 .word 0x20020fc6 805080c: 200226a0 .word 0x200226a0 8050810: 200229dc .word 0x200229dc else if(pardata.IVS[VEL] == RMS) 8050814: 4b81 ldr r3, [pc, #516] ; (8050a1c ) 8050816: 78db ldrb r3, [r3, #3] 8050818: b2db uxtb r3, r3 805081a: 2b01 cmp r3, #1 805081c: d104 bne.n 8050828 FileData.Vivs = 'S'; 805081e: 4b80 ldr r3, [pc, #512] ; (8050a20 ) 8050820: 2253 movs r2, #83 ; 0x53 8050822: f883 202d strb.w r2, [r3, #45] ; 0x2d 8050826: e01c b.n 8050862 else if(pardata.IVS[VEL] == PEAK_TO_PEAK) 8050828: 4b7c ldr r3, [pc, #496] ; (8050a1c ) 805082a: 78db ldrb r3, [r3, #3] 805082c: b2db uxtb r3, r3 805082e: 2b02 cmp r3, #2 8050830: d104 bne.n 805083c FileData.Vivs = 'R'; 8050832: 4b7b ldr r3, [pc, #492] ; (8050a20 ) 8050834: 2252 movs r2, #82 ; 0x52 8050836: f883 202d strb.w r2, [r3, #45] ; 0x2d 805083a: e012 b.n 8050862 else if(pardata.IVS[VEL] == PEAK_FACTOR) 805083c: 4b77 ldr r3, [pc, #476] ; (8050a1c ) 805083e: 78db ldrb r3, [r3, #3] 8050840: b2db uxtb r3, r3 8050842: 2b03 cmp r3, #3 8050844: d104 bne.n 8050850 FileData.Vivs = 'F'; 8050846: 4b76 ldr r3, [pc, #472] ; (8050a20 ) 8050848: 2246 movs r2, #70 ; 0x46 805084a: f883 202d strb.w r2, [r3, #45] ; 0x2d 805084e: e008 b.n 8050862 else if(pardata.IVS[VEL] == EXCESS) 8050850: 4b72 ldr r3, [pc, #456] ; (8050a1c ) 8050852: 78db ldrb r3, [r3, #3] 8050854: b2db uxtb r3, r3 8050856: 2b04 cmp r3, #4 8050858: d103 bne.n 8050862 FileData.Vivs = 'E'; 805085a: 4b71 ldr r3, [pc, #452] ; (8050a20 ) 805085c: 2245 movs r2, #69 ; 0x45 805085e: f883 202d strb.w r2, [r3, #45] ; 0x2d if(pardata.IVS[DIS] == PEAK) 8050862: 4b6e ldr r3, [pc, #440] ; (8050a1c ) 8050864: 791b ldrb r3, [r3, #4] 8050866: b2db uxtb r3, r3 8050868: 2b00 cmp r3, #0 805086a: d104 bne.n 8050876 FileData.Sivs = 'P'; 805086c: 4b6c ldr r3, [pc, #432] ; (8050a20 ) 805086e: 2250 movs r2, #80 ; 0x50 8050870: f883 202e strb.w r2, [r3, #46] ; 0x2e 8050874: e026 b.n 80508c4 else if(pardata.IVS[DIS] == RMS) 8050876: 4b69 ldr r3, [pc, #420] ; (8050a1c ) 8050878: 791b ldrb r3, [r3, #4] 805087a: b2db uxtb r3, r3 805087c: 2b01 cmp r3, #1 805087e: d104 bne.n 805088a FileData.Sivs = 'S'; 8050880: 4b67 ldr r3, [pc, #412] ; (8050a20 ) 8050882: 2253 movs r2, #83 ; 0x53 8050884: f883 202e strb.w r2, [r3, #46] ; 0x2e 8050888: e01c b.n 80508c4 else if(pardata.IVS[DIS] == PEAK_TO_PEAK) 805088a: 4b64 ldr r3, [pc, #400] ; (8050a1c ) 805088c: 791b ldrb r3, [r3, #4] 805088e: b2db uxtb r3, r3 8050890: 2b02 cmp r3, #2 8050892: d104 bne.n 805089e FileData.Sivs = 'R'; 8050894: 4b62 ldr r3, [pc, #392] ; (8050a20 ) 8050896: 2252 movs r2, #82 ; 0x52 8050898: f883 202e strb.w r2, [r3, #46] ; 0x2e 805089c: e012 b.n 80508c4 else if(pardata.IVS[DIS] == PEAK_FACTOR) 805089e: 4b5f ldr r3, [pc, #380] ; (8050a1c ) 80508a0: 791b ldrb r3, [r3, #4] 80508a2: b2db uxtb r3, r3 80508a4: 2b03 cmp r3, #3 80508a6: d104 bne.n 80508b2 FileData.Sivs = 'F'; 80508a8: 4b5d ldr r3, [pc, #372] ; (8050a20 ) 80508aa: 2246 movs r2, #70 ; 0x46 80508ac: f883 202e strb.w r2, [r3, #46] ; 0x2e 80508b0: e008 b.n 80508c4 else if(pardata.IVS[DIS] == EXCESS) 80508b2: 4b5a ldr r3, [pc, #360] ; (8050a1c ) 80508b4: 791b ldrb r3, [r3, #4] 80508b6: b2db uxtb r3, r3 80508b8: 2b04 cmp r3, #4 80508ba: d103 bne.n 80508c4 FileData.Sivs = 'E'; 80508bc: 4b58 ldr r3, [pc, #352] ; (8050a20 ) 80508be: 2245 movs r2, #69 ; 0x45 80508c0: f883 202e strb.w r2, [r3, #46] ; 0x2e FileData.Aval.fl = skz[ACC]; 80508c4: 4b57 ldr r3, [pc, #348] ; (8050a24 ) 80508c6: 681b ldr r3, [r3, #0] 80508c8: 4a55 ldr r2, [pc, #340] ; (8050a20 ) 80508ca: 6013 str r3, [r2, #0] if(pardata.HP < 2.0f) 80508cc: 4b53 ldr r3, [pc, #332] ; (8050a1c ) 80508ce: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80508d2: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80508d6: eef4 7ac7 vcmpe.f32 s15, s14 80508da: eef1 fa10 vmrs APSR_nzcv, fpscr 80508de: d505 bpl.n 80508ec { skz[VEL] = -1.0f; 80508e0: 4b50 ldr r3, [pc, #320] ; (8050a24 ) 80508e2: 4a51 ldr r2, [pc, #324] ; (8050a28 ) 80508e4: 605a str r2, [r3, #4] skz[DIS] = -1.0f; 80508e6: 4b4f ldr r3, [pc, #316] ; (8050a24 ) 80508e8: 4a4f ldr r2, [pc, #316] ; (8050a28 ) 80508ea: 609a str r2, [r3, #8] } FileData.Vval.fl = skz[VEL]; 80508ec: 4b4d ldr r3, [pc, #308] ; (8050a24 ) 80508ee: 685b ldr r3, [r3, #4] 80508f0: 4a4b ldr r2, [pc, #300] ; (8050a20 ) 80508f2: 6053 str r3, [r2, #4] FileData.Sval.fl = skz[DIS]; 80508f4: 4b4b ldr r3, [pc, #300] ; (8050a24 ) 80508f6: 689b ldr r3, [r3, #8] 80508f8: 4a49 ldr r2, [pc, #292] ; (8050a20 ) 80508fa: 6093 str r3, [r2, #8] if(menu == MAIN) 80508fc: 4b4b ldr r3, [pc, #300] ; (8050a2c ) 80508fe: 781b ldrb r3, [r3, #0] 8050900: b2db uxtb r3, r3 8050902: 2b00 cmp r3, #0 8050904: d103 bne.n 805090e FileData.Fval.fl = -1.0f; 8050906: 4b46 ldr r3, [pc, #280] ; (8050a20 ) 8050908: 4a47 ldr r2, [pc, #284] ; (8050a28 ) 805090a: 60da str r2, [r3, #12] 805090c: e003 b.n 8050916 else FileData.Fval.fl = FreqFran; 805090e: 4b48 ldr r3, [pc, #288] ; (8050a30 ) 8050910: 681b ldr r3, [r3, #0] 8050912: 4a43 ldr r2, [pc, #268] ; (8050a20 ) 8050914: 60d3 str r3, [r2, #12] FileData.Time = RTC_TimeStruct; 8050916: 4b42 ldr r3, [pc, #264] ; (8050a20 ) 8050918: 4a46 ldr r2, [pc, #280] ; (8050a34 ) 805091a: f103 0410 add.w r4, r3, #16 805091e: 4615 mov r5, r2 8050920: cd0f ldmia r5!, {r0, r1, r2, r3} 8050922: c40f stmia r4!, {r0, r1, r2, r3} 8050924: e895 0003 ldmia.w r5, {r0, r1} 8050928: e884 0003 stmia.w r4, {r0, r1} FileData.Date = RTC_DateStruct; 805092c: 4b3c ldr r3, [pc, #240] ; (8050a20 ) 805092e: 4a42 ldr r2, [pc, #264] ; (8050a38 ) 8050930: 3328 adds r3, #40 ; 0x28 8050932: 6810 ldr r0, [r2, #0] 8050934: 6018 str r0, [r3, #0] AddToFile = true; 8050936: 4b41 ldr r3, [pc, #260] ; (8050a3c ) 8050938: 2201 movs r2, #1 805093a: 701a strb r2, [r3, #0] //************************************************************************************ result = WriteFilePTM(MeasFileName); 805093c: 4840 ldr r0, [pc, #256] ; (8050a40 ) 805093e: f7d7 fc8b bl 8028258 8050942: 4603 mov r3, r0 8050944: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050948: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805094c: 2b00 cmp r3, #0 805094e: d110 bne.n 8050972 { STATUS = AP_SAVING_SUCCESS; 8050950: 4b3c ldr r3, [pc, #240] ; (8050a44 ) 8050952: 2207 movs r2, #7 8050954: 601a str r2, [r3, #0] timerStatus = sec2; 8050956: 4b3c ldr r3, [pc, #240] ; (8050a48 ) 8050958: f44f 5280 mov.w r2, #4096 ; 0x1000 805095c: 801a strh r2, [r3, #0] DrawStatus = true; 805095e: 4b3b ldr r3, [pc, #236] ; (8050a4c ) 8050960: 2201 movs r2, #1 8050962: 701a strb r2, [r3, #0] Threshold = false; 8050964: 4b3a ldr r3, [pc, #232] ; (8050a50 ) 8050966: 2200 movs r2, #0 8050968: 701a strb r2, [r3, #0] FIRST = true; 805096a: 4b3a ldr r3, [pc, #232] ; (8050a54 ) 805096c: 2201 movs r2, #1 805096e: 701a strb r2, [r3, #0] 8050970: e009 b.n 8050986 } else { STATUS = AP_SAVING_ERROR; 8050972: 4b34 ldr r3, [pc, #208] ; (8050a44 ) 8050974: 2208 movs r2, #8 8050976: 601a str r2, [r3, #0] timerStatus = sec2; 8050978: 4b33 ldr r3, [pc, #204] ; (8050a48 ) 805097a: f44f 5280 mov.w r2, #4096 ; 0x1000 805097e: 801a strh r2, [r3, #0] DrawStatus = true; 8050980: 4b32 ldr r3, [pc, #200] ; (8050a4c ) 8050982: 2201 movs r2, #1 8050984: 701a strb r2, [r3, #0] } AddToFile = false; 8050986: 4b2d ldr r3, [pc, #180] ; (8050a3c ) 8050988: 2200 movs r2, #0 805098a: 701a strb r2, [r3, #0] { TEMP_Comment[CommentLen] = CHARS_ENG[menupos]; CommentLen++; } } break; 805098c: f003 beb0 b.w 80546f0 if(menupos == _BCKSPC) 8050990: 4b31 ldr r3, [pc, #196] ; (8050a58 ) 8050992: 781b ldrb r3, [r3, #0] 8050994: b2db uxtb r3, r3 8050996: 2b1d cmp r3, #29 8050998: d116 bne.n 80509c8 CommentLen = strlen(TEMP_Comment); 805099a: 4830 ldr r0, [pc, #192] ; (8050a5c ) 805099c: f7cf fcba bl 8020314 80509a0: 4602 mov r2, r0 80509a2: 4b2f ldr r3, [pc, #188] ; (8050a60 ) 80509a4: 601a str r2, [r3, #0] if(CommentLen) 80509a6: 4b2e ldr r3, [pc, #184] ; (8050a60 ) 80509a8: 681b ldr r3, [r3, #0] 80509aa: 2b00 cmp r3, #0 80509ac: f003 86a0 beq.w 80546f0 CommentLen--; 80509b0: 4b2b ldr r3, [pc, #172] ; (8050a60 ) 80509b2: 681b ldr r3, [r3, #0] 80509b4: 3b01 subs r3, #1 80509b6: 4a2a ldr r2, [pc, #168] ; (8050a60 ) 80509b8: 6013 str r3, [r2, #0] TEMP_Comment[CommentLen] = 0; 80509ba: 4b29 ldr r3, [pc, #164] ; (8050a60 ) 80509bc: 681b ldr r3, [r3, #0] 80509be: 4a27 ldr r2, [pc, #156] ; (8050a5c ) 80509c0: 2100 movs r1, #0 80509c2: 54d1 strb r1, [r2, r3] break; 80509c4: f003 be94 b.w 80546f0 if(menupos == _CANCEL) 80509c8: 4b23 ldr r3, [pc, #140] ; (8050a58 ) 80509ca: 781b ldrb r3, [r3, #0] 80509cc: b2db uxtb r3, r3 80509ce: 2b27 cmp r3, #39 ; 0x27 80509d0: d107 bne.n 80509e2 menu = MAIN; 80509d2: 4b16 ldr r3, [pc, #88] ; (8050a2c ) 80509d4: 2200 movs r2, #0 80509d6: 701a strb r2, [r3, #0] menupos = Record; 80509d8: 4b1f ldr r3, [pc, #124] ; (8050a58 ) 80509da: 2202 movs r2, #2 80509dc: 701a strb r2, [r3, #0] break; 80509de: f003 be87 b.w 80546f0 CommentLen = strlen(TEMP_Comment); 80509e2: 481e ldr r0, [pc, #120] ; (8050a5c ) 80509e4: f7cf fc96 bl 8020314 80509e8: 4602 mov r2, r0 80509ea: 4b1d ldr r3, [pc, #116] ; (8050a60 ) 80509ec: 601a str r2, [r3, #0] if(CommentLen < 25) 80509ee: 4b1c ldr r3, [pc, #112] ; (8050a60 ) 80509f0: 681b ldr r3, [r3, #0] 80509f2: 2b18 cmp r3, #24 80509f4: f203 867c bhi.w 80546f0 TEMP_Comment[CommentLen] = CHARS_ENG[menupos]; 80509f8: 4b19 ldr r3, [pc, #100] ; (8050a60 ) 80509fa: 681b ldr r3, [r3, #0] 80509fc: 4a16 ldr r2, [pc, #88] ; (8050a58 ) 80509fe: 7812 ldrb r2, [r2, #0] 8050a00: b2d2 uxtb r2, r2 8050a02: 4611 mov r1, r2 8050a04: 4a17 ldr r2, [pc, #92] ; (8050a64 ) 8050a06: 5c51 ldrb r1, [r2, r1] 8050a08: 4a14 ldr r2, [pc, #80] ; (8050a5c ) 8050a0a: 54d1 strb r1, [r2, r3] CommentLen++; 8050a0c: 4b14 ldr r3, [pc, #80] ; (8050a60 ) 8050a0e: 681b ldr r3, [r3, #0] 8050a10: 3301 adds r3, #1 8050a12: 4a13 ldr r2, [pc, #76] ; (8050a60 ) 8050a14: 6013 str r3, [r2, #0] break; 8050a16: f003 be6b b.w 80546f0 8050a1a: bf00 nop 8050a1c: 20023eb8 .word 0x20023eb8 8050a20: 200229dc .word 0x200229dc 8050a24: 20021590 .word 0x20021590 8050a28: bf800000 .word 0xbf800000 8050a2c: 20020fc5 .word 0x20020fc5 8050a30: 200215b4 .word 0x200215b4 8050a34: 20025cc0 .word 0x20025cc0 8050a38: 20025d44 .word 0x20025d44 8050a3c: 20020de8 .word 0x20020de8 8050a40: 20020e80 .word 0x20020e80 8050a44: 20020dec .word 0x20020dec 8050a48: 200216dc .word 0x200216dc 8050a4c: 20020df2 .word 0x20020df2 8050a50: 20020dd1 .word 0x20020dd1 8050a54: 20020dd2 .word 0x20020dd2 8050a58: 20020070 .word 0x20020070 8050a5c: 20025c98 .word 0x20025c98 8050a60: 20020e3c .word 0x20020e3c 8050a64: 080f5168 .word 0x080f5168 case INPUT_NAME_PTM: if(menupos == _ENTER) 8050a68: 4bbb ldr r3, [pc, #748] ; (8050d58 ) 8050a6a: 781b ldrb r3, [r3, #0] 8050a6c: b2db uxtb r3, r3 8050a6e: 2b26 cmp r3, #38 ; 0x26 8050a70: f040 80a3 bne.w 8050bba { MeasFileNameLen = strlen(TEMP_MeasFileName); 8050a74: 48b9 ldr r0, [pc, #740] ; (8050d5c ) 8050a76: f7cf fc4d bl 8020314 8050a7a: 4602 mov r2, r0 8050a7c: 4bb8 ldr r3, [pc, #736] ; (8050d60 ) 8050a7e: 601a str r2, [r3, #0] if(MeasFileNameLen > 0) 8050a80: 4bb7 ldr r3, [pc, #732] ; (8050d60 ) 8050a82: 681b ldr r3, [r3, #0] 8050a84: 2b00 cmp r3, #0 8050a86: f003 8635 beq.w 80546f4 { strcpy(string, TEMP_MeasFileName); 8050a8a: f107 0344 add.w r3, r7, #68 ; 0x44 8050a8e: 49b3 ldr r1, [pc, #716] ; (8050d5c ) 8050a90: 4618 mov r0, r3 8050a92: f081 fba4 bl 80d21de string[MeasFileNameLen] = '.'; 8050a96: 4bb2 ldr r3, [pc, #712] ; (8050d60 ) 8050a98: 681b ldr r3, [r3, #0] 8050a9a: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050a9e: 4413 add r3, r2 8050aa0: 222e movs r2, #46 ; 0x2e 8050aa2: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 1] = 'P'; 8050aa6: 4bae ldr r3, [pc, #696] ; (8050d60 ) 8050aa8: 681b ldr r3, [r3, #0] 8050aaa: 3301 adds r3, #1 8050aac: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050ab0: 4413 add r3, r2 8050ab2: 2250 movs r2, #80 ; 0x50 8050ab4: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 2] = 'T'; 8050ab8: 4ba9 ldr r3, [pc, #676] ; (8050d60 ) 8050aba: 681b ldr r3, [r3, #0] 8050abc: 3302 adds r3, #2 8050abe: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050ac2: 4413 add r3, r2 8050ac4: 2254 movs r2, #84 ; 0x54 8050ac6: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 3] = 'M'; 8050aca: 4ba5 ldr r3, [pc, #660] ; (8050d60 ) 8050acc: 681b ldr r3, [r3, #0] 8050ace: 3303 adds r3, #3 8050ad0: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050ad4: 4413 add r3, r2 8050ad6: 224d movs r2, #77 ; 0x4d 8050ad8: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 4] = '\0'; 8050adc: 4ba0 ldr r3, [pc, #640] ; (8050d60 ) 8050ade: 681b ldr r3, [r3, #0] 8050ae0: 3304 adds r3, #4 8050ae2: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050ae6: 4413 add r3, r2 8050ae8: 2200 movs r2, #0 8050aea: f803 2c84 strb.w r2, [r3, #-132] result = CheckExistPTM(string); 8050aee: f107 0344 add.w r3, r7, #68 ; 0x44 8050af2: 4618 mov r0, r3 8050af4: f7d9 f8b4 bl 8029c60 8050af8: 4603 mov r3, r0 8050afa: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_NO_FILE) 8050afe: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050b02: 2b04 cmp r3, #4 8050b04: d137 bne.n 8050b76 { result = CreateFilePTM(string); 8050b06: f107 0344 add.w r3, r7, #68 ; 0x44 8050b0a: 4618 mov r0, r3 8050b0c: f7d3 fb38 bl 8024180 8050b10: 4603 mov r3, r0 8050b12: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050b16: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050b1a: 2b00 cmp r3, #0 8050b1c: d119 bne.n 8050b52 { if(strcmp(MeasFileName, string) != 0) 8050b1e: f107 0344 add.w r3, r7, #68 ; 0x44 8050b22: 4619 mov r1, r3 8050b24: 488f ldr r0, [pc, #572] ; (8050d64 ) 8050b26: f7cf fbeb bl 8020300 8050b2a: 4603 mov r3, r0 8050b2c: 2b00 cmp r3, #0 8050b2e: d002 beq.n 8050b36 DrawSavedData = false; 8050b30: 4b8d ldr r3, [pc, #564] ; (8050d68 ) 8050b32: 2200 movs r2, #0 8050b34: 701a strb r2, [r3, #0] strcpy(MeasFileName, string); 8050b36: f107 0344 add.w r3, r7, #68 ; 0x44 8050b3a: 4619 mov r1, r3 8050b3c: 4889 ldr r0, [pc, #548] ; (8050d64 ) 8050b3e: f081 fb4e bl 80d21de menu = PARAM_VIB; 8050b42: 4b8a ldr r3, [pc, #552] ; (8050d6c ) 8050b44: 2206 movs r2, #6 8050b46: 701a strb r2, [r3, #0] menupos = SaveToFile; 8050b48: 4b83 ldr r3, [pc, #524] ; (8050d58 ) 8050b4a: 220a movs r2, #10 8050b4c: 701a strb r2, [r3, #0] { TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; MeasFileNameLen++; } } break; 8050b4e: f003 bdd1 b.w 80546f4 timerStatus = sec2; 8050b52: 4b87 ldr r3, [pc, #540] ; (8050d70 ) 8050b54: f44f 5280 mov.w r2, #4096 ; 0x1000 8050b58: 801a strh r2, [r3, #0] DrawStatus = true; 8050b5a: 4b86 ldr r3, [pc, #536] ; (8050d74 ) 8050b5c: 2201 movs r2, #1 8050b5e: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 8050b60: 4b85 ldr r3, [pc, #532] ; (8050d78 ) 8050b62: 220b movs r2, #11 8050b64: 601a str r2, [r3, #0] menu = PARAM_VIB; 8050b66: 4b81 ldr r3, [pc, #516] ; (8050d6c ) 8050b68: 2206 movs r2, #6 8050b6a: 701a strb r2, [r3, #0] menupos = SaveToFile; 8050b6c: 4b7a ldr r3, [pc, #488] ; (8050d58 ) 8050b6e: 220a movs r2, #10 8050b70: 701a strb r2, [r3, #0] break; 8050b72: f003 bdbf b.w 80546f4 if(result == FR_EXIST) 8050b76: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050b7a: 2b08 cmp r3, #8 8050b7c: d10b bne.n 8050b96 timerStatus = sec2; 8050b7e: 4b7c ldr r3, [pc, #496] ; (8050d70 ) 8050b80: f44f 5280 mov.w r2, #4096 ; 0x1000 8050b84: 801a strh r2, [r3, #0] DrawStatus = true; 8050b86: 4b7b ldr r3, [pc, #492] ; (8050d74 ) 8050b88: 2201 movs r2, #1 8050b8a: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 8050b8c: 4b7a ldr r3, [pc, #488] ; (8050d78 ) 8050b8e: 2206 movs r2, #6 8050b90: 601a str r2, [r3, #0] break; 8050b92: f003 bdaf b.w 80546f4 timerStatus = sec2; 8050b96: 4b76 ldr r3, [pc, #472] ; (8050d70 ) 8050b98: f44f 5280 mov.w r2, #4096 ; 0x1000 8050b9c: 801a strh r2, [r3, #0] DrawStatus = true; 8050b9e: 4b75 ldr r3, [pc, #468] ; (8050d74 ) 8050ba0: 2201 movs r2, #1 8050ba2: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 8050ba4: 4b74 ldr r3, [pc, #464] ; (8050d78 ) 8050ba6: 220b movs r2, #11 8050ba8: 601a str r2, [r3, #0] menu = PARAM_VIB; 8050baa: 4b70 ldr r3, [pc, #448] ; (8050d6c ) 8050bac: 2206 movs r2, #6 8050bae: 701a strb r2, [r3, #0] menupos = SaveToFile; 8050bb0: 4b69 ldr r3, [pc, #420] ; (8050d58 ) 8050bb2: 220a movs r2, #10 8050bb4: 701a strb r2, [r3, #0] break; 8050bb6: f003 bd9d b.w 80546f4 if(menupos == _BCKSPC) 8050bba: 4b67 ldr r3, [pc, #412] ; (8050d58 ) 8050bbc: 781b ldrb r3, [r3, #0] 8050bbe: b2db uxtb r3, r3 8050bc0: 2b1d cmp r3, #29 8050bc2: d116 bne.n 8050bf2 MeasFileNameLen = strlen(TEMP_MeasFileName); 8050bc4: 4865 ldr r0, [pc, #404] ; (8050d5c ) 8050bc6: f7cf fba5 bl 8020314 8050bca: 4602 mov r2, r0 8050bcc: 4b64 ldr r3, [pc, #400] ; (8050d60 ) 8050bce: 601a str r2, [r3, #0] if(MeasFileNameLen) 8050bd0: 4b63 ldr r3, [pc, #396] ; (8050d60 ) 8050bd2: 681b ldr r3, [r3, #0] 8050bd4: 2b00 cmp r3, #0 8050bd6: f003 858d beq.w 80546f4 MeasFileNameLen--; 8050bda: 4b61 ldr r3, [pc, #388] ; (8050d60 ) 8050bdc: 681b ldr r3, [r3, #0] 8050bde: 3b01 subs r3, #1 8050be0: 4a5f ldr r2, [pc, #380] ; (8050d60 ) 8050be2: 6013 str r3, [r2, #0] TEMP_MeasFileName[MeasFileNameLen] = 0; 8050be4: 4b5e ldr r3, [pc, #376] ; (8050d60 ) 8050be6: 681b ldr r3, [r3, #0] 8050be8: 4a5c ldr r2, [pc, #368] ; (8050d5c ) 8050bea: 2100 movs r1, #0 8050bec: 54d1 strb r1, [r2, r3] break; 8050bee: f003 bd81 b.w 80546f4 if(menupos == _CANCEL) 8050bf2: 4b59 ldr r3, [pc, #356] ; (8050d58 ) 8050bf4: 781b ldrb r3, [r3, #0] 8050bf6: b2db uxtb r3, r3 8050bf8: 2b27 cmp r3, #39 ; 0x27 8050bfa: d10f bne.n 8050c1c MeasFileNameLen = strlen(MeasFileName); 8050bfc: 4859 ldr r0, [pc, #356] ; (8050d64 ) 8050bfe: f7cf fb89 bl 8020314 8050c02: 4602 mov r2, r0 8050c04: 4b56 ldr r3, [pc, #344] ; (8050d60 ) 8050c06: 601a str r2, [r3, #0] menu = EXPLORER; 8050c08: 4b58 ldr r3, [pc, #352] ; (8050d6c ) 8050c0a: 2229 movs r2, #41 ; 0x29 8050c0c: 701a strb r2, [r3, #0] menupos = lastmenupos; 8050c0e: 4b5b ldr r3, [pc, #364] ; (8050d7c ) 8050c10: 781b ldrb r3, [r3, #0] 8050c12: b2da uxtb r2, r3 8050c14: 4b50 ldr r3, [pc, #320] ; (8050d58 ) 8050c16: 701a strb r2, [r3, #0] break; 8050c18: f003 bd6c b.w 80546f4 MeasFileNameLen = strlen(TEMP_MeasFileName); 8050c1c: 484f ldr r0, [pc, #316] ; (8050d5c ) 8050c1e: f7cf fb79 bl 8020314 8050c22: 4602 mov r2, r0 8050c24: 4b4e ldr r3, [pc, #312] ; (8050d60 ) 8050c26: 601a str r2, [r3, #0] if(MeasFileNameLen < MAX_NAME) 8050c28: 4b4d ldr r3, [pc, #308] ; (8050d60 ) 8050c2a: 681b ldr r3, [r3, #0] 8050c2c: 2b18 cmp r3, #24 8050c2e: f203 8561 bhi.w 80546f4 TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; 8050c32: 4b4b ldr r3, [pc, #300] ; (8050d60 ) 8050c34: 681b ldr r3, [r3, #0] 8050c36: 4a48 ldr r2, [pc, #288] ; (8050d58 ) 8050c38: 7812 ldrb r2, [r2, #0] 8050c3a: b2d2 uxtb r2, r2 8050c3c: 4611 mov r1, r2 8050c3e: 4a50 ldr r2, [pc, #320] ; (8050d80 ) 8050c40: 5c51 ldrb r1, [r2, r1] 8050c42: 4a46 ldr r2, [pc, #280] ; (8050d5c ) 8050c44: 54d1 strb r1, [r2, r3] MeasFileNameLen++; 8050c46: 4b46 ldr r3, [pc, #280] ; (8050d60 ) 8050c48: 681b ldr r3, [r3, #0] 8050c4a: 3301 adds r3, #1 8050c4c: 4a44 ldr r2, [pc, #272] ; (8050d60 ) 8050c4e: 6013 str r3, [r2, #0] break; 8050c50: f003 bd50 b.w 80546f4 case INPUT_NAME: if(menupos == _ENTER) 8050c54: 4b40 ldr r3, [pc, #256] ; (8050d58 ) 8050c56: 781b ldrb r3, [r3, #0] 8050c58: b2db uxtb r3, r3 8050c5a: 2b26 cmp r3, #38 ; 0x26 8050c5c: d160 bne.n 8050d20 { NameLen = strlen(TEMP_Name); 8050c5e: 4849 ldr r0, [pc, #292] ; (8050d84 ) 8050c60: f7cf fb58 bl 8020314 8050c64: 4602 mov r2, r0 8050c66: 4b48 ldr r3, [pc, #288] ; (8050d88 ) 8050c68: 601a str r2, [r3, #0] if(NameLen > 0) 8050c6a: 4b47 ldr r3, [pc, #284] ; (8050d88 ) 8050c6c: 681b ldr r3, [r3, #0] 8050c6e: 2b00 cmp r3, #0 8050c70: f003 8542 beq.w 80546f8 { strcpy(string, TEMP_Name); 8050c74: f107 0344 add.w r3, r7, #68 ; 0x44 8050c78: 4942 ldr r1, [pc, #264] ; (8050d84 ) 8050c7a: 4618 mov r0, r3 8050c7c: f081 faaf bl 80d21de for(i = 0; i < 8; i++) 8050c80: 2300 movs r3, #0 8050c82: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8050c86: e01b b.n 8050cc0 { k = strcmp(string, (void *) &pardata.DIAGN_NAME[i][0]); 8050c88: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8050c8c: 4613 mov r3, r2 8050c8e: 009b lsls r3, r3, #2 8050c90: 4413 add r3, r2 8050c92: 00db lsls r3, r3, #3 8050c94: 33d8 adds r3, #216 ; 0xd8 8050c96: 4a3d ldr r2, [pc, #244] ; (8050d8c ) 8050c98: 4413 add r3, r2 8050c9a: 1d1a adds r2, r3, #4 8050c9c: f107 0344 add.w r3, r7, #68 ; 0x44 8050ca0: 4611 mov r1, r2 8050ca2: 4618 mov r0, r3 8050ca4: f7cf fb2c bl 8020300 8050ca8: 4603 mov r3, r0 8050caa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(!k) 8050cae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050cb2: 2b00 cmp r3, #0 8050cb4: d009 beq.n 8050cca for(i = 0; i < 8; i++) 8050cb6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8050cba: 3301 adds r3, #1 8050cbc: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8050cc0: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8050cc4: 2b07 cmp r3, #7 8050cc6: d9df bls.n 8050c88 8050cc8: e000 b.n 8050ccc break; 8050cca: bf00 nop } if(k) 8050ccc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050cd0: 2b00 cmp r3, #0 8050cd2: d019 beq.n 8050d08 { strcpy((void *) &pardata.DIAGN_NAME[CURR_POINT][0], string); 8050cd4: 4b2e ldr r3, [pc, #184] ; (8050d90 ) 8050cd6: 781b ldrb r3, [r3, #0] 8050cd8: b2db uxtb r3, r3 8050cda: 461a mov r2, r3 8050cdc: 4613 mov r3, r2 8050cde: 009b lsls r3, r3, #2 8050ce0: 4413 add r3, r2 8050ce2: 00db lsls r3, r3, #3 8050ce4: 33d8 adds r3, #216 ; 0xd8 8050ce6: 4a29 ldr r2, [pc, #164] ; (8050d8c ) 8050ce8: 4413 add r3, r2 8050cea: 3304 adds r3, #4 8050cec: f107 0244 add.w r2, r7, #68 ; 0x44 8050cf0: 4611 mov r1, r2 8050cf2: 4618 mov r0, r3 8050cf4: f081 fa73 bl 80d21de menu = PARAM_DIAGN_2; 8050cf8: 4b1c ldr r3, [pc, #112] ; (8050d6c ) 8050cfa: 2211 movs r2, #17 8050cfc: 701a strb r2, [r3, #0] menupos = DiagName; 8050cfe: 4b16 ldr r3, [pc, #88] ; (8050d58 ) 8050d00: 2206 movs r2, #6 8050d02: 701a strb r2, [r3, #0] { TEMP_Name[NameLen] = CHARS_ENG[menupos]; NameLen++; } } break; 8050d04: f003 bcf8 b.w 80546f8 timerStatus = sec2; 8050d08: 4b19 ldr r3, [pc, #100] ; (8050d70 ) 8050d0a: f44f 5280 mov.w r2, #4096 ; 0x1000 8050d0e: 801a strh r2, [r3, #0] DrawStatus = true; 8050d10: 4b18 ldr r3, [pc, #96] ; (8050d74 ) 8050d12: 2201 movs r2, #1 8050d14: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 8050d16: 4b18 ldr r3, [pc, #96] ; (8050d78 ) 8050d18: 2206 movs r2, #6 8050d1a: 601a str r2, [r3, #0] break; 8050d1c: f003 bcec b.w 80546f8 if(menupos == _BCKSPC) 8050d20: 4b0d ldr r3, [pc, #52] ; (8050d58 ) 8050d22: 781b ldrb r3, [r3, #0] 8050d24: b2db uxtb r3, r3 8050d26: 2b1d cmp r3, #29 8050d28: d134 bne.n 8050d94 NameLen = strlen(TEMP_Name); 8050d2a: 4816 ldr r0, [pc, #88] ; (8050d84 ) 8050d2c: f7cf faf2 bl 8020314 8050d30: 4602 mov r2, r0 8050d32: 4b15 ldr r3, [pc, #84] ; (8050d88 ) 8050d34: 601a str r2, [r3, #0] if(NameLen) 8050d36: 4b14 ldr r3, [pc, #80] ; (8050d88 ) 8050d38: 681b ldr r3, [r3, #0] 8050d3a: 2b00 cmp r3, #0 8050d3c: f003 84dc beq.w 80546f8 NameLen--; 8050d40: 4b11 ldr r3, [pc, #68] ; (8050d88 ) 8050d42: 681b ldr r3, [r3, #0] 8050d44: 3b01 subs r3, #1 8050d46: 4a10 ldr r2, [pc, #64] ; (8050d88 ) 8050d48: 6013 str r3, [r2, #0] TEMP_Name[NameLen] = 0; 8050d4a: 4b0f ldr r3, [pc, #60] ; (8050d88 ) 8050d4c: 681b ldr r3, [r3, #0] 8050d4e: 4a0d ldr r2, [pc, #52] ; (8050d84 ) 8050d50: 2100 movs r1, #0 8050d52: 54d1 strb r1, [r2, r3] break; 8050d54: f003 bcd0 b.w 80546f8 8050d58: 20020070 .word 0x20020070 8050d5c: 20025cd8 .word 0x20025cd8 8050d60: 20020f14 .word 0x20020f14 8050d64: 20020e80 .word 0x20020e80 8050d68: 20020dea .word 0x20020dea 8050d6c: 20020fc5 .word 0x20020fc5 8050d70: 200216dc .word 0x200216dc 8050d74: 20020df2 .word 0x20020df2 8050d78: 20020dec .word 0x20020dec 8050d7c: 20020071 .word 0x20020071 8050d80: 080f5168 .word 0x080f5168 8050d84: 20025d4c .word 0x20025d4c 8050d88: 20020f1c .word 0x20020f1c 8050d8c: 20023eb8 .word 0x20023eb8 8050d90: 2002105d .word 0x2002105d if(menupos == _CANCEL) 8050d94: 4b93 ldr r3, [pc, #588] ; (8050fe4 ) 8050d96: 781b ldrb r3, [r3, #0] 8050d98: b2db uxtb r3, r3 8050d9a: 2b27 cmp r3, #39 ; 0x27 8050d9c: d10f bne.n 8050dbe NameLen = strlen(Name); 8050d9e: 4892 ldr r0, [pc, #584] ; (8050fe8 ) 8050da0: f7cf fab8 bl 8020314 8050da4: 4602 mov r2, r0 8050da6: 4b91 ldr r3, [pc, #580] ; (8050fec ) 8050da8: 601a str r2, [r3, #0] menu = PARAM_DIAGN_2; 8050daa: 4b91 ldr r3, [pc, #580] ; (8050ff0 ) 8050dac: 2211 movs r2, #17 8050dae: 701a strb r2, [r3, #0] menupos = lastmenupos; 8050db0: 4b90 ldr r3, [pc, #576] ; (8050ff4 ) 8050db2: 781b ldrb r3, [r3, #0] 8050db4: b2da uxtb r2, r3 8050db6: 4b8b ldr r3, [pc, #556] ; (8050fe4 ) 8050db8: 701a strb r2, [r3, #0] break; 8050dba: f003 bc9d b.w 80546f8 NameLen = strlen(TEMP_Name); 8050dbe: 488e ldr r0, [pc, #568] ; (8050ff8 ) 8050dc0: f7cf faa8 bl 8020314 8050dc4: 4602 mov r2, r0 8050dc6: 4b89 ldr r3, [pc, #548] ; (8050fec ) 8050dc8: 601a str r2, [r3, #0] if(NameLen < MAX_NAME) 8050dca: 4b88 ldr r3, [pc, #544] ; (8050fec ) 8050dcc: 681b ldr r3, [r3, #0] 8050dce: 2b18 cmp r3, #24 8050dd0: f203 8492 bhi.w 80546f8 TEMP_Name[NameLen] = CHARS_ENG[menupos]; 8050dd4: 4b85 ldr r3, [pc, #532] ; (8050fec ) 8050dd6: 681b ldr r3, [r3, #0] 8050dd8: 4a82 ldr r2, [pc, #520] ; (8050fe4 ) 8050dda: 7812 ldrb r2, [r2, #0] 8050ddc: b2d2 uxtb r2, r2 8050dde: 4611 mov r1, r2 8050de0: 4a86 ldr r2, [pc, #536] ; (8050ffc ) 8050de2: 5c51 ldrb r1, [r2, r1] 8050de4: 4a84 ldr r2, [pc, #528] ; (8050ff8 ) 8050de6: 54d1 strb r1, [r2, r3] NameLen++; 8050de8: 4b80 ldr r3, [pc, #512] ; (8050fec ) 8050dea: 681b ldr r3, [r3, #0] 8050dec: 3301 adds r3, #1 8050dee: 4a7f ldr r2, [pc, #508] ; (8050fec ) 8050df0: 6013 str r3, [r2, #0] break; 8050df2: f003 bc81 b.w 80546f8 case INPUT_NAME_DGN: if(menupos == _ENTER) 8050df6: 4b7b ldr r3, [pc, #492] ; (8050fe4 ) 8050df8: 781b ldrb r3, [r3, #0] 8050dfa: b2db uxtb r3, r3 8050dfc: 2b26 cmp r3, #38 ; 0x26 8050dfe: f040 80a3 bne.w 8050f48 { DiagFileNameLen = strlen(TEMP_DiagFileName); 8050e02: 487f ldr r0, [pc, #508] ; (8051000 ) 8050e04: f7cf fa86 bl 8020314 8050e08: 4602 mov r2, r0 8050e0a: 4b7e ldr r3, [pc, #504] ; (8051004 ) 8050e0c: 601a str r2, [r3, #0] if(DiagFileNameLen > 0) 8050e0e: 4b7d ldr r3, [pc, #500] ; (8051004 ) 8050e10: 681b ldr r3, [r3, #0] 8050e12: 2b00 cmp r3, #0 8050e14: f003 8472 beq.w 80546fc { strcpy(string, TEMP_DiagFileName); 8050e18: f107 0344 add.w r3, r7, #68 ; 0x44 8050e1c: 4978 ldr r1, [pc, #480] ; (8051000 ) 8050e1e: 4618 mov r0, r3 8050e20: f081 f9dd bl 80d21de string[DiagFileNameLen] = '.'; 8050e24: 4b77 ldr r3, [pc, #476] ; (8051004 ) 8050e26: 681b ldr r3, [r3, #0] 8050e28: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050e2c: 4413 add r3, r2 8050e2e: 222e movs r2, #46 ; 0x2e 8050e30: f803 2c84 strb.w r2, [r3, #-132] string[DiagFileNameLen + 1] = 'D'; 8050e34: 4b73 ldr r3, [pc, #460] ; (8051004 ) 8050e36: 681b ldr r3, [r3, #0] 8050e38: 3301 adds r3, #1 8050e3a: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050e3e: 4413 add r3, r2 8050e40: 2244 movs r2, #68 ; 0x44 8050e42: f803 2c84 strb.w r2, [r3, #-132] string[DiagFileNameLen + 2] = 'G'; 8050e46: 4b6f ldr r3, [pc, #444] ; (8051004 ) 8050e48: 681b ldr r3, [r3, #0] 8050e4a: 3302 adds r3, #2 8050e4c: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050e50: 4413 add r3, r2 8050e52: 2247 movs r2, #71 ; 0x47 8050e54: f803 2c84 strb.w r2, [r3, #-132] string[DiagFileNameLen + 3] = 'N'; 8050e58: 4b6a ldr r3, [pc, #424] ; (8051004 ) 8050e5a: 681b ldr r3, [r3, #0] 8050e5c: 3303 adds r3, #3 8050e5e: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050e62: 4413 add r3, r2 8050e64: 224e movs r2, #78 ; 0x4e 8050e66: f803 2c84 strb.w r2, [r3, #-132] string[DiagFileNameLen + 4] = '\0'; 8050e6a: 4b66 ldr r3, [pc, #408] ; (8051004 ) 8050e6c: 681b ldr r3, [r3, #0] 8050e6e: 3304 adds r3, #4 8050e70: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050e74: 4413 add r3, r2 8050e76: 2200 movs r2, #0 8050e78: f803 2c84 strb.w r2, [r3, #-132] result = CheckExistDGN(string); 8050e7c: f107 0344 add.w r3, r7, #68 ; 0x44 8050e80: 4618 mov r0, r3 8050e82: f7d8 ff3d bl 8029d00 8050e86: 4603 mov r3, r0 8050e88: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_NO_FILE) 8050e8c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050e90: 2b04 cmp r3, #4 8050e92: d137 bne.n 8050f04 { result = CreateFileDGN(string); 8050e94: f107 0344 add.w r3, r7, #68 ; 0x44 8050e98: 4618 mov r0, r3 8050e9a: f7d3 fa0d bl 80242b8 8050e9e: 4603 mov r3, r0 8050ea0: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050ea4: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050ea8: 2b00 cmp r3, #0 8050eaa: d119 bne.n 8050ee0 { if(strcmp(DiagFileName, string) != 0) 8050eac: f107 0344 add.w r3, r7, #68 ; 0x44 8050eb0: 4619 mov r1, r3 8050eb2: 4855 ldr r0, [pc, #340] ; (8051008 ) 8050eb4: f7cf fa24 bl 8020300 8050eb8: 4603 mov r3, r0 8050eba: 2b00 cmp r3, #0 8050ebc: d002 beq.n 8050ec4 DrawSavedData = false; 8050ebe: 4b53 ldr r3, [pc, #332] ; (805100c ) 8050ec0: 2200 movs r2, #0 8050ec2: 701a strb r2, [r3, #0] strcpy(DiagFileName, string); 8050ec4: f107 0344 add.w r3, r7, #68 ; 0x44 8050ec8: 4619 mov r1, r3 8050eca: 484f ldr r0, [pc, #316] ; (8051008 ) 8050ecc: f081 f987 bl 80d21de menu = PARAM_DIAGN; 8050ed0: 4b47 ldr r3, [pc, #284] ; (8050ff0 ) 8050ed2: 220f movs r2, #15 8050ed4: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 8050ed6: 4b43 ldr r3, [pc, #268] ; (8050fe4 ) 8050ed8: 2204 movs r2, #4 8050eda: 701a strb r2, [r3, #0] { TEMP_DiagFileName[DiagFileNameLen] = CHARS_ENG[menupos]; DiagFileNameLen++; } } break; 8050edc: f003 bc0e b.w 80546fc timerStatus = sec2; 8050ee0: 4b4b ldr r3, [pc, #300] ; (8051010 ) 8050ee2: f44f 5280 mov.w r2, #4096 ; 0x1000 8050ee6: 801a strh r2, [r3, #0] DrawStatus = true; 8050ee8: 4b4a ldr r3, [pc, #296] ; (8051014 ) 8050eea: 2201 movs r2, #1 8050eec: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 8050eee: 4b4a ldr r3, [pc, #296] ; (8051018 ) 8050ef0: 220b movs r2, #11 8050ef2: 601a str r2, [r3, #0] menu = PARAM_DIAGN; 8050ef4: 4b3e ldr r3, [pc, #248] ; (8050ff0 ) 8050ef6: 220f movs r2, #15 8050ef8: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 8050efa: 4b3a ldr r3, [pc, #232] ; (8050fe4 ) 8050efc: 2204 movs r2, #4 8050efe: 701a strb r2, [r3, #0] break; 8050f00: f003 bbfc b.w 80546fc if(result == FR_EXIST) 8050f04: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050f08: 2b08 cmp r3, #8 8050f0a: d10b bne.n 8050f24 timerStatus = sec2; 8050f0c: 4b40 ldr r3, [pc, #256] ; (8051010 ) 8050f0e: f44f 5280 mov.w r2, #4096 ; 0x1000 8050f12: 801a strh r2, [r3, #0] DrawStatus = true; 8050f14: 4b3f ldr r3, [pc, #252] ; (8051014 ) 8050f16: 2201 movs r2, #1 8050f18: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 8050f1a: 4b3f ldr r3, [pc, #252] ; (8051018 ) 8050f1c: 2206 movs r2, #6 8050f1e: 601a str r2, [r3, #0] break; 8050f20: f003 bbec b.w 80546fc timerStatus = sec2; 8050f24: 4b3a ldr r3, [pc, #232] ; (8051010 ) 8050f26: f44f 5280 mov.w r2, #4096 ; 0x1000 8050f2a: 801a strh r2, [r3, #0] DrawStatus = true; 8050f2c: 4b39 ldr r3, [pc, #228] ; (8051014 ) 8050f2e: 2201 movs r2, #1 8050f30: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 8050f32: 4b39 ldr r3, [pc, #228] ; (8051018 ) 8050f34: 220b movs r2, #11 8050f36: 601a str r2, [r3, #0] menu = PARAM_DIAGN; 8050f38: 4b2d ldr r3, [pc, #180] ; (8050ff0 ) 8050f3a: 220f movs r2, #15 8050f3c: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 8050f3e: 4b29 ldr r3, [pc, #164] ; (8050fe4 ) 8050f40: 2204 movs r2, #4 8050f42: 701a strb r2, [r3, #0] break; 8050f44: f003 bbda b.w 80546fc if(menupos == _BCKSPC) 8050f48: 4b26 ldr r3, [pc, #152] ; (8050fe4 ) 8050f4a: 781b ldrb r3, [r3, #0] 8050f4c: b2db uxtb r3, r3 8050f4e: 2b1d cmp r3, #29 8050f50: d116 bne.n 8050f80 DiagFileNameLen = strlen(TEMP_DiagFileName); 8050f52: 482b ldr r0, [pc, #172] ; (8051000 ) 8050f54: f7cf f9de bl 8020314 8050f58: 4602 mov r2, r0 8050f5a: 4b2a ldr r3, [pc, #168] ; (8051004 ) 8050f5c: 601a str r2, [r3, #0] if(DiagFileNameLen) 8050f5e: 4b29 ldr r3, [pc, #164] ; (8051004 ) 8050f60: 681b ldr r3, [r3, #0] 8050f62: 2b00 cmp r3, #0 8050f64: f003 83ca beq.w 80546fc DiagFileNameLen--; 8050f68: 4b26 ldr r3, [pc, #152] ; (8051004 ) 8050f6a: 681b ldr r3, [r3, #0] 8050f6c: 3b01 subs r3, #1 8050f6e: 4a25 ldr r2, [pc, #148] ; (8051004 ) 8050f70: 6013 str r3, [r2, #0] TEMP_DiagFileName[DiagFileNameLen] = 0; 8050f72: 4b24 ldr r3, [pc, #144] ; (8051004 ) 8050f74: 681b ldr r3, [r3, #0] 8050f76: 4a22 ldr r2, [pc, #136] ; (8051000 ) 8050f78: 2100 movs r1, #0 8050f7a: 54d1 strb r1, [r2, r3] break; 8050f7c: f003 bbbe b.w 80546fc if(menupos == _CANCEL) 8050f80: 4b18 ldr r3, [pc, #96] ; (8050fe4 ) 8050f82: 781b ldrb r3, [r3, #0] 8050f84: b2db uxtb r3, r3 8050f86: 2b27 cmp r3, #39 ; 0x27 8050f88: d10f bne.n 8050faa DiagFileNameLen = strlen(DiagFileName); 8050f8a: 481f ldr r0, [pc, #124] ; (8051008 ) 8050f8c: f7cf f9c2 bl 8020314 8050f90: 4602 mov r2, r0 8050f92: 4b1c ldr r3, [pc, #112] ; (8051004 ) 8050f94: 601a str r2, [r3, #0] menu = EXPLORER_DIAGN; 8050f96: 4b16 ldr r3, [pc, #88] ; (8050ff0 ) 8050f98: 222a movs r2, #42 ; 0x2a 8050f9a: 701a strb r2, [r3, #0] menupos = lastmenupos; 8050f9c: 4b15 ldr r3, [pc, #84] ; (8050ff4 ) 8050f9e: 781b ldrb r3, [r3, #0] 8050fa0: b2da uxtb r2, r3 8050fa2: 4b10 ldr r3, [pc, #64] ; (8050fe4 ) 8050fa4: 701a strb r2, [r3, #0] break; 8050fa6: f003 bba9 b.w 80546fc DiagFileNameLen = strlen(TEMP_DiagFileName); 8050faa: 4815 ldr r0, [pc, #84] ; (8051000 ) 8050fac: f7cf f9b2 bl 8020314 8050fb0: 4602 mov r2, r0 8050fb2: 4b14 ldr r3, [pc, #80] ; (8051004 ) 8050fb4: 601a str r2, [r3, #0] if(DiagFileNameLen < MAX_NAME) 8050fb6: 4b13 ldr r3, [pc, #76] ; (8051004 ) 8050fb8: 681b ldr r3, [r3, #0] 8050fba: 2b18 cmp r3, #24 8050fbc: f203 839e bhi.w 80546fc TEMP_DiagFileName[DiagFileNameLen] = CHARS_ENG[menupos]; 8050fc0: 4b10 ldr r3, [pc, #64] ; (8051004 ) 8050fc2: 681b ldr r3, [r3, #0] 8050fc4: 4a07 ldr r2, [pc, #28] ; (8050fe4 ) 8050fc6: 7812 ldrb r2, [r2, #0] 8050fc8: b2d2 uxtb r2, r2 8050fca: 4611 mov r1, r2 8050fcc: 4a0b ldr r2, [pc, #44] ; (8050ffc ) 8050fce: 5c51 ldrb r1, [r2, r1] 8050fd0: 4a0b ldr r2, [pc, #44] ; (8051000 ) 8050fd2: 54d1 strb r1, [r2, r3] DiagFileNameLen++; 8050fd4: 4b0b ldr r3, [pc, #44] ; (8051004 ) 8050fd6: 681b ldr r3, [r3, #0] 8050fd8: 3301 adds r3, #1 8050fda: 4a0a ldr r2, [pc, #40] ; (8051004 ) 8050fdc: 6013 str r3, [r2, #0] break; 8050fde: f003 bb8d b.w 80546fc 8050fe2: bf00 nop 8050fe4: 20020070 .word 0x20020070 8050fe8: 20020eec .word 0x20020eec 8050fec: 20020f1c .word 0x20020f1c 8050ff0: 20020fc5 .word 0x20020fc5 8050ff4: 20020071 .word 0x20020071 8050ff8: 20025d4c .word 0x20025d4c 8050ffc: 080f5168 .word 0x080f5168 8051000: 20025d20 .word 0x20025d20 8051004: 20020f18 .word 0x20020f18 8051008: 20020ea4 .word 0x20020ea4 805100c: 20020dea .word 0x20020dea 8051010: 200216dc .word 0x200216dc 8051014: 20020df2 .word 0x20020df2 8051018: 20020dec .word 0x20020dec case INPUT_NAME_SPEC: if(menupos == _ENTER) 805101c: 4bae ldr r3, [pc, #696] ; (80512d8 ) 805101e: 781b ldrb r3, [r3, #0] 8051020: b2db uxtb r3, r3 8051022: 2b26 cmp r3, #38 ; 0x26 8051024: f040 8097 bne.w 8051156 { MeasFileNameLen = strlen(TEMP_MeasFileName); 8051028: 48ac ldr r0, [pc, #688] ; (80512dc ) 805102a: f7cf f973 bl 8020314 805102e: 4602 mov r2, r0 8051030: 4bab ldr r3, [pc, #684] ; (80512e0 ) 8051032: 601a str r2, [r3, #0] if(MeasFileNameLen > 0) 8051034: 4baa ldr r3, [pc, #680] ; (80512e0 ) 8051036: 681b ldr r3, [r3, #0] 8051038: 2b00 cmp r3, #0 805103a: f003 8361 beq.w 8054700 { strcpy(string, TEMP_MeasFileName); 805103e: f107 0344 add.w r3, r7, #68 ; 0x44 8051042: 49a6 ldr r1, [pc, #664] ; (80512dc ) 8051044: 4618 mov r0, r3 8051046: f081 f8ca bl 80d21de string[MeasFileNameLen] = '.'; 805104a: 4ba5 ldr r3, [pc, #660] ; (80512e0 ) 805104c: 681b ldr r3, [r3, #0] 805104e: f107 02c8 add.w r2, r7, #200 ; 0xc8 8051052: 4413 add r3, r2 8051054: 222e movs r2, #46 ; 0x2e 8051056: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 1] = 'C'; 805105a: 4ba1 ldr r3, [pc, #644] ; (80512e0 ) 805105c: 681b ldr r3, [r3, #0] 805105e: 3301 adds r3, #1 8051060: f107 02c8 add.w r2, r7, #200 ; 0xc8 8051064: 4413 add r3, r2 8051066: 2243 movs r2, #67 ; 0x43 8051068: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 2] = 'S'; 805106c: 4b9c ldr r3, [pc, #624] ; (80512e0 ) 805106e: 681b ldr r3, [r3, #0] 8051070: 3302 adds r3, #2 8051072: f107 02c8 add.w r2, r7, #200 ; 0xc8 8051076: 4413 add r3, r2 8051078: 2253 movs r2, #83 ; 0x53 805107a: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 3] = 'V'; 805107e: 4b98 ldr r3, [pc, #608] ; (80512e0 ) 8051080: 681b ldr r3, [r3, #0] 8051082: 3303 adds r3, #3 8051084: f107 02c8 add.w r2, r7, #200 ; 0xc8 8051088: 4413 add r3, r2 805108a: 2256 movs r2, #86 ; 0x56 805108c: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 4] = '\0'; 8051090: 4b93 ldr r3, [pc, #588] ; (80512e0 ) 8051092: 681b ldr r3, [r3, #0] 8051094: 3304 adds r3, #4 8051096: f107 02c8 add.w r2, r7, #200 ; 0xc8 805109a: 4413 add r3, r2 805109c: 2200 movs r2, #0 805109e: f803 2c84 strb.w r2, [r3, #-132] result = CheckExistSPEC(string); 80510a2: f107 0344 add.w r3, r7, #68 ; 0x44 80510a6: 4618 mov r0, r3 80510a8: f7d8 fe7a bl 8029da0 80510ac: 4603 mov r3, r0 80510ae: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_NO_FILE) 80510b2: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80510b6: 2b04 cmp r3, #4 80510b8: d129 bne.n 805110e { result = CreateFileSPEC(string); 80510ba: f107 0344 add.w r3, r7, #68 ; 0x44 80510be: 4618 mov r0, r3 80510c0: f7d3 f996 bl 80243f0 80510c4: 4603 mov r3, r0 80510c6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80510ca: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80510ce: 2b00 cmp r3, #0 80510d0: d109 bne.n 80510e6 { menu = lastmenu; 80510d2: 4b84 ldr r3, [pc, #528] ; (80512e4 ) 80510d4: 781b ldrb r3, [r3, #0] 80510d6: b2da uxtb r2, r3 80510d8: 4b83 ldr r3, [pc, #524] ; (80512e8 ) 80510da: 701a strb r2, [r3, #0] menupos = SaveSpec; 80510dc: 4b7e ldr r3, [pc, #504] ; (80512d8 ) 80510de: 2209 movs r2, #9 80510e0: 701a strb r2, [r3, #0] { TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; MeasFileNameLen++; } } break; 80510e2: f003 bb0d b.w 8054700 timerStatus = sec2; 80510e6: 4b81 ldr r3, [pc, #516] ; (80512ec ) 80510e8: f44f 5280 mov.w r2, #4096 ; 0x1000 80510ec: 801a strh r2, [r3, #0] DrawStatus = true; 80510ee: 4b80 ldr r3, [pc, #512] ; (80512f0 ) 80510f0: 2201 movs r2, #1 80510f2: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 80510f4: 4b7f ldr r3, [pc, #508] ; (80512f4 ) 80510f6: 220b movs r2, #11 80510f8: 601a str r2, [r3, #0] menu = lastmenu; 80510fa: 4b7a ldr r3, [pc, #488] ; (80512e4 ) 80510fc: 781b ldrb r3, [r3, #0] 80510fe: b2da uxtb r2, r3 8051100: 4b79 ldr r3, [pc, #484] ; (80512e8 ) 8051102: 701a strb r2, [r3, #0] menupos = SaveSpec; 8051104: 4b74 ldr r3, [pc, #464] ; (80512d8 ) 8051106: 2209 movs r2, #9 8051108: 701a strb r2, [r3, #0] break; 805110a: f003 baf9 b.w 8054700 if(result == FR_EXIST) 805110e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051112: 2b08 cmp r3, #8 8051114: d10b bne.n 805112e timerStatus = sec2; 8051116: 4b75 ldr r3, [pc, #468] ; (80512ec ) 8051118: f44f 5280 mov.w r2, #4096 ; 0x1000 805111c: 801a strh r2, [r3, #0] DrawStatus = true; 805111e: 4b74 ldr r3, [pc, #464] ; (80512f0 ) 8051120: 2201 movs r2, #1 8051122: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 8051124: 4b73 ldr r3, [pc, #460] ; (80512f4 ) 8051126: 2206 movs r2, #6 8051128: 601a str r2, [r3, #0] break; 805112a: f003 bae9 b.w 8054700 timerStatus = sec2; 805112e: 4b6f ldr r3, [pc, #444] ; (80512ec ) 8051130: f44f 5280 mov.w r2, #4096 ; 0x1000 8051134: 801a strh r2, [r3, #0] DrawStatus = true; 8051136: 4b6e ldr r3, [pc, #440] ; (80512f0 ) 8051138: 2201 movs r2, #1 805113a: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 805113c: 4b6d ldr r3, [pc, #436] ; (80512f4 ) 805113e: 220b movs r2, #11 8051140: 601a str r2, [r3, #0] menu = lastmenu; 8051142: 4b68 ldr r3, [pc, #416] ; (80512e4 ) 8051144: 781b ldrb r3, [r3, #0] 8051146: b2da uxtb r2, r3 8051148: 4b67 ldr r3, [pc, #412] ; (80512e8 ) 805114a: 701a strb r2, [r3, #0] menupos = SaveSpec; 805114c: 4b62 ldr r3, [pc, #392] ; (80512d8 ) 805114e: 2209 movs r2, #9 8051150: 701a strb r2, [r3, #0] break; 8051152: f003 bad5 b.w 8054700 if(menupos == _BCKSPC) 8051156: 4b60 ldr r3, [pc, #384] ; (80512d8 ) 8051158: 781b ldrb r3, [r3, #0] 805115a: b2db uxtb r3, r3 805115c: 2b1d cmp r3, #29 805115e: d116 bne.n 805118e MeasFileNameLen = strlen(TEMP_MeasFileName); 8051160: 485e ldr r0, [pc, #376] ; (80512dc ) 8051162: f7cf f8d7 bl 8020314 8051166: 4602 mov r2, r0 8051168: 4b5d ldr r3, [pc, #372] ; (80512e0 ) 805116a: 601a str r2, [r3, #0] if(MeasFileNameLen) 805116c: 4b5c ldr r3, [pc, #368] ; (80512e0 ) 805116e: 681b ldr r3, [r3, #0] 8051170: 2b00 cmp r3, #0 8051172: f003 82c5 beq.w 8054700 MeasFileNameLen--; 8051176: 4b5a ldr r3, [pc, #360] ; (80512e0 ) 8051178: 681b ldr r3, [r3, #0] 805117a: 3b01 subs r3, #1 805117c: 4a58 ldr r2, [pc, #352] ; (80512e0 ) 805117e: 6013 str r3, [r2, #0] TEMP_MeasFileName[MeasFileNameLen] = 0; 8051180: 4b57 ldr r3, [pc, #348] ; (80512e0 ) 8051182: 681b ldr r3, [r3, #0] 8051184: 4a55 ldr r2, [pc, #340] ; (80512dc ) 8051186: 2100 movs r1, #0 8051188: 54d1 strb r1, [r2, r3] break; 805118a: f003 bab9 b.w 8054700 if(menupos == _CANCEL) 805118e: 4b52 ldr r3, [pc, #328] ; (80512d8 ) 8051190: 781b ldrb r3, [r3, #0] 8051192: b2db uxtb r3, r3 8051194: 2b27 cmp r3, #39 ; 0x27 8051196: d10f bne.n 80511b8 MeasFileNameLen = strlen(MeasFileName); 8051198: 4857 ldr r0, [pc, #348] ; (80512f8 ) 805119a: f7cf f8bb bl 8020314 805119e: 4602 mov r2, r0 80511a0: 4b4f ldr r3, [pc, #316] ; (80512e0 ) 80511a2: 601a str r2, [r3, #0] menu = lastmenu; 80511a4: 4b4f ldr r3, [pc, #316] ; (80512e4 ) 80511a6: 781b ldrb r3, [r3, #0] 80511a8: b2da uxtb r2, r3 80511aa: 4b4f ldr r3, [pc, #316] ; (80512e8 ) 80511ac: 701a strb r2, [r3, #0] menupos = SaveSpec; 80511ae: 4b4a ldr r3, [pc, #296] ; (80512d8 ) 80511b0: 2209 movs r2, #9 80511b2: 701a strb r2, [r3, #0] break; 80511b4: f003 baa4 b.w 8054700 MeasFileNameLen = strlen(TEMP_MeasFileName); 80511b8: 4848 ldr r0, [pc, #288] ; (80512dc ) 80511ba: f7cf f8ab bl 8020314 80511be: 4602 mov r2, r0 80511c0: 4b47 ldr r3, [pc, #284] ; (80512e0 ) 80511c2: 601a str r2, [r3, #0] if(MeasFileNameLen < MAX_NAME) 80511c4: 4b46 ldr r3, [pc, #280] ; (80512e0 ) 80511c6: 681b ldr r3, [r3, #0] 80511c8: 2b18 cmp r3, #24 80511ca: f203 8299 bhi.w 8054700 TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; 80511ce: 4b44 ldr r3, [pc, #272] ; (80512e0 ) 80511d0: 681b ldr r3, [r3, #0] 80511d2: 4a41 ldr r2, [pc, #260] ; (80512d8 ) 80511d4: 7812 ldrb r2, [r2, #0] 80511d6: b2d2 uxtb r2, r2 80511d8: 4611 mov r1, r2 80511da: 4a48 ldr r2, [pc, #288] ; (80512fc ) 80511dc: 5c51 ldrb r1, [r2, r1] 80511de: 4a3f ldr r2, [pc, #252] ; (80512dc ) 80511e0: 54d1 strb r1, [r2, r3] MeasFileNameLen++; 80511e2: 4b3f ldr r3, [pc, #252] ; (80512e0 ) 80511e4: 681b ldr r3, [r3, #0] 80511e6: 3301 adds r3, #1 80511e8: 4a3d ldr r2, [pc, #244] ; (80512e0 ) 80511ea: 6013 str r3, [r2, #0] break; 80511ec: f003 ba88 b.w 8054700 case INPUT_NAME_GTR: if(menupos == _ENTER) 80511f0: 4b39 ldr r3, [pc, #228] ; (80512d8 ) 80511f2: 781b ldrb r3, [r3, #0] 80511f4: b2db uxtb r3, r3 80511f6: 2b26 cmp r3, #38 ; 0x26 80511f8: d152 bne.n 80512a0 { WavFileNameLen = strlen(TEMP_WavFileName); 80511fa: 4841 ldr r0, [pc, #260] ; (8051300 ) 80511fc: f7cf f88a bl 8020314 8051200: 4602 mov r2, r0 8051202: 4b40 ldr r3, [pc, #256] ; (8051304 ) 8051204: 601a str r2, [r3, #0] if(WavFileNameLen > 0) 8051206: 4b3f ldr r3, [pc, #252] ; (8051304 ) 8051208: 681b ldr r3, [r3, #0] 805120a: 2b00 cmp r3, #0 805120c: f003 827a beq.w 8054704 { strcpy(string, TEMP_WavFileName); 8051210: f107 0344 add.w r3, r7, #68 ; 0x44 8051214: 493a ldr r1, [pc, #232] ; (8051300 ) 8051216: 4618 mov r0, r3 8051218: f080 ffe1 bl 80d21de string[WavFileNameLen] = '.'; 805121c: 4b39 ldr r3, [pc, #228] ; (8051304 ) 805121e: 681b ldr r3, [r3, #0] 8051220: f107 02c8 add.w r2, r7, #200 ; 0xc8 8051224: 4413 add r3, r2 8051226: 222e movs r2, #46 ; 0x2e 8051228: f803 2c84 strb.w r2, [r3, #-132] string[WavFileNameLen + 1] = 'G'; 805122c: 4b35 ldr r3, [pc, #212] ; (8051304 ) 805122e: 681b ldr r3, [r3, #0] 8051230: 3301 adds r3, #1 8051232: f107 02c8 add.w r2, r7, #200 ; 0xc8 8051236: 4413 add r3, r2 8051238: 2247 movs r2, #71 ; 0x47 805123a: f803 2c84 strb.w r2, [r3, #-132] string[WavFileNameLen + 2] = 'T'; 805123e: 4b31 ldr r3, [pc, #196] ; (8051304 ) 8051240: 681b ldr r3, [r3, #0] 8051242: 3302 adds r3, #2 8051244: f107 02c8 add.w r2, r7, #200 ; 0xc8 8051248: 4413 add r3, r2 805124a: 2254 movs r2, #84 ; 0x54 805124c: f803 2c84 strb.w r2, [r3, #-132] string[WavFileNameLen + 3] = 'R'; 8051250: 4b2c ldr r3, [pc, #176] ; (8051304 ) 8051252: 681b ldr r3, [r3, #0] 8051254: 3303 adds r3, #3 8051256: f107 02c8 add.w r2, r7, #200 ; 0xc8 805125a: 4413 add r3, r2 805125c: 2252 movs r2, #82 ; 0x52 805125e: f803 2c84 strb.w r2, [r3, #-132] string[WavFileNameLen + 4] = '\0'; 8051262: 4b28 ldr r3, [pc, #160] ; (8051304 ) 8051264: 681b ldr r3, [r3, #0] 8051266: 3304 adds r3, #4 8051268: f107 02c8 add.w r2, r7, #200 ; 0xc8 805126c: 4413 add r3, r2 805126e: 2200 movs r2, #0 8051270: f803 2c84 strb.w r2, [r3, #-132] memset(WavFileName, 0, sizeof(WavFileName)); 8051274: 2221 movs r2, #33 ; 0x21 8051276: 2100 movs r1, #0 8051278: 4823 ldr r0, [pc, #140] ; (8051308 ) 805127a: f080 fe93 bl 80d1fa4 strcpy(WavFileName, string); 805127e: f107 0344 add.w r3, r7, #68 ; 0x44 8051282: 4619 mov r1, r3 8051284: 4820 ldr r0, [pc, #128] ; (8051308 ) 8051286: f080 ffaa bl 80d21de menu = PARAM_WAVE; 805128a: 4b17 ldr r3, [pc, #92] ; (80512e8 ) 805128c: 220a movs r2, #10 805128e: 701a strb r2, [r3, #0] menupos = WaveName; 8051290: 4b11 ldr r3, [pc, #68] ; (80512d8 ) 8051292: 2204 movs r2, #4 8051294: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8051296: 4b1d ldr r3, [pc, #116] ; (805130c ) 8051298: 2200 movs r2, #0 805129a: 709a strb r2, [r3, #2] { TEMP_WavFileName[WavFileNameLen] = CHARS_ENG[menupos]; WavFileNameLen++; } } break; 805129c: f003 ba32 b.w 8054704 if(menupos == _BCKSPC) 80512a0: 4b0d ldr r3, [pc, #52] ; (80512d8 ) 80512a2: 781b ldrb r3, [r3, #0] 80512a4: b2db uxtb r3, r3 80512a6: 2b1d cmp r3, #29 80512a8: d132 bne.n 8051310 WavFileNameLen = strlen(TEMP_WavFileName); 80512aa: 4815 ldr r0, [pc, #84] ; (8051300 ) 80512ac: f7cf f832 bl 8020314 80512b0: 4602 mov r2, r0 80512b2: 4b14 ldr r3, [pc, #80] ; (8051304 ) 80512b4: 601a str r2, [r3, #0] if(WavFileNameLen) 80512b6: 4b13 ldr r3, [pc, #76] ; (8051304 ) 80512b8: 681b ldr r3, [r3, #0] 80512ba: 2b00 cmp r3, #0 80512bc: f003 8222 beq.w 8054704 WavFileNameLen--; 80512c0: 4b10 ldr r3, [pc, #64] ; (8051304 ) 80512c2: 681b ldr r3, [r3, #0] 80512c4: 3b01 subs r3, #1 80512c6: 4a0f ldr r2, [pc, #60] ; (8051304 ) 80512c8: 6013 str r3, [r2, #0] TEMP_WavFileName[WavFileNameLen] = 0; 80512ca: 4b0e ldr r3, [pc, #56] ; (8051304 ) 80512cc: 681b ldr r3, [r3, #0] 80512ce: 4a0c ldr r2, [pc, #48] ; (8051300 ) 80512d0: 2100 movs r1, #0 80512d2: 54d1 strb r1, [r2, r3] break; 80512d4: f003 ba16 b.w 8054704 80512d8: 20020070 .word 0x20020070 80512dc: 20025cd8 .word 0x20025cd8 80512e0: 20020f14 .word 0x20020f14 80512e4: 20020fc6 .word 0x20020fc6 80512e8: 20020fc5 .word 0x20020fc5 80512ec: 200216dc .word 0x200216dc 80512f0: 20020df2 .word 0x20020df2 80512f4: 20020dec .word 0x20020dec 80512f8: 20020e80 .word 0x20020e80 80512fc: 080f5168 .word 0x080f5168 8051300: 20025cfc .word 0x20025cfc 8051304: 20020f10 .word 0x20020f10 8051308: 20020e5c .word 0x20020e5c 805130c: 20023eb8 .word 0x20023eb8 if(menupos == _CANCEL) 8051310: 4bb1 ldr r3, [pc, #708] ; (80515d8 ) 8051312: 781b ldrb r3, [r3, #0] 8051314: b2db uxtb r3, r3 8051316: 2b27 cmp r3, #39 ; 0x27 8051318: d110 bne.n 805133c WavFileNameLen = strlen(WavFileName); 805131a: 48b0 ldr r0, [pc, #704] ; (80515dc ) 805131c: f7ce fffa bl 8020314 8051320: 4602 mov r2, r0 8051322: 4baf ldr r3, [pc, #700] ; (80515e0 ) 8051324: 601a str r2, [r3, #0] menu = PARAM_WAVE; 8051326: 4baf ldr r3, [pc, #700] ; (80515e4 ) 8051328: 220a movs r2, #10 805132a: 701a strb r2, [r3, #0] menupos = WaveName; 805132c: 4baa ldr r3, [pc, #680] ; (80515d8 ) 805132e: 2204 movs r2, #4 8051330: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8051332: 4bad ldr r3, [pc, #692] ; (80515e8 ) 8051334: 2200 movs r2, #0 8051336: 709a strb r2, [r3, #2] break; 8051338: f003 b9e4 b.w 8054704 WavFileNameLen = strlen(TEMP_WavFileName); 805133c: 48ab ldr r0, [pc, #684] ; (80515ec ) 805133e: f7ce ffe9 bl 8020314 8051342: 4602 mov r2, r0 8051344: 4ba6 ldr r3, [pc, #664] ; (80515e0 ) 8051346: 601a str r2, [r3, #0] if(WavFileNameLen < MAX_NAME) 8051348: 4ba5 ldr r3, [pc, #660] ; (80515e0 ) 805134a: 681b ldr r3, [r3, #0] 805134c: 2b18 cmp r3, #24 805134e: f203 81d9 bhi.w 8054704 TEMP_WavFileName[WavFileNameLen] = CHARS_ENG[menupos]; 8051352: 4ba3 ldr r3, [pc, #652] ; (80515e0 ) 8051354: 681b ldr r3, [r3, #0] 8051356: 4aa0 ldr r2, [pc, #640] ; (80515d8 ) 8051358: 7812 ldrb r2, [r2, #0] 805135a: b2d2 uxtb r2, r2 805135c: 4611 mov r1, r2 805135e: 4aa4 ldr r2, [pc, #656] ; (80515f0 ) 8051360: 5c51 ldrb r1, [r2, r1] 8051362: 4aa2 ldr r2, [pc, #648] ; (80515ec ) 8051364: 54d1 strb r1, [r2, r3] WavFileNameLen++; 8051366: 4b9e ldr r3, [pc, #632] ; (80515e0 ) 8051368: 681b ldr r3, [r3, #0] 805136a: 3301 adds r3, #1 805136c: 4a9c ldr r2, [pc, #624] ; (80515e0 ) 805136e: 6013 str r3, [r2, #0] break; 8051370: f003 b9c8 b.w 8054704 case INPUT_NAME_FRN: if(menupos == _ENTER) 8051374: 4b98 ldr r3, [pc, #608] ; (80515d8 ) 8051376: 781b ldrb r3, [r3, #0] 8051378: b2db uxtb r3, r3 805137a: 2b26 cmp r3, #38 ; 0x26 805137c: f040 8085 bne.w 805148a { MeasFileNameLen = strlen(TEMP_MeasFileName); 8051380: 489c ldr r0, [pc, #624] ; (80515f4 ) 8051382: f7ce ffc7 bl 8020314 8051386: 4602 mov r2, r0 8051388: 4b9b ldr r3, [pc, #620] ; (80515f8 ) 805138a: 601a str r2, [r3, #0] if(MeasFileNameLen > 0) 805138c: 4b9a ldr r3, [pc, #616] ; (80515f8 ) 805138e: 681b ldr r3, [r3, #0] 8051390: 2b00 cmp r3, #0 8051392: f003 81b9 beq.w 8054708 { strcpy(string, TEMP_MeasFileName); 8051396: f107 0344 add.w r3, r7, #68 ; 0x44 805139a: 4996 ldr r1, [pc, #600] ; (80515f4 ) 805139c: 4618 mov r0, r3 805139e: f080 ff1e bl 80d21de string[MeasFileNameLen] = '.'; 80513a2: 4b95 ldr r3, [pc, #596] ; (80515f8 ) 80513a4: 681b ldr r3, [r3, #0] 80513a6: f107 02c8 add.w r2, r7, #200 ; 0xc8 80513aa: 4413 add r3, r2 80513ac: 222e movs r2, #46 ; 0x2e 80513ae: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 1] = 'F'; 80513b2: 4b91 ldr r3, [pc, #580] ; (80515f8 ) 80513b4: 681b ldr r3, [r3, #0] 80513b6: 3301 adds r3, #1 80513b8: f107 02c8 add.w r2, r7, #200 ; 0xc8 80513bc: 4413 add r3, r2 80513be: 2246 movs r2, #70 ; 0x46 80513c0: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 2] = 'R'; 80513c4: 4b8c ldr r3, [pc, #560] ; (80515f8 ) 80513c6: 681b ldr r3, [r3, #0] 80513c8: 3302 adds r3, #2 80513ca: f107 02c8 add.w r2, r7, #200 ; 0xc8 80513ce: 4413 add r3, r2 80513d0: 2252 movs r2, #82 ; 0x52 80513d2: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 3] = 'N'; 80513d6: 4b88 ldr r3, [pc, #544] ; (80515f8 ) 80513d8: 681b ldr r3, [r3, #0] 80513da: 3303 adds r3, #3 80513dc: f107 02c8 add.w r2, r7, #200 ; 0xc8 80513e0: 4413 add r3, r2 80513e2: 224e movs r2, #78 ; 0x4e 80513e4: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 4] = '\0'; 80513e8: 4b83 ldr r3, [pc, #524] ; (80515f8 ) 80513ea: 681b ldr r3, [r3, #0] 80513ec: 3304 adds r3, #4 80513ee: f107 02c8 add.w r2, r7, #200 ; 0xc8 80513f2: 4413 add r3, r2 80513f4: 2200 movs r2, #0 80513f6: f803 2c84 strb.w r2, [r3, #-132] result = CreateFileFRN(string); 80513fa: f107 0344 add.w r3, r7, #68 ; 0x44 80513fe: 4618 mov r0, r3 8051400: f7d3 fb34 bl 8024a6c 8051404: 4603 mov r3, r0 8051406: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805140a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805140e: 2b00 cmp r3, #0 8051410: d115 bne.n 805143e { STATUS = AP_SAVING_SUCCESS; 8051412: 4b7a ldr r3, [pc, #488] ; (80515fc ) 8051414: 2207 movs r2, #7 8051416: 601a str r2, [r3, #0] timerStatus = sec2; 8051418: 4b79 ldr r3, [pc, #484] ; (8051600 ) 805141a: f44f 5280 mov.w r2, #4096 ; 0x1000 805141e: 801a strh r2, [r3, #0] DrawStatus = true; 8051420: 4b78 ldr r3, [pc, #480] ; (8051604 ) 8051422: 2201 movs r2, #1 8051424: 701a strb r2, [r3, #0] menu = lastmenu; 8051426: 4b78 ldr r3, [pc, #480] ; (8051608 ) 8051428: 781b ldrb r3, [r3, #0] 805142a: b2da uxtb r2, r3 805142c: 4b6d ldr r3, [pc, #436] ; (80515e4 ) 805142e: 701a strb r2, [r3, #0] menupos = lastmenupos; 8051430: 4b76 ldr r3, [pc, #472] ; (805160c ) 8051432: 781b ldrb r3, [r3, #0] 8051434: b2da uxtb r2, r3 8051436: 4b68 ldr r3, [pc, #416] ; (80515d8 ) 8051438: 701a strb r2, [r3, #0] { TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; MeasFileNameLen++; } } break; 805143a: f003 b965 b.w 8054708 if(result == FR_EXIST) 805143e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051442: 2b08 cmp r3, #8 8051444: d10b bne.n 805145e timerStatus = sec2; 8051446: 4b6e ldr r3, [pc, #440] ; (8051600 ) 8051448: f44f 5280 mov.w r2, #4096 ; 0x1000 805144c: 801a strh r2, [r3, #0] DrawStatus = true; 805144e: 4b6d ldr r3, [pc, #436] ; (8051604 ) 8051450: 2201 movs r2, #1 8051452: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 8051454: 4b69 ldr r3, [pc, #420] ; (80515fc ) 8051456: 2206 movs r2, #6 8051458: 601a str r2, [r3, #0] break; 805145a: f003 b955 b.w 8054708 timerStatus = sec2; 805145e: 4b68 ldr r3, [pc, #416] ; (8051600 ) 8051460: f44f 5280 mov.w r2, #4096 ; 0x1000 8051464: 801a strh r2, [r3, #0] DrawStatus = true; 8051466: 4b67 ldr r3, [pc, #412] ; (8051604 ) 8051468: 2201 movs r2, #1 805146a: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 805146c: 4b63 ldr r3, [pc, #396] ; (80515fc ) 805146e: 220b movs r2, #11 8051470: 601a str r2, [r3, #0] menu = lastmenu; 8051472: 4b65 ldr r3, [pc, #404] ; (8051608 ) 8051474: 781b ldrb r3, [r3, #0] 8051476: b2da uxtb r2, r3 8051478: 4b5a ldr r3, [pc, #360] ; (80515e4 ) 805147a: 701a strb r2, [r3, #0] menupos = lastmenupos; 805147c: 4b63 ldr r3, [pc, #396] ; (805160c ) 805147e: 781b ldrb r3, [r3, #0] 8051480: b2da uxtb r2, r3 8051482: 4b55 ldr r3, [pc, #340] ; (80515d8 ) 8051484: 701a strb r2, [r3, #0] break; 8051486: f003 b93f b.w 8054708 if(menupos == _BCKSPC) 805148a: 4b53 ldr r3, [pc, #332] ; (80515d8 ) 805148c: 781b ldrb r3, [r3, #0] 805148e: b2db uxtb r3, r3 8051490: 2b1d cmp r3, #29 8051492: d116 bne.n 80514c2 MeasFileNameLen = strlen(TEMP_MeasFileName); 8051494: 4857 ldr r0, [pc, #348] ; (80515f4 ) 8051496: f7ce ff3d bl 8020314 805149a: 4602 mov r2, r0 805149c: 4b56 ldr r3, [pc, #344] ; (80515f8 ) 805149e: 601a str r2, [r3, #0] if(MeasFileNameLen) 80514a0: 4b55 ldr r3, [pc, #340] ; (80515f8 ) 80514a2: 681b ldr r3, [r3, #0] 80514a4: 2b00 cmp r3, #0 80514a6: f003 812f beq.w 8054708 MeasFileNameLen--; 80514aa: 4b53 ldr r3, [pc, #332] ; (80515f8 ) 80514ac: 681b ldr r3, [r3, #0] 80514ae: 3b01 subs r3, #1 80514b0: 4a51 ldr r2, [pc, #324] ; (80515f8 ) 80514b2: 6013 str r3, [r2, #0] TEMP_MeasFileName[MeasFileNameLen] = 0; 80514b4: 4b50 ldr r3, [pc, #320] ; (80515f8 ) 80514b6: 681b ldr r3, [r3, #0] 80514b8: 4a4e ldr r2, [pc, #312] ; (80515f4 ) 80514ba: 2100 movs r1, #0 80514bc: 54d1 strb r1, [r2, r3] break; 80514be: f003 b923 b.w 8054708 if(menupos == _CANCEL) 80514c2: 4b45 ldr r3, [pc, #276] ; (80515d8 ) 80514c4: 781b ldrb r3, [r3, #0] 80514c6: b2db uxtb r3, r3 80514c8: 2b27 cmp r3, #39 ; 0x27 80514ca: d111 bne.n 80514f0 MeasFileNameLen = strlen(MeasFileName); 80514cc: 4850 ldr r0, [pc, #320] ; (8051610 ) 80514ce: f7ce ff21 bl 8020314 80514d2: 4602 mov r2, r0 80514d4: 4b48 ldr r3, [pc, #288] ; (80515f8 ) 80514d6: 601a str r2, [r3, #0] menu = lastmenu; 80514d8: 4b4b ldr r3, [pc, #300] ; (8051608 ) 80514da: 781b ldrb r3, [r3, #0] 80514dc: b2da uxtb r2, r3 80514de: 4b41 ldr r3, [pc, #260] ; (80515e4 ) 80514e0: 701a strb r2, [r3, #0] menupos = lastmenupos; 80514e2: 4b4a ldr r3, [pc, #296] ; (805160c ) 80514e4: 781b ldrb r3, [r3, #0] 80514e6: b2da uxtb r2, r3 80514e8: 4b3b ldr r3, [pc, #236] ; (80515d8 ) 80514ea: 701a strb r2, [r3, #0] break; 80514ec: f003 b90c b.w 8054708 MeasFileNameLen = strlen(TEMP_MeasFileName); 80514f0: 4840 ldr r0, [pc, #256] ; (80515f4 ) 80514f2: f7ce ff0f bl 8020314 80514f6: 4602 mov r2, r0 80514f8: 4b3f ldr r3, [pc, #252] ; (80515f8 ) 80514fa: 601a str r2, [r3, #0] if(MeasFileNameLen < MAX_NAME) 80514fc: 4b3e ldr r3, [pc, #248] ; (80515f8 ) 80514fe: 681b ldr r3, [r3, #0] 8051500: 2b18 cmp r3, #24 8051502: f203 8101 bhi.w 8054708 TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; 8051506: 4b3c ldr r3, [pc, #240] ; (80515f8 ) 8051508: 681b ldr r3, [r3, #0] 805150a: 4a33 ldr r2, [pc, #204] ; (80515d8 ) 805150c: 7812 ldrb r2, [r2, #0] 805150e: b2d2 uxtb r2, r2 8051510: 4611 mov r1, r2 8051512: 4a37 ldr r2, [pc, #220] ; (80515f0 ) 8051514: 5c51 ldrb r1, [r2, r1] 8051516: 4a37 ldr r2, [pc, #220] ; (80515f4 ) 8051518: 54d1 strb r1, [r2, r3] MeasFileNameLen++; 805151a: 4b37 ldr r3, [pc, #220] ; (80515f8 ) 805151c: 681b ldr r3, [r3, #0] 805151e: 3301 adds r3, #1 8051520: 4a35 ldr r2, [pc, #212] ; (80515f8 ) 8051522: 6013 str r3, [r2, #0] break; 8051524: f003 b8f0 b.w 8054708 case OPTIONS: focused = false; 8051528: 4b3a ldr r3, [pc, #232] ; (8051614 ) 805152a: 2200 movs r2, #0 805152c: 701a strb r2, [r3, #0] switch(menupos) 805152e: 4b2a ldr r3, [pc, #168] ; (80515d8 ) 8051530: 781b ldrb r3, [r3, #0] 8051532: b2db uxtb r3, r3 8051534: 3b01 subs r3, #1 8051536: 2b09 cmp r3, #9 8051538: f203 80e8 bhi.w 805470c 805153c: a201 add r2, pc, #4 ; (adr r2, 8051544 ) 805153e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8051542: bf00 nop 8051544: 0805156d .word 0x0805156d 8051548: 080516b5 .word 0x080516b5 805154c: 080516cd .word 0x080516cd 8051550: 0805179b .word 0x0805179b 8051554: 08051abf .word 0x08051abf 8051558: 08051ac7 .word 0x08051ac7 805155c: 0805470d .word 0x0805470d 8051560: 08051ae1 .word 0x08051ae1 8051564: 08051885 .word 0x08051885 8051568: 080518e5 .word 0x080518e5 { case Mode: menu = MEAS_MODE; 805156c: 4b1d ldr r3, [pc, #116] ; (80515e4 ) 805156e: 2202 movs r2, #2 8051570: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051572: 4b19 ldr r3, [pc, #100] ; (80515d8 ) 8051574: 781b ldrb r3, [r3, #0] 8051576: b2da uxtb r2, r3 8051578: 4b24 ldr r3, [pc, #144] ; (805160c ) 805157a: 701a strb r2, [r3, #0] if(pardata.SYG == VIB) 805157c: 4b1a ldr r3, [pc, #104] ; (80515e8 ) 805157e: 781b ldrb r3, [r3, #0] 8051580: b2db uxtb r3, r3 8051582: 2b00 cmp r3, #0 8051584: d103 bne.n 805158e menupos = Vibrometer; 8051586: 4b14 ldr r3, [pc, #80] ; (80515d8 ) 8051588: 2201 movs r2, #1 805158a: 701a strb r2, [r3, #0] 805158c: e073 b.n 8051676 else if(pardata.SYG == SPEC) 805158e: 4b16 ldr r3, [pc, #88] ; (80515e8 ) 8051590: 781b ldrb r3, [r3, #0] 8051592: b2db uxtb r3, r3 8051594: 2b01 cmp r3, #1 8051596: d103 bne.n 80515a0 menupos = FFT; 8051598: 4b0f ldr r3, [pc, #60] ; (80515d8 ) 805159a: 2203 movs r2, #3 805159c: 701a strb r2, [r3, #0] 805159e: e06a b.n 8051676 else if(pardata.SYG == OSC) 80515a0: 4b11 ldr r3, [pc, #68] ; (80515e8 ) 80515a2: 781b ldrb r3, [r3, #0] 80515a4: b2db uxtb r3, r3 80515a6: 2b02 cmp r3, #2 80515a8: d103 bne.n 80515b2 menupos = Osc; 80515aa: 4b0b ldr r3, [pc, #44] ; (80515d8 ) 80515ac: 2202 movs r2, #2 80515ae: 701a strb r2, [r3, #0] 80515b0: e061 b.n 8051676 else if(pardata.SYG == WAVE) 80515b2: 4b0d ldr r3, [pc, #52] ; (80515e8 ) 80515b4: 781b ldrb r3, [r3, #0] 80515b6: b2db uxtb r3, r3 80515b8: 2b04 cmp r3, #4 80515ba: d103 bne.n 80515c4 menupos = Wave; 80515bc: 4b06 ldr r3, [pc, #24] ; (80515d8 ) 80515be: 2204 movs r2, #4 80515c0: 701a strb r2, [r3, #0] 80515c2: e058 b.n 8051676 else if(pardata.SYG == SPEC_OGIB) 80515c4: 4b08 ldr r3, [pc, #32] ; (80515e8 ) 80515c6: 781b ldrb r3, [r3, #0] 80515c8: b2db uxtb r3, r3 80515ca: 2b05 cmp r3, #5 80515cc: d124 bne.n 8051618 menupos = FFT; 80515ce: 4b02 ldr r3, [pc, #8] ; (80515d8 ) 80515d0: 2203 movs r2, #3 80515d2: 701a strb r2, [r3, #0] 80515d4: e04f b.n 8051676 80515d6: bf00 nop 80515d8: 20020070 .word 0x20020070 80515dc: 20020e5c .word 0x20020e5c 80515e0: 20020f10 .word 0x20020f10 80515e4: 20020fc5 .word 0x20020fc5 80515e8: 20023eb8 .word 0x20023eb8 80515ec: 20025cfc .word 0x20025cfc 80515f0: 080f5168 .word 0x080f5168 80515f4: 20025cd8 .word 0x20025cd8 80515f8: 20020f14 .word 0x20020f14 80515fc: 20020dec .word 0x20020dec 8051600: 200216dc .word 0x200216dc 8051604: 20020df2 .word 0x20020df2 8051608: 20020fc6 .word 0x20020fc6 805160c: 20020071 .word 0x20020071 8051610: 20020e80 .word 0x20020e80 8051614: 20020fd0 .word 0x20020fd0 else if(pardata.SYG == SPEC_OKT) 8051618: 4ba2 ldr r3, [pc, #648] ; (80518a4 ) 805161a: 781b ldrb r3, [r3, #0] 805161c: b2db uxtb r3, r3 805161e: 2b06 cmp r3, #6 8051620: d103 bne.n 805162a menupos = FFT; 8051622: 4ba1 ldr r3, [pc, #644] ; (80518a8 ) 8051624: 2203 movs r2, #3 8051626: 701a strb r2, [r3, #0] 8051628: e025 b.n 8051676 else if(pardata.SYG == SPEC_THIRD) 805162a: 4b9e ldr r3, [pc, #632] ; (80518a4 ) 805162c: 781b ldrb r3, [r3, #0] 805162e: b2db uxtb r3, r3 8051630: 2b07 cmp r3, #7 8051632: d103 bne.n 805163c menupos = FFT; 8051634: 4b9c ldr r3, [pc, #624] ; (80518a8 ) 8051636: 2203 movs r2, #3 8051638: 701a strb r2, [r3, #0] 805163a: e01c b.n 8051676 else if(pardata.SYG == ROLL) 805163c: 4b99 ldr r3, [pc, #612] ; (80518a4 ) 805163e: 781b ldrb r3, [r3, #0] 8051640: b2db uxtb r3, r3 8051642: 2b08 cmp r3, #8 8051644: d103 bne.n 805164e { #ifdef USE_ROLL menupos = Roll; 8051646: 4b98 ldr r3, [pc, #608] ; (80518a8 ) 8051648: 2206 movs r2, #6 805164a: 701a strb r2, [r3, #0] 805164c: e013 b.n 8051676 pardata.SYG = VIB; menupos = Vibrometer; #endif } else if(pardata.SYG == UDAR) 805164e: 4b95 ldr r3, [pc, #596] ; (80518a4 ) 8051650: 781b ldrb r3, [r3, #0] 8051652: b2db uxtb r3, r3 8051654: 2b09 cmp r3, #9 8051656: d103 bne.n 8051660 { #ifdef USE_UDAR menupos = Udar; 8051658: 4b93 ldr r3, [pc, #588] ; (80518a8 ) 805165a: 2207 movs r2, #7 805165c: 701a strb r2, [r3, #0] 805165e: e00a b.n 8051676 pardata.SYG = VIB; menupos = Vibrometer; #endif } else if(pardata.SYG == DIAGN) 8051660: 4b90 ldr r3, [pc, #576] ; (80518a4 ) 8051662: 781b ldrb r3, [r3, #0] 8051664: b2db uxtb r3, r3 8051666: 2b0a cmp r3, #10 8051668: d105 bne.n 8051676 { #ifdef USE_DIAGN menupos = Diagn; #else pardata.SYG = VIB; 805166a: 4b8e ldr r3, [pc, #568] ; (80518a4 ) 805166c: 2200 movs r2, #0 805166e: 701a strb r2, [r3, #0] menupos = Vibrometer; 8051670: 4b8d ldr r3, [pc, #564] ; (80518a8 ) 8051672: 2201 movs r2, #1 8051674: 701a strb r2, [r3, #0] #endif } /////////////////////////////// if((pardata.IIN == VOLTS) && (pardata.SYG != SPEC) && (pardata.SYG != VIB) && (pardata.SYG != OSC)) 8051676: 4b8b ldr r3, [pc, #556] ; (80518a4 ) 8051678: 799b ldrb r3, [r3, #6] 805167a: b2db uxtb r3, r3 805167c: 2b02 cmp r3, #2 805167e: f040 8233 bne.w 8051ae8 8051682: 4b88 ldr r3, [pc, #544] ; (80518a4 ) 8051684: 781b ldrb r3, [r3, #0] 8051686: b2db uxtb r3, r3 8051688: 2b01 cmp r3, #1 805168a: f000 822d beq.w 8051ae8 805168e: 4b85 ldr r3, [pc, #532] ; (80518a4 ) 8051690: 781b ldrb r3, [r3, #0] 8051692: b2db uxtb r3, r3 8051694: 2b00 cmp r3, #0 8051696: f000 8227 beq.w 8051ae8 805169a: 4b82 ldr r3, [pc, #520] ; (80518a4 ) 805169c: 781b ldrb r3, [r3, #0] 805169e: b2db uxtb r3, r3 80516a0: 2b02 cmp r3, #2 80516a2: f000 8221 beq.w 8051ae8 { pardata.SYG = VIB; 80516a6: 4b7f ldr r3, [pc, #508] ; (80518a4 ) 80516a8: 2200 movs r2, #0 80516aa: 701a strb r2, [r3, #0] menupos = Vibrometer; 80516ac: 4b7e ldr r3, [pc, #504] ; (80518a8 ) 80516ae: 2201 movs r2, #1 80516b0: 701a strb r2, [r3, #0] } break; 80516b2: e219 b.n 8051ae8 case Settings: menu = SETTINGS; 80516b4: 4b7d ldr r3, [pc, #500] ; (80518ac ) 80516b6: 2212 movs r2, #18 80516b8: 701a strb r2, [r3, #0] lastmenupos = menupos; 80516ba: 4b7b ldr r3, [pc, #492] ; (80518a8 ) 80516bc: 781b ldrb r3, [r3, #0] 80516be: b2da uxtb r2, r3 80516c0: 4b7b ldr r3, [pc, #492] ; (80518b0 ) 80516c2: 701a strb r2, [r3, #0] #if (!defined(USE_D101) && !defined(USE_D102)) menupos = Type; 80516c4: 4b78 ldr r3, [pc, #480] ; (80518a8 ) 80516c6: 2201 movs r2, #1 80516c8: 701a strb r2, [r3, #0] #else menupos = Sens; #endif break; 80516ca: e217 b.n 8051afc case PlayFiles: result = FR_NOT_READY; 80516cc: 2303 movs r3, #3 80516ce: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 80516d2: 4b78 ldr r3, [pc, #480] ; (80518b4 ) 80516d4: 781b ldrb r3, [r3, #0] 80516d6: b2db uxtb r3, r3 80516d8: 2b03 cmp r3, #3 80516da: d13d bne.n 8051758 { CursorIndex = 0; 80516dc: 4b76 ldr r3, [pc, #472] ; (80518b8 ) 80516de: 2200 movs r2, #0 80516e0: 601a str r2, [r3, #0] FirstFileIndex = 0; 80516e2: 4b76 ldr r3, [pc, #472] ; (80518bc ) 80516e4: 2200 movs r2, #0 80516e6: 601a str r2, [r3, #0] RealFileIndex = 0; 80516e8: 4b75 ldr r3, [pc, #468] ; (80518c0 ) 80516ea: 2200 movs r2, #0 80516ec: 601a str r2, [r3, #0] result = ReadNumFilesWAV((uint32_t *) &NumFilesWAV); 80516ee: 4875 ldr r0, [pc, #468] ; (80518c4 ) 80516f0: f7d8 f9e6 bl 8029ac0 80516f4: 4603 mov r3, r0 80516f6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80516fa: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80516fe: 2b00 cmp r3, #0 8051700: f040 81f5 bne.w 8051aee { result = ReadMyFilesWAV(FirstFileIndex); 8051704: 4b6d ldr r3, [pc, #436] ; (80518bc ) 8051706: 681b ldr r3, [r3, #0] 8051708: 4618 mov r0, r3 805170a: f7d8 fa8e bl 8029c2a 805170e: 4603 mov r3, r0 8051710: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051714: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051718: 2b00 cmp r3, #0 805171a: f040 81e8 bne.w 8051aee { NumFilesDelete = 0; 805171e: 4b6a ldr r3, [pc, #424] ; (80518c8 ) 8051720: 2200 movs r2, #0 8051722: 601a str r2, [r3, #0] memset(pStrRAM, 0, 40u * MAX_CHECKED_FILES); 8051724: f44f 42a0 mov.w r2, #20480 ; 0x5000 8051728: 2100 movs r1, #0 805172a: 4868 ldr r0, [pc, #416] ; (80518cc ) 805172c: f080 fc3a bl 80d1fa4 menu = ARCHIVE_WAVE; 8051730: 4b5e ldr r3, [pc, #376] ; (80518ac ) 8051732: 2217 movs r2, #23 8051734: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051736: 4b5c ldr r3, [pc, #368] ; (80518a8 ) 8051738: 781b ldrb r3, [r3, #0] 805173a: b2da uxtb r2, r3 805173c: 4b5c ldr r3, [pc, #368] ; (80518b0 ) 805173e: 701a strb r2, [r3, #0] if(NumFilesWAV) menupos = FilesGTR; 8051740: 4b60 ldr r3, [pc, #384] ; (80518c4 ) 8051742: 681b ldr r3, [r3, #0] 8051744: 2b00 cmp r3, #0 8051746: d003 beq.n 8051750 8051748: 4b57 ldr r3, [pc, #348] ; (80518a8 ) 805174a: 2202 movs r2, #2 805174c: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 805174e: e1ce b.n 8051aee else menupos = NoFilesGTR; 8051750: 4b55 ldr r3, [pc, #340] ; (80518a8 ) 8051752: 2201 movs r2, #1 8051754: 701a strb r2, [r3, #0] break; 8051756: e1ca b.n 8051aee if(CardState == MSD_PRESENT) 8051758: 4b56 ldr r3, [pc, #344] ; (80518b4 ) 805175a: 781b ldrb r3, [r3, #0] 805175c: b2db uxtb r3, r3 805175e: 2b01 cmp r3, #1 8051760: d10a bne.n 8051778 STATUS = AP_DISK_ERROR; 8051762: 4b5b ldr r3, [pc, #364] ; (80518d0 ) 8051764: 220b movs r2, #11 8051766: 601a str r2, [r3, #0] timerStatus = sec2; 8051768: 4b5a ldr r3, [pc, #360] ; (80518d4 ) 805176a: f44f 5280 mov.w r2, #4096 ; 0x1000 805176e: 801a strh r2, [r3, #0] DrawStatus = true; 8051770: 4b59 ldr r3, [pc, #356] ; (80518d8 ) 8051772: 2201 movs r2, #1 8051774: 701a strb r2, [r3, #0] break; 8051776: e1ba b.n 8051aee if(CardState == MSD_NOCARD) 8051778: 4b4e ldr r3, [pc, #312] ; (80518b4 ) 805177a: 781b ldrb r3, [r3, #0] 805177c: b2db uxtb r3, r3 805177e: 2b00 cmp r3, #0 8051780: f040 81b5 bne.w 8051aee STATUS = AP_NO_CARD; 8051784: 4b52 ldr r3, [pc, #328] ; (80518d0 ) 8051786: 2211 movs r2, #17 8051788: 601a str r2, [r3, #0] timerStatus = sec2; 805178a: 4b52 ldr r3, [pc, #328] ; (80518d4 ) 805178c: f44f 5280 mov.w r2, #4096 ; 0x1000 8051790: 801a strh r2, [r3, #0] DrawStatus = true; 8051792: 4b51 ldr r3, [pc, #324] ; (80518d8 ) 8051794: 2201 movs r2, #1 8051796: 701a strb r2, [r3, #0] break; 8051798: e1a9 b.n 8051aee case Route: result = FR_NOT_READY; 805179a: 2303 movs r3, #3 805179c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 80517a0: 4b44 ldr r3, [pc, #272] ; (80518b4 ) 80517a2: 781b ldrb r3, [r3, #0] 80517a4: b2db uxtb r3, r3 80517a6: 2b03 cmp r3, #3 80517a8: d14b bne.n 8051842 { CursorIndex = 0; 80517aa: 4b43 ldr r3, [pc, #268] ; (80518b8 ) 80517ac: 2200 movs r2, #0 80517ae: 601a str r2, [r3, #0] FirstFileIndex = 0; 80517b0: 4b42 ldr r3, [pc, #264] ; (80518bc ) 80517b2: 2200 movs r2, #0 80517b4: 601a str r2, [r3, #0] RealFileIndex = 0; 80517b6: 4b42 ldr r3, [pc, #264] ; (80518c0 ) 80517b8: 2200 movs r2, #0 80517ba: 601a str r2, [r3, #0] result = ReadNumFilesCSV((uint32_t *) &NumFilesCSV); 80517bc: 4847 ldr r0, [pc, #284] ; (80518dc ) 80517be: f7d8 f995 bl 8029aec 80517c2: 4603 mov r3, r0 80517c4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80517c8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80517cc: 2b00 cmp r3, #0 80517ce: f040 8191 bne.w 8051af4 { result = ReadMyFilesCSV(FirstFileIndex); 80517d2: 4b3a ldr r3, [pc, #232] ; (80518bc ) 80517d4: 681b ldr r3, [r3, #0] 80517d6: 4618 mov r0, r3 80517d8: f7d8 fa34 bl 8029c44 80517dc: 4603 mov r3, r0 80517de: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80517e2: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80517e6: 2b00 cmp r3, #0 80517e8: f040 8184 bne.w 8051af4 { NumFilesDelete = 0; 80517ec: 4b36 ldr r3, [pc, #216] ; (80518c8 ) 80517ee: 2200 movs r2, #0 80517f0: 601a str r2, [r3, #0] memset(pStrRAM, 0, 40u * MAX_CHECKED_FILES); 80517f2: f44f 42a0 mov.w r2, #20480 ; 0x5000 80517f6: 2100 movs r1, #0 80517f8: 4834 ldr r0, [pc, #208] ; (80518cc ) 80517fa: f080 fbd3 bl 80d1fa4 lastmenupos = menupos; 80517fe: 4b2a ldr r3, [pc, #168] ; (80518a8 ) 8051800: 781b ldrb r3, [r3, #0] 8051802: b2da uxtb r2, r3 8051804: 4b2a ldr r3, [pc, #168] ; (80518b0 ) 8051806: 701a strb r2, [r3, #0] if((RouteFileName[0]) && (pardata.ROUTE_POINT != 0xffffffff)) 8051808: 4b35 ldr r3, [pc, #212] ; (80518e0 ) 805180a: 781b ldrb r3, [r3, #0] 805180c: 2b00 cmp r3, #0 805180e: d009 beq.n 8051824 8051810: 4b24 ldr r3, [pc, #144] ; (80518a4 ) 8051812: f8d3 34ac ldr.w r3, [r3, #1196] ; 0x4ac 8051816: f1b3 3fff cmp.w r3, #4294967295 805181a: d003 beq.n 8051824 { menupos = AskRouteYes; 805181c: 4b22 ldr r3, [pc, #136] ; (80518a8 ) 805181e: 220a movs r2, #10 8051820: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 8051822: e167 b.n 8051af4 menu = ROUTE; 8051824: 4b21 ldr r3, [pc, #132] ; (80518ac ) 8051826: 2203 movs r2, #3 8051828: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 805182a: 4b2c ldr r3, [pc, #176] ; (80518dc ) 805182c: 681b ldr r3, [r3, #0] 805182e: 2b00 cmp r3, #0 8051830: d003 beq.n 805183a 8051832: 4b1d ldr r3, [pc, #116] ; (80518a8 ) 8051834: 2202 movs r2, #2 8051836: 701a strb r2, [r3, #0] break; 8051838: e15c b.n 8051af4 else menupos = NoFilesCSV; 805183a: 4b1b ldr r3, [pc, #108] ; (80518a8 ) 805183c: 2201 movs r2, #1 805183e: 701a strb r2, [r3, #0] break; 8051840: e158 b.n 8051af4 if(CardState == MSD_PRESENT) 8051842: 4b1c ldr r3, [pc, #112] ; (80518b4 ) 8051844: 781b ldrb r3, [r3, #0] 8051846: b2db uxtb r3, r3 8051848: 2b01 cmp r3, #1 805184a: d10a bne.n 8051862 STATUS = AP_DISK_ERROR; 805184c: 4b20 ldr r3, [pc, #128] ; (80518d0 ) 805184e: 220b movs r2, #11 8051850: 601a str r2, [r3, #0] timerStatus = sec2; 8051852: 4b20 ldr r3, [pc, #128] ; (80518d4 ) 8051854: f44f 5280 mov.w r2, #4096 ; 0x1000 8051858: 801a strh r2, [r3, #0] DrawStatus = true; 805185a: 4b1f ldr r3, [pc, #124] ; (80518d8 ) 805185c: 2201 movs r2, #1 805185e: 701a strb r2, [r3, #0] break; 8051860: e148 b.n 8051af4 if(CardState == MSD_NOCARD) 8051862: 4b14 ldr r3, [pc, #80] ; (80518b4 ) 8051864: 781b ldrb r3, [r3, #0] 8051866: b2db uxtb r3, r3 8051868: 2b00 cmp r3, #0 805186a: f040 8143 bne.w 8051af4 STATUS = AP_NO_CARD; 805186e: 4b18 ldr r3, [pc, #96] ; (80518d0 ) 8051870: 2211 movs r2, #17 8051872: 601a str r2, [r3, #0] timerStatus = sec2; 8051874: 4b17 ldr r3, [pc, #92] ; (80518d4 ) 8051876: f44f 5280 mov.w r2, #4096 ; 0x1000 805187a: 801a strh r2, [r3, #0] DrawStatus = true; 805187c: 4b16 ldr r3, [pc, #88] ; (80518d8 ) 805187e: 2201 movs r2, #1 8051880: 701a strb r2, [r3, #0] break; 8051882: e137 b.n 8051af4 case AskRouteNo: menu = ROUTE; 8051884: 4b09 ldr r3, [pc, #36] ; (80518ac ) 8051886: 2203 movs r2, #3 8051888: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 805188a: 4b14 ldr r3, [pc, #80] ; (80518dc ) 805188c: 681b ldr r3, [r3, #0] 805188e: 2b00 cmp r3, #0 8051890: d003 beq.n 805189a 8051892: 4b05 ldr r3, [pc, #20] ; (80518a8 ) 8051894: 2202 movs r2, #2 8051896: 701a strb r2, [r3, #0] else menupos = NoFilesCSV; break; 8051898: e130 b.n 8051afc else menupos = NoFilesCSV; 805189a: 4b03 ldr r3, [pc, #12] ; (80518a8 ) 805189c: 2201 movs r2, #1 805189e: 701a strb r2, [r3, #0] break; 80518a0: e12c b.n 8051afc 80518a2: bf00 nop 80518a4: 20023eb8 .word 0x20023eb8 80518a8: 20020070 .word 0x20020070 80518ac: 20020fc5 .word 0x20020fc5 80518b0: 20020071 .word 0x20020071 80518b4: 2002169c .word 0x2002169c 80518b8: 20020e00 .word 0x20020e00 80518bc: 20020e04 .word 0x20020e04 80518c0: 20020e08 .word 0x20020e08 80518c4: 20020e28 .word 0x20020e28 80518c8: 20020e30 .word 0x20020e30 80518cc: 6404b000 .word 0x6404b000 80518d0: 20020dec .word 0x20020dec 80518d4: 200216dc .word 0x200216dc 80518d8: 20020df2 .word 0x20020df2 80518dc: 20020e2c .word 0x20020e2c 80518e0: 20020ec8 .word 0x20020ec8 case AskRouteYes: memset(RouteName, 0, sizeof(RouteName)); 80518e4: 2228 movs r2, #40 ; 0x28 80518e6: 2100 movs r1, #0 80518e8: 4895 ldr r0, [pc, #596] ; (8051b40 ) 80518ea: f080 fb5b bl 80d1fa4 strcpy(RouteName, RouteFileName); 80518ee: 4995 ldr r1, [pc, #596] ; (8051b44 ) 80518f0: 4893 ldr r0, [pc, #588] ; (8051b40 ) 80518f2: f080 fc74 bl 80d21de memset((void *) &RouteMeas(0), 0, 65536); 80518f6: f44f 3280 mov.w r2, #65536 ; 0x10000 80518fa: 2100 movs r1, #0 80518fc: 4892 ldr r0, [pc, #584] ; (8051b48 ) 80518fe: f080 fb51 bl 80d1fa4 RoutePointID = 0xffffffff; 8051902: 4b92 ldr r3, [pc, #584] ; (8051b4c ) 8051904: f04f 32ff mov.w r2, #4294967295 8051908: 601a str r2, [r3, #0] // ÷èòàåì êîë-âî èçìåðåíèé â ìàðøðóòå result = OpenFileCSV(RouteName); //êîë-âî òî÷åê â ìàðøðóòå 805190a: 488d ldr r0, [pc, #564] ; (8051b40 ) 805190c: f7d5 fd86 bl 802741c 8051910: 4603 mov r3, r0 8051912: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051916: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805191a: 2b00 cmp r3, #0 805191c: f040 8085 bne.w 8051a2a { result = ReadFileCSV_TMP(RouteName); //ôàéë ñ òàáëèöåé èçìåðåííûõ òî÷åê òåêóùåãî ìàðøðóòà è òåêóùåé òî÷êè 8051920: 4887 ldr r0, [pc, #540] ; (8051b40 ) 8051922: f7d5 fed9 bl 80276d8 8051926: 4603 mov r3, r0 8051928: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805192c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051930: 2b00 cmp r3, #0 8051932: d157 bne.n 80519e4 { RouteIndex = pardata.ROUTE_POINT; ///////////////////////////////// 8051934: 4b86 ldr r3, [pc, #536] ; (8051b50 ) 8051936: f8d3 34ac ldr.w r3, [r3, #1196] ; 0x4ac 805193a: 4a86 ldr r2, [pc, #536] ; (8051b54 ) 805193c: 6013 str r3, [r2, #0] result = GetRoutePath(RouteIndex, RouteName); 805193e: 4b85 ldr r3, [pc, #532] ; (8051b54 ) 8051940: 681b ldr r3, [r3, #0] 8051942: 497f ldr r1, [pc, #508] ; (8051b40 ) 8051944: 4618 mov r0, r3 8051946: f7d6 f99f bl 8027c88 805194a: 4603 mov r3, r0 805194c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051950: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051954: 2b00 cmp r3, #0 8051956: d122 bne.n 805199e { if(RoutePath[0]) 8051958: 4b7f ldr r3, [pc, #508] ; (8051b58 ) 805195a: 781b ldrb r3, [r3, #0] 805195c: 2b00 cmp r3, #0 805195e: f000 80cc beq.w 8051afa { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(pardata)); 8051962: 4a7e ldr r2, [pc, #504] ; (8051b5c ) 8051964: 4b7a ldr r3, [pc, #488] ; (8051b50 ) 8051966: 4610 mov r0, r2 8051968: 4619 mov r1, r3 805196a: f44f 6396 mov.w r3, #1200 ; 0x4b0 805196e: 461a mov r2, r3 8051970: f080 fb0d bl 80d1f8e pardata.SYG = WAVE; 8051974: 4b76 ldr r3, [pc, #472] ; (8051b50 ) 8051976: 2204 movs r2, #4 8051978: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 805197a: 4b75 ldr r3, [pc, #468] ; (8051b50 ) 805197c: 2200 movs r2, #0 805197e: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 8051980: 4b73 ldr r3, [pc, #460] ; (8051b50 ) 8051982: 7bdb ldrb r3, [r3, #15] 8051984: b2db uxtb r3, r3 8051986: f003 037f and.w r3, r3, #127 ; 0x7f 805198a: b2da uxtb r2, r3 805198c: 4b70 ldr r3, [pc, #448] ; (8051b50 ) 805198e: 73da strb r2, [r3, #15] menu = ROUTE_MAP; 8051990: 4b73 ldr r3, [pc, #460] ; (8051b60 ) 8051992: 2204 movs r2, #4 8051994: 701a strb r2, [r3, #0] menupos = GoMeas; 8051996: 4b73 ldr r3, [pc, #460] ; (8051b64 ) 8051998: 2201 movs r2, #1 805199a: 701a strb r2, [r3, #0] menu = ROUTE; if(NumFilesCSV) menupos = FilesCSV; else menupos = NoFilesCSV; } break; 805199c: e0ad b.n 8051afa STATUS = AP_INVALID_FILE; 805199e: 4b72 ldr r3, [pc, #456] ; (8051b68 ) 80519a0: 2202 movs r2, #2 80519a2: 601a str r2, [r3, #0] timerStatus = sec2; 80519a4: 4b71 ldr r3, [pc, #452] ; (8051b6c ) 80519a6: f44f 5280 mov.w r2, #4096 ; 0x1000 80519aa: 801a strh r2, [r3, #0] DrawStatus = true; 80519ac: 4b70 ldr r3, [pc, #448] ; (8051b70 ) 80519ae: 2201 movs r2, #1 80519b0: 701a strb r2, [r3, #0] memset((void *) &pardata.ROUTE_NAME, 0, 40u); 80519b2: 2228 movs r2, #40 ; 0x28 80519b4: 2100 movs r1, #0 80519b6: 486f ldr r0, [pc, #444] ; (8051b74 ) 80519b8: f080 faf4 bl 80d1fa4 pardata.ROUTE_POINT = 0xffffffff; 80519bc: 4b64 ldr r3, [pc, #400] ; (8051b50 ) 80519be: f04f 32ff mov.w r2, #4294967295 80519c2: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac menu = ROUTE; 80519c6: 4b66 ldr r3, [pc, #408] ; (8051b60 ) 80519c8: 2203 movs r2, #3 80519ca: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 80519cc: 4b6a ldr r3, [pc, #424] ; (8051b78 ) 80519ce: 681b ldr r3, [r3, #0] 80519d0: 2b00 cmp r3, #0 80519d2: d003 beq.n 80519dc 80519d4: 4b63 ldr r3, [pc, #396] ; (8051b64 ) 80519d6: 2202 movs r2, #2 80519d8: 701a strb r2, [r3, #0] break; 80519da: e08e b.n 8051afa else menupos = NoFilesCSV; 80519dc: 4b61 ldr r3, [pc, #388] ; (8051b64 ) 80519de: 2201 movs r2, #1 80519e0: 701a strb r2, [r3, #0] break; 80519e2: e08a b.n 8051afa STATUS = AP_INVALID_FILE; 80519e4: 4b60 ldr r3, [pc, #384] ; (8051b68 ) 80519e6: 2202 movs r2, #2 80519e8: 601a str r2, [r3, #0] timerStatus = sec2; 80519ea: 4b60 ldr r3, [pc, #384] ; (8051b6c ) 80519ec: f44f 5280 mov.w r2, #4096 ; 0x1000 80519f0: 801a strh r2, [r3, #0] DrawStatus = true; 80519f2: 4b5f ldr r3, [pc, #380] ; (8051b70 ) 80519f4: 2201 movs r2, #1 80519f6: 701a strb r2, [r3, #0] memset((void *) &pardata.ROUTE_NAME, 0, 40u); 80519f8: 2228 movs r2, #40 ; 0x28 80519fa: 2100 movs r1, #0 80519fc: 485d ldr r0, [pc, #372] ; (8051b74 ) 80519fe: f080 fad1 bl 80d1fa4 pardata.ROUTE_POINT = 0xffffffff; 8051a02: 4b53 ldr r3, [pc, #332] ; (8051b50 ) 8051a04: f04f 32ff mov.w r2, #4294967295 8051a08: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac menu = ROUTE; 8051a0c: 4b54 ldr r3, [pc, #336] ; (8051b60 ) 8051a0e: 2203 movs r2, #3 8051a10: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 8051a12: 4b59 ldr r3, [pc, #356] ; (8051b78 ) 8051a14: 681b ldr r3, [r3, #0] 8051a16: 2b00 cmp r3, #0 8051a18: d003 beq.n 8051a22 8051a1a: 4b52 ldr r3, [pc, #328] ; (8051b64 ) 8051a1c: 2202 movs r2, #2 8051a1e: 701a strb r2, [r3, #0] break; 8051a20: e06b b.n 8051afa else menupos = NoFilesCSV; 8051a22: 4b50 ldr r3, [pc, #320] ; (8051b64 ) 8051a24: 2201 movs r2, #1 8051a26: 701a strb r2, [r3, #0] break; 8051a28: e067 b.n 8051afa if(result == FR_NOT_READY) 8051a2a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051a2e: 2b03 cmp r3, #3 8051a30: d122 bne.n 8051a78 STATUS = AP_NO_CARD; 8051a32: 4b4d ldr r3, [pc, #308] ; (8051b68 ) 8051a34: 2211 movs r2, #17 8051a36: 601a str r2, [r3, #0] timerStatus = sec2; 8051a38: 4b4c ldr r3, [pc, #304] ; (8051b6c ) 8051a3a: f44f 5280 mov.w r2, #4096 ; 0x1000 8051a3e: 801a strh r2, [r3, #0] DrawStatus = true; 8051a40: 4b4b ldr r3, [pc, #300] ; (8051b70 ) 8051a42: 2201 movs r2, #1 8051a44: 701a strb r2, [r3, #0] memset((void *) &pardata.ROUTE_NAME, 0, 40u); 8051a46: 2228 movs r2, #40 ; 0x28 8051a48: 2100 movs r1, #0 8051a4a: 484a ldr r0, [pc, #296] ; (8051b74 ) 8051a4c: f080 faaa bl 80d1fa4 pardata.ROUTE_POINT = 0xffffffff; 8051a50: 4b3f ldr r3, [pc, #252] ; (8051b50 ) 8051a52: f04f 32ff mov.w r2, #4294967295 8051a56: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac menu = ROUTE; 8051a5a: 4b41 ldr r3, [pc, #260] ; (8051b60 ) 8051a5c: 2203 movs r2, #3 8051a5e: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 8051a60: 4b45 ldr r3, [pc, #276] ; (8051b78 ) 8051a62: 681b ldr r3, [r3, #0] 8051a64: 2b00 cmp r3, #0 8051a66: d003 beq.n 8051a70 8051a68: 4b3e ldr r3, [pc, #248] ; (8051b64 ) 8051a6a: 2202 movs r2, #2 8051a6c: 701a strb r2, [r3, #0] break; 8051a6e: e044 b.n 8051afa else menupos = NoFilesCSV; 8051a70: 4b3c ldr r3, [pc, #240] ; (8051b64 ) 8051a72: 2201 movs r2, #1 8051a74: 701a strb r2, [r3, #0] break; 8051a76: e040 b.n 8051afa STATUS = AP_INVALID_FILE; 8051a78: 4b3b ldr r3, [pc, #236] ; (8051b68 ) 8051a7a: 2202 movs r2, #2 8051a7c: 601a str r2, [r3, #0] timerStatus = sec2; 8051a7e: 4b3b ldr r3, [pc, #236] ; (8051b6c ) 8051a80: f44f 5280 mov.w r2, #4096 ; 0x1000 8051a84: 801a strh r2, [r3, #0] DrawStatus = true; 8051a86: 4b3a ldr r3, [pc, #232] ; (8051b70 ) 8051a88: 2201 movs r2, #1 8051a8a: 701a strb r2, [r3, #0] memset((void *) &pardata.ROUTE_NAME, 0, 40u); 8051a8c: 2228 movs r2, #40 ; 0x28 8051a8e: 2100 movs r1, #0 8051a90: 4838 ldr r0, [pc, #224] ; (8051b74 ) 8051a92: f080 fa87 bl 80d1fa4 pardata.ROUTE_POINT = 0xffffffff; 8051a96: 4b2e ldr r3, [pc, #184] ; (8051b50 ) 8051a98: f04f 32ff mov.w r2, #4294967295 8051a9c: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac menu = ROUTE; 8051aa0: 4b2f ldr r3, [pc, #188] ; (8051b60 ) 8051aa2: 2203 movs r2, #3 8051aa4: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 8051aa6: 4b34 ldr r3, [pc, #208] ; (8051b78 ) 8051aa8: 681b ldr r3, [r3, #0] 8051aaa: 2b00 cmp r3, #0 8051aac: d003 beq.n 8051ab6 8051aae: 4b2d ldr r3, [pc, #180] ; (8051b64 ) 8051ab0: 2202 movs r2, #2 8051ab2: 701a strb r2, [r3, #0] break; 8051ab4: e021 b.n 8051afa else menupos = NoFilesCSV; 8051ab6: 4b2b ldr r3, [pc, #172] ; (8051b64 ) 8051ab8: 2201 movs r2, #1 8051aba: 701a strb r2, [r3, #0] break; 8051abc: e01d b.n 8051afa case AskFormatNo: menupos = Mode; 8051abe: 4b29 ldr r3, [pc, #164] ; (8051b64 ) 8051ac0: 2201 movs r2, #1 8051ac2: 701a strb r2, [r3, #0] break; 8051ac4: e01a b.n 8051afc case AskFormatYes: STATUS = AP_OK; 8051ac6: 4b28 ldr r3, [pc, #160] ; (8051b68 ) 8051ac8: 2200 movs r2, #0 8051aca: 601a str r2, [r3, #0] NeedFormat = 1; 8051acc: 4b2b ldr r3, [pc, #172] ; (8051b7c ) 8051ace: 2201 movs r2, #1 8051ad0: 701a strb r2, [r3, #0] FormatStatus = AP_OK; 8051ad2: 4b2b ldr r3, [pc, #172] ; (8051b80 ) 8051ad4: 2200 movs r2, #0 8051ad6: 701a strb r2, [r3, #0] menupos = AskFormatResult; 8051ad8: 4b22 ldr r3, [pc, #136] ; (8051b64 ) 8051ada: 2208 movs r2, #8 8051adc: 701a strb r2, [r3, #0] break; 8051ade: e00d b.n 8051afc case AskFormatResult: menupos = Mode; 8051ae0: 4b20 ldr r3, [pc, #128] ; (8051b64 ) 8051ae2: 2201 movs r2, #1 8051ae4: 701a strb r2, [r3, #0] break; 8051ae6: e009 b.n 8051afc break; 8051ae8: bf00 nop 8051aea: f002 be0f b.w 805470c break; 8051aee: bf00 nop 8051af0: f002 be0c b.w 805470c break; 8051af4: bf00 nop 8051af6: f002 be09 b.w 805470c break; 8051afa: bf00 nop } break; 8051afc: f002 be06 b.w 805470c case ROUTE: //ok HISTORY = false; 8051b00: 4b20 ldr r3, [pc, #128] ; (8051b84 ) 8051b02: 2200 movs r2, #0 8051b04: 701a strb r2, [r3, #0] switch(menupos) 8051b06: 4b17 ldr r3, [pc, #92] ; (8051b64 ) 8051b08: 781b ldrb r3, [r3, #0] 8051b0a: b2db uxtb r3, r3 8051b0c: 3b02 subs r3, #2 8051b0e: 2b08 cmp r3, #8 8051b10: f202 85fe bhi.w 8054710 8051b14: a201 add r2, pc, #4 ; (adr r2, 8051b1c ) 8051b16: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8051b1a: bf00 nop 8051b1c: 08051b89 .word 0x08051b89 8051b20: 08054711 .word 0x08054711 8051b24: 08054711 .word 0x08054711 8051b28: 08054711 .word 0x08054711 8051b2c: 08051cab .word 0x08051cab 8051b30: 08051cb3 .word 0x08051cb3 8051b34: 08054711 .word 0x08054711 8051b38: 08054711 .word 0x08054711 8051b3c: 08051ccd .word 0x08051ccd 8051b40: 20022678 .word 0x20022678 8051b44: 20020ec8 .word 0x20020ec8 8051b48: 64100000 .word 0x64100000 8051b4c: 20020034 .word 0x20020034 8051b50: 20023eb8 .word 0x20023eb8 8051b54: 20020fb8 .word 0x20020fb8 8051b58: 20022c38 .word 0x20022c38 8051b5c: 200243d4 .word 0x200243d4 8051b60: 20020fc5 .word 0x20020fc5 8051b64: 20020070 .word 0x20020070 8051b68: 20020dec .word 0x20020dec 8051b6c: 200216dc .word 0x200216dc 8051b70: 20020df2 .word 0x20020df2 8051b74: 2002433c .word 0x2002433c 8051b78: 20020e2c .word 0x20020e2c 8051b7c: 20020dfd .word 0x20020dfd 8051b80: 20020df1 .word 0x20020df1 8051b84: 20020fc2 .word 0x20020fc2 { case FilesCSV: memset(RouteName, 0, sizeof(RouteName)); 8051b88: 2228 movs r2, #40 ; 0x28 8051b8a: 2100 movs r1, #0 8051b8c: 48a1 ldr r0, [pc, #644] ; (8051e14 ) 8051b8e: f080 fa09 bl 80d1fa4 strcpy(RouteName, (char *) ExplorerFiles[CursorIndex].fname); 8051b92: 4ba1 ldr r3, [pc, #644] ; (8051e18 ) 8051b94: 681a ldr r2, [r3, #0] 8051b96: 4613 mov r3, r2 8051b98: 00db lsls r3, r3, #3 8051b9a: 1a9b subs r3, r3, r2 8051b9c: 00db lsls r3, r3, #3 8051b9e: 3308 adds r3, #8 8051ba0: 4a9e ldr r2, [pc, #632] ; (8051e1c ) 8051ba2: 4413 add r3, r2 8051ba4: 3304 adds r3, #4 8051ba6: 4619 mov r1, r3 8051ba8: 489a ldr r0, [pc, #616] ; (8051e14 ) 8051baa: f080 fb18 bl 80d21de memset((void *) &RouteMeas(0), 0, 65536); 8051bae: f44f 3280 mov.w r2, #65536 ; 0x10000 8051bb2: 2100 movs r1, #0 8051bb4: 489a ldr r0, [pc, #616] ; (8051e20 ) 8051bb6: f080 f9f5 bl 80d1fa4 RoutePointID = 0xffffffff; 8051bba: 4b9a ldr r3, [pc, #616] ; (8051e24 ) 8051bbc: f04f 32ff mov.w r2, #4294967295 8051bc0: 601a str r2, [r3, #0] // ÷èòàåì êîë-âî èçìåðåíèé â ìàðøðóòå result = OpenFileCSV(RouteName); //êîë-âî òî÷åê â ìàðøðóòå 8051bc2: 4894 ldr r0, [pc, #592] ; (8051e14 ) 8051bc4: f7d5 fc2a bl 802741c 8051bc8: 4603 mov r3, r0 8051bca: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051bce: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051bd2: 2b00 cmp r3, #0 8051bd4: d14f bne.n 8051c76 { result = ReadFileCSV_TMP(RouteName); //ôàéë ñ òàáëèöåé èçìåðåííûõ òî÷åê òåêóùåãî ìàðøðóòà è òåêóùåé òî÷êè 8051bd6: 488f ldr r0, [pc, #572] ; (8051e14 ) 8051bd8: f7d5 fd7e bl 80276d8 8051bdc: 4603 mov r3, r0 8051bde: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051be2: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051be6: 2b00 cmp r3, #0 8051be8: d13a bne.n 8051c60 { result = GetRoutePath(RouteIndex, RouteName); 8051bea: 4b8f ldr r3, [pc, #572] ; (8051e28 ) 8051bec: 681b ldr r3, [r3, #0] 8051bee: 4989 ldr r1, [pc, #548] ; (8051e14 ) 8051bf0: 4618 mov r0, r3 8051bf2: f7d6 f849 bl 8027c88 8051bf6: 4603 mov r3, r0 8051bf8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051bfc: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051c00: 2b00 cmp r3, #0 8051c02: d122 bne.n 8051c4a { if(RoutePath[0]) 8051c04: 4b89 ldr r3, [pc, #548] ; (8051e2c ) 8051c06: 781b ldrb r3, [r3, #0] 8051c08: 2b00 cmp r3, #0 8051c0a: f000 809a beq.w 8051d42 { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(pardata)); 8051c0e: 4a88 ldr r2, [pc, #544] ; (8051e30 ) 8051c10: 4b88 ldr r3, [pc, #544] ; (8051e34 ) 8051c12: 4610 mov r0, r2 8051c14: 4619 mov r1, r3 8051c16: f44f 6396 mov.w r3, #1200 ; 0x4b0 8051c1a: 461a mov r2, r3 8051c1c: f080 f9b7 bl 80d1f8e pardata.SYG = WAVE; 8051c20: 4b84 ldr r3, [pc, #528] ; (8051e34 ) 8051c22: 2204 movs r2, #4 8051c24: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8051c26: 4b83 ldr r3, [pc, #524] ; (8051e34 ) 8051c28: 2200 movs r2, #0 8051c2a: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 8051c2c: 4b81 ldr r3, [pc, #516] ; (8051e34 ) 8051c2e: 7bdb ldrb r3, [r3, #15] 8051c30: b2db uxtb r3, r3 8051c32: f003 037f and.w r3, r3, #127 ; 0x7f 8051c36: b2da uxtb r2, r3 8051c38: 4b7e ldr r3, [pc, #504] ; (8051e34 ) 8051c3a: 73da strb r2, [r3, #15] menu = ROUTE_MAP; 8051c3c: 4b7e ldr r3, [pc, #504] ; (8051e38 ) 8051c3e: 2204 movs r2, #4 8051c40: 701a strb r2, [r3, #0] menupos = GoMeas; 8051c42: 4b7e ldr r3, [pc, #504] ; (8051e3c ) 8051c44: 2201 movs r2, #1 8051c46: 701a strb r2, [r3, #0] { STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } break; 8051c48: e07b b.n 8051d42 STATUS = AP_INVALID_FILE; 8051c4a: 4b7d ldr r3, [pc, #500] ; (8051e40 ) 8051c4c: 2202 movs r2, #2 8051c4e: 601a str r2, [r3, #0] timerStatus = sec2; 8051c50: 4b7c ldr r3, [pc, #496] ; (8051e44 ) 8051c52: f44f 5280 mov.w r2, #4096 ; 0x1000 8051c56: 801a strh r2, [r3, #0] DrawStatus = true; 8051c58: 4b7b ldr r3, [pc, #492] ; (8051e48 ) 8051c5a: 2201 movs r2, #1 8051c5c: 701a strb r2, [r3, #0] break; 8051c5e: e070 b.n 8051d42 STATUS = AP_INVALID_FILE; 8051c60: 4b77 ldr r3, [pc, #476] ; (8051e40 ) 8051c62: 2202 movs r2, #2 8051c64: 601a str r2, [r3, #0] timerStatus = sec2; 8051c66: 4b77 ldr r3, [pc, #476] ; (8051e44 ) 8051c68: f44f 5280 mov.w r2, #4096 ; 0x1000 8051c6c: 801a strh r2, [r3, #0] DrawStatus = true; 8051c6e: 4b76 ldr r3, [pc, #472] ; (8051e48 ) 8051c70: 2201 movs r2, #1 8051c72: 701a strb r2, [r3, #0] break; 8051c74: e065 b.n 8051d42 if(result == FR_NOT_READY) 8051c76: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051c7a: 2b03 cmp r3, #3 8051c7c: d10a bne.n 8051c94 STATUS = AP_NO_CARD; 8051c7e: 4b70 ldr r3, [pc, #448] ; (8051e40 ) 8051c80: 2211 movs r2, #17 8051c82: 601a str r2, [r3, #0] timerStatus = sec2; 8051c84: 4b6f ldr r3, [pc, #444] ; (8051e44 ) 8051c86: f44f 5280 mov.w r2, #4096 ; 0x1000 8051c8a: 801a strh r2, [r3, #0] DrawStatus = true; 8051c8c: 4b6e ldr r3, [pc, #440] ; (8051e48 ) 8051c8e: 2201 movs r2, #1 8051c90: 701a strb r2, [r3, #0] break; 8051c92: e056 b.n 8051d42 STATUS = AP_INVALID_FILE; 8051c94: 4b6a ldr r3, [pc, #424] ; (8051e40 ) 8051c96: 2202 movs r2, #2 8051c98: 601a str r2, [r3, #0] timerStatus = sec2; 8051c9a: 4b6a ldr r3, [pc, #424] ; (8051e44 ) 8051c9c: f44f 5280 mov.w r2, #4096 ; 0x1000 8051ca0: 801a strh r2, [r3, #0] DrawStatus = true; 8051ca2: 4b69 ldr r3, [pc, #420] ; (8051e48 ) 8051ca4: 2201 movs r2, #1 8051ca6: 701a strb r2, [r3, #0] break; 8051ca8: e04b b.n 8051d42 case UpNo: menupos = FilesCSV; 8051caa: 4b64 ldr r3, [pc, #400] ; (8051e3c ) 8051cac: 2202 movs r2, #2 8051cae: 701a strb r2, [r3, #0] break; 8051cb0: e04b b.n 8051d4a case UpYes: STATUS = AP_OK; 8051cb2: 4b63 ldr r3, [pc, #396] ; (8051e40 ) 8051cb4: 2200 movs r2, #0 8051cb6: 601a str r2, [r3, #0] CleanStatus = AP_OK; 8051cb8: 4b64 ldr r3, [pc, #400] ; (8051e4c ) 8051cba: 2200 movs r2, #0 8051cbc: 701a strb r2, [r3, #0] NeedClean = 3; 8051cbe: 4b64 ldr r3, [pc, #400] ; (8051e50 ) 8051cc0: 2203 movs r2, #3 8051cc2: 701a strb r2, [r3, #0] menupos = CleanUpResult; 8051cc4: 4b5d ldr r3, [pc, #372] ; (8051e3c ) 8051cc6: 220a movs r2, #10 8051cc8: 701a strb r2, [r3, #0] break; 8051cca: e03e b.n 8051d4a case CleanUpResult: if(NeedClean == 0) 8051ccc: 4b60 ldr r3, [pc, #384] ; (8051e50 ) 8051cce: 781b ldrb r3, [r3, #0] 8051cd0: b2db uxtb r3, r3 8051cd2: 2b00 cmp r3, #0 8051cd4: d138 bne.n 8051d48 { result = FR_NOT_READY; 8051cd6: 2303 movs r3, #3 8051cd8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8051cdc: 4b5d ldr r3, [pc, #372] ; (8051e54 ) 8051cde: 781b ldrb r3, [r3, #0] 8051ce0: b2db uxtb r3, r3 8051ce2: 2b03 cmp r3, #3 8051ce4: d130 bne.n 8051d48 { CursorIndex = 0; 8051ce6: 4b4c ldr r3, [pc, #304] ; (8051e18 ) 8051ce8: 2200 movs r2, #0 8051cea: 601a str r2, [r3, #0] FirstFileIndex = 0; 8051cec: 4b5a ldr r3, [pc, #360] ; (8051e58 ) 8051cee: 2200 movs r2, #0 8051cf0: 601a str r2, [r3, #0] RealFileIndex = 0; 8051cf2: 4b5a ldr r3, [pc, #360] ; (8051e5c ) 8051cf4: 2200 movs r2, #0 8051cf6: 601a str r2, [r3, #0] result = ReadNumFilesCSV((uint32_t *) &NumFilesCSV); 8051cf8: 4859 ldr r0, [pc, #356] ; (8051e60 ) 8051cfa: f7d7 fef7 bl 8029aec 8051cfe: 4603 mov r3, r0 8051d00: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051d04: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051d08: 2b00 cmp r3, #0 8051d0a: d11d bne.n 8051d48 { result = ReadMyFilesCSV(FirstFileIndex); 8051d0c: 4b52 ldr r3, [pc, #328] ; (8051e58 ) 8051d0e: 681b ldr r3, [r3, #0] 8051d10: 4618 mov r0, r3 8051d12: f7d7 ff97 bl 8029c44 8051d16: 4603 mov r3, r0 8051d18: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051d1c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051d20: 2b00 cmp r3, #0 8051d22: d111 bne.n 8051d48 { menu = ROUTE; 8051d24: 4b44 ldr r3, [pc, #272] ; (8051e38 ) 8051d26: 2203 movs r2, #3 8051d28: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 8051d2a: 4b4d ldr r3, [pc, #308] ; (8051e60 ) 8051d2c: 681b ldr r3, [r3, #0] 8051d2e: 2b00 cmp r3, #0 8051d30: d003 beq.n 8051d3a 8051d32: 4b42 ldr r3, [pc, #264] ; (8051e3c ) 8051d34: 2202 movs r2, #2 8051d36: 701a strb r2, [r3, #0] else menupos = NoFilesCSV; } } } } break; 8051d38: e006 b.n 8051d48 else menupos = NoFilesCSV; 8051d3a: 4b40 ldr r3, [pc, #256] ; (8051e3c ) 8051d3c: 2201 movs r2, #1 8051d3e: 701a strb r2, [r3, #0] break; 8051d40: e002 b.n 8051d48 break; 8051d42: bf00 nop 8051d44: f002 bce4 b.w 8054710 break; 8051d48: bf00 nop } break; 8051d4a: f002 bce1 b.w 8054710 case ROUTE_MAP: //OK switch(menupos) 8051d4e: 4b3b ldr r3, [pc, #236] ; (8051e3c ) 8051d50: 781b ldrb r3, [r3, #0] 8051d52: b2db uxtb r3, r3 8051d54: 2b0e cmp r3, #14 8051d56: f202 84dd bhi.w 8054714 8051d5a: a201 add r2, pc, #4 ; (adr r2, 8051d60 ) 8051d5c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8051d60: 08051d9d .word 0x08051d9d 8051d64: 080521e1 .word 0x080521e1 8051d68: 08051ed3 .word 0x08051ed3 8051d6c: 0805213d .word 0x0805213d 8051d70: 0805216f .word 0x0805216f 8051d74: 0805218f .word 0x0805218f 8051d78: 080521d1 .word 0x080521d1 8051d7c: 080521d9 .word 0x080521d9 8051d80: 080521d9 .word 0x080521d9 8051d84: 080521d9 .word 0x080521d9 8051d88: 080521d9 .word 0x080521d9 8051d8c: 080521d9 .word 0x080521d9 8051d90: 080521d9 .word 0x080521d9 8051d94: 08051fcd .word 0x08051fcd 8051d98: 08051f57 .word 0x08051f57 { case PrevPoint: if(RouteIndex > 0) 8051d9c: 4b22 ldr r3, [pc, #136] ; (8051e28 ) 8051d9e: 681b ldr r3, [r3, #0] 8051da0: 2b00 cmp r3, #0 8051da2: d05f beq.n 8051e64 { oldIndex = RouteIndex; 8051da4: 4b20 ldr r3, [pc, #128] ; (8051e28 ) 8051da6: 681b ldr r3, [r3, #0] 8051da8: 677b str r3, [r7, #116] ; 0x74 RouteIndex--; 8051daa: 4b1f ldr r3, [pc, #124] ; (8051e28 ) 8051dac: 681b ldr r3, [r3, #0] 8051dae: 3b01 subs r3, #1 8051db0: 4a1d ldr r2, [pc, #116] ; (8051e28 ) 8051db2: 6013 str r3, [r2, #0] result = GetRoutePath(RouteIndex, RouteName); 8051db4: 4b1c ldr r3, [pc, #112] ; (8051e28 ) 8051db6: 681b ldr r3, [r3, #0] 8051db8: 4916 ldr r1, [pc, #88] ; (8051e14 ) 8051dba: 4618 mov r0, r3 8051dbc: f7d5 ff64 bl 8027c88 8051dc0: 4603 mov r3, r0 8051dc2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051dc6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051dca: 2b00 cmp r3, #0 8051dcc: d113 bne.n 8051df6 { if(RoutePath[0]) 8051dce: 4b17 ldr r3, [pc, #92] ; (8051e2c ) 8051dd0: 781b ldrb r3, [r3, #0] 8051dd2: 2b00 cmp r3, #0 8051dd4: f000 8216 beq.w 8052204 { pardata.SYG = WAVE; 8051dd8: 4b16 ldr r3, [pc, #88] ; (8051e34 ) 8051dda: 2204 movs r2, #4 8051ddc: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8051dde: 4b15 ldr r3, [pc, #84] ; (8051e34 ) 8051de0: 2200 movs r2, #0 8051de2: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 8051de4: 4b13 ldr r3, [pc, #76] ; (8051e34 ) 8051de6: 7bdb ldrb r3, [r3, #15] 8051de8: b2db uxtb r3, r3 8051dea: f003 037f and.w r3, r3, #127 ; 0x7f 8051dee: b2da uxtb r2, r3 8051df0: 4b10 ldr r3, [pc, #64] ; (8051e34 ) 8051df2: 73da strb r2, [r3, #15] STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } } break; 8051df4: e206 b.n 8052204 RouteIndex = oldIndex; 8051df6: 4a0c ldr r2, [pc, #48] ; (8051e28 ) 8051df8: 6f7b ldr r3, [r7, #116] ; 0x74 8051dfa: 6013 str r3, [r2, #0] STATUS = AP_INVALID_FILE; 8051dfc: 4b10 ldr r3, [pc, #64] ; (8051e40 ) 8051dfe: 2202 movs r2, #2 8051e00: 601a str r2, [r3, #0] timerStatus = sec2; 8051e02: 4b10 ldr r3, [pc, #64] ; (8051e44 ) 8051e04: f44f 5280 mov.w r2, #4096 ; 0x1000 8051e08: 801a strh r2, [r3, #0] DrawStatus = true; 8051e0a: 4b0f ldr r3, [pc, #60] ; (8051e48 ) 8051e0c: 2201 movs r2, #1 8051e0e: 701a strb r2, [r3, #0] break; 8051e10: e1f8 b.n 8052204 8051e12: bf00 nop 8051e14: 20022678 .word 0x20022678 8051e18: 20020e00 .word 0x20020e00 8051e1c: 200223a0 .word 0x200223a0 8051e20: 64100000 .word 0x64100000 8051e24: 20020034 .word 0x20020034 8051e28: 20020fb8 .word 0x20020fb8 8051e2c: 20022c38 .word 0x20022c38 8051e30: 200243d4 .word 0x200243d4 8051e34: 20023eb8 .word 0x20023eb8 8051e38: 20020fc5 .word 0x20020fc5 8051e3c: 20020070 .word 0x20020070 8051e40: 20020dec .word 0x20020dec 8051e44: 200216dc .word 0x200216dc 8051e48: 20020df2 .word 0x20020df2 8051e4c: 20020df0 .word 0x20020df0 8051e50: 20020dfc .word 0x20020dfc 8051e54: 2002169c .word 0x2002169c 8051e58: 20020e04 .word 0x20020e04 8051e5c: 20020e08 .word 0x20020e08 8051e60: 20020e2c .word 0x20020e2c oldIndex = RouteIndex; 8051e64: 4ba9 ldr r3, [pc, #676] ; (805210c ) 8051e66: 681b ldr r3, [r3, #0] 8051e68: 677b str r3, [r7, #116] ; 0x74 RouteIndex = MaxRouteIndex - 1; 8051e6a: 4ba9 ldr r3, [pc, #676] ; (8052110 ) 8051e6c: 681b ldr r3, [r3, #0] 8051e6e: 3b01 subs r3, #1 8051e70: 4aa6 ldr r2, [pc, #664] ; (805210c ) 8051e72: 6013 str r3, [r2, #0] result = GetRoutePath(RouteIndex, RouteName); 8051e74: 4ba5 ldr r3, [pc, #660] ; (805210c ) 8051e76: 681b ldr r3, [r3, #0] 8051e78: 49a6 ldr r1, [pc, #664] ; (8052114 ) 8051e7a: 4618 mov r0, r3 8051e7c: f7d5 ff04 bl 8027c88 8051e80: 4603 mov r3, r0 8051e82: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051e86: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051e8a: 2b00 cmp r3, #0 8051e8c: d113 bne.n 8051eb6 if(RoutePath[0]) 8051e8e: 4ba2 ldr r3, [pc, #648] ; (8052118 ) 8051e90: 781b ldrb r3, [r3, #0] 8051e92: 2b00 cmp r3, #0 8051e94: f000 81b6 beq.w 8052204 pardata.SYG = WAVE; 8051e98: 4ba0 ldr r3, [pc, #640] ; (805211c ) 8051e9a: 2204 movs r2, #4 8051e9c: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8051e9e: 4b9f ldr r3, [pc, #636] ; (805211c ) 8051ea0: 2200 movs r2, #0 8051ea2: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 8051ea4: 4b9d ldr r3, [pc, #628] ; (805211c ) 8051ea6: 7bdb ldrb r3, [r3, #15] 8051ea8: b2db uxtb r3, r3 8051eaa: f003 037f and.w r3, r3, #127 ; 0x7f 8051eae: b2da uxtb r2, r3 8051eb0: 4b9a ldr r3, [pc, #616] ; (805211c ) 8051eb2: 73da strb r2, [r3, #15] break; 8051eb4: e1a6 b.n 8052204 RouteIndex = oldIndex; 8051eb6: 4a95 ldr r2, [pc, #596] ; (805210c ) 8051eb8: 6f7b ldr r3, [r7, #116] ; 0x74 8051eba: 6013 str r3, [r2, #0] STATUS = AP_INVALID_FILE; 8051ebc: 4b98 ldr r3, [pc, #608] ; (8052120 ) 8051ebe: 2202 movs r2, #2 8051ec0: 601a str r2, [r3, #0] timerStatus = sec2; 8051ec2: 4b98 ldr r3, [pc, #608] ; (8052124 ) 8051ec4: f44f 5280 mov.w r2, #4096 ; 0x1000 8051ec8: 801a strh r2, [r3, #0] DrawStatus = true; 8051eca: 4b97 ldr r3, [pc, #604] ; (8052128 ) 8051ecc: 2201 movs r2, #1 8051ece: 701a strb r2, [r3, #0] break; 8051ed0: e198 b.n 8052204 case NextPoint: if((RouteIndex + 1) < MaxRouteIndex) 8051ed2: 4b8e ldr r3, [pc, #568] ; (805210c ) 8051ed4: 681b ldr r3, [r3, #0] 8051ed6: 1c5a adds r2, r3, #1 8051ed8: 4b8d ldr r3, [pc, #564] ; (8052110 ) 8051eda: 681b ldr r3, [r3, #0] 8051edc: 429a cmp r2, r3 8051ede: d236 bcs.n 8051f4e { oldIndex = RouteIndex; 8051ee0: 4b8a ldr r3, [pc, #552] ; (805210c ) 8051ee2: 681b ldr r3, [r3, #0] 8051ee4: 677b str r3, [r7, #116] ; 0x74 RouteIndex++; 8051ee6: 4b89 ldr r3, [pc, #548] ; (805210c ) 8051ee8: 681b ldr r3, [r3, #0] 8051eea: 3301 adds r3, #1 8051eec: 4a87 ldr r2, [pc, #540] ; (805210c ) 8051eee: 6013 str r3, [r2, #0] result = GetRoutePath(RouteIndex, RouteName); 8051ef0: 4b86 ldr r3, [pc, #536] ; (805210c ) 8051ef2: 681b ldr r3, [r3, #0] 8051ef4: 4987 ldr r1, [pc, #540] ; (8052114 ) 8051ef6: 4618 mov r0, r3 8051ef8: f7d5 fec6 bl 8027c88 8051efc: 4603 mov r3, r0 8051efe: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051f02: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051f06: 2b00 cmp r3, #0 8051f08: d113 bne.n 8051f32 { if(RoutePath[0]) 8051f0a: 4b83 ldr r3, [pc, #524] ; (8052118 ) 8051f0c: 781b ldrb r3, [r3, #0] 8051f0e: 2b00 cmp r3, #0 8051f10: f000 817b beq.w 805220a { pardata.SYG = WAVE; 8051f14: 4b81 ldr r3, [pc, #516] ; (805211c ) 8051f16: 2204 movs r2, #4 8051f18: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8051f1a: 4b80 ldr r3, [pc, #512] ; (805211c ) 8051f1c: 2200 movs r2, #0 8051f1e: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 8051f20: 4b7e ldr r3, [pc, #504] ; (805211c ) 8051f22: 7bdb ldrb r3, [r3, #15] 8051f24: b2db uxtb r3, r3 8051f26: f003 037f and.w r3, r3, #127 ; 0x7f 8051f2a: b2da uxtb r2, r3 8051f2c: 4b7b ldr r3, [pc, #492] ; (805211c ) 8051f2e: 73da strb r2, [r3, #15] STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; }*/ } break; 8051f30: e16b b.n 805220a RouteIndex = oldIndex; 8051f32: 4a76 ldr r2, [pc, #472] ; (805210c ) 8051f34: 6f7b ldr r3, [r7, #116] ; 0x74 8051f36: 6013 str r3, [r2, #0] STATUS = AP_INVALID_FILE; 8051f38: 4b79 ldr r3, [pc, #484] ; (8052120 ) 8051f3a: 2202 movs r2, #2 8051f3c: 601a str r2, [r3, #0] timerStatus = sec2; 8051f3e: 4b79 ldr r3, [pc, #484] ; (8052124 ) 8051f40: f44f 5280 mov.w r2, #4096 ; 0x1000 8051f44: 801a strh r2, [r3, #0] DrawStatus = true; 8051f46: 4b78 ldr r3, [pc, #480] ; (8052128 ) 8051f48: 2201 movs r2, #1 8051f4a: 701a strb r2, [r3, #0] break; 8051f4c: e15d b.n 805220a menupos = RouteNullNo; 8051f4e: 4b77 ldr r3, [pc, #476] ; (805212c ) 8051f50: 220e movs r2, #14 8051f52: 701a strb r2, [r3, #0] break; 8051f54: e159 b.n 805220a case RouteNullNo: menupos = NextPoint; 8051f56: 4b75 ldr r3, [pc, #468] ; (805212c ) 8051f58: 2202 movs r2, #2 8051f5a: 701a strb r2, [r3, #0] oldIndex = RouteIndex; 8051f5c: 4b6b ldr r3, [pc, #428] ; (805210c ) 8051f5e: 681b ldr r3, [r3, #0] 8051f60: 677b str r3, [r7, #116] ; 0x74 RouteIndex = 0; 8051f62: 4b6a ldr r3, [pc, #424] ; (805210c ) 8051f64: 2200 movs r2, #0 8051f66: 601a str r2, [r3, #0] result = GetRoutePath(RouteIndex, RouteName); 8051f68: 4b68 ldr r3, [pc, #416] ; (805210c ) 8051f6a: 681b ldr r3, [r3, #0] 8051f6c: 4969 ldr r1, [pc, #420] ; (8052114 ) 8051f6e: 4618 mov r0, r3 8051f70: f7d5 fe8a bl 8027c88 8051f74: 4603 mov r3, r0 8051f76: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051f7a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051f7e: 2b00 cmp r3, #0 8051f80: d113 bne.n 8051faa { if(RoutePath[0]) 8051f82: 4b65 ldr r3, [pc, #404] ; (8052118 ) 8051f84: 781b ldrb r3, [r3, #0] 8051f86: 2b00 cmp r3, #0 8051f88: f000 8142 beq.w 8052210 { pardata.SYG = WAVE; 8051f8c: 4b63 ldr r3, [pc, #396] ; (805211c ) 8051f8e: 2204 movs r2, #4 8051f90: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8051f92: 4b62 ldr r3, [pc, #392] ; (805211c ) 8051f94: 2200 movs r2, #0 8051f96: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 8051f98: 4b60 ldr r3, [pc, #384] ; (805211c ) 8051f9a: 7bdb ldrb r3, [r3, #15] 8051f9c: b2db uxtb r3, r3 8051f9e: f003 037f and.w r3, r3, #127 ; 0x7f 8051fa2: b2da uxtb r2, r3 8051fa4: 4b5d ldr r3, [pc, #372] ; (805211c ) 8051fa6: 73da strb r2, [r3, #15] STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } break; 8051fa8: e132 b.n 8052210 RouteIndex = oldIndex; 8051faa: 4a58 ldr r2, [pc, #352] ; (805210c ) 8051fac: 6f7b ldr r3, [r7, #116] ; 0x74 8051fae: 6013 str r3, [r2, #0] menupos = NextPoint; 8051fb0: 4b5e ldr r3, [pc, #376] ; (805212c ) 8051fb2: 2202 movs r2, #2 8051fb4: 701a strb r2, [r3, #0] STATUS = AP_INVALID_FILE; 8051fb6: 4b5a ldr r3, [pc, #360] ; (8052120 ) 8051fb8: 2202 movs r2, #2 8051fba: 601a str r2, [r3, #0] timerStatus = sec2; 8051fbc: 4b59 ldr r3, [pc, #356] ; (8052124 ) 8051fbe: f44f 5280 mov.w r2, #4096 ; 0x1000 8051fc2: 801a strh r2, [r3, #0] DrawStatus = true; 8051fc4: 4b58 ldr r3, [pc, #352] ; (8052128 ) 8051fc6: 2201 movs r2, #1 8051fc8: 701a strb r2, [r3, #0] break; 8051fca: e121 b.n 8052210 case RouteNullYes: result = ReadFileCSV_TMP(RouteName); 8051fcc: 4851 ldr r0, [pc, #324] ; (8052114 ) 8051fce: f7d5 fb83 bl 80276d8 8051fd2: 4603 mov r3, r0 8051fd4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051fd8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051fdc: 2b00 cmp r3, #0 8051fde: f040 808a bne.w 80520f6 { memset((void *) &RouteMeas(0), 0, 65536); 8051fe2: f44f 3280 mov.w r2, #65536 ; 0x10000 8051fe6: 2100 movs r1, #0 8051fe8: 4851 ldr r0, [pc, #324] ; (8052130 ) 8051fea: f07f ffdb bl 80d1fa4 result = WriteFileCSV_TMP(RouteName); 8051fee: 4849 ldr r0, [pc, #292] ; (8052114 ) 8051ff0: f7d5 fd3a bl 8027a68 8051ff4: 4603 mov r3, r0 8051ff6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051ffa: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051ffe: 2b00 cmp r3, #0 8052000: d16e bne.n 80520e0 { RoutePointID = 0xffffffff; 8052002: 4b4c ldr r3, [pc, #304] ; (8052134 ) 8052004: f04f 32ff mov.w r2, #4294967295 8052008: 601a str r2, [r3, #0] // ÷èòàåì êîë-âî èçìåðåíèé â ìàðøðóòå result = OpenFileCSV(RouteName); //êîë-âî òî÷åê â ìàðøðóòå 805200a: 4842 ldr r0, [pc, #264] ; (8052114 ) 805200c: f7d5 fa06 bl 802741c 8052010: 4603 mov r3, r0 8052012: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8052016: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805201a: 2b00 cmp r3, #0 805201c: d146 bne.n 80520ac { result = ReadFileCSV_TMP(RouteName); //ôàéë ñ òàáëèöåé èçìåðåííûõ òî÷åê òåêóùåãî ìàðøðóòà è òåêóùåé òî÷êè 805201e: 483d ldr r0, [pc, #244] ; (8052114 ) 8052020: f7d5 fb5a bl 80276d8 8052024: 4603 mov r3, r0 8052026: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805202a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805202e: 2b00 cmp r3, #0 8052030: d131 bne.n 8052096 { result = GetRoutePath(RouteIndex, RouteName); 8052032: 4b36 ldr r3, [pc, #216] ; (805210c ) 8052034: 681b ldr r3, [r3, #0] 8052036: 4937 ldr r1, [pc, #220] ; (8052114 ) 8052038: 4618 mov r0, r3 805203a: f7d5 fe25 bl 8027c88 805203e: 4603 mov r3, r0 8052040: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8052044: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052048: 2b00 cmp r3, #0 805204a: d119 bne.n 8052080 { if(RoutePath[0]) 805204c: 4b32 ldr r3, [pc, #200] ; (8052118 ) 805204e: 781b ldrb r3, [r3, #0] 8052050: 2b00 cmp r3, #0 8052052: f000 80e0 beq.w 8052216 { pardata.SYG = WAVE; 8052056: 4b31 ldr r3, [pc, #196] ; (805211c ) 8052058: 2204 movs r2, #4 805205a: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 805205c: 4b2f ldr r3, [pc, #188] ; (805211c ) 805205e: 2200 movs r2, #0 8052060: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 8052062: 4b2e ldr r3, [pc, #184] ; (805211c ) 8052064: 7bdb ldrb r3, [r3, #15] 8052066: b2db uxtb r3, r3 8052068: f003 037f and.w r3, r3, #127 ; 0x7f 805206c: b2da uxtb r2, r3 805206e: 4b2b ldr r3, [pc, #172] ; (805211c ) 8052070: 73da strb r2, [r3, #15] menu = ROUTE_MAP; 8052072: 4b31 ldr r3, [pc, #196] ; (8052138 ) 8052074: 2204 movs r2, #4 8052076: 701a strb r2, [r3, #0] menupos = GoMeas; 8052078: 4b2c ldr r3, [pc, #176] ; (805212c ) 805207a: 2201 movs r2, #1 805207c: 701a strb r2, [r3, #0] } break; 805207e: e0ca b.n 8052216 STATUS = AP_INVALID_FILE; 8052080: 4b27 ldr r3, [pc, #156] ; (8052120 ) 8052082: 2202 movs r2, #2 8052084: 601a str r2, [r3, #0] timerStatus = sec2; 8052086: 4b27 ldr r3, [pc, #156] ; (8052124 ) 8052088: f44f 5280 mov.w r2, #4096 ; 0x1000 805208c: 801a strh r2, [r3, #0] DrawStatus = true; 805208e: 4b26 ldr r3, [pc, #152] ; (8052128 ) 8052090: 2201 movs r2, #1 8052092: 701a strb r2, [r3, #0] break; 8052094: e0bf b.n 8052216 STATUS = AP_INVALID_FILE; 8052096: 4b22 ldr r3, [pc, #136] ; (8052120 ) 8052098: 2202 movs r2, #2 805209a: 601a str r2, [r3, #0] timerStatus = sec2; 805209c: 4b21 ldr r3, [pc, #132] ; (8052124 ) 805209e: f44f 5280 mov.w r2, #4096 ; 0x1000 80520a2: 801a strh r2, [r3, #0] DrawStatus = true; 80520a4: 4b20 ldr r3, [pc, #128] ; (8052128 ) 80520a6: 2201 movs r2, #1 80520a8: 701a strb r2, [r3, #0] break; 80520aa: e0b4 b.n 8052216 if(result == FR_NOT_READY) 80520ac: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80520b0: 2b03 cmp r3, #3 80520b2: d10a bne.n 80520ca STATUS = AP_NO_CARD; 80520b4: 4b1a ldr r3, [pc, #104] ; (8052120 ) 80520b6: 2211 movs r2, #17 80520b8: 601a str r2, [r3, #0] timerStatus = sec2; 80520ba: 4b1a ldr r3, [pc, #104] ; (8052124 ) 80520bc: f44f 5280 mov.w r2, #4096 ; 0x1000 80520c0: 801a strh r2, [r3, #0] DrawStatus = true; 80520c2: 4b19 ldr r3, [pc, #100] ; (8052128 ) 80520c4: 2201 movs r2, #1 80520c6: 701a strb r2, [r3, #0] break; 80520c8: e0a5 b.n 8052216 STATUS = AP_INVALID_FILE; 80520ca: 4b15 ldr r3, [pc, #84] ; (8052120 ) 80520cc: 2202 movs r2, #2 80520ce: 601a str r2, [r3, #0] timerStatus = sec2; 80520d0: 4b14 ldr r3, [pc, #80] ; (8052124 ) 80520d2: f44f 5280 mov.w r2, #4096 ; 0x1000 80520d6: 801a strh r2, [r3, #0] DrawStatus = true; 80520d8: 4b13 ldr r3, [pc, #76] ; (8052128 ) 80520da: 2201 movs r2, #1 80520dc: 701a strb r2, [r3, #0] break; 80520de: e09a b.n 8052216 STATUS = AP_INVALID_FILE; 80520e0: 4b0f ldr r3, [pc, #60] ; (8052120 ) 80520e2: 2202 movs r2, #2 80520e4: 601a str r2, [r3, #0] timerStatus = sec2; 80520e6: 4b0f ldr r3, [pc, #60] ; (8052124 ) 80520e8: f44f 5280 mov.w r2, #4096 ; 0x1000 80520ec: 801a strh r2, [r3, #0] DrawStatus = true; 80520ee: 4b0e ldr r3, [pc, #56] ; (8052128 ) 80520f0: 2201 movs r2, #1 80520f2: 701a strb r2, [r3, #0] break; 80520f4: e08f b.n 8052216 STATUS = AP_INVALID_FILE; 80520f6: 4b0a ldr r3, [pc, #40] ; (8052120 ) 80520f8: 2202 movs r2, #2 80520fa: 601a str r2, [r3, #0] timerStatus = sec2; 80520fc: 4b09 ldr r3, [pc, #36] ; (8052124 ) 80520fe: f44f 5280 mov.w r2, #4096 ; 0x1000 8052102: 801a strh r2, [r3, #0] DrawStatus = true; 8052104: 4b08 ldr r3, [pc, #32] ; (8052128 ) 8052106: 2201 movs r2, #1 8052108: 701a strb r2, [r3, #0] break; 805210a: e084 b.n 8052216 805210c: 20020fb8 .word 0x20020fb8 8052110: 20020fbc .word 0x20020fbc 8052114: 20022678 .word 0x20022678 8052118: 20022c38 .word 0x20022c38 805211c: 20023eb8 .word 0x20023eb8 8052120: 20020dec .word 0x20020dec 8052124: 200216dc .word 0x200216dc 8052128: 20020df2 .word 0x20020df2 805212c: 20020070 .word 0x20020070 8052130: 64100000 .word 0x64100000 8052134: 20020034 .word 0x20020034 8052138: 20020fc5 .word 0x20020fc5 case RouteTacho: if(pardata.OPTIONS & BIT7) 805213c: 4bb1 ldr r3, [pc, #708] ; (8052404 ) 805213e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052142: f003 0380 and.w r3, r3, #128 ; 0x80 8052146: 2b00 cmp r3, #0 8052148: d008 beq.n 805215c pardata.OPTIONS &= ~BIT7; 805214a: 4bae ldr r3, [pc, #696] ; (8052404 ) 805214c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052150: f023 0380 bic.w r3, r3, #128 ; 0x80 8052154: 4aab ldr r2, [pc, #684] ; (8052404 ) 8052156: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= BIT7; break; 805215a: e05d b.n 8052218 else pardata.OPTIONS |= BIT7; 805215c: 4ba9 ldr r3, [pc, #676] ; (8052404 ) 805215e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052162: f043 0380 orr.w r3, r3, #128 ; 0x80 8052166: 4aa7 ldr r2, [pc, #668] ; (8052404 ) 8052168: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 805216c: e054 b.n 8052218 case RouteTime: if(!focused) 805216e: 4ba6 ldr r3, [pc, #664] ; (8052408 ) 8052170: 781b ldrb r3, [r3, #0] 8052172: b2db uxtb r3, r3 8052174: f083 0301 eor.w r3, r3, #1 8052178: b2db uxtb r3, r3 805217a: 2b00 cmp r3, #0 805217c: d003 beq.n 8052186 focused = true; 805217e: 4ba2 ldr r3, [pc, #648] ; (8052408 ) 8052180: 2201 movs r2, #1 8052182: 701a strb r2, [r3, #0] else focused = false; break; 8052184: e048 b.n 8052218 else focused = false; 8052186: 4ba0 ldr r3, [pc, #640] ; (8052408 ) 8052188: 2200 movs r2, #0 805218a: 701a strb r2, [r3, #0] break; 805218c: e044 b.n 8052218 case RouteAutoKu: if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 805218e: 4b9d ldr r3, [pc, #628] ; (8052404 ) 8052190: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052194: f003 0304 and.w r3, r3, #4 8052198: 2b00 cmp r3, #0 805219a: d110 bne.n 80521be { pardata.OPTIONS |= 0x4; 805219c: 4b99 ldr r3, [pc, #612] ; (8052404 ) 805219e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80521a2: f043 0304 orr.w r3, r3, #4 80521a6: 4a97 ldr r2, [pc, #604] ; (8052404 ) 80521a8: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.THR &= 0x7f; 80521ac: 4b95 ldr r3, [pc, #596] ; (8052404 ) 80521ae: 7bdb ldrb r3, [r3, #15] 80521b0: b2db uxtb r3, r3 80521b2: f003 037f and.w r3, r3, #127 ; 0x7f 80521b6: b2da uxtb r2, r3 80521b8: 4b92 ldr r3, [pc, #584] ; (8052404 ) 80521ba: 73da strb r2, [r3, #15] } else pardata.OPTIONS &= ~0x4; break; 80521bc: e02c b.n 8052218 pardata.OPTIONS &= ~0x4; 80521be: 4b91 ldr r3, [pc, #580] ; (8052404 ) 80521c0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80521c4: f023 0304 bic.w r3, r3, #4 80521c8: 4a8e ldr r2, [pc, #568] ; (8052404 ) 80521ca: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 80521ce: e023 b.n 8052218 case RouteMax_ALL: menupos = RouteMax_IET; 80521d0: 4b8e ldr r3, [pc, #568] ; (805240c ) 80521d2: 2208 movs r2, #8 80521d4: 701a strb r2, [r3, #0] break; 80521d6: e01f b.n 8052218 case RouteMax_IET: case RouteMax_IES: case RouteMax_IED: case RouteMax_IEE: case RouteMax_IKD: menupos = RouteMax_ALL; 80521d8: 4b8c ldr r3, [pc, #560] ; (805240c ) 80521da: 2206 movs r2, #6 80521dc: 701a strb r2, [r3, #0] break; 80521de: e01b b.n 8052218 case GoMeas: menu = MAIN_WAVE; 80521e0: 4b8b ldr r3, [pc, #556] ; (8052410 ) 80521e2: 221e movs r2, #30 80521e4: 701a strb r2, [r3, #0] menupos = StartStop; 80521e6: 4b89 ldr r3, [pc, #548] ; (805240c ) 80521e8: 2200 movs r2, #0 80521ea: 701a strb r2, [r3, #0] //MEASURED = false; Threshold = false; 80521ec: 4b89 ldr r3, [pc, #548] ; (8052414 ) 80521ee: 2200 movs r2, #0 80521f0: 701a strb r2, [r3, #0] IS_ROUTE = true; 80521f2: 4b89 ldr r3, [pc, #548] ; (8052418 ) 80521f4: 2201 movs r2, #1 80521f6: 701a strb r2, [r3, #0] initAmplif(); 80521f8: f7cf fc4c bl 8021a94 FIRST = true; 80521fc: 4b87 ldr r3, [pc, #540] ; (805241c ) 80521fe: 2201 movs r2, #1 8052200: 701a strb r2, [r3, #0] break; 8052202: e009 b.n 8052218 break; 8052204: bf00 nop 8052206: f002 ba85 b.w 8054714 break; 805220a: bf00 nop 805220c: f002 ba82 b.w 8054714 break; 8052210: bf00 nop 8052212: f002 ba7f b.w 8054714 break; 8052216: bf00 nop } break; 8052218: f002 ba7c b.w 8054714 case MEAS_MODE: //OK focused = false; 805221c: 4b7a ldr r3, [pc, #488] ; (8052408 ) 805221e: 2200 movs r2, #0 8052220: 701a strb r2, [r3, #0] switch(menupos) 8052222: 4b7a ldr r3, [pc, #488] ; (805240c ) 8052224: 781b ldrb r3, [r3, #0] 8052226: b2db uxtb r3, r3 8052228: 3b01 subs r3, #1 805222a: 2b09 cmp r3, #9 805222c: f202 8274 bhi.w 8054718 8052230: a201 add r2, pc, #4 ; (adr r2, 8052238 ) 8052232: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8052236: bf00 nop 8052238: 0805227b .word 0x0805227b 805223c: 08052735 .word 0x08052735 8052240: 08052295 .word 0x08052295 8052244: 0805285b .word 0x0805285b 8052248: 08052261 .word 0x08052261 805224c: 0805288b .word 0x0805288b 8052250: 080528c3 .word 0x080528c3 8052254: 08054719 .word 0x08054719 8052258: 08054719 .word 0x08054719 805225c: 08052847 .word 0x08052847 { case Diagn: focused = false; 8052260: 4b69 ldr r3, [pc, #420] ; (8052408 ) 8052262: 2200 movs r2, #0 8052264: 701a strb r2, [r3, #0] pardata.SYG = DIAGN; 8052266: 4b67 ldr r3, [pc, #412] ; (8052404 ) 8052268: 220a movs r2, #10 805226a: 701a strb r2, [r3, #0] menu = PARAM_DIAGN; 805226c: 4b68 ldr r3, [pc, #416] ; (8052410 ) 805226e: 220f movs r2, #15 8052270: 701a strb r2, [r3, #0] menupos = DiagUs; 8052272: 4b66 ldr r3, [pc, #408] ; (805240c ) 8052274: 2200 movs r2, #0 8052276: 701a strb r2, [r3, #0] break; 8052278: e331 b.n 80528de case Vibrometer: focused = false; 805227a: 4b63 ldr r3, [pc, #396] ; (8052408 ) 805227c: 2200 movs r2, #0 805227e: 701a strb r2, [r3, #0] pardata.SYG = VIB; 8052280: 4b60 ldr r3, [pc, #384] ; (8052404 ) 8052282: 2200 movs r2, #0 8052284: 701a strb r2, [r3, #0] menu = PARAM_VIB; 8052286: 4b62 ldr r3, [pc, #392] ; (8052410 ) 8052288: 2206 movs r2, #6 805228a: 701a strb r2, [r3, #0] menupos = Ok; 805228c: 4b5f ldr r3, [pc, #380] ; (805240c ) 805228e: 2200 movs r2, #0 8052290: 701a strb r2, [r3, #0] break; 8052292: e324 b.n 80528de case FFT: focused = false; 8052294: 4b5c ldr r3, [pc, #368] ; (8052408 ) 8052296: 2200 movs r2, #0 8052298: 701a strb r2, [r3, #0] if(pardata.LNE > N3200) 805229a: 4b5a ldr r3, [pc, #360] ; (8052404 ) 805229c: 79db ldrb r3, [r3, #7] 805229e: b2db uxtb r3, r3 80522a0: 2b03 cmp r3, #3 80522a2: d902 bls.n 80522aa pardata.LNE = N3200; 80522a4: 4b57 ldr r3, [pc, #348] ; (8052404 ) 80522a6: 2203 movs r2, #3 80522a8: 71da strb r2, [r3, #7] if(pardata.IVS[pardata.IPR] > RMS) 80522aa: 4b56 ldr r3, [pc, #344] ; (8052404 ) 80522ac: 785b ldrb r3, [r3, #1] 80522ae: b2db uxtb r3, r3 80522b0: 461a mov r2, r3 80522b2: 4b54 ldr r3, [pc, #336] ; (8052404 ) 80522b4: 4413 add r3, r2 80522b6: 789b ldrb r3, [r3, #2] 80522b8: b2db uxtb r3, r3 80522ba: 2b01 cmp r3, #1 80522bc: d907 bls.n 80522ce pardata.IVS[pardata.IPR] = PEAK; 80522be: 4b51 ldr r3, [pc, #324] ; (8052404 ) 80522c0: 785b ldrb r3, [r3, #1] 80522c2: b2db uxtb r3, r3 80522c4: 461a mov r2, r3 80522c6: 4b4f ldr r3, [pc, #316] ; (8052404 ) 80522c8: 4413 add r3, r2 80522ca: 2200 movs r2, #0 80522cc: 709a strb r2, [r3, #2] if((pardata.OPTIONS & maskFFT) == okt) 80522ce: 4b4d ldr r3, [pc, #308] ; (8052404 ) 80522d0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80522d4: f003 0330 and.w r3, r3, #48 ; 0x30 80522d8: 2b20 cmp r3, #32 80522da: f040 80a9 bne.w 8052430 { pardata.SYG = SPEC_OKT; 80522de: 4b49 ldr r3, [pc, #292] ; (8052404 ) 80522e0: 2206 movs r2, #6 80522e2: 701a strb r2, [r3, #0] if(pardata.IVS[pardata.IPR] > RMS) 80522e4: 4b47 ldr r3, [pc, #284] ; (8052404 ) 80522e6: 785b ldrb r3, [r3, #1] 80522e8: b2db uxtb r3, r3 80522ea: 461a mov r2, r3 80522ec: 4b45 ldr r3, [pc, #276] ; (8052404 ) 80522ee: 4413 add r3, r2 80522f0: 789b ldrb r3, [r3, #2] 80522f2: b2db uxtb r3, r3 80522f4: 2b01 cmp r3, #1 80522f6: d907 bls.n 8052308 pardata.IVS[pardata.IPR] = PEAK; 80522f8: 4b42 ldr r3, [pc, #264] ; (8052404 ) 80522fa: 785b ldrb r3, [r3, #1] 80522fc: b2db uxtb r3, r3 80522fe: 461a mov r2, r3 8052300: 4b40 ldr r3, [pc, #256] ; (8052404 ) 8052302: 4413 add r3, r2 8052304: 2200 movs r2, #0 8052306: 709a strb r2, [r3, #2] pardata.LNE = N3200; 8052308: 4b3e ldr r3, [pc, #248] ; (8052404 ) 805230a: 2203 movs r2, #3 805230c: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 805230e: 4b3d ldr r3, [pc, #244] ; (8052404 ) 8052310: 2209 movs r2, #9 8052312: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8052314: 4b3b ldr r3, [pc, #236] ; (8052404 ) 8052316: 785b ldrb r3, [r3, #1] 8052318: b2db uxtb r3, r3 805231a: 2b00 cmp r3, #0 805231c: d00e beq.n 805233c 805231e: 4b39 ldr r3, [pc, #228] ; (8052404 ) 8052320: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8052324: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8052328: eef4 7ac7 vcmpe.f32 s15, s14 805232c: eef1 fa10 vmrs APSR_nzcv, fpscr 8052330: d504 bpl.n 805233c pardata.HP = 2.0f; 8052332: 4b34 ldr r3, [pc, #208] ; (8052404 ) 8052334: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8052338: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 805233c: 4b31 ldr r3, [pc, #196] ; (8052404 ) 805233e: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8052342: 4b30 ldr r3, [pc, #192] ; (8052404 ) 8052344: 7adb ldrb r3, [r3, #11] 8052346: b2db uxtb r3, r3 8052348: 461a mov r2, r3 805234a: 4b35 ldr r3, [pc, #212] ; (8052420 ) 805234c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8052350: ee07 3a90 vmov s15, r3 8052354: eef8 6a67 vcvt.f32.u32 s13, s15 8052358: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 805235c: eec6 7a86 vdiv.f32 s15, s13, s12 8052360: eddf 6a30 vldr s13, [pc, #192] ; 8052424 8052364: ee77 7aa6 vadd.f32 s15, s15, s13 8052368: eeb4 7ae7 vcmpe.f32 s14, s15 805236c: eef1 fa10 vmrs APSR_nzcv, fpscr 8052370: dd15 ble.n 805239e pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8052372: 4b24 ldr r3, [pc, #144] ; (8052404 ) 8052374: 7adb ldrb r3, [r3, #11] 8052376: b2db uxtb r3, r3 8052378: 461a mov r2, r3 805237a: 4b29 ldr r3, [pc, #164] ; (8052420 ) 805237c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8052380: 4a29 ldr r2, [pc, #164] ; (8052428 ) 8052382: fba2 2303 umull r2, r3, r2, r3 8052386: 089b lsrs r3, r3, #2 8052388: ee07 3a90 vmov s15, r3 805238c: eef8 7a67 vcvt.f32.u32 s15, s15 8052390: ed9f 7a26 vldr s14, [pc, #152] ; 805242c 8052394: ee77 7a87 vadd.f32 s15, s15, s14 8052398: 4b1a ldr r3, [pc, #104] ; (8052404 ) 805239a: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 805239e: 4b19 ldr r3, [pc, #100] ; (8052404 ) 80523a0: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80523a4: 4b17 ldr r3, [pc, #92] ; (8052404 ) 80523a6: 7adb ldrb r3, [r3, #11] 80523a8: b2db uxtb r3, r3 80523aa: 461a mov r2, r3 80523ac: 4b1c ldr r3, [pc, #112] ; (8052420 ) 80523ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80523b2: ee07 3a90 vmov s15, r3 80523b6: eef8 6a67 vcvt.f32.u32 s13, s15 80523ba: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 80523be: eec6 7a86 vdiv.f32 s15, s13, s12 80523c2: eddf 6a18 vldr s13, [pc, #96] ; 8052424 80523c6: ee77 7aa6 vadd.f32 s15, s15, s13 80523ca: eeb4 7ae7 vcmpe.f32 s14, s15 80523ce: eef1 fa10 vmrs APSR_nzcv, fpscr 80523d2: f340 819e ble.w 8052712 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 80523d6: 4b0b ldr r3, [pc, #44] ; (8052404 ) 80523d8: 7adb ldrb r3, [r3, #11] 80523da: b2db uxtb r3, r3 80523dc: 461a mov r2, r3 80523de: 4b10 ldr r3, [pc, #64] ; (8052420 ) 80523e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80523e4: 4a10 ldr r2, [pc, #64] ; (8052428 ) 80523e6: fba2 2303 umull r2, r3, r2, r3 80523ea: 089b lsrs r3, r3, #2 80523ec: ee07 3a90 vmov s15, r3 80523f0: eef8 7a67 vcvt.f32.u32 s15, s15 80523f4: ed9f 7a0d vldr s14, [pc, #52] ; 805242c 80523f8: ee77 7a87 vadd.f32 s15, s15, s14 80523fc: 4b01 ldr r3, [pc, #4] ; (8052404 ) 80523fe: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 8052402: e186 b.n 8052712 8052404: 20023eb8 .word 0x20023eb8 8052408: 20020fd0 .word 0x20020fd0 805240c: 20020070 .word 0x20020070 8052410: 20020fc5 .word 0x20020fc5 8052414: 20020dd1 .word 0x20020dd1 8052418: 20020dd3 .word 0x20020dd3 805241c: 20020dd2 .word 0x20020dd2 8052420: 080f5268 .word 0x080f5268 8052424: 3851b717 .word 0x3851b717 8052428: cccccccd .word 0xcccccccd 805242c: 38d1b717 .word 0x38d1b717 } else if((pardata.OPTIONS & maskFFT) == third) 8052430: 4bbb ldr r3, [pc, #748] ; (8052720 ) 8052432: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052436: f003 0330 and.w r3, r3, #48 ; 0x30 805243a: 2b30 cmp r3, #48 ; 0x30 805243c: f040 808b bne.w 8052556 { pardata.SYG = SPEC_THIRD; 8052440: 4bb7 ldr r3, [pc, #732] ; (8052720 ) 8052442: 2207 movs r2, #7 8052444: 701a strb r2, [r3, #0] if(pardata.IVS[pardata.IPR] > RMS) 8052446: 4bb6 ldr r3, [pc, #728] ; (8052720 ) 8052448: 785b ldrb r3, [r3, #1] 805244a: b2db uxtb r3, r3 805244c: 461a mov r2, r3 805244e: 4bb4 ldr r3, [pc, #720] ; (8052720 ) 8052450: 4413 add r3, r2 8052452: 789b ldrb r3, [r3, #2] 8052454: b2db uxtb r3, r3 8052456: 2b01 cmp r3, #1 8052458: d907 bls.n 805246a pardata.IVS[pardata.IPR] = PEAK; 805245a: 4bb1 ldr r3, [pc, #708] ; (8052720 ) 805245c: 785b ldrb r3, [r3, #1] 805245e: b2db uxtb r3, r3 8052460: 461a mov r2, r3 8052462: 4baf ldr r3, [pc, #700] ; (8052720 ) 8052464: 4413 add r3, r2 8052466: 2200 movs r2, #0 8052468: 709a strb r2, [r3, #2] pardata.LNE = N3200; 805246a: 4bad ldr r3, [pc, #692] ; (8052720 ) 805246c: 2203 movs r2, #3 805246e: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 8052470: 4bab ldr r3, [pc, #684] ; (8052720 ) 8052472: 2209 movs r2, #9 8052474: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8052476: 4baa ldr r3, [pc, #680] ; (8052720 ) 8052478: 785b ldrb r3, [r3, #1] 805247a: b2db uxtb r3, r3 805247c: 2b00 cmp r3, #0 805247e: d00e beq.n 805249e 8052480: 4ba7 ldr r3, [pc, #668] ; (8052720 ) 8052482: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8052486: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 805248a: eef4 7ac7 vcmpe.f32 s15, s14 805248e: eef1 fa10 vmrs APSR_nzcv, fpscr 8052492: d504 bpl.n 805249e pardata.HP = 2.0f; 8052494: 4ba2 ldr r3, [pc, #648] ; (8052720 ) 8052496: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 805249a: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 805249e: 4ba0 ldr r3, [pc, #640] ; (8052720 ) 80524a0: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 80524a4: 4b9e ldr r3, [pc, #632] ; (8052720 ) 80524a6: 7adb ldrb r3, [r3, #11] 80524a8: b2db uxtb r3, r3 80524aa: 461a mov r2, r3 80524ac: 4b9d ldr r3, [pc, #628] ; (8052724 ) 80524ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80524b2: ee07 3a90 vmov s15, r3 80524b6: eef8 6a67 vcvt.f32.u32 s13, s15 80524ba: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 80524be: eec6 7a86 vdiv.f32 s15, s13, s12 80524c2: eeb4 7ae7 vcmpe.f32 s14, s15 80524c6: eef1 fa10 vmrs APSR_nzcv, fpscr 80524ca: dd15 ble.n 80524f8 pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 80524cc: 4b94 ldr r3, [pc, #592] ; (8052720 ) 80524ce: 7adb ldrb r3, [r3, #11] 80524d0: b2db uxtb r3, r3 80524d2: 461a mov r2, r3 80524d4: 4b93 ldr r3, [pc, #588] ; (8052724 ) 80524d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80524da: ee07 3a90 vmov s15, r3 80524de: eeb8 7a67 vcvt.f32.u32 s14, s15 80524e2: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 80524e6: eec7 7a26 vdiv.f32 s15, s14, s13 80524ea: ed9f 7a8f vldr s14, [pc, #572] ; 8052728 80524ee: ee77 7a87 vadd.f32 s15, s15, s14 80524f2: 4b8b ldr r3, [pc, #556] ; (8052720 ) 80524f4: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 80524f8: 4b89 ldr r3, [pc, #548] ; (8052720 ) 80524fa: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80524fe: 4b88 ldr r3, [pc, #544] ; (8052720 ) 8052500: 7adb ldrb r3, [r3, #11] 8052502: b2db uxtb r3, r3 8052504: 461a mov r2, r3 8052506: 4b87 ldr r3, [pc, #540] ; (8052724 ) 8052508: f853 3022 ldr.w r3, [r3, r2, lsl #2] 805250c: ee07 3a90 vmov s15, r3 8052510: eef8 6a67 vcvt.f32.u32 s13, s15 8052514: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8052518: eec6 7a86 vdiv.f32 s15, s13, s12 805251c: eeb4 7ae7 vcmpe.f32 s14, s15 8052520: eef1 fa10 vmrs APSR_nzcv, fpscr 8052524: f340 80f5 ble.w 8052712 pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8052528: 4b7d ldr r3, [pc, #500] ; (8052720 ) 805252a: 7adb ldrb r3, [r3, #11] 805252c: b2db uxtb r3, r3 805252e: 461a mov r2, r3 8052530: 4b7c ldr r3, [pc, #496] ; (8052724 ) 8052532: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8052536: ee07 3a90 vmov s15, r3 805253a: eeb8 7a67 vcvt.f32.u32 s14, s15 805253e: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8052542: eec7 7a26 vdiv.f32 s15, s14, s13 8052546: ed9f 7a78 vldr s14, [pc, #480] ; 8052728 805254a: ee77 7a87 vadd.f32 s15, s15, s14 805254e: 4b74 ldr r3, [pc, #464] ; (8052720 ) 8052550: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 8052554: e0dd b.n 8052712 } else if((pardata.OPTIONS & maskFFT) == env) 8052556: 4b72 ldr r3, [pc, #456] ; (8052720 ) 8052558: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805255c: f003 0330 and.w r3, r3, #48 ; 0x30 8052560: 2b10 cmp r3, #16 8052562: d16b bne.n 805263c { pardata.SYG = SPEC_OGIB; 8052564: 4b6e ldr r3, [pc, #440] ; (8052720 ) 8052566: 2205 movs r2, #5 8052568: 701a strb r2, [r3, #0] if(pardata.IVS[pardata.IPR] > RMS) 805256a: 4b6d ldr r3, [pc, #436] ; (8052720 ) 805256c: 785b ldrb r3, [r3, #1] 805256e: b2db uxtb r3, r3 8052570: 461a mov r2, r3 8052572: 4b6b ldr r3, [pc, #428] ; (8052720 ) 8052574: 4413 add r3, r2 8052576: 789b ldrb r3, [r3, #2] 8052578: b2db uxtb r3, r3 805257a: 2b01 cmp r3, #1 805257c: d907 bls.n 805258e pardata.IVS[pardata.IPR] = PEAK; 805257e: 4b68 ldr r3, [pc, #416] ; (8052720 ) 8052580: 785b ldrb r3, [r3, #1] 8052582: b2db uxtb r3, r3 8052584: 461a mov r2, r3 8052586: 4b66 ldr r3, [pc, #408] ; (8052720 ) 8052588: 4413 add r3, r2 805258a: 2200 movs r2, #0 805258c: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 805258e: 4b64 ldr r3, [pc, #400] ; (8052720 ) 8052590: 785b ldrb r3, [r3, #1] 8052592: b2db uxtb r3, r3 8052594: 2b00 cmp r3, #0 8052596: d00e beq.n 80525b6 8052598: 4b61 ldr r3, [pc, #388] ; (8052720 ) 805259a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 805259e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80525a2: eef4 7ac7 vcmpe.f32 s15, s14 80525a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80525aa: d504 bpl.n 80525b6 pardata.HP = 2.0f; 80525ac: 4b5c ldr r3, [pc, #368] ; (8052720 ) 80525ae: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80525b2: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 80525b6: 2309 movs r3, #9 80525b8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 80525bc: e039 b.n 8052632 { f = (float32_t) FS[k] / pardata.LP; 80525be: 4a59 ldr r2, [pc, #356] ; (8052724 ) 80525c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80525c4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80525c8: ee07 3a90 vmov s15, r3 80525cc: eef8 6a67 vcvt.f32.u32 s13, s15 80525d0: 4b53 ldr r3, [pc, #332] ; (8052720 ) 80525d2: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80525d6: eec6 7a87 vdiv.f32 s15, s13, s14 80525da: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 80525de: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80525e2: ed9f 7a51 vldr s14, [pc, #324] ; 8052728 80525e6: ee77 7a87 vadd.f32 s15, s15, s14 80525ea: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 80525ee: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80525f2: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 80525f6: eef4 7ac7 vcmpe.f32 s15, s14 80525fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80525fe: d507 bpl.n 8052610 { pardata.FRQ = k + 1; 8052600: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8052604: b2db uxtb r3, r3 8052606: 3301 adds r3, #1 8052608: b2da uxtb r2, r3 805260a: 4b45 ldr r3, [pc, #276] ; (8052720 ) 805260c: 72da strb r2, [r3, #11] break; 805260e: e080 b.n 8052712 } else { if(k > 0) 8052610: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8052614: 2b00 cmp r3, #0 8052616: d004 beq.n 8052622 k--; 8052618: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 805261c: 3b01 subs r3, #1 805261e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 8052622: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8052626: 2b00 cmp r3, #0 8052628: d103 bne.n 8052632 { pardata.FRQ = _125Hz; 805262a: 4b3d ldr r3, [pc, #244] ; (8052720 ) 805262c: 2200 movs r2, #0 805262e: 72da strb r2, [r3, #11] break; 8052630: e06f b.n 8052712 while(k > _125Hz) 8052632: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8052636: 2b00 cmp r3, #0 8052638: d1c1 bne.n 80525be 805263a: e06a b.n 8052712 } } } else { pardata.SYG = SPEC; 805263c: 4b38 ldr r3, [pc, #224] ; (8052720 ) 805263e: 2201 movs r2, #1 8052640: 701a strb r2, [r3, #0] if(pardata.IVS[pardata.IPR] > RMS) 8052642: 4b37 ldr r3, [pc, #220] ; (8052720 ) 8052644: 785b ldrb r3, [r3, #1] 8052646: b2db uxtb r3, r3 8052648: 461a mov r2, r3 805264a: 4b35 ldr r3, [pc, #212] ; (8052720 ) 805264c: 4413 add r3, r2 805264e: 789b ldrb r3, [r3, #2] 8052650: b2db uxtb r3, r3 8052652: 2b01 cmp r3, #1 8052654: d907 bls.n 8052666 pardata.IVS[pardata.IPR] = PEAK; 8052656: 4b32 ldr r3, [pc, #200] ; (8052720 ) 8052658: 785b ldrb r3, [r3, #1] 805265a: b2db uxtb r3, r3 805265c: 461a mov r2, r3 805265e: 4b30 ldr r3, [pc, #192] ; (8052720 ) 8052660: 4413 add r3, r2 8052662: 2200 movs r2, #0 8052664: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8052666: 4b2e ldr r3, [pc, #184] ; (8052720 ) 8052668: 785b ldrb r3, [r3, #1] 805266a: b2db uxtb r3, r3 805266c: 2b00 cmp r3, #0 805266e: d00e beq.n 805268e 8052670: 4b2b ldr r3, [pc, #172] ; (8052720 ) 8052672: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8052676: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 805267a: eef4 7ac7 vcmpe.f32 s15, s14 805267e: eef1 fa10 vmrs APSR_nzcv, fpscr 8052682: d504 bpl.n 805268e pardata.HP = 2.0f; 8052684: 4b26 ldr r3, [pc, #152] ; (8052720 ) 8052686: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 805268a: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 805268e: 2309 movs r3, #9 8052690: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8052694: e039 b.n 805270a { f = (float32_t) FS[k] / pardata.LP; 8052696: 4a23 ldr r2, [pc, #140] ; (8052724 ) 8052698: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 805269c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80526a0: ee07 3a90 vmov s15, r3 80526a4: eef8 6a67 vcvt.f32.u32 s13, s15 80526a8: 4b1d ldr r3, [pc, #116] ; (8052720 ) 80526aa: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80526ae: eec6 7a87 vdiv.f32 s15, s13, s14 80526b2: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 80526b6: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80526ba: ed9f 7a1b vldr s14, [pc, #108] ; 8052728 80526be: ee77 7a87 vadd.f32 s15, s15, s14 80526c2: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 80526c6: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80526ca: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 80526ce: eef4 7ac7 vcmpe.f32 s15, s14 80526d2: eef1 fa10 vmrs APSR_nzcv, fpscr 80526d6: d507 bpl.n 80526e8 { pardata.FRQ = k + 1; 80526d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80526dc: b2db uxtb r3, r3 80526de: 3301 adds r3, #1 80526e0: b2da uxtb r2, r3 80526e2: 4b0f ldr r3, [pc, #60] ; (8052720 ) 80526e4: 72da strb r2, [r3, #11] break; 80526e6: e014 b.n 8052712 } else { if(k > 0) 80526e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80526ec: 2b00 cmp r3, #0 80526ee: d004 beq.n 80526fa k--; 80526f0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80526f4: 3b01 subs r3, #1 80526f6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 80526fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80526fe: 2b00 cmp r3, #0 8052700: d103 bne.n 805270a { pardata.FRQ = _125Hz; 8052702: 4b07 ldr r3, [pc, #28] ; (8052720 ) 8052704: 2200 movs r2, #0 8052706: 72da strb r2, [r3, #11] break; 8052708: e003 b.n 8052712 while(k > _125Hz) 805270a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 805270e: 2b00 cmp r3, #0 8052710: d1c1 bne.n 8052696 } } } menu = PARAM_SPEC; 8052712: 4b06 ldr r3, [pc, #24] ; (805272c ) 8052714: 2207 movs r2, #7 8052716: 701a strb r2, [r3, #0] menupos = Ok; 8052718: 4b05 ldr r3, [pc, #20] ; (8052730 ) 805271a: 2200 movs r2, #0 805271c: 701a strb r2, [r3, #0] break; 805271e: e0de b.n 80528de 8052720: 20023eb8 .word 0x20023eb8 8052724: 080f5268 .word 0x080f5268 8052728: 38d1b717 .word 0x38d1b717 805272c: 20020fc5 .word 0x20020fc5 8052730: 20020070 .word 0x20020070 case Osc: focused = false; 8052734: 4bbe ldr r3, [pc, #760] ; (8052a30 ) 8052736: 2200 movs r2, #0 8052738: 701a strb r2, [r3, #0] pardata.SYG = OSC; 805273a: 4bbe ldr r3, [pc, #760] ; (8052a34 ) 805273c: 2202 movs r2, #2 805273e: 701a strb r2, [r3, #0] menu = PARAM_OSC; 8052740: 4bbd ldr r3, [pc, #756] ; (8052a38 ) 8052742: 2208 movs r2, #8 8052744: 701a strb r2, [r3, #0] menupos = Ok; 8052746: 4bbd ldr r3, [pc, #756] ; (8052a3c ) 8052748: 2200 movs r2, #0 805274a: 701a strb r2, [r3, #0] if(pardata.IPR > ACC) 805274c: 4bb9 ldr r3, [pc, #740] ; (8052a34 ) 805274e: 785b ldrb r3, [r3, #1] 8052750: b2db uxtb r3, r3 8052752: 2b00 cmp r3, #0 8052754: d00e beq.n 8052774 { if(pardata.HP < 2.0f) 8052756: 4bb7 ldr r3, [pc, #732] ; (8052a34 ) 8052758: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 805275c: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8052760: eef4 7ac7 vcmpe.f32 s15, s14 8052764: eef1 fa10 vmrs APSR_nzcv, fpscr 8052768: d504 bpl.n 8052774 pardata.HP = 2.0f; 805276a: 4bb2 ldr r3, [pc, #712] ; (8052a34 ) 805276c: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8052770: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8052774: 4baf ldr r3, [pc, #700] ; (8052a34 ) 8052776: 7adb ldrb r3, [r3, #11] 8052778: b2db uxtb r3, r3 805277a: 461a mov r2, r3 805277c: 4bb0 ldr r3, [pc, #704] ; (8052a40 ) 805277e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8052782: ee07 3a90 vmov s15, r3 8052786: eeb8 5b67 vcvt.f64.u32 d5, s15 805278a: 4baa ldr r3, [pc, #680] ; (8052a34 ) 805278c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8052790: eeb7 6ae7 vcvt.f64.f32 d6, s15 8052794: ee85 7b06 vdiv.f64 d7, d5, d6 8052798: ed9f 6ba1 vldr d6, [pc, #644] ; 8052a20 805279c: ee37 7b06 vadd.f64 d7, d7, d6 80527a0: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 80527a4: eeb4 7bc6 vcmpe.f64 d7, d6 80527a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80527ac: d50c bpl.n 80527c8 { while(pardata.FRQ < _64000Hz) 80527ae: e006 b.n 80527be pardata.FRQ++; 80527b0: 4ba0 ldr r3, [pc, #640] ; (8052a34 ) 80527b2: 7adb ldrb r3, [r3, #11] 80527b4: b2db uxtb r3, r3 80527b6: 3301 adds r3, #1 80527b8: b2da uxtb r2, r3 80527ba: 4b9e ldr r3, [pc, #632] ; (8052a34 ) 80527bc: 72da strb r2, [r3, #11] while(pardata.FRQ < _64000Hz) 80527be: 4b9d ldr r3, [pc, #628] ; (8052a34 ) 80527c0: 7adb ldrb r3, [r3, #11] 80527c2: b2db uxtb r3, r3 80527c4: 2b08 cmp r3, #8 80527c6: d9f3 bls.n 80527b0 } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 80527c8: 4b9a ldr r3, [pc, #616] ; (8052a34 ) 80527ca: 7adb ldrb r3, [r3, #11] 80527cc: b2db uxtb r3, r3 80527ce: 461a mov r2, r3 80527d0: 4b9b ldr r3, [pc, #620] ; (8052a40 ) 80527d2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80527d6: ee07 3a90 vmov s15, r3 80527da: eeb8 5b67 vcvt.f64.u32 d5, s15 80527de: 4b95 ldr r3, [pc, #596] ; (8052a34 ) 80527e0: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80527e4: eeb7 6ae7 vcvt.f64.f32 d6, s15 80527e8: ee85 7b06 vdiv.f64 d7, d5, d6 80527ec: ed9f 6b8c vldr d6, [pc, #560] ; 8052a20 80527f0: ee37 7b06 vadd.f64 d7, d7, d6 80527f4: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 80527f8: eeb4 7bc6 vcmpe.f64 d7, d6 80527fc: eef1 fa10 vmrs APSR_nzcv, fpscr 8052800: d400 bmi.n 8052804 { pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); pardata.LP += 0.0001; } break; 8052802: e06c b.n 80528de pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 8052804: 4b8b ldr r3, [pc, #556] ; (8052a34 ) 8052806: 7adb ldrb r3, [r3, #11] 8052808: b2db uxtb r3, r3 805280a: 461a mov r2, r3 805280c: 4b8c ldr r3, [pc, #560] ; (8052a40 ) 805280e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8052812: 4a8c ldr r2, [pc, #560] ; (8052a44 ) 8052814: fba2 2303 umull r2, r3, r2, r3 8052818: 089b lsrs r3, r3, #2 805281a: ee07 3a90 vmov s15, r3 805281e: eef8 7a67 vcvt.f32.u32 s15, s15 8052822: 4b84 ldr r3, [pc, #528] ; (8052a34 ) 8052824: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 8052828: 4b82 ldr r3, [pc, #520] ; (8052a34 ) 805282a: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 805282e: eeb7 7ae7 vcvt.f64.f32 d7, s15 8052832: ed9f 6b7d vldr d6, [pc, #500] ; 8052a28 8052836: ee37 7b06 vadd.f64 d7, d7, d6 805283a: eef7 7bc7 vcvt.f32.f64 s15, d7 805283e: 4b7d ldr r3, [pc, #500] ; (8052a34 ) 8052840: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8052844: e04b b.n 80528de case Fran: pardata.SYG = FRAN; 8052846: 4b7b ldr r3, [pc, #492] ; (8052a34 ) 8052848: 2203 movs r2, #3 805284a: 701a strb r2, [r3, #0] menu = PARAM_FRAN; 805284c: 4b7a ldr r3, [pc, #488] ; (8052a38 ) 805284e: 2209 movs r2, #9 8052850: 701a strb r2, [r3, #0] menupos = Ok; 8052852: 4b7a ldr r3, [pc, #488] ; (8052a3c ) 8052854: 2200 movs r2, #0 8052856: 701a strb r2, [r3, #0] break; 8052858: e041 b.n 80528de case Wave: focused = false; 805285a: 4b75 ldr r3, [pc, #468] ; (8052a30 ) 805285c: 2200 movs r2, #0 805285e: 701a strb r2, [r3, #0] pardata.FRQ = _64000Hz; 8052860: 4b74 ldr r3, [pc, #464] ; (8052a34 ) 8052862: 2209 movs r2, #9 8052864: 72da strb r2, [r3, #11] pardata.SYG = WAVE; 8052866: 4b73 ldr r3, [pc, #460] ; (8052a34 ) 8052868: 2204 movs r2, #4 805286a: 701a strb r2, [r3, #0] menu = PARAM_WAVE; 805286c: 4b72 ldr r3, [pc, #456] ; (8052a38 ) 805286e: 220a movs r2, #10 8052870: 701a strb r2, [r3, #0] menupos = Ok; 8052872: 4b72 ldr r3, [pc, #456] ; (8052a3c ) 8052874: 2200 movs r2, #0 8052876: 701a strb r2, [r3, #0] if(pardata.IVS[ACC] >= PEAK_TO_PEAK) 8052878: 4b6e ldr r3, [pc, #440] ; (8052a34 ) 805287a: 789b ldrb r3, [r3, #2] 805287c: b2db uxtb r3, r3 805287e: 2b01 cmp r3, #1 8052880: d92c bls.n 80528dc pardata.IVS[ACC] = PEAK; 8052882: 4b6c ldr r3, [pc, #432] ; (8052a34 ) 8052884: 2200 movs r2, #0 8052886: 709a strb r2, [r3, #2] break; 8052888: e028 b.n 80528dc case Roll: focused = false; 805288a: 4b69 ldr r3, [pc, #420] ; (8052a30 ) 805288c: 2200 movs r2, #0 805288e: 701a strb r2, [r3, #0] pardata.FRQ = _4000Hz; 8052890: 4b68 ldr r3, [pc, #416] ; (8052a34 ) 8052892: 2205 movs r2, #5 8052894: 72da strb r2, [r3, #11] pardata.SYG = ROLL; 8052896: 4b67 ldr r3, [pc, #412] ; (8052a34 ) 8052898: 2208 movs r2, #8 805289a: 701a strb r2, [r3, #0] pardata.HP = 0.5f; 805289c: 4b65 ldr r3, [pc, #404] ; (8052a34 ) 805289e: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 80528a2: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 pardata.LP = 800.0f; 80528a6: 4b63 ldr r3, [pc, #396] ; (8052a34 ) 80528a8: 4a67 ldr r2, [pc, #412] ; (8052a48 ) 80528aa: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 menu = PARAM_ROLL; 80528ae: 4b62 ldr r3, [pc, #392] ; (8052a38 ) 80528b0: 220d movs r2, #13 80528b2: 701a strb r2, [r3, #0] menupos = Ok; 80528b4: 4b61 ldr r3, [pc, #388] ; (8052a3c ) 80528b6: 2200 movs r2, #0 80528b8: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 80528ba: 4b5e ldr r3, [pc, #376] ; (8052a34 ) 80528bc: 2200 movs r2, #0 80528be: 709a strb r2, [r3, #2] break; 80528c0: e00d b.n 80528de case Udar: focused = false; 80528c2: 4b5b ldr r3, [pc, #364] ; (8052a30 ) 80528c4: 2200 movs r2, #0 80528c6: 701a strb r2, [r3, #0] pardata.SYG = UDAR; 80528c8: 4b5a ldr r3, [pc, #360] ; (8052a34 ) 80528ca: 2209 movs r2, #9 80528cc: 701a strb r2, [r3, #0] menu = PARAM_UDAR; 80528ce: 4b5a ldr r3, [pc, #360] ; (8052a38 ) 80528d0: 220e movs r2, #14 80528d2: 701a strb r2, [r3, #0] menupos = Ok; 80528d4: 4b59 ldr r3, [pc, #356] ; (8052a3c ) 80528d6: 2200 movs r2, #0 80528d8: 701a strb r2, [r3, #0] break; 80528da: e000 b.n 80528de break; 80528dc: bf00 nop } break; 80528de: f001 bf1b b.w 8054718 case PARAM_DIAGN: if(menupos == DiagAverage) 80528e2: 4b56 ldr r3, [pc, #344] ; (8052a3c ) 80528e4: 781b ldrb r3, [r3, #0] 80528e6: b2db uxtb r3, r3 80528e8: 2b01 cmp r3, #1 80528ea: d111 bne.n 8052910 { if(!focused) 80528ec: 4b50 ldr r3, [pc, #320] ; (8052a30 ) 80528ee: 781b ldrb r3, [r3, #0] 80528f0: b2db uxtb r3, r3 80528f2: f083 0301 eor.w r3, r3, #1 80528f6: b2db uxtb r3, r3 80528f8: 2b00 cmp r3, #0 80528fa: d004 beq.n 8052906 focused = true; 80528fc: 4b4c ldr r3, [pc, #304] ; (8052a30 ) 80528fe: 2201 movs r2, #1 8052900: 701a strb r2, [r3, #0] { menu = PARAM_DIAGN_1; lastmenupos = menupos; menupos = CURR_POINT; } break; 8052902: f001 bf0b b.w 805471c else focused = false; 8052906: 4b4a ldr r3, [pc, #296] ; (8052a30 ) 8052908: 2200 movs r2, #0 805290a: 701a strb r2, [r3, #0] break; 805290c: f001 bf06 b.w 805471c if(menupos == DiagMax_ALL) 8052910: 4b4a ldr r3, [pc, #296] ; (8052a3c ) 8052912: 781b ldrb r3, [r3, #0] 8052914: b2db uxtb r3, r3 8052916: 2b03 cmp r3, #3 8052918: d104 bne.n 8052924 menupos = DiagMax_IET; 805291a: 4b48 ldr r3, [pc, #288] ; (8052a3c ) 805291c: 2206 movs r2, #6 805291e: 701a strb r2, [r3, #0] break; 8052920: f001 befc b.w 805471c if((menupos >= DiagMax_IDT) && (menupos <= DiagMax_IKD)) 8052924: 4b45 ldr r3, [pc, #276] ; (8052a3c ) 8052926: 781b ldrb r3, [r3, #0] 8052928: b2db uxtb r3, r3 805292a: 2b04 cmp r3, #4 805292c: d909 bls.n 8052942 805292e: 4b43 ldr r3, [pc, #268] ; (8052a3c ) 8052930: 781b ldrb r3, [r3, #0] 8052932: b2db uxtb r3, r3 8052934: 2b0a cmp r3, #10 8052936: d804 bhi.n 8052942 menupos = DiagMax_ALL; 8052938: 4b40 ldr r3, [pc, #256] ; (8052a3c ) 805293a: 2203 movs r2, #3 805293c: 701a strb r2, [r3, #0] break; 805293e: f001 beed b.w 805471c if(menupos == DiagAutoKu) 8052942: 4b3e ldr r3, [pc, #248] ; (8052a3c ) 8052944: 781b ldrb r3, [r3, #0] 8052946: b2db uxtb r3, r3 8052948: 2b02 cmp r3, #2 805294a: d11a bne.n 8052982 if(pardata.OPTIONS & 0x4) 805294c: 4b39 ldr r3, [pc, #228] ; (8052a34 ) 805294e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052952: f003 0304 and.w r3, r3, #4 8052956: 2b00 cmp r3, #0 8052958: d009 beq.n 805296e pardata.OPTIONS &= ~0x4; 805295a: 4b36 ldr r3, [pc, #216] ; (8052a34 ) 805295c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052960: f023 0304 bic.w r3, r3, #4 8052964: 4a33 ldr r2, [pc, #204] ; (8052a34 ) 8052966: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 805296a: f001 bed7 b.w 805471c else pardata.OPTIONS |= 0x4; 805296e: 4b31 ldr r3, [pc, #196] ; (8052a34 ) 8052970: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052974: f043 0304 orr.w r3, r3, #4 8052978: 4a2e ldr r2, [pc, #184] ; (8052a34 ) 805297a: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 805297e: f001 becd b.w 805471c if(menupos == DiagSaveToFile) //TODO 8052982: 4b2e ldr r3, [pc, #184] ; (8052a3c ) 8052984: 781b ldrb r3, [r3, #0] 8052986: b2db uxtb r3, r3 8052988: 2b04 cmp r3, #4 805298a: d172 bne.n 8052a72 result = FR_NOT_READY; 805298c: 2303 movs r3, #3 805298e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8052992: 4b2e ldr r3, [pc, #184] ; (8052a4c ) 8052994: 781b ldrb r3, [r3, #0] 8052996: b2db uxtb r3, r3 8052998: 2b03 cmp r3, #3 805299a: d165 bne.n 8052a68 CursorIndex = 0; 805299c: 4b2c ldr r3, [pc, #176] ; (8052a50 ) 805299e: 2200 movs r2, #0 80529a0: 601a str r2, [r3, #0] FirstFileIndex = 0; 80529a2: 4b2c ldr r3, [pc, #176] ; (8052a54 ) 80529a4: 2200 movs r2, #0 80529a6: 601a str r2, [r3, #0] RealFileIndex = 0; 80529a8: 4b2b ldr r3, [pc, #172] ; (8052a58 ) 80529aa: 2200 movs r2, #0 80529ac: 601a str r2, [r3, #0] result = ReadNumFilesDGN((uint32_t *) &NumFilesDGN); 80529ae: 482b ldr r0, [pc, #172] ; (8052a5c ) 80529b0: f7d7 f82e bl 8029a10 80529b4: 4603 mov r3, r0 80529b6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80529ba: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80529be: 2b00 cmp r3, #0 80529c0: d126 bne.n 8052a10 result = ReadMyFilesDGN(FirstFileIndex); 80529c2: 4b24 ldr r3, [pc, #144] ; (8052a54 ) 80529c4: 681b ldr r3, [r3, #0] 80529c6: 4618 mov r0, r3 80529c8: f7d7 f8fb bl 8029bc2 80529cc: 4603 mov r3, r0 80529ce: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80529d2: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80529d6: 2b00 cmp r3, #0 80529d8: d115 bne.n 8052a06 menu = EXPLORER_DIAGN; 80529da: 4b17 ldr r3, [pc, #92] ; (8052a38 ) 80529dc: 222a movs r2, #42 ; 0x2a 80529de: 701a strb r2, [r3, #0] lastmenupos = menupos; 80529e0: 4b16 ldr r3, [pc, #88] ; (8052a3c ) 80529e2: 781b ldrb r3, [r3, #0] 80529e4: b2da uxtb r2, r3 80529e6: 4b1e ldr r3, [pc, #120] ; (8052a60 ) 80529e8: 701a strb r2, [r3, #0] if(NumFilesDGN) 80529ea: 4b1c ldr r3, [pc, #112] ; (8052a5c ) 80529ec: 681b ldr r3, [r3, #0] 80529ee: 2b00 cmp r3, #0 80529f0: d004 beq.n 80529fc menupos = FilesDGN; 80529f2: 4b12 ldr r3, [pc, #72] ; (8052a3c ) 80529f4: 2202 movs r2, #2 80529f6: 701a strb r2, [r3, #0] break; 80529f8: f001 be90 b.w 805471c else menupos = NoFilesDGN; 80529fc: 4b0f ldr r3, [pc, #60] ; (8052a3c ) 80529fe: 2201 movs r2, #1 8052a00: 701a strb r2, [r3, #0] break; 8052a02: f001 be8b b.w 805471c DiagFileName[0] = '\0'; 8052a06: 4b17 ldr r3, [pc, #92] ; (8052a64 ) 8052a08: 2200 movs r2, #0 8052a0a: 701a strb r2, [r3, #0] break; 8052a0c: f001 be86 b.w 805471c DiagFileName[0] = '\0'; 8052a10: 4b14 ldr r3, [pc, #80] ; (8052a64 ) 8052a12: 2200 movs r2, #0 8052a14: 701a strb r2, [r3, #0] break; 8052a16: f001 be81 b.w 805471c 8052a1a: bf00 nop 8052a1c: f3af 8000 nop.w 8052a20: e0000000 .word 0xe0000000 8052a24: 3f0a36e2 .word 0x3f0a36e2 8052a28: eb1c432d .word 0xeb1c432d 8052a2c: 3f1a36e2 .word 0x3f1a36e2 8052a30: 20020fd0 .word 0x20020fd0 8052a34: 20023eb8 .word 0x20023eb8 8052a38: 20020fc5 .word 0x20020fc5 8052a3c: 20020070 .word 0x20020070 8052a40: 080f5268 .word 0x080f5268 8052a44: cccccccd .word 0xcccccccd 8052a48: 44480000 .word 0x44480000 8052a4c: 2002169c .word 0x2002169c 8052a50: 20020e00 .word 0x20020e00 8052a54: 20020e04 .word 0x20020e04 8052a58: 20020e08 .word 0x20020e08 8052a5c: 20020e18 .word 0x20020e18 8052a60: 20020071 .word 0x20020071 8052a64: 20020ea4 .word 0x20020ea4 DiagFileName[0] = '\0'; 8052a68: 4bb1 ldr r3, [pc, #708] ; (8052d30 ) 8052a6a: 2200 movs r2, #0 8052a6c: 701a strb r2, [r3, #0] break; 8052a6e: f001 be55 b.w 805471c if(menupos == DiagUs) 8052a72: 4bb0 ldr r3, [pc, #704] ; (8052d34 ) 8052a74: 781b ldrb r3, [r3, #0] 8052a76: b2db uxtb r3, r3 8052a78: 2b00 cmp r3, #0 8052a7a: f041 864f bne.w 805471c menu = PARAM_DIAGN_1; 8052a7e: 4bae ldr r3, [pc, #696] ; (8052d38 ) 8052a80: 2210 movs r2, #16 8052a82: 701a strb r2, [r3, #0] lastmenupos = menupos; 8052a84: 4bab ldr r3, [pc, #684] ; (8052d34 ) 8052a86: 781b ldrb r3, [r3, #0] 8052a88: b2da uxtb r2, r3 8052a8a: 4bac ldr r3, [pc, #688] ; (8052d3c ) 8052a8c: 701a strb r2, [r3, #0] menupos = CURR_POINT; 8052a8e: 4bac ldr r3, [pc, #688] ; (8052d40 ) 8052a90: 781b ldrb r3, [r3, #0] 8052a92: b2da uxtb r2, r3 8052a94: 4ba7 ldr r3, [pc, #668] ; (8052d34 ) 8052a96: 701a strb r2, [r3, #0] break; 8052a98: f001 be40 b.w 805471c case PARAM_DIAGN_1: menu = PARAM_DIAGN_2; 8052a9c: 4ba6 ldr r3, [pc, #664] ; (8052d38 ) 8052a9e: 2211 movs r2, #17 8052aa0: 701a strb r2, [r3, #0] CURR_POINT = menupos; 8052aa2: 4ba4 ldr r3, [pc, #656] ; (8052d34 ) 8052aa4: 781b ldrb r3, [r3, #0] 8052aa6: b2da uxtb r2, r3 8052aa8: 4ba5 ldr r3, [pc, #660] ; (8052d40 ) 8052aaa: 701a strb r2, [r3, #0] CURR_USL = Us1; 8052aac: 4ba5 ldr r3, [pc, #660] ; (8052d44 ) 8052aae: 2200 movs r2, #0 8052ab0: 701a strb r2, [r3, #0] menupos = Ok; 8052ab2: 4ba0 ldr r3, [pc, #640] ; (8052d34 ) 8052ab4: 2200 movs r2, #0 8052ab6: 701a strb r2, [r3, #0] break; 8052ab8: f001 be49 b.w 805474e case PARAM_DIAGN_2: if((menupos >= DiagHP_IDT) && (menupos <= DiagHP_IKD)) { 8052abc: 4b9d ldr r3, [pc, #628] ; (8052d34 ) 8052abe: 781b ldrb r3, [r3, #0] 8052ac0: b2db uxtb r3, r3 8052ac2: 2b0c cmp r3, #12 8052ac4: d908 bls.n 8052ad8 8052ac6: 4b9b ldr r3, [pc, #620] ; (8052d34 ) 8052ac8: 781b ldrb r3, [r3, #0] 8052aca: b2db uxtb r3, r3 8052acc: 2b12 cmp r3, #18 8052ace: d803 bhi.n 8052ad8 menupos = DiagHP; 8052ad0: 4b98 ldr r3, [pc, #608] ; (8052d34 ) 8052ad2: 2209 movs r2, #9 8052ad4: 701a strb r2, [r3, #0] 8052ad6: e0a5 b.n 8052c24 } else if((menupos >= DiagLP_IDT) && (menupos <= DiagLP_IKD)) { 8052ad8: 4b96 ldr r3, [pc, #600] ; (8052d34 ) 8052ada: 781b ldrb r3, [r3, #0] 8052adc: b2db uxtb r3, r3 8052ade: 2b12 cmp r3, #18 8052ae0: d908 bls.n 8052af4 8052ae2: 4b94 ldr r3, [pc, #592] ; (8052d34 ) 8052ae4: 781b ldrb r3, [r3, #0] 8052ae6: b2db uxtb r3, r3 8052ae8: 2b18 cmp r3, #24 8052aea: d803 bhi.n 8052af4 menupos = DiagLP; 8052aec: 4b91 ldr r3, [pc, #580] ; (8052d34 ) 8052aee: 220a movs r2, #10 8052af0: 701a strb r2, [r3, #0] 8052af2: e097 b.n 8052c24 } else if((menupos >= DiagW_IDT) && (menupos <= DiagW_IKD)) { 8052af4: 4b8f ldr r3, [pc, #572] ; (8052d34 ) 8052af6: 781b ldrb r3, [r3, #0] 8052af8: b2db uxtb r3, r3 8052afa: 2b18 cmp r3, #24 8052afc: d908 bls.n 8052b10 8052afe: 4b8d ldr r3, [pc, #564] ; (8052d34 ) 8052b00: 781b ldrb r3, [r3, #0] 8052b02: b2db uxtb r3, r3 8052b04: 2b1e cmp r3, #30 8052b06: d803 bhi.n 8052b10 menupos = Diag_W; 8052b08: 4b8a ldr r3, [pc, #552] ; (8052d34 ) 8052b0a: 220b movs r2, #11 8052b0c: 701a strb r2, [r3, #0] 8052b0e: e089 b.n 8052c24 } else if((menupos >= DiagA_IDT) && (menupos <= DiagA_IKD)) { 8052b10: 4b88 ldr r3, [pc, #544] ; (8052d34 ) 8052b12: 781b ldrb r3, [r3, #0] 8052b14: b2db uxtb r3, r3 8052b16: 2b1e cmp r3, #30 8052b18: d908 bls.n 8052b2c 8052b1a: 4b86 ldr r3, [pc, #536] ; (8052d34 ) 8052b1c: 781b ldrb r3, [r3, #0] 8052b1e: b2db uxtb r3, r3 8052b20: 2b24 cmp r3, #36 ; 0x24 8052b22: d803 bhi.n 8052b2c menupos = Diag_A; 8052b24: 4b83 ldr r3, [pc, #524] ; (8052d34 ) 8052b26: 220c movs r2, #12 8052b28: 701a strb r2, [r3, #0] 8052b2a: e07b b.n 8052c24 } else { switch(menupos) 8052b2c: 4b81 ldr r3, [pc, #516] ; (8052d34 ) 8052b2e: 781b ldrb r3, [r3, #0] 8052b30: b2db uxtb r3, r3 8052b32: 2b0c cmp r3, #12 8052b34: f201 85f4 bhi.w 8054720 8052b38: a201 add r2, pc, #4 ; (adr r2, 8052b40 ) 8052b3a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8052b3e: bf00 nop 8052b40: 08052bdd .word 0x08052bdd 8052b44: 08054721 .word 0x08054721 8052b48: 08052bbd .word 0x08052bbd 8052b4c: 08054721 .word 0x08054721 8052b50: 08052bbd .word 0x08052bbd 8052b54: 08054721 .word 0x08054721 8052b58: 08052b95 .word 0x08052b95 8052b5c: 08052bbd .word 0x08052bbd 8052b60: 08052bbd .word 0x08052bbd 8052b64: 08052b75 .word 0x08052b75 8052b68: 08052b7d .word 0x08052b7d 8052b6c: 08052b85 .word 0x08052b85 8052b70: 08052b8d .word 0x08052b8d { case DiagHP: menupos = DiagHP_IET; 8052b74: 4b6f ldr r3, [pc, #444] ; (8052d34 ) 8052b76: 220e movs r2, #14 8052b78: 701a strb r2, [r3, #0] break; 8052b7a: e053 b.n 8052c24 case DiagLP: menupos = DiagLP_IET; 8052b7c: 4b6d ldr r3, [pc, #436] ; (8052d34 ) 8052b7e: 2214 movs r2, #20 8052b80: 701a strb r2, [r3, #0] break; 8052b82: e04f b.n 8052c24 case Diag_W: menupos = DiagW_IET; 8052b84: 4b6b ldr r3, [pc, #428] ; (8052d34 ) 8052b86: 221a movs r2, #26 8052b88: 701a strb r2, [r3, #0] break; 8052b8a: e04b b.n 8052c24 case Diag_A: menupos = DiagA_IET; 8052b8c: 4b69 ldr r3, [pc, #420] ; (8052d34 ) 8052b8e: 2220 movs r2, #32 8052b90: 701a strb r2, [r3, #0] break; 8052b92: e047 b.n 8052c24 case DiagName: //todo memset(TEMP_Name, 0, sizeof(TEMP_Name)); 8052b94: 2221 movs r2, #33 ; 0x21 8052b96: 2100 movs r1, #0 8052b98: 486b ldr r0, [pc, #428] ; (8052d48 ) 8052b9a: f07f fa03 bl 80d1fa4 NameLen = 0; 8052b9e: 4b6b ldr r3, [pc, #428] ; (8052d4c ) 8052ba0: 2200 movs r2, #0 8052ba2: 601a str r2, [r3, #0] lastmenupos = menupos; 8052ba4: 4b63 ldr r3, [pc, #396] ; (8052d34 ) 8052ba6: 781b ldrb r3, [r3, #0] 8052ba8: b2da uxtb r2, r3 8052baa: 4b64 ldr r3, [pc, #400] ; (8052d3c ) 8052bac: 701a strb r2, [r3, #0] menu = INPUT_NAME; 8052bae: 4b62 ldr r3, [pc, #392] ; (8052d38 ) 8052bb0: 2233 movs r2, #51 ; 0x33 8052bb2: 701a strb r2, [r3, #0] menupos = _CANCEL; 8052bb4: 4b5f ldr r3, [pc, #380] ; (8052d34 ) 8052bb6: 2227 movs r2, #39 ; 0x27 8052bb8: 701a strb r2, [r3, #0] break; 8052bba: e033 b.n 8052c24 case DiagOp1: case DiagOp2: case DiagAVS: case DiagValue: if(!focused) 8052bbc: 4b64 ldr r3, [pc, #400] ; (8052d50 ) 8052bbe: 781b ldrb r3, [r3, #0] 8052bc0: b2db uxtb r3, r3 8052bc2: f083 0301 eor.w r3, r3, #1 8052bc6: b2db uxtb r3, r3 8052bc8: 2b00 cmp r3, #0 8052bca: d003 beq.n 8052bd4 focused = true; 8052bcc: 4b60 ldr r3, [pc, #384] ; (8052d50 ) 8052bce: 2201 movs r2, #1 8052bd0: 701a strb r2, [r3, #0] else focused = false; break; 8052bd2: e027 b.n 8052c24 else focused = false; 8052bd4: 4b5e ldr r3, [pc, #376] ; (8052d50 ) 8052bd6: 2200 movs r2, #0 8052bd8: 701a strb r2, [r3, #0] break; 8052bda: e023 b.n 8052c24 case Ok: arm_fill_f32(0.0f, operand, 4); 8052bdc: 2104 movs r1, #4 8052bde: 485d ldr r0, [pc, #372] ; (8052d54 ) 8052be0: ed9f 0a5d vldr s0, [pc, #372] ; 8052d58 8052be4: f07c f83a bl 80cec5c result = GetPointAndIndexDGN(DiagFileName); 8052be8: 4851 ldr r0, [pc, #324] ; (8052d30 ) 8052bea: f7d2 f915 bl 8024e18 8052bee: 4603 mov r3, r0 8052bf0: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result != FR_OK) { 8052bf4: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052bf8: 2b00 cmp r3, #0 8052bfa: d002 beq.n 8052c02 MeasFileName[0] = '\0'; 8052bfc: 4b57 ldr r3, [pc, #348] ; (8052d5c ) 8052bfe: 2200 movs r2, #0 8052c00: 701a strb r2, [r3, #0] } menu = MAIN_DIAGN; 8052c02: 4b4d ldr r3, [pc, #308] ; (8052d38 ) 8052c04: 2226 movs r2, #38 ; 0x26 8052c06: 701a strb r2, [r3, #0] lastmenupos = menupos; 8052c08: 4b4a ldr r3, [pc, #296] ; (8052d34 ) 8052c0a: 781b ldrb r3, [r3, #0] 8052c0c: b2da uxtb r2, r3 8052c0e: 4b4b ldr r3, [pc, #300] ; (8052d3c ) 8052c10: 701a strb r2, [r3, #0] menupos = StartStop; 8052c12: 4b48 ldr r3, [pc, #288] ; (8052d34 ) 8052c14: 2200 movs r2, #0 8052c16: 701a strb r2, [r3, #0] initAmplif(); 8052c18: f7ce ff3c bl 8021a94 FIRST = true; 8052c1c: 4b50 ldr r3, [pc, #320] ; (8052d60 ) 8052c1e: 2201 movs r2, #1 8052c20: 701a strb r2, [r3, #0] break; 8052c22: bf00 nop } } break; 8052c24: f001 bd7c b.w 8054720 case PARAM_UDAR: if(menupos == UdarInner) 8052c28: 4b42 ldr r3, [pc, #264] ; (8052d34 ) 8052c2a: 781b ldrb r3, [r3, #0] 8052c2c: b2db uxtb r3, r3 8052c2e: 2b02 cmp r3, #2 8052c30: d104 bne.n 8052c3c menupos = UdarInner_IES; 8052c32: 4b40 ldr r3, [pc, #256] ; (8052d34 ) 8052c34: 2207 movs r2, #7 8052c36: 701a strb r2, [r3, #0] FIRST = true; FirstStart = true; SeeResults = false; } break; 8052c38: f001 bd74 b.w 8054724 if((menupos >= UdarInner_IES) && (menupos <= UdarInner_IKT)) 8052c3c: 4b3d ldr r3, [pc, #244] ; (8052d34 ) 8052c3e: 781b ldrb r3, [r3, #0] 8052c40: b2db uxtb r3, r3 8052c42: 2b06 cmp r3, #6 8052c44: d908 bls.n 8052c58 8052c46: 4b3b ldr r3, [pc, #236] ; (8052d34 ) 8052c48: 781b ldrb r3, [r3, #0] 8052c4a: b2db uxtb r3, r3 8052c4c: 2b0c cmp r3, #12 8052c4e: d803 bhi.n 8052c58 menupos = UdarInner; 8052c50: 4b38 ldr r3, [pc, #224] ; (8052d34 ) 8052c52: 2202 movs r2, #2 8052c54: 701a strb r2, [r3, #0] 8052c56: e03b b.n 8052cd0 if(menupos == UdarRate) 8052c58: 4b36 ldr r3, [pc, #216] ; (8052d34 ) 8052c5a: 781b ldrb r3, [r3, #0] 8052c5c: b2db uxtb r3, r3 8052c5e: 2b01 cmp r3, #1 8052c60: d104 bne.n 8052c6c menupos = UdarRate_IEE; 8052c62: 4b34 ldr r3, [pc, #208] ; (8052d34 ) 8052c64: 2206 movs r2, #6 8052c66: 701a strb r2, [r3, #0] break; 8052c68: f001 bd5c b.w 8054724 if((menupos >= UdarRate_IET) && (menupos <= UdarRate_IEE)) 8052c6c: 4b31 ldr r3, [pc, #196] ; (8052d34 ) 8052c6e: 781b ldrb r3, [r3, #0] 8052c70: b2db uxtb r3, r3 8052c72: 2b02 cmp r3, #2 8052c74: d908 bls.n 8052c88 8052c76: 4b2f ldr r3, [pc, #188] ; (8052d34 ) 8052c78: 781b ldrb r3, [r3, #0] 8052c7a: b2db uxtb r3, r3 8052c7c: 2b06 cmp r3, #6 8052c7e: d803 bhi.n 8052c88 menupos = UdarRate; 8052c80: 4b2c ldr r3, [pc, #176] ; (8052d34 ) 8052c82: 2201 movs r2, #1 8052c84: 701a strb r2, [r3, #0] 8052c86: e023 b.n 8052cd0 if(menupos == Ok) 8052c88: 4b2a ldr r3, [pc, #168] ; (8052d34 ) 8052c8a: 781b ldrb r3, [r3, #0] 8052c8c: b2db uxtb r3, r3 8052c8e: 2b00 cmp r3, #0 8052c90: f041 8548 bne.w 8054724 menu = MAIN_UDAR; 8052c94: 4b28 ldr r3, [pc, #160] ; (8052d38 ) 8052c96: 2225 movs r2, #37 ; 0x25 8052c98: 701a strb r2, [r3, #0] lastmenupos = menupos; 8052c9a: 4b26 ldr r3, [pc, #152] ; (8052d34 ) 8052c9c: 781b ldrb r3, [r3, #0] 8052c9e: b2da uxtb r2, r3 8052ca0: 4b26 ldr r3, [pc, #152] ; (8052d3c ) 8052ca2: 701a strb r2, [r3, #0] menupos = StartStop; 8052ca4: 4b23 ldr r3, [pc, #140] ; (8052d34 ) 8052ca6: 2200 movs r2, #0 8052ca8: 701a strb r2, [r3, #0] pardata.SYG = UDAR; 8052caa: 4b2e ldr r3, [pc, #184] ; (8052d64 ) 8052cac: 2209 movs r2, #9 8052cae: 701a strb r2, [r3, #0] Threshold = false; 8052cb0: 4b2d ldr r3, [pc, #180] ; (8052d68 ) 8052cb2: 2200 movs r2, #0 8052cb4: 701a strb r2, [r3, #0] initAmplif(); 8052cb6: f7ce feed bl 8021a94 FIRST = true; 8052cba: 4b29 ldr r3, [pc, #164] ; (8052d60 ) 8052cbc: 2201 movs r2, #1 8052cbe: 701a strb r2, [r3, #0] FirstStart = true; 8052cc0: 4b2a ldr r3, [pc, #168] ; (8052d6c ) 8052cc2: 2201 movs r2, #1 8052cc4: 701a strb r2, [r3, #0] SeeResults = false; 8052cc6: 4b2a ldr r3, [pc, #168] ; (8052d70 ) 8052cc8: 2200 movs r2, #0 8052cca: 701a strb r2, [r3, #0] break; 8052ccc: f001 bd2a b.w 8054724 8052cd0: f001 bd28 b.w 8054724 case PARAM_ROLL: if(menupos == RollCount) 8052cd4: 4b17 ldr r3, [pc, #92] ; (8052d34 ) 8052cd6: 781b ldrb r3, [r3, #0] 8052cd8: b2db uxtb r3, r3 8052cda: 2b01 cmp r3, #1 8052cdc: d111 bne.n 8052d02 { if(!focused) 8052cde: 4b1c ldr r3, [pc, #112] ; (8052d50 ) 8052ce0: 781b ldrb r3, [r3, #0] 8052ce2: b2db uxtb r3, r3 8052ce4: f083 0301 eor.w r3, r3, #1 8052ce8: b2db uxtb r3, r3 8052cea: 2b00 cmp r3, #0 8052cec: d004 beq.n 8052cf8 focused = true; 8052cee: 4b18 ldr r3, [pc, #96] ; (8052d50 ) 8052cf0: 2201 movs r2, #1 8052cf2: 701a strb r2, [r3, #0] FIRST = true; FirstStart = true; SeeResults = false; } break; 8052cf4: f001 bd18 b.w 8054728 else focused = false; 8052cf8: 4b15 ldr r3, [pc, #84] ; (8052d50 ) 8052cfa: 2200 movs r2, #0 8052cfc: 701a strb r2, [r3, #0] break; 8052cfe: f001 bd13 b.w 8054728 if(menupos == RollAverage) 8052d02: 4b0c ldr r3, [pc, #48] ; (8052d34 ) 8052d04: 781b ldrb r3, [r3, #0] 8052d06: b2db uxtb r3, r3 8052d08: 2b06 cmp r3, #6 8052d0a: d133 bne.n 8052d74 if(!focused) 8052d0c: 4b10 ldr r3, [pc, #64] ; (8052d50 ) 8052d0e: 781b ldrb r3, [r3, #0] 8052d10: b2db uxtb r3, r3 8052d12: f083 0301 eor.w r3, r3, #1 8052d16: b2db uxtb r3, r3 8052d18: 2b00 cmp r3, #0 8052d1a: d004 beq.n 8052d26 focused = true; 8052d1c: 4b0c ldr r3, [pc, #48] ; (8052d50 ) 8052d1e: 2201 movs r2, #1 8052d20: 701a strb r2, [r3, #0] break; 8052d22: f001 bd01 b.w 8054728 else focused = false; 8052d26: 4b0a ldr r3, [pc, #40] ; (8052d50 ) 8052d28: 2200 movs r2, #0 8052d2a: 701a strb r2, [r3, #0] break; 8052d2c: f001 bcfc b.w 8054728 8052d30: 20020ea4 .word 0x20020ea4 8052d34: 20020070 .word 0x20020070 8052d38: 20020fc5 .word 0x20020fc5 8052d3c: 20020071 .word 0x20020071 8052d40: 2002105d .word 0x2002105d 8052d44: 2002105f .word 0x2002105f 8052d48: 20025d4c .word 0x20025d4c 8052d4c: 20020f1c .word 0x20020f1c 8052d50: 20020fd0 .word 0x20020fd0 8052d54: 20026938 .word 0x20026938 8052d58: 00000000 .word 0x00000000 8052d5c: 20020e80 .word 0x20020e80 8052d60: 20020dd2 .word 0x20020dd2 8052d64: 20023eb8 .word 0x20023eb8 8052d68: 20020dd1 .word 0x20020dd1 8052d6c: 20020068 .word 0x20020068 8052d70: 20020d88 .word 0x20020d88 if(menupos == RollMax_ALL) 8052d74: 4bb3 ldr r3, [pc, #716] ; (8053044 ) 8052d76: 781b ldrb r3, [r3, #0] 8052d78: b2db uxtb r3, r3 8052d7a: 2b08 cmp r3, #8 8052d7c: d104 bne.n 8052d88 menupos = RollMax_IET; 8052d7e: 4bb1 ldr r3, [pc, #708] ; (8053044 ) 8052d80: 2227 movs r2, #39 ; 0x27 8052d82: 701a strb r2, [r3, #0] break; 8052d84: f001 bcd0 b.w 8054728 if((menupos >= RollMax_IDT) && (menupos <= RollMax_IKD)) 8052d88: 4bae ldr r3, [pc, #696] ; (8053044 ) 8052d8a: 781b ldrb r3, [r3, #0] 8052d8c: b2db uxtb r3, r3 8052d8e: 2b25 cmp r3, #37 ; 0x25 8052d90: d908 bls.n 8052da4 8052d92: 4bac ldr r3, [pc, #688] ; (8053044 ) 8052d94: 781b ldrb r3, [r3, #0] 8052d96: b2db uxtb r3, r3 8052d98: 2b2b cmp r3, #43 ; 0x2b 8052d9a: d803 bhi.n 8052da4 menupos = RollMax_ALL; 8052d9c: 4ba9 ldr r3, [pc, #676] ; (8053044 ) 8052d9e: 2208 movs r2, #8 8052da0: 701a strb r2, [r3, #0] 8052da2: e0bb b.n 8052f1c if(menupos == D_Roll) 8052da4: 4ba7 ldr r3, [pc, #668] ; (8053044 ) 8052da6: 781b ldrb r3, [r3, #0] 8052da8: b2db uxtb r3, r3 8052daa: 2b02 cmp r3, #2 8052dac: d104 bne.n 8052db8 menupos = D_Roll_IEE; 8052dae: 4ba5 ldr r3, [pc, #660] ; (8053044 ) 8052db0: 220c movs r2, #12 8052db2: 701a strb r2, [r3, #0] break; 8052db4: f001 bcb8 b.w 8054728 if((menupos >= D_Roll_IES) && (menupos <= D_Roll_IKT)) 8052db8: 4ba2 ldr r3, [pc, #648] ; (8053044 ) 8052dba: 781b ldrb r3, [r3, #0] 8052dbc: b2db uxtb r3, r3 8052dbe: 2b09 cmp r3, #9 8052dc0: d908 bls.n 8052dd4 8052dc2: 4ba0 ldr r3, [pc, #640] ; (8053044 ) 8052dc4: 781b ldrb r3, [r3, #0] 8052dc6: b2db uxtb r3, r3 8052dc8: 2b0f cmp r3, #15 8052dca: d803 bhi.n 8052dd4 menupos = D_Roll; 8052dcc: 4b9d ldr r3, [pc, #628] ; (8053044 ) 8052dce: 2202 movs r2, #2 8052dd0: 701a strb r2, [r3, #0] 8052dd2: e0a3 b.n 8052f1c if(menupos == D_Outer) 8052dd4: 4b9b ldr r3, [pc, #620] ; (8053044 ) 8052dd6: 781b ldrb r3, [r3, #0] 8052dd8: b2db uxtb r3, r3 8052dda: 2b03 cmp r3, #3 8052ddc: d104 bne.n 8052de8 menupos = D_Outer_IEE; 8052dde: 4b99 ldr r3, [pc, #612] ; (8053044 ) 8052de0: 2212 movs r2, #18 8052de2: 701a strb r2, [r3, #0] break; 8052de4: f001 bca0 b.w 8054728 if((menupos >= D_Outer_IES) && (menupos <= D_Outer_IKT)) 8052de8: 4b96 ldr r3, [pc, #600] ; (8053044 ) 8052dea: 781b ldrb r3, [r3, #0] 8052dec: b2db uxtb r3, r3 8052dee: 2b0f cmp r3, #15 8052df0: d908 bls.n 8052e04 8052df2: 4b94 ldr r3, [pc, #592] ; (8053044 ) 8052df4: 781b ldrb r3, [r3, #0] 8052df6: b2db uxtb r3, r3 8052df8: 2b15 cmp r3, #21 8052dfa: d803 bhi.n 8052e04 menupos = D_Outer; 8052dfc: 4b91 ldr r3, [pc, #580] ; (8053044 ) 8052dfe: 2203 movs r2, #3 8052e00: 701a strb r2, [r3, #0] 8052e02: e08b b.n 8052f1c if(menupos == D_Inner) 8052e04: 4b8f ldr r3, [pc, #572] ; (8053044 ) 8052e06: 781b ldrb r3, [r3, #0] 8052e08: b2db uxtb r3, r3 8052e0a: 2b04 cmp r3, #4 8052e0c: d104 bne.n 8052e18 menupos = D_Inner_IEE; 8052e0e: 4b8d ldr r3, [pc, #564] ; (8053044 ) 8052e10: 2218 movs r2, #24 8052e12: 701a strb r2, [r3, #0] break; 8052e14: f001 bc88 b.w 8054728 if((menupos >= D_Inner_IES) && (menupos <= D_Inner_IKT)) 8052e18: 4b8a ldr r3, [pc, #552] ; (8053044 ) 8052e1a: 781b ldrb r3, [r3, #0] 8052e1c: b2db uxtb r3, r3 8052e1e: 2b15 cmp r3, #21 8052e20: d908 bls.n 8052e34 8052e22: 4b88 ldr r3, [pc, #544] ; (8053044 ) 8052e24: 781b ldrb r3, [r3, #0] 8052e26: b2db uxtb r3, r3 8052e28: 2b1b cmp r3, #27 8052e2a: d803 bhi.n 8052e34 menupos = D_Inner; 8052e2c: 4b85 ldr r3, [pc, #532] ; (8053044 ) 8052e2e: 2204 movs r2, #4 8052e30: 701a strb r2, [r3, #0] 8052e32: e073 b.n 8052f1c if(menupos == D_Angle) 8052e34: 4b83 ldr r3, [pc, #524] ; (8053044 ) 8052e36: 781b ldrb r3, [r3, #0] 8052e38: b2db uxtb r3, r3 8052e3a: 2b05 cmp r3, #5 8052e3c: d104 bne.n 8052e48 menupos = D_Angle_IEE; 8052e3e: 4b81 ldr r3, [pc, #516] ; (8053044 ) 8052e40: 221e movs r2, #30 8052e42: 701a strb r2, [r3, #0] break; 8052e44: f001 bc70 b.w 8054728 if((menupos >= D_Angle_IES) && (menupos <= D_Angle_IKT)) 8052e48: 4b7e ldr r3, [pc, #504] ; (8053044 ) 8052e4a: 781b ldrb r3, [r3, #0] 8052e4c: b2db uxtb r3, r3 8052e4e: 2b1b cmp r3, #27 8052e50: d908 bls.n 8052e64 8052e52: 4b7c ldr r3, [pc, #496] ; (8053044 ) 8052e54: 781b ldrb r3, [r3, #0] 8052e56: b2db uxtb r3, r3 8052e58: 2b21 cmp r3, #33 ; 0x21 8052e5a: d803 bhi.n 8052e64 menupos = D_Angle; 8052e5c: 4b79 ldr r3, [pc, #484] ; (8053044 ) 8052e5e: 2205 movs r2, #5 8052e60: 701a strb r2, [r3, #0] 8052e62: e05b b.n 8052f1c if(menupos == D_Rate) 8052e64: 4b77 ldr r3, [pc, #476] ; (8053044 ) 8052e66: 781b ldrb r3, [r3, #0] 8052e68: b2db uxtb r3, r3 8052e6a: 2b09 cmp r3, #9 8052e6c: d104 bne.n 8052e78 menupos = D_Rate_IEE; 8052e6e: 4b75 ldr r3, [pc, #468] ; (8053044 ) 8052e70: 2225 movs r2, #37 ; 0x25 8052e72: 701a strb r2, [r3, #0] break; 8052e74: f001 bc58 b.w 8054728 if((menupos >= D_Rate_IET) && (menupos <= D_Rate_IEE)) 8052e78: 4b72 ldr r3, [pc, #456] ; (8053044 ) 8052e7a: 781b ldrb r3, [r3, #0] 8052e7c: b2db uxtb r3, r3 8052e7e: 2b21 cmp r3, #33 ; 0x21 8052e80: d908 bls.n 8052e94 8052e82: 4b70 ldr r3, [pc, #448] ; (8053044 ) 8052e84: 781b ldrb r3, [r3, #0] 8052e86: b2db uxtb r3, r3 8052e88: 2b25 cmp r3, #37 ; 0x25 8052e8a: d803 bhi.n 8052e94 menupos = D_Rate; 8052e8c: 4b6d ldr r3, [pc, #436] ; (8053044 ) 8052e8e: 2209 movs r2, #9 8052e90: 701a strb r2, [r3, #0] 8052e92: e043 b.n 8052f1c if(menupos == RollAutoKu) 8052e94: 4b6b ldr r3, [pc, #428] ; (8053044 ) 8052e96: 781b ldrb r3, [r3, #0] 8052e98: b2db uxtb r3, r3 8052e9a: 2b07 cmp r3, #7 8052e9c: d11a bne.n 8052ed4 if(pardata.OPTIONS & 0x4) 8052e9e: 4b6a ldr r3, [pc, #424] ; (8053048 ) 8052ea0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052ea4: f003 0304 and.w r3, r3, #4 8052ea8: 2b00 cmp r3, #0 8052eaa: d009 beq.n 8052ec0 pardata.OPTIONS &= ~0x4; 8052eac: 4b66 ldr r3, [pc, #408] ; (8053048 ) 8052eae: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052eb2: f023 0304 bic.w r3, r3, #4 8052eb6: 4a64 ldr r2, [pc, #400] ; (8053048 ) 8052eb8: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8052ebc: f001 bc34 b.w 8054728 else pardata.OPTIONS |= 0x4; 8052ec0: 4b61 ldr r3, [pc, #388] ; (8053048 ) 8052ec2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052ec6: f043 0304 orr.w r3, r3, #4 8052eca: 4a5f ldr r2, [pc, #380] ; (8053048 ) 8052ecc: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8052ed0: f001 bc2a b.w 8054728 if(menupos == Ok) 8052ed4: 4b5b ldr r3, [pc, #364] ; (8053044 ) 8052ed6: 781b ldrb r3, [r3, #0] 8052ed8: b2db uxtb r3, r3 8052eda: 2b00 cmp r3, #0 8052edc: f041 8424 bne.w 8054728 menu = MAIN_ROLL; 8052ee0: 4b5a ldr r3, [pc, #360] ; (805304c ) 8052ee2: 2224 movs r2, #36 ; 0x24 8052ee4: 701a strb r2, [r3, #0] lastmenupos = menupos; 8052ee6: 4b57 ldr r3, [pc, #348] ; (8053044 ) 8052ee8: 781b ldrb r3, [r3, #0] 8052eea: b2da uxtb r2, r3 8052eec: 4b58 ldr r3, [pc, #352] ; (8053050 ) 8052eee: 701a strb r2, [r3, #0] menupos = StartStop; 8052ef0: 4b54 ldr r3, [pc, #336] ; (8053044 ) 8052ef2: 2200 movs r2, #0 8052ef4: 701a strb r2, [r3, #0] pardata.SYG = ROLL; 8052ef6: 4b54 ldr r3, [pc, #336] ; (8053048 ) 8052ef8: 2208 movs r2, #8 8052efa: 701a strb r2, [r3, #0] Threshold = false; 8052efc: 4b55 ldr r3, [pc, #340] ; (8053054 ) 8052efe: 2200 movs r2, #0 8052f00: 701a strb r2, [r3, #0] initAmplif(); 8052f02: f7ce fdc7 bl 8021a94 FIRST = true; 8052f06: 4b54 ldr r3, [pc, #336] ; (8053058 ) 8052f08: 2201 movs r2, #1 8052f0a: 701a strb r2, [r3, #0] FirstStart = true; 8052f0c: 4b53 ldr r3, [pc, #332] ; (805305c ) 8052f0e: 2201 movs r2, #1 8052f10: 701a strb r2, [r3, #0] SeeResults = false; 8052f12: 4b53 ldr r3, [pc, #332] ; (8053060 ) 8052f14: 2200 movs r2, #0 8052f16: 701a strb r2, [r3, #0] break; 8052f18: f001 bc06 b.w 8054728 8052f1c: f001 bc04 b.w 8054728 case PARAM_VIB: if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) { 8052f20: 4b48 ldr r3, [pc, #288] ; (8053044 ) 8052f22: 781b ldrb r3, [r3, #0] 8052f24: b2db uxtb r3, r3 8052f26: 2b0a cmp r3, #10 8052f28: d908 bls.n 8052f3c 8052f2a: 4b46 ldr r3, [pc, #280] ; (8053044 ) 8052f2c: 781b ldrb r3, [r3, #0] 8052f2e: b2db uxtb r3, r3 8052f30: 2b10 cmp r3, #16 8052f32: d803 bhi.n 8052f3c menupos = VibMax_ALL; 8052f34: 4b43 ldr r3, [pc, #268] ; (8053044 ) 8052f36: 2209 movs r2, #9 8052f38: 701a strb r2, [r3, #0] 8052f3a: e173 b.n 8053224 } else if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) { 8052f3c: 4b41 ldr r3, [pc, #260] ; (8053044 ) 8052f3e: 781b ldrb r3, [r3, #0] 8052f40: b2db uxtb r3, r3 8052f42: 2b18 cmp r3, #24 8052f44: d908 bls.n 8052f58 8052f46: 4b3f ldr r3, [pc, #252] ; (8053044 ) 8052f48: 781b ldrb r3, [r3, #0] 8052f4a: b2db uxtb r3, r3 8052f4c: 2b1e cmp r3, #30 8052f4e: d803 bhi.n 8052f58 menupos = FilterHP; 8052f50: 4b3c ldr r3, [pc, #240] ; (8053044 ) 8052f52: 2217 movs r2, #23 8052f54: 701a strb r2, [r3, #0] 8052f56: e165 b.n 8053224 } else if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) { 8052f58: 4b3a ldr r3, [pc, #232] ; (8053044 ) 8052f5a: 781b ldrb r3, [r3, #0] 8052f5c: b2db uxtb r3, r3 8052f5e: 2b1e cmp r3, #30 8052f60: d908 bls.n 8052f74 8052f62: 4b38 ldr r3, [pc, #224] ; (8053044 ) 8052f64: 781b ldrb r3, [r3, #0] 8052f66: b2db uxtb r3, r3 8052f68: 2b24 cmp r3, #36 ; 0x24 8052f6a: d803 bhi.n 8052f74 menupos = FilterLP; 8052f6c: 4b35 ldr r3, [pc, #212] ; (8053044 ) 8052f6e: 2218 movs r2, #24 8052f70: 701a strb r2, [r3, #0] 8052f72: e157 b.n 8053224 } else { switch(menupos) 8052f74: 4b33 ldr r3, [pc, #204] ; (8053044 ) 8052f76: 781b ldrb r3, [r3, #0] 8052f78: b2db uxtb r3, r3 8052f7a: 2b18 cmp r3, #24 8052f7c: f201 83d6 bhi.w 805472c 8052f80: a201 add r2, pc, #4 ; (adr r2, 8052f88 ) 8052f82: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8052f86: bf00 nop 8052f88: 0805316d .word 0x0805316d 8052f8c: 0805472d .word 0x0805472d 8052f90: 08052fed .word 0x08052fed 8052f94: 08052fed .word 0x08052fed 8052f98: 08052fed .word 0x08052fed 8052f9c: 08052fed .word 0x08052fed 8052fa0: 08053025 .word 0x08053025 8052fa4: 080530ad .word 0x080530ad 8052fa8: 0805307b .word 0x0805307b 8052fac: 0805301d .word 0x0805301d 8052fb0: 080530df .word 0x080530df 8052fb4: 0805472d .word 0x0805472d 8052fb8: 0805472d .word 0x0805472d 8052fbc: 0805472d .word 0x0805472d 8052fc0: 0805472d .word 0x0805472d 8052fc4: 0805472d .word 0x0805472d 8052fc8: 0805472d .word 0x0805472d 8052fcc: 0805472d .word 0x0805472d 8052fd0: 0805472d .word 0x0805472d 8052fd4: 0805472d .word 0x0805472d 8052fd8: 0805472d .word 0x0805472d 8052fdc: 0805472d .word 0x0805472d 8052fe0: 0805472d .word 0x0805472d 8052fe4: 0805300d .word 0x0805300d 8052fe8: 08053015 .word 0x08053015 { case ValueA: case ValueV: case ValueS: case Average: if(!focused) 8052fec: 4b1d ldr r3, [pc, #116] ; (8053064 ) 8052fee: 781b ldrb r3, [r3, #0] 8052ff0: b2db uxtb r3, r3 8052ff2: f083 0301 eor.w r3, r3, #1 8052ff6: b2db uxtb r3, r3 8052ff8: 2b00 cmp r3, #0 8052ffa: d003 beq.n 8053004 focused = true; 8052ffc: 4b19 ldr r3, [pc, #100] ; (8053064 ) 8052ffe: 2201 movs r2, #1 8053000: 701a strb r2, [r3, #0] else focused = false; break; 8053002: e10f b.n 8053224 else focused = false; 8053004: 4b17 ldr r3, [pc, #92] ; (8053064 ) 8053006: 2200 movs r2, #0 8053008: 701a strb r2, [r3, #0] break; 805300a: e10b b.n 8053224 case FilterHP: menupos = FilterHP_IET; 805300c: 4b0d ldr r3, [pc, #52] ; (8053044 ) 805300e: 221a movs r2, #26 8053010: 701a strb r2, [r3, #0] break; 8053012: e107 b.n 8053224 case FilterLP: menupos = FilterLP_IET; 8053014: 4b0b ldr r3, [pc, #44] ; (8053044 ) 8053016: 2220 movs r2, #32 8053018: 701a strb r2, [r3, #0] break; 805301a: e103 b.n 8053224 case VibMax_ALL: menupos = VibMax_IET; 805301c: 4b09 ldr r3, [pc, #36] ; (8053044 ) 805301e: 220c movs r2, #12 8053020: 701a strb r2, [r3, #0] break; 8053022: e0ff b.n 8053224 case Mediana: if(pardata.OPTIONS & 0x1) 8053024: 4b08 ldr r3, [pc, #32] ; (8053048 ) 8053026: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805302a: f003 0301 and.w r3, r3, #1 805302e: 2b00 cmp r3, #0 8053030: d01a beq.n 8053068 pardata.OPTIONS &= ~0x1; 8053032: 4b05 ldr r3, [pc, #20] ; (8053048 ) 8053034: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053038: f023 0301 bic.w r3, r3, #1 805303c: 4a02 ldr r2, [pc, #8] ; (8053048 ) 805303e: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= 0x1; break; 8053042: e0ef b.n 8053224 8053044: 20020070 .word 0x20020070 8053048: 20023eb8 .word 0x20023eb8 805304c: 20020fc5 .word 0x20020fc5 8053050: 20020071 .word 0x20020071 8053054: 20020dd1 .word 0x20020dd1 8053058: 20020dd2 .word 0x20020dd2 805305c: 20020068 .word 0x20020068 8053060: 20020d88 .word 0x20020d88 8053064: 20020fd0 .word 0x20020fd0 else pardata.OPTIONS |= 0x1; 8053068: 4bbc ldr r3, [pc, #752] ; (805335c ) 805306a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805306e: f043 0301 orr.w r3, r3, #1 8053072: 4aba ldr r2, [pc, #744] ; (805335c ) 8053074: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8053078: e0d4 b.n 8053224 case VibAutoKu: if(pardata.OPTIONS & 0x4) 805307a: 4bb8 ldr r3, [pc, #736] ; (805335c ) 805307c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053080: f003 0304 and.w r3, r3, #4 8053084: 2b00 cmp r3, #0 8053086: d008 beq.n 805309a pardata.OPTIONS &= ~0x4; 8053088: 4bb4 ldr r3, [pc, #720] ; (805335c ) 805308a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805308e: f023 0304 bic.w r3, r3, #4 8053092: 4ab2 ldr r2, [pc, #712] ; (805335c ) 8053094: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= 0x4; break; 8053098: e0c4 b.n 8053224 else pardata.OPTIONS |= 0x4; 805309a: 4bb0 ldr r3, [pc, #704] ; (805335c ) 805309c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80530a0: f043 0304 orr.w r3, r3, #4 80530a4: 4aad ldr r2, [pc, #692] ; (805335c ) 80530a6: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 80530aa: e0bb b.n 8053224 case ViewFreq: if(pardata.OPTIONS & 0x8) 80530ac: 4bab ldr r3, [pc, #684] ; (805335c ) 80530ae: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80530b2: f003 0308 and.w r3, r3, #8 80530b6: 2b00 cmp r3, #0 80530b8: d008 beq.n 80530cc pardata.OPTIONS &= ~0x8; 80530ba: 4ba8 ldr r3, [pc, #672] ; (805335c ) 80530bc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80530c0: f023 0308 bic.w r3, r3, #8 80530c4: 4aa5 ldr r2, [pc, #660] ; (805335c ) 80530c6: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= 0x8; break; 80530ca: e0ab b.n 8053224 else pardata.OPTIONS |= 0x8; 80530cc: 4ba3 ldr r3, [pc, #652] ; (805335c ) 80530ce: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80530d2: f043 0308 orr.w r3, r3, #8 80530d6: 4aa1 ldr r2, [pc, #644] ; (805335c ) 80530d8: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 80530dc: e0a2 b.n 8053224 case SaveToFile: result = FR_NOT_READY; 80530de: 2303 movs r3, #3 80530e0: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 80530e4: 4b9e ldr r3, [pc, #632] ; (8053360 ) 80530e6: 781b ldrb r3, [r3, #0] 80530e8: b2db uxtb r3, r3 80530ea: 2b03 cmp r3, #3 80530ec: d13a bne.n 8053164 { CursorIndex = 0; 80530ee: 4b9d ldr r3, [pc, #628] ; (8053364 ) 80530f0: 2200 movs r2, #0 80530f2: 601a str r2, [r3, #0] FirstFileIndex = 0; 80530f4: 4b9c ldr r3, [pc, #624] ; (8053368 ) 80530f6: 2200 movs r2, #0 80530f8: 601a str r2, [r3, #0] RealFileIndex = 0; 80530fa: 4b9c ldr r3, [pc, #624] ; (805336c ) 80530fc: 2200 movs r2, #0 80530fe: 601a str r2, [r3, #0] result = ReadNumFilesPTM((uint32_t *) &NumFilesPTM); 8053100: 489b ldr r0, [pc, #620] ; (8053370 ) 8053102: f7d6 fc6f bl 80299e4 8053106: 4603 mov r3, r0 8053108: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805310c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8053110: 2b00 cmp r3, #0 8053112: d123 bne.n 805315c { result = ReadMyFilesPTM(FirstFileIndex); 8053114: 4b94 ldr r3, [pc, #592] ; (8053368 ) 8053116: 681b ldr r3, [r3, #0] 8053118: 4618 mov r0, r3 805311a: f7d6 fd45 bl 8029ba8 805311e: 4603 mov r3, r0 8053120: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8053124: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8053128: 2b00 cmp r3, #0 805312a: d113 bne.n 8053154 { menu = EXPLORER; 805312c: 4b91 ldr r3, [pc, #580] ; (8053374 ) 805312e: 2229 movs r2, #41 ; 0x29 8053130: 701a strb r2, [r3, #0] lastmenupos = menupos; 8053132: 4b91 ldr r3, [pc, #580] ; (8053378 ) 8053134: 781b ldrb r3, [r3, #0] 8053136: b2da uxtb r2, r3 8053138: 4b90 ldr r3, [pc, #576] ; (805337c ) 805313a: 701a strb r2, [r3, #0] if(NumFilesPTM) 805313c: 4b8c ldr r3, [pc, #560] ; (8053370 ) 805313e: 681b ldr r3, [r3, #0] 8053140: 2b00 cmp r3, #0 8053142: d003 beq.n 805314c menupos = FilesPTM; 8053144: 4b8c ldr r3, [pc, #560] ; (8053378 ) 8053146: 2202 movs r2, #2 8053148: 701a strb r2, [r3, #0] else MeasFileName[0] = '\0'; } else MeasFileName[0] = '\0'; break; 805314a: e06b b.n 8053224 else menupos = NoFilesPTM; 805314c: 4b8a ldr r3, [pc, #552] ; (8053378 ) 805314e: 2201 movs r2, #1 8053150: 701a strb r2, [r3, #0] break; 8053152: e067 b.n 8053224 MeasFileName[0] = '\0'; 8053154: 4b8a ldr r3, [pc, #552] ; (8053380 ) 8053156: 2200 movs r2, #0 8053158: 701a strb r2, [r3, #0] break; 805315a: e063 b.n 8053224 MeasFileName[0] = '\0'; 805315c: 4b88 ldr r3, [pc, #544] ; (8053380 ) 805315e: 2200 movs r2, #0 8053160: 701a strb r2, [r3, #0] break; 8053162: e05f b.n 8053224 MeasFileName[0] = '\0'; 8053164: 4b86 ldr r3, [pc, #536] ; (8053380 ) 8053166: 2200 movs r2, #0 8053168: 701a strb r2, [r3, #0] break; 805316a: e05b b.n 8053224 case Ok: if(pardata.OPTIONS & 0x8) // Åñëè îòîáðàæàòü ÷àñòîòó, òî ïåðåõîäèì â FRAN 805316c: 4b7b ldr r3, [pc, #492] ; (805335c ) 805316e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053172: f003 0308 and.w r3, r3, #8 8053176: 2b00 cmp r3, #0 8053178: d02a beq.n 80531d0 { pardata.OPTIONS &= ~0x2; 805317a: 4b78 ldr r3, [pc, #480] ; (805335c ) 805317c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053180: f023 0302 bic.w r3, r3, #2 8053184: 4a75 ldr r2, [pc, #468] ; (805335c ) 8053186: f8c2 3098 str.w r3, [r2, #152] ; 0x98 menu = MAIN_FRAN; 805318a: 4b7a ldr r3, [pc, #488] ; (8053374 ) 805318c: 221f movs r2, #31 805318e: 701a strb r2, [r3, #0] lastmenupos = menupos; 8053190: 4b79 ldr r3, [pc, #484] ; (8053378 ) 8053192: 781b ldrb r3, [r3, #0] 8053194: b2da uxtb r2, r3 8053196: 4b79 ldr r3, [pc, #484] ; (805337c ) 8053198: 701a strb r2, [r3, #0] menupos = StartStop; 805319a: 4b77 ldr r3, [pc, #476] ; (8053378 ) 805319c: 2200 movs r2, #0 805319e: 701a strb r2, [r3, #0] DrawSavedData = false; 80531a0: 4b78 ldr r3, [pc, #480] ; (8053384 ) 80531a2: 2200 movs r2, #0 80531a4: 701a strb r2, [r3, #0] pardata.SYG = FRAN; 80531a6: 4b6d ldr r3, [pc, #436] ; (805335c ) 80531a8: 2203 movs r2, #3 80531aa: 701a strb r2, [r3, #0] result = GetPointAndIndexPTM(MeasFileName); 80531ac: 4874 ldr r0, [pc, #464] ; (8053380 ) 80531ae: f7d2 f9bf bl 8025530 80531b2: 4603 mov r3, r0 80531b4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 Threshold = false; 80531b8: 4b73 ldr r3, [pc, #460] ; (8053388 ) 80531ba: 2200 movs r2, #0 80531bc: 701a strb r2, [r3, #0] initAmplif(); 80531be: f7ce fc69 bl 8021a94 FIRST = true; 80531c2: 4b72 ldr r3, [pc, #456] ; (805338c ) 80531c4: 2201 movs r2, #1 80531c6: 701a strb r2, [r3, #0] SeeLog = false; 80531c8: 4b71 ldr r3, [pc, #452] ; (8053390 ) 80531ca: 2200 movs r2, #0 80531cc: 701a strb r2, [r3, #0] initAmplif(); FIRST = true; SeeLog = false; } break; 80531ce: e028 b.n 8053222 menu = MAIN; 80531d0: 4b68 ldr r3, [pc, #416] ; (8053374 ) 80531d2: 2200 movs r2, #0 80531d4: 701a strb r2, [r3, #0] lastmenupos = menupos; 80531d6: 4b68 ldr r3, [pc, #416] ; (8053378 ) 80531d8: 781b ldrb r3, [r3, #0] 80531da: b2da uxtb r2, r3 80531dc: 4b67 ldr r3, [pc, #412] ; (805337c ) 80531de: 701a strb r2, [r3, #0] menupos = StartStop; 80531e0: 4b65 ldr r3, [pc, #404] ; (8053378 ) 80531e2: 2200 movs r2, #0 80531e4: 701a strb r2, [r3, #0] DrawSavedData = false; 80531e6: 4b67 ldr r3, [pc, #412] ; (8053384 ) 80531e8: 2200 movs r2, #0 80531ea: 701a strb r2, [r3, #0] result = GetPointAndIndexPTM(MeasFileName); 80531ec: 4864 ldr r0, [pc, #400] ; (8053380 ) 80531ee: f7d2 f99f bl 8025530 80531f2: 4603 mov r3, r0 80531f4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result != FR_OK) { 80531f8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80531fc: 2b00 cmp r3, #0 80531fe: d002 beq.n 8053206 MeasFileName[0] = '\0'; 8053200: 4b5f ldr r3, [pc, #380] ; (8053380 ) 8053202: 2200 movs r2, #0 8053204: 701a strb r2, [r3, #0] pardata.SYG = VIB; 8053206: 4b55 ldr r3, [pc, #340] ; (805335c ) 8053208: 2200 movs r2, #0 805320a: 701a strb r2, [r3, #0] Threshold = false; 805320c: 4b5e ldr r3, [pc, #376] ; (8053388 ) 805320e: 2200 movs r2, #0 8053210: 701a strb r2, [r3, #0] initAmplif(); 8053212: f7ce fc3f bl 8021a94 FIRST = true; 8053216: 4b5d ldr r3, [pc, #372] ; (805338c ) 8053218: 2201 movs r2, #1 805321a: 701a strb r2, [r3, #0] SeeLog = false; 805321c: 4b5c ldr r3, [pc, #368] ; (8053390 ) 805321e: 2200 movs r2, #0 8053220: 701a strb r2, [r3, #0] break; 8053222: bf00 nop } } break; 8053224: f001 ba82 b.w 805472c case PARAM_SPEC: if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) { 8053228: 4b53 ldr r3, [pc, #332] ; (8053378 ) 805322a: 781b ldrb r3, [r3, #0] 805322c: b2db uxtb r3, r3 805322e: 2b18 cmp r3, #24 8053230: d908 bls.n 8053244 8053232: 4b51 ldr r3, [pc, #324] ; (8053378 ) 8053234: 781b ldrb r3, [r3, #0] 8053236: b2db uxtb r3, r3 8053238: 2b1e cmp r3, #30 805323a: d803 bhi.n 8053244 menupos = FilterHP; 805323c: 4b4e ldr r3, [pc, #312] ; (8053378 ) 805323e: 2217 movs r2, #23 8053240: 701a strb r2, [r3, #0] 8053242: e135 b.n 80534b0 } else if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) { 8053244: 4b4c ldr r3, [pc, #304] ; (8053378 ) 8053246: 781b ldrb r3, [r3, #0] 8053248: b2db uxtb r3, r3 805324a: 2b1e cmp r3, #30 805324c: d908 bls.n 8053260 805324e: 4b4a ldr r3, [pc, #296] ; (8053378 ) 8053250: 781b ldrb r3, [r3, #0] 8053252: b2db uxtb r3, r3 8053254: 2b24 cmp r3, #36 ; 0x24 8053256: d803 bhi.n 8053260 menupos = FilterLP; 8053258: 4b47 ldr r3, [pc, #284] ; (8053378 ) 805325a: 2218 movs r2, #24 805325c: 701a strb r2, [r3, #0] 805325e: e127 b.n 80534b0 } else if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) { 8053260: 4b45 ldr r3, [pc, #276] ; (8053378 ) 8053262: 781b ldrb r3, [r3, #0] 8053264: b2db uxtb r3, r3 8053266: 2b0a cmp r3, #10 8053268: d908 bls.n 805327c 805326a: 4b43 ldr r3, [pc, #268] ; (8053378 ) 805326c: 781b ldrb r3, [r3, #0] 805326e: b2db uxtb r3, r3 8053270: 2b10 cmp r3, #16 8053272: d803 bhi.n 805327c menupos = VibMax_ALL; 8053274: 4b40 ldr r3, [pc, #256] ; (8053378 ) 8053276: 2209 movs r2, #9 8053278: 701a strb r2, [r3, #0] 805327a: e119 b.n 80534b0 } else { switch(menupos) 805327c: 4b3e ldr r3, [pc, #248] ; (8053378 ) 805327e: 781b ldrb r3, [r3, #0] 8053280: b2db uxtb r3, r3 8053282: 2b18 cmp r3, #24 8053284: f201 8254 bhi.w 8054730 8053288: a201 add r2, pc, #4 ; (adr r2, 8053290 ) 805328a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805328e: bf00 nop 8053290: 08053399 .word 0x08053399 8053294: 08053303 .word 0x08053303 8053298: 08053303 .word 0x08053303 805329c: 08054731 .word 0x08054731 80532a0: 08053303 .word 0x08053303 80532a4: 08053303 .word 0x08053303 80532a8: 08053303 .word 0x08053303 80532ac: 08053303 .word 0x08053303 80532b0: 08053323 .word 0x08053323 80532b4: 08053355 .word 0x08053355 80532b8: 08054731 .word 0x08054731 80532bc: 08054731 .word 0x08054731 80532c0: 08054731 .word 0x08054731 80532c4: 08054731 .word 0x08054731 80532c8: 08054731 .word 0x08054731 80532cc: 08054731 .word 0x08054731 80532d0: 08054731 .word 0x08054731 80532d4: 08054731 .word 0x08054731 80532d8: 08054731 .word 0x08054731 80532dc: 08054731 .word 0x08054731 80532e0: 08054731 .word 0x08054731 80532e4: 08054731 .word 0x08054731 80532e8: 08054731 .word 0x08054731 80532ec: 080532f5 .word 0x080532f5 80532f0: 080532fd .word 0x080532fd { case FilterHP: menupos = FilterHP_IET; 80532f4: 4b20 ldr r3, [pc, #128] ; (8053378 ) 80532f6: 221a movs r2, #26 80532f8: 701a strb r2, [r3, #0] break; 80532fa: e0d9 b.n 80534b0 case FilterLP: menupos = FilterLP_IET; 80532fc: 4b1e ldr r3, [pc, #120] ; (8053378 ) 80532fe: 2220 movs r2, #32 8053300: 701a strb r2, [r3, #0] case SpecValue: case SpecLines: case SpecWin: case LinLog: case SAverage: if(!focused) 8053302: 4b24 ldr r3, [pc, #144] ; (8053394 ) 8053304: 781b ldrb r3, [r3, #0] 8053306: b2db uxtb r3, r3 8053308: f083 0301 eor.w r3, r3, #1 805330c: b2db uxtb r3, r3 805330e: 2b00 cmp r3, #0 8053310: d003 beq.n 805331a focused = true; 8053312: 4b20 ldr r3, [pc, #128] ; (8053394 ) 8053314: 2201 movs r2, #1 8053316: 701a strb r2, [r3, #0] else focused = false; break; 8053318: e0ca b.n 80534b0 else focused = false; 805331a: 4b1e ldr r3, [pc, #120] ; (8053394 ) 805331c: 2200 movs r2, #0 805331e: 701a strb r2, [r3, #0] break; 8053320: e0c6 b.n 80534b0 case VibAutoKu: if(pardata.OPTIONS & BIT2) 8053322: 4b0e ldr r3, [pc, #56] ; (805335c ) 8053324: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053328: f003 0304 and.w r3, r3, #4 805332c: 2b00 cmp r3, #0 805332e: d008 beq.n 8053342 pardata.OPTIONS &= ~BIT2; 8053330: 4b0a ldr r3, [pc, #40] ; (805335c ) 8053332: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053336: f023 0304 bic.w r3, r3, #4 805333a: 4a08 ldr r2, [pc, #32] ; (805335c ) 805333c: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= BIT2; break; 8053340: e0b6 b.n 80534b0 else pardata.OPTIONS |= BIT2; 8053342: 4b06 ldr r3, [pc, #24] ; (805335c ) 8053344: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053348: f043 0304 orr.w r3, r3, #4 805334c: 4a03 ldr r2, [pc, #12] ; (805335c ) 805334e: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8053352: e0ad b.n 80534b0 case VibMax_ALL: menupos = VibMax_IET; 8053354: 4b08 ldr r3, [pc, #32] ; (8053378 ) 8053356: 220c movs r2, #12 8053358: 701a strb r2, [r3, #0] break; 805335a: e0a9 b.n 80534b0 805335c: 20023eb8 .word 0x20023eb8 8053360: 2002169c .word 0x2002169c 8053364: 20020e00 .word 0x20020e00 8053368: 20020e04 .word 0x20020e04 805336c: 20020e08 .word 0x20020e08 8053370: 20020e14 .word 0x20020e14 8053374: 20020fc5 .word 0x20020fc5 8053378: 20020070 .word 0x20020070 805337c: 20020071 .word 0x20020071 8053380: 20020e80 .word 0x20020e80 8053384: 20020dea .word 0x20020dea 8053388: 20020dd1 .word 0x20020dd1 805338c: 20020dd2 .word 0x20020dd2 8053390: 20020fc4 .word 0x20020fc4 8053394: 20020fd0 .word 0x20020fd0 case Ok: arm_fill_f32(0.0f, skz, 3); 8053398: 2103 movs r1, #3 805339a: 48b0 ldr r0, [pc, #704] ; (805365c ) 805339c: ed9f 0ab0 vldr s0, [pc, #704] ; 8053660 80533a0: f07b fc5c bl 80cec5c arm_fill_f32(0.0f, skzDB, 3); 80533a4: 2103 movs r1, #3 80533a6: 48af ldr r0, [pc, #700] ; (8053664 ) 80533a8: ed9f 0aad vldr s0, [pc, #692] ; 8053660 80533ac: f07b fc56 bl 80cec5c if((pardata.OPTIONS & maskFFT) == fft) 80533b0: 4bad ldr r3, [pc, #692] ; (8053668 ) 80533b2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80533b6: f003 0330 and.w r3, r3, #48 ; 0x30 80533ba: 2b00 cmp r3, #0 80533bc: d116 bne.n 80533ec { menu = MAIN_SPEC; 80533be: 4bab ldr r3, [pc, #684] ; (805366c ) 80533c0: 221c movs r2, #28 80533c2: 701a strb r2, [r3, #0] lastmenupos = menupos; 80533c4: 4baa ldr r3, [pc, #680] ; (8053670 ) 80533c6: 781b ldrb r3, [r3, #0] 80533c8: b2da uxtb r2, r3 80533ca: 4baa ldr r3, [pc, #680] ; (8053674 ) 80533cc: 701a strb r2, [r3, #0] menupos = StartStop; 80533ce: 4ba8 ldr r3, [pc, #672] ; (8053670 ) 80533d0: 2200 movs r2, #0 80533d2: 701a strb r2, [r3, #0] pardata.SYG = SPEC; 80533d4: 4ba4 ldr r3, [pc, #656] ; (8053668 ) 80533d6: 2201 movs r2, #1 80533d8: 701a strb r2, [r3, #0] Threshold = false; 80533da: 4ba7 ldr r3, [pc, #668] ; (8053678 ) 80533dc: 2200 movs r2, #0 80533de: 701a strb r2, [r3, #0] initAmplif(); 80533e0: f7ce fb58 bl 8021a94 FIRST = true; 80533e4: 4ba5 ldr r3, [pc, #660] ; (805367c ) 80533e6: 2201 movs r2, #1 80533e8: 701a strb r2, [r3, #0] Threshold = false; initAmplif(); FIRST = true; } break; 80533ea: e060 b.n 80534ae if((pardata.OPTIONS & maskFFT) == env) 80533ec: 4b9e ldr r3, [pc, #632] ; (8053668 ) 80533ee: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80533f2: f003 0330 and.w r3, r3, #48 ; 0x30 80533f6: 2b10 cmp r3, #16 80533f8: d116 bne.n 8053428 menu = MAIN_SPEC_OGIB; 80533fa: 4b9c ldr r3, [pc, #624] ; (805366c ) 80533fc: 2221 movs r2, #33 ; 0x21 80533fe: 701a strb r2, [r3, #0] lastmenupos = menupos; 8053400: 4b9b ldr r3, [pc, #620] ; (8053670 ) 8053402: 781b ldrb r3, [r3, #0] 8053404: b2da uxtb r2, r3 8053406: 4b9b ldr r3, [pc, #620] ; (8053674 ) 8053408: 701a strb r2, [r3, #0] menupos = StartStop; 805340a: 4b99 ldr r3, [pc, #612] ; (8053670 ) 805340c: 2200 movs r2, #0 805340e: 701a strb r2, [r3, #0] pardata.SYG = SPEC_OGIB; 8053410: 4b95 ldr r3, [pc, #596] ; (8053668 ) 8053412: 2205 movs r2, #5 8053414: 701a strb r2, [r3, #0] Threshold = false; 8053416: 4b98 ldr r3, [pc, #608] ; (8053678 ) 8053418: 2200 movs r2, #0 805341a: 701a strb r2, [r3, #0] initAmplif(); 805341c: f7ce fb3a bl 8021a94 FIRST = true; 8053420: 4b96 ldr r3, [pc, #600] ; (805367c ) 8053422: 2201 movs r2, #1 8053424: 701a strb r2, [r3, #0] break; 8053426: e042 b.n 80534ae if((pardata.OPTIONS & maskFFT) == okt) 8053428: 4b8f ldr r3, [pc, #572] ; (8053668 ) 805342a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805342e: f003 0330 and.w r3, r3, #48 ; 0x30 8053432: 2b20 cmp r3, #32 8053434: d11e bne.n 8053474 menu = MAIN_SPEC_OKT; 8053436: 4b8d ldr r3, [pc, #564] ; (805366c ) 8053438: 2222 movs r2, #34 ; 0x22 805343a: 701a strb r2, [r3, #0] lastmenupos = menupos; 805343c: 4b8c ldr r3, [pc, #560] ; (8053670 ) 805343e: 781b ldrb r3, [r3, #0] 8053440: b2da uxtb r2, r3 8053442: 4b8c ldr r3, [pc, #560] ; (8053674 ) 8053444: 701a strb r2, [r3, #0] menupos = StartStop; 8053446: 4b8a ldr r3, [pc, #552] ; (8053670 ) 8053448: 2200 movs r2, #0 805344a: 701a strb r2, [r3, #0] pardata.SYG = SPEC_OKT; 805344c: 4b86 ldr r3, [pc, #536] ; (8053668 ) 805344e: 2206 movs r2, #6 8053450: 701a strb r2, [r3, #0] if(pardata.LNE > N3200) 8053452: 4b85 ldr r3, [pc, #532] ; (8053668 ) 8053454: 79db ldrb r3, [r3, #7] 8053456: b2db uxtb r3, r3 8053458: 2b03 cmp r3, #3 805345a: d902 bls.n 8053462 pardata.LNE = N3200; 805345c: 4b82 ldr r3, [pc, #520] ; (8053668 ) 805345e: 2203 movs r2, #3 8053460: 71da strb r2, [r3, #7] Threshold = false; 8053462: 4b85 ldr r3, [pc, #532] ; (8053678 ) 8053464: 2200 movs r2, #0 8053466: 701a strb r2, [r3, #0] initAmplif(); 8053468: f7ce fb14 bl 8021a94 FIRST = true; 805346c: 4b83 ldr r3, [pc, #524] ; (805367c ) 805346e: 2201 movs r2, #1 8053470: 701a strb r2, [r3, #0] break; 8053472: e01c b.n 80534ae if((pardata.OPTIONS & maskFFT) == third) 8053474: 4b7c ldr r3, [pc, #496] ; (8053668 ) 8053476: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805347a: f003 0330 and.w r3, r3, #48 ; 0x30 805347e: 2b30 cmp r3, #48 ; 0x30 8053480: d115 bne.n 80534ae menu = MAIN_SPEC_THIRD; 8053482: 4b7a ldr r3, [pc, #488] ; (805366c ) 8053484: 2223 movs r2, #35 ; 0x23 8053486: 701a strb r2, [r3, #0] lastmenupos = menupos; 8053488: 4b79 ldr r3, [pc, #484] ; (8053670 ) 805348a: 781b ldrb r3, [r3, #0] 805348c: b2da uxtb r2, r3 805348e: 4b79 ldr r3, [pc, #484] ; (8053674 ) 8053490: 701a strb r2, [r3, #0] menupos = StartStop; 8053492: 4b77 ldr r3, [pc, #476] ; (8053670 ) 8053494: 2200 movs r2, #0 8053496: 701a strb r2, [r3, #0] pardata.SYG = SPEC_THIRD; 8053498: 4b73 ldr r3, [pc, #460] ; (8053668 ) 805349a: 2207 movs r2, #7 805349c: 701a strb r2, [r3, #0] Threshold = false; 805349e: 4b76 ldr r3, [pc, #472] ; (8053678 ) 80534a0: 2200 movs r2, #0 80534a2: 701a strb r2, [r3, #0] initAmplif(); 80534a4: f7ce faf6 bl 8021a94 FIRST = true; 80534a8: 4b74 ldr r3, [pc, #464] ; (805367c ) 80534aa: 2201 movs r2, #1 80534ac: 701a strb r2, [r3, #0] break; 80534ae: bf00 nop } } break; 80534b0: f001 b93e b.w 8054730 case PARAM_OSC: if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) { 80534b4: 4b6e ldr r3, [pc, #440] ; (8053670 ) 80534b6: 781b ldrb r3, [r3, #0] 80534b8: b2db uxtb r3, r3 80534ba: 2b18 cmp r3, #24 80534bc: d908 bls.n 80534d0 80534be: 4b6c ldr r3, [pc, #432] ; (8053670 ) 80534c0: 781b ldrb r3, [r3, #0] 80534c2: b2db uxtb r3, r3 80534c4: 2b1e cmp r3, #30 80534c6: d803 bhi.n 80534d0 menupos = FilterHP; 80534c8: 4b69 ldr r3, [pc, #420] ; (8053670 ) 80534ca: 2217 movs r2, #23 80534cc: 701a strb r2, [r3, #0] 80534ce: e108 b.n 80536e2 } else if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) { 80534d0: 4b67 ldr r3, [pc, #412] ; (8053670 ) 80534d2: 781b ldrb r3, [r3, #0] 80534d4: b2db uxtb r3, r3 80534d6: 2b1e cmp r3, #30 80534d8: d908 bls.n 80534ec 80534da: 4b65 ldr r3, [pc, #404] ; (8053670 ) 80534dc: 781b ldrb r3, [r3, #0] 80534de: b2db uxtb r3, r3 80534e0: 2b24 cmp r3, #36 ; 0x24 80534e2: d803 bhi.n 80534ec menupos = FilterLP; 80534e4: 4b62 ldr r3, [pc, #392] ; (8053670 ) 80534e6: 2218 movs r2, #24 80534e8: 701a strb r2, [r3, #0] 80534ea: e0fa b.n 80536e2 } else if((menupos >= OscThr_IDT) && (menupos <= OscThr_IKD)) { 80534ec: 4b60 ldr r3, [pc, #384] ; (8053670 ) 80534ee: 781b ldrb r3, [r3, #0] 80534f0: b2db uxtb r3, r3 80534f2: 2b08 cmp r3, #8 80534f4: d908 bls.n 8053508 80534f6: 4b5e ldr r3, [pc, #376] ; (8053670 ) 80534f8: 781b ldrb r3, [r3, #0] 80534fa: b2db uxtb r3, r3 80534fc: 2b0e cmp r3, #14 80534fe: d803 bhi.n 8053508 menupos = OscThr_ALL; 8053500: 4b5b ldr r3, [pc, #364] ; (8053670 ) 8053502: 2208 movs r2, #8 8053504: 701a strb r2, [r3, #0] 8053506: e0ec b.n 80536e2 } else if((menupos >= OscMax_IDT) && (menupos <= OscMax_IKD)) { 8053508: 4b59 ldr r3, [pc, #356] ; (8053670 ) 805350a: 781b ldrb r3, [r3, #0] 805350c: b2db uxtb r3, r3 805350e: 2b0e cmp r3, #14 8053510: d908 bls.n 8053524 8053512: 4b57 ldr r3, [pc, #348] ; (8053670 ) 8053514: 781b ldrb r3, [r3, #0] 8053516: b2db uxtb r3, r3 8053518: 2b14 cmp r3, #20 805351a: d803 bhi.n 8053524 menupos = OscMax_ALL; 805351c: 4b54 ldr r3, [pc, #336] ; (8053670 ) 805351e: 2206 movs r2, #6 8053520: 701a strb r2, [r3, #0] 8053522: e0de b.n 80536e2 } else { switch(menupos) 8053524: 4b52 ldr r3, [pc, #328] ; (8053670 ) 8053526: 781b ldrb r3, [r3, #0] 8053528: b2db uxtb r3, r3 805352a: 2b18 cmp r3, #24 805352c: f201 8102 bhi.w 8054734 8053530: a201 add r2, pc, #4 ; (adr r2, 8053538 ) 8053532: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8053536: bf00 nop 8053538: 08053685 .word 0x08053685 805353c: 080535ab .word 0x080535ab 8053540: 08054735 .word 0x08054735 8053544: 080535ab .word 0x080535ab 8053548: 080535ab .word 0x080535ab 805354c: 0805360b .word 0x0805360b 8053550: 08053655 .word 0x08053655 8053554: 080535cb .word 0x080535cb 8053558: 0805364d .word 0x0805364d 805355c: 08054735 .word 0x08054735 8053560: 08054735 .word 0x08054735 8053564: 08054735 .word 0x08054735 8053568: 08054735 .word 0x08054735 805356c: 08054735 .word 0x08054735 8053570: 08054735 .word 0x08054735 8053574: 08054735 .word 0x08054735 8053578: 08054735 .word 0x08054735 805357c: 08054735 .word 0x08054735 8053580: 08054735 .word 0x08054735 8053584: 08054735 .word 0x08054735 8053588: 08054735 .word 0x08054735 805358c: 08054735 .word 0x08054735 8053590: 08054735 .word 0x08054735 8053594: 0805359d .word 0x0805359d 8053598: 080535a5 .word 0x080535a5 { case FilterHP: menupos = FilterHP_IET; 805359c: 4b34 ldr r3, [pc, #208] ; (8053670 ) 805359e: 221a movs r2, #26 80535a0: 701a strb r2, [r3, #0] break; 80535a2: e09e b.n 80536e2 case FilterLP: menupos = FilterLP_IET; 80535a4: 4b32 ldr r3, [pc, #200] ; (8053670 ) 80535a6: 2220 movs r2, #32 80535a8: 701a strb r2, [r3, #0] case OscValue: case OscRate: case OscLen: if(!focused) 80535aa: 4b35 ldr r3, [pc, #212] ; (8053680 ) 80535ac: 781b ldrb r3, [r3, #0] 80535ae: b2db uxtb r3, r3 80535b0: f083 0301 eor.w r3, r3, #1 80535b4: b2db uxtb r3, r3 80535b6: 2b00 cmp r3, #0 80535b8: d003 beq.n 80535c2 focused = true; 80535ba: 4b31 ldr r3, [pc, #196] ; (8053680 ) 80535bc: 2201 movs r2, #1 80535be: 701a strb r2, [r3, #0] else focused = false; break; 80535c0: e08f b.n 80536e2 else focused = false; 80535c2: 4b2f ldr r3, [pc, #188] ; (8053680 ) 80535c4: 2200 movs r2, #0 80535c6: 701a strb r2, [r3, #0] break; 80535c8: e08b b.n 80536e2 case OscThr: if(pardata.THR & 0x80) 80535ca: 4b27 ldr r3, [pc, #156] ; (8053668 ) 80535cc: 7bdb ldrb r3, [r3, #15] 80535ce: b2db uxtb r3, r3 80535d0: b25b sxtb r3, r3 80535d2: 2b00 cmp r3, #0 80535d4: da08 bge.n 80535e8 pardata.THR &= 0x7f; 80535d6: 4b24 ldr r3, [pc, #144] ; (8053668 ) 80535d8: 7bdb ldrb r3, [r3, #15] 80535da: b2db uxtb r3, r3 80535dc: f003 037f and.w r3, r3, #127 ; 0x7f 80535e0: b2da uxtb r2, r3 80535e2: 4b21 ldr r3, [pc, #132] ; (8053668 ) 80535e4: 73da strb r2, [r3, #15] else { pardata.THR |= 0x80; pardata.OPTIONS &= ~0x4; } break; 80535e6: e07c b.n 80536e2 pardata.THR |= 0x80; 80535e8: 4b1f ldr r3, [pc, #124] ; (8053668 ) 80535ea: 7bdb ldrb r3, [r3, #15] 80535ec: b2db uxtb r3, r3 80535ee: f063 037f orn r3, r3, #127 ; 0x7f 80535f2: b2da uxtb r2, r3 80535f4: 4b1c ldr r3, [pc, #112] ; (8053668 ) 80535f6: 73da strb r2, [r3, #15] pardata.OPTIONS &= ~0x4; 80535f8: 4b1b ldr r3, [pc, #108] ; (8053668 ) 80535fa: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80535fe: f023 0304 bic.w r3, r3, #4 8053602: 4a19 ldr r2, [pc, #100] ; (8053668 ) 8053604: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8053608: e06b b.n 80536e2 case OscAutoKu: if(pardata.OPTIONS & 0x4) 805360a: 4b17 ldr r3, [pc, #92] ; (8053668 ) 805360c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053610: f003 0304 and.w r3, r3, #4 8053614: 2b00 cmp r3, #0 8053616: d008 beq.n 805362a pardata.OPTIONS &= ~0x4; 8053618: 4b13 ldr r3, [pc, #76] ; (8053668 ) 805361a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805361e: f023 0304 bic.w r3, r3, #4 8053622: 4a11 ldr r2, [pc, #68] ; (8053668 ) 8053624: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else { pardata.OPTIONS |= 0x4; pardata.THR &= 0x7f; } break; 8053628: e05b b.n 80536e2 pardata.OPTIONS |= 0x4; 805362a: 4b0f ldr r3, [pc, #60] ; (8053668 ) 805362c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053630: f043 0304 orr.w r3, r3, #4 8053634: 4a0c ldr r2, [pc, #48] ; (8053668 ) 8053636: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.THR &= 0x7f; 805363a: 4b0b ldr r3, [pc, #44] ; (8053668 ) 805363c: 7bdb ldrb r3, [r3, #15] 805363e: b2db uxtb r3, r3 8053640: f003 037f and.w r3, r3, #127 ; 0x7f 8053644: b2da uxtb r2, r3 8053646: 4b08 ldr r3, [pc, #32] ; (8053668 ) 8053648: 73da strb r2, [r3, #15] break; 805364a: e04a b.n 80536e2 case OscThr_ALL: menupos = OscThr_IET; 805364c: 4b08 ldr r3, [pc, #32] ; (8053670 ) 805364e: 220a movs r2, #10 8053650: 701a strb r2, [r3, #0] break; 8053652: e046 b.n 80536e2 case OscMax_ALL: menupos = OscMax_IET; 8053654: 4b06 ldr r3, [pc, #24] ; (8053670 ) 8053656: 2210 movs r2, #16 8053658: 701a strb r2, [r3, #0] break; 805365a: e042 b.n 80536e2 805365c: 20021590 .word 0x20021590 8053660: 00000000 .word 0x00000000 8053664: 2002159c .word 0x2002159c 8053668: 20023eb8 .word 0x20023eb8 805366c: 20020fc5 .word 0x20020fc5 8053670: 20020070 .word 0x20020070 8053674: 20020071 .word 0x20020071 8053678: 20020dd1 .word 0x20020dd1 805367c: 20020dd2 .word 0x20020dd2 8053680: 20020fd0 .word 0x20020fd0 case Ok: arm_fill_f32(0.0f, skz, 3); 8053684: 2103 movs r1, #3 8053686: 48a7 ldr r0, [pc, #668] ; (8053924 ) 8053688: ed9f 0aa7 vldr s0, [pc, #668] ; 8053928 805368c: f07b fae6 bl 80cec5c arm_fill_f32(0.0f, skzDB, 3); 8053690: 2103 movs r1, #3 8053692: 48a6 ldr r0, [pc, #664] ; (805392c ) 8053694: ed9f 0aa4 vldr s0, [pc, #656] ; 8053928 8053698: f07b fae0 bl 80cec5c menu = MAIN_OSC; 805369c: 4ba4 ldr r3, [pc, #656] ; (8053930 ) 805369e: 221d movs r2, #29 80536a0: 701a strb r2, [r3, #0] lastmenupos = menupos; 80536a2: 4ba4 ldr r3, [pc, #656] ; (8053934 ) 80536a4: 781b ldrb r3, [r3, #0] 80536a6: b2da uxtb r2, r3 80536a8: 4ba3 ldr r3, [pc, #652] ; (8053938 ) 80536aa: 701a strb r2, [r3, #0] menupos = StartStop; 80536ac: 4ba1 ldr r3, [pc, #644] ; (8053934 ) 80536ae: 2200 movs r2, #0 80536b0: 701a strb r2, [r3, #0] if((pardata.IPR == ACC) && (pardata.THR & 0x80)) 80536b2: 4ba2 ldr r3, [pc, #648] ; (805393c ) 80536b4: 785b ldrb r3, [r3, #1] 80536b6: b2db uxtb r3, r3 80536b8: 2b00 cmp r3, #0 80536ba: d109 bne.n 80536d0 80536bc: 4b9f ldr r3, [pc, #636] ; (805393c ) 80536be: 7bdb ldrb r3, [r3, #15] 80536c0: b2db uxtb r3, r3 80536c2: b25b sxtb r3, r3 80536c4: 2b00 cmp r3, #0 80536c6: da03 bge.n 80536d0 Threshold = true; 80536c8: 4b9d ldr r3, [pc, #628] ; (8053940 ) 80536ca: 2201 movs r2, #1 80536cc: 701a strb r2, [r3, #0] 80536ce: e002 b.n 80536d6 else Threshold = false; 80536d0: 4b9b ldr r3, [pc, #620] ; (8053940 ) 80536d2: 2200 movs r2, #0 80536d4: 701a strb r2, [r3, #0] initAmplif(); 80536d6: f7ce f9dd bl 8021a94 FIRST = true; 80536da: 4b9a ldr r3, [pc, #616] ; (8053944 ) 80536dc: 2201 movs r2, #1 80536de: 701a strb r2, [r3, #0] break; 80536e0: bf00 nop } } break; 80536e2: f001 b827 b.w 8054734 case PARAM_WAVE: if((menupos >= WaveThr_IDT) && (menupos <= WaveThr_IKD)) { 80536e6: 4b93 ldr r3, [pc, #588] ; (8053934 ) 80536e8: 781b ldrb r3, [r3, #0] 80536ea: b2db uxtb r3, r3 80536ec: 2b0f cmp r3, #15 80536ee: d908 bls.n 8053702 80536f0: 4b90 ldr r3, [pc, #576] ; (8053934 ) 80536f2: 781b ldrb r3, [r3, #0] 80536f4: b2db uxtb r3, r3 80536f6: 2b15 cmp r3, #21 80536f8: d803 bhi.n 8053702 menupos = WaveThr_ALL; 80536fa: 4b8e ldr r3, [pc, #568] ; (8053934 ) 80536fc: 2209 movs r2, #9 80536fe: 701a strb r2, [r3, #0] 8053700: e10e b.n 8053920 } else if((menupos >= WaveMax_IDT) && (menupos <= WaveMax_IKD)) { 8053702: 4b8c ldr r3, [pc, #560] ; (8053934 ) 8053704: 781b ldrb r3, [r3, #0] 8053706: b2db uxtb r3, r3 8053708: 2b09 cmp r3, #9 805370a: d908 bls.n 805371e 805370c: 4b89 ldr r3, [pc, #548] ; (8053934 ) 805370e: 781b ldrb r3, [r3, #0] 8053710: b2db uxtb r3, r3 8053712: 2b0f cmp r3, #15 8053714: d803 bhi.n 805371e menupos = WaveMax_ALL; 8053716: 4b87 ldr r3, [pc, #540] ; (8053934 ) 8053718: 2207 movs r2, #7 805371a: 701a strb r2, [r3, #0] 805371c: e100 b.n 8053920 } else { switch(menupos) 805371e: 4b85 ldr r3, [pc, #532] ; (8053934 ) 8053720: 781b ldrb r3, [r3, #0] 8053722: b2db uxtb r3, r3 8053724: 2b09 cmp r3, #9 8053726: f201 8007 bhi.w 8054738 805372a: a201 add r2, pc, #4 ; (adr r2, 8053730 ) 805372c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8053730: 080538e1 .word 0x080538e1 8053734: 08054739 .word 0x08054739 8053738: 08054739 .word 0x08054739 805373c: 08053851 .word 0x08053851 8053740: 08053779 .word 0x08053779 8053744: 08053759 .word 0x08053759 8053748: 0805388f .word 0x0805388f 805374c: 080538d9 .word 0x080538d9 8053750: 08053801 .word 0x08053801 8053754: 080538d1 .word 0x080538d1 { case WaveTime: if(!focused) 8053758: 4b7b ldr r3, [pc, #492] ; (8053948 ) 805375a: 781b ldrb r3, [r3, #0] 805375c: b2db uxtb r3, r3 805375e: f083 0301 eor.w r3, r3, #1 8053762: b2db uxtb r3, r3 8053764: 2b00 cmp r3, #0 8053766: d003 beq.n 8053770 focused = true; 8053768: 4b77 ldr r3, [pc, #476] ; (8053948 ) 805376a: 2201 movs r2, #1 805376c: 701a strb r2, [r3, #0] else focused = false; break; 805376e: e0d7 b.n 8053920 else focused = false; 8053770: 4b75 ldr r3, [pc, #468] ; (8053948 ) 8053772: 2200 movs r2, #0 8053774: 701a strb r2, [r3, #0] break; 8053776: e0d3 b.n 8053920 case WaveName: if(CardState == MSD_READY) 8053778: 4b74 ldr r3, [pc, #464] ; (805394c ) 805377a: 781b ldrb r3, [r3, #0] 805377c: b2db uxtb r3, r3 805377e: 2b03 cmp r3, #3 8053780: f040 80ca bne.w 8053918 { memset(TEMP_WavFileName, 0, sizeof(TEMP_WavFileName)); 8053784: 2221 movs r2, #33 ; 0x21 8053786: 2100 movs r1, #0 8053788: 4871 ldr r0, [pc, #452] ; (8053950 ) 805378a: f07e fc0b bl 80d1fa4 if(strcmp(WavFileName, "") != 0) 805378e: 4b71 ldr r3, [pc, #452] ; (8053954 ) 8053790: 781b ldrb r3, [r3, #0] 8053792: 2b00 cmp r3, #0 8053794: d027 beq.n 80537e6 { strcpy(TEMP_WavFileName, WavFileName); 8053796: 496f ldr r1, [pc, #444] ; (8053954 ) 8053798: 486d ldr r0, [pc, #436] ; (8053950 ) 805379a: f07e fd20 bl 80d21de k = strlen(TEMP_WavFileName); 805379e: 486c ldr r0, [pc, #432] ; (8053950 ) 80537a0: f7cc fdb8 bl 8020314 80537a4: f8c7 00c4 str.w r0, [r7, #196] ; 0xc4 if(TEMP_WavFileName[k - 4] == '.') 80537a8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80537ac: 3b04 subs r3, #4 80537ae: 4a68 ldr r2, [pc, #416] ; (8053950 ) 80537b0: 5cd3 ldrb r3, [r2, r3] 80537b2: 2b2e cmp r3, #46 ; 0x2e 80537b4: d117 bne.n 80537e6 { TEMP_WavFileName[k - 4] = 0; 80537b6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80537ba: 3b04 subs r3, #4 80537bc: 4a64 ldr r2, [pc, #400] ; (8053950 ) 80537be: 2100 movs r1, #0 80537c0: 54d1 strb r1, [r2, r3] TEMP_WavFileName[k - 3] = 0; 80537c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80537c6: 3b03 subs r3, #3 80537c8: 4a61 ldr r2, [pc, #388] ; (8053950 ) 80537ca: 2100 movs r1, #0 80537cc: 54d1 strb r1, [r2, r3] TEMP_WavFileName[k - 2] = 0; 80537ce: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80537d2: 3b02 subs r3, #2 80537d4: 4a5e ldr r2, [pc, #376] ; (8053950 ) 80537d6: 2100 movs r1, #0 80537d8: 54d1 strb r1, [r2, r3] TEMP_WavFileName[k - 1] = 0; 80537da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80537de: 3b01 subs r3, #1 80537e0: 4a5b ldr r2, [pc, #364] ; (8053950 ) 80537e2: 2100 movs r1, #0 80537e4: 54d1 strb r1, [r2, r3] } } WavFileNameLen = strlen(TEMP_WavFileName); 80537e6: 485a ldr r0, [pc, #360] ; (8053950 ) 80537e8: f7cc fd94 bl 8020314 80537ec: 4602 mov r2, r0 80537ee: 4b5a ldr r3, [pc, #360] ; (8053958 ) 80537f0: 601a str r2, [r3, #0] menu = INPUT_NAME_GTR; 80537f2: 4b4f ldr r3, [pc, #316] ; (8053930 ) 80537f4: 2230 movs r2, #48 ; 0x30 80537f6: 701a strb r2, [r3, #0] menupos = _CANCEL; 80537f8: 4b4e ldr r3, [pc, #312] ; (8053934 ) 80537fa: 2227 movs r2, #39 ; 0x27 80537fc: 701a strb r2, [r3, #0] } break; 80537fe: e08b b.n 8053918 case WaveThr: if(pardata.THR & 0x80) 8053800: 4b4e ldr r3, [pc, #312] ; (805393c ) 8053802: 7bdb ldrb r3, [r3, #15] 8053804: b2db uxtb r3, r3 8053806: b25b sxtb r3, r3 8053808: 2b00 cmp r3, #0 805380a: da08 bge.n 805381e pardata.THR &= 0x7f; 805380c: 4b4b ldr r3, [pc, #300] ; (805393c ) 805380e: 7bdb ldrb r3, [r3, #15] 8053810: b2db uxtb r3, r3 8053812: f003 037f and.w r3, r3, #127 ; 0x7f 8053816: b2da uxtb r2, r3 8053818: 4b48 ldr r3, [pc, #288] ; (805393c ) 805381a: 73da strb r2, [r3, #15] { pardata.THR |= 0x80; pardata.OPTIONS &= ~0x4; pardata.OPTIONS &= ~BIT7; } break; 805381c: e080 b.n 8053920 pardata.THR |= 0x80; 805381e: 4b47 ldr r3, [pc, #284] ; (805393c ) 8053820: 7bdb ldrb r3, [r3, #15] 8053822: b2db uxtb r3, r3 8053824: f063 037f orn r3, r3, #127 ; 0x7f 8053828: b2da uxtb r2, r3 805382a: 4b44 ldr r3, [pc, #272] ; (805393c ) 805382c: 73da strb r2, [r3, #15] pardata.OPTIONS &= ~0x4; 805382e: 4b43 ldr r3, [pc, #268] ; (805393c ) 8053830: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053834: f023 0304 bic.w r3, r3, #4 8053838: 4a40 ldr r2, [pc, #256] ; (805393c ) 805383a: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS &= ~BIT7; 805383e: 4b3f ldr r3, [pc, #252] ; (805393c ) 8053840: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053844: f023 0380 bic.w r3, r3, #128 ; 0x80 8053848: 4a3c ldr r2, [pc, #240] ; (805393c ) 805384a: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 805384e: e067 b.n 8053920 case WaveTacho: if((pardata.THR & 0x80) == 0) 8053850: 4b3a ldr r3, [pc, #232] ; (805393c ) 8053852: 7bdb ldrb r3, [r3, #15] 8053854: b2db uxtb r3, r3 8053856: b25b sxtb r3, r3 8053858: 2b00 cmp r3, #0 805385a: db60 blt.n 805391e { if(pardata.OPTIONS & BIT7) 805385c: 4b37 ldr r3, [pc, #220] ; (805393c ) 805385e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053862: f003 0380 and.w r3, r3, #128 ; 0x80 8053866: 2b00 cmp r3, #0 8053868: d008 beq.n 805387c { pardata.OPTIONS &= ~BIT7; 805386a: 4b34 ldr r3, [pc, #208] ; (805393c ) 805386c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053870: f023 0380 bic.w r3, r3, #128 ; 0x80 8053874: 4a31 ldr r2, [pc, #196] ; (805393c ) 8053876: f8c2 3098 str.w r3, [r2, #152] ; 0x98 } else pardata.OPTIONS |= BIT7; } break; 805387a: e050 b.n 805391e pardata.OPTIONS |= BIT7; 805387c: 4b2f ldr r3, [pc, #188] ; (805393c ) 805387e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053882: f043 0380 orr.w r3, r3, #128 ; 0x80 8053886: 4a2d ldr r2, [pc, #180] ; (805393c ) 8053888: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 805388c: e047 b.n 805391e case WaveAutoKu: if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 805388e: 4b2b ldr r3, [pc, #172] ; (805393c ) 8053890: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053894: f003 0304 and.w r3, r3, #4 8053898: 2b00 cmp r3, #0 805389a: d110 bne.n 80538be { pardata.OPTIONS |= 0x4; 805389c: 4b27 ldr r3, [pc, #156] ; (805393c ) 805389e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80538a2: f043 0304 orr.w r3, r3, #4 80538a6: 4a25 ldr r2, [pc, #148] ; (805393c ) 80538a8: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.THR &= 0x7f; 80538ac: 4b23 ldr r3, [pc, #140] ; (805393c ) 80538ae: 7bdb ldrb r3, [r3, #15] 80538b0: b2db uxtb r3, r3 80538b2: f003 037f and.w r3, r3, #127 ; 0x7f 80538b6: b2da uxtb r2, r3 80538b8: 4b20 ldr r3, [pc, #128] ; (805393c ) 80538ba: 73da strb r2, [r3, #15] } else pardata.OPTIONS &= ~0x4; break; 80538bc: e030 b.n 8053920 pardata.OPTIONS &= ~0x4; 80538be: 4b1f ldr r3, [pc, #124] ; (805393c ) 80538c0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80538c4: f023 0304 bic.w r3, r3, #4 80538c8: 4a1c ldr r2, [pc, #112] ; (805393c ) 80538ca: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 80538ce: e027 b.n 8053920 case WaveThr_ALL: menupos = WaveThr_IET; 80538d0: 4b18 ldr r3, [pc, #96] ; (8053934 ) 80538d2: 2211 movs r2, #17 80538d4: 701a strb r2, [r3, #0] break; 80538d6: e023 b.n 8053920 case WaveMax_ALL: menupos = WaveMax_IET; 80538d8: 4b16 ldr r3, [pc, #88] ; (8053934 ) 80538da: 220b movs r2, #11 80538dc: 701a strb r2, [r3, #0] break; 80538de: e01f b.n 8053920 case Ok: menu = MAIN_WAVE; 80538e0: 4b13 ldr r3, [pc, #76] ; (8053930 ) 80538e2: 221e movs r2, #30 80538e4: 701a strb r2, [r3, #0] menupos = StartStop; 80538e6: 4b13 ldr r3, [pc, #76] ; (8053934 ) 80538e8: 2200 movs r2, #0 80538ea: 701a strb r2, [r3, #0] oldmenupos = StartStop; 80538ec: 4b1b ldr r3, [pc, #108] ; (805395c ) 80538ee: 2200 movs r2, #0 80538f0: 701a strb r2, [r3, #0] if(pardata.THR & 0x80) Threshold = true; 80538f2: 4b12 ldr r3, [pc, #72] ; (805393c ) 80538f4: 7bdb ldrb r3, [r3, #15] 80538f6: b2db uxtb r3, r3 80538f8: b25b sxtb r3, r3 80538fa: 2b00 cmp r3, #0 80538fc: da03 bge.n 8053906 80538fe: 4b10 ldr r3, [pc, #64] ; (8053940 ) 8053900: 2201 movs r2, #1 8053902: 701a strb r2, [r3, #0] 8053904: e002 b.n 805390c else Threshold = false; 8053906: 4b0e ldr r3, [pc, #56] ; (8053940 ) 8053908: 2200 movs r2, #0 805390a: 701a strb r2, [r3, #0] initAmplif(); 805390c: f7ce f8c2 bl 8021a94 FIRST = true; 8053910: 4b0c ldr r3, [pc, #48] ; (8053944 ) 8053912: 2201 movs r2, #1 8053914: 701a strb r2, [r3, #0] break; 8053916: e003 b.n 8053920 break; 8053918: bf00 nop 805391a: f000 bf0d b.w 8054738 break; 805391e: bf00 nop } } break; 8053920: f000 bf0a b.w 8054738 8053924: 20021590 .word 0x20021590 8053928: 00000000 .word 0x00000000 805392c: 2002159c .word 0x2002159c 8053930: 20020fc5 .word 0x20020fc5 8053934: 20020070 .word 0x20020070 8053938: 20020071 .word 0x20020071 805393c: 20023eb8 .word 0x20023eb8 8053940: 20020dd1 .word 0x20020dd1 8053944: 20020dd2 .word 0x20020dd2 8053948: 20020fd0 .word 0x20020fd0 805394c: 2002169c .word 0x2002169c 8053950: 20025cfc .word 0x20025cfc 8053954: 20020e5c .word 0x20020e5c 8053958: 20020f10 .word 0x20020f10 805395c: 20020fc7 .word 0x20020fc7 if((menupos >= Ies) && (menupos <= Ikt)) { menupos = Sens; } break;*/ case SETTINGS: switch(menupos) 8053960: 4bb0 ldr r3, [pc, #704] ; (8053c24 ) 8053962: 781b ldrb r3, [r3, #0] 8053964: b2db uxtb r3, r3 8053966: 3b01 subs r3, #1 8053968: 2b11 cmp r3, #17 805396a: f200 86e7 bhi.w 805473c 805396e: a201 add r2, pc, #4 ; (adr r2, 8053974 ) 8053970: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8053974: 080539bd .word 0x080539bd 8053978: 080539fd .word 0x080539fd 805397c: 080539dd .word 0x080539dd 8053980: 08053af1 .word 0x08053af1 8053984: 08053a91 .word 0x08053a91 8053988: 08053a05 .word 0x08053a05 805398c: 08053a3b .word 0x08053a3b 8053990: 08053abd .word 0x08053abd 8053994: 08053ac5 .word 0x08053ac5 8053998: 08053adf .word 0x08053adf 805399c: 0805473d .word 0x0805473d 80539a0: 0805473d .word 0x0805473d 80539a4: 08053b05 .word 0x08053b05 80539a8: 08053b05 .word 0x08053b05 80539ac: 08053b05 .word 0x08053b05 80539b0: 08053b05 .word 0x08053b05 80539b4: 08053b05 .word 0x08053b05 80539b8: 08053b05 .word 0x08053b05 { case Type: #if (!defined(USE_D101) && !defined(USE_D102)) if(!focused) 80539bc: 4b9a ldr r3, [pc, #616] ; (8053c28 ) 80539be: 781b ldrb r3, [r3, #0] 80539c0: b2db uxtb r3, r3 80539c2: f083 0301 eor.w r3, r3, #1 80539c6: b2db uxtb r3, r3 80539c8: 2b00 cmp r3, #0 80539ca: d003 beq.n 80539d4 focused = true; 80539cc: 4b96 ldr r3, [pc, #600] ; (8053c28 ) 80539ce: 2201 movs r2, #1 80539d0: 701a strb r2, [r3, #0] else focused = false; #endif break; 80539d2: e09c b.n 8053b0e else focused = false; 80539d4: 4b94 ldr r3, [pc, #592] ; (8053c28 ) 80539d6: 2200 movs r2, #0 80539d8: 701a strb r2, [r3, #0] break; 80539da: e098 b.n 8053b0e case Lang: if(!focused) 80539dc: 4b92 ldr r3, [pc, #584] ; (8053c28 ) 80539de: 781b ldrb r3, [r3, #0] 80539e0: b2db uxtb r3, r3 80539e2: f083 0301 eor.w r3, r3, #1 80539e6: b2db uxtb r3, r3 80539e8: 2b00 cmp r3, #0 80539ea: d003 beq.n 80539f4 focused = true; 80539ec: 4b8e ldr r3, [pc, #568] ; (8053c28 ) 80539ee: 2201 movs r2, #1 80539f0: 701a strb r2, [r3, #0] else focused = false; break; 80539f2: e08c b.n 8053b0e else focused = false; 80539f4: 4b8c ldr r3, [pc, #560] ; (8053c28 ) 80539f6: 2200 movs r2, #0 80539f8: 701a strb r2, [r3, #0] break; 80539fa: e088 b.n 8053b0e case Sens: menupos = Iee; 80539fc: 4b89 ldr r3, [pc, #548] ; (8053c24 ) 80539fe: 220f movs r2, #15 8053a00: 701a strb r2, [r3, #0] break; 8053a02: e084 b.n 8053b0e case Bluetooth: if(pardata.OPTIONS & BIT6) 8053a04: 4b89 ldr r3, [pc, #548] ; (8053c2c ) 8053a06: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053a0a: f003 0340 and.w r3, r3, #64 ; 0x40 8053a0e: 2b00 cmp r3, #0 8053a10: d00a beq.n 8053a28 { pardata.OPTIONS &= ~BIT6; 8053a12: 4b86 ldr r3, [pc, #536] ; (8053c2c ) 8053a14: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053a18: f023 0340 bic.w r3, r3, #64 ; 0x40 8053a1c: 4a83 ldr r2, [pc, #524] ; (8053c2c ) 8053a1e: f8c2 3098 str.w r3, [r2, #152] ; 0x98 MX_HC05_DeInit(); 8053a22: f7dc fc1f bl 8030264 } else pardata.OPTIONS |= BIT6; break; 8053a26: e072 b.n 8053b0e pardata.OPTIONS |= BIT6; 8053a28: 4b80 ldr r3, [pc, #512] ; (8053c2c ) 8053a2a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053a2e: f043 0340 orr.w r3, r3, #64 ; 0x40 8053a32: 4a7e ldr r2, [pc, #504] ; (8053c2c ) 8053a34: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8053a38: e069 b.n 8053b0e case Temper: if(pardata.OPTIONS & BIT8) 8053a3a: 4b7c ldr r3, [pc, #496] ; (8053c2c ) 8053a3c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053a40: f403 7380 and.w r3, r3, #256 ; 0x100 8053a44: 2b00 cmp r3, #0 8053a46: d011 beq.n 8053a6c { pardata.OPTIONS &= ~BIT8; 8053a48: 4b78 ldr r3, [pc, #480] ; (8053c2c ) 8053a4a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053a4e: f423 7380 bic.w r3, r3, #256 ; 0x100 8053a52: 4a76 ldr r2, [pc, #472] ; (8053c2c ) 8053a54: f8c2 3098 str.w r3, [r2, #152] ; 0x98 HAL_GPIO_WritePin(TMPR_GPIO_Port, TMPR_Pin, GPIO_PIN_SET); 8053a58: 2201 movs r2, #1 8053a5a: f44f 5100 mov.w r1, #8192 ; 0x2000 8053a5e: 4874 ldr r0, [pc, #464] ; (8053c30 ) 8053a60: f066 fc9c bl 80ba39c SeeTemperature = false; 8053a64: 4b73 ldr r3, [pc, #460] ; (8053c34 ) 8053a66: 2200 movs r2, #0 8053a68: 701a strb r2, [r3, #0] { pardata.OPTIONS |= BIT8; HAL_GPIO_WritePin(TMPR_GPIO_Port, TMPR_Pin, GPIO_PIN_RESET); SeeTemperature = true; } break; 8053a6a: e050 b.n 8053b0e pardata.OPTIONS |= BIT8; 8053a6c: 4b6f ldr r3, [pc, #444] ; (8053c2c ) 8053a6e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053a72: f443 7380 orr.w r3, r3, #256 ; 0x100 8053a76: 4a6d ldr r2, [pc, #436] ; (8053c2c ) 8053a78: f8c2 3098 str.w r3, [r2, #152] ; 0x98 HAL_GPIO_WritePin(TMPR_GPIO_Port, TMPR_Pin, GPIO_PIN_RESET); 8053a7c: 2200 movs r2, #0 8053a7e: f44f 5100 mov.w r1, #8192 ; 0x2000 8053a82: 486b ldr r0, [pc, #428] ; (8053c30 ) 8053a84: f066 fc8a bl 80ba39c SeeTemperature = true; 8053a88: 4b6a ldr r3, [pc, #424] ; (8053c34 ) 8053a8a: 2201 movs r2, #1 8053a8c: 701a strb r2, [r3, #0] break; 8053a8e: e03e b.n 8053b0e case FormatDisk: if(CardState & MSD_PRESENT) 8053a90: 4b69 ldr r3, [pc, #420] ; (8053c38 ) 8053a92: 781b ldrb r3, [r3, #0] 8053a94: b2db uxtb r3, r3 8053a96: f003 0301 and.w r3, r3, #1 8053a9a: 2b00 cmp r3, #0 8053a9c: d003 beq.n 8053aa6 menupos = FormatDiskNo; 8053a9e: 4b61 ldr r3, [pc, #388] ; (8053c24 ) 8053aa0: 2208 movs r2, #8 8053aa2: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 8053aa4: e033 b.n 8053b0e STATUS = AP_NO_CARD; 8053aa6: 4b65 ldr r3, [pc, #404] ; (8053c3c ) 8053aa8: 2211 movs r2, #17 8053aaa: 601a str r2, [r3, #0] timerStatus = sec2; 8053aac: 4b64 ldr r3, [pc, #400] ; (8053c40 ) 8053aae: f44f 5280 mov.w r2, #4096 ; 0x1000 8053ab2: 801a strh r2, [r3, #0] DrawStatus = true; 8053ab4: 4b63 ldr r3, [pc, #396] ; (8053c44 ) 8053ab6: 2201 movs r2, #1 8053ab8: 701a strb r2, [r3, #0] break; 8053aba: e028 b.n 8053b0e case FormatDiskNo: menupos = FormatDisk; 8053abc: 4b59 ldr r3, [pc, #356] ; (8053c24 ) 8053abe: 2205 movs r2, #5 8053ac0: 701a strb r2, [r3, #0] break; 8053ac2: e024 b.n 8053b0e case FormatDiskYes: STATUS = AP_OK; 8053ac4: 4b5d ldr r3, [pc, #372] ; (8053c3c ) 8053ac6: 2200 movs r2, #0 8053ac8: 601a str r2, [r3, #0] NeedFormat = 1; 8053aca: 4b5f ldr r3, [pc, #380] ; (8053c48 ) 8053acc: 2201 movs r2, #1 8053ace: 701a strb r2, [r3, #0] FormatStatus = AP_OK; 8053ad0: 4b5e ldr r3, [pc, #376] ; (8053c4c ) 8053ad2: 2200 movs r2, #0 8053ad4: 701a strb r2, [r3, #0] menupos = FormatDiskResult; 8053ad6: 4b53 ldr r3, [pc, #332] ; (8053c24 ) 8053ad8: 220a movs r2, #10 8053ada: 701a strb r2, [r3, #0] break; 8053adc: e017 b.n 8053b0e case FormatDiskResult: if(NeedFormat == 0) 8053ade: 4b5a ldr r3, [pc, #360] ; (8053c48 ) 8053ae0: 781b ldrb r3, [r3, #0] 8053ae2: b2db uxtb r3, r3 8053ae4: 2b00 cmp r3, #0 8053ae6: d111 bne.n 8053b0c menupos = FormatDisk; 8053ae8: 4b4e ldr r3, [pc, #312] ; (8053c24 ) 8053aea: 2205 movs r2, #5 8053aec: 701a strb r2, [r3, #0] break; 8053aee: e00d b.n 8053b0c case DateTime: focused = false; 8053af0: 4b4d ldr r3, [pc, #308] ; (8053c28 ) 8053af2: 2200 movs r2, #0 8053af4: 701a strb r2, [r3, #0] menu = DATETIME; 8053af6: 4b56 ldr r3, [pc, #344] ; (8053c50 ) 8053af8: 2218 movs r2, #24 8053afa: 701a strb r2, [r3, #0] menupos = DateAll; 8053afc: 4b49 ldr r3, [pc, #292] ; (8053c24 ) 8053afe: 2201 movs r2, #1 8053b00: 701a strb r2, [r3, #0] break; 8053b02: e004 b.n 8053b0e case Ied: case Iee: case Ikd: case Iks: case Ikt: menupos = Sens; 8053b04: 4b47 ldr r3, [pc, #284] ; (8053c24 ) 8053b06: 2202 movs r2, #2 8053b08: 701a strb r2, [r3, #0] break; 8053b0a: e000 b.n 8053b0e break; 8053b0c: bf00 nop } break; 8053b0e: f000 be15 b.w 805473c case CLEAN_FILES: // TODO switch(menupos) 8053b12: 4b44 ldr r3, [pc, #272] ; (8053c24 ) 8053b14: 781b ldrb r3, [r3, #0] 8053b16: b2db uxtb r3, r3 8053b18: 3b01 subs r3, #1 8053b1a: 2b0a cmp r3, #10 8053b1c: f200 8610 bhi.w 8054740 8053b20: a201 add r2, pc, #4 ; (adr r2, 8053b28 ) 8053b22: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8053b26: bf00 nop 8053b28: 08053b55 .word 0x08053b55 8053b2c: 08053b63 .word 0x08053b63 8053b30: 08054741 .word 0x08054741 8053b34: 08053ccf .word 0x08053ccf 8053b38: 08053cf9 .word 0x08053cf9 8053b3c: 08053cd7 .word 0x08053cd7 8053b40: 08053cdf .word 0x08053cdf 8053b44: 08053d01 .word 0x08053d01 8053b48: 08053d09 .word 0x08053d09 8053b4c: 08053d23 .word 0x08053d23 8053b50: 08053d99 .word 0x08053d99 { case NoFilesPTM: menu = SETTINGS; 8053b54: 4b3e ldr r3, [pc, #248] ; (8053c50 ) 8053b56: 2212 movs r2, #18 8053b58: 701a strb r2, [r3, #0] menupos = CleanFiles; 8053b5a: 4b32 ldr r3, [pc, #200] ; (8053c24 ) 8053b5c: 220c movs r2, #12 8053b5e: 701a strb r2, [r3, #0] break; 8053b60: e122 b.n 8053da8 case FilesPTM: if(ExplorerFiles[CursorIndex].fname[0] != 0) 8053b62: 4b3c ldr r3, [pc, #240] ; (8053c54 ) 8053b64: 681a ldr r2, [r3, #0] 8053b66: 493c ldr r1, [pc, #240] ; (8053c58 ) 8053b68: 4613 mov r3, r2 8053b6a: 00db lsls r3, r3, #3 8053b6c: 1a9b subs r3, r3, r2 8053b6e: 00db lsls r3, r3, #3 8053b70: 440b add r3, r1 8053b72: 330c adds r3, #12 8053b74: 781b ldrb r3, [r3, #0] 8053b76: 2b00 cmp r3, #0 8053b78: f000 8112 beq.w 8053da0 { d = cbChecked; 8053b7c: 2301 movs r3, #1 8053b7e: f8c7 30bc str.w r3, [r7, #188] ; 0xbc if(NumFilesDelete != 0) 8053b82: 4b36 ldr r3, [pc, #216] ; (8053c5c ) 8053b84: 681b ldr r3, [r3, #0] 8053b86: 2b00 cmp r3, #0 8053b88: d03d beq.n 8053c06 { for(i = 0; i < MAX_CHECKED_FILES; i++) 8053b8a: 2300 movs r3, #0 8053b8c: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8053b90: e034 b.n 8053bfc { if(strcmp(ExplorerFiles[CursorIndex].fname, &StrRAM(i, 0)) == 0) 8053b92: 4b30 ldr r3, [pc, #192] ; (8053c54 ) 8053b94: 681a ldr r2, [r3, #0] 8053b96: 4613 mov r3, r2 8053b98: 00db lsls r3, r3, #3 8053b9a: 1a9b subs r3, r3, r2 8053b9c: 00db lsls r3, r3, #3 8053b9e: 3308 adds r3, #8 8053ba0: 4a2d ldr r2, [pc, #180] ; (8053c58 ) 8053ba2: 4413 add r3, r2 8053ba4: 1d18 adds r0, r3, #4 8053ba6: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8053baa: 4613 mov r3, r2 8053bac: 009b lsls r3, r3, #2 8053bae: 4413 add r3, r2 8053bb0: 00db lsls r3, r3, #3 8053bb2: 461a mov r2, r3 8053bb4: 4b2a ldr r3, [pc, #168] ; (8053c60 ) 8053bb6: 4413 add r3, r2 8053bb8: 4619 mov r1, r3 8053bba: f7cc fba1 bl 8020300 8053bbe: 4603 mov r3, r0 8053bc0: 2b00 cmp r3, #0 8053bc2: d116 bne.n 8053bf2 { memset(&StrRAM(i, 0), 0, 40); 8053bc4: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8053bc8: 4613 mov r3, r2 8053bca: 009b lsls r3, r3, #2 8053bcc: 4413 add r3, r2 8053bce: 00db lsls r3, r3, #3 8053bd0: 461a mov r2, r3 8053bd2: 4b23 ldr r3, [pc, #140] ; (8053c60 ) 8053bd4: 4413 add r3, r2 8053bd6: 2228 movs r2, #40 ; 0x28 8053bd8: 2100 movs r1, #0 8053bda: 4618 mov r0, r3 8053bdc: f07e f9e2 bl 80d1fa4 d = cbUnchecked; // Èìÿ ôàéëà èñêëþ÷èëè èç ñïèñêà óäàëÿåìûõ ôàéëîâ 8053be0: 2300 movs r3, #0 8053be2: f8c7 30bc str.w r3, [r7, #188] ; 0xbc NumFilesDelete--; 8053be6: 4b1d ldr r3, [pc, #116] ; (8053c5c ) 8053be8: 681b ldr r3, [r3, #0] 8053bea: 3b01 subs r3, #1 8053bec: 4a1b ldr r2, [pc, #108] ; (8053c5c ) 8053bee: 6013 str r3, [r2, #0] break; 8053bf0: e009 b.n 8053c06 for(i = 0; i < MAX_CHECKED_FILES; i++) 8053bf2: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8053bf6: 3301 adds r3, #1 8053bf8: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8053bfc: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8053c00: f5b3 7f00 cmp.w r3, #512 ; 0x200 8053c04: d3c5 bcc.n 8053b92 } } } if(d == cbChecked) // Åñëè èìÿ ôàéëà âêëþ÷èëè â ñïèñîê óäàëÿåìûõ ôàéëîâ 8053c06: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8053c0a: 2b01 cmp r3, #1 8053c0c: f040 80c8 bne.w 8053da0 { // Èùåì ïåðâóþ ñâîáîäíóþ ÿ÷åéêó â áóôåðå if(NumFilesDelete < MAX_CHECKED_FILES) 8053c10: 4b12 ldr r3, [pc, #72] ; (8053c5c ) 8053c12: 681b ldr r3, [r3, #0] 8053c14: f5b3 7f00 cmp.w r3, #512 ; 0x200 8053c18: f080 80c2 bcs.w 8053da0 { for(i = 0; i < MAX_CHECKED_FILES; i++) 8053c1c: 2300 movs r3, #0 8053c1e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8053c22: e04e b.n 8053cc2 8053c24: 20020070 .word 0x20020070 8053c28: 20020fd0 .word 0x20020fd0 8053c2c: 20023eb8 .word 0x20023eb8 8053c30: 40020800 .word 0x40020800 8053c34: 20020fc3 .word 0x20020fc3 8053c38: 2002169c .word 0x2002169c 8053c3c: 20020dec .word 0x20020dec 8053c40: 200216dc .word 0x200216dc 8053c44: 20020df2 .word 0x20020df2 8053c48: 20020dfd .word 0x20020dfd 8053c4c: 20020df1 .word 0x20020df1 8053c50: 20020fc5 .word 0x20020fc5 8053c54: 20020e00 .word 0x20020e00 8053c58: 200223a0 .word 0x200223a0 8053c5c: 20020e30 .word 0x20020e30 8053c60: 6404b000 .word 0x6404b000 { if(StrRAM(i, 0) == 0) 8053c64: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8053c68: 4613 mov r3, r2 8053c6a: 009b lsls r3, r3, #2 8053c6c: 4413 add r3, r2 8053c6e: 00db lsls r3, r3, #3 8053c70: 461a mov r2, r3 8053c72: 4bb0 ldr r3, [pc, #704] ; (8053f34 ) 8053c74: 4413 add r3, r2 8053c76: 781b ldrb r3, [r3, #0] 8053c78: 2b00 cmp r3, #0 8053c7a: d11d bne.n 8053cb8 { strcpy(&StrRAM(i, 0), ExplorerFiles[CursorIndex].fname); 8053c7c: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8053c80: 4613 mov r3, r2 8053c82: 009b lsls r3, r3, #2 8053c84: 4413 add r3, r2 8053c86: 00db lsls r3, r3, #3 8053c88: 461a mov r2, r3 8053c8a: 4baa ldr r3, [pc, #680] ; (8053f34 ) 8053c8c: 4413 add r3, r2 8053c8e: 4618 mov r0, r3 8053c90: 4ba9 ldr r3, [pc, #676] ; (8053f38 ) 8053c92: 681a ldr r2, [r3, #0] 8053c94: 4613 mov r3, r2 8053c96: 00db lsls r3, r3, #3 8053c98: 1a9b subs r3, r3, r2 8053c9a: 00db lsls r3, r3, #3 8053c9c: 3308 adds r3, #8 8053c9e: 4aa7 ldr r2, [pc, #668] ; (8053f3c ) 8053ca0: 4413 add r3, r2 8053ca2: 3304 adds r3, #4 8053ca4: 4619 mov r1, r3 8053ca6: f07e fa9a bl 80d21de NumFilesDelete++; 8053caa: 4ba5 ldr r3, [pc, #660] ; (8053f40 ) 8053cac: 681b ldr r3, [r3, #0] 8053cae: 3301 adds r3, #1 8053cb0: 4aa3 ldr r2, [pc, #652] ; (8053f40 ) 8053cb2: 6013 str r3, [r2, #0] break; 8053cb4: bf00 nop } } } } } break; 8053cb6: e073 b.n 8053da0 for(i = 0; i < MAX_CHECKED_FILES; i++) 8053cb8: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8053cbc: 3301 adds r3, #1 8053cbe: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8053cc2: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8053cc6: f5b3 7f00 cmp.w r3, #512 ; 0x200 8053cca: d3cb bcc.n 8053c64 break; 8053ccc: e068 b.n 8053da0 case CleanUp: menupos = UpNo; break; 8053cce: 4b9d ldr r3, [pc, #628] ; (8053f44 ) 8053cd0: 2206 movs r2, #6 8053cd2: 701a strb r2, [r3, #0] 8053cd4: e068 b.n 8053da8 case UpNo: menupos = FilesPTM; break; 8053cd6: 4b9b ldr r3, [pc, #620] ; (8053f44 ) 8053cd8: 2202 movs r2, #2 8053cda: 701a strb r2, [r3, #0] 8053cdc: e064 b.n 8053da8 case UpYes: STATUS = AP_OK; 8053cde: 4b9a ldr r3, [pc, #616] ; (8053f48 ) 8053ce0: 2200 movs r2, #0 8053ce2: 601a str r2, [r3, #0] CleanStatus = AP_OK; 8053ce4: 4b99 ldr r3, [pc, #612] ; (8053f4c ) 8053ce6: 2200 movs r2, #0 8053ce8: 701a strb r2, [r3, #0] NeedClean = 1; 8053cea: 4b99 ldr r3, [pc, #612] ; (8053f50 ) 8053cec: 2201 movs r2, #1 8053cee: 701a strb r2, [r3, #0] menupos = CleanUpResult; 8053cf0: 4b94 ldr r3, [pc, #592] ; (8053f44 ) 8053cf2: 220a movs r2, #10 8053cf4: 701a strb r2, [r3, #0] break; 8053cf6: e057 b.n 8053da8 case CleanAll: menupos = AllNo; break; 8053cf8: 4b92 ldr r3, [pc, #584] ; (8053f44 ) 8053cfa: 2208 movs r2, #8 8053cfc: 701a strb r2, [r3, #0] 8053cfe: e053 b.n 8053da8 case AllNo: menupos = CleanAll; break; 8053d00: 4b90 ldr r3, [pc, #576] ; (8053f44 ) 8053d02: 2205 movs r2, #5 8053d04: 701a strb r2, [r3, #0] 8053d06: e04f b.n 8053da8 case AllYes: STATUS = AP_OK; 8053d08: 4b8f ldr r3, [pc, #572] ; (8053f48 ) 8053d0a: 2200 movs r2, #0 8053d0c: 601a str r2, [r3, #0] CleanStatus = AP_OK; 8053d0e: 4b8f ldr r3, [pc, #572] ; (8053f4c ) 8053d10: 2200 movs r2, #0 8053d12: 701a strb r2, [r3, #0] NeedClean = 255; 8053d14: 4b8e ldr r3, [pc, #568] ; (8053f50 ) 8053d16: 22ff movs r2, #255 ; 0xff 8053d18: 701a strb r2, [r3, #0] menupos = CleanAllResult; 8053d1a: 4b8a ldr r3, [pc, #552] ; (8053f44 ) 8053d1c: 220b movs r2, #11 8053d1e: 701a strb r2, [r3, #0] break; 8053d20: e042 b.n 8053da8 case CleanUpResult: if(NeedClean == 0) 8053d22: 4b8b ldr r3, [pc, #556] ; (8053f50 ) 8053d24: 781b ldrb r3, [r3, #0] 8053d26: b2db uxtb r3, r3 8053d28: 2b00 cmp r3, #0 8053d2a: d13c bne.n 8053da6 { result = FR_NOT_READY; 8053d2c: 2303 movs r3, #3 8053d2e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8053d32: 4b88 ldr r3, [pc, #544] ; (8053f54 ) 8053d34: 781b ldrb r3, [r3, #0] 8053d36: b2db uxtb r3, r3 8053d38: 2b03 cmp r3, #3 8053d3a: d134 bne.n 8053da6 { CursorIndex = 0; 8053d3c: 4b7e ldr r3, [pc, #504] ; (8053f38 ) 8053d3e: 2200 movs r2, #0 8053d40: 601a str r2, [r3, #0] FirstFileIndex = 0; 8053d42: 4b85 ldr r3, [pc, #532] ; (8053f58 ) 8053d44: 2200 movs r2, #0 8053d46: 601a str r2, [r3, #0] RealFileIndex = 0; 8053d48: 4b84 ldr r3, [pc, #528] ; (8053f5c ) 8053d4a: 2200 movs r2, #0 8053d4c: 601a str r2, [r3, #0] result = ReadNumFilesPTM((uint32_t *) &NumFilesPTM); 8053d4e: 4884 ldr r0, [pc, #528] ; (8053f60 ) 8053d50: f7d5 fe48 bl 80299e4 8053d54: 4603 mov r3, r0 8053d56: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8053d5a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8053d5e: 2b00 cmp r3, #0 8053d60: d121 bne.n 8053da6 { result = ReadMyFilesPTM(FirstFileIndex); 8053d62: 4b7d ldr r3, [pc, #500] ; (8053f58 ) 8053d64: 681b ldr r3, [r3, #0] 8053d66: 4618 mov r0, r3 8053d68: f7d5 ff1e bl 8029ba8 8053d6c: 4603 mov r3, r0 8053d6e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8053d72: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8053d76: 2b00 cmp r3, #0 8053d78: d115 bne.n 8053da6 { menu = CLEAN_FILES; 8053d7a: 4b7a ldr r3, [pc, #488] ; (8053f64 ) 8053d7c: 2219 movs r2, #25 8053d7e: 701a strb r2, [r3, #0] if(NumFilesPTM) menupos = FilesPTM; 8053d80: 4b77 ldr r3, [pc, #476] ; (8053f60 ) 8053d82: 681b ldr r3, [r3, #0] 8053d84: 2b00 cmp r3, #0 8053d86: d003 beq.n 8053d90 8053d88: 4b6e ldr r3, [pc, #440] ; (8053f44 ) 8053d8a: 2202 movs r2, #2 8053d8c: 701a strb r2, [r3, #0] else menupos = NoFilesPTM; } } } } break; 8053d8e: e00a b.n 8053da6 else menupos = NoFilesPTM; 8053d90: 4b6c ldr r3, [pc, #432] ; (8053f44 ) 8053d92: 2201 movs r2, #1 8053d94: 701a strb r2, [r3, #0] break; 8053d96: e006 b.n 8053da6 case CleanAllResult: menupos = CleanAll; 8053d98: 4b6a ldr r3, [pc, #424] ; (8053f44 ) 8053d9a: 2205 movs r2, #5 8053d9c: 701a strb r2, [r3, #0] break; 8053d9e: e003 b.n 8053da8 break; 8053da0: bf00 nop 8053da2: f000 bccd b.w 8054740 break; 8053da6: bf00 nop } break; 8053da8: f000 bcca b.w 8054740 case DATETIME: switch(menupos) 8053dac: 4b65 ldr r3, [pc, #404] ; (8053f44 ) 8053dae: 781b ldrb r3, [r3, #0] 8053db0: b2db uxtb r3, r3 8053db2: 3b01 subs r3, #1 8053db4: 2b06 cmp r3, #6 8053db6: f200 84c5 bhi.w 8054744 8053dba: a201 add r2, pc, #4 ; (adr r2, 8053dc0 ) 8053dbc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8053dc0: 08053ddd .word 0x08053ddd 8053dc4: 08053de5 .word 0x08053de5 8053dc8: 08053ded .word 0x08053ded 8053dcc: 08053ded .word 0x08053ded 8053dd0: 08053ded .word 0x08053ded 8053dd4: 08053df5 .word 0x08053df5 8053dd8: 08053df5 .word 0x08053df5 { case DateAll: menupos = DateD; 8053ddc: 4b59 ldr r3, [pc, #356] ; (8053f44 ) 8053dde: 2203 movs r2, #3 8053de0: 701a strb r2, [r3, #0] break; 8053de2: e00b b.n 8053dfc case TimeAll: menupos = TimeH; 8053de4: 4b57 ldr r3, [pc, #348] ; (8053f44 ) 8053de6: 2206 movs r2, #6 8053de8: 701a strb r2, [r3, #0] break; 8053dea: e007 b.n 8053dfc case DateD: case DateM: case DateY: menupos = DateAll; 8053dec: 4b55 ldr r3, [pc, #340] ; (8053f44 ) 8053dee: 2201 movs r2, #1 8053df0: 701a strb r2, [r3, #0] break; 8053df2: e003 b.n 8053dfc case TimeH: case TimeM: menupos = TimeAll; 8053df4: 4b53 ldr r3, [pc, #332] ; (8053f44 ) 8053df6: 2202 movs r2, #2 8053df8: 701a strb r2, [r3, #0] break; 8053dfa: bf00 nop } break; 8053dfc: f000 bca2 b.w 8054744 case CALIBR_0: if(menupos == 1) 8053e00: 4b50 ldr r3, [pc, #320] ; (8053f44 ) 8053e02: 781b ldrb r3, [r3, #0] 8053e04: b2db uxtb r3, r3 8053e06: 2b01 cmp r3, #1 8053e08: d10c bne.n 8053e24 { if(measuring) 8053e0a: 4b57 ldr r3, [pc, #348] ; (8053f68 ) 8053e0c: 781b ldrb r3, [r3, #0] 8053e0e: b2db uxtb r3, r3 8053e10: 2b00 cmp r3, #0 8053e12: d003 beq.n 8053e1c StopMeas(); 8053e14: f7cf fcc2 bl 802379c clbr = false; menu = OPTIONS; menupos = Mode; } } break; 8053e18: f000 bc99 b.w 805474e else StartMeas(); 8053e1c: f7cf f90e bl 802303c break; 8053e20: f000 bc95 b.w 805474e if(measuring) 8053e24: 4b50 ldr r3, [pc, #320] ; (8053f68 ) 8053e26: 781b ldrb r3, [r3, #0] 8053e28: b2db uxtb r3, r3 8053e2a: 2b00 cmp r3, #0 8053e2c: d001 beq.n 8053e32 StopMeas(); 8053e2e: f7cf fcb5 bl 802379c if(menupos == 2) 8053e32: 4b44 ldr r3, [pc, #272] ; (8053f44 ) 8053e34: 781b ldrb r3, [r3, #0] 8053e36: b2db uxtb r3, r3 8053e38: 2b02 cmp r3, #2 8053e3a: d111 bne.n 8053e60 menu++; 8053e3c: 4b49 ldr r3, [pc, #292] ; (8053f64 ) 8053e3e: 781b ldrb r3, [r3, #0] 8053e40: b2db uxtb r3, r3 8053e42: 3301 adds r3, #1 8053e44: b2da uxtb r2, r3 8053e46: 4b47 ldr r3, [pc, #284] ; (8053f64 ) 8053e48: 701a strb r2, [r3, #0] menupos = 1; 8053e4a: 4b3e ldr r3, [pc, #248] ; (8053f44 ) 8053e4c: 2201 movs r2, #1 8053e4e: 701a strb r2, [r3, #0] initAmplif(); 8053e50: f7cd fe20 bl 8021a94 skz[ACC] = 0.0f; 8053e54: 4b45 ldr r3, [pc, #276] ; (8053f6c ) 8053e56: f04f 0200 mov.w r2, #0 8053e5a: 601a str r2, [r3, #0] break; 8053e5c: f000 bc77 b.w 805474e clbr = false; 8053e60: 4b43 ldr r3, [pc, #268] ; (8053f70 ) 8053e62: 2200 movs r2, #0 8053e64: 701a strb r2, [r3, #0] menu = OPTIONS; 8053e66: 4b3f ldr r3, [pc, #252] ; (8053f64 ) 8053e68: 2201 movs r2, #1 8053e6a: 701a strb r2, [r3, #0] menupos = Mode; 8053e6c: 4b35 ldr r3, [pc, #212] ; (8053f44 ) 8053e6e: 2201 movs r2, #1 8053e70: 701a strb r2, [r3, #0] break; 8053e72: f000 bc6c b.w 805474e case CALIBR_00: menupos = 1; 8053e76: 4b33 ldr r3, [pc, #204] ; (8053f44 ) 8053e78: 2201 movs r2, #1 8053e7a: 701a strb r2, [r3, #0] menu++; 8053e7c: 4b39 ldr r3, [pc, #228] ; (8053f64 ) 8053e7e: 781b ldrb r3, [r3, #0] 8053e80: b2db uxtb r3, r3 8053e82: 3301 adds r3, #1 8053e84: b2da uxtb r2, r3 8053e86: 4b37 ldr r3, [pc, #220] ; (8053f64 ) 8053e88: 701a strb r2, [r3, #0] initAmplif(); 8053e8a: f7cd fe03 bl 8021a94 break; 8053e8e: f000 bc5e b.w 805474e case CALIBR_4: case CALIBR_5: case CALIBR_6: case CALIBR_7: case CALIBR_8: if(menupos == 1) 8053e92: 4b2c ldr r3, [pc, #176] ; (8053f44 ) 8053e94: 781b ldrb r3, [r3, #0] 8053e96: b2db uxtb r3, r3 8053e98: 2b01 cmp r3, #1 8053e9a: d10c bne.n 8053eb6 { if(measuring) 8053e9c: 4b32 ldr r3, [pc, #200] ; (8053f68 ) 8053e9e: 781b ldrb r3, [r3, #0] 8053ea0: b2db uxtb r3, r3 8053ea2: 2b00 cmp r3, #0 8053ea4: d003 beq.n 8053eae StopMeas(); 8053ea6: f7cf fc79 bl 802379c initAmplif(); skz[ACC] = 0.0f; } } break; 8053eaa: f000 bc50 b.w 805474e else StartMeas(); 8053eae: f7cf f8c5 bl 802303c break; 8053eb2: f000 bc4c b.w 805474e if(measuring) 8053eb6: 4b2c ldr r3, [pc, #176] ; (8053f68 ) 8053eb8: 781b ldrb r3, [r3, #0] 8053eba: b2db uxtb r3, r3 8053ebc: 2b00 cmp r3, #0 8053ebe: d001 beq.n 8053ec4 StopMeas(); 8053ec0: f7cf fc6c bl 802379c if(menupos == 0) 8053ec4: 4b1f ldr r3, [pc, #124] ; (8053f44 ) 8053ec6: 781b ldrb r3, [r3, #0] 8053ec8: b2db uxtb r3, r3 8053eca: 2b00 cmp r3, #0 8053ecc: d10d bne.n 8053eea menu--; 8053ece: 4b25 ldr r3, [pc, #148] ; (8053f64 ) 8053ed0: 781b ldrb r3, [r3, #0] 8053ed2: b2db uxtb r3, r3 8053ed4: 3b01 subs r3, #1 8053ed6: b2da uxtb r2, r3 8053ed8: 4b22 ldr r3, [pc, #136] ; (8053f64 ) 8053eda: 701a strb r2, [r3, #0] menupos = 1; 8053edc: 4b19 ldr r3, [pc, #100] ; (8053f44 ) 8053ede: 2201 movs r2, #1 8053ee0: 701a strb r2, [r3, #0] initAmplif(); 8053ee2: f7cd fdd7 bl 8021a94 break; 8053ee6: f000 bc32 b.w 805474e menu++; 8053eea: 4b1e ldr r3, [pc, #120] ; (8053f64 ) 8053eec: 781b ldrb r3, [r3, #0] 8053eee: b2db uxtb r3, r3 8053ef0: 3301 adds r3, #1 8053ef2: b2da uxtb r2, r3 8053ef4: 4b1b ldr r3, [pc, #108] ; (8053f64 ) 8053ef6: 701a strb r2, [r3, #0] menupos = 1; 8053ef8: 4b12 ldr r3, [pc, #72] ; (8053f44 ) 8053efa: 2201 movs r2, #1 8053efc: 701a strb r2, [r3, #0] initAmplif(); 8053efe: f7cd fdc9 bl 8021a94 skz[ACC] = 0.0f; 8053f02: 4b1a ldr r3, [pc, #104] ; (8053f6c ) 8053f04: f04f 0200 mov.w r2, #0 8053f08: 601a str r2, [r3, #0] break; 8053f0a: f000 bc20 b.w 805474e case CALIBR_9: if(menupos == 0) 8053f0e: 4b0d ldr r3, [pc, #52] ; (8053f44 ) 8053f10: 781b ldrb r3, [r3, #0] 8053f12: b2db uxtb r3, r3 8053f14: 2b00 cmp r3, #0 8053f16: d12d bne.n 8053f74 { menu--; 8053f18: 4b12 ldr r3, [pc, #72] ; (8053f64 ) 8053f1a: 781b ldrb r3, [r3, #0] 8053f1c: b2db uxtb r3, r3 8053f1e: 3b01 subs r3, #1 8053f20: b2da uxtb r2, r3 8053f22: 4b10 ldr r3, [pc, #64] ; (8053f64 ) 8053f24: 701a strb r2, [r3, #0] menupos = 1; 8053f26: 4b07 ldr r3, [pc, #28] ; (8053f44 ) 8053f28: 2201 movs r2, #1 8053f2a: 701a strb r2, [r3, #0] initAmplif(); 8053f2c: f7cd fdb2 bl 8021a94 { menu++; menupos = 1; Acorr[0] = Vbat; } break; 8053f30: f000 bc0d b.w 805474e 8053f34: 6404b000 .word 0x6404b000 8053f38: 20020e00 .word 0x20020e00 8053f3c: 200223a0 .word 0x200223a0 8053f40: 20020e30 .word 0x20020e30 8053f44: 20020070 .word 0x20020070 8053f48: 20020dec .word 0x20020dec 8053f4c: 20020df0 .word 0x20020df0 8053f50: 20020dfc .word 0x20020dfc 8053f54: 2002169c .word 0x2002169c 8053f58: 20020e04 .word 0x20020e04 8053f5c: 20020e08 .word 0x20020e08 8053f60: 20020e14 .word 0x20020e14 8053f64: 20020fc5 .word 0x20020fc5 8053f68: 20020dcf .word 0x20020dcf 8053f6c: 20021590 .word 0x20021590 8053f70: 20020f90 .word 0x20020f90 menu++; 8053f74: 4baa ldr r3, [pc, #680] ; (8054220 ) 8053f76: 781b ldrb r3, [r3, #0] 8053f78: b2db uxtb r3, r3 8053f7a: 3301 adds r3, #1 8053f7c: b2da uxtb r2, r3 8053f7e: 4ba8 ldr r3, [pc, #672] ; (8054220 ) 8053f80: 701a strb r2, [r3, #0] menupos = 1; 8053f82: 4ba8 ldr r3, [pc, #672] ; (8054224 ) 8053f84: 2201 movs r2, #1 8053f86: 701a strb r2, [r3, #0] Acorr[0] = Vbat; 8053f88: 4ba7 ldr r3, [pc, #668] ; (8054228 ) 8053f8a: 681b ldr r3, [r3, #0] 8053f8c: 4aa7 ldr r2, [pc, #668] ; (805422c ) 8053f8e: 6013 str r3, [r2, #0] break; 8053f90: e3dd b.n 805474e case CALIBR_10: if(menupos == 0) 8053f92: 4ba4 ldr r3, [pc, #656] ; (8054224 ) 8053f94: 781b ldrb r3, [r3, #0] 8053f96: b2db uxtb r3, r3 8053f98: 2b00 cmp r3, #0 8053f9a: d10a bne.n 8053fb2 { menu--; 8053f9c: 4ba0 ldr r3, [pc, #640] ; (8054220 ) 8053f9e: 781b ldrb r3, [r3, #0] 8053fa0: b2db uxtb r3, r3 8053fa2: 3b01 subs r3, #1 8053fa4: b2da uxtb r2, r3 8053fa6: 4b9e ldr r3, [pc, #632] ; (8054220 ) 8053fa8: 701a strb r2, [r3, #0] menupos = 0; 8053faa: 4b9e ldr r3, [pc, #632] ; (8054224 ) 8053fac: 2200 movs r2, #0 8053fae: 701a strb r2, [r3, #0] { menu++; menupos = 1; Acorr[1] = Vbat; } break; 8053fb0: e3cd b.n 805474e menu++; 8053fb2: 4b9b ldr r3, [pc, #620] ; (8054220 ) 8053fb4: 781b ldrb r3, [r3, #0] 8053fb6: b2db uxtb r3, r3 8053fb8: 3301 adds r3, #1 8053fba: b2da uxtb r2, r3 8053fbc: 4b98 ldr r3, [pc, #608] ; (8054220 ) 8053fbe: 701a strb r2, [r3, #0] menupos = 1; 8053fc0: 4b98 ldr r3, [pc, #608] ; (8054224 ) 8053fc2: 2201 movs r2, #1 8053fc4: 701a strb r2, [r3, #0] Acorr[1] = Vbat; 8053fc6: 4b98 ldr r3, [pc, #608] ; (8054228 ) 8053fc8: 681b ldr r3, [r3, #0] 8053fca: 4a98 ldr r2, [pc, #608] ; (805422c ) 8053fcc: 6053 str r3, [r2, #4] break; 8053fce: e3be b.n 805474e case CALIBR_11: if(menupos == 0) 8053fd0: 4b94 ldr r3, [pc, #592] ; (8054224 ) 8053fd2: 781b ldrb r3, [r3, #0] 8053fd4: b2db uxtb r3, r3 8053fd6: 2b00 cmp r3, #0 8053fd8: d10a bne.n 8053ff0 { menu--; 8053fda: 4b91 ldr r3, [pc, #580] ; (8054220 ) 8053fdc: 781b ldrb r3, [r3, #0] 8053fde: b2db uxtb r3, r3 8053fe0: 3b01 subs r3, #1 8053fe2: b2da uxtb r2, r3 8053fe4: 4b8e ldr r3, [pc, #568] ; (8054220 ) 8053fe6: 701a strb r2, [r3, #0] menupos = 0; 8053fe8: 4b8e ldr r3, [pc, #568] ; (8054224 ) 8053fea: 2200 movs r2, #0 8053fec: 701a strb r2, [r3, #0] clbr = false; menu = OPTIONS; menupos = Mode; } break; 8053fee: e3ae b.n 805474e for(i = 0; i < 9; i++) 8053ff0: 2300 movs r3, #0 8053ff2: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8053ff6: e05b b.n 80540b0 if((Kcorr[i] <= 0.0f) || (Kcorr[i] > 2.0f)) { 8053ff8: 4a8d ldr r2, [pc, #564] ; (8054230 ) 8053ffa: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8053ffe: 009b lsls r3, r3, #2 8054000: 4413 add r3, r2 8054002: edd3 7a00 vldr s15, [r3] 8054006: eef5 7ac0 vcmpe.f32 s15, #0.0 805400a: eef1 fa10 vmrs APSR_nzcv, fpscr 805400e: d90d bls.n 805402c 8054010: 4a87 ldr r2, [pc, #540] ; (8054230 ) 8054012: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8054016: 009b lsls r3, r3, #2 8054018: 4413 add r3, r2 805401a: edd3 7a00 vldr s15, [r3] 805401e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8054022: eef4 7ac7 vcmpe.f32 s15, s14 8054026: eef1 fa10 vmrs APSR_nzcv, fpscr 805402a: dd07 ble.n 805403c Kcorr[i] = 1.0f; 805402c: 4a80 ldr r2, [pc, #512] ; (8054230 ) 805402e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8054032: 009b lsls r3, r3, #2 8054034: 4413 add r3, r2 8054036: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 805403a: 601a str r2, [r3, #0] pardata.CORR_KU[i] = Kcorr[i]; 805403c: 4a7c ldr r2, [pc, #496] ; (8054230 ) 805403e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8054042: 009b lsls r3, r3, #2 8054044: 4413 add r3, r2 8054046: 681a ldr r2, [r3, #0] 8054048: 497a ldr r1, [pc, #488] ; (8054234 ) 805404a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 805404e: 3306 adds r3, #6 8054050: 009b lsls r3, r3, #2 8054052: 440b add r3, r1 8054054: 3304 adds r3, #4 8054056: 601a str r2, [r3, #0] corrdata.CORR_ACC[i] = Kcorr[i]; 8054058: 4a75 ldr r2, [pc, #468] ; (8054230 ) 805405a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 805405e: 009b lsls r3, r3, #2 8054060: 4413 add r3, r2 8054062: 681a ldr r2, [r3, #0] 8054064: 4974 ldr r1, [pc, #464] ; (8054238 ) 8054066: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 805406a: 009b lsls r3, r3, #2 805406c: 440b add r3, r1 805406e: 601a str r2, [r3, #0] corrdata.CORR_VEL[i] = Kcorr[i]; 8054070: 4a6f ldr r2, [pc, #444] ; (8054230 ) 8054072: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8054076: 009b lsls r3, r3, #2 8054078: 4413 add r3, r2 805407a: 681a ldr r2, [r3, #0] 805407c: 496e ldr r1, [pc, #440] ; (8054238 ) 805407e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8054082: 3308 adds r3, #8 8054084: 009b lsls r3, r3, #2 8054086: 440b add r3, r1 8054088: 3304 adds r3, #4 805408a: 601a str r2, [r3, #0] corrdata.CORR_DIS[i] = Kcorr[i]; 805408c: 4a68 ldr r2, [pc, #416] ; (8054230 ) 805408e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8054092: 009b lsls r3, r3, #2 8054094: 4413 add r3, r2 8054096: 681a ldr r2, [r3, #0] 8054098: 4967 ldr r1, [pc, #412] ; (8054238 ) 805409a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 805409e: 3312 adds r3, #18 80540a0: 009b lsls r3, r3, #2 80540a2: 440b add r3, r1 80540a4: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) 80540a6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80540aa: 3301 adds r3, #1 80540ac: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80540b0: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80540b4: 2b08 cmp r3, #8 80540b6: d99f bls.n 8053ff8 Acorr[0] = (4.20f - 3.50f) / (Acorr[1] - Acorr[0]); 80540b8: 4b5c ldr r3, [pc, #368] ; (805422c ) 80540ba: ed93 7a01 vldr s14, [r3, #4] 80540be: 4b5b ldr r3, [pc, #364] ; (805422c ) 80540c0: edd3 7a00 vldr s15, [r3] 80540c4: ee37 7a67 vsub.f32 s14, s14, s15 80540c8: eddf 6a5c vldr s13, [pc, #368] ; 805423c 80540cc: eec6 7a87 vdiv.f32 s15, s13, s14 80540d0: 4b56 ldr r3, [pc, #344] ; (805422c ) 80540d2: edc3 7a00 vstr s15, [r3] Acorr[1] = 4.20f - (Acorr[1] * Acorr[0]); 80540d6: 4b55 ldr r3, [pc, #340] ; (805422c ) 80540d8: ed93 7a01 vldr s14, [r3, #4] 80540dc: 4b53 ldr r3, [pc, #332] ; (805422c ) 80540de: edd3 7a00 vldr s15, [r3] 80540e2: ee67 7a27 vmul.f32 s15, s14, s15 80540e6: ed9f 7a56 vldr s14, [pc, #344] ; 8054240 80540ea: ee77 7a67 vsub.f32 s15, s14, s15 80540ee: 4b4f ldr r3, [pc, #316] ; (805422c ) 80540f0: edc3 7a01 vstr s15, [r3, #4] aa1 = Acorr[0]; 80540f4: 4b4d ldr r3, [pc, #308] ; (805422c ) 80540f6: 681b ldr r3, [r3, #0] 80540f8: 4a52 ldr r2, [pc, #328] ; (8054244 ) 80540fa: 6013 str r3, [r2, #0] aa0 = Acorr[1]; 80540fc: 4b4b ldr r3, [pc, #300] ; (805422c ) 80540fe: 685b ldr r3, [r3, #4] 8054100: 4a51 ldr r2, [pc, #324] ; (8054248 ) 8054102: 6013 str r3, [r2, #0] memcpy((void *) _SERIAL, (void *) Serial, sizeof(Serial)); 8054104: 4b51 ldr r3, [pc, #324] ; (805424c ) 8054106: 4a52 ldr r2, [pc, #328] ; (8054250 ) 8054108: 6811 ldr r1, [r2, #0] 805410a: 6852 ldr r2, [r2, #4] 805410c: 6019 str r1, [r3, #0] 805410e: 605a str r2, [r3, #4] wrCorr(); 8054110: f7db fa2a bl 802f568 wrPar(); 8054114: f7da fe80 bl 802ee18 clbr = false; 8054118: 4b4e ldr r3, [pc, #312] ; (8054254 ) 805411a: 2200 movs r2, #0 805411c: 701a strb r2, [r3, #0] menu = OPTIONS; 805411e: 4b40 ldr r3, [pc, #256] ; (8054220 ) 8054120: 2201 movs r2, #1 8054122: 701a strb r2, [r3, #0] menupos = Mode; 8054124: 4b3f ldr r3, [pc, #252] ; (8054224 ) 8054126: 2201 movs r2, #1 8054128: 701a strb r2, [r3, #0] break; 805412a: e310 b.n 805474e case CALIBR_OFFSET: FLAG_CALC_MEAN = false; 805412c: 4b4a ldr r3, [pc, #296] ; (8054258 ) 805412e: 2200 movs r2, #0 8054130: 701a strb r2, [r3, #0] MAX11270_StopMeas(); 8054132: f002 fcb5 bl 8056aa0 MEAN = MEAN_TEMP; 8054136: 4b49 ldr r3, [pc, #292] ; (805425c ) 8054138: 681b ldr r3, [r3, #0] 805413a: 4a49 ldr r2, [pc, #292] ; (8054260 ) 805413c: 6013 str r3, [r2, #0] wrCorr(); 805413e: f7db fa13 bl 802f568 menu = OPTIONS; 8054142: 4b37 ldr r3, [pc, #220] ; (8054220 ) 8054144: 2201 movs r2, #1 8054146: 701a strb r2, [r3, #0] menupos = Mode; 8054148: 4b36 ldr r3, [pc, #216] ; (8054224 ) 805414a: 2201 movs r2, #1 805414c: 701a strb r2, [r3, #0] break; 805414e: e2fe b.n 805474e case ARCHIVE: switch(menupos) 8054150: 4b34 ldr r3, [pc, #208] ; (8054224 ) 8054152: 781b ldrb r3, [r3, #0] 8054154: b2db uxtb r3, r3 8054156: 2b01 cmp r3, #1 8054158: d003 beq.n 8054162 805415a: 2b02 cmp r3, #2 805415c: f000 8094 beq.w 8054288 timerStatus = sec2; DrawStatus = true; } break; } break; 8054160: e2f5 b.n 805474e result = FR_NOT_READY; 8054162: 2303 movs r3, #3 8054164: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8054168: 4b3e ldr r3, [pc, #248] ; (8054264 ) 805416a: 781b ldrb r3, [r3, #0] 805416c: b2db uxtb r3, r3 805416e: 2b03 cmp r3, #3 8054170: d134 bne.n 80541dc CursorIndex = 0; 8054172: 4b3d ldr r3, [pc, #244] ; (8054268 ) 8054174: 2200 movs r2, #0 8054176: 601a str r2, [r3, #0] FirstFileIndex = 0; 8054178: 4b3c ldr r3, [pc, #240] ; (805426c ) 805417a: 2200 movs r2, #0 805417c: 601a str r2, [r3, #0] RealFileIndex = 0; 805417e: 4b3c ldr r3, [pc, #240] ; (8054270 ) 8054180: 2200 movs r2, #0 8054182: 601a str r2, [r3, #0] result = ReadNumFilesFRAN((uint32_t *) &NumFilesFRAN); 8054184: 483b ldr r0, [pc, #236] ; (8054274 ) 8054186: f7d5 fc6f bl 8029a68 805418a: 4603 mov r3, r0 805418c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8054190: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8054194: 2b00 cmp r3, #0 8054196: f040 80d2 bne.w 805433e result = ReadMyFilesFRAN(FirstFileIndex); 805419a: 4b34 ldr r3, [pc, #208] ; (805426c ) 805419c: 681b ldr r3, [r3, #0] 805419e: 4618 mov r0, r3 80541a0: f7d5 fd29 bl 8029bf6 80541a4: 4603 mov r3, r0 80541a6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80541aa: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80541ae: 2b00 cmp r3, #0 80541b0: f040 80c5 bne.w 805433e menu = ARCHIVE_FRAN; 80541b4: 4b1a ldr r3, [pc, #104] ; (8054220 ) 80541b6: 2216 movs r2, #22 80541b8: 701a strb r2, [r3, #0] lastmenupos = menupos; 80541ba: 4b1a ldr r3, [pc, #104] ; (8054224 ) 80541bc: 781b ldrb r3, [r3, #0] 80541be: b2da uxtb r2, r3 80541c0: 4b2d ldr r3, [pc, #180] ; (8054278 ) 80541c2: 701a strb r2, [r3, #0] if(NumFilesFRAN) menupos = FilesFRAN; 80541c4: 4b2b ldr r3, [pc, #172] ; (8054274 ) 80541c6: 681b ldr r3, [r3, #0] 80541c8: 2b00 cmp r3, #0 80541ca: d003 beq.n 80541d4 80541cc: 4b15 ldr r3, [pc, #84] ; (8054224 ) 80541ce: 2202 movs r2, #2 80541d0: 701a strb r2, [r3, #0] break; 80541d2: e0b4 b.n 805433e else menupos = NoFilesFRAN; 80541d4: 4b13 ldr r3, [pc, #76] ; (8054224 ) 80541d6: 2201 movs r2, #1 80541d8: 701a strb r2, [r3, #0] break; 80541da: e0b0 b.n 805433e if(CardState == MSD_PRESENT) 80541dc: 4b21 ldr r3, [pc, #132] ; (8054264 ) 80541de: 781b ldrb r3, [r3, #0] 80541e0: b2db uxtb r3, r3 80541e2: 2b01 cmp r3, #1 80541e4: d10a bne.n 80541fc STATUS = AP_DISK_ERROR; 80541e6: 4b25 ldr r3, [pc, #148] ; (805427c ) 80541e8: 220b movs r2, #11 80541ea: 601a str r2, [r3, #0] timerStatus = sec2; 80541ec: 4b24 ldr r3, [pc, #144] ; (8054280 ) 80541ee: f44f 5280 mov.w r2, #4096 ; 0x1000 80541f2: 801a strh r2, [r3, #0] DrawStatus = true; 80541f4: 4b23 ldr r3, [pc, #140] ; (8054284 ) 80541f6: 2201 movs r2, #1 80541f8: 701a strb r2, [r3, #0] break; 80541fa: e0a0 b.n 805433e if(CardState == MSD_NOCARD) 80541fc: 4b19 ldr r3, [pc, #100] ; (8054264 ) 80541fe: 781b ldrb r3, [r3, #0] 8054200: b2db uxtb r3, r3 8054202: 2b00 cmp r3, #0 8054204: f040 809b bne.w 805433e STATUS = AP_NO_CARD; 8054208: 4b1c ldr r3, [pc, #112] ; (805427c ) 805420a: 2211 movs r2, #17 805420c: 601a str r2, [r3, #0] timerStatus = sec2; 805420e: 4b1c ldr r3, [pc, #112] ; (8054280 ) 8054210: f44f 5280 mov.w r2, #4096 ; 0x1000 8054214: 801a strh r2, [r3, #0] DrawStatus = true; 8054216: 4b1b ldr r3, [pc, #108] ; (8054284 ) 8054218: 2201 movs r2, #1 805421a: 701a strb r2, [r3, #0] break; 805421c: e08f b.n 805433e 805421e: bf00 nop 8054220: 20020fc5 .word 0x20020fc5 8054224: 20020070 .word 0x20020070 8054228: 20020000 .word 0x20020000 805422c: 2006855c .word 0x2006855c 8054230: 200261f4 .word 0x200261f4 8054234: 20023eb8 .word 0x20023eb8 8054238: 20024368 .word 0x20024368 805423c: 3f333330 .word 0x3f333330 8054240: 40866666 .word 0x40866666 8054244: 20020024 .word 0x20020024 8054248: 20020d6c .word 0x20020d6c 805424c: 20020f3c .word 0x20020f3c 8054250: 20026d64 .word 0x20026d64 8054254: 20020f90 .word 0x20020f90 8054258: 200216de .word 0x200216de 805425c: 200209dc .word 0x200209dc 8054260: 200209d8 .word 0x200209d8 8054264: 2002169c .word 0x2002169c 8054268: 20020e00 .word 0x20020e00 805426c: 20020e04 .word 0x20020e04 8054270: 20020e08 .word 0x20020e08 8054274: 20020e20 .word 0x20020e20 8054278: 20020071 .word 0x20020071 805427c: 20020dec .word 0x20020dec 8054280: 200216dc .word 0x200216dc 8054284: 20020df2 .word 0x20020df2 result = FR_NOT_READY; 8054288: 2303 movs r3, #3 805428a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 805428e: 4b9f ldr r3, [pc, #636] ; (805450c ) 8054290: 781b ldrb r3, [r3, #0] 8054292: b2db uxtb r3, r3 8054294: 2b03 cmp r3, #3 8054296: d132 bne.n 80542fe CursorIndex = 0; 8054298: 4b9d ldr r3, [pc, #628] ; (8054510 ) 805429a: 2200 movs r2, #0 805429c: 601a str r2, [r3, #0] FirstFileIndex = 0; 805429e: 4b9d ldr r3, [pc, #628] ; (8054514 ) 80542a0: 2200 movs r2, #0 80542a2: 601a str r2, [r3, #0] RealFileIndex = 0; 80542a4: 4b9c ldr r3, [pc, #624] ; (8054518 ) 80542a6: 2200 movs r2, #0 80542a8: 601a str r2, [r3, #0] result = ReadNumFilesGTR((uint32_t *) &NumFilesGTR); 80542aa: 489c ldr r0, [pc, #624] ; (805451c ) 80542ac: f7d5 fbf2 bl 8029a94 80542b0: 4603 mov r3, r0 80542b2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80542b6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80542ba: 2b00 cmp r3, #0 80542bc: d141 bne.n 8054342 result = ReadMyFilesGTR(FirstFileIndex); 80542be: 4b95 ldr r3, [pc, #596] ; (8054514 ) 80542c0: 681b ldr r3, [r3, #0] 80542c2: 4618 mov r0, r3 80542c4: f7d5 fca4 bl 8029c10 80542c8: 4603 mov r3, r0 80542ca: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80542ce: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80542d2: 2b00 cmp r3, #0 80542d4: d135 bne.n 8054342 menu = ARCHIVE_WAVE; 80542d6: 4b92 ldr r3, [pc, #584] ; (8054520 ) 80542d8: 2217 movs r2, #23 80542da: 701a strb r2, [r3, #0] lastmenupos = menupos; 80542dc: 4b91 ldr r3, [pc, #580] ; (8054524 ) 80542de: 781b ldrb r3, [r3, #0] 80542e0: b2da uxtb r2, r3 80542e2: 4b91 ldr r3, [pc, #580] ; (8054528 ) 80542e4: 701a strb r2, [r3, #0] if(NumFilesGTR) menupos = FilesGTR; 80542e6: 4b8d ldr r3, [pc, #564] ; (805451c ) 80542e8: 681b ldr r3, [r3, #0] 80542ea: 2b00 cmp r3, #0 80542ec: d003 beq.n 80542f6 80542ee: 4b8d ldr r3, [pc, #564] ; (8054524 ) 80542f0: 2202 movs r2, #2 80542f2: 701a strb r2, [r3, #0] break; 80542f4: e025 b.n 8054342 else menupos = NoFilesGTR; 80542f6: 4b8b ldr r3, [pc, #556] ; (8054524 ) 80542f8: 2201 movs r2, #1 80542fa: 701a strb r2, [r3, #0] break; 80542fc: e021 b.n 8054342 if(CardState == MSD_PRESENT) 80542fe: 4b83 ldr r3, [pc, #524] ; (805450c ) 8054300: 781b ldrb r3, [r3, #0] 8054302: b2db uxtb r3, r3 8054304: 2b01 cmp r3, #1 8054306: d10a bne.n 805431e STATUS = AP_DISK_ERROR; 8054308: 4b88 ldr r3, [pc, #544] ; (805452c ) 805430a: 220b movs r2, #11 805430c: 601a str r2, [r3, #0] timerStatus = sec2; 805430e: 4b88 ldr r3, [pc, #544] ; (8054530 ) 8054310: f44f 5280 mov.w r2, #4096 ; 0x1000 8054314: 801a strh r2, [r3, #0] DrawStatus = true; 8054316: 4b87 ldr r3, [pc, #540] ; (8054534 ) 8054318: 2201 movs r2, #1 805431a: 701a strb r2, [r3, #0] break; 805431c: e011 b.n 8054342 if(CardState == MSD_NOCARD) 805431e: 4b7b ldr r3, [pc, #492] ; (805450c ) 8054320: 781b ldrb r3, [r3, #0] 8054322: b2db uxtb r3, r3 8054324: 2b00 cmp r3, #0 8054326: d10c bne.n 8054342 STATUS = AP_NO_CARD; 8054328: 4b80 ldr r3, [pc, #512] ; (805452c ) 805432a: 2211 movs r2, #17 805432c: 601a str r2, [r3, #0] timerStatus = sec2; 805432e: 4b80 ldr r3, [pc, #512] ; (8054530 ) 8054330: f44f 5280 mov.w r2, #4096 ; 0x1000 8054334: 801a strh r2, [r3, #0] DrawStatus = true; 8054336: 4b7f ldr r3, [pc, #508] ; (8054534 ) 8054338: 2201 movs r2, #1 805433a: 701a strb r2, [r3, #0] break; 805433c: e001 b.n 8054342 break; 805433e: bf00 nop 8054340: e205 b.n 805474e break; 8054342: bf00 nop break; 8054344: e203 b.n 805474e case ARCHIVE_SPEC: HISTORY = false; 8054346: 4b7c ldr r3, [pc, #496] ; (8054538 ) 8054348: 2200 movs r2, #0 805434a: 701a strb r2, [r3, #0] if(menupos == FilesSPEC) 805434c: 4b75 ldr r3, [pc, #468] ; (8054524 ) 805434e: 781b ldrb r3, [r3, #0] 8054350: b2db uxtb r3, r3 8054352: 2b02 cmp r3, #2 8054354: d143 bne.n 80543de { memset(FileName, 0, sizeof(FileName)); 8054356: 2228 movs r2, #40 ; 0x28 8054358: 2100 movs r1, #0 805435a: 4878 ldr r0, [pc, #480] ; (805453c ) 805435c: f07d fe22 bl 80d1fa4 strcpy(FileName, (char *) ExplorerFiles[CursorIndex].fname); 8054360: 4b6b ldr r3, [pc, #428] ; (8054510 ) 8054362: 681a ldr r2, [r3, #0] 8054364: 4613 mov r3, r2 8054366: 00db lsls r3, r3, #3 8054368: 1a9b subs r3, r3, r2 805436a: 00db lsls r3, r3, #3 805436c: 3308 adds r3, #8 805436e: 4a74 ldr r2, [pc, #464] ; (8054540 ) 8054370: 4413 add r3, r2 8054372: 3304 adds r3, #4 8054374: 4619 mov r1, r3 8054376: 4871 ldr r0, [pc, #452] ; (805453c ) 8054378: f07d ff31 bl 80d21de result = ReadFileSPEC(FileName); 805437c: 486f ldr r0, [pc, #444] ; (805453c ) 805437e: f7d2 fb5f bl 8026a40 8054382: 4603 mov r3, r0 8054384: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8054388: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805438c: 2b00 cmp r3, #0 805438e: d10c bne.n 80543aa { menu = MAIN_SPEC; 8054390: 4b63 ldr r3, [pc, #396] ; (8054520 ) 8054392: 221c movs r2, #28 8054394: 701a strb r2, [r3, #0] menupos = BackMenu; 8054396: 4b63 ldr r3, [pc, #396] ; (8054524 ) 8054398: 2201 movs r2, #1 805439a: 701a strb r2, [r3, #0] HISTORY = true; 805439c: 4b66 ldr r3, [pc, #408] ; (8054538 ) 805439e: 2201 movs r2, #1 80543a0: 701a strb r2, [r3, #0] FIRST = false; 80543a2: 4b68 ldr r3, [pc, #416] ; (8054544 ) 80543a4: 2200 movs r2, #0 80543a6: 701a strb r2, [r3, #0] } } } } } break; 80543a8: e1ce b.n 8054748 if(result == FR_NOT_READY) 80543aa: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80543ae: 2b03 cmp r3, #3 80543b0: d10a bne.n 80543c8 STATUS = AP_NO_CARD; 80543b2: 4b5e ldr r3, [pc, #376] ; (805452c ) 80543b4: 2211 movs r2, #17 80543b6: 601a str r2, [r3, #0] timerStatus = sec2; 80543b8: 4b5d ldr r3, [pc, #372] ; (8054530 ) 80543ba: f44f 5280 mov.w r2, #4096 ; 0x1000 80543be: 801a strh r2, [r3, #0] DrawStatus = true; 80543c0: 4b5c ldr r3, [pc, #368] ; (8054534 ) 80543c2: 2201 movs r2, #1 80543c4: 701a strb r2, [r3, #0] break; 80543c6: e1bf b.n 8054748 STATUS = AP_INVALID_FILE; 80543c8: 4b58 ldr r3, [pc, #352] ; (805452c ) 80543ca: 2202 movs r2, #2 80543cc: 601a str r2, [r3, #0] timerStatus = sec2; 80543ce: 4b58 ldr r3, [pc, #352] ; (8054530 ) 80543d0: f44f 5280 mov.w r2, #4096 ; 0x1000 80543d4: 801a strh r2, [r3, #0] DrawStatus = true; 80543d6: 4b57 ldr r3, [pc, #348] ; (8054534 ) 80543d8: 2201 movs r2, #1 80543da: 701a strb r2, [r3, #0] break; 80543dc: e1b4 b.n 8054748 if(menupos == UpNo) 80543de: 4b51 ldr r3, [pc, #324] ; (8054524 ) 80543e0: 781b ldrb r3, [r3, #0] 80543e2: b2db uxtb r3, r3 80543e4: 2b06 cmp r3, #6 80543e6: d103 bne.n 80543f0 menupos = FilesSPEC; 80543e8: 4b4e ldr r3, [pc, #312] ; (8054524 ) 80543ea: 2202 movs r2, #2 80543ec: 701a strb r2, [r3, #0] break; 80543ee: e1ab b.n 8054748 if(menupos == UpYes) 80543f0: 4b4c ldr r3, [pc, #304] ; (8054524 ) 80543f2: 781b ldrb r3, [r3, #0] 80543f4: b2db uxtb r3, r3 80543f6: 2b07 cmp r3, #7 80543f8: d124 bne.n 8054444 STATUS = AP_OK; 80543fa: 4b4c ldr r3, [pc, #304] ; (805452c ) 80543fc: 2200 movs r2, #0 80543fe: 601a str r2, [r3, #0] CleanStatus = AP_OK; 8054400: 4b51 ldr r3, [pc, #324] ; (8054548 ) 8054402: 2200 movs r2, #0 8054404: 701a strb r2, [r3, #0] result = DeleteFileSPEC((char *) ExplorerFiles[CursorIndex].fname); 8054406: 4b42 ldr r3, [pc, #264] ; (8054510 ) 8054408: 681a ldr r2, [r3, #0] 805440a: 4613 mov r3, r2 805440c: 00db lsls r3, r3, #3 805440e: 1a9b subs r3, r3, r2 8054410: 00db lsls r3, r3, #3 8054412: 3308 adds r3, #8 8054414: 4a4a ldr r2, [pc, #296] ; (8054540 ) 8054416: 4413 add r3, r2 8054418: 3304 adds r3, #4 805441a: 4618 mov r0, r3 805441c: f7d5 fee6 bl 802a1ec 8054420: 4603 mov r3, r0 8054422: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8054426: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805442a: 2b00 cmp r3, #0 805442c: d103 bne.n 8054436 CleanStatus = AP_OK; 805442e: 4b46 ldr r3, [pc, #280] ; (8054548 ) 8054430: 2200 movs r2, #0 8054432: 701a strb r2, [r3, #0] 8054434: e002 b.n 805443c else CleanStatus = AP_FAIL; 8054436: 4b44 ldr r3, [pc, #272] ; (8054548 ) 8054438: 2201 movs r2, #1 805443a: 701a strb r2, [r3, #0] menupos = CleanUpResult; 805443c: 4b39 ldr r3, [pc, #228] ; (8054524 ) 805443e: 220a movs r2, #10 8054440: 701a strb r2, [r3, #0] break; 8054442: e181 b.n 8054748 if(menupos == CleanUpResult) 8054444: 4b37 ldr r3, [pc, #220] ; (8054524 ) 8054446: 781b ldrb r3, [r3, #0] 8054448: b2db uxtb r3, r3 805444a: 2b0a cmp r3, #10 805444c: f040 817c bne.w 8054748 if(NeedClean == 0) 8054450: 4b3e ldr r3, [pc, #248] ; (805454c ) 8054452: 781b ldrb r3, [r3, #0] 8054454: b2db uxtb r3, r3 8054456: 2b00 cmp r3, #0 8054458: f040 8176 bne.w 8054748 result = FR_NOT_READY; 805445c: 2303 movs r3, #3 805445e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8054462: 4b2a ldr r3, [pc, #168] ; (805450c ) 8054464: 781b ldrb r3, [r3, #0] 8054466: b2db uxtb r3, r3 8054468: 2b03 cmp r3, #3 805446a: f040 816d bne.w 8054748 CursorIndex = 0; 805446e: 4b28 ldr r3, [pc, #160] ; (8054510 ) 8054470: 2200 movs r2, #0 8054472: 601a str r2, [r3, #0] FirstFileIndex = 0; 8054474: 4b27 ldr r3, [pc, #156] ; (8054514 ) 8054476: 2200 movs r2, #0 8054478: 601a str r2, [r3, #0] RealFileIndex = 0; 805447a: 4b27 ldr r3, [pc, #156] ; (8054518 ) 805447c: 2200 movs r2, #0 805447e: 601a str r2, [r3, #0] result = ReadNumFilesSPEC((uint32_t *) &NumFilesSPEC); 8054480: 4833 ldr r0, [pc, #204] ; (8054550 ) 8054482: f7d5 fadb bl 8029a3c 8054486: 4603 mov r3, r0 8054488: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805448c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8054490: 2b00 cmp r3, #0 8054492: f040 8159 bne.w 8054748 result = ReadMyFilesSPEC(FirstFileIndex); 8054496: 4b1f ldr r3, [pc, #124] ; (8054514 ) 8054498: 681b ldr r3, [r3, #0] 805449a: 4618 mov r0, r3 805449c: f7d5 fb9e bl 8029bdc 80544a0: 4603 mov r3, r0 80544a2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80544a6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80544aa: 2b00 cmp r3, #0 80544ac: f040 814c bne.w 8054748 menu = ARCHIVE_SPEC; 80544b0: 4b1b ldr r3, [pc, #108] ; (8054520 ) 80544b2: 2215 movs r2, #21 80544b4: 701a strb r2, [r3, #0] if(NumFilesSPEC) menupos = FilesSPEC; 80544b6: 4b26 ldr r3, [pc, #152] ; (8054550 ) 80544b8: 681b ldr r3, [r3, #0] 80544ba: 2b00 cmp r3, #0 80544bc: d003 beq.n 80544c6 80544be: 4b19 ldr r3, [pc, #100] ; (8054524 ) 80544c0: 2202 movs r2, #2 80544c2: 701a strb r2, [r3, #0] break; 80544c4: e140 b.n 8054748 else menupos = NoFilesSPEC; 80544c6: 4b17 ldr r3, [pc, #92] ; (8054524 ) 80544c8: 2201 movs r2, #1 80544ca: 701a strb r2, [r3, #0] break; 80544cc: e13c b.n 8054748 case ARCHIVE_FRAN: break; case ARCHIVE_WAVE://TODO HISTORY = false; 80544ce: 4b1a ldr r3, [pc, #104] ; (8054538 ) 80544d0: 2200 movs r2, #0 80544d2: 701a strb r2, [r3, #0] switch(menupos) 80544d4: 4b13 ldr r3, [pc, #76] ; (8054524 ) 80544d6: 781b ldrb r3, [r3, #0] 80544d8: b2db uxtb r3, r3 80544da: 3b02 subs r3, #2 80544dc: 2b08 cmp r3, #8 80544de: f200 8135 bhi.w 805474c 80544e2: a201 add r2, pc, #4 ; (adr r2, 80544e8 ) 80544e4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80544e8: 08054555 .word 0x08054555 80544ec: 0805474d .word 0x0805474d 80544f0: 0805474d .word 0x0805474d 80544f4: 0805474d .word 0x0805474d 80544f8: 08054617 .word 0x08054617 80544fc: 0805461f .word 0x0805461f 8054500: 0805474d .word 0x0805474d 8054504: 0805474d .word 0x0805474d 8054508: 08054639 .word 0x08054639 805450c: 2002169c .word 0x2002169c 8054510: 20020e00 .word 0x20020e00 8054514: 20020e04 .word 0x20020e04 8054518: 20020e08 .word 0x20020e08 805451c: 20020e24 .word 0x20020e24 8054520: 20020fc5 .word 0x20020fc5 8054524: 20020070 .word 0x20020070 8054528: 20020071 .word 0x20020071 805452c: 20020dec .word 0x20020dec 8054530: 200216dc .word 0x200216dc 8054534: 20020df2 .word 0x20020df2 8054538: 20020fc2 .word 0x20020fc2 805453c: 20022c10 .word 0x20022c10 8054540: 200223a0 .word 0x200223a0 8054544: 20020dd2 .word 0x20020dd2 8054548: 20020df0 .word 0x20020df0 805454c: 20020dfc .word 0x20020dfc 8054550: 20020e1c .word 0x20020e1c { case FilesGTR: memset(FileName, 0, sizeof(FileName)); 8054554: 2228 movs r2, #40 ; 0x28 8054556: 2100 movs r1, #0 8054558: 4886 ldr r0, [pc, #536] ; (8054774 ) 805455a: f07d fd23 bl 80d1fa4 strcpy(FileName, (char *) ExplorerFiles[CursorIndex].fname); 805455e: 4b86 ldr r3, [pc, #536] ; (8054778 ) 8054560: 681a ldr r2, [r3, #0] 8054562: 4613 mov r3, r2 8054564: 00db lsls r3, r3, #3 8054566: 1a9b subs r3, r3, r2 8054568: 00db lsls r3, r3, #3 805456a: 3308 adds r3, #8 805456c: 4a83 ldr r2, [pc, #524] ; (805477c ) 805456e: 4413 add r3, r2 8054570: 3304 adds r3, #4 8054572: 4619 mov r1, r3 8054574: 487f ldr r0, [pc, #508] ; (8054774 ) 8054576: f07d fe32 bl 80d21de //result = OpenFileGTR(FileName); result = OpenFileINFO(FileName); 805457a: 487e ldr r0, [pc, #504] ; (8054774 ) 805457c: f7d2 fb20 bl 8026bc0 8054580: 4603 mov r3, r0 8054582: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8054586: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805458a: 2b00 cmp r3, #0 805458c: d129 bne.n 80545e2 { //SeekFileGTR(); result = OpenFileWAV(FileName); 805458e: 4879 ldr r0, [pc, #484] ; (8054774 ) 8054590: f7d2 fe38 bl 8027204 8054594: 4603 mov r3, r0 8054596: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805459a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805459e: 2b00 cmp r3, #0 80545a0: d114 bne.n 80545cc { SeekFileWAV(); 80545a2: f7d3 fdb1 bl 8028108 ViewLevel = 0; 80545a6: 4b76 ldr r3, [pc, #472] ; (8054780 ) 80545a8: 2200 movs r2, #0 80545aa: 701a strb r2, [r3, #0] AUTOZOOM = true; 80545ac: 4b75 ldr r3, [pc, #468] ; (8054784 ) 80545ae: 2201 movs r2, #1 80545b0: 701a strb r2, [r3, #0] menu = MAIN_SYGNAL; 80545b2: 4b75 ldr r3, [pc, #468] ; (8054788 ) 80545b4: 2220 movs r2, #32 80545b6: 701a strb r2, [r3, #0] menupos = StartStop; 80545b8: 4b74 ldr r3, [pc, #464] ; (805478c ) 80545ba: 2200 movs r2, #0 80545bc: 701a strb r2, [r3, #0] HISTORY = true; 80545be: 4b74 ldr r3, [pc, #464] ; (8054790 ) 80545c0: 2201 movs r2, #1 80545c2: 701a strb r2, [r3, #0] FIRST = false; 80545c4: 4b73 ldr r3, [pc, #460] ; (8054794 ) 80545c6: 2200 movs r2, #0 80545c8: 701a strb r2, [r3, #0] { STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } break; 80545ca: e070 b.n 80546ae STATUS = AP_DISK_ERROR; 80545cc: 4b72 ldr r3, [pc, #456] ; (8054798 ) 80545ce: 220b movs r2, #11 80545d0: 601a str r2, [r3, #0] timerStatus = sec2; 80545d2: 4b72 ldr r3, [pc, #456] ; (805479c ) 80545d4: f44f 5280 mov.w r2, #4096 ; 0x1000 80545d8: 801a strh r2, [r3, #0] DrawStatus = true; 80545da: 4b71 ldr r3, [pc, #452] ; (80547a0 ) 80545dc: 2201 movs r2, #1 80545de: 701a strb r2, [r3, #0] break; 80545e0: e065 b.n 80546ae if(result == FR_NOT_READY) 80545e2: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80545e6: 2b03 cmp r3, #3 80545e8: d10a bne.n 8054600 STATUS = AP_NO_CARD; 80545ea: 4b6b ldr r3, [pc, #428] ; (8054798 ) 80545ec: 2211 movs r2, #17 80545ee: 601a str r2, [r3, #0] timerStatus = sec2; 80545f0: 4b6a ldr r3, [pc, #424] ; (805479c ) 80545f2: f44f 5280 mov.w r2, #4096 ; 0x1000 80545f6: 801a strh r2, [r3, #0] DrawStatus = true; 80545f8: 4b69 ldr r3, [pc, #420] ; (80547a0 ) 80545fa: 2201 movs r2, #1 80545fc: 701a strb r2, [r3, #0] break; 80545fe: e056 b.n 80546ae STATUS = AP_INVALID_FILE; 8054600: 4b65 ldr r3, [pc, #404] ; (8054798 ) 8054602: 2202 movs r2, #2 8054604: 601a str r2, [r3, #0] timerStatus = sec2; 8054606: 4b65 ldr r3, [pc, #404] ; (805479c ) 8054608: f44f 5280 mov.w r2, #4096 ; 0x1000 805460c: 801a strh r2, [r3, #0] DrawStatus = true; 805460e: 4b64 ldr r3, [pc, #400] ; (80547a0 ) 8054610: 2201 movs r2, #1 8054612: 701a strb r2, [r3, #0] break; 8054614: e04b b.n 80546ae case UpNo: menupos = FilesGTR; 8054616: 4b5d ldr r3, [pc, #372] ; (805478c ) 8054618: 2202 movs r2, #2 805461a: 701a strb r2, [r3, #0] break; 805461c: e047 b.n 80546ae case UpYes: STATUS = AP_OK; 805461e: 4b5e ldr r3, [pc, #376] ; (8054798 ) 8054620: 2200 movs r2, #0 8054622: 601a str r2, [r3, #0] CleanStatus = AP_OK; 8054624: 4b5f ldr r3, [pc, #380] ; (80547a4 ) 8054626: 2200 movs r2, #0 8054628: 701a strb r2, [r3, #0] NeedClean = 2; 805462a: 4b5f ldr r3, [pc, #380] ; (80547a8 ) 805462c: 2202 movs r2, #2 805462e: 701a strb r2, [r3, #0] menupos = CleanUpResult; 8054630: 4b56 ldr r3, [pc, #344] ; (805478c ) 8054632: 220a movs r2, #10 8054634: 701a strb r2, [r3, #0] break; 8054636: e03a b.n 80546ae case CleanUpResult: if(NeedClean == 0) 8054638: 4b5b ldr r3, [pc, #364] ; (80547a8 ) 805463a: 781b ldrb r3, [r3, #0] 805463c: b2db uxtb r3, r3 805463e: 2b00 cmp r3, #0 8054640: d134 bne.n 80546ac else menupos = NoFilesGTR; } } }*/ result = FR_NOT_READY; 8054642: 2303 movs r3, #3 8054644: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8054648: 4b58 ldr r3, [pc, #352] ; (80547ac ) 805464a: 781b ldrb r3, [r3, #0] 805464c: b2db uxtb r3, r3 805464e: 2b03 cmp r3, #3 8054650: d12c bne.n 80546ac { CursorIndex = 0; 8054652: 4b49 ldr r3, [pc, #292] ; (8054778 ) 8054654: 2200 movs r2, #0 8054656: 601a str r2, [r3, #0] FirstFileIndex = 0; 8054658: 4b55 ldr r3, [pc, #340] ; (80547b0 ) 805465a: 2200 movs r2, #0 805465c: 601a str r2, [r3, #0] RealFileIndex = 0; 805465e: 4b55 ldr r3, [pc, #340] ; (80547b4 ) 8054660: 2200 movs r2, #0 8054662: 601a str r2, [r3, #0] result = ReadNumFilesWAV((uint32_t *) &NumFilesWAV); 8054664: 4854 ldr r0, [pc, #336] ; (80547b8 ) 8054666: f7d5 fa2b bl 8029ac0 805466a: 4603 mov r3, r0 805466c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8054670: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8054674: 2b00 cmp r3, #0 8054676: d119 bne.n 80546ac { result = ReadMyFilesWAV(FirstFileIndex); 8054678: 4b4d ldr r3, [pc, #308] ; (80547b0 ) 805467a: 681b ldr r3, [r3, #0] 805467c: 4618 mov r0, r3 805467e: f7d5 fad4 bl 8029c2a 8054682: 4603 mov r3, r0 8054684: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8054688: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805468c: 2b00 cmp r3, #0 805468e: d10d bne.n 80546ac { menu = ARCHIVE_WAVE; 8054690: 4b3d ldr r3, [pc, #244] ; (8054788 ) 8054692: 2217 movs r2, #23 8054694: 701a strb r2, [r3, #0] if(NumFilesWAV) menupos = FilesGTR; 8054696: 4b48 ldr r3, [pc, #288] ; (80547b8 ) 8054698: 681b ldr r3, [r3, #0] 805469a: 2b00 cmp r3, #0 805469c: d003 beq.n 80546a6 805469e: 4b3b ldr r3, [pc, #236] ; (805478c ) 80546a0: 2202 movs r2, #2 80546a2: 701a strb r2, [r3, #0] else menupos = NoFilesGTR; } } } } break; 80546a4: e002 b.n 80546ac else menupos = NoFilesGTR; 80546a6: 4b39 ldr r3, [pc, #228] ; (805478c ) 80546a8: 2201 movs r2, #1 80546aa: 701a strb r2, [r3, #0] break; 80546ac: bf00 nop } break; 80546ae: e04d b.n 805474c break; 80546b0: bf00 nop 80546b2: e059 b.n 8054768 break; 80546b4: bf00 nop 80546b6: e057 b.n 8054768 break; 80546b8: bf00 nop 80546ba: e055 b.n 8054768 break; 80546bc: bf00 nop 80546be: e053 b.n 8054768 break; 80546c0: bf00 nop 80546c2: e051 b.n 8054768 break; 80546c4: bf00 nop 80546c6: e04f b.n 8054768 break; 80546c8: bf00 nop 80546ca: e04d b.n 8054768 break; 80546cc: bf00 nop 80546ce: e04b b.n 8054768 break; 80546d0: bf00 nop 80546d2: e049 b.n 8054768 break; 80546d4: bf00 nop 80546d6: e047 b.n 8054768 break; 80546d8: bf00 nop 80546da: e045 b.n 8054768 break; 80546dc: bf00 nop 80546de: e043 b.n 8054768 break; 80546e0: bf00 nop 80546e2: e041 b.n 8054768 break; 80546e4: bf00 nop 80546e6: e03f b.n 8054768 break; 80546e8: bf00 nop 80546ea: e03d b.n 8054768 break; 80546ec: bf00 nop 80546ee: e03b b.n 8054768 break; 80546f0: bf00 nop 80546f2: e039 b.n 8054768 break; 80546f4: bf00 nop 80546f6: e037 b.n 8054768 break; 80546f8: bf00 nop 80546fa: e035 b.n 8054768 break; 80546fc: bf00 nop 80546fe: e033 b.n 8054768 break; 8054700: bf00 nop 8054702: e031 b.n 8054768 break; 8054704: bf00 nop 8054706: e02f b.n 8054768 break; 8054708: bf00 nop 805470a: e02d b.n 8054768 break; 805470c: bf00 nop 805470e: e02b b.n 8054768 break; 8054710: bf00 nop 8054712: e029 b.n 8054768 break; 8054714: bf00 nop 8054716: e027 b.n 8054768 break; 8054718: bf00 nop 805471a: e025 b.n 8054768 break; 805471c: bf00 nop 805471e: e023 b.n 8054768 break; 8054720: bf00 nop 8054722: e021 b.n 8054768 break; 8054724: bf00 nop 8054726: e01f b.n 8054768 break; 8054728: bf00 nop 805472a: e01d b.n 8054768 break; 805472c: bf00 nop 805472e: e01b b.n 8054768 break; 8054730: bf00 nop 8054732: e019 b.n 8054768 break; 8054734: bf00 nop 8054736: e017 b.n 8054768 break; 8054738: bf00 nop 805473a: e015 b.n 8054768 break; 805473c: bf00 nop 805473e: e013 b.n 8054768 break; 8054740: bf00 nop 8054742: e011 b.n 8054768 break; 8054744: bf00 nop 8054746: e00f b.n 8054768 break; 8054748: bf00 nop 805474a: e00d b.n 8054768 break; 805474c: bf00 nop } break; 805474e: e00b b.n 8054768 return; 8054750: bf00 nop 8054752: e00a b.n 805476a break; 8054754: bf00 nop 8054756: e008 b.n 805476a break; 8054758: bf00 nop 805475a: e006 b.n 805476a break; 805475c: bf00 nop 805475e: e004 b.n 805476a break; 8054760: bf00 nop 8054762: e002 b.n 805476a break; 8054764: bf00 nop 8054766: e000 b.n 805476a break; 8054768: bf00 nop case KEY_PW: break; } } } 805476a: 37cc adds r7, #204 ; 0xcc 805476c: 46bd mov sp, r7 805476e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 8054772: bf00 nop 8054774: 20022c10 .word 0x20022c10 8054778: 20020e00 .word 0x20020e00 805477c: 200223a0 .word 0x200223a0 8054780: 20020fc0 .word 0x20020fc0 8054784: 20020994 .word 0x20020994 8054788: 20020fc5 .word 0x20020fc5 805478c: 20020070 .word 0x20020070 8054790: 20020fc2 .word 0x20020fc2 8054794: 20020dd2 .word 0x20020dd2 8054798: 20020dec .word 0x20020dec 805479c: 200216dc .word 0x200216dc 80547a0: 20020df2 .word 0x20020df2 80547a4: 20020df0 .word 0x20020df0 80547a8: 20020dfc .word 0x20020dfc 80547ac: 2002169c .word 0x2002169c 80547b0: 20020e04 .word 0x20020e04 80547b4: 20020e08 .word 0x20020e08 80547b8: 20020e28 .word 0x20020e28 080547bc : void RefreshGraf(void) { 80547bc: b480 push {r7} 80547be: af00 add r7, sp, #0 ViewLevel = 0; 80547c0: 4b98 ldr r3, [pc, #608] ; (8054a24 ) 80547c2: 2200 movs r2, #0 80547c4: 701a strb r2, [r3, #0] X0 = 0; 80547c6: 4b98 ldr r3, [pc, #608] ; (8054a28 ) 80547c8: 2200 movs r2, #0 80547ca: 801a strh r2, [r3, #0] lX = X0; 80547cc: 4b96 ldr r3, [pc, #600] ; (8054a28 ) 80547ce: 881b ldrh r3, [r3, #0] 80547d0: b29a uxth r2, r3 80547d2: 4b96 ldr r3, [pc, #600] ; (8054a2c ) 80547d4: 801a strh r2, [r3, #0] if(pardata.SYG == OSC) 80547d6: 4b96 ldr r3, [pc, #600] ; (8054a30 ) 80547d8: 781b ldrb r3, [r3, #0] 80547da: b2db uxtb r3, r3 80547dc: 2b02 cmp r3, #2 80547de: d13b bne.n 8054858 { Mpos = X0 + CURSOR * avgOSC[ViewLevel][pardata.LNE]; 80547e0: 4b90 ldr r3, [pc, #576] ; (8054a24 ) 80547e2: 781b ldrb r3, [r3, #0] 80547e4: b2db uxtb r3, r3 80547e6: 4619 mov r1, r3 80547e8: 4b91 ldr r3, [pc, #580] ; (8054a30 ) 80547ea: 79db ldrb r3, [r3, #7] 80547ec: b2db uxtb r3, r3 80547ee: 4618 mov r0, r3 80547f0: 4a90 ldr r2, [pc, #576] ; (8054a34 ) 80547f2: 460b mov r3, r1 80547f4: 009b lsls r3, r3, #2 80547f6: 440b add r3, r1 80547f8: 4413 add r3, r2 80547fa: 4403 add r3, r0 80547fc: 781b ldrb r3, [r3, #0] 80547fe: b29a uxth r2, r3 8054800: 4b8d ldr r3, [pc, #564] ; (8054a38 ) 8054802: 681b ldr r3, [r3, #0] 8054804: b29b uxth r3, r3 8054806: fb12 f303 smulbb r3, r2, r3 805480a: b29a uxth r2, r3 805480c: 4b86 ldr r3, [pc, #536] ; (8054a28 ) 805480e: 881b ldrh r3, [r3, #0] 8054810: b29b uxth r3, r3 8054812: 4413 add r3, r2 8054814: b29a uxth r2, r3 8054816: 4b89 ldr r3, [pc, #548] ; (8054a3c ) 8054818: 801a strh r2, [r3, #0] fineMpos = Mpos; 805481a: 4b88 ldr r3, [pc, #544] ; (8054a3c ) 805481c: 881b ldrh r3, [r3, #0] 805481e: b29a uxth r2, r3 8054820: 4b87 ldr r3, [pc, #540] ; (8054a40 ) 8054822: 801a strh r2, [r3, #0] rX = 256 * avgOSC[ViewLevel][pardata.LNE] + lX; 8054824: 4b7f ldr r3, [pc, #508] ; (8054a24 ) 8054826: 781b ldrb r3, [r3, #0] 8054828: b2db uxtb r3, r3 805482a: 4619 mov r1, r3 805482c: 4b80 ldr r3, [pc, #512] ; (8054a30 ) 805482e: 79db ldrb r3, [r3, #7] 8054830: b2db uxtb r3, r3 8054832: 4618 mov r0, r3 8054834: 4a7f ldr r2, [pc, #508] ; (8054a34 ) 8054836: 460b mov r3, r1 8054838: 009b lsls r3, r3, #2 805483a: 440b add r3, r1 805483c: 4413 add r3, r2 805483e: 4403 add r3, r0 8054840: 781b ldrb r3, [r3, #0] 8054842: b29b uxth r3, r3 8054844: 021b lsls r3, r3, #8 8054846: b29a uxth r2, r3 8054848: 4b78 ldr r3, [pc, #480] ; (8054a2c ) 805484a: 881b ldrh r3, [r3, #0] 805484c: b29b uxth r3, r3 805484e: 4413 add r3, r2 8054850: b29a uxth r2, r3 8054852: 4b7c ldr r3, [pc, #496] ; (8054a44 ) 8054854: 801a strh r2, [r3, #0] 8054856: e0ca b.n 80549ee } else if(pardata.SYG == ROLL) 8054858: 4b75 ldr r3, [pc, #468] ; (8054a30 ) 805485a: 781b ldrb r3, [r3, #0] 805485c: b2db uxtb r3, r3 805485e: 2b08 cmp r3, #8 8054860: d13a bne.n 80548d8 { ViewLevel = 1; 8054862: 4b70 ldr r3, [pc, #448] ; (8054a24 ) 8054864: 2201 movs r2, #1 8054866: 701a strb r2, [r3, #0] Mpos = X0 + CURSOR * avgSPC[ViewLevel][pardata.LNE]; 8054868: 4b6e ldr r3, [pc, #440] ; (8054a24 ) 805486a: 781b ldrb r3, [r3, #0] 805486c: b2db uxtb r3, r3 805486e: 4618 mov r0, r3 8054870: 4b6f ldr r3, [pc, #444] ; (8054a30 ) 8054872: 79db ldrb r3, [r3, #7] 8054874: b2db uxtb r3, r3 8054876: 4619 mov r1, r3 8054878: 4a73 ldr r2, [pc, #460] ; (8054a48 ) 805487a: 0083 lsls r3, r0, #2 805487c: 4413 add r3, r2 805487e: 440b add r3, r1 8054880: 781b ldrb r3, [r3, #0] 8054882: b29a uxth r2, r3 8054884: 4b6c ldr r3, [pc, #432] ; (8054a38 ) 8054886: 681b ldr r3, [r3, #0] 8054888: b29b uxth r3, r3 805488a: fb12 f303 smulbb r3, r2, r3 805488e: b29a uxth r2, r3 8054890: 4b65 ldr r3, [pc, #404] ; (8054a28 ) 8054892: 881b ldrh r3, [r3, #0] 8054894: b29b uxth r3, r3 8054896: 4413 add r3, r2 8054898: b29a uxth r2, r3 805489a: 4b68 ldr r3, [pc, #416] ; (8054a3c ) 805489c: 801a strh r2, [r3, #0] fineMpos = Mpos; 805489e: 4b67 ldr r3, [pc, #412] ; (8054a3c ) 80548a0: 881b ldrh r3, [r3, #0] 80548a2: b29a uxth r2, r3 80548a4: 4b66 ldr r3, [pc, #408] ; (8054a40 ) 80548a6: 801a strh r2, [r3, #0] rX = 256 * avgSPC[ViewLevel][pardata.LNE] + lX; 80548a8: 4b5e ldr r3, [pc, #376] ; (8054a24 ) 80548aa: 781b ldrb r3, [r3, #0] 80548ac: b2db uxtb r3, r3 80548ae: 4618 mov r0, r3 80548b0: 4b5f ldr r3, [pc, #380] ; (8054a30 ) 80548b2: 79db ldrb r3, [r3, #7] 80548b4: b2db uxtb r3, r3 80548b6: 4619 mov r1, r3 80548b8: 4a63 ldr r2, [pc, #396] ; (8054a48 ) 80548ba: 0083 lsls r3, r0, #2 80548bc: 4413 add r3, r2 80548be: 440b add r3, r1 80548c0: 781b ldrb r3, [r3, #0] 80548c2: b29b uxth r3, r3 80548c4: 021b lsls r3, r3, #8 80548c6: b29a uxth r2, r3 80548c8: 4b58 ldr r3, [pc, #352] ; (8054a2c ) 80548ca: 881b ldrh r3, [r3, #0] 80548cc: b29b uxth r3, r3 80548ce: 4413 add r3, r2 80548d0: b29a uxth r2, r3 80548d2: 4b5c ldr r3, [pc, #368] ; (8054a44 ) 80548d4: 801a strh r2, [r3, #0] 80548d6: e08a b.n 80549ee } else if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == UDAR)) 80548d8: 4b55 ldr r3, [pc, #340] ; (8054a30 ) 80548da: 781b ldrb r3, [r3, #0] 80548dc: b2db uxtb r3, r3 80548de: 2b01 cmp r3, #1 80548e0: d009 beq.n 80548f6 80548e2: 4b53 ldr r3, [pc, #332] ; (8054a30 ) 80548e4: 781b ldrb r3, [r3, #0] 80548e6: b2db uxtb r3, r3 80548e8: 2b05 cmp r3, #5 80548ea: d004 beq.n 80548f6 80548ec: 4b50 ldr r3, [pc, #320] ; (8054a30 ) 80548ee: 781b ldrb r3, [r3, #0] 80548f0: b2db uxtb r3, r3 80548f2: 2b09 cmp r3, #9 80548f4: d137 bne.n 8054966 { Mpos = X0 + CURSOR * avgSPC[ViewLevel][pardata.LNE]; 80548f6: 4b4b ldr r3, [pc, #300] ; (8054a24 ) 80548f8: 781b ldrb r3, [r3, #0] 80548fa: b2db uxtb r3, r3 80548fc: 4618 mov r0, r3 80548fe: 4b4c ldr r3, [pc, #304] ; (8054a30 ) 8054900: 79db ldrb r3, [r3, #7] 8054902: b2db uxtb r3, r3 8054904: 4619 mov r1, r3 8054906: 4a50 ldr r2, [pc, #320] ; (8054a48 ) 8054908: 0083 lsls r3, r0, #2 805490a: 4413 add r3, r2 805490c: 440b add r3, r1 805490e: 781b ldrb r3, [r3, #0] 8054910: b29a uxth r2, r3 8054912: 4b49 ldr r3, [pc, #292] ; (8054a38 ) 8054914: 681b ldr r3, [r3, #0] 8054916: b29b uxth r3, r3 8054918: fb12 f303 smulbb r3, r2, r3 805491c: b29a uxth r2, r3 805491e: 4b42 ldr r3, [pc, #264] ; (8054a28 ) 8054920: 881b ldrh r3, [r3, #0] 8054922: b29b uxth r3, r3 8054924: 4413 add r3, r2 8054926: b29a uxth r2, r3 8054928: 4b44 ldr r3, [pc, #272] ; (8054a3c ) 805492a: 801a strh r2, [r3, #0] fineMpos = Mpos; 805492c: 4b43 ldr r3, [pc, #268] ; (8054a3c ) 805492e: 881b ldrh r3, [r3, #0] 8054930: b29a uxth r2, r3 8054932: 4b43 ldr r3, [pc, #268] ; (8054a40 ) 8054934: 801a strh r2, [r3, #0] rX = 256 * avgSPC[ViewLevel][pardata.LNE] + lX; 8054936: 4b3b ldr r3, [pc, #236] ; (8054a24 ) 8054938: 781b ldrb r3, [r3, #0] 805493a: b2db uxtb r3, r3 805493c: 4618 mov r0, r3 805493e: 4b3c ldr r3, [pc, #240] ; (8054a30 ) 8054940: 79db ldrb r3, [r3, #7] 8054942: b2db uxtb r3, r3 8054944: 4619 mov r1, r3 8054946: 4a40 ldr r2, [pc, #256] ; (8054a48 ) 8054948: 0083 lsls r3, r0, #2 805494a: 4413 add r3, r2 805494c: 440b add r3, r1 805494e: 781b ldrb r3, [r3, #0] 8054950: b29b uxth r3, r3 8054952: 021b lsls r3, r3, #8 8054954: b29a uxth r2, r3 8054956: 4b35 ldr r3, [pc, #212] ; (8054a2c ) 8054958: 881b ldrh r3, [r3, #0] 805495a: b29b uxth r3, r3 805495c: 4413 add r3, r2 805495e: b29a uxth r2, r3 8054960: 4b38 ldr r3, [pc, #224] ; (8054a44 ) 8054962: 801a strh r2, [r3, #0] 8054964: e043 b.n 80549ee } else if((pardata.SYG == SPEC_OKT) || (pardata.SYG == SPEC_THIRD)) 8054966: 4b32 ldr r3, [pc, #200] ; (8054a30 ) 8054968: 781b ldrb r3, [r3, #0] 805496a: b2db uxtb r3, r3 805496c: 2b06 cmp r3, #6 805496e: d004 beq.n 805497a 8054970: 4b2f ldr r3, [pc, #188] ; (8054a30 ) 8054972: 781b ldrb r3, [r3, #0] 8054974: b2db uxtb r3, r3 8054976: 2b07 cmp r3, #7 8054978: d139 bne.n 80549ee { CURSOR = 5; 805497a: 4b2f ldr r3, [pc, #188] ; (8054a38 ) 805497c: 2205 movs r2, #5 805497e: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * avgSPC[ViewLevel][pardata.LNE]; 8054980: 4b28 ldr r3, [pc, #160] ; (8054a24 ) 8054982: 781b ldrb r3, [r3, #0] 8054984: b2db uxtb r3, r3 8054986: 4618 mov r0, r3 8054988: 4b29 ldr r3, [pc, #164] ; (8054a30 ) 805498a: 79db ldrb r3, [r3, #7] 805498c: b2db uxtb r3, r3 805498e: 4619 mov r1, r3 8054990: 4a2d ldr r2, [pc, #180] ; (8054a48 ) 8054992: 0083 lsls r3, r0, #2 8054994: 4413 add r3, r2 8054996: 440b add r3, r1 8054998: 781b ldrb r3, [r3, #0] 805499a: b29a uxth r2, r3 805499c: 4b26 ldr r3, [pc, #152] ; (8054a38 ) 805499e: 681b ldr r3, [r3, #0] 80549a0: b29b uxth r3, r3 80549a2: fb12 f303 smulbb r3, r2, r3 80549a6: b29a uxth r2, r3 80549a8: 4b1f ldr r3, [pc, #124] ; (8054a28 ) 80549aa: 881b ldrh r3, [r3, #0] 80549ac: b29b uxth r3, r3 80549ae: 4413 add r3, r2 80549b0: b29a uxth r2, r3 80549b2: 4b22 ldr r3, [pc, #136] ; (8054a3c ) 80549b4: 801a strh r2, [r3, #0] fineMpos = Mpos; 80549b6: 4b21 ldr r3, [pc, #132] ; (8054a3c ) 80549b8: 881b ldrh r3, [r3, #0] 80549ba: b29a uxth r2, r3 80549bc: 4b20 ldr r3, [pc, #128] ; (8054a40 ) 80549be: 801a strh r2, [r3, #0] rX = 256 * avgSPC[ViewLevel][pardata.LNE] + lX; 80549c0: 4b18 ldr r3, [pc, #96] ; (8054a24 ) 80549c2: 781b ldrb r3, [r3, #0] 80549c4: b2db uxtb r3, r3 80549c6: 4618 mov r0, r3 80549c8: 4b19 ldr r3, [pc, #100] ; (8054a30 ) 80549ca: 79db ldrb r3, [r3, #7] 80549cc: b2db uxtb r3, r3 80549ce: 4619 mov r1, r3 80549d0: 4a1d ldr r2, [pc, #116] ; (8054a48 ) 80549d2: 0083 lsls r3, r0, #2 80549d4: 4413 add r3, r2 80549d6: 440b add r3, r1 80549d8: 781b ldrb r3, [r3, #0] 80549da: b29b uxth r3, r3 80549dc: 021b lsls r3, r3, #8 80549de: b29a uxth r2, r3 80549e0: 4b12 ldr r3, [pc, #72] ; (8054a2c ) 80549e2: 881b ldrh r3, [r3, #0] 80549e4: b29b uxth r3, r3 80549e6: 4413 add r3, r2 80549e8: b29a uxth r2, r3 80549ea: 4b16 ldr r3, [pc, #88] ; (8054a44 ) 80549ec: 801a strh r2, [r3, #0] } DynamicCursor[0].Enabled = false; 80549ee: 4b17 ldr r3, [pc, #92] ; (8054a4c ) 80549f0: 2200 movs r2, #0 80549f2: 701a strb r2, [r3, #0] DynamicCursor[0].Mpos = 0xffff; 80549f4: 4b15 ldr r3, [pc, #84] ; (8054a4c ) 80549f6: f64f 72ff movw r2, #65535 ; 0xffff 80549fa: 809a strh r2, [r3, #4] DynamicCursor[0].fineMpos = DynamicCursor[0].Mpos; 80549fc: 4b13 ldr r3, [pc, #76] ; (8054a4c ) 80549fe: 889a ldrh r2, [r3, #4] 8054a00: 4b12 ldr r3, [pc, #72] ; (8054a4c ) 8054a02: 80da strh r2, [r3, #6] DynamicCursor[1].Enabled = false; 8054a04: 4b11 ldr r3, [pc, #68] ; (8054a4c ) 8054a06: 2200 movs r2, #0 8054a08: 741a strb r2, [r3, #16] DynamicCursor[1].Mpos = 0xffff; 8054a0a: 4b10 ldr r3, [pc, #64] ; (8054a4c ) 8054a0c: f64f 72ff movw r2, #65535 ; 0xffff 8054a10: 829a strh r2, [r3, #20] DynamicCursor[1].fineMpos = DynamicCursor[1].Mpos; 8054a12: 4b0e ldr r3, [pc, #56] ; (8054a4c ) 8054a14: 8a9a ldrh r2, [r3, #20] 8054a16: 4b0d ldr r3, [pc, #52] ; (8054a4c ) 8054a18: 82da strh r2, [r3, #22] } 8054a1a: bf00 nop 8054a1c: 46bd mov sp, r7 8054a1e: f85d 7b04 ldr.w r7, [sp], #4 8054a22: 4770 bx lr 8054a24: 20020fc0 .word 0x20020fc0 8054a28: 20025d76 .word 0x20025d76 8054a2c: 20025d72 .word 0x20025d72 8054a30: 20023eb8 .word 0x20023eb8 8054a34: 080f5190 .word 0x080f5190 8054a38: 2002006c .word 0x2002006c 8054a3c: 20025d6e .word 0x20025d6e 8054a40: 20025d74 .word 0x20025d74 8054a44: 20025d78 .word 0x20025d78 8054a48: 080f51b4 .word 0x080f51b4 8054a4c: 20020f94 .word 0x20020f94 08054a50 : } void AfterTacho(void) { 8054a50: b580 push {r7, lr} 8054a52: b082 sub sp, #8 8054a54: af00 add r7, sp, #0 FRESULT result; if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8054a56: 4b57 ldr r3, [pc, #348] ; (8054bb4 ) 8054a58: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8054a5c: f003 0304 and.w r3, r3, #4 8054a60: 2b00 cmp r3, #0 8054a62: f040 809f bne.w 8054ba4 { MultRec = _b24V * CorrKk[ACC] * 2; 8054a66: 4b54 ldr r3, [pc, #336] ; (8054bb8 ) 8054a68: edd3 7a00 vldr s15, [r3] 8054a6c: ed9f 7a53 vldr s14, [pc, #332] ; 8054bbc 8054a70: ee67 7a87 vmul.f32 s15, s15, s14 8054a74: ee77 7aa7 vadd.f32 s15, s15, s15 8054a78: 4b51 ldr r3, [pc, #324] ; (8054bc0 ) 8054a7a: edc3 7a00 vstr s15, [r3] menupos = ReadyRec; 8054a7e: 4b51 ldr r3, [pc, #324] ; (8054bc4 ) 8054a80: 2203 movs r2, #3 8054a82: 701a strb r2, [r3, #0] Recording = false; 8054a84: 4b50 ldr r3, [pc, #320] ; (8054bc8 ) 8054a86: 2200 movs r2, #0 8054a88: 701a strb r2, [r3, #0] RepeatKm = false; 8054a8a: 4b50 ldr r3, [pc, #320] ; (8054bcc ) 8054a8c: 2200 movs r2, #0 8054a8e: 701a strb r2, [r3, #0] FirstTime = false; 8054a90: 4b4f ldr r3, [pc, #316] ; (8054bd0 ) 8054a92: 2200 movs r2, #0 8054a94: 701a strb r2, [r3, #0] READY = DATA_FREE; 8054a96: 4b4f ldr r3, [pc, #316] ; (8054bd4 ) 8054a98: 2200 movs r2, #0 8054a9a: 701a strb r2, [r3, #0] cntmeas = 0; 8054a9c: 4b4e ldr r3, [pc, #312] ; (8054bd8 ) 8054a9e: 2200 movs r2, #0 8054aa0: 801a strh r2, [r3, #0] cntADC = 0; 8054aa2: 4b4e ldr r3, [pc, #312] ; (8054bdc ) 8054aa4: 2200 movs r2, #0 8054aa6: 801a strh r2, [r3, #0] if(CardState == MSD_READY) 8054aa8: 4b4d ldr r3, [pc, #308] ; (8054be0 ) 8054aaa: 781b ldrb r3, [r3, #0] 8054aac: b2db uxtb r3, r3 8054aae: 2b03 cmp r3, #3 8054ab0: d16a bne.n 8054b88 { WavFileNameLen = strlen(WavFileName); 8054ab2: 484c ldr r0, [pc, #304] ; (8054be4 ) 8054ab4: f7cb fc2e bl 8020314 8054ab8: 4602 mov r2, r0 8054aba: 4b4b ldr r3, [pc, #300] ; (8054be8 ) 8054abc: 601a str r2, [r3, #0] WavFileName[WavFileNameLen - 2] = 'T'; WavFileName[WavFileNameLen - 1] = 'R'; WavFileName[WavFileNameLen] = '\0'; } result = CreateFileGTR(WavFileName);*/ if((WavFileName[WavFileNameLen - 4] != '.') && (WavFileNameLen >= 4)) 8054abe: 4b4a ldr r3, [pc, #296] ; (8054be8 ) 8054ac0: 681b ldr r3, [r3, #0] 8054ac2: 3b04 subs r3, #4 8054ac4: 4a47 ldr r2, [pc, #284] ; (8054be4 ) 8054ac6: 5cd3 ldrb r3, [r2, r3] 8054ac8: 2b2e cmp r3, #46 ; 0x2e 8054aca: d01a beq.n 8054b02 8054acc: 4b46 ldr r3, [pc, #280] ; (8054be8 ) 8054ace: 681b ldr r3, [r3, #0] 8054ad0: 2b03 cmp r3, #3 8054ad2: d916 bls.n 8054b02 { WavFileName[WavFileNameLen - 3] = 'w'; 8054ad4: 4b44 ldr r3, [pc, #272] ; (8054be8 ) 8054ad6: 681b ldr r3, [r3, #0] 8054ad8: 3b03 subs r3, #3 8054ada: 4a42 ldr r2, [pc, #264] ; (8054be4 ) 8054adc: 2177 movs r1, #119 ; 0x77 8054ade: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 2] = 'a'; 8054ae0: 4b41 ldr r3, [pc, #260] ; (8054be8 ) 8054ae2: 681b ldr r3, [r3, #0] 8054ae4: 3b02 subs r3, #2 8054ae6: 4a3f ldr r2, [pc, #252] ; (8054be4 ) 8054ae8: 2161 movs r1, #97 ; 0x61 8054aea: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 1] = 'v'; 8054aec: 4b3e ldr r3, [pc, #248] ; (8054be8 ) 8054aee: 681b ldr r3, [r3, #0] 8054af0: 3b01 subs r3, #1 8054af2: 4a3c ldr r2, [pc, #240] ; (8054be4 ) 8054af4: 2176 movs r1, #118 ; 0x76 8054af6: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen] = '\0'; 8054af8: 4b3b ldr r3, [pc, #236] ; (8054be8 ) 8054afa: 681b ldr r3, [r3, #0] 8054afc: 4a39 ldr r2, [pc, #228] ; (8054be4 ) 8054afe: 2100 movs r1, #0 8054b00: 54d1 strb r1, [r2, r3] } result = CreateFileWAV(WavFileName); 8054b02: 4838 ldr r0, [pc, #224] ; (8054be4 ) 8054b04: f7d7 fa70 bl 802bfe8 8054b08: 4603 mov r3, r0 8054b0a: 71fb strb r3, [r7, #7] if(result == FR_OK) 8054b0c: 79fb ldrb r3, [r7, #7] 8054b0e: 2b00 cmp r3, #0 8054b10: d105 bne.n 8054b1e { STATUS = AP_OK; 8054b12: 4b36 ldr r3, [pc, #216] ; (8054bec ) 8054b14: 2200 movs r2, #0 8054b16: 601a str r2, [r3, #0] StartRecording(); 8054b18: f7ce fdb0 bl 802367c STATUS = AP_NO_CARD; } } else menupos = GainSelecting; } 8054b1c: e045 b.n 8054baa Recording = false; 8054b1e: 4b2a ldr r3, [pc, #168] ; (8054bc8 ) 8054b20: 2200 movs r2, #0 8054b22: 701a strb r2, [r3, #0] StopMeas(); //// ADDED 8054b24: f7ce fe3a bl 802379c menupos = StartStop; //// ADDED 8054b28: 4b26 ldr r3, [pc, #152] ; (8054bc4 ) 8054b2a: 2200 movs r2, #0 8054b2c: 701a strb r2, [r3, #0] switch(result) 8054b2e: 79fb ldrb r3, [r7, #7] 8054b30: 3b03 subs r3, #3 8054b32: 2b06 cmp r3, #6 8054b34: d81c bhi.n 8054b70 8054b36: a201 add r2, pc, #4 ; (adr r2, 8054b3c ) 8054b38: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8054b3c: 08054b59 .word 0x08054b59 8054b40: 08054b61 .word 0x08054b61 8054b44: 08054b71 .word 0x08054b71 8054b48: 08054b71 .word 0x08054b71 8054b4c: 08054b71 .word 0x08054b71 8054b50: 08054b69 .word 0x08054b69 8054b54: 08054b61 .word 0x08054b61 STATUS = AP_NO_CARD; 8054b58: 4b24 ldr r3, [pc, #144] ; (8054bec ) 8054b5a: 2211 movs r2, #17 8054b5c: 601a str r2, [r3, #0] break; 8054b5e: e00b b.n 8054b78 STATUS = AP_INVALID_FILE; 8054b60: 4b22 ldr r3, [pc, #136] ; (8054bec ) 8054b62: 2202 movs r2, #2 8054b64: 601a str r2, [r3, #0] break; 8054b66: e007 b.n 8054b78 STATUS = AP_FILE_EXIST; 8054b68: 4b20 ldr r3, [pc, #128] ; (8054bec ) 8054b6a: 2206 movs r2, #6 8054b6c: 601a str r2, [r3, #0] break; 8054b6e: e003 b.n 8054b78 STATUS = AP_DISK_ERROR; 8054b70: 4b1e ldr r3, [pc, #120] ; (8054bec ) 8054b72: 220b movs r2, #11 8054b74: 601a str r2, [r3, #0] break; 8054b76: bf00 nop timerStatus = sec2; 8054b78: 4b1d ldr r3, [pc, #116] ; (8054bf0 ) 8054b7a: f44f 5280 mov.w r2, #4096 ; 0x1000 8054b7e: 801a strh r2, [r3, #0] DrawStatus = true; 8054b80: 4b1c ldr r3, [pc, #112] ; (8054bf4 ) 8054b82: 2201 movs r2, #1 8054b84: 701a strb r2, [r3, #0] } 8054b86: e010 b.n 8054baa Recording = false; 8054b88: 4b0f ldr r3, [pc, #60] ; (8054bc8 ) 8054b8a: 2200 movs r2, #0 8054b8c: 701a strb r2, [r3, #0] timerStatus = sec2; 8054b8e: 4b18 ldr r3, [pc, #96] ; (8054bf0 ) 8054b90: f44f 5280 mov.w r2, #4096 ; 0x1000 8054b94: 801a strh r2, [r3, #0] DrawStatus = true; 8054b96: 4b17 ldr r3, [pc, #92] ; (8054bf4 ) 8054b98: 2201 movs r2, #1 8054b9a: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 8054b9c: 4b13 ldr r3, [pc, #76] ; (8054bec ) 8054b9e: 2211 movs r2, #17 8054ba0: 601a str r2, [r3, #0] } 8054ba2: e002 b.n 8054baa menupos = GainSelecting; 8054ba4: 4b07 ldr r3, [pc, #28] ; (8054bc4 ) 8054ba6: 2202 movs r2, #2 8054ba8: 701a strb r2, [r3, #0] } 8054baa: bf00 nop 8054bac: 3708 adds r7, #8 8054bae: 46bd mov sp, r7 8054bb0: bd80 pop {r7, pc} 8054bb2: bf00 nop 8054bb4: 20023eb8 .word 0x20023eb8 8054bb8: 20020080 .word 0x20020080 8054bbc: 2f449ba8 .word 0x2f449ba8 8054bc0: 20026228 .word 0x20026228 8054bc4: 20020070 .word 0x20020070 8054bc8: 20020dd0 .word 0x20020dd0 8054bcc: 20020dcc .word 0x20020dcc 8054bd0: 20020dce .word 0x20020dce 8054bd4: 20020d9f .word 0x20020d9f 8054bd8: 20020da0 .word 0x20020da0 8054bdc: 20020d9c .word 0x20020d9c 8054be0: 2002169c .word 0x2002169c 8054be4: 20020e5c .word 0x20020e5c 8054be8: 20020f10 .word 0x20020f10 8054bec: 20020dec .word 0x20020dec 8054bf0: 200216dc .word 0x200216dc 8054bf4: 20020df2 .word 0x20020df2 08054bf8 : { 8054bf8: b480 push {r7} 8054bfa: b085 sub sp, #20 8054bfc: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 8054bfe: 4b19 ldr r3, [pc, #100] ; (8054c64 ) 8054c00: 2200 movs r2, #0 8054c02: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 8054c06: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 8054c0a: 4b16 ldr r3, [pc, #88] ; (8054c64 ) 8054c0c: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 8054c10: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 8054c12: 687b ldr r3, [r7, #4] 8054c14: 0b5b lsrs r3, r3, #13 8054c16: f3c3 030e ubfx r3, r3, #0, #15 8054c1a: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 8054c1c: 687b ldr r3, [r7, #4] 8054c1e: 08db lsrs r3, r3, #3 8054c20: f3c3 0309 ubfx r3, r3, #0, #10 8054c24: 60bb str r3, [r7, #8] SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 8054c26: 490f ldr r1, [pc, #60] ; (8054c64 ) 8054c28: 68fb ldr r3, [r7, #12] 8054c2a: 015a lsls r2, r3, #5 8054c2c: f643 73e0 movw r3, #16352 ; 0x3fe0 8054c30: 4013 ands r3, r2 ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); 8054c32: 68ba ldr r2, [r7, #8] 8054c34: 0792 lsls r2, r2, #30 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 8054c36: 4313 orrs r3, r2 8054c38: f8c1 3274 str.w r3, [r1, #628] ; 0x274 } while (ways-- != 0U); 8054c3c: 68bb ldr r3, [r7, #8] 8054c3e: 1e5a subs r2, r3, #1 8054c40: 60ba str r2, [r7, #8] 8054c42: 2b00 cmp r3, #0 8054c44: d1ef bne.n 8054c26 } while(sets-- != 0U); 8054c46: 68fb ldr r3, [r7, #12] 8054c48: 1e5a subs r2, r3, #1 8054c4a: 60fa str r2, [r7, #12] 8054c4c: 2b00 cmp r3, #0 8054c4e: d1e5 bne.n 8054c1c 8054c50: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 8054c54: f3bf 8f6f isb sy } 8054c58: bf00 nop 8054c5a: 3714 adds r7, #20 8054c5c: 46bd mov sp, r7 8054c5e: f85d 7b04 ldr.w r7, [sp], #4 8054c62: 4770 bx lr 8054c64: e000ed00 .word 0xe000ed00 08054c68 : } void LTDC_Reset(void) { 8054c68: b580 push {r7, lr} 8054c6a: af00 add r7, sp, #0 HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_SET); HAL_Delay(100); 8054c6c: 2201 movs r2, #1 8054c6e: 2140 movs r1, #64 ; 0x40 8054c70: 480b ldr r0, [pc, #44] ; (8054ca0 ) 8054c72: f065 fb93 bl 80ba39c 8054c76: 2064 movs r0, #100 ; 0x64 8054c78: f062 fee0 bl 80b7a3c HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_RESET); HAL_Delay(100); 8054c7c: 2200 movs r2, #0 8054c7e: 2140 movs r1, #64 ; 0x40 8054c80: 4807 ldr r0, [pc, #28] ; (8054ca0 ) 8054c82: f065 fb8b bl 80ba39c 8054c86: 2064 movs r0, #100 ; 0x64 8054c88: f062 fed8 bl 80b7a3c HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_SET); HAL_Delay(100); 8054c8c: 2201 movs r2, #1 8054c8e: 2140 movs r1, #64 ; 0x40 8054c90: 4803 ldr r0, [pc, #12] ; (8054ca0 ) 8054c92: f065 fb83 bl 80ba39c 8054c96: 2064 movs r0, #100 ; 0x64 8054c98: f062 fed0 bl 80b7a3c } 8054c9c: bf00 nop 8054c9e: bd80 pop {r7, pc} 8054ca0: 40020c00 .word 0x40020c00 08054ca4 : /* LTDC init function */ void MX_LTDC_Init(void) { 8054ca4: b580 push {r7, lr} 8054ca6: b09c sub sp, #112 ; 0x70 8054ca8: af00 add r7, sp, #0 __IO uint32_t tickstart; // SET_BIT(RCC->CR, RCC_CR_PLLSAION); // HAL_Delay(100); LTDC_Reset(); 8054caa: f7ff ffdd bl 8054c68 __HAL_RCC_PLLSAI_ENABLE(); 8054cae: 4a8c ldr r2, [pc, #560] ; (8054ee0 ) 8054cb0: 4b8b ldr r3, [pc, #556] ; (8054ee0 ) 8054cb2: 681b ldr r3, [r3, #0] 8054cb4: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 8054cb8: 6013 str r3, [r2, #0] tickstart = HAL_GetTick(); 8054cba: f062 feb3 bl 80b7a24 8054cbe: 4603 mov r3, r0 8054cc0: 607b str r3, [r7, #4] while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET) 8054cc2: e008 b.n 8054cd6 { if((HAL_GetTick() - tickstart) >= PLLSAI_TIMEOUT_VALUE) { 8054cc4: f062 feae bl 80b7a24 8054cc8: 4602 mov r2, r0 8054cca: 687b ldr r3, [r7, #4] 8054ccc: 1ad3 subs r3, r2, r3 8054cce: 2b63 cmp r3, #99 ; 0x63 8054cd0: d901 bls.n 8054cd6 Error_Handler(); 8054cd2: f001 fdeb bl 80568ac while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET) 8054cd6: 4b82 ldr r3, [pc, #520] ; (8054ee0 ) 8054cd8: 681b ldr r3, [r3, #0] 8054cda: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 8054cde: f1b3 5f00 cmp.w r3, #536870912 ; 0x20000000 8054ce2: d1ef bne.n 8054cc4 } } hLtdcHandler.Instance = LTDC; 8054ce4: 4b7f ldr r3, [pc, #508] ; (8054ee4 ) 8054ce6: 4a80 ldr r2, [pc, #512] ; (8054ee8 ) 8054ce8: 601a str r2, [r3, #0] hLtdcHandler.Init.HSPolarity = LTDC_HSPOLARITY_AL; 8054cea: 4b7e ldr r3, [pc, #504] ; (8054ee4 ) 8054cec: 2200 movs r2, #0 8054cee: 605a str r2, [r3, #4] hLtdcHandler.Init.VSPolarity = LTDC_VSPOLARITY_AL; 8054cf0: 4b7c ldr r3, [pc, #496] ; (8054ee4 ) 8054cf2: 2200 movs r2, #0 8054cf4: 609a str r2, [r3, #8] hLtdcHandler.Init.DEPolarity = LTDC_DEPOLARITY_AH; 8054cf6: 4b7b ldr r3, [pc, #492] ; (8054ee4 ) 8054cf8: f04f 5200 mov.w r2, #536870912 ; 0x20000000 8054cfc: 60da str r2, [r3, #12] hLtdcHandler.Init.PCPolarity = LTDC_PCPOLARITY_IPC; 8054cfe: 4b79 ldr r3, [pc, #484] ; (8054ee4 ) 8054d00: 2200 movs r2, #0 8054d02: 611a str r2, [r3, #16] hLtdcHandler.Init.HorizontalSync = 38; 8054d04: 4b77 ldr r3, [pc, #476] ; (8054ee4 ) 8054d06: 2226 movs r2, #38 ; 0x26 8054d08: 615a str r2, [r3, #20] hLtdcHandler.Init.VerticalSync = 4; 8054d0a: 4b76 ldr r3, [pc, #472] ; (8054ee4 ) 8054d0c: 2204 movs r2, #4 8054d0e: 619a str r2, [r3, #24] hLtdcHandler.Init.AccumulatedHBP = 68; 8054d10: 4b74 ldr r3, [pc, #464] ; (8054ee4 ) 8054d12: 2244 movs r2, #68 ; 0x44 8054d14: 61da str r2, [r3, #28] hLtdcHandler.Init.AccumulatedVBP = 18; 8054d16: 4b73 ldr r3, [pc, #460] ; (8054ee4 ) 8054d18: 2212 movs r2, #18 8054d1a: 621a str r2, [r3, #32] hLtdcHandler.Init.AccumulatedActiveW = 388; 8054d1c: 4b71 ldr r3, [pc, #452] ; (8054ee4 ) 8054d1e: f44f 72c2 mov.w r2, #388 ; 0x184 8054d22: 625a str r2, [r3, #36] ; 0x24 hLtdcHandler.Init.AccumulatedActiveH = 262; 8054d24: 4b6f ldr r3, [pc, #444] ; (8054ee4 ) 8054d26: f44f 7283 mov.w r2, #262 ; 0x106 8054d2a: 629a str r2, [r3, #40] ; 0x28 hLtdcHandler.Init.TotalWidth = 408; 8054d2c: 4b6d ldr r3, [pc, #436] ; (8054ee4 ) 8054d2e: f44f 72cc mov.w r2, #408 ; 0x198 8054d32: 62da str r2, [r3, #44] ; 0x2c hLtdcHandler.Init.TotalHeigh = 263; 8054d34: 4b6b ldr r3, [pc, #428] ; (8054ee4 ) 8054d36: f240 1207 movw r2, #263 ; 0x107 8054d3a: 631a str r2, [r3, #48] ; 0x30 hLtdcHandler.Init.Backcolor.Blue = 0; 8054d3c: 4b69 ldr r3, [pc, #420] ; (8054ee4 ) 8054d3e: 2200 movs r2, #0 8054d40: f883 2034 strb.w r2, [r3, #52] ; 0x34 hLtdcHandler.Init.Backcolor.Green = 0; 8054d44: 4b67 ldr r3, [pc, #412] ; (8054ee4 ) 8054d46: 2200 movs r2, #0 8054d48: f883 2035 strb.w r2, [r3, #53] ; 0x35 hLtdcHandler.Init.Backcolor.Red = 0; 8054d4c: 4b65 ldr r3, [pc, #404] ; (8054ee4 ) 8054d4e: 2200 movs r2, #0 8054d50: f883 2036 strb.w r2, [r3, #54] ; 0x36 if (HAL_LTDC_Init(&hLtdcHandler) != HAL_OK) { 8054d54: 4863 ldr r0, [pc, #396] ; (8054ee4 ) 8054d56: f065 fb53 bl 80ba400 8054d5a: 4603 mov r3, r0 8054d5c: 2b00 cmp r3, #0 8054d5e: d001 beq.n 8054d64 Error_Handler(); 8054d60: f001 fda4 bl 80568ac } pLayerCfg.WindowX0 = 0; 8054d64: 2300 movs r3, #0 8054d66: 63fb str r3, [r7, #60] ; 0x3c pLayerCfg.WindowX1 = 320; 8054d68: f44f 73a0 mov.w r3, #320 ; 0x140 8054d6c: 643b str r3, [r7, #64] ; 0x40 pLayerCfg.WindowY0 = 0; 8054d6e: 2300 movs r3, #0 8054d70: 647b str r3, [r7, #68] ; 0x44 pLayerCfg.WindowY1 = 240; 8054d72: 23f0 movs r3, #240 ; 0xf0 8054d74: 64bb str r3, [r7, #72] ; 0x48 pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; 8054d76: 2302 movs r3, #2 8054d78: 64fb str r3, [r7, #76] ; 0x4c pLayerCfg.Alpha = 255; 8054d7a: 23ff movs r3, #255 ; 0xff 8054d7c: 653b str r3, [r7, #80] ; 0x50 pLayerCfg.Alpha0 = 0; 8054d7e: 2300 movs r3, #0 8054d80: 657b str r3, [r7, #84] ; 0x54 pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; 8054d82: f44f 63c0 mov.w r3, #1536 ; 0x600 8054d86: 65bb str r3, [r7, #88] ; 0x58 pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; 8054d88: 2307 movs r3, #7 8054d8a: 65fb str r3, [r7, #92] ; 0x5c pLayerCfg.FBStartAdress = SCR1_ADDR_OFFSET; 8054d8c: f04f 43c8 mov.w r3, #1677721600 ; 0x64000000 8054d90: 663b str r3, [r7, #96] ; 0x60 pLayerCfg.ImageWidth = 320; 8054d92: f44f 73a0 mov.w r3, #320 ; 0x140 8054d96: 667b str r3, [r7, #100] ; 0x64 pLayerCfg.ImageHeight = 240; 8054d98: 23f0 movs r3, #240 ; 0xf0 8054d9a: 66bb str r3, [r7, #104] ; 0x68 pLayerCfg.Backcolor.Blue = 0; 8054d9c: 2300 movs r3, #0 8054d9e: f887 306c strb.w r3, [r7, #108] ; 0x6c pLayerCfg.Backcolor.Green = 0; 8054da2: 2300 movs r3, #0 8054da4: f887 306d strb.w r3, [r7, #109] ; 0x6d pLayerCfg.Backcolor.Red = 0; 8054da8: 2300 movs r3, #0 8054daa: f887 306e strb.w r3, [r7, #110] ; 0x6e if(HAL_LTDC_ConfigLayer(&hLtdcHandler, &pLayerCfg, 0) != HAL_OK) { 8054dae: f107 033c add.w r3, r7, #60 ; 0x3c 8054db2: 2200 movs r2, #0 8054db4: 4619 mov r1, r3 8054db6: 484b ldr r0, [pc, #300] ; (8054ee4 ) 8054db8: f065 fcaa bl 80ba710 8054dbc: 4603 mov r3, r0 8054dbe: 2b00 cmp r3, #0 8054dc0: d001 beq.n 8054dc6 Error_Handler(); 8054dc2: f001 fd73 bl 80568ac } pLayerCfg1.WindowX0 = 0; 8054dc6: 2300 movs r3, #0 8054dc8: 60bb str r3, [r7, #8] pLayerCfg1.WindowX1 = 320; 8054dca: f44f 73a0 mov.w r3, #320 ; 0x140 8054dce: 60fb str r3, [r7, #12] pLayerCfg1.WindowY0 = 0; 8054dd0: 2300 movs r3, #0 8054dd2: 613b str r3, [r7, #16] pLayerCfg1.WindowY1 = 240; 8054dd4: 23f0 movs r3, #240 ; 0xf0 8054dd6: 617b str r3, [r7, #20] pLayerCfg1.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; 8054dd8: 2302 movs r3, #2 8054dda: 61bb str r3, [r7, #24] pLayerCfg1.Alpha = 255; 8054ddc: 23ff movs r3, #255 ; 0xff 8054dde: 61fb str r3, [r7, #28] pLayerCfg1.Alpha0 = 0; 8054de0: 2300 movs r3, #0 8054de2: 623b str r3, [r7, #32] pLayerCfg1.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; 8054de4: f44f 63c0 mov.w r3, #1536 ; 0x600 8054de8: 627b str r3, [r7, #36] ; 0x24 pLayerCfg1.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; 8054dea: 2307 movs r3, #7 8054dec: 62bb str r3, [r7, #40] ; 0x28 pLayerCfg1.FBStartAdress = SCR2_ADDR_OFFSET; 8054dee: 4b3f ldr r3, [pc, #252] ; (8054eec ) 8054df0: 62fb str r3, [r7, #44] ; 0x2c pLayerCfg1.ImageWidth = 320; 8054df2: f44f 73a0 mov.w r3, #320 ; 0x140 8054df6: 633b str r3, [r7, #48] ; 0x30 pLayerCfg1.ImageHeight = 240; 8054df8: 23f0 movs r3, #240 ; 0xf0 8054dfa: 637b str r3, [r7, #52] ; 0x34 pLayerCfg1.Backcolor.Blue = 0; 8054dfc: 2300 movs r3, #0 8054dfe: f887 3038 strb.w r3, [r7, #56] ; 0x38 pLayerCfg1.Backcolor.Green = 0; 8054e02: 2300 movs r3, #0 8054e04: f887 3039 strb.w r3, [r7, #57] ; 0x39 pLayerCfg1.Backcolor.Red = 0; 8054e08: 2300 movs r3, #0 8054e0a: f887 303a strb.w r3, [r7, #58] ; 0x3a if(HAL_LTDC_ConfigLayer(&hLtdcHandler, &pLayerCfg1, 1) != HAL_OK) { 8054e0e: f107 0308 add.w r3, r7, #8 8054e12: 2201 movs r2, #1 8054e14: 4619 mov r1, r3 8054e16: 4833 ldr r0, [pc, #204] ; (8054ee4 ) 8054e18: f065 fc7a bl 80ba710 8054e1c: 4603 mov r3, r0 8054e1e: 2b00 cmp r3, #0 8054e20: d001 beq.n 8054e26 Error_Handler(); 8054e22: f001 fd43 bl 80568ac } //HAL_LTDC_EnableCLUT(&hLtdcHandler, 0); //HAL_LTDC_EnableCLUT(&hLtdcHandler, 1); ActiveLayer = 1; 8054e26: 4b32 ldr r3, [pc, #200] ; (8054ef0 ) 8054e28: 2201 movs r2, #1 8054e2a: 601a str r2, [r3, #0] RenderingLayer = 0; 8054e2c: 4b31 ldr r3, [pc, #196] ; (8054ef4 ) 8054e2e: 2200 movs r2, #0 8054e30: 601a str r2, [r3, #0] BSP_LCD_DisplayOff(); 8054e32: f000 f879 bl 8054f28 BSP_LCD_SelectLayer(0); 8054e36: 2000 movs r0, #0 8054e38: f000 f960 bl 80550fc BSP_LCD_Clear(0xFF000000); 8054e3c: f04f 407f mov.w r0, #4278190080 ; 0xff000000 8054e40: f000 fa3e bl 80552c0 BSP_LCD_SelectLayer(1); 8054e44: 2001 movs r0, #1 8054e46: f000 f959 bl 80550fc BSP_LCD_Clear(0xFF000000); 8054e4a: f04f 407f mov.w r0, #4278190080 ; 0xff000000 8054e4e: f000 fa37 bl 80552c0 BSP_LCD_SetLayerVisible(RenderingLayer, DISABLE); 8054e52: 4b28 ldr r3, [pc, #160] ; (8054ef4 ) 8054e54: 681b ldr r3, [r3, #0] 8054e56: 2100 movs r1, #0 8054e58: 4618 mov r0, r3 8054e5a: f000 f95f bl 805511c BSP_LCD_SetLayerVisible(ActiveLayer, DISABLE); 8054e5e: 4b24 ldr r3, [pc, #144] ; (8054ef0 ) 8054e60: 681b ldr r3, [r3, #0] 8054e62: 2100 movs r1, #0 8054e64: 4618 mov r0, r3 8054e66: f000 f959 bl 805511c HAL_LTDC_Reload(&hLtdcHandler, LTDC_RELOAD_IMMEDIATE); 8054e6a: 2101 movs r1, #1 8054e6c: 481d ldr r0, [pc, #116] ; (8054ee4 ) 8054e6e: f065 fcc5 bl 80ba7fc DrawProp[0].BackColor = LCD_COLOR_BLACK; 8054e72: 4b21 ldr r3, [pc, #132] ; (8054ef8 ) 8054e74: 4a21 ldr r2, [pc, #132] ; (8054efc ) 8054e76: 605a str r2, [r3, #4] DrawProp[0].pFont = &Font17; 8054e78: 4b1f ldr r3, [pc, #124] ; (8054ef8 ) 8054e7a: 4a21 ldr r2, [pc, #132] ; (8054f00 ) 8054e7c: 609a str r2, [r3, #8] DrawProp[0].TextColor = LCD_COLOR_WHITE; 8054e7e: 4b1e ldr r3, [pc, #120] ; (8054ef8 ) 8054e80: f04f 32ff mov.w r2, #4294967295 8054e84: 601a str r2, [r3, #0] DrawProp[1].BackColor = LCD_COLOR_BLACK; 8054e86: 4b1c ldr r3, [pc, #112] ; (8054ef8 ) 8054e88: 4a1c ldr r2, [pc, #112] ; (8054efc ) 8054e8a: 611a str r2, [r3, #16] DrawProp[1].pFont = &Font17; 8054e8c: 4b1a ldr r3, [pc, #104] ; (8054ef8 ) 8054e8e: 4a1c ldr r2, [pc, #112] ; (8054f00 ) 8054e90: 615a str r2, [r3, #20] DrawProp[1].TextColor = LCD_COLOR_WHITE; 8054e92: 4b19 ldr r3, [pc, #100] ; (8054ef8 ) 8054e94: f04f 32ff mov.w r2, #4294967295 8054e98: 60da str r2, [r3, #12] CurrentFont = &Font17; 8054e9a: 4b1a ldr r3, [pc, #104] ; (8054f04 ) 8054e9c: 4a18 ldr r2, [pc, #96] ; (8054f00 ) 8054e9e: 601a str r2, [r3, #0] BSP_LCD_DisplayOn(); 8054ea0: f000 f836 bl 8054f10 HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_SET); // BACKLIGHT IS OFF 8054ea4: 2201 movs r2, #1 8054ea6: f44f 7180 mov.w r1, #256 ; 0x100 8054eaa: 4817 ldr r0, [pc, #92] ; (8054f08 ) 8054eac: f065 fa76 bl 80ba39c RefreshScreen = true; 8054eb0: 4b16 ldr r3, [pc, #88] ; (8054f0c ) 8054eb2: 2201 movs r2, #1 8054eb4: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 255); 8054eb6: 21ff movs r1, #255 ; 0xff 8054eb8: 480a ldr r0, [pc, #40] ; (8054ee4 ) 8054eba: f065 fc67 bl 80ba78c while(RefreshScreen); 8054ebe: bf00 nop 8054ec0: 4b12 ldr r3, [pc, #72] ; (8054f0c ) 8054ec2: 781b ldrb r3, [r3, #0] 8054ec4: b2db uxtb r3, r3 8054ec6: 2b00 cmp r3, #0 8054ec8: d1fa bne.n 8054ec0 BSP_LCD_SetLayerVisible(RenderingLayer, ENABLE); 8054eca: 4b0a ldr r3, [pc, #40] ; (8054ef4 ) 8054ecc: 681b ldr r3, [r3, #0] 8054ece: 2101 movs r1, #1 8054ed0: 4618 mov r0, r3 8054ed2: f000 f923 bl 805511c } 8054ed6: bf00 nop 8054ed8: 3770 adds r7, #112 ; 0x70 8054eda: 46bd mov sp, r7 8054edc: bd80 pop {r7, pc} 8054ede: bf00 nop 8054ee0: 40023800 .word 0x40023800 8054ee4: 20025d80 .word 0x20025d80 8054ee8: 40016800 .word 0x40016800 8054eec: 64025800 .word 0x64025800 8054ef0: 20020078 .word 0x20020078 8054ef4: 20021048 .word 0x20021048 8054ef8: 20021030 .word 0x20021030 8054efc: ff0a0f1f .word 0xff0a0f1f 8054f00: 20020048 .word 0x20020048 8054f04: 20025d7c .word 0x20025d7c 8054f08: 40020000 .word 0x40020000 8054f0c: 2002104c .word 0x2002104c 08054f10 : void BSP_LCD_DisplayOn(void) { 8054f10: b580 push {r7, lr} 8054f12: af00 add r7, sp, #0 //__HAL_LTDC_ENABLE(&hLtdcHandler); HAL_GPIO_WritePin(GPIOF, GPIO_PIN_10, GPIO_PIN_SET); // DISPLAY_ON 8054f14: 2201 movs r2, #1 8054f16: f44f 6180 mov.w r1, #1024 ; 0x400 8054f1a: 4802 ldr r0, [pc, #8] ; (8054f24 ) 8054f1c: f065 fa3e bl 80ba39c } 8054f20: bf00 nop 8054f22: bd80 pop {r7, pc} 8054f24: 40021400 .word 0x40021400 08054f28 : /** * @brief Disables the display. * @retval None */ void BSP_LCD_DisplayOff(void) { 8054f28: b580 push {r7, lr} 8054f2a: af00 add r7, sp, #0 //__HAL_LTDC_DISABLE(&hLtdcHandler); HAL_GPIO_WritePin(GPIOF, GPIO_PIN_10, GPIO_PIN_RESET); // DISPLAY_OFF 8054f2c: 2200 movs r2, #0 8054f2e: f44f 6180 mov.w r1, #1024 ; 0x400 8054f32: 4802 ldr r0, [pc, #8] ; (8054f3c ) 8054f34: f065 fa32 bl 80ba39c } 8054f38: bf00 nop 8054f3a: bd80 pop {r7, pc} 8054f3c: 40021400 .word 0x40021400 08054f40 : void HAL_LTDC_MspInit(LTDC_HandleTypeDef* ltdcHandle) { 8054f40: b580 push {r7, lr} 8054f42: b088 sub sp, #32 8054f44: af00 add r7, sp, #0 8054f46: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct; if(ltdcHandle->Instance == LTDC) 8054f48: 687b ldr r3, [r7, #4] 8054f4a: 681b ldr r3, [r3, #0] 8054f4c: 4a4f ldr r2, [pc, #316] ; (805508c ) 8054f4e: 4293 cmp r3, r2 8054f50: f040 8097 bne.w 8055082 { __HAL_RCC_LTDC_CLK_ENABLE(); 8054f54: 4a4e ldr r2, [pc, #312] ; (8055090 ) 8054f56: 4b4e ldr r3, [pc, #312] ; (8055090 ) 8054f58: 6c5b ldr r3, [r3, #68] ; 0x44 8054f5a: f043 6380 orr.w r3, r3, #67108864 ; 0x4000000 8054f5e: 6453 str r3, [r2, #68] ; 0x44 8054f60: 4b4b ldr r3, [pc, #300] ; (8055090 ) 8054f62: 6c5b ldr r3, [r3, #68] ; 0x44 8054f64: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 8054f68: 60bb str r3, [r7, #8] 8054f6a: 68bb ldr r3, [r7, #8] PG7 ------> LTDC_CLK PG10 ------> LTDC_G3 PG11 ------> LTDC_B3 PG12 ------> LTDC_B4 */ GPIO_InitStruct.Pin = GPIO_PIN_10; 8054f6c: f44f 6380 mov.w r3, #1024 ; 0x400 8054f70: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 8054f72: 2301 movs r3, #1 8054f74: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 8054f76: 2300 movs r3, #0 8054f78: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 8054f7a: 2303 movs r3, #3 8054f7c: 61bb str r3, [r7, #24] HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); 8054f7e: f107 030c add.w r3, r7, #12 8054f82: 4619 mov r1, r3 8054f84: 4843 ldr r0, [pc, #268] ; (8055094 ) 8054f86: f064 ff3b bl 80b9e00 GPIO_InitStruct.Pin = GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_6 | GPIO_PIN_11 |GPIO_PIN_12; 8054f8a: f641 0358 movw r3, #6232 ; 0x1858 8054f8e: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 8054f90: 2302 movs r3, #2 8054f92: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 8054f94: 2300 movs r3, #0 8054f96: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 8054f98: 2303 movs r3, #3 8054f9a: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 8054f9c: 230e movs r3, #14 8054f9e: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 8054fa0: f107 030c add.w r3, r7, #12 8054fa4: 4619 mov r1, r3 8054fa6: 483c ldr r0, [pc, #240] ; (8055098 ) 8054fa8: f064 ff2a bl 80b9e00 GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1; 8054fac: 2303 movs r3, #3 8054fae: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 8054fb0: 2302 movs r3, #2 8054fb2: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 8054fb4: 2300 movs r3, #0 8054fb6: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 8054fb8: 2303 movs r3, #3 8054fba: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF9_LTDC; 8054fbc: 2309 movs r3, #9 8054fbe: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 8054fc0: f107 030c add.w r3, r7, #12 8054fc4: 4619 mov r1, r3 8054fc6: 4835 ldr r0, [pc, #212] ; (805509c ) 8054fc8: f064 ff1a bl 80b9e00 GPIO_InitStruct.Pin = GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_8 | GPIO_PIN_9; 8054fcc: f44f 6370 mov.w r3, #3840 ; 0xf00 8054fd0: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 8054fd2: 2302 movs r3, #2 8054fd4: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 8054fd6: 2300 movs r3, #0 8054fd8: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 8054fda: 2303 movs r3, #3 8054fdc: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 8054fde: 230e movs r3, #14 8054fe0: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 8054fe2: f107 030c add.w r3, r7, #12 8054fe6: 4619 mov r1, r3 8054fe8: 482c ldr r0, [pc, #176] ; (805509c ) 8054fea: f064 ff09 bl 80b9e00 GPIO_InitStruct.Pin = GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_11; 8054fee: f44f 630c mov.w r3, #2240 ; 0x8c0 8054ff2: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 8054ff4: 2302 movs r3, #2 8054ff6: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 8054ff8: 2300 movs r3, #0 8054ffa: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 8054ffc: 2303 movs r3, #3 8054ffe: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 8055000: 230e movs r3, #14 8055002: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); 8055004: f107 030c add.w r3, r7, #12 8055008: 4619 mov r1, r3 805500a: 4825 ldr r0, [pc, #148] ; (80550a0 ) 805500c: f064 fef8 bl 80b9e00 GPIO_InitStruct.Pin = GPIO_PIN_6 | GPIO_PIN_7; 8055010: 23c0 movs r3, #192 ; 0xc0 8055012: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 8055014: 2302 movs r3, #2 8055016: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 8055018: 2300 movs r3, #0 805501a: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 805501c: 2303 movs r3, #3 805501e: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 8055020: 230e movs r3, #14 8055022: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 8055024: f107 030c add.w r3, r7, #12 8055028: 4619 mov r1, r3 805502a: 481e ldr r0, [pc, #120] ; (80550a4 ) 805502c: f064 fee8 bl 80b9e00 GPIO_InitStruct.Pin = GPIO_PIN_3; 8055030: 2308 movs r3, #8 8055032: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 8055034: 2302 movs r3, #2 8055036: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 8055038: 2300 movs r3, #0 805503a: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 805503c: 2303 movs r3, #3 805503e: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 8055040: 230e movs r3, #14 8055042: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); 8055044: f107 030c add.w r3, r7, #12 8055048: 4619 mov r1, r3 805504a: 4817 ldr r0, [pc, #92] ; (80550a8 ) 805504c: f064 fed8 bl 80b9e00 GPIO_InitStruct.Pin = GPIO_PIN_10 | GPIO_PIN_12; 8055050: f44f 53a0 mov.w r3, #5120 ; 0x1400 8055054: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 8055056: 2302 movs r3, #2 8055058: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 805505a: 2300 movs r3, #0 805505c: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 805505e: 2303 movs r3, #3 8055060: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF9_LTDC; 8055062: 2309 movs r3, #9 8055064: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); 8055066: f107 030c add.w r3, r7, #12 805506a: 4619 mov r1, r3 805506c: 480c ldr r0, [pc, #48] ; (80550a0 ) 805506e: f064 fec7 bl 80b9e00 HAL_NVIC_SetPriority(LTDC_IRQn, 6, 0); 8055072: 2200 movs r2, #0 8055074: 2106 movs r1, #6 8055076: 2058 movs r0, #88 ; 0x58 8055078: f063 fc2b bl 80b88d2 HAL_NVIC_EnableIRQ(LTDC_IRQn); 805507c: 2058 movs r0, #88 ; 0x58 805507e: f063 fc44 bl 80b890a } } 8055082: bf00 nop 8055084: 3720 adds r7, #32 8055086: 46bd mov sp, r7 8055088: bd80 pop {r7, pc} 805508a: bf00 nop 805508c: 40016800 .word 0x40016800 8055090: 40023800 .word 0x40023800 8055094: 40021400 .word 0x40021400 8055098: 40020000 .word 0x40020000 805509c: 40020400 .word 0x40020400 80550a0: 40021800 .word 0x40021800 80550a4: 40020800 .word 0x40020800 80550a8: 40020c00 .word 0x40020c00 080550ac : HAL_NVIC_DisableIRQ(LTDC_IRQn); } } uint32_t BSP_LCD_GetXSize(void) { 80550ac: b480 push {r7} 80550ae: af00 add r7, sp, #0 return hLtdcHandler.LayerCfg[ActiveLayer].ImageWidth; 80550b0: 4b06 ldr r3, [pc, #24] ; (80550cc ) 80550b2: 681b ldr r3, [r3, #0] 80550b4: 4a06 ldr r2, [pc, #24] ; (80550d0 ) 80550b6: 2134 movs r1, #52 ; 0x34 80550b8: fb01 f303 mul.w r3, r1, r3 80550bc: 4413 add r3, r2 80550be: 3360 adds r3, #96 ; 0x60 80550c0: 681b ldr r3, [r3, #0] } 80550c2: 4618 mov r0, r3 80550c4: 46bd mov sp, r7 80550c6: f85d 7b04 ldr.w r7, [sp], #4 80550ca: 4770 bx lr 80550cc: 20020078 .word 0x20020078 80550d0: 20025d80 .word 0x20025d80 080550d4 : /** * @brief Gets the LCD Y size. * @retval Used LCD Y size */ uint32_t BSP_LCD_GetYSize(void) { 80550d4: b480 push {r7} 80550d6: af00 add r7, sp, #0 return hLtdcHandler.LayerCfg[ActiveLayer].ImageHeight; 80550d8: 4b06 ldr r3, [pc, #24] ; (80550f4 ) 80550da: 681b ldr r3, [r3, #0] 80550dc: 4a06 ldr r2, [pc, #24] ; (80550f8 ) 80550de: 2134 movs r1, #52 ; 0x34 80550e0: fb01 f303 mul.w r3, r1, r3 80550e4: 4413 add r3, r2 80550e6: 3364 adds r3, #100 ; 0x64 80550e8: 681b ldr r3, [r3, #0] } 80550ea: 4618 mov r0, r3 80550ec: 46bd mov sp, r7 80550ee: f85d 7b04 ldr.w r7, [sp], #4 80550f2: 4770 bx lr 80550f4: 20020078 .word 0x20020078 80550f8: 20025d80 .word 0x20025d80 080550fc : { hLtdcHandler.LayerCfg[ActiveLayer].ImageHeight = imageHeightPixels; } void BSP_LCD_SelectLayer(uint32_t LayerIndex) { 80550fc: b480 push {r7} 80550fe: b083 sub sp, #12 8055100: af00 add r7, sp, #0 8055102: 6078 str r0, [r7, #4] ActiveLayer = LayerIndex; 8055104: 4a04 ldr r2, [pc, #16] ; (8055118 ) 8055106: 687b ldr r3, [r7, #4] 8055108: 6013 str r3, [r2, #0] } 805510a: bf00 nop 805510c: 370c adds r7, #12 805510e: 46bd mov sp, r7 8055110: f85d 7b04 ldr.w r7, [sp], #4 8055114: 4770 bx lr 8055116: bf00 nop 8055118: 20020078 .word 0x20020078 0805511c : * @arg ENABLE * @arg DISABLE * @retval None */ void BSP_LCD_SetLayerVisible(uint32_t LayerIndex, FunctionalState State) { 805511c: b480 push {r7} 805511e: b083 sub sp, #12 8055120: af00 add r7, sp, #0 8055122: 6078 str r0, [r7, #4] 8055124: 460b mov r3, r1 8055126: 70fb strb r3, [r7, #3] if(State == ENABLE) 8055128: 78fb ldrb r3, [r7, #3] 805512a: 2b01 cmp r3, #1 805512c: d113 bne.n 8055156 __HAL_LTDC_LAYER_ENABLE(&hLtdcHandler, LayerIndex); 805512e: 4b1a ldr r3, [pc, #104] ; (8055198 ) 8055130: 681b ldr r3, [r3, #0] 8055132: 461a mov r2, r3 8055134: 687b ldr r3, [r7, #4] 8055136: 01db lsls r3, r3, #7 8055138: 4413 add r3, r2 805513a: 3384 adds r3, #132 ; 0x84 805513c: 461a mov r2, r3 805513e: 4b16 ldr r3, [pc, #88] ; (8055198 ) 8055140: 681b ldr r3, [r3, #0] 8055142: 4619 mov r1, r3 8055144: 687b ldr r3, [r7, #4] 8055146: 01db lsls r3, r3, #7 8055148: 440b add r3, r1 805514a: 3384 adds r3, #132 ; 0x84 805514c: 681b ldr r3, [r3, #0] 805514e: f043 0301 orr.w r3, r3, #1 8055152: 6013 str r3, [r2, #0] 8055154: e012 b.n 805517c else __HAL_LTDC_LAYER_DISABLE(&hLtdcHandler, LayerIndex); 8055156: 4b10 ldr r3, [pc, #64] ; (8055198 ) 8055158: 681b ldr r3, [r3, #0] 805515a: 461a mov r2, r3 805515c: 687b ldr r3, [r7, #4] 805515e: 01db lsls r3, r3, #7 8055160: 4413 add r3, r2 8055162: 3384 adds r3, #132 ; 0x84 8055164: 461a mov r2, r3 8055166: 4b0c ldr r3, [pc, #48] ; (8055198 ) 8055168: 681b ldr r3, [r3, #0] 805516a: 4619 mov r1, r3 805516c: 687b ldr r3, [r7, #4] 805516e: 01db lsls r3, r3, #7 8055170: 440b add r3, r1 8055172: 3384 adds r3, #132 ; 0x84 8055174: 681b ldr r3, [r3, #0] 8055176: f023 0301 bic.w r3, r3, #1 805517a: 6013 str r3, [r2, #0] __HAL_LTDC_RELOAD_CONFIG(&hLtdcHandler); 805517c: 4b06 ldr r3, [pc, #24] ; (8055198 ) 805517e: 681b ldr r3, [r3, #0] 8055180: 4a05 ldr r2, [pc, #20] ; (8055198 ) 8055182: 6812 ldr r2, [r2, #0] 8055184: 6a52 ldr r2, [r2, #36] ; 0x24 8055186: f042 0201 orr.w r2, r2, #1 805518a: 625a str r2, [r3, #36] ; 0x24 } 805518c: bf00 nop 805518e: 370c adds r7, #12 8055190: 46bd mov sp, r7 8055192: f85d 7b04 ldr.w r7, [sp], #4 8055196: 4770 bx lr 8055198: 20025d80 .word 0x20025d80 0805519c : * @arg ENABLE * @arg DISABLE * @retval None */ void BSP_LCD_SetLayerVisible_NoReload(uint32_t LayerIndex, FunctionalState State) { 805519c: b480 push {r7} 805519e: b083 sub sp, #12 80551a0: af00 add r7, sp, #0 80551a2: 6078 str r0, [r7, #4] 80551a4: 460b mov r3, r1 80551a6: 70fb strb r3, [r7, #3] if(State == ENABLE) 80551a8: 78fb ldrb r3, [r7, #3] 80551aa: 2b01 cmp r3, #1 80551ac: d113 bne.n 80551d6 __HAL_LTDC_LAYER_ENABLE(&hLtdcHandler, LayerIndex); 80551ae: 4b16 ldr r3, [pc, #88] ; (8055208 ) 80551b0: 681b ldr r3, [r3, #0] 80551b2: 461a mov r2, r3 80551b4: 687b ldr r3, [r7, #4] 80551b6: 01db lsls r3, r3, #7 80551b8: 4413 add r3, r2 80551ba: 3384 adds r3, #132 ; 0x84 80551bc: 461a mov r2, r3 80551be: 4b12 ldr r3, [pc, #72] ; (8055208 ) 80551c0: 681b ldr r3, [r3, #0] 80551c2: 4619 mov r1, r3 80551c4: 687b ldr r3, [r7, #4] 80551c6: 01db lsls r3, r3, #7 80551c8: 440b add r3, r1 80551ca: 3384 adds r3, #132 ; 0x84 80551cc: 681b ldr r3, [r3, #0] 80551ce: f043 0301 orr.w r3, r3, #1 80551d2: 6013 str r3, [r2, #0] else __HAL_LTDC_LAYER_DISABLE(&hLtdcHandler, LayerIndex); } 80551d4: e012 b.n 80551fc else __HAL_LTDC_LAYER_DISABLE(&hLtdcHandler, LayerIndex); 80551d6: 4b0c ldr r3, [pc, #48] ; (8055208 ) 80551d8: 681b ldr r3, [r3, #0] 80551da: 461a mov r2, r3 80551dc: 687b ldr r3, [r7, #4] 80551de: 01db lsls r3, r3, #7 80551e0: 4413 add r3, r2 80551e2: 3384 adds r3, #132 ; 0x84 80551e4: 461a mov r2, r3 80551e6: 4b08 ldr r3, [pc, #32] ; (8055208 ) 80551e8: 681b ldr r3, [r3, #0] 80551ea: 4619 mov r1, r3 80551ec: 687b ldr r3, [r7, #4] 80551ee: 01db lsls r3, r3, #7 80551f0: 440b add r3, r1 80551f2: 3384 adds r3, #132 ; 0x84 80551f4: 681b ldr r3, [r3, #0] 80551f6: f023 0301 bic.w r3, r3, #1 80551fa: 6013 str r3, [r2, #0] } 80551fc: bf00 nop 80551fe: 370c adds r7, #12 8055200: 46bd mov sp, r7 8055202: f85d 7b04 ldr.w r7, [sp], #4 8055206: 4770 bx lr 8055208: 20025d80 .word 0x20025d80 0805520c : * @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) { 805520c: b480 push {r7} 805520e: b083 sub sp, #12 8055210: af00 add r7, sp, #0 8055212: 6078 str r0, [r7, #4] 8055214: 6039 str r1, [r7, #0] DrawProp[ActiveLayer].TextColor = ColorUp; 8055216: 4b0d ldr r3, [pc, #52] ; (805524c ) 8055218: 681a ldr r2, [r3, #0] 805521a: 490d ldr r1, [pc, #52] ; (8055250 ) 805521c: 4613 mov r3, r2 805521e: 005b lsls r3, r3, #1 8055220: 4413 add r3, r2 8055222: 009b lsls r3, r3, #2 8055224: 440b add r3, r1 8055226: 687a ldr r2, [r7, #4] 8055228: 601a str r2, [r3, #0] DrawProp[ActiveLayer].BackColor = ColorDn; 805522a: 4b08 ldr r3, [pc, #32] ; (805524c ) 805522c: 681a ldr r2, [r3, #0] 805522e: 4908 ldr r1, [pc, #32] ; (8055250 ) 8055230: 4613 mov r3, r2 8055232: 005b lsls r3, r3, #1 8055234: 4413 add r3, r2 8055236: 009b lsls r3, r3, #2 8055238: 440b add r3, r1 805523a: 3304 adds r3, #4 805523c: 683a ldr r2, [r7, #0] 805523e: 601a str r2, [r3, #0] } 8055240: bf00 nop 8055242: 370c adds r7, #12 8055244: 46bd mov sp, r7 8055246: f85d 7b04 ldr.w r7, [sp], #4 805524a: 4770 bx lr 805524c: 20020078 .word 0x20020078 8055250: 20021030 .word 0x20021030 08055254 : void BSP_LCD_SetTextColor(uint32_t Color) { 8055254: b480 push {r7} 8055256: b083 sub sp, #12 8055258: af00 add r7, sp, #0 805525a: 6078 str r0, [r7, #4] DrawProp[ActiveLayer].TextColor = Color; 805525c: 4b07 ldr r3, [pc, #28] ; (805527c ) 805525e: 681a ldr r2, [r3, #0] 8055260: 4907 ldr r1, [pc, #28] ; (8055280 ) 8055262: 4613 mov r3, r2 8055264: 005b lsls r3, r3, #1 8055266: 4413 add r3, r2 8055268: 009b lsls r3, r3, #2 805526a: 440b add r3, r1 805526c: 687a ldr r2, [r7, #4] 805526e: 601a str r2, [r3, #0] } 8055270: bf00 nop 8055272: 370c adds r7, #12 8055274: 46bd mov sp, r7 8055276: f85d 7b04 ldr.w r7, [sp], #4 805527a: 4770 bx lr 805527c: 20020078 .word 0x20020078 8055280: 20021030 .word 0x20021030 08055284 : * @brief Sets the LCD text font. * @param fonts: Layer font to be used * @retval None */ void BSP_LCD_SetFont(sFONT *fonts) { 8055284: b480 push {r7} 8055286: b083 sub sp, #12 8055288: af00 add r7, sp, #0 805528a: 6078 str r0, [r7, #4] DrawProp[ActiveLayer].pFont = fonts; 805528c: 4b09 ldr r3, [pc, #36] ; (80552b4 ) 805528e: 681a ldr r2, [r3, #0] 8055290: 4909 ldr r1, [pc, #36] ; (80552b8 ) 8055292: 4613 mov r3, r2 8055294: 005b lsls r3, r3, #1 8055296: 4413 add r3, r2 8055298: 009b lsls r3, r3, #2 805529a: 440b add r3, r1 805529c: 3308 adds r3, #8 805529e: 687a ldr r2, [r7, #4] 80552a0: 601a str r2, [r3, #0] CurrentFont = fonts; 80552a2: 4a06 ldr r2, [pc, #24] ; (80552bc ) 80552a4: 687b ldr r3, [r7, #4] 80552a6: 6013 str r3, [r2, #0] } 80552a8: bf00 nop 80552aa: 370c adds r7, #12 80552ac: 46bd mov sp, r7 80552ae: f85d 7b04 ldr.w r7, [sp], #4 80552b2: 4770 bx lr 80552b4: 20020078 .word 0x20020078 80552b8: 20021030 .word 0x20021030 80552bc: 20025d7c .word 0x20025d7c 080552c0 : * @brief Clears the hole LCD. * @param Color: Color of the background * @retval None */ void BSP_LCD_Clear(uint32_t Color) { 80552c0: b5f0 push {r4, r5, r6, r7, lr} 80552c2: b085 sub sp, #20 80552c4: af02 add r7, sp, #8 80552c6: 6078 str r0, [r7, #4] LL_FillBuffer(ActiveLayer, (uint32_t *)(hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress), BSP_LCD_GetXSize(), BSP_LCD_GetYSize(), 0, Color); 80552c8: 4b0f ldr r3, [pc, #60] ; (8055308 ) 80552ca: 681c ldr r4, [r3, #0] 80552cc: 4b0e ldr r3, [pc, #56] ; (8055308 ) 80552ce: 681b ldr r3, [r3, #0] 80552d0: 4a0e ldr r2, [pc, #56] ; (805530c ) 80552d2: 2134 movs r1, #52 ; 0x34 80552d4: fb01 f303 mul.w r3, r1, r3 80552d8: 4413 add r3, r2 80552da: 335c adds r3, #92 ; 0x5c 80552dc: 681b ldr r3, [r3, #0] 80552de: 461d mov r5, r3 80552e0: f7ff fee4 bl 80550ac 80552e4: 4606 mov r6, r0 80552e6: f7ff fef5 bl 80550d4 80552ea: 4602 mov r2, r0 80552ec: 687b ldr r3, [r7, #4] 80552ee: 9301 str r3, [sp, #4] 80552f0: 2300 movs r3, #0 80552f2: 9300 str r3, [sp, #0] 80552f4: 4613 mov r3, r2 80552f6: 4632 mov r2, r6 80552f8: 4629 mov r1, r5 80552fa: 4620 mov r0, r4 80552fc: f000 fe2e bl 8055f5c } 8055300: bf00 nop 8055302: 370c adds r7, #12 8055304: 46bd mov sp, r7 8055306: bdf0 pop {r4, r5, r6, r7, pc} 8055308: 20020078 .word 0x20020078 805530c: 20025d80 .word 0x20025d80 08055310 : * @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) { 8055310: b590 push {r4, r7, lr} 8055312: b083 sub sp, #12 8055314: af00 add r7, sp, #0 8055316: 4603 mov r3, r0 8055318: 80fb strh r3, [r7, #6] 805531a: 460b mov r3, r1 805531c: 80bb strh r3, [r7, #4] 805531e: 4613 mov r3, r2 8055320: 70fb strb r3, [r7, #3] DrawChar( Xpos, Ypos, &DrawProp[ActiveLayer].pFont->table[(Ascii - ' ') * DrawProp[ActiveLayer].pFont->Height * ((DrawProp[ActiveLayer].pFont->Width + 7) / 8)] ); 8055322: 4b1b ldr r3, [pc, #108] ; (8055390 ) 8055324: 681a ldr r2, [r3, #0] 8055326: 491b ldr r1, [pc, #108] ; (8055394 ) 8055328: 4613 mov r3, r2 805532a: 005b lsls r3, r3, #1 805532c: 4413 add r3, r2 805532e: 009b lsls r3, r3, #2 8055330: 440b add r3, r1 8055332: 3308 adds r3, #8 8055334: 681b ldr r3, [r3, #0] 8055336: 6819 ldr r1, [r3, #0] 8055338: 78fb ldrb r3, [r7, #3] 805533a: f1a3 0020 sub.w r0, r3, #32 805533e: 4b14 ldr r3, [pc, #80] ; (8055390 ) 8055340: 681a ldr r2, [r3, #0] 8055342: 4c14 ldr r4, [pc, #80] ; (8055394 ) 8055344: 4613 mov r3, r2 8055346: 005b lsls r3, r3, #1 8055348: 4413 add r3, r2 805534a: 009b lsls r3, r3, #2 805534c: 4423 add r3, r4 805534e: 3308 adds r3, #8 8055350: 681b ldr r3, [r3, #0] 8055352: 88db ldrh r3, [r3, #6] 8055354: fb03 f000 mul.w r0, r3, r0 8055358: 4b0d ldr r3, [pc, #52] ; (8055390 ) 805535a: 681a ldr r2, [r3, #0] 805535c: 4c0d ldr r4, [pc, #52] ; (8055394 ) 805535e: 4613 mov r3, r2 8055360: 005b lsls r3, r3, #1 8055362: 4413 add r3, r2 8055364: 009b lsls r3, r3, #2 8055366: 4423 add r3, r4 8055368: 3308 adds r3, #8 805536a: 681b ldr r3, [r3, #0] 805536c: 889b ldrh r3, [r3, #4] 805536e: 3307 adds r3, #7 8055370: 2b00 cmp r3, #0 8055372: da00 bge.n 8055376 8055374: 3307 adds r3, #7 8055376: 10db asrs r3, r3, #3 8055378: fb03 f300 mul.w r3, r3, r0 805537c: 18ca adds r2, r1, r3 805537e: 88b9 ldrh r1, [r7, #4] 8055380: 88fb ldrh r3, [r7, #6] 8055382: 4618 mov r0, r3 8055384: f000 fd32 bl 8055dec } 8055388: bf00 nop 805538a: 370c adds r7, #12 805538c: 46bd mov sp, r7 805538e: bd90 pop {r4, r7, pc} 8055390: 20020078 .word 0x20020078 8055394: 20021030 .word 0x20021030 08055398 : * @arg RIGHT_MODE * @arg LEFT_MODE * @retval None */ void BSP_LCD_DisplayStringAt(uint16_t Xpos, uint16_t Ypos, char *Text, Text_AlignModeTypdef Mode) { 8055398: b5b0 push {r4, r5, r7, lr} 805539a: b088 sub sp, #32 805539c: af00 add r7, sp, #0 805539e: 60ba str r2, [r7, #8] 80553a0: 461a mov r2, r3 80553a2: 4603 mov r3, r0 80553a4: 81fb strh r3, [r7, #14] 80553a6: 460b mov r3, r1 80553a8: 81bb strh r3, [r7, #12] 80553aa: 4613 mov r3, r2 80553ac: 71fb strb r3, [r7, #7] uint16_t ref_column = 1, i = 0, ll = 0; 80553ae: 2301 movs r3, #1 80553b0: 83fb strh r3, [r7, #30] 80553b2: 2300 movs r3, #0 80553b4: 83bb strh r3, [r7, #28] 80553b6: 2300 movs r3, #0 80553b8: 827b strh r3, [r7, #18] uint32_t size = 0; 80553ba: 2300 movs r3, #0 80553bc: 61bb str r3, [r7, #24] uint8_t *ptr; ptr = (uint8_t *) Text; 80553be: 68bb ldr r3, [r7, #8] 80553c0: 617b str r3, [r7, #20] /* Get the text size */ while (*ptr++) size++ ; 80553c2: e002 b.n 80553ca 80553c4: 69bb ldr r3, [r7, #24] 80553c6: 3301 adds r3, #1 80553c8: 61bb str r3, [r7, #24] 80553ca: 697b ldr r3, [r7, #20] 80553cc: 1c5a adds r2, r3, #1 80553ce: 617a str r2, [r7, #20] 80553d0: 781b ldrb r3, [r3, #0] 80553d2: 2b00 cmp r3, #0 80553d4: d1f6 bne.n 80553c4 /* Characters number per line */ // xsize = (BSP_LCD_GetXSize() / DrawProp[ActiveLayer].pFont->Width); switch (Mode) 80553d6: 79fb ldrb r3, [r7, #7] 80553d8: 2b02 cmp r3, #2 80553da: d01d beq.n 8055418 80553dc: 2b03 cmp r3, #3 80553de: d018 beq.n 8055412 80553e0: 2b01 cmp r3, #1 80553e2: d12e bne.n 8055442 { case CENTER_MODE: { ll = DrawProp[ActiveLayer].pFont->Width * size; 80553e4: 4b44 ldr r3, [pc, #272] ; (80554f8 ) 80553e6: 681a ldr r2, [r3, #0] 80553e8: 4944 ldr r1, [pc, #272] ; (80554fc ) 80553ea: 4613 mov r3, r2 80553ec: 005b lsls r3, r3, #1 80553ee: 4413 add r3, r2 80553f0: 009b lsls r3, r3, #2 80553f2: 440b add r3, r1 80553f4: 3308 adds r3, #8 80553f6: 681b ldr r3, [r3, #0] 80553f8: 889a ldrh r2, [r3, #4] 80553fa: 69bb ldr r3, [r7, #24] 80553fc: b29b uxth r3, r3 80553fe: fb12 f303 smulbb r3, r2, r3 8055402: 827b strh r3, [r7, #18] ref_column = Xpos - (ll >> 1); 8055404: 8a7b ldrh r3, [r7, #18] 8055406: 085b lsrs r3, r3, #1 8055408: b29b uxth r3, r3 805540a: 89fa ldrh r2, [r7, #14] 805540c: 1ad3 subs r3, r2, r3 805540e: 83fb strh r3, [r7, #30] //if((ref_column + ll > 319) || (ref_column > 319)) // ref_column = Xpos + ((xsize - size)* DrawProp[ActiveLayer].pFont->Width) / 2; break; 8055410: e01a b.n 8055448 } case LEFT_MODE: { ref_column = Xpos; 8055412: 89fb ldrh r3, [r7, #14] 8055414: 83fb strh r3, [r7, #30] break; 8055416: e017 b.n 8055448 } case RIGHT_MODE: { ll = DrawProp[ActiveLayer].pFont->Width * size; 8055418: 4b37 ldr r3, [pc, #220] ; (80554f8 ) 805541a: 681a ldr r2, [r3, #0] 805541c: 4937 ldr r1, [pc, #220] ; (80554fc ) 805541e: 4613 mov r3, r2 8055420: 005b lsls r3, r3, #1 8055422: 4413 add r3, r2 8055424: 009b lsls r3, r3, #2 8055426: 440b add r3, r1 8055428: 3308 adds r3, #8 805542a: 681b ldr r3, [r3, #0] 805542c: 889a ldrh r2, [r3, #4] 805542e: 69bb ldr r3, [r7, #24] 8055430: b29b uxth r3, r3 8055432: fb12 f303 smulbb r3, r2, r3 8055436: 827b strh r3, [r7, #18] ref_column = Xpos - ll; 8055438: 89fa ldrh r2, [r7, #14] 805543a: 8a7b ldrh r3, [r7, #18] 805543c: 1ad3 subs r3, r2, r3 805543e: 83fb strh r3, [r7, #30] // ref_column = - Xpos + ((xsize - size)*DrawProp[ActiveLayer].pFont->Width); break; 8055440: e002 b.n 8055448 } default: { ref_column = Xpos; 8055442: 89fb ldrh r3, [r7, #14] 8055444: 83fb strh r3, [r7, #30] break; 8055446: bf00 nop } } /* Check that the Start column is located in the screen */ if ((ref_column < 1) || (ref_column >= 0x8000)) 8055448: 8bfb ldrh r3, [r7, #30] 805544a: 2b00 cmp r3, #0 805544c: d003 beq.n 8055456 805544e: f9b7 301e ldrsh.w r3, [r7, #30] 8055452: 2b00 cmp r3, #0 8055454: da1d bge.n 8055492 { ref_column = 1; 8055456: 2301 movs r3, #1 8055458: 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)) 805545a: e01a b.n 8055492 { /* Display one character on LCD */ BSP_LCD_DisplayChar(ref_column, Ypos, *Text); 805545c: 68bb ldr r3, [r7, #8] 805545e: 781a ldrb r2, [r3, #0] 8055460: 89b9 ldrh r1, [r7, #12] 8055462: 8bfb ldrh r3, [r7, #30] 8055464: 4618 mov r0, r3 8055466: f7ff ff53 bl 8055310 /* Decrement the column position by 16 */ ref_column += DrawProp[ActiveLayer].pFont->Width; 805546a: 4b23 ldr r3, [pc, #140] ; (80554f8 ) 805546c: 681a ldr r2, [r3, #0] 805546e: 4923 ldr r1, [pc, #140] ; (80554fc ) 8055470: 4613 mov r3, r2 8055472: 005b lsls r3, r3, #1 8055474: 4413 add r3, r2 8055476: 009b lsls r3, r3, #2 8055478: 440b add r3, r1 805547a: 3308 adds r3, #8 805547c: 681b ldr r3, [r3, #0] 805547e: 889a ldrh r2, [r3, #4] 8055480: 8bfb ldrh r3, [r7, #30] 8055482: 4413 add r3, r2 8055484: 83fb strh r3, [r7, #30] /* Point on the next character */ Text++; 8055486: 68bb ldr r3, [r7, #8] 8055488: 3301 adds r3, #1 805548a: 60bb str r3, [r7, #8] i++; 805548c: 8bbb ldrh r3, [r7, #28] 805548e: 3301 adds r3, #1 8055490: 83bb strh r3, [r7, #28] while ((*Text != 0) & (((BSP_LCD_GetXSize() - (i*DrawProp[ActiveLayer].pFont->Width)) & 0xFFFF) >= DrawProp[ActiveLayer].pFont->Width)) 8055492: 68bb ldr r3, [r7, #8] 8055494: 781b ldrb r3, [r3, #0] 8055496: 2b00 cmp r3, #0 8055498: bf14 ite ne 805549a: 2301 movne r3, #1 805549c: 2300 moveq r3, #0 805549e: b2dc uxtb r4, r3 80554a0: f7ff fe04 bl 80550ac 80554a4: 4605 mov r5, r0 80554a6: 8bb9 ldrh r1, [r7, #28] 80554a8: 4b13 ldr r3, [pc, #76] ; (80554f8 ) 80554aa: 681a ldr r2, [r3, #0] 80554ac: 4813 ldr r0, [pc, #76] ; (80554fc ) 80554ae: 4613 mov r3, r2 80554b0: 005b lsls r3, r3, #1 80554b2: 4413 add r3, r2 80554b4: 009b lsls r3, r3, #2 80554b6: 4403 add r3, r0 80554b8: 3308 adds r3, #8 80554ba: 681b ldr r3, [r3, #0] 80554bc: 889b ldrh r3, [r3, #4] 80554be: fb03 f301 mul.w r3, r3, r1 80554c2: 1aeb subs r3, r5, r3 80554c4: b299 uxth r1, r3 80554c6: 4b0c ldr r3, [pc, #48] ; (80554f8 ) 80554c8: 681a ldr r2, [r3, #0] 80554ca: 480c ldr r0, [pc, #48] ; (80554fc ) 80554cc: 4613 mov r3, r2 80554ce: 005b lsls r3, r3, #1 80554d0: 4413 add r3, r2 80554d2: 009b lsls r3, r3, #2 80554d4: 4403 add r3, r0 80554d6: 3308 adds r3, #8 80554d8: 681b ldr r3, [r3, #0] 80554da: 889b ldrh r3, [r3, #4] 80554dc: 4299 cmp r1, r3 80554de: bf2c ite cs 80554e0: 2301 movcs r3, #1 80554e2: 2300 movcc r3, #0 80554e4: b2db uxtb r3, r3 80554e6: 4023 ands r3, r4 80554e8: b2db uxtb r3, r3 80554ea: 2b00 cmp r3, #0 80554ec: d1b6 bne.n 805545c } } 80554ee: bf00 nop 80554f0: 3720 adds r7, #32 80554f2: 46bd mov sp, r7 80554f4: bdb0 pop {r4, r5, r7, pc} 80554f6: bf00 nop 80554f8: 20020078 .word 0x20020078 80554fc: 20021030 .word 0x20021030 08055500 : * @param Ypos: Y position * @param Length: Line length * @retval None */ void BSP_LCD_DrawHLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length) { 8055500: b5b0 push {r4, r5, r7, lr} 8055502: b086 sub sp, #24 8055504: af02 add r7, sp, #8 8055506: 4603 mov r3, r0 8055508: 80fb strh r3, [r7, #6] 805550a: 460b mov r3, r1 805550c: 80bb strh r3, [r7, #4] 805550e: 4613 mov r3, r2 8055510: 807b strh r3, [r7, #2] uint32_t Xaddress = 0; 8055512: 2300 movs r3, #0 8055514: 60fb str r3, [r7, #12] /* Get the line address */ if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 8055516: 4b26 ldr r3, [pc, #152] ; (80555b0 ) 8055518: 681b ldr r3, [r3, #0] 805551a: 4a26 ldr r2, [pc, #152] ; (80555b4 ) 805551c: 2134 movs r1, #52 ; 0x34 805551e: fb01 f303 mul.w r3, r1, r3 8055522: 4413 add r3, r2 8055524: 3348 adds r3, #72 ; 0x48 8055526: 681b ldr r3, [r3, #0] 8055528: 2b02 cmp r3, #2 805552a: d114 bne.n 8055556 { /* RGB565 format */ Xaddress = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 2*(BSP_LCD_GetXSize()*Ypos + Xpos); 805552c: 4b20 ldr r3, [pc, #128] ; (80555b0 ) 805552e: 681b ldr r3, [r3, #0] 8055530: 4a20 ldr r2, [pc, #128] ; (80555b4 ) 8055532: 2134 movs r1, #52 ; 0x34 8055534: fb01 f303 mul.w r3, r1, r3 8055538: 4413 add r3, r2 805553a: 335c adds r3, #92 ; 0x5c 805553c: 681c ldr r4, [r3, #0] 805553e: f7ff fdb5 bl 80550ac 8055542: 4602 mov r2, r0 8055544: 88bb ldrh r3, [r7, #4] 8055546: fb03 f202 mul.w r2, r3, r2 805554a: 88fb ldrh r3, [r7, #6] 805554c: 4413 add r3, r2 805554e: 005b lsls r3, r3, #1 8055550: 4423 add r3, r4 8055552: 60fb str r3, [r7, #12] 8055554: e013 b.n 805557e } else { /* ARGB8888 format */ Xaddress = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 4*(BSP_LCD_GetXSize()*Ypos + Xpos); 8055556: 4b16 ldr r3, [pc, #88] ; (80555b0 ) 8055558: 681b ldr r3, [r3, #0] 805555a: 4a16 ldr r2, [pc, #88] ; (80555b4 ) 805555c: 2134 movs r1, #52 ; 0x34 805555e: fb01 f303 mul.w r3, r1, r3 8055562: 4413 add r3, r2 8055564: 335c adds r3, #92 ; 0x5c 8055566: 681c ldr r4, [r3, #0] 8055568: f7ff fda0 bl 80550ac 805556c: 4602 mov r2, r0 805556e: 88bb ldrh r3, [r7, #4] 8055570: fb03 f202 mul.w r2, r3, r2 8055574: 88fb ldrh r3, [r7, #6] 8055576: 4413 add r3, r2 8055578: 009b lsls r3, r3, #2 805557a: 4423 add r3, r4 805557c: 60fb str r3, [r7, #12] } /* Write line */ LL_FillBuffer(ActiveLayer, (uint32_t *)Xaddress, Length, 1, 0, DrawProp[ActiveLayer].TextColor); 805557e: 4b0c ldr r3, [pc, #48] ; (80555b0 ) 8055580: 6818 ldr r0, [r3, #0] 8055582: 68fc ldr r4, [r7, #12] 8055584: 887d ldrh r5, [r7, #2] 8055586: 4b0a ldr r3, [pc, #40] ; (80555b0 ) 8055588: 681a ldr r2, [r3, #0] 805558a: 490b ldr r1, [pc, #44] ; (80555b8 ) 805558c: 4613 mov r3, r2 805558e: 005b lsls r3, r3, #1 8055590: 4413 add r3, r2 8055592: 009b lsls r3, r3, #2 8055594: 440b add r3, r1 8055596: 681b ldr r3, [r3, #0] 8055598: 9301 str r3, [sp, #4] 805559a: 2300 movs r3, #0 805559c: 9300 str r3, [sp, #0] 805559e: 2301 movs r3, #1 80555a0: 462a mov r2, r5 80555a2: 4621 mov r1, r4 80555a4: f000 fcda bl 8055f5c } 80555a8: bf00 nop 80555aa: 3710 adds r7, #16 80555ac: 46bd mov sp, r7 80555ae: bdb0 pop {r4, r5, r7, pc} 80555b0: 20020078 .word 0x20020078 80555b4: 20025d80 .word 0x20025d80 80555b8: 20021030 .word 0x20021030 080555bc : * @param Ypos: Y position * @param Length: Line length * @retval None */ void BSP_LCD_DrawVLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length) { 80555bc: b5f0 push {r4, r5, r6, r7, lr} 80555be: b087 sub sp, #28 80555c0: af02 add r7, sp, #8 80555c2: 4603 mov r3, r0 80555c4: 80fb strh r3, [r7, #6] 80555c6: 460b mov r3, r1 80555c8: 80bb strh r3, [r7, #4] 80555ca: 4613 mov r3, r2 80555cc: 807b strh r3, [r7, #2] uint32_t Xaddress = 0; 80555ce: 2300 movs r3, #0 80555d0: 60fb str r3, [r7, #12] /* Get the line address */ if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 80555d2: 4b28 ldr r3, [pc, #160] ; (8055674 ) 80555d4: 681b ldr r3, [r3, #0] 80555d6: 4a28 ldr r2, [pc, #160] ; (8055678 ) 80555d8: 2134 movs r1, #52 ; 0x34 80555da: fb01 f303 mul.w r3, r1, r3 80555de: 4413 add r3, r2 80555e0: 3348 adds r3, #72 ; 0x48 80555e2: 681b ldr r3, [r3, #0] 80555e4: 2b02 cmp r3, #2 80555e6: d114 bne.n 8055612 { /* RGB565 format */ Xaddress = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 2*(BSP_LCD_GetXSize()*Ypos + Xpos); 80555e8: 4b22 ldr r3, [pc, #136] ; (8055674 ) 80555ea: 681b ldr r3, [r3, #0] 80555ec: 4a22 ldr r2, [pc, #136] ; (8055678 ) 80555ee: 2134 movs r1, #52 ; 0x34 80555f0: fb01 f303 mul.w r3, r1, r3 80555f4: 4413 add r3, r2 80555f6: 335c adds r3, #92 ; 0x5c 80555f8: 681c ldr r4, [r3, #0] 80555fa: f7ff fd57 bl 80550ac 80555fe: 4602 mov r2, r0 8055600: 88bb ldrh r3, [r7, #4] 8055602: fb03 f202 mul.w r2, r3, r2 8055606: 88fb ldrh r3, [r7, #6] 8055608: 4413 add r3, r2 805560a: 005b lsls r3, r3, #1 805560c: 4423 add r3, r4 805560e: 60fb str r3, [r7, #12] 8055610: e013 b.n 805563a } else { /* ARGB8888 format */ Xaddress = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 4*(BSP_LCD_GetXSize()*Ypos + Xpos); 8055612: 4b18 ldr r3, [pc, #96] ; (8055674 ) 8055614: 681b ldr r3, [r3, #0] 8055616: 4a18 ldr r2, [pc, #96] ; (8055678 ) 8055618: 2134 movs r1, #52 ; 0x34 805561a: fb01 f303 mul.w r3, r1, r3 805561e: 4413 add r3, r2 8055620: 335c adds r3, #92 ; 0x5c 8055622: 681c ldr r4, [r3, #0] 8055624: f7ff fd42 bl 80550ac 8055628: 4602 mov r2, r0 805562a: 88bb ldrh r3, [r7, #4] 805562c: fb03 f202 mul.w r2, r3, r2 8055630: 88fb ldrh r3, [r7, #6] 8055632: 4413 add r3, r2 8055634: 009b lsls r3, r3, #2 8055636: 4423 add r3, r4 8055638: 60fb str r3, [r7, #12] } /* Write line */ LL_FillBuffer(ActiveLayer, (uint32_t *)Xaddress, 1, Length, (BSP_LCD_GetXSize() - 1), DrawProp[ActiveLayer].TextColor); 805563a: 4b0e ldr r3, [pc, #56] ; (8055674 ) 805563c: 681c ldr r4, [r3, #0] 805563e: 68fd ldr r5, [r7, #12] 8055640: 887e ldrh r6, [r7, #2] 8055642: f7ff fd33 bl 80550ac 8055646: 4603 mov r3, r0 8055648: 1e59 subs r1, r3, #1 805564a: 4b0a ldr r3, [pc, #40] ; (8055674 ) 805564c: 681a ldr r2, [r3, #0] 805564e: 480b ldr r0, [pc, #44] ; (805567c ) 8055650: 4613 mov r3, r2 8055652: 005b lsls r3, r3, #1 8055654: 4413 add r3, r2 8055656: 009b lsls r3, r3, #2 8055658: 4403 add r3, r0 805565a: 681b ldr r3, [r3, #0] 805565c: 9301 str r3, [sp, #4] 805565e: 9100 str r1, [sp, #0] 8055660: 4633 mov r3, r6 8055662: 2201 movs r2, #1 8055664: 4629 mov r1, r5 8055666: 4620 mov r0, r4 8055668: f000 fc78 bl 8055f5c } 805566c: bf00 nop 805566e: 3714 adds r7, #20 8055670: 46bd mov sp, r7 8055672: bdf0 pop {r4, r5, r6, r7, pc} 8055674: 20020078 .word 0x20020078 8055678: 20025d80 .word 0x20025d80 805567c: 20021030 .word 0x20021030 08055680 : * @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) { 8055680: b590 push {r4, r7, lr} 8055682: b08b sub sp, #44 ; 0x2c 8055684: af00 add r7, sp, #0 8055686: 4604 mov r4, r0 8055688: 4608 mov r0, r1 805568a: 4611 mov r1, r2 805568c: 461a mov r2, r3 805568e: 4623 mov r3, r4 8055690: 80fb strh r3, [r7, #6] 8055692: 4603 mov r3, r0 8055694: 80bb strh r3, [r7, #4] 8055696: 460b mov r3, r1 8055698: 807b strh r3, [r7, #2] 805569a: 4613 mov r3, r2 805569c: 803b strh r3, [r7, #0] int16_t deltax = 0, deltay = 0, x = 0, y = 0, xinc1 = 0, xinc2 = 0, 805569e: 2300 movs r3, #0 80556a0: 823b strh r3, [r7, #16] 80556a2: 2300 movs r3, #0 80556a4: 81fb strh r3, [r7, #14] 80556a6: 2300 movs r3, #0 80556a8: 84fb strh r3, [r7, #38] ; 0x26 80556aa: 2300 movs r3, #0 80556ac: 84bb strh r3, [r7, #36] ; 0x24 80556ae: 2300 movs r3, #0 80556b0: 847b strh r3, [r7, #34] ; 0x22 80556b2: 2300 movs r3, #0 80556b4: 843b strh r3, [r7, #32] yinc1 = 0, yinc2 = 0, den = 0, num = 0, num_add = 0, num_pixels = 0, 80556b6: 2300 movs r3, #0 80556b8: 83fb strh r3, [r7, #30] 80556ba: 2300 movs r3, #0 80556bc: 83bb strh r3, [r7, #28] 80556be: 2300 movs r3, #0 80556c0: 837b strh r3, [r7, #26] 80556c2: 2300 movs r3, #0 80556c4: 833b strh r3, [r7, #24] 80556c6: 2300 movs r3, #0 80556c8: 82fb strh r3, [r7, #22] 80556ca: 2300 movs r3, #0 80556cc: 82bb strh r3, [r7, #20] curpixel = 0; 80556ce: 2300 movs r3, #0 80556d0: 827b strh r3, [r7, #18] deltax = ABS(x2 - x1); /* The difference between the x's */ 80556d2: 887a ldrh r2, [r7, #2] 80556d4: 88fb ldrh r3, [r7, #6] 80556d6: 1ad3 subs r3, r2, r3 80556d8: 2b00 cmp r3, #0 80556da: bfb8 it lt 80556dc: 425b neglt r3, r3 80556de: 823b strh r3, [r7, #16] deltay = ABS(y2 - y1); /* The difference between the y's */ 80556e0: 883a ldrh r2, [r7, #0] 80556e2: 88bb ldrh r3, [r7, #4] 80556e4: 1ad3 subs r3, r2, r3 80556e6: 2b00 cmp r3, #0 80556e8: bfb8 it lt 80556ea: 425b neglt r3, r3 80556ec: 81fb strh r3, [r7, #14] x = x1; /* Start x off at the first pixel */ 80556ee: 88fb ldrh r3, [r7, #6] 80556f0: 84fb strh r3, [r7, #38] ; 0x26 y = y1; /* Start y off at the first pixel */ 80556f2: 88bb ldrh r3, [r7, #4] 80556f4: 84bb strh r3, [r7, #36] ; 0x24 if (x2 >= x1) /* The x-values are increasing */ 80556f6: 887a ldrh r2, [r7, #2] 80556f8: 88fb ldrh r3, [r7, #6] 80556fa: 429a cmp r2, r3 80556fc: d304 bcc.n 8055708 { xinc1 = 1; 80556fe: 2301 movs r3, #1 8055700: 847b strh r3, [r7, #34] ; 0x22 xinc2 = 1; 8055702: 2301 movs r3, #1 8055704: 843b strh r3, [r7, #32] 8055706: e005 b.n 8055714 } else /* The x-values are decreasing */ { xinc1 = -1; 8055708: f64f 73ff movw r3, #65535 ; 0xffff 805570c: 847b strh r3, [r7, #34] ; 0x22 xinc2 = -1; 805570e: f64f 73ff movw r3, #65535 ; 0xffff 8055712: 843b strh r3, [r7, #32] } if (y2 >= y1) /* The y-values are increasing */ 8055714: 883a ldrh r2, [r7, #0] 8055716: 88bb ldrh r3, [r7, #4] 8055718: 429a cmp r2, r3 805571a: d304 bcc.n 8055726 { yinc1 = 1; 805571c: 2301 movs r3, #1 805571e: 83fb strh r3, [r7, #30] yinc2 = 1; 8055720: 2301 movs r3, #1 8055722: 83bb strh r3, [r7, #28] 8055724: e005 b.n 8055732 } else /* The y-values are decreasing */ { yinc1 = -1; 8055726: f64f 73ff movw r3, #65535 ; 0xffff 805572a: 83fb strh r3, [r7, #30] yinc2 = -1; 805572c: f64f 73ff movw r3, #65535 ; 0xffff 8055730: 83bb strh r3, [r7, #28] } if (deltax >= deltay) /* There is at least one x-value for every y-value */ 8055732: f9b7 2010 ldrsh.w r2, [r7, #16] 8055736: f9b7 300e ldrsh.w r3, [r7, #14] 805573a: 429a cmp r2, r3 805573c: db11 blt.n 8055762 { xinc1 = 0; /* Don't change the x when numerator >= denominator */ 805573e: 2300 movs r3, #0 8055740: 847b strh r3, [r7, #34] ; 0x22 yinc2 = 0; /* Don't change the y for every iteration */ 8055742: 2300 movs r3, #0 8055744: 83bb strh r3, [r7, #28] den = deltax; 8055746: 8a3b ldrh r3, [r7, #16] 8055748: 837b strh r3, [r7, #26] num = deltax / 2; 805574a: f9b7 3010 ldrsh.w r3, [r7, #16] 805574e: 2b00 cmp r3, #0 8055750: da00 bge.n 8055754 8055752: 3301 adds r3, #1 8055754: 105b asrs r3, r3, #1 8055756: 833b strh r3, [r7, #24] num_add = deltay; 8055758: 89fb ldrh r3, [r7, #14] 805575a: 82fb strh r3, [r7, #22] num_pixels = deltax; /* There are more x-values than y-values */ 805575c: 8a3b ldrh r3, [r7, #16] 805575e: 82bb strh r3, [r7, #20] 8055760: e010 b.n 8055784 } else /* There is at least one y-value for every x-value */ { xinc2 = 0; /* Don't change the x for every iteration */ 8055762: 2300 movs r3, #0 8055764: 843b strh r3, [r7, #32] yinc1 = 0; /* Don't change the y when numerator >= denominator */ 8055766: 2300 movs r3, #0 8055768: 83fb strh r3, [r7, #30] den = deltay; 805576a: 89fb ldrh r3, [r7, #14] 805576c: 837b strh r3, [r7, #26] num = deltay / 2; 805576e: f9b7 300e ldrsh.w r3, [r7, #14] 8055772: 2b00 cmp r3, #0 8055774: da00 bge.n 8055778 8055776: 3301 adds r3, #1 8055778: 105b asrs r3, r3, #1 805577a: 833b strh r3, [r7, #24] num_add = deltax; 805577c: 8a3b ldrh r3, [r7, #16] 805577e: 82fb strh r3, [r7, #22] num_pixels = deltay; /* There are more y-values than x-values */ 8055780: 89fb ldrh r3, [r7, #14] 8055782: 82bb strh r3, [r7, #20] } for (curpixel = 0; curpixel <= num_pixels; curpixel++) 8055784: 2300 movs r3, #0 8055786: 827b strh r3, [r7, #18] 8055788: e038 b.n 80557fc { BSP_LCD_DrawPixel(x, y, DrawProp[ActiveLayer].TextColor); /* Draw the current pixel */ 805578a: 8cf8 ldrh r0, [r7, #38] ; 0x26 805578c: 8cbc ldrh r4, [r7, #36] ; 0x24 805578e: 4b20 ldr r3, [pc, #128] ; (8055810 ) 8055790: 681a ldr r2, [r3, #0] 8055792: 4920 ldr r1, [pc, #128] ; (8055814 ) 8055794: 4613 mov r3, r2 8055796: 005b lsls r3, r3, #1 8055798: 4413 add r3, r2 805579a: 009b lsls r3, r3, #2 805579c: 440b add r3, r1 805579e: 681b ldr r3, [r3, #0] 80557a0: 461a mov r2, r3 80557a2: 4621 mov r1, r4 80557a4: f000 f95c bl 8055a60 num += num_add; /* Increase the numerator by the top of the fraction */ 80557a8: 8b3a ldrh r2, [r7, #24] 80557aa: 8afb ldrh r3, [r7, #22] 80557ac: 4413 add r3, r2 80557ae: b29b uxth r3, r3 80557b0: 833b strh r3, [r7, #24] if (num >= den) /* Check if numerator >= denominator */ 80557b2: f9b7 2018 ldrsh.w r2, [r7, #24] 80557b6: f9b7 301a ldrsh.w r3, [r7, #26] 80557ba: 429a cmp r2, r3 80557bc: db0e blt.n 80557dc { num -= den; /* Calculate the new numerator value */ 80557be: 8b3a ldrh r2, [r7, #24] 80557c0: 8b7b ldrh r3, [r7, #26] 80557c2: 1ad3 subs r3, r2, r3 80557c4: b29b uxth r3, r3 80557c6: 833b strh r3, [r7, #24] x += xinc1; /* Change the x as appropriate */ 80557c8: 8cfa ldrh r2, [r7, #38] ; 0x26 80557ca: 8c7b ldrh r3, [r7, #34] ; 0x22 80557cc: 4413 add r3, r2 80557ce: b29b uxth r3, r3 80557d0: 84fb strh r3, [r7, #38] ; 0x26 y += yinc1; /* Change the y as appropriate */ 80557d2: 8cba ldrh r2, [r7, #36] ; 0x24 80557d4: 8bfb ldrh r3, [r7, #30] 80557d6: 4413 add r3, r2 80557d8: b29b uxth r3, r3 80557da: 84bb strh r3, [r7, #36] ; 0x24 } x += xinc2; /* Change the x as appropriate */ 80557dc: 8cfa ldrh r2, [r7, #38] ; 0x26 80557de: 8c3b ldrh r3, [r7, #32] 80557e0: 4413 add r3, r2 80557e2: b29b uxth r3, r3 80557e4: 84fb strh r3, [r7, #38] ; 0x26 y += yinc2; /* Change the y as appropriate */ 80557e6: 8cba ldrh r2, [r7, #36] ; 0x24 80557e8: 8bbb ldrh r3, [r7, #28] 80557ea: 4413 add r3, r2 80557ec: b29b uxth r3, r3 80557ee: 84bb strh r3, [r7, #36] ; 0x24 for (curpixel = 0; curpixel <= num_pixels; curpixel++) 80557f0: f9b7 3012 ldrsh.w r3, [r7, #18] 80557f4: b29b uxth r3, r3 80557f6: 3301 adds r3, #1 80557f8: b29b uxth r3, r3 80557fa: 827b strh r3, [r7, #18] 80557fc: f9b7 2012 ldrsh.w r2, [r7, #18] 8055800: f9b7 3014 ldrsh.w r3, [r7, #20] 8055804: 429a cmp r2, r3 8055806: ddc0 ble.n 805578a } } 8055808: bf00 nop 805580a: 372c adds r7, #44 ; 0x2c 805580c: 46bd mov sp, r7 805580e: bd90 pop {r4, r7, pc} 8055810: 20020078 .word 0x20020078 8055814: 20021030 .word 0x20021030 08055818 : * @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) { 8055818: b590 push {r4, r7, lr} 805581a: b083 sub sp, #12 805581c: af00 add r7, sp, #0 805581e: 4604 mov r4, r0 8055820: 4608 mov r0, r1 8055822: 4611 mov r1, r2 8055824: 461a mov r2, r3 8055826: 4623 mov r3, r4 8055828: 80fb strh r3, [r7, #6] 805582a: 4603 mov r3, r0 805582c: 80bb strh r3, [r7, #4] 805582e: 460b mov r3, r1 8055830: 807b strh r3, [r7, #2] 8055832: 4613 mov r3, r2 8055834: 803b strh r3, [r7, #0] BSP_LCD_DrawHLine(Xpos, Ypos, Width); 8055836: 887a ldrh r2, [r7, #2] 8055838: 88b9 ldrh r1, [r7, #4] 805583a: 88fb ldrh r3, [r7, #6] 805583c: 4618 mov r0, r3 805583e: f7ff fe5f bl 8055500 BSP_LCD_DrawVLine(Xpos, Ypos, Height); 8055842: 883a ldrh r2, [r7, #0] 8055844: 88b9 ldrh r1, [r7, #4] 8055846: 88fb ldrh r3, [r7, #6] 8055848: 4618 mov r0, r3 805584a: f7ff feb7 bl 80555bc BSP_LCD_DrawHLine(Xpos, (Ypos + Height), Width); 805584e: 88ba ldrh r2, [r7, #4] 8055850: 883b ldrh r3, [r7, #0] 8055852: 4413 add r3, r2 8055854: b299 uxth r1, r3 8055856: 887a ldrh r2, [r7, #2] 8055858: 88fb ldrh r3, [r7, #6] 805585a: 4618 mov r0, r3 805585c: f7ff fe50 bl 8055500 BSP_LCD_DrawVLine((Xpos + Width), Ypos, Height + 1); 8055860: 88fa ldrh r2, [r7, #6] 8055862: 887b ldrh r3, [r7, #2] 8055864: 4413 add r3, r2 8055866: b298 uxth r0, r3 8055868: 883b ldrh r3, [r7, #0] 805586a: 3301 adds r3, #1 805586c: b29a uxth r2, r3 805586e: 88bb ldrh r3, [r7, #4] 8055870: 4619 mov r1, r3 8055872: f7ff fea3 bl 80555bc } 8055876: bf00 nop 8055878: 370c adds r7, #12 805587a: 46bd mov sp, r7 805587c: bd90 pop {r4, r7, pc} ... 08055880 : * @param Ypos: Y position * @param Radius: Circle radius * @retval None */ void BSP_LCD_DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius) { 8055880: b590 push {r4, r7, lr} 8055882: b087 sub sp, #28 8055884: af00 add r7, sp, #0 8055886: 4603 mov r3, r0 8055888: 80fb strh r3, [r7, #6] 805588a: 460b mov r3, r1 805588c: 80bb strh r3, [r7, #4] 805588e: 4613 mov r3, r2 8055890: 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); 8055892: 887b ldrh r3, [r7, #2] 8055894: 005b lsls r3, r3, #1 8055896: f1c3 0303 rsb r3, r3, #3 805589a: 617b str r3, [r7, #20] current_x = 0; 805589c: 2300 movs r3, #0 805589e: 613b str r3, [r7, #16] current_y = Radius; 80558a0: 887b ldrh r3, [r7, #2] 80558a2: 60fb str r3, [r7, #12] while (current_x <= current_y) 80558a4: e0cf b.n 8055a46 { BSP_LCD_DrawPixel((Xpos + current_x), (Ypos - current_y), DrawProp[ActiveLayer].TextColor); 80558a6: 693b ldr r3, [r7, #16] 80558a8: b29a uxth r2, r3 80558aa: 88fb ldrh r3, [r7, #6] 80558ac: 4413 add r3, r2 80558ae: b298 uxth r0, r3 80558b0: 68fb ldr r3, [r7, #12] 80558b2: b29b uxth r3, r3 80558b4: 88ba ldrh r2, [r7, #4] 80558b6: 1ad3 subs r3, r2, r3 80558b8: b29c uxth r4, r3 80558ba: 4b67 ldr r3, [pc, #412] ; (8055a58 ) 80558bc: 681a ldr r2, [r3, #0] 80558be: 4967 ldr r1, [pc, #412] ; (8055a5c ) 80558c0: 4613 mov r3, r2 80558c2: 005b lsls r3, r3, #1 80558c4: 4413 add r3, r2 80558c6: 009b lsls r3, r3, #2 80558c8: 440b add r3, r1 80558ca: 681b ldr r3, [r3, #0] 80558cc: 461a mov r2, r3 80558ce: 4621 mov r1, r4 80558d0: f000 f8c6 bl 8055a60 BSP_LCD_DrawPixel((Xpos - current_x), (Ypos - current_y), DrawProp[ActiveLayer].TextColor); 80558d4: 693b ldr r3, [r7, #16] 80558d6: b29b uxth r3, r3 80558d8: 88fa ldrh r2, [r7, #6] 80558da: 1ad3 subs r3, r2, r3 80558dc: b298 uxth r0, r3 80558de: 68fb ldr r3, [r7, #12] 80558e0: b29b uxth r3, r3 80558e2: 88ba ldrh r2, [r7, #4] 80558e4: 1ad3 subs r3, r2, r3 80558e6: b29c uxth r4, r3 80558e8: 4b5b ldr r3, [pc, #364] ; (8055a58 ) 80558ea: 681a ldr r2, [r3, #0] 80558ec: 495b ldr r1, [pc, #364] ; (8055a5c ) 80558ee: 4613 mov r3, r2 80558f0: 005b lsls r3, r3, #1 80558f2: 4413 add r3, r2 80558f4: 009b lsls r3, r3, #2 80558f6: 440b add r3, r1 80558f8: 681b ldr r3, [r3, #0] 80558fa: 461a mov r2, r3 80558fc: 4621 mov r1, r4 80558fe: f000 f8af bl 8055a60 BSP_LCD_DrawPixel((Xpos + current_y), (Ypos - current_x), DrawProp[ActiveLayer].TextColor); 8055902: 68fb ldr r3, [r7, #12] 8055904: b29a uxth r2, r3 8055906: 88fb ldrh r3, [r7, #6] 8055908: 4413 add r3, r2 805590a: b298 uxth r0, r3 805590c: 693b ldr r3, [r7, #16] 805590e: b29b uxth r3, r3 8055910: 88ba ldrh r2, [r7, #4] 8055912: 1ad3 subs r3, r2, r3 8055914: b29c uxth r4, r3 8055916: 4b50 ldr r3, [pc, #320] ; (8055a58 ) 8055918: 681a ldr r2, [r3, #0] 805591a: 4950 ldr r1, [pc, #320] ; (8055a5c ) 805591c: 4613 mov r3, r2 805591e: 005b lsls r3, r3, #1 8055920: 4413 add r3, r2 8055922: 009b lsls r3, r3, #2 8055924: 440b add r3, r1 8055926: 681b ldr r3, [r3, #0] 8055928: 461a mov r2, r3 805592a: 4621 mov r1, r4 805592c: f000 f898 bl 8055a60 BSP_LCD_DrawPixel((Xpos - current_y), (Ypos - current_x), DrawProp[ActiveLayer].TextColor); 8055930: 68fb ldr r3, [r7, #12] 8055932: b29b uxth r3, r3 8055934: 88fa ldrh r2, [r7, #6] 8055936: 1ad3 subs r3, r2, r3 8055938: b298 uxth r0, r3 805593a: 693b ldr r3, [r7, #16] 805593c: b29b uxth r3, r3 805593e: 88ba ldrh r2, [r7, #4] 8055940: 1ad3 subs r3, r2, r3 8055942: b29c uxth r4, r3 8055944: 4b44 ldr r3, [pc, #272] ; (8055a58 ) 8055946: 681a ldr r2, [r3, #0] 8055948: 4944 ldr r1, [pc, #272] ; (8055a5c ) 805594a: 4613 mov r3, r2 805594c: 005b lsls r3, r3, #1 805594e: 4413 add r3, r2 8055950: 009b lsls r3, r3, #2 8055952: 440b add r3, r1 8055954: 681b ldr r3, [r3, #0] 8055956: 461a mov r2, r3 8055958: 4621 mov r1, r4 805595a: f000 f881 bl 8055a60 BSP_LCD_DrawPixel((Xpos + current_x), (Ypos + current_y), DrawProp[ActiveLayer].TextColor); 805595e: 693b ldr r3, [r7, #16] 8055960: b29a uxth r2, r3 8055962: 88fb ldrh r3, [r7, #6] 8055964: 4413 add r3, r2 8055966: b298 uxth r0, r3 8055968: 68fb ldr r3, [r7, #12] 805596a: b29a uxth r2, r3 805596c: 88bb ldrh r3, [r7, #4] 805596e: 4413 add r3, r2 8055970: b29c uxth r4, r3 8055972: 4b39 ldr r3, [pc, #228] ; (8055a58 ) 8055974: 681a ldr r2, [r3, #0] 8055976: 4939 ldr r1, [pc, #228] ; (8055a5c ) 8055978: 4613 mov r3, r2 805597a: 005b lsls r3, r3, #1 805597c: 4413 add r3, r2 805597e: 009b lsls r3, r3, #2 8055980: 440b add r3, r1 8055982: 681b ldr r3, [r3, #0] 8055984: 461a mov r2, r3 8055986: 4621 mov r1, r4 8055988: f000 f86a bl 8055a60 BSP_LCD_DrawPixel((Xpos - current_x), (Ypos + current_y), DrawProp[ActiveLayer].TextColor); 805598c: 693b ldr r3, [r7, #16] 805598e: b29b uxth r3, r3 8055990: 88fa ldrh r2, [r7, #6] 8055992: 1ad3 subs r3, r2, r3 8055994: b298 uxth r0, r3 8055996: 68fb ldr r3, [r7, #12] 8055998: b29a uxth r2, r3 805599a: 88bb ldrh r3, [r7, #4] 805599c: 4413 add r3, r2 805599e: b29c uxth r4, r3 80559a0: 4b2d ldr r3, [pc, #180] ; (8055a58 ) 80559a2: 681a ldr r2, [r3, #0] 80559a4: 492d ldr r1, [pc, #180] ; (8055a5c ) 80559a6: 4613 mov r3, r2 80559a8: 005b lsls r3, r3, #1 80559aa: 4413 add r3, r2 80559ac: 009b lsls r3, r3, #2 80559ae: 440b add r3, r1 80559b0: 681b ldr r3, [r3, #0] 80559b2: 461a mov r2, r3 80559b4: 4621 mov r1, r4 80559b6: f000 f853 bl 8055a60 BSP_LCD_DrawPixel((Xpos + current_y), (Ypos + current_x), DrawProp[ActiveLayer].TextColor); 80559ba: 68fb ldr r3, [r7, #12] 80559bc: b29a uxth r2, r3 80559be: 88fb ldrh r3, [r7, #6] 80559c0: 4413 add r3, r2 80559c2: b298 uxth r0, r3 80559c4: 693b ldr r3, [r7, #16] 80559c6: b29a uxth r2, r3 80559c8: 88bb ldrh r3, [r7, #4] 80559ca: 4413 add r3, r2 80559cc: b29c uxth r4, r3 80559ce: 4b22 ldr r3, [pc, #136] ; (8055a58 ) 80559d0: 681a ldr r2, [r3, #0] 80559d2: 4922 ldr r1, [pc, #136] ; (8055a5c ) 80559d4: 4613 mov r3, r2 80559d6: 005b lsls r3, r3, #1 80559d8: 4413 add r3, r2 80559da: 009b lsls r3, r3, #2 80559dc: 440b add r3, r1 80559de: 681b ldr r3, [r3, #0] 80559e0: 461a mov r2, r3 80559e2: 4621 mov r1, r4 80559e4: f000 f83c bl 8055a60 BSP_LCD_DrawPixel((Xpos - current_y), (Ypos + current_x), DrawProp[ActiveLayer].TextColor); 80559e8: 68fb ldr r3, [r7, #12] 80559ea: b29b uxth r3, r3 80559ec: 88fa ldrh r2, [r7, #6] 80559ee: 1ad3 subs r3, r2, r3 80559f0: b298 uxth r0, r3 80559f2: 693b ldr r3, [r7, #16] 80559f4: b29a uxth r2, r3 80559f6: 88bb ldrh r3, [r7, #4] 80559f8: 4413 add r3, r2 80559fa: b29c uxth r4, r3 80559fc: 4b16 ldr r3, [pc, #88] ; (8055a58 ) 80559fe: 681a ldr r2, [r3, #0] 8055a00: 4916 ldr r1, [pc, #88] ; (8055a5c ) 8055a02: 4613 mov r3, r2 8055a04: 005b lsls r3, r3, #1 8055a06: 4413 add r3, r2 8055a08: 009b lsls r3, r3, #2 8055a0a: 440b add r3, r1 8055a0c: 681b ldr r3, [r3, #0] 8055a0e: 461a mov r2, r3 8055a10: 4621 mov r1, r4 8055a12: f000 f825 bl 8055a60 if (decision < 0) 8055a16: 697b ldr r3, [r7, #20] 8055a18: 2b00 cmp r3, #0 8055a1a: da06 bge.n 8055a2a { decision += (current_x << 2) + 6; 8055a1c: 693b ldr r3, [r7, #16] 8055a1e: 009a lsls r2, r3, #2 8055a20: 697b ldr r3, [r7, #20] 8055a22: 4413 add r3, r2 8055a24: 3306 adds r3, #6 8055a26: 617b str r3, [r7, #20] 8055a28: e00a b.n 8055a40 } else { decision += ((current_x - current_y) << 2) + 10; 8055a2a: 693a ldr r2, [r7, #16] 8055a2c: 68fb ldr r3, [r7, #12] 8055a2e: 1ad3 subs r3, r2, r3 8055a30: 009a lsls r2, r3, #2 8055a32: 697b ldr r3, [r7, #20] 8055a34: 4413 add r3, r2 8055a36: 330a adds r3, #10 8055a38: 617b str r3, [r7, #20] current_y--; 8055a3a: 68fb ldr r3, [r7, #12] 8055a3c: 3b01 subs r3, #1 8055a3e: 60fb str r3, [r7, #12] } current_x++; 8055a40: 693b ldr r3, [r7, #16] 8055a42: 3301 adds r3, #1 8055a44: 613b str r3, [r7, #16] while (current_x <= current_y) 8055a46: 693a ldr r2, [r7, #16] 8055a48: 68fb ldr r3, [r7, #12] 8055a4a: 429a cmp r2, r3 8055a4c: f67f af2b bls.w 80558a6 } } 8055a50: bf00 nop 8055a52: 371c adds r7, #28 8055a54: 46bd mov sp, r7 8055a56: bd90 pop {r4, r7, pc} 8055a58: 20020078 .word 0x20020078 8055a5c: 20021030 .word 0x20021030 08055a60 : * @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) { 8055a60: b5b0 push {r4, r5, r7, lr} 8055a62: b082 sub sp, #8 8055a64: af00 add r7, sp, #0 8055a66: 4603 mov r3, r0 8055a68: 603a str r2, [r7, #0] 8055a6a: 80fb strh r3, [r7, #6] 8055a6c: 460b mov r3, r1 8055a6e: 80bb strh r3, [r7, #4] /* Write data value to all SDRAM memory */ if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 8055a70: 4b2a ldr r3, [pc, #168] ; (8055b1c ) 8055a72: 681b ldr r3, [r3, #0] 8055a74: 4a2a ldr r2, [pc, #168] ; (8055b20 ) 8055a76: 2134 movs r1, #52 ; 0x34 8055a78: fb01 f303 mul.w r3, r1, r3 8055a7c: 4413 add r3, r2 8055a7e: 3348 adds r3, #72 ; 0x48 8055a80: 681b ldr r3, [r3, #0] 8055a82: 2b02 cmp r3, #2 8055a84: d12f bne.n 8055ae6 { /* RGB565 format */ *(__IO uint16_t*) (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress + (2*(Ypos*BSP_LCD_GetXSize() + Xpos))) = COLOR24TO16(RGB_Code); 8055a86: 4b25 ldr r3, [pc, #148] ; (8055b1c ) 8055a88: 681b ldr r3, [r3, #0] 8055a8a: 4a25 ldr r2, [pc, #148] ; (8055b20 ) 8055a8c: 2134 movs r1, #52 ; 0x34 8055a8e: fb01 f303 mul.w r3, r1, r3 8055a92: 4413 add r3, r2 8055a94: 335c adds r3, #92 ; 0x5c 8055a96: 681c ldr r4, [r3, #0] 8055a98: 88bd ldrh r5, [r7, #4] 8055a9a: f7ff fb07 bl 80550ac 8055a9e: 4603 mov r3, r0 8055aa0: fb03 f205 mul.w r2, r3, r5 8055aa4: 88fb ldrh r3, [r7, #6] 8055aa6: 4413 add r3, r2 8055aa8: 005b lsls r3, r3, #1 8055aaa: 4423 add r3, r4 8055aac: 4619 mov r1, r3 8055aae: 683b ldr r3, [r7, #0] 8055ab0: 0c1b lsrs r3, r3, #16 8055ab2: b29b uxth r3, r3 8055ab4: 021b lsls r3, r3, #8 8055ab6: b29a uxth r2, r3 8055ab8: 4b1a ldr r3, [pc, #104] ; (8055b24 ) 8055aba: 4013 ands r3, r2 8055abc: b29a uxth r2, r3 8055abe: 683b ldr r3, [r7, #0] 8055ac0: 0a1b lsrs r3, r3, #8 8055ac2: b29b uxth r3, r3 8055ac4: 00db lsls r3, r3, #3 8055ac6: b29b uxth r3, r3 8055ac8: f403 63fc and.w r3, r3, #2016 ; 0x7e0 8055acc: b29b uxth r3, r3 8055ace: 4313 orrs r3, r2 8055ad0: b29a uxth r2, r3 8055ad2: 683b ldr r3, [r7, #0] 8055ad4: 08db lsrs r3, r3, #3 8055ad6: b29b uxth r3, r3 8055ad8: f003 031f and.w r3, r3, #31 8055adc: b29b uxth r3, r3 8055ade: 4313 orrs r3, r2 8055ae0: b29b uxth r3, r3 8055ae2: 800b strh r3, [r1, #0] } else { /* ARGB8888 format */ *(__IO uint32_t*) (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress + (4*(Ypos*BSP_LCD_GetXSize() + Xpos))) = RGB_Code; } } 8055ae4: e015 b.n 8055b12 *(__IO uint32_t*) (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress + (4*(Ypos*BSP_LCD_GetXSize() + Xpos))) = RGB_Code; 8055ae6: 4b0d ldr r3, [pc, #52] ; (8055b1c ) 8055ae8: 681b ldr r3, [r3, #0] 8055aea: 4a0d ldr r2, [pc, #52] ; (8055b20 ) 8055aec: 2134 movs r1, #52 ; 0x34 8055aee: fb01 f303 mul.w r3, r1, r3 8055af2: 4413 add r3, r2 8055af4: 335c adds r3, #92 ; 0x5c 8055af6: 681c ldr r4, [r3, #0] 8055af8: 88bd ldrh r5, [r7, #4] 8055afa: f7ff fad7 bl 80550ac 8055afe: 4603 mov r3, r0 8055b00: fb03 f205 mul.w r2, r3, r5 8055b04: 88fb ldrh r3, [r7, #6] 8055b06: 4413 add r3, r2 8055b08: 009b lsls r3, r3, #2 8055b0a: 4423 add r3, r4 8055b0c: 461a mov r2, r3 8055b0e: 683b ldr r3, [r7, #0] 8055b10: 6013 str r3, [r2, #0] } 8055b12: bf00 nop 8055b14: 3708 adds r7, #8 8055b16: 46bd mov sp, r7 8055b18: bdb0 pop {r4, r5, r7, pc} 8055b1a: bf00 nop 8055b1c: 20020078 .word 0x20020078 8055b20: 20025d80 .word 0x20025d80 8055b24: fffff800 .word 0xfffff800 08055b28 : * @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) { 8055b28: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 8055b2c: b086 sub sp, #24 8055b2e: af02 add r7, sp, #8 8055b30: 4604 mov r4, r0 8055b32: 4608 mov r0, r1 8055b34: 4611 mov r1, r2 8055b36: 461a mov r2, r3 8055b38: 4623 mov r3, r4 8055b3a: 80fb strh r3, [r7, #6] 8055b3c: 4603 mov r3, r0 8055b3e: 80bb strh r3, [r7, #4] 8055b40: 460b mov r3, r1 8055b42: 807b strh r3, [r7, #2] 8055b44: 4613 mov r3, r2 8055b46: 803b strh r3, [r7, #0] uint32_t x_address = 0; 8055b48: 2300 movs r3, #0 8055b4a: 60fb str r3, [r7, #12] /* Set the text color */ BSP_LCD_SetTextColor(DrawProp[ActiveLayer].TextColor); 8055b4c: 4b30 ldr r3, [pc, #192] ; (8055c10 ) 8055b4e: 681a ldr r2, [r3, #0] 8055b50: 4930 ldr r1, [pc, #192] ; (8055c14 ) 8055b52: 4613 mov r3, r2 8055b54: 005b lsls r3, r3, #1 8055b56: 4413 add r3, r2 8055b58: 009b lsls r3, r3, #2 8055b5a: 440b add r3, r1 8055b5c: 681b ldr r3, [r3, #0] 8055b5e: 4618 mov r0, r3 8055b60: f7ff fb78 bl 8055254 /* Get the rectangle start address */ if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 8055b64: 4b2a ldr r3, [pc, #168] ; (8055c10 ) 8055b66: 681b ldr r3, [r3, #0] 8055b68: 4a2b ldr r2, [pc, #172] ; (8055c18 ) 8055b6a: 2134 movs r1, #52 ; 0x34 8055b6c: fb01 f303 mul.w r3, r1, r3 8055b70: 4413 add r3, r2 8055b72: 3348 adds r3, #72 ; 0x48 8055b74: 681b ldr r3, [r3, #0] 8055b76: 2b02 cmp r3, #2 8055b78: d114 bne.n 8055ba4 { /* RGB565 format */ x_address = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 2*(BSP_LCD_GetXSize()*Ypos + Xpos); 8055b7a: 4b25 ldr r3, [pc, #148] ; (8055c10 ) 8055b7c: 681b ldr r3, [r3, #0] 8055b7e: 4a26 ldr r2, [pc, #152] ; (8055c18 ) 8055b80: 2134 movs r1, #52 ; 0x34 8055b82: fb01 f303 mul.w r3, r1, r3 8055b86: 4413 add r3, r2 8055b88: 335c adds r3, #92 ; 0x5c 8055b8a: 681c ldr r4, [r3, #0] 8055b8c: f7ff fa8e bl 80550ac 8055b90: 4602 mov r2, r0 8055b92: 88bb ldrh r3, [r7, #4] 8055b94: fb03 f202 mul.w r2, r3, r2 8055b98: 88fb ldrh r3, [r7, #6] 8055b9a: 4413 add r3, r2 8055b9c: 005b lsls r3, r3, #1 8055b9e: 4423 add r3, r4 8055ba0: 60fb str r3, [r7, #12] 8055ba2: e013 b.n 8055bcc } else { /* ARGB8888 format */ x_address = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 4*(BSP_LCD_GetXSize()*Ypos + Xpos); 8055ba4: 4b1a ldr r3, [pc, #104] ; (8055c10 ) 8055ba6: 681b ldr r3, [r3, #0] 8055ba8: 4a1b ldr r2, [pc, #108] ; (8055c18 ) 8055baa: 2134 movs r1, #52 ; 0x34 8055bac: fb01 f303 mul.w r3, r1, r3 8055bb0: 4413 add r3, r2 8055bb2: 335c adds r3, #92 ; 0x5c 8055bb4: 681c ldr r4, [r3, #0] 8055bb6: f7ff fa79 bl 80550ac 8055bba: 4602 mov r2, r0 8055bbc: 88bb ldrh r3, [r7, #4] 8055bbe: fb03 f202 mul.w r2, r3, r2 8055bc2: 88fb ldrh r3, [r7, #6] 8055bc4: 4413 add r3, r2 8055bc6: 009b lsls r3, r3, #2 8055bc8: 4423 add r3, r4 8055bca: 60fb str r3, [r7, #12] } /* Fill the rectangle */ LL_FillBuffer(ActiveLayer, (uint32_t *)x_address, Width, Height, (BSP_LCD_GetXSize() - Width), DrawProp[ActiveLayer].TextColor); 8055bcc: 4b10 ldr r3, [pc, #64] ; (8055c10 ) 8055bce: 681c ldr r4, [r3, #0] 8055bd0: 68fd ldr r5, [r7, #12] 8055bd2: 887e ldrh r6, [r7, #2] 8055bd4: f8b7 8000 ldrh.w r8, [r7] 8055bd8: f7ff fa68 bl 80550ac 8055bdc: 4602 mov r2, r0 8055bde: 887b ldrh r3, [r7, #2] 8055be0: 1ad1 subs r1, r2, r3 8055be2: 4b0b ldr r3, [pc, #44] ; (8055c10 ) 8055be4: 681a ldr r2, [r3, #0] 8055be6: 480b ldr r0, [pc, #44] ; (8055c14 ) 8055be8: 4613 mov r3, r2 8055bea: 005b lsls r3, r3, #1 8055bec: 4413 add r3, r2 8055bee: 009b lsls r3, r3, #2 8055bf0: 4403 add r3, r0 8055bf2: 681b ldr r3, [r3, #0] 8055bf4: 9301 str r3, [sp, #4] 8055bf6: 9100 str r1, [sp, #0] 8055bf8: 4643 mov r3, r8 8055bfa: 4632 mov r2, r6 8055bfc: 4629 mov r1, r5 8055bfe: 4620 mov r0, r4 8055c00: f000 f9ac bl 8055f5c } 8055c04: bf00 nop 8055c06: 3710 adds r7, #16 8055c08: 46bd mov sp, r7 8055c0a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 8055c0e: bf00 nop 8055c10: 20020078 .word 0x20020078 8055c14: 20021030 .word 0x20021030 8055c18: 20025d80 .word 0x20025d80 08055c1c : * @param Ypos: Y position * @param Radius: Circle radius * @retval None */ void BSP_LCD_FillCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius) { 8055c1c: b580 push {r7, lr} 8055c1e: b086 sub sp, #24 8055c20: af00 add r7, sp, #0 8055c22: 4603 mov r3, r0 8055c24: 80fb strh r3, [r7, #6] 8055c26: 460b mov r3, r1 8055c28: 80bb strh r3, [r7, #4] 8055c2a: 4613 mov r3, r2 8055c2c: 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); 8055c2e: 887b ldrh r3, [r7, #2] 8055c30: 005b lsls r3, r3, #1 8055c32: f1c3 0303 rsb r3, r3, #3 8055c36: 617b str r3, [r7, #20] current_x = 0; 8055c38: 2300 movs r3, #0 8055c3a: 613b str r3, [r7, #16] current_y = Radius; 8055c3c: 887b ldrh r3, [r7, #2] 8055c3e: 60fb str r3, [r7, #12] BSP_LCD_SetTextColor(DrawProp[ActiveLayer].TextColor); 8055c40: 4b44 ldr r3, [pc, #272] ; (8055d54 ) 8055c42: 681a ldr r2, [r3, #0] 8055c44: 4944 ldr r1, [pc, #272] ; (8055d58 ) 8055c46: 4613 mov r3, r2 8055c48: 005b lsls r3, r3, #1 8055c4a: 4413 add r3, r2 8055c4c: 009b lsls r3, r3, #2 8055c4e: 440b add r3, r1 8055c50: 681b ldr r3, [r3, #0] 8055c52: 4618 mov r0, r3 8055c54: f7ff fafe bl 8055254 while (current_x <= current_y) 8055c58: e061 b.n 8055d1e { if(current_y > 0) 8055c5a: 68fb ldr r3, [r7, #12] 8055c5c: 2b00 cmp r3, #0 8055c5e: d021 beq.n 8055ca4 { BSP_LCD_DrawHLine(Xpos - current_y, Ypos + current_x, 2*current_y); 8055c60: 68fb ldr r3, [r7, #12] 8055c62: b29b uxth r3, r3 8055c64: 88fa ldrh r2, [r7, #6] 8055c66: 1ad3 subs r3, r2, r3 8055c68: b298 uxth r0, r3 8055c6a: 693b ldr r3, [r7, #16] 8055c6c: b29a uxth r2, r3 8055c6e: 88bb ldrh r3, [r7, #4] 8055c70: 4413 add r3, r2 8055c72: b299 uxth r1, r3 8055c74: 68fb ldr r3, [r7, #12] 8055c76: b29b uxth r3, r3 8055c78: 005b lsls r3, r3, #1 8055c7a: b29b uxth r3, r3 8055c7c: 461a mov r2, r3 8055c7e: f7ff fc3f bl 8055500 BSP_LCD_DrawHLine(Xpos - current_y, Ypos - current_x, 2*current_y); 8055c82: 68fb ldr r3, [r7, #12] 8055c84: b29b uxth r3, r3 8055c86: 88fa ldrh r2, [r7, #6] 8055c88: 1ad3 subs r3, r2, r3 8055c8a: b298 uxth r0, r3 8055c8c: 693b ldr r3, [r7, #16] 8055c8e: b29b uxth r3, r3 8055c90: 88ba ldrh r2, [r7, #4] 8055c92: 1ad3 subs r3, r2, r3 8055c94: b299 uxth r1, r3 8055c96: 68fb ldr r3, [r7, #12] 8055c98: b29b uxth r3, r3 8055c9a: 005b lsls r3, r3, #1 8055c9c: b29b uxth r3, r3 8055c9e: 461a mov r2, r3 8055ca0: f7ff fc2e bl 8055500 } if(current_x > 0) 8055ca4: 693b ldr r3, [r7, #16] 8055ca6: 2b00 cmp r3, #0 8055ca8: d021 beq.n 8055cee { BSP_LCD_DrawHLine(Xpos - current_x, Ypos - current_y, 2*current_x); 8055caa: 693b ldr r3, [r7, #16] 8055cac: b29b uxth r3, r3 8055cae: 88fa ldrh r2, [r7, #6] 8055cb0: 1ad3 subs r3, r2, r3 8055cb2: b298 uxth r0, r3 8055cb4: 68fb ldr r3, [r7, #12] 8055cb6: b29b uxth r3, r3 8055cb8: 88ba ldrh r2, [r7, #4] 8055cba: 1ad3 subs r3, r2, r3 8055cbc: b299 uxth r1, r3 8055cbe: 693b ldr r3, [r7, #16] 8055cc0: b29b uxth r3, r3 8055cc2: 005b lsls r3, r3, #1 8055cc4: b29b uxth r3, r3 8055cc6: 461a mov r2, r3 8055cc8: f7ff fc1a bl 8055500 BSP_LCD_DrawHLine(Xpos - current_x, Ypos + current_y, 2*current_x); 8055ccc: 693b ldr r3, [r7, #16] 8055cce: b29b uxth r3, r3 8055cd0: 88fa ldrh r2, [r7, #6] 8055cd2: 1ad3 subs r3, r2, r3 8055cd4: b298 uxth r0, r3 8055cd6: 68fb ldr r3, [r7, #12] 8055cd8: b29a uxth r2, r3 8055cda: 88bb ldrh r3, [r7, #4] 8055cdc: 4413 add r3, r2 8055cde: b299 uxth r1, r3 8055ce0: 693b ldr r3, [r7, #16] 8055ce2: b29b uxth r3, r3 8055ce4: 005b lsls r3, r3, #1 8055ce6: b29b uxth r3, r3 8055ce8: 461a mov r2, r3 8055cea: f7ff fc09 bl 8055500 } if (decision < 0) 8055cee: 697b ldr r3, [r7, #20] 8055cf0: 2b00 cmp r3, #0 8055cf2: da06 bge.n 8055d02 { decision += (current_x << 2) + 6; 8055cf4: 693b ldr r3, [r7, #16] 8055cf6: 009a lsls r2, r3, #2 8055cf8: 697b ldr r3, [r7, #20] 8055cfa: 4413 add r3, r2 8055cfc: 3306 adds r3, #6 8055cfe: 617b str r3, [r7, #20] 8055d00: e00a b.n 8055d18 } else { decision += ((current_x - current_y) << 2) + 10; 8055d02: 693a ldr r2, [r7, #16] 8055d04: 68fb ldr r3, [r7, #12] 8055d06: 1ad3 subs r3, r2, r3 8055d08: 009a lsls r2, r3, #2 8055d0a: 697b ldr r3, [r7, #20] 8055d0c: 4413 add r3, r2 8055d0e: 330a adds r3, #10 8055d10: 617b str r3, [r7, #20] current_y--; 8055d12: 68fb ldr r3, [r7, #12] 8055d14: 3b01 subs r3, #1 8055d16: 60fb str r3, [r7, #12] } current_x++; 8055d18: 693b ldr r3, [r7, #16] 8055d1a: 3301 adds r3, #1 8055d1c: 613b str r3, [r7, #16] while (current_x <= current_y) 8055d1e: 693a ldr r2, [r7, #16] 8055d20: 68fb ldr r3, [r7, #12] 8055d22: 429a cmp r2, r3 8055d24: d999 bls.n 8055c5a } BSP_LCD_SetTextColor(DrawProp[ActiveLayer].TextColor); 8055d26: 4b0b ldr r3, [pc, #44] ; (8055d54 ) 8055d28: 681a ldr r2, [r3, #0] 8055d2a: 490b ldr r1, [pc, #44] ; (8055d58 ) 8055d2c: 4613 mov r3, r2 8055d2e: 005b lsls r3, r3, #1 8055d30: 4413 add r3, r2 8055d32: 009b lsls r3, r3, #2 8055d34: 440b add r3, r1 8055d36: 681b ldr r3, [r3, #0] 8055d38: 4618 mov r0, r3 8055d3a: f7ff fa8b bl 8055254 BSP_LCD_DrawCircle(Xpos, Ypos, Radius); 8055d3e: 887a ldrh r2, [r7, #2] 8055d40: 88b9 ldrh r1, [r7, #4] 8055d42: 88fb ldrh r3, [r7, #6] 8055d44: 4618 mov r0, r3 8055d46: f7ff fd9b bl 8055880 } 8055d4a: bf00 nop 8055d4c: 3718 adds r7, #24 8055d4e: 46bd mov sp, r7 8055d50: bd80 pop {r7, pc} 8055d52: bf00 nop 8055d54: 20020078 .word 0x20020078 8055d58: 20021030 .word 0x20021030 08055d5c : while (y <= 0); } void LCD_DisplayString(uint16_t X, uint16_t Line, char *ptr) { 8055d5c: b580 push {r7, lr} 8055d5e: b082 sub sp, #8 8055d60: af00 add r7, sp, #0 8055d62: 4603 mov r3, r0 8055d64: 603a str r2, [r7, #0] 8055d66: 80fb strh r3, [r7, #6] 8055d68: 460b mov r3, r1 8055d6a: 80bb strh r3, [r7, #4] BSP_LCD_SetFont(&Font15); 8055d6c: 4806 ldr r0, [pc, #24] ; (8055d88 ) 8055d6e: f7ff fa89 bl 8055284 BSP_LCD_DisplayStringAt(X, Line, ptr, LEFT_MODE); 8055d72: 88b9 ldrh r1, [r7, #4] 8055d74: 88f8 ldrh r0, [r7, #6] 8055d76: 2303 movs r3, #3 8055d78: 683a ldr r2, [r7, #0] 8055d7a: f7ff fb0d bl 8055398 { LCD_DisplayChar(Line, refcolumn, *ptr); refcolumn -= 12; ptr++; }*/ } 8055d7e: bf00 nop 8055d80: 3708 adds r7, #8 8055d82: 46bd mov sp, r7 8055d84: bd80 pop {r7, pc} 8055d86: bf00 nop 8055d88: 20020040 .word 0x20020040 08055d8c : void LCD_DisplayStringC(uint16_t X, uint16_t Y, char *ptr) { 8055d8c: b580 push {r7, lr} 8055d8e: b082 sub sp, #8 8055d90: af00 add r7, sp, #0 8055d92: 4603 mov r3, r0 8055d94: 603a str r2, [r7, #0] 8055d96: 80fb strh r3, [r7, #6] 8055d98: 460b mov r3, r1 8055d9a: 80bb strh r3, [r7, #4] BSP_LCD_SetFont(&Font15); 8055d9c: 4806 ldr r0, [pc, #24] ; (8055db8 ) 8055d9e: f7ff fa71 bl 8055284 BSP_LCD_DisplayStringAt(X, Y, ptr, CENTER_MODE); 8055da2: 88b9 ldrh r1, [r7, #4] 8055da4: 88f8 ldrh r0, [r7, #6] 8055da6: 2301 movs r3, #1 8055da8: 683a ldr r2, [r7, #0] 8055daa: f7ff faf5 bl 8055398 { LCD_DisplayChar(Y, refcolumn, *ptr); refcolumn -= 12; ptr++; }*/ } 8055dae: bf00 nop 8055db0: 3708 adds r7, #8 8055db2: 46bd mov sp, r7 8055db4: bd80 pop {r7, pc} 8055db6: bf00 nop 8055db8: 20020040 .word 0x20020040 08055dbc : void LCD_DisplayStringR(uint16_t X, uint16_t Y, char *ptr) { 8055dbc: b580 push {r7, lr} 8055dbe: b082 sub sp, #8 8055dc0: af00 add r7, sp, #0 8055dc2: 4603 mov r3, r0 8055dc4: 603a str r2, [r7, #0] 8055dc6: 80fb strh r3, [r7, #6] 8055dc8: 460b mov r3, r1 8055dca: 80bb strh r3, [r7, #4] BSP_LCD_SetFont(&Font15); 8055dcc: 4806 ldr r0, [pc, #24] ; (8055de8 ) 8055dce: f7ff fa59 bl 8055284 BSP_LCD_DisplayStringAt(X, Y, ptr, RIGHT_MODE); 8055dd2: 88b9 ldrh r1, [r7, #4] 8055dd4: 88f8 ldrh r0, [r7, #6] 8055dd6: 2302 movs r3, #2 8055dd8: 683a ldr r2, [r7, #0] 8055dda: f7ff fadd bl 8055398 { LCD_DisplayChar(Y, refcolumn, *ptr); refcolumn -= 12; ptr++; }*/ } 8055dde: bf00 nop 8055de0: 3708 adds r7, #8 8055de2: 46bd mov sp, r7 8055de4: bd80 pop {r7, pc} 8055de6: bf00 nop 8055de8: 20020040 .word 0x20020040 08055dec : * @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) { 8055dec: b580 push {r7, lr} 8055dee: b088 sub sp, #32 8055df0: af00 add r7, sp, #0 8055df2: 4603 mov r3, r0 8055df4: 603a str r2, [r7, #0] 8055df6: 80fb strh r3, [r7, #6] 8055df8: 460b mov r3, r1 8055dfa: 80bb strh r3, [r7, #4] uint32_t i = 0, j = 0; 8055dfc: 2300 movs r3, #0 8055dfe: 61fb str r3, [r7, #28] 8055e00: 2300 movs r3, #0 8055e02: 61bb str r3, [r7, #24] uint8_t offset; uint8_t *pchar; uint32_t line; //uint16_t b; height = DrawProp[ActiveLayer].pFont->Height; 8055e04: 4b53 ldr r3, [pc, #332] ; (8055f54 ) 8055e06: 681a ldr r2, [r3, #0] 8055e08: 4953 ldr r1, [pc, #332] ; (8055f58 ) 8055e0a: 4613 mov r3, r2 8055e0c: 005b lsls r3, r3, #1 8055e0e: 4413 add r3, r2 8055e10: 009b lsls r3, r3, #2 8055e12: 440b add r3, r1 8055e14: 3308 adds r3, #8 8055e16: 681b ldr r3, [r3, #0] 8055e18: 88db ldrh r3, [r3, #6] 8055e1a: 827b strh r3, [r7, #18] width = DrawProp[ActiveLayer].pFont->Width; 8055e1c: 4b4d ldr r3, [pc, #308] ; (8055f54 ) 8055e1e: 681a ldr r2, [r3, #0] 8055e20: 494d ldr r1, [pc, #308] ; (8055f58 ) 8055e22: 4613 mov r3, r2 8055e24: 005b lsls r3, r3, #1 8055e26: 4413 add r3, r2 8055e28: 009b lsls r3, r3, #2 8055e2a: 440b add r3, r1 8055e2c: 3308 adds r3, #8 8055e2e: 681b ldr r3, [r3, #0] 8055e30: 889b ldrh r3, [r3, #4] 8055e32: 823b strh r3, [r7, #16] offset = 8 *((width + 7)/8) - width ; 8055e34: 8a3b ldrh r3, [r7, #16] 8055e36: 3307 adds r3, #7 8055e38: 2b00 cmp r3, #0 8055e3a: da00 bge.n 8055e3e 8055e3c: 3307 adds r3, #7 8055e3e: 10db asrs r3, r3, #3 8055e40: b2db uxtb r3, r3 8055e42: 00db lsls r3, r3, #3 8055e44: b2da uxtb r2, r3 8055e46: 8a3b ldrh r3, [r7, #16] 8055e48: b2db uxtb r3, r3 8055e4a: 1ad3 subs r3, r2, r3 8055e4c: 73fb strb r3, [r7, #15] for(i = 0; i < height; i++) 8055e4e: 2300 movs r3, #0 8055e50: 61fb str r3, [r7, #28] 8055e52: e076 b.n 8055f42 { pchar = ((uint8_t *)c + (width + 7)/8 * i); 8055e54: 8a3b ldrh r3, [r7, #16] 8055e56: 3307 adds r3, #7 8055e58: 2b00 cmp r3, #0 8055e5a: da00 bge.n 8055e5e 8055e5c: 3307 adds r3, #7 8055e5e: 10db asrs r3, r3, #3 8055e60: 461a mov r2, r3 8055e62: 69fb ldr r3, [r7, #28] 8055e64: fb03 f302 mul.w r3, r3, r2 8055e68: 683a ldr r2, [r7, #0] 8055e6a: 4413 add r3, r2 8055e6c: 60bb str r3, [r7, #8] switch(((width + 7)/8)) 8055e6e: 8a3b ldrh r3, [r7, #16] 8055e70: 3307 adds r3, #7 8055e72: 2b00 cmp r3, #0 8055e74: da00 bge.n 8055e78 8055e76: 3307 adds r3, #7 8055e78: 10db asrs r3, r3, #3 8055e7a: 2b01 cmp r3, #1 8055e7c: d002 beq.n 8055e84 8055e7e: 2b02 cmp r3, #2 8055e80: d004 beq.n 8055e8c 8055e82: e00c b.n 8055e9e { case 1: line = pchar[0]; 8055e84: 68bb ldr r3, [r7, #8] 8055e86: 781b ldrb r3, [r3, #0] 8055e88: 617b str r3, [r7, #20] break; 8055e8a: e016 b.n 8055eba case 2: line = (pchar[0]<< 8) | pchar[1]; 8055e8c: 68bb ldr r3, [r7, #8] 8055e8e: 781b ldrb r3, [r3, #0] 8055e90: 021b lsls r3, r3, #8 8055e92: 68ba ldr r2, [r7, #8] 8055e94: 3201 adds r2, #1 8055e96: 7812 ldrb r2, [r2, #0] 8055e98: 4313 orrs r3, r2 8055e9a: 617b str r3, [r7, #20] break; 8055e9c: e00d b.n 8055eba case 3: default: line = (pchar[0]<< 16) | (pchar[1]<< 8) | pchar[2]; 8055e9e: 68bb ldr r3, [r7, #8] 8055ea0: 781b ldrb r3, [r3, #0] 8055ea2: 041a lsls r2, r3, #16 8055ea4: 68bb ldr r3, [r7, #8] 8055ea6: 3301 adds r3, #1 8055ea8: 781b ldrb r3, [r3, #0] 8055eaa: 021b lsls r3, r3, #8 8055eac: 4313 orrs r3, r2 8055eae: 68ba ldr r2, [r7, #8] 8055eb0: 3202 adds r2, #2 8055eb2: 7812 ldrb r2, [r2, #0] 8055eb4: 4313 orrs r3, r2 8055eb6: 617b str r3, [r7, #20] break; 8055eb8: bf00 nop } for (j = 0; j < width; j++) 8055eba: 2300 movs r3, #0 8055ebc: 61bb str r3, [r7, #24] 8055ebe: e036 b.n 8055f2e { if(line & (1 << (width- j + offset- 1))) 8055ec0: 8a3a ldrh r2, [r7, #16] 8055ec2: 69bb ldr r3, [r7, #24] 8055ec4: 1ad2 subs r2, r2, r3 8055ec6: 7bfb ldrb r3, [r7, #15] 8055ec8: 4413 add r3, r2 8055eca: 3b01 subs r3, #1 8055ecc: 2201 movs r2, #1 8055ece: fa02 f303 lsl.w r3, r2, r3 8055ed2: 461a mov r2, r3 8055ed4: 697b ldr r3, [r7, #20] 8055ed6: 4013 ands r3, r2 8055ed8: 2b00 cmp r3, #0 8055eda: d012 beq.n 8055f02 { BSP_LCD_DrawPixel((Xpos + j), Ypos, DrawProp[ActiveLayer].TextColor); 8055edc: 69bb ldr r3, [r7, #24] 8055ede: b29a uxth r2, r3 8055ee0: 88fb ldrh r3, [r7, #6] 8055ee2: 4413 add r3, r2 8055ee4: b298 uxth r0, r3 8055ee6: 4b1b ldr r3, [pc, #108] ; (8055f54 ) 8055ee8: 681a ldr r2, [r3, #0] 8055eea: 491b ldr r1, [pc, #108] ; (8055f58 ) 8055eec: 4613 mov r3, r2 8055eee: 005b lsls r3, r3, #1 8055ef0: 4413 add r3, r2 8055ef2: 009b lsls r3, r3, #2 8055ef4: 440b add r3, r1 8055ef6: 681a ldr r2, [r3, #0] 8055ef8: 88bb ldrh r3, [r7, #4] 8055efa: 4619 mov r1, r3 8055efc: f7ff fdb0 bl 8055a60 8055f00: e012 b.n 8055f28 } else { BSP_LCD_DrawPixel((Xpos + j), Ypos, DrawProp[ActiveLayer].BackColor); 8055f02: 69bb ldr r3, [r7, #24] 8055f04: b29a uxth r2, r3 8055f06: 88fb ldrh r3, [r7, #6] 8055f08: 4413 add r3, r2 8055f0a: b298 uxth r0, r3 8055f0c: 4b11 ldr r3, [pc, #68] ; (8055f54 ) 8055f0e: 681a ldr r2, [r3, #0] 8055f10: 4911 ldr r1, [pc, #68] ; (8055f58 ) 8055f12: 4613 mov r3, r2 8055f14: 005b lsls r3, r3, #1 8055f16: 4413 add r3, r2 8055f18: 009b lsls r3, r3, #2 8055f1a: 440b add r3, r1 8055f1c: 3304 adds r3, #4 8055f1e: 681a ldr r2, [r3, #0] 8055f20: 88bb ldrh r3, [r7, #4] 8055f22: 4619 mov r1, r3 8055f24: f7ff fd9c bl 8055a60 for (j = 0; j < width; j++) 8055f28: 69bb ldr r3, [r7, #24] 8055f2a: 3301 adds r3, #1 8055f2c: 61bb str r3, [r7, #24] 8055f2e: 8a3a ldrh r2, [r7, #16] 8055f30: 69bb ldr r3, [r7, #24] 8055f32: 429a cmp r2, r3 8055f34: d8c4 bhi.n 8055ec0 } } Ypos++; 8055f36: 88bb ldrh r3, [r7, #4] 8055f38: 3301 adds r3, #1 8055f3a: 80bb strh r3, [r7, #4] for(i = 0; i < height; i++) 8055f3c: 69fb ldr r3, [r7, #28] 8055f3e: 3301 adds r3, #1 8055f40: 61fb str r3, [r7, #28] 8055f42: 8a7a ldrh r2, [r7, #18] 8055f44: 69fb ldr r3, [r7, #28] 8055f46: 429a cmp r2, r3 8055f48: d884 bhi.n 8055e54 } } 8055f4a: bf00 nop 8055f4c: 3720 adds r7, #32 8055f4e: 46bd mov sp, r7 8055f50: bd80 pop {r7, pc} 8055f52: bf00 nop 8055f54: 20020078 .word 0x20020078 8055f58: 20021030 .word 0x20021030 08055f5c : * @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) { 8055f5c: b580 push {r7, lr} 8055f5e: b086 sub sp, #24 8055f60: af02 add r7, sp, #8 8055f62: 60f8 str r0, [r7, #12] 8055f64: 60b9 str r1, [r7, #8] 8055f66: 607a str r2, [r7, #4] 8055f68: 603b str r3, [r7, #0] /* Register to memory mode with ARGB8888 as color Mode */ hDma2dHandler.Init.Mode = DMA2D_R2M; 8055f6a: 4b1e ldr r3, [pc, #120] ; (8055fe4 ) 8055f6c: f44f 3240 mov.w r2, #196608 ; 0x30000 8055f70: 605a str r2, [r3, #4] if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 8055f72: 4b1d ldr r3, [pc, #116] ; (8055fe8 ) 8055f74: 681b ldr r3, [r3, #0] 8055f76: 4a1d ldr r2, [pc, #116] ; (8055fec ) 8055f78: 2134 movs r1, #52 ; 0x34 8055f7a: fb01 f303 mul.w r3, r1, r3 8055f7e: 4413 add r3, r2 8055f80: 3348 adds r3, #72 ; 0x48 8055f82: 681b ldr r3, [r3, #0] 8055f84: 2b02 cmp r3, #2 8055f86: d103 bne.n 8055f90 hDma2dHandler.Init.ColorMode = DMA2D_RGB565; 8055f88: 4b16 ldr r3, [pc, #88] ; (8055fe4 ) 8055f8a: 2202 movs r2, #2 8055f8c: 609a str r2, [r3, #8] 8055f8e: e002 b.n 8055f96 else hDma2dHandler.Init.ColorMode = DMA2D_ARGB8888; 8055f90: 4b14 ldr r3, [pc, #80] ; (8055fe4 ) 8055f92: 2200 movs r2, #0 8055f94: 609a str r2, [r3, #8] hDma2dHandler.Init.OutputOffset = OffLine; 8055f96: 4a13 ldr r2, [pc, #76] ; (8055fe4 ) 8055f98: 69bb ldr r3, [r7, #24] 8055f9a: 60d3 str r3, [r2, #12] hDma2dHandler.Instance = DMA2D; 8055f9c: 4b11 ldr r3, [pc, #68] ; (8055fe4 ) 8055f9e: 4a14 ldr r2, [pc, #80] ; (8055ff0 ) 8055fa0: 601a str r2, [r3, #0] if(HAL_DMA2D_Init(&hDma2dHandler) == HAL_OK) 8055fa2: 4810 ldr r0, [pc, #64] ; (8055fe4 ) 8055fa4: f063 f9d6 bl 80b9354 8055fa8: 4603 mov r3, r0 8055faa: 2b00 cmp r3, #0 8055fac: d115 bne.n 8055fda { if(HAL_DMA2D_ConfigLayer(&hDma2dHandler, LayerIndex) == HAL_OK) 8055fae: 68f9 ldr r1, [r7, #12] 8055fb0: 480c ldr r0, [pc, #48] ; (8055fe4 ) 8055fb2: f063 fb3d bl 80b9630 8055fb6: 4603 mov r3, r0 8055fb8: 2b00 cmp r3, #0 8055fba: d10e bne.n 8055fda { if (HAL_DMA2D_Start(&hDma2dHandler, ColorIndex, (uint32_t)pDst, xSize, ySize) == HAL_OK) 8055fbc: 68ba ldr r2, [r7, #8] 8055fbe: 683b ldr r3, [r7, #0] 8055fc0: 9300 str r3, [sp, #0] 8055fc2: 687b ldr r3, [r7, #4] 8055fc4: 69f9 ldr r1, [r7, #28] 8055fc6: 4807 ldr r0, [pc, #28] ; (8055fe4 ) 8055fc8: f063 fa1e bl 80b9408 8055fcc: 4603 mov r3, r0 8055fce: 2b00 cmp r3, #0 8055fd0: d103 bne.n 8055fda { HAL_DMA2D_PollForTransfer(&hDma2dHandler, 30); 8055fd2: 211e movs r1, #30 8055fd4: 4803 ldr r0, [pc, #12] ; (8055fe4 ) 8055fd6: f063 fa42 bl 80b945e } } } } 8055fda: bf00 nop 8055fdc: 3710 adds r7, #16 8055fde: 46bd mov sp, r7 8055fe0: bd80 pop {r7, pc} 8055fe2: bf00 nop 8055fe4: 20020fd8 .word 0x20020fd8 8055fe8: 20020078 .word 0x20020078 8055fec: 20025d80 .word 0x20025d80 8055ff0: 4002b000 .word 0x4002b000 08055ff4 : } } void DrawImage(const GUI_BITMAP * pBM, uint16_t x0, uint16_t y0) { 8055ff4: b580 push {r7, lr} 8055ff6: b088 sub sp, #32 8055ff8: af02 add r7, sp, #8 8055ffa: 6078 str r0, [r7, #4] 8055ffc: 460b mov r3, r1 8055ffe: 807b strh r3, [r7, #2] 8056000: 4613 mov r3, r2 8056002: 803b strh r3, [r7, #0] //HAL_StatusTypeDef hal_status = HAL_OK; uint32_t Xaddress = 0; 8056004: 2300 movs r3, #0 8056006: 617b str r3, [r7, #20] uint8_t * p; uint16_t xSize = pBM->XSize; 8056008: 687b ldr r3, [r7, #4] 805600a: 881b ldrh r3, [r3, #0] 805600c: 827b strh r3, [r7, #18] uint16_t ySize = pBM->YSize; 805600e: 687b ldr r3, [r7, #4] 8056010: 885b ldrh r3, [r3, #2] 8056012: 823b strh r3, [r7, #16] //uint16_t BytesPerLine = pBM->BytesPerLine; p = (uint8_t *) pBM->pData; 8056014: 687b ldr r3, [r7, #4] 8056016: 689b ldr r3, [r3, #8] 8056018: 60fb str r3, [r7, #12] Xaddress = hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress + ((320 * y0 + x0) << 1); 805601a: 4b3a ldr r3, [pc, #232] ; (8056104 ) 805601c: 681b ldr r3, [r3, #0] 805601e: 4a3a ldr r2, [pc, #232] ; (8056108 ) 8056020: 2134 movs r1, #52 ; 0x34 8056022: fb01 f303 mul.w r3, r1, r3 8056026: 4413 add r3, r2 8056028: 335c adds r3, #92 ; 0x5c 805602a: 6819 ldr r1, [r3, #0] 805602c: 883a ldrh r2, [r7, #0] 805602e: 4613 mov r3, r2 8056030: 009b lsls r3, r3, #2 8056032: 4413 add r3, r2 8056034: 019b lsls r3, r3, #6 8056036: 461a mov r2, r3 8056038: 887b ldrh r3, [r7, #2] 805603a: 4413 add r3, r2 805603c: 005b lsls r3, r3, #1 805603e: 440b add r3, r1 8056040: 617b str r3, [r7, #20] hDma2dHandler.Init.Mode = DMA2D_M2M; 8056042: 4b32 ldr r3, [pc, #200] ; (805610c ) 8056044: 2200 movs r2, #0 8056046: 605a str r2, [r3, #4] hDma2dHandler.Init.ColorMode = DMA2D_RGB565; 8056048: 4b30 ldr r3, [pc, #192] ; (805610c ) 805604a: 2202 movs r2, #2 805604c: 609a str r2, [r3, #8] hDma2dHandler.Init.OutputOffset = 320 - xSize; 805604e: 8a7b ldrh r3, [r7, #18] 8056050: f5c3 73a0 rsb r3, r3, #320 ; 0x140 8056054: 461a mov r2, r3 8056056: 4b2d ldr r3, [pc, #180] ; (805610c ) 8056058: 60da str r2, [r3, #12] /* DMA2D Callbacks Configuration */ hDma2dHandler.XferCpltCallback = TransferComplete; 805605a: 4b2c ldr r3, [pc, #176] ; (805610c ) 805605c: 4a2c ldr r2, [pc, #176] ; (8056110 ) 805605e: 619a str r2, [r3, #24] hDma2dHandler.XferErrorCallback = TransferError; 8056060: 4b2a ldr r3, [pc, #168] ; (805610c ) 8056062: 4a2c ldr r2, [pc, #176] ; (8056114 ) 8056064: 61da str r2, [r3, #28] /* Foreground layer Configuration : layer 1 */ hDma2dHandler.LayerCfg[ActiveLayer].AlphaMode = DMA2D_NO_MODIF_ALPHA; 8056066: 4b27 ldr r3, [pc, #156] ; (8056104 ) 8056068: 681a ldr r2, [r3, #0] 805606a: 4928 ldr r1, [pc, #160] ; (805610c ) 805606c: 4613 mov r3, r2 805606e: 005b lsls r3, r3, #1 8056070: 4413 add r3, r2 8056072: 00db lsls r3, r3, #3 8056074: 440b add r3, r1 8056076: 3328 adds r3, #40 ; 0x28 8056078: 2200 movs r2, #0 805607a: 601a str r2, [r3, #0] hDma2dHandler.LayerCfg[ActiveLayer].InputAlpha = 255; /* Alpha fully opaque */ 805607c: 4b21 ldr r3, [pc, #132] ; (8056104 ) 805607e: 681a ldr r2, [r3, #0] 8056080: 4922 ldr r1, [pc, #136] ; (805610c ) 8056082: 4613 mov r3, r2 8056084: 005b lsls r3, r3, #1 8056086: 4413 add r3, r2 8056088: 00db lsls r3, r3, #3 805608a: 440b add r3, r1 805608c: 332c adds r3, #44 ; 0x2c 805608e: 22ff movs r2, #255 ; 0xff 8056090: 601a str r2, [r3, #0] hDma2dHandler.LayerCfg[ActiveLayer].InputColorMode = DMA2D_INPUT_RGB565; /* Layer 1 input format is ARGB8888 (32 bpp) */ 8056092: 4b1c ldr r3, [pc, #112] ; (8056104 ) 8056094: 681a ldr r2, [r3, #0] 8056096: 491d ldr r1, [pc, #116] ; (805610c ) 8056098: 4613 mov r3, r2 805609a: 005b lsls r3, r3, #1 805609c: 4413 add r3, r2 805609e: 00db lsls r3, r3, #3 80560a0: 440b add r3, r1 80560a2: 3324 adds r3, #36 ; 0x24 80560a4: 2202 movs r2, #2 80560a6: 601a str r2, [r3, #0] hDma2dHandler.LayerCfg[ActiveLayer].InputOffset = 0; /* No offset in input */ 80560a8: 4b16 ldr r3, [pc, #88] ; (8056104 ) 80560aa: 681a ldr r2, [r3, #0] 80560ac: 4917 ldr r1, [pc, #92] ; (805610c ) 80560ae: 4613 mov r3, r2 80560b0: 005b lsls r3, r3, #1 80560b2: 4413 add r3, r2 80560b4: 00db lsls r3, r3, #3 80560b6: 440b add r3, r1 80560b8: 3320 adds r3, #32 80560ba: 2200 movs r2, #0 80560bc: 601a str r2, [r3, #0] hDma2dHandler.Instance = DMA2D; 80560be: 4b13 ldr r3, [pc, #76] ; (805610c ) 80560c0: 4a15 ldr r2, [pc, #84] ; (8056118 ) 80560c2: 601a str r2, [r3, #0] /* DMA2D Initialization */ HAL_DMA2D_Init(&hDma2dHandler); 80560c4: 4811 ldr r0, [pc, #68] ; (805610c ) 80560c6: f063 f945 bl 80b9354 HAL_DMA2D_ConfigLayer(&hDma2dHandler, ActiveLayer); 80560ca: 4b0e ldr r3, [pc, #56] ; (8056104 ) 80560cc: 681b ldr r3, [r3, #0] 80560ce: 4619 mov r1, r3 80560d0: 480e ldr r0, [pc, #56] ; (805610c ) 80560d2: f063 faad bl 80b9630 DMA2D_TransferOk = 0; 80560d6: 4b11 ldr r3, [pc, #68] ; (805611c ) 80560d8: 2200 movs r2, #0 80560da: 601a str r2, [r3, #0] HAL_DMA2D_Start(&hDma2dHandler, (uint32_t) p, Xaddress, xSize, ySize); 80560dc: 68f9 ldr r1, [r7, #12] 80560de: 8a7a ldrh r2, [r7, #18] 80560e0: 8a3b ldrh r3, [r7, #16] 80560e2: 9300 str r3, [sp, #0] 80560e4: 4613 mov r3, r2 80560e6: 697a ldr r2, [r7, #20] 80560e8: 4808 ldr r0, [pc, #32] ; (805610c ) 80560ea: f063 f98d bl 80b9408 HAL_DMA2D_PollForTransfer(&hDma2dHandler, 30); 80560ee: 211e movs r1, #30 80560f0: 4806 ldr r0, [pc, #24] ; (805610c ) 80560f2: f063 f9b4 bl 80b945e SCB_CleanInvalidateDCache(); 80560f6: f7fe fd7f bl 8054bf8 } 80560fa: bf00 nop 80560fc: 3718 adds r7, #24 80560fe: 46bd mov sp, r7 8056100: bd80 pop {r7, pc} 8056102: bf00 nop 8056104: 20020078 .word 0x20020078 8056108: 20025d80 .word 0x20025d80 805610c: 20020fd8 .word 0x20020fd8 8056110: 08056121 .word 0x08056121 8056114: 08056141 .word 0x08056141 8056118: 4002b000 .word 0x4002b000 805611c: 2002007c .word 0x2002007c 08056120 : static void TransferComplete(DMA2D_HandleTypeDef *hdma2d) { 8056120: b480 push {r7} 8056122: b083 sub sp, #12 8056124: af00 add r7, sp, #0 8056126: 6078 str r0, [r7, #4] DMA2D_TransferOk = 1; 8056128: 4b04 ldr r3, [pc, #16] ; (805613c ) 805612a: 2201 movs r2, #1 805612c: 601a str r2, [r3, #0] } 805612e: bf00 nop 8056130: 370c adds r7, #12 8056132: 46bd mov sp, r7 8056134: f85d 7b04 ldr.w r7, [sp], #4 8056138: 4770 bx lr 805613a: bf00 nop 805613c: 2002007c .word 0x2002007c 08056140 : static void TransferError(DMA2D_HandleTypeDef *hdma2d) { 8056140: b480 push {r7} 8056142: b083 sub sp, #12 8056144: af00 add r7, sp, #0 8056146: 6078 str r0, [r7, #4] } 8056148: bf00 nop 805614a: 370c adds r7, #12 805614c: 46bd mov sp, r7 805614e: f85d 7b04 ldr.w r7, [sp], #4 8056152: 4770 bx lr 08056154 : void LCD_Refresh(void) { 8056154: b580 push {r7, lr} 8056156: af00 add r7, sp, #0 ActiveLayer ^= 1; 8056158: 4b0e ldr r3, [pc, #56] ; (8056194 ) 805615a: 681b ldr r3, [r3, #0] 805615c: f083 0301 eor.w r3, r3, #1 8056160: 4a0c ldr r2, [pc, #48] ; (8056194 ) 8056162: 6013 str r3, [r2, #0] RenderingLayer ^= 1; 8056164: 4b0c ldr r3, [pc, #48] ; (8056198 ) 8056166: 681b ldr r3, [r3, #0] 8056168: f083 0301 eor.w r3, r3, #1 805616c: 4a0a ldr r2, [pc, #40] ; (8056198 ) 805616e: 6013 str r3, [r2, #0] BSP_LCD_SetLayerVisible_NoReload(ActiveLayer, DISABLE); 8056170: 4b08 ldr r3, [pc, #32] ; (8056194 ) 8056172: 681b ldr r3, [r3, #0] 8056174: 2100 movs r1, #0 8056176: 4618 mov r0, r3 8056178: f7ff f810 bl 805519c BSP_LCD_SetLayerVisible_NoReload(RenderingLayer, ENABLE); 805617c: 4b06 ldr r3, [pc, #24] ; (8056198 ) 805617e: 681b ldr r3, [r3, #0] 8056180: 2101 movs r1, #1 8056182: 4618 mov r0, r3 8056184: f7ff f80a bl 805519c HAL_LTDC_Reload(&hLtdcHandler, LTDC_RELOAD_IMMEDIATE); 8056188: 2101 movs r1, #1 805618a: 4804 ldr r0, [pc, #16] ; (805619c ) 805618c: f064 fb36 bl 80ba7fc //BSP_LCD_Reload(LCD_RELOAD_VERTICAL_BLANKING); } 8056190: bf00 nop 8056192: bd80 pop {r7, pc} 8056194: 20020078 .word 0x20020078 8056198: 20021048 .word 0x20021048 805619c: 20025d80 .word 0x20025d80 080561a0 : void HAL_LTDC_LineEventCallback(LTDC_HandleTypeDef *hltdc) { 80561a0: b580 push {r7, lr} 80561a2: b082 sub sp, #8 80561a4: af00 add r7, sp, #0 80561a6: 6078 str r0, [r7, #4] if(RefreshScreen) 80561a8: 4b06 ldr r3, [pc, #24] ; (80561c4 ) 80561aa: 781b ldrb r3, [r3, #0] 80561ac: b2db uxtb r3, r3 80561ae: 2b00 cmp r3, #0 80561b0: d004 beq.n 80561bc { LCD_Refresh(); 80561b2: f7ff ffcf bl 8056154 RefreshScreen = false; 80561b6: 4b03 ldr r3, [pc, #12] ; (80561c4 ) 80561b8: 2200 movs r2, #0 80561ba: 701a strb r2, [r3, #0] } } 80561bc: bf00 nop 80561be: 3708 adds r7, #8 80561c0: 46bd mov sp, r7 80561c2: bd80 pop {r7, pc} 80561c4: 2002104c .word 0x2002104c 080561c8 : { 80561c8: b480 push {r7} 80561ca: af00 add r7, sp, #0 __ASM volatile ("dsb 0xF":::"memory"); 80561cc: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80561d0: f3bf 8f6f isb sy SCB->ICIALLU = 0UL; /* invalidate I-Cache */ 80561d4: 4b0b ldr r3, [pc, #44] ; (8056204 ) 80561d6: 2200 movs r2, #0 80561d8: f8c3 2250 str.w r2, [r3, #592] ; 0x250 __ASM volatile ("dsb 0xF":::"memory"); 80561dc: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80561e0: f3bf 8f6f isb sy SCB->CCR |= (uint32_t)SCB_CCR_IC_Msk; /* enable I-Cache */ 80561e4: 4a07 ldr r2, [pc, #28] ; (8056204 ) 80561e6: 4b07 ldr r3, [pc, #28] ; (8056204 ) 80561e8: 695b ldr r3, [r3, #20] 80561ea: f443 3300 orr.w r3, r3, #131072 ; 0x20000 80561ee: 6153 str r3, [r2, #20] __ASM volatile ("dsb 0xF":::"memory"); 80561f0: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80561f4: f3bf 8f6f isb sy } 80561f8: bf00 nop 80561fa: 46bd mov sp, r7 80561fc: f85d 7b04 ldr.w r7, [sp], #4 8056200: 4770 bx lr 8056202: bf00 nop 8056204: e000ed00 .word 0xe000ed00 08056208 : { 8056208: b480 push {r7} 805620a: b085 sub sp, #20 805620c: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 805620e: 4b1d ldr r3, [pc, #116] ; (8056284 ) 8056210: 2200 movs r2, #0 8056212: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 8056216: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 805621a: 4b1a ldr r3, [pc, #104] ; (8056284 ) 805621c: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 8056220: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 8056222: 687b ldr r3, [r7, #4] 8056224: 0b5b lsrs r3, r3, #13 8056226: f3c3 030e ubfx r3, r3, #0, #15 805622a: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 805622c: 687b ldr r3, [r7, #4] 805622e: 08db lsrs r3, r3, #3 8056230: f3c3 0309 ubfx r3, r3, #0, #10 8056234: 60bb str r3, [r7, #8] SCB->DCISW = (((sets << SCB_DCISW_SET_Pos) & SCB_DCISW_SET_Msk) | 8056236: 4913 ldr r1, [pc, #76] ; (8056284 ) 8056238: 68fb ldr r3, [r7, #12] 805623a: 015a lsls r2, r3, #5 805623c: f643 73e0 movw r3, #16352 ; 0x3fe0 8056240: 4013 ands r3, r2 ((ways << SCB_DCISW_WAY_Pos) & SCB_DCISW_WAY_Msk) ); 8056242: 68ba ldr r2, [r7, #8] 8056244: 0792 lsls r2, r2, #30 SCB->DCISW = (((sets << SCB_DCISW_SET_Pos) & SCB_DCISW_SET_Msk) | 8056246: 4313 orrs r3, r2 8056248: f8c1 3260 str.w r3, [r1, #608] ; 0x260 } while (ways-- != 0U); 805624c: 68bb ldr r3, [r7, #8] 805624e: 1e5a subs r2, r3, #1 8056250: 60ba str r2, [r7, #8] 8056252: 2b00 cmp r3, #0 8056254: d1ef bne.n 8056236 } while(sets-- != 0U); 8056256: 68fb ldr r3, [r7, #12] 8056258: 1e5a subs r2, r3, #1 805625a: 60fa str r2, [r7, #12] 805625c: 2b00 cmp r3, #0 805625e: d1e5 bne.n 805622c 8056260: f3bf 8f4f dsb sy SCB->CCR |= (uint32_t)SCB_CCR_DC_Msk; /* enable D-Cache */ 8056264: 4a07 ldr r2, [pc, #28] ; (8056284 ) 8056266: 4b07 ldr r3, [pc, #28] ; (8056284 ) 8056268: 695b ldr r3, [r3, #20] 805626a: f443 3380 orr.w r3, r3, #65536 ; 0x10000 805626e: 6153 str r3, [r2, #20] 8056270: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 8056274: f3bf 8f6f isb sy } 8056278: bf00 nop 805627a: 3714 adds r7, #20 805627c: 46bd mov sp, r7 805627e: f85d 7b04 ldr.w r7, [sp], #4 8056282: 4770 bx lr 8056284: e000ed00 .word 0xe000ed00 08056288 : { 8056288: b480 push {r7} 805628a: b085 sub sp, #20 805628c: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 805628e: 4b19 ldr r3, [pc, #100] ; (80562f4 ) 8056290: 2200 movs r2, #0 8056292: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 8056296: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 805629a: 4b16 ldr r3, [pc, #88] ; (80562f4 ) 805629c: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80562a0: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 80562a2: 687b ldr r3, [r7, #4] 80562a4: 0b5b lsrs r3, r3, #13 80562a6: f3c3 030e ubfx r3, r3, #0, #15 80562aa: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 80562ac: 687b ldr r3, [r7, #4] 80562ae: 08db lsrs r3, r3, #3 80562b0: f3c3 0309 ubfx r3, r3, #0, #10 80562b4: 60bb str r3, [r7, #8] SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 80562b6: 490f ldr r1, [pc, #60] ; (80562f4 ) 80562b8: 68fb ldr r3, [r7, #12] 80562ba: 015a lsls r2, r3, #5 80562bc: f643 73e0 movw r3, #16352 ; 0x3fe0 80562c0: 4013 ands r3, r2 ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); 80562c2: 68ba ldr r2, [r7, #8] 80562c4: 0792 lsls r2, r2, #30 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 80562c6: 4313 orrs r3, r2 80562c8: f8c1 3274 str.w r3, [r1, #628] ; 0x274 } while (ways-- != 0U); 80562cc: 68bb ldr r3, [r7, #8] 80562ce: 1e5a subs r2, r3, #1 80562d0: 60ba str r2, [r7, #8] 80562d2: 2b00 cmp r3, #0 80562d4: d1ef bne.n 80562b6 } while(sets-- != 0U); 80562d6: 68fb ldr r3, [r7, #12] 80562d8: 1e5a subs r2, r3, #1 80562da: 60fa str r2, [r7, #12] 80562dc: 2b00 cmp r3, #0 80562de: d1e5 bne.n 80562ac 80562e0: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80562e4: f3bf 8f6f isb sy } 80562e8: bf00 nop 80562ea: 3714 adds r7, #20 80562ec: 46bd mov sp, r7 80562ee: f85d 7b04 ldr.w r7, [sp], #4 80562f2: 4770 bx lr 80562f4: e000ed00 .word 0xe000ed00 080562f8 : #define CLOCK_LSE (1) //#define CLOCK_LSI (1) static void MPU_Config(void) { 80562f8: b580 push {r7, lr} 80562fa: b084 sub sp, #16 80562fc: af00 add r7, sp, #0 MPU_Region_InitTypeDef MPU_InitStruct; HAL_MPU_Disable(); 80562fe: f062 fb31 bl 80b8964 //***************************************************************** MPU_InitStruct.Number = MPU_REGION_NUMBER0; 8056302: 2300 movs r3, #0 8056304: 707b strb r3, [r7, #1] MPU_InitStruct.BaseAddress = 0x20000000; 8056306: f04f 5300 mov.w r3, #536870912 ; 0x20000000 805630a: 607b str r3, [r7, #4] MPU_InitStruct.Size = MPU_REGION_SIZE_512KB; 805630c: 2312 movs r3, #18 805630e: 723b strb r3, [r7, #8] MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; 8056310: 2303 movs r3, #3 8056312: 72fb strb r3, [r7, #11] MPU_InitStruct.IsBufferable = MPU_ACCESS_BUFFERABLE; 8056314: 2301 movs r3, #1 8056316: 73fb strb r3, [r7, #15] MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; 8056318: 2301 movs r3, #1 805631a: 73bb strb r3, [r7, #14] MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE; 805631c: 2300 movs r3, #0 805631e: 737b strb r3, [r7, #13] MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; 8056320: 2300 movs r3, #0 8056322: 72bb strb r3, [r7, #10] MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; 8056324: 2300 movs r3, #0 8056326: 733b strb r3, [r7, #12] MPU_InitStruct.Enable = MPU_REGION_ENABLE; 8056328: 2301 movs r3, #1 805632a: 703b strb r3, [r7, #0] MPU_InitStruct.SubRegionDisable = 0x00; 805632c: 2300 movs r3, #0 805632e: 727b strb r3, [r7, #9] HAL_MPU_ConfigRegion(&MPU_InitStruct); 8056330: 463b mov r3, r7 8056332: 4618 mov r0, r3 8056334: f062 fb4a bl 80b89cc //***************************************************************** MPU_InitStruct.Number = MPU_REGION_NUMBER1; 8056338: 2301 movs r3, #1 805633a: 707b strb r3, [r7, #1] MPU_InitStruct.BaseAddress = 0x20000000; 805633c: f04f 5300 mov.w r3, #536870912 ; 0x20000000 8056340: 607b str r3, [r7, #4] MPU_InitStruct.Size = MPU_REGION_SIZE_128KB; 8056342: 2310 movs r3, #16 8056344: 723b strb r3, [r7, #8] MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; 8056346: 2303 movs r3, #3 8056348: 72fb strb r3, [r7, #11] MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE; 805634a: 2300 movs r3, #0 805634c: 73fb strb r3, [r7, #15] MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; 805634e: 2301 movs r3, #1 8056350: 73bb strb r3, [r7, #14] MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE; 8056352: 2301 movs r3, #1 8056354: 737b strb r3, [r7, #13] MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; 8056356: 2300 movs r3, #0 8056358: 72bb strb r3, [r7, #10] MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; 805635a: 2300 movs r3, #0 805635c: 733b strb r3, [r7, #12] MPU_InitStruct.Enable = MPU_REGION_ENABLE; 805635e: 2301 movs r3, #1 8056360: 703b strb r3, [r7, #0] MPU_InitStruct.SubRegionDisable = 0x00; 8056362: 2300 movs r3, #0 8056364: 727b strb r3, [r7, #9] HAL_MPU_ConfigRegion(&MPU_InitStruct); 8056366: 463b mov r3, r7 8056368: 4618 mov r0, r3 805636a: f062 fb2f bl 80b89cc //***************************************************************** MPU_InitStruct.Number = MPU_REGION_NUMBER2; 805636e: 2302 movs r3, #2 8056370: 707b strb r3, [r7, #1] MPU_InitStruct.BaseAddress = 0x2007C000; 8056372: 4b1d ldr r3, [pc, #116] ; (80563e8 ) 8056374: 607b str r3, [r7, #4] MPU_InitStruct.Size = MPU_REGION_SIZE_16KB; 8056376: 230d movs r3, #13 8056378: 723b strb r3, [r7, #8] MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; 805637a: 2303 movs r3, #3 805637c: 72fb strb r3, [r7, #11] MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE; 805637e: 2300 movs r3, #0 8056380: 73fb strb r3, [r7, #15] MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; 8056382: 2301 movs r3, #1 8056384: 73bb strb r3, [r7, #14] MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE; 8056386: 2300 movs r3, #0 8056388: 737b strb r3, [r7, #13] MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; 805638a: 2300 movs r3, #0 805638c: 72bb strb r3, [r7, #10] MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; 805638e: 2300 movs r3, #0 8056390: 733b strb r3, [r7, #12] MPU_InitStruct.Enable = MPU_REGION_ENABLE; 8056392: 2301 movs r3, #1 8056394: 703b strb r3, [r7, #0] MPU_InitStruct.SubRegionDisable = 0x00; 8056396: 2300 movs r3, #0 8056398: 727b strb r3, [r7, #9] HAL_MPU_ConfigRegion(&MPU_InitStruct); 805639a: 463b mov r3, r7 805639c: 4618 mov r0, r3 805639e: f062 fb15 bl 80b89cc //***************************************************************** MPU_InitStruct.Number = MPU_REGION_NUMBER3; 80563a2: 2303 movs r3, #3 80563a4: 707b strb r3, [r7, #1] MPU_InitStruct.BaseAddress = 0x64000000; 80563a6: f04f 43c8 mov.w r3, #1677721600 ; 0x64000000 80563aa: 607b str r3, [r7, #4] MPU_InitStruct.Size = MPU_REGION_SIZE_2MB; 80563ac: 2314 movs r3, #20 80563ae: 723b strb r3, [r7, #8] MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; 80563b0: 2303 movs r3, #3 80563b2: 72fb strb r3, [r7, #11] MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE; 80563b4: 2300 movs r3, #0 80563b6: 73fb strb r3, [r7, #15] MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; 80563b8: 2301 movs r3, #1 80563ba: 73bb strb r3, [r7, #14] MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE; 80563bc: 2300 movs r3, #0 80563be: 737b strb r3, [r7, #13] MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; 80563c0: 2300 movs r3, #0 80563c2: 72bb strb r3, [r7, #10] MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; 80563c4: 2300 movs r3, #0 80563c6: 733b strb r3, [r7, #12] MPU_InitStruct.Enable = MPU_REGION_ENABLE; 80563c8: 2301 movs r3, #1 80563ca: 703b strb r3, [r7, #0] MPU_InitStruct.SubRegionDisable = 0x00; 80563cc: 2300 movs r3, #0 80563ce: 727b strb r3, [r7, #9] HAL_MPU_ConfigRegion(&MPU_InitStruct); 80563d0: 463b mov r3, r7 80563d2: 4618 mov r0, r3 80563d4: f062 fafa bl 80b89cc //***************************************************************** HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT); 80563d8: 2004 movs r0, #4 80563da: f062 fad9 bl 80b8990 } 80563de: bf00 nop 80563e0: 3710 adds r7, #16 80563e2: 46bd mov sp, r7 80563e4: bd80 pop {r7, pc} 80563e6: bf00 nop 80563e8: 2007c000 .word 0x2007c000 080563ec
: int main(void) { 80563ec: b580 push {r7, lr} 80563ee: b08e sub sp, #56 ; 0x38 80563f0: af00 add r7, sp, #0 uint32_t cnt = 0, i, j, k, l; 80563f2: 2300 movs r3, #0 80563f4: 637b str r3, [r7, #52] ; 0x34 float32_t f; char str[50]; MPU_Config(); 80563f6: f7ff ff7f bl 80562f8 SCB_EnableICache(); 80563fa: f7ff fee5 bl 80561c8 SCB_EnableDCache(); 80563fe: f7ff ff03 bl 8056208 SCB->VTOR = (uint32_t) 0x08020000; 8056402: 4b99 ldr r3, [pc, #612] ; (8056668 ) 8056404: 4a99 ldr r2, [pc, #612] ; (805666c ) 8056406: 609a str r2, [r3, #8] __ASM volatile ("cpsie i" : : : "memory"); 8056408: b662 cpsie i __enable_irq(); HAL_Init(); 805640a: f061 faab bl 80b7964 805640e: b662 cpsie i __enable_irq(); //HAL_Delay(250); SystemClock_Config(); 8056410: f000 f9a0 bl 8056754 MX_GPIO_Init(); 8056414: f7d9 fd0a bl 802fe2c MX_DMA_Init(); 8056418: f7cd fb42 bl 8023aa0 MX_DMA2D_Init(); 805641c: f7cd fb7e bl 8023b1c MX_FMC_Init(); 8056420: f7d9 fc26 bl 802fc70 RAMTest(); 8056424: f012 fca6 bl 8068d74 memset(pLCD_u8, 0, 0x4B000); 8056428: f44f 2296 mov.w r2, #307200 ; 0x4b000 805642c: 2100 movs r1, #0 805642e: f04f 40c8 mov.w r0, #1677721600 ; 0x64000000 8056432: f07b fdb7 bl 80d1fa4 SCB_CleanInvalidateDCache(); 8056436: f7ff ff27 bl 8056288 MX_RTC_Init(); 805643a: f012 fd33 bl 8068ea4 MX_FATFS_Init(); 805643e: f06e f8eb bl 80c4618 initKeys(); 8056442: f7df fbe3 bl 8035c0c MX_TIM7_Init(); 8056446: f05c fcbf bl 80b2dc8 MX_LTDC_Init(); 805644a: f7fe fc2b bl 8054ca4 initMemCopy(); 805644e: f011 fdf1 bl 8068034 MX_SPI1_Init(); 8056452: f05c fa27 bl 80b28a4 rdFlash();//todo 8056456: f7d9 fc03 bl 802fc60 EXTI_Config(); 805645a: f013 f9ad bl 80697b8 MX_SDMMC1_SD_Init(); 805645e: f05c f903 bl 80b2668 MAX11270_Init(); 8056462: f000 fa27 bl 80568b4 initDevice(); 8056466: f7df fb0f bl 8035a88 Logo(); 805646a: f013 fa25 bl 80698b8 MX_ADC2_Init(); //Bat 805646e: f7ca fac9 bl 8020a04 MX_ADC1_Init(); 8056472: f7ca fa7b bl 802096c MX_TIM5_Init(); 8056476: f05c fc61 bl 80b2d3c CreateFileJSON(); 805647a: f7d4 f805 bl 802a488 initAmplif(); 805647e: f7cb fb09 bl 8021a94 MX_USB_DEVICE_Init(); 8056482: f077 fd09 bl 80cde98 CheckRoutesFolder(); 8056486: f7d3 ff19 bl 802a2bc CheckRecordsFolder(); 805648a: f7d3 ff45 bl 802a318 CheckFilesForWrite(); 805648e: f7d9 f825 bl 802f4dc StartBatMeas(); 8056492: f7ca fc59 bl 8020d48 while(HAL_GPIO_ReadPin(OFF_GPIO_Port, OFF_Pin) == GPIO_PIN_SET) { //todo 8056496: e001 b.n 805649c RedrawScreen(); 8056498: f013 f9fe bl 8069898 while(HAL_GPIO_ReadPin(OFF_GPIO_Port, OFF_Pin) == GPIO_PIN_SET) { //todo 805649c: 2101 movs r1, #1 805649e: 4874 ldr r0, [pc, #464] ; (8056670 ) 80564a0: f063 ff64 bl 80ba36c 80564a4: 4603 mov r3, r0 80564a6: 2b01 cmp r3, #1 80564a8: d0f6 beq.n 8056498 } MX_ADC3_Init(); //Tacho 80564aa: f7ca fb11 bl 8020ad0 MX_TIM1_Init(); 80564ae: f05c fbff bl 80b2cb0 KeysIsReady = true; 80564b2: 4b70 ldr r3, [pc, #448] ; (8056674 ) 80564b4: 2201 movs r2, #1 80564b6: 701a strb r2, [r3, #0] NeedCalibrate(); 80564b8: f7df fb14 bl 8035ae4 /*strcpy(str, "sensitivity: 0.2345,/n/0"); f = atoff(&str[12]); f = 0;*/ #ifdef USE_D142 MX_I2C1_SMBUS_Init(); 80564bc: f7da f8a6 bl 803060c #endif if(pardata.OPTIONS & BIT8) 80564c0: 4b6d ldr r3, [pc, #436] ; (8056678 ) 80564c2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80564c6: f403 7380 and.w r3, r3, #256 ; 0x100 80564ca: 2b00 cmp r3, #0 80564cc: d008 beq.n 80564e0 { HAL_GPIO_WritePin(TMPR_GPIO_Port, TMPR_Pin, GPIO_PIN_RESET); 80564ce: 2200 movs r2, #0 80564d0: f44f 5100 mov.w r1, #8192 ; 0x2000 80564d4: 4869 ldr r0, [pc, #420] ; (805667c ) 80564d6: f063 ff61 bl 80ba39c SeeTemperature = true; 80564da: 4b69 ldr r3, [pc, #420] ; (8056680 ) 80564dc: 2201 movs r2, #1 80564de: 701a strb r2, [r3, #0] } while(1) { if(GoLinkPC) 80564e0: 4b68 ldr r3, [pc, #416] ; (8056684 ) 80564e2: 781b ldrb r3, [r3, #0] 80564e4: b2db uxtb r3, r3 80564e6: 2b00 cmp r3, #0 80564e8: d012 beq.n 8056510 { GoLinkPC = false; 80564ea: 4b66 ldr r3, [pc, #408] ; (8056684 ) 80564ec: 2200 movs r2, #0 80564ee: 701a strb r2, [r3, #0] if(LinkPC == 1) 80564f0: 4b65 ldr r3, [pc, #404] ; (8056688 ) 80564f2: 781b ldrb r3, [r3, #0] 80564f4: b2db uxtb r3, r3 80564f6: 2b01 cmp r3, #1 80564f8: d10a bne.n 8056510 { menu = LINK_PC; 80564fa: 4b64 ldr r3, [pc, #400] ; (805668c ) 80564fc: 2242 movs r2, #66 ; 0x42 80564fe: 701a strb r2, [r3, #0] ChargerIsConnect = false; 8056500: 4b63 ldr r3, [pc, #396] ; (8056690 ) 8056502: 2200 movs r2, #0 8056504: 701a strb r2, [r3, #0] HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_RESET); 8056506: 2200 movs r2, #0 8056508: 2108 movs r1, #8 805650a: 485c ldr r0, [pc, #368] ; (805667c ) 805650c: f063 ff46 bl 80ba39c } } #ifdef USE_D142 if(FlagGetTemperature) { 8056510: 4b60 ldr r3, [pc, #384] ; (8056694 ) 8056512: 781b ldrb r3, [r3, #0] 8056514: b2db uxtb r3, r3 8056516: 2b00 cmp r3, #0 8056518: d001 beq.n 805651e GetTemperature(); 805651a: f7da f8f7 bl 803070c } #endif if(LinkPC == 0) 805651e: 4b5a ldr r3, [pc, #360] ; (8056688 ) 8056520: 781b ldrb r3, [r3, #0] 8056522: b2db uxtb r3, r3 8056524: 2b00 cmp r3, #0 8056526: f040 809b bne.w 8056660 if((pardata.OPTIONS & BIT6) && (!Initialized)) { MX_HC05_Init(); } #endif if(NeedOff) { 805652a: 4b5b ldr r3, [pc, #364] ; (8056698 ) 805652c: 781b ldrb r3, [r3, #0] 805652e: b2db uxtb r3, r3 8056530: 2b00 cmp r3, #0 8056532: d001 beq.n 8056538 Off(); 8056534: f7cd f9b6 bl 80238a4 } meas(); 8056538: f001 fe46 bl 80581c8 if(!GoSend) 805653c: 4b57 ldr r3, [pc, #348] ; (805669c ) 805653e: 781b ldrb r3, [r3, #0] 8056540: b2db uxtb r3, r3 8056542: f083 0301 eor.w r3, r3, #1 8056546: b2db uxtb r3, r3 8056548: 2b00 cmp r3, #0 805654a: d001 beq.n 8056550 RedrawScreen(); 805654c: f013 f9a4 bl 8069898 //if(READY == DATA_FREE) // { keyIns(); 8056550: f7df fcc6 bl 8035ee0 FileSystem(); 8056554: f7cd fbfc bl 8023d50 // } if(NeedFreq) 8056558: 4b51 ldr r3, [pc, #324] ; (80566a0 ) 805655a: 781b ldrb r3, [r3, #0] 805655c: b2db uxtb r3, r3 805655e: 2b00 cmp r3, #0 8056560: d004 beq.n 805656c { NeedFreq = false; 8056562: 4b4f ldr r3, [pc, #316] ; (80566a0 ) 8056564: 2200 movs r2, #0 8056566: 701a strb r2, [r3, #0] CalcFreq(); 8056568: f001 fc20 bl 8057dac } if(NeedFreqTacho) 805656c: 4b4d ldr r3, [pc, #308] ; (80566a4 ) 805656e: 781b ldrb r3, [r3, #0] 8056570: b2db uxtb r3, r3 8056572: 2b00 cmp r3, #0 8056574: d02f beq.n 80565d6 { NeedFreqTacho = false; 8056576: 4b4b ldr r3, [pc, #300] ; (80566a4 ) 8056578: 2200 movs r2, #0 805657a: 701a strb r2, [r3, #0] CalcFreqTacho(); 805657c: f001 fd1a bl 8057fb4 if(FreqFran) 8056580: 4b49 ldr r3, [pc, #292] ; (80566a8 ) 8056582: edd3 7a00 vldr s15, [r3] 8056586: eef5 7a40 vcmp.f32 s15, #0.0 805658a: eef1 fa10 vmrs APSR_nzcv, fpscr 805658e: d022 beq.n 80565d6 { CALC_FREQ = 0; 8056590: 4b46 ldr r3, [pc, #280] ; (80566ac ) 8056592: 2200 movs r2, #0 8056594: 701a strb r2, [r3, #0] StopTacho(); 8056596: f7ca fc27 bl 8020de8 READY = DATA_FREE; 805659a: 4b45 ldr r3, [pc, #276] ; (80566b0 ) 805659c: 2200 movs r2, #0 805659e: 701a strb r2, [r3, #0] //SetupADC(); RedrawScreen(); 80565a0: f013 f97a bl 8069898 HAL_Delay(100); 80565a4: 2064 movs r0, #100 ; 0x64 80565a6: f061 fa49 bl 80b7a3c RedrawScreen(); 80565aa: f013 f975 bl 8069898 HAL_Delay(100); 80565ae: 2064 movs r0, #100 ; 0x64 80565b0: f061 fa44 bl 80b7a3c RedrawScreen(); 80565b4: f013 f970 bl 8069898 HAL_Delay(100); 80565b8: 2064 movs r0, #100 ; 0x64 80565ba: f061 fa3f bl 80b7a3c RedrawScreen(); 80565be: f013 f96b bl 8069898 HAL_Delay(200); 80565c2: 20c8 movs r0, #200 ; 0xc8 80565c4: f061 fa3a bl 80b7a3c SetupADC(); 80565c8: f7cc fbbe bl 8022d48 HAL_Delay(100); 80565cc: 2064 movs r0, #100 ; 0x64 80565ce: f061 fa35 bl 80b7a3c AfterTacho(); 80565d2: f7fe fa3d bl 8054a50 } } if(NeedMeas) 80565d6: 4b37 ldr r3, [pc, #220] ; (80566b4 ) 80565d8: 781b ldrb r3, [r3, #0] 80565da: b2db uxtb r3, r3 80565dc: 2b00 cmp r3, #0 80565de: d020 beq.n 8056622 { NeedMeas = false; 80565e0: 4b34 ldr r3, [pc, #208] ; (80566b4 ) 80565e2: 2200 movs r2, #0 80565e4: 701a strb r2, [r3, #0] initFilters(); 80565e6: f010 fbab bl 8066d40 measuring = true; 80565ea: 4b33 ldr r3, [pc, #204] ; (80566b8 ) 80565ec: 2201 movs r2, #1 80565ee: 701a strb r2, [r3, #0] if((pardata.SYG == WAVE) && (pardata.OPTIONS & BIT7)) 80565f0: 4b21 ldr r3, [pc, #132] ; (8056678 ) 80565f2: 781b ldrb r3, [r3, #0] 80565f4: b2db uxtb r3, r3 80565f6: 2b04 cmp r3, #4 80565f8: d109 bne.n 805660e 80565fa: 4b1f ldr r3, [pc, #124] ; (8056678 ) 80565fc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8056600: f003 0380 and.w r3, r3, #128 ; 0x80 8056604: 2b00 cmp r3, #0 8056606: d002 beq.n 805660e StartTacho(); 8056608: f7ca fbd6 bl 8020db8 805660c: e009 b.n 8056622 else if(pardata.SYG == UDAR) 805660e: 4b1a ldr r3, [pc, #104] ; (8056678 ) 8056610: 781b ldrb r3, [r3, #0] 8056612: b2db uxtb r3, r3 8056614: 2b09 cmp r3, #9 8056616: d102 bne.n 805661e StartADC12(); 8056618: f7ca fba8 bl 8020d6c 805661c: e001 b.n 8056622 else SetupADC(); 805661e: f7cc fb93 bl 8022d48 if(needDispOn) 8056622: 4b26 ldr r3, [pc, #152] ; (80566bc ) 8056624: 781b ldrb r3, [r3, #0] 8056626: b2db uxtb r3, r3 8056628: 2b00 cmp r3, #0 805662a: f43f af59 beq.w 80564e0 { needDispOn = false; 805662e: 4b23 ldr r3, [pc, #140] ; (80566bc ) 8056630: 2200 movs r2, #0 8056632: 701a strb r2, [r3, #0] RedrawScreen(); 8056634: f013 f930 bl 8069898 HAL_Delay(100); 8056638: 2064 movs r0, #100 ; 0x64 805663a: f061 f9ff bl 80b7a3c RedrawScreen(); 805663e: f013 f92b bl 8069898 HAL_Delay(100); 8056642: 2064 movs r0, #100 ; 0x64 8056644: f061 f9fa bl 80b7a3c RedrawScreen(); 8056648: f013 f926 bl 8069898 HAL_Delay(100); 805664c: 2064 movs r0, #100 ; 0x64 805664e: f061 f9f5 bl 80b7a3c HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_RESET); // BACKLIGHT IS ON 8056652: 2200 movs r2, #0 8056654: f44f 7180 mov.w r1, #256 ; 0x100 8056658: 4805 ldr r0, [pc, #20] ; (8056670 ) 805665a: f063 fe9f bl 80ba39c 805665e: e73f b.n 80564e0 } } else { RedrawScreen(); 8056660: f013 f91a bl 8069898 if(GoLinkPC) 8056664: e73c b.n 80564e0 8056666: bf00 nop 8056668: e000ed00 .word 0xe000ed00 805666c: 08020000 .word 0x08020000 8056670: 40020000 .word 0x40020000 8056674: 20020fcb .word 0x20020fcb 8056678: 20023eb8 .word 0x20023eb8 805667c: 40020800 .word 0x40020800 8056680: 20020fc3 .word 0x20020fc3 8056684: 20021b75 .word 0x20021b75 8056688: 20021b73 .word 0x20021b73 805668c: 20020fc5 .word 0x20020fc5 8056690: 20021b72 .word 0x20021b72 8056694: 20020f85 .word 0x20020f85 8056698: 20020fc1 .word 0x20020fc1 805669c: 20020f84 .word 0x20020f84 80566a0: 20020d95 .word 0x20020d95 80566a4: 20020d96 .word 0x20020d96 80566a8: 200215b4 .word 0x200215b4 80566ac: 2002105c .word 0x2002105c 80566b0: 20020d9f .word 0x20020d9f 80566b4: 20020daf .word 0x20020daf 80566b8: 20020dcf .word 0x20020dcf 80566bc: 20021b74 .word 0x20021b74 080566c0 : } } void CALC_OFFSET(void) { 80566c0: b598 push {r3, r4, r7, lr} 80566c2: af00 add r7, sp, #0 if((!clbr) && (!USBConnected) && (!measuring)) 80566c4: 4b1a ldr r3, [pc, #104] ; (8056730 ) 80566c6: 781b ldrb r3, [r3, #0] 80566c8: b2db uxtb r3, r3 80566ca: f083 0301 eor.w r3, r3, #1 80566ce: b2db uxtb r3, r3 80566d0: 2b00 cmp r3, #0 80566d2: d02a beq.n 805672a 80566d4: 4b17 ldr r3, [pc, #92] ; (8056734 ) 80566d6: 781b ldrb r3, [r3, #0] 80566d8: b2db uxtb r3, r3 80566da: f083 0301 eor.w r3, r3, #1 80566de: b2db uxtb r3, r3 80566e0: 2b00 cmp r3, #0 80566e2: d022 beq.n 805672a 80566e4: 4b14 ldr r3, [pc, #80] ; (8056738 ) 80566e6: 781b ldrb r3, [r3, #0] 80566e8: b2db uxtb r3, r3 80566ea: f083 0301 eor.w r3, r3, #1 80566ee: b2db uxtb r3, r3 80566f0: 2b00 cmp r3, #0 80566f2: d01a beq.n 805672a { CNT_MEAN = 0; 80566f4: 4b11 ldr r3, [pc, #68] ; (805673c ) 80566f6: 2200 movs r2, #0 80566f8: 601a str r2, [r3, #0] REC_MEAN = 0; 80566fa: 4a11 ldr r2, [pc, #68] ; (8056740 ) 80566fc: f04f 0300 mov.w r3, #0 8056700: f04f 0400 mov.w r4, #0 8056704: e882 0018 stmia.w r2, {r3, r4} pardata.FRQ = _64000Hz; 8056708: 4b0e ldr r3, [pc, #56] ; (8056744 ) 805670a: 2209 movs r2, #9 805670c: 72da strb r2, [r3, #11] Fs = FS[pardata.FRQ]; 805670e: 4b0d ldr r3, [pc, #52] ; (8056744 ) 8056710: 7adb ldrb r3, [r3, #11] 8056712: b2db uxtb r3, r3 8056714: 461a mov r2, r3 8056716: 4b0c ldr r3, [pc, #48] ; (8056748 ) 8056718: f853 3022 ldr.w r3, [r3, r2, lsl #2] 805671c: 4a0b ldr r2, [pc, #44] ; (805674c ) 805671e: 6013 str r3, [r2, #0] SetupADC(); 8056720: f7cc fb12 bl 8022d48 FLAG_CALC_MEAN = true; 8056724: 4b0a ldr r3, [pc, #40] ; (8056750 ) 8056726: 2201 movs r2, #1 8056728: 701a strb r2, [r3, #0] } } 805672a: bf00 nop 805672c: bd98 pop {r3, r4, r7, pc} 805672e: bf00 nop 8056730: 20020f90 .word 0x20020f90 8056734: 20021b71 .word 0x20021b71 8056738: 20020dcf .word 0x20020dcf 805673c: 200216e8 .word 0x200216e8 8056740: 200216e0 .word 0x200216e0 8056744: 20023eb8 .word 0x20023eb8 8056748: 080f5290 .word 0x080f5290 805674c: 20021d6c .word 0x20021d6c 8056750: 200216de .word 0x200216de 08056754 : /** * @brief System Clock Configuration * @retval None */ void SystemClock_Config(void) { 8056754: b580 push {r7, lr} 8056756: b0b8 sub sp, #224 ; 0xe0 8056758: af00 add r7, sp, #0 RCC_OscInitTypeDef RCC_OscInitStruct = {0}; 805675a: f107 03ac add.w r3, r7, #172 ; 0xac 805675e: 2234 movs r2, #52 ; 0x34 8056760: 2100 movs r1, #0 8056762: 4618 mov r0, r3 8056764: f07b fc1e bl 80d1fa4 RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; 8056768: f107 0398 add.w r3, r7, #152 ; 0x98 805676c: 2200 movs r2, #0 805676e: 601a str r2, [r3, #0] 8056770: 605a str r2, [r3, #4] 8056772: 609a str r2, [r3, #8] 8056774: 60da str r2, [r3, #12] 8056776: 611a str r2, [r3, #16] RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; 8056778: f107 0308 add.w r3, r7, #8 805677c: 2290 movs r2, #144 ; 0x90 805677e: 2100 movs r1, #0 8056780: 4618 mov r0, r3 8056782: f07b fc0f bl 80d1fa4 __HAL_RCC_PWR_CLK_ENABLE(); 8056786: 4a46 ldr r2, [pc, #280] ; (80568a0 ) 8056788: 4b45 ldr r3, [pc, #276] ; (80568a0 ) 805678a: 6c1b ldr r3, [r3, #64] ; 0x40 805678c: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 8056790: 6413 str r3, [r2, #64] ; 0x40 8056792: 4b43 ldr r3, [pc, #268] ; (80568a0 ) 8056794: 6c1b ldr r3, [r3, #64] ; 0x40 8056796: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 805679a: 607b str r3, [r7, #4] 805679c: 687b ldr r3, [r7, #4] __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); 805679e: 4a41 ldr r2, [pc, #260] ; (80568a4 ) 80567a0: 4b40 ldr r3, [pc, #256] ; (80568a4 ) 80567a2: 681b ldr r3, [r3, #0] 80567a4: f443 4340 orr.w r3, r3, #49152 ; 0xc000 80567a8: 6013 str r3, [r2, #0] 80567aa: 4b3e ldr r3, [pc, #248] ; (80568a4 ) 80567ac: 681b ldr r3, [r3, #0] 80567ae: f403 4340 and.w r3, r3, #49152 ; 0xc000 80567b2: 603b str r3, [r7, #0] 80567b4: 683b ldr r3, [r7, #0] /////// 216 MHZ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE|RCC_OSCILLATORTYPE_LSE; 80567b6: 2305 movs r3, #5 80567b8: f8c7 30ac str.w r3, [r7, #172] ; 0xac RCC_OscInitStruct.HSEState = RCC_HSE_ON; 80567bc: f44f 3380 mov.w r3, #65536 ; 0x10000 80567c0: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 RCC_OscInitStruct.LSEState = RCC_LSE_ON; 80567c4: 2301 movs r3, #1 80567c6: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; 80567ca: 2302 movs r3, #2 80567cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; 80567d0: f44f 0380 mov.w r3, #4194304 ; 0x400000 80567d4: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 RCC_OscInitStruct.PLL.PLLM = 25; 80567d8: 2319 movs r3, #25 80567da: f8c7 30cc str.w r3, [r7, #204] ; 0xcc RCC_OscInitStruct.PLL.PLLN = 432; 80567de: f44f 73d8 mov.w r3, #432 ; 0x1b0 80567e2: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; 80567e6: 2302 movs r3, #2 80567e8: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 RCC_OscInitStruct.PLL.PLLQ = 9; 80567ec: 2309 movs r3, #9 80567ee: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 if(HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { 80567f2: f107 03ac add.w r3, r7, #172 ; 0xac 80567f6: 4618 mov r0, r3 80567f8: f065 fc1a bl 80bc030 80567fc: 4603 mov r3, r0 80567fe: 2b00 cmp r3, #0 8056800: d001 beq.n 8056806 Error_Handler(); 8056802: f000 f853 bl 80568ac } if(HAL_PWREx_EnableOverDrive() != HAL_OK) { 8056806: f065 fbc3 bl 80bbf90 805680a: 4603 mov r3, r0 805680c: 2b00 cmp r3, #0 805680e: d001 beq.n 8056814 Error_Handler(); 8056810: f000 f84c bl 80568ac } RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; 8056814: 230f movs r3, #15 8056816: f8c7 3098 str.w r3, [r7, #152] ; 0x98 RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; 805681a: 2302 movs r3, #2 805681c: f8c7 309c str.w r3, [r7, #156] ; 0x9c RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; 8056820: 2300 movs r3, #0 8056822: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; 8056826: f44f 53a0 mov.w r3, #5120 ; 0x1400 805682a: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; 805682e: f44f 5380 mov.w r3, #4096 ; 0x1000 8056832: f8c7 30a8 str.w r3, [r7, #168] ; 0xa8 if(HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_6) != HAL_OK) { 8056836: f107 0398 add.w r3, r7, #152 ; 0x98 805683a: 2106 movs r1, #6 805683c: 4618 mov r0, r3 805683e: f065 fea5 bl 80bc58c 8056842: 4603 mov r3, r0 8056844: 2b00 cmp r3, #0 8056846: d001 beq.n 805684c Error_Handler(); 8056848: f000 f830 bl 80568ac } PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LTDC|RCC_PERIPHCLK_RTC 805684c: 4b16 ldr r3, [pc, #88] ; (80568a8 ) 805684e: 60bb str r3, [r7, #8] |RCC_PERIPHCLK_UART7|RCC_PERIPHCLK_I2C1 |RCC_PERIPHCLK_SDMMC1|RCC_PERIPHCLK_CLK48; PeriphClkInitStruct.PLLSAI.PLLSAIN = 192; 8056850: 23c0 movs r3, #192 ; 0xc0 8056852: 61fb str r3, [r7, #28] PeriphClkInitStruct.PLLSAI.PLLSAIR = 4; 8056854: 2304 movs r3, #4 8056856: 627b str r3, [r7, #36] ; 0x24 PeriphClkInitStruct.PLLSAI.PLLSAIQ = 2; 8056858: 2302 movs r3, #2 805685a: 623b str r3, [r7, #32] PeriphClkInitStruct.PLLSAI.PLLSAIP = RCC_PLLSAIP_DIV4; 805685c: 2301 movs r3, #1 805685e: 62bb str r3, [r7, #40] ; 0x28 PeriphClkInitStruct.PLLSAIDivQ = 1; 8056860: 2301 movs r3, #1 8056862: 633b str r3, [r7, #48] ; 0x30 PeriphClkInitStruct.PLLSAIDivR = RCC_PLLSAIDIVR_2; 8056864: 2300 movs r3, #0 8056866: 637b str r3, [r7, #52] ; 0x34 PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE; 8056868: f44f 7380 mov.w r3, #256 ; 0x100 805686c: 63bb str r3, [r7, #56] ; 0x38 PeriphClkInitStruct.Uart7ClockSelection = RCC_UART7CLKSOURCE_PCLK1; 805686e: 2300 movs r3, #0 8056870: 667b str r3, [r7, #100] ; 0x64 PeriphClkInitStruct.I2c1ClockSelection = RCC_I2C1CLKSOURCE_PCLK1; 8056872: 2300 movs r3, #0 8056874: 66fb str r3, [r7, #108] ; 0x6c PeriphClkInitStruct.Clk48ClockSelection = RCC_CLK48SOURCE_PLL; 8056876: 2300 movs r3, #0 8056878: f8c7 3084 str.w r3, [r7, #132] ; 0x84 PeriphClkInitStruct.Sdmmc1ClockSelection = RCC_SDMMC1CLKSOURCE_CLK48; 805687c: 2300 movs r3, #0 805687e: f8c7 3088 str.w r3, [r7, #136] ; 0x88 if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) 8056882: f107 0308 add.w r3, r7, #8 8056886: 4618 mov r0, r3 8056888: f066 f82e bl 80bc8e8 805688c: 4603 mov r3, r0 805688e: 2b00 cmp r3, #0 8056890: d001 beq.n 8056896 { Error_Handler(); 8056892: f000 f80b bl 80568ac PeriphClkInitStruct.Sdmmc1ClockSelection = RCC_SDMMC1CLKSOURCE_CLK48; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) { Error_Handler(); }*/ } 8056896: bf00 nop 8056898: 37e0 adds r7, #224 ; 0xe0 805689a: 46bd mov sp, r7 805689c: bd80 pop {r7, pc} 805689e: bf00 nop 80568a0: 40023800 .word 0x40023800 80568a4: 40007000 .word 0x40007000 80568a8: 00a05028 .word 0x00a05028 080568ac : /** * @brief This function is executed in case of error occurrence. * @retval None */ void Error_Handler(void) { 80568ac: b480 push {r7} 80568ae: af00 add r7, sp, #0 __ASM volatile ("cpsid i" : : : "memory"); 80568b0: 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) 80568b2: e7fe b.n 80568b2 080568b4 : void MAX11270_Init(void) { 80568b4: b580 push {r7, lr} 80568b6: b084 sub sp, #16 80568b8: af02 add r7, sp, #8 __IO uint32_t dly; __IO uint32_t tick; memset(aTxBuffer, 0, sizeof(aTxBuffer)); 80568ba: 2204 movs r2, #4 80568bc: 2100 movs r1, #0 80568be: 483e ldr r0, [pc, #248] ; (80569b8 ) 80568c0: f07b fb70 bl 80d1fa4 HAL_GPIO_WritePin(RSTB_GPIO_Port, RSTB_Pin, GPIO_PIN_RESET); 80568c4: 2200 movs r2, #0 80568c6: 2104 movs r1, #4 80568c8: 483c ldr r0, [pc, #240] ; (80569bc ) 80568ca: f063 fd67 bl 80ba39c HAL_Delay(200); 80568ce: 20c8 movs r0, #200 ; 0xc8 80568d0: f061 f8b4 bl 80b7a3c HAL_GPIO_WritePin(RSTB_GPIO_Port, RSTB_Pin, GPIO_PIN_SET); 80568d4: 2201 movs r2, #1 80568d6: 2104 movs r1, #4 80568d8: 4838 ldr r0, [pc, #224] ; (80569bc ) 80568da: f063 fd5f bl 80ba39c HAL_Delay(200); 80568de: 20c8 movs r0, #200 ; 0xc8 80568e0: f061 f8ac bl 80b7a3c aTxBuffer[0] = WRITE | CTRL1_REG; 80568e4: 4b34 ldr r3, [pc, #208] ; (80569b8 ) 80568e6: 22c2 movs r2, #194 ; 0xc2 80568e8: 701a strb r2, [r3, #0] aTxBuffer[1] = SYNC_BIT | /*UB_BIT |*/ FORMAT_BIT | CONTSC_BIT; 80568ea: 4b33 ldr r3, [pc, #204] ; (80569b8 ) 80568ec: 2245 movs r2, #69 ; 0x45 80568ee: 705a strb r2, [r3, #1] HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 80568f0: 2200 movs r2, #0 80568f2: f44f 4100 mov.w r1, #32768 ; 0x8000 80568f6: 4832 ldr r0, [pc, #200] ; (80569c0 ) 80568f8: f063 fd50 bl 80ba39c for(dly = 3; dly > 0; dly--); 80568fc: 2303 movs r3, #3 80568fe: 607b str r3, [r7, #4] 8056900: e002 b.n 8056908 8056902: 687b ldr r3, [r7, #4] 8056904: 3b01 subs r3, #1 8056906: 607b str r3, [r7, #4] 8056908: 687b ldr r3, [r7, #4] 805690a: 2b00 cmp r3, #0 805690c: d1f9 bne.n 8056902 HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 2, 100); 805690e: 2364 movs r3, #100 ; 0x64 8056910: 9300 str r3, [sp, #0] 8056912: 2302 movs r3, #2 8056914: 4a2b ldr r2, [pc, #172] ; (80569c4 ) 8056916: 4928 ldr r1, [pc, #160] ; (80569b8 ) 8056918: 482b ldr r0, [pc, #172] ; (80569c8 ) 805691a: f069 fd41 bl 80c03a0 for(dly = 3; dly > 0; dly--); 805691e: 2303 movs r3, #3 8056920: 607b str r3, [r7, #4] 8056922: e002 b.n 805692a 8056924: 687b ldr r3, [r7, #4] 8056926: 3b01 subs r3, #1 8056928: 607b str r3, [r7, #4] 805692a: 687b ldr r3, [r7, #4] 805692c: 2b00 cmp r3, #0 805692e: d1f9 bne.n 8056924 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 8056930: 2201 movs r2, #1 8056932: f44f 4100 mov.w r1, #32768 ; 0x8000 8056936: 4822 ldr r0, [pc, #136] ; (80569c0 ) 8056938: f063 fd30 bl 80ba39c aTxBuffer[0] = WRITE | GAIN_REG; 805693c: 4b1e ldr r3, [pc, #120] ; (80569b8 ) 805693e: 22c4 movs r2, #196 ; 0xc4 8056940: 701a strb r2, [r3, #0] aTxBuffer[1] = LPMODE_BIT | PGAEN_BIT | SGAIN[Ku1]; 8056942: 2300 movs r3, #0 8056944: f043 0318 orr.w r3, r3, #24 8056948: b2da uxtb r2, r3 805694a: 4b1b ldr r3, [pc, #108] ; (80569b8 ) 805694c: 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); 805694e: 2200 movs r2, #0 8056950: f44f 4100 mov.w r1, #32768 ; 0x8000 8056954: 481a ldr r0, [pc, #104] ; (80569c0 ) 8056956: f063 fd21 bl 80ba39c for(dly = 3; dly > 0; dly--); 805695a: 2303 movs r3, #3 805695c: 607b str r3, [r7, #4] 805695e: e002 b.n 8056966 8056960: 687b ldr r3, [r7, #4] 8056962: 3b01 subs r3, #1 8056964: 607b str r3, [r7, #4] 8056966: 687b ldr r3, [r7, #4] 8056968: 2b00 cmp r3, #0 805696a: d1f9 bne.n 8056960 HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 2, 100); 805696c: 2364 movs r3, #100 ; 0x64 805696e: 9300 str r3, [sp, #0] 8056970: 2302 movs r3, #2 8056972: 4a14 ldr r2, [pc, #80] ; (80569c4 ) 8056974: 4910 ldr r1, [pc, #64] ; (80569b8 ) 8056976: 4814 ldr r0, [pc, #80] ; (80569c8 ) 8056978: f069 fd12 bl 80c03a0 for(dly = 3; dly > 0; dly--); 805697c: 2303 movs r3, #3 805697e: 607b str r3, [r7, #4] 8056980: e002 b.n 8056988 8056982: 687b ldr r3, [r7, #4] 8056984: 3b01 subs r3, #1 8056986: 607b str r3, [r7, #4] 8056988: 687b ldr r3, [r7, #4] 805698a: 2b00 cmp r3, #0 805698c: d1f9 bne.n 8056982 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 805698e: 2201 movs r2, #1 8056990: f44f 4100 mov.w r1, #32768 ; 0x8000 8056994: 480a ldr r0, [pc, #40] ; (80569c0 ) 8056996: f063 fd01 bl 80ba39c HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); } while(!(aRxBuffer.ch[0] & PDSTAT1_BIT));*/ tick = HAL_GetTick() - tick; 805699a: f061 f843 bl 80b7a24 805699e: 4602 mov r2, r0 80569a0: 683b ldr r3, [r7, #0] 80569a2: 1ad3 subs r3, r2, r3 80569a4: 603b str r3, [r7, #0] tick = 0; 80569a6: 2300 movs r3, #0 80569a8: 603b str r3, [r7, #0] MAX11270_StopMeas(); 80569aa: f000 f879 bl 8056aa0 } 80569ae: bf00 nop 80569b0: 3708 adds r7, #8 80569b2: 46bd mov sp, r7 80569b4: bd80 pop {r7, pc} 80569b6: bf00 nop 80569b8: 200216cc .word 0x200216cc 80569bc: 40020400 .word 0x40020400 80569c0: 40020000 .word 0x40020000 80569c4: 20068790 .word 0x20068790 80569c8: 20068794 .word 0x20068794 080569cc : void MAX11270_StartMeas(void) { 80569cc: b580 push {r7, lr} 80569ce: b084 sub sp, #16 80569d0: af02 add r7, sp, #8 __IO uint32_t dly; __IO uint32_t timeout; ADC_Started = false; 80569d2: 4b2b ldr r3, [pc, #172] ; (8056a80 ) 80569d4: 2200 movs r2, #0 80569d6: 701a strb r2, [r3, #0] memset(aTxBuffer, 0, sizeof(aTxBuffer)); 80569d8: 2204 movs r2, #4 80569da: 2100 movs r1, #0 80569dc: 4829 ldr r0, [pc, #164] ; (8056a84 ) 80569de: f07b fae1 bl 80d1fa4 aTxBuffer[0] = COMMAND | SRATE[pardata.FRQ]; 80569e2: 4b29 ldr r3, [pc, #164] ; (8056a88 ) 80569e4: 7adb ldrb r3, [r3, #11] 80569e6: b2db uxtb r3, r3 80569e8: 461a mov r2, r3 80569ea: 4b28 ldr r3, [pc, #160] ; (8056a8c ) 80569ec: 5c9b ldrb r3, [r3, r2] 80569ee: f063 037f orn r3, r3, #127 ; 0x7f 80569f2: b2da uxtb r2, r3 80569f4: 4b23 ldr r3, [pc, #140] ; (8056a84 ) 80569f6: 701a strb r2, [r3, #0] HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 80569f8: 2200 movs r2, #0 80569fa: f44f 4100 mov.w r1, #32768 ; 0x8000 80569fe: 4824 ldr r0, [pc, #144] ; (8056a90 ) 8056a00: f063 fccc bl 80ba39c for(dly = 3; dly > 0; dly--); 8056a04: 2303 movs r3, #3 8056a06: 607b str r3, [r7, #4] 8056a08: e002 b.n 8056a10 8056a0a: 687b ldr r3, [r7, #4] 8056a0c: 3b01 subs r3, #1 8056a0e: 607b str r3, [r7, #4] 8056a10: 687b ldr r3, [r7, #4] 8056a12: 2b00 cmp r3, #0 8056a14: d1f9 bne.n 8056a0a HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 1, 100); 8056a16: 2364 movs r3, #100 ; 0x64 8056a18: 9300 str r3, [sp, #0] 8056a1a: 2301 movs r3, #1 8056a1c: 4a1d ldr r2, [pc, #116] ; (8056a94 ) 8056a1e: 4919 ldr r1, [pc, #100] ; (8056a84 ) 8056a20: 481d ldr r0, [pc, #116] ; (8056a98 ) 8056a22: f069 fcbd bl 80c03a0 for(dly = 3; dly > 0; dly--); 8056a26: 2303 movs r3, #3 8056a28: 607b str r3, [r7, #4] 8056a2a: e002 b.n 8056a32 8056a2c: 687b ldr r3, [r7, #4] 8056a2e: 3b01 subs r3, #1 8056a30: 607b str r3, [r7, #4] 8056a32: 687b ldr r3, [r7, #4] 8056a34: 2b00 cmp r3, #0 8056a36: d1f9 bne.n 8056a2c HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 8056a38: 2201 movs r2, #1 8056a3a: f44f 4100 mov.w r1, #32768 ; 0x8000 8056a3e: 4814 ldr r0, [pc, #80] ; (8056a90 ) 8056a40: f063 fcac bl 80ba39c __HAL_GPIO_EXTI_CLEAR_FLAG(RDYB_Pin); 8056a44: 4b15 ldr r3, [pc, #84] ; (8056a9c ) 8056a46: 2208 movs r2, #8 8056a48: 615a str r2, [r3, #20] HAL_NVIC_EnableIRQ(EXTI3_IRQn); 8056a4a: 2009 movs r0, #9 8056a4c: f061 ff5d bl 80b890a timeout = HAL_GetTick(); 8056a50: f060 ffe8 bl 80b7a24 8056a54: 4603 mov r3, r0 8056a56: 603b str r3, [r7, #0] while((!ADC_Started) && ((HAL_GetTick() - timeout) < 100)); 8056a58: bf00 nop 8056a5a: 4b09 ldr r3, [pc, #36] ; (8056a80 ) 8056a5c: 781b ldrb r3, [r3, #0] 8056a5e: b2db uxtb r3, r3 8056a60: f083 0301 eor.w r3, r3, #1 8056a64: b2db uxtb r3, r3 8056a66: 2b00 cmp r3, #0 8056a68: d006 beq.n 8056a78 8056a6a: f060 ffdb bl 80b7a24 8056a6e: 4602 mov r2, r0 8056a70: 683b ldr r3, [r7, #0] 8056a72: 1ad3 subs r3, r2, r3 8056a74: 2b63 cmp r3, #99 ; 0x63 8056a76: d9f0 bls.n 8056a5a } 8056a78: bf00 nop 8056a7a: 3708 adds r7, #8 8056a7c: 46bd mov sp, r7 8056a7e: bd80 pop {r7, pc} 8056a80: 20020d94 .word 0x20020d94 8056a84: 200216cc .word 0x200216cc 8056a88: 20023eb8 .word 0x20023eb8 8056a8c: 080f52c4 .word 0x080f52c4 8056a90: 40020000 .word 0x40020000 8056a94: 20068790 .word 0x20068790 8056a98: 20068794 .word 0x20068794 8056a9c: 40013c00 .word 0x40013c00 08056aa0 : void MAX11270_StopMeas(void) { 8056aa0: b580 push {r7, lr} 8056aa2: b082 sub sp, #8 8056aa4: af00 add r7, sp, #0 __IO uint32_t dly; ADC_Started = false; 8056aa6: 4b09 ldr r3, [pc, #36] ; (8056acc ) 8056aa8: 2200 movs r2, #0 8056aaa: 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); 8056aac: 4b08 ldr r3, [pc, #32] ; (8056ad0 ) 8056aae: 2208 movs r2, #8 8056ab0: 615a str r2, [r3, #20] HAL_NVIC_DisableIRQ(EXTI3_IRQn); 8056ab2: 2009 movs r0, #9 8056ab4: f061 ff37 bl 80b8926 __HAL_GPIO_EXTI_CLEAR_FLAG(RDYB_Pin); 8056ab8: 4b05 ldr r3, [pc, #20] ; (8056ad0 ) 8056aba: 2208 movs r2, #8 8056abc: 615a str r2, [r3, #20] ADC_Started = false; 8056abe: 4b03 ldr r3, [pc, #12] ; (8056acc ) 8056ac0: 2200 movs r2, #0 8056ac2: 701a strb r2, [r3, #0] } 8056ac4: bf00 nop 8056ac6: 3708 adds r7, #8 8056ac8: 46bd mov sp, r7 8056aca: bd80 pop {r7, pc} 8056acc: 20020d94 .word 0x20020d94 8056ad0: 40013c00 .word 0x40013c00 08056ad4 : void MAX11270_SetGain(uint8_t ku) { 8056ad4: b580 push {r7, lr} 8056ad6: b086 sub sp, #24 8056ad8: af02 add r7, sp, #8 8056ada: 4603 mov r3, r0 8056adc: 71fb strb r3, [r7, #7] __IO uint32_t dly, i; for(i = 0; i < 3; i++) 8056ade: 2300 movs r3, #0 8056ae0: 60bb str r3, [r7, #8] 8056ae2: e04a b.n 8056b7a { HAL_Delay(20); 8056ae4: 2014 movs r0, #20 8056ae6: f060 ffa9 bl 80b7a3c memset(aTxBuffer, 0, sizeof(aTxBuffer)); 8056aea: 2204 movs r2, #4 8056aec: 2100 movs r1, #0 8056aee: 4826 ldr r0, [pc, #152] ; (8056b88 ) 8056af0: f07b fa58 bl 80d1fa4 aTxBuffer[0] = WRITE | GAIN_REG; 8056af4: 4b24 ldr r3, [pc, #144] ; (8056b88 ) 8056af6: 22c4 movs r2, #196 ; 0xc4 8056af8: 701a strb r2, [r3, #0] aTxBuffer[1] = PGAEN_BIT | SGAIN[ku]; 8056afa: 79fb ldrb r3, [r7, #7] 8056afc: 4a23 ldr r2, [pc, #140] ; (8056b8c ) 8056afe: 5cd3 ldrb r3, [r2, r3] 8056b00: f043 0308 orr.w r3, r3, #8 8056b04: b2da uxtb r2, r3 8056b06: 4b20 ldr r3, [pc, #128] ; (8056b88 ) 8056b08: 705a strb r2, [r3, #1] if(pardata.IKU < Ku16) 8056b0a: 4b21 ldr r3, [pc, #132] ; (8056b90 ) 8056b0c: 7a1b ldrb r3, [r3, #8] 8056b0e: b2db uxtb r3, r3 8056b10: 2b03 cmp r3, #3 8056b12: d806 bhi.n 8056b22 aTxBuffer[1] |= LPMODE_BIT; 8056b14: 4b1c ldr r3, [pc, #112] ; (8056b88 ) 8056b16: 785b ldrb r3, [r3, #1] 8056b18: f043 0310 orr.w r3, r3, #16 8056b1c: b2da uxtb r2, r3 8056b1e: 4b1a ldr r3, [pc, #104] ; (8056b88 ) 8056b20: 705a strb r2, [r3, #1] //aTxBuffer[1] |= DGAIN0_BIT | DGAIN1_BIT; HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 8056b22: 2200 movs r2, #0 8056b24: f44f 4100 mov.w r1, #32768 ; 0x8000 8056b28: 481a ldr r0, [pc, #104] ; (8056b94 ) 8056b2a: f063 fc37 bl 80ba39c for(dly = 3; dly > 0; dly--); 8056b2e: 2303 movs r3, #3 8056b30: 60fb str r3, [r7, #12] 8056b32: e002 b.n 8056b3a 8056b34: 68fb ldr r3, [r7, #12] 8056b36: 3b01 subs r3, #1 8056b38: 60fb str r3, [r7, #12] 8056b3a: 68fb ldr r3, [r7, #12] 8056b3c: 2b00 cmp r3, #0 8056b3e: d1f9 bne.n 8056b34 HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 2, 100); 8056b40: 2364 movs r3, #100 ; 0x64 8056b42: 9300 str r3, [sp, #0] 8056b44: 2302 movs r3, #2 8056b46: 4a14 ldr r2, [pc, #80] ; (8056b98 ) 8056b48: 490f ldr r1, [pc, #60] ; (8056b88 ) 8056b4a: 4814 ldr r0, [pc, #80] ; (8056b9c ) 8056b4c: f069 fc28 bl 80c03a0 for(dly = 3; dly > 0; dly--); 8056b50: 2303 movs r3, #3 8056b52: 60fb str r3, [r7, #12] 8056b54: e002 b.n 8056b5c 8056b56: 68fb ldr r3, [r7, #12] 8056b58: 3b01 subs r3, #1 8056b5a: 60fb str r3, [r7, #12] 8056b5c: 68fb ldr r3, [r7, #12] 8056b5e: 2b00 cmp r3, #0 8056b60: d1f9 bne.n 8056b56 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 8056b62: 2201 movs r2, #1 8056b64: f44f 4100 mov.w r1, #32768 ; 0x8000 8056b68: 480a ldr r0, [pc, #40] ; (8056b94 ) 8056b6a: f063 fc17 bl 80ba39c HAL_Delay(20); 8056b6e: 2014 movs r0, #20 8056b70: f060 ff64 bl 80b7a3c for(i = 0; i < 3; i++) 8056b74: 68bb ldr r3, [r7, #8] 8056b76: 3301 adds r3, #1 8056b78: 60bb str r3, [r7, #8] 8056b7a: 68bb ldr r3, [r7, #8] 8056b7c: 2b02 cmp r3, #2 8056b7e: d9b1 bls.n 8056ae4 } } 8056b80: bf00 nop 8056b82: 3710 adds r7, #16 8056b84: 46bd mov sp, r7 8056b86: bd80 pop {r7, pc} 8056b88: 200216cc .word 0x200216cc 8056b8c: 080f52d0 .word 0x080f52d0 8056b90: 20023eb8 .word 0x20023eb8 8056b94: 40020000 .word 0x40020000 8056b98: 20068790 .word 0x20068790 8056b9c: 20068794 .word 0x20068794 08056ba0 : uint32_t MAX11270_GetData(void) { 8056ba0: b580 push {r7, lr} 8056ba2: b084 sub sp, #16 8056ba4: af02 add r7, sp, #8 int32_t low; uint32_t DataOut; static uint8_t faseCal = 0; aTxBuffer[0] = READ | DATA_REG; 8056ba6: 4b1c ldr r3, [pc, #112] ; (8056c18 ) 8056ba8: 22cd movs r2, #205 ; 0xcd 8056baa: 701a strb r2, [r3, #0] aTxBuffer[1] = 0x00; 8056bac: 4b1a ldr r3, [pc, #104] ; (8056c18 ) 8056bae: 2200 movs r2, #0 8056bb0: 705a strb r2, [r3, #1] HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 8056bb2: 2200 movs r2, #0 8056bb4: f44f 4100 mov.w r1, #32768 ; 0x8000 8056bb8: 4818 ldr r0, [pc, #96] ; (8056c1c ) 8056bba: f063 fbef bl 80ba39c for(dly = 3; dly > 0; dly--); 8056bbe: 2303 movs r3, #3 8056bc0: 603b str r3, [r7, #0] 8056bc2: e002 b.n 8056bca 8056bc4: 683b ldr r3, [r7, #0] 8056bc6: 3b01 subs r3, #1 8056bc8: 603b str r3, [r7, #0] 8056bca: 683b ldr r3, [r7, #0] 8056bcc: 2b00 cmp r3, #0 8056bce: d1f9 bne.n 8056bc4 HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 4, 100); 8056bd0: 2364 movs r3, #100 ; 0x64 8056bd2: 9300 str r3, [sp, #0] 8056bd4: 2304 movs r3, #4 8056bd6: 4a12 ldr r2, [pc, #72] ; (8056c20 ) 8056bd8: 490f ldr r1, [pc, #60] ; (8056c18 ) 8056bda: 4812 ldr r0, [pc, #72] ; (8056c24 ) 8056bdc: f069 fbe0 bl 80c03a0 for(dly = 3; dly > 0; dly--); 8056be0: 2303 movs r3, #3 8056be2: 603b str r3, [r7, #0] 8056be4: e002 b.n 8056bec 8056be6: 683b ldr r3, [r7, #0] 8056be8: 3b01 subs r3, #1 8056bea: 603b str r3, [r7, #0] 8056bec: 683b ldr r3, [r7, #0] 8056bee: 2b00 cmp r3, #0 8056bf0: d1f9 bne.n 8056be6 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 8056bf2: 2201 movs r2, #1 8056bf4: f44f 4100 mov.w r1, #32768 ; 0x8000 8056bf8: 4808 ldr r0, [pc, #32] ; (8056c1c ) 8056bfa: f063 fbcf bl 80ba39c DataOut = ((uint32_t) (aRxBuffer.sh[0] << 8) | aRxBuffer.sh[1]); 8056bfe: 4b08 ldr r3, [pc, #32] ; (8056c20 ) 8056c00: 881b ldrh r3, [r3, #0] 8056c02: 021b lsls r3, r3, #8 8056c04: 461a mov r2, r3 8056c06: 4b06 ldr r3, [pc, #24] ; (8056c20 ) 8056c08: 885b ldrh r3, [r3, #2] 8056c0a: 4313 orrs r3, r2 8056c0c: 607b str r3, [r7, #4] return DataOut; 8056c0e: 687b ldr r3, [r7, #4] } 8056c10: 4618 mov r0, r3 8056c12: 3708 adds r7, #8 8056c14: 46bd mov sp, r7 8056c16: bd80 pop {r7, pc} 8056c18: 200216cc .word 0x200216cc 8056c1c: 40020000 .word 0x40020000 8056c20: 20068790 .word 0x20068790 8056c24: 20068794 .word 0x20068794 08056c28 : void MAX11270_IRQ(void) { 8056c28: b580 push {r7, lr} 8056c2a: b082 sub sp, #8 8056c2c: af00 add r7, sp, #0 __IO uint32_t Data32; //__IO uint16_t Tacho; Data32 = MAX11270_GetData() & 0xfffffe; 8056c2e: f7ff ffb7 bl 8056ba0 8056c32: 4602 mov r2, r0 8056c34: 4b9e ldr r3, [pc, #632] ; (8056eb0 ) 8056c36: 4013 ands r3, r2 8056c38: 607b str r3, [r7, #4] ADC_Started = true; 8056c3a: 4b9e ldr r3, [pc, #632] ; (8056eb4 ) 8056c3c: 2201 movs r2, #1 8056c3e: 701a strb r2, [r3, #0] /*#if (defined(USE_D102) || defined(USE_D141) || defined(USE_D142)) Tacho = TACHO_SAMPLE; #endif*/ if(FLAG_CALC_MEAN) 8056c40: 4b9d ldr r3, [pc, #628] ; (8056eb8 ) 8056c42: 781b ldrb r3, [r3, #0] 8056c44: b2db uxtb r3, r3 8056c46: 2b00 cmp r3, #0 8056c48: d031 beq.n 8056cae { REC_MEAN += (float64_t) Data32; 8056c4a: 687b ldr r3, [r7, #4] 8056c4c: ee07 3a90 vmov s15, r3 8056c50: eeb8 6b67 vcvt.f64.u32 d6, s15 8056c54: 4b99 ldr r3, [pc, #612] ; (8056ebc ) 8056c56: ed93 7b00 vldr d7, [r3] 8056c5a: ee36 7b07 vadd.f64 d7, d6, d7 8056c5e: 4b97 ldr r3, [pc, #604] ; (8056ebc ) 8056c60: ed83 7b00 vstr d7, [r3] CNT_MEAN++; 8056c64: 4b96 ldr r3, [pc, #600] ; (8056ec0 ) 8056c66: 681b ldr r3, [r3, #0] 8056c68: 3301 adds r3, #1 8056c6a: 4a95 ldr r2, [pc, #596] ; (8056ec0 ) 8056c6c: 6013 str r3, [r2, #0] if(CNT_MEAN == 102400UL) 8056c6e: 4b94 ldr r3, [pc, #592] ; (8056ec0 ) 8056c70: 681b ldr r3, [r3, #0] 8056c72: f5b3 3fc8 cmp.w r3, #102400 ; 0x19000 8056c76: f040 832b bne.w 80572d0 { REC_MEAN /= (float64_t) CNT_MEAN; 8056c7a: 4b91 ldr r3, [pc, #580] ; (8056ec0 ) 8056c7c: 681b ldr r3, [r3, #0] 8056c7e: ee07 3a90 vmov s15, r3 8056c82: eeb8 6b67 vcvt.f64.u32 d6, s15 8056c86: 4b8d ldr r3, [pc, #564] ; (8056ebc ) 8056c88: ed93 5b00 vldr d5, [r3] 8056c8c: ee85 7b06 vdiv.f64 d7, d5, d6 8056c90: 4b8a ldr r3, [pc, #552] ; (8056ebc ) 8056c92: ed83 7b00 vstr d7, [r3] MEAN_TEMP = (float32_t) REC_MEAN; 8056c96: 4b89 ldr r3, [pc, #548] ; (8056ebc ) 8056c98: ed93 7b00 vldr d7, [r3] 8056c9c: eef7 7bc7 vcvt.f32.f64 s15, d7 8056ca0: 4b88 ldr r3, [pc, #544] ; (8056ec4 ) 8056ca2: edc3 7a00 vstr s15, [r3] CNT_MEAN = 0; 8056ca6: 4b86 ldr r3, [pc, #536] ; (8056ec0 ) 8056ca8: 2200 movs r2, #0 8056caa: 601a str r2, [r3, #0] } } } } } } 8056cac: e310 b.n 80572d0 if(measuring) 8056cae: 4b86 ldr r3, [pc, #536] ; (8056ec8 ) 8056cb0: 781b ldrb r3, [r3, #0] 8056cb2: b2db uxtb r3, r3 8056cb4: 2b00 cmp r3, #0 8056cb6: f000 830b beq.w 80572d0 AdcBuff(cntADC++) = Data32; 8056cba: 4b84 ldr r3, [pc, #528] ; (8056ecc ) 8056cbc: 881b ldrh r3, [r3, #0] 8056cbe: b29b uxth r3, r3 8056cc0: 1c5a adds r2, r3, #1 8056cc2: b291 uxth r1, r2 8056cc4: 4a81 ldr r2, [pc, #516] ; (8056ecc ) 8056cc6: 8011 strh r1, [r2, #0] 8056cc8: 009b lsls r3, r3, #2 8056cca: 461a mov r2, r3 8056ccc: 4b80 ldr r3, [pc, #512] ; (8056ed0 ) 8056cce: 4413 add r3, r2 8056cd0: 687a ldr r2, [r7, #4] 8056cd2: 601a str r2, [r3, #0] if(cntADC == SIZE_ADC_BUFF) { 8056cd4: 4b7d ldr r3, [pc, #500] ; (8056ecc ) 8056cd6: 881b ldrh r3, [r3, #0] 8056cd8: b29b uxth r3, r3 8056cda: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 8056cde: d102 bne.n 8056ce6 cntADC = 0; 8056ce0: 4b7a ldr r3, [pc, #488] ; (8056ecc ) 8056ce2: 2200 movs r2, #0 8056ce4: 801a strh r2, [r3, #0] if(pardata.SYG != WAVE) 8056ce6: 4b7b ldr r3, [pc, #492] ; (8056ed4 ) 8056ce8: 781b ldrb r3, [r3, #0] 8056cea: b2db uxtb r3, r3 8056cec: 2b04 cmp r3, #4 8056cee: f000 811e beq.w 8056f2e if(FirstTime) 8056cf2: 4b79 ldr r3, [pc, #484] ; (8056ed8 ) 8056cf4: 781b ldrb r3, [r3, #0] 8056cf6: b2db uxtb r3, r3 8056cf8: 2b00 cmp r3, #0 8056cfa: d017 beq.n 8056d2c if(cntADC >= Ns) 8056cfc: 4b73 ldr r3, [pc, #460] ; (8056ecc ) 8056cfe: 881b ldrh r3, [r3, #0] 8056d00: b29b uxth r3, r3 8056d02: 461a mov r2, r3 8056d04: 4b75 ldr r3, [pc, #468] ; (8056edc ) 8056d06: 681b ldr r3, [r3, #0] 8056d08: 429a cmp r2, r3 8056d0a: f0c0 82e1 bcc.w 80572d0 cntmeas = 0; 8056d0e: 4b74 ldr r3, [pc, #464] ; (8056ee0 ) 8056d10: 2200 movs r2, #0 8056d12: 801a strh r2, [r3, #0] lastcntmeas = cntADC; 8056d14: 4b6d ldr r3, [pc, #436] ; (8056ecc ) 8056d16: 881b ldrh r3, [r3, #0] 8056d18: b29a uxth r2, r3 8056d1a: 4b72 ldr r3, [pc, #456] ; (8056ee4 ) 8056d1c: 801a strh r2, [r3, #0] FirstTime = false; 8056d1e: 4b6e ldr r3, [pc, #440] ; (8056ed8 ) 8056d20: 2200 movs r2, #0 8056d22: 701a strb r2, [r3, #0] READY = DATA_CAPTURED; 8056d24: 4b70 ldr r3, [pc, #448] ; (8056ee8 ) 8056d26: 2207 movs r2, #7 8056d28: 701a strb r2, [r3, #0] } 8056d2a: e2d1 b.n 80572d0 if(Flag_Set_KU == 0) 8056d2c: 4b6f ldr r3, [pc, #444] ; (8056eec ) 8056d2e: 781b ldrb r3, [r3, #0] 8056d30: b2db uxtb r3, r3 8056d32: 2b00 cmp r3, #0 8056d34: d107 bne.n 8056d46 cntmeas++; 8056d36: 4b6a ldr r3, [pc, #424] ; (8056ee0 ) 8056d38: 881b ldrh r3, [r3, #0] 8056d3a: b29b uxth r3, r3 8056d3c: 3301 adds r3, #1 8056d3e: b29a uxth r2, r3 8056d40: 4b67 ldr r3, [pc, #412] ; (8056ee0 ) 8056d42: 801a strh r2, [r3, #0] 8056d44: e00a b.n 8056d5c cntmeas = 0; 8056d46: 4b66 ldr r3, [pc, #408] ; (8056ee0 ) 8056d48: 2200 movs r2, #0 8056d4a: 801a strh r2, [r3, #0] if(READY == DATA_CAPTURED) { 8056d4c: 4b66 ldr r3, [pc, #408] ; (8056ee8 ) 8056d4e: 781b ldrb r3, [r3, #0] 8056d50: b2db uxtb r3, r3 8056d52: 2b07 cmp r3, #7 8056d54: d102 bne.n 8056d5c READY = DATA_FREE; 8056d56: 4b64 ldr r3, [pc, #400] ; (8056ee8 ) 8056d58: 2200 movs r2, #0 8056d5a: 701a strb r2, [r3, #0] switch(pardata.SYG) 8056d5c: 4b5d ldr r3, [pc, #372] ; (8056ed4 ) 8056d5e: 781b ldrb r3, [r3, #0] 8056d60: b2db uxtb r3, r3 8056d62: 2b0a cmp r3, #10 8056d64: f200 82b4 bhi.w 80572d0 8056d68: a201 add r2, pc, #4 ; (adr r2, 8056d70 ) 8056d6a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8056d6e: bf00 nop 8056d70: 08056d9d .word 0x08056d9d 8056d74: 08056ef5 .word 0x08056ef5 8056d78: 08056df9 .word 0x08056df9 8056d7c: 08056d9d .word 0x08056d9d 8056d80: 080572d1 .word 0x080572d1 8056d84: 08056ef5 .word 0x08056ef5 8056d88: 08056e55 .word 0x08056e55 8056d8c: 08056e55 .word 0x08056e55 8056d90: 08056ef5 .word 0x08056ef5 8056d94: 08056df9 .word 0x08056df9 8056d98: 08056d9d .word 0x08056d9d if(cntmeas >= Ns) 8056d9c: 4b50 ldr r3, [pc, #320] ; (8056ee0 ) 8056d9e: 881b ldrh r3, [r3, #0] 8056da0: b29b uxth r3, r3 8056da2: 461a mov r2, r3 8056da4: 4b4d ldr r3, [pc, #308] ; (8056edc ) 8056da6: 681b ldr r3, [r3, #0] 8056da8: 429a cmp r2, r3 8056daa: f0c0 828a bcc.w 80572c2 if(cntmeas == Ns) { 8056dae: 4b4c ldr r3, [pc, #304] ; (8056ee0 ) 8056db0: 881b ldrh r3, [r3, #0] 8056db2: b29b uxth r3, r3 8056db4: 461a mov r2, r3 8056db6: 4b49 ldr r3, [pc, #292] ; (8056edc ) 8056db8: 681b ldr r3, [r3, #0] 8056dba: 429a cmp r2, r3 8056dbc: d104 bne.n 8056dc8 lastcntmeas = cntADC; 8056dbe: 4b43 ldr r3, [pc, #268] ; (8056ecc ) 8056dc0: 881b ldrh r3, [r3, #0] 8056dc2: b29a uxth r2, r3 8056dc4: 4b47 ldr r3, [pc, #284] ; (8056ee4 ) 8056dc6: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 8056dc8: 4b47 ldr r3, [pc, #284] ; (8056ee8 ) 8056dca: 781b ldrb r3, [r3, #0] 8056dcc: b2db uxtb r3, r3 8056dce: 2b00 cmp r3, #0 8056dd0: f040 8277 bne.w 80572c2 READY = DATA_CAPTURED; 8056dd4: 4b44 ldr r3, [pc, #272] ; (8056ee8 ) 8056dd6: 2207 movs r2, #7 8056dd8: 701a strb r2, [r3, #0] if(cntmeas > Ns) 8056dda: 4b41 ldr r3, [pc, #260] ; (8056ee0 ) 8056ddc: 881b ldrh r3, [r3, #0] 8056dde: b29b uxth r3, r3 8056de0: 461a mov r2, r3 8056de2: 4b3e ldr r3, [pc, #248] ; (8056edc ) 8056de4: 681b ldr r3, [r3, #0] 8056de6: 429a cmp r2, r3 8056de8: d902 bls.n 8056df0 DataCopied = false; 8056dea: 4b41 ldr r3, [pc, #260] ; (8056ef0 ) 8056dec: 2200 movs r2, #0 8056dee: 701a strb r2, [r3, #0] cntmeas = 0; 8056df0: 4b3b ldr r3, [pc, #236] ; (8056ee0 ) 8056df2: 2200 movs r2, #0 8056df4: 801a strh r2, [r3, #0] break; 8056df6: e264 b.n 80572c2 if(cntmeas >= Ns) 8056df8: 4b39 ldr r3, [pc, #228] ; (8056ee0 ) 8056dfa: 881b ldrh r3, [r3, #0] 8056dfc: b29b uxth r3, r3 8056dfe: 461a mov r2, r3 8056e00: 4b36 ldr r3, [pc, #216] ; (8056edc ) 8056e02: 681b ldr r3, [r3, #0] 8056e04: 429a cmp r2, r3 8056e06: f0c0 825e bcc.w 80572c6 if(cntmeas == Ns) { 8056e0a: 4b35 ldr r3, [pc, #212] ; (8056ee0 ) 8056e0c: 881b ldrh r3, [r3, #0] 8056e0e: b29b uxth r3, r3 8056e10: 461a mov r2, r3 8056e12: 4b32 ldr r3, [pc, #200] ; (8056edc ) 8056e14: 681b ldr r3, [r3, #0] 8056e16: 429a cmp r2, r3 8056e18: d104 bne.n 8056e24 lastcntmeas = cntADC; 8056e1a: 4b2c ldr r3, [pc, #176] ; (8056ecc ) 8056e1c: 881b ldrh r3, [r3, #0] 8056e1e: b29a uxth r2, r3 8056e20: 4b30 ldr r3, [pc, #192] ; (8056ee4 ) 8056e22: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 8056e24: 4b30 ldr r3, [pc, #192] ; (8056ee8 ) 8056e26: 781b ldrb r3, [r3, #0] 8056e28: b2db uxtb r3, r3 8056e2a: 2b00 cmp r3, #0 8056e2c: f040 824b bne.w 80572c6 READY = DATA_CAPTURED; 8056e30: 4b2d ldr r3, [pc, #180] ; (8056ee8 ) 8056e32: 2207 movs r2, #7 8056e34: 701a strb r2, [r3, #0] if(cntmeas > Ns) 8056e36: 4b2a ldr r3, [pc, #168] ; (8056ee0 ) 8056e38: 881b ldrh r3, [r3, #0] 8056e3a: b29b uxth r3, r3 8056e3c: 461a mov r2, r3 8056e3e: 4b27 ldr r3, [pc, #156] ; (8056edc ) 8056e40: 681b ldr r3, [r3, #0] 8056e42: 429a cmp r2, r3 8056e44: d902 bls.n 8056e4c DataCopied = false; 8056e46: 4b2a ldr r3, [pc, #168] ; (8056ef0 ) 8056e48: 2200 movs r2, #0 8056e4a: 701a strb r2, [r3, #0] cntmeas = 0; 8056e4c: 4b24 ldr r3, [pc, #144] ; (8056ee0 ) 8056e4e: 2200 movs r2, #0 8056e50: 801a strh r2, [r3, #0] break; 8056e52: e238 b.n 80572c6 if(cntmeas >= Ns) 8056e54: 4b22 ldr r3, [pc, #136] ; (8056ee0 ) 8056e56: 881b ldrh r3, [r3, #0] 8056e58: b29b uxth r3, r3 8056e5a: 461a mov r2, r3 8056e5c: 4b1f ldr r3, [pc, #124] ; (8056edc ) 8056e5e: 681b ldr r3, [r3, #0] 8056e60: 429a cmp r2, r3 8056e62: f0c0 8232 bcc.w 80572ca if(cntmeas == Ns) { 8056e66: 4b1e ldr r3, [pc, #120] ; (8056ee0 ) 8056e68: 881b ldrh r3, [r3, #0] 8056e6a: b29b uxth r3, r3 8056e6c: 461a mov r2, r3 8056e6e: 4b1b ldr r3, [pc, #108] ; (8056edc ) 8056e70: 681b ldr r3, [r3, #0] 8056e72: 429a cmp r2, r3 8056e74: d104 bne.n 8056e80 lastcntmeas = cntADC; 8056e76: 4b15 ldr r3, [pc, #84] ; (8056ecc ) 8056e78: 881b ldrh r3, [r3, #0] 8056e7a: b29a uxth r2, r3 8056e7c: 4b19 ldr r3, [pc, #100] ; (8056ee4 ) 8056e7e: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 8056e80: 4b19 ldr r3, [pc, #100] ; (8056ee8 ) 8056e82: 781b ldrb r3, [r3, #0] 8056e84: b2db uxtb r3, r3 8056e86: 2b00 cmp r3, #0 8056e88: f040 821f bne.w 80572ca READY = DATA_CAPTURED; 8056e8c: 4b16 ldr r3, [pc, #88] ; (8056ee8 ) 8056e8e: 2207 movs r2, #7 8056e90: 701a strb r2, [r3, #0] if(cntmeas > Ns) 8056e92: 4b13 ldr r3, [pc, #76] ; (8056ee0 ) 8056e94: 881b ldrh r3, [r3, #0] 8056e96: b29b uxth r3, r3 8056e98: 461a mov r2, r3 8056e9a: 4b10 ldr r3, [pc, #64] ; (8056edc ) 8056e9c: 681b ldr r3, [r3, #0] 8056e9e: 429a cmp r2, r3 8056ea0: d902 bls.n 8056ea8 DataCopied = false; 8056ea2: 4b13 ldr r3, [pc, #76] ; (8056ef0 ) 8056ea4: 2200 movs r2, #0 8056ea6: 701a strb r2, [r3, #0] cntmeas = 0; 8056ea8: 4b0d ldr r3, [pc, #52] ; (8056ee0 ) 8056eaa: 2200 movs r2, #0 8056eac: 801a strh r2, [r3, #0] break; 8056eae: e20c b.n 80572ca 8056eb0: 00fffffe .word 0x00fffffe 8056eb4: 20020d94 .word 0x20020d94 8056eb8: 200216de .word 0x200216de 8056ebc: 200216e0 .word 0x200216e0 8056ec0: 200216e8 .word 0x200216e8 8056ec4: 200209dc .word 0x200209dc 8056ec8: 20020dcf .word 0x20020dcf 8056ecc: 20020d9c .word 0x20020d9c 8056ed0: 64060000 .word 0x64060000 8056ed4: 20023eb8 .word 0x20023eb8 8056ed8: 20020dce .word 0x20020dce 8056edc: 20021d2c .word 0x20021d2c 8056ee0: 20020da0 .word 0x20020da0 8056ee4: 20020da4 .word 0x20020da4 8056ee8: 20020d9f .word 0x20020d9f 8056eec: 20020d9e .word 0x20020d9e 8056ef0: 200216d8 .word 0x200216d8 if(cntmeas >= (Ns >> 2)) 8056ef4: 4b86 ldr r3, [pc, #536] ; (8057110 ) 8056ef6: 881b ldrh r3, [r3, #0] 8056ef8: b29b uxth r3, r3 8056efa: 461a mov r2, r3 8056efc: 4b85 ldr r3, [pc, #532] ; (8057114 ) 8056efe: 681b ldr r3, [r3, #0] 8056f00: 089b lsrs r3, r3, #2 8056f02: 429a cmp r2, r3 8056f04: f0c0 81e3 bcc.w 80572ce if(READY == DATA_FREE) 8056f08: 4b83 ldr r3, [pc, #524] ; (8057118 ) 8056f0a: 781b ldrb r3, [r3, #0] 8056f0c: b2db uxtb r3, r3 8056f0e: 2b00 cmp r3, #0 8056f10: f040 81dd bne.w 80572ce lastcntmeas = cntADC; 8056f14: 4b81 ldr r3, [pc, #516] ; (805711c ) 8056f16: 881b ldrh r3, [r3, #0] 8056f18: b29a uxth r2, r3 8056f1a: 4b81 ldr r3, [pc, #516] ; (8057120 ) 8056f1c: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 8056f1e: 4b7e ldr r3, [pc, #504] ; (8057118 ) 8056f20: 2207 movs r2, #7 8056f22: 701a strb r2, [r3, #0] cntmeas = 0; 8056f24: 4b7a ldr r3, [pc, #488] ; (8057110 ) 8056f26: 2200 movs r2, #0 8056f28: 801a strh r2, [r3, #0] break; 8056f2a: bf00 nop 8056f2c: e1cf b.n 80572ce if(Threshold) 8056f2e: 4b7d ldr r3, [pc, #500] ; (8057124 ) 8056f30: 781b ldrb r3, [r3, #0] 8056f32: b2db uxtb r3, r3 8056f34: 2b00 cmp r3, #0 8056f36: f000 8157 beq.w 80571e8 if(FirstTime) 8056f3a: 4b7b ldr r3, [pc, #492] ; (8057128 ) 8056f3c: 781b ldrb r3, [r3, #0] 8056f3e: b2db uxtb r3, r3 8056f40: 2b00 cmp r3, #0 8056f42: d01c beq.n 8056f7e if(cntADC >= (Ns >> 2)) 8056f44: 4b75 ldr r3, [pc, #468] ; (805711c ) 8056f46: 881b ldrh r3, [r3, #0] 8056f48: b29b uxth r3, r3 8056f4a: 461a mov r2, r3 8056f4c: 4b71 ldr r3, [pc, #452] ; (8057114 ) 8056f4e: 681b ldr r3, [r3, #0] 8056f50: 089b lsrs r3, r3, #2 8056f52: 429a cmp r2, r3 8056f54: f0c0 81bc bcc.w 80572d0 cntmeas = cntmeas1 = 0; 8056f58: 2100 movs r1, #0 8056f5a: 4b74 ldr r3, [pc, #464] ; (805712c ) 8056f5c: 460a mov r2, r1 8056f5e: 801a strh r2, [r3, #0] 8056f60: 4b6b ldr r3, [pc, #428] ; (8057110 ) 8056f62: 460a mov r2, r1 8056f64: 801a strh r2, [r3, #0] lastcntmeas = cntADC; 8056f66: 4b6d ldr r3, [pc, #436] ; (805711c ) 8056f68: 881b ldrh r3, [r3, #0] 8056f6a: b29a uxth r2, r3 8056f6c: 4b6c ldr r3, [pc, #432] ; (8057120 ) 8056f6e: 801a strh r2, [r3, #0] FirstTime = false; 8056f70: 4b6d ldr r3, [pc, #436] ; (8057128 ) 8056f72: 2200 movs r2, #0 8056f74: 701a strb r2, [r3, #0] RepeatKm = false; 8056f76: 4b6e ldr r3, [pc, #440] ; (8057130 ) 8056f78: 2200 movs r2, #0 8056f7a: 701a strb r2, [r3, #0] } 8056f7c: e1a8 b.n 80572d0 if(Recording == false) 8056f7e: 4b6d ldr r3, [pc, #436] ; (8057134 ) 8056f80: 781b ldrb r3, [r3, #0] 8056f82: b2db uxtb r3, r3 8056f84: f083 0301 eor.w r3, r3, #1 8056f88: b2db uxtb r3, r3 8056f8a: 2b00 cmp r3, #0 8056f8c: f000 80e2 beq.w 8057154 if((pardata.IVS[ACC] & 0x3) != RMS) 8056f90: 4b69 ldr r3, [pc, #420] ; (8057138 ) 8056f92: 789b ldrb r3, [r3, #2] 8056f94: b2db uxtb r3, r3 8056f96: f003 0303 and.w r3, r3, #3 8056f9a: 2b01 cmp r3, #1 8056f9c: d06d beq.n 805707a if(StateThr == 0xffffffff) 8056f9e: 4b67 ldr r3, [pc, #412] ; (805713c ) 8056fa0: 681b ldr r3, [r3, #0] 8056fa2: f1b3 3fff cmp.w r3, #4294967295 8056fa6: d128 bne.n 8056ffa if(Data32 >= adcThr) 8056fa8: 687a ldr r2, [r7, #4] 8056faa: 4b65 ldr r3, [pc, #404] ; (8057140 ) 8056fac: 681b ldr r3, [r3, #0] 8056fae: 429a cmp r2, r3 8056fb0: d30e bcc.n 8056fd0 cntmeas = 2049; 8056fb2: 4b57 ldr r3, [pc, #348] ; (8057110 ) 8056fb4: f640 0201 movw r2, #2049 ; 0x801 8056fb8: 801a strh r2, [r3, #0] StateThr = 0xfffffffe; 8056fba: 4b60 ldr r3, [pc, #384] ; (805713c ) 8056fbc: f06f 0201 mvn.w r2, #1 8056fc0: 601a str r2, [r3, #0] ZeroThr = cntADC; 8056fc2: 4b56 ldr r3, [pc, #344] ; (805711c ) 8056fc4: 881b ldrh r3, [r3, #0] 8056fc6: b29b uxth r3, r3 8056fc8: 461a mov r2, r3 8056fca: 4b5e ldr r3, [pc, #376] ; (8057144 ) 8056fcc: 601a str r2, [r3, #0] } 8056fce: e17f b.n 80572d0 if(Data32 <= _adcThr) 8056fd0: 687a ldr r2, [r7, #4] 8056fd2: 4b5d ldr r3, [pc, #372] ; (8057148 ) 8056fd4: 681b ldr r3, [r3, #0] 8056fd6: 429a cmp r2, r3 8056fd8: f200 817a bhi.w 80572d0 cntmeas = 2049; 8056fdc: 4b4c ldr r3, [pc, #304] ; (8057110 ) 8056fde: f640 0201 movw r2, #2049 ; 0x801 8056fe2: 801a strh r2, [r3, #0] StateThr = 0xefffffff; 8056fe4: 4b55 ldr r3, [pc, #340] ; (805713c ) 8056fe6: f06f 5280 mvn.w r2, #268435456 ; 0x10000000 8056fea: 601a str r2, [r3, #0] ZeroThr = cntADC; 8056fec: 4b4b ldr r3, [pc, #300] ; (805711c ) 8056fee: 881b ldrh r3, [r3, #0] 8056ff0: b29b uxth r3, r3 8056ff2: 461a mov r2, r3 8056ff4: 4b53 ldr r3, [pc, #332] ; (8057144 ) 8056ff6: 601a str r2, [r3, #0] } 8056ff8: e16a b.n 80572d0 if(StateThr == 0xfffffffe) 8056ffa: 4b50 ldr r3, [pc, #320] ; (805713c ) 8056ffc: 681b ldr r3, [r3, #0] 8056ffe: f113 0f02 cmn.w r3, #2 8057002: d119 bne.n 8057038 if(Data32 >= adcThr) 8057004: 687a ldr r2, [r7, #4] 8057006: 4b4e ldr r3, [pc, #312] ; (8057140 ) 8057008: 681b ldr r3, [r3, #0] 805700a: 429a cmp r2, r3 805700c: d30f bcc.n 805702e StateThr = 0xffffffff; 805700e: 4b4b ldr r3, [pc, #300] ; (805713c ) 8057010: f04f 32ff mov.w r2, #4294967295 8057014: 601a str r2, [r3, #0] cntmeas = 2050; 8057016: 4b3e ldr r3, [pc, #248] ; (8057110 ) 8057018: f640 0202 movw r2, #2050 ; 0x802 805701c: 801a strh r2, [r3, #0] TimeRec = 2050; 805701e: 4b4b ldr r3, [pc, #300] ; (805714c ) 8057020: f640 0202 movw r2, #2050 ; 0x802 8057024: 601a str r2, [r3, #0] Recording = true; 8057026: 4b43 ldr r3, [pc, #268] ; (8057134 ) 8057028: 2201 movs r2, #1 805702a: 701a strb r2, [r3, #0] } 805702c: e150 b.n 80572d0 StateThr = 0xffffffff; 805702e: 4b43 ldr r3, [pc, #268] ; (805713c ) 8057030: f04f 32ff mov.w r2, #4294967295 8057034: 601a str r2, [r3, #0] } 8057036: e14b b.n 80572d0 if(StateThr == 0xefffffff) 8057038: 4b40 ldr r3, [pc, #256] ; (805713c ) 805703a: 681b ldr r3, [r3, #0] 805703c: f06f 5280 mvn.w r2, #268435456 ; 0x10000000 8057040: 4293 cmp r3, r2 8057042: f040 8145 bne.w 80572d0 if(Data32 <= _adcThr) 8057046: 687a ldr r2, [r7, #4] 8057048: 4b3f ldr r3, [pc, #252] ; (8057148 ) 805704a: 681b ldr r3, [r3, #0] 805704c: 429a cmp r2, r3 805704e: d80f bhi.n 8057070 StateThr = 0xffffffff; 8057050: 4b3a ldr r3, [pc, #232] ; (805713c ) 8057052: f04f 32ff mov.w r2, #4294967295 8057056: 601a str r2, [r3, #0] cntmeas = 2050; 8057058: 4b2d ldr r3, [pc, #180] ; (8057110 ) 805705a: f640 0202 movw r2, #2050 ; 0x802 805705e: 801a strh r2, [r3, #0] TimeRec = 2050; 8057060: 4b3a ldr r3, [pc, #232] ; (805714c ) 8057062: f640 0202 movw r2, #2050 ; 0x802 8057066: 601a str r2, [r3, #0] Recording = true; 8057068: 4b32 ldr r3, [pc, #200] ; (8057134 ) 805706a: 2201 movs r2, #1 805706c: 701a strb r2, [r3, #0] } 805706e: e12f b.n 80572d0 StateThr = 0xffffffff; 8057070: 4b32 ldr r3, [pc, #200] ; (805713c ) 8057072: f04f 32ff mov.w r2, #4294967295 8057076: 601a str r2, [r3, #0] } 8057078: e12a b.n 80572d0 cntmeas++; 805707a: 4b25 ldr r3, [pc, #148] ; (8057110 ) 805707c: 881b ldrh r3, [r3, #0] 805707e: b29b uxth r3, r3 8057080: 3301 adds r3, #1 8057082: b29a uxth r2, r3 8057084: 4b22 ldr r3, [pc, #136] ; (8057110 ) 8057086: 801a strh r2, [r3, #0] if(cntmeas >= Ns) 8057088: 4b21 ldr r3, [pc, #132] ; (8057110 ) 805708a: 881b ldrh r3, [r3, #0] 805708c: b29b uxth r3, r3 805708e: 461a mov r2, r3 8057090: 4b20 ldr r3, [pc, #128] ; (8057114 ) 8057092: 681b ldr r3, [r3, #0] 8057094: 429a cmp r2, r3 8057096: f0c0 811b bcc.w 80572d0 if(cntmeas == Ns) 805709a: 4b1d ldr r3, [pc, #116] ; (8057110 ) 805709c: 881b ldrh r3, [r3, #0] 805709e: b29b uxth r3, r3 80570a0: 461a mov r2, r3 80570a2: 4b1c ldr r3, [pc, #112] ; (8057114 ) 80570a4: 681b ldr r3, [r3, #0] 80570a6: 429a cmp r2, r3 80570a8: d10e bne.n 80570c8 lastcntmeas = cntADC; 80570aa: 4b1c ldr r3, [pc, #112] ; (805711c ) 80570ac: 881b ldrh r3, [r3, #0] 80570ae: b29a uxth r2, r3 80570b0: 4b1b ldr r3, [pc, #108] ; (8057120 ) 80570b2: 801a strh r2, [r3, #0] measlen = Ns; 80570b4: 4b17 ldr r3, [pc, #92] ; (8057114 ) 80570b6: 681b ldr r3, [r3, #0] 80570b8: b29a uxth r2, r3 80570ba: 4b25 ldr r3, [pc, #148] ; (8057150 ) 80570bc: 801a strh r2, [r3, #0] cntmeas1 = cntmeas; 80570be: 4b14 ldr r3, [pc, #80] ; (8057110 ) 80570c0: 881b ldrh r3, [r3, #0] 80570c2: b29a uxth r2, r3 80570c4: 4b19 ldr r3, [pc, #100] ; (805712c ) 80570c6: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 80570c8: 4b13 ldr r3, [pc, #76] ; (8057118 ) 80570ca: 781b ldrb r3, [r3, #0] 80570cc: b2db uxtb r3, r3 80570ce: 2b00 cmp r3, #0 80570d0: f040 80fe bne.w 80572d0 if(cntmeas > cntmeas1) 80570d4: 4b0e ldr r3, [pc, #56] ; (8057110 ) 80570d6: 881b ldrh r3, [r3, #0] 80570d8: b29a uxth r2, r3 80570da: 4b14 ldr r3, [pc, #80] ; (805712c ) 80570dc: 881b ldrh r3, [r3, #0] 80570de: b29b uxth r3, r3 80570e0: 429a cmp r2, r3 80570e2: d90a bls.n 80570fa cntmeas -= cntmeas1; 80570e4: 4b11 ldr r3, [pc, #68] ; (805712c ) 80570e6: 881b ldrh r3, [r3, #0] 80570e8: b29b uxth r3, r3 80570ea: 4a09 ldr r2, [pc, #36] ; (8057110 ) 80570ec: 8812 ldrh r2, [r2, #0] 80570ee: b292 uxth r2, r2 80570f0: 1ad3 subs r3, r2, r3 80570f2: b29a uxth r2, r3 80570f4: 4b06 ldr r3, [pc, #24] ; (8057110 ) 80570f6: 801a strh r2, [r3, #0] 80570f8: e002 b.n 8057100 else cntmeas = 0; 80570fa: 4b05 ldr r3, [pc, #20] ; (8057110 ) 80570fc: 2200 movs r2, #0 80570fe: 801a strh r2, [r3, #0] cntmeas1 = 0; 8057100: 4b0a ldr r3, [pc, #40] ; (805712c ) 8057102: 2200 movs r2, #0 8057104: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 8057106: 4b04 ldr r3, [pc, #16] ; (8057118 ) 8057108: 2207 movs r2, #7 805710a: 701a strb r2, [r3, #0] } 805710c: e0e0 b.n 80572d0 805710e: bf00 nop 8057110: 20020da0 .word 0x20020da0 8057114: 20021d2c .word 0x20021d2c 8057118: 20020d9f .word 0x20020d9f 805711c: 20020d9c .word 0x20020d9c 8057120: 20020da4 .word 0x20020da4 8057124: 20020dd1 .word 0x20020dd1 8057128: 20020dce .word 0x20020dce 805712c: 20020da2 .word 0x20020da2 8057130: 20020dcc .word 0x20020dcc 8057134: 20020dd0 .word 0x20020dd0 8057138: 20023eb8 .word 0x20023eb8 805713c: 2002002c .word 0x2002002c 8057140: 20020ddc .word 0x20020ddc 8057144: 20020de4 .word 0x20020de4 8057148: 20020de0 .word 0x20020de0 805714c: 200216d4 .word 0x200216d4 8057150: 20020dac .word 0x20020dac cntmeas++; 8057154: 4b60 ldr r3, [pc, #384] ; (80572d8 ) 8057156: 881b ldrh r3, [r3, #0] 8057158: b29b uxth r3, r3 805715a: 3301 adds r3, #1 805715c: b29a uxth r2, r3 805715e: 4b5e ldr r3, [pc, #376] ; (80572d8 ) 8057160: 801a strh r2, [r3, #0] if(cntmeas >= Ns) 8057162: 4b5d ldr r3, [pc, #372] ; (80572d8 ) 8057164: 881b ldrh r3, [r3, #0] 8057166: b29b uxth r3, r3 8057168: 461a mov r2, r3 805716a: 4b5c ldr r3, [pc, #368] ; (80572dc ) 805716c: 681b ldr r3, [r3, #0] 805716e: 429a cmp r2, r3 8057170: f0c0 80ae bcc.w 80572d0 if(cntmeas == Ns) 8057174: 4b58 ldr r3, [pc, #352] ; (80572d8 ) 8057176: 881b ldrh r3, [r3, #0] 8057178: b29b uxth r3, r3 805717a: 461a mov r2, r3 805717c: 4b57 ldr r3, [pc, #348] ; (80572dc ) 805717e: 681b ldr r3, [r3, #0] 8057180: 429a cmp r2, r3 8057182: d10e bne.n 80571a2 lastcntmeas = cntADC; 8057184: 4b56 ldr r3, [pc, #344] ; (80572e0 ) 8057186: 881b ldrh r3, [r3, #0] 8057188: b29a uxth r2, r3 805718a: 4b56 ldr r3, [pc, #344] ; (80572e4 ) 805718c: 801a strh r2, [r3, #0] measlen = Ns; 805718e: 4b53 ldr r3, [pc, #332] ; (80572dc ) 8057190: 681b ldr r3, [r3, #0] 8057192: b29a uxth r2, r3 8057194: 4b54 ldr r3, [pc, #336] ; (80572e8 ) 8057196: 801a strh r2, [r3, #0] cntmeas1 = cntmeas; 8057198: 4b4f ldr r3, [pc, #316] ; (80572d8 ) 805719a: 881b ldrh r3, [r3, #0] 805719c: b29a uxth r2, r3 805719e: 4b53 ldr r3, [pc, #332] ; (80572ec ) 80571a0: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 80571a2: 4b53 ldr r3, [pc, #332] ; (80572f0 ) 80571a4: 781b ldrb r3, [r3, #0] 80571a6: b2db uxtb r3, r3 80571a8: 2b00 cmp r3, #0 80571aa: f040 8091 bne.w 80572d0 if(cntmeas > cntmeas1) 80571ae: 4b4a ldr r3, [pc, #296] ; (80572d8 ) 80571b0: 881b ldrh r3, [r3, #0] 80571b2: b29a uxth r2, r3 80571b4: 4b4d ldr r3, [pc, #308] ; (80572ec ) 80571b6: 881b ldrh r3, [r3, #0] 80571b8: b29b uxth r3, r3 80571ba: 429a cmp r2, r3 80571bc: d90a bls.n 80571d4 cntmeas -= cntmeas1; 80571be: 4b4b ldr r3, [pc, #300] ; (80572ec ) 80571c0: 881b ldrh r3, [r3, #0] 80571c2: b29b uxth r3, r3 80571c4: 4a44 ldr r2, [pc, #272] ; (80572d8 ) 80571c6: 8812 ldrh r2, [r2, #0] 80571c8: b292 uxth r2, r2 80571ca: 1ad3 subs r3, r2, r3 80571cc: b29a uxth r2, r3 80571ce: 4b42 ldr r3, [pc, #264] ; (80572d8 ) 80571d0: 801a strh r2, [r3, #0] 80571d2: e002 b.n 80571da else cntmeas = 0; 80571d4: 4b40 ldr r3, [pc, #256] ; (80572d8 ) 80571d6: 2200 movs r2, #0 80571d8: 801a strh r2, [r3, #0] cntmeas1 = 0; 80571da: 4b44 ldr r3, [pc, #272] ; (80572ec ) 80571dc: 2200 movs r2, #0 80571de: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 80571e0: 4b43 ldr r3, [pc, #268] ; (80572f0 ) 80571e2: 2207 movs r2, #7 80571e4: 701a strb r2, [r3, #0] } 80571e6: e073 b.n 80572d0 if(FirstTime) 80571e8: 4b42 ldr r3, [pc, #264] ; (80572f4 ) 80571ea: 781b ldrb r3, [r3, #0] 80571ec: b2db uxtb r3, r3 80571ee: 2b00 cmp r3, #0 80571f0: d01f beq.n 8057232 if(cntADC >= Ns) 80571f2: 4b3b ldr r3, [pc, #236] ; (80572e0 ) 80571f4: 881b ldrh r3, [r3, #0] 80571f6: b29b uxth r3, r3 80571f8: 461a mov r2, r3 80571fa: 4b38 ldr r3, [pc, #224] ; (80572dc ) 80571fc: 681b ldr r3, [r3, #0] 80571fe: 429a cmp r2, r3 8057200: d366 bcc.n 80572d0 measlen = cntADC; 8057202: 4b37 ldr r3, [pc, #220] ; (80572e0 ) 8057204: 881b ldrh r3, [r3, #0] 8057206: b29a uxth r2, r3 8057208: 4b37 ldr r3, [pc, #220] ; (80572e8 ) 805720a: 801a strh r2, [r3, #0] lastcntmeas = cntADC; 805720c: 4b34 ldr r3, [pc, #208] ; (80572e0 ) 805720e: 881b ldrh r3, [r3, #0] 8057210: b29a uxth r2, r3 8057212: 4b34 ldr r3, [pc, #208] ; (80572e4 ) 8057214: 801a strh r2, [r3, #0] FirstTime = false; 8057216: 4b37 ldr r3, [pc, #220] ; (80572f4 ) 8057218: 2200 movs r2, #0 805721a: 701a strb r2, [r3, #0] cntmeas = cntmeas1 = 0; 805721c: 2100 movs r1, #0 805721e: 4b33 ldr r3, [pc, #204] ; (80572ec ) 8057220: 460a mov r2, r1 8057222: 801a strh r2, [r3, #0] 8057224: 4b2c ldr r3, [pc, #176] ; (80572d8 ) 8057226: 460a mov r2, r1 8057228: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 805722a: 4b31 ldr r3, [pc, #196] ; (80572f0 ) 805722c: 2207 movs r2, #7 805722e: 701a strb r2, [r3, #0] } 8057230: e04e b.n 80572d0 cntmeas++; 8057232: 4b29 ldr r3, [pc, #164] ; (80572d8 ) 8057234: 881b ldrh r3, [r3, #0] 8057236: b29b uxth r3, r3 8057238: 3301 adds r3, #1 805723a: b29a uxth r2, r3 805723c: 4b26 ldr r3, [pc, #152] ; (80572d8 ) 805723e: 801a strh r2, [r3, #0] if(cntmeas >= Ns) 8057240: 4b25 ldr r3, [pc, #148] ; (80572d8 ) 8057242: 881b ldrh r3, [r3, #0] 8057244: b29b uxth r3, r3 8057246: 461a mov r2, r3 8057248: 4b24 ldr r3, [pc, #144] ; (80572dc ) 805724a: 681b ldr r3, [r3, #0] 805724c: 429a cmp r2, r3 805724e: d33f bcc.n 80572d0 if(cntmeas == Ns) 8057250: 4b21 ldr r3, [pc, #132] ; (80572d8 ) 8057252: 881b ldrh r3, [r3, #0] 8057254: b29b uxth r3, r3 8057256: 461a mov r2, r3 8057258: 4b20 ldr r3, [pc, #128] ; (80572dc ) 805725a: 681b ldr r3, [r3, #0] 805725c: 429a cmp r2, r3 805725e: d10e bne.n 805727e lastcntmeas = cntADC; 8057260: 4b1f ldr r3, [pc, #124] ; (80572e0 ) 8057262: 881b ldrh r3, [r3, #0] 8057264: b29a uxth r2, r3 8057266: 4b1f ldr r3, [pc, #124] ; (80572e4 ) 8057268: 801a strh r2, [r3, #0] measlen = Ns; 805726a: 4b1c ldr r3, [pc, #112] ; (80572dc ) 805726c: 681b ldr r3, [r3, #0] 805726e: b29a uxth r2, r3 8057270: 4b1d ldr r3, [pc, #116] ; (80572e8 ) 8057272: 801a strh r2, [r3, #0] cntmeas1 = cntmeas; 8057274: 4b18 ldr r3, [pc, #96] ; (80572d8 ) 8057276: 881b ldrh r3, [r3, #0] 8057278: b29a uxth r2, r3 805727a: 4b1c ldr r3, [pc, #112] ; (80572ec ) 805727c: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 805727e: 4b1c ldr r3, [pc, #112] ; (80572f0 ) 8057280: 781b ldrb r3, [r3, #0] 8057282: b2db uxtb r3, r3 8057284: 2b00 cmp r3, #0 8057286: d123 bne.n 80572d0 if(cntmeas > cntmeas1) 8057288: 4b13 ldr r3, [pc, #76] ; (80572d8 ) 805728a: 881b ldrh r3, [r3, #0] 805728c: b29a uxth r2, r3 805728e: 4b17 ldr r3, [pc, #92] ; (80572ec ) 8057290: 881b ldrh r3, [r3, #0] 8057292: b29b uxth r3, r3 8057294: 429a cmp r2, r3 8057296: d90a bls.n 80572ae cntmeas -= cntmeas1; 8057298: 4b14 ldr r3, [pc, #80] ; (80572ec ) 805729a: 881b ldrh r3, [r3, #0] 805729c: b29b uxth r3, r3 805729e: 4a0e ldr r2, [pc, #56] ; (80572d8 ) 80572a0: 8812 ldrh r2, [r2, #0] 80572a2: b292 uxth r2, r2 80572a4: 1ad3 subs r3, r2, r3 80572a6: b29a uxth r2, r3 80572a8: 4b0b ldr r3, [pc, #44] ; (80572d8 ) 80572aa: 801a strh r2, [r3, #0] 80572ac: e002 b.n 80572b4 else cntmeas = 0; 80572ae: 4b0a ldr r3, [pc, #40] ; (80572d8 ) 80572b0: 2200 movs r2, #0 80572b2: 801a strh r2, [r3, #0] cntmeas1 = 0; 80572b4: 4b0d ldr r3, [pc, #52] ; (80572ec ) 80572b6: 2200 movs r2, #0 80572b8: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 80572ba: 4b0d ldr r3, [pc, #52] ; (80572f0 ) 80572bc: 2207 movs r2, #7 80572be: 701a strb r2, [r3, #0] } 80572c0: e006 b.n 80572d0 break; 80572c2: bf00 nop 80572c4: e004 b.n 80572d0 break; 80572c6: bf00 nop 80572c8: e002 b.n 80572d0 break; 80572ca: bf00 nop 80572cc: e000 b.n 80572d0 break; 80572ce: bf00 nop } 80572d0: bf00 nop 80572d2: 3708 adds r7, #8 80572d4: 46bd mov sp, r7 80572d6: bd80 pop {r7, pc} 80572d8: 20020da0 .word 0x20020da0 80572dc: 20021d2c .word 0x20021d2c 80572e0: 20020d9c .word 0x20020d9c 80572e4: 20020da4 .word 0x20020da4 80572e8: 20020dac .word 0x20020dac 80572ec: 20020da2 .word 0x20020da2 80572f0: 20020d9f .word 0x20020d9f 80572f4: 20020dce .word 0x20020dce 080572f8 : __IO uint32_t tick1 = 0; __IO uint32_t tick2 = 0; __IO uint32_t MW = 0; void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) //todo { 80572f8: b580 push {r7, lr} 80572fa: b082 sub sp, #8 80572fc: af00 add r7, sp, #0 80572fe: 6078 str r0, [r7, #4] static uint8_t oldState = 0xf; int32_t V32, i; uint32_t adc; if(hadc->Instance == ADC3) 8057300: 687b ldr r3, [r7, #4] 8057302: 681b ldr r3, [r3, #0] 8057304: 4a48 ldr r2, [pc, #288] ; (8057428 ) 8057306: 4293 cmp r3, r2 8057308: d141 bne.n 805738e { //TACHO memcpy((void *) &AdcBuff_16(cntADC), (void *) &DMA_Udar_u16(0), 32768u); 805730a: 4b48 ldr r3, [pc, #288] ; (805742c ) 805730c: 881b ldrh r3, [r3, #0] 805730e: b29b uxth r3, r3 8057310: 005b lsls r3, r3, #1 8057312: 461a mov r2, r3 8057314: 4b46 ldr r3, [pc, #280] ; (8057430 ) 8057316: 4413 add r3, r2 8057318: f44f 4200 mov.w r2, #32768 ; 0x8000 805731c: 4945 ldr r1, [pc, #276] ; (8057434 ) 805731e: 4618 mov r0, r3 8057320: f07a fe35 bl 80d1f8e if(measuring) 8057324: 4b44 ldr r3, [pc, #272] ; (8057438 ) 8057326: 781b ldrb r3, [r3, #0] 8057328: b2db uxtb r3, r3 805732a: 2b00 cmp r3, #0 805732c: d077 beq.n 805741e { cntADC += HALF_UDAR_BUFF; 805732e: 4b3f ldr r3, [pc, #252] ; (805742c ) 8057330: 881b ldrh r3, [r3, #0] 8057332: b29b uxth r3, r3 8057334: f503 4380 add.w r3, r3, #16384 ; 0x4000 8057338: b29a uxth r2, r3 805733a: 4b3c ldr r3, [pc, #240] ; (805742c ) 805733c: 801a strh r2, [r3, #0] if(cntADC == HALF_UDAR_BUFF) 805733e: 4b3b ldr r3, [pc, #236] ; (805742c ) 8057340: 881b ldrh r3, [r3, #0] 8057342: b29b uxth r3, r3 8057344: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8057348: d108 bne.n 805735c { READY = 1; 805734a: 4b3c ldr r3, [pc, #240] ; (805743c ) 805734c: 2201 movs r2, #1 805734e: 701a strb r2, [r3, #0] tick1 = HAL_GetTick(); 8057350: f060 fb68 bl 80b7a24 8057354: 4602 mov r2, r0 8057356: 4b3a ldr r3, [pc, #232] ; (8057440 ) 8057358: 601a str r2, [r3, #0] } } } } /*}*/ } 805735a: e060 b.n 805741e if(cntADC == SIZE_UDAR_BUFF) 805735c: 4b33 ldr r3, [pc, #204] ; (805742c ) 805735e: 881b ldrh r3, [r3, #0] 8057360: b29b uxth r3, r3 8057362: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 8057366: d15a bne.n 805741e READY = 2; 8057368: 4b34 ldr r3, [pc, #208] ; (805743c ) 805736a: 2202 movs r2, #2 805736c: 701a strb r2, [r3, #0] cntADC = 0; 805736e: 4b2f ldr r3, [pc, #188] ; (805742c ) 8057370: 2200 movs r2, #0 8057372: 801a strh r2, [r3, #0] tick2 = HAL_GetTick(); 8057374: f060 fb56 bl 80b7a24 8057378: 4602 mov r2, r0 805737a: 4b32 ldr r3, [pc, #200] ; (8057444 ) 805737c: 601a str r2, [r3, #0] MW = tick2 - tick1; 805737e: 4b31 ldr r3, [pc, #196] ; (8057444 ) 8057380: 681a ldr r2, [r3, #0] 8057382: 4b2f ldr r3, [pc, #188] ; (8057440 ) 8057384: 681b ldr r3, [r3, #0] 8057386: 1ad3 subs r3, r2, r3 8057388: 4a2f ldr r2, [pc, #188] ; (8057448 ) 805738a: 6013 str r3, [r2, #0] } 805738c: e047 b.n 805741e memcpy((void *) &AdcBuff_16(cntADC), (void *) &DMA_Udar_u16(0), 32768u); 805738e: 4b27 ldr r3, [pc, #156] ; (805742c ) 8057390: 881b ldrh r3, [r3, #0] 8057392: b29b uxth r3, r3 8057394: 005b lsls r3, r3, #1 8057396: 461a mov r2, r3 8057398: 4b25 ldr r3, [pc, #148] ; (8057430 ) 805739a: 4413 add r3, r2 805739c: f44f 4200 mov.w r2, #32768 ; 0x8000 80573a0: 4924 ldr r1, [pc, #144] ; (8057434 ) 80573a2: 4618 mov r0, r3 80573a4: f07a fdf3 bl 80d1f8e if(measuring) 80573a8: 4b23 ldr r3, [pc, #140] ; (8057438 ) 80573aa: 781b ldrb r3, [r3, #0] 80573ac: b2db uxtb r3, r3 80573ae: 2b00 cmp r3, #0 80573b0: d035 beq.n 805741e cntADC += HALF_UDAR_BUFF; 80573b2: 4b1e ldr r3, [pc, #120] ; (805742c ) 80573b4: 881b ldrh r3, [r3, #0] 80573b6: b29b uxth r3, r3 80573b8: f503 4380 add.w r3, r3, #16384 ; 0x4000 80573bc: b29a uxth r2, r3 80573be: 4b1b ldr r3, [pc, #108] ; (805742c ) 80573c0: 801a strh r2, [r3, #0] if(cntADC == HALF_UDAR_BUFF) 80573c2: 4b1a ldr r3, [pc, #104] ; (805742c ) 80573c4: 881b ldrh r3, [r3, #0] 80573c6: b29b uxth r3, r3 80573c8: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 80573cc: d108 bne.n 80573e0 READY = 1; 80573ce: 4b1b ldr r3, [pc, #108] ; (805743c ) 80573d0: 2201 movs r2, #1 80573d2: 701a strb r2, [r3, #0] tick1 = HAL_GetTick(); 80573d4: f060 fb26 bl 80b7a24 80573d8: 4602 mov r2, r0 80573da: 4b19 ldr r3, [pc, #100] ; (8057440 ) 80573dc: 601a str r2, [r3, #0] } 80573de: e01e b.n 805741e if(cntADC == SIZE_UDAR_BUFF) 80573e0: 4b12 ldr r3, [pc, #72] ; (805742c ) 80573e2: 881b ldrh r3, [r3, #0] 80573e4: b29b uxth r3, r3 80573e6: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 80573ea: d118 bne.n 805741e READY = 2; 80573ec: 4b13 ldr r3, [pc, #76] ; (805743c ) 80573ee: 2202 movs r2, #2 80573f0: 701a strb r2, [r3, #0] cntADC = 0; 80573f2: 4b0e ldr r3, [pc, #56] ; (805742c ) 80573f4: 2200 movs r2, #0 80573f6: 801a strh r2, [r3, #0] tick2 = HAL_GetTick(); 80573f8: f060 fb14 bl 80b7a24 80573fc: 4602 mov r2, r0 80573fe: 4b11 ldr r3, [pc, #68] ; (8057444 ) 8057400: 601a str r2, [r3, #0] MW = tick2 - tick1; 8057402: 4b10 ldr r3, [pc, #64] ; (8057444 ) 8057404: 681a ldr r2, [r3, #0] 8057406: 4b0e ldr r3, [pc, #56] ; (8057440 ) 8057408: 681b ldr r3, [r3, #0] 805740a: 1ad3 subs r3, r2, r3 805740c: 4a0e ldr r2, [pc, #56] ; (8057448 ) 805740e: 6013 str r3, [r2, #0] if(MW < 80) 8057410: 4b0d ldr r3, [pc, #52] ; (8057448 ) 8057412: 681b ldr r3, [r3, #0] 8057414: 2b4f cmp r3, #79 ; 0x4f 8057416: d802 bhi.n 805741e cntADC = 0; 8057418: 4b04 ldr r3, [pc, #16] ; (805742c ) 805741a: 2200 movs r2, #0 805741c: 801a strh r2, [r3, #0] } 805741e: bf00 nop 8057420: 3708 adds r7, #8 8057422: 46bd mov sp, r7 8057424: bd80 pop {r7, pc} 8057426: bf00 nop 8057428: 40012200 .word 0x40012200 805742c: 20020d9c .word 0x20020d9c 8057430: 64060000 .word 0x64060000 8057434: 64090000 .word 0x64090000 8057438: 20020dcf .word 0x20020dcf 805743c: 20020d9f .word 0x20020d9f 8057440: 20021050 .word 0x20021050 8057444: 20021054 .word 0x20021054 8057448: 20021058 .word 0x20021058 0805744c : * in is negative value and returns zero output for negative values. */ static __INLINE arm_status arm_sqrt_f32( float32_t in, float32_t * pOut) { 805744c: b580 push {r7, lr} 805744e: b082 sub sp, #8 8057450: af00 add r7, sp, #0 8057452: ed87 0a01 vstr s0, [r7, #4] 8057456: 6038 str r0, [r7, #0] if(in >= 0.0f) 8057458: edd7 7a01 vldr s15, [r7, #4] 805745c: eef5 7ac0 vcmpe.f32 s15, #0.0 8057460: eef1 fa10 vmrs APSR_nzcv, fpscr 8057464: db0a blt.n 805747c #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); 8057466: ed97 0a01 vldr s0, [r7, #4] 805746a: f078 fe99 bl 80d01a0 805746e: eef0 7a40 vmov.f32 s15, s0 8057472: 683b ldr r3, [r7, #0] 8057474: edc3 7a00 vstr s15, [r3] __ASM("VSQRT.F32 %0,%1" : "=t"(*pOut) : "t"(in)); #else *pOut = sqrtf(in); #endif return (ARM_MATH_SUCCESS); 8057478: 2300 movs r3, #0 805747a: e005 b.n 8057488 } else { *pOut = 0.0f; 805747c: 683b ldr r3, [r7, #0] 805747e: f04f 0200 mov.w r2, #0 8057482: 601a str r2, [r3, #0] return (ARM_MATH_ARGUMENT_ERROR); 8057484: f04f 33ff mov.w r3, #4294967295 } } 8057488: 4618 mov r0, r3 805748a: 3708 adds r7, #8 805748c: 46bd mov sp, r7 805748e: bd80 pop {r7, pc} 08057490 : __IO float32_t dBm_MAX = 0; int8_t CalculateGain(uint32_t SygPoints) { 8057490: b480 push {r7} 8057492: b08b sub sp, #44 ; 0x2c 8057494: af00 add r7, sp, #0 8057496: 6078 str r0, [r7, #4] __IO uint8_t dB_s = 0; 8057498: 2300 movs r3, #0 805749a: 74fb strb r3, [r7, #19] __IO uint32_t i; __IO uint32_t Ym; float32_t Yf, fmax; uint32_t mean = (uint32_t) MEAN; 805749c: 4b86 ldr r3, [pc, #536] ; (80576b8 ) 805749e: edd3 7a00 vldr s15, [r3] 80574a2: eefc 7ae7 vcvt.u32.f32 s15, s15 80574a6: ee17 3a90 vmov r3, s15 80574aa: 627b str r3, [r7, #36] ; 0x24 uint32_t UMAX = mean + 0x3FD380; // MeanPoint + 1,25V 80574ac: 6a7a ldr r2, [r7, #36] ; 0x24 80574ae: 4b83 ldr r3, [pc, #524] ; (80576bc ) 80574b0: 4413 add r3, r2 80574b2: 623b str r3, [r7, #32] uint32_t UMIN = mean + 0x154680; // MeanPoint + 1,25V 80574b4: 6a7a ldr r2, [r7, #36] ; 0x24 80574b6: 4b82 ldr r3, [pc, #520] ; (80576c0 ) 80574b8: 4413 add r3, r2 80574ba: 61fb str r3, [r7, #28] if(pardata.SYG == UDAR) //TODO 80574bc: 4b81 ldr r3, [pc, #516] ; (80576c4 ) 80574be: 781b ldrb r3, [r3, #0] 80574c0: b2db uxtb r3, r3 80574c2: 2b09 cmp r3, #9 80574c4: f040 81b8 bne.w 8057838 { for(i = 0; i < SygPoints >> 1; i++) 80574c8: 2300 movs r3, #0 80574ca: 60fb str r3, [r7, #12] 80574cc: e061 b.n 8057592 { if(Vup < In16[i].sh[0]) Vup = In16[i].sh[0]; 80574ce: 68fb ldr r3, [r7, #12] 80574d0: 4a7d ldr r2, [pc, #500] ; (80576c8 ) 80574d2: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 80574d6: 461a mov r2, r3 80574d8: 4b7c ldr r3, [pc, #496] ; (80576cc ) 80574da: 681b ldr r3, [r3, #0] 80574dc: 429a cmp r2, r3 80574de: d906 bls.n 80574ee 80574e0: 68fb ldr r3, [r7, #12] 80574e2: 4a79 ldr r2, [pc, #484] ; (80576c8 ) 80574e4: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 80574e8: 461a mov r2, r3 80574ea: 4b78 ldr r3, [pc, #480] ; (80576cc ) 80574ec: 601a str r2, [r3, #0] if(Vdn > In16[i].sh[0]) Vdn = In16[i].sh[0]; 80574ee: 68fb ldr r3, [r7, #12] 80574f0: 4a75 ldr r2, [pc, #468] ; (80576c8 ) 80574f2: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 80574f6: 461a mov r2, r3 80574f8: 4b75 ldr r3, [pc, #468] ; (80576d0 ) 80574fa: 681b ldr r3, [r3, #0] 80574fc: 429a cmp r2, r3 80574fe: d206 bcs.n 805750e 8057500: 68fb ldr r3, [r7, #12] 8057502: 4a71 ldr r2, [pc, #452] ; (80576c8 ) 8057504: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 8057508: 461a mov r2, r3 805750a: 4b71 ldr r3, [pc, #452] ; (80576d0 ) 805750c: 601a str r2, [r3, #0] if(In16[i].sh[0] > 3900) NUMPOINTS++; 805750e: 68fb ldr r3, [r7, #12] 8057510: 4a6d ldr r2, [pc, #436] ; (80576c8 ) 8057512: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 8057516: f640 723c movw r2, #3900 ; 0xf3c 805751a: 4293 cmp r3, r2 805751c: d904 bls.n 8057528 805751e: 4b6d ldr r3, [pc, #436] ; (80576d4 ) 8057520: 681b ldr r3, [r3, #0] 8057522: 3301 adds r3, #1 8057524: 4a6b ldr r2, [pc, #428] ; (80576d4 ) 8057526: 6013 str r3, [r2, #0] if(Vup < In16[i].sh[1]) Vup = In16[i].sh[1]; 8057528: 68fb ldr r3, [r7, #12] 805752a: 4a67 ldr r2, [pc, #412] ; (80576c8 ) 805752c: 009b lsls r3, r3, #2 805752e: 4413 add r3, r2 8057530: 885b ldrh r3, [r3, #2] 8057532: 461a mov r2, r3 8057534: 4b65 ldr r3, [pc, #404] ; (80576cc ) 8057536: 681b ldr r3, [r3, #0] 8057538: 429a cmp r2, r3 805753a: d907 bls.n 805754c 805753c: 68fb ldr r3, [r7, #12] 805753e: 4a62 ldr r2, [pc, #392] ; (80576c8 ) 8057540: 009b lsls r3, r3, #2 8057542: 4413 add r3, r2 8057544: 885b ldrh r3, [r3, #2] 8057546: 461a mov r2, r3 8057548: 4b60 ldr r3, [pc, #384] ; (80576cc ) 805754a: 601a str r2, [r3, #0] if(Vdn > In16[i].sh[1]) Vdn = In16[i].sh[1]; 805754c: 68fb ldr r3, [r7, #12] 805754e: 4a5e ldr r2, [pc, #376] ; (80576c8 ) 8057550: 009b lsls r3, r3, #2 8057552: 4413 add r3, r2 8057554: 885b ldrh r3, [r3, #2] 8057556: 461a mov r2, r3 8057558: 4b5d ldr r3, [pc, #372] ; (80576d0 ) 805755a: 681b ldr r3, [r3, #0] 805755c: 429a cmp r2, r3 805755e: d207 bcs.n 8057570 8057560: 68fb ldr r3, [r7, #12] 8057562: 4a59 ldr r2, [pc, #356] ; (80576c8 ) 8057564: 009b lsls r3, r3, #2 8057566: 4413 add r3, r2 8057568: 885b ldrh r3, [r3, #2] 805756a: 461a mov r2, r3 805756c: 4b58 ldr r3, [pc, #352] ; (80576d0 ) 805756e: 601a str r2, [r3, #0] if(In16[i].sh[1] > 3900) NUMPOINTS++; 8057570: 68fb ldr r3, [r7, #12] 8057572: 4a55 ldr r2, [pc, #340] ; (80576c8 ) 8057574: 009b lsls r3, r3, #2 8057576: 4413 add r3, r2 8057578: 885b ldrh r3, [r3, #2] 805757a: f640 723c movw r2, #3900 ; 0xf3c 805757e: 4293 cmp r3, r2 8057580: d904 bls.n 805758c 8057582: 4b54 ldr r3, [pc, #336] ; (80576d4 ) 8057584: 681b ldr r3, [r3, #0] 8057586: 3301 adds r3, #1 8057588: 4a52 ldr r2, [pc, #328] ; (80576d4 ) 805758a: 6013 str r3, [r2, #0] for(i = 0; i < SygPoints >> 1; i++) 805758c: 68fb ldr r3, [r7, #12] 805758e: 3301 adds r3, #1 8057590: 60fb str r3, [r7, #12] 8057592: 687b ldr r3, [r7, #4] 8057594: 085a lsrs r2, r3, #1 8057596: 68fb ldr r3, [r7, #12] 8057598: 429a cmp r2, r3 805759a: d898 bhi.n 80574ce } NR++; 805759c: 4b4e ldr r3, [pc, #312] ; (80576d8 ) 805759e: 681b ldr r3, [r3, #0] 80575a0: 3301 adds r3, #1 80575a2: 4a4d ldr r2, [pc, #308] ; (80576d8 ) 80575a4: 6013 str r3, [r2, #0] if(NR >= Nr) 80575a6: 4b4d ldr r3, [pc, #308] ; (80576dc ) 80575a8: 881b ldrh r3, [r3, #0] 80575aa: b29b uxth r3, r3 80575ac: 461a mov r2, r3 80575ae: 4b4a ldr r3, [pc, #296] ; (80576d8 ) 80575b0: 681b ldr r3, [r3, #0] 80575b2: 429a cmp r2, r3 80575b4: f200 82c8 bhi.w 8057b48 { NR = 0; 80575b8: 4b47 ldr r3, [pc, #284] ; (80576d8 ) 80575ba: 2200 movs r2, #0 80575bc: 601a str r2, [r3, #0] Ym = Vup; 80575be: 4b43 ldr r3, [pc, #268] ; (80576cc ) 80575c0: 681b ldr r3, [r3, #0] 80575c2: 60bb str r3, [r7, #8] if(Vup < 2200) 80575c4: 4b41 ldr r3, [pc, #260] ; (80576cc ) 80575c6: 681b ldr r3, [r3, #0] 80575c8: f640 0297 movw r2, #2199 ; 0x897 80575cc: 4293 cmp r3, r2 80575ce: d807 bhi.n 80575e0 Vup = 2200 - Vup; 80575d0: 4b3e ldr r3, [pc, #248] ; (80576cc ) 80575d2: 681a ldr r2, [r3, #0] 80575d4: f640 0398 movw r3, #2200 ; 0x898 80575d8: 1a9b subs r3, r3, r2 80575da: 4a3c ldr r2, [pc, #240] ; (80576cc ) 80575dc: 6013 str r3, [r2, #0] 80575de: e005 b.n 80575ec else Vup = Vup - 2200; 80575e0: 4b3a ldr r3, [pc, #232] ; (80576cc ) 80575e2: 681b ldr r3, [r3, #0] 80575e4: f6a3 0398 subw r3, r3, #2200 ; 0x898 80575e8: 4a38 ldr r2, [pc, #224] ; (80576cc ) 80575ea: 6013 str r3, [r2, #0] if(Vdn > 2200) 80575ec: 4b38 ldr r3, [pc, #224] ; (80576d0 ) 80575ee: 681b ldr r3, [r3, #0] 80575f0: f640 0298 movw r2, #2200 ; 0x898 80575f4: 4293 cmp r3, r2 80575f6: d906 bls.n 8057606 Vdn = Vdn - 2200; 80575f8: 4b35 ldr r3, [pc, #212] ; (80576d0 ) 80575fa: 681b ldr r3, [r3, #0] 80575fc: f6a3 0398 subw r3, r3, #2200 ; 0x898 8057600: 4a33 ldr r2, [pc, #204] ; (80576d0 ) 8057602: 6013 str r3, [r2, #0] 8057604: e006 b.n 8057614 else Vdn = 2200 - Vdn; 8057606: 4b32 ldr r3, [pc, #200] ; (80576d0 ) 8057608: 681a ldr r2, [r3, #0] 805760a: f640 0398 movw r3, #2200 ; 0x898 805760e: 1a9b subs r3, r3, r2 8057610: 4a2f ldr r2, [pc, #188] ; (80576d0 ) 8057612: 6013 str r3, [r2, #0] if(Vup > Vdn) 8057614: 4b2d ldr r3, [pc, #180] ; (80576cc ) 8057616: 681a ldr r2, [r3, #0] 8057618: 4b2d ldr r3, [pc, #180] ; (80576d0 ) 805761a: 681b ldr r3, [r3, #0] 805761c: 429a cmp r2, r3 805761e: d905 bls.n 805762c Ym = Vup + 2200; 8057620: 4b2a ldr r3, [pc, #168] ; (80576cc ) 8057622: 681b ldr r3, [r3, #0] 8057624: f603 0398 addw r3, r3, #2200 ; 0x898 8057628: 60bb str r3, [r7, #8] 805762a: e008 b.n 805763e else { Vup = Vdn; 805762c: 4b28 ldr r3, [pc, #160] ; (80576d0 ) 805762e: 681b ldr r3, [r3, #0] 8057630: 4a26 ldr r2, [pc, #152] ; (80576cc ) 8057632: 6013 str r3, [r2, #0] Ym = Vdn + 2200; 8057634: 4b26 ldr r3, [pc, #152] ; (80576d0 ) 8057636: 681b ldr r3, [r3, #0] 8057638: f603 0398 addw r3, r3, #2200 ; 0x898 805763c: 60bb str r3, [r7, #8] Vdn = 0xffffff; return 0; }*/ if(NUMPOINTS) 805763e: 4b25 ldr r3, [pc, #148] ; (80576d4 ) 8057640: 681b ldr r3, [r3, #0] 8057642: 2b00 cmp r3, #0 8057644: d054 beq.n 80576f0 { NeedKmUp = 0; 8057646: 4b26 ldr r3, [pc, #152] ; (80576e0 ) 8057648: 2200 movs r2, #0 805764a: 701a strb r2, [r3, #0] NeedKmDown++; 805764c: 4b25 ldr r3, [pc, #148] ; (80576e4 ) 805764e: 781b ldrb r3, [r3, #0] 8057650: b2db uxtb r3, r3 8057652: 3301 adds r3, #1 8057654: b2da uxtb r2, r3 8057656: 4b23 ldr r3, [pc, #140] ; (80576e4 ) 8057658: 701a strb r2, [r3, #0] if((NeedKmDown >= TimeKmDown) || (FirstGain == true)) 805765a: 4b22 ldr r3, [pc, #136] ; (80576e4 ) 805765c: 781b ldrb r3, [r3, #0] 805765e: b2db uxtb r3, r3 8057660: 461a mov r2, r3 8057662: 4b21 ldr r3, [pc, #132] ; (80576e8 ) 8057664: 681b ldr r3, [r3, #0] 8057666: 429a cmp r2, r3 8057668: d204 bcs.n 8057674 805766a: 4b20 ldr r3, [pc, #128] ; (80576ec ) 805766c: 781b ldrb r3, [r3, #0] 805766e: b2db uxtb r3, r3 8057670: 2b00 cmp r3, #0 8057672: d01d beq.n 80576b0 { FirstGain = false; 8057674: 4b1d ldr r3, [pc, #116] ; (80576ec ) 8057676: 2200 movs r2, #0 8057678: 701a strb r2, [r3, #0] if(NUMPOINTS >= VALUE_MAX) 805767a: 4b16 ldr r3, [pc, #88] ; (80576d4 ) 805767c: 681b ldr r3, [r3, #0] 805767e: 2bff cmp r3, #255 ; 0xff 8057680: d903 bls.n 805768a { pardata.IKU = Ku1; 8057682: 4b10 ldr r3, [pc, #64] ; (80576c4 ) 8057684: 2200 movs r2, #0 8057686: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 8057688: e0b5 b.n 80577f6 } else if(NUMPOINTS >= VALUE_MIN) 805768a: 4b12 ldr r3, [pc, #72] ; (80576d4 ) 805768c: 681b ldr r3, [r3, #0] 805768e: 2b01 cmp r3, #1 8057690: f240 80b1 bls.w 80577f6 { if(pardata.IKU > Ku1) 8057694: 4b0b ldr r3, [pc, #44] ; (80576c4 ) 8057696: 7a1b ldrb r3, [r3, #8] 8057698: b2db uxtb r3, r3 805769a: 2b00 cmp r3, #0 805769c: f000 80ab beq.w 80577f6 pardata.IKU --; 80576a0: 4b08 ldr r3, [pc, #32] ; (80576c4 ) 80576a2: 7a1b ldrb r3, [r3, #8] 80576a4: b2db uxtb r3, r3 80576a6: 3b01 subs r3, #1 80576a8: b2da uxtb r2, r3 80576aa: 4b06 ldr r3, [pc, #24] ; (80576c4 ) 80576ac: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 80576ae: e0a2 b.n 80577f6 } } else { NUMPOINTS = 0; 80576b0: 4b08 ldr r3, [pc, #32] ; (80576d4 ) 80576b2: 2200 movs r2, #0 80576b4: 601a str r2, [r3, #0] 80576b6: e0a1 b.n 80577fc 80576b8: 200209d8 .word 0x200209d8 80576bc: 003fd380 .word 0x003fd380 80576c0: 00154680 .word 0x00154680 80576c4: 20023eb8 .word 0x20023eb8 80576c8: 20058080 .word 0x20058080 80576cc: 20021668 .word 0x20021668 80576d0: 20020090 .word 0x20020090 80576d4: 20021654 .word 0x20021654 80576d8: 20021664 .word 0x20021664 80576dc: 20021d70 .word 0x20021d70 80576e0: 20020d71 .word 0x20020d71 80576e4: 20020d70 .word 0x20020d70 80576e8: 20020d74 .word 0x20020d74 80576ec: 20020d7c .word 0x20020d7c } } else { NeedKmDown = 0; 80576f0: 4b8b ldr r3, [pc, #556] ; (8057920 ) 80576f2: 2200 movs r2, #0 80576f4: 701a strb r2, [r3, #0] if(Ym <= 3450) 80576f6: 68bb ldr r3, [r7, #8] 80576f8: f640 527a movw r2, #3450 ; 0xd7a 80576fc: 4293 cmp r3, r2 80576fe: d87d bhi.n 80577fc { NeedKmUp++; 8057700: 4b88 ldr r3, [pc, #544] ; (8057924 ) 8057702: 781b ldrb r3, [r3, #0] 8057704: b2db uxtb r3, r3 8057706: 3301 adds r3, #1 8057708: b2da uxtb r2, r3 805770a: 4b86 ldr r3, [pc, #536] ; (8057924 ) 805770c: 701a strb r2, [r3, #0] if((NeedKmUp >= TimeKmUp) || (FirstGain == true)) 805770e: 4b85 ldr r3, [pc, #532] ; (8057924 ) 8057710: 781b ldrb r3, [r3, #0] 8057712: b2db uxtb r3, r3 8057714: 461a mov r2, r3 8057716: 4b84 ldr r3, [pc, #528] ; (8057928 ) 8057718: 681b ldr r3, [r3, #0] 805771a: 429a cmp r2, r3 805771c: d204 bcs.n 8057728 805771e: 4b83 ldr r3, [pc, #524] ; (805792c ) 8057720: 781b ldrb r3, [r3, #0] 8057722: b2db uxtb r3, r3 8057724: 2b00 cmp r3, #0 8057726: d069 beq.n 80577fc { FirstGain = false; 8057728: 4b80 ldr r3, [pc, #512] ; (805792c ) 805772a: 2200 movs r2, #0 805772c: 701a strb r2, [r3, #0] if(pardata.IKU < Ku8) 805772e: 4b80 ldr r3, [pc, #512] ; (8057930 ) 8057730: 7a1b ldrb r3, [r3, #8] 8057732: b2db uxtb r3, r3 8057734: 2b02 cmp r3, #2 8057736: d861 bhi.n 80577fc { fmax = (float32_t) Vup; 8057738: 4b7e ldr r3, [pc, #504] ; (8057934 ) 805773a: 681b ldr r3, [r3, #0] 805773c: ee07 3a90 vmov s15, r3 8057740: eef8 7a67 vcvt.f32.u32 s15, s15 8057744: edc7 7a06 vstr s15, [r7, #24] fmax /= KM_UDAR[pardata.IKU]; 8057748: 4b79 ldr r3, [pc, #484] ; (8057930 ) 805774a: 7a1b ldrb r3, [r3, #8] 805774c: b2db uxtb r3, r3 805774e: 4a7a ldr r2, [pc, #488] ; (8057938 ) 8057750: 009b lsls r3, r3, #2 8057752: 4413 add r3, r2 8057754: ed93 7a00 vldr s14, [r3] 8057758: edd7 6a06 vldr s13, [r7, #24] 805775c: eec6 7a87 vdiv.f32 s15, s13, s14 8057760: edc7 7a06 vstr s15, [r7, #24] dB_s = 0; 8057764: 2300 movs r3, #0 8057766: 74fb strb r3, [r7, #19] while(Ym < 3450) 8057768: e03f b.n 80577ea { Yf = fmax * KM_UDAR[dB_s] + 0.50f; 805776a: 7cfb ldrb r3, [r7, #19] 805776c: b2db uxtb r3, r3 805776e: 4a72 ldr r2, [pc, #456] ; (8057938 ) 8057770: 009b lsls r3, r3, #2 8057772: 4413 add r3, r2 8057774: ed93 7a00 vldr s14, [r3] 8057778: edd7 7a06 vldr s15, [r7, #24] 805777c: ee67 7a27 vmul.f32 s15, s14, s15 8057780: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8057784: ee77 7a87 vadd.f32 s15, s15, s14 8057788: edc7 7a05 vstr s15, [r7, #20] Ym = (uint32_t) Yf; 805778c: edd7 7a05 vldr s15, [r7, #20] 8057790: eefc 7ae7 vcvt.u32.f32 s15, s15 8057794: ee17 3a90 vmov r3, s15 8057798: 60bb str r3, [r7, #8] Ym += 2200; 805779a: 68bb ldr r3, [r7, #8] 805779c: f603 0398 addw r3, r3, #2200 ; 0x898 80577a0: 60bb str r3, [r7, #8] if(Ym > 3450) 80577a2: 68bb ldr r3, [r7, #8] 80577a4: f640 527a movw r2, #3450 ; 0xd7a 80577a8: 4293 cmp r3, r2 80577aa: d911 bls.n 80577d0 { if(Ym > 8192/*4000*/) //todo 80577ac: 68bb ldr r3, [r7, #8] 80577ae: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80577b2: d908 bls.n 80577c6 { if(dB_s) 80577b4: 7cfb ldrb r3, [r7, #19] 80577b6: b2db uxtb r3, r3 80577b8: 2b00 cmp r3, #0 80577ba: d004 beq.n 80577c6 dB_s--; 80577bc: 7cfb ldrb r3, [r7, #19] 80577be: b2db uxtb r3, r3 80577c0: 3b01 subs r3, #1 80577c2: b2db uxtb r3, r3 80577c4: 74fb strb r3, [r7, #19] } pardata.IKU = dB_s; 80577c6: 7cfb ldrb r3, [r7, #19] 80577c8: b2da uxtb r2, r3 80577ca: 4b59 ldr r3, [pc, #356] ; (8057930 ) 80577cc: 721a strb r2, [r3, #8] break; 80577ce: e015 b.n 80577fc } else { if(dB_s < Ku8) 80577d0: 7cfb ldrb r3, [r7, #19] 80577d2: b2db uxtb r3, r3 80577d4: 2b02 cmp r3, #2 80577d6: d810 bhi.n 80577fa { dB_s++; 80577d8: 7cfb ldrb r3, [r7, #19] 80577da: b2db uxtb r3, r3 80577dc: 3301 adds r3, #1 80577de: b2db uxtb r3, r3 80577e0: 74fb strb r3, [r7, #19] pardata.IKU = dB_s; 80577e2: 7cfb ldrb r3, [r7, #19] 80577e4: b2da uxtb r2, r3 80577e6: 4b52 ldr r3, [pc, #328] ; (8057930 ) 80577e8: 721a strb r2, [r3, #8] while(Ym < 3450) 80577ea: 68bb ldr r3, [r7, #8] 80577ec: f640 5279 movw r2, #3449 ; 0xd79 80577f0: 4293 cmp r3, r2 80577f2: d9ba bls.n 805776a 80577f4: e002 b.n 80577fc if(NUMPOINTS >= VALUE_MAX) 80577f6: bf00 nop 80577f8: e000 b.n 80577fc } else break; 80577fa: bf00 nop } } } if(LAST_KU != pardata.IKU) 80577fc: 4b4c ldr r3, [pc, #304] ; (8057930 ) 80577fe: 7a1b ldrb r3, [r3, #8] 8057800: b2da uxtb r2, r3 8057802: 4b4e ldr r3, [pc, #312] ; (805793c ) 8057804: 781b ldrb r3, [r3, #0] 8057806: b2db uxtb r3, r3 8057808: 429a cmp r2, r3 805780a: d009 beq.n 8057820 { Flag_Set_KU = 1; 805780c: 4b4c ldr r3, [pc, #304] ; (8057940 ) 805780e: 2201 movs r2, #1 8057810: 701a strb r2, [r3, #0] AUTOZOOM = true; 8057812: 4b4c ldr r3, [pc, #304] ; (8057944 ) 8057814: 2201 movs r2, #1 8057816: 701a strb r2, [r3, #0] IndexFran = -1; 8057818: 4b4b ldr r3, [pc, #300] ; (8057948 ) 805781a: f04f 32ff mov.w r2, #4294967295 805781e: 601a str r2, [r3, #0] } NUMPOINTS = 0; 8057820: 4b4a ldr r3, [pc, #296] ; (805794c ) 8057822: 2200 movs r2, #0 8057824: 601a str r2, [r3, #0] Vup = 0; 8057826: 4b43 ldr r3, [pc, #268] ; (8057934 ) 8057828: 2200 movs r2, #0 805782a: 601a str r2, [r3, #0] Vdn = 0xffffff; 805782c: 4b48 ldr r3, [pc, #288] ; (8057950 ) 805782e: f06f 427f mvn.w r2, #4278190080 ; 0xff000000 8057832: 601a str r2, [r3, #0] return 0; 8057834: 2300 movs r3, #0 8057836: e189 b.n 8057b4c } } else { for(i = 0; i < SygPoints; i++) 8057838: 2300 movs r3, #0 805783a: 60fb str r3, [r7, #12] 805783c: e02a b.n 8057894 { if(Vup < In16[i].lg) Vup = In16[i].lg; 805783e: 68fb ldr r3, [r7, #12] 8057840: 4a44 ldr r2, [pc, #272] ; (8057954 ) 8057842: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8057846: 4b3b ldr r3, [pc, #236] ; (8057934 ) 8057848: 681b ldr r3, [r3, #0] 805784a: 429a cmp r2, r3 805784c: d905 bls.n 805785a 805784e: 68fb ldr r3, [r7, #12] 8057850: 4a40 ldr r2, [pc, #256] ; (8057954 ) 8057852: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8057856: 4a37 ldr r2, [pc, #220] ; (8057934 ) 8057858: 6013 str r3, [r2, #0] if(Vdn > In16[i].lg) Vdn = In16[i].lg; 805785a: 68fb ldr r3, [r7, #12] 805785c: 4a3d ldr r2, [pc, #244] ; (8057954 ) 805785e: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8057862: 4b3b ldr r3, [pc, #236] ; (8057950 ) 8057864: 681b ldr r3, [r3, #0] 8057866: 429a cmp r2, r3 8057868: d205 bcs.n 8057876 805786a: 68fb ldr r3, [r7, #12] 805786c: 4a39 ldr r2, [pc, #228] ; (8057954 ) 805786e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8057872: 4a37 ldr r2, [pc, #220] ; (8057950 ) 8057874: 6013 str r3, [r2, #0] if(In16[i].lg > UMAX) NUMPOINTS++; 8057876: 68fb ldr r3, [r7, #12] 8057878: 4a36 ldr r2, [pc, #216] ; (8057954 ) 805787a: f852 2023 ldr.w r2, [r2, r3, lsl #2] 805787e: 6a3b ldr r3, [r7, #32] 8057880: 429a cmp r2, r3 8057882: d904 bls.n 805788e 8057884: 4b31 ldr r3, [pc, #196] ; (805794c ) 8057886: 681b ldr r3, [r3, #0] 8057888: 3301 adds r3, #1 805788a: 4a30 ldr r2, [pc, #192] ; (805794c ) 805788c: 6013 str r3, [r2, #0] for(i = 0; i < SygPoints; i++) 805788e: 68fb ldr r3, [r7, #12] 8057890: 3301 adds r3, #1 8057892: 60fb str r3, [r7, #12] 8057894: 68fa ldr r2, [r7, #12] 8057896: 687b ldr r3, [r7, #4] 8057898: 429a cmp r2, r3 805789a: d3d0 bcc.n 805783e } NR++; 805789c: 4b2e ldr r3, [pc, #184] ; (8057958 ) 805789e: 681b ldr r3, [r3, #0] 80578a0: 3301 adds r3, #1 80578a2: 4a2d ldr r2, [pc, #180] ; (8057958 ) 80578a4: 6013 str r3, [r2, #0] if(NR >= Nr) 80578a6: 4b2d ldr r3, [pc, #180] ; (805795c ) 80578a8: 881b ldrh r3, [r3, #0] 80578aa: b29b uxth r3, r3 80578ac: 461a mov r2, r3 80578ae: 4b2a ldr r3, [pc, #168] ; (8057958 ) 80578b0: 681b ldr r3, [r3, #0] 80578b2: 429a cmp r2, r3 80578b4: f200 8148 bhi.w 8057b48 { NR = 0; 80578b8: 4b27 ldr r3, [pc, #156] ; (8057958 ) 80578ba: 2200 movs r2, #0 80578bc: 601a str r2, [r3, #0] if(Vup < mean) 80578be: 4b1d ldr r3, [pc, #116] ; (8057934 ) 80578c0: 681a ldr r2, [r3, #0] 80578c2: 6a7b ldr r3, [r7, #36] ; 0x24 80578c4: 429a cmp r2, r3 80578c6: d206 bcs.n 80578d6 Vup = mean - Vup; 80578c8: 4b1a ldr r3, [pc, #104] ; (8057934 ) 80578ca: 681b ldr r3, [r3, #0] 80578cc: 6a7a ldr r2, [r7, #36] ; 0x24 80578ce: 1ad3 subs r3, r2, r3 80578d0: 4a18 ldr r2, [pc, #96] ; (8057934 ) 80578d2: 6013 str r3, [r2, #0] 80578d4: e005 b.n 80578e2 else Vup = Vup - mean; 80578d6: 4b17 ldr r3, [pc, #92] ; (8057934 ) 80578d8: 681a ldr r2, [r3, #0] 80578da: 6a7b ldr r3, [r7, #36] ; 0x24 80578dc: 1ad3 subs r3, r2, r3 80578de: 4a15 ldr r2, [pc, #84] ; (8057934 ) 80578e0: 6013 str r3, [r2, #0] if(Vdn > mean) 80578e2: 4b1b ldr r3, [pc, #108] ; (8057950 ) 80578e4: 681a ldr r2, [r3, #0] 80578e6: 6a7b ldr r3, [r7, #36] ; 0x24 80578e8: 429a cmp r2, r3 80578ea: d906 bls.n 80578fa Vdn = Vdn - mean; 80578ec: 4b18 ldr r3, [pc, #96] ; (8057950 ) 80578ee: 681a ldr r2, [r3, #0] 80578f0: 6a7b ldr r3, [r7, #36] ; 0x24 80578f2: 1ad3 subs r3, r2, r3 80578f4: 4a16 ldr r2, [pc, #88] ; (8057950 ) 80578f6: 6013 str r3, [r2, #0] 80578f8: e005 b.n 8057906 else Vdn = mean - Vdn; 80578fa: 4b15 ldr r3, [pc, #84] ; (8057950 ) 80578fc: 681b ldr r3, [r3, #0] 80578fe: 6a7a ldr r2, [r7, #36] ; 0x24 8057900: 1ad3 subs r3, r2, r3 8057902: 4a13 ldr r2, [pc, #76] ; (8057950 ) 8057904: 6013 str r3, [r2, #0] if(Vup > Vdn) 8057906: 4b0b ldr r3, [pc, #44] ; (8057934 ) 8057908: 681a ldr r2, [r3, #0] 805790a: 4b11 ldr r3, [pc, #68] ; (8057950 ) 805790c: 681b ldr r3, [r3, #0] 805790e: 429a cmp r2, r3 8057910: d926 bls.n 8057960 Ym = Vup + mean; 8057912: 4b08 ldr r3, [pc, #32] ; (8057934 ) 8057914: 681a ldr r2, [r3, #0] 8057916: 6a7b ldr r3, [r7, #36] ; 0x24 8057918: 4413 add r3, r2 805791a: 60bb str r3, [r7, #8] 805791c: e029 b.n 8057972 805791e: bf00 nop 8057920: 20020d70 .word 0x20020d70 8057924: 20020d71 .word 0x20020d71 8057928: 20020d78 .word 0x20020d78 805792c: 20020d7c .word 0x20020d7c 8057930: 20023eb8 .word 0x20023eb8 8057934: 20021668 .word 0x20021668 8057938: 080f5308 .word 0x080f5308 805793c: 20021580 .word 0x20021580 8057940: 20020d9e .word 0x20020d9e 8057944: 20020994 .word 0x20020994 8057948: 2002008c .word 0x2002008c 805794c: 20021654 .word 0x20021654 8057950: 20020090 .word 0x20020090 8057954: 20058080 .word 0x20058080 8057958: 20021664 .word 0x20021664 805795c: 20021d70 .word 0x20021d70 else { Vup = Vdn; 8057960: 4b7d ldr r3, [pc, #500] ; (8057b58 ) 8057962: 681b ldr r3, [r3, #0] 8057964: 4a7d ldr r2, [pc, #500] ; (8057b5c ) 8057966: 6013 str r3, [r2, #0] Ym = Vdn + mean; 8057968: 4b7b ldr r3, [pc, #492] ; (8057b58 ) 805796a: 681a ldr r2, [r3, #0] 805796c: 6a7b ldr r3, [r7, #36] ; 0x24 805796e: 4413 add r3, r2 8057970: 60bb str r3, [r7, #8] } if(NUMPOINTS) 8057972: 4b7b ldr r3, [pc, #492] ; (8057b60 ) 8057974: 681b ldr r3, [r3, #0] 8057976: 2b00 cmp r3, #0 8057978: d045 beq.n 8057a06 { NeedKmUp = 0; 805797a: 4b7a ldr r3, [pc, #488] ; (8057b64 ) 805797c: 2200 movs r2, #0 805797e: 701a strb r2, [r3, #0] NeedKmDown++; 8057980: 4b79 ldr r3, [pc, #484] ; (8057b68 ) 8057982: 781b ldrb r3, [r3, #0] 8057984: b2db uxtb r3, r3 8057986: 3301 adds r3, #1 8057988: b2da uxtb r2, r3 805798a: 4b77 ldr r3, [pc, #476] ; (8057b68 ) 805798c: 701a strb r2, [r3, #0] if((NeedKmDown >= TimeKmDown) || (FirstGain == true)) 805798e: 4b76 ldr r3, [pc, #472] ; (8057b68 ) 8057990: 781b ldrb r3, [r3, #0] 8057992: b2db uxtb r3, r3 8057994: 461a mov r2, r3 8057996: 4b75 ldr r3, [pc, #468] ; (8057b6c ) 8057998: 681b ldr r3, [r3, #0] 805799a: 429a cmp r2, r3 805799c: d204 bcs.n 80579a8 805799e: 4b74 ldr r3, [pc, #464] ; (8057b70 ) 80579a0: 781b ldrb r3, [r3, #0] 80579a2: b2db uxtb r3, r3 80579a4: 2b00 cmp r3, #0 80579a6: d02a beq.n 80579fe { FirstGain = false; 80579a8: 4b71 ldr r3, [pc, #452] ; (8057b70 ) 80579aa: 2200 movs r2, #0 80579ac: 701a strb r2, [r3, #0] if(NUMPOINTS >= VALUE_MAX) 80579ae: 4b6c ldr r3, [pc, #432] ; (8057b60 ) 80579b0: 681b ldr r3, [r3, #0] 80579b2: 2bff cmp r3, #255 ; 0xff 80579b4: d910 bls.n 80579d8 { if(pardata.IKU > Ku8) pardata.IKU -= Ku8; 80579b6: 4b6f ldr r3, [pc, #444] ; (8057b74 ) 80579b8: 7a1b ldrb r3, [r3, #8] 80579ba: b2db uxtb r3, r3 80579bc: 2b03 cmp r3, #3 80579be: d907 bls.n 80579d0 80579c0: 4b6c ldr r3, [pc, #432] ; (8057b74 ) 80579c2: 7a1b ldrb r3, [r3, #8] 80579c4: b2db uxtb r3, r3 80579c6: 3b03 subs r3, #3 80579c8: b2da uxtb r2, r3 80579ca: 4b6a ldr r3, [pc, #424] ; (8057b74 ) 80579cc: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 80579ce: e09a b.n 8057b06 else pardata.IKU = Ku1; 80579d0: 4b68 ldr r3, [pc, #416] ; (8057b74 ) 80579d2: 2200 movs r2, #0 80579d4: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 80579d6: e096 b.n 8057b06 } else if(NUMPOINTS >= VALUE_MIN) 80579d8: 4b61 ldr r3, [pc, #388] ; (8057b60 ) 80579da: 681b ldr r3, [r3, #0] 80579dc: 2b01 cmp r3, #1 80579de: f240 8092 bls.w 8057b06 { if(pardata.IKU > Ku1) 80579e2: 4b64 ldr r3, [pc, #400] ; (8057b74 ) 80579e4: 7a1b ldrb r3, [r3, #8] 80579e6: b2db uxtb r3, r3 80579e8: 2b00 cmp r3, #0 80579ea: f000 808c beq.w 8057b06 pardata.IKU --; 80579ee: 4b61 ldr r3, [pc, #388] ; (8057b74 ) 80579f0: 7a1b ldrb r3, [r3, #8] 80579f2: b2db uxtb r3, r3 80579f4: 3b01 subs r3, #1 80579f6: b2da uxtb r2, r3 80579f8: 4b5e ldr r3, [pc, #376] ; (8057b74 ) 80579fa: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 80579fc: e083 b.n 8057b06 } } else { NUMPOINTS = 0; 80579fe: 4b58 ldr r3, [pc, #352] ; (8057b60 ) 8057a00: 2200 movs r2, #0 8057a02: 601a str r2, [r3, #0] 8057a04: e082 b.n 8057b0c } } else { NeedKmDown = 0; 8057a06: 4b58 ldr r3, [pc, #352] ; (8057b68 ) 8057a08: 2200 movs r2, #0 8057a0a: 701a strb r2, [r3, #0] if(Ym <= UMIN) 8057a0c: 68ba ldr r2, [r7, #8] 8057a0e: 69fb ldr r3, [r7, #28] 8057a10: 429a cmp r2, r3 8057a12: d87b bhi.n 8057b0c { NeedKmUp++; 8057a14: 4b53 ldr r3, [pc, #332] ; (8057b64 ) 8057a16: 781b ldrb r3, [r3, #0] 8057a18: b2db uxtb r3, r3 8057a1a: 3301 adds r3, #1 8057a1c: b2da uxtb r2, r3 8057a1e: 4b51 ldr r3, [pc, #324] ; (8057b64 ) 8057a20: 701a strb r2, [r3, #0] if((NeedKmUp >= TimeKmUp) || (FirstGain == true)) 8057a22: 4b50 ldr r3, [pc, #320] ; (8057b64 ) 8057a24: 781b ldrb r3, [r3, #0] 8057a26: b2db uxtb r3, r3 8057a28: 461a mov r2, r3 8057a2a: 4b53 ldr r3, [pc, #332] ; (8057b78 ) 8057a2c: 681b ldr r3, [r3, #0] 8057a2e: 429a cmp r2, r3 8057a30: d204 bcs.n 8057a3c 8057a32: 4b4f ldr r3, [pc, #316] ; (8057b70 ) 8057a34: 781b ldrb r3, [r3, #0] 8057a36: b2db uxtb r3, r3 8057a38: 2b00 cmp r3, #0 8057a3a: d067 beq.n 8057b0c { FirstGain = false; 8057a3c: 4b4c ldr r3, [pc, #304] ; (8057b70 ) 8057a3e: 2200 movs r2, #0 8057a40: 701a strb r2, [r3, #0] if(pardata.IKU < Ku640) 8057a42: 4b4c ldr r3, [pc, #304] ; (8057b74 ) 8057a44: 7a1b ldrb r3, [r3, #8] 8057a46: b2db uxtb r3, r3 8057a48: 2b09 cmp r3, #9 8057a4a: d85f bhi.n 8057b0c { fmax = (float32_t) Vup; 8057a4c: 4b43 ldr r3, [pc, #268] ; (8057b5c ) 8057a4e: 681b ldr r3, [r3, #0] 8057a50: ee07 3a90 vmov s15, r3 8057a54: eef8 7a67 vcvt.f32.u32 s15, s15 8057a58: edc7 7a06 vstr s15, [r7, #24] fmax /= KM[pardata.IKU]; 8057a5c: 4b45 ldr r3, [pc, #276] ; (8057b74 ) 8057a5e: 7a1b ldrb r3, [r3, #8] 8057a60: b2db uxtb r3, r3 8057a62: 4a46 ldr r2, [pc, #280] ; (8057b7c ) 8057a64: 009b lsls r3, r3, #2 8057a66: 4413 add r3, r2 8057a68: ed93 7a00 vldr s14, [r3] 8057a6c: edd7 6a06 vldr s13, [r7, #24] 8057a70: eec6 7a87 vdiv.f32 s15, s13, s14 8057a74: edc7 7a06 vstr s15, [r7, #24] dB_s = 0; 8057a78: 2300 movs r3, #0 8057a7a: 74fb strb r3, [r7, #19] while(Ym < UMIN) 8057a7c: e03e b.n 8057afc { Yf = fmax * KM[dB_s] + 0.50f; 8057a7e: 7cfb ldrb r3, [r7, #19] 8057a80: b2db uxtb r3, r3 8057a82: 4a3e ldr r2, [pc, #248] ; (8057b7c ) 8057a84: 009b lsls r3, r3, #2 8057a86: 4413 add r3, r2 8057a88: ed93 7a00 vldr s14, [r3] 8057a8c: edd7 7a06 vldr s15, [r7, #24] 8057a90: ee67 7a27 vmul.f32 s15, s14, s15 8057a94: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8057a98: ee77 7a87 vadd.f32 s15, s15, s14 8057a9c: edc7 7a05 vstr s15, [r7, #20] Ym = (uint32_t) Yf; 8057aa0: edd7 7a05 vldr s15, [r7, #20] 8057aa4: eefc 7ae7 vcvt.u32.f32 s15, s15 8057aa8: ee17 3a90 vmov r3, s15 8057aac: 60bb str r3, [r7, #8] Ym += mean; 8057aae: 68ba ldr r2, [r7, #8] 8057ab0: 6a7b ldr r3, [r7, #36] ; 0x24 8057ab2: 4413 add r3, r2 8057ab4: 60bb str r3, [r7, #8] if(Ym > UMIN) 8057ab6: 68ba ldr r2, [r7, #8] 8057ab8: 69fb ldr r3, [r7, #28] 8057aba: 429a cmp r2, r3 8057abc: d911 bls.n 8057ae2 { if(Ym > UMAX) 8057abe: 68ba ldr r2, [r7, #8] 8057ac0: 6a3b ldr r3, [r7, #32] 8057ac2: 429a cmp r2, r3 8057ac4: d908 bls.n 8057ad8 { if(dB_s) 8057ac6: 7cfb ldrb r3, [r7, #19] 8057ac8: b2db uxtb r3, r3 8057aca: 2b00 cmp r3, #0 8057acc: d004 beq.n 8057ad8 dB_s--; 8057ace: 7cfb ldrb r3, [r7, #19] 8057ad0: b2db uxtb r3, r3 8057ad2: 3b01 subs r3, #1 8057ad4: b2db uxtb r3, r3 8057ad6: 74fb strb r3, [r7, #19] } pardata.IKU = dB_s; 8057ad8: 7cfb ldrb r3, [r7, #19] 8057ada: b2da uxtb r2, r3 8057adc: 4b25 ldr r3, [pc, #148] ; (8057b74 ) 8057ade: 721a strb r2, [r3, #8] break; 8057ae0: e014 b.n 8057b0c } else { if(dB_s < Ku640) 8057ae2: 7cfb ldrb r3, [r7, #19] 8057ae4: b2db uxtb r3, r3 8057ae6: 2b09 cmp r3, #9 8057ae8: d80f bhi.n 8057b0a { dB_s++; 8057aea: 7cfb ldrb r3, [r7, #19] 8057aec: b2db uxtb r3, r3 8057aee: 3301 adds r3, #1 8057af0: b2db uxtb r3, r3 8057af2: 74fb strb r3, [r7, #19] pardata.IKU = dB_s; 8057af4: 7cfb ldrb r3, [r7, #19] 8057af6: b2da uxtb r2, r3 8057af8: 4b1e ldr r3, [pc, #120] ; (8057b74 ) 8057afa: 721a strb r2, [r3, #8] while(Ym < UMIN) 8057afc: 68ba ldr r2, [r7, #8] 8057afe: 69fb ldr r3, [r7, #28] 8057b00: 429a cmp r2, r3 8057b02: d3bc bcc.n 8057a7e 8057b04: e002 b.n 8057b0c if(NUMPOINTS >= VALUE_MAX) 8057b06: bf00 nop 8057b08: e000 b.n 8057b0c } else break; 8057b0a: bf00 nop } } } if(LAST_KU != pardata.IKU) 8057b0c: 4b19 ldr r3, [pc, #100] ; (8057b74 ) 8057b0e: 7a1b ldrb r3, [r3, #8] 8057b10: b2da uxtb r2, r3 8057b12: 4b1b ldr r3, [pc, #108] ; (8057b80 ) 8057b14: 781b ldrb r3, [r3, #0] 8057b16: b2db uxtb r3, r3 8057b18: 429a cmp r2, r3 8057b1a: d009 beq.n 8057b30 { Flag_Set_KU = 1; 8057b1c: 4b19 ldr r3, [pc, #100] ; (8057b84 ) 8057b1e: 2201 movs r2, #1 8057b20: 701a strb r2, [r3, #0] AUTOZOOM = true; 8057b22: 4b19 ldr r3, [pc, #100] ; (8057b88 ) 8057b24: 2201 movs r2, #1 8057b26: 701a strb r2, [r3, #0] IndexFran = -1; 8057b28: 4b18 ldr r3, [pc, #96] ; (8057b8c ) 8057b2a: f04f 32ff mov.w r2, #4294967295 8057b2e: 601a str r2, [r3, #0] } NUMPOINTS = 0; 8057b30: 4b0b ldr r3, [pc, #44] ; (8057b60 ) 8057b32: 2200 movs r2, #0 8057b34: 601a str r2, [r3, #0] Vup = 0; 8057b36: 4b09 ldr r3, [pc, #36] ; (8057b5c ) 8057b38: 2200 movs r2, #0 8057b3a: 601a str r2, [r3, #0] Vdn = 0xffffff; 8057b3c: 4b06 ldr r3, [pc, #24] ; (8057b58 ) 8057b3e: f06f 427f mvn.w r2, #4278190080 ; 0xff000000 8057b42: 601a str r2, [r3, #0] return 0; 8057b44: 2300 movs r3, #0 8057b46: e001 b.n 8057b4c } } return -1; 8057b48: f04f 33ff mov.w r3, #4294967295 } 8057b4c: 4618 mov r0, r3 8057b4e: 372c adds r7, #44 ; 0x2c 8057b50: 46bd mov sp, r7 8057b52: f85d 7b04 ldr.w r7, [sp], #4 8057b56: 4770 bx lr 8057b58: 20020090 .word 0x20020090 8057b5c: 20021668 .word 0x20021668 8057b60: 20021654 .word 0x20021654 8057b64: 20020d71 .word 0x20020d71 8057b68: 20020d70 .word 0x20020d70 8057b6c: 20020d74 .word 0x20020d74 8057b70: 20020d7c .word 0x20020d7c 8057b74: 20023eb8 .word 0x20023eb8 8057b78: 20020d78 .word 0x20020d78 8057b7c: 080f5318 .word 0x080f5318 8057b80: 20021580 .word 0x20021580 8057b84: 20020d9e .word 0x20020d9e 8057b88: 20020994 .word 0x20020994 8057b8c: 2002008c .word 0x2002008c 08057b90 : { } void initFFT(float32_t *pSrc, float32_t *pDst, uint8_t flag) { 8057b90: b580 push {r7, lr} 8057b92: b088 sub sp, #32 8057b94: af02 add r7, sp, #8 8057b96: 60f8 str r0, [r7, #12] 8057b98: 60b9 str r1, [r7, #8] 8057b9a: 4613 mov r3, r2 8057b9c: 71fb strb r3, [r7, #7] arm_status status; if((pardata.SYG == OSC) && (pardata.IPR > ACC)) 8057b9e: 4b4f ldr r3, [pc, #316] ; (8057cdc ) 8057ba0: 781b ldrb r3, [r3, #0] 8057ba2: b2db uxtb r3, r3 8057ba4: 2b02 cmp r3, #2 8057ba6: d11b bne.n 8057be0 8057ba8: 4b4c ldr r3, [pc, #304] ; (8057cdc ) 8057baa: 785b ldrb r3, [r3, #1] 8057bac: b2db uxtb r3, r3 8057bae: 2b00 cmp r3, #0 8057bb0: d016 beq.n 8057be0 { status = arm_rfft_init_f32( &rfft_instance, &radix4, 8192, flag, 1); 8057bb2: 79fa ldrb r2, [r7, #7] 8057bb4: 2301 movs r3, #1 8057bb6: 9300 str r3, [sp, #0] 8057bb8: 4613 mov r3, r2 8057bba: f44f 5200 mov.w r2, #8192 ; 0x2000 8057bbe: 4948 ldr r1, [pc, #288] ; (8057ce0 ) 8057bc0: 4848 ldr r0, [pc, #288] ; (8057ce4 ) 8057bc2: f05f fdef bl 80b77a4 8057bc6: 4603 mov r3, r0 8057bc8: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 8057bca: f997 3017 ldrsb.w r3, [r7, #23] 8057bce: 2b00 cmp r3, #0 8057bd0: d000 beq.n 8057bd4 8057bd2: e7fe b.n 8057bd2 arm_rfft_f32(&rfft_instance, pSrc, pDst); 8057bd4: 68ba ldr r2, [r7, #8] 8057bd6: 68f9 ldr r1, [r7, #12] 8057bd8: 4842 ldr r0, [pc, #264] ; (8057ce4 ) 8057bda: f05f f941 bl 80b6e60 8057bde: e078 b.n 8057cd2 } else { switch(Ns) 8057be0: 4b41 ldr r3, [pc, #260] ; (8057ce8 ) 8057be2: 681b ldr r3, [r3, #0] 8057be4: f5b3 6f00 cmp.w r3, #2048 ; 0x800 8057be8: d036 beq.n 8057c58 8057bea: f5b3 6f00 cmp.w r3, #2048 ; 0x800 8057bee: d806 bhi.n 8057bfe 8057bf0: f5b3 7f00 cmp.w r3, #512 ; 0x200 8057bf4: d00a beq.n 8057c0c 8057bf6: f5b3 6f80 cmp.w r3, #1024 ; 0x400 8057bfa: d01a beq.n 8057c32 if (status != ARM_MATH_SUCCESS) while (1); arm_rfft_f32(&rfft_instance, pSrc, pDst); break; } } } 8057bfc: e069 b.n 8057cd2 switch(Ns) 8057bfe: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8057c02: d03c beq.n 8057c7e 8057c04: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 8057c08: d04c beq.n 8057ca4 } 8057c0a: e062 b.n 8057cd2 status = arm_rfft_fast_init_f32( &rfft_fast_instance512, 512); 8057c0c: f44f 7100 mov.w r1, #512 ; 0x200 8057c10: 4836 ldr r0, [pc, #216] ; (8057cec ) 8057c12: f05f fcf1 bl 80b75f8 8057c16: 4603 mov r3, r0 8057c18: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 8057c1a: f997 3017 ldrsb.w r3, [r7, #23] 8057c1e: 2b00 cmp r3, #0 8057c20: d000 beq.n 8057c24 8057c22: e7fe b.n 8057c22 arm_rfft_fast_f32(&rfft_fast_instance512, pSrc, pDst, flag); 8057c24: 79fb ldrb r3, [r7, #7] 8057c26: 68ba ldr r2, [r7, #8] 8057c28: 68f9 ldr r1, [r7, #12] 8057c2a: 4830 ldr r0, [pc, #192] ; (8057cec ) 8057c2c: f05f fcb7 bl 80b759e break; 8057c30: e04f b.n 8057cd2 status = arm_rfft_fast_init_f32( &rfft_fast_instance1024, 1024); 8057c32: f44f 6180 mov.w r1, #1024 ; 0x400 8057c36: 482e ldr r0, [pc, #184] ; (8057cf0 ) 8057c38: f05f fcde bl 80b75f8 8057c3c: 4603 mov r3, r0 8057c3e: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 8057c40: f997 3017 ldrsb.w r3, [r7, #23] 8057c44: 2b00 cmp r3, #0 8057c46: d000 beq.n 8057c4a 8057c48: e7fe b.n 8057c48 arm_rfft_fast_f32(&rfft_fast_instance1024, pSrc, pDst, flag); 8057c4a: 79fb ldrb r3, [r7, #7] 8057c4c: 68ba ldr r2, [r7, #8] 8057c4e: 68f9 ldr r1, [r7, #12] 8057c50: 4827 ldr r0, [pc, #156] ; (8057cf0 ) 8057c52: f05f fca4 bl 80b759e break; 8057c56: e03c b.n 8057cd2 status = arm_rfft_fast_init_f32( &rfft_fast_instance2048, 2048); 8057c58: f44f 6100 mov.w r1, #2048 ; 0x800 8057c5c: 4825 ldr r0, [pc, #148] ; (8057cf4 ) 8057c5e: f05f fccb bl 80b75f8 8057c62: 4603 mov r3, r0 8057c64: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 8057c66: f997 3017 ldrsb.w r3, [r7, #23] 8057c6a: 2b00 cmp r3, #0 8057c6c: d000 beq.n 8057c70 8057c6e: e7fe b.n 8057c6e arm_rfft_fast_f32(&rfft_fast_instance2048, pSrc, pDst, flag); 8057c70: 79fb ldrb r3, [r7, #7] 8057c72: 68ba ldr r2, [r7, #8] 8057c74: 68f9 ldr r1, [r7, #12] 8057c76: 481f ldr r0, [pc, #124] ; (8057cf4 ) 8057c78: f05f fc91 bl 80b759e break; 8057c7c: e029 b.n 8057cd2 status = arm_rfft_fast_init_f32( &rfft_fast_instance4096, 4096); 8057c7e: f44f 5180 mov.w r1, #4096 ; 0x1000 8057c82: 481d ldr r0, [pc, #116] ; (8057cf8 ) 8057c84: f05f fcb8 bl 80b75f8 8057c88: 4603 mov r3, r0 8057c8a: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 8057c8c: f997 3017 ldrsb.w r3, [r7, #23] 8057c90: 2b00 cmp r3, #0 8057c92: d000 beq.n 8057c96 8057c94: e7fe b.n 8057c94 arm_rfft_fast_f32(&rfft_fast_instance4096, pSrc, pDst, flag); 8057c96: 79fb ldrb r3, [r7, #7] 8057c98: 68ba ldr r2, [r7, #8] 8057c9a: 68f9 ldr r1, [r7, #12] 8057c9c: 4816 ldr r0, [pc, #88] ; (8057cf8 ) 8057c9e: f05f fc7e bl 80b759e break; 8057ca2: e016 b.n 8057cd2 status = arm_rfft_init_f32( &rfft_instance, &radix4, 8192, flag, 1); 8057ca4: 79fa ldrb r2, [r7, #7] 8057ca6: 2301 movs r3, #1 8057ca8: 9300 str r3, [sp, #0] 8057caa: 4613 mov r3, r2 8057cac: f44f 5200 mov.w r2, #8192 ; 0x2000 8057cb0: 490b ldr r1, [pc, #44] ; (8057ce0 ) 8057cb2: 480c ldr r0, [pc, #48] ; (8057ce4 ) 8057cb4: f05f fd76 bl 80b77a4 8057cb8: 4603 mov r3, r0 8057cba: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 8057cbc: f997 3017 ldrsb.w r3, [r7, #23] 8057cc0: 2b00 cmp r3, #0 8057cc2: d000 beq.n 8057cc6 8057cc4: e7fe b.n 8057cc4 arm_rfft_f32(&rfft_instance, pSrc, pDst); 8057cc6: 68ba ldr r2, [r7, #8] 8057cc8: 68f9 ldr r1, [r7, #12] 8057cca: 4806 ldr r0, [pc, #24] ; (8057ce4 ) 8057ccc: f05f f8c8 bl 80b6e60 break; 8057cd0: bf00 nop } 8057cd2: bf00 nop 8057cd4: 3718 adds r7, #24 8057cd6: 46bd mov sp, r7 8057cd8: bd80 pop {r7, pc} 8057cda: bf00 nop 8057cdc: 20023eb8 .word 0x20023eb8 8057ce0: 200215c4 .word 0x200215c4 8057ce4: 200215d8 .word 0x200215d8 8057ce8: 20021d2c .word 0x20021d2c 8057cec: 20021638 .word 0x20021638 8057cf0: 20021620 .word 0x20021620 8057cf4: 20021608 .word 0x20021608 8057cf8: 200215f0 .word 0x200215f0 08057cfc : //****************************************************************************** // Ìåäèàíà çíà÷åíèé ïåðèîäîâ ñèãíàëà //****************************************************************************** void MedyF() { 8057cfc: b480 push {r7} 8057cfe: b085 sub sp, #20 8057d00: af00 add r7, sp, #0 uint32_t i,j; uint32_t tmp; uint32_t len; if(pardata.SYG == WAVE) 8057d02: 4b27 ldr r3, [pc, #156] ; (8057da0 ) 8057d04: 781b ldrb r3, [r3, #0] 8057d06: b2db uxtb r3, r3 8057d08: 2b04 cmp r3, #4 8057d0a: d102 bne.n 8057d12 len = LEN_M_BUF_TACHO; 8057d0c: 2305 movs r3, #5 8057d0e: 607b str r3, [r7, #4] 8057d10: e001 b.n 8057d16 else len = LEN_M_BUF; 8057d12: 2309 movs r3, #9 8057d14: 607b str r3, [r7, #4] for(i = 0; i < len / 2 + 1; i++) 8057d16: 2300 movs r3, #0 8057d18: 60fb str r3, [r7, #12] 8057d1a: e029 b.n 8057d70 for(j = i + 1; j < len; j++) 8057d1c: 68fb ldr r3, [r7, #12] 8057d1e: 3301 adds r3, #1 8057d20: 60bb str r3, [r7, #8] 8057d22: e01e b.n 8057d62 if(frq[j] < frq[i]) 8057d24: 4a1f ldr r2, [pc, #124] ; (8057da4 ) 8057d26: 68bb ldr r3, [r7, #8] 8057d28: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8057d2c: 491d ldr r1, [pc, #116] ; (8057da4 ) 8057d2e: 68fb ldr r3, [r7, #12] 8057d30: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8057d34: 429a cmp r2, r3 8057d36: d211 bcs.n 8057d5c { tmp = frq[i]; 8057d38: 4a1a ldr r2, [pc, #104] ; (8057da4 ) 8057d3a: 68fb ldr r3, [r7, #12] 8057d3c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8057d40: 603b str r3, [r7, #0] frq[i] = frq[j]; 8057d42: 4a18 ldr r2, [pc, #96] ; (8057da4 ) 8057d44: 68bb ldr r3, [r7, #8] 8057d46: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8057d4a: 4916 ldr r1, [pc, #88] ; (8057da4 ) 8057d4c: 68fb ldr r3, [r7, #12] 8057d4e: f841 2023 str.w r2, [r1, r3, lsl #2] frq[j] = tmp; 8057d52: 4914 ldr r1, [pc, #80] ; (8057da4 ) 8057d54: 68bb ldr r3, [r7, #8] 8057d56: 683a ldr r2, [r7, #0] 8057d58: f841 2023 str.w r2, [r1, r3, lsl #2] for(j = i + 1; j < len; j++) 8057d5c: 68bb ldr r3, [r7, #8] 8057d5e: 3301 adds r3, #1 8057d60: 60bb str r3, [r7, #8] 8057d62: 68ba ldr r2, [r7, #8] 8057d64: 687b ldr r3, [r7, #4] 8057d66: 429a cmp r2, r3 8057d68: d3dc bcc.n 8057d24 for(i = 0; i < len / 2 + 1; i++) 8057d6a: 68fb ldr r3, [r7, #12] 8057d6c: 3301 adds r3, #1 8057d6e: 60fb str r3, [r7, #12] 8057d70: 687b ldr r3, [r7, #4] 8057d72: 085b lsrs r3, r3, #1 8057d74: 1c5a adds r2, r3, #1 8057d76: 68fb ldr r3, [r7, #12] 8057d78: 429a cmp r2, r3 8057d7a: d8cf bhi.n 8057d1c } axF = (float32_t) (frq[len / 2]); 8057d7c: 687b ldr r3, [r7, #4] 8057d7e: 085b lsrs r3, r3, #1 8057d80: 4a08 ldr r2, [pc, #32] ; (8057da4 ) 8057d82: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8057d86: ee07 3a90 vmov s15, r3 8057d8a: eef8 7a67 vcvt.f32.u32 s15, s15 8057d8e: 4b06 ldr r3, [pc, #24] ; (8057da8 ) 8057d90: edc3 7a00 vstr s15, [r3] } 8057d94: bf00 nop 8057d96: 3714 adds r7, #20 8057d98: 46bd mov sp, r7 8057d9a: f85d 7b04 ldr.w r7, [sp], #4 8057d9e: 4770 bx lr 8057da0: 20023eb8 .word 0x20023eb8 8057da4: 20026ef4 .word 0x20026ef4 8057da8: 20027930 .word 0x20027930 08057dac : return (Out[Ns / 2]); } void CalcFreq(void) { 8057dac: b580 push {r7, lr} 8057dae: b082 sub sp, #8 8057db0: af00 add r7, sp, #0 uint32_t i, cnt = NUM_SAMPLES * 8192u; 8057db2: f44f 3300 mov.w r3, #131072 ; 0x20000 8057db6: 603b str r3, [r7, #0] for(i = 0; i < cnt; i++) 8057db8: 2300 movs r3, #0 8057dba: 607b str r3, [r7, #4] 8057dbc: e0de b.n 8057f7c { switch(faseF) 8057dbe: 4b74 ldr r3, [pc, #464] ; (8057f90 ) 8057dc0: 681b ldr r3, [r3, #0] 8057dc2: 2b03 cmp r3, #3 8057dc4: f200 80d7 bhi.w 8057f76 8057dc8: a201 add r2, pc, #4 ; (adr r2, 8057dd0 ) 8057dca: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8057dce: bf00 nop 8057dd0: 08057de1 .word 0x08057de1 8057dd4: 08057e23 .word 0x08057e23 8057dd8: 08057e71 .word 0x08057e71 8057ddc: 08057ec9 .word 0x08057ec9 { case 0: if(Freq_f32(i) < -DF) 8057de0: 687b ldr r3, [r7, #4] 8057de2: 009a lsls r2, r3, #2 8057de4: 4b6b ldr r3, [pc, #428] ; (8057f94 ) 8057de6: 4413 add r3, r2 8057de8: edd3 7a00 vldr s15, [r3] 8057dec: eebe 7a00 vmov.f32 s14, #224 ; 0xbf000000 -0.5 8057df0: eef4 7ac7 vcmpe.f32 s15, s14 8057df4: eef1 fa10 vmrs APSR_nzcv, fpscr 8057df8: d50f bpl.n 8057e1a { if(okf) 8057dfa: 4b67 ldr r3, [pc, #412] ; (8057f98 ) 8057dfc: 681b ldr r3, [r3, #0] 8057dfe: 2b00 cmp r3, #0 8057e00: d005 beq.n 8057e0e okf--; 8057e02: 4b65 ldr r3, [pc, #404] ; (8057f98 ) 8057e04: 681b ldr r3, [r3, #0] 8057e06: 3b01 subs r3, #1 8057e08: 4a63 ldr r2, [pc, #396] ; (8057f98 ) 8057e0a: 6013 str r3, [r2, #0] else faseF++; } else okf = CF; break; 8057e0c: e0b3 b.n 8057f76 else faseF++; 8057e0e: 4b60 ldr r3, [pc, #384] ; (8057f90 ) 8057e10: 681b ldr r3, [r3, #0] 8057e12: 3301 adds r3, #1 8057e14: 4a5e ldr r2, [pc, #376] ; (8057f90 ) 8057e16: 6013 str r3, [r2, #0] break; 8057e18: e0ad b.n 8057f76 okf = CF; 8057e1a: 4b5f ldr r3, [pc, #380] ; (8057f98 ) 8057e1c: 2204 movs r2, #4 8057e1e: 601a str r2, [r3, #0] break; 8057e20: e0a9 b.n 8057f76 case 1: frq[kf] = 0; 8057e22: 4b5e ldr r3, [pc, #376] ; (8057f9c ) 8057e24: 681b ldr r3, [r3, #0] 8057e26: 4a5e ldr r2, [pc, #376] ; (8057fa0 ) 8057e28: 2100 movs r1, #0 8057e2a: f842 1023 str.w r1, [r2, r3, lsl #2] if(Freq_f32(i) > DF) 8057e2e: 687b ldr r3, [r7, #4] 8057e30: 009a lsls r2, r3, #2 8057e32: 4b58 ldr r3, [pc, #352] ; (8057f94 ) 8057e34: 4413 add r3, r2 8057e36: edd3 7a00 vldr s15, [r3] 8057e3a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8057e3e: eef4 7ac7 vcmpe.f32 s15, s14 8057e42: eef1 fa10 vmrs APSR_nzcv, fpscr 8057e46: dd0f ble.n 8057e68 { if(okf < CF) 8057e48: 4b53 ldr r3, [pc, #332] ; (8057f98 ) 8057e4a: 681b ldr r3, [r3, #0] 8057e4c: 2b03 cmp r3, #3 8057e4e: d805 bhi.n 8057e5c okf++; 8057e50: 4b51 ldr r3, [pc, #324] ; (8057f98 ) 8057e52: 681b ldr r3, [r3, #0] 8057e54: 3301 adds r3, #1 8057e56: 4a50 ldr r2, [pc, #320] ; (8057f98 ) 8057e58: 6013 str r3, [r2, #0] else faseF++; } else okf = 0; break; 8057e5a: e08c b.n 8057f76 else faseF++; 8057e5c: 4b4c ldr r3, [pc, #304] ; (8057f90 ) 8057e5e: 681b ldr r3, [r3, #0] 8057e60: 3301 adds r3, #1 8057e62: 4a4b ldr r2, [pc, #300] ; (8057f90 ) 8057e64: 6013 str r3, [r2, #0] break; 8057e66: e086 b.n 8057f76 okf = 0; 8057e68: 4b4b ldr r3, [pc, #300] ; (8057f98 ) 8057e6a: 2200 movs r2, #0 8057e6c: 601a str r2, [r3, #0] break; 8057e6e: e082 b.n 8057f76 case 2: frq[kf] = frq[kf] + 1; 8057e70: 4b4a ldr r3, [pc, #296] ; (8057f9c ) 8057e72: 681b ldr r3, [r3, #0] 8057e74: 4a49 ldr r2, [pc, #292] ; (8057f9c ) 8057e76: 6812 ldr r2, [r2, #0] 8057e78: 4949 ldr r1, [pc, #292] ; (8057fa0 ) 8057e7a: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8057e7e: 3201 adds r2, #1 8057e80: 4947 ldr r1, [pc, #284] ; (8057fa0 ) 8057e82: f841 2023 str.w r2, [r1, r3, lsl #2] if(Freq_f32(i) < -DF) 8057e86: 687b ldr r3, [r7, #4] 8057e88: 009a lsls r2, r3, #2 8057e8a: 4b42 ldr r3, [pc, #264] ; (8057f94 ) 8057e8c: 4413 add r3, r2 8057e8e: edd3 7a00 vldr s15, [r3] 8057e92: eebe 7a00 vmov.f32 s14, #224 ; 0xbf000000 -0.5 8057e96: eef4 7ac7 vcmpe.f32 s15, s14 8057e9a: eef1 fa10 vmrs APSR_nzcv, fpscr 8057e9e: d50f bpl.n 8057ec0 { if(okf) 8057ea0: 4b3d ldr r3, [pc, #244] ; (8057f98 ) 8057ea2: 681b ldr r3, [r3, #0] 8057ea4: 2b00 cmp r3, #0 8057ea6: d005 beq.n 8057eb4 okf--; 8057ea8: 4b3b ldr r3, [pc, #236] ; (8057f98 ) 8057eaa: 681b ldr r3, [r3, #0] 8057eac: 3b01 subs r3, #1 8057eae: 4a3a ldr r2, [pc, #232] ; (8057f98 ) 8057eb0: 6013 str r3, [r2, #0] else faseF++; } else okf = CF; break; 8057eb2: e060 b.n 8057f76 else faseF++; 8057eb4: 4b36 ldr r3, [pc, #216] ; (8057f90 ) 8057eb6: 681b ldr r3, [r3, #0] 8057eb8: 3301 adds r3, #1 8057eba: 4a35 ldr r2, [pc, #212] ; (8057f90 ) 8057ebc: 6013 str r3, [r2, #0] break; 8057ebe: e05a b.n 8057f76 okf = CF; 8057ec0: 4b35 ldr r3, [pc, #212] ; (8057f98 ) 8057ec2: 2204 movs r2, #4 8057ec4: 601a str r2, [r3, #0] break; 8057ec6: e056 b.n 8057f76 case 3: frq[kf] = frq[kf] + 1; 8057ec8: 4b34 ldr r3, [pc, #208] ; (8057f9c ) 8057eca: 681b ldr r3, [r3, #0] 8057ecc: 4a33 ldr r2, [pc, #204] ; (8057f9c ) 8057ece: 6812 ldr r2, [r2, #0] 8057ed0: 4933 ldr r1, [pc, #204] ; (8057fa0 ) 8057ed2: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8057ed6: 3201 adds r2, #1 8057ed8: 4931 ldr r1, [pc, #196] ; (8057fa0 ) 8057eda: f841 2023 str.w r2, [r1, r3, lsl #2] if(Freq_f32(i) > DF) 8057ede: 687b ldr r3, [r7, #4] 8057ee0: 009a lsls r2, r3, #2 8057ee2: 4b2c ldr r3, [pc, #176] ; (8057f94 ) 8057ee4: 4413 add r3, r2 8057ee6: edd3 7a00 vldr s15, [r3] 8057eea: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8057eee: eef4 7ac7 vcmpe.f32 s15, s14 8057ef2: eef1 fa10 vmrs APSR_nzcv, fpscr 8057ef6: dd3a ble.n 8057f6e { if(okf < CF) 8057ef8: 4b27 ldr r3, [pc, #156] ; (8057f98 ) 8057efa: 681b ldr r3, [r3, #0] 8057efc: 2b03 cmp r3, #3 8057efe: d805 bhi.n 8057f0c okf++; 8057f00: 4b25 ldr r3, [pc, #148] ; (8057f98 ) 8057f02: 681b ldr r3, [r3, #0] 8057f04: 3301 adds r3, #1 8057f06: 4a24 ldr r2, [pc, #144] ; (8057f98 ) 8057f08: 6013 str r3, [r2, #0] faseF = 0; } } else okf = 0; break; 8057f0a: e033 b.n 8057f74 kf = (kf + 1) % LEN_M_BUF; 8057f0c: 4b23 ldr r3, [pc, #140] ; (8057f9c ) 8057f0e: 681b ldr r3, [r3, #0] 8057f10: 1c59 adds r1, r3, #1 8057f12: 4b24 ldr r3, [pc, #144] ; (8057fa4 ) 8057f14: fba3 2301 umull r2, r3, r3, r1 8057f18: 085a lsrs r2, r3, #1 8057f1a: 4613 mov r3, r2 8057f1c: 00db lsls r3, r3, #3 8057f1e: 4413 add r3, r2 8057f20: 1aca subs r2, r1, r3 8057f22: 4b1e ldr r3, [pc, #120] ; (8057f9c ) 8057f24: 601a str r2, [r3, #0] if(!kf) 8057f26: 4b1d ldr r3, [pc, #116] ; (8057f9c ) 8057f28: 681b ldr r3, [r3, #0] 8057f2a: 2b00 cmp r3, #0 8057f2c: d11b bne.n 8057f66 kf = 0; 8057f2e: 4b1b ldr r3, [pc, #108] ; (8057f9c ) 8057f30: 2200 movs r2, #0 8057f32: 601a str r2, [r3, #0] MedyF(); 8057f34: f7ff fee2 bl 8057cfc if(axF) 8057f38: 4b1b ldr r3, [pc, #108] ; (8057fa8 ) 8057f3a: edd3 7a00 vldr s15, [r3] 8057f3e: eef5 7a40 vcmp.f32 s15, #0.0 8057f42: eef1 fa10 vmrs APSR_nzcv, fpscr 8057f46: d00a beq.n 8057f5e FreqFran = 64000.0f / axF; 8057f48: 4b17 ldr r3, [pc, #92] ; (8057fa8 ) 8057f4a: ed93 7a00 vldr s14, [r3] 8057f4e: eddf 6a17 vldr s13, [pc, #92] ; 8057fac 8057f52: eec6 7a87 vdiv.f32 s15, s13, s14 8057f56: 4b16 ldr r3, [pc, #88] ; (8057fb0 ) 8057f58: edc3 7a00 vstr s15, [r3] 8057f5c: e003 b.n 8057f66 else FreqFran = 0; 8057f5e: 4b14 ldr r3, [pc, #80] ; (8057fb0 ) 8057f60: f04f 0200 mov.w r2, #0 8057f64: 601a str r2, [r3, #0] faseF = 0; 8057f66: 4b0a ldr r3, [pc, #40] ; (8057f90 ) 8057f68: 2200 movs r2, #0 8057f6a: 601a str r2, [r3, #0] break; 8057f6c: e002 b.n 8057f74 okf = 0; 8057f6e: 4b0a ldr r3, [pc, #40] ; (8057f98 ) 8057f70: 2200 movs r2, #0 8057f72: 601a str r2, [r3, #0] break; 8057f74: bf00 nop for(i = 0; i < cnt; i++) 8057f76: 687b ldr r3, [r7, #4] 8057f78: 3301 adds r3, #1 8057f7a: 607b str r3, [r7, #4] 8057f7c: 687a ldr r2, [r7, #4] 8057f7e: 683b ldr r3, [r7, #0] 8057f80: 429a cmp r2, r3 8057f82: f4ff af1c bcc.w 8057dbe } } } 8057f86: bf00 nop 8057f88: 3708 adds r7, #8 8057f8a: 46bd mov sp, r7 8057f8c: bd80 pop {r7, pc} 8057f8e: bf00 nop 8057f90: 2002167c .word 0x2002167c 8057f94: 64080000 .word 0x64080000 8057f98: 20020094 .word 0x20020094 8057f9c: 20021678 .word 0x20021678 8057fa0: 20026ef4 .word 0x20026ef4 8057fa4: 38e38e39 .word 0x38e38e39 8057fa8: 20027930 .word 0x20027930 8057fac: 477a0000 .word 0x477a0000 8057fb0: 200215b4 .word 0x200215b4 08057fb4 : void CalcFreqTacho(void) { 8057fb4: b580 push {r7, lr} 8057fb6: b082 sub sp, #8 8057fb8: af00 add r7, sp, #0 uint32_t i, cnt = 8 * 16384u; 8057fba: f44f 3300 mov.w r3, #131072 ; 0x20000 8057fbe: 603b str r3, [r7, #0] for(i = 0; i < cnt; i++) 8057fc0: 2300 movs r3, #0 8057fc2: 607b str r3, [r7, #4] 8057fc4: e0de b.n 8058184 { switch(faseF) 8057fc6: 4b74 ldr r3, [pc, #464] ; (8058198 ) 8057fc8: 681b ldr r3, [r3, #0] 8057fca: 2b03 cmp r3, #3 8057fcc: f200 80d7 bhi.w 805817e 8057fd0: a201 add r2, pc, #4 ; (adr r2, 8057fd8 ) 8057fd2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8057fd6: bf00 nop 8057fd8: 08057fe9 .word 0x08057fe9 8057fdc: 0805802b .word 0x0805802b 8057fe0: 08058079 .word 0x08058079 8057fe4: 080580d1 .word 0x080580d1 { case 0: if(Freq_f32(i) < -DF_TACHO) 8057fe8: 687b ldr r3, [r7, #4] 8057fea: 009a lsls r2, r3, #2 8057fec: 4b6b ldr r3, [pc, #428] ; (805819c ) 8057fee: 4413 add r3, r2 8057ff0: edd3 7a00 vldr s15, [r3] 8057ff4: ed9f 7a6a vldr s14, [pc, #424] ; 80581a0 8057ff8: eef4 7ac7 vcmpe.f32 s15, s14 8057ffc: eef1 fa10 vmrs APSR_nzcv, fpscr 8058000: d50f bpl.n 8058022 { if(okf) 8058002: 4b68 ldr r3, [pc, #416] ; (80581a4 ) 8058004: 681b ldr r3, [r3, #0] 8058006: 2b00 cmp r3, #0 8058008: d005 beq.n 8058016 okf--; 805800a: 4b66 ldr r3, [pc, #408] ; (80581a4 ) 805800c: 681b ldr r3, [r3, #0] 805800e: 3b01 subs r3, #1 8058010: 4a64 ldr r2, [pc, #400] ; (80581a4 ) 8058012: 6013 str r3, [r2, #0] else faseF++; } else okf = CF; break; 8058014: e0b3 b.n 805817e else faseF++; 8058016: 4b60 ldr r3, [pc, #384] ; (8058198 ) 8058018: 681b ldr r3, [r3, #0] 805801a: 3301 adds r3, #1 805801c: 4a5e ldr r2, [pc, #376] ; (8058198 ) 805801e: 6013 str r3, [r2, #0] break; 8058020: e0ad b.n 805817e okf = CF; 8058022: 4b60 ldr r3, [pc, #384] ; (80581a4 ) 8058024: 2204 movs r2, #4 8058026: 601a str r2, [r3, #0] break; 8058028: e0a9 b.n 805817e case 1: frq[kf] = 0; 805802a: 4b5f ldr r3, [pc, #380] ; (80581a8 ) 805802c: 681b ldr r3, [r3, #0] 805802e: 4a5f ldr r2, [pc, #380] ; (80581ac ) 8058030: 2100 movs r1, #0 8058032: f842 1023 str.w r1, [r2, r3, lsl #2] if(Freq_f32(i) > DF_TACHO) 8058036: 687b ldr r3, [r7, #4] 8058038: 009a lsls r2, r3, #2 805803a: 4b58 ldr r3, [pc, #352] ; (805819c ) 805803c: 4413 add r3, r2 805803e: edd3 7a00 vldr s15, [r3] 8058042: ed9f 7a5b vldr s14, [pc, #364] ; 80581b0 8058046: eef4 7ac7 vcmpe.f32 s15, s14 805804a: eef1 fa10 vmrs APSR_nzcv, fpscr 805804e: dd0f ble.n 8058070 { if(okf < CF) 8058050: 4b54 ldr r3, [pc, #336] ; (80581a4 ) 8058052: 681b ldr r3, [r3, #0] 8058054: 2b03 cmp r3, #3 8058056: d805 bhi.n 8058064 okf++; 8058058: 4b52 ldr r3, [pc, #328] ; (80581a4 ) 805805a: 681b ldr r3, [r3, #0] 805805c: 3301 adds r3, #1 805805e: 4a51 ldr r2, [pc, #324] ; (80581a4 ) 8058060: 6013 str r3, [r2, #0] else faseF++; } else okf = 0; break; 8058062: e08c b.n 805817e else faseF++; 8058064: 4b4c ldr r3, [pc, #304] ; (8058198 ) 8058066: 681b ldr r3, [r3, #0] 8058068: 3301 adds r3, #1 805806a: 4a4b ldr r2, [pc, #300] ; (8058198 ) 805806c: 6013 str r3, [r2, #0] break; 805806e: e086 b.n 805817e okf = 0; 8058070: 4b4c ldr r3, [pc, #304] ; (80581a4 ) 8058072: 2200 movs r2, #0 8058074: 601a str r2, [r3, #0] break; 8058076: e082 b.n 805817e case 2: frq[kf] = frq[kf] + 1; 8058078: 4b4b ldr r3, [pc, #300] ; (80581a8 ) 805807a: 681b ldr r3, [r3, #0] 805807c: 4a4a ldr r2, [pc, #296] ; (80581a8 ) 805807e: 6812 ldr r2, [r2, #0] 8058080: 494a ldr r1, [pc, #296] ; (80581ac ) 8058082: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8058086: 3201 adds r2, #1 8058088: 4948 ldr r1, [pc, #288] ; (80581ac ) 805808a: f841 2023 str.w r2, [r1, r3, lsl #2] if(Freq_f32(i) < -DF_TACHO) 805808e: 687b ldr r3, [r7, #4] 8058090: 009a lsls r2, r3, #2 8058092: 4b42 ldr r3, [pc, #264] ; (805819c ) 8058094: 4413 add r3, r2 8058096: edd3 7a00 vldr s15, [r3] 805809a: ed9f 7a41 vldr s14, [pc, #260] ; 80581a0 805809e: eef4 7ac7 vcmpe.f32 s15, s14 80580a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80580a6: d50f bpl.n 80580c8 { if(okf) 80580a8: 4b3e ldr r3, [pc, #248] ; (80581a4 ) 80580aa: 681b ldr r3, [r3, #0] 80580ac: 2b00 cmp r3, #0 80580ae: d005 beq.n 80580bc okf--; 80580b0: 4b3c ldr r3, [pc, #240] ; (80581a4 ) 80580b2: 681b ldr r3, [r3, #0] 80580b4: 3b01 subs r3, #1 80580b6: 4a3b ldr r2, [pc, #236] ; (80581a4 ) 80580b8: 6013 str r3, [r2, #0] else faseF++; } else okf = CF; break; 80580ba: e060 b.n 805817e else faseF++; 80580bc: 4b36 ldr r3, [pc, #216] ; (8058198 ) 80580be: 681b ldr r3, [r3, #0] 80580c0: 3301 adds r3, #1 80580c2: 4a35 ldr r2, [pc, #212] ; (8058198 ) 80580c4: 6013 str r3, [r2, #0] break; 80580c6: e05a b.n 805817e okf = CF; 80580c8: 4b36 ldr r3, [pc, #216] ; (80581a4 ) 80580ca: 2204 movs r2, #4 80580cc: 601a str r2, [r3, #0] break; 80580ce: e056 b.n 805817e case 3: frq[kf] = frq[kf] + 1; 80580d0: 4b35 ldr r3, [pc, #212] ; (80581a8 ) 80580d2: 681b ldr r3, [r3, #0] 80580d4: 4a34 ldr r2, [pc, #208] ; (80581a8 ) 80580d6: 6812 ldr r2, [r2, #0] 80580d8: 4934 ldr r1, [pc, #208] ; (80581ac ) 80580da: f851 2022 ldr.w r2, [r1, r2, lsl #2] 80580de: 3201 adds r2, #1 80580e0: 4932 ldr r1, [pc, #200] ; (80581ac ) 80580e2: f841 2023 str.w r2, [r1, r3, lsl #2] if(Freq_f32(i) > DF_TACHO) 80580e6: 687b ldr r3, [r7, #4] 80580e8: 009a lsls r2, r3, #2 80580ea: 4b2c ldr r3, [pc, #176] ; (805819c ) 80580ec: 4413 add r3, r2 80580ee: edd3 7a00 vldr s15, [r3] 80580f2: ed9f 7a2f vldr s14, [pc, #188] ; 80581b0 80580f6: eef4 7ac7 vcmpe.f32 s15, s14 80580fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80580fe: dd3a ble.n 8058176 { if(okf < CF) 8058100: 4b28 ldr r3, [pc, #160] ; (80581a4 ) 8058102: 681b ldr r3, [r3, #0] 8058104: 2b03 cmp r3, #3 8058106: d805 bhi.n 8058114 okf++; 8058108: 4b26 ldr r3, [pc, #152] ; (80581a4 ) 805810a: 681b ldr r3, [r3, #0] 805810c: 3301 adds r3, #1 805810e: 4a25 ldr r2, [pc, #148] ; (80581a4 ) 8058110: 6013 str r3, [r2, #0] faseF = 0; } } else okf = 0; break; 8058112: e033 b.n 805817c kf = (kf + 1) % LEN_M_BUF_TACHO; 8058114: 4b24 ldr r3, [pc, #144] ; (80581a8 ) 8058116: 681b ldr r3, [r3, #0] 8058118: 1c59 adds r1, r3, #1 805811a: 4b26 ldr r3, [pc, #152] ; (80581b4 ) 805811c: fba3 2301 umull r2, r3, r3, r1 8058120: 089a lsrs r2, r3, #2 8058122: 4613 mov r3, r2 8058124: 009b lsls r3, r3, #2 8058126: 4413 add r3, r2 8058128: 1aca subs r2, r1, r3 805812a: 4b1f ldr r3, [pc, #124] ; (80581a8 ) 805812c: 601a str r2, [r3, #0] if(!kf) 805812e: 4b1e ldr r3, [pc, #120] ; (80581a8 ) 8058130: 681b ldr r3, [r3, #0] 8058132: 2b00 cmp r3, #0 8058134: d11b bne.n 805816e kf = 0; 8058136: 4b1c ldr r3, [pc, #112] ; (80581a8 ) 8058138: 2200 movs r2, #0 805813a: 601a str r2, [r3, #0] MedyF(); 805813c: f7ff fdde bl 8057cfc if(axF) 8058140: 4b1d ldr r3, [pc, #116] ; (80581b8 ) 8058142: edd3 7a00 vldr s15, [r3] 8058146: eef5 7a40 vcmp.f32 s15, #0.0 805814a: eef1 fa10 vmrs APSR_nzcv, fpscr 805814e: d00a beq.n 8058166 FreqFran = 20000.0f / axF; 8058150: 4b19 ldr r3, [pc, #100] ; (80581b8 ) 8058152: ed93 7a00 vldr s14, [r3] 8058156: eddf 6a19 vldr s13, [pc, #100] ; 80581bc 805815a: eec6 7a87 vdiv.f32 s15, s13, s14 805815e: 4b18 ldr r3, [pc, #96] ; (80581c0 ) 8058160: edc3 7a00 vstr s15, [r3] 8058164: e003 b.n 805816e else FreqFran = 0; 8058166: 4b16 ldr r3, [pc, #88] ; (80581c0 ) 8058168: f04f 0200 mov.w r2, #0 805816c: 601a str r2, [r3, #0] faseF = 0; 805816e: 4b0a ldr r3, [pc, #40] ; (8058198 ) 8058170: 2200 movs r2, #0 8058172: 601a str r2, [r3, #0] break; 8058174: e002 b.n 805817c okf = 0; 8058176: 4b0b ldr r3, [pc, #44] ; (80581a4 ) 8058178: 2200 movs r2, #0 805817a: 601a str r2, [r3, #0] break; 805817c: bf00 nop for(i = 0; i < cnt; i++) 805817e: 687b ldr r3, [r7, #4] 8058180: 3301 adds r3, #1 8058182: 607b str r3, [r7, #4] 8058184: 687a ldr r2, [r7, #4] 8058186: 683b ldr r3, [r7, #0] 8058188: 429a cmp r2, r3 805818a: f4ff af1c bcc.w 8057fc6 } } } 805818e: bf00 nop 8058190: 3708 adds r7, #8 8058192: 46bd mov sp, r7 8058194: bd80 pop {r7, pc} 8058196: bf00 nop 8058198: 2002167c .word 0x2002167c 805819c: 64080000 .word 0x64080000 80581a0: c1a40000 .word 0xc1a40000 80581a4: 20020094 .word 0x20020094 80581a8: 20021678 .word 0x20021678 80581ac: 20026ef4 .word 0x20026ef4 80581b0: 41a40000 .word 0x41a40000 80581b4: cccccccd .word 0xcccccccd 80581b8: 20027930 .word 0x20027930 80581bc: 469c4000 .word 0x469c4000 80581c0: 200215b4 .word 0x200215b4 80581c4: 00000000 .word 0x00000000 080581c8 : void meas(void) { 80581c8: b590 push {r4, r7, lr} 80581ca: ed2d 8b04 vpush {d8-d9} 80581ce: f5ad 7d0b sub.w sp, sp, #556 ; 0x22c 80581d2: 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; 80581d4: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 80581d8: f8c7 3218 str.w r3, [r7, #536] ; 0x218 if(READY /*== DATA_CAPTURED*/) 80581dc: 4bba ldr r3, [pc, #744] ; (80584c8 ) 80581de: 781b ldrb r3, [r3, #0] 80581e0: b2db uxtb r3, r3 80581e2: 2b00 cmp r3, #0 80581e4: f00d 84c3 beq.w 8065b6e { if(clbr) 80581e8: 4bb8 ldr r3, [pc, #736] ; (80584cc ) 80581ea: 781b ldrb r3, [r3, #0] 80581ec: b2db uxtb r3, r3 80581ee: 2b00 cmp r3, #0 80581f0: f000 8122 beq.w 8058438 { if((menu != CALIBR_00) && (menu < CALIBR_9)) 80581f4: 4bb6 ldr r3, [pc, #728] ; (80584d0 ) 80581f6: 781b ldrb r3, [r3, #0] 80581f8: b2db uxtb r3, r3 80581fa: 2b34 cmp r3, #52 ; 0x34 80581fc: f00d 84b2 beq.w 8065b64 8058200: 4bb3 ldr r3, [pc, #716] ; (80584d0 ) 8058202: 781b ldrb r3, [r3, #0] 8058204: b2db uxtb r3, r3 8058206: 2b3d cmp r3, #61 ; 0x3d 8058208: f20d 84ac bhi.w 8065b64 { if(measuring) 805820c: 4bb1 ldr r3, [pc, #708] ; (80584d4 ) 805820e: 781b ldrb r3, [r3, #0] 8058210: b2db uxtb r3, r3 8058212: 2b00 cmp r3, #0 8058214: f00d 84a6 beq.w 8065b64 { GetData(); 8058218: f00d ff58 bl 80660cc for(i = 0; i < Ns; i++) { 805821c: 2300 movs r3, #0 805821e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8058222: e014 b.n 805824e In[i] = (float32_t) In16[i].lg; 8058224: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058228: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805822c: 49aa ldr r1, [pc, #680] ; (80584d8 ) 805822e: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8058232: ee07 2a90 vmov s15, r2 8058236: eef8 7a67 vcvt.f32.u32 s15, s15 805823a: 4aa8 ldr r2, [pc, #672] ; (80584dc ) 805823c: 009b lsls r3, r3, #2 805823e: 4413 add r3, r2 8058240: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 8058244: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058248: 3301 adds r3, #1 805824a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805824e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058252: 4ba3 ldr r3, [pc, #652] ; (80584e0 ) 8058254: 681b ldr r3, [r3, #0] 8058256: 429a cmp r2, r3 8058258: d3e4 bcc.n 8058224 } arm_scale_f32(In, _b24 * 2, In, Ns); 805825a: 4ba1 ldr r3, [pc, #644] ; (80584e0 ) 805825c: 681b ldr r3, [r3, #0] 805825e: 461a mov r2, r3 8058260: 499e ldr r1, [pc, #632] ; (80584dc ) 8058262: ed9f 0aa0 vldr s0, [pc, #640] ; 80584e4 8058266: 489d ldr r0, [pc, #628] ; (80584dc ) 8058268: f077 f9fe bl 80cf668 arm_mean_f32(In, Ns, &fl); 805826c: 4b9c ldr r3, [pc, #624] ; (80584e0 ) 805826e: 681b ldr r3, [r3, #0] 8058270: f507 72de add.w r2, r7, #444 ; 0x1bc 8058274: 4619 mov r1, r3 8058276: 4899 ldr r0, [pc, #612] ; (80584dc ) 8058278: f076 fe96 bl 80cefa8 arm_offset_f32(In, -fl, Out, Ns); 805827c: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8058280: eef1 7a67 vneg.f32 s15, s15 8058284: 4b96 ldr r3, [pc, #600] ; (80584e0 ) 8058286: 681b ldr r3, [r3, #0] 8058288: 461a mov r2, r3 805828a: 4997 ldr r1, [pc, #604] ; (80584e8 ) 805828c: eeb0 0a67 vmov.f32 s0, s15 8058290: 4892 ldr r0, [pc, #584] ; (80584dc ) 8058292: f077 fa1f bl 80cf6d4 arm_rms_f32(Out, Ns, &skz[ACC]); 8058296: 4b92 ldr r3, [pc, #584] ; (80584e0 ) 8058298: 681b ldr r3, [r3, #0] 805829a: 4a94 ldr r2, [pc, #592] ; (80584ec ) 805829c: 4619 mov r1, r3 805829e: 4892 ldr r0, [pc, #584] ; (80584e8 ) 80582a0: f076 fd8a bl 80cedb8 switch(menu) 80582a4: 4b8a ldr r3, [pc, #552] ; (80584d0 ) 80582a6: 781b ldrb r3, [r3, #0] 80582a8: b2db uxtb r3, r3 80582aa: 3b35 subs r3, #53 ; 0x35 80582ac: 2b08 cmp r3, #8 80582ae: d869 bhi.n 8058384 80582b0: a201 add r2, pc, #4 ; (adr r2, 80582b8 ) 80582b2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80582b6: bf00 nop 80582b8: 080582dd .word 0x080582dd 80582bc: 080582e5 .word 0x080582e5 80582c0: 080582f7 .word 0x080582f7 80582c4: 08058309 .word 0x08058309 80582c8: 0805831b .word 0x0805831b 80582cc: 0805832d .word 0x0805832d 80582d0: 0805833f .word 0x0805833f 80582d4: 08058351 .word 0x08058351 80582d8: 0805836b .word 0x0805836b { case CALIBR_0: // ICP 1 fl = 4000.0f / 1.6f; 80582dc: 4b84 ldr r3, [pc, #528] ; (80584f0 ) 80582de: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc break; 80582e2: e04f b.n 8058384 case CALIBR_1: // ICP 2 fl = 4000.0f / 1.6f / KM[Ku2]; 80582e4: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80582e8: eddf 6a82 vldr s13, [pc, #520] ; 80584f4 80582ec: eec6 7a87 vdiv.f32 s15, s13, s14 80582f0: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 80582f4: e046 b.n 8058384 case CALIBR_2: // ICP 4 fl = 4000.0f / 1.6f / KM[Ku4]; 80582f6: eeb1 7a00 vmov.f32 s14, #16 ; 0x40800000 4.0 80582fa: eddf 6a7e vldr s13, [pc, #504] ; 80584f4 80582fe: eec6 7a87 vdiv.f32 s15, s13, s14 8058302: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 8058306: e03d b.n 8058384 case CALIBR_3: // ICP 8 fl = 4000.0f / 1.6f / KM[Ku8]; 8058308: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 805830c: eddf 6a79 vldr s13, [pc, #484] ; 80584f4 8058310: eec6 7a87 vdiv.f32 s15, s13, s14 8058314: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 8058318: e034 b.n 8058384 case CALIBR_4: // ICP 16 fl = 4000.0f / 1.6f/ KM[Ku16]; 805831a: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 805831e: eddf 6a75 vldr s13, [pc, #468] ; 80584f4 8058322: eec6 7a87 vdiv.f32 s15, s13, s14 8058326: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 805832a: e02b b.n 8058384 case CALIBR_5: // ICP 32 fl = 4000.0f / 1.6f / KM[Ku32]; 805832c: ed9f 7a72 vldr s14, [pc, #456] ; 80584f8 8058330: eddf 6a70 vldr s13, [pc, #448] ; 80584f4 8058334: eec6 7a87 vdiv.f32 s15, s13, s14 8058338: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 805833c: e022 b.n 8058384 case CALIBR_6: // ICP 64 fl = 4000.0f / 1.6f / KM[Ku64]; 805833e: ed9f 7a6f vldr s14, [pc, #444] ; 80584fc 8058342: eddf 6a6c vldr s13, [pc, #432] ; 80584f4 8058346: eec6 7a87 vdiv.f32 s15, s13, s14 805834a: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 805834e: e019 b.n 8058384 case CALIBR_7: // Kux10 fl = 4000.0f / 1.6f / 10.0f; 8058350: 4b6b ldr r3, [pc, #428] ; (8058500 ) 8058352: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc fl *= Kcorr[ICPx1]; 8058356: 4b6b ldr r3, [pc, #428] ; (8058504 ) 8058358: ed93 7a00 vldr s14, [r3] 805835c: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8058360: ee67 7a27 vmul.f32 s15, s14, s15 8058364: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 8058368: e00c b.n 8058384 case CALIBR_8: // ZAR 1 fl = 4000.0f / 1.6f; 805836a: 4b61 ldr r3, [pc, #388] ; (80584f0 ) 805836c: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc fl *= Kcorr[ICPx1]; 8058370: 4b64 ldr r3, [pc, #400] ; (8058504 ) 8058372: ed93 7a00 vldr s14, [r3] 8058376: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805837a: ee67 7a27 vmul.f32 s15, s14, s15 805837e: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 8058382: bf00 nop } skz[ACC] *= fl; 8058384: 4b59 ldr r3, [pc, #356] ; (80584ec ) 8058386: ed93 7a00 vldr s14, [r3] 805838a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805838e: ee67 7a27 vmul.f32 s15, s14, s15 8058392: 4b56 ldr r3, [pc, #344] ; (80584ec ) 8058394: edc3 7a00 vstr s15, [r3] if(skz[ACC] != 0.0f) 8058398: 4b54 ldr r3, [pc, #336] ; (80584ec ) 805839a: edd3 7a00 vldr s15, [r3] 805839e: eef5 7a40 vcmp.f32 s15, #0.0 80583a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80583a6: f00d 83dd beq.w 8065b64 { if(MeanClbr == 0) 80583aa: 4b57 ldr r3, [pc, #348] ; (8058508 ) 80583ac: 681b ldr r3, [r3, #0] 80583ae: 2b00 cmp r3, #0 80583b0: d111 bne.n 80583d6 MeanKcorr = Ucorr[menu - CALIBR_0] / skz[ACC]; 80583b2: 4b47 ldr r3, [pc, #284] ; (80584d0 ) 80583b4: 781b ldrb r3, [r3, #0] 80583b6: b2db uxtb r3, r3 80583b8: 3b35 subs r3, #53 ; 0x35 80583ba: 4a54 ldr r2, [pc, #336] ; (805850c ) 80583bc: 009b lsls r3, r3, #2 80583be: 4413 add r3, r2 80583c0: edd3 6a00 vldr s13, [r3] 80583c4: 4b49 ldr r3, [pc, #292] ; (80584ec ) 80583c6: ed93 7a00 vldr s14, [r3] 80583ca: eec6 7a87 vdiv.f32 s15, s13, s14 80583ce: 4b50 ldr r3, [pc, #320] ; (8058510 ) 80583d0: edc3 7a00 vstr s15, [r3] 80583d4: e015 b.n 8058402 else MeanKcorr += (Ucorr[menu - CALIBR_0] / skz[ACC]); 80583d6: 4b3e ldr r3, [pc, #248] ; (80584d0 ) 80583d8: 781b ldrb r3, [r3, #0] 80583da: b2db uxtb r3, r3 80583dc: 3b35 subs r3, #53 ; 0x35 80583de: 4a4b ldr r2, [pc, #300] ; (805850c ) 80583e0: 009b lsls r3, r3, #2 80583e2: 4413 add r3, r2 80583e4: edd3 6a00 vldr s13, [r3] 80583e8: 4b40 ldr r3, [pc, #256] ; (80584ec ) 80583ea: edd3 7a00 vldr s15, [r3] 80583ee: ee86 7aa7 vdiv.f32 s14, s13, s15 80583f2: 4b47 ldr r3, [pc, #284] ; (8058510 ) 80583f4: edd3 7a00 vldr s15, [r3] 80583f8: ee77 7a27 vadd.f32 s15, s14, s15 80583fc: 4b44 ldr r3, [pc, #272] ; (8058510 ) 80583fe: edc3 7a00 vstr s15, [r3] MeanClbr++; 8058402: 4b41 ldr r3, [pc, #260] ; (8058508 ) 8058404: 681b ldr r3, [r3, #0] 8058406: 3301 adds r3, #1 8058408: 4a3f ldr r2, [pc, #252] ; (8058508 ) 805840a: 6013 str r3, [r2, #0] Kcorr[menu - CALIBR_0] = MeanKcorr / ((float32_t) MeanClbr); 805840c: 4b30 ldr r3, [pc, #192] ; (80584d0 ) 805840e: 781b ldrb r3, [r3, #0] 8058410: b2db uxtb r3, r3 8058412: 3b35 subs r3, #53 ; 0x35 8058414: 4a3e ldr r2, [pc, #248] ; (8058510 ) 8058416: edd2 6a00 vldr s13, [r2] 805841a: 4a3b ldr r2, [pc, #236] ; (8058508 ) 805841c: 6812 ldr r2, [r2, #0] 805841e: ee07 2a90 vmov s15, r2 8058422: eeb8 7a67 vcvt.f32.u32 s14, s15 8058426: eec6 7a87 vdiv.f32 s15, s13, s14 805842a: 4a36 ldr r2, [pc, #216] ; (8058504 ) 805842c: 009b lsls r3, r3, #2 805842e: 4413 add r3, r2 8058430: edc3 7a00 vstr s15, [r3] 8058434: f00d bb96 b.w 8065b64 } } } else { switch(pardata.SYG) 8058438: 4b36 ldr r3, [pc, #216] ; (8058514 ) 805843a: 781b ldrb r3, [r3, #0] 805843c: b2db uxtb r3, r3 805843e: 2b0a cmp r3, #10 8058440: f20d 8390 bhi.w 8065b64 8058444: a201 add r2, pc, #4 ; (adr r2, 805844c ) 8058446: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805844a: bf00 nop 805844c: 0805a831 .word 0x0805a831 8058450: 0805e8ed .word 0x0805e8ed 8058454: 0806427d .word 0x0806427d 8058458: 0805a831 .word 0x0805a831 805845c: 0806546d .word 0x0806546d 8058460: 0805ed23 .word 0x0805ed23 8058464: 0805f323 .word 0x0805f323 8058468: 08060ab9 .word 0x08060ab9 805846c: 0805c063 .word 0x0805c063 8058470: 0805e16b .word 0x0805e16b 8058474: 08058479 .word 0x08058479 { case DIAGN: if(measuring) 8058478: 4b16 ldr r3, [pc, #88] ; (80584d4 ) 805847a: 781b ldrb r3, [r3, #0] 805847c: b2db uxtb r3, r3 805847e: 2b00 cmp r3, #0 8058480: f00d 835d beq.w 8065b3e { tick = HAL_GetTick(); 8058484: f05f face bl 80b7a24 8058488: f8c7 021c str.w r0, [r7, #540] ; 0x21c GetData(); 805848c: f00d fe1e bl 80660cc j = 0; 8058490: 2300 movs r3, #0 8058492: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 8058496: 4b1f ldr r3, [pc, #124] ; (8058514 ) 8058498: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805849c: f003 0304 and.w r3, r3, #4 80584a0: 2b00 cmp r3, #0 80584a2: d005 beq.n 80584b0 CalculateGain(Ns); 80584a4: 4b0e ldr r3, [pc, #56] ; (80584e0 ) 80584a6: 681b ldr r3, [r3, #0] 80584a8: 4618 mov r0, r3 80584aa: f7fe fff1 bl 8057490 80584ae: e05a b.n 8058566 else { Stability = (Nr * 4) + 1; 80584b0: 4b19 ldr r3, [pc, #100] ; (8058518 ) 80584b2: 881b ldrh r3, [r3, #0] 80584b4: b29b uxth r3, r3 80584b6: 009b lsls r3, r3, #2 80584b8: 3301 adds r3, #1 80584ba: 461a mov r2, r3 80584bc: 4b17 ldr r3, [pc, #92] ; (805851c ) 80584be: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 80584c0: 2300 movs r3, #0 80584c2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80584c6: e03d b.n 8058544 80584c8: 20020d9f .word 0x20020d9f 80584cc: 20020f90 .word 0x20020f90 80584d0: 20020fc5 .word 0x20020fc5 80584d4: 20020dcf .word 0x20020dcf 80584d8: 20058080 .word 0x20058080 80584dc: 20027a20 .word 0x20027a20 80584e0: 20021d2c .word 0x20021d2c 80584e4: 34c00000 .word 0x34c00000 80584e8: 20008000 .word 0x20008000 80584ec: 20021590 .word 0x20021590 80584f0: 451c4000 .word 0x451c4000 80584f4: 451c4000 .word 0x451c4000 80584f8: 42000000 .word 0x42000000 80584fc: 42800000 .word 0x42800000 8058500: 437a0000 .word 0x437a0000 8058504: 200261f4 .word 0x200261f4 8058508: 2002165c .word 0x2002165c 805850c: 080f52d8 .word 0x080f52d8 8058510: 20021660 .word 0x20021660 8058514: 20023eb8 .word 0x20023eb8 8058518: 20021d70 .word 0x20021d70 805851c: 20020dc8 .word 0x20020dc8 { if(In16[i].lg > 0xE00000) 8058520: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058524: 4ab8 ldr r2, [pc, #736] ; (8058808 ) 8058526: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805852a: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805852e: d904 bls.n 805853a j++; 8058530: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058534: 3301 adds r3, #1 8058536: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805853a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805853e: 3301 adds r3, #1 8058540: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8058544: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058548: 4bb0 ldr r3, [pc, #704] ; (805880c ) 805854a: 681b ldr r3, [r3, #0] 805854c: 429a cmp r2, r3 805854e: d3e7 bcc.n 8058520 } if(j >= 2) 8058550: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058554: 2b01 cmp r3, #1 8058556: d903 bls.n 8058560 OVERDRIVE = true; 8058558: 4bad ldr r3, [pc, #692] ; (8058810 ) 805855a: 2201 movs r2, #1 805855c: 701a strb r2, [r3, #0] 805855e: e002 b.n 8058566 else OVERDRIVE = false; 8058560: 4bab ldr r3, [pc, #684] ; (8058810 ) 8058562: 2200 movs r2, #0 8058564: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 8058566: 4bab ldr r3, [pc, #684] ; (8058814 ) 8058568: 781b ldrb r3, [r3, #0] 805856a: b2db uxtb r3, r3 805856c: 2b00 cmp r3, #0 805856e: d02d beq.n 80585cc { Stability = 0; 8058570: 4ba9 ldr r3, [pc, #676] ; (8058818 ) 8058572: 2200 movs r2, #0 8058574: 601a str r2, [r3, #0] NeedFreq = false; 8058576: 4ba9 ldr r3, [pc, #676] ; (805881c ) 8058578: 2200 movs r2, #0 805857a: 701a strb r2, [r3, #0] AvgCnt = 0; 805857c: 4ba8 ldr r3, [pc, #672] ; (8058820 ) 805857e: 2200 movs r2, #0 8058580: 601a str r2, [r3, #0] MeanCnt = 0; 8058582: 4ba8 ldr r3, [pc, #672] ; (8058824 ) 8058584: 2200 movs r2, #0 8058586: 601a str r2, [r3, #0] CNT_MEAN_FREQ = 0; 8058588: 4ba7 ldr r3, [pc, #668] ; (8058828 ) 805858a: 2200 movs r2, #0 805858c: 601a str r2, [r3, #0] MEAN_FREQ = 0.0f; 805858e: 4ba7 ldr r3, [pc, #668] ; (805882c ) 8058590: f04f 0200 mov.w r2, #0 8058594: 601a str r2, [r3, #0] arm_fill_f32(0.0f, rmsAVS, 4); 8058596: 2104 movs r1, #4 8058598: 48a5 ldr r0, [pc, #660] ; (8058830 ) 805859a: ed9f 0aa6 vldr s0, [pc, #664] ; 8058834 805859e: f076 fb5d bl 80cec5c arm_fill_f32(0.0f, peakAVS, 4); 80585a2: 2104 movs r1, #4 80585a4: 48a4 ldr r0, [pc, #656] ; (8058838 ) 80585a6: ed9f 0aa3 vldr s0, [pc, #652] ; 8058834 80585aa: f076 fb57 bl 80cec5c arm_fill_f32(0.0f, &ACC_PEAK_WR(0), 512 * 8u); 80585ae: f44f 5180 mov.w r1, #4096 ; 0x1000 80585b2: 48a2 ldr r0, [pc, #648] ; (805883c ) 80585b4: ed9f 0a9f vldr s0, [pc, #636] ; 8058834 80585b8: f076 fb50 bl 80cec5c NSamples = 0xffffffff; 80585bc: 4ba0 ldr r3, [pc, #640] ; (8058840 ) 80585be: f04f 32ff mov.w r2, #4294967295 80585c2: 601a str r2, [r3, #0] timeRelax = 48; 80585c4: 4b9f ldr r3, [pc, #636] ; (8058844 ) 80585c6: 2230 movs r2, #48 ; 0x30 80585c8: 601a str r2, [r3, #0] 80585ca: e00d b.n 80585e8 } else { if(Stability <= (Nr * 4)) 80585cc: 4b9e ldr r3, [pc, #632] ; (8058848 ) 80585ce: 881b ldrh r3, [r3, #0] 80585d0: b29b uxth r3, r3 80585d2: 009b lsls r3, r3, #2 80585d4: 461a mov r2, r3 80585d6: 4b90 ldr r3, [pc, #576] ; (8058818 ) 80585d8: 681b ldr r3, [r3, #0] 80585da: 429a cmp r2, r3 80585dc: d304 bcc.n 80585e8 Stability++; 80585de: 4b8e ldr r3, [pc, #568] ; (8058818 ) 80585e0: 681b ldr r3, [r3, #0] 80585e2: 3301 adds r3, #1 80585e4: 4a8c ldr r2, [pc, #560] ; (8058818 ) 80585e6: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 80585e8: 4b8a ldr r3, [pc, #552] ; (8058814 ) 80585ea: 781b ldrb r3, [r3, #0] 80585ec: b2db uxtb r3, r3 80585ee: 2b00 cmp r3, #0 80585f0: f042 80fa bne.w 805a7e8 80585f4: 4b94 ldr r3, [pc, #592] ; (8058848 ) 80585f6: 881b ldrh r3, [r3, #0] 80585f8: b29b uxth r3, r3 80585fa: 009b lsls r3, r3, #2 80585fc: 461a mov r2, r3 80585fe: 4b86 ldr r3, [pc, #536] ; (8058818 ) 8058600: 681b ldr r3, [r3, #0] 8058602: 429a cmp r2, r3 8058604: f082 80f0 bcs.w 805a7e8 { fNrm = 1.0f / (float32_t) (Ns >> 1); 8058608: 4b80 ldr r3, [pc, #512] ; (805880c ) 805860a: 681b ldr r3, [r3, #0] 805860c: 085b lsrs r3, r3, #1 805860e: ee07 3a90 vmov s15, r3 8058612: eeb8 7a67 vcvt.f32.u32 s14, s15 8058616: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805861a: eec6 7a87 vdiv.f32 s15, s13, s14 805861e: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 8058622: 4b8a ldr r3, [pc, #552] ; (805884c ) 8058624: edd3 7a00 vldr s15, [r3] 8058628: eeb7 7ae7 vcvt.f64.f32 d7, s15 805862c: ed9f 6b74 vldr d6, [pc, #464] ; 8058800 8058630: ee27 7b06 vmul.f64 d7, d7, d6 8058634: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 8058638: 2300 movs r3, #0 805863a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805863e: e026 b.n 805868e { Buff64[i] = (float64_t) In16[i].lg; 8058640: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058644: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058648: 496f ldr r1, [pc, #444] ; (8058808 ) 805864a: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805864e: ee07 2a90 vmov s15, r2 8058652: eeb8 7b67 vcvt.f64.u32 d7, s15 8058656: 4a7e ldr r2, [pc, #504] ; (8058850 ) 8058658: 00db lsls r3, r3, #3 805865a: 4413 add r3, r2 805865c: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 8058660: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058664: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058668: 4979 ldr r1, [pc, #484] ; (8058850 ) 805866a: 00d2 lsls r2, r2, #3 805866c: 440a add r2, r1 805866e: ed92 6b00 vldr d6, [r2] 8058672: ed97 7b82 vldr d7, [r7, #520] ; 0x208 8058676: ee26 7b07 vmul.f64 d7, d6, d7 805867a: 4a75 ldr r2, [pc, #468] ; (8058850 ) 805867c: 00db lsls r3, r3, #3 805867e: 4413 add r3, r2 8058680: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 8058684: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058688: 3301 adds r3, #1 805868a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805868e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058692: 4b5e ldr r3, [pc, #376] ; (805880c ) 8058694: 681b ldr r3, [r3, #0] 8058696: 429a cmp r2, r3 8058698: d3d2 bcc.n 8058640 } ///////// CALC OPERANDS /////////////////// for(k = 0; k < NUM_OPERANDS; k++) 805869a: 2300 movs r3, #0 805869c: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 80586a0: e260 b.n 8058b64 { arm_biquad_cascade_df2T_f64(&D_LP[k], Buff64, &Buff64[Ns], Ns); 80586a2: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 80586a6: 4613 mov r3, r2 80586a8: 005b lsls r3, r3, #1 80586aa: 4413 add r3, r2 80586ac: 009b lsls r3, r3, #2 80586ae: 4a69 ldr r2, [pc, #420] ; (8058854 ) 80586b0: 1898 adds r0, r3, r2 80586b2: 4b56 ldr r3, [pc, #344] ; (805880c ) 80586b4: 681b ldr r3, [r3, #0] 80586b6: 00db lsls r3, r3, #3 80586b8: 4a65 ldr r2, [pc, #404] ; (8058850 ) 80586ba: 441a add r2, r3 80586bc: 4b53 ldr r3, [pc, #332] ; (805880c ) 80586be: 681b ldr r3, [r3, #0] 80586c0: 4963 ldr r1, [pc, #396] ; (8058850 ) 80586c2: f076 fd1b bl 80cf0fc switch(pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) 80586c6: 4b64 ldr r3, [pc, #400] ; (8058858 ) 80586c8: 781b ldrb r3, [r3, #0] 80586ca: b2db uxtb r3, r3 80586cc: 461a mov r2, r3 80586ce: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80586d2: 4962 ldr r1, [pc, #392] ; (805885c ) 80586d4: 0092 lsls r2, r2, #2 80586d6: 440a add r2, r1 80586d8: 4413 add r3, r2 80586da: f503 730f add.w r3, r3, #572 ; 0x23c 80586de: 781b ldrb r3, [r3, #0] 80586e0: b2db uxtb r3, r3 80586e2: f003 0307 and.w r3, r3, #7 80586e6: 2b02 cmp r3, #2 80586e8: d002 beq.n 80586f0 80586ea: 2b04 cmp r3, #4 80586ec: d017 beq.n 805871e 80586ee: e02d b.n 805874c { case DIAGN_VEL: //VEL arm_biquad_cascade_df2T_f64(&D_INT1[k], &Buff64[Ns], &Buff64[Ns], Ns); 80586f0: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 80586f4: 4613 mov r3, r2 80586f6: 005b lsls r3, r3, #1 80586f8: 4413 add r3, r2 80586fa: 009b lsls r3, r3, #2 80586fc: 4a58 ldr r2, [pc, #352] ; (8058860 ) 80586fe: 1898 adds r0, r3, r2 8058700: 4b42 ldr r3, [pc, #264] ; (805880c ) 8058702: 681b ldr r3, [r3, #0] 8058704: 00db lsls r3, r3, #3 8058706: 4a52 ldr r2, [pc, #328] ; (8058850 ) 8058708: 1899 adds r1, r3, r2 805870a: 4b40 ldr r3, [pc, #256] ; (805880c ) 805870c: 681b ldr r3, [r3, #0] 805870e: 00db lsls r3, r3, #3 8058710: 4a4f ldr r2, [pc, #316] ; (8058850 ) 8058712: 441a add r2, r3 8058714: 4b3d ldr r3, [pc, #244] ; (805880c ) 8058716: 681b ldr r3, [r3, #0] 8058718: f076 fcf0 bl 80cf0fc break; 805871c: e016 b.n 805874c case DIAGN_DIS: //DIS arm_biquad_cascade_df2T_f64(&D_INT2[k], &Buff64[Ns], &Buff64[Ns], Ns); 805871e: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8058722: 4613 mov r3, r2 8058724: 005b lsls r3, r3, #1 8058726: 4413 add r3, r2 8058728: 009b lsls r3, r3, #2 805872a: 4a4e ldr r2, [pc, #312] ; (8058864 ) 805872c: 1898 adds r0, r3, r2 805872e: 4b37 ldr r3, [pc, #220] ; (805880c ) 8058730: 681b ldr r3, [r3, #0] 8058732: 00db lsls r3, r3, #3 8058734: 4a46 ldr r2, [pc, #280] ; (8058850 ) 8058736: 1899 adds r1, r3, r2 8058738: 4b34 ldr r3, [pc, #208] ; (805880c ) 805873a: 681b ldr r3, [r3, #0] 805873c: 00db lsls r3, r3, #3 805873e: 4a44 ldr r2, [pc, #272] ; (8058850 ) 8058740: 441a add r2, r3 8058742: 4b32 ldr r3, [pc, #200] ; (805880c ) 8058744: 681b ldr r3, [r3, #0] 8058746: f076 fcd9 bl 80cf0fc break; 805874a: bf00 nop } arm_biquad_cascade_df2T_f64(&D_HP[k], &Buff64[Ns], &Buff64[Ns], Ns); 805874c: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8058750: 4613 mov r3, r2 8058752: 005b lsls r3, r3, #1 8058754: 4413 add r3, r2 8058756: 009b lsls r3, r3, #2 8058758: 4a43 ldr r2, [pc, #268] ; (8058868 ) 805875a: 1898 adds r0, r3, r2 805875c: 4b2b ldr r3, [pc, #172] ; (805880c ) 805875e: 681b ldr r3, [r3, #0] 8058760: 00db lsls r3, r3, #3 8058762: 4a3b ldr r2, [pc, #236] ; (8058850 ) 8058764: 1899 adds r1, r3, r2 8058766: 4b29 ldr r3, [pc, #164] ; (805880c ) 8058768: 681b ldr r3, [r3, #0] 805876a: 00db lsls r3, r3, #3 805876c: 4a38 ldr r2, [pc, #224] ; (8058850 ) 805876e: 441a add r2, r3 8058770: 4b26 ldr r3, [pc, #152] ; (805880c ) 8058772: 681b ldr r3, [r3, #0] 8058774: f076 fcc2 bl 80cf0fc for(i = 0; i < Ns; i++) { 8058778: 2300 movs r3, #0 805877a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805877e: e016 b.n 80587ae Out[i] = (float32_t) Buff64[i + 8192]; 8058780: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058784: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058788: f502 5200 add.w r2, r2, #8192 ; 0x2000 805878c: 4930 ldr r1, [pc, #192] ; (8058850 ) 805878e: 00d2 lsls r2, r2, #3 8058790: 440a add r2, r1 8058792: ed92 7b00 vldr d7, [r2] 8058796: eef7 7bc7 vcvt.f32.f64 s15, d7 805879a: 4a34 ldr r2, [pc, #208] ; (805886c ) 805879c: 009b lsls r3, r3, #2 805879e: 4413 add r3, r2 80587a0: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 80587a4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80587a8: 3301 adds r3, #1 80587aa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80587ae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80587b2: 4b16 ldr r3, [pc, #88] ; (805880c ) 80587b4: 681b ldr r3, [r3, #0] 80587b6: 429a cmp r2, r3 80587b8: d3e2 bcc.n 8058780 } if((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) == DIAGN_VEL) 80587ba: 4b27 ldr r3, [pc, #156] ; (8058858 ) 80587bc: 781b ldrb r3, [r3, #0] 80587be: b2db uxtb r3, r3 80587c0: 461a mov r2, r3 80587c2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80587c6: 4925 ldr r1, [pc, #148] ; (805885c ) 80587c8: 0092 lsls r2, r2, #2 80587ca: 440a add r2, r1 80587cc: 4413 add r3, r2 80587ce: f503 730f add.w r3, r3, #572 ; 0x23c 80587d2: 781b ldrb r3, [r3, #0] 80587d4: b2db uxtb r3, r3 80587d6: f003 0307 and.w r3, r3, #7 80587da: 2b02 cmp r3, #2 80587dc: d14a bne.n 8058874 { fs = 249.135f; 80587de: 4b24 ldr r3, [pc, #144] ; (8058870 ) 80587e0: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 arm_scale_f32(Out, fs, Out, Ns); 80587e4: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 80587e8: 4b08 ldr r3, [pc, #32] ; (805880c ) 80587ea: 681b ldr r3, [r3, #0] 80587ec: 461a mov r2, r3 80587ee: 491f ldr r1, [pc, #124] ; (805886c ) 80587f0: eeb0 0a67 vmov.f32 s0, s15 80587f4: 481d ldr r0, [pc, #116] ; (805886c ) 80587f6: f076 ff37 bl 80cf668 80587fa: e05b b.n 80588b4 80587fc: f3af 8000 nop.w 8058800: 18000018 .word 0x18000018 8058804: 3e980000 .word 0x3e980000 8058808: 20058080 .word 0x20058080 805880c: 20021d2c .word 0x20021d2c 8058810: 20021581 .word 0x20021581 8058814: 20020d9e .word 0x20020d9e 8058818: 20020dc8 .word 0x20020dc8 805881c: 20020d95 .word 0x20020d95 8058820: 20020d80 .word 0x20020d80 8058824: 20020dd8 .word 0x20020dd8 8058828: 20021670 .word 0x20021670 805882c: 2002166c .word 0x2002166c 8058830: 20021d38 .word 0x20021d38 8058834: 00000000 .word 0x00000000 8058838: 20021d4c .word 0x20021d4c 805883c: 64050000 .word 0x64050000 8058840: 20020da8 .word 0x20020da8 8058844: 20020d8c .word 0x20020d8c 8058848: 20021d70 .word 0x20021d70 805884c: 20020080 .word 0x20020080 8058850: 20037b40 .word 0x20037b40 8058854: 200262fc .word 0x200262fc 8058858: 2002105d .word 0x2002105d 805885c: 20023eb8 .word 0x20023eb8 8058860: 20026954 .word 0x20026954 8058864: 20057df0 .word 0x20057df0 8058868: 200683c8 .word 0x200683c8 805886c: 20008000 .word 0x20008000 8058870: 4379228f .word 0x4379228f } else if((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) == DIAGN_DIS) 8058874: 4bd1 ldr r3, [pc, #836] ; (8058bbc ) 8058876: 781b ldrb r3, [r3, #0] 8058878: b2db uxtb r3, r3 805887a: 461a mov r2, r3 805887c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058880: 49cf ldr r1, [pc, #828] ; (8058bc0 ) 8058882: 0092 lsls r2, r2, #2 8058884: 440a add r2, r1 8058886: 4413 add r3, r2 8058888: f503 730f add.w r3, r3, #572 ; 0x23c 805888c: 781b ldrb r3, [r3, #0] 805888e: b2db uxtb r3, r3 8058890: f003 0307 and.w r3, r3, #7 8058894: 2b04 cmp r3, #4 8058896: d10d bne.n 80588b4 { fs = 61400.171f; 8058898: 4bca ldr r3, [pc, #808] ; (8058bc4 ) 805889a: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 arm_scale_f32(Out, fs, Out, Ns); 805889e: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 80588a2: 4bc9 ldr r3, [pc, #804] ; (8058bc8 ) 80588a4: 681b ldr r3, [r3, #0] 80588a6: 461a mov r2, r3 80588a8: 49c8 ldr r1, [pc, #800] ; (8058bcc ) 80588aa: eeb0 0a67 vmov.f32 s0, s15 80588ae: 48c7 ldr r0, [pc, #796] ; (8058bcc ) 80588b0: f076 feda bl 80cf668 switch((pardata.DIAGN_MASK[CURR_POINT][k] >> 3) & 0x1f) 80588b4: 4bc1 ldr r3, [pc, #772] ; (8058bbc ) 80588b6: 781b ldrb r3, [r3, #0] 80588b8: b2db uxtb r3, r3 80588ba: 461a mov r2, r3 80588bc: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80588c0: 49bf ldr r1, [pc, #764] ; (8058bc0 ) 80588c2: 0092 lsls r2, r2, #2 80588c4: 440a add r2, r1 80588c6: 4413 add r3, r2 80588c8: f503 730f add.w r3, r3, #572 ; 0x23c 80588cc: 781b ldrb r3, [r3, #0] 80588ce: b2db uxtb r3, r3 80588d0: 08db lsrs r3, r3, #3 80588d2: b2db uxtb r3, r3 80588d4: f003 031f and.w r3, r3, #31 80588d8: 3b01 subs r3, #1 80588da: 2b0f cmp r3, #15 80588dc: f200 813d bhi.w 8058b5a 80588e0: a201 add r2, pc, #4 ; (adr r2, 80588e8 ) 80588e2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80588e6: bf00 nop 80588e8: 08058929 .word 0x08058929 80588ec: 080589ad .word 0x080589ad 80588f0: 08058b5b .word 0x08058b5b 80588f4: 080589d7 .word 0x080589d7 80588f8: 08058b5b .word 0x08058b5b 80588fc: 08058b5b .word 0x08058b5b 8058900: 08058b5b .word 0x08058b5b 8058904: 08058a8d .word 0x08058a8d 8058908: 08058b5b .word 0x08058b5b 805890c: 08058b5b .word 0x08058b5b 8058910: 08058b5b .word 0x08058b5b 8058914: 08058b5b .word 0x08058b5b 8058918: 08058b5b .word 0x08058b5b 805891c: 08058b5b .word 0x08058b5b 8058920: 08058b5b .word 0x08058b5b 8058924: 08058b39 .word 0x08058b39 { case DIAGN_PEAK: // peak arm_min_f32(Out, Ns, &fn[0], &i); 8058928: 4ba7 ldr r3, [pc, #668] ; (8058bc8 ) 805892a: 6819 ldr r1, [r3, #0] 805892c: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8058930: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8058934: 48a5 ldr r0, [pc, #660] ; (8058bcc ) 8058936: f076 fad1 bl 80ceedc arm_max_f32(Out, Ns, &fn[1], &j); 805893a: 4ba3 ldr r3, [pc, #652] ; (8058bc8 ) 805893c: 6819 ldr r1, [r3, #0] 805893e: f507 70e6 add.w r0, r7, #460 ; 0x1cc 8058942: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8058946: 1d1a adds r2, r3, #4 8058948: 4603 mov r3, r0 805894a: 48a0 ldr r0, [pc, #640] ; (8058bcc ) 805894c: f076 fb62 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8058950: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058954: eef5 7ac0 vcmpe.f32 s15, #0.0 8058958: eef1 fa10 vmrs APSR_nzcv, fpscr 805895c: dd02 ble.n 8058964 805895e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058962: e003 b.n 805896c 8058964: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058968: eef1 7a67 vneg.f32 s15, s15 805896c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8058970: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058974: eef5 7ac0 vcmpe.f32 s15, #0.0 8058978: eef1 fa10 vmrs APSR_nzcv, fpscr 805897c: dd02 ble.n 8058984 805897e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058982: e003 b.n 805898c 8058984: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058988: eef1 7a67 vneg.f32 s15, s15 805898c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fval[k], &i); 8058990: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058994: f107 02fc add.w r2, r7, #252 ; 0xfc 8058998: 009b lsls r3, r3, #2 805899a: 441a add r2, r3 805899c: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80589a0: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80589a4: 2102 movs r1, #2 80589a6: f076 fb35 bl 80cf014 break; 80589aa: e0d6 b.n 8058b5a case DIAGN_RMS: // rms arm_power_f32(Out, Ns, &fval[k]); 80589ac: 4b86 ldr r3, [pc, #536] ; (8058bc8 ) 80589ae: 6819 ldr r1, [r3, #0] 80589b0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80589b4: f107 02fc add.w r2, r7, #252 ; 0xfc 80589b8: 009b lsls r3, r3, #2 80589ba: 4413 add r3, r2 80589bc: 461a mov r2, r3 80589be: 4883 ldr r0, [pc, #524] ; (8058bcc ) 80589c0: f076 fa52 bl 80cee68 arm_rms_f32(Out, Ns, &rms); 80589c4: 4b80 ldr r3, [pc, #512] ; (8058bc8 ) 80589c6: 681b ldr r3, [r3, #0] 80589c8: f507 7286 add.w r2, r7, #268 ; 0x10c 80589cc: 4619 mov r1, r3 80589ce: 487f ldr r0, [pc, #508] ; (8058bcc ) 80589d0: f076 f9f2 bl 80cedb8 break; 80589d4: e0c1 b.n 8058b5a case DIAGN_PEAK_TO_PEAK: // pk-pk arm_min_f32(Out, Ns, &fn[0], &i); 80589d6: 4b7c ldr r3, [pc, #496] ; (8058bc8 ) 80589d8: 6819 ldr r1, [r3, #0] 80589da: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80589de: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80589e2: 487a ldr r0, [pc, #488] ; (8058bcc ) 80589e4: f076 fa7a bl 80ceedc arm_max_f32(Out, Ns, &fn[1], &j); 80589e8: 4b77 ldr r3, [pc, #476] ; (8058bc8 ) 80589ea: 6819 ldr r1, [r3, #0] 80589ec: f507 70e6 add.w r0, r7, #460 ; 0x1cc 80589f0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80589f4: 1d1a adds r2, r3, #4 80589f6: 4603 mov r3, r0 80589f8: 4874 ldr r0, [pc, #464] ; (8058bcc ) 80589fa: f076 fb0b bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80589fe: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058a02: eef5 7ac0 vcmpe.f32 s15, #0.0 8058a06: eef1 fa10 vmrs APSR_nzcv, fpscr 8058a0a: dd02 ble.n 8058a12 8058a0c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058a10: e003 b.n 8058a1a 8058a12: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058a16: eef1 7a67 vneg.f32 s15, s15 8058a1a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8058a1e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058a22: eef5 7ac0 vcmpe.f32 s15, #0.0 8058a26: eef1 fa10 vmrs APSR_nzcv, fpscr 8058a2a: dd02 ble.n 8058a32 8058a2c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058a30: e003 b.n 8058a3a 8058a32: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058a36: eef1 7a67 vneg.f32 s15, s15 8058a3a: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 fval[k] = ABS(fn[0]) + ABS(fn[1]); 8058a3e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058a42: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058a46: eef5 7ac0 vcmpe.f32 s15, #0.0 8058a4a: eef1 fa10 vmrs APSR_nzcv, fpscr 8058a4e: dd02 ble.n 8058a56 8058a50: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8058a54: e003 b.n 8058a5e 8058a56: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058a5a: eeb1 7a67 vneg.f32 s14, s15 8058a5e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058a62: eef5 7ac0 vcmpe.f32 s15, #0.0 8058a66: eef1 fa10 vmrs APSR_nzcv, fpscr 8058a6a: dd02 ble.n 8058a72 8058a6c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058a70: e003 b.n 8058a7a 8058a72: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058a76: eef1 7a67 vneg.f32 s15, s15 8058a7a: ee77 7a27 vadd.f32 s15, s14, s15 8058a7e: f107 02fc add.w r2, r7, #252 ; 0xfc 8058a82: 009b lsls r3, r3, #2 8058a84: 4413 add r3, r2 8058a86: edc3 7a00 vstr s15, [r3] break; 8058a8a: e066 b.n 8058b5a case DIAGN_PEAK_FACTOR: // peak-factor arm_min_f32(Out, Ns, &fn[0], &i); 8058a8c: 4b4e ldr r3, [pc, #312] ; (8058bc8 ) 8058a8e: 6819 ldr r1, [r3, #0] 8058a90: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8058a94: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8058a98: 484c ldr r0, [pc, #304] ; (8058bcc ) 8058a9a: f076 fa1f bl 80ceedc arm_max_f32(Out, Ns, &fn[1], &j); 8058a9e: 4b4a ldr r3, [pc, #296] ; (8058bc8 ) 8058aa0: 6819 ldr r1, [r3, #0] 8058aa2: f507 70e6 add.w r0, r7, #460 ; 0x1cc 8058aa6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8058aaa: 1d1a adds r2, r3, #4 8058aac: 4603 mov r3, r0 8058aae: 4847 ldr r0, [pc, #284] ; (8058bcc ) 8058ab0: f076 fab0 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8058ab4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058ab8: eef5 7ac0 vcmpe.f32 s15, #0.0 8058abc: eef1 fa10 vmrs APSR_nzcv, fpscr 8058ac0: dd02 ble.n 8058ac8 8058ac2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058ac6: e003 b.n 8058ad0 8058ac8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058acc: eef1 7a67 vneg.f32 s15, s15 8058ad0: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8058ad4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058ad8: eef5 7ac0 vcmpe.f32 s15, #0.0 8058adc: eef1 fa10 vmrs APSR_nzcv, fpscr 8058ae0: dd02 ble.n 8058ae8 8058ae2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058ae6: e003 b.n 8058af0 8058ae8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058aec: eef1 7a67 vneg.f32 s15, s15 8058af0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fpeak[k], &i); 8058af4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058af8: f107 02ec add.w r2, r7, #236 ; 0xec 8058afc: 009b lsls r3, r3, #2 8058afe: 441a add r2, r3 8058b00: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8058b04: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8058b08: 2102 movs r1, #2 8058b0a: f076 fa83 bl 80cf014 arm_power_f32(Out, Ns, &fval[k]); 8058b0e: 4b2e ldr r3, [pc, #184] ; (8058bc8 ) 8058b10: 6819 ldr r1, [r3, #0] 8058b12: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058b16: f107 02fc add.w r2, r7, #252 ; 0xfc 8058b1a: 009b lsls r3, r3, #2 8058b1c: 4413 add r3, r2 8058b1e: 461a mov r2, r3 8058b20: 482a ldr r0, [pc, #168] ; (8058bcc ) 8058b22: f076 f9a1 bl 80cee68 arm_rms_f32(Out, Ns, &rms); 8058b26: 4b28 ldr r3, [pc, #160] ; (8058bc8 ) 8058b28: 681b ldr r3, [r3, #0] 8058b2a: f507 7286 add.w r2, r7, #268 ; 0x10c 8058b2e: 4619 mov r1, r3 8058b30: 4826 ldr r0, [pc, #152] ; (8058bcc ) 8058b32: f076 f941 bl 80cedb8 break; 8058b36: e010 b.n 8058b5a case DIAGN_EXCESS: // excess fval[k] = CalcExcess(Out, Ns); 8058b38: f8d7 41c8 ldr.w r4, [r7, #456] ; 0x1c8 8058b3c: 4b22 ldr r3, [pc, #136] ; (8058bc8 ) 8058b3e: 681b ldr r3, [r3, #0] 8058b40: 4619 mov r1, r3 8058b42: 4822 ldr r0, [pc, #136] ; (8058bcc ) 8058b44: f00f fff0 bl 8068b28 8058b48: eef0 7a40 vmov.f32 s15, s0 8058b4c: f107 02fc add.w r2, r7, #252 ; 0xfc 8058b50: 00a3 lsls r3, r4, #2 8058b52: 4413 add r3, r2 8058b54: edc3 7a00 vstr s15, [r3] break; 8058b58: bf00 nop for(k = 0; k < NUM_OPERANDS; k++) 8058b5a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058b5e: 3301 adds r3, #1 8058b60: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 8058b64: 4b1a ldr r3, [pc, #104] ; (8058bd0 ) 8058b66: 781b ldrb r3, [r3, #0] 8058b68: b2db uxtb r3, r3 8058b6a: 461a mov r2, r3 8058b6c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058b70: 429a cmp r2, r3 8058b72: f63f ad96 bhi.w 80586a2 } } ////////////////////////////////////////// if(timeRelax) 8058b76: 4b17 ldr r3, [pc, #92] ; (8058bd4 ) 8058b78: 681b ldr r3, [r3, #0] 8058b7a: 2b00 cmp r3, #0 8058b7c: d01a beq.n 8058bb4 { timeRelax--; 8058b7e: 4b15 ldr r3, [pc, #84] ; (8058bd4 ) 8058b80: 681b ldr r3, [r3, #0] 8058b82: 3b01 subs r3, #1 8058b84: 4a13 ldr r2, [pc, #76] ; (8058bd4 ) 8058b86: 6013 str r3, [r2, #0] for(i = 0; i < 4; i++) { 8058b88: 2300 movs r3, #0 8058b8a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8058b8e: e00b b.n 8058ba8 operand[i] = -1.0f; 8058b90: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058b94: 4a10 ldr r2, [pc, #64] ; (8058bd8 ) 8058b96: 009b lsls r3, r3, #2 8058b98: 4413 add r3, r2 8058b9a: 4a10 ldr r2, [pc, #64] ; (8058bdc ) 8058b9c: 601a str r2, [r3, #0] for(i = 0; i < 4; i++) { 8058b9e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058ba2: 3301 adds r3, #1 8058ba4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8058ba8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058bac: 2b03 cmp r3, #3 8058bae: d9ef bls.n 8058b90 8058bb0: f001 bdd9 b.w 805a766 } } else { for(i = 0; i < NUM_OPERANDS; i++) 8058bb4: 2300 movs r3, #0 8058bb6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8058bba: e117 b.n 8058dec 8058bbc: 2002105d .word 0x2002105d 8058bc0: 20023eb8 .word 0x20023eb8 8058bc4: 476fd82c .word 0x476fd82c 8058bc8: 20021d2c .word 0x20021d2c 8058bcc: 20008000 .word 0x20008000 8058bd0: 2002105e .word 0x2002105e 8058bd4: 20020d8c .word 0x20020d8c 8058bd8: 20026938 .word 0x20026938 8058bdc: bf800000 .word 0xbf800000 { switch((pardata.DIAGN_MASK[CURR_POINT][i] >> 3) & 0x1f) 8058be0: 4b92 ldr r3, [pc, #584] ; (8058e2c ) 8058be2: 781b ldrb r3, [r3, #0] 8058be4: b2db uxtb r3, r3 8058be6: 461a mov r2, r3 8058be8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058bec: 4990 ldr r1, [pc, #576] ; (8058e30 ) 8058bee: 0092 lsls r2, r2, #2 8058bf0: 440a add r2, r1 8058bf2: 4413 add r3, r2 8058bf4: f503 730f add.w r3, r3, #572 ; 0x23c 8058bf8: 781b ldrb r3, [r3, #0] 8058bfa: b2db uxtb r3, r3 8058bfc: 08db lsrs r3, r3, #3 8058bfe: b2db uxtb r3, r3 8058c00: f003 031f and.w r3, r3, #31 8058c04: 3b01 subs r3, #1 8058c06: 2b0f cmp r3, #15 8058c08: f200 80eb bhi.w 8058de2 8058c0c: a201 add r2, pc, #4 ; (adr r2, 8058c14 ) 8058c0e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8058c12: bf00 nop 8058c14: 08058c55 .word 0x08058c55 8058c18: 08058d0f .word 0x08058d0f 8058c1c: 08058de3 .word 0x08058de3 8058c20: 08058c55 .word 0x08058c55 8058c24: 08058de3 .word 0x08058de3 8058c28: 08058de3 .word 0x08058de3 8058c2c: 08058de3 .word 0x08058de3 8058c30: 08058c9b .word 0x08058c9b 8058c34: 08058de3 .word 0x08058de3 8058c38: 08058de3 .word 0x08058de3 8058c3c: 08058de3 .word 0x08058de3 8058c40: 08058de3 .word 0x08058de3 8058c44: 08058de3 .word 0x08058de3 8058c48: 08058de3 .word 0x08058de3 8058c4c: 08058de3 .word 0x08058de3 8058c50: 08058d41 .word 0x08058d41 { case DIAGN_PEAK: //peak case DIAGN_PEAK_TO_PEAK: //pk-pk if(peakAVS[i] < fval[i]) { 8058c54: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058c58: 4a76 ldr r2, [pc, #472] ; (8058e34 ) 8058c5a: 009b lsls r3, r3, #2 8058c5c: 4413 add r3, r2 8058c5e: ed93 7a00 vldr s14, [r3] 8058c62: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058c66: f107 02fc add.w r2, r7, #252 ; 0xfc 8058c6a: 009b lsls r3, r3, #2 8058c6c: 4413 add r3, r2 8058c6e: edd3 7a00 vldr s15, [r3] 8058c72: eeb4 7ae7 vcmpe.f32 s14, s15 8058c76: eef1 fa10 vmrs APSR_nzcv, fpscr 8058c7a: d400 bmi.n 8058c7e peakAVS[i] = fval[i]; } break; 8058c7c: e0b1 b.n 8058de2 peakAVS[i] = fval[i]; 8058c7e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058c82: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058c86: f107 01fc add.w r1, r7, #252 ; 0xfc 8058c8a: 0092 lsls r2, r2, #2 8058c8c: 440a add r2, r1 8058c8e: 6812 ldr r2, [r2, #0] 8058c90: 4968 ldr r1, [pc, #416] ; (8058e34 ) 8058c92: 009b lsls r3, r3, #2 8058c94: 440b add r3, r1 8058c96: 601a str r2, [r3, #0] break; 8058c98: e0a3 b.n 8058de2 case DIAGN_PEAK_FACTOR: //peak-factor if(peakAVS[i] < fpeak[i]) { 8058c9a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058c9e: 4a65 ldr r2, [pc, #404] ; (8058e34 ) 8058ca0: 009b lsls r3, r3, #2 8058ca2: 4413 add r3, r2 8058ca4: ed93 7a00 vldr s14, [r3] 8058ca8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058cac: f107 02ec add.w r2, r7, #236 ; 0xec 8058cb0: 009b lsls r3, r3, #2 8058cb2: 4413 add r3, r2 8058cb4: edd3 7a00 vldr s15, [r3] 8058cb8: eeb4 7ae7 vcmpe.f32 s14, s15 8058cbc: eef1 fa10 vmrs APSR_nzcv, fpscr 8058cc0: d50c bpl.n 8058cdc peakAVS[i] = fpeak[i]; 8058cc2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058cc6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058cca: f107 01ec add.w r1, r7, #236 ; 0xec 8058cce: 0092 lsls r2, r2, #2 8058cd0: 440a add r2, r1 8058cd2: 6812 ldr r2, [r2, #0] 8058cd4: 4957 ldr r1, [pc, #348] ; (8058e34 ) 8058cd6: 009b lsls r3, r3, #2 8058cd8: 440b add r3, r1 8058cda: 601a str r2, [r3, #0] } rmsAVS[i] += fval[i]; 8058cdc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058ce0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058ce4: 4954 ldr r1, [pc, #336] ; (8058e38 ) 8058ce6: 0092 lsls r2, r2, #2 8058ce8: 440a add r2, r1 8058cea: ed92 7a00 vldr s14, [r2] 8058cee: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058cf2: f107 01fc add.w r1, r7, #252 ; 0xfc 8058cf6: 0092 lsls r2, r2, #2 8058cf8: 440a add r2, r1 8058cfa: edd2 7a00 vldr s15, [r2] 8058cfe: ee77 7a27 vadd.f32 s15, s14, s15 8058d02: 4a4d ldr r2, [pc, #308] ; (8058e38 ) 8058d04: 009b lsls r3, r3, #2 8058d06: 4413 add r3, r2 8058d08: edc3 7a00 vstr s15, [r3] break; 8058d0c: e069 b.n 8058de2 case DIAGN_RMS: //rms rmsAVS[i] += fval[i]; 8058d0e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058d12: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058d16: 4948 ldr r1, [pc, #288] ; (8058e38 ) 8058d18: 0092 lsls r2, r2, #2 8058d1a: 440a add r2, r1 8058d1c: ed92 7a00 vldr s14, [r2] 8058d20: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058d24: f107 01fc add.w r1, r7, #252 ; 0xfc 8058d28: 0092 lsls r2, r2, #2 8058d2a: 440a add r2, r1 8058d2c: edd2 7a00 vldr s15, [r2] 8058d30: ee77 7a27 vadd.f32 s15, s14, s15 8058d34: 4a40 ldr r2, [pc, #256] ; (8058e38 ) 8058d36: 009b lsls r3, r3, #2 8058d38: 4413 add r3, r2 8058d3a: edc3 7a00 vstr s15, [r3] break; 8058d3e: e050 b.n 8058de2 case DIAGN_EXCESS: if(ABS(peakAVS[i]) < ABS(fval[i])) { 8058d40: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058d44: 4a3b ldr r2, [pc, #236] ; (8058e34 ) 8058d46: 009b lsls r3, r3, #2 8058d48: 4413 add r3, r2 8058d4a: edd3 7a00 vldr s15, [r3] 8058d4e: eef5 7ac0 vcmpe.f32 s15, #0.0 8058d52: eef1 fa10 vmrs APSR_nzcv, fpscr 8058d56: dd07 ble.n 8058d68 8058d58: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058d5c: 4a35 ldr r2, [pc, #212] ; (8058e34 ) 8058d5e: 009b lsls r3, r3, #2 8058d60: 4413 add r3, r2 8058d62: ed93 7a00 vldr s14, [r3] 8058d66: e008 b.n 8058d7a 8058d68: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058d6c: 4a31 ldr r2, [pc, #196] ; (8058e34 ) 8058d6e: 009b lsls r3, r3, #2 8058d70: 4413 add r3, r2 8058d72: edd3 7a00 vldr s15, [r3] 8058d76: eeb1 7a67 vneg.f32 s14, s15 8058d7a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058d7e: f107 02fc add.w r2, r7, #252 ; 0xfc 8058d82: 009b lsls r3, r3, #2 8058d84: 4413 add r3, r2 8058d86: edd3 7a00 vldr s15, [r3] 8058d8a: eef5 7ac0 vcmpe.f32 s15, #0.0 8058d8e: eef1 fa10 vmrs APSR_nzcv, fpscr 8058d92: dd08 ble.n 8058da6 8058d94: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058d98: f107 02fc add.w r2, r7, #252 ; 0xfc 8058d9c: 009b lsls r3, r3, #2 8058d9e: 4413 add r3, r2 8058da0: edd3 7a00 vldr s15, [r3] 8058da4: e009 b.n 8058dba 8058da6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058daa: f107 02fc add.w r2, r7, #252 ; 0xfc 8058dae: 009b lsls r3, r3, #2 8058db0: 4413 add r3, r2 8058db2: edd3 7a00 vldr s15, [r3] 8058db6: eef1 7a67 vneg.f32 s15, s15 8058dba: eeb4 7ae7 vcmpe.f32 s14, s15 8058dbe: eef1 fa10 vmrs APSR_nzcv, fpscr 8058dc2: d400 bmi.n 8058dc6 peakAVS[i] = fval[i]; } break; 8058dc4: e00c b.n 8058de0 peakAVS[i] = fval[i]; 8058dc6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058dca: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058dce: f107 01fc add.w r1, r7, #252 ; 0xfc 8058dd2: 0092 lsls r2, r2, #2 8058dd4: 440a add r2, r1 8058dd6: 6812 ldr r2, [r2, #0] 8058dd8: 4916 ldr r1, [pc, #88] ; (8058e34 ) 8058dda: 009b lsls r3, r3, #2 8058ddc: 440b add r3, r1 8058dde: 601a str r2, [r3, #0] break; 8058de0: bf00 nop for(i = 0; i < NUM_OPERANDS; i++) 8058de2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058de6: 3301 adds r3, #1 8058de8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8058dec: 4b13 ldr r3, [pc, #76] ; (8058e3c ) 8058dee: 781b ldrb r3, [r3, #0] 8058df0: b2db uxtb r3, r3 8058df2: 461a mov r2, r3 8058df4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058df8: 429a cmp r2, r3 8058dfa: f63f aef1 bhi.w 8058be0 /////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////// BI-TECHNO ////////////////////////// MeanCnt++; 8058dfe: 4b10 ldr r3, [pc, #64] ; (8058e40 ) 8058e00: 681b ldr r3, [r3, #0] 8058e02: 3301 adds r3, #1 8058e04: 4a0e ldr r2, [pc, #56] ; (8058e40 ) 8058e06: 6013 str r3, [r2, #0] if(!(MeanCnt % 8)) 8058e08: 4b0d ldr r3, [pc, #52] ; (8058e40 ) 8058e0a: 681b ldr r3, [r3, #0] 8058e0c: f003 0307 and.w r3, r3, #7 8058e10: 2b00 cmp r3, #0 8058e12: f040 8621 bne.w 8059a58 { for(j = AVG[pardata.AVG] - 1; j > 0; j--) 8058e16: 4b06 ldr r3, [pc, #24] ; (8058e30 ) 8058e18: 7b5b ldrb r3, [r3, #13] 8058e1a: b2db uxtb r3, r3 8058e1c: 461a mov r2, r3 8058e1e: 4b09 ldr r3, [pc, #36] ; (8058e44 ) 8058e20: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058e24: 3b01 subs r3, #1 8058e26: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc 8058e2a: e0a2 b.n 8058f72 8058e2c: 2002105d .word 0x2002105d 8058e30: 20023eb8 .word 0x20023eb8 8058e34: 20021d4c .word 0x20021d4c 8058e38: 20021d38 .word 0x20021d38 8058e3c: 2002105e .word 0x2002105e 8058e40: 20020dd8 .word 0x20020dd8 8058e44: 080f54d8 .word 0x080f54d8 { fl = OP1_PEAK_RD(j - 1); 8058e48: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058e4c: 3b01 subs r3, #1 8058e4e: 009a lsls r2, r3, #2 8058e50: 4bbb ldr r3, [pc, #748] ; (8059140 ) 8058e52: 4413 add r3, r2 8058e54: 681b ldr r3, [r3, #0] 8058e56: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP1_PEAK_WR(j) = fl; 8058e5a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058e5e: 009a lsls r2, r3, #2 8058e60: 4bb7 ldr r3, [pc, #732] ; (8059140 ) 8058e62: 4413 add r3, r2 8058e64: 461a mov r2, r3 8058e66: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8058e6a: 6013 str r3, [r2, #0] fl = OP1_RMS_RD(j - 1); 8058e6c: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058e70: 3b01 subs r3, #1 8058e72: 009a lsls r2, r3, #2 8058e74: 4bb3 ldr r3, [pc, #716] ; (8059144 ) 8058e76: 4413 add r3, r2 8058e78: 681b ldr r3, [r3, #0] 8058e7a: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP1_RMS_WR(j) = fl; 8058e7e: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058e82: 009a lsls r2, r3, #2 8058e84: 4baf ldr r3, [pc, #700] ; (8059144 ) 8058e86: 4413 add r3, r2 8058e88: 461a mov r2, r3 8058e8a: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8058e8e: 6013 str r3, [r2, #0] fl = OP2_PEAK_RD(j - 1); 8058e90: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058e94: 3b01 subs r3, #1 8058e96: 009a lsls r2, r3, #2 8058e98: 4bab ldr r3, [pc, #684] ; (8059148 ) 8058e9a: 4413 add r3, r2 8058e9c: 681b ldr r3, [r3, #0] 8058e9e: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP2_PEAK_WR(j) = fl; 8058ea2: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058ea6: 009a lsls r2, r3, #2 8058ea8: 4ba7 ldr r3, [pc, #668] ; (8059148 ) 8058eaa: 4413 add r3, r2 8058eac: 461a mov r2, r3 8058eae: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8058eb2: 6013 str r3, [r2, #0] fl = OP2_RMS_RD(j - 1); 8058eb4: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058eb8: 3b01 subs r3, #1 8058eba: 009a lsls r2, r3, #2 8058ebc: 4ba3 ldr r3, [pc, #652] ; (805914c ) 8058ebe: 4413 add r3, r2 8058ec0: 681b ldr r3, [r3, #0] 8058ec2: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP2_RMS_WR(j) = fl; 8058ec6: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058eca: 009a lsls r2, r3, #2 8058ecc: 4b9f ldr r3, [pc, #636] ; (805914c ) 8058ece: 4413 add r3, r2 8058ed0: 461a mov r2, r3 8058ed2: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8058ed6: 6013 str r3, [r2, #0] fl = OP3_PEAK_RD(j - 1); 8058ed8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058edc: 3b01 subs r3, #1 8058ede: 009a lsls r2, r3, #2 8058ee0: 4b9b ldr r3, [pc, #620] ; (8059150 ) 8058ee2: 4413 add r3, r2 8058ee4: 681b ldr r3, [r3, #0] 8058ee6: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP3_PEAK_WR(j) = fl; 8058eea: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058eee: 009a lsls r2, r3, #2 8058ef0: 4b97 ldr r3, [pc, #604] ; (8059150 ) 8058ef2: 4413 add r3, r2 8058ef4: 461a mov r2, r3 8058ef6: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8058efa: 6013 str r3, [r2, #0] fl = OP3_RMS_RD(j - 1); 8058efc: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058f00: 3b01 subs r3, #1 8058f02: 009a lsls r2, r3, #2 8058f04: 4b93 ldr r3, [pc, #588] ; (8059154 ) 8058f06: 4413 add r3, r2 8058f08: 681b ldr r3, [r3, #0] 8058f0a: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP3_RMS_WR(j) = fl; 8058f0e: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058f12: 009a lsls r2, r3, #2 8058f14: 4b8f ldr r3, [pc, #572] ; (8059154 ) 8058f16: 4413 add r3, r2 8058f18: 461a mov r2, r3 8058f1a: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8058f1e: 6013 str r3, [r2, #0] fl = OP4_PEAK_RD(j - 1); 8058f20: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058f24: 3b01 subs r3, #1 8058f26: 009a lsls r2, r3, #2 8058f28: 4b8b ldr r3, [pc, #556] ; (8059158 ) 8058f2a: 4413 add r3, r2 8058f2c: 681b ldr r3, [r3, #0] 8058f2e: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP4_PEAK_WR(j) = fl; 8058f32: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058f36: 009a lsls r2, r3, #2 8058f38: 4b87 ldr r3, [pc, #540] ; (8059158 ) 8058f3a: 4413 add r3, r2 8058f3c: 461a mov r2, r3 8058f3e: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8058f42: 6013 str r3, [r2, #0] fl = OP4_RMS_RD(j - 1); 8058f44: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058f48: 3b01 subs r3, #1 8058f4a: 009a lsls r2, r3, #2 8058f4c: 4b83 ldr r3, [pc, #524] ; (805915c ) 8058f4e: 4413 add r3, r2 8058f50: 681b ldr r3, [r3, #0] 8058f52: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP4_RMS_WR(j) = fl; 8058f56: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058f5a: 009a lsls r2, r3, #2 8058f5c: 4b7f ldr r3, [pc, #508] ; (805915c ) 8058f5e: 4413 add r3, r2 8058f60: 461a mov r2, r3 8058f62: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8058f66: 6013 str r3, [r2, #0] for(j = AVG[pardata.AVG] - 1; j > 0; j--) 8058f68: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058f6c: 3b01 subs r3, #1 8058f6e: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc 8058f72: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058f76: 2b00 cmp r3, #0 8058f78: f47f af66 bne.w 8058e48 } fl = (float32_t) (AVG[pardata.AVG] * 8u) * 8192.0f; 8058f7c: 4b78 ldr r3, [pc, #480] ; (8059160 ) 8058f7e: 7b5b ldrb r3, [r3, #13] 8058f80: b2db uxtb r3, r3 8058f82: 461a mov r2, r3 8058f84: 4b77 ldr r3, [pc, #476] ; (8059164 ) 8058f86: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058f8a: 00db lsls r3, r3, #3 8058f8c: ee07 3a90 vmov s15, r3 8058f90: eef8 7a67 vcvt.f32.u32 s15, s15 8058f94: ed9f 7a74 vldr s14, [pc, #464] ; 8059168 8058f98: ee67 7a87 vmul.f32 s15, s15, s14 8058f9c: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc for(i = 0; i < NUM_OPERANDS; i++) 8058fa0: 2300 movs r3, #0 8058fa2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8058fa6: f000 bd2b b.w 8059a00 { switch((pardata.DIAGN_MASK[CURR_POINT][i] >> 3) & 0x1f) 8058faa: 4b70 ldr r3, [pc, #448] ; (805916c ) 8058fac: 781b ldrb r3, [r3, #0] 8058fae: b2db uxtb r3, r3 8058fb0: 461a mov r2, r3 8058fb2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058fb6: 496a ldr r1, [pc, #424] ; (8059160 ) 8058fb8: 0092 lsls r2, r2, #2 8058fba: 440a add r2, r1 8058fbc: 4413 add r3, r2 8058fbe: f503 730f add.w r3, r3, #572 ; 0x23c 8058fc2: 781b ldrb r3, [r3, #0] 8058fc4: b2db uxtb r3, r3 8058fc6: 08db lsrs r3, r3, #3 8058fc8: b2db uxtb r3, r3 8058fca: f003 031f and.w r3, r3, #31 8058fce: 3b01 subs r3, #1 8058fd0: 2b0f cmp r3, #15 8058fd2: f200 8510 bhi.w 80599f6 8058fd6: a201 add r2, pc, #4 ; (adr r2, 8058fdc ) 8058fd8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8058fdc: 0805901d .word 0x0805901d 8058fe0: 080594fb .word 0x080594fb 8058fe4: 080599f7 .word 0x080599f7 8058fe8: 0805901d .word 0x0805901d 8058fec: 080599f7 .word 0x080599f7 8058ff0: 080599f7 .word 0x080599f7 8058ff4: 080599f7 .word 0x080599f7 8058ff8: 080591e3 .word 0x080591e3 8058ffc: 080599f7 .word 0x080599f7 8059000: 080599f7 .word 0x080599f7 8059004: 080599f7 .word 0x080599f7 8059008: 080599f7 .word 0x080599f7 805900c: 080599f7 .word 0x080599f7 8059010: 080599f7 .word 0x080599f7 8059014: 080599f7 .word 0x080599f7 8059018: 0805968d .word 0x0805968d { case DIAGN_PEAK: //peak case DIAGN_PEAK_TO_PEAK: //pk-pk if(i == 0) 805901c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059020: 2b00 cmp r3, #0 8059022: d11a bne.n 805905a { OP1_PEAK_WR(0) = peakAVS[i]; 8059024: 4a46 ldr r2, [pc, #280] ; (8059140 ) 8059026: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805902a: 4951 ldr r1, [pc, #324] ; (8059170 ) 805902c: 009b lsls r3, r3, #2 805902e: 440b add r3, r1 8059030: 681b ldr r3, [r3, #0] 8059032: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP1_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8059034: 4b4a ldr r3, [pc, #296] ; (8059160 ) 8059036: 7b5b ldrb r3, [r3, #13] 8059038: b2db uxtb r3, r3 805903a: 461a mov r2, r3 805903c: 4b49 ldr r3, [pc, #292] ; (8059164 ) 805903e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059042: 4619 mov r1, r3 8059044: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059048: 009b lsls r3, r3, #2 805904a: 4a49 ldr r2, [pc, #292] ; (8059170 ) 805904c: 441a add r2, r3 805904e: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059052: 483b ldr r0, [pc, #236] ; (8059140 ) 8059054: f075 ffde bl 80cf014 8059058: e05b b.n 8059112 } else if(i == 1) 805905a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805905e: 2b01 cmp r3, #1 8059060: d11a bne.n 8059098 { OP2_PEAK_WR(0) = peakAVS[i]; 8059062: 4a39 ldr r2, [pc, #228] ; (8059148 ) 8059064: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059068: 4941 ldr r1, [pc, #260] ; (8059170 ) 805906a: 009b lsls r3, r3, #2 805906c: 440b add r3, r1 805906e: 681b ldr r3, [r3, #0] 8059070: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP2_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8059072: 4b3b ldr r3, [pc, #236] ; (8059160 ) 8059074: 7b5b ldrb r3, [r3, #13] 8059076: b2db uxtb r3, r3 8059078: 461a mov r2, r3 805907a: 4b3a ldr r3, [pc, #232] ; (8059164 ) 805907c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059080: 4619 mov r1, r3 8059082: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059086: 009b lsls r3, r3, #2 8059088: 4a39 ldr r2, [pc, #228] ; (8059170 ) 805908a: 441a add r2, r3 805908c: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059090: 482d ldr r0, [pc, #180] ; (8059148 ) 8059092: f075 ffbf bl 80cf014 8059096: e03c b.n 8059112 } else if(i == 2) 8059098: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805909c: 2b02 cmp r3, #2 805909e: d11a bne.n 80590d6 { OP3_PEAK_WR(0) = peakAVS[i]; 80590a0: 4a2b ldr r2, [pc, #172] ; (8059150 ) 80590a2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80590a6: 4932 ldr r1, [pc, #200] ; (8059170 ) 80590a8: 009b lsls r3, r3, #2 80590aa: 440b add r3, r1 80590ac: 681b ldr r3, [r3, #0] 80590ae: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP3_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 80590b0: 4b2b ldr r3, [pc, #172] ; (8059160 ) 80590b2: 7b5b ldrb r3, [r3, #13] 80590b4: b2db uxtb r3, r3 80590b6: 461a mov r2, r3 80590b8: 4b2a ldr r3, [pc, #168] ; (8059164 ) 80590ba: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80590be: 4619 mov r1, r3 80590c0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80590c4: 009b lsls r3, r3, #2 80590c6: 4a2a ldr r2, [pc, #168] ; (8059170 ) 80590c8: 441a add r2, r3 80590ca: f507 73e4 add.w r3, r7, #456 ; 0x1c8 80590ce: 4820 ldr r0, [pc, #128] ; (8059150 ) 80590d0: f075 ffa0 bl 80cf014 80590d4: e01d b.n 8059112 } else if(i == 3) 80590d6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80590da: 2b03 cmp r3, #3 80590dc: d119 bne.n 8059112 { OP4_PEAK_WR(0) = peakAVS[i]; 80590de: 4a1e ldr r2, [pc, #120] ; (8059158 ) 80590e0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80590e4: 4922 ldr r1, [pc, #136] ; (8059170 ) 80590e6: 009b lsls r3, r3, #2 80590e8: 440b add r3, r1 80590ea: 681b ldr r3, [r3, #0] 80590ec: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP4_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 80590ee: 4b1c ldr r3, [pc, #112] ; (8059160 ) 80590f0: 7b5b ldrb r3, [r3, #13] 80590f2: b2db uxtb r3, r3 80590f4: 461a mov r2, r3 80590f6: 4b1b ldr r3, [pc, #108] ; (8059164 ) 80590f8: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80590fc: 4619 mov r1, r3 80590fe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059102: 009b lsls r3, r3, #2 8059104: 4a1a ldr r2, [pc, #104] ; (8059170 ) 8059106: 441a add r2, r3 8059108: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805910c: 4812 ldr r0, [pc, #72] ; (8059158 ) 805910e: f075 ff81 bl 80cf014 } peakAVS[i] = ABS(peakAVS[i]); 8059112: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059116: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805911a: 4915 ldr r1, [pc, #84] ; (8059170 ) 805911c: 0092 lsls r2, r2, #2 805911e: 440a add r2, r1 8059120: edd2 7a00 vldr s15, [r2] 8059124: eef5 7ac0 vcmpe.f32 s15, #0.0 8059128: eef1 fa10 vmrs APSR_nzcv, fpscr 805912c: dd22 ble.n 8059174 805912e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059132: 490f ldr r1, [pc, #60] ; (8059170 ) 8059134: 0092 lsls r2, r2, #2 8059136: 440a add r2, r1 8059138: edd2 7a00 vldr s15, [r2] 805913c: e023 b.n 8059186 805913e: bf00 nop 8059140: 64050000 .word 0x64050000 8059144: 64050800 .word 0x64050800 8059148: 64051000 .word 0x64051000 805914c: 64051800 .word 0x64051800 8059150: 64052000 .word 0x64052000 8059154: 64052800 .word 0x64052800 8059158: 64053000 .word 0x64053000 805915c: 64053800 .word 0x64053800 8059160: 20023eb8 .word 0x20023eb8 8059164: 080f54d8 .word 0x080f54d8 8059168: 46000000 .word 0x46000000 805916c: 2002105d .word 0x2002105d 8059170: 20021d4c .word 0x20021d4c 8059174: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059178: 4996 ldr r1, [pc, #600] ; (80593d4 ) 805917a: 0092 lsls r2, r2, #2 805917c: 440a add r2, r1 805917e: edd2 7a00 vldr s15, [r2] 8059182: eef1 7a67 vneg.f32 s15, s15 8059186: 4a93 ldr r2, [pc, #588] ; (80593d4 ) 8059188: 009b lsls r3, r3, #2 805918a: 4413 add r3, r2 805918c: edc3 7a00 vstr s15, [r3] operand[i] = peakAVS[i]; 8059190: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059194: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059198: 498e ldr r1, [pc, #568] ; (80593d4 ) 805919a: 0092 lsls r2, r2, #2 805919c: 440a add r2, r1 805919e: 6812 ldr r2, [r2, #0] 80591a0: 498d ldr r1, [pc, #564] ; (80593d8 ) 80591a2: 009b lsls r3, r3, #2 80591a4: 440b add r3, r1 80591a6: 601a str r2, [r3, #0] //operand[i] = MedMeas(i, operand[i]); operand[i] /= pardata.IKK; 80591a8: 4b8c ldr r3, [pc, #560] ; (80593dc ) 80591aa: ed93 7a04 vldr s14, [r3, #16] 80591ae: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80591b2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80591b6: 4988 ldr r1, [pc, #544] ; (80593d8 ) 80591b8: 0092 lsls r2, r2, #2 80591ba: 440a add r2, r1 80591bc: edd2 6a00 vldr s13, [r2] 80591c0: eec6 7a87 vdiv.f32 s15, s13, s14 80591c4: 4a84 ldr r2, [pc, #528] ; (80593d8 ) 80591c6: 009b lsls r3, r3, #2 80591c8: 4413 add r3, r2 80591ca: edc3 7a00 vstr s15, [r3] peakAVS[i] = 0.0f; 80591ce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80591d2: 4a80 ldr r2, [pc, #512] ; (80593d4 ) 80591d4: 009b lsls r3, r3, #2 80591d6: 4413 add r3, r2 80591d8: f04f 0200 mov.w r2, #0 80591dc: 601a str r2, [r3, #0] break; 80591de: f000 bc0a b.w 80599f6 case DIAGN_PEAK_FACTOR: //peak-factor if(i == 0) 80591e2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80591e6: 2b00 cmp r3, #0 80591e8: d11a bne.n 8059220 { OP1_PEAK_WR(0) = peakAVS[i]; 80591ea: 4a7d ldr r2, [pc, #500] ; (80593e0 ) 80591ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80591f0: 4978 ldr r1, [pc, #480] ; (80593d4 ) 80591f2: 009b lsls r3, r3, #2 80591f4: 440b add r3, r1 80591f6: 681b ldr r3, [r3, #0] 80591f8: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP1_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 80591fa: 4b78 ldr r3, [pc, #480] ; (80593dc ) 80591fc: 7b5b ldrb r3, [r3, #13] 80591fe: b2db uxtb r3, r3 8059200: 461a mov r2, r3 8059202: 4b78 ldr r3, [pc, #480] ; (80593e4 ) 8059204: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059208: 4619 mov r1, r3 805920a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805920e: 009b lsls r3, r3, #2 8059210: 4a70 ldr r2, [pc, #448] ; (80593d4 ) 8059212: 441a add r2, r3 8059214: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059218: 4871 ldr r0, [pc, #452] ; (80593e0 ) 805921a: f075 fefb bl 80cf014 805921e: e05b b.n 80592d8 } else if(i == 1) 8059220: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059224: 2b01 cmp r3, #1 8059226: d11a bne.n 805925e { OP2_PEAK_WR(0) = peakAVS[i]; 8059228: 4a6f ldr r2, [pc, #444] ; (80593e8 ) 805922a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805922e: 4969 ldr r1, [pc, #420] ; (80593d4 ) 8059230: 009b lsls r3, r3, #2 8059232: 440b add r3, r1 8059234: 681b ldr r3, [r3, #0] 8059236: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP2_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8059238: 4b68 ldr r3, [pc, #416] ; (80593dc ) 805923a: 7b5b ldrb r3, [r3, #13] 805923c: b2db uxtb r3, r3 805923e: 461a mov r2, r3 8059240: 4b68 ldr r3, [pc, #416] ; (80593e4 ) 8059242: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059246: 4619 mov r1, r3 8059248: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805924c: 009b lsls r3, r3, #2 805924e: 4a61 ldr r2, [pc, #388] ; (80593d4 ) 8059250: 441a add r2, r3 8059252: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059256: 4864 ldr r0, [pc, #400] ; (80593e8 ) 8059258: f075 fedc bl 80cf014 805925c: e03c b.n 80592d8 } else if(i == 2) 805925e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059262: 2b02 cmp r3, #2 8059264: d11a bne.n 805929c { OP3_PEAK_WR(0) = peakAVS[i]; 8059266: 4a61 ldr r2, [pc, #388] ; (80593ec ) 8059268: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805926c: 4959 ldr r1, [pc, #356] ; (80593d4 ) 805926e: 009b lsls r3, r3, #2 8059270: 440b add r3, r1 8059272: 681b ldr r3, [r3, #0] 8059274: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP3_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8059276: 4b59 ldr r3, [pc, #356] ; (80593dc ) 8059278: 7b5b ldrb r3, [r3, #13] 805927a: b2db uxtb r3, r3 805927c: 461a mov r2, r3 805927e: 4b59 ldr r3, [pc, #356] ; (80593e4 ) 8059280: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059284: 4619 mov r1, r3 8059286: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805928a: 009b lsls r3, r3, #2 805928c: 4a51 ldr r2, [pc, #324] ; (80593d4 ) 805928e: 441a add r2, r3 8059290: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059294: 4855 ldr r0, [pc, #340] ; (80593ec ) 8059296: f075 febd bl 80cf014 805929a: e01d b.n 80592d8 } else if(i == 3) 805929c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80592a0: 2b03 cmp r3, #3 80592a2: d119 bne.n 80592d8 { OP4_PEAK_WR(0) = peakAVS[i]; 80592a4: 4a52 ldr r2, [pc, #328] ; (80593f0 ) 80592a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80592aa: 494a ldr r1, [pc, #296] ; (80593d4 ) 80592ac: 009b lsls r3, r3, #2 80592ae: 440b add r3, r1 80592b0: 681b ldr r3, [r3, #0] 80592b2: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP4_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 80592b4: 4b49 ldr r3, [pc, #292] ; (80593dc ) 80592b6: 7b5b ldrb r3, [r3, #13] 80592b8: b2db uxtb r3, r3 80592ba: 461a mov r2, r3 80592bc: 4b49 ldr r3, [pc, #292] ; (80593e4 ) 80592be: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80592c2: 4619 mov r1, r3 80592c4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80592c8: 009b lsls r3, r3, #2 80592ca: 4a42 ldr r2, [pc, #264] ; (80593d4 ) 80592cc: 441a add r2, r3 80592ce: f507 73e4 add.w r3, r7, #456 ; 0x1c8 80592d2: 4847 ldr r0, [pc, #284] ; (80593f0 ) 80592d4: f075 fe9e bl 80cf014 } peakAVS[i] = ABS(peakAVS[i]); 80592d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80592dc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80592e0: 493c ldr r1, [pc, #240] ; (80593d4 ) 80592e2: 0092 lsls r2, r2, #2 80592e4: 440a add r2, r1 80592e6: edd2 7a00 vldr s15, [r2] 80592ea: eef5 7ac0 vcmpe.f32 s15, #0.0 80592ee: eef1 fa10 vmrs APSR_nzcv, fpscr 80592f2: dd07 ble.n 8059304 80592f4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80592f8: 4936 ldr r1, [pc, #216] ; (80593d4 ) 80592fa: 0092 lsls r2, r2, #2 80592fc: 440a add r2, r1 80592fe: edd2 7a00 vldr s15, [r2] 8059302: e008 b.n 8059316 8059304: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059308: 4932 ldr r1, [pc, #200] ; (80593d4 ) 805930a: 0092 lsls r2, r2, #2 805930c: 440a add r2, r1 805930e: edd2 7a00 vldr s15, [r2] 8059312: eef1 7a67 vneg.f32 s15, s15 8059316: 4a2f ldr r2, [pc, #188] ; (80593d4 ) 8059318: 009b lsls r3, r3, #2 805931a: 4413 add r3, r2 805931c: edc3 7a00 vstr s15, [r3] if(i == 0) 8059320: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059324: 2b00 cmp r3, #0 8059326: d119 bne.n 805935c { OP1_RMS_WR(0) = rmsAVS[i]; 8059328: 4a32 ldr r2, [pc, #200] ; (80593f4 ) 805932a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805932e: 4932 ldr r1, [pc, #200] ; (80593f8 ) 8059330: 009b lsls r3, r3, #2 8059332: 440b add r3, r1 8059334: 681b ldr r3, [r3, #0] 8059336: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP1_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 8059338: 4b28 ldr r3, [pc, #160] ; (80593dc ) 805933a: 7b5b ldrb r3, [r3, #13] 805933c: b2db uxtb r3, r3 805933e: 461a mov r2, r3 8059340: 4b28 ldr r3, [pc, #160] ; (80593e4 ) 8059342: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059346: 4619 mov r1, r3 8059348: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805934c: 009b lsls r3, r3, #2 805934e: 4a2a ldr r2, [pc, #168] ; (80593f8 ) 8059350: 4413 add r3, r2 8059352: 461a mov r2, r3 8059354: 4827 ldr r0, [pc, #156] ; (80593f4 ) 8059356: f075 fe27 bl 80cefa8 805935a: e070 b.n 805943e } else if(i == 1) 805935c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059360: 2b01 cmp r3, #1 8059362: d119 bne.n 8059398 { OP2_RMS_WR(0) = rmsAVS[i]; 8059364: 4a25 ldr r2, [pc, #148] ; (80593fc ) 8059366: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805936a: 4923 ldr r1, [pc, #140] ; (80593f8 ) 805936c: 009b lsls r3, r3, #2 805936e: 440b add r3, r1 8059370: 681b ldr r3, [r3, #0] 8059372: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP2_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 8059374: 4b19 ldr r3, [pc, #100] ; (80593dc ) 8059376: 7b5b ldrb r3, [r3, #13] 8059378: b2db uxtb r3, r3 805937a: 461a mov r2, r3 805937c: 4b19 ldr r3, [pc, #100] ; (80593e4 ) 805937e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059382: 4619 mov r1, r3 8059384: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059388: 009b lsls r3, r3, #2 805938a: 4a1b ldr r2, [pc, #108] ; (80593f8 ) 805938c: 4413 add r3, r2 805938e: 461a mov r2, r3 8059390: 481a ldr r0, [pc, #104] ; (80593fc ) 8059392: f075 fe09 bl 80cefa8 8059396: e052 b.n 805943e } else if(i == 2) 8059398: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805939c: 2b02 cmp r3, #2 805939e: d131 bne.n 8059404 { OP3_RMS_WR(0) = rmsAVS[i]; 80593a0: 4a17 ldr r2, [pc, #92] ; (8059400 ) 80593a2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80593a6: 4914 ldr r1, [pc, #80] ; (80593f8 ) 80593a8: 009b lsls r3, r3, #2 80593aa: 440b add r3, r1 80593ac: 681b ldr r3, [r3, #0] 80593ae: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP3_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 80593b0: 4b0a ldr r3, [pc, #40] ; (80593dc ) 80593b2: 7b5b ldrb r3, [r3, #13] 80593b4: b2db uxtb r3, r3 80593b6: 461a mov r2, r3 80593b8: 4b0a ldr r3, [pc, #40] ; (80593e4 ) 80593ba: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80593be: 4619 mov r1, r3 80593c0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80593c4: 009b lsls r3, r3, #2 80593c6: 4a0c ldr r2, [pc, #48] ; (80593f8 ) 80593c8: 4413 add r3, r2 80593ca: 461a mov r2, r3 80593cc: 480c ldr r0, [pc, #48] ; (8059400 ) 80593ce: f075 fdeb bl 80cefa8 80593d2: e034 b.n 805943e 80593d4: 20021d4c .word 0x20021d4c 80593d8: 20026938 .word 0x20026938 80593dc: 20023eb8 .word 0x20023eb8 80593e0: 64050000 .word 0x64050000 80593e4: 080f54d8 .word 0x080f54d8 80593e8: 64051000 .word 0x64051000 80593ec: 64052000 .word 0x64052000 80593f0: 64053000 .word 0x64053000 80593f4: 64050800 .word 0x64050800 80593f8: 20021d38 .word 0x20021d38 80593fc: 64051800 .word 0x64051800 8059400: 64052800 .word 0x64052800 } else if(i == 3) 8059404: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059408: 2b03 cmp r3, #3 805940a: d118 bne.n 805943e { OP4_RMS_WR(0) = rmsAVS[i]; 805940c: 4ac2 ldr r2, [pc, #776] ; (8059718 ) 805940e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059412: 49c2 ldr r1, [pc, #776] ; (805971c ) 8059414: 009b lsls r3, r3, #2 8059416: 440b add r3, r1 8059418: 681b ldr r3, [r3, #0] 805941a: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP4_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805941c: 4bc0 ldr r3, [pc, #768] ; (8059720 ) 805941e: 7b5b ldrb r3, [r3, #13] 8059420: b2db uxtb r3, r3 8059422: 461a mov r2, r3 8059424: 4bbf ldr r3, [pc, #764] ; (8059724 ) 8059426: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805942a: 4619 mov r1, r3 805942c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059430: 009b lsls r3, r3, #2 8059432: 4aba ldr r2, [pc, #744] ; (805971c ) 8059434: 4413 add r3, r2 8059436: 461a mov r2, r3 8059438: 48b7 ldr r0, [pc, #732] ; (8059718 ) 805943a: f075 fdb5 bl 80cefa8 } rmsAVS[i] *= AVG[pardata.AVG]; 805943e: 4bb8 ldr r3, [pc, #736] ; (8059720 ) 8059440: 7b5b ldrb r3, [r3, #13] 8059442: b2db uxtb r3, r3 8059444: 461a mov r2, r3 8059446: 4bb7 ldr r3, [pc, #732] ; (8059724 ) 8059448: f833 0012 ldrh.w r0, [r3, r2, lsl #1] 805944c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059450: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059454: 49b1 ldr r1, [pc, #708] ; (805971c ) 8059456: 0092 lsls r2, r2, #2 8059458: 440a add r2, r1 805945a: ed92 7a00 vldr s14, [r2] 805945e: ee07 0a90 vmov s15, r0 8059462: eef8 7ae7 vcvt.f32.s32 s15, s15 8059466: ee67 7a27 vmul.f32 s15, s14, s15 805946a: 4aac ldr r2, [pc, #688] ; (805971c ) 805946c: 009b lsls r3, r3, #2 805946e: 4413 add r3, r2 8059470: edc3 7a00 vstr s15, [r3] rmsAVS[i] /= fl; 8059474: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059478: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805947c: 49a7 ldr r1, [pc, #668] ; (805971c ) 805947e: 0092 lsls r2, r2, #2 8059480: 440a add r2, r1 8059482: edd2 6a00 vldr s13, [r2] 8059486: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805948a: eec6 7a87 vdiv.f32 s15, s13, s14 805948e: 4aa3 ldr r2, [pc, #652] ; (805971c ) 8059490: 009b lsls r3, r3, #2 8059492: 4413 add r3, r2 8059494: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rmsAVS[i], &rmsAVS[i]); 8059498: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805949c: 4a9f ldr r2, [pc, #636] ; (805971c ) 805949e: 009b lsls r3, r3, #2 80594a0: 4413 add r3, r2 80594a2: edd3 7a00 vldr s15, [r3] 80594a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80594aa: 009b lsls r3, r3, #2 80594ac: 4a9b ldr r2, [pc, #620] ; (805971c ) 80594ae: 4413 add r3, r2 80594b0: 4618 mov r0, r3 80594b2: eeb0 0a67 vmov.f32 s0, s15 80594b6: f7fd ffc9 bl 805744c operand[i] = peakAVS[i] / rmsAVS[i]; 80594ba: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80594be: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80594c2: 4999 ldr r1, [pc, #612] ; (8059728 ) 80594c4: 0092 lsls r2, r2, #2 80594c6: 440a add r2, r1 80594c8: edd2 6a00 vldr s13, [r2] 80594cc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80594d0: 4992 ldr r1, [pc, #584] ; (805971c ) 80594d2: 0092 lsls r2, r2, #2 80594d4: 440a add r2, r1 80594d6: ed92 7a00 vldr s14, [r2] 80594da: eec6 7a87 vdiv.f32 s15, s13, s14 80594de: 4a93 ldr r2, [pc, #588] ; (805972c ) 80594e0: 009b lsls r3, r3, #2 80594e2: 4413 add r3, r2 80594e4: edc3 7a00 vstr s15, [r3] //operand[i] = MedMeas(i, operand[i]); //skzDB[i] = 0.0f; peakAVS[i] = 0.0f; 80594e8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80594ec: 4a8e ldr r2, [pc, #568] ; (8059728 ) 80594ee: 009b lsls r3, r3, #2 80594f0: 4413 add r3, r2 80594f2: f04f 0200 mov.w r2, #0 80594f6: 601a str r2, [r3, #0] break; 80594f8: e27d b.n 80599f6 case DIAGN_RMS: //rms if(i == 0) 80594fa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80594fe: 2b00 cmp r3, #0 8059500: d119 bne.n 8059536 { OP1_RMS_WR(0) = rmsAVS[i]; 8059502: 4a8b ldr r2, [pc, #556] ; (8059730 ) 8059504: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059508: 4984 ldr r1, [pc, #528] ; (805971c ) 805950a: 009b lsls r3, r3, #2 805950c: 440b add r3, r1 805950e: 681b ldr r3, [r3, #0] 8059510: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP1_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 8059512: 4b83 ldr r3, [pc, #524] ; (8059720 ) 8059514: 7b5b ldrb r3, [r3, #13] 8059516: b2db uxtb r3, r3 8059518: 461a mov r2, r3 805951a: 4b82 ldr r3, [pc, #520] ; (8059724 ) 805951c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059520: 4619 mov r1, r3 8059522: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059526: 009b lsls r3, r3, #2 8059528: 4a7c ldr r2, [pc, #496] ; (805971c ) 805952a: 4413 add r3, r2 805952c: 461a mov r2, r3 805952e: 4880 ldr r0, [pc, #512] ; (8059730 ) 8059530: f075 fd3a bl 80cefa8 8059534: e058 b.n 80595e8 } else if(i == 1) 8059536: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805953a: 2b01 cmp r3, #1 805953c: d119 bne.n 8059572 { OP2_RMS_WR(0) = rmsAVS[i]; 805953e: 4a7d ldr r2, [pc, #500] ; (8059734 ) 8059540: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059544: 4975 ldr r1, [pc, #468] ; (805971c ) 8059546: 009b lsls r3, r3, #2 8059548: 440b add r3, r1 805954a: 681b ldr r3, [r3, #0] 805954c: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP2_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805954e: 4b74 ldr r3, [pc, #464] ; (8059720 ) 8059550: 7b5b ldrb r3, [r3, #13] 8059552: b2db uxtb r3, r3 8059554: 461a mov r2, r3 8059556: 4b73 ldr r3, [pc, #460] ; (8059724 ) 8059558: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805955c: 4619 mov r1, r3 805955e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059562: 009b lsls r3, r3, #2 8059564: 4a6d ldr r2, [pc, #436] ; (805971c ) 8059566: 4413 add r3, r2 8059568: 461a mov r2, r3 805956a: 4872 ldr r0, [pc, #456] ; (8059734 ) 805956c: f075 fd1c bl 80cefa8 8059570: e03a b.n 80595e8 } else if(i == 2) 8059572: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059576: 2b02 cmp r3, #2 8059578: d119 bne.n 80595ae { OP3_RMS_WR(0) = rmsAVS[i]; 805957a: 4a6f ldr r2, [pc, #444] ; (8059738 ) 805957c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059580: 4966 ldr r1, [pc, #408] ; (805971c ) 8059582: 009b lsls r3, r3, #2 8059584: 440b add r3, r1 8059586: 681b ldr r3, [r3, #0] 8059588: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP3_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805958a: 4b65 ldr r3, [pc, #404] ; (8059720 ) 805958c: 7b5b ldrb r3, [r3, #13] 805958e: b2db uxtb r3, r3 8059590: 461a mov r2, r3 8059592: 4b64 ldr r3, [pc, #400] ; (8059724 ) 8059594: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059598: 4619 mov r1, r3 805959a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805959e: 009b lsls r3, r3, #2 80595a0: 4a5e ldr r2, [pc, #376] ; (805971c ) 80595a2: 4413 add r3, r2 80595a4: 461a mov r2, r3 80595a6: 4864 ldr r0, [pc, #400] ; (8059738 ) 80595a8: f075 fcfe bl 80cefa8 80595ac: e01c b.n 80595e8 } else if(i == 3) 80595ae: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80595b2: 2b03 cmp r3, #3 80595b4: d118 bne.n 80595e8 { OP4_RMS_WR(0) = rmsAVS[i]; 80595b6: 4a58 ldr r2, [pc, #352] ; (8059718 ) 80595b8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80595bc: 4957 ldr r1, [pc, #348] ; (805971c ) 80595be: 009b lsls r3, r3, #2 80595c0: 440b add r3, r1 80595c2: 681b ldr r3, [r3, #0] 80595c4: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP4_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 80595c6: 4b56 ldr r3, [pc, #344] ; (8059720 ) 80595c8: 7b5b ldrb r3, [r3, #13] 80595ca: b2db uxtb r3, r3 80595cc: 461a mov r2, r3 80595ce: 4b55 ldr r3, [pc, #340] ; (8059724 ) 80595d0: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80595d4: 4619 mov r1, r3 80595d6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80595da: 009b lsls r3, r3, #2 80595dc: 4a4f ldr r2, [pc, #316] ; (805971c ) 80595de: 4413 add r3, r2 80595e0: 461a mov r2, r3 80595e2: 484d ldr r0, [pc, #308] ; (8059718 ) 80595e4: f075 fce0 bl 80cefa8 } rmsAVS[i] *= (float32_t) AVG[pardata.AVG]; 80595e8: 4b4d ldr r3, [pc, #308] ; (8059720 ) 80595ea: 7b5b ldrb r3, [r3, #13] 80595ec: b2db uxtb r3, r3 80595ee: 461a mov r2, r3 80595f0: 4b4c ldr r3, [pc, #304] ; (8059724 ) 80595f2: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80595f6: ee07 3a90 vmov s15, r3 80595fa: eef8 7a67 vcvt.f32.u32 s15, s15 80595fe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059602: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059606: 4945 ldr r1, [pc, #276] ; (805971c ) 8059608: 0092 lsls r2, r2, #2 805960a: 440a add r2, r1 805960c: ed92 7a00 vldr s14, [r2] 8059610: ee67 7a27 vmul.f32 s15, s14, s15 8059614: 4a41 ldr r2, [pc, #260] ; (805971c ) 8059616: 009b lsls r3, r3, #2 8059618: 4413 add r3, r2 805961a: edc3 7a00 vstr s15, [r3] rmsAVS[i] /= fl; 805961e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059622: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059626: 493d ldr r1, [pc, #244] ; (805971c ) 8059628: 0092 lsls r2, r2, #2 805962a: 440a add r2, r1 805962c: edd2 6a00 vldr s13, [r2] 8059630: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8059634: eec6 7a87 vdiv.f32 s15, s13, s14 8059638: 4a38 ldr r2, [pc, #224] ; (805971c ) 805963a: 009b lsls r3, r3, #2 805963c: 4413 add r3, r2 805963e: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rmsAVS[i], &operand[i]); 8059642: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059646: 4a35 ldr r2, [pc, #212] ; (805971c ) 8059648: 009b lsls r3, r3, #2 805964a: 4413 add r3, r2 805964c: edd3 7a00 vldr s15, [r3] 8059650: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059654: 009b lsls r3, r3, #2 8059656: 4a35 ldr r2, [pc, #212] ; (805972c ) 8059658: 4413 add r3, r2 805965a: 4618 mov r0, r3 805965c: eeb0 0a67 vmov.f32 s0, s15 8059660: f7fd fef4 bl 805744c //operand[i] = MedMeas(i, operand[i]); operand[i] /= pardata.IKK; 8059664: 4b2e ldr r3, [pc, #184] ; (8059720 ) 8059666: ed93 7a04 vldr s14, [r3, #16] 805966a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805966e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059672: 492e ldr r1, [pc, #184] ; (805972c ) 8059674: 0092 lsls r2, r2, #2 8059676: 440a add r2, r1 8059678: edd2 6a00 vldr s13, [r2] 805967c: eec6 7a87 vdiv.f32 s15, s13, s14 8059680: 4a2a ldr r2, [pc, #168] ; (805972c ) 8059682: 009b lsls r3, r3, #2 8059684: 4413 add r3, r2 8059686: edc3 7a00 vstr s15, [r3] //LinToLog(&skz[i], &skzDB[i]); break; 805968a: e1b4 b.n 80599f6 case DIAGN_EXCESS: //excess if(i == 0) 805968c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059690: 2b00 cmp r3, #0 8059692: d170 bne.n 8059776 { OP1_PEAK_WR(0) = peakAVS[i]; 8059694: 4a29 ldr r2, [pc, #164] ; (805973c ) 8059696: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805969a: 4923 ldr r1, [pc, #140] ; (8059728 ) 805969c: 009b lsls r3, r3, #2 805969e: 440b add r3, r1 80596a0: 681b ldr r3, [r3, #0] 80596a2: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &OP1_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 80596a4: 4b1e ldr r3, [pc, #120] ; (8059720 ) 80596a6: 7b5b ldrb r3, [r3, #13] 80596a8: b2db uxtb r3, r3 80596aa: 461a mov r2, r3 80596ac: 4b1d ldr r3, [pc, #116] ; (8059724 ) 80596ae: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80596b2: 4619 mov r1, r3 80596b4: f507 73e4 add.w r3, r7, #456 ; 0x1c8 80596b8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80596bc: 481f ldr r0, [pc, #124] ; (805973c ) 80596be: f075 fc0d bl 80ceedc arm_max_f32((float32_t *) &OP1_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 80596c2: 4b17 ldr r3, [pc, #92] ; (8059720 ) 80596c4: 7b5b ldrb r3, [r3, #13] 80596c6: b2db uxtb r3, r3 80596c8: 461a mov r2, r3 80596ca: 4b16 ldr r3, [pc, #88] ; (8059724 ) 80596cc: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80596d0: 4618 mov r0, r3 80596d2: f507 71e4 add.w r1, r7, #456 ; 0x1c8 80596d6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80596da: 1d1a adds r2, r3, #4 80596dc: 460b mov r3, r1 80596de: 4601 mov r1, r0 80596e0: 4816 ldr r0, [pc, #88] ; (805973c ) 80596e2: f075 fc97 bl 80cf014 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 80596e6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80596ea: eef5 7ac0 vcmpe.f32 s15, #0.0 80596ee: eef1 fa10 vmrs APSR_nzcv, fpscr 80596f2: dd02 ble.n 80596fa 80596f4: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 80596f8: e003 b.n 8059702 80596fa: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80596fe: eeb1 7a67 vneg.f32 s14, s15 8059702: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059706: eef5 7ac0 vcmpe.f32 s15, #0.0 805970a: eef1 fa10 vmrs APSR_nzcv, fpscr 805970e: dd17 ble.n 8059740 8059710: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059714: e018 b.n 8059748 8059716: bf00 nop 8059718: 64053800 .word 0x64053800 805971c: 20021d38 .word 0x20021d38 8059720: 20023eb8 .word 0x20023eb8 8059724: 080f54d8 .word 0x080f54d8 8059728: 20021d4c .word 0x20021d4c 805972c: 20026938 .word 0x20026938 8059730: 64050800 .word 0x64050800 8059734: 64051800 .word 0x64051800 8059738: 64052800 .word 0x64052800 805973c: 64050000 .word 0x64050000 8059740: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059744: eef1 7a67 vneg.f32 s15, s15 8059748: eeb4 7ae7 vcmpe.f32 s14, s15 805974c: eef1 fa10 vmrs APSR_nzcv, fpscr 8059750: dd08 ble.n 8059764 8059752: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059756: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 805975a: 4992 ldr r1, [pc, #584] ; (80599a4 ) 805975c: 009b lsls r3, r3, #2 805975e: 440b add r3, r1 8059760: 601a str r2, [r3, #0] 8059762: e133 b.n 80599cc else peakAVS[i] = fn[1]; 8059764: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059768: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 805976c: 498d ldr r1, [pc, #564] ; (80599a4 ) 805976e: 009b lsls r3, r3, #2 8059770: 440b add r3, r1 8059772: 601a str r2, [r3, #0] 8059774: e12a b.n 80599cc } else if(i == 1) 8059776: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805977a: 2b01 cmp r3, #1 805977c: d15b bne.n 8059836 { OP2_PEAK_WR(0) = peakAVS[i]; 805977e: 4a8a ldr r2, [pc, #552] ; (80599a8 ) 8059780: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059784: 4987 ldr r1, [pc, #540] ; (80599a4 ) 8059786: 009b lsls r3, r3, #2 8059788: 440b add r3, r1 805978a: 681b ldr r3, [r3, #0] 805978c: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &OP2_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 805978e: 4b87 ldr r3, [pc, #540] ; (80599ac ) 8059790: 7b5b ldrb r3, [r3, #13] 8059792: b2db uxtb r3, r3 8059794: 461a mov r2, r3 8059796: 4b86 ldr r3, [pc, #536] ; (80599b0 ) 8059798: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805979c: 4619 mov r1, r3 805979e: f507 73e4 add.w r3, r7, #456 ; 0x1c8 80597a2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80597a6: 4880 ldr r0, [pc, #512] ; (80599a8 ) 80597a8: f075 fb98 bl 80ceedc arm_max_f32((float32_t *) &OP2_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 80597ac: 4b7f ldr r3, [pc, #508] ; (80599ac ) 80597ae: 7b5b ldrb r3, [r3, #13] 80597b0: b2db uxtb r3, r3 80597b2: 461a mov r2, r3 80597b4: 4b7e ldr r3, [pc, #504] ; (80599b0 ) 80597b6: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80597ba: 4618 mov r0, r3 80597bc: f507 71e4 add.w r1, r7, #456 ; 0x1c8 80597c0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80597c4: 1d1a adds r2, r3, #4 80597c6: 460b mov r3, r1 80597c8: 4601 mov r1, r0 80597ca: 4877 ldr r0, [pc, #476] ; (80599a8 ) 80597cc: f075 fc22 bl 80cf014 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 80597d0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80597d4: eef5 7ac0 vcmpe.f32 s15, #0.0 80597d8: eef1 fa10 vmrs APSR_nzcv, fpscr 80597dc: dd02 ble.n 80597e4 80597de: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 80597e2: e003 b.n 80597ec 80597e4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80597e8: eeb1 7a67 vneg.f32 s14, s15 80597ec: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80597f0: eef5 7ac0 vcmpe.f32 s15, #0.0 80597f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80597f8: dd02 ble.n 8059800 80597fa: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80597fe: e003 b.n 8059808 8059800: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059804: eef1 7a67 vneg.f32 s15, s15 8059808: eeb4 7ae7 vcmpe.f32 s14, s15 805980c: eef1 fa10 vmrs APSR_nzcv, fpscr 8059810: dd08 ble.n 8059824 8059812: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059816: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 805981a: 4962 ldr r1, [pc, #392] ; (80599a4 ) 805981c: 009b lsls r3, r3, #2 805981e: 440b add r3, r1 8059820: 601a str r2, [r3, #0] 8059822: e0d3 b.n 80599cc else peakAVS[i] = fn[1]; 8059824: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059828: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 805982c: 495d ldr r1, [pc, #372] ; (80599a4 ) 805982e: 009b lsls r3, r3, #2 8059830: 440b add r3, r1 8059832: 601a str r2, [r3, #0] 8059834: e0ca b.n 80599cc } else if(i == 2) 8059836: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805983a: 2b02 cmp r3, #2 805983c: d15b bne.n 80598f6 { OP3_PEAK_WR(0) = peakAVS[i]; 805983e: 4a5d ldr r2, [pc, #372] ; (80599b4 ) 8059840: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059844: 4957 ldr r1, [pc, #348] ; (80599a4 ) 8059846: 009b lsls r3, r3, #2 8059848: 440b add r3, r1 805984a: 681b ldr r3, [r3, #0] 805984c: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &OP3_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 805984e: 4b57 ldr r3, [pc, #348] ; (80599ac ) 8059850: 7b5b ldrb r3, [r3, #13] 8059852: b2db uxtb r3, r3 8059854: 461a mov r2, r3 8059856: 4b56 ldr r3, [pc, #344] ; (80599b0 ) 8059858: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805985c: 4619 mov r1, r3 805985e: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059862: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8059866: 4853 ldr r0, [pc, #332] ; (80599b4 ) 8059868: f075 fb38 bl 80ceedc arm_max_f32((float32_t *) &OP3_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 805986c: 4b4f ldr r3, [pc, #316] ; (80599ac ) 805986e: 7b5b ldrb r3, [r3, #13] 8059870: b2db uxtb r3, r3 8059872: 461a mov r2, r3 8059874: 4b4e ldr r3, [pc, #312] ; (80599b0 ) 8059876: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805987a: 4618 mov r0, r3 805987c: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8059880: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8059884: 1d1a adds r2, r3, #4 8059886: 460b mov r3, r1 8059888: 4601 mov r1, r0 805988a: 484a ldr r0, [pc, #296] ; (80599b4 ) 805988c: f075 fbc2 bl 80cf014 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8059890: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059894: eef5 7ac0 vcmpe.f32 s15, #0.0 8059898: eef1 fa10 vmrs APSR_nzcv, fpscr 805989c: dd02 ble.n 80598a4 805989e: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 80598a2: e003 b.n 80598ac 80598a4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80598a8: eeb1 7a67 vneg.f32 s14, s15 80598ac: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80598b0: eef5 7ac0 vcmpe.f32 s15, #0.0 80598b4: eef1 fa10 vmrs APSR_nzcv, fpscr 80598b8: dd02 ble.n 80598c0 80598ba: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80598be: e003 b.n 80598c8 80598c0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80598c4: eef1 7a67 vneg.f32 s15, s15 80598c8: eeb4 7ae7 vcmpe.f32 s14, s15 80598cc: eef1 fa10 vmrs APSR_nzcv, fpscr 80598d0: dd08 ble.n 80598e4 80598d2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80598d6: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 80598da: 4932 ldr r1, [pc, #200] ; (80599a4 ) 80598dc: 009b lsls r3, r3, #2 80598de: 440b add r3, r1 80598e0: 601a str r2, [r3, #0] 80598e2: e073 b.n 80599cc else peakAVS[i] = fn[1]; 80598e4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80598e8: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 80598ec: 492d ldr r1, [pc, #180] ; (80599a4 ) 80598ee: 009b lsls r3, r3, #2 80598f0: 440b add r3, r1 80598f2: 601a str r2, [r3, #0] 80598f4: e06a b.n 80599cc } else if(i == 3) 80598f6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80598fa: 2b03 cmp r3, #3 80598fc: d166 bne.n 80599cc { OP4_PEAK_WR(0) = peakAVS[i]; 80598fe: 4a2e ldr r2, [pc, #184] ; (80599b8 ) 8059900: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059904: 4927 ldr r1, [pc, #156] ; (80599a4 ) 8059906: 009b lsls r3, r3, #2 8059908: 440b add r3, r1 805990a: 681b ldr r3, [r3, #0] 805990c: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &OP4_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 805990e: 4b27 ldr r3, [pc, #156] ; (80599ac ) 8059910: 7b5b ldrb r3, [r3, #13] 8059912: b2db uxtb r3, r3 8059914: 461a mov r2, r3 8059916: 4b26 ldr r3, [pc, #152] ; (80599b0 ) 8059918: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805991c: 4619 mov r1, r3 805991e: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059922: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8059926: 4824 ldr r0, [pc, #144] ; (80599b8 ) 8059928: f075 fad8 bl 80ceedc arm_max_f32((float32_t *) &OP4_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 805992c: 4b1f ldr r3, [pc, #124] ; (80599ac ) 805992e: 7b5b ldrb r3, [r3, #13] 8059930: b2db uxtb r3, r3 8059932: 461a mov r2, r3 8059934: 4b1e ldr r3, [pc, #120] ; (80599b0 ) 8059936: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805993a: 4618 mov r0, r3 805993c: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8059940: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8059944: 1d1a adds r2, r3, #4 8059946: 460b mov r3, r1 8059948: 4601 mov r1, r0 805994a: 481b ldr r0, [pc, #108] ; (80599b8 ) 805994c: f075 fb62 bl 80cf014 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8059950: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059954: eef5 7ac0 vcmpe.f32 s15, #0.0 8059958: eef1 fa10 vmrs APSR_nzcv, fpscr 805995c: dd02 ble.n 8059964 805995e: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8059962: e003 b.n 805996c 8059964: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059968: eeb1 7a67 vneg.f32 s14, s15 805996c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059970: eef5 7ac0 vcmpe.f32 s15, #0.0 8059974: eef1 fa10 vmrs APSR_nzcv, fpscr 8059978: dd02 ble.n 8059980 805997a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805997e: e003 b.n 8059988 8059980: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059984: eef1 7a67 vneg.f32 s15, s15 8059988: eeb4 7ae7 vcmpe.f32 s14, s15 805998c: eef1 fa10 vmrs APSR_nzcv, fpscr 8059990: dd14 ble.n 80599bc 8059992: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059996: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 805999a: 4902 ldr r1, [pc, #8] ; (80599a4 ) 805999c: 009b lsls r3, r3, #2 805999e: 440b add r3, r1 80599a0: 601a str r2, [r3, #0] 80599a2: e013 b.n 80599cc 80599a4: 20021d4c .word 0x20021d4c 80599a8: 64051000 .word 0x64051000 80599ac: 20023eb8 .word 0x20023eb8 80599b0: 080f54d8 .word 0x080f54d8 80599b4: 64052000 .word 0x64052000 80599b8: 64053000 .word 0x64053000 else peakAVS[i] = fn[1]; 80599bc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80599c0: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 80599c4: 49bc ldr r1, [pc, #752] ; (8059cb8 ) 80599c6: 009b lsls r3, r3, #2 80599c8: 440b add r3, r1 80599ca: 601a str r2, [r3, #0] } operand[i] = peakAVS[i]; 80599cc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80599d0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80599d4: 49b8 ldr r1, [pc, #736] ; (8059cb8 ) 80599d6: 0092 lsls r2, r2, #2 80599d8: 440a add r2, r1 80599da: 6812 ldr r2, [r2, #0] 80599dc: 49b7 ldr r1, [pc, #732] ; (8059cbc ) 80599de: 009b lsls r3, r3, #2 80599e0: 440b add r3, r1 80599e2: 601a str r2, [r3, #0] peakAVS[i] = 0.0f; 80599e4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80599e8: 4ab3 ldr r2, [pc, #716] ; (8059cb8 ) 80599ea: 009b lsls r3, r3, #2 80599ec: 4413 add r3, r2 80599ee: f04f 0200 mov.w r2, #0 80599f2: 601a str r2, [r3, #0] break; 80599f4: bf00 nop for(i = 0; i < NUM_OPERANDS; i++) 80599f6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80599fa: 3301 adds r3, #1 80599fc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8059a00: 4baf ldr r3, [pc, #700] ; (8059cc0 ) 8059a02: 781b ldrb r3, [r3, #0] 8059a04: b2db uxtb r3, r3 8059a06: 461a mov r2, r3 8059a08: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059a0c: 429a cmp r2, r3 8059a0e: f63f aacc bhi.w 8058faa } } if(MeanCnt >= (uint32_t) (AVG[pardata.AVG] * 8u)) 8059a12: 4bac ldr r3, [pc, #688] ; (8059cc4 ) 8059a14: 7b5b ldrb r3, [r3, #13] 8059a16: b2db uxtb r3, r3 8059a18: 461a mov r2, r3 8059a1a: 4bab ldr r3, [pc, #684] ; (8059cc8 ) 8059a1c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059a20: 00da lsls r2, r3, #3 8059a22: 4baa ldr r3, [pc, #680] ; (8059ccc ) 8059a24: 681b ldr r3, [r3, #0] 8059a26: 429a cmp r2, r3 8059a28: d816 bhi.n 8059a58 { MeanCnt = 0; 8059a2a: 4ba8 ldr r3, [pc, #672] ; (8059ccc ) 8059a2c: 2200 movs r2, #0 8059a2e: 601a str r2, [r3, #0] arm_fill_f32(0.0f, rmsAVS, 4); 8059a30: 2104 movs r1, #4 8059a32: 48a7 ldr r0, [pc, #668] ; (8059cd0 ) 8059a34: ed9f 0aa7 vldr s0, [pc, #668] ; 8059cd4 8059a38: f075 f910 bl 80cec5c arm_fill_f32(0.0f, peakAVS, 4); 8059a3c: 2104 movs r1, #4 8059a3e: 489e ldr r0, [pc, #632] ; (8059cb8 ) 8059a40: ed9f 0aa4 vldr s0, [pc, #656] ; 8059cd4 8059a44: f075 f90a bl 80cec5c arm_fill_f32(0.0f, fval, 4); 8059a48: f107 03fc add.w r3, r7, #252 ; 0xfc 8059a4c: 2104 movs r1, #4 8059a4e: 4618 mov r0, r3 8059a50: ed9f 0aa0 vldr s0, [pc, #640] ; 8059cd4 8059a54: f075 f902 bl 80cec5c } ///////////////////////////////////////////////////////////////////////////////////// //** (op1 |& op2) |& (op3 |& op4) TODO DIAGN CALC memset(t, 0, sizeof(t)); 8059a58: f507 73ee add.w r3, r7, #476 ; 0x1dc 8059a5c: 2204 movs r2, #4 8059a5e: 2100 movs r1, #0 8059a60: 4618 mov r0, r3 8059a62: f078 fa9f bl 80d1fa4 memset(rez, 0, sizeof(rez)); 8059a66: f507 73ea add.w r3, r7, #468 ; 0x1d4 8059a6a: 2204 movs r2, #4 8059a6c: 2100 movs r1, #0 8059a6e: 4618 mov r0, r3 8059a70: f078 fa98 bl 80d1fa4 zn[0] = pardata.DIAGN_OPER[CURR_POINT][0]; 8059a74: 4b98 ldr r3, [pc, #608] ; (8059cd8 ) 8059a76: 781b ldrb r3, [r3, #0] 8059a78: b2db uxtb r3, r3 8059a7a: 4a92 ldr r2, [pc, #584] ; (8059cc4 ) 8059a7c: 3386 adds r3, #134 ; 0x86 8059a7e: 009b lsls r3, r3, #2 8059a80: 4413 add r3, r2 8059a82: 791b ldrb r3, [r3, #4] 8059a84: b2db uxtb r3, r3 8059a86: f887 31d8 strb.w r3, [r7, #472] ; 0x1d8 zn[1] = pardata.DIAGN_OPER[CURR_POINT][1]; 8059a8a: 4b93 ldr r3, [pc, #588] ; (8059cd8 ) 8059a8c: 781b ldrb r3, [r3, #0] 8059a8e: b2db uxtb r3, r3 8059a90: 4a8c ldr r2, [pc, #560] ; (8059cc4 ) 8059a92: 009b lsls r3, r3, #2 8059a94: 4413 add r3, r2 8059a96: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 8059a9a: b2db uxtb r3, r3 8059a9c: f887 31d9 strb.w r3, [r7, #473] ; 0x1d9 //zn[2] = pardata.DIAGN_OPER[CURR_POINT][1]; if(pardata.IIN == VOLTS) 8059aa0: 4b88 ldr r3, [pc, #544] ; (8059cc4 ) 8059aa2: 799b ldrb r3, [r3, #6] 8059aa4: b2db uxtb r3, r3 8059aa6: 2b02 cmp r3, #2 8059aa8: d159 bne.n 8059b5e { // ïåðåâîäèì âñå âåëè÷èíû â ì for(k = 0; k < NUM_OPERANDS; k++) 8059aaa: 2300 movs r3, #0 8059aac: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 8059ab0: e04d b.n 8059b4e { if((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) == DIAGN_VEL) { 8059ab2: 4b89 ldr r3, [pc, #548] ; (8059cd8 ) 8059ab4: 781b ldrb r3, [r3, #0] 8059ab6: b2db uxtb r3, r3 8059ab8: 461a mov r2, r3 8059aba: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8059abe: 4981 ldr r1, [pc, #516] ; (8059cc4 ) 8059ac0: 0092 lsls r2, r2, #2 8059ac2: 440a add r2, r1 8059ac4: 4413 add r3, r2 8059ac6: f503 730f add.w r3, r3, #572 ; 0x23c 8059aca: 781b ldrb r3, [r3, #0] 8059acc: b2db uxtb r3, r3 8059ace: f003 0307 and.w r3, r3, #7 8059ad2: 2b02 cmp r3, #2 8059ad4: d112 bne.n 8059afc operand[k] *= 0.001f; 8059ad6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8059ada: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8059ade: 4977 ldr r1, [pc, #476] ; (8059cbc ) 8059ae0: 0092 lsls r2, r2, #2 8059ae2: 440a add r2, r1 8059ae4: edd2 7a00 vldr s15, [r2] 8059ae8: ed9f 7a7c vldr s14, [pc, #496] ; 8059cdc 8059aec: ee67 7a87 vmul.f32 s15, s15, s14 8059af0: 4a72 ldr r2, [pc, #456] ; (8059cbc ) 8059af2: 009b lsls r3, r3, #2 8059af4: 4413 add r3, r2 8059af6: edc3 7a00 vstr s15, [r3] 8059afa: e023 b.n 8059b44 } else if((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) == DIAGN_DIS) { 8059afc: 4b76 ldr r3, [pc, #472] ; (8059cd8 ) 8059afe: 781b ldrb r3, [r3, #0] 8059b00: b2db uxtb r3, r3 8059b02: 461a mov r2, r3 8059b04: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8059b08: 496e ldr r1, [pc, #440] ; (8059cc4 ) 8059b0a: 0092 lsls r2, r2, #2 8059b0c: 440a add r2, r1 8059b0e: 4413 add r3, r2 8059b10: f503 730f add.w r3, r3, #572 ; 0x23c 8059b14: 781b ldrb r3, [r3, #0] 8059b16: b2db uxtb r3, r3 8059b18: f003 0307 and.w r3, r3, #7 8059b1c: 2b04 cmp r3, #4 8059b1e: d111 bne.n 8059b44 operand[k] *= 0.000001f; 8059b20: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8059b24: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8059b28: 4964 ldr r1, [pc, #400] ; (8059cbc ) 8059b2a: 0092 lsls r2, r2, #2 8059b2c: 440a add r2, r1 8059b2e: edd2 7a00 vldr s15, [r2] 8059b32: ed9f 7a6b vldr s14, [pc, #428] ; 8059ce0 8059b36: ee67 7a87 vmul.f32 s15, s15, s14 8059b3a: 4a60 ldr r2, [pc, #384] ; (8059cbc ) 8059b3c: 009b lsls r3, r3, #2 8059b3e: 4413 add r3, r2 8059b40: edc3 7a00 vstr s15, [r3] for(k = 0; k < NUM_OPERANDS; k++) 8059b44: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8059b48: 3301 adds r3, #1 8059b4a: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 8059b4e: 4b5c ldr r3, [pc, #368] ; (8059cc0 ) 8059b50: 781b ldrb r3, [r3, #0] 8059b52: b2db uxtb r3, r3 8059b54: 461a mov r2, r3 8059b56: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8059b5a: 429a cmp r2, r3 8059b5c: d8a9 bhi.n 8059ab2 //======================================================== //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)) 8059b5e: 4b5e ldr r3, [pc, #376] ; (8059cd8 ) 8059b60: 781b ldrb r3, [r3, #0] 8059b62: b2db uxtb r3, r3 8059b64: 4a57 ldr r2, [pc, #348] ; (8059cc4 ) 8059b66: 338e adds r3, #142 ; 0x8e 8059b68: 009b lsls r3, r3, #2 8059b6a: 4413 add r3, r2 8059b6c: 791b ldrb r3, [r3, #4] 8059b6e: b2db uxtb r3, r3 8059b70: f003 0307 and.w r3, r3, #7 8059b74: 2b00 cmp r3, #0 8059b76: d11d bne.n 8059bb4 8059b78: 4b57 ldr r3, [pc, #348] ; (8059cd8 ) 8059b7a: 781b ldrb r3, [r3, #0] 8059b7c: b2db uxtb r3, r3 8059b7e: 4a51 ldr r2, [pc, #324] ; (8059cc4 ) 8059b80: 009b lsls r3, r3, #2 8059b82: 4413 add r3, r2 8059b84: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8059b88: b2db uxtb r3, r3 8059b8a: f003 0307 and.w r3, r3, #7 8059b8e: 2b00 cmp r3, #0 8059b90: d110 bne.n 8059bb4 8059b92: 4b51 ldr r3, [pc, #324] ; (8059cd8 ) 8059b94: 781b ldrb r3, [r3, #0] 8059b96: b2db uxtb r3, r3 8059b98: 4a4a ldr r2, [pc, #296] ; (8059cc4 ) 8059b9a: 009b lsls r3, r3, #2 8059b9c: 4413 add r3, r2 8059b9e: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8059ba2: b2db uxtb r3, r3 8059ba4: f003 0307 and.w r3, r3, #7 8059ba8: 2b00 cmp r3, #0 8059baa: d103 bne.n 8059bb4 { WARNING = false; 8059bac: 4b4d ldr r3, [pc, #308] ; (8059ce4 ) 8059bae: 2200 movs r2, #0 8059bb0: 701a strb r2, [r3, #0] 8059bb2: e2d1 b.n 805a158 } 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)) 8059bb4: 4b48 ldr r3, [pc, #288] ; (8059cd8 ) 8059bb6: 781b ldrb r3, [r3, #0] 8059bb8: b2db uxtb r3, r3 8059bba: 4a42 ldr r2, [pc, #264] ; (8059cc4 ) 8059bbc: 338e adds r3, #142 ; 0x8e 8059bbe: 009b lsls r3, r3, #2 8059bc0: 4413 add r3, r2 8059bc2: 791b ldrb r3, [r3, #4] 8059bc4: b2db uxtb r3, r3 8059bc6: f003 0307 and.w r3, r3, #7 8059bca: 2b00 cmp r3, #0 8059bcc: d033 beq.n 8059c36 8059bce: 4b42 ldr r3, [pc, #264] ; (8059cd8 ) 8059bd0: 781b ldrb r3, [r3, #0] 8059bd2: b2db uxtb r3, r3 8059bd4: 4a3b ldr r2, [pc, #236] ; (8059cc4 ) 8059bd6: 009b lsls r3, r3, #2 8059bd8: 4413 add r3, r2 8059bda: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8059bde: b2db uxtb r3, r3 8059be0: f003 0307 and.w r3, r3, #7 8059be4: 2b00 cmp r3, #0 8059be6: d126 bne.n 8059c36 8059be8: 4b3b ldr r3, [pc, #236] ; (8059cd8 ) 8059bea: 781b ldrb r3, [r3, #0] 8059bec: b2db uxtb r3, r3 8059bee: 4a35 ldr r2, [pc, #212] ; (8059cc4 ) 8059bf0: 009b lsls r3, r3, #2 8059bf2: 4413 add r3, r2 8059bf4: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8059bf8: b2db uxtb r3, r3 8059bfa: f003 0307 and.w r3, r3, #7 8059bfe: 2b00 cmp r3, #0 8059c00: d119 bne.n 8059c36 { if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 8059c02: 4b2e ldr r3, [pc, #184] ; (8059cbc ) 8059c04: ed93 7a00 vldr s14, [r3] 8059c08: 4b33 ldr r3, [pc, #204] ; (8059cd8 ) 8059c0a: 781b ldrb r3, [r3, #0] 8059c0c: b2db uxtb r3, r3 8059c0e: 4a2d ldr r2, [pc, #180] ; (8059cc4 ) 8059c10: 011b lsls r3, r3, #4 8059c12: 4413 add r3, r2 8059c14: f503 7357 add.w r3, r3, #860 ; 0x35c 8059c18: edd3 7a00 vldr s15, [r3] 8059c1c: eeb4 7ae7 vcmpe.f32 s14, s15 8059c20: eef1 fa10 vmrs APSR_nzcv, fpscr 8059c24: db03 blt.n 8059c2e WARNING = true; 8059c26: 4b2f ldr r3, [pc, #188] ; (8059ce4 ) 8059c28: 2201 movs r2, #1 8059c2a: 701a strb r2, [r3, #0] if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 8059c2c: e294 b.n 805a158 } else WARNING = false; 8059c2e: 4b2d ldr r3, [pc, #180] ; (8059ce4 ) 8059c30: 2200 movs r2, #0 8059c32: 701a strb r2, [r3, #0] if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 8059c34: e290 b.n 805a158 } 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)) 8059c36: 4b28 ldr r3, [pc, #160] ; (8059cd8 ) 8059c38: 781b ldrb r3, [r3, #0] 8059c3a: b2db uxtb r3, r3 8059c3c: 4a21 ldr r2, [pc, #132] ; (8059cc4 ) 8059c3e: 338e adds r3, #142 ; 0x8e 8059c40: 009b lsls r3, r3, #2 8059c42: 4413 add r3, r2 8059c44: 791b ldrb r3, [r3, #4] 8059c46: b2db uxtb r3, r3 8059c48: f003 0307 and.w r3, r3, #7 8059c4c: 2b00 cmp r3, #0 8059c4e: d14b bne.n 8059ce8 8059c50: 4b21 ldr r3, [pc, #132] ; (8059cd8 ) 8059c52: 781b ldrb r3, [r3, #0] 8059c54: b2db uxtb r3, r3 8059c56: 4a1b ldr r2, [pc, #108] ; (8059cc4 ) 8059c58: 009b lsls r3, r3, #2 8059c5a: 4413 add r3, r2 8059c5c: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8059c60: b2db uxtb r3, r3 8059c62: f003 0307 and.w r3, r3, #7 8059c66: 2b00 cmp r3, #0 8059c68: d03e beq.n 8059ce8 8059c6a: 4b1b ldr r3, [pc, #108] ; (8059cd8 ) 8059c6c: 781b ldrb r3, [r3, #0] 8059c6e: b2db uxtb r3, r3 8059c70: 4a14 ldr r2, [pc, #80] ; (8059cc4 ) 8059c72: 009b lsls r3, r3, #2 8059c74: 4413 add r3, r2 8059c76: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8059c7a: b2db uxtb r3, r3 8059c7c: f003 0307 and.w r3, r3, #7 8059c80: 2b00 cmp r3, #0 8059c82: d131 bne.n 8059ce8 { if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 8059c84: 4b0d ldr r3, [pc, #52] ; (8059cbc ) 8059c86: ed93 7a01 vldr s14, [r3, #4] 8059c8a: 4b13 ldr r3, [pc, #76] ; (8059cd8 ) 8059c8c: 781b ldrb r3, [r3, #0] 8059c8e: b2db uxtb r3, r3 8059c90: 4a0c ldr r2, [pc, #48] ; (8059cc4 ) 8059c92: 011b lsls r3, r3, #4 8059c94: 4413 add r3, r2 8059c96: f503 7358 add.w r3, r3, #864 ; 0x360 8059c9a: edd3 7a00 vldr s15, [r3] 8059c9e: eeb4 7ae7 vcmpe.f32 s14, s15 8059ca2: eef1 fa10 vmrs APSR_nzcv, fpscr 8059ca6: db03 blt.n 8059cb0 WARNING = true; 8059ca8: 4b0e ldr r3, [pc, #56] ; (8059ce4 ) 8059caa: 2201 movs r2, #1 8059cac: 701a strb r2, [r3, #0] if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 8059cae: e253 b.n 805a158 } else WARNING = false; 8059cb0: 4b0c ldr r3, [pc, #48] ; (8059ce4 ) 8059cb2: 2200 movs r2, #0 8059cb4: 701a strb r2, [r3, #0] if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 8059cb6: e24f b.n 805a158 8059cb8: 20021d4c .word 0x20021d4c 8059cbc: 20026938 .word 0x20026938 8059cc0: 2002105e .word 0x2002105e 8059cc4: 20023eb8 .word 0x20023eb8 8059cc8: 080f54d8 .word 0x080f54d8 8059ccc: 20020dd8 .word 0x20020dd8 8059cd0: 20021d38 .word 0x20021d38 8059cd4: 00000000 .word 0x00000000 8059cd8: 2002105d .word 0x2002105d 8059cdc: 3a83126f .word 0x3a83126f 8059ce0: 358637bd .word 0x358637bd 8059ce4: 20021060 .word 0x20021060 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == 0)) 8059ce8: 4b91 ldr r3, [pc, #580] ; (8059f30 ) 8059cea: 781b ldrb r3, [r3, #0] 8059cec: b2db uxtb r3, r3 8059cee: 4a91 ldr r2, [pc, #580] ; (8059f34 ) 8059cf0: 338e adds r3, #142 ; 0x8e 8059cf2: 009b lsls r3, r3, #2 8059cf4: 4413 add r3, r2 8059cf6: 791b ldrb r3, [r3, #4] 8059cf8: b2db uxtb r3, r3 8059cfa: f003 0307 and.w r3, r3, #7 8059cfe: 2b00 cmp r3, #0 8059d00: d063 beq.n 8059dca 8059d02: 4b8b ldr r3, [pc, #556] ; (8059f30 ) 8059d04: 781b ldrb r3, [r3, #0] 8059d06: b2db uxtb r3, r3 8059d08: 4a8a ldr r2, [pc, #552] ; (8059f34 ) 8059d0a: 009b lsls r3, r3, #2 8059d0c: 4413 add r3, r2 8059d0e: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8059d12: b2db uxtb r3, r3 8059d14: f003 0307 and.w r3, r3, #7 8059d18: 2b00 cmp r3, #0 8059d1a: d056 beq.n 8059dca 8059d1c: 4b84 ldr r3, [pc, #528] ; (8059f30 ) 8059d1e: 781b ldrb r3, [r3, #0] 8059d20: b2db uxtb r3, r3 8059d22: 4a84 ldr r2, [pc, #528] ; (8059f34 ) 8059d24: 009b lsls r3, r3, #2 8059d26: 4413 add r3, r2 8059d28: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8059d2c: b2db uxtb r3, r3 8059d2e: f003 0307 and.w r3, r3, #7 8059d32: 2b00 cmp r3, #0 8059d34: d149 bne.n 8059dca { if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 8059d36: 4b80 ldr r3, [pc, #512] ; (8059f38 ) 8059d38: ed93 7a00 vldr s14, [r3] 8059d3c: 4b7c ldr r3, [pc, #496] ; (8059f30 ) 8059d3e: 781b ldrb r3, [r3, #0] 8059d40: b2db uxtb r3, r3 8059d42: 4a7c ldr r2, [pc, #496] ; (8059f34 ) 8059d44: 011b lsls r3, r3, #4 8059d46: 4413 add r3, r2 8059d48: f503 7357 add.w r3, r3, #860 ; 0x35c 8059d4c: edd3 7a00 vldr s15, [r3] 8059d50: eeb4 7ae7 vcmpe.f32 s14, s15 8059d54: eef1 fa10 vmrs APSR_nzcv, fpscr 8059d58: db02 blt.n 8059d60 t[Us1] = 1; 8059d5a: 2301 movs r3, #1 8059d5c: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 8059d60: 4b75 ldr r3, [pc, #468] ; (8059f38 ) 8059d62: ed93 7a01 vldr s14, [r3, #4] 8059d66: 4b72 ldr r3, [pc, #456] ; (8059f30 ) 8059d68: 781b ldrb r3, [r3, #0] 8059d6a: b2db uxtb r3, r3 8059d6c: 4a71 ldr r2, [pc, #452] ; (8059f34 ) 8059d6e: 011b lsls r3, r3, #4 8059d70: 4413 add r3, r2 8059d72: f503 7358 add.w r3, r3, #864 ; 0x360 8059d76: edd3 7a00 vldr s15, [r3] 8059d7a: eeb4 7ae7 vcmpe.f32 s14, s15 8059d7e: eef1 fa10 vmrs APSR_nzcv, fpscr 8059d82: db02 blt.n 8059d8a t[Us2] = 1; 8059d84: 2301 movs r3, #1 8059d86: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(zn[0]) 8059d8a: f897 31d8 ldrb.w r3, [r7, #472] ; 0x1d8 8059d8e: 2b00 cmp r3, #0 8059d90: d00d beq.n 8059dae WARNING = t[Us1] & t[Us2]; //and 8059d92: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8059d96: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 8059d9a: 4013 ands r3, r2 8059d9c: b2db uxtb r3, r3 8059d9e: 2b00 cmp r3, #0 8059da0: bf14 ite ne 8059da2: 2301 movne r3, #1 8059da4: 2300 moveq r3, #0 8059da6: b2da uxtb r2, r3 8059da8: 4b64 ldr r3, [pc, #400] ; (8059f3c ) 8059daa: 701a strb r2, [r3, #0] if(zn[0]) 8059dac: e1d4 b.n 805a158 else WARNING = t[Us1] | t[Us2]; //or 8059dae: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8059db2: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 8059db6: 4313 orrs r3, r2 8059db8: b2db uxtb r3, r3 8059dba: 2b00 cmp r3, #0 8059dbc: bf14 ite ne 8059dbe: 2301 movne r3, #1 8059dc0: 2300 moveq r3, #0 8059dc2: b2da uxtb r2, r3 8059dc4: 4b5d ldr r3, [pc, #372] ; (8059f3c ) 8059dc6: 701a strb r2, [r3, #0] if(zn[0]) 8059dc8: e1c6 b.n 805a158 } 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))) 8059dca: 4b59 ldr r3, [pc, #356] ; (8059f30 ) 8059dcc: 781b ldrb r3, [r3, #0] 8059dce: b2db uxtb r3, r3 8059dd0: 4a58 ldr r2, [pc, #352] ; (8059f34 ) 8059dd2: 338e adds r3, #142 ; 0x8e 8059dd4: 009b lsls r3, r3, #2 8059dd6: 4413 add r3, r2 8059dd8: 791b ldrb r3, [r3, #4] 8059dda: b2db uxtb r3, r3 8059ddc: f003 0307 and.w r3, r3, #7 8059de0: 2b00 cmp r3, #0 8059de2: d133 bne.n 8059e4c 8059de4: 4b52 ldr r3, [pc, #328] ; (8059f30 ) 8059de6: 781b ldrb r3, [r3, #0] 8059de8: b2db uxtb r3, r3 8059dea: 4a52 ldr r2, [pc, #328] ; (8059f34 ) 8059dec: 009b lsls r3, r3, #2 8059dee: 4413 add r3, r2 8059df0: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8059df4: b2db uxtb r3, r3 8059df6: f003 0307 and.w r3, r3, #7 8059dfa: 2b00 cmp r3, #0 8059dfc: d126 bne.n 8059e4c 8059dfe: 4b4c ldr r3, [pc, #304] ; (8059f30 ) 8059e00: 781b ldrb r3, [r3, #0] 8059e02: b2db uxtb r3, r3 8059e04: 4a4b ldr r2, [pc, #300] ; (8059f34 ) 8059e06: 009b lsls r3, r3, #2 8059e08: 4413 add r3, r2 8059e0a: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8059e0e: b2db uxtb r3, r3 8059e10: f003 0307 and.w r3, r3, #7 8059e14: 2b00 cmp r3, #0 8059e16: d019 beq.n 8059e4c { if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 8059e18: 4b47 ldr r3, [pc, #284] ; (8059f38 ) 8059e1a: ed93 7a02 vldr s14, [r3, #8] 8059e1e: 4b44 ldr r3, [pc, #272] ; (8059f30 ) 8059e20: 781b ldrb r3, [r3, #0] 8059e22: b2db uxtb r3, r3 8059e24: 4a43 ldr r2, [pc, #268] ; (8059f34 ) 8059e26: 3336 adds r3, #54 ; 0x36 8059e28: 011b lsls r3, r3, #4 8059e2a: 4413 add r3, r2 8059e2c: 3304 adds r3, #4 8059e2e: edd3 7a00 vldr s15, [r3] 8059e32: eeb4 7ae7 vcmpe.f32 s14, s15 8059e36: eef1 fa10 vmrs APSR_nzcv, fpscr 8059e3a: db03 blt.n 8059e44 WARNING = true; 8059e3c: 4b3f ldr r3, [pc, #252] ; (8059f3c ) 8059e3e: 2201 movs r2, #1 8059e40: 701a strb r2, [r3, #0] if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 8059e42: e189 b.n 805a158 } else WARNING = false; 8059e44: 4b3d ldr r3, [pc, #244] ; (8059f3c ) 8059e46: 2200 movs r2, #0 8059e48: 701a strb r2, [r3, #0] if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 8059e4a: e185 b.n 805a158 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 8059e4c: 4b38 ldr r3, [pc, #224] ; (8059f30 ) 8059e4e: 781b ldrb r3, [r3, #0] 8059e50: b2db uxtb r3, r3 8059e52: 4a38 ldr r2, [pc, #224] ; (8059f34 ) 8059e54: 338e adds r3, #142 ; 0x8e 8059e56: 009b lsls r3, r3, #2 8059e58: 4413 add r3, r2 8059e5a: 791b ldrb r3, [r3, #4] 8059e5c: b2db uxtb r3, r3 8059e5e: f003 0307 and.w r3, r3, #7 8059e62: 2b00 cmp r3, #0 8059e64: d06c beq.n 8059f40 8059e66: 4b32 ldr r3, [pc, #200] ; (8059f30 ) 8059e68: 781b ldrb r3, [r3, #0] 8059e6a: b2db uxtb r3, r3 8059e6c: 4a31 ldr r2, [pc, #196] ; (8059f34 ) 8059e6e: 009b lsls r3, r3, #2 8059e70: 4413 add r3, r2 8059e72: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8059e76: b2db uxtb r3, r3 8059e78: f003 0307 and.w r3, r3, #7 8059e7c: 2b00 cmp r3, #0 8059e7e: d15f bne.n 8059f40 8059e80: 4b2b ldr r3, [pc, #172] ; (8059f30 ) 8059e82: 781b ldrb r3, [r3, #0] 8059e84: b2db uxtb r3, r3 8059e86: 4a2b ldr r2, [pc, #172] ; (8059f34 ) 8059e88: 009b lsls r3, r3, #2 8059e8a: 4413 add r3, r2 8059e8c: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8059e90: b2db uxtb r3, r3 8059e92: f003 0307 and.w r3, r3, #7 8059e96: 2b00 cmp r3, #0 8059e98: d052 beq.n 8059f40 { if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 8059e9a: 4b27 ldr r3, [pc, #156] ; (8059f38 ) 8059e9c: ed93 7a00 vldr s14, [r3] 8059ea0: 4b23 ldr r3, [pc, #140] ; (8059f30 ) 8059ea2: 781b ldrb r3, [r3, #0] 8059ea4: b2db uxtb r3, r3 8059ea6: 4a23 ldr r2, [pc, #140] ; (8059f34 ) 8059ea8: 011b lsls r3, r3, #4 8059eaa: 4413 add r3, r2 8059eac: f503 7357 add.w r3, r3, #860 ; 0x35c 8059eb0: edd3 7a00 vldr s15, [r3] 8059eb4: eeb4 7ae7 vcmpe.f32 s14, s15 8059eb8: eef1 fa10 vmrs APSR_nzcv, fpscr 8059ebc: db02 blt.n 8059ec4 t[Us1] = 1; 8059ebe: 2301 movs r3, #1 8059ec0: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 8059ec4: 4b1c ldr r3, [pc, #112] ; (8059f38 ) 8059ec6: ed93 7a02 vldr s14, [r3, #8] 8059eca: 4b19 ldr r3, [pc, #100] ; (8059f30 ) 8059ecc: 781b ldrb r3, [r3, #0] 8059ece: b2db uxtb r3, r3 8059ed0: 4a18 ldr r2, [pc, #96] ; (8059f34 ) 8059ed2: 3336 adds r3, #54 ; 0x36 8059ed4: 011b lsls r3, r3, #4 8059ed6: 4413 add r3, r2 8059ed8: 3304 adds r3, #4 8059eda: edd3 7a00 vldr s15, [r3] 8059ede: eeb4 7ae7 vcmpe.f32 s14, s15 8059ee2: eef1 fa10 vmrs APSR_nzcv, fpscr 8059ee6: db02 blt.n 8059eee t[Us3] = 1; 8059ee8: 2301 movs r3, #1 8059eea: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[1]) 8059eee: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 8059ef2: 2b00 cmp r3, #0 8059ef4: d00d beq.n 8059f12 WARNING = t[Us1] & t[Us3]; //and 8059ef6: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8059efa: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8059efe: 4013 ands r3, r2 8059f00: b2db uxtb r3, r3 8059f02: 2b00 cmp r3, #0 8059f04: bf14 ite ne 8059f06: 2301 movne r3, #1 8059f08: 2300 moveq r3, #0 8059f0a: b2da uxtb r2, r3 8059f0c: 4b0b ldr r3, [pc, #44] ; (8059f3c ) 8059f0e: 701a strb r2, [r3, #0] if(zn[1]) 8059f10: e122 b.n 805a158 else WARNING = t[Us1] | t[Us3]; //or 8059f12: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8059f16: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8059f1a: 4313 orrs r3, r2 8059f1c: b2db uxtb r3, r3 8059f1e: 2b00 cmp r3, #0 8059f20: bf14 ite ne 8059f22: 2301 movne r3, #1 8059f24: 2300 moveq r3, #0 8059f26: b2da uxtb r2, r3 8059f28: 4b04 ldr r3, [pc, #16] ; (8059f3c ) 8059f2a: 701a strb r2, [r3, #0] if(zn[1]) 8059f2c: e114 b.n 805a158 8059f2e: bf00 nop 8059f30: 2002105d .word 0x2002105d 8059f34: 20023eb8 .word 0x20023eb8 8059f38: 20026938 .word 0x20026938 8059f3c: 20021060 .word 0x20021060 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 8059f40: 4ba2 ldr r3, [pc, #648] ; (805a1cc ) 8059f42: 781b ldrb r3, [r3, #0] 8059f44: b2db uxtb r3, r3 8059f46: 4aa2 ldr r2, [pc, #648] ; (805a1d0 ) 8059f48: 338e adds r3, #142 ; 0x8e 8059f4a: 009b lsls r3, r3, #2 8059f4c: 4413 add r3, r2 8059f4e: 791b ldrb r3, [r3, #4] 8059f50: b2db uxtb r3, r3 8059f52: f003 0307 and.w r3, r3, #7 8059f56: 2b00 cmp r3, #0 8059f58: d163 bne.n 805a022 8059f5a: 4b9c ldr r3, [pc, #624] ; (805a1cc ) 8059f5c: 781b ldrb r3, [r3, #0] 8059f5e: b2db uxtb r3, r3 8059f60: 4a9b ldr r2, [pc, #620] ; (805a1d0 ) 8059f62: 009b lsls r3, r3, #2 8059f64: 4413 add r3, r2 8059f66: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8059f6a: b2db uxtb r3, r3 8059f6c: f003 0307 and.w r3, r3, #7 8059f70: 2b00 cmp r3, #0 8059f72: d056 beq.n 805a022 8059f74: 4b95 ldr r3, [pc, #596] ; (805a1cc ) 8059f76: 781b ldrb r3, [r3, #0] 8059f78: b2db uxtb r3, r3 8059f7a: 4a95 ldr r2, [pc, #596] ; (805a1d0 ) 8059f7c: 009b lsls r3, r3, #2 8059f7e: 4413 add r3, r2 8059f80: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8059f84: b2db uxtb r3, r3 8059f86: f003 0307 and.w r3, r3, #7 8059f8a: 2b00 cmp r3, #0 8059f8c: d049 beq.n 805a022 { if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 8059f8e: 4b91 ldr r3, [pc, #580] ; (805a1d4 ) 8059f90: ed93 7a01 vldr s14, [r3, #4] 8059f94: 4b8d ldr r3, [pc, #564] ; (805a1cc ) 8059f96: 781b ldrb r3, [r3, #0] 8059f98: b2db uxtb r3, r3 8059f9a: 4a8d ldr r2, [pc, #564] ; (805a1d0 ) 8059f9c: 011b lsls r3, r3, #4 8059f9e: 4413 add r3, r2 8059fa0: f503 7358 add.w r3, r3, #864 ; 0x360 8059fa4: edd3 7a00 vldr s15, [r3] 8059fa8: eeb4 7ae7 vcmpe.f32 s14, s15 8059fac: eef1 fa10 vmrs APSR_nzcv, fpscr 8059fb0: db02 blt.n 8059fb8 t[Us2] = 1; 8059fb2: 2301 movs r3, #1 8059fb4: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 8059fb8: 4b86 ldr r3, [pc, #536] ; (805a1d4 ) 8059fba: ed93 7a02 vldr s14, [r3, #8] 8059fbe: 4b83 ldr r3, [pc, #524] ; (805a1cc ) 8059fc0: 781b ldrb r3, [r3, #0] 8059fc2: b2db uxtb r3, r3 8059fc4: 4a82 ldr r2, [pc, #520] ; (805a1d0 ) 8059fc6: 3336 adds r3, #54 ; 0x36 8059fc8: 011b lsls r3, r3, #4 8059fca: 4413 add r3, r2 8059fcc: 3304 adds r3, #4 8059fce: edd3 7a00 vldr s15, [r3] 8059fd2: eeb4 7ae7 vcmpe.f32 s14, s15 8059fd6: eef1 fa10 vmrs APSR_nzcv, fpscr 8059fda: db02 blt.n 8059fe2 t[Us3] = 1; 8059fdc: 2301 movs r3, #1 8059fde: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[1]) 8059fe2: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 8059fe6: 2b00 cmp r3, #0 8059fe8: d00d beq.n 805a006 WARNING = t[Us2] & t[Us3]; //and 8059fea: f897 21dd ldrb.w r2, [r7, #477] ; 0x1dd 8059fee: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8059ff2: 4013 ands r3, r2 8059ff4: b2db uxtb r3, r3 8059ff6: 2b00 cmp r3, #0 8059ff8: bf14 ite ne 8059ffa: 2301 movne r3, #1 8059ffc: 2300 moveq r3, #0 8059ffe: b2da uxtb r2, r3 805a000: 4b75 ldr r3, [pc, #468] ; (805a1d8 ) 805a002: 701a strb r2, [r3, #0] if(zn[1]) 805a004: e0a8 b.n 805a158 else WARNING = t[Us2] | t[Us3]; //or 805a006: f897 21dd ldrb.w r2, [r7, #477] ; 0x1dd 805a00a: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 805a00e: 4313 orrs r3, r2 805a010: b2db uxtb r3, r3 805a012: 2b00 cmp r3, #0 805a014: bf14 ite ne 805a016: 2301 movne r3, #1 805a018: 2300 moveq r3, #0 805a01a: b2da uxtb r2, r3 805a01c: 4b6e ldr r3, [pc, #440] ; (805a1d8 ) 805a01e: 701a strb r2, [r3, #0] if(zn[1]) 805a020: e09a b.n 805a158 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 805a022: 4b6a ldr r3, [pc, #424] ; (805a1cc ) 805a024: 781b ldrb r3, [r3, #0] 805a026: b2db uxtb r3, r3 805a028: 4a69 ldr r2, [pc, #420] ; (805a1d0 ) 805a02a: 338e adds r3, #142 ; 0x8e 805a02c: 009b lsls r3, r3, #2 805a02e: 4413 add r3, r2 805a030: 791b ldrb r3, [r3, #4] 805a032: b2db uxtb r3, r3 805a034: f003 0307 and.w r3, r3, #7 805a038: 2b00 cmp r3, #0 805a03a: f000 808d beq.w 805a158 805a03e: 4b63 ldr r3, [pc, #396] ; (805a1cc ) 805a040: 781b ldrb r3, [r3, #0] 805a042: b2db uxtb r3, r3 805a044: 4a62 ldr r2, [pc, #392] ; (805a1d0 ) 805a046: 009b lsls r3, r3, #2 805a048: 4413 add r3, r2 805a04a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805a04e: b2db uxtb r3, r3 805a050: f003 0307 and.w r3, r3, #7 805a054: 2b00 cmp r3, #0 805a056: d07f beq.n 805a158 805a058: 4b5c ldr r3, [pc, #368] ; (805a1cc ) 805a05a: 781b ldrb r3, [r3, #0] 805a05c: b2db uxtb r3, r3 805a05e: 4a5c ldr r2, [pc, #368] ; (805a1d0 ) 805a060: 009b lsls r3, r3, #2 805a062: 4413 add r3, r2 805a064: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805a068: b2db uxtb r3, r3 805a06a: f003 0307 and.w r3, r3, #7 805a06e: 2b00 cmp r3, #0 805a070: d072 beq.n 805a158 { if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 805a072: 4b58 ldr r3, [pc, #352] ; (805a1d4 ) 805a074: ed93 7a00 vldr s14, [r3] 805a078: 4b54 ldr r3, [pc, #336] ; (805a1cc ) 805a07a: 781b ldrb r3, [r3, #0] 805a07c: b2db uxtb r3, r3 805a07e: 4a54 ldr r2, [pc, #336] ; (805a1d0 ) 805a080: 011b lsls r3, r3, #4 805a082: 4413 add r3, r2 805a084: f503 7357 add.w r3, r3, #860 ; 0x35c 805a088: edd3 7a00 vldr s15, [r3] 805a08c: eeb4 7ae7 vcmpe.f32 s14, s15 805a090: eef1 fa10 vmrs APSR_nzcv, fpscr 805a094: db02 blt.n 805a09c t[Us1] = 1; 805a096: 2301 movs r3, #1 805a098: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 805a09c: 4b4d ldr r3, [pc, #308] ; (805a1d4 ) 805a09e: ed93 7a01 vldr s14, [r3, #4] 805a0a2: 4b4a ldr r3, [pc, #296] ; (805a1cc ) 805a0a4: 781b ldrb r3, [r3, #0] 805a0a6: b2db uxtb r3, r3 805a0a8: 4a49 ldr r2, [pc, #292] ; (805a1d0 ) 805a0aa: 011b lsls r3, r3, #4 805a0ac: 4413 add r3, r2 805a0ae: f503 7358 add.w r3, r3, #864 ; 0x360 805a0b2: edd3 7a00 vldr s15, [r3] 805a0b6: eeb4 7ae7 vcmpe.f32 s14, s15 805a0ba: eef1 fa10 vmrs APSR_nzcv, fpscr 805a0be: db02 blt.n 805a0c6 t[Us2] = 1; 805a0c0: 2301 movs r3, #1 805a0c2: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 805a0c6: 4b43 ldr r3, [pc, #268] ; (805a1d4 ) 805a0c8: ed93 7a02 vldr s14, [r3, #8] 805a0cc: 4b3f ldr r3, [pc, #252] ; (805a1cc ) 805a0ce: 781b ldrb r3, [r3, #0] 805a0d0: b2db uxtb r3, r3 805a0d2: 4a3f ldr r2, [pc, #252] ; (805a1d0 ) 805a0d4: 3336 adds r3, #54 ; 0x36 805a0d6: 011b lsls r3, r3, #4 805a0d8: 4413 add r3, r2 805a0da: 3304 adds r3, #4 805a0dc: edd3 7a00 vldr s15, [r3] 805a0e0: eeb4 7ae7 vcmpe.f32 s14, s15 805a0e4: eef1 fa10 vmrs APSR_nzcv, fpscr 805a0e8: db02 blt.n 805a0f0 t[Us3] = 1; 805a0ea: 2301 movs r3, #1 805a0ec: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[0]) 805a0f0: f897 31d8 ldrb.w r3, [r7, #472] ; 0x1d8 805a0f4: 2b00 cmp r3, #0 805a0f6: d008 beq.n 805a10a rez[0] = t[Us1] & t[Us2]; //and 805a0f8: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 805a0fc: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 805a100: 4013 ands r3, r2 805a102: b2db uxtb r3, r3 805a104: f887 31d4 strb.w r3, [r7, #468] ; 0x1d4 805a108: e007 b.n 805a11a else rez[0] = t[Us1] | t[Us2]; //or 805a10a: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 805a10e: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 805a112: 4313 orrs r3, r2 805a114: b2db uxtb r3, r3 805a116: f887 31d4 strb.w r3, [r7, #468] ; 0x1d4 if(zn[1]) 805a11a: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 805a11e: 2b00 cmp r3, #0 805a120: d00d beq.n 805a13e WARNING = rez[0] & t[Us3]; //and 805a122: f897 21d4 ldrb.w r2, [r7, #468] ; 0x1d4 805a126: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 805a12a: 4013 ands r3, r2 805a12c: b2db uxtb r3, r3 805a12e: 2b00 cmp r3, #0 805a130: bf14 ite ne 805a132: 2301 movne r3, #1 805a134: 2300 moveq r3, #0 805a136: b2da uxtb r2, r3 805a138: 4b27 ldr r3, [pc, #156] ; (805a1d8 ) 805a13a: 701a strb r2, [r3, #0] 805a13c: e00c b.n 805a158 else WARNING = rez[0] | t[Us3]; //or 805a13e: f897 21d4 ldrb.w r2, [r7, #468] ; 0x1d4 805a142: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 805a146: 4313 orrs r3, r2 805a148: b2db uxtb r3, r3 805a14a: 2b00 cmp r3, #0 805a14c: bf14 ite ne 805a14e: 2301 movne r3, #1 805a150: 2300 moveq r3, #0 805a152: b2da uxtb r2, r3 805a154: 4b20 ldr r3, [pc, #128] ; (805a1d8 ) 805a156: 701a strb r2, [r3, #0] //*************************************************************************** //*************************************************************************** //======================================================== //CRASH memset(t, 0, sizeof(t)); 805a158: f507 73ee add.w r3, r7, #476 ; 0x1dc 805a15c: 2204 movs r2, #4 805a15e: 2100 movs r1, #0 805a160: 4618 mov r0, r3 805a162: f077 ff1f bl 80d1fa4 memset(rez, 0, sizeof(rez)); 805a166: f507 73ea add.w r3, r7, #468 ; 0x1d4 805a16a: 2204 movs r2, #4 805a16c: 2100 movs r1, #0 805a16e: 4618 mov r0, r3 805a170: f077 ff18 bl 80d1fa4 ///////////////// 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)) 805a174: 4b15 ldr r3, [pc, #84] ; (805a1cc ) 805a176: 781b ldrb r3, [r3, #0] 805a178: b2db uxtb r3, r3 805a17a: 4a15 ldr r2, [pc, #84] ; (805a1d0 ) 805a17c: 338e adds r3, #142 ; 0x8e 805a17e: 009b lsls r3, r3, #2 805a180: 4413 add r3, r2 805a182: 791b ldrb r3, [r3, #4] 805a184: b2db uxtb r3, r3 805a186: f003 0307 and.w r3, r3, #7 805a18a: 2b00 cmp r3, #0 805a18c: d128 bne.n 805a1e0 805a18e: 4b0f ldr r3, [pc, #60] ; (805a1cc ) 805a190: 781b ldrb r3, [r3, #0] 805a192: b2db uxtb r3, r3 805a194: 4a0e ldr r2, [pc, #56] ; (805a1d0 ) 805a196: 009b lsls r3, r3, #2 805a198: 4413 add r3, r2 805a19a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805a19e: b2db uxtb r3, r3 805a1a0: f003 0307 and.w r3, r3, #7 805a1a4: 2b00 cmp r3, #0 805a1a6: d11b bne.n 805a1e0 805a1a8: 4b08 ldr r3, [pc, #32] ; (805a1cc ) 805a1aa: 781b ldrb r3, [r3, #0] 805a1ac: b2db uxtb r3, r3 805a1ae: 4a08 ldr r2, [pc, #32] ; (805a1d0 ) 805a1b0: 009b lsls r3, r3, #2 805a1b2: 4413 add r3, r2 805a1b4: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805a1b8: b2db uxtb r3, r3 805a1ba: f003 0307 and.w r3, r3, #7 805a1be: 2b00 cmp r3, #0 805a1c0: d10e bne.n 805a1e0 { ALARM = false; 805a1c2: 4b06 ldr r3, [pc, #24] ; (805a1dc ) 805a1c4: 2200 movs r2, #0 805a1c6: 701a strb r2, [r3, #0] 805a1c8: e2cd b.n 805a766 805a1ca: bf00 nop 805a1cc: 2002105d .word 0x2002105d 805a1d0: 20023eb8 .word 0x20023eb8 805a1d4: 20026938 .word 0x20026938 805a1d8: 20021060 .word 0x20021060 805a1dc: 20021061 .word 0x20021061 } 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)) 805a1e0: 4b99 ldr r3, [pc, #612] ; (805a448 ) 805a1e2: 781b ldrb r3, [r3, #0] 805a1e4: b2db uxtb r3, r3 805a1e6: 4a99 ldr r2, [pc, #612] ; (805a44c ) 805a1e8: 338e adds r3, #142 ; 0x8e 805a1ea: 009b lsls r3, r3, #2 805a1ec: 4413 add r3, r2 805a1ee: 791b ldrb r3, [r3, #4] 805a1f0: b2db uxtb r3, r3 805a1f2: f003 0307 and.w r3, r3, #7 805a1f6: 2b00 cmp r3, #0 805a1f8: d033 beq.n 805a262 805a1fa: 4b93 ldr r3, [pc, #588] ; (805a448 ) 805a1fc: 781b ldrb r3, [r3, #0] 805a1fe: b2db uxtb r3, r3 805a200: 4a92 ldr r2, [pc, #584] ; (805a44c ) 805a202: 009b lsls r3, r3, #2 805a204: 4413 add r3, r2 805a206: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805a20a: b2db uxtb r3, r3 805a20c: f003 0307 and.w r3, r3, #7 805a210: 2b00 cmp r3, #0 805a212: d126 bne.n 805a262 805a214: 4b8c ldr r3, [pc, #560] ; (805a448 ) 805a216: 781b ldrb r3, [r3, #0] 805a218: b2db uxtb r3, r3 805a21a: 4a8c ldr r2, [pc, #560] ; (805a44c ) 805a21c: 009b lsls r3, r3, #2 805a21e: 4413 add r3, r2 805a220: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805a224: b2db uxtb r3, r3 805a226: f003 0307 and.w r3, r3, #7 805a22a: 2b00 cmp r3, #0 805a22c: d119 bne.n 805a262 { if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 805a22e: 4b88 ldr r3, [pc, #544] ; (805a450 ) 805a230: ed93 7a00 vldr s14, [r3] 805a234: 4b84 ldr r3, [pc, #528] ; (805a448 ) 805a236: 781b ldrb r3, [r3, #0] 805a238: b2db uxtb r3, r3 805a23a: 4a84 ldr r2, [pc, #528] ; (805a44c ) 805a23c: 011b lsls r3, r3, #4 805a23e: 4413 add r3, r2 805a240: f503 7377 add.w r3, r3, #988 ; 0x3dc 805a244: edd3 7a00 vldr s15, [r3] 805a248: eeb4 7ae7 vcmpe.f32 s14, s15 805a24c: eef1 fa10 vmrs APSR_nzcv, fpscr 805a250: db03 blt.n 805a25a ALARM = true; 805a252: 4b80 ldr r3, [pc, #512] ; (805a454 ) 805a254: 2201 movs r2, #1 805a256: 701a strb r2, [r3, #0] if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 805a258: e285 b.n 805a766 } else ALARM = false; 805a25a: 4b7e ldr r3, [pc, #504] ; (805a454 ) 805a25c: 2200 movs r2, #0 805a25e: 701a strb r2, [r3, #0] if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 805a260: e281 b.n 805a766 } 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)) 805a262: 4b79 ldr r3, [pc, #484] ; (805a448 ) 805a264: 781b ldrb r3, [r3, #0] 805a266: b2db uxtb r3, r3 805a268: 4a78 ldr r2, [pc, #480] ; (805a44c ) 805a26a: 338e adds r3, #142 ; 0x8e 805a26c: 009b lsls r3, r3, #2 805a26e: 4413 add r3, r2 805a270: 791b ldrb r3, [r3, #4] 805a272: b2db uxtb r3, r3 805a274: f003 0307 and.w r3, r3, #7 805a278: 2b00 cmp r3, #0 805a27a: d133 bne.n 805a2e4 805a27c: 4b72 ldr r3, [pc, #456] ; (805a448 ) 805a27e: 781b ldrb r3, [r3, #0] 805a280: b2db uxtb r3, r3 805a282: 4a72 ldr r2, [pc, #456] ; (805a44c ) 805a284: 009b lsls r3, r3, #2 805a286: 4413 add r3, r2 805a288: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805a28c: b2db uxtb r3, r3 805a28e: f003 0307 and.w r3, r3, #7 805a292: 2b00 cmp r3, #0 805a294: d026 beq.n 805a2e4 805a296: 4b6c ldr r3, [pc, #432] ; (805a448 ) 805a298: 781b ldrb r3, [r3, #0] 805a29a: b2db uxtb r3, r3 805a29c: 4a6b ldr r2, [pc, #428] ; (805a44c ) 805a29e: 009b lsls r3, r3, #2 805a2a0: 4413 add r3, r2 805a2a2: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805a2a6: b2db uxtb r3, r3 805a2a8: f003 0307 and.w r3, r3, #7 805a2ac: 2b00 cmp r3, #0 805a2ae: d119 bne.n 805a2e4 { if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 805a2b0: 4b67 ldr r3, [pc, #412] ; (805a450 ) 805a2b2: ed93 7a01 vldr s14, [r3, #4] 805a2b6: 4b64 ldr r3, [pc, #400] ; (805a448 ) 805a2b8: 781b ldrb r3, [r3, #0] 805a2ba: b2db uxtb r3, r3 805a2bc: 4a63 ldr r2, [pc, #396] ; (805a44c ) 805a2be: 011b lsls r3, r3, #4 805a2c0: 4413 add r3, r2 805a2c2: f503 7378 add.w r3, r3, #992 ; 0x3e0 805a2c6: edd3 7a00 vldr s15, [r3] 805a2ca: eeb4 7ae7 vcmpe.f32 s14, s15 805a2ce: eef1 fa10 vmrs APSR_nzcv, fpscr 805a2d2: db03 blt.n 805a2dc ALARM = true; 805a2d4: 4b5f ldr r3, [pc, #380] ; (805a454 ) 805a2d6: 2201 movs r2, #1 805a2d8: 701a strb r2, [r3, #0] if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 805a2da: e244 b.n 805a766 } else ALARM = false; 805a2dc: 4b5d ldr r3, [pc, #372] ; (805a454 ) 805a2de: 2200 movs r2, #0 805a2e0: 701a strb r2, [r3, #0] if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 805a2e2: e240 b.n 805a766 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == 0)) 805a2e4: 4b58 ldr r3, [pc, #352] ; (805a448 ) 805a2e6: 781b ldrb r3, [r3, #0] 805a2e8: b2db uxtb r3, r3 805a2ea: 4a58 ldr r2, [pc, #352] ; (805a44c ) 805a2ec: 338e adds r3, #142 ; 0x8e 805a2ee: 009b lsls r3, r3, #2 805a2f0: 4413 add r3, r2 805a2f2: 791b ldrb r3, [r3, #4] 805a2f4: b2db uxtb r3, r3 805a2f6: f003 0307 and.w r3, r3, #7 805a2fa: 2b00 cmp r3, #0 805a2fc: d063 beq.n 805a3c6 805a2fe: 4b52 ldr r3, [pc, #328] ; (805a448 ) 805a300: 781b ldrb r3, [r3, #0] 805a302: b2db uxtb r3, r3 805a304: 4a51 ldr r2, [pc, #324] ; (805a44c ) 805a306: 009b lsls r3, r3, #2 805a308: 4413 add r3, r2 805a30a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805a30e: b2db uxtb r3, r3 805a310: f003 0307 and.w r3, r3, #7 805a314: 2b00 cmp r3, #0 805a316: d056 beq.n 805a3c6 805a318: 4b4b ldr r3, [pc, #300] ; (805a448 ) 805a31a: 781b ldrb r3, [r3, #0] 805a31c: b2db uxtb r3, r3 805a31e: 4a4b ldr r2, [pc, #300] ; (805a44c ) 805a320: 009b lsls r3, r3, #2 805a322: 4413 add r3, r2 805a324: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805a328: b2db uxtb r3, r3 805a32a: f003 0307 and.w r3, r3, #7 805a32e: 2b00 cmp r3, #0 805a330: d149 bne.n 805a3c6 { if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 805a332: 4b47 ldr r3, [pc, #284] ; (805a450 ) 805a334: ed93 7a00 vldr s14, [r3] 805a338: 4b43 ldr r3, [pc, #268] ; (805a448 ) 805a33a: 781b ldrb r3, [r3, #0] 805a33c: b2db uxtb r3, r3 805a33e: 4a43 ldr r2, [pc, #268] ; (805a44c ) 805a340: 011b lsls r3, r3, #4 805a342: 4413 add r3, r2 805a344: f503 7377 add.w r3, r3, #988 ; 0x3dc 805a348: edd3 7a00 vldr s15, [r3] 805a34c: eeb4 7ae7 vcmpe.f32 s14, s15 805a350: eef1 fa10 vmrs APSR_nzcv, fpscr 805a354: db02 blt.n 805a35c t[Us1] = 1; 805a356: 2301 movs r3, #1 805a358: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 805a35c: 4b3c ldr r3, [pc, #240] ; (805a450 ) 805a35e: ed93 7a01 vldr s14, [r3, #4] 805a362: 4b39 ldr r3, [pc, #228] ; (805a448 ) 805a364: 781b ldrb r3, [r3, #0] 805a366: b2db uxtb r3, r3 805a368: 4a38 ldr r2, [pc, #224] ; (805a44c ) 805a36a: 011b lsls r3, r3, #4 805a36c: 4413 add r3, r2 805a36e: f503 7378 add.w r3, r3, #992 ; 0x3e0 805a372: edd3 7a00 vldr s15, [r3] 805a376: eeb4 7ae7 vcmpe.f32 s14, s15 805a37a: eef1 fa10 vmrs APSR_nzcv, fpscr 805a37e: db02 blt.n 805a386 t[Us2] = 1; 805a380: 2301 movs r3, #1 805a382: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(zn[0]) 805a386: f897 31d8 ldrb.w r3, [r7, #472] ; 0x1d8 805a38a: 2b00 cmp r3, #0 805a38c: d00d beq.n 805a3aa ALARM = t[Us1] & t[Us2]; //and 805a38e: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 805a392: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 805a396: 4013 ands r3, r2 805a398: b2db uxtb r3, r3 805a39a: 2b00 cmp r3, #0 805a39c: bf14 ite ne 805a39e: 2301 movne r3, #1 805a3a0: 2300 moveq r3, #0 805a3a2: b2da uxtb r2, r3 805a3a4: 4b2b ldr r3, [pc, #172] ; (805a454 ) 805a3a6: 701a strb r2, [r3, #0] if(zn[0]) 805a3a8: e1dd b.n 805a766 else ALARM = t[Us1] | t[Us2]; //or 805a3aa: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 805a3ae: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 805a3b2: 4313 orrs r3, r2 805a3b4: b2db uxtb r3, r3 805a3b6: 2b00 cmp r3, #0 805a3b8: bf14 ite ne 805a3ba: 2301 movne r3, #1 805a3bc: 2300 moveq r3, #0 805a3be: b2da uxtb r2, r3 805a3c0: 4b24 ldr r3, [pc, #144] ; (805a454 ) 805a3c2: 701a strb r2, [r3, #0] if(zn[0]) 805a3c4: e1cf b.n 805a766 } 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))) 805a3c6: 4b20 ldr r3, [pc, #128] ; (805a448 ) 805a3c8: 781b ldrb r3, [r3, #0] 805a3ca: b2db uxtb r3, r3 805a3cc: 4a1f ldr r2, [pc, #124] ; (805a44c ) 805a3ce: 338e adds r3, #142 ; 0x8e 805a3d0: 009b lsls r3, r3, #2 805a3d2: 4413 add r3, r2 805a3d4: 791b ldrb r3, [r3, #4] 805a3d6: b2db uxtb r3, r3 805a3d8: f003 0307 and.w r3, r3, #7 805a3dc: 2b00 cmp r3, #0 805a3de: d13b bne.n 805a458 805a3e0: 4b19 ldr r3, [pc, #100] ; (805a448 ) 805a3e2: 781b ldrb r3, [r3, #0] 805a3e4: b2db uxtb r3, r3 805a3e6: 4a19 ldr r2, [pc, #100] ; (805a44c ) 805a3e8: 009b lsls r3, r3, #2 805a3ea: 4413 add r3, r2 805a3ec: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805a3f0: b2db uxtb r3, r3 805a3f2: f003 0307 and.w r3, r3, #7 805a3f6: 2b00 cmp r3, #0 805a3f8: d12e bne.n 805a458 805a3fa: 4b13 ldr r3, [pc, #76] ; (805a448 ) 805a3fc: 781b ldrb r3, [r3, #0] 805a3fe: b2db uxtb r3, r3 805a400: 4a12 ldr r2, [pc, #72] ; (805a44c ) 805a402: 009b lsls r3, r3, #2 805a404: 4413 add r3, r2 805a406: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805a40a: b2db uxtb r3, r3 805a40c: f003 0307 and.w r3, r3, #7 805a410: 2b00 cmp r3, #0 805a412: d021 beq.n 805a458 { if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 805a414: 4b0e ldr r3, [pc, #56] ; (805a450 ) 805a416: ed93 7a02 vldr s14, [r3, #8] 805a41a: 4b0b ldr r3, [pc, #44] ; (805a448 ) 805a41c: 781b ldrb r3, [r3, #0] 805a41e: b2db uxtb r3, r3 805a420: 4a0a ldr r2, [pc, #40] ; (805a44c ) 805a422: 333e adds r3, #62 ; 0x3e 805a424: 011b lsls r3, r3, #4 805a426: 4413 add r3, r2 805a428: 3304 adds r3, #4 805a42a: edd3 7a00 vldr s15, [r3] 805a42e: eeb4 7ae7 vcmpe.f32 s14, s15 805a432: eef1 fa10 vmrs APSR_nzcv, fpscr 805a436: db03 blt.n 805a440 ALARM = true; 805a438: 4b06 ldr r3, [pc, #24] ; (805a454 ) 805a43a: 2201 movs r2, #1 805a43c: 701a strb r2, [r3, #0] if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 805a43e: e192 b.n 805a766 } else ALARM = false; 805a440: 4b04 ldr r3, [pc, #16] ; (805a454 ) 805a442: 2200 movs r2, #0 805a444: 701a strb r2, [r3, #0] if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 805a446: e18e b.n 805a766 805a448: 2002105d .word 0x2002105d 805a44c: 20023eb8 .word 0x20023eb8 805a450: 20026938 .word 0x20026938 805a454: 20021061 .word 0x20021061 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 805a458: 4bb8 ldr r3, [pc, #736] ; (805a73c ) 805a45a: 781b ldrb r3, [r3, #0] 805a45c: b2db uxtb r3, r3 805a45e: 4ab8 ldr r2, [pc, #736] ; (805a740 ) 805a460: 338e adds r3, #142 ; 0x8e 805a462: 009b lsls r3, r3, #2 805a464: 4413 add r3, r2 805a466: 791b ldrb r3, [r3, #4] 805a468: b2db uxtb r3, r3 805a46a: f003 0307 and.w r3, r3, #7 805a46e: 2b00 cmp r3, #0 805a470: d063 beq.n 805a53a 805a472: 4bb2 ldr r3, [pc, #712] ; (805a73c ) 805a474: 781b ldrb r3, [r3, #0] 805a476: b2db uxtb r3, r3 805a478: 4ab1 ldr r2, [pc, #708] ; (805a740 ) 805a47a: 009b lsls r3, r3, #2 805a47c: 4413 add r3, r2 805a47e: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805a482: b2db uxtb r3, r3 805a484: f003 0307 and.w r3, r3, #7 805a488: 2b00 cmp r3, #0 805a48a: d156 bne.n 805a53a 805a48c: 4bab ldr r3, [pc, #684] ; (805a73c ) 805a48e: 781b ldrb r3, [r3, #0] 805a490: b2db uxtb r3, r3 805a492: 4aab ldr r2, [pc, #684] ; (805a740 ) 805a494: 009b lsls r3, r3, #2 805a496: 4413 add r3, r2 805a498: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805a49c: b2db uxtb r3, r3 805a49e: f003 0307 and.w r3, r3, #7 805a4a2: 2b00 cmp r3, #0 805a4a4: d049 beq.n 805a53a { if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 805a4a6: 4ba7 ldr r3, [pc, #668] ; (805a744 ) 805a4a8: ed93 7a00 vldr s14, [r3] 805a4ac: 4ba3 ldr r3, [pc, #652] ; (805a73c ) 805a4ae: 781b ldrb r3, [r3, #0] 805a4b0: b2db uxtb r3, r3 805a4b2: 4aa3 ldr r2, [pc, #652] ; (805a740 ) 805a4b4: 011b lsls r3, r3, #4 805a4b6: 4413 add r3, r2 805a4b8: f503 7377 add.w r3, r3, #988 ; 0x3dc 805a4bc: edd3 7a00 vldr s15, [r3] 805a4c0: eeb4 7ae7 vcmpe.f32 s14, s15 805a4c4: eef1 fa10 vmrs APSR_nzcv, fpscr 805a4c8: db02 blt.n 805a4d0 t[Us1] = 1; 805a4ca: 2301 movs r3, #1 805a4cc: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 805a4d0: 4b9c ldr r3, [pc, #624] ; (805a744 ) 805a4d2: ed93 7a02 vldr s14, [r3, #8] 805a4d6: 4b99 ldr r3, [pc, #612] ; (805a73c ) 805a4d8: 781b ldrb r3, [r3, #0] 805a4da: b2db uxtb r3, r3 805a4dc: 4a98 ldr r2, [pc, #608] ; (805a740 ) 805a4de: 333e adds r3, #62 ; 0x3e 805a4e0: 011b lsls r3, r3, #4 805a4e2: 4413 add r3, r2 805a4e4: 3304 adds r3, #4 805a4e6: edd3 7a00 vldr s15, [r3] 805a4ea: eeb4 7ae7 vcmpe.f32 s14, s15 805a4ee: eef1 fa10 vmrs APSR_nzcv, fpscr 805a4f2: db02 blt.n 805a4fa t[Us3] = 1; 805a4f4: 2301 movs r3, #1 805a4f6: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[1]) 805a4fa: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 805a4fe: 2b00 cmp r3, #0 805a500: d00d beq.n 805a51e ALARM = t[Us1] & t[Us3]; //and 805a502: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 805a506: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 805a50a: 4013 ands r3, r2 805a50c: b2db uxtb r3, r3 805a50e: 2b00 cmp r3, #0 805a510: bf14 ite ne 805a512: 2301 movne r3, #1 805a514: 2300 moveq r3, #0 805a516: b2da uxtb r2, r3 805a518: 4b8b ldr r3, [pc, #556] ; (805a748 ) 805a51a: 701a strb r2, [r3, #0] if(zn[1]) 805a51c: e123 b.n 805a766 else ALARM = t[Us1] | t[Us3]; //or 805a51e: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 805a522: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 805a526: 4313 orrs r3, r2 805a528: b2db uxtb r3, r3 805a52a: 2b00 cmp r3, #0 805a52c: bf14 ite ne 805a52e: 2301 movne r3, #1 805a530: 2300 moveq r3, #0 805a532: b2da uxtb r2, r3 805a534: 4b84 ldr r3, [pc, #528] ; (805a748 ) 805a536: 701a strb r2, [r3, #0] if(zn[1]) 805a538: e115 b.n 805a766 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 805a53a: 4b80 ldr r3, [pc, #512] ; (805a73c ) 805a53c: 781b ldrb r3, [r3, #0] 805a53e: b2db uxtb r3, r3 805a540: 4a7f ldr r2, [pc, #508] ; (805a740 ) 805a542: 338e adds r3, #142 ; 0x8e 805a544: 009b lsls r3, r3, #2 805a546: 4413 add r3, r2 805a548: 791b ldrb r3, [r3, #4] 805a54a: b2db uxtb r3, r3 805a54c: f003 0307 and.w r3, r3, #7 805a550: 2b00 cmp r3, #0 805a552: d163 bne.n 805a61c 805a554: 4b79 ldr r3, [pc, #484] ; (805a73c ) 805a556: 781b ldrb r3, [r3, #0] 805a558: b2db uxtb r3, r3 805a55a: 4a79 ldr r2, [pc, #484] ; (805a740 ) 805a55c: 009b lsls r3, r3, #2 805a55e: 4413 add r3, r2 805a560: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805a564: b2db uxtb r3, r3 805a566: f003 0307 and.w r3, r3, #7 805a56a: 2b00 cmp r3, #0 805a56c: d056 beq.n 805a61c 805a56e: 4b73 ldr r3, [pc, #460] ; (805a73c ) 805a570: 781b ldrb r3, [r3, #0] 805a572: b2db uxtb r3, r3 805a574: 4a72 ldr r2, [pc, #456] ; (805a740 ) 805a576: 009b lsls r3, r3, #2 805a578: 4413 add r3, r2 805a57a: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805a57e: b2db uxtb r3, r3 805a580: f003 0307 and.w r3, r3, #7 805a584: 2b00 cmp r3, #0 805a586: d049 beq.n 805a61c { if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 805a588: 4b6e ldr r3, [pc, #440] ; (805a744 ) 805a58a: ed93 7a01 vldr s14, [r3, #4] 805a58e: 4b6b ldr r3, [pc, #428] ; (805a73c ) 805a590: 781b ldrb r3, [r3, #0] 805a592: b2db uxtb r3, r3 805a594: 4a6a ldr r2, [pc, #424] ; (805a740 ) 805a596: 011b lsls r3, r3, #4 805a598: 4413 add r3, r2 805a59a: f503 7378 add.w r3, r3, #992 ; 0x3e0 805a59e: edd3 7a00 vldr s15, [r3] 805a5a2: eeb4 7ae7 vcmpe.f32 s14, s15 805a5a6: eef1 fa10 vmrs APSR_nzcv, fpscr 805a5aa: db02 blt.n 805a5b2 t[Us2] = 1; 805a5ac: 2301 movs r3, #1 805a5ae: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 805a5b2: 4b64 ldr r3, [pc, #400] ; (805a744 ) 805a5b4: ed93 7a02 vldr s14, [r3, #8] 805a5b8: 4b60 ldr r3, [pc, #384] ; (805a73c ) 805a5ba: 781b ldrb r3, [r3, #0] 805a5bc: b2db uxtb r3, r3 805a5be: 4a60 ldr r2, [pc, #384] ; (805a740 ) 805a5c0: 333e adds r3, #62 ; 0x3e 805a5c2: 011b lsls r3, r3, #4 805a5c4: 4413 add r3, r2 805a5c6: 3304 adds r3, #4 805a5c8: edd3 7a00 vldr s15, [r3] 805a5cc: eeb4 7ae7 vcmpe.f32 s14, s15 805a5d0: eef1 fa10 vmrs APSR_nzcv, fpscr 805a5d4: db02 blt.n 805a5dc t[Us3] = 1; 805a5d6: 2301 movs r3, #1 805a5d8: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[1]) 805a5dc: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 805a5e0: 2b00 cmp r3, #0 805a5e2: d00d beq.n 805a600 ALARM = t[Us2] & t[Us3]; //and 805a5e4: f897 21dd ldrb.w r2, [r7, #477] ; 0x1dd 805a5e8: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 805a5ec: 4013 ands r3, r2 805a5ee: b2db uxtb r3, r3 805a5f0: 2b00 cmp r3, #0 805a5f2: bf14 ite ne 805a5f4: 2301 movne r3, #1 805a5f6: 2300 moveq r3, #0 805a5f8: b2da uxtb r2, r3 805a5fa: 4b53 ldr r3, [pc, #332] ; (805a748 ) 805a5fc: 701a strb r2, [r3, #0] if(zn[1]) 805a5fe: e0b2 b.n 805a766 else ALARM = t[Us2] | t[Us3]; //or 805a600: f897 21dd ldrb.w r2, [r7, #477] ; 0x1dd 805a604: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 805a608: 4313 orrs r3, r2 805a60a: b2db uxtb r3, r3 805a60c: 2b00 cmp r3, #0 805a60e: bf14 ite ne 805a610: 2301 movne r3, #1 805a612: 2300 moveq r3, #0 805a614: b2da uxtb r2, r3 805a616: 4b4c ldr r3, [pc, #304] ; (805a748 ) 805a618: 701a strb r2, [r3, #0] if(zn[1]) 805a61a: e0a4 b.n 805a766 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 805a61c: 4b47 ldr r3, [pc, #284] ; (805a73c ) 805a61e: 781b ldrb r3, [r3, #0] 805a620: b2db uxtb r3, r3 805a622: 4a47 ldr r2, [pc, #284] ; (805a740 ) 805a624: 338e adds r3, #142 ; 0x8e 805a626: 009b lsls r3, r3, #2 805a628: 4413 add r3, r2 805a62a: 791b ldrb r3, [r3, #4] 805a62c: b2db uxtb r3, r3 805a62e: f003 0307 and.w r3, r3, #7 805a632: 2b00 cmp r3, #0 805a634: f000 8097 beq.w 805a766 805a638: 4b40 ldr r3, [pc, #256] ; (805a73c ) 805a63a: 781b ldrb r3, [r3, #0] 805a63c: b2db uxtb r3, r3 805a63e: 4a40 ldr r2, [pc, #256] ; (805a740 ) 805a640: 009b lsls r3, r3, #2 805a642: 4413 add r3, r2 805a644: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805a648: b2db uxtb r3, r3 805a64a: f003 0307 and.w r3, r3, #7 805a64e: 2b00 cmp r3, #0 805a650: f000 8089 beq.w 805a766 805a654: 4b39 ldr r3, [pc, #228] ; (805a73c ) 805a656: 781b ldrb r3, [r3, #0] 805a658: b2db uxtb r3, r3 805a65a: 4a39 ldr r2, [pc, #228] ; (805a740 ) 805a65c: 009b lsls r3, r3, #2 805a65e: 4413 add r3, r2 805a660: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805a664: b2db uxtb r3, r3 805a666: f003 0307 and.w r3, r3, #7 805a66a: 2b00 cmp r3, #0 805a66c: d07b beq.n 805a766 { if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 805a66e: 4b35 ldr r3, [pc, #212] ; (805a744 ) 805a670: ed93 7a00 vldr s14, [r3] 805a674: 4b31 ldr r3, [pc, #196] ; (805a73c ) 805a676: 781b ldrb r3, [r3, #0] 805a678: b2db uxtb r3, r3 805a67a: 4a31 ldr r2, [pc, #196] ; (805a740 ) 805a67c: 011b lsls r3, r3, #4 805a67e: 4413 add r3, r2 805a680: f503 7377 add.w r3, r3, #988 ; 0x3dc 805a684: edd3 7a00 vldr s15, [r3] 805a688: eeb4 7ae7 vcmpe.f32 s14, s15 805a68c: eef1 fa10 vmrs APSR_nzcv, fpscr 805a690: db02 blt.n 805a698 t[Us1] = 1; 805a692: 2301 movs r3, #1 805a694: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 805a698: 4b2a ldr r3, [pc, #168] ; (805a744 ) 805a69a: ed93 7a01 vldr s14, [r3, #4] 805a69e: 4b27 ldr r3, [pc, #156] ; (805a73c ) 805a6a0: 781b ldrb r3, [r3, #0] 805a6a2: b2db uxtb r3, r3 805a6a4: 4a26 ldr r2, [pc, #152] ; (805a740 ) 805a6a6: 011b lsls r3, r3, #4 805a6a8: 4413 add r3, r2 805a6aa: f503 7378 add.w r3, r3, #992 ; 0x3e0 805a6ae: edd3 7a00 vldr s15, [r3] 805a6b2: eeb4 7ae7 vcmpe.f32 s14, s15 805a6b6: eef1 fa10 vmrs APSR_nzcv, fpscr 805a6ba: db02 blt.n 805a6c2 t[Us2] = 1; 805a6bc: 2301 movs r3, #1 805a6be: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 805a6c2: 4b20 ldr r3, [pc, #128] ; (805a744 ) 805a6c4: ed93 7a02 vldr s14, [r3, #8] 805a6c8: 4b1c ldr r3, [pc, #112] ; (805a73c ) 805a6ca: 781b ldrb r3, [r3, #0] 805a6cc: b2db uxtb r3, r3 805a6ce: 4a1c ldr r2, [pc, #112] ; (805a740 ) 805a6d0: 333e adds r3, #62 ; 0x3e 805a6d2: 011b lsls r3, r3, #4 805a6d4: 4413 add r3, r2 805a6d6: 3304 adds r3, #4 805a6d8: edd3 7a00 vldr s15, [r3] 805a6dc: eeb4 7ae7 vcmpe.f32 s14, s15 805a6e0: eef1 fa10 vmrs APSR_nzcv, fpscr 805a6e4: db02 blt.n 805a6ec t[Us3] = 1; 805a6e6: 2301 movs r3, #1 805a6e8: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[0]) 805a6ec: f897 31d8 ldrb.w r3, [r7, #472] ; 0x1d8 805a6f0: 2b00 cmp r3, #0 805a6f2: d008 beq.n 805a706 rez[0] = t[Us1] & t[Us2]; //and 805a6f4: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 805a6f8: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 805a6fc: 4013 ands r3, r2 805a6fe: b2db uxtb r3, r3 805a700: f887 31d4 strb.w r3, [r7, #468] ; 0x1d4 805a704: e007 b.n 805a716 else rez[0] = t[Us1] | t[Us2]; //or 805a706: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 805a70a: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 805a70e: 4313 orrs r3, r2 805a710: b2db uxtb r3, r3 805a712: f887 31d4 strb.w r3, [r7, #468] ; 0x1d4 if(zn[1]) 805a716: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 805a71a: 2b00 cmp r3, #0 805a71c: d016 beq.n 805a74c ALARM = rez[0] & t[Us3]; //and 805a71e: f897 21d4 ldrb.w r2, [r7, #468] ; 0x1d4 805a722: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 805a726: 4013 ands r3, r2 805a728: b2db uxtb r3, r3 805a72a: 2b00 cmp r3, #0 805a72c: bf14 ite ne 805a72e: 2301 movne r3, #1 805a730: 2300 moveq r3, #0 805a732: b2da uxtb r2, r3 805a734: 4b04 ldr r3, [pc, #16] ; (805a748 ) 805a736: 701a strb r2, [r3, #0] 805a738: e015 b.n 805a766 805a73a: bf00 nop 805a73c: 2002105d .word 0x2002105d 805a740: 20023eb8 .word 0x20023eb8 805a744: 20026938 .word 0x20026938 805a748: 20021061 .word 0x20021061 else ALARM = rez[0] | t[Us3]; //or 805a74c: f897 21d4 ldrb.w r2, [r7, #468] ; 0x1d4 805a750: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 805a754: 4313 orrs r3, r2 805a756: b2db uxtb r3, r3 805a758: 2b00 cmp r3, #0 805a75a: bf14 ite ne 805a75c: 2301 movne r3, #1 805a75e: 2300 moveq r3, #0 805a760: b2da uxtb r2, r3 805a762: 4bb1 ldr r3, [pc, #708] ; (805aa28 ) 805a764: 701a strb r2, [r3, #0] } for(k = 0; k < NUM_OPERANDS; k++) 805a766: 2300 movs r3, #0 805a768: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 805a76c: e033 b.n 805a7d6 { if((pardata.DIAGN_HP[CURR_POINT][k] < 2.0f) && ((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) > DIAGN_ACC)) 805a76e: 4baf ldr r3, [pc, #700] ; (805aa2c ) 805a770: 781b ldrb r3, [r3, #0] 805a772: b2db uxtb r3, r3 805a774: 461a mov r2, r3 805a776: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a77a: 49ad ldr r1, [pc, #692] ; (805aa30 ) 805a77c: 0092 lsls r2, r2, #2 805a77e: 4413 add r3, r2 805a780: 3396 adds r3, #150 ; 0x96 805a782: 009b lsls r3, r3, #2 805a784: 440b add r3, r1 805a786: 3304 adds r3, #4 805a788: edd3 7a00 vldr s15, [r3] 805a78c: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 805a790: eef4 7ac7 vcmpe.f32 s15, s14 805a794: eef1 fa10 vmrs APSR_nzcv, fpscr 805a798: d518 bpl.n 805a7cc 805a79a: 4ba4 ldr r3, [pc, #656] ; (805aa2c ) 805a79c: 781b ldrb r3, [r3, #0] 805a79e: b2db uxtb r3, r3 805a7a0: 461a mov r2, r3 805a7a2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a7a6: 49a2 ldr r1, [pc, #648] ; (805aa30 ) 805a7a8: 0092 lsls r2, r2, #2 805a7aa: 440a add r2, r1 805a7ac: 4413 add r3, r2 805a7ae: f503 730f add.w r3, r3, #572 ; 0x23c 805a7b2: 781b ldrb r3, [r3, #0] 805a7b4: b2db uxtb r3, r3 805a7b6: f003 0307 and.w r3, r3, #7 805a7ba: 2b01 cmp r3, #1 805a7bc: dd06 ble.n 805a7cc { operand[k] = -1.0f; 805a7be: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a7c2: 4a9c ldr r2, [pc, #624] ; (805aa34 ) 805a7c4: 009b lsls r3, r3, #2 805a7c6: 4413 add r3, r2 805a7c8: 4a9b ldr r2, [pc, #620] ; (805aa38 ) 805a7ca: 601a str r2, [r3, #0] for(k = 0; k < NUM_OPERANDS; k++) 805a7cc: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a7d0: 3301 adds r3, #1 805a7d2: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 805a7d6: 4b99 ldr r3, [pc, #612] ; (805aa3c ) 805a7d8: 781b ldrb r3, [r3, #0] 805a7da: b2db uxtb r3, r3 805a7dc: 461a mov r2, r3 805a7de: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a7e2: 429a cmp r2, r3 805a7e4: d8c3 bhi.n 805a76e if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 805a7e6: e005 b.n 805a7f4 } } } else { RepeatKm = true; 805a7e8: 4b95 ldr r3, [pc, #596] ; (805aa40 ) 805a7ea: 2201 movs r2, #1 805a7ec: 701a strb r2, [r3, #0] timeRelax = 48; 805a7ee: 4b95 ldr r3, [pc, #596] ; (805aa44 ) 805a7f0: 2230 movs r2, #48 ; 0x30 805a7f2: 601a str r2, [r3, #0] } tick = HAL_GetTick() - tick; 805a7f4: f05d f916 bl 80b7a24 805a7f8: 4602 mov r2, r0 805a7fa: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 805a7fe: 1ad3 subs r3, r2, r3 805a800: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > maxtick) 805a804: 4b90 ldr r3, [pc, #576] ; (805aa48 ) 805a806: 681b ldr r3, [r3, #0] 805a808: f8d7 221c ldr.w r2, [r7, #540] ; 0x21c 805a80c: 429a cmp r2, r3 805a80e: f24b 8196 bls.w 8065b3e { maxtick = tick; 805a812: 4a8d ldr r2, [pc, #564] ; (805aa48 ) 805a814: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 805a818: 6013 str r3, [r2, #0] if(maxtick > 24384000) 805a81a: 4b8b ldr r3, [pc, #556] ; (805aa48 ) 805a81c: 681b ldr r3, [r3, #0] 805a81e: 4a8b ldr r2, [pc, #556] ; (805aa4c ) 805a820: 4293 cmp r3, r2 805a822: f24b 818c bls.w 8065b3e { tick = 0; 805a826: 2300 movs r3, #0 805a828: f8c7 321c str.w r3, [r7, #540] ; 0x21c } } } break; 805a82c: f00b b987 b.w 8065b3e case VIB: case FRAN: if(measuring) 805a830: 4b87 ldr r3, [pc, #540] ; (805aa50 ) 805a832: 781b ldrb r3, [r3, #0] 805a834: b2db uxtb r3, r3 805a836: 2b00 cmp r3, #0 805a838: f00b 8183 beq.w 8065b42 { tick = DWT->CYCCNT; 805a83c: 4b85 ldr r3, [pc, #532] ; (805aa54 ) 805a83e: 685b ldr r3, [r3, #4] 805a840: f8c7 321c str.w r3, [r7, #540] ; 0x21c GetData(); 805a844: f00b fc42 bl 80660cc j = 0; 805a848: 2300 movs r3, #0 805a84a: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805a84e: 4b78 ldr r3, [pc, #480] ; (805aa30 ) 805a850: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805a854: f003 0304 and.w r3, r3, #4 805a858: 2b00 cmp r3, #0 805a85a: d005 beq.n 805a868 CalculateGain(Ns); 805a85c: 4b7e ldr r3, [pc, #504] ; (805aa58 ) 805a85e: 681b ldr r3, [r3, #0] 805a860: 4618 mov r0, r3 805a862: f7fc fe15 bl 8057490 805a866: e02e b.n 805a8c6 else { Stability = (Nr * 4) + 1; 805a868: 4b7c ldr r3, [pc, #496] ; (805aa5c ) 805a86a: 881b ldrh r3, [r3, #0] 805a86c: b29b uxth r3, r3 805a86e: 009b lsls r3, r3, #2 805a870: 3301 adds r3, #1 805a872: 461a mov r2, r3 805a874: 4b7a ldr r3, [pc, #488] ; (805aa60 ) 805a876: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805a878: 2300 movs r3, #0 805a87a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a87e: e011 b.n 805a8a4 { if(In16[i].lg > 0xE00000) 805a880: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a884: 4a77 ldr r2, [pc, #476] ; (805aa64 ) 805a886: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805a88a: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805a88e: d904 bls.n 805a89a j++; 805a890: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a894: 3301 adds r3, #1 805a896: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805a89a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a89e: 3301 adds r3, #1 805a8a0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a8a4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a8a8: 4b6b ldr r3, [pc, #428] ; (805aa58 ) 805a8aa: 681b ldr r3, [r3, #0] 805a8ac: 429a cmp r2, r3 805a8ae: d3e7 bcc.n 805a880 } if(j >= 2) 805a8b0: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a8b4: 2b01 cmp r3, #1 805a8b6: d903 bls.n 805a8c0 OVERDRIVE = true; 805a8b8: 4b6b ldr r3, [pc, #428] ; (805aa68 ) 805a8ba: 2201 movs r2, #1 805a8bc: 701a strb r2, [r3, #0] 805a8be: e002 b.n 805a8c6 else OVERDRIVE = false; 805a8c0: 4b69 ldr r3, [pc, #420] ; (805aa68 ) 805a8c2: 2200 movs r2, #0 805a8c4: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805a8c6: 4b69 ldr r3, [pc, #420] ; (805aa6c ) 805a8c8: 781b ldrb r3, [r3, #0] 805a8ca: b2db uxtb r3, r3 805a8cc: 2b00 cmp r3, #0 805a8ce: d02d beq.n 805a92c { Stability = 0; 805a8d0: 4b63 ldr r3, [pc, #396] ; (805aa60 ) 805a8d2: 2200 movs r2, #0 805a8d4: 601a str r2, [r3, #0] NeedFreq = false; 805a8d6: 4b66 ldr r3, [pc, #408] ; (805aa70 ) 805a8d8: 2200 movs r2, #0 805a8da: 701a strb r2, [r3, #0] AvgCnt = 0; 805a8dc: 4b65 ldr r3, [pc, #404] ; (805aa74 ) 805a8de: 2200 movs r2, #0 805a8e0: 601a str r2, [r3, #0] MeanCnt = 0; 805a8e2: 4b65 ldr r3, [pc, #404] ; (805aa78 ) 805a8e4: 2200 movs r2, #0 805a8e6: 601a str r2, [r3, #0] CNT_MEAN_FREQ = 0; 805a8e8: 4b64 ldr r3, [pc, #400] ; (805aa7c ) 805a8ea: 2200 movs r2, #0 805a8ec: 601a str r2, [r3, #0] MEAN_FREQ = 0.0f; 805a8ee: 4b64 ldr r3, [pc, #400] ; (805aa80 ) 805a8f0: f04f 0200 mov.w r2, #0 805a8f4: 601a str r2, [r3, #0] arm_fill_f32(0.0f, rmsAVS, 3); 805a8f6: 2103 movs r1, #3 805a8f8: 4862 ldr r0, [pc, #392] ; (805aa84 ) 805a8fa: ed9f 0a63 vldr s0, [pc, #396] ; 805aa88 805a8fe: f074 f9ad bl 80cec5c arm_fill_f32(0.0f, peakAVS, 3); 805a902: 2103 movs r1, #3 805a904: 4861 ldr r0, [pc, #388] ; (805aa8c ) 805a906: ed9f 0a60 vldr s0, [pc, #384] ; 805aa88 805a90a: f074 f9a7 bl 80cec5c arm_fill_f32(0.0f, &ACC_PEAK_WR(0), 512 * 6u); 805a90e: f44f 6140 mov.w r1, #3072 ; 0xc00 805a912: 485f ldr r0, [pc, #380] ; (805aa90 ) 805a914: ed9f 0a5c vldr s0, [pc, #368] ; 805aa88 805a918: f074 f9a0 bl 80cec5c NSamples = 0xffffffff; 805a91c: 4b5d ldr r3, [pc, #372] ; (805aa94 ) 805a91e: f04f 32ff mov.w r2, #4294967295 805a922: 601a str r2, [r3, #0] timeRelax = 48; 805a924: 4b47 ldr r3, [pc, #284] ; (805aa44 ) 805a926: 2230 movs r2, #48 ; 0x30 805a928: 601a str r2, [r3, #0] 805a92a: e00d b.n 805a948 } else { if(Stability <= (Nr * 4)) 805a92c: 4b4b ldr r3, [pc, #300] ; (805aa5c ) 805a92e: 881b ldrh r3, [r3, #0] 805a930: b29b uxth r3, r3 805a932: 009b lsls r3, r3, #2 805a934: 461a mov r2, r3 805a936: 4b4a ldr r3, [pc, #296] ; (805aa60 ) 805a938: 681b ldr r3, [r3, #0] 805a93a: 429a cmp r2, r3 805a93c: d304 bcc.n 805a948 Stability++; 805a93e: 4b48 ldr r3, [pc, #288] ; (805aa60 ) 805a940: 681b ldr r3, [r3, #0] 805a942: 3301 adds r3, #1 805a944: 4a46 ldr r2, [pc, #280] ; (805aa60 ) 805a946: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) // åñëè àâòîóñèëåíèå íîðì 805a948: 4b48 ldr r3, [pc, #288] ; (805aa6c ) 805a94a: 781b ldrb r3, [r3, #0] 805a94c: b2db uxtb r3, r3 805a94e: 2b00 cmp r3, #0 805a950: f041 8364 bne.w 805c01c 805a954: 4b41 ldr r3, [pc, #260] ; (805aa5c ) 805a956: 881b ldrh r3, [r3, #0] 805a958: b29b uxth r3, r3 805a95a: 009b lsls r3, r3, #2 805a95c: 461a mov r2, r3 805a95e: 4b40 ldr r3, [pc, #256] ; (805aa60 ) 805a960: 681b ldr r3, [r3, #0] 805a962: 429a cmp r2, r3 805a964: f081 835a bcs.w 805c01c { fNrm = 1.0f / (float32_t) (Ns >> 1); 805a968: 4b3b ldr r3, [pc, #236] ; (805aa58 ) 805a96a: 681b ldr r3, [r3, #0] 805a96c: 085b lsrs r3, r3, #1 805a96e: ee07 3a90 vmov s15, r3 805a972: eeb8 7a67 vcvt.f32.u32 s14, s15 805a976: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805a97a: eec6 7a87 vdiv.f32 s15, s13, s14 805a97e: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805a982: 4b45 ldr r3, [pc, #276] ; (805aa98 ) 805a984: edd3 7a00 vldr s15, [r3] 805a988: eeb7 7ae7 vcvt.f64.f32 d7, s15 805a98c: ed9f 6b24 vldr d6, [pc, #144] ; 805aa20 805a990: ee27 7b06 vmul.f64 d7, d7, d6 805a994: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805a998: 2300 movs r3, #0 805a99a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a99e: e026 b.n 805a9ee { Buff64[i] = (float64_t) In16[i].lg; 805a9a0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a9a4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a9a8: 492e ldr r1, [pc, #184] ; (805aa64 ) 805a9aa: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805a9ae: ee07 2a90 vmov s15, r2 805a9b2: eeb8 7b67 vcvt.f64.u32 d7, s15 805a9b6: 4a39 ldr r2, [pc, #228] ; (805aa9c ) 805a9b8: 00db lsls r3, r3, #3 805a9ba: 4413 add r3, r2 805a9bc: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805a9c0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a9c4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a9c8: 4934 ldr r1, [pc, #208] ; (805aa9c ) 805a9ca: 00d2 lsls r2, r2, #3 805a9cc: 440a add r2, r1 805a9ce: ed92 6b00 vldr d6, [r2] 805a9d2: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805a9d6: ee26 7b07 vmul.f64 d7, d6, d7 805a9da: 4a30 ldr r2, [pc, #192] ; (805aa9c ) 805a9dc: 00db lsls r3, r3, #3 805a9de: 4413 add r3, r2 805a9e0: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805a9e4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a9e8: 3301 adds r3, #1 805a9ea: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a9ee: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a9f2: 4b19 ldr r3, [pc, #100] ; (805aa58 ) 805a9f4: 681b ldr r3, [r3, #0] 805a9f6: 429a cmp r2, r3 805a9f8: d3d2 bcc.n 805a9a0 } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805a9fa: 4b17 ldr r3, [pc, #92] ; (805aa58 ) 805a9fc: 681b ldr r3, [r3, #0] 805a9fe: 4a27 ldr r2, [pc, #156] ; (805aa9c ) 805aa00: 4926 ldr r1, [pc, #152] ; (805aa9c ) 805aa02: 4827 ldr r0, [pc, #156] ; (805aaa0 ) 805aa04: f074 fb7a bl 80cf0fc /*******************************************************************************************************************************************/ /****************************************************** ACCELERATION *********************************************************************/ /*******************************************************************************************************************************************/ arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, &Buff64[8192], Ns); 805aa08: 4b13 ldr r3, [pc, #76] ; (805aa58 ) 805aa0a: 681b ldr r3, [r3, #0] 805aa0c: 4a25 ldr r2, [pc, #148] ; (805aaa4 ) 805aa0e: 4923 ldr r1, [pc, #140] ; (805aa9c ) 805aa10: 4825 ldr r0, [pc, #148] ; (805aaa8 ) 805aa12: f074 fb73 bl 80cf0fc for(i = 0; i < Ns; i++) { 805aa16: 2300 movs r3, #0 805aa18: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805aa1c: e05d b.n 805aada 805aa1e: bf00 nop 805aa20: 18000018 .word 0x18000018 805aa24: 3e980000 .word 0x3e980000 805aa28: 20021061 .word 0x20021061 805aa2c: 2002105d .word 0x2002105d 805aa30: 20023eb8 .word 0x20023eb8 805aa34: 20026938 .word 0x20026938 805aa38: bf800000 .word 0xbf800000 805aa3c: 2002105e .word 0x2002105e 805aa40: 20020dcc .word 0x20020dcc 805aa44: 20020d8c .word 0x20020d8c 805aa48: 20021680 .word 0x20021680 805aa4c: 01741200 .word 0x01741200 805aa50: 20020dcf .word 0x20020dcf 805aa54: e0001000 .word 0xe0001000 805aa58: 20021d2c .word 0x20021d2c 805aa5c: 20021d70 .word 0x20021d70 805aa60: 20020dc8 .word 0x20020dc8 805aa64: 20058080 .word 0x20058080 805aa68: 20021581 .word 0x20021581 805aa6c: 20020d9e .word 0x20020d9e 805aa70: 20020d95 .word 0x20020d95 805aa74: 20020d80 .word 0x20020d80 805aa78: 20020dd8 .word 0x20020dd8 805aa7c: 20021670 .word 0x20021670 805aa80: 2002166c .word 0x2002166c 805aa84: 20021d38 .word 0x20021d38 805aa88: 00000000 .word 0x00000000 805aa8c: 20021d4c .word 0x20021d4c 805aa90: 64050000 .word 0x64050000 805aa94: 20020da8 .word 0x20020da8 805aa98: 20020080 .word 0x20020080 805aa9c: 20037b40 .word 0x20037b40 805aaa0: 200265c4 .word 0x200265c4 805aaa4: 20047b40 .word 0x20047b40 805aaa8: 20025f60 .word 0x20025f60 Out[i] = (float32_t) Buff64[i + 8192]; 805aaac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aab0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805aab4: f502 5200 add.w r2, r2, #8192 ; 0x2000 805aab8: 49b9 ldr r1, [pc, #740] ; (805ada0 ) 805aaba: 00d2 lsls r2, r2, #3 805aabc: 440a add r2, r1 805aabe: ed92 7b00 vldr d7, [r2] 805aac2: eef7 7bc7 vcvt.f32.f64 s15, d7 805aac6: 4ab7 ldr r2, [pc, #732] ; (805ada4 ) 805aac8: 009b lsls r3, r3, #2 805aaca: 4413 add r3, r2 805aacc: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 805aad0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aad4: 3301 adds r3, #1 805aad6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805aada: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805aade: 4bb2 ldr r3, [pc, #712] ; (805ada8 ) 805aae0: 681b ldr r3, [r3, #0] 805aae2: 429a cmp r2, r3 805aae4: d3e2 bcc.n 805aaac } if(pardata.SYG == FRAN) 805aae6: 4bb1 ldr r3, [pc, #708] ; (805adac ) 805aae8: 781b ldrb r3, [r3, #0] 805aaea: b2db uxtb r3, r3 805aaec: 2b03 cmp r3, #3 805aaee: d11a bne.n 805ab26 { memcpy((void *) &Freq_f32(AvgCnt * 8192u), (void *) Out, 32768); 805aaf0: 4baf ldr r3, [pc, #700] ; (805adb0 ) 805aaf2: 681b ldr r3, [r3, #0] 805aaf4: 035b lsls r3, r3, #13 805aaf6: 009a lsls r2, r3, #2 805aaf8: 4bae ldr r3, [pc, #696] ; (805adb4 ) 805aafa: 4413 add r3, r2 805aafc: f44f 4200 mov.w r2, #32768 ; 0x8000 805ab00: 49a8 ldr r1, [pc, #672] ; (805ada4 ) 805ab02: 4618 mov r0, r3 805ab04: f077 fa43 bl 80d1f8e AvgCnt++; 805ab08: 4ba9 ldr r3, [pc, #676] ; (805adb0 ) 805ab0a: 681b ldr r3, [r3, #0] 805ab0c: 3301 adds r3, #1 805ab0e: 4aa8 ldr r2, [pc, #672] ; (805adb0 ) 805ab10: 6013 str r3, [r2, #0] if(AvgCnt >= NUM_SAMPLES) 805ab12: 4ba7 ldr r3, [pc, #668] ; (805adb0 ) 805ab14: 681b ldr r3, [r3, #0] 805ab16: 2b0f cmp r3, #15 805ab18: d905 bls.n 805ab26 { AvgCnt = 0; 805ab1a: 4ba5 ldr r3, [pc, #660] ; (805adb0 ) 805ab1c: 2200 movs r2, #0 805ab1e: 601a str r2, [r3, #0] NeedFreq = true; 805ab20: 4ba5 ldr r3, [pc, #660] ; (805adb8 ) 805ab22: 2201 movs r2, #1 805ab24: 701a strb r2, [r3, #0] } } switch(pardata.IVS[ACC]) 805ab26: 4ba1 ldr r3, [pc, #644] ; (805adac ) 805ab28: 789b ldrb r3, [r3, #2] 805ab2a: b2db uxtb r3, r3 805ab2c: 2b04 cmp r3, #4 805ab2e: f200 80e7 bhi.w 805ad00 805ab32: a201 add r2, pc, #4 ; (adr r2, 805ab38 ) 805ab34: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805ab38: 0805ab4d .word 0x0805ab4d 805ab3c: 0805acc5 .word 0x0805acc5 805ab40: 0805ab4d .word 0x0805ab4d 805ab44: 0805ac29 .word 0x0805ac29 805ab48: 0805ace7 .word 0x0805ace7 { case PEAK: case PEAK_TO_PEAK: arm_min_f32(Out, Ns, &fn[0], &i); 805ab4c: 4b96 ldr r3, [pc, #600] ; (805ada8 ) 805ab4e: 6819 ldr r1, [r3, #0] 805ab50: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805ab54: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805ab58: 4892 ldr r0, [pc, #584] ; (805ada4 ) 805ab5a: f074 f9bf bl 80ceedc arm_max_f32(Out, Ns, &fn[1], &j); 805ab5e: 4b92 ldr r3, [pc, #584] ; (805ada8 ) 805ab60: 6819 ldr r1, [r3, #0] 805ab62: f507 70e6 add.w r0, r7, #460 ; 0x1cc 805ab66: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805ab6a: 1d1a adds r2, r3, #4 805ab6c: 4603 mov r3, r0 805ab6e: 488d ldr r0, [pc, #564] ; (805ada4 ) 805ab70: f074 fa50 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805ab74: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ab78: eef5 7ac0 vcmpe.f32 s15, #0.0 805ab7c: eef1 fa10 vmrs APSR_nzcv, fpscr 805ab80: dd02 ble.n 805ab88 805ab82: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ab86: e003 b.n 805ab90 805ab88: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ab8c: eef1 7a67 vneg.f32 s15, s15 805ab90: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805ab94: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ab98: eef5 7ac0 vcmpe.f32 s15, #0.0 805ab9c: eef1 fa10 vmrs APSR_nzcv, fpscr 805aba0: dd02 ble.n 805aba8 805aba2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805aba6: e003 b.n 805abb0 805aba8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805abac: eef1 7a67 vneg.f32 s15, s15 805abb0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 if(pardata.IVS[ACC] == PEAK) 805abb4: 4b7d ldr r3, [pc, #500] ; (805adac ) 805abb6: 789b ldrb r3, [r3, #2] 805abb8: b2db uxtb r3, r3 805abba: 2b00 cmp r3, #0 805abbc: d109 bne.n 805abd2 arm_max_f32(fn, 2, &fval[ACC], &i); 805abbe: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805abc2: f107 02fc add.w r2, r7, #252 ; 0xfc 805abc6: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805abca: 2102 movs r1, #2 805abcc: f074 fa22 bl 80cf014 805abd0: e021 b.n 805ac16 else fval[ACC] = ABS(fn[0]) + ABS(fn[1]); 805abd2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805abd6: eef5 7ac0 vcmpe.f32 s15, #0.0 805abda: eef1 fa10 vmrs APSR_nzcv, fpscr 805abde: dd02 ble.n 805abe6 805abe0: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 805abe4: e003 b.n 805abee 805abe6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805abea: eeb1 7a67 vneg.f32 s14, s15 805abee: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805abf2: eef5 7ac0 vcmpe.f32 s15, #0.0 805abf6: eef1 fa10 vmrs APSR_nzcv, fpscr 805abfa: dd02 ble.n 805ac02 805abfc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ac00: e003 b.n 805ac0a 805ac02: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ac06: eef1 7a67 vneg.f32 s15, s15 805ac0a: ee77 7a27 vadd.f32 s15, s14, s15 805ac0e: f107 03fc add.w r3, r7, #252 ; 0xfc 805ac12: edc3 7a00 vstr s15, [r3] arm_rms_f32(Out, Ns, &rms); 805ac16: 4b64 ldr r3, [pc, #400] ; (805ada8 ) 805ac18: 681b ldr r3, [r3, #0] 805ac1a: f507 7286 add.w r2, r7, #268 ; 0x10c 805ac1e: 4619 mov r1, r3 805ac20: 4860 ldr r0, [pc, #384] ; (805ada4 ) 805ac22: f074 f8c9 bl 80cedb8 break; 805ac26: e06b b.n 805ad00 case PEAK_FACTOR: arm_min_f32(Out, Ns, &fn[0], &i); 805ac28: 4b5f ldr r3, [pc, #380] ; (805ada8 ) 805ac2a: 6819 ldr r1, [r3, #0] 805ac2c: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805ac30: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805ac34: 485b ldr r0, [pc, #364] ; (805ada4 ) 805ac36: f074 f951 bl 80ceedc arm_max_f32(Out, Ns, &fn[1], &j); 805ac3a: 4b5b ldr r3, [pc, #364] ; (805ada8 ) 805ac3c: 6819 ldr r1, [r3, #0] 805ac3e: f507 70e6 add.w r0, r7, #460 ; 0x1cc 805ac42: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805ac46: 1d1a adds r2, r3, #4 805ac48: 4603 mov r3, r0 805ac4a: 4856 ldr r0, [pc, #344] ; (805ada4 ) 805ac4c: f074 f9e2 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805ac50: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ac54: eef5 7ac0 vcmpe.f32 s15, #0.0 805ac58: eef1 fa10 vmrs APSR_nzcv, fpscr 805ac5c: dd02 ble.n 805ac64 805ac5e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ac62: e003 b.n 805ac6c 805ac64: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ac68: eef1 7a67 vneg.f32 s15, s15 805ac6c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805ac70: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ac74: eef5 7ac0 vcmpe.f32 s15, #0.0 805ac78: eef1 fa10 vmrs APSR_nzcv, fpscr 805ac7c: dd02 ble.n 805ac84 805ac7e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ac82: e003 b.n 805ac8c 805ac84: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ac88: eef1 7a67 vneg.f32 s15, s15 805ac8c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fpeak[ACC], &i); 805ac90: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805ac94: f107 02ec add.w r2, r7, #236 ; 0xec 805ac98: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805ac9c: 2102 movs r1, #2 805ac9e: f074 f9b9 bl 80cf014 //fpeak[ACC] /= pardata.IKK; arm_power_f32(Out, Ns, &fval[ACC]); 805aca2: 4b41 ldr r3, [pc, #260] ; (805ada8 ) 805aca4: 681b ldr r3, [r3, #0] 805aca6: f107 02fc add.w r2, r7, #252 ; 0xfc 805acaa: 4619 mov r1, r3 805acac: 483d ldr r0, [pc, #244] ; (805ada4 ) 805acae: f074 f8db bl 80cee68 arm_rms_f32(Out, Ns, &rms); 805acb2: 4b3d ldr r3, [pc, #244] ; (805ada8 ) 805acb4: 681b ldr r3, [r3, #0] 805acb6: f507 7286 add.w r2, r7, #268 ; 0x10c 805acba: 4619 mov r1, r3 805acbc: 4839 ldr r0, [pc, #228] ; (805ada4 ) 805acbe: f074 f87b bl 80cedb8 break; 805acc2: e01d b.n 805ad00 case RMS: arm_power_f32(Out, Ns, &fval[ACC]); 805acc4: 4b38 ldr r3, [pc, #224] ; (805ada8 ) 805acc6: 681b ldr r3, [r3, #0] 805acc8: f107 02fc add.w r2, r7, #252 ; 0xfc 805accc: 4619 mov r1, r3 805acce: 4835 ldr r0, [pc, #212] ; (805ada4 ) 805acd0: f074 f8ca bl 80cee68 arm_rms_f32(Out, Ns, &rms); 805acd4: 4b34 ldr r3, [pc, #208] ; (805ada8 ) 805acd6: 681b ldr r3, [r3, #0] 805acd8: f507 7286 add.w r2, r7, #268 ; 0x10c 805acdc: 4619 mov r1, r3 805acde: 4831 ldr r0, [pc, #196] ; (805ada4 ) 805ace0: f074 f86a bl 80cedb8 break; 805ace4: e00c b.n 805ad00 case EXCESS: fval[ACC] = CalcExcess(Out, Ns); 805ace6: 4b30 ldr r3, [pc, #192] ; (805ada8 ) 805ace8: 681b ldr r3, [r3, #0] 805acea: 4619 mov r1, r3 805acec: 482d ldr r0, [pc, #180] ; (805ada4 ) 805acee: f00d ff1b bl 8068b28 805acf2: eef0 7a40 vmov.f32 s15, s0 805acf6: f107 03fc add.w r3, r7, #252 ; 0xfc 805acfa: edc3 7a00 vstr s15, [r3] break; 805acfe: bf00 nop } /*******************************************************************************************************************************************/ /****************************************************** VELOCITY *************************************************************************/ /*******************************************************************************************************************************************/ arm_biquad_cascade_df2T_f64(&S_INT1, Buff64, &Buff64[8192], Ns); 805ad00: 4b29 ldr r3, [pc, #164] ; (805ada8 ) 805ad02: 681b ldr r3, [r3, #0] 805ad04: 4a2d ldr r2, [pc, #180] ; (805adbc ) 805ad06: 4926 ldr r1, [pc, #152] ; (805ada0 ) 805ad08: 482d ldr r0, [pc, #180] ; (805adc0 ) 805ad0a: f074 f9f7 bl 80cf0fc arm_biquad_cascade_df2T_f64(&S_HP_VEL, &Buff64[8192], &Buff64[8192], Ns); 805ad0e: 4b26 ldr r3, [pc, #152] ; (805ada8 ) 805ad10: 681b ldr r3, [r3, #0] 805ad12: 4a2a ldr r2, [pc, #168] ; (805adbc ) 805ad14: 4929 ldr r1, [pc, #164] ; (805adbc ) 805ad16: 482b ldr r0, [pc, #172] ; (805adc4 ) 805ad18: f074 f9f0 bl 80cf0fc for(i = 0; i < Ns; i++) 805ad1c: 2300 movs r3, #0 805ad1e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ad22: e016 b.n 805ad52 Out[i] = (float32_t) Buff64[i + 8192]; 805ad24: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ad28: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ad2c: f502 5200 add.w r2, r2, #8192 ; 0x2000 805ad30: 491b ldr r1, [pc, #108] ; (805ada0 ) 805ad32: 00d2 lsls r2, r2, #3 805ad34: 440a add r2, r1 805ad36: ed92 7b00 vldr d7, [r2] 805ad3a: eef7 7bc7 vcvt.f32.f64 s15, d7 805ad3e: 4a19 ldr r2, [pc, #100] ; (805ada4 ) 805ad40: 009b lsls r3, r3, #2 805ad42: 4413 add r3, r2 805ad44: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 805ad48: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ad4c: 3301 adds r3, #1 805ad4e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ad52: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ad56: 4b14 ldr r3, [pc, #80] ; (805ada8 ) 805ad58: 681b ldr r3, [r3, #0] 805ad5a: 429a cmp r2, r3 805ad5c: d3e2 bcc.n 805ad24 fs = 249.135f; //311.0f; 805ad5e: 4b1a ldr r3, [pc, #104] ; (805adc8 ) 805ad60: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 arm_scale_f32(Out, fs, Out, Ns); 805ad64: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805ad68: 4b0f ldr r3, [pc, #60] ; (805ada8 ) 805ad6a: 681b ldr r3, [r3, #0] 805ad6c: 461a mov r2, r3 805ad6e: 490d ldr r1, [pc, #52] ; (805ada4 ) 805ad70: eeb0 0a67 vmov.f32 s0, s15 805ad74: 480b ldr r0, [pc, #44] ; (805ada4 ) 805ad76: f074 fc77 bl 80cf668 switch(pardata.IVS[VEL]) 805ad7a: 4b0c ldr r3, [pc, #48] ; (805adac ) 805ad7c: 78db ldrb r3, [r3, #3] 805ad7e: b2db uxtb r3, r3 805ad80: 2b04 cmp r3, #4 805ad82: f200 80eb bhi.w 805af5c 805ad86: a201 add r2, pc, #4 ; (adr r2, 805ad8c ) 805ad88: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805ad8c: 0805adcd .word 0x0805adcd 805ad90: 0805af2f .word 0x0805af2f 805ad94: 0805adcd .word 0x0805adcd 805ad98: 0805ae9d .word 0x0805ae9d 805ad9c: 0805af43 .word 0x0805af43 805ada0: 20037b40 .word 0x20037b40 805ada4: 20008000 .word 0x20008000 805ada8: 20021d2c .word 0x20021d2c 805adac: 20023eb8 .word 0x20023eb8 805adb0: 20020d80 .word 0x20020d80 805adb4: 64080000 .word 0x64080000 805adb8: 20020d95 .word 0x20020d95 805adbc: 20047b40 .word 0x20047b40 805adc0: 200261d0 .word 0x200261d0 805adc4: 20025ed8 .word 0x20025ed8 805adc8: 4379228f .word 0x4379228f { case PEAK: case PEAK_TO_PEAK: arm_min_f32(Out, Ns, &fn[0], &i); 805adcc: 4bc0 ldr r3, [pc, #768] ; (805b0d0 ) 805adce: 6819 ldr r1, [r3, #0] 805add0: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805add4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805add8: 48be ldr r0, [pc, #760] ; (805b0d4 ) 805adda: f074 f87f bl 80ceedc arm_max_f32(Out, Ns, &fn[1], &j); 805adde: 4bbc ldr r3, [pc, #752] ; (805b0d0 ) 805ade0: 6819 ldr r1, [r3, #0] 805ade2: f507 70e6 add.w r0, r7, #460 ; 0x1cc 805ade6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805adea: 1d1a adds r2, r3, #4 805adec: 4603 mov r3, r0 805adee: 48b9 ldr r0, [pc, #740] ; (805b0d4 ) 805adf0: f074 f910 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805adf4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805adf8: eef5 7ac0 vcmpe.f32 s15, #0.0 805adfc: eef1 fa10 vmrs APSR_nzcv, fpscr 805ae00: dd02 ble.n 805ae08 805ae02: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ae06: e003 b.n 805ae10 805ae08: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ae0c: eef1 7a67 vneg.f32 s15, s15 805ae10: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805ae14: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ae18: eef5 7ac0 vcmpe.f32 s15, #0.0 805ae1c: eef1 fa10 vmrs APSR_nzcv, fpscr 805ae20: dd02 ble.n 805ae28 805ae22: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ae26: e003 b.n 805ae30 805ae28: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ae2c: eef1 7a67 vneg.f32 s15, s15 805ae30: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 if(pardata.IVS[VEL] == PEAK) 805ae34: 4ba8 ldr r3, [pc, #672] ; (805b0d8 ) 805ae36: 78db ldrb r3, [r3, #3] 805ae38: b2db uxtb r3, r3 805ae3a: 2b00 cmp r3, #0 805ae3c: d10b bne.n 805ae56 arm_max_f32(fn, 2, &fval[VEL], &i); 805ae3e: f507 71e8 add.w r1, r7, #464 ; 0x1d0 805ae42: f107 03fc add.w r3, r7, #252 ; 0xfc 805ae46: 1d1a adds r2, r3, #4 805ae48: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805ae4c: 460b mov r3, r1 805ae4e: 2102 movs r1, #2 805ae50: f074 f8e0 bl 80cf014 else fval[VEL] = ABS(fn[0]) + ABS(fn[1]); break; 805ae54: e082 b.n 805af5c else fval[VEL] = ABS(fn[0]) + ABS(fn[1]); 805ae56: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ae5a: eef5 7ac0 vcmpe.f32 s15, #0.0 805ae5e: eef1 fa10 vmrs APSR_nzcv, fpscr 805ae62: dd02 ble.n 805ae6a 805ae64: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 805ae68: e003 b.n 805ae72 805ae6a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ae6e: eeb1 7a67 vneg.f32 s14, s15 805ae72: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ae76: eef5 7ac0 vcmpe.f32 s15, #0.0 805ae7a: eef1 fa10 vmrs APSR_nzcv, fpscr 805ae7e: dd02 ble.n 805ae86 805ae80: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ae84: e003 b.n 805ae8e 805ae86: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ae8a: eef1 7a67 vneg.f32 s15, s15 805ae8e: ee77 7a27 vadd.f32 s15, s14, s15 805ae92: f107 03fc add.w r3, r7, #252 ; 0xfc 805ae96: edc3 7a01 vstr s15, [r3, #4] break; 805ae9a: e05f b.n 805af5c case PEAK_FACTOR: arm_min_f32(Out, Ns, &fn[0], &i); 805ae9c: 4b8c ldr r3, [pc, #560] ; (805b0d0 ) 805ae9e: 6819 ldr r1, [r3, #0] 805aea0: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805aea4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805aea8: 488a ldr r0, [pc, #552] ; (805b0d4 ) 805aeaa: f074 f817 bl 80ceedc arm_max_f32(Out, Ns, &fn[1], &j); 805aeae: 4b88 ldr r3, [pc, #544] ; (805b0d0 ) 805aeb0: 6819 ldr r1, [r3, #0] 805aeb2: f507 70e6 add.w r0, r7, #460 ; 0x1cc 805aeb6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805aeba: 1d1a adds r2, r3, #4 805aebc: 4603 mov r3, r0 805aebe: 4885 ldr r0, [pc, #532] ; (805b0d4 ) 805aec0: f074 f8a8 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805aec4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805aec8: eef5 7ac0 vcmpe.f32 s15, #0.0 805aecc: eef1 fa10 vmrs APSR_nzcv, fpscr 805aed0: dd02 ble.n 805aed8 805aed2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805aed6: e003 b.n 805aee0 805aed8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805aedc: eef1 7a67 vneg.f32 s15, s15 805aee0: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805aee4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805aee8: eef5 7ac0 vcmpe.f32 s15, #0.0 805aeec: eef1 fa10 vmrs APSR_nzcv, fpscr 805aef0: dd02 ble.n 805aef8 805aef2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805aef6: e003 b.n 805af00 805aef8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805aefc: eef1 7a67 vneg.f32 s15, s15 805af00: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fpeak[VEL], &i); 805af04: f507 71e8 add.w r1, r7, #464 ; 0x1d0 805af08: f107 03ec add.w r3, r7, #236 ; 0xec 805af0c: 1d1a adds r2, r3, #4 805af0e: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805af12: 460b mov r3, r1 805af14: 2102 movs r1, #2 805af16: f074 f87d bl 80cf014 arm_power_f32(Out, Ns, &fval[VEL]); 805af1a: 4b6d ldr r3, [pc, #436] ; (805b0d0 ) 805af1c: 6819 ldr r1, [r3, #0] 805af1e: f107 03fc add.w r3, r7, #252 ; 0xfc 805af22: 3304 adds r3, #4 805af24: 461a mov r2, r3 805af26: 486b ldr r0, [pc, #428] ; (805b0d4 ) 805af28: f073 ff9e bl 80cee68 break; 805af2c: e016 b.n 805af5c case RMS: arm_power_f32(Out, Ns, &fval[VEL]); 805af2e: 4b68 ldr r3, [pc, #416] ; (805b0d0 ) 805af30: 6819 ldr r1, [r3, #0] 805af32: f107 03fc add.w r3, r7, #252 ; 0xfc 805af36: 3304 adds r3, #4 805af38: 461a mov r2, r3 805af3a: 4866 ldr r0, [pc, #408] ; (805b0d4 ) 805af3c: f073 ff94 bl 80cee68 break; 805af40: e00c b.n 805af5c case EXCESS: fval[VEL] = CalcExcess(Out, Ns); 805af42: 4b63 ldr r3, [pc, #396] ; (805b0d0 ) 805af44: 681b ldr r3, [r3, #0] 805af46: 4619 mov r1, r3 805af48: 4862 ldr r0, [pc, #392] ; (805b0d4 ) 805af4a: f00d fded bl 8068b28 805af4e: eef0 7a40 vmov.f32 s15, s0 805af52: f107 03fc add.w r3, r7, #252 ; 0xfc 805af56: edc3 7a01 vstr s15, [r3, #4] break; 805af5a: bf00 nop } /*******************************************************************************************************************************************/ /****************************************************** DISPLACEMENT *********************************************************************/ /*******************************************************************************************************************************************/ arm_biquad_cascade_df2T_f64(&S_INT2, Buff64, &Buff64[8192], Ns); 805af5c: 4b5c ldr r3, [pc, #368] ; (805b0d0 ) 805af5e: 681b ldr r3, [r3, #0] 805af60: 4a5e ldr r2, [pc, #376] ; (805b0dc ) 805af62: 495f ldr r1, [pc, #380] ; (805b0e0 ) 805af64: 485f ldr r0, [pc, #380] ; (805b0e4 ) 805af66: f074 f8c9 bl 80cf0fc arm_biquad_cascade_df2T_f64(&S_HP_DIS, &Buff64[8192], &Buff64[8192], Ns); 805af6a: 4b59 ldr r3, [pc, #356] ; (805b0d0 ) 805af6c: 681b ldr r3, [r3, #0] 805af6e: 4a5b ldr r2, [pc, #364] ; (805b0dc ) 805af70: 495a ldr r1, [pc, #360] ; (805b0dc ) 805af72: 485d ldr r0, [pc, #372] ; (805b0e8 ) 805af74: f074 f8c2 bl 80cf0fc for(i = 0; i < Ns; i++) 805af78: 2300 movs r3, #0 805af7a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805af7e: e016 b.n 805afae Out[i] = (float32_t) Buff64[i + 8192]; 805af80: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805af84: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805af88: f502 5200 add.w r2, r2, #8192 ; 0x2000 805af8c: 4954 ldr r1, [pc, #336] ; (805b0e0 ) 805af8e: 00d2 lsls r2, r2, #3 805af90: 440a add r2, r1 805af92: ed92 7b00 vldr d7, [r2] 805af96: eef7 7bc7 vcvt.f32.f64 s15, d7 805af9a: 4a4e ldr r2, [pc, #312] ; (805b0d4 ) 805af9c: 009b lsls r3, r3, #2 805af9e: 4413 add r3, r2 805afa0: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 805afa4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805afa8: 3301 adds r3, #1 805afaa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805afae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805afb2: 4b47 ldr r3, [pc, #284] ; (805b0d0 ) 805afb4: 681b ldr r3, [r3, #0] 805afb6: 429a cmp r2, r3 805afb8: d3e2 bcc.n 805af80 fs = 61400.171f; //96600.0f 805afba: 4b4c ldr r3, [pc, #304] ; (805b0ec ) 805afbc: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 arm_scale_f32(Out, fs, Out, Ns); 805afc0: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805afc4: 4b42 ldr r3, [pc, #264] ; (805b0d0 ) 805afc6: 681b ldr r3, [r3, #0] 805afc8: 461a mov r2, r3 805afca: 4942 ldr r1, [pc, #264] ; (805b0d4 ) 805afcc: eeb0 0a67 vmov.f32 s0, s15 805afd0: 4840 ldr r0, [pc, #256] ; (805b0d4 ) 805afd2: f074 fb49 bl 80cf668 switch(pardata.IVS[DIS]) 805afd6: 4b40 ldr r3, [pc, #256] ; (805b0d8 ) 805afd8: 791b ldrb r3, [r3, #4] 805afda: b2db uxtb r3, r3 805afdc: 2b04 cmp r3, #4 805afde: f200 80e8 bhi.w 805b1b2 805afe2: a201 add r2, pc, #4 ; (adr r2, 805afe8 ) 805afe4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805afe8: 0805affd .word 0x0805affd 805afec: 0805b185 .word 0x0805b185 805aff0: 0805affd .word 0x0805affd 805aff4: 0805b0f1 .word 0x0805b0f1 805aff8: 0805b199 .word 0x0805b199 { case PEAK: case PEAK_TO_PEAK: arm_min_f32(Out, Ns, &fn[0], &i); 805affc: 4b34 ldr r3, [pc, #208] ; (805b0d0 ) 805affe: 6819 ldr r1, [r3, #0] 805b000: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805b004: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805b008: 4832 ldr r0, [pc, #200] ; (805b0d4 ) 805b00a: f073 ff67 bl 80ceedc arm_max_f32(Out, Ns, &fn[1], &j); 805b00e: 4b30 ldr r3, [pc, #192] ; (805b0d0 ) 805b010: 6819 ldr r1, [r3, #0] 805b012: f507 70e6 add.w r0, r7, #460 ; 0x1cc 805b016: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805b01a: 1d1a adds r2, r3, #4 805b01c: 4603 mov r3, r0 805b01e: 482d ldr r0, [pc, #180] ; (805b0d4 ) 805b020: f073 fff8 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805b024: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805b028: eef5 7ac0 vcmpe.f32 s15, #0.0 805b02c: eef1 fa10 vmrs APSR_nzcv, fpscr 805b030: dd02 ble.n 805b038 805b032: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805b036: e003 b.n 805b040 805b038: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805b03c: eef1 7a67 vneg.f32 s15, s15 805b040: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805b044: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805b048: eef5 7ac0 vcmpe.f32 s15, #0.0 805b04c: eef1 fa10 vmrs APSR_nzcv, fpscr 805b050: dd02 ble.n 805b058 805b052: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805b056: e003 b.n 805b060 805b058: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805b05c: eef1 7a67 vneg.f32 s15, s15 805b060: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 if(pardata.IVS[DIS] == PEAK) 805b064: 4b1c ldr r3, [pc, #112] ; (805b0d8 ) 805b066: 791b ldrb r3, [r3, #4] 805b068: b2db uxtb r3, r3 805b06a: 2b00 cmp r3, #0 805b06c: d10c bne.n 805b088 arm_max_f32(fn, 2, &fval[DIS], &i); 805b06e: f507 71e8 add.w r1, r7, #464 ; 0x1d0 805b072: f107 03fc add.w r3, r7, #252 ; 0xfc 805b076: f103 0208 add.w r2, r3, #8 805b07a: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805b07e: 460b mov r3, r1 805b080: 2102 movs r1, #2 805b082: f073 ffc7 bl 80cf014 else fval[DIS] = ABS(fn[0]) + ABS(fn[1]); break; 805b086: e094 b.n 805b1b2 else fval[DIS] = ABS(fn[0]) + ABS(fn[1]); 805b088: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805b08c: eef5 7ac0 vcmpe.f32 s15, #0.0 805b090: eef1 fa10 vmrs APSR_nzcv, fpscr 805b094: dd02 ble.n 805b09c 805b096: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 805b09a: e003 b.n 805b0a4 805b09c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805b0a0: eeb1 7a67 vneg.f32 s14, s15 805b0a4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805b0a8: eef5 7ac0 vcmpe.f32 s15, #0.0 805b0ac: eef1 fa10 vmrs APSR_nzcv, fpscr 805b0b0: dd02 ble.n 805b0b8 805b0b2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805b0b6: e003 b.n 805b0c0 805b0b8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805b0bc: eef1 7a67 vneg.f32 s15, s15 805b0c0: ee77 7a27 vadd.f32 s15, s14, s15 805b0c4: f107 03fc add.w r3, r7, #252 ; 0xfc 805b0c8: edc3 7a02 vstr s15, [r3, #8] break; 805b0cc: e071 b.n 805b1b2 805b0ce: bf00 nop 805b0d0: 20021d2c .word 0x20021d2c 805b0d4: 20008000 .word 0x20008000 805b0d8: 20023eb8 .word 0x20023eb8 805b0dc: 20047b40 .word 0x20047b40 805b0e0: 20037b40 .word 0x20037b40 805b0e4: 20027924 .word 0x20027924 805b0e8: 200279b0 .word 0x200279b0 805b0ec: 476fd82c .word 0x476fd82c case PEAK_FACTOR: arm_min_f32(Out, Ns, &fn[0], &i); 805b0f0: 4bc7 ldr r3, [pc, #796] ; (805b410 ) 805b0f2: 6819 ldr r1, [r3, #0] 805b0f4: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805b0f8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805b0fc: 48c5 ldr r0, [pc, #788] ; (805b414 ) 805b0fe: f073 feed bl 80ceedc arm_max_f32(Out, Ns, &fn[1], &j); 805b102: 4bc3 ldr r3, [pc, #780] ; (805b410 ) 805b104: 6819 ldr r1, [r3, #0] 805b106: f507 70e6 add.w r0, r7, #460 ; 0x1cc 805b10a: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805b10e: 1d1a adds r2, r3, #4 805b110: 4603 mov r3, r0 805b112: 48c0 ldr r0, [pc, #768] ; (805b414 ) 805b114: f073 ff7e bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805b118: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805b11c: eef5 7ac0 vcmpe.f32 s15, #0.0 805b120: eef1 fa10 vmrs APSR_nzcv, fpscr 805b124: dd02 ble.n 805b12c 805b126: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805b12a: e003 b.n 805b134 805b12c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805b130: eef1 7a67 vneg.f32 s15, s15 805b134: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805b138: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805b13c: eef5 7ac0 vcmpe.f32 s15, #0.0 805b140: eef1 fa10 vmrs APSR_nzcv, fpscr 805b144: dd02 ble.n 805b14c 805b146: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805b14a: e003 b.n 805b154 805b14c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805b150: eef1 7a67 vneg.f32 s15, s15 805b154: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fpeak[DIS], &i); 805b158: f507 71e8 add.w r1, r7, #464 ; 0x1d0 805b15c: f107 03ec add.w r3, r7, #236 ; 0xec 805b160: f103 0208 add.w r2, r3, #8 805b164: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805b168: 460b mov r3, r1 805b16a: 2102 movs r1, #2 805b16c: f073 ff52 bl 80cf014 arm_power_f32(Out, Ns, &fval[DIS]); 805b170: 4ba7 ldr r3, [pc, #668] ; (805b410 ) 805b172: 6819 ldr r1, [r3, #0] 805b174: f107 03fc add.w r3, r7, #252 ; 0xfc 805b178: 3308 adds r3, #8 805b17a: 461a mov r2, r3 805b17c: 48a5 ldr r0, [pc, #660] ; (805b414 ) 805b17e: f073 fe73 bl 80cee68 break; 805b182: e016 b.n 805b1b2 case RMS: arm_power_f32(Out, Ns, &fval[DIS]); 805b184: 4ba2 ldr r3, [pc, #648] ; (805b410 ) 805b186: 6819 ldr r1, [r3, #0] 805b188: f107 03fc add.w r3, r7, #252 ; 0xfc 805b18c: 3308 adds r3, #8 805b18e: 461a mov r2, r3 805b190: 48a0 ldr r0, [pc, #640] ; (805b414 ) 805b192: f073 fe69 bl 80cee68 break; 805b196: e00c b.n 805b1b2 case EXCESS: fval[DIS] = CalcExcess(Out, Ns); 805b198: 4b9d ldr r3, [pc, #628] ; (805b410 ) 805b19a: 681b ldr r3, [r3, #0] 805b19c: 4619 mov r1, r3 805b19e: 489d ldr r0, [pc, #628] ; (805b414 ) 805b1a0: f00d fcc2 bl 8068b28 805b1a4: eef0 7a40 vmov.f32 s15, s0 805b1a8: f107 03fc add.w r3, r7, #252 ; 0xfc 805b1ac: edc3 7a02 vstr s15, [r3, #8] break; 805b1b0: bf00 nop } //***************************************************************************************************************************************** //***************************************************************************************************************************************** if(timeRelax) 805b1b2: 4b99 ldr r3, [pc, #612] ; (805b418 ) 805b1b4: 681b ldr r3, [r3, #0] 805b1b6: 2b00 cmp r3, #0 805b1b8: d027 beq.n 805b20a { timeRelax--; 805b1ba: 4b97 ldr r3, [pc, #604] ; (805b418 ) 805b1bc: 681b ldr r3, [r3, #0] 805b1be: 3b01 subs r3, #1 805b1c0: 4a95 ldr r2, [pc, #596] ; (805b418 ) 805b1c2: 6013 str r3, [r2, #0] for(i = 0; i < 3; i++) 805b1c4: 2300 movs r3, #0 805b1c6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b1ca: e018 b.n 805b1fe { skz[i] = -1.0f; 805b1cc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b1d0: 4a92 ldr r2, [pc, #584] ; (805b41c ) 805b1d2: 009b lsls r3, r3, #2 805b1d4: 4413 add r3, r2 805b1d6: 4a92 ldr r2, [pc, #584] ; (805b420 ) 805b1d8: 601a str r2, [r3, #0] LinToLog(&skz[i], &skzDB[i]); 805b1da: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b1de: 009b lsls r3, r3, #2 805b1e0: 4a8e ldr r2, [pc, #568] ; (805b41c ) 805b1e2: 1898 adds r0, r3, r2 805b1e4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b1e8: 009b lsls r3, r3, #2 805b1ea: 4a8e ldr r2, [pc, #568] ; (805b424 ) 805b1ec: 4413 add r3, r2 805b1ee: 4619 mov r1, r3 805b1f0: f00b fbaa bl 8066948 for(i = 0; i < 3; i++) 805b1f4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b1f8: 3301 adds r3, #1 805b1fa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b1fe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b202: 2b02 cmp r3, #2 805b204: d9e2 bls.n 805b1cc 805b206: f000 bef0 b.w 805bfea } } else { for(i = 0; i < 3; i++) 805b20a: 2300 movs r3, #0 805b20c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b210: e0e2 b.n 805b3d8 { switch(pardata.IVS[i]) 805b212: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b216: 4a84 ldr r2, [pc, #528] ; (805b428 ) 805b218: 4413 add r3, r2 805b21a: 789b ldrb r3, [r3, #2] 805b21c: b2db uxtb r3, r3 805b21e: 2b04 cmp r3, #4 805b220: f200 80d5 bhi.w 805b3ce 805b224: a201 add r2, pc, #4 ; (adr r2, 805b22c ) 805b226: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805b22a: bf00 nop 805b22c: 0805b241 .word 0x0805b241 805b230: 0805b39d .word 0x0805b39d 805b234: 0805b241 .word 0x0805b241 805b238: 0805b329 .word 0x0805b329 805b23c: 0805b287 .word 0x0805b287 { case PEAK: case PEAK_TO_PEAK: if(peakAVS[i] < fval[i]) { 805b240: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b244: 4a79 ldr r2, [pc, #484] ; (805b42c ) 805b246: 009b lsls r3, r3, #2 805b248: 4413 add r3, r2 805b24a: ed93 7a00 vldr s14, [r3] 805b24e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b252: f107 02fc add.w r2, r7, #252 ; 0xfc 805b256: 009b lsls r3, r3, #2 805b258: 4413 add r3, r2 805b25a: edd3 7a00 vldr s15, [r3] 805b25e: eeb4 7ae7 vcmpe.f32 s14, s15 805b262: eef1 fa10 vmrs APSR_nzcv, fpscr 805b266: d400 bmi.n 805b26a peakAVS[i] = fval[i]; } break; 805b268: e0b1 b.n 805b3ce peakAVS[i] = fval[i]; 805b26a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b26e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b272: f107 01fc add.w r1, r7, #252 ; 0xfc 805b276: 0092 lsls r2, r2, #2 805b278: 440a add r2, r1 805b27a: 6812 ldr r2, [r2, #0] 805b27c: 496b ldr r1, [pc, #428] ; (805b42c ) 805b27e: 009b lsls r3, r3, #2 805b280: 440b add r3, r1 805b282: 601a str r2, [r3, #0] break; 805b284: e0a3 b.n 805b3ce case EXCESS: if(ABS(peakAVS[i]) < ABS(fval[i])) { 805b286: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b28a: 4a68 ldr r2, [pc, #416] ; (805b42c ) 805b28c: 009b lsls r3, r3, #2 805b28e: 4413 add r3, r2 805b290: edd3 7a00 vldr s15, [r3] 805b294: eef5 7ac0 vcmpe.f32 s15, #0.0 805b298: eef1 fa10 vmrs APSR_nzcv, fpscr 805b29c: dd07 ble.n 805b2ae 805b29e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b2a2: 4a62 ldr r2, [pc, #392] ; (805b42c ) 805b2a4: 009b lsls r3, r3, #2 805b2a6: 4413 add r3, r2 805b2a8: ed93 7a00 vldr s14, [r3] 805b2ac: e008 b.n 805b2c0 805b2ae: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b2b2: 4a5e ldr r2, [pc, #376] ; (805b42c ) 805b2b4: 009b lsls r3, r3, #2 805b2b6: 4413 add r3, r2 805b2b8: edd3 7a00 vldr s15, [r3] 805b2bc: eeb1 7a67 vneg.f32 s14, s15 805b2c0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b2c4: f107 02fc add.w r2, r7, #252 ; 0xfc 805b2c8: 009b lsls r3, r3, #2 805b2ca: 4413 add r3, r2 805b2cc: edd3 7a00 vldr s15, [r3] 805b2d0: eef5 7ac0 vcmpe.f32 s15, #0.0 805b2d4: eef1 fa10 vmrs APSR_nzcv, fpscr 805b2d8: dd08 ble.n 805b2ec 805b2da: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b2de: f107 02fc add.w r2, r7, #252 ; 0xfc 805b2e2: 009b lsls r3, r3, #2 805b2e4: 4413 add r3, r2 805b2e6: edd3 7a00 vldr s15, [r3] 805b2ea: e009 b.n 805b300 805b2ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b2f0: f107 02fc add.w r2, r7, #252 ; 0xfc 805b2f4: 009b lsls r3, r3, #2 805b2f6: 4413 add r3, r2 805b2f8: edd3 7a00 vldr s15, [r3] 805b2fc: eef1 7a67 vneg.f32 s15, s15 805b300: eeb4 7ae7 vcmpe.f32 s14, s15 805b304: eef1 fa10 vmrs APSR_nzcv, fpscr 805b308: d400 bmi.n 805b30c peakAVS[i] = fval[i]; } break; 805b30a: e060 b.n 805b3ce peakAVS[i] = fval[i]; 805b30c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b310: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b314: f107 01fc add.w r1, r7, #252 ; 0xfc 805b318: 0092 lsls r2, r2, #2 805b31a: 440a add r2, r1 805b31c: 6812 ldr r2, [r2, #0] 805b31e: 4943 ldr r1, [pc, #268] ; (805b42c ) 805b320: 009b lsls r3, r3, #2 805b322: 440b add r3, r1 805b324: 601a str r2, [r3, #0] break; 805b326: e052 b.n 805b3ce case PEAK_FACTOR: if(peakAVS[i] < fpeak[i]) { 805b328: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b32c: 4a3f ldr r2, [pc, #252] ; (805b42c ) 805b32e: 009b lsls r3, r3, #2 805b330: 4413 add r3, r2 805b332: ed93 7a00 vldr s14, [r3] 805b336: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b33a: f107 02ec add.w r2, r7, #236 ; 0xec 805b33e: 009b lsls r3, r3, #2 805b340: 4413 add r3, r2 805b342: edd3 7a00 vldr s15, [r3] 805b346: eeb4 7ae7 vcmpe.f32 s14, s15 805b34a: eef1 fa10 vmrs APSR_nzcv, fpscr 805b34e: d50c bpl.n 805b36a peakAVS[i] = fpeak[i]; 805b350: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b354: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b358: f107 01ec add.w r1, r7, #236 ; 0xec 805b35c: 0092 lsls r2, r2, #2 805b35e: 440a add r2, r1 805b360: 6812 ldr r2, [r2, #0] 805b362: 4932 ldr r1, [pc, #200] ; (805b42c ) 805b364: 009b lsls r3, r3, #2 805b366: 440b add r3, r1 805b368: 601a str r2, [r3, #0] } rmsAVS[i] += fval[i]; 805b36a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b36e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b372: 492f ldr r1, [pc, #188] ; (805b430 ) 805b374: 0092 lsls r2, r2, #2 805b376: 440a add r2, r1 805b378: ed92 7a00 vldr s14, [r2] 805b37c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b380: f107 01fc add.w r1, r7, #252 ; 0xfc 805b384: 0092 lsls r2, r2, #2 805b386: 440a add r2, r1 805b388: edd2 7a00 vldr s15, [r2] 805b38c: ee77 7a27 vadd.f32 s15, s14, s15 805b390: 4a27 ldr r2, [pc, #156] ; (805b430 ) 805b392: 009b lsls r3, r3, #2 805b394: 4413 add r3, r2 805b396: edc3 7a00 vstr s15, [r3] break; 805b39a: e018 b.n 805b3ce case RMS: rmsAVS[i] += fval[i]; 805b39c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b3a0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b3a4: 4922 ldr r1, [pc, #136] ; (805b430 ) 805b3a6: 0092 lsls r2, r2, #2 805b3a8: 440a add r2, r1 805b3aa: ed92 7a00 vldr s14, [r2] 805b3ae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b3b2: f107 01fc add.w r1, r7, #252 ; 0xfc 805b3b6: 0092 lsls r2, r2, #2 805b3b8: 440a add r2, r1 805b3ba: edd2 7a00 vldr s15, [r2] 805b3be: ee77 7a27 vadd.f32 s15, s14, s15 805b3c2: 4a1b ldr r2, [pc, #108] ; (805b430 ) 805b3c4: 009b lsls r3, r3, #2 805b3c6: 4413 add r3, r2 805b3c8: edc3 7a00 vstr s15, [r3] break; 805b3cc: bf00 nop for(i = 0; i < 3; i++) 805b3ce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b3d2: 3301 adds r3, #1 805b3d4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b3d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b3dc: 2b02 cmp r3, #2 805b3de: f67f af18 bls.w 805b212 } } MeanCnt++; 805b3e2: 4b14 ldr r3, [pc, #80] ; (805b434 ) 805b3e4: 681b ldr r3, [r3, #0] 805b3e6: 3301 adds r3, #1 805b3e8: 4a12 ldr r2, [pc, #72] ; (805b434 ) 805b3ea: 6013 str r3, [r2, #0] /////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////// BI-TECHNO ////////////////////////// if(!(MeanCnt % 8)) 805b3ec: 4b11 ldr r3, [pc, #68] ; (805b434 ) 805b3ee: 681b ldr r3, [r3, #0] 805b3f0: f003 0307 and.w r3, r3, #7 805b3f4: 2b00 cmp r3, #0 805b3f6: f040 85f8 bne.w 805bfea { for(j = AVG[pardata.AVG] - 1; j > 0; j--) 805b3fa: 4b0b ldr r3, [pc, #44] ; (805b428 ) 805b3fc: 7b5b ldrb r3, [r3, #13] 805b3fe: b2db uxtb r3, r3 805b400: 461a mov r2, r3 805b402: 4b0d ldr r3, [pc, #52] ; (805b438 ) 805b404: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b408: 3b01 subs r3, #1 805b40a: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc 805b40e: e086 b.n 805b51e 805b410: 20021d2c .word 0x20021d2c 805b414: 20008000 .word 0x20008000 805b418: 20020d8c .word 0x20020d8c 805b41c: 20021590 .word 0x20021590 805b420: bf800000 .word 0xbf800000 805b424: 2002159c .word 0x2002159c 805b428: 20023eb8 .word 0x20023eb8 805b42c: 20021d4c .word 0x20021d4c 805b430: 20021d38 .word 0x20021d38 805b434: 20020dd8 .word 0x20020dd8 805b438: 080f54d8 .word 0x080f54d8 { fl = ACC_PEAK_RD(j - 1); 805b43c: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805b440: 3b01 subs r3, #1 805b442: 009a lsls r2, r3, #2 805b444: 4bb9 ldr r3, [pc, #740] ; (805b72c ) 805b446: 4413 add r3, r2 805b448: 681b ldr r3, [r3, #0] 805b44a: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc ACC_PEAK_WR(j) = fl; 805b44e: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805b452: 009a lsls r2, r3, #2 805b454: 4bb5 ldr r3, [pc, #724] ; (805b72c ) 805b456: 4413 add r3, r2 805b458: 461a mov r2, r3 805b45a: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805b45e: 6013 str r3, [r2, #0] fl = ACC_RMS_RD(j - 1); 805b460: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805b464: 3b01 subs r3, #1 805b466: 009a lsls r2, r3, #2 805b468: 4bb1 ldr r3, [pc, #708] ; (805b730 ) 805b46a: 4413 add r3, r2 805b46c: 681b ldr r3, [r3, #0] 805b46e: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc ACC_RMS_WR(j) = fl; 805b472: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805b476: 009a lsls r2, r3, #2 805b478: 4bad ldr r3, [pc, #692] ; (805b730 ) 805b47a: 4413 add r3, r2 805b47c: 461a mov r2, r3 805b47e: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805b482: 6013 str r3, [r2, #0] fl = VEL_PEAK_RD(j - 1); 805b484: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805b488: 3b01 subs r3, #1 805b48a: 009a lsls r2, r3, #2 805b48c: 4ba9 ldr r3, [pc, #676] ; (805b734 ) 805b48e: 4413 add r3, r2 805b490: 681b ldr r3, [r3, #0] 805b492: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc VEL_PEAK_WR(j) = fl; 805b496: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805b49a: 009a lsls r2, r3, #2 805b49c: 4ba5 ldr r3, [pc, #660] ; (805b734 ) 805b49e: 4413 add r3, r2 805b4a0: 461a mov r2, r3 805b4a2: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805b4a6: 6013 str r3, [r2, #0] fl = VEL_RMS_RD(j - 1); 805b4a8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805b4ac: 3b01 subs r3, #1 805b4ae: 009a lsls r2, r3, #2 805b4b0: 4ba1 ldr r3, [pc, #644] ; (805b738 ) 805b4b2: 4413 add r3, r2 805b4b4: 681b ldr r3, [r3, #0] 805b4b6: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc VEL_RMS_WR(j) = fl; 805b4ba: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805b4be: 009a lsls r2, r3, #2 805b4c0: 4b9d ldr r3, [pc, #628] ; (805b738 ) 805b4c2: 4413 add r3, r2 805b4c4: 461a mov r2, r3 805b4c6: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805b4ca: 6013 str r3, [r2, #0] fl = DIS_PEAK_RD(j - 1); 805b4cc: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805b4d0: 3b01 subs r3, #1 805b4d2: 009a lsls r2, r3, #2 805b4d4: 4b99 ldr r3, [pc, #612] ; (805b73c ) 805b4d6: 4413 add r3, r2 805b4d8: 681b ldr r3, [r3, #0] 805b4da: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc DIS_PEAK_WR(j) = fl; 805b4de: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805b4e2: 009a lsls r2, r3, #2 805b4e4: 4b95 ldr r3, [pc, #596] ; (805b73c ) 805b4e6: 4413 add r3, r2 805b4e8: 461a mov r2, r3 805b4ea: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805b4ee: 6013 str r3, [r2, #0] fl = DIS_RMS_RD(j - 1); 805b4f0: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805b4f4: 3b01 subs r3, #1 805b4f6: 009a lsls r2, r3, #2 805b4f8: 4b91 ldr r3, [pc, #580] ; (805b740 ) 805b4fa: 4413 add r3, r2 805b4fc: 681b ldr r3, [r3, #0] 805b4fe: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc DIS_RMS_WR(j) = fl; 805b502: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805b506: 009a lsls r2, r3, #2 805b508: 4b8d ldr r3, [pc, #564] ; (805b740 ) 805b50a: 4413 add r3, r2 805b50c: 461a mov r2, r3 805b50e: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805b512: 6013 str r3, [r2, #0] for(j = AVG[pardata.AVG] - 1; j > 0; j--) 805b514: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805b518: 3b01 subs r3, #1 805b51a: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc 805b51e: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805b522: 2b00 cmp r3, #0 805b524: d18a bne.n 805b43c } fl = (float32_t) (AVG[pardata.AVG] * 8u) * 8192.0f; 805b526: 4b87 ldr r3, [pc, #540] ; (805b744 ) 805b528: 7b5b ldrb r3, [r3, #13] 805b52a: b2db uxtb r3, r3 805b52c: 461a mov r2, r3 805b52e: 4b86 ldr r3, [pc, #536] ; (805b748 ) 805b530: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b534: 00db lsls r3, r3, #3 805b536: ee07 3a90 vmov s15, r3 805b53a: eef8 7a67 vcvt.f32.u32 s15, s15 805b53e: ed9f 7a83 vldr s14, [pc, #524] ; 805b74c 805b542: ee67 7a87 vmul.f32 s15, s15, s14 805b546: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc for(i = 0; i < 3; i++) 805b54a: 2300 movs r3, #0 805b54c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b550: f000 bcaf b.w 805beb2 { switch(pardata.IVS[i]) 805b554: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b558: 4a7a ldr r2, [pc, #488] ; (805b744 ) 805b55a: 4413 add r3, r2 805b55c: 789b ldrb r3, [r3, #2] 805b55e: b2db uxtb r3, r3 805b560: 2b04 cmp r3, #4 805b562: f200 84a1 bhi.w 805bea8 805b566: a201 add r2, pc, #4 ; (adr r2, 805b56c ) 805b568: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805b56c: 0805b581 .word 0x0805b581 805b570: 0805bcdd .word 0x0805bcdd 805b574: 0805b581 .word 0x0805b581 805b578: 0805ba0f .word 0x0805ba0f 805b57c: 0805b75d .word 0x0805b75d { case PEAK: case PEAK_TO_PEAK: if(i == ACC) 805b580: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b584: 2b00 cmp r3, #0 805b586: d11a bne.n 805b5be { ACC_PEAK_WR(0) = peakAVS[i]; 805b588: 4a68 ldr r2, [pc, #416] ; (805b72c ) 805b58a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b58e: 4970 ldr r1, [pc, #448] ; (805b750 ) 805b590: 009b lsls r3, r3, #2 805b592: 440b add r3, r1 805b594: 681b ldr r3, [r3, #0] 805b596: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &ACC_PEAK_RD(0), AVG[pardata.AVG],&peakAVS[i], &k); 805b598: 4b6a ldr r3, [pc, #424] ; (805b744 ) 805b59a: 7b5b ldrb r3, [r3, #13] 805b59c: b2db uxtb r3, r3 805b59e: 461a mov r2, r3 805b5a0: 4b69 ldr r3, [pc, #420] ; (805b748 ) 805b5a2: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b5a6: 4619 mov r1, r3 805b5a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b5ac: 009b lsls r3, r3, #2 805b5ae: 4a68 ldr r2, [pc, #416] ; (805b750 ) 805b5b0: 441a add r2, r3 805b5b2: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805b5b6: 485d ldr r0, [pc, #372] ; (805b72c ) 805b5b8: f073 fd2c bl 80cf014 805b5bc: e03c b.n 805b638 } else if(i == VEL) 805b5be: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b5c2: 2b01 cmp r3, #1 805b5c4: d11a bne.n 805b5fc { VEL_PEAK_WR(0) = peakAVS[i]; 805b5c6: 4a5b ldr r2, [pc, #364] ; (805b734 ) 805b5c8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b5cc: 4960 ldr r1, [pc, #384] ; (805b750 ) 805b5ce: 009b lsls r3, r3, #2 805b5d0: 440b add r3, r1 805b5d2: 681b ldr r3, [r3, #0] 805b5d4: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &VEL_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 805b5d6: 4b5b ldr r3, [pc, #364] ; (805b744 ) 805b5d8: 7b5b ldrb r3, [r3, #13] 805b5da: b2db uxtb r3, r3 805b5dc: 461a mov r2, r3 805b5de: 4b5a ldr r3, [pc, #360] ; (805b748 ) 805b5e0: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b5e4: 4619 mov r1, r3 805b5e6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b5ea: 009b lsls r3, r3, #2 805b5ec: 4a58 ldr r2, [pc, #352] ; (805b750 ) 805b5ee: 441a add r2, r3 805b5f0: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805b5f4: 484f ldr r0, [pc, #316] ; (805b734 ) 805b5f6: f073 fd0d bl 80cf014 805b5fa: e01d b.n 805b638 } else if(i == DIS) 805b5fc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b600: 2b02 cmp r3, #2 805b602: d119 bne.n 805b638 { DIS_PEAK_WR(0) = peakAVS[i]; 805b604: 4a4d ldr r2, [pc, #308] ; (805b73c ) 805b606: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b60a: 4951 ldr r1, [pc, #324] ; (805b750 ) 805b60c: 009b lsls r3, r3, #2 805b60e: 440b add r3, r1 805b610: 681b ldr r3, [r3, #0] 805b612: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &DIS_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 805b614: 4b4b ldr r3, [pc, #300] ; (805b744 ) 805b616: 7b5b ldrb r3, [r3, #13] 805b618: b2db uxtb r3, r3 805b61a: 461a mov r2, r3 805b61c: 4b4a ldr r3, [pc, #296] ; (805b748 ) 805b61e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b622: 4619 mov r1, r3 805b624: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b628: 009b lsls r3, r3, #2 805b62a: 4a49 ldr r2, [pc, #292] ; (805b750 ) 805b62c: 441a add r2, r3 805b62e: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805b632: 4842 ldr r0, [pc, #264] ; (805b73c ) 805b634: f073 fcee bl 80cf014 } peakAVS[i] = ABS(peakAVS[i]); 805b638: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b63c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b640: 4943 ldr r1, [pc, #268] ; (805b750 ) 805b642: 0092 lsls r2, r2, #2 805b644: 440a add r2, r1 805b646: edd2 7a00 vldr s15, [r2] 805b64a: eef5 7ac0 vcmpe.f32 s15, #0.0 805b64e: eef1 fa10 vmrs APSR_nzcv, fpscr 805b652: dd07 ble.n 805b664 805b654: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b658: 493d ldr r1, [pc, #244] ; (805b750 ) 805b65a: 0092 lsls r2, r2, #2 805b65c: 440a add r2, r1 805b65e: edd2 7a00 vldr s15, [r2] 805b662: e008 b.n 805b676 805b664: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b668: 4939 ldr r1, [pc, #228] ; (805b750 ) 805b66a: 0092 lsls r2, r2, #2 805b66c: 440a add r2, r1 805b66e: edd2 7a00 vldr s15, [r2] 805b672: eef1 7a67 vneg.f32 s15, s15 805b676: 4a36 ldr r2, [pc, #216] ; (805b750 ) 805b678: 009b lsls r3, r3, #2 805b67a: 4413 add r3, r2 805b67c: edc3 7a00 vstr s15, [r3] skz[i] = peakAVS[i]; 805b680: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b684: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b688: 4931 ldr r1, [pc, #196] ; (805b750 ) 805b68a: 0092 lsls r2, r2, #2 805b68c: 440a add r2, r1 805b68e: 6812 ldr r2, [r2, #0] 805b690: 4930 ldr r1, [pc, #192] ; (805b754 ) 805b692: 009b lsls r3, r3, #2 805b694: 440b add r3, r1 805b696: 601a str r2, [r3, #0] skz[i] = MedMeas(i, skz[i]); 805b698: f8d7 41d0 ldr.w r4, [r7, #464] ; 0x1d0 805b69c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b6a0: b2d9 uxtb r1, r3 805b6a2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b6a6: 4a2b ldr r2, [pc, #172] ; (805b754 ) 805b6a8: 009b lsls r3, r3, #2 805b6aa: 4413 add r3, r2 805b6ac: edd3 7a00 vldr s15, [r3] 805b6b0: eeb0 0a67 vmov.f32 s0, s15 805b6b4: 4608 mov r0, r1 805b6b6: f00b f9d7 bl 8066a68 805b6ba: eef0 7a40 vmov.f32 s15, s0 805b6be: 4a25 ldr r2, [pc, #148] ; (805b754 ) 805b6c0: 00a3 lsls r3, r4, #2 805b6c2: 4413 add r3, r2 805b6c4: edc3 7a00 vstr s15, [r3] if(pardata.IVS[i] != EXCESS) 805b6c8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b6cc: 4a1d ldr r2, [pc, #116] ; (805b744 ) 805b6ce: 4413 add r3, r2 805b6d0: 789b ldrb r3, [r3, #2] 805b6d2: b2db uxtb r3, r3 805b6d4: 2b04 cmp r3, #4 805b6d6: d012 beq.n 805b6fe skz[i] /= pardata.IKK; 805b6d8: 4b1a ldr r3, [pc, #104] ; (805b744 ) 805b6da: ed93 7a04 vldr s14, [r3, #16] 805b6de: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b6e2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b6e6: 491b ldr r1, [pc, #108] ; (805b754 ) 805b6e8: 0092 lsls r2, r2, #2 805b6ea: 440a add r2, r1 805b6ec: edd2 6a00 vldr s13, [r2] 805b6f0: eec6 7a87 vdiv.f32 s15, s13, s14 805b6f4: 4a17 ldr r2, [pc, #92] ; (805b754 ) 805b6f6: 009b lsls r3, r3, #2 805b6f8: 4413 add r3, r2 805b6fa: edc3 7a00 vstr s15, [r3] LinToLog(&skz[i], &skzDB[i]); 805b6fe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b702: 009b lsls r3, r3, #2 805b704: 4a13 ldr r2, [pc, #76] ; (805b754 ) 805b706: 1898 adds r0, r3, r2 805b708: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b70c: 009b lsls r3, r3, #2 805b70e: 4a12 ldr r2, [pc, #72] ; (805b758 ) 805b710: 4413 add r3, r2 805b712: 4619 mov r1, r3 805b714: f00b f918 bl 8066948 peakAVS[i] = 0.0f; 805b718: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b71c: 4a0c ldr r2, [pc, #48] ; (805b750 ) 805b71e: 009b lsls r3, r3, #2 805b720: 4413 add r3, r2 805b722: f04f 0200 mov.w r2, #0 805b726: 601a str r2, [r3, #0] break; 805b728: e3be b.n 805bea8 805b72a: bf00 nop 805b72c: 64050000 .word 0x64050000 805b730: 64050800 .word 0x64050800 805b734: 64051000 .word 0x64051000 805b738: 64051800 .word 0x64051800 805b73c: 64052000 .word 0x64052000 805b740: 64052800 .word 0x64052800 805b744: 20023eb8 .word 0x20023eb8 805b748: 080f54d8 .word 0x080f54d8 805b74c: 46000000 .word 0x46000000 805b750: 20021d4c .word 0x20021d4c 805b754: 20021590 .word 0x20021590 805b758: 2002159c .word 0x2002159c case EXCESS: if(i == ACC) 805b75c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b760: 2b00 cmp r3, #0 805b762: d15b bne.n 805b81c { ACC_PEAK_WR(0) = peakAVS[i]; 805b764: 4ab9 ldr r2, [pc, #740] ; (805ba4c ) 805b766: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b76a: 49b9 ldr r1, [pc, #740] ; (805ba50 ) 805b76c: 009b lsls r3, r3, #2 805b76e: 440b add r3, r1 805b770: 681b ldr r3, [r3, #0] 805b772: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &ACC_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 805b774: 4bb7 ldr r3, [pc, #732] ; (805ba54 ) 805b776: 7b5b ldrb r3, [r3, #13] 805b778: b2db uxtb r3, r3 805b77a: 461a mov r2, r3 805b77c: 4bb6 ldr r3, [pc, #728] ; (805ba58 ) 805b77e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b782: 4619 mov r1, r3 805b784: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805b788: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805b78c: 48af ldr r0, [pc, #700] ; (805ba4c ) 805b78e: f073 fba5 bl 80ceedc arm_max_f32((float32_t *) &ACC_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 805b792: 4bb0 ldr r3, [pc, #704] ; (805ba54 ) 805b794: 7b5b ldrb r3, [r3, #13] 805b796: b2db uxtb r3, r3 805b798: 461a mov r2, r3 805b79a: 4baf ldr r3, [pc, #700] ; (805ba58 ) 805b79c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b7a0: 4618 mov r0, r3 805b7a2: f507 71e4 add.w r1, r7, #456 ; 0x1c8 805b7a6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805b7aa: 1d1a adds r2, r3, #4 805b7ac: 460b mov r3, r1 805b7ae: 4601 mov r1, r0 805b7b0: 48a6 ldr r0, [pc, #664] ; (805ba4c ) 805b7b2: f073 fc2f bl 80cf014 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 805b7b6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805b7ba: eef5 7ac0 vcmpe.f32 s15, #0.0 805b7be: eef1 fa10 vmrs APSR_nzcv, fpscr 805b7c2: dd02 ble.n 805b7ca 805b7c4: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 805b7c8: e003 b.n 805b7d2 805b7ca: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805b7ce: eeb1 7a67 vneg.f32 s14, s15 805b7d2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805b7d6: eef5 7ac0 vcmpe.f32 s15, #0.0 805b7da: eef1 fa10 vmrs APSR_nzcv, fpscr 805b7de: dd02 ble.n 805b7e6 805b7e0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805b7e4: e003 b.n 805b7ee 805b7e6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805b7ea: eef1 7a67 vneg.f32 s15, s15 805b7ee: eeb4 7ae7 vcmpe.f32 s14, s15 805b7f2: eef1 fa10 vmrs APSR_nzcv, fpscr 805b7f6: dd08 ble.n 805b80a 805b7f8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b7fc: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 805b800: 4993 ldr r1, [pc, #588] ; (805ba50 ) 805b802: 009b lsls r3, r3, #2 805b804: 440b add r3, r1 805b806: 601a str r2, [r3, #0] 805b808: e0c7 b.n 805b99a else peakAVS[i] = fn[1]; 805b80a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b80e: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 805b812: 498f ldr r1, [pc, #572] ; (805ba50 ) 805b814: 009b lsls r3, r3, #2 805b816: 440b add r3, r1 805b818: 601a str r2, [r3, #0] 805b81a: e0be b.n 805b99a } else if(i == VEL) 805b81c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b820: 2b01 cmp r3, #1 805b822: d15b bne.n 805b8dc { VEL_PEAK_WR(0) = peakAVS[i]; 805b824: 4a8d ldr r2, [pc, #564] ; (805ba5c ) 805b826: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b82a: 4989 ldr r1, [pc, #548] ; (805ba50 ) 805b82c: 009b lsls r3, r3, #2 805b82e: 440b add r3, r1 805b830: 681b ldr r3, [r3, #0] 805b832: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &VEL_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 805b834: 4b87 ldr r3, [pc, #540] ; (805ba54 ) 805b836: 7b5b ldrb r3, [r3, #13] 805b838: b2db uxtb r3, r3 805b83a: 461a mov r2, r3 805b83c: 4b86 ldr r3, [pc, #536] ; (805ba58 ) 805b83e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b842: 4619 mov r1, r3 805b844: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805b848: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805b84c: 4883 ldr r0, [pc, #524] ; (805ba5c ) 805b84e: f073 fb45 bl 80ceedc arm_max_f32((float32_t *) &VEL_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 805b852: 4b80 ldr r3, [pc, #512] ; (805ba54 ) 805b854: 7b5b ldrb r3, [r3, #13] 805b856: b2db uxtb r3, r3 805b858: 461a mov r2, r3 805b85a: 4b7f ldr r3, [pc, #508] ; (805ba58 ) 805b85c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b860: 4618 mov r0, r3 805b862: f507 71e4 add.w r1, r7, #456 ; 0x1c8 805b866: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805b86a: 1d1a adds r2, r3, #4 805b86c: 460b mov r3, r1 805b86e: 4601 mov r1, r0 805b870: 487a ldr r0, [pc, #488] ; (805ba5c ) 805b872: f073 fbcf bl 80cf014 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 805b876: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805b87a: eef5 7ac0 vcmpe.f32 s15, #0.0 805b87e: eef1 fa10 vmrs APSR_nzcv, fpscr 805b882: dd02 ble.n 805b88a 805b884: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 805b888: e003 b.n 805b892 805b88a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805b88e: eeb1 7a67 vneg.f32 s14, s15 805b892: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805b896: eef5 7ac0 vcmpe.f32 s15, #0.0 805b89a: eef1 fa10 vmrs APSR_nzcv, fpscr 805b89e: dd02 ble.n 805b8a6 805b8a0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805b8a4: e003 b.n 805b8ae 805b8a6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805b8aa: eef1 7a67 vneg.f32 s15, s15 805b8ae: eeb4 7ae7 vcmpe.f32 s14, s15 805b8b2: eef1 fa10 vmrs APSR_nzcv, fpscr 805b8b6: dd08 ble.n 805b8ca 805b8b8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b8bc: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 805b8c0: 4963 ldr r1, [pc, #396] ; (805ba50 ) 805b8c2: 009b lsls r3, r3, #2 805b8c4: 440b add r3, r1 805b8c6: 601a str r2, [r3, #0] 805b8c8: e067 b.n 805b99a else peakAVS[i] = fn[1]; 805b8ca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b8ce: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 805b8d2: 495f ldr r1, [pc, #380] ; (805ba50 ) 805b8d4: 009b lsls r3, r3, #2 805b8d6: 440b add r3, r1 805b8d8: 601a str r2, [r3, #0] 805b8da: e05e b.n 805b99a } else if(i == DIS) 805b8dc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b8e0: 2b02 cmp r3, #2 805b8e2: d15a bne.n 805b99a { DIS_PEAK_WR(0) = peakAVS[i]; 805b8e4: 4a5e ldr r2, [pc, #376] ; (805ba60 ) 805b8e6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b8ea: 4959 ldr r1, [pc, #356] ; (805ba50 ) 805b8ec: 009b lsls r3, r3, #2 805b8ee: 440b add r3, r1 805b8f0: 681b ldr r3, [r3, #0] 805b8f2: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &DIS_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 805b8f4: 4b57 ldr r3, [pc, #348] ; (805ba54 ) 805b8f6: 7b5b ldrb r3, [r3, #13] 805b8f8: b2db uxtb r3, r3 805b8fa: 461a mov r2, r3 805b8fc: 4b56 ldr r3, [pc, #344] ; (805ba58 ) 805b8fe: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b902: 4619 mov r1, r3 805b904: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805b908: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805b90c: 4854 ldr r0, [pc, #336] ; (805ba60 ) 805b90e: f073 fae5 bl 80ceedc arm_max_f32((float32_t *) &DIS_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 805b912: 4b50 ldr r3, [pc, #320] ; (805ba54 ) 805b914: 7b5b ldrb r3, [r3, #13] 805b916: b2db uxtb r3, r3 805b918: 461a mov r2, r3 805b91a: 4b4f ldr r3, [pc, #316] ; (805ba58 ) 805b91c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b920: 4618 mov r0, r3 805b922: f507 71e4 add.w r1, r7, #456 ; 0x1c8 805b926: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805b92a: 1d1a adds r2, r3, #4 805b92c: 460b mov r3, r1 805b92e: 4601 mov r1, r0 805b930: 484b ldr r0, [pc, #300] ; (805ba60 ) 805b932: f073 fb6f bl 80cf014 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 805b936: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805b93a: eef5 7ac0 vcmpe.f32 s15, #0.0 805b93e: eef1 fa10 vmrs APSR_nzcv, fpscr 805b942: dd02 ble.n 805b94a 805b944: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 805b948: e003 b.n 805b952 805b94a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805b94e: eeb1 7a67 vneg.f32 s14, s15 805b952: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805b956: eef5 7ac0 vcmpe.f32 s15, #0.0 805b95a: eef1 fa10 vmrs APSR_nzcv, fpscr 805b95e: dd02 ble.n 805b966 805b960: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805b964: e003 b.n 805b96e 805b966: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805b96a: eef1 7a67 vneg.f32 s15, s15 805b96e: eeb4 7ae7 vcmpe.f32 s14, s15 805b972: eef1 fa10 vmrs APSR_nzcv, fpscr 805b976: dd08 ble.n 805b98a 805b978: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b97c: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 805b980: 4933 ldr r1, [pc, #204] ; (805ba50 ) 805b982: 009b lsls r3, r3, #2 805b984: 440b add r3, r1 805b986: 601a str r2, [r3, #0] 805b988: e007 b.n 805b99a else peakAVS[i] = fn[1]; 805b98a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b98e: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 805b992: 492f ldr r1, [pc, #188] ; (805ba50 ) 805b994: 009b lsls r3, r3, #2 805b996: 440b add r3, r1 805b998: 601a str r2, [r3, #0] } skz[i] = peakAVS[i]; 805b99a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b99e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b9a2: 492b ldr r1, [pc, #172] ; (805ba50 ) 805b9a4: 0092 lsls r2, r2, #2 805b9a6: 440a add r2, r1 805b9a8: 6812 ldr r2, [r2, #0] 805b9aa: 492e ldr r1, [pc, #184] ; (805ba64 ) 805b9ac: 009b lsls r3, r3, #2 805b9ae: 440b add r3, r1 805b9b0: 601a str r2, [r3, #0] skz[i] = MedMeas(i, skz[i]); 805b9b2: f8d7 41d0 ldr.w r4, [r7, #464] ; 0x1d0 805b9b6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b9ba: b2d9 uxtb r1, r3 805b9bc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b9c0: 4a28 ldr r2, [pc, #160] ; (805ba64 ) 805b9c2: 009b lsls r3, r3, #2 805b9c4: 4413 add r3, r2 805b9c6: edd3 7a00 vldr s15, [r3] 805b9ca: eeb0 0a67 vmov.f32 s0, s15 805b9ce: 4608 mov r0, r1 805b9d0: f00b f84a bl 8066a68 805b9d4: eef0 7a40 vmov.f32 s15, s0 805b9d8: 4a22 ldr r2, [pc, #136] ; (805ba64 ) 805b9da: 00a3 lsls r3, r4, #2 805b9dc: 4413 add r3, r2 805b9de: edc3 7a00 vstr s15, [r3] LinToLog(&skz[i], &skzDB[i]); 805b9e2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b9e6: 009b lsls r3, r3, #2 805b9e8: 4a1e ldr r2, [pc, #120] ; (805ba64 ) 805b9ea: 1898 adds r0, r3, r2 805b9ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b9f0: 009b lsls r3, r3, #2 805b9f2: 4a1d ldr r2, [pc, #116] ; (805ba68 ) 805b9f4: 4413 add r3, r2 805b9f6: 4619 mov r1, r3 805b9f8: f00a ffa6 bl 8066948 peakAVS[i] = 0.0f; 805b9fc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba00: 4a13 ldr r2, [pc, #76] ; (805ba50 ) 805ba02: 009b lsls r3, r3, #2 805ba04: 4413 add r3, r2 805ba06: f04f 0200 mov.w r2, #0 805ba0a: 601a str r2, [r3, #0] break; 805ba0c: e24c b.n 805bea8 case PEAK_FACTOR: if(i == ACC) 805ba0e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba12: 2b00 cmp r3, #0 805ba14: d12a bne.n 805ba6c { ACC_PEAK_WR(0) = peakAVS[i]; 805ba16: 4a0d ldr r2, [pc, #52] ; (805ba4c ) 805ba18: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba1c: 490c ldr r1, [pc, #48] ; (805ba50 ) 805ba1e: 009b lsls r3, r3, #2 805ba20: 440b add r3, r1 805ba22: 681b ldr r3, [r3, #0] 805ba24: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &ACC_PEAK_RD(0), AVG[pardata.AVG],&peakAVS[i], &k); 805ba26: 4b0b ldr r3, [pc, #44] ; (805ba54 ) 805ba28: 7b5b ldrb r3, [r3, #13] 805ba2a: b2db uxtb r3, r3 805ba2c: 461a mov r2, r3 805ba2e: 4b0a ldr r3, [pc, #40] ; (805ba58 ) 805ba30: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805ba34: 4619 mov r1, r3 805ba36: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba3a: 009b lsls r3, r3, #2 805ba3c: 4a04 ldr r2, [pc, #16] ; (805ba50 ) 805ba3e: 441a add r2, r3 805ba40: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805ba44: 4801 ldr r0, [pc, #4] ; (805ba4c ) 805ba46: f073 fae5 bl 80cf014 805ba4a: e04c b.n 805bae6 805ba4c: 64050000 .word 0x64050000 805ba50: 20021d4c .word 0x20021d4c 805ba54: 20023eb8 .word 0x20023eb8 805ba58: 080f54d8 .word 0x080f54d8 805ba5c: 64051000 .word 0x64051000 805ba60: 64052000 .word 0x64052000 805ba64: 20021590 .word 0x20021590 805ba68: 2002159c .word 0x2002159c } else if(i == VEL) 805ba6c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba70: 2b01 cmp r3, #1 805ba72: d11a bne.n 805baaa { VEL_PEAK_WR(0) = peakAVS[i]; 805ba74: 4ab7 ldr r2, [pc, #732] ; (805bd54 ) 805ba76: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba7a: 49b7 ldr r1, [pc, #732] ; (805bd58 ) 805ba7c: 009b lsls r3, r3, #2 805ba7e: 440b add r3, r1 805ba80: 681b ldr r3, [r3, #0] 805ba82: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &VEL_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 805ba84: 4bb5 ldr r3, [pc, #724] ; (805bd5c ) 805ba86: 7b5b ldrb r3, [r3, #13] 805ba88: b2db uxtb r3, r3 805ba8a: 461a mov r2, r3 805ba8c: 4bb4 ldr r3, [pc, #720] ; (805bd60 ) 805ba8e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805ba92: 4619 mov r1, r3 805ba94: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba98: 009b lsls r3, r3, #2 805ba9a: 4aaf ldr r2, [pc, #700] ; (805bd58 ) 805ba9c: 441a add r2, r3 805ba9e: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805baa2: 48ac ldr r0, [pc, #688] ; (805bd54 ) 805baa4: f073 fab6 bl 80cf014 805baa8: e01d b.n 805bae6 } else if(i == DIS) 805baaa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805baae: 2b02 cmp r3, #2 805bab0: d119 bne.n 805bae6 { DIS_PEAK_WR(0) = peakAVS[i]; 805bab2: 4aac ldr r2, [pc, #688] ; (805bd64 ) 805bab4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bab8: 49a7 ldr r1, [pc, #668] ; (805bd58 ) 805baba: 009b lsls r3, r3, #2 805babc: 440b add r3, r1 805babe: 681b ldr r3, [r3, #0] 805bac0: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &DIS_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 805bac2: 4ba6 ldr r3, [pc, #664] ; (805bd5c ) 805bac4: 7b5b ldrb r3, [r3, #13] 805bac6: b2db uxtb r3, r3 805bac8: 461a mov r2, r3 805baca: 4ba5 ldr r3, [pc, #660] ; (805bd60 ) 805bacc: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805bad0: 4619 mov r1, r3 805bad2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bad6: 009b lsls r3, r3, #2 805bad8: 4a9f ldr r2, [pc, #636] ; (805bd58 ) 805bada: 441a add r2, r3 805badc: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805bae0: 48a0 ldr r0, [pc, #640] ; (805bd64 ) 805bae2: f073 fa97 bl 80cf014 } peakAVS[i] = ABS(peakAVS[i]); 805bae6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805baea: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805baee: 499a ldr r1, [pc, #616] ; (805bd58 ) 805baf0: 0092 lsls r2, r2, #2 805baf2: 440a add r2, r1 805baf4: edd2 7a00 vldr s15, [r2] 805baf8: eef5 7ac0 vcmpe.f32 s15, #0.0 805bafc: eef1 fa10 vmrs APSR_nzcv, fpscr 805bb00: dd07 ble.n 805bb12 805bb02: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805bb06: 4994 ldr r1, [pc, #592] ; (805bd58 ) 805bb08: 0092 lsls r2, r2, #2 805bb0a: 440a add r2, r1 805bb0c: edd2 7a00 vldr s15, [r2] 805bb10: e008 b.n 805bb24 805bb12: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805bb16: 4990 ldr r1, [pc, #576] ; (805bd58 ) 805bb18: 0092 lsls r2, r2, #2 805bb1a: 440a add r2, r1 805bb1c: edd2 7a00 vldr s15, [r2] 805bb20: eef1 7a67 vneg.f32 s15, s15 805bb24: 4a8c ldr r2, [pc, #560] ; (805bd58 ) 805bb26: 009b lsls r3, r3, #2 805bb28: 4413 add r3, r2 805bb2a: edc3 7a00 vstr s15, [r3] if(i == ACC) 805bb2e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bb32: 2b00 cmp r3, #0 805bb34: d119 bne.n 805bb6a { ACC_RMS_WR(0) = rmsAVS[i]; 805bb36: 4a8c ldr r2, [pc, #560] ; (805bd68 ) 805bb38: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bb3c: 498b ldr r1, [pc, #556] ; (805bd6c ) 805bb3e: 009b lsls r3, r3, #2 805bb40: 440b add r3, r1 805bb42: 681b ldr r3, [r3, #0] 805bb44: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &ACC_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805bb46: 4b85 ldr r3, [pc, #532] ; (805bd5c ) 805bb48: 7b5b ldrb r3, [r3, #13] 805bb4a: b2db uxtb r3, r3 805bb4c: 461a mov r2, r3 805bb4e: 4b84 ldr r3, [pc, #528] ; (805bd60 ) 805bb50: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805bb54: 4619 mov r1, r3 805bb56: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bb5a: 009b lsls r3, r3, #2 805bb5c: 4a83 ldr r2, [pc, #524] ; (805bd6c ) 805bb5e: 4413 add r3, r2 805bb60: 461a mov r2, r3 805bb62: 4881 ldr r0, [pc, #516] ; (805bd68 ) 805bb64: f073 fa20 bl 80cefa8 805bb68: e03a b.n 805bbe0 } else if(i == VEL) 805bb6a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bb6e: 2b01 cmp r3, #1 805bb70: d119 bne.n 805bba6 { VEL_RMS_WR(0) = rmsAVS[i]; 805bb72: 4a7f ldr r2, [pc, #508] ; (805bd70 ) 805bb74: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bb78: 497c ldr r1, [pc, #496] ; (805bd6c ) 805bb7a: 009b lsls r3, r3, #2 805bb7c: 440b add r3, r1 805bb7e: 681b ldr r3, [r3, #0] 805bb80: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &VEL_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805bb82: 4b76 ldr r3, [pc, #472] ; (805bd5c ) 805bb84: 7b5b ldrb r3, [r3, #13] 805bb86: b2db uxtb r3, r3 805bb88: 461a mov r2, r3 805bb8a: 4b75 ldr r3, [pc, #468] ; (805bd60 ) 805bb8c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805bb90: 4619 mov r1, r3 805bb92: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bb96: 009b lsls r3, r3, #2 805bb98: 4a74 ldr r2, [pc, #464] ; (805bd6c ) 805bb9a: 4413 add r3, r2 805bb9c: 461a mov r2, r3 805bb9e: 4874 ldr r0, [pc, #464] ; (805bd70 ) 805bba0: f073 fa02 bl 80cefa8 805bba4: e01c b.n 805bbe0 } else if(i == DIS) 805bba6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bbaa: 2b02 cmp r3, #2 805bbac: d118 bne.n 805bbe0 { DIS_RMS_WR(0) = rmsAVS[i]; 805bbae: 4a71 ldr r2, [pc, #452] ; (805bd74 ) 805bbb0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bbb4: 496d ldr r1, [pc, #436] ; (805bd6c ) 805bbb6: 009b lsls r3, r3, #2 805bbb8: 440b add r3, r1 805bbba: 681b ldr r3, [r3, #0] 805bbbc: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &DIS_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805bbbe: 4b67 ldr r3, [pc, #412] ; (805bd5c ) 805bbc0: 7b5b ldrb r3, [r3, #13] 805bbc2: b2db uxtb r3, r3 805bbc4: 461a mov r2, r3 805bbc6: 4b66 ldr r3, [pc, #408] ; (805bd60 ) 805bbc8: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805bbcc: 4619 mov r1, r3 805bbce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bbd2: 009b lsls r3, r3, #2 805bbd4: 4a65 ldr r2, [pc, #404] ; (805bd6c ) 805bbd6: 4413 add r3, r2 805bbd8: 461a mov r2, r3 805bbda: 4866 ldr r0, [pc, #408] ; (805bd74 ) 805bbdc: f073 f9e4 bl 80cefa8 } rmsAVS[i] *= AVG[pardata.AVG]; 805bbe0: 4b5e ldr r3, [pc, #376] ; (805bd5c ) 805bbe2: 7b5b ldrb r3, [r3, #13] 805bbe4: b2db uxtb r3, r3 805bbe6: 461a mov r2, r3 805bbe8: 4b5d ldr r3, [pc, #372] ; (805bd60 ) 805bbea: f833 0012 ldrh.w r0, [r3, r2, lsl #1] 805bbee: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bbf2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805bbf6: 495d ldr r1, [pc, #372] ; (805bd6c ) 805bbf8: 0092 lsls r2, r2, #2 805bbfa: 440a add r2, r1 805bbfc: ed92 7a00 vldr s14, [r2] 805bc00: ee07 0a90 vmov s15, r0 805bc04: eef8 7ae7 vcvt.f32.s32 s15, s15 805bc08: ee67 7a27 vmul.f32 s15, s14, s15 805bc0c: 4a57 ldr r2, [pc, #348] ; (805bd6c ) 805bc0e: 009b lsls r3, r3, #2 805bc10: 4413 add r3, r2 805bc12: edc3 7a00 vstr s15, [r3] rmsAVS[i] /= fl; 805bc16: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bc1a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805bc1e: 4953 ldr r1, [pc, #332] ; (805bd6c ) 805bc20: 0092 lsls r2, r2, #2 805bc22: 440a add r2, r1 805bc24: edd2 6a00 vldr s13, [r2] 805bc28: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805bc2c: eec6 7a87 vdiv.f32 s15, s13, s14 805bc30: 4a4e ldr r2, [pc, #312] ; (805bd6c ) 805bc32: 009b lsls r3, r3, #2 805bc34: 4413 add r3, r2 805bc36: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rmsAVS[i], &rmsAVS[i]); 805bc3a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bc3e: 4a4b ldr r2, [pc, #300] ; (805bd6c ) 805bc40: 009b lsls r3, r3, #2 805bc42: 4413 add r3, r2 805bc44: edd3 7a00 vldr s15, [r3] 805bc48: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bc4c: 009b lsls r3, r3, #2 805bc4e: 4a47 ldr r2, [pc, #284] ; (805bd6c ) 805bc50: 4413 add r3, r2 805bc52: 4618 mov r0, r3 805bc54: eeb0 0a67 vmov.f32 s0, s15 805bc58: f7fb fbf8 bl 805744c skz[i] = peakAVS[i] / rmsAVS[i]; 805bc5c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bc60: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805bc64: 493c ldr r1, [pc, #240] ; (805bd58 ) 805bc66: 0092 lsls r2, r2, #2 805bc68: 440a add r2, r1 805bc6a: edd2 6a00 vldr s13, [r2] 805bc6e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805bc72: 493e ldr r1, [pc, #248] ; (805bd6c ) 805bc74: 0092 lsls r2, r2, #2 805bc76: 440a add r2, r1 805bc78: ed92 7a00 vldr s14, [r2] 805bc7c: eec6 7a87 vdiv.f32 s15, s13, s14 805bc80: 4a3d ldr r2, [pc, #244] ; (805bd78 ) 805bc82: 009b lsls r3, r3, #2 805bc84: 4413 add r3, r2 805bc86: edc3 7a00 vstr s15, [r3] skz[i] = MedMeas(i, skz[i]); 805bc8a: f8d7 41d0 ldr.w r4, [r7, #464] ; 0x1d0 805bc8e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bc92: b2d9 uxtb r1, r3 805bc94: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bc98: 4a37 ldr r2, [pc, #220] ; (805bd78 ) 805bc9a: 009b lsls r3, r3, #2 805bc9c: 4413 add r3, r2 805bc9e: edd3 7a00 vldr s15, [r3] 805bca2: eeb0 0a67 vmov.f32 s0, s15 805bca6: 4608 mov r0, r1 805bca8: f00a fede bl 8066a68 805bcac: eef0 7a40 vmov.f32 s15, s0 805bcb0: 4a31 ldr r2, [pc, #196] ; (805bd78 ) 805bcb2: 00a3 lsls r3, r4, #2 805bcb4: 4413 add r3, r2 805bcb6: edc3 7a00 vstr s15, [r3] skzDB[i] = 0.0f; 805bcba: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bcbe: 4a2f ldr r2, [pc, #188] ; (805bd7c ) 805bcc0: 009b lsls r3, r3, #2 805bcc2: 4413 add r3, r2 805bcc4: f04f 0200 mov.w r2, #0 805bcc8: 601a str r2, [r3, #0] peakAVS[i] = 0.0f; 805bcca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bcce: 4a22 ldr r2, [pc, #136] ; (805bd58 ) 805bcd0: 009b lsls r3, r3, #2 805bcd2: 4413 add r3, r2 805bcd4: f04f 0200 mov.w r2, #0 805bcd8: 601a str r2, [r3, #0] break; 805bcda: e0e5 b.n 805bea8 case RMS: if(i == ACC) 805bcdc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bce0: 2b00 cmp r3, #0 805bce2: d119 bne.n 805bd18 { ACC_RMS_WR(0) = rmsAVS[i]; 805bce4: 4a20 ldr r2, [pc, #128] ; (805bd68 ) 805bce6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bcea: 4920 ldr r1, [pc, #128] ; (805bd6c ) 805bcec: 009b lsls r3, r3, #2 805bcee: 440b add r3, r1 805bcf0: 681b ldr r3, [r3, #0] 805bcf2: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &ACC_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805bcf4: 4b19 ldr r3, [pc, #100] ; (805bd5c ) 805bcf6: 7b5b ldrb r3, [r3, #13] 805bcf8: b2db uxtb r3, r3 805bcfa: 461a mov r2, r3 805bcfc: 4b18 ldr r3, [pc, #96] ; (805bd60 ) 805bcfe: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805bd02: 4619 mov r1, r3 805bd04: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bd08: 009b lsls r3, r3, #2 805bd0a: 4a18 ldr r2, [pc, #96] ; (805bd6c ) 805bd0c: 4413 add r3, r2 805bd0e: 461a mov r2, r3 805bd10: 4815 ldr r0, [pc, #84] ; (805bd68 ) 805bd12: f073 f949 bl 80cefa8 805bd16: e050 b.n 805bdba } else if(i == VEL) 805bd18: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bd1c: 2b01 cmp r3, #1 805bd1e: d12f bne.n 805bd80 { VEL_RMS_WR(0) = rmsAVS[i]; 805bd20: 4a13 ldr r2, [pc, #76] ; (805bd70 ) 805bd22: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bd26: 4911 ldr r1, [pc, #68] ; (805bd6c ) 805bd28: 009b lsls r3, r3, #2 805bd2a: 440b add r3, r1 805bd2c: 681b ldr r3, [r3, #0] 805bd2e: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &VEL_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805bd30: 4b0a ldr r3, [pc, #40] ; (805bd5c ) 805bd32: 7b5b ldrb r3, [r3, #13] 805bd34: b2db uxtb r3, r3 805bd36: 461a mov r2, r3 805bd38: 4b09 ldr r3, [pc, #36] ; (805bd60 ) 805bd3a: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805bd3e: 4619 mov r1, r3 805bd40: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bd44: 009b lsls r3, r3, #2 805bd46: 4a09 ldr r2, [pc, #36] ; (805bd6c ) 805bd48: 4413 add r3, r2 805bd4a: 461a mov r2, r3 805bd4c: 4808 ldr r0, [pc, #32] ; (805bd70 ) 805bd4e: f073 f92b bl 80cefa8 805bd52: e032 b.n 805bdba 805bd54: 64051000 .word 0x64051000 805bd58: 20021d4c .word 0x20021d4c 805bd5c: 20023eb8 .word 0x20023eb8 805bd60: 080f54d8 .word 0x080f54d8 805bd64: 64052000 .word 0x64052000 805bd68: 64050800 .word 0x64050800 805bd6c: 20021d38 .word 0x20021d38 805bd70: 64051800 .word 0x64051800 805bd74: 64052800 .word 0x64052800 805bd78: 20021590 .word 0x20021590 805bd7c: 2002159c .word 0x2002159c } else if(i == DIS) 805bd80: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bd84: 2b02 cmp r3, #2 805bd86: d118 bne.n 805bdba { DIS_RMS_WR(0) = rmsAVS[i]; 805bd88: 4ac8 ldr r2, [pc, #800] ; (805c0ac ) 805bd8a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bd8e: 49c8 ldr r1, [pc, #800] ; (805c0b0 ) 805bd90: 009b lsls r3, r3, #2 805bd92: 440b add r3, r1 805bd94: 681b ldr r3, [r3, #0] 805bd96: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &DIS_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805bd98: 4bc6 ldr r3, [pc, #792] ; (805c0b4 ) 805bd9a: 7b5b ldrb r3, [r3, #13] 805bd9c: b2db uxtb r3, r3 805bd9e: 461a mov r2, r3 805bda0: 4bc5 ldr r3, [pc, #788] ; (805c0b8 ) 805bda2: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805bda6: 4619 mov r1, r3 805bda8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bdac: 009b lsls r3, r3, #2 805bdae: 4ac0 ldr r2, [pc, #768] ; (805c0b0 ) 805bdb0: 4413 add r3, r2 805bdb2: 461a mov r2, r3 805bdb4: 48bd ldr r0, [pc, #756] ; (805c0ac ) 805bdb6: f073 f8f7 bl 80cefa8 } rmsAVS[i] *= (float32_t) AVG[pardata.AVG]; 805bdba: 4bbe ldr r3, [pc, #760] ; (805c0b4 ) 805bdbc: 7b5b ldrb r3, [r3, #13] 805bdbe: b2db uxtb r3, r3 805bdc0: 461a mov r2, r3 805bdc2: 4bbd ldr r3, [pc, #756] ; (805c0b8 ) 805bdc4: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805bdc8: ee07 3a90 vmov s15, r3 805bdcc: eef8 7a67 vcvt.f32.u32 s15, s15 805bdd0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bdd4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805bdd8: 49b5 ldr r1, [pc, #724] ; (805c0b0 ) 805bdda: 0092 lsls r2, r2, #2 805bddc: 440a add r2, r1 805bdde: ed92 7a00 vldr s14, [r2] 805bde2: ee67 7a27 vmul.f32 s15, s14, s15 805bde6: 4ab2 ldr r2, [pc, #712] ; (805c0b0 ) 805bde8: 009b lsls r3, r3, #2 805bdea: 4413 add r3, r2 805bdec: edc3 7a00 vstr s15, [r3] rmsAVS[i] /= fl; 805bdf0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bdf4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805bdf8: 49ad ldr r1, [pc, #692] ; (805c0b0 ) 805bdfa: 0092 lsls r2, r2, #2 805bdfc: 440a add r2, r1 805bdfe: edd2 6a00 vldr s13, [r2] 805be02: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805be06: eec6 7a87 vdiv.f32 s15, s13, s14 805be0a: 4aa9 ldr r2, [pc, #676] ; (805c0b0 ) 805be0c: 009b lsls r3, r3, #2 805be0e: 4413 add r3, r2 805be10: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rmsAVS[i], &skz[i]); 805be14: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805be18: 4aa5 ldr r2, [pc, #660] ; (805c0b0 ) 805be1a: 009b lsls r3, r3, #2 805be1c: 4413 add r3, r2 805be1e: edd3 7a00 vldr s15, [r3] 805be22: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805be26: 009b lsls r3, r3, #2 805be28: 4aa4 ldr r2, [pc, #656] ; (805c0bc ) 805be2a: 4413 add r3, r2 805be2c: 4618 mov r0, r3 805be2e: eeb0 0a67 vmov.f32 s0, s15 805be32: f7fb fb0b bl 805744c skz[i] = MedMeas(i, skz[i]); 805be36: f8d7 41d0 ldr.w r4, [r7, #464] ; 0x1d0 805be3a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805be3e: b2d9 uxtb r1, r3 805be40: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805be44: 4a9d ldr r2, [pc, #628] ; (805c0bc ) 805be46: 009b lsls r3, r3, #2 805be48: 4413 add r3, r2 805be4a: edd3 7a00 vldr s15, [r3] 805be4e: eeb0 0a67 vmov.f32 s0, s15 805be52: 4608 mov r0, r1 805be54: f00a fe08 bl 8066a68 805be58: eef0 7a40 vmov.f32 s15, s0 805be5c: 4a97 ldr r2, [pc, #604] ; (805c0bc ) 805be5e: 00a3 lsls r3, r4, #2 805be60: 4413 add r3, r2 805be62: edc3 7a00 vstr s15, [r3] skz[i] /= pardata.IKK; 805be66: 4b93 ldr r3, [pc, #588] ; (805c0b4 ) 805be68: ed93 7a04 vldr s14, [r3, #16] 805be6c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805be70: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805be74: 4991 ldr r1, [pc, #580] ; (805c0bc ) 805be76: 0092 lsls r2, r2, #2 805be78: 440a add r2, r1 805be7a: edd2 6a00 vldr s13, [r2] 805be7e: eec6 7a87 vdiv.f32 s15, s13, s14 805be82: 4a8e ldr r2, [pc, #568] ; (805c0bc ) 805be84: 009b lsls r3, r3, #2 805be86: 4413 add r3, r2 805be88: edc3 7a00 vstr s15, [r3] LinToLog(&skz[i], &skzDB[i]); 805be8c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805be90: 009b lsls r3, r3, #2 805be92: 4a8a ldr r2, [pc, #552] ; (805c0bc ) 805be94: 1898 adds r0, r3, r2 805be96: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805be9a: 009b lsls r3, r3, #2 805be9c: 4a88 ldr r2, [pc, #544] ; (805c0c0 ) 805be9e: 4413 add r3, r2 805bea0: 4619 mov r1, r3 805bea2: f00a fd51 bl 8066948 break; 805bea6: bf00 nop for(i = 0; i < 3; i++) 805bea8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805beac: 3301 adds r3, #1 805beae: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805beb2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805beb6: 2b02 cmp r3, #2 805beb8: f67f ab4c bls.w 805b554 } } if(MeanCnt >= (uint32_t) (AVG[pardata.AVG] * 8u)) 805bebc: 4b7d ldr r3, [pc, #500] ; (805c0b4 ) 805bebe: 7b5b ldrb r3, [r3, #13] 805bec0: b2db uxtb r3, r3 805bec2: 461a mov r2, r3 805bec4: 4b7c ldr r3, [pc, #496] ; (805c0b8 ) 805bec6: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805beca: 00da lsls r2, r3, #3 805becc: 4b7d ldr r3, [pc, #500] ; (805c0c4 ) 805bece: 681b ldr r3, [r3, #0] 805bed0: 429a cmp r2, r3 805bed2: d816 bhi.n 805bf02 { MeanCnt = 0; 805bed4: 4b7b ldr r3, [pc, #492] ; (805c0c4 ) 805bed6: 2200 movs r2, #0 805bed8: 601a str r2, [r3, #0] arm_fill_f32(0.0f, rmsAVS, 3); 805beda: 2103 movs r1, #3 805bedc: 4874 ldr r0, [pc, #464] ; (805c0b0 ) 805bede: ed9f 0a7a vldr s0, [pc, #488] ; 805c0c8 805bee2: f072 febb bl 80cec5c arm_fill_f32(0.0f, peakAVS, 3); 805bee6: 2103 movs r1, #3 805bee8: 4878 ldr r0, [pc, #480] ; (805c0cc ) 805beea: ed9f 0a77 vldr s0, [pc, #476] ; 805c0c8 805beee: f072 feb5 bl 80cec5c arm_fill_f32(0.0f, fval, 3); 805bef2: f107 03fc add.w r3, r7, #252 ; 0xfc 805bef6: 2103 movs r1, #3 805bef8: 4618 mov r0, r3 805befa: ed9f 0a73 vldr s0, [pc, #460] ; 805c0c8 805befe: f072 fead bl 80cec5c } /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// if(pardata.IIN == VOLTS) 805bf02: 4b6c ldr r3, [pc, #432] ; (805c0b4 ) 805bf04: 799b ldrb r3, [r3, #6] 805bf06: b2db uxtb r3, r3 805bf08: 2b02 cmp r3, #2 805bf0a: d16e bne.n 805bfea { // ïåðåâîäèì âñå âåëè÷èíû â ì for(k = 0; k <= DIS; k++) 805bf0c: 2300 movs r3, #0 805bf0e: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 805bf12: e066 b.n 805bfe2 { if(k == ACC) 805bf14: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bf18: 2b00 cmp r3, #0 805bf1a: d110 bne.n 805bf3e { LinToLog_mV(&skz[k], &skzDB[k], k); 805bf1c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bf20: 009b lsls r3, r3, #2 805bf22: 4a66 ldr r2, [pc, #408] ; (805c0bc ) 805bf24: 1898 adds r0, r3, r2 805bf26: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bf2a: 009b lsls r3, r3, #2 805bf2c: 4a64 ldr r2, [pc, #400] ; (805c0c0 ) 805bf2e: 4413 add r3, r2 805bf30: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805bf34: b2d2 uxtb r2, r2 805bf36: 4619 mov r1, r3 805bf38: f00a fd36 bl 80669a8 805bf3c: e04c b.n 805bfd8 } else if(k == VEL) 805bf3e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bf42: 2b01 cmp r3, #1 805bf44: d122 bne.n 805bf8c { skz[k] *= 0.001f; 805bf46: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bf4a: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805bf4e: 495b ldr r1, [pc, #364] ; (805c0bc ) 805bf50: 0092 lsls r2, r2, #2 805bf52: 440a add r2, r1 805bf54: edd2 7a00 vldr s15, [r2] 805bf58: ed9f 7a5d vldr s14, [pc, #372] ; 805c0d0 805bf5c: ee67 7a87 vmul.f32 s15, s15, s14 805bf60: 4a56 ldr r2, [pc, #344] ; (805c0bc ) 805bf62: 009b lsls r3, r3, #2 805bf64: 4413 add r3, r2 805bf66: edc3 7a00 vstr s15, [r3] LinToLog_mV(&skz[k], &skzDB[k], k); 805bf6a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bf6e: 009b lsls r3, r3, #2 805bf70: 4a52 ldr r2, [pc, #328] ; (805c0bc ) 805bf72: 1898 adds r0, r3, r2 805bf74: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bf78: 009b lsls r3, r3, #2 805bf7a: 4a51 ldr r2, [pc, #324] ; (805c0c0 ) 805bf7c: 4413 add r3, r2 805bf7e: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805bf82: b2d2 uxtb r2, r2 805bf84: 4619 mov r1, r3 805bf86: f00a fd0f bl 80669a8 805bf8a: e025 b.n 805bfd8 } else if(k == DIS) 805bf8c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bf90: 2b02 cmp r3, #2 805bf92: d121 bne.n 805bfd8 { skz[k] *= 0.000001f; 805bf94: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bf98: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805bf9c: 4947 ldr r1, [pc, #284] ; (805c0bc ) 805bf9e: 0092 lsls r2, r2, #2 805bfa0: 440a add r2, r1 805bfa2: edd2 7a00 vldr s15, [r2] 805bfa6: ed9f 7a4b vldr s14, [pc, #300] ; 805c0d4 805bfaa: ee67 7a87 vmul.f32 s15, s15, s14 805bfae: 4a43 ldr r2, [pc, #268] ; (805c0bc ) 805bfb0: 009b lsls r3, r3, #2 805bfb2: 4413 add r3, r2 805bfb4: edc3 7a00 vstr s15, [r3] LinToLog_mV(&skz[k], &skzDB[k], k); 805bfb8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bfbc: 009b lsls r3, r3, #2 805bfbe: 4a3f ldr r2, [pc, #252] ; (805c0bc ) 805bfc0: 1898 adds r0, r3, r2 805bfc2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bfc6: 009b lsls r3, r3, #2 805bfc8: 4a3d ldr r2, [pc, #244] ; (805c0c0 ) 805bfca: 4413 add r3, r2 805bfcc: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805bfd0: b2d2 uxtb r2, r2 805bfd2: 4619 mov r1, r3 805bfd4: f00a fce8 bl 80669a8 for(k = 0; k <= DIS; k++) 805bfd8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bfdc: 3301 adds r3, #1 805bfde: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 805bfe2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bfe6: 2b02 cmp r3, #2 805bfe8: d994 bls.n 805bf14 /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// } ///////////////////////////////////////////////////////////////////////////////////// } if(pardata.HP < 2.0f) 805bfea: 4b32 ldr r3, [pc, #200] ; (805c0b4 ) 805bfec: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 805bff0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 805bff4: eef4 7ac7 vcmpe.f32 s15, s14 805bff8: eef1 fa10 vmrs APSR_nzcv, fpscr 805bffc: d514 bpl.n 805c028 { skz[VEL] = skzDB[VEL] = -1.0f; 805bffe: 4b30 ldr r3, [pc, #192] ; (805c0c0 ) 805c000: 4a35 ldr r2, [pc, #212] ; (805c0d8 ) 805c002: 605a str r2, [r3, #4] 805c004: 4b2e ldr r3, [pc, #184] ; (805c0c0 ) 805c006: 685b ldr r3, [r3, #4] 805c008: 4a2c ldr r2, [pc, #176] ; (805c0bc ) 805c00a: 6053 str r3, [r2, #4] skz[DIS] = skzDB[DIS] = -1.0f; 805c00c: 4b2c ldr r3, [pc, #176] ; (805c0c0 ) 805c00e: 4a32 ldr r2, [pc, #200] ; (805c0d8 ) 805c010: 609a str r2, [r3, #8] 805c012: 4b2b ldr r3, [pc, #172] ; (805c0c0 ) 805c014: 689b ldr r3, [r3, #8] 805c016: 4a29 ldr r2, [pc, #164] ; (805c0bc ) 805c018: 6093 str r3, [r2, #8] if(pardata.HP < 2.0f) 805c01a: e005 b.n 805c028 } } else { RepeatKm = true; 805c01c: 4b2f ldr r3, [pc, #188] ; (805c0dc ) 805c01e: 2201 movs r2, #1 805c020: 701a strb r2, [r3, #0] timeRelax = 48; 805c022: 4b2f ldr r3, [pc, #188] ; (805c0e0 ) 805c024: 2230 movs r2, #48 ; 0x30 805c026: 601a str r2, [r3, #0] } tick = DWT->CYCCNT - tick; 805c028: 4b2e ldr r3, [pc, #184] ; (805c0e4 ) 805c02a: 685a ldr r2, [r3, #4] 805c02c: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 805c030: 1ad3 subs r3, r2, r3 805c032: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > maxtick) 805c036: 4b2c ldr r3, [pc, #176] ; (805c0e8 ) 805c038: 681b ldr r3, [r3, #0] 805c03a: f8d7 221c ldr.w r2, [r7, #540] ; 0x21c 805c03e: 429a cmp r2, r3 805c040: f249 857f bls.w 8065b42 { maxtick = tick; 805c044: 4a28 ldr r2, [pc, #160] ; (805c0e8 ) 805c046: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 805c04a: 6013 str r3, [r2, #0] if(maxtick > 24384000) 805c04c: 4b26 ldr r3, [pc, #152] ; (805c0e8 ) 805c04e: 681b ldr r3, [r3, #0] 805c050: 4a26 ldr r2, [pc, #152] ; (805c0ec ) 805c052: 4293 cmp r3, r2 805c054: f249 8575 bls.w 8065b42 { tick = 0; 805c058: 2300 movs r3, #0 805c05a: f8c7 321c str.w r3, [r7, #540] ; 0x21c } } } break; 805c05e: f009 bd70 b.w 8065b42 case ROLL: //TODO if(measuring) 805c062: 4b23 ldr r3, [pc, #140] ; (805c0f0 ) 805c064: 781b ldrb r3, [r3, #0] 805c066: b2db uxtb r3, r3 805c068: 2b00 cmp r3, #0 805c06a: f009 856c beq.w 8065b46 { GetData(); 805c06e: f00a f82d bl 80660cc j = 0; 805c072: 2300 movs r3, #0 805c074: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805c078: 4b0e ldr r3, [pc, #56] ; (805c0b4 ) 805c07a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805c07e: f003 0304 and.w r3, r3, #4 805c082: 2b00 cmp r3, #0 805c084: d005 beq.n 805c092 CalculateGain(Ns); 805c086: 4b1b ldr r3, [pc, #108] ; (805c0f4 ) 805c088: 681b ldr r3, [r3, #0] 805c08a: 4618 mov r0, r3 805c08c: f7fb fa00 bl 8057490 805c090: e059 b.n 805c146 else { Stability = (Nr * 4) + 1; 805c092: 4b19 ldr r3, [pc, #100] ; (805c0f8 ) 805c094: 881b ldrh r3, [r3, #0] 805c096: b29b uxth r3, r3 805c098: 009b lsls r3, r3, #2 805c09a: 3301 adds r3, #1 805c09c: 461a mov r2, r3 805c09e: 4b17 ldr r3, [pc, #92] ; (805c0fc ) 805c0a0: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805c0a2: 2300 movs r3, #0 805c0a4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c0a8: e03c b.n 805c124 805c0aa: bf00 nop 805c0ac: 64052800 .word 0x64052800 805c0b0: 20021d38 .word 0x20021d38 805c0b4: 20023eb8 .word 0x20023eb8 805c0b8: 080f54d8 .word 0x080f54d8 805c0bc: 20021590 .word 0x20021590 805c0c0: 2002159c .word 0x2002159c 805c0c4: 20020dd8 .word 0x20020dd8 805c0c8: 00000000 .word 0x00000000 805c0cc: 20021d4c .word 0x20021d4c 805c0d0: 3a83126f .word 0x3a83126f 805c0d4: 358637bd .word 0x358637bd 805c0d8: bf800000 .word 0xbf800000 805c0dc: 20020dcc .word 0x20020dcc 805c0e0: 20020d8c .word 0x20020d8c 805c0e4: e0001000 .word 0xe0001000 805c0e8: 20021680 .word 0x20021680 805c0ec: 01741200 .word 0x01741200 805c0f0: 20020dcf .word 0x20020dcf 805c0f4: 20021d2c .word 0x20021d2c 805c0f8: 20021d70 .word 0x20021d70 805c0fc: 20020dc8 .word 0x20020dc8 { if(In16[i].lg > 0xE00000) 805c100: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c104: 4aa6 ldr r2, [pc, #664] ; (805c3a0 ) 805c106: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805c10a: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805c10e: d904 bls.n 805c11a j++; 805c110: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805c114: 3301 adds r3, #1 805c116: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805c11a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c11e: 3301 adds r3, #1 805c120: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c124: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c128: 4b9e ldr r3, [pc, #632] ; (805c3a4 ) 805c12a: 681b ldr r3, [r3, #0] 805c12c: 429a cmp r2, r3 805c12e: d3e7 bcc.n 805c100 } if(j >= 2) 805c130: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805c134: 2b01 cmp r3, #1 805c136: d903 bls.n 805c140 OVERDRIVE = true; 805c138: 4b9b ldr r3, [pc, #620] ; (805c3a8 ) 805c13a: 2201 movs r2, #1 805c13c: 701a strb r2, [r3, #0] 805c13e: e002 b.n 805c146 else OVERDRIVE = false; 805c140: 4b99 ldr r3, [pc, #612] ; (805c3a8 ) 805c142: 2200 movs r2, #0 805c144: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805c146: 4b99 ldr r3, [pc, #612] ; (805c3ac ) 805c148: 781b ldrb r3, [r3, #0] 805c14a: b2db uxtb r3, r3 805c14c: 2b00 cmp r3, #0 805c14e: d009 beq.n 805c164 { Stability = 0; 805c150: 4b97 ldr r3, [pc, #604] ; (805c3b0 ) 805c152: 2200 movs r2, #0 805c154: 601a str r2, [r3, #0] MeanCnt = 0; 805c156: 4b97 ldr r3, [pc, #604] ; (805c3b4 ) 805c158: 2200 movs r2, #0 805c15a: 601a str r2, [r3, #0] NSamples = 0; 805c15c: 4b96 ldr r3, [pc, #600] ; (805c3b8 ) 805c15e: 2200 movs r2, #0 805c160: 601a str r2, [r3, #0] 805c162: e00d b.n 805c180 } else { if(Stability <= (Nr * 4)) 805c164: 4b95 ldr r3, [pc, #596] ; (805c3bc ) 805c166: 881b ldrh r3, [r3, #0] 805c168: b29b uxth r3, r3 805c16a: 009b lsls r3, r3, #2 805c16c: 461a mov r2, r3 805c16e: 4b90 ldr r3, [pc, #576] ; (805c3b0 ) 805c170: 681b ldr r3, [r3, #0] 805c172: 429a cmp r2, r3 805c174: d304 bcc.n 805c180 Stability++; 805c176: 4b8e ldr r3, [pc, #568] ; (805c3b0 ) 805c178: 681b ldr r3, [r3, #0] 805c17a: 3301 adds r3, #1 805c17c: 4a8c ldr r2, [pc, #560] ; (805c3b0 ) 805c17e: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) //åñëè àâòîóñèëåíèå íîðì 805c180: 4b8a ldr r3, [pc, #552] ; (805c3ac ) 805c182: 781b ldrb r3, [r3, #0] 805c184: b2db uxtb r3, r3 805c186: 2b00 cmp r3, #0 805c188: f041 87e7 bne.w 805e15a 805c18c: 4b8b ldr r3, [pc, #556] ; (805c3bc ) 805c18e: 881b ldrh r3, [r3, #0] 805c190: b29b uxth r3, r3 805c192: 009b lsls r3, r3, #2 805c194: 461a mov r2, r3 805c196: 4b86 ldr r3, [pc, #536] ; (805c3b0 ) 805c198: 681b ldr r3, [r3, #0] 805c19a: 429a cmp r2, r3 805c19c: f081 87dd bcs.w 805e15a { if(NSamples < 20) 805c1a0: 4b85 ldr r3, [pc, #532] ; (805c3b8 ) 805c1a2: 681b ldr r3, [r3, #0] 805c1a4: 2b13 cmp r3, #19 805c1a6: d804 bhi.n 805c1b2 { HAL_Delay(10); 805c1a8: 200a movs r0, #10 805c1aa: f05b fc47 bl 80b7a3c if(NSamples < 20) 805c1ae: f001 bfd9 b.w 805e164 } else { MeanCnt++; 805c1b2: 4b80 ldr r3, [pc, #512] ; (805c3b4 ) 805c1b4: 681b ldr r3, [r3, #0] 805c1b6: 3301 adds r3, #1 805c1b8: 4a7e ldr r2, [pc, #504] ; (805c3b4 ) 805c1ba: 6013 str r3, [r2, #0] //************************************************************************************************************** fNrm = 1.0f / ((float32_t)(Ns >> 1)); 805c1bc: 4b79 ldr r3, [pc, #484] ; (805c3a4 ) 805c1be: 681b ldr r3, [r3, #0] 805c1c0: 085b lsrs r3, r3, #1 805c1c2: ee07 3a90 vmov s15, r3 805c1c6: eeb8 7a67 vcvt.f32.u32 s14, s15 805c1ca: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805c1ce: eec6 7a87 vdiv.f32 s15, s13, s14 805c1d2: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805c1d6: 4b7a ldr r3, [pc, #488] ; (805c3c0 ) 805c1d8: edd3 7a00 vldr s15, [r3] 805c1dc: eeb7 7ae7 vcvt.f64.f32 d7, s15 805c1e0: ed9f 6b6d vldr d6, [pc, #436] ; 805c398 805c1e4: ee27 7b06 vmul.f64 d7, d7, d6 805c1e8: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 805c1ec: 4b75 ldr r3, [pc, #468] ; (805c3c4 ) 805c1ee: edd3 7a04 vldr s15, [r3, #16] 805c1f2: eeb7 6ae7 vcvt.f64.f32 d6, s15 805c1f6: ed97 5b82 vldr d5, [r7, #520] ; 0x208 805c1fa: ee85 7b06 vdiv.f64 d7, d5, d6 805c1fe: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805c202: 2300 movs r3, #0 805c204: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c208: e026 b.n 805c258 { Buff64[i] = (float64_t) In16[i].lg; 805c20a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c20e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c212: 4963 ldr r1, [pc, #396] ; (805c3a0 ) 805c214: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805c218: ee07 2a90 vmov s15, r2 805c21c: eeb8 7b67 vcvt.f64.u32 d7, s15 805c220: 4a69 ldr r2, [pc, #420] ; (805c3c8 ) 805c222: 00db lsls r3, r3, #3 805c224: 4413 add r3, r2 805c226: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805c22a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c22e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c232: 4965 ldr r1, [pc, #404] ; (805c3c8 ) 805c234: 00d2 lsls r2, r2, #3 805c236: 440a add r2, r1 805c238: ed92 6b00 vldr d6, [r2] 805c23c: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805c240: ee26 7b07 vmul.f64 d7, d6, d7 805c244: 4a60 ldr r2, [pc, #384] ; (805c3c8 ) 805c246: 00db lsls r3, r3, #3 805c248: 4413 add r3, r2 805c24a: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805c24e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c252: 3301 adds r3, #1 805c254: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c258: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c25c: 4b51 ldr r3, [pc, #324] ; (805c3a4 ) 805c25e: 681b ldr r3, [r3, #0] 805c260: 429a cmp r2, r3 805c262: d3d2 bcc.n 805c20a } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805c264: 4b4f ldr r3, [pc, #316] ; (805c3a4 ) 805c266: 681b ldr r3, [r3, #0] 805c268: 4a57 ldr r2, [pc, #348] ; (805c3c8 ) 805c26a: 4957 ldr r1, [pc, #348] ; (805c3c8 ) 805c26c: 4857 ldr r0, [pc, #348] ; (805c3cc ) 805c26e: f072 ff45 bl 80cf0fc arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805c272: 4b4c ldr r3, [pc, #304] ; (805c3a4 ) 805c274: 681b ldr r3, [r3, #0] 805c276: 4a54 ldr r2, [pc, #336] ; (805c3c8 ) 805c278: 4953 ldr r1, [pc, #332] ; (805c3c8 ) 805c27a: 4855 ldr r0, [pc, #340] ; (805c3d0 ) 805c27c: f072 ff3e bl 80cf0fc for(i = 0; i < Ns; i++) { 805c280: 2300 movs r3, #0 805c282: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c286: e014 b.n 805c2b2 Out[i] = (float32_t) Buff64[i]; 805c288: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c28c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c290: 494d ldr r1, [pc, #308] ; (805c3c8 ) 805c292: 00d2 lsls r2, r2, #3 805c294: 440a add r2, r1 805c296: ed92 7b00 vldr d7, [r2] 805c29a: eef7 7bc7 vcvt.f32.f64 s15, d7 805c29e: 4a4d ldr r2, [pc, #308] ; (805c3d4 ) 805c2a0: 009b lsls r3, r3, #2 805c2a2: 4413 add r3, r2 805c2a4: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 805c2a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c2ac: 3301 adds r3, #1 805c2ae: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c2b2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c2b6: 4b3b ldr r3, [pc, #236] ; (805c3a4 ) 805c2b8: 681b ldr r3, [r3, #0] 805c2ba: 429a cmp r2, r3 805c2bc: d3e4 bcc.n 805c288 } WindowFunc(HANN, Ns); 805c2be: 4b39 ldr r3, [pc, #228] ; (805c3a4 ) 805c2c0: 681b ldr r3, [r3, #0] 805c2c2: b29b uxth r3, r3 805c2c4: 4619 mov r1, r3 805c2c6: 2001 movs r0, #1 805c2c8: f009 ff90 bl 80661ec initFFT(Out, In, Forward); 805c2cc: 2200 movs r2, #0 805c2ce: 4942 ldr r1, [pc, #264] ; (805c3d8 ) 805c2d0: 4840 ldr r0, [pc, #256] ; (805c3d4 ) 805c2d2: f7fb fc5d bl 8057b90 In[0] = In[1] = 0.0f; 805c2d6: 4b40 ldr r3, [pc, #256] ; (805c3d8 ) 805c2d8: f04f 0200 mov.w r2, #0 805c2dc: 605a str r2, [r3, #4] 805c2de: 4b3e ldr r3, [pc, #248] ; (805c3d8 ) 805c2e0: 685b ldr r3, [r3, #4] 805c2e2: 4a3d ldr r2, [pc, #244] ; (805c3d8 ) 805c2e4: 6013 str r3, [r2, #0] arm_cmplx_mag_f32(In, Out, Ns); 805c2e6: 4b2f ldr r3, [pc, #188] ; (805c3a4 ) 805c2e8: 681b ldr r3, [r3, #0] 805c2ea: 461a mov r2, r3 805c2ec: 4939 ldr r1, [pc, #228] ; (805c3d4 ) 805c2ee: 483a ldr r0, [pc, #232] ; (805c3d8 ) 805c2f0: f073 f88c bl 80cf40c arm_scale_f32(Out, fNrm, In, (Ns >> 1)); 805c2f4: 4b2b ldr r3, [pc, #172] ; (805c3a4 ) 805c2f6: 681b ldr r3, [r3, #0] 805c2f8: 085b lsrs r3, r3, #1 805c2fa: 461a mov r2, r3 805c2fc: 4936 ldr r1, [pc, #216] ; (805c3d8 ) 805c2fe: ed97 0a85 vldr s0, [r7, #532] ; 0x214 805c302: 4834 ldr r0, [pc, #208] ; (805c3d4 ) 805c304: f073 f9b0 bl 80cf668 //************************************************************************************************************** if(AVG[pardata.AVG] > 1) 805c308: 4b2e ldr r3, [pc, #184] ; (805c3c4 ) 805c30a: 7b5b ldrb r3, [r3, #13] 805c30c: b2db uxtb r3, r3 805c30e: 461a mov r2, r3 805c310: 4b32 ldr r3, [pc, #200] ; (805c3dc ) 805c312: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805c316: 2b01 cmp r3, #1 805c318: d92a bls.n 805c370 { if(MeanCnt == 1) 805c31a: 4b26 ldr r3, [pc, #152] ; (805c3b4 ) 805c31c: 681b ldr r3, [r3, #0] 805c31e: 2b01 cmp r3, #1 805c320: d108 bne.n 805c334 FastCopy16(IN_Reg, MEAN_Reg, _2Ns); 805c322: 4b20 ldr r3, [pc, #128] ; (805c3a4 ) 805c324: 681b ldr r3, [r3, #0] 805c326: 005b lsls r3, r3, #1 805c328: 461a mov r2, r3 805c32a: 2103 movs r1, #3 805c32c: 2001 movs r0, #1 805c32e: f009 fd57 bl 8065de0 805c332: e01d b.n 805c370 else { scale = 1.0f / ((float32_t) MeanCnt); 805c334: 4b1f ldr r3, [pc, #124] ; (805c3b4 ) 805c336: 681b ldr r3, [r3, #0] 805c338: ee07 3a90 vmov s15, r3 805c33c: eeb8 7a67 vcvt.f32.u32 s14, s15 805c340: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805c344: eec6 7a87 vdiv.f32 s15, s13, s14 805c348: edc7 7a86 vstr s15, [r7, #536] ; 0x218 ARM_ADD_F32(IN_Reg, MEAN_Reg, MEAN_Reg, _2Ns); 805c34c: 4b15 ldr r3, [pc, #84] ; (805c3a4 ) 805c34e: 681b ldr r3, [r3, #0] 805c350: 005b lsls r3, r3, #1 805c352: 2203 movs r2, #3 805c354: 2103 movs r1, #3 805c356: 2001 movs r0, #1 805c358: f009 fdce bl 8065ef8 ARM_SCALE_F32(MEAN_Reg, scale, IN_Reg, _2Ns); 805c35c: 4b11 ldr r3, [pc, #68] ; (805c3a4 ) 805c35e: 681b ldr r3, [r3, #0] 805c360: 005b lsls r3, r3, #1 805c362: 461a mov r2, r3 805c364: 2101 movs r1, #1 805c366: ed97 0a86 vldr s0, [r7, #536] ; 0x218 805c36a: 2003 movs r0, #3 805c36c: f009 fe4a bl 8066004 } } if(MeanCnt == AVG[pardata.AVG]) 805c370: 4b14 ldr r3, [pc, #80] ; (805c3c4 ) 805c372: 7b5b ldrb r3, [r3, #13] 805c374: b2db uxtb r3, r3 805c376: 461a mov r2, r3 805c378: 4b18 ldr r3, [pc, #96] ; (805c3dc ) 805c37a: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805c37e: 461a mov r2, r3 805c380: 4b0c ldr r3, [pc, #48] ; (805c3b4 ) 805c382: 681b ldr r3, [r3, #0] 805c384: 429a cmp r2, r3 805c386: f041 86ed bne.w 805e164 { for(i = 0; i < (Ns >> 1); i++) 805c38a: 2300 movs r3, #0 805c38c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c390: e05a b.n 805c448 805c392: bf00 nop 805c394: f3af 8000 nop.w 805c398: 18000018 .word 0x18000018 805c39c: 3e980000 .word 0x3e980000 805c3a0: 20058080 .word 0x20058080 805c3a4: 20021d2c .word 0x20021d2c 805c3a8: 20021581 .word 0x20021581 805c3ac: 20020d9e .word 0x20020d9e 805c3b0: 20020dc8 .word 0x20020dc8 805c3b4: 20020dd8 .word 0x20020dd8 805c3b8: 20020da8 .word 0x20020da8 805c3bc: 20021d70 .word 0x20021d70 805c3c0: 20020080 .word 0x20020080 805c3c4: 20023eb8 .word 0x20023eb8 805c3c8: 20037b40 .word 0x20037b40 805c3cc: 200265c4 .word 0x200265c4 805c3d0: 20025f60 .word 0x20025f60 805c3d4: 20008000 .word 0x20008000 805c3d8: 20027a20 .word 0x20027a20 805c3dc: 080f54d8 .word 0x080f54d8 { In[i] *= 0.70710678f; 805c3e0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c3e4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c3e8: 49b5 ldr r1, [pc, #724] ; (805c6c0 ) 805c3ea: 0092 lsls r2, r2, #2 805c3ec: 440a add r2, r1 805c3ee: edd2 7a00 vldr s15, [r2] 805c3f2: ed9f 7ab4 vldr s14, [pc, #720] ; 805c6c4 805c3f6: ee67 7a87 vmul.f32 s15, s15, s14 805c3fa: 4ab1 ldr r2, [pc, #708] ; (805c6c0 ) 805c3fc: 009b lsls r3, r3, #2 805c3fe: 4413 add r3, r2 805c400: edc3 7a00 vstr s15, [r3] In[i] *= 2.0f; 805c404: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c408: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c40c: 49ac ldr r1, [pc, #688] ; (805c6c0 ) 805c40e: 0092 lsls r2, r2, #2 805c410: 440a add r2, r1 805c412: edd2 7a00 vldr s15, [r2] 805c416: ee77 7aa7 vadd.f32 s15, s15, s15 805c41a: 4aa9 ldr r2, [pc, #676] ; (805c6c0 ) 805c41c: 009b lsls r3, r3, #2 805c41e: 4413 add r3, r2 805c420: edc3 7a00 vstr s15, [r3] LinToLog(&In[i], &In[i]); 805c424: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c428: 009b lsls r3, r3, #2 805c42a: 4aa5 ldr r2, [pc, #660] ; (805c6c0 ) 805c42c: 1898 adds r0, r3, r2 805c42e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c432: 009b lsls r3, r3, #2 805c434: 4aa2 ldr r2, [pc, #648] ; (805c6c0 ) 805c436: 4413 add r3, r2 805c438: 4619 mov r1, r3 805c43a: f00a fa85 bl 8066948 for(i = 0; i < (Ns >> 1); i++) 805c43e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c442: 3301 adds r3, #1 805c444: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c448: 4b9f ldr r3, [pc, #636] ; (805c6c8 ) 805c44a: 681b ldr r3, [r3, #0] 805c44c: 085a lsrs r2, r3, #1 805c44e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c452: 429a cmp r2, r3 805c454: d8c4 bhi.n 805c3e0 } FastCopy16(IN_Reg, SCR_Reg, Ns); 805c456: 4b9c ldr r3, [pc, #624] ; (805c6c8 ) 805c458: 681b ldr r3, [r3, #0] 805c45a: 461a mov r2, r3 805c45c: 2104 movs r1, #4 805c45e: 2001 movs r0, #1 805c460: f009 fcbe bl 8065de0 READY_TO_SEE = true; 805c464: 4b99 ldr r3, [pc, #612] ; (805c6cc ) 805c466: 2201 movs r2, #1 805c468: 701a strb r2, [r3, #0] //uint32_t smooth = 38; CALC_MEAN(38); 805c46a: 2026 movs r0, #38 ; 0x26 805c46c: f00c fa42 bl 80688f4 /////////////////////////////////////////////////////////////////////////////////////// ds = (pardata.D_OUTER + pardata.D_INNER) / 2.0f; 805c470: 4b97 ldr r3, [pc, #604] ; (805c6d0 ) 805c472: ed93 7a31 vldr s14, [r3, #196] ; 0xc4 805c476: 4b96 ldr r3, [pc, #600] ; (805c6d0 ) 805c478: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 805c47c: ee37 7a27 vadd.f32 s14, s14, s15 805c480: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 805c484: eec7 7a26 vdiv.f32 s15, s14, s13 805c488: edc7 7a81 vstr s15, [r7, #516] ; 0x204 fs = pardata.D_ANGLE; 805c48c: 4b90 ldr r3, [pc, #576] ; (805c6d0 ) 805c48e: f8d3 30cc ldr.w r3, [r3, #204] ; 0xcc 805c492: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 fs *= 0.01745329251994329576923690768489f; // ïåðåâîä â ðàäèàíû 805c496: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805c49a: ed9f 7a8e vldr s14, [pc, #568] ; 805c6d4 805c49e: ee67 7a87 vmul.f32 s15, s15, s14 805c4a2: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 Fvr = pardata.D_RATE / 60.0f; 805c4a6: 4b8a ldr r3, [pc, #552] ; (805c6d0 ) 805c4a8: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 805c4ac: ee07 3a90 vmov s15, r3 805c4b0: eeb8 7a67 vcvt.f32.u32 s14, s15 805c4b4: eddf 6a88 vldr s13, [pc, #544] ; 805c6d8 805c4b8: eec7 7a26 vdiv.f32 s15, s14, s13 805c4bc: 4b87 ldr r3, [pc, #540] ; (805c6dc ) 805c4be: edc3 7a00 vstr s15, [r3] Fc = 0.5f * Fvr * (1 - ((pardata.D_ROLL / ds) * arm_cos_f32(fs))); 805c4c2: 4b86 ldr r3, [pc, #536] ; (805c6dc ) 805c4c4: edd3 7a00 vldr s15, [r3] 805c4c8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805c4cc: ee27 8a87 vmul.f32 s16, s15, s14 805c4d0: 4b7f ldr r3, [pc, #508] ; (805c6d0 ) 805c4d2: ed93 7a30 vldr s14, [r3, #192] ; 0xc0 805c4d6: edd7 7a81 vldr s15, [r7, #516] ; 0x204 805c4da: eec7 8a27 vdiv.f32 s17, s14, s15 805c4de: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805c4e2: eeb0 0a67 vmov.f32 s0, s15 805c4e6: f05a fc3f bl 80b6d68 805c4ea: eef0 7a40 vmov.f32 s15, s0 805c4ee: ee68 7aa7 vmul.f32 s15, s17, s15 805c4f2: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 805c4f6: ee77 7a67 vsub.f32 s15, s14, s15 805c4fa: ee68 7a27 vmul.f32 s15, s16, s15 805c4fe: 4b78 ldr r3, [pc, #480] ; (805c6e0 ) 805c500: edc3 7a00 vstr s15, [r3] Fn = Fc * (float32_t) pardata.ROLL_COUNT; 805c504: 4b72 ldr r3, [pc, #456] ; (805c6d0 ) 805c506: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 805c50a: ee07 3a90 vmov s15, r3 805c50e: eeb8 7a67 vcvt.f32.u32 s14, s15 805c512: 4b73 ldr r3, [pc, #460] ; (805c6e0 ) 805c514: edd3 7a00 vldr s15, [r3] 805c518: ee67 7a27 vmul.f32 s15, s14, s15 805c51c: 4b71 ldr r3, [pc, #452] ; (805c6e4 ) 805c51e: edc3 7a00 vstr s15, [r3] Fv = (Fvr - Fc) * (float32_t) pardata.ROLL_COUNT; 805c522: 4b6e ldr r3, [pc, #440] ; (805c6dc ) 805c524: ed93 7a00 vldr s14, [r3] 805c528: 4b6d ldr r3, [pc, #436] ; (805c6e0 ) 805c52a: edd3 7a00 vldr s15, [r3] 805c52e: ee37 7a67 vsub.f32 s14, s14, s15 805c532: 4b67 ldr r3, [pc, #412] ; (805c6d0 ) 805c534: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 805c538: ee07 3a90 vmov s15, r3 805c53c: eef8 7a67 vcvt.f32.u32 s15, s15 805c540: ee67 7a27 vmul.f32 s15, s14, s15 805c544: 4b68 ldr r3, [pc, #416] ; (805c6e8 ) 805c546: 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)))); 805c54a: 4b64 ldr r3, [pc, #400] ; (805c6dc ) 805c54c: edd3 7a00 vldr s15, [r3] 805c550: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805c554: ee27 7a87 vmul.f32 s14, s15, s14 805c558: 4b5d ldr r3, [pc, #372] ; (805c6d0 ) 805c55a: edd3 6a30 vldr s13, [r3, #192] ; 0xc0 805c55e: ed97 6a81 vldr s12, [r7, #516] ; 0x204 805c562: eec6 7a26 vdiv.f32 s15, s12, s13 805c566: ee27 8a27 vmul.f32 s16, s14, s15 805c56a: 4b59 ldr r3, [pc, #356] ; (805c6d0 ) 805c56c: ed93 7a30 vldr s14, [r3, #192] ; 0xc0 805c570: 4b57 ldr r3, [pc, #348] ; (805c6d0 ) 805c572: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 805c576: ee27 7a27 vmul.f32 s14, s14, s15 805c57a: edd7 6a81 vldr s13, [r7, #516] ; 0x204 805c57e: edd7 7a81 vldr s15, [r7, #516] ; 0x204 805c582: ee66 7aa7 vmul.f32 s15, s13, s15 805c586: eec7 8a27 vdiv.f32 s17, s14, s15 805c58a: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805c58e: eeb0 0a67 vmov.f32 s0, s15 805c592: f05a fbe9 bl 80b6d68 805c596: eeb0 9a40 vmov.f32 s18, s0 805c59a: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805c59e: eeb0 0a67 vmov.f32 s0, s15 805c5a2: f05a fbe1 bl 80b6d68 805c5a6: eef0 7a40 vmov.f32 s15, s0 805c5aa: ee69 7a27 vmul.f32 s15, s18, s15 805c5ae: ee68 7aa7 vmul.f32 s15, s17, s15 805c5b2: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 805c5b6: ee77 7a67 vsub.f32 s15, s14, s15 805c5ba: ee68 7a27 vmul.f32 s15, s16, s15 805c5be: 4b4b ldr r3, [pc, #300] ; (805c6ec ) 805c5c0: edc3 7a00 vstr s15, [r3] /////////////////////////////////////////////////////////////////////////////////////// memset((void *) Freq, false, sizeof(Freq)); 805c5c4: f44f 5280 mov.w r2, #4096 ; 0x1000 805c5c8: 2100 movs r1, #0 805c5ca: 4849 ldr r0, [pc, #292] ; (805c6f0 ) 805c5cc: f075 fcea bl 80d1fa4 for(i = 0; i < NUM_DEFECTS; i++) 805c5d0: 2300 movs r3, #0 805c5d2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c5d6: e009 b.n 805c5ec DEFECTS[i] = false; 805c5d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c5dc: 4a45 ldr r2, [pc, #276] ; (805c6f4 ) 805c5de: 2100 movs r1, #0 805c5e0: 54d1 strb r1, [r2, r3] for(i = 0; i < NUM_DEFECTS; i++) 805c5e2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c5e6: 3301 adds r3, #1 805c5e8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c5ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c5f0: 2b0b cmp r3, #11 805c5f2: d9f1 bls.n 805c5d8 for(i = 1; i < 4096; i++) 805c5f4: 2301 movs r3, #1 805c5f6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c5fa: e033 b.n 805c664 { //if(Freq[i] == false) //{ //if((i == 1) || (i == 4095)) //{ df = (ScrA_f32(i) - CmplxA_f32(i)); 805c5fc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c600: 009a lsls r2, r3, #2 805c602: 4b3d ldr r3, [pc, #244] ; (805c6f8 ) 805c604: 4413 add r3, r2 805c606: ed93 7a00 vldr s14, [r3] 805c60a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c60e: 009a lsls r2, r3, #2 805c610: 4b3a ldr r3, [pc, #232] ; (805c6fc ) 805c612: 4413 add r3, r2 805c614: edd3 7a00 vldr s15, [r3] 805c618: ee77 7a67 vsub.f32 s15, s14, s15 805c61c: edc7 7a80 vstr s15, [r7, #512] ; 0x200 if(df > 0.0f) 805c620: edd7 7a80 vldr s15, [r7, #512] ; 0x200 805c624: eef5 7ac0 vcmpe.f32 s15, #0.0 805c628: eef1 fa10 vmrs APSR_nzcv, fpscr 805c62c: dd15 ble.n 805c65a { df += 0.5f; 805c62e: edd7 7a80 vldr s15, [r7, #512] ; 0x200 805c632: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805c636: ee77 7a87 vadd.f32 s15, s15, s14 805c63a: edc7 7a80 vstr s15, [r7, #512] ; 0x200 if((df >= ROLL_LEVEL)) { 805c63e: edd7 7a80 vldr s15, [r7, #512] ; 0x200 805c642: eeb1 7a08 vmov.f32 s14, #24 ; 0x40c00000 6.0 805c646: eef4 7ac7 vcmpe.f32 s15, s14 805c64a: eef1 fa10 vmrs APSR_nzcv, fpscr 805c64e: db04 blt.n 805c65a Freq[i] = true; 805c650: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c654: 4a26 ldr r2, [pc, #152] ; (805c6f0 ) 805c656: 2101 movs r1, #1 805c658: 54d1 strb r1, [r2, r3] for(i = 1; i < 4096; i++) 805c65a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c65e: 3301 adds r3, #1 805c660: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c664: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c668: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 805c66c: d3c6 bcc.n 805c5fc uint32_t jj[3]; ///////////////////////////////////////////////////////////////////// //////////////////// Ãèåíèå âàëà //////////////////////////////////// memset((void *) limit, false, sizeof(limit)); 805c66e: f507 7394 add.w r3, r7, #296 ; 0x128 805c672: 220f movs r2, #15 805c674: 2100 movs r1, #0 805c676: 4618 mov r0, r3 805c678: f075 fc94 bl 80d1fa4 memset((void *) limit_1, false, sizeof(limit_1)); 805c67c: f507 738c add.w r3, r7, #280 ; 0x118 805c680: 220f movs r2, #15 805c682: 2100 movs r1, #0 805c684: 4618 mov r0, r3 805c686: f075 fc8d bl 80d1fa4 arm_fill_f32(0.0f, frq, 15); 805c68a: f507 73ba add.w r3, r7, #372 ; 0x174 805c68e: 210f movs r1, #15 805c690: 4618 mov r0, r3 805c692: ed9f 0a1b vldr s0, [pc, #108] ; 805c700 805c696: f072 fae1 bl 80cec5c arm_fill_f32(0.0f, frq_1, 15); 805c69a: f507 739c add.w r3, r7, #312 ; 0x138 805c69e: 210f movs r1, #15 805c6a0: 4618 mov r0, r3 805c6a2: ed9f 0a17 vldr s0, [pc, #92] ; 805c700 805c6a6: f072 fad9 bl 80cec5c k = 0; 805c6aa: 2300 movs r3, #0 805c6ac: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805c6b0: 2300 movs r3, #0 805c6b2: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 7; i++) 805c6b6: 2300 movs r3, #0 805c6b8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c6bc: e0a2 b.n 805c804 805c6be: bf00 nop 805c6c0: 20027a20 .word 0x20027a20 805c6c4: 3f3504f3 .word 0x3f3504f3 805c6c8: 20021d2c .word 0x20021d2c 805c6cc: 20020dae .word 0x20020dae 805c6d0: 20023eb8 .word 0x20023eb8 805c6d4: 3c8efa35 .word 0x3c8efa35 805c6d8: 42700000 .word 0x42700000 805c6dc: 20026d60 .word 0x20026d60 805c6e0: 20068380 .word 0x20068380 805c6e4: 20026808 .word 0x20026808 805c6e8: 20026224 .word 0x20026224 805c6ec: 20037aa0 .word 0x20037aa0 805c6f0: 20018000 .word 0x20018000 805c6f4: 20026f70 .word 0x20026f70 805c6f8: 64080000 .word 0x64080000 805c6fc: 64090000 .word 0x64090000 805c700: 00000000 .word 0x00000000 { frq[i] = Fvr * (float32_t)(i + 1); 805c704: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c708: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c70c: 3201 adds r2, #1 805c70e: ee07 2a90 vmov s15, r2 805c712: eeb8 7a67 vcvt.f32.u32 s14, s15 805c716: 4ab3 ldr r2, [pc, #716] ; (805c9e4 ) 805c718: edd2 7a00 vldr s15, [r2] 805c71c: ee67 7a27 vmul.f32 s15, s14, s15 805c720: 009b lsls r3, r3, #2 805c722: f507 720a add.w r2, r7, #552 ; 0x228 805c726: 4413 add r3, r2 805c728: 3bb4 subs r3, #180 ; 0xb4 805c72a: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805c72e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c732: 009b lsls r3, r3, #2 805c734: f507 720a add.w r2, r7, #552 ; 0x228 805c738: 4413 add r3, r2 805c73a: 3bb4 subs r3, #180 ; 0xb4 805c73c: ed93 7a00 vldr s14, [r3] 805c740: eddf 6aa9 vldr s13, [pc, #676] ; 805c9e8 805c744: eec7 7a26 vdiv.f32 s15, s14, s13 805c748: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805c74c: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c750: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805c754: ee77 7a87 vadd.f32 s15, s15, s14 805c758: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805c75c: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c760: eefc 7ae7 vcvt.u32.f32 s15, s15 805c764: ee17 2a90 vmov r2, s15 805c768: f107 03bc add.w r3, r7, #188 ; 0xbc 805c76c: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805c76e: f107 03bc add.w r3, r7, #188 ; 0xbc 805c772: 685b ldr r3, [r3, #4] 805c774: 1e5a subs r2, r3, #1 805c776: f107 03bc add.w r3, r7, #188 ; 0xbc 805c77a: 601a str r2, [r3, #0] 805c77c: f107 03bc add.w r3, r7, #188 ; 0xbc 805c780: 685b ldr r3, [r3, #4] 805c782: 2b01 cmp r3, #1 805c784: d805 bhi.n 805c792 805c786: f107 03bc add.w r3, r7, #188 ; 0xbc 805c78a: 685a ldr r2, [r3, #4] 805c78c: f107 03bc add.w r3, r7, #188 ; 0xbc 805c790: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805c792: f107 03bc add.w r3, r7, #188 ; 0xbc 805c796: 685b ldr r3, [r3, #4] 805c798: 1c5a adds r2, r3, #1 805c79a: f107 03bc add.w r3, r7, #188 ; 0xbc 805c79e: 609a str r2, [r3, #8] 805c7a0: f107 03bc add.w r3, r7, #188 ; 0xbc 805c7a4: 685b ldr r3, [r3, #4] 805c7a6: f640 72fe movw r2, #4094 ; 0xffe 805c7aa: 4293 cmp r3, r2 805c7ac: d905 bls.n 805c7ba 805c7ae: f107 03bc add.w r3, r7, #188 ; 0xbc 805c7b2: 685a ldr r2, [r3, #4] 805c7b4: f107 03bc add.w r3, r7, #188 ; 0xbc 805c7b8: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805c7ba: f107 03bc add.w r3, r7, #188 ; 0xbc 805c7be: 685b ldr r3, [r3, #4] 805c7c0: 4a8a ldr r2, [pc, #552] ; (805c9ec ) 805c7c2: 5cd3 ldrb r3, [r2, r3] 805c7c4: 2b00 cmp r3, #0 805c7c6: d10d bne.n 805c7e4 805c7c8: f107 03bc add.w r3, r7, #188 ; 0xbc 805c7cc: 681b ldr r3, [r3, #0] 805c7ce: 4a87 ldr r2, [pc, #540] ; (805c9ec ) 805c7d0: 5cd3 ldrb r3, [r2, r3] 805c7d2: 2b00 cmp r3, #0 805c7d4: d106 bne.n 805c7e4 805c7d6: f107 03bc add.w r3, r7, #188 ; 0xbc 805c7da: 689b ldr r3, [r3, #8] 805c7dc: 4a83 ldr r2, [pc, #524] ; (805c9ec ) 805c7de: 5cd3 ldrb r3, [r2, r3] 805c7e0: 2b00 cmp r3, #0 805c7e2: d00a beq.n 805c7fa { limit[i] = true; 805c7e4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c7e8: f507 7294 add.w r2, r7, #296 ; 0x128 805c7ec: 2101 movs r1, #1 805c7ee: 54d1 strb r1, [r2, r3] k++; 805c7f0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c7f4: 3301 adds r3, #1 805c7f6: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 7; i++) 805c7fa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c7fe: 3301 adds r3, #1 805c800: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c804: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c808: 2b06 cmp r3, #6 805c80a: f67f af7b bls.w 805c704 } } if((k >= 2) && (limit[0])) 805c80e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c812: 2b01 cmp r3, #1 805c814: d916 bls.n 805c844 805c816: f507 7394 add.w r3, r7, #296 ; 0x128 805c81a: 781b ldrb r3, [r3, #0] 805c81c: 2b00 cmp r3, #0 805c81e: d011 beq.n 805c844 { if((limit[1]) || (limit[2]) || (limit[3])) 805c820: f507 7394 add.w r3, r7, #296 ; 0x128 805c824: 785b ldrb r3, [r3, #1] 805c826: 2b00 cmp r3, #0 805c828: d109 bne.n 805c83e 805c82a: f507 7394 add.w r3, r7, #296 ; 0x128 805c82e: 789b ldrb r3, [r3, #2] 805c830: 2b00 cmp r3, #0 805c832: d104 bne.n 805c83e 805c834: f507 7394 add.w r3, r7, #296 ; 0x128 805c838: 78db ldrb r3, [r3, #3] 805c83a: 2b00 cmp r3, #0 805c83c: d002 beq.n 805c844 { DEFECTS[BIENIE_VALA] = true; 805c83e: 4b6c ldr r3, [pc, #432] ; (805c9f0 ) 805c840: 2201 movs r2, #1 805c842: 701a strb r2, [r3, #0] } } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Ãåîäíîðîäíûé ðàäèàëüíûé íàòÿã (ïåðåêîñ âíóòðåííåãî êîëüöà) //////////////////////////////////// memset((void *) limit, false, sizeof(limit)); 805c844: f507 7394 add.w r3, r7, #296 ; 0x128 805c848: 220f movs r2, #15 805c84a: 2100 movs r1, #0 805c84c: 4618 mov r0, r3 805c84e: f075 fba9 bl 80d1fa4 memset((void *) limit_1, false, sizeof(limit_1)); 805c852: f507 738c add.w r3, r7, #280 ; 0x118 805c856: 220f movs r2, #15 805c858: 2100 movs r1, #0 805c85a: 4618 mov r0, r3 805c85c: f075 fba2 bl 80d1fa4 arm_fill_f32(0.0f, frq, 15); 805c860: f507 73ba add.w r3, r7, #372 ; 0x174 805c864: 210f movs r1, #15 805c866: 4618 mov r0, r3 805c868: ed9f 0a62 vldr s0, [pc, #392] ; 805c9f4 805c86c: f072 f9f6 bl 80cec5c arm_fill_f32(0.0f, frq_1, 15); 805c870: f507 739c add.w r3, r7, #312 ; 0x138 805c874: 210f movs r1, #15 805c876: 4618 mov r0, r3 805c878: ed9f 0a5e vldr s0, [pc, #376] ; 805c9f4 805c87c: f072 f9ee bl 80cec5c k = 0; 805c880: 2300 movs r3, #0 805c882: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 11; i++) 805c886: 2300 movs r3, #0 805c888: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c88c: e07f b.n 805c98e { frq[i] = Fvr * (float32_t)(i + 1); 805c88e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c892: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c896: 3201 adds r2, #1 805c898: ee07 2a90 vmov s15, r2 805c89c: eeb8 7a67 vcvt.f32.u32 s14, s15 805c8a0: 4a50 ldr r2, [pc, #320] ; (805c9e4 ) 805c8a2: edd2 7a00 vldr s15, [r2] 805c8a6: ee67 7a27 vmul.f32 s15, s14, s15 805c8aa: 009b lsls r3, r3, #2 805c8ac: f507 720a add.w r2, r7, #552 ; 0x228 805c8b0: 4413 add r3, r2 805c8b2: 3bb4 subs r3, #180 ; 0xb4 805c8b4: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805c8b8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c8bc: 009b lsls r3, r3, #2 805c8be: f507 720a add.w r2, r7, #552 ; 0x228 805c8c2: 4413 add r3, r2 805c8c4: 3bb4 subs r3, #180 ; 0xb4 805c8c6: ed93 7a00 vldr s14, [r3] 805c8ca: eddf 6a47 vldr s13, [pc, #284] ; 805c9e8 805c8ce: eec7 7a26 vdiv.f32 s15, s14, s13 805c8d2: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805c8d6: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c8da: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805c8de: ee77 7a87 vadd.f32 s15, s15, s14 805c8e2: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805c8e6: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c8ea: eefc 7ae7 vcvt.u32.f32 s15, s15 805c8ee: ee17 2a90 vmov r2, s15 805c8f2: f107 03bc add.w r3, r7, #188 ; 0xbc 805c8f6: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805c8f8: f107 03bc add.w r3, r7, #188 ; 0xbc 805c8fc: 685b ldr r3, [r3, #4] 805c8fe: 1e5a subs r2, r3, #1 805c900: f107 03bc add.w r3, r7, #188 ; 0xbc 805c904: 601a str r2, [r3, #0] 805c906: f107 03bc add.w r3, r7, #188 ; 0xbc 805c90a: 685b ldr r3, [r3, #4] 805c90c: 2b01 cmp r3, #1 805c90e: d805 bhi.n 805c91c 805c910: f107 03bc add.w r3, r7, #188 ; 0xbc 805c914: 685a ldr r2, [r3, #4] 805c916: f107 03bc add.w r3, r7, #188 ; 0xbc 805c91a: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805c91c: f107 03bc add.w r3, r7, #188 ; 0xbc 805c920: 685b ldr r3, [r3, #4] 805c922: 1c5a adds r2, r3, #1 805c924: f107 03bc add.w r3, r7, #188 ; 0xbc 805c928: 609a str r2, [r3, #8] 805c92a: f107 03bc add.w r3, r7, #188 ; 0xbc 805c92e: 685b ldr r3, [r3, #4] 805c930: f640 72fe movw r2, #4094 ; 0xffe 805c934: 4293 cmp r3, r2 805c936: d905 bls.n 805c944 805c938: f107 03bc add.w r3, r7, #188 ; 0xbc 805c93c: 685a ldr r2, [r3, #4] 805c93e: f107 03bc add.w r3, r7, #188 ; 0xbc 805c942: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805c944: f107 03bc add.w r3, r7, #188 ; 0xbc 805c948: 685b ldr r3, [r3, #4] 805c94a: 4a28 ldr r2, [pc, #160] ; (805c9ec ) 805c94c: 5cd3 ldrb r3, [r2, r3] 805c94e: 2b00 cmp r3, #0 805c950: d10d bne.n 805c96e 805c952: f107 03bc add.w r3, r7, #188 ; 0xbc 805c956: 681b ldr r3, [r3, #0] 805c958: 4a24 ldr r2, [pc, #144] ; (805c9ec ) 805c95a: 5cd3 ldrb r3, [r2, r3] 805c95c: 2b00 cmp r3, #0 805c95e: d106 bne.n 805c96e 805c960: f107 03bc add.w r3, r7, #188 ; 0xbc 805c964: 689b ldr r3, [r3, #8] 805c966: 4a21 ldr r2, [pc, #132] ; (805c9ec ) 805c968: 5cd3 ldrb r3, [r2, r3] 805c96a: 2b00 cmp r3, #0 805c96c: d00a beq.n 805c984 { limit[i] = true; 805c96e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c972: f507 7294 add.w r2, r7, #296 ; 0x128 805c976: 2101 movs r1, #1 805c978: 54d1 strb r1, [r2, r3] k++; 805c97a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c97e: 3301 adds r3, #1 805c980: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 11; i++) 805c984: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c988: 3301 adds r3, #1 805c98a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c98e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c992: 2b0a cmp r3, #10 805c994: f67f af7b bls.w 805c88e } } if((!limit[0]) && (limit[1])) 805c998: f507 7394 add.w r3, r7, #296 ; 0x128 805c99c: 781b ldrb r3, [r3, #0] 805c99e: f083 0301 eor.w r3, r3, #1 805c9a2: b2db uxtb r3, r3 805c9a4: 2b00 cmp r3, #0 805c9a6: d007 beq.n 805c9b8 805c9a8: f507 7394 add.w r3, r7, #296 ; 0x128 805c9ac: 785b ldrb r3, [r3, #1] 805c9ae: 2b00 cmp r3, #0 805c9b0: d002 beq.n 805c9b8 { DEFECTS[PEREKOS_VNUTRENNEGO_KOLCA] = true; 805c9b2: 4b0f ldr r3, [pc, #60] ; (805c9f0 ) 805c9b4: 2201 movs r2, #1 805c9b6: 705a strb r2, [r3, #1] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Ãåðåêîñ íàðóæíîãî êîëüöà ///////////////////// memset((void *) limit, false, sizeof(limit)); 805c9b8: f507 7394 add.w r3, r7, #296 ; 0x128 805c9bc: 220f movs r2, #15 805c9be: 2100 movs r1, #0 805c9c0: 4618 mov r0, r3 805c9c2: f075 faef bl 80d1fa4 arm_fill_f32(0.0f, frq, 15); 805c9c6: f507 73ba add.w r3, r7, #372 ; 0x174 805c9ca: 210f movs r1, #15 805c9cc: 4618 mov r0, r3 805c9ce: ed9f 0a09 vldr s0, [pc, #36] ; 805c9f4 805c9d2: f072 f943 bl 80cec5c k = 0; 805c9d6: 2300 movs r3, #0 805c9d8: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805c9dc: 2300 movs r3, #0 805c9de: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c9e2: e089 b.n 805caf8 805c9e4: 20026d60 .word 0x20026d60 805c9e8: 3efa0000 .word 0x3efa0000 805c9ec: 20018000 .word 0x20018000 805c9f0: 20026f70 .word 0x20026f70 805c9f4: 00000000 .word 0x00000000 { frq[i] = Fn * (float32_t)(i + 1); 805c9f8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c9fc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ca00: 3201 adds r2, #1 805ca02: ee07 2a90 vmov s15, r2 805ca06: eeb8 7a67 vcvt.f32.u32 s14, s15 805ca0a: 4a55 ldr r2, [pc, #340] ; (805cb60 ) 805ca0c: edd2 7a00 vldr s15, [r2] 805ca10: ee67 7a27 vmul.f32 s15, s14, s15 805ca14: 009b lsls r3, r3, #2 805ca16: f507 720a add.w r2, r7, #552 ; 0x228 805ca1a: 4413 add r3, r2 805ca1c: 3bb4 subs r3, #180 ; 0xb4 805ca1e: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805ca22: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ca26: 009b lsls r3, r3, #2 805ca28: f507 720a add.w r2, r7, #552 ; 0x228 805ca2c: 4413 add r3, r2 805ca2e: 3bb4 subs r3, #180 ; 0xb4 805ca30: ed93 7a00 vldr s14, [r3] 805ca34: eddf 6a4b vldr s13, [pc, #300] ; 805cb64 805ca38: eec7 7a26 vdiv.f32 s15, s14, s13 805ca3c: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805ca40: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805ca44: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805ca48: ee77 7a87 vadd.f32 s15, s15, s14 805ca4c: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805ca50: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805ca54: eefc 7ae7 vcvt.u32.f32 s15, s15 805ca58: ee17 2a90 vmov r2, s15 805ca5c: f107 03bc add.w r3, r7, #188 ; 0xbc 805ca60: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805ca62: f107 03bc add.w r3, r7, #188 ; 0xbc 805ca66: 685b ldr r3, [r3, #4] 805ca68: 1e5a subs r2, r3, #1 805ca6a: f107 03bc add.w r3, r7, #188 ; 0xbc 805ca6e: 601a str r2, [r3, #0] 805ca70: f107 03bc add.w r3, r7, #188 ; 0xbc 805ca74: 685b ldr r3, [r3, #4] 805ca76: 2b01 cmp r3, #1 805ca78: d805 bhi.n 805ca86 805ca7a: f107 03bc add.w r3, r7, #188 ; 0xbc 805ca7e: 685a ldr r2, [r3, #4] 805ca80: f107 03bc add.w r3, r7, #188 ; 0xbc 805ca84: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805ca86: f107 03bc add.w r3, r7, #188 ; 0xbc 805ca8a: 685b ldr r3, [r3, #4] 805ca8c: 1c5a adds r2, r3, #1 805ca8e: f107 03bc add.w r3, r7, #188 ; 0xbc 805ca92: 609a str r2, [r3, #8] 805ca94: f107 03bc add.w r3, r7, #188 ; 0xbc 805ca98: 685b ldr r3, [r3, #4] 805ca9a: f640 72fe movw r2, #4094 ; 0xffe 805ca9e: 4293 cmp r3, r2 805caa0: d905 bls.n 805caae 805caa2: f107 03bc add.w r3, r7, #188 ; 0xbc 805caa6: 685a ldr r2, [r3, #4] 805caa8: f107 03bc add.w r3, r7, #188 ; 0xbc 805caac: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805caae: f107 03bc add.w r3, r7, #188 ; 0xbc 805cab2: 685b ldr r3, [r3, #4] 805cab4: 4a2c ldr r2, [pc, #176] ; (805cb68 ) 805cab6: 5cd3 ldrb r3, [r2, r3] 805cab8: 2b00 cmp r3, #0 805caba: d10d bne.n 805cad8 805cabc: f107 03bc add.w r3, r7, #188 ; 0xbc 805cac0: 681b ldr r3, [r3, #0] 805cac2: 4a29 ldr r2, [pc, #164] ; (805cb68 ) 805cac4: 5cd3 ldrb r3, [r2, r3] 805cac6: 2b00 cmp r3, #0 805cac8: d106 bne.n 805cad8 805caca: f107 03bc add.w r3, r7, #188 ; 0xbc 805cace: 689b ldr r3, [r3, #8] 805cad0: 4a25 ldr r2, [pc, #148] ; (805cb68 ) 805cad2: 5cd3 ldrb r3, [r2, r3] 805cad4: 2b00 cmp r3, #0 805cad6: d00a beq.n 805caee { limit[i] = true; 805cad8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cadc: f507 7294 add.w r2, r7, #296 ; 0x128 805cae0: 2101 movs r1, #1 805cae2: 54d1 strb r1, [r2, r3] k++; 805cae4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805cae8: 3301 adds r3, #1 805caea: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805caee: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805caf2: 3301 adds r3, #1 805caf4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805caf8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cafc: 2b03 cmp r3, #3 805cafe: f67f af7b bls.w 805c9f8 } } if((!limit[0]) && (limit[1])) 805cb02: f507 7394 add.w r3, r7, #296 ; 0x128 805cb06: 781b ldrb r3, [r3, #0] 805cb08: f083 0301 eor.w r3, r3, #1 805cb0c: b2db uxtb r3, r3 805cb0e: 2b00 cmp r3, #0 805cb10: d007 beq.n 805cb22 805cb12: f507 7394 add.w r3, r7, #296 ; 0x128 805cb16: 785b ldrb r3, [r3, #1] 805cb18: 2b00 cmp r3, #0 805cb1a: d002 beq.n 805cb22 { DEFECTS[PEREKOS_NARUZHNOGO_KOLCA] = true; 805cb1c: 4b13 ldr r3, [pc, #76] ; (805cb6c ) 805cb1e: 2201 movs r2, #1 805cb20: 709a strb r2, [r3, #2] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Èçíîñ áåãîâîé äîðîæêè íàðóæíîãî êîëüöà ///////// memset((void *) limit, false, sizeof(limit)); 805cb22: f507 7394 add.w r3, r7, #296 ; 0x128 805cb26: 220f movs r2, #15 805cb28: 2100 movs r1, #0 805cb2a: 4618 mov r0, r3 805cb2c: f075 fa3a bl 80d1fa4 arm_fill_f32(0.0f, frq, 15); 805cb30: f507 73ba add.w r3, r7, #372 ; 0x174 805cb34: 210f movs r1, #15 805cb36: 4618 mov r0, r3 805cb38: ed9f 0a0d vldr s0, [pc, #52] ; 805cb70 805cb3c: f072 f88e bl 80cec5c k = 0; 805cb40: 2300 movs r3, #0 805cb42: 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}; 805cb46: f107 039c add.w r3, r7, #156 ; 0x9c 805cb4a: 4618 mov r0, r3 805cb4c: 231e movs r3, #30 805cb4e: 461a mov r2, r3 805cb50: 2100 movs r1, #0 805cb52: f075 fa27 bl 80d1fa4 for(i = 0; i < 4; i++) 805cb56: 2300 movs r3, #0 805cb58: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cb5c: e0da b.n 805cd14 805cb5e: bf00 nop 805cb60: 20026808 .word 0x20026808 805cb64: 3efa0000 .word 0x3efa0000 805cb68: 20018000 .word 0x20018000 805cb6c: 20026f70 .word 0x20026f70 805cb70: 00000000 .word 0x00000000 { frq[i] = Fn * (float32_t)(i + 1); 805cb74: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cb78: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805cb7c: 3201 adds r2, #1 805cb7e: ee07 2a90 vmov s15, r2 805cb82: eeb8 7a67 vcvt.f32.u32 s14, s15 805cb86: 4aad ldr r2, [pc, #692] ; (805ce3c ) 805cb88: edd2 7a00 vldr s15, [r2] 805cb8c: ee67 7a27 vmul.f32 s15, s14, s15 805cb90: 009b lsls r3, r3, #2 805cb92: f507 720a add.w r2, r7, #552 ; 0x228 805cb96: 4413 add r3, r2 805cb98: 3bb4 subs r3, #180 ; 0xb4 805cb9a: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805cb9e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cba2: 009b lsls r3, r3, #2 805cba4: f507 720a add.w r2, r7, #552 ; 0x228 805cba8: 4413 add r3, r2 805cbaa: 3bb4 subs r3, #180 ; 0xb4 805cbac: ed93 7a00 vldr s14, [r3] 805cbb0: eddf 6aa3 vldr s13, [pc, #652] ; 805ce40 805cbb4: eec7 7a26 vdiv.f32 s15, s14, s13 805cbb8: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805cbbc: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805cbc0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805cbc4: ee77 7a87 vadd.f32 s15, s15, s14 805cbc8: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805cbcc: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805cbd0: eefc 7ae7 vcvt.u32.f32 s15, s15 805cbd4: ee17 2a90 vmov r2, s15 805cbd8: f107 03bc add.w r3, r7, #188 ; 0xbc 805cbdc: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805cbde: f107 03bc add.w r3, r7, #188 ; 0xbc 805cbe2: 685b ldr r3, [r3, #4] 805cbe4: 1e5a subs r2, r3, #1 805cbe6: f107 03bc add.w r3, r7, #188 ; 0xbc 805cbea: 601a str r2, [r3, #0] 805cbec: f107 03bc add.w r3, r7, #188 ; 0xbc 805cbf0: 685b ldr r3, [r3, #4] 805cbf2: 2b01 cmp r3, #1 805cbf4: d805 bhi.n 805cc02 805cbf6: f107 03bc add.w r3, r7, #188 ; 0xbc 805cbfa: 685a ldr r2, [r3, #4] 805cbfc: f107 03bc add.w r3, r7, #188 ; 0xbc 805cc00: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805cc02: f107 03bc add.w r3, r7, #188 ; 0xbc 805cc06: 685b ldr r3, [r3, #4] 805cc08: 1c5a adds r2, r3, #1 805cc0a: f107 03bc add.w r3, r7, #188 ; 0xbc 805cc0e: 609a str r2, [r3, #8] 805cc10: f107 03bc add.w r3, r7, #188 ; 0xbc 805cc14: 685b ldr r3, [r3, #4] 805cc16: f640 72fe movw r2, #4094 ; 0xffe 805cc1a: 4293 cmp r3, r2 805cc1c: d905 bls.n 805cc2a 805cc1e: f107 03bc add.w r3, r7, #188 ; 0xbc 805cc22: 685a ldr r2, [r3, #4] 805cc24: f107 03bc add.w r3, r7, #188 ; 0xbc 805cc28: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805cc2a: f107 03bc add.w r3, r7, #188 ; 0xbc 805cc2e: 685b ldr r3, [r3, #4] 805cc30: 4a84 ldr r2, [pc, #528] ; (805ce44 ) 805cc32: 5cd3 ldrb r3, [r2, r3] 805cc34: 2b00 cmp r3, #0 805cc36: d10d bne.n 805cc54 805cc38: f107 03bc add.w r3, r7, #188 ; 0xbc 805cc3c: 681b ldr r3, [r3, #0] 805cc3e: 4a81 ldr r2, [pc, #516] ; (805ce44 ) 805cc40: 5cd3 ldrb r3, [r2, r3] 805cc42: 2b00 cmp r3, #0 805cc44: d106 bne.n 805cc54 805cc46: f107 03bc add.w r3, r7, #188 ; 0xbc 805cc4a: 689b ldr r3, [r3, #8] 805cc4c: 4a7d ldr r2, [pc, #500] ; (805ce44 ) 805cc4e: 5cd3 ldrb r3, [r2, r3] 805cc50: 2b00 cmp r3, #0 805cc52: d05a beq.n 805cd0a { ix[i] = jj[1]; 805cc54: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805cc58: f107 03bc add.w r3, r7, #188 ; 0xbc 805cc5c: 685b ldr r3, [r3, #4] 805cc5e: b299 uxth r1, r3 805cc60: f107 039c add.w r3, r7, #156 ; 0x9c 805cc64: f823 1012 strh.w r1, [r3, r2, lsl #1] if(ScrA_f32(ix[i]) < ScrA_f32(jj[0])) 805cc68: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805cc6c: f107 039c add.w r3, r7, #156 ; 0x9c 805cc70: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805cc74: 009b lsls r3, r3, #2 805cc76: 461a mov r2, r3 805cc78: 4b73 ldr r3, [pc, #460] ; (805ce48 ) 805cc7a: 4413 add r3, r2 805cc7c: ed93 7a00 vldr s14, [r3] 805cc80: f107 03bc add.w r3, r7, #188 ; 0xbc 805cc84: 681b ldr r3, [r3, #0] 805cc86: 009a lsls r2, r3, #2 805cc88: 4b6f ldr r3, [pc, #444] ; (805ce48 ) 805cc8a: 4413 add r3, r2 805cc8c: edd3 7a00 vldr s15, [r3] 805cc90: eeb4 7ae7 vcmpe.f32 s14, s15 805cc94: eef1 fa10 vmrs APSR_nzcv, fpscr 805cc98: d509 bpl.n 805ccae ix[i] = jj[0]; 805cc9a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805cc9e: f107 03bc add.w r3, r7, #188 ; 0xbc 805cca2: 681b ldr r3, [r3, #0] 805cca4: b299 uxth r1, r3 805cca6: f107 039c add.w r3, r7, #156 ; 0x9c 805ccaa: f823 1012 strh.w r1, [r3, r2, lsl #1] if(ScrA_f32(ix[i]) < ScrA_f32(jj[2])) 805ccae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ccb2: f107 039c add.w r3, r7, #156 ; 0x9c 805ccb6: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805ccba: 009b lsls r3, r3, #2 805ccbc: 461a mov r2, r3 805ccbe: 4b62 ldr r3, [pc, #392] ; (805ce48 ) 805ccc0: 4413 add r3, r2 805ccc2: ed93 7a00 vldr s14, [r3] 805ccc6: f107 03bc add.w r3, r7, #188 ; 0xbc 805ccca: 689b ldr r3, [r3, #8] 805cccc: 009a lsls r2, r3, #2 805ccce: 4b5e ldr r3, [pc, #376] ; (805ce48 ) 805ccd0: 4413 add r3, r2 805ccd2: edd3 7a00 vldr s15, [r3] 805ccd6: eeb4 7ae7 vcmpe.f32 s14, s15 805ccda: eef1 fa10 vmrs APSR_nzcv, fpscr 805ccde: d509 bpl.n 805ccf4 ix[i] = jj[2]; 805cce0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805cce4: f107 03bc add.w r3, r7, #188 ; 0xbc 805cce8: 689b ldr r3, [r3, #8] 805ccea: b299 uxth r1, r3 805ccec: f107 039c add.w r3, r7, #156 ; 0x9c 805ccf0: f823 1012 strh.w r1, [r3, r2, lsl #1] limit[i] = true; 805ccf4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ccf8: f507 7294 add.w r2, r7, #296 ; 0x128 805ccfc: 2101 movs r1, #1 805ccfe: 54d1 strb r1, [r2, r3] k++; 805cd00: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805cd04: 3301 adds r3, #1 805cd06: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805cd0a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cd0e: 3301 adds r3, #1 805cd10: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cd14: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cd18: 2b03 cmp r3, #3 805cd1a: f67f af2b bls.w 805cb74 } } if((limit[0]) && (k >= 3)) 805cd1e: f507 7394 add.w r3, r7, #296 ; 0x128 805cd22: 781b ldrb r3, [r3, #0] 805cd24: 2b00 cmp r3, #0 805cd26: f000 80d6 beq.w 805ced6 805cd2a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805cd2e: 2b02 cmp r3, #2 805cd30: f240 80d1 bls.w 805ced6 { if((limit[1]) && (limit[2])) 805cd34: f507 7394 add.w r3, r7, #296 ; 0x128 805cd38: 785b ldrb r3, [r3, #1] 805cd3a: 2b00 cmp r3, #0 805cd3c: d038 beq.n 805cdb0 805cd3e: f507 7394 add.w r3, r7, #296 ; 0x128 805cd42: 789b ldrb r3, [r3, #2] 805cd44: 2b00 cmp r3, #0 805cd46: d033 beq.n 805cdb0 { if((ScrA_f32(ix[0]) > ScrA_f32(ix[1])) && (ScrA_f32(ix[1]) > ScrA_f32(ix[2]))) 805cd48: f107 039c add.w r3, r7, #156 ; 0x9c 805cd4c: 881b ldrh r3, [r3, #0] 805cd4e: 009b lsls r3, r3, #2 805cd50: 461a mov r2, r3 805cd52: 4b3d ldr r3, [pc, #244] ; (805ce48 ) 805cd54: 4413 add r3, r2 805cd56: ed93 7a00 vldr s14, [r3] 805cd5a: f107 039c add.w r3, r7, #156 ; 0x9c 805cd5e: 885b ldrh r3, [r3, #2] 805cd60: 009b lsls r3, r3, #2 805cd62: 461a mov r2, r3 805cd64: 4b38 ldr r3, [pc, #224] ; (805ce48 ) 805cd66: 4413 add r3, r2 805cd68: edd3 7a00 vldr s15, [r3] 805cd6c: eeb4 7ae7 vcmpe.f32 s14, s15 805cd70: eef1 fa10 vmrs APSR_nzcv, fpscr 805cd74: f340 80af ble.w 805ced6 805cd78: f107 039c add.w r3, r7, #156 ; 0x9c 805cd7c: 885b ldrh r3, [r3, #2] 805cd7e: 009b lsls r3, r3, #2 805cd80: 461a mov r2, r3 805cd82: 4b31 ldr r3, [pc, #196] ; (805ce48 ) 805cd84: 4413 add r3, r2 805cd86: ed93 7a00 vldr s14, [r3] 805cd8a: f107 039c add.w r3, r7, #156 ; 0x9c 805cd8e: 889b ldrh r3, [r3, #4] 805cd90: 009b lsls r3, r3, #2 805cd92: 461a mov r2, r3 805cd94: 4b2c ldr r3, [pc, #176] ; (805ce48 ) 805cd96: 4413 add r3, r2 805cd98: edd3 7a00 vldr s15, [r3] 805cd9c: eeb4 7ae7 vcmpe.f32 s14, s15 805cda0: eef1 fa10 vmrs APSR_nzcv, fpscr 805cda4: dc00 bgt.n 805cda8 805cda6: e096 b.n 805ced6 { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_NARUZHNOGO_KOLCA] = true; 805cda8: 4b28 ldr r3, [pc, #160] ; (805ce4c ) 805cdaa: 2201 movs r2, #1 805cdac: 70da strb r2, [r3, #3] if((ScrA_f32(ix[0]) > ScrA_f32(ix[1])) && (ScrA_f32(ix[1]) > ScrA_f32(ix[2]))) 805cdae: e092 b.n 805ced6 } } else if((!limit[1]) && (limit[2]) && (limit[3])) 805cdb0: f507 7394 add.w r3, r7, #296 ; 0x128 805cdb4: 785b ldrb r3, [r3, #1] 805cdb6: f083 0301 eor.w r3, r3, #1 805cdba: b2db uxtb r3, r3 805cdbc: 2b00 cmp r3, #0 805cdbe: d047 beq.n 805ce50 805cdc0: f507 7394 add.w r3, r7, #296 ; 0x128 805cdc4: 789b ldrb r3, [r3, #2] 805cdc6: 2b00 cmp r3, #0 805cdc8: d042 beq.n 805ce50 805cdca: f507 7394 add.w r3, r7, #296 ; 0x128 805cdce: 78db ldrb r3, [r3, #3] 805cdd0: 2b00 cmp r3, #0 805cdd2: d03d beq.n 805ce50 { if((ScrA_f32(ix[0]) > ScrA_f32(ix[2])) && (ScrA_f32(ix[2]) > ScrA_f32(ix[3]))) 805cdd4: f107 039c add.w r3, r7, #156 ; 0x9c 805cdd8: 881b ldrh r3, [r3, #0] 805cdda: 009b lsls r3, r3, #2 805cddc: 461a mov r2, r3 805cdde: 4b1a ldr r3, [pc, #104] ; (805ce48 ) 805cde0: 4413 add r3, r2 805cde2: ed93 7a00 vldr s14, [r3] 805cde6: f107 039c add.w r3, r7, #156 ; 0x9c 805cdea: 889b ldrh r3, [r3, #4] 805cdec: 009b lsls r3, r3, #2 805cdee: 461a mov r2, r3 805cdf0: 4b15 ldr r3, [pc, #84] ; (805ce48 ) 805cdf2: 4413 add r3, r2 805cdf4: edd3 7a00 vldr s15, [r3] 805cdf8: eeb4 7ae7 vcmpe.f32 s14, s15 805cdfc: eef1 fa10 vmrs APSR_nzcv, fpscr 805ce00: dd69 ble.n 805ced6 805ce02: f107 039c add.w r3, r7, #156 ; 0x9c 805ce06: 889b ldrh r3, [r3, #4] 805ce08: 009b lsls r3, r3, #2 805ce0a: 461a mov r2, r3 805ce0c: 4b0e ldr r3, [pc, #56] ; (805ce48 ) 805ce0e: 4413 add r3, r2 805ce10: ed93 7a00 vldr s14, [r3] 805ce14: f107 039c add.w r3, r7, #156 ; 0x9c 805ce18: 88db ldrh r3, [r3, #6] 805ce1a: 009b lsls r3, r3, #2 805ce1c: 461a mov r2, r3 805ce1e: 4b0a ldr r3, [pc, #40] ; (805ce48 ) 805ce20: 4413 add r3, r2 805ce22: edd3 7a00 vldr s15, [r3] 805ce26: eeb4 7ae7 vcmpe.f32 s14, s15 805ce2a: eef1 fa10 vmrs APSR_nzcv, fpscr 805ce2e: dc00 bgt.n 805ce32 805ce30: e051 b.n 805ced6 { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_NARUZHNOGO_KOLCA] = true; 805ce32: 4b06 ldr r3, [pc, #24] ; (805ce4c ) 805ce34: 2201 movs r2, #1 805ce36: 70da strb r2, [r3, #3] if((ScrA_f32(ix[0]) > ScrA_f32(ix[2])) && (ScrA_f32(ix[2]) > ScrA_f32(ix[3]))) 805ce38: e04d b.n 805ced6 805ce3a: bf00 nop 805ce3c: 20026808 .word 0x20026808 805ce40: 3efa0000 .word 0x3efa0000 805ce44: 20018000 .word 0x20018000 805ce48: 64080000 .word 0x64080000 805ce4c: 20026f70 .word 0x20026f70 } } else if((limit[1]) && (!limit[2]) && (limit[3])) 805ce50: f507 7394 add.w r3, r7, #296 ; 0x128 805ce54: 785b ldrb r3, [r3, #1] 805ce56: 2b00 cmp r3, #0 805ce58: d03d beq.n 805ced6 805ce5a: f507 7394 add.w r3, r7, #296 ; 0x128 805ce5e: 789b ldrb r3, [r3, #2] 805ce60: f083 0301 eor.w r3, r3, #1 805ce64: b2db uxtb r3, r3 805ce66: 2b00 cmp r3, #0 805ce68: d035 beq.n 805ced6 805ce6a: f507 7394 add.w r3, r7, #296 ; 0x128 805ce6e: 78db ldrb r3, [r3, #3] 805ce70: 2b00 cmp r3, #0 805ce72: d030 beq.n 805ced6 { if((ScrA_f32(ix[0]) > ScrA_f32(ix[1])) && (ScrA_f32(ix[1]) > ScrA_f32(ix[3]))) 805ce74: f107 039c add.w r3, r7, #156 ; 0x9c 805ce78: 881b ldrh r3, [r3, #0] 805ce7a: 009b lsls r3, r3, #2 805ce7c: 461a mov r2, r3 805ce7e: 4bc4 ldr r3, [pc, #784] ; (805d190 ) 805ce80: 4413 add r3, r2 805ce82: ed93 7a00 vldr s14, [r3] 805ce86: f107 039c add.w r3, r7, #156 ; 0x9c 805ce8a: 885b ldrh r3, [r3, #2] 805ce8c: 009b lsls r3, r3, #2 805ce8e: 461a mov r2, r3 805ce90: 4bbf ldr r3, [pc, #764] ; (805d190 ) 805ce92: 4413 add r3, r2 805ce94: edd3 7a00 vldr s15, [r3] 805ce98: eeb4 7ae7 vcmpe.f32 s14, s15 805ce9c: eef1 fa10 vmrs APSR_nzcv, fpscr 805cea0: dd19 ble.n 805ced6 805cea2: f107 039c add.w r3, r7, #156 ; 0x9c 805cea6: 885b ldrh r3, [r3, #2] 805cea8: 009b lsls r3, r3, #2 805ceaa: 461a mov r2, r3 805ceac: 4bb8 ldr r3, [pc, #736] ; (805d190 ) 805ceae: 4413 add r3, r2 805ceb0: ed93 7a00 vldr s14, [r3] 805ceb4: f107 039c add.w r3, r7, #156 ; 0x9c 805ceb8: 88db ldrh r3, [r3, #6] 805ceba: 009b lsls r3, r3, #2 805cebc: 461a mov r2, r3 805cebe: 4bb4 ldr r3, [pc, #720] ; (805d190 ) 805cec0: 4413 add r3, r2 805cec2: edd3 7a00 vldr s15, [r3] 805cec6: eeb4 7ae7 vcmpe.f32 s14, s15 805ceca: eef1 fa10 vmrs APSR_nzcv, fpscr 805cece: dd02 ble.n 805ced6 { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_NARUZHNOGO_KOLCA] = true; 805ced0: 4bb0 ldr r3, [pc, #704] ; (805d194 ) 805ced2: 2201 movs r2, #1 805ced4: 70da strb r2, [r3, #3] } } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Çàäèðû, òðåùèíû íà íàðóæíîì êîëüöå ///////////// memset((void *) limit, false, sizeof(limit)); 805ced6: f507 7394 add.w r3, r7, #296 ; 0x128 805ceda: 220f movs r2, #15 805cedc: 2100 movs r1, #0 805cede: 4618 mov r0, r3 805cee0: f075 f860 bl 80d1fa4 arm_fill_f32(0.0f, frq, 15); 805cee4: f507 73ba add.w r3, r7, #372 ; 0x174 805cee8: 210f movs r1, #15 805ceea: 4618 mov r0, r3 805ceec: ed9f 0aaa vldr s0, [pc, #680] ; 805d198 805cef0: f071 feb4 bl 80cec5c k = 0; 805cef4: 2300 movs r3, #0 805cef6: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805cefa: 2300 movs r3, #0 805cefc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cf00: e07f b.n 805d002 { frq[i] = Fn * (float32_t)(i + 1); 805cf02: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cf06: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805cf0a: 3201 adds r2, #1 805cf0c: ee07 2a90 vmov s15, r2 805cf10: eeb8 7a67 vcvt.f32.u32 s14, s15 805cf14: 4aa1 ldr r2, [pc, #644] ; (805d19c ) 805cf16: edd2 7a00 vldr s15, [r2] 805cf1a: ee67 7a27 vmul.f32 s15, s14, s15 805cf1e: 009b lsls r3, r3, #2 805cf20: f507 720a add.w r2, r7, #552 ; 0x228 805cf24: 4413 add r3, r2 805cf26: 3bb4 subs r3, #180 ; 0xb4 805cf28: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805cf2c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cf30: 009b lsls r3, r3, #2 805cf32: f507 720a add.w r2, r7, #552 ; 0x228 805cf36: 4413 add r3, r2 805cf38: 3bb4 subs r3, #180 ; 0xb4 805cf3a: ed93 7a00 vldr s14, [r3] 805cf3e: eddf 6a98 vldr s13, [pc, #608] ; 805d1a0 805cf42: eec7 7a26 vdiv.f32 s15, s14, s13 805cf46: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805cf4a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805cf4e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805cf52: ee77 7a87 vadd.f32 s15, s15, s14 805cf56: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805cf5a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805cf5e: eefc 7ae7 vcvt.u32.f32 s15, s15 805cf62: ee17 2a90 vmov r2, s15 805cf66: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf6a: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805cf6c: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf70: 685b ldr r3, [r3, #4] 805cf72: 1e5a subs r2, r3, #1 805cf74: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf78: 601a str r2, [r3, #0] 805cf7a: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf7e: 685b ldr r3, [r3, #4] 805cf80: 2b01 cmp r3, #1 805cf82: d805 bhi.n 805cf90 805cf84: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf88: 685a ldr r2, [r3, #4] 805cf8a: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf8e: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805cf90: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf94: 685b ldr r3, [r3, #4] 805cf96: 1c5a adds r2, r3, #1 805cf98: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf9c: 609a str r2, [r3, #8] 805cf9e: f107 03bc add.w r3, r7, #188 ; 0xbc 805cfa2: 685b ldr r3, [r3, #4] 805cfa4: f640 72fe movw r2, #4094 ; 0xffe 805cfa8: 4293 cmp r3, r2 805cfaa: d905 bls.n 805cfb8 805cfac: f107 03bc add.w r3, r7, #188 ; 0xbc 805cfb0: 685a ldr r2, [r3, #4] 805cfb2: f107 03bc add.w r3, r7, #188 ; 0xbc 805cfb6: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805cfb8: f107 03bc add.w r3, r7, #188 ; 0xbc 805cfbc: 685b ldr r3, [r3, #4] 805cfbe: 4a79 ldr r2, [pc, #484] ; (805d1a4 ) 805cfc0: 5cd3 ldrb r3, [r2, r3] 805cfc2: 2b00 cmp r3, #0 805cfc4: d10d bne.n 805cfe2 805cfc6: f107 03bc add.w r3, r7, #188 ; 0xbc 805cfca: 681b ldr r3, [r3, #0] 805cfcc: 4a75 ldr r2, [pc, #468] ; (805d1a4 ) 805cfce: 5cd3 ldrb r3, [r2, r3] 805cfd0: 2b00 cmp r3, #0 805cfd2: d106 bne.n 805cfe2 805cfd4: f107 03bc add.w r3, r7, #188 ; 0xbc 805cfd8: 689b ldr r3, [r3, #8] 805cfda: 4a72 ldr r2, [pc, #456] ; (805d1a4 ) 805cfdc: 5cd3 ldrb r3, [r2, r3] 805cfde: 2b00 cmp r3, #0 805cfe0: d00a beq.n 805cff8 { limit[i] = true; 805cfe2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cfe6: f507 7294 add.w r2, r7, #296 ; 0x128 805cfea: 2101 movs r1, #1 805cfec: 54d1 strb r1, [r2, r3] k++; 805cfee: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805cff2: 3301 adds r3, #1 805cff4: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805cff8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cffc: 3301 adds r3, #1 805cffe: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d002: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d006: 2b03 cmp r3, #3 805d008: f67f af7b bls.w 805cf02 } } if((k >= 2) && (limit[0]) && (limit[1])) 805d00c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805d010: 2b01 cmp r3, #1 805d012: d90c bls.n 805d02e 805d014: f507 7394 add.w r3, r7, #296 ; 0x128 805d018: 781b ldrb r3, [r3, #0] 805d01a: 2b00 cmp r3, #0 805d01c: d007 beq.n 805d02e 805d01e: f507 7394 add.w r3, r7, #296 ; 0x128 805d022: 785b ldrb r3, [r3, #1] 805d024: 2b00 cmp r3, #0 805d026: d002 beq.n 805d02e { DEFECTS[ZADIRI_TRESCHINI_NA_NARUZHNOM_KOLCE] = true; 805d028: 4b5a ldr r3, [pc, #360] ; (805d194 ) 805d02a: 2201 movs r2, #1 805d02c: 711a strb r2, [r3, #4] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Èçíîñ áåãîâîé äîðîæêè âíóòðåííåãî êîëüöà ////////// memset((void *) limit, false, sizeof(limit)); 805d02e: f507 7394 add.w r3, r7, #296 ; 0x128 805d032: 220f movs r2, #15 805d034: 2100 movs r1, #0 805d036: 4618 mov r0, r3 805d038: f074 ffb4 bl 80d1fa4 memset((void *) limit_1, false, sizeof(limit_1)); 805d03c: f507 738c add.w r3, r7, #280 ; 0x118 805d040: 220f movs r2, #15 805d042: 2100 movs r1, #0 805d044: 4618 mov r0, r3 805d046: f074 ffad bl 80d1fa4 arm_fill_f32(0.0f, frq, 15); 805d04a: f507 73ba add.w r3, r7, #372 ; 0x174 805d04e: 210f movs r1, #15 805d050: 4618 mov r0, r3 805d052: ed9f 0a51 vldr s0, [pc, #324] ; 805d198 805d056: f071 fe01 bl 80cec5c arm_fill_f32(0.0f, frq_1, 15); 805d05a: f507 739c add.w r3, r7, #312 ; 0x138 805d05e: 210f movs r1, #15 805d060: 4618 mov r0, r3 805d062: ed9f 0a4d vldr s0, [pc, #308] ; 805d198 805d066: f071 fdf9 bl 80cec5c k = 0; 805d06a: 2300 movs r3, #0 805d06c: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805d070: 2300 movs r3, #0 805d072: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 7; i++) 805d076: 2300 movs r3, #0 805d078: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d07c: e07f b.n 805d17e { frq[i] = Fvr * (float32_t)(i + 1); 805d07e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d082: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d086: 3201 adds r2, #1 805d088: ee07 2a90 vmov s15, r2 805d08c: eeb8 7a67 vcvt.f32.u32 s14, s15 805d090: 4a45 ldr r2, [pc, #276] ; (805d1a8 ) 805d092: edd2 7a00 vldr s15, [r2] 805d096: ee67 7a27 vmul.f32 s15, s14, s15 805d09a: 009b lsls r3, r3, #2 805d09c: f507 720a add.w r2, r7, #552 ; 0x228 805d0a0: 4413 add r3, r2 805d0a2: 3bb4 subs r3, #180 ; 0xb4 805d0a4: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805d0a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d0ac: 009b lsls r3, r3, #2 805d0ae: f507 720a add.w r2, r7, #552 ; 0x228 805d0b2: 4413 add r3, r2 805d0b4: 3bb4 subs r3, #180 ; 0xb4 805d0b6: ed93 7a00 vldr s14, [r3] 805d0ba: eddf 6a39 vldr s13, [pc, #228] ; 805d1a0 805d0be: eec7 7a26 vdiv.f32 s15, s14, s13 805d0c2: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805d0c6: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d0ca: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805d0ce: ee77 7a87 vadd.f32 s15, s15, s14 805d0d2: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805d0d6: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d0da: eefc 7ae7 vcvt.u32.f32 s15, s15 805d0de: ee17 2a90 vmov r2, s15 805d0e2: f107 03bc add.w r3, r7, #188 ; 0xbc 805d0e6: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805d0e8: f107 03bc add.w r3, r7, #188 ; 0xbc 805d0ec: 685b ldr r3, [r3, #4] 805d0ee: 1e5a subs r2, r3, #1 805d0f0: f107 03bc add.w r3, r7, #188 ; 0xbc 805d0f4: 601a str r2, [r3, #0] 805d0f6: f107 03bc add.w r3, r7, #188 ; 0xbc 805d0fa: 685b ldr r3, [r3, #4] 805d0fc: 2b01 cmp r3, #1 805d0fe: d805 bhi.n 805d10c 805d100: f107 03bc add.w r3, r7, #188 ; 0xbc 805d104: 685a ldr r2, [r3, #4] 805d106: f107 03bc add.w r3, r7, #188 ; 0xbc 805d10a: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805d10c: f107 03bc add.w r3, r7, #188 ; 0xbc 805d110: 685b ldr r3, [r3, #4] 805d112: 1c5a adds r2, r3, #1 805d114: f107 03bc add.w r3, r7, #188 ; 0xbc 805d118: 609a str r2, [r3, #8] 805d11a: f107 03bc add.w r3, r7, #188 ; 0xbc 805d11e: 685b ldr r3, [r3, #4] 805d120: f640 72fe movw r2, #4094 ; 0xffe 805d124: 4293 cmp r3, r2 805d126: d905 bls.n 805d134 805d128: f107 03bc add.w r3, r7, #188 ; 0xbc 805d12c: 685a ldr r2, [r3, #4] 805d12e: f107 03bc add.w r3, r7, #188 ; 0xbc 805d132: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805d134: f107 03bc add.w r3, r7, #188 ; 0xbc 805d138: 685b ldr r3, [r3, #4] 805d13a: 4a1a ldr r2, [pc, #104] ; (805d1a4 ) 805d13c: 5cd3 ldrb r3, [r2, r3] 805d13e: 2b00 cmp r3, #0 805d140: d10d bne.n 805d15e 805d142: f107 03bc add.w r3, r7, #188 ; 0xbc 805d146: 681b ldr r3, [r3, #0] 805d148: 4a16 ldr r2, [pc, #88] ; (805d1a4 ) 805d14a: 5cd3 ldrb r3, [r2, r3] 805d14c: 2b00 cmp r3, #0 805d14e: d106 bne.n 805d15e 805d150: f107 03bc add.w r3, r7, #188 ; 0xbc 805d154: 689b ldr r3, [r3, #8] 805d156: 4a13 ldr r2, [pc, #76] ; (805d1a4 ) 805d158: 5cd3 ldrb r3, [r2, r3] 805d15a: 2b00 cmp r3, #0 805d15c: d00a beq.n 805d174 { limit[i] = true; 805d15e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d162: f507 7294 add.w r2, r7, #296 ; 0x128 805d166: 2101 movs r1, #1 805d168: 54d1 strb r1, [r2, r3] k++; 805d16a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805d16e: 3301 adds r3, #1 805d170: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 7; i++) 805d174: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d178: 3301 adds r3, #1 805d17a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d17e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d182: 2b06 cmp r3, #6 805d184: f67f af7b bls.w 805d07e } } for(i = 0; i < 3; i++) 805d188: 2300 movs r3, #0 805d18a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d18e: e08d b.n 805d2ac 805d190: 64080000 .word 0x64080000 805d194: 20026f70 .word 0x20026f70 805d198: 00000000 .word 0x00000000 805d19c: 20026808 .word 0x20026808 805d1a0: 3efa0000 .word 0x3efa0000 805d1a4: 20018000 .word 0x20018000 805d1a8: 20026d60 .word 0x20026d60 { frq_1[i] = Fv * (float32_t)(i + 1); 805d1ac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d1b0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d1b4: 3201 adds r2, #1 805d1b6: ee07 2a90 vmov s15, r2 805d1ba: eeb8 7a67 vcvt.f32.u32 s14, s15 805d1be: 4aba ldr r2, [pc, #744] ; (805d4a8 ) 805d1c0: edd2 7a00 vldr s15, [r2] 805d1c4: ee67 7a27 vmul.f32 s15, s14, s15 805d1c8: 009b lsls r3, r3, #2 805d1ca: f507 720a add.w r2, r7, #552 ; 0x228 805d1ce: 4413 add r3, r2 805d1d0: 3bf0 subs r3, #240 ; 0xf0 805d1d2: edc3 7a00 vstr s15, [r3] fl = frq_1[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805d1d6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d1da: 009b lsls r3, r3, #2 805d1dc: f507 720a add.w r2, r7, #552 ; 0x228 805d1e0: 4413 add r3, r2 805d1e2: 3bf0 subs r3, #240 ; 0xf0 805d1e4: ed93 7a00 vldr s14, [r3] 805d1e8: eddf 6ab0 vldr s13, [pc, #704] ; 805d4ac 805d1ec: eec7 7a26 vdiv.f32 s15, s14, s13 805d1f0: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805d1f4: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d1f8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805d1fc: ee77 7a87 vadd.f32 s15, s15, s14 805d200: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805d204: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d208: eefc 7ae7 vcvt.u32.f32 s15, s15 805d20c: ee17 2a90 vmov r2, s15 805d210: f107 03bc add.w r3, r7, #188 ; 0xbc 805d214: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805d216: f107 03bc add.w r3, r7, #188 ; 0xbc 805d21a: 685b ldr r3, [r3, #4] 805d21c: 1e5a subs r2, r3, #1 805d21e: f107 03bc add.w r3, r7, #188 ; 0xbc 805d222: 601a str r2, [r3, #0] 805d224: f107 03bc add.w r3, r7, #188 ; 0xbc 805d228: 685b ldr r3, [r3, #4] 805d22a: 2b01 cmp r3, #1 805d22c: d805 bhi.n 805d23a 805d22e: f107 03bc add.w r3, r7, #188 ; 0xbc 805d232: 685a ldr r2, [r3, #4] 805d234: f107 03bc add.w r3, r7, #188 ; 0xbc 805d238: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805d23a: f107 03bc add.w r3, r7, #188 ; 0xbc 805d23e: 685b ldr r3, [r3, #4] 805d240: 1c5a adds r2, r3, #1 805d242: f107 03bc add.w r3, r7, #188 ; 0xbc 805d246: 609a str r2, [r3, #8] 805d248: f107 03bc add.w r3, r7, #188 ; 0xbc 805d24c: 685b ldr r3, [r3, #4] 805d24e: f640 72fe movw r2, #4094 ; 0xffe 805d252: 4293 cmp r3, r2 805d254: d905 bls.n 805d262 805d256: f107 03bc add.w r3, r7, #188 ; 0xbc 805d25a: 685a ldr r2, [r3, #4] 805d25c: f107 03bc add.w r3, r7, #188 ; 0xbc 805d260: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805d262: f107 03bc add.w r3, r7, #188 ; 0xbc 805d266: 685b ldr r3, [r3, #4] 805d268: 4a91 ldr r2, [pc, #580] ; (805d4b0 ) 805d26a: 5cd3 ldrb r3, [r2, r3] 805d26c: 2b00 cmp r3, #0 805d26e: d10d bne.n 805d28c 805d270: f107 03bc add.w r3, r7, #188 ; 0xbc 805d274: 681b ldr r3, [r3, #0] 805d276: 4a8e ldr r2, [pc, #568] ; (805d4b0 ) 805d278: 5cd3 ldrb r3, [r2, r3] 805d27a: 2b00 cmp r3, #0 805d27c: d106 bne.n 805d28c 805d27e: f107 03bc add.w r3, r7, #188 ; 0xbc 805d282: 689b ldr r3, [r3, #8] 805d284: 4a8a ldr r2, [pc, #552] ; (805d4b0 ) 805d286: 5cd3 ldrb r3, [r2, r3] 805d288: 2b00 cmp r3, #0 805d28a: d00a beq.n 805d2a2 { limit_1[i] = true; 805d28c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d290: f507 728c add.w r2, r7, #280 ; 0x118 805d294: 2101 movs r1, #1 805d296: 54d1 strb r1, [r2, r3] l++; 805d298: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805d29c: 3301 adds r3, #1 805d29e: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 3; i++) 805d2a2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d2a6: 3301 adds r3, #1 805d2a8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d2ac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d2b0: 2b02 cmp r3, #2 805d2b2: f67f af7b bls.w 805d1ac } } if((k >= 3) && (limit[0])) 805d2b6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805d2ba: 2b02 cmp r3, #2 805d2bc: d943 bls.n 805d346 805d2be: f507 7394 add.w r3, r7, #296 ; 0x128 805d2c2: 781b ldrb r3, [r3, #0] 805d2c4: 2b00 cmp r3, #0 805d2c6: d03e beq.n 805d346 { if((k >= 1) && (limit_1[0])) 805d2c8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805d2cc: 2b00 cmp r3, #0 805d2ce: d03a beq.n 805d346 805d2d0: f507 738c add.w r3, r7, #280 ; 0x118 805d2d4: 781b ldrb r3, [r3, #0] 805d2d6: 2b00 cmp r3, #0 805d2d8: d035 beq.n 805d346 { if((limit[1]) && (limit[2])) 805d2da: f507 7394 add.w r3, r7, #296 ; 0x128 805d2de: 785b ldrb r3, [r3, #1] 805d2e0: 2b00 cmp r3, #0 805d2e2: d007 beq.n 805d2f4 805d2e4: f507 7394 add.w r3, r7, #296 ; 0x128 805d2e8: 789b ldrb r3, [r3, #2] 805d2ea: 2b00 cmp r3, #0 805d2ec: d002 beq.n 805d2f4 { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_VNUTRENNEGO_KOLCA]; 805d2ee: 4b71 ldr r3, [pc, #452] ; (805d4b4 ) 805d2f0: 795b ldrb r3, [r3, #5] 805d2f2: e028 b.n 805d346 } else if((!limit[1]) && (limit[2]) && (limit[3])) 805d2f4: f507 7394 add.w r3, r7, #296 ; 0x128 805d2f8: 785b ldrb r3, [r3, #1] 805d2fa: f083 0301 eor.w r3, r3, #1 805d2fe: b2db uxtb r3, r3 805d300: 2b00 cmp r3, #0 805d302: d00c beq.n 805d31e 805d304: f507 7394 add.w r3, r7, #296 ; 0x128 805d308: 789b ldrb r3, [r3, #2] 805d30a: 2b00 cmp r3, #0 805d30c: d007 beq.n 805d31e 805d30e: f507 7394 add.w r3, r7, #296 ; 0x128 805d312: 78db ldrb r3, [r3, #3] 805d314: 2b00 cmp r3, #0 805d316: d002 beq.n 805d31e { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_VNUTRENNEGO_KOLCA]; 805d318: 4b66 ldr r3, [pc, #408] ; (805d4b4 ) 805d31a: 795b ldrb r3, [r3, #5] 805d31c: e013 b.n 805d346 } else if((limit[1]) && (!limit[2]) && (limit[3])) 805d31e: f507 7394 add.w r3, r7, #296 ; 0x128 805d322: 785b ldrb r3, [r3, #1] 805d324: 2b00 cmp r3, #0 805d326: d00e beq.n 805d346 805d328: f507 7394 add.w r3, r7, #296 ; 0x128 805d32c: 789b ldrb r3, [r3, #2] 805d32e: f083 0301 eor.w r3, r3, #1 805d332: b2db uxtb r3, r3 805d334: 2b00 cmp r3, #0 805d336: d006 beq.n 805d346 805d338: f507 7394 add.w r3, r7, #296 ; 0x128 805d33c: 78db ldrb r3, [r3, #3] 805d33e: 2b00 cmp r3, #0 805d340: d001 beq.n 805d346 { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_VNUTRENNEGO_KOLCA]; 805d342: 4b5c ldr r3, [pc, #368] ; (805d4b4 ) 805d344: 795b ldrb r3, [r3, #5] } } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Çàäèðû (òðåùèíû) íà âíóòðåííåì êîëüöå ////////// memset((void *) limit, false, sizeof(limit)); 805d346: f507 7394 add.w r3, r7, #296 ; 0x128 805d34a: 220f movs r2, #15 805d34c: 2100 movs r1, #0 805d34e: 4618 mov r0, r3 805d350: f074 fe28 bl 80d1fa4 memset((void *) limit_1, false, sizeof(limit_1)); 805d354: f507 738c add.w r3, r7, #280 ; 0x118 805d358: 220f movs r2, #15 805d35a: 2100 movs r1, #0 805d35c: 4618 mov r0, r3 805d35e: f074 fe21 bl 80d1fa4 arm_fill_f32(0.0f, frq, 15); 805d362: f507 73ba add.w r3, r7, #372 ; 0x174 805d366: 210f movs r1, #15 805d368: 4618 mov r0, r3 805d36a: ed9f 0a53 vldr s0, [pc, #332] ; 805d4b8 805d36e: f071 fc75 bl 80cec5c arm_fill_f32(0.0f, frq_1, 15); 805d372: f507 739c add.w r3, r7, #312 ; 0x138 805d376: 210f movs r1, #15 805d378: 4618 mov r0, r3 805d37a: ed9f 0a4f vldr s0, [pc, #316] ; 805d4b8 805d37e: f071 fc6d bl 80cec5c k = 0; 805d382: 2300 movs r3, #0 805d384: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805d388: 2300 movs r3, #0 805d38a: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 7; i++) 805d38e: 2300 movs r3, #0 805d390: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d394: e07f b.n 805d496 { frq[i] = Fvr * (float32_t)(i + 1); 805d396: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d39a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d39e: 3201 adds r2, #1 805d3a0: ee07 2a90 vmov s15, r2 805d3a4: eeb8 7a67 vcvt.f32.u32 s14, s15 805d3a8: 4a44 ldr r2, [pc, #272] ; (805d4bc ) 805d3aa: edd2 7a00 vldr s15, [r2] 805d3ae: ee67 7a27 vmul.f32 s15, s14, s15 805d3b2: 009b lsls r3, r3, #2 805d3b4: f507 720a add.w r2, r7, #552 ; 0x228 805d3b8: 4413 add r3, r2 805d3ba: 3bb4 subs r3, #180 ; 0xb4 805d3bc: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805d3c0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d3c4: 009b lsls r3, r3, #2 805d3c6: f507 720a add.w r2, r7, #552 ; 0x228 805d3ca: 4413 add r3, r2 805d3cc: 3bb4 subs r3, #180 ; 0xb4 805d3ce: ed93 7a00 vldr s14, [r3] 805d3d2: eddf 6a36 vldr s13, [pc, #216] ; 805d4ac 805d3d6: eec7 7a26 vdiv.f32 s15, s14, s13 805d3da: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805d3de: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d3e2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805d3e6: ee77 7a87 vadd.f32 s15, s15, s14 805d3ea: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805d3ee: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d3f2: eefc 7ae7 vcvt.u32.f32 s15, s15 805d3f6: ee17 2a90 vmov r2, s15 805d3fa: f107 03bc add.w r3, r7, #188 ; 0xbc 805d3fe: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805d400: f107 03bc add.w r3, r7, #188 ; 0xbc 805d404: 685b ldr r3, [r3, #4] 805d406: 1e5a subs r2, r3, #1 805d408: f107 03bc add.w r3, r7, #188 ; 0xbc 805d40c: 601a str r2, [r3, #0] 805d40e: f107 03bc add.w r3, r7, #188 ; 0xbc 805d412: 685b ldr r3, [r3, #4] 805d414: 2b01 cmp r3, #1 805d416: d805 bhi.n 805d424 805d418: f107 03bc add.w r3, r7, #188 ; 0xbc 805d41c: 685a ldr r2, [r3, #4] 805d41e: f107 03bc add.w r3, r7, #188 ; 0xbc 805d422: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805d424: f107 03bc add.w r3, r7, #188 ; 0xbc 805d428: 685b ldr r3, [r3, #4] 805d42a: 1c5a adds r2, r3, #1 805d42c: f107 03bc add.w r3, r7, #188 ; 0xbc 805d430: 609a str r2, [r3, #8] 805d432: f107 03bc add.w r3, r7, #188 ; 0xbc 805d436: 685b ldr r3, [r3, #4] 805d438: f640 72fe movw r2, #4094 ; 0xffe 805d43c: 4293 cmp r3, r2 805d43e: d905 bls.n 805d44c 805d440: f107 03bc add.w r3, r7, #188 ; 0xbc 805d444: 685a ldr r2, [r3, #4] 805d446: f107 03bc add.w r3, r7, #188 ; 0xbc 805d44a: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805d44c: f107 03bc add.w r3, r7, #188 ; 0xbc 805d450: 685b ldr r3, [r3, #4] 805d452: 4a17 ldr r2, [pc, #92] ; (805d4b0 ) 805d454: 5cd3 ldrb r3, [r2, r3] 805d456: 2b00 cmp r3, #0 805d458: d10d bne.n 805d476 805d45a: f107 03bc add.w r3, r7, #188 ; 0xbc 805d45e: 681b ldr r3, [r3, #0] 805d460: 4a13 ldr r2, [pc, #76] ; (805d4b0 ) 805d462: 5cd3 ldrb r3, [r2, r3] 805d464: 2b00 cmp r3, #0 805d466: d106 bne.n 805d476 805d468: f107 03bc add.w r3, r7, #188 ; 0xbc 805d46c: 689b ldr r3, [r3, #8] 805d46e: 4a10 ldr r2, [pc, #64] ; (805d4b0 ) 805d470: 5cd3 ldrb r3, [r2, r3] 805d472: 2b00 cmp r3, #0 805d474: d00a beq.n 805d48c { limit[i] = true; 805d476: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d47a: f507 7294 add.w r2, r7, #296 ; 0x128 805d47e: 2101 movs r1, #1 805d480: 54d1 strb r1, [r2, r3] k++; 805d482: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805d486: 3301 adds r3, #1 805d488: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 7; i++) 805d48c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d490: 3301 adds r3, #1 805d492: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d496: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d49a: 2b06 cmp r3, #6 805d49c: f67f af7b bls.w 805d396 } } for(i = 0; i < 3; i++) 805d4a0: 2300 movs r3, #0 805d4a2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d4a6: e08b b.n 805d5c0 805d4a8: 20026224 .word 0x20026224 805d4ac: 3efa0000 .word 0x3efa0000 805d4b0: 20018000 .word 0x20018000 805d4b4: 20026f70 .word 0x20026f70 805d4b8: 00000000 .word 0x00000000 805d4bc: 20026d60 .word 0x20026d60 { frq_1[i] = Fv * (float32_t)(i + 1); 805d4c0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d4c4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d4c8: 3201 adds r2, #1 805d4ca: ee07 2a90 vmov s15, r2 805d4ce: eeb8 7a67 vcvt.f32.u32 s14, s15 805d4d2: 4a9c ldr r2, [pc, #624] ; (805d744 ) 805d4d4: edd2 7a00 vldr s15, [r2] 805d4d8: ee67 7a27 vmul.f32 s15, s14, s15 805d4dc: 009b lsls r3, r3, #2 805d4de: f507 720a add.w r2, r7, #552 ; 0x228 805d4e2: 4413 add r3, r2 805d4e4: 3bf0 subs r3, #240 ; 0xf0 805d4e6: edc3 7a00 vstr s15, [r3] fl = frq_1[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805d4ea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d4ee: 009b lsls r3, r3, #2 805d4f0: f507 720a add.w r2, r7, #552 ; 0x228 805d4f4: 4413 add r3, r2 805d4f6: 3bf0 subs r3, #240 ; 0xf0 805d4f8: ed93 7a00 vldr s14, [r3] 805d4fc: eddf 6a92 vldr s13, [pc, #584] ; 805d748 805d500: eec7 7a26 vdiv.f32 s15, s14, s13 805d504: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805d508: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d50c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805d510: ee77 7a87 vadd.f32 s15, s15, s14 805d514: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805d518: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d51c: eefc 7ae7 vcvt.u32.f32 s15, s15 805d520: ee17 2a90 vmov r2, s15 805d524: f107 03bc add.w r3, r7, #188 ; 0xbc 805d528: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805d52a: f107 03bc add.w r3, r7, #188 ; 0xbc 805d52e: 685b ldr r3, [r3, #4] 805d530: 1e5a subs r2, r3, #1 805d532: f107 03bc add.w r3, r7, #188 ; 0xbc 805d536: 601a str r2, [r3, #0] 805d538: f107 03bc add.w r3, r7, #188 ; 0xbc 805d53c: 685b ldr r3, [r3, #4] 805d53e: 2b01 cmp r3, #1 805d540: d805 bhi.n 805d54e 805d542: f107 03bc add.w r3, r7, #188 ; 0xbc 805d546: 685a ldr r2, [r3, #4] 805d548: f107 03bc add.w r3, r7, #188 ; 0xbc 805d54c: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805d54e: f107 03bc add.w r3, r7, #188 ; 0xbc 805d552: 685b ldr r3, [r3, #4] 805d554: 1c5a adds r2, r3, #1 805d556: f107 03bc add.w r3, r7, #188 ; 0xbc 805d55a: 609a str r2, [r3, #8] 805d55c: f107 03bc add.w r3, r7, #188 ; 0xbc 805d560: 685b ldr r3, [r3, #4] 805d562: f640 72fe movw r2, #4094 ; 0xffe 805d566: 4293 cmp r3, r2 805d568: d905 bls.n 805d576 805d56a: f107 03bc add.w r3, r7, #188 ; 0xbc 805d56e: 685a ldr r2, [r3, #4] 805d570: f107 03bc add.w r3, r7, #188 ; 0xbc 805d574: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805d576: f107 03bc add.w r3, r7, #188 ; 0xbc 805d57a: 685b ldr r3, [r3, #4] 805d57c: 4a73 ldr r2, [pc, #460] ; (805d74c ) 805d57e: 5cd3 ldrb r3, [r2, r3] 805d580: 2b00 cmp r3, #0 805d582: d10d bne.n 805d5a0 805d584: f107 03bc add.w r3, r7, #188 ; 0xbc 805d588: 681b ldr r3, [r3, #0] 805d58a: 4a70 ldr r2, [pc, #448] ; (805d74c ) 805d58c: 5cd3 ldrb r3, [r2, r3] 805d58e: 2b00 cmp r3, #0 805d590: d106 bne.n 805d5a0 805d592: f107 03bc add.w r3, r7, #188 ; 0xbc 805d596: 689b ldr r3, [r3, #8] 805d598: 4a6c ldr r2, [pc, #432] ; (805d74c ) 805d59a: 5cd3 ldrb r3, [r2, r3] 805d59c: 2b00 cmp r3, #0 805d59e: d00a beq.n 805d5b6 { limit_1[i] = true; 805d5a0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d5a4: f507 728c add.w r2, r7, #280 ; 0x118 805d5a8: 2101 movs r1, #1 805d5aa: 54d1 strb r1, [r2, r3] l++; 805d5ac: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805d5b0: 3301 adds r3, #1 805d5b2: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 3; i++) 805d5b6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d5ba: 3301 adds r3, #1 805d5bc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d5c0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d5c4: 2b02 cmp r3, #2 805d5c6: f67f af7b bls.w 805d4c0 } } if((l >= 1) && (limit_1[0])) 805d5ca: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805d5ce: 2b00 cmp r3, #0 805d5d0: d007 beq.n 805d5e2 805d5d2: f507 738c add.w r3, r7, #280 ; 0x118 805d5d6: 781b ldrb r3, [r3, #0] 805d5d8: 2b00 cmp r3, #0 805d5da: d002 beq.n 805d5e2 { DEFECTS[ZADIRI_TRESCHINI_NA_VNUTRENNEM_KOLCE] = true; 805d5dc: 4b5c ldr r3, [pc, #368] ; (805d750 ) 805d5de: 2201 movs r2, #1 805d5e0: 719a strb r2, [r3, #6] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Èçíîñ òåë êà÷åíèÿ è ñåïàðàòîðà ///////////////// memset((void *) limit, false, sizeof(limit)); 805d5e2: f507 7394 add.w r3, r7, #296 ; 0x128 805d5e6: 220f movs r2, #15 805d5e8: 2100 movs r1, #0 805d5ea: 4618 mov r0, r3 805d5ec: f074 fcda bl 80d1fa4 memset((void *) limit_1, false, sizeof(limit_1)); 805d5f0: f507 738c add.w r3, r7, #280 ; 0x118 805d5f4: 220f movs r2, #15 805d5f6: 2100 movs r1, #0 805d5f8: 4618 mov r0, r3 805d5fa: f074 fcd3 bl 80d1fa4 arm_fill_f32(0.0f, frq, 15); 805d5fe: f507 73ba add.w r3, r7, #372 ; 0x174 805d602: 210f movs r1, #15 805d604: 4618 mov r0, r3 805d606: ed9f 0a53 vldr s0, [pc, #332] ; 805d754 805d60a: f071 fb27 bl 80cec5c arm_fill_f32(0.0f, frq_1, 15); 805d60e: f507 739c add.w r3, r7, #312 ; 0x138 805d612: 210f movs r1, #15 805d614: 4618 mov r0, r3 805d616: ed9f 0a4f vldr s0, [pc, #316] ; 805d754 805d61a: f071 fb1f bl 80cec5c k = 0; 805d61e: 2300 movs r3, #0 805d620: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805d624: 2300 movs r3, #0 805d626: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 8; i++) 805d62a: 2300 movs r3, #0 805d62c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d630: e07f b.n 805d732 { frq[i] = Fc * (float32_t)(i + 1); 805d632: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d636: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d63a: 3201 adds r2, #1 805d63c: ee07 2a90 vmov s15, r2 805d640: eeb8 7a67 vcvt.f32.u32 s14, s15 805d644: 4a44 ldr r2, [pc, #272] ; (805d758 ) 805d646: edd2 7a00 vldr s15, [r2] 805d64a: ee67 7a27 vmul.f32 s15, s14, s15 805d64e: 009b lsls r3, r3, #2 805d650: f507 720a add.w r2, r7, #552 ; 0x228 805d654: 4413 add r3, r2 805d656: 3bb4 subs r3, #180 ; 0xb4 805d658: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805d65c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d660: 009b lsls r3, r3, #2 805d662: f507 720a add.w r2, r7, #552 ; 0x228 805d666: 4413 add r3, r2 805d668: 3bb4 subs r3, #180 ; 0xb4 805d66a: ed93 7a00 vldr s14, [r3] 805d66e: eddf 6a36 vldr s13, [pc, #216] ; 805d748 805d672: eec7 7a26 vdiv.f32 s15, s14, s13 805d676: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805d67a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d67e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805d682: ee77 7a87 vadd.f32 s15, s15, s14 805d686: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805d68a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d68e: eefc 7ae7 vcvt.u32.f32 s15, s15 805d692: ee17 2a90 vmov r2, s15 805d696: f107 03bc add.w r3, r7, #188 ; 0xbc 805d69a: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805d69c: f107 03bc add.w r3, r7, #188 ; 0xbc 805d6a0: 685b ldr r3, [r3, #4] 805d6a2: 1e5a subs r2, r3, #1 805d6a4: f107 03bc add.w r3, r7, #188 ; 0xbc 805d6a8: 601a str r2, [r3, #0] 805d6aa: f107 03bc add.w r3, r7, #188 ; 0xbc 805d6ae: 685b ldr r3, [r3, #4] 805d6b0: 2b01 cmp r3, #1 805d6b2: d805 bhi.n 805d6c0 805d6b4: f107 03bc add.w r3, r7, #188 ; 0xbc 805d6b8: 685a ldr r2, [r3, #4] 805d6ba: f107 03bc add.w r3, r7, #188 ; 0xbc 805d6be: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805d6c0: f107 03bc add.w r3, r7, #188 ; 0xbc 805d6c4: 685b ldr r3, [r3, #4] 805d6c6: 1c5a adds r2, r3, #1 805d6c8: f107 03bc add.w r3, r7, #188 ; 0xbc 805d6cc: 609a str r2, [r3, #8] 805d6ce: f107 03bc add.w r3, r7, #188 ; 0xbc 805d6d2: 685b ldr r3, [r3, #4] 805d6d4: f640 72fe movw r2, #4094 ; 0xffe 805d6d8: 4293 cmp r3, r2 805d6da: d905 bls.n 805d6e8 805d6dc: f107 03bc add.w r3, r7, #188 ; 0xbc 805d6e0: 685a ldr r2, [r3, #4] 805d6e2: f107 03bc add.w r3, r7, #188 ; 0xbc 805d6e6: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805d6e8: f107 03bc add.w r3, r7, #188 ; 0xbc 805d6ec: 685b ldr r3, [r3, #4] 805d6ee: 4a17 ldr r2, [pc, #92] ; (805d74c ) 805d6f0: 5cd3 ldrb r3, [r2, r3] 805d6f2: 2b00 cmp r3, #0 805d6f4: d10d bne.n 805d712 805d6f6: f107 03bc add.w r3, r7, #188 ; 0xbc 805d6fa: 681b ldr r3, [r3, #0] 805d6fc: 4a13 ldr r2, [pc, #76] ; (805d74c ) 805d6fe: 5cd3 ldrb r3, [r2, r3] 805d700: 2b00 cmp r3, #0 805d702: d106 bne.n 805d712 805d704: f107 03bc add.w r3, r7, #188 ; 0xbc 805d708: 689b ldr r3, [r3, #8] 805d70a: 4a10 ldr r2, [pc, #64] ; (805d74c ) 805d70c: 5cd3 ldrb r3, [r2, r3] 805d70e: 2b00 cmp r3, #0 805d710: d00a beq.n 805d728 { limit[i] = true; 805d712: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d716: f507 7294 add.w r2, r7, #296 ; 0x128 805d71a: 2101 movs r1, #1 805d71c: 54d1 strb r1, [r2, r3] k++; 805d71e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805d722: 3301 adds r3, #1 805d724: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 8; i++) 805d728: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d72c: 3301 adds r3, #1 805d72e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d732: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d736: 2b07 cmp r3, #7 805d738: f67f af7b bls.w 805d632 } } for(i = 0; i < 8; i++) 805d73c: 2300 movs r3, #0 805d73e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d742: e090 b.n 805d866 805d744: 20026224 .word 0x20026224 805d748: 3efa0000 .word 0x3efa0000 805d74c: 20018000 .word 0x20018000 805d750: 20026f70 .word 0x20026f70 805d754: 00000000 .word 0x00000000 805d758: 20068380 .word 0x20068380 { frq_1[i] = (Fvr * (float32_t)(i + 1)) - Fc; 805d75c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d760: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d764: 3201 adds r2, #1 805d766: ee07 2a90 vmov s15, r2 805d76a: eeb8 7a67 vcvt.f32.u32 s14, s15 805d76e: 4ac5 ldr r2, [pc, #788] ; (805da84 ) 805d770: edd2 7a00 vldr s15, [r2] 805d774: ee27 7a27 vmul.f32 s14, s14, s15 805d778: 4ac3 ldr r2, [pc, #780] ; (805da88 ) 805d77a: edd2 7a00 vldr s15, [r2] 805d77e: ee77 7a67 vsub.f32 s15, s14, s15 805d782: 009b lsls r3, r3, #2 805d784: f507 720a add.w r2, r7, #552 ; 0x228 805d788: 4413 add r3, r2 805d78a: 3bf0 subs r3, #240 ; 0xf0 805d78c: edc3 7a00 vstr s15, [r3] fl = frq_1[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805d790: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d794: 009b lsls r3, r3, #2 805d796: f507 720a add.w r2, r7, #552 ; 0x228 805d79a: 4413 add r3, r2 805d79c: 3bf0 subs r3, #240 ; 0xf0 805d79e: ed93 7a00 vldr s14, [r3] 805d7a2: eddf 6aba vldr s13, [pc, #744] ; 805da8c 805d7a6: eec7 7a26 vdiv.f32 s15, s14, s13 805d7aa: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805d7ae: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d7b2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805d7b6: ee77 7a87 vadd.f32 s15, s15, s14 805d7ba: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805d7be: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d7c2: eefc 7ae7 vcvt.u32.f32 s15, s15 805d7c6: ee17 2a90 vmov r2, s15 805d7ca: f107 03bc add.w r3, r7, #188 ; 0xbc 805d7ce: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805d7d0: f107 03bc add.w r3, r7, #188 ; 0xbc 805d7d4: 685b ldr r3, [r3, #4] 805d7d6: 1e5a subs r2, r3, #1 805d7d8: f107 03bc add.w r3, r7, #188 ; 0xbc 805d7dc: 601a str r2, [r3, #0] 805d7de: f107 03bc add.w r3, r7, #188 ; 0xbc 805d7e2: 685b ldr r3, [r3, #4] 805d7e4: 2b01 cmp r3, #1 805d7e6: d805 bhi.n 805d7f4 805d7e8: f107 03bc add.w r3, r7, #188 ; 0xbc 805d7ec: 685a ldr r2, [r3, #4] 805d7ee: f107 03bc add.w r3, r7, #188 ; 0xbc 805d7f2: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805d7f4: f107 03bc add.w r3, r7, #188 ; 0xbc 805d7f8: 685b ldr r3, [r3, #4] 805d7fa: 1c5a adds r2, r3, #1 805d7fc: f107 03bc add.w r3, r7, #188 ; 0xbc 805d800: 609a str r2, [r3, #8] 805d802: f107 03bc add.w r3, r7, #188 ; 0xbc 805d806: 685b ldr r3, [r3, #4] 805d808: f640 72fe movw r2, #4094 ; 0xffe 805d80c: 4293 cmp r3, r2 805d80e: d905 bls.n 805d81c 805d810: f107 03bc add.w r3, r7, #188 ; 0xbc 805d814: 685a ldr r2, [r3, #4] 805d816: f107 03bc add.w r3, r7, #188 ; 0xbc 805d81a: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805d81c: f107 03bc add.w r3, r7, #188 ; 0xbc 805d820: 685b ldr r3, [r3, #4] 805d822: 4a9b ldr r2, [pc, #620] ; (805da90 ) 805d824: 5cd3 ldrb r3, [r2, r3] 805d826: 2b00 cmp r3, #0 805d828: d10d bne.n 805d846 805d82a: f107 03bc add.w r3, r7, #188 ; 0xbc 805d82e: 681b ldr r3, [r3, #0] 805d830: 4a97 ldr r2, [pc, #604] ; (805da90 ) 805d832: 5cd3 ldrb r3, [r2, r3] 805d834: 2b00 cmp r3, #0 805d836: d106 bne.n 805d846 805d838: f107 03bc add.w r3, r7, #188 ; 0xbc 805d83c: 689b ldr r3, [r3, #8] 805d83e: 4a94 ldr r2, [pc, #592] ; (805da90 ) 805d840: 5cd3 ldrb r3, [r2, r3] 805d842: 2b00 cmp r3, #0 805d844: d00a beq.n 805d85c { limit_1[i] = true; 805d846: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d84a: f507 728c add.w r2, r7, #280 ; 0x118 805d84e: 2101 movs r1, #1 805d850: 54d1 strb r1, [r2, r3] l++; 805d852: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805d856: 3301 adds r3, #1 805d858: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 8; i++) 805d85c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d860: 3301 adds r3, #1 805d862: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d866: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d86a: 2b07 cmp r3, #7 805d86c: f67f af76 bls.w 805d75c } } if((k >= 1) && ((limit[0]) || (limit[1]))) 805d870: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805d874: 2b00 cmp r3, #0 805d876: d00d beq.n 805d894 805d878: f507 7394 add.w r3, r7, #296 ; 0x128 805d87c: 781b ldrb r3, [r3, #0] 805d87e: 2b00 cmp r3, #0 805d880: d104 bne.n 805d88c 805d882: f507 7394 add.w r3, r7, #296 ; 0x128 805d886: 785b ldrb r3, [r3, #1] 805d888: 2b00 cmp r3, #0 805d88a: d003 beq.n 805d894 { DEFECTS[IZNOS_TEL_KACHENIYA_I_SEPARATORA] = true; 805d88c: 4b81 ldr r3, [pc, #516] ; (805da94 ) 805d88e: 2201 movs r2, #1 805d890: 71da strb r2, [r3, #7] 805d892: e010 b.n 805d8b6 } else if((l >= 1) && ((limit_1[0]) || (limit_1[1]))) 805d894: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805d898: 2b00 cmp r3, #0 805d89a: d00c beq.n 805d8b6 805d89c: f507 738c add.w r3, r7, #280 ; 0x118 805d8a0: 781b ldrb r3, [r3, #0] 805d8a2: 2b00 cmp r3, #0 805d8a4: d104 bne.n 805d8b0 805d8a6: f507 738c add.w r3, r7, #280 ; 0x118 805d8aa: 785b ldrb r3, [r3, #1] 805d8ac: 2b00 cmp r3, #0 805d8ae: d002 beq.n 805d8b6 { DEFECTS[IZNOS_TEL_KACHENIYA_I_SEPARATORA] = true; 805d8b0: 4b78 ldr r3, [pc, #480] ; (805da94 ) 805d8b2: 2201 movs r2, #1 805d8b4: 71da strb r2, [r3, #7] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Ãàêîâèíû, ñêîëû íà òåëàõ êà÷åíèÿ /////////////// memset((void *) limit, false, sizeof(limit)); 805d8b6: f507 7394 add.w r3, r7, #296 ; 0x128 805d8ba: 220f movs r2, #15 805d8bc: 2100 movs r1, #0 805d8be: 4618 mov r0, r3 805d8c0: f074 fb70 bl 80d1fa4 memset((void *) limit_1, false, sizeof(limit_1)); 805d8c4: f507 738c add.w r3, r7, #280 ; 0x118 805d8c8: 220f movs r2, #15 805d8ca: 2100 movs r1, #0 805d8cc: 4618 mov r0, r3 805d8ce: f074 fb69 bl 80d1fa4 arm_fill_f32(0.0f, frq, 15); 805d8d2: f507 73ba add.w r3, r7, #372 ; 0x174 805d8d6: 210f movs r1, #15 805d8d8: 4618 mov r0, r3 805d8da: ed9f 0a6f vldr s0, [pc, #444] ; 805da98 805d8de: f071 f9bd bl 80cec5c arm_fill_f32(0.0f, frq_1, 15); 805d8e2: f507 739c add.w r3, r7, #312 ; 0x138 805d8e6: 210f movs r1, #15 805d8e8: 4618 mov r0, r3 805d8ea: ed9f 0a6b vldr s0, [pc, #428] ; 805da98 805d8ee: f071 f9b5 bl 80cec5c k = 0; 805d8f2: 2300 movs r3, #0 805d8f4: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805d8f8: 2300 movs r3, #0 805d8fa: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 6; i++) 805d8fe: 2300 movs r3, #0 805d900: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d904: e07f b.n 805da06 { frq[i] = Ftk * (float32_t)(i + 1); 805d906: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d90a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d90e: 3201 adds r2, #1 805d910: ee07 2a90 vmov s15, r2 805d914: eeb8 7a67 vcvt.f32.u32 s14, s15 805d918: 4a60 ldr r2, [pc, #384] ; (805da9c ) 805d91a: edd2 7a00 vldr s15, [r2] 805d91e: ee67 7a27 vmul.f32 s15, s14, s15 805d922: 009b lsls r3, r3, #2 805d924: f507 720a add.w r2, r7, #552 ; 0x228 805d928: 4413 add r3, r2 805d92a: 3bb4 subs r3, #180 ; 0xb4 805d92c: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805d930: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d934: 009b lsls r3, r3, #2 805d936: f507 720a add.w r2, r7, #552 ; 0x228 805d93a: 4413 add r3, r2 805d93c: 3bb4 subs r3, #180 ; 0xb4 805d93e: ed93 7a00 vldr s14, [r3] 805d942: eddf 6a52 vldr s13, [pc, #328] ; 805da8c 805d946: eec7 7a26 vdiv.f32 s15, s14, s13 805d94a: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805d94e: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d952: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805d956: ee77 7a87 vadd.f32 s15, s15, s14 805d95a: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805d95e: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d962: eefc 7ae7 vcvt.u32.f32 s15, s15 805d966: ee17 2a90 vmov r2, s15 805d96a: f107 03bc add.w r3, r7, #188 ; 0xbc 805d96e: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805d970: f107 03bc add.w r3, r7, #188 ; 0xbc 805d974: 685b ldr r3, [r3, #4] 805d976: 1e5a subs r2, r3, #1 805d978: f107 03bc add.w r3, r7, #188 ; 0xbc 805d97c: 601a str r2, [r3, #0] 805d97e: f107 03bc add.w r3, r7, #188 ; 0xbc 805d982: 685b ldr r3, [r3, #4] 805d984: 2b01 cmp r3, #1 805d986: d805 bhi.n 805d994 805d988: f107 03bc add.w r3, r7, #188 ; 0xbc 805d98c: 685a ldr r2, [r3, #4] 805d98e: f107 03bc add.w r3, r7, #188 ; 0xbc 805d992: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805d994: f107 03bc add.w r3, r7, #188 ; 0xbc 805d998: 685b ldr r3, [r3, #4] 805d99a: 1c5a adds r2, r3, #1 805d99c: f107 03bc add.w r3, r7, #188 ; 0xbc 805d9a0: 609a str r2, [r3, #8] 805d9a2: f107 03bc add.w r3, r7, #188 ; 0xbc 805d9a6: 685b ldr r3, [r3, #4] 805d9a8: f640 72fe movw r2, #4094 ; 0xffe 805d9ac: 4293 cmp r3, r2 805d9ae: d905 bls.n 805d9bc 805d9b0: f107 03bc add.w r3, r7, #188 ; 0xbc 805d9b4: 685a ldr r2, [r3, #4] 805d9b6: f107 03bc add.w r3, r7, #188 ; 0xbc 805d9ba: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805d9bc: f107 03bc add.w r3, r7, #188 ; 0xbc 805d9c0: 685b ldr r3, [r3, #4] 805d9c2: 4a33 ldr r2, [pc, #204] ; (805da90 ) 805d9c4: 5cd3 ldrb r3, [r2, r3] 805d9c6: 2b00 cmp r3, #0 805d9c8: d10d bne.n 805d9e6 805d9ca: f107 03bc add.w r3, r7, #188 ; 0xbc 805d9ce: 681b ldr r3, [r3, #0] 805d9d0: 4a2f ldr r2, [pc, #188] ; (805da90 ) 805d9d2: 5cd3 ldrb r3, [r2, r3] 805d9d4: 2b00 cmp r3, #0 805d9d6: d106 bne.n 805d9e6 805d9d8: f107 03bc add.w r3, r7, #188 ; 0xbc 805d9dc: 689b ldr r3, [r3, #8] 805d9de: 4a2c ldr r2, [pc, #176] ; (805da90 ) 805d9e0: 5cd3 ldrb r3, [r2, r3] 805d9e2: 2b00 cmp r3, #0 805d9e4: d00a beq.n 805d9fc { limit[i] = true; 805d9e6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d9ea: f507 7294 add.w r2, r7, #296 ; 0x128 805d9ee: 2101 movs r1, #1 805d9f0: 54d1 strb r1, [r2, r3] k++; 805d9f2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805d9f6: 3301 adds r3, #1 805d9f8: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 6; i++) 805d9fc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805da00: 3301 adds r3, #1 805da02: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805da06: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805da0a: 2b05 cmp r3, #5 805da0c: f67f af7b bls.w 805d906 } } if((k >= 1) && ((limit[0]) || (limit[1]))) 805da10: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805da14: 2b00 cmp r3, #0 805da16: d00c beq.n 805da32 805da18: f507 7394 add.w r3, r7, #296 ; 0x128 805da1c: 781b ldrb r3, [r3, #0] 805da1e: 2b00 cmp r3, #0 805da20: d104 bne.n 805da2c 805da22: f507 7394 add.w r3, r7, #296 ; 0x128 805da26: 785b ldrb r3, [r3, #1] 805da28: 2b00 cmp r3, #0 805da2a: d002 beq.n 805da32 { DEFECTS[RAKOVINI_SKOLI_NA_TELAH_KACHENIYA] = true; 805da2c: 4b19 ldr r3, [pc, #100] ; (805da94 ) 805da2e: 2201 movs r2, #1 805da30: 721a strb r2, [r3, #8] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Ãåóðàâíîâåøåííîñòü ðîòîðà ////////////////////// memset((void *) limit, false, sizeof(limit)); 805da32: f507 7394 add.w r3, r7, #296 ; 0x128 805da36: 220f movs r2, #15 805da38: 2100 movs r1, #0 805da3a: 4618 mov r0, r3 805da3c: f074 fab2 bl 80d1fa4 memset((void *) limit_1, false, sizeof(limit_1)); 805da40: f507 738c add.w r3, r7, #280 ; 0x118 805da44: 220f movs r2, #15 805da46: 2100 movs r1, #0 805da48: 4618 mov r0, r3 805da4a: f074 faab bl 80d1fa4 arm_fill_f32(0.0f, frq, 15); 805da4e: f507 73ba add.w r3, r7, #372 ; 0x174 805da52: 210f movs r1, #15 805da54: 4618 mov r0, r3 805da56: ed9f 0a10 vldr s0, [pc, #64] ; 805da98 805da5a: f071 f8ff bl 80cec5c arm_fill_f32(0.0f, frq_1, 15); 805da5e: f507 739c add.w r3, r7, #312 ; 0x138 805da62: 210f movs r1, #15 805da64: 4618 mov r0, r3 805da66: ed9f 0a0c vldr s0, [pc, #48] ; 805da98 805da6a: f071 f8f7 bl 80cec5c k = 0; 805da6e: 2300 movs r3, #0 805da70: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805da74: 2300 movs r3, #0 805da76: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 15; i++) 805da7a: 2300 movs r3, #0 805da7c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805da80: e08e b.n 805dba0 805da82: bf00 nop 805da84: 20026d60 .word 0x20026d60 805da88: 20068380 .word 0x20068380 805da8c: 3efa0000 .word 0x3efa0000 805da90: 20018000 .word 0x20018000 805da94: 20026f70 .word 0x20026f70 805da98: 00000000 .word 0x00000000 805da9c: 20037aa0 .word 0x20037aa0 { frq[i] = Fvr * (float32_t)(i + 1); 805daa0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805daa4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805daa8: 3201 adds r2, #1 805daaa: ee07 2a90 vmov s15, r2 805daae: eeb8 7a67 vcvt.f32.u32 s14, s15 805dab2: 4a9c ldr r2, [pc, #624] ; (805dd24 ) 805dab4: edd2 7a00 vldr s15, [r2] 805dab8: ee67 7a27 vmul.f32 s15, s14, s15 805dabc: 009b lsls r3, r3, #2 805dabe: f507 720a add.w r2, r7, #552 ; 0x228 805dac2: 4413 add r3, r2 805dac4: 3bb4 subs r3, #180 ; 0xb4 805dac6: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805daca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dace: 009b lsls r3, r3, #2 805dad0: f507 720a add.w r2, r7, #552 ; 0x228 805dad4: 4413 add r3, r2 805dad6: 3bb4 subs r3, #180 ; 0xb4 805dad8: ed93 7a00 vldr s14, [r3] 805dadc: eddf 6a92 vldr s13, [pc, #584] ; 805dd28 805dae0: eec7 7a26 vdiv.f32 s15, s14, s13 805dae4: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805dae8: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805daec: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805daf0: ee77 7a87 vadd.f32 s15, s15, s14 805daf4: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805daf8: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805dafc: eefc 7ae7 vcvt.u32.f32 s15, s15 805db00: ee17 2a90 vmov r2, s15 805db04: f107 03bc add.w r3, r7, #188 ; 0xbc 805db08: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805db0a: f107 03bc add.w r3, r7, #188 ; 0xbc 805db0e: 685b ldr r3, [r3, #4] 805db10: 1e5a subs r2, r3, #1 805db12: f107 03bc add.w r3, r7, #188 ; 0xbc 805db16: 601a str r2, [r3, #0] 805db18: f107 03bc add.w r3, r7, #188 ; 0xbc 805db1c: 685b ldr r3, [r3, #4] 805db1e: 2b01 cmp r3, #1 805db20: d805 bhi.n 805db2e 805db22: f107 03bc add.w r3, r7, #188 ; 0xbc 805db26: 685a ldr r2, [r3, #4] 805db28: f107 03bc add.w r3, r7, #188 ; 0xbc 805db2c: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805db2e: f107 03bc add.w r3, r7, #188 ; 0xbc 805db32: 685b ldr r3, [r3, #4] 805db34: 1c5a adds r2, r3, #1 805db36: f107 03bc add.w r3, r7, #188 ; 0xbc 805db3a: 609a str r2, [r3, #8] 805db3c: f107 03bc add.w r3, r7, #188 ; 0xbc 805db40: 685b ldr r3, [r3, #4] 805db42: f640 72fe movw r2, #4094 ; 0xffe 805db46: 4293 cmp r3, r2 805db48: d905 bls.n 805db56 805db4a: f107 03bc add.w r3, r7, #188 ; 0xbc 805db4e: 685a ldr r2, [r3, #4] 805db50: f107 03bc add.w r3, r7, #188 ; 0xbc 805db54: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805db56: f107 03bc add.w r3, r7, #188 ; 0xbc 805db5a: 685b ldr r3, [r3, #4] 805db5c: 4a73 ldr r2, [pc, #460] ; (805dd2c ) 805db5e: 5cd3 ldrb r3, [r2, r3] 805db60: 2b00 cmp r3, #0 805db62: d10d bne.n 805db80 805db64: f107 03bc add.w r3, r7, #188 ; 0xbc 805db68: 681b ldr r3, [r3, #0] 805db6a: 4a70 ldr r2, [pc, #448] ; (805dd2c ) 805db6c: 5cd3 ldrb r3, [r2, r3] 805db6e: 2b00 cmp r3, #0 805db70: d106 bne.n 805db80 805db72: f107 03bc add.w r3, r7, #188 ; 0xbc 805db76: 689b ldr r3, [r3, #8] 805db78: 4a6c ldr r2, [pc, #432] ; (805dd2c ) 805db7a: 5cd3 ldrb r3, [r2, r3] 805db7c: 2b00 cmp r3, #0 805db7e: d00a beq.n 805db96 { limit[i] = true; 805db80: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805db84: f507 7294 add.w r2, r7, #296 ; 0x128 805db88: 2101 movs r1, #1 805db8a: 54d1 strb r1, [r2, r3] k++; 805db8c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805db90: 3301 adds r3, #1 805db92: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 15; i++) 805db96: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805db9a: 3301 adds r3, #1 805db9c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dba0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dba4: 2b0e cmp r3, #14 805dba6: f67f af7b bls.w 805daa0 } } if((k == 1) && ((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]]))) 805dbaa: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805dbae: 2b01 cmp r3, #1 805dbb0: d117 bne.n 805dbe2 805dbb2: f107 03bc add.w r3, r7, #188 ; 0xbc 805dbb6: 685b ldr r3, [r3, #4] 805dbb8: 4a5c ldr r2, [pc, #368] ; (805dd2c ) 805dbba: 5cd3 ldrb r3, [r2, r3] 805dbbc: 2b00 cmp r3, #0 805dbbe: d10d bne.n 805dbdc 805dbc0: f107 03bc add.w r3, r7, #188 ; 0xbc 805dbc4: 681b ldr r3, [r3, #0] 805dbc6: 4a59 ldr r2, [pc, #356] ; (805dd2c ) 805dbc8: 5cd3 ldrb r3, [r2, r3] 805dbca: 2b00 cmp r3, #0 805dbcc: d106 bne.n 805dbdc 805dbce: f107 03bc add.w r3, r7, #188 ; 0xbc 805dbd2: 689b ldr r3, [r3, #8] 805dbd4: 4a55 ldr r2, [pc, #340] ; (805dd2c ) 805dbd6: 5cd3 ldrb r3, [r2, r3] 805dbd8: 2b00 cmp r3, #0 805dbda: d002 beq.n 805dbe2 { DEFECTS[NEURAVNOVESHENNOST_ROTORA] = true; 805dbdc: 4b54 ldr r3, [pc, #336] ; (805dd30 ) 805dbde: 2201 movs r2, #1 805dbe0: 725a strb r2, [r3, #9] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Äåôåêòû óçëîâ êðåïëåíèÿ //////////////////////// memset((void *) limit, false, sizeof(limit)); 805dbe2: f507 7394 add.w r3, r7, #296 ; 0x128 805dbe6: 220f movs r2, #15 805dbe8: 2100 movs r1, #0 805dbea: 4618 mov r0, r3 805dbec: f074 f9da bl 80d1fa4 memset((void *) limit_1, false, sizeof(limit_1)); 805dbf0: f507 738c add.w r3, r7, #280 ; 0x118 805dbf4: 220f movs r2, #15 805dbf6: 2100 movs r1, #0 805dbf8: 4618 mov r0, r3 805dbfa: f074 f9d3 bl 80d1fa4 arm_fill_f32(0.0f, frq, 15); 805dbfe: f507 73ba add.w r3, r7, #372 ; 0x174 805dc02: 210f movs r1, #15 805dc04: 4618 mov r0, r3 805dc06: ed9f 0a4b vldr s0, [pc, #300] ; 805dd34 805dc0a: f071 f827 bl 80cec5c arm_fill_f32(0.0f, frq_1, 15); 805dc0e: f507 739c add.w r3, r7, #312 ; 0x138 805dc12: 210f movs r1, #15 805dc14: 4618 mov r0, r3 805dc16: ed9f 0a47 vldr s0, [pc, #284] ; 805dd34 805dc1a: f071 f81f bl 80cec5c k = 0; 805dc1e: 2300 movs r3, #0 805dc20: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805dc24: 2300 movs r3, #0 805dc26: f8c7 3224 str.w r3, [r7, #548] ; 0x224 frq[0] = Fvr / 2; 805dc2a: 4b3e ldr r3, [pc, #248] ; (805dd24 ) 805dc2c: ed93 7a00 vldr s14, [r3] 805dc30: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 805dc34: eec7 7a26 vdiv.f32 s15, s14, s13 805dc38: edc7 7a5d vstr s15, [r7, #372] ; 0x174 fl = frq[0] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805dc3c: ed97 7a5d vldr s14, [r7, #372] ; 0x174 805dc40: eddf 6a39 vldr s13, [pc, #228] ; 805dd28 805dc44: eec7 7a26 vdiv.f32 s15, s14, s13 805dc48: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805dc4c: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805dc50: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805dc54: ee77 7a87 vadd.f32 s15, s15, s14 805dc58: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc j = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805dc5c: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805dc60: eefc 7ae7 vcvt.u32.f32 s15, s15 805dc64: ee17 3a90 vmov r3, s15 805dc68: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc k = 1; 805dc6c: 2301 movs r3, #1 805dc6e: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 fs = ScrA_f32(1) - ScrA_f32(j); 805dc72: 4b31 ldr r3, [pc, #196] ; (805dd38 ) 805dc74: ed93 7a00 vldr s14, [r3] 805dc78: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805dc7c: 009a lsls r2, r3, #2 805dc7e: 4b2f ldr r3, [pc, #188] ; (805dd3c ) 805dc80: 4413 add r3, r2 805dc82: edd3 7a00 vldr s15, [r3] 805dc86: ee77 7a67 vsub.f32 s15, s14, s15 805dc8a: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 if(fs > 0) 805dc8e: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805dc92: eef5 7ac0 vcmpe.f32 s15, #0.0 805dc96: eef1 fa10 vmrs APSR_nzcv, fpscr 805dc9a: dd1b ble.n 805dcd4 { fs = fs / ((float32_t) j * 0.48828125f); 805dc9c: edd7 6a6e vldr s13, [r7, #440] ; 0x1b8 805dca0: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805dca4: ee07 3a90 vmov s15, r3 805dca8: eef8 7a67 vcvt.f32.u32 s15, s15 805dcac: ed9f 7a1e vldr s14, [pc, #120] ; 805dd28 805dcb0: ee27 7a87 vmul.f32 s14, s15, s14 805dcb4: eec6 7a87 vdiv.f32 s15, s13, s14 805dcb8: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 if(fs > 2.0f) { 805dcbc: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805dcc0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 805dcc4: eef4 7ac7 vcmpe.f32 s15, s14 805dcc8: eef1 fa10 vmrs APSR_nzcv, fpscr 805dccc: dd02 ble.n 805dcd4 DEFECTS[DEFECTI_UZLOV_KREPLENIYA] = true; 805dcce: 4b18 ldr r3, [pc, #96] ; (805dd30 ) 805dcd0: 2201 movs r2, #1 805dcd2: 729a strb r2, [r3, #10] } } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// ////////////////////////// Ãåñîîñíîñòü ////////////////////////////// memset((void *) limit, false, sizeof(limit)); 805dcd4: f507 7394 add.w r3, r7, #296 ; 0x128 805dcd8: 220f movs r2, #15 805dcda: 2100 movs r1, #0 805dcdc: 4618 mov r0, r3 805dcde: f074 f961 bl 80d1fa4 memset((void *) limit_1, false, sizeof(limit_1)); 805dce2: f507 738c add.w r3, r7, #280 ; 0x118 805dce6: 220f movs r2, #15 805dce8: 2100 movs r1, #0 805dcea: 4618 mov r0, r3 805dcec: f074 f95a bl 80d1fa4 arm_fill_f32(0.0f, frq, 15); 805dcf0: f507 73ba add.w r3, r7, #372 ; 0x174 805dcf4: 210f movs r1, #15 805dcf6: 4618 mov r0, r3 805dcf8: ed9f 0a0e vldr s0, [pc, #56] ; 805dd34 805dcfc: f070 ffae bl 80cec5c arm_fill_f32(0.0f, frq_1, 15); 805dd00: f507 739c add.w r3, r7, #312 ; 0x138 805dd04: 210f movs r1, #15 805dd06: 4618 mov r0, r3 805dd08: ed9f 0a0a vldr s0, [pc, #40] ; 805dd34 805dd0c: f070 ffa6 bl 80cec5c k = 0; 805dd10: 2300 movs r3, #0 805dd12: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805dd16: 2300 movs r3, #0 805dd18: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 15; i++) 805dd1c: 2300 movs r3, #0 805dd1e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dd22: e08d b.n 805de40 805dd24: 20026d60 .word 0x20026d60 805dd28: 3efa0000 .word 0x3efa0000 805dd2c: 20018000 .word 0x20018000 805dd30: 20026f70 .word 0x20026f70 805dd34: 00000000 .word 0x00000000 805dd38: 64080004 .word 0x64080004 805dd3c: 64080000 .word 0x64080000 { frq[i] = Fvr * (float32_t)(i + 1); 805dd40: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dd44: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805dd48: 3201 adds r2, #1 805dd4a: ee07 2a90 vmov s15, r2 805dd4e: eeb8 7a67 vcvt.f32.u32 s14, s15 805dd52: 4a75 ldr r2, [pc, #468] ; (805df28 ) 805dd54: edd2 7a00 vldr s15, [r2] 805dd58: ee67 7a27 vmul.f32 s15, s14, s15 805dd5c: 009b lsls r3, r3, #2 805dd5e: f507 720a add.w r2, r7, #552 ; 0x228 805dd62: 4413 add r3, r2 805dd64: 3bb4 subs r3, #180 ; 0xb4 805dd66: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805dd6a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dd6e: 009b lsls r3, r3, #2 805dd70: f507 720a add.w r2, r7, #552 ; 0x228 805dd74: 4413 add r3, r2 805dd76: 3bb4 subs r3, #180 ; 0xb4 805dd78: ed93 7a00 vldr s14, [r3] 805dd7c: eddf 6a6b vldr s13, [pc, #428] ; 805df2c 805dd80: eec7 7a26 vdiv.f32 s15, s14, s13 805dd84: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805dd88: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805dd8c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805dd90: ee77 7a87 vadd.f32 s15, s15, s14 805dd94: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805dd98: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805dd9c: eefc 7ae7 vcvt.u32.f32 s15, s15 805dda0: ee17 2a90 vmov r2, s15 805dda4: f107 03bc add.w r3, r7, #188 ; 0xbc 805dda8: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805ddaa: f107 03bc add.w r3, r7, #188 ; 0xbc 805ddae: 685b ldr r3, [r3, #4] 805ddb0: 1e5a subs r2, r3, #1 805ddb2: f107 03bc add.w r3, r7, #188 ; 0xbc 805ddb6: 601a str r2, [r3, #0] 805ddb8: f107 03bc add.w r3, r7, #188 ; 0xbc 805ddbc: 685b ldr r3, [r3, #4] 805ddbe: 2b01 cmp r3, #1 805ddc0: d805 bhi.n 805ddce 805ddc2: f107 03bc add.w r3, r7, #188 ; 0xbc 805ddc6: 685a ldr r2, [r3, #4] 805ddc8: f107 03bc add.w r3, r7, #188 ; 0xbc 805ddcc: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805ddce: f107 03bc add.w r3, r7, #188 ; 0xbc 805ddd2: 685b ldr r3, [r3, #4] 805ddd4: 1c5a adds r2, r3, #1 805ddd6: f107 03bc add.w r3, r7, #188 ; 0xbc 805ddda: 609a str r2, [r3, #8] 805dddc: f107 03bc add.w r3, r7, #188 ; 0xbc 805dde0: 685b ldr r3, [r3, #4] 805dde2: f640 72fe movw r2, #4094 ; 0xffe 805dde6: 4293 cmp r3, r2 805dde8: d905 bls.n 805ddf6 805ddea: f107 03bc add.w r3, r7, #188 ; 0xbc 805ddee: 685a ldr r2, [r3, #4] 805ddf0: f107 03bc add.w r3, r7, #188 ; 0xbc 805ddf4: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805ddf6: f107 03bc add.w r3, r7, #188 ; 0xbc 805ddfa: 685b ldr r3, [r3, #4] 805ddfc: 4a4c ldr r2, [pc, #304] ; (805df30 ) 805ddfe: 5cd3 ldrb r3, [r2, r3] 805de00: 2b00 cmp r3, #0 805de02: d10d bne.n 805de20 805de04: f107 03bc add.w r3, r7, #188 ; 0xbc 805de08: 681b ldr r3, [r3, #0] 805de0a: 4a49 ldr r2, [pc, #292] ; (805df30 ) 805de0c: 5cd3 ldrb r3, [r2, r3] 805de0e: 2b00 cmp r3, #0 805de10: d106 bne.n 805de20 805de12: f107 03bc add.w r3, r7, #188 ; 0xbc 805de16: 689b ldr r3, [r3, #8] 805de18: 4a45 ldr r2, [pc, #276] ; (805df30 ) 805de1a: 5cd3 ldrb r3, [r2, r3] 805de1c: 2b00 cmp r3, #0 805de1e: d00a beq.n 805de36 { limit[i] = true; 805de20: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805de24: f507 7294 add.w r2, r7, #296 ; 0x128 805de28: 2101 movs r1, #1 805de2a: 54d1 strb r1, [r2, r3] k++; 805de2c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805de30: 3301 adds r3, #1 805de32: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 15; i++) 805de36: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805de3a: 3301 adds r3, #1 805de3c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805de40: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805de44: 2b0e cmp r3, #14 805de46: f67f af7b bls.w 805dd40 } } if((k >= 8) && ((limit[0]) || (limit[1]))) 805de4a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805de4e: 2b07 cmp r3, #7 805de50: d971 bls.n 805df36 805de52: f507 7394 add.w r3, r7, #296 ; 0x128 805de56: 781b ldrb r3, [r3, #0] 805de58: 2b00 cmp r3, #0 805de5a: d104 bne.n 805de66 805de5c: f507 7394 add.w r3, r7, #296 ; 0x128 805de60: 785b ldrb r3, [r3, #1] 805de62: 2b00 cmp r3, #0 805de64: d067 beq.n 805df36 { k = 0; 805de66: 2300 movs r3, #0 805de68: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805de6c: 2300 movs r3, #0 805de6e: f8c7 3224 str.w r3, [r7, #548] ; 0x224 if(limit[0]) 805de72: f507 7394 add.w r3, r7, #296 ; 0x128 805de76: 781b ldrb r3, [r3, #0] 805de78: 2b00 cmp r3, #0 805de7a: d026 beq.n 805deca { for(i = 0; i < 15; i++) 805de7c: 2300 movs r3, #0 805de7e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805de82: e01d b.n 805dec0 { if(limit[i]) 805de84: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805de88: f507 7294 add.w r2, r7, #296 ; 0x128 805de8c: 5cd3 ldrb r3, [r2, r3] 805de8e: 2b00 cmp r3, #0 805de90: d008 beq.n 805dea4 { k++; 805de92: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805de96: 3301 adds r3, #1 805de98: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805de9c: 2300 movs r3, #0 805de9e: f8c7 3224 str.w r3, [r7, #548] ; 0x224 805dea2: e004 b.n 805deae } else l++; 805dea4: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805dea8: 3301 adds r3, #1 805deaa: f8c7 3224 str.w r3, [r7, #548] ; 0x224 if(l >= 2) 805deae: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805deb2: 2b01 cmp r3, #1 805deb4: d835 bhi.n 805df22 for(i = 0; i < 15; i++) 805deb6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805deba: 3301 adds r3, #1 805debc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dec0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dec4: 2b0e cmp r3, #14 805dec6: d9dd bls.n 805de84 805dec8: e035 b.n 805df36 break; } } else if(limit[1]) 805deca: f507 7394 add.w r3, r7, #296 ; 0x128 805dece: 785b ldrb r3, [r3, #1] 805ded0: 2b00 cmp r3, #0 805ded2: d030 beq.n 805df36 { for(i = 1; i < 15; i++) 805ded4: 2301 movs r3, #1 805ded6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805deda: e01d b.n 805df18 { if(limit[i]) 805dedc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dee0: f507 7294 add.w r2, r7, #296 ; 0x128 805dee4: 5cd3 ldrb r3, [r2, r3] 805dee6: 2b00 cmp r3, #0 805dee8: d008 beq.n 805defc { k++; 805deea: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805deee: 3301 adds r3, #1 805def0: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805def4: 2300 movs r3, #0 805def6: f8c7 3224 str.w r3, [r7, #548] ; 0x224 805defa: e004 b.n 805df06 } else l++; 805defc: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805df00: 3301 adds r3, #1 805df02: f8c7 3224 str.w r3, [r7, #548] ; 0x224 if(l >= 2) 805df06: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805df0a: 2b01 cmp r3, #1 805df0c: d812 bhi.n 805df34 for(i = 1; i < 15; i++) 805df0e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805df12: 3301 adds r3, #1 805df14: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805df18: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805df1c: 2b0e cmp r3, #14 805df1e: d9dd bls.n 805dedc 805df20: e009 b.n 805df36 break; 805df22: bf00 nop 805df24: e007 b.n 805df36 805df26: bf00 nop 805df28: 20026d60 .word 0x20026d60 805df2c: 3efa0000 .word 0x3efa0000 805df30: 20018000 .word 0x20018000 break; 805df34: bf00 nop } } } if(k >= 8) 805df36: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805df3a: 2b07 cmp r3, #7 805df3c: d902 bls.n 805df44 { DEFECTS[NESOOSNOST] = true; 805df3e: 4b9f ldr r3, [pc, #636] ; (805e1bc ) 805df40: 2201 movs r2, #1 805df42: 72da strb r2, [r3, #11] } ///////////////////////////////////////////////////////////////////// MeanCnt = 0; 805df44: 4b9e ldr r3, [pc, #632] ; (805e1c0 ) 805df46: 2200 movs r2, #0 805df48: 601a str r2, [r3, #0] NeedSTOP = true; 805df4a: 4b9e ldr r3, [pc, #632] ; (805e1c4 ) 805df4c: 2201 movs r2, #1 805df4e: 701a strb r2, [r3, #0] SeeResults = true; 805df50: 4b9d ldr r3, [pc, #628] ; (805e1c8 ) 805df52: 2201 movs r2, #1 805df54: 701a strb r2, [r3, #0] //ViewLevel = 1; //*************************************************************// lvl_0 = 0; 805df56: 2300 movs r3, #0 805df58: f8c7 31fc str.w r3, [r7, #508] ; 0x1fc dX = Avg[1][5 * ViewLevel + pardata.LNE]; 805df5c: 4b9b ldr r3, [pc, #620] ; (805e1cc ) 805df5e: 781b ldrb r3, [r3, #0] 805df60: b2db uxtb r3, r3 805df62: 461a mov r2, r3 805df64: 4613 mov r3, r2 805df66: 009b lsls r3, r3, #2 805df68: 4413 add r3, r2 805df6a: 4a99 ldr r2, [pc, #612] ; (805e1d0 ) 805df6c: 79d2 ldrb r2, [r2, #7] 805df6e: b2d2 uxtb r2, r2 805df70: 4413 add r3, r2 805df72: 4a98 ldr r2, [pc, #608] ; (805e1d4 ) 805df74: 3323 adds r3, #35 ; 0x23 805df76: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 805df7a: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa MaxLevel = 4; 805df7e: 2304 movs r3, #4 805df80: f8a7 31f8 strh.w r3, [r7, #504] ; 0x1f8 if((ViewLevel < MaxLevel) && (dX > 1)) 805df84: 4b91 ldr r3, [pc, #580] ; (805e1cc ) 805df86: 781b ldrb r3, [r3, #0] 805df88: b2db uxtb r3, r3 805df8a: b29b uxth r3, r3 805df8c: f8b7 21f8 ldrh.w r2, [r7, #504] ; 0x1f8 805df90: 429a cmp r2, r3 805df92: f240 80de bls.w 805e152 805df96: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805df9a: 2b01 cmp r3, #1 805df9c: f240 80d9 bls.w 805e152 { ViewLevel = 1; 805dfa0: 4b8a ldr r3, [pc, #552] ; (805e1cc ) 805dfa2: 2201 movs r2, #1 805dfa4: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 805dfa6: 4b89 ldr r3, [pc, #548] ; (805e1cc ) 805dfa8: 781b ldrb r3, [r3, #0] 805dfaa: b2db uxtb r3, r3 805dfac: 461a mov r2, r3 805dfae: 4613 mov r3, r2 805dfb0: 009b lsls r3, r3, #2 805dfb2: 4413 add r3, r2 805dfb4: 4a86 ldr r2, [pc, #536] ; (805e1d0 ) 805dfb6: 79d2 ldrb r2, [r2, #7] 805dfb8: b2d2 uxtb r2, r2 805dfba: 4413 add r3, r2 805dfbc: 4a85 ldr r2, [pc, #532] ; (805e1d4 ) 805dfbe: 3323 adds r3, #35 ; 0x23 805dfc0: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 805dfc4: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa X0 = Mpos - CURSOR * dX; 805dfc8: 4b83 ldr r3, [pc, #524] ; (805e1d8 ) 805dfca: 881b ldrh r3, [r3, #0] 805dfcc: b29a uxth r2, r3 805dfce: 4b83 ldr r3, [pc, #524] ; (805e1dc ) 805dfd0: 681b ldr r3, [r3, #0] 805dfd2: b29b uxth r3, r3 805dfd4: f8b7 11fa ldrh.w r1, [r7, #506] ; 0x1fa 805dfd8: fb11 f303 smulbb r3, r1, r3 805dfdc: b29b uxth r3, r3 805dfde: 1ad3 subs r3, r2, r3 805dfe0: b29a uxth r2, r3 805dfe2: 4b7f ldr r3, [pc, #508] ; (805e1e0 ) 805dfe4: 801a strh r2, [r3, #0] lX = X0; 805dfe6: 4b7e ldr r3, [pc, #504] ; (805e1e0 ) 805dfe8: 881b ldrh r3, [r3, #0] 805dfea: b29a uxth r2, r3 805dfec: 4b7d ldr r3, [pc, #500] ; (805e1e4 ) 805dfee: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 805dff0: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805dff4: 021b lsls r3, r3, #8 805dff6: b29a uxth r2, r3 805dff8: 4b7a ldr r3, [pc, #488] ; (805e1e4 ) 805dffa: 881b ldrh r3, [r3, #0] 805dffc: b29b uxth r3, r3 805dffe: 4413 add r3, r2 805e000: b29a uxth r2, r3 805e002: 4b79 ldr r3, [pc, #484] ; (805e1e8 ) 805e004: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 805e006: 4b79 ldr r3, [pc, #484] ; (805e1ec ) 805e008: 881b ldrh r3, [r3, #0] 805e00a: b29b uxth r3, r3 805e00c: 461a mov r2, r3 805e00e: 4b75 ldr r3, [pc, #468] ; (805e1e4 ) 805e010: 881b ldrh r3, [r3, #0] 805e012: b29b uxth r3, r3 805e014: 1ad2 subs r2, r2, r3 805e016: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805e01a: fb92 f3f3 sdiv r3, r2, r3 805e01e: 461a mov r2, r3 805e020: 4b6e ldr r3, [pc, #440] ; (805e1dc ) 805e022: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 805e024: 4b6d ldr r3, [pc, #436] ; (805e1dc ) 805e026: 681b ldr r3, [r3, #0] 805e028: b29b uxth r3, r3 805e02a: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 805e02e: fb12 f303 smulbb r3, r2, r3 805e032: b29a uxth r2, r3 805e034: 4b6b ldr r3, [pc, #428] ; (805e1e4 ) 805e036: 881b ldrh r3, [r3, #0] 805e038: b29b uxth r3, r3 805e03a: 4413 add r3, r2 805e03c: b29a uxth r2, r3 805e03e: 4b66 ldr r3, [pc, #408] ; (805e1d8 ) 805e040: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 805e042: 4b66 ldr r3, [pc, #408] ; (805e1dc ) 805e044: 681b ldr r3, [r3, #0] 805e046: 2b7f cmp r3, #127 ; 0x7f 805e048: d83b bhi.n 805e0c2 805e04a: 4b65 ldr r3, [pc, #404] ; (805e1e0 ) 805e04c: 881b ldrh r3, [r3, #0] 805e04e: b29b uxth r3, r3 805e050: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 805e054: 429a cmp r2, r3 805e056: d834 bhi.n 805e0c2 { if(lX >= dX) 805e058: 4b62 ldr r3, [pc, #392] ; (805e1e4 ) 805e05a: 881b ldrh r3, [r3, #0] 805e05c: b29b uxth r3, r3 805e05e: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 805e062: 429a cmp r2, r3 805e064: d875 bhi.n 805e152 { CURSOR++; 805e066: 4b5d ldr r3, [pc, #372] ; (805e1dc ) 805e068: 681b ldr r3, [r3, #0] 805e06a: 3301 adds r3, #1 805e06c: 4a5b ldr r2, [pc, #364] ; (805e1dc ) 805e06e: 6013 str r3, [r2, #0] X0 -= dX; 805e070: 4b5b ldr r3, [pc, #364] ; (805e1e0 ) 805e072: 881b ldrh r3, [r3, #0] 805e074: b29a uxth r2, r3 805e076: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805e07a: 1ad3 subs r3, r2, r3 805e07c: b29a uxth r2, r3 805e07e: 4b58 ldr r3, [pc, #352] ; (805e1e0 ) 805e080: 801a strh r2, [r3, #0] lX = X0; 805e082: 4b57 ldr r3, [pc, #348] ; (805e1e0 ) 805e084: 881b ldrh r3, [r3, #0] 805e086: b29a uxth r2, r3 805e088: 4b56 ldr r3, [pc, #344] ; (805e1e4 ) 805e08a: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 805e08c: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805e090: 021b lsls r3, r3, #8 805e092: b29a uxth r2, r3 805e094: 4b53 ldr r3, [pc, #332] ; (805e1e4 ) 805e096: 881b ldrh r3, [r3, #0] 805e098: b29b uxth r3, r3 805e09a: 4413 add r3, r2 805e09c: b29a uxth r2, r3 805e09e: 4b52 ldr r3, [pc, #328] ; (805e1e8 ) 805e0a0: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 805e0a2: 4b52 ldr r3, [pc, #328] ; (805e1ec ) 805e0a4: 881b ldrh r3, [r3, #0] 805e0a6: b29b uxth r3, r3 805e0a8: 461a mov r2, r3 805e0aa: 4b4e ldr r3, [pc, #312] ; (805e1e4 ) 805e0ac: 881b ldrh r3, [r3, #0] 805e0ae: b29b uxth r3, r3 805e0b0: 1ad2 subs r2, r2, r3 805e0b2: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805e0b6: fb92 f3f3 sdiv r3, r2, r3 805e0ba: 461a mov r2, r3 805e0bc: 4b47 ldr r3, [pc, #284] ; (805e1dc ) 805e0be: 601a str r2, [r3, #0] if(lX >= dX) 805e0c0: e047 b.n 805e152 } } else if(CURSOR > (256 >> 1)) 805e0c2: 4b46 ldr r3, [pc, #280] ; (805e1dc ) 805e0c4: 681b ldr r3, [r3, #0] 805e0c6: 2b80 cmp r3, #128 ; 0x80 805e0c8: d943 bls.n 805e152 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 805e0ca: 4b47 ldr r3, [pc, #284] ; (805e1e8 ) 805e0cc: 881b ldrh r3, [r3, #0] 805e0ce: b29b uxth r3, r3 805e0d0: 461a mov r2, r3 805e0d2: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805e0d6: 18d1 adds r1, r2, r3 805e0d8: f8d7 21fc ldr.w r2, [r7, #508] ; 0x1fc 805e0dc: 4613 mov r3, r2 805e0de: 009b lsls r3, r3, #2 805e0e0: 4413 add r3, r2 805e0e2: 4a3b ldr r2, [pc, #236] ; (805e1d0 ) 805e0e4: 79d2 ldrb r2, [r2, #7] 805e0e6: b2d2 uxtb r2, r2 805e0e8: 4413 add r3, r2 805e0ea: 4a3a ldr r2, [pc, #232] ; (805e1d4 ) 805e0ec: 3323 adds r3, #35 ; 0x23 805e0ee: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 805e0f2: 021b lsls r3, r3, #8 805e0f4: 4299 cmp r1, r3 805e0f6: dc2c bgt.n 805e152 { CURSOR--; 805e0f8: 4b38 ldr r3, [pc, #224] ; (805e1dc ) 805e0fa: 681b ldr r3, [r3, #0] 805e0fc: 3b01 subs r3, #1 805e0fe: 4a37 ldr r2, [pc, #220] ; (805e1dc ) 805e100: 6013 str r3, [r2, #0] X0 += dX; 805e102: 4b37 ldr r3, [pc, #220] ; (805e1e0 ) 805e104: 881b ldrh r3, [r3, #0] 805e106: b29a uxth r2, r3 805e108: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805e10c: 4413 add r3, r2 805e10e: b29a uxth r2, r3 805e110: 4b33 ldr r3, [pc, #204] ; (805e1e0 ) 805e112: 801a strh r2, [r3, #0] lX = X0; 805e114: 4b32 ldr r3, [pc, #200] ; (805e1e0 ) 805e116: 881b ldrh r3, [r3, #0] 805e118: b29a uxth r2, r3 805e11a: 4b32 ldr r3, [pc, #200] ; (805e1e4 ) 805e11c: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 805e11e: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805e122: 021b lsls r3, r3, #8 805e124: b29a uxth r2, r3 805e126: 4b2f ldr r3, [pc, #188] ; (805e1e4 ) 805e128: 881b ldrh r3, [r3, #0] 805e12a: b29b uxth r3, r3 805e12c: 4413 add r3, r2 805e12e: b29a uxth r2, r3 805e130: 4b2d ldr r3, [pc, #180] ; (805e1e8 ) 805e132: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 805e134: 4b2d ldr r3, [pc, #180] ; (805e1ec ) 805e136: 881b ldrh r3, [r3, #0] 805e138: b29b uxth r3, r3 805e13a: 461a mov r2, r3 805e13c: 4b29 ldr r3, [pc, #164] ; (805e1e4 ) 805e13e: 881b ldrh r3, [r3, #0] 805e140: b29b uxth r3, r3 805e142: 1ad2 subs r2, r2, r3 805e144: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805e148: fb92 f3f3 sdiv r3, r2, r3 805e14c: 461a mov r2, r3 805e14e: 4b23 ldr r3, [pc, #140] ; (805e1dc ) 805e150: 601a str r2, [r3, #0] } } } AUTOZOOM = true; 805e152: 4b27 ldr r3, [pc, #156] ; (805e1f0 ) 805e154: 2201 movs r2, #1 805e156: 701a strb r2, [r3, #0] if(NSamples < 20) 805e158: e004 b.n 805e164 } } } else { RepeatKm = true; 805e15a: 4b26 ldr r3, [pc, #152] ; (805e1f4 ) 805e15c: 2201 movs r2, #1 805e15e: 701a strb r2, [r3, #0] } } break; 805e160: f007 bcf1 b.w 8065b46 if(NSamples < 20) 805e164: bf00 nop break; 805e166: f007 bcee b.w 8065b46 case UDAR: // if(measuring) 805e16a: 4b23 ldr r3, [pc, #140] ; (805e1f8 ) 805e16c: 781b ldrb r3, [r3, #0] 805e16e: b2db uxtb r3, r3 805e170: 2b00 cmp r3, #0 805e172: f007 84ea beq.w 8065b4a { tick = HAL_GetTick(); 805e176: f059 fc55 bl 80b7a24 805e17a: f8c7 021c str.w r0, [r7, #540] ; 0x21c GetData(); 805e17e: f007 ffa5 bl 80660cc READY = 0; 805e182: 4b1e ldr r3, [pc, #120] ; (805e1fc ) 805e184: 2200 movs r2, #0 805e186: 701a strb r2, [r3, #0] //tick = HAL_GetTick() - tick; //CalculateGain(Ns); if(AUTOKU) 805e188: 4b1d ldr r3, [pc, #116] ; (805e200 ) 805e18a: 781b ldrb r3, [r3, #0] 805e18c: b2db uxtb r3, r3 805e18e: 2b00 cmp r3, #0 805e190: d005 beq.n 805e19e CalculateGain(Ns); 805e192: 4b1c ldr r3, [pc, #112] ; (805e204 ) 805e194: 681b ldr r3, [r3, #0] 805e196: 4618 mov r0, r3 805e198: f7f9 f97a bl 8057490 805e19c: e06e b.n 805e27c else { Stability = (Nr * 4) + 1; 805e19e: 4b1a ldr r3, [pc, #104] ; (805e208 ) 805e1a0: 881b ldrh r3, [r3, #0] 805e1a2: b29b uxth r3, r3 805e1a4: 009b lsls r3, r3, #2 805e1a6: 3301 adds r3, #1 805e1a8: 461a mov r2, r3 805e1aa: 4b18 ldr r3, [pc, #96] ; (805e20c ) 805e1ac: 601a str r2, [r3, #0] j = 0; 805e1ae: 2300 movs r3, #0 805e1b0: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < 8192; i++) 805e1b4: 2300 movs r3, #0 805e1b6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e1ba: e04f b.n 805e25c 805e1bc: 20026f70 .word 0x20026f70 805e1c0: 20020dd8 .word 0x20020dd8 805e1c4: 20020fca .word 0x20020fca 805e1c8: 20020d88 .word 0x20020d88 805e1cc: 20020fc0 .word 0x20020fc0 805e1d0: 20023eb8 .word 0x20023eb8 805e1d4: 080f544c .word 0x080f544c 805e1d8: 20025d6e .word 0x20025d6e 805e1dc: 2002006c .word 0x2002006c 805e1e0: 20025d76 .word 0x20025d76 805e1e4: 20025d72 .word 0x20025d72 805e1e8: 20025d78 .word 0x20025d78 805e1ec: 20025d74 .word 0x20025d74 805e1f0: 20020994 .word 0x20020994 805e1f4: 20020dcc .word 0x20020dcc 805e1f8: 20020dcf .word 0x20020dcf 805e1fc: 20020d9f .word 0x20020d9f 805e200: 20020029 .word 0x20020029 805e204: 20021d2c .word 0x20021d2c 805e208: 20021d70 .word 0x20021d70 805e20c: 20020dc8 .word 0x20020dc8 { if((In16[i].sh[0] & 0xfff) > 4050) { 805e210: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e214: 4ab6 ldr r2, [pc, #728] ; (805e4f0 ) 805e216: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 805e21a: f3c3 030b ubfx r3, r3, #0, #12 805e21e: f640 72d2 movw r2, #4050 ; 0xfd2 805e222: 4293 cmp r3, r2 805e224: dd04 ble.n 805e230 j++; 805e226: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805e22a: 3301 adds r3, #1 805e22c: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc } if((In16[i].sh[1] & 0xfff) > 4050) { 805e230: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e234: 4aae ldr r2, [pc, #696] ; (805e4f0 ) 805e236: 009b lsls r3, r3, #2 805e238: 4413 add r3, r2 805e23a: 885b ldrh r3, [r3, #2] 805e23c: f3c3 030b ubfx r3, r3, #0, #12 805e240: f640 72d2 movw r2, #4050 ; 0xfd2 805e244: 4293 cmp r3, r2 805e246: dd04 ble.n 805e252 j++; 805e248: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805e24c: 3301 adds r3, #1 805e24e: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < 8192; i++) 805e252: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e256: 3301 adds r3, #1 805e258: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e25c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e260: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 805e264: d3d4 bcc.n 805e210 } } if(j >= 2) 805e266: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805e26a: 2b01 cmp r3, #1 805e26c: d903 bls.n 805e276 OVERDRIVE = true; 805e26e: 4ba1 ldr r3, [pc, #644] ; (805e4f4 ) 805e270: 2201 movs r2, #1 805e272: 701a strb r2, [r3, #0] 805e274: e002 b.n 805e27c else OVERDRIVE = false; 805e276: 4b9f ldr r3, [pc, #636] ; (805e4f4 ) 805e278: 2200 movs r2, #0 805e27a: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805e27c: 4b9e ldr r3, [pc, #632] ; (805e4f8 ) 805e27e: 781b ldrb r3, [r3, #0] 805e280: b2db uxtb r3, r3 805e282: 2b00 cmp r3, #0 805e284: d040 beq.n 805e308 { if((!NSamples) || (NSamples == 0xffffffff)) 805e286: 4b9d ldr r3, [pc, #628] ; (805e4fc ) 805e288: 681b ldr r3, [r3, #0] 805e28a: 2b00 cmp r3, #0 805e28c: d004 beq.n 805e298 805e28e: 4b9b ldr r3, [pc, #620] ; (805e4fc ) 805e290: 681b ldr r3, [r3, #0] 805e292: f1b3 3fff cmp.w r3, #4294967295 805e296: d103 bne.n 805e2a0 Stability = 0; 805e298: 4b99 ldr r3, [pc, #612] ; (805e500 ) 805e29a: 2200 movs r2, #0 805e29c: 601a str r2, [r3, #0] 805e29e: e007 b.n 805e2b0 else Stability = (Nr * 4) + 1; 805e2a0: 4b98 ldr r3, [pc, #608] ; (805e504 ) 805e2a2: 881b ldrh r3, [r3, #0] 805e2a4: b29b uxth r3, r3 805e2a6: 009b lsls r3, r3, #2 805e2a8: 3301 adds r3, #1 805e2aa: 461a mov r2, r3 805e2ac: 4b94 ldr r3, [pc, #592] ; (805e500 ) 805e2ae: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805e2b0: 4b92 ldr r3, [pc, #584] ; (805e4fc ) 805e2b2: f04f 32ff mov.w r2, #4294967295 805e2b6: 601a str r2, [r3, #0] MeanCnt = 0; 805e2b8: 4b93 ldr r3, [pc, #588] ; (805e508 ) 805e2ba: 2200 movs r2, #0 805e2bc: 601a str r2, [r3, #0] skz[1] = 1231298379172381; 805e2be: 4b93 ldr r3, [pc, #588] ; (805e50c ) 805e2c0: 4a93 ldr r2, [pc, #588] ; (805e510 ) 805e2c2: 605a str r2, [r3, #4] skz[0] = 0; 805e2c4: 4b91 ldr r3, [pc, #580] ; (805e50c ) 805e2c6: f04f 0200 mov.w r2, #0 805e2ca: 601a str r2, [r3, #0] MAXIMUM = 0; 805e2cc: 4b91 ldr r3, [pc, #580] ; (805e514 ) 805e2ce: f04f 0200 mov.w r2, #0 805e2d2: 601a str r2, [r3, #0] MINIMUM = 999999; 805e2d4: 4b90 ldr r3, [pc, #576] ; (805e518 ) 805e2d6: 4a91 ldr r2, [pc, #580] ; (805e51c ) 805e2d8: 601a str r2, [r3, #0] dBc = -100.0f; 805e2da: 4b91 ldr r3, [pc, #580] ; (805e520 ) 805e2dc: 4a91 ldr r2, [pc, #580] ; (805e524 ) 805e2de: 601a str r2, [r3, #0] dBm = -100.0f; 805e2e0: 4b91 ldr r3, [pc, #580] ; (805e528 ) 805e2e2: 4a90 ldr r2, [pc, #576] ; (805e524 ) 805e2e4: 601a str r2, [r3, #0] NSamples++; 805e2e6: 4b85 ldr r3, [pc, #532] ; (805e4fc ) 805e2e8: 681b ldr r3, [r3, #0] 805e2ea: 3301 adds r3, #1 805e2ec: 4a83 ldr r2, [pc, #524] ; (805e4fc ) 805e2ee: 6013 str r3, [r2, #0] timeRelax = RELAX + 1; 805e2f0: 4b8e ldr r3, [pc, #568] ; (805e52c ) 805e2f2: 681b ldr r3, [r3, #0] 805e2f4: 3301 adds r3, #1 805e2f6: 4a8e ldr r2, [pc, #568] ; (805e530 ) 805e2f8: 6013 str r3, [r2, #0] stage = 0; 805e2fa: 4b8e ldr r3, [pc, #568] ; (805e534 ) 805e2fc: 2200 movs r2, #0 805e2fe: 701a strb r2, [r3, #0] faseUdar = 0; 805e300: 4b8d ldr r3, [pc, #564] ; (805e538 ) 805e302: 2200 movs r2, #0 805e304: 701a strb r2, [r3, #0] 805e306: e00d b.n 805e324 } else { if(Stability <= (Nr * 4)) 805e308: 4b7e ldr r3, [pc, #504] ; (805e504 ) 805e30a: 881b ldrh r3, [r3, #0] 805e30c: b29b uxth r3, r3 805e30e: 009b lsls r3, r3, #2 805e310: 461a mov r2, r3 805e312: 4b7b ldr r3, [pc, #492] ; (805e500 ) 805e314: 681b ldr r3, [r3, #0] 805e316: 429a cmp r2, r3 805e318: d304 bcc.n 805e324 Stability++; 805e31a: 4b79 ldr r3, [pc, #484] ; (805e500 ) 805e31c: 681b ldr r3, [r3, #0] 805e31e: 3301 adds r3, #1 805e320: 4a77 ldr r2, [pc, #476] ; (805e500 ) 805e322: 6013 str r3, [r2, #0] if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 805e324: 4b74 ldr r3, [pc, #464] ; (805e4f8 ) 805e326: 781b ldrb r3, [r3, #0] 805e328: b2db uxtb r3, r3 805e32a: 2b00 cmp r3, #0 805e32c: f040 82b4 bne.w 805e898 805e330: 4b74 ldr r3, [pc, #464] ; (805e504 ) 805e332: 881b ldrh r3, [r3, #0] 805e334: b29b uxth r3, r3 805e336: 009b lsls r3, r3, #2 805e338: 461a mov r2, r3 805e33a: 4b71 ldr r3, [pc, #452] ; (805e500 ) 805e33c: 681b ldr r3, [r3, #0] 805e33e: 429a cmp r2, r3 805e340: f080 82aa bcs.w 805e898 { sc = (2.85 / 4095.0) * (float64_t) CorrKk[ACC]; 805e344: 4b7d ldr r3, [pc, #500] ; (805e53c ) 805e346: edd3 7a00 vldr s15, [r3] 805e34a: eeb7 7ae7 vcvt.f64.f32 d7, s15 805e34e: ed9f 6b64 vldr d6, [pc, #400] ; 805e4e0 805e352: ee27 7b06 vmul.f64 d7, d7, d6 805e356: ed87 7b82 vstr d7, [r7, #520] ; 0x208 i = 8192; 805e35a: f44f 5300 mov.w r3, #8192 ; 0x2000 805e35e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 while(i > 0) 805e362: e038 b.n 805e3d6 { i--; 805e364: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e368: 3b01 subs r3, #1 805e36a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 Buff64[(i << 1)] = (float64_t) (In16[i].sh[0] & 0xffc) * sc; 805e36e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e372: 005a lsls r2, r3, #1 805e374: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e378: 495d ldr r1, [pc, #372] ; (805e4f0 ) 805e37a: f831 3023 ldrh.w r3, [r1, r3, lsl #2] 805e37e: 4619 mov r1, r3 805e380: f640 73fc movw r3, #4092 ; 0xffc 805e384: 400b ands r3, r1 805e386: ee07 3a90 vmov s15, r3 805e38a: eeb8 6be7 vcvt.f64.s32 d6, s15 805e38e: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805e392: ee26 7b07 vmul.f64 d7, d6, d7 805e396: 496a ldr r1, [pc, #424] ; (805e540 ) 805e398: 00d3 lsls r3, r2, #3 805e39a: 440b add r3, r1 805e39c: ed83 7b00 vstr d7, [r3] Buff64[(i << 1) + 1] = (float64_t) (In16[i].sh[1] & 0xffc) * sc; 805e3a0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e3a4: 005b lsls r3, r3, #1 805e3a6: 1c5a adds r2, r3, #1 805e3a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e3ac: 4950 ldr r1, [pc, #320] ; (805e4f0 ) 805e3ae: 009b lsls r3, r3, #2 805e3b0: 440b add r3, r1 805e3b2: 885b ldrh r3, [r3, #2] 805e3b4: 4619 mov r1, r3 805e3b6: f640 73fc movw r3, #4092 ; 0xffc 805e3ba: 400b ands r3, r1 805e3bc: ee07 3a90 vmov s15, r3 805e3c0: eeb8 6be7 vcvt.f64.s32 d6, s15 805e3c4: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805e3c8: ee26 7b07 vmul.f64 d7, d6, d7 805e3cc: 495c ldr r1, [pc, #368] ; (805e540 ) 805e3ce: 00d3 lsls r3, r2, #3 805e3d0: 440b add r3, r1 805e3d2: ed83 7b00 vstr d7, [r3] while(i > 0) 805e3d6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e3da: 2b00 cmp r3, #0 805e3dc: d1c2 bne.n 805e364 } arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805e3de: 4b59 ldr r3, [pc, #356] ; (805e544 ) 805e3e0: 681b ldr r3, [r3, #0] 805e3e2: 4a57 ldr r2, [pc, #348] ; (805e540 ) 805e3e4: 4956 ldr r1, [pc, #344] ; (805e540 ) 805e3e6: 4858 ldr r0, [pc, #352] ; (805e548 ) 805e3e8: f070 fe88 bl 80cf0fc for(i = 0; i < Ns; i++) 805e3ec: 2300 movs r3, #0 805e3ee: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e3f2: e02d b.n 805e450 { Out[i] = (float32_t) (Buff64[i] - 0.12); 805e3f4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e3f8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e3fc: 4950 ldr r1, [pc, #320] ; (805e540 ) 805e3fe: 00d2 lsls r2, r2, #3 805e400: 440a add r2, r1 805e402: ed92 7b00 vldr d7, [r2] 805e406: ed9f 6b38 vldr d6, [pc, #224] ; 805e4e8 805e40a: ee37 7b46 vsub.f64 d7, d7, d6 805e40e: eef7 7bc7 vcvt.f32.f64 s15, d7 805e412: 4a4e ldr r2, [pc, #312] ; (805e54c ) 805e414: 009b lsls r3, r3, #2 805e416: 4413 add r3, r2 805e418: edc3 7a00 vstr s15, [r3] if(Out[i] < 0.1f) 805e41c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e420: 4a4a ldr r2, [pc, #296] ; (805e54c ) 805e422: 009b lsls r3, r3, #2 805e424: 4413 add r3, r2 805e426: edd3 7a00 vldr s15, [r3] 805e42a: ed9f 7a49 vldr s14, [pc, #292] ; 805e550 805e42e: eef4 7ac7 vcmpe.f32 s15, s14 805e432: eef1 fa10 vmrs APSR_nzcv, fpscr 805e436: d506 bpl.n 805e446 Out[i] = 0.1f; 805e438: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e43c: 4a43 ldr r2, [pc, #268] ; (805e54c ) 805e43e: 009b lsls r3, r3, #2 805e440: 4413 add r3, r2 805e442: 4a44 ldr r2, [pc, #272] ; (805e554 ) 805e444: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805e446: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e44a: 3301 adds r3, #1 805e44c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e450: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e454: 4b3b ldr r3, [pc, #236] ; (805e544 ) 805e456: 681b ldr r3, [r3, #0] 805e458: 429a cmp r2, r3 805e45a: d3cb bcc.n 805e3f4 if(timeRelax > 1) 805e45c: 4b34 ldr r3, [pc, #208] ; (805e530 ) 805e45e: 681b ldr r3, [r3, #0] 805e460: 2b01 cmp r3, #1 805e462: d904 bls.n 805e46e timeRelax--; 805e464: 4b32 ldr r3, [pc, #200] ; (805e530 ) 805e466: 681b ldr r3, [r3, #0] 805e468: 3b01 subs r3, #1 805e46a: 4a31 ldr r2, [pc, #196] ; (805e530 ) 805e46c: 6013 str r3, [r2, #0] switch(stage) 805e46e: 4b31 ldr r3, [pc, #196] ; (805e534 ) 805e470: 781b ldrb r3, [r3, #0] 805e472: b2db uxtb r3, r3 805e474: 2b07 cmp r3, #7 805e476: f200 80ee bhi.w 805e656 805e47a: a201 add r2, pc, #4 ; (adr r2, 805e480 ) 805e47c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805e480: 0805e4a1 .word 0x0805e4a1 805e484: 0805e4b9 .word 0x0805e4b9 805e488: 0805e55d .word 0x0805e55d 805e48c: 0805e581 .word 0x0805e581 805e490: 0805e5a9 .word 0x0805e5a9 805e494: 0805e5cd .word 0x0805e5cd 805e498: 0805e5f5 .word 0x0805e5f5 805e49c: 0805e61f .word 0x0805e61f { case 0: memcpy((void *) &Udar_f32(0), (void *) &Out[0], Ns * 4u); 805e4a0: 4b28 ldr r3, [pc, #160] ; (805e544 ) 805e4a2: 681b ldr r3, [r3, #0] 805e4a4: 009b lsls r3, r3, #2 805e4a6: 461a mov r2, r3 805e4a8: 4928 ldr r1, [pc, #160] ; (805e54c ) 805e4aa: 482b ldr r0, [pc, #172] ; (805e558 ) 805e4ac: f073 fd6f bl 80d1f8e stage = 1; 805e4b0: 4b20 ldr r3, [pc, #128] ; (805e534 ) 805e4b2: 2201 movs r2, #1 805e4b4: 701a strb r2, [r3, #0] break; 805e4b6: e0ce b.n 805e656 case 1: memcpy((void *) &Udar_f32(Ns), (void *) &Out[0], Ns * 4u); 805e4b8: 4b22 ldr r3, [pc, #136] ; (805e544 ) 805e4ba: 681b ldr r3, [r3, #0] 805e4bc: 009a lsls r2, r3, #2 805e4be: 4b26 ldr r3, [pc, #152] ; (805e558 ) 805e4c0: 4413 add r3, r2 805e4c2: 4618 mov r0, r3 805e4c4: 4b1f ldr r3, [pc, #124] ; (805e544 ) 805e4c6: 681b ldr r3, [r3, #0] 805e4c8: 009b lsls r3, r3, #2 805e4ca: 461a mov r2, r3 805e4cc: 491f ldr r1, [pc, #124] ; (805e54c ) 805e4ce: f073 fd5e bl 80d1f8e stage = 2; 805e4d2: 4b18 ldr r3, [pc, #96] ; (805e534 ) 805e4d4: 2202 movs r2, #2 805e4d6: 701a strb r2, [r3, #0] break; 805e4d8: e0bd b.n 805e656 805e4da: bf00 nop 805e4dc: f3af 8000 nop.w 805e4e0: b067d34a .word 0xb067d34a 805e4e4: 3f46ce39 .word 0x3f46ce39 805e4e8: eb851eb8 .word 0xeb851eb8 805e4ec: 3fbeb851 .word 0x3fbeb851 805e4f0: 20058080 .word 0x20058080 805e4f4: 20021581 .word 0x20021581 805e4f8: 20020d9e .word 0x20020d9e 805e4fc: 20020da8 .word 0x20020da8 805e500: 20020dc8 .word 0x20020dc8 805e504: 20021d70 .word 0x20021d70 805e508: 20020dd8 .word 0x20020dd8 805e50c: 20021590 .word 0x20021590 805e510: 588bfb80 .word 0x588bfb80 805e514: 20021588 .word 0x20021588 805e518: 2002158c .word 0x2002158c 805e51c: 497423f0 .word 0x497423f0 805e520: 20020dbc .word 0x20020dbc 805e524: c2c80000 .word 0xc2c80000 805e528: 20020dc0 .word 0x20020dc0 805e52c: 20020d90 .word 0x20020d90 805e530: 20020d8c .word 0x20020d8c 805e534: 20021568 .word 0x20021568 805e538: 20021674 .word 0x20021674 805e53c: 20020080 .word 0x20020080 805e540: 20037b40 .word 0x20037b40 805e544: 20021d2c .word 0x20021d2c 805e548: 20025f60 .word 0x20025f60 805e54c: 20008000 .word 0x20008000 805e550: 3dcccccd .word 0x3dcccccd 805e554: 3dcccccd .word 0x3dcccccd 805e558: 640a0000 .word 0x640a0000 case 2: memcpy((void *) &Udar_f32(2u * Ns), (void *) &Out[0], Ns * 4u); 805e55c: 4bbe ldr r3, [pc, #760] ; (805e858 ) 805e55e: 681b ldr r3, [r3, #0] 805e560: 005b lsls r3, r3, #1 805e562: 009a lsls r2, r3, #2 805e564: 4bbd ldr r3, [pc, #756] ; (805e85c ) 805e566: 4413 add r3, r2 805e568: 4618 mov r0, r3 805e56a: 4bbb ldr r3, [pc, #748] ; (805e858 ) 805e56c: 681b ldr r3, [r3, #0] 805e56e: 009b lsls r3, r3, #2 805e570: 461a mov r2, r3 805e572: 49bb ldr r1, [pc, #748] ; (805e860 ) 805e574: f073 fd0b bl 80d1f8e stage = 3; 805e578: 4bba ldr r3, [pc, #744] ; (805e864 ) 805e57a: 2203 movs r2, #3 805e57c: 701a strb r2, [r3, #0] break; 805e57e: e06a b.n 805e656 case 3: memcpy((void *) &Udar_f32(3u * Ns), (void *) &Out[0], Ns * 4u); 805e580: 4bb5 ldr r3, [pc, #724] ; (805e858 ) 805e582: 681a ldr r2, [r3, #0] 805e584: 4613 mov r3, r2 805e586: 005b lsls r3, r3, #1 805e588: 4413 add r3, r2 805e58a: 009a lsls r2, r3, #2 805e58c: 4bb3 ldr r3, [pc, #716] ; (805e85c ) 805e58e: 4413 add r3, r2 805e590: 4618 mov r0, r3 805e592: 4bb1 ldr r3, [pc, #708] ; (805e858 ) 805e594: 681b ldr r3, [r3, #0] 805e596: 009b lsls r3, r3, #2 805e598: 461a mov r2, r3 805e59a: 49b1 ldr r1, [pc, #708] ; (805e860 ) 805e59c: f073 fcf7 bl 80d1f8e stage = 4; 805e5a0: 4bb0 ldr r3, [pc, #704] ; (805e864 ) 805e5a2: 2204 movs r2, #4 805e5a4: 701a strb r2, [r3, #0] break; 805e5a6: e056 b.n 805e656 case 4: memcpy((void *) &Udar_f32(4u * Ns), (void *) &Out[0], Ns * 4u); 805e5a8: 4bab ldr r3, [pc, #684] ; (805e858 ) 805e5aa: 681b ldr r3, [r3, #0] 805e5ac: 009b lsls r3, r3, #2 805e5ae: 009a lsls r2, r3, #2 805e5b0: 4baa ldr r3, [pc, #680] ; (805e85c ) 805e5b2: 4413 add r3, r2 805e5b4: 4618 mov r0, r3 805e5b6: 4ba8 ldr r3, [pc, #672] ; (805e858 ) 805e5b8: 681b ldr r3, [r3, #0] 805e5ba: 009b lsls r3, r3, #2 805e5bc: 461a mov r2, r3 805e5be: 49a8 ldr r1, [pc, #672] ; (805e860 ) 805e5c0: f073 fce5 bl 80d1f8e stage = 5; 805e5c4: 4ba7 ldr r3, [pc, #668] ; (805e864 ) 805e5c6: 2205 movs r2, #5 805e5c8: 701a strb r2, [r3, #0] break; 805e5ca: e044 b.n 805e656 case 5: memcpy((void *) &Udar_f32(5u * Ns), (void *) &Out[0], Ns * 4u); 805e5cc: 4ba2 ldr r3, [pc, #648] ; (805e858 ) 805e5ce: 681a ldr r2, [r3, #0] 805e5d0: 4613 mov r3, r2 805e5d2: 009b lsls r3, r3, #2 805e5d4: 4413 add r3, r2 805e5d6: 009a lsls r2, r3, #2 805e5d8: 4ba0 ldr r3, [pc, #640] ; (805e85c ) 805e5da: 4413 add r3, r2 805e5dc: 4618 mov r0, r3 805e5de: 4b9e ldr r3, [pc, #632] ; (805e858 ) 805e5e0: 681b ldr r3, [r3, #0] 805e5e2: 009b lsls r3, r3, #2 805e5e4: 461a mov r2, r3 805e5e6: 499e ldr r1, [pc, #632] ; (805e860 ) 805e5e8: f073 fcd1 bl 80d1f8e stage = 6; 805e5ec: 4b9d ldr r3, [pc, #628] ; (805e864 ) 805e5ee: 2206 movs r2, #6 805e5f0: 701a strb r2, [r3, #0] break; 805e5f2: e030 b.n 805e656 case 6: memcpy((void *) &Udar_f32(6u * Ns), (void *) &Out[0], Ns * 4u); 805e5f4: 4b98 ldr r3, [pc, #608] ; (805e858 ) 805e5f6: 681a ldr r2, [r3, #0] 805e5f8: 4613 mov r3, r2 805e5fa: 005b lsls r3, r3, #1 805e5fc: 4413 add r3, r2 805e5fe: 005b lsls r3, r3, #1 805e600: 009a lsls r2, r3, #2 805e602: 4b96 ldr r3, [pc, #600] ; (805e85c ) 805e604: 4413 add r3, r2 805e606: 4618 mov r0, r3 805e608: 4b93 ldr r3, [pc, #588] ; (805e858 ) 805e60a: 681b ldr r3, [r3, #0] 805e60c: 009b lsls r3, r3, #2 805e60e: 461a mov r2, r3 805e610: 4993 ldr r1, [pc, #588] ; (805e860 ) 805e612: f073 fcbc bl 80d1f8e stage = 7; 805e616: 4b93 ldr r3, [pc, #588] ; (805e864 ) 805e618: 2207 movs r2, #7 805e61a: 701a strb r2, [r3, #0] break; 805e61c: e01b b.n 805e656 case 7: memcpy((void *) &Udar_f32(7u * Ns), (void *) &Out[0], Ns * 4u); 805e61e: 4b8e ldr r3, [pc, #568] ; (805e858 ) 805e620: 681a ldr r2, [r3, #0] 805e622: 4613 mov r3, r2 805e624: 00db lsls r3, r3, #3 805e626: 1a9b subs r3, r3, r2 805e628: 009a lsls r2, r3, #2 805e62a: 4b8c ldr r3, [pc, #560] ; (805e85c ) 805e62c: 4413 add r3, r2 805e62e: 4618 mov r0, r3 805e630: 4b89 ldr r3, [pc, #548] ; (805e858 ) 805e632: 681b ldr r3, [r3, #0] 805e634: 009b lsls r3, r3, #2 805e636: 461a mov r2, r3 805e638: 4989 ldr r1, [pc, #548] ; (805e860 ) 805e63a: f073 fca8 bl 80d1f8e stage = 0; 805e63e: 4b89 ldr r3, [pc, #548] ; (805e864 ) 805e640: 2200 movs r2, #0 805e642: 701a strb r2, [r3, #0] READY = 0; 805e644: 4b88 ldr r3, [pc, #544] ; (805e868 ) 805e646: 2200 movs r2, #0 805e648: 701a strb r2, [r3, #0] blockSize = Ns * 8u; 805e64a: 4b83 ldr r3, [pc, #524] ; (805e858 ) 805e64c: 681b ldr r3, [r3, #0] 805e64e: 00db lsls r3, r3, #3 805e650: f8c7 3220 str.w r3, [r7, #544] ; 0x220 break; 805e654: bf00 nop } if(READY) 805e656: 4b84 ldr r3, [pc, #528] ; (805e868 ) 805e658: 781b ldrb r3, [r3, #0] 805e65a: b2db uxtb r3, r3 805e65c: 2b00 cmp r3, #0 805e65e: d002 beq.n 805e666 { tick = 0; 805e660: 2300 movs r3, #0 805e662: f8c7 321c str.w r3, [r7, #540] ; 0x21c } if(stage) 805e666: 4b7f ldr r3, [pc, #508] ; (805e864 ) 805e668: 781b ldrb r3, [r3, #0] 805e66a: b2db uxtb r3, r3 805e66c: 2b00 cmp r3, #0 805e66e: d006 beq.n 805e67e { Processing(); 805e670: f007 fab4 bl 8065bdc READY = 0; 805e674: 4b7c ldr r3, [pc, #496] ; (805e868 ) 805e676: 2200 movs r2, #0 805e678: 701a strb r2, [r3, #0] 805e67a: f007 ba78 b.w 8065b6e } //dBm arm_max_f32(&Udar_f32(0), blockSize, (float32_t *) &fs, &k); 805e67e: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805e682: f507 72dc add.w r2, r7, #440 ; 0x1b8 805e686: f8d7 1220 ldr.w r1, [r7, #544] ; 0x220 805e68a: 4874 ldr r0, [pc, #464] ; (805e85c ) 805e68c: f070 fcc2 bl 80cf014 LinToLog_UDAR(&fs, (float32_t *) &fl); 805e690: f507 72de add.w r2, r7, #444 ; 0x1bc 805e694: f507 73dc add.w r3, r7, #440 ; 0x1b8 805e698: 4611 mov r1, r2 805e69a: 4618 mov r0, r3 805e69c: f008 f9b8 bl 8066a10 if(fl > maxdBm) { 805e6a0: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805e6a4: 4b71 ldr r3, [pc, #452] ; (805e86c ) 805e6a6: edd3 7a00 vldr s15, [r3] 805e6aa: eeb4 7ae7 vcmpe.f32 s14, s15 805e6ae: eef1 fa10 vmrs APSR_nzcv, fpscr 805e6b2: dd03 ble.n 805e6bc maxdBm = fl; 805e6b4: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805e6b8: 4a6c ldr r2, [pc, #432] ; (805e86c ) 805e6ba: 6013 str r3, [r2, #0] } //dBc arm_power_f32(&Udar_f32(0), blockSize, &fs); 805e6bc: f507 73dc add.w r3, r7, #440 ; 0x1b8 805e6c0: 461a mov r2, r3 805e6c2: f8d7 1220 ldr.w r1, [r7, #544] ; 0x220 805e6c6: 4865 ldr r0, [pc, #404] ; (805e85c ) 805e6c8: f070 fbce bl 80cee68 maxdBc += fs; 805e6cc: 4b68 ldr r3, [pc, #416] ; (805e870 ) 805e6ce: ed93 7a00 vldr s14, [r3] 805e6d2: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805e6d6: ee77 7a27 vadd.f32 s15, s14, s15 805e6da: 4b65 ldr r3, [pc, #404] ; (805e870 ) 805e6dc: edc3 7a00 vstr s15, [r3] faseUdar++; 805e6e0: 4b64 ldr r3, [pc, #400] ; (805e874 ) 805e6e2: 781b ldrb r3, [r3, #0] 805e6e4: b2db uxtb r3, r3 805e6e6: 3301 adds r3, #1 805e6e8: b2da uxtb r2, r3 805e6ea: 4b62 ldr r3, [pc, #392] ; (805e874 ) 805e6ec: 701a strb r2, [r3, #0] if(faseUdar >= 4) // ðàç â 2 ñåêóíäû 805e6ee: 4b61 ldr r3, [pc, #388] ; (805e874 ) 805e6f0: 781b ldrb r3, [r3, #0] 805e6f2: b2db uxtb r3, r3 805e6f4: 2b03 cmp r3, #3 805e6f6: d92d bls.n 805e754 { faseUdar = 0; 805e6f8: 4b5e ldr r3, [pc, #376] ; (805e874 ) 805e6fa: 2200 movs r2, #0 805e6fc: 701a strb r2, [r3, #0] dBm = maxdBm; 805e6fe: 4b5b ldr r3, [pc, #364] ; (805e86c ) 805e700: 681b ldr r3, [r3, #0] 805e702: 4a5d ldr r2, [pc, #372] ; (805e878 ) 805e704: 6013 str r3, [r2, #0] maxdBc /= 524288.0f; 805e706: 4b5a ldr r3, [pc, #360] ; (805e870 ) 805e708: ed93 7a00 vldr s14, [r3] 805e70c: eddf 6a5b vldr s13, [pc, #364] ; 805e87c 805e710: eec7 7a26 vdiv.f32 s15, s14, s13 805e714: 4b56 ldr r3, [pc, #344] ; (805e870 ) 805e716: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(maxdBc, & maxdBc); 805e71a: 4b55 ldr r3, [pc, #340] ; (805e870 ) 805e71c: edd3 7a00 vldr s15, [r3] 805e720: 4853 ldr r0, [pc, #332] ; (805e870 ) 805e722: eeb0 0a67 vmov.f32 s0, s15 805e726: f7f8 fe91 bl 805744c maxdBc *= 1.414213562373f; 805e72a: 4b51 ldr r3, [pc, #324] ; (805e870 ) 805e72c: edd3 7a00 vldr s15, [r3] 805e730: ed9f 7a53 vldr s14, [pc, #332] ; 805e880 805e734: ee67 7a87 vmul.f32 s15, s15, s14 805e738: 4b4d ldr r3, [pc, #308] ; (805e870 ) 805e73a: edc3 7a00 vstr s15, [r3] LinToLog_UDAR(&maxdBc, (float32_t *) &dBc); 805e73e: 4951 ldr r1, [pc, #324] ; (805e884 ) 805e740: 484b ldr r0, [pc, #300] ; (805e870 ) 805e742: f008 f965 bl 8066a10 maxdBm = -100.0f; 805e746: 4b49 ldr r3, [pc, #292] ; (805e86c ) 805e748: 4a4f ldr r2, [pc, #316] ; (805e888 ) 805e74a: 601a str r2, [r3, #0] maxdBc = 0.0f; 805e74c: 4b48 ldr r3, [pc, #288] ; (805e870 ) 805e74e: f04f 0200 mov.w r2, #0 805e752: 601a str r2, [r3, #0] } if(timeRelax == 1) 805e754: 4b4d ldr r3, [pc, #308] ; (805e88c ) 805e756: 681b ldr r3, [r3, #0] 805e758: 2b01 cmp r3, #1 805e75a: d13d bne.n 805e7d8 { NSamples++; 805e75c: 4b4c ldr r3, [pc, #304] ; (805e890 ) 805e75e: 681b ldr r3, [r3, #0] 805e760: 3301 adds r3, #1 805e762: 4a4b ldr r2, [pc, #300] ; (805e890 ) 805e764: 6013 str r3, [r2, #0] timeRelax = 0; 805e766: 4b49 ldr r3, [pc, #292] ; (805e88c ) 805e768: 2200 movs r2, #0 805e76a: 601a str r2, [r3, #0] k = blockSize / 256u; 805e76c: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 805e770: 0a1b lsrs r3, r3, #8 805e772: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 256; i++) 805e776: 2300 movs r3, #0 805e778: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e77c: e027 b.n 805e7ce { arm_max_f32(&Udar_f32(i * k), k, &fl, &j); 805e77e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e782: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805e786: fb02 f303 mul.w r3, r2, r3 805e78a: 009a lsls r2, r3, #2 805e78c: 4b33 ldr r3, [pc, #204] ; (805e85c ) 805e78e: 4413 add r3, r2 805e790: 4618 mov r0, r3 805e792: f8d7 11c8 ldr.w r1, [r7, #456] ; 0x1c8 805e796: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805e79a: f507 72de add.w r2, r7, #444 ; 0x1bc 805e79e: f070 fc39 bl 80cf014 LinToLog_UDAR(&fl, &fl); 805e7a2: f507 72de add.w r2, r7, #444 ; 0x1bc 805e7a6: f507 73de add.w r3, r7, #444 ; 0x1bc 805e7aa: 4611 mov r1, r2 805e7ac: 4618 mov r0, r3 805e7ae: f008 f92f bl 8066a10 ScrA_f32(i) = fl; 805e7b2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e7b6: 009a lsls r2, r3, #2 805e7b8: 4b36 ldr r3, [pc, #216] ; (805e894 ) 805e7ba: 4413 add r3, r2 805e7bc: 461a mov r2, r3 805e7be: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805e7c2: 6013 str r3, [r2, #0] for(i = 0; i < 256; i++) 805e7c4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e7c8: 3301 adds r3, #1 805e7ca: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e7ce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e7d2: 2bff cmp r3, #255 ; 0xff 805e7d4: d9d3 bls.n 805e77e if(timeRelax == 1) 805e7d6: e06b b.n 805e8b0 } } else if(timeRelax == 0) 805e7d8: 4b2c ldr r3, [pc, #176] ; (805e88c ) 805e7da: 681b ldr r3, [r3, #0] 805e7dc: 2b00 cmp r3, #0 805e7de: d167 bne.n 805e8b0 { NSamples++; 805e7e0: 4b2b ldr r3, [pc, #172] ; (805e890 ) 805e7e2: 681b ldr r3, [r3, #0] 805e7e4: 3301 adds r3, #1 805e7e6: 4a2a ldr r2, [pc, #168] ; (805e890 ) 805e7e8: 6013 str r3, [r2, #0] k = blockSize / 256u; 805e7ea: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 805e7ee: 0a1b lsrs r3, r3, #8 805e7f0: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 256; i++) 805e7f4: 2300 movs r3, #0 805e7f6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e7fa: e027 b.n 805e84c { arm_max_f32(&Udar_f32(i * k), k, &fl, &j); 805e7fc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e800: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805e804: fb02 f303 mul.w r3, r2, r3 805e808: 009a lsls r2, r3, #2 805e80a: 4b14 ldr r3, [pc, #80] ; (805e85c ) 805e80c: 4413 add r3, r2 805e80e: 4618 mov r0, r3 805e810: f8d7 11c8 ldr.w r1, [r7, #456] ; 0x1c8 805e814: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805e818: f507 72de add.w r2, r7, #444 ; 0x1bc 805e81c: f070 fbfa bl 80cf014 LinToLog_UDAR(&fl, &fl); 805e820: f507 72de add.w r2, r7, #444 ; 0x1bc 805e824: f507 73de add.w r3, r7, #444 ; 0x1bc 805e828: 4611 mov r1, r2 805e82a: 4618 mov r0, r3 805e82c: f008 f8f0 bl 8066a10 ScrA_f32(i) = fl; 805e830: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e834: 009a lsls r2, r3, #2 805e836: 4b17 ldr r3, [pc, #92] ; (805e894 ) 805e838: 4413 add r3, r2 805e83a: 461a mov r2, r3 805e83c: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805e840: 6013 str r3, [r2, #0] for(i = 0; i < 256; i++) 805e842: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e846: 3301 adds r3, #1 805e848: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e84c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e850: 2bff cmp r3, #255 ; 0xff 805e852: d9d3 bls.n 805e7fc if(timeRelax == 1) 805e854: e02c b.n 805e8b0 805e856: bf00 nop 805e858: 20021d2c .word 0x20021d2c 805e85c: 640a0000 .word 0x640a0000 805e860: 20008000 .word 0x20008000 805e864: 20021568 .word 0x20021568 805e868: 20020d9f .word 0x20020d9f 805e86c: 20057f20 .word 0x20057f20 805e870: 200685c0 .word 0x200685c0 805e874: 20021674 .word 0x20021674 805e878: 20020dc0 .word 0x20020dc0 805e87c: 49000000 .word 0x49000000 805e880: 3fb504f3 .word 0x3fb504f3 805e884: 20020dbc .word 0x20020dbc 805e888: c2c80000 .word 0xc2c80000 805e88c: 20020d8c .word 0x20020d8c 805e890: 20020da8 .word 0x20020da8 805e894: 64080000 .word 0x64080000 } } } else { RepeatKm = true; 805e898: 4baf ldr r3, [pc, #700] ; (805eb58 ) 805e89a: 2201 movs r2, #1 805e89c: 701a strb r2, [r3, #0] timeRelax = RELAX + 1; 805e89e: 4baf ldr r3, [pc, #700] ; (805eb5c ) 805e8a0: 681b ldr r3, [r3, #0] 805e8a2: 3301 adds r3, #1 805e8a4: 4aae ldr r2, [pc, #696] ; (805eb60 ) 805e8a6: 6013 str r3, [r2, #0] faseUdar = 0; 805e8a8: 4bae ldr r3, [pc, #696] ; (805eb64 ) 805e8aa: 2200 movs r2, #0 805e8ac: 701a strb r2, [r3, #0] 805e8ae: e000 b.n 805e8b2 if(timeRelax == 1) 805e8b0: bf00 nop } tick = HAL_GetTick() - tick; 805e8b2: f059 f8b7 bl 80b7a24 805e8b6: 4602 mov r2, r0 805e8b8: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 805e8bc: 1ad3 subs r3, r2, r3 805e8be: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > maxtick) 805e8c2: 4ba9 ldr r3, [pc, #676] ; (805eb68 ) 805e8c4: 681b ldr r3, [r3, #0] 805e8c6: f8d7 221c ldr.w r2, [r7, #540] ; 0x21c 805e8ca: 429a cmp r2, r3 805e8cc: d903 bls.n 805e8d6 maxtick = tick; 805e8ce: 4aa6 ldr r2, [pc, #664] ; (805eb68 ) 805e8d0: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 805e8d4: 6013 str r3, [r2, #0] if(READY) 805e8d6: 4ba5 ldr r3, [pc, #660] ; (805eb6c ) 805e8d8: 781b ldrb r3, [r3, #0] 805e8da: b2db uxtb r3, r3 805e8dc: 2b00 cmp r3, #0 805e8de: f007 8134 beq.w 8065b4a { tick = 0; 805e8e2: 2300 movs r3, #0 805e8e4: f8c7 321c str.w r3, [r7, #540] ; 0x21c //*========================================================================================================================= //*========================================================================================================================= //*========================================================================================================================= } break; 805e8e8: f007 b92f b.w 8065b4a case SPEC: if(measuring) 805e8ec: 4ba0 ldr r3, [pc, #640] ; (805eb70 ) 805e8ee: 781b ldrb r3, [r3, #0] 805e8f0: b2db uxtb r3, r3 805e8f2: 2b00 cmp r3, #0 805e8f4: f007 812b beq.w 8065b4e { GetData(); 805e8f8: f007 fbe8 bl 80660cc j = 0; 805e8fc: 2300 movs r3, #0 805e8fe: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805e902: 4b9c ldr r3, [pc, #624] ; (805eb74 ) 805e904: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805e908: f003 0304 and.w r3, r3, #4 805e90c: 2b00 cmp r3, #0 805e90e: d005 beq.n 805e91c CalculateGain(Ns); 805e910: 4b99 ldr r3, [pc, #612] ; (805eb78 ) 805e912: 681b ldr r3, [r3, #0] 805e914: 4618 mov r0, r3 805e916: f7f8 fdbb bl 8057490 805e91a: e02e b.n 805e97a else { Stability = (Nr * 4) + 1; 805e91c: 4b97 ldr r3, [pc, #604] ; (805eb7c ) 805e91e: 881b ldrh r3, [r3, #0] 805e920: b29b uxth r3, r3 805e922: 009b lsls r3, r3, #2 805e924: 3301 adds r3, #1 805e926: 461a mov r2, r3 805e928: 4b95 ldr r3, [pc, #596] ; (805eb80 ) 805e92a: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805e92c: 2300 movs r3, #0 805e92e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e932: e011 b.n 805e958 { if(In16[i].lg > 0xE00000) 805e934: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e938: 4a92 ldr r2, [pc, #584] ; (805eb84 ) 805e93a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805e93e: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805e942: d904 bls.n 805e94e j++; 805e944: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805e948: 3301 adds r3, #1 805e94a: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805e94e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e952: 3301 adds r3, #1 805e954: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e958: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e95c: 4b86 ldr r3, [pc, #536] ; (805eb78 ) 805e95e: 681b ldr r3, [r3, #0] 805e960: 429a cmp r2, r3 805e962: d3e7 bcc.n 805e934 } if(j >= 2) 805e964: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805e968: 2b01 cmp r3, #1 805e96a: d903 bls.n 805e974 OVERDRIVE = true; 805e96c: 4b86 ldr r3, [pc, #536] ; (805eb88 ) 805e96e: 2201 movs r2, #1 805e970: 701a strb r2, [r3, #0] 805e972: e002 b.n 805e97a else OVERDRIVE = false; 805e974: 4b84 ldr r3, [pc, #528] ; (805eb88 ) 805e976: 2200 movs r2, #0 805e978: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805e97a: 4b84 ldr r3, [pc, #528] ; (805eb8c ) 805e97c: 781b ldrb r3, [r3, #0] 805e97e: b2db uxtb r3, r3 805e980: 2b00 cmp r3, #0 805e982: d00a beq.n 805e99a { Stability = 0; 805e984: 4b7e ldr r3, [pc, #504] ; (805eb80 ) 805e986: 2200 movs r2, #0 805e988: 601a str r2, [r3, #0] MeanCnt = 0; 805e98a: 4b81 ldr r3, [pc, #516] ; (805eb90 ) 805e98c: 2200 movs r2, #0 805e98e: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805e990: 4b80 ldr r3, [pc, #512] ; (805eb94 ) 805e992: f04f 32ff mov.w r2, #4294967295 805e996: 601a str r2, [r3, #0] 805e998: e00d b.n 805e9b6 } else { if(Stability <= (Nr * 4)) 805e99a: 4b78 ldr r3, [pc, #480] ; (805eb7c ) 805e99c: 881b ldrh r3, [r3, #0] 805e99e: b29b uxth r3, r3 805e9a0: 009b lsls r3, r3, #2 805e9a2: 461a mov r2, r3 805e9a4: 4b76 ldr r3, [pc, #472] ; (805eb80 ) 805e9a6: 681b ldr r3, [r3, #0] 805e9a8: 429a cmp r2, r3 805e9aa: d304 bcc.n 805e9b6 Stability++; 805e9ac: 4b74 ldr r3, [pc, #464] ; (805eb80 ) 805e9ae: 681b ldr r3, [r3, #0] 805e9b0: 3301 adds r3, #1 805e9b2: 4a73 ldr r2, [pc, #460] ; (805eb80 ) 805e9b4: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) //åñëè àâòîóñèëåíèå íîðì 805e9b6: 4b75 ldr r3, [pc, #468] ; (805eb8c ) 805e9b8: 781b ldrb r3, [r3, #0] 805e9ba: b2db uxtb r3, r3 805e9bc: 2b00 cmp r3, #0 805e9be: f040 81a9 bne.w 805ed14 805e9c2: 4b6e ldr r3, [pc, #440] ; (805eb7c ) 805e9c4: 881b ldrh r3, [r3, #0] 805e9c6: b29b uxth r3, r3 805e9c8: 009b lsls r3, r3, #2 805e9ca: 461a mov r2, r3 805e9cc: 4b6c ldr r3, [pc, #432] ; (805eb80 ) 805e9ce: 681b ldr r3, [r3, #0] 805e9d0: 429a cmp r2, r3 805e9d2: f080 819f bcs.w 805ed14 { MeanCnt++; 805e9d6: 4b6e ldr r3, [pc, #440] ; (805eb90 ) 805e9d8: 681b ldr r3, [r3, #0] 805e9da: 3301 adds r3, #1 805e9dc: 4a6c ldr r2, [pc, #432] ; (805eb90 ) 805e9de: 6013 str r3, [r2, #0] //************************************************************************************************************** fNrm = 1.0f / ((float32_t)(Ns >> 1)); 805e9e0: 4b65 ldr r3, [pc, #404] ; (805eb78 ) 805e9e2: 681b ldr r3, [r3, #0] 805e9e4: 085b lsrs r3, r3, #1 805e9e6: ee07 3a90 vmov s15, r3 805e9ea: eeb8 7a67 vcvt.f32.u32 s14, s15 805e9ee: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805e9f2: eec6 7a87 vdiv.f32 s15, s13, s14 805e9f6: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805e9fa: 4b67 ldr r3, [pc, #412] ; (805eb98 ) 805e9fc: edd3 7a00 vldr s15, [r3] 805ea00: eeb7 7ae7 vcvt.f64.f32 d7, s15 805ea04: ed9f 6b52 vldr d6, [pc, #328] ; 805eb50 805ea08: ee27 7b06 vmul.f64 d7, d7, d6 805ea0c: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 805ea10: 4b58 ldr r3, [pc, #352] ; (805eb74 ) 805ea12: edd3 7a04 vldr s15, [r3, #16] 805ea16: eeb7 6ae7 vcvt.f64.f32 d6, s15 805ea1a: ed97 5b82 vldr d5, [r7, #520] ; 0x208 805ea1e: ee85 7b06 vdiv.f64 d7, d5, d6 805ea22: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805ea26: 2300 movs r3, #0 805ea28: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ea2c: e026 b.n 805ea7c { Buff64[i] = (float64_t) In16[i].lg; 805ea2e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ea32: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ea36: 4953 ldr r1, [pc, #332] ; (805eb84 ) 805ea38: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805ea3c: ee07 2a90 vmov s15, r2 805ea40: eeb8 7b67 vcvt.f64.u32 d7, s15 805ea44: 4a55 ldr r2, [pc, #340] ; (805eb9c ) 805ea46: 00db lsls r3, r3, #3 805ea48: 4413 add r3, r2 805ea4a: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805ea4e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ea52: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ea56: 4951 ldr r1, [pc, #324] ; (805eb9c ) 805ea58: 00d2 lsls r2, r2, #3 805ea5a: 440a add r2, r1 805ea5c: ed92 6b00 vldr d6, [r2] 805ea60: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805ea64: ee26 7b07 vmul.f64 d7, d6, d7 805ea68: 4a4c ldr r2, [pc, #304] ; (805eb9c ) 805ea6a: 00db lsls r3, r3, #3 805ea6c: 4413 add r3, r2 805ea6e: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805ea72: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ea76: 3301 adds r3, #1 805ea78: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ea7c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ea80: 4b3d ldr r3, [pc, #244] ; (805eb78 ) 805ea82: 681b ldr r3, [r3, #0] 805ea84: 429a cmp r2, r3 805ea86: d3d2 bcc.n 805ea2e } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805ea88: 4b3b ldr r3, [pc, #236] ; (805eb78 ) 805ea8a: 681b ldr r3, [r3, #0] 805ea8c: 4a43 ldr r2, [pc, #268] ; (805eb9c ) 805ea8e: 4943 ldr r1, [pc, #268] ; (805eb9c ) 805ea90: 4843 ldr r0, [pc, #268] ; (805eba0 ) 805ea92: f070 fb33 bl 80cf0fc arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805ea96: 4b38 ldr r3, [pc, #224] ; (805eb78 ) 805ea98: 681b ldr r3, [r3, #0] 805ea9a: 4a40 ldr r2, [pc, #256] ; (805eb9c ) 805ea9c: 493f ldr r1, [pc, #252] ; (805eb9c ) 805ea9e: 4841 ldr r0, [pc, #260] ; (805eba4 ) 805eaa0: f070 fb2c bl 80cf0fc for(i = 0; i < Ns; i++) { 805eaa4: 2300 movs r3, #0 805eaa6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805eaaa: e014 b.n 805ead6 Out[i] = (float32_t) Buff64[i]; 805eaac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eab0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805eab4: 4939 ldr r1, [pc, #228] ; (805eb9c ) 805eab6: 00d2 lsls r2, r2, #3 805eab8: 440a add r2, r1 805eaba: ed92 7b00 vldr d7, [r2] 805eabe: eef7 7bc7 vcvt.f32.f64 s15, d7 805eac2: 4a39 ldr r2, [pc, #228] ; (805eba8 ) 805eac4: 009b lsls r3, r3, #2 805eac6: 4413 add r3, r2 805eac8: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 805eacc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ead0: 3301 adds r3, #1 805ead2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ead6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805eada: 4b27 ldr r3, [pc, #156] ; (805eb78 ) 805eadc: 681b ldr r3, [r3, #0] 805eade: 429a cmp r2, r3 805eae0: d3e4 bcc.n 805eaac WindowFunc(pardata.WIN, Ns); 805eae2: 4b24 ldr r3, [pc, #144] ; (805eb74 ) 805eae4: 7a5b ldrb r3, [r3, #9] 805eae6: b2da uxtb r2, r3 805eae8: 4b23 ldr r3, [pc, #140] ; (805eb78 ) 805eaea: 681b ldr r3, [r3, #0] 805eaec: b29b uxth r3, r3 805eaee: 4619 mov r1, r3 805eaf0: 4610 mov r0, r2 805eaf2: f007 fb7b bl 80661ec initFFT(Out, In, Forward); 805eaf6: 2200 movs r2, #0 805eaf8: 492c ldr r1, [pc, #176] ; (805ebac ) 805eafa: 482b ldr r0, [pc, #172] ; (805eba8 ) 805eafc: f7f9 f848 bl 8057b90 arm_cmplx_mag_f32(In, Out, Ns); 805eb00: 4b1d ldr r3, [pc, #116] ; (805eb78 ) 805eb02: 681b ldr r3, [r3, #0] 805eb04: 461a mov r2, r3 805eb06: 4928 ldr r1, [pc, #160] ; (805eba8 ) 805eb08: 4828 ldr r0, [pc, #160] ; (805ebac ) 805eb0a: f070 fc7f bl 80cf40c arm_scale_f32(Out, fNrm, In, (Ns >> 1)); 805eb0e: 4b1a ldr r3, [pc, #104] ; (805eb78 ) 805eb10: 681b ldr r3, [r3, #0] 805eb12: 085b lsrs r3, r3, #1 805eb14: 461a mov r2, r3 805eb16: 4925 ldr r1, [pc, #148] ; (805ebac ) 805eb18: ed97 0a85 vldr s0, [r7, #532] ; 0x214 805eb1c: 4822 ldr r0, [pc, #136] ; (805eba8 ) 805eb1e: f070 fda3 bl 80cf668 //************************************************************************************************************** if(AVG[pardata.AVG] > 1) 805eb22: 4b14 ldr r3, [pc, #80] ; (805eb74 ) 805eb24: 7b5b ldrb r3, [r3, #13] 805eb26: b2db uxtb r3, r3 805eb28: 461a mov r2, r3 805eb2a: 4b21 ldr r3, [pc, #132] ; (805ebb0 ) 805eb2c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805eb30: 2b01 cmp r3, #1 805eb32: d95d bls.n 805ebf0 { if(MeanCnt == 1) 805eb34: 4b16 ldr r3, [pc, #88] ; (805eb90 ) 805eb36: 681b ldr r3, [r3, #0] 805eb38: 2b01 cmp r3, #1 805eb3a: d13b bne.n 805ebb4 FastCopy16(IN_Reg, MEAN_Reg, _2Ns); 805eb3c: 4b0e ldr r3, [pc, #56] ; (805eb78 ) 805eb3e: 681b ldr r3, [r3, #0] 805eb40: 005b lsls r3, r3, #1 805eb42: 461a mov r2, r3 805eb44: 2103 movs r1, #3 805eb46: 2001 movs r0, #1 805eb48: f007 f94a bl 8065de0 805eb4c: e050 b.n 805ebf0 805eb4e: bf00 nop 805eb50: 18000018 .word 0x18000018 805eb54: 3e980000 .word 0x3e980000 805eb58: 20020dcc .word 0x20020dcc 805eb5c: 20020d90 .word 0x20020d90 805eb60: 20020d8c .word 0x20020d8c 805eb64: 20021674 .word 0x20021674 805eb68: 20021680 .word 0x20021680 805eb6c: 20020d9f .word 0x20020d9f 805eb70: 20020dcf .word 0x20020dcf 805eb74: 20023eb8 .word 0x20023eb8 805eb78: 20021d2c .word 0x20021d2c 805eb7c: 20021d70 .word 0x20021d70 805eb80: 20020dc8 .word 0x20020dc8 805eb84: 20058080 .word 0x20058080 805eb88: 20021581 .word 0x20021581 805eb8c: 20020d9e .word 0x20020d9e 805eb90: 20020dd8 .word 0x20020dd8 805eb94: 20020da8 .word 0x20020da8 805eb98: 20020080 .word 0x20020080 805eb9c: 20037b40 .word 0x20037b40 805eba0: 200265c4 .word 0x200265c4 805eba4: 20025f60 .word 0x20025f60 805eba8: 20008000 .word 0x20008000 805ebac: 20027a20 .word 0x20027a20 805ebb0: 080f54d8 .word 0x080f54d8 else { scale = 1.0f / ((float32_t) MeanCnt); 805ebb4: 4bae ldr r3, [pc, #696] ; (805ee70 ) 805ebb6: 681b ldr r3, [r3, #0] 805ebb8: ee07 3a90 vmov s15, r3 805ebbc: eeb8 7a67 vcvt.f32.u32 s14, s15 805ebc0: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805ebc4: eec6 7a87 vdiv.f32 s15, s13, s14 805ebc8: edc7 7a86 vstr s15, [r7, #536] ; 0x218 ARM_ADD_F32(IN_Reg, MEAN_Reg, MEAN_Reg, _2Ns); 805ebcc: 4ba9 ldr r3, [pc, #676] ; (805ee74 ) 805ebce: 681b ldr r3, [r3, #0] 805ebd0: 005b lsls r3, r3, #1 805ebd2: 2203 movs r2, #3 805ebd4: 2103 movs r1, #3 805ebd6: 2001 movs r0, #1 805ebd8: f007 f98e bl 8065ef8 ARM_SCALE_F32(MEAN_Reg, scale, IN_Reg, _2Ns); 805ebdc: 4ba5 ldr r3, [pc, #660] ; (805ee74 ) 805ebde: 681b ldr r3, [r3, #0] 805ebe0: 005b lsls r3, r3, #1 805ebe2: 461a mov r2, r3 805ebe4: 2101 movs r1, #1 805ebe6: ed97 0a86 vldr s0, [r7, #536] ; 0x218 805ebea: 2003 movs r0, #3 805ebec: f007 fa0a bl 8066004 } } if(pardata.IPR > ACC) { 805ebf0: 4ba1 ldr r3, [pc, #644] ; (805ee78 ) 805ebf2: 785b ldrb r3, [r3, #1] 805ebf4: b2db uxtb r3, r3 805ebf6: 2b00 cmp r3, #0 805ebf8: d001 beq.n 805ebfe INTEGR_NEW(); 805ebfa: f007 fdff bl 80667fc } if(MeanCnt == AVG[pardata.AVG]) 805ebfe: 4b9e ldr r3, [pc, #632] ; (805ee78 ) 805ec00: 7b5b ldrb r3, [r3, #13] 805ec02: b2db uxtb r3, r3 805ec04: 461a mov r2, r3 805ec06: 4b9d ldr r3, [pc, #628] ; (805ee7c ) 805ec08: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805ec0c: 461a mov r2, r3 805ec0e: 4b98 ldr r3, [pc, #608] ; (805ee70 ) 805ec10: 681b ldr r3, [r3, #0] 805ec12: 429a cmp r2, r3 805ec14: f040 8083 bne.w 805ed1e { arm_power_f32(In, (Ns >> 1), &skz[pardata.IPR]); 805ec18: 4b96 ldr r3, [pc, #600] ; (805ee74 ) 805ec1a: 681b ldr r3, [r3, #0] 805ec1c: 0859 lsrs r1, r3, #1 805ec1e: 4b96 ldr r3, [pc, #600] ; (805ee78 ) 805ec20: 785b ldrb r3, [r3, #1] 805ec22: b2db uxtb r3, r3 805ec24: 009b lsls r3, r3, #2 805ec26: 4a96 ldr r2, [pc, #600] ; (805ee80 ) 805ec28: 4413 add r3, r2 805ec2a: 461a mov r2, r3 805ec2c: 4895 ldr r0, [pc, #596] ; (805ee84 ) 805ec2e: f070 f91b bl 80cee68 skz[pardata.IPR] *= 0.5f; 805ec32: 4b91 ldr r3, [pc, #580] ; (805ee78 ) 805ec34: 785b ldrb r3, [r3, #1] 805ec36: b2db uxtb r3, r3 805ec38: 4619 mov r1, r3 805ec3a: 4a91 ldr r2, [pc, #580] ; (805ee80 ) 805ec3c: 009b lsls r3, r3, #2 805ec3e: 4413 add r3, r2 805ec40: edd3 7a00 vldr s15, [r3] 805ec44: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805ec48: ee67 7a87 vmul.f32 s15, s15, s14 805ec4c: 4a8c ldr r2, [pc, #560] ; (805ee80 ) 805ec4e: 008b lsls r3, r1, #2 805ec50: 4413 add r3, r2 805ec52: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(skz[pardata.IPR], &skz[pardata.IPR]); 805ec56: 4b88 ldr r3, [pc, #544] ; (805ee78 ) 805ec58: 785b ldrb r3, [r3, #1] 805ec5a: b2db uxtb r3, r3 805ec5c: 4a88 ldr r2, [pc, #544] ; (805ee80 ) 805ec5e: 009b lsls r3, r3, #2 805ec60: 4413 add r3, r2 805ec62: edd3 7a00 vldr s15, [r3] 805ec66: 4b84 ldr r3, [pc, #528] ; (805ee78 ) 805ec68: 785b ldrb r3, [r3, #1] 805ec6a: b2db uxtb r3, r3 805ec6c: 009b lsls r3, r3, #2 805ec6e: 4a84 ldr r2, [pc, #528] ; (805ee80 ) 805ec70: 4413 add r3, r2 805ec72: 4618 mov r0, r3 805ec74: eeb0 0a67 vmov.f32 s0, s15 805ec78: f7f8 fbe8 bl 805744c if(pardata.WIN == HANN) { 805ec7c: 4b7e ldr r3, [pc, #504] ; (805ee78 ) 805ec7e: 7a5b ldrb r3, [r3, #9] 805ec80: b2db uxtb r3, r3 805ec82: 2b01 cmp r3, #1 805ec84: d111 bne.n 805ecaa skz[pardata.IPR] *= 1.64f; 805ec86: 4b7c ldr r3, [pc, #496] ; (805ee78 ) 805ec88: 785b ldrb r3, [r3, #1] 805ec8a: b2db uxtb r3, r3 805ec8c: 4619 mov r1, r3 805ec8e: 4a7c ldr r2, [pc, #496] ; (805ee80 ) 805ec90: 009b lsls r3, r3, #2 805ec92: 4413 add r3, r2 805ec94: edd3 7a00 vldr s15, [r3] 805ec98: ed9f 7a7b vldr s14, [pc, #492] ; 805ee88 805ec9c: ee67 7a87 vmul.f32 s15, s15, s14 805eca0: 4a77 ldr r2, [pc, #476] ; (805ee80 ) 805eca2: 008b lsls r3, r1, #2 805eca4: 4413 add r3, r2 805eca6: edc3 7a00 vstr s15, [r3] } FastCopy16(IN_Reg, SCR_Reg, Ns); 805ecaa: 4b72 ldr r3, [pc, #456] ; (805ee74 ) 805ecac: 681b ldr r3, [r3, #0] 805ecae: 461a mov r2, r3 805ecb0: 2104 movs r1, #4 805ecb2: 2001 movs r0, #1 805ecb4: f007 f894 bl 8065de0 if(pardata.IIN != VOLTS) 805ecb8: 4b6f ldr r3, [pc, #444] ; (805ee78 ) 805ecba: 799b ldrb r3, [r3, #6] 805ecbc: b2db uxtb r3, r3 805ecbe: 2b02 cmp r3, #2 805ecc0: d00f beq.n 805ece2 LinToLog(&skz[pardata.IPR], &skzDB[pardata.IPR]); 805ecc2: 4b6d ldr r3, [pc, #436] ; (805ee78 ) 805ecc4: 785b ldrb r3, [r3, #1] 805ecc6: b2db uxtb r3, r3 805ecc8: 009b lsls r3, r3, #2 805ecca: 4a6d ldr r2, [pc, #436] ; (805ee80 ) 805eccc: 1898 adds r0, r3, r2 805ecce: 4b6a ldr r3, [pc, #424] ; (805ee78 ) 805ecd0: 785b ldrb r3, [r3, #1] 805ecd2: b2db uxtb r3, r3 805ecd4: 009b lsls r3, r3, #2 805ecd6: 4a6d ldr r2, [pc, #436] ; (805ee8c ) 805ecd8: 4413 add r3, r2 805ecda: 4619 mov r1, r3 805ecdc: f007 fe34 bl 8066948 805ece0: e011 b.n 805ed06 else LinToLog_mV(&skz[pardata.IPR], &skzDB[pardata.IPR], pardata.IPR); 805ece2: 4b65 ldr r3, [pc, #404] ; (805ee78 ) 805ece4: 785b ldrb r3, [r3, #1] 805ece6: b2db uxtb r3, r3 805ece8: 009b lsls r3, r3, #2 805ecea: 4a65 ldr r2, [pc, #404] ; (805ee80 ) 805ecec: 1898 adds r0, r3, r2 805ecee: 4b62 ldr r3, [pc, #392] ; (805ee78 ) 805ecf0: 785b ldrb r3, [r3, #1] 805ecf2: b2db uxtb r3, r3 805ecf4: 009b lsls r3, r3, #2 805ecf6: 4a65 ldr r2, [pc, #404] ; (805ee8c ) 805ecf8: 1899 adds r1, r3, r2 805ecfa: 4b5f ldr r3, [pc, #380] ; (805ee78 ) 805ecfc: 785b ldrb r3, [r3, #1] 805ecfe: b2db uxtb r3, r3 805ed00: 461a mov r2, r3 805ed02: f007 fe51 bl 80669a8 MeanCnt = 0; 805ed06: 4b5a ldr r3, [pc, #360] ; (805ee70 ) 805ed08: 2200 movs r2, #0 805ed0a: 601a str r2, [r3, #0] READY_TO_SEE = true; 805ed0c: 4b60 ldr r3, [pc, #384] ; (805ee90 ) 805ed0e: 2201 movs r2, #1 805ed10: 701a strb r2, [r3, #0] if(MeanCnt == AVG[pardata.AVG]) 805ed12: e004 b.n 805ed1e } } else { RepeatKm = true; 805ed14: 4b5f ldr r3, [pc, #380] ; (805ee94 ) 805ed16: 2201 movs r2, #1 805ed18: 701a strb r2, [r3, #0] } } break; 805ed1a: f006 bf18 b.w 8065b4e 805ed1e: f006 bf16 b.w 8065b4e case SPEC_OGIB: if(measuring) 805ed22: 4b5d ldr r3, [pc, #372] ; (805ee98 ) 805ed24: 781b ldrb r3, [r3, #0] 805ed26: b2db uxtb r3, r3 805ed28: 2b00 cmp r3, #0 805ed2a: f006 8712 beq.w 8065b52 { GetData(); 805ed2e: f007 f9cd bl 80660cc j = 0; 805ed32: 2300 movs r3, #0 805ed34: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805ed38: 4b4f ldr r3, [pc, #316] ; (805ee78 ) 805ed3a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805ed3e: f003 0304 and.w r3, r3, #4 805ed42: 2b00 cmp r3, #0 805ed44: d005 beq.n 805ed52 CalculateGain(Ns); 805ed46: 4b4b ldr r3, [pc, #300] ; (805ee74 ) 805ed48: 681b ldr r3, [r3, #0] 805ed4a: 4618 mov r0, r3 805ed4c: f7f8 fba0 bl 8057490 805ed50: e02e b.n 805edb0 else { Stability = (Nr * 4) + 1; 805ed52: 4b52 ldr r3, [pc, #328] ; (805ee9c ) 805ed54: 881b ldrh r3, [r3, #0] 805ed56: b29b uxth r3, r3 805ed58: 009b lsls r3, r3, #2 805ed5a: 3301 adds r3, #1 805ed5c: 461a mov r2, r3 805ed5e: 4b50 ldr r3, [pc, #320] ; (805eea0 ) 805ed60: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805ed62: 2300 movs r3, #0 805ed64: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ed68: e011 b.n 805ed8e { if(In16[i].lg > 0xE00000) 805ed6a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ed6e: 4a4d ldr r2, [pc, #308] ; (805eea4 ) 805ed70: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805ed74: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805ed78: d904 bls.n 805ed84 j++; 805ed7a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805ed7e: 3301 adds r3, #1 805ed80: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805ed84: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ed88: 3301 adds r3, #1 805ed8a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ed8e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ed92: 4b38 ldr r3, [pc, #224] ; (805ee74 ) 805ed94: 681b ldr r3, [r3, #0] 805ed96: 429a cmp r2, r3 805ed98: d3e7 bcc.n 805ed6a } if(j >= 2) 805ed9a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805ed9e: 2b01 cmp r3, #1 805eda0: d903 bls.n 805edaa OVERDRIVE = true; 805eda2: 4b41 ldr r3, [pc, #260] ; (805eea8 ) 805eda4: 2201 movs r2, #1 805eda6: 701a strb r2, [r3, #0] 805eda8: e002 b.n 805edb0 else OVERDRIVE = false; 805edaa: 4b3f ldr r3, [pc, #252] ; (805eea8 ) 805edac: 2200 movs r2, #0 805edae: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805edb0: 4b3e ldr r3, [pc, #248] ; (805eeac ) 805edb2: 781b ldrb r3, [r3, #0] 805edb4: b2db uxtb r3, r3 805edb6: 2b00 cmp r3, #0 805edb8: d00a beq.n 805edd0 { Stability = 0; 805edba: 4b39 ldr r3, [pc, #228] ; (805eea0 ) 805edbc: 2200 movs r2, #0 805edbe: 601a str r2, [r3, #0] MeanCnt = 0; 805edc0: 4b2b ldr r3, [pc, #172] ; (805ee70 ) 805edc2: 2200 movs r2, #0 805edc4: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805edc6: 4b3a ldr r3, [pc, #232] ; (805eeb0 ) 805edc8: f04f 32ff mov.w r2, #4294967295 805edcc: 601a str r2, [r3, #0] 805edce: e00d b.n 805edec } else { if(Stability <= (Nr * 4)) 805edd0: 4b32 ldr r3, [pc, #200] ; (805ee9c ) 805edd2: 881b ldrh r3, [r3, #0] 805edd4: b29b uxth r3, r3 805edd6: 009b lsls r3, r3, #2 805edd8: 461a mov r2, r3 805edda: 4b31 ldr r3, [pc, #196] ; (805eea0 ) 805eddc: 681b ldr r3, [r3, #0] 805edde: 429a cmp r2, r3 805ede0: d304 bcc.n 805edec Stability++; 805ede2: 4b2f ldr r3, [pc, #188] ; (805eea0 ) 805ede4: 681b ldr r3, [r3, #0] 805ede6: 3301 adds r3, #1 805ede8: 4a2d ldr r2, [pc, #180] ; (805eea0 ) 805edea: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) // åñëè àâòîóñèëåíèå íîðì 805edec: 4b2f ldr r3, [pc, #188] ; (805eeac ) 805edee: 781b ldrb r3, [r3, #0] 805edf0: b2db uxtb r3, r3 805edf2: 2b00 cmp r3, #0 805edf4: f040 828e bne.w 805f314 805edf8: 4b28 ldr r3, [pc, #160] ; (805ee9c ) 805edfa: 881b ldrh r3, [r3, #0] 805edfc: b29b uxth r3, r3 805edfe: 009b lsls r3, r3, #2 805ee00: 461a mov r2, r3 805ee02: 4b27 ldr r3, [pc, #156] ; (805eea0 ) 805ee04: 681b ldr r3, [r3, #0] 805ee06: 429a cmp r2, r3 805ee08: f080 8284 bcs.w 805f314 { MeanCnt++; 805ee0c: 4b18 ldr r3, [pc, #96] ; (805ee70 ) 805ee0e: 681b ldr r3, [r3, #0] 805ee10: 3301 adds r3, #1 805ee12: 4a17 ldr r2, [pc, #92] ; (805ee70 ) 805ee14: 6013 str r3, [r2, #0] //************************************************************************************************************** fNrm = 1.0f / ((float32_t)(Ns >> 1)); 805ee16: 4b17 ldr r3, [pc, #92] ; (805ee74 ) 805ee18: 681b ldr r3, [r3, #0] 805ee1a: 085b lsrs r3, r3, #1 805ee1c: ee07 3a90 vmov s15, r3 805ee20: eeb8 7a67 vcvt.f32.u32 s14, s15 805ee24: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805ee28: eec6 7a87 vdiv.f32 s15, s13, s14 805ee2c: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805ee30: 4b20 ldr r3, [pc, #128] ; (805eeb4 ) 805ee32: edd3 7a00 vldr s15, [r3] 805ee36: eeb7 7ae7 vcvt.f64.f32 d7, s15 805ee3a: ed9f 6b0b vldr d6, [pc, #44] ; 805ee68 805ee3e: ee27 7b06 vmul.f64 d7, d7, d6 805ee42: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 805ee46: 4b0c ldr r3, [pc, #48] ; (805ee78 ) 805ee48: edd3 7a04 vldr s15, [r3, #16] 805ee4c: eeb7 6ae7 vcvt.f64.f32 d6, s15 805ee50: ed97 5b82 vldr d5, [r7, #520] ; 0x208 805ee54: ee85 7b06 vdiv.f64 d7, d5, d6 805ee58: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805ee5c: 2300 movs r3, #0 805ee5e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ee62: e050 b.n 805ef06 805ee64: f3af 8000 nop.w 805ee68: 18000018 .word 0x18000018 805ee6c: 3e980000 .word 0x3e980000 805ee70: 20020dd8 .word 0x20020dd8 805ee74: 20021d2c .word 0x20021d2c 805ee78: 20023eb8 .word 0x20023eb8 805ee7c: 080f54d8 .word 0x080f54d8 805ee80: 20021590 .word 0x20021590 805ee84: 20027a20 .word 0x20027a20 805ee88: 3fd1eb85 .word 0x3fd1eb85 805ee8c: 2002159c .word 0x2002159c 805ee90: 20020dae .word 0x20020dae 805ee94: 20020dcc .word 0x20020dcc 805ee98: 20020dcf .word 0x20020dcf 805ee9c: 20021d70 .word 0x20021d70 805eea0: 20020dc8 .word 0x20020dc8 805eea4: 20058080 .word 0x20058080 805eea8: 20021581 .word 0x20021581 805eeac: 20020d9e .word 0x20020d9e 805eeb0: 20020da8 .word 0x20020da8 805eeb4: 20020080 .word 0x20020080 { Buff64[i] = (float64_t) In16[i].lg; 805eeb8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eebc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805eec0: 49ad ldr r1, [pc, #692] ; (805f178 ) 805eec2: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805eec6: ee07 2a90 vmov s15, r2 805eeca: eeb8 7b67 vcvt.f64.u32 d7, s15 805eece: 4aab ldr r2, [pc, #684] ; (805f17c ) 805eed0: 00db lsls r3, r3, #3 805eed2: 4413 add r3, r2 805eed4: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805eed8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eedc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805eee0: 49a6 ldr r1, [pc, #664] ; (805f17c ) 805eee2: 00d2 lsls r2, r2, #3 805eee4: 440a add r2, r1 805eee6: ed92 6b00 vldr d6, [r2] 805eeea: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805eeee: ee26 7b07 vmul.f64 d7, d6, d7 805eef2: 4aa2 ldr r2, [pc, #648] ; (805f17c ) 805eef4: 00db lsls r3, r3, #3 805eef6: 4413 add r3, r2 805eef8: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805eefc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ef00: 3301 adds r3, #1 805ef02: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ef06: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ef0a: 4b9d ldr r3, [pc, #628] ; (805f180 ) 805ef0c: 681b ldr r3, [r3, #0] 805ef0e: 429a cmp r2, r3 805ef10: d3d2 bcc.n 805eeb8 } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805ef12: 4b9b ldr r3, [pc, #620] ; (805f180 ) 805ef14: 681b ldr r3, [r3, #0] 805ef16: 4a99 ldr r2, [pc, #612] ; (805f17c ) 805ef18: 4998 ldr r1, [pc, #608] ; (805f17c ) 805ef1a: 489a ldr r0, [pc, #616] ; (805f184 ) 805ef1c: f070 f8ee bl 80cf0fc arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805ef20: 4b97 ldr r3, [pc, #604] ; (805f180 ) 805ef22: 681b ldr r3, [r3, #0] 805ef24: 4a95 ldr r2, [pc, #596] ; (805f17c ) 805ef26: 4995 ldr r1, [pc, #596] ; (805f17c ) 805ef28: 4897 ldr r0, [pc, #604] ; (805f188 ) 805ef2a: f070 f8e7 bl 80cf0fc for(i = 0; i < Ns; i++) { 805ef2e: 2300 movs r3, #0 805ef30: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ef34: e014 b.n 805ef60 Out[i] = (float32_t) Buff64[i]; 805ef36: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ef3a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ef3e: 498f ldr r1, [pc, #572] ; (805f17c ) 805ef40: 00d2 lsls r2, r2, #3 805ef42: 440a add r2, r1 805ef44: ed92 7b00 vldr d7, [r2] 805ef48: eef7 7bc7 vcvt.f32.f64 s15, d7 805ef4c: 4a8f ldr r2, [pc, #572] ; (805f18c ) 805ef4e: 009b lsls r3, r3, #2 805ef50: 4413 add r3, r2 805ef52: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 805ef56: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ef5a: 3301 adds r3, #1 805ef5c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ef60: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ef64: 4b86 ldr r3, [pc, #536] ; (805f180 ) 805ef66: 681b ldr r3, [r3, #0] 805ef68: 429a cmp r2, r3 805ef6a: d3e4 bcc.n 805ef36 } //************************************************ FastCopy16(OUT_Reg, CMPLX_A, _2Ns); 805ef6c: 4b84 ldr r3, [pc, #528] ; (805f180 ) 805ef6e: 681b ldr r3, [r3, #0] 805ef70: 005b lsls r3, r3, #1 805ef72: 461a mov r2, r3 805ef74: 2105 movs r1, #5 805ef76: 2009 movs r0, #9 805ef78: f006 ff32 bl 8065de0 arm_fill_f32(0.0f, &Image(0), Ns); 805ef7c: 4b80 ldr r3, [pc, #512] ; (805f180 ) 805ef7e: 681b ldr r3, [r3, #0] 805ef80: 4619 mov r1, r3 805ef82: 4883 ldr r0, [pc, #524] ; (805f190 ) 805ef84: ed9f 0a83 vldr s0, [pc, #524] ; 805f194 805ef88: f06f fe68 bl 80cec5c MyFFT(Ns, 0); 805ef8c: 4b7c ldr r3, [pc, #496] ; (805f180 ) 805ef8e: 681b ldr r3, [r3, #0] 805ef90: 2100 movs r1, #0 805ef92: 4618 mov r0, r3 805ef94: f009 fb04 bl 80685a0 for(i = Ns / 2; i < Ns; i++) 805ef98: 4b79 ldr r3, [pc, #484] ; (805f180 ) 805ef9a: 681b ldr r3, [r3, #0] 805ef9c: 085b lsrs r3, r3, #1 805ef9e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805efa2: e016 b.n 805efd2 { Real(i) = 0; 805efa4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805efa8: 009a lsls r2, r3, #2 805efaa: 4b7b ldr r3, [pc, #492] ; (805f198 ) 805efac: 4413 add r3, r2 805efae: 461a mov r2, r3 805efb0: f04f 0300 mov.w r3, #0 805efb4: 6013 str r3, [r2, #0] Image(i) = 0; 805efb6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805efba: 009a lsls r2, r3, #2 805efbc: 4b74 ldr r3, [pc, #464] ; (805f190 ) 805efbe: 4413 add r3, r2 805efc0: 461a mov r2, r3 805efc2: f04f 0300 mov.w r3, #0 805efc6: 6013 str r3, [r2, #0] for(i = Ns / 2; i < Ns; i++) 805efc8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805efcc: 3301 adds r3, #1 805efce: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805efd2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805efd6: 4b6a ldr r3, [pc, #424] ; (805f180 ) 805efd8: 681b ldr r3, [r3, #0] 805efda: 429a cmp r2, r3 805efdc: d3e2 bcc.n 805efa4 } for(i = 0; i < Ns / 2; i++) 805efde: 2300 movs r3, #0 805efe0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805efe4: e026 b.n 805f034 { Real(i) = Real(i) * 2.0f; 805efe6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805efea: 009a lsls r2, r3, #2 805efec: 4b6a ldr r3, [pc, #424] ; (805f198 ) 805efee: 4413 add r3, r2 805eff0: 4619 mov r1, r3 805eff2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eff6: 009a lsls r2, r3, #2 805eff8: 4b67 ldr r3, [pc, #412] ; (805f198 ) 805effa: 4413 add r3, r2 805effc: edd3 7a00 vldr s15, [r3] 805f000: ee77 7aa7 vadd.f32 s15, s15, s15 805f004: edc1 7a00 vstr s15, [r1] Image(i) = Image(i) * 2.0f; 805f008: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f00c: 009a lsls r2, r3, #2 805f00e: 4b60 ldr r3, [pc, #384] ; (805f190 ) 805f010: 4413 add r3, r2 805f012: 4619 mov r1, r3 805f014: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f018: 009a lsls r2, r3, #2 805f01a: 4b5d ldr r3, [pc, #372] ; (805f190 ) 805f01c: 4413 add r3, r2 805f01e: edd3 7a00 vldr s15, [r3] 805f022: ee77 7aa7 vadd.f32 s15, s15, s15 805f026: edc1 7a00 vstr s15, [r1] for(i = 0; i < Ns / 2; i++) 805f02a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f02e: 3301 adds r3, #1 805f030: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f034: 4b52 ldr r3, [pc, #328] ; (805f180 ) 805f036: 681b ldr r3, [r3, #0] 805f038: 085a lsrs r2, r3, #1 805f03a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f03e: 429a cmp r2, r3 805f040: d8d1 bhi.n 805efe6 } MyFFT(Ns, -1); 805f042: 4b4f ldr r3, [pc, #316] ; (805f180 ) 805f044: 681b ldr r3, [r3, #0] 805f046: f04f 31ff mov.w r1, #4294967295 805f04a: 4618 mov r0, r3 805f04c: f009 faa8 bl 80685a0 for(i = 0; i < Ns; i++) 805f050: 2300 movs r3, #0 805f052: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f056: e03e b.n 805f0d6 { In[i] = (Out[i] * Out[i]) + (Image(i) * Image(i)); 805f058: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f05c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f060: 494a ldr r1, [pc, #296] ; (805f18c ) 805f062: 009b lsls r3, r3, #2 805f064: 440b add r3, r1 805f066: ed93 7a00 vldr s14, [r3] 805f06a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f06e: 4947 ldr r1, [pc, #284] ; (805f18c ) 805f070: 009b lsls r3, r3, #2 805f072: 440b add r3, r1 805f074: edd3 7a00 vldr s15, [r3] 805f078: ee27 7a27 vmul.f32 s14, s14, s15 805f07c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f080: 0099 lsls r1, r3, #2 805f082: 4b43 ldr r3, [pc, #268] ; (805f190 ) 805f084: 440b add r3, r1 805f086: edd3 6a00 vldr s13, [r3] 805f08a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f08e: 0099 lsls r1, r3, #2 805f090: 4b3f ldr r3, [pc, #252] ; (805f190 ) 805f092: 440b add r3, r1 805f094: edd3 7a00 vldr s15, [r3] 805f098: ee66 7aa7 vmul.f32 s15, s13, s15 805f09c: ee77 7a27 vadd.f32 s15, s14, s15 805f0a0: 493e ldr r1, [pc, #248] ; (805f19c ) 805f0a2: 0093 lsls r3, r2, #2 805f0a4: 440b add r3, r1 805f0a6: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(In[i], &Out[i]); 805f0aa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f0ae: 4a3b ldr r2, [pc, #236] ; (805f19c ) 805f0b0: 009b lsls r3, r3, #2 805f0b2: 4413 add r3, r2 805f0b4: edd3 7a00 vldr s15, [r3] 805f0b8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f0bc: 009b lsls r3, r3, #2 805f0be: 4a33 ldr r2, [pc, #204] ; (805f18c ) 805f0c0: 4413 add r3, r2 805f0c2: 4618 mov r0, r3 805f0c4: eeb0 0a67 vmov.f32 s0, s15 805f0c8: f7f8 f9c0 bl 805744c for(i = 0; i < Ns; i++) 805f0cc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f0d0: 3301 adds r3, #1 805f0d2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f0d6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f0da: 4b29 ldr r3, [pc, #164] ; (805f180 ) 805f0dc: 681b ldr r3, [r3, #0] 805f0de: 429a cmp r2, r3 805f0e0: d3ba bcc.n 805f058 } arm_mean_f32(Out, Ns, &fl); 805f0e2: 4b27 ldr r3, [pc, #156] ; (805f180 ) 805f0e4: 681b ldr r3, [r3, #0] 805f0e6: f507 72de add.w r2, r7, #444 ; 0x1bc 805f0ea: 4619 mov r1, r3 805f0ec: 4827 ldr r0, [pc, #156] ; (805f18c ) 805f0ee: f06f ff5b bl 80cefa8 arm_offset_f32(Out, -fl, Out, Ns); 805f0f2: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805f0f6: eef1 7a67 vneg.f32 s15, s15 805f0fa: 4b21 ldr r3, [pc, #132] ; (805f180 ) 805f0fc: 681b ldr r3, [r3, #0] 805f0fe: 461a mov r2, r3 805f100: 4922 ldr r1, [pc, #136] ; (805f18c ) 805f102: eeb0 0a67 vmov.f32 s0, s15 805f106: 4821 ldr r0, [pc, #132] ; (805f18c ) 805f108: f070 fae4 bl 80cf6d4 //*************************************************** WindowFunc(pardata.WIN, Ns); 805f10c: 4b24 ldr r3, [pc, #144] ; (805f1a0 ) 805f10e: 7a5b ldrb r3, [r3, #9] 805f110: b2da uxtb r2, r3 805f112: 4b1b ldr r3, [pc, #108] ; (805f180 ) 805f114: 681b ldr r3, [r3, #0] 805f116: b29b uxth r3, r3 805f118: 4619 mov r1, r3 805f11a: 4610 mov r0, r2 805f11c: f007 f866 bl 80661ec initFFT(Out, In, Forward); 805f120: 2200 movs r2, #0 805f122: 491e ldr r1, [pc, #120] ; (805f19c ) 805f124: 4819 ldr r0, [pc, #100] ; (805f18c ) 805f126: f7f8 fd33 bl 8057b90 arm_cmplx_mag_f32(In, Out, Ns); 805f12a: 4b15 ldr r3, [pc, #84] ; (805f180 ) 805f12c: 681b ldr r3, [r3, #0] 805f12e: 461a mov r2, r3 805f130: 4916 ldr r1, [pc, #88] ; (805f18c ) 805f132: 481a ldr r0, [pc, #104] ; (805f19c ) 805f134: f070 f96a bl 80cf40c arm_scale_f32(Out, fNrm, In, (Ns >> 1)); 805f138: 4b11 ldr r3, [pc, #68] ; (805f180 ) 805f13a: 681b ldr r3, [r3, #0] 805f13c: 085b lsrs r3, r3, #1 805f13e: 461a mov r2, r3 805f140: 4916 ldr r1, [pc, #88] ; (805f19c ) 805f142: ed97 0a85 vldr s0, [r7, #532] ; 0x214 805f146: 4811 ldr r0, [pc, #68] ; (805f18c ) 805f148: f070 fa8e bl 80cf668 if(AVG[pardata.AVG] > 1) 805f14c: 4b14 ldr r3, [pc, #80] ; (805f1a0 ) 805f14e: 7b5b ldrb r3, [r3, #13] 805f150: b2db uxtb r3, r3 805f152: 461a mov r2, r3 805f154: 4b13 ldr r3, [pc, #76] ; (805f1a4 ) 805f156: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805f15a: 2b01 cmp r3, #1 805f15c: d944 bls.n 805f1e8 { if(MeanCnt == 1) 805f15e: 4b12 ldr r3, [pc, #72] ; (805f1a8 ) 805f160: 681b ldr r3, [r3, #0] 805f162: 2b01 cmp r3, #1 805f164: d122 bne.n 805f1ac FastCopy16(IN_Reg, MEAN_Reg, _2Ns); 805f166: 4b06 ldr r3, [pc, #24] ; (805f180 ) 805f168: 681b ldr r3, [r3, #0] 805f16a: 005b lsls r3, r3, #1 805f16c: 461a mov r2, r3 805f16e: 2103 movs r1, #3 805f170: 2001 movs r0, #1 805f172: f006 fe35 bl 8065de0 805f176: e037 b.n 805f1e8 805f178: 20058080 .word 0x20058080 805f17c: 20037b40 .word 0x20037b40 805f180: 20021d2c .word 0x20021d2c 805f184: 200265c4 .word 0x200265c4 805f188: 20025f60 .word 0x20025f60 805f18c: 20008000 .word 0x20008000 805f190: 64098000 .word 0x64098000 805f194: 00000000 .word 0x00000000 805f198: 64090000 .word 0x64090000 805f19c: 20027a20 .word 0x20027a20 805f1a0: 20023eb8 .word 0x20023eb8 805f1a4: 080f54d8 .word 0x080f54d8 805f1a8: 20020dd8 .word 0x20020dd8 else { scale = 1.0f / ((float32_t) MeanCnt); 805f1ac: 4bb2 ldr r3, [pc, #712] ; (805f478 ) 805f1ae: 681b ldr r3, [r3, #0] 805f1b0: ee07 3a90 vmov s15, r3 805f1b4: eeb8 7a67 vcvt.f32.u32 s14, s15 805f1b8: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805f1bc: eec6 7a87 vdiv.f32 s15, s13, s14 805f1c0: edc7 7a86 vstr s15, [r7, #536] ; 0x218 ARM_ADD_F32(IN_Reg, MEAN_Reg, MEAN_Reg, _2Ns); 805f1c4: 4bad ldr r3, [pc, #692] ; (805f47c ) 805f1c6: 681b ldr r3, [r3, #0] 805f1c8: 005b lsls r3, r3, #1 805f1ca: 2203 movs r2, #3 805f1cc: 2103 movs r1, #3 805f1ce: 2001 movs r0, #1 805f1d0: f006 fe92 bl 8065ef8 ARM_SCALE_F32(MEAN_Reg, scale, IN_Reg, _2Ns); 805f1d4: 4ba9 ldr r3, [pc, #676] ; (805f47c ) 805f1d6: 681b ldr r3, [r3, #0] 805f1d8: 005b lsls r3, r3, #1 805f1da: 461a mov r2, r3 805f1dc: 2101 movs r1, #1 805f1de: ed97 0a86 vldr s0, [r7, #536] ; 0x218 805f1e2: 2003 movs r0, #3 805f1e4: f006 ff0e bl 8066004 } } if(pardata.IPR > ACC) { 805f1e8: 4ba5 ldr r3, [pc, #660] ; (805f480 ) 805f1ea: 785b ldrb r3, [r3, #1] 805f1ec: b2db uxtb r3, r3 805f1ee: 2b00 cmp r3, #0 805f1f0: d001 beq.n 805f1f6 INTEGR_NEW(); 805f1f2: f007 fb03 bl 80667fc } if(MeanCnt == AVG[pardata.AVG]) 805f1f6: 4ba2 ldr r3, [pc, #648] ; (805f480 ) 805f1f8: 7b5b ldrb r3, [r3, #13] 805f1fa: b2db uxtb r3, r3 805f1fc: 461a mov r2, r3 805f1fe: 4ba1 ldr r3, [pc, #644] ; (805f484 ) 805f200: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805f204: 461a mov r2, r3 805f206: 4b9c ldr r3, [pc, #624] ; (805f478 ) 805f208: 681b ldr r3, [r3, #0] 805f20a: 429a cmp r2, r3 805f20c: f040 8087 bne.w 805f31e { In[0] = 0.0f; 805f210: 4b9d ldr r3, [pc, #628] ; (805f488 ) 805f212: f04f 0200 mov.w r2, #0 805f216: 601a str r2, [r3, #0] arm_power_f32(In, (Ns >> 1), &skz[pardata.IPR]); 805f218: 4b98 ldr r3, [pc, #608] ; (805f47c ) 805f21a: 681b ldr r3, [r3, #0] 805f21c: 0859 lsrs r1, r3, #1 805f21e: 4b98 ldr r3, [pc, #608] ; (805f480 ) 805f220: 785b ldrb r3, [r3, #1] 805f222: b2db uxtb r3, r3 805f224: 009b lsls r3, r3, #2 805f226: 4a99 ldr r2, [pc, #612] ; (805f48c ) 805f228: 4413 add r3, r2 805f22a: 461a mov r2, r3 805f22c: 4896 ldr r0, [pc, #600] ; (805f488 ) 805f22e: f06f fe1b bl 80cee68 skz[pardata.IPR] *= 0.5f; 805f232: 4b93 ldr r3, [pc, #588] ; (805f480 ) 805f234: 785b ldrb r3, [r3, #1] 805f236: b2db uxtb r3, r3 805f238: 4619 mov r1, r3 805f23a: 4a94 ldr r2, [pc, #592] ; (805f48c ) 805f23c: 009b lsls r3, r3, #2 805f23e: 4413 add r3, r2 805f240: edd3 7a00 vldr s15, [r3] 805f244: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805f248: ee67 7a87 vmul.f32 s15, s15, s14 805f24c: 4a8f ldr r2, [pc, #572] ; (805f48c ) 805f24e: 008b lsls r3, r1, #2 805f250: 4413 add r3, r2 805f252: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(skz[pardata.IPR], &skz[pardata.IPR]); 805f256: 4b8a ldr r3, [pc, #552] ; (805f480 ) 805f258: 785b ldrb r3, [r3, #1] 805f25a: b2db uxtb r3, r3 805f25c: 4a8b ldr r2, [pc, #556] ; (805f48c ) 805f25e: 009b lsls r3, r3, #2 805f260: 4413 add r3, r2 805f262: edd3 7a00 vldr s15, [r3] 805f266: 4b86 ldr r3, [pc, #536] ; (805f480 ) 805f268: 785b ldrb r3, [r3, #1] 805f26a: b2db uxtb r3, r3 805f26c: 009b lsls r3, r3, #2 805f26e: 4a87 ldr r2, [pc, #540] ; (805f48c ) 805f270: 4413 add r3, r2 805f272: 4618 mov r0, r3 805f274: eeb0 0a67 vmov.f32 s0, s15 805f278: f7f8 f8e8 bl 805744c if(pardata.WIN == HANN) { 805f27c: 4b80 ldr r3, [pc, #512] ; (805f480 ) 805f27e: 7a5b ldrb r3, [r3, #9] 805f280: b2db uxtb r3, r3 805f282: 2b01 cmp r3, #1 805f284: d111 bne.n 805f2aa skz[pardata.IPR] *= 1.64f; 805f286: 4b7e ldr r3, [pc, #504] ; (805f480 ) 805f288: 785b ldrb r3, [r3, #1] 805f28a: b2db uxtb r3, r3 805f28c: 4619 mov r1, r3 805f28e: 4a7f ldr r2, [pc, #508] ; (805f48c ) 805f290: 009b lsls r3, r3, #2 805f292: 4413 add r3, r2 805f294: edd3 7a00 vldr s15, [r3] 805f298: ed9f 7a7d vldr s14, [pc, #500] ; 805f490 805f29c: ee67 7a87 vmul.f32 s15, s15, s14 805f2a0: 4a7a ldr r2, [pc, #488] ; (805f48c ) 805f2a2: 008b lsls r3, r1, #2 805f2a4: 4413 add r3, r2 805f2a6: edc3 7a00 vstr s15, [r3] } FastCopy16(IN_Reg, SCR_Reg, Ns); 805f2aa: 4b74 ldr r3, [pc, #464] ; (805f47c ) 805f2ac: 681b ldr r3, [r3, #0] 805f2ae: 461a mov r2, r3 805f2b0: 2104 movs r1, #4 805f2b2: 2001 movs r0, #1 805f2b4: f006 fd94 bl 8065de0 if(pardata.IIN != VOLTS) 805f2b8: 4b71 ldr r3, [pc, #452] ; (805f480 ) 805f2ba: 799b ldrb r3, [r3, #6] 805f2bc: b2db uxtb r3, r3 805f2be: 2b02 cmp r3, #2 805f2c0: d00f beq.n 805f2e2 LinToLog(&skz[pardata.IPR], &skzDB[pardata.IPR]); 805f2c2: 4b6f ldr r3, [pc, #444] ; (805f480 ) 805f2c4: 785b ldrb r3, [r3, #1] 805f2c6: b2db uxtb r3, r3 805f2c8: 009b lsls r3, r3, #2 805f2ca: 4a70 ldr r2, [pc, #448] ; (805f48c ) 805f2cc: 1898 adds r0, r3, r2 805f2ce: 4b6c ldr r3, [pc, #432] ; (805f480 ) 805f2d0: 785b ldrb r3, [r3, #1] 805f2d2: b2db uxtb r3, r3 805f2d4: 009b lsls r3, r3, #2 805f2d6: 4a6f ldr r2, [pc, #444] ; (805f494 ) 805f2d8: 4413 add r3, r2 805f2da: 4619 mov r1, r3 805f2dc: f007 fb34 bl 8066948 805f2e0: e011 b.n 805f306 else LinToLog_mV(&skz[pardata.IPR], &skzDB[pardata.IPR], pardata.IPR); 805f2e2: 4b67 ldr r3, [pc, #412] ; (805f480 ) 805f2e4: 785b ldrb r3, [r3, #1] 805f2e6: b2db uxtb r3, r3 805f2e8: 009b lsls r3, r3, #2 805f2ea: 4a68 ldr r2, [pc, #416] ; (805f48c ) 805f2ec: 1898 adds r0, r3, r2 805f2ee: 4b64 ldr r3, [pc, #400] ; (805f480 ) 805f2f0: 785b ldrb r3, [r3, #1] 805f2f2: b2db uxtb r3, r3 805f2f4: 009b lsls r3, r3, #2 805f2f6: 4a67 ldr r2, [pc, #412] ; (805f494 ) 805f2f8: 1899 adds r1, r3, r2 805f2fa: 4b61 ldr r3, [pc, #388] ; (805f480 ) 805f2fc: 785b ldrb r3, [r3, #1] 805f2fe: b2db uxtb r3, r3 805f300: 461a mov r2, r3 805f302: f007 fb51 bl 80669a8 MeanCnt = 0; 805f306: 4b5c ldr r3, [pc, #368] ; (805f478 ) 805f308: 2200 movs r2, #0 805f30a: 601a str r2, [r3, #0] READY_TO_SEE = true; 805f30c: 4b62 ldr r3, [pc, #392] ; (805f498 ) 805f30e: 2201 movs r2, #1 805f310: 701a strb r2, [r3, #0] if(MeanCnt == AVG[pardata.AVG]) 805f312: e004 b.n 805f31e } } else { RepeatKm = true; 805f314: 4b61 ldr r3, [pc, #388] ; (805f49c ) 805f316: 2201 movs r2, #1 805f318: 701a strb r2, [r3, #0] } } break; 805f31a: f006 bc1a b.w 8065b52 805f31e: f006 bc18 b.w 8065b52 case SPEC_OKT: if(measuring) 805f322: 4b5f ldr r3, [pc, #380] ; (805f4a0 ) 805f324: 781b ldrb r3, [r3, #0] 805f326: b2db uxtb r3, r3 805f328: 2b00 cmp r3, #0 805f32a: f006 8414 beq.w 8065b56 { GetData(); 805f32e: f006 fecd bl 80660cc j = 0; 805f332: 2300 movs r3, #0 805f334: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805f338: 4b51 ldr r3, [pc, #324] ; (805f480 ) 805f33a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805f33e: f003 0304 and.w r3, r3, #4 805f342: 2b00 cmp r3, #0 805f344: d005 beq.n 805f352 CalculateGain(Ns); 805f346: 4b4d ldr r3, [pc, #308] ; (805f47c ) 805f348: 681b ldr r3, [r3, #0] 805f34a: 4618 mov r0, r3 805f34c: f7f8 f8a0 bl 8057490 805f350: e02e b.n 805f3b0 else { Stability = (Nr * 4) + 1; 805f352: 4b54 ldr r3, [pc, #336] ; (805f4a4 ) 805f354: 881b ldrh r3, [r3, #0] 805f356: b29b uxth r3, r3 805f358: 009b lsls r3, r3, #2 805f35a: 3301 adds r3, #1 805f35c: 461a mov r2, r3 805f35e: 4b52 ldr r3, [pc, #328] ; (805f4a8 ) 805f360: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805f362: 2300 movs r3, #0 805f364: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f368: e011 b.n 805f38e { if(In16[i].lg > 0xE00000) 805f36a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f36e: 4a4f ldr r2, [pc, #316] ; (805f4ac ) 805f370: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805f374: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805f378: d904 bls.n 805f384 j++; 805f37a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805f37e: 3301 adds r3, #1 805f380: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805f384: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f388: 3301 adds r3, #1 805f38a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f38e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f392: 4b3a ldr r3, [pc, #232] ; (805f47c ) 805f394: 681b ldr r3, [r3, #0] 805f396: 429a cmp r2, r3 805f398: d3e7 bcc.n 805f36a } if(j >= 2) 805f39a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805f39e: 2b01 cmp r3, #1 805f3a0: d903 bls.n 805f3aa OVERDRIVE = true; 805f3a2: 4b43 ldr r3, [pc, #268] ; (805f4b0 ) 805f3a4: 2201 movs r2, #1 805f3a6: 701a strb r2, [r3, #0] 805f3a8: e002 b.n 805f3b0 else OVERDRIVE = false; 805f3aa: 4b41 ldr r3, [pc, #260] ; (805f4b0 ) 805f3ac: 2200 movs r2, #0 805f3ae: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805f3b0: 4b40 ldr r3, [pc, #256] ; (805f4b4 ) 805f3b2: 781b ldrb r3, [r3, #0] 805f3b4: b2db uxtb r3, r3 805f3b6: 2b00 cmp r3, #0 805f3b8: d00a beq.n 805f3d0 { Stability = 0; 805f3ba: 4b3b ldr r3, [pc, #236] ; (805f4a8 ) 805f3bc: 2200 movs r2, #0 805f3be: 601a str r2, [r3, #0] MeanCnt = 0; 805f3c0: 4b2d ldr r3, [pc, #180] ; (805f478 ) 805f3c2: 2200 movs r2, #0 805f3c4: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805f3c6: 4b3c ldr r3, [pc, #240] ; (805f4b8 ) 805f3c8: f04f 32ff mov.w r2, #4294967295 805f3cc: 601a str r2, [r3, #0] 805f3ce: e00d b.n 805f3ec } else { if(Stability <= (Nr * 4)) 805f3d0: 4b34 ldr r3, [pc, #208] ; (805f4a4 ) 805f3d2: 881b ldrh r3, [r3, #0] 805f3d4: b29b uxth r3, r3 805f3d6: 009b lsls r3, r3, #2 805f3d8: 461a mov r2, r3 805f3da: 4b33 ldr r3, [pc, #204] ; (805f4a8 ) 805f3dc: 681b ldr r3, [r3, #0] 805f3de: 429a cmp r2, r3 805f3e0: d304 bcc.n 805f3ec Stability++; 805f3e2: 4b31 ldr r3, [pc, #196] ; (805f4a8 ) 805f3e4: 681b ldr r3, [r3, #0] 805f3e6: 3301 adds r3, #1 805f3e8: 4a2f ldr r2, [pc, #188] ; (805f4a8 ) 805f3ea: 6013 str r3, [r2, #0] } float32_t Octaves[15]; if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) //åñëè àâòîóñèëåíèå íîðì 805f3ec: 4b31 ldr r3, [pc, #196] ; (805f4b4 ) 805f3ee: 781b ldrb r3, [r3, #0] 805f3f0: b2db uxtb r3, r3 805f3f2: 2b00 cmp r3, #0 805f3f4: f041 835b bne.w 8060aae 805f3f8: 4b2a ldr r3, [pc, #168] ; (805f4a4 ) 805f3fa: 881b ldrh r3, [r3, #0] 805f3fc: b29b uxth r3, r3 805f3fe: 009b lsls r3, r3, #2 805f400: 461a mov r2, r3 805f402: 4b29 ldr r3, [pc, #164] ; (805f4a8 ) 805f404: 681b ldr r3, [r3, #0] 805f406: 429a cmp r2, r3 805f408: f081 8351 bcs.w 8060aae { uint64_t cntcnt = DWT->CYCCNT; 805f40c: 4b2b ldr r3, [pc, #172] ; (805f4bc ) 805f40e: 685b ldr r3, [r3, #4] 805f410: f04f 0400 mov.w r4, #0 805f414: f507 72f8 add.w r2, r7, #496 ; 0x1f0 805f418: e882 0018 stmia.w r2, {r3, r4} fNrm = 1.0f / ((float32_t)(Ns >> 1)); 805f41c: 4b17 ldr r3, [pc, #92] ; (805f47c ) 805f41e: 681b ldr r3, [r3, #0] 805f420: 085b lsrs r3, r3, #1 805f422: ee07 3a90 vmov s15, r3 805f426: eeb8 7a67 vcvt.f32.u32 s14, s15 805f42a: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805f42e: eec6 7a87 vdiv.f32 s15, s13, s14 805f432: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805f436: 4b22 ldr r3, [pc, #136] ; (805f4c0 ) 805f438: edd3 7a00 vldr s15, [r3] 805f43c: eeb7 7ae7 vcvt.f64.f32 d7, s15 805f440: ed9f 6b0b vldr d6, [pc, #44] ; 805f470 805f444: ee27 7b06 vmul.f64 d7, d7, d6 805f448: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 805f44c: 4b0c ldr r3, [pc, #48] ; (805f480 ) 805f44e: edd3 7a04 vldr s15, [r3, #16] 805f452: eeb7 6ae7 vcvt.f64.f32 d6, s15 805f456: ed97 5b82 vldr d5, [r7, #520] ; 0x208 805f45a: ee85 7b06 vdiv.f64 d7, d5, d6 805f45e: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805f462: 2300 movs r3, #0 805f464: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f468: e053 b.n 805f512 805f46a: bf00 nop 805f46c: f3af 8000 nop.w 805f470: 18000018 .word 0x18000018 805f474: 3e980000 .word 0x3e980000 805f478: 20020dd8 .word 0x20020dd8 805f47c: 20021d2c .word 0x20021d2c 805f480: 20023eb8 .word 0x20023eb8 805f484: 080f54d8 .word 0x080f54d8 805f488: 20027a20 .word 0x20027a20 805f48c: 20021590 .word 0x20021590 805f490: 3fd1eb85 .word 0x3fd1eb85 805f494: 2002159c .word 0x2002159c 805f498: 20020dae .word 0x20020dae 805f49c: 20020dcc .word 0x20020dcc 805f4a0: 20020dcf .word 0x20020dcf 805f4a4: 20021d70 .word 0x20021d70 805f4a8: 20020dc8 .word 0x20020dc8 805f4ac: 20058080 .word 0x20058080 805f4b0: 20021581 .word 0x20021581 805f4b4: 20020d9e .word 0x20020d9e 805f4b8: 20020da8 .word 0x20020da8 805f4bc: e0001000 .word 0xe0001000 805f4c0: 20020080 .word 0x20020080 { Buff64[i] = (float64_t) In16[i].lg; 805f4c4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f4c8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f4cc: 49b8 ldr r1, [pc, #736] ; (805f7b0 ) 805f4ce: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805f4d2: ee07 2a90 vmov s15, r2 805f4d6: eeb8 7b67 vcvt.f64.u32 d7, s15 805f4da: 4ab6 ldr r2, [pc, #728] ; (805f7b4 ) 805f4dc: 00db lsls r3, r3, #3 805f4de: 4413 add r3, r2 805f4e0: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805f4e4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f4e8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f4ec: 49b1 ldr r1, [pc, #708] ; (805f7b4 ) 805f4ee: 00d2 lsls r2, r2, #3 805f4f0: 440a add r2, r1 805f4f2: ed92 6b00 vldr d6, [r2] 805f4f6: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805f4fa: ee26 7b07 vmul.f64 d7, d6, d7 805f4fe: 4aad ldr r2, [pc, #692] ; (805f7b4 ) 805f500: 00db lsls r3, r3, #3 805f502: 4413 add r3, r2 805f504: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805f508: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f50c: 3301 adds r3, #1 805f50e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f512: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f516: 4ba8 ldr r3, [pc, #672] ; (805f7b8 ) 805f518: 681b ldr r3, [r3, #0] 805f51a: 429a cmp r2, r3 805f51c: d3d2 bcc.n 805f4c4 } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805f51e: 4ba6 ldr r3, [pc, #664] ; (805f7b8 ) 805f520: 681b ldr r3, [r3, #0] 805f522: 4aa4 ldr r2, [pc, #656] ; (805f7b4 ) 805f524: 49a3 ldr r1, [pc, #652] ; (805f7b4 ) 805f526: 48a5 ldr r0, [pc, #660] ; (805f7bc ) 805f528: f06f fde8 bl 80cf0fc if(pardata.IPR == ACC) 805f52c: 4ba4 ldr r3, [pc, #656] ; (805f7c0 ) 805f52e: 785b ldrb r3, [r3, #1] 805f530: b2db uxtb r3, r3 805f532: 2b00 cmp r3, #0 805f534: d107 bne.n 805f546 { arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805f536: 4ba0 ldr r3, [pc, #640] ; (805f7b8 ) 805f538: 681b ldr r3, [r3, #0] 805f53a: 4a9e ldr r2, [pc, #632] ; (805f7b4 ) 805f53c: 499d ldr r1, [pc, #628] ; (805f7b4 ) 805f53e: 48a1 ldr r0, [pc, #644] ; (805f7c4 ) 805f540: f06f fddc bl 80cf0fc 805f544: e026 b.n 805f594 } else if(pardata.IPR == VEL) 805f546: 4b9e ldr r3, [pc, #632] ; (805f7c0 ) 805f548: 785b ldrb r3, [r3, #1] 805f54a: b2db uxtb r3, r3 805f54c: 2b01 cmp r3, #1 805f54e: d10e bne.n 805f56e { arm_biquad_cascade_df2T_f64(&S_INT1, Buff64, Buff64, Ns); 805f550: 4b99 ldr r3, [pc, #612] ; (805f7b8 ) 805f552: 681b ldr r3, [r3, #0] 805f554: 4a97 ldr r2, [pc, #604] ; (805f7b4 ) 805f556: 4997 ldr r1, [pc, #604] ; (805f7b4 ) 805f558: 489b ldr r0, [pc, #620] ; (805f7c8 ) 805f55a: f06f fdcf bl 80cf0fc arm_biquad_cascade_df2T_f64(&S_HP_VEL, Buff64, Buff64, Ns); 805f55e: 4b96 ldr r3, [pc, #600] ; (805f7b8 ) 805f560: 681b ldr r3, [r3, #0] 805f562: 4a94 ldr r2, [pc, #592] ; (805f7b4 ) 805f564: 4993 ldr r1, [pc, #588] ; (805f7b4 ) 805f566: 4899 ldr r0, [pc, #612] ; (805f7cc ) 805f568: f06f fdc8 bl 80cf0fc 805f56c: e012 b.n 805f594 } else if(pardata.IPR == DIS) 805f56e: 4b94 ldr r3, [pc, #592] ; (805f7c0 ) 805f570: 785b ldrb r3, [r3, #1] 805f572: b2db uxtb r3, r3 805f574: 2b02 cmp r3, #2 805f576: d10d bne.n 805f594 { arm_biquad_cascade_df2T_f64(&S_INT2, Buff64, Buff64, Ns); 805f578: 4b8f ldr r3, [pc, #572] ; (805f7b8 ) 805f57a: 681b ldr r3, [r3, #0] 805f57c: 4a8d ldr r2, [pc, #564] ; (805f7b4 ) 805f57e: 498d ldr r1, [pc, #564] ; (805f7b4 ) 805f580: 4893 ldr r0, [pc, #588] ; (805f7d0 ) 805f582: f06f fdbb bl 80cf0fc arm_biquad_cascade_df2T_f64(&S_HP_DIS, Buff64, Buff64, Ns); 805f586: 4b8c ldr r3, [pc, #560] ; (805f7b8 ) 805f588: 681b ldr r3, [r3, #0] 805f58a: 4a8a ldr r2, [pc, #552] ; (805f7b4 ) 805f58c: 4989 ldr r1, [pc, #548] ; (805f7b4 ) 805f58e: 4891 ldr r0, [pc, #580] ; (805f7d4 ) 805f590: f06f fdb4 bl 80cf0fc } //** 8000 arm_biquad_cascade_df2T_f64(&S_IIR_8000Hz, &Buff64[0], &Buff64[Ns], 8192); 805f594: 4b88 ldr r3, [pc, #544] ; (805f7b8 ) 805f596: 681b ldr r3, [r3, #0] 805f598: 00db lsls r3, r3, #3 805f59a: 4a86 ldr r2, [pc, #536] ; (805f7b4 ) 805f59c: 441a add r2, r3 805f59e: f44f 5300 mov.w r3, #8192 ; 0x2000 805f5a2: 4984 ldr r1, [pc, #528] ; (805f7b4 ) 805f5a4: 488c ldr r0, [pc, #560] ; (805f7d8 ) 805f5a6: f06f fda9 bl 80cf0fc for(i = 0; i < 8192; i++) { 805f5aa: 2300 movs r3, #0 805f5ac: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f5b0: e017 b.n 805f5e2 In[i] = (float32_t) Buff64[Ns + i]; 805f5b2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f5b6: 4a80 ldr r2, [pc, #512] ; (805f7b8 ) 805f5b8: 6811 ldr r1, [r2, #0] 805f5ba: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f5be: 440a add r2, r1 805f5c0: 497c ldr r1, [pc, #496] ; (805f7b4 ) 805f5c2: 00d2 lsls r2, r2, #3 805f5c4: 440a add r2, r1 805f5c6: ed92 7b00 vldr d7, [r2] 805f5ca: eef7 7bc7 vcvt.f32.f64 s15, d7 805f5ce: 4a83 ldr r2, [pc, #524] ; (805f7dc ) 805f5d0: 009b lsls r3, r3, #2 805f5d2: 4413 add r3, r2 805f5d4: edc3 7a00 vstr s15, [r3] for(i = 0; i < 8192; i++) { 805f5d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f5dc: 3301 adds r3, #1 805f5de: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f5e2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f5e6: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 805f5ea: d3e2 bcc.n 805f5b2 } if(pardata.IVS[pardata.IPR] == RMS) 805f5ec: 4b74 ldr r3, [pc, #464] ; (805f7c0 ) 805f5ee: 785b ldrb r3, [r3, #1] 805f5f0: b2db uxtb r3, r3 805f5f2: 461a mov r2, r3 805f5f4: 4b72 ldr r3, [pc, #456] ; (805f7c0 ) 805f5f6: 4413 add r3, r2 805f5f8: 789b ldrb r3, [r3, #2] 805f5fa: b2db uxtb r3, r3 805f5fc: 2b01 cmp r3, #1 805f5fe: d108 bne.n 805f612 arm_rms_f32(In, 8192, &Octaves[13]); 805f600: 463b mov r3, r7 805f602: 3334 adds r3, #52 ; 0x34 805f604: 461a mov r2, r3 805f606: f44f 5100 mov.w r1, #8192 ; 0x2000 805f60a: 4874 ldr r0, [pc, #464] ; (805f7dc ) 805f60c: f06f fbd4 bl 80cedb8 805f610: e03e b.n 805f690 else { arm_min_f32(In, 8192, &fn[0], &i); 805f612: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f616: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f61a: f44f 5100 mov.w r1, #8192 ; 0x2000 805f61e: 486f ldr r0, [pc, #444] ; (805f7dc ) 805f620: f06f fc5c bl 80ceedc arm_max_f32(In, 8192, &fn[1], &j); 805f624: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f628: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f62c: 1d1a adds r2, r3, #4 805f62e: 460b mov r3, r1 805f630: f44f 5100 mov.w r1, #8192 ; 0x2000 805f634: 4869 ldr r0, [pc, #420] ; (805f7dc ) 805f636: f06f fced bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f63a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f63e: eef5 7ac0 vcmpe.f32 s15, #0.0 805f642: eef1 fa10 vmrs APSR_nzcv, fpscr 805f646: dd02 ble.n 805f64e 805f648: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f64c: e003 b.n 805f656 805f64e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f652: eef1 7a67 vneg.f32 s15, s15 805f656: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f65a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f65e: eef5 7ac0 vcmpe.f32 s15, #0.0 805f662: eef1 fa10 vmrs APSR_nzcv, fpscr 805f666: dd02 ble.n 805f66e 805f668: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f66c: e003 b.n 805f676 805f66e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f672: eef1 7a67 vneg.f32 s15, s15 805f676: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[13], &j); 805f67a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f67e: 463b mov r3, r7 805f680: f103 0234 add.w r2, r3, #52 ; 0x34 805f684: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f688: 460b mov r3, r1 805f68a: 2102 movs r1, #2 805f68c: f06f fcc2 bl 80cf014 }*/ //** 4000 arm_biquad_cascade_df2T_f64(&S_LP_4000, &Buff64[0], &Buff64[0], 8192); 805f690: f44f 5300 mov.w r3, #8192 ; 0x2000 805f694: 4a47 ldr r2, [pc, #284] ; (805f7b4 ) 805f696: 4947 ldr r1, [pc, #284] ; (805f7b4 ) 805f698: 4851 ldr r0, [pc, #324] ; (805f7e0 ) 805f69a: f06f fd2f bl 80cf0fc for(i = 0; i < 4096; i++) { 805f69e: 2300 movs r3, #0 805f6a0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f6a4: e012 b.n 805f6cc Buff64[i] = Buff64[i << 1]; 805f6a6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f6aa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f6ae: 005b lsls r3, r3, #1 805f6b0: 4940 ldr r1, [pc, #256] ; (805f7b4 ) 805f6b2: 00db lsls r3, r3, #3 805f6b4: 440b add r3, r1 805f6b6: cb18 ldmia r3, {r3, r4} 805f6b8: 493e ldr r1, [pc, #248] ; (805f7b4 ) 805f6ba: 00d2 lsls r2, r2, #3 805f6bc: 440a add r2, r1 805f6be: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 4096; i++) { 805f6c2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f6c6: 3301 adds r3, #1 805f6c8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f6cc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f6d0: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 805f6d4: d3e7 bcc.n 805f6a6 } arm_biquad_cascade_df2T_f64(&S_IIR_4000Hz, &Buff64[0], &Buff64[Ns], 4096); 805f6d6: 4b38 ldr r3, [pc, #224] ; (805f7b8 ) 805f6d8: 681b ldr r3, [r3, #0] 805f6da: 00db lsls r3, r3, #3 805f6dc: 4a35 ldr r2, [pc, #212] ; (805f7b4 ) 805f6de: 441a add r2, r3 805f6e0: f44f 5380 mov.w r3, #4096 ; 0x1000 805f6e4: 4933 ldr r1, [pc, #204] ; (805f7b4 ) 805f6e6: 483f ldr r0, [pc, #252] ; (805f7e4 ) 805f6e8: f06f fd08 bl 80cf0fc for(i = 0; i < 4096; i++) { 805f6ec: 2300 movs r3, #0 805f6ee: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f6f2: e017 b.n 805f724 In[i] = (float32_t) Buff64[Ns + i]; 805f6f4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f6f8: 4a2f ldr r2, [pc, #188] ; (805f7b8 ) 805f6fa: 6811 ldr r1, [r2, #0] 805f6fc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f700: 440a add r2, r1 805f702: 492c ldr r1, [pc, #176] ; (805f7b4 ) 805f704: 00d2 lsls r2, r2, #3 805f706: 440a add r2, r1 805f708: ed92 7b00 vldr d7, [r2] 805f70c: eef7 7bc7 vcvt.f32.f64 s15, d7 805f710: 4a32 ldr r2, [pc, #200] ; (805f7dc ) 805f712: 009b lsls r3, r3, #2 805f714: 4413 add r3, r2 805f716: edc3 7a00 vstr s15, [r3] for(i = 0; i < 4096; i++) { 805f71a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f71e: 3301 adds r3, #1 805f720: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f724: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f728: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 805f72c: d3e2 bcc.n 805f6f4 } if(pardata.IVS[pardata.IPR] == RMS) 805f72e: 4b24 ldr r3, [pc, #144] ; (805f7c0 ) 805f730: 785b ldrb r3, [r3, #1] 805f732: b2db uxtb r3, r3 805f734: 461a mov r2, r3 805f736: 4b22 ldr r3, [pc, #136] ; (805f7c0 ) 805f738: 4413 add r3, r2 805f73a: 789b ldrb r3, [r3, #2] 805f73c: b2db uxtb r3, r3 805f73e: 2b01 cmp r3, #1 805f740: d108 bne.n 805f754 arm_rms_f32(In, 4096, &Octaves[12]); 805f742: 463b mov r3, r7 805f744: 3330 adds r3, #48 ; 0x30 805f746: 461a mov r2, r3 805f748: f44f 5180 mov.w r1, #4096 ; 0x1000 805f74c: 4823 ldr r0, [pc, #140] ; (805f7dc ) 805f74e: f06f fb33 bl 80cedb8 805f752: e05a b.n 805f80a else { arm_min_f32(In, 4096, &fn[0], &i); 805f754: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f758: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f75c: f44f 5180 mov.w r1, #4096 ; 0x1000 805f760: 481e ldr r0, [pc, #120] ; (805f7dc ) 805f762: f06f fbbb bl 80ceedc arm_max_f32(In, 4096, &fn[1], &j); 805f766: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f76a: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f76e: 1d1a adds r2, r3, #4 805f770: 460b mov r3, r1 805f772: f44f 5180 mov.w r1, #4096 ; 0x1000 805f776: 4819 ldr r0, [pc, #100] ; (805f7dc ) 805f778: f06f fc4c bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f77c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f780: eef5 7ac0 vcmpe.f32 s15, #0.0 805f784: eef1 fa10 vmrs APSR_nzcv, fpscr 805f788: dd02 ble.n 805f790 805f78a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f78e: e003 b.n 805f798 805f790: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f794: eef1 7a67 vneg.f32 s15, s15 805f798: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f79c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f7a0: eef5 7ac0 vcmpe.f32 s15, #0.0 805f7a4: eef1 fa10 vmrs APSR_nzcv, fpscr 805f7a8: dd1e ble.n 805f7e8 805f7aa: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f7ae: e01f b.n 805f7f0 805f7b0: 20058080 .word 0x20058080 805f7b4: 20037b40 .word 0x20037b40 805f7b8: 20021d2c .word 0x20021d2c 805f7bc: 200265c4 .word 0x200265c4 805f7c0: 20023eb8 .word 0x20023eb8 805f7c4: 20025f60 .word 0x20025f60 805f7c8: 200261d0 .word 0x200261d0 805f7cc: 20025ed8 .word 0x20025ed8 805f7d0: 20027924 .word 0x20027924 805f7d4: 200279b0 .word 0x200279b0 805f7d8: 20025e4c .word 0x20025e4c 805f7dc: 20027a20 .word 0x20027a20 805f7e0: 20026d34 .word 0x20026d34 805f7e4: 20057bf0 .word 0x20057bf0 805f7e8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f7ec: eef1 7a67 vneg.f32 s15, s15 805f7f0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[12], &j); 805f7f4: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f7f8: 463b mov r3, r7 805f7fa: f103 0230 add.w r2, r3, #48 ; 0x30 805f7fe: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f802: 460b mov r3, r1 805f804: 2102 movs r1, #2 805f806: f06f fc05 bl 80cf014 } //** 2000 arm_biquad_cascade_df2T_f64(&S_LP_2000, &Buff64[0], &Buff64[0], 4096); 805f80a: f44f 5380 mov.w r3, #4096 ; 0x1000 805f80e: 4ab9 ldr r2, [pc, #740] ; (805faf4 ) 805f810: 49b8 ldr r1, [pc, #736] ; (805faf4 ) 805f812: 48b9 ldr r0, [pc, #740] ; (805faf8 ) 805f814: f06f fc72 bl 80cf0fc for(i = 0; i < 2048; i++) { 805f818: 2300 movs r3, #0 805f81a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f81e: e012 b.n 805f846 Buff64[i] = Buff64[i << 1]; 805f820: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f824: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f828: 005b lsls r3, r3, #1 805f82a: 49b2 ldr r1, [pc, #712] ; (805faf4 ) 805f82c: 00db lsls r3, r3, #3 805f82e: 440b add r3, r1 805f830: cb18 ldmia r3, {r3, r4} 805f832: 49b0 ldr r1, [pc, #704] ; (805faf4 ) 805f834: 00d2 lsls r2, r2, #3 805f836: 440a add r2, r1 805f838: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 2048; i++) { 805f83c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f840: 3301 adds r3, #1 805f842: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f846: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f84a: f5b3 6f00 cmp.w r3, #2048 ; 0x800 805f84e: d3e7 bcc.n 805f820 } arm_biquad_cascade_df2T_f64(&S_IIR_2000Hz, &Buff64[0], &Buff64[Ns], 2048); 805f850: 4baa ldr r3, [pc, #680] ; (805fafc ) 805f852: 681b ldr r3, [r3, #0] 805f854: 00db lsls r3, r3, #3 805f856: 4aa7 ldr r2, [pc, #668] ; (805faf4 ) 805f858: 441a add r2, r3 805f85a: f44f 6300 mov.w r3, #2048 ; 0x800 805f85e: 49a5 ldr r1, [pc, #660] ; (805faf4 ) 805f860: 48a7 ldr r0, [pc, #668] ; (805fb00 ) 805f862: f06f fc4b bl 80cf0fc for(i = 0; i < 2048; i++) { 805f866: 2300 movs r3, #0 805f868: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f86c: e017 b.n 805f89e In[i] = (float32_t) Buff64[Ns + i]; 805f86e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f872: 4aa2 ldr r2, [pc, #648] ; (805fafc ) 805f874: 6811 ldr r1, [r2, #0] 805f876: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f87a: 440a add r2, r1 805f87c: 499d ldr r1, [pc, #628] ; (805faf4 ) 805f87e: 00d2 lsls r2, r2, #3 805f880: 440a add r2, r1 805f882: ed92 7b00 vldr d7, [r2] 805f886: eef7 7bc7 vcvt.f32.f64 s15, d7 805f88a: 4a9e ldr r2, [pc, #632] ; (805fb04 ) 805f88c: 009b lsls r3, r3, #2 805f88e: 4413 add r3, r2 805f890: edc3 7a00 vstr s15, [r3] for(i = 0; i < 2048; i++) { 805f894: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f898: 3301 adds r3, #1 805f89a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f89e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f8a2: f5b3 6f00 cmp.w r3, #2048 ; 0x800 805f8a6: d3e2 bcc.n 805f86e } if(pardata.IVS[pardata.IPR] == RMS) 805f8a8: 4b97 ldr r3, [pc, #604] ; (805fb08 ) 805f8aa: 785b ldrb r3, [r3, #1] 805f8ac: b2db uxtb r3, r3 805f8ae: 461a mov r2, r3 805f8b0: 4b95 ldr r3, [pc, #596] ; (805fb08 ) 805f8b2: 4413 add r3, r2 805f8b4: 789b ldrb r3, [r3, #2] 805f8b6: b2db uxtb r3, r3 805f8b8: 2b01 cmp r3, #1 805f8ba: d108 bne.n 805f8ce arm_rms_f32(In, 2048, &Octaves[11]); 805f8bc: 463b mov r3, r7 805f8be: 332c adds r3, #44 ; 0x2c 805f8c0: 461a mov r2, r3 805f8c2: f44f 6100 mov.w r1, #2048 ; 0x800 805f8c6: 488f ldr r0, [pc, #572] ; (805fb04 ) 805f8c8: f06f fa76 bl 80cedb8 805f8cc: e03e b.n 805f94c else { arm_min_f32(In, 2048, &fn[0], &i); 805f8ce: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f8d2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f8d6: f44f 6100 mov.w r1, #2048 ; 0x800 805f8da: 488a ldr r0, [pc, #552] ; (805fb04 ) 805f8dc: f06f fafe bl 80ceedc arm_max_f32(In, 2048, &fn[1], &j); 805f8e0: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f8e4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f8e8: 1d1a adds r2, r3, #4 805f8ea: 460b mov r3, r1 805f8ec: f44f 6100 mov.w r1, #2048 ; 0x800 805f8f0: 4884 ldr r0, [pc, #528] ; (805fb04 ) 805f8f2: f06f fb8f bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f8f6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f8fa: eef5 7ac0 vcmpe.f32 s15, #0.0 805f8fe: eef1 fa10 vmrs APSR_nzcv, fpscr 805f902: dd02 ble.n 805f90a 805f904: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f908: e003 b.n 805f912 805f90a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f90e: eef1 7a67 vneg.f32 s15, s15 805f912: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f916: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f91a: eef5 7ac0 vcmpe.f32 s15, #0.0 805f91e: eef1 fa10 vmrs APSR_nzcv, fpscr 805f922: dd02 ble.n 805f92a 805f924: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f928: e003 b.n 805f932 805f92a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f92e: eef1 7a67 vneg.f32 s15, s15 805f932: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[11], &j); 805f936: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f93a: 463b mov r3, r7 805f93c: f103 022c add.w r2, r3, #44 ; 0x2c 805f940: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f944: 460b mov r3, r1 805f946: 2102 movs r1, #2 805f948: f06f fb64 bl 80cf014 } //** 1000 arm_biquad_cascade_df2T_f64(&S_LP_1000, &Buff64[0], &Buff64[0], 2048); 805f94c: f44f 6300 mov.w r3, #2048 ; 0x800 805f950: 4a68 ldr r2, [pc, #416] ; (805faf4 ) 805f952: 4968 ldr r1, [pc, #416] ; (805faf4 ) 805f954: 486d ldr r0, [pc, #436] ; (805fb0c ) 805f956: f06f fbd1 bl 80cf0fc for(i = 0; i < 1024; i++) { 805f95a: 2300 movs r3, #0 805f95c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f960: e012 b.n 805f988 Buff64[i] = Buff64[i << 1]; 805f962: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f966: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f96a: 005b lsls r3, r3, #1 805f96c: 4961 ldr r1, [pc, #388] ; (805faf4 ) 805f96e: 00db lsls r3, r3, #3 805f970: 440b add r3, r1 805f972: cb18 ldmia r3, {r3, r4} 805f974: 495f ldr r1, [pc, #380] ; (805faf4 ) 805f976: 00d2 lsls r2, r2, #3 805f978: 440a add r2, r1 805f97a: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 1024; i++) { 805f97e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f982: 3301 adds r3, #1 805f984: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f988: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f98c: f5b3 6f80 cmp.w r3, #1024 ; 0x400 805f990: d3e7 bcc.n 805f962 } arm_biquad_cascade_df2T_f64(&S_IIR_1000Hz, &Buff64[0], &Buff64[Ns], 1024); 805f992: 4b5a ldr r3, [pc, #360] ; (805fafc ) 805f994: 681b ldr r3, [r3, #0] 805f996: 00db lsls r3, r3, #3 805f998: 4a56 ldr r2, [pc, #344] ; (805faf4 ) 805f99a: 441a add r2, r3 805f99c: f44f 6380 mov.w r3, #1024 ; 0x400 805f9a0: 4954 ldr r1, [pc, #336] ; (805faf4 ) 805f9a2: 485b ldr r0, [pc, #364] ; (805fb10 ) 805f9a4: f06f fbaa bl 80cf0fc for(i = 0; i < 1024; i++) { 805f9a8: 2300 movs r3, #0 805f9aa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f9ae: e017 b.n 805f9e0 In[i] = (float32_t) Buff64[Ns + i]; 805f9b0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f9b4: 4a51 ldr r2, [pc, #324] ; (805fafc ) 805f9b6: 6811 ldr r1, [r2, #0] 805f9b8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f9bc: 440a add r2, r1 805f9be: 494d ldr r1, [pc, #308] ; (805faf4 ) 805f9c0: 00d2 lsls r2, r2, #3 805f9c2: 440a add r2, r1 805f9c4: ed92 7b00 vldr d7, [r2] 805f9c8: eef7 7bc7 vcvt.f32.f64 s15, d7 805f9cc: 4a4d ldr r2, [pc, #308] ; (805fb04 ) 805f9ce: 009b lsls r3, r3, #2 805f9d0: 4413 add r3, r2 805f9d2: edc3 7a00 vstr s15, [r3] for(i = 0; i < 1024; i++) { 805f9d6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f9da: 3301 adds r3, #1 805f9dc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f9e0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f9e4: f5b3 6f80 cmp.w r3, #1024 ; 0x400 805f9e8: d3e2 bcc.n 805f9b0 } if(pardata.IVS[pardata.IPR] == RMS) 805f9ea: 4b47 ldr r3, [pc, #284] ; (805fb08 ) 805f9ec: 785b ldrb r3, [r3, #1] 805f9ee: b2db uxtb r3, r3 805f9f0: 461a mov r2, r3 805f9f2: 4b45 ldr r3, [pc, #276] ; (805fb08 ) 805f9f4: 4413 add r3, r2 805f9f6: 789b ldrb r3, [r3, #2] 805f9f8: b2db uxtb r3, r3 805f9fa: 2b01 cmp r3, #1 805f9fc: d108 bne.n 805fa10 arm_rms_f32(In, 1024, &Octaves[10]); 805f9fe: 463b mov r3, r7 805fa00: 3328 adds r3, #40 ; 0x28 805fa02: 461a mov r2, r3 805fa04: f44f 6180 mov.w r1, #1024 ; 0x400 805fa08: 483e ldr r0, [pc, #248] ; (805fb04 ) 805fa0a: f06f f9d5 bl 80cedb8 805fa0e: e03e b.n 805fa8e else { arm_min_f32(In, 1024, &fn[0], &i); 805fa10: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805fa14: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805fa18: f44f 6180 mov.w r1, #1024 ; 0x400 805fa1c: 4839 ldr r0, [pc, #228] ; (805fb04 ) 805fa1e: f06f fa5d bl 80ceedc arm_max_f32(In, 1024, &fn[1], &j); 805fa22: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805fa26: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805fa2a: 1d1a adds r2, r3, #4 805fa2c: 460b mov r3, r1 805fa2e: f44f 6180 mov.w r1, #1024 ; 0x400 805fa32: 4834 ldr r0, [pc, #208] ; (805fb04 ) 805fa34: f06f faee bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805fa38: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fa3c: eef5 7ac0 vcmpe.f32 s15, #0.0 805fa40: eef1 fa10 vmrs APSR_nzcv, fpscr 805fa44: dd02 ble.n 805fa4c 805fa46: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fa4a: e003 b.n 805fa54 805fa4c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fa50: eef1 7a67 vneg.f32 s15, s15 805fa54: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805fa58: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fa5c: eef5 7ac0 vcmpe.f32 s15, #0.0 805fa60: eef1 fa10 vmrs APSR_nzcv, fpscr 805fa64: dd02 ble.n 805fa6c 805fa66: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fa6a: e003 b.n 805fa74 805fa6c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fa70: eef1 7a67 vneg.f32 s15, s15 805fa74: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[10], &j); 805fa78: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805fa7c: 463b mov r3, r7 805fa7e: f103 0228 add.w r2, r3, #40 ; 0x28 805fa82: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805fa86: 460b mov r3, r1 805fa88: 2102 movs r1, #2 805fa8a: f06f fac3 bl 80cf014 } //** 500 arm_biquad_cascade_df2T_f64(&S_LP_500, &Buff64[0], &Buff64[0], 1024); 805fa8e: f44f 6380 mov.w r3, #1024 ; 0x400 805fa92: 4a18 ldr r2, [pc, #96] ; (805faf4 ) 805fa94: 4917 ldr r1, [pc, #92] ; (805faf4 ) 805fa96: 481f ldr r0, [pc, #124] ; (805fb14 ) 805fa98: f06f fb30 bl 80cf0fc for(i = 0; i < 512; i++) { 805fa9c: 2300 movs r3, #0 805fa9e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805faa2: e012 b.n 805faca Buff64[i] = Buff64[i << 1]; 805faa4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805faa8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805faac: 005b lsls r3, r3, #1 805faae: 4911 ldr r1, [pc, #68] ; (805faf4 ) 805fab0: 00db lsls r3, r3, #3 805fab2: 440b add r3, r1 805fab4: cb18 ldmia r3, {r3, r4} 805fab6: 490f ldr r1, [pc, #60] ; (805faf4 ) 805fab8: 00d2 lsls r2, r2, #3 805faba: 440a add r2, r1 805fabc: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 512; i++) { 805fac0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fac4: 3301 adds r3, #1 805fac6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805faca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805face: f5b3 7f00 cmp.w r3, #512 ; 0x200 805fad2: d3e7 bcc.n 805faa4 } arm_biquad_cascade_df2T_f64(&S_IIR_500Hz, &Buff64[0], &Buff64[Ns], 512); 805fad4: 4b09 ldr r3, [pc, #36] ; (805fafc ) 805fad6: 681b ldr r3, [r3, #0] 805fad8: 00db lsls r3, r3, #3 805fada: 4a06 ldr r2, [pc, #24] ; (805faf4 ) 805fadc: 441a add r2, r3 805fade: f44f 7300 mov.w r3, #512 ; 0x200 805fae2: 4904 ldr r1, [pc, #16] ; (805faf4 ) 805fae4: 480c ldr r0, [pc, #48] ; (805fb18 ) 805fae6: f06f fb09 bl 80cf0fc for(i = 0; i < 512; i++) { 805faea: 2300 movs r3, #0 805faec: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805faf0: e02c b.n 805fb4c 805faf2: bf00 nop 805faf4: 20037b40 .word 0x20037b40 805faf8: 20027980 .word 0x20027980 805fafc: 20021d2c .word 0x20021d2c 805fb00: 20026f58 .word 0x20026f58 805fb04: 20027a20 .word 0x20027a20 805fb08: 20023eb8 .word 0x20023eb8 805fb0c: 20068324 .word 0x20068324 805fb10: 200266c0 .word 0x200266c0 805fb14: 200279bc .word 0x200279bc 805fb18: 20068080 .word 0x20068080 In[i] = (float32_t) Buff64[Ns + i]; 805fb1c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fb20: 4aca ldr r2, [pc, #808] ; (805fe4c ) 805fb22: 6811 ldr r1, [r2, #0] 805fb24: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fb28: 440a add r2, r1 805fb2a: 49c9 ldr r1, [pc, #804] ; (805fe50 ) 805fb2c: 00d2 lsls r2, r2, #3 805fb2e: 440a add r2, r1 805fb30: ed92 7b00 vldr d7, [r2] 805fb34: eef7 7bc7 vcvt.f32.f64 s15, d7 805fb38: 4ac6 ldr r2, [pc, #792] ; (805fe54 ) 805fb3a: 009b lsls r3, r3, #2 805fb3c: 4413 add r3, r2 805fb3e: edc3 7a00 vstr s15, [r3] for(i = 0; i < 512; i++) { 805fb42: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fb46: 3301 adds r3, #1 805fb48: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fb4c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fb50: f5b3 7f00 cmp.w r3, #512 ; 0x200 805fb54: d3e2 bcc.n 805fb1c } if(pardata.IVS[pardata.IPR] == RMS) 805fb56: 4bc0 ldr r3, [pc, #768] ; (805fe58 ) 805fb58: 785b ldrb r3, [r3, #1] 805fb5a: b2db uxtb r3, r3 805fb5c: 461a mov r2, r3 805fb5e: 4bbe ldr r3, [pc, #760] ; (805fe58 ) 805fb60: 4413 add r3, r2 805fb62: 789b ldrb r3, [r3, #2] 805fb64: b2db uxtb r3, r3 805fb66: 2b01 cmp r3, #1 805fb68: d108 bne.n 805fb7c arm_rms_f32(In, 512, &Octaves[9]); 805fb6a: 463b mov r3, r7 805fb6c: 3324 adds r3, #36 ; 0x24 805fb6e: 461a mov r2, r3 805fb70: f44f 7100 mov.w r1, #512 ; 0x200 805fb74: 48b7 ldr r0, [pc, #732] ; (805fe54 ) 805fb76: f06f f91f bl 80cedb8 805fb7a: e03e b.n 805fbfa else { arm_min_f32(In, 512, &fn[0], &i); 805fb7c: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805fb80: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805fb84: f44f 7100 mov.w r1, #512 ; 0x200 805fb88: 48b2 ldr r0, [pc, #712] ; (805fe54 ) 805fb8a: f06f f9a7 bl 80ceedc arm_max_f32(In, 512, &fn[1], &j); 805fb8e: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805fb92: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805fb96: 1d1a adds r2, r3, #4 805fb98: 460b mov r3, r1 805fb9a: f44f 7100 mov.w r1, #512 ; 0x200 805fb9e: 48ad ldr r0, [pc, #692] ; (805fe54 ) 805fba0: f06f fa38 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805fba4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fba8: eef5 7ac0 vcmpe.f32 s15, #0.0 805fbac: eef1 fa10 vmrs APSR_nzcv, fpscr 805fbb0: dd02 ble.n 805fbb8 805fbb2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fbb6: e003 b.n 805fbc0 805fbb8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fbbc: eef1 7a67 vneg.f32 s15, s15 805fbc0: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805fbc4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fbc8: eef5 7ac0 vcmpe.f32 s15, #0.0 805fbcc: eef1 fa10 vmrs APSR_nzcv, fpscr 805fbd0: dd02 ble.n 805fbd8 805fbd2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fbd6: e003 b.n 805fbe0 805fbd8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fbdc: eef1 7a67 vneg.f32 s15, s15 805fbe0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[9], &j); 805fbe4: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805fbe8: 463b mov r3, r7 805fbea: f103 0224 add.w r2, r3, #36 ; 0x24 805fbee: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805fbf2: 460b mov r3, r1 805fbf4: 2102 movs r1, #2 805fbf6: f06f fa0d bl 80cf014 } //** 250 arm_biquad_cascade_df2T_f64(&S_LP_250, &Buff64[0], &Buff64[0], 512); 805fbfa: f44f 7300 mov.w r3, #512 ; 0x200 805fbfe: 4a94 ldr r2, [pc, #592] ; (805fe50 ) 805fc00: 4993 ldr r1, [pc, #588] ; (805fe50 ) 805fc02: 4896 ldr r0, [pc, #600] ; (805fe5c ) 805fc04: f06f fa7a bl 80cf0fc for(i = 0; i < 256; i++) { 805fc08: 2300 movs r3, #0 805fc0a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fc0e: e012 b.n 805fc36 Buff64[i] = Buff64[i << 1]; 805fc10: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fc14: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fc18: 005b lsls r3, r3, #1 805fc1a: 498d ldr r1, [pc, #564] ; (805fe50 ) 805fc1c: 00db lsls r3, r3, #3 805fc1e: 440b add r3, r1 805fc20: cb18 ldmia r3, {r3, r4} 805fc22: 498b ldr r1, [pc, #556] ; (805fe50 ) 805fc24: 00d2 lsls r2, r2, #3 805fc26: 440a add r2, r1 805fc28: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 256; i++) { 805fc2c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fc30: 3301 adds r3, #1 805fc32: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fc36: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fc3a: 2bff cmp r3, #255 ; 0xff 805fc3c: d9e8 bls.n 805fc10 } arm_biquad_cascade_df2T_f64(&S_IIR_250Hz, &Buff64[0], &Buff64[Ns], 256); 805fc3e: 4b83 ldr r3, [pc, #524] ; (805fe4c ) 805fc40: 681b ldr r3, [r3, #0] 805fc42: 00db lsls r3, r3, #3 805fc44: 4a82 ldr r2, [pc, #520] ; (805fe50 ) 805fc46: 441a add r2, r3 805fc48: f44f 7380 mov.w r3, #256 ; 0x100 805fc4c: 4980 ldr r1, [pc, #512] ; (805fe50 ) 805fc4e: 4884 ldr r0, [pc, #528] ; (805fe60 ) 805fc50: f06f fa54 bl 80cf0fc for(i = 0; i < 256; i++) { 805fc54: 2300 movs r3, #0 805fc56: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fc5a: e017 b.n 805fc8c In[i] = (float32_t) Buff64[Ns + i]; 805fc5c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fc60: 4a7a ldr r2, [pc, #488] ; (805fe4c ) 805fc62: 6811 ldr r1, [r2, #0] 805fc64: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fc68: 440a add r2, r1 805fc6a: 4979 ldr r1, [pc, #484] ; (805fe50 ) 805fc6c: 00d2 lsls r2, r2, #3 805fc6e: 440a add r2, r1 805fc70: ed92 7b00 vldr d7, [r2] 805fc74: eef7 7bc7 vcvt.f32.f64 s15, d7 805fc78: 4a76 ldr r2, [pc, #472] ; (805fe54 ) 805fc7a: 009b lsls r3, r3, #2 805fc7c: 4413 add r3, r2 805fc7e: edc3 7a00 vstr s15, [r3] for(i = 0; i < 256; i++) { 805fc82: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fc86: 3301 adds r3, #1 805fc88: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fc8c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fc90: 2bff cmp r3, #255 ; 0xff 805fc92: d9e3 bls.n 805fc5c } if(pardata.IVS[pardata.IPR] == RMS) 805fc94: 4b70 ldr r3, [pc, #448] ; (805fe58 ) 805fc96: 785b ldrb r3, [r3, #1] 805fc98: b2db uxtb r3, r3 805fc9a: 461a mov r2, r3 805fc9c: 4b6e ldr r3, [pc, #440] ; (805fe58 ) 805fc9e: 4413 add r3, r2 805fca0: 789b ldrb r3, [r3, #2] 805fca2: b2db uxtb r3, r3 805fca4: 2b01 cmp r3, #1 805fca6: d108 bne.n 805fcba arm_rms_f32(In, 256, &Octaves[8]); 805fca8: 463b mov r3, r7 805fcaa: 3320 adds r3, #32 805fcac: 461a mov r2, r3 805fcae: f44f 7180 mov.w r1, #256 ; 0x100 805fcb2: 4868 ldr r0, [pc, #416] ; (805fe54 ) 805fcb4: f06f f880 bl 80cedb8 805fcb8: e03e b.n 805fd38 else { arm_min_f32(In, 256, &fn[0], &i); 805fcba: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805fcbe: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805fcc2: f44f 7180 mov.w r1, #256 ; 0x100 805fcc6: 4863 ldr r0, [pc, #396] ; (805fe54 ) 805fcc8: f06f f908 bl 80ceedc arm_max_f32(In, 256, &fn[1], &j); 805fccc: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805fcd0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805fcd4: 1d1a adds r2, r3, #4 805fcd6: 460b mov r3, r1 805fcd8: f44f 7180 mov.w r1, #256 ; 0x100 805fcdc: 485d ldr r0, [pc, #372] ; (805fe54 ) 805fcde: f06f f999 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805fce2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fce6: eef5 7ac0 vcmpe.f32 s15, #0.0 805fcea: eef1 fa10 vmrs APSR_nzcv, fpscr 805fcee: dd02 ble.n 805fcf6 805fcf0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fcf4: e003 b.n 805fcfe 805fcf6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fcfa: eef1 7a67 vneg.f32 s15, s15 805fcfe: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805fd02: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fd06: eef5 7ac0 vcmpe.f32 s15, #0.0 805fd0a: eef1 fa10 vmrs APSR_nzcv, fpscr 805fd0e: dd02 ble.n 805fd16 805fd10: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fd14: e003 b.n 805fd1e 805fd16: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fd1a: eef1 7a67 vneg.f32 s15, s15 805fd1e: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[8], &j); 805fd22: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805fd26: 463b mov r3, r7 805fd28: f103 0220 add.w r2, r3, #32 805fd2c: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805fd30: 460b mov r3, r1 805fd32: 2102 movs r1, #2 805fd34: f06f f96e bl 80cf014 } //** 125 arm_biquad_cascade_df2T_f64(&S_LP_125, &Buff64[0], &Buff64[0], 256); 805fd38: f44f 7380 mov.w r3, #256 ; 0x100 805fd3c: 4a44 ldr r2, [pc, #272] ; (805fe50 ) 805fd3e: 4944 ldr r1, [pc, #272] ; (805fe50 ) 805fd40: 4848 ldr r0, [pc, #288] ; (805fe64 ) 805fd42: f06f f9db bl 80cf0fc for(i = 0; i < 128; i++) { 805fd46: 2300 movs r3, #0 805fd48: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fd4c: e012 b.n 805fd74 Buff64[i] = Buff64[i << 1]; 805fd4e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fd52: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fd56: 005b lsls r3, r3, #1 805fd58: 493d ldr r1, [pc, #244] ; (805fe50 ) 805fd5a: 00db lsls r3, r3, #3 805fd5c: 440b add r3, r1 805fd5e: cb18 ldmia r3, {r3, r4} 805fd60: 493b ldr r1, [pc, #236] ; (805fe50 ) 805fd62: 00d2 lsls r2, r2, #3 805fd64: 440a add r2, r1 805fd66: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 128; i++) { 805fd6a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fd6e: 3301 adds r3, #1 805fd70: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fd74: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fd78: 2b7f cmp r3, #127 ; 0x7f 805fd7a: d9e8 bls.n 805fd4e } arm_biquad_cascade_df2T_f64(&S_IIR_125Hz, &Buff64[0], &Buff64[Ns], 128); 805fd7c: 4b33 ldr r3, [pc, #204] ; (805fe4c ) 805fd7e: 681b ldr r3, [r3, #0] 805fd80: 00db lsls r3, r3, #3 805fd82: 4a33 ldr r2, [pc, #204] ; (805fe50 ) 805fd84: 441a add r2, r3 805fd86: 2380 movs r3, #128 ; 0x80 805fd88: 4931 ldr r1, [pc, #196] ; (805fe50 ) 805fd8a: 4837 ldr r0, [pc, #220] ; (805fe68 ) 805fd8c: f06f f9b6 bl 80cf0fc for(i = 0; i < 128; i++) { 805fd90: 2300 movs r3, #0 805fd92: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fd96: e017 b.n 805fdc8 In[i] = (float32_t) Buff64[Ns + i]; 805fd98: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fd9c: 4a2b ldr r2, [pc, #172] ; (805fe4c ) 805fd9e: 6811 ldr r1, [r2, #0] 805fda0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fda4: 440a add r2, r1 805fda6: 492a ldr r1, [pc, #168] ; (805fe50 ) 805fda8: 00d2 lsls r2, r2, #3 805fdaa: 440a add r2, r1 805fdac: ed92 7b00 vldr d7, [r2] 805fdb0: eef7 7bc7 vcvt.f32.f64 s15, d7 805fdb4: 4a27 ldr r2, [pc, #156] ; (805fe54 ) 805fdb6: 009b lsls r3, r3, #2 805fdb8: 4413 add r3, r2 805fdba: edc3 7a00 vstr s15, [r3] for(i = 0; i < 128; i++) { 805fdbe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fdc2: 3301 adds r3, #1 805fdc4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fdc8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fdcc: 2b7f cmp r3, #127 ; 0x7f 805fdce: d9e3 bls.n 805fd98 } if(pardata.IVS[pardata.IPR] == RMS) 805fdd0: 4b21 ldr r3, [pc, #132] ; (805fe58 ) 805fdd2: 785b ldrb r3, [r3, #1] 805fdd4: b2db uxtb r3, r3 805fdd6: 461a mov r2, r3 805fdd8: 4b1f ldr r3, [pc, #124] ; (805fe58 ) 805fdda: 4413 add r3, r2 805fddc: 789b ldrb r3, [r3, #2] 805fdde: b2db uxtb r3, r3 805fde0: 2b01 cmp r3, #1 805fde2: d107 bne.n 805fdf4 arm_rms_f32(In, 128, &Octaves[7]); 805fde4: 463b mov r3, r7 805fde6: 331c adds r3, #28 805fde8: 461a mov r2, r3 805fdea: 2180 movs r1, #128 ; 0x80 805fdec: 4819 ldr r0, [pc, #100] ; (805fe54 ) 805fdee: f06e ffe3 bl 80cedb8 805fdf2: e04c b.n 805fe8e else { arm_min_f32(In, 128, &fn[0], &i); 805fdf4: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805fdf8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805fdfc: 2180 movs r1, #128 ; 0x80 805fdfe: 4815 ldr r0, [pc, #84] ; (805fe54 ) 805fe00: f06f f86c bl 80ceedc arm_max_f32(In, 128, &fn[1], &j); 805fe04: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805fe08: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805fe0c: 1d1a adds r2, r3, #4 805fe0e: 460b mov r3, r1 805fe10: 2180 movs r1, #128 ; 0x80 805fe12: 4810 ldr r0, [pc, #64] ; (805fe54 ) 805fe14: f06f f8fe bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805fe18: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fe1c: eef5 7ac0 vcmpe.f32 s15, #0.0 805fe20: eef1 fa10 vmrs APSR_nzcv, fpscr 805fe24: dd02 ble.n 805fe2c 805fe26: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fe2a: e003 b.n 805fe34 805fe2c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fe30: eef1 7a67 vneg.f32 s15, s15 805fe34: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805fe38: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fe3c: eef5 7ac0 vcmpe.f32 s15, #0.0 805fe40: eef1 fa10 vmrs APSR_nzcv, fpscr 805fe44: dd12 ble.n 805fe6c 805fe46: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fe4a: e013 b.n 805fe74 805fe4c: 20021d2c .word 0x20021d2c 805fe50: 20037b40 .word 0x20037b40 805fe54: 20027a20 .word 0x20027a20 805fe58: 20023eb8 .word 0x20023eb8 805fe5c: 200685a8 .word 0x200685a8 805fe60: 20026948 .word 0x20026948 805fe64: 20026080 .word 0x20026080 805fe68: 20026750 .word 0x20026750 805fe6c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fe70: eef1 7a67 vneg.f32 s15, s15 805fe74: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[7], &j); 805fe78: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805fe7c: 463b mov r3, r7 805fe7e: f103 021c add.w r2, r3, #28 805fe82: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805fe86: 460b mov r3, r1 805fe88: 2102 movs r1, #2 805fe8a: f06f f8c3 bl 80cf014 } //** 63 arm_biquad_cascade_df2T_f64(&S_LP_63, &Buff64[0], &Buff64[0], 128); 805fe8e: 2380 movs r3, #128 ; 0x80 805fe90: 4ac7 ldr r2, [pc, #796] ; (80601b0 ) 805fe92: 49c7 ldr r1, [pc, #796] ; (80601b0 ) 805fe94: 48c7 ldr r0, [pc, #796] ; (80601b4 ) 805fe96: f06f f931 bl 80cf0fc for(i = 0; i < 64; i++) { 805fe9a: 2300 movs r3, #0 805fe9c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fea0: e012 b.n 805fec8 Buff64[i] = Buff64[i << 1]; 805fea2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fea6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805feaa: 005b lsls r3, r3, #1 805feac: 49c0 ldr r1, [pc, #768] ; (80601b0 ) 805feae: 00db lsls r3, r3, #3 805feb0: 440b add r3, r1 805feb2: cb18 ldmia r3, {r3, r4} 805feb4: 49be ldr r1, [pc, #760] ; (80601b0 ) 805feb6: 00d2 lsls r2, r2, #3 805feb8: 440a add r2, r1 805feba: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 64; i++) { 805febe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fec2: 3301 adds r3, #1 805fec4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fec8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fecc: 2b3f cmp r3, #63 ; 0x3f 805fece: d9e8 bls.n 805fea2 } arm_biquad_cascade_df2T_f64(&S_IIR_63Hz, &Buff64[0], &Buff64[Ns], 64); 805fed0: 4bb9 ldr r3, [pc, #740] ; (80601b8 ) 805fed2: 681b ldr r3, [r3, #0] 805fed4: 00db lsls r3, r3, #3 805fed6: 4ab6 ldr r2, [pc, #728] ; (80601b0 ) 805fed8: 441a add r2, r3 805feda: 2340 movs r3, #64 ; 0x40 805fedc: 49b4 ldr r1, [pc, #720] ; (80601b0 ) 805fede: 48b7 ldr r0, [pc, #732] ; (80601bc ) 805fee0: f06f f90c bl 80cf0fc for(i = 0; i < 64; i++) { 805fee4: 2300 movs r3, #0 805fee6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805feea: e017 b.n 805ff1c In[i] = (float32_t) Buff64[Ns + i]; 805feec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fef0: 4ab1 ldr r2, [pc, #708] ; (80601b8 ) 805fef2: 6811 ldr r1, [r2, #0] 805fef4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fef8: 440a add r2, r1 805fefa: 49ad ldr r1, [pc, #692] ; (80601b0 ) 805fefc: 00d2 lsls r2, r2, #3 805fefe: 440a add r2, r1 805ff00: ed92 7b00 vldr d7, [r2] 805ff04: eef7 7bc7 vcvt.f32.f64 s15, d7 805ff08: 4aad ldr r2, [pc, #692] ; (80601c0 ) 805ff0a: 009b lsls r3, r3, #2 805ff0c: 4413 add r3, r2 805ff0e: edc3 7a00 vstr s15, [r3] for(i = 0; i < 64; i++) { 805ff12: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ff16: 3301 adds r3, #1 805ff18: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ff1c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ff20: 2b3f cmp r3, #63 ; 0x3f 805ff22: d9e3 bls.n 805feec } if(pardata.IVS[pardata.IPR] == RMS) 805ff24: 4ba7 ldr r3, [pc, #668] ; (80601c4 ) 805ff26: 785b ldrb r3, [r3, #1] 805ff28: b2db uxtb r3, r3 805ff2a: 461a mov r2, r3 805ff2c: 4ba5 ldr r3, [pc, #660] ; (80601c4 ) 805ff2e: 4413 add r3, r2 805ff30: 789b ldrb r3, [r3, #2] 805ff32: b2db uxtb r3, r3 805ff34: 2b01 cmp r3, #1 805ff36: d107 bne.n 805ff48 arm_rms_f32(In, 64, &Octaves[6]); 805ff38: 463b mov r3, r7 805ff3a: 3318 adds r3, #24 805ff3c: 461a mov r2, r3 805ff3e: 2140 movs r1, #64 ; 0x40 805ff40: 489f ldr r0, [pc, #636] ; (80601c0 ) 805ff42: f06e ff39 bl 80cedb8 805ff46: e03c b.n 805ffc2 else { arm_min_f32(In, 64, &fn[0], &i); 805ff48: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805ff4c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805ff50: 2140 movs r1, #64 ; 0x40 805ff52: 489b ldr r0, [pc, #620] ; (80601c0 ) 805ff54: f06e ffc2 bl 80ceedc arm_max_f32(In, 64, &fn[1], &j); 805ff58: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805ff5c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805ff60: 1d1a adds r2, r3, #4 805ff62: 460b mov r3, r1 805ff64: 2140 movs r1, #64 ; 0x40 805ff66: 4896 ldr r0, [pc, #600] ; (80601c0 ) 805ff68: f06f f854 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805ff6c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ff70: eef5 7ac0 vcmpe.f32 s15, #0.0 805ff74: eef1 fa10 vmrs APSR_nzcv, fpscr 805ff78: dd02 ble.n 805ff80 805ff7a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ff7e: e003 b.n 805ff88 805ff80: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ff84: eef1 7a67 vneg.f32 s15, s15 805ff88: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805ff8c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ff90: eef5 7ac0 vcmpe.f32 s15, #0.0 805ff94: eef1 fa10 vmrs APSR_nzcv, fpscr 805ff98: dd02 ble.n 805ffa0 805ff9a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ff9e: e003 b.n 805ffa8 805ffa0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ffa4: eef1 7a67 vneg.f32 s15, s15 805ffa8: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[6], &j); 805ffac: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805ffb0: 463b mov r3, r7 805ffb2: f103 0218 add.w r2, r3, #24 805ffb6: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805ffba: 460b mov r3, r1 805ffbc: 2102 movs r1, #2 805ffbe: f06f f829 bl 80cf014 } //** 31 arm_biquad_cascade_df2T_f64(&S_LP_32, &Buff64[0], &Buff64[0], 64); 805ffc2: 2340 movs r3, #64 ; 0x40 805ffc4: 4a7a ldr r2, [pc, #488] ; (80601b0 ) 805ffc6: 497a ldr r1, [pc, #488] ; (80601b0 ) 805ffc8: 487f ldr r0, [pc, #508] ; (80601c8 ) 805ffca: f06f f897 bl 80cf0fc for(i = 0; i < 32; i++) { 805ffce: 2300 movs r3, #0 805ffd0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ffd4: e012 b.n 805fffc Buff64[i] = Buff64[i << 1]; 805ffd6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ffda: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ffde: 005b lsls r3, r3, #1 805ffe0: 4973 ldr r1, [pc, #460] ; (80601b0 ) 805ffe2: 00db lsls r3, r3, #3 805ffe4: 440b add r3, r1 805ffe6: cb18 ldmia r3, {r3, r4} 805ffe8: 4971 ldr r1, [pc, #452] ; (80601b0 ) 805ffea: 00d2 lsls r2, r2, #3 805ffec: 440a add r2, r1 805ffee: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 32; i++) { 805fff2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fff6: 3301 adds r3, #1 805fff8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fffc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060000: 2b1f cmp r3, #31 8060002: d9e8 bls.n 805ffd6 } arm_biquad_cascade_df2T_f64(&S_IIR_32Hz, &Buff64[0], &Buff64[Ns], 32); 8060004: 4b6c ldr r3, [pc, #432] ; (80601b8 ) 8060006: 681b ldr r3, [r3, #0] 8060008: 00db lsls r3, r3, #3 806000a: 4a69 ldr r2, [pc, #420] ; (80601b0 ) 806000c: 441a add r2, r3 806000e: 2320 movs r3, #32 8060010: 4967 ldr r1, [pc, #412] ; (80601b0 ) 8060012: 486e ldr r0, [pc, #440] ; (80601cc ) 8060014: f06f f872 bl 80cf0fc for(i = 0; i < 32; i++) { 8060018: 2300 movs r3, #0 806001a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806001e: e017 b.n 8060050 In[i] = (float32_t) Buff64[Ns + i]; 8060020: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060024: 4a64 ldr r2, [pc, #400] ; (80601b8 ) 8060026: 6811 ldr r1, [r2, #0] 8060028: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806002c: 440a add r2, r1 806002e: 4960 ldr r1, [pc, #384] ; (80601b0 ) 8060030: 00d2 lsls r2, r2, #3 8060032: 440a add r2, r1 8060034: ed92 7b00 vldr d7, [r2] 8060038: eef7 7bc7 vcvt.f32.f64 s15, d7 806003c: 4a60 ldr r2, [pc, #384] ; (80601c0 ) 806003e: 009b lsls r3, r3, #2 8060040: 4413 add r3, r2 8060042: edc3 7a00 vstr s15, [r3] for(i = 0; i < 32; i++) { 8060046: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806004a: 3301 adds r3, #1 806004c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060050: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060054: 2b1f cmp r3, #31 8060056: d9e3 bls.n 8060020 } if(pardata.IVS[pardata.IPR] == RMS) 8060058: 4b5a ldr r3, [pc, #360] ; (80601c4 ) 806005a: 785b ldrb r3, [r3, #1] 806005c: b2db uxtb r3, r3 806005e: 461a mov r2, r3 8060060: 4b58 ldr r3, [pc, #352] ; (80601c4 ) 8060062: 4413 add r3, r2 8060064: 789b ldrb r3, [r3, #2] 8060066: b2db uxtb r3, r3 8060068: 2b01 cmp r3, #1 806006a: d107 bne.n 806007c arm_rms_f32(In, 32, &Octaves[5]); 806006c: 463b mov r3, r7 806006e: 3314 adds r3, #20 8060070: 461a mov r2, r3 8060072: 2120 movs r1, #32 8060074: 4852 ldr r0, [pc, #328] ; (80601c0 ) 8060076: f06e fe9f bl 80cedb8 806007a: e03c b.n 80600f6 else { arm_min_f32(In, 32, &fn[0], &i); 806007c: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060080: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060084: 2120 movs r1, #32 8060086: 484e ldr r0, [pc, #312] ; (80601c0 ) 8060088: f06e ff28 bl 80ceedc arm_max_f32(In, 32, &fn[1], &j); 806008c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060090: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060094: 1d1a adds r2, r3, #4 8060096: 460b mov r3, r1 8060098: 2120 movs r1, #32 806009a: 4849 ldr r0, [pc, #292] ; (80601c0 ) 806009c: f06e ffba bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80600a0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80600a4: eef5 7ac0 vcmpe.f32 s15, #0.0 80600a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80600ac: dd02 ble.n 80600b4 80600ae: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80600b2: e003 b.n 80600bc 80600b4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80600b8: eef1 7a67 vneg.f32 s15, s15 80600bc: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80600c0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80600c4: eef5 7ac0 vcmpe.f32 s15, #0.0 80600c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80600cc: dd02 ble.n 80600d4 80600ce: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80600d2: e003 b.n 80600dc 80600d4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80600d8: eef1 7a67 vneg.f32 s15, s15 80600dc: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[5], &j); 80600e0: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80600e4: 463b mov r3, r7 80600e6: f103 0214 add.w r2, r3, #20 80600ea: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80600ee: 460b mov r3, r1 80600f0: 2102 movs r1, #2 80600f2: f06e ff8f bl 80cf014 } //** 16 arm_biquad_cascade_df2T_f64(&S_LP_16, &Buff64[0], &Buff64[0], 32); 80600f6: 2320 movs r3, #32 80600f8: 4a2d ldr r2, [pc, #180] ; (80601b0 ) 80600fa: 492d ldr r1, [pc, #180] ; (80601b0 ) 80600fc: 4834 ldr r0, [pc, #208] ; (80601d0 ) 80600fe: f06e fffd bl 80cf0fc for(i = 0; i < 16; i++) { 8060102: 2300 movs r3, #0 8060104: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060108: e012 b.n 8060130 Buff64[i] = Buff64[i << 1]; 806010a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806010e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060112: 005b lsls r3, r3, #1 8060114: 4926 ldr r1, [pc, #152] ; (80601b0 ) 8060116: 00db lsls r3, r3, #3 8060118: 440b add r3, r1 806011a: cb18 ldmia r3, {r3, r4} 806011c: 4924 ldr r1, [pc, #144] ; (80601b0 ) 806011e: 00d2 lsls r2, r2, #3 8060120: 440a add r2, r1 8060122: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 16; i++) { 8060126: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806012a: 3301 adds r3, #1 806012c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060130: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060134: 2b0f cmp r3, #15 8060136: d9e8 bls.n 806010a } arm_biquad_cascade_df2T_f64(&S_IIR_16Hz, &Buff64[0], &Buff64[Ns], 16); 8060138: 4b1f ldr r3, [pc, #124] ; (80601b8 ) 806013a: 681b ldr r3, [r3, #0] 806013c: 00db lsls r3, r3, #3 806013e: 4a1c ldr r2, [pc, #112] ; (80601b0 ) 8060140: 441a add r2, r3 8060142: 2310 movs r3, #16 8060144: 491a ldr r1, [pc, #104] ; (80601b0 ) 8060146: 4823 ldr r0, [pc, #140] ; (80601d4 ) 8060148: f06e ffd8 bl 80cf0fc for(i = 0; i < 16; i++) { 806014c: 2300 movs r3, #0 806014e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060152: e017 b.n 8060184 In[i] = (float32_t) Buff64[Ns + i]; 8060154: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060158: 4a17 ldr r2, [pc, #92] ; (80601b8 ) 806015a: 6811 ldr r1, [r2, #0] 806015c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060160: 440a add r2, r1 8060162: 4913 ldr r1, [pc, #76] ; (80601b0 ) 8060164: 00d2 lsls r2, r2, #3 8060166: 440a add r2, r1 8060168: ed92 7b00 vldr d7, [r2] 806016c: eef7 7bc7 vcvt.f32.f64 s15, d7 8060170: 4a13 ldr r2, [pc, #76] ; (80601c0 ) 8060172: 009b lsls r3, r3, #2 8060174: 4413 add r3, r2 8060176: edc3 7a00 vstr s15, [r3] for(i = 0; i < 16; i++) { 806017a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806017e: 3301 adds r3, #1 8060180: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060184: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060188: 2b0f cmp r3, #15 806018a: d9e3 bls.n 8060154 } if(pardata.IVS[pardata.IPR] == RMS) 806018c: 4b0d ldr r3, [pc, #52] ; (80601c4 ) 806018e: 785b ldrb r3, [r3, #1] 8060190: b2db uxtb r3, r3 8060192: 461a mov r2, r3 8060194: 4b0b ldr r3, [pc, #44] ; (80601c4 ) 8060196: 4413 add r3, r2 8060198: 789b ldrb r3, [r3, #2] 806019a: b2db uxtb r3, r3 806019c: 2b01 cmp r3, #1 806019e: d11b bne.n 80601d8 arm_rms_f32(In, 16, &Octaves[4]); 80601a0: 463b mov r3, r7 80601a2: 3310 adds r3, #16 80601a4: 461a mov r2, r3 80601a6: 2110 movs r1, #16 80601a8: 4805 ldr r0, [pc, #20] ; (80601c0 ) 80601aa: f06e fe05 bl 80cedb8 80601ae: e050 b.n 8060252 80601b0: 20037b40 .word 0x20037b40 80601b4: 20026390 .word 0x20026390 80601b8: 20021d2c .word 0x20021d2c 80601bc: 20068448 .word 0x20068448 80601c0: 20027a20 .word 0x20027a20 80601c4: 20023eb8 .word 0x20023eb8 80601c8: 20027918 .word 0x20027918 80601cc: 20068550 .word 0x20068550 80601d0: 20026ac8 .word 0x20026ac8 80601d4: 20026ee8 .word 0x20026ee8 else { arm_min_f32(In, 16, &fn[0], &i); 80601d8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80601dc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80601e0: 2110 movs r1, #16 80601e2: 48c0 ldr r0, [pc, #768] ; (80604e4 ) 80601e4: f06e fe7a bl 80ceedc arm_max_f32(In, 16, &fn[1], &j); 80601e8: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80601ec: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80601f0: 1d1a adds r2, r3, #4 80601f2: 460b mov r3, r1 80601f4: 2110 movs r1, #16 80601f6: 48bb ldr r0, [pc, #748] ; (80604e4 ) 80601f8: f06e ff0c bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80601fc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060200: eef5 7ac0 vcmpe.f32 s15, #0.0 8060204: eef1 fa10 vmrs APSR_nzcv, fpscr 8060208: dd02 ble.n 8060210 806020a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806020e: e003 b.n 8060218 8060210: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060214: eef1 7a67 vneg.f32 s15, s15 8060218: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 806021c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060220: eef5 7ac0 vcmpe.f32 s15, #0.0 8060224: eef1 fa10 vmrs APSR_nzcv, fpscr 8060228: dd02 ble.n 8060230 806022a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806022e: e003 b.n 8060238 8060230: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060234: eef1 7a67 vneg.f32 s15, s15 8060238: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[4], &j); 806023c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060240: 463b mov r3, r7 8060242: f103 0210 add.w r2, r3, #16 8060246: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806024a: 460b mov r3, r1 806024c: 2102 movs r1, #2 806024e: f06e fee1 bl 80cf014 } cntOkt++; 8060252: 4ba5 ldr r3, [pc, #660] ; (80604e8 ) 8060254: 681b ldr r3, [r3, #0] 8060256: 3301 adds r3, #1 8060258: 4aa3 ldr r2, [pc, #652] ; (80604e8 ) 806025a: 6013 str r3, [r2, #0] //** 8 arm_biquad_cascade_df2T_f64(&S_LP_8, &Buff64[0], &Buff64[0], 16); 806025c: 2310 movs r3, #16 806025e: 4aa3 ldr r2, [pc, #652] ; (80604ec ) 8060260: 49a2 ldr r1, [pc, #648] ; (80604ec ) 8060262: 48a3 ldr r0, [pc, #652] ; (80604f0 ) 8060264: f06e ff4a bl 80cf0fc for(i = 0; i < 8; i++) { 8060268: 2300 movs r3, #0 806026a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806026e: e012 b.n 8060296 Buff64[i] = Buff64[i << 1]; 8060270: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060274: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060278: 005b lsls r3, r3, #1 806027a: 499c ldr r1, [pc, #624] ; (80604ec ) 806027c: 00db lsls r3, r3, #3 806027e: 440b add r3, r1 8060280: cb18 ldmia r3, {r3, r4} 8060282: 499a ldr r1, [pc, #616] ; (80604ec ) 8060284: 00d2 lsls r2, r2, #3 8060286: 440a add r2, r1 8060288: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 8; i++) { 806028c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060290: 3301 adds r3, #1 8060292: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060296: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806029a: 2b07 cmp r3, #7 806029c: d9e8 bls.n 8060270 } arm_biquad_cascade_df2T_f64(&S_IIR_8Hz, &Buff64[0], &Buff64[Ns], 8); 806029e: 4b95 ldr r3, [pc, #596] ; (80604f4 ) 80602a0: 681b ldr r3, [r3, #0] 80602a2: 00db lsls r3, r3, #3 80602a4: 4a91 ldr r2, [pc, #580] ; (80604ec ) 80602a6: 441a add r2, r3 80602a8: 2308 movs r3, #8 80602aa: 4990 ldr r1, [pc, #576] ; (80604ec ) 80602ac: 4892 ldr r0, [pc, #584] ; (80604f8 ) 80602ae: f06e ff25 bl 80cf0fc for(i = 0; i < 8; i++) { 80602b2: 2300 movs r3, #0 80602b4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80602b8: e017 b.n 80602ea In[i] = (float32_t) Buff64[Ns + i]; 80602ba: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80602be: 4a8d ldr r2, [pc, #564] ; (80604f4 ) 80602c0: 6811 ldr r1, [r2, #0] 80602c2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80602c6: 440a add r2, r1 80602c8: 4988 ldr r1, [pc, #544] ; (80604ec ) 80602ca: 00d2 lsls r2, r2, #3 80602cc: 440a add r2, r1 80602ce: ed92 7b00 vldr d7, [r2] 80602d2: eef7 7bc7 vcvt.f32.f64 s15, d7 80602d6: 4a83 ldr r2, [pc, #524] ; (80604e4 ) 80602d8: 009b lsls r3, r3, #2 80602da: 4413 add r3, r2 80602dc: edc3 7a00 vstr s15, [r3] for(i = 0; i < 8; i++) { 80602e0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80602e4: 3301 adds r3, #1 80602e6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80602ea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80602ee: 2b07 cmp r3, #7 80602f0: d9e3 bls.n 80602ba } if(pardata.IVS[pardata.IPR] == RMS) 80602f2: 4b82 ldr r3, [pc, #520] ; (80604fc ) 80602f4: 785b ldrb r3, [r3, #1] 80602f6: b2db uxtb r3, r3 80602f8: 461a mov r2, r3 80602fa: 4b80 ldr r3, [pc, #512] ; (80604fc ) 80602fc: 4413 add r3, r2 80602fe: 789b ldrb r3, [r3, #2] 8060300: b2db uxtb r3, r3 8060302: 2b01 cmp r3, #1 8060304: d111 bne.n 806032a { arm_power_f32(In, 8, &fl); 8060306: f507 73de add.w r3, r7, #444 ; 0x1bc 806030a: 461a mov r2, r3 806030c: 2108 movs r1, #8 806030e: 4875 ldr r0, [pc, #468] ; (80604e4 ) 8060310: f06e fdaa bl 80cee68 rms8 += fl; 8060314: 4b7a ldr r3, [pc, #488] ; (8060500 ) 8060316: ed93 7a00 vldr s14, [r3] 806031a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 806031e: ee77 7a27 vadd.f32 s15, s14, s15 8060322: 4b77 ldr r3, [pc, #476] ; (8060500 ) 8060324: edc3 7a00 vstr s15, [r3] 8060328: e048 b.n 80603bc } else { arm_min_f32(In, 8, &fn[0], &i); 806032a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806032e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060332: 2108 movs r1, #8 8060334: 486b ldr r0, [pc, #428] ; (80604e4 ) 8060336: f06e fdd1 bl 80ceedc arm_max_f32(In, 8, &fn[1], &j); 806033a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 806033e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060342: 1d1a adds r2, r3, #4 8060344: 460b mov r3, r1 8060346: 2108 movs r1, #8 8060348: 4866 ldr r0, [pc, #408] ; (80604e4 ) 806034a: f06e fe63 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806034e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060352: eef5 7ac0 vcmpe.f32 s15, #0.0 8060356: eef1 fa10 vmrs APSR_nzcv, fpscr 806035a: dd02 ble.n 8060362 806035c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060360: e003 b.n 806036a 8060362: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060366: eef1 7a67 vneg.f32 s15, s15 806036a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 806036e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060372: eef5 7ac0 vcmpe.f32 s15, #0.0 8060376: eef1 fa10 vmrs APSR_nzcv, fpscr 806037a: dd02 ble.n 8060382 806037c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060380: e003 b.n 806038a 8060382: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060386: eef1 7a67 vneg.f32 s15, s15 806038a: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 806038e: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060392: f507 72de add.w r2, r7, #444 ; 0x1bc 8060396: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806039a: 2102 movs r1, #2 806039c: f06e fe3a bl 80cf014 if(fl > rms8) 80603a0: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 80603a4: 4b56 ldr r3, [pc, #344] ; (8060500 ) 80603a6: edd3 7a00 vldr s15, [r3] 80603aa: eeb4 7ae7 vcmpe.f32 s14, s15 80603ae: eef1 fa10 vmrs APSR_nzcv, fpscr 80603b2: dd03 ble.n 80603bc rms8 = fl; 80603b4: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80603b8: 4a51 ldr r2, [pc, #324] ; (8060500 ) 80603ba: 6013 str r3, [r2, #0] } //** 4 arm_biquad_cascade_df2T_f64(&S_LP_4, &Buff64[0], &Buff64[0], 8); 80603bc: 2308 movs r3, #8 80603be: 4a4b ldr r2, [pc, #300] ; (80604ec ) 80603c0: 494a ldr r1, [pc, #296] ; (80604ec ) 80603c2: 4850 ldr r0, [pc, #320] ; (8060504 ) 80603c4: f06e fe9a bl 80cf0fc for(i = 0; i < 4; i++) { 80603c8: 2300 movs r3, #0 80603ca: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80603ce: e012 b.n 80603f6 Buff64[i] = Buff64[i << 1]; 80603d0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80603d4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80603d8: 005b lsls r3, r3, #1 80603da: 4944 ldr r1, [pc, #272] ; (80604ec ) 80603dc: 00db lsls r3, r3, #3 80603de: 440b add r3, r1 80603e0: cb18 ldmia r3, {r3, r4} 80603e2: 4942 ldr r1, [pc, #264] ; (80604ec ) 80603e4: 00d2 lsls r2, r2, #3 80603e6: 440a add r2, r1 80603e8: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 4; i++) { 80603ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80603f0: 3301 adds r3, #1 80603f2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80603f6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80603fa: 2b03 cmp r3, #3 80603fc: d9e8 bls.n 80603d0 } arm_biquad_cascade_df2T_f64(&S_IIR_4Hz, &Buff64[0], &Buff64[Ns], 4); 80603fe: 4b3d ldr r3, [pc, #244] ; (80604f4 ) 8060400: 681b ldr r3, [r3, #0] 8060402: 00db lsls r3, r3, #3 8060404: 4a39 ldr r2, [pc, #228] ; (80604ec ) 8060406: 441a add r2, r3 8060408: 2304 movs r3, #4 806040a: 4938 ldr r1, [pc, #224] ; (80604ec ) 806040c: 483e ldr r0, [pc, #248] ; (8060508 ) 806040e: f06e fe75 bl 80cf0fc for(i = 0; i < 4; i++) { 8060412: 2300 movs r3, #0 8060414: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060418: e017 b.n 806044a In[i] = (float32_t) Buff64[Ns + i]; 806041a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806041e: 4a35 ldr r2, [pc, #212] ; (80604f4 ) 8060420: 6811 ldr r1, [r2, #0] 8060422: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060426: 440a add r2, r1 8060428: 4930 ldr r1, [pc, #192] ; (80604ec ) 806042a: 00d2 lsls r2, r2, #3 806042c: 440a add r2, r1 806042e: ed92 7b00 vldr d7, [r2] 8060432: eef7 7bc7 vcvt.f32.f64 s15, d7 8060436: 4a2b ldr r2, [pc, #172] ; (80604e4 ) 8060438: 009b lsls r3, r3, #2 806043a: 4413 add r3, r2 806043c: edc3 7a00 vstr s15, [r3] for(i = 0; i < 4; i++) { 8060440: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060444: 3301 adds r3, #1 8060446: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806044a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806044e: 2b03 cmp r3, #3 8060450: d9e3 bls.n 806041a } if(pardata.IVS[pardata.IPR] == RMS) 8060452: 4b2a ldr r3, [pc, #168] ; (80604fc ) 8060454: 785b ldrb r3, [r3, #1] 8060456: b2db uxtb r3, r3 8060458: 461a mov r2, r3 806045a: 4b28 ldr r3, [pc, #160] ; (80604fc ) 806045c: 4413 add r3, r2 806045e: 789b ldrb r3, [r3, #2] 8060460: b2db uxtb r3, r3 8060462: 2b01 cmp r3, #1 8060464: d111 bne.n 806048a { arm_power_f32(In, 4, &fl); 8060466: f507 73de add.w r3, r7, #444 ; 0x1bc 806046a: 461a mov r2, r3 806046c: 2104 movs r1, #4 806046e: 481d ldr r0, [pc, #116] ; (80604e4 ) 8060470: f06e fcfa bl 80cee68 rms4 += fl; 8060474: 4b25 ldr r3, [pc, #148] ; (806050c ) 8060476: ed93 7a00 vldr s14, [r3] 806047a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 806047e: ee77 7a27 vadd.f32 s15, s14, s15 8060482: 4b22 ldr r3, [pc, #136] ; (806050c ) 8060484: edc3 7a00 vstr s15, [r3] 8060488: e05f b.n 806054a } else { arm_min_f32(In, 4, &fn[0], &i); 806048a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806048e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060492: 2104 movs r1, #4 8060494: 4813 ldr r0, [pc, #76] ; (80604e4 ) 8060496: f06e fd21 bl 80ceedc arm_max_f32(In, 4, &fn[1], &j); 806049a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 806049e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80604a2: 1d1a adds r2, r3, #4 80604a4: 460b mov r3, r1 80604a6: 2104 movs r1, #4 80604a8: 480e ldr r0, [pc, #56] ; (80604e4 ) 80604aa: f06e fdb3 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80604ae: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80604b2: eef5 7ac0 vcmpe.f32 s15, #0.0 80604b6: eef1 fa10 vmrs APSR_nzcv, fpscr 80604ba: dd02 ble.n 80604c2 80604bc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80604c0: e003 b.n 80604ca 80604c2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80604c6: eef1 7a67 vneg.f32 s15, s15 80604ca: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80604ce: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80604d2: eef5 7ac0 vcmpe.f32 s15, #0.0 80604d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80604da: dd19 ble.n 8060510 80604dc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80604e0: e01a b.n 8060518 80604e2: bf00 nop 80604e4: 20027a20 .word 0x20027a20 80604e8: 20020db0 .word 0x20020db0 80604ec: 20037b40 .word 0x20037b40 80604f0: 2002639c .word 0x2002639c 80604f4: 20021d2c .word 0x20021d2c 80604f8: 20057fa8 .word 0x20057fa8 80604fc: 20023eb8 .word 0x20023eb8 8060500: 20021d20 .word 0x20021d20 8060504: 20057b40 .word 0x20057b40 8060508: 20027934 .word 0x20027934 806050c: 20021d68 .word 0x20021d68 8060510: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060514: eef1 7a67 vneg.f32 s15, s15 8060518: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 806051c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060520: f507 72de add.w r2, r7, #444 ; 0x1bc 8060524: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060528: 2102 movs r1, #2 806052a: f06e fd73 bl 80cf014 if(fl > rms4) 806052e: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8060532: 4ba7 ldr r3, [pc, #668] ; (80607d0 ) 8060534: edd3 7a00 vldr s15, [r3] 8060538: eeb4 7ae7 vcmpe.f32 s14, s15 806053c: eef1 fa10 vmrs APSR_nzcv, fpscr 8060540: dd03 ble.n 806054a rms4 = fl; 8060542: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8060546: 4aa2 ldr r2, [pc, #648] ; (80607d0 ) 8060548: 6013 str r3, [r2, #0] } //** 2 arm_biquad_cascade_df2T_f64(&S_LP_2, &Buff64[0], &Buff64[0], 4); 806054a: 2304 movs r3, #4 806054c: 4aa1 ldr r2, [pc, #644] ; (80607d4 ) 806054e: 49a1 ldr r1, [pc, #644] ; (80607d4 ) 8060550: 48a1 ldr r0, [pc, #644] ; (80607d8 ) 8060552: f06e fdd3 bl 80cf0fc for(i = 0; i < 2; i++) { 8060556: 2300 movs r3, #0 8060558: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806055c: e012 b.n 8060584 Buff64[i] = Buff64[i << 1]; 806055e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060562: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060566: 005b lsls r3, r3, #1 8060568: 499a ldr r1, [pc, #616] ; (80607d4 ) 806056a: 00db lsls r3, r3, #3 806056c: 440b add r3, r1 806056e: cb18 ldmia r3, {r3, r4} 8060570: 4998 ldr r1, [pc, #608] ; (80607d4 ) 8060572: 00d2 lsls r2, r2, #3 8060574: 440a add r2, r1 8060576: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 2; i++) { 806057a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806057e: 3301 adds r3, #1 8060580: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060584: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060588: 2b01 cmp r3, #1 806058a: d9e8 bls.n 806055e } arm_biquad_cascade_df2T_f64(&S_IIR_2Hz, &Buff64[0], &Buff64[Ns], 2); 806058c: 4b93 ldr r3, [pc, #588] ; (80607dc ) 806058e: 681b ldr r3, [r3, #0] 8060590: 00db lsls r3, r3, #3 8060592: 4a90 ldr r2, [pc, #576] ; (80607d4 ) 8060594: 441a add r2, r3 8060596: 2302 movs r3, #2 8060598: 498e ldr r1, [pc, #568] ; (80607d4 ) 806059a: 4891 ldr r0, [pc, #580] ; (80607e0 ) 806059c: f06e fdae bl 80cf0fc for(i = 0; i < 2; i++) { 80605a0: 2300 movs r3, #0 80605a2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80605a6: e017 b.n 80605d8 In[i] = (float32_t) Buff64[Ns + i]; 80605a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80605ac: 4a8b ldr r2, [pc, #556] ; (80607dc ) 80605ae: 6811 ldr r1, [r2, #0] 80605b0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80605b4: 440a add r2, r1 80605b6: 4987 ldr r1, [pc, #540] ; (80607d4 ) 80605b8: 00d2 lsls r2, r2, #3 80605ba: 440a add r2, r1 80605bc: ed92 7b00 vldr d7, [r2] 80605c0: eef7 7bc7 vcvt.f32.f64 s15, d7 80605c4: 4a87 ldr r2, [pc, #540] ; (80607e4 ) 80605c6: 009b lsls r3, r3, #2 80605c8: 4413 add r3, r2 80605ca: edc3 7a00 vstr s15, [r3] for(i = 0; i < 2; i++) { 80605ce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80605d2: 3301 adds r3, #1 80605d4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80605d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80605dc: 2b01 cmp r3, #1 80605de: d9e3 bls.n 80605a8 } if(pardata.IVS[pardata.IPR] == RMS) 80605e0: 4b81 ldr r3, [pc, #516] ; (80607e8 ) 80605e2: 785b ldrb r3, [r3, #1] 80605e4: b2db uxtb r3, r3 80605e6: 461a mov r2, r3 80605e8: 4b7f ldr r3, [pc, #508] ; (80607e8 ) 80605ea: 4413 add r3, r2 80605ec: 789b ldrb r3, [r3, #2] 80605ee: b2db uxtb r3, r3 80605f0: 2b01 cmp r3, #1 80605f2: d111 bne.n 8060618 { arm_power_f32(In, 2, &fl); 80605f4: f507 73de add.w r3, r7, #444 ; 0x1bc 80605f8: 461a mov r2, r3 80605fa: 2102 movs r1, #2 80605fc: 4879 ldr r0, [pc, #484] ; (80607e4 ) 80605fe: f06e fc33 bl 80cee68 rms2 += fl; 8060602: 4b7a ldr r3, [pc, #488] ; (80607ec ) 8060604: ed93 7a00 vldr s14, [r3] 8060608: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 806060c: ee77 7a27 vadd.f32 s15, s14, s15 8060610: 4b76 ldr r3, [pc, #472] ; (80607ec ) 8060612: edc3 7a00 vstr s15, [r3] 8060616: e048 b.n 80606aa } else { arm_min_f32(In, 2, &fn[0], &i); 8060618: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806061c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060620: 2102 movs r1, #2 8060622: 4870 ldr r0, [pc, #448] ; (80607e4 ) 8060624: f06e fc5a bl 80ceedc arm_max_f32(In, 2, &fn[1], &j); 8060628: f507 71e6 add.w r1, r7, #460 ; 0x1cc 806062c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060630: 1d1a adds r2, r3, #4 8060632: 460b mov r3, r1 8060634: 2102 movs r1, #2 8060636: 486b ldr r0, [pc, #428] ; (80607e4 ) 8060638: f06e fcec bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806063c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060640: eef5 7ac0 vcmpe.f32 s15, #0.0 8060644: eef1 fa10 vmrs APSR_nzcv, fpscr 8060648: dd02 ble.n 8060650 806064a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806064e: e003 b.n 8060658 8060650: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060654: eef1 7a67 vneg.f32 s15, s15 8060658: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 806065c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060660: eef5 7ac0 vcmpe.f32 s15, #0.0 8060664: eef1 fa10 vmrs APSR_nzcv, fpscr 8060668: dd02 ble.n 8060670 806066a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806066e: e003 b.n 8060678 8060670: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060674: eef1 7a67 vneg.f32 s15, s15 8060678: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 806067c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060680: f507 72de add.w r2, r7, #444 ; 0x1bc 8060684: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060688: 2102 movs r1, #2 806068a: f06e fcc3 bl 80cf014 if(fl > rms2) 806068e: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8060692: 4b56 ldr r3, [pc, #344] ; (80607ec ) 8060694: edd3 7a00 vldr s15, [r3] 8060698: eeb4 7ae7 vcmpe.f32 s14, s15 806069c: eef1 fa10 vmrs APSR_nzcv, fpscr 80606a0: dd03 ble.n 80606aa rms2 = fl; 80606a2: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80606a6: 4a51 ldr r2, [pc, #324] ; (80607ec ) 80606a8: 6013 str r3, [r2, #0] } //** 1 arm_biquad_cascade_df2T_f64(&S_LP_1, &Buff64[0], &Buff64[0], 2); 80606aa: 2302 movs r3, #2 80606ac: 4a49 ldr r2, [pc, #292] ; (80607d4 ) 80606ae: 4949 ldr r1, [pc, #292] ; (80607d4 ) 80606b0: 484f ldr r0, [pc, #316] ; (80607f0 ) 80606b2: f06e fd23 bl 80cf0fc for(i = 0; i < 1; i++) { 80606b6: 2300 movs r3, #0 80606b8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80606bc: e012 b.n 80606e4 Buff64[i] = Buff64[i << 1]; 80606be: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80606c2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80606c6: 005b lsls r3, r3, #1 80606c8: 4942 ldr r1, [pc, #264] ; (80607d4 ) 80606ca: 00db lsls r3, r3, #3 80606cc: 440b add r3, r1 80606ce: cb18 ldmia r3, {r3, r4} 80606d0: 4940 ldr r1, [pc, #256] ; (80607d4 ) 80606d2: 00d2 lsls r2, r2, #3 80606d4: 440a add r2, r1 80606d6: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 1; i++) { 80606da: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80606de: 3301 adds r3, #1 80606e0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80606e4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80606e8: 2b00 cmp r3, #0 80606ea: d0e8 beq.n 80606be } arm_biquad_cascade_df2T_f64(&S_IIR_1Hz, &Buff64[0], &Buff64[Ns], 1); 80606ec: 4b3b ldr r3, [pc, #236] ; (80607dc ) 80606ee: 681b ldr r3, [r3, #0] 80606f0: 00db lsls r3, r3, #3 80606f2: 4a38 ldr r2, [pc, #224] ; (80607d4 ) 80606f4: 441a add r2, r3 80606f6: 2301 movs r3, #1 80606f8: 4936 ldr r1, [pc, #216] ; (80607d4 ) 80606fa: 483e ldr r0, [pc, #248] ; (80607f4 ) 80606fc: f06e fcfe bl 80cf0fc for(i = 0; i < 1; i++) { 8060700: 2300 movs r3, #0 8060702: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060706: e017 b.n 8060738 In[i] = (float32_t) Buff64[Ns + i]; 8060708: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806070c: 4a33 ldr r2, [pc, #204] ; (80607dc ) 806070e: 6811 ldr r1, [r2, #0] 8060710: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060714: 440a add r2, r1 8060716: 492f ldr r1, [pc, #188] ; (80607d4 ) 8060718: 00d2 lsls r2, r2, #3 806071a: 440a add r2, r1 806071c: ed92 7b00 vldr d7, [r2] 8060720: eef7 7bc7 vcvt.f32.f64 s15, d7 8060724: 4a2f ldr r2, [pc, #188] ; (80607e4 ) 8060726: 009b lsls r3, r3, #2 8060728: 4413 add r3, r2 806072a: edc3 7a00 vstr s15, [r3] for(i = 0; i < 1; i++) { 806072e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060732: 3301 adds r3, #1 8060734: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060738: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806073c: 2b00 cmp r3, #0 806073e: d0e3 beq.n 8060708 } if(pardata.IVS[pardata.IPR] == RMS) 8060740: 4b29 ldr r3, [pc, #164] ; (80607e8 ) 8060742: 785b ldrb r3, [r3, #1] 8060744: b2db uxtb r3, r3 8060746: 461a mov r2, r3 8060748: 4b27 ldr r3, [pc, #156] ; (80607e8 ) 806074a: 4413 add r3, r2 806074c: 789b ldrb r3, [r3, #2] 806074e: b2db uxtb r3, r3 8060750: 2b01 cmp r3, #1 8060752: d111 bne.n 8060778 { arm_power_f32(In, 1, &fl); 8060754: f507 73de add.w r3, r7, #444 ; 0x1bc 8060758: 461a mov r2, r3 806075a: 2101 movs r1, #1 806075c: 4821 ldr r0, [pc, #132] ; (80607e4 ) 806075e: f06e fb83 bl 80cee68 rms1 += fl; 8060762: 4b25 ldr r3, [pc, #148] ; (80607f8 ) 8060764: ed93 7a00 vldr s14, [r3] 8060768: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 806076c: ee77 7a27 vadd.f32 s15, s14, s15 8060770: 4b21 ldr r3, [pc, #132] ; (80607f8 ) 8060772: edc3 7a00 vstr s15, [r3] 8060776: e05e b.n 8060836 } else { arm_min_f32(In, 1, &fn[0], &i); 8060778: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806077c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060780: 2101 movs r1, #1 8060782: 4818 ldr r0, [pc, #96] ; (80607e4 ) 8060784: f06e fbaa bl 80ceedc arm_max_f32(In, 1, &fn[1], &j); 8060788: f507 71e6 add.w r1, r7, #460 ; 0x1cc 806078c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060790: 1d1a adds r2, r3, #4 8060792: 460b mov r3, r1 8060794: 2101 movs r1, #1 8060796: 4813 ldr r0, [pc, #76] ; (80607e4 ) 8060798: f06e fc3c bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806079c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80607a0: eef5 7ac0 vcmpe.f32 s15, #0.0 80607a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80607a8: dd02 ble.n 80607b0 80607aa: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80607ae: e003 b.n 80607b8 80607b0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80607b4: eef1 7a67 vneg.f32 s15, s15 80607b8: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80607bc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80607c0: eef5 7ac0 vcmpe.f32 s15, #0.0 80607c4: eef1 fa10 vmrs APSR_nzcv, fpscr 80607c8: dd18 ble.n 80607fc 80607ca: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80607ce: e019 b.n 8060804 80607d0: 20021d68 .word 0x20021d68 80607d4: 20037b40 .word 0x20037b40 80607d8: 20057d5c .word 0x20057d5c 80607dc: 20021d2c .word 0x20021d2c 80607e0: 20058044 .word 0x20058044 80607e4: 20027a20 .word 0x20027a20 80607e8: 20023eb8 .word 0x20023eb8 80607ec: 20021d28 .word 0x20021d28 80607f0: 200261e8 .word 0x200261e8 80607f4: 200278cc .word 0x200278cc 80607f8: 20021d60 .word 0x20021d60 80607fc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060800: eef1 7a67 vneg.f32 s15, s15 8060804: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8060808: f507 73e6 add.w r3, r7, #460 ; 0x1cc 806080c: f507 72de add.w r2, r7, #444 ; 0x1bc 8060810: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060814: 2102 movs r1, #2 8060816: f06e fbfd bl 80cf014 if(fl > rms1) 806081a: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 806081e: 4bb8 ldr r3, [pc, #736] ; (8060b00 ) 8060820: edd3 7a00 vldr s15, [r3] 8060824: eeb4 7ae7 vcmpe.f32 s14, s15 8060828: eef1 fa10 vmrs APSR_nzcv, fpscr 806082c: dd03 ble.n 8060836 rms1 = fl; 806082e: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8060832: 4ab3 ldr r2, [pc, #716] ; (8060b00 ) 8060834: 6013 str r3, [r2, #0] if(cntOkt == 8) 8060836: 4bb3 ldr r3, [pc, #716] ; (8060b04 ) 8060838: 681b ldr r3, [r3, #0] 806083a: 2b08 cmp r3, #8 806083c: f040 811d bne.w 8060a7a { MeanCnt++; 8060840: 4bb1 ldr r3, [pc, #708] ; (8060b08 ) 8060842: 681b ldr r3, [r3, #0] 8060844: 3301 adds r3, #1 8060846: 4ab0 ldr r2, [pc, #704] ; (8060b08 ) 8060848: 6013 str r3, [r2, #0] cntOkt = 0; 806084a: 4bae ldr r3, [pc, #696] ; (8060b04 ) 806084c: 2200 movs r2, #0 806084e: 601a str r2, [r3, #0] if(MeanCnt == AVG[pardata.AVG]) 8060850: 4bae ldr r3, [pc, #696] ; (8060b0c ) 8060852: 7b5b ldrb r3, [r3, #13] 8060854: b2db uxtb r3, r3 8060856: 461a mov r2, r3 8060858: 4bad ldr r3, [pc, #692] ; (8060b10 ) 806085a: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 806085e: 461a mov r2, r3 8060860: 4ba9 ldr r3, [pc, #676] ; (8060b08 ) 8060862: 681b ldr r3, [r3, #0] 8060864: 429a cmp r2, r3 8060866: f040 8108 bne.w 8060a7a { if(pardata.IVS[ACC] == RMS) 806086a: 4ba8 ldr r3, [pc, #672] ; (8060b0c ) 806086c: 789b ldrb r3, [r3, #2] 806086e: b2db uxtb r3, r3 8060870: 2b01 cmp r3, #1 8060872: d16f bne.n 8060954 { rms8 /= (64.0f * (float32_t) MeanCnt); 8060874: 4ba4 ldr r3, [pc, #656] ; (8060b08 ) 8060876: 681b ldr r3, [r3, #0] 8060878: ee07 3a90 vmov s15, r3 806087c: eef8 7a67 vcvt.f32.u32 s15, s15 8060880: ed9f 7aa4 vldr s14, [pc, #656] ; 8060b14 8060884: ee27 7a87 vmul.f32 s14, s15, s14 8060888: 4ba3 ldr r3, [pc, #652] ; (8060b18 ) 806088a: edd3 6a00 vldr s13, [r3] 806088e: eec6 7a87 vdiv.f32 s15, s13, s14 8060892: 4ba1 ldr r3, [pc, #644] ; (8060b18 ) 8060894: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms8, &Octaves[3]); 8060898: 4b9f ldr r3, [pc, #636] ; (8060b18 ) 806089a: edd3 7a00 vldr s15, [r3] 806089e: 463b mov r3, r7 80608a0: 330c adds r3, #12 80608a2: 4618 mov r0, r3 80608a4: eeb0 0a67 vmov.f32 s0, s15 80608a8: f7f6 fdd0 bl 805744c rms4 /= (32.0f * (float32_t) MeanCnt); 80608ac: 4b96 ldr r3, [pc, #600] ; (8060b08 ) 80608ae: 681b ldr r3, [r3, #0] 80608b0: ee07 3a90 vmov s15, r3 80608b4: eef8 7a67 vcvt.f32.u32 s15, s15 80608b8: ed9f 7a98 vldr s14, [pc, #608] ; 8060b1c 80608bc: ee27 7a87 vmul.f32 s14, s15, s14 80608c0: 4b97 ldr r3, [pc, #604] ; (8060b20 ) 80608c2: edd3 6a00 vldr s13, [r3] 80608c6: eec6 7a87 vdiv.f32 s15, s13, s14 80608ca: 4b95 ldr r3, [pc, #596] ; (8060b20 ) 80608cc: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms4, &Octaves[2]); 80608d0: 4b93 ldr r3, [pc, #588] ; (8060b20 ) 80608d2: edd3 7a00 vldr s15, [r3] 80608d6: 463b mov r3, r7 80608d8: 3308 adds r3, #8 80608da: 4618 mov r0, r3 80608dc: eeb0 0a67 vmov.f32 s0, s15 80608e0: f7f6 fdb4 bl 805744c rms2 /= (16.0f * (float32_t) MeanCnt); 80608e4: 4b88 ldr r3, [pc, #544] ; (8060b08 ) 80608e6: 681b ldr r3, [r3, #0] 80608e8: ee07 3a90 vmov s15, r3 80608ec: eef8 7a67 vcvt.f32.u32 s15, s15 80608f0: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 80608f4: ee27 7a87 vmul.f32 s14, s15, s14 80608f8: 4b8a ldr r3, [pc, #552] ; (8060b24 ) 80608fa: edd3 6a00 vldr s13, [r3] 80608fe: eec6 7a87 vdiv.f32 s15, s13, s14 8060902: 4b88 ldr r3, [pc, #544] ; (8060b24 ) 8060904: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms2, &Octaves[1]); 8060908: 4b86 ldr r3, [pc, #536] ; (8060b24 ) 806090a: edd3 7a00 vldr s15, [r3] 806090e: 463b mov r3, r7 8060910: 3304 adds r3, #4 8060912: 4618 mov r0, r3 8060914: eeb0 0a67 vmov.f32 s0, s15 8060918: f7f6 fd98 bl 805744c rms1 /= (8.0f * (float32_t) MeanCnt); 806091c: 4b7a ldr r3, [pc, #488] ; (8060b08 ) 806091e: 681b ldr r3, [r3, #0] 8060920: ee07 3a90 vmov s15, r3 8060924: eef8 7a67 vcvt.f32.u32 s15, s15 8060928: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 806092c: ee27 7a87 vmul.f32 s14, s15, s14 8060930: 4b73 ldr r3, [pc, #460] ; (8060b00 ) 8060932: edd3 6a00 vldr s13, [r3] 8060936: eec6 7a87 vdiv.f32 s15, s13, s14 806093a: 4b71 ldr r3, [pc, #452] ; (8060b00 ) 806093c: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms1, &Octaves[0]); 8060940: 4b6f ldr r3, [pc, #444] ; (8060b00 ) 8060942: edd3 7a00 vldr s15, [r3] 8060946: 463b mov r3, r7 8060948: 4618 mov r0, r3 806094a: eeb0 0a67 vmov.f32 s0, s15 806094e: f7f6 fd7d bl 805744c 8060952: e00f b.n 8060974 } else { Octaves[3] = rms8; 8060954: 4b70 ldr r3, [pc, #448] ; (8060b18 ) 8060956: 681a ldr r2, [r3, #0] 8060958: 463b mov r3, r7 806095a: 60da str r2, [r3, #12] Octaves[2] = rms4; 806095c: 4b70 ldr r3, [pc, #448] ; (8060b20 ) 806095e: 681a ldr r2, [r3, #0] 8060960: 463b mov r3, r7 8060962: 609a str r2, [r3, #8] Octaves[1] = rms2; 8060964: 4b6f ldr r3, [pc, #444] ; (8060b24 ) 8060966: 681a ldr r2, [r3, #0] 8060968: 463b mov r3, r7 806096a: 605a str r2, [r3, #4] Octaves[0] = rms1; 806096c: 4b64 ldr r3, [pc, #400] ; (8060b00 ) 806096e: 681a ldr r2, [r3, #0] 8060970: 463b mov r3, r7 8060972: 601a str r2, [r3, #0] } fs = 1.0f; 8060974: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8060978: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 if(pardata.IPR == VEL) 806097c: 4b63 ldr r3, [pc, #396] ; (8060b0c ) 806097e: 785b ldrb r3, [r3, #1] 8060980: b2db uxtb r3, r3 8060982: 2b01 cmp r3, #1 8060984: d103 bne.n 806098e fs = 249.135f; 8060986: 4b68 ldr r3, [pc, #416] ; (8060b28 ) 8060988: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 806098c: e007 b.n 806099e else if(pardata.IPR == DIS) 806098e: 4b5f ldr r3, [pc, #380] ; (8060b0c ) 8060990: 785b ldrb r3, [r3, #1] 8060992: b2db uxtb r3, r3 8060994: 2b02 cmp r3, #2 8060996: d102 bne.n 806099e fs = 61400.171f; 8060998: 4b64 ldr r3, [pc, #400] ; (8060b2c ) 806099a: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 for(i = 0; i < 15; i++) { 806099e: 2300 movs r3, #0 80609a0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80609a4: e016 b.n 80609d4 In[i] = Octaves[i] * fs; 80609a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80609aa: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80609ae: 4639 mov r1, r7 80609b0: 0092 lsls r2, r2, #2 80609b2: 440a add r2, r1 80609b4: ed92 7a00 vldr s14, [r2] 80609b8: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 80609bc: ee67 7a27 vmul.f32 s15, s14, s15 80609c0: 4a5b ldr r2, [pc, #364] ; (8060b30 ) 80609c2: 009b lsls r3, r3, #2 80609c4: 4413 add r3, r2 80609c6: edc3 7a00 vstr s15, [r3] for(i = 0; i < 15; i++) { 80609ca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80609ce: 3301 adds r3, #1 80609d0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80609d4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80609d8: 2b0e cmp r3, #14 80609da: d9e4 bls.n 80609a6 } if(pardata.IPR > ACC) 80609dc: 4b4b ldr r3, [pc, #300] ; (8060b0c ) 80609de: 785b ldrb r3, [r3, #1] 80609e0: b2db uxtb r3, r3 80609e2: 2b00 cmp r3, #0 80609e4: d003 beq.n 80609ee In[0] = 0.0f; 80609e6: 4b52 ldr r3, [pc, #328] ; (8060b30 ) 80609e8: f04f 0200 mov.w r2, #0 80609ec: 601a str r2, [r3, #0] rms0_8 = 0.0f; 80609ee: 4b51 ldr r3, [pc, #324] ; (8060b34 ) 80609f0: f04f 0200 mov.w r2, #0 80609f4: 601a str r2, [r3, #0] rms1 = 0.0f; 80609f6: 4b42 ldr r3, [pc, #264] ; (8060b00 ) 80609f8: f04f 0200 mov.w r2, #0 80609fc: 601a str r2, [r3, #0] rms1_25 = 0.0f; 80609fe: 4b4e ldr r3, [pc, #312] ; (8060b38 ) 8060a00: f04f 0200 mov.w r2, #0 8060a04: 601a str r2, [r3, #0] rms1_6 = 0.0f; 8060a06: 4b4d ldr r3, [pc, #308] ; (8060b3c ) 8060a08: f04f 0200 mov.w r2, #0 8060a0c: 601a str r2, [r3, #0] rms2 = 0.0f; 8060a0e: 4b45 ldr r3, [pc, #276] ; (8060b24 ) 8060a10: f04f 0200 mov.w r2, #0 8060a14: 601a str r2, [r3, #0] rms2_5 = 0.0f; 8060a16: 4b4a ldr r3, [pc, #296] ; (8060b40 ) 8060a18: f04f 0200 mov.w r2, #0 8060a1c: 601a str r2, [r3, #0] rms3_15 = 0.0f; 8060a1e: 4b49 ldr r3, [pc, #292] ; (8060b44 ) 8060a20: f04f 0200 mov.w r2, #0 8060a24: 601a str r2, [r3, #0] rms4 = 0.0f; 8060a26: 4b3e ldr r3, [pc, #248] ; (8060b20 ) 8060a28: f04f 0200 mov.w r2, #0 8060a2c: 601a str r2, [r3, #0] rms5 = 0.0f; 8060a2e: 4b46 ldr r3, [pc, #280] ; (8060b48 ) 8060a30: f04f 0200 mov.w r2, #0 8060a34: 601a str r2, [r3, #0] rms6_3 = 0.0f; 8060a36: 4b45 ldr r3, [pc, #276] ; (8060b4c ) 8060a38: f04f 0200 mov.w r2, #0 8060a3c: 601a str r2, [r3, #0] rms8 = 0.0f; 8060a3e: 4b36 ldr r3, [pc, #216] ; (8060b18 ) 8060a40: f04f 0200 mov.w r2, #0 8060a44: 601a str r2, [r3, #0] rms10 = 0.0f; 8060a46: 4b42 ldr r3, [pc, #264] ; (8060b50 ) 8060a48: f04f 0200 mov.w r2, #0 8060a4c: 601a str r2, [r3, #0] FastCopy16(IN_Reg, SCR_Reg, 30); 8060a4e: 221e movs r2, #30 8060a50: 2104 movs r1, #4 8060a52: 2001 movs r0, #1 8060a54: f005 f9c4 bl 8065de0 MeanCnt = 0; 8060a58: 4b2b ldr r3, [pc, #172] ; (8060b08 ) 8060a5a: 2200 movs r2, #0 8060a5c: 601a str r2, [r3, #0] if(firstOkt) 8060a5e: 4b3d ldr r3, [pc, #244] ; (8060b54 ) 8060a60: 781b ldrb r3, [r3, #0] 8060a62: b2db uxtb r3, r3 8060a64: 2b00 cmp r3, #0 8060a66: d005 beq.n 8060a74 { firstOkt = false; 8060a68: 4b3a ldr r3, [pc, #232] ; (8060b54 ) 8060a6a: 2200 movs r2, #0 8060a6c: 701a strb r2, [r3, #0] AUTOZOOM = true; 8060a6e: 4b3a ldr r3, [pc, #232] ; (8060b58 ) 8060a70: 2201 movs r2, #1 8060a72: 701a strb r2, [r3, #0] } READY_TO_SEE = true; 8060a74: 4b39 ldr r3, [pc, #228] ; (8060b5c ) 8060a76: 2201 movs r2, #1 8060a78: 701a strb r2, [r3, #0] } } //**************************************************************************** cntcnt = DWT->CYCCNT - cntcnt; 8060a7a: 4b39 ldr r3, [pc, #228] ; (8060b60 ) 8060a7c: 685b ldr r3, [r3, #4] 8060a7e: 4619 mov r1, r3 8060a80: f04f 0200 mov.w r2, #0 8060a84: f507 73f8 add.w r3, r7, #496 ; 0x1f0 8060a88: cb18 ldmia r3, {r3, r4} 8060a8a: 1acb subs r3, r1, r3 8060a8c: eb62 0404 sbc.w r4, r2, r4 8060a90: f507 72f8 add.w r2, r7, #496 ; 0x1f0 8060a94: e882 0018 stmia.w r2, {r3, r4} cntcnt = 0; 8060a98: f04f 0300 mov.w r3, #0 8060a9c: f04f 0400 mov.w r4, #0 8060aa0: f507 72f8 add.w r2, r7, #496 ; 0x1f0 8060aa4: e882 0018 stmia.w r2, {r3, r4} { 8060aa8: bf00 nop else { RepeatKm = true; } } break; 8060aaa: f005 b854 b.w 8065b56 RepeatKm = true; 8060aae: 4b2d ldr r3, [pc, #180] ; (8060b64 ) 8060ab0: 2201 movs r2, #1 8060ab2: 701a strb r2, [r3, #0] break; 8060ab4: f005 b84f b.w 8065b56 case SPEC_THIRD: if(measuring) 8060ab8: 4b2b ldr r3, [pc, #172] ; (8060b68 ) 8060aba: 781b ldrb r3, [r3, #0] 8060abc: b2db uxtb r3, r3 8060abe: 2b00 cmp r3, #0 8060ac0: f005 804b beq.w 8065b5a { GetData(); 8060ac4: f005 fb02 bl 80660cc j = 0; 8060ac8: 2300 movs r3, #0 8060aca: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 8060ace: 4b0f ldr r3, [pc, #60] ; (8060b0c ) 8060ad0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8060ad4: f003 0304 and.w r3, r3, #4 8060ad8: 2b00 cmp r3, #0 8060ada: d005 beq.n 8060ae8 CalculateGain(Ns); 8060adc: 4b23 ldr r3, [pc, #140] ; (8060b6c ) 8060ade: 681b ldr r3, [r3, #0] 8060ae0: 4618 mov r0, r3 8060ae2: f7f6 fcd5 bl 8057490 8060ae6: e06a b.n 8060bbe else { Stability = (Nr * 4) + 1; 8060ae8: 4b21 ldr r3, [pc, #132] ; (8060b70 ) 8060aea: 881b ldrh r3, [r3, #0] 8060aec: b29b uxth r3, r3 8060aee: 009b lsls r3, r3, #2 8060af0: 3301 adds r3, #1 8060af2: 461a mov r2, r3 8060af4: 4b1f ldr r3, [pc, #124] ; (8060b74 ) 8060af6: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 8060af8: 2300 movs r3, #0 8060afa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060afe: e04d b.n 8060b9c 8060b00: 20021d60 .word 0x20021d60 8060b04: 20020db0 .word 0x20020db0 8060b08: 20020dd8 .word 0x20020dd8 8060b0c: 20023eb8 .word 0x20023eb8 8060b10: 080f54d8 .word 0x080f54d8 8060b14: 42800000 .word 0x42800000 8060b18: 20021d20 .word 0x20021d20 8060b1c: 42000000 .word 0x42000000 8060b20: 20021d68 .word 0x20021d68 8060b24: 20021d28 .word 0x20021d28 8060b28: 4379228f .word 0x4379228f 8060b2c: 476fd82c .word 0x476fd82c 8060b30: 20027a20 .word 0x20027a20 8060b34: 20021d24 .word 0x20021d24 8060b38: 20021d18 .word 0x20021d18 8060b3c: 20021d1c .word 0x20021d1c 8060b40: 20021d48 .word 0x20021d48 8060b44: 20021d64 .word 0x20021d64 8060b48: 20021d34 .word 0x20021d34 8060b4c: 20021d30 .word 0x20021d30 8060b50: 20021d5c .word 0x20021d5c 8060b54: 20020db4 .word 0x20020db4 8060b58: 20020994 .word 0x20020994 8060b5c: 20020dae .word 0x20020dae 8060b60: e0001000 .word 0xe0001000 8060b64: 20020dcc .word 0x20020dcc 8060b68: 20020dcf .word 0x20020dcf 8060b6c: 20021d2c .word 0x20021d2c 8060b70: 20021d70 .word 0x20021d70 8060b74: 20020dc8 .word 0x20020dc8 { if(In16[i].lg > 0xE00000) 8060b78: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060b7c: 4ab2 ldr r2, [pc, #712] ; (8060e48 ) 8060b7e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8060b82: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8060b86: d904 bls.n 8060b92 j++; 8060b88: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8060b8c: 3301 adds r3, #1 8060b8e: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 8060b92: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060b96: 3301 adds r3, #1 8060b98: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060b9c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060ba0: 4baa ldr r3, [pc, #680] ; (8060e4c ) 8060ba2: 681b ldr r3, [r3, #0] 8060ba4: 429a cmp r2, r3 8060ba6: d3e7 bcc.n 8060b78 } if(j >= 2) 8060ba8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8060bac: 2b01 cmp r3, #1 8060bae: d903 bls.n 8060bb8 OVERDRIVE = true; 8060bb0: 4ba7 ldr r3, [pc, #668] ; (8060e50 ) 8060bb2: 2201 movs r2, #1 8060bb4: 701a strb r2, [r3, #0] 8060bb6: e002 b.n 8060bbe else OVERDRIVE = false; 8060bb8: 4ba5 ldr r3, [pc, #660] ; (8060e50 ) 8060bba: 2200 movs r2, #0 8060bbc: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 8060bbe: 4ba5 ldr r3, [pc, #660] ; (8060e54 ) 8060bc0: 781b ldrb r3, [r3, #0] 8060bc2: b2db uxtb r3, r3 8060bc4: 2b00 cmp r3, #0 8060bc6: d00a beq.n 8060bde { Stability = 0; 8060bc8: 4ba3 ldr r3, [pc, #652] ; (8060e58 ) 8060bca: 2200 movs r2, #0 8060bcc: 601a str r2, [r3, #0] MeanCnt = 0; 8060bce: 4ba3 ldr r3, [pc, #652] ; (8060e5c ) 8060bd0: 2200 movs r2, #0 8060bd2: 601a str r2, [r3, #0] NSamples = 0xffffffff; 8060bd4: 4ba2 ldr r3, [pc, #648] ; (8060e60 ) 8060bd6: f04f 32ff mov.w r2, #4294967295 8060bda: 601a str r2, [r3, #0] 8060bdc: e00d b.n 8060bfa } else { if(Stability <= (Nr * 4)) 8060bde: 4ba1 ldr r3, [pc, #644] ; (8060e64 ) 8060be0: 881b ldrh r3, [r3, #0] 8060be2: b29b uxth r3, r3 8060be4: 009b lsls r3, r3, #2 8060be6: 461a mov r2, r3 8060be8: 4b9b ldr r3, [pc, #620] ; (8060e58 ) 8060bea: 681b ldr r3, [r3, #0] 8060bec: 429a cmp r2, r3 8060bee: d304 bcc.n 8060bfa Stability++; 8060bf0: 4b99 ldr r3, [pc, #612] ; (8060e58 ) 8060bf2: 681b ldr r3, [r3, #0] 8060bf4: 3301 adds r3, #1 8060bf6: 4a98 ldr r2, [pc, #608] ; (8060e58 ) 8060bf8: 6013 str r3, [r2, #0] } float32_t Third[39]; if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) //åñëè àâòîóñèëåíèå íîðì 8060bfa: 4b96 ldr r3, [pc, #600] ; (8060e54 ) 8060bfc: 781b ldrb r3, [r3, #0] 8060bfe: b2db uxtb r3, r3 8060c00: 2b00 cmp r3, #0 8060c02: f043 8336 bne.w 8064272 8060c06: 4b97 ldr r3, [pc, #604] ; (8060e64 ) 8060c08: 881b ldrh r3, [r3, #0] 8060c0a: b29b uxth r3, r3 8060c0c: 009b lsls r3, r3, #2 8060c0e: 461a mov r2, r3 8060c10: 4b91 ldr r3, [pc, #580] ; (8060e58 ) 8060c12: 681b ldr r3, [r3, #0] 8060c14: 429a cmp r2, r3 8060c16: f083 832c bcs.w 8064272 { if(!cntOkt) 8060c1a: 4b93 ldr r3, [pc, #588] ; (8060e68 ) 8060c1c: 681b ldr r3, [r3, #0] 8060c1e: 2b00 cmp r3, #0 8060c20: d104 bne.n 8060c2c { thrd = HAL_GetTick(); 8060c22: f056 feff bl 80b7a24 8060c26: 4602 mov r2, r0 8060c28: 4b90 ldr r3, [pc, #576] ; (8060e6c ) 8060c2a: 601a str r2, [r3, #0] } uint64_t cntcnt = DWT->CYCCNT; 8060c2c: 4b90 ldr r3, [pc, #576] ; (8060e70 ) 8060c2e: 685b ldr r3, [r3, #4] 8060c30: f04f 0400 mov.w r4, #0 8060c34: f507 72f4 add.w r2, r7, #488 ; 0x1e8 8060c38: e882 0018 stmia.w r2, {r3, r4} fNrm = 1.0f / ((float32_t)(Ns >> 1)); 8060c3c: 4b83 ldr r3, [pc, #524] ; (8060e4c ) 8060c3e: 681b ldr r3, [r3, #0] 8060c40: 085b lsrs r3, r3, #1 8060c42: ee07 3a90 vmov s15, r3 8060c46: eeb8 7a67 vcvt.f32.u32 s14, s15 8060c4a: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 8060c4e: eec6 7a87 vdiv.f32 s15, s13, s14 8060c52: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 8060c56: 4b87 ldr r3, [pc, #540] ; (8060e74 ) 8060c58: edd3 7a00 vldr s15, [r3] 8060c5c: eeb7 7ae7 vcvt.f64.f32 d7, s15 8060c60: ed9f 6b77 vldr d6, [pc, #476] ; 8060e40 8060c64: ee27 7b06 vmul.f64 d7, d7, d6 8060c68: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 8060c6c: 4b82 ldr r3, [pc, #520] ; (8060e78 ) 8060c6e: edd3 7a04 vldr s15, [r3, #16] 8060c72: eeb7 6ae7 vcvt.f64.f32 d6, s15 8060c76: ed97 5b82 vldr d5, [r7, #520] ; 0x208 8060c7a: ee85 7b06 vdiv.f64 d7, d5, d6 8060c7e: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 8060c82: 2300 movs r3, #0 8060c84: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060c88: e026 b.n 8060cd8 { Buff64[i] = (float64_t) In16[i].lg; 8060c8a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060c8e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060c92: 496d ldr r1, [pc, #436] ; (8060e48 ) 8060c94: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8060c98: ee07 2a90 vmov s15, r2 8060c9c: eeb8 7b67 vcvt.f64.u32 d7, s15 8060ca0: 4a76 ldr r2, [pc, #472] ; (8060e7c ) 8060ca2: 00db lsls r3, r3, #3 8060ca4: 4413 add r3, r2 8060ca6: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 8060caa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060cae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060cb2: 4972 ldr r1, [pc, #456] ; (8060e7c ) 8060cb4: 00d2 lsls r2, r2, #3 8060cb6: 440a add r2, r1 8060cb8: ed92 6b00 vldr d6, [r2] 8060cbc: ed97 7b82 vldr d7, [r7, #520] ; 0x208 8060cc0: ee26 7b07 vmul.f64 d7, d6, d7 8060cc4: 4a6d ldr r2, [pc, #436] ; (8060e7c ) 8060cc6: 00db lsls r3, r3, #3 8060cc8: 4413 add r3, r2 8060cca: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 8060cce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060cd2: 3301 adds r3, #1 8060cd4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060cd8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060cdc: 4b5b ldr r3, [pc, #364] ; (8060e4c ) 8060cde: 681b ldr r3, [r3, #0] 8060ce0: 429a cmp r2, r3 8060ce2: d3d2 bcc.n 8060c8a } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 8060ce4: 4b59 ldr r3, [pc, #356] ; (8060e4c ) 8060ce6: 681b ldr r3, [r3, #0] 8060ce8: 4a64 ldr r2, [pc, #400] ; (8060e7c ) 8060cea: 4964 ldr r1, [pc, #400] ; (8060e7c ) 8060cec: 4864 ldr r0, [pc, #400] ; (8060e80 ) 8060cee: f06e fa05 bl 80cf0fc if(pardata.IPR == ACC) 8060cf2: 4b61 ldr r3, [pc, #388] ; (8060e78 ) 8060cf4: 785b ldrb r3, [r3, #1] 8060cf6: b2db uxtb r3, r3 8060cf8: 2b00 cmp r3, #0 8060cfa: d107 bne.n 8060d0c { arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 8060cfc: 4b53 ldr r3, [pc, #332] ; (8060e4c ) 8060cfe: 681b ldr r3, [r3, #0] 8060d00: 4a5e ldr r2, [pc, #376] ; (8060e7c ) 8060d02: 495e ldr r1, [pc, #376] ; (8060e7c ) 8060d04: 485f ldr r0, [pc, #380] ; (8060e84 ) 8060d06: f06e f9f9 bl 80cf0fc 8060d0a: e026 b.n 8060d5a } else if(pardata.IPR == VEL) 8060d0c: 4b5a ldr r3, [pc, #360] ; (8060e78 ) 8060d0e: 785b ldrb r3, [r3, #1] 8060d10: b2db uxtb r3, r3 8060d12: 2b01 cmp r3, #1 8060d14: d10e bne.n 8060d34 { arm_biquad_cascade_df2T_f64(&S_INT1, Buff64, Buff64, Ns); 8060d16: 4b4d ldr r3, [pc, #308] ; (8060e4c ) 8060d18: 681b ldr r3, [r3, #0] 8060d1a: 4a58 ldr r2, [pc, #352] ; (8060e7c ) 8060d1c: 4957 ldr r1, [pc, #348] ; (8060e7c ) 8060d1e: 485a ldr r0, [pc, #360] ; (8060e88 ) 8060d20: f06e f9ec bl 80cf0fc arm_biquad_cascade_df2T_f64(&S_HP_VEL, Buff64, Buff64, Ns); 8060d24: 4b49 ldr r3, [pc, #292] ; (8060e4c ) 8060d26: 681b ldr r3, [r3, #0] 8060d28: 4a54 ldr r2, [pc, #336] ; (8060e7c ) 8060d2a: 4954 ldr r1, [pc, #336] ; (8060e7c ) 8060d2c: 4857 ldr r0, [pc, #348] ; (8060e8c ) 8060d2e: f06e f9e5 bl 80cf0fc 8060d32: e012 b.n 8060d5a } else if(pardata.IPR == DIS) 8060d34: 4b50 ldr r3, [pc, #320] ; (8060e78 ) 8060d36: 785b ldrb r3, [r3, #1] 8060d38: b2db uxtb r3, r3 8060d3a: 2b02 cmp r3, #2 8060d3c: d10d bne.n 8060d5a { arm_biquad_cascade_df2T_f64(&S_INT2, Buff64, Buff64, Ns); 8060d3e: 4b43 ldr r3, [pc, #268] ; (8060e4c ) 8060d40: 681b ldr r3, [r3, #0] 8060d42: 4a4e ldr r2, [pc, #312] ; (8060e7c ) 8060d44: 494d ldr r1, [pc, #308] ; (8060e7c ) 8060d46: 4852 ldr r0, [pc, #328] ; (8060e90 ) 8060d48: f06e f9d8 bl 80cf0fc arm_biquad_cascade_df2T_f64(&S_HP_DIS, Buff64, Buff64, Ns); 8060d4c: 4b3f ldr r3, [pc, #252] ; (8060e4c ) 8060d4e: 681b ldr r3, [r3, #0] 8060d50: 4a4a ldr r2, [pc, #296] ; (8060e7c ) 8060d52: 494a ldr r1, [pc, #296] ; (8060e7c ) 8060d54: 484f ldr r0, [pc, #316] ; (8060e94 ) 8060d56: f06e f9d1 bl 80cf0fc } k = 38; 8060d5a: 2326 movs r3, #38 ; 0x26 8060d5c: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 len = 8192; 8060d60: f44f 5300 mov.w r3, #8192 ; 0x2000 8060d64: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 arm_biquad_cascade_df2T_f64(&S_LP_4000, &Buff64[0], &Buff64[0], len); 8060d68: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060d6c: 4a43 ldr r2, [pc, #268] ; (8060e7c ) 8060d6e: 4943 ldr r1, [pc, #268] ; (8060e7c ) 8060d70: 4849 ldr r0, [pc, #292] ; (8060e98 ) 8060d72: f06e f9c3 bl 80cf0fc len >>= 1; 8060d76: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060d7a: 085b lsrs r3, r3, #1 8060d7c: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8060d80: 2300 movs r3, #0 8060d82: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060d86: e012 b.n 8060dae Buff64[i] = Buff64[i << 1]; 8060d88: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060d8c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060d90: 005b lsls r3, r3, #1 8060d92: 493a ldr r1, [pc, #232] ; (8060e7c ) 8060d94: 00db lsls r3, r3, #3 8060d96: 440b add r3, r1 8060d98: cb18 ldmia r3, {r3, r4} 8060d9a: 4938 ldr r1, [pc, #224] ; (8060e7c ) 8060d9c: 00d2 lsls r2, r2, #3 8060d9e: 440a add r2, r1 8060da0: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8060da4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060da8: 3301 adds r3, #1 8060daa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060dae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060db2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060db6: 429a cmp r2, r3 8060db8: d3e6 bcc.n 8060d88 } //** 5000 arm_biquad_cascade_df2T_f64(&S_OKT_5000Hz, &Buff64[0], &Buff64[Ns], len); 8060dba: 4b24 ldr r3, [pc, #144] ; (8060e4c ) 8060dbc: 681b ldr r3, [r3, #0] 8060dbe: 00db lsls r3, r3, #3 8060dc0: 4a2e ldr r2, [pc, #184] ; (8060e7c ) 8060dc2: 441a add r2, r3 8060dc4: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060dc8: 492c ldr r1, [pc, #176] ; (8060e7c ) 8060dca: 4834 ldr r0, [pc, #208] ; (8060e9c ) 8060dcc: f06e f996 bl 80cf0fc for(i = 0; i < len; i++) { 8060dd0: 2300 movs r3, #0 8060dd2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060dd6: e017 b.n 8060e08 In[i] = (float32_t) Buff64[Ns + i]; 8060dd8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060ddc: 4a1b ldr r2, [pc, #108] ; (8060e4c ) 8060dde: 6811 ldr r1, [r2, #0] 8060de0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060de4: 440a add r2, r1 8060de6: 4925 ldr r1, [pc, #148] ; (8060e7c ) 8060de8: 00d2 lsls r2, r2, #3 8060dea: 440a add r2, r1 8060dec: ed92 7b00 vldr d7, [r2] 8060df0: eef7 7bc7 vcvt.f32.f64 s15, d7 8060df4: 4a2a ldr r2, [pc, #168] ; (8060ea0 ) 8060df6: 009b lsls r3, r3, #2 8060df8: 4413 add r3, r2 8060dfa: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060dfe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060e02: 3301 adds r3, #1 8060e04: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060e08: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060e0c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060e10: 429a cmp r2, r3 8060e12: d3e1 bcc.n 8060dd8 } if(pardata.IVS[ACC] == RMS) 8060e14: 4b18 ldr r3, [pc, #96] ; (8060e78 ) 8060e16: 789b ldrb r3, [r3, #2] 8060e18: b2db uxtb r3, r3 8060e1a: 2b01 cmp r3, #1 8060e1c: d142 bne.n 8060ea4 arm_rms_f32(In, len, &Third[k--]); 8060e1e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060e22: 1e5a subs r2, r3, #1 8060e24: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060e28: 463a mov r2, r7 8060e2a: 009b lsls r3, r3, #2 8060e2c: 4413 add r3, r2 8060e2e: 461a mov r2, r3 8060e30: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060e34: 481a ldr r0, [pc, #104] ; (8060ea0 ) 8060e36: f06d ffbf bl 80cedb8 8060e3a: e076 b.n 8060f2a 8060e3c: f3af 8000 nop.w 8060e40: 18000018 .word 0x18000018 8060e44: 3e980000 .word 0x3e980000 8060e48: 20058080 .word 0x20058080 8060e4c: 20021d2c .word 0x20021d2c 8060e50: 20021581 .word 0x20021581 8060e54: 20020d9e .word 0x20020d9e 8060e58: 20020dc8 .word 0x20020dc8 8060e5c: 20020dd8 .word 0x20020dd8 8060e60: 20020da8 .word 0x20020da8 8060e64: 20021d70 .word 0x20021d70 8060e68: 20020db0 .word 0x20020db0 8060e6c: 20021584 .word 0x20021584 8060e70: e0001000 .word 0xe0001000 8060e74: 20020080 .word 0x20020080 8060e78: 20023eb8 .word 0x20023eb8 8060e7c: 20037b40 .word 0x20037b40 8060e80: 200265c4 .word 0x200265c4 8060e84: 20025f60 .word 0x20025f60 8060e88: 200261d0 .word 0x200261d0 8060e8c: 20025ed8 .word 0x20025ed8 8060e90: 20027924 .word 0x20027924 8060e94: 200279b0 .word 0x200279b0 8060e98: 20026d34 .word 0x20026d34 8060e9c: 20068454 .word 0x20068454 8060ea0: 20027a20 .word 0x20027a20 else { arm_min_f32(In, len, &fn[0], &i); 8060ea4: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060ea8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060eac: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060eb0: 48be ldr r0, [pc, #760] ; (80611ac ) 8060eb2: f06e f813 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8060eb6: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060eba: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060ebe: 1d1a adds r2, r3, #4 8060ec0: 460b mov r3, r1 8060ec2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060ec6: 48b9 ldr r0, [pc, #740] ; (80611ac ) 8060ec8: f06e f8a4 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060ecc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060ed0: eef5 7ac0 vcmpe.f32 s15, #0.0 8060ed4: eef1 fa10 vmrs APSR_nzcv, fpscr 8060ed8: dd02 ble.n 8060ee0 8060eda: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060ede: e003 b.n 8060ee8 8060ee0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060ee4: eef1 7a67 vneg.f32 s15, s15 8060ee8: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060eec: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060ef0: eef5 7ac0 vcmpe.f32 s15, #0.0 8060ef4: eef1 fa10 vmrs APSR_nzcv, fpscr 8060ef8: dd02 ble.n 8060f00 8060efa: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060efe: e003 b.n 8060f08 8060f00: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060f04: eef1 7a67 vneg.f32 s15, s15 8060f08: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060f0c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060f10: 1e5a subs r2, r3, #1 8060f12: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060f16: 463a mov r2, r7 8060f18: 009b lsls r3, r3, #2 8060f1a: 441a add r2, r3 8060f1c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060f20: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060f24: 2102 movs r1, #2 8060f26: f06e f875 bl 80cf014 } //** 4000 arm_biquad_cascade_df2T_f64(&S_OKT_4000Hz, &Buff64[0], &Buff64[Ns], len); 8060f2a: 4ba1 ldr r3, [pc, #644] ; (80611b0 ) 8060f2c: 681b ldr r3, [r3, #0] 8060f2e: 00db lsls r3, r3, #3 8060f30: 4aa0 ldr r2, [pc, #640] ; (80611b4 ) 8060f32: 441a add r2, r3 8060f34: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060f38: 499e ldr r1, [pc, #632] ; (80611b4 ) 8060f3a: 489f ldr r0, [pc, #636] ; (80611b8 ) 8060f3c: f06e f8de bl 80cf0fc for(i = 0; i < len; i++) { 8060f40: 2300 movs r3, #0 8060f42: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060f46: e017 b.n 8060f78 In[i] = (float32_t) Buff64[Ns + i]; 8060f48: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060f4c: 4a98 ldr r2, [pc, #608] ; (80611b0 ) 8060f4e: 6811 ldr r1, [r2, #0] 8060f50: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060f54: 440a add r2, r1 8060f56: 4997 ldr r1, [pc, #604] ; (80611b4 ) 8060f58: 00d2 lsls r2, r2, #3 8060f5a: 440a add r2, r1 8060f5c: ed92 7b00 vldr d7, [r2] 8060f60: eef7 7bc7 vcvt.f32.f64 s15, d7 8060f64: 4a91 ldr r2, [pc, #580] ; (80611ac ) 8060f66: 009b lsls r3, r3, #2 8060f68: 4413 add r3, r2 8060f6a: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060f6e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060f72: 3301 adds r3, #1 8060f74: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060f78: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060f7c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060f80: 429a cmp r2, r3 8060f82: d3e1 bcc.n 8060f48 } if(pardata.IVS[ACC] == RMS) 8060f84: 4b8d ldr r3, [pc, #564] ; (80611bc ) 8060f86: 789b ldrb r3, [r3, #2] 8060f88: b2db uxtb r3, r3 8060f8a: 2b01 cmp r3, #1 8060f8c: d10e bne.n 8060fac arm_rms_f32(In, len, &Third[k--]); 8060f8e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060f92: 1e5a subs r2, r3, #1 8060f94: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060f98: 463a mov r2, r7 8060f9a: 009b lsls r3, r3, #2 8060f9c: 4413 add r3, r2 8060f9e: 461a mov r2, r3 8060fa0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060fa4: 4881 ldr r0, [pc, #516] ; (80611ac ) 8060fa6: f06d ff07 bl 80cedb8 8060faa: e042 b.n 8061032 else { arm_min_f32(In, len, &fn[0], &i); 8060fac: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060fb0: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060fb4: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060fb8: 487c ldr r0, [pc, #496] ; (80611ac ) 8060fba: f06d ff8f bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8060fbe: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060fc2: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060fc6: 1d1a adds r2, r3, #4 8060fc8: 460b mov r3, r1 8060fca: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060fce: 4877 ldr r0, [pc, #476] ; (80611ac ) 8060fd0: f06e f820 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060fd4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060fd8: eef5 7ac0 vcmpe.f32 s15, #0.0 8060fdc: eef1 fa10 vmrs APSR_nzcv, fpscr 8060fe0: dd02 ble.n 8060fe8 8060fe2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060fe6: e003 b.n 8060ff0 8060fe8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060fec: eef1 7a67 vneg.f32 s15, s15 8060ff0: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060ff4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060ff8: eef5 7ac0 vcmpe.f32 s15, #0.0 8060ffc: eef1 fa10 vmrs APSR_nzcv, fpscr 8061000: dd02 ble.n 8061008 8061002: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061006: e003 b.n 8061010 8061008: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806100c: eef1 7a67 vneg.f32 s15, s15 8061010: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8061014: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061018: 1e5a subs r2, r3, #1 806101a: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806101e: 463a mov r2, r7 8061020: 009b lsls r3, r3, #2 8061022: 441a add r2, r3 8061024: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061028: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806102c: 2102 movs r1, #2 806102e: f06d fff1 bl 80cf014 } //** 3150 arm_biquad_cascade_df2T_f64(&S_OKT_3150Hz, &Buff64[0], &Buff64[Ns], len); 8061032: 4b5f ldr r3, [pc, #380] ; (80611b0 ) 8061034: 681b ldr r3, [r3, #0] 8061036: 00db lsls r3, r3, #3 8061038: 4a5e ldr r2, [pc, #376] ; (80611b4 ) 806103a: 441a add r2, r3 806103c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061040: 495c ldr r1, [pc, #368] ; (80611b4 ) 8061042: 485f ldr r0, [pc, #380] ; (80611c0 ) 8061044: f06e f85a bl 80cf0fc for(i = 0; i < len; i++) { 8061048: 2300 movs r3, #0 806104a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806104e: e017 b.n 8061080 In[i] = (float32_t) Buff64[Ns + i]; 8061050: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061054: 4a56 ldr r2, [pc, #344] ; (80611b0 ) 8061056: 6811 ldr r1, [r2, #0] 8061058: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806105c: 440a add r2, r1 806105e: 4955 ldr r1, [pc, #340] ; (80611b4 ) 8061060: 00d2 lsls r2, r2, #3 8061062: 440a add r2, r1 8061064: ed92 7b00 vldr d7, [r2] 8061068: eef7 7bc7 vcvt.f32.f64 s15, d7 806106c: 4a4f ldr r2, [pc, #316] ; (80611ac ) 806106e: 009b lsls r3, r3, #2 8061070: 4413 add r3, r2 8061072: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061076: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806107a: 3301 adds r3, #1 806107c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061080: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061084: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061088: 429a cmp r2, r3 806108a: d3e1 bcc.n 8061050 } if(pardata.IVS[ACC] == RMS) 806108c: 4b4b ldr r3, [pc, #300] ; (80611bc ) 806108e: 789b ldrb r3, [r3, #2] 8061090: b2db uxtb r3, r3 8061092: 2b01 cmp r3, #1 8061094: d10e bne.n 80610b4 arm_rms_f32(In, len, &Third[k--]); 8061096: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806109a: 1e5a subs r2, r3, #1 806109c: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80610a0: 463a mov r2, r7 80610a2: 009b lsls r3, r3, #2 80610a4: 4413 add r3, r2 80610a6: 461a mov r2, r3 80610a8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80610ac: 483f ldr r0, [pc, #252] ; (80611ac ) 80610ae: f06d fe83 bl 80cedb8 80610b2: e042 b.n 806113a else { arm_min_f32(In, len, &fn[0], &i); 80610b4: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80610b8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80610bc: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80610c0: 483a ldr r0, [pc, #232] ; (80611ac ) 80610c2: f06d ff0b bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 80610c6: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80610ca: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80610ce: 1d1a adds r2, r3, #4 80610d0: 460b mov r3, r1 80610d2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80610d6: 4835 ldr r0, [pc, #212] ; (80611ac ) 80610d8: f06d ff9c bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80610dc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80610e0: eef5 7ac0 vcmpe.f32 s15, #0.0 80610e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80610e8: dd02 ble.n 80610f0 80610ea: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80610ee: e003 b.n 80610f8 80610f0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80610f4: eef1 7a67 vneg.f32 s15, s15 80610f8: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80610fc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061100: eef5 7ac0 vcmpe.f32 s15, #0.0 8061104: eef1 fa10 vmrs APSR_nzcv, fpscr 8061108: dd02 ble.n 8061110 806110a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806110e: e003 b.n 8061118 8061110: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061114: eef1 7a67 vneg.f32 s15, s15 8061118: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 806111c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061120: 1e5a subs r2, r3, #1 8061122: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061126: 463a mov r2, r7 8061128: 009b lsls r3, r3, #2 806112a: 441a add r2, r3 806112c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061130: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061134: 2102 movs r1, #2 8061136: f06d ff6d bl 80cf014 } arm_biquad_cascade_df2T_f64(&S_LP_2000, &Buff64[0], &Buff64[0], len); 806113a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806113e: 4a1d ldr r2, [pc, #116] ; (80611b4 ) 8061140: 491c ldr r1, [pc, #112] ; (80611b4 ) 8061142: 4820 ldr r0, [pc, #128] ; (80611c4 ) 8061144: f06d ffda bl 80cf0fc len >>= 1; 8061148: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806114c: 085b lsrs r3, r3, #1 806114e: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8061152: 2300 movs r3, #0 8061154: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061158: e012 b.n 8061180 Buff64[i] = Buff64[i << 1]; 806115a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806115e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061162: 005b lsls r3, r3, #1 8061164: 4913 ldr r1, [pc, #76] ; (80611b4 ) 8061166: 00db lsls r3, r3, #3 8061168: 440b add r3, r1 806116a: cb18 ldmia r3, {r3, r4} 806116c: 4911 ldr r1, [pc, #68] ; (80611b4 ) 806116e: 00d2 lsls r2, r2, #3 8061170: 440a add r2, r1 8061172: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8061176: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806117a: 3301 adds r3, #1 806117c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061180: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061184: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061188: 429a cmp r2, r3 806118a: d3e6 bcc.n 806115a } //** 2500 arm_biquad_cascade_df2T_f64(&S_OKT_2500Hz, &Buff64[0], &Buff64[Ns], len); 806118c: 4b08 ldr r3, [pc, #32] ; (80611b0 ) 806118e: 681b ldr r3, [r3, #0] 8061190: 00db lsls r3, r3, #3 8061192: 4a08 ldr r2, [pc, #32] ; (80611b4 ) 8061194: 441a add r2, r3 8061196: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806119a: 4906 ldr r1, [pc, #24] ; (80611b4 ) 806119c: 480a ldr r0, [pc, #40] ; (80611c8 ) 806119e: f06d ffad bl 80cf0fc for(i = 0; i < len; i++) { 80611a2: 2300 movs r3, #0 80611a4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80611a8: e028 b.n 80611fc 80611aa: bf00 nop 80611ac: 20027a20 .word 0x20027a20 80611b0: 20021d2c .word 0x20021d2c 80611b4: 20037b40 .word 0x20037b40 80611b8: 20068318 .word 0x20068318 80611bc: 20023eb8 .word 0x20023eb8 80611c0: 20025ee4 .word 0x20025ee4 80611c4: 20027980 .word 0x20027980 80611c8: 20026798 .word 0x20026798 In[i] = (float32_t) Buff64[Ns + i]; 80611cc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80611d0: 4ac5 ldr r2, [pc, #788] ; (80614e8 ) 80611d2: 6811 ldr r1, [r2, #0] 80611d4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80611d8: 440a add r2, r1 80611da: 49c4 ldr r1, [pc, #784] ; (80614ec ) 80611dc: 00d2 lsls r2, r2, #3 80611de: 440a add r2, r1 80611e0: ed92 7b00 vldr d7, [r2] 80611e4: eef7 7bc7 vcvt.f32.f64 s15, d7 80611e8: 4ac1 ldr r2, [pc, #772] ; (80614f0 ) 80611ea: 009b lsls r3, r3, #2 80611ec: 4413 add r3, r2 80611ee: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80611f2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80611f6: 3301 adds r3, #1 80611f8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80611fc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061200: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061204: 429a cmp r2, r3 8061206: d3e1 bcc.n 80611cc } if(pardata.IVS[ACC] == RMS) 8061208: 4bba ldr r3, [pc, #744] ; (80614f4 ) 806120a: 789b ldrb r3, [r3, #2] 806120c: b2db uxtb r3, r3 806120e: 2b01 cmp r3, #1 8061210: d10e bne.n 8061230 arm_rms_f32(In, len, &Third[k--]); 8061212: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061216: 1e5a subs r2, r3, #1 8061218: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806121c: 463a mov r2, r7 806121e: 009b lsls r3, r3, #2 8061220: 4413 add r3, r2 8061222: 461a mov r2, r3 8061224: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061228: 48b1 ldr r0, [pc, #708] ; (80614f0 ) 806122a: f06d fdc5 bl 80cedb8 806122e: e042 b.n 80612b6 else { arm_min_f32(In, len, &fn[0], &i); 8061230: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061234: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061238: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806123c: 48ac ldr r0, [pc, #688] ; (80614f0 ) 806123e: f06d fe4d bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8061242: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061246: f507 73d8 add.w r3, r7, #432 ; 0x1b0 806124a: 1d1a adds r2, r3, #4 806124c: 460b mov r3, r1 806124e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061252: 48a7 ldr r0, [pc, #668] ; (80614f0 ) 8061254: f06d fede bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061258: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806125c: eef5 7ac0 vcmpe.f32 s15, #0.0 8061260: eef1 fa10 vmrs APSR_nzcv, fpscr 8061264: dd02 ble.n 806126c 8061266: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806126a: e003 b.n 8061274 806126c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061270: eef1 7a67 vneg.f32 s15, s15 8061274: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061278: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806127c: eef5 7ac0 vcmpe.f32 s15, #0.0 8061280: eef1 fa10 vmrs APSR_nzcv, fpscr 8061284: dd02 ble.n 806128c 8061286: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806128a: e003 b.n 8061294 806128c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061290: eef1 7a67 vneg.f32 s15, s15 8061294: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8061298: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806129c: 1e5a subs r2, r3, #1 806129e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80612a2: 463a mov r2, r7 80612a4: 009b lsls r3, r3, #2 80612a6: 441a add r2, r3 80612a8: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80612ac: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80612b0: 2102 movs r1, #2 80612b2: f06d feaf bl 80cf014 } //** 2000 arm_biquad_cascade_df2T_f64(&S_OKT_2000Hz, &Buff64[0], &Buff64[Ns], len); 80612b6: 4b8c ldr r3, [pc, #560] ; (80614e8 ) 80612b8: 681b ldr r3, [r3, #0] 80612ba: 00db lsls r3, r3, #3 80612bc: 4a8b ldr r2, [pc, #556] ; (80614ec ) 80612be: 441a add r2, r3 80612c0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80612c4: 4989 ldr r1, [pc, #548] ; (80614ec ) 80612c6: 488c ldr r0, [pc, #560] ; (80614f8 ) 80612c8: f06d ff18 bl 80cf0fc for(i = 0; i < len; i++) { 80612cc: 2300 movs r3, #0 80612ce: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80612d2: e017 b.n 8061304 In[i] = (float32_t) Buff64[Ns + i]; 80612d4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80612d8: 4a83 ldr r2, [pc, #524] ; (80614e8 ) 80612da: 6811 ldr r1, [r2, #0] 80612dc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80612e0: 440a add r2, r1 80612e2: 4982 ldr r1, [pc, #520] ; (80614ec ) 80612e4: 00d2 lsls r2, r2, #3 80612e6: 440a add r2, r1 80612e8: ed92 7b00 vldr d7, [r2] 80612ec: eef7 7bc7 vcvt.f32.f64 s15, d7 80612f0: 4a7f ldr r2, [pc, #508] ; (80614f0 ) 80612f2: 009b lsls r3, r3, #2 80612f4: 4413 add r3, r2 80612f6: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80612fa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80612fe: 3301 adds r3, #1 8061300: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061304: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061308: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806130c: 429a cmp r2, r3 806130e: d3e1 bcc.n 80612d4 } if(pardata.IVS[ACC] == RMS) 8061310: 4b78 ldr r3, [pc, #480] ; (80614f4 ) 8061312: 789b ldrb r3, [r3, #2] 8061314: b2db uxtb r3, r3 8061316: 2b01 cmp r3, #1 8061318: d10e bne.n 8061338 arm_rms_f32(In, len, &Third[k--]); 806131a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806131e: 1e5a subs r2, r3, #1 8061320: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061324: 463a mov r2, r7 8061326: 009b lsls r3, r3, #2 8061328: 4413 add r3, r2 806132a: 461a mov r2, r3 806132c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061330: 486f ldr r0, [pc, #444] ; (80614f0 ) 8061332: f06d fd41 bl 80cedb8 8061336: e042 b.n 80613be else { arm_min_f32(In, len, &fn[0], &i); 8061338: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806133c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061340: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061344: 486a ldr r0, [pc, #424] ; (80614f0 ) 8061346: f06d fdc9 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 806134a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 806134e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061352: 1d1a adds r2, r3, #4 8061354: 460b mov r3, r1 8061356: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806135a: 4865 ldr r0, [pc, #404] ; (80614f0 ) 806135c: f06d fe5a bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061360: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061364: eef5 7ac0 vcmpe.f32 s15, #0.0 8061368: eef1 fa10 vmrs APSR_nzcv, fpscr 806136c: dd02 ble.n 8061374 806136e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061372: e003 b.n 806137c 8061374: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061378: eef1 7a67 vneg.f32 s15, s15 806137c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061380: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061384: eef5 7ac0 vcmpe.f32 s15, #0.0 8061388: eef1 fa10 vmrs APSR_nzcv, fpscr 806138c: dd02 ble.n 8061394 806138e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061392: e003 b.n 806139c 8061394: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061398: eef1 7a67 vneg.f32 s15, s15 806139c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80613a0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80613a4: 1e5a subs r2, r3, #1 80613a6: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80613aa: 463a mov r2, r7 80613ac: 009b lsls r3, r3, #2 80613ae: 441a add r2, r3 80613b0: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80613b4: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80613b8: 2102 movs r1, #2 80613ba: f06d fe2b bl 80cf014 } //** 1600 arm_biquad_cascade_df2T_f64(&S_OKT_1600Hz, &Buff64[0], &Buff64[Ns], len); 80613be: 4b4a ldr r3, [pc, #296] ; (80614e8 ) 80613c0: 681b ldr r3, [r3, #0] 80613c2: 00db lsls r3, r3, #3 80613c4: 4a49 ldr r2, [pc, #292] ; (80614ec ) 80613c6: 441a add r2, r3 80613c8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80613cc: 4947 ldr r1, [pc, #284] ; (80614ec ) 80613ce: 484b ldr r0, [pc, #300] ; (80614fc ) 80613d0: f06d fe94 bl 80cf0fc for(i = 0; i < len; i++) { 80613d4: 2300 movs r3, #0 80613d6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80613da: e017 b.n 806140c In[i] = (float32_t) Buff64[Ns + i]; 80613dc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80613e0: 4a41 ldr r2, [pc, #260] ; (80614e8 ) 80613e2: 6811 ldr r1, [r2, #0] 80613e4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80613e8: 440a add r2, r1 80613ea: 4940 ldr r1, [pc, #256] ; (80614ec ) 80613ec: 00d2 lsls r2, r2, #3 80613ee: 440a add r2, r1 80613f0: ed92 7b00 vldr d7, [r2] 80613f4: eef7 7bc7 vcvt.f32.f64 s15, d7 80613f8: 4a3d ldr r2, [pc, #244] ; (80614f0 ) 80613fa: 009b lsls r3, r3, #2 80613fc: 4413 add r3, r2 80613fe: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061402: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061406: 3301 adds r3, #1 8061408: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806140c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061410: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061414: 429a cmp r2, r3 8061416: d3e1 bcc.n 80613dc } if(pardata.IVS[ACC] == RMS) 8061418: 4b36 ldr r3, [pc, #216] ; (80614f4 ) 806141a: 789b ldrb r3, [r3, #2] 806141c: b2db uxtb r3, r3 806141e: 2b01 cmp r3, #1 8061420: d10e bne.n 8061440 arm_rms_f32(In, len, &Third[k--]); 8061422: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061426: 1e5a subs r2, r3, #1 8061428: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806142c: 463a mov r2, r7 806142e: 009b lsls r3, r3, #2 8061430: 4413 add r3, r2 8061432: 461a mov r2, r3 8061434: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061438: 482d ldr r0, [pc, #180] ; (80614f0 ) 806143a: f06d fcbd bl 80cedb8 806143e: e042 b.n 80614c6 else { arm_min_f32(In, len, &fn[0], &i); 8061440: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061444: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061448: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806144c: 4828 ldr r0, [pc, #160] ; (80614f0 ) 806144e: f06d fd45 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8061452: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061456: f507 73d8 add.w r3, r7, #432 ; 0x1b0 806145a: 1d1a adds r2, r3, #4 806145c: 460b mov r3, r1 806145e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061462: 4823 ldr r0, [pc, #140] ; (80614f0 ) 8061464: f06d fdd6 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061468: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806146c: eef5 7ac0 vcmpe.f32 s15, #0.0 8061470: eef1 fa10 vmrs APSR_nzcv, fpscr 8061474: dd02 ble.n 806147c 8061476: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806147a: e003 b.n 8061484 806147c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061480: eef1 7a67 vneg.f32 s15, s15 8061484: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061488: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806148c: eef5 7ac0 vcmpe.f32 s15, #0.0 8061490: eef1 fa10 vmrs APSR_nzcv, fpscr 8061494: dd02 ble.n 806149c 8061496: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806149a: e003 b.n 80614a4 806149c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80614a0: eef1 7a67 vneg.f32 s15, s15 80614a4: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80614a8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80614ac: 1e5a subs r2, r3, #1 80614ae: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80614b2: 463a mov r2, r7 80614b4: 009b lsls r3, r3, #2 80614b6: 441a add r2, r3 80614b8: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80614bc: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80614c0: 2102 movs r1, #2 80614c2: f06d fda7 bl 80cf014 } arm_biquad_cascade_df2T_f64(&S_LP_1000, &Buff64[0], &Buff64[0], len); 80614c6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80614ca: 4a08 ldr r2, [pc, #32] ; (80614ec ) 80614cc: 4907 ldr r1, [pc, #28] ; (80614ec ) 80614ce: 480c ldr r0, [pc, #48] ; (8061500 ) 80614d0: f06d fe14 bl 80cf0fc len >>= 1; 80614d4: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80614d8: 085b lsrs r3, r3, #1 80614da: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 80614de: 2300 movs r3, #0 80614e0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80614e4: e021 b.n 806152a 80614e6: bf00 nop 80614e8: 20021d2c .word 0x20021d2c 80614ec: 20037b40 .word 0x20037b40 80614f0: 20027a20 .word 0x20027a20 80614f4: 20023eb8 .word 0x20023eb8 80614f8: 20026bdc .word 0x20026bdc 80614fc: 200278d8 .word 0x200278d8 8061500: 20068324 .word 0x20068324 Buff64[i] = Buff64[i << 1]; 8061504: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061508: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806150c: 005b lsls r3, r3, #1 806150e: 49c5 ldr r1, [pc, #788] ; (8061824 ) 8061510: 00db lsls r3, r3, #3 8061512: 440b add r3, r1 8061514: cb18 ldmia r3, {r3, r4} 8061516: 49c3 ldr r1, [pc, #780] ; (8061824 ) 8061518: 00d2 lsls r2, r2, #3 806151a: 440a add r2, r1 806151c: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8061520: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061524: 3301 adds r3, #1 8061526: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806152a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806152e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061532: 429a cmp r2, r3 8061534: d3e6 bcc.n 8061504 } //** 1250 arm_biquad_cascade_df2T_f64(&S_OKT_1250Hz, &Buff64[0], &Buff64[Ns], len); 8061536: 4bbc ldr r3, [pc, #752] ; (8061828 ) 8061538: 681b ldr r3, [r3, #0] 806153a: 00db lsls r3, r3, #3 806153c: 4ab9 ldr r2, [pc, #740] ; (8061824 ) 806153e: 441a add r2, r3 8061540: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061544: 49b7 ldr r1, [pc, #732] ; (8061824 ) 8061546: 48b9 ldr r0, [pc, #740] ; (806182c ) 8061548: f06d fdd8 bl 80cf0fc for(i = 0; i < len; i++) { 806154c: 2300 movs r3, #0 806154e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061552: e017 b.n 8061584 In[i] = (float32_t) Buff64[Ns + i]; 8061554: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061558: 4ab3 ldr r2, [pc, #716] ; (8061828 ) 806155a: 6811 ldr r1, [r2, #0] 806155c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061560: 440a add r2, r1 8061562: 49b0 ldr r1, [pc, #704] ; (8061824 ) 8061564: 00d2 lsls r2, r2, #3 8061566: 440a add r2, r1 8061568: ed92 7b00 vldr d7, [r2] 806156c: eef7 7bc7 vcvt.f32.f64 s15, d7 8061570: 4aaf ldr r2, [pc, #700] ; (8061830 ) 8061572: 009b lsls r3, r3, #2 8061574: 4413 add r3, r2 8061576: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 806157a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806157e: 3301 adds r3, #1 8061580: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061584: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061588: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806158c: 429a cmp r2, r3 806158e: d3e1 bcc.n 8061554 } if(pardata.IVS[ACC] == RMS) 8061590: 4ba8 ldr r3, [pc, #672] ; (8061834 ) 8061592: 789b ldrb r3, [r3, #2] 8061594: b2db uxtb r3, r3 8061596: 2b01 cmp r3, #1 8061598: d10e bne.n 80615b8 arm_rms_f32(In, len, &Third[k--]); 806159a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806159e: 1e5a subs r2, r3, #1 80615a0: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80615a4: 463a mov r2, r7 80615a6: 009b lsls r3, r3, #2 80615a8: 4413 add r3, r2 80615aa: 461a mov r2, r3 80615ac: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80615b0: 489f ldr r0, [pc, #636] ; (8061830 ) 80615b2: f06d fc01 bl 80cedb8 80615b6: e042 b.n 806163e else { arm_min_f32(In, len, &fn[0], &i); 80615b8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80615bc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80615c0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80615c4: 489a ldr r0, [pc, #616] ; (8061830 ) 80615c6: f06d fc89 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 80615ca: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80615ce: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80615d2: 1d1a adds r2, r3, #4 80615d4: 460b mov r3, r1 80615d6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80615da: 4895 ldr r0, [pc, #596] ; (8061830 ) 80615dc: f06d fd1a bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80615e0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80615e4: eef5 7ac0 vcmpe.f32 s15, #0.0 80615e8: eef1 fa10 vmrs APSR_nzcv, fpscr 80615ec: dd02 ble.n 80615f4 80615ee: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80615f2: e003 b.n 80615fc 80615f4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80615f8: eef1 7a67 vneg.f32 s15, s15 80615fc: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061600: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061604: eef5 7ac0 vcmpe.f32 s15, #0.0 8061608: eef1 fa10 vmrs APSR_nzcv, fpscr 806160c: dd02 ble.n 8061614 806160e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061612: e003 b.n 806161c 8061614: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061618: eef1 7a67 vneg.f32 s15, s15 806161c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8061620: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061624: 1e5a subs r2, r3, #1 8061626: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806162a: 463a mov r2, r7 806162c: 009b lsls r3, r3, #2 806162e: 441a add r2, r3 8061630: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061634: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061638: 2102 movs r1, #2 806163a: f06d fceb bl 80cf014 } //** 1000 arm_biquad_cascade_df2T_f64(&S_OKT_1000Hz, &Buff64[0], &Buff64[Ns], len); 806163e: 4b7a ldr r3, [pc, #488] ; (8061828 ) 8061640: 681b ldr r3, [r3, #0] 8061642: 00db lsls r3, r3, #3 8061644: 4a77 ldr r2, [pc, #476] ; (8061824 ) 8061646: 441a add r2, r3 8061648: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806164c: 4975 ldr r1, [pc, #468] ; (8061824 ) 806164e: 487a ldr r0, [pc, #488] ; (8061838 ) 8061650: f06d fd54 bl 80cf0fc for(i = 0; i < len; i++) { 8061654: 2300 movs r3, #0 8061656: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806165a: e017 b.n 806168c In[i] = (float32_t) Buff64[Ns + i]; 806165c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061660: 4a71 ldr r2, [pc, #452] ; (8061828 ) 8061662: 6811 ldr r1, [r2, #0] 8061664: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061668: 440a add r2, r1 806166a: 496e ldr r1, [pc, #440] ; (8061824 ) 806166c: 00d2 lsls r2, r2, #3 806166e: 440a add r2, r1 8061670: ed92 7b00 vldr d7, [r2] 8061674: eef7 7bc7 vcvt.f32.f64 s15, d7 8061678: 4a6d ldr r2, [pc, #436] ; (8061830 ) 806167a: 009b lsls r3, r3, #2 806167c: 4413 add r3, r2 806167e: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061682: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061686: 3301 adds r3, #1 8061688: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806168c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061690: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061694: 429a cmp r2, r3 8061696: d3e1 bcc.n 806165c } if(pardata.IVS[ACC] == RMS) 8061698: 4b66 ldr r3, [pc, #408] ; (8061834 ) 806169a: 789b ldrb r3, [r3, #2] 806169c: b2db uxtb r3, r3 806169e: 2b01 cmp r3, #1 80616a0: d10e bne.n 80616c0 arm_rms_f32(In, len, &Third[k--]); 80616a2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80616a6: 1e5a subs r2, r3, #1 80616a8: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80616ac: 463a mov r2, r7 80616ae: 009b lsls r3, r3, #2 80616b0: 4413 add r3, r2 80616b2: 461a mov r2, r3 80616b4: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80616b8: 485d ldr r0, [pc, #372] ; (8061830 ) 80616ba: f06d fb7d bl 80cedb8 80616be: e042 b.n 8061746 else { arm_min_f32(In, len, &fn[0], &i); 80616c0: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80616c4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80616c8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80616cc: 4858 ldr r0, [pc, #352] ; (8061830 ) 80616ce: f06d fc05 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 80616d2: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80616d6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80616da: 1d1a adds r2, r3, #4 80616dc: 460b mov r3, r1 80616de: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80616e2: 4853 ldr r0, [pc, #332] ; (8061830 ) 80616e4: f06d fc96 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80616e8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80616ec: eef5 7ac0 vcmpe.f32 s15, #0.0 80616f0: eef1 fa10 vmrs APSR_nzcv, fpscr 80616f4: dd02 ble.n 80616fc 80616f6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80616fa: e003 b.n 8061704 80616fc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061700: eef1 7a67 vneg.f32 s15, s15 8061704: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061708: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806170c: eef5 7ac0 vcmpe.f32 s15, #0.0 8061710: eef1 fa10 vmrs APSR_nzcv, fpscr 8061714: dd02 ble.n 806171c 8061716: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806171a: e003 b.n 8061724 806171c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061720: eef1 7a67 vneg.f32 s15, s15 8061724: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8061728: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806172c: 1e5a subs r2, r3, #1 806172e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061732: 463a mov r2, r7 8061734: 009b lsls r3, r3, #2 8061736: 441a add r2, r3 8061738: f507 73e6 add.w r3, r7, #460 ; 0x1cc 806173c: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061740: 2102 movs r1, #2 8061742: f06d fc67 bl 80cf014 } //** 800 arm_biquad_cascade_df2T_f64(&S_OKT_800Hz, &Buff64[0], &Buff64[Ns], len); 8061746: 4b38 ldr r3, [pc, #224] ; (8061828 ) 8061748: 681b ldr r3, [r3, #0] 806174a: 00db lsls r3, r3, #3 806174c: 4a35 ldr r2, [pc, #212] ; (8061824 ) 806174e: 441a add r2, r3 8061750: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061754: 4933 ldr r1, [pc, #204] ; (8061824 ) 8061756: 4839 ldr r0, [pc, #228] ; (806183c ) 8061758: f06d fcd0 bl 80cf0fc for(i = 0; i < len; i++) { 806175c: 2300 movs r3, #0 806175e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061762: e017 b.n 8061794 In[i] = (float32_t) Buff64[Ns + i]; 8061764: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061768: 4a2f ldr r2, [pc, #188] ; (8061828 ) 806176a: 6811 ldr r1, [r2, #0] 806176c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061770: 440a add r2, r1 8061772: 492c ldr r1, [pc, #176] ; (8061824 ) 8061774: 00d2 lsls r2, r2, #3 8061776: 440a add r2, r1 8061778: ed92 7b00 vldr d7, [r2] 806177c: eef7 7bc7 vcvt.f32.f64 s15, d7 8061780: 4a2b ldr r2, [pc, #172] ; (8061830 ) 8061782: 009b lsls r3, r3, #2 8061784: 4413 add r3, r2 8061786: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 806178a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806178e: 3301 adds r3, #1 8061790: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061794: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061798: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806179c: 429a cmp r2, r3 806179e: d3e1 bcc.n 8061764 } if(pardata.IVS[ACC] == RMS) 80617a0: 4b24 ldr r3, [pc, #144] ; (8061834 ) 80617a2: 789b ldrb r3, [r3, #2] 80617a4: b2db uxtb r3, r3 80617a6: 2b01 cmp r3, #1 80617a8: d10e bne.n 80617c8 arm_rms_f32(In, len, &Third[k--]); 80617aa: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80617ae: 1e5a subs r2, r3, #1 80617b0: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80617b4: 463a mov r2, r7 80617b6: 009b lsls r3, r3, #2 80617b8: 4413 add r3, r2 80617ba: 461a mov r2, r3 80617bc: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80617c0: 481b ldr r0, [pc, #108] ; (8061830 ) 80617c2: f06d faf9 bl 80cedb8 80617c6: e050 b.n 806186a else { arm_min_f32(In, len, &fn[0], &i); 80617c8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80617cc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80617d0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80617d4: 4816 ldr r0, [pc, #88] ; (8061830 ) 80617d6: f06d fb81 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 80617da: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80617de: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80617e2: 1d1a adds r2, r3, #4 80617e4: 460b mov r3, r1 80617e6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80617ea: 4811 ldr r0, [pc, #68] ; (8061830 ) 80617ec: f06d fc12 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80617f0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80617f4: eef5 7ac0 vcmpe.f32 s15, #0.0 80617f8: eef1 fa10 vmrs APSR_nzcv, fpscr 80617fc: dd02 ble.n 8061804 80617fe: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061802: e003 b.n 806180c 8061804: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061808: eef1 7a67 vneg.f32 s15, s15 806180c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061810: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061814: eef5 7ac0 vcmpe.f32 s15, #0.0 8061818: eef1 fa10 vmrs APSR_nzcv, fpscr 806181c: dd10 ble.n 8061840 806181e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061822: e011 b.n 8061848 8061824: 20037b40 .word 0x20037b40 8061828: 20021d2c .word 0x20021d2c 806182c: 20068470 .word 0x20068470 8061830: 20027a20 .word 0x20027a20 8061834: 20023eb8 .word 0x20023eb8 8061838: 20026218 .word 0x20026218 806183c: 200684b0 .word 0x200684b0 8061840: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061844: eef1 7a67 vneg.f32 s15, s15 8061848: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 806184c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061850: 1e5a subs r2, r3, #1 8061852: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061856: 463a mov r2, r7 8061858: 009b lsls r3, r3, #2 806185a: 441a add r2, r3 806185c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061860: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061864: 2102 movs r1, #2 8061866: f06d fbd5 bl 80cf014 } arm_biquad_cascade_df2T_f64(&S_LP_500, &Buff64[0], &Buff64[0], len); 806186a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806186e: 4acf ldr r2, [pc, #828] ; (8061bac ) 8061870: 49ce ldr r1, [pc, #824] ; (8061bac ) 8061872: 48cf ldr r0, [pc, #828] ; (8061bb0 ) 8061874: f06d fc42 bl 80cf0fc len >>= 1; 8061878: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806187c: 085b lsrs r3, r3, #1 806187e: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8061882: 2300 movs r3, #0 8061884: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061888: e012 b.n 80618b0 Buff64[i] = Buff64[i << 1]; 806188a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806188e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061892: 005b lsls r3, r3, #1 8061894: 49c5 ldr r1, [pc, #788] ; (8061bac ) 8061896: 00db lsls r3, r3, #3 8061898: 440b add r3, r1 806189a: cb18 ldmia r3, {r3, r4} 806189c: 49c3 ldr r1, [pc, #780] ; (8061bac ) 806189e: 00d2 lsls r2, r2, #3 80618a0: 440a add r2, r1 80618a2: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 80618a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80618aa: 3301 adds r3, #1 80618ac: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80618b0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80618b4: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80618b8: 429a cmp r2, r3 80618ba: d3e6 bcc.n 806188a } //** 630 arm_biquad_cascade_df2T_f64(&S_OKT_630Hz, &Buff64[0], &Buff64[Ns], len); 80618bc: 4bbd ldr r3, [pc, #756] ; (8061bb4 ) 80618be: 681b ldr r3, [r3, #0] 80618c0: 00db lsls r3, r3, #3 80618c2: 4aba ldr r2, [pc, #744] ; (8061bac ) 80618c4: 441a add r2, r3 80618c6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80618ca: 49b8 ldr r1, [pc, #736] ; (8061bac ) 80618cc: 48ba ldr r0, [pc, #744] ; (8061bb8 ) 80618ce: f06d fc15 bl 80cf0fc for(i = 0; i < len; i++) { 80618d2: 2300 movs r3, #0 80618d4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80618d8: e017 b.n 806190a In[i] = (float32_t) Buff64[Ns + i]; 80618da: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80618de: 4ab5 ldr r2, [pc, #724] ; (8061bb4 ) 80618e0: 6811 ldr r1, [r2, #0] 80618e2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80618e6: 440a add r2, r1 80618e8: 49b0 ldr r1, [pc, #704] ; (8061bac ) 80618ea: 00d2 lsls r2, r2, #3 80618ec: 440a add r2, r1 80618ee: ed92 7b00 vldr d7, [r2] 80618f2: eef7 7bc7 vcvt.f32.f64 s15, d7 80618f6: 4ab1 ldr r2, [pc, #708] ; (8061bbc ) 80618f8: 009b lsls r3, r3, #2 80618fa: 4413 add r3, r2 80618fc: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061900: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061904: 3301 adds r3, #1 8061906: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806190a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806190e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061912: 429a cmp r2, r3 8061914: d3e1 bcc.n 80618da } if(pardata.IVS[ACC] == RMS) 8061916: 4baa ldr r3, [pc, #680] ; (8061bc0 ) 8061918: 789b ldrb r3, [r3, #2] 806191a: b2db uxtb r3, r3 806191c: 2b01 cmp r3, #1 806191e: d10e bne.n 806193e arm_rms_f32(In, len, &Third[k--]); 8061920: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061924: 1e5a subs r2, r3, #1 8061926: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806192a: 463a mov r2, r7 806192c: 009b lsls r3, r3, #2 806192e: 4413 add r3, r2 8061930: 461a mov r2, r3 8061932: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061936: 48a1 ldr r0, [pc, #644] ; (8061bbc ) 8061938: f06d fa3e bl 80cedb8 806193c: e042 b.n 80619c4 else { arm_min_f32(In, len, &fn[0], &i); 806193e: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061942: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061946: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806194a: 489c ldr r0, [pc, #624] ; (8061bbc ) 806194c: f06d fac6 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8061950: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061954: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061958: 1d1a adds r2, r3, #4 806195a: 460b mov r3, r1 806195c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061960: 4896 ldr r0, [pc, #600] ; (8061bbc ) 8061962: f06d fb57 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061966: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806196a: eef5 7ac0 vcmpe.f32 s15, #0.0 806196e: eef1 fa10 vmrs APSR_nzcv, fpscr 8061972: dd02 ble.n 806197a 8061974: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061978: e003 b.n 8061982 806197a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806197e: eef1 7a67 vneg.f32 s15, s15 8061982: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061986: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806198a: eef5 7ac0 vcmpe.f32 s15, #0.0 806198e: eef1 fa10 vmrs APSR_nzcv, fpscr 8061992: dd02 ble.n 806199a 8061994: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061998: e003 b.n 80619a2 806199a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806199e: eef1 7a67 vneg.f32 s15, s15 80619a2: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80619a6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80619aa: 1e5a subs r2, r3, #1 80619ac: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80619b0: 463a mov r2, r7 80619b2: 009b lsls r3, r3, #2 80619b4: 441a add r2, r3 80619b6: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80619ba: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80619be: 2102 movs r1, #2 80619c0: f06d fb28 bl 80cf014 } //** 500 arm_biquad_cascade_df2T_f64(&S_OKT_500Hz, &Buff64[0], &Buff64[Ns], len); 80619c4: 4b7b ldr r3, [pc, #492] ; (8061bb4 ) 80619c6: 681b ldr r3, [r3, #0] 80619c8: 00db lsls r3, r3, #3 80619ca: 4a78 ldr r2, [pc, #480] ; (8061bac ) 80619cc: 441a add r2, r3 80619ce: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80619d2: 4976 ldr r1, [pc, #472] ; (8061bac ) 80619d4: 487b ldr r0, [pc, #492] ; (8061bc4 ) 80619d6: f06d fb91 bl 80cf0fc for(i = 0; i < len; i++) { 80619da: 2300 movs r3, #0 80619dc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80619e0: e017 b.n 8061a12 In[i] = (float32_t) Buff64[Ns + i]; 80619e2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80619e6: 4a73 ldr r2, [pc, #460] ; (8061bb4 ) 80619e8: 6811 ldr r1, [r2, #0] 80619ea: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80619ee: 440a add r2, r1 80619f0: 496e ldr r1, [pc, #440] ; (8061bac ) 80619f2: 00d2 lsls r2, r2, #3 80619f4: 440a add r2, r1 80619f6: ed92 7b00 vldr d7, [r2] 80619fa: eef7 7bc7 vcvt.f32.f64 s15, d7 80619fe: 4a6f ldr r2, [pc, #444] ; (8061bbc ) 8061a00: 009b lsls r3, r3, #2 8061a02: 4413 add r3, r2 8061a04: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061a08: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061a0c: 3301 adds r3, #1 8061a0e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061a12: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061a16: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061a1a: 429a cmp r2, r3 8061a1c: d3e1 bcc.n 80619e2 } if(pardata.IVS[ACC] == RMS) 8061a1e: 4b68 ldr r3, [pc, #416] ; (8061bc0 ) 8061a20: 789b ldrb r3, [r3, #2] 8061a22: b2db uxtb r3, r3 8061a24: 2b01 cmp r3, #1 8061a26: d10e bne.n 8061a46 arm_rms_f32(In, len, &Third[k--]); 8061a28: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061a2c: 1e5a subs r2, r3, #1 8061a2e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061a32: 463a mov r2, r7 8061a34: 009b lsls r3, r3, #2 8061a36: 4413 add r3, r2 8061a38: 461a mov r2, r3 8061a3a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061a3e: 485f ldr r0, [pc, #380] ; (8061bbc ) 8061a40: f06d f9ba bl 80cedb8 8061a44: e042 b.n 8061acc else { arm_min_f32(In, len, &fn[0], &i); 8061a46: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061a4a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061a4e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061a52: 485a ldr r0, [pc, #360] ; (8061bbc ) 8061a54: f06d fa42 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8061a58: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061a5c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061a60: 1d1a adds r2, r3, #4 8061a62: 460b mov r3, r1 8061a64: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061a68: 4854 ldr r0, [pc, #336] ; (8061bbc ) 8061a6a: f06d fad3 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061a6e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061a72: eef5 7ac0 vcmpe.f32 s15, #0.0 8061a76: eef1 fa10 vmrs APSR_nzcv, fpscr 8061a7a: dd02 ble.n 8061a82 8061a7c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061a80: e003 b.n 8061a8a 8061a82: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061a86: eef1 7a67 vneg.f32 s15, s15 8061a8a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061a8e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061a92: eef5 7ac0 vcmpe.f32 s15, #0.0 8061a96: eef1 fa10 vmrs APSR_nzcv, fpscr 8061a9a: dd02 ble.n 8061aa2 8061a9c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061aa0: e003 b.n 8061aaa 8061aa2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061aa6: eef1 7a67 vneg.f32 s15, s15 8061aaa: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8061aae: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061ab2: 1e5a subs r2, r3, #1 8061ab4: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061ab8: 463a mov r2, r7 8061aba: 009b lsls r3, r3, #2 8061abc: 441a add r2, r3 8061abe: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061ac2: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061ac6: 2102 movs r1, #2 8061ac8: f06d faa4 bl 80cf014 } //** 400 arm_biquad_cascade_df2T_f64(&S_OKT_400Hz, &Buff64[0], &Buff64[Ns], len); 8061acc: 4b39 ldr r3, [pc, #228] ; (8061bb4 ) 8061ace: 681b ldr r3, [r3, #0] 8061ad0: 00db lsls r3, r3, #3 8061ad2: 4a36 ldr r2, [pc, #216] ; (8061bac ) 8061ad4: 441a add r2, r3 8061ad6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061ada: 4934 ldr r1, [pc, #208] ; (8061bac ) 8061adc: 483a ldr r0, [pc, #232] ; (8061bc8 ) 8061ade: f06d fb0d bl 80cf0fc for(i = 0; i < len; i++) { 8061ae2: 2300 movs r3, #0 8061ae4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061ae8: e017 b.n 8061b1a In[i] = (float32_t) Buff64[Ns + i]; 8061aea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061aee: 4a31 ldr r2, [pc, #196] ; (8061bb4 ) 8061af0: 6811 ldr r1, [r2, #0] 8061af2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061af6: 440a add r2, r1 8061af8: 492c ldr r1, [pc, #176] ; (8061bac ) 8061afa: 00d2 lsls r2, r2, #3 8061afc: 440a add r2, r1 8061afe: ed92 7b00 vldr d7, [r2] 8061b02: eef7 7bc7 vcvt.f32.f64 s15, d7 8061b06: 4a2d ldr r2, [pc, #180] ; (8061bbc ) 8061b08: 009b lsls r3, r3, #2 8061b0a: 4413 add r3, r2 8061b0c: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061b10: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061b14: 3301 adds r3, #1 8061b16: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061b1a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061b1e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061b22: 429a cmp r2, r3 8061b24: d3e1 bcc.n 8061aea } if(pardata.IVS[ACC] == RMS) 8061b26: 4b26 ldr r3, [pc, #152] ; (8061bc0 ) 8061b28: 789b ldrb r3, [r3, #2] 8061b2a: b2db uxtb r3, r3 8061b2c: 2b01 cmp r3, #1 8061b2e: d10e bne.n 8061b4e arm_rms_f32(In, len, &Third[k--]); 8061b30: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061b34: 1e5a subs r2, r3, #1 8061b36: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061b3a: 463a mov r2, r7 8061b3c: 009b lsls r3, r3, #2 8061b3e: 4413 add r3, r2 8061b40: 461a mov r2, r3 8061b42: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061b46: 481d ldr r0, [pc, #116] ; (8061bbc ) 8061b48: f06d f936 bl 80cedb8 8061b4c: e053 b.n 8061bf6 else { arm_min_f32(In, len, &fn[0], &i); 8061b4e: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061b52: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061b56: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061b5a: 4818 ldr r0, [pc, #96] ; (8061bbc ) 8061b5c: f06d f9be bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8061b60: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061b64: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061b68: 1d1a adds r2, r3, #4 8061b6a: 460b mov r3, r1 8061b6c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061b70: 4812 ldr r0, [pc, #72] ; (8061bbc ) 8061b72: f06d fa4f bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061b76: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061b7a: eef5 7ac0 vcmpe.f32 s15, #0.0 8061b7e: eef1 fa10 vmrs APSR_nzcv, fpscr 8061b82: dd02 ble.n 8061b8a 8061b84: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061b88: e003 b.n 8061b92 8061b8a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061b8e: eef1 7a67 vneg.f32 s15, s15 8061b92: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061b96: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061b9a: eef5 7ac0 vcmpe.f32 s15, #0.0 8061b9e: eef1 fa10 vmrs APSR_nzcv, fpscr 8061ba2: dd13 ble.n 8061bcc 8061ba4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061ba8: e014 b.n 8061bd4 8061baa: bf00 nop 8061bac: 20037b40 .word 0x20037b40 8061bb0: 200279bc .word 0x200279bc 8061bb4: 20021d2c .word 0x20021d2c 8061bb8: 20025ff0 .word 0x20025ff0 8061bbc: 20027a20 .word 0x20027a20 8061bc0: 20023eb8 .word 0x20023eb8 8061bc4: 20057b4c .word 0x20057b4c 8061bc8: 200260a4 .word 0x200260a4 8061bcc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061bd0: eef1 7a67 vneg.f32 s15, s15 8061bd4: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8061bd8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061bdc: 1e5a subs r2, r3, #1 8061bde: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061be2: 463a mov r2, r7 8061be4: 009b lsls r3, r3, #2 8061be6: 441a add r2, r3 8061be8: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061bec: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061bf0: 2102 movs r1, #2 8061bf2: f06d fa0f bl 80cf014 } arm_biquad_cascade_df2T_f64(&S_LP_250, &Buff64[0], &Buff64[0], len); 8061bf6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061bfa: 4acf ldr r2, [pc, #828] ; (8061f38 ) 8061bfc: 49ce ldr r1, [pc, #824] ; (8061f38 ) 8061bfe: 48cf ldr r0, [pc, #828] ; (8061f3c ) 8061c00: f06d fa7c bl 80cf0fc len >>= 1; 8061c04: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061c08: 085b lsrs r3, r3, #1 8061c0a: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8061c0e: 2300 movs r3, #0 8061c10: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061c14: e012 b.n 8061c3c Buff64[i] = Buff64[i << 1]; 8061c16: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061c1a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061c1e: 005b lsls r3, r3, #1 8061c20: 49c5 ldr r1, [pc, #788] ; (8061f38 ) 8061c22: 00db lsls r3, r3, #3 8061c24: 440b add r3, r1 8061c26: cb18 ldmia r3, {r3, r4} 8061c28: 49c3 ldr r1, [pc, #780] ; (8061f38 ) 8061c2a: 00d2 lsls r2, r2, #3 8061c2c: 440a add r2, r1 8061c2e: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8061c32: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061c36: 3301 adds r3, #1 8061c38: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061c3c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061c40: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061c44: 429a cmp r2, r3 8061c46: d3e6 bcc.n 8061c16 } //** 315 arm_biquad_cascade_df2T_f64(&S_OKT_315Hz, &Buff64[0], &Buff64[Ns], len); 8061c48: 4bbd ldr r3, [pc, #756] ; (8061f40 ) 8061c4a: 681b ldr r3, [r3, #0] 8061c4c: 00db lsls r3, r3, #3 8061c4e: 4aba ldr r2, [pc, #744] ; (8061f38 ) 8061c50: 441a add r2, r3 8061c52: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061c56: 49b8 ldr r1, [pc, #736] ; (8061f38 ) 8061c58: 48ba ldr r0, [pc, #744] ; (8061f44 ) 8061c5a: f06d fa4f bl 80cf0fc for(i = 0; i < len; i++) { 8061c5e: 2300 movs r3, #0 8061c60: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061c64: e017 b.n 8061c96 In[i] = (float32_t) Buff64[Ns + i]; 8061c66: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061c6a: 4ab5 ldr r2, [pc, #724] ; (8061f40 ) 8061c6c: 6811 ldr r1, [r2, #0] 8061c6e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061c72: 440a add r2, r1 8061c74: 49b0 ldr r1, [pc, #704] ; (8061f38 ) 8061c76: 00d2 lsls r2, r2, #3 8061c78: 440a add r2, r1 8061c7a: ed92 7b00 vldr d7, [r2] 8061c7e: eef7 7bc7 vcvt.f32.f64 s15, d7 8061c82: 4ab1 ldr r2, [pc, #708] ; (8061f48 ) 8061c84: 009b lsls r3, r3, #2 8061c86: 4413 add r3, r2 8061c88: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061c8c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061c90: 3301 adds r3, #1 8061c92: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061c96: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061c9a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061c9e: 429a cmp r2, r3 8061ca0: d3e1 bcc.n 8061c66 } if(pardata.IVS[ACC] == RMS) 8061ca2: 4baa ldr r3, [pc, #680] ; (8061f4c ) 8061ca4: 789b ldrb r3, [r3, #2] 8061ca6: b2db uxtb r3, r3 8061ca8: 2b01 cmp r3, #1 8061caa: d10e bne.n 8061cca arm_rms_f32(In, len, &Third[k--]); 8061cac: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061cb0: 1e5a subs r2, r3, #1 8061cb2: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061cb6: 463a mov r2, r7 8061cb8: 009b lsls r3, r3, #2 8061cba: 4413 add r3, r2 8061cbc: 461a mov r2, r3 8061cbe: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061cc2: 48a1 ldr r0, [pc, #644] ; (8061f48 ) 8061cc4: f06d f878 bl 80cedb8 8061cc8: e042 b.n 8061d50 else { arm_min_f32(In, len, &fn[0], &i); 8061cca: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061cce: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061cd2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061cd6: 489c ldr r0, [pc, #624] ; (8061f48 ) 8061cd8: f06d f900 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8061cdc: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061ce0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061ce4: 1d1a adds r2, r3, #4 8061ce6: 460b mov r3, r1 8061ce8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061cec: 4896 ldr r0, [pc, #600] ; (8061f48 ) 8061cee: f06d f991 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061cf2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061cf6: eef5 7ac0 vcmpe.f32 s15, #0.0 8061cfa: eef1 fa10 vmrs APSR_nzcv, fpscr 8061cfe: dd02 ble.n 8061d06 8061d00: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061d04: e003 b.n 8061d0e 8061d06: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061d0a: eef1 7a67 vneg.f32 s15, s15 8061d0e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061d12: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061d16: eef5 7ac0 vcmpe.f32 s15, #0.0 8061d1a: eef1 fa10 vmrs APSR_nzcv, fpscr 8061d1e: dd02 ble.n 8061d26 8061d20: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061d24: e003 b.n 8061d2e 8061d26: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061d2a: eef1 7a67 vneg.f32 s15, s15 8061d2e: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8061d32: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061d36: 1e5a subs r2, r3, #1 8061d38: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061d3c: 463a mov r2, r7 8061d3e: 009b lsls r3, r3, #2 8061d40: 441a add r2, r3 8061d42: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061d46: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061d4a: 2102 movs r1, #2 8061d4c: f06d f962 bl 80cf014 } //** 250 arm_biquad_cascade_df2T_f64(&S_OKT_250Hz, &Buff64[0], &Buff64[Ns], len); 8061d50: 4b7b ldr r3, [pc, #492] ; (8061f40 ) 8061d52: 681b ldr r3, [r3, #0] 8061d54: 00db lsls r3, r3, #3 8061d56: 4a78 ldr r2, [pc, #480] ; (8061f38 ) 8061d58: 441a add r2, r3 8061d5a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061d5e: 4976 ldr r1, [pc, #472] ; (8061f38 ) 8061d60: 487b ldr r0, [pc, #492] ; (8061f50 ) 8061d62: f06d f9cb bl 80cf0fc for(i = 0; i < len; i++) { 8061d66: 2300 movs r3, #0 8061d68: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061d6c: e017 b.n 8061d9e In[i] = (float32_t) Buff64[Ns + i]; 8061d6e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061d72: 4a73 ldr r2, [pc, #460] ; (8061f40 ) 8061d74: 6811 ldr r1, [r2, #0] 8061d76: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061d7a: 440a add r2, r1 8061d7c: 496e ldr r1, [pc, #440] ; (8061f38 ) 8061d7e: 00d2 lsls r2, r2, #3 8061d80: 440a add r2, r1 8061d82: ed92 7b00 vldr d7, [r2] 8061d86: eef7 7bc7 vcvt.f32.f64 s15, d7 8061d8a: 4a6f ldr r2, [pc, #444] ; (8061f48 ) 8061d8c: 009b lsls r3, r3, #2 8061d8e: 4413 add r3, r2 8061d90: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061d94: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061d98: 3301 adds r3, #1 8061d9a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061d9e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061da2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061da6: 429a cmp r2, r3 8061da8: d3e1 bcc.n 8061d6e } if(pardata.IVS[ACC] == RMS) 8061daa: 4b68 ldr r3, [pc, #416] ; (8061f4c ) 8061dac: 789b ldrb r3, [r3, #2] 8061dae: b2db uxtb r3, r3 8061db0: 2b01 cmp r3, #1 8061db2: d10e bne.n 8061dd2 arm_rms_f32(In, len, &Third[k--]); 8061db4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061db8: 1e5a subs r2, r3, #1 8061dba: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061dbe: 463a mov r2, r7 8061dc0: 009b lsls r3, r3, #2 8061dc2: 4413 add r3, r2 8061dc4: 461a mov r2, r3 8061dc6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061dca: 485f ldr r0, [pc, #380] ; (8061f48 ) 8061dcc: f06c fff4 bl 80cedb8 8061dd0: e042 b.n 8061e58 else { arm_min_f32(In, len, &fn[0], &i); 8061dd2: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061dd6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061dda: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061dde: 485a ldr r0, [pc, #360] ; (8061f48 ) 8061de0: f06d f87c bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8061de4: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061de8: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061dec: 1d1a adds r2, r3, #4 8061dee: 460b mov r3, r1 8061df0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061df4: 4854 ldr r0, [pc, #336] ; (8061f48 ) 8061df6: f06d f90d bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061dfa: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061dfe: eef5 7ac0 vcmpe.f32 s15, #0.0 8061e02: eef1 fa10 vmrs APSR_nzcv, fpscr 8061e06: dd02 ble.n 8061e0e 8061e08: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061e0c: e003 b.n 8061e16 8061e0e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061e12: eef1 7a67 vneg.f32 s15, s15 8061e16: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061e1a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061e1e: eef5 7ac0 vcmpe.f32 s15, #0.0 8061e22: eef1 fa10 vmrs APSR_nzcv, fpscr 8061e26: dd02 ble.n 8061e2e 8061e28: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061e2c: e003 b.n 8061e36 8061e2e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061e32: eef1 7a67 vneg.f32 s15, s15 8061e36: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8061e3a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061e3e: 1e5a subs r2, r3, #1 8061e40: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061e44: 463a mov r2, r7 8061e46: 009b lsls r3, r3, #2 8061e48: 441a add r2, r3 8061e4a: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061e4e: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061e52: 2102 movs r1, #2 8061e54: f06d f8de bl 80cf014 } //** 200 arm_biquad_cascade_df2T_f64(&S_OKT_200Hz, &Buff64[0], &Buff64[Ns], len); 8061e58: 4b39 ldr r3, [pc, #228] ; (8061f40 ) 8061e5a: 681b ldr r3, [r3, #0] 8061e5c: 00db lsls r3, r3, #3 8061e5e: 4a36 ldr r2, [pc, #216] ; (8061f38 ) 8061e60: 441a add r2, r3 8061e62: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061e66: 4934 ldr r1, [pc, #208] ; (8061f38 ) 8061e68: 483a ldr r0, [pc, #232] ; (8061f54 ) 8061e6a: f06d f947 bl 80cf0fc for(i = 0; i < len; i++) { 8061e6e: 2300 movs r3, #0 8061e70: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061e74: e017 b.n 8061ea6 In[i] = (float32_t) Buff64[Ns + i]; 8061e76: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061e7a: 4a31 ldr r2, [pc, #196] ; (8061f40 ) 8061e7c: 6811 ldr r1, [r2, #0] 8061e7e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061e82: 440a add r2, r1 8061e84: 492c ldr r1, [pc, #176] ; (8061f38 ) 8061e86: 00d2 lsls r2, r2, #3 8061e88: 440a add r2, r1 8061e8a: ed92 7b00 vldr d7, [r2] 8061e8e: eef7 7bc7 vcvt.f32.f64 s15, d7 8061e92: 4a2d ldr r2, [pc, #180] ; (8061f48 ) 8061e94: 009b lsls r3, r3, #2 8061e96: 4413 add r3, r2 8061e98: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061e9c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061ea0: 3301 adds r3, #1 8061ea2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061ea6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061eaa: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061eae: 429a cmp r2, r3 8061eb0: d3e1 bcc.n 8061e76 } if(pardata.IVS[ACC] == RMS) 8061eb2: 4b26 ldr r3, [pc, #152] ; (8061f4c ) 8061eb4: 789b ldrb r3, [r3, #2] 8061eb6: b2db uxtb r3, r3 8061eb8: 2b01 cmp r3, #1 8061eba: d10e bne.n 8061eda arm_rms_f32(In, len, &Third[k--]); 8061ebc: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061ec0: 1e5a subs r2, r3, #1 8061ec2: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061ec6: 463a mov r2, r7 8061ec8: 009b lsls r3, r3, #2 8061eca: 4413 add r3, r2 8061ecc: 461a mov r2, r3 8061ece: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061ed2: 481d ldr r0, [pc, #116] ; (8061f48 ) 8061ed4: f06c ff70 bl 80cedb8 8061ed8: e053 b.n 8061f82 else { arm_min_f32(In, len, &fn[0], &i); 8061eda: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061ede: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061ee2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061ee6: 4818 ldr r0, [pc, #96] ; (8061f48 ) 8061ee8: f06c fff8 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8061eec: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061ef0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061ef4: 1d1a adds r2, r3, #4 8061ef6: 460b mov r3, r1 8061ef8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061efc: 4812 ldr r0, [pc, #72] ; (8061f48 ) 8061efe: f06d f889 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061f02: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061f06: eef5 7ac0 vcmpe.f32 s15, #0.0 8061f0a: eef1 fa10 vmrs APSR_nzcv, fpscr 8061f0e: dd02 ble.n 8061f16 8061f10: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061f14: e003 b.n 8061f1e 8061f16: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061f1a: eef1 7a67 vneg.f32 s15, s15 8061f1e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061f22: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061f26: eef5 7ac0 vcmpe.f32 s15, #0.0 8061f2a: eef1 fa10 vmrs APSR_nzcv, fpscr 8061f2e: dd13 ble.n 8061f58 8061f30: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061f34: e014 b.n 8061f60 8061f36: bf00 nop 8061f38: 20037b40 .word 0x20037b40 8061f3c: 200685a8 .word 0x200685a8 8061f40: 20021d2c .word 0x20021d2c 8061f44: 20026474 .word 0x20026474 8061f48: 20027a20 .word 0x20027a20 8061f4c: 20023eb8 .word 0x20023eb8 8061f50: 200685b4 .word 0x200685b4 8061f54: 200265f0 .word 0x200265f0 8061f58: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061f5c: eef1 7a67 vneg.f32 s15, s15 8061f60: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8061f64: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061f68: 1e5a subs r2, r3, #1 8061f6a: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061f6e: 463a mov r2, r7 8061f70: 009b lsls r3, r3, #2 8061f72: 441a add r2, r3 8061f74: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061f78: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061f7c: 2102 movs r1, #2 8061f7e: f06d f849 bl 80cf014 } arm_biquad_cascade_df2T_f64(&S_LP_125, &Buff64[0], &Buff64[0], len); 8061f82: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061f86: 4acf ldr r2, [pc, #828] ; (80622c4 ) 8061f88: 49ce ldr r1, [pc, #824] ; (80622c4 ) 8061f8a: 48cf ldr r0, [pc, #828] ; (80622c8 ) 8061f8c: f06d f8b6 bl 80cf0fc len >>= 1; 8061f90: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061f94: 085b lsrs r3, r3, #1 8061f96: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8061f9a: 2300 movs r3, #0 8061f9c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061fa0: e012 b.n 8061fc8 Buff64[i] = Buff64[i << 1]; 8061fa2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061fa6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061faa: 005b lsls r3, r3, #1 8061fac: 49c5 ldr r1, [pc, #788] ; (80622c4 ) 8061fae: 00db lsls r3, r3, #3 8061fb0: 440b add r3, r1 8061fb2: cb18 ldmia r3, {r3, r4} 8061fb4: 49c3 ldr r1, [pc, #780] ; (80622c4 ) 8061fb6: 00d2 lsls r2, r2, #3 8061fb8: 440a add r2, r1 8061fba: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8061fbe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061fc2: 3301 adds r3, #1 8061fc4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061fc8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061fcc: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061fd0: 429a cmp r2, r3 8061fd2: d3e6 bcc.n 8061fa2 } //** 160 arm_biquad_cascade_df2T_f64(&S_OKT_160Hz, &Buff64[0], &Buff64[Ns], len); 8061fd4: 4bbd ldr r3, [pc, #756] ; (80622cc ) 8061fd6: 681b ldr r3, [r3, #0] 8061fd8: 00db lsls r3, r3, #3 8061fda: 4aba ldr r2, [pc, #744] ; (80622c4 ) 8061fdc: 441a add r2, r3 8061fde: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061fe2: 49b8 ldr r1, [pc, #736] ; (80622c4 ) 8061fe4: 48ba ldr r0, [pc, #744] ; (80622d0 ) 8061fe6: f06d f889 bl 80cf0fc for(i = 0; i < len; i++) { 8061fea: 2300 movs r3, #0 8061fec: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061ff0: e017 b.n 8062022 In[i] = (float32_t) Buff64[Ns + i]; 8061ff2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061ff6: 4ab5 ldr r2, [pc, #724] ; (80622cc ) 8061ff8: 6811 ldr r1, [r2, #0] 8061ffa: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061ffe: 440a add r2, r1 8062000: 49b0 ldr r1, [pc, #704] ; (80622c4 ) 8062002: 00d2 lsls r2, r2, #3 8062004: 440a add r2, r1 8062006: ed92 7b00 vldr d7, [r2] 806200a: eef7 7bc7 vcvt.f32.f64 s15, d7 806200e: 4ab1 ldr r2, [pc, #708] ; (80622d4 ) 8062010: 009b lsls r3, r3, #2 8062012: 4413 add r3, r2 8062014: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062018: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806201c: 3301 adds r3, #1 806201e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062022: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062026: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806202a: 429a cmp r2, r3 806202c: d3e1 bcc.n 8061ff2 } if(pardata.IVS[ACC] == RMS) 806202e: 4baa ldr r3, [pc, #680] ; (80622d8 ) 8062030: 789b ldrb r3, [r3, #2] 8062032: b2db uxtb r3, r3 8062034: 2b01 cmp r3, #1 8062036: d10e bne.n 8062056 arm_rms_f32(In, len, &Third[k--]); 8062038: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806203c: 1e5a subs r2, r3, #1 806203e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8062042: 463a mov r2, r7 8062044: 009b lsls r3, r3, #2 8062046: 4413 add r3, r2 8062048: 461a mov r2, r3 806204a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806204e: 48a1 ldr r0, [pc, #644] ; (80622d4 ) 8062050: f06c feb2 bl 80cedb8 8062054: e042 b.n 80620dc else { arm_min_f32(In, len, &fn[0], &i); 8062056: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806205a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 806205e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062062: 489c ldr r0, [pc, #624] ; (80622d4 ) 8062064: f06c ff3a bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8062068: f507 71e6 add.w r1, r7, #460 ; 0x1cc 806206c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062070: 1d1a adds r2, r3, #4 8062072: 460b mov r3, r1 8062074: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062078: 4896 ldr r0, [pc, #600] ; (80622d4 ) 806207a: f06c ffcb bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806207e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062082: eef5 7ac0 vcmpe.f32 s15, #0.0 8062086: eef1 fa10 vmrs APSR_nzcv, fpscr 806208a: dd02 ble.n 8062092 806208c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062090: e003 b.n 806209a 8062092: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062096: eef1 7a67 vneg.f32 s15, s15 806209a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 806209e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80620a2: eef5 7ac0 vcmpe.f32 s15, #0.0 80620a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80620aa: dd02 ble.n 80620b2 80620ac: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80620b0: e003 b.n 80620ba 80620b2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80620b6: eef1 7a67 vneg.f32 s15, s15 80620ba: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80620be: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80620c2: 1e5a subs r2, r3, #1 80620c4: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80620c8: 463a mov r2, r7 80620ca: 009b lsls r3, r3, #2 80620cc: 441a add r2, r3 80620ce: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80620d2: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80620d6: 2102 movs r1, #2 80620d8: f06c ff9c bl 80cf014 } //** 125 arm_biquad_cascade_df2T_f64(&S_OKT_125Hz, &Buff64[0], &Buff64[Ns], len); 80620dc: 4b7b ldr r3, [pc, #492] ; (80622cc ) 80620de: 681b ldr r3, [r3, #0] 80620e0: 00db lsls r3, r3, #3 80620e2: 4a78 ldr r2, [pc, #480] ; (80622c4 ) 80620e4: 441a add r2, r3 80620e6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80620ea: 4976 ldr r1, [pc, #472] ; (80622c4 ) 80620ec: 487b ldr r0, [pc, #492] ; (80622dc ) 80620ee: f06d f805 bl 80cf0fc for(i = 0; i < len; i++) { 80620f2: 2300 movs r3, #0 80620f4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80620f8: e017 b.n 806212a In[i] = (float32_t) Buff64[Ns + i]; 80620fa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80620fe: 4a73 ldr r2, [pc, #460] ; (80622cc ) 8062100: 6811 ldr r1, [r2, #0] 8062102: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062106: 440a add r2, r1 8062108: 496e ldr r1, [pc, #440] ; (80622c4 ) 806210a: 00d2 lsls r2, r2, #3 806210c: 440a add r2, r1 806210e: ed92 7b00 vldr d7, [r2] 8062112: eef7 7bc7 vcvt.f32.f64 s15, d7 8062116: 4a6f ldr r2, [pc, #444] ; (80622d4 ) 8062118: 009b lsls r3, r3, #2 806211a: 4413 add r3, r2 806211c: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062120: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062124: 3301 adds r3, #1 8062126: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806212a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806212e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062132: 429a cmp r2, r3 8062134: d3e1 bcc.n 80620fa } if(pardata.IVS[ACC] == RMS) 8062136: 4b68 ldr r3, [pc, #416] ; (80622d8 ) 8062138: 789b ldrb r3, [r3, #2] 806213a: b2db uxtb r3, r3 806213c: 2b01 cmp r3, #1 806213e: d10e bne.n 806215e arm_rms_f32(In, len, &Third[k--]); 8062140: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062144: 1e5a subs r2, r3, #1 8062146: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806214a: 463a mov r2, r7 806214c: 009b lsls r3, r3, #2 806214e: 4413 add r3, r2 8062150: 461a mov r2, r3 8062152: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062156: 485f ldr r0, [pc, #380] ; (80622d4 ) 8062158: f06c fe2e bl 80cedb8 806215c: e042 b.n 80621e4 else { arm_min_f32(In, len, &fn[0], &i); 806215e: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8062162: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062166: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806216a: 485a ldr r0, [pc, #360] ; (80622d4 ) 806216c: f06c feb6 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8062170: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062174: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062178: 1d1a adds r2, r3, #4 806217a: 460b mov r3, r1 806217c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062180: 4854 ldr r0, [pc, #336] ; (80622d4 ) 8062182: f06c ff47 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062186: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806218a: eef5 7ac0 vcmpe.f32 s15, #0.0 806218e: eef1 fa10 vmrs APSR_nzcv, fpscr 8062192: dd02 ble.n 806219a 8062194: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062198: e003 b.n 80621a2 806219a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806219e: eef1 7a67 vneg.f32 s15, s15 80621a2: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80621a6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80621aa: eef5 7ac0 vcmpe.f32 s15, #0.0 80621ae: eef1 fa10 vmrs APSR_nzcv, fpscr 80621b2: dd02 ble.n 80621ba 80621b4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80621b8: e003 b.n 80621c2 80621ba: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80621be: eef1 7a67 vneg.f32 s15, s15 80621c2: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80621c6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80621ca: 1e5a subs r2, r3, #1 80621cc: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80621d0: 463a mov r2, r7 80621d2: 009b lsls r3, r3, #2 80621d4: 441a add r2, r3 80621d6: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80621da: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80621de: 2102 movs r1, #2 80621e0: f06c ff18 bl 80cf014 } //** 100 arm_biquad_cascade_df2T_f64(&S_OKT_100Hz, &Buff64[0], &Buff64[Ns], len); 80621e4: 4b39 ldr r3, [pc, #228] ; (80622cc ) 80621e6: 681b ldr r3, [r3, #0] 80621e8: 00db lsls r3, r3, #3 80621ea: 4a36 ldr r2, [pc, #216] ; (80622c4 ) 80621ec: 441a add r2, r3 80621ee: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80621f2: 4934 ldr r1, [pc, #208] ; (80622c4 ) 80621f4: 483a ldr r0, [pc, #232] ; (80622e0 ) 80621f6: f06c ff81 bl 80cf0fc for(i = 0; i < len; i++) { 80621fa: 2300 movs r3, #0 80621fc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062200: e017 b.n 8062232 In[i] = (float32_t) Buff64[Ns + i]; 8062202: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062206: 4a31 ldr r2, [pc, #196] ; (80622cc ) 8062208: 6811 ldr r1, [r2, #0] 806220a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806220e: 440a add r2, r1 8062210: 492c ldr r1, [pc, #176] ; (80622c4 ) 8062212: 00d2 lsls r2, r2, #3 8062214: 440a add r2, r1 8062216: ed92 7b00 vldr d7, [r2] 806221a: eef7 7bc7 vcvt.f32.f64 s15, d7 806221e: 4a2d ldr r2, [pc, #180] ; (80622d4 ) 8062220: 009b lsls r3, r3, #2 8062222: 4413 add r3, r2 8062224: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062228: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806222c: 3301 adds r3, #1 806222e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062232: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062236: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806223a: 429a cmp r2, r3 806223c: d3e1 bcc.n 8062202 } if(pardata.IVS[ACC] == RMS) 806223e: 4b26 ldr r3, [pc, #152] ; (80622d8 ) 8062240: 789b ldrb r3, [r3, #2] 8062242: b2db uxtb r3, r3 8062244: 2b01 cmp r3, #1 8062246: d10e bne.n 8062266 arm_rms_f32(In, len, &Third[k--]); 8062248: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806224c: 1e5a subs r2, r3, #1 806224e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8062252: 463a mov r2, r7 8062254: 009b lsls r3, r3, #2 8062256: 4413 add r3, r2 8062258: 461a mov r2, r3 806225a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806225e: 481d ldr r0, [pc, #116] ; (80622d4 ) 8062260: f06c fdaa bl 80cedb8 8062264: e053 b.n 806230e else { arm_min_f32(In, len, &fn[0], &i); 8062266: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806226a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 806226e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062272: 4818 ldr r0, [pc, #96] ; (80622d4 ) 8062274: f06c fe32 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8062278: f507 71e6 add.w r1, r7, #460 ; 0x1cc 806227c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062280: 1d1a adds r2, r3, #4 8062282: 460b mov r3, r1 8062284: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062288: 4812 ldr r0, [pc, #72] ; (80622d4 ) 806228a: f06c fec3 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806228e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062292: eef5 7ac0 vcmpe.f32 s15, #0.0 8062296: eef1 fa10 vmrs APSR_nzcv, fpscr 806229a: dd02 ble.n 80622a2 806229c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80622a0: e003 b.n 80622aa 80622a2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80622a6: eef1 7a67 vneg.f32 s15, s15 80622aa: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80622ae: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80622b2: eef5 7ac0 vcmpe.f32 s15, #0.0 80622b6: eef1 fa10 vmrs APSR_nzcv, fpscr 80622ba: dd13 ble.n 80622e4 80622bc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80622c0: e014 b.n 80622ec 80622c2: bf00 nop 80622c4: 20037b40 .word 0x20037b40 80622c8: 20026080 .word 0x20026080 80622cc: 20021d2c .word 0x20021d2c 80622d0: 2002608c .word 0x2002608c 80622d4: 20027a20 .word 0x20027a20 80622d8: 20023eb8 .word 0x20023eb8 80622dc: 20057c48 .word 0x20057c48 80622e0: 20027800 .word 0x20027800 80622e4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80622e8: eef1 7a67 vneg.f32 s15, s15 80622ec: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80622f0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80622f4: 1e5a subs r2, r3, #1 80622f6: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80622fa: 463a mov r2, r7 80622fc: 009b lsls r3, r3, #2 80622fe: 441a add r2, r3 8062300: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062304: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8062308: 2102 movs r1, #2 806230a: f06c fe83 bl 80cf014 arm_biquad_cascade_df2T_f64(&S_LP_63, &Buff64[0], &Buff64[0], len); 806230e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062312: 4acf ldr r2, [pc, #828] ; (8062650 ) 8062314: 49ce ldr r1, [pc, #824] ; (8062650 ) 8062316: 48cf ldr r0, [pc, #828] ; (8062654 ) 8062318: f06c fef0 bl 80cf0fc len >>= 1; 806231c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062320: 085b lsrs r3, r3, #1 8062322: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8062326: 2300 movs r3, #0 8062328: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806232c: e012 b.n 8062354 Buff64[i] = Buff64[i << 1]; 806232e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062332: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062336: 005b lsls r3, r3, #1 8062338: 49c5 ldr r1, [pc, #788] ; (8062650 ) 806233a: 00db lsls r3, r3, #3 806233c: 440b add r3, r1 806233e: cb18 ldmia r3, {r3, r4} 8062340: 49c3 ldr r1, [pc, #780] ; (8062650 ) 8062342: 00d2 lsls r2, r2, #3 8062344: 440a add r2, r1 8062346: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 806234a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806234e: 3301 adds r3, #1 8062350: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062354: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062358: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806235c: 429a cmp r2, r3 806235e: d3e6 bcc.n 806232e } //** 80 arm_biquad_cascade_df2T_f64(&S_OKT_80Hz, &Buff64[0], &Buff64[Ns], len); 8062360: 4bbd ldr r3, [pc, #756] ; (8062658 ) 8062362: 681b ldr r3, [r3, #0] 8062364: 00db lsls r3, r3, #3 8062366: 4aba ldr r2, [pc, #744] ; (8062650 ) 8062368: 441a add r2, r3 806236a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806236e: 49b8 ldr r1, [pc, #736] ; (8062650 ) 8062370: 48ba ldr r0, [pc, #744] ; (806265c ) 8062372: f06c fec3 bl 80cf0fc for(i = 0; i < len; i++) { 8062376: 2300 movs r3, #0 8062378: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806237c: e017 b.n 80623ae In[i] = (float32_t) Buff64[Ns + i]; 806237e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062382: 4ab5 ldr r2, [pc, #724] ; (8062658 ) 8062384: 6811 ldr r1, [r2, #0] 8062386: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806238a: 440a add r2, r1 806238c: 49b0 ldr r1, [pc, #704] ; (8062650 ) 806238e: 00d2 lsls r2, r2, #3 8062390: 440a add r2, r1 8062392: ed92 7b00 vldr d7, [r2] 8062396: eef7 7bc7 vcvt.f32.f64 s15, d7 806239a: 4ab1 ldr r2, [pc, #708] ; (8062660 ) 806239c: 009b lsls r3, r3, #2 806239e: 4413 add r3, r2 80623a0: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80623a4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80623a8: 3301 adds r3, #1 80623aa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80623ae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80623b2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80623b6: 429a cmp r2, r3 80623b8: d3e1 bcc.n 806237e } if(pardata.IVS[ACC] == RMS) 80623ba: 4baa ldr r3, [pc, #680] ; (8062664 ) 80623bc: 789b ldrb r3, [r3, #2] 80623be: b2db uxtb r3, r3 80623c0: 2b01 cmp r3, #1 80623c2: d10e bne.n 80623e2 arm_rms_f32(In, len, &Third[k--]); 80623c4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80623c8: 1e5a subs r2, r3, #1 80623ca: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80623ce: 463a mov r2, r7 80623d0: 009b lsls r3, r3, #2 80623d2: 4413 add r3, r2 80623d4: 461a mov r2, r3 80623d6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80623da: 48a1 ldr r0, [pc, #644] ; (8062660 ) 80623dc: f06c fcec bl 80cedb8 80623e0: e042 b.n 8062468 else { arm_min_f32(In, len, &fn[0], &i); 80623e2: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80623e6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80623ea: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80623ee: 489c ldr r0, [pc, #624] ; (8062660 ) 80623f0: f06c fd74 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 80623f4: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80623f8: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80623fc: 1d1a adds r2, r3, #4 80623fe: 460b mov r3, r1 8062400: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062404: 4896 ldr r0, [pc, #600] ; (8062660 ) 8062406: f06c fe05 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806240a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806240e: eef5 7ac0 vcmpe.f32 s15, #0.0 8062412: eef1 fa10 vmrs APSR_nzcv, fpscr 8062416: dd02 ble.n 806241e 8062418: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806241c: e003 b.n 8062426 806241e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062422: eef1 7a67 vneg.f32 s15, s15 8062426: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 806242a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806242e: eef5 7ac0 vcmpe.f32 s15, #0.0 8062432: eef1 fa10 vmrs APSR_nzcv, fpscr 8062436: dd02 ble.n 806243e 8062438: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806243c: e003 b.n 8062446 806243e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062442: eef1 7a67 vneg.f32 s15, s15 8062446: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 806244a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806244e: 1e5a subs r2, r3, #1 8062450: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8062454: 463a mov r2, r7 8062456: 009b lsls r3, r3, #2 8062458: 441a add r2, r3 806245a: f507 73e6 add.w r3, r7, #460 ; 0x1cc 806245e: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8062462: 2102 movs r1, #2 8062464: f06c fdd6 bl 80cf014 } //** 63 arm_biquad_cascade_df2T_f64(&S_OKT_63Hz, &Buff64[0], &Buff64[Ns], len); 8062468: 4b7b ldr r3, [pc, #492] ; (8062658 ) 806246a: 681b ldr r3, [r3, #0] 806246c: 00db lsls r3, r3, #3 806246e: 4a78 ldr r2, [pc, #480] ; (8062650 ) 8062470: 441a add r2, r3 8062472: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062476: 4976 ldr r1, [pc, #472] ; (8062650 ) 8062478: 487b ldr r0, [pc, #492] ; (8062668 ) 806247a: f06c fe3f bl 80cf0fc for(i = 0; i < len; i++) { 806247e: 2300 movs r3, #0 8062480: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062484: e017 b.n 80624b6 In[i] = (float32_t) Buff64[Ns + i]; 8062486: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806248a: 4a73 ldr r2, [pc, #460] ; (8062658 ) 806248c: 6811 ldr r1, [r2, #0] 806248e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062492: 440a add r2, r1 8062494: 496e ldr r1, [pc, #440] ; (8062650 ) 8062496: 00d2 lsls r2, r2, #3 8062498: 440a add r2, r1 806249a: ed92 7b00 vldr d7, [r2] 806249e: eef7 7bc7 vcvt.f32.f64 s15, d7 80624a2: 4a6f ldr r2, [pc, #444] ; (8062660 ) 80624a4: 009b lsls r3, r3, #2 80624a6: 4413 add r3, r2 80624a8: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80624ac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80624b0: 3301 adds r3, #1 80624b2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80624b6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80624ba: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80624be: 429a cmp r2, r3 80624c0: d3e1 bcc.n 8062486 } if(pardata.IVS[ACC] == RMS) 80624c2: 4b68 ldr r3, [pc, #416] ; (8062664 ) 80624c4: 789b ldrb r3, [r3, #2] 80624c6: b2db uxtb r3, r3 80624c8: 2b01 cmp r3, #1 80624ca: d10e bne.n 80624ea arm_rms_f32(In, len, &Third[k--]); 80624cc: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80624d0: 1e5a subs r2, r3, #1 80624d2: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80624d6: 463a mov r2, r7 80624d8: 009b lsls r3, r3, #2 80624da: 4413 add r3, r2 80624dc: 461a mov r2, r3 80624de: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80624e2: 485f ldr r0, [pc, #380] ; (8062660 ) 80624e4: f06c fc68 bl 80cedb8 80624e8: e042 b.n 8062570 else { arm_min_f32(In, len, &fn[0], &i); 80624ea: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80624ee: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80624f2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80624f6: 485a ldr r0, [pc, #360] ; (8062660 ) 80624f8: f06c fcf0 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 80624fc: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062500: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062504: 1d1a adds r2, r3, #4 8062506: 460b mov r3, r1 8062508: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806250c: 4854 ldr r0, [pc, #336] ; (8062660 ) 806250e: f06c fd81 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062512: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062516: eef5 7ac0 vcmpe.f32 s15, #0.0 806251a: eef1 fa10 vmrs APSR_nzcv, fpscr 806251e: dd02 ble.n 8062526 8062520: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062524: e003 b.n 806252e 8062526: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806252a: eef1 7a67 vneg.f32 s15, s15 806252e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062532: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062536: eef5 7ac0 vcmpe.f32 s15, #0.0 806253a: eef1 fa10 vmrs APSR_nzcv, fpscr 806253e: dd02 ble.n 8062546 8062540: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062544: e003 b.n 806254e 8062546: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806254a: eef1 7a67 vneg.f32 s15, s15 806254e: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8062552: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062556: 1e5a subs r2, r3, #1 8062558: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806255c: 463a mov r2, r7 806255e: 009b lsls r3, r3, #2 8062560: 441a add r2, r3 8062562: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062566: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806256a: 2102 movs r1, #2 806256c: f06c fd52 bl 80cf014 } //** 50 arm_biquad_cascade_df2T_f64(&S_OKT_50Hz, &Buff64[0], &Buff64[Ns], len); 8062570: 4b39 ldr r3, [pc, #228] ; (8062658 ) 8062572: 681b ldr r3, [r3, #0] 8062574: 00db lsls r3, r3, #3 8062576: 4a36 ldr r2, [pc, #216] ; (8062650 ) 8062578: 441a add r2, r3 806257a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806257e: 4934 ldr r1, [pc, #208] ; (8062650 ) 8062580: 483a ldr r0, [pc, #232] ; (806266c ) 8062582: f06c fdbb bl 80cf0fc for(i = 0; i < len; i++) { 8062586: 2300 movs r3, #0 8062588: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806258c: e017 b.n 80625be In[i] = (float32_t) Buff64[Ns + i]; 806258e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062592: 4a31 ldr r2, [pc, #196] ; (8062658 ) 8062594: 6811 ldr r1, [r2, #0] 8062596: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806259a: 440a add r2, r1 806259c: 492c ldr r1, [pc, #176] ; (8062650 ) 806259e: 00d2 lsls r2, r2, #3 80625a0: 440a add r2, r1 80625a2: ed92 7b00 vldr d7, [r2] 80625a6: eef7 7bc7 vcvt.f32.f64 s15, d7 80625aa: 4a2d ldr r2, [pc, #180] ; (8062660 ) 80625ac: 009b lsls r3, r3, #2 80625ae: 4413 add r3, r2 80625b0: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80625b4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80625b8: 3301 adds r3, #1 80625ba: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80625be: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80625c2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80625c6: 429a cmp r2, r3 80625c8: d3e1 bcc.n 806258e } if(pardata.IVS[ACC] == RMS) 80625ca: 4b26 ldr r3, [pc, #152] ; (8062664 ) 80625cc: 789b ldrb r3, [r3, #2] 80625ce: b2db uxtb r3, r3 80625d0: 2b01 cmp r3, #1 80625d2: d10e bne.n 80625f2 arm_rms_f32(In, len, &Third[k--]); 80625d4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80625d8: 1e5a subs r2, r3, #1 80625da: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80625de: 463a mov r2, r7 80625e0: 009b lsls r3, r3, #2 80625e2: 4413 add r3, r2 80625e4: 461a mov r2, r3 80625e6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80625ea: 481d ldr r0, [pc, #116] ; (8062660 ) 80625ec: f06c fbe4 bl 80cedb8 80625f0: e053 b.n 806269a else { arm_min_f32(In, len, &fn[0], &i); 80625f2: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80625f6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80625fa: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80625fe: 4818 ldr r0, [pc, #96] ; (8062660 ) 8062600: f06c fc6c bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8062604: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062608: f507 73d8 add.w r3, r7, #432 ; 0x1b0 806260c: 1d1a adds r2, r3, #4 806260e: 460b mov r3, r1 8062610: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062614: 4812 ldr r0, [pc, #72] ; (8062660 ) 8062616: f06c fcfd bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806261a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806261e: eef5 7ac0 vcmpe.f32 s15, #0.0 8062622: eef1 fa10 vmrs APSR_nzcv, fpscr 8062626: dd02 ble.n 806262e 8062628: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806262c: e003 b.n 8062636 806262e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062632: eef1 7a67 vneg.f32 s15, s15 8062636: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 806263a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806263e: eef5 7ac0 vcmpe.f32 s15, #0.0 8062642: eef1 fa10 vmrs APSR_nzcv, fpscr 8062646: dd13 ble.n 8062670 8062648: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806264c: e014 b.n 8062678 806264e: bf00 nop 8062650: 20037b40 .word 0x20037b40 8062654: 20026390 .word 0x20026390 8062658: 20021d2c .word 0x20021d2c 806265c: 2002680c .word 0x2002680c 8062660: 20027a20 .word 0x20027a20 8062664: 20023eb8 .word 0x20023eb8 8062668: 20057ba4 .word 0x20057ba4 806266c: 20057de4 .word 0x20057de4 8062670: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062674: eef1 7a67 vneg.f32 s15, s15 8062678: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 806267c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062680: 1e5a subs r2, r3, #1 8062682: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8062686: 463a mov r2, r7 8062688: 009b lsls r3, r3, #2 806268a: 441a add r2, r3 806268c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062690: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8062694: 2102 movs r1, #2 8062696: f06c fcbd bl 80cf014 } arm_biquad_cascade_df2T_f64(&S_LP_32, &Buff64[0], &Buff64[0], len); 806269a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806269e: 4acf ldr r2, [pc, #828] ; (80629dc ) 80626a0: 49ce ldr r1, [pc, #824] ; (80629dc ) 80626a2: 48cf ldr r0, [pc, #828] ; (80629e0 ) 80626a4: f06c fd2a bl 80cf0fc len >>= 1; 80626a8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80626ac: 085b lsrs r3, r3, #1 80626ae: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 80626b2: 2300 movs r3, #0 80626b4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80626b8: e012 b.n 80626e0 Buff64[i] = Buff64[i << 1]; 80626ba: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80626be: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80626c2: 005b lsls r3, r3, #1 80626c4: 49c5 ldr r1, [pc, #788] ; (80629dc ) 80626c6: 00db lsls r3, r3, #3 80626c8: 440b add r3, r1 80626ca: cb18 ldmia r3, {r3, r4} 80626cc: 49c3 ldr r1, [pc, #780] ; (80629dc ) 80626ce: 00d2 lsls r2, r2, #3 80626d0: 440a add r2, r1 80626d2: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 80626d6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80626da: 3301 adds r3, #1 80626dc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80626e0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80626e4: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80626e8: 429a cmp r2, r3 80626ea: d3e6 bcc.n 80626ba } //** 40 arm_biquad_cascade_df2T_f64(&S_OKT_40Hz, &Buff64[0], &Buff64[Ns], len); 80626ec: 4bbd ldr r3, [pc, #756] ; (80629e4 ) 80626ee: 681b ldr r3, [r3, #0] 80626f0: 00db lsls r3, r3, #3 80626f2: 4aba ldr r2, [pc, #744] ; (80629dc ) 80626f4: 441a add r2, r3 80626f6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80626fa: 49b8 ldr r1, [pc, #736] ; (80629dc ) 80626fc: 48ba ldr r0, [pc, #744] ; (80629e8 ) 80626fe: f06c fcfd bl 80cf0fc for(i = 0; i < len; i++) { 8062702: 2300 movs r3, #0 8062704: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062708: e017 b.n 806273a In[i] = (float32_t) Buff64[Ns + i]; 806270a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806270e: 4ab5 ldr r2, [pc, #724] ; (80629e4 ) 8062710: 6811 ldr r1, [r2, #0] 8062712: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062716: 440a add r2, r1 8062718: 49b0 ldr r1, [pc, #704] ; (80629dc ) 806271a: 00d2 lsls r2, r2, #3 806271c: 440a add r2, r1 806271e: ed92 7b00 vldr d7, [r2] 8062722: eef7 7bc7 vcvt.f32.f64 s15, d7 8062726: 4ab1 ldr r2, [pc, #708] ; (80629ec ) 8062728: 009b lsls r3, r3, #2 806272a: 4413 add r3, r2 806272c: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062730: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062734: 3301 adds r3, #1 8062736: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806273a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806273e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062742: 429a cmp r2, r3 8062744: d3e1 bcc.n 806270a } if(pardata.IVS[ACC] == RMS) 8062746: 4baa ldr r3, [pc, #680] ; (80629f0 ) 8062748: 789b ldrb r3, [r3, #2] 806274a: b2db uxtb r3, r3 806274c: 2b01 cmp r3, #1 806274e: d10e bne.n 806276e arm_rms_f32(In, len, &Third[k--]); 8062750: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062754: 1e5a subs r2, r3, #1 8062756: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806275a: 463a mov r2, r7 806275c: 009b lsls r3, r3, #2 806275e: 4413 add r3, r2 8062760: 461a mov r2, r3 8062762: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062766: 48a1 ldr r0, [pc, #644] ; (80629ec ) 8062768: f06c fb26 bl 80cedb8 806276c: e042 b.n 80627f4 else { arm_min_f32(In, len, &fn[0], &i); 806276e: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8062772: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062776: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806277a: 489c ldr r0, [pc, #624] ; (80629ec ) 806277c: f06c fbae bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8062780: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062784: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062788: 1d1a adds r2, r3, #4 806278a: 460b mov r3, r1 806278c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062790: 4896 ldr r0, [pc, #600] ; (80629ec ) 8062792: f06c fc3f bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062796: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806279a: eef5 7ac0 vcmpe.f32 s15, #0.0 806279e: eef1 fa10 vmrs APSR_nzcv, fpscr 80627a2: dd02 ble.n 80627aa 80627a4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80627a8: e003 b.n 80627b2 80627aa: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80627ae: eef1 7a67 vneg.f32 s15, s15 80627b2: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80627b6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80627ba: eef5 7ac0 vcmpe.f32 s15, #0.0 80627be: eef1 fa10 vmrs APSR_nzcv, fpscr 80627c2: dd02 ble.n 80627ca 80627c4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80627c8: e003 b.n 80627d2 80627ca: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80627ce: eef1 7a67 vneg.f32 s15, s15 80627d2: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80627d6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80627da: 1e5a subs r2, r3, #1 80627dc: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80627e0: 463a mov r2, r7 80627e2: 009b lsls r3, r3, #2 80627e4: 441a add r2, r3 80627e6: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80627ea: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80627ee: 2102 movs r1, #2 80627f0: f06c fc10 bl 80cf014 } //** 31 arm_biquad_cascade_df2T_f64(&S_OKT_32Hz, &Buff64[0], &Buff64[Ns], len); 80627f4: 4b7b ldr r3, [pc, #492] ; (80629e4 ) 80627f6: 681b ldr r3, [r3, #0] 80627f8: 00db lsls r3, r3, #3 80627fa: 4a78 ldr r2, [pc, #480] ; (80629dc ) 80627fc: 441a add r2, r3 80627fe: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062802: 4976 ldr r1, [pc, #472] ; (80629dc ) 8062804: 487b ldr r0, [pc, #492] ; (80629f4 ) 8062806: f06c fc79 bl 80cf0fc for(i = 0; i < len; i++) { 806280a: 2300 movs r3, #0 806280c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062810: e017 b.n 8062842 In[i] = (float32_t) Buff64[Ns + i]; 8062812: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062816: 4a73 ldr r2, [pc, #460] ; (80629e4 ) 8062818: 6811 ldr r1, [r2, #0] 806281a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806281e: 440a add r2, r1 8062820: 496e ldr r1, [pc, #440] ; (80629dc ) 8062822: 00d2 lsls r2, r2, #3 8062824: 440a add r2, r1 8062826: ed92 7b00 vldr d7, [r2] 806282a: eef7 7bc7 vcvt.f32.f64 s15, d7 806282e: 4a6f ldr r2, [pc, #444] ; (80629ec ) 8062830: 009b lsls r3, r3, #2 8062832: 4413 add r3, r2 8062834: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062838: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806283c: 3301 adds r3, #1 806283e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062842: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062846: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806284a: 429a cmp r2, r3 806284c: d3e1 bcc.n 8062812 } if(pardata.IVS[ACC] == RMS) 806284e: 4b68 ldr r3, [pc, #416] ; (80629f0 ) 8062850: 789b ldrb r3, [r3, #2] 8062852: b2db uxtb r3, r3 8062854: 2b01 cmp r3, #1 8062856: d10e bne.n 8062876 arm_rms_f32(In, len, &Third[k--]); 8062858: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806285c: 1e5a subs r2, r3, #1 806285e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8062862: 463a mov r2, r7 8062864: 009b lsls r3, r3, #2 8062866: 4413 add r3, r2 8062868: 461a mov r2, r3 806286a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806286e: 485f ldr r0, [pc, #380] ; (80629ec ) 8062870: f06c faa2 bl 80cedb8 8062874: e042 b.n 80628fc else { arm_min_f32(In, len, &fn[0], &i); 8062876: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806287a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 806287e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062882: 485a ldr r0, [pc, #360] ; (80629ec ) 8062884: f06c fb2a bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8062888: f507 71e6 add.w r1, r7, #460 ; 0x1cc 806288c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062890: 1d1a adds r2, r3, #4 8062892: 460b mov r3, r1 8062894: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062898: 4854 ldr r0, [pc, #336] ; (80629ec ) 806289a: f06c fbbb bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806289e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80628a2: eef5 7ac0 vcmpe.f32 s15, #0.0 80628a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80628aa: dd02 ble.n 80628b2 80628ac: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80628b0: e003 b.n 80628ba 80628b2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80628b6: eef1 7a67 vneg.f32 s15, s15 80628ba: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80628be: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80628c2: eef5 7ac0 vcmpe.f32 s15, #0.0 80628c6: eef1 fa10 vmrs APSR_nzcv, fpscr 80628ca: dd02 ble.n 80628d2 80628cc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80628d0: e003 b.n 80628da 80628d2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80628d6: eef1 7a67 vneg.f32 s15, s15 80628da: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80628de: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80628e2: 1e5a subs r2, r3, #1 80628e4: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80628e8: 463a mov r2, r7 80628ea: 009b lsls r3, r3, #2 80628ec: 441a add r2, r3 80628ee: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80628f2: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80628f6: 2102 movs r1, #2 80628f8: f06c fb8c bl 80cf014 } //** 25 arm_biquad_cascade_df2T_f64(&S_OKT_25Hz, &Buff64[0], &Buff64[Ns], len); 80628fc: 4b39 ldr r3, [pc, #228] ; (80629e4 ) 80628fe: 681b ldr r3, [r3, #0] 8062900: 00db lsls r3, r3, #3 8062902: 4a36 ldr r2, [pc, #216] ; (80629dc ) 8062904: 441a add r2, r3 8062906: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806290a: 4934 ldr r1, [pc, #208] ; (80629dc ) 806290c: 483a ldr r0, [pc, #232] ; (80629f8 ) 806290e: f06c fbf5 bl 80cf0fc for(i = 0; i < len; i++) { 8062912: 2300 movs r3, #0 8062914: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062918: e017 b.n 806294a In[i] = (float32_t) Buff64[Ns + i]; 806291a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806291e: 4a31 ldr r2, [pc, #196] ; (80629e4 ) 8062920: 6811 ldr r1, [r2, #0] 8062922: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062926: 440a add r2, r1 8062928: 492c ldr r1, [pc, #176] ; (80629dc ) 806292a: 00d2 lsls r2, r2, #3 806292c: 440a add r2, r1 806292e: ed92 7b00 vldr d7, [r2] 8062932: eef7 7bc7 vcvt.f32.f64 s15, d7 8062936: 4a2d ldr r2, [pc, #180] ; (80629ec ) 8062938: 009b lsls r3, r3, #2 806293a: 4413 add r3, r2 806293c: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062940: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062944: 3301 adds r3, #1 8062946: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806294a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806294e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062952: 429a cmp r2, r3 8062954: d3e1 bcc.n 806291a } if(pardata.IVS[ACC] == RMS) 8062956: 4b26 ldr r3, [pc, #152] ; (80629f0 ) 8062958: 789b ldrb r3, [r3, #2] 806295a: b2db uxtb r3, r3 806295c: 2b01 cmp r3, #1 806295e: d10e bne.n 806297e arm_rms_f32(In, len, &Third[k--]); 8062960: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062964: 1e5a subs r2, r3, #1 8062966: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806296a: 463a mov r2, r7 806296c: 009b lsls r3, r3, #2 806296e: 4413 add r3, r2 8062970: 461a mov r2, r3 8062972: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062976: 481d ldr r0, [pc, #116] ; (80629ec ) 8062978: f06c fa1e bl 80cedb8 806297c: e053 b.n 8062a26 else { arm_min_f32(In, len, &fn[0], &i); 806297e: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8062982: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062986: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806298a: 4818 ldr r0, [pc, #96] ; (80629ec ) 806298c: f06c faa6 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8062990: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062994: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062998: 1d1a adds r2, r3, #4 806299a: 460b mov r3, r1 806299c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80629a0: 4812 ldr r0, [pc, #72] ; (80629ec ) 80629a2: f06c fb37 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80629a6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80629aa: eef5 7ac0 vcmpe.f32 s15, #0.0 80629ae: eef1 fa10 vmrs APSR_nzcv, fpscr 80629b2: dd02 ble.n 80629ba 80629b4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80629b8: e003 b.n 80629c2 80629ba: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80629be: eef1 7a67 vneg.f32 s15, s15 80629c2: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80629c6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80629ca: eef5 7ac0 vcmpe.f32 s15, #0.0 80629ce: eef1 fa10 vmrs APSR_nzcv, fpscr 80629d2: dd13 ble.n 80629fc 80629d4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80629d8: e014 b.n 8062a04 80629da: bf00 nop 80629dc: 20037b40 .word 0x20037b40 80629e0: 20027918 .word 0x20027918 80629e4: 20021d2c .word 0x20021d2c 80629e8: 20026670 .word 0x20026670 80629ec: 20027a20 .word 0x20027a20 80629f0: 20023eb8 .word 0x20023eb8 80629f4: 20057fb4 .word 0x20057fb4 80629f8: 20026e00 .word 0x20026e00 80629fc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062a00: eef1 7a67 vneg.f32 s15, s15 8062a04: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8062a08: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062a0c: 1e5a subs r2, r3, #1 8062a0e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8062a12: 463a mov r2, r7 8062a14: 009b lsls r3, r3, #2 8062a16: 441a add r2, r3 8062a18: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062a1c: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8062a20: 2102 movs r1, #2 8062a22: f06c faf7 bl 80cf014 } arm_biquad_cascade_df2T_f64(&S_LP_16, &Buff64[0], &Buff64[0], len); 8062a26: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062a2a: 4acf ldr r2, [pc, #828] ; (8062d68 ) 8062a2c: 49ce ldr r1, [pc, #824] ; (8062d68 ) 8062a2e: 48cf ldr r0, [pc, #828] ; (8062d6c ) 8062a30: f06c fb64 bl 80cf0fc len >>= 1; 8062a34: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062a38: 085b lsrs r3, r3, #1 8062a3a: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8062a3e: 2300 movs r3, #0 8062a40: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062a44: e012 b.n 8062a6c Buff64[i] = Buff64[i << 1]; 8062a46: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062a4a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062a4e: 005b lsls r3, r3, #1 8062a50: 49c5 ldr r1, [pc, #788] ; (8062d68 ) 8062a52: 00db lsls r3, r3, #3 8062a54: 440b add r3, r1 8062a56: cb18 ldmia r3, {r3, r4} 8062a58: 49c3 ldr r1, [pc, #780] ; (8062d68 ) 8062a5a: 00d2 lsls r2, r2, #3 8062a5c: 440a add r2, r1 8062a5e: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8062a62: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062a66: 3301 adds r3, #1 8062a68: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062a6c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062a70: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062a74: 429a cmp r2, r3 8062a76: d3e6 bcc.n 8062a46 } //** 20 arm_biquad_cascade_df2T_f64(&S_OKT_20Hz, &Buff64[0], &Buff64[Ns], len); 8062a78: 4bbd ldr r3, [pc, #756] ; (8062d70 ) 8062a7a: 681b ldr r3, [r3, #0] 8062a7c: 00db lsls r3, r3, #3 8062a7e: 4aba ldr r2, [pc, #744] ; (8062d68 ) 8062a80: 441a add r2, r3 8062a82: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062a86: 49b8 ldr r1, [pc, #736] ; (8062d68 ) 8062a88: 48ba ldr r0, [pc, #744] ; (8062d74 ) 8062a8a: f06c fb37 bl 80cf0fc for(i = 0; i < len; i++) { 8062a8e: 2300 movs r3, #0 8062a90: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062a94: e017 b.n 8062ac6 In[i] = (float32_t) Buff64[Ns + i]; 8062a96: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062a9a: 4ab5 ldr r2, [pc, #724] ; (8062d70 ) 8062a9c: 6811 ldr r1, [r2, #0] 8062a9e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062aa2: 440a add r2, r1 8062aa4: 49b0 ldr r1, [pc, #704] ; (8062d68 ) 8062aa6: 00d2 lsls r2, r2, #3 8062aa8: 440a add r2, r1 8062aaa: ed92 7b00 vldr d7, [r2] 8062aae: eef7 7bc7 vcvt.f32.f64 s15, d7 8062ab2: 4ab1 ldr r2, [pc, #708] ; (8062d78 ) 8062ab4: 009b lsls r3, r3, #2 8062ab6: 4413 add r3, r2 8062ab8: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062abc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062ac0: 3301 adds r3, #1 8062ac2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062ac6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062aca: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062ace: 429a cmp r2, r3 8062ad0: d3e1 bcc.n 8062a96 } if(pardata.IVS[ACC] == RMS) 8062ad2: 4baa ldr r3, [pc, #680] ; (8062d7c ) 8062ad4: 789b ldrb r3, [r3, #2] 8062ad6: b2db uxtb r3, r3 8062ad8: 2b01 cmp r3, #1 8062ada: d10e bne.n 8062afa arm_rms_f32(In, len, &Third[k--]); 8062adc: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062ae0: 1e5a subs r2, r3, #1 8062ae2: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8062ae6: 463a mov r2, r7 8062ae8: 009b lsls r3, r3, #2 8062aea: 4413 add r3, r2 8062aec: 461a mov r2, r3 8062aee: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062af2: 48a1 ldr r0, [pc, #644] ; (8062d78 ) 8062af4: f06c f960 bl 80cedb8 8062af8: e042 b.n 8062b80 else { arm_min_f32(In, len, &fn[0], &i); 8062afa: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8062afe: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062b02: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062b06: 489c ldr r0, [pc, #624] ; (8062d78 ) 8062b08: f06c f9e8 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8062b0c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062b10: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062b14: 1d1a adds r2, r3, #4 8062b16: 460b mov r3, r1 8062b18: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062b1c: 4896 ldr r0, [pc, #600] ; (8062d78 ) 8062b1e: f06c fa79 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062b22: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062b26: eef5 7ac0 vcmpe.f32 s15, #0.0 8062b2a: eef1 fa10 vmrs APSR_nzcv, fpscr 8062b2e: dd02 ble.n 8062b36 8062b30: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062b34: e003 b.n 8062b3e 8062b36: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062b3a: eef1 7a67 vneg.f32 s15, s15 8062b3e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062b42: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062b46: eef5 7ac0 vcmpe.f32 s15, #0.0 8062b4a: eef1 fa10 vmrs APSR_nzcv, fpscr 8062b4e: dd02 ble.n 8062b56 8062b50: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062b54: e003 b.n 8062b5e 8062b56: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062b5a: eef1 7a67 vneg.f32 s15, s15 8062b5e: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8062b62: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062b66: 1e5a subs r2, r3, #1 8062b68: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8062b6c: 463a mov r2, r7 8062b6e: 009b lsls r3, r3, #2 8062b70: 441a add r2, r3 8062b72: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062b76: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8062b7a: 2102 movs r1, #2 8062b7c: f06c fa4a bl 80cf014 } //** 16 arm_biquad_cascade_df2T_f64(&S_OKT_16Hz, &Buff64[0], &Buff64[Ns], len); 8062b80: 4b7b ldr r3, [pc, #492] ; (8062d70 ) 8062b82: 681b ldr r3, [r3, #0] 8062b84: 00db lsls r3, r3, #3 8062b86: 4a78 ldr r2, [pc, #480] ; (8062d68 ) 8062b88: 441a add r2, r3 8062b8a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062b8e: 4976 ldr r1, [pc, #472] ; (8062d68 ) 8062b90: 487b ldr r0, [pc, #492] ; (8062d80 ) 8062b92: f06c fab3 bl 80cf0fc for(i = 0; i < len; i++) { 8062b96: 2300 movs r3, #0 8062b98: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062b9c: e017 b.n 8062bce In[i] = (float32_t) Buff64[Ns + i]; 8062b9e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062ba2: 4a73 ldr r2, [pc, #460] ; (8062d70 ) 8062ba4: 6811 ldr r1, [r2, #0] 8062ba6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062baa: 440a add r2, r1 8062bac: 496e ldr r1, [pc, #440] ; (8062d68 ) 8062bae: 00d2 lsls r2, r2, #3 8062bb0: 440a add r2, r1 8062bb2: ed92 7b00 vldr d7, [r2] 8062bb6: eef7 7bc7 vcvt.f32.f64 s15, d7 8062bba: 4a6f ldr r2, [pc, #444] ; (8062d78 ) 8062bbc: 009b lsls r3, r3, #2 8062bbe: 4413 add r3, r2 8062bc0: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062bc4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062bc8: 3301 adds r3, #1 8062bca: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062bce: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062bd2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062bd6: 429a cmp r2, r3 8062bd8: d3e1 bcc.n 8062b9e } if(pardata.IVS[ACC] == RMS) 8062bda: 4b68 ldr r3, [pc, #416] ; (8062d7c ) 8062bdc: 789b ldrb r3, [r3, #2] 8062bde: b2db uxtb r3, r3 8062be0: 2b01 cmp r3, #1 8062be2: d10e bne.n 8062c02 arm_rms_f32(In, len, &Third[k--]); 8062be4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062be8: 1e5a subs r2, r3, #1 8062bea: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8062bee: 463a mov r2, r7 8062bf0: 009b lsls r3, r3, #2 8062bf2: 4413 add r3, r2 8062bf4: 461a mov r2, r3 8062bf6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062bfa: 485f ldr r0, [pc, #380] ; (8062d78 ) 8062bfc: f06c f8dc bl 80cedb8 8062c00: e042 b.n 8062c88 else { arm_min_f32(In, len, &fn[0], &i); 8062c02: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8062c06: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062c0a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062c0e: 485a ldr r0, [pc, #360] ; (8062d78 ) 8062c10: f06c f964 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8062c14: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062c18: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062c1c: 1d1a adds r2, r3, #4 8062c1e: 460b mov r3, r1 8062c20: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062c24: 4854 ldr r0, [pc, #336] ; (8062d78 ) 8062c26: f06c f9f5 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062c2a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062c2e: eef5 7ac0 vcmpe.f32 s15, #0.0 8062c32: eef1 fa10 vmrs APSR_nzcv, fpscr 8062c36: dd02 ble.n 8062c3e 8062c38: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062c3c: e003 b.n 8062c46 8062c3e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062c42: eef1 7a67 vneg.f32 s15, s15 8062c46: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062c4a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062c4e: eef5 7ac0 vcmpe.f32 s15, #0.0 8062c52: eef1 fa10 vmrs APSR_nzcv, fpscr 8062c56: dd02 ble.n 8062c5e 8062c58: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062c5c: e003 b.n 8062c66 8062c5e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062c62: eef1 7a67 vneg.f32 s15, s15 8062c66: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8062c6a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062c6e: 1e5a subs r2, r3, #1 8062c70: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8062c74: 463a mov r2, r7 8062c76: 009b lsls r3, r3, #2 8062c78: 441a add r2, r3 8062c7a: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062c7e: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8062c82: 2102 movs r1, #2 8062c84: f06c f9c6 bl 80cf014 } //** 12,5 arm_biquad_cascade_df2T_f64(&S_OKT_12_5Hz, &Buff64[0], &Buff64[Ns], len); 8062c88: 4b39 ldr r3, [pc, #228] ; (8062d70 ) 8062c8a: 681b ldr r3, [r3, #0] 8062c8c: 00db lsls r3, r3, #3 8062c8e: 4a36 ldr r2, [pc, #216] ; (8062d68 ) 8062c90: 441a add r2, r3 8062c92: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062c96: 4934 ldr r1, [pc, #208] ; (8062d68 ) 8062c98: 483a ldr r0, [pc, #232] ; (8062d84 ) 8062c9a: f06c fa2f bl 80cf0fc for(i = 0; i < len; i++) { 8062c9e: 2300 movs r3, #0 8062ca0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062ca4: e017 b.n 8062cd6 In[i] = (float32_t) Buff64[Ns + i]; 8062ca6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062caa: 4a31 ldr r2, [pc, #196] ; (8062d70 ) 8062cac: 6811 ldr r1, [r2, #0] 8062cae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062cb2: 440a add r2, r1 8062cb4: 492c ldr r1, [pc, #176] ; (8062d68 ) 8062cb6: 00d2 lsls r2, r2, #3 8062cb8: 440a add r2, r1 8062cba: ed92 7b00 vldr d7, [r2] 8062cbe: eef7 7bc7 vcvt.f32.f64 s15, d7 8062cc2: 4a2d ldr r2, [pc, #180] ; (8062d78 ) 8062cc4: 009b lsls r3, r3, #2 8062cc6: 4413 add r3, r2 8062cc8: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062ccc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062cd0: 3301 adds r3, #1 8062cd2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062cd6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062cda: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062cde: 429a cmp r2, r3 8062ce0: d3e1 bcc.n 8062ca6 } if(pardata.IVS[ACC] == RMS) 8062ce2: 4b26 ldr r3, [pc, #152] ; (8062d7c ) 8062ce4: 789b ldrb r3, [r3, #2] 8062ce6: b2db uxtb r3, r3 8062ce8: 2b01 cmp r3, #1 8062cea: d10e bne.n 8062d0a arm_rms_f32(In, len, &Third[k--]); 8062cec: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062cf0: 1e5a subs r2, r3, #1 8062cf2: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8062cf6: 463a mov r2, r7 8062cf8: 009b lsls r3, r3, #2 8062cfa: 4413 add r3, r2 8062cfc: 461a mov r2, r3 8062cfe: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062d02: 481d ldr r0, [pc, #116] ; (8062d78 ) 8062d04: f06c f858 bl 80cedb8 8062d08: e053 b.n 8062db2 else { arm_min_f32(In, len, &fn[0], &i); 8062d0a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8062d0e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062d12: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062d16: 4818 ldr r0, [pc, #96] ; (8062d78 ) 8062d18: f06c f8e0 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8062d1c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062d20: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062d24: 1d1a adds r2, r3, #4 8062d26: 460b mov r3, r1 8062d28: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062d2c: 4812 ldr r0, [pc, #72] ; (8062d78 ) 8062d2e: f06c f971 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062d32: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062d36: eef5 7ac0 vcmpe.f32 s15, #0.0 8062d3a: eef1 fa10 vmrs APSR_nzcv, fpscr 8062d3e: dd02 ble.n 8062d46 8062d40: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062d44: e003 b.n 8062d4e 8062d46: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062d4a: eef1 7a67 vneg.f32 s15, s15 8062d4e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062d52: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062d56: eef5 7ac0 vcmpe.f32 s15, #0.0 8062d5a: eef1 fa10 vmrs APSR_nzcv, fpscr 8062d5e: dd13 ble.n 8062d88 8062d60: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062d64: e014 b.n 8062d90 8062d66: bf00 nop 8062d68: 20037b40 .word 0x20037b40 8062d6c: 20026ac8 .word 0x20026ac8 8062d70: 20021d2c .word 0x20021d2c 8062d74: 20026040 .word 0x20026040 8062d78: 20027a20 .word 0x20027a20 8062d7c: 20023eb8 .word 0x20023eb8 8062d80: 20026c28 .word 0x20026c28 8062d84: 20057b98 .word 0x20057b98 8062d88: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062d8c: eef1 7a67 vneg.f32 s15, s15 8062d90: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8062d94: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062d98: 1e5a subs r2, r3, #1 8062d9a: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8062d9e: 463a mov r2, r7 8062da0: 009b lsls r3, r3, #2 8062da2: 441a add r2, r3 8062da4: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062da8: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8062dac: 2102 movs r1, #2 8062dae: f06c f931 bl 80cf014 } cntOkt++; 8062db2: 4bc9 ldr r3, [pc, #804] ; (80630d8 ) 8062db4: 681b ldr r3, [r3, #0] 8062db6: 3301 adds r3, #1 8062db8: 4ac7 ldr r2, [pc, #796] ; (80630d8 ) 8062dba: 6013 str r3, [r2, #0] arm_biquad_cascade_df2T_f64(&S_LP_8, &Buff64[0], &Buff64[0], len); 8062dbc: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062dc0: 4ac6 ldr r2, [pc, #792] ; (80630dc ) 8062dc2: 49c6 ldr r1, [pc, #792] ; (80630dc ) 8062dc4: 48c6 ldr r0, [pc, #792] ; (80630e0 ) 8062dc6: f06c f999 bl 80cf0fc len >>= 1; 8062dca: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062dce: 085b lsrs r3, r3, #1 8062dd0: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8062dd4: 2300 movs r3, #0 8062dd6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062dda: e012 b.n 8062e02 Buff64[i] = Buff64[i << 1]; 8062ddc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062de0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062de4: 005b lsls r3, r3, #1 8062de6: 49bd ldr r1, [pc, #756] ; (80630dc ) 8062de8: 00db lsls r3, r3, #3 8062dea: 440b add r3, r1 8062dec: cb18 ldmia r3, {r3, r4} 8062dee: 49bb ldr r1, [pc, #748] ; (80630dc ) 8062df0: 00d2 lsls r2, r2, #3 8062df2: 440a add r2, r1 8062df4: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8062df8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062dfc: 3301 adds r3, #1 8062dfe: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062e02: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062e06: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062e0a: 429a cmp r2, r3 8062e0c: d3e6 bcc.n 8062ddc } //** 10 arm_biquad_cascade_df2T_f64(&S_OKT_10Hz, &Buff64[0], &Buff64[Ns], len); 8062e0e: 4bb5 ldr r3, [pc, #724] ; (80630e4 ) 8062e10: 681b ldr r3, [r3, #0] 8062e12: 00db lsls r3, r3, #3 8062e14: 4ab1 ldr r2, [pc, #708] ; (80630dc ) 8062e16: 441a add r2, r3 8062e18: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062e1c: 49af ldr r1, [pc, #700] ; (80630dc ) 8062e1e: 48b2 ldr r0, [pc, #712] ; (80630e8 ) 8062e20: f06c f96c bl 80cf0fc for(i = 0; i < len; i++) { 8062e24: 2300 movs r3, #0 8062e26: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062e2a: e017 b.n 8062e5c In[i] = (float32_t) Buff64[Ns + i]; 8062e2c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062e30: 4aac ldr r2, [pc, #688] ; (80630e4 ) 8062e32: 6811 ldr r1, [r2, #0] 8062e34: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062e38: 440a add r2, r1 8062e3a: 49a8 ldr r1, [pc, #672] ; (80630dc ) 8062e3c: 00d2 lsls r2, r2, #3 8062e3e: 440a add r2, r1 8062e40: ed92 7b00 vldr d7, [r2] 8062e44: eef7 7bc7 vcvt.f32.f64 s15, d7 8062e48: 4aa8 ldr r2, [pc, #672] ; (80630ec ) 8062e4a: 009b lsls r3, r3, #2 8062e4c: 4413 add r3, r2 8062e4e: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062e52: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062e56: 3301 adds r3, #1 8062e58: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062e5c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062e60: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062e64: 429a cmp r2, r3 8062e66: d3e1 bcc.n 8062e2c } if(pardata.IVS[ACC] == RMS) 8062e68: 4ba1 ldr r3, [pc, #644] ; (80630f0 ) 8062e6a: 789b ldrb r3, [r3, #2] 8062e6c: b2db uxtb r3, r3 8062e6e: 2b01 cmp r3, #1 8062e70: d112 bne.n 8062e98 { arm_power_f32(In, len, &fl); 8062e72: f507 73de add.w r3, r7, #444 ; 0x1bc 8062e76: 461a mov r2, r3 8062e78: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062e7c: 489b ldr r0, [pc, #620] ; (80630ec ) 8062e7e: f06b fff3 bl 80cee68 rms10 += fl; 8062e82: 4b9c ldr r3, [pc, #624] ; (80630f4 ) 8062e84: ed93 7a00 vldr s14, [r3] 8062e88: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8062e8c: ee77 7a27 vadd.f32 s15, s14, s15 8062e90: 4b98 ldr r3, [pc, #608] ; (80630f4 ) 8062e92: edc3 7a00 vstr s15, [r3] 8062e96: e04a b.n 8062f2e } else { arm_min_f32(In, len, &fn[0], &i); 8062e98: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8062e9c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062ea0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062ea4: 4891 ldr r0, [pc, #580] ; (80630ec ) 8062ea6: f06c f819 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8062eaa: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062eae: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062eb2: 1d1a adds r2, r3, #4 8062eb4: 460b mov r3, r1 8062eb6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062eba: 488c ldr r0, [pc, #560] ; (80630ec ) 8062ebc: f06c f8aa bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062ec0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062ec4: eef5 7ac0 vcmpe.f32 s15, #0.0 8062ec8: eef1 fa10 vmrs APSR_nzcv, fpscr 8062ecc: dd02 ble.n 8062ed4 8062ece: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062ed2: e003 b.n 8062edc 8062ed4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062ed8: eef1 7a67 vneg.f32 s15, s15 8062edc: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062ee0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062ee4: eef5 7ac0 vcmpe.f32 s15, #0.0 8062ee8: eef1 fa10 vmrs APSR_nzcv, fpscr 8062eec: dd02 ble.n 8062ef4 8062eee: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062ef2: e003 b.n 8062efc 8062ef4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062ef8: eef1 7a67 vneg.f32 s15, s15 8062efc: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8062f00: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062f04: f507 72de add.w r2, r7, #444 ; 0x1bc 8062f08: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8062f0c: 2102 movs r1, #2 8062f0e: f06c f881 bl 80cf014 if(fl > rms10) 8062f12: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8062f16: 4b77 ldr r3, [pc, #476] ; (80630f4 ) 8062f18: edd3 7a00 vldr s15, [r3] 8062f1c: eeb4 7ae7 vcmpe.f32 s14, s15 8062f20: eef1 fa10 vmrs APSR_nzcv, fpscr 8062f24: dd03 ble.n 8062f2e rms10 = fl; 8062f26: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8062f2a: 4a72 ldr r2, [pc, #456] ; (80630f4 ) 8062f2c: 6013 str r3, [r2, #0] } //** 8 arm_biquad_cascade_df2T_f64(&S_OKT_8Hz, &Buff64[0], &Buff64[Ns], len); 8062f2e: 4b6d ldr r3, [pc, #436] ; (80630e4 ) 8062f30: 681b ldr r3, [r3, #0] 8062f32: 00db lsls r3, r3, #3 8062f34: 4a69 ldr r2, [pc, #420] ; (80630dc ) 8062f36: 441a add r2, r3 8062f38: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062f3c: 4967 ldr r1, [pc, #412] ; (80630dc ) 8062f3e: 486e ldr r0, [pc, #440] ; (80630f8 ) 8062f40: f06c f8dc bl 80cf0fc for(i = 0; i < len; i++) { 8062f44: 2300 movs r3, #0 8062f46: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062f4a: e017 b.n 8062f7c In[i] = (float32_t) Buff64[Ns + i]; 8062f4c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062f50: 4a64 ldr r2, [pc, #400] ; (80630e4 ) 8062f52: 6811 ldr r1, [r2, #0] 8062f54: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062f58: 440a add r2, r1 8062f5a: 4960 ldr r1, [pc, #384] ; (80630dc ) 8062f5c: 00d2 lsls r2, r2, #3 8062f5e: 440a add r2, r1 8062f60: ed92 7b00 vldr d7, [r2] 8062f64: eef7 7bc7 vcvt.f32.f64 s15, d7 8062f68: 4a60 ldr r2, [pc, #384] ; (80630ec ) 8062f6a: 009b lsls r3, r3, #2 8062f6c: 4413 add r3, r2 8062f6e: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062f72: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062f76: 3301 adds r3, #1 8062f78: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062f7c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062f80: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062f84: 429a cmp r2, r3 8062f86: d3e1 bcc.n 8062f4c } if(pardata.IVS[ACC] == RMS) 8062f88: 4b59 ldr r3, [pc, #356] ; (80630f0 ) 8062f8a: 789b ldrb r3, [r3, #2] 8062f8c: b2db uxtb r3, r3 8062f8e: 2b01 cmp r3, #1 8062f90: d112 bne.n 8062fb8 { arm_power_f32(In, len, &fl); 8062f92: f507 73de add.w r3, r7, #444 ; 0x1bc 8062f96: 461a mov r2, r3 8062f98: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062f9c: 4853 ldr r0, [pc, #332] ; (80630ec ) 8062f9e: f06b ff63 bl 80cee68 rms8 += fl; 8062fa2: 4b56 ldr r3, [pc, #344] ; (80630fc ) 8062fa4: ed93 7a00 vldr s14, [r3] 8062fa8: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8062fac: ee77 7a27 vadd.f32 s15, s14, s15 8062fb0: 4b52 ldr r3, [pc, #328] ; (80630fc ) 8062fb2: edc3 7a00 vstr s15, [r3] 8062fb6: e04a b.n 806304e } else { arm_min_f32(In, len, &fn[0], &i); 8062fb8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8062fbc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062fc0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062fc4: 4849 ldr r0, [pc, #292] ; (80630ec ) 8062fc6: f06b ff89 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8062fca: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062fce: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062fd2: 1d1a adds r2, r3, #4 8062fd4: 460b mov r3, r1 8062fd6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062fda: 4844 ldr r0, [pc, #272] ; (80630ec ) 8062fdc: f06c f81a bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062fe0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062fe4: eef5 7ac0 vcmpe.f32 s15, #0.0 8062fe8: eef1 fa10 vmrs APSR_nzcv, fpscr 8062fec: dd02 ble.n 8062ff4 8062fee: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062ff2: e003 b.n 8062ffc 8062ff4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062ff8: eef1 7a67 vneg.f32 s15, s15 8062ffc: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8063000: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063004: eef5 7ac0 vcmpe.f32 s15, #0.0 8063008: eef1 fa10 vmrs APSR_nzcv, fpscr 806300c: dd02 ble.n 8063014 806300e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063012: e003 b.n 806301c 8063014: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063018: eef1 7a67 vneg.f32 s15, s15 806301c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8063020: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8063024: f507 72de add.w r2, r7, #444 ; 0x1bc 8063028: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806302c: 2102 movs r1, #2 806302e: f06b fff1 bl 80cf014 if(fl > rms8) 8063032: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8063036: 4b31 ldr r3, [pc, #196] ; (80630fc ) 8063038: edd3 7a00 vldr s15, [r3] 806303c: eeb4 7ae7 vcmpe.f32 s14, s15 8063040: eef1 fa10 vmrs APSR_nzcv, fpscr 8063044: dd03 ble.n 806304e rms8 = fl; 8063046: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 806304a: 4a2c ldr r2, [pc, #176] ; (80630fc ) 806304c: 6013 str r3, [r2, #0] } //** 6,3 arm_biquad_cascade_df2T_f64(&S_OKT_6_3Hz, &Buff64[0], &Buff64[Ns], len); 806304e: 4b25 ldr r3, [pc, #148] ; (80630e4 ) 8063050: 681b ldr r3, [r3, #0] 8063052: 00db lsls r3, r3, #3 8063054: 4a21 ldr r2, [pc, #132] ; (80630dc ) 8063056: 441a add r2, r3 8063058: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806305c: 491f ldr r1, [pc, #124] ; (80630dc ) 806305e: 4828 ldr r0, [pc, #160] ; (8063100 ) 8063060: f06c f84c bl 80cf0fc for(i = 0; i < len; i++) { 8063064: 2300 movs r3, #0 8063066: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806306a: e017 b.n 806309c In[i] = (float32_t) Buff64[Ns + i]; 806306c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063070: 4a1c ldr r2, [pc, #112] ; (80630e4 ) 8063072: 6811 ldr r1, [r2, #0] 8063074: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063078: 440a add r2, r1 806307a: 4918 ldr r1, [pc, #96] ; (80630dc ) 806307c: 00d2 lsls r2, r2, #3 806307e: 440a add r2, r1 8063080: ed92 7b00 vldr d7, [r2] 8063084: eef7 7bc7 vcvt.f32.f64 s15, d7 8063088: 4a18 ldr r2, [pc, #96] ; (80630ec ) 806308a: 009b lsls r3, r3, #2 806308c: 4413 add r3, r2 806308e: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8063092: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063096: 3301 adds r3, #1 8063098: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806309c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80630a0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80630a4: 429a cmp r2, r3 80630a6: d3e1 bcc.n 806306c } if(pardata.IVS[ACC] == RMS) 80630a8: 4b11 ldr r3, [pc, #68] ; (80630f0 ) 80630aa: 789b ldrb r3, [r3, #2] 80630ac: b2db uxtb r3, r3 80630ae: 2b01 cmp r3, #1 80630b0: d12a bne.n 8063108 { arm_power_f32(In, len, &fl); 80630b2: f507 73de add.w r3, r7, #444 ; 0x1bc 80630b6: 461a mov r2, r3 80630b8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80630bc: 480b ldr r0, [pc, #44] ; (80630ec ) 80630be: f06b fed3 bl 80cee68 rms6_3 += fl; 80630c2: 4b10 ldr r3, [pc, #64] ; (8063104 ) 80630c4: ed93 7a00 vldr s14, [r3] 80630c8: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 80630cc: ee77 7a27 vadd.f32 s15, s14, s15 80630d0: 4b0c ldr r3, [pc, #48] ; (8063104 ) 80630d2: edc3 7a00 vstr s15, [r3] 80630d6: e062 b.n 806319e 80630d8: 20020db0 .word 0x20020db0 80630dc: 20037b40 .word 0x20037b40 80630e0: 2002639c .word 0x2002639c 80630e4: 20021d2c .word 0x20021d2c 80630e8: 200680e0 .word 0x200680e0 80630ec: 20027a20 .word 0x20027a20 80630f0: 20023eb8 .word 0x20023eb8 80630f4: 20021d5c .word 0x20021d5c 80630f8: 20057d24 .word 0x20057d24 80630fc: 20021d20 .word 0x20021d20 8063100: 20057ebc .word 0x20057ebc 8063104: 20021d30 .word 0x20021d30 } else { arm_min_f32(In, len, &fn[0], &i); 8063108: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806310c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8063110: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8063114: 48ce ldr r0, [pc, #824] ; (8063450 ) 8063116: f06b fee1 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 806311a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 806311e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8063122: 1d1a adds r2, r3, #4 8063124: 460b mov r3, r1 8063126: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806312a: 48c9 ldr r0, [pc, #804] ; (8063450 ) 806312c: f06b ff72 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8063130: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8063134: eef5 7ac0 vcmpe.f32 s15, #0.0 8063138: eef1 fa10 vmrs APSR_nzcv, fpscr 806313c: dd02 ble.n 8063144 806313e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8063142: e003 b.n 806314c 8063144: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8063148: eef1 7a67 vneg.f32 s15, s15 806314c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8063150: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063154: eef5 7ac0 vcmpe.f32 s15, #0.0 8063158: eef1 fa10 vmrs APSR_nzcv, fpscr 806315c: dd02 ble.n 8063164 806315e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063162: e003 b.n 806316c 8063164: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063168: eef1 7a67 vneg.f32 s15, s15 806316c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8063170: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8063174: f507 72de add.w r2, r7, #444 ; 0x1bc 8063178: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806317c: 2102 movs r1, #2 806317e: f06b ff49 bl 80cf014 if(fl > rms6_3) 8063182: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8063186: 4bb3 ldr r3, [pc, #716] ; (8063454 ) 8063188: edd3 7a00 vldr s15, [r3] 806318c: eeb4 7ae7 vcmpe.f32 s14, s15 8063190: eef1 fa10 vmrs APSR_nzcv, fpscr 8063194: dd03 ble.n 806319e rms6_3 = fl; 8063196: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 806319a: 4aae ldr r2, [pc, #696] ; (8063454 ) 806319c: 6013 str r3, [r2, #0] arm_biquad_cascade_df2T_f64(&S_LP_4, &Buff64[0], &Buff64[0], len); 806319e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80631a2: 4aad ldr r2, [pc, #692] ; (8063458 ) 80631a4: 49ac ldr r1, [pc, #688] ; (8063458 ) 80631a6: 48ad ldr r0, [pc, #692] ; (806345c ) 80631a8: f06b ffa8 bl 80cf0fc len >>= 1; 80631ac: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80631b0: 085b lsrs r3, r3, #1 80631b2: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 80631b6: 2300 movs r3, #0 80631b8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80631bc: e012 b.n 80631e4 Buff64[i] = Buff64[i << 1]; 80631be: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80631c2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80631c6: 005b lsls r3, r3, #1 80631c8: 49a3 ldr r1, [pc, #652] ; (8063458 ) 80631ca: 00db lsls r3, r3, #3 80631cc: 440b add r3, r1 80631ce: cb18 ldmia r3, {r3, r4} 80631d0: 49a1 ldr r1, [pc, #644] ; (8063458 ) 80631d2: 00d2 lsls r2, r2, #3 80631d4: 440a add r2, r1 80631d6: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 80631da: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80631de: 3301 adds r3, #1 80631e0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80631e4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80631e8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80631ec: 429a cmp r2, r3 80631ee: d3e6 bcc.n 80631be } //** 5 arm_biquad_cascade_df2T_f64(&S_OKT_5Hz, &Buff64[0], &Buff64[Ns], len); 80631f0: 4b9b ldr r3, [pc, #620] ; (8063460 ) 80631f2: 681b ldr r3, [r3, #0] 80631f4: 00db lsls r3, r3, #3 80631f6: 4a98 ldr r2, [pc, #608] ; (8063458 ) 80631f8: 441a add r2, r3 80631fa: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80631fe: 4996 ldr r1, [pc, #600] ; (8063458 ) 8063200: 4898 ldr r0, [pc, #608] ; (8063464 ) 8063202: f06b ff7b bl 80cf0fc for(i = 0; i < len; i++) { 8063206: 2300 movs r3, #0 8063208: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806320c: e017 b.n 806323e In[i] = (float32_t) Buff64[Ns + i]; 806320e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063212: 4a93 ldr r2, [pc, #588] ; (8063460 ) 8063214: 6811 ldr r1, [r2, #0] 8063216: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806321a: 440a add r2, r1 806321c: 498e ldr r1, [pc, #568] ; (8063458 ) 806321e: 00d2 lsls r2, r2, #3 8063220: 440a add r2, r1 8063222: ed92 7b00 vldr d7, [r2] 8063226: eef7 7bc7 vcvt.f32.f64 s15, d7 806322a: 4a89 ldr r2, [pc, #548] ; (8063450 ) 806322c: 009b lsls r3, r3, #2 806322e: 4413 add r3, r2 8063230: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8063234: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063238: 3301 adds r3, #1 806323a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806323e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063242: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8063246: 429a cmp r2, r3 8063248: d3e1 bcc.n 806320e } if(pardata.IVS[ACC] == RMS) 806324a: 4b87 ldr r3, [pc, #540] ; (8063468 ) 806324c: 789b ldrb r3, [r3, #2] 806324e: b2db uxtb r3, r3 8063250: 2b01 cmp r3, #1 8063252: d112 bne.n 806327a { arm_power_f32(In, len, &fl); 8063254: f507 73de add.w r3, r7, #444 ; 0x1bc 8063258: 461a mov r2, r3 806325a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806325e: 487c ldr r0, [pc, #496] ; (8063450 ) 8063260: f06b fe02 bl 80cee68 rms5 += fl; 8063264: 4b81 ldr r3, [pc, #516] ; (806346c ) 8063266: ed93 7a00 vldr s14, [r3] 806326a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 806326e: ee77 7a27 vadd.f32 s15, s14, s15 8063272: 4b7e ldr r3, [pc, #504] ; (806346c ) 8063274: edc3 7a00 vstr s15, [r3] 8063278: e04a b.n 8063310 } else { arm_min_f32(In, len, &fn[0], &i); 806327a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806327e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8063282: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8063286: 4872 ldr r0, [pc, #456] ; (8063450 ) 8063288: f06b fe28 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 806328c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8063290: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8063294: 1d1a adds r2, r3, #4 8063296: 460b mov r3, r1 8063298: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806329c: 486c ldr r0, [pc, #432] ; (8063450 ) 806329e: f06b feb9 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80632a2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80632a6: eef5 7ac0 vcmpe.f32 s15, #0.0 80632aa: eef1 fa10 vmrs APSR_nzcv, fpscr 80632ae: dd02 ble.n 80632b6 80632b0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80632b4: e003 b.n 80632be 80632b6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80632ba: eef1 7a67 vneg.f32 s15, s15 80632be: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80632c2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80632c6: eef5 7ac0 vcmpe.f32 s15, #0.0 80632ca: eef1 fa10 vmrs APSR_nzcv, fpscr 80632ce: dd02 ble.n 80632d6 80632d0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80632d4: e003 b.n 80632de 80632d6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80632da: eef1 7a67 vneg.f32 s15, s15 80632de: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 80632e2: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80632e6: f507 72de add.w r2, r7, #444 ; 0x1bc 80632ea: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80632ee: 2102 movs r1, #2 80632f0: f06b fe90 bl 80cf014 if(fl > rms5) 80632f4: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 80632f8: 4b5c ldr r3, [pc, #368] ; (806346c ) 80632fa: edd3 7a00 vldr s15, [r3] 80632fe: eeb4 7ae7 vcmpe.f32 s14, s15 8063302: eef1 fa10 vmrs APSR_nzcv, fpscr 8063306: dd03 ble.n 8063310 rms5 = fl; 8063308: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 806330c: 4a57 ldr r2, [pc, #348] ; (806346c ) 806330e: 6013 str r3, [r2, #0] } //** 4 arm_biquad_cascade_df2T_f64(&S_OKT_4Hz, &Buff64[0], &Buff64[Ns], len); 8063310: 4b53 ldr r3, [pc, #332] ; (8063460 ) 8063312: 681b ldr r3, [r3, #0] 8063314: 00db lsls r3, r3, #3 8063316: 4a50 ldr r2, [pc, #320] ; (8063458 ) 8063318: 441a add r2, r3 806331a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806331e: 494e ldr r1, [pc, #312] ; (8063458 ) 8063320: 4853 ldr r0, [pc, #332] ; (8063470 ) 8063322: f06b feeb bl 80cf0fc for(i = 0; i < len; i++) { 8063326: 2300 movs r3, #0 8063328: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806332c: e017 b.n 806335e In[i] = (float32_t) Buff64[Ns + i]; 806332e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063332: 4a4b ldr r2, [pc, #300] ; (8063460 ) 8063334: 6811 ldr r1, [r2, #0] 8063336: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806333a: 440a add r2, r1 806333c: 4946 ldr r1, [pc, #280] ; (8063458 ) 806333e: 00d2 lsls r2, r2, #3 8063340: 440a add r2, r1 8063342: ed92 7b00 vldr d7, [r2] 8063346: eef7 7bc7 vcvt.f32.f64 s15, d7 806334a: 4a41 ldr r2, [pc, #260] ; (8063450 ) 806334c: 009b lsls r3, r3, #2 806334e: 4413 add r3, r2 8063350: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8063354: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063358: 3301 adds r3, #1 806335a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806335e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063362: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8063366: 429a cmp r2, r3 8063368: d3e1 bcc.n 806332e } if(pardata.IVS[ACC] == RMS) 806336a: 4b3f ldr r3, [pc, #252] ; (8063468 ) 806336c: 789b ldrb r3, [r3, #2] 806336e: b2db uxtb r3, r3 8063370: 2b01 cmp r3, #1 8063372: d112 bne.n 806339a { arm_power_f32(In, len, &fl); 8063374: f507 73de add.w r3, r7, #444 ; 0x1bc 8063378: 461a mov r2, r3 806337a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806337e: 4834 ldr r0, [pc, #208] ; (8063450 ) 8063380: f06b fd72 bl 80cee68 rms4 += fl; 8063384: 4b3b ldr r3, [pc, #236] ; (8063474 ) 8063386: ed93 7a00 vldr s14, [r3] 806338a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 806338e: ee77 7a27 vadd.f32 s15, s14, s15 8063392: 4b38 ldr r3, [pc, #224] ; (8063474 ) 8063394: edc3 7a00 vstr s15, [r3] 8063398: e04a b.n 8063430 } else { arm_min_f32(In, len, &fn[0], &i); 806339a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806339e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80633a2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80633a6: 482a ldr r0, [pc, #168] ; (8063450 ) 80633a8: f06b fd98 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 80633ac: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80633b0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80633b4: 1d1a adds r2, r3, #4 80633b6: 460b mov r3, r1 80633b8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80633bc: 4824 ldr r0, [pc, #144] ; (8063450 ) 80633be: f06b fe29 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80633c2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80633c6: eef5 7ac0 vcmpe.f32 s15, #0.0 80633ca: eef1 fa10 vmrs APSR_nzcv, fpscr 80633ce: dd02 ble.n 80633d6 80633d0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80633d4: e003 b.n 80633de 80633d6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80633da: eef1 7a67 vneg.f32 s15, s15 80633de: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80633e2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80633e6: eef5 7ac0 vcmpe.f32 s15, #0.0 80633ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80633ee: dd02 ble.n 80633f6 80633f0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80633f4: e003 b.n 80633fe 80633f6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80633fa: eef1 7a67 vneg.f32 s15, s15 80633fe: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8063402: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8063406: f507 72de add.w r2, r7, #444 ; 0x1bc 806340a: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806340e: 2102 movs r1, #2 8063410: f06b fe00 bl 80cf014 if(fl > rms4) 8063414: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8063418: 4b16 ldr r3, [pc, #88] ; (8063474 ) 806341a: edd3 7a00 vldr s15, [r3] 806341e: eeb4 7ae7 vcmpe.f32 s14, s15 8063422: eef1 fa10 vmrs APSR_nzcv, fpscr 8063426: dd03 ble.n 8063430 rms4 = fl; 8063428: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 806342c: 4a11 ldr r2, [pc, #68] ; (8063474 ) 806342e: 6013 str r3, [r2, #0] } //** 3,15 arm_biquad_cascade_df2T_f64(&S_OKT_3_15Hz, &Buff64[0], &Buff64[Ns], len); 8063430: 4b0b ldr r3, [pc, #44] ; (8063460 ) 8063432: 681b ldr r3, [r3, #0] 8063434: 00db lsls r3, r3, #3 8063436: 4a08 ldr r2, [pc, #32] ; (8063458 ) 8063438: 441a add r2, r3 806343a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806343e: 4906 ldr r1, [pc, #24] ; (8063458 ) 8063440: 480d ldr r0, [pc, #52] ; (8063478 ) 8063442: f06b fe5b bl 80cf0fc for(i = 0; i < len; i++) { 8063446: 2300 movs r3, #0 8063448: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806344c: e02e b.n 80634ac 806344e: bf00 nop 8063450: 20027a20 .word 0x20027a20 8063454: 20021d30 .word 0x20021d30 8063458: 20037b40 .word 0x20037b40 806345c: 20057b40 .word 0x20057b40 8063460: 20021d2c .word 0x20021d2c 8063464: 20057d50 .word 0x20057d50 8063468: 20023eb8 .word 0x20023eb8 806346c: 20021d34 .word 0x20021d34 8063470: 20026098 .word 0x20026098 8063474: 20021d68 .word 0x20021d68 8063478: 20068464 .word 0x20068464 In[i] = (float32_t) Buff64[Ns + i]; 806347c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063480: 4acd ldr r2, [pc, #820] ; (80637b8 ) 8063482: 6811 ldr r1, [r2, #0] 8063484: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063488: 440a add r2, r1 806348a: 49cc ldr r1, [pc, #816] ; (80637bc ) 806348c: 00d2 lsls r2, r2, #3 806348e: 440a add r2, r1 8063490: ed92 7b00 vldr d7, [r2] 8063494: eef7 7bc7 vcvt.f32.f64 s15, d7 8063498: 4ac9 ldr r2, [pc, #804] ; (80637c0 ) 806349a: 009b lsls r3, r3, #2 806349c: 4413 add r3, r2 806349e: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80634a2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80634a6: 3301 adds r3, #1 80634a8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80634ac: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80634b0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80634b4: 429a cmp r2, r3 80634b6: d3e1 bcc.n 806347c } if(pardata.IVS[ACC] == RMS) 80634b8: 4bc2 ldr r3, [pc, #776] ; (80637c4 ) 80634ba: 789b ldrb r3, [r3, #2] 80634bc: b2db uxtb r3, r3 80634be: 2b01 cmp r3, #1 80634c0: d112 bne.n 80634e8 { arm_power_f32(In, len, &fl); 80634c2: f507 73de add.w r3, r7, #444 ; 0x1bc 80634c6: 461a mov r2, r3 80634c8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80634cc: 48bc ldr r0, [pc, #752] ; (80637c0 ) 80634ce: f06b fccb bl 80cee68 rms3_15 += fl; 80634d2: 4bbd ldr r3, [pc, #756] ; (80637c8 ) 80634d4: ed93 7a00 vldr s14, [r3] 80634d8: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 80634dc: ee77 7a27 vadd.f32 s15, s14, s15 80634e0: 4bb9 ldr r3, [pc, #740] ; (80637c8 ) 80634e2: edc3 7a00 vstr s15, [r3] 80634e6: e04a b.n 806357e } else { arm_min_f32(In, len, &fn[0], &i); 80634e8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80634ec: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80634f0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80634f4: 48b2 ldr r0, [pc, #712] ; (80637c0 ) 80634f6: f06b fcf1 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 80634fa: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80634fe: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8063502: 1d1a adds r2, r3, #4 8063504: 460b mov r3, r1 8063506: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806350a: 48ad ldr r0, [pc, #692] ; (80637c0 ) 806350c: f06b fd82 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8063510: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8063514: eef5 7ac0 vcmpe.f32 s15, #0.0 8063518: eef1 fa10 vmrs APSR_nzcv, fpscr 806351c: dd02 ble.n 8063524 806351e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8063522: e003 b.n 806352c 8063524: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8063528: eef1 7a67 vneg.f32 s15, s15 806352c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8063530: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063534: eef5 7ac0 vcmpe.f32 s15, #0.0 8063538: eef1 fa10 vmrs APSR_nzcv, fpscr 806353c: dd02 ble.n 8063544 806353e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063542: e003 b.n 806354c 8063544: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063548: eef1 7a67 vneg.f32 s15, s15 806354c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8063550: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8063554: f507 72de add.w r2, r7, #444 ; 0x1bc 8063558: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806355c: 2102 movs r1, #2 806355e: f06b fd59 bl 80cf014 if(fl > rms3_15) 8063562: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8063566: 4b98 ldr r3, [pc, #608] ; (80637c8 ) 8063568: edd3 7a00 vldr s15, [r3] 806356c: eeb4 7ae7 vcmpe.f32 s14, s15 8063570: eef1 fa10 vmrs APSR_nzcv, fpscr 8063574: dd03 ble.n 806357e rms3_15 = fl; 8063576: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 806357a: 4a93 ldr r2, [pc, #588] ; (80637c8 ) 806357c: 6013 str r3, [r2, #0] } arm_biquad_cascade_df2T_f64(&S_LP_2, &Buff64[0], &Buff64[0], len); 806357e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8063582: 4a8e ldr r2, [pc, #568] ; (80637bc ) 8063584: 498d ldr r1, [pc, #564] ; (80637bc ) 8063586: 4891 ldr r0, [pc, #580] ; (80637cc ) 8063588: f06b fdb8 bl 80cf0fc len >>= 1; 806358c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8063590: 085b lsrs r3, r3, #1 8063592: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8063596: 2300 movs r3, #0 8063598: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806359c: e012 b.n 80635c4 Buff64[i] = Buff64[i << 1]; 806359e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80635a2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80635a6: 005b lsls r3, r3, #1 80635a8: 4984 ldr r1, [pc, #528] ; (80637bc ) 80635aa: 00db lsls r3, r3, #3 80635ac: 440b add r3, r1 80635ae: cb18 ldmia r3, {r3, r4} 80635b0: 4982 ldr r1, [pc, #520] ; (80637bc ) 80635b2: 00d2 lsls r2, r2, #3 80635b4: 440a add r2, r1 80635b6: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 80635ba: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80635be: 3301 adds r3, #1 80635c0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80635c4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80635c8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80635cc: 429a cmp r2, r3 80635ce: d3e6 bcc.n 806359e } //** 2,5 arm_biquad_cascade_df2T_f64(&S_OKT_2_5Hz, &Buff64[0], &Buff64[Ns], len); 80635d0: 4b79 ldr r3, [pc, #484] ; (80637b8 ) 80635d2: 681b ldr r3, [r3, #0] 80635d4: 00db lsls r3, r3, #3 80635d6: 4a79 ldr r2, [pc, #484] ; (80637bc ) 80635d8: 441a add r2, r3 80635da: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80635de: 4977 ldr r1, [pc, #476] ; (80637bc ) 80635e0: 487b ldr r0, [pc, #492] ; (80637d0 ) 80635e2: f06b fd8b bl 80cf0fc for(i = 0; i < len; i++) { 80635e6: 2300 movs r3, #0 80635e8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80635ec: e017 b.n 806361e In[i] = (float32_t) Buff64[Ns + i]; 80635ee: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80635f2: 4a71 ldr r2, [pc, #452] ; (80637b8 ) 80635f4: 6811 ldr r1, [r2, #0] 80635f6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80635fa: 440a add r2, r1 80635fc: 496f ldr r1, [pc, #444] ; (80637bc ) 80635fe: 00d2 lsls r2, r2, #3 8063600: 440a add r2, r1 8063602: ed92 7b00 vldr d7, [r2] 8063606: eef7 7bc7 vcvt.f32.f64 s15, d7 806360a: 4a6d ldr r2, [pc, #436] ; (80637c0 ) 806360c: 009b lsls r3, r3, #2 806360e: 4413 add r3, r2 8063610: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8063614: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063618: 3301 adds r3, #1 806361a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806361e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063622: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8063626: 429a cmp r2, r3 8063628: d3e1 bcc.n 80635ee } if(pardata.IVS[ACC] == RMS) 806362a: 4b66 ldr r3, [pc, #408] ; (80637c4 ) 806362c: 789b ldrb r3, [r3, #2] 806362e: b2db uxtb r3, r3 8063630: 2b01 cmp r3, #1 8063632: d112 bne.n 806365a { arm_power_f32(In, len, &fl); 8063634: f507 73de add.w r3, r7, #444 ; 0x1bc 8063638: 461a mov r2, r3 806363a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806363e: 4860 ldr r0, [pc, #384] ; (80637c0 ) 8063640: f06b fc12 bl 80cee68 rms2_5 += fl; 8063644: 4b63 ldr r3, [pc, #396] ; (80637d4 ) 8063646: ed93 7a00 vldr s14, [r3] 806364a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 806364e: ee77 7a27 vadd.f32 s15, s14, s15 8063652: 4b60 ldr r3, [pc, #384] ; (80637d4 ) 8063654: edc3 7a00 vstr s15, [r3] 8063658: e04a b.n 80636f0 } else { arm_min_f32(In, len, &fn[0], &i); 806365a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806365e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8063662: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8063666: 4856 ldr r0, [pc, #344] ; (80637c0 ) 8063668: f06b fc38 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 806366c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8063670: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8063674: 1d1a adds r2, r3, #4 8063676: 460b mov r3, r1 8063678: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806367c: 4850 ldr r0, [pc, #320] ; (80637c0 ) 806367e: f06b fcc9 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8063682: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8063686: eef5 7ac0 vcmpe.f32 s15, #0.0 806368a: eef1 fa10 vmrs APSR_nzcv, fpscr 806368e: dd02 ble.n 8063696 8063690: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8063694: e003 b.n 806369e 8063696: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806369a: eef1 7a67 vneg.f32 s15, s15 806369e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80636a2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80636a6: eef5 7ac0 vcmpe.f32 s15, #0.0 80636aa: eef1 fa10 vmrs APSR_nzcv, fpscr 80636ae: dd02 ble.n 80636b6 80636b0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80636b4: e003 b.n 80636be 80636b6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80636ba: eef1 7a67 vneg.f32 s15, s15 80636be: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 80636c2: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80636c6: f507 72de add.w r2, r7, #444 ; 0x1bc 80636ca: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80636ce: 2102 movs r1, #2 80636d0: f06b fca0 bl 80cf014 if(fl > rms2_5) 80636d4: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 80636d8: 4b3e ldr r3, [pc, #248] ; (80637d4 ) 80636da: edd3 7a00 vldr s15, [r3] 80636de: eeb4 7ae7 vcmpe.f32 s14, s15 80636e2: eef1 fa10 vmrs APSR_nzcv, fpscr 80636e6: dd03 ble.n 80636f0 rms2_5 = fl; 80636e8: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80636ec: 4a39 ldr r2, [pc, #228] ; (80637d4 ) 80636ee: 6013 str r3, [r2, #0] } //** 2 arm_biquad_cascade_df2T_f64(&S_OKT_2Hz, &Buff64[0], &Buff64[Ns], len); 80636f0: 4b31 ldr r3, [pc, #196] ; (80637b8 ) 80636f2: 681b ldr r3, [r3, #0] 80636f4: 00db lsls r3, r3, #3 80636f6: 4a31 ldr r2, [pc, #196] ; (80637bc ) 80636f8: 441a add r2, r3 80636fa: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80636fe: 492f ldr r1, [pc, #188] ; (80637bc ) 8063700: 4835 ldr r0, [pc, #212] ; (80637d8 ) 8063702: f06b fcfb bl 80cf0fc for(i = 0; i < len; i++) { 8063706: 2300 movs r3, #0 8063708: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806370c: e017 b.n 806373e In[i] = (float32_t) Buff64[Ns + i]; 806370e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063712: 4a29 ldr r2, [pc, #164] ; (80637b8 ) 8063714: 6811 ldr r1, [r2, #0] 8063716: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806371a: 440a add r2, r1 806371c: 4927 ldr r1, [pc, #156] ; (80637bc ) 806371e: 00d2 lsls r2, r2, #3 8063720: 440a add r2, r1 8063722: ed92 7b00 vldr d7, [r2] 8063726: eef7 7bc7 vcvt.f32.f64 s15, d7 806372a: 4a25 ldr r2, [pc, #148] ; (80637c0 ) 806372c: 009b lsls r3, r3, #2 806372e: 4413 add r3, r2 8063730: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8063734: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063738: 3301 adds r3, #1 806373a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806373e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063742: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8063746: 429a cmp r2, r3 8063748: d3e1 bcc.n 806370e } if(pardata.IVS[ACC] == RMS) 806374a: 4b1e ldr r3, [pc, #120] ; (80637c4 ) 806374c: 789b ldrb r3, [r3, #2] 806374e: b2db uxtb r3, r3 8063750: 2b01 cmp r3, #1 8063752: d112 bne.n 806377a { arm_power_f32(In, len, &fl); 8063754: f507 73de add.w r3, r7, #444 ; 0x1bc 8063758: 461a mov r2, r3 806375a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806375e: 4818 ldr r0, [pc, #96] ; (80637c0 ) 8063760: f06b fb82 bl 80cee68 rms2 += fl; 8063764: 4b1d ldr r3, [pc, #116] ; (80637dc ) 8063766: ed93 7a00 vldr s14, [r3] 806376a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 806376e: ee77 7a27 vadd.f32 s15, s14, s15 8063772: 4b1a ldr r3, [pc, #104] ; (80637dc ) 8063774: edc3 7a00 vstr s15, [r3] 8063778: e05f b.n 806383a } else { arm_min_f32(In, len, &fn[0], &i); 806377a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806377e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8063782: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8063786: 480e ldr r0, [pc, #56] ; (80637c0 ) 8063788: f06b fba8 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 806378c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8063790: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8063794: 1d1a adds r2, r3, #4 8063796: 460b mov r3, r1 8063798: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806379c: 4808 ldr r0, [pc, #32] ; (80637c0 ) 806379e: f06b fc39 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80637a2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80637a6: eef5 7ac0 vcmpe.f32 s15, #0.0 80637aa: eef1 fa10 vmrs APSR_nzcv, fpscr 80637ae: dd17 ble.n 80637e0 80637b0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80637b4: e018 b.n 80637e8 80637b6: bf00 nop 80637b8: 20021d2c .word 0x20021d2c 80637bc: 20037b40 .word 0x20037b40 80637c0: 20027a20 .word 0x20027a20 80637c4: 20023eb8 .word 0x20023eb8 80637c8: 20021d64 .word 0x20021d64 80637cc: 20057d5c .word 0x20057d5c 80637d0: 20057dd8 .word 0x20057dd8 80637d4: 20021d48 .word 0x20021d48 80637d8: 20026468 .word 0x20026468 80637dc: 20021d28 .word 0x20021d28 80637e0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80637e4: eef1 7a67 vneg.f32 s15, s15 80637e8: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80637ec: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80637f0: eef5 7ac0 vcmpe.f32 s15, #0.0 80637f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80637f8: dd02 ble.n 8063800 80637fa: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80637fe: e003 b.n 8063808 8063800: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063804: eef1 7a67 vneg.f32 s15, s15 8063808: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 806380c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8063810: f507 72de add.w r2, r7, #444 ; 0x1bc 8063814: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8063818: 2102 movs r1, #2 806381a: f06b fbfb bl 80cf014 if(fl > rms2) 806381e: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8063822: 4bcd ldr r3, [pc, #820] ; (8063b58 ) 8063824: edd3 7a00 vldr s15, [r3] 8063828: eeb4 7ae7 vcmpe.f32 s14, s15 806382c: eef1 fa10 vmrs APSR_nzcv, fpscr 8063830: dd03 ble.n 806383a rms2 = fl; 8063832: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8063836: 4ac8 ldr r2, [pc, #800] ; (8063b58 ) 8063838: 6013 str r3, [r2, #0] } //** 1,6 arm_biquad_cascade_df2T_f64(&S_OKT_1_6Hz, &Buff64[0], &Buff64[Ns], len); 806383a: 4bc8 ldr r3, [pc, #800] ; (8063b5c ) 806383c: 681b ldr r3, [r3, #0] 806383e: 00db lsls r3, r3, #3 8063840: 4ac7 ldr r2, [pc, #796] ; (8063b60 ) 8063842: 441a add r2, r3 8063844: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8063848: 49c5 ldr r1, [pc, #788] ; (8063b60 ) 806384a: 48c6 ldr r0, [pc, #792] ; (8063b64 ) 806384c: f06b fc56 bl 80cf0fc for(i = 0; i < len; i++) { 8063850: 2300 movs r3, #0 8063852: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063856: e017 b.n 8063888 In[i] = (float32_t) Buff64[Ns + i]; 8063858: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806385c: 4abf ldr r2, [pc, #764] ; (8063b5c ) 806385e: 6811 ldr r1, [r2, #0] 8063860: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063864: 440a add r2, r1 8063866: 49be ldr r1, [pc, #760] ; (8063b60 ) 8063868: 00d2 lsls r2, r2, #3 806386a: 440a add r2, r1 806386c: ed92 7b00 vldr d7, [r2] 8063870: eef7 7bc7 vcvt.f32.f64 s15, d7 8063874: 4abc ldr r2, [pc, #752] ; (8063b68 ) 8063876: 009b lsls r3, r3, #2 8063878: 4413 add r3, r2 806387a: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 806387e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063882: 3301 adds r3, #1 8063884: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063888: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806388c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8063890: 429a cmp r2, r3 8063892: d3e1 bcc.n 8063858 } if(pardata.IVS[ACC] == RMS) 8063894: 4bb5 ldr r3, [pc, #724] ; (8063b6c ) 8063896: 789b ldrb r3, [r3, #2] 8063898: b2db uxtb r3, r3 806389a: 2b01 cmp r3, #1 806389c: d112 bne.n 80638c4 { arm_power_f32(In, len, &fl); 806389e: f507 73de add.w r3, r7, #444 ; 0x1bc 80638a2: 461a mov r2, r3 80638a4: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80638a8: 48af ldr r0, [pc, #700] ; (8063b68 ) 80638aa: f06b fadd bl 80cee68 rms1_6 += fl; 80638ae: 4bb0 ldr r3, [pc, #704] ; (8063b70 ) 80638b0: ed93 7a00 vldr s14, [r3] 80638b4: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 80638b8: ee77 7a27 vadd.f32 s15, s14, s15 80638bc: 4bac ldr r3, [pc, #688] ; (8063b70 ) 80638be: edc3 7a00 vstr s15, [r3] 80638c2: e04a b.n 806395a } else { arm_min_f32(In, len, &fn[0], &i); 80638c4: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80638c8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80638cc: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80638d0: 48a5 ldr r0, [pc, #660] ; (8063b68 ) 80638d2: f06b fb03 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 80638d6: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80638da: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80638de: 1d1a adds r2, r3, #4 80638e0: 460b mov r3, r1 80638e2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80638e6: 48a0 ldr r0, [pc, #640] ; (8063b68 ) 80638e8: f06b fb94 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80638ec: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80638f0: eef5 7ac0 vcmpe.f32 s15, #0.0 80638f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80638f8: dd02 ble.n 8063900 80638fa: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80638fe: e003 b.n 8063908 8063900: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8063904: eef1 7a67 vneg.f32 s15, s15 8063908: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 806390c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063910: eef5 7ac0 vcmpe.f32 s15, #0.0 8063914: eef1 fa10 vmrs APSR_nzcv, fpscr 8063918: dd02 ble.n 8063920 806391a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806391e: e003 b.n 8063928 8063920: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063924: eef1 7a67 vneg.f32 s15, s15 8063928: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 806392c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8063930: f507 72de add.w r2, r7, #444 ; 0x1bc 8063934: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8063938: 2102 movs r1, #2 806393a: f06b fb6b bl 80cf014 if(fl > rms1_6) 806393e: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8063942: 4b8b ldr r3, [pc, #556] ; (8063b70 ) 8063944: edd3 7a00 vldr s15, [r3] 8063948: eeb4 7ae7 vcmpe.f32 s14, s15 806394c: eef1 fa10 vmrs APSR_nzcv, fpscr 8063950: dd03 ble.n 806395a rms1_6 = fl; 8063952: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8063956: 4a86 ldr r2, [pc, #536] ; (8063b70 ) 8063958: 6013 str r3, [r2, #0] } arm_biquad_cascade_df2T_f64(&S_LP_1, &Buff64[0], &Buff64[0], len); 806395a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806395e: 4a80 ldr r2, [pc, #512] ; (8063b60 ) 8063960: 497f ldr r1, [pc, #508] ; (8063b60 ) 8063962: 4884 ldr r0, [pc, #528] ; (8063b74 ) 8063964: f06b fbca bl 80cf0fc len >>= 1; 8063968: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806396c: 085b lsrs r3, r3, #1 806396e: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8063972: 2300 movs r3, #0 8063974: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063978: e012 b.n 80639a0 Buff64[i] = Buff64[i << 1]; 806397a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806397e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063982: 005b lsls r3, r3, #1 8063984: 4976 ldr r1, [pc, #472] ; (8063b60 ) 8063986: 00db lsls r3, r3, #3 8063988: 440b add r3, r1 806398a: cb18 ldmia r3, {r3, r4} 806398c: 4974 ldr r1, [pc, #464] ; (8063b60 ) 806398e: 00d2 lsls r2, r2, #3 8063990: 440a add r2, r1 8063992: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8063996: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806399a: 3301 adds r3, #1 806399c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80639a0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80639a4: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80639a8: 429a cmp r2, r3 80639aa: d3e6 bcc.n 806397a } //** 1,25 arm_biquad_cascade_df2T_f64(&S_OKT_1_25Hz, &Buff64[0], &Buff64[Ns], len); 80639ac: 4b6b ldr r3, [pc, #428] ; (8063b5c ) 80639ae: 681b ldr r3, [r3, #0] 80639b0: 00db lsls r3, r3, #3 80639b2: 4a6b ldr r2, [pc, #428] ; (8063b60 ) 80639b4: 441a add r2, r3 80639b6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80639ba: 4969 ldr r1, [pc, #420] ; (8063b60 ) 80639bc: 486e ldr r0, [pc, #440] ; (8063b78 ) 80639be: f06b fb9d bl 80cf0fc for(i = 0; i < len; i++) { 80639c2: 2300 movs r3, #0 80639c4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80639c8: e017 b.n 80639fa In[i] = (float32_t) Buff64[Ns + i]; 80639ca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80639ce: 4a63 ldr r2, [pc, #396] ; (8063b5c ) 80639d0: 6811 ldr r1, [r2, #0] 80639d2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80639d6: 440a add r2, r1 80639d8: 4961 ldr r1, [pc, #388] ; (8063b60 ) 80639da: 00d2 lsls r2, r2, #3 80639dc: 440a add r2, r1 80639de: ed92 7b00 vldr d7, [r2] 80639e2: eef7 7bc7 vcvt.f32.f64 s15, d7 80639e6: 4a60 ldr r2, [pc, #384] ; (8063b68 ) 80639e8: 009b lsls r3, r3, #2 80639ea: 4413 add r3, r2 80639ec: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80639f0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80639f4: 3301 adds r3, #1 80639f6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80639fa: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80639fe: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8063a02: 429a cmp r2, r3 8063a04: d3e1 bcc.n 80639ca } if(pardata.IVS[ACC] == RMS) 8063a06: 4b59 ldr r3, [pc, #356] ; (8063b6c ) 8063a08: 789b ldrb r3, [r3, #2] 8063a0a: b2db uxtb r3, r3 8063a0c: 2b01 cmp r3, #1 8063a0e: d112 bne.n 8063a36 { arm_power_f32(In, len, &fl); 8063a10: f507 73de add.w r3, r7, #444 ; 0x1bc 8063a14: 461a mov r2, r3 8063a16: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8063a1a: 4853 ldr r0, [pc, #332] ; (8063b68 ) 8063a1c: f06b fa24 bl 80cee68 rms1_25 += fl; 8063a20: 4b56 ldr r3, [pc, #344] ; (8063b7c ) 8063a22: ed93 7a00 vldr s14, [r3] 8063a26: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8063a2a: ee77 7a27 vadd.f32 s15, s14, s15 8063a2e: 4b53 ldr r3, [pc, #332] ; (8063b7c ) 8063a30: edc3 7a00 vstr s15, [r3] 8063a34: e04a b.n 8063acc } else { arm_min_f32(In, len, &fn[0], &i); 8063a36: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8063a3a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8063a3e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8063a42: 4849 ldr r0, [pc, #292] ; (8063b68 ) 8063a44: f06b fa4a bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8063a48: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8063a4c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8063a50: 1d1a adds r2, r3, #4 8063a52: 460b mov r3, r1 8063a54: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8063a58: 4843 ldr r0, [pc, #268] ; (8063b68 ) 8063a5a: f06b fadb bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8063a5e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8063a62: eef5 7ac0 vcmpe.f32 s15, #0.0 8063a66: eef1 fa10 vmrs APSR_nzcv, fpscr 8063a6a: dd02 ble.n 8063a72 8063a6c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8063a70: e003 b.n 8063a7a 8063a72: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8063a76: eef1 7a67 vneg.f32 s15, s15 8063a7a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8063a7e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063a82: eef5 7ac0 vcmpe.f32 s15, #0.0 8063a86: eef1 fa10 vmrs APSR_nzcv, fpscr 8063a8a: dd02 ble.n 8063a92 8063a8c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063a90: e003 b.n 8063a9a 8063a92: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063a96: eef1 7a67 vneg.f32 s15, s15 8063a9a: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8063a9e: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8063aa2: f507 72de add.w r2, r7, #444 ; 0x1bc 8063aa6: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8063aaa: 2102 movs r1, #2 8063aac: f06b fab2 bl 80cf014 if(fl > rms1_25) 8063ab0: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8063ab4: 4b31 ldr r3, [pc, #196] ; (8063b7c ) 8063ab6: edd3 7a00 vldr s15, [r3] 8063aba: eeb4 7ae7 vcmpe.f32 s14, s15 8063abe: eef1 fa10 vmrs APSR_nzcv, fpscr 8063ac2: dd03 ble.n 8063acc rms1_25 = fl; 8063ac4: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8063ac8: 4a2c ldr r2, [pc, #176] ; (8063b7c ) 8063aca: 6013 str r3, [r2, #0] } //** 1 arm_biquad_cascade_df2T_f64(&S_OKT_1Hz, &Buff64[0], &Buff64[Ns], len); 8063acc: 4b23 ldr r3, [pc, #140] ; (8063b5c ) 8063ace: 681b ldr r3, [r3, #0] 8063ad0: 00db lsls r3, r3, #3 8063ad2: 4a23 ldr r2, [pc, #140] ; (8063b60 ) 8063ad4: 441a add r2, r3 8063ad6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8063ada: 4921 ldr r1, [pc, #132] ; (8063b60 ) 8063adc: 4828 ldr r0, [pc, #160] ; (8063b80 ) 8063ade: f06b fb0d bl 80cf0fc for(i = 0; i < len; i++) { 8063ae2: 2300 movs r3, #0 8063ae4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063ae8: e017 b.n 8063b1a In[i] = (float32_t) Buff64[Ns + i]; 8063aea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063aee: 4a1b ldr r2, [pc, #108] ; (8063b5c ) 8063af0: 6811 ldr r1, [r2, #0] 8063af2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063af6: 440a add r2, r1 8063af8: 4919 ldr r1, [pc, #100] ; (8063b60 ) 8063afa: 00d2 lsls r2, r2, #3 8063afc: 440a add r2, r1 8063afe: ed92 7b00 vldr d7, [r2] 8063b02: eef7 7bc7 vcvt.f32.f64 s15, d7 8063b06: 4a18 ldr r2, [pc, #96] ; (8063b68 ) 8063b08: 009b lsls r3, r3, #2 8063b0a: 4413 add r3, r2 8063b0c: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8063b10: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063b14: 3301 adds r3, #1 8063b16: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063b1a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063b1e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8063b22: 429a cmp r2, r3 8063b24: d3e1 bcc.n 8063aea } if(pardata.IVS[ACC] == RMS) 8063b26: 4b11 ldr r3, [pc, #68] ; (8063b6c ) 8063b28: 789b ldrb r3, [r3, #2] 8063b2a: b2db uxtb r3, r3 8063b2c: 2b01 cmp r3, #1 8063b2e: d12b bne.n 8063b88 { arm_power_f32(In, len, &fl); 8063b30: f507 73de add.w r3, r7, #444 ; 0x1bc 8063b34: 461a mov r2, r3 8063b36: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8063b3a: 480b ldr r0, [pc, #44] ; (8063b68 ) 8063b3c: f06b f994 bl 80cee68 rms1 += fl; 8063b40: 4b10 ldr r3, [pc, #64] ; (8063b84 ) 8063b42: ed93 7a00 vldr s14, [r3] 8063b46: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8063b4a: ee77 7a27 vadd.f32 s15, s14, s15 8063b4e: 4b0d ldr r3, [pc, #52] ; (8063b84 ) 8063b50: edc3 7a00 vstr s15, [r3] 8063b54: e063 b.n 8063c1e 8063b56: bf00 nop 8063b58: 20021d28 .word 0x20021d28 8063b5c: 20021d2c .word 0x20021d2c 8063b60: 20037b40 .word 0x20037b40 8063b64: 20026868 .word 0x20026868 8063b68: 20027a20 .word 0x20027a20 8063b6c: 20023eb8 .word 0x20023eb8 8063b70: 20021d1c .word 0x20021d1c 8063b74: 200261e8 .word 0x200261e8 8063b78: 20026f64 .word 0x20026f64 8063b7c: 20021d18 .word 0x20021d18 8063b80: 20057e20 .word 0x20057e20 8063b84: 20021d60 .word 0x20021d60 } else { arm_min_f32(In, len, &fn[0], &i); 8063b88: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8063b8c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8063b90: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8063b94: 485b ldr r0, [pc, #364] ; (8063d04 ) 8063b96: f06b f9a1 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8063b9a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8063b9e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8063ba2: 1d1a adds r2, r3, #4 8063ba4: 460b mov r3, r1 8063ba6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8063baa: 4856 ldr r0, [pc, #344] ; (8063d04 ) 8063bac: f06b fa32 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8063bb0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8063bb4: eef5 7ac0 vcmpe.f32 s15, #0.0 8063bb8: eef1 fa10 vmrs APSR_nzcv, fpscr 8063bbc: dd02 ble.n 8063bc4 8063bbe: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8063bc2: e003 b.n 8063bcc 8063bc4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8063bc8: eef1 7a67 vneg.f32 s15, s15 8063bcc: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8063bd0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063bd4: eef5 7ac0 vcmpe.f32 s15, #0.0 8063bd8: eef1 fa10 vmrs APSR_nzcv, fpscr 8063bdc: dd02 ble.n 8063be4 8063bde: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063be2: e003 b.n 8063bec 8063be4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063be8: eef1 7a67 vneg.f32 s15, s15 8063bec: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8063bf0: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8063bf4: f507 72de add.w r2, r7, #444 ; 0x1bc 8063bf8: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8063bfc: 2102 movs r1, #2 8063bfe: f06b fa09 bl 80cf014 if(fl > rms1) 8063c02: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8063c06: 4b40 ldr r3, [pc, #256] ; (8063d08 ) 8063c08: edd3 7a00 vldr s15, [r3] 8063c0c: eeb4 7ae7 vcmpe.f32 s14, s15 8063c10: eef1 fa10 vmrs APSR_nzcv, fpscr 8063c14: dd03 ble.n 8063c1e rms1 = fl; 8063c16: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8063c1a: 4a3b ldr r2, [pc, #236] ; (8063d08 ) 8063c1c: 6013 str r3, [r2, #0] } //** 0,8 arm_biquad_cascade_df2T_f64(&S_OKT_0_8Hz, &Buff64[0], &Buff64[Ns], len); 8063c1e: 4b3b ldr r3, [pc, #236] ; (8063d0c ) 8063c20: 681b ldr r3, [r3, #0] 8063c22: 00db lsls r3, r3, #3 8063c24: 4a3a ldr r2, [pc, #232] ; (8063d10 ) 8063c26: 441a add r2, r3 8063c28: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8063c2c: 4938 ldr r1, [pc, #224] ; (8063d10 ) 8063c2e: 4839 ldr r0, [pc, #228] ; (8063d14 ) 8063c30: f06b fa64 bl 80cf0fc for(i = 0; i < len; i++) { 8063c34: 2300 movs r3, #0 8063c36: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063c3a: e017 b.n 8063c6c In[i] = (float32_t) Buff64[Ns + i]; 8063c3c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063c40: 4a32 ldr r2, [pc, #200] ; (8063d0c ) 8063c42: 6811 ldr r1, [r2, #0] 8063c44: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063c48: 440a add r2, r1 8063c4a: 4931 ldr r1, [pc, #196] ; (8063d10 ) 8063c4c: 00d2 lsls r2, r2, #3 8063c4e: 440a add r2, r1 8063c50: ed92 7b00 vldr d7, [r2] 8063c54: eef7 7bc7 vcvt.f32.f64 s15, d7 8063c58: 4a2a ldr r2, [pc, #168] ; (8063d04 ) 8063c5a: 009b lsls r3, r3, #2 8063c5c: 4413 add r3, r2 8063c5e: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8063c62: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063c66: 3301 adds r3, #1 8063c68: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063c6c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063c70: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8063c74: 429a cmp r2, r3 8063c76: d3e1 bcc.n 8063c3c } if(pardata.IVS[ACC] == RMS) 8063c78: 4b27 ldr r3, [pc, #156] ; (8063d18 ) 8063c7a: 789b ldrb r3, [r3, #2] 8063c7c: b2db uxtb r3, r3 8063c7e: 2b01 cmp r3, #1 8063c80: d112 bne.n 8063ca8 { arm_power_f32(In, len, &fl); 8063c82: f507 73de add.w r3, r7, #444 ; 0x1bc 8063c86: 461a mov r2, r3 8063c88: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8063c8c: 481d ldr r0, [pc, #116] ; (8063d04 ) 8063c8e: f06b f8eb bl 80cee68 rms0_8 += fl; 8063c92: 4b22 ldr r3, [pc, #136] ; (8063d1c ) 8063c94: ed93 7a00 vldr s14, [r3] 8063c98: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8063c9c: ee77 7a27 vadd.f32 s15, s14, s15 8063ca0: 4b1e ldr r3, [pc, #120] ; (8063d1c ) 8063ca2: edc3 7a00 vstr s15, [r3] 8063ca6: e058 b.n 8063d5a } else { arm_min_f32(In, len, &fn[0], &i); 8063ca8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8063cac: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8063cb0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8063cb4: 4813 ldr r0, [pc, #76] ; (8063d04 ) 8063cb6: f06b f911 bl 80ceedc arm_max_f32(In, len, &fn[1], &j); 8063cba: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8063cbe: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8063cc2: 1d1a adds r2, r3, #4 8063cc4: 460b mov r3, r1 8063cc6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8063cca: 480e ldr r0, [pc, #56] ; (8063d04 ) 8063ccc: f06b f9a2 bl 80cf014 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8063cd0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8063cd4: eef5 7ac0 vcmpe.f32 s15, #0.0 8063cd8: eef1 fa10 vmrs APSR_nzcv, fpscr 8063cdc: dd02 ble.n 8063ce4 8063cde: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8063ce2: e003 b.n 8063cec 8063ce4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8063ce8: eef1 7a67 vneg.f32 s15, s15 8063cec: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8063cf0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063cf4: eef5 7ac0 vcmpe.f32 s15, #0.0 8063cf8: eef1 fa10 vmrs APSR_nzcv, fpscr 8063cfc: dd10 ble.n 8063d20 8063cfe: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063d02: e011 b.n 8063d28 8063d04: 20027a20 .word 0x20027a20 8063d08: 20021d60 .word 0x20021d60 8063d0c: 20021d2c .word 0x20021d2c 8063d10: 20037b40 .word 0x20037b40 8063d14: 2002798c .word 0x2002798c 8063d18: 20023eb8 .word 0x20023eb8 8063d1c: 20021d24 .word 0x20021d24 8063d20: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063d24: eef1 7a67 vneg.f32 s15, s15 8063d28: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8063d2c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8063d30: f507 72de add.w r2, r7, #444 ; 0x1bc 8063d34: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8063d38: 2102 movs r1, #2 8063d3a: f06b f96b bl 80cf014 if(fl > rms0_8) 8063d3e: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8063d42: 4bc9 ldr r3, [pc, #804] ; (8064068 ) 8063d44: edd3 7a00 vldr s15, [r3] 8063d48: eeb4 7ae7 vcmpe.f32 s14, s15 8063d4c: eef1 fa10 vmrs APSR_nzcv, fpscr 8063d50: dd03 ble.n 8063d5a rms0_8 = fl; 8063d52: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8063d56: 4ac4 ldr r2, [pc, #784] ; (8064068 ) 8063d58: 6013 str r3, [r2, #0] } cntcnt = DWT->CYCCNT - cntcnt; 8063d5a: 4bc4 ldr r3, [pc, #784] ; (806406c ) 8063d5c: 685b ldr r3, [r3, #4] 8063d5e: 4619 mov r1, r3 8063d60: f04f 0200 mov.w r2, #0 8063d64: f507 73f4 add.w r3, r7, #488 ; 0x1e8 8063d68: cb18 ldmia r3, {r3, r4} 8063d6a: 1acb subs r3, r1, r3 8063d6c: eb62 0404 sbc.w r4, r2, r4 8063d70: f507 72f4 add.w r2, r7, #488 ; 0x1e8 8063d74: e882 0018 stmia.w r2, {r3, r4} cntcnt = 0; 8063d78: f04f 0300 mov.w r3, #0 8063d7c: f04f 0400 mov.w r4, #0 8063d80: f507 72f4 add.w r2, r7, #488 ; 0x1e8 8063d84: e882 0018 stmia.w r2, {r3, r4} if(cntOkt == 8) 8063d88: 4bb9 ldr r3, [pc, #740] ; (8064070 ) 8063d8a: 681b ldr r3, [r3, #0] 8063d8c: 2b08 cmp r3, #8 8063d8e: f040 8256 bne.w 806423e { MeanCnt++; 8063d92: 4bb8 ldr r3, [pc, #736] ; (8064074 ) 8063d94: 681b ldr r3, [r3, #0] 8063d96: 3301 adds r3, #1 8063d98: 4ab6 ldr r2, [pc, #728] ; (8064074 ) 8063d9a: 6013 str r3, [r2, #0] cntOkt = 0; 8063d9c: 4bb4 ldr r3, [pc, #720] ; (8064070 ) 8063d9e: 2200 movs r2, #0 8063da0: 601a str r2, [r3, #0] if(MeanCnt == AVG[pardata.AVG]) 8063da2: 4bb5 ldr r3, [pc, #724] ; (8064078 ) 8063da4: 7b5b ldrb r3, [r3, #13] 8063da6: b2db uxtb r3, r3 8063da8: 461a mov r2, r3 8063daa: 4bb4 ldr r3, [pc, #720] ; (806407c ) 8063dac: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8063db0: 461a mov r2, r3 8063db2: 4bb0 ldr r3, [pc, #704] ; (8064074 ) 8063db4: 681b ldr r3, [r3, #0] 8063db6: 429a cmp r2, r3 8063db8: f040 8241 bne.w 806423e { if(pardata.IVS[ACC] == RMS) 8063dbc: 4bae ldr r3, [pc, #696] ; (8064078 ) 8063dbe: 789b ldrb r3, [r3, #2] 8063dc0: b2db uxtb r3, r3 8063dc2: 2b01 cmp r3, #1 8063dc4: f040 8176 bne.w 80640b4 { rms10 /= (64.0f * (float32_t) MeanCnt); 8063dc8: 4baa ldr r3, [pc, #680] ; (8064074 ) 8063dca: 681b ldr r3, [r3, #0] 8063dcc: ee07 3a90 vmov s15, r3 8063dd0: eef8 7a67 vcvt.f32.u32 s15, s15 8063dd4: ed9f 7aaa vldr s14, [pc, #680] ; 8064080 8063dd8: ee27 7a87 vmul.f32 s14, s15, s14 8063ddc: 4ba9 ldr r3, [pc, #676] ; (8064084 ) 8063dde: edd3 6a00 vldr s13, [r3] 8063de2: eec6 7a87 vdiv.f32 s15, s13, s14 8063de6: 4ba7 ldr r3, [pc, #668] ; (8064084 ) 8063de8: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms10, &Third[11]); 8063dec: 4ba5 ldr r3, [pc, #660] ; (8064084 ) 8063dee: edd3 7a00 vldr s15, [r3] 8063df2: 463b mov r3, r7 8063df4: 332c adds r3, #44 ; 0x2c 8063df6: 4618 mov r0, r3 8063df8: eeb0 0a67 vmov.f32 s0, s15 8063dfc: f7f3 fb26 bl 805744c rms8 /= (64.0f * (float32_t) MeanCnt); 8063e00: 4b9c ldr r3, [pc, #624] ; (8064074 ) 8063e02: 681b ldr r3, [r3, #0] 8063e04: ee07 3a90 vmov s15, r3 8063e08: eef8 7a67 vcvt.f32.u32 s15, s15 8063e0c: ed9f 7a9c vldr s14, [pc, #624] ; 8064080 8063e10: ee27 7a87 vmul.f32 s14, s15, s14 8063e14: 4b9c ldr r3, [pc, #624] ; (8064088 ) 8063e16: edd3 6a00 vldr s13, [r3] 8063e1a: eec6 7a87 vdiv.f32 s15, s13, s14 8063e1e: 4b9a ldr r3, [pc, #616] ; (8064088 ) 8063e20: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms8, &Third[10]); 8063e24: 4b98 ldr r3, [pc, #608] ; (8064088 ) 8063e26: edd3 7a00 vldr s15, [r3] 8063e2a: 463b mov r3, r7 8063e2c: 3328 adds r3, #40 ; 0x28 8063e2e: 4618 mov r0, r3 8063e30: eeb0 0a67 vmov.f32 s0, s15 8063e34: f7f3 fb0a bl 805744c rms6_3 /= (64.0f * (float32_t) MeanCnt); 8063e38: 4b8e ldr r3, [pc, #568] ; (8064074 ) 8063e3a: 681b ldr r3, [r3, #0] 8063e3c: ee07 3a90 vmov s15, r3 8063e40: eef8 7a67 vcvt.f32.u32 s15, s15 8063e44: ed9f 7a8e vldr s14, [pc, #568] ; 8064080 8063e48: ee27 7a87 vmul.f32 s14, s15, s14 8063e4c: 4b8f ldr r3, [pc, #572] ; (806408c ) 8063e4e: edd3 6a00 vldr s13, [r3] 8063e52: eec6 7a87 vdiv.f32 s15, s13, s14 8063e56: 4b8d ldr r3, [pc, #564] ; (806408c ) 8063e58: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms6_3, &Third[9]); 8063e5c: 4b8b ldr r3, [pc, #556] ; (806408c ) 8063e5e: edd3 7a00 vldr s15, [r3] 8063e62: 463b mov r3, r7 8063e64: 3324 adds r3, #36 ; 0x24 8063e66: 4618 mov r0, r3 8063e68: eeb0 0a67 vmov.f32 s0, s15 8063e6c: f7f3 faee bl 805744c rms5 /= (32.0f * (float32_t) MeanCnt); 8063e70: 4b80 ldr r3, [pc, #512] ; (8064074 ) 8063e72: 681b ldr r3, [r3, #0] 8063e74: ee07 3a90 vmov s15, r3 8063e78: eef8 7a67 vcvt.f32.u32 s15, s15 8063e7c: ed9f 7a84 vldr s14, [pc, #528] ; 8064090 8063e80: ee27 7a87 vmul.f32 s14, s15, s14 8063e84: 4b83 ldr r3, [pc, #524] ; (8064094 ) 8063e86: edd3 6a00 vldr s13, [r3] 8063e8a: eec6 7a87 vdiv.f32 s15, s13, s14 8063e8e: 4b81 ldr r3, [pc, #516] ; (8064094 ) 8063e90: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms5, &Third[8]); 8063e94: 4b7f ldr r3, [pc, #508] ; (8064094 ) 8063e96: edd3 7a00 vldr s15, [r3] 8063e9a: 463b mov r3, r7 8063e9c: 3320 adds r3, #32 8063e9e: 4618 mov r0, r3 8063ea0: eeb0 0a67 vmov.f32 s0, s15 8063ea4: f7f3 fad2 bl 805744c rms4 /= (32.0f * (float32_t) MeanCnt); 8063ea8: 4b72 ldr r3, [pc, #456] ; (8064074 ) 8063eaa: 681b ldr r3, [r3, #0] 8063eac: ee07 3a90 vmov s15, r3 8063eb0: eef8 7a67 vcvt.f32.u32 s15, s15 8063eb4: ed9f 7a76 vldr s14, [pc, #472] ; 8064090 8063eb8: ee27 7a87 vmul.f32 s14, s15, s14 8063ebc: 4b76 ldr r3, [pc, #472] ; (8064098 ) 8063ebe: edd3 6a00 vldr s13, [r3] 8063ec2: eec6 7a87 vdiv.f32 s15, s13, s14 8063ec6: 4b74 ldr r3, [pc, #464] ; (8064098 ) 8063ec8: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms4, &Third[7]); 8063ecc: 4b72 ldr r3, [pc, #456] ; (8064098 ) 8063ece: edd3 7a00 vldr s15, [r3] 8063ed2: 463b mov r3, r7 8063ed4: 331c adds r3, #28 8063ed6: 4618 mov r0, r3 8063ed8: eeb0 0a67 vmov.f32 s0, s15 8063edc: f7f3 fab6 bl 805744c rms3_15 /= (32.0f * (float32_t) MeanCnt); 8063ee0: 4b64 ldr r3, [pc, #400] ; (8064074 ) 8063ee2: 681b ldr r3, [r3, #0] 8063ee4: ee07 3a90 vmov s15, r3 8063ee8: eef8 7a67 vcvt.f32.u32 s15, s15 8063eec: ed9f 7a68 vldr s14, [pc, #416] ; 8064090 8063ef0: ee27 7a87 vmul.f32 s14, s15, s14 8063ef4: 4b69 ldr r3, [pc, #420] ; (806409c ) 8063ef6: edd3 6a00 vldr s13, [r3] 8063efa: eec6 7a87 vdiv.f32 s15, s13, s14 8063efe: 4b67 ldr r3, [pc, #412] ; (806409c ) 8063f00: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms3_15, &Third[6]); 8063f04: 4b65 ldr r3, [pc, #404] ; (806409c ) 8063f06: edd3 7a00 vldr s15, [r3] 8063f0a: 463b mov r3, r7 8063f0c: 3318 adds r3, #24 8063f0e: 4618 mov r0, r3 8063f10: eeb0 0a67 vmov.f32 s0, s15 8063f14: f7f3 fa9a bl 805744c rms2_5 /= (16.0f * (float32_t) MeanCnt); 8063f18: 4b56 ldr r3, [pc, #344] ; (8064074 ) 8063f1a: 681b ldr r3, [r3, #0] 8063f1c: ee07 3a90 vmov s15, r3 8063f20: eef8 7a67 vcvt.f32.u32 s15, s15 8063f24: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 8063f28: ee27 7a87 vmul.f32 s14, s15, s14 8063f2c: 4b5c ldr r3, [pc, #368] ; (80640a0 ) 8063f2e: edd3 6a00 vldr s13, [r3] 8063f32: eec6 7a87 vdiv.f32 s15, s13, s14 8063f36: 4b5a ldr r3, [pc, #360] ; (80640a0 ) 8063f38: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms2_5, &Third[5]); 8063f3c: 4b58 ldr r3, [pc, #352] ; (80640a0 ) 8063f3e: edd3 7a00 vldr s15, [r3] 8063f42: 463b mov r3, r7 8063f44: 3314 adds r3, #20 8063f46: 4618 mov r0, r3 8063f48: eeb0 0a67 vmov.f32 s0, s15 8063f4c: f7f3 fa7e bl 805744c rms2 /= (16.0f * (float32_t) MeanCnt); 8063f50: 4b48 ldr r3, [pc, #288] ; (8064074 ) 8063f52: 681b ldr r3, [r3, #0] 8063f54: ee07 3a90 vmov s15, r3 8063f58: eef8 7a67 vcvt.f32.u32 s15, s15 8063f5c: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 8063f60: ee27 7a87 vmul.f32 s14, s15, s14 8063f64: 4b4f ldr r3, [pc, #316] ; (80640a4 ) 8063f66: edd3 6a00 vldr s13, [r3] 8063f6a: eec6 7a87 vdiv.f32 s15, s13, s14 8063f6e: 4b4d ldr r3, [pc, #308] ; (80640a4 ) 8063f70: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms2, &Third[4]); 8063f74: 4b4b ldr r3, [pc, #300] ; (80640a4 ) 8063f76: edd3 7a00 vldr s15, [r3] 8063f7a: 463b mov r3, r7 8063f7c: 3310 adds r3, #16 8063f7e: 4618 mov r0, r3 8063f80: eeb0 0a67 vmov.f32 s0, s15 8063f84: f7f3 fa62 bl 805744c rms1_6 /= (16.0f * (float32_t) MeanCnt); 8063f88: 4b3a ldr r3, [pc, #232] ; (8064074 ) 8063f8a: 681b ldr r3, [r3, #0] 8063f8c: ee07 3a90 vmov s15, r3 8063f90: eef8 7a67 vcvt.f32.u32 s15, s15 8063f94: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 8063f98: ee27 7a87 vmul.f32 s14, s15, s14 8063f9c: 4b42 ldr r3, [pc, #264] ; (80640a8 ) 8063f9e: edd3 6a00 vldr s13, [r3] 8063fa2: eec6 7a87 vdiv.f32 s15, s13, s14 8063fa6: 4b40 ldr r3, [pc, #256] ; (80640a8 ) 8063fa8: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms1_6, &Third[3]); 8063fac: 4b3e ldr r3, [pc, #248] ; (80640a8 ) 8063fae: edd3 7a00 vldr s15, [r3] 8063fb2: 463b mov r3, r7 8063fb4: 330c adds r3, #12 8063fb6: 4618 mov r0, r3 8063fb8: eeb0 0a67 vmov.f32 s0, s15 8063fbc: f7f3 fa46 bl 805744c rms1_25 /= (8.0f * (float32_t) MeanCnt); 8063fc0: 4b2c ldr r3, [pc, #176] ; (8064074 ) 8063fc2: 681b ldr r3, [r3, #0] 8063fc4: ee07 3a90 vmov s15, r3 8063fc8: eef8 7a67 vcvt.f32.u32 s15, s15 8063fcc: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 8063fd0: ee27 7a87 vmul.f32 s14, s15, s14 8063fd4: 4b35 ldr r3, [pc, #212] ; (80640ac ) 8063fd6: edd3 6a00 vldr s13, [r3] 8063fda: eec6 7a87 vdiv.f32 s15, s13, s14 8063fde: 4b33 ldr r3, [pc, #204] ; (80640ac ) 8063fe0: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms1_25, &Third[2]); 8063fe4: 4b31 ldr r3, [pc, #196] ; (80640ac ) 8063fe6: edd3 7a00 vldr s15, [r3] 8063fea: 463b mov r3, r7 8063fec: 3308 adds r3, #8 8063fee: 4618 mov r0, r3 8063ff0: eeb0 0a67 vmov.f32 s0, s15 8063ff4: f7f3 fa2a bl 805744c rms1 /= (8.0f * (float32_t) MeanCnt); 8063ff8: 4b1e ldr r3, [pc, #120] ; (8064074 ) 8063ffa: 681b ldr r3, [r3, #0] 8063ffc: ee07 3a90 vmov s15, r3 8064000: eef8 7a67 vcvt.f32.u32 s15, s15 8064004: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 8064008: ee27 7a87 vmul.f32 s14, s15, s14 806400c: 4b28 ldr r3, [pc, #160] ; (80640b0 ) 806400e: edd3 6a00 vldr s13, [r3] 8064012: eec6 7a87 vdiv.f32 s15, s13, s14 8064016: 4b26 ldr r3, [pc, #152] ; (80640b0 ) 8064018: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms1, &Third[1]); 806401c: 4b24 ldr r3, [pc, #144] ; (80640b0 ) 806401e: edd3 7a00 vldr s15, [r3] 8064022: 463b mov r3, r7 8064024: 3304 adds r3, #4 8064026: 4618 mov r0, r3 8064028: eeb0 0a67 vmov.f32 s0, s15 806402c: f7f3 fa0e bl 805744c rms0_8 /= (8.0f * (float32_t) MeanCnt); 8064030: 4b10 ldr r3, [pc, #64] ; (8064074 ) 8064032: 681b ldr r3, [r3, #0] 8064034: ee07 3a90 vmov s15, r3 8064038: eef8 7a67 vcvt.f32.u32 s15, s15 806403c: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 8064040: ee27 7a87 vmul.f32 s14, s15, s14 8064044: 4b08 ldr r3, [pc, #32] ; (8064068 ) 8064046: edd3 6a00 vldr s13, [r3] 806404a: eec6 7a87 vdiv.f32 s15, s13, s14 806404e: 4b06 ldr r3, [pc, #24] ; (8064068 ) 8064050: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms0_8, &Third[0]); 8064054: 4b04 ldr r3, [pc, #16] ; (8064068 ) 8064056: edd3 7a00 vldr s15, [r3] 806405a: 463b mov r3, r7 806405c: 4618 mov r0, r3 806405e: eeb0 0a67 vmov.f32 s0, s15 8064062: f7f3 f9f3 bl 805744c 8064066: e055 b.n 8064114 8064068: 20021d24 .word 0x20021d24 806406c: e0001000 .word 0xe0001000 8064070: 20020db0 .word 0x20020db0 8064074: 20020dd8 .word 0x20020dd8 8064078: 20023eb8 .word 0x20023eb8 806407c: 080f54d8 .word 0x080f54d8 8064080: 42800000 .word 0x42800000 8064084: 20021d5c .word 0x20021d5c 8064088: 20021d20 .word 0x20021d20 806408c: 20021d30 .word 0x20021d30 8064090: 42000000 .word 0x42000000 8064094: 20021d34 .word 0x20021d34 8064098: 20021d68 .word 0x20021d68 806409c: 20021d64 .word 0x20021d64 80640a0: 20021d48 .word 0x20021d48 80640a4: 20021d28 .word 0x20021d28 80640a8: 20021d1c .word 0x20021d1c 80640ac: 20021d18 .word 0x20021d18 80640b0: 20021d60 .word 0x20021d60 } else { Third[11] = rms10; 80640b4: 4baa ldr r3, [pc, #680] ; (8064360 ) 80640b6: 681a ldr r2, [r3, #0] 80640b8: 463b mov r3, r7 80640ba: 62da str r2, [r3, #44] ; 0x2c Third[10] = rms8; 80640bc: 4ba9 ldr r3, [pc, #676] ; (8064364 ) 80640be: 681a ldr r2, [r3, #0] 80640c0: 463b mov r3, r7 80640c2: 629a str r2, [r3, #40] ; 0x28 Third[9] = rms6_3; 80640c4: 4ba8 ldr r3, [pc, #672] ; (8064368 ) 80640c6: 681a ldr r2, [r3, #0] 80640c8: 463b mov r3, r7 80640ca: 625a str r2, [r3, #36] ; 0x24 Third[8] = rms5; 80640cc: 4ba7 ldr r3, [pc, #668] ; (806436c ) 80640ce: 681a ldr r2, [r3, #0] 80640d0: 463b mov r3, r7 80640d2: 621a str r2, [r3, #32] Third[7] = rms4; 80640d4: 4ba6 ldr r3, [pc, #664] ; (8064370 ) 80640d6: 681a ldr r2, [r3, #0] 80640d8: 463b mov r3, r7 80640da: 61da str r2, [r3, #28] Third[6] = rms3_15; 80640dc: 4ba5 ldr r3, [pc, #660] ; (8064374 ) 80640de: 681a ldr r2, [r3, #0] 80640e0: 463b mov r3, r7 80640e2: 619a str r2, [r3, #24] Third[5] = rms2_5; 80640e4: 4ba4 ldr r3, [pc, #656] ; (8064378 ) 80640e6: 681a ldr r2, [r3, #0] 80640e8: 463b mov r3, r7 80640ea: 615a str r2, [r3, #20] Third[4] = rms2; 80640ec: 4ba3 ldr r3, [pc, #652] ; (806437c ) 80640ee: 681a ldr r2, [r3, #0] 80640f0: 463b mov r3, r7 80640f2: 611a str r2, [r3, #16] Third[3] = rms1_6; 80640f4: 4ba2 ldr r3, [pc, #648] ; (8064380 ) 80640f6: 681a ldr r2, [r3, #0] 80640f8: 463b mov r3, r7 80640fa: 60da str r2, [r3, #12] Third[2] = rms1_25; 80640fc: 4ba1 ldr r3, [pc, #644] ; (8064384 ) 80640fe: 681a ldr r2, [r3, #0] 8064100: 463b mov r3, r7 8064102: 609a str r2, [r3, #8] Third[1] = rms1; 8064104: 4ba0 ldr r3, [pc, #640] ; (8064388 ) 8064106: 681a ldr r2, [r3, #0] 8064108: 463b mov r3, r7 806410a: 605a str r2, [r3, #4] Third[0] = rms0_8; 806410c: 4b9f ldr r3, [pc, #636] ; (806438c ) 806410e: 681a ldr r2, [r3, #0] 8064110: 463b mov r3, r7 8064112: 601a str r2, [r3, #0] } fs = 1.0f; 8064114: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8064118: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 if(pardata.IPR == VEL) 806411c: 4b9c ldr r3, [pc, #624] ; (8064390 ) 806411e: 785b ldrb r3, [r3, #1] 8064120: b2db uxtb r3, r3 8064122: 2b01 cmp r3, #1 8064124: d103 bne.n 806412e fs = 249.135f; 8064126: 4b9b ldr r3, [pc, #620] ; (8064394 ) 8064128: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 806412c: e007 b.n 806413e else if(pardata.IPR == DIS) 806412e: 4b98 ldr r3, [pc, #608] ; (8064390 ) 8064130: 785b ldrb r3, [r3, #1] 8064132: b2db uxtb r3, r3 8064134: 2b02 cmp r3, #2 8064136: d102 bne.n 806413e fs = 61400.171f; 8064138: 4b97 ldr r3, [pc, #604] ; (8064398 ) 806413a: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 for(i = 0; i < 39; i++) { 806413e: 2300 movs r3, #0 8064140: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8064144: e016 b.n 8064174 In[i] = Third[i] * fs; 8064146: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806414a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806414e: 4639 mov r1, r7 8064150: 0092 lsls r2, r2, #2 8064152: 440a add r2, r1 8064154: ed92 7a00 vldr s14, [r2] 8064158: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 806415c: ee67 7a27 vmul.f32 s15, s14, s15 8064160: 4a8e ldr r2, [pc, #568] ; (806439c ) 8064162: 009b lsls r3, r3, #2 8064164: 4413 add r3, r2 8064166: edc3 7a00 vstr s15, [r3] for(i = 0; i < 39; i++) { 806416a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806416e: 3301 adds r3, #1 8064170: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8064174: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064178: 2b26 cmp r3, #38 ; 0x26 806417a: d9e4 bls.n 8064146 } if(pardata.IPR > ACC) { 806417c: 4b84 ldr r3, [pc, #528] ; (8064390 ) 806417e: 785b ldrb r3, [r3, #1] 8064180: b2db uxtb r3, r3 8064182: 2b00 cmp r3, #0 8064184: d015 beq.n 80641b2 In[0] = In[1] = In[2] = In[3] = In[41] = 0.0f; 8064186: 4b85 ldr r3, [pc, #532] ; (806439c ) 8064188: f04f 0200 mov.w r2, #0 806418c: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 8064190: 4b82 ldr r3, [pc, #520] ; (806439c ) 8064192: f8d3 30a4 ldr.w r3, [r3, #164] ; 0xa4 8064196: 4a81 ldr r2, [pc, #516] ; (806439c ) 8064198: 60d3 str r3, [r2, #12] 806419a: 4b80 ldr r3, [pc, #512] ; (806439c ) 806419c: 68db ldr r3, [r3, #12] 806419e: 4a7f ldr r2, [pc, #508] ; (806439c ) 80641a0: 6093 str r3, [r2, #8] 80641a2: 4b7e ldr r3, [pc, #504] ; (806439c ) 80641a4: 689b ldr r3, [r3, #8] 80641a6: 4a7d ldr r2, [pc, #500] ; (806439c ) 80641a8: 6053 str r3, [r2, #4] 80641aa: 4b7c ldr r3, [pc, #496] ; (806439c ) 80641ac: 685b ldr r3, [r3, #4] 80641ae: 4a7b ldr r2, [pc, #492] ; (806439c ) 80641b0: 6013 str r3, [r2, #0] } rms0_8 = 0.0f; 80641b2: 4b76 ldr r3, [pc, #472] ; (806438c ) 80641b4: f04f 0200 mov.w r2, #0 80641b8: 601a str r2, [r3, #0] rms1 = 0.0f; 80641ba: 4b73 ldr r3, [pc, #460] ; (8064388 ) 80641bc: f04f 0200 mov.w r2, #0 80641c0: 601a str r2, [r3, #0] rms1_25 = 0.0f; 80641c2: 4b70 ldr r3, [pc, #448] ; (8064384 ) 80641c4: f04f 0200 mov.w r2, #0 80641c8: 601a str r2, [r3, #0] rms1_6 = 0.0f; 80641ca: 4b6d ldr r3, [pc, #436] ; (8064380 ) 80641cc: f04f 0200 mov.w r2, #0 80641d0: 601a str r2, [r3, #0] rms2 = 0.0f; 80641d2: 4b6a ldr r3, [pc, #424] ; (806437c ) 80641d4: f04f 0200 mov.w r2, #0 80641d8: 601a str r2, [r3, #0] rms2_5 = 0.0f; 80641da: 4b67 ldr r3, [pc, #412] ; (8064378 ) 80641dc: f04f 0200 mov.w r2, #0 80641e0: 601a str r2, [r3, #0] rms3_15 = 0.0f; 80641e2: 4b64 ldr r3, [pc, #400] ; (8064374 ) 80641e4: f04f 0200 mov.w r2, #0 80641e8: 601a str r2, [r3, #0] rms4 = 0.0f; 80641ea: 4b61 ldr r3, [pc, #388] ; (8064370 ) 80641ec: f04f 0200 mov.w r2, #0 80641f0: 601a str r2, [r3, #0] rms5 = 0.0f; 80641f2: 4b5e ldr r3, [pc, #376] ; (806436c ) 80641f4: f04f 0200 mov.w r2, #0 80641f8: 601a str r2, [r3, #0] rms6_3 = 0.0f; 80641fa: 4b5b ldr r3, [pc, #364] ; (8064368 ) 80641fc: f04f 0200 mov.w r2, #0 8064200: 601a str r2, [r3, #0] rms8 = 0.0f; 8064202: 4b58 ldr r3, [pc, #352] ; (8064364 ) 8064204: f04f 0200 mov.w r2, #0 8064208: 601a str r2, [r3, #0] rms10 = 0.0f; 806420a: 4b55 ldr r3, [pc, #340] ; (8064360 ) 806420c: f04f 0200 mov.w r2, #0 8064210: 601a str r2, [r3, #0] FastCopy16(IN_Reg, SCR_Reg, 84); 8064212: 2254 movs r2, #84 ; 0x54 8064214: 2104 movs r1, #4 8064216: 2001 movs r0, #1 8064218: f001 fde2 bl 8065de0 if(firstOkt) 806421c: 4b60 ldr r3, [pc, #384] ; (80643a0 ) 806421e: 781b ldrb r3, [r3, #0] 8064220: b2db uxtb r3, r3 8064222: 2b00 cmp r3, #0 8064224: d005 beq.n 8064232 { firstOkt = false; 8064226: 4b5e ldr r3, [pc, #376] ; (80643a0 ) 8064228: 2200 movs r2, #0 806422a: 701a strb r2, [r3, #0] AUTOZOOM = true; 806422c: 4b5d ldr r3, [pc, #372] ; (80643a4 ) 806422e: 2201 movs r2, #1 8064230: 701a strb r2, [r3, #0] } READY_TO_SEE = true; 8064232: 4b5d ldr r3, [pc, #372] ; (80643a8 ) 8064234: 2201 movs r2, #1 8064236: 701a strb r2, [r3, #0] MeanCnt = 0; 8064238: 4b5c ldr r3, [pc, #368] ; (80643ac ) 806423a: 2200 movs r2, #0 806423c: 601a str r2, [r3, #0] } } //**************************************************************************** cntcnt = DWT->CYCCNT - cntcnt; 806423e: 4b5c ldr r3, [pc, #368] ; (80643b0 ) 8064240: 685b ldr r3, [r3, #4] 8064242: 4619 mov r1, r3 8064244: f04f 0200 mov.w r2, #0 8064248: f507 73f4 add.w r3, r7, #488 ; 0x1e8 806424c: cb18 ldmia r3, {r3, r4} 806424e: 1acb subs r3, r1, r3 8064250: eb62 0404 sbc.w r4, r2, r4 8064254: f507 72f4 add.w r2, r7, #488 ; 0x1e8 8064258: e882 0018 stmia.w r2, {r3, r4} cntcnt = 0; 806425c: f04f 0300 mov.w r3, #0 8064260: f04f 0400 mov.w r4, #0 8064264: f507 72f4 add.w r2, r7, #488 ; 0x1e8 8064268: e882 0018 stmia.w r2, {r3, r4} { 806426c: bf00 nop else { RepeatKm = true; } } break; 806426e: f001 bc74 b.w 8065b5a RepeatKm = true; 8064272: 4b50 ldr r3, [pc, #320] ; (80643b4 ) 8064274: 2201 movs r2, #1 8064276: 701a strb r2, [r3, #0] break; 8064278: f001 bc6f b.w 8065b5a case OSC: // TODO if(measuring) 806427c: 4b4e ldr r3, [pc, #312] ; (80643b8 ) 806427e: 781b ldrb r3, [r3, #0] 8064280: b2db uxtb r3, r3 8064282: 2b00 cmp r3, #0 8064284: f001 846b beq.w 8065b5e { tick = DWT->CYCCNT; 8064288: 4b49 ldr r3, [pc, #292] ; (80643b0 ) 806428a: 685b ldr r3, [r3, #4] 806428c: f8c7 321c str.w r3, [r7, #540] ; 0x21c GetData(); 8064290: f001 ff1c bl 80660cc j = 0; 8064294: 2300 movs r3, #0 8064296: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(Threshold) 806429a: 4b48 ldr r3, [pc, #288] ; (80643bc ) 806429c: 781b ldrb r3, [r3, #0] 806429e: b2db uxtb r3, r3 80642a0: 2b00 cmp r3, #0 80642a2: d00b beq.n 80642bc { Flag_Set_KU = 0; 80642a4: 4b46 ldr r3, [pc, #280] ; (80643c0 ) 80642a6: 2200 movs r2, #0 80642a8: 701a strb r2, [r3, #0] Stability = (Nr * 4) + 1; 80642aa: 4b46 ldr r3, [pc, #280] ; (80643c4 ) 80642ac: 881b ldrh r3, [r3, #0] 80642ae: b29b uxth r3, r3 80642b0: 009b lsls r3, r3, #2 80642b2: 3301 adds r3, #1 80642b4: 461a mov r2, r3 80642b6: 4b44 ldr r3, [pc, #272] ; (80643c8 ) 80642b8: 601a str r2, [r3, #0] 80642ba: e03e b.n 806433a } else { if(pardata.OPTIONS & 0x4) 80642bc: 4b34 ldr r3, [pc, #208] ; (8064390 ) 80642be: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80642c2: f003 0304 and.w r3, r3, #4 80642c6: 2b00 cmp r3, #0 80642c8: d005 beq.n 80642d6 CalculateGain(Ns); 80642ca: 4b40 ldr r3, [pc, #256] ; (80643cc ) 80642cc: 681b ldr r3, [r3, #0] 80642ce: 4618 mov r0, r3 80642d0: f7f3 f8de bl 8057490 80642d4: e031 b.n 806433a else { Stability = (Nr * 4) + 1; 80642d6: 4b3b ldr r3, [pc, #236] ; (80643c4 ) 80642d8: 881b ldrh r3, [r3, #0] 80642da: b29b uxth r3, r3 80642dc: 009b lsls r3, r3, #2 80642de: 3301 adds r3, #1 80642e0: 461a mov r2, r3 80642e2: 4b39 ldr r3, [pc, #228] ; (80643c8 ) 80642e4: 601a str r2, [r3, #0] j = 0; 80642e6: 2300 movs r3, #0 80642e8: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc /*if(pardata.IPR > ACC) blockSize = (Ns << 1); else blockSize = Ns;*/ for(i = 0; i < Ns; i++) 80642ec: 2300 movs r3, #0 80642ee: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80642f2: e011 b.n 8064318 { if(In16[i].lg > 0xE00000) 80642f4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80642f8: 4a35 ldr r2, [pc, #212] ; (80643d0 ) 80642fa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80642fe: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8064302: d904 bls.n 806430e j++; 8064304: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8064308: 3301 adds r3, #1 806430a: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 806430e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064312: 3301 adds r3, #1 8064314: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8064318: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806431c: 4b2b ldr r3, [pc, #172] ; (80643cc ) 806431e: 681b ldr r3, [r3, #0] 8064320: 429a cmp r2, r3 8064322: d3e7 bcc.n 80642f4 } if(j >= 2) 8064324: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8064328: 2b01 cmp r3, #1 806432a: d903 bls.n 8064334 OVERDRIVE = true; 806432c: 4b29 ldr r3, [pc, #164] ; (80643d4 ) 806432e: 2201 movs r2, #1 8064330: 701a strb r2, [r3, #0] 8064332: e002 b.n 806433a else OVERDRIVE = false; 8064334: 4b27 ldr r3, [pc, #156] ; (80643d4 ) 8064336: 2200 movs r2, #0 8064338: 701a strb r2, [r3, #0] } } if(Flag_Set_KU) 806433a: 4b21 ldr r3, [pc, #132] ; (80643c0 ) 806433c: 781b ldrb r3, [r3, #0] 806433e: b2db uxtb r3, r3 8064340: 2b00 cmp r3, #0 8064342: d04f beq.n 80643e4 { Stability = 0; 8064344: 4b20 ldr r3, [pc, #128] ; (80643c8 ) 8064346: 2200 movs r2, #0 8064348: 601a str r2, [r3, #0] NSamples = 0xffffffff; 806434a: 4b23 ldr r3, [pc, #140] ; (80643d8 ) 806434c: f04f 32ff mov.w r2, #4294967295 8064350: 601a str r2, [r3, #0] timeRelax = RELAX + 1; 8064352: 4b22 ldr r3, [pc, #136] ; (80643dc ) 8064354: 681b ldr r3, [r3, #0] 8064356: 3301 adds r3, #1 8064358: 4a21 ldr r2, [pc, #132] ; (80643e0 ) 806435a: 6013 str r3, [r2, #0] 806435c: e050 b.n 8064400 806435e: bf00 nop 8064360: 20021d5c .word 0x20021d5c 8064364: 20021d20 .word 0x20021d20 8064368: 20021d30 .word 0x20021d30 806436c: 20021d34 .word 0x20021d34 8064370: 20021d68 .word 0x20021d68 8064374: 20021d64 .word 0x20021d64 8064378: 20021d48 .word 0x20021d48 806437c: 20021d28 .word 0x20021d28 8064380: 20021d1c .word 0x20021d1c 8064384: 20021d18 .word 0x20021d18 8064388: 20021d60 .word 0x20021d60 806438c: 20021d24 .word 0x20021d24 8064390: 20023eb8 .word 0x20023eb8 8064394: 4379228f .word 0x4379228f 8064398: 476fd82c .word 0x476fd82c 806439c: 20027a20 .word 0x20027a20 80643a0: 20020db4 .word 0x20020db4 80643a4: 20020994 .word 0x20020994 80643a8: 20020dae .word 0x20020dae 80643ac: 20020dd8 .word 0x20020dd8 80643b0: e0001000 .word 0xe0001000 80643b4: 20020dcc .word 0x20020dcc 80643b8: 20020dcf .word 0x20020dcf 80643bc: 20020dd1 .word 0x20020dd1 80643c0: 20020d9e .word 0x20020d9e 80643c4: 20021d70 .word 0x20021d70 80643c8: 20020dc8 .word 0x20020dc8 80643cc: 20021d2c .word 0x20021d2c 80643d0: 20058080 .word 0x20058080 80643d4: 20021581 .word 0x20021581 80643d8: 20020da8 .word 0x20020da8 80643dc: 20020d90 .word 0x20020d90 80643e0: 20020d8c .word 0x20020d8c len = strlen((void *) pBuff_u8); SendData(pBuff_u8, len + 1);*/ } else { if(Stability <= (Nr * 4)) 80643e4: 4bbe ldr r3, [pc, #760] ; (80646e0 ) 80643e6: 881b ldrh r3, [r3, #0] 80643e8: b29b uxth r3, r3 80643ea: 009b lsls r3, r3, #2 80643ec: 461a mov r2, r3 80643ee: 4bbd ldr r3, [pc, #756] ; (80646e4 ) 80643f0: 681b ldr r3, [r3, #0] 80643f2: 429a cmp r2, r3 80643f4: d304 bcc.n 8064400 Stability++; 80643f6: 4bbb ldr r3, [pc, #748] ; (80646e4 ) 80643f8: 681b ldr r3, [r3, #0] 80643fa: 3301 adds r3, #1 80643fc: 4ab9 ldr r2, [pc, #740] ; (80646e4 ) 80643fe: 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)))) 8064400: 4bb9 ldr r3, [pc, #740] ; (80646e8 ) 8064402: 781b ldrb r3, [r3, #0] 8064404: b2db uxtb r3, r3 8064406: 2b00 cmp r3, #0 8064408: f041 8015 bne.w 8065436 806440c: 4bb7 ldr r3, [pc, #732] ; (80646ec ) 806440e: 781b ldrb r3, [r3, #0] 8064410: b2db uxtb r3, r3 8064412: 2b00 cmp r3, #0 8064414: d109 bne.n 806442a 8064416: 4bb2 ldr r3, [pc, #712] ; (80646e0 ) 8064418: 881b ldrh r3, [r3, #0] 806441a: b29b uxth r3, r3 806441c: 009b lsls r3, r3, #2 806441e: 461a mov r2, r3 8064420: 4bb0 ldr r3, [pc, #704] ; (80646e4 ) 8064422: 681b ldr r3, [r3, #0] 8064424: 429a cmp r2, r3 8064426: f081 8006 bcs.w 8065436 { if(pardata.IPR == ACC) 806442a: 4bb1 ldr r3, [pc, #708] ; (80646f0 ) 806442c: 785b ldrb r3, [r3, #1] 806442e: b2db uxtb r3, r3 8064430: 2b00 cmp r3, #0 8064432: f040 8082 bne.w 806453a { fNrm = 1.0f / (float32_t) (Ns >> 1); 8064436: 4baf ldr r3, [pc, #700] ; (80646f4 ) 8064438: 681b ldr r3, [r3, #0] 806443a: 085b lsrs r3, r3, #1 806443c: ee07 3a90 vmov s15, r3 8064440: eeb8 7a67 vcvt.f32.u32 s14, s15 8064444: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 8064448: eec6 7a87 vdiv.f32 s15, s13, s14 806444c: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 8064450: 4ba9 ldr r3, [pc, #676] ; (80646f8 ) 8064452: edd3 7a00 vldr s15, [r3] 8064456: eeb7 7ae7 vcvt.f64.f32 d7, s15 806445a: ed9f 6b9f vldr d6, [pc, #636] ; 80646d8 806445e: ee27 7b06 vmul.f64 d7, d7, d6 8064462: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 8064466: 4ba2 ldr r3, [pc, #648] ; (80646f0 ) 8064468: edd3 7a04 vldr s15, [r3, #16] 806446c: eeb7 6ae7 vcvt.f64.f32 d6, s15 8064470: ed97 5b82 vldr d5, [r7, #520] ; 0x208 8064474: ee85 7b06 vdiv.f64 d7, d5, d6 8064478: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 806447c: 2300 movs r3, #0 806447e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8064482: e026 b.n 80644d2 { Buff64[i] = (float64_t) In16[i].lg; 8064484: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064488: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806448c: 499b ldr r1, [pc, #620] ; (80646fc ) 806448e: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8064492: ee07 2a90 vmov s15, r2 8064496: eeb8 7b67 vcvt.f64.u32 d7, s15 806449a: 4a99 ldr r2, [pc, #612] ; (8064700 ) 806449c: 00db lsls r3, r3, #3 806449e: 4413 add r3, r2 80644a0: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 80644a4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80644a8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80644ac: 4994 ldr r1, [pc, #592] ; (8064700 ) 80644ae: 00d2 lsls r2, r2, #3 80644b0: 440a add r2, r1 80644b2: ed92 6b00 vldr d6, [r2] 80644b6: ed97 7b82 vldr d7, [r7, #520] ; 0x208 80644ba: ee26 7b07 vmul.f64 d7, d6, d7 80644be: 4a90 ldr r2, [pc, #576] ; (8064700 ) 80644c0: 00db lsls r3, r3, #3 80644c2: 4413 add r3, r2 80644c4: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 80644c8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80644cc: 3301 adds r3, #1 80644ce: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80644d2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80644d6: 4b87 ldr r3, [pc, #540] ; (80646f4 ) 80644d8: 681b ldr r3, [r3, #0] 80644da: 429a cmp r2, r3 80644dc: d3d2 bcc.n 8064484 } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 80644de: 4b85 ldr r3, [pc, #532] ; (80646f4 ) 80644e0: 681b ldr r3, [r3, #0] 80644e2: 4a87 ldr r2, [pc, #540] ; (8064700 ) 80644e4: 4986 ldr r1, [pc, #536] ; (8064700 ) 80644e6: 4887 ldr r0, [pc, #540] ; (8064704 ) 80644e8: f06a fe08 bl 80cf0fc arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 80644ec: 4b81 ldr r3, [pc, #516] ; (80646f4 ) 80644ee: 681b ldr r3, [r3, #0] 80644f0: 4a83 ldr r2, [pc, #524] ; (8064700 ) 80644f2: 4983 ldr r1, [pc, #524] ; (8064700 ) 80644f4: 4884 ldr r0, [pc, #528] ; (8064708 ) 80644f6: f06a fe01 bl 80cf0fc for(i = 0; i < Ns; i++) 80644fa: 2300 movs r3, #0 80644fc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8064500: e014 b.n 806452c Out[i] = (float32_t) Buff64[i]; 8064502: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064506: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806450a: 497d ldr r1, [pc, #500] ; (8064700 ) 806450c: 00d2 lsls r2, r2, #3 806450e: 440a add r2, r1 8064510: ed92 7b00 vldr d7, [r2] 8064514: eef7 7bc7 vcvt.f32.f64 s15, d7 8064518: 4a7c ldr r2, [pc, #496] ; (806470c ) 806451a: 009b lsls r3, r3, #2 806451c: 4413 add r3, r2 806451e: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 8064522: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064526: 3301 adds r3, #1 8064528: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806452c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064530: 4b70 ldr r3, [pc, #448] ; (80646f4 ) 8064532: 681b ldr r3, [r3, #0] 8064534: 429a cmp r2, r3 8064536: d3e4 bcc.n 8064502 8064538: e087 b.n 806464a } else { fNrm = 1.0f / (float32_t) (Ns >> 1); 806453a: 4b6e ldr r3, [pc, #440] ; (80646f4 ) 806453c: 681b ldr r3, [r3, #0] 806453e: 085b lsrs r3, r3, #1 8064540: ee07 3a90 vmov s15, r3 8064544: eeb8 7a67 vcvt.f32.u32 s14, s15 8064548: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 806454c: eec6 7a87 vdiv.f32 s15, s13, s14 8064550: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 8064554: 4b68 ldr r3, [pc, #416] ; (80646f8 ) 8064556: edd3 7a00 vldr s15, [r3] 806455a: eeb7 7ae7 vcvt.f64.f32 d7, s15 806455e: ed9f 6b5e vldr d6, [pc, #376] ; 80646d8 8064562: ee27 7b06 vmul.f64 d7, d7, d6 8064566: ed87 7b82 vstr d7, [r7, #520] ; 0x208 fs = _b24 * CorrKk[ACC]; 806456a: 4b63 ldr r3, [pc, #396] ; (80646f8 ) 806456c: edd3 7a00 vldr s15, [r3] 8064570: ed9f 7a67 vldr s14, [pc, #412] ; 8064710 8064574: ee67 7a87 vmul.f32 s15, s15, s14 8064578: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 for(i = 0; i < Ns; i++) 806457c: 2300 movs r3, #0 806457e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8064582: e049 b.n 8064618 { Buff64[i] = (float64_t) In16[i].lg; 8064584: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064588: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806458c: 495b ldr r1, [pc, #364] ; (80646fc ) 806458e: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8064592: ee07 2a90 vmov s15, r2 8064596: eeb8 7b67 vcvt.f64.u32 d7, s15 806459a: 4a59 ldr r2, [pc, #356] ; (8064700 ) 806459c: 00db lsls r3, r3, #3 806459e: 4413 add r3, r2 80645a0: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 80645a4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80645a8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80645ac: 4954 ldr r1, [pc, #336] ; (8064700 ) 80645ae: 00d2 lsls r2, r2, #3 80645b0: 440a add r2, r1 80645b2: ed92 6b00 vldr d6, [r2] 80645b6: ed97 7b82 vldr d7, [r7, #520] ; 0x208 80645ba: ee26 7b07 vmul.f64 d7, d6, d7 80645be: 4a50 ldr r2, [pc, #320] ; (8064700 ) 80645c0: 00db lsls r3, r3, #3 80645c2: 4413 add r3, r2 80645c4: ed83 7b00 vstr d7, [r3] In[i] = (float32_t) In16[i].lg; 80645c8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80645cc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80645d0: 494a ldr r1, [pc, #296] ; (80646fc ) 80645d2: f851 2022 ldr.w r2, [r1, r2, lsl #2] 80645d6: ee07 2a90 vmov s15, r2 80645da: eef8 7a67 vcvt.f32.u32 s15, s15 80645de: 4a4d ldr r2, [pc, #308] ; (8064714 ) 80645e0: 009b lsls r3, r3, #2 80645e2: 4413 add r3, r2 80645e4: edc3 7a00 vstr s15, [r3] In[i] -= MEAN; 80645e8: 4b4b ldr r3, [pc, #300] ; (8064718 ) 80645ea: edd3 7a00 vldr s15, [r3] 80645ee: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80645f2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80645f6: 4947 ldr r1, [pc, #284] ; (8064714 ) 80645f8: 0092 lsls r2, r2, #2 80645fa: 440a add r2, r1 80645fc: ed92 7a00 vldr s14, [r2] 8064600: ee77 7a67 vsub.f32 s15, s14, s15 8064604: 4a43 ldr r2, [pc, #268] ; (8064714 ) 8064606: 009b lsls r3, r3, #2 8064608: 4413 add r3, r2 806460a: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 806460e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064612: 3301 adds r3, #1 8064614: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8064618: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806461c: 4b35 ldr r3, [pc, #212] ; (80646f4 ) 806461e: 681b ldr r3, [r3, #0] 8064620: 429a cmp r2, r3 8064622: d3af bcc.n 8064584 } arm_scale_f32(In, fs, Out, Ns); 8064624: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8064628: 4b32 ldr r3, [pc, #200] ; (80646f4 ) 806462a: 681b ldr r3, [r3, #0] 806462c: 461a mov r2, r3 806462e: 4937 ldr r1, [pc, #220] ; (806470c ) 8064630: eeb0 0a67 vmov.f32 s0, s15 8064634: 4837 ldr r0, [pc, #220] ; (8064714 ) 8064636: f06b f817 bl 80cf668 arm_rms_f32(Out, Ns, &rms); 806463a: 4b2e ldr r3, [pc, #184] ; (80646f4 ) 806463c: 681b ldr r3, [r3, #0] 806463e: f507 7286 add.w r2, r7, #268 ; 0x10c 8064642: 4619 mov r1, r3 8064644: 4831 ldr r0, [pc, #196] ; (806470c ) 8064646: f06a fbb7 bl 80cedb8 } MeanCnt++; 806464a: 4b34 ldr r3, [pc, #208] ; (806471c ) 806464c: 681b ldr r3, [r3, #0] 806464e: 3301 adds r3, #1 8064650: 4a32 ldr r2, [pc, #200] ; (806471c ) 8064652: 6013 str r3, [r2, #0] if(pardata.IPR == ACC) 8064654: 4b26 ldr r3, [pc, #152] ; (80646f0 ) 8064656: 785b ldrb r3, [r3, #1] 8064658: b2db uxtb r3, r3 806465a: 2b00 cmp r3, #0 806465c: f040 851d bne.w 806509a { if(Threshold) 8064660: 4b22 ldr r3, [pc, #136] ; (80646ec ) 8064662: 781b ldrb r3, [r3, #0] 8064664: b2db uxtb r3, r3 8064666: 2b00 cmp r3, #0 8064668: f000 8498 beq.w 8064f9c { if(timeRelax) 806466c: 4b2c ldr r3, [pc, #176] ; (8064720 ) 806466e: 681b ldr r3, [r3, #0] 8064670: 2b00 cmp r3, #0 8064672: d01b beq.n 80646ac { timeRelax--; 8064674: 4b2a ldr r3, [pc, #168] ; (8064720 ) 8064676: 681b ldr r3, [r3, #0] 8064678: 3b01 subs r3, #1 806467a: 4a29 ldr r2, [pc, #164] ; (8064720 ) 806467c: 6013 str r3, [r2, #0] skz[pardata.IPR] = skzDB[pardata.IPR] = 0.0f; 806467e: 4b1c ldr r3, [pc, #112] ; (80646f0 ) 8064680: 785b ldrb r3, [r3, #1] 8064682: b2db uxtb r3, r3 8064684: 4618 mov r0, r3 8064686: 4b1a ldr r3, [pc, #104] ; (80646f0 ) 8064688: 785b ldrb r3, [r3, #1] 806468a: b2db uxtb r3, r3 806468c: 4925 ldr r1, [pc, #148] ; (8064724 ) 806468e: 009a lsls r2, r3, #2 8064690: 440a add r2, r1 8064692: f04f 0100 mov.w r1, #0 8064696: 6011 str r1, [r2, #0] 8064698: 4a22 ldr r2, [pc, #136] ; (8064724 ) 806469a: 009b lsls r3, r3, #2 806469c: 4413 add r3, r2 806469e: 681a ldr r2, [r3, #0] 80646a0: 4921 ldr r1, [pc, #132] ; (8064728 ) 80646a2: 0083 lsls r3, r0, #2 80646a4: 440b add r3, r1 80646a6: 601a str r2, [r3, #0] 80646a8: f000 be47 b.w 806533a } else { if(AutoStop == false) // åñëè ïðåâûøåíèÿ ïîðîãà íå áûëî 80646ac: 4b1f ldr r3, [pc, #124] ; (806472c ) 80646ae: 781b ldrb r3, [r3, #0] 80646b0: b2db uxtb r3, r3 80646b2: f083 0301 eor.w r3, r3, #1 80646b6: b2db uxtb r3, r3 80646b8: 2b00 cmp r3, #0 80646ba: f000 8288 beq.w 8064bce { j = 0; 80646be: 2300 movs r3, #0 80646c0: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc IndexAutoStop = 0xffffffff; 80646c4: 4b1a ldr r3, [pc, #104] ; (8064730 ) 80646c6: f04f 32ff mov.w r2, #4294967295 80646ca: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 80646cc: 2300 movs r3, #0 80646ce: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80646d2: e267 b.n 8064ba4 80646d4: f3af 8000 nop.w 80646d8: 18000018 .word 0x18000018 80646dc: 3e980000 .word 0x3e980000 80646e0: 20021d70 .word 0x20021d70 80646e4: 20020dc8 .word 0x20020dc8 80646e8: 20020d9e .word 0x20020d9e 80646ec: 20020dd1 .word 0x20020dd1 80646f0: 20023eb8 .word 0x20023eb8 80646f4: 20021d2c .word 0x20021d2c 80646f8: 20020080 .word 0x20020080 80646fc: 20058080 .word 0x20058080 8064700: 20037b40 .word 0x20037b40 8064704: 200265c4 .word 0x200265c4 8064708: 20025f60 .word 0x20025f60 806470c: 20008000 .word 0x20008000 8064710: 34400000 .word 0x34400000 8064714: 20027a20 .word 0x20027a20 8064718: 200209d8 .word 0x200209d8 806471c: 20020dd8 .word 0x20020dd8 8064720: 20020d8c .word 0x20020d8c 8064724: 2002159c .word 0x2002159c 8064728: 20021590 .word 0x20021590 806472c: 20021574 .word 0x20021574 8064730: 20021650 .word 0x20021650 { if(ABS(Out[i]) >= (pardata.THR_VAL - 0.05f)) 8064734: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064738: 4a9c ldr r2, [pc, #624] ; (80649ac ) 806473a: 009b lsls r3, r3, #2 806473c: 4413 add r3, r2 806473e: edd3 7a00 vldr s15, [r3] 8064742: eef5 7ac0 vcmpe.f32 s15, #0.0 8064746: eef1 fa10 vmrs APSR_nzcv, fpscr 806474a: dd07 ble.n 806475c 806474c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064750: 4a96 ldr r2, [pc, #600] ; (80649ac ) 8064752: 009b lsls r3, r3, #2 8064754: 4413 add r3, r2 8064756: edd3 7a00 vldr s15, [r3] 806475a: e008 b.n 806476e 806475c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064760: 4a92 ldr r2, [pc, #584] ; (80649ac ) 8064762: 009b lsls r3, r3, #2 8064764: 4413 add r3, r2 8064766: edd3 7a00 vldr s15, [r3] 806476a: eef1 7a67 vneg.f32 s15, s15 806476e: 4b90 ldr r3, [pc, #576] ; (80649b0 ) 8064770: ed93 7a05 vldr s14, [r3, #20] 8064774: eddf 6a8f vldr s13, [pc, #572] ; 80649b4 8064778: ee37 7a66 vsub.f32 s14, s14, s13 806477c: eef4 7ac7 vcmpe.f32 s15, s14 8064780: eef1 fa10 vmrs APSR_nzcv, fpscr 8064784: f2c0 8206 blt.w 8064b94 { j++; 8064788: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 806478c: 3301 adds r3, #1 806478e: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(j >= 2) // åñëè ïðåâûøåíèå ïîðîãà áûëî ÈÑÒÈÃÃÃŽ 8064792: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8064796: 2b01 cmp r3, #1 8064798: f240 81ff bls.w 8064b9a { IndexAutoStop = i - 1; 806479c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80647a0: 3b01 subs r3, #1 80647a2: 4a85 ldr r2, [pc, #532] ; (80649b8 ) 80647a4: 6013 str r3, [r2, #0] AutoStop = true; 80647a6: 4b85 ldr r3, [pc, #532] ; (80649bc ) 80647a8: 2201 movs r2, #1 80647aa: 701a strb r2, [r3, #0] if(IndexAutoStop <= (Ns >> 2)) // åñëè èíäåêñ ïîðîãà â âûáîðêå ìåíüøå èëè ðàâåí 1/4 Ns 80647ac: 4b84 ldr r3, [pc, #528] ; (80649c0 ) 80647ae: 681b ldr r3, [r3, #0] 80647b0: 089a lsrs r2, r3, #2 80647b2: 4b81 ldr r3, [pc, #516] ; (80649b8 ) 80647b4: 681b ldr r3, [r3, #0] 80647b6: 429a cmp r2, r3 80647b8: f0c0 81e3 bcc.w 8064b82 { if(NSamples > 0) // åñëè ýòî íå ïåðâàÿ âûáîðêà 80647bc: 4b81 ldr r3, [pc, #516] ; (80649c4 ) 80647be: 681b ldr r3, [r3, #0] 80647c0: 2b00 cmp r3, #0 80647c2: d02f beq.n 8064824 { k = IndexAutoStop + Ns; 80647c4: 4b7c ldr r3, [pc, #496] ; (80649b8 ) 80647c6: 681a ldr r2, [r3, #0] 80647c8: 4b7d ldr r3, [pc, #500] ; (80649c0 ) 80647ca: 681b ldr r3, [r3, #0] 80647cc: 4413 add r3, r2 80647ce: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 k -= (Ns >> 2); 80647d2: 4b7b ldr r3, [pc, #492] ; (80649c0 ) 80647d4: 681b ldr r3, [r3, #0] 80647d6: 089b lsrs r3, r3, #2 80647d8: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 80647dc: 1ad3 subs r3, r2, r3 80647de: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 blockSize = Ns - k; 80647e2: 4b77 ldr r3, [pc, #476] ; (80649c0 ) 80647e4: 681a ldr r2, [r3, #0] 80647e6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80647ea: 1ad3 subs r3, r2, r3 80647ec: 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)); 80647f0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80647f4: 009a lsls r2, r3, #2 80647f6: 4b74 ldr r3, [pc, #464] ; (80649c8 ) 80647f8: 4413 add r3, r2 80647fa: 4619 mov r1, r3 80647fc: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8064800: 009b lsls r3, r3, #2 8064802: 461a mov r2, r3 8064804: 4871 ldr r0, [pc, #452] ; (80649cc ) 8064806: f06d fbc2 bl 80d1f8e memcpy((void *) &In[blockSize], (void *) Out, (k << 2)); 806480a: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 806480e: 009b lsls r3, r3, #2 8064810: 4a6e ldr r2, [pc, #440] ; (80649cc ) 8064812: 1898 adds r0, r3, r2 8064814: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8064818: 009b lsls r3, r3, #2 806481a: 461a mov r2, r3 806481c: 4963 ldr r1, [pc, #396] ; (80649ac ) 806481e: f06d fbb6 bl 80d1f8e 8064822: e007 b.n 8064834 else // ýòî ïåðâàÿ âûáîðêà, ñðàçó ðèñóåì è îñòàíàâëèâàåì { #ifdef USE_DMA_MEMCPY DMA_MemToMem_HALFWORD((uint32_t) Out, (uint32_t) In, (Ns << 1)); #else memcpy((void *) In, (void *) Out, (Ns << 2)); 8064824: 4b66 ldr r3, [pc, #408] ; (80649c0 ) 8064826: 681b ldr r3, [r3, #0] 8064828: 009b lsls r3, r3, #2 806482a: 461a mov r2, r3 806482c: 495f ldr r1, [pc, #380] ; (80649ac ) 806482e: 4867 ldr r0, [pc, #412] ; (80649cc ) 8064830: f06d fbad bl 80d1f8e #endif } NeedSTOP = true; 8064834: 4b66 ldr r3, [pc, #408] ; (80649d0 ) 8064836: 2201 movs r2, #1 8064838: 701a strb r2, [r3, #0] arm_max_f32(In, Ns, &maxf, &imax); 806483a: 4b61 ldr r3, [pc, #388] ; (80649c0 ) 806483c: 6819 ldr r1, [r3, #0] 806483e: f507 73e0 add.w r3, r7, #448 ; 0x1c0 8064842: f507 7288 add.w r2, r7, #272 ; 0x110 8064846: 4861 ldr r0, [pc, #388] ; (80649cc ) 8064848: f06a fbe4 bl 80cf014 arm_min_f32(In, Ns, &minf, &imin); 806484c: 4b5c ldr r3, [pc, #368] ; (80649c0 ) 806484e: 6819 ldr r1, [r3, #0] 8064850: f507 73e2 add.w r3, r7, #452 ; 0x1c4 8064854: f507 728a add.w r2, r7, #276 ; 0x114 8064858: 485c ldr r0, [pc, #368] ; (80649cc ) 806485a: f06a fb3f bl 80ceedc //*********************************************************************************************** if(ABS(minf) > ABS(maxf)) 806485e: f507 738a add.w r3, r7, #276 ; 0x114 8064862: edd3 7a00 vldr s15, [r3] 8064866: eef5 7ac0 vcmpe.f32 s15, #0.0 806486a: eef1 fa10 vmrs APSR_nzcv, fpscr 806486e: dd04 ble.n 806487a 8064870: f507 738a add.w r3, r7, #276 ; 0x114 8064874: ed93 7a00 vldr s14, [r3] 8064878: e005 b.n 8064886 806487a: f507 738a add.w r3, r7, #276 ; 0x114 806487e: edd3 7a00 vldr s15, [r3] 8064882: eeb1 7a67 vneg.f32 s14, s15 8064886: f507 7388 add.w r3, r7, #272 ; 0x110 806488a: edd3 7a00 vldr s15, [r3] 806488e: eef5 7ac0 vcmpe.f32 s15, #0.0 8064892: eef1 fa10 vmrs APSR_nzcv, fpscr 8064896: dd04 ble.n 80648a2 8064898: f507 7388 add.w r3, r7, #272 ; 0x110 806489c: edd3 7a00 vldr s15, [r3] 80648a0: e005 b.n 80648ae 80648a2: f507 7388 add.w r3, r7, #272 ; 0x110 80648a6: edd3 7a00 vldr s15, [r3] 80648aa: eef1 7a67 vneg.f32 s15, s15 80648ae: eeb4 7ae7 vcmpe.f32 s14, s15 80648b2: eef1 fa10 vmrs APSR_nzcv, fpscr 80648b6: dd03 ble.n 80648c0 imax = imin; 80648b8: f8d7 31c4 ldr.w r3, [r7, #452] ; 0x1c4 80648bc: f8c7 31c0 str.w r3, [r7, #448] ; 0x1c0 while(ViewLevel > 0) 80648c0: e11c b.n 8064afc { lvl_0 = 0; 80648c2: 2300 movs r3, #0 80648c4: f8c7 31fc str.w r3, [r7, #508] ; 0x1fc MaxLevel = 6; 80648c8: 2306 movs r3, #6 80648ca: f8a7 31f8 strh.w r3, [r7, #504] ; 0x1f8 dXold = Avg[0][5 * ViewLevel + pardata.LNE]; 80648ce: 4b41 ldr r3, [pc, #260] ; (80649d4 ) 80648d0: 781b ldrb r3, [r3, #0] 80648d2: b2db uxtb r3, r3 80648d4: 461a mov r2, r3 80648d6: 4613 mov r3, r2 80648d8: 009b lsls r3, r3, #2 80648da: 4413 add r3, r2 80648dc: 4a34 ldr r2, [pc, #208] ; (80649b0 ) 80648de: 79d2 ldrb r2, [r2, #7] 80648e0: b2d2 uxtb r2, r2 80648e2: 4413 add r3, r2 80648e4: 4a3c ldr r2, [pc, #240] ; (80649d8 ) 80648e6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80648ea: f8a7 31e2 strh.w r3, [r7, #482] ; 0x1e2 if(ViewLevel) 80648ee: 4b39 ldr r3, [pc, #228] ; (80649d4 ) 80648f0: 781b ldrb r3, [r3, #0] 80648f2: b2db uxtb r3, r3 80648f4: 2b00 cmp r3, #0 80648f6: f000 8101 beq.w 8064afc { ViewLevel--; 80648fa: 4b36 ldr r3, [pc, #216] ; (80649d4 ) 80648fc: 781b ldrb r3, [r3, #0] 80648fe: b2db uxtb r3, r3 8064900: 3b01 subs r3, #1 8064902: b2da uxtb r2, r3 8064904: 4b33 ldr r3, [pc, #204] ; (80649d4 ) 8064906: 701a strb r2, [r3, #0] dX = Avg[0][5 * ViewLevel + pardata.LNE]; 8064908: 4b32 ldr r3, [pc, #200] ; (80649d4 ) 806490a: 781b ldrb r3, [r3, #0] 806490c: b2db uxtb r3, r3 806490e: 461a mov r2, r3 8064910: 4613 mov r3, r2 8064912: 009b lsls r3, r3, #2 8064914: 4413 add r3, r2 8064916: 4a26 ldr r2, [pc, #152] ; (80649b0 ) 8064918: 79d2 ldrb r2, [r2, #7] 806491a: b2d2 uxtb r2, r2 806491c: 4413 add r3, r2 806491e: 4a2e ldr r2, [pc, #184] ; (80649d8 ) 8064920: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8064924: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa if(ViewLevel == 0) 8064928: 4b2a ldr r3, [pc, #168] ; (80649d4 ) 806492a: 781b ldrb r3, [r3, #0] 806492c: b2db uxtb r3, r3 806492e: 2b00 cmp r3, #0 8064930: d130 bne.n 8064994 { X0 = lX = 0; 8064932: 2100 movs r1, #0 8064934: 4b29 ldr r3, [pc, #164] ; (80649dc ) 8064936: 460a mov r2, r1 8064938: 801a strh r2, [r3, #0] 806493a: 4b29 ldr r3, [pc, #164] ; (80649e0 ) 806493c: 460a mov r2, r1 806493e: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 8064940: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064944: 021b lsls r3, r3, #8 8064946: b29a uxth r2, r3 8064948: 4b24 ldr r3, [pc, #144] ; (80649dc ) 806494a: 881b ldrh r3, [r3, #0] 806494c: b29b uxth r3, r3 806494e: 4413 add r3, r2 8064950: b29a uxth r2, r3 8064952: 4b24 ldr r3, [pc, #144] ; (80649e4 ) 8064954: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8064956: 4b24 ldr r3, [pc, #144] ; (80649e8 ) 8064958: 881b ldrh r3, [r3, #0] 806495a: b29b uxth r3, r3 806495c: 461a mov r2, r3 806495e: 4b1f ldr r3, [pc, #124] ; (80649dc ) 8064960: 881b ldrh r3, [r3, #0] 8064962: b29b uxth r3, r3 8064964: 1ad2 subs r2, r2, r3 8064966: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 806496a: fb92 f3f3 sdiv r3, r2, r3 806496e: 461a mov r2, r3 8064970: 4b1e ldr r3, [pc, #120] ; (80649ec ) 8064972: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 8064974: 4b1d ldr r3, [pc, #116] ; (80649ec ) 8064976: 681b ldr r3, [r3, #0] 8064978: b29b uxth r3, r3 806497a: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 806497e: fb12 f303 smulbb r3, r2, r3 8064982: b29a uxth r2, r3 8064984: 4b16 ldr r3, [pc, #88] ; (80649e0 ) 8064986: 881b ldrh r3, [r3, #0] 8064988: b29b uxth r3, r3 806498a: 4413 add r3, r2 806498c: b29a uxth r2, r3 806498e: 4b18 ldr r3, [pc, #96] ; (80649f0 ) 8064990: 801a strh r2, [r3, #0] 8064992: e0b3 b.n 8064afc } else { if(CURSOR * dX > Mpos) 8064994: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064998: 4a14 ldr r2, [pc, #80] ; (80649ec ) 806499a: 6812 ldr r2, [r2, #0] 806499c: fb02 f303 mul.w r3, r2, r3 80649a0: 4a13 ldr r2, [pc, #76] ; (80649f0 ) 80649a2: 8812 ldrh r2, [r2, #0] 80649a4: b292 uxth r2, r2 80649a6: 4293 cmp r3, r2 80649a8: d943 bls.n 8064a32 { while(CURSOR * dX > Mpos) 80649aa: e028 b.n 80649fe 80649ac: 20008000 .word 0x20008000 80649b0: 20023eb8 .word 0x20023eb8 80649b4: 3d4ccccd .word 0x3d4ccccd 80649b8: 20021650 .word 0x20021650 80649bc: 20021574 .word 0x20021574 80649c0: 20021d2c .word 0x20021d2c 80649c4: 20020da8 .word 0x20020da8 80649c8: 64080000 .word 0x64080000 80649cc: 20027a20 .word 0x20027a20 80649d0: 20020fca .word 0x20020fca 80649d4: 20020fc0 .word 0x20020fc0 80649d8: 080f544c .word 0x080f544c 80649dc: 20025d72 .word 0x20025d72 80649e0: 20025d76 .word 0x20025d76 80649e4: 20025d78 .word 0x20025d78 80649e8: 20025d74 .word 0x20025d74 80649ec: 2002006c .word 0x2002006c 80649f0: 20025d6e .word 0x20025d6e CURSOR--; 80649f4: 4baf ldr r3, [pc, #700] ; (8064cb4 ) 80649f6: 681b ldr r3, [r3, #0] 80649f8: 3b01 subs r3, #1 80649fa: 4aae ldr r2, [pc, #696] ; (8064cb4 ) 80649fc: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 80649fe: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064a02: 4aac ldr r2, [pc, #688] ; (8064cb4 ) 8064a04: 6812 ldr r2, [r2, #0] 8064a06: fb02 f303 mul.w r3, r2, r3 8064a0a: 4aab ldr r2, [pc, #684] ; (8064cb8 ) 8064a0c: 8812 ldrh r2, [r2, #0] 8064a0e: b292 uxth r2, r2 8064a10: 4293 cmp r3, r2 8064a12: d8ef bhi.n 80649f4 Mpos = X0 + CURSOR * dX; 8064a14: 4ba7 ldr r3, [pc, #668] ; (8064cb4 ) 8064a16: 681b ldr r3, [r3, #0] 8064a18: b29b uxth r3, r3 8064a1a: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8064a1e: fb12 f303 smulbb r3, r2, r3 8064a22: b29a uxth r2, r3 8064a24: 4ba5 ldr r3, [pc, #660] ; (8064cbc ) 8064a26: 881b ldrh r3, [r3, #0] 8064a28: b29b uxth r3, r3 8064a2a: 4413 add r3, r2 8064a2c: b29a uxth r2, r3 8064a2e: 4ba2 ldr r3, [pc, #648] ; (8064cb8 ) 8064a30: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 8064a32: 4ba1 ldr r3, [pc, #644] ; (8064cb8 ) 8064a34: 881b ldrh r3, [r3, #0] 8064a36: b29b uxth r3, r3 8064a38: 4619 mov r1, r3 8064a3a: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064a3e: 4a9d ldr r2, [pc, #628] ; (8064cb4 ) 8064a40: 6812 ldr r2, [r2, #0] 8064a42: fb02 f303 mul.w r3, r2, r3 8064a46: 1acb subs r3, r1, r3 8064a48: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 j = 256 * dX; 8064a4c: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064a50: 021b lsls r3, r3, #8 8064a52: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc k = 256 * Avg[0][5 * lvl_0 + pardata.LNE]; // 3200 8064a56: f8d7 21fc ldr.w r2, [r7, #508] ; 0x1fc 8064a5a: 4613 mov r3, r2 8064a5c: 009b lsls r3, r3, #2 8064a5e: 4413 add r3, r2 8064a60: 4a97 ldr r2, [pc, #604] ; (8064cc0 ) 8064a62: 79d2 ldrb r2, [r2, #7] 8064a64: b2d2 uxtb r2, r2 8064a66: 4413 add r3, r2 8064a68: 4a96 ldr r2, [pc, #600] ; (8064cc4 ) 8064a6a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8064a6e: 021b lsls r3, r3, #8 8064a70: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 while(i + j > k) { 8064a74: e006 b.n 8064a84 i -= dXold; 8064a76: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064a7a: f8b7 31e2 ldrh.w r3, [r7, #482] ; 0x1e2 8064a7e: 1ad3 subs r3, r2, r3 8064a80: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 while(i + j > k) { 8064a84: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064a88: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8064a8c: 441a add r2, r3 8064a8e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8064a92: 429a cmp r2, r3 8064a94: d8ef bhi.n 8064a76 } X0 = (uint16_t) i; 8064a96: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064a9a: b29a uxth r2, r3 8064a9c: 4b87 ldr r3, [pc, #540] ; (8064cbc ) 8064a9e: 801a strh r2, [r3, #0] lX = X0; 8064aa0: 4b86 ldr r3, [pc, #536] ; (8064cbc ) 8064aa2: 881b ldrh r3, [r3, #0] 8064aa4: b29a uxth r2, r3 8064aa6: 4b88 ldr r3, [pc, #544] ; (8064cc8 ) 8064aa8: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 8064aaa: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064aae: 021b lsls r3, r3, #8 8064ab0: b29a uxth r2, r3 8064ab2: 4b85 ldr r3, [pc, #532] ; (8064cc8 ) 8064ab4: 881b ldrh r3, [r3, #0] 8064ab6: b29b uxth r3, r3 8064ab8: 4413 add r3, r2 8064aba: b29a uxth r2, r3 8064abc: 4b83 ldr r3, [pc, #524] ; (8064ccc ) 8064abe: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8064ac0: 4b83 ldr r3, [pc, #524] ; (8064cd0 ) 8064ac2: 881b ldrh r3, [r3, #0] 8064ac4: b29b uxth r3, r3 8064ac6: 461a mov r2, r3 8064ac8: 4b7f ldr r3, [pc, #508] ; (8064cc8 ) 8064aca: 881b ldrh r3, [r3, #0] 8064acc: b29b uxth r3, r3 8064ace: 1ad2 subs r2, r2, r3 8064ad0: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064ad4: fb92 f3f3 sdiv r3, r2, r3 8064ad8: 461a mov r2, r3 8064ada: 4b76 ldr r3, [pc, #472] ; (8064cb4 ) 8064adc: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 8064ade: 4b75 ldr r3, [pc, #468] ; (8064cb4 ) 8064ae0: 681b ldr r3, [r3, #0] 8064ae2: b29b uxth r3, r3 8064ae4: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8064ae8: fb12 f303 smulbb r3, r2, r3 8064aec: b29a uxth r2, r3 8064aee: 4b73 ldr r3, [pc, #460] ; (8064cbc ) 8064af0: 881b ldrh r3, [r3, #0] 8064af2: b29b uxth r3, r3 8064af4: 4413 add r3, r2 8064af6: b29a uxth r2, r3 8064af8: 4b6f ldr r3, [pc, #444] ; (8064cb8 ) 8064afa: 801a strh r2, [r3, #0] while(ViewLevel > 0) 8064afc: 4b75 ldr r3, [pc, #468] ; (8064cd4 ) 8064afe: 781b ldrb r3, [r3, #0] 8064b00: b2db uxtb r3, r3 8064b02: 2b00 cmp r3, #0 8064b04: f47f aedd bne.w 80648c2 } } } dX = Avg[0][5 * ViewLevel + pardata.LNE]; 8064b08: 4b72 ldr r3, [pc, #456] ; (8064cd4 ) 8064b0a: 781b ldrb r3, [r3, #0] 8064b0c: b2db uxtb r3, r3 8064b0e: 461a mov r2, r3 8064b10: 4613 mov r3, r2 8064b12: 009b lsls r3, r3, #2 8064b14: 4413 add r3, r2 8064b16: 4a6a ldr r2, [pc, #424] ; (8064cc0 ) 8064b18: 79d2 ldrb r2, [r2, #7] 8064b1a: b2d2 uxtb r2, r2 8064b1c: 4413 add r3, r2 8064b1e: 4a69 ldr r2, [pc, #420] ; (8064cc4 ) 8064b20: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8064b24: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa fineMpos = imax; 8064b28: f8d7 31c0 ldr.w r3, [r7, #448] ; 0x1c0 8064b2c: b29a uxth r2, r3 8064b2e: 4b68 ldr r3, [pc, #416] ; (8064cd0 ) 8064b30: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8064b32: 4b67 ldr r3, [pc, #412] ; (8064cd0 ) 8064b34: 881b ldrh r3, [r3, #0] 8064b36: b29b uxth r3, r3 8064b38: 461a mov r2, r3 8064b3a: 4b63 ldr r3, [pc, #396] ; (8064cc8 ) 8064b3c: 881b ldrh r3, [r3, #0] 8064b3e: b29b uxth r3, r3 8064b40: 1ad2 subs r2, r2, r3 8064b42: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064b46: fb92 f3f3 sdiv r3, r2, r3 8064b4a: 461a mov r2, r3 8064b4c: 4b59 ldr r3, [pc, #356] ; (8064cb4 ) 8064b4e: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 8064b50: 4b58 ldr r3, [pc, #352] ; (8064cb4 ) 8064b52: 681b ldr r3, [r3, #0] 8064b54: b29b uxth r3, r3 8064b56: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8064b5a: fb12 f303 smulbb r3, r2, r3 8064b5e: b29a uxth r2, r3 8064b60: 4b56 ldr r3, [pc, #344] ; (8064cbc ) 8064b62: 881b ldrh r3, [r3, #0] 8064b64: b29b uxth r3, r3 8064b66: 4413 add r3, r2 8064b68: b29a uxth r2, r3 8064b6a: 4b53 ldr r3, [pc, #332] ; (8064cb8 ) 8064b6c: 801a strh r2, [r3, #0] AUTOZOOM = true; 8064b6e: 4b5a ldr r3, [pc, #360] ; (8064cd8 ) 8064b70: 2201 movs r2, #1 8064b72: 701a strb r2, [r3, #0] lastmenupos = StartStop; 8064b74: 4b59 ldr r3, [pc, #356] ; (8064cdc ) 8064b76: 2200 movs r2, #0 8064b78: 701a strb r2, [r3, #0] menupos = Cursor; 8064b7a: 4b59 ldr r3, [pc, #356] ; (8064ce0 ) 8064b7c: 2206 movs r2, #6 8064b7e: 701a strb r2, [r3, #0] #else memcpy((void *) In, (void *) Out, (Ns << 2)); #endif } break; 8064b80: e017 b.n 8064bb2 memcpy((void *) In, (void *) Out, (Ns << 2)); 8064b82: 4b58 ldr r3, [pc, #352] ; (8064ce4 ) 8064b84: 681b ldr r3, [r3, #0] 8064b86: 009b lsls r3, r3, #2 8064b88: 461a mov r2, r3 8064b8a: 4957 ldr r1, [pc, #348] ; (8064ce8 ) 8064b8c: 4857 ldr r0, [pc, #348] ; (8064cec ) 8064b8e: f06d f9fe bl 80d1f8e break; 8064b92: e00e b.n 8064bb2 } } else { j = 0; 8064b94: 2300 movs r3, #0 8064b96: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 8064b9a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064b9e: 3301 adds r3, #1 8064ba0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8064ba4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064ba8: 4b4e ldr r3, [pc, #312] ; (8064ce4 ) 8064baa: 681b ldr r3, [r3, #0] 8064bac: 429a cmp r2, r3 8064bae: f4ff adc1 bcc.w 8064734 } } if(j < 2) 8064bb2: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8064bb6: 2b01 cmp r3, #1 8064bb8: f200 81db bhi.w 8064f72 { #ifdef USE_DMA_MEMCPY DMA_MemToMem_HALFWORD((uint32_t) Out, (uint32_t) In, (Ns << 1)); #else memcpy((void *) In, (void *) Out, (Ns << 2)); 8064bbc: 4b49 ldr r3, [pc, #292] ; (8064ce4 ) 8064bbe: 681b ldr r3, [r3, #0] 8064bc0: 009b lsls r3, r3, #2 8064bc2: 461a mov r2, r3 8064bc4: 4948 ldr r1, [pc, #288] ; (8064ce8 ) 8064bc6: 4849 ldr r0, [pc, #292] ; (8064cec ) 8064bc8: f06d f9e1 bl 80d1f8e 8064bcc: e1d1 b.n 8064f72 #endif } } else // åñëè áûëî ïðåâûøåíèÿ ïîðîãà â ïðåäûäóùåé âûáîðêå { k = IndexAutoStop; 8064bce: 4b48 ldr r3, [pc, #288] ; (8064cf0 ) 8064bd0: 681b ldr r3, [r3, #0] 8064bd2: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 k -= (Ns >> 2); 8064bd6: 4b43 ldr r3, [pc, #268] ; (8064ce4 ) 8064bd8: 681b ldr r3, [r3, #0] 8064bda: 089b lsrs r3, r3, #2 8064bdc: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8064be0: 1ad3 subs r3, r2, r3 8064be2: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 blockSize = Ns - k; 8064be6: 4b3f ldr r3, [pc, #252] ; (8064ce4 ) 8064be8: 681a ldr r2, [r3, #0] 8064bea: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8064bee: 1ad3 subs r3, r2, r3 8064bf0: 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)); 8064bf4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8064bf8: 009a lsls r2, r3, #2 8064bfa: 4b3e ldr r3, [pc, #248] ; (8064cf4 ) 8064bfc: 4413 add r3, r2 8064bfe: 4619 mov r1, r3 8064c00: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8064c04: 009b lsls r3, r3, #2 8064c06: 461a mov r2, r3 8064c08: 4838 ldr r0, [pc, #224] ; (8064cec ) 8064c0a: f06d f9c0 bl 80d1f8e memcpy((void *) &In[blockSize], (void *) Out, (k << 2)); 8064c0e: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8064c12: 009b lsls r3, r3, #2 8064c14: 4a35 ldr r2, [pc, #212] ; (8064cec ) 8064c16: 1898 adds r0, r3, r2 8064c18: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8064c1c: 009b lsls r3, r3, #2 8064c1e: 461a mov r2, r3 8064c20: 4931 ldr r1, [pc, #196] ; (8064ce8 ) 8064c22: f06d f9b4 bl 80d1f8e #endif NeedSTOP = true; 8064c26: 4b34 ldr r3, [pc, #208] ; (8064cf8 ) 8064c28: 2201 movs r2, #1 8064c2a: 701a strb r2, [r3, #0] arm_max_f32(In, Ns, &maxf, &imax); 8064c2c: 4b2d ldr r3, [pc, #180] ; (8064ce4 ) 8064c2e: 6819 ldr r1, [r3, #0] 8064c30: f507 73e0 add.w r3, r7, #448 ; 0x1c0 8064c34: f507 7288 add.w r2, r7, #272 ; 0x110 8064c38: 482c ldr r0, [pc, #176] ; (8064cec ) 8064c3a: f06a f9eb bl 80cf014 arm_min_f32(In, Ns, &minf, &imin); 8064c3e: 4b29 ldr r3, [pc, #164] ; (8064ce4 ) 8064c40: 6819 ldr r1, [r3, #0] 8064c42: f507 73e2 add.w r3, r7, #452 ; 0x1c4 8064c46: f507 728a add.w r2, r7, #276 ; 0x114 8064c4a: 4828 ldr r0, [pc, #160] ; (8064cec ) 8064c4c: f06a f946 bl 80ceedc //*********************************************************************************************** if(ABS(minf) > ABS(maxf)) 8064c50: f507 738a add.w r3, r7, #276 ; 0x114 8064c54: edd3 7a00 vldr s15, [r3] 8064c58: eef5 7ac0 vcmpe.f32 s15, #0.0 8064c5c: eef1 fa10 vmrs APSR_nzcv, fpscr 8064c60: dd04 ble.n 8064c6c 8064c62: f507 738a add.w r3, r7, #276 ; 0x114 8064c66: ed93 7a00 vldr s14, [r3] 8064c6a: e005 b.n 8064c78 8064c6c: f507 738a add.w r3, r7, #276 ; 0x114 8064c70: edd3 7a00 vldr s15, [r3] 8064c74: eeb1 7a67 vneg.f32 s14, s15 8064c78: f507 7388 add.w r3, r7, #272 ; 0x110 8064c7c: edd3 7a00 vldr s15, [r3] 8064c80: eef5 7ac0 vcmpe.f32 s15, #0.0 8064c84: eef1 fa10 vmrs APSR_nzcv, fpscr 8064c88: dd04 ble.n 8064c94 8064c8a: f507 7388 add.w r3, r7, #272 ; 0x110 8064c8e: edd3 7a00 vldr s15, [r3] 8064c92: e005 b.n 8064ca0 8064c94: f507 7388 add.w r3, r7, #272 ; 0x110 8064c98: edd3 7a00 vldr s15, [r3] 8064c9c: eef1 7a67 vneg.f32 s15, s15 8064ca0: eeb4 7ae7 vcmpe.f32 s14, s15 8064ca4: eef1 fa10 vmrs APSR_nzcv, fpscr 8064ca8: dd03 ble.n 8064cb2 imax = imin; 8064caa: f8d7 31c4 ldr.w r3, [r7, #452] ; 0x1c4 8064cae: f8c7 31c0 str.w r3, [r7, #448] ; 0x1c0 while(ViewLevel > 0) 8064cb2: e11c b.n 8064eee 8064cb4: 2002006c .word 0x2002006c 8064cb8: 20025d6e .word 0x20025d6e 8064cbc: 20025d76 .word 0x20025d76 8064cc0: 20023eb8 .word 0x20023eb8 8064cc4: 080f544c .word 0x080f544c 8064cc8: 20025d72 .word 0x20025d72 8064ccc: 20025d78 .word 0x20025d78 8064cd0: 20025d74 .word 0x20025d74 8064cd4: 20020fc0 .word 0x20020fc0 8064cd8: 20020994 .word 0x20020994 8064cdc: 20020071 .word 0x20020071 8064ce0: 20020070 .word 0x20020070 8064ce4: 20021d2c .word 0x20021d2c 8064ce8: 20008000 .word 0x20008000 8064cec: 20027a20 .word 0x20027a20 8064cf0: 20021650 .word 0x20021650 8064cf4: 64080000 .word 0x64080000 8064cf8: 20020fca .word 0x20020fca { lvl_0 = 0; 8064cfc: 2300 movs r3, #0 8064cfe: f8c7 31fc str.w r3, [r7, #508] ; 0x1fc MaxLevel = 6; 8064d02: 2306 movs r3, #6 8064d04: f8a7 31f8 strh.w r3, [r7, #504] ; 0x1f8 dXold = Avg[0][5 * ViewLevel + pardata.LNE]; 8064d08: 4ba6 ldr r3, [pc, #664] ; (8064fa4 ) 8064d0a: 781b ldrb r3, [r3, #0] 8064d0c: b2db uxtb r3, r3 8064d0e: 461a mov r2, r3 8064d10: 4613 mov r3, r2 8064d12: 009b lsls r3, r3, #2 8064d14: 4413 add r3, r2 8064d16: 4aa4 ldr r2, [pc, #656] ; (8064fa8 ) 8064d18: 79d2 ldrb r2, [r2, #7] 8064d1a: b2d2 uxtb r2, r2 8064d1c: 4413 add r3, r2 8064d1e: 4aa3 ldr r2, [pc, #652] ; (8064fac ) 8064d20: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8064d24: f8a7 31e2 strh.w r3, [r7, #482] ; 0x1e2 if(ViewLevel) 8064d28: 4b9e ldr r3, [pc, #632] ; (8064fa4 ) 8064d2a: 781b ldrb r3, [r3, #0] 8064d2c: b2db uxtb r3, r3 8064d2e: 2b00 cmp r3, #0 8064d30: f000 80dd beq.w 8064eee { ViewLevel--; 8064d34: 4b9b ldr r3, [pc, #620] ; (8064fa4 ) 8064d36: 781b ldrb r3, [r3, #0] 8064d38: b2db uxtb r3, r3 8064d3a: 3b01 subs r3, #1 8064d3c: b2da uxtb r2, r3 8064d3e: 4b99 ldr r3, [pc, #612] ; (8064fa4 ) 8064d40: 701a strb r2, [r3, #0] dX = Avg[0][5 * ViewLevel + pardata.LNE]; 8064d42: 4b98 ldr r3, [pc, #608] ; (8064fa4 ) 8064d44: 781b ldrb r3, [r3, #0] 8064d46: b2db uxtb r3, r3 8064d48: 461a mov r2, r3 8064d4a: 4613 mov r3, r2 8064d4c: 009b lsls r3, r3, #2 8064d4e: 4413 add r3, r2 8064d50: 4a95 ldr r2, [pc, #596] ; (8064fa8 ) 8064d52: 79d2 ldrb r2, [r2, #7] 8064d54: b2d2 uxtb r2, r2 8064d56: 4413 add r3, r2 8064d58: 4a94 ldr r2, [pc, #592] ; (8064fac ) 8064d5a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8064d5e: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa if(ViewLevel == 0) 8064d62: 4b90 ldr r3, [pc, #576] ; (8064fa4 ) 8064d64: 781b ldrb r3, [r3, #0] 8064d66: b2db uxtb r3, r3 8064d68: 2b00 cmp r3, #0 8064d6a: d130 bne.n 8064dce { X0 = lX = 0; 8064d6c: 2100 movs r1, #0 8064d6e: 4b90 ldr r3, [pc, #576] ; (8064fb0 ) 8064d70: 460a mov r2, r1 8064d72: 801a strh r2, [r3, #0] 8064d74: 4b8f ldr r3, [pc, #572] ; (8064fb4 ) 8064d76: 460a mov r2, r1 8064d78: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 8064d7a: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064d7e: 021b lsls r3, r3, #8 8064d80: b29a uxth r2, r3 8064d82: 4b8b ldr r3, [pc, #556] ; (8064fb0 ) 8064d84: 881b ldrh r3, [r3, #0] 8064d86: b29b uxth r3, r3 8064d88: 4413 add r3, r2 8064d8a: b29a uxth r2, r3 8064d8c: 4b8a ldr r3, [pc, #552] ; (8064fb8 ) 8064d8e: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8064d90: 4b8a ldr r3, [pc, #552] ; (8064fbc ) 8064d92: 881b ldrh r3, [r3, #0] 8064d94: b29b uxth r3, r3 8064d96: 461a mov r2, r3 8064d98: 4b85 ldr r3, [pc, #532] ; (8064fb0 ) 8064d9a: 881b ldrh r3, [r3, #0] 8064d9c: b29b uxth r3, r3 8064d9e: 1ad2 subs r2, r2, r3 8064da0: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064da4: fb92 f3f3 sdiv r3, r2, r3 8064da8: 461a mov r2, r3 8064daa: 4b85 ldr r3, [pc, #532] ; (8064fc0 ) 8064dac: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 8064dae: 4b84 ldr r3, [pc, #528] ; (8064fc0 ) 8064db0: 681b ldr r3, [r3, #0] 8064db2: b29b uxth r3, r3 8064db4: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8064db8: fb12 f303 smulbb r3, r2, r3 8064dbc: b29a uxth r2, r3 8064dbe: 4b7d ldr r3, [pc, #500] ; (8064fb4 ) 8064dc0: 881b ldrh r3, [r3, #0] 8064dc2: b29b uxth r3, r3 8064dc4: 4413 add r3, r2 8064dc6: b29a uxth r2, r3 8064dc8: 4b7e ldr r3, [pc, #504] ; (8064fc4 ) 8064dca: 801a strh r2, [r3, #0] 8064dcc: e08f b.n 8064eee } else { if(CURSOR * dX > Mpos) 8064dce: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064dd2: 4a7b ldr r2, [pc, #492] ; (8064fc0 ) 8064dd4: 6812 ldr r2, [r2, #0] 8064dd6: fb02 f303 mul.w r3, r2, r3 8064dda: 4a7a ldr r2, [pc, #488] ; (8064fc4 ) 8064ddc: 8812 ldrh r2, [r2, #0] 8064dde: b292 uxth r2, r2 8064de0: 4293 cmp r3, r2 8064de2: d91f bls.n 8064e24 { while(CURSOR * dX > Mpos) 8064de4: e004 b.n 8064df0 CURSOR--; 8064de6: 4b76 ldr r3, [pc, #472] ; (8064fc0 ) 8064de8: 681b ldr r3, [r3, #0] 8064dea: 3b01 subs r3, #1 8064dec: 4a74 ldr r2, [pc, #464] ; (8064fc0 ) 8064dee: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 8064df0: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064df4: 4a72 ldr r2, [pc, #456] ; (8064fc0 ) 8064df6: 6812 ldr r2, [r2, #0] 8064df8: fb02 f303 mul.w r3, r2, r3 8064dfc: 4a71 ldr r2, [pc, #452] ; (8064fc4 ) 8064dfe: 8812 ldrh r2, [r2, #0] 8064e00: b292 uxth r2, r2 8064e02: 4293 cmp r3, r2 8064e04: d8ef bhi.n 8064de6 Mpos = X0 + CURSOR * dX; 8064e06: 4b6e ldr r3, [pc, #440] ; (8064fc0 ) 8064e08: 681b ldr r3, [r3, #0] 8064e0a: b29b uxth r3, r3 8064e0c: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8064e10: fb12 f303 smulbb r3, r2, r3 8064e14: b29a uxth r2, r3 8064e16: 4b67 ldr r3, [pc, #412] ; (8064fb4 ) 8064e18: 881b ldrh r3, [r3, #0] 8064e1a: b29b uxth r3, r3 8064e1c: 4413 add r3, r2 8064e1e: b29a uxth r2, r3 8064e20: 4b68 ldr r3, [pc, #416] ; (8064fc4 ) 8064e22: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 8064e24: 4b67 ldr r3, [pc, #412] ; (8064fc4 ) 8064e26: 881b ldrh r3, [r3, #0] 8064e28: b29b uxth r3, r3 8064e2a: 4619 mov r1, r3 8064e2c: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064e30: 4a63 ldr r2, [pc, #396] ; (8064fc0 ) 8064e32: 6812 ldr r2, [r2, #0] 8064e34: fb02 f303 mul.w r3, r2, r3 8064e38: 1acb subs r3, r1, r3 8064e3a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 j = 256 * dX; 8064e3e: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064e42: 021b lsls r3, r3, #8 8064e44: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc k = 256 * Avg[0][5 * lvl_0 + pardata.LNE]; // 3200 8064e48: f8d7 21fc ldr.w r2, [r7, #508] ; 0x1fc 8064e4c: 4613 mov r3, r2 8064e4e: 009b lsls r3, r3, #2 8064e50: 4413 add r3, r2 8064e52: 4a55 ldr r2, [pc, #340] ; (8064fa8 ) 8064e54: 79d2 ldrb r2, [r2, #7] 8064e56: b2d2 uxtb r2, r2 8064e58: 4413 add r3, r2 8064e5a: 4a54 ldr r2, [pc, #336] ; (8064fac ) 8064e5c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8064e60: 021b lsls r3, r3, #8 8064e62: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 while(i + j > k) { 8064e66: e006 b.n 8064e76 i -= dXold; 8064e68: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064e6c: f8b7 31e2 ldrh.w r3, [r7, #482] ; 0x1e2 8064e70: 1ad3 subs r3, r2, r3 8064e72: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 while(i + j > k) { 8064e76: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064e7a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8064e7e: 441a add r2, r3 8064e80: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8064e84: 429a cmp r2, r3 8064e86: d8ef bhi.n 8064e68 } X0 = (uint16_t) i; 8064e88: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064e8c: b29a uxth r2, r3 8064e8e: 4b49 ldr r3, [pc, #292] ; (8064fb4 ) 8064e90: 801a strh r2, [r3, #0] lX = X0; 8064e92: 4b48 ldr r3, [pc, #288] ; (8064fb4 ) 8064e94: 881b ldrh r3, [r3, #0] 8064e96: b29a uxth r2, r3 8064e98: 4b45 ldr r3, [pc, #276] ; (8064fb0 ) 8064e9a: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 8064e9c: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064ea0: 021b lsls r3, r3, #8 8064ea2: b29a uxth r2, r3 8064ea4: 4b42 ldr r3, [pc, #264] ; (8064fb0 ) 8064ea6: 881b ldrh r3, [r3, #0] 8064ea8: b29b uxth r3, r3 8064eaa: 4413 add r3, r2 8064eac: b29a uxth r2, r3 8064eae: 4b42 ldr r3, [pc, #264] ; (8064fb8 ) 8064eb0: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8064eb2: 4b42 ldr r3, [pc, #264] ; (8064fbc ) 8064eb4: 881b ldrh r3, [r3, #0] 8064eb6: b29b uxth r3, r3 8064eb8: 461a mov r2, r3 8064eba: 4b3d ldr r3, [pc, #244] ; (8064fb0 ) 8064ebc: 881b ldrh r3, [r3, #0] 8064ebe: b29b uxth r3, r3 8064ec0: 1ad2 subs r2, r2, r3 8064ec2: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064ec6: fb92 f3f3 sdiv r3, r2, r3 8064eca: 461a mov r2, r3 8064ecc: 4b3c ldr r3, [pc, #240] ; (8064fc0 ) 8064ece: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 8064ed0: 4b3b ldr r3, [pc, #236] ; (8064fc0 ) 8064ed2: 681b ldr r3, [r3, #0] 8064ed4: b29b uxth r3, r3 8064ed6: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8064eda: fb12 f303 smulbb r3, r2, r3 8064ede: b29a uxth r2, r3 8064ee0: 4b34 ldr r3, [pc, #208] ; (8064fb4 ) 8064ee2: 881b ldrh r3, [r3, #0] 8064ee4: b29b uxth r3, r3 8064ee6: 4413 add r3, r2 8064ee8: b29a uxth r2, r3 8064eea: 4b36 ldr r3, [pc, #216] ; (8064fc4 ) 8064eec: 801a strh r2, [r3, #0] while(ViewLevel > 0) 8064eee: 4b2d ldr r3, [pc, #180] ; (8064fa4 ) 8064ef0: 781b ldrb r3, [r3, #0] 8064ef2: b2db uxtb r3, r3 8064ef4: 2b00 cmp r3, #0 8064ef6: f47f af01 bne.w 8064cfc } } } dX = Avg[0][5 * ViewLevel + pardata.LNE]; 8064efa: 4b2a ldr r3, [pc, #168] ; (8064fa4 ) 8064efc: 781b ldrb r3, [r3, #0] 8064efe: b2db uxtb r3, r3 8064f00: 461a mov r2, r3 8064f02: 4613 mov r3, r2 8064f04: 009b lsls r3, r3, #2 8064f06: 4413 add r3, r2 8064f08: 4a27 ldr r2, [pc, #156] ; (8064fa8 ) 8064f0a: 79d2 ldrb r2, [r2, #7] 8064f0c: b2d2 uxtb r2, r2 8064f0e: 4413 add r3, r2 8064f10: 4a26 ldr r2, [pc, #152] ; (8064fac ) 8064f12: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8064f16: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa fineMpos = imax; 8064f1a: f8d7 31c0 ldr.w r3, [r7, #448] ; 0x1c0 8064f1e: b29a uxth r2, r3 8064f20: 4b26 ldr r3, [pc, #152] ; (8064fbc ) 8064f22: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8064f24: 4b25 ldr r3, [pc, #148] ; (8064fbc ) 8064f26: 881b ldrh r3, [r3, #0] 8064f28: b29b uxth r3, r3 8064f2a: 461a mov r2, r3 8064f2c: 4b20 ldr r3, [pc, #128] ; (8064fb0 ) 8064f2e: 881b ldrh r3, [r3, #0] 8064f30: b29b uxth r3, r3 8064f32: 1ad2 subs r2, r2, r3 8064f34: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064f38: fb92 f3f3 sdiv r3, r2, r3 8064f3c: 461a mov r2, r3 8064f3e: 4b20 ldr r3, [pc, #128] ; (8064fc0 ) 8064f40: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 8064f42: 4b1f ldr r3, [pc, #124] ; (8064fc0 ) 8064f44: 681b ldr r3, [r3, #0] 8064f46: b29b uxth r3, r3 8064f48: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8064f4c: fb12 f303 smulbb r3, r2, r3 8064f50: b29a uxth r2, r3 8064f52: 4b18 ldr r3, [pc, #96] ; (8064fb4 ) 8064f54: 881b ldrh r3, [r3, #0] 8064f56: b29b uxth r3, r3 8064f58: 4413 add r3, r2 8064f5a: b29a uxth r2, r3 8064f5c: 4b19 ldr r3, [pc, #100] ; (8064fc4 ) 8064f5e: 801a strh r2, [r3, #0] AUTOZOOM = true; 8064f60: 4b19 ldr r3, [pc, #100] ; (8064fc8 ) 8064f62: 2201 movs r2, #1 8064f64: 701a strb r2, [r3, #0] lastmenupos = StartStop; 8064f66: 4b19 ldr r3, [pc, #100] ; (8064fcc ) 8064f68: 2200 movs r2, #0 8064f6a: 701a strb r2, [r3, #0] menupos = Cursor; 8064f6c: 4b18 ldr r3, [pc, #96] ; (8064fd0 ) 8064f6e: 2206 movs r2, #6 8064f70: 701a strb r2, [r3, #0] //*********************************************************************************************** } arm_rms_f32(In, Ns, &skz[pardata.IPR]); 8064f72: 4b18 ldr r3, [pc, #96] ; (8064fd4 ) 8064f74: 6819 ldr r1, [r3, #0] 8064f76: 4b0c ldr r3, [pc, #48] ; (8064fa8 ) 8064f78: 785b ldrb r3, [r3, #1] 8064f7a: b2db uxtb r3, r3 8064f7c: 009b lsls r3, r3, #2 8064f7e: 4a16 ldr r2, [pc, #88] ; (8064fd8 ) 8064f80: 4413 add r3, r2 8064f82: 461a mov r2, r3 8064f84: 4815 ldr r0, [pc, #84] ; (8064fdc ) 8064f86: f069 ff17 bl 80cedb8 FastCopy16(IN_Reg, SCR_Reg, _2Ns); 8064f8a: 4b12 ldr r3, [pc, #72] ; (8064fd4 ) 8064f8c: 681b ldr r3, [r3, #0] 8064f8e: 005b lsls r3, r3, #1 8064f90: 461a mov r2, r3 8064f92: 2104 movs r1, #4 8064f94: 2001 movs r0, #1 8064f96: f000 ff23 bl 8065de0 8064f9a: e1ce b.n 806533a } } else { // åñëè íåò ïîðîãà for(i = 0; i < Ns; i++) { 8064f9c: 2300 movs r3, #0 8064f9e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8064fa2: e02e b.n 8065002 8064fa4: 20020fc0 .word 0x20020fc0 8064fa8: 20023eb8 .word 0x20023eb8 8064fac: 080f544c .word 0x080f544c 8064fb0: 20025d72 .word 0x20025d72 8064fb4: 20025d76 .word 0x20025d76 8064fb8: 20025d78 .word 0x20025d78 8064fbc: 20025d74 .word 0x20025d74 8064fc0: 2002006c .word 0x2002006c 8064fc4: 20025d6e .word 0x20025d6e 8064fc8: 20020994 .word 0x20020994 8064fcc: 20020071 .word 0x20020071 8064fd0: 20020070 .word 0x20020070 8064fd4: 20021d2c .word 0x20021d2c 8064fd8: 20021590 .word 0x20021590 8064fdc: 20027a20 .word 0x20027a20 In[i] = Out[i]; 8064fe0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064fe4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064fe8: 4985 ldr r1, [pc, #532] ; (8065200 ) 8064fea: 0092 lsls r2, r2, #2 8064fec: 440a add r2, r1 8064fee: 6812 ldr r2, [r2, #0] 8064ff0: 4984 ldr r1, [pc, #528] ; (8065204 ) 8064ff2: 009b lsls r3, r3, #2 8064ff4: 440b add r3, r1 8064ff6: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) { 8064ff8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064ffc: 3301 adds r3, #1 8064ffe: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8065002: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8065006: 4b80 ldr r3, [pc, #512] ; (8065208 ) 8065008: 681b ldr r3, [r3, #0] 806500a: 429a cmp r2, r3 806500c: d3e8 bcc.n 8064fe0 } arm_rms_f32(In, Ns, &skz[pardata.IPR]); 806500e: 4b7e ldr r3, [pc, #504] ; (8065208 ) 8065010: 6819 ldr r1, [r3, #0] 8065012: 4b7e ldr r3, [pc, #504] ; (806520c ) 8065014: 785b ldrb r3, [r3, #1] 8065016: b2db uxtb r3, r3 8065018: 009b lsls r3, r3, #2 806501a: 4a7d ldr r2, [pc, #500] ; (8065210 ) 806501c: 4413 add r3, r2 806501e: 461a mov r2, r3 8065020: 4878 ldr r0, [pc, #480] ; (8065204 ) 8065022: f069 fec9 bl 80cedb8 if(timeRelax > 1) 8065026: 4b7b ldr r3, [pc, #492] ; (8065214 ) 8065028: 681b ldr r3, [r3, #0] 806502a: 2b01 cmp r3, #1 806502c: d91a bls.n 8065064 { timeRelax--; 806502e: 4b79 ldr r3, [pc, #484] ; (8065214 ) 8065030: 681b ldr r3, [r3, #0] 8065032: 3b01 subs r3, #1 8065034: 4a77 ldr r2, [pc, #476] ; (8065214 ) 8065036: 6013 str r3, [r2, #0] skz[pardata.IPR] = skzDB[pardata.IPR] = 0.0f; 8065038: 4b74 ldr r3, [pc, #464] ; (806520c ) 806503a: 785b ldrb r3, [r3, #1] 806503c: b2db uxtb r3, r3 806503e: 4618 mov r0, r3 8065040: 4b72 ldr r3, [pc, #456] ; (806520c ) 8065042: 785b ldrb r3, [r3, #1] 8065044: b2db uxtb r3, r3 8065046: 4974 ldr r1, [pc, #464] ; (8065218 ) 8065048: 009a lsls r2, r3, #2 806504a: 440a add r2, r1 806504c: f04f 0100 mov.w r1, #0 8065050: 6011 str r1, [r2, #0] 8065052: 4a71 ldr r2, [pc, #452] ; (8065218 ) 8065054: 009b lsls r3, r3, #2 8065056: 4413 add r3, r2 8065058: 681a ldr r2, [r3, #0] 806505a: 496d ldr r1, [pc, #436] ; (8065210 ) 806505c: 0083 lsls r3, r0, #2 806505e: 440b add r3, r1 8065060: 601a str r2, [r3, #0] 8065062: e16a b.n 806533a } else if(timeRelax == 1) 8065064: 4b6b ldr r3, [pc, #428] ; (8065214 ) 8065066: 681b ldr r3, [r3, #0] 8065068: 2b01 cmp r3, #1 806506a: d10d bne.n 8065088 { timeRelax--; 806506c: 4b69 ldr r3, [pc, #420] ; (8065214 ) 806506e: 681b ldr r3, [r3, #0] 8065070: 3b01 subs r3, #1 8065072: 4a68 ldr r2, [pc, #416] ; (8065214 ) 8065074: 6013 str r3, [r2, #0] FastCopy16(IN_Reg, SCR_Reg, _2Ns); 8065076: 4b64 ldr r3, [pc, #400] ; (8065208 ) 8065078: 681b ldr r3, [r3, #0] 806507a: 005b lsls r3, r3, #1 806507c: 461a mov r2, r3 806507e: 2104 movs r1, #4 8065080: 2001 movs r0, #1 8065082: f000 fead bl 8065de0 8065086: e158 b.n 806533a } else { FastCopy16(IN_Reg, SCR_Reg, _2Ns); 8065088: 4b5f ldr r3, [pc, #380] ; (8065208 ) 806508a: 681b ldr r3, [r3, #0] 806508c: 005b lsls r3, r3, #1 806508e: 461a mov r2, r3 8065090: 2104 movs r1, #4 8065092: 2001 movs r0, #1 8065094: f000 fea4 bl 8065de0 8065098: e14f b.n 806533a } } } else if(pardata.IPR == VEL) 806509a: 4b5c ldr r3, [pc, #368] ; (806520c ) 806509c: 785b ldrb r3, [r3, #1] 806509e: b2db uxtb r3, r3 80650a0: 2b01 cmp r3, #1 80650a2: f040 8094 bne.w 80651ce { arm_biquad_cascade_df2T_f64(&S_INT1, Buff64, Buff64, Ns); 80650a6: 4b58 ldr r3, [pc, #352] ; (8065208 ) 80650a8: 681b ldr r3, [r3, #0] 80650aa: 4a5c ldr r2, [pc, #368] ; (806521c ) 80650ac: 495b ldr r1, [pc, #364] ; (806521c ) 80650ae: 485c ldr r0, [pc, #368] ; (8065220 ) 80650b0: f06a f824 bl 80cf0fc arm_biquad_cascade_df2T_f64(&S_HP_VEL, Buff64, Buff64, Ns); 80650b4: 4b54 ldr r3, [pc, #336] ; (8065208 ) 80650b6: 681b ldr r3, [r3, #0] 80650b8: 4a58 ldr r2, [pc, #352] ; (806521c ) 80650ba: 4958 ldr r1, [pc, #352] ; (806521c ) 80650bc: 4859 ldr r0, [pc, #356] ; (8065224 ) 80650be: f06a f81d bl 80cf0fc for(i = 0; i < Ns; i++) 80650c2: 2300 movs r3, #0 80650c4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80650c8: e014 b.n 80650f4 In[i] = (float32_t) Buff64[i]; 80650ca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80650ce: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80650d2: 4952 ldr r1, [pc, #328] ; (806521c ) 80650d4: 00d2 lsls r2, r2, #3 80650d6: 440a add r2, r1 80650d8: ed92 7b00 vldr d7, [r2] 80650dc: eef7 7bc7 vcvt.f32.f64 s15, d7 80650e0: 4a48 ldr r2, [pc, #288] ; (8065204 ) 80650e2: 009b lsls r3, r3, #2 80650e4: 4413 add r3, r2 80650e6: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 80650ea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80650ee: 3301 adds r3, #1 80650f0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80650f4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80650f8: 4b43 ldr r3, [pc, #268] ; (8065208 ) 80650fa: 681b ldr r3, [r3, #0] 80650fc: 429a cmp r2, r3 80650fe: d3e4 bcc.n 80650ca fs = 249.135f / pardata.IKK; 8065100: 4b42 ldr r3, [pc, #264] ; (806520c ) 8065102: ed93 7a04 vldr s14, [r3, #16] 8065106: eddf 6a48 vldr s13, [pc, #288] ; 8065228 806510a: eec6 7a87 vdiv.f32 s15, s13, s14 806510e: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 if(pardata.IIN == VOLTS) { 8065112: 4b3e ldr r3, [pc, #248] ; (806520c ) 8065114: 799b ldrb r3, [r3, #6] 8065116: b2db uxtb r3, r3 8065118: 2b02 cmp r3, #2 806511a: d107 bne.n 806512c fs *= 0.001f; 806511c: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8065120: ed9f 7a42 vldr s14, [pc, #264] ; 806522c 8065124: ee67 7a87 vmul.f32 s15, s15, s14 8065128: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 } arm_scale_f32(In, fs, In, Ns); 806512c: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8065130: 4b35 ldr r3, [pc, #212] ; (8065208 ) 8065132: 681b ldr r3, [r3, #0] 8065134: 461a mov r2, r3 8065136: 4933 ldr r1, [pc, #204] ; (8065204 ) 8065138: eeb0 0a67 vmov.f32 s0, s15 806513c: 4831 ldr r0, [pc, #196] ; (8065204 ) 806513e: f06a fa93 bl 80cf668 arm_rms_f32(In, Ns, &skz[pardata.IPR]); 8065142: 4b31 ldr r3, [pc, #196] ; (8065208 ) 8065144: 6819 ldr r1, [r3, #0] 8065146: 4b31 ldr r3, [pc, #196] ; (806520c ) 8065148: 785b ldrb r3, [r3, #1] 806514a: b2db uxtb r3, r3 806514c: 009b lsls r3, r3, #2 806514e: 4a30 ldr r2, [pc, #192] ; (8065210 ) 8065150: 4413 add r3, r2 8065152: 461a mov r2, r3 8065154: 482b ldr r0, [pc, #172] ; (8065204 ) 8065156: f069 fe2f bl 80cedb8 if(timeRelax > 1) 806515a: 4b2e ldr r3, [pc, #184] ; (8065214 ) 806515c: 681b ldr r3, [r3, #0] 806515e: 2b01 cmp r3, #1 8065160: d91a bls.n 8065198 { timeRelax--; 8065162: 4b2c ldr r3, [pc, #176] ; (8065214 ) 8065164: 681b ldr r3, [r3, #0] 8065166: 3b01 subs r3, #1 8065168: 4a2a ldr r2, [pc, #168] ; (8065214 ) 806516a: 6013 str r3, [r2, #0] skz[pardata.IPR] = skzDB[pardata.IPR] = 0.0f; 806516c: 4b27 ldr r3, [pc, #156] ; (806520c ) 806516e: 785b ldrb r3, [r3, #1] 8065170: b2db uxtb r3, r3 8065172: 4618 mov r0, r3 8065174: 4b25 ldr r3, [pc, #148] ; (806520c ) 8065176: 785b ldrb r3, [r3, #1] 8065178: b2db uxtb r3, r3 806517a: 4927 ldr r1, [pc, #156] ; (8065218 ) 806517c: 009a lsls r2, r3, #2 806517e: 440a add r2, r1 8065180: f04f 0100 mov.w r1, #0 8065184: 6011 str r1, [r2, #0] 8065186: 4a24 ldr r2, [pc, #144] ; (8065218 ) 8065188: 009b lsls r3, r3, #2 806518a: 4413 add r3, r2 806518c: 681a ldr r2, [r3, #0] 806518e: 4920 ldr r1, [pc, #128] ; (8065210 ) 8065190: 0083 lsls r3, r0, #2 8065192: 440b add r3, r1 8065194: 601a str r2, [r3, #0] 8065196: e0d0 b.n 806533a } else if(timeRelax == 1) 8065198: 4b1e ldr r3, [pc, #120] ; (8065214 ) 806519a: 681b ldr r3, [r3, #0] 806519c: 2b01 cmp r3, #1 806519e: d10d bne.n 80651bc { timeRelax--; 80651a0: 4b1c ldr r3, [pc, #112] ; (8065214 ) 80651a2: 681b ldr r3, [r3, #0] 80651a4: 3b01 subs r3, #1 80651a6: 4a1b ldr r2, [pc, #108] ; (8065214 ) 80651a8: 6013 str r3, [r2, #0] FastCopy16(IN_Reg, SCR_Reg, _2Ns); 80651aa: 4b17 ldr r3, [pc, #92] ; (8065208 ) 80651ac: 681b ldr r3, [r3, #0] 80651ae: 005b lsls r3, r3, #1 80651b0: 461a mov r2, r3 80651b2: 2104 movs r1, #4 80651b4: 2001 movs r0, #1 80651b6: f000 fe13 bl 8065de0 80651ba: e0be b.n 806533a } else { FastCopy16(IN_Reg, SCR_Reg, _2Ns); 80651bc: 4b12 ldr r3, [pc, #72] ; (8065208 ) 80651be: 681b ldr r3, [r3, #0] 80651c0: 005b lsls r3, r3, #1 80651c2: 461a mov r2, r3 80651c4: 2104 movs r1, #4 80651c6: 2001 movs r0, #1 80651c8: f000 fe0a bl 8065de0 80651cc: e0b5 b.n 806533a } } else if(pardata.IPR == DIS) 80651ce: 4b0f ldr r3, [pc, #60] ; (806520c ) 80651d0: 785b ldrb r3, [r3, #1] 80651d2: b2db uxtb r3, r3 80651d4: 2b02 cmp r3, #2 80651d6: f040 80b0 bne.w 806533a { arm_biquad_cascade_df2T_f64(&S_INT2, Buff64, Buff64, Ns); 80651da: 4b0b ldr r3, [pc, #44] ; (8065208 ) 80651dc: 681b ldr r3, [r3, #0] 80651de: 4a0f ldr r2, [pc, #60] ; (806521c ) 80651e0: 490e ldr r1, [pc, #56] ; (806521c ) 80651e2: 4813 ldr r0, [pc, #76] ; (8065230 ) 80651e4: f069 ff8a bl 80cf0fc arm_biquad_cascade_df2T_f64(&S_HP_DIS, Buff64, Buff64, Ns); 80651e8: 4b07 ldr r3, [pc, #28] ; (8065208 ) 80651ea: 681b ldr r3, [r3, #0] 80651ec: 4a0b ldr r2, [pc, #44] ; (806521c ) 80651ee: 490b ldr r1, [pc, #44] ; (806521c ) 80651f0: 4810 ldr r0, [pc, #64] ; (8065234 ) 80651f2: f069 ff83 bl 80cf0fc for(i = 0; i < Ns; i++) 80651f6: 2300 movs r3, #0 80651f8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80651fc: e031 b.n 8065262 80651fe: bf00 nop 8065200: 20008000 .word 0x20008000 8065204: 20027a20 .word 0x20027a20 8065208: 20021d2c .word 0x20021d2c 806520c: 20023eb8 .word 0x20023eb8 8065210: 20021590 .word 0x20021590 8065214: 20020d8c .word 0x20020d8c 8065218: 2002159c .word 0x2002159c 806521c: 20037b40 .word 0x20037b40 8065220: 200261d0 .word 0x200261d0 8065224: 20025ed8 .word 0x20025ed8 8065228: 4379228f .word 0x4379228f 806522c: 3a83126f .word 0x3a83126f 8065230: 20027924 .word 0x20027924 8065234: 200279b0 .word 0x200279b0 In[i] = (float32_t) Buff64[i]; 8065238: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806523c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8065240: 499c ldr r1, [pc, #624] ; (80654b4 ) 8065242: 00d2 lsls r2, r2, #3 8065244: 440a add r2, r1 8065246: ed92 7b00 vldr d7, [r2] 806524a: eef7 7bc7 vcvt.f32.f64 s15, d7 806524e: 4a9a ldr r2, [pc, #616] ; (80654b8 ) 8065250: 009b lsls r3, r3, #2 8065252: 4413 add r3, r2 8065254: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 8065258: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806525c: 3301 adds r3, #1 806525e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8065262: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8065266: 4b95 ldr r3, [pc, #596] ; (80654bc ) 8065268: 681b ldr r3, [r3, #0] 806526a: 429a cmp r2, r3 806526c: d3e4 bcc.n 8065238 fs = 61400.171f / pardata.IKK; 806526e: 4b94 ldr r3, [pc, #592] ; (80654c0 ) 8065270: ed93 7a04 vldr s14, [r3, #16] 8065274: eddf 6a93 vldr s13, [pc, #588] ; 80654c4 8065278: eec6 7a87 vdiv.f32 s15, s13, s14 806527c: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 if(pardata.IIN == VOLTS) { 8065280: 4b8f ldr r3, [pc, #572] ; (80654c0 ) 8065282: 799b ldrb r3, [r3, #6] 8065284: b2db uxtb r3, r3 8065286: 2b02 cmp r3, #2 8065288: d107 bne.n 806529a fs *= 0.000001f; 806528a: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 806528e: ed9f 7a8e vldr s14, [pc, #568] ; 80654c8 8065292: ee67 7a87 vmul.f32 s15, s15, s14 8065296: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 } arm_scale_f32(In, fs, In, Ns); 806529a: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 806529e: 4b87 ldr r3, [pc, #540] ; (80654bc ) 80652a0: 681b ldr r3, [r3, #0] 80652a2: 461a mov r2, r3 80652a4: 4984 ldr r1, [pc, #528] ; (80654b8 ) 80652a6: eeb0 0a67 vmov.f32 s0, s15 80652aa: 4883 ldr r0, [pc, #524] ; (80654b8 ) 80652ac: f06a f9dc bl 80cf668 arm_rms_f32(In, Ns, &skz[pardata.IPR]); 80652b0: 4b82 ldr r3, [pc, #520] ; (80654bc ) 80652b2: 6819 ldr r1, [r3, #0] 80652b4: 4b82 ldr r3, [pc, #520] ; (80654c0 ) 80652b6: 785b ldrb r3, [r3, #1] 80652b8: b2db uxtb r3, r3 80652ba: 009b lsls r3, r3, #2 80652bc: 4a83 ldr r2, [pc, #524] ; (80654cc ) 80652be: 4413 add r3, r2 80652c0: 461a mov r2, r3 80652c2: 487d ldr r0, [pc, #500] ; (80654b8 ) 80652c4: f069 fd78 bl 80cedb8 if(timeRelax > 1) 80652c8: 4b81 ldr r3, [pc, #516] ; (80654d0 ) 80652ca: 681b ldr r3, [r3, #0] 80652cc: 2b01 cmp r3, #1 80652ce: d91a bls.n 8065306 { timeRelax--; 80652d0: 4b7f ldr r3, [pc, #508] ; (80654d0 ) 80652d2: 681b ldr r3, [r3, #0] 80652d4: 3b01 subs r3, #1 80652d6: 4a7e ldr r2, [pc, #504] ; (80654d0 ) 80652d8: 6013 str r3, [r2, #0] skz[pardata.IPR] = skzDB[pardata.IPR] = 0.0f; 80652da: 4b79 ldr r3, [pc, #484] ; (80654c0 ) 80652dc: 785b ldrb r3, [r3, #1] 80652de: b2db uxtb r3, r3 80652e0: 4618 mov r0, r3 80652e2: 4b77 ldr r3, [pc, #476] ; (80654c0 ) 80652e4: 785b ldrb r3, [r3, #1] 80652e6: b2db uxtb r3, r3 80652e8: 497a ldr r1, [pc, #488] ; (80654d4 ) 80652ea: 009a lsls r2, r3, #2 80652ec: 440a add r2, r1 80652ee: f04f 0100 mov.w r1, #0 80652f2: 6011 str r1, [r2, #0] 80652f4: 4a77 ldr r2, [pc, #476] ; (80654d4 ) 80652f6: 009b lsls r3, r3, #2 80652f8: 4413 add r3, r2 80652fa: 681a ldr r2, [r3, #0] 80652fc: 4973 ldr r1, [pc, #460] ; (80654cc ) 80652fe: 0083 lsls r3, r0, #2 8065300: 440b add r3, r1 8065302: 601a str r2, [r3, #0] 8065304: e019 b.n 806533a } else if(timeRelax == 1) 8065306: 4b72 ldr r3, [pc, #456] ; (80654d0 ) 8065308: 681b ldr r3, [r3, #0] 806530a: 2b01 cmp r3, #1 806530c: d10d bne.n 806532a { timeRelax--; 806530e: 4b70 ldr r3, [pc, #448] ; (80654d0 ) 8065310: 681b ldr r3, [r3, #0] 8065312: 3b01 subs r3, #1 8065314: 4a6e ldr r2, [pc, #440] ; (80654d0 ) 8065316: 6013 str r3, [r2, #0] FastCopy16(IN_Reg, SCR_Reg, _2Ns); 8065318: 4b68 ldr r3, [pc, #416] ; (80654bc ) 806531a: 681b ldr r3, [r3, #0] 806531c: 005b lsls r3, r3, #1 806531e: 461a mov r2, r3 8065320: 2104 movs r1, #4 8065322: 2001 movs r0, #1 8065324: f000 fd5c bl 8065de0 8065328: e007 b.n 806533a } else { FastCopy16(IN_Reg, SCR_Reg, _2Ns); 806532a: 4b64 ldr r3, [pc, #400] ; (80654bc ) 806532c: 681b ldr r3, [r3, #0] 806532e: 005b lsls r3, r3, #1 8065330: 461a mov r2, r3 8065332: 2104 movs r1, #4 8065334: 2001 movs r0, #1 8065336: f000 fd53 bl 8065de0 //=========================================================// //======================= SEND BT==========================// //=========================================================// if(GoSend) 806533a: 4b67 ldr r3, [pc, #412] ; (80654d8 ) 806533c: 781b ldrb r3, [r3, #0] 806533e: b2db uxtb r3, r3 8065340: 2b00 cmp r3, #0 8065342: d075 beq.n 8065430 static uint32_t cn = 0; //memcpy(&Buff_u8(0), (void *) &In[0], Ns * 4u); tick = HAL_GetTick(); 8065344: f052 fb6e bl 80b7a24 8065348: f8c7 021c str.w r0, [r7, #540] ; 0x21c result = f_lseek (&F, f_size(&F)); 806534c: 4b63 ldr r3, [pc, #396] ; (80654dc ) 806534e: e9d3 3404 ldrd r3, r4, [r3, #16] 8065352: 461a mov r2, r3 8065354: 4623 mov r3, r4 8065356: 4861 ldr r0, [pc, #388] ; (80654dc ) 8065358: f066 fbc6 bl 80cbae8 806535c: 4603 mov r3, r0 806535e: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if(result == FR_OK) 8065362: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 8065366: 2b00 cmp r3, #0 8065368: d13d bne.n 80653e6 { memcpy((void *) &SD_Buff[0].fl, (void *) &In[0], Ns * 4u); 806536a: 4b54 ldr r3, [pc, #336] ; (80654bc ) 806536c: 681b ldr r3, [r3, #0] 806536e: 009b lsls r3, r3, #2 8065370: 461a mov r2, r3 8065372: 4951 ldr r1, [pc, #324] ; (80654b8 ) 8065374: 485a ldr r0, [pc, #360] ; (80654e0 ) 8065376: f06c fe0a bl 80d1f8e if(cn >= 163840) cn = 0;*/ //f_sync(&F); result = f_write(&F, (void *) &SD_Buff[0].fl, (Ns * 4u), (UINT *) &i); 806537a: 4b50 ldr r3, [pc, #320] ; (80654bc ) 806537c: 681b ldr r3, [r3, #0] 806537e: 009a lsls r2, r3, #2 8065380: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8065384: 4956 ldr r1, [pc, #344] ; (80654e0 ) 8065386: 4855 ldr r0, [pc, #340] ; (80654dc ) 8065388: f066 f8ea bl 80cb560 806538c: 4603 mov r3, r0 806538e: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if(result != FR_OK) 8065392: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 8065396: 2b00 cmp r3, #0 8065398: d016 beq.n 80653c8 { NeedSTOP = true; 806539a: 4b52 ldr r3, [pc, #328] ; (80654e4 ) 806539c: 2201 movs r2, #1 806539e: 701a strb r2, [r3, #0] GoSend = false; 80653a0: 4b4d ldr r3, [pc, #308] ; (80654d8 ) 80653a2: 2200 movs r2, #0 80653a4: 701a strb r2, [r3, #0] pWrite = pRead = 0; 80653a6: f04f 0300 mov.w r3, #0 80653aa: f04f 0400 mov.w r4, #0 80653ae: 4a4e ldr r2, [pc, #312] ; (80654e8 ) 80653b0: e882 0018 stmia.w r2, {r3, r4} 80653b4: 4a4d ldr r2, [pc, #308] ; (80654ec ) 80653b6: e882 0018 stmia.w r2, {r3, r4} SendBuf = 0; 80653ba: 4b4d ldr r3, [pc, #308] ; (80654f0 ) 80653bc: 2200 movs r2, #0 80653be: 601a str r2, [r3, #0] f_close(&F); 80653c0: 4846 ldr r0, [pc, #280] ; (80654dc ) 80653c2: f066 fb71 bl 80cbaa8 80653c6: e024 b.n 8065412 } else { pWrite += (Ns * 4u); 80653c8: 4b3c ldr r3, [pc, #240] ; (80654bc ) 80653ca: 681b ldr r3, [r3, #0] 80653cc: 009b lsls r3, r3, #2 80653ce: 4619 mov r1, r3 80653d0: f04f 0200 mov.w r2, #0 80653d4: 4b45 ldr r3, [pc, #276] ; (80654ec ) 80653d6: cb18 ldmia r3, {r3, r4} 80653d8: 185b adds r3, r3, r1 80653da: eb44 0402 adc.w r4, r4, r2 80653de: 4a43 ldr r2, [pc, #268] ; (80654ec ) 80653e0: e882 0018 stmia.w r2, {r3, r4} 80653e4: e015 b.n 8065412 } } else { NeedSTOP = true; 80653e6: 4b3f ldr r3, [pc, #252] ; (80654e4 ) 80653e8: 2201 movs r2, #1 80653ea: 701a strb r2, [r3, #0] GoSend = false; 80653ec: 4b3a ldr r3, [pc, #232] ; (80654d8 ) 80653ee: 2200 movs r2, #0 80653f0: 701a strb r2, [r3, #0] pWrite = pRead = 0; 80653f2: f04f 0300 mov.w r3, #0 80653f6: f04f 0400 mov.w r4, #0 80653fa: 4a3b ldr r2, [pc, #236] ; (80654e8 ) 80653fc: e882 0018 stmia.w r2, {r3, r4} 8065400: 4a3a ldr r2, [pc, #232] ; (80654ec ) 8065402: e882 0018 stmia.w r2, {r3, r4} SendBuf = 0; 8065406: 4b3a ldr r3, [pc, #232] ; (80654f0 ) 8065408: 2200 movs r2, #0 806540a: 601a str r2, [r3, #0] f_close(&F); 806540c: 4833 ldr r0, [pc, #204] ; (80654dc ) 806540e: f066 fb4b bl 80cbaa8 } tick = HAL_GetTick() - tick; 8065412: f052 fb07 bl 80b7a24 8065416: 4602 mov r2, r0 8065418: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 806541c: 1ad3 subs r3, r2, r3 806541e: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > 128) 8065422: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 8065426: 2b80 cmp r3, #128 ; 0x80 8065428: d902 bls.n 8065430 { tick = 0; 806542a: 2300 movs r3, #0 806542c: f8c7 321c str.w r3, [r7, #540] ; 0x21c //*********************************************************// //*********************************************************// if(pardata.IPR > ACC) 8065430: 4b23 ldr r3, [pc, #140] ; (80654c0 ) 8065432: 785b ldrb r3, [r3, #1] 8065434: e007 b.n 8065446 }*/ } } else { RepeatKm = true; 8065436: 4b2f ldr r3, [pc, #188] ; (80654f4 ) 8065438: 2201 movs r2, #1 806543a: 701a strb r2, [r3, #0] timeRelax = RELAX + 1; 806543c: 4b2e ldr r3, [pc, #184] ; (80654f8 ) 806543e: 681b ldr r3, [r3, #0] 8065440: 3301 adds r3, #1 8065442: 4a23 ldr r2, [pc, #140] ; (80654d0 ) 8065444: 6013 str r3, [r2, #0] tick = DWT->CYCCNT - tick; 8065446: 4b2d ldr r3, [pc, #180] ; (80654fc ) 8065448: 685a ldr r2, [r3, #4] 806544a: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 806544e: 1ad3 subs r3, r2, r3 8065450: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > maxtick) 8065454: 4b2a ldr r3, [pc, #168] ; (8065500 ) 8065456: 681b ldr r3, [r3, #0] 8065458: f8d7 221c ldr.w r2, [r7, #540] ; 0x21c 806545c: 429a cmp r2, r3 806545e: f240 837e bls.w 8065b5e maxtick = tick; 8065462: 4a27 ldr r2, [pc, #156] ; (8065500 ) 8065464: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 8065468: 6013 str r3, [r2, #0] //*========================================================================================================================= //*========================================================================================================================= //*========================================================================================================================= } break; 806546a: e378 b.n 8065b5e case WAVE: //TODO WAVE if(measuring) 806546c: 4b25 ldr r3, [pc, #148] ; (8065504 ) 806546e: 781b ldrb r3, [r3, #0] 8065470: b2db uxtb r3, r3 8065472: 2b00 cmp r3, #0 8065474: f000 8375 beq.w 8065b62 { if(pardata.OPTIONS & BIT7) 8065478: 4b11 ldr r3, [pc, #68] ; (80654c0 ) 806547a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806547e: f003 0380 and.w r3, r3, #128 ; 0x80 8065482: 2b00 cmp r3, #0 8065484: f000 81a2 beq.w 80657cc { /// TACHO if(menupos == CalculatingFreq) 8065488: 4b1f ldr r3, [pc, #124] ; (8065508 ) 806548a: 781b ldrb r3, [r3, #0] 806548c: b2db uxtb r3, r3 806548e: 2b04 cmp r3, #4 8065490: f040 80c2 bne.w 8065618 { if(CALC_FREQ) 8065494: 4b1d ldr r3, [pc, #116] ; (806550c ) 8065496: 781b ldrb r3, [r3, #0] 8065498: b2db uxtb r3, r3 806549a: 2b00 cmp r3, #0 806549c: f000 8361 beq.w 8065b62 { GetDataTacho(); 80654a0: f003 fb20 bl 8068ae4 READY = 0; 80654a4: 4b1a ldr r3, [pc, #104] ; (8065510 ) 80654a6: 2200 movs r2, #0 80654a8: 701a strb r2, [r3, #0] i = 8192; 80654aa: f44f 5300 mov.w r3, #8192 ; 0x2000 80654ae: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 while(i > 0) 80654b2: e060 b.n 8065576 80654b4: 20037b40 .word 0x20037b40 80654b8: 20027a20 .word 0x20027a20 80654bc: 20021d2c .word 0x20021d2c 80654c0: 20023eb8 .word 0x20023eb8 80654c4: 476fd82c .word 0x476fd82c 80654c8: 358637bd .word 0x358637bd 80654cc: 20021590 .word 0x20021590 80654d0: 20020d8c .word 0x20020d8c 80654d4: 2002159c .word 0x2002159c 80654d8: 20020f84 .word 0x20020f84 80654dc: 20022e78 .word 0x20022e78 80654e0: 20000000 .word 0x20000000 80654e4: 20020fca .word 0x20020fca 80654e8: 20020f78 .word 0x20020f78 80654ec: 20020f70 .word 0x20020f70 80654f0: 20020f80 .word 0x20020f80 80654f4: 20020dcc .word 0x20020dcc 80654f8: 20020d90 .word 0x20020d90 80654fc: e0001000 .word 0xe0001000 8065500: 20021680 .word 0x20021680 8065504: 20020dcf .word 0x20020dcf 8065508: 20020070 .word 0x20020070 806550c: 2002105c .word 0x2002105c 8065510: 20020d9f .word 0x20020d9f { i--; 8065514: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8065518: 3b01 subs r3, #1 806551a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 Buff64[(i << 1)] = (float64_t) (In16[i].sh[0] & 0xffc); 806551e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8065522: 005a lsls r2, r3, #1 8065524: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8065528: 49ba ldr r1, [pc, #744] ; (8065814 ) 806552a: f831 3023 ldrh.w r3, [r1, r3, lsl #2] 806552e: 4619 mov r1, r3 8065530: f640 73fc movw r3, #4092 ; 0xffc 8065534: 400b ands r3, r1 8065536: ee07 3a90 vmov s15, r3 806553a: eeb8 7be7 vcvt.f64.s32 d7, s15 806553e: 49b6 ldr r1, [pc, #728] ; (8065818 ) 8065540: 00d3 lsls r3, r2, #3 8065542: 440b add r3, r1 8065544: ed83 7b00 vstr d7, [r3] Buff64[(i << 1) + 1] = (float64_t) (In16[i].sh[1] & 0xffc); 8065548: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806554c: 005b lsls r3, r3, #1 806554e: 1c5a adds r2, r3, #1 8065550: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8065554: 49af ldr r1, [pc, #700] ; (8065814 ) 8065556: 009b lsls r3, r3, #2 8065558: 440b add r3, r1 806555a: 885b ldrh r3, [r3, #2] 806555c: 4619 mov r1, r3 806555e: f640 73fc movw r3, #4092 ; 0xffc 8065562: 400b ands r3, r1 8065564: ee07 3a90 vmov s15, r3 8065568: eeb8 7be7 vcvt.f64.s32 d7, s15 806556c: 49aa ldr r1, [pc, #680] ; (8065818 ) 806556e: 00d3 lsls r3, r2, #3 8065570: 440b add r3, r1 8065572: ed83 7b00 vstr d7, [r3] while(i > 0) 8065576: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806557a: 2b00 cmp r3, #0 806557c: d1ca bne.n 8065514 } arm_biquad_cascade_df2T_f64(&S_LP_TACHO, Buff64, Buff64, 16384); 806557e: f44f 4380 mov.w r3, #16384 ; 0x4000 8065582: 4aa5 ldr r2, [pc, #660] ; (8065818 ) 8065584: 49a4 ldr r1, [pc, #656] ; (8065818 ) 8065586: 48a5 ldr r0, [pc, #660] ; (806581c ) 8065588: f069 fdb8 bl 80cf0fc arm_biquad_cascade_df2T_f64(&S_HP_TACHO, Buff64, Buff64, 16384); 806558c: f44f 4380 mov.w r3, #16384 ; 0x4000 8065590: 4aa1 ldr r2, [pc, #644] ; (8065818 ) 8065592: 49a1 ldr r1, [pc, #644] ; (8065818 ) 8065594: 48a2 ldr r0, [pc, #648] ; (8065820 ) 8065596: f069 fdb1 bl 80cf0fc for(i = 0; i < 16384; i++) { 806559a: 2300 movs r3, #0 806559c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80655a0: e014 b.n 80655cc Out[i] = (float32_t) Buff64[i]; 80655a2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80655a6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80655aa: 499b ldr r1, [pc, #620] ; (8065818 ) 80655ac: 00d2 lsls r2, r2, #3 80655ae: 440a add r2, r1 80655b0: ed92 7b00 vldr d7, [r2] 80655b4: eef7 7bc7 vcvt.f32.f64 s15, d7 80655b8: 4a9a ldr r2, [pc, #616] ; (8065824 ) 80655ba: 009b lsls r3, r3, #2 80655bc: 4413 add r3, r2 80655be: edc3 7a00 vstr s15, [r3] for(i = 0; i < 16384; i++) { 80655c2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80655c6: 3301 adds r3, #1 80655c8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80655cc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80655d0: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 80655d4: d3e5 bcc.n 80655a2 } ///////////////////////////////////////////////////////////////////// memcpy((void *) &Freq_f32(stage * 16384u), (void *) Out, 65536); 80655d6: 4b94 ldr r3, [pc, #592] ; (8065828 ) 80655d8: 781b ldrb r3, [r3, #0] 80655da: b2db uxtb r3, r3 80655dc: 039b lsls r3, r3, #14 80655de: 009a lsls r2, r3, #2 80655e0: 4b92 ldr r3, [pc, #584] ; (806582c ) 80655e2: 4413 add r3, r2 80655e4: f44f 3280 mov.w r2, #65536 ; 0x10000 80655e8: 498e ldr r1, [pc, #568] ; (8065824 ) 80655ea: 4618 mov r0, r3 80655ec: f06c fccf bl 80d1f8e stage++; 80655f0: 4b8d ldr r3, [pc, #564] ; (8065828 ) 80655f2: 781b ldrb r3, [r3, #0] 80655f4: b2db uxtb r3, r3 80655f6: 3301 adds r3, #1 80655f8: b2da uxtb r2, r3 80655fa: 4b8b ldr r3, [pc, #556] ; (8065828 ) 80655fc: 701a strb r2, [r3, #0] if(stage >= 8) // >= 131072 meas 80655fe: 4b8a ldr r3, [pc, #552] ; (8065828 ) 8065600: 781b ldrb r3, [r3, #0] 8065602: b2db uxtb r3, r3 8065604: 2b07 cmp r3, #7 8065606: f240 82ac bls.w 8065b62 { stage = 0; 806560a: 4b87 ldr r3, [pc, #540] ; (8065828 ) 806560c: 2200 movs r2, #0 806560e: 701a strb r2, [r3, #0] NeedFreqTacho = true; 8065610: 4b87 ldr r3, [pc, #540] ; (8065830 ) 8065612: 2201 movs r2, #1 8065614: 701a strb r2, [r3, #0] } } } } } break; 8065616: e2a4 b.n 8065b62 blockSize = measlen; 8065618: 4b86 ldr r3, [pc, #536] ; (8065834 ) 806561a: 881b ldrh r3, [r3, #0] 806561c: b29b uxth r3, r3 806561e: f8c7 3220 str.w r3, [r7, #544] ; 0x220 GetData(); 8065622: f000 fd53 bl 80660cc j = 0; 8065626: 2300 movs r3, #0 8065628: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(menupos == GainSelecting) 806562c: 4b82 ldr r3, [pc, #520] ; (8065838 ) 806562e: 781b ldrb r3, [r3, #0] 8065630: b2db uxtb r3, r3 8065632: 2b02 cmp r3, #2 8065634: d148 bne.n 80656c8 if(CalculateGain(Ns) == 0) 8065636: 4b81 ldr r3, [pc, #516] ; (806583c ) 8065638: 681b ldr r3, [r3, #0] 806563a: 4618 mov r0, r3 806563c: f7f1 ff28 bl 8057490 8065640: 4603 mov r3, r0 8065642: 2b00 cmp r3, #0 8065644: f040 828d bne.w 8065b62 if(Flag_Set_KU) 8065648: 4b7d ldr r3, [pc, #500] ; (8065840 ) 806564a: 781b ldrb r3, [r3, #0] 806564c: b2db uxtb r3, r3 806564e: 2b00 cmp r3, #0 8065650: d01b beq.n 806568a SetKU(); 8065652: f7bc f90f bl 8021874 HAL_Delay(1000); 8065656: f44f 707a mov.w r0, #1000 ; 0x3e8 806565a: f052 f9ef bl 80b7a3c MeanCnt = 0; 806565e: 4b79 ldr r3, [pc, #484] ; (8065844 ) 8065660: 2200 movs r2, #0 8065662: 601a str r2, [r3, #0] RepeatKm = true; 8065664: 4b78 ldr r3, [pc, #480] ; (8065848 ) 8065666: 2201 movs r2, #1 8065668: 701a strb r2, [r3, #0] FirstTime = true; 806566a: 4b78 ldr r3, [pc, #480] ; (806584c ) 806566c: 2201 movs r2, #1 806566e: 701a strb r2, [r3, #0] FIRST = false; 8065670: 4b77 ldr r3, [pc, #476] ; (8065850 ) 8065672: 2200 movs r2, #0 8065674: 701a strb r2, [r3, #0] cntADC = 0; 8065676: 4b77 ldr r3, [pc, #476] ; (8065854 ) 8065678: 2200 movs r2, #0 806567a: 801a strh r2, [r3, #0] Flag_Set_KU = 0; 806567c: 4b70 ldr r3, [pc, #448] ; (8065840 ) 806567e: 2200 movs r2, #0 8065680: 701a strb r2, [r3, #0] cntmeas = 0; 8065682: 4b75 ldr r3, [pc, #468] ; (8065858 ) 8065684: 2200 movs r2, #0 8065686: 801a strh r2, [r3, #0] break; 8065688: e26b b.n 8065b62 menupos = ReadyRec; 806568a: 4b6b ldr r3, [pc, #428] ; (8065838 ) 806568c: 2203 movs r2, #3 806568e: 701a strb r2, [r3, #0] Recording = false; 8065690: 4b72 ldr r3, [pc, #456] ; (806585c ) 8065692: 2200 movs r2, #0 8065694: 701a strb r2, [r3, #0] RepeatKm = false; 8065696: 4b6c ldr r3, [pc, #432] ; (8065848 ) 8065698: 2200 movs r2, #0 806569a: 701a strb r2, [r3, #0] FirstTime = false; 806569c: 4b6b ldr r3, [pc, #428] ; (806584c ) 806569e: 2200 movs r2, #0 80656a0: 701a strb r2, [r3, #0] cntADC = 0; 80656a2: 4b6c ldr r3, [pc, #432] ; (8065854 ) 80656a4: 2200 movs r2, #0 80656a6: 801a strh r2, [r3, #0] cntmeas = 0; 80656a8: 4b6b ldr r3, [pc, #428] ; (8065858 ) 80656aa: 2200 movs r2, #0 80656ac: 801a strh r2, [r3, #0] MultRec = _b24V * CorrKk[ACC] * 2; 80656ae: 4b6c ldr r3, [pc, #432] ; (8065860 ) 80656b0: edd3 7a00 vldr s15, [r3] 80656b4: ed9f 7a6b vldr s14, [pc, #428] ; 8065864 80656b8: ee67 7a87 vmul.f32 s15, s15, s14 80656bc: ee77 7aa7 vadd.f32 s15, s15, s15 80656c0: 4b69 ldr r3, [pc, #420] ; (8065868 ) 80656c2: edc3 7a00 vstr s15, [r3] break; 80656c6: e24c b.n 8065b62 if(Recording) 80656c8: 4b64 ldr r3, [pc, #400] ; (806585c ) 80656ca: 781b ldrb r3, [r3, #0] 80656cc: b2db uxtb r3, r3 80656ce: 2b00 cmp r3, #0 80656d0: f000 8247 beq.w 8065b62 for(i = 0; i < blockSize; i++) 80656d4: 2300 movs r3, #0 80656d6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80656da: e034 b.n 8065746 In[i] = (float32_t) In16[i].lg; 80656dc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80656e0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80656e4: 494b ldr r1, [pc, #300] ; (8065814 ) 80656e6: f851 2022 ldr.w r2, [r1, r2, lsl #2] 80656ea: ee07 2a90 vmov s15, r2 80656ee: eef8 7a67 vcvt.f32.u32 s15, s15 80656f2: 4a5e ldr r2, [pc, #376] ; (806586c ) 80656f4: 009b lsls r3, r3, #2 80656f6: 4413 add r3, r2 80656f8: edc3 7a00 vstr s15, [r3] In[i] -= MEAN; 80656fc: 4b5c ldr r3, [pc, #368] ; (8065870 ) 80656fe: edd3 7a00 vldr s15, [r3] 8065702: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8065706: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806570a: 4958 ldr r1, [pc, #352] ; (806586c ) 806570c: 0092 lsls r2, r2, #2 806570e: 440a add r2, r1 8065710: ed92 7a00 vldr s14, [r2] 8065714: ee77 7a67 vsub.f32 s15, s14, s15 8065718: 4a54 ldr r2, [pc, #336] ; (806586c ) 806571a: 009b lsls r3, r3, #2 806571c: 4413 add r3, r2 806571e: edc3 7a00 vstr s15, [r3] if(In16[i].lg > 0xE00000) 8065722: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8065726: 4a3b ldr r2, [pc, #236] ; (8065814 ) 8065728: f852 3023 ldr.w r3, [r2, r3, lsl #2] 806572c: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8065730: d904 bls.n 806573c j++; 8065732: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8065736: 3301 adds r3, #1 8065738: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < blockSize; i++) 806573c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8065740: 3301 adds r3, #1 8065742: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8065746: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806574a: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 806574e: 429a cmp r2, r3 8065750: d3c4 bcc.n 80656dc if(j >= 2) 8065752: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8065756: 2b01 cmp r3, #1 8065758: d903 bls.n 8065762 OVERDRIVE = true; 806575a: 4b46 ldr r3, [pc, #280] ; (8065874 ) 806575c: 2201 movs r2, #1 806575e: 701a strb r2, [r3, #0] 8065760: e002 b.n 8065768 else OVERDRIVE = false; 8065762: 4b44 ldr r3, [pc, #272] ; (8065874 ) 8065764: 2200 movs r2, #0 8065766: 701a strb r2, [r3, #0] arm_scale_f32(In, MultRec, &SD_Buff[0].fl, blockSize); 8065768: 4b3f ldr r3, [pc, #252] ; (8065868 ) 806576a: edd3 7a00 vldr s15, [r3] 806576e: f8d7 2220 ldr.w r2, [r7, #544] ; 0x220 8065772: 4941 ldr r1, [pc, #260] ; (8065878 ) 8065774: eeb0 0a67 vmov.f32 s0, s15 8065778: 483c ldr r0, [pc, #240] ; (806586c ) 806577a: f069 ff75 bl 80cf668 TimeRec += Ns; 806577e: 4b2f ldr r3, [pc, #188] ; (806583c ) 8065780: 681a ldr r2, [r3, #0] 8065782: 4b3e ldr r3, [pc, #248] ; (806587c ) 8065784: 681b ldr r3, [r3, #0] 8065786: 4413 add r3, r2 8065788: 4a3c ldr r2, [pc, #240] ; (806587c ) 806578a: 6013 str r3, [r2, #0] result = f_write(&F, (uint32_t *) &SD_Buff[0].fl, (blockSize << 2), (UINT *) &i); 806578c: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8065790: 009a lsls r2, r3, #2 8065792: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8065796: 4938 ldr r1, [pc, #224] ; (8065878 ) 8065798: 4839 ldr r0, [pc, #228] ; (8065880 ) 806579a: f065 fee1 bl 80cb560 806579e: 4603 mov r3, r0 80657a0: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if((result != FR_OK) || (TimeRec >= TIMEREC[5][pardata.TME])) { 80657a4: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 80657a8: 2b00 cmp r3, #0 80657aa: d10b bne.n 80657c4 80657ac: 4b35 ldr r3, [pc, #212] ; (8065884 ) 80657ae: 7b9b ldrb r3, [r3, #14] 80657b0: b2db uxtb r3, r3 80657b2: 4a35 ldr r2, [pc, #212] ; (8065888 ) 80657b4: 3337 adds r3, #55 ; 0x37 80657b6: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80657ba: 4b30 ldr r3, [pc, #192] ; (806587c ) 80657bc: 681b ldr r3, [r3, #0] 80657be: 429a cmp r2, r3 80657c0: f200 81cf bhi.w 8065b62 NeedSTOP = true; 80657c4: 4b31 ldr r3, [pc, #196] ; (806588c ) 80657c6: 2201 movs r2, #1 80657c8: 701a strb r2, [r3, #0] break; 80657ca: e1ca b.n 8065b62 blockSize = measlen; 80657cc: 4b19 ldr r3, [pc, #100] ; (8065834 ) 80657ce: 881b ldrh r3, [r3, #0] 80657d0: b29b uxth r3, r3 80657d2: f8c7 3220 str.w r3, [r7, #544] ; 0x220 GetData(); 80657d6: f000 fc79 bl 80660cc j = 0; 80657da: 2300 movs r3, #0 80657dc: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(Threshold) 80657e0: 4b2b ldr r3, [pc, #172] ; (8065890 ) 80657e2: 781b ldrb r3, [r3, #0] 80657e4: b2db uxtb r3, r3 80657e6: 2b00 cmp r3, #0 80657e8: f000 80da beq.w 80659a0 MultRec = _b24V * CorrKk[ACC] * 2; 80657ec: 4b1c ldr r3, [pc, #112] ; (8065860 ) 80657ee: edd3 7a00 vldr s15, [r3] 80657f2: ed9f 7a1c vldr s14, [pc, #112] ; 8065864 80657f6: ee67 7a87 vmul.f32 s15, s15, s14 80657fa: ee77 7aa7 vadd.f32 s15, s15, s15 80657fe: 4b1a ldr r3, [pc, #104] ; (8065868 ) 8065800: edc3 7a00 vstr s15, [r3] j = 0; 8065804: 2300 movs r3, #0 8065806: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < blockSize; i++) 806580a: 2300 movs r3, #0 806580c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8065810: e075 b.n 80658fe 8065812: bf00 nop 8065814: 20058080 .word 0x20058080 8065818: 20037b40 .word 0x20037b40 806581c: 200682cc .word 0x200682cc 8065820: 20057d18 .word 0x20057d18 8065824: 20008000 .word 0x20008000 8065828: 20021568 .word 0x20021568 806582c: 64080000 .word 0x64080000 8065830: 20020d96 .word 0x20020d96 8065834: 20020dac .word 0x20020dac 8065838: 20020070 .word 0x20020070 806583c: 20021d2c .word 0x20021d2c 8065840: 20020d9e .word 0x20020d9e 8065844: 20020dd8 .word 0x20020dd8 8065848: 20020dcc .word 0x20020dcc 806584c: 20020dce .word 0x20020dce 8065850: 20020dd2 .word 0x20020dd2 8065854: 20020d9c .word 0x20020d9c 8065858: 20020da0 .word 0x20020da0 806585c: 20020dd0 .word 0x20020dd0 8065860: 20020080 .word 0x20020080 8065864: 2f449ba8 .word 0x2f449ba8 8065868: 20026228 .word 0x20026228 806586c: 20027a20 .word 0x20027a20 8065870: 200209d8 .word 0x200209d8 8065874: 20021581 .word 0x20021581 8065878: 20000000 .word 0x20000000 806587c: 200216d4 .word 0x200216d4 8065880: 20022e78 .word 0x20022e78 8065884: 20023eb8 .word 0x20023eb8 8065888: 080f5344 .word 0x080f5344 806588c: 20020fca .word 0x20020fca 8065890: 20020dd1 .word 0x20020dd1 In[i] = (float32_t) In16[i].lg; 8065894: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8065898: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806589c: 49b7 ldr r1, [pc, #732] ; (8065b7c ) 806589e: f851 2022 ldr.w r2, [r1, r2, lsl #2] 80658a2: ee07 2a90 vmov s15, r2 80658a6: eef8 7a67 vcvt.f32.u32 s15, s15 80658aa: 4ab5 ldr r2, [pc, #724] ; (8065b80 ) 80658ac: 009b lsls r3, r3, #2 80658ae: 4413 add r3, r2 80658b0: edc3 7a00 vstr s15, [r3] In[i] -= MEAN; 80658b4: 4bb3 ldr r3, [pc, #716] ; (8065b84 ) 80658b6: edd3 7a00 vldr s15, [r3] 80658ba: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80658be: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80658c2: 49af ldr r1, [pc, #700] ; (8065b80 ) 80658c4: 0092 lsls r2, r2, #2 80658c6: 440a add r2, r1 80658c8: ed92 7a00 vldr s14, [r2] 80658cc: ee77 7a67 vsub.f32 s15, s14, s15 80658d0: 4aab ldr r2, [pc, #684] ; (8065b80 ) 80658d2: 009b lsls r3, r3, #2 80658d4: 4413 add r3, r2 80658d6: edc3 7a00 vstr s15, [r3] if(In16[i].lg > 0xE00000) 80658da: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80658de: 4aa7 ldr r2, [pc, #668] ; (8065b7c ) 80658e0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80658e4: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 80658e8: d904 bls.n 80658f4 j++; 80658ea: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80658ee: 3301 adds r3, #1 80658f0: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < blockSize; i++) 80658f4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80658f8: 3301 adds r3, #1 80658fa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80658fe: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8065902: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8065906: 429a cmp r2, r3 8065908: d3c4 bcc.n 8065894 if(j >= 2) 806590a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 806590e: 2b01 cmp r3, #1 8065910: d903 bls.n 806591a OVERDRIVE = true; 8065912: 4b9d ldr r3, [pc, #628] ; (8065b88 ) 8065914: 2201 movs r2, #1 8065916: 701a strb r2, [r3, #0] 8065918: e002 b.n 8065920 else OVERDRIVE = false; 806591a: 4b9b ldr r3, [pc, #620] ; (8065b88 ) 806591c: 2200 movs r2, #0 806591e: 701a strb r2, [r3, #0] arm_scale_f32(In, MultRec, &SD_Buff[0].fl, blockSize); 8065920: 4b9a ldr r3, [pc, #616] ; (8065b8c ) 8065922: edd3 7a00 vldr s15, [r3] 8065926: f8d7 2220 ldr.w r2, [r7, #544] ; 0x220 806592a: 4999 ldr r1, [pc, #612] ; (8065b90 ) 806592c: eeb0 0a67 vmov.f32 s0, s15 8065930: 4893 ldr r0, [pc, #588] ; (8065b80 ) 8065932: f069 fe99 bl 80cf668 if((pardata.IVS[ACC] & 0x3) != RMS) 8065936: 4b97 ldr r3, [pc, #604] ; (8065b94 ) 8065938: 789b ldrb r3, [r3, #2] 806593a: b2db uxtb r3, r3 806593c: f003 0303 and.w r3, r3, #3 8065940: 2b01 cmp r3, #1 8065942: f000 810e beq.w 8065b62 if(Recording) 8065946: 4b94 ldr r3, [pc, #592] ; (8065b98 ) 8065948: 781b ldrb r3, [r3, #0] 806594a: b2db uxtb r3, r3 806594c: 2b00 cmp r3, #0 806594e: f000 8108 beq.w 8065b62 TimeRec += Ns; 8065952: 4b92 ldr r3, [pc, #584] ; (8065b9c ) 8065954: 681a ldr r2, [r3, #0] 8065956: 4b92 ldr r3, [pc, #584] ; (8065ba0 ) 8065958: 681b ldr r3, [r3, #0] 806595a: 4413 add r3, r2 806595c: 4a90 ldr r2, [pc, #576] ; (8065ba0 ) 806595e: 6013 str r3, [r2, #0] result = f_write(&F, (void *) &SD_Buff[0].fl, (blockSize << 2), (UINT *) &i); 8065960: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8065964: 009a lsls r2, r3, #2 8065966: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806596a: 4989 ldr r1, [pc, #548] ; (8065b90 ) 806596c: 488d ldr r0, [pc, #564] ; (8065ba4 ) 806596e: f065 fdf7 bl 80cb560 8065972: 4603 mov r3, r0 8065974: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if((result != FR_OK) || (TimeRec >= TIMEREC[5][pardata.TME])) { 8065978: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 806597c: 2b00 cmp r3, #0 806597e: d10b bne.n 8065998 8065980: 4b84 ldr r3, [pc, #528] ; (8065b94 ) 8065982: 7b9b ldrb r3, [r3, #14] 8065984: b2db uxtb r3, r3 8065986: 4a88 ldr r2, [pc, #544] ; (8065ba8 ) 8065988: 3337 adds r3, #55 ; 0x37 806598a: f852 2023 ldr.w r2, [r2, r3, lsl #2] 806598e: 4b84 ldr r3, [pc, #528] ; (8065ba0 ) 8065990: 681b ldr r3, [r3, #0] 8065992: 429a cmp r2, r3 8065994: f200 80e5 bhi.w 8065b62 NeedSTOP = true; 8065998: 4b84 ldr r3, [pc, #528] ; (8065bac ) 806599a: 2201 movs r2, #1 806599c: 701a strb r2, [r3, #0] break; 806599e: e0e0 b.n 8065b62 if(menupos == GainSelecting) 80659a0: 4b83 ldr r3, [pc, #524] ; (8065bb0 ) 80659a2: 781b ldrb r3, [r3, #0] 80659a4: b2db uxtb r3, r3 80659a6: 2b02 cmp r3, #2 80659a8: d148 bne.n 8065a3c if(CalculateGain(Ns) == 0) 80659aa: 4b7c ldr r3, [pc, #496] ; (8065b9c ) 80659ac: 681b ldr r3, [r3, #0] 80659ae: 4618 mov r0, r3 80659b0: f7f1 fd6e bl 8057490 80659b4: 4603 mov r3, r0 80659b6: 2b00 cmp r3, #0 80659b8: f040 80d3 bne.w 8065b62 if(Flag_Set_KU) 80659bc: 4b7d ldr r3, [pc, #500] ; (8065bb4 ) 80659be: 781b ldrb r3, [r3, #0] 80659c0: b2db uxtb r3, r3 80659c2: 2b00 cmp r3, #0 80659c4: d01b beq.n 80659fe SetKU(); 80659c6: f7bb ff55 bl 8021874 HAL_Delay(1000); 80659ca: f44f 707a mov.w r0, #1000 ; 0x3e8 80659ce: f052 f835 bl 80b7a3c MeanCnt = 0; 80659d2: 4b79 ldr r3, [pc, #484] ; (8065bb8 ) 80659d4: 2200 movs r2, #0 80659d6: 601a str r2, [r3, #0] RepeatKm = true; 80659d8: 4b78 ldr r3, [pc, #480] ; (8065bbc ) 80659da: 2201 movs r2, #1 80659dc: 701a strb r2, [r3, #0] FirstTime = true; 80659de: 4b78 ldr r3, [pc, #480] ; (8065bc0 ) 80659e0: 2201 movs r2, #1 80659e2: 701a strb r2, [r3, #0] FIRST = false; 80659e4: 4b77 ldr r3, [pc, #476] ; (8065bc4 ) 80659e6: 2200 movs r2, #0 80659e8: 701a strb r2, [r3, #0] cntADC = 0; 80659ea: 4b77 ldr r3, [pc, #476] ; (8065bc8 ) 80659ec: 2200 movs r2, #0 80659ee: 801a strh r2, [r3, #0] Flag_Set_KU = 0; 80659f0: 4b70 ldr r3, [pc, #448] ; (8065bb4 ) 80659f2: 2200 movs r2, #0 80659f4: 701a strb r2, [r3, #0] cntmeas = 0; 80659f6: 4b75 ldr r3, [pc, #468] ; (8065bcc ) 80659f8: 2200 movs r2, #0 80659fa: 801a strh r2, [r3, #0] break; 80659fc: e0b1 b.n 8065b62 menupos = ReadyRec; 80659fe: 4b6c ldr r3, [pc, #432] ; (8065bb0 ) 8065a00: 2203 movs r2, #3 8065a02: 701a strb r2, [r3, #0] Recording = false; 8065a04: 4b64 ldr r3, [pc, #400] ; (8065b98 ) 8065a06: 2200 movs r2, #0 8065a08: 701a strb r2, [r3, #0] RepeatKm = false; 8065a0a: 4b6c ldr r3, [pc, #432] ; (8065bbc ) 8065a0c: 2200 movs r2, #0 8065a0e: 701a strb r2, [r3, #0] FirstTime = false; 8065a10: 4b6b ldr r3, [pc, #428] ; (8065bc0 ) 8065a12: 2200 movs r2, #0 8065a14: 701a strb r2, [r3, #0] cntADC = 0; 8065a16: 4b6c ldr r3, [pc, #432] ; (8065bc8 ) 8065a18: 2200 movs r2, #0 8065a1a: 801a strh r2, [r3, #0] cntmeas = 0; 8065a1c: 4b6b ldr r3, [pc, #428] ; (8065bcc ) 8065a1e: 2200 movs r2, #0 8065a20: 801a strh r2, [r3, #0] MultRec = _b24V * CorrKk[ACC] * 2; 8065a22: 4b6b ldr r3, [pc, #428] ; (8065bd0 ) 8065a24: edd3 7a00 vldr s15, [r3] 8065a28: ed9f 7a6a vldr s14, [pc, #424] ; 8065bd4 8065a2c: ee67 7a87 vmul.f32 s15, s15, s14 8065a30: ee77 7aa7 vadd.f32 s15, s15, s15 8065a34: 4b55 ldr r3, [pc, #340] ; (8065b8c ) 8065a36: edc3 7a00 vstr s15, [r3] break; 8065a3a: e092 b.n 8065b62 if(Recording) 8065a3c: 4b56 ldr r3, [pc, #344] ; (8065b98 ) 8065a3e: 781b ldrb r3, [r3, #0] 8065a40: b2db uxtb r3, r3 8065a42: 2b00 cmp r3, #0 8065a44: f000 808d beq.w 8065b62 for(i = 0; i < blockSize; i++) 8065a48: 2300 movs r3, #0 8065a4a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8065a4e: e034 b.n 8065aba In[i] = (float32_t) In16[i].lg; 8065a50: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8065a54: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8065a58: 4948 ldr r1, [pc, #288] ; (8065b7c ) 8065a5a: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8065a5e: ee07 2a90 vmov s15, r2 8065a62: eef8 7a67 vcvt.f32.u32 s15, s15 8065a66: 4a46 ldr r2, [pc, #280] ; (8065b80 ) 8065a68: 009b lsls r3, r3, #2 8065a6a: 4413 add r3, r2 8065a6c: edc3 7a00 vstr s15, [r3] In[i] -= MEAN; 8065a70: 4b44 ldr r3, [pc, #272] ; (8065b84 ) 8065a72: edd3 7a00 vldr s15, [r3] 8065a76: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8065a7a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8065a7e: 4940 ldr r1, [pc, #256] ; (8065b80 ) 8065a80: 0092 lsls r2, r2, #2 8065a82: 440a add r2, r1 8065a84: ed92 7a00 vldr s14, [r2] 8065a88: ee77 7a67 vsub.f32 s15, s14, s15 8065a8c: 4a3c ldr r2, [pc, #240] ; (8065b80 ) 8065a8e: 009b lsls r3, r3, #2 8065a90: 4413 add r3, r2 8065a92: edc3 7a00 vstr s15, [r3] if(In16[i].lg > 0xE00000) 8065a96: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8065a9a: 4a38 ldr r2, [pc, #224] ; (8065b7c ) 8065a9c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8065aa0: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8065aa4: d904 bls.n 8065ab0 j++; 8065aa6: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8065aaa: 3301 adds r3, #1 8065aac: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < blockSize; i++) 8065ab0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8065ab4: 3301 adds r3, #1 8065ab6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8065aba: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8065abe: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8065ac2: 429a cmp r2, r3 8065ac4: d3c4 bcc.n 8065a50 if(j >= 2) 8065ac6: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8065aca: 2b01 cmp r3, #1 8065acc: d903 bls.n 8065ad6 OVERDRIVE = true; 8065ace: 4b2e ldr r3, [pc, #184] ; (8065b88 ) 8065ad0: 2201 movs r2, #1 8065ad2: 701a strb r2, [r3, #0] 8065ad4: e002 b.n 8065adc else OVERDRIVE = false; 8065ad6: 4b2c ldr r3, [pc, #176] ; (8065b88 ) 8065ad8: 2200 movs r2, #0 8065ada: 701a strb r2, [r3, #0] arm_scale_f32(In, MultRec, &SD_Buff[0].fl, blockSize); 8065adc: 4b2b ldr r3, [pc, #172] ; (8065b8c ) 8065ade: edd3 7a00 vldr s15, [r3] 8065ae2: f8d7 2220 ldr.w r2, [r7, #544] ; 0x220 8065ae6: 492a ldr r1, [pc, #168] ; (8065b90 ) 8065ae8: eeb0 0a67 vmov.f32 s0, s15 8065aec: 4824 ldr r0, [pc, #144] ; (8065b80 ) 8065aee: f069 fdbb bl 80cf668 TimeRec += Ns; 8065af2: 4b2a ldr r3, [pc, #168] ; (8065b9c ) 8065af4: 681a ldr r2, [r3, #0] 8065af6: 4b2a ldr r3, [pc, #168] ; (8065ba0 ) 8065af8: 681b ldr r3, [r3, #0] 8065afa: 4413 add r3, r2 8065afc: 4a28 ldr r2, [pc, #160] ; (8065ba0 ) 8065afe: 6013 str r3, [r2, #0] result = f_write(&F, (uint32_t *) &SD_Buff[0].fl, (blockSize << 2), (UINT *) &i); 8065b00: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8065b04: 009a lsls r2, r3, #2 8065b06: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8065b0a: 4921 ldr r1, [pc, #132] ; (8065b90 ) 8065b0c: 4825 ldr r0, [pc, #148] ; (8065ba4 ) 8065b0e: f065 fd27 bl 80cb560 8065b12: 4603 mov r3, r0 8065b14: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if((result != FR_OK) || (TimeRec >= TIMEREC[5][pardata.TME])) { 8065b18: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 8065b1c: 2b00 cmp r3, #0 8065b1e: d10a bne.n 8065b36 8065b20: 4b1c ldr r3, [pc, #112] ; (8065b94 ) 8065b22: 7b9b ldrb r3, [r3, #14] 8065b24: b2db uxtb r3, r3 8065b26: 4a20 ldr r2, [pc, #128] ; (8065ba8 ) 8065b28: 3337 adds r3, #55 ; 0x37 8065b2a: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8065b2e: 4b1c ldr r3, [pc, #112] ; (8065ba0 ) 8065b30: 681b ldr r3, [r3, #0] 8065b32: 429a cmp r2, r3 8065b34: d815 bhi.n 8065b62 NeedSTOP = true; 8065b36: 4b1d ldr r3, [pc, #116] ; (8065bac ) 8065b38: 2201 movs r2, #1 8065b3a: 701a strb r2, [r3, #0] break; 8065b3c: e011 b.n 8065b62 break; 8065b3e: bf00 nop 8065b40: e010 b.n 8065b64 break; 8065b42: bf00 nop 8065b44: e00e b.n 8065b64 break; 8065b46: bf00 nop 8065b48: e00c b.n 8065b64 break; 8065b4a: bf00 nop 8065b4c: e00a b.n 8065b64 break; 8065b4e: bf00 nop 8065b50: e008 b.n 8065b64 break; 8065b52: bf00 nop 8065b54: e006 b.n 8065b64 break; 8065b56: bf00 nop 8065b58: e004 b.n 8065b64 break; 8065b5a: bf00 nop 8065b5c: e002 b.n 8065b64 break; 8065b5e: bf00 nop 8065b60: e000 b.n 8065b64 break; 8065b62: bf00 nop } } Processing(); 8065b64: f000 f83a bl 8065bdc READY = DATA_FREE; 8065b68: 4b1b ldr r3, [pc, #108] ; (8065bd8 ) 8065b6a: 2200 movs r2, #0 8065b6c: 701a strb r2, [r3, #0] /*if(Initialized) { BT_SendMeas(); }*/ } 8065b6e: f507 770b add.w r7, r7, #556 ; 0x22c 8065b72: 46bd mov sp, r7 8065b74: ecbd 8b04 vpop {d8-d9} 8065b78: bd90 pop {r4, r7, pc} 8065b7a: bf00 nop 8065b7c: 20058080 .word 0x20058080 8065b80: 20027a20 .word 0x20027a20 8065b84: 200209d8 .word 0x200209d8 8065b88: 20021581 .word 0x20021581 8065b8c: 20026228 .word 0x20026228 8065b90: 20000000 .word 0x20000000 8065b94: 20023eb8 .word 0x20023eb8 8065b98: 20020dd0 .word 0x20020dd0 8065b9c: 20021d2c .word 0x20021d2c 8065ba0: 200216d4 .word 0x200216d4 8065ba4: 20022e78 .word 0x20022e78 8065ba8: 080f5344 .word 0x080f5344 8065bac: 20020fca .word 0x20020fca 8065bb0: 20020070 .word 0x20020070 8065bb4: 20020d9e .word 0x20020d9e 8065bb8: 20020dd8 .word 0x20020dd8 8065bbc: 20020dcc .word 0x20020dcc 8065bc0: 20020dce .word 0x20020dce 8065bc4: 20020dd2 .word 0x20020dd2 8065bc8: 20020d9c .word 0x20020d9c 8065bcc: 20020da0 .word 0x20020da0 8065bd0: 20020080 .word 0x20020080 8065bd4: 2f449ba8 .word 0x2f449ba8 8065bd8: 20020d9f .word 0x20020d9f 08065bdc : void Processing(void) { 8065bdc: b580 push {r7, lr} 8065bde: af00 add r7, sp, #0 if(pardata.SYG != WAVE) 8065be0: 4b64 ldr r3, [pc, #400] ; (8065d74 ) 8065be2: 781b ldrb r3, [r3, #0] 8065be4: b2db uxtb r3, r3 8065be6: 2b04 cmp r3, #4 8065be8: f000 80b5 beq.w 8065d56 { if(Flag_Set_KU) 8065bec: 4b62 ldr r3, [pc, #392] ; (8065d78 ) 8065bee: 781b ldrb r3, [r3, #0] 8065bf0: b2db uxtb r3, r3 8065bf2: 2b00 cmp r3, #0 8065bf4: d04e beq.n 8065c94 { SetKU(); 8065bf6: f7bb fe3d bl 8021874 HAL_Delay(300); 8065bfa: f44f 7096 mov.w r0, #300 ; 0x12c 8065bfe: f051 ff1d bl 80b7a3c MeanCnt = 0; 8065c02: 4b5e ldr r3, [pc, #376] ; (8065d7c ) 8065c04: 2200 movs r2, #0 8065c06: 601a str r2, [r3, #0] RepeatKm = true; 8065c08: 4b5d ldr r3, [pc, #372] ; (8065d80 ) 8065c0a: 2201 movs r2, #1 8065c0c: 701a strb r2, [r3, #0] FirstTime = true; 8065c0e: 4b5d ldr r3, [pc, #372] ; (8065d84 ) 8065c10: 2201 movs r2, #1 8065c12: 701a strb r2, [r3, #0] //initFilters(); firstOkt = true; 8065c14: 4b5c ldr r3, [pc, #368] ; (8065d88 ) 8065c16: 2201 movs r2, #1 8065c18: 701a strb r2, [r3, #0] cntOkt = 0; 8065c1a: 4b5c ldr r3, [pc, #368] ; (8065d8c ) 8065c1c: 2200 movs r2, #0 8065c1e: 601a str r2, [r3, #0] rms0_8 = 0.0f; 8065c20: 4b5b ldr r3, [pc, #364] ; (8065d90 ) 8065c22: f04f 0200 mov.w r2, #0 8065c26: 601a str r2, [r3, #0] rms1 = 0.0f; 8065c28: 4b5a ldr r3, [pc, #360] ; (8065d94 ) 8065c2a: f04f 0200 mov.w r2, #0 8065c2e: 601a str r2, [r3, #0] rms1_25 = 0.0f; 8065c30: 4b59 ldr r3, [pc, #356] ; (8065d98 ) 8065c32: f04f 0200 mov.w r2, #0 8065c36: 601a str r2, [r3, #0] rms1_6 = 0.0f; 8065c38: 4b58 ldr r3, [pc, #352] ; (8065d9c ) 8065c3a: f04f 0200 mov.w r2, #0 8065c3e: 601a str r2, [r3, #0] rms2 = 0.0f; 8065c40: 4b57 ldr r3, [pc, #348] ; (8065da0 ) 8065c42: f04f 0200 mov.w r2, #0 8065c46: 601a str r2, [r3, #0] rms2_5 = 0.0f; 8065c48: 4b56 ldr r3, [pc, #344] ; (8065da4 ) 8065c4a: f04f 0200 mov.w r2, #0 8065c4e: 601a str r2, [r3, #0] rms3_15 = 0.0f; 8065c50: 4b55 ldr r3, [pc, #340] ; (8065da8 ) 8065c52: f04f 0200 mov.w r2, #0 8065c56: 601a str r2, [r3, #0] rms4 = 0.0f; 8065c58: 4b54 ldr r3, [pc, #336] ; (8065dac ) 8065c5a: f04f 0200 mov.w r2, #0 8065c5e: 601a str r2, [r3, #0] rms5 = 0.0f; 8065c60: 4b53 ldr r3, [pc, #332] ; (8065db0 ) 8065c62: f04f 0200 mov.w r2, #0 8065c66: 601a str r2, [r3, #0] rms6_3 = 0.0f; 8065c68: 4b52 ldr r3, [pc, #328] ; (8065db4 ) 8065c6a: f04f 0200 mov.w r2, #0 8065c6e: 601a str r2, [r3, #0] rms8 = 0.0f; 8065c70: 4b51 ldr r3, [pc, #324] ; (8065db8 ) 8065c72: f04f 0200 mov.w r2, #0 8065c76: 601a str r2, [r3, #0] rms10 = 0.0f; 8065c78: 4b50 ldr r3, [pc, #320] ; (8065dbc ) 8065c7a: f04f 0200 mov.w r2, #0 8065c7e: 601a str r2, [r3, #0] cntADC = 0; 8065c80: 4b4f ldr r3, [pc, #316] ; (8065dc0 ) 8065c82: 2200 movs r2, #0 8065c84: 801a strh r2, [r3, #0] cntmeas = 0; 8065c86: 4b4f ldr r3, [pc, #316] ; (8065dc4 ) 8065c88: 2200 movs r2, #0 8065c8a: 801a strh r2, [r3, #0] Flag_Set_KU = 0; 8065c8c: 4b3a ldr r3, [pc, #232] ; (8065d78 ) 8065c8e: 2200 movs r2, #0 8065c90: 701a strb r2, [r3, #0] 8065c92: e063 b.n 8065d5c } else { if(FirstTime) 8065c94: 4b3b ldr r3, [pc, #236] ; (8065d84 ) 8065c96: 781b ldrb r3, [r3, #0] 8065c98: b2db uxtb r3, r3 8065c9a: 2b00 cmp r3, #0 8065c9c: d008 beq.n 8065cb0 { FirstTime = false; 8065c9e: 4b39 ldr r3, [pc, #228] ; (8065d84 ) 8065ca0: 2200 movs r2, #0 8065ca2: 701a strb r2, [r3, #0] cntADC = 0; 8065ca4: 4b46 ldr r3, [pc, #280] ; (8065dc0 ) 8065ca6: 2200 movs r2, #0 8065ca8: 801a strh r2, [r3, #0] cntmeas = 0; 8065caa: 4b46 ldr r3, [pc, #280] ; (8065dc4 ) 8065cac: 2200 movs r2, #0 8065cae: 801a strh r2, [r3, #0] } if(RepeatKm) 8065cb0: 4b33 ldr r3, [pc, #204] ; (8065d80 ) 8065cb2: 781b ldrb r3, [r3, #0] 8065cb4: b2db uxtb r3, r3 8065cb6: 2b00 cmp r3, #0 8065cb8: d01c beq.n 8065cf4 { RepeatKm = false; 8065cba: 4b31 ldr r3, [pc, #196] ; (8065d80 ) 8065cbc: 2200 movs r2, #0 8065cbe: 701a strb r2, [r3, #0] FIRST = false; 8065cc0: 4b41 ldr r3, [pc, #260] ; (8065dc8 ) 8065cc2: 2200 movs r2, #0 8065cc4: 701a strb r2, [r3, #0] if((pardata.SYG == OSC) || ((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == ROLL))) { 8065cc6: 4b2b ldr r3, [pc, #172] ; (8065d74 ) 8065cc8: 781b ldrb r3, [r3, #0] 8065cca: b2db uxtb r3, r3 8065ccc: 2b02 cmp r3, #2 8065cce: d00e beq.n 8065cee 8065cd0: 4b28 ldr r3, [pc, #160] ; (8065d74 ) 8065cd2: 781b ldrb r3, [r3, #0] 8065cd4: b2db uxtb r3, r3 8065cd6: 2b01 cmp r3, #1 8065cd8: d009 beq.n 8065cee 8065cda: 4b26 ldr r3, [pc, #152] ; (8065d74 ) 8065cdc: 781b ldrb r3, [r3, #0] 8065cde: b2db uxtb r3, r3 8065ce0: 2b05 cmp r3, #5 8065ce2: d004 beq.n 8065cee 8065ce4: 4b23 ldr r3, [pc, #140] ; (8065d74 ) 8065ce6: 781b ldrb r3, [r3, #0] 8065ce8: b2db uxtb r3, r3 8065cea: 2b08 cmp r3, #8 8065cec: d102 bne.n 8065cf4 AUTOZOOM = true; 8065cee: 4b37 ldr r3, [pc, #220] ; (8065dcc ) 8065cf0: 2201 movs r2, #1 8065cf2: 701a strb r2, [r3, #0] } } if(firstmeas) 8065cf4: 4b36 ldr r3, [pc, #216] ; (8065dd0 ) 8065cf6: 781b ldrb r3, [r3, #0] 8065cf8: b2db uxtb r3, r3 8065cfa: 2b00 cmp r3, #0 8065cfc: d020 beq.n 8065d40 { firstmeas = false; 8065cfe: 4b34 ldr r3, [pc, #208] ; (8065dd0 ) 8065d00: 2200 movs r2, #0 8065d02: 701a strb r2, [r3, #0] FIRST = false; 8065d04: 4b30 ldr r3, [pc, #192] ; (8065dc8 ) 8065d06: 2200 movs r2, #0 8065d08: 701a strb r2, [r3, #0] NSamples = 1; 8065d0a: 4b32 ldr r3, [pc, #200] ; (8065dd4 ) 8065d0c: 2201 movs r2, #1 8065d0e: 601a str r2, [r3, #0] if((pardata.SYG == OSC) || (pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == ROLL)) { 8065d10: 4b18 ldr r3, [pc, #96] ; (8065d74 ) 8065d12: 781b ldrb r3, [r3, #0] 8065d14: b2db uxtb r3, r3 8065d16: 2b02 cmp r3, #2 8065d18: d00e beq.n 8065d38 8065d1a: 4b16 ldr r3, [pc, #88] ; (8065d74 ) 8065d1c: 781b ldrb r3, [r3, #0] 8065d1e: b2db uxtb r3, r3 8065d20: 2b01 cmp r3, #1 8065d22: d009 beq.n 8065d38 8065d24: 4b13 ldr r3, [pc, #76] ; (8065d74 ) 8065d26: 781b ldrb r3, [r3, #0] 8065d28: b2db uxtb r3, r3 8065d2a: 2b05 cmp r3, #5 8065d2c: d004 beq.n 8065d38 8065d2e: 4b11 ldr r3, [pc, #68] ; (8065d74 ) 8065d30: 781b ldrb r3, [r3, #0] 8065d32: b2db uxtb r3, r3 8065d34: 2b08 cmp r3, #8 8065d36: d111 bne.n 8065d5c AUTOZOOM = true; 8065d38: 4b24 ldr r3, [pc, #144] ; (8065dcc ) 8065d3a: 2201 movs r2, #1 8065d3c: 701a strb r2, [r3, #0] 8065d3e: e00d b.n 8065d5c } } else { if(measuring) { 8065d40: 4b25 ldr r3, [pc, #148] ; (8065dd8 ) 8065d42: 781b ldrb r3, [r3, #0] 8065d44: b2db uxtb r3, r3 8065d46: 2b00 cmp r3, #0 8065d48: d008 beq.n 8065d5c NSamples++; 8065d4a: 4b22 ldr r3, [pc, #136] ; (8065dd4 ) 8065d4c: 681b ldr r3, [r3, #0] 8065d4e: 3301 adds r3, #1 8065d50: 4a20 ldr r2, [pc, #128] ; (8065dd4 ) 8065d52: 6013 str r3, [r2, #0] 8065d54: e002 b.n 8065d5c } } } else { Flag_Set_KU = 0; 8065d56: 4b08 ldr r3, [pc, #32] ; (8065d78 ) 8065d58: 2200 movs r2, #0 8065d5a: 701a strb r2, [r3, #0] } if(NeedSTOP) 8065d5c: 4b1f ldr r3, [pc, #124] ; (8065ddc ) 8065d5e: 781b ldrb r3, [r3, #0] 8065d60: b2db uxtb r3, r3 8065d62: 2b00 cmp r3, #0 8065d64: d004 beq.n 8065d70 { NeedSTOP = false; 8065d66: 4b1d ldr r3, [pc, #116] ; (8065ddc ) 8065d68: 2200 movs r2, #0 8065d6a: 701a strb r2, [r3, #0] StopMeas(); 8065d6c: f7bd fd16 bl 802379c } } 8065d70: bf00 nop 8065d72: bd80 pop {r7, pc} 8065d74: 20023eb8 .word 0x20023eb8 8065d78: 20020d9e .word 0x20020d9e 8065d7c: 20020dd8 .word 0x20020dd8 8065d80: 20020dcc .word 0x20020dcc 8065d84: 20020dce .word 0x20020dce 8065d88: 20020db4 .word 0x20020db4 8065d8c: 20020db0 .word 0x20020db0 8065d90: 20021d24 .word 0x20021d24 8065d94: 20021d60 .word 0x20021d60 8065d98: 20021d18 .word 0x20021d18 8065d9c: 20021d1c .word 0x20021d1c 8065da0: 20021d28 .word 0x20021d28 8065da4: 20021d48 .word 0x20021d48 8065da8: 20021d64 .word 0x20021d64 8065dac: 20021d68 .word 0x20021d68 8065db0: 20021d34 .word 0x20021d34 8065db4: 20021d30 .word 0x20021d30 8065db8: 20021d20 .word 0x20021d20 8065dbc: 20021d5c .word 0x20021d5c 8065dc0: 20020d9c .word 0x20020d9c 8065dc4: 20020da0 .word 0x20020da0 8065dc8: 20020dd2 .word 0x20020dd2 8065dcc: 20020994 .word 0x20020994 8065dd0: 20020dcd .word 0x20020dcd 8065dd4: 20020da8 .word 0x20020da8 8065dd8: 20020dcf .word 0x20020dcf 8065ddc: 20020fca .word 0x20020fca 08065de0 : void FastCopy16(DMA_DataType Src, DMA_DataType Dst, uint32_t NumHalfWords) { 8065de0: b580 push {r7, lr} 8065de2: b084 sub sp, #16 8065de4: af00 add r7, sp, #0 8065de6: 4603 mov r3, r0 8065de8: 603a str r2, [r7, #0] 8065dea: 71fb strb r3, [r7, #7] 8065dec: 460b mov r3, r1 8065dee: 71bb strb r3, [r7, #6] uint32_t AddrSrc, AddrDst; if(Src == IN_Reg) 8065df0: 79fb ldrb r3, [r7, #7] 8065df2: 2b01 cmp r3, #1 8065df4: d102 bne.n 8065dfc AddrSrc = (uint32_t) In; 8065df6: 4b39 ldr r3, [pc, #228] ; (8065edc ) 8065df8: 60fb str r3, [r7, #12] 8065dfa: e02e b.n 8065e5a else if(Src == OUT_Reg) 8065dfc: 79fb ldrb r3, [r7, #7] 8065dfe: 2b09 cmp r3, #9 8065e00: d102 bne.n 8065e08 AddrSrc = (uint32_t) Out; 8065e02: 4b37 ldr r3, [pc, #220] ; (8065ee0 ) 8065e04: 60fb str r3, [r7, #12] 8065e06: e028 b.n 8065e5a else if(Src == IN16_Reg) 8065e08: 79fb ldrb r3, [r7, #7] 8065e0a: 2b00 cmp r3, #0 8065e0c: d102 bne.n 8065e14 AddrSrc = (uint32_t) In16; 8065e0e: 4b35 ldr r3, [pc, #212] ; (8065ee4 ) 8065e10: 60fb str r3, [r7, #12] 8065e12: e022 b.n 8065e5a else if(Src == MEAN_Reg) 8065e14: 79fb ldrb r3, [r7, #7] 8065e16: 2b03 cmp r3, #3 8065e18: d102 bne.n 8065e20 AddrSrc = (uint32_t) pMeanA_u16; 8065e1a: 4b33 ldr r3, [pc, #204] ; (8065ee8 ) 8065e1c: 60fb str r3, [r7, #12] 8065e1e: e01c b.n 8065e5a else if(Src == SCR_Reg) 8065e20: 79fb ldrb r3, [r7, #7] 8065e22: 2b04 cmp r3, #4 8065e24: d102 bne.n 8065e2c AddrSrc = (uint32_t) pScrA_u16; 8065e26: 4b31 ldr r3, [pc, #196] ; (8065eec ) 8065e28: 60fb str r3, [r7, #12] 8065e2a: e016 b.n 8065e5a else if(Src == CMPLX_A) 8065e2c: 79fb ldrb r3, [r7, #7] 8065e2e: 2b05 cmp r3, #5 8065e30: d102 bne.n 8065e38 AddrSrc = (uint32_t) pCmplxA_u16; 8065e32: 4b2f ldr r3, [pc, #188] ; (8065ef0 ) 8065e34: 60fb str r3, [r7, #12] 8065e36: e010 b.n 8065e5a else if(Src == CMPLX_V) 8065e38: 79fb ldrb r3, [r7, #7] 8065e3a: 2b06 cmp r3, #6 8065e3c: d102 bne.n 8065e44 AddrSrc = (uint32_t) pCmplxA_u16; 8065e3e: 4b2c ldr r3, [pc, #176] ; (8065ef0 ) 8065e40: 60fb str r3, [r7, #12] 8065e42: e00a b.n 8065e5a else if(Src == CMPLX_S) 8065e44: 79fb ldrb r3, [r7, #7] 8065e46: 2b07 cmp r3, #7 8065e48: d102 bne.n 8065e50 AddrSrc = (uint32_t) pCmplxA_u16; 8065e4a: 4b29 ldr r3, [pc, #164] ; (8065ef0 ) 8065e4c: 60fb str r3, [r7, #12] 8065e4e: e004 b.n 8065e5a else if(Src == WAV_SECTOR) 8065e50: 79fb ldrb r3, [r7, #7] 8065e52: 2b08 cmp r3, #8 8065e54: d101 bne.n 8065e5a AddrSrc = (uint32_t) sector; 8065e56: 4b27 ldr r3, [pc, #156] ; (8065ef4 ) 8065e58: 60fb str r3, [r7, #12] if(Dst == IN_Reg) 8065e5a: 79bb ldrb r3, [r7, #6] 8065e5c: 2b01 cmp r3, #1 8065e5e: d102 bne.n 8065e66 AddrDst = (uint32_t) In; 8065e60: 4b1e ldr r3, [pc, #120] ; (8065edc ) 8065e62: 60bb str r3, [r7, #8] 8065e64: e02e b.n 8065ec4 else if(Dst == OUT_Reg) 8065e66: 79bb ldrb r3, [r7, #6] 8065e68: 2b09 cmp r3, #9 8065e6a: d102 bne.n 8065e72 AddrDst = (uint32_t) Out; 8065e6c: 4b1c ldr r3, [pc, #112] ; (8065ee0 ) 8065e6e: 60bb str r3, [r7, #8] 8065e70: e028 b.n 8065ec4 else if(Dst == IN16_Reg) 8065e72: 79bb ldrb r3, [r7, #6] 8065e74: 2b00 cmp r3, #0 8065e76: d102 bne.n 8065e7e AddrDst = (uint32_t) In16; 8065e78: 4b1a ldr r3, [pc, #104] ; (8065ee4 ) 8065e7a: 60bb str r3, [r7, #8] 8065e7c: e022 b.n 8065ec4 else if(Dst == MEAN_Reg) 8065e7e: 79bb ldrb r3, [r7, #6] 8065e80: 2b03 cmp r3, #3 8065e82: d102 bne.n 8065e8a AddrDst = (uint32_t) pMeanA_u16; 8065e84: 4b18 ldr r3, [pc, #96] ; (8065ee8 ) 8065e86: 60bb str r3, [r7, #8] 8065e88: e01c b.n 8065ec4 else if(Dst == SCR_Reg) 8065e8a: 79bb ldrb r3, [r7, #6] 8065e8c: 2b04 cmp r3, #4 8065e8e: d102 bne.n 8065e96 AddrDst = (uint32_t) pScrA_u16; 8065e90: 4b16 ldr r3, [pc, #88] ; (8065eec ) 8065e92: 60bb str r3, [r7, #8] 8065e94: e016 b.n 8065ec4 else if(Dst == CMPLX_A) 8065e96: 79bb ldrb r3, [r7, #6] 8065e98: 2b05 cmp r3, #5 8065e9a: d102 bne.n 8065ea2 AddrDst = (uint32_t) pCmplxA_u16; 8065e9c: 4b14 ldr r3, [pc, #80] ; (8065ef0 ) 8065e9e: 60bb str r3, [r7, #8] 8065ea0: e010 b.n 8065ec4 else if(Dst == CMPLX_V) 8065ea2: 79bb ldrb r3, [r7, #6] 8065ea4: 2b06 cmp r3, #6 8065ea6: d102 bne.n 8065eae AddrDst = (uint32_t) pCmplxA_u16; 8065ea8: 4b11 ldr r3, [pc, #68] ; (8065ef0 ) 8065eaa: 60bb str r3, [r7, #8] 8065eac: e00a b.n 8065ec4 else if(Dst == CMPLX_S) 8065eae: 79bb ldrb r3, [r7, #6] 8065eb0: 2b07 cmp r3, #7 8065eb2: d102 bne.n 8065eba AddrDst = (uint32_t) pCmplxA_u16; 8065eb4: 4b0e ldr r3, [pc, #56] ; (8065ef0 ) 8065eb6: 60bb str r3, [r7, #8] 8065eb8: e004 b.n 8065ec4 else if(Dst == WAV_SECTOR) 8065eba: 79bb ldrb r3, [r7, #6] 8065ebc: 2b08 cmp r3, #8 8065ebe: d101 bne.n 8065ec4 AddrDst = (uint32_t) sector; 8065ec0: 4b0c ldr r3, [pc, #48] ; (8065ef4 ) 8065ec2: 60bb str r3, [r7, #8] #ifdef USE_DMA_MEMCPY DMA_MemToMem_HALFWORD(AddrSrc, AddrDst, NumHalfWords); #else memcpy((void *) AddrDst, (void *) AddrSrc, (NumHalfWords << 1)); 8065ec4: 68b8 ldr r0, [r7, #8] 8065ec6: 68f9 ldr r1, [r7, #12] 8065ec8: 683b ldr r3, [r7, #0] 8065eca: 005b lsls r3, r3, #1 8065ecc: 461a mov r2, r3 8065ece: f06c f85e bl 80d1f8e #endif } 8065ed2: bf00 nop 8065ed4: 3710 adds r7, #16 8065ed6: 46bd mov sp, r7 8065ed8: bd80 pop {r7, pc} 8065eda: bf00 nop 8065edc: 20027a20 .word 0x20027a20 8065ee0: 20008000 .word 0x20008000 8065ee4: 20058080 .word 0x20058080 8065ee8: 640a0000 .word 0x640a0000 8065eec: 64080000 .word 0x64080000 8065ef0: 64090000 .word 0x64090000 8065ef4: 2007c000 .word 0x2007c000 08065ef8 : void ARM_ADD_F32(DMA_DataType A, DMA_DataType B, DMA_DataType Dst, uint32_t BlockSize) { 8065ef8: b580 push {r7, lr} 8065efa: b086 sub sp, #24 8065efc: af00 add r7, sp, #0 8065efe: 603b str r3, [r7, #0] 8065f00: 4603 mov r3, r0 8065f02: 71fb strb r3, [r7, #7] 8065f04: 460b mov r3, r1 8065f06: 71bb strb r3, [r7, #6] 8065f08: 4613 mov r3, r2 8065f0a: 717b strb r3, [r7, #5] float32_t *AddrSrc1; float32_t *AddrSrc2; float32_t *AddrDst; if(A == IN_Reg) 8065f0c: 79fb ldrb r3, [r7, #7] 8065f0e: 2b01 cmp r3, #1 8065f10: d102 bne.n 8065f18 AddrSrc1 = In; 8065f12: 4b38 ldr r3, [pc, #224] ; (8065ff4 ) 8065f14: 617b str r3, [r7, #20] 8065f16: e01c b.n 8065f52 else if(A == MEAN_Reg) 8065f18: 79fb ldrb r3, [r7, #7] 8065f1a: 2b03 cmp r3, #3 8065f1c: d102 bne.n 8065f24 AddrSrc1 = pMeanA_f32; 8065f1e: 4b36 ldr r3, [pc, #216] ; (8065ff8 ) 8065f20: 617b str r3, [r7, #20] 8065f22: e016 b.n 8065f52 else if(A == SCR_Reg) 8065f24: 79fb ldrb r3, [r7, #7] 8065f26: 2b04 cmp r3, #4 8065f28: d102 bne.n 8065f30 AddrSrc1 = pScrA_f32; 8065f2a: 4b34 ldr r3, [pc, #208] ; (8065ffc ) 8065f2c: 617b str r3, [r7, #20] 8065f2e: e010 b.n 8065f52 else if(A == CMPLX_A) 8065f30: 79fb ldrb r3, [r7, #7] 8065f32: 2b05 cmp r3, #5 8065f34: d102 bne.n 8065f3c AddrSrc1 = pCmplxA_f32; 8065f36: 4b32 ldr r3, [pc, #200] ; (8066000 ) 8065f38: 617b str r3, [r7, #20] 8065f3a: e00a b.n 8065f52 else if(A == CMPLX_V) 8065f3c: 79fb ldrb r3, [r7, #7] 8065f3e: 2b06 cmp r3, #6 8065f40: d102 bne.n 8065f48 AddrSrc1 = pCmplxA_f32; 8065f42: 4b2f ldr r3, [pc, #188] ; (8066000 ) 8065f44: 617b str r3, [r7, #20] 8065f46: e004 b.n 8065f52 else if(A == CMPLX_S) 8065f48: 79fb ldrb r3, [r7, #7] 8065f4a: 2b07 cmp r3, #7 8065f4c: d101 bne.n 8065f52 AddrSrc1 = pCmplxA_f32; 8065f4e: 4b2c ldr r3, [pc, #176] ; (8066000 ) 8065f50: 617b str r3, [r7, #20] if(B == IN_Reg) 8065f52: 79bb ldrb r3, [r7, #6] 8065f54: 2b01 cmp r3, #1 8065f56: d102 bne.n 8065f5e AddrSrc2 = In; 8065f58: 4b26 ldr r3, [pc, #152] ; (8065ff4 ) 8065f5a: 613b str r3, [r7, #16] 8065f5c: e01c b.n 8065f98 else if(B == MEAN_Reg) 8065f5e: 79bb ldrb r3, [r7, #6] 8065f60: 2b03 cmp r3, #3 8065f62: d102 bne.n 8065f6a AddrSrc2 = pMeanA_f32; 8065f64: 4b24 ldr r3, [pc, #144] ; (8065ff8 ) 8065f66: 613b str r3, [r7, #16] 8065f68: e016 b.n 8065f98 else if(B == SCR_Reg) 8065f6a: 79bb ldrb r3, [r7, #6] 8065f6c: 2b04 cmp r3, #4 8065f6e: d102 bne.n 8065f76 AddrSrc2 = pScrA_f32; 8065f70: 4b22 ldr r3, [pc, #136] ; (8065ffc ) 8065f72: 613b str r3, [r7, #16] 8065f74: e010 b.n 8065f98 else if(B == CMPLX_A) 8065f76: 79bb ldrb r3, [r7, #6] 8065f78: 2b05 cmp r3, #5 8065f7a: d102 bne.n 8065f82 AddrSrc2 = pCmplxA_f32; 8065f7c: 4b20 ldr r3, [pc, #128] ; (8066000 ) 8065f7e: 613b str r3, [r7, #16] 8065f80: e00a b.n 8065f98 else if(B == CMPLX_V) 8065f82: 79bb ldrb r3, [r7, #6] 8065f84: 2b06 cmp r3, #6 8065f86: d102 bne.n 8065f8e AddrSrc2 = pCmplxA_f32; 8065f88: 4b1d ldr r3, [pc, #116] ; (8066000 ) 8065f8a: 613b str r3, [r7, #16] 8065f8c: e004 b.n 8065f98 else if(B == CMPLX_S) 8065f8e: 79bb ldrb r3, [r7, #6] 8065f90: 2b07 cmp r3, #7 8065f92: d101 bne.n 8065f98 AddrSrc2 = pCmplxA_f32; 8065f94: 4b1a ldr r3, [pc, #104] ; (8066000 ) 8065f96: 613b str r3, [r7, #16] if(Dst == IN_Reg) 8065f98: 797b ldrb r3, [r7, #5] 8065f9a: 2b01 cmp r3, #1 8065f9c: d102 bne.n 8065fa4 AddrDst = In; 8065f9e: 4b15 ldr r3, [pc, #84] ; (8065ff4 ) 8065fa0: 60fb str r3, [r7, #12] 8065fa2: e01c b.n 8065fde else if(Dst == MEAN_Reg) 8065fa4: 797b ldrb r3, [r7, #5] 8065fa6: 2b03 cmp r3, #3 8065fa8: d102 bne.n 8065fb0 AddrDst = pMeanA_f32; 8065faa: 4b13 ldr r3, [pc, #76] ; (8065ff8 ) 8065fac: 60fb str r3, [r7, #12] 8065fae: e016 b.n 8065fde else if(Dst == SCR_Reg) 8065fb0: 797b ldrb r3, [r7, #5] 8065fb2: 2b04 cmp r3, #4 8065fb4: d102 bne.n 8065fbc AddrDst = pScrA_f32; 8065fb6: 4b11 ldr r3, [pc, #68] ; (8065ffc ) 8065fb8: 60fb str r3, [r7, #12] 8065fba: e010 b.n 8065fde else if(Dst == CMPLX_A) 8065fbc: 797b ldrb r3, [r7, #5] 8065fbe: 2b05 cmp r3, #5 8065fc0: d102 bne.n 8065fc8 AddrDst = pCmplxA_f32; 8065fc2: 4b0f ldr r3, [pc, #60] ; (8066000 ) 8065fc4: 60fb str r3, [r7, #12] 8065fc6: e00a b.n 8065fde else if(Dst == CMPLX_V) 8065fc8: 797b ldrb r3, [r7, #5] 8065fca: 2b06 cmp r3, #6 8065fcc: d102 bne.n 8065fd4 AddrDst = pCmplxA_f32; 8065fce: 4b0c ldr r3, [pc, #48] ; (8066000 ) 8065fd0: 60fb str r3, [r7, #12] 8065fd2: e004 b.n 8065fde else if(Dst == CMPLX_S) 8065fd4: 797b ldrb r3, [r7, #5] 8065fd6: 2b07 cmp r3, #7 8065fd8: d101 bne.n 8065fde AddrDst = pCmplxA_f32; 8065fda: 4b09 ldr r3, [pc, #36] ; (8066000 ) 8065fdc: 60fb str r3, [r7, #12] arm_add_f32(AddrSrc1, AddrSrc2, AddrDst, BlockSize); 8065fde: 683b ldr r3, [r7, #0] 8065fe0: 68fa ldr r2, [r7, #12] 8065fe2: 6939 ldr r1, [r7, #16] 8065fe4: 6978 ldr r0, [r7, #20] 8065fe6: f069 fbf1 bl 80cf7cc } 8065fea: bf00 nop 8065fec: 3718 adds r7, #24 8065fee: 46bd mov sp, r7 8065ff0: bd80 pop {r7, pc} 8065ff2: bf00 nop 8065ff4: 20027a20 .word 0x20027a20 8065ff8: 640a0000 .word 0x640a0000 8065ffc: 64080000 .word 0x64080000 8066000: 64090000 .word 0x64090000 08066004 : void ARM_SCALE_F32(DMA_DataType Src, float32_t Scale, DMA_DataType Dst, uint32_t BlockSize) { 8066004: b580 push {r7, lr} 8066006: b086 sub sp, #24 8066008: af00 add r7, sp, #0 806600a: 4603 mov r3, r0 806600c: ed87 0a02 vstr s0, [r7, #8] 8066010: 607a str r2, [r7, #4] 8066012: 73fb strb r3, [r7, #15] 8066014: 460b mov r3, r1 8066016: 73bb strb r3, [r7, #14] float32_t *AddrSrc; float32_t *AddrDst; if(Src == IN_Reg) 8066018: 7bfb ldrb r3, [r7, #15] 806601a: 2b01 cmp r3, #1 806601c: d102 bne.n 8066024 AddrSrc = In; 806601e: 4b27 ldr r3, [pc, #156] ; (80660bc ) 8066020: 617b str r3, [r7, #20] 8066022: e01c b.n 806605e else if(Src == MEAN_Reg) 8066024: 7bfb ldrb r3, [r7, #15] 8066026: 2b03 cmp r3, #3 8066028: d102 bne.n 8066030 AddrSrc = pMeanA_f32; 806602a: 4b25 ldr r3, [pc, #148] ; (80660c0 ) 806602c: 617b str r3, [r7, #20] 806602e: e016 b.n 806605e else if(Src == SCR_Reg) 8066030: 7bfb ldrb r3, [r7, #15] 8066032: 2b04 cmp r3, #4 8066034: d102 bne.n 806603c AddrSrc = pScrA_f32; 8066036: 4b23 ldr r3, [pc, #140] ; (80660c4 ) 8066038: 617b str r3, [r7, #20] 806603a: e010 b.n 806605e else if(Src == CMPLX_A) 806603c: 7bfb ldrb r3, [r7, #15] 806603e: 2b05 cmp r3, #5 8066040: d102 bne.n 8066048 AddrSrc = pCmplxA_f32; 8066042: 4b21 ldr r3, [pc, #132] ; (80660c8 ) 8066044: 617b str r3, [r7, #20] 8066046: e00a b.n 806605e else if(Src == CMPLX_V) 8066048: 7bfb ldrb r3, [r7, #15] 806604a: 2b06 cmp r3, #6 806604c: d102 bne.n 8066054 AddrSrc = pCmplxA_f32; 806604e: 4b1e ldr r3, [pc, #120] ; (80660c8 ) 8066050: 617b str r3, [r7, #20] 8066052: e004 b.n 806605e else if(Src == CMPLX_S) 8066054: 7bfb ldrb r3, [r7, #15] 8066056: 2b07 cmp r3, #7 8066058: d101 bne.n 806605e AddrSrc = pCmplxA_f32; 806605a: 4b1b ldr r3, [pc, #108] ; (80660c8 ) 806605c: 617b str r3, [r7, #20] if(Dst == IN_Reg) 806605e: 7bbb ldrb r3, [r7, #14] 8066060: 2b01 cmp r3, #1 8066062: d102 bne.n 806606a AddrDst = In; 8066064: 4b15 ldr r3, [pc, #84] ; (80660bc ) 8066066: 613b str r3, [r7, #16] 8066068: e01c b.n 80660a4 else if(Dst == MEAN_Reg) 806606a: 7bbb ldrb r3, [r7, #14] 806606c: 2b03 cmp r3, #3 806606e: d102 bne.n 8066076 AddrDst = pMeanA_f32; 8066070: 4b13 ldr r3, [pc, #76] ; (80660c0 ) 8066072: 613b str r3, [r7, #16] 8066074: e016 b.n 80660a4 else if(Dst == SCR_Reg) 8066076: 7bbb ldrb r3, [r7, #14] 8066078: 2b04 cmp r3, #4 806607a: d102 bne.n 8066082 AddrDst = pScrA_f32; 806607c: 4b11 ldr r3, [pc, #68] ; (80660c4 ) 806607e: 613b str r3, [r7, #16] 8066080: e010 b.n 80660a4 else if(Dst == CMPLX_A) 8066082: 7bbb ldrb r3, [r7, #14] 8066084: 2b05 cmp r3, #5 8066086: d102 bne.n 806608e AddrDst = pCmplxA_f32; 8066088: 4b0f ldr r3, [pc, #60] ; (80660c8 ) 806608a: 613b str r3, [r7, #16] 806608c: e00a b.n 80660a4 else if(Dst == CMPLX_V) 806608e: 7bbb ldrb r3, [r7, #14] 8066090: 2b06 cmp r3, #6 8066092: d102 bne.n 806609a AddrDst = pCmplxA_f32; 8066094: 4b0c ldr r3, [pc, #48] ; (80660c8 ) 8066096: 613b str r3, [r7, #16] 8066098: e004 b.n 80660a4 else if(Dst == CMPLX_S) 806609a: 7bbb ldrb r3, [r7, #14] 806609c: 2b07 cmp r3, #7 806609e: d101 bne.n 80660a4 AddrDst = pCmplxA_f32; 80660a0: 4b09 ldr r3, [pc, #36] ; (80660c8 ) 80660a2: 613b str r3, [r7, #16] arm_scale_f32(AddrSrc, Scale, AddrDst, BlockSize); 80660a4: 687a ldr r2, [r7, #4] 80660a6: 6939 ldr r1, [r7, #16] 80660a8: ed97 0a02 vldr s0, [r7, #8] 80660ac: 6978 ldr r0, [r7, #20] 80660ae: f069 fadb bl 80cf668 } 80660b2: bf00 nop 80660b4: 3718 adds r7, #24 80660b6: 46bd mov sp, r7 80660b8: bd80 pop {r7, pc} 80660ba: bf00 nop 80660bc: 20027a20 .word 0x20027a20 80660c0: 640a0000 .word 0x640a0000 80660c4: 64080000 .word 0x64080000 80660c8: 64090000 .word 0x64090000 080660cc : void GetData(void) { 80660cc: b580 push {r7, lr} 80660ce: b082 sub sp, #8 80660d0: af00 add r7, sp, #0 volatile uint16_t n; volatile uint16_t BlockSize; ADC_POINT = lastcntmeas; 80660d2: 4b3b ldr r3, [pc, #236] ; (80661c0 ) 80660d4: 881b ldrh r3, [r3, #0] 80660d6: b29a uxth r2, r3 80660d8: 4b3a ldr r3, [pc, #232] ; (80661c4 ) 80660da: 801a strh r2, [r3, #0] TIMEOUT_OFF = min15; 80660dc: 4b3a ldr r3, [pc, #232] ; (80661c8 ) 80660de: f44f 12e1 mov.w r2, #1843200 ; 0x1c2000 80660e2: 601a str r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80660e4: 4b39 ldr r3, [pc, #228] ; (80661cc ) 80660e6: f44f 42a0 mov.w r2, #20480 ; 0x5000 80660ea: 601a str r2, [r3, #0] if(pardata.SYG == UDAR) 80660ec: 4b38 ldr r3, [pc, #224] ; (80661d0 ) 80660ee: 781b ldrb r3, [r3, #0] 80660f0: b2db uxtb r3, r3 80660f2: 2b09 cmp r3, #9 80660f4: d112 bne.n 806611c { if(READY == 1) 80660f6: 4b37 ldr r3, [pc, #220] ; (80661d4 ) 80660f8: 781b ldrb r3, [r3, #0] 80660fa: b2db uxtb r3, r3 80660fc: 2b01 cmp r3, #1 80660fe: d106 bne.n 806610e memcpy((void *) In16, (void *) &AdcBuff_16(0), 32768); 8066100: f44f 4200 mov.w r2, #32768 ; 0x8000 8066104: 4934 ldr r1, [pc, #208] ; (80661d8 ) 8066106: 4835 ldr r0, [pc, #212] ; (80661dc ) 8066108: f06b ff41 bl 80d1f8e memcpy((void *) &In16[n].lg, (void *) &AdcBuff(0), (ADC_POINT << 2)); #endif /**/ } } } 806610c: e053 b.n 80661b6 else memcpy((void *) In16, (void *) &AdcBuff_16(HALF_UDAR_BUFF), 32768); 806610e: f44f 4200 mov.w r2, #32768 ; 0x8000 8066112: 4933 ldr r1, [pc, #204] ; (80661e0 ) 8066114: 4831 ldr r0, [pc, #196] ; (80661dc ) 8066116: f06b ff3a bl 80d1f8e } 806611a: e04c b.n 80661b6 if(pardata.SYG == WAVE) 806611c: 4b2c ldr r3, [pc, #176] ; (80661d0 ) 806611e: 781b ldrb r3, [r3, #0] 8066120: b2db uxtb r3, r3 8066122: 2b04 cmp r3, #4 8066124: d104 bne.n 8066130 BlockSize = measlen; 8066126: 4b2f ldr r3, [pc, #188] ; (80661e4 ) 8066128: 881b ldrh r3, [r3, #0] 806612a: b29b uxth r3, r3 806612c: 80bb strh r3, [r7, #4] 806612e: e003 b.n 8066138 BlockSize = Ns; 8066130: 4b2d ldr r3, [pc, #180] ; (80661e8 ) 8066132: 681b ldr r3, [r3, #0] 8066134: b29b uxth r3, r3 8066136: 80bb strh r3, [r7, #4] if(ADC_POINT >= BlockSize) 8066138: 4b22 ldr r3, [pc, #136] ; (80661c4 ) 806613a: 881b ldrh r3, [r3, #0] 806613c: b29a uxth r2, r3 806613e: 88bb ldrh r3, [r7, #4] 8066140: b29b uxth r3, r3 8066142: 429a cmp r2, r3 8066144: d313 bcc.n 806616e memcpy((void *) In16, (void *) &AdcBuff(ADC_POINT - BlockSize), (BlockSize << 2)); 8066146: 4b1f ldr r3, [pc, #124] ; (80661c4 ) 8066148: 881b ldrh r3, [r3, #0] 806614a: b29b uxth r3, r3 806614c: 461a mov r2, r3 806614e: 88bb ldrh r3, [r7, #4] 8066150: b29b uxth r3, r3 8066152: 1ad3 subs r3, r2, r3 8066154: 009b lsls r3, r3, #2 8066156: 461a mov r2, r3 8066158: 4b1f ldr r3, [pc, #124] ; (80661d8 ) 806615a: 4413 add r3, r2 806615c: 4619 mov r1, r3 806615e: 88bb ldrh r3, [r7, #4] 8066160: b29b uxth r3, r3 8066162: 009b lsls r3, r3, #2 8066164: 461a mov r2, r3 8066166: 481d ldr r0, [pc, #116] ; (80661dc ) 8066168: f06b ff11 bl 80d1f8e } 806616c: e023 b.n 80661b6 n = (BlockSize - ADC_POINT); 806616e: 88bb ldrh r3, [r7, #4] 8066170: b29a uxth r2, r3 8066172: 4b14 ldr r3, [pc, #80] ; (80661c4 ) 8066174: 881b ldrh r3, [r3, #0] 8066176: b29b uxth r3, r3 8066178: 1ad3 subs r3, r2, r3 806617a: b29b uxth r3, r3 806617c: 80fb strh r3, [r7, #6] memcpy((void *) In16, (void *) &AdcBuff(SIZE_ADC_BUFF - n), (n << 2)); 806617e: 88fb ldrh r3, [r7, #6] 8066180: b29b uxth r3, r3 8066182: f5c3 4300 rsb r3, r3, #32768 ; 0x8000 8066186: 009a lsls r2, r3, #2 8066188: 4b13 ldr r3, [pc, #76] ; (80661d8 ) 806618a: 4413 add r3, r2 806618c: 4619 mov r1, r3 806618e: 88fb ldrh r3, [r7, #6] 8066190: b29b uxth r3, r3 8066192: 009b lsls r3, r3, #2 8066194: 461a mov r2, r3 8066196: 4811 ldr r0, [pc, #68] ; (80661dc ) 8066198: f06b fef9 bl 80d1f8e memcpy((void *) &In16[n].lg, (void *) &AdcBuff(0), (ADC_POINT << 2)); 806619c: 88fb ldrh r3, [r7, #6] 806619e: b29b uxth r3, r3 80661a0: 009b lsls r3, r3, #2 80661a2: 4a0e ldr r2, [pc, #56] ; (80661dc ) 80661a4: 1898 adds r0, r3, r2 80661a6: 4b07 ldr r3, [pc, #28] ; (80661c4 ) 80661a8: 881b ldrh r3, [r3, #0] 80661aa: b29b uxth r3, r3 80661ac: 009b lsls r3, r3, #2 80661ae: 461a mov r2, r3 80661b0: 4909 ldr r1, [pc, #36] ; (80661d8 ) 80661b2: f06b feec bl 80d1f8e } 80661b6: bf00 nop 80661b8: 3708 adds r7, #8 80661ba: 46bd mov sp, r7 80661bc: bd80 pop {r7, pc} 80661be: bf00 nop 80661c0: 20020da4 .word 0x20020da4 80661c4: 20021658 .word 0x20021658 80661c8: 200209cc .word 0x200209cc 80661cc: 200209d0 .word 0x200209d0 80661d0: 20023eb8 .word 0x20023eb8 80661d4: 20020d9f .word 0x20020d9f 80661d8: 64060000 .word 0x64060000 80661dc: 20058080 .word 0x20058080 80661e0: 64068000 .word 0x64068000 80661e4: 20020dac .word 0x20020dac 80661e8: 20021d2c .word 0x20021d2c 080661ec : void WindowFunc(uint8_t Window, uint16_t Samples) { 80661ec: b580 push {r7, lr} 80661ee: b08e sub sp, #56 ; 0x38 80661f0: af00 add r7, sp, #0 80661f2: 4603 mov r3, r0 80661f4: 460a mov r2, r1 80661f6: 71fb strb r3, [r7, #7] 80661f8: 4613 mov r3, r2 80661fa: 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; 80661fc: 88bb ldrh r3, [r7, #4] 80661fe: ee07 3a90 vmov s15, r3 8066202: eeb8 7a67 vcvt.f32.u32 s14, s15 8066206: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 806620a: eec6 7a87 vdiv.f32 s15, s13, s14 806620e: edc7 7a0c vstr s15, [r7, #48] ; 0x30 switch(Window) 8066212: 79fb ldrb r3, [r7, #7] 8066214: 3b01 subs r3, #1 8066216: 2b04 cmp r3, #4 8066218: f200 82d4 bhi.w 80667c4 806621c: a201 add r2, pc, #4 ; (adr r2, 8066224 ) 806621e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8066222: bf00 nop 8066224: 08066239 .word 0x08066239 8066228: 080662e1 .word 0x080662e1 806622c: 08066405 .word 0x08066405 8066230: 080665c5 .word 0x080665c5 8066234: 0806666f .word 0x0806666f { case HANN: for(i = 0; i < Samples; i++) 8066238: 2300 movs r3, #0 806623a: 86fb strh r3, [r7, #54] ; 0x36 806623c: e04b b.n 80662d6 { //*******Îêîííîå ïðåîáðàçîâàíèå Õàííà tmp0 = _2PI; tmp1 = (float32_t)i; 806623e: 4bd7 ldr r3, [pc, #860] ; (806659c ) 8066240: 613b str r3, [r7, #16] 8066242: 8efb ldrh r3, [r7, #54] ; 0x36 8066244: ee07 3a90 vmov s15, r3 8066248: eef8 7a67 vcvt.f32.u32 s15, s15 806624c: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8066250: f107 0210 add.w r2, r7, #16 8066254: f107 010c add.w r1, r7, #12 8066258: f107 0010 add.w r0, r7, #16 806625c: 2301 movs r3, #1 806625e: f069 fa6f bl 80cf740 tmp1 = _Samples; 8066262: 6b3b ldr r3, [r7, #48] ; 0x30 8066264: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8066266: f107 0210 add.w r2, r7, #16 806626a: f107 010c add.w r1, r7, #12 806626e: f107 0010 add.w r0, r7, #16 8066272: 2301 movs r3, #1 8066274: f069 fa64 bl 80cf740 tmp0 = arm_cos_f32(tmp0); 8066278: edd7 7a04 vldr s15, [r7, #16] 806627c: eeb0 0a67 vmov.f32 s0, s15 8066280: f050 fd72 bl 80b6d68 8066284: eef0 7a40 vmov.f32 s15, s0 8066288: edc7 7a04 vstr s15, [r7, #16] tmp1 = 0.5; 806628c: f04f 537c mov.w r3, #1056964608 ; 0x3f000000 8066290: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8066292: f107 0210 add.w r2, r7, #16 8066296: f107 010c add.w r1, r7, #12 806629a: f107 0010 add.w r0, r7, #16 806629e: 2301 movs r3, #1 80662a0: f069 fa4e bl 80cf740 arm_sub_f32(&tmp1, &tmp0, &tmp0, 1); 80662a4: f107 0210 add.w r2, r7, #16 80662a8: f107 0110 add.w r1, r7, #16 80662ac: f107 000c add.w r0, r7, #12 80662b0: 2301 movs r3, #1 80662b2: f069 f993 bl 80cf5dc arm_mult_f32(&tmp0, &Out[i], &Out[i], 1); 80662b6: 8efb ldrh r3, [r7, #54] ; 0x36 80662b8: 009b lsls r3, r3, #2 80662ba: 4ab9 ldr r2, [pc, #740] ; (80665a0 ) 80662bc: 1899 adds r1, r3, r2 80662be: 8efb ldrh r3, [r7, #54] ; 0x36 80662c0: 009b lsls r3, r3, #2 80662c2: 4ab7 ldr r2, [pc, #732] ; (80665a0 ) 80662c4: 441a add r2, r3 80662c6: f107 0010 add.w r0, r7, #16 80662ca: 2301 movs r3, #1 80662cc: f069 fa38 bl 80cf740 for(i = 0; i < Samples; i++) 80662d0: 8efb ldrh r3, [r7, #54] ; 0x36 80662d2: 3301 adds r3, #1 80662d4: 86fb strh r3, [r7, #54] ; 0x36 80662d6: 8efa ldrh r2, [r7, #54] ; 0x36 80662d8: 88bb ldrh r3, [r7, #4] 80662da: 429a cmp r2, r3 80662dc: d3af bcc.n 806623e } break; 80662de: e271 b.n 80667c4 case BLACK: for(i = 0; i < Samples; i++) 80662e0: 2300 movs r3, #0 80662e2: 86fb strh r3, [r7, #54] ; 0x36 80662e4: e088 b.n 80663f8 { a0 = 0.42; 80662e6: 4baf ldr r3, [pc, #700] ; (80665a4 ) 80662e8: 623b str r3, [r7, #32] tmp0 = _2PI; tmp1 = (float32_t)i; 80662ea: 4bac ldr r3, [pc, #688] ; (806659c ) 80662ec: 613b str r3, [r7, #16] 80662ee: 8efb ldrh r3, [r7, #54] ; 0x36 80662f0: ee07 3a90 vmov s15, r3 80662f4: eef8 7a67 vcvt.f32.u32 s15, s15 80662f8: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80662fc: f107 0210 add.w r2, r7, #16 8066300: f107 010c add.w r1, r7, #12 8066304: f107 0010 add.w r0, r7, #16 8066308: 2301 movs r3, #1 806630a: f069 fa19 bl 80cf740 tmp1 = _Samples; 806630e: 6b3b ldr r3, [r7, #48] ; 0x30 8066310: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8066312: f107 0210 add.w r2, r7, #16 8066316: f107 010c add.w r1, r7, #12 806631a: f107 0010 add.w r0, r7, #16 806631e: 2301 movs r3, #1 8066320: f069 fa0e bl 80cf740 tmp0 = arm_cos_f32(tmp0); 8066324: edd7 7a04 vldr s15, [r7, #16] 8066328: eeb0 0a67 vmov.f32 s0, s15 806632c: f050 fd1c bl 80b6d68 8066330: eef0 7a40 vmov.f32 s15, s0 8066334: edc7 7a04 vstr s15, [r7, #16] a1 = 0.5; 8066338: f04f 537c mov.w r3, #1056964608 ; 0x3f000000 806633c: 61fb str r3, [r7, #28] arm_mult_f32(&a1, &tmp0, &a1, 1); 806633e: f107 021c add.w r2, r7, #28 8066342: f107 0110 add.w r1, r7, #16 8066346: f107 001c add.w r0, r7, #28 806634a: 2301 movs r3, #1 806634c: f069 f9f8 bl 80cf740 tmp0 = _4PI; tmp1 = (float32_t)i; 8066350: 4b95 ldr r3, [pc, #596] ; (80665a8 ) 8066352: 613b str r3, [r7, #16] 8066354: 8efb ldrh r3, [r7, #54] ; 0x36 8066356: ee07 3a90 vmov s15, r3 806635a: eef8 7a67 vcvt.f32.u32 s15, s15 806635e: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8066362: f107 0210 add.w r2, r7, #16 8066366: f107 010c add.w r1, r7, #12 806636a: f107 0010 add.w r0, r7, #16 806636e: 2301 movs r3, #1 8066370: f069 f9e6 bl 80cf740 tmp1 = _Samples; 8066374: 6b3b ldr r3, [r7, #48] ; 0x30 8066376: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8066378: f107 0210 add.w r2, r7, #16 806637c: f107 010c add.w r1, r7, #12 8066380: f107 0010 add.w r0, r7, #16 8066384: 2301 movs r3, #1 8066386: f069 f9db bl 80cf740 tmp0 = arm_cos_f32(tmp0); 806638a: edd7 7a04 vldr s15, [r7, #16] 806638e: eeb0 0a67 vmov.f32 s0, s15 8066392: f050 fce9 bl 80b6d68 8066396: eef0 7a40 vmov.f32 s15, s0 806639a: edc7 7a04 vstr s15, [r7, #16] a2 = 0.08; 806639e: 4b83 ldr r3, [pc, #524] ; (80665ac ) 80663a0: 61bb str r3, [r7, #24] arm_mult_f32(&a2, &tmp0, &a2, 1); 80663a2: f107 0218 add.w r2, r7, #24 80663a6: f107 0110 add.w r1, r7, #16 80663aa: f107 0018 add.w r0, r7, #24 80663ae: 2301 movs r3, #1 80663b0: f069 f9c6 bl 80cf740 arm_sub_f32(&a0, &a1, &tmp0, 1); 80663b4: f107 0210 add.w r2, r7, #16 80663b8: f107 011c add.w r1, r7, #28 80663bc: f107 0020 add.w r0, r7, #32 80663c0: 2301 movs r3, #1 80663c2: f069 f90b bl 80cf5dc arm_add_f32(&tmp0, &a2, &tmp0, 1); 80663c6: f107 0210 add.w r2, r7, #16 80663ca: f107 0118 add.w r1, r7, #24 80663ce: f107 0010 add.w r0, r7, #16 80663d2: 2301 movs r3, #1 80663d4: f069 f9fa bl 80cf7cc arm_mult_f32(&tmp0, &Out[i], &Out[i], 1); 80663d8: 8efb ldrh r3, [r7, #54] ; 0x36 80663da: 009b lsls r3, r3, #2 80663dc: 4a70 ldr r2, [pc, #448] ; (80665a0 ) 80663de: 1899 adds r1, r3, r2 80663e0: 8efb ldrh r3, [r7, #54] ; 0x36 80663e2: 009b lsls r3, r3, #2 80663e4: 4a6e ldr r2, [pc, #440] ; (80665a0 ) 80663e6: 441a add r2, r3 80663e8: f107 0010 add.w r0, r7, #16 80663ec: 2301 movs r3, #1 80663ee: f069 f9a7 bl 80cf740 for(i = 0; i < Samples; i++) 80663f2: 8efb ldrh r3, [r7, #54] ; 0x36 80663f4: 3301 adds r3, #1 80663f6: 86fb strh r3, [r7, #54] ; 0x36 80663f8: 8efa ldrh r2, [r7, #54] ; 0x36 80663fa: 88bb ldrh r3, [r7, #4] 80663fc: 429a cmp r2, r3 80663fe: f4ff af72 bcc.w 80662e6 } break; 8066402: e1df b.n 80667c4 case BLACK_NAT: for(i = 0; i < Samples; i++) 8066404: 2300 movs r3, #0 8066406: 86fb strh r3, [r7, #54] ; 0x36 8066408: e0c2 b.n 8066590 { a0 = 0.3635819; 806640a: 4b69 ldr r3, [pc, #420] ; (80665b0 ) 806640c: 623b str r3, [r7, #32] tmp0 = _2PI; tmp1 = (float32_t)i; 806640e: 4b63 ldr r3, [pc, #396] ; (806659c ) 8066410: 613b str r3, [r7, #16] 8066412: 8efb ldrh r3, [r7, #54] ; 0x36 8066414: ee07 3a90 vmov s15, r3 8066418: eef8 7a67 vcvt.f32.u32 s15, s15 806641c: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8066420: f107 0210 add.w r2, r7, #16 8066424: f107 010c add.w r1, r7, #12 8066428: f107 0010 add.w r0, r7, #16 806642c: 2301 movs r3, #1 806642e: f069 f987 bl 80cf740 tmp1 = _Samples; 8066432: 6b3b ldr r3, [r7, #48] ; 0x30 8066434: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8066436: f107 0210 add.w r2, r7, #16 806643a: f107 010c add.w r1, r7, #12 806643e: f107 0010 add.w r0, r7, #16 8066442: 2301 movs r3, #1 8066444: f069 f97c bl 80cf740 tmp0 = arm_cos_f32(tmp0); 8066448: edd7 7a04 vldr s15, [r7, #16] 806644c: eeb0 0a67 vmov.f32 s0, s15 8066450: f050 fc8a bl 80b6d68 8066454: eef0 7a40 vmov.f32 s15, s0 8066458: edc7 7a04 vstr s15, [r7, #16] a1 = 0.4891775; 806645c: 4b55 ldr r3, [pc, #340] ; (80665b4 ) 806645e: 61fb str r3, [r7, #28] arm_mult_f32(&a1, &tmp0, &a1, 1); 8066460: f107 021c add.w r2, r7, #28 8066464: f107 0110 add.w r1, r7, #16 8066468: f107 001c add.w r0, r7, #28 806646c: 2301 movs r3, #1 806646e: f069 f967 bl 80cf740 tmp0 = _4PI; tmp1 = (float32_t)i; 8066472: 4b4d ldr r3, [pc, #308] ; (80665a8 ) 8066474: 613b str r3, [r7, #16] 8066476: 8efb ldrh r3, [r7, #54] ; 0x36 8066478: ee07 3a90 vmov s15, r3 806647c: eef8 7a67 vcvt.f32.u32 s15, s15 8066480: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8066484: f107 0210 add.w r2, r7, #16 8066488: f107 010c add.w r1, r7, #12 806648c: f107 0010 add.w r0, r7, #16 8066490: 2301 movs r3, #1 8066492: f069 f955 bl 80cf740 tmp1 = _Samples; 8066496: 6b3b ldr r3, [r7, #48] ; 0x30 8066498: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 806649a: f107 0210 add.w r2, r7, #16 806649e: f107 010c add.w r1, r7, #12 80664a2: f107 0010 add.w r0, r7, #16 80664a6: 2301 movs r3, #1 80664a8: f069 f94a bl 80cf740 tmp0 = arm_cos_f32(tmp0); 80664ac: edd7 7a04 vldr s15, [r7, #16] 80664b0: eeb0 0a67 vmov.f32 s0, s15 80664b4: f050 fc58 bl 80b6d68 80664b8: eef0 7a40 vmov.f32 s15, s0 80664bc: edc7 7a04 vstr s15, [r7, #16] a2 = 0.1365995; 80664c0: 4b3d ldr r3, [pc, #244] ; (80665b8 ) 80664c2: 61bb str r3, [r7, #24] arm_mult_f32(&a2, &tmp0, &a2, 1); 80664c4: f107 0218 add.w r2, r7, #24 80664c8: f107 0110 add.w r1, r7, #16 80664cc: f107 0018 add.w r0, r7, #24 80664d0: 2301 movs r3, #1 80664d2: f069 f935 bl 80cf740 tmp0 = _6PI; tmp1 = (float32_t)i; 80664d6: 4b39 ldr r3, [pc, #228] ; (80665bc ) 80664d8: 613b str r3, [r7, #16] 80664da: 8efb ldrh r3, [r7, #54] ; 0x36 80664dc: ee07 3a90 vmov s15, r3 80664e0: eef8 7a67 vcvt.f32.u32 s15, s15 80664e4: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80664e8: f107 0210 add.w r2, r7, #16 80664ec: f107 010c add.w r1, r7, #12 80664f0: f107 0010 add.w r0, r7, #16 80664f4: 2301 movs r3, #1 80664f6: f069 f923 bl 80cf740 tmp1 = _Samples; 80664fa: 6b3b ldr r3, [r7, #48] ; 0x30 80664fc: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80664fe: f107 0210 add.w r2, r7, #16 8066502: f107 010c add.w r1, r7, #12 8066506: f107 0010 add.w r0, r7, #16 806650a: 2301 movs r3, #1 806650c: f069 f918 bl 80cf740 tmp0 = arm_cos_f32(tmp0); 8066510: edd7 7a04 vldr s15, [r7, #16] 8066514: eeb0 0a67 vmov.f32 s0, s15 8066518: f050 fc26 bl 80b6d68 806651c: eef0 7a40 vmov.f32 s15, s0 8066520: edc7 7a04 vstr s15, [r7, #16] a3 = 0.0106411; 8066524: 4b26 ldr r3, [pc, #152] ; (80665c0 ) 8066526: 617b str r3, [r7, #20] arm_mult_f32(&a3, &tmp0, &a3, 1); 8066528: f107 0214 add.w r2, r7, #20 806652c: f107 0110 add.w r1, r7, #16 8066530: f107 0014 add.w r0, r7, #20 8066534: 2301 movs r3, #1 8066536: f069 f903 bl 80cf740 arm_sub_f32(&a0, &a1, &tmp0, 1); 806653a: f107 0210 add.w r2, r7, #16 806653e: f107 011c add.w r1, r7, #28 8066542: f107 0020 add.w r0, r7, #32 8066546: 2301 movs r3, #1 8066548: f069 f848 bl 80cf5dc arm_add_f32(&tmp0, &a2, &tmp0, 1); 806654c: f107 0210 add.w r2, r7, #16 8066550: f107 0118 add.w r1, r7, #24 8066554: f107 0010 add.w r0, r7, #16 8066558: 2301 movs r3, #1 806655a: f069 f937 bl 80cf7cc arm_sub_f32(&tmp0, &a3, &tmp0, 1); 806655e: f107 0210 add.w r2, r7, #16 8066562: f107 0114 add.w r1, r7, #20 8066566: f107 0010 add.w r0, r7, #16 806656a: 2301 movs r3, #1 806656c: f069 f836 bl 80cf5dc arm_mult_f32(&tmp0, &Out[i], &Out[i], 1); 8066570: 8efb ldrh r3, [r7, #54] ; 0x36 8066572: 009b lsls r3, r3, #2 8066574: 4a0a ldr r2, [pc, #40] ; (80665a0 ) 8066576: 1899 adds r1, r3, r2 8066578: 8efb ldrh r3, [r7, #54] ; 0x36 806657a: 009b lsls r3, r3, #2 806657c: 4a08 ldr r2, [pc, #32] ; (80665a0 ) 806657e: 441a add r2, r3 8066580: f107 0010 add.w r0, r7, #16 8066584: 2301 movs r3, #1 8066586: f069 f8db bl 80cf740 for(i = 0; i < Samples; i++) 806658a: 8efb ldrh r3, [r7, #54] ; 0x36 806658c: 3301 adds r3, #1 806658e: 86fb strh r3, [r7, #54] ; 0x36 8066590: 8efa ldrh r2, [r7, #54] ; 0x36 8066592: 88bb ldrh r3, [r7, #4] 8066594: 429a cmp r2, r3 8066596: f4ff af38 bcc.w 806640a } break; 806659a: e113 b.n 80667c4 806659c: 40c90fdb .word 0x40c90fdb 80665a0: 20008000 .word 0x20008000 80665a4: 3ed70a3d .word 0x3ed70a3d 80665a8: 41490fdb .word 0x41490fdb 80665ac: 3da3d70a .word 0x3da3d70a 80665b0: 3eba2768 .word 0x3eba2768 80665b4: 3efa7579 .word 0x3efa7579 80665b8: 3e0be0bd .word 0x3e0be0bd 80665bc: 4196cbe4 .word 0x4196cbe4 80665c0: 3c2e5802 .word 0x3c2e5802 case HAMMING: for(i = 0; i < Samples; i++) 80665c4: 2300 movs r3, #0 80665c6: 86fb strh r3, [r7, #54] ; 0x36 80665c8: e04c b.n 8066664 { //*******Îêîííîå ïðåîáðàçîâàíèå Õàííà tmp0 = _2PI; tmp1 = (float32_t)i; 80665ca: 4b80 ldr r3, [pc, #512] ; (80667cc ) 80665cc: 613b str r3, [r7, #16] 80665ce: 8efb ldrh r3, [r7, #54] ; 0x36 80665d0: ee07 3a90 vmov s15, r3 80665d4: eef8 7a67 vcvt.f32.u32 s15, s15 80665d8: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80665dc: f107 0210 add.w r2, r7, #16 80665e0: f107 010c add.w r1, r7, #12 80665e4: f107 0010 add.w r0, r7, #16 80665e8: 2301 movs r3, #1 80665ea: f069 f8a9 bl 80cf740 tmp1 = _Samples; 80665ee: 6b3b ldr r3, [r7, #48] ; 0x30 80665f0: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80665f2: f107 0210 add.w r2, r7, #16 80665f6: f107 010c add.w r1, r7, #12 80665fa: f107 0010 add.w r0, r7, #16 80665fe: 2301 movs r3, #1 8066600: f069 f89e bl 80cf740 tmp0 = arm_cos_f32(tmp0); 8066604: edd7 7a04 vldr s15, [r7, #16] 8066608: eeb0 0a67 vmov.f32 s0, s15 806660c: f050 fbac bl 80b6d68 8066610: eef0 7a40 vmov.f32 s15, s0 8066614: edc7 7a04 vstr s15, [r7, #16] a1 = 0.46; 8066618: 4b6d ldr r3, [pc, #436] ; (80667d0 ) 806661a: 61fb str r3, [r7, #28] arm_mult_f32(&tmp0, &a1, &tmp0, 1); 806661c: f107 0210 add.w r2, r7, #16 8066620: f107 011c add.w r1, r7, #28 8066624: f107 0010 add.w r0, r7, #16 8066628: 2301 movs r3, #1 806662a: f069 f889 bl 80cf740 a0 = 0.54; 806662e: 4b69 ldr r3, [pc, #420] ; (80667d4 ) 8066630: 623b str r3, [r7, #32] arm_sub_f32(&a0, &tmp0, &tmp0, 1); 8066632: f107 0210 add.w r2, r7, #16 8066636: f107 0110 add.w r1, r7, #16 806663a: f107 0020 add.w r0, r7, #32 806663e: 2301 movs r3, #1 8066640: f068 ffcc bl 80cf5dc arm_mult_f32(&tmp0, &Out[i], &Out[i], 1); 8066644: 8efb ldrh r3, [r7, #54] ; 0x36 8066646: 009b lsls r3, r3, #2 8066648: 4a63 ldr r2, [pc, #396] ; (80667d8 ) 806664a: 1899 adds r1, r3, r2 806664c: 8efb ldrh r3, [r7, #54] ; 0x36 806664e: 009b lsls r3, r3, #2 8066650: 4a61 ldr r2, [pc, #388] ; (80667d8 ) 8066652: 441a add r2, r3 8066654: f107 0010 add.w r0, r7, #16 8066658: 2301 movs r3, #1 806665a: f069 f871 bl 80cf740 for(i = 0; i < Samples; i++) 806665e: 8efb ldrh r3, [r7, #54] ; 0x36 8066660: 3301 adds r3, #1 8066662: 86fb strh r3, [r7, #54] ; 0x36 8066664: 8efa ldrh r2, [r7, #54] ; 0x36 8066666: 88bb ldrh r3, [r7, #4] 8066668: 429a cmp r2, r3 806666a: d3ae bcc.n 80665ca } break; 806666c: e0aa b.n 80667c4 case FLAT_TOP: a0 = 1.0f; 806666e: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8066672: 623b str r3, [r7, #32] a1 = 1.93f; 8066674: 4b59 ldr r3, [pc, #356] ; (80667dc ) 8066676: 61fb str r3, [r7, #28] a2 = 1.29f; 8066678: 4b59 ldr r3, [pc, #356] ; (80667e0 ) 806667a: 61bb str r3, [r7, #24] a3 = 0.388f; 806667c: 4b59 ldr r3, [pc, #356] ; (80667e4 ) 806667e: 617b str r3, [r7, #20] a4 = 0.032f; 8066680: 4b59 ldr r3, [pc, #356] ; (80667e8 ) 8066682: 62fb str r3, [r7, #44] ; 0x2c for(i = 0; i < Samples; i++) 8066684: 2300 movs r3, #0 8066686: 86fb strh r3, [r7, #54] ; 0x36 8066688: e096 b.n 80667b8 { tmp0 = _2PI * (float32_t)i; 806668a: 8efb ldrh r3, [r7, #54] ; 0x36 806668c: ee07 3a90 vmov s15, r3 8066690: eef8 7a67 vcvt.f32.u32 s15, s15 8066694: ed9f 7a55 vldr s14, [pc, #340] ; 80667ec 8066698: ee67 7a87 vmul.f32 s15, s15, s14 806669c: edc7 7a04 vstr s15, [r7, #16] tmp1 = _4PI * (float32_t)i; 80666a0: 8efb ldrh r3, [r7, #54] ; 0x36 80666a2: ee07 3a90 vmov s15, r3 80666a6: eef8 7a67 vcvt.f32.u32 s15, s15 80666aa: ed9f 7a51 vldr s14, [pc, #324] ; 80667f0 80666ae: ee67 7a87 vmul.f32 s15, s15, s14 80666b2: edc7 7a03 vstr s15, [r7, #12] tmp2 = _6PI * (float32_t)i; 80666b6: 8efb ldrh r3, [r7, #54] ; 0x36 80666b8: ee07 3a90 vmov s15, r3 80666bc: eef8 7a67 vcvt.f32.u32 s15, s15 80666c0: ed9f 7a4c vldr s14, [pc, #304] ; 80667f4 80666c4: ee67 7a87 vmul.f32 s15, s15, s14 80666c8: edc7 7a0a vstr s15, [r7, #40] ; 0x28 tmp3 = _8PI * (float32_t)i; 80666cc: 8efb ldrh r3, [r7, #54] ; 0x36 80666ce: ee07 3a90 vmov s15, r3 80666d2: eef8 7a67 vcvt.f32.u32 s15, s15 80666d6: ed9f 7a48 vldr s14, [pc, #288] ; 80667f8 80666da: ee67 7a87 vmul.f32 s15, s15, s14 80666de: edc7 7a09 vstr s15, [r7, #36] ; 0x24 tmp0 = a1 * arm_cos_f32(tmp0 * _Samples); 80666e2: ed97 7a04 vldr s14, [r7, #16] 80666e6: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80666ea: ee67 7a27 vmul.f32 s15, s14, s15 80666ee: eeb0 0a67 vmov.f32 s0, s15 80666f2: f050 fb39 bl 80b6d68 80666f6: eeb0 7a40 vmov.f32 s14, s0 80666fa: edd7 7a07 vldr s15, [r7, #28] 80666fe: ee67 7a27 vmul.f32 s15, s14, s15 8066702: edc7 7a04 vstr s15, [r7, #16] tmp1 = a2 * arm_cos_f32(tmp1 * _Samples); 8066706: ed97 7a03 vldr s14, [r7, #12] 806670a: edd7 7a0c vldr s15, [r7, #48] ; 0x30 806670e: ee67 7a27 vmul.f32 s15, s14, s15 8066712: eeb0 0a67 vmov.f32 s0, s15 8066716: f050 fb27 bl 80b6d68 806671a: eeb0 7a40 vmov.f32 s14, s0 806671e: edd7 7a06 vldr s15, [r7, #24] 8066722: ee67 7a27 vmul.f32 s15, s14, s15 8066726: edc7 7a03 vstr s15, [r7, #12] tmp2 = a3 * arm_cos_f32(tmp2 * _Samples); 806672a: ed97 7a0a vldr s14, [r7, #40] ; 0x28 806672e: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8066732: ee67 7a27 vmul.f32 s15, s14, s15 8066736: eeb0 0a67 vmov.f32 s0, s15 806673a: f050 fb15 bl 80b6d68 806673e: eeb0 7a40 vmov.f32 s14, s0 8066742: edd7 7a05 vldr s15, [r7, #20] 8066746: ee67 7a27 vmul.f32 s15, s14, s15 806674a: edc7 7a0a vstr s15, [r7, #40] ; 0x28 tmp3 = a4 * arm_cos_f32(tmp3 * _Samples); 806674e: ed97 7a09 vldr s14, [r7, #36] ; 0x24 8066752: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8066756: ee67 7a27 vmul.f32 s15, s14, s15 806675a: eeb0 0a67 vmov.f32 s0, s15 806675e: f050 fb03 bl 80b6d68 8066762: eeb0 7a40 vmov.f32 s14, s0 8066766: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 806676a: ee67 7a27 vmul.f32 s15, s14, s15 806676e: edc7 7a09 vstr s15, [r7, #36] ; 0x24 Out[i] = Out[i] * (a0 - tmp0 + tmp1 - tmp2 + tmp3); 8066772: 8efb ldrh r3, [r7, #54] ; 0x36 8066774: 8efa ldrh r2, [r7, #54] ; 0x36 8066776: 4918 ldr r1, [pc, #96] ; (80667d8 ) 8066778: 0092 lsls r2, r2, #2 806677a: 440a add r2, r1 806677c: ed92 7a00 vldr s14, [r2] 8066780: edd7 6a08 vldr s13, [r7, #32] 8066784: edd7 7a04 vldr s15, [r7, #16] 8066788: ee76 6ae7 vsub.f32 s13, s13, s15 806678c: edd7 7a03 vldr s15, [r7, #12] 8066790: ee76 6aa7 vadd.f32 s13, s13, s15 8066794: edd7 7a0a vldr s15, [r7, #40] ; 0x28 8066798: ee76 6ae7 vsub.f32 s13, s13, s15 806679c: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80667a0: ee76 7aa7 vadd.f32 s15, s13, s15 80667a4: ee67 7a27 vmul.f32 s15, s14, s15 80667a8: 4a0b ldr r2, [pc, #44] ; (80667d8 ) 80667aa: 009b lsls r3, r3, #2 80667ac: 4413 add r3, r2 80667ae: edc3 7a00 vstr s15, [r3] for(i = 0; i < Samples; i++) 80667b2: 8efb ldrh r3, [r7, #54] ; 0x36 80667b4: 3301 adds r3, #1 80667b6: 86fb strh r3, [r7, #54] ; 0x36 80667b8: 8efa ldrh r2, [r7, #54] ; 0x36 80667ba: 88bb ldrh r3, [r7, #4] 80667bc: 429a cmp r2, r3 80667be: f4ff af64 bcc.w 806668a } break; 80667c2: bf00 nop } } 80667c4: bf00 nop 80667c6: 3738 adds r7, #56 ; 0x38 80667c8: 46bd mov sp, r7 80667ca: bd80 pop {r7, pc} 80667cc: 40c90fdb .word 0x40c90fdb 80667d0: 3eeb851f .word 0x3eeb851f 80667d4: 3f0a3d71 .word 0x3f0a3d71 80667d8: 20008000 .word 0x20008000 80667dc: 3ff70a3d .word 0x3ff70a3d 80667e0: 3fa51eb8 .word 0x3fa51eb8 80667e4: 3ec6a7f0 .word 0x3ec6a7f0 80667e8: 3d03126f .word 0x3d03126f 80667ec: 40c90fdb .word 0x40c90fdb 80667f0: 41490fdb .word 0x41490fdb 80667f4: 4196cbe4 .word 0x4196cbe4 80667f8: 41c90fdb .word 0x41c90fdb 080667fc : void INTEGR_NEW(void) { 80667fc: b580 push {r7, lr} 80667fe: b084 sub sp, #16 8066800: af00 add r7, sp, #0 uint32_t i, k; float32_t fl, fl1; k = (Ns >> 1); 8066802: 4b49 ldr r3, [pc, #292] ; (8066928 ) 8066804: 681b ldr r3, [r3, #0] 8066806: 085b lsrs r3, r3, #1 8066808: 60bb str r3, [r7, #8] fl1 = (_2PI * Delta_SPC[pardata.FRQ][pardata.LNE]); 806680a: 4b48 ldr r3, [pc, #288] ; (806692c ) 806680c: 7adb ldrb r3, [r3, #11] 806680e: b2db uxtb r3, r3 8066810: 4618 mov r0, r3 8066812: 4b46 ldr r3, [pc, #280] ; (806692c ) 8066814: 79db ldrb r3, [r3, #7] 8066816: b2db uxtb r3, r3 8066818: 4619 mov r1, r3 806681a: 4a45 ldr r2, [pc, #276] ; (8066930 ) 806681c: 0083 lsls r3, r0, #2 806681e: 440b add r3, r1 8066820: 009b lsls r3, r3, #2 8066822: 4413 add r3, r2 8066824: edd3 7a00 vldr s15, [r3] 8066828: ed9f 7a42 vldr s14, [pc, #264] ; 8066934 806682c: ee67 7a87 vmul.f32 s15, s15, s14 8066830: edc7 7a01 vstr s15, [r7, #4] //pDst[0] = pDst[1] = 0.0f; Out[0] = 0.0f; 8066834: 4b40 ldr r3, [pc, #256] ; (8066938 ) 8066836: f04f 0200 mov.w r2, #0 806683a: 601a str r2, [r3, #0] for(i = 1; i < k; i++) 806683c: 2301 movs r3, #1 806683e: 60fb str r3, [r7, #12] 8066840: e063 b.n 806690a { fl = (float32_t) i; 8066842: 68fb ldr r3, [r7, #12] 8066844: ee07 3a90 vmov s15, r3 8066848: eef8 7a67 vcvt.f32.u32 s15, s15 806684c: edc7 7a00 vstr s15, [r7] fl *= fl1; 8066850: ed97 7a00 vldr s14, [r7] 8066854: edd7 7a01 vldr s15, [r7, #4] 8066858: ee67 7a27 vmul.f32 s15, s14, s15 806685c: edc7 7a00 vstr s15, [r7] if(pardata.IIN != VOLTS) 8066860: 4b32 ldr r3, [pc, #200] ; (806692c ) 8066862: 799b ldrb r3, [r3, #6] 8066864: b2db uxtb r3, r3 8066866: 2b02 cmp r3, #2 8066868: d022 beq.n 80668b0 { if(pardata.IPR == VEL) 806686a: 4b30 ldr r3, [pc, #192] ; (806692c ) 806686c: 785b ldrb r3, [r3, #1] 806686e: b2db uxtb r3, r3 8066870: 2b01 cmp r3, #1 8066872: d10c bne.n 806688e Out[i] = 1000.0f / fl; 8066874: eddf 6a31 vldr s13, [pc, #196] ; 806693c 8066878: ed97 7a00 vldr s14, [r7] 806687c: eec6 7a87 vdiv.f32 s15, s13, s14 8066880: 4a2d ldr r2, [pc, #180] ; (8066938 ) 8066882: 68fb ldr r3, [r7, #12] 8066884: 009b lsls r3, r3, #2 8066886: 4413 add r3, r2 8066888: edc3 7a00 vstr s15, [r3] 806688c: e03a b.n 8066904 else Out[i] = 1000000.0f / (fl * fl); 806688e: ed97 7a00 vldr s14, [r7] 8066892: edd7 7a00 vldr s15, [r7] 8066896: ee27 7a27 vmul.f32 s14, s14, s15 806689a: eddf 6a29 vldr s13, [pc, #164] ; 8066940 806689e: eec6 7a87 vdiv.f32 s15, s13, s14 80668a2: 4a25 ldr r2, [pc, #148] ; (8066938 ) 80668a4: 68fb ldr r3, [r7, #12] 80668a6: 009b lsls r3, r3, #2 80668a8: 4413 add r3, r2 80668aa: edc3 7a00 vstr s15, [r3] 80668ae: e029 b.n 8066904 } else { if(pardata.IPR == VEL) 80668b0: 4b1e ldr r3, [pc, #120] ; (806692c ) 80668b2: 785b ldrb r3, [r3, #1] 80668b4: b2db uxtb r3, r3 80668b6: 2b01 cmp r3, #1 80668b8: d110 bne.n 80668dc Out[i] /= fl; 80668ba: 4a1f ldr r2, [pc, #124] ; (8066938 ) 80668bc: 68fb ldr r3, [r7, #12] 80668be: 009b lsls r3, r3, #2 80668c0: 4413 add r3, r2 80668c2: edd3 6a00 vldr s13, [r3] 80668c6: ed97 7a00 vldr s14, [r7] 80668ca: eec6 7a87 vdiv.f32 s15, s13, s14 80668ce: 4a1a ldr r2, [pc, #104] ; (8066938 ) 80668d0: 68fb ldr r3, [r7, #12] 80668d2: 009b lsls r3, r3, #2 80668d4: 4413 add r3, r2 80668d6: edc3 7a00 vstr s15, [r3] 80668da: e013 b.n 8066904 else Out[i] /= (fl * fl); 80668dc: 4a16 ldr r2, [pc, #88] ; (8066938 ) 80668de: 68fb ldr r3, [r7, #12] 80668e0: 009b lsls r3, r3, #2 80668e2: 4413 add r3, r2 80668e4: edd3 6a00 vldr s13, [r3] 80668e8: ed97 7a00 vldr s14, [r7] 80668ec: edd7 7a00 vldr s15, [r7] 80668f0: ee27 7a27 vmul.f32 s14, s14, s15 80668f4: eec6 7a87 vdiv.f32 s15, s13, s14 80668f8: 4a0f ldr r2, [pc, #60] ; (8066938 ) 80668fa: 68fb ldr r3, [r7, #12] 80668fc: 009b lsls r3, r3, #2 80668fe: 4413 add r3, r2 8066900: edc3 7a00 vstr s15, [r3] for(i = 1; i < k; i++) 8066904: 68fb ldr r3, [r7, #12] 8066906: 3301 adds r3, #1 8066908: 60fb str r3, [r7, #12] 806690a: 68fa ldr r2, [r7, #12] 806690c: 68bb ldr r3, [r7, #8] 806690e: 429a cmp r2, r3 8066910: d397 bcc.n 8066842 } } arm_mult_f32(Out, In, In, k); 8066912: 68bb ldr r3, [r7, #8] 8066914: 4a0b ldr r2, [pc, #44] ; (8066944 ) 8066916: 490b ldr r1, [pc, #44] ; (8066944 ) 8066918: 4807 ldr r0, [pc, #28] ; (8066938 ) 806691a: f068 ff11 bl 80cf740 } 806691e: bf00 nop 8066920: 3710 adds r7, #16 8066922: 46bd mov sp, r7 8066924: bd80 pop {r7, pc} 8066926: bf00 nop 8066928: 20021d2c .word 0x20021d2c 806692c: 20023eb8 .word 0x20023eb8 8066930: 080f54f0 .word 0x080f54f0 8066934: 40c90fdb .word 0x40c90fdb 8066938: 20008000 .word 0x20008000 806693c: 447a0000 .word 0x447a0000 8066940: 49742400 .word 0x49742400 8066944: 20027a20 .word 0x20027a20 08066948 : } } void LinToLog(float32_t *pSrc, float32_t *pDst) { 8066948: b580 push {r7, lr} 806694a: b084 sub sp, #16 806694c: af00 add r7, sp, #0 806694e: 6078 str r0, [r7, #4] 8066950: 6039 str r1, [r7, #0] float32_t f = *pSrc; 8066952: 687b ldr r3, [r7, #4] 8066954: 681b ldr r3, [r3, #0] 8066956: 60fb str r3, [r7, #12] if(f <= 0.000001f) { 8066958: edd7 7a03 vldr s15, [r7, #12] 806695c: ed9f 7a0f vldr s14, [pc, #60] ; 806699c 8066960: eef4 7ac7 vcmpe.f32 s15, s14 8066964: eef1 fa10 vmrs APSR_nzcv, fpscr 8066968: d801 bhi.n 806696e f = 0.000001f; 806696a: 4b0d ldr r3, [pc, #52] ; (80669a0 ) 806696c: 60fb str r3, [r7, #12] } *pDst = 20 * log10f(f * 1000000); 806696e: edd7 7a03 vldr s15, [r7, #12] 8066972: ed9f 7a0c vldr s14, [pc, #48] ; 80669a4 8066976: ee67 7a87 vmul.f32 s15, s15, s14 806697a: eeb0 0a67 vmov.f32 s0, s15 806697e: f069 fb9d bl 80d00bc 8066982: eeb0 7a40 vmov.f32 s14, s0 8066986: eef3 7a04 vmov.f32 s15, #52 ; 0x41a00000 20.0 806698a: ee67 7a27 vmul.f32 s15, s14, s15 806698e: 683b ldr r3, [r7, #0] 8066990: edc3 7a00 vstr s15, [r3] } 8066994: bf00 nop 8066996: 3710 adds r7, #16 8066998: 46bd mov sp, r7 806699a: bd80 pop {r7, pc} 806699c: 358637bd .word 0x358637bd 80669a0: 358637bd .word 0x358637bd 80669a4: 49742400 .word 0x49742400 080669a8 : void LinToLog_mV(float32_t *pSrc, float32_t *pDst, uint8_t IPR) { 80669a8: b580 push {r7, lr} 80669aa: b086 sub sp, #24 80669ac: af00 add r7, sp, #0 80669ae: 60f8 str r0, [r7, #12] 80669b0: 60b9 str r1, [r7, #8] 80669b2: 4613 mov r3, r2 80669b4: 71fb strb r3, [r7, #7] float32_t f = *pSrc; 80669b6: 68fb ldr r3, [r7, #12] 80669b8: 681b ldr r3, [r3, #0] 80669ba: 617b str r3, [r7, #20] f *= 1000.000f; //â ìê 80669bc: edd7 7a05 vldr s15, [r7, #20] 80669c0: ed9f 7a10 vldr s14, [pc, #64] ; 8066a04 80669c4: ee67 7a87 vmul.f32 s15, s15, s14 80669c8: edc7 7a05 vstr s15, [r7, #20] if(f <= 0.000001f) { 80669cc: edd7 7a05 vldr s15, [r7, #20] 80669d0: ed9f 7a0d vldr s14, [pc, #52] ; 8066a08 80669d4: eef4 7ac7 vcmpe.f32 s15, s14 80669d8: eef1 fa10 vmrs APSR_nzcv, fpscr 80669dc: d801 bhi.n 80669e2 f = 0.000001f; 80669de: 4b0b ldr r3, [pc, #44] ; (8066a0c ) 80669e0: 617b str r3, [r7, #20] } *pDst = 20 * log10f(f); 80669e2: ed97 0a05 vldr s0, [r7, #20] 80669e6: f069 fb69 bl 80d00bc 80669ea: eeb0 7a40 vmov.f32 s14, s0 80669ee: eef3 7a04 vmov.f32 s15, #52 ; 0x41a00000 20.0 80669f2: ee67 7a27 vmul.f32 s15, s14, s15 80669f6: 68bb ldr r3, [r7, #8] 80669f8: edc3 7a00 vstr s15, [r3] } 80669fc: bf00 nop 80669fe: 3718 adds r7, #24 8066a00: 46bd mov sp, r7 8066a02: bd80 pop {r7, pc} 8066a04: 447a0000 .word 0x447a0000 8066a08: 358637bd .word 0x358637bd 8066a0c: 358637bd .word 0x358637bd 08066a10 : void LinToLog_UDAR(float32_t *pSrc, float32_t *pDst) { 8066a10: b580 push {r7, lr} 8066a12: b084 sub sp, #16 8066a14: af00 add r7, sp, #0 8066a16: 6078 str r0, [r7, #4] 8066a18: 6039 str r1, [r7, #0] float32_t f = *pSrc; 8066a1a: 687b ldr r3, [r7, #4] 8066a1c: 681b ldr r3, [r3, #0] 8066a1e: 60fb str r3, [r7, #12] if(f <= 0.1f) { 8066a20: edd7 7a03 vldr s15, [r7, #12] 8066a24: ed9f 7a0e vldr s14, [pc, #56] ; 8066a60 8066a28: eef4 7ac7 vcmpe.f32 s15, s14 8066a2c: eef1 fa10 vmrs APSR_nzcv, fpscr 8066a30: d801 bhi.n 8066a36 f = 0.1f; 8066a32: 4b0c ldr r3, [pc, #48] ; (8066a64 ) 8066a34: 60fb str r3, [r7, #12] } *pDst = 20 * log10f(*pSrc); 8066a36: 687b ldr r3, [r7, #4] 8066a38: edd3 7a00 vldr s15, [r3] 8066a3c: eeb0 0a67 vmov.f32 s0, s15 8066a40: f069 fb3c bl 80d00bc 8066a44: eeb0 7a40 vmov.f32 s14, s0 8066a48: eef3 7a04 vmov.f32 s15, #52 ; 0x41a00000 20.0 8066a4c: ee67 7a27 vmul.f32 s15, s14, s15 8066a50: 683b ldr r3, [r7, #0] 8066a52: edc3 7a00 vstr s15, [r3] /*if(f <= 0.000001f) { f = 0.000001f; } *pDst = 20 * log10f(f * 1000000);*/ } 8066a56: bf00 nop 8066a58: 3710 adds r7, #16 8066a5a: 46bd mov sp, r7 8066a5c: bd80 pop {r7, pc} 8066a5e: bf00 nop 8066a60: 3dcccccd .word 0x3dcccccd 8066a64: 3dcccccd .word 0x3dcccccd 08066a68 : float32_t MedMeas(uint8_t AVS, float32_t InVal) { 8066a68: b480 push {r7} 8066a6a: b08d sub sp, #52 ; 0x34 8066a6c: af00 add r7, sp, #0 8066a6e: 4603 mov r3, r0 8066a70: ed87 0a00 vstr s0, [r7] 8066a74: 71fb strb r3, [r7, #7] uint8_t k = 0; 8066a76: 2300 movs r3, #0 8066a78: f887 302f strb.w r3, [r7, #47] ; 0x2f uint32_t i = 0, j = 0; 8066a7c: 2300 movs r3, #0 8066a7e: 62bb str r3, [r7, #40] ; 0x28 8066a80: 2300 movs r3, #0 8066a82: 627b str r3, [r7, #36] ; 0x24 float32_t temp[N_MED_MEAS]; float32_t OutVal; if(pardata.OPTIONS & 0x00000001) 8066a84: 4ba6 ldr r3, [pc, #664] ; (8066d20 ) 8066a86: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8066a8a: f003 0301 and.w r3, r3, #1 8066a8e: 2b00 cmp r3, #0 8066a90: f000 813c beq.w 8066d0c { switch(AVS) 8066a94: 79fb ldrb r3, [r7, #7] 8066a96: 2b01 cmp r3, #1 8066a98: d041 beq.n 8066b1e 8066a9a: 2b02 cmp r3, #2 8066a9c: d07c beq.n 8066b98 8066a9e: 2b00 cmp r3, #0 8066aa0: f040 80b7 bne.w 8066c12 { case ACC: for(i = N_MED_MEAS - 1; i > 0; i--) 8066aa4: 2304 movs r3, #4 8066aa6: 62bb str r3, [r7, #40] ; 0x28 8066aa8: e00d b.n 8066ac6 medA[i] = medA[i - 1]; 8066aaa: 6abb ldr r3, [r7, #40] ; 0x28 8066aac: 3b01 subs r3, #1 8066aae: 4a9d ldr r2, [pc, #628] ; (8066d24 ) 8066ab0: 009b lsls r3, r3, #2 8066ab2: 4413 add r3, r2 8066ab4: 681a ldr r2, [r3, #0] 8066ab6: 499b ldr r1, [pc, #620] ; (8066d24 ) 8066ab8: 6abb ldr r3, [r7, #40] ; 0x28 8066aba: 009b lsls r3, r3, #2 8066abc: 440b add r3, r1 8066abe: 601a str r2, [r3, #0] for(i = N_MED_MEAS - 1; i > 0; i--) 8066ac0: 6abb ldr r3, [r7, #40] ; 0x28 8066ac2: 3b01 subs r3, #1 8066ac4: 62bb str r3, [r7, #40] ; 0x28 8066ac6: 6abb ldr r3, [r7, #40] ; 0x28 8066ac8: 2b00 cmp r3, #0 8066aca: d1ee bne.n 8066aaa medA[0] = InVal; 8066acc: 4a95 ldr r2, [pc, #596] ; (8066d24 ) 8066ace: 683b ldr r3, [r7, #0] 8066ad0: 6013 str r3, [r2, #0] for(i = 0; i < N_MED_MEAS; i++) 8066ad2: 2300 movs r3, #0 8066ad4: 62bb str r3, [r7, #40] ; 0x28 8066ad6: e00e b.n 8066af6 temp[i] = medA[i]; 8066ad8: 4a92 ldr r2, [pc, #584] ; (8066d24 ) 8066ada: 6abb ldr r3, [r7, #40] ; 0x28 8066adc: 009b lsls r3, r3, #2 8066ade: 4413 add r3, r2 8066ae0: 681a ldr r2, [r3, #0] 8066ae2: 6abb ldr r3, [r7, #40] ; 0x28 8066ae4: 009b lsls r3, r3, #2 8066ae6: f107 0130 add.w r1, r7, #48 ; 0x30 8066aea: 440b add r3, r1 8066aec: 3b24 subs r3, #36 ; 0x24 8066aee: 601a str r2, [r3, #0] for(i = 0; i < N_MED_MEAS; i++) 8066af0: 6abb ldr r3, [r7, #40] ; 0x28 8066af2: 3301 adds r3, #1 8066af4: 62bb str r3, [r7, #40] ; 0x28 8066af6: 6abb ldr r3, [r7, #40] ; 0x28 8066af8: 2b04 cmp r3, #4 8066afa: d9ed bls.n 8066ad8 if(CounterA < N_MED_MEAS) 8066afc: 4b8a ldr r3, [pc, #552] ; (8066d28 ) 8066afe: 781b ldrb r3, [r3, #0] 8066b00: b2db uxtb r3, r3 8066b02: 2b04 cmp r3, #4 8066b04: d806 bhi.n 8066b14 CounterA++; 8066b06: 4b88 ldr r3, [pc, #544] ; (8066d28 ) 8066b08: 781b ldrb r3, [r3, #0] 8066b0a: b2db uxtb r3, r3 8066b0c: 3301 adds r3, #1 8066b0e: b2da uxtb r2, r3 8066b10: 4b85 ldr r3, [pc, #532] ; (8066d28 ) 8066b12: 701a strb r2, [r3, #0] k = CounterA; 8066b14: 4b84 ldr r3, [pc, #528] ; (8066d28 ) 8066b16: 781b ldrb r3, [r3, #0] 8066b18: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 8066b1c: e07b b.n 8066c16 case VEL: for(i = N_MED_MEAS - 1; i > 0; i--) 8066b1e: 2304 movs r3, #4 8066b20: 62bb str r3, [r7, #40] ; 0x28 8066b22: e00d b.n 8066b40 medV[i] = medV[i - 1]; 8066b24: 6abb ldr r3, [r7, #40] ; 0x28 8066b26: 3b01 subs r3, #1 8066b28: 4a80 ldr r2, [pc, #512] ; (8066d2c ) 8066b2a: 009b lsls r3, r3, #2 8066b2c: 4413 add r3, r2 8066b2e: 681a ldr r2, [r3, #0] 8066b30: 497e ldr r1, [pc, #504] ; (8066d2c ) 8066b32: 6abb ldr r3, [r7, #40] ; 0x28 8066b34: 009b lsls r3, r3, #2 8066b36: 440b add r3, r1 8066b38: 601a str r2, [r3, #0] for(i = N_MED_MEAS - 1; i > 0; i--) 8066b3a: 6abb ldr r3, [r7, #40] ; 0x28 8066b3c: 3b01 subs r3, #1 8066b3e: 62bb str r3, [r7, #40] ; 0x28 8066b40: 6abb ldr r3, [r7, #40] ; 0x28 8066b42: 2b00 cmp r3, #0 8066b44: d1ee bne.n 8066b24 medV[0] = InVal; 8066b46: 4a79 ldr r2, [pc, #484] ; (8066d2c ) 8066b48: 683b ldr r3, [r7, #0] 8066b4a: 6013 str r3, [r2, #0] for(i = 0; i < N_MED_MEAS; i++) 8066b4c: 2300 movs r3, #0 8066b4e: 62bb str r3, [r7, #40] ; 0x28 8066b50: e00e b.n 8066b70 temp[i] = medV[i]; 8066b52: 4a76 ldr r2, [pc, #472] ; (8066d2c ) 8066b54: 6abb ldr r3, [r7, #40] ; 0x28 8066b56: 009b lsls r3, r3, #2 8066b58: 4413 add r3, r2 8066b5a: 681a ldr r2, [r3, #0] 8066b5c: 6abb ldr r3, [r7, #40] ; 0x28 8066b5e: 009b lsls r3, r3, #2 8066b60: f107 0130 add.w r1, r7, #48 ; 0x30 8066b64: 440b add r3, r1 8066b66: 3b24 subs r3, #36 ; 0x24 8066b68: 601a str r2, [r3, #0] for(i = 0; i < N_MED_MEAS; i++) 8066b6a: 6abb ldr r3, [r7, #40] ; 0x28 8066b6c: 3301 adds r3, #1 8066b6e: 62bb str r3, [r7, #40] ; 0x28 8066b70: 6abb ldr r3, [r7, #40] ; 0x28 8066b72: 2b04 cmp r3, #4 8066b74: d9ed bls.n 8066b52 if(CounterV < N_MED_MEAS) 8066b76: 4b6e ldr r3, [pc, #440] ; (8066d30 ) 8066b78: 781b ldrb r3, [r3, #0] 8066b7a: b2db uxtb r3, r3 8066b7c: 2b04 cmp r3, #4 8066b7e: d806 bhi.n 8066b8e CounterV++; 8066b80: 4b6b ldr r3, [pc, #428] ; (8066d30 ) 8066b82: 781b ldrb r3, [r3, #0] 8066b84: b2db uxtb r3, r3 8066b86: 3301 adds r3, #1 8066b88: b2da uxtb r2, r3 8066b8a: 4b69 ldr r3, [pc, #420] ; (8066d30 ) 8066b8c: 701a strb r2, [r3, #0] k = CounterV; 8066b8e: 4b68 ldr r3, [pc, #416] ; (8066d30 ) 8066b90: 781b ldrb r3, [r3, #0] 8066b92: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 8066b96: e03e b.n 8066c16 case DIS: for(i = N_MED_MEAS - 1; i > 0; i--) 8066b98: 2304 movs r3, #4 8066b9a: 62bb str r3, [r7, #40] ; 0x28 8066b9c: e00d b.n 8066bba medS[i] = medS[i - 1]; 8066b9e: 6abb ldr r3, [r7, #40] ; 0x28 8066ba0: 3b01 subs r3, #1 8066ba2: 4a64 ldr r2, [pc, #400] ; (8066d34 ) 8066ba4: 009b lsls r3, r3, #2 8066ba6: 4413 add r3, r2 8066ba8: 681a ldr r2, [r3, #0] 8066baa: 4962 ldr r1, [pc, #392] ; (8066d34 ) 8066bac: 6abb ldr r3, [r7, #40] ; 0x28 8066bae: 009b lsls r3, r3, #2 8066bb0: 440b add r3, r1 8066bb2: 601a str r2, [r3, #0] for(i = N_MED_MEAS - 1; i > 0; i--) 8066bb4: 6abb ldr r3, [r7, #40] ; 0x28 8066bb6: 3b01 subs r3, #1 8066bb8: 62bb str r3, [r7, #40] ; 0x28 8066bba: 6abb ldr r3, [r7, #40] ; 0x28 8066bbc: 2b00 cmp r3, #0 8066bbe: d1ee bne.n 8066b9e medS[0] = InVal; 8066bc0: 4a5c ldr r2, [pc, #368] ; (8066d34 ) 8066bc2: 683b ldr r3, [r7, #0] 8066bc4: 6013 str r3, [r2, #0] for(i = 0; i < N_MED_MEAS; i++) 8066bc6: 2300 movs r3, #0 8066bc8: 62bb str r3, [r7, #40] ; 0x28 8066bca: e00e b.n 8066bea temp[i] = medS[i]; 8066bcc: 4a59 ldr r2, [pc, #356] ; (8066d34 ) 8066bce: 6abb ldr r3, [r7, #40] ; 0x28 8066bd0: 009b lsls r3, r3, #2 8066bd2: 4413 add r3, r2 8066bd4: 681a ldr r2, [r3, #0] 8066bd6: 6abb ldr r3, [r7, #40] ; 0x28 8066bd8: 009b lsls r3, r3, #2 8066bda: f107 0130 add.w r1, r7, #48 ; 0x30 8066bde: 440b add r3, r1 8066be0: 3b24 subs r3, #36 ; 0x24 8066be2: 601a str r2, [r3, #0] for(i = 0; i < N_MED_MEAS; i++) 8066be4: 6abb ldr r3, [r7, #40] ; 0x28 8066be6: 3301 adds r3, #1 8066be8: 62bb str r3, [r7, #40] ; 0x28 8066bea: 6abb ldr r3, [r7, #40] ; 0x28 8066bec: 2b04 cmp r3, #4 8066bee: d9ed bls.n 8066bcc if(CounterS < N_MED_MEAS) 8066bf0: 4b51 ldr r3, [pc, #324] ; (8066d38 ) 8066bf2: 781b ldrb r3, [r3, #0] 8066bf4: b2db uxtb r3, r3 8066bf6: 2b04 cmp r3, #4 8066bf8: d806 bhi.n 8066c08 CounterS++; 8066bfa: 4b4f ldr r3, [pc, #316] ; (8066d38 ) 8066bfc: 781b ldrb r3, [r3, #0] 8066bfe: b2db uxtb r3, r3 8066c00: 3301 adds r3, #1 8066c02: b2da uxtb r2, r3 8066c04: 4b4c ldr r3, [pc, #304] ; (8066d38 ) 8066c06: 701a strb r2, [r3, #0] k = CounterS; 8066c08: 4b4b ldr r3, [pc, #300] ; (8066d38 ) 8066c0a: 781b ldrb r3, [r3, #0] 8066c0c: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 8066c10: e001 b.n 8066c16 default: return InVal; 8066c12: 683b ldr r3, [r7, #0] 8066c14: e07b b.n 8066d0e break; } for(j = 0; j < k; j++) 8066c16: 2300 movs r3, #0 8066c18: 627b str r3, [r7, #36] ; 0x24 8066c1a: e040 b.n 8066c9e { for(i = j; i < k; i++) 8066c1c: 6a7b ldr r3, [r7, #36] ; 0x24 8066c1e: 62bb str r3, [r7, #40] ; 0x28 8066c20: e035 b.n 8066c8e { if(temp[i] < temp[j]) 8066c22: 6abb ldr r3, [r7, #40] ; 0x28 8066c24: 009b lsls r3, r3, #2 8066c26: f107 0230 add.w r2, r7, #48 ; 0x30 8066c2a: 4413 add r3, r2 8066c2c: 3b24 subs r3, #36 ; 0x24 8066c2e: ed93 7a00 vldr s14, [r3] 8066c32: 6a7b ldr r3, [r7, #36] ; 0x24 8066c34: 009b lsls r3, r3, #2 8066c36: f107 0230 add.w r2, r7, #48 ; 0x30 8066c3a: 4413 add r3, r2 8066c3c: 3b24 subs r3, #36 ; 0x24 8066c3e: edd3 7a00 vldr s15, [r3] 8066c42: eeb4 7ae7 vcmpe.f32 s14, s15 8066c46: eef1 fa10 vmrs APSR_nzcv, fpscr 8066c4a: d51d bpl.n 8066c88 { OutVal = temp[j]; 8066c4c: 6a7b ldr r3, [r7, #36] ; 0x24 8066c4e: 009b lsls r3, r3, #2 8066c50: f107 0230 add.w r2, r7, #48 ; 0x30 8066c54: 4413 add r3, r2 8066c56: 3b24 subs r3, #36 ; 0x24 8066c58: 681b ldr r3, [r3, #0] 8066c5a: 623b str r3, [r7, #32] temp[j] = temp[i]; 8066c5c: 6abb ldr r3, [r7, #40] ; 0x28 8066c5e: 009b lsls r3, r3, #2 8066c60: f107 0230 add.w r2, r7, #48 ; 0x30 8066c64: 4413 add r3, r2 8066c66: 3b24 subs r3, #36 ; 0x24 8066c68: 681a ldr r2, [r3, #0] 8066c6a: 6a7b ldr r3, [r7, #36] ; 0x24 8066c6c: 009b lsls r3, r3, #2 8066c6e: f107 0130 add.w r1, r7, #48 ; 0x30 8066c72: 440b add r3, r1 8066c74: 3b24 subs r3, #36 ; 0x24 8066c76: 601a str r2, [r3, #0] temp[i] = OutVal; 8066c78: 6abb ldr r3, [r7, #40] ; 0x28 8066c7a: 009b lsls r3, r3, #2 8066c7c: f107 0230 add.w r2, r7, #48 ; 0x30 8066c80: 4413 add r3, r2 8066c82: 3b24 subs r3, #36 ; 0x24 8066c84: 6a3a ldr r2, [r7, #32] 8066c86: 601a str r2, [r3, #0] for(i = j; i < k; i++) 8066c88: 6abb ldr r3, [r7, #40] ; 0x28 8066c8a: 3301 adds r3, #1 8066c8c: 62bb str r3, [r7, #40] ; 0x28 8066c8e: f897 202f ldrb.w r2, [r7, #47] ; 0x2f 8066c92: 6abb ldr r3, [r7, #40] ; 0x28 8066c94: 429a cmp r2, r3 8066c96: d8c4 bhi.n 8066c22 for(j = 0; j < k; j++) 8066c98: 6a7b ldr r3, [r7, #36] ; 0x24 8066c9a: 3301 adds r3, #1 8066c9c: 627b str r3, [r7, #36] ; 0x24 8066c9e: f897 202f ldrb.w r2, [r7, #47] ; 0x2f 8066ca2: 6a7b ldr r3, [r7, #36] ; 0x24 8066ca4: 429a cmp r2, r3 8066ca6: d8b9 bhi.n 8066c1c } } } i = (k >> 1); 8066ca8: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 8066cac: 085b lsrs r3, r3, #1 8066cae: b2db uxtb r3, r3 8066cb0: 62bb str r3, [r7, #40] ; 0x28 if((k & 0x1) || (i == 0)) 8066cb2: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 8066cb6: f003 0301 and.w r3, r3, #1 8066cba: 2b00 cmp r3, #0 8066cbc: d102 bne.n 8066cc4 8066cbe: 6abb ldr r3, [r7, #40] ; 0x28 8066cc0: 2b00 cmp r3, #0 8066cc2: d108 bne.n 8066cd6 OutVal = temp[i]; 8066cc4: 6abb ldr r3, [r7, #40] ; 0x28 8066cc6: 009b lsls r3, r3, #2 8066cc8: f107 0230 add.w r2, r7, #48 ; 0x30 8066ccc: 4413 add r3, r2 8066cce: 3b24 subs r3, #36 ; 0x24 8066cd0: 681b ldr r3, [r3, #0] 8066cd2: 623b str r3, [r7, #32] 8066cd4: e018 b.n 8066d08 else OutVal = (temp[i] + temp[i - 1]) * 0.5f; 8066cd6: 6abb ldr r3, [r7, #40] ; 0x28 8066cd8: 009b lsls r3, r3, #2 8066cda: f107 0230 add.w r2, r7, #48 ; 0x30 8066cde: 4413 add r3, r2 8066ce0: 3b24 subs r3, #36 ; 0x24 8066ce2: ed93 7a00 vldr s14, [r3] 8066ce6: 6abb ldr r3, [r7, #40] ; 0x28 8066ce8: 3b01 subs r3, #1 8066cea: 009b lsls r3, r3, #2 8066cec: f107 0230 add.w r2, r7, #48 ; 0x30 8066cf0: 4413 add r3, r2 8066cf2: 3b24 subs r3, #36 ; 0x24 8066cf4: edd3 7a00 vldr s15, [r3] 8066cf8: ee77 7a27 vadd.f32 s15, s14, s15 8066cfc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8066d00: ee67 7a87 vmul.f32 s15, s15, s14 8066d04: edc7 7a08 vstr s15, [r7, #32] return OutVal; 8066d08: 6a3b ldr r3, [r7, #32] 8066d0a: e000 b.n 8066d0e } return InVal; 8066d0c: 683b ldr r3, [r7, #0] 8066d0e: ee07 3a90 vmov s15, r3 } 8066d12: eeb0 0a67 vmov.f32 s0, s15 8066d16: 3734 adds r7, #52 ; 0x34 8066d18: 46bd mov sp, r7 8066d1a: f85d 7b04 ldr.w r7, [sp], #4 8066d1e: 4770 bx lr 8066d20: 20023eb8 .word 0x20023eb8 8066d24: 20057ec8 .word 0x20057ec8 8066d28: 20021571 .word 0x20021571 8066d2c: 20058030 .word 0x20058030 8066d30: 20021572 .word 0x20021572 8066d34: 200265b0 .word 0x200265b0 8066d38: 20021573 .word 0x20021573 8066d3c: 00000000 .word 0x00000000 08066d40 : void initFilters(void) { 8066d40: b590 push {r4, r7, lr} 8066d42: b083 sub sp, #12 8066d44: 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); 8066d46: 4ba8 ldr r3, [pc, #672] ; (8066fe8 ) 8066d48: 4aa8 ldr r2, [pc, #672] ; (8066fec ) 8066d4a: 2104 movs r1, #4 8066d4c: 48a8 ldr r0, [pc, #672] ; (8066ff0 ) 8066d4e: f068 f9c7 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_2Hz, 4, (float64_t *) BAND_OKT, State_IIR_2Hz); 8066d52: 4ba8 ldr r3, [pc, #672] ; (8066ff4 ) 8066d54: 4aa5 ldr r2, [pc, #660] ; (8066fec ) 8066d56: 2104 movs r1, #4 8066d58: 48a7 ldr r0, [pc, #668] ; (8066ff8 ) 8066d5a: f068 f9c1 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_4Hz, 4, (float64_t *) BAND_OKT, State_IIR_4Hz); 8066d5e: 4ba7 ldr r3, [pc, #668] ; (8066ffc ) 8066d60: 4aa2 ldr r2, [pc, #648] ; (8066fec ) 8066d62: 2104 movs r1, #4 8066d64: 48a6 ldr r0, [pc, #664] ; (8067000 ) 8066d66: f068 f9bb bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_8Hz, 4, (float64_t *) BAND_OKT, State_IIR_8Hz); 8066d6a: 4ba6 ldr r3, [pc, #664] ; (8067004 ) 8066d6c: 4a9f ldr r2, [pc, #636] ; (8066fec ) 8066d6e: 2104 movs r1, #4 8066d70: 48a5 ldr r0, [pc, #660] ; (8067008 ) 8066d72: f068 f9b5 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_16Hz, 4, (float64_t *) BAND_OKT, State_IIR_16Hz); 8066d76: 4ba5 ldr r3, [pc, #660] ; (806700c ) 8066d78: 4a9c ldr r2, [pc, #624] ; (8066fec ) 8066d7a: 2104 movs r1, #4 8066d7c: 48a4 ldr r0, [pc, #656] ; (8067010 ) 8066d7e: f068 f9af bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_32Hz, 4, (float64_t *) BAND_OKT, State_IIR_32Hz); 8066d82: 4ba4 ldr r3, [pc, #656] ; (8067014 ) 8066d84: 4a99 ldr r2, [pc, #612] ; (8066fec ) 8066d86: 2104 movs r1, #4 8066d88: 48a3 ldr r0, [pc, #652] ; (8067018 ) 8066d8a: f068 f9a9 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_63Hz, 4, (float64_t *) BAND_OKT, State_IIR_63Hz); 8066d8e: 4ba3 ldr r3, [pc, #652] ; (806701c ) 8066d90: 4a96 ldr r2, [pc, #600] ; (8066fec ) 8066d92: 2104 movs r1, #4 8066d94: 48a2 ldr r0, [pc, #648] ; (8067020 ) 8066d96: f068 f9a3 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_125Hz, 4, (float64_t *) BAND_OKT, State_IIR_125Hz); 8066d9a: 4ba2 ldr r3, [pc, #648] ; (8067024 ) 8066d9c: 4a93 ldr r2, [pc, #588] ; (8066fec ) 8066d9e: 2104 movs r1, #4 8066da0: 48a1 ldr r0, [pc, #644] ; (8067028 ) 8066da2: f068 f99d bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_250Hz, 4, (float64_t *) BAND_OKT, State_IIR_250Hz); 8066da6: 4ba1 ldr r3, [pc, #644] ; (806702c ) 8066da8: 4a90 ldr r2, [pc, #576] ; (8066fec ) 8066daa: 2104 movs r1, #4 8066dac: 48a0 ldr r0, [pc, #640] ; (8067030 ) 8066dae: f068 f997 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_500Hz, 4, (float64_t *) BAND_OKT, State_IIR_500Hz); 8066db2: 4ba0 ldr r3, [pc, #640] ; (8067034 ) 8066db4: 4a8d ldr r2, [pc, #564] ; (8066fec ) 8066db6: 2104 movs r1, #4 8066db8: 489f ldr r0, [pc, #636] ; (8067038 ) 8066dba: f068 f991 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_1000Hz, 4, (float64_t *) BAND_OKT, State_IIR_1000Hz); 8066dbe: 4b9f ldr r3, [pc, #636] ; (806703c ) 8066dc0: 4a8a ldr r2, [pc, #552] ; (8066fec ) 8066dc2: 2104 movs r1, #4 8066dc4: 489e ldr r0, [pc, #632] ; (8067040 ) 8066dc6: f068 f98b bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_2000Hz, 4, (float64_t *) BAND_OKT, State_IIR_2000Hz); 8066dca: 4b9e ldr r3, [pc, #632] ; (8067044 ) 8066dcc: 4a87 ldr r2, [pc, #540] ; (8066fec ) 8066dce: 2104 movs r1, #4 8066dd0: 489d ldr r0, [pc, #628] ; (8067048 ) 8066dd2: f068 f985 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_4000Hz, 4, (float64_t *) BAND_OKT, State_IIR_4000Hz); 8066dd6: 4b9d ldr r3, [pc, #628] ; (806704c ) 8066dd8: 4a84 ldr r2, [pc, #528] ; (8066fec ) 8066dda: 2104 movs r1, #4 8066ddc: 489c ldr r0, [pc, #624] ; (8067050 ) 8066dde: f068 f97f bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_8000Hz, 4, (float64_t *) BAND_OKT, State_IIR_8000Hz); 8066de2: 4b9c ldr r3, [pc, #624] ; (8067054 ) 8066de4: 4a81 ldr r2, [pc, #516] ; (8066fec ) 8066de6: 2104 movs r1, #4 8066de8: 489b ldr r0, [pc, #620] ; (8067058 ) 8066dea: f068 f979 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_16000Hz, 4, (float64_t *) BAND_OKT, State_IIR_16000Hz); 8066dee: 4b9b ldr r3, [pc, #620] ; (806705c ) 8066df0: 4a7e ldr r2, [pc, #504] ; (8066fec ) 8066df2: 2104 movs r1, #4 8066df4: 489a ldr r0, [pc, #616] ; (8067060 ) 8066df6: f068 f973 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_LP_1, 4, (float64_t *) COEFF_LP_OKT, State_LP_1); 8066dfa: 4b9a ldr r3, [pc, #616] ; (8067064 ) 8066dfc: 4a9a ldr r2, [pc, #616] ; (8067068 ) 8066dfe: 2104 movs r1, #4 8066e00: 489a ldr r0, [pc, #616] ; (806706c ) 8066e02: f068 f96d bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_LP_2, 4, (float64_t *) COEFF_LP_OKT, State_LP_2); 8066e06: 4b9a ldr r3, [pc, #616] ; (8067070 ) 8066e08: 4a97 ldr r2, [pc, #604] ; (8067068 ) 8066e0a: 2104 movs r1, #4 8066e0c: 4899 ldr r0, [pc, #612] ; (8067074 ) 8066e0e: f068 f967 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_LP_4, 4, (float64_t *) COEFF_LP_OKT, State_LP_4); 8066e12: 4b99 ldr r3, [pc, #612] ; (8067078 ) 8066e14: 4a94 ldr r2, [pc, #592] ; (8067068 ) 8066e16: 2104 movs r1, #4 8066e18: 4898 ldr r0, [pc, #608] ; (806707c ) 8066e1a: f068 f961 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_LP_8, 4, (float64_t *) COEFF_LP_OKT, State_LP_8); 8066e1e: 4b98 ldr r3, [pc, #608] ; (8067080 ) 8066e20: 4a91 ldr r2, [pc, #580] ; (8067068 ) 8066e22: 2104 movs r1, #4 8066e24: 4897 ldr r0, [pc, #604] ; (8067084 ) 8066e26: f068 f95b bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_LP_16, 4, (float64_t *) COEFF_LP_OKT, State_LP_16); 8066e2a: 4b97 ldr r3, [pc, #604] ; (8067088 ) 8066e2c: 4a8e ldr r2, [pc, #568] ; (8067068 ) 8066e2e: 2104 movs r1, #4 8066e30: 4896 ldr r0, [pc, #600] ; (806708c ) 8066e32: f068 f955 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_LP_32, 4, (float64_t *) COEFF_LP_OKT, State_LP_32); 8066e36: 4b96 ldr r3, [pc, #600] ; (8067090 ) 8066e38: 4a8b ldr r2, [pc, #556] ; (8067068 ) 8066e3a: 2104 movs r1, #4 8066e3c: 4895 ldr r0, [pc, #596] ; (8067094 ) 8066e3e: f068 f94f bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_LP_63, 4, (float64_t *) COEFF_LP_OKT, State_LP_63); 8066e42: 4b95 ldr r3, [pc, #596] ; (8067098 ) 8066e44: 4a88 ldr r2, [pc, #544] ; (8067068 ) 8066e46: 2104 movs r1, #4 8066e48: 4894 ldr r0, [pc, #592] ; (806709c ) 8066e4a: f068 f949 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_LP_125, 4, (float64_t *) COEFF_LP_OKT, State_LP_125); 8066e4e: 4b94 ldr r3, [pc, #592] ; (80670a0 ) 8066e50: 4a85 ldr r2, [pc, #532] ; (8067068 ) 8066e52: 2104 movs r1, #4 8066e54: 4893 ldr r0, [pc, #588] ; (80670a4 ) 8066e56: f068 f943 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_LP_250, 4, (float64_t *) COEFF_LP_OKT, State_LP_250); 8066e5a: 4b93 ldr r3, [pc, #588] ; (80670a8 ) 8066e5c: 4a82 ldr r2, [pc, #520] ; (8067068 ) 8066e5e: 2104 movs r1, #4 8066e60: 4892 ldr r0, [pc, #584] ; (80670ac ) 8066e62: f068 f93d bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_LP_500, 4, (float64_t *) COEFF_LP_OKT, State_LP_500); 8066e66: 4b92 ldr r3, [pc, #584] ; (80670b0 ) 8066e68: 4a7f ldr r2, [pc, #508] ; (8067068 ) 8066e6a: 2104 movs r1, #4 8066e6c: 4891 ldr r0, [pc, #580] ; (80670b4 ) 8066e6e: f068 f937 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_LP_1000, 4, (float64_t *) COEFF_LP_OKT, State_LP_1000); 8066e72: 4b91 ldr r3, [pc, #580] ; (80670b8 ) 8066e74: 4a7c ldr r2, [pc, #496] ; (8067068 ) 8066e76: 2104 movs r1, #4 8066e78: 4890 ldr r0, [pc, #576] ; (80670bc ) 8066e7a: f068 f931 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_LP_2000, 4, (float64_t *) COEFF_LP_OKT, State_LP_2000); 8066e7e: 4b90 ldr r3, [pc, #576] ; (80670c0 ) 8066e80: 4a79 ldr r2, [pc, #484] ; (8067068 ) 8066e82: 2104 movs r1, #4 8066e84: 488f ldr r0, [pc, #572] ; (80670c4 ) 8066e86: f068 f92b bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_LP_4000, 4, (float64_t *) COEFF_LP_OKT, State_LP_4000); 8066e8a: 4b8f ldr r3, [pc, #572] ; (80670c8 ) 8066e8c: 4a76 ldr r2, [pc, #472] ; (8067068 ) 8066e8e: 2104 movs r1, #4 8066e90: 488e ldr r0, [pc, #568] ; (80670cc ) 8066e92: f068 f925 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_LP_8000, 4, (float64_t *) COEFF_LP_OKT, State_LP_8000); 8066e96: 4b8e ldr r3, [pc, #568] ; (80670d0 ) 8066e98: 4a73 ldr r2, [pc, #460] ; (8067068 ) 8066e9a: 2104 movs r1, #4 8066e9c: 488d ldr r0, [pc, #564] ; (80670d4 ) 8066e9e: f068 f91f bl 80cf0e0 //*************************************************************************************************************************** // THIRD //*************************************************************************************************************************** arm_biquad_cascade_df2T_init_f64(&S_OKT_10000Hz, 4, (float64_t *) BAND_5kHz, State_OKT_10000Hz); 8066ea2: 4b8d ldr r3, [pc, #564] ; (80670d8 ) 8066ea4: 4a8d ldr r2, [pc, #564] ; (80670dc ) 8066ea6: 2104 movs r1, #4 8066ea8: 488d ldr r0, [pc, #564] ; (80670e0 ) 8066eaa: f068 f919 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_8000Hz, 4, (float64_t *) BAND_4kHz, State_OKT_8000Hz); 8066eae: 4b8d ldr r3, [pc, #564] ; (80670e4 ) 8066eb0: 4a8d ldr r2, [pc, #564] ; (80670e8 ) 8066eb2: 2104 movs r1, #4 8066eb4: 488d ldr r0, [pc, #564] ; (80670ec ) 8066eb6: f068 f913 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_6300Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_6300Hz); 8066eba: 4b8d ldr r3, [pc, #564] ; (80670f0 ) 8066ebc: 4a8d ldr r2, [pc, #564] ; (80670f4 ) 8066ebe: 2104 movs r1, #4 8066ec0: 488d ldr r0, [pc, #564] ; (80670f8 ) 8066ec2: f068 f90d bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_5000Hz, 4, (float64_t *) BAND_5kHz, State_OKT_5000Hz); 8066ec6: 4b8d ldr r3, [pc, #564] ; (80670fc ) 8066ec8: 4a84 ldr r2, [pc, #528] ; (80670dc ) 8066eca: 2104 movs r1, #4 8066ecc: 488c ldr r0, [pc, #560] ; (8067100 ) 8066ece: f068 f907 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_4000Hz, 4, (float64_t *) BAND_4kHz, State_OKT_4000Hz); 8066ed2: 4b8c ldr r3, [pc, #560] ; (8067104 ) 8066ed4: 4a84 ldr r2, [pc, #528] ; (80670e8 ) 8066ed6: 2104 movs r1, #4 8066ed8: 488b ldr r0, [pc, #556] ; (8067108 ) 8066eda: f068 f901 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_3150Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_3150Hz); 8066ede: 4b8b ldr r3, [pc, #556] ; (806710c ) 8066ee0: 4a84 ldr r2, [pc, #528] ; (80670f4 ) 8066ee2: 2104 movs r1, #4 8066ee4: 488a ldr r0, [pc, #552] ; (8067110 ) 8066ee6: f068 f8fb bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_2500Hz, 4, (float64_t *) BAND_5kHz, State_OKT_2500Hz); 8066eea: 4b8a ldr r3, [pc, #552] ; (8067114 ) 8066eec: 4a7b ldr r2, [pc, #492] ; (80670dc ) 8066eee: 2104 movs r1, #4 8066ef0: 4889 ldr r0, [pc, #548] ; (8067118 ) 8066ef2: f068 f8f5 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_2000Hz, 4, (float64_t *) BAND_4kHz, State_OKT_2000Hz); 8066ef6: 4b89 ldr r3, [pc, #548] ; (806711c ) 8066ef8: 4a7b ldr r2, [pc, #492] ; (80670e8 ) 8066efa: 2104 movs r1, #4 8066efc: 4888 ldr r0, [pc, #544] ; (8067120 ) 8066efe: f068 f8ef bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_1600Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_1600Hz); 8066f02: 4b88 ldr r3, [pc, #544] ; (8067124 ) 8066f04: 4a7b ldr r2, [pc, #492] ; (80670f4 ) 8066f06: 2104 movs r1, #4 8066f08: 4887 ldr r0, [pc, #540] ; (8067128 ) 8066f0a: f068 f8e9 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_1250Hz, 4, (float64_t *) BAND_5kHz, State_OKT_1250Hz); 8066f0e: 4b87 ldr r3, [pc, #540] ; (806712c ) 8066f10: 4a72 ldr r2, [pc, #456] ; (80670dc ) 8066f12: 2104 movs r1, #4 8066f14: 4886 ldr r0, [pc, #536] ; (8067130 ) 8066f16: f068 f8e3 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_1000Hz, 4, (float64_t *) BAND_4kHz, State_OKT_1000Hz); 8066f1a: 4b86 ldr r3, [pc, #536] ; (8067134 ) 8066f1c: 4a72 ldr r2, [pc, #456] ; (80670e8 ) 8066f1e: 2104 movs r1, #4 8066f20: 4885 ldr r0, [pc, #532] ; (8067138 ) 8066f22: f068 f8dd bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_800Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_800Hz); 8066f26: 4b85 ldr r3, [pc, #532] ; (806713c ) 8066f28: 4a72 ldr r2, [pc, #456] ; (80670f4 ) 8066f2a: 2104 movs r1, #4 8066f2c: 4884 ldr r0, [pc, #528] ; (8067140 ) 8066f2e: f068 f8d7 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_630Hz, 4, (float64_t *) BAND_5kHz, State_OKT_630Hz); 8066f32: 4b84 ldr r3, [pc, #528] ; (8067144 ) 8066f34: 4a69 ldr r2, [pc, #420] ; (80670dc ) 8066f36: 2104 movs r1, #4 8066f38: 4883 ldr r0, [pc, #524] ; (8067148 ) 8066f3a: f068 f8d1 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_500Hz, 4, (float64_t *) BAND_4kHz, State_OKT_500Hz); 8066f3e: 4b83 ldr r3, [pc, #524] ; (806714c ) 8066f40: 4a69 ldr r2, [pc, #420] ; (80670e8 ) 8066f42: 2104 movs r1, #4 8066f44: 4882 ldr r0, [pc, #520] ; (8067150 ) 8066f46: f068 f8cb bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_400Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_400Hz); 8066f4a: 4b82 ldr r3, [pc, #520] ; (8067154 ) 8066f4c: 4a69 ldr r2, [pc, #420] ; (80670f4 ) 8066f4e: 2104 movs r1, #4 8066f50: 4881 ldr r0, [pc, #516] ; (8067158 ) 8066f52: f068 f8c5 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_315Hz, 4, (float64_t *) BAND_5kHz, State_OKT_315Hz); 8066f56: 4b81 ldr r3, [pc, #516] ; (806715c ) 8066f58: 4a60 ldr r2, [pc, #384] ; (80670dc ) 8066f5a: 2104 movs r1, #4 8066f5c: 4880 ldr r0, [pc, #512] ; (8067160 ) 8066f5e: f068 f8bf bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_250Hz, 4, (float64_t *) BAND_4kHz, State_OKT_250Hz); 8066f62: 4b80 ldr r3, [pc, #512] ; (8067164 ) 8066f64: 4a60 ldr r2, [pc, #384] ; (80670e8 ) 8066f66: 2104 movs r1, #4 8066f68: 487f ldr r0, [pc, #508] ; (8067168 ) 8066f6a: f068 f8b9 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_200Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_200Hz); 8066f6e: 4b7f ldr r3, [pc, #508] ; (806716c ) 8066f70: 4a60 ldr r2, [pc, #384] ; (80670f4 ) 8066f72: 2104 movs r1, #4 8066f74: 487e ldr r0, [pc, #504] ; (8067170 ) 8066f76: f068 f8b3 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_160Hz, 4, (float64_t *) BAND_5kHz, State_OKT_160Hz); 8066f7a: 4b7e ldr r3, [pc, #504] ; (8067174 ) 8066f7c: 4a57 ldr r2, [pc, #348] ; (80670dc ) 8066f7e: 2104 movs r1, #4 8066f80: 487d ldr r0, [pc, #500] ; (8067178 ) 8066f82: f068 f8ad bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_125Hz, 4, (float64_t *) BAND_4kHz, State_OKT_125Hz); 8066f86: 4b7d ldr r3, [pc, #500] ; (806717c ) 8066f88: 4a57 ldr r2, [pc, #348] ; (80670e8 ) 8066f8a: 2104 movs r1, #4 8066f8c: 487c ldr r0, [pc, #496] ; (8067180 ) 8066f8e: f068 f8a7 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_100Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_100Hz); 8066f92: 4b7c ldr r3, [pc, #496] ; (8067184 ) 8066f94: 4a57 ldr r2, [pc, #348] ; (80670f4 ) 8066f96: 2104 movs r1, #4 8066f98: 487b ldr r0, [pc, #492] ; (8067188 ) 8066f9a: f068 f8a1 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_80Hz, 4, (float64_t *) BAND_5kHz, State_OKT_80Hz); 8066f9e: 4b7b ldr r3, [pc, #492] ; (806718c ) 8066fa0: 4a4e ldr r2, [pc, #312] ; (80670dc ) 8066fa2: 2104 movs r1, #4 8066fa4: 487a ldr r0, [pc, #488] ; (8067190 ) 8066fa6: f068 f89b bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_63Hz, 4, (float64_t *) BAND_4kHz, State_OKT_63Hz); 8066faa: 4b7a ldr r3, [pc, #488] ; (8067194 ) 8066fac: 4a4e ldr r2, [pc, #312] ; (80670e8 ) 8066fae: 2104 movs r1, #4 8066fb0: 4879 ldr r0, [pc, #484] ; (8067198 ) 8066fb2: f068 f895 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_50Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_50Hz); 8066fb6: 4b79 ldr r3, [pc, #484] ; (806719c ) 8066fb8: 4a4e ldr r2, [pc, #312] ; (80670f4 ) 8066fba: 2104 movs r1, #4 8066fbc: 4878 ldr r0, [pc, #480] ; (80671a0 ) 8066fbe: f068 f88f bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_40Hz, 4, (float64_t *) BAND_5kHz, State_OKT_40Hz); 8066fc2: 4b78 ldr r3, [pc, #480] ; (80671a4 ) 8066fc4: 4a45 ldr r2, [pc, #276] ; (80670dc ) 8066fc6: 2104 movs r1, #4 8066fc8: 4877 ldr r0, [pc, #476] ; (80671a8 ) 8066fca: f068 f889 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_32Hz, 4, (float64_t *) BAND_4kHz, State_OKT_32Hz); 8066fce: 4b77 ldr r3, [pc, #476] ; (80671ac ) 8066fd0: 4a45 ldr r2, [pc, #276] ; (80670e8 ) 8066fd2: 2104 movs r1, #4 8066fd4: 4876 ldr r0, [pc, #472] ; (80671b0 ) 8066fd6: f068 f883 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_25Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_25Hz); 8066fda: 4b76 ldr r3, [pc, #472] ; (80671b4 ) 8066fdc: 4a45 ldr r2, [pc, #276] ; (80670f4 ) 8066fde: 2104 movs r1, #4 8066fe0: 4875 ldr r0, [pc, #468] ; (80671b8 ) 8066fe2: f068 f87d bl 80cf0e0 8066fe6: e0e9 b.n 80671bc 8066fe8: 20026f18 .word 0x20026f18 8066fec: 080f5630 .word 0x080f5630 8066ff0: 200278cc .word 0x200278cc 8066ff4: 20026d70 .word 0x20026d70 8066ff8: 20058044 .word 0x20058044 8066ffc: 20037ab0 .word 0x20037ab0 8067000: 20027934 .word 0x20027934 8067004: 20057bb0 .word 0x20057bb0 8067008: 20057fa8 .word 0x20057fa8 806700c: 20026e18 .word 0x20026e18 8067010: 20026ee8 .word 0x20026ee8 8067014: 20057cd8 .word 0x20057cd8 8067018: 20068550 .word 0x20068550 806701c: 20026a08 .word 0x20026a08 8067020: 20068448 .word 0x20068448 8067024: 200684c0 .word 0x200684c0 8067028: 20026750 .word 0x20026750 806702c: 20068510 .word 0x20068510 8067030: 20026948 .word 0x20026948 8067034: 20026e58 .word 0x20026e58 8067038: 20068080 .word 0x20068080 806703c: 20026878 .word 0x20026878 8067040: 200266c0 .word 0x200266c0 8067044: 20057c58 .word 0x20057c58 8067048: 20026f58 .word 0x20026f58 806704c: 20057ff0 .word 0x20057ff0 8067050: 20057bf0 .word 0x20057bf0 8067054: 20027880 .word 0x20027880 8067058: 20025e4c .word 0x20025e4c 806705c: 200277c0 .word 0x200277c0 8067060: 20057bfc .word 0x20057bfc 8067064: 200262b0 .word 0x200262b0 8067068: 080f5590 .word 0x080f5590 806706c: 200261e8 .word 0x200261e8 8067070: 20068190 .word 0x20068190 8067074: 20057d5c .word 0x20057d5c 8067078: 200268f8 .word 0x200268f8 806707c: 20057b40 .word 0x20057b40 8067080: 20026a48 .word 0x20026a48 8067084: 2002639c .word 0x2002639c 8067088: 20026000 .word 0x20026000 806708c: 20026ac8 .word 0x20026ac8 8067090: 20026b50 .word 0x20026b50 8067094: 20027918 .word 0x20027918 8067098: 20057c98 .word 0x20057c98 806709c: 20026390 .word 0x20026390 80670a0: 200268b8 .word 0x200268b8 80670a4: 20026080 .word 0x20026080 80670a8: 20068568 .word 0x20068568 80670ac: 200685a8 .word 0x200685a8 80670b0: 20027940 .word 0x20027940 80670b4: 200279bc .word 0x200279bc 80670b8: 20025ef0 .word 0x20025ef0 80670bc: 20068324 .word 0x20068324 80670c0: 20057f28 .word 0x20057f28 80670c4: 20027980 .word 0x20027980 80670c8: 20068388 .word 0x20068388 80670cc: 20026d34 .word 0x20026d34 80670d0: 20057b58 .word 0x20057b58 80670d4: 200685c4 .word 0x200685c4 80670d8: 20026ea8 .word 0x20026ea8 80670dc: 080f56d0 .word 0x080f56d0 80670e0: 20057ea0 .word 0x20057ea0 80670e4: 200263a8 .word 0x200263a8 80670e8: 080f5770 .word 0x080f5770 80670ec: 20057e50 .word 0x20057e50 80670f0: 20026270 .word 0x20026270 80670f4: 080f5810 .word 0x080f5810 80670f8: 20027870 .word 0x20027870 80670fc: 20057f68 .word 0x20057f68 8067100: 20068454 .word 0x20068454 8067104: 20026988 .word 0x20026988 8067108: 20068318 .word 0x20068318 806710c: 20068280 .word 0x20068280 8067110: 20025ee4 .word 0x20025ee4 8067114: 20026dc0 .word 0x20026dc0 8067118: 20026798 .word 0x20026798 806711c: 20026680 .word 0x20026680 8067120: 20026bdc .word 0x20026bdc 8067124: 20057e60 .word 0x20057e60 8067128: 200278d8 .word 0x200278d8 806712c: 20057d68 .word 0x20057d68 8067130: 20068470 .word 0x20068470 8067134: 20026480 .word 0x20026480 8067138: 20026218 .word 0x20026218 806713c: 200682d8 .word 0x200682d8 8067140: 200684b0 .word 0x200684b0 8067144: 20068210 .word 0x20068210 8067148: 20025ff0 .word 0x20025ff0 806714c: 20026c98 .word 0x20026c98 8067150: 20057b4c .word 0x20057b4c 8067154: 20068340 .word 0x20068340 8067158: 200260a4 .word 0x200260a4 806715c: 20026350 .word 0x20026350 8067160: 20026474 .word 0x20026474 8067164: 20026230 .word 0x20026230 8067168: 200685b4 .word 0x200685b4 806716c: 20026630 .word 0x20026630 8067170: 200265f0 .word 0x200265f0 8067174: 20025f70 .word 0x20025f70 8067178: 2002608c .word 0x2002608c 806717c: 20025e98 .word 0x20025e98 8067180: 20057c48 .word 0x20057c48 8067184: 20026828 .word 0x20026828 8067188: 20027800 .word 0x20027800 806718c: 20025e58 .word 0x20025e58 8067190: 2002680c .word 0x2002680c 8067194: 20057ee0 .word 0x20057ee0 8067198: 20057ba4 .word 0x20057ba4 806719c: 20026be8 .word 0x20026be8 80671a0: 20057de4 .word 0x20057de4 80671a4: 20026f80 .word 0x20026f80 80671a8: 20026670 .word 0x20026670 80671ac: 20068408 .word 0x20068408 80671b0: 20057fb4 .word 0x20057fb4 80671b4: 20026710 .word 0x20026710 80671b8: 20026e00 .word 0x20026e00 arm_biquad_cascade_df2T_init_f64(&S_OKT_20Hz, 4, (float64_t *) BAND_5kHz, State_OKT_20Hz); 80671bc: 4ba0 ldr r3, [pc, #640] ; (8067440 ) 80671be: 4aa1 ldr r2, [pc, #644] ; (8067444 ) 80671c0: 2104 movs r1, #4 80671c2: 48a1 ldr r0, [pc, #644] ; (8067448 ) 80671c4: f067 ff8c bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_16Hz, 4, (float64_t *) BAND_4kHz, State_OKT_16Hz); 80671c8: 4ba0 ldr r3, [pc, #640] ; (806744c ) 80671ca: 4aa1 ldr r2, [pc, #644] ; (8067450 ) 80671cc: 2104 movs r1, #4 80671ce: 48a1 ldr r0, [pc, #644] ; (8067454 ) 80671d0: f067 ff86 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_12_5Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_12_5Hz); 80671d4: 4ba0 ldr r3, [pc, #640] ; (8067458 ) 80671d6: 4aa1 ldr r2, [pc, #644] ; (806745c ) 80671d8: 2104 movs r1, #4 80671da: 48a1 ldr r0, [pc, #644] ; (8067460 ) 80671dc: f067 ff80 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_10Hz, 4, (float64_t *) BAND_5kHz, State_OKT_10Hz); 80671e0: 4ba0 ldr r3, [pc, #640] ; (8067464 ) 80671e2: 4a98 ldr r2, [pc, #608] ; (8067444 ) 80671e4: 2104 movs r1, #4 80671e6: 48a0 ldr r0, [pc, #640] ; (8067468 ) 80671e8: f067 ff7a bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_8Hz, 4, (float64_t *) BAND_4kHz, State_OKT_8Hz); 80671ec: 4b9f ldr r3, [pc, #636] ; (806746c ) 80671ee: 4a98 ldr r2, [pc, #608] ; (8067450 ) 80671f0: 2104 movs r1, #4 80671f2: 489f ldr r0, [pc, #636] ; (8067470 ) 80671f4: f067 ff74 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_6_3Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_6_3Hz); 80671f8: 4b9e ldr r3, [pc, #632] ; (8067474 ) 80671fa: 4a98 ldr r2, [pc, #608] ; (806745c ) 80671fc: 2104 movs r1, #4 80671fe: 489e ldr r0, [pc, #632] ; (8067478 ) 8067200: f067 ff6e bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_5Hz, 4, (float64_t *) BAND_5kHz, State_OKT_5Hz); 8067204: 4b9d ldr r3, [pc, #628] ; (806747c ) 8067206: 4a8f ldr r2, [pc, #572] ; (8067444 ) 8067208: 2104 movs r1, #4 806720a: 489d ldr r0, [pc, #628] ; (8067480 ) 806720c: f067 ff68 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_4Hz, 4, (float64_t *) BAND_4kHz, State_OKT_4Hz); 8067210: 4b9c ldr r3, [pc, #624] ; (8067484 ) 8067212: 4a8f ldr r2, [pc, #572] ; (8067450 ) 8067214: 2104 movs r1, #4 8067216: 489c ldr r0, [pc, #624] ; (8067488 ) 8067218: f067 ff62 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_3_15Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_3_15Hz); 806721c: 4b9b ldr r3, [pc, #620] ; (806748c ) 806721e: 4a8f ldr r2, [pc, #572] ; (806745c ) 8067220: 2104 movs r1, #4 8067222: 489b ldr r0, [pc, #620] ; (8067490 ) 8067224: f067 ff5c bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_2_5Hz, 4, (float64_t *) BAND_5kHz, State_OKT_2_5Hz); 8067228: 4b9a ldr r3, [pc, #616] ; (8067494 ) 806722a: 4a86 ldr r2, [pc, #536] ; (8067444 ) 806722c: 2104 movs r1, #4 806722e: 489a ldr r0, [pc, #616] ; (8067498 ) 8067230: f067 ff56 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_2Hz, 4, (float64_t *) BAND_4kHz, State_OKT_2Hz); 8067234: 4b99 ldr r3, [pc, #612] ; (806749c ) 8067236: 4a86 ldr r2, [pc, #536] ; (8067450 ) 8067238: 2104 movs r1, #4 806723a: 4899 ldr r0, [pc, #612] ; (80674a0 ) 806723c: f067 ff50 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_1_6Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_1_6Hz); 8067240: 4b98 ldr r3, [pc, #608] ; (80674a4 ) 8067242: 4a86 ldr r2, [pc, #536] ; (806745c ) 8067244: 2104 movs r1, #4 8067246: 4898 ldr r0, [pc, #608] ; (80674a8 ) 8067248: f067 ff4a bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_1_25Hz, 4, (float64_t *) BAND_5kHz, State_OKT_1_25Hz); 806724c: 4b97 ldr r3, [pc, #604] ; (80674ac ) 806724e: 4a7d ldr r2, [pc, #500] ; (8067444 ) 8067250: 2104 movs r1, #4 8067252: 4897 ldr r0, [pc, #604] ; (80674b0 ) 8067254: f067 ff44 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_1Hz, 4, (float64_t *) BAND_4kHz, State_OKT_1Hz); 8067258: 4b96 ldr r3, [pc, #600] ; (80674b4 ) 806725a: 4a7d ldr r2, [pc, #500] ; (8067450 ) 806725c: 2104 movs r1, #4 806725e: 4896 ldr r0, [pc, #600] ; (80674b8 ) 8067260: f067 ff3e bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_0_8Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_0_8Hz); 8067264: 4b95 ldr r3, [pc, #596] ; (80674bc ) 8067266: 4a7d ldr r2, [pc, #500] ; (806745c ) 8067268: 2104 movs r1, #4 806726a: 4895 ldr r0, [pc, #596] ; (80674c0 ) 806726c: f067 ff38 bl 80cf0e0 //todo if(pardata.SYG != UDAR) 8067270: 4b94 ldr r3, [pc, #592] ; (80674c4 ) 8067272: 781b ldrb r3, [r3, #0] 8067274: b2db uxtb r3, r3 8067276: 2b09 cmp r3, #9 8067278: d047 beq.n 806730a { initINT1_INT2(0.640); 806727a: ed9f 0b63 vldr d0, [pc, #396] ; 8067408 806727e: f000 f937 bl 80674f0 initLP((float64_t) pardata.LP); 8067282: 4b90 ldr r3, [pc, #576] ; (80674c4 ) 8067284: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8067288: eeb7 7ae7 vcvt.f64.f32 d7, s15 806728c: eeb0 0b47 vmov.f64 d0, d7 8067290: f000 fbde bl 8067a50 initHP((float64_t) pardata.HP); 8067294: 4b8b ldr r3, [pc, #556] ; (80674c4 ) 8067296: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 806729a: eeb7 7ae7 vcvt.f64.f32 d7, s15 806729e: eeb0 0b47 vmov.f64 d0, d7 80672a2: f000 fa35 bl 8067710 for(i = 0; i < 4; i++) 80672a6: 2300 movs r3, #0 80672a8: 607b str r3, [r7, #4] 80672aa: e02a b.n 8067302 { initLP_1(i, (float64_t) pardata.DIAGN_LP[CURR_POINT][i]); 80672ac: 4b86 ldr r3, [pc, #536] ; (80674c8 ) 80672ae: 781b ldrb r3, [r3, #0] 80672b0: b2db uxtb r3, r3 80672b2: 4984 ldr r1, [pc, #528] ; (80674c4 ) 80672b4: 009a lsls r2, r3, #2 80672b6: 687b ldr r3, [r7, #4] 80672b8: 4413 add r3, r2 80672ba: 33b6 adds r3, #182 ; 0xb6 80672bc: 009b lsls r3, r3, #2 80672be: 440b add r3, r1 80672c0: 3304 adds r3, #4 80672c2: edd3 7a00 vldr s15, [r3] 80672c6: eeb7 7ae7 vcvt.f64.f32 d7, s15 80672ca: eeb0 0b47 vmov.f64 d0, d7 80672ce: 6878 ldr r0, [r7, #4] 80672d0: f000 fd1a bl 8067d08 initHP_1(i, (float64_t) pardata.DIAGN_HP[CURR_POINT][i]); 80672d4: 4b7c ldr r3, [pc, #496] ; (80674c8 ) 80672d6: 781b ldrb r3, [r3, #0] 80672d8: b2db uxtb r3, r3 80672da: 497a ldr r1, [pc, #488] ; (80674c4 ) 80672dc: 009a lsls r2, r3, #2 80672de: 687b ldr r3, [r7, #4] 80672e0: 4413 add r3, r2 80672e2: 3396 adds r3, #150 ; 0x96 80672e4: 009b lsls r3, r3, #2 80672e6: 440b add r3, r1 80672e8: 3304 adds r3, #4 80672ea: edd3 7a00 vldr s15, [r3] 80672ee: eeb7 7ae7 vcvt.f64.f32 d7, s15 80672f2: eeb0 0b47 vmov.f64 d0, d7 80672f6: 6878 ldr r0, [r7, #4] 80672f8: f000 fac6 bl 8067888 for(i = 0; i < 4; i++) 80672fc: 687b ldr r3, [r7, #4] 80672fe: 3301 adds r3, #1 8067300: 607b str r3, [r7, #4] 8067302: 687b ldr r3, [r7, #4] 8067304: 2b03 cmp r3, #3 8067306: d9d1 bls.n 80672ac 8067308: e06b b.n 80673e2 } } else { k = 0; 806730a: 2300 movs r3, #0 806730c: 603b str r3, [r7, #0] MY_COEFF_HP[k++] = 0.779283316385214975; //Fs=250000, Fc=11200 806730e: 683b ldr r3, [r7, #0] 8067310: 1c5a adds r2, r3, #1 8067312: 603a str r2, [r7, #0] 8067314: 4a6d ldr r2, [pc, #436] ; (80674cc ) 8067316: 00db lsls r3, r3, #3 8067318: 441a add r2, r3 806731a: a43d add r4, pc, #244 ; (adr r4, 8067410 ) 806731c: cc18 ldmia r4, {r3, r4} 806731e: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -1.558566632770429950; 8067322: 683b ldr r3, [r7, #0] 8067324: 1c5a adds r2, r3, #1 8067326: 603a str r2, [r7, #0] 8067328: 4a68 ldr r2, [pc, #416] ; (80674cc ) 806732a: 00db lsls r3, r3, #3 806732c: 441a add r2, r3 806732e: a43a add r4, pc, #232 ; (adr r4, 8067418 ) 8067330: cc18 ldmia r4, {r3, r4} 8067332: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 0.779283316385214975; 8067336: 683b ldr r3, [r7, #0] 8067338: 1c5a adds r2, r3, #1 806733a: 603a str r2, [r7, #0] 806733c: 4a63 ldr r2, [pc, #396] ; (80674cc ) 806733e: 00db lsls r3, r3, #3 8067340: 441a add r2, r3 8067342: a433 add r4, pc, #204 ; (adr r4, 8067410 ) 8067344: cc18 ldmia r4, {r3, r4} 8067346: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 1.526997415838100560; 806734a: 683b ldr r3, [r7, #0] 806734c: 1c5a adds r2, r3, #1 806734e: 603a str r2, [r7, #0] 8067350: 4a5e ldr r2, [pc, #376] ; (80674cc ) 8067352: 00db lsls r3, r3, #3 8067354: 441a add r2, r3 8067356: a432 add r4, pc, #200 ; (adr r4, 8067420 ) 8067358: cc18 ldmia r4, {r3, r4} 806735a: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -0.590135849702759563; 806735e: 683b ldr r3, [r7, #0] 8067360: 1c5a adds r2, r3, #1 8067362: 603a str r2, [r7, #0] 8067364: 4a59 ldr r2, [pc, #356] ; (80674cc ) 8067366: 00db lsls r3, r3, #3 8067368: 441a add r2, r3 806736a: a42f add r4, pc, #188 ; (adr r4, 8067428 ) 806736c: cc18 ldmia r4, {r3, r4} 806736e: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 0.885595948673332356; 8067372: 683b ldr r3, [r7, #0] 8067374: 1c5a adds r2, r3, #1 8067376: 603a str r2, [r7, #0] 8067378: 4a54 ldr r2, [pc, #336] ; (80674cc ) 806737a: 00db lsls r3, r3, #3 806737c: 441a add r2, r3 806737e: a42c add r4, pc, #176 ; (adr r4, 8067430 ) 8067380: cc18 ldmia r4, {r3, r4} 8067382: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -1.771191897346664710; 8067386: 683b ldr r3, [r7, #0] 8067388: 1c5a adds r2, r3, #1 806738a: 603a str r2, [r7, #0] 806738c: 4a4f ldr r2, [pc, #316] ; (80674cc ) 806738e: 00db lsls r3, r3, #3 8067390: 441a add r2, r3 8067392: a429 add r4, pc, #164 ; (adr r4, 8067438 ) 8067394: cc18 ldmia r4, {r3, r4} 8067396: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 0.885595948673332356; 806739a: 683b ldr r3, [r7, #0] 806739c: 1c5a adds r2, r3, #1 806739e: 603a str r2, [r7, #0] 80673a0: 4a4a ldr r2, [pc, #296] ; (80674cc ) 80673a2: 00db lsls r3, r3, #3 80673a4: 441a add r2, r3 80673a6: a422 add r4, pc, #136 ; (adr r4, 8067430 ) 80673a8: cc18 ldmia r4, {r3, r4} 80673aa: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 1.526997415838100560; 80673ae: 683b ldr r3, [r7, #0] 80673b0: 1c5a adds r2, r3, #1 80673b2: 603a str r2, [r7, #0] 80673b4: 4a45 ldr r2, [pc, #276] ; (80674cc ) 80673b6: 00db lsls r3, r3, #3 80673b8: 441a add r2, r3 80673ba: a419 add r4, pc, #100 ; (adr r4, 8067420 ) 80673bc: cc18 ldmia r4, {r3, r4} 80673be: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -0.590135849702759563; 80673c2: 683b ldr r3, [r7, #0] 80673c4: 1c5a adds r2, r3, #1 80673c6: 603a str r2, [r7, #0] 80673c8: 4a40 ldr r2, [pc, #256] ; (80674cc ) 80673ca: 00db lsls r3, r3, #3 80673cc: 441a add r2, r3 80673ce: a416 add r4, pc, #88 ; (adr r4, 8067428 ) 80673d0: cc18 ldmia r4, {r3, r4} 80673d2: 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); 80673d6: 4b3e ldr r3, [pc, #248] ; (80674d0 ) 80673d8: 4a3c ldr r2, [pc, #240] ; (80674cc ) 80673da: 2102 movs r1, #2 80673dc: 483d ldr r0, [pc, #244] ; (80674d4 ) 80673de: f067 fe7f bl 80cf0e0 } /// TACHO arm_biquad_cascade_df2T_init_f64(&S_HP_TACHO, 1, (float64_t *) COEFF_HP_TACHO, State_HP_TACHO); 80673e2: 4b3d ldr r3, [pc, #244] ; (80674d8 ) 80673e4: 4a3d ldr r2, [pc, #244] ; (80674dc ) 80673e6: 2101 movs r1, #1 80673e8: 483d ldr r0, [pc, #244] ; (80674e0 ) 80673ea: f067 fe79 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_LP_TACHO, 2, (float64_t *) COEFF_LP_TACHO, State_LP_TACHO); 80673ee: 4b3d ldr r3, [pc, #244] ; (80674e4 ) 80673f0: 4a3d ldr r2, [pc, #244] ; (80674e8 ) 80673f2: 2102 movs r1, #2 80673f4: 483d ldr r0, [pc, #244] ; (80674ec ) 80673f6: f067 fe73 bl 80cf0e0 } 80673fa: bf00 nop 80673fc: 370c adds r7, #12 80673fe: 46bd mov sp, r7 8067400: bd90 pop {r4, r7, pc} 8067402: bf00 nop 8067404: f3af 8000 nop.w 8067408: 47ae147b .word 0x47ae147b 806740c: 3fe47ae1 .word 0x3fe47ae1 8067410: 90c62c65 .word 0x90c62c65 8067414: 3fe8efe3 .word 0x3fe8efe3 8067418: 90c62c65 .word 0x90c62c65 806741c: bff8efe3 .word 0xbff8efe3 8067420: d7a19e54 .word 0xd7a19e54 8067424: 3ff86e94 .word 0x3ff86e94 8067428: 93d574ee .word 0x93d574ee 806742c: bfe2e264 .word 0xbfe2e264 8067430: 50a0b4b1 .word 0x50a0b4b1 8067434: 3fec56cd .word 0x3fec56cd 8067438: 50a0b4b1 .word 0x50a0b4b1 806743c: bffc56cd .word 0xbffc56cd 8067440: 200263e8 .word 0x200263e8 8067444: 080f56d0 .word 0x080f56d0 8067448: 20026040 .word 0x20026040 806744c: 20026570 .word 0x20026570 8067450: 080f5770 .word 0x080f5770 8067454: 20026c28 .word 0x20026c28 8067458: 20026cd8 .word 0x20026cd8 806745c: 080f5810 .word 0x080f5810 8067460: 20057b98 .word 0x20057b98 8067464: 20027830 .word 0x20027830 8067468: 200680e0 .word 0x200680e0 806746c: 20026b90 .word 0x20026b90 8067470: 20057d24 .word 0x20057d24 8067474: 200279c8 .word 0x200279c8 8067478: 20057ebc .word 0x20057ebc 806747c: 200681d0 .word 0x200681d0 8067480: 20057d50 .word 0x20057d50 8067484: 200680f0 .word 0x200680f0 8067488: 20026098 .word 0x20026098 806748c: 200269c8 .word 0x200269c8 8067490: 20068464 .word 0x20068464 8067494: 20026b10 .word 0x20026b10 8067498: 20057dd8 .word 0x20057dd8 806749c: 20057c08 .word 0x20057c08 80674a0: 20026468 .word 0x20026468 80674a4: 20026a88 .word 0x20026a88 80674a8: 20026868 .word 0x20026868 80674ac: 20068150 .word 0x20068150 80674b0: 20026f64 .word 0x20026f64 80674b4: 20037af0 .word 0x20037af0 80674b8: 20057e20 .word 0x20057e20 80674bc: 200266d0 .word 0x200266d0 80674c0: 2002798c .word 0x2002798c 80674c4: 20023eb8 .word 0x20023eb8 80674c8: 2002105d .word 0x2002105d 80674cc: 20021068 .word 0x20021068 80674d0: 20068130 .word 0x20068130 80674d4: 20025f60 .word 0x20025f60 80674d8: 200265e0 .word 0x200265e0 80674dc: 080f5a40 .word 0x080f5a40 80674e0: 20057d18 .word 0x20057d18 80674e4: 20057e30 .word 0x20057e30 80674e8: 080f5a68 .word 0x080f5a68 80674ec: 200682cc .word 0x200682cc 080674f0 : //************************************************************************************************************************************************** //************************************************************************************************************************************************** //************************************************************************************************************************************************** void initINT1_INT2(float64_t Fc) { 80674f0: b590 push {r4, r7, lr} 80674f2: f5ad 7d4f sub.w sp, sp, #828 ; 0x33c 80674f6: af00 add r7, sp, #0 80674f8: 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); 80674fc: 4b6c ldr r3, [pc, #432] ; (80676b0 ) 80674fe: 7adb ldrb r3, [r3, #11] 8067500: b2db uxtb r3, r3 8067502: 461a mov r2, r3 8067504: 4613 mov r3, r2 8067506: 009b lsls r3, r3, #2 8067508: 4413 add r3, r2 806750a: 00db lsls r3, r3, #3 806750c: 4a69 ldr r2, [pc, #420] ; (80676b4 ) 806750e: 441a add r2, r3 8067510: 4b69 ldr r3, [pc, #420] ; (80676b8 ) 8067512: 2101 movs r1, #1 8067514: 4869 ldr r0, [pc, #420] ; (80676bc ) 8067516: f067 fde3 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&D_INT1[0], 1, (float64_t *) MY_COEFF[pardata.FRQ], &State_D_INT1[0][0]); 806751a: 4b65 ldr r3, [pc, #404] ; (80676b0 ) 806751c: 7adb ldrb r3, [r3, #11] 806751e: b2db uxtb r3, r3 8067520: 461a mov r2, r3 8067522: 4613 mov r3, r2 8067524: 009b lsls r3, r3, #2 8067526: 4413 add r3, r2 8067528: 00db lsls r3, r3, #3 806752a: 4a62 ldr r2, [pc, #392] ; (80676b4 ) 806752c: 441a add r2, r3 806752e: 4b64 ldr r3, [pc, #400] ; (80676c0 ) 8067530: 2101 movs r1, #1 8067532: 4864 ldr r0, [pc, #400] ; (80676c4 ) 8067534: f067 fdd4 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&D_INT1[1], 1, (float64_t *) MY_COEFF[pardata.FRQ], &State_D_INT1[1][0]); 8067538: 4b5d ldr r3, [pc, #372] ; (80676b0 ) 806753a: 7adb ldrb r3, [r3, #11] 806753c: b2db uxtb r3, r3 806753e: 461a mov r2, r3 8067540: 4613 mov r3, r2 8067542: 009b lsls r3, r3, #2 8067544: 4413 add r3, r2 8067546: 00db lsls r3, r3, #3 8067548: 4a5a ldr r2, [pc, #360] ; (80676b4 ) 806754a: 441a add r2, r3 806754c: 4b5e ldr r3, [pc, #376] ; (80676c8 ) 806754e: 2101 movs r1, #1 8067550: 485e ldr r0, [pc, #376] ; (80676cc ) 8067552: f067 fdc5 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&D_INT1[2], 1, (float64_t *) MY_COEFF[pardata.FRQ], &State_D_INT1[2][0]); 8067556: 4b56 ldr r3, [pc, #344] ; (80676b0 ) 8067558: 7adb ldrb r3, [r3, #11] 806755a: b2db uxtb r3, r3 806755c: 461a mov r2, r3 806755e: 4613 mov r3, r2 8067560: 009b lsls r3, r3, #2 8067562: 4413 add r3, r2 8067564: 00db lsls r3, r3, #3 8067566: 4a53 ldr r2, [pc, #332] ; (80676b4 ) 8067568: 441a add r2, r3 806756a: 4b59 ldr r3, [pc, #356] ; (80676d0 ) 806756c: 2101 movs r1, #1 806756e: 4859 ldr r0, [pc, #356] ; (80676d4 ) 8067570: f067 fdb6 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&D_INT1[3], 1, (float64_t *) MY_COEFF[pardata.FRQ], &State_D_INT1[3][0]); 8067574: 4b4e ldr r3, [pc, #312] ; (80676b0 ) 8067576: 7adb ldrb r3, [r3, #11] 8067578: b2db uxtb r3, r3 806757a: 461a mov r2, r3 806757c: 4613 mov r3, r2 806757e: 009b lsls r3, r3, #2 8067580: 4413 add r3, r2 8067582: 00db lsls r3, r3, #3 8067584: 4a4b ldr r2, [pc, #300] ; (80676b4 ) 8067586: 441a add r2, r3 8067588: 4b53 ldr r3, [pc, #332] ; (80676d8 ) 806758a: 2101 movs r1, #1 806758c: 4853 ldr r0, [pc, #332] ; (80676dc ) 806758e: f067 fda7 bl 80cf0e0 k = 0; 8067592: 2300 movs r3, #0 8067594: f887 3337 strb.w r3, [r7, #823] ; 0x337 IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirLPF, 2, Fc, 0.1); 8067598: 4c51 ldr r4, [pc, #324] ; (80676e0 ) 806759a: 4638 mov r0, r7 806759c: ed9f 2b40 vldr d2, [pc, #256] ; 80676a0 80675a0: ed97 1bca vldr d1, [r7, #808] ; 0x328 80675a4: 2302 movs r3, #2 80675a6: 2200 movs r2, #0 80675a8: ed9f 0b3f vldr d0, [pc, #252] ; 80676a8 80675ac: 2100 movs r1, #0 80675ae: f7c9 fba7 bl 8030d00 80675b2: 463b mov r3, r7 80675b4: 4620 mov r0, r4 80675b6: 4619 mov r1, r3 80675b8: f44f 734a mov.w r3, #808 ; 0x328 80675bc: 461a mov r2, r3 80675be: f06a fce6 bl 80d1f8e MY_COEFF_INT2[k++] = IIR.b0[0]; 80675c2: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 80675c6: 1c5a adds r2, r3, #1 80675c8: f887 2337 strb.w r2, [r7, #823] ; 0x337 80675cc: 461a mov r2, r3 80675ce: 4b44 ldr r3, [pc, #272] ; (80676e0 ) 80675d0: e9d3 3464 ldrd r3, r4, [r3, #400] ; 0x190 80675d4: 4943 ldr r1, [pc, #268] ; (80676e4 ) 80675d6: 00d2 lsls r2, r2, #3 80675d8: 440a add r2, r1 80675da: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_INT2[k++] = IIR.b1[0]; 80675de: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 80675e2: 1c5a adds r2, r3, #1 80675e4: f887 2337 strb.w r2, [r7, #823] ; 0x337 80675e8: 461a mov r2, r3 80675ea: 4b3d ldr r3, [pc, #244] ; (80676e0 ) 80675ec: e9d3 3478 ldrd r3, r4, [r3, #480] ; 0x1e0 80675f0: 493c ldr r1, [pc, #240] ; (80676e4 ) 80675f2: 00d2 lsls r2, r2, #3 80675f4: 440a add r2, r1 80675f6: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_INT2[k++] = IIR.b2[0]; 80675fa: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 80675fe: 1c5a adds r2, r3, #1 8067600: f887 2337 strb.w r2, [r7, #823] ; 0x337 8067604: 461a mov r2, r3 8067606: 4b36 ldr r3, [pc, #216] ; (80676e0 ) 8067608: e9d3 348c ldrd r3, r4, [r3, #560] ; 0x230 806760c: 4935 ldr r1, [pc, #212] ; (80676e4 ) 806760e: 00d2 lsls r2, r2, #3 8067610: 440a add r2, r1 8067612: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_INT2[k++] = -IIR.a1[0]; 8067616: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 806761a: 1c5a adds r2, r3, #1 806761c: f887 2337 strb.w r2, [r7, #823] ; 0x337 8067620: 4619 mov r1, r3 8067622: 4b2f ldr r3, [pc, #188] ; (80676e0 ) 8067624: ed93 7b14 vldr d7, [r3, #80] ; 0x50 8067628: eeb1 7b47 vneg.f64 d7, d7 806762c: 4a2d ldr r2, [pc, #180] ; (80676e4 ) 806762e: 00cb lsls r3, r1, #3 8067630: 4413 add r3, r2 8067632: ed83 7b00 vstr d7, [r3] MY_COEFF_INT2[k++] = -IIR.a2[0]; 8067636: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 806763a: 1c5a adds r2, r3, #1 806763c: f887 2337 strb.w r2, [r7, #823] ; 0x337 8067640: 4619 mov r1, r3 8067642: 4b27 ldr r3, [pc, #156] ; (80676e0 ) 8067644: ed93 7b28 vldr d7, [r3, #160] ; 0xa0 8067648: eeb1 7b47 vneg.f64 d7, d7 806764c: 4a25 ldr r2, [pc, #148] ; (80676e4 ) 806764e: 00cb lsls r3, r1, #3 8067650: 4413 add r3, r2 8067652: ed83 7b00 vstr d7, [r3] arm_biquad_cascade_df2T_init_f64(&S_INT2, 1, (float64_t *) MY_COEFF_INT2, State_INT2); 8067656: 4b24 ldr r3, [pc, #144] ; (80676e8 ) 8067658: 4a22 ldr r2, [pc, #136] ; (80676e4 ) 806765a: 2101 movs r1, #1 806765c: 4823 ldr r0, [pc, #140] ; (80676ec ) 806765e: f067 fd3f bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&D_INT2[0], 1, (float64_t *) MY_COEFF_INT2, &State_D_INT2[0][0]); 8067662: 4b23 ldr r3, [pc, #140] ; (80676f0 ) 8067664: 4a1f ldr r2, [pc, #124] ; (80676e4 ) 8067666: 2101 movs r1, #1 8067668: 4822 ldr r0, [pc, #136] ; (80676f4 ) 806766a: f067 fd39 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&D_INT2[1], 1, (float64_t *) MY_COEFF_INT2, &State_D_INT2[1][0]); 806766e: 4b22 ldr r3, [pc, #136] ; (80676f8 ) 8067670: 4a1c ldr r2, [pc, #112] ; (80676e4 ) 8067672: 2101 movs r1, #1 8067674: 4821 ldr r0, [pc, #132] ; (80676fc ) 8067676: f067 fd33 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&D_INT2[2], 1, (float64_t *) MY_COEFF_INT2, &State_D_INT2[2][0]); 806767a: 4b21 ldr r3, [pc, #132] ; (8067700 ) 806767c: 4a19 ldr r2, [pc, #100] ; (80676e4 ) 806767e: 2101 movs r1, #1 8067680: 4820 ldr r0, [pc, #128] ; (8067704 ) 8067682: f067 fd2d bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&D_INT2[3], 1, (float64_t *) MY_COEFF_INT2, &State_D_INT2[3][0]); 8067686: 4b20 ldr r3, [pc, #128] ; (8067708 ) 8067688: 4a16 ldr r2, [pc, #88] ; (80676e4 ) 806768a: 2101 movs r1, #1 806768c: 481f ldr r0, [pc, #124] ; (806770c ) 806768e: f067 fd27 bl 80cf0e0 } 8067692: bf00 nop 8067694: f507 774f add.w r7, r7, #828 ; 0x33c 8067698: 46bd mov sp, r7 806769a: bd90 pop {r4, r7, pc} 806769c: f3af 8000 nop.w 80676a0: 9999999a .word 0x9999999a 80676a4: 3fb99999 .word 0x3fb99999 ... 80676b0: 20023eb8 .word 0x20023eb8 80676b4: 080f58b0 .word 0x080f58b0 80676b8: 20068090 .word 0x20068090 80676bc: 200261d0 .word 0x200261d0 80676c0: 20026428 .word 0x20026428 80676c4: 20026954 .word 0x20026954 80676c8: 20026438 .word 0x20026438 80676cc: 20026960 .word 0x20026960 80676d0: 20026448 .word 0x20026448 80676d4: 2002696c .word 0x2002696c 80676d8: 20026458 .word 0x20026458 80676dc: 20026978 .word 0x20026978 80676e0: 20025970 .word 0x20025970 80676e4: 20021158 .word 0x20021158 80676e8: 20026818 .word 0x20026818 80676ec: 20027924 .word 0x20027924 80676f0: 20025fb0 .word 0x20025fb0 80676f4: 20057df0 .word 0x20057df0 80676f8: 20025fc0 .word 0x20025fc0 80676fc: 20057dfc .word 0x20057dfc 8067700: 20025fd0 .word 0x20025fd0 8067704: 20057e08 .word 0x20057e08 8067708: 20025fe0 .word 0x20025fe0 806770c: 20057e14 .word 0x20057e14 08067710 : void initHP(float64_t Fc) { 8067710: b590 push {r4, r7, lr} 8067712: f5ad 7d4f sub.w sp, sp, #828 ; 0x33c 8067716: af00 add r7, sp, #0 8067718: ed87 0bca vstr d0, [r7, #808] ; 0x328 uint8_t i, k; k = 0; 806771c: 2300 movs r3, #0 806771e: f887 3336 strb.w r3, [r7, #822] ; 0x336 IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirHPF, 4, Fc, 0.1); 8067722: 4c51 ldr r4, [pc, #324] ; (8067868 ) 8067724: 4638 mov r0, r7 8067726: ed9f 2b4c vldr d2, [pc, #304] ; 8067858 806772a: ed97 1bca vldr d1, [r7, #808] ; 0x328 806772e: 2304 movs r3, #4 8067730: 2201 movs r2, #1 8067732: ed9f 0b4b vldr d0, [pc, #300] ; 8067860 8067736: 2100 movs r1, #0 8067738: f7c9 fae2 bl 8030d00 806773c: 463b mov r3, r7 806773e: 4620 mov r0, r4 8067740: 4619 mov r1, r3 8067742: f44f 734a mov.w r3, #808 ; 0x328 8067746: 461a mov r2, r3 8067748: f06a fc21 bl 80d1f8e for(i = 0; i < 2; i++) 806774c: 2300 movs r3, #0 806774e: f887 3337 strb.w r3, [r7, #823] ; 0x337 8067752: e064 b.n 806781e { MY_COEFF_HP[k++] = IIR.b0[i]; 8067754: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 8067758: 1c5a adds r2, r3, #1 806775a: f887 2336 strb.w r2, [r7, #822] ; 0x336 806775e: 4618 mov r0, r3 8067760: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8067764: 4a40 ldr r2, [pc, #256] ; (8067868 ) 8067766: 3332 adds r3, #50 ; 0x32 8067768: 00db lsls r3, r3, #3 806776a: 4413 add r3, r2 806776c: cb18 ldmia r3, {r3, r4} 806776e: 493f ldr r1, [pc, #252] ; (806786c ) 8067770: 00c2 lsls r2, r0, #3 8067772: 440a add r2, r1 8067774: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = IIR.b1[i]; 8067778: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 806777c: 1c5a adds r2, r3, #1 806777e: f887 2336 strb.w r2, [r7, #822] ; 0x336 8067782: 4618 mov r0, r3 8067784: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8067788: 4a37 ldr r2, [pc, #220] ; (8067868 ) 806778a: 333c adds r3, #60 ; 0x3c 806778c: 00db lsls r3, r3, #3 806778e: 4413 add r3, r2 8067790: cb18 ldmia r3, {r3, r4} 8067792: 4936 ldr r1, [pc, #216] ; (806786c ) 8067794: 00c2 lsls r2, r0, #3 8067796: 440a add r2, r1 8067798: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = IIR.b2[i]; 806779c: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 80677a0: 1c5a adds r2, r3, #1 80677a2: f887 2336 strb.w r2, [r7, #822] ; 0x336 80677a6: 4618 mov r0, r3 80677a8: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 80677ac: 4a2e ldr r2, [pc, #184] ; (8067868 ) 80677ae: 3346 adds r3, #70 ; 0x46 80677b0: 00db lsls r3, r3, #3 80677b2: 4413 add r3, r2 80677b4: cb18 ldmia r3, {r3, r4} 80677b6: 492d ldr r1, [pc, #180] ; (806786c ) 80677b8: 00c2 lsls r2, r0, #3 80677ba: 440a add r2, r1 80677bc: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -IIR.a1[i]; 80677c0: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 80677c4: 1c5a adds r2, r3, #1 80677c6: f887 2336 strb.w r2, [r7, #822] ; 0x336 80677ca: 4619 mov r1, r3 80677cc: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 80677d0: 4a25 ldr r2, [pc, #148] ; (8067868 ) 80677d2: 330a adds r3, #10 80677d4: 00db lsls r3, r3, #3 80677d6: 4413 add r3, r2 80677d8: ed93 7b00 vldr d7, [r3] 80677dc: eeb1 7b47 vneg.f64 d7, d7 80677e0: 4a22 ldr r2, [pc, #136] ; (806786c ) 80677e2: 00cb lsls r3, r1, #3 80677e4: 4413 add r3, r2 80677e6: ed83 7b00 vstr d7, [r3] MY_COEFF_HP[k++] = -IIR.a2[i]; 80677ea: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 80677ee: 1c5a adds r2, r3, #1 80677f0: f887 2336 strb.w r2, [r7, #822] ; 0x336 80677f4: 4619 mov r1, r3 80677f6: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 80677fa: 4a1b ldr r2, [pc, #108] ; (8067868 ) 80677fc: 3314 adds r3, #20 80677fe: 00db lsls r3, r3, #3 8067800: 4413 add r3, r2 8067802: ed93 7b00 vldr d7, [r3] 8067806: eeb1 7b47 vneg.f64 d7, d7 806780a: 4a18 ldr r2, [pc, #96] ; (806786c ) 806780c: 00cb lsls r3, r1, #3 806780e: 4413 add r3, r2 8067810: ed83 7b00 vstr d7, [r3] for(i = 0; i < 2; i++) 8067814: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8067818: 3301 adds r3, #1 806781a: f887 3337 strb.w r3, [r7, #823] ; 0x337 806781e: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8067822: 2b01 cmp r3, #1 8067824: d996 bls.n 8067754 } arm_biquad_cascade_df2T_init_f64(&S_HP_ACC, 2, (float64_t *) MY_COEFF_HP, State_HP_ACC); 8067826: 4b12 ldr r3, [pc, #72] ; (8067870 ) 8067828: 4a10 ldr r2, [pc, #64] ; (806786c ) 806782a: 2102 movs r1, #2 806782c: 4811 ldr r0, [pc, #68] ; (8067874 ) 806782e: f067 fc57 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_HP_VEL, 2, (float64_t *) MY_COEFF_HP, State_HP_VEL); 8067832: 4b11 ldr r3, [pc, #68] ; (8067878 ) 8067834: 4a0d ldr r2, [pc, #52] ; (806786c ) 8067836: 2102 movs r1, #2 8067838: 4810 ldr r0, [pc, #64] ; (806787c ) 806783a: f067 fc51 bl 80cf0e0 arm_biquad_cascade_df2T_init_f64(&S_HP_DIS, 2, (float64_t *) MY_COEFF_HP, State_HP_DIS); 806783e: 4b10 ldr r3, [pc, #64] ; (8067880 ) 8067840: 4a0a ldr r2, [pc, #40] ; (806786c ) 8067842: 2102 movs r1, #2 8067844: 480f ldr r0, [pc, #60] ; (8067884 ) 8067846: f067 fc4b bl 80cf0e0 } 806784a: bf00 nop 806784c: f507 774f add.w r7, r7, #828 ; 0x33c 8067850: 46bd mov sp, r7 8067852: bd90 pop {r4, r7, pc} 8067854: f3af 8000 nop.w 8067858: 9999999a .word 0x9999999a 806785c: 3fb99999 .word 0x3fb99999 ... 8067868: 20025970 .word 0x20025970 806786c: 20021068 .word 0x20021068 8067870: 20068130 .word 0x20068130 8067874: 20025f60 .word 0x20025f60 8067878: 20027810 .word 0x20027810 806787c: 20025ed8 .word 0x20025ed8 8067880: 20026d40 .word 0x20026d40 8067884: 200279b0 .word 0x200279b0 08067888 : void initHP_1(uint32_t n, float64_t Fc) { 8067888: b5b0 push {r4, r5, r7, lr} 806788a: f5ad 7d50 sub.w sp, sp, #832 ; 0x340 806788e: af00 add r7, sp, #0 8067890: f8c7 0334 str.w r0, [r7, #820] ; 0x334 8067894: ed87 0bca vstr d0, [r7, #808] ; 0x328 uint8_t i, k; k = 0; 8067898: 2300 movs r3, #0 806789a: f887 333e strb.w r3, [r7, #830] ; 0x33e IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirHPF, 4, Fc, 0.1); 806789e: 4c68 ldr r4, [pc, #416] ; (8067a40 ) 80678a0: 4638 mov r0, r7 80678a2: ed9f 2b63 vldr d2, [pc, #396] ; 8067a30 80678a6: ed97 1bca vldr d1, [r7, #808] ; 0x328 80678aa: 2304 movs r3, #4 80678ac: 2201 movs r2, #1 80678ae: ed9f 0b62 vldr d0, [pc, #392] ; 8067a38 80678b2: 2100 movs r1, #0 80678b4: f7c9 fa24 bl 8030d00 80678b8: 463b mov r3, r7 80678ba: 4620 mov r0, r4 80678bc: 4619 mov r1, r3 80678be: f44f 734a mov.w r3, #808 ; 0x328 80678c2: 461a mov r2, r3 80678c4: f06a fb63 bl 80d1f8e for(i = 0; i < 2; i++) 80678c8: 2300 movs r3, #0 80678ca: f887 333f strb.w r3, [r7, #831] ; 0x33f 80678ce: e08a b.n 80679e6 { D_COEFF_HP[n][k++] = IIR.b0[i]; 80678d0: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 80678d4: 1c5a adds r2, r3, #1 80678d6: f887 233e strb.w r2, [r7, #830] ; 0x33e 80678da: 461d mov r5, r3 80678dc: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 80678e0: 4a57 ldr r2, [pc, #348] ; (8067a40 ) 80678e2: 3332 adds r3, #50 ; 0x32 80678e4: 00db lsls r3, r3, #3 80678e6: 4413 add r3, r2 80678e8: e893 0006 ldmia.w r3, {r1, r2} 80678ec: 4c55 ldr r4, [pc, #340] ; (8067a44 ) 80678ee: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 80678f2: 4603 mov r3, r0 80678f4: 009b lsls r3, r3, #2 80678f6: 4403 add r3, r0 80678f8: 005b lsls r3, r3, #1 80678fa: 442b add r3, r5 80678fc: 00db lsls r3, r3, #3 80678fe: 4423 add r3, r4 8067900: e883 0006 stmia.w r3, {r1, r2} D_COEFF_HP[n][k++] = IIR.b1[i]; 8067904: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8067908: 1c5a adds r2, r3, #1 806790a: f887 233e strb.w r2, [r7, #830] ; 0x33e 806790e: 461d mov r5, r3 8067910: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8067914: 4a4a ldr r2, [pc, #296] ; (8067a40 ) 8067916: 333c adds r3, #60 ; 0x3c 8067918: 00db lsls r3, r3, #3 806791a: 4413 add r3, r2 806791c: e893 0006 ldmia.w r3, {r1, r2} 8067920: 4c48 ldr r4, [pc, #288] ; (8067a44 ) 8067922: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 8067926: 4603 mov r3, r0 8067928: 009b lsls r3, r3, #2 806792a: 4403 add r3, r0 806792c: 005b lsls r3, r3, #1 806792e: 442b add r3, r5 8067930: 00db lsls r3, r3, #3 8067932: 4423 add r3, r4 8067934: e883 0006 stmia.w r3, {r1, r2} D_COEFF_HP[n][k++] = IIR.b2[i]; 8067938: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 806793c: 1c5a adds r2, r3, #1 806793e: f887 233e strb.w r2, [r7, #830] ; 0x33e 8067942: 461d mov r5, r3 8067944: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8067948: 4a3d ldr r2, [pc, #244] ; (8067a40 ) 806794a: 3346 adds r3, #70 ; 0x46 806794c: 00db lsls r3, r3, #3 806794e: 4413 add r3, r2 8067950: e893 0006 ldmia.w r3, {r1, r2} 8067954: 4c3b ldr r4, [pc, #236] ; (8067a44 ) 8067956: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 806795a: 4603 mov r3, r0 806795c: 009b lsls r3, r3, #2 806795e: 4403 add r3, r0 8067960: 005b lsls r3, r3, #1 8067962: 442b add r3, r5 8067964: 00db lsls r3, r3, #3 8067966: 4423 add r3, r4 8067968: e883 0006 stmia.w r3, {r1, r2} D_COEFF_HP[n][k++] = -IIR.a1[i]; 806796c: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8067970: 1c5a adds r2, r3, #1 8067972: f887 233e strb.w r2, [r7, #830] ; 0x33e 8067976: 4618 mov r0, r3 8067978: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 806797c: 4a30 ldr r2, [pc, #192] ; (8067a40 ) 806797e: 330a adds r3, #10 8067980: 00db lsls r3, r3, #3 8067982: 4413 add r3, r2 8067984: ed93 7b00 vldr d7, [r3] 8067988: eeb1 7b47 vneg.f64 d7, d7 806798c: 492d ldr r1, [pc, #180] ; (8067a44 ) 806798e: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8067992: 4613 mov r3, r2 8067994: 009b lsls r3, r3, #2 8067996: 4413 add r3, r2 8067998: 005b lsls r3, r3, #1 806799a: 4403 add r3, r0 806799c: 00db lsls r3, r3, #3 806799e: 440b add r3, r1 80679a0: ed83 7b00 vstr d7, [r3] D_COEFF_HP[n][k++] = -IIR.a2[i]; 80679a4: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 80679a8: 1c5a adds r2, r3, #1 80679aa: f887 233e strb.w r2, [r7, #830] ; 0x33e 80679ae: 4618 mov r0, r3 80679b0: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 80679b4: 4a22 ldr r2, [pc, #136] ; (8067a40 ) 80679b6: 3314 adds r3, #20 80679b8: 00db lsls r3, r3, #3 80679ba: 4413 add r3, r2 80679bc: ed93 7b00 vldr d7, [r3] 80679c0: eeb1 7b47 vneg.f64 d7, d7 80679c4: 491f ldr r1, [pc, #124] ; (8067a44 ) 80679c6: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 80679ca: 4613 mov r3, r2 80679cc: 009b lsls r3, r3, #2 80679ce: 4413 add r3, r2 80679d0: 005b lsls r3, r3, #1 80679d2: 4403 add r3, r0 80679d4: 00db lsls r3, r3, #3 80679d6: 440b add r3, r1 80679d8: ed83 7b00 vstr d7, [r3] for(i = 0; i < 2; i++) 80679dc: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 80679e0: 3301 adds r3, #1 80679e2: f887 333f strb.w r3, [r7, #831] ; 0x33f 80679e6: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 80679ea: 2b01 cmp r3, #1 80679ec: f67f af70 bls.w 80678d0 } arm_biquad_cascade_df2T_init_f64(&D_HP[n], 2, (float64_t *) &D_COEFF_HP[n][0], &State_D_HP[n][0]); 80679f0: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 80679f4: 4613 mov r3, r2 80679f6: 005b lsls r3, r3, #1 80679f8: 4413 add r3, r2 80679fa: 009b lsls r3, r3, #2 80679fc: 4a12 ldr r2, [pc, #72] ; (8067a48 ) 80679fe: 1898 adds r0, r3, r2 8067a00: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8067a04: 4613 mov r3, r2 8067a06: 009b lsls r3, r3, #2 8067a08: 4413 add r3, r2 8067a0a: 011b lsls r3, r3, #4 8067a0c: 4a0d ldr r2, [pc, #52] ; (8067a44 ) 8067a0e: 1899 adds r1, r3, r2 8067a10: f8d7 3334 ldr.w r3, [r7, #820] ; 0x334 8067a14: 015b lsls r3, r3, #5 8067a16: 4a0d ldr r2, [pc, #52] ; (8067a4c ) 8067a18: 4413 add r3, r2 8067a1a: 460a mov r2, r1 8067a1c: 2102 movs r1, #2 8067a1e: f067 fb5f bl 80cf0e0 } 8067a22: bf00 nop 8067a24: f507 7750 add.w r7, r7, #832 ; 0x340 8067a28: 46bd mov sp, r7 8067a2a: bdb0 pop {r4, r5, r7, pc} 8067a2c: f3af 8000 nop.w 8067a30: 9999999a .word 0x9999999a 8067a34: 3fb99999 .word 0x3fb99999 ... 8067a40: 20025970 .word 0x20025970 8067a44: 200211a8 .word 0x200211a8 8067a48: 200683c8 .word 0x200683c8 8067a4c: 200264c0 .word 0x200264c0 08067a50 : void initLP(float64_t Fc) { 8067a50: b590 push {r4, r7, lr} 8067a52: f5ad 7d51 sub.w sp, sp, #836 ; 0x344 8067a56: af00 add r7, sp, #0 8067a58: ed87 0bca vstr d0, [r7, #808] ; 0x328 f = Fc; 8067a5c: e9d7 34ca ldrd r3, r4, [r7, #808] ; 0x328 8067a60: e9c7 34cc strd r3, r4, [r7, #816] ; 0x330 if(((float64_t) Fs / Fc) < 25.0) { 8067a64: 4ba0 ldr r3, [pc, #640] ; (8067ce8 ) 8067a66: 681b ldr r3, [r3, #0] 8067a68: ee07 3a90 vmov s15, r3 8067a6c: eeb8 5b67 vcvt.f64.u32 d5, s15 8067a70: ed97 6bca vldr d6, [r7, #808] ; 0x328 8067a74: ee85 7b06 vdiv.f64 d7, d5, d6 8067a78: eeb3 6b09 vmov.f64 d6, #57 ; 0x41c80000 25.0 8067a7c: eeb4 7bc6 vcmpe.f64 d7, d6 8067a80: eef1 fa10 vmrs APSR_nzcv, fpscr 8067a84: f140 8095 bpl.w 8067bb2 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]; 8067a88: 4b98 ldr r3, [pc, #608] ; (8067cec ) 8067a8a: 7adb ldrb r3, [r3, #11] 8067a8c: b2db uxtb r3, r3 8067a8e: 4619 mov r1, r3 8067a90: 4a97 ldr r2, [pc, #604] ; (8067cf0 ) 8067a92: 460b mov r3, r1 8067a94: 005b lsls r3, r3, #1 8067a96: 440b add r3, r1 8067a98: 011b lsls r3, r3, #4 8067a9a: 4413 add r3, r2 8067a9c: ed93 6b00 vldr d6, [r3] 8067aa0: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067aa4: ee26 6b07 vmul.f64 d6, d6, d7 8067aa8: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067aac: ee26 6b07 vmul.f64 d6, d6, d7 8067ab0: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067ab4: ee26 6b07 vmul.f64 d6, d6, d7 8067ab8: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067abc: ee26 6b07 vmul.f64 d6, d6, d7 8067ac0: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067ac4: ee26 6b07 vmul.f64 d6, d6, d7 8067ac8: 4b88 ldr r3, [pc, #544] ; (8067cec ) 8067aca: 7adb ldrb r3, [r3, #11] 8067acc: b2db uxtb r3, r3 8067ace: 4619 mov r1, r3 8067ad0: 4a87 ldr r2, [pc, #540] ; (8067cf0 ) 8067ad2: 460b mov r3, r1 8067ad4: 005b lsls r3, r3, #1 8067ad6: 440b add r3, r1 8067ad8: 011b lsls r3, r3, #4 8067ada: 4413 add r3, r2 8067adc: 3308 adds r3, #8 8067ade: ed93 5b00 vldr d5, [r3] 8067ae2: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067ae6: ee25 5b07 vmul.f64 d5, d5, d7 8067aea: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067aee: ee25 5b07 vmul.f64 d5, d5, d7 8067af2: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067af6: ee25 5b07 vmul.f64 d5, d5, d7 8067afa: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067afe: ee25 7b07 vmul.f64 d7, d5, d7 8067b02: ee36 6b07 vadd.f64 d6, d6, d7 8067b06: 4b79 ldr r3, [pc, #484] ; (8067cec ) 8067b08: 7adb ldrb r3, [r3, #11] 8067b0a: b2db uxtb r3, r3 8067b0c: 4619 mov r1, r3 8067b0e: 4a78 ldr r2, [pc, #480] ; (8067cf0 ) 8067b10: 460b mov r3, r1 8067b12: 005b lsls r3, r3, #1 8067b14: 440b add r3, r1 8067b16: 011b lsls r3, r3, #4 8067b18: 4413 add r3, r2 8067b1a: 3310 adds r3, #16 8067b1c: ed93 5b00 vldr d5, [r3] 8067b20: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067b24: ee25 5b07 vmul.f64 d5, d5, d7 8067b28: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067b2c: ee25 5b07 vmul.f64 d5, d5, d7 8067b30: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067b34: ee25 7b07 vmul.f64 d7, d5, d7 8067b38: ee36 6b07 vadd.f64 d6, d6, d7 8067b3c: 4b6b ldr r3, [pc, #428] ; (8067cec ) 8067b3e: 7adb ldrb r3, [r3, #11] 8067b40: b2db uxtb r3, r3 8067b42: 4619 mov r1, r3 8067b44: 4a6a ldr r2, [pc, #424] ; (8067cf0 ) 8067b46: 460b mov r3, r1 8067b48: 005b lsls r3, r3, #1 8067b4a: 440b add r3, r1 8067b4c: 011b lsls r3, r3, #4 8067b4e: 4413 add r3, r2 8067b50: 3318 adds r3, #24 8067b52: ed93 5b00 vldr d5, [r3] 8067b56: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067b5a: ee25 5b07 vmul.f64 d5, d5, d7 8067b5e: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067b62: ee25 7b07 vmul.f64 d7, d5, d7 8067b66: ee36 6b07 vadd.f64 d6, d6, d7 8067b6a: 4b60 ldr r3, [pc, #384] ; (8067cec ) 8067b6c: 7adb ldrb r3, [r3, #11] 8067b6e: b2db uxtb r3, r3 8067b70: 4619 mov r1, r3 8067b72: 4a5f ldr r2, [pc, #380] ; (8067cf0 ) 8067b74: 460b mov r3, r1 8067b76: 005b lsls r3, r3, #1 8067b78: 440b add r3, r1 8067b7a: 011b lsls r3, r3, #4 8067b7c: 4413 add r3, r2 8067b7e: 3320 adds r3, #32 8067b80: ed93 5b00 vldr d5, [r3] 8067b84: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067b88: ee25 7b07 vmul.f64 d7, d5, d7 8067b8c: ee36 6b07 vadd.f64 d6, d6, d7 8067b90: 4b56 ldr r3, [pc, #344] ; (8067cec ) 8067b92: 7adb ldrb r3, [r3, #11] 8067b94: b2db uxtb r3, r3 8067b96: 4619 mov r1, r3 8067b98: 4a55 ldr r2, [pc, #340] ; (8067cf0 ) 8067b9a: 460b mov r3, r1 8067b9c: 005b lsls r3, r3, #1 8067b9e: 440b add r3, r1 8067ba0: 011b lsls r3, r3, #4 8067ba2: 4413 add r3, r2 8067ba4: 3328 adds r3, #40 ; 0x28 8067ba6: ed93 7b00 vldr d7, [r3] 8067baa: ee36 7b07 vadd.f64 d7, d6, d7 8067bae: ed87 7bcc vstr d7, [r7, #816] ; 0x330 } k = 0; 8067bb2: 2300 movs r3, #0 8067bb4: f887 333e strb.w r3, [r7, #830] ; 0x33e IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirLPF, 8, f, 0.1); 8067bb8: 4c4e ldr r4, [pc, #312] ; (8067cf4 ) 8067bba: 4638 mov r0, r7 8067bbc: ed9f 2b46 vldr d2, [pc, #280] ; 8067cd8 8067bc0: ed97 1bcc vldr d1, [r7, #816] ; 0x330 8067bc4: 2308 movs r3, #8 8067bc6: 2200 movs r2, #0 8067bc8: ed9f 0b45 vldr d0, [pc, #276] ; 8067ce0 8067bcc: 2100 movs r1, #0 8067bce: f7c9 f897 bl 8030d00 8067bd2: 463b mov r3, r7 8067bd4: 4620 mov r0, r4 8067bd6: 4619 mov r1, r3 8067bd8: f44f 734a mov.w r3, #808 ; 0x328 8067bdc: 461a mov r2, r3 8067bde: f06a f9d6 bl 80d1f8e for(i = 0; i < 4; i++) 8067be2: 2300 movs r3, #0 8067be4: f887 333f strb.w r3, [r7, #831] ; 0x33f 8067be8: e064 b.n 8067cb4 { MY_COEFF_LP[k++] = IIR.b0[i]; 8067bea: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8067bee: 1c5a adds r2, r3, #1 8067bf0: f887 233e strb.w r2, [r7, #830] ; 0x33e 8067bf4: 4618 mov r0, r3 8067bf6: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8067bfa: 4a3e ldr r2, [pc, #248] ; (8067cf4 ) 8067bfc: 3332 adds r3, #50 ; 0x32 8067bfe: 00db lsls r3, r3, #3 8067c00: 4413 add r3, r2 8067c02: cb18 ldmia r3, {r3, r4} 8067c04: 493c ldr r1, [pc, #240] ; (8067cf8 ) 8067c06: 00c2 lsls r2, r0, #3 8067c08: 440a add r2, r1 8067c0a: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_LP[k++] = IIR.b1[i]; 8067c0e: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8067c12: 1c5a adds r2, r3, #1 8067c14: f887 233e strb.w r2, [r7, #830] ; 0x33e 8067c18: 4618 mov r0, r3 8067c1a: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8067c1e: 4a35 ldr r2, [pc, #212] ; (8067cf4 ) 8067c20: 333c adds r3, #60 ; 0x3c 8067c22: 00db lsls r3, r3, #3 8067c24: 4413 add r3, r2 8067c26: cb18 ldmia r3, {r3, r4} 8067c28: 4933 ldr r1, [pc, #204] ; (8067cf8 ) 8067c2a: 00c2 lsls r2, r0, #3 8067c2c: 440a add r2, r1 8067c2e: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_LP[k++] = IIR.b2[i]; 8067c32: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8067c36: 1c5a adds r2, r3, #1 8067c38: f887 233e strb.w r2, [r7, #830] ; 0x33e 8067c3c: 4618 mov r0, r3 8067c3e: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8067c42: 4a2c ldr r2, [pc, #176] ; (8067cf4 ) 8067c44: 3346 adds r3, #70 ; 0x46 8067c46: 00db lsls r3, r3, #3 8067c48: 4413 add r3, r2 8067c4a: cb18 ldmia r3, {r3, r4} 8067c4c: 492a ldr r1, [pc, #168] ; (8067cf8 ) 8067c4e: 00c2 lsls r2, r0, #3 8067c50: 440a add r2, r1 8067c52: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_LP[k++] = -IIR.a1[i]; 8067c56: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8067c5a: 1c5a adds r2, r3, #1 8067c5c: f887 233e strb.w r2, [r7, #830] ; 0x33e 8067c60: 4619 mov r1, r3 8067c62: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8067c66: 4a23 ldr r2, [pc, #140] ; (8067cf4 ) 8067c68: 330a adds r3, #10 8067c6a: 00db lsls r3, r3, #3 8067c6c: 4413 add r3, r2 8067c6e: ed93 7b00 vldr d7, [r3] 8067c72: eeb1 7b47 vneg.f64 d7, d7 8067c76: 4a20 ldr r2, [pc, #128] ; (8067cf8 ) 8067c78: 00cb lsls r3, r1, #3 8067c7a: 4413 add r3, r2 8067c7c: ed83 7b00 vstr d7, [r3] MY_COEFF_LP[k++] = -IIR.a2[i]; 8067c80: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8067c84: 1c5a adds r2, r3, #1 8067c86: f887 233e strb.w r2, [r7, #830] ; 0x33e 8067c8a: 4619 mov r1, r3 8067c8c: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8067c90: 4a18 ldr r2, [pc, #96] ; (8067cf4 ) 8067c92: 3314 adds r3, #20 8067c94: 00db lsls r3, r3, #3 8067c96: 4413 add r3, r2 8067c98: ed93 7b00 vldr d7, [r3] 8067c9c: eeb1 7b47 vneg.f64 d7, d7 8067ca0: 4a15 ldr r2, [pc, #84] ; (8067cf8 ) 8067ca2: 00cb lsls r3, r1, #3 8067ca4: 4413 add r3, r2 8067ca6: ed83 7b00 vstr d7, [r3] for(i = 0; i < 4; i++) 8067caa: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8067cae: 3301 adds r3, #1 8067cb0: f887 333f strb.w r3, [r7, #831] ; 0x33f 8067cb4: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8067cb8: 2b03 cmp r3, #3 8067cba: d996 bls.n 8067bea } arm_biquad_cascade_df2T_init_f64(&S_LP, 4, (float64_t *) MY_COEFF_LP, State_LP); 8067cbc: 4b0f ldr r3, [pc, #60] ; (8067cfc ) 8067cbe: 4a0e ldr r2, [pc, #56] ; (8067cf8 ) 8067cc0: 2104 movs r1, #4 8067cc2: 480f ldr r0, [pc, #60] ; (8067d00 ) 8067cc4: f067 fa0c bl 80cf0e0 } 8067cc8: bf00 nop 8067cca: f507 7751 add.w r7, r7, #836 ; 0x344 8067cce: 46bd mov sp, r7 8067cd0: bd90 pop {r4, r7, pc} 8067cd2: bf00 nop 8067cd4: f3af 8000 nop.w 8067cd8: 9999999a .word 0x9999999a 8067cdc: 3fb99999 .word 0x3fb99999 ... 8067ce8: 20021d6c .word 0x20021d6c 8067cec: 20023eb8 .word 0x20023eb8 8067cf0: 080f5ab8 .word 0x080f5ab8 8067cf4: 20025970 .word 0x20025970 8067cf8: 200210b8 .word 0x200210b8 8067cfc: 20037a20 .word 0x20037a20 8067d00: 200265c4 .word 0x200265c4 8067d04: 00000000 .word 0x00000000 08067d08 : void initLP_1(uint32_t n, float64_t Fc) { 8067d08: b5b0 push {r4, r5, r7, lr} 8067d0a: f5ad 7d52 sub.w sp, sp, #840 ; 0x348 8067d0e: af00 add r7, sp, #0 8067d10: f8c7 0334 str.w r0, [r7, #820] ; 0x334 8067d14: ed87 0bca vstr d0, [r7, #808] ; 0x328 f = Fc; 8067d18: e9d7 34ca ldrd r3, r4, [r7, #808] ; 0x328 8067d1c: e9c7 34ce strd r3, r4, [r7, #824] ; 0x338 if(((float64_t) Fs / Fc) < 25.0) { 8067d20: 4bbd ldr r3, [pc, #756] ; (8068018 ) 8067d22: 681b ldr r3, [r3, #0] 8067d24: ee07 3a90 vmov s15, r3 8067d28: eeb8 5b67 vcvt.f64.u32 d5, s15 8067d2c: ed97 6bca vldr d6, [r7, #808] ; 0x328 8067d30: ee85 7b06 vdiv.f64 d7, d5, d6 8067d34: eeb3 6b09 vmov.f64 d6, #57 ; 0x41c80000 25.0 8067d38: eeb4 7bc6 vcmpe.f64 d7, d6 8067d3c: eef1 fa10 vmrs APSR_nzcv, fpscr 8067d40: f140 8095 bpl.w 8067e6e 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]; 8067d44: 4bb5 ldr r3, [pc, #724] ; (806801c ) 8067d46: 7adb ldrb r3, [r3, #11] 8067d48: b2db uxtb r3, r3 8067d4a: 4619 mov r1, r3 8067d4c: 4ab4 ldr r2, [pc, #720] ; (8068020 ) 8067d4e: 460b mov r3, r1 8067d50: 005b lsls r3, r3, #1 8067d52: 440b add r3, r1 8067d54: 011b lsls r3, r3, #4 8067d56: 4413 add r3, r2 8067d58: ed93 6b00 vldr d6, [r3] 8067d5c: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067d60: ee26 6b07 vmul.f64 d6, d6, d7 8067d64: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067d68: ee26 6b07 vmul.f64 d6, d6, d7 8067d6c: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067d70: ee26 6b07 vmul.f64 d6, d6, d7 8067d74: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067d78: ee26 6b07 vmul.f64 d6, d6, d7 8067d7c: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067d80: ee26 6b07 vmul.f64 d6, d6, d7 8067d84: 4ba5 ldr r3, [pc, #660] ; (806801c ) 8067d86: 7adb ldrb r3, [r3, #11] 8067d88: b2db uxtb r3, r3 8067d8a: 4619 mov r1, r3 8067d8c: 4aa4 ldr r2, [pc, #656] ; (8068020 ) 8067d8e: 460b mov r3, r1 8067d90: 005b lsls r3, r3, #1 8067d92: 440b add r3, r1 8067d94: 011b lsls r3, r3, #4 8067d96: 4413 add r3, r2 8067d98: 3308 adds r3, #8 8067d9a: ed93 5b00 vldr d5, [r3] 8067d9e: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067da2: ee25 5b07 vmul.f64 d5, d5, d7 8067da6: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067daa: ee25 5b07 vmul.f64 d5, d5, d7 8067dae: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067db2: ee25 5b07 vmul.f64 d5, d5, d7 8067db6: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067dba: ee25 7b07 vmul.f64 d7, d5, d7 8067dbe: ee36 6b07 vadd.f64 d6, d6, d7 8067dc2: 4b96 ldr r3, [pc, #600] ; (806801c ) 8067dc4: 7adb ldrb r3, [r3, #11] 8067dc6: b2db uxtb r3, r3 8067dc8: 4619 mov r1, r3 8067dca: 4a95 ldr r2, [pc, #596] ; (8068020 ) 8067dcc: 460b mov r3, r1 8067dce: 005b lsls r3, r3, #1 8067dd0: 440b add r3, r1 8067dd2: 011b lsls r3, r3, #4 8067dd4: 4413 add r3, r2 8067dd6: 3310 adds r3, #16 8067dd8: ed93 5b00 vldr d5, [r3] 8067ddc: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067de0: ee25 5b07 vmul.f64 d5, d5, d7 8067de4: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067de8: ee25 5b07 vmul.f64 d5, d5, d7 8067dec: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067df0: ee25 7b07 vmul.f64 d7, d5, d7 8067df4: ee36 6b07 vadd.f64 d6, d6, d7 8067df8: 4b88 ldr r3, [pc, #544] ; (806801c ) 8067dfa: 7adb ldrb r3, [r3, #11] 8067dfc: b2db uxtb r3, r3 8067dfe: 4619 mov r1, r3 8067e00: 4a87 ldr r2, [pc, #540] ; (8068020 ) 8067e02: 460b mov r3, r1 8067e04: 005b lsls r3, r3, #1 8067e06: 440b add r3, r1 8067e08: 011b lsls r3, r3, #4 8067e0a: 4413 add r3, r2 8067e0c: 3318 adds r3, #24 8067e0e: ed93 5b00 vldr d5, [r3] 8067e12: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067e16: ee25 5b07 vmul.f64 d5, d5, d7 8067e1a: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067e1e: ee25 7b07 vmul.f64 d7, d5, d7 8067e22: ee36 6b07 vadd.f64 d6, d6, d7 8067e26: 4b7d ldr r3, [pc, #500] ; (806801c ) 8067e28: 7adb ldrb r3, [r3, #11] 8067e2a: b2db uxtb r3, r3 8067e2c: 4619 mov r1, r3 8067e2e: 4a7c ldr r2, [pc, #496] ; (8068020 ) 8067e30: 460b mov r3, r1 8067e32: 005b lsls r3, r3, #1 8067e34: 440b add r3, r1 8067e36: 011b lsls r3, r3, #4 8067e38: 4413 add r3, r2 8067e3a: 3320 adds r3, #32 8067e3c: ed93 5b00 vldr d5, [r3] 8067e40: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067e44: ee25 7b07 vmul.f64 d7, d5, d7 8067e48: ee36 6b07 vadd.f64 d6, d6, d7 8067e4c: 4b73 ldr r3, [pc, #460] ; (806801c ) 8067e4e: 7adb ldrb r3, [r3, #11] 8067e50: b2db uxtb r3, r3 8067e52: 4619 mov r1, r3 8067e54: 4a72 ldr r2, [pc, #456] ; (8068020 ) 8067e56: 460b mov r3, r1 8067e58: 005b lsls r3, r3, #1 8067e5a: 440b add r3, r1 8067e5c: 011b lsls r3, r3, #4 8067e5e: 4413 add r3, r2 8067e60: 3328 adds r3, #40 ; 0x28 8067e62: ed93 7b00 vldr d7, [r3] 8067e66: ee36 7b07 vadd.f64 d7, d6, d7 8067e6a: ed87 7bce vstr d7, [r7, #824] ; 0x338 } k = 0; 8067e6e: 2300 movs r3, #0 8067e70: f887 3346 strb.w r3, [r7, #838] ; 0x346 IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirLPF, 8, f, 0.1); 8067e74: 4c6b ldr r4, [pc, #428] ; (8068024 ) 8067e76: 4638 mov r0, r7 8067e78: ed9f 2b63 vldr d2, [pc, #396] ; 8068008 8067e7c: ed97 1bce vldr d1, [r7, #824] ; 0x338 8067e80: 2308 movs r3, #8 8067e82: 2200 movs r2, #0 8067e84: ed9f 0b62 vldr d0, [pc, #392] ; 8068010 8067e88: 2100 movs r1, #0 8067e8a: f7c8 ff39 bl 8030d00 8067e8e: 463b mov r3, r7 8067e90: 4620 mov r0, r4 8067e92: 4619 mov r1, r3 8067e94: f44f 734a mov.w r3, #808 ; 0x328 8067e98: 461a mov r2, r3 8067e9a: f06a f878 bl 80d1f8e for(i = 0; i < 4; i++) 8067e9e: 2300 movs r3, #0 8067ea0: f887 3347 strb.w r3, [r7, #839] ; 0x347 8067ea4: e08a b.n 8067fbc { D_COEFF_LP[n][k++] = IIR.b0[i]; 8067ea6: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 8067eaa: 1c5a adds r2, r3, #1 8067eac: f887 2346 strb.w r2, [r7, #838] ; 0x346 8067eb0: 461d mov r5, r3 8067eb2: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 8067eb6: 4a5b ldr r2, [pc, #364] ; (8068024 ) 8067eb8: 3332 adds r3, #50 ; 0x32 8067eba: 00db lsls r3, r3, #3 8067ebc: 4413 add r3, r2 8067ebe: e893 0006 ldmia.w r3, {r1, r2} 8067ec2: 4c59 ldr r4, [pc, #356] ; (8068028 ) 8067ec4: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 8067ec8: 4603 mov r3, r0 8067eca: 009b lsls r3, r3, #2 8067ecc: 4403 add r3, r0 8067ece: 009b lsls r3, r3, #2 8067ed0: 442b add r3, r5 8067ed2: 00db lsls r3, r3, #3 8067ed4: 4423 add r3, r4 8067ed6: e883 0006 stmia.w r3, {r1, r2} D_COEFF_LP[n][k++] = IIR.b1[i]; 8067eda: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 8067ede: 1c5a adds r2, r3, #1 8067ee0: f887 2346 strb.w r2, [r7, #838] ; 0x346 8067ee4: 461d mov r5, r3 8067ee6: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 8067eea: 4a4e ldr r2, [pc, #312] ; (8068024 ) 8067eec: 333c adds r3, #60 ; 0x3c 8067eee: 00db lsls r3, r3, #3 8067ef0: 4413 add r3, r2 8067ef2: e893 0006 ldmia.w r3, {r1, r2} 8067ef6: 4c4c ldr r4, [pc, #304] ; (8068028 ) 8067ef8: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 8067efc: 4603 mov r3, r0 8067efe: 009b lsls r3, r3, #2 8067f00: 4403 add r3, r0 8067f02: 009b lsls r3, r3, #2 8067f04: 442b add r3, r5 8067f06: 00db lsls r3, r3, #3 8067f08: 4423 add r3, r4 8067f0a: e883 0006 stmia.w r3, {r1, r2} D_COEFF_LP[n][k++] = IIR.b2[i]; 8067f0e: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 8067f12: 1c5a adds r2, r3, #1 8067f14: f887 2346 strb.w r2, [r7, #838] ; 0x346 8067f18: 461d mov r5, r3 8067f1a: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 8067f1e: 4a41 ldr r2, [pc, #260] ; (8068024 ) 8067f20: 3346 adds r3, #70 ; 0x46 8067f22: 00db lsls r3, r3, #3 8067f24: 4413 add r3, r2 8067f26: e893 0006 ldmia.w r3, {r1, r2} 8067f2a: 4c3f ldr r4, [pc, #252] ; (8068028 ) 8067f2c: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 8067f30: 4603 mov r3, r0 8067f32: 009b lsls r3, r3, #2 8067f34: 4403 add r3, r0 8067f36: 009b lsls r3, r3, #2 8067f38: 442b add r3, r5 8067f3a: 00db lsls r3, r3, #3 8067f3c: 4423 add r3, r4 8067f3e: e883 0006 stmia.w r3, {r1, r2} D_COEFF_LP[n][k++] = -IIR.a1[i]; 8067f42: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 8067f46: 1c5a adds r2, r3, #1 8067f48: f887 2346 strb.w r2, [r7, #838] ; 0x346 8067f4c: 4618 mov r0, r3 8067f4e: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 8067f52: 4a34 ldr r2, [pc, #208] ; (8068024 ) 8067f54: 330a adds r3, #10 8067f56: 00db lsls r3, r3, #3 8067f58: 4413 add r3, r2 8067f5a: ed93 7b00 vldr d7, [r3] 8067f5e: eeb1 7b47 vneg.f64 d7, d7 8067f62: 4931 ldr r1, [pc, #196] ; (8068028 ) 8067f64: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8067f68: 4613 mov r3, r2 8067f6a: 009b lsls r3, r3, #2 8067f6c: 4413 add r3, r2 8067f6e: 009b lsls r3, r3, #2 8067f70: 4403 add r3, r0 8067f72: 00db lsls r3, r3, #3 8067f74: 440b add r3, r1 8067f76: ed83 7b00 vstr d7, [r3] D_COEFF_LP[n][k++] = -IIR.a2[i]; 8067f7a: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 8067f7e: 1c5a adds r2, r3, #1 8067f80: f887 2346 strb.w r2, [r7, #838] ; 0x346 8067f84: 4618 mov r0, r3 8067f86: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 8067f8a: 4a26 ldr r2, [pc, #152] ; (8068024 ) 8067f8c: 3314 adds r3, #20 8067f8e: 00db lsls r3, r3, #3 8067f90: 4413 add r3, r2 8067f92: ed93 7b00 vldr d7, [r3] 8067f96: eeb1 7b47 vneg.f64 d7, d7 8067f9a: 4923 ldr r1, [pc, #140] ; (8068028 ) 8067f9c: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8067fa0: 4613 mov r3, r2 8067fa2: 009b lsls r3, r3, #2 8067fa4: 4413 add r3, r2 8067fa6: 009b lsls r3, r3, #2 8067fa8: 4403 add r3, r0 8067faa: 00db lsls r3, r3, #3 8067fac: 440b add r3, r1 8067fae: ed83 7b00 vstr d7, [r3] for(i = 0; i < 4; i++) 8067fb2: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 8067fb6: 3301 adds r3, #1 8067fb8: f887 3347 strb.w r3, [r7, #839] ; 0x347 8067fbc: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 8067fc0: 2b03 cmp r3, #3 8067fc2: f67f af70 bls.w 8067ea6 } arm_biquad_cascade_df2T_init_f64(&D_LP[n], 4, (float64_t *) &D_COEFF_LP[n][0], &State_D_LP[n][0]); 8067fc6: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8067fca: 4613 mov r3, r2 8067fcc: 005b lsls r3, r3, #1 8067fce: 4413 add r3, r2 8067fd0: 009b lsls r3, r3, #2 8067fd2: 4a16 ldr r2, [pc, #88] ; (806802c ) 8067fd4: 1898 adds r0, r3, r2 8067fd6: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8067fda: 4613 mov r3, r2 8067fdc: 009b lsls r3, r3, #2 8067fde: 4413 add r3, r2 8067fe0: 015b lsls r3, r3, #5 8067fe2: 4a11 ldr r2, [pc, #68] ; (8068028 ) 8067fe4: 1899 adds r1, r3, r2 8067fe6: f8d7 3334 ldr.w r3, [r7, #820] ; 0x334 8067fea: 019b lsls r3, r3, #6 8067fec: 4a10 ldr r2, [pc, #64] ; (8068030 ) 8067fee: 4413 add r3, r2 8067ff0: 460a mov r2, r1 8067ff2: 2104 movs r1, #4 8067ff4: f067 f874 bl 80cf0e0 } 8067ff8: bf00 nop 8067ffa: f507 7752 add.w r7, r7, #840 ; 0x348 8067ffe: 46bd mov sp, r7 8068000: bdb0 pop {r4, r5, r7, pc} 8068002: bf00 nop 8068004: f3af 8000 nop.w 8068008: 9999999a .word 0x9999999a 806800c: 3fb99999 .word 0x3fb99999 ... 8068018: 20021d6c .word 0x20021d6c 806801c: 20023eb8 .word 0x20023eb8 8068020: 080f5c98 .word 0x080f5c98 8068024: 20025970 .word 0x20025970 8068028: 200212e8 .word 0x200212e8 806802c: 200262fc .word 0x200262fc 8068030: 200260b0 .word 0x200260b0 08068034 : void initMemCopy(void) { 8068034: b580 push {r7, lr} 8068036: af00 add r7, sp, #0 __HAL_DMA_DISABLE(&hdma_memtomem16); 8068038: 4b20 ldr r3, [pc, #128] ; (80680bc ) 806803a: 681b ldr r3, [r3, #0] 806803c: 4a1f ldr r2, [pc, #124] ; (80680bc ) 806803e: 6812 ldr r2, [r2, #0] 8068040: 6812 ldr r2, [r2, #0] 8068042: f022 0201 bic.w r2, r2, #1 8068046: 601a str r2, [r3, #0] while(HAL_DMA_GetState(&hdma_memtomem16) == HAL_DMA_STATE_BUSY); 8068048: bf00 nop 806804a: 481c ldr r0, [pc, #112] ; (80680bc ) 806804c: f051 f88a bl 80b9164 8068050: 4603 mov r3, r0 8068052: 2b02 cmp r3, #2 8068054: d0f9 beq.n 806804a hdma_memtomem16.Instance = DMA2_Stream0; 8068056: 4b19 ldr r3, [pc, #100] ; (80680bc ) 8068058: 4a19 ldr r2, [pc, #100] ; (80680c0 ) 806805a: 601a str r2, [r3, #0] hdma_memtomem16.Init.Channel = DMA_CHANNEL_0; 806805c: 4b17 ldr r3, [pc, #92] ; (80680bc ) 806805e: 2200 movs r2, #0 8068060: 605a str r2, [r3, #4] hdma_memtomem16.Init.Direction = DMA_MEMORY_TO_MEMORY; 8068062: 4b16 ldr r3, [pc, #88] ; (80680bc ) 8068064: 2280 movs r2, #128 ; 0x80 8068066: 609a str r2, [r3, #8] hdma_memtomem16.Init.PeriphInc = DMA_PINC_ENABLE; 8068068: 4b14 ldr r3, [pc, #80] ; (80680bc ) 806806a: f44f 7200 mov.w r2, #512 ; 0x200 806806e: 60da str r2, [r3, #12] hdma_memtomem16.Init.MemInc = DMA_MINC_ENABLE; 8068070: 4b12 ldr r3, [pc, #72] ; (80680bc ) 8068072: f44f 6280 mov.w r2, #1024 ; 0x400 8068076: 611a str r2, [r3, #16] hdma_memtomem16.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; //DMA_PDATAALIGN_HALFWORD; 8068078: 4b10 ldr r3, [pc, #64] ; (80680bc ) 806807a: f44f 6200 mov.w r2, #2048 ; 0x800 806807e: 615a str r2, [r3, #20] hdma_memtomem16.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; //DMA_MDATAALIGN_HALFWORD; 8068080: 4b0e ldr r3, [pc, #56] ; (80680bc ) 8068082: f44f 5200 mov.w r2, #8192 ; 0x2000 8068086: 619a str r2, [r3, #24] hdma_memtomem16.Init.Mode = DMA_NORMAL; 8068088: 4b0c ldr r3, [pc, #48] ; (80680bc ) 806808a: 2200 movs r2, #0 806808c: 61da str r2, [r3, #28] hdma_memtomem16.Init.Priority = DMA_PRIORITY_VERY_HIGH; 806808e: 4b0b ldr r3, [pc, #44] ; (80680bc ) 8068090: f44f 3240 mov.w r2, #196608 ; 0x30000 8068094: 621a str r2, [r3, #32] hdma_memtomem16.Init.FIFOMode = DMA_FIFOMODE_DISABLE; 8068096: 4b09 ldr r3, [pc, #36] ; (80680bc ) 8068098: 2200 movs r2, #0 806809a: 625a str r2, [r3, #36] ; 0x24 hdma_memtomem16.XferCpltCallback = MEMTOMEM_DMACopyTransferCplt; 806809c: 4b07 ldr r3, [pc, #28] ; (80680bc ) 806809e: 4a09 ldr r2, [pc, #36] ; (80680c4 ) 80680a0: 63da str r2, [r3, #60] ; 0x3c if(HAL_DMA_Init(&hdma_memtomem16) != HAL_OK) { 80680a2: 4806 ldr r0, [pc, #24] ; (80680bc ) 80680a4: f050 fcd6 bl 80b8a54 80680a8: 4603 mov r3, r0 80680aa: 2b00 cmp r3, #0 80680ac: d001 beq.n 80680b2 Error_Handler(); 80680ae: f7ee fbfd bl 80568ac } DMA_ACTIVE = 0; 80680b2: 4b05 ldr r3, [pc, #20] ; (80680c8 ) 80680b4: 2200 movs r2, #0 80680b6: 601a str r2, [r3, #0] } 80680b8: bf00 nop 80680ba: bd80 pop {r7, pc} 80680bc: 20026c34 .word 0x20026c34 80680c0: 40026410 .word 0x40026410 80680c4: 080680cd .word 0x080680cd 80680c8: 2002156c .word 0x2002156c 080680cc : } } } static void MEMTOMEM_DMACopyTransferCplt(DMA_HandleTypeDef *hdma) { 80680cc: b480 push {r7} 80680ce: b083 sub sp, #12 80680d0: af00 add r7, sp, #0 80680d2: 6078 str r0, [r7, #4] DMA_ACTIVE = 0; 80680d4: 4b04 ldr r3, [pc, #16] ; (80680e8 ) 80680d6: 2200 movs r2, #0 80680d8: 601a str r2, [r3, #0] } 80680da: bf00 nop 80680dc: 370c adds r7, #12 80680de: 46bd mov sp, r7 80680e0: f85d 7b04 ldr.w r7, [sp], #4 80680e4: 4770 bx lr 80680e6: bf00 nop 80680e8: 2002156c .word 0x2002156c 080680ec : uint32_t FsIndex(void) { 80680ec: b480 push {r7} 80680ee: af00 add r7, sp, #0 if(Fs == 125) 80680f0: 4b28 ldr r3, [pc, #160] ; (8068194 ) 80680f2: 681b ldr r3, [r3, #0] 80680f4: 2b7d cmp r3, #125 ; 0x7d 80680f6: d101 bne.n 80680fc return 0; 80680f8: 2300 movs r3, #0 80680fa: e045 b.n 8068188 else if(Fs == 250) 80680fc: 4b25 ldr r3, [pc, #148] ; (8068194 ) 80680fe: 681b ldr r3, [r3, #0] 8068100: 2bfa cmp r3, #250 ; 0xfa 8068102: d101 bne.n 8068108 return 1; 8068104: 2301 movs r3, #1 8068106: e03f b.n 8068188 else if(Fs == 500) 8068108: 4b22 ldr r3, [pc, #136] ; (8068194 ) 806810a: 681b ldr r3, [r3, #0] 806810c: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 8068110: d101 bne.n 8068116 return 2; 8068112: 2302 movs r3, #2 8068114: e038 b.n 8068188 else if(Fs == 1000) 8068116: 4b1f ldr r3, [pc, #124] ; (8068194 ) 8068118: 681b ldr r3, [r3, #0] 806811a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 806811e: d101 bne.n 8068124 return 3; 8068120: 2303 movs r3, #3 8068122: e031 b.n 8068188 else if(Fs == 2000) 8068124: 4b1b ldr r3, [pc, #108] ; (8068194 ) 8068126: 681b ldr r3, [r3, #0] 8068128: f5b3 6ffa cmp.w r3, #2000 ; 0x7d0 806812c: d101 bne.n 8068132 return 4; 806812e: 2304 movs r3, #4 8068130: e02a b.n 8068188 else if(Fs == 4000) 8068132: 4b18 ldr r3, [pc, #96] ; (8068194 ) 8068134: 681b ldr r3, [r3, #0] 8068136: f5b3 6f7a cmp.w r3, #4000 ; 0xfa0 806813a: d101 bne.n 8068140 return 5; 806813c: 2305 movs r3, #5 806813e: e023 b.n 8068188 else if(Fs == 8000) 8068140: 4b14 ldr r3, [pc, #80] ; (8068194 ) 8068142: 681b ldr r3, [r3, #0] 8068144: f5b3 5ffa cmp.w r3, #8000 ; 0x1f40 8068148: d101 bne.n 806814e return 6; 806814a: 2306 movs r3, #6 806814c: e01c b.n 8068188 else if(Fs == 16000) 806814e: 4b11 ldr r3, [pc, #68] ; (8068194 ) 8068150: 681b ldr r3, [r3, #0] 8068152: f5b3 5f7a cmp.w r3, #16000 ; 0x3e80 8068156: d101 bne.n 806815c return 7; 8068158: 2307 movs r3, #7 806815a: e015 b.n 8068188 else if(Fs == 32000) 806815c: 4b0d ldr r3, [pc, #52] ; (8068194 ) 806815e: 681b ldr r3, [r3, #0] 8068160: f5b3 4ffa cmp.w r3, #32000 ; 0x7d00 8068164: d101 bne.n 806816a return 8; 8068166: 2308 movs r3, #8 8068168: e00e b.n 8068188 else if(Fs == 64000) 806816a: 4b0a ldr r3, [pc, #40] ; (8068194 ) 806816c: 681b ldr r3, [r3, #0] 806816e: f5b3 4f7a cmp.w r3, #64000 ; 0xfa00 8068172: d101 bne.n 8068178 return 9; 8068174: 2309 movs r3, #9 8068176: e007 b.n 8068188 else { pardata.FRQ = _64000Hz; 8068178: 4b07 ldr r3, [pc, #28] ; (8068198 ) 806817a: 2209 movs r2, #9 806817c: 72da strb r2, [r3, #11] Fs = 64000; 806817e: 4b05 ldr r3, [pc, #20] ; (8068194 ) 8068180: f44f 427a mov.w r2, #64000 ; 0xfa00 8068184: 601a str r2, [r3, #0] return 9; 8068186: 2309 movs r3, #9 } } 8068188: 4618 mov r0, r3 806818a: 46bd mov sp, r7 806818c: f85d 7b04 ldr.w r7, [sp], #4 8068190: 4770 bx lr 8068192: bf00 nop 8068194: 20021d6c .word 0x20021d6c 8068198: 20023eb8 .word 0x20023eb8 806819c: 00000000 .word 0x00000000 080681a0 : char * FloatToASCII(float32_t Val, int32_t RoundTo) { 80681a0: b580 push {r7, lr} 80681a2: b098 sub sp, #96 ; 0x60 80681a4: af00 add r7, sp, #0 80681a6: ed87 0a01 vstr s0, [r7, #4] 80681aa: 6038 str r0, [r7, #0] uint8_t idx = 0; 80681ac: 2300 movs r3, #0 80681ae: f887 305f strb.w r3, [r7, #95] ; 0x5f int32_t i; float32_t value, F, I; uint32_t rnd = 0; 80681b2: 2300 movs r3, #0 80681b4: 653b str r3, [r7, #80] ; 0x50 uint32_t Tmp32 = 0; 80681b6: 2300 movs r3, #0 80681b8: 63fb str r3, [r7, #60] ; 0x3c uint32_t Int32 = 0; 80681ba: 2300 movs r3, #0 80681bc: 64fb str r3, [r7, #76] ; 0x4c uint32_t Frac32 = 0; 80681be: 2300 movs r3, #0 80681c0: 64bb str r3, [r7, #72] ; 0x48 uint32_t _I32 = 0; 80681c2: 2300 movs r3, #0 80681c4: 63bb str r3, [r7, #56] ; 0x38 uint32_t _F32 = 0; 80681c6: 2300 movs r3, #0 80681c8: 637b str r3, [r7, #52] ; 0x34 uint32_t d = 0, dd = 0; 80681ca: 2300 movs r3, #0 80681cc: 647b str r3, [r7, #68] ; 0x44 80681ce: 2300 movs r3, #0 80681d0: 643b str r3, [r7, #64] ; 0x40 char tmparray[32]; volatile bool minus = false; 80681d2: 2300 movs r3, #0 80681d4: 72fb strb r3, [r7, #11] memset(tmparray, 0, 32); 80681d6: f107 030c add.w r3, r7, #12 80681da: 2220 movs r2, #32 80681dc: 2100 movs r1, #0 80681de: 4618 mov r0, r3 80681e0: f069 fee0 bl 80d1fa4 memset(pString, 0, 16); 80681e4: 2210 movs r2, #16 80681e6: 2100 movs r1, #0 80681e8: 48b7 ldr r0, [pc, #732] ; (80684c8 ) 80681ea: f069 fedb bl 80d1fa4 value = Val; 80681ee: 687b ldr r3, [r7, #4] 80681f0: 633b str r3, [r7, #48] ; 0x30 if(value < 0) 80681f2: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80681f6: eef5 7ac0 vcmpe.f32 s15, #0.0 80681fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80681fe: d501 bpl.n 8068204 minus = true; 8068200: 2301 movs r3, #1 8068202: 72fb strb r3, [r7, #11] if((Val >= 99999999.9) || (Val <= -99999999.9)) 8068204: edd7 7a01 vldr s15, [r7, #4] 8068208: eeb7 7ae7 vcvt.f64.f32 d7, s15 806820c: ed9f 6baa vldr d6, [pc, #680] ; 80684b8 8068210: eeb4 7bc6 vcmpe.f64 d7, d6 8068214: eef1 fa10 vmrs APSR_nzcv, fpscr 8068218: da0a bge.n 8068230 806821a: edd7 7a01 vldr s15, [r7, #4] 806821e: eeb7 7ae7 vcvt.f64.f32 d7, s15 8068222: ed9f 6ba7 vldr d6, [pc, #668] ; 80684c0 8068226: eeb4 7bc6 vcmpe.f64 d7, d6 806822a: eef1 fa10 vmrs APSR_nzcv, fpscr 806822e: d83c bhi.n 80682aa { if(Val < 0) 8068230: edd7 7a01 vldr s15, [r7, #4] 8068234: eef5 7ac0 vcmpe.f32 s15, #0.0 8068238: eef1 fa10 vmrs APSR_nzcv, fpscr 806823c: d51b bpl.n 8068276 { pString[0] = '-'; 806823e: 4ba2 ldr r3, [pc, #648] ; (80684c8 ) 8068240: 222d movs r2, #45 ; 0x2d 8068242: 701a strb r2, [r3, #0] pString[1] = '9'; 8068244: 4ba0 ldr r3, [pc, #640] ; (80684c8 ) 8068246: 2239 movs r2, #57 ; 0x39 8068248: 705a strb r2, [r3, #1] pString[2] = '9'; 806824a: 4b9f ldr r3, [pc, #636] ; (80684c8 ) 806824c: 2239 movs r2, #57 ; 0x39 806824e: 709a strb r2, [r3, #2] pString[3] = '9'; 8068250: 4b9d ldr r3, [pc, #628] ; (80684c8 ) 8068252: 2239 movs r2, #57 ; 0x39 8068254: 70da strb r2, [r3, #3] pString[4] = '9'; 8068256: 4b9c ldr r3, [pc, #624] ; (80684c8 ) 8068258: 2239 movs r2, #57 ; 0x39 806825a: 711a strb r2, [r3, #4] pString[5] = '9'; 806825c: 4b9a ldr r3, [pc, #616] ; (80684c8 ) 806825e: 2239 movs r2, #57 ; 0x39 8068260: 715a strb r2, [r3, #5] pString[6] = '.'; 8068262: 4b99 ldr r3, [pc, #612] ; (80684c8 ) 8068264: 222e movs r2, #46 ; 0x2e 8068266: 719a strb r2, [r3, #6] pString[7] = '9'; 8068268: 4b97 ldr r3, [pc, #604] ; (80684c8 ) 806826a: 2239 movs r2, #57 ; 0x39 806826c: 71da strb r2, [r3, #7] pString[8] = '\0'; 806826e: 4b96 ldr r3, [pc, #600] ; (80684c8 ) 8068270: 2200 movs r2, #0 8068272: 721a strb r2, [r3, #8] 8068274: e017 b.n 80682a6 } else { pString[0] = '9'; 8068276: 4b94 ldr r3, [pc, #592] ; (80684c8 ) 8068278: 2239 movs r2, #57 ; 0x39 806827a: 701a strb r2, [r3, #0] pString[1] = '9'; 806827c: 4b92 ldr r3, [pc, #584] ; (80684c8 ) 806827e: 2239 movs r2, #57 ; 0x39 8068280: 705a strb r2, [r3, #1] pString[2] = '9'; 8068282: 4b91 ldr r3, [pc, #580] ; (80684c8 ) 8068284: 2239 movs r2, #57 ; 0x39 8068286: 709a strb r2, [r3, #2] pString[3] = '9'; 8068288: 4b8f ldr r3, [pc, #572] ; (80684c8 ) 806828a: 2239 movs r2, #57 ; 0x39 806828c: 70da strb r2, [r3, #3] pString[4] = '9'; 806828e: 4b8e ldr r3, [pc, #568] ; (80684c8 ) 8068290: 2239 movs r2, #57 ; 0x39 8068292: 711a strb r2, [r3, #4] pString[5] = '.'; 8068294: 4b8c ldr r3, [pc, #560] ; (80684c8 ) 8068296: 222e movs r2, #46 ; 0x2e 8068298: 715a strb r2, [r3, #5] pString[6] = '9'; 806829a: 4b8b ldr r3, [pc, #556] ; (80684c8 ) 806829c: 2239 movs r2, #57 ; 0x39 806829e: 719a strb r2, [r3, #6] pString[7] = '\0'; 80682a0: 4b89 ldr r3, [pc, #548] ; (80684c8 ) 80682a2: 2200 movs r2, #0 80682a4: 71da strb r2, [r3, #7] } return pString; 80682a6: 4b88 ldr r3, [pc, #544] ; (80684c8 ) 80682a8: e171 b.n 806858e } value = ABS(Val); 80682aa: edd7 7a01 vldr s15, [r7, #4] 80682ae: eef5 7ac0 vcmpe.f32 s15, #0.0 80682b2: eef1 fa10 vmrs APSR_nzcv, fpscr 80682b6: dd02 ble.n 80682be 80682b8: edd7 7a01 vldr s15, [r7, #4] 80682bc: e003 b.n 80682c6 80682be: edd7 7a01 vldr s15, [r7, #4] 80682c2: eef1 7a67 vneg.f32 s15, s15 80682c6: edc7 7a0c vstr s15, [r7, #48] ; 0x30 rnd = ABS(RoundTo); 80682ca: 683b ldr r3, [r7, #0] 80682cc: 2b00 cmp r3, #0 80682ce: bfb8 it lt 80682d0: 425b neglt r3, r3 80682d2: 653b str r3, [r7, #80] ; 0x50 if(RoundTo < 0) 80682d4: 683b ldr r3, [r7, #0] 80682d6: 2b00 cmp r3, #0 80682d8: da47 bge.n 806836a { F = modff(value, &I); 80682da: f107 032c add.w r3, r7, #44 ; 0x2c 80682de: 4618 mov r0, r3 80682e0: ed97 0a0c vldr s0, [r7, #48] ; 0x30 80682e4: f067 fc36 bl 80cfb54 80682e8: ed87 0a15 vstr s0, [r7, #84] ; 0x54 while(rnd) 80682ec: e00d b.n 806830a { F *= 10.0f; 80682ee: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80682f2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80682f6: ee67 7a87 vmul.f32 s15, s15, s14 80682fa: edc7 7a15 vstr s15, [r7, #84] ; 0x54 rnd--; 80682fe: 6d3b ldr r3, [r7, #80] ; 0x50 8068300: 3b01 subs r3, #1 8068302: 653b str r3, [r7, #80] ; 0x50 d++; 8068304: 6c7b ldr r3, [r7, #68] ; 0x44 8068306: 3301 adds r3, #1 8068308: 647b str r3, [r7, #68] ; 0x44 while(rnd) 806830a: 6d3b ldr r3, [r7, #80] ; 0x50 806830c: 2b00 cmp r3, #0 806830e: d1ee bne.n 80682ee } F = roundf(F); 8068310: ed97 0a15 vldr s0, [r7, #84] ; 0x54 8068314: f067 fc46 bl 80cfba4 8068318: ed87 0a15 vstr s0, [r7, #84] ; 0x54 dd = 1; 806831c: 2301 movs r3, #1 806831e: 643b str r3, [r7, #64] ; 0x40 for(i = 0; i < d; i++) 8068320: 2300 movs r3, #0 8068322: 65bb str r3, [r7, #88] ; 0x58 8068324: e008 b.n 8068338 dd *= 10; 8068326: 6c3a ldr r2, [r7, #64] ; 0x40 8068328: 4613 mov r3, r2 806832a: 009b lsls r3, r3, #2 806832c: 4413 add r3, r2 806832e: 005b lsls r3, r3, #1 8068330: 643b str r3, [r7, #64] ; 0x40 for(i = 0; i < d; i++) 8068332: 6dbb ldr r3, [r7, #88] ; 0x58 8068334: 3301 adds r3, #1 8068336: 65bb str r3, [r7, #88] ; 0x58 8068338: 6dba ldr r2, [r7, #88] ; 0x58 806833a: 6c7b ldr r3, [r7, #68] ; 0x44 806833c: 429a cmp r2, r3 806833e: d3f2 bcc.n 8068326 if((uint32_t) F == dd) 8068340: edd7 7a15 vldr s15, [r7, #84] ; 0x54 8068344: eefc 7ae7 vcvt.u32.f32 s15, s15 8068348: ee17 2a90 vmov r2, s15 806834c: 6c3b ldr r3, [r7, #64] ; 0x40 806834e: 429a cmp r2, r3 8068350: d116 bne.n 8068380 { F = 0; 8068352: f04f 0300 mov.w r3, #0 8068356: 657b str r3, [r7, #84] ; 0x54 I += 1; 8068358: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 806835c: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8068360: ee77 7a87 vadd.f32 s15, s15, s14 8068364: edc7 7a0b vstr s15, [r7, #44] ; 0x2c 8068368: e00a b.n 8068380 } } else { I = roundf(value); 806836a: ed97 0a0c vldr s0, [r7, #48] ; 0x30 806836e: f067 fc19 bl 80cfba4 8068372: eef0 7a40 vmov.f32 s15, s0 8068376: edc7 7a0b vstr s15, [r7, #44] ; 0x2c F = 0.0f; 806837a: f04f 0300 mov.w r3, #0 806837e: 657b str r3, [r7, #84] ; 0x54 } Int32 = (uint32_t) I; 8068380: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 8068384: eefc 7ae7 vcvt.u32.f32 s15, s15 8068388: ee17 3a90 vmov r3, s15 806838c: 64fb str r3, [r7, #76] ; 0x4c Frac32 = (uint32_t) F; 806838e: edd7 7a15 vldr s15, [r7, #84] ; 0x54 8068392: eefc 7ae7 vcvt.u32.f32 s15, s15 8068396: ee17 3a90 vmov r3, s15 806839a: 64bb str r3, [r7, #72] ; 0x48 _I32 = Int32; 806839c: 6cfb ldr r3, [r7, #76] ; 0x4c 806839e: 63bb str r3, [r7, #56] ; 0x38 _F32 = Frac32; 80683a0: 6cbb ldr r3, [r7, #72] ; 0x48 80683a2: 637b str r3, [r7, #52] ; 0x34 idx = 0; 80683a4: 2300 movs r3, #0 80683a6: f887 305f strb.w r3, [r7, #95] ; 0x5f tmparray[idx++] = '\0'; 80683aa: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80683ae: 1c5a adds r2, r3, #1 80683b0: f887 205f strb.w r2, [r7, #95] ; 0x5f 80683b4: f107 0260 add.w r2, r7, #96 ; 0x60 80683b8: 4413 add r3, r2 80683ba: 2200 movs r2, #0 80683bc: f803 2c54 strb.w r2, [r3, #-84] if((Int32 == 0) && (Frac32 == 0)) 80683c0: 6cfb ldr r3, [r7, #76] ; 0x4c 80683c2: 2b00 cmp r3, #0 80683c4: d135 bne.n 8068432 80683c6: 6cbb ldr r3, [r7, #72] ; 0x48 80683c8: 2b00 cmp r3, #0 80683ca: d132 bne.n 8068432 { if(RoundTo < 0) 80683cc: 683b ldr r3, [r7, #0] 80683ce: 2b00 cmp r3, #0 80683d0: da23 bge.n 806841a { for(i = 0; i < ABS(RoundTo); i++) 80683d2: 2300 movs r3, #0 80683d4: 65bb str r3, [r7, #88] ; 0x58 80683d6: e00d b.n 80683f4 tmparray[idx++] = '0'; 80683d8: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80683dc: 1c5a adds r2, r3, #1 80683de: f887 205f strb.w r2, [r7, #95] ; 0x5f 80683e2: f107 0260 add.w r2, r7, #96 ; 0x60 80683e6: 4413 add r3, r2 80683e8: 2230 movs r2, #48 ; 0x30 80683ea: f803 2c54 strb.w r2, [r3, #-84] for(i = 0; i < ABS(RoundTo); i++) 80683ee: 6dbb ldr r3, [r7, #88] ; 0x58 80683f0: 3301 adds r3, #1 80683f2: 65bb str r3, [r7, #88] ; 0x58 80683f4: 683b ldr r3, [r7, #0] 80683f6: ea83 72e3 eor.w r2, r3, r3, asr #31 80683fa: eba2 72e3 sub.w r2, r2, r3, asr #31 80683fe: 6dbb ldr r3, [r7, #88] ; 0x58 8068400: 429a cmp r2, r3 8068402: dce9 bgt.n 80683d8 tmparray[idx++] = '.'; 8068404: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 8068408: 1c5a adds r2, r3, #1 806840a: f887 205f strb.w r2, [r7, #95] ; 0x5f 806840e: f107 0260 add.w r2, r7, #96 ; 0x60 8068412: 4413 add r3, r2 8068414: 222e movs r2, #46 ; 0x2e 8068416: f803 2c54 strb.w r2, [r3, #-84] } tmparray[idx++] = '0'; 806841a: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 806841e: 1c5a adds r2, r3, #1 8068420: f887 205f strb.w r2, [r7, #95] ; 0x5f 8068424: f107 0260 add.w r2, r7, #96 ; 0x60 8068428: 4413 add r3, r2 806842a: 2230 movs r2, #48 ; 0x30 806842c: f803 2c54 strb.w r2, [r3, #-84] 8068430: e092 b.n 8068558 } else { if(RoundTo < 0) 8068432: 683b ldr r3, [r7, #0] 8068434: 2b00 cmp r3, #0 8068436: da38 bge.n 80684aa { for(i = 0; i < ABS(RoundTo); i++) 8068438: 2300 movs r3, #0 806843a: 65bb str r3, [r7, #88] ; 0x58 806843c: e022 b.n 8068484 { Tmp32 = Frac32; 806843e: 6cbb ldr r3, [r7, #72] ; 0x48 8068440: 63fb str r3, [r7, #60] ; 0x3c Frac32 /= 10; 8068442: 6cbb ldr r3, [r7, #72] ; 0x48 8068444: 4a21 ldr r2, [pc, #132] ; (80684cc ) 8068446: fba2 2303 umull r2, r3, r2, r3 806844a: 08db lsrs r3, r3, #3 806844c: 64bb str r3, [r7, #72] ; 0x48 Tmp32 = Tmp32 - Frac32 * 10; 806844e: 6cba ldr r2, [r7, #72] ; 0x48 8068450: 4613 mov r3, r2 8068452: 009b lsls r3, r3, #2 8068454: 4413 add r3, r2 8068456: 005b lsls r3, r3, #1 8068458: 461a mov r2, r3 806845a: 6bfb ldr r3, [r7, #60] ; 0x3c 806845c: 1a9b subs r3, r3, r2 806845e: 63fb str r3, [r7, #60] ; 0x3c tmparray[idx++] = '0' + Tmp32; 8068460: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 8068464: 1c5a adds r2, r3, #1 8068466: f887 205f strb.w r2, [r7, #95] ; 0x5f 806846a: 4619 mov r1, r3 806846c: 6bfb ldr r3, [r7, #60] ; 0x3c 806846e: b2db uxtb r3, r3 8068470: 3330 adds r3, #48 ; 0x30 8068472: b2da uxtb r2, r3 8068474: f107 0360 add.w r3, r7, #96 ; 0x60 8068478: 440b add r3, r1 806847a: f803 2c54 strb.w r2, [r3, #-84] for(i = 0; i < ABS(RoundTo); i++) 806847e: 6dbb ldr r3, [r7, #88] ; 0x58 8068480: 3301 adds r3, #1 8068482: 65bb str r3, [r7, #88] ; 0x58 8068484: 683b ldr r3, [r7, #0] 8068486: ea83 72e3 eor.w r2, r3, r3, asr #31 806848a: eba2 72e3 sub.w r2, r2, r3, asr #31 806848e: 6dbb ldr r3, [r7, #88] ; 0x58 8068490: 429a cmp r2, r3 8068492: dcd4 bgt.n 806843e } tmparray[idx++] = '.'; 8068494: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 8068498: 1c5a adds r2, r3, #1 806849a: f887 205f strb.w r2, [r7, #95] ; 0x5f 806849e: f107 0260 add.w r2, r7, #96 ; 0x60 80684a2: 4413 add r3, r2 80684a4: 222e movs r2, #46 ; 0x2e 80684a6: f803 2c54 strb.w r2, [r3, #-84] } if(Int32 != 0) 80684aa: 6cfb ldr r3, [r7, #76] ; 0x4c 80684ac: 2b00 cmp r3, #0 80684ae: d033 beq.n 8068518 { while(Int32) 80684b0: e02e b.n 8068510 80684b2: bf00 nop 80684b4: f3af 8000 nop.w 80684b8: ff99999a .word 0xff99999a 80684bc: 4197d783 .word 0x4197d783 80684c0: ff99999a .word 0xff99999a 80684c4: c197d783 .word 0xc197d783 80684c8: 20026d18 .word 0x20026d18 80684cc: cccccccd .word 0xcccccccd { Tmp32 = Int32; 80684d0: 6cfb ldr r3, [r7, #76] ; 0x4c 80684d2: 63fb str r3, [r7, #60] ; 0x3c Int32 /= 10; 80684d4: 6cfb ldr r3, [r7, #76] ; 0x4c 80684d6: 4a30 ldr r2, [pc, #192] ; (8068598 ) 80684d8: fba2 2303 umull r2, r3, r2, r3 80684dc: 08db lsrs r3, r3, #3 80684de: 64fb str r3, [r7, #76] ; 0x4c Tmp32 = Tmp32 - Int32 * 10; 80684e0: 6cfa ldr r2, [r7, #76] ; 0x4c 80684e2: 4613 mov r3, r2 80684e4: 009b lsls r3, r3, #2 80684e6: 4413 add r3, r2 80684e8: 005b lsls r3, r3, #1 80684ea: 461a mov r2, r3 80684ec: 6bfb ldr r3, [r7, #60] ; 0x3c 80684ee: 1a9b subs r3, r3, r2 80684f0: 63fb str r3, [r7, #60] ; 0x3c tmparray[idx++] = '0' + Tmp32; 80684f2: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80684f6: 1c5a adds r2, r3, #1 80684f8: f887 205f strb.w r2, [r7, #95] ; 0x5f 80684fc: 4619 mov r1, r3 80684fe: 6bfb ldr r3, [r7, #60] ; 0x3c 8068500: b2db uxtb r3, r3 8068502: 3330 adds r3, #48 ; 0x30 8068504: b2da uxtb r2, r3 8068506: f107 0360 add.w r3, r7, #96 ; 0x60 806850a: 440b add r3, r1 806850c: f803 2c54 strb.w r2, [r3, #-84] while(Int32) 8068510: 6cfb ldr r3, [r7, #76] ; 0x4c 8068512: 2b00 cmp r3, #0 8068514: d1dc bne.n 80684d0 8068516: e00a b.n 806852e } } else tmparray[idx++] = '0'; 8068518: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 806851c: 1c5a adds r2, r3, #1 806851e: f887 205f strb.w r2, [r7, #95] ; 0x5f 8068522: f107 0260 add.w r2, r7, #96 ; 0x60 8068526: 4413 add r3, r2 8068528: 2230 movs r2, #48 ; 0x30 806852a: f803 2c54 strb.w r2, [r3, #-84] if(minus) 806852e: 7afb ldrb r3, [r7, #11] 8068530: b2db uxtb r3, r3 8068532: 2b00 cmp r3, #0 8068534: d010 beq.n 8068558 { if((_I32 != 0) || (_F32 != 0)) 8068536: 6bbb ldr r3, [r7, #56] ; 0x38 8068538: 2b00 cmp r3, #0 806853a: d102 bne.n 8068542 806853c: 6b7b ldr r3, [r7, #52] ; 0x34 806853e: 2b00 cmp r3, #0 8068540: d00a beq.n 8068558 tmparray[idx++] = '-'; 8068542: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 8068546: 1c5a adds r2, r3, #1 8068548: f887 205f strb.w r2, [r7, #95] ; 0x5f 806854c: f107 0260 add.w r2, r7, #96 ; 0x60 8068550: 4413 add r3, r2 8068552: 222d movs r2, #45 ; 0x2d 8068554: f803 2c54 strb.w r2, [r3, #-84] } } for(i = 0; i < idx; i++) 8068558: 2300 movs r3, #0 806855a: 65bb str r3, [r7, #88] ; 0x58 806855c: e011 b.n 8068582 pString[i] = tmparray[idx - i - 1]; 806855e: f897 205f ldrb.w r2, [r7, #95] ; 0x5f 8068562: 6dbb ldr r3, [r7, #88] ; 0x58 8068564: 1ad3 subs r3, r2, r3 8068566: 3b01 subs r3, #1 8068568: f107 0260 add.w r2, r7, #96 ; 0x60 806856c: 4413 add r3, r2 806856e: f813 1c54 ldrb.w r1, [r3, #-84] 8068572: 4a0a ldr r2, [pc, #40] ; (806859c ) 8068574: 6dbb ldr r3, [r7, #88] ; 0x58 8068576: 4413 add r3, r2 8068578: 460a mov r2, r1 806857a: 701a strb r2, [r3, #0] for(i = 0; i < idx; i++) 806857c: 6dbb ldr r3, [r7, #88] ; 0x58 806857e: 3301 adds r3, #1 8068580: 65bb str r3, [r7, #88] ; 0x58 8068582: f897 205f ldrb.w r2, [r7, #95] ; 0x5f 8068586: 6dbb ldr r3, [r7, #88] ; 0x58 8068588: 429a cmp r2, r3 806858a: dce8 bgt.n 806855e return pString; 806858c: 4b03 ldr r3, [pc, #12] ; (806859c ) } 806858e: 4618 mov r0, r3 8068590: 3760 adds r7, #96 ; 0x60 8068592: 46bd mov sp, r7 8068594: bd80 pop {r7, pc} 8068596: bf00 nop 8068598: cccccccd .word 0xcccccccd 806859c: 20026d18 .word 0x20026d18 080685a0 : void MyFFT(uint32_t len, int32_t inverse) { 80685a0: b580 push {r7, lr} 80685a2: b098 sub sp, #96 ; 0x60 80685a4: af00 add r7, sp, #0 80685a6: 6078 str r0, [r7, #4] 80685a8: 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); 80685aa: 687b ldr r3, [r7, #4] 80685ac: ee07 3a90 vmov s15, r3 80685b0: eef8 7a67 vcvt.f32.u32 s15, s15 80685b4: eeb0 0a67 vmov.f32 s0, s15 80685b8: f067 fac2 bl 80cfb40 80685bc: eeb0 7a40 vmov.f32 s14, s0 80685c0: eef6 7a00 vmov.f32 s15, #96 ; 0x3f000000 0.5 80685c4: ee77 7a27 vadd.f32 s15, s14, s15 80685c8: eefc 7ae7 vcvt.u32.f32 s15, s15 80685cc: ee17 3a90 vmov r3, s15 80685d0: 643b str r3, [r7, #64] ; 0x40 for(l = 1; l <= n; l++) 80685d2: 2301 movs r3, #1 80685d4: 65fb str r3, [r7, #92] ; 0x5c 80685d6: e0ea b.n 80687ae { u = 1.0f; 80685d8: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 80685dc: 64fb str r3, [r7, #76] ; 0x4c v = 0.0f; 80685de: f04f 0300 mov.w r3, #0 80685e2: 64bb str r3, [r7, #72] ; 0x48 e = (1 << (n - l + 1)); 80685e4: 6c3a ldr r2, [r7, #64] ; 0x40 80685e6: 6dfb ldr r3, [r7, #92] ; 0x5c 80685e8: 1ad3 subs r3, r2, r3 80685ea: 3301 adds r3, #1 80685ec: 2201 movs r2, #1 80685ee: fa02 f303 lsl.w r3, r2, r3 80685f2: 63fb str r3, [r7, #60] ; 0x3c f = (e >> 1); 80685f4: 6bfb ldr r3, [r7, #60] ; 0x3c 80685f6: 085b lsrs r3, r3, #1 80685f8: 63bb str r3, [r7, #56] ; 0x38 z = PI / f; 80685fa: 6bbb ldr r3, [r7, #56] ; 0x38 80685fc: ee07 3a90 vmov s15, r3 8068600: eeb8 7a67 vcvt.f32.u32 s14, s15 8068604: eddf 6ab8 vldr s13, [pc, #736] ; 80688e8 8068608: eec6 7a87 vdiv.f32 s15, s13, s14 806860c: edc7 7a0d vstr s15, [r7, #52] ; 0x34 c = arm_cos_f32(z); 8068610: ed97 0a0d vldr s0, [r7, #52] ; 0x34 8068614: f04e fba8 bl 80b6d68 8068618: ed87 0a0c vstr s0, [r7, #48] ; 0x30 s = arm_sin_f32(z); 806861c: ed97 0a0d vldr s0, [r7, #52] ; 0x34 8068620: f04f f928 bl 80b7874 8068624: ed87 0a11 vstr s0, [r7, #68] ; 0x44 if(inverse == 0) { 8068628: 683b ldr r3, [r7, #0] 806862a: 2b00 cmp r3, #0 806862c: d105 bne.n 806863a s = -s; 806862e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8068632: eef1 7a67 vneg.f32 s15, s15 8068636: edc7 7a11 vstr s15, [r7, #68] ; 0x44 } for(j = 1; j <= f; j++) 806863a: 2301 movs r3, #1 806863c: 657b str r3, [r7, #84] ; 0x54 806863e: e0ae b.n 806879e { i = j; 8068640: 6d7b ldr r3, [r7, #84] ; 0x54 8068642: 65bb str r3, [r7, #88] ; 0x58 while(i <= len) 8068644: e081 b.n 806874a { o = i + f - 1; 8068646: 6dba ldr r2, [r7, #88] ; 0x58 8068648: 6bbb ldr r3, [r7, #56] ; 0x38 806864a: 4413 add r3, r2 806864c: 3b01 subs r3, #1 806864e: 62fb str r3, [r7, #44] ; 0x2c o1 = i - 1; 8068650: 6dbb ldr r3, [r7, #88] ; 0x58 8068652: 3b01 subs r3, #1 8068654: 62bb str r3, [r7, #40] ; 0x28 p = Real(o1) + Real(o); 8068656: 6abb ldr r3, [r7, #40] ; 0x28 8068658: 009a lsls r2, r3, #2 806865a: 4ba4 ldr r3, [pc, #656] ; (80688ec ) 806865c: 4413 add r3, r2 806865e: ed93 7a00 vldr s14, [r3] 8068662: 6afb ldr r3, [r7, #44] ; 0x2c 8068664: 009a lsls r2, r3, #2 8068666: 4ba1 ldr r3, [pc, #644] ; (80688ec ) 8068668: 4413 add r3, r2 806866a: edd3 7a00 vldr s15, [r3] 806866e: ee77 7a27 vadd.f32 s15, s14, s15 8068672: edc7 7a09 vstr s15, [r7, #36] ; 0x24 r = Real(o1) - Real(o); 8068676: 6abb ldr r3, [r7, #40] ; 0x28 8068678: 009a lsls r2, r3, #2 806867a: 4b9c ldr r3, [pc, #624] ; (80688ec ) 806867c: 4413 add r3, r2 806867e: ed93 7a00 vldr s14, [r3] 8068682: 6afb ldr r3, [r7, #44] ; 0x2c 8068684: 009a lsls r2, r3, #2 8068686: 4b99 ldr r3, [pc, #612] ; (80688ec ) 8068688: 4413 add r3, r2 806868a: edd3 7a00 vldr s15, [r3] 806868e: ee77 7a67 vsub.f32 s15, s14, s15 8068692: edc7 7a08 vstr s15, [r7, #32] q = Image(o1) + Image(o); 8068696: 6abb ldr r3, [r7, #40] ; 0x28 8068698: 009a lsls r2, r3, #2 806869a: 4b95 ldr r3, [pc, #596] ; (80688f0 ) 806869c: 4413 add r3, r2 806869e: ed93 7a00 vldr s14, [r3] 80686a2: 6afb ldr r3, [r7, #44] ; 0x2c 80686a4: 009a lsls r2, r3, #2 80686a6: 4b92 ldr r3, [pc, #584] ; (80688f0 ) 80686a8: 4413 add r3, r2 80686aa: edd3 7a00 vldr s15, [r3] 80686ae: ee77 7a27 vadd.f32 s15, s14, s15 80686b2: edc7 7a07 vstr s15, [r7, #28] t = Image(o1) - Image(o); 80686b6: 6abb ldr r3, [r7, #40] ; 0x28 80686b8: 009a lsls r2, r3, #2 80686ba: 4b8d ldr r3, [pc, #564] ; (80688f0 ) 80686bc: 4413 add r3, r2 80686be: ed93 7a00 vldr s14, [r3] 80686c2: 6afb ldr r3, [r7, #44] ; 0x2c 80686c4: 009a lsls r2, r3, #2 80686c6: 4b8a ldr r3, [pc, #552] ; (80688f0 ) 80686c8: 4413 add r3, r2 80686ca: edd3 7a00 vldr s15, [r3] 80686ce: ee77 7a67 vsub.f32 s15, s14, s15 80686d2: edc7 7a06 vstr s15, [r7, #24] Real(o) = r * u - t * v; 80686d6: 6afb ldr r3, [r7, #44] ; 0x2c 80686d8: 009a lsls r2, r3, #2 80686da: 4b84 ldr r3, [pc, #528] ; (80688ec ) 80686dc: 4413 add r3, r2 80686de: ed97 7a08 vldr s14, [r7, #32] 80686e2: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80686e6: ee27 7a27 vmul.f32 s14, s14, s15 80686ea: edd7 6a06 vldr s13, [r7, #24] 80686ee: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80686f2: ee66 7aa7 vmul.f32 s15, s13, s15 80686f6: ee77 7a67 vsub.f32 s15, s14, s15 80686fa: edc3 7a00 vstr s15, [r3] Image(o) = t * u + r * v; 80686fe: 6afb ldr r3, [r7, #44] ; 0x2c 8068700: 009a lsls r2, r3, #2 8068702: 4b7b ldr r3, [pc, #492] ; (80688f0 ) 8068704: 4413 add r3, r2 8068706: ed97 7a06 vldr s14, [r7, #24] 806870a: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 806870e: ee27 7a27 vmul.f32 s14, s14, s15 8068712: edd7 6a08 vldr s13, [r7, #32] 8068716: edd7 7a12 vldr s15, [r7, #72] ; 0x48 806871a: ee66 7aa7 vmul.f32 s15, s13, s15 806871e: ee77 7a27 vadd.f32 s15, s14, s15 8068722: edc3 7a00 vstr s15, [r3] Real(o1) = p; 8068726: 6abb ldr r3, [r7, #40] ; 0x28 8068728: 009a lsls r2, r3, #2 806872a: 4b70 ldr r3, [pc, #448] ; (80688ec ) 806872c: 4413 add r3, r2 806872e: 461a mov r2, r3 8068730: 6a7b ldr r3, [r7, #36] ; 0x24 8068732: 6013 str r3, [r2, #0] Image(o1) = q; 8068734: 6abb ldr r3, [r7, #40] ; 0x28 8068736: 009a lsls r2, r3, #2 8068738: 4b6d ldr r3, [pc, #436] ; (80688f0 ) 806873a: 4413 add r3, r2 806873c: 461a mov r2, r3 806873e: 69fb ldr r3, [r7, #28] 8068740: 6013 str r3, [r2, #0] i = i + e; 8068742: 6dba ldr r2, [r7, #88] ; 0x58 8068744: 6bfb ldr r3, [r7, #60] ; 0x3c 8068746: 4413 add r3, r2 8068748: 65bb str r3, [r7, #88] ; 0x58 while(i <= len) 806874a: 6dba ldr r2, [r7, #88] ; 0x58 806874c: 687b ldr r3, [r7, #4] 806874e: 429a cmp r2, r3 8068750: f67f af79 bls.w 8068646 } w = u * c - v * s; 8068754: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 8068758: edd7 7a0c vldr s15, [r7, #48] ; 0x30 806875c: ee27 7a27 vmul.f32 s14, s14, s15 8068760: edd7 6a12 vldr s13, [r7, #72] ; 0x48 8068764: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8068768: ee66 7aa7 vmul.f32 s15, s13, s15 806876c: ee77 7a67 vsub.f32 s15, s14, s15 8068770: edc7 7a05 vstr s15, [r7, #20] v = v * c + u * s; 8068774: ed97 7a12 vldr s14, [r7, #72] ; 0x48 8068778: edd7 7a0c vldr s15, [r7, #48] ; 0x30 806877c: ee27 7a27 vmul.f32 s14, s14, s15 8068780: edd7 6a13 vldr s13, [r7, #76] ; 0x4c 8068784: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8068788: ee66 7aa7 vmul.f32 s15, s13, s15 806878c: ee77 7a27 vadd.f32 s15, s14, s15 8068790: edc7 7a12 vstr s15, [r7, #72] ; 0x48 u = w; 8068794: 697b ldr r3, [r7, #20] 8068796: 64fb str r3, [r7, #76] ; 0x4c for(j = 1; j <= f; j++) 8068798: 6d7b ldr r3, [r7, #84] ; 0x54 806879a: 3301 adds r3, #1 806879c: 657b str r3, [r7, #84] ; 0x54 806879e: 6d7a ldr r2, [r7, #84] ; 0x54 80687a0: 6bbb ldr r3, [r7, #56] ; 0x38 80687a2: 429a cmp r2, r3 80687a4: f67f af4c bls.w 8068640 for(l = 1; l <= n; l++) 80687a8: 6dfb ldr r3, [r7, #92] ; 0x5c 80687aa: 3301 adds r3, #1 80687ac: 65fb str r3, [r7, #92] ; 0x5c 80687ae: 6dfa ldr r2, [r7, #92] ; 0x5c 80687b0: 6c3b ldr r3, [r7, #64] ; 0x40 80687b2: 429a cmp r2, r3 80687b4: f67f af10 bls.w 80685d8 } } j = 1; 80687b8: 2301 movs r3, #1 80687ba: 657b str r3, [r7, #84] ; 0x54 for(i = 1; i < len; i++) 80687bc: 2301 movs r3, #1 80687be: 65bb str r3, [r7, #88] ; 0x58 80687c0: e04f b.n 8068862 { if(i < j) 80687c2: 6dba ldr r2, [r7, #88] ; 0x58 80687c4: 6d7b ldr r3, [r7, #84] ; 0x54 80687c6: 429a cmp r2, r3 80687c8: d235 bcs.n 8068836 { j1 = j - 1; 80687ca: 6d7b ldr r3, [r7, #84] ; 0x54 80687cc: 3b01 subs r3, #1 80687ce: 613b str r3, [r7, #16] i1 = i - 1; 80687d0: 6dbb ldr r3, [r7, #88] ; 0x58 80687d2: 3b01 subs r3, #1 80687d4: 60fb str r3, [r7, #12] p = Real(j1); 80687d6: 693b ldr r3, [r7, #16] 80687d8: 009a lsls r2, r3, #2 80687da: 4b44 ldr r3, [pc, #272] ; (80688ec ) 80687dc: 4413 add r3, r2 80687de: 681b ldr r3, [r3, #0] 80687e0: 627b str r3, [r7, #36] ; 0x24 q = Image(j1); 80687e2: 693b ldr r3, [r7, #16] 80687e4: 009a lsls r2, r3, #2 80687e6: 4b42 ldr r3, [pc, #264] ; (80688f0 ) 80687e8: 4413 add r3, r2 80687ea: 681b ldr r3, [r3, #0] 80687ec: 61fb str r3, [r7, #28] Real(j1) = Real(i1); 80687ee: 693b ldr r3, [r7, #16] 80687f0: 009a lsls r2, r3, #2 80687f2: 4b3e ldr r3, [pc, #248] ; (80688ec ) 80687f4: 4413 add r3, r2 80687f6: 4619 mov r1, r3 80687f8: 68fb ldr r3, [r7, #12] 80687fa: 009a lsls r2, r3, #2 80687fc: 4b3b ldr r3, [pc, #236] ; (80688ec ) 80687fe: 4413 add r3, r2 8068800: 681b ldr r3, [r3, #0] 8068802: 600b str r3, [r1, #0] Image(j1) = Image(i1); 8068804: 693b ldr r3, [r7, #16] 8068806: 009a lsls r2, r3, #2 8068808: 4b39 ldr r3, [pc, #228] ; (80688f0 ) 806880a: 4413 add r3, r2 806880c: 4619 mov r1, r3 806880e: 68fb ldr r3, [r7, #12] 8068810: 009a lsls r2, r3, #2 8068812: 4b37 ldr r3, [pc, #220] ; (80688f0 ) 8068814: 4413 add r3, r2 8068816: 681b ldr r3, [r3, #0] 8068818: 600b str r3, [r1, #0] Real(i1) = p; 806881a: 68fb ldr r3, [r7, #12] 806881c: 009a lsls r2, r3, #2 806881e: 4b33 ldr r3, [pc, #204] ; (80688ec ) 8068820: 4413 add r3, r2 8068822: 461a mov r2, r3 8068824: 6a7b ldr r3, [r7, #36] ; 0x24 8068826: 6013 str r3, [r2, #0] Image(i1) = q; 8068828: 68fb ldr r3, [r7, #12] 806882a: 009a lsls r2, r3, #2 806882c: 4b30 ldr r3, [pc, #192] ; (80688f0 ) 806882e: 4413 add r3, r2 8068830: 461a mov r2, r3 8068832: 69fb ldr r3, [r7, #28] 8068834: 6013 str r3, [r2, #0] } k = (len >> 1); 8068836: 687b ldr r3, [r7, #4] 8068838: 085b lsrs r3, r3, #1 806883a: 653b str r3, [r7, #80] ; 0x50 while(k < j) 806883c: e006 b.n 806884c { j = j - k; 806883e: 6d7a ldr r2, [r7, #84] ; 0x54 8068840: 6d3b ldr r3, [r7, #80] ; 0x50 8068842: 1ad3 subs r3, r2, r3 8068844: 657b str r3, [r7, #84] ; 0x54 k = (k >> 1); 8068846: 6d3b ldr r3, [r7, #80] ; 0x50 8068848: 085b lsrs r3, r3, #1 806884a: 653b str r3, [r7, #80] ; 0x50 while(k < j) 806884c: 6d3a ldr r2, [r7, #80] ; 0x50 806884e: 6d7b ldr r3, [r7, #84] ; 0x54 8068850: 429a cmp r2, r3 8068852: d3f4 bcc.n 806883e } j = j + k; 8068854: 6d7a ldr r2, [r7, #84] ; 0x54 8068856: 6d3b ldr r3, [r7, #80] ; 0x50 8068858: 4413 add r3, r2 806885a: 657b str r3, [r7, #84] ; 0x54 for(i = 1; i < len; i++) 806885c: 6dbb ldr r3, [r7, #88] ; 0x58 806885e: 3301 adds r3, #1 8068860: 65bb str r3, [r7, #88] ; 0x58 8068862: 6dba ldr r2, [r7, #88] ; 0x58 8068864: 687b ldr r3, [r7, #4] 8068866: 429a cmp r2, r3 8068868: d3ab bcc.n 80687c2 } if(inverse == 0) { 806886a: 683b ldr r3, [r7, #0] 806886c: 2b00 cmp r3, #0 806886e: d037 beq.n 80688e0 return; } a = 1.0f / len; 8068870: 687b ldr r3, [r7, #4] 8068872: ee07 3a90 vmov s15, r3 8068876: eeb8 7a67 vcvt.f32.u32 s14, s15 806887a: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 806887e: eec6 7a87 vdiv.f32 s15, s13, s14 8068882: edc7 7a02 vstr s15, [r7, #8] for(k = 0; k < len; k++) 8068886: 2300 movs r3, #0 8068888: 653b str r3, [r7, #80] ; 0x50 806888a: e024 b.n 80688d6 { Real(k) = Real(k) * a; 806888c: 6d3b ldr r3, [r7, #80] ; 0x50 806888e: 009a lsls r2, r3, #2 8068890: 4b16 ldr r3, [pc, #88] ; (80688ec ) 8068892: 4413 add r3, r2 8068894: 4619 mov r1, r3 8068896: 6d3b ldr r3, [r7, #80] ; 0x50 8068898: 009a lsls r2, r3, #2 806889a: 4b14 ldr r3, [pc, #80] ; (80688ec ) 806889c: 4413 add r3, r2 806889e: ed93 7a00 vldr s14, [r3] 80688a2: edd7 7a02 vldr s15, [r7, #8] 80688a6: ee67 7a27 vmul.f32 s15, s14, s15 80688aa: edc1 7a00 vstr s15, [r1] Image(k) = Image(k) * a; 80688ae: 6d3b ldr r3, [r7, #80] ; 0x50 80688b0: 009a lsls r2, r3, #2 80688b2: 4b0f ldr r3, [pc, #60] ; (80688f0 ) 80688b4: 4413 add r3, r2 80688b6: 4619 mov r1, r3 80688b8: 6d3b ldr r3, [r7, #80] ; 0x50 80688ba: 009a lsls r2, r3, #2 80688bc: 4b0c ldr r3, [pc, #48] ; (80688f0 ) 80688be: 4413 add r3, r2 80688c0: ed93 7a00 vldr s14, [r3] 80688c4: edd7 7a02 vldr s15, [r7, #8] 80688c8: ee67 7a27 vmul.f32 s15, s14, s15 80688cc: edc1 7a00 vstr s15, [r1] for(k = 0; k < len; k++) 80688d0: 6d3b ldr r3, [r7, #80] ; 0x50 80688d2: 3301 adds r3, #1 80688d4: 653b str r3, [r7, #80] ; 0x50 80688d6: 6d3a ldr r2, [r7, #80] ; 0x50 80688d8: 687b ldr r3, [r7, #4] 80688da: 429a cmp r2, r3 80688dc: d3d6 bcc.n 806888c 80688de: e000 b.n 80688e2 return; 80688e0: bf00 nop } } 80688e2: 3760 adds r7, #96 ; 0x60 80688e4: 46bd mov sp, r7 80688e6: bd80 pop {r7, pc} 80688e8: 40490fdb .word 0x40490fdb 80688ec: 64090000 .word 0x64090000 80688f0: 64098000 .word 0x64098000 080688f4 : void CALC_MEAN(uint32_t smooth) { 80688f4: b580 push {r7, lr} 80688f6: b088 sub sp, #32 80688f8: af00 add r7, sp, #0 80688fa: 6078 str r0, [r7, #4] uint32_t sm = smooth + 1; 80688fc: 687b ldr r3, [r7, #4] 80688fe: 3301 adds r3, #1 8068900: 613b str r3, [r7, #16] uint32_t i, j, k; float32_t fs; Out[0] = 0.0f; 8068902: 4b75 ldr r3, [pc, #468] ; (8068ad8 ) 8068904: f04f 0200 mov.w r2, #0 8068908: 601a str r2, [r3, #0] for(i = 1; i < 4096; i++) 806890a: 2301 movs r3, #1 806890c: 61fb str r3, [r7, #28] 806890e: e0d3 b.n 8068ab8 { fs = In[i]; 8068910: 4a72 ldr r2, [pc, #456] ; (8068adc ) 8068912: 69fb ldr r3, [r7, #28] 8068914: 009b lsls r3, r3, #2 8068916: 4413 add r3, r2 8068918: 681b ldr r3, [r3, #0] 806891a: 617b str r3, [r7, #20] if(i < sm) 806891c: 69fa ldr r2, [r7, #28] 806891e: 693b ldr r3, [r7, #16] 8068920: 429a cmp r2, r3 8068922: d243 bcs.n 80689ac { for(j = 1; j < sm; j++) { 8068924: 2301 movs r3, #1 8068926: 61bb str r3, [r7, #24] 8068928: e010 b.n 806894c fs += In[i + j]; 806892a: 69fa ldr r2, [r7, #28] 806892c: 69bb ldr r3, [r7, #24] 806892e: 4413 add r3, r2 8068930: 4a6a ldr r2, [pc, #424] ; (8068adc ) 8068932: 009b lsls r3, r3, #2 8068934: 4413 add r3, r2 8068936: edd3 7a00 vldr s15, [r3] 806893a: ed97 7a05 vldr s14, [r7, #20] 806893e: ee77 7a27 vadd.f32 s15, s14, s15 8068942: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < sm; j++) { 8068946: 69bb ldr r3, [r7, #24] 8068948: 3301 adds r3, #1 806894a: 61bb str r3, [r7, #24] 806894c: 69ba ldr r2, [r7, #24] 806894e: 693b ldr r3, [r7, #16] 8068950: 429a cmp r2, r3 8068952: d3ea bcc.n 806892a } k = i; 8068954: 69fb ldr r3, [r7, #28] 8068956: 60fb str r3, [r7, #12] for(j = 1; j < k; j++) { 8068958: 2301 movs r3, #1 806895a: 61bb str r3, [r7, #24] 806895c: e010 b.n 8068980 fs += In[i - j]; 806895e: 69fa ldr r2, [r7, #28] 8068960: 69bb ldr r3, [r7, #24] 8068962: 1ad3 subs r3, r2, r3 8068964: 4a5d ldr r2, [pc, #372] ; (8068adc ) 8068966: 009b lsls r3, r3, #2 8068968: 4413 add r3, r2 806896a: edd3 7a00 vldr s15, [r3] 806896e: ed97 7a05 vldr s14, [r7, #20] 8068972: ee77 7a27 vadd.f32 s15, s14, s15 8068976: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < k; j++) { 806897a: 69bb ldr r3, [r7, #24] 806897c: 3301 adds r3, #1 806897e: 61bb str r3, [r7, #24] 8068980: 69ba ldr r2, [r7, #24] 8068982: 68fb ldr r3, [r7, #12] 8068984: 429a cmp r2, r3 8068986: d3ea bcc.n 806895e } Out[i] = fs / (float32_t) (smooth + k); 8068988: 687a ldr r2, [r7, #4] 806898a: 68fb ldr r3, [r7, #12] 806898c: 4413 add r3, r2 806898e: ee07 3a90 vmov s15, r3 8068992: eeb8 7a67 vcvt.f32.u32 s14, s15 8068996: edd7 6a05 vldr s13, [r7, #20] 806899a: eec6 7a87 vdiv.f32 s15, s13, s14 806899e: 4a4e ldr r2, [pc, #312] ; (8068ad8 ) 80689a0: 69fb ldr r3, [r7, #28] 80689a2: 009b lsls r3, r3, #2 80689a4: 4413 add r3, r2 80689a6: edc3 7a00 vstr s15, [r3] 80689aa: e082 b.n 8068ab2 } else if(i > 4096 - sm) 80689ac: 693b ldr r3, [r7, #16] 80689ae: f5c3 5280 rsb r2, r3, #4096 ; 0x1000 80689b2: 69fb ldr r3, [r7, #28] 80689b4: 429a cmp r2, r3 80689b6: d245 bcs.n 8068a44 { for(j = 1; j < sm; j++) { 80689b8: 2301 movs r3, #1 80689ba: 61bb str r3, [r7, #24] 80689bc: e010 b.n 80689e0 fs += In[i - j]; 80689be: 69fa ldr r2, [r7, #28] 80689c0: 69bb ldr r3, [r7, #24] 80689c2: 1ad3 subs r3, r2, r3 80689c4: 4a45 ldr r2, [pc, #276] ; (8068adc ) 80689c6: 009b lsls r3, r3, #2 80689c8: 4413 add r3, r2 80689ca: edd3 7a00 vldr s15, [r3] 80689ce: ed97 7a05 vldr s14, [r7, #20] 80689d2: ee77 7a27 vadd.f32 s15, s14, s15 80689d6: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < sm; j++) { 80689da: 69bb ldr r3, [r7, #24] 80689dc: 3301 adds r3, #1 80689de: 61bb str r3, [r7, #24] 80689e0: 69ba ldr r2, [r7, #24] 80689e2: 693b ldr r3, [r7, #16] 80689e4: 429a cmp r2, r3 80689e6: d3ea bcc.n 80689be } k = 4096 - i; 80689e8: 69fb ldr r3, [r7, #28] 80689ea: f5c3 5380 rsb r3, r3, #4096 ; 0x1000 80689ee: 60fb str r3, [r7, #12] for(j = 1; j < sm; j++) { 80689f0: 2301 movs r3, #1 80689f2: 61bb str r3, [r7, #24] 80689f4: e010 b.n 8068a18 fs += In[i + j]; 80689f6: 69fa ldr r2, [r7, #28] 80689f8: 69bb ldr r3, [r7, #24] 80689fa: 4413 add r3, r2 80689fc: 4a37 ldr r2, [pc, #220] ; (8068adc ) 80689fe: 009b lsls r3, r3, #2 8068a00: 4413 add r3, r2 8068a02: edd3 7a00 vldr s15, [r3] 8068a06: ed97 7a05 vldr s14, [r7, #20] 8068a0a: ee77 7a27 vadd.f32 s15, s14, s15 8068a0e: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < sm; j++) { 8068a12: 69bb ldr r3, [r7, #24] 8068a14: 3301 adds r3, #1 8068a16: 61bb str r3, [r7, #24] 8068a18: 69ba ldr r2, [r7, #24] 8068a1a: 693b ldr r3, [r7, #16] 8068a1c: 429a cmp r2, r3 8068a1e: d3ea bcc.n 80689f6 } Out[i] = fs / (float32_t) (smooth + k); 8068a20: 687a ldr r2, [r7, #4] 8068a22: 68fb ldr r3, [r7, #12] 8068a24: 4413 add r3, r2 8068a26: ee07 3a90 vmov s15, r3 8068a2a: eeb8 7a67 vcvt.f32.u32 s14, s15 8068a2e: edd7 6a05 vldr s13, [r7, #20] 8068a32: eec6 7a87 vdiv.f32 s15, s13, s14 8068a36: 4a28 ldr r2, [pc, #160] ; (8068ad8 ) 8068a38: 69fb ldr r3, [r7, #28] 8068a3a: 009b lsls r3, r3, #2 8068a3c: 4413 add r3, r2 8068a3e: edc3 7a00 vstr s15, [r3] 8068a42: e036 b.n 8068ab2 } else { for(j = 1; j < sm; j++) 8068a44: 2301 movs r3, #1 8068a46: 61bb str r3, [r7, #24] 8068a48: e01e b.n 8068a88 { fs += In[i - j]; 8068a4a: 69fa ldr r2, [r7, #28] 8068a4c: 69bb ldr r3, [r7, #24] 8068a4e: 1ad3 subs r3, r2, r3 8068a50: 4a22 ldr r2, [pc, #136] ; (8068adc ) 8068a52: 009b lsls r3, r3, #2 8068a54: 4413 add r3, r2 8068a56: edd3 7a00 vldr s15, [r3] 8068a5a: ed97 7a05 vldr s14, [r7, #20] 8068a5e: ee77 7a27 vadd.f32 s15, s14, s15 8068a62: edc7 7a05 vstr s15, [r7, #20] fs += In[i + j]; 8068a66: 69fa ldr r2, [r7, #28] 8068a68: 69bb ldr r3, [r7, #24] 8068a6a: 4413 add r3, r2 8068a6c: 4a1b ldr r2, [pc, #108] ; (8068adc ) 8068a6e: 009b lsls r3, r3, #2 8068a70: 4413 add r3, r2 8068a72: edd3 7a00 vldr s15, [r3] 8068a76: ed97 7a05 vldr s14, [r7, #20] 8068a7a: ee77 7a27 vadd.f32 s15, s14, s15 8068a7e: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < sm; j++) 8068a82: 69bb ldr r3, [r7, #24] 8068a84: 3301 adds r3, #1 8068a86: 61bb str r3, [r7, #24] 8068a88: 69ba ldr r2, [r7, #24] 8068a8a: 693b ldr r3, [r7, #16] 8068a8c: 429a cmp r2, r3 8068a8e: d3dc bcc.n 8068a4a } Out[i] = fs / (float32_t) ((smooth << 1) + 1); 8068a90: 687b ldr r3, [r7, #4] 8068a92: 005b lsls r3, r3, #1 8068a94: 3301 adds r3, #1 8068a96: ee07 3a90 vmov s15, r3 8068a9a: eeb8 7a67 vcvt.f32.u32 s14, s15 8068a9e: edd7 6a05 vldr s13, [r7, #20] 8068aa2: eec6 7a87 vdiv.f32 s15, s13, s14 8068aa6: 4a0c ldr r2, [pc, #48] ; (8068ad8 ) 8068aa8: 69fb ldr r3, [r7, #28] 8068aaa: 009b lsls r3, r3, #2 8068aac: 4413 add r3, r2 8068aae: edc3 7a00 vstr s15, [r3] for(i = 1; i < 4096; i++) 8068ab2: 69fb ldr r3, [r7, #28] 8068ab4: 3301 adds r3, #1 8068ab6: 61fb str r3, [r7, #28] 8068ab8: 69fb ldr r3, [r7, #28] 8068aba: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8068abe: f4ff af27 bcc.w 8068910 } } FastCopy16(OUT_Reg, CMPLX_A, Ns); // Ñðåäíÿÿ ëèíèÿ*/ 8068ac2: 4b07 ldr r3, [pc, #28] ; (8068ae0 ) 8068ac4: 681b ldr r3, [r3, #0] 8068ac6: 461a mov r2, r3 8068ac8: 2105 movs r1, #5 8068aca: 2009 movs r0, #9 8068acc: f7fd f988 bl 8065de0 } 8068ad0: bf00 nop 8068ad2: 3720 adds r7, #32 8068ad4: 46bd mov sp, r7 8068ad6: bd80 pop {r7, pc} 8068ad8: 20008000 .word 0x20008000 8068adc: 20027a20 .word 0x20027a20 8068ae0: 20021d2c .word 0x20021d2c 08068ae4 : //îðà void GetDataTacho(void) { 8068ae4: b580 push {r7, lr} 8068ae6: b082 sub sp, #8 8068ae8: af00 add r7, sp, #0 volatile uint16_t n; volatile uint16_t BlockSize; if(READY == 1) 8068aea: 4b0b ldr r3, [pc, #44] ; (8068b18 ) 8068aec: 781b ldrb r3, [r3, #0] 8068aee: b2db uxtb r3, r3 8068af0: 2b01 cmp r3, #1 8068af2: d106 bne.n 8068b02 memcpy((void *) In16, (void *) &AdcBuff_16(0), 32768); 8068af4: f44f 4200 mov.w r2, #32768 ; 0x8000 8068af8: 4908 ldr r1, [pc, #32] ; (8068b1c ) 8068afa: 4809 ldr r0, [pc, #36] ; (8068b20 ) 8068afc: f069 fa47 bl 80d1f8e 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 }*/ } 8068b00: e005 b.n 8068b0e else memcpy((void *) In16, (void *) &AdcBuff_16(HALF_UDAR_BUFF), 32768); 8068b02: f44f 4200 mov.w r2, #32768 ; 0x8000 8068b06: 4907 ldr r1, [pc, #28] ; (8068b24 ) 8068b08: 4805 ldr r0, [pc, #20] ; (8068b20 ) 8068b0a: f069 fa40 bl 80d1f8e } 8068b0e: bf00 nop 8068b10: 3708 adds r7, #8 8068b12: 46bd mov sp, r7 8068b14: bd80 pop {r7, pc} 8068b16: bf00 nop 8068b18: 20020d9f .word 0x20020d9f 8068b1c: 64060000 .word 0x64060000 8068b20: 20058080 .word 0x20058080 8068b24: 64068000 .word 0x64068000 08068b28 : float32_t CalcExcess(float32_t *data, uint32_t n) { 8068b28: b580 push {r7, lr} 8068b2a: b08e sub sp, #56 ; 0x38 8068b2c: af00 add r7, sp, #0 8068b2e: 6078 str r0, [r7, #4] 8068b30: 6039 str r1, [r7, #0] uint32_t i, blkCnt; float32_t f1, f2, f3, f4; float32_t mean = 0; 8068b32: f04f 0300 mov.w r3, #0 8068b36: 60fb str r3, [r7, #12] float32_t var = 0; 8068b38: f04f 0300 mov.w r3, #0 8068b3c: 60bb str r3, [r7, #8] float32_t div = 0; 8068b3e: f04f 0300 mov.w r3, #0 8068b42: 62fb str r3, [r7, #44] ; 0x2c float32_t k1 = 0, k2 = 0, sigma = 0; 8068b44: f04f 0300 mov.w r3, #0 8068b48: 62bb str r3, [r7, #40] ; 0x28 8068b4a: f04f 0300 mov.w r3, #0 8068b4e: 627b str r3, [r7, #36] ; 0x24 8068b50: f04f 0300 mov.w r3, #0 8068b54: 633b str r3, [r7, #48] ; 0x30 uint32_t tick = HAL_GetTick(); 8068b56: f04e ff65 bl 80b7a24 8068b5a: 6238 str r0, [r7, #32] if(n > 3) 8068b5c: 683b ldr r3, [r7, #0] 8068b5e: 2b03 cmp r3, #3 8068b60: f240 80ff bls.w 8068d62 { arm_mean_f32(data, n, &mean); 8068b64: f107 030c add.w r3, r7, #12 8068b68: 461a mov r2, r3 8068b6a: 6839 ldr r1, [r7, #0] 8068b6c: 6878 ldr r0, [r7, #4] 8068b6e: f066 fa1b bl 80cefa8 arm_var_f32(data, n, &var); 8068b72: f107 0308 add.w r3, r7, #8 8068b76: 461a mov r2, r3 8068b78: 6839 ldr r1, [r7, #0] 8068b7a: 6878 ldr r0, [r7, #4] 8068b7c: f066 f8bc bl 80cecf8 k1 = (float32_t) (n * n - 1.0f) / (float32_t) ((n - 2.0f) * (n - 3.0f)); 8068b80: 683b ldr r3, [r7, #0] 8068b82: 683a ldr r2, [r7, #0] 8068b84: fb02 f303 mul.w r3, r2, r3 8068b88: ee07 3a90 vmov s15, r3 8068b8c: eef8 7a67 vcvt.f32.u32 s15, s15 8068b90: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8068b94: ee77 6ac7 vsub.f32 s13, s15, s14 8068b98: 683b ldr r3, [r7, #0] 8068b9a: ee07 3a90 vmov s15, r3 8068b9e: eef8 7a67 vcvt.f32.u32 s15, s15 8068ba2: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8068ba6: ee37 7ac7 vsub.f32 s14, s15, s14 8068baa: 683b ldr r3, [r7, #0] 8068bac: ee07 3a90 vmov s15, r3 8068bb0: eef8 7a67 vcvt.f32.u32 s15, s15 8068bb4: eeb0 6a08 vmov.f32 s12, #8 ; 0x40400000 3.0 8068bb8: ee77 7ac6 vsub.f32 s15, s15, s12 8068bbc: ee27 7a27 vmul.f32 s14, s14, s15 8068bc0: eec6 7a87 vdiv.f32 s15, s13, s14 8068bc4: edc7 7a0a vstr s15, [r7, #40] ; 0x28 k2 = (float32_t) (6.0f / ((float32_t) n + 1.0f)) - 3.0f; 8068bc8: 683b ldr r3, [r7, #0] 8068bca: ee07 3a90 vmov s15, r3 8068bce: eef8 7a67 vcvt.f32.u32 s15, s15 8068bd2: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8068bd6: ee37 7a87 vadd.f32 s14, s15, s14 8068bda: eef1 6a08 vmov.f32 s13, #24 ; 0x40c00000 6.0 8068bde: eec6 7a87 vdiv.f32 s15, s13, s14 8068be2: eeb0 7a08 vmov.f32 s14, #8 ; 0x40400000 3.0 8068be6: ee77 7ac7 vsub.f32 s15, s15, s14 8068bea: edc7 7a09 vstr s15, [r7, #36] ; 0x24 blkCnt = n >> 2; 8068bee: 683b ldr r3, [r7, #0] 8068bf0: 089b lsrs r3, r3, #2 8068bf2: 637b str r3, [r7, #52] ; 0x34 while(blkCnt > 0u) 8068bf4: e08a b.n 8068d0c { f1 = *data++; 8068bf6: 687b ldr r3, [r7, #4] 8068bf8: 1d1a adds r2, r3, #4 8068bfa: 607a str r2, [r7, #4] 8068bfc: 681b ldr r3, [r3, #0] 8068bfe: 61fb str r3, [r7, #28] f1 = (f1 - mean); 8068c00: edd7 7a03 vldr s15, [r7, #12] 8068c04: ed97 7a07 vldr s14, [r7, #28] 8068c08: ee77 7a67 vsub.f32 s15, s14, s15 8068c0c: edc7 7a07 vstr s15, [r7, #28] f1 = f1 * f1 * f1 * f1; 8068c10: ed97 7a07 vldr s14, [r7, #28] 8068c14: edd7 7a07 vldr s15, [r7, #28] 8068c18: ee27 7a27 vmul.f32 s14, s14, s15 8068c1c: edd7 7a07 vldr s15, [r7, #28] 8068c20: ee67 7a27 vmul.f32 s15, s14, s15 8068c24: ed97 7a07 vldr s14, [r7, #28] 8068c28: ee67 7a27 vmul.f32 s15, s14, s15 8068c2c: edc7 7a07 vstr s15, [r7, #28] f2 = *data++; 8068c30: 687b ldr r3, [r7, #4] 8068c32: 1d1a adds r2, r3, #4 8068c34: 607a str r2, [r7, #4] 8068c36: 681b ldr r3, [r3, #0] 8068c38: 61bb str r3, [r7, #24] f2 = (f2 - mean); 8068c3a: edd7 7a03 vldr s15, [r7, #12] 8068c3e: ed97 7a06 vldr s14, [r7, #24] 8068c42: ee77 7a67 vsub.f32 s15, s14, s15 8068c46: edc7 7a06 vstr s15, [r7, #24] f2 = f2 * f2 * f2 * f2; 8068c4a: ed97 7a06 vldr s14, [r7, #24] 8068c4e: edd7 7a06 vldr s15, [r7, #24] 8068c52: ee27 7a27 vmul.f32 s14, s14, s15 8068c56: edd7 7a06 vldr s15, [r7, #24] 8068c5a: ee67 7a27 vmul.f32 s15, s14, s15 8068c5e: ed97 7a06 vldr s14, [r7, #24] 8068c62: ee67 7a27 vmul.f32 s15, s14, s15 8068c66: edc7 7a06 vstr s15, [r7, #24] f3 = *data++; 8068c6a: 687b ldr r3, [r7, #4] 8068c6c: 1d1a adds r2, r3, #4 8068c6e: 607a str r2, [r7, #4] 8068c70: 681b ldr r3, [r3, #0] 8068c72: 617b str r3, [r7, #20] f3 = (f3 - mean); 8068c74: edd7 7a03 vldr s15, [r7, #12] 8068c78: ed97 7a05 vldr s14, [r7, #20] 8068c7c: ee77 7a67 vsub.f32 s15, s14, s15 8068c80: edc7 7a05 vstr s15, [r7, #20] f3 = f3 * f3 * f3 * f3; 8068c84: ed97 7a05 vldr s14, [r7, #20] 8068c88: edd7 7a05 vldr s15, [r7, #20] 8068c8c: ee27 7a27 vmul.f32 s14, s14, s15 8068c90: edd7 7a05 vldr s15, [r7, #20] 8068c94: ee67 7a27 vmul.f32 s15, s14, s15 8068c98: ed97 7a05 vldr s14, [r7, #20] 8068c9c: ee67 7a27 vmul.f32 s15, s14, s15 8068ca0: edc7 7a05 vstr s15, [r7, #20] f4 = *data++; 8068ca4: 687b ldr r3, [r7, #4] 8068ca6: 1d1a adds r2, r3, #4 8068ca8: 607a str r2, [r7, #4] 8068caa: 681b ldr r3, [r3, #0] 8068cac: 613b str r3, [r7, #16] f4 = (f4 - mean); 8068cae: edd7 7a03 vldr s15, [r7, #12] 8068cb2: ed97 7a04 vldr s14, [r7, #16] 8068cb6: ee77 7a67 vsub.f32 s15, s14, s15 8068cba: edc7 7a04 vstr s15, [r7, #16] f4 = f4 * f4 * f4 * f4; 8068cbe: ed97 7a04 vldr s14, [r7, #16] 8068cc2: edd7 7a04 vldr s15, [r7, #16] 8068cc6: ee27 7a27 vmul.f32 s14, s14, s15 8068cca: edd7 7a04 vldr s15, [r7, #16] 8068cce: ee67 7a27 vmul.f32 s15, s14, s15 8068cd2: ed97 7a04 vldr s14, [r7, #16] 8068cd6: ee67 7a27 vmul.f32 s15, s14, s15 8068cda: edc7 7a04 vstr s15, [r7, #16] sigma += (f1 + f2 + f3 + f4); 8068cde: ed97 7a07 vldr s14, [r7, #28] 8068ce2: edd7 7a06 vldr s15, [r7, #24] 8068ce6: ee37 7a27 vadd.f32 s14, s14, s15 8068cea: edd7 7a05 vldr s15, [r7, #20] 8068cee: ee37 7a27 vadd.f32 s14, s14, s15 8068cf2: edd7 7a04 vldr s15, [r7, #16] 8068cf6: ee77 7a27 vadd.f32 s15, s14, s15 8068cfa: ed97 7a0c vldr s14, [r7, #48] ; 0x30 8068cfe: ee77 7a27 vadd.f32 s15, s14, s15 8068d02: edc7 7a0c vstr s15, [r7, #48] ; 0x30 /* Decrement the loop counter */ blkCnt--; 8068d06: 6b7b ldr r3, [r7, #52] ; 0x34 8068d08: 3b01 subs r3, #1 8068d0a: 637b str r3, [r7, #52] ; 0x34 while(blkCnt > 0u) 8068d0c: 6b7b ldr r3, [r7, #52] ; 0x34 8068d0e: 2b00 cmp r3, #0 8068d10: f47f af71 bne.w 8068bf6 } sigma /= (float32_t) n; 8068d14: 683b ldr r3, [r7, #0] 8068d16: ee07 3a90 vmov s15, r3 8068d1a: eeb8 7a67 vcvt.f32.u32 s14, s15 8068d1e: edd7 6a0c vldr s13, [r7, #48] ; 0x30 8068d22: eec6 7a87 vdiv.f32 s15, s13, s14 8068d26: edc7 7a0c vstr s15, [r7, #48] ; 0x30 f1 = k1 * (sigma / (var * var)) + k2; 8068d2a: ed97 7a02 vldr s14, [r7, #8] 8068d2e: edd7 7a02 vldr s15, [r7, #8] 8068d32: ee67 7a27 vmul.f32 s15, s14, s15 8068d36: edd7 6a0c vldr s13, [r7, #48] ; 0x30 8068d3a: ee86 7aa7 vdiv.f32 s14, s13, s15 8068d3e: edd7 7a0a vldr s15, [r7, #40] ; 0x28 8068d42: ee27 7a27 vmul.f32 s14, s14, s15 8068d46: edd7 7a09 vldr s15, [r7, #36] ; 0x24 8068d4a: ee77 7a27 vadd.f32 s15, s14, s15 8068d4e: edc7 7a07 vstr s15, [r7, #28] tick = HAL_GetTick() - tick; 8068d52: f04e fe67 bl 80b7a24 8068d56: 4602 mov r2, r0 8068d58: 6a3b ldr r3, [r7, #32] 8068d5a: 1ad3 subs r3, r2, r3 8068d5c: 623b str r3, [r7, #32] return f1; 8068d5e: 69fb ldr r3, [r7, #28] 8068d60: e001 b.n 8068d66 } return 0; 8068d62: f04f 0300 mov.w r3, #0 8068d66: ee07 3a90 vmov s15, r3 } 8068d6a: eeb0 0a67 vmov.f32 s0, s15 8068d6e: 3738 adds r7, #56 ; 0x38 8068d70: 46bd mov sp, r7 8068d72: bd80 pop {r7, pc} 08068d74 : 0xAA55, 0x55AA, 0xAA55, 0x55AA, 0xAA55, 0x55AA, 0xAA55, 0x55AA, 0xAA55}; volatile uint16_t RAMin[19]; void RAMTest(void) { 8068d74: b580 push {r7, lr} 8068d76: b084 sub sp, #16 8068d78: af00 add r7, sp, #0 volatile uint32_t i, j, addr; uint8_t *p; memset((( uint8_t *) (((volatile uint32_t) 0x64000000))), 0, 0x000C0000); 8068d7a: f44f 2240 mov.w r2, #786432 ; 0xc0000 8068d7e: 2100 movs r1, #0 8068d80: f04f 40c8 mov.w r0, #1677721600 ; 0x64000000 8068d84: f069 f90e bl 80d1fa4 for(p = (uint8_t *) SRAM_ADDR_OFFSET; p < (uint8_t *)0x640C0000; ) 8068d88: f04f 43c8 mov.w r3, #1677721600 ; 0x64000000 8068d8c: 60fb str r3, [r7, #12] 8068d8e: e007 b.n 8068da0 { memcpy((void *)p, (void *)RAMDat, sizeof(RAMDat)); 8068d90: 220c movs r2, #12 8068d92: 4940 ldr r1, [pc, #256] ; (8068e94 ) 8068d94: 68f8 ldr r0, [r7, #12] 8068d96: f069 f8fa bl 80d1f8e p += sizeof(RAMDat); 8068d9a: 68fb ldr r3, [r7, #12] 8068d9c: 330c adds r3, #12 8068d9e: 60fb str r3, [r7, #12] for(p = (uint8_t *) SRAM_ADDR_OFFSET; p < (uint8_t *)0x640C0000; ) 8068da0: 68fb ldr r3, [r7, #12] 8068da2: 4a3d ldr r2, [pc, #244] ; (8068e98 ) 8068da4: 4293 cmp r3, r2 8068da6: d9f3 bls.n 8068d90 } for(p = (uint8_t *) SRAM_ADDR_OFFSET; p < (uint8_t *)0x640C0000; ) 8068da8: f04f 43c8 mov.w r3, #1677721600 ; 0x64000000 8068dac: 60fb str r3, [r7, #12] 8068dae: e00b b.n 8068dc8 { if(memcmp((void *)p, (void *)RAMDat, sizeof(RAMDat)) != 0) 8068db0: 220c movs r2, #12 8068db2: 4938 ldr r1, [pc, #224] ; (8068e94 ) 8068db4: 68f8 ldr r0, [r7, #12] 8068db6: f069 f8db bl 80d1f70 8068dba: 4603 mov r3, r0 8068dbc: 2b00 cmp r3, #0 8068dbe: d000 beq.n 8068dc2 while(1); 8068dc0: e7fe b.n 8068dc0 p += sizeof(RAMDat); 8068dc2: 68fb ldr r3, [r7, #12] 8068dc4: 330c adds r3, #12 8068dc6: 60fb str r3, [r7, #12] for(p = (uint8_t *) SRAM_ADDR_OFFSET; p < (uint8_t *)0x640C0000; ) 8068dc8: 68fb ldr r3, [r7, #12] 8068dca: 4a33 ldr r2, [pc, #204] ; (8068e98 ) 8068dcc: 4293 cmp r3, r2 8068dce: d9ef bls.n 8068db0 } for(j = 0; j < 10000; j++) 8068dd0: 2300 movs r3, #0 8068dd2: 607b str r3, [r7, #4] 8068dd4: e052 b.n 8068e7c { i = 0; addr = 0; 8068dd6: 2300 movs r3, #0 8068dd8: 60bb str r3, [r7, #8] 8068dda: 2300 movs r3, #0 8068ddc: 603b str r3, [r7, #0] while(i < 19) 8068dde: e01b b.n 8068e18 { if(!(i & 1)) 8068de0: 68bb ldr r3, [r7, #8] 8068de2: f003 0301 and.w r3, r3, #1 8068de6: 2b00 cmp r3, #0 8068de8: d105 bne.n 8068df6 addr = (addr << 1) | 0x1; 8068dea: 683b ldr r3, [r7, #0] 8068dec: 005b lsls r3, r3, #1 8068dee: f043 0301 orr.w r3, r3, #1 8068df2: 603b str r3, [r7, #0] 8068df4: e002 b.n 8068dfc else addr = (addr << 1); 8068df6: 683b ldr r3, [r7, #0] 8068df8: 005b lsls r3, r3, #1 8068dfa: 603b str r3, [r7, #0] RAM_WR32(addr) = RAMout[i]; 8068dfc: 683b ldr r3, [r7, #0] 8068dfe: 005b lsls r3, r3, #1 8068e00: f103 43c8 add.w r3, r3, #1677721600 ; 0x64000000 8068e04: 4619 mov r1, r3 8068e06: 68bb ldr r3, [r7, #8] 8068e08: 4a24 ldr r2, [pc, #144] ; (8068e9c ) 8068e0a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8068e0e: b29b uxth r3, r3 8068e10: 600b str r3, [r1, #0] i++; 8068e12: 68bb ldr r3, [r7, #8] 8068e14: 3301 adds r3, #1 8068e16: 60bb str r3, [r7, #8] while(i < 19) 8068e18: 68bb ldr r3, [r7, #8] 8068e1a: 2b12 cmp r3, #18 8068e1c: d9e0 bls.n 8068de0 } i = 0; addr = 0; 8068e1e: 2300 movs r3, #0 8068e20: 60bb str r3, [r7, #8] 8068e22: 2300 movs r3, #0 8068e24: 603b str r3, [r7, #0] while(i < 19) 8068e26: e01a b.n 8068e5e { if(!(i & 1)) 8068e28: 68bb ldr r3, [r7, #8] 8068e2a: f003 0301 and.w r3, r3, #1 8068e2e: 2b00 cmp r3, #0 8068e30: d105 bne.n 8068e3e addr = (addr << 1) | 0x1; 8068e32: 683b ldr r3, [r7, #0] 8068e34: 005b lsls r3, r3, #1 8068e36: f043 0301 orr.w r3, r3, #1 8068e3a: 603b str r3, [r7, #0] 8068e3c: e002 b.n 8068e44 else addr = (addr << 1); 8068e3e: 683b ldr r3, [r7, #0] 8068e40: 005b lsls r3, r3, #1 8068e42: 603b str r3, [r7, #0] RAMin[i] = RAM_RD32(addr); 8068e44: 68bb ldr r3, [r7, #8] 8068e46: 683a ldr r2, [r7, #0] 8068e48: 0052 lsls r2, r2, #1 8068e4a: f102 42c8 add.w r2, r2, #1677721600 ; 0x64000000 8068e4e: 6812 ldr r2, [r2, #0] 8068e50: b291 uxth r1, r2 8068e52: 4a13 ldr r2, [pc, #76] ; (8068ea0 ) 8068e54: f822 1013 strh.w r1, [r2, r3, lsl #1] i++; 8068e58: 68bb ldr r3, [r7, #8] 8068e5a: 3301 adds r3, #1 8068e5c: 60bb str r3, [r7, #8] while(i < 19) 8068e5e: 68bb ldr r3, [r7, #8] 8068e60: 2b12 cmp r3, #18 8068e62: d9e1 bls.n 8068e28 } if(memcmp((void *)RAMout, (void *)RAMin, sizeof(RAMout)) != 0) 8068e64: 2226 movs r2, #38 ; 0x26 8068e66: 490e ldr r1, [pc, #56] ; (8068ea0 ) 8068e68: 480c ldr r0, [pc, #48] ; (8068e9c ) 8068e6a: f069 f881 bl 80d1f70 8068e6e: 4603 mov r3, r0 8068e70: 2b00 cmp r3, #0 8068e72: d000 beq.n 8068e76 while(1); 8068e74: e7fe b.n 8068e74 for(j = 0; j < 10000; j++) 8068e76: 687b ldr r3, [r7, #4] 8068e78: 3301 adds r3, #1 8068e7a: 607b str r3, [r7, #4] 8068e7c: 687b ldr r3, [r7, #4] 8068e7e: f242 720f movw r2, #9999 ; 0x270f 8068e82: 4293 cmp r3, r2 8068e84: d9a7 bls.n 8068dd6 } i = 0; 8068e86: 2300 movs r3, #0 8068e88: 60bb str r3, [r7, #8] } 8068e8a: bf00 nop 8068e8c: 3710 adds r7, #16 8068e8e: 46bd mov sp, r7 8068e90: bd80 pop {r7, pc} 8068e92: bf00 nop 8068e94: 20020098 .word 0x20020098 8068e98: 640bffff .word 0x640bffff 8068e9c: 200200a4 .word 0x200200a4 8068ea0: 200685d0 .word 0x200685d0 08068ea4 : /* RTC init function */ void MX_RTC_Init(void) { 8068ea4: b580 push {r7, lr} 8068ea6: b08a sub sp, #40 ; 0x28 8068ea8: 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(); 8068eaa: 4a40 ldr r2, [pc, #256] ; (8068fac ) 8068eac: 4b3f ldr r3, [pc, #252] ; (8068fac ) 8068eae: 6c1b ldr r3, [r3, #64] ; 0x40 8068eb0: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 8068eb4: 6413 str r3, [r2, #64] ; 0x40 8068eb6: 4b3d ldr r3, [pc, #244] ; (8068fac ) 8068eb8: 6c1b ldr r3, [r3, #64] ; 0x40 8068eba: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 8068ebe: 60bb str r3, [r7, #8] 8068ec0: 68bb ldr r3, [r7, #8] __HAL_RCC_BKPSRAM_CLK_ENABLE(); 8068ec2: 4a3a ldr r2, [pc, #232] ; (8068fac ) 8068ec4: 4b39 ldr r3, [pc, #228] ; (8068fac ) 8068ec6: 6b1b ldr r3, [r3, #48] ; 0x30 8068ec8: f443 2380 orr.w r3, r3, #262144 ; 0x40000 8068ecc: 6313 str r3, [r2, #48] ; 0x30 8068ece: 4b37 ldr r3, [pc, #220] ; (8068fac ) 8068ed0: 6b1b ldr r3, [r3, #48] ; 0x30 8068ed2: f403 2380 and.w r3, r3, #262144 ; 0x40000 8068ed6: 607b str r3, [r7, #4] 8068ed8: 687b ldr r3, [r7, #4] HAL_PWR_EnableBkUpAccess(); 8068eda: f053 f849 bl 80bbf70 hrtc.Instance = RTC; 8068ede: 4b34 ldr r3, [pc, #208] ; (8068fb0 ) 8068ee0: 4a34 ldr r2, [pc, #208] ; (8068fb4 ) 8068ee2: 601a str r2, [r3, #0] hrtc.Init.HourFormat = RTC_HOURFORMAT_24; 8068ee4: 4b32 ldr r3, [pc, #200] ; (8068fb0 ) 8068ee6: 2200 movs r2, #0 8068ee8: 605a str r2, [r3, #4] hrtc.Init.AsynchPrediv = RTC_ASYNCH_PREDIV; 8068eea: 4b31 ldr r3, [pc, #196] ; (8068fb0 ) 8068eec: 227f movs r2, #127 ; 0x7f 8068eee: 609a str r2, [r3, #8] hrtc.Init.SynchPrediv = RTC_SYNCH_PREDIV; 8068ef0: 4b2f ldr r3, [pc, #188] ; (8068fb0 ) 8068ef2: 22ff movs r2, #255 ; 0xff 8068ef4: 60da str r2, [r3, #12] hrtc.Init.OutPut = RTC_OUTPUT_DISABLE; 8068ef6: 4b2e ldr r3, [pc, #184] ; (8068fb0 ) 8068ef8: 2200 movs r2, #0 8068efa: 611a str r2, [r3, #16] hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH; 8068efc: 4b2c ldr r3, [pc, #176] ; (8068fb0 ) 8068efe: 2200 movs r2, #0 8068f00: 615a str r2, [r3, #20] hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN; 8068f02: 4b2b ldr r3, [pc, #172] ; (8068fb0 ) 8068f04: 2200 movs r2, #0 8068f06: 619a str r2, [r3, #24] if (HAL_RTC_Init(&hrtc) != HAL_OK) 8068f08: 4829 ldr r0, [pc, #164] ; (8068fb0 ) 8068f0a: f054 f913 bl 80bd134 8068f0e: 4603 mov r3, r0 8068f10: 2b00 cmp r3, #0 8068f12: d001 beq.n 8068f18 { Error_Handler(); 8068f14: f7ed fcca bl 80568ac } if(HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR1) == 0x3264) 8068f18: 2101 movs r1, #1 8068f1a: 4825 ldr r0, [pc, #148] ; (8068fb0 ) 8068f1c: f054 fc5a bl 80bd7d4 8068f20: 4602 mov r2, r0 8068f22: f243 2364 movw r3, #12900 ; 0x3264 8068f26: 429a cmp r2, r3 8068f28: d106 bne.n 8068f38 { __HAL_RCC_CLEAR_RESET_FLAGS(); 8068f2a: 4a20 ldr r2, [pc, #128] ; (8068fac ) 8068f2c: 4b1f ldr r3, [pc, #124] ; (8068fac ) 8068f2e: 6f5b ldr r3, [r3, #116] ; 0x74 8068f30: f043 7380 orr.w r3, r3, #16777216 ; 0x1000000 8068f34: 6753 str r3, [r2, #116] ; 0x74 /*if (HAL_RTCEx_SetWakeUpTimer(&hrtc, 0x7ff, RTC_WAKEUPCLOCK_RTCCLK_DIV16) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); }*/ } 8068f36: e034 b.n 8068fa2 sTime.Hours = 0; 8068f38: 2300 movs r3, #0 8068f3a: 743b strb r3, [r7, #16] sTime.Minutes = 0; 8068f3c: 2300 movs r3, #0 8068f3e: 747b strb r3, [r7, #17] sTime.Seconds = 0; 8068f40: 2300 movs r3, #0 8068f42: 74bb strb r3, [r7, #18] sTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE; 8068f44: 2300 movs r3, #0 8068f46: 623b str r3, [r7, #32] sTime.StoreOperation = RTC_STOREOPERATION_RESET; 8068f48: 2300 movs r3, #0 8068f4a: 627b str r3, [r7, #36] ; 0x24 if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BIN) != HAL_OK) { 8068f4c: f107 0310 add.w r3, r7, #16 8068f50: 2200 movs r2, #0 8068f52: 4619 mov r1, r3 8068f54: 4816 ldr r0, [pc, #88] ; (8068fb0 ) 8068f56: f054 f97f bl 80bd258 8068f5a: 4603 mov r3, r0 8068f5c: 2b00 cmp r3, #0 8068f5e: d001 beq.n 8068f64 Error_Handler(); 8068f60: f7ed fca4 bl 80568ac sDate.WeekDay = RTC_WEEKDAY_FRIDAY; 8068f64: 2305 movs r3, #5 8068f66: 733b strb r3, [r7, #12] sDate.Month = RTC_MONTH_JANUARY; 8068f68: 2301 movs r3, #1 8068f6a: 737b strb r3, [r7, #13] sDate.Date = 1; 8068f6c: 2301 movs r3, #1 8068f6e: 73bb strb r3, [r7, #14] sDate.Year = 21; 8068f70: 2315 movs r3, #21 8068f72: 73fb strb r3, [r7, #15] if (HAL_RTC_SetDate(&hrtc, &sDate, RTC_FORMAT_BIN) != HAL_OK) { 8068f74: f107 030c add.w r3, r7, #12 8068f78: 2200 movs r2, #0 8068f7a: 4619 mov r1, r3 8068f7c: 480c ldr r0, [pc, #48] ; (8068fb0 ) 8068f7e: f054 fa87 bl 80bd490 8068f82: 4603 mov r3, r0 8068f84: 2b00 cmp r3, #0 8068f86: d001 beq.n 8068f8c Error_Handler(); 8068f88: f7ed fc90 bl 80568ac HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR1, 0x3264); 8068f8c: f243 2264 movw r2, #12900 ; 0x3264 8068f90: 2101 movs r1, #1 8068f92: 4807 ldr r0, [pc, #28] ; (8068fb0 ) 8068f94: f054 fc04 bl 80bd7a0 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR2, 0); 8068f98: 2200 movs r2, #0 8068f9a: 2102 movs r1, #2 8068f9c: 4804 ldr r0, [pc, #16] ; (8068fb0 ) 8068f9e: f054 fbff bl 80bd7a0 } 8068fa2: bf00 nop 8068fa4: 3728 adds r7, #40 ; 0x28 8068fa6: 46bd mov sp, r7 8068fa8: bd80 pop {r7, pc} 8068faa: bf00 nop 8068fac: 40023800 .word 0x40023800 8068fb0: 200685f8 .word 0x200685f8 8068fb4: 40002800 .word 0x40002800 08068fb8 : void HAL_RTC_MspInit(RTC_HandleTypeDef* rtcHandle) { 8068fb8: b480 push {r7} 8068fba: b083 sub sp, #12 8068fbc: af00 add r7, sp, #0 8068fbe: 6078 str r0, [r7, #4] if(rtcHandle->Instance==RTC) 8068fc0: 687b ldr r3, [r7, #4] 8068fc2: 681b ldr r3, [r3, #0] 8068fc4: 4a07 ldr r2, [pc, #28] ; (8068fe4 ) 8068fc6: 4293 cmp r3, r2 8068fc8: d105 bne.n 8068fd6 { __HAL_RCC_RTC_ENABLE(); 8068fca: 4a07 ldr r2, [pc, #28] ; (8068fe8 ) 8068fcc: 4b06 ldr r3, [pc, #24] ; (8068fe8 ) 8068fce: 6f1b ldr r3, [r3, #112] ; 0x70 8068fd0: f443 4300 orr.w r3, r3, #32768 ; 0x8000 8068fd4: 6713 str r3, [r2, #112] ; 0x70 } } 8068fd6: bf00 nop 8068fd8: 370c adds r7, #12 8068fda: 46bd mov sp, r7 8068fdc: f85d 7b04 ldr.w r7, [sp], #4 8068fe0: 4770 bx lr 8068fe2: bf00 nop 8068fe4: 40002800 .word 0x40002800 8068fe8: 40023800 .word 0x40023800 08068fec : void GetDateTimeFromUnix(TimeDate_TypeDef* data, uint32_t unix) { 8068fec: b480 push {r7} 8068fee: b083 sub sp, #12 8068ff0: af00 add r7, sp, #0 8068ff2: 6078 str r0, [r7, #4] 8068ff4: 6039 str r1, [r7, #0] data->Year = (unix >> 25) - 20; 8068ff6: 683b ldr r3, [r7, #0] 8068ff8: 0e5b lsrs r3, r3, #25 8068ffa: b2db uxtb r3, r3 8068ffc: 3b14 subs r3, #20 8068ffe: b2da uxtb r2, r3 8069000: 687b ldr r3, [r7, #4] 8069002: 709a strb r2, [r3, #2] data->Month = (unix >> 21) & 0xf; 8069004: 683b ldr r3, [r7, #0] 8069006: 0d5b lsrs r3, r3, #21 8069008: b2db uxtb r3, r3 806900a: f003 030f and.w r3, r3, #15 806900e: b2da uxtb r2, r3 8069010: 687b ldr r3, [r7, #4] 8069012: 701a strb r2, [r3, #0] data->Date = (unix >> 16) & 0x1f; 8069014: 683b ldr r3, [r7, #0] 8069016: 0c1b lsrs r3, r3, #16 8069018: b2db uxtb r3, r3 806901a: f003 031f and.w r3, r3, #31 806901e: b2da uxtb r2, r3 8069020: 687b ldr r3, [r7, #4] 8069022: 705a strb r2, [r3, #1] data->Hours = (unix >> 11) & 0x1f; 8069024: 683b ldr r3, [r7, #0] 8069026: 0adb lsrs r3, r3, #11 8069028: b2db uxtb r3, r3 806902a: f003 031f and.w r3, r3, #31 806902e: b2da uxtb r2, r3 8069030: 687b ldr r3, [r7, #4] 8069032: 70da strb r2, [r3, #3] data->Minutes = (unix >> 5) & 0x3f; 8069034: 683b ldr r3, [r7, #0] 8069036: 095b lsrs r3, r3, #5 8069038: b2db uxtb r3, r3 806903a: f003 033f and.w r3, r3, #63 ; 0x3f 806903e: b2da uxtb r2, r3 8069040: 687b ldr r3, [r7, #4] 8069042: 711a strb r2, [r3, #4] data->Seconds = ((unix << 1) & 0x3f) + 1; 8069044: 683b ldr r3, [r7, #0] 8069046: b2db uxtb r3, r3 8069048: 005b lsls r3, r3, #1 806904a: b2db uxtb r3, r3 806904c: f003 033f and.w r3, r3, #63 ; 0x3f 8069050: b2db uxtb r3, r3 8069052: 3301 adds r3, #1 8069054: b2da uxtb r2, r3 8069056: 687b ldr r3, [r7, #4] 8069058: 715a strb r2, [r3, #5] } 806905a: bf00 nop 806905c: 370c adds r7, #12 806905e: 46bd mov sp, r7 8069060: f85d 7b04 ldr.w r7, [sp], #4 8069064: 4770 bx lr ... 08069068 : | ((DWORD)Sec >> 1); /* Sec 0 */ } void ChangeTime(int8_t chHours, int8_t chMinutes) { 8069068: b580 push {r7, lr} 806906a: b082 sub sp, #8 806906c: af00 add r7, sp, #0 806906e: 4603 mov r3, r0 8069070: 460a mov r2, r1 8069072: 71fb strb r3, [r7, #7] 8069074: 4613 mov r3, r2 8069076: 71bb strb r3, [r7, #6] HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 8069078: 2200 movs r2, #0 806907a: 492e ldr r1, [pc, #184] ; (8069134 ) 806907c: 482e ldr r0, [pc, #184] ; (8069138 ) 806907e: f054 f9a9 bl 80bd3d4 if(chHours == -1) 8069082: f997 3007 ldrsb.w r3, [r7, #7] 8069086: f1b3 3fff cmp.w r3, #4294967295 806908a: d10e bne.n 80690aa { if(RTC_TimeStruct.Hours > 0) 806908c: 4b29 ldr r3, [pc, #164] ; (8069134 ) 806908e: 781b ldrb r3, [r3, #0] 8069090: 2b00 cmp r3, #0 8069092: d006 beq.n 80690a2 RTC_TimeStruct.Hours--; 8069094: 4b27 ldr r3, [pc, #156] ; (8069134 ) 8069096: 781b ldrb r3, [r3, #0] 8069098: 3b01 subs r3, #1 806909a: b2da uxtb r2, r3 806909c: 4b25 ldr r3, [pc, #148] ; (8069134 ) 806909e: 701a strb r2, [r3, #0] 80690a0: e03c b.n 806911c else RTC_TimeStruct.Hours = 23; 80690a2: 4b24 ldr r3, [pc, #144] ; (8069134 ) 80690a4: 2217 movs r2, #23 80690a6: 701a strb r2, [r3, #0] 80690a8: e038 b.n 806911c } else if(chHours == 1) 80690aa: f997 3007 ldrsb.w r3, [r7, #7] 80690ae: 2b01 cmp r3, #1 80690b0: d10e bne.n 80690d0 { if(RTC_TimeStruct.Hours < 23) 80690b2: 4b20 ldr r3, [pc, #128] ; (8069134 ) 80690b4: 781b ldrb r3, [r3, #0] 80690b6: 2b16 cmp r3, #22 80690b8: d806 bhi.n 80690c8 RTC_TimeStruct.Hours++; 80690ba: 4b1e ldr r3, [pc, #120] ; (8069134 ) 80690bc: 781b ldrb r3, [r3, #0] 80690be: 3301 adds r3, #1 80690c0: b2da uxtb r2, r3 80690c2: 4b1c ldr r3, [pc, #112] ; (8069134 ) 80690c4: 701a strb r2, [r3, #0] 80690c6: e029 b.n 806911c else RTC_TimeStruct.Hours = 0; 80690c8: 4b1a ldr r3, [pc, #104] ; (8069134 ) 80690ca: 2200 movs r2, #0 80690cc: 701a strb r2, [r3, #0] 80690ce: e025 b.n 806911c } else if(chMinutes == -1) 80690d0: f997 3006 ldrsb.w r3, [r7, #6] 80690d4: f1b3 3fff cmp.w r3, #4294967295 80690d8: d10e bne.n 80690f8 { if(RTC_TimeStruct.Minutes > 0) 80690da: 4b16 ldr r3, [pc, #88] ; (8069134 ) 80690dc: 785b ldrb r3, [r3, #1] 80690de: 2b00 cmp r3, #0 80690e0: d006 beq.n 80690f0 RTC_TimeStruct.Minutes--; 80690e2: 4b14 ldr r3, [pc, #80] ; (8069134 ) 80690e4: 785b ldrb r3, [r3, #1] 80690e6: 3b01 subs r3, #1 80690e8: b2da uxtb r2, r3 80690ea: 4b12 ldr r3, [pc, #72] ; (8069134 ) 80690ec: 705a strb r2, [r3, #1] 80690ee: e015 b.n 806911c else RTC_TimeStruct.Minutes = 59; 80690f0: 4b10 ldr r3, [pc, #64] ; (8069134 ) 80690f2: 223b movs r2, #59 ; 0x3b 80690f4: 705a strb r2, [r3, #1] 80690f6: e011 b.n 806911c } else if(chMinutes == 1) 80690f8: f997 3006 ldrsb.w r3, [r7, #6] 80690fc: 2b01 cmp r3, #1 80690fe: d10d bne.n 806911c { if(RTC_TimeStruct.Minutes < 59) 8069100: 4b0c ldr r3, [pc, #48] ; (8069134 ) 8069102: 785b ldrb r3, [r3, #1] 8069104: 2b3a cmp r3, #58 ; 0x3a 8069106: d806 bhi.n 8069116 RTC_TimeStruct.Minutes++; 8069108: 4b0a ldr r3, [pc, #40] ; (8069134 ) 806910a: 785b ldrb r3, [r3, #1] 806910c: 3301 adds r3, #1 806910e: b2da uxtb r2, r3 8069110: 4b08 ldr r3, [pc, #32] ; (8069134 ) 8069112: 705a strb r2, [r3, #1] 8069114: e002 b.n 806911c else RTC_TimeStruct.Minutes = 0; 8069116: 4b07 ldr r3, [pc, #28] ; (8069134 ) 8069118: 2200 movs r2, #0 806911a: 705a strb r2, [r3, #1] } RTC_TimeStruct.Seconds = 0; 806911c: 4b05 ldr r3, [pc, #20] ; (8069134 ) 806911e: 2200 movs r2, #0 8069120: 709a strb r2, [r3, #2] HAL_RTC_SetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 8069122: 2200 movs r2, #0 8069124: 4903 ldr r1, [pc, #12] ; (8069134 ) 8069126: 4804 ldr r0, [pc, #16] ; (8069138 ) 8069128: f054 f896 bl 80bd258 } 806912c: bf00 nop 806912e: 3708 adds r7, #8 8069130: 46bd mov sp, r7 8069132: bd80 pop {r7, pc} 8069134: 20025cc0 .word 0x20025cc0 8069138: 200685f8 .word 0x200685f8 0806913c : void ChangeDate(int8_t chDay, int8_t chMonth, int8_t chYear) { 806913c: b580 push {r7, lr} 806913e: b086 sub sp, #24 8069140: af00 add r7, sp, #0 8069142: 4603 mov r3, r0 8069144: 71fb strb r3, [r7, #7] 8069146: 460b mov r3, r1 8069148: 71bb strb r3, [r7, #6] 806914a: 4613 mov r3, r2 806914c: 717b strb r3, [r7, #5] #define VISOKOSNIY (1) uint32_t j, k; HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 806914e: 2200 movs r2, #0 8069150: 49a1 ldr r1, [pc, #644] ; (80693d8 ) 8069152: 48a2 ldr r0, [pc, #648] ; (80693dc ) 8069154: f054 fa44 bl 80bd5e0 j = 0; 8069158: 2300 movs r3, #0 806915a: 617b str r3, [r7, #20] k = RTC_DateStruct.Year + 2000; 806915c: 4b9e ldr r3, [pc, #632] ; (80693d8 ) 806915e: 78db ldrb r3, [r3, #3] 8069160: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8069164: 613b str r3, [r7, #16] if(!(k % 4)) 8069166: 693b ldr r3, [r7, #16] 8069168: f003 0303 and.w r3, r3, #3 806916c: 2b00 cmp r3, #0 806916e: d11b bne.n 80691a8 { if(k % 100) j = VISOKOSNIY; 8069170: 693a ldr r2, [r7, #16] 8069172: 4b9b ldr r3, [pc, #620] ; (80693e0 ) 8069174: fba3 1302 umull r1, r3, r3, r2 8069178: 095b lsrs r3, r3, #5 806917a: 2164 movs r1, #100 ; 0x64 806917c: fb01 f303 mul.w r3, r1, r3 8069180: 1ad3 subs r3, r2, r3 8069182: 2b00 cmp r3, #0 8069184: d002 beq.n 806918c 8069186: 2301 movs r3, #1 8069188: 617b str r3, [r7, #20] 806918a: e00d b.n 80691a8 else if(!(k % 400)) j = VISOKOSNIY; 806918c: 693a ldr r2, [r7, #16] 806918e: 4b94 ldr r3, [pc, #592] ; (80693e0 ) 8069190: fba3 1302 umull r1, r3, r3, r2 8069194: 09db lsrs r3, r3, #7 8069196: f44f 71c8 mov.w r1, #400 ; 0x190 806919a: fb01 f303 mul.w r3, r1, r3 806919e: 1ad3 subs r3, r2, r3 80691a0: 2b00 cmp r3, #0 80691a2: d101 bne.n 80691a8 80691a4: 2301 movs r3, #1 80691a6: 617b str r3, [r7, #20] } if(chDay == -1) 80691a8: f997 3007 ldrsb.w r3, [r7, #7] 80691ac: f1b3 3fff cmp.w r3, #4294967295 80691b0: d13d bne.n 806922e { if(RTC_DateStruct.Date > 1) 80691b2: 4b89 ldr r3, [pc, #548] ; (80693d8 ) 80691b4: 789b ldrb r3, [r3, #2] 80691b6: 2b01 cmp r3, #1 80691b8: d906 bls.n 80691c8 RTC_DateStruct.Date--; 80691ba: 4b87 ldr r3, [pc, #540] ; (80693d8 ) 80691bc: 789b ldrb r3, [r3, #2] 80691be: 3b01 subs r3, #1 80691c0: b2da uxtb r2, r3 80691c2: 4b85 ldr r3, [pc, #532] ; (80693d8 ) 80691c4: 709a strb r2, [r3, #2] 80691c6: e233 b.n 8069630 else { if(RTC_DateStruct.Month < 8) 80691c8: 4b83 ldr r3, [pc, #524] ; (80693d8 ) 80691ca: 785b ldrb r3, [r3, #1] 80691cc: 2b07 cmp r3, #7 80691ce: d820 bhi.n 8069212 { if(RTC_DateStruct.Month & 0x1) 80691d0: 4b81 ldr r3, [pc, #516] ; (80693d8 ) 80691d2: 785b ldrb r3, [r3, #1] 80691d4: f003 0301 and.w r3, r3, #1 80691d8: 2b00 cmp r3, #0 80691da: d003 beq.n 80691e4 RTC_DateStruct.Date = 31; 80691dc: 4b7e ldr r3, [pc, #504] ; (80693d8 ) 80691de: 221f movs r2, #31 80691e0: 709a strb r2, [r3, #2] 80691e2: e225 b.n 8069630 else { if(( j ) && (RTC_DateStruct.Month == 2)) 80691e4: 697b ldr r3, [r7, #20] 80691e6: 2b00 cmp r3, #0 80691e8: d007 beq.n 80691fa 80691ea: 4b7b ldr r3, [pc, #492] ; (80693d8 ) 80691ec: 785b ldrb r3, [r3, #1] 80691ee: 2b02 cmp r3, #2 80691f0: d103 bne.n 80691fa RTC_DateStruct.Date = 29; 80691f2: 4b79 ldr r3, [pc, #484] ; (80693d8 ) 80691f4: 221d movs r2, #29 80691f6: 709a strb r2, [r3, #2] 80691f8: e21a b.n 8069630 else { if(RTC_DateStruct.Month == 2) 80691fa: 4b77 ldr r3, [pc, #476] ; (80693d8 ) 80691fc: 785b ldrb r3, [r3, #1] 80691fe: 2b02 cmp r3, #2 8069200: d103 bne.n 806920a RTC_DateStruct.Date = 28; 8069202: 4b75 ldr r3, [pc, #468] ; (80693d8 ) 8069204: 221c movs r2, #28 8069206: 709a strb r2, [r3, #2] 8069208: e212 b.n 8069630 else RTC_DateStruct.Date = 30; 806920a: 4b73 ldr r3, [pc, #460] ; (80693d8 ) 806920c: 221e movs r2, #30 806920e: 709a strb r2, [r3, #2] 8069210: e20e b.n 8069630 } } } else { if(RTC_DateStruct.Month & 0x1) 8069212: 4b71 ldr r3, [pc, #452] ; (80693d8 ) 8069214: 785b ldrb r3, [r3, #1] 8069216: f003 0301 and.w r3, r3, #1 806921a: 2b00 cmp r3, #0 806921c: d003 beq.n 8069226 RTC_DateStruct.Date = 30; 806921e: 4b6e ldr r3, [pc, #440] ; (80693d8 ) 8069220: 221e movs r2, #30 8069222: 709a strb r2, [r3, #2] 8069224: e204 b.n 8069630 else RTC_DateStruct.Date = 31; 8069226: 4b6c ldr r3, [pc, #432] ; (80693d8 ) 8069228: 221f movs r2, #31 806922a: 709a strb r2, [r3, #2] 806922c: e200 b.n 8069630 } } } else if(chDay == 1) 806922e: f997 3007 ldrsb.w r3, [r7, #7] 8069232: 2b01 cmp r3, #1 8069234: d13c bne.n 80692b0 { if(RTC_DateStruct.Month < 8) 8069236: 4b68 ldr r3, [pc, #416] ; (80693d8 ) 8069238: 785b ldrb r3, [r3, #1] 806923a: 2b07 cmp r3, #7 806923c: d81c bhi.n 8069278 { if(RTC_DateStruct.Month & 0x1) 806923e: 4b66 ldr r3, [pc, #408] ; (80693d8 ) 8069240: 785b ldrb r3, [r3, #1] 8069242: f003 0301 and.w r3, r3, #1 8069246: 2b00 cmp r3, #0 8069248: d002 beq.n 8069250 k = 31; 806924a: 231f movs r3, #31 806924c: 613b str r3, [r7, #16] 806924e: e01e b.n 806928e else { if(( j ) && (RTC_DateStruct.Month == 2)) 8069250: 697b ldr r3, [r7, #20] 8069252: 2b00 cmp r3, #0 8069254: d006 beq.n 8069264 8069256: 4b60 ldr r3, [pc, #384] ; (80693d8 ) 8069258: 785b ldrb r3, [r3, #1] 806925a: 2b02 cmp r3, #2 806925c: d102 bne.n 8069264 k = 29; 806925e: 231d movs r3, #29 8069260: 613b str r3, [r7, #16] 8069262: e014 b.n 806928e else { if(RTC_DateStruct.Month == 2) 8069264: 4b5c ldr r3, [pc, #368] ; (80693d8 ) 8069266: 785b ldrb r3, [r3, #1] 8069268: 2b02 cmp r3, #2 806926a: d102 bne.n 8069272 k = 28; 806926c: 231c movs r3, #28 806926e: 613b str r3, [r7, #16] 8069270: e00d b.n 806928e else k = 30; 8069272: 231e movs r3, #30 8069274: 613b str r3, [r7, #16] 8069276: e00a b.n 806928e } } } else { if(RTC_DateStruct.Month & 0x1) 8069278: 4b57 ldr r3, [pc, #348] ; (80693d8 ) 806927a: 785b ldrb r3, [r3, #1] 806927c: f003 0301 and.w r3, r3, #1 8069280: 2b00 cmp r3, #0 8069282: d002 beq.n 806928a k = 30; 8069284: 231e movs r3, #30 8069286: 613b str r3, [r7, #16] 8069288: e001 b.n 806928e else k = 31; 806928a: 231f movs r3, #31 806928c: 613b str r3, [r7, #16] } if(RTC_DateStruct.Date < k) 806928e: 4b52 ldr r3, [pc, #328] ; (80693d8 ) 8069290: 789b ldrb r3, [r3, #2] 8069292: 461a mov r2, r3 8069294: 693b ldr r3, [r7, #16] 8069296: 429a cmp r2, r3 8069298: d206 bcs.n 80692a8 RTC_DateStruct.Date++; 806929a: 4b4f ldr r3, [pc, #316] ; (80693d8 ) 806929c: 789b ldrb r3, [r3, #2] 806929e: 3301 adds r3, #1 80692a0: b2da uxtb r2, r3 80692a2: 4b4d ldr r3, [pc, #308] ; (80693d8 ) 80692a4: 709a strb r2, [r3, #2] 80692a6: e1c3 b.n 8069630 else RTC_DateStruct.Date = 1; 80692a8: 4b4b ldr r3, [pc, #300] ; (80693d8 ) 80692aa: 2201 movs r2, #1 80692ac: 709a strb r2, [r3, #2] 80692ae: e1bf b.n 8069630 } else if(chMonth == -1) 80692b0: f997 3006 ldrsb.w r3, [r7, #6] 80692b4: f1b3 3fff cmp.w r3, #4294967295 80692b8: d157 bne.n 806936a { if(RTC_DateStruct.Month > 1) 80692ba: 4b47 ldr r3, [pc, #284] ; (80693d8 ) 80692bc: 785b ldrb r3, [r3, #1] 80692be: 2b01 cmp r3, #1 80692c0: d906 bls.n 80692d0 RTC_DateStruct.Month--; 80692c2: 4b45 ldr r3, [pc, #276] ; (80693d8 ) 80692c4: 785b ldrb r3, [r3, #1] 80692c6: 3b01 subs r3, #1 80692c8: b2da uxtb r2, r3 80692ca: 4b43 ldr r3, [pc, #268] ; (80693d8 ) 80692cc: 705a strb r2, [r3, #1] 80692ce: e002 b.n 80692d6 else RTC_DateStruct.Month = 12; 80692d0: 4b41 ldr r3, [pc, #260] ; (80693d8 ) 80692d2: 220c movs r2, #12 80692d4: 705a strb r2, [r3, #1] if(RTC_DateStruct.Month < 8) 80692d6: 4b40 ldr r3, [pc, #256] ; (80693d8 ) 80692d8: 785b ldrb r3, [r3, #1] 80692da: 2b07 cmp r3, #7 80692dc: d835 bhi.n 806934a { if(!(RTC_DateStruct.Month & 0x1)) 80692de: 4b3e ldr r3, [pc, #248] ; (80693d8 ) 80692e0: 785b ldrb r3, [r3, #1] 80692e2: f003 0301 and.w r3, r3, #1 80692e6: 2b00 cmp r3, #0 80692e8: f040 81a2 bne.w 8069630 { if(j) 80692ec: 697b ldr r3, [r7, #20] 80692ee: 2b00 cmp r3, #0 80692f0: d015 beq.n 806931e { if(RTC_DateStruct.Month == 2) 80692f2: 4b39 ldr r3, [pc, #228] ; (80693d8 ) 80692f4: 785b ldrb r3, [r3, #1] 80692f6: 2b02 cmp r3, #2 80692f8: d108 bne.n 806930c { if(RTC_DateStruct.Date > 29) 80692fa: 4b37 ldr r3, [pc, #220] ; (80693d8 ) 80692fc: 789b ldrb r3, [r3, #2] 80692fe: 2b1d cmp r3, #29 8069300: f240 8196 bls.w 8069630 RTC_DateStruct.Date = 29; 8069304: 4b34 ldr r3, [pc, #208] ; (80693d8 ) 8069306: 221d movs r2, #29 8069308: 709a strb r2, [r3, #2] 806930a: e191 b.n 8069630 } else { if(RTC_DateStruct.Date > 30) 806930c: 4b32 ldr r3, [pc, #200] ; (80693d8 ) 806930e: 789b ldrb r3, [r3, #2] 8069310: 2b1e cmp r3, #30 8069312: f240 818d bls.w 8069630 RTC_DateStruct.Date = 30; 8069316: 4b30 ldr r3, [pc, #192] ; (80693d8 ) 8069318: 221e movs r2, #30 806931a: 709a strb r2, [r3, #2] 806931c: e188 b.n 8069630 } } else { if(RTC_DateStruct.Month == 2) 806931e: 4b2e ldr r3, [pc, #184] ; (80693d8 ) 8069320: 785b ldrb r3, [r3, #1] 8069322: 2b02 cmp r3, #2 8069324: d108 bne.n 8069338 { if(RTC_DateStruct.Date > 28) 8069326: 4b2c ldr r3, [pc, #176] ; (80693d8 ) 8069328: 789b ldrb r3, [r3, #2] 806932a: 2b1c cmp r3, #28 806932c: f240 8180 bls.w 8069630 RTC_DateStruct.Date = 28; 8069330: 4b29 ldr r3, [pc, #164] ; (80693d8 ) 8069332: 221c movs r2, #28 8069334: 709a strb r2, [r3, #2] 8069336: e17b b.n 8069630 } else { if(RTC_DateStruct.Date > 30) 8069338: 4b27 ldr r3, [pc, #156] ; (80693d8 ) 806933a: 789b ldrb r3, [r3, #2] 806933c: 2b1e cmp r3, #30 806933e: f240 8177 bls.w 8069630 RTC_DateStruct.Date = 30; 8069342: 4b25 ldr r3, [pc, #148] ; (80693d8 ) 8069344: 221e movs r2, #30 8069346: 709a strb r2, [r3, #2] 8069348: e172 b.n 8069630 } } } else { if(RTC_DateStruct.Month & 0x1) 806934a: 4b23 ldr r3, [pc, #140] ; (80693d8 ) 806934c: 785b ldrb r3, [r3, #1] 806934e: f003 0301 and.w r3, r3, #1 8069352: 2b00 cmp r3, #0 8069354: f000 816c beq.w 8069630 { if(RTC_DateStruct.Date > 30) 8069358: 4b1f ldr r3, [pc, #124] ; (80693d8 ) 806935a: 789b ldrb r3, [r3, #2] 806935c: 2b1e cmp r3, #30 806935e: f240 8167 bls.w 8069630 RTC_DateStruct.Date = 30; 8069362: 4b1d ldr r3, [pc, #116] ; (80693d8 ) 8069364: 221e movs r2, #30 8069366: 709a strb r2, [r3, #2] 8069368: e162 b.n 8069630 } } } else if(chMonth == 1) 806936a: f997 3006 ldrsb.w r3, [r7, #6] 806936e: 2b01 cmp r3, #1 8069370: d15e bne.n 8069430 { if(RTC_DateStruct.Month < 12) 8069372: 4b19 ldr r3, [pc, #100] ; (80693d8 ) 8069374: 785b ldrb r3, [r3, #1] 8069376: 2b0b cmp r3, #11 8069378: d806 bhi.n 8069388 RTC_DateStruct.Month++; 806937a: 4b17 ldr r3, [pc, #92] ; (80693d8 ) 806937c: 785b ldrb r3, [r3, #1] 806937e: 3301 adds r3, #1 8069380: b2da uxtb r2, r3 8069382: 4b15 ldr r3, [pc, #84] ; (80693d8 ) 8069384: 705a strb r2, [r3, #1] 8069386: e002 b.n 806938e else RTC_DateStruct.Month = 1; 8069388: 4b13 ldr r3, [pc, #76] ; (80693d8 ) 806938a: 2201 movs r2, #1 806938c: 705a strb r2, [r3, #1] if(RTC_DateStruct.Month < 8) 806938e: 4b12 ldr r3, [pc, #72] ; (80693d8 ) 8069390: 785b ldrb r3, [r3, #1] 8069392: 2b07 cmp r3, #7 8069394: d83c bhi.n 8069410 { if(!(RTC_DateStruct.Month & 0x1)) 8069396: 4b10 ldr r3, [pc, #64] ; (80693d8 ) 8069398: 785b ldrb r3, [r3, #1] 806939a: f003 0301 and.w r3, r3, #1 806939e: 2b00 cmp r3, #0 80693a0: f040 8146 bne.w 8069630 { if(j) 80693a4: 697b ldr r3, [r7, #20] 80693a6: 2b00 cmp r3, #0 80693a8: d01c beq.n 80693e4 { if(RTC_DateStruct.Month == 2) 80693aa: 4b0b ldr r3, [pc, #44] ; (80693d8 ) 80693ac: 785b ldrb r3, [r3, #1] 80693ae: 2b02 cmp r3, #2 80693b0: d108 bne.n 80693c4 { if(RTC_DateStruct.Date > 29) 80693b2: 4b09 ldr r3, [pc, #36] ; (80693d8 ) 80693b4: 789b ldrb r3, [r3, #2] 80693b6: 2b1d cmp r3, #29 80693b8: f240 813a bls.w 8069630 RTC_DateStruct.Date = 29; 80693bc: 4b06 ldr r3, [pc, #24] ; (80693d8 ) 80693be: 221d movs r2, #29 80693c0: 709a strb r2, [r3, #2] 80693c2: e135 b.n 8069630 } else { if(RTC_DateStruct.Date > 30) 80693c4: 4b04 ldr r3, [pc, #16] ; (80693d8 ) 80693c6: 789b ldrb r3, [r3, #2] 80693c8: 2b1e cmp r3, #30 80693ca: f240 8131 bls.w 8069630 RTC_DateStruct.Date = 30; 80693ce: 4b02 ldr r3, [pc, #8] ; (80693d8 ) 80693d0: 221e movs r2, #30 80693d2: 709a strb r2, [r3, #2] 80693d4: e12c b.n 8069630 80693d6: bf00 nop 80693d8: 20025d44 .word 0x20025d44 80693dc: 200685f8 .word 0x200685f8 80693e0: 51eb851f .word 0x51eb851f } } else { if(RTC_DateStruct.Month == 2) 80693e4: 4ba1 ldr r3, [pc, #644] ; (806966c ) 80693e6: 785b ldrb r3, [r3, #1] 80693e8: 2b02 cmp r3, #2 80693ea: d108 bne.n 80693fe { if(RTC_DateStruct.Date > 28) 80693ec: 4b9f ldr r3, [pc, #636] ; (806966c ) 80693ee: 789b ldrb r3, [r3, #2] 80693f0: 2b1c cmp r3, #28 80693f2: f240 811d bls.w 8069630 RTC_DateStruct.Date = 28; 80693f6: 4b9d ldr r3, [pc, #628] ; (806966c ) 80693f8: 221c movs r2, #28 80693fa: 709a strb r2, [r3, #2] 80693fc: e118 b.n 8069630 } else { if(RTC_DateStruct.Date > 30) 80693fe: 4b9b ldr r3, [pc, #620] ; (806966c ) 8069400: 789b ldrb r3, [r3, #2] 8069402: 2b1e cmp r3, #30 8069404: f240 8114 bls.w 8069630 RTC_DateStruct.Date = 30; 8069408: 4b98 ldr r3, [pc, #608] ; (806966c ) 806940a: 221e movs r2, #30 806940c: 709a strb r2, [r3, #2] 806940e: e10f b.n 8069630 } } } else { if(RTC_DateStruct.Month & 0x1) 8069410: 4b96 ldr r3, [pc, #600] ; (806966c ) 8069412: 785b ldrb r3, [r3, #1] 8069414: f003 0301 and.w r3, r3, #1 8069418: 2b00 cmp r3, #0 806941a: f000 8109 beq.w 8069630 { if(RTC_DateStruct.Date > 30) 806941e: 4b93 ldr r3, [pc, #588] ; (806966c ) 8069420: 789b ldrb r3, [r3, #2] 8069422: 2b1e cmp r3, #30 8069424: f240 8104 bls.w 8069630 RTC_DateStruct.Date = 30; 8069428: 4b90 ldr r3, [pc, #576] ; (806966c ) 806942a: 221e movs r2, #30 806942c: 709a strb r2, [r3, #2] 806942e: e0ff b.n 8069630 } } } else if(chYear == -1) 8069430: f997 3005 ldrsb.w r3, [r7, #5] 8069434: f1b3 3fff cmp.w r3, #4294967295 8069438: d17e bne.n 8069538 { if(RTC_DateStruct.Year > 1) 806943a: 4b8c ldr r3, [pc, #560] ; (806966c ) 806943c: 78db ldrb r3, [r3, #3] 806943e: 2b01 cmp r3, #1 8069440: d906 bls.n 8069450 RTC_DateStruct.Year--; 8069442: 4b8a ldr r3, [pc, #552] ; (806966c ) 8069444: 78db ldrb r3, [r3, #3] 8069446: 3b01 subs r3, #1 8069448: b2da uxtb r2, r3 806944a: 4b88 ldr r3, [pc, #544] ; (806966c ) 806944c: 70da strb r2, [r3, #3] 806944e: e002 b.n 8069456 else RTC_DateStruct.Year = 99; 8069450: 4b86 ldr r3, [pc, #536] ; (806966c ) 8069452: 2263 movs r2, #99 ; 0x63 8069454: 70da strb r2, [r3, #3] j = 0; 8069456: 2300 movs r3, #0 8069458: 617b str r3, [r7, #20] k = RTC_DateStruct.Year + 2000; 806945a: 4b84 ldr r3, [pc, #528] ; (806966c ) 806945c: 78db ldrb r3, [r3, #3] 806945e: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8069462: 613b str r3, [r7, #16] if(!(k % 4)) 8069464: 693b ldr r3, [r7, #16] 8069466: f003 0303 and.w r3, r3, #3 806946a: 2b00 cmp r3, #0 806946c: d11b bne.n 80694a6 { if(k % 100) j = 1; 806946e: 693a ldr r2, [r7, #16] 8069470: 4b7f ldr r3, [pc, #508] ; (8069670 ) 8069472: fba3 1302 umull r1, r3, r3, r2 8069476: 095b lsrs r3, r3, #5 8069478: 2164 movs r1, #100 ; 0x64 806947a: fb01 f303 mul.w r3, r1, r3 806947e: 1ad3 subs r3, r2, r3 8069480: 2b00 cmp r3, #0 8069482: d002 beq.n 806948a 8069484: 2301 movs r3, #1 8069486: 617b str r3, [r7, #20] 8069488: e00d b.n 80694a6 else if(!(k % 400)) j = 1; 806948a: 693a ldr r2, [r7, #16] 806948c: 4b78 ldr r3, [pc, #480] ; (8069670 ) 806948e: fba3 1302 umull r1, r3, r3, r2 8069492: 09db lsrs r3, r3, #7 8069494: f44f 71c8 mov.w r1, #400 ; 0x190 8069498: fb01 f303 mul.w r3, r1, r3 806949c: 1ad3 subs r3, r2, r3 806949e: 2b00 cmp r3, #0 80694a0: d101 bne.n 80694a6 80694a2: 2301 movs r3, #1 80694a4: 617b str r3, [r7, #20] } if(RTC_DateStruct.Month < 8) 80694a6: 4b71 ldr r3, [pc, #452] ; (806966c ) 80694a8: 785b ldrb r3, [r3, #1] 80694aa: 2b07 cmp r3, #7 80694ac: d835 bhi.n 806951a { if(!(RTC_DateStruct.Month & 0x1)) 80694ae: 4b6f ldr r3, [pc, #444] ; (806966c ) 80694b0: 785b ldrb r3, [r3, #1] 80694b2: f003 0301 and.w r3, r3, #1 80694b6: 2b00 cmp r3, #0 80694b8: f040 80ba bne.w 8069630 { if(j) 80694bc: 697b ldr r3, [r7, #20] 80694be: 2b00 cmp r3, #0 80694c0: d015 beq.n 80694ee { if(RTC_DateStruct.Month == 2) 80694c2: 4b6a ldr r3, [pc, #424] ; (806966c ) 80694c4: 785b ldrb r3, [r3, #1] 80694c6: 2b02 cmp r3, #2 80694c8: d108 bne.n 80694dc { if(RTC_DateStruct.Date > 29) 80694ca: 4b68 ldr r3, [pc, #416] ; (806966c ) 80694cc: 789b ldrb r3, [r3, #2] 80694ce: 2b1d cmp r3, #29 80694d0: f240 80ae bls.w 8069630 RTC_DateStruct.Date = 29; 80694d4: 4b65 ldr r3, [pc, #404] ; (806966c ) 80694d6: 221d movs r2, #29 80694d8: 709a strb r2, [r3, #2] 80694da: e0a9 b.n 8069630 } else { if(RTC_DateStruct.Date > 30) 80694dc: 4b63 ldr r3, [pc, #396] ; (806966c ) 80694de: 789b ldrb r3, [r3, #2] 80694e0: 2b1e cmp r3, #30 80694e2: f240 80a5 bls.w 8069630 RTC_DateStruct.Date = 30; 80694e6: 4b61 ldr r3, [pc, #388] ; (806966c ) 80694e8: 221e movs r2, #30 80694ea: 709a strb r2, [r3, #2] 80694ec: e0a0 b.n 8069630 } } else { if(RTC_DateStruct.Month == 2) 80694ee: 4b5f ldr r3, [pc, #380] ; (806966c ) 80694f0: 785b ldrb r3, [r3, #1] 80694f2: 2b02 cmp r3, #2 80694f4: d108 bne.n 8069508 { if(RTC_DateStruct.Date > 28) 80694f6: 4b5d ldr r3, [pc, #372] ; (806966c ) 80694f8: 789b ldrb r3, [r3, #2] 80694fa: 2b1c cmp r3, #28 80694fc: f240 8098 bls.w 8069630 RTC_DateStruct.Date = 28; 8069500: 4b5a ldr r3, [pc, #360] ; (806966c ) 8069502: 221c movs r2, #28 8069504: 709a strb r2, [r3, #2] 8069506: e093 b.n 8069630 } else { if(RTC_DateStruct.Date > 30) 8069508: 4b58 ldr r3, [pc, #352] ; (806966c ) 806950a: 789b ldrb r3, [r3, #2] 806950c: 2b1e cmp r3, #30 806950e: f240 808f bls.w 8069630 RTC_DateStruct.Date = 30; 8069512: 4b56 ldr r3, [pc, #344] ; (806966c ) 8069514: 221e movs r2, #30 8069516: 709a strb r2, [r3, #2] 8069518: e08a b.n 8069630 } } } else { if(RTC_DateStruct.Month & 0x1) 806951a: 4b54 ldr r3, [pc, #336] ; (806966c ) 806951c: 785b ldrb r3, [r3, #1] 806951e: f003 0301 and.w r3, r3, #1 8069522: 2b00 cmp r3, #0 8069524: f000 8084 beq.w 8069630 { if(RTC_DateStruct.Date > 30) 8069528: 4b50 ldr r3, [pc, #320] ; (806966c ) 806952a: 789b ldrb r3, [r3, #2] 806952c: 2b1e cmp r3, #30 806952e: d97f bls.n 8069630 RTC_DateStruct.Date = 30; 8069530: 4b4e ldr r3, [pc, #312] ; (806966c ) 8069532: 221e movs r2, #30 8069534: 709a strb r2, [r3, #2] 8069536: e07b b.n 8069630 } } } else if(chYear == 1) 8069538: f997 3005 ldrsb.w r3, [r7, #5] 806953c: 2b01 cmp r3, #1 806953e: d177 bne.n 8069630 { if(RTC_DateStruct.Year < 99) 8069540: 4b4a ldr r3, [pc, #296] ; (806966c ) 8069542: 78db ldrb r3, [r3, #3] 8069544: 2b62 cmp r3, #98 ; 0x62 8069546: d806 bhi.n 8069556 RTC_DateStruct.Year++; 8069548: 4b48 ldr r3, [pc, #288] ; (806966c ) 806954a: 78db ldrb r3, [r3, #3] 806954c: 3301 adds r3, #1 806954e: b2da uxtb r2, r3 8069550: 4b46 ldr r3, [pc, #280] ; (806966c ) 8069552: 70da strb r2, [r3, #3] 8069554: e002 b.n 806955c else RTC_DateStruct.Year = 0; 8069556: 4b45 ldr r3, [pc, #276] ; (806966c ) 8069558: 2200 movs r2, #0 806955a: 70da strb r2, [r3, #3] j = 0; 806955c: 2300 movs r3, #0 806955e: 617b str r3, [r7, #20] k = RTC_DateStruct.Year + 2000; 8069560: 4b42 ldr r3, [pc, #264] ; (806966c ) 8069562: 78db ldrb r3, [r3, #3] 8069564: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8069568: 613b str r3, [r7, #16] if(!(k % 4)) 806956a: 693b ldr r3, [r7, #16] 806956c: f003 0303 and.w r3, r3, #3 8069570: 2b00 cmp r3, #0 8069572: d11b bne.n 80695ac { if(k % 100) j = 1; 8069574: 693a ldr r2, [r7, #16] 8069576: 4b3e ldr r3, [pc, #248] ; (8069670 ) 8069578: fba3 1302 umull r1, r3, r3, r2 806957c: 095b lsrs r3, r3, #5 806957e: 2164 movs r1, #100 ; 0x64 8069580: fb01 f303 mul.w r3, r1, r3 8069584: 1ad3 subs r3, r2, r3 8069586: 2b00 cmp r3, #0 8069588: d002 beq.n 8069590 806958a: 2301 movs r3, #1 806958c: 617b str r3, [r7, #20] 806958e: e00d b.n 80695ac else if(!(k % 400)) j = 1; 8069590: 693a ldr r2, [r7, #16] 8069592: 4b37 ldr r3, [pc, #220] ; (8069670 ) 8069594: fba3 1302 umull r1, r3, r3, r2 8069598: 09db lsrs r3, r3, #7 806959a: f44f 71c8 mov.w r1, #400 ; 0x190 806959e: fb01 f303 mul.w r3, r1, r3 80695a2: 1ad3 subs r3, r2, r3 80695a4: 2b00 cmp r3, #0 80695a6: d101 bne.n 80695ac 80695a8: 2301 movs r3, #1 80695aa: 617b str r3, [r7, #20] } if(RTC_DateStruct.Month < 8) 80695ac: 4b2f ldr r3, [pc, #188] ; (806966c ) 80695ae: 785b ldrb r3, [r3, #1] 80695b0: 2b07 cmp r3, #7 80695b2: d830 bhi.n 8069616 { if(!(RTC_DateStruct.Month & 0x1)) 80695b4: 4b2d ldr r3, [pc, #180] ; (806966c ) 80695b6: 785b ldrb r3, [r3, #1] 80695b8: f003 0301 and.w r3, r3, #1 80695bc: 2b00 cmp r3, #0 80695be: d137 bne.n 8069630 { if(j) 80695c0: 697b ldr r3, [r7, #20] 80695c2: 2b00 cmp r3, #0 80695c4: d013 beq.n 80695ee { if(RTC_DateStruct.Month == 2) 80695c6: 4b29 ldr r3, [pc, #164] ; (806966c ) 80695c8: 785b ldrb r3, [r3, #1] 80695ca: 2b02 cmp r3, #2 80695cc: d107 bne.n 80695de { if(RTC_DateStruct.Date > 29) 80695ce: 4b27 ldr r3, [pc, #156] ; (806966c ) 80695d0: 789b ldrb r3, [r3, #2] 80695d2: 2b1d cmp r3, #29 80695d4: d92c bls.n 8069630 RTC_DateStruct.Date = 29; 80695d6: 4b25 ldr r3, [pc, #148] ; (806966c ) 80695d8: 221d movs r2, #29 80695da: 709a strb r2, [r3, #2] 80695dc: e028 b.n 8069630 } else { if(RTC_DateStruct.Date > 30) 80695de: 4b23 ldr r3, [pc, #140] ; (806966c ) 80695e0: 789b ldrb r3, [r3, #2] 80695e2: 2b1e cmp r3, #30 80695e4: d924 bls.n 8069630 RTC_DateStruct.Date = 30; 80695e6: 4b21 ldr r3, [pc, #132] ; (806966c ) 80695e8: 221e movs r2, #30 80695ea: 709a strb r2, [r3, #2] 80695ec: e020 b.n 8069630 } } else { if(RTC_DateStruct.Month == 2) 80695ee: 4b1f ldr r3, [pc, #124] ; (806966c ) 80695f0: 785b ldrb r3, [r3, #1] 80695f2: 2b02 cmp r3, #2 80695f4: d107 bne.n 8069606 { if(RTC_DateStruct.Date > 28) 80695f6: 4b1d ldr r3, [pc, #116] ; (806966c ) 80695f8: 789b ldrb r3, [r3, #2] 80695fa: 2b1c cmp r3, #28 80695fc: d918 bls.n 8069630 RTC_DateStruct.Date = 28; 80695fe: 4b1b ldr r3, [pc, #108] ; (806966c ) 8069600: 221c movs r2, #28 8069602: 709a strb r2, [r3, #2] 8069604: e014 b.n 8069630 } else { if(RTC_DateStruct.Date > 30) 8069606: 4b19 ldr r3, [pc, #100] ; (806966c ) 8069608: 789b ldrb r3, [r3, #2] 806960a: 2b1e cmp r3, #30 806960c: d910 bls.n 8069630 RTC_DateStruct.Date = 30; 806960e: 4b17 ldr r3, [pc, #92] ; (806966c ) 8069610: 221e movs r2, #30 8069612: 709a strb r2, [r3, #2] 8069614: e00c b.n 8069630 } } } else { if(RTC_DateStruct.Month & 0x1) 8069616: 4b15 ldr r3, [pc, #84] ; (806966c ) 8069618: 785b ldrb r3, [r3, #1] 806961a: f003 0301 and.w r3, r3, #1 806961e: 2b00 cmp r3, #0 8069620: d006 beq.n 8069630 { if(RTC_DateStruct.Date > 30) 8069622: 4b12 ldr r3, [pc, #72] ; (806966c ) 8069624: 789b ldrb r3, [r3, #2] 8069626: 2b1e cmp r3, #30 8069628: d902 bls.n 8069630 RTC_DateStruct.Date = 30; 806962a: 4b10 ldr r3, [pc, #64] ; (806966c ) 806962c: 221e movs r2, #30 806962e: 709a strb r2, [r3, #2] uint32_t d, i; //01.01.2000 - SATURDAY d = 0; 8069630: 2300 movs r3, #0 8069632: 60fb str r3, [r7, #12] for(i = 0; i < RTC_DateStruct.Year; i++) 8069634: 2300 movs r3, #0 8069636: 60bb str r3, [r7, #8] 8069638: e033 b.n 80696a2 { j = 0; 806963a: 2300 movs r3, #0 806963c: 617b str r3, [r7, #20] k = i + 2000; 806963e: 68bb ldr r3, [r7, #8] 8069640: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8069644: 613b str r3, [r7, #16] if(!(k % 4)) 8069646: 693b ldr r3, [r7, #16] 8069648: f003 0303 and.w r3, r3, #3 806964c: 2b00 cmp r3, #0 806964e: d11f bne.n 8069690 { if(k % 100) j = VISOKOSNIY; 8069650: 693a ldr r2, [r7, #16] 8069652: 4b07 ldr r3, [pc, #28] ; (8069670 ) 8069654: fba3 1302 umull r1, r3, r3, r2 8069658: 095b lsrs r3, r3, #5 806965a: 2164 movs r1, #100 ; 0x64 806965c: fb01 f303 mul.w r3, r1, r3 8069660: 1ad3 subs r3, r2, r3 8069662: 2b00 cmp r3, #0 8069664: d006 beq.n 8069674 8069666: 2301 movs r3, #1 8069668: 617b str r3, [r7, #20] 806966a: e011 b.n 8069690 806966c: 20025d44 .word 0x20025d44 8069670: 51eb851f .word 0x51eb851f else if(!(k % 400)) j = VISOKOSNIY; 8069674: 693a ldr r2, [r7, #16] 8069676: 4b4c ldr r3, [pc, #304] ; (80697a8 ) 8069678: fba3 1302 umull r1, r3, r3, r2 806967c: 09db lsrs r3, r3, #7 806967e: f44f 71c8 mov.w r1, #400 ; 0x190 8069682: fb01 f303 mul.w r3, r1, r3 8069686: 1ad3 subs r3, r2, r3 8069688: 2b00 cmp r3, #0 806968a: d101 bne.n 8069690 806968c: 2301 movs r3, #1 806968e: 617b str r3, [r7, #20] } d += (365 + j); 8069690: 697a ldr r2, [r7, #20] 8069692: 68fb ldr r3, [r7, #12] 8069694: 4413 add r3, r2 8069696: f203 136d addw r3, r3, #365 ; 0x16d 806969a: 60fb str r3, [r7, #12] for(i = 0; i < RTC_DateStruct.Year; i++) 806969c: 68bb ldr r3, [r7, #8] 806969e: 3301 adds r3, #1 80696a0: 60bb str r3, [r7, #8] 80696a2: 4b42 ldr r3, [pc, #264] ; (80697ac ) 80696a4: 78db ldrb r3, [r3, #3] 80696a6: 461a mov r2, r3 80696a8: 68bb ldr r3, [r7, #8] 80696aa: 429a cmp r2, r3 80696ac: d8c5 bhi.n 806963a } k++; 80696ae: 693b ldr r3, [r7, #16] 80696b0: 3301 adds r3, #1 80696b2: 613b str r3, [r7, #16] j = 0; 80696b4: 2300 movs r3, #0 80696b6: 617b str r3, [r7, #20] if(!(k % 4)) 80696b8: 693b ldr r3, [r7, #16] 80696ba: f003 0303 and.w r3, r3, #3 80696be: 2b00 cmp r3, #0 80696c0: d11b bne.n 80696fa { if(k % 100) j = VISOKOSNIY; 80696c2: 693a ldr r2, [r7, #16] 80696c4: 4b38 ldr r3, [pc, #224] ; (80697a8 ) 80696c6: fba3 1302 umull r1, r3, r3, r2 80696ca: 095b lsrs r3, r3, #5 80696cc: 2164 movs r1, #100 ; 0x64 80696ce: fb01 f303 mul.w r3, r1, r3 80696d2: 1ad3 subs r3, r2, r3 80696d4: 2b00 cmp r3, #0 80696d6: d002 beq.n 80696de 80696d8: 2301 movs r3, #1 80696da: 617b str r3, [r7, #20] 80696dc: e00d b.n 80696fa else if(!(k % 400)) j = VISOKOSNIY; 80696de: 693a ldr r2, [r7, #16] 80696e0: 4b31 ldr r3, [pc, #196] ; (80697a8 ) 80696e2: fba3 1302 umull r1, r3, r3, r2 80696e6: 09db lsrs r3, r3, #7 80696e8: f44f 71c8 mov.w r1, #400 ; 0x190 80696ec: fb01 f303 mul.w r3, r1, r3 80696f0: 1ad3 subs r3, r2, r3 80696f2: 2b00 cmp r3, #0 80696f4: d101 bne.n 80696fa 80696f6: 2301 movs r3, #1 80696f8: 617b str r3, [r7, #20] } for(i = 1; i < RTC_DateStruct.Month; i++) 80696fa: 2301 movs r3, #1 80696fc: 60bb str r3, [r7, #8] 80696fe: e02c b.n 806975a { if(i < RTC_MONTH_AUGUST) 8069700: 68bb ldr r3, [r7, #8] 8069702: 2b07 cmp r3, #7 8069704: d81a bhi.n 806973c { if(i & 1) 8069706: 68bb ldr r3, [r7, #8] 8069708: f003 0301 and.w r3, r3, #1 806970c: 2b00 cmp r3, #0 806970e: d003 beq.n 8069718 d += 31; 8069710: 68fb ldr r3, [r7, #12] 8069712: 331f adds r3, #31 8069714: 60fb str r3, [r7, #12] 8069716: e01d b.n 8069754 else { if(i == RTC_MONTH_FEBRUARY) 8069718: 68bb ldr r3, [r7, #8] 806971a: 2b02 cmp r3, #2 806971c: d10a bne.n 8069734 { if(j != VISOKOSNIY) 806971e: 697b ldr r3, [r7, #20] 8069720: 2b01 cmp r3, #1 8069722: d003 beq.n 806972c d += 28; 8069724: 68fb ldr r3, [r7, #12] 8069726: 331c adds r3, #28 8069728: 60fb str r3, [r7, #12] 806972a: e013 b.n 8069754 else d += 29; 806972c: 68fb ldr r3, [r7, #12] 806972e: 331d adds r3, #29 8069730: 60fb str r3, [r7, #12] 8069732: e00f b.n 8069754 } else d += 30; 8069734: 68fb ldr r3, [r7, #12] 8069736: 331e adds r3, #30 8069738: 60fb str r3, [r7, #12] 806973a: e00b b.n 8069754 } } else { if(i & 1) 806973c: 68bb ldr r3, [r7, #8] 806973e: f003 0301 and.w r3, r3, #1 8069742: 2b00 cmp r3, #0 8069744: d003 beq.n 806974e d += 30; 8069746: 68fb ldr r3, [r7, #12] 8069748: 331e adds r3, #30 806974a: 60fb str r3, [r7, #12] 806974c: e002 b.n 8069754 else d += 31; 806974e: 68fb ldr r3, [r7, #12] 8069750: 331f adds r3, #31 8069752: 60fb str r3, [r7, #12] for(i = 1; i < RTC_DateStruct.Month; i++) 8069754: 68bb ldr r3, [r7, #8] 8069756: 3301 adds r3, #1 8069758: 60bb str r3, [r7, #8] 806975a: 4b14 ldr r3, [pc, #80] ; (80697ac ) 806975c: 785b ldrb r3, [r3, #1] 806975e: 461a mov r2, r3 8069760: 68bb ldr r3, [r7, #8] 8069762: 429a cmp r2, r3 8069764: d8cc bhi.n 8069700 } } d += RTC_DateStruct.Date; 8069766: 4b11 ldr r3, [pc, #68] ; (80697ac ) 8069768: 789b ldrb r3, [r3, #2] 806976a: 461a mov r2, r3 806976c: 68fb ldr r3, [r7, #12] 806976e: 4413 add r3, r2 8069770: 60fb str r3, [r7, #12] d += (RTC_WEEKDAY_SATURDAY - 1); 8069772: 68fb ldr r3, [r7, #12] 8069774: 3305 adds r3, #5 8069776: 60fb str r3, [r7, #12] RTC_DateStruct.WeekDay = d % 7; 8069778: 68fa ldr r2, [r7, #12] 806977a: 4b0d ldr r3, [pc, #52] ; (80697b0 ) 806977c: fba3 1302 umull r1, r3, r3, r2 8069780: 1ad1 subs r1, r2, r3 8069782: 0849 lsrs r1, r1, #1 8069784: 440b add r3, r1 8069786: 0899 lsrs r1, r3, #2 8069788: 460b mov r3, r1 806978a: 00db lsls r3, r3, #3 806978c: 1a5b subs r3, r3, r1 806978e: 1ad1 subs r1, r2, r3 8069790: b2ca uxtb r2, r1 8069792: 4b06 ldr r3, [pc, #24] ; (80697ac ) 8069794: 701a strb r2, [r3, #0] HAL_RTC_SetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 8069796: 2200 movs r2, #0 8069798: 4904 ldr r1, [pc, #16] ; (80697ac ) 806979a: 4806 ldr r0, [pc, #24] ; (80697b4 ) 806979c: f053 fe78 bl 80bd490 } 80697a0: bf00 nop 80697a2: 3718 adds r7, #24 80697a4: 46bd mov sp, r7 80697a6: bd80 pop {r7, pc} 80697a8: 51eb851f .word 0x51eb851f 80697ac: 20025d44 .word 0x20025d44 80697b0: 24924925 .word 0x24924925 80697b4: 200685f8 .word 0x200685f8 080697b8 : void EXTI_Config(void) { 80697b8: b580 push {r7, lr} 80697ba: b086 sub sp, #24 80697bc: af00 add r7, sp, #0 GPIO_InitTypeDef EXTILineStruct; __HAL_RCC_SYSCFG_CLK_ENABLE(); 80697be: 4a1c ldr r2, [pc, #112] ; (8069830 ) 80697c0: 4b1b ldr r3, [pc, #108] ; (8069830 ) 80697c2: 6c5b ldr r3, [r3, #68] ; 0x44 80697c4: f443 4380 orr.w r3, r3, #16384 ; 0x4000 80697c8: 6453 str r3, [r2, #68] ; 0x44 80697ca: 4b19 ldr r3, [pc, #100] ; (8069830 ) 80697cc: 6c5b ldr r3, [r3, #68] ; 0x44 80697ce: f403 4380 and.w r3, r3, #16384 ; 0x4000 80697d2: 603b str r3, [r7, #0] 80697d4: 683b ldr r3, [r7, #0] EXTILineStruct.Pin = GPIO_PIN_2; 80697d6: 2304 movs r3, #4 80697d8: 607b str r3, [r7, #4] EXTILineStruct.Mode = GPIO_MODE_IT_RISING; 80697da: f44f 1388 mov.w r3, #1114112 ; 0x110000 80697de: 60bb str r3, [r7, #8] EXTILineStruct.Pull = GPIO_NOPULL; 80697e0: 2300 movs r3, #0 80697e2: 60fb str r3, [r7, #12] HAL_GPIO_Init(GPIOC, &EXTILineStruct); 80697e4: 1d3b adds r3, r7, #4 80697e6: 4619 mov r1, r3 80697e8: 4812 ldr r0, [pc, #72] ; (8069834 ) 80697ea: f050 fb09 bl 80b9e00 HAL_NVIC_SetPriority(EXTI2_IRQn, 8, 0); 80697ee: 2200 movs r2, #0 80697f0: 2108 movs r1, #8 80697f2: 2008 movs r0, #8 80697f4: f04f f86d bl 80b88d2 HAL_NVIC_EnableIRQ(EXTI2_IRQn); 80697f8: 2008 movs r0, #8 80697fa: f04f f886 bl 80b890a EXTILineStruct.Pin = RDYB_Pin; 80697fe: 2308 movs r3, #8 8069800: 607b str r3, [r7, #4] EXTILineStruct.Mode = GPIO_MODE_IT_FALLING; 8069802: f44f 1304 mov.w r3, #2162688 ; 0x210000 8069806: 60bb str r3, [r7, #8] EXTILineStruct.Pull = GPIO_PULLUP; 8069808: 2301 movs r3, #1 806980a: 60fb str r3, [r7, #12] HAL_GPIO_Init(RDYB_GPIO_Port, &EXTILineStruct); 806980c: 1d3b adds r3, r7, #4 806980e: 4619 mov r1, r3 8069810: 4809 ldr r0, [pc, #36] ; (8069838 ) 8069812: f050 faf5 bl 80b9e00 HAL_NVIC_SetPriority(EXTI3_IRQn, 1, 0); 8069816: 2200 movs r2, #0 8069818: 2101 movs r1, #1 806981a: 2009 movs r0, #9 806981c: f04f f859 bl 80b88d2 HAL_NVIC_EnableIRQ(EXTI3_IRQn); 8069820: 2009 movs r0, #9 8069822: f04f f872 bl 80b890a } 8069826: bf00 nop 8069828: 3718 adds r7, #24 806982a: 46bd mov sp, r7 806982c: bd80 pop {r7, pc} 806982e: bf00 nop 8069830: 40023800 .word 0x40023800 8069834: 40020800 .word 0x40020800 8069838: 40020400 .word 0x40020400 0806983c : void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { 806983c: b580 push {r7, lr} 806983e: b082 sub sp, #8 8069840: af00 add r7, sp, #0 8069842: 4603 mov r3, r0 8069844: 80fb strh r3, [r7, #6] if(GPIO_Pin == GPIO_PIN_2) 8069846: 88fb ldrh r3, [r7, #6] 8069848: 2b04 cmp r3, #4 806984a: d115 bne.n 8069878 { __HAL_GPIO_EXTI_CLEAR_FLAG(GPIO_PIN_2); 806984c: 4b0f ldr r3, [pc, #60] ; (806988c ) 806984e: 2204 movs r2, #4 8069850: 615a str r2, [r3, #20] if((RefreshScreen == false) && (screen == true)) 8069852: 4b0f ldr r3, [pc, #60] ; (8069890 ) 8069854: 781b ldrb r3, [r3, #0] 8069856: b2db uxtb r3, r3 8069858: f083 0301 eor.w r3, r3, #1 806985c: b2db uxtb r3, r3 806985e: 2b00 cmp r3, #0 8069860: d00f beq.n 8069882 8069862: 4b0c ldr r3, [pc, #48] ; (8069894 ) 8069864: 781b ldrb r3, [r3, #0] 8069866: b2db uxtb r3, r3 8069868: 2b00 cmp r3, #0 806986a: d00a beq.n 8069882 { screen = false; 806986c: 4b09 ldr r3, [pc, #36] ; (8069894 ) 806986e: 2200 movs r2, #0 8069870: 701a strb r2, [r3, #0] Display(); 8069872: f000 fad5 bl 8069e20 else { __HAL_GPIO_EXTI_CLEAR_FLAG(RDYB_Pin); MAX11270_IRQ(); } } 8069876: e004 b.n 8069882 __HAL_GPIO_EXTI_CLEAR_FLAG(RDYB_Pin); 8069878: 4b04 ldr r3, [pc, #16] ; (806988c ) 806987a: 2208 movs r2, #8 806987c: 615a str r2, [r3, #20] MAX11270_IRQ(); 806987e: f7ed f9d3 bl 8056c28 } 8069882: bf00 nop 8069884: 3708 adds r7, #8 8069886: 46bd mov sp, r7 8069888: bd80 pop {r7, pc} 806988a: bf00 nop 806988c: 40013c00 .word 0x40013c00 8069890: 2002104c .word 0x2002104c 8069894: 200200ca .word 0x200200ca 08069898 : void RedrawScreen(void) { 8069898: b480 push {r7} 806989a: af00 add r7, sp, #0 __HAL_GPIO_EXTI_GENERATE_SWIT(GPIO_PIN_2); 806989c: 4a05 ldr r2, [pc, #20] ; (80698b4 ) 806989e: 4b05 ldr r3, [pc, #20] ; (80698b4 ) 80698a0: 691b ldr r3, [r3, #16] 80698a2: f043 0304 orr.w r3, r3, #4 80698a6: 6113 str r3, [r2, #16] } 80698a8: bf00 nop 80698aa: 46bd mov sp, r7 80698ac: f85d 7b04 ldr.w r7, [sp], #4 80698b0: 4770 bx lr 80698b2: bf00 nop 80698b4: 40013c00 .word 0x40013c00 080698b8 : void Logo(void) { 80698b8: b580 push {r7, lr} 80698ba: b082 sub sp, #8 80698bc: af00 add r7, sp, #0 uint32_t i; uint32_t color = 0xFF212829;//0xFF0A0F1F; 80698be: 4b6b ldr r3, [pc, #428] ; (8069a6c ) 80698c0: 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(); 80698c2: f7eb fb25 bl 8054f10 HAL_NVIC_DisableIRQ(EXTI2_IRQn); 80698c6: 2008 movs r0, #8 80698c8: f04f f82d bl 80b8926 //********************************************************* BSP_LCD_SetFont(&Font12); 80698cc: 4868 ldr r0, [pc, #416] ; (8069a70 ) 80698ce: f7eb fcd9 bl 8055284 for(i = 0; i < 3; i++) 80698d2: 2300 movs r3, #0 80698d4: 607b str r3, [r7, #4] 80698d6: e032 b.n 806993e { BSP_LCD_Clear(color); 80698d8: 6838 ldr r0, [r7, #0] 80698da: f7eb fcf1 bl 80552c0 LOGO_IMAGE; 80698de: 2250 movs r2, #80 ; 0x50 80698e0: 2100 movs r1, #0 80698e2: 4864 ldr r0, [pc, #400] ; (8069a74 ) 80698e4: f7ec fb86 bl 8055ff4 RefreshScreen = true; 80698e8: 4b63 ldr r3, [pc, #396] ; (8069a78 ) 80698ea: 2201 movs r2, #1 80698ec: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 80698ee: 2100 movs r1, #0 80698f0: 4862 ldr r0, [pc, #392] ; (8069a7c ) 80698f2: f050 ff4b bl 80ba78c while(RefreshScreen); 80698f6: bf00 nop 80698f8: 4b5f ldr r3, [pc, #380] ; (8069a78 ) 80698fa: 781b ldrb r3, [r3, #0] 80698fc: b2db uxtb r3, r3 80698fe: 2b00 cmp r3, #0 8069900: d1fa bne.n 80698f8 HAL_Delay(50); 8069902: 2032 movs r0, #50 ; 0x32 8069904: f04e f89a bl 80b7a3c BSP_LCD_Clear(color); 8069908: 6838 ldr r0, [r7, #0] 806990a: f7eb fcd9 bl 80552c0 LOGO_IMAGE_1; 806990e: 2250 movs r2, #80 ; 0x50 8069910: 2100 movs r1, #0 8069912: 4858 ldr r0, [pc, #352] ; (8069a74 ) 8069914: f7ec fb6e bl 8055ff4 RefreshScreen = true; 8069918: 4b57 ldr r3, [pc, #348] ; (8069a78 ) 806991a: 2201 movs r2, #1 806991c: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 806991e: 2100 movs r1, #0 8069920: 4856 ldr r0, [pc, #344] ; (8069a7c ) 8069922: f050 ff33 bl 80ba78c while(RefreshScreen); 8069926: bf00 nop 8069928: 4b53 ldr r3, [pc, #332] ; (8069a78 ) 806992a: 781b ldrb r3, [r3, #0] 806992c: b2db uxtb r3, r3 806992e: 2b00 cmp r3, #0 8069930: d1fa bne.n 8069928 HAL_Delay(50); 8069932: 2032 movs r0, #50 ; 0x32 8069934: f04e f882 bl 80b7a3c for(i = 0; i < 3; i++) 8069938: 687b ldr r3, [r7, #4] 806993a: 3301 adds r3, #1 806993c: 607b str r3, [r7, #4] 806993e: 687b ldr r3, [r7, #4] 8069940: 2b02 cmp r3, #2 8069942: d9c9 bls.n 80698d8 } HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_RESET); // BACKLIGHT_ON 8069944: 2200 movs r2, #0 8069946: f44f 7180 mov.w r1, #256 ; 0x100 806994a: 484d ldr r0, [pc, #308] ; (8069a80 ) 806994c: f050 fd26 bl 80ba39c //********************************************************* BSP_LCD_Clear(color); 8069950: 6838 ldr r0, [r7, #0] 8069952: f7eb fcb5 bl 80552c0 DrawImage(&bmLOGO_Pantone_1, 0, 80); 8069956: 2250 movs r2, #80 ; 0x50 8069958: 2100 movs r1, #0 806995a: 4846 ldr r0, [pc, #280] ; (8069a74 ) 806995c: f7ec fb4a bl 8055ff4 RefreshScreen = true; 8069960: 4b45 ldr r3, [pc, #276] ; (8069a78 ) 8069962: 2201 movs r2, #1 8069964: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8069966: 2100 movs r1, #0 8069968: 4844 ldr r0, [pc, #272] ; (8069a7c ) 806996a: f050 ff0f bl 80ba78c while(RefreshScreen); 806996e: bf00 nop 8069970: 4b41 ldr r3, [pc, #260] ; (8069a78 ) 8069972: 781b ldrb r3, [r3, #0] 8069974: b2db uxtb r3, r3 8069976: 2b00 cmp r3, #0 8069978: d1fa bne.n 8069970 HAL_Delay(50); 806997a: 2032 movs r0, #50 ; 0x32 806997c: f04e f85e bl 80b7a3c BSP_LCD_Clear(color); 8069980: 6838 ldr r0, [r7, #0] 8069982: f7eb fc9d bl 80552c0 DrawImage(&bmLOGO_Pantone_1, 0, 80); 8069986: 2250 movs r2, #80 ; 0x50 8069988: 2100 movs r1, #0 806998a: 483a ldr r0, [pc, #232] ; (8069a74 ) 806998c: f7ec fb32 bl 8055ff4 RefreshScreen = true; 8069990: 4b39 ldr r3, [pc, #228] ; (8069a78 ) 8069992: 2201 movs r2, #1 8069994: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8069996: 2100 movs r1, #0 8069998: 4838 ldr r0, [pc, #224] ; (8069a7c ) 806999a: f050 fef7 bl 80ba78c while(RefreshScreen); 806999e: bf00 nop 80699a0: 4b35 ldr r3, [pc, #212] ; (8069a78 ) 80699a2: 781b ldrb r3, [r3, #0] 80699a4: b2db uxtb r3, r3 80699a6: 2b00 cmp r3, #0 80699a8: d1fa bne.n 80699a0 HAL_Delay(50); 80699aa: 2032 movs r0, #50 ; 0x32 80699ac: f04e f846 bl 80b7a3c LCD_SetColors(0xFFFFFFFF, color); 80699b0: 6839 ldr r1, [r7, #0] 80699b2: f04f 30ff mov.w r0, #4294967295 80699b6: f7eb fc29 bl 805520c BSP_LCD_SetFont(&Font12); 80699ba: 482d ldr r0, [pc, #180] ; (8069a70 ) 80699bc: f7eb fc62 bl 8055284 #ifdef USE_BLUETOOTH if(pardata.LANG == RUS) BSP_LCD_DisplayStringAt(165, 209, "Âèáðîìåòð D142 BLE", CENTER_MODE); else BSP_LCD_DisplayStringAt(165, 209, "Vibrometer D142 BLE", CENTER_MODE); #else if(pardata.LANG == RUS) 80699c0: 4b30 ldr r3, [pc, #192] ; (8069a84 ) 80699c2: 7b1b ldrb r3, [r3, #12] 80699c4: b2db uxtb r3, r3 80699c6: 2b00 cmp r3, #0 80699c8: d106 bne.n 80699d8 BSP_LCD_DisplayStringAt(165, 209, "Âèáðîìåòð D142", CENTER_MODE); 80699ca: 2301 movs r3, #1 80699cc: 4a2e ldr r2, [pc, #184] ; (8069a88 ) 80699ce: 21d1 movs r1, #209 ; 0xd1 80699d0: 20a5 movs r0, #165 ; 0xa5 80699d2: f7eb fce1 bl 8055398 80699d6: e005 b.n 80699e4 else BSP_LCD_DisplayStringAt(165, 209, "Vibrometer D142", CENTER_MODE); 80699d8: 2301 movs r3, #1 80699da: 4a2c ldr r2, [pc, #176] ; (8069a8c ) 80699dc: 21d1 movs r1, #209 ; 0xd1 80699de: 20a5 movs r0, #165 ; 0xa5 80699e0: f7eb fcda bl 8055398 #endif #endif LCD_SetColors(0xFFFFFFFF, color); 80699e4: 6839 ldr r1, [r7, #0] 80699e6: f04f 30ff mov.w r0, #4294967295 80699ea: f7eb fc0f bl 805520c BSP_LCD_SetFont(&Font12); 80699ee: 4820 ldr r0, [pc, #128] ; (8069a70 ) 80699f0: f7eb fc48 bl 8055284 BSP_LCD_DisplayStringAt(165, 221, (char *) _VERSION, CENTER_MODE); 80699f4: 2301 movs r3, #1 80699f6: 4a26 ldr r2, [pc, #152] ; (8069a90 ) 80699f8: 21dd movs r1, #221 ; 0xdd 80699fa: 20a5 movs r0, #165 ; 0xa5 80699fc: f7eb fccc bl 8055398 BSP_LCD_DisplayStringAt(165, 4, (char *) _SERIAL_DRAW, CENTER_MODE); 8069a00: 2301 movs r3, #1 8069a02: 4a24 ldr r2, [pc, #144] ; (8069a94 ) 8069a04: 2104 movs r1, #4 8069a06: 20a5 movs r0, #165 ; 0xa5 8069a08: f7eb fcc6 bl 8055398 if(CORRECTION == false) { 8069a0c: 4b22 ldr r3, [pc, #136] ; (8069a98 ) 8069a0e: 781b ldrb r3, [r3, #0] 8069a10: b2db uxtb r3, r3 8069a12: f083 0301 eor.w r3, r3, #1 8069a16: b2db uxtb r3, r3 8069a18: 2b00 cmp r3, #0 8069a1a: d005 beq.n 8069a28 BSP_LCD_DisplayStringAt(0, 4, ".", LEFT_MODE); 8069a1c: 2303 movs r3, #3 8069a1e: 4a1f ldr r2, [pc, #124] ; (8069a9c ) 8069a20: 2104 movs r1, #4 8069a22: 2000 movs r0, #0 8069a24: f7eb fcb8 bl 8055398 } RefreshScreen = true; 8069a28: 4b13 ldr r3, [pc, #76] ; (8069a78 ) 8069a2a: 2201 movs r2, #1 8069a2c: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8069a2e: 2100 movs r1, #0 8069a30: 4812 ldr r0, [pc, #72] ; (8069a7c ) 8069a32: f050 feab bl 80ba78c while(RefreshScreen); 8069a36: bf00 nop 8069a38: 4b0f ldr r3, [pc, #60] ; (8069a78 ) 8069a3a: 781b ldrb r3, [r3, #0] 8069a3c: b2db uxtb r3, r3 8069a3e: 2b00 cmp r3, #0 8069a40: d1fa bne.n 8069a38 HAL_Delay(100); 8069a42: 2064 movs r0, #100 ; 0x64 8069a44: f04d fffa bl 80b7a3c //********************************************************* HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_RESET); // BACKLIGHT_ON 8069a48: 2200 movs r2, #0 8069a4a: f44f 7180 mov.w r1, #256 ; 0x100 8069a4e: 480c ldr r0, [pc, #48] ; (8069a80 ) 8069a50: f050 fca4 bl 80ba39c HAL_Delay(1000); 8069a54: f44f 707a mov.w r0, #1000 ; 0x3e8 8069a58: f04d fff0 bl 80b7a3c HAL_NVIC_EnableIRQ(EXTI2_IRQn); 8069a5c: 2008 movs r0, #8 8069a5e: f04e ff54 bl 80b890a #endif } 8069a62: bf00 nop 8069a64: 3708 adds r7, #8 8069a66: 46bd mov sp, r7 8069a68: bd80 pop {r7, pc} 8069a6a: bf00 nop 8069a6c: ff212829 .word 0xff212829 8069a70: 20020038 .word 0x20020038 8069a74: 081413a0 .word 0x081413a0 8069a78: 2002104c .word 0x2002104c 8069a7c: 20025d80 .word 0x20025d80 8069a80: 40020000 .word 0x40020000 8069a84: 20023eb8 .word 0x20023eb8 8069a88: 080d6238 .word 0x080d6238 8069a8c: 080d6248 .word 0x080d6248 8069a90: 080f52b8 .word 0x080f52b8 8069a94: 20020f44 .word 0x20020f44 8069a98: 20020f38 .word 0x20020f38 8069a9c: 080d6258 .word 0x080d6258 08069aa0 : void DrawTime(void) { 8069aa0: b580 push {r7, lr} 8069aa2: b08a sub sp, #40 ; 0x28 8069aa4: 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); 8069aa6: 2200 movs r2, #0 8069aa8: 492d ldr r1, [pc, #180] ; (8069b60 ) 8069aaa: 482e ldr r0, [pc, #184] ; (8069b64 ) 8069aac: f053 fc92 bl 80bd3d4 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 8069ab0: 2200 movs r2, #0 8069ab2: 492d ldr r1, [pc, #180] ; (8069b68 ) 8069ab4: 482b ldr r0, [pc, #172] ; (8069b64 ) 8069ab6: f053 fd93 bl 80bd5e0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069aba: 492c ldr r1, [pc, #176] ; (8069b6c ) 8069abc: f04f 30ff mov.w r0, #4294967295 8069ac0: f7eb fba4 bl 805520c BSP_LCD_SetFont(&Font12); 8069ac4: 482a ldr r0, [pc, #168] ; (8069b70 ) 8069ac6: f7eb fbdd bl 8055284 hr = RTC_TimeStruct.Hours; 8069aca: 4b25 ldr r3, [pc, #148] ; (8069b60 ) 8069acc: 781b ldrb r3, [r3, #0] 8069ace: 60fb str r3, [r7, #12] mn = RTC_TimeStruct.Minutes; 8069ad0: 4b23 ldr r3, [pc, #140] ; (8069b60 ) 8069ad2: 785b ldrb r3, [r3, #1] 8069ad4: 60bb str r3, [r7, #8] memset(str, 0, sizeof(str)); 8069ad6: f107 031c add.w r3, r7, #28 8069ada: 220c movs r2, #12 8069adc: 2100 movs r1, #0 8069ade: 4618 mov r0, r3 8069ae0: f068 fa60 bl 80d1fa4 str[0] = (hr / 10) + 48; 8069ae4: 68fb ldr r3, [r7, #12] 8069ae6: 4a23 ldr r2, [pc, #140] ; (8069b74 ) 8069ae8: fba2 2303 umull r2, r3, r2, r3 8069aec: 08db lsrs r3, r3, #3 8069aee: b2db uxtb r3, r3 8069af0: 3330 adds r3, #48 ; 0x30 8069af2: b2db uxtb r3, r3 8069af4: 773b strb r3, [r7, #28] str[1] = (hr % 10) + 48; 8069af6: 68f9 ldr r1, [r7, #12] 8069af8: 4b1e ldr r3, [pc, #120] ; (8069b74 ) 8069afa: fba3 2301 umull r2, r3, r3, r1 8069afe: 08da lsrs r2, r3, #3 8069b00: 4613 mov r3, r2 8069b02: 009b lsls r3, r3, #2 8069b04: 4413 add r3, r2 8069b06: 005b lsls r3, r3, #1 8069b08: 1aca subs r2, r1, r3 8069b0a: b2d3 uxtb r3, r2 8069b0c: 3330 adds r3, #48 ; 0x30 8069b0e: b2db uxtb r3, r3 8069b10: 777b strb r3, [r7, #29] str[2] = ':'; 8069b12: 233a movs r3, #58 ; 0x3a 8069b14: 77bb strb r3, [r7, #30] str[3] = (mn / 10) + 48; 8069b16: 68bb ldr r3, [r7, #8] 8069b18: 4a16 ldr r2, [pc, #88] ; (8069b74 ) 8069b1a: fba2 2303 umull r2, r3, r2, r3 8069b1e: 08db lsrs r3, r3, #3 8069b20: b2db uxtb r3, r3 8069b22: 3330 adds r3, #48 ; 0x30 8069b24: b2db uxtb r3, r3 8069b26: 77fb strb r3, [r7, #31] str[4] = (mn % 10) + 48; 8069b28: 68b9 ldr r1, [r7, #8] 8069b2a: 4b12 ldr r3, [pc, #72] ; (8069b74 ) 8069b2c: fba3 2301 umull r2, r3, r3, r1 8069b30: 08da lsrs r2, r3, #3 8069b32: 4613 mov r3, r2 8069b34: 009b lsls r3, r3, #2 8069b36: 4413 add r3, r2 8069b38: 005b lsls r3, r3, #1 8069b3a: 1aca subs r2, r1, r3 8069b3c: b2d3 uxtb r3, r2 8069b3e: 3330 adds r3, #48 ; 0x30 8069b40: b2db uxtb r3, r3 8069b42: f887 3020 strb.w r3, [r7, #32] BSP_LCD_DisplayStringAt(297, 18+4, str, CENTER_MODE); 8069b46: f107 021c add.w r2, r7, #28 8069b4a: 2301 movs r3, #1 8069b4c: 2116 movs r1, #22 8069b4e: f240 1029 movw r0, #297 ; 0x129 8069b52: f7eb fc21 bl 8055398 str[5] = ':'; str[6] = (sec / 10) + 48; str[7] = (sec % 10) + 48; BSP_LCD_DisplayStringAt(165, 18, str, CENTER_MODE);*/ } 8069b56: bf00 nop 8069b58: 3728 adds r7, #40 ; 0x28 8069b5a: 46bd mov sp, r7 8069b5c: bd80 pop {r7, pc} 8069b5e: bf00 nop 8069b60: 20025cc0 .word 0x20025cc0 8069b64: 200685f8 .word 0x200685f8 8069b68: 20025d44 .word 0x20025d44 8069b6c: ff0a0f1f .word 0xff0a0f1f 8069b70: 20020038 .word 0x20020038 8069b74: cccccccd .word 0xcccccccd 08069b78 : void DrawTemperature(void) { 8069b78: b580 push {r7, lr} 8069b7a: b084 sub sp, #16 8069b7c: af00 add r7, sp, #0 char str[12]; uint32_t l; if(SeeTemperature) 8069b7e: 4b25 ldr r3, [pc, #148] ; (8069c14 ) 8069b80: 781b ldrb r3, [r3, #0] 8069b82: b2db uxtb r3, r3 8069b84: 2b00 cmp r3, #0 8069b86: d041 beq.n 8069c0c { memset(str, 0, sizeof(str)); 8069b88: 463b mov r3, r7 8069b8a: 220c movs r2, #12 8069b8c: 2100 movs r1, #0 8069b8e: 4618 mov r0, r3 8069b90: f068 fa08 bl 80d1fa4 l = strlen(strT); 8069b94: 4820 ldr r0, [pc, #128] ; (8069c18 ) 8069b96: f7b6 fbbd bl 8020314 8069b9a: 60f8 str r0, [r7, #12] if(l > 0) 8069b9c: 68fb ldr r3, [r7, #12] 8069b9e: 2b00 cmp r3, #0 8069ba0: d005 beq.n 8069bae strcpy(str, strT); 8069ba2: 463b mov r3, r7 8069ba4: 491c ldr r1, [pc, #112] ; (8069c18 ) 8069ba6: 4618 mov r0, r3 8069ba8: f068 fb19 bl 80d21de 8069bac: e00d b.n 8069bca else { str[0] = ' '; 8069bae: 2320 movs r3, #32 8069bb0: 703b strb r3, [r7, #0] str[1] = ' '; 8069bb2: 2320 movs r3, #32 8069bb4: 707b strb r3, [r7, #1] str[2] = ' '; 8069bb6: 2320 movs r3, #32 8069bb8: 70bb strb r3, [r7, #2] str[3] = ' '; 8069bba: 2320 movs r3, #32 8069bbc: 70fb strb r3, [r7, #3] str[4] = ' '; 8069bbe: 2320 movs r3, #32 8069bc0: 713b strb r3, [r7, #4] str[5] = ' '; 8069bc2: 2320 movs r3, #32 8069bc4: 717b strb r3, [r7, #5] str[6] = ' '; 8069bc6: 2320 movs r3, #32 8069bc8: 71bb strb r3, [r7, #6] } str[7] = ' '; 8069bca: 2320 movs r3, #32 8069bcc: 71fb strb r3, [r7, #7] str[8] = 'C'; 8069bce: 2343 movs r3, #67 ; 0x43 8069bd0: 723b strb r3, [r7, #8] str[9] = '\0'; 8069bd2: 2300 movs r3, #0 8069bd4: 727b strb r3, [r7, #9] LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069bd6: 4911 ldr r1, [pc, #68] ; (8069c1c ) 8069bd8: f04f 30ff mov.w r0, #4294967295 8069bdc: f7eb fb16 bl 805520c BSP_LCD_SetFont(&Font12); 8069be0: 480f ldr r0, [pc, #60] ; (8069c20 ) 8069be2: f7eb fb4f bl 8055284 BSP_LCD_DisplayStringAt(/*73*/126, 7, str, LEFT_MODE); 8069be6: 463a mov r2, r7 8069be8: 2303 movs r3, #3 8069bea: 2107 movs r1, #7 8069bec: 207e movs r0, #126 ; 0x7e 8069bee: f7eb fbd3 bl 8055398 BSP_LCD_SetFont(&Font8); 8069bf2: 480c ldr r0, [pc, #48] ; (8069c24 ) 8069bf4: f7eb fb46 bl 8055284 str[0] = 'o'; 8069bf8: 236f movs r3, #111 ; 0x6f 8069bfa: 703b strb r3, [r7, #0] str[1] = '\0'; 8069bfc: 2300 movs r3, #0 8069bfe: 707b strb r3, [r7, #1] BSP_LCD_DisplayStringAt(/*124*/126+51, 4, str, LEFT_MODE); 8069c00: 463a mov r2, r7 8069c02: 2303 movs r3, #3 8069c04: 2104 movs r1, #4 8069c06: 20b1 movs r0, #177 ; 0xb1 8069c08: f7eb fbc6 bl 8055398 } } 8069c0c: bf00 nop 8069c0e: 3710 adds r7, #16 8069c10: 46bd mov sp, r7 8069c12: bd80 pop {r7, pc} 8069c14: 20020fc3 .word 0x20020fc3 8069c18: 20025914 .word 0x20025914 8069c1c: ff0a0f1f .word 0xff0a0f1f 8069c20: 20020038 .word 0x20020038 8069c24: 20020060 .word 0x20020060 08069c28 : void DrawBat(void) { 8069c28: b580 push {r7, lr} 8069c2a: b08e sub sp, #56 ; 0x38 8069c2c: af00 add r7, sp, #0 uint16_t x, y; static uint8_t ChrgState = 0; GUI_BITMAP img100, img75, img50, img25; if(menu == POWER_OFF) 8069c2e: 4b6d ldr r3, [pc, #436] ; (8069de4 ) 8069c30: 781b ldrb r3, [r3, #0] 8069c32: b2db uxtb r3, r3 8069c34: 2b43 cmp r3, #67 ; 0x43 8069c36: d11b bne.n 8069c70 { x = 136; 8069c38: 2388 movs r3, #136 ; 0x88 8069c3a: 86fb strh r3, [r7, #54] ; 0x36 y = 61; 8069c3c: 233d movs r3, #61 ; 0x3d 8069c3e: 86bb strh r3, [r7, #52] ; 0x34 img100 = bmB100; 8069c40: 4a69 ldr r2, [pc, #420] ; (8069de8 ) 8069c42: f107 0328 add.w r3, r7, #40 ; 0x28 8069c46: ca07 ldmia r2, {r0, r1, r2} 8069c48: e883 0007 stmia.w r3, {r0, r1, r2} img75 = bmB75; 8069c4c: 4a67 ldr r2, [pc, #412] ; (8069dec ) 8069c4e: f107 031c add.w r3, r7, #28 8069c52: ca07 ldmia r2, {r0, r1, r2} 8069c54: e883 0007 stmia.w r3, {r0, r1, r2} img50 = bmB50; 8069c58: 4a65 ldr r2, [pc, #404] ; (8069df0 ) 8069c5a: f107 0310 add.w r3, r7, #16 8069c5e: ca07 ldmia r2, {r0, r1, r2} 8069c60: e883 0007 stmia.w r3, {r0, r1, r2} img25 = bmB25; 8069c64: 4a63 ldr r2, [pc, #396] ; (8069df4 ) 8069c66: 1d3b adds r3, r7, #4 8069c68: ca07 ldmia r2, {r0, r1, r2} 8069c6a: e883 0007 stmia.w r3, {r0, r1, r2} 8069c6e: e01a b.n 8069ca6 } else { x = 255;//235; 8069c70: 23ff movs r3, #255 ; 0xff 8069c72: 86fb strh r3, [r7, #54] ; 0x36 y = 0+4; 8069c74: 2304 movs r3, #4 8069c76: 86bb strh r3, [r7, #52] ; 0x34 img100 = bmBat100; 8069c78: 4a5f ldr r2, [pc, #380] ; (8069df8 ) 8069c7a: f107 0328 add.w r3, r7, #40 ; 0x28 8069c7e: ca07 ldmia r2, {r0, r1, r2} 8069c80: e883 0007 stmia.w r3, {r0, r1, r2} img75 = bmBat75; 8069c84: 4a5d ldr r2, [pc, #372] ; (8069dfc ) 8069c86: f107 031c add.w r3, r7, #28 8069c8a: ca07 ldmia r2, {r0, r1, r2} 8069c8c: e883 0007 stmia.w r3, {r0, r1, r2} img50 = bmBat50; 8069c90: 4a5b ldr r2, [pc, #364] ; (8069e00 ) 8069c92: f107 0310 add.w r3, r7, #16 8069c96: ca07 ldmia r2, {r0, r1, r2} 8069c98: e883 0007 stmia.w r3, {r0, r1, r2} img25 = bmBat25; 8069c9c: 4a59 ldr r2, [pc, #356] ; (8069e04 ) 8069c9e: 1d3b adds r3, r7, #4 8069ca0: ca07 ldmia r2, {r0, r1, r2} 8069ca2: 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) 8069ca6: 4b58 ldr r3, [pc, #352] ; (8069e08 ) 8069ca8: 781b ldrb r3, [r3, #0] 8069caa: b2db uxtb r3, r3 8069cac: f083 0301 eor.w r3, r3, #1 8069cb0: b2db uxtb r3, r3 8069cb2: 2b00 cmp r3, #0 8069cb4: d041 beq.n 8069d3a { if(!TIMEOUT_BAT) 8069cb6: 4b55 ldr r3, [pc, #340] ; (8069e0c ) 8069cb8: 681b ldr r3, [r3, #0] 8069cba: 2b00 cmp r3, #0 8069cbc: f040 808e bne.w 8069ddc { if((StateBattery == 0xf) || (StateBattery == 0x1f)) 8069cc0: 4b53 ldr r3, [pc, #332] ; (8069e10 ) 8069cc2: 781b ldrb r3, [r3, #0] 8069cc4: b2db uxtb r3, r3 8069cc6: 2b0f cmp r3, #15 8069cc8: d004 beq.n 8069cd4 8069cca: 4b51 ldr r3, [pc, #324] ; (8069e10 ) 8069ccc: 781b ldrb r3, [r3, #0] 8069cce: b2db uxtb r3, r3 8069cd0: 2b1f cmp r3, #31 8069cd2: d107 bne.n 8069ce4 DrawImage(&img100, x, y); 8069cd4: 8eba ldrh r2, [r7, #52] ; 0x34 8069cd6: 8ef9 ldrh r1, [r7, #54] ; 0x36 8069cd8: f107 0328 add.w r3, r7, #40 ; 0x28 8069cdc: 4618 mov r0, r3 8069cde: f7ec f989 bl 8055ff4 else { DrawImage(&img100, x, y); // BATTERY FULLY CHARGED } } } 8069ce2: e07b b.n 8069ddc if(StateBattery == 0x7) 8069ce4: 4b4a ldr r3, [pc, #296] ; (8069e10 ) 8069ce6: 781b ldrb r3, [r3, #0] 8069ce8: b2db uxtb r3, r3 8069cea: 2b07 cmp r3, #7 8069cec: d107 bne.n 8069cfe DrawImage(&img75, x, y); 8069cee: 8eba ldrh r2, [r7, #52] ; 0x34 8069cf0: 8ef9 ldrh r1, [r7, #54] ; 0x36 8069cf2: f107 031c add.w r3, r7, #28 8069cf6: 4618 mov r0, r3 8069cf8: f7ec f97c bl 8055ff4 } 8069cfc: e06e b.n 8069ddc if(StateBattery == 0x3) 8069cfe: 4b44 ldr r3, [pc, #272] ; (8069e10 ) 8069d00: 781b ldrb r3, [r3, #0] 8069d02: b2db uxtb r3, r3 8069d04: 2b03 cmp r3, #3 8069d06: d107 bne.n 8069d18 DrawImage(&img50, x, y); 8069d08: 8eba ldrh r2, [r7, #52] ; 0x34 8069d0a: 8ef9 ldrh r1, [r7, #54] ; 0x36 8069d0c: f107 0310 add.w r3, r7, #16 8069d10: 4618 mov r0, r3 8069d12: f7ec f96f bl 8055ff4 } 8069d16: e061 b.n 8069ddc if((StateBattery == 0x1) || (StateBattery == 0)) 8069d18: 4b3d ldr r3, [pc, #244] ; (8069e10 ) 8069d1a: 781b ldrb r3, [r3, #0] 8069d1c: b2db uxtb r3, r3 8069d1e: 2b01 cmp r3, #1 8069d20: d004 beq.n 8069d2c 8069d22: 4b3b ldr r3, [pc, #236] ; (8069e10 ) 8069d24: 781b ldrb r3, [r3, #0] 8069d26: b2db uxtb r3, r3 8069d28: 2b00 cmp r3, #0 8069d2a: d157 bne.n 8069ddc DrawImage(&img25, x, y); 8069d2c: 8eba ldrh r2, [r7, #52] ; 0x34 8069d2e: 8ef9 ldrh r1, [r7, #54] ; 0x36 8069d30: 1d3b adds r3, r7, #4 8069d32: 4618 mov r0, r3 8069d34: f7ec f95e bl 8055ff4 } 8069d38: e050 b.n 8069ddc if(StateBattery != 0x1f) 8069d3a: 4b35 ldr r3, [pc, #212] ; (8069e10 ) 8069d3c: 781b ldrb r3, [r3, #0] 8069d3e: b2db uxtb r3, r3 8069d40: 2b1f cmp r3, #31 8069d42: d044 beq.n 8069dce if(cntBat) 8069d44: 4b33 ldr r3, [pc, #204] ; (8069e14 ) 8069d46: 781b ldrb r3, [r3, #0] 8069d48: b2db uxtb r3, r3 8069d4a: 2b00 cmp r3, #0 8069d4c: d010 beq.n 8069d70 cntBat = 0; 8069d4e: 4b31 ldr r3, [pc, #196] ; (8069e14 ) 8069d50: 2200 movs r2, #0 8069d52: 701a strb r2, [r3, #0] if(ChrgState < 3) 8069d54: 4b30 ldr r3, [pc, #192] ; (8069e18 ) 8069d56: 781b ldrb r3, [r3, #0] 8069d58: 2b02 cmp r3, #2 8069d5a: d806 bhi.n 8069d6a ChrgState++; 8069d5c: 4b2e ldr r3, [pc, #184] ; (8069e18 ) 8069d5e: 781b ldrb r3, [r3, #0] 8069d60: 3301 adds r3, #1 8069d62: b2da uxtb r2, r3 8069d64: 4b2c ldr r3, [pc, #176] ; (8069e18 ) 8069d66: 701a strb r2, [r3, #0] 8069d68: e002 b.n 8069d70 else ChrgState = 0; 8069d6a: 4b2b ldr r3, [pc, #172] ; (8069e18 ) 8069d6c: 2200 movs r2, #0 8069d6e: 701a strb r2, [r3, #0] if(ChrgState == 0) 8069d70: 4b29 ldr r3, [pc, #164] ; (8069e18 ) 8069d72: 781b ldrb r3, [r3, #0] 8069d74: 2b00 cmp r3, #0 8069d76: d106 bne.n 8069d86 DrawImage(&img25, x, y); 8069d78: 8eba ldrh r2, [r7, #52] ; 0x34 8069d7a: 8ef9 ldrh r1, [r7, #54] ; 0x36 8069d7c: 1d3b adds r3, r7, #4 8069d7e: 4618 mov r0, r3 8069d80: f7ec f938 bl 8055ff4 } 8069d84: e02a b.n 8069ddc if(ChrgState == 1) 8069d86: 4b24 ldr r3, [pc, #144] ; (8069e18 ) 8069d88: 781b ldrb r3, [r3, #0] 8069d8a: 2b01 cmp r3, #1 8069d8c: d107 bne.n 8069d9e DrawImage(&img50, x, y); 8069d8e: 8eba ldrh r2, [r7, #52] ; 0x34 8069d90: 8ef9 ldrh r1, [r7, #54] ; 0x36 8069d92: f107 0310 add.w r3, r7, #16 8069d96: 4618 mov r0, r3 8069d98: f7ec f92c bl 8055ff4 } 8069d9c: e01e b.n 8069ddc if(ChrgState == 2) 8069d9e: 4b1e ldr r3, [pc, #120] ; (8069e18 ) 8069da0: 781b ldrb r3, [r3, #0] 8069da2: 2b02 cmp r3, #2 8069da4: d107 bne.n 8069db6 DrawImage(&img75, x, y); 8069da6: 8eba ldrh r2, [r7, #52] ; 0x34 8069da8: 8ef9 ldrh r1, [r7, #54] ; 0x36 8069daa: f107 031c add.w r3, r7, #28 8069dae: 4618 mov r0, r3 8069db0: f7ec f920 bl 8055ff4 } 8069db4: e012 b.n 8069ddc if(ChrgState == 3) 8069db6: 4b18 ldr r3, [pc, #96] ; (8069e18 ) 8069db8: 781b ldrb r3, [r3, #0] 8069dba: 2b03 cmp r3, #3 8069dbc: d10e bne.n 8069ddc DrawImage(&img100, x, y); 8069dbe: 8eba ldrh r2, [r7, #52] ; 0x34 8069dc0: 8ef9 ldrh r1, [r7, #54] ; 0x36 8069dc2: f107 0328 add.w r3, r7, #40 ; 0x28 8069dc6: 4618 mov r0, r3 8069dc8: f7ec f914 bl 8055ff4 } 8069dcc: e006 b.n 8069ddc DrawImage(&img100, x, y); // BATTERY FULLY CHARGED 8069dce: 8eba ldrh r2, [r7, #52] ; 0x34 8069dd0: 8ef9 ldrh r1, [r7, #54] ; 0x36 8069dd2: f107 0328 add.w r3, r7, #40 ; 0x28 8069dd6: 4618 mov r0, r3 8069dd8: f7ec f90c bl 8055ff4 } 8069ddc: bf00 nop 8069dde: 3738 adds r7, #56 ; 0x38 8069de0: 46bd mov sp, r7 8069de2: bd80 pop {r7, pc} 8069de4: 20020fc5 .word 0x20020fc5 8069de8: 0810dc34 .word 0x0810dc34 8069dec: 08117b64 .word 0x08117b64 8069df0: 08114654 .word 0x08114654 8069df4: 08111144 .word 0x08111144 8069df8: 081188e4 .word 0x081188e4 8069dfc: 081194d8 .word 0x081194d8 8069e00: 081190dc .word 0x081190dc 8069e04: 08118ce0 .word 0x08118ce0 8069e08: 20021b72 .word 0x20021b72 8069e0c: 200209d4 .word 0x200209d4 8069e10: 20020008 .word 0x20020008 8069e14: 200216db .word 0x200216db 8069e18: 200216a9 .word 0x200216a9 8069e1c: 00000000 .word 0x00000000 08069e20 : void Display(void) { 8069e20: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 8069e24: f2ad 4d74 subw sp, sp, #1140 ; 0x474 8069e28: 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;; 8069e2a: 2300 movs r3, #0 8069e2c: f8c7 3444 str.w r3, [r7, #1092] ; 0x444 8069e30: 2300 movs r3, #0 8069e32: 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; 8069e36: 2300 movs r3, #0 8069e38: 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; 8069e3c: 2300 movs r3, #0 8069e3e: 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)) 8069e42: 4b90 ldr r3, [pc, #576] ; (806a084 ) 8069e44: 781b ldrb r3, [r3, #0] 8069e46: b2db uxtb r3, r3 8069e48: 2b00 cmp r3, #0 8069e4a: d005 beq.n 8069e58 8069e4c: 4b8e ldr r3, [pc, #568] ; (806a088 ) 8069e4e: 781b ldrb r3, [r3, #0] 8069e50: b2db uxtb r3, r3 8069e52: 2b25 cmp r3, #37 ; 0x25 8069e54: f02f 81fe beq.w 8099254 return; blk++; 8069e58: 4b8c ldr r3, [pc, #560] ; (806a08c ) 8069e5a: 681b ldr r3, [r3, #0] 8069e5c: 3301 adds r3, #1 8069e5e: 4a8b ldr r2, [pc, #556] ; (806a08c ) 8069e60: 6013 str r3, [r2, #0] if(blk > 3) 8069e62: 4b8a ldr r3, [pc, #552] ; (806a08c ) 8069e64: 681b ldr r3, [r3, #0] 8069e66: 2b03 cmp r3, #3 8069e68: d905 bls.n 8069e76 { blk = 0; 8069e6a: 4b88 ldr r3, [pc, #544] ; (806a08c ) 8069e6c: 2200 movs r2, #0 8069e6e: 601a str r2, [r3, #0] bll = true; 8069e70: 2301 movs r3, #1 8069e72: f887 343f strb.w r3, [r7, #1087] ; 0x43f } blink++; 8069e76: 4b86 ldr r3, [pc, #536] ; (806a090 ) 8069e78: 681b ldr r3, [r3, #0] 8069e7a: 3301 adds r3, #1 8069e7c: 4a84 ldr r2, [pc, #528] ; (806a090 ) 8069e7e: 6013 str r3, [r2, #0] if(blink > 8) 8069e80: 4b83 ldr r3, [pc, #524] ; (806a090 ) 8069e82: 681b ldr r3, [r3, #0] 8069e84: 2b08 cmp r3, #8 8069e86: d905 bls.n 8069e94 { blink = 0; 8069e88: 4b81 ldr r3, [pc, #516] ; (806a090 ) 8069e8a: 2200 movs r2, #0 8069e8c: 601a str r2, [r3, #0] bl = true; 8069e8e: 2301 movs r3, #1 8069e90: f887 3453 strb.w r3, [r7, #1107] ; 0x453 } Redrawing = true; 8069e94: 4b7f ldr r3, [pc, #508] ; (806a094 ) 8069e96: 2201 movs r2, #1 8069e98: 701a strb r2, [r3, #0] BSP_LCD_Clear(LCD_COLOR_CLEAR); 8069e9a: 487f ldr r0, [pc, #508] ; (806a098 ) 8069e9c: f7eb fa10 bl 80552c0 //*************************************************** ÎÒÐÈÑÎÂÊÀ ÑÒÐÎÊÈ ÑÒÀÒÓÑÀ (ÂÅÐÕ ÄÈÑÏËÅß Ñ ×ÀÑÀÌÈ È ÁÀÒÀÐÅÅÉ) **************************************************************// if(Initialized) { 8069ea0: 4b7e ldr r3, [pc, #504] ; (806a09c ) 8069ea2: 781b ldrb r3, [r3, #0] 8069ea4: b2db uxtb r3, r3 8069ea6: 2b00 cmp r3, #0 8069ea8: d005 beq.n 8069eb6 DrawImage(&bmBLE, 308-16, 4); //todo 8069eaa: 2204 movs r2, #4 8069eac: f44f 7192 mov.w r1, #292 ; 0x124 8069eb0: 487b ldr r0, [pc, #492] ; (806a0a0 ) 8069eb2: f7ec f89f bl 8055ff4 LCD_SetColors(LCD_COLOR_DARKCYAN, LCD_COLOR_BLACK); BSP_LCD_DisplayStringAt(165, 17+4, "ÏÅÐÅÃÐÓÇÊÀ", CENTER_MODE);*/ DrawTime(); 8069eb6: f7ff fdf3 bl 8069aa0 DrawBat(); 8069eba: f7ff feb5 bl 8069c28 DrawTemperature(); 8069ebe: f7ff fe5b bl 8069b78 if(CardState & MSD_PRESENT) 8069ec2: 4b78 ldr r3, [pc, #480] ; (806a0a4 ) 8069ec4: 781b ldrb r3, [r3, #0] 8069ec6: b2db uxtb r3, r3 8069ec8: f003 0301 and.w r3, r3, #1 8069ecc: 2b00 cmp r3, #0 8069ece: d014 beq.n 8069efa { xz = 45; 8069ed0: 232d movs r3, #45 ; 0x2d 8069ed2: f8a7 346e strh.w r3, [r7, #1134] ; 0x46e DrawImage(&bmSD_Card, 5, 3+4); 8069ed6: 2207 movs r2, #7 8069ed8: 2105 movs r1, #5 8069eda: 4873 ldr r0, [pc, #460] ; (806a0a8 ) 8069edc: f7ec f88a bl 8055ff4 if((CardState == MSD_READY) && (menu != LINK_PC)) { 8069ee0: 4b70 ldr r3, [pc, #448] ; (806a0a4 ) 8069ee2: 781b ldrb r3, [r3, #0] 8069ee4: b2db uxtb r3, r3 8069ee6: 2b03 cmp r3, #3 8069ee8: d10a bne.n 8069f00 8069eea: 4b67 ldr r3, [pc, #412] ; (806a088 ) 8069eec: 781b ldrb r3, [r3, #0] 8069eee: b2db uxtb r3, r3 8069ef0: 2b42 cmp r3, #66 ; 0x42 8069ef2: d005 beq.n 8069f00 DrawSizeSD(); 8069ef4: f048 fb34 bl 80b2560 8069ef8: e002 b.n 8069f00 } } else xz = 5; 8069efa: 2305 movs r3, #5 8069efc: f8a7 346e strh.w r3, [r7, #1134] ; 0x46e if((menu == MAIN_ROLL) || (menu == PARAM_ROLL) || (menu == ROLL_RESULTS) || (menu == VIEW_PORTRET)) 8069f00: 4b61 ldr r3, [pc, #388] ; (806a088 ) 8069f02: 781b ldrb r3, [r3, #0] 8069f04: b2db uxtb r3, r3 8069f06: 2b24 cmp r3, #36 ; 0x24 8069f08: d00e beq.n 8069f28 8069f0a: 4b5f ldr r3, [pc, #380] ; (806a088 ) 8069f0c: 781b ldrb r3, [r3, #0] 8069f0e: b2db uxtb r3, r3 8069f10: 2b0d cmp r3, #13 8069f12: d009 beq.n 8069f28 8069f14: 4b5c ldr r3, [pc, #368] ; (806a088 ) 8069f16: 781b ldrb r3, [r3, #0] 8069f18: b2db uxtb r3, r3 8069f1a: 2b27 cmp r3, #39 ; 0x27 8069f1c: d004 beq.n 8069f28 8069f1e: 4b5a ldr r3, [pc, #360] ; (806a088 ) 8069f20: 781b ldrb r3, [r3, #0] 8069f22: b2db uxtb r3, r3 8069f24: 2b28 cmp r3, #40 ; 0x28 8069f26: d107 bne.n 8069f38 { DrawImage(&bmBRNico, xz, 1+4); 8069f28: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8069f2c: 2205 movs r2, #5 8069f2e: 4619 mov r1, r3 8069f30: 485e ldr r0, [pc, #376] ; (806a0ac ) 8069f32: f7ec f85f bl 8055ff4 8069f36: e0dc b.n 806a0f2 } else if((menu == MAIN) || (menu == MAIN_FRAN) || (menu == PARAM_VIB)) 8069f38: 4b53 ldr r3, [pc, #332] ; (806a088 ) 8069f3a: 781b ldrb r3, [r3, #0] 8069f3c: b2db uxtb r3, r3 8069f3e: 2b00 cmp r3, #0 8069f40: d009 beq.n 8069f56 8069f42: 4b51 ldr r3, [pc, #324] ; (806a088 ) 8069f44: 781b ldrb r3, [r3, #0] 8069f46: b2db uxtb r3, r3 8069f48: 2b1f cmp r3, #31 8069f4a: d004 beq.n 8069f56 8069f4c: 4b4e ldr r3, [pc, #312] ; (806a088 ) 8069f4e: 781b ldrb r3, [r3, #0] 8069f50: b2db uxtb r3, r3 8069f52: 2b06 cmp r3, #6 8069f54: d107 bne.n 8069f66 { DrawImage(&bmVIB, xz, 1+4); 8069f56: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8069f5a: 2205 movs r2, #5 8069f5c: 4619 mov r1, r3 8069f5e: 4854 ldr r0, [pc, #336] ; (806a0b0 ) 8069f60: f7ec f848 bl 8055ff4 8069f64: e0c5 b.n 806a0f2 } else if((menu == MAIN_OSC) || (menu == PARAM_OSC)) 8069f66: 4b48 ldr r3, [pc, #288] ; (806a088 ) 8069f68: 781b ldrb r3, [r3, #0] 8069f6a: b2db uxtb r3, r3 8069f6c: 2b1d cmp r3, #29 8069f6e: d004 beq.n 8069f7a 8069f70: 4b45 ldr r3, [pc, #276] ; (806a088 ) 8069f72: 781b ldrb r3, [r3, #0] 8069f74: b2db uxtb r3, r3 8069f76: 2b08 cmp r3, #8 8069f78: d107 bne.n 8069f8a { DrawImage(&bmOSC, xz, 1+4); 8069f7a: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8069f7e: 2205 movs r2, #5 8069f80: 4619 mov r1, r3 8069f82: 484c ldr r0, [pc, #304] ; (806a0b4 ) 8069f84: f7ec f836 bl 8055ff4 8069f88: e0b3 b.n 806a0f2 } else if(menu == PARAM_SPEC) 8069f8a: 4b3f ldr r3, [pc, #252] ; (806a088 ) 8069f8c: 781b ldrb r3, [r3, #0] 8069f8e: b2db uxtb r3, r3 8069f90: 2b07 cmp r3, #7 8069f92: d131 bne.n 8069ff8 { switch(pardata.OPTIONS & maskFFT) 8069f94: 4b48 ldr r3, [pc, #288] ; (806a0b8 ) 8069f96: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069f9a: f003 0330 and.w r3, r3, #48 ; 0x30 8069f9e: 2b10 cmp r3, #16 8069fa0: d011 beq.n 8069fc6 8069fa2: 2b10 cmp r3, #16 8069fa4: d802 bhi.n 8069fac 8069fa6: 2b00 cmp r3, #0 8069fa8: d005 beq.n 8069fb6 8069faa: e0a2 b.n 806a0f2 8069fac: 2b20 cmp r3, #32 8069fae: d012 beq.n 8069fd6 8069fb0: 2b30 cmp r3, #48 ; 0x30 8069fb2: d018 beq.n 8069fe6 8069fb4: e09d b.n 806a0f2 { case fft: DrawImage(&bmFFT, xz, 1+4); break; 8069fb6: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8069fba: 2205 movs r2, #5 8069fbc: 4619 mov r1, r3 8069fbe: 483f ldr r0, [pc, #252] ; (806a0bc ) 8069fc0: f7ec f818 bl 8055ff4 8069fc4: e095 b.n 806a0f2 case env: DrawImage(&bmENV, xz, 1+4); break; 8069fc6: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8069fca: 2205 movs r2, #5 8069fcc: 4619 mov r1, r3 8069fce: 483c ldr r0, [pc, #240] ; (806a0c0 ) 8069fd0: f7ec f810 bl 8055ff4 8069fd4: e08d b.n 806a0f2 case okt: DrawImage(&bmOKT, xz, 1+4); break; 8069fd6: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8069fda: 2205 movs r2, #5 8069fdc: 4619 mov r1, r3 8069fde: 4839 ldr r0, [pc, #228] ; (806a0c4 ) 8069fe0: f7ec f808 bl 8055ff4 8069fe4: e085 b.n 806a0f2 case third: DrawImage(&bmTHIRD, xz, 1+4); break; 8069fe6: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8069fea: 2205 movs r2, #5 8069fec: 4619 mov r1, r3 8069fee: 4836 ldr r0, [pc, #216] ; (806a0c8 ) 8069ff0: f7ec f800 bl 8055ff4 8069ff4: bf00 nop 8069ff6: e07c b.n 806a0f2 } } else if(menu == MAIN_SPEC) 8069ff8: 4b23 ldr r3, [pc, #140] ; (806a088 ) 8069ffa: 781b ldrb r3, [r3, #0] 8069ffc: b2db uxtb r3, r3 8069ffe: 2b1c cmp r3, #28 806a000: d107 bne.n 806a012 { DrawImage(&bmFFT, xz, 1+4); 806a002: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 806a006: 2205 movs r2, #5 806a008: 4619 mov r1, r3 806a00a: 482c ldr r0, [pc, #176] ; (806a0bc ) 806a00c: f7eb fff2 bl 8055ff4 806a010: e06f b.n 806a0f2 } else if(menu == MAIN_SPEC_OGIB) 806a012: 4b1d ldr r3, [pc, #116] ; (806a088 ) 806a014: 781b ldrb r3, [r3, #0] 806a016: b2db uxtb r3, r3 806a018: 2b21 cmp r3, #33 ; 0x21 806a01a: d107 bne.n 806a02c { DrawImage(&bmENV, xz, 1+4); 806a01c: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 806a020: 2205 movs r2, #5 806a022: 4619 mov r1, r3 806a024: 4826 ldr r0, [pc, #152] ; (806a0c0 ) 806a026: f7eb ffe5 bl 8055ff4 806a02a: e062 b.n 806a0f2 } else if(menu == MAIN_SPEC_OKT) 806a02c: 4b16 ldr r3, [pc, #88] ; (806a088 ) 806a02e: 781b ldrb r3, [r3, #0] 806a030: b2db uxtb r3, r3 806a032: 2b22 cmp r3, #34 ; 0x22 806a034: d107 bne.n 806a046 { DrawImage(&bmOKT, xz, 1+4); 806a036: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 806a03a: 2205 movs r2, #5 806a03c: 4619 mov r1, r3 806a03e: 4821 ldr r0, [pc, #132] ; (806a0c4 ) 806a040: f7eb ffd8 bl 8055ff4 806a044: e055 b.n 806a0f2 } else if(menu == MAIN_SPEC_THIRD) 806a046: 4b10 ldr r3, [pc, #64] ; (806a088 ) 806a048: 781b ldrb r3, [r3, #0] 806a04a: b2db uxtb r3, r3 806a04c: 2b23 cmp r3, #35 ; 0x23 806a04e: d107 bne.n 806a060 { DrawImage(&bmTHIRD, xz, 1+4); 806a050: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 806a054: 2205 movs r2, #5 806a056: 4619 mov r1, r3 806a058: 481b ldr r0, [pc, #108] ; (806a0c8 ) 806a05a: f7eb ffcb bl 8055ff4 806a05e: e048 b.n 806a0f2 } else if((menu == MAIN_WAVE) || (menu == PARAM_WAVE)) 806a060: 4b09 ldr r3, [pc, #36] ; (806a088 ) 806a062: 781b ldrb r3, [r3, #0] 806a064: b2db uxtb r3, r3 806a066: 2b1e cmp r3, #30 806a068: d004 beq.n 806a074 806a06a: 4b07 ldr r3, [pc, #28] ; (806a088 ) 806a06c: 781b ldrb r3, [r3, #0] 806a06e: b2db uxtb r3, r3 806a070: 2b0a cmp r3, #10 806a072: d12d bne.n 806a0d0 { DrawImage(&bmREC, xz, 1+4); 806a074: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 806a078: 2205 movs r2, #5 806a07a: 4619 mov r1, r3 806a07c: 4813 ldr r0, [pc, #76] ; (806a0cc ) 806a07e: f7eb ffb9 bl 8055ff4 806a082: e036 b.n 806a0f2 806a084: 20020d9f .word 0x20020d9f 806a088: 20020fc5 .word 0x20020fc5 806a08c: 200216ac .word 0x200216ac 806a090: 200216b0 .word 0x200216b0 806a094: 20021688 .word 0x20021688 806a098: ff0a0f1f .word 0xff0a0f1f 806a09c: 20020f5d .word 0x20020f5d 806a0a0: 08117ebc .word 0x08117ebc 806a0a4: 2002169c .word 0x2002169c 806a0a8: 0814e940 .word 0x0814e940 806a0ac: 081184e8 .word 0x081184e8 806a0b0: 08163e28 .word 0x08163e28 806a0b4: 08144e88 .word 0x08144e88 806a0b8: 20023eb8 .word 0x20023eb8 806a0bc: 0811a130 .word 0x0811a130 806a0c0: 08119b04 .word 0x08119b04 806a0c4: 081431ec .word 0x081431ec 806a0c8: 081505dc .word 0x081505dc 806a0cc: 0814b4a0 .word 0x0814b4a0 } else if((menu == MAIN_DIAGN) || (menu == PARAM_DIAGN)) 806a0d0: 4bcd ldr r3, [pc, #820] ; (806a408 ) 806a0d2: 781b ldrb r3, [r3, #0] 806a0d4: b2db uxtb r3, r3 806a0d6: 2b26 cmp r3, #38 ; 0x26 806a0d8: d004 beq.n 806a0e4 806a0da: 4bcb ldr r3, [pc, #812] ; (806a408 ) 806a0dc: 781b ldrb r3, [r3, #0] 806a0de: b2db uxtb r3, r3 806a0e0: 2b0f cmp r3, #15 806a0e2: d106 bne.n 806a0f2 { DrawImage(&bmVCTico, xz, 1+4); 806a0e4: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 806a0e8: 2205 movs r2, #5 806a0ea: 4619 mov r1, r3 806a0ec: 48c7 ldr r0, [pc, #796] ; (806a40c ) 806a0ee: f7eb ff81 bl 8055ff4 } LCD_SetColors(LCD_COLOR_DARKCYAN, LCD_COLOR_BLACK); 806a0f2: 49c7 ldr r1, [pc, #796] ; (806a410 ) 806a0f4: 48c7 ldr r0, [pc, #796] ; (806a414 ) 806a0f6: f7eb f889 bl 805520c BSP_LCD_SetFont(&Font12); 806a0fa: 48c7 ldr r0, [pc, #796] ; (806a418 ) 806a0fc: f7eb f8c2 bl 8055284 if((menu == MAIN) || (menu >= MAIN_SPEC && menu <= MAIN_DIAGN)) 806a100: 4bc1 ldr r3, [pc, #772] ; (806a408 ) 806a102: 781b ldrb r3, [r3, #0] 806a104: b2db uxtb r3, r3 806a106: 2b00 cmp r3, #0 806a108: d009 beq.n 806a11e 806a10a: 4bbf ldr r3, [pc, #764] ; (806a408 ) 806a10c: 781b ldrb r3, [r3, #0] 806a10e: b2db uxtb r3, r3 806a110: 2b1b cmp r3, #27 806a112: d928 bls.n 806a166 806a114: 4bbc ldr r3, [pc, #752] ; (806a408 ) 806a116: 781b ldrb r3, [r3, #0] 806a118: b2db uxtb r3, r3 806a11a: 2b26 cmp r3, #38 ; 0x26 806a11c: d823 bhi.n 806a166 { if((OVERDRIVE) && (bl) && (measuring)) 806a11e: 4bbf ldr r3, [pc, #764] ; (806a41c ) 806a120: 781b ldrb r3, [r3, #0] 806a122: b2db uxtb r3, r3 806a124: 2b00 cmp r3, #0 806a126: d01e beq.n 806a166 806a128: f897 3453 ldrb.w r3, [r7, #1107] ; 0x453 806a12c: 2b00 cmp r3, #0 806a12e: d01a beq.n 806a166 806a130: 4bbb ldr r3, [pc, #748] ; (806a420 ) 806a132: 781b ldrb r3, [r3, #0] 806a134: b2db uxtb r3, r3 806a136: 2b00 cmp r3, #0 806a138: d015 beq.n 806a166 { LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 806a13a: 49b5 ldr r1, [pc, #724] ; (806a410 ) 806a13c: 48b9 ldr r0, [pc, #740] ; (806a424 ) 806a13e: f7eb f865 bl 805520c if(pardata.LANG == RUS) 806a142: 4bb9 ldr r3, [pc, #740] ; (806a428 ) 806a144: 7b1b ldrb r3, [r3, #12] 806a146: b2db uxtb r3, r3 806a148: 2b00 cmp r3, #0 806a14a: d106 bne.n 806a15a BSP_LCD_DisplayStringAt(165, 17+4, "ÏÅÐÅÃÐÓÇÊÀ", CENTER_MODE); 806a14c: 2301 movs r3, #1 806a14e: 4ab7 ldr r2, [pc, #732] ; (806a42c ) 806a150: 2115 movs r1, #21 806a152: 20a5 movs r0, #165 ; 0xa5 806a154: f7eb f920 bl 8055398 806a158: e005 b.n 806a166 else BSP_LCD_DisplayStringAt(165, 17+4, "OVERLOAD", CENTER_MODE); 806a15a: 2301 movs r3, #1 806a15c: 4ab4 ldr r2, [pc, #720] ; (806a430 ) 806a15e: 2115 movs r1, #21 806a160: 20a5 movs r0, #165 ; 0xa5 806a162: f7eb f919 bl 8055398 } } //==========================================================================================================================// //--------------------------------------------------------------------------------------------------------------------------// //==========================================================================================================================// switch(menu) 806a166: 4ba8 ldr r3, [pc, #672] ; (806a408 ) 806a168: 781b ldrb r3, [r3, #0] 806a16a: b2db uxtb r3, r3 806a16c: 2b48 cmp r3, #72 ; 0x48 806a16e: f22f 805d bhi.w 809922c 806a172: a201 add r2, pc, #4 ; (adr r2, 806a178 ) 806a174: f852 f023 ldr.w pc, [r2, r3, lsl #2] 806a178: 08073c51 .word 0x08073c51 806a17c: 08076549 .word 0x08076549 806a180: 0807737d .word 0x0807737d 806a184: 0809724f .word 0x0809724f 806a188: 0806a29d .word 0x0806a29d 806a18c: 0809922d .word 0x0809922d 806a190: 0807b1b5 .word 0x0807b1b5 806a194: 080845ef .word 0x080845ef 806a198: 0808e5f5 .word 0x0808e5f5 806a19c: 0809922d .word 0x0809922d 806a1a0: 080910dd .word 0x080910dd 806a1a4: 0809922d .word 0x0809922d 806a1a8: 0809922d .word 0x0809922d 806a1ac: 0808066d .word 0x0808066d 806a1b0: 0807f901 .word 0x0807f901 806a1b4: 0808a633 .word 0x0808a633 806a1b8: 0808b2b9 .word 0x0808b2b9 806a1bc: 0808b74f .word 0x0808b74f 806a1c0: 08077bcd .word 0x08077bcd 806a1c4: 0809922d .word 0x0809922d 806a1c8: 08077243 .word 0x08077243 806a1cc: 08095023 .word 0x08095023 806a1d0: 080957a9 .word 0x080957a9 806a1d4: 08095e79 .word 0x08095e79 806a1d8: 0807a2d1 .word 0x0807a2d1 806a1dc: 0809922d .word 0x0809922d 806a1e0: 0809922d .word 0x0809922d 806a1e4: 0809922d .word 0x0809922d 806a1e8: 08074679 .word 0x08074679 806a1ec: 08074ac1 .word 0x08074ac1 806a1f0: 08074bcf .word 0x08074bcf 806a1f4: 08073c51 .word 0x08073c51 806a1f8: 080760e3 .word 0x080760e3 806a1fc: 08074679 .word 0x08074679 806a200: 080747d5 .word 0x080747d5 806a204: 08074969 .word 0x08074969 806a208: 080743b5 .word 0x080743b5 806a20c: 0807580d .word 0x0807580d 806a210: 08073637 .word 0x08073637 806a214: 08074535 .word 0x08074535 806a218: 080744f7 .word 0x080744f7 806a21c: 08093f87 .word 0x08093f87 806a220: 08094673 .word 0x08094673 806a224: 08094e1d .word 0x08094e1d 806a228: 08094e1d .word 0x08094e1d 806a22c: 08094e1d .word 0x08094e1d 806a230: 0809922d .word 0x0809922d 806a234: 08094e1d .word 0x08094e1d 806a238: 08094e1d .word 0x08094e1d 806a23c: 08094e1d .word 0x08094e1d 806a240: 08094e1d .word 0x08094e1d 806a244: 08094e1d .word 0x08094e1d 806a248: 08097769 .word 0x08097769 806a24c: 08097b33 .word 0x08097b33 806a250: 08097d69 .word 0x08097d69 806a254: 08097f49 .word 0x08097f49 806a258: 08098189 .word 0x08098189 806a25c: 080983b9 .word 0x080983b9 806a260: 08098599 .word 0x08098599 806a264: 080987d5 .word 0x080987d5 806a268: 08098a05 .word 0x08098a05 806a26c: 08098be1 .word 0x08098be1 806a270: 08098e1b .word 0x08098e1b 806a274: 08098f01 .word 0x08098f01 806a278: 08098fe7 .word 0x08098fe7 806a27c: 0809911f .word 0x0809911f 806a280: 08099185 .word 0x08099185 806a284: 080991c5 .word 0x080991c5 806a288: 0809922d .word 0x0809922d 806a28c: 0806bbab .word 0x0806bbab 806a290: 0806bbab .word 0x0806bbab 806a294: 0806bbab .word 0x0806bbab 806a298: 0806bb3b .word 0x0806bb3b { case ROUTE_MAP: LCD_SetColors(LCD_COLOR_DARKCYAN, LCD_COLOR_BLACK); 806a29c: 495c ldr r1, [pc, #368] ; (806a410 ) 806a29e: 485d ldr r0, [pc, #372] ; (806a414 ) 806a2a0: f7ea ffb4 bl 805520c BSP_LCD_SetFont(&Font12); 806a2a4: 485c ldr r0, [pc, #368] ; (806a418 ) 806a2a6: f7ea ffed bl 8055284 BSP_LCD_DisplayStringAt(315, 42, RouteName, RIGHT_MODE); 806a2aa: 2302 movs r3, #2 806a2ac: 4a61 ldr r2, [pc, #388] ; (806a434 ) 806a2ae: 212a movs r1, #42 ; 0x2a 806a2b0: f240 103b movw r0, #315 ; 0x13b 806a2b4: f7eb f870 bl 8055398 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); BSP_LCD_DisplayStringAt(5, 54, "[OK]", RIGHT_MODE); }*/ if(RoutePath[0]) 806a2b8: 4b5f ldr r3, [pc, #380] ; (806a438 ) 806a2ba: 781b ldrb r3, [r3, #0] 806a2bc: 2b00 cmp r3, #0 806a2be: f02e 8788 beq.w 80991d2 { k = 0; 806a2c2: 2300 movs r3, #0 806a2c4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 l = strlen(RoutePath); 806a2c8: 485b ldr r0, [pc, #364] ; (806a438 ) 806a2ca: f7b6 f823 bl 8020314 806a2ce: 4603 mov r3, r0 806a2d0: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < l; i++) 806a2d4: 2300 movs r3, #0 806a2d6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a2da: e183 b.n 806a5e4 { if(RoutePath[i] == ';') 806a2dc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a2e0: 4a55 ldr r2, [pc, #340] ; (806a438 ) 806a2e2: 5cd3 ldrb r3, [r2, r3] 806a2e4: 2b3b cmp r3, #59 ; 0x3b 806a2e6: f040 80c8 bne.w 806a47a { if(k == 0) 806a2ea: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806a2ee: 2b00 cmp r3, #0 806a2f0: d10a bne.n 806a308 { k++; 806a2f2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806a2f6: 3301 adds r3, #1 806a2f8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 j = i + 1; 806a2fc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a300: 3301 adds r3, #1 806a302: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806a306: e168 b.n 806a5da } else if(k == 1) 806a308: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806a30c: 2b01 cmp r3, #1 806a30e: f040 80a3 bne.w 806a458 { memset(str, 0, sizeof(str)); 806a312: f507 733b add.w r3, r7, #748 ; 0x2ec 806a316: 223c movs r2, #60 ; 0x3c 806a318: 2100 movs r1, #0 806a31a: 4618 mov r0, r3 806a31c: f067 fe42 bl 80d1fa4 memset(str1, 0, sizeof(str1)); 806a320: f507 73f6 add.w r3, r7, #492 ; 0x1ec 806a324: f44f 7280 mov.w r2, #256 ; 0x100 806a328: 2100 movs r1, #0 806a32a: 4618 mov r0, r3 806a32c: f067 fe3a bl 80d1fa4 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 806a330: 4937 ldr r1, [pc, #220] ; (806a410 ) 806a332: 4842 ldr r0, [pc, #264] ; (806a43c ) 806a334: f7ea ff6a bl 805520c if(pardata.LANG == ENG) 806a338: 4b3b ldr r3, [pc, #236] ; (806a428 ) 806a33a: 7b1b ldrb r3, [r3, #12] 806a33c: b2db uxtb r3, r3 806a33e: 2b01 cmp r3, #1 806a340: d106 bne.n 806a350 strcpy(str, "POINT: '"); 806a342: f507 733b add.w r3, r7, #748 ; 0x2ec 806a346: 4a3e ldr r2, [pc, #248] ; (806a440 ) 806a348: ca07 ldmia r2, {r0, r1, r2} 806a34a: c303 stmia r3!, {r0, r1} 806a34c: 701a strb r2, [r3, #0] 806a34e: e005 b.n 806a35c else strcpy(str, "ÒÎ×ÊÀ: '"); 806a350: f507 733b add.w r3, r7, #748 ; 0x2ec 806a354: 4a3b ldr r2, [pc, #236] ; (806a444 ) 806a356: ca07 ldmia r2, {r0, r1, r2} 806a358: c303 stmia r3!, {r0, r1} 806a35a: 701a strb r2, [r3, #0] //memcpy(str1, RoutePath, i); //Txxxxx memcpy(str1, &RoutePath[j], i - j); //Txxxxx 806a35c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806a360: 4a35 ldr r2, [pc, #212] ; (806a438 ) 806a362: 1899 adds r1, r3, r2 806a364: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a368: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806a36c: 1ad2 subs r2, r2, r3 806a36e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 806a372: 4618 mov r0, r3 806a374: f067 fe0b bl 80d1f8e RoutePointID = atoi(&str1[1]); 806a378: f507 73f6 add.w r3, r7, #492 ; 0x1ec 806a37c: 3301 adds r3, #1 806a37e: 4618 mov r0, r3 806a380: f067 fd9e bl 80d1ec0 806a384: 4603 mov r3, r0 806a386: 461a mov r2, r3 806a388: 4b2f ldr r3, [pc, #188] ; (806a448 ) 806a38a: 601a str r2, [r3, #0] if(RouteMeas(RouteIndex)) 806a38c: 4b2f ldr r3, [pc, #188] ; (806a44c ) 806a38e: 681a ldr r2, [r3, #0] 806a390: 4b2f ldr r3, [pc, #188] ; (806a450 ) 806a392: 4413 add r3, r2 806a394: 781b ldrb r3, [r3, #0] 806a396: 2b00 cmp r3, #0 806a398: d005 beq.n 806a3a6 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806a39a: 491d ldr r1, [pc, #116] ; (806a410 ) 806a39c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806a3a0: f7ea ff34 bl 805520c 806a3a4: e003 b.n 806a3ae else LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 806a3a6: 491a ldr r1, [pc, #104] ; (806a410 ) 806a3a8: 4824 ldr r0, [pc, #144] ; (806a43c ) 806a3aa: f7ea ff2f bl 805520c strcat(str, str1); 806a3ae: f507 72f6 add.w r2, r7, #492 ; 0x1ec 806a3b2: f507 733b add.w r3, r7, #748 ; 0x2ec 806a3b6: 4611 mov r1, r2 806a3b8: 4618 mov r0, r3 806a3ba: f067 fef3 bl 80d21a4 strcat(str, "'"); 806a3be: f507 733b add.w r3, r7, #748 ; 0x2ec 806a3c2: 4618 mov r0, r3 806a3c4: f7b5 ffa6 bl 8020314 806a3c8: 4603 mov r3, r0 806a3ca: 461a mov r2, r3 806a3cc: f507 733b add.w r3, r7, #748 ; 0x2ec 806a3d0: 4413 add r3, r2 806a3d2: 4920 ldr r1, [pc, #128] ; (806a454 ) 806a3d4: 461a mov r2, r3 806a3d6: 460b mov r3, r1 806a3d8: 881b ldrh r3, [r3, #0] 806a3da: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(5, 42, str, LEFT_MODE); 806a3dc: f507 723b add.w r2, r7, #748 ; 0x2ec 806a3e0: 2303 movs r3, #3 806a3e2: 212a movs r1, #42 ; 0x2a 806a3e4: 2005 movs r0, #5 806a3e6: f7ea ffd7 bl 8055398 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 806a3ea: 4909 ldr r1, [pc, #36] ; (806a410 ) 806a3ec: 4813 ldr r0, [pc, #76] ; (806a43c ) 806a3ee: f7ea ff0d bl 805520c j = i + 1; 806a3f2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a3f6: 3301 adds r3, #1 806a3f8: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc k++; 806a3fc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806a400: 3301 adds r3, #1 806a402: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 806a406: e0e8 b.n 806a5da 806a408: 20020fc5 .word 0x20020fc5 806a40c: 08150df4 .word 0x08150df4 806a410: ff0a0f1f .word 0xff0a0f1f 806a414: ff008080 .word 0xff008080 806a418: 20020038 .word 0x20020038 806a41c: 20021581 .word 0x20021581 806a420: 20020dcf .word 0x20020dcf 806a424: ffff0000 .word 0xffff0000 806a428: 20023eb8 .word 0x20023eb8 806a42c: 080d625c .word 0x080d625c 806a430: 080d6268 .word 0x080d6268 806a434: 20022678 .word 0x20022678 806a438: 20022c38 .word 0x20022c38 806a43c: ffd3d3d3 .word 0xffd3d3d3 806a440: 080d6274 .word 0x080d6274 806a444: 080d6280 .word 0x080d6280 806a448: 20020034 .word 0x20020034 806a44c: 20020fb8 .word 0x20020fb8 806a450: 64100000 .word 0x64100000 806a454: 080d628c .word 0x080d628c } else { if(i != j) 806a458: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a45c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806a460: 429a cmp r2, r3 806a462: d004 beq.n 806a46e else memcpy(str, &RoutePath[j], i - j); strcat(str, "|"); BSP_LCD_DisplayStringAt(k*7 - 2, 60 + k*12, str, LEFT_MODE);*/ k++; 806a464: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806a468: 3301 adds r3, #1 806a46a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 } j = i + 1; 806a46e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a472: 3301 adds r3, #1 806a474: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806a478: e0af b.n 806a5da } } else { if(i == (l - 1)) //åñëè äîøëè äî êîíöà òî ýòî êîììåíòàðèé (åñëè åñòü) 806a47a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a47e: 1e5a subs r2, r3, #1 806a480: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a484: 429a cmp r2, r3 806a486: f040 80a8 bne.w 806a5da { if(RoutePath[i - 1] != ';') 806a48a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a48e: 3b01 subs r3, #1 806a490: 4a4b ldr r2, [pc, #300] ; (806a5c0 ) 806a492: 5cd3 ldrb r3, [r2, r3] 806a494: 2b3b cmp r3, #59 ; 0x3b 806a496: f000 80a0 beq.w 806a5da { memset(str, 0, sizeof(str)); 806a49a: f507 733b add.w r3, r7, #748 ; 0x2ec 806a49e: 223c movs r2, #60 ; 0x3c 806a4a0: 2100 movs r1, #0 806a4a2: 4618 mov r0, r3 806a4a4: f067 fd7e bl 80d1fa4 memset(str1, 0, sizeof(str1)); 806a4a8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 806a4ac: f44f 7280 mov.w r2, #256 ; 0x100 806a4b0: 2100 movs r1, #0 806a4b2: 4618 mov r0, r3 806a4b4: f067 fd76 bl 80d1fa4 LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); BSP_LCD_DisplayStringAt(160, 60, str, CENTER_MODE);*/ // strcpy(str1, "'"); memcpy(&str1[0], &RoutePath[j], i - j + 1); 806a4b8: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806a4bc: 4a40 ldr r2, [pc, #256] ; (806a5c0 ) 806a4be: 1899 adds r1, r3, r2 806a4c0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a4c4: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806a4c8: 1ad3 subs r3, r2, r3 806a4ca: 1c5a adds r2, r3, #1 806a4cc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 806a4d0: 4618 mov r0, r3 806a4d2: f067 fd5c bl 80d1f8e x = strlen(str1); 806a4d6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 806a4da: 4618 mov r0, r3 806a4dc: f7b5 ff1a bl 8020314 806a4e0: f8c7 0468 str.w r0, [r7, #1128] ; 0x468 LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 806a4e4: 4937 ldr r1, [pc, #220] ; (806a5c4 ) 806a4e6: 4838 ldr r0, [pc, #224] ; (806a5c8 ) 806a4e8: f7ea fe90 bl 805520c if(x <= 40) 806a4ec: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806a4f0: 2b28 cmp r3, #40 ; 0x28 806a4f2: d807 bhi.n 806a504 { BSP_LCD_DisplayStringAt(4, 60, str1, LEFT_MODE); 806a4f4: f507 72f6 add.w r2, r7, #492 ; 0x1ec 806a4f8: 2303 movs r3, #3 806a4fa: 213c movs r1, #60 ; 0x3c 806a4fc: 2004 movs r0, #4 806a4fe: f7ea ff4b bl 8055398 806a502: e06a b.n 806a5da } else { // nstr = x / 40; // laststr = x % 40; if(x > 270) { 806a504: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806a508: f5b3 7f87 cmp.w r3, #270 ; 0x10e 806a50c: d903 bls.n 806a516 x = 270; 806a50e: f44f 7387 mov.w r3, #270 ; 0x10e 806a512: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 } y = 0; 806a516: 2300 movs r3, #0 806a518: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 r = 0; 806a51c: 2300 movs r3, #0 806a51e: f8c7 33f0 str.w r3, [r7, #1008] ; 0x3f0 while(x > 0) 806a522: e056 b.n 806a5d2 { memset(str, 0, sizeof(str)); 806a524: f507 733b add.w r3, r7, #748 ; 0x2ec 806a528: 223c movs r2, #60 ; 0x3c 806a52a: 2100 movs r1, #0 806a52c: 4618 mov r0, r3 806a52e: f067 fd39 bl 80d1fa4 if(x >= 45) 806a532: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806a536: 2b2c cmp r3, #44 ; 0x2c 806a538: d910 bls.n 806a55c { memcpy(str, &str1[r], 45); 806a53a: f8d7 33f0 ldr.w r3, [r7, #1008] ; 0x3f0 806a53e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 806a542: 18d1 adds r1, r2, r3 806a544: f507 733b add.w r3, r7, #748 ; 0x2ec 806a548: 222d movs r2, #45 ; 0x2d 806a54a: 4618 mov r0, r3 806a54c: f067 fd1f bl 80d1f8e r += 45; 806a550: f8d7 33f0 ldr.w r3, [r7, #1008] ; 0x3f0 806a554: 332d adds r3, #45 ; 0x2d 806a556: f8c7 33f0 str.w r3, [r7, #1008] ; 0x3f0 806a55a: e012 b.n 806a582 } else { memcpy(str, &str1[r], x); 806a55c: f8d7 33f0 ldr.w r3, [r7, #1008] ; 0x3f0 806a560: f507 72f6 add.w r2, r7, #492 ; 0x1ec 806a564: 18d1 adds r1, r2, r3 806a566: f507 733b add.w r3, r7, #748 ; 0x2ec 806a56a: f8d7 2468 ldr.w r2, [r7, #1128] ; 0x468 806a56e: 4618 mov r0, r3 806a570: f067 fd0d bl 80d1f8e r += x; 806a574: f8d7 23f0 ldr.w r2, [r7, #1008] ; 0x3f0 806a578: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806a57c: 4413 add r3, r2 806a57e: f8c7 33f0 str.w r3, [r7, #1008] ; 0x3f0 } BSP_LCD_DisplayStringAt(4, 60 + y*12, str, LEFT_MODE); 806a582: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806a586: b29b uxth r3, r3 806a588: 461a mov r2, r3 806a58a: 0052 lsls r2, r2, #1 806a58c: 4413 add r3, r2 806a58e: 009b lsls r3, r3, #2 806a590: b29b uxth r3, r3 806a592: 333c adds r3, #60 ; 0x3c 806a594: b299 uxth r1, r3 806a596: f507 723b add.w r2, r7, #748 ; 0x2ec 806a59a: 2303 movs r3, #3 806a59c: 2004 movs r0, #4 806a59e: f7ea fefb bl 8055398 y++; 806a5a2: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806a5a6: 3301 adds r3, #1 806a5a8: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(x >= 45) x -= 45; 806a5ac: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806a5b0: 2b2c cmp r3, #44 ; 0x2c 806a5b2: d90b bls.n 806a5cc 806a5b4: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806a5b8: 3b2d subs r3, #45 ; 0x2d 806a5ba: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 806a5be: e008 b.n 806a5d2 806a5c0: 20022c38 .word 0x20022c38 806a5c4: ff0a0f1f .word 0xff0a0f1f 806a5c8: ffefcc95 .word 0xffefcc95 else x = 0; 806a5cc: 2300 movs r3, #0 806a5ce: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 while(x > 0) 806a5d2: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806a5d6: 2b00 cmp r3, #0 806a5d8: d1a4 bne.n 806a524 for(i = 0; i < l; i++) 806a5da: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a5de: 3301 adds r3, #1 806a5e0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a5e4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a5e8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a5ec: 429a cmp r2, r3 806a5ee: f4ff ae75 bcc.w 806a2dc } } } LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 806a5f2: 49d3 ldr r1, [pc, #844] ; (806a940 ) 806a5f4: 48d3 ldr r0, [pc, #844] ; (806a944 ) 806a5f6: f7ea fe09 bl 805520c 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); 806a5fa: 4bd3 ldr r3, [pc, #844] ; (806a948 ) 806a5fc: edd3 7a06 vldr s15, [r3, #24] 806a600: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806a604: ee67 7a87 vmul.f32 s15, s15, s14 806a608: eefc 7ae7 vcvt.u32.f32 s15, s15 806a60c: ee17 3a90 vmov r3, s15 806a610: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 806a614: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806a618: 095b lsrs r3, r3, #5 806a61a: 4acc ldr r2, [pc, #816] ; (806a94c ) 806a61c: fba2 2303 umull r2, r3, r2, r3 806a620: 09db lsrs r3, r3, #7 806a622: b2db uxtb r3, r3 806a624: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 806a628: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 806a62c: 0953 lsrs r3, r2, #5 806a62e: 49c7 ldr r1, [pc, #796] ; (806a94c ) 806a630: fba1 1303 umull r1, r3, r1, r3 806a634: 09db lsrs r3, r3, #7 806a636: 49c6 ldr r1, [pc, #792] ; (806a950 ) 806a638: fb01 f303 mul.w r3, r1, r3 806a63c: 1ad3 subs r3, r2, r3 806a63e: 4ac5 ldr r2, [pc, #788] ; (806a954 ) 806a640: fba2 2303 umull r2, r3, r2, r3 806a644: 0b5b lsrs r3, r3, #13 806a646: b2db uxtb r3, r3 806a648: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 806a64c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 806a650: 0953 lsrs r3, r2, #5 806a652: 49be ldr r1, [pc, #760] ; (806a94c ) 806a654: fba1 1303 umull r1, r3, r1, r3 806a658: 09db lsrs r3, r3, #7 806a65a: 49bd ldr r1, [pc, #756] ; (806a950 ) 806a65c: fb01 f303 mul.w r3, r1, r3 806a660: 1ad3 subs r3, r2, r3 806a662: 4abc ldr r2, [pc, #752] ; (806a954 ) 806a664: fba2 1203 umull r1, r2, r2, r3 806a668: 0b52 lsrs r2, r2, #13 806a66a: f242 7110 movw r1, #10000 ; 0x2710 806a66e: fb01 f202 mul.w r2, r1, r2 806a672: 1a9a subs r2, r3, r2 806a674: 4bb8 ldr r3, [pc, #736] ; (806a958 ) 806a676: fba3 2302 umull r2, r3, r3, r2 806a67a: 099b lsrs r3, r3, #6 806a67c: b2db uxtb r3, r3 806a67e: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 806a682: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806a686: 095a lsrs r2, r3, #5 806a688: 49b0 ldr r1, [pc, #704] ; (806a94c ) 806a68a: fba1 1202 umull r1, r2, r1, r2 806a68e: 09d2 lsrs r2, r2, #7 806a690: 49af ldr r1, [pc, #700] ; (806a950 ) 806a692: fb01 f202 mul.w r2, r1, r2 806a696: 1a9a subs r2, r3, r2 806a698: 4bae ldr r3, [pc, #696] ; (806a954 ) 806a69a: fba3 1302 umull r1, r3, r3, r2 806a69e: 0b5b lsrs r3, r3, #13 806a6a0: f242 7110 movw r1, #10000 ; 0x2710 806a6a4: fb01 f303 mul.w r3, r1, r3 806a6a8: 1ad3 subs r3, r2, r3 806a6aa: 4aab ldr r2, [pc, #684] ; (806a958 ) 806a6ac: fba2 1203 umull r1, r2, r2, r3 806a6b0: 0992 lsrs r2, r2, #6 806a6b2: f44f 717a mov.w r1, #1000 ; 0x3e8 806a6b6: fb01 f202 mul.w r2, r1, r2 806a6ba: 1a9a subs r2, r3, r2 806a6bc: 4ba7 ldr r3, [pc, #668] ; (806a95c ) 806a6be: fba3 2302 umull r2, r3, r3, r2 806a6c2: 095b lsrs r3, r3, #5 806a6c4: b2db uxtb r3, r3 806a6c6: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 806a6ca: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 806a6ce: 0953 lsrs r3, r2, #5 806a6d0: 499e ldr r1, [pc, #632] ; (806a94c ) 806a6d2: fba1 1303 umull r1, r3, r1, r3 806a6d6: 09db lsrs r3, r3, #7 806a6d8: 499d ldr r1, [pc, #628] ; (806a950 ) 806a6da: fb01 f303 mul.w r3, r1, r3 806a6de: 1ad3 subs r3, r2, r3 806a6e0: 4a9c ldr r2, [pc, #624] ; (806a954 ) 806a6e2: fba2 1203 umull r1, r2, r2, r3 806a6e6: 0b52 lsrs r2, r2, #13 806a6e8: f242 7110 movw r1, #10000 ; 0x2710 806a6ec: fb01 f202 mul.w r2, r1, r2 806a6f0: 1a9a subs r2, r3, r2 806a6f2: 4b99 ldr r3, [pc, #612] ; (806a958 ) 806a6f4: fba3 1302 umull r1, r3, r3, r2 806a6f8: 099b lsrs r3, r3, #6 806a6fa: f44f 717a mov.w r1, #1000 ; 0x3e8 806a6fe: fb01 f303 mul.w r3, r1, r3 806a702: 1ad3 subs r3, r2, r3 806a704: 4a95 ldr r2, [pc, #596] ; (806a95c ) 806a706: fba2 1203 umull r1, r2, r2, r3 806a70a: 0952 lsrs r2, r2, #5 806a70c: 2164 movs r1, #100 ; 0x64 806a70e: fb01 f202 mul.w r2, r1, r2 806a712: 1a9a subs r2, r3, r2 806a714: 4b92 ldr r3, [pc, #584] ; (806a960 ) 806a716: fba3 2302 umull r2, r3, r3, r2 806a71a: 08db lsrs r3, r3, #3 806a71c: b2db uxtb r3, r3 806a71e: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 806a722: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 806a726: 0953 lsrs r3, r2, #5 806a728: 4988 ldr r1, [pc, #544] ; (806a94c ) 806a72a: fba1 1303 umull r1, r3, r1, r3 806a72e: 09db lsrs r3, r3, #7 806a730: 4987 ldr r1, [pc, #540] ; (806a950 ) 806a732: fb01 f303 mul.w r3, r1, r3 806a736: 1ad3 subs r3, r2, r3 806a738: 4a86 ldr r2, [pc, #536] ; (806a954 ) 806a73a: fba2 1203 umull r1, r2, r2, r3 806a73e: 0b52 lsrs r2, r2, #13 806a740: f242 7110 movw r1, #10000 ; 0x2710 806a744: fb01 f202 mul.w r2, r1, r2 806a748: 1a9a subs r2, r3, r2 806a74a: 4b83 ldr r3, [pc, #524] ; (806a958 ) 806a74c: fba3 1302 umull r1, r3, r3, r2 806a750: 099b lsrs r3, r3, #6 806a752: f44f 717a mov.w r1, #1000 ; 0x3e8 806a756: fb01 f303 mul.w r3, r1, r3 806a75a: 1ad3 subs r3, r2, r3 806a75c: 4a7f ldr r2, [pc, #508] ; (806a95c ) 806a75e: fba2 1203 umull r1, r2, r2, r3 806a762: 0952 lsrs r2, r2, #5 806a764: 2164 movs r1, #100 ; 0x64 806a766: fb01 f202 mul.w r2, r1, r2 806a76a: 1a9a subs r2, r3, r2 806a76c: 4b7c ldr r3, [pc, #496] ; (806a960 ) 806a76e: fba3 1302 umull r1, r3, r3, r2 806a772: 08d9 lsrs r1, r3, #3 806a774: 460b mov r3, r1 806a776: 009b lsls r3, r3, #2 806a778: 440b add r3, r1 806a77a: 005b lsls r3, r3, #1 806a77c: 1ad1 subs r1, r2, r3 806a77e: b2cb uxtb r3, r1 806a780: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 806a784: 2300 movs r3, #0 806a786: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strMax, 0, sizeof(strMax)); 806a78a: f507 73c0 add.w r3, r7, #384 ; 0x180 806a78e: 220c movs r2, #12 806a790: 2100 movs r1, #0 806a792: 4618 mov r0, r3 806a794: f067 fc06 bl 80d1fa4 if(idt2 != 0) 806a798: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806a79c: b2db uxtb r3, r3 806a79e: 2b00 cmp r3, #0 806a7a0: d00c beq.n 806a7bc strMax[i++] = idt2 + 48; 806a7a2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a7a6: 1c5a adds r2, r3, #1 806a7a8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 806a7ac: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 806a7b0: b2d2 uxtb r2, r2 806a7b2: 3230 adds r2, #48 ; 0x30 806a7b4: b2d1 uxtb r1, r2 806a7b6: f507 72c0 add.w r2, r7, #384 ; 0x180 806a7ba: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 806a7bc: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 806a7c0: b2db uxtb r3, r3 806a7c2: 2b00 cmp r3, #0 806a7c4: d104 bne.n 806a7d0 806a7c6: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806a7ca: b2db uxtb r3, r3 806a7cc: 2b00 cmp r3, #0 806a7ce: d00c beq.n 806a7ea strMax[i++] = iet2 + 48; 806a7d0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a7d4: 1c5a adds r2, r3, #1 806a7d6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 806a7da: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 806a7de: b2d2 uxtb r2, r2 806a7e0: 3230 adds r2, #48 ; 0x30 806a7e2: b2d1 uxtb r1, r2 806a7e4: f507 72c0 add.w r2, r7, #384 ; 0x180 806a7e8: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 806a7ea: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 806a7ee: b2db uxtb r3, r3 806a7f0: 2b00 cmp r3, #0 806a7f2: d109 bne.n 806a808 806a7f4: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 806a7f8: b2db uxtb r3, r3 806a7fa: 2b00 cmp r3, #0 806a7fc: d104 bne.n 806a808 806a7fe: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806a802: b2db uxtb r3, r3 806a804: 2b00 cmp r3, #0 806a806: d00c beq.n 806a822 strMax[i++] = ies2 + 48; 806a808: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a80c: 1c5a adds r2, r3, #1 806a80e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 806a812: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 806a816: b2d2 uxtb r2, r2 806a818: 3230 adds r2, #48 ; 0x30 806a81a: b2d1 uxtb r1, r2 806a81c: f507 72c0 add.w r2, r7, #384 ; 0x180 806a820: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 806a822: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 806a826: b2db uxtb r3, r3 806a828: 2b00 cmp r3, #0 806a82a: d10e bne.n 806a84a 806a82c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 806a830: b2db uxtb r3, r3 806a832: 2b00 cmp r3, #0 806a834: d109 bne.n 806a84a 806a836: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 806a83a: b2db uxtb r3, r3 806a83c: 2b00 cmp r3, #0 806a83e: d104 bne.n 806a84a 806a840: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806a844: b2db uxtb r3, r3 806a846: 2b00 cmp r3, #0 806a848: d00c beq.n 806a864 strMax[i++] = ied2 + 48; 806a84a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a84e: 1c5a adds r2, r3, #1 806a850: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 806a854: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 806a858: b2d2 uxtb r2, r2 806a85a: 3230 adds r2, #48 ; 0x30 806a85c: b2d1 uxtb r1, r2 806a85e: f507 72c0 add.w r2, r7, #384 ; 0x180 806a862: 54d1 strb r1, [r2, r3] strMax[i++] = iee2 + 48; 806a864: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a868: 1c5a adds r2, r3, #1 806a86a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 806a86e: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 806a872: b2d2 uxtb r2, r2 806a874: 3230 adds r2, #48 ; 0x30 806a876: b2d1 uxtb r1, r2 806a878: f507 72c0 add.w r2, r7, #384 ; 0x180 806a87c: 54d1 strb r1, [r2, r3] strMax[i++] = '.'; 806a87e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a882: 1c5a adds r2, r3, #1 806a884: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 806a888: f507 72c0 add.w r2, r7, #384 ; 0x180 806a88c: 212e movs r1, #46 ; 0x2e 806a88e: 54d1 strb r1, [r2, r3] strMax[i++] = ikd2 + 48; 806a890: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a894: 1c5a adds r2, r3, #1 806a896: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 806a89a: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 806a89e: b2d2 uxtb r2, r2 806a8a0: 3230 adds r2, #48 ; 0x30 806a8a2: b2d1 uxtb r1, r2 806a8a4: f507 72c0 add.w r2, r7, #384 ; 0x180 806a8a8: 54d1 strb r1, [r2, r3] //**************************************************************** #ifndef USE_D101 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a8aa: 4925 ldr r1, [pc, #148] ; (806a940 ) 806a8ac: f04f 30ff mov.w r0, #4294967295 806a8b0: f7ea fcac bl 805520c LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_PARAM_WAV[pardata.LANG][9]); //Òàõîìåòð 806a8b4: 4b24 ldr r3, [pc, #144] ; (806a948 ) 806a8b6: 7b1b ldrb r3, [r3, #12] 806a8b8: b2db uxtb r3, r3 806a8ba: 4619 mov r1, r3 806a8bc: 4a29 ldr r2, [pc, #164] ; (806a964 ) 806a8be: 460b mov r3, r1 806a8c0: 009b lsls r3, r3, #2 806a8c2: 440b add r3, r1 806a8c4: 00db lsls r3, r3, #3 806a8c6: 4413 add r3, r2 806a8c8: 3324 adds r3, #36 ; 0x24 806a8ca: 681b ldr r3, [r3, #0] 806a8cc: 461a mov r2, r3 806a8ce: 218a movs r1, #138 ; 0x8a 806a8d0: 200a movs r0, #10 806a8d2: f7eb fa43 bl 8055d5c #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); 806a8d6: 491a ldr r1, [pc, #104] ; (806a940 ) 806a8d8: f04f 30ff mov.w r0, #4294967295 806a8dc: f7ea fc96 bl 805520c LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_WAV[pardata.LANG][4]); //Âðåìÿ çàïèñè 806a8e0: 4b19 ldr r3, [pc, #100] ; (806a948 ) 806a8e2: 7b1b ldrb r3, [r3, #12] 806a8e4: b2db uxtb r3, r3 806a8e6: 4619 mov r1, r3 806a8e8: 4a1e ldr r2, [pc, #120] ; (806a964 ) 806a8ea: 460b mov r3, r1 806a8ec: 009b lsls r3, r3, #2 806a8ee: 440b add r3, r1 806a8f0: 00db lsls r3, r3, #3 806a8f2: 4413 add r3, r2 806a8f4: 3310 adds r3, #16 806a8f6: 681b ldr r3, [r3, #0] 806a8f8: 461a mov r2, r3 806a8fa: 219a movs r1, #154 ; 0x9a 806a8fc: 200a movs r0, #10 806a8fe: f7eb fa2d bl 8055d5c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV[pardata.LANG][5]); //Àâòîóñèëåíèå 806a902: 4b11 ldr r3, [pc, #68] ; (806a948 ) 806a904: 7b1b ldrb r3, [r3, #12] 806a906: b2db uxtb r3, r3 806a908: 4619 mov r1, r3 806a90a: 4a16 ldr r2, [pc, #88] ; (806a964 ) 806a90c: 460b mov r3, r1 806a90e: 009b lsls r3, r3, #2 806a910: 440b add r3, r1 806a912: 00db lsls r3, r3, #3 806a914: 4413 add r3, r2 806a916: 3314 adds r3, #20 806a918: 681b ldr r3, [r3, #0] 806a91a: 461a mov r2, r3 806a91c: 21aa movs r1, #170 ; 0xaa 806a91e: 200a movs r0, #10 806a920: f7eb fa1c bl 8055d5c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 806a924: 4b08 ldr r3, [pc, #32] ; (806a948 ) 806a926: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806a92a: f003 0304 and.w r3, r3, #4 806a92e: 2b00 cmp r3, #0 806a930: d11a bne.n 806a968 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a932: 4903 ldr r1, [pc, #12] ; (806a940 ) 806a934: f04f 30ff mov.w r0, #4294967295 806a938: f7ea fc68 bl 805520c 806a93c: e018 b.n 806a970 806a93e: bf00 nop 806a940: ff0a0f1f .word 0xff0a0f1f 806a944: ffd3d3d3 .word 0xffd3d3d3 806a948: 20023eb8 .word 0x20023eb8 806a94c: 0a7c5ac5 .word 0x0a7c5ac5 806a950: 000186a0 .word 0x000186a0 806a954: d1b71759 .word 0xd1b71759 806a958: 10624dd3 .word 0x10624dd3 806a95c: 51eb851f .word 0x51eb851f 806a960: cccccccd .word 0xcccccccd 806a964: 20020844 .word 0x20020844 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 806a968: 49c0 ldr r1, [pc, #768] ; (806ac6c ) 806a96a: 48c1 ldr r0, [pc, #772] ; (806ac70 ) 806a96c: f7ea fc4e bl 805520c LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_WAV[pardata.LANG][6]); //Ìax.àìïë.(ì/c^) 806a970: 4bc0 ldr r3, [pc, #768] ; (806ac74 ) 806a972: 7b1b ldrb r3, [r3, #12] 806a974: b2db uxtb r3, r3 806a976: 4619 mov r1, r3 806a978: 4abf ldr r2, [pc, #764] ; (806ac78 ) 806a97a: 460b mov r3, r1 806a97c: 009b lsls r3, r3, #2 806a97e: 440b add r3, r1 806a980: 00db lsls r3, r3, #3 806a982: 4413 add r3, r2 806a984: 3318 adds r3, #24 806a986: 681b ldr r3, [r3, #0] 806a988: 461a mov r2, r3 806a98a: 21ba movs r1, #186 ; 0xba 806a98c: 200a movs r0, #10 806a98e: f7eb f9e5 bl 8055d5c switch(menupos) 806a992: 4bba ldr r3, [pc, #744] ; (806ac7c ) 806a994: 781b ldrb r3, [r3, #0] 806a996: b2db uxtb r3, r3 806a998: 2b0e cmp r3, #14 806a99a: f201 80a1 bhi.w 806bae0 806a99e: a201 add r2, pc, #4 ; (adr r2, 806a9a4 ) 806a9a0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 806a9a4: 0806aaa1 .word 0x0806aaa1 806a9a8: 0806a9e1 .word 0x0806a9e1 806a9ac: 0806ab61 .word 0x0806ab61 806a9b0: 0806b6a5 .word 0x0806b6a5 806a9b4: 0806ac21 .word 0x0806ac21 806a9b8: 0806ad4b .word 0x0806ad4b 806a9bc: 0806ae17 .word 0x0806ae17 806a9c0: 0806aed9 .word 0x0806aed9 806a9c4: 0806b019 .word 0x0806b019 806a9c8: 0806b181 .word 0x0806b181 806a9cc: 0806b2c1 .word 0x0806b2c1 806a9d0: 0806b429 .word 0x0806b429 806a9d4: 0806b567 .word 0x0806b567 806a9d8: 0806b92b .word 0x0806b92b 806a9dc: 0806b7af .word 0x0806b7af { case GoMeas: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806a9e0: 49a2 ldr r1, [pc, #648] ; (806ac6c ) 806a9e2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806a9e6: f7ea fc11 bl 805520c LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806a9ea: 4aa5 ldr r2, [pc, #660] ; (806ac80 ) 806a9ec: 21da movs r1, #218 ; 0xda 806a9ee: 20a0 movs r0, #160 ; 0xa0 806a9f0: f7eb f9cc bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a9f4: 499d ldr r1, [pc, #628] ; (806ac6c ) 806a9f6: f04f 30ff mov.w r0, #4294967295 806a9fa: f7ea fc07 bl 805520c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806a9fe: 4aa1 ldr r2, [pc, #644] ; (806ac84 ) 806aa00: 21da movs r1, #218 ; 0xda 806aa02: 200a movs r0, #10 806aa04: f7eb f9aa bl 8055d5c LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806aa08: 4a9f ldr r2, [pc, #636] ; (806ac88 ) 806aa0a: 21da movs r1, #218 ; 0xda 806aa0c: f240 1035 movw r0, #309 ; 0x135 806aa10: f7eb f9d4 bl 8055dbc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806aa14: 4995 ldr r1, [pc, #596] ; (806ac6c ) 806aa16: 489d ldr r0, [pc, #628] ; (806ac8c ) 806aa18: f7ea fbf8 bl 805520c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806aa1c: 4b95 ldr r3, [pc, #596] ; (806ac74 ) 806aa1e: 7b1b ldrb r3, [r3, #12] 806aa20: b2db uxtb r3, r3 806aa22: 461a mov r2, r3 806aa24: 4b93 ldr r3, [pc, #588] ; (806ac74 ) 806aa26: 7b9b ldrb r3, [r3, #14] 806aa28: b2db uxtb r3, r3 806aa2a: 4618 mov r0, r3 806aa2c: 4998 ldr r1, [pc, #608] ; (806ac90 ) 806aa2e: 4613 mov r3, r2 806aa30: 009b lsls r3, r3, #2 806aa32: 4413 add r3, r2 806aa34: 005b lsls r3, r3, #1 806aa36: 4413 add r3, r2 806aa38: 4403 add r3, r0 806aa3a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806aa3e: 461a mov r2, r3 806aa40: 219a movs r1, #154 ; 0x9a 806aa42: f44f 7082 mov.w r0, #260 ; 0x104 806aa46: f7eb f9a1 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806aa4a: 4988 ldr r1, [pc, #544] ; (806ac6c ) 806aa4c: f04f 30ff mov.w r0, #4294967295 806aa50: f7ea fbdc bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806aa54: 230a movs r3, #10 806aa56: 220a movs r2, #10 806aa58: 218d movs r1, #141 ; 0x8d 806aa5a: 20ff movs r0, #255 ; 0xff 806aa5c: f7eb f864 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806aa60: 230a movs r3, #10 806aa62: 220a movs r2, #10 806aa64: 21ad movs r1, #173 ; 0xad 806aa66: 20ff movs r0, #255 ; 0xff 806aa68: f7eb f85e bl 8055b28 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 806aa6c: 4b81 ldr r3, [pc, #516] ; (806ac74 ) 806aa6e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806aa72: f003 0304 and.w r3, r3, #4 806aa76: 2b00 cmp r3, #0 806aa78: d104 bne.n 806aa84 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806aa7a: 497c ldr r1, [pc, #496] ; (806ac6c ) 806aa7c: 4883 ldr r0, [pc, #524] ; (806ac8c ) 806aa7e: f7ea fbc5 bl 805520c 806aa82: e003 b.n 806aa8c else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 806aa84: 4979 ldr r1, [pc, #484] ; (806ac6c ) 806aa86: 487a ldr r0, [pc, #488] ; (806ac70 ) 806aa88: f7ea fbc0 bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, strMax); 806aa8c: f507 73c0 add.w r3, r7, #384 ; 0x180 806aa90: 461a mov r2, r3 806aa92: 21ba movs r1, #186 ; 0xba 806aa94: f44f 7082 mov.w r0, #260 ; 0x104 806aa98: f7eb f978 bl 8055d8c break; 806aa9c: f001 b820 b.w 806bae0 case PrevPoint: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806aaa0: 4972 ldr r1, [pc, #456] ; (806ac6c ) 806aaa2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806aaa6: f7ea fbb1 bl 805520c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806aaaa: 4a76 ldr r2, [pc, #472] ; (806ac84 ) 806aaac: 21da movs r1, #218 ; 0xda 806aaae: 200a movs r0, #10 806aab0: f7eb f954 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806aab4: 496d ldr r1, [pc, #436] ; (806ac6c ) 806aab6: f04f 30ff mov.w r0, #4294967295 806aaba: f7ea fba7 bl 805520c LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806aabe: 4a70 ldr r2, [pc, #448] ; (806ac80 ) 806aac0: 21da movs r1, #218 ; 0xda 806aac2: 20a0 movs r0, #160 ; 0xa0 806aac4: f7eb f962 bl 8055d8c LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806aac8: 4a6f ldr r2, [pc, #444] ; (806ac88 ) 806aaca: 21da movs r1, #218 ; 0xda 806aacc: f240 1035 movw r0, #309 ; 0x135 806aad0: f7eb f974 bl 8055dbc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806aad4: 4965 ldr r1, [pc, #404] ; (806ac6c ) 806aad6: 486d ldr r0, [pc, #436] ; (806ac8c ) 806aad8: f7ea fb98 bl 805520c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806aadc: 4b65 ldr r3, [pc, #404] ; (806ac74 ) 806aade: 7b1b ldrb r3, [r3, #12] 806aae0: b2db uxtb r3, r3 806aae2: 461a mov r2, r3 806aae4: 4b63 ldr r3, [pc, #396] ; (806ac74 ) 806aae6: 7b9b ldrb r3, [r3, #14] 806aae8: b2db uxtb r3, r3 806aaea: 4618 mov r0, r3 806aaec: 4968 ldr r1, [pc, #416] ; (806ac90 ) 806aaee: 4613 mov r3, r2 806aaf0: 009b lsls r3, r3, #2 806aaf2: 4413 add r3, r2 806aaf4: 005b lsls r3, r3, #1 806aaf6: 4413 add r3, r2 806aaf8: 4403 add r3, r0 806aafa: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806aafe: 461a mov r2, r3 806ab00: 219a movs r1, #154 ; 0x9a 806ab02: f44f 7082 mov.w r0, #260 ; 0x104 806ab06: f7eb f941 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806ab0a: 4958 ldr r1, [pc, #352] ; (806ac6c ) 806ab0c: f04f 30ff mov.w r0, #4294967295 806ab10: f7ea fb7c bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806ab14: 230a movs r3, #10 806ab16: 220a movs r2, #10 806ab18: 218d movs r1, #141 ; 0x8d 806ab1a: 20ff movs r0, #255 ; 0xff 806ab1c: f7eb f804 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806ab20: 230a movs r3, #10 806ab22: 220a movs r2, #10 806ab24: 21ad movs r1, #173 ; 0xad 806ab26: 20ff movs r0, #255 ; 0xff 806ab28: f7ea fffe bl 8055b28 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 806ab2c: 4b51 ldr r3, [pc, #324] ; (806ac74 ) 806ab2e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806ab32: f003 0304 and.w r3, r3, #4 806ab36: 2b00 cmp r3, #0 806ab38: d104 bne.n 806ab44 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806ab3a: 494c ldr r1, [pc, #304] ; (806ac6c ) 806ab3c: 4853 ldr r0, [pc, #332] ; (806ac8c ) 806ab3e: f7ea fb65 bl 805520c 806ab42: e003 b.n 806ab4c else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 806ab44: 4949 ldr r1, [pc, #292] ; (806ac6c ) 806ab46: 484a ldr r0, [pc, #296] ; (806ac70 ) 806ab48: f7ea fb60 bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, strMax); 806ab4c: f507 73c0 add.w r3, r7, #384 ; 0x180 806ab50: 461a mov r2, r3 806ab52: 21ba movs r1, #186 ; 0xba 806ab54: f44f 7082 mov.w r0, #260 ; 0x104 806ab58: f7eb f918 bl 8055d8c break; 806ab5c: f000 bfc0 b.w 806bae0 case NextPoint: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806ab60: 4942 ldr r1, [pc, #264] ; (806ac6c ) 806ab62: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806ab66: f7ea fb51 bl 805520c LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806ab6a: 4a47 ldr r2, [pc, #284] ; (806ac88 ) 806ab6c: 21da movs r1, #218 ; 0xda 806ab6e: f240 1035 movw r0, #309 ; 0x135 806ab72: f7eb f923 bl 8055dbc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806ab76: 493d ldr r1, [pc, #244] ; (806ac6c ) 806ab78: f04f 30ff mov.w r0, #4294967295 806ab7c: f7ea fb46 bl 805520c LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806ab80: 4a3f ldr r2, [pc, #252] ; (806ac80 ) 806ab82: 21da movs r1, #218 ; 0xda 806ab84: 20a0 movs r0, #160 ; 0xa0 806ab86: f7eb f901 bl 8055d8c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806ab8a: 4a3e ldr r2, [pc, #248] ; (806ac84 ) 806ab8c: 21da movs r1, #218 ; 0xda 806ab8e: 200a movs r0, #10 806ab90: f7eb f8e4 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806ab94: 4935 ldr r1, [pc, #212] ; (806ac6c ) 806ab96: 483d ldr r0, [pc, #244] ; (806ac8c ) 806ab98: f7ea fb38 bl 805520c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806ab9c: 4b35 ldr r3, [pc, #212] ; (806ac74 ) 806ab9e: 7b1b ldrb r3, [r3, #12] 806aba0: b2db uxtb r3, r3 806aba2: 461a mov r2, r3 806aba4: 4b33 ldr r3, [pc, #204] ; (806ac74 ) 806aba6: 7b9b ldrb r3, [r3, #14] 806aba8: b2db uxtb r3, r3 806abaa: 4618 mov r0, r3 806abac: 4938 ldr r1, [pc, #224] ; (806ac90 ) 806abae: 4613 mov r3, r2 806abb0: 009b lsls r3, r3, #2 806abb2: 4413 add r3, r2 806abb4: 005b lsls r3, r3, #1 806abb6: 4413 add r3, r2 806abb8: 4403 add r3, r0 806abba: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806abbe: 461a mov r2, r3 806abc0: 219a movs r1, #154 ; 0x9a 806abc2: f44f 7082 mov.w r0, #260 ; 0x104 806abc6: f7eb f8e1 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806abca: 4928 ldr r1, [pc, #160] ; (806ac6c ) 806abcc: f04f 30ff mov.w r0, #4294967295 806abd0: f7ea fb1c bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806abd4: 230a movs r3, #10 806abd6: 220a movs r2, #10 806abd8: 218d movs r1, #141 ; 0x8d 806abda: 20ff movs r0, #255 ; 0xff 806abdc: f7ea ffa4 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806abe0: 230a movs r3, #10 806abe2: 220a movs r2, #10 806abe4: 21ad movs r1, #173 ; 0xad 806abe6: 20ff movs r0, #255 ; 0xff 806abe8: f7ea ff9e bl 8055b28 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 806abec: 4b21 ldr r3, [pc, #132] ; (806ac74 ) 806abee: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806abf2: f003 0304 and.w r3, r3, #4 806abf6: 2b00 cmp r3, #0 806abf8: d104 bne.n 806ac04 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806abfa: 491c ldr r1, [pc, #112] ; (806ac6c ) 806abfc: 4823 ldr r0, [pc, #140] ; (806ac8c ) 806abfe: f7ea fb05 bl 805520c 806ac02: e003 b.n 806ac0c else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 806ac04: 4919 ldr r1, [pc, #100] ; (806ac6c ) 806ac06: 481a ldr r0, [pc, #104] ; (806ac70 ) 806ac08: f7ea fb00 bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, strMax); 806ac0c: f507 73c0 add.w r3, r7, #384 ; 0x180 806ac10: 461a mov r2, r3 806ac12: 21ba movs r1, #186 ; 0xba 806ac14: f44f 7082 mov.w r0, #260 ; 0x104 806ac18: f7eb f8b8 bl 8055d8c break; 806ac1c: f000 bf60 b.w 806bae0 case RouteTime: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806ac20: 4912 ldr r1, [pc, #72] ; (806ac6c ) 806ac22: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806ac26: f7ea faf1 bl 805520c if(focused) 806ac2a: 4b1a ldr r3, [pc, #104] ; (806ac94 ) 806ac2c: 781b ldrb r3, [r3, #0] 806ac2e: b2db uxtb r3, r3 806ac30: 2b00 cmp r3, #0 806ac32: d033 beq.n 806ac9c { if(blk) 806ac34: 4b18 ldr r3, [pc, #96] ; (806ac98 ) 806ac36: 681b ldr r3, [r3, #0] 806ac38: 2b00 cmp r3, #0 806ac3a: d046 beq.n 806acca LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806ac3c: 4b0d ldr r3, [pc, #52] ; (806ac74 ) 806ac3e: 7b1b ldrb r3, [r3, #12] 806ac40: b2db uxtb r3, r3 806ac42: 461a mov r2, r3 806ac44: 4b0b ldr r3, [pc, #44] ; (806ac74 ) 806ac46: 7b9b ldrb r3, [r3, #14] 806ac48: b2db uxtb r3, r3 806ac4a: 4618 mov r0, r3 806ac4c: 4910 ldr r1, [pc, #64] ; (806ac90 ) 806ac4e: 4613 mov r3, r2 806ac50: 009b lsls r3, r3, #2 806ac52: 4413 add r3, r2 806ac54: 005b lsls r3, r3, #1 806ac56: 4413 add r3, r2 806ac58: 4403 add r3, r0 806ac5a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806ac5e: 461a mov r2, r3 806ac60: 219a movs r1, #154 ; 0x9a 806ac62: f44f 7082 mov.w r0, #260 ; 0x104 806ac66: f7eb f891 bl 8055d8c 806ac6a: e02e b.n 806acca 806ac6c: ff0a0f1f .word 0xff0a0f1f 806ac70: ff808080 .word 0xff808080 806ac74: 20023eb8 .word 0x20023eb8 806ac78: 20020844 .word 0x20020844 806ac7c: 20020070 .word 0x20020070 806ac80: 080d6290 .word 0x080d6290 806ac84: 080d6298 .word 0x080d6298 806ac88: 080d62a0 .word 0x080d62a0 806ac8c: ffd8aa57 .word 0xffd8aa57 806ac90: 2002033c .word 0x2002033c 806ac94: 20020fd0 .word 0x20020fd0 806ac98: 200216ac .word 0x200216ac } else LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806ac9c: 4b86 ldr r3, [pc, #536] ; (806aeb8 ) 806ac9e: 7b1b ldrb r3, [r3, #12] 806aca0: b2db uxtb r3, r3 806aca2: 461a mov r2, r3 806aca4: 4b84 ldr r3, [pc, #528] ; (806aeb8 ) 806aca6: 7b9b ldrb r3, [r3, #14] 806aca8: b2db uxtb r3, r3 806acaa: 4618 mov r0, r3 806acac: 4983 ldr r1, [pc, #524] ; (806aebc ) 806acae: 4613 mov r3, r2 806acb0: 009b lsls r3, r3, #2 806acb2: 4413 add r3, r2 806acb4: 005b lsls r3, r3, #1 806acb6: 4413 add r3, r2 806acb8: 4403 add r3, r0 806acba: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806acbe: 461a mov r2, r3 806acc0: 219a movs r1, #154 ; 0x9a 806acc2: f44f 7082 mov.w r0, #260 ; 0x104 806acc6: f7eb f861 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806acca: 497d ldr r1, [pc, #500] ; (806aec0 ) 806accc: f04f 30ff mov.w r0, #4294967295 806acd0: f7ea fa9c bl 805520c LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806acd4: 4a7b ldr r2, [pc, #492] ; (806aec4 ) 806acd6: 21da movs r1, #218 ; 0xda 806acd8: f240 1035 movw r0, #309 ; 0x135 806acdc: f7eb f86e bl 8055dbc LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806ace0: 4a79 ldr r2, [pc, #484] ; (806aec8 ) 806ace2: 21da movs r1, #218 ; 0xda 806ace4: 20a0 movs r0, #160 ; 0xa0 806ace6: f7eb f851 bl 8055d8c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806acea: 4a78 ldr r2, [pc, #480] ; (806aecc ) 806acec: 21da movs r1, #218 ; 0xda 806acee: 200a movs r0, #10 806acf0: f7eb f834 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806acf4: 4972 ldr r1, [pc, #456] ; (806aec0 ) 806acf6: f04f 30ff mov.w r0, #4294967295 806acfa: f7ea fa87 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806acfe: 230a movs r3, #10 806ad00: 220a movs r2, #10 806ad02: 218d movs r1, #141 ; 0x8d 806ad04: 20ff movs r0, #255 ; 0xff 806ad06: f7ea ff0f bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806ad0a: 230a movs r3, #10 806ad0c: 220a movs r2, #10 806ad0e: 21ad movs r1, #173 ; 0xad 806ad10: 20ff movs r0, #255 ; 0xff 806ad12: f7ea ff09 bl 8055b28 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 806ad16: 4b68 ldr r3, [pc, #416] ; (806aeb8 ) 806ad18: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806ad1c: f003 0304 and.w r3, r3, #4 806ad20: 2b00 cmp r3, #0 806ad22: d104 bne.n 806ad2e LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806ad24: 4966 ldr r1, [pc, #408] ; (806aec0 ) 806ad26: 486a ldr r0, [pc, #424] ; (806aed0 ) 806ad28: f7ea fa70 bl 805520c 806ad2c: e003 b.n 806ad36 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 806ad2e: 4964 ldr r1, [pc, #400] ; (806aec0 ) 806ad30: 4868 ldr r0, [pc, #416] ; (806aed4 ) 806ad32: f7ea fa6b bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, strMax); 806ad36: f507 73c0 add.w r3, r7, #384 ; 0x180 806ad3a: 461a mov r2, r3 806ad3c: 21ba movs r1, #186 ; 0xba 806ad3e: f44f 7082 mov.w r0, #260 ; 0x104 806ad42: f7eb f823 bl 8055d8c break; 806ad46: f000 becb b.w 806bae0 case RouteAutoKu: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806ad4a: 495d ldr r1, [pc, #372] ; (806aec0 ) 806ad4c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806ad50: f7ea fa5c bl 805520c BSP_LCD_FillRect(253, CHECKBOX_LINE_10-2, 14, 14); 806ad54: 230e movs r3, #14 806ad56: 220e movs r2, #14 806ad58: 21ab movs r1, #171 ; 0xab 806ad5a: 20fd movs r0, #253 ; 0xfd 806ad5c: f7ea fee4 bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806ad60: 4957 ldr r1, [pc, #348] ; (806aec0 ) 806ad62: f04f 30ff mov.w r0, #4294967295 806ad66: f7ea fa51 bl 805520c LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806ad6a: 4a56 ldr r2, [pc, #344] ; (806aec4 ) 806ad6c: 21da movs r1, #218 ; 0xda 806ad6e: f240 1035 movw r0, #309 ; 0x135 806ad72: f7eb f823 bl 8055dbc LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806ad76: 4a54 ldr r2, [pc, #336] ; (806aec8 ) 806ad78: 21da movs r1, #218 ; 0xda 806ad7a: 20a0 movs r0, #160 ; 0xa0 806ad7c: f7eb f806 bl 8055d8c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806ad80: 4a52 ldr r2, [pc, #328] ; (806aecc ) 806ad82: 21da movs r1, #218 ; 0xda 806ad84: 200a movs r0, #10 806ad86: f7ea ffe9 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806ad8a: 494d ldr r1, [pc, #308] ; (806aec0 ) 806ad8c: 4850 ldr r0, [pc, #320] ; (806aed0 ) 806ad8e: f7ea fa3d bl 805520c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806ad92: 4b49 ldr r3, [pc, #292] ; (806aeb8 ) 806ad94: 7b1b ldrb r3, [r3, #12] 806ad96: b2db uxtb r3, r3 806ad98: 461a mov r2, r3 806ad9a: 4b47 ldr r3, [pc, #284] ; (806aeb8 ) 806ad9c: 7b9b ldrb r3, [r3, #14] 806ad9e: b2db uxtb r3, r3 806ada0: 4618 mov r0, r3 806ada2: 4946 ldr r1, [pc, #280] ; (806aebc ) 806ada4: 4613 mov r3, r2 806ada6: 009b lsls r3, r3, #2 806ada8: 4413 add r3, r2 806adaa: 005b lsls r3, r3, #1 806adac: 4413 add r3, r2 806adae: 4403 add r3, r0 806adb0: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806adb4: 461a mov r2, r3 806adb6: 219a movs r1, #154 ; 0x9a 806adb8: f44f 7082 mov.w r0, #260 ; 0x104 806adbc: f7ea ffe6 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806adc0: 493f ldr r1, [pc, #252] ; (806aec0 ) 806adc2: f04f 30ff mov.w r0, #4294967295 806adc6: f7ea fa21 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806adca: 230a movs r3, #10 806adcc: 220a movs r2, #10 806adce: 218d movs r1, #141 ; 0x8d 806add0: 20ff movs r0, #255 ; 0xff 806add2: f7ea fea9 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806add6: 230a movs r3, #10 806add8: 220a movs r2, #10 806adda: 21ad movs r1, #173 ; 0xad 806addc: 20ff movs r0, #255 ; 0xff 806adde: f7ea fea3 bl 8055b28 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 806ade2: 4b35 ldr r3, [pc, #212] ; (806aeb8 ) 806ade4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806ade8: f003 0304 and.w r3, r3, #4 806adec: 2b00 cmp r3, #0 806adee: d104 bne.n 806adfa LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806adf0: 4933 ldr r1, [pc, #204] ; (806aec0 ) 806adf2: 4837 ldr r0, [pc, #220] ; (806aed0 ) 806adf4: f7ea fa0a bl 805520c 806adf8: e003 b.n 806ae02 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 806adfa: 4931 ldr r1, [pc, #196] ; (806aec0 ) 806adfc: 4835 ldr r0, [pc, #212] ; (806aed4 ) 806adfe: f7ea fa05 bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, strMax); 806ae02: f507 73c0 add.w r3, r7, #384 ; 0x180 806ae06: 461a mov r2, r3 806ae08: 21ba movs r1, #186 ; 0xba 806ae0a: f44f 7082 mov.w r0, #260 ; 0x104 806ae0e: f7ea ffbd bl 8055d8c break; 806ae12: f000 be65 b.w 806bae0 case RouteMax_ALL: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806ae16: 492a ldr r1, [pc, #168] ; (806aec0 ) 806ae18: f04f 30ff mov.w r0, #4294967295 806ae1c: f7ea f9f6 bl 805520c LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806ae20: 4a28 ldr r2, [pc, #160] ; (806aec4 ) 806ae22: 21da movs r1, #218 ; 0xda 806ae24: f240 1035 movw r0, #309 ; 0x135 806ae28: f7ea ffc8 bl 8055dbc LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806ae2c: 4a26 ldr r2, [pc, #152] ; (806aec8 ) 806ae2e: 21da movs r1, #218 ; 0xda 806ae30: 20a0 movs r0, #160 ; 0xa0 806ae32: f7ea ffab bl 8055d8c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806ae36: 4a25 ldr r2, [pc, #148] ; (806aecc ) 806ae38: 21da movs r1, #218 ; 0xda 806ae3a: 200a movs r0, #10 806ae3c: f7ea ff8e bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806ae40: 491f ldr r1, [pc, #124] ; (806aec0 ) 806ae42: 4823 ldr r0, [pc, #140] ; (806aed0 ) 806ae44: f7ea f9e2 bl 805520c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806ae48: 4b1b ldr r3, [pc, #108] ; (806aeb8 ) 806ae4a: 7b1b ldrb r3, [r3, #12] 806ae4c: b2db uxtb r3, r3 806ae4e: 461a mov r2, r3 806ae50: 4b19 ldr r3, [pc, #100] ; (806aeb8 ) 806ae52: 7b9b ldrb r3, [r3, #14] 806ae54: b2db uxtb r3, r3 806ae56: 4618 mov r0, r3 806ae58: 4918 ldr r1, [pc, #96] ; (806aebc ) 806ae5a: 4613 mov r3, r2 806ae5c: 009b lsls r3, r3, #2 806ae5e: 4413 add r3, r2 806ae60: 005b lsls r3, r3, #1 806ae62: 4413 add r3, r2 806ae64: 4403 add r3, r0 806ae66: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806ae6a: 461a mov r2, r3 806ae6c: 219a movs r1, #154 ; 0x9a 806ae6e: f44f 7082 mov.w r0, #260 ; 0x104 806ae72: f7ea ff8b bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806ae76: 4912 ldr r1, [pc, #72] ; (806aec0 ) 806ae78: f04f 30ff mov.w r0, #4294967295 806ae7c: f7ea f9c6 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806ae80: 230a movs r3, #10 806ae82: 220a movs r2, #10 806ae84: 218d movs r1, #141 ; 0x8d 806ae86: 20ff movs r0, #255 ; 0xff 806ae88: f7ea fe4e bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806ae8c: 230a movs r3, #10 806ae8e: 220a movs r2, #10 806ae90: 21ad movs r1, #173 ; 0xad 806ae92: 20ff movs r0, #255 ; 0xff 806ae94: f7ea fe48 bl 8055b28 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806ae98: 4909 ldr r1, [pc, #36] ; (806aec0 ) 806ae9a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806ae9e: f7ea f9b5 bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, strMax); 806aea2: f507 73c0 add.w r3, r7, #384 ; 0x180 806aea6: 461a mov r2, r3 806aea8: 21ba movs r1, #186 ; 0xba 806aeaa: f44f 7082 mov.w r0, #260 ; 0x104 806aeae: f7ea ff6d bl 8055d8c break; 806aeb2: f000 be15 b.w 806bae0 806aeb6: bf00 nop 806aeb8: 20023eb8 .word 0x20023eb8 806aebc: 2002033c .word 0x2002033c 806aec0: ff0a0f1f .word 0xff0a0f1f 806aec4: 080d62a0 .word 0x080d62a0 806aec8: 080d6290 .word 0x080d6290 806aecc: 080d6298 .word 0x080d6298 806aed0: ffd8aa57 .word 0xffd8aa57 806aed4: ff808080 .word 0xff808080 case RouteMax_IDT: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806aed8: 499f ldr r1, [pc, #636] ; (806b158 ) 806aeda: f04f 30ff mov.w r0, #4294967295 806aede: f7ea f995 bl 805520c LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806aee2: 4a9e ldr r2, [pc, #632] ; (806b15c ) 806aee4: 21da movs r1, #218 ; 0xda 806aee6: f240 1035 movw r0, #309 ; 0x135 806aeea: f7ea ff67 bl 8055dbc LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806aeee: 4a9c ldr r2, [pc, #624] ; (806b160 ) 806aef0: 21da movs r1, #218 ; 0xda 806aef2: 20a0 movs r0, #160 ; 0xa0 806aef4: f7ea ff4a bl 8055d8c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806aef8: 4a9a ldr r2, [pc, #616] ; (806b164 ) 806aefa: 21da movs r1, #218 ; 0xda 806aefc: 200a movs r0, #10 806aefe: f7ea ff2d bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806af02: 4995 ldr r1, [pc, #596] ; (806b158 ) 806af04: 4898 ldr r0, [pc, #608] ; (806b168 ) 806af06: f7ea f981 bl 805520c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806af0a: 4b98 ldr r3, [pc, #608] ; (806b16c ) 806af0c: 7b1b ldrb r3, [r3, #12] 806af0e: b2db uxtb r3, r3 806af10: 461a mov r2, r3 806af12: 4b96 ldr r3, [pc, #600] ; (806b16c ) 806af14: 7b9b ldrb r3, [r3, #14] 806af16: b2db uxtb r3, r3 806af18: 4618 mov r0, r3 806af1a: 4995 ldr r1, [pc, #596] ; (806b170 ) 806af1c: 4613 mov r3, r2 806af1e: 009b lsls r3, r3, #2 806af20: 4413 add r3, r2 806af22: 005b lsls r3, r3, #1 806af24: 4413 add r3, r2 806af26: 4403 add r3, r0 806af28: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806af2c: 461a mov r2, r3 806af2e: 219a movs r1, #154 ; 0x9a 806af30: f44f 7082 mov.w r0, #260 ; 0x104 806af34: f7ea ff2a bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806af38: 4987 ldr r1, [pc, #540] ; (806b158 ) 806af3a: f04f 30ff mov.w r0, #4294967295 806af3e: f7ea f965 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806af42: 230a movs r3, #10 806af44: 220a movs r2, #10 806af46: 218d movs r1, #141 ; 0x8d 806af48: 20ff movs r0, #255 ; 0xff 806af4a: f7ea fded bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806af4e: 230a movs r3, #10 806af50: 220a movs r2, #10 806af52: 21ad movs r1, #173 ; 0xad 806af54: 20ff movs r0, #255 ; 0xff 806af56: f7ea fde7 bl 8055b28 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806af5a: 497f ldr r1, [pc, #508] ; (806b158 ) 806af5c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806af60: f7ea f954 bl 805520c if(blk) 806af64: 4b83 ldr r3, [pc, #524] ; (806b174 ) 806af66: 681b ldr r3, [r3, #0] 806af68: 2b00 cmp r3, #0 806af6a: d00b beq.n 806af84 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 806af6c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806af70: b2db uxtb r3, r3 806af72: 461a mov r2, r3 806af74: 4b80 ldr r3, [pc, #512] ; (806b178 ) 806af76: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806af7a: 461a mov r2, r3 806af7c: 21ba movs r1, #186 ; 0xba 806af7e: 20c6 movs r0, #198 ; 0xc6 806af80: f7ea feec bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806af84: 4974 ldr r1, [pc, #464] ; (806b158 ) 806af86: 4878 ldr r0, [pc, #480] ; (806b168 ) 806af88: f7ea f940 bl 805520c LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 806af8c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 806af90: b2db uxtb r3, r3 806af92: 461a mov r2, r3 806af94: 4b78 ldr r3, [pc, #480] ; (806b178 ) 806af96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806af9a: 461a mov r2, r3 806af9c: 21ba movs r1, #186 ; 0xba 806af9e: 20d6 movs r0, #214 ; 0xd6 806afa0: f7ea fedc bl 8055d5c LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 806afa4: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 806afa8: b2db uxtb r3, r3 806afaa: 461a mov r2, r3 806afac: 4b72 ldr r3, [pc, #456] ; (806b178 ) 806afae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806afb2: 461a mov r2, r3 806afb4: 21ba movs r1, #186 ; 0xba 806afb6: 20e6 movs r0, #230 ; 0xe6 806afb8: f7ea fed0 bl 8055d5c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 806afbc: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 806afc0: b2db uxtb r3, r3 806afc2: 461a mov r2, r3 806afc4: 4b6c ldr r3, [pc, #432] ; (806b178 ) 806afc6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806afca: 461a mov r2, r3 806afcc: 21ba movs r1, #186 ; 0xba 806afce: 20f6 movs r0, #246 ; 0xf6 806afd0: f7ea fec4 bl 8055d5c LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 806afd4: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 806afd8: b2db uxtb r3, r3 806afda: 461a mov r2, r3 806afdc: 4b66 ldr r3, [pc, #408] ; (806b178 ) 806afde: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806afe2: 461a mov r2, r3 806afe4: 21ba movs r1, #186 ; 0xba 806afe6: f44f 7083 mov.w r0, #262 ; 0x106 806afea: f7ea feb7 bl 8055d5c LCD_DisplayString(278, LCD_LINE_11, "."); 806afee: 4a63 ldr r2, [pc, #396] ; (806b17c ) 806aff0: 21ba movs r1, #186 ; 0xba 806aff2: f44f 708b mov.w r0, #278 ; 0x116 806aff6: f7ea feb1 bl 8055d5c LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 806affa: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 806affe: b2db uxtb r3, r3 806b000: 461a mov r2, r3 806b002: 4b5d ldr r3, [pc, #372] ; (806b178 ) 806b004: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b008: 461a mov r2, r3 806b00a: 21ba movs r1, #186 ; 0xba 806b00c: f44f 7093 mov.w r0, #294 ; 0x126 806b010: f7ea fea4 bl 8055d5c break; 806b014: f000 bd64 b.w 806bae0 case RouteMax_IET: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b018: 494f ldr r1, [pc, #316] ; (806b158 ) 806b01a: f04f 30ff mov.w r0, #4294967295 806b01e: f7ea f8f5 bl 805520c LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806b022: 4a4e ldr r2, [pc, #312] ; (806b15c ) 806b024: 21da movs r1, #218 ; 0xda 806b026: f240 1035 movw r0, #309 ; 0x135 806b02a: f7ea fec7 bl 8055dbc LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806b02e: 4a4c ldr r2, [pc, #304] ; (806b160 ) 806b030: 21da movs r1, #218 ; 0xda 806b032: 20a0 movs r0, #160 ; 0xa0 806b034: f7ea feaa bl 8055d8c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806b038: 4a4a ldr r2, [pc, #296] ; (806b164 ) 806b03a: 21da movs r1, #218 ; 0xda 806b03c: 200a movs r0, #10 806b03e: f7ea fe8d bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806b042: 4945 ldr r1, [pc, #276] ; (806b158 ) 806b044: 4848 ldr r0, [pc, #288] ; (806b168 ) 806b046: f7ea f8e1 bl 805520c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806b04a: 4b48 ldr r3, [pc, #288] ; (806b16c ) 806b04c: 7b1b ldrb r3, [r3, #12] 806b04e: b2db uxtb r3, r3 806b050: 461a mov r2, r3 806b052: 4b46 ldr r3, [pc, #280] ; (806b16c ) 806b054: 7b9b ldrb r3, [r3, #14] 806b056: b2db uxtb r3, r3 806b058: 4618 mov r0, r3 806b05a: 4945 ldr r1, [pc, #276] ; (806b170 ) 806b05c: 4613 mov r3, r2 806b05e: 009b lsls r3, r3, #2 806b060: 4413 add r3, r2 806b062: 005b lsls r3, r3, #1 806b064: 4413 add r3, r2 806b066: 4403 add r3, r0 806b068: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806b06c: 461a mov r2, r3 806b06e: 219a movs r1, #154 ; 0x9a 806b070: f44f 7082 mov.w r0, #260 ; 0x104 806b074: f7ea fe8a bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b078: 4937 ldr r1, [pc, #220] ; (806b158 ) 806b07a: f04f 30ff mov.w r0, #4294967295 806b07e: f7ea f8c5 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806b082: 230a movs r3, #10 806b084: 220a movs r2, #10 806b086: 218d movs r1, #141 ; 0x8d 806b088: 20ff movs r0, #255 ; 0xff 806b08a: f7ea fd4d bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806b08e: 230a movs r3, #10 806b090: 220a movs r2, #10 806b092: 21ad movs r1, #173 ; 0xad 806b094: 20ff movs r0, #255 ; 0xff 806b096: f7ea fd47 bl 8055b28 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806b09a: 492f ldr r1, [pc, #188] ; (806b158 ) 806b09c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806b0a0: f7ea f8b4 bl 805520c if(blk) 806b0a4: 4b33 ldr r3, [pc, #204] ; (806b174 ) 806b0a6: 681b ldr r3, [r3, #0] 806b0a8: 2b00 cmp r3, #0 806b0aa: d00b beq.n 806b0c4 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 806b0ac: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 806b0b0: b2db uxtb r3, r3 806b0b2: 461a mov r2, r3 806b0b4: 4b30 ldr r3, [pc, #192] ; (806b178 ) 806b0b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b0ba: 461a mov r2, r3 806b0bc: 21ba movs r1, #186 ; 0xba 806b0be: 20d6 movs r0, #214 ; 0xd6 806b0c0: f7ea fe4c bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806b0c4: 4924 ldr r1, [pc, #144] ; (806b158 ) 806b0c6: 4828 ldr r0, [pc, #160] ; (806b168 ) 806b0c8: f7ea f8a0 bl 805520c LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 806b0cc: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806b0d0: b2db uxtb r3, r3 806b0d2: 461a mov r2, r3 806b0d4: 4b28 ldr r3, [pc, #160] ; (806b178 ) 806b0d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b0da: 461a mov r2, r3 806b0dc: 21ba movs r1, #186 ; 0xba 806b0de: 20c6 movs r0, #198 ; 0xc6 806b0e0: f7ea fe3c bl 8055d5c LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 806b0e4: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 806b0e8: b2db uxtb r3, r3 806b0ea: 461a mov r2, r3 806b0ec: 4b22 ldr r3, [pc, #136] ; (806b178 ) 806b0ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b0f2: 461a mov r2, r3 806b0f4: 21ba movs r1, #186 ; 0xba 806b0f6: 20e6 movs r0, #230 ; 0xe6 806b0f8: f7ea fe30 bl 8055d5c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 806b0fc: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 806b100: b2db uxtb r3, r3 806b102: 461a mov r2, r3 806b104: 4b1c ldr r3, [pc, #112] ; (806b178 ) 806b106: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b10a: 461a mov r2, r3 806b10c: 21ba movs r1, #186 ; 0xba 806b10e: 20f6 movs r0, #246 ; 0xf6 806b110: f7ea fe24 bl 8055d5c LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 806b114: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 806b118: b2db uxtb r3, r3 806b11a: 461a mov r2, r3 806b11c: 4b16 ldr r3, [pc, #88] ; (806b178 ) 806b11e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b122: 461a mov r2, r3 806b124: 21ba movs r1, #186 ; 0xba 806b126: f44f 7083 mov.w r0, #262 ; 0x106 806b12a: f7ea fe17 bl 8055d5c LCD_DisplayString(278, LCD_LINE_11, "."); 806b12e: 4a13 ldr r2, [pc, #76] ; (806b17c ) 806b130: 21ba movs r1, #186 ; 0xba 806b132: f44f 708b mov.w r0, #278 ; 0x116 806b136: f7ea fe11 bl 8055d5c LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 806b13a: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 806b13e: b2db uxtb r3, r3 806b140: 461a mov r2, r3 806b142: 4b0d ldr r3, [pc, #52] ; (806b178 ) 806b144: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b148: 461a mov r2, r3 806b14a: 21ba movs r1, #186 ; 0xba 806b14c: f44f 7093 mov.w r0, #294 ; 0x126 806b150: f7ea fe04 bl 8055d5c break; 806b154: f000 bcc4 b.w 806bae0 806b158: ff0a0f1f .word 0xff0a0f1f 806b15c: 080d62a0 .word 0x080d62a0 806b160: 080d6290 .word 0x080d6290 806b164: 080d6298 .word 0x080d6298 806b168: ffd8aa57 .word 0xffd8aa57 806b16c: 20023eb8 .word 0x20023eb8 806b170: 2002033c .word 0x2002033c 806b174: 200216ac .word 0x200216ac 806b178: 2002096c .word 0x2002096c 806b17c: 080d6258 .word 0x080d6258 case RouteMax_IES: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b180: 499f ldr r1, [pc, #636] ; (806b400 ) 806b182: f04f 30ff mov.w r0, #4294967295 806b186: f7ea f841 bl 805520c LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806b18a: 4a9e ldr r2, [pc, #632] ; (806b404 ) 806b18c: 21da movs r1, #218 ; 0xda 806b18e: f240 1035 movw r0, #309 ; 0x135 806b192: f7ea fe13 bl 8055dbc LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806b196: 4a9c ldr r2, [pc, #624] ; (806b408 ) 806b198: 21da movs r1, #218 ; 0xda 806b19a: 20a0 movs r0, #160 ; 0xa0 806b19c: f7ea fdf6 bl 8055d8c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806b1a0: 4a9a ldr r2, [pc, #616] ; (806b40c ) 806b1a2: 21da movs r1, #218 ; 0xda 806b1a4: 200a movs r0, #10 806b1a6: f7ea fdd9 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806b1aa: 4995 ldr r1, [pc, #596] ; (806b400 ) 806b1ac: 4898 ldr r0, [pc, #608] ; (806b410 ) 806b1ae: f7ea f82d bl 805520c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806b1b2: 4b98 ldr r3, [pc, #608] ; (806b414 ) 806b1b4: 7b1b ldrb r3, [r3, #12] 806b1b6: b2db uxtb r3, r3 806b1b8: 461a mov r2, r3 806b1ba: 4b96 ldr r3, [pc, #600] ; (806b414 ) 806b1bc: 7b9b ldrb r3, [r3, #14] 806b1be: b2db uxtb r3, r3 806b1c0: 4618 mov r0, r3 806b1c2: 4995 ldr r1, [pc, #596] ; (806b418 ) 806b1c4: 4613 mov r3, r2 806b1c6: 009b lsls r3, r3, #2 806b1c8: 4413 add r3, r2 806b1ca: 005b lsls r3, r3, #1 806b1cc: 4413 add r3, r2 806b1ce: 4403 add r3, r0 806b1d0: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806b1d4: 461a mov r2, r3 806b1d6: 219a movs r1, #154 ; 0x9a 806b1d8: f44f 7082 mov.w r0, #260 ; 0x104 806b1dc: f7ea fdd6 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b1e0: 4987 ldr r1, [pc, #540] ; (806b400 ) 806b1e2: f04f 30ff mov.w r0, #4294967295 806b1e6: f7ea f811 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806b1ea: 230a movs r3, #10 806b1ec: 220a movs r2, #10 806b1ee: 218d movs r1, #141 ; 0x8d 806b1f0: 20ff movs r0, #255 ; 0xff 806b1f2: f7ea fc99 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806b1f6: 230a movs r3, #10 806b1f8: 220a movs r2, #10 806b1fa: 21ad movs r1, #173 ; 0xad 806b1fc: 20ff movs r0, #255 ; 0xff 806b1fe: f7ea fc93 bl 8055b28 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806b202: 497f ldr r1, [pc, #508] ; (806b400 ) 806b204: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806b208: f7ea f800 bl 805520c if(blk) 806b20c: 4b83 ldr r3, [pc, #524] ; (806b41c ) 806b20e: 681b ldr r3, [r3, #0] 806b210: 2b00 cmp r3, #0 806b212: d00b beq.n 806b22c LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 806b214: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 806b218: b2db uxtb r3, r3 806b21a: 461a mov r2, r3 806b21c: 4b80 ldr r3, [pc, #512] ; (806b420 ) 806b21e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b222: 461a mov r2, r3 806b224: 21ba movs r1, #186 ; 0xba 806b226: 20e6 movs r0, #230 ; 0xe6 806b228: f7ea fd98 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806b22c: 4974 ldr r1, [pc, #464] ; (806b400 ) 806b22e: 4878 ldr r0, [pc, #480] ; (806b410 ) 806b230: f7e9 ffec bl 805520c LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 806b234: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806b238: b2db uxtb r3, r3 806b23a: 461a mov r2, r3 806b23c: 4b78 ldr r3, [pc, #480] ; (806b420 ) 806b23e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b242: 461a mov r2, r3 806b244: 21ba movs r1, #186 ; 0xba 806b246: 20c6 movs r0, #198 ; 0xc6 806b248: f7ea fd88 bl 8055d5c LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 806b24c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 806b250: b2db uxtb r3, r3 806b252: 461a mov r2, r3 806b254: 4b72 ldr r3, [pc, #456] ; (806b420 ) 806b256: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b25a: 461a mov r2, r3 806b25c: 21ba movs r1, #186 ; 0xba 806b25e: 20d6 movs r0, #214 ; 0xd6 806b260: f7ea fd7c bl 8055d5c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 806b264: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 806b268: b2db uxtb r3, r3 806b26a: 461a mov r2, r3 806b26c: 4b6c ldr r3, [pc, #432] ; (806b420 ) 806b26e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b272: 461a mov r2, r3 806b274: 21ba movs r1, #186 ; 0xba 806b276: 20f6 movs r0, #246 ; 0xf6 806b278: f7ea fd70 bl 8055d5c LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 806b27c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 806b280: b2db uxtb r3, r3 806b282: 461a mov r2, r3 806b284: 4b66 ldr r3, [pc, #408] ; (806b420 ) 806b286: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b28a: 461a mov r2, r3 806b28c: 21ba movs r1, #186 ; 0xba 806b28e: f44f 7083 mov.w r0, #262 ; 0x106 806b292: f7ea fd63 bl 8055d5c LCD_DisplayString(278, LCD_LINE_11, "."); 806b296: 4a63 ldr r2, [pc, #396] ; (806b424 ) 806b298: 21ba movs r1, #186 ; 0xba 806b29a: f44f 708b mov.w r0, #278 ; 0x116 806b29e: f7ea fd5d bl 8055d5c LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 806b2a2: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 806b2a6: b2db uxtb r3, r3 806b2a8: 461a mov r2, r3 806b2aa: 4b5d ldr r3, [pc, #372] ; (806b420 ) 806b2ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b2b0: 461a mov r2, r3 806b2b2: 21ba movs r1, #186 ; 0xba 806b2b4: f44f 7093 mov.w r0, #294 ; 0x126 806b2b8: f7ea fd50 bl 8055d5c break; 806b2bc: f000 bc10 b.w 806bae0 case RouteMax_IED: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b2c0: 494f ldr r1, [pc, #316] ; (806b400 ) 806b2c2: f04f 30ff mov.w r0, #4294967295 806b2c6: f7e9 ffa1 bl 805520c LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806b2ca: 4a4e ldr r2, [pc, #312] ; (806b404 ) 806b2cc: 21da movs r1, #218 ; 0xda 806b2ce: f240 1035 movw r0, #309 ; 0x135 806b2d2: f7ea fd73 bl 8055dbc LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806b2d6: 4a4c ldr r2, [pc, #304] ; (806b408 ) 806b2d8: 21da movs r1, #218 ; 0xda 806b2da: 20a0 movs r0, #160 ; 0xa0 806b2dc: f7ea fd56 bl 8055d8c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806b2e0: 4a4a ldr r2, [pc, #296] ; (806b40c ) 806b2e2: 21da movs r1, #218 ; 0xda 806b2e4: 200a movs r0, #10 806b2e6: f7ea fd39 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806b2ea: 4945 ldr r1, [pc, #276] ; (806b400 ) 806b2ec: 4848 ldr r0, [pc, #288] ; (806b410 ) 806b2ee: f7e9 ff8d bl 805520c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806b2f2: 4b48 ldr r3, [pc, #288] ; (806b414 ) 806b2f4: 7b1b ldrb r3, [r3, #12] 806b2f6: b2db uxtb r3, r3 806b2f8: 461a mov r2, r3 806b2fa: 4b46 ldr r3, [pc, #280] ; (806b414 ) 806b2fc: 7b9b ldrb r3, [r3, #14] 806b2fe: b2db uxtb r3, r3 806b300: 4618 mov r0, r3 806b302: 4945 ldr r1, [pc, #276] ; (806b418 ) 806b304: 4613 mov r3, r2 806b306: 009b lsls r3, r3, #2 806b308: 4413 add r3, r2 806b30a: 005b lsls r3, r3, #1 806b30c: 4413 add r3, r2 806b30e: 4403 add r3, r0 806b310: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806b314: 461a mov r2, r3 806b316: 219a movs r1, #154 ; 0x9a 806b318: f44f 7082 mov.w r0, #260 ; 0x104 806b31c: f7ea fd36 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b320: 4937 ldr r1, [pc, #220] ; (806b400 ) 806b322: f04f 30ff mov.w r0, #4294967295 806b326: f7e9 ff71 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806b32a: 230a movs r3, #10 806b32c: 220a movs r2, #10 806b32e: 218d movs r1, #141 ; 0x8d 806b330: 20ff movs r0, #255 ; 0xff 806b332: f7ea fbf9 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806b336: 230a movs r3, #10 806b338: 220a movs r2, #10 806b33a: 21ad movs r1, #173 ; 0xad 806b33c: 20ff movs r0, #255 ; 0xff 806b33e: f7ea fbf3 bl 8055b28 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806b342: 492f ldr r1, [pc, #188] ; (806b400 ) 806b344: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806b348: f7e9 ff60 bl 805520c if(blk) 806b34c: 4b33 ldr r3, [pc, #204] ; (806b41c ) 806b34e: 681b ldr r3, [r3, #0] 806b350: 2b00 cmp r3, #0 806b352: d00b beq.n 806b36c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 806b354: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 806b358: b2db uxtb r3, r3 806b35a: 461a mov r2, r3 806b35c: 4b30 ldr r3, [pc, #192] ; (806b420 ) 806b35e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b362: 461a mov r2, r3 806b364: 21ba movs r1, #186 ; 0xba 806b366: 20f6 movs r0, #246 ; 0xf6 806b368: f7ea fcf8 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806b36c: 4924 ldr r1, [pc, #144] ; (806b400 ) 806b36e: 4828 ldr r0, [pc, #160] ; (806b410 ) 806b370: f7e9 ff4c bl 805520c LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 806b374: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806b378: b2db uxtb r3, r3 806b37a: 461a mov r2, r3 806b37c: 4b28 ldr r3, [pc, #160] ; (806b420 ) 806b37e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b382: 461a mov r2, r3 806b384: 21ba movs r1, #186 ; 0xba 806b386: 20c6 movs r0, #198 ; 0xc6 806b388: f7ea fce8 bl 8055d5c LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 806b38c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 806b390: b2db uxtb r3, r3 806b392: 461a mov r2, r3 806b394: 4b22 ldr r3, [pc, #136] ; (806b420 ) 806b396: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b39a: 461a mov r2, r3 806b39c: 21ba movs r1, #186 ; 0xba 806b39e: 20d6 movs r0, #214 ; 0xd6 806b3a0: f7ea fcdc bl 8055d5c LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 806b3a4: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 806b3a8: b2db uxtb r3, r3 806b3aa: 461a mov r2, r3 806b3ac: 4b1c ldr r3, [pc, #112] ; (806b420 ) 806b3ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b3b2: 461a mov r2, r3 806b3b4: 21ba movs r1, #186 ; 0xba 806b3b6: 20e6 movs r0, #230 ; 0xe6 806b3b8: f7ea fcd0 bl 8055d5c LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 806b3bc: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 806b3c0: b2db uxtb r3, r3 806b3c2: 461a mov r2, r3 806b3c4: 4b16 ldr r3, [pc, #88] ; (806b420 ) 806b3c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b3ca: 461a mov r2, r3 806b3cc: 21ba movs r1, #186 ; 0xba 806b3ce: f44f 7083 mov.w r0, #262 ; 0x106 806b3d2: f7ea fcc3 bl 8055d5c LCD_DisplayString(278, LCD_LINE_11, "."); 806b3d6: 4a13 ldr r2, [pc, #76] ; (806b424 ) 806b3d8: 21ba movs r1, #186 ; 0xba 806b3da: f44f 708b mov.w r0, #278 ; 0x116 806b3de: f7ea fcbd bl 8055d5c LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 806b3e2: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 806b3e6: b2db uxtb r3, r3 806b3e8: 461a mov r2, r3 806b3ea: 4b0d ldr r3, [pc, #52] ; (806b420 ) 806b3ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b3f0: 461a mov r2, r3 806b3f2: 21ba movs r1, #186 ; 0xba 806b3f4: f44f 7093 mov.w r0, #294 ; 0x126 806b3f8: f7ea fcb0 bl 8055d5c break; 806b3fc: e370 b.n 806bae0 806b3fe: bf00 nop 806b400: ff0a0f1f .word 0xff0a0f1f 806b404: 080d62a0 .word 0x080d62a0 806b408: 080d6290 .word 0x080d6290 806b40c: 080d6298 .word 0x080d6298 806b410: ffd8aa57 .word 0xffd8aa57 806b414: 20023eb8 .word 0x20023eb8 806b418: 2002033c .word 0x2002033c 806b41c: 200216ac .word 0x200216ac 806b420: 2002096c .word 0x2002096c 806b424: 080d6258 .word 0x080d6258 case RouteMax_IEE: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b428: 49d0 ldr r1, [pc, #832] ; (806b76c ) 806b42a: f04f 30ff mov.w r0, #4294967295 806b42e: f7e9 feed bl 805520c LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806b432: 4acf ldr r2, [pc, #828] ; (806b770 ) 806b434: 21da movs r1, #218 ; 0xda 806b436: f240 1035 movw r0, #309 ; 0x135 806b43a: f7ea fcbf bl 8055dbc LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806b43e: 4acd ldr r2, [pc, #820] ; (806b774 ) 806b440: 21da movs r1, #218 ; 0xda 806b442: 20a0 movs r0, #160 ; 0xa0 806b444: f7ea fca2 bl 8055d8c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806b448: 4acb ldr r2, [pc, #812] ; (806b778 ) 806b44a: 21da movs r1, #218 ; 0xda 806b44c: 200a movs r0, #10 806b44e: f7ea fc85 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806b452: 49c6 ldr r1, [pc, #792] ; (806b76c ) 806b454: 48c9 ldr r0, [pc, #804] ; (806b77c ) 806b456: f7e9 fed9 bl 805520c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806b45a: 4bc9 ldr r3, [pc, #804] ; (806b780 ) 806b45c: 7b1b ldrb r3, [r3, #12] 806b45e: b2db uxtb r3, r3 806b460: 461a mov r2, r3 806b462: 4bc7 ldr r3, [pc, #796] ; (806b780 ) 806b464: 7b9b ldrb r3, [r3, #14] 806b466: b2db uxtb r3, r3 806b468: 4618 mov r0, r3 806b46a: 49c6 ldr r1, [pc, #792] ; (806b784 ) 806b46c: 4613 mov r3, r2 806b46e: 009b lsls r3, r3, #2 806b470: 4413 add r3, r2 806b472: 005b lsls r3, r3, #1 806b474: 4413 add r3, r2 806b476: 4403 add r3, r0 806b478: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806b47c: 461a mov r2, r3 806b47e: 219a movs r1, #154 ; 0x9a 806b480: f44f 7082 mov.w r0, #260 ; 0x104 806b484: f7ea fc82 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b488: 49b8 ldr r1, [pc, #736] ; (806b76c ) 806b48a: f04f 30ff mov.w r0, #4294967295 806b48e: f7e9 febd bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806b492: 230a movs r3, #10 806b494: 220a movs r2, #10 806b496: 218d movs r1, #141 ; 0x8d 806b498: 20ff movs r0, #255 ; 0xff 806b49a: f7ea fb45 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806b49e: 230a movs r3, #10 806b4a0: 220a movs r2, #10 806b4a2: 21ad movs r1, #173 ; 0xad 806b4a4: 20ff movs r0, #255 ; 0xff 806b4a6: f7ea fb3f bl 8055b28 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806b4aa: 49b0 ldr r1, [pc, #704] ; (806b76c ) 806b4ac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806b4b0: f7e9 feac bl 805520c if(blk) 806b4b4: 4bb4 ldr r3, [pc, #720] ; (806b788 ) 806b4b6: 681b ldr r3, [r3, #0] 806b4b8: 2b00 cmp r3, #0 806b4ba: d00c beq.n 806b4d6 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 806b4bc: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 806b4c0: b2db uxtb r3, r3 806b4c2: 461a mov r2, r3 806b4c4: 4bb1 ldr r3, [pc, #708] ; (806b78c ) 806b4c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b4ca: 461a mov r2, r3 806b4cc: 21ba movs r1, #186 ; 0xba 806b4ce: f44f 7083 mov.w r0, #262 ; 0x106 806b4d2: f7ea fc43 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806b4d6: 49a5 ldr r1, [pc, #660] ; (806b76c ) 806b4d8: 48a8 ldr r0, [pc, #672] ; (806b77c ) 806b4da: f7e9 fe97 bl 805520c LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 806b4de: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806b4e2: b2db uxtb r3, r3 806b4e4: 461a mov r2, r3 806b4e6: 4ba9 ldr r3, [pc, #676] ; (806b78c ) 806b4e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b4ec: 461a mov r2, r3 806b4ee: 21ba movs r1, #186 ; 0xba 806b4f0: 20c6 movs r0, #198 ; 0xc6 806b4f2: f7ea fc33 bl 8055d5c LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 806b4f6: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 806b4fa: b2db uxtb r3, r3 806b4fc: 461a mov r2, r3 806b4fe: 4ba3 ldr r3, [pc, #652] ; (806b78c ) 806b500: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b504: 461a mov r2, r3 806b506: 21ba movs r1, #186 ; 0xba 806b508: 20d6 movs r0, #214 ; 0xd6 806b50a: f7ea fc27 bl 8055d5c LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 806b50e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 806b512: b2db uxtb r3, r3 806b514: 461a mov r2, r3 806b516: 4b9d ldr r3, [pc, #628] ; (806b78c ) 806b518: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b51c: 461a mov r2, r3 806b51e: 21ba movs r1, #186 ; 0xba 806b520: 20e6 movs r0, #230 ; 0xe6 806b522: f7ea fc1b bl 8055d5c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 806b526: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 806b52a: b2db uxtb r3, r3 806b52c: 461a mov r2, r3 806b52e: 4b97 ldr r3, [pc, #604] ; (806b78c ) 806b530: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b534: 461a mov r2, r3 806b536: 21ba movs r1, #186 ; 0xba 806b538: 20f6 movs r0, #246 ; 0xf6 806b53a: f7ea fc0f bl 8055d5c LCD_DisplayString(278, LCD_LINE_11, "."); 806b53e: 4a94 ldr r2, [pc, #592] ; (806b790 ) 806b540: 21ba movs r1, #186 ; 0xba 806b542: f44f 708b mov.w r0, #278 ; 0x116 806b546: f7ea fc09 bl 8055d5c LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 806b54a: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 806b54e: b2db uxtb r3, r3 806b550: 461a mov r2, r3 806b552: 4b8e ldr r3, [pc, #568] ; (806b78c ) 806b554: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b558: 461a mov r2, r3 806b55a: 21ba movs r1, #186 ; 0xba 806b55c: f44f 7093 mov.w r0, #294 ; 0x126 806b560: f7ea fbfc bl 8055d5c break; 806b564: e2bc b.n 806bae0 case RouteMax_IKD: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b566: 4981 ldr r1, [pc, #516] ; (806b76c ) 806b568: f04f 30ff mov.w r0, #4294967295 806b56c: f7e9 fe4e bl 805520c LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806b570: 4a7f ldr r2, [pc, #508] ; (806b770 ) 806b572: 21da movs r1, #218 ; 0xda 806b574: f240 1035 movw r0, #309 ; 0x135 806b578: f7ea fc20 bl 8055dbc LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806b57c: 4a7d ldr r2, [pc, #500] ; (806b774 ) 806b57e: 21da movs r1, #218 ; 0xda 806b580: 20a0 movs r0, #160 ; 0xa0 806b582: f7ea fc03 bl 8055d8c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806b586: 4a7c ldr r2, [pc, #496] ; (806b778 ) 806b588: 21da movs r1, #218 ; 0xda 806b58a: 200a movs r0, #10 806b58c: f7ea fbe6 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806b590: 4976 ldr r1, [pc, #472] ; (806b76c ) 806b592: 487a ldr r0, [pc, #488] ; (806b77c ) 806b594: f7e9 fe3a bl 805520c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806b598: 4b79 ldr r3, [pc, #484] ; (806b780 ) 806b59a: 7b1b ldrb r3, [r3, #12] 806b59c: b2db uxtb r3, r3 806b59e: 461a mov r2, r3 806b5a0: 4b77 ldr r3, [pc, #476] ; (806b780 ) 806b5a2: 7b9b ldrb r3, [r3, #14] 806b5a4: b2db uxtb r3, r3 806b5a6: 4618 mov r0, r3 806b5a8: 4976 ldr r1, [pc, #472] ; (806b784 ) 806b5aa: 4613 mov r3, r2 806b5ac: 009b lsls r3, r3, #2 806b5ae: 4413 add r3, r2 806b5b0: 005b lsls r3, r3, #1 806b5b2: 4413 add r3, r2 806b5b4: 4403 add r3, r0 806b5b6: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806b5ba: 461a mov r2, r3 806b5bc: 219a movs r1, #154 ; 0x9a 806b5be: f44f 7082 mov.w r0, #260 ; 0x104 806b5c2: f7ea fbe3 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b5c6: 4969 ldr r1, [pc, #420] ; (806b76c ) 806b5c8: f04f 30ff mov.w r0, #4294967295 806b5cc: f7e9 fe1e bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806b5d0: 230a movs r3, #10 806b5d2: 220a movs r2, #10 806b5d4: 218d movs r1, #141 ; 0x8d 806b5d6: 20ff movs r0, #255 ; 0xff 806b5d8: f7ea faa6 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806b5dc: 230a movs r3, #10 806b5de: 220a movs r2, #10 806b5e0: 21ad movs r1, #173 ; 0xad 806b5e2: 20ff movs r0, #255 ; 0xff 806b5e4: f7ea faa0 bl 8055b28 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806b5e8: 4960 ldr r1, [pc, #384] ; (806b76c ) 806b5ea: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806b5ee: f7e9 fe0d bl 805520c if(blk) 806b5f2: 4b65 ldr r3, [pc, #404] ; (806b788 ) 806b5f4: 681b ldr r3, [r3, #0] 806b5f6: 2b00 cmp r3, #0 806b5f8: d00c beq.n 806b614 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 806b5fa: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 806b5fe: b2db uxtb r3, r3 806b600: 461a mov r2, r3 806b602: 4b62 ldr r3, [pc, #392] ; (806b78c ) 806b604: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b608: 461a mov r2, r3 806b60a: 21ba movs r1, #186 ; 0xba 806b60c: f44f 7093 mov.w r0, #294 ; 0x126 806b610: f7ea fba4 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806b614: 4955 ldr r1, [pc, #340] ; (806b76c ) 806b616: 4859 ldr r0, [pc, #356] ; (806b77c ) 806b618: f7e9 fdf8 bl 805520c LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 806b61c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806b620: b2db uxtb r3, r3 806b622: 461a mov r2, r3 806b624: 4b59 ldr r3, [pc, #356] ; (806b78c ) 806b626: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b62a: 461a mov r2, r3 806b62c: 21ba movs r1, #186 ; 0xba 806b62e: 20c6 movs r0, #198 ; 0xc6 806b630: f7ea fb94 bl 8055d5c LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 806b634: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 806b638: b2db uxtb r3, r3 806b63a: 461a mov r2, r3 806b63c: 4b53 ldr r3, [pc, #332] ; (806b78c ) 806b63e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b642: 461a mov r2, r3 806b644: 21ba movs r1, #186 ; 0xba 806b646: 20d6 movs r0, #214 ; 0xd6 806b648: f7ea fb88 bl 8055d5c LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 806b64c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 806b650: b2db uxtb r3, r3 806b652: 461a mov r2, r3 806b654: 4b4d ldr r3, [pc, #308] ; (806b78c ) 806b656: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b65a: 461a mov r2, r3 806b65c: 21ba movs r1, #186 ; 0xba 806b65e: 20e6 movs r0, #230 ; 0xe6 806b660: f7ea fb7c bl 8055d5c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 806b664: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 806b668: b2db uxtb r3, r3 806b66a: 461a mov r2, r3 806b66c: 4b47 ldr r3, [pc, #284] ; (806b78c ) 806b66e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b672: 461a mov r2, r3 806b674: 21ba movs r1, #186 ; 0xba 806b676: 20f6 movs r0, #246 ; 0xf6 806b678: f7ea fb70 bl 8055d5c LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 806b67c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 806b680: b2db uxtb r3, r3 806b682: 461a mov r2, r3 806b684: 4b41 ldr r3, [pc, #260] ; (806b78c ) 806b686: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806b68a: 461a mov r2, r3 806b68c: 21ba movs r1, #186 ; 0xba 806b68e: f44f 7083 mov.w r0, #262 ; 0x106 806b692: f7ea fb63 bl 8055d5c LCD_DisplayString(278, LCD_LINE_11, "."); 806b696: 4a3e ldr r2, [pc, #248] ; (806b790 ) 806b698: 21ba movs r1, #186 ; 0xba 806b69a: f44f 708b mov.w r0, #278 ; 0x116 806b69e: f7ea fb5d bl 8055d5c break; 806b6a2: e21d b.n 806bae0 case RouteTacho: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806b6a4: 4931 ldr r1, [pc, #196] ; (806b76c ) 806b6a6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806b6aa: f7e9 fdaf bl 805520c BSP_LCD_FillRect(253, CHECKBOX_LINE_8-2, 14, 14); 806b6ae: 230e movs r3, #14 806b6b0: 220e movs r2, #14 806b6b2: 218b movs r1, #139 ; 0x8b 806b6b4: 20fd movs r0, #253 ; 0xfd 806b6b6: f7ea fa37 bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b6ba: 492c ldr r1, [pc, #176] ; (806b76c ) 806b6bc: f04f 30ff mov.w r0, #4294967295 806b6c0: f7e9 fda4 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806b6c4: 230a movs r3, #10 806b6c6: 220a movs r2, #10 806b6c8: 218d movs r1, #141 ; 0x8d 806b6ca: 20ff movs r0, #255 ; 0xff 806b6cc: f7ea fa2c bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b6d0: 4926 ldr r1, [pc, #152] ; (806b76c ) 806b6d2: f04f 30ff mov.w r0, #4294967295 806b6d6: f7e9 fd99 bl 805520c LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806b6da: 4a25 ldr r2, [pc, #148] ; (806b770 ) 806b6dc: 21da movs r1, #218 ; 0xda 806b6de: f240 1035 movw r0, #309 ; 0x135 806b6e2: f7ea fb6b bl 8055dbc LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806b6e6: 4a23 ldr r2, [pc, #140] ; (806b774 ) 806b6e8: 21da movs r1, #218 ; 0xda 806b6ea: 20a0 movs r0, #160 ; 0xa0 806b6ec: f7ea fb4e bl 8055d8c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806b6f0: 4a21 ldr r2, [pc, #132] ; (806b778 ) 806b6f2: 21da movs r1, #218 ; 0xda 806b6f4: 200a movs r0, #10 806b6f6: f7ea fb31 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806b6fa: 491c ldr r1, [pc, #112] ; (806b76c ) 806b6fc: 481f ldr r0, [pc, #124] ; (806b77c ) 806b6fe: f7e9 fd85 bl 805520c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806b702: 4b1f ldr r3, [pc, #124] ; (806b780 ) 806b704: 7b1b ldrb r3, [r3, #12] 806b706: b2db uxtb r3, r3 806b708: 461a mov r2, r3 806b70a: 4b1d ldr r3, [pc, #116] ; (806b780 ) 806b70c: 7b9b ldrb r3, [r3, #14] 806b70e: b2db uxtb r3, r3 806b710: 4618 mov r0, r3 806b712: 491c ldr r1, [pc, #112] ; (806b784 ) 806b714: 4613 mov r3, r2 806b716: 009b lsls r3, r3, #2 806b718: 4413 add r3, r2 806b71a: 005b lsls r3, r3, #1 806b71c: 4413 add r3, r2 806b71e: 4403 add r3, r0 806b720: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806b724: 461a mov r2, r3 806b726: 219a movs r1, #154 ; 0x9a 806b728: f44f 7082 mov.w r0, #260 ; 0x104 806b72c: f7ea fb2e bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b730: 490e ldr r1, [pc, #56] ; (806b76c ) 806b732: f04f 30ff mov.w r0, #4294967295 806b736: f7e9 fd69 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806b73a: 230a movs r3, #10 806b73c: 220a movs r2, #10 806b73e: 218d movs r1, #141 ; 0x8d 806b740: 20ff movs r0, #255 ; 0xff 806b742: f7ea f9f1 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806b746: 230a movs r3, #10 806b748: 220a movs r2, #10 806b74a: 21ad movs r1, #173 ; 0xad 806b74c: 20ff movs r0, #255 ; 0xff 806b74e: f7ea f9eb bl 8055b28 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 806b752: 4b0b ldr r3, [pc, #44] ; (806b780 ) 806b754: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806b758: f003 0304 and.w r3, r3, #4 806b75c: 2b00 cmp r3, #0 806b75e: d119 bne.n 806b794 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806b760: 4902 ldr r1, [pc, #8] ; (806b76c ) 806b762: 4806 ldr r0, [pc, #24] ; (806b77c ) 806b764: f7e9 fd52 bl 805520c 806b768: e018 b.n 806b79c 806b76a: bf00 nop 806b76c: ff0a0f1f .word 0xff0a0f1f 806b770: 080d62a0 .word 0x080d62a0 806b774: 080d6290 .word 0x080d6290 806b778: 080d6298 .word 0x080d6298 806b77c: ffd8aa57 .word 0xffd8aa57 806b780: 20023eb8 .word 0x20023eb8 806b784: 2002033c .word 0x2002033c 806b788: 200216ac .word 0x200216ac 806b78c: 2002096c .word 0x2002096c 806b790: 080d6258 .word 0x080d6258 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 806b794: 498e ldr r1, [pc, #568] ; (806b9d0 ) 806b796: 488f ldr r0, [pc, #572] ; (806b9d4 ) 806b798: f7e9 fd38 bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, strMax); 806b79c: f507 73c0 add.w r3, r7, #384 ; 0x180 806b7a0: 461a mov r2, r3 806b7a2: 21ba movs r1, #186 ; 0xba 806b7a4: f44f 7082 mov.w r0, #260 ; 0x104 806b7a8: f7ea faf0 bl 8055d8c break; 806b7ac: e198 b.n 806bae0 case RouteNullNo: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806b7ae: 4988 ldr r1, [pc, #544] ; (806b9d0 ) 806b7b0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806b7b4: f7e9 fd2a bl 805520c LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806b7b8: 4a87 ldr r2, [pc, #540] ; (806b9d8 ) 806b7ba: 21da movs r1, #218 ; 0xda 806b7bc: f240 1035 movw r0, #309 ; 0x135 806b7c0: f7ea fafc bl 8055dbc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b7c4: 4982 ldr r1, [pc, #520] ; (806b9d0 ) 806b7c6: f04f 30ff mov.w r0, #4294967295 806b7ca: f7e9 fd1f bl 805520c LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806b7ce: 4a83 ldr r2, [pc, #524] ; (806b9dc ) 806b7d0: 21da movs r1, #218 ; 0xda 806b7d2: 20a0 movs r0, #160 ; 0xa0 806b7d4: f7ea fada bl 8055d8c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806b7d8: 4a81 ldr r2, [pc, #516] ; (806b9e0 ) 806b7da: 21da movs r1, #218 ; 0xda 806b7dc: 200a movs r0, #10 806b7de: f7ea fabd bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806b7e2: 497b ldr r1, [pc, #492] ; (806b9d0 ) 806b7e4: 487f ldr r0, [pc, #508] ; (806b9e4 ) 806b7e6: f7e9 fd11 bl 805520c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806b7ea: 4b7f ldr r3, [pc, #508] ; (806b9e8 ) 806b7ec: 7b1b ldrb r3, [r3, #12] 806b7ee: b2db uxtb r3, r3 806b7f0: 461a mov r2, r3 806b7f2: 4b7d ldr r3, [pc, #500] ; (806b9e8 ) 806b7f4: 7b9b ldrb r3, [r3, #14] 806b7f6: b2db uxtb r3, r3 806b7f8: 4618 mov r0, r3 806b7fa: 497c ldr r1, [pc, #496] ; (806b9ec ) 806b7fc: 4613 mov r3, r2 806b7fe: 009b lsls r3, r3, #2 806b800: 4413 add r3, r2 806b802: 005b lsls r3, r3, #1 806b804: 4413 add r3, r2 806b806: 4403 add r3, r0 806b808: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806b80c: 461a mov r2, r3 806b80e: 219a movs r1, #154 ; 0x9a 806b810: f44f 7082 mov.w r0, #260 ; 0x104 806b814: f7ea faba bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b818: 496d ldr r1, [pc, #436] ; (806b9d0 ) 806b81a: f04f 30ff mov.w r0, #4294967295 806b81e: f7e9 fcf5 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806b822: 230a movs r3, #10 806b824: 220a movs r2, #10 806b826: 218d movs r1, #141 ; 0x8d 806b828: 20ff movs r0, #255 ; 0xff 806b82a: f7ea f97d bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806b82e: 230a movs r3, #10 806b830: 220a movs r2, #10 806b832: 21ad movs r1, #173 ; 0xad 806b834: 20ff movs r0, #255 ; 0xff 806b836: f7ea f977 bl 8055b28 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 806b83a: 4b6b ldr r3, [pc, #428] ; (806b9e8 ) 806b83c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806b840: f003 0304 and.w r3, r3, #4 806b844: 2b00 cmp r3, #0 806b846: d104 bne.n 806b852 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806b848: 4961 ldr r1, [pc, #388] ; (806b9d0 ) 806b84a: 4866 ldr r0, [pc, #408] ; (806b9e4 ) 806b84c: f7e9 fcde bl 805520c 806b850: e003 b.n 806b85a else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 806b852: 495f ldr r1, [pc, #380] ; (806b9d0 ) 806b854: 485f ldr r0, [pc, #380] ; (806b9d4 ) 806b856: f7e9 fcd9 bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, strMax); 806b85a: f507 73c0 add.w r3, r7, #384 ; 0x180 806b85e: 461a mov r2, r3 806b860: 21ba movs r1, #186 ; 0xba 806b862: f44f 7082 mov.w r0, #260 ; 0x104 806b866: f7ea fa91 bl 8055d8c if(pardata.OPTIONS & 0x4) // Åñëè àâòîóñèëåíèå 806b86a: 4b5f ldr r3, [pc, #380] ; (806b9e8 ) 806b86c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806b870: f003 0304 and.w r3, r3, #4 806b874: 2b00 cmp r3, #0 806b876: d00a beq.n 806b88e { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 806b878: 4955 ldr r1, [pc, #340] ; (806b9d0 ) 806b87a: 485d ldr r0, [pc, #372] ; (806b9f0 ) 806b87c: f7e9 fcc6 bl 805520c BSP_LCD_FillRect(257, CHECKBOX_LINE_10+2, 6, 6); 806b880: 2306 movs r3, #6 806b882: 2206 movs r2, #6 806b884: 21af movs r1, #175 ; 0xaf 806b886: f240 1001 movw r0, #257 ; 0x101 806b88a: f7ea f94d bl 8055b28 } if(pardata.OPTIONS & BIT7) 806b88e: 4b56 ldr r3, [pc, #344] ; (806b9e8 ) 806b890: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806b894: f003 0380 and.w r3, r3, #128 ; 0x80 806b898: 2b00 cmp r3, #0 806b89a: d00a beq.n 806b8b2 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 806b89c: 494c ldr r1, [pc, #304] ; (806b9d0 ) 806b89e: 4854 ldr r0, [pc, #336] ; (806b9f0 ) 806b8a0: f7e9 fcb4 bl 805520c BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 806b8a4: 2306 movs r3, #6 806b8a6: 2206 movs r2, #6 806b8a8: 218f movs r1, #143 ; 0x8f 806b8aa: f240 1001 movw r0, #257 ; 0x101 806b8ae: f7ea f93b bl 8055b28 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b8b2: 4947 ldr r1, [pc, #284] ; (806b9d0 ) 806b8b4: f04f 30ff mov.w r0, #4294967295 806b8b8: f7e9 fca8 bl 805520c BSP_LCD_FillRect(60-20, 72, 200+40, 124); 806b8bc: 237c movs r3, #124 ; 0x7c 806b8be: 22f0 movs r2, #240 ; 0xf0 806b8c0: 2148 movs r1, #72 ; 0x48 806b8c2: 2028 movs r0, #40 ; 0x28 806b8c4: f7ea f930 bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 806b8c8: 4941 ldr r1, [pc, #260] ; (806b9d0 ) 806b8ca: 4841 ldr r0, [pc, #260] ; (806b9d0 ) 806b8cc: f7e9 fc9e bl 805520c BSP_LCD_FillRect(62-20, 74, 196+40, 120); 806b8d0: 2378 movs r3, #120 ; 0x78 806b8d2: 22ec movs r2, #236 ; 0xec 806b8d4: 214a movs r1, #74 ; 0x4a 806b8d6: 202a movs r0, #42 ; 0x2a 806b8d8: f7ea f926 bl 8055b28 BSP_LCD_SetFont(&Font12); 806b8dc: 4845 ldr r0, [pc, #276] ; (806b9f4 ) 806b8de: f7e9 fcd1 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b8e2: 493b ldr r1, [pc, #236] ; (806b9d0 ) 806b8e4: f04f 30ff mov.w r0, #4294967295 806b8e8: f7e9 fc90 bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Õîòèòå íà÷àòü ìàðøðóò", CENTER_MODE); 806b8ec: 2301 movs r3, #1 806b8ee: 4a42 ldr r2, [pc, #264] ; (806b9f8 ) 806b8f0: 217a movs r1, #122 ; 0x7a 806b8f2: 20a0 movs r0, #160 ; 0xa0 806b8f4: f7e9 fd50 bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "çàíîâî?", CENTER_MODE); 806b8f8: 2301 movs r3, #1 806b8fa: 4a40 ldr r2, [pc, #256] ; (806b9fc ) 806b8fc: 218a movs r1, #138 ; 0x8a 806b8fe: 20a0 movs r0, #160 ; 0xa0 806b900: f7e9 fd4a bl 8055398 BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 806b904: 2302 movs r3, #2 806b906: 4a3e ldr r2, [pc, #248] ; (806ba00 ) 806b908: 21aa movs r1, #170 ; 0xaa 806b90a: f44f 7081 mov.w r0, #258 ; 0x102 806b90e: f7e9 fd43 bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806b912: 492f ldr r1, [pc, #188] ; (806b9d0 ) 806b914: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806b918: f7e9 fc78 bl 805520c BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 806b91c: 2303 movs r3, #3 806b91e: 4a39 ldr r2, [pc, #228] ; (806ba04 ) 806b920: 21aa movs r1, #170 ; 0xaa 806b922: 203e movs r0, #62 ; 0x3e 806b924: f7e9 fd38 bl 8055398 break; 806b928: e0da b.n 806bae0 case RouteNullYes: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806b92a: 4929 ldr r1, [pc, #164] ; (806b9d0 ) 806b92c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806b930: f7e9 fc6c bl 805520c LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806b934: 4a28 ldr r2, [pc, #160] ; (806b9d8 ) 806b936: 21da movs r1, #218 ; 0xda 806b938: f240 1035 movw r0, #309 ; 0x135 806b93c: f7ea fa3e bl 8055dbc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b940: 4923 ldr r1, [pc, #140] ; (806b9d0 ) 806b942: f04f 30ff mov.w r0, #4294967295 806b946: f7e9 fc61 bl 805520c LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806b94a: 4a24 ldr r2, [pc, #144] ; (806b9dc ) 806b94c: 21da movs r1, #218 ; 0xda 806b94e: 20a0 movs r0, #160 ; 0xa0 806b950: f7ea fa1c bl 8055d8c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806b954: 4a22 ldr r2, [pc, #136] ; (806b9e0 ) 806b956: 21da movs r1, #218 ; 0xda 806b958: 200a movs r0, #10 806b95a: f7ea f9ff bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806b95e: 491c ldr r1, [pc, #112] ; (806b9d0 ) 806b960: 4820 ldr r0, [pc, #128] ; (806b9e4 ) 806b962: f7e9 fc53 bl 805520c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806b966: 4b20 ldr r3, [pc, #128] ; (806b9e8 ) 806b968: 7b1b ldrb r3, [r3, #12] 806b96a: b2db uxtb r3, r3 806b96c: 461a mov r2, r3 806b96e: 4b1e ldr r3, [pc, #120] ; (806b9e8 ) 806b970: 7b9b ldrb r3, [r3, #14] 806b972: b2db uxtb r3, r3 806b974: 4618 mov r0, r3 806b976: 491d ldr r1, [pc, #116] ; (806b9ec ) 806b978: 4613 mov r3, r2 806b97a: 009b lsls r3, r3, #2 806b97c: 4413 add r3, r2 806b97e: 005b lsls r3, r3, #1 806b980: 4413 add r3, r2 806b982: 4403 add r3, r0 806b984: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806b988: 461a mov r2, r3 806b98a: 219a movs r1, #154 ; 0x9a 806b98c: f44f 7082 mov.w r0, #260 ; 0x104 806b990: f7ea f9fc bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b994: 490e ldr r1, [pc, #56] ; (806b9d0 ) 806b996: f04f 30ff mov.w r0, #4294967295 806b99a: f7e9 fc37 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806b99e: 230a movs r3, #10 806b9a0: 220a movs r2, #10 806b9a2: 218d movs r1, #141 ; 0x8d 806b9a4: 20ff movs r0, #255 ; 0xff 806b9a6: f7ea f8bf bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806b9aa: 230a movs r3, #10 806b9ac: 220a movs r2, #10 806b9ae: 21ad movs r1, #173 ; 0xad 806b9b0: 20ff movs r0, #255 ; 0xff 806b9b2: f7ea f8b9 bl 8055b28 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 806b9b6: 4b0c ldr r3, [pc, #48] ; (806b9e8 ) 806b9b8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806b9bc: f003 0304 and.w r3, r3, #4 806b9c0: 2b00 cmp r3, #0 806b9c2: d121 bne.n 806ba08 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806b9c4: 4902 ldr r1, [pc, #8] ; (806b9d0 ) 806b9c6: 4807 ldr r0, [pc, #28] ; (806b9e4 ) 806b9c8: f7e9 fc20 bl 805520c 806b9cc: e020 b.n 806ba10 806b9ce: bf00 nop 806b9d0: ff0a0f1f .word 0xff0a0f1f 806b9d4: ff808080 .word 0xff808080 806b9d8: 080d62a0 .word 0x080d62a0 806b9dc: 080d6290 .word 0x080d6290 806b9e0: 080d6298 .word 0x080d6298 806b9e4: ffd8aa57 .word 0xffd8aa57 806b9e8: 20023eb8 .word 0x20023eb8 806b9ec: 2002033c .word 0x2002033c 806b9f0: ff404040 .word 0xff404040 806b9f4: 20020038 .word 0x20020038 806b9f8: 080d62a8 .word 0x080d62a8 806b9fc: 080d62c0 .word 0x080d62c0 806ba00: 080d62c8 .word 0x080d62c8 806ba04: 080d5118 .word 0x080d5118 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 806ba08: 49cf ldr r1, [pc, #828] ; (806bd48 ) 806ba0a: 48d0 ldr r0, [pc, #832] ; (806bd4c ) 806ba0c: f7e9 fbfe bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, strMax); 806ba10: f507 73c0 add.w r3, r7, #384 ; 0x180 806ba14: 461a mov r2, r3 806ba16: 21ba movs r1, #186 ; 0xba 806ba18: f44f 7082 mov.w r0, #260 ; 0x104 806ba1c: f7ea f9b6 bl 8055d8c if(pardata.OPTIONS & 0x4) // Åñëè àâòîóñèëåíèå 806ba20: 4bcb ldr r3, [pc, #812] ; (806bd50 ) 806ba22: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806ba26: f003 0304 and.w r3, r3, #4 806ba2a: 2b00 cmp r3, #0 806ba2c: d00a beq.n 806ba44 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 806ba2e: 49c6 ldr r1, [pc, #792] ; (806bd48 ) 806ba30: 48c8 ldr r0, [pc, #800] ; (806bd54 ) 806ba32: f7e9 fbeb bl 805520c BSP_LCD_FillRect(257, CHECKBOX_LINE_10+2, 6, 6); 806ba36: 2306 movs r3, #6 806ba38: 2206 movs r2, #6 806ba3a: 21af movs r1, #175 ; 0xaf 806ba3c: f240 1001 movw r0, #257 ; 0x101 806ba40: f7ea f872 bl 8055b28 } if(pardata.OPTIONS & BIT7) 806ba44: 4bc2 ldr r3, [pc, #776] ; (806bd50 ) 806ba46: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806ba4a: f003 0380 and.w r3, r3, #128 ; 0x80 806ba4e: 2b00 cmp r3, #0 806ba50: d00a beq.n 806ba68 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 806ba52: 49bd ldr r1, [pc, #756] ; (806bd48 ) 806ba54: 48bf ldr r0, [pc, #764] ; (806bd54 ) 806ba56: f7e9 fbd9 bl 805520c BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 806ba5a: 2306 movs r3, #6 806ba5c: 2206 movs r2, #6 806ba5e: 218f movs r1, #143 ; 0x8f 806ba60: f240 1001 movw r0, #257 ; 0x101 806ba64: f7ea f860 bl 8055b28 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806ba68: 49b7 ldr r1, [pc, #732] ; (806bd48 ) 806ba6a: f04f 30ff mov.w r0, #4294967295 806ba6e: f7e9 fbcd bl 805520c BSP_LCD_FillRect(60-20, 72, 200+40, 124); 806ba72: 237c movs r3, #124 ; 0x7c 806ba74: 22f0 movs r2, #240 ; 0xf0 806ba76: 2148 movs r1, #72 ; 0x48 806ba78: 2028 movs r0, #40 ; 0x28 806ba7a: f7ea f855 bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 806ba7e: 49b2 ldr r1, [pc, #712] ; (806bd48 ) 806ba80: 48b1 ldr r0, [pc, #708] ; (806bd48 ) 806ba82: f7e9 fbc3 bl 805520c BSP_LCD_FillRect(62-20, 74, 196+40, 120); 806ba86: 2378 movs r3, #120 ; 0x78 806ba88: 22ec movs r2, #236 ; 0xec 806ba8a: 214a movs r1, #74 ; 0x4a 806ba8c: 202a movs r0, #42 ; 0x2a 806ba8e: f7ea f84b bl 8055b28 BSP_LCD_SetFont(&Font12); 806ba92: 48b1 ldr r0, [pc, #708] ; (806bd58 ) 806ba94: f7e9 fbf6 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806ba98: 49ab ldr r1, [pc, #684] ; (806bd48 ) 806ba9a: f04f 30ff mov.w r0, #4294967295 806ba9e: f7e9 fbb5 bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Õîòèòå íà÷àòü ìàðøðóò", CENTER_MODE); 806baa2: 2301 movs r3, #1 806baa4: 4aad ldr r2, [pc, #692] ; (806bd5c ) 806baa6: 217a movs r1, #122 ; 0x7a 806baa8: 20a0 movs r0, #160 ; 0xa0 806baaa: f7e9 fc75 bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "çàíîâî?", CENTER_MODE); 806baae: 2301 movs r3, #1 806bab0: 4aab ldr r2, [pc, #684] ; (806bd60 ) 806bab2: 218a movs r1, #138 ; 0x8a 806bab4: 20a0 movs r0, #160 ; 0xa0 806bab6: f7e9 fc6f bl 8055398 BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 806baba: 2303 movs r3, #3 806babc: 4aa9 ldr r2, [pc, #676] ; (806bd64 ) 806babe: 21aa movs r1, #170 ; 0xaa 806bac0: 203e movs r0, #62 ; 0x3e 806bac2: f7e9 fc69 bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806bac6: 49a0 ldr r1, [pc, #640] ; (806bd48 ) 806bac8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806bacc: f7e9 fb9e bl 805520c BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 806bad0: 2302 movs r3, #2 806bad2: 4aa5 ldr r2, [pc, #660] ; (806bd68 ) 806bad4: 21aa movs r1, #170 ; 0xaa 806bad6: f44f 7081 mov.w r0, #258 ; 0x102 806bada: f7e9 fc5d bl 8055398 break; 806bade: bf00 nop } if(menupos < RouteNullYes) 806bae0: 4ba2 ldr r3, [pc, #648] ; (806bd6c ) 806bae2: 781b ldrb r3, [r3, #0] 806bae4: b2db uxtb r3, r3 806bae6: 2b0c cmp r3, #12 806bae8: f22d 8373 bhi.w 80991d2 { if(pardata.OPTIONS & 0x4) // Åñëè àâòîóñèëåíèå 806baec: 4b98 ldr r3, [pc, #608] ; (806bd50 ) 806baee: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806baf2: f003 0304 and.w r3, r3, #4 806baf6: 2b00 cmp r3, #0 806baf8: d00a beq.n 806bb10 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 806bafa: 4993 ldr r1, [pc, #588] ; (806bd48 ) 806bafc: 4895 ldr r0, [pc, #596] ; (806bd54 ) 806bafe: f7e9 fb85 bl 805520c BSP_LCD_FillRect(257, CHECKBOX_LINE_10+2, 6, 6); 806bb02: 2306 movs r3, #6 806bb04: 2206 movs r2, #6 806bb06: 21af movs r1, #175 ; 0xaf 806bb08: f240 1001 movw r0, #257 ; 0x101 806bb0c: f7ea f80c bl 8055b28 } if(pardata.OPTIONS & BIT7) 806bb10: 4b8f ldr r3, [pc, #572] ; (806bd50 ) 806bb12: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806bb16: f003 0380 and.w r3, r3, #128 ; 0x80 806bb1a: 2b00 cmp r3, #0 806bb1c: f02d 8359 beq.w 80991d2 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 806bb20: 4989 ldr r1, [pc, #548] ; (806bd48 ) 806bb22: 488c ldr r0, [pc, #560] ; (806bd54 ) 806bb24: f7e9 fb72 bl 805520c BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 806bb28: 2306 movs r3, #6 806bb2a: 2206 movs r2, #6 806bb2c: 218f movs r1, #143 ; 0x8f 806bb2e: f240 1001 movw r0, #257 ; 0x101 806bb32: f7e9 fff9 bl 8055b28 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; 806bb36: f02d bb4c b.w 80991d2 case LOW_BAT: memset(str, 0, sizeof(str)); 806bb3a: f507 733b add.w r3, r7, #748 ; 0x2ec 806bb3e: 223c movs r2, #60 ; 0x3c 806bb40: 2100 movs r1, #0 806bb42: 4618 mov r0, r3 806bb44: f066 fa2e bl 80d1fa4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806bb48: 497f ldr r1, [pc, #508] ; (806bd48 ) 806bb4a: f04f 30ff mov.w r0, #4294967295 806bb4e: f7e9 fb5d bl 805520c BSP_LCD_SetFont(&Font12); 806bb52: 4881 ldr r0, [pc, #516] ; (806bd58 ) 806bb54: f7e9 fb96 bl 8055284 if(pardata.LANG == RUS) 806bb58: 4b7d ldr r3, [pc, #500] ; (806bd50 ) 806bb5a: 7b1b ldrb r3, [r3, #12] 806bb5c: b2db uxtb r3, r3 806bb5e: 2b00 cmp r3, #0 806bb60: d10d bne.n 806bb7e strcpy(str, "Áàòàðåÿ ðàçðÿæåíà!"); 806bb62: f507 733b add.w r3, r7, #748 ; 0x2ec 806bb66: 4a82 ldr r2, [pc, #520] ; (806bd70 ) 806bb68: 461c mov r4, r3 806bb6a: 4615 mov r5, r2 806bb6c: cd0f ldmia r5!, {r0, r1, r2, r3} 806bb6e: c40f stmia r4!, {r0, r1, r2, r3} 806bb70: 682b ldr r3, [r5, #0] 806bb72: 461a mov r2, r3 806bb74: 8022 strh r2, [r4, #0] 806bb76: 3402 adds r4, #2 806bb78: 0c1b lsrs r3, r3, #16 806bb7a: 7023 strb r3, [r4, #0] 806bb7c: e00c b.n 806bb98 else strcpy(str, "Low battery level!"); 806bb7e: f507 733b add.w r3, r7, #748 ; 0x2ec 806bb82: 4a7c ldr r2, [pc, #496] ; (806bd74 ) 806bb84: 461c mov r4, r3 806bb86: 4615 mov r5, r2 806bb88: cd0f ldmia r5!, {r0, r1, r2, r3} 806bb8a: c40f stmia r4!, {r0, r1, r2, r3} 806bb8c: 682b ldr r3, [r5, #0] 806bb8e: 461a mov r2, r3 806bb90: 8022 strh r2, [r4, #0] 806bb92: 3402 adds r4, #2 806bb94: 0c1b lsrs r3, r3, #16 806bb96: 7023 strb r3, [r4, #0] BSP_LCD_DisplayStringAt(160, 115, str, CENTER_MODE); 806bb98: f507 723b add.w r2, r7, #748 ; 0x2ec 806bb9c: 2301 movs r3, #1 806bb9e: 2173 movs r1, #115 ; 0x73 806bba0: 20a0 movs r0, #160 ; 0xa0 806bba2: f7e9 fbf9 bl 8055398 break; 806bba6: f02d bb41 b.w 809922c case TREND_A: //TODO case TREND_V: case TREND_S: memset(str, 0, sizeof(str)); 806bbaa: f507 733b add.w r3, r7, #748 ; 0x2ec 806bbae: 223c movs r2, #60 ; 0x3c 806bbb0: 2100 movs r1, #0 806bbb2: 4618 mov r0, r3 806bbb4: f066 f9f6 bl 80d1fa4 strcpy(str, MeasFileName); 806bbb8: f507 733b add.w r3, r7, #748 ; 0x2ec 806bbbc: 496e ldr r1, [pc, #440] ; (806bd78 ) 806bbbe: 4618 mov r0, r3 806bbc0: f066 fb0d bl 80d21de l = strlen(str); 806bbc4: f507 733b add.w r3, r7, #748 ; 0x2ec 806bbc8: 4618 mov r0, r3 806bbca: f7b4 fba3 bl 8020314 806bbce: 4603 mov r3, r0 806bbd0: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l - 4] = '\0'; 806bbd4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bbd8: 3b04 subs r3, #4 806bbda: f507 723b add.w r2, r7, #748 ; 0x2ec 806bbde: 2100 movs r1, #0 806bbe0: 54d1 strb r1, [r2, r3] LCD_SetColors(LCD_COLOR_LIGHTGREEN, LCD_COLOR_BLACK); 806bbe2: 4959 ldr r1, [pc, #356] ; (806bd48 ) 806bbe4: f06f 107f mvn.w r0, #8323199 ; 0x7f007f 806bbe8: f7e9 fb10 bl 805520c BSP_LCD_SetFont(&Font12); 806bbec: 485a ldr r0, [pc, #360] ; (806bd58 ) 806bbee: f7e9 fb49 bl 8055284 BSP_LCD_DisplayStringAt(318, 35, str, RIGHT_MODE); 806bbf2: f507 723b add.w r2, r7, #748 ; 0x2ec 806bbf6: 2302 movs r3, #2 806bbf8: 2123 movs r1, #35 ; 0x23 806bbfa: f44f 709f mov.w r0, #318 ; 0x13e 806bbfe: f7e9 fbcb bl 8055398 if(NEWFILE) 806bc02: 4b5e ldr r3, [pc, #376] ; (806bd7c ) 806bc04: 781b ldrb r3, [r3, #0] 806bc06: b2db uxtb r3, r3 806bc08: 2b00 cmp r3, #0 806bc0a: f000 80c5 beq.w 806bd98 { LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 806bc0e: 494e ldr r1, [pc, #312] ; (806bd48 ) 806bc10: 485b ldr r0, [pc, #364] ; (806bd80 ) 806bc12: f7e9 fafb bl 805520c if(strlen(Comment)) 806bc16: 4b5b ldr r3, [pc, #364] ; (806bd84 ) 806bc18: 781b ldrb r3, [r3, #0] 806bc1a: 2b00 cmp r3, #0 806bc1c: d025 beq.n 806bc6a { BSP_LCD_SetFont(&Font12); 806bc1e: 484e ldr r0, [pc, #312] ; (806bd58 ) 806bc20: f7e9 fb30 bl 8055284 memset(str, 0, sizeof(str)); 806bc24: f507 733b add.w r3, r7, #748 ; 0x2ec 806bc28: 223c movs r2, #60 ; 0x3c 806bc2a: 2100 movs r1, #0 806bc2c: 4618 mov r0, r3 806bc2e: f066 f9b9 bl 80d1fa4 str[0] = '"'; 806bc32: f507 733b add.w r3, r7, #748 ; 0x2ec 806bc36: 2222 movs r2, #34 ; 0x22 806bc38: 701a strb r2, [r3, #0] strcat(str, Comment); 806bc3a: f507 733b add.w r3, r7, #748 ; 0x2ec 806bc3e: 4951 ldr r1, [pc, #324] ; (806bd84 ) 806bc40: 4618 mov r0, r3 806bc42: f066 faaf bl 80d21a4 str[strlen(str)] = '"'; 806bc46: f507 733b add.w r3, r7, #748 ; 0x2ec 806bc4a: 4618 mov r0, r3 806bc4c: f7b4 fb62 bl 8020314 806bc50: 4602 mov r2, r0 806bc52: f507 733b add.w r3, r7, #748 ; 0x2ec 806bc56: 2122 movs r1, #34 ; 0x22 806bc58: 5499 strb r1, [r3, r2] BSP_LCD_DisplayStringAt(189, 55, str, CENTER_MODE); 806bc5a: f507 723b add.w r2, r7, #748 ; 0x2ec 806bc5e: 2301 movs r3, #1 806bc60: 2137 movs r1, #55 ; 0x37 806bc62: 20bd movs r0, #189 ; 0xbd 806bc64: f7e9 fb98 bl 8055398 806bc68: e107 b.n 806be7a } else { memset(str, 0, sizeof(str)); 806bc6a: f507 733b add.w r3, r7, #748 ; 0x2ec 806bc6e: 223c movs r2, #60 ; 0x3c 806bc70: 2100 movs r1, #0 806bc72: 4618 mov r0, r3 806bc74: f066 f996 bl 80d1fa4 str[0] = '"'; 806bc78: f507 733b add.w r3, r7, #748 ; 0x2ec 806bc7c: 2222 movs r2, #34 ; 0x22 806bc7e: 701a strb r2, [r3, #0] if(pardata.LANG == RUS) 806bc80: 4b33 ldr r3, [pc, #204] ; (806bd50 ) 806bc82: 7b1b ldrb r3, [r3, #12] 806bc84: b2db uxtb r3, r3 806bc86: 2b00 cmp r3, #0 806bc88: d111 bne.n 806bcae strcat(str, "ÒÎ×ÊÀ "); 806bc8a: f507 733b add.w r3, r7, #748 ; 0x2ec 806bc8e: 4618 mov r0, r3 806bc90: f7b4 fb40 bl 8020314 806bc94: 4603 mov r3, r0 806bc96: 461a mov r2, r3 806bc98: f507 733b add.w r3, r7, #748 ; 0x2ec 806bc9c: 4413 add r3, r2 806bc9e: 4a3a ldr r2, [pc, #232] ; (806bd88 ) 806bca0: 6810 ldr r0, [r2, #0] 806bca2: 6018 str r0, [r3, #0] 806bca4: 8891 ldrh r1, [r2, #4] 806bca6: 7992 ldrb r2, [r2, #6] 806bca8: 8099 strh r1, [r3, #4] 806bcaa: 719a strb r2, [r3, #6] 806bcac: e010 b.n 806bcd0 else strcat(str, "POINT "); 806bcae: f507 733b add.w r3, r7, #748 ; 0x2ec 806bcb2: 4618 mov r0, r3 806bcb4: f7b4 fb2e bl 8020314 806bcb8: 4603 mov r3, r0 806bcba: 461a mov r2, r3 806bcbc: f507 733b add.w r3, r7, #748 ; 0x2ec 806bcc0: 4413 add r3, r2 806bcc2: 4a32 ldr r2, [pc, #200] ; (806bd8c ) 806bcc4: 6810 ldr r0, [r2, #0] 806bcc6: 6018 str r0, [r3, #0] 806bcc8: 8891 ldrh r1, [r2, #4] 806bcca: 7992 ldrb r2, [r2, #6] 806bccc: 8099 strh r1, [r3, #4] 806bcce: 719a strb r2, [r3, #6] l = strlen(str); 806bcd0: f507 733b add.w r3, r7, #748 ; 0x2ec 806bcd4: 4618 mov r0, r3 806bcd6: f7b4 fb1d bl 8020314 806bcda: 4603 mov r3, r0 806bcdc: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l] = ((NextIndexPoint + 1) / 10) + 48; 806bce0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bce4: 4a2a ldr r2, [pc, #168] ; (806bd90 ) 806bce6: 6812 ldr r2, [r2, #0] 806bce8: 3201 adds r2, #1 806bcea: 492a ldr r1, [pc, #168] ; (806bd94 ) 806bcec: fba1 1202 umull r1, r2, r1, r2 806bcf0: 08d2 lsrs r2, r2, #3 806bcf2: b2d2 uxtb r2, r2 806bcf4: 3230 adds r2, #48 ; 0x30 806bcf6: b2d1 uxtb r1, r2 806bcf8: f507 723b add.w r2, r7, #748 ; 0x2ec 806bcfc: 54d1 strb r1, [r2, r3] str[l + 1] = ((NextIndexPoint + 1) % 10) + 48; 806bcfe: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bd02: 1c58 adds r0, r3, #1 806bd04: 4b22 ldr r3, [pc, #136] ; (806bd90 ) 806bd06: 681b ldr r3, [r3, #0] 806bd08: 1c59 adds r1, r3, #1 806bd0a: 4b22 ldr r3, [pc, #136] ; (806bd94 ) 806bd0c: fba3 2301 umull r2, r3, r3, r1 806bd10: 08da lsrs r2, r3, #3 806bd12: 4613 mov r3, r2 806bd14: 009b lsls r3, r3, #2 806bd16: 4413 add r3, r2 806bd18: 005b lsls r3, r3, #1 806bd1a: 1aca subs r2, r1, r3 806bd1c: b2d3 uxtb r3, r2 806bd1e: 3330 adds r3, #48 ; 0x30 806bd20: b2da uxtb r2, r3 806bd22: f507 733b add.w r3, r7, #748 ; 0x2ec 806bd26: 541a strb r2, [r3, r0] str[l + 2] = '"'; 806bd28: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bd2c: 3302 adds r3, #2 806bd2e: f507 723b add.w r2, r7, #748 ; 0x2ec 806bd32: 2122 movs r1, #34 ; 0x22 806bd34: 54d1 strb r1, [r2, r3] BSP_LCD_DisplayStringAt(189, 55, str, CENTER_MODE); 806bd36: f507 723b add.w r2, r7, #748 ; 0x2ec 806bd3a: 2301 movs r3, #1 806bd3c: 2137 movs r1, #55 ; 0x37 806bd3e: 20bd movs r0, #189 ; 0xbd 806bd40: f7e9 fb2a bl 8055398 806bd44: e099 b.n 806be7a 806bd46: bf00 nop 806bd48: ff0a0f1f .word 0xff0a0f1f 806bd4c: ff808080 .word 0xff808080 806bd50: 20023eb8 .word 0x20023eb8 806bd54: ff404040 .word 0xff404040 806bd58: 20020038 .word 0x20020038 806bd5c: 080d62a8 .word 0x080d62a8 806bd60: 080d62c0 .word 0x080d62c0 806bd64: 080d5118 .word 0x080d5118 806bd68: 080d62c8 .word 0x080d62c8 806bd6c: 20020070 .word 0x20020070 806bd70: 080d62cc .word 0x080d62cc 806bd74: 080d62e0 .word 0x080d62e0 806bd78: 20020e80 .word 0x20020e80 806bd7c: 20020e38 .word 0x20020e38 806bd80: ffefcc95 .word 0xffefcc95 806bd84: 200226a0 .word 0x200226a0 806bd88: 080d62f4 .word 0x080d62f4 806bd8c: 080d62fc .word 0x080d62fc 806bd90: 20021fec .word 0x20021fec 806bd94: cccccccd .word 0xcccccccd } } else { LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 806bd98: 49ba ldr r1, [pc, #744] ; (806c084 ) 806bd9a: 48bb ldr r0, [pc, #748] ; (806c088 ) 806bd9c: f7e9 fa36 bl 805520c memset(str, 0, sizeof(str)); 806bda0: f507 733b add.w r3, r7, #748 ; 0x2ec 806bda4: 223c movs r2, #60 ; 0x3c 806bda6: 2100 movs r1, #0 806bda8: 4618 mov r0, r3 806bdaa: f066 f8fb bl 80d1fa4 str[0] = '"'; 806bdae: f507 733b add.w r3, r7, #748 ; 0x2ec 806bdb2: 2222 movs r2, #34 ; 0x22 806bdb4: 701a strb r2, [r3, #0] if(pardata.LANG == RUS) 806bdb6: 4bb5 ldr r3, [pc, #724] ; (806c08c ) 806bdb8: 7b1b ldrb r3, [r3, #12] 806bdba: b2db uxtb r3, r3 806bdbc: 2b00 cmp r3, #0 806bdbe: d111 bne.n 806bde4 strcat(str, "ÒÎ×ÊÀ "); 806bdc0: f507 733b add.w r3, r7, #748 ; 0x2ec 806bdc4: 4618 mov r0, r3 806bdc6: f7b4 faa5 bl 8020314 806bdca: 4603 mov r3, r0 806bdcc: 461a mov r2, r3 806bdce: f507 733b add.w r3, r7, #748 ; 0x2ec 806bdd2: 4413 add r3, r2 806bdd4: 4aae ldr r2, [pc, #696] ; (806c090 ) 806bdd6: 6810 ldr r0, [r2, #0] 806bdd8: 6018 str r0, [r3, #0] 806bdda: 8891 ldrh r1, [r2, #4] 806bddc: 7992 ldrb r2, [r2, #6] 806bdde: 8099 strh r1, [r3, #4] 806bde0: 719a strb r2, [r3, #6] 806bde2: e010 b.n 806be06 else strcat(str, "POINT "); 806bde4: f507 733b add.w r3, r7, #748 ; 0x2ec 806bde8: 4618 mov r0, r3 806bdea: f7b4 fa93 bl 8020314 806bdee: 4603 mov r3, r0 806bdf0: 461a mov r2, r3 806bdf2: f507 733b add.w r3, r7, #748 ; 0x2ec 806bdf6: 4413 add r3, r2 806bdf8: 4aa6 ldr r2, [pc, #664] ; (806c094 ) 806bdfa: 6810 ldr r0, [r2, #0] 806bdfc: 6018 str r0, [r3, #0] 806bdfe: 8891 ldrh r1, [r2, #4] 806be00: 7992 ldrb r2, [r2, #6] 806be02: 8099 strh r1, [r3, #4] 806be04: 719a strb r2, [r3, #6] l = strlen(str); 806be06: f507 733b add.w r3, r7, #748 ; 0x2ec 806be0a: 4618 mov r0, r3 806be0c: f7b4 fa82 bl 8020314 806be10: 4603 mov r3, r0 806be12: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l] = ((NextIndexPoint + 1) / 10) + 48; 806be16: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806be1a: 4a9f ldr r2, [pc, #636] ; (806c098 ) 806be1c: 6812 ldr r2, [r2, #0] 806be1e: 3201 adds r2, #1 806be20: 499e ldr r1, [pc, #632] ; (806c09c ) 806be22: fba1 1202 umull r1, r2, r1, r2 806be26: 08d2 lsrs r2, r2, #3 806be28: b2d2 uxtb r2, r2 806be2a: 3230 adds r2, #48 ; 0x30 806be2c: b2d1 uxtb r1, r2 806be2e: f507 723b add.w r2, r7, #748 ; 0x2ec 806be32: 54d1 strb r1, [r2, r3] str[l + 1] = ((NextIndexPoint + 1) % 10) + 48; 806be34: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806be38: 1c58 adds r0, r3, #1 806be3a: 4b97 ldr r3, [pc, #604] ; (806c098 ) 806be3c: 681b ldr r3, [r3, #0] 806be3e: 1c59 adds r1, r3, #1 806be40: 4b96 ldr r3, [pc, #600] ; (806c09c ) 806be42: fba3 2301 umull r2, r3, r3, r1 806be46: 08da lsrs r2, r3, #3 806be48: 4613 mov r3, r2 806be4a: 009b lsls r3, r3, #2 806be4c: 4413 add r3, r2 806be4e: 005b lsls r3, r3, #1 806be50: 1aca subs r2, r1, r3 806be52: b2d3 uxtb r3, r2 806be54: 3330 adds r3, #48 ; 0x30 806be56: b2da uxtb r2, r3 806be58: f507 733b add.w r3, r7, #748 ; 0x2ec 806be5c: 541a strb r2, [r3, r0] str[l + 2] = '"'; 806be5e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806be62: 3302 adds r3, #2 806be64: f507 723b add.w r2, r7, #748 ; 0x2ec 806be68: 2122 movs r1, #34 ; 0x22 806be6a: 54d1 strb r1, [r2, r3] BSP_LCD_DisplayStringAt(189, 55, str, CENTER_MODE); 806be6c: f507 723b add.w r2, r7, #748 ; 0x2ec 806be70: 2301 movs r3, #1 806be72: 2137 movs r1, #55 ; 0x37 806be74: 20bd movs r0, #189 ; 0xbd 806be76: f7e9 fa8f bl 8055398 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806be7a: 4982 ldr r1, [pc, #520] ; (806c084 ) 806be7c: f04f 30ff mov.w r0, #4294967295 806be80: f7e9 f9c4 bl 805520c DrawImage(&bmUPDN, 8, 205); 806be84: 22cd movs r2, #205 ; 0xcd 806be86: 2108 movs r1, #8 806be88: 4885 ldr r0, [pc, #532] ; (806c0a0 ) 806be8a: f7ea f8b3 bl 8055ff4 BSP_LCD_DisplayStringAt(25, 208, "AVS", LEFT_MODE); 806be8e: 2303 movs r3, #3 806be90: 4a84 ldr r2, [pc, #528] ; (806c0a4 ) 806be92: 21d0 movs r1, #208 ; 0xd0 806be94: 2019 movs r0, #25 806be96: f7e9 fa7f bl 8055398 DrawImage(&bmLTRT, 8, 223); 806be9a: 22df movs r2, #223 ; 0xdf 806be9c: 2108 movs r1, #8 806be9e: 4882 ldr r0, [pc, #520] ; (806c0a8 ) 806bea0: f7ea f8a8 bl 8055ff4 if(pardata.LANG == RUS) 806bea4: 4b79 ldr r3, [pc, #484] ; (806c08c ) 806bea6: 7b1b ldrb r3, [r3, #12] 806bea8: b2db uxtb r3, r3 806beaa: 2b00 cmp r3, #0 806beac: d106 bne.n 806bebc BSP_LCD_DisplayStringAt(25, 224, "Çíà÷", LEFT_MODE); 806beae: 2303 movs r3, #3 806beb0: 4a7e ldr r2, [pc, #504] ; (806c0ac ) 806beb2: 21e0 movs r1, #224 ; 0xe0 806beb4: 2019 movs r0, #25 806beb6: f7e9 fa6f bl 8055398 806beba: e005 b.n 806bec8 else BSP_LCD_DisplayStringAt(25, 224, "Val", LEFT_MODE); 806bebc: 2303 movs r3, #3 806bebe: 4a7c ldr r2, [pc, #496] ; (806c0b0 ) 806bec0: 21e0 movs r1, #224 ; 0xe0 806bec2: 2019 movs r0, #25 806bec4: f7e9 fa68 bl 8055398 LCD_SetColors(0xFF202020, LCD_COLOR_BLACK); 806bec8: 496e ldr r1, [pc, #440] ; (806c084 ) 806beca: 487a ldr r0, [pc, #488] ; (806c0b4 ) 806becc: f7e9 f99e bl 805520c BSP_LCD_DrawHLine(61, 67, 256); 806bed0: f44f 7280 mov.w r2, #256 ; 0x100 806bed4: 2143 movs r1, #67 ; 0x43 806bed6: 203d movs r0, #61 ; 0x3d 806bed8: f7e9 fb12 bl 8055500 BSP_LCD_DrawHLine(61, 92, 256); 806bedc: f44f 7280 mov.w r2, #256 ; 0x100 806bee0: 215c movs r1, #92 ; 0x5c 806bee2: 203d movs r0, #61 ; 0x3d 806bee4: f7e9 fb0c bl 8055500 for(i = 0; i < 4; i++) { 806bee8: 2300 movs r3, #0 806beea: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806beee: e010 b.n 806bf12 BSP_LCD_DrawVLine(61 + (i << 6), 67, 148); 806bef0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bef4: b29b uxth r3, r3 806bef6: 019b lsls r3, r3, #6 806bef8: b29b uxth r3, r3 806befa: 333d adds r3, #61 ; 0x3d 806befc: b29b uxth r3, r3 806befe: 2294 movs r2, #148 ; 0x94 806bf00: 2143 movs r1, #67 ; 0x43 806bf02: 4618 mov r0, r3 806bf04: f7e9 fb5a bl 80555bc for(i = 0; i < 4; i++) { 806bf08: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bf0c: 3301 adds r3, #1 806bf0e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bf12: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bf16: 2b03 cmp r3, #3 806bf18: d9ea bls.n 806bef0 } for(i = 0; i < 5; i++) { 806bf1a: 2300 movs r3, #0 806bf1c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bf20: e018 b.n 806bf54 BSP_LCD_DrawHLine(61, 117 + i*25, 256); 806bf22: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bf26: b29b uxth r3, r3 806bf28: 461a mov r2, r3 806bf2a: 0092 lsls r2, r2, #2 806bf2c: 4413 add r3, r2 806bf2e: 461a mov r2, r3 806bf30: 0091 lsls r1, r2, #2 806bf32: 461a mov r2, r3 806bf34: 460b mov r3, r1 806bf36: 4413 add r3, r2 806bf38: b29b uxth r3, r3 806bf3a: 3375 adds r3, #117 ; 0x75 806bf3c: b29b uxth r3, r3 806bf3e: f44f 7280 mov.w r2, #256 ; 0x100 806bf42: 4619 mov r1, r3 806bf44: 203d movs r0, #61 ; 0x3d 806bf46: f7e9 fadb bl 8055500 for(i = 0; i < 5; i++) { 806bf4a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bf4e: 3301 adds r3, #1 806bf50: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bf54: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bf58: 2b04 cmp r3, #4 806bf5a: d9e2 bls.n 806bf22 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806bf5c: 4949 ldr r1, [pc, #292] ; (806c084 ) 806bf5e: f04f 30ff mov.w r0, #4294967295 806bf62: f7e9 f953 bl 805520c BSP_LCD_DrawVLine(60, 63-9, 155+9); 806bf66: 22a4 movs r2, #164 ; 0xa4 806bf68: 2136 movs r1, #54 ; 0x36 806bf6a: 203c movs r0, #60 ; 0x3c 806bf6c: f7e9 fb26 bl 80555bc BSP_LCD_DrawHLine(60, 218, 258); 806bf70: f44f 7281 mov.w r2, #258 ; 0x102 806bf74: 21da movs r1, #218 ; 0xda 806bf76: 203c movs r0, #60 ; 0x3c 806bf78: f7e9 fac2 bl 8055500 //BSP_LCD_DrawHLine(60, 63-9, 258); BSP_LCD_SetFont(&Font12); 806bf7c: 484e ldr r0, [pc, #312] ; (806c0b8 ) 806bf7e: f7e9 f981 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806bf82: 4940 ldr r1, [pc, #256] ; (806c084 ) 806bf84: f04f 30ff mov.w r0, #4294967295 806bf88: f7e9 f940 bl 805520c if(menu == TREND_A) 806bf8c: 4b4b ldr r3, [pc, #300] ; (806c0bc ) 806bf8e: 781b ldrb r3, [r3, #0] 806bf90: b2db uxtb r3, r3 806bf92: 2b45 cmp r3, #69 ; 0x45 806bf94: f040 8726 bne.w 806cde4 { if(menupos == Trend_pk) 806bf98: 4b49 ldr r3, [pc, #292] ; (806c0c0 ) 806bf9a: 781b ldrb r3, [r3, #0] 806bf9c: b2db uxtb r3, r3 806bf9e: 2b00 cmp r3, #0 806bfa0: f040 8174 bne.w 806c28c { if(pardata.LANG == RUS) 806bfa4: 4b39 ldr r3, [pc, #228] ; (806c08c ) 806bfa6: 7b1b ldrb r3, [r3, #12] 806bfa8: b2db uxtb r3, r3 806bfaa: 2b00 cmp r3, #0 806bfac: d106 bne.n 806bfbc BSP_LCD_DisplayStringAt(8, 35, "A(ïèê),ì/ñ^", LEFT_MODE); 806bfae: 2303 movs r3, #3 806bfb0: 4a44 ldr r2, [pc, #272] ; (806c0c4 ) 806bfb2: 2123 movs r1, #35 ; 0x23 806bfb4: 2008 movs r0, #8 806bfb6: f7e9 f9ef bl 8055398 806bfba: e005 b.n 806bfc8 else BSP_LCD_DisplayStringAt(8, 35, "A(peak),m/s^", LEFT_MODE); 806bfbc: 2303 movs r3, #3 806bfbe: 4a42 ldr r2, [pc, #264] ; (806c0c8 ) 806bfc0: 2123 movs r1, #35 ; 0x23 806bfc2: 2008 movs r0, #8 806bfc4: f7e9 f9e8 bl 8055398 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806bfc8: 2300 movs r3, #0 806bfca: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806bfce: 2300 movs r3, #0 806bfd0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bfd4: e042 b.n 806c05c { TrendData = TrendRAM(i); 806bfd6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bfda: 4613 mov r3, r2 806bfdc: 009b lsls r3, r3, #2 806bfde: 4413 add r3, r2 806bfe0: 009b lsls r3, r3, #2 806bfe2: 461a mov r2, r3 806bfe4: 4b39 ldr r3, [pc, #228] ; (806c0cc ) 806bfe6: 4413 add r3, r2 806bfe8: 461a mov r2, r3 806bfea: 4b39 ldr r3, [pc, #228] ; (806c0d0 ) 806bfec: 461c mov r4, r3 806bfee: 4615 mov r5, r2 806bff0: cd0f ldmia r5!, {r0, r1, r2, r3} 806bff2: c40f stmia r4!, {r0, r1, r2, r3} 806bff4: 682b ldr r3, [r5, #0] 806bff6: 6023 str r3, [r4, #0] if((TrendData.Aivs == 'P') && (TrendData.Aval.fl != -1.0f)) 806bff8: 4b35 ldr r3, [pc, #212] ; (806c0d0 ) 806bffa: 7c1b ldrb r3, [r3, #16] 806bffc: b2db uxtb r3, r3 806bffe: 2b50 cmp r3, #80 ; 0x50 806c000: d127 bne.n 806c052 806c002: 4b33 ldr r3, [pc, #204] ; (806c0d0 ) 806c004: edd3 7a00 vldr s15, [r3] 806c008: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806c00c: eef4 7a47 vcmp.f32 s15, s14 806c010: eef1 fa10 vmrs APSR_nzcv, fpscr 806c014: d01d beq.n 806c052 { TrendRAM_TEMP(l) = TrendRAM(i); 806c016: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806c01a: 4613 mov r3, r2 806c01c: 009b lsls r3, r3, #2 806c01e: 4413 add r3, r2 806c020: 009b lsls r3, r3, #2 806c022: 461a mov r2, r3 806c024: 4b2b ldr r3, [pc, #172] ; (806c0d4 ) 806c026: 4413 add r3, r2 806c028: 4619 mov r1, r3 806c02a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c02e: 4613 mov r3, r2 806c030: 009b lsls r3, r3, #2 806c032: 4413 add r3, r2 806c034: 009b lsls r3, r3, #2 806c036: 461a mov r2, r3 806c038: 4b24 ldr r3, [pc, #144] ; (806c0cc ) 806c03a: 4413 add r3, r2 806c03c: 460c mov r4, r1 806c03e: 461d mov r5, r3 806c040: cd0f ldmia r5!, {r0, r1, r2, r3} 806c042: c40f stmia r4!, {r0, r1, r2, r3} 806c044: 682b ldr r3, [r5, #0] 806c046: 6023 str r3, [r4, #0] l++; 806c048: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c04c: 3301 adds r3, #1 806c04e: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c052: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c056: 3301 adds r3, #1 806c058: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c05c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c060: 4b1d ldr r3, [pc, #116] ; (806c0d8 ) 806c062: 681b ldr r3, [r3, #0] 806c064: 429a cmp r2, r3 806c066: d3b6 bcc.n 806bfd6 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806c068: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c06c: 2b00 cmp r3, #0 806c06e: f002 84d7 beq.w 806ea20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c072: 2300 movs r3, #0 806c074: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c078: e0a3 b.n 806c1c2 { for(i = j; i < l; i++) 806c07a: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c07e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c082: e093 b.n 806c1ac 806c084: ff0a0f1f .word 0xff0a0f1f 806c088: ffefcc95 .word 0xffefcc95 806c08c: 20023eb8 .word 0x20023eb8 806c090: 080d62f4 .word 0x080d62f4 806c094: 080d62fc .word 0x080d62fc 806c098: 20021fec .word 0x20021fec 806c09c: cccccccd .word 0xcccccccd 806c0a0: 081507c8 .word 0x081507c8 806c0a4: 080d6304 .word 0x080d6304 806c0a8: 08141550 .word 0x08141550 806c0ac: 080d6308 .word 0x080d6308 806c0b0: 080d6310 .word 0x080d6310 806c0b4: ff202020 .word 0xff202020 806c0b8: 20020038 .word 0x20020038 806c0bc: 20020fc5 .word 0x20020fc5 806c0c0: 20020070 .word 0x20020070 806c0c4: 080d6314 .word 0x080d6314 806c0c8: 080d6320 .word 0x080d6320 806c0cc: 640a0000 .word 0x640a0000 806c0d0: 20021fd8 .word 0x20021fd8 806c0d4: 64090000 .word 0x64090000 806c0d8: 20020e34 .word 0x20020e34 { TrendData1 = TrendRAM_TEMP(i); 806c0dc: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c0e0: 4613 mov r3, r2 806c0e2: 009b lsls r3, r3, #2 806c0e4: 4413 add r3, r2 806c0e6: 009b lsls r3, r3, #2 806c0e8: 461a mov r2, r3 806c0ea: 4ba3 ldr r3, [pc, #652] ; (806c378 ) 806c0ec: 4413 add r3, r2 806c0ee: 461a mov r2, r3 806c0f0: 4ba2 ldr r3, [pc, #648] ; (806c37c ) 806c0f2: 461c mov r4, r3 806c0f4: 4615 mov r5, r2 806c0f6: cd0f ldmia r5!, {r0, r1, r2, r3} 806c0f8: c40f stmia r4!, {r0, r1, r2, r3} 806c0fa: 682b ldr r3, [r5, #0] 806c0fc: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806c0fe: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c102: 4613 mov r3, r2 806c104: 009b lsls r3, r3, #2 806c106: 4413 add r3, r2 806c108: 009b lsls r3, r3, #2 806c10a: 461a mov r2, r3 806c10c: 4b9a ldr r3, [pc, #616] ; (806c378 ) 806c10e: 4413 add r3, r2 806c110: 461a mov r2, r3 806c112: 4b9b ldr r3, [pc, #620] ; (806c380 ) 806c114: 461c mov r4, r3 806c116: 4615 mov r5, r2 806c118: cd0f ldmia r5!, {r0, r1, r2, r3} 806c11a: c40f stmia r4!, {r0, r1, r2, r3} 806c11c: 682b ldr r3, [r5, #0] 806c11e: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806c120: 4b96 ldr r3, [pc, #600] ; (806c37c ) 806c122: 68da ldr r2, [r3, #12] 806c124: 4b96 ldr r3, [pc, #600] ; (806c380 ) 806c126: 68db ldr r3, [r3, #12] 806c128: 429a cmp r2, r3 806c12a: d23a bcs.n 806c1a2 { TrendData = TrendRAM_TEMP(j); 806c12c: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c130: 4613 mov r3, r2 806c132: 009b lsls r3, r3, #2 806c134: 4413 add r3, r2 806c136: 009b lsls r3, r3, #2 806c138: 461a mov r2, r3 806c13a: 4b8f ldr r3, [pc, #572] ; (806c378 ) 806c13c: 4413 add r3, r2 806c13e: 461a mov r2, r3 806c140: 4b90 ldr r3, [pc, #576] ; (806c384 ) 806c142: 461c mov r4, r3 806c144: 4615 mov r5, r2 806c146: cd0f ldmia r5!, {r0, r1, r2, r3} 806c148: c40f stmia r4!, {r0, r1, r2, r3} 806c14a: 682b ldr r3, [r5, #0] 806c14c: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806c14e: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 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: 4b86 ldr r3, [pc, #536] ; (806c378 ) 806c15e: 4413 add r3, r2 806c160: 4619 mov r1, r3 806c162: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c166: 4613 mov r3, r2 806c168: 009b lsls r3, r3, #2 806c16a: 4413 add r3, r2 806c16c: 009b lsls r3, r3, #2 806c16e: 461a mov r2, r3 806c170: 4b81 ldr r3, [pc, #516] ; (806c378 ) 806c172: 4413 add r3, r2 806c174: 460c mov r4, r1 806c176: 461d mov r5, r3 806c178: cd0f ldmia r5!, {r0, r1, r2, r3} 806c17a: c40f stmia r4!, {r0, r1, r2, r3} 806c17c: 682b ldr r3, [r5, #0] 806c17e: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806c180: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c184: 4613 mov r3, r2 806c186: 009b lsls r3, r3, #2 806c188: 4413 add r3, r2 806c18a: 009b lsls r3, r3, #2 806c18c: 461a mov r2, r3 806c18e: 4b7a ldr r3, [pc, #488] ; (806c378 ) 806c190: 4413 add r3, r2 806c192: 461a mov r2, r3 806c194: 4b7b ldr r3, [pc, #492] ; (806c384 ) 806c196: 4614 mov r4, r2 806c198: 461d mov r5, r3 806c19a: cd0f ldmia r5!, {r0, r1, r2, r3} 806c19c: c40f stmia r4!, {r0, r1, r2, r3} 806c19e: 682b ldr r3, [r5, #0] 806c1a0: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806c1a2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c1a6: 3301 adds r3, #1 806c1a8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c1ac: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c1b0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c1b4: 429a cmp r2, r3 806c1b6: d391 bcc.n 806c0dc for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c1b8: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c1bc: 3301 adds r3, #1 806c1be: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c1c2: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c1c6: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c1ca: 429a cmp r2, r3 806c1cc: f4ff af55 bcc.w 806c07a } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806c1d0: 4b6d ldr r3, [pc, #436] ; (806c388 ) 806c1d2: f207 424c addw r2, r7, #1100 ; 0x44c 806c1d6: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806c1d8: 4b6c ldr r3, [pc, #432] ; (806c38c ) 806c1da: f507 6289 add.w r2, r7, #1096 ; 0x448 806c1de: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c1e0: 2300 movs r3, #0 806c1e2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c1e6: e049 b.n 806c27c { TrendData = TrendRAM_TEMP(i); 806c1e8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c1ec: 4613 mov r3, r2 806c1ee: 009b lsls r3, r3, #2 806c1f0: 4413 add r3, r2 806c1f2: 009b lsls r3, r3, #2 806c1f4: 461a mov r2, r3 806c1f6: 4b60 ldr r3, [pc, #384] ; (806c378 ) 806c1f8: 4413 add r3, r2 806c1fa: 461a mov r2, r3 806c1fc: 4b61 ldr r3, [pc, #388] ; (806c384 ) 806c1fe: 461c mov r4, r3 806c200: 4615 mov r5, r2 806c202: cd0f ldmia r5!, {r0, r1, r2, r3} 806c204: c40f stmia r4!, {r0, r1, r2, r3} 806c206: 682b ldr r3, [r5, #0] 806c208: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806c20a: 4b5e ldr r3, [pc, #376] ; (806c384 ) 806c20c: ed93 7a00 vldr s14, [r3] 806c210: f207 434c addw r3, r7, #1100 ; 0x44c 806c214: edd3 7a00 vldr s15, [r3] 806c218: eeb4 7ae7 vcmpe.f32 s14, s15 806c21c: eef1 fa10 vmrs APSR_nzcv, fpscr 806c220: dd04 ble.n 806c22c 806c222: 4b58 ldr r3, [pc, #352] ; (806c384 ) 806c224: 681b ldr r3, [r3, #0] 806c226: f207 424c addw r2, r7, #1100 ; 0x44c 806c22a: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806c22c: 4b55 ldr r3, [pc, #340] ; (806c384 ) 806c22e: ed93 7a00 vldr s14, [r3] 806c232: f507 6389 add.w r3, r7, #1096 ; 0x448 806c236: edd3 7a00 vldr s15, [r3] 806c23a: eeb4 7ae7 vcmpe.f32 s14, s15 806c23e: eef1 fa10 vmrs APSR_nzcv, fpscr 806c242: d504 bpl.n 806c24e 806c244: 4b4f ldr r3, [pc, #316] ; (806c384 ) 806c246: 681b ldr r3, [r3, #0] 806c248: f507 6289 add.w r2, r7, #1096 ; 0x448 806c24c: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806c24e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c252: 009a lsls r2, r3, #2 806c254: 4b4e ldr r3, [pc, #312] ; (806c390 ) 806c256: 4413 add r3, r2 806c258: 461a mov r2, r3 806c25a: 4b4a ldr r3, [pc, #296] ; (806c384 ) 806c25c: 681b ldr r3, [r3, #0] 806c25e: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806c260: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c264: 009a lsls r2, r3, #2 806c266: 4b44 ldr r3, [pc, #272] ; (806c378 ) 806c268: 4413 add r3, r2 806c26a: 461a mov r2, r3 806c26c: 4b45 ldr r3, [pc, #276] ; (806c384 ) 806c26e: 68db ldr r3, [r3, #12] 806c270: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c272: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c276: 3301 adds r3, #1 806c278: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c27c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c280: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c284: 429a cmp r2, r3 806c286: d3af bcc.n 806c1e8 806c288: f002 bbca b.w 806ea20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_rms) 806c28c: 4b41 ldr r3, [pc, #260] ; (806c394 ) 806c28e: 781b ldrb r3, [r3, #0] 806c290: b2db uxtb r3, r3 806c292: 2b01 cmp r3, #1 806c294: f040 8162 bne.w 806c55c { if(pardata.LANG == RUS) 806c298: 4b3f ldr r3, [pc, #252] ; (806c398 ) 806c29a: 7b1b ldrb r3, [r3, #12] 806c29c: b2db uxtb r3, r3 806c29e: 2b00 cmp r3, #0 806c2a0: d106 bne.n 806c2b0 BSP_LCD_DisplayStringAt(8, 35, "A(ñêç),ì/ñ^", LEFT_MODE); 806c2a2: 2303 movs r3, #3 806c2a4: 4a3d ldr r2, [pc, #244] ; (806c39c ) 806c2a6: 2123 movs r1, #35 ; 0x23 806c2a8: 2008 movs r0, #8 806c2aa: f7e9 f875 bl 8055398 806c2ae: e005 b.n 806c2bc else BSP_LCD_DisplayStringAt(8, 35, "A(rms),m/s^", LEFT_MODE); 806c2b0: 2303 movs r3, #3 806c2b2: 4a3b ldr r2, [pc, #236] ; (806c3a0 ) 806c2b4: 2123 movs r1, #35 ; 0x23 806c2b6: 2008 movs r0, #8 806c2b8: f7e9 f86e bl 8055398 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806c2bc: 2300 movs r3, #0 806c2be: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c2c2: 2300 movs r3, #0 806c2c4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c2c8: e042 b.n 806c350 { TrendData = TrendRAM(i); 806c2ca: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c2ce: 4613 mov r3, r2 806c2d0: 009b lsls r3, r3, #2 806c2d2: 4413 add r3, r2 806c2d4: 009b lsls r3, r3, #2 806c2d6: 461a mov r2, r3 806c2d8: 4b32 ldr r3, [pc, #200] ; (806c3a4 ) 806c2da: 4413 add r3, r2 806c2dc: 461a mov r2, r3 806c2de: 4b29 ldr r3, [pc, #164] ; (806c384 ) 806c2e0: 461c mov r4, r3 806c2e2: 4615 mov r5, r2 806c2e4: cd0f ldmia r5!, {r0, r1, r2, r3} 806c2e6: c40f stmia r4!, {r0, r1, r2, r3} 806c2e8: 682b ldr r3, [r5, #0] 806c2ea: 6023 str r3, [r4, #0] if((TrendData.Aivs == 'S') && (TrendData.Aval.fl != -1.0f)) 806c2ec: 4b25 ldr r3, [pc, #148] ; (806c384 ) 806c2ee: 7c1b ldrb r3, [r3, #16] 806c2f0: b2db uxtb r3, r3 806c2f2: 2b53 cmp r3, #83 ; 0x53 806c2f4: d127 bne.n 806c346 806c2f6: 4b23 ldr r3, [pc, #140] ; (806c384 ) 806c2f8: edd3 7a00 vldr s15, [r3] 806c2fc: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806c300: eef4 7a47 vcmp.f32 s15, s14 806c304: eef1 fa10 vmrs APSR_nzcv, fpscr 806c308: d01d beq.n 806c346 { TrendRAM_TEMP(l) = TrendRAM(i); 806c30a: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806c30e: 4613 mov r3, r2 806c310: 009b lsls r3, r3, #2 806c312: 4413 add r3, r2 806c314: 009b lsls r3, r3, #2 806c316: 461a mov r2, r3 806c318: 4b17 ldr r3, [pc, #92] ; (806c378 ) 806c31a: 4413 add r3, r2 806c31c: 4619 mov r1, r3 806c31e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c322: 4613 mov r3, r2 806c324: 009b lsls r3, r3, #2 806c326: 4413 add r3, r2 806c328: 009b lsls r3, r3, #2 806c32a: 461a mov r2, r3 806c32c: 4b1d ldr r3, [pc, #116] ; (806c3a4 ) 806c32e: 4413 add r3, r2 806c330: 460c mov r4, r1 806c332: 461d mov r5, r3 806c334: cd0f ldmia r5!, {r0, r1, r2, r3} 806c336: c40f stmia r4!, {r0, r1, r2, r3} 806c338: 682b ldr r3, [r5, #0] 806c33a: 6023 str r3, [r4, #0] l++; 806c33c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c340: 3301 adds r3, #1 806c342: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c346: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c34a: 3301 adds r3, #1 806c34c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c350: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c354: 4b14 ldr r3, [pc, #80] ; (806c3a8 ) 806c356: 681b ldr r3, [r3, #0] 806c358: 429a cmp r2, r3 806c35a: d3b6 bcc.n 806c2ca } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806c35c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c360: 2b00 cmp r3, #0 806c362: f002 835d beq.w 806ea20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c366: 2300 movs r3, #0 806c368: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c36c: e091 b.n 806c492 { for(i = j; i < l; i++) 806c36e: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c372: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c376: e081 b.n 806c47c 806c378: 64090000 .word 0x64090000 806c37c: 20022364 .word 0x20022364 806c380: 20022958 .word 0x20022958 806c384: 20021fd8 .word 0x20021fd8 806c388: d01502f9 .word 0xd01502f9 806c38c: 501502f9 .word 0x501502f9 806c390: 64080000 .word 0x64080000 806c394: 20020070 .word 0x20020070 806c398: 20023eb8 .word 0x20023eb8 806c39c: 080d6330 .word 0x080d6330 806c3a0: 080d633c .word 0x080d633c 806c3a4: 640a0000 .word 0x640a0000 806c3a8: 20020e34 .word 0x20020e34 { TrendData1 = TrendRAM_TEMP(i); 806c3ac: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c3b0: 4613 mov r3, r2 806c3b2: 009b lsls r3, r3, #2 806c3b4: 4413 add r3, r2 806c3b6: 009b lsls r3, r3, #2 806c3b8: 461a mov r2, r3 806c3ba: 4ba3 ldr r3, [pc, #652] ; (806c648 ) 806c3bc: 4413 add r3, r2 806c3be: 461a mov r2, r3 806c3c0: 4ba2 ldr r3, [pc, #648] ; (806c64c ) 806c3c2: 461c mov r4, r3 806c3c4: 4615 mov r5, r2 806c3c6: cd0f ldmia r5!, {r0, r1, r2, r3} 806c3c8: c40f stmia r4!, {r0, r1, r2, r3} 806c3ca: 682b ldr r3, [r5, #0] 806c3cc: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806c3ce: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 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: 4b9a ldr r3, [pc, #616] ; (806c648 ) 806c3de: 4413 add r3, r2 806c3e0: 461a mov r2, r3 806c3e2: 4b9b ldr r3, [pc, #620] ; (806c650 ) 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(TrendData1.DateTime < TrendData2.DateTime) 806c3f0: 4b96 ldr r3, [pc, #600] ; (806c64c ) 806c3f2: 68da ldr r2, [r3, #12] 806c3f4: 4b96 ldr r3, [pc, #600] ; (806c650 ) 806c3f6: 68db ldr r3, [r3, #12] 806c3f8: 429a cmp r2, r3 806c3fa: d23a bcs.n 806c472 { TrendData = TrendRAM_TEMP(j); 806c3fc: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c400: 4613 mov r3, r2 806c402: 009b lsls r3, r3, #2 806c404: 4413 add r3, r2 806c406: 009b lsls r3, r3, #2 806c408: 461a mov r2, r3 806c40a: 4b8f ldr r3, [pc, #572] ; (806c648 ) 806c40c: 4413 add r3, r2 806c40e: 461a mov r2, r3 806c410: 4b90 ldr r3, [pc, #576] ; (806c654 ) 806c412: 461c mov r4, r3 806c414: 4615 mov r5, r2 806c416: cd0f ldmia r5!, {r0, r1, r2, r3} 806c418: c40f stmia r4!, {r0, r1, r2, r3} 806c41a: 682b ldr r3, [r5, #0] 806c41c: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806c41e: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c422: 4613 mov r3, r2 806c424: 009b lsls r3, r3, #2 806c426: 4413 add r3, r2 806c428: 009b lsls r3, r3, #2 806c42a: 461a mov r2, r3 806c42c: 4b86 ldr r3, [pc, #536] ; (806c648 ) 806c42e: 4413 add r3, r2 806c430: 4619 mov r1, r3 806c432: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c436: 4613 mov r3, r2 806c438: 009b lsls r3, r3, #2 806c43a: 4413 add r3, r2 806c43c: 009b lsls r3, r3, #2 806c43e: 461a mov r2, r3 806c440: 4b81 ldr r3, [pc, #516] ; (806c648 ) 806c442: 4413 add r3, r2 806c444: 460c mov r4, r1 806c446: 461d mov r5, r3 806c448: cd0f ldmia r5!, {r0, r1, r2, r3} 806c44a: c40f stmia r4!, {r0, r1, r2, r3} 806c44c: 682b ldr r3, [r5, #0] 806c44e: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806c450: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c454: 4613 mov r3, r2 806c456: 009b lsls r3, r3, #2 806c458: 4413 add r3, r2 806c45a: 009b lsls r3, r3, #2 806c45c: 461a mov r2, r3 806c45e: 4b7a ldr r3, [pc, #488] ; (806c648 ) 806c460: 4413 add r3, r2 806c462: 461a mov r2, r3 806c464: 4b7b ldr r3, [pc, #492] ; (806c654 ) 806c466: 4614 mov r4, r2 806c468: 461d mov r5, r3 806c46a: cd0f ldmia r5!, {r0, r1, r2, r3} 806c46c: c40f stmia r4!, {r0, r1, r2, r3} 806c46e: 682b ldr r3, [r5, #0] 806c470: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806c472: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c476: 3301 adds r3, #1 806c478: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c47c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c480: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c484: 429a cmp r2, r3 806c486: d391 bcc.n 806c3ac for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c488: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c48c: 3301 adds r3, #1 806c48e: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c492: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c496: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c49a: 429a cmp r2, r3 806c49c: f4ff af67 bcc.w 806c36e } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806c4a0: 4b6d ldr r3, [pc, #436] ; (806c658 ) 806c4a2: f207 424c addw r2, r7, #1100 ; 0x44c 806c4a6: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806c4a8: 4b6c ldr r3, [pc, #432] ; (806c65c ) 806c4aa: f507 6289 add.w r2, r7, #1096 ; 0x448 806c4ae: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c4b0: 2300 movs r3, #0 806c4b2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c4b6: e049 b.n 806c54c { TrendData = TrendRAM_TEMP(i); 806c4b8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c4bc: 4613 mov r3, r2 806c4be: 009b lsls r3, r3, #2 806c4c0: 4413 add r3, r2 806c4c2: 009b lsls r3, r3, #2 806c4c4: 461a mov r2, r3 806c4c6: 4b60 ldr r3, [pc, #384] ; (806c648 ) 806c4c8: 4413 add r3, r2 806c4ca: 461a mov r2, r3 806c4cc: 4b61 ldr r3, [pc, #388] ; (806c654 ) 806c4ce: 461c mov r4, r3 806c4d0: 4615 mov r5, r2 806c4d2: cd0f ldmia r5!, {r0, r1, r2, r3} 806c4d4: c40f stmia r4!, {r0, r1, r2, r3} 806c4d6: 682b ldr r3, [r5, #0] 806c4d8: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806c4da: 4b5e ldr r3, [pc, #376] ; (806c654 ) 806c4dc: ed93 7a00 vldr s14, [r3] 806c4e0: f207 434c addw r3, r7, #1100 ; 0x44c 806c4e4: edd3 7a00 vldr s15, [r3] 806c4e8: eeb4 7ae7 vcmpe.f32 s14, s15 806c4ec: eef1 fa10 vmrs APSR_nzcv, fpscr 806c4f0: dd04 ble.n 806c4fc 806c4f2: 4b58 ldr r3, [pc, #352] ; (806c654 ) 806c4f4: 681b ldr r3, [r3, #0] 806c4f6: f207 424c addw r2, r7, #1100 ; 0x44c 806c4fa: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806c4fc: 4b55 ldr r3, [pc, #340] ; (806c654 ) 806c4fe: ed93 7a00 vldr s14, [r3] 806c502: f507 6389 add.w r3, r7, #1096 ; 0x448 806c506: edd3 7a00 vldr s15, [r3] 806c50a: eeb4 7ae7 vcmpe.f32 s14, s15 806c50e: eef1 fa10 vmrs APSR_nzcv, fpscr 806c512: d504 bpl.n 806c51e 806c514: 4b4f ldr r3, [pc, #316] ; (806c654 ) 806c516: 681b ldr r3, [r3, #0] 806c518: f507 6289 add.w r2, r7, #1096 ; 0x448 806c51c: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806c51e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c522: 009a lsls r2, r3, #2 806c524: 4b4e ldr r3, [pc, #312] ; (806c660 ) 806c526: 4413 add r3, r2 806c528: 461a mov r2, r3 806c52a: 4b4a ldr r3, [pc, #296] ; (806c654 ) 806c52c: 681b ldr r3, [r3, #0] 806c52e: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806c530: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c534: 009a lsls r2, r3, #2 806c536: 4b44 ldr r3, [pc, #272] ; (806c648 ) 806c538: 4413 add r3, r2 806c53a: 461a mov r2, r3 806c53c: 4b45 ldr r3, [pc, #276] ; (806c654 ) 806c53e: 68db ldr r3, [r3, #12] 806c540: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c542: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c546: 3301 adds r3, #1 806c548: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c54c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c550: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c554: 429a cmp r2, r3 806c556: d3af bcc.n 806c4b8 806c558: f002 ba62 b.w 806ea20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_pkpk) 806c55c: 4b41 ldr r3, [pc, #260] ; (806c664 ) 806c55e: 781b ldrb r3, [r3, #0] 806c560: b2db uxtb r3, r3 806c562: 2b02 cmp r3, #2 806c564: f040 8162 bne.w 806c82c { if(pardata.LANG == RUS) 806c568: 4b3f ldr r3, [pc, #252] ; (806c668 ) 806c56a: 7b1b ldrb r3, [r3, #12] 806c56c: b2db uxtb r3, r3 806c56e: 2b00 cmp r3, #0 806c570: d106 bne.n 806c580 BSP_LCD_DisplayStringAt(8, 35, "A(ðàçìàõ),ì/ñ^", LEFT_MODE); 806c572: 2303 movs r3, #3 806c574: 4a3d ldr r2, [pc, #244] ; (806c66c ) 806c576: 2123 movs r1, #35 ; 0x23 806c578: 2008 movs r0, #8 806c57a: f7e8 ff0d bl 8055398 806c57e: e005 b.n 806c58c else BSP_LCD_DisplayStringAt(8, 35, "A(peak-peak),m/s^", LEFT_MODE); 806c580: 2303 movs r3, #3 806c582: 4a3b ldr r2, [pc, #236] ; (806c670 ) 806c584: 2123 movs r1, #35 ; 0x23 806c586: 2008 movs r0, #8 806c588: f7e8 ff06 bl 8055398 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806c58c: 2300 movs r3, #0 806c58e: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c592: 2300 movs r3, #0 806c594: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c598: e042 b.n 806c620 { TrendData = TrendRAM(i); 806c59a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c59e: 4613 mov r3, r2 806c5a0: 009b lsls r3, r3, #2 806c5a2: 4413 add r3, r2 806c5a4: 009b lsls r3, r3, #2 806c5a6: 461a mov r2, r3 806c5a8: 4b32 ldr r3, [pc, #200] ; (806c674 ) 806c5aa: 4413 add r3, r2 806c5ac: 461a mov r2, r3 806c5ae: 4b29 ldr r3, [pc, #164] ; (806c654 ) 806c5b0: 461c mov r4, r3 806c5b2: 4615 mov r5, r2 806c5b4: cd0f ldmia r5!, {r0, r1, r2, r3} 806c5b6: c40f stmia r4!, {r0, r1, r2, r3} 806c5b8: 682b ldr r3, [r5, #0] 806c5ba: 6023 str r3, [r4, #0] if((TrendData.Aivs == 'R') && (TrendData.Aval.fl != -1.0f)) 806c5bc: 4b25 ldr r3, [pc, #148] ; (806c654 ) 806c5be: 7c1b ldrb r3, [r3, #16] 806c5c0: b2db uxtb r3, r3 806c5c2: 2b52 cmp r3, #82 ; 0x52 806c5c4: d127 bne.n 806c616 806c5c6: 4b23 ldr r3, [pc, #140] ; (806c654 ) 806c5c8: edd3 7a00 vldr s15, [r3] 806c5cc: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806c5d0: eef4 7a47 vcmp.f32 s15, s14 806c5d4: eef1 fa10 vmrs APSR_nzcv, fpscr 806c5d8: d01d beq.n 806c616 { TrendRAM_TEMP(l) = TrendRAM(i); 806c5da: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806c5de: 4613 mov r3, r2 806c5e0: 009b lsls r3, r3, #2 806c5e2: 4413 add r3, r2 806c5e4: 009b lsls r3, r3, #2 806c5e6: 461a mov r2, r3 806c5e8: 4b17 ldr r3, [pc, #92] ; (806c648 ) 806c5ea: 4413 add r3, r2 806c5ec: 4619 mov r1, r3 806c5ee: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c5f2: 4613 mov r3, r2 806c5f4: 009b lsls r3, r3, #2 806c5f6: 4413 add r3, r2 806c5f8: 009b lsls r3, r3, #2 806c5fa: 461a mov r2, r3 806c5fc: 4b1d ldr r3, [pc, #116] ; (806c674 ) 806c5fe: 4413 add r3, r2 806c600: 460c mov r4, r1 806c602: 461d mov r5, r3 806c604: cd0f ldmia r5!, {r0, r1, r2, r3} 806c606: c40f stmia r4!, {r0, r1, r2, r3} 806c608: 682b ldr r3, [r5, #0] 806c60a: 6023 str r3, [r4, #0] l++; 806c60c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c610: 3301 adds r3, #1 806c612: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c616: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c61a: 3301 adds r3, #1 806c61c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c620: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c624: 4b14 ldr r3, [pc, #80] ; (806c678 ) 806c626: 681b ldr r3, [r3, #0] 806c628: 429a cmp r2, r3 806c62a: d3b6 bcc.n 806c59a } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806c62c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c630: 2b00 cmp r3, #0 806c632: f002 81f5 beq.w 806ea20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c636: 2300 movs r3, #0 806c638: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c63c: e091 b.n 806c762 { for(i = j; i < l; i++) 806c63e: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c642: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c646: e081 b.n 806c74c 806c648: 64090000 .word 0x64090000 806c64c: 20022364 .word 0x20022364 806c650: 20022958 .word 0x20022958 806c654: 20021fd8 .word 0x20021fd8 806c658: d01502f9 .word 0xd01502f9 806c65c: 501502f9 .word 0x501502f9 806c660: 64080000 .word 0x64080000 806c664: 20020070 .word 0x20020070 806c668: 20023eb8 .word 0x20023eb8 806c66c: 080d6348 .word 0x080d6348 806c670: 080d6358 .word 0x080d6358 806c674: 640a0000 .word 0x640a0000 806c678: 20020e34 .word 0x20020e34 { TrendData1 = TrendRAM_TEMP(i); 806c67c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c680: 4613 mov r3, r2 806c682: 009b lsls r3, r3, #2 806c684: 4413 add r3, r2 806c686: 009b lsls r3, r3, #2 806c688: 461a mov r2, r3 806c68a: 4ba6 ldr r3, [pc, #664] ; (806c924 ) 806c68c: 4413 add r3, r2 806c68e: 461a mov r2, r3 806c690: 4ba5 ldr r3, [pc, #660] ; (806c928 ) 806c692: 461c mov r4, r3 806c694: 4615 mov r5, r2 806c696: cd0f ldmia r5!, {r0, r1, r2, r3} 806c698: c40f stmia r4!, {r0, r1, r2, r3} 806c69a: 682b ldr r3, [r5, #0] 806c69c: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806c69e: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 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: 4b9d ldr r3, [pc, #628] ; (806c924 ) 806c6ae: 4413 add r3, r2 806c6b0: 461a mov r2, r3 806c6b2: 4b9e ldr r3, [pc, #632] ; (806c92c ) 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(TrendData1.DateTime < TrendData2.DateTime) 806c6c0: 4b99 ldr r3, [pc, #612] ; (806c928 ) 806c6c2: 68da ldr r2, [r3, #12] 806c6c4: 4b99 ldr r3, [pc, #612] ; (806c92c ) 806c6c6: 68db ldr r3, [r3, #12] 806c6c8: 429a cmp r2, r3 806c6ca: d23a bcs.n 806c742 { TrendData = TrendRAM_TEMP(j); 806c6cc: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c6d0: 4613 mov r3, r2 806c6d2: 009b lsls r3, r3, #2 806c6d4: 4413 add r3, r2 806c6d6: 009b lsls r3, r3, #2 806c6d8: 461a mov r2, r3 806c6da: 4b92 ldr r3, [pc, #584] ; (806c924 ) 806c6dc: 4413 add r3, r2 806c6de: 461a mov r2, r3 806c6e0: 4b93 ldr r3, [pc, #588] ; (806c930 ) 806c6e2: 461c mov r4, r3 806c6e4: 4615 mov r5, r2 806c6e6: cd0f ldmia r5!, {r0, r1, r2, r3} 806c6e8: c40f stmia r4!, {r0, r1, r2, r3} 806c6ea: 682b ldr r3, [r5, #0] 806c6ec: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806c6ee: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c6f2: 4613 mov r3, r2 806c6f4: 009b lsls r3, r3, #2 806c6f6: 4413 add r3, r2 806c6f8: 009b lsls r3, r3, #2 806c6fa: 461a mov r2, r3 806c6fc: 4b89 ldr r3, [pc, #548] ; (806c924 ) 806c6fe: 4413 add r3, r2 806c700: 4619 mov r1, r3 806c702: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c706: 4613 mov r3, r2 806c708: 009b lsls r3, r3, #2 806c70a: 4413 add r3, r2 806c70c: 009b lsls r3, r3, #2 806c70e: 461a mov r2, r3 806c710: 4b84 ldr r3, [pc, #528] ; (806c924 ) 806c712: 4413 add r3, r2 806c714: 460c mov r4, r1 806c716: 461d mov r5, r3 806c718: cd0f ldmia r5!, {r0, r1, r2, r3} 806c71a: c40f stmia r4!, {r0, r1, r2, r3} 806c71c: 682b ldr r3, [r5, #0] 806c71e: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806c720: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c724: 4613 mov r3, r2 806c726: 009b lsls r3, r3, #2 806c728: 4413 add r3, r2 806c72a: 009b lsls r3, r3, #2 806c72c: 461a mov r2, r3 806c72e: 4b7d ldr r3, [pc, #500] ; (806c924 ) 806c730: 4413 add r3, r2 806c732: 461a mov r2, r3 806c734: 4b7e ldr r3, [pc, #504] ; (806c930 ) 806c736: 4614 mov r4, r2 806c738: 461d mov r5, r3 806c73a: cd0f ldmia r5!, {r0, r1, r2, r3} 806c73c: c40f stmia r4!, {r0, r1, r2, r3} 806c73e: 682b ldr r3, [r5, #0] 806c740: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806c742: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c746: 3301 adds r3, #1 806c748: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c74c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c750: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c754: 429a cmp r2, r3 806c756: d391 bcc.n 806c67c for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c758: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c75c: 3301 adds r3, #1 806c75e: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c762: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c766: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c76a: 429a cmp r2, r3 806c76c: f4ff af67 bcc.w 806c63e } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806c770: 4b70 ldr r3, [pc, #448] ; (806c934 ) 806c772: f207 424c addw r2, r7, #1100 ; 0x44c 806c776: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806c778: 4b6f ldr r3, [pc, #444] ; (806c938 ) 806c77a: f507 6289 add.w r2, r7, #1096 ; 0x448 806c77e: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c780: 2300 movs r3, #0 806c782: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c786: e049 b.n 806c81c { TrendData = TrendRAM_TEMP(i); 806c788: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c78c: 4613 mov r3, r2 806c78e: 009b lsls r3, r3, #2 806c790: 4413 add r3, r2 806c792: 009b lsls r3, r3, #2 806c794: 461a mov r2, r3 806c796: 4b63 ldr r3, [pc, #396] ; (806c924 ) 806c798: 4413 add r3, r2 806c79a: 461a mov r2, r3 806c79c: 4b64 ldr r3, [pc, #400] ; (806c930 ) 806c79e: 461c mov r4, r3 806c7a0: 4615 mov r5, r2 806c7a2: cd0f ldmia r5!, {r0, r1, r2, r3} 806c7a4: c40f stmia r4!, {r0, r1, r2, r3} 806c7a6: 682b ldr r3, [r5, #0] 806c7a8: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806c7aa: 4b61 ldr r3, [pc, #388] ; (806c930 ) 806c7ac: ed93 7a00 vldr s14, [r3] 806c7b0: f207 434c addw r3, r7, #1100 ; 0x44c 806c7b4: edd3 7a00 vldr s15, [r3] 806c7b8: eeb4 7ae7 vcmpe.f32 s14, s15 806c7bc: eef1 fa10 vmrs APSR_nzcv, fpscr 806c7c0: dd04 ble.n 806c7cc 806c7c2: 4b5b ldr r3, [pc, #364] ; (806c930 ) 806c7c4: 681b ldr r3, [r3, #0] 806c7c6: f207 424c addw r2, r7, #1100 ; 0x44c 806c7ca: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806c7cc: 4b58 ldr r3, [pc, #352] ; (806c930 ) 806c7ce: ed93 7a00 vldr s14, [r3] 806c7d2: f507 6389 add.w r3, r7, #1096 ; 0x448 806c7d6: edd3 7a00 vldr s15, [r3] 806c7da: eeb4 7ae7 vcmpe.f32 s14, s15 806c7de: eef1 fa10 vmrs APSR_nzcv, fpscr 806c7e2: d504 bpl.n 806c7ee 806c7e4: 4b52 ldr r3, [pc, #328] ; (806c930 ) 806c7e6: 681b ldr r3, [r3, #0] 806c7e8: f507 6289 add.w r2, r7, #1096 ; 0x448 806c7ec: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806c7ee: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c7f2: 009a lsls r2, r3, #2 806c7f4: 4b51 ldr r3, [pc, #324] ; (806c93c ) 806c7f6: 4413 add r3, r2 806c7f8: 461a mov r2, r3 806c7fa: 4b4d ldr r3, [pc, #308] ; (806c930 ) 806c7fc: 681b ldr r3, [r3, #0] 806c7fe: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806c800: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c804: 009a lsls r2, r3, #2 806c806: 4b47 ldr r3, [pc, #284] ; (806c924 ) 806c808: 4413 add r3, r2 806c80a: 461a mov r2, r3 806c80c: 4b48 ldr r3, [pc, #288] ; (806c930 ) 806c80e: 68db ldr r3, [r3, #12] 806c810: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c812: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c816: 3301 adds r3, #1 806c818: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c81c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c820: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c824: 429a cmp r2, r3 806c826: d3af bcc.n 806c788 806c828: f002 b8fa b.w 806ea20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_factor) 806c82c: 4b44 ldr r3, [pc, #272] ; (806c940 ) 806c82e: 781b ldrb r3, [r3, #0] 806c830: b2db uxtb r3, r3 806c832: 2b03 cmp r3, #3 806c834: f040 8168 bne.w 806cb08 { if(pardata.LANG == RUS) 806c838: 4b42 ldr r3, [pc, #264] ; (806c944 ) 806c83a: 7b1b ldrb r3, [r3, #12] 806c83c: b2db uxtb r3, r3 806c83e: 2b00 cmp r3, #0 806c840: d106 bne.n 806c850 BSP_LCD_DisplayStringAt(8, 35, "A(ïèê-ôàêòîð)", LEFT_MODE); 806c842: 2303 movs r3, #3 806c844: 4a40 ldr r2, [pc, #256] ; (806c948 ) 806c846: 2123 movs r1, #35 ; 0x23 806c848: 2008 movs r0, #8 806c84a: f7e8 fda5 bl 8055398 806c84e: e005 b.n 806c85c else BSP_LCD_DisplayStringAt(8, 35, "A(peak-factor)", LEFT_MODE); 806c850: 2303 movs r3, #3 806c852: 4a3e ldr r2, [pc, #248] ; (806c94c ) 806c854: 2123 movs r1, #35 ; 0x23 806c856: 2008 movs r0, #8 806c858: f7e8 fd9e bl 8055398 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806c85c: 2300 movs r3, #0 806c85e: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c862: 2300 movs r3, #0 806c864: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c868: e047 b.n 806c8fa { TrendData = TrendRAM(i); 806c86a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c86e: 4613 mov r3, r2 806c870: 009b lsls r3, r3, #2 806c872: 4413 add r3, r2 806c874: 009b lsls r3, r3, #2 806c876: 461a mov r2, r3 806c878: 4b35 ldr r3, [pc, #212] ; (806c950 ) 806c87a: 4413 add r3, r2 806c87c: 461a mov r2, r3 806c87e: 4b2c ldr r3, [pc, #176] ; (806c930 ) 806c880: 461c mov r4, r3 806c882: 4615 mov r5, r2 806c884: cd0f ldmia r5!, {r0, r1, r2, r3} 806c886: c40f stmia r4!, {r0, r1, r2, r3} 806c888: 682b ldr r3, [r5, #0] 806c88a: 6023 str r3, [r4, #0] if(((TrendData.Aivs == 'Ô') || (TrendData.Aivs == 'F')) && (TrendData.Aval.fl != -1.0f)) 806c88c: 4b28 ldr r3, [pc, #160] ; (806c930 ) 806c88e: 7c1b ldrb r3, [r3, #16] 806c890: b2db uxtb r3, r3 806c892: 2bd4 cmp r3, #212 ; 0xd4 806c894: d004 beq.n 806c8a0 806c896: 4b26 ldr r3, [pc, #152] ; (806c930 ) 806c898: 7c1b ldrb r3, [r3, #16] 806c89a: b2db uxtb r3, r3 806c89c: 2b46 cmp r3, #70 ; 0x46 806c89e: d127 bne.n 806c8f0 806c8a0: 4b23 ldr r3, [pc, #140] ; (806c930 ) 806c8a2: edd3 7a00 vldr s15, [r3] 806c8a6: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806c8aa: eef4 7a47 vcmp.f32 s15, s14 806c8ae: eef1 fa10 vmrs APSR_nzcv, fpscr 806c8b2: d01d beq.n 806c8f0 { TrendRAM_TEMP(l) = TrendRAM(i); 806c8b4: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806c8b8: 4613 mov r3, r2 806c8ba: 009b lsls r3, r3, #2 806c8bc: 4413 add r3, r2 806c8be: 009b lsls r3, r3, #2 806c8c0: 461a mov r2, r3 806c8c2: 4b18 ldr r3, [pc, #96] ; (806c924 ) 806c8c4: 4413 add r3, r2 806c8c6: 4619 mov r1, r3 806c8c8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c8cc: 4613 mov r3, r2 806c8ce: 009b lsls r3, r3, #2 806c8d0: 4413 add r3, r2 806c8d2: 009b lsls r3, r3, #2 806c8d4: 461a mov r2, r3 806c8d6: 4b1e ldr r3, [pc, #120] ; (806c950 ) 806c8d8: 4413 add r3, r2 806c8da: 460c mov r4, r1 806c8dc: 461d mov r5, r3 806c8de: cd0f ldmia r5!, {r0, r1, r2, r3} 806c8e0: c40f stmia r4!, {r0, r1, r2, r3} 806c8e2: 682b ldr r3, [r5, #0] 806c8e4: 6023 str r3, [r4, #0] l++; 806c8e6: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c8ea: 3301 adds r3, #1 806c8ec: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c8f0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c8f4: 3301 adds r3, #1 806c8f6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c8fa: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c8fe: 4b15 ldr r3, [pc, #84] ; (806c954 ) 806c900: 681b ldr r3, [r3, #0] 806c902: 429a cmp r2, r3 806c904: d3b1 bcc.n 806c86a } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806c906: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c90a: 2b00 cmp r3, #0 806c90c: f002 8088 beq.w 806ea20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c910: 2300 movs r3, #0 806c912: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c916: e092 b.n 806ca3e { for(i = j; i < l; i++) 806c918: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c91c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c920: e082 b.n 806ca28 806c922: bf00 nop 806c924: 64090000 .word 0x64090000 806c928: 20022364 .word 0x20022364 806c92c: 20022958 .word 0x20022958 806c930: 20021fd8 .word 0x20021fd8 806c934: d01502f9 .word 0xd01502f9 806c938: 501502f9 .word 0x501502f9 806c93c: 64080000 .word 0x64080000 806c940: 20020070 .word 0x20020070 806c944: 20023eb8 .word 0x20023eb8 806c948: 080d636c .word 0x080d636c 806c94c: 080d637c .word 0x080d637c 806c950: 640a0000 .word 0x640a0000 806c954: 20020e34 .word 0x20020e34 { TrendData1 = TrendRAM_TEMP(i); 806c958: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c95c: 4613 mov r3, r2 806c95e: 009b lsls r3, r3, #2 806c960: 4413 add r3, r2 806c962: 009b lsls r3, r3, #2 806c964: 461a mov r2, r3 806c966: 4ba6 ldr r3, [pc, #664] ; (806cc00 ) 806c968: 4413 add r3, r2 806c96a: 461a mov r2, r3 806c96c: 4ba5 ldr r3, [pc, #660] ; (806cc04 ) 806c96e: 461c mov r4, r3 806c970: 4615 mov r5, r2 806c972: cd0f ldmia r5!, {r0, r1, r2, r3} 806c974: c40f stmia r4!, {r0, r1, r2, r3} 806c976: 682b ldr r3, [r5, #0] 806c978: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806c97a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c97e: 4613 mov r3, r2 806c980: 009b lsls r3, r3, #2 806c982: 4413 add r3, r2 806c984: 009b lsls r3, r3, #2 806c986: 461a mov r2, r3 806c988: 4b9d ldr r3, [pc, #628] ; (806cc00 ) 806c98a: 4413 add r3, r2 806c98c: 461a mov r2, r3 806c98e: 4b9e ldr r3, [pc, #632] ; (806cc08 ) 806c990: 461c mov r4, r3 806c992: 4615 mov r5, r2 806c994: cd0f ldmia r5!, {r0, r1, r2, r3} 806c996: c40f stmia r4!, {r0, r1, r2, r3} 806c998: 682b ldr r3, [r5, #0] 806c99a: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806c99c: 4b99 ldr r3, [pc, #612] ; (806cc04 ) 806c99e: 68da ldr r2, [r3, #12] 806c9a0: 4b99 ldr r3, [pc, #612] ; (806cc08 ) 806c9a2: 68db ldr r3, [r3, #12] 806c9a4: 429a cmp r2, r3 806c9a6: d23a bcs.n 806ca1e { TrendData = TrendRAM_TEMP(j); 806c9a8: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c9ac: 4613 mov r3, r2 806c9ae: 009b lsls r3, r3, #2 806c9b0: 4413 add r3, r2 806c9b2: 009b lsls r3, r3, #2 806c9b4: 461a mov r2, r3 806c9b6: 4b92 ldr r3, [pc, #584] ; (806cc00 ) 806c9b8: 4413 add r3, r2 806c9ba: 461a mov r2, r3 806c9bc: 4b93 ldr r3, [pc, #588] ; (806cc0c ) 806c9be: 461c mov r4, r3 806c9c0: 4615 mov r5, r2 806c9c2: cd0f ldmia r5!, {r0, r1, r2, r3} 806c9c4: c40f stmia r4!, {r0, r1, r2, r3} 806c9c6: 682b ldr r3, [r5, #0] 806c9c8: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806c9ca: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c9ce: 4613 mov r3, r2 806c9d0: 009b lsls r3, r3, #2 806c9d2: 4413 add r3, r2 806c9d4: 009b lsls r3, r3, #2 806c9d6: 461a mov r2, r3 806c9d8: 4b89 ldr r3, [pc, #548] ; (806cc00 ) 806c9da: 4413 add r3, r2 806c9dc: 4619 mov r1, r3 806c9de: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c9e2: 4613 mov r3, r2 806c9e4: 009b lsls r3, r3, #2 806c9e6: 4413 add r3, r2 806c9e8: 009b lsls r3, r3, #2 806c9ea: 461a mov r2, r3 806c9ec: 4b84 ldr r3, [pc, #528] ; (806cc00 ) 806c9ee: 4413 add r3, r2 806c9f0: 460c mov r4, r1 806c9f2: 461d mov r5, r3 806c9f4: cd0f ldmia r5!, {r0, r1, r2, r3} 806c9f6: c40f stmia r4!, {r0, r1, r2, r3} 806c9f8: 682b ldr r3, [r5, #0] 806c9fa: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806c9fc: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ca00: 4613 mov r3, r2 806ca02: 009b lsls r3, r3, #2 806ca04: 4413 add r3, r2 806ca06: 009b lsls r3, r3, #2 806ca08: 461a mov r2, r3 806ca0a: 4b7d ldr r3, [pc, #500] ; (806cc00 ) 806ca0c: 4413 add r3, r2 806ca0e: 461a mov r2, r3 806ca10: 4b7e ldr r3, [pc, #504] ; (806cc0c ) 806ca12: 4614 mov r4, r2 806ca14: 461d mov r5, r3 806ca16: cd0f ldmia r5!, {r0, r1, r2, r3} 806ca18: c40f stmia r4!, {r0, r1, r2, r3} 806ca1a: 682b ldr r3, [r5, #0] 806ca1c: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806ca1e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ca22: 3301 adds r3, #1 806ca24: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ca28: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ca2c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ca30: 429a cmp r2, r3 806ca32: d391 bcc.n 806c958 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806ca34: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806ca38: 3301 adds r3, #1 806ca3a: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806ca3e: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ca42: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ca46: 429a cmp r2, r3 806ca48: f4ff af66 bcc.w 806c918 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806ca4c: 4b70 ldr r3, [pc, #448] ; (806cc10 ) 806ca4e: f207 424c addw r2, r7, #1100 ; 0x44c 806ca52: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806ca54: 4b6f ldr r3, [pc, #444] ; (806cc14 ) 806ca56: f507 6289 add.w r2, r7, #1096 ; 0x448 806ca5a: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806ca5c: 2300 movs r3, #0 806ca5e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ca62: e049 b.n 806caf8 { TrendData = TrendRAM_TEMP(i); 806ca64: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ca68: 4613 mov r3, r2 806ca6a: 009b lsls r3, r3, #2 806ca6c: 4413 add r3, r2 806ca6e: 009b lsls r3, r3, #2 806ca70: 461a mov r2, r3 806ca72: 4b63 ldr r3, [pc, #396] ; (806cc00 ) 806ca74: 4413 add r3, r2 806ca76: 461a mov r2, r3 806ca78: 4b64 ldr r3, [pc, #400] ; (806cc0c ) 806ca7a: 461c mov r4, r3 806ca7c: 4615 mov r5, r2 806ca7e: cd0f ldmia r5!, {r0, r1, r2, r3} 806ca80: c40f stmia r4!, {r0, r1, r2, r3} 806ca82: 682b ldr r3, [r5, #0] 806ca84: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806ca86: 4b61 ldr r3, [pc, #388] ; (806cc0c ) 806ca88: ed93 7a00 vldr s14, [r3] 806ca8c: f207 434c addw r3, r7, #1100 ; 0x44c 806ca90: edd3 7a00 vldr s15, [r3] 806ca94: eeb4 7ae7 vcmpe.f32 s14, s15 806ca98: eef1 fa10 vmrs APSR_nzcv, fpscr 806ca9c: dd04 ble.n 806caa8 806ca9e: 4b5b ldr r3, [pc, #364] ; (806cc0c ) 806caa0: 681b ldr r3, [r3, #0] 806caa2: f207 424c addw r2, r7, #1100 ; 0x44c 806caa6: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806caa8: 4b58 ldr r3, [pc, #352] ; (806cc0c ) 806caaa: ed93 7a00 vldr s14, [r3] 806caae: f507 6389 add.w r3, r7, #1096 ; 0x448 806cab2: edd3 7a00 vldr s15, [r3] 806cab6: eeb4 7ae7 vcmpe.f32 s14, s15 806caba: eef1 fa10 vmrs APSR_nzcv, fpscr 806cabe: d504 bpl.n 806caca 806cac0: 4b52 ldr r3, [pc, #328] ; (806cc0c ) 806cac2: 681b ldr r3, [r3, #0] 806cac4: f507 6289 add.w r2, r7, #1096 ; 0x448 806cac8: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806caca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cace: 009a lsls r2, r3, #2 806cad0: 4b51 ldr r3, [pc, #324] ; (806cc18 ) 806cad2: 4413 add r3, r2 806cad4: 461a mov r2, r3 806cad6: 4b4d ldr r3, [pc, #308] ; (806cc0c ) 806cad8: 681b ldr r3, [r3, #0] 806cada: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806cadc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cae0: 009a lsls r2, r3, #2 806cae2: 4b47 ldr r3, [pc, #284] ; (806cc00 ) 806cae4: 4413 add r3, r2 806cae6: 461a mov r2, r3 806cae8: 4b48 ldr r3, [pc, #288] ; (806cc0c ) 806caea: 68db ldr r3, [r3, #12] 806caec: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806caee: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806caf2: 3301 adds r3, #1 806caf4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806caf8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cafc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cb00: 429a cmp r2, r3 806cb02: d3af bcc.n 806ca64 806cb04: f001 bf8c b.w 806ea20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_excess) 806cb08: 4b44 ldr r3, [pc, #272] ; (806cc1c ) 806cb0a: 781b ldrb r3, [r3, #0] 806cb0c: b2db uxtb r3, r3 806cb0e: 2b04 cmp r3, #4 806cb10: f041 8786 bne.w 806ea20 { if(pardata.LANG == RUS) 806cb14: 4b42 ldr r3, [pc, #264] ; (806cc20 ) 806cb16: 7b1b ldrb r3, [r3, #12] 806cb18: b2db uxtb r3, r3 806cb1a: 2b00 cmp r3, #0 806cb1c: d106 bne.n 806cb2c BSP_LCD_DisplayStringAt(8, 35, "A(ýêñöåññ)", LEFT_MODE); 806cb1e: 2303 movs r3, #3 806cb20: 4a40 ldr r2, [pc, #256] ; (806cc24 ) 806cb22: 2123 movs r1, #35 ; 0x23 806cb24: 2008 movs r0, #8 806cb26: f7e8 fc37 bl 8055398 806cb2a: e005 b.n 806cb38 else BSP_LCD_DisplayStringAt(8, 35, "A(excess)", LEFT_MODE); 806cb2c: 2303 movs r3, #3 806cb2e: 4a3e ldr r2, [pc, #248] ; (806cc28 ) 806cb30: 2123 movs r1, #35 ; 0x23 806cb32: 2008 movs r0, #8 806cb34: f7e8 fc30 bl 8055398 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806cb38: 2300 movs r3, #0 806cb3a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806cb3e: 2300 movs r3, #0 806cb40: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cb44: e047 b.n 806cbd6 { TrendData = TrendRAM(i); 806cb46: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cb4a: 4613 mov r3, r2 806cb4c: 009b lsls r3, r3, #2 806cb4e: 4413 add r3, r2 806cb50: 009b lsls r3, r3, #2 806cb52: 461a mov r2, r3 806cb54: 4b35 ldr r3, [pc, #212] ; (806cc2c ) 806cb56: 4413 add r3, r2 806cb58: 461a mov r2, r3 806cb5a: 4b2c ldr r3, [pc, #176] ; (806cc0c ) 806cb5c: 461c mov r4, r3 806cb5e: 4615 mov r5, r2 806cb60: cd0f ldmia r5!, {r0, r1, r2, r3} 806cb62: c40f stmia r4!, {r0, r1, r2, r3} 806cb64: 682b ldr r3, [r5, #0] 806cb66: 6023 str r3, [r4, #0] if(((TrendData.Aivs == 'Ý') || (TrendData.Aivs == 'E')) && (TrendData.Aval.fl != -1.0f)) 806cb68: 4b28 ldr r3, [pc, #160] ; (806cc0c ) 806cb6a: 7c1b ldrb r3, [r3, #16] 806cb6c: b2db uxtb r3, r3 806cb6e: 2bdd cmp r3, #221 ; 0xdd 806cb70: d004 beq.n 806cb7c 806cb72: 4b26 ldr r3, [pc, #152] ; (806cc0c ) 806cb74: 7c1b ldrb r3, [r3, #16] 806cb76: b2db uxtb r3, r3 806cb78: 2b45 cmp r3, #69 ; 0x45 806cb7a: d127 bne.n 806cbcc 806cb7c: 4b23 ldr r3, [pc, #140] ; (806cc0c ) 806cb7e: edd3 7a00 vldr s15, [r3] 806cb82: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806cb86: eef4 7a47 vcmp.f32 s15, s14 806cb8a: eef1 fa10 vmrs APSR_nzcv, fpscr 806cb8e: d01d beq.n 806cbcc { TrendRAM_TEMP(l) = TrendRAM(i); 806cb90: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806cb94: 4613 mov r3, r2 806cb96: 009b lsls r3, r3, #2 806cb98: 4413 add r3, r2 806cb9a: 009b lsls r3, r3, #2 806cb9c: 461a mov r2, r3 806cb9e: 4b18 ldr r3, [pc, #96] ; (806cc00 ) 806cba0: 4413 add r3, r2 806cba2: 4619 mov r1, r3 806cba4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cba8: 4613 mov r3, r2 806cbaa: 009b lsls r3, r3, #2 806cbac: 4413 add r3, r2 806cbae: 009b lsls r3, r3, #2 806cbb0: 461a mov r2, r3 806cbb2: 4b1e ldr r3, [pc, #120] ; (806cc2c ) 806cbb4: 4413 add r3, r2 806cbb6: 460c mov r4, r1 806cbb8: 461d mov r5, r3 806cbba: cd0f ldmia r5!, {r0, r1, r2, r3} 806cbbc: c40f stmia r4!, {r0, r1, r2, r3} 806cbbe: 682b ldr r3, [r5, #0] 806cbc0: 6023 str r3, [r4, #0] l++; 806cbc2: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cbc6: 3301 adds r3, #1 806cbc8: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806cbcc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cbd0: 3301 adds r3, #1 806cbd2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cbd6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cbda: 4b15 ldr r3, [pc, #84] ; (806cc30 ) 806cbdc: 681b ldr r3, [r3, #0] 806cbde: 429a cmp r2, r3 806cbe0: d3b1 bcc.n 806cb46 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806cbe2: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cbe6: 2b00 cmp r3, #0 806cbe8: f001 871a beq.w 806ea20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806cbec: 2300 movs r3, #0 806cbee: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806cbf2: e092 b.n 806cd1a { for(i = j; i < l; i++) 806cbf4: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806cbf8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cbfc: e082 b.n 806cd04 806cbfe: bf00 nop 806cc00: 64090000 .word 0x64090000 806cc04: 20022364 .word 0x20022364 806cc08: 20022958 .word 0x20022958 806cc0c: 20021fd8 .word 0x20021fd8 806cc10: d01502f9 .word 0xd01502f9 806cc14: 501502f9 .word 0x501502f9 806cc18: 64080000 .word 0x64080000 806cc1c: 20020070 .word 0x20020070 806cc20: 20023eb8 .word 0x20023eb8 806cc24: 080d638c .word 0x080d638c 806cc28: 080d6398 .word 0x080d6398 806cc2c: 640a0000 .word 0x640a0000 806cc30: 20020e34 .word 0x20020e34 { TrendData1 = TrendRAM_TEMP(i); 806cc34: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cc38: 4613 mov r3, r2 806cc3a: 009b lsls r3, r3, #2 806cc3c: 4413 add r3, r2 806cc3e: 009b lsls r3, r3, #2 806cc40: 461a mov r2, r3 806cc42: 4ba6 ldr r3, [pc, #664] ; (806cedc ) 806cc44: 4413 add r3, r2 806cc46: 461a mov r2, r3 806cc48: 4ba5 ldr r3, [pc, #660] ; (806cee0 ) 806cc4a: 461c mov r4, r3 806cc4c: 4615 mov r5, r2 806cc4e: cd0f ldmia r5!, {r0, r1, r2, r3} 806cc50: c40f stmia r4!, {r0, r1, r2, r3} 806cc52: 682b ldr r3, [r5, #0] 806cc54: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806cc56: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cc5a: 4613 mov r3, r2 806cc5c: 009b lsls r3, r3, #2 806cc5e: 4413 add r3, r2 806cc60: 009b lsls r3, r3, #2 806cc62: 461a mov r2, r3 806cc64: 4b9d ldr r3, [pc, #628] ; (806cedc ) 806cc66: 4413 add r3, r2 806cc68: 461a mov r2, r3 806cc6a: 4b9e ldr r3, [pc, #632] ; (806cee4 ) 806cc6c: 461c mov r4, r3 806cc6e: 4615 mov r5, r2 806cc70: cd0f ldmia r5!, {r0, r1, r2, r3} 806cc72: c40f stmia r4!, {r0, r1, r2, r3} 806cc74: 682b ldr r3, [r5, #0] 806cc76: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806cc78: 4b99 ldr r3, [pc, #612] ; (806cee0 ) 806cc7a: 68da ldr r2, [r3, #12] 806cc7c: 4b99 ldr r3, [pc, #612] ; (806cee4 ) 806cc7e: 68db ldr r3, [r3, #12] 806cc80: 429a cmp r2, r3 806cc82: d23a bcs.n 806ccfa { TrendData = TrendRAM_TEMP(j); 806cc84: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cc88: 4613 mov r3, r2 806cc8a: 009b lsls r3, r3, #2 806cc8c: 4413 add r3, r2 806cc8e: 009b lsls r3, r3, #2 806cc90: 461a mov r2, r3 806cc92: 4b92 ldr r3, [pc, #584] ; (806cedc ) 806cc94: 4413 add r3, r2 806cc96: 461a mov r2, r3 806cc98: 4b93 ldr r3, [pc, #588] ; (806cee8 ) 806cc9a: 461c mov r4, r3 806cc9c: 4615 mov r5, r2 806cc9e: cd0f ldmia r5!, {r0, r1, r2, r3} 806cca0: c40f stmia r4!, {r0, r1, r2, r3} 806cca2: 682b ldr r3, [r5, #0] 806cca4: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806cca6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ccaa: 4613 mov r3, r2 806ccac: 009b lsls r3, r3, #2 806ccae: 4413 add r3, r2 806ccb0: 009b lsls r3, r3, #2 806ccb2: 461a mov r2, r3 806ccb4: 4b89 ldr r3, [pc, #548] ; (806cedc ) 806ccb6: 4413 add r3, r2 806ccb8: 4619 mov r1, r3 806ccba: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ccbe: 4613 mov r3, r2 806ccc0: 009b lsls r3, r3, #2 806ccc2: 4413 add r3, r2 806ccc4: 009b lsls r3, r3, #2 806ccc6: 461a mov r2, r3 806ccc8: 4b84 ldr r3, [pc, #528] ; (806cedc ) 806ccca: 4413 add r3, r2 806cccc: 460c mov r4, r1 806ccce: 461d mov r5, r3 806ccd0: cd0f ldmia r5!, {r0, r1, r2, r3} 806ccd2: c40f stmia r4!, {r0, r1, r2, r3} 806ccd4: 682b ldr r3, [r5, #0] 806ccd6: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806ccd8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ccdc: 4613 mov r3, r2 806ccde: 009b lsls r3, r3, #2 806cce0: 4413 add r3, r2 806cce2: 009b lsls r3, r3, #2 806cce4: 461a mov r2, r3 806cce6: 4b7d ldr r3, [pc, #500] ; (806cedc ) 806cce8: 4413 add r3, r2 806ccea: 461a mov r2, r3 806ccec: 4b7e ldr r3, [pc, #504] ; (806cee8 ) 806ccee: 4614 mov r4, r2 806ccf0: 461d mov r5, r3 806ccf2: cd0f ldmia r5!, {r0, r1, r2, r3} 806ccf4: c40f stmia r4!, {r0, r1, r2, r3} 806ccf6: 682b ldr r3, [r5, #0] 806ccf8: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806ccfa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ccfe: 3301 adds r3, #1 806cd00: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cd04: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cd08: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cd0c: 429a cmp r2, r3 806cd0e: d391 bcc.n 806cc34 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806cd10: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806cd14: 3301 adds r3, #1 806cd16: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806cd1a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cd1e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cd22: 429a cmp r2, r3 806cd24: f4ff af66 bcc.w 806cbf4 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806cd28: 4b70 ldr r3, [pc, #448] ; (806ceec ) 806cd2a: f207 424c addw r2, r7, #1100 ; 0x44c 806cd2e: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806cd30: 4b6f ldr r3, [pc, #444] ; (806cef0 ) 806cd32: f507 6289 add.w r2, r7, #1096 ; 0x448 806cd36: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806cd38: 2300 movs r3, #0 806cd3a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cd3e: e049 b.n 806cdd4 { TrendData = TrendRAM_TEMP(i); 806cd40: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cd44: 4613 mov r3, r2 806cd46: 009b lsls r3, r3, #2 806cd48: 4413 add r3, r2 806cd4a: 009b lsls r3, r3, #2 806cd4c: 461a mov r2, r3 806cd4e: 4b63 ldr r3, [pc, #396] ; (806cedc ) 806cd50: 4413 add r3, r2 806cd52: 461a mov r2, r3 806cd54: 4b64 ldr r3, [pc, #400] ; (806cee8 ) 806cd56: 461c mov r4, r3 806cd58: 4615 mov r5, r2 806cd5a: cd0f ldmia r5!, {r0, r1, r2, r3} 806cd5c: c40f stmia r4!, {r0, r1, r2, r3} 806cd5e: 682b ldr r3, [r5, #0] 806cd60: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806cd62: 4b61 ldr r3, [pc, #388] ; (806cee8 ) 806cd64: ed93 7a00 vldr s14, [r3] 806cd68: f207 434c addw r3, r7, #1100 ; 0x44c 806cd6c: edd3 7a00 vldr s15, [r3] 806cd70: eeb4 7ae7 vcmpe.f32 s14, s15 806cd74: eef1 fa10 vmrs APSR_nzcv, fpscr 806cd78: dd04 ble.n 806cd84 806cd7a: 4b5b ldr r3, [pc, #364] ; (806cee8 ) 806cd7c: 681b ldr r3, [r3, #0] 806cd7e: f207 424c addw r2, r7, #1100 ; 0x44c 806cd82: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806cd84: 4b58 ldr r3, [pc, #352] ; (806cee8 ) 806cd86: ed93 7a00 vldr s14, [r3] 806cd8a: f507 6389 add.w r3, r7, #1096 ; 0x448 806cd8e: edd3 7a00 vldr s15, [r3] 806cd92: eeb4 7ae7 vcmpe.f32 s14, s15 806cd96: eef1 fa10 vmrs APSR_nzcv, fpscr 806cd9a: d504 bpl.n 806cda6 806cd9c: 4b52 ldr r3, [pc, #328] ; (806cee8 ) 806cd9e: 681b ldr r3, [r3, #0] 806cda0: f507 6289 add.w r2, r7, #1096 ; 0x448 806cda4: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806cda6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cdaa: 009a lsls r2, r3, #2 806cdac: 4b51 ldr r3, [pc, #324] ; (806cef4 ) 806cdae: 4413 add r3, r2 806cdb0: 461a mov r2, r3 806cdb2: 4b4d ldr r3, [pc, #308] ; (806cee8 ) 806cdb4: 681b ldr r3, [r3, #0] 806cdb6: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806cdb8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cdbc: 009a lsls r2, r3, #2 806cdbe: 4b47 ldr r3, [pc, #284] ; (806cedc ) 806cdc0: 4413 add r3, r2 806cdc2: 461a mov r2, r3 806cdc4: 4b48 ldr r3, [pc, #288] ; (806cee8 ) 806cdc6: 68db ldr r3, [r3, #12] 806cdc8: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806cdca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cdce: 3301 adds r3, #1 806cdd0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cdd4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cdd8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cddc: 429a cmp r2, r3 806cdde: d3af bcc.n 806cd40 806cde0: f001 be1e b.w 806ea20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } } else if(menu == TREND_V) 806cde4: 4b44 ldr r3, [pc, #272] ; (806cef8 ) 806cde6: 781b ldrb r3, [r3, #0] 806cde8: b2db uxtb r3, r3 806cdea: 2b46 cmp r3, #70 ; 0x46 806cdec: f040 870a bne.w 806dc04 { if(menupos == Trend_pk) 806cdf0: 4b42 ldr r3, [pc, #264] ; (806cefc ) 806cdf2: 781b ldrb r3, [r3, #0] 806cdf4: b2db uxtb r3, r3 806cdf6: 2b00 cmp r3, #0 806cdf8: f040 8164 bne.w 806d0c4 { if(pardata.LANG == RUS) 806cdfc: 4b40 ldr r3, [pc, #256] ; (806cf00 ) 806cdfe: 7b1b ldrb r3, [r3, #12] 806ce00: b2db uxtb r3, r3 806ce02: 2b00 cmp r3, #0 806ce04: d106 bne.n 806ce14 BSP_LCD_DisplayStringAt(8, 35, "V(ïèê),ìì/ñ", LEFT_MODE); 806ce06: 2303 movs r3, #3 806ce08: 4a3e ldr r2, [pc, #248] ; (806cf04 ) 806ce0a: 2123 movs r1, #35 ; 0x23 806ce0c: 2008 movs r0, #8 806ce0e: f7e8 fac3 bl 8055398 806ce12: e005 b.n 806ce20 else BSP_LCD_DisplayStringAt(8, 35, "V(peak),mm/s", LEFT_MODE); 806ce14: 2303 movs r3, #3 806ce16: 4a3c ldr r2, [pc, #240] ; (806cf08 ) 806ce18: 2123 movs r1, #35 ; 0x23 806ce1a: 2008 movs r0, #8 806ce1c: f7e8 fabc bl 8055398 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806ce20: 2300 movs r3, #0 806ce22: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806ce26: 2300 movs r3, #0 806ce28: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ce2c: e042 b.n 806ceb4 { TrendData = TrendRAM(i); 806ce2e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ce32: 4613 mov r3, r2 806ce34: 009b lsls r3, r3, #2 806ce36: 4413 add r3, r2 806ce38: 009b lsls r3, r3, #2 806ce3a: 461a mov r2, r3 806ce3c: 4b33 ldr r3, [pc, #204] ; (806cf0c ) 806ce3e: 4413 add r3, r2 806ce40: 461a mov r2, r3 806ce42: 4b29 ldr r3, [pc, #164] ; (806cee8 ) 806ce44: 461c mov r4, r3 806ce46: 4615 mov r5, r2 806ce48: cd0f ldmia r5!, {r0, r1, r2, r3} 806ce4a: c40f stmia r4!, {r0, r1, r2, r3} 806ce4c: 682b ldr r3, [r5, #0] 806ce4e: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'P') && (TrendData.Vval.fl != -1.0f)) 806ce50: 4b25 ldr r3, [pc, #148] ; (806cee8 ) 806ce52: 7c5b ldrb r3, [r3, #17] 806ce54: b2db uxtb r3, r3 806ce56: 2b50 cmp r3, #80 ; 0x50 806ce58: d127 bne.n 806ceaa 806ce5a: 4b23 ldr r3, [pc, #140] ; (806cee8 ) 806ce5c: edd3 7a01 vldr s15, [r3, #4] 806ce60: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806ce64: eef4 7a47 vcmp.f32 s15, s14 806ce68: eef1 fa10 vmrs APSR_nzcv, fpscr 806ce6c: d01d beq.n 806ceaa { TrendRAM_TEMP(l) = TrendRAM(i); 806ce6e: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806ce72: 4613 mov r3, r2 806ce74: 009b lsls r3, r3, #2 806ce76: 4413 add r3, r2 806ce78: 009b lsls r3, r3, #2 806ce7a: 461a mov r2, r3 806ce7c: 4b17 ldr r3, [pc, #92] ; (806cedc ) 806ce7e: 4413 add r3, r2 806ce80: 4619 mov r1, r3 806ce82: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ce86: 4613 mov r3, r2 806ce88: 009b lsls r3, r3, #2 806ce8a: 4413 add r3, r2 806ce8c: 009b lsls r3, r3, #2 806ce8e: 461a mov r2, r3 806ce90: 4b1e ldr r3, [pc, #120] ; (806cf0c ) 806ce92: 4413 add r3, r2 806ce94: 460c mov r4, r1 806ce96: 461d mov r5, r3 806ce98: cd0f ldmia r5!, {r0, r1, r2, r3} 806ce9a: c40f stmia r4!, {r0, r1, r2, r3} 806ce9c: 682b ldr r3, [r5, #0] 806ce9e: 6023 str r3, [r4, #0] l++; 806cea0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cea4: 3301 adds r3, #1 806cea6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806ceaa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ceae: 3301 adds r3, #1 806ceb0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ceb4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ceb8: 4b15 ldr r3, [pc, #84] ; (806cf10 ) 806ceba: 681b ldr r3, [r3, #0] 806cebc: 429a cmp r2, r3 806cebe: d3b6 bcc.n 806ce2e } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806cec0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cec4: 2b00 cmp r3, #0 806cec6: f001 85ab beq.w 806ea20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806ceca: 2300 movs r3, #0 806cecc: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806ced0: e093 b.n 806cffa { for(i = j; i < l; i++) 806ced2: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806ced6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ceda: e083 b.n 806cfe4 806cedc: 64090000 .word 0x64090000 806cee0: 20022364 .word 0x20022364 806cee4: 20022958 .word 0x20022958 806cee8: 20021fd8 .word 0x20021fd8 806ceec: d01502f9 .word 0xd01502f9 806cef0: 501502f9 .word 0x501502f9 806cef4: 64080000 .word 0x64080000 806cef8: 20020fc5 .word 0x20020fc5 806cefc: 20020070 .word 0x20020070 806cf00: 20023eb8 .word 0x20023eb8 806cf04: 080d63a4 .word 0x080d63a4 806cf08: 080d63b0 .word 0x080d63b0 806cf0c: 640a0000 .word 0x640a0000 806cf10: 20020e34 .word 0x20020e34 { TrendData1 = TrendRAM_TEMP(i); 806cf14: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cf18: 4613 mov r3, r2 806cf1a: 009b lsls r3, r3, #2 806cf1c: 4413 add r3, r2 806cf1e: 009b lsls r3, r3, #2 806cf20: 461a mov r2, r3 806cf22: 4ba3 ldr r3, [pc, #652] ; (806d1b0 ) 806cf24: 4413 add r3, r2 806cf26: 461a mov r2, r3 806cf28: 4ba2 ldr r3, [pc, #648] ; (806d1b4 ) 806cf2a: 461c mov r4, r3 806cf2c: 4615 mov r5, r2 806cf2e: cd0f ldmia r5!, {r0, r1, r2, r3} 806cf30: c40f stmia r4!, {r0, r1, r2, r3} 806cf32: 682b ldr r3, [r5, #0] 806cf34: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806cf36: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cf3a: 4613 mov r3, r2 806cf3c: 009b lsls r3, r3, #2 806cf3e: 4413 add r3, r2 806cf40: 009b lsls r3, r3, #2 806cf42: 461a mov r2, r3 806cf44: 4b9a ldr r3, [pc, #616] ; (806d1b0 ) 806cf46: 4413 add r3, r2 806cf48: 461a mov r2, r3 806cf4a: 4b9b ldr r3, [pc, #620] ; (806d1b8 ) 806cf4c: 461c mov r4, r3 806cf4e: 4615 mov r5, r2 806cf50: cd0f ldmia r5!, {r0, r1, r2, r3} 806cf52: c40f stmia r4!, {r0, r1, r2, r3} 806cf54: 682b ldr r3, [r5, #0] 806cf56: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806cf58: 4b96 ldr r3, [pc, #600] ; (806d1b4 ) 806cf5a: 68da ldr r2, [r3, #12] 806cf5c: 4b96 ldr r3, [pc, #600] ; (806d1b8 ) 806cf5e: 68db ldr r3, [r3, #12] 806cf60: 429a cmp r2, r3 806cf62: d23a bcs.n 806cfda { TrendData = TrendRAM_TEMP(j); 806cf64: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cf68: 4613 mov r3, r2 806cf6a: 009b lsls r3, r3, #2 806cf6c: 4413 add r3, r2 806cf6e: 009b lsls r3, r3, #2 806cf70: 461a mov r2, r3 806cf72: 4b8f ldr r3, [pc, #572] ; (806d1b0 ) 806cf74: 4413 add r3, r2 806cf76: 461a mov r2, r3 806cf78: 4b90 ldr r3, [pc, #576] ; (806d1bc ) 806cf7a: 461c mov r4, r3 806cf7c: 4615 mov r5, r2 806cf7e: cd0f ldmia r5!, {r0, r1, r2, r3} 806cf80: c40f stmia r4!, {r0, r1, r2, r3} 806cf82: 682b ldr r3, [r5, #0] 806cf84: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806cf86: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cf8a: 4613 mov r3, r2 806cf8c: 009b lsls r3, r3, #2 806cf8e: 4413 add r3, r2 806cf90: 009b lsls r3, r3, #2 806cf92: 461a mov r2, r3 806cf94: 4b86 ldr r3, [pc, #536] ; (806d1b0 ) 806cf96: 4413 add r3, r2 806cf98: 4619 mov r1, r3 806cf9a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cf9e: 4613 mov r3, r2 806cfa0: 009b lsls r3, r3, #2 806cfa2: 4413 add r3, r2 806cfa4: 009b lsls r3, r3, #2 806cfa6: 461a mov r2, r3 806cfa8: 4b81 ldr r3, [pc, #516] ; (806d1b0 ) 806cfaa: 4413 add r3, r2 806cfac: 460c mov r4, r1 806cfae: 461d mov r5, r3 806cfb0: cd0f ldmia r5!, {r0, r1, r2, r3} 806cfb2: c40f stmia r4!, {r0, r1, r2, r3} 806cfb4: 682b ldr r3, [r5, #0] 806cfb6: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806cfb8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cfbc: 4613 mov r3, r2 806cfbe: 009b lsls r3, r3, #2 806cfc0: 4413 add r3, r2 806cfc2: 009b lsls r3, r3, #2 806cfc4: 461a mov r2, r3 806cfc6: 4b7a ldr r3, [pc, #488] ; (806d1b0 ) 806cfc8: 4413 add r3, r2 806cfca: 461a mov r2, r3 806cfcc: 4b7b ldr r3, [pc, #492] ; (806d1bc ) 806cfce: 4614 mov r4, r2 806cfd0: 461d mov r5, r3 806cfd2: cd0f ldmia r5!, {r0, r1, r2, r3} 806cfd4: c40f stmia r4!, {r0, r1, r2, r3} 806cfd6: 682b ldr r3, [r5, #0] 806cfd8: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806cfda: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cfde: 3301 adds r3, #1 806cfe0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cfe4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cfe8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cfec: 429a cmp r2, r3 806cfee: d391 bcc.n 806cf14 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806cff0: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806cff4: 3301 adds r3, #1 806cff6: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806cffa: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cffe: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d002: 429a cmp r2, r3 806d004: f4ff af65 bcc.w 806ced2 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806d008: 4b6d ldr r3, [pc, #436] ; (806d1c0 ) 806d00a: f207 424c addw r2, r7, #1100 ; 0x44c 806d00e: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806d010: 4b6c ldr r3, [pc, #432] ; (806d1c4 ) 806d012: f507 6289 add.w r2, r7, #1096 ; 0x448 806d016: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806d018: 2300 movs r3, #0 806d01a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d01e: e049 b.n 806d0b4 { TrendData = TrendRAM_TEMP(i); 806d020: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d024: 4613 mov r3, r2 806d026: 009b lsls r3, r3, #2 806d028: 4413 add r3, r2 806d02a: 009b lsls r3, r3, #2 806d02c: 461a mov r2, r3 806d02e: 4b60 ldr r3, [pc, #384] ; (806d1b0 ) 806d030: 4413 add r3, r2 806d032: 461a mov r2, r3 806d034: 4b61 ldr r3, [pc, #388] ; (806d1bc ) 806d036: 461c mov r4, r3 806d038: 4615 mov r5, r2 806d03a: cd0f ldmia r5!, {r0, r1, r2, r3} 806d03c: c40f stmia r4!, {r0, r1, r2, r3} 806d03e: 682b ldr r3, [r5, #0] 806d040: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806d042: 4b5e ldr r3, [pc, #376] ; (806d1bc ) 806d044: ed93 7a01 vldr s14, [r3, #4] 806d048: f207 434c addw r3, r7, #1100 ; 0x44c 806d04c: edd3 7a00 vldr s15, [r3] 806d050: eeb4 7ae7 vcmpe.f32 s14, s15 806d054: eef1 fa10 vmrs APSR_nzcv, fpscr 806d058: dd04 ble.n 806d064 806d05a: 4b58 ldr r3, [pc, #352] ; (806d1bc ) 806d05c: 685b ldr r3, [r3, #4] 806d05e: f207 424c addw r2, r7, #1100 ; 0x44c 806d062: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806d064: 4b55 ldr r3, [pc, #340] ; (806d1bc ) 806d066: ed93 7a01 vldr s14, [r3, #4] 806d06a: f507 6389 add.w r3, r7, #1096 ; 0x448 806d06e: edd3 7a00 vldr s15, [r3] 806d072: eeb4 7ae7 vcmpe.f32 s14, s15 806d076: eef1 fa10 vmrs APSR_nzcv, fpscr 806d07a: d504 bpl.n 806d086 806d07c: 4b4f ldr r3, [pc, #316] ; (806d1bc ) 806d07e: 685b ldr r3, [r3, #4] 806d080: f507 6289 add.w r2, r7, #1096 ; 0x448 806d084: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806d086: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d08a: 009a lsls r2, r3, #2 806d08c: 4b4e ldr r3, [pc, #312] ; (806d1c8 ) 806d08e: 4413 add r3, r2 806d090: 461a mov r2, r3 806d092: 4b4a ldr r3, [pc, #296] ; (806d1bc ) 806d094: 685b ldr r3, [r3, #4] 806d096: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806d098: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d09c: 009a lsls r2, r3, #2 806d09e: 4b44 ldr r3, [pc, #272] ; (806d1b0 ) 806d0a0: 4413 add r3, r2 806d0a2: 461a mov r2, r3 806d0a4: 4b45 ldr r3, [pc, #276] ; (806d1bc ) 806d0a6: 68db ldr r3, [r3, #12] 806d0a8: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806d0aa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d0ae: 3301 adds r3, #1 806d0b0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d0b4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d0b8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d0bc: 429a cmp r2, r3 806d0be: d3af bcc.n 806d020 806d0c0: f001 bcae b.w 806ea20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_rms) 806d0c4: 4b41 ldr r3, [pc, #260] ; (806d1cc ) 806d0c6: 781b ldrb r3, [r3, #0] 806d0c8: b2db uxtb r3, r3 806d0ca: 2b01 cmp r3, #1 806d0cc: f040 8162 bne.w 806d394 { if(pardata.LANG == RUS) 806d0d0: 4b3f ldr r3, [pc, #252] ; (806d1d0 ) 806d0d2: 7b1b ldrb r3, [r3, #12] 806d0d4: b2db uxtb r3, r3 806d0d6: 2b00 cmp r3, #0 806d0d8: d106 bne.n 806d0e8 BSP_LCD_DisplayStringAt(8, 35, "V(ñêç),ìì/ñ", LEFT_MODE); 806d0da: 2303 movs r3, #3 806d0dc: 4a3d ldr r2, [pc, #244] ; (806d1d4 ) 806d0de: 2123 movs r1, #35 ; 0x23 806d0e0: 2008 movs r0, #8 806d0e2: f7e8 f959 bl 8055398 806d0e6: e005 b.n 806d0f4 else BSP_LCD_DisplayStringAt(8, 35, "V(rms),mm/s", LEFT_MODE); 806d0e8: 2303 movs r3, #3 806d0ea: 4a3b ldr r2, [pc, #236] ; (806d1d8 ) 806d0ec: 2123 movs r1, #35 ; 0x23 806d0ee: 2008 movs r0, #8 806d0f0: f7e8 f952 bl 8055398 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806d0f4: 2300 movs r3, #0 806d0f6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806d0fa: 2300 movs r3, #0 806d0fc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d100: e042 b.n 806d188 { TrendData = TrendRAM(i); 806d102: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d106: 4613 mov r3, r2 806d108: 009b lsls r3, r3, #2 806d10a: 4413 add r3, r2 806d10c: 009b lsls r3, r3, #2 806d10e: 461a mov r2, r3 806d110: 4b32 ldr r3, [pc, #200] ; (806d1dc ) 806d112: 4413 add r3, r2 806d114: 461a mov r2, r3 806d116: 4b29 ldr r3, [pc, #164] ; (806d1bc ) 806d118: 461c mov r4, r3 806d11a: 4615 mov r5, r2 806d11c: cd0f ldmia r5!, {r0, r1, r2, r3} 806d11e: c40f stmia r4!, {r0, r1, r2, r3} 806d120: 682b ldr r3, [r5, #0] 806d122: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'S') && (TrendData.Vval.fl != -1.0f)) 806d124: 4b25 ldr r3, [pc, #148] ; (806d1bc ) 806d126: 7c5b ldrb r3, [r3, #17] 806d128: b2db uxtb r3, r3 806d12a: 2b53 cmp r3, #83 ; 0x53 806d12c: d127 bne.n 806d17e 806d12e: 4b23 ldr r3, [pc, #140] ; (806d1bc ) 806d130: edd3 7a01 vldr s15, [r3, #4] 806d134: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806d138: eef4 7a47 vcmp.f32 s15, s14 806d13c: eef1 fa10 vmrs APSR_nzcv, fpscr 806d140: d01d beq.n 806d17e { TrendRAM_TEMP(l) = TrendRAM(i); 806d142: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806d146: 4613 mov r3, r2 806d148: 009b lsls r3, r3, #2 806d14a: 4413 add r3, r2 806d14c: 009b lsls r3, r3, #2 806d14e: 461a mov r2, r3 806d150: 4b17 ldr r3, [pc, #92] ; (806d1b0 ) 806d152: 4413 add r3, r2 806d154: 4619 mov r1, r3 806d156: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d15a: 4613 mov r3, r2 806d15c: 009b lsls r3, r3, #2 806d15e: 4413 add r3, r2 806d160: 009b lsls r3, r3, #2 806d162: 461a mov r2, r3 806d164: 4b1d ldr r3, [pc, #116] ; (806d1dc ) 806d166: 4413 add r3, r2 806d168: 460c mov r4, r1 806d16a: 461d mov r5, r3 806d16c: cd0f ldmia r5!, {r0, r1, r2, r3} 806d16e: c40f stmia r4!, {r0, r1, r2, r3} 806d170: 682b ldr r3, [r5, #0] 806d172: 6023 str r3, [r4, #0] l++; 806d174: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d178: 3301 adds r3, #1 806d17a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806d17e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d182: 3301 adds r3, #1 806d184: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d188: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d18c: 4b14 ldr r3, [pc, #80] ; (806d1e0 ) 806d18e: 681b ldr r3, [r3, #0] 806d190: 429a cmp r2, r3 806d192: d3b6 bcc.n 806d102 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806d194: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d198: 2b00 cmp r3, #0 806d19a: f001 8441 beq.w 806ea20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806d19e: 2300 movs r3, #0 806d1a0: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806d1a4: e091 b.n 806d2ca { for(i = j; i < l; i++) 806d1a6: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806d1aa: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d1ae: e081 b.n 806d2b4 806d1b0: 64090000 .word 0x64090000 806d1b4: 20022364 .word 0x20022364 806d1b8: 20022958 .word 0x20022958 806d1bc: 20021fd8 .word 0x20021fd8 806d1c0: d01502f9 .word 0xd01502f9 806d1c4: 501502f9 .word 0x501502f9 806d1c8: 64080000 .word 0x64080000 806d1cc: 20020070 .word 0x20020070 806d1d0: 20023eb8 .word 0x20023eb8 806d1d4: 080d63c0 .word 0x080d63c0 806d1d8: 080d63cc .word 0x080d63cc 806d1dc: 640a0000 .word 0x640a0000 806d1e0: 20020e34 .word 0x20020e34 { TrendData1 = TrendRAM_TEMP(i); 806d1e4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d1e8: 4613 mov r3, r2 806d1ea: 009b lsls r3, r3, #2 806d1ec: 4413 add r3, r2 806d1ee: 009b lsls r3, r3, #2 806d1f0: 461a mov r2, r3 806d1f2: 4ba3 ldr r3, [pc, #652] ; (806d480 ) 806d1f4: 4413 add r3, r2 806d1f6: 461a mov r2, r3 806d1f8: 4ba2 ldr r3, [pc, #648] ; (806d484 ) 806d1fa: 461c mov r4, r3 806d1fc: 4615 mov r5, r2 806d1fe: cd0f ldmia r5!, {r0, r1, r2, r3} 806d200: c40f stmia r4!, {r0, r1, r2, r3} 806d202: 682b ldr r3, [r5, #0] 806d204: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806d206: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d20a: 4613 mov r3, r2 806d20c: 009b lsls r3, r3, #2 806d20e: 4413 add r3, r2 806d210: 009b lsls r3, r3, #2 806d212: 461a mov r2, r3 806d214: 4b9a ldr r3, [pc, #616] ; (806d480 ) 806d216: 4413 add r3, r2 806d218: 461a mov r2, r3 806d21a: 4b9b ldr r3, [pc, #620] ; (806d488 ) 806d21c: 461c mov r4, r3 806d21e: 4615 mov r5, r2 806d220: cd0f ldmia r5!, {r0, r1, r2, r3} 806d222: c40f stmia r4!, {r0, r1, r2, r3} 806d224: 682b ldr r3, [r5, #0] 806d226: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806d228: 4b96 ldr r3, [pc, #600] ; (806d484 ) 806d22a: 68da ldr r2, [r3, #12] 806d22c: 4b96 ldr r3, [pc, #600] ; (806d488 ) 806d22e: 68db ldr r3, [r3, #12] 806d230: 429a cmp r2, r3 806d232: d23a bcs.n 806d2aa { TrendData = TrendRAM_TEMP(j); 806d234: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d238: 4613 mov r3, r2 806d23a: 009b lsls r3, r3, #2 806d23c: 4413 add r3, r2 806d23e: 009b lsls r3, r3, #2 806d240: 461a mov r2, r3 806d242: 4b8f ldr r3, [pc, #572] ; (806d480 ) 806d244: 4413 add r3, r2 806d246: 461a mov r2, r3 806d248: 4b90 ldr r3, [pc, #576] ; (806d48c ) 806d24a: 461c mov r4, r3 806d24c: 4615 mov r5, r2 806d24e: cd0f ldmia r5!, {r0, r1, r2, r3} 806d250: c40f stmia r4!, {r0, r1, r2, r3} 806d252: 682b ldr r3, [r5, #0] 806d254: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806d256: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d25a: 4613 mov r3, r2 806d25c: 009b lsls r3, r3, #2 806d25e: 4413 add r3, r2 806d260: 009b lsls r3, r3, #2 806d262: 461a mov r2, r3 806d264: 4b86 ldr r3, [pc, #536] ; (806d480 ) 806d266: 4413 add r3, r2 806d268: 4619 mov r1, r3 806d26a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d26e: 4613 mov r3, r2 806d270: 009b lsls r3, r3, #2 806d272: 4413 add r3, r2 806d274: 009b lsls r3, r3, #2 806d276: 461a mov r2, r3 806d278: 4b81 ldr r3, [pc, #516] ; (806d480 ) 806d27a: 4413 add r3, r2 806d27c: 460c mov r4, r1 806d27e: 461d mov r5, r3 806d280: cd0f ldmia r5!, {r0, r1, r2, r3} 806d282: c40f stmia r4!, {r0, r1, r2, r3} 806d284: 682b ldr r3, [r5, #0] 806d286: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806d288: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d28c: 4613 mov r3, r2 806d28e: 009b lsls r3, r3, #2 806d290: 4413 add r3, r2 806d292: 009b lsls r3, r3, #2 806d294: 461a mov r2, r3 806d296: 4b7a ldr r3, [pc, #488] ; (806d480 ) 806d298: 4413 add r3, r2 806d29a: 461a mov r2, r3 806d29c: 4b7b ldr r3, [pc, #492] ; (806d48c ) 806d29e: 4614 mov r4, r2 806d2a0: 461d mov r5, r3 806d2a2: cd0f ldmia r5!, {r0, r1, r2, r3} 806d2a4: c40f stmia r4!, {r0, r1, r2, r3} 806d2a6: 682b ldr r3, [r5, #0] 806d2a8: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806d2aa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d2ae: 3301 adds r3, #1 806d2b0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d2b4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d2b8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d2bc: 429a cmp r2, r3 806d2be: d391 bcc.n 806d1e4 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806d2c0: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806d2c4: 3301 adds r3, #1 806d2c6: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806d2ca: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d2ce: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d2d2: 429a cmp r2, r3 806d2d4: f4ff af67 bcc.w 806d1a6 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806d2d8: 4b6d ldr r3, [pc, #436] ; (806d490 ) 806d2da: f207 424c addw r2, r7, #1100 ; 0x44c 806d2de: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806d2e0: 4b6c ldr r3, [pc, #432] ; (806d494 ) 806d2e2: f507 6289 add.w r2, r7, #1096 ; 0x448 806d2e6: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806d2e8: 2300 movs r3, #0 806d2ea: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d2ee: e049 b.n 806d384 { TrendData = TrendRAM_TEMP(i); 806d2f0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d2f4: 4613 mov r3, r2 806d2f6: 009b lsls r3, r3, #2 806d2f8: 4413 add r3, r2 806d2fa: 009b lsls r3, r3, #2 806d2fc: 461a mov r2, r3 806d2fe: 4b60 ldr r3, [pc, #384] ; (806d480 ) 806d300: 4413 add r3, r2 806d302: 461a mov r2, r3 806d304: 4b61 ldr r3, [pc, #388] ; (806d48c ) 806d306: 461c mov r4, r3 806d308: 4615 mov r5, r2 806d30a: cd0f ldmia r5!, {r0, r1, r2, r3} 806d30c: c40f stmia r4!, {r0, r1, r2, r3} 806d30e: 682b ldr r3, [r5, #0] 806d310: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806d312: 4b5e ldr r3, [pc, #376] ; (806d48c ) 806d314: ed93 7a01 vldr s14, [r3, #4] 806d318: f207 434c addw r3, r7, #1100 ; 0x44c 806d31c: edd3 7a00 vldr s15, [r3] 806d320: eeb4 7ae7 vcmpe.f32 s14, s15 806d324: eef1 fa10 vmrs APSR_nzcv, fpscr 806d328: dd04 ble.n 806d334 806d32a: 4b58 ldr r3, [pc, #352] ; (806d48c ) 806d32c: 685b ldr r3, [r3, #4] 806d32e: f207 424c addw r2, r7, #1100 ; 0x44c 806d332: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806d334: 4b55 ldr r3, [pc, #340] ; (806d48c ) 806d336: ed93 7a01 vldr s14, [r3, #4] 806d33a: f507 6389 add.w r3, r7, #1096 ; 0x448 806d33e: edd3 7a00 vldr s15, [r3] 806d342: eeb4 7ae7 vcmpe.f32 s14, s15 806d346: eef1 fa10 vmrs APSR_nzcv, fpscr 806d34a: d504 bpl.n 806d356 806d34c: 4b4f ldr r3, [pc, #316] ; (806d48c ) 806d34e: 685b ldr r3, [r3, #4] 806d350: f507 6289 add.w r2, r7, #1096 ; 0x448 806d354: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806d356: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d35a: 009a lsls r2, r3, #2 806d35c: 4b4e ldr r3, [pc, #312] ; (806d498 ) 806d35e: 4413 add r3, r2 806d360: 461a mov r2, r3 806d362: 4b4a ldr r3, [pc, #296] ; (806d48c ) 806d364: 685b ldr r3, [r3, #4] 806d366: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806d368: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d36c: 009a lsls r2, r3, #2 806d36e: 4b44 ldr r3, [pc, #272] ; (806d480 ) 806d370: 4413 add r3, r2 806d372: 461a mov r2, r3 806d374: 4b45 ldr r3, [pc, #276] ; (806d48c ) 806d376: 68db ldr r3, [r3, #12] 806d378: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806d37a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d37e: 3301 adds r3, #1 806d380: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d384: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d388: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d38c: 429a cmp r2, r3 806d38e: d3af bcc.n 806d2f0 806d390: f001 bb46 b.w 806ea20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_pkpk) 806d394: 4b41 ldr r3, [pc, #260] ; (806d49c ) 806d396: 781b ldrb r3, [r3, #0] 806d398: b2db uxtb r3, r3 806d39a: 2b02 cmp r3, #2 806d39c: f040 8162 bne.w 806d664 { if(pardata.LANG == RUS) 806d3a0: 4b3f ldr r3, [pc, #252] ; (806d4a0 ) 806d3a2: 7b1b ldrb r3, [r3, #12] 806d3a4: b2db uxtb r3, r3 806d3a6: 2b00 cmp r3, #0 806d3a8: d106 bne.n 806d3b8 BSP_LCD_DisplayStringAt(8, 35, "V(ðàçìàõ),ìì/ñ", LEFT_MODE); 806d3aa: 2303 movs r3, #3 806d3ac: 4a3d ldr r2, [pc, #244] ; (806d4a4 ) 806d3ae: 2123 movs r1, #35 ; 0x23 806d3b0: 2008 movs r0, #8 806d3b2: f7e7 fff1 bl 8055398 806d3b6: e005 b.n 806d3c4 else BSP_LCD_DisplayStringAt(8, 35, "V(peak-peak),mm/s", LEFT_MODE); 806d3b8: 2303 movs r3, #3 806d3ba: 4a3b ldr r2, [pc, #236] ; (806d4a8 ) 806d3bc: 2123 movs r1, #35 ; 0x23 806d3be: 2008 movs r0, #8 806d3c0: f7e7 ffea bl 8055398 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806d3c4: 2300 movs r3, #0 806d3c6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806d3ca: 2300 movs r3, #0 806d3cc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d3d0: e042 b.n 806d458 { TrendData = TrendRAM(i); 806d3d2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d3d6: 4613 mov r3, r2 806d3d8: 009b lsls r3, r3, #2 806d3da: 4413 add r3, r2 806d3dc: 009b lsls r3, r3, #2 806d3de: 461a mov r2, r3 806d3e0: 4b32 ldr r3, [pc, #200] ; (806d4ac ) 806d3e2: 4413 add r3, r2 806d3e4: 461a mov r2, r3 806d3e6: 4b29 ldr r3, [pc, #164] ; (806d48c ) 806d3e8: 461c mov r4, r3 806d3ea: 4615 mov r5, r2 806d3ec: cd0f ldmia r5!, {r0, r1, r2, r3} 806d3ee: c40f stmia r4!, {r0, r1, r2, r3} 806d3f0: 682b ldr r3, [r5, #0] 806d3f2: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'R') && (TrendData.Vval.fl != -1.0f)) 806d3f4: 4b25 ldr r3, [pc, #148] ; (806d48c ) 806d3f6: 7c5b ldrb r3, [r3, #17] 806d3f8: b2db uxtb r3, r3 806d3fa: 2b52 cmp r3, #82 ; 0x52 806d3fc: d127 bne.n 806d44e 806d3fe: 4b23 ldr r3, [pc, #140] ; (806d48c ) 806d400: edd3 7a01 vldr s15, [r3, #4] 806d404: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806d408: eef4 7a47 vcmp.f32 s15, s14 806d40c: eef1 fa10 vmrs APSR_nzcv, fpscr 806d410: d01d beq.n 806d44e { TrendRAM_TEMP(l) = TrendRAM(i); 806d412: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806d416: 4613 mov r3, r2 806d418: 009b lsls r3, r3, #2 806d41a: 4413 add r3, r2 806d41c: 009b lsls r3, r3, #2 806d41e: 461a mov r2, r3 806d420: 4b17 ldr r3, [pc, #92] ; (806d480 ) 806d422: 4413 add r3, r2 806d424: 4619 mov r1, r3 806d426: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d42a: 4613 mov r3, r2 806d42c: 009b lsls r3, r3, #2 806d42e: 4413 add r3, r2 806d430: 009b lsls r3, r3, #2 806d432: 461a mov r2, r3 806d434: 4b1d ldr r3, [pc, #116] ; (806d4ac ) 806d436: 4413 add r3, r2 806d438: 460c mov r4, r1 806d43a: 461d mov r5, r3 806d43c: cd0f ldmia r5!, {r0, r1, r2, r3} 806d43e: c40f stmia r4!, {r0, r1, r2, r3} 806d440: 682b ldr r3, [r5, #0] 806d442: 6023 str r3, [r4, #0] l++; 806d444: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d448: 3301 adds r3, #1 806d44a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806d44e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d452: 3301 adds r3, #1 806d454: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d458: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d45c: 4b14 ldr r3, [pc, #80] ; (806d4b0 ) 806d45e: 681b ldr r3, [r3, #0] 806d460: 429a cmp r2, r3 806d462: d3b6 bcc.n 806d3d2 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806d464: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d468: 2b00 cmp r3, #0 806d46a: f001 82d9 beq.w 806ea20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806d46e: 2300 movs r3, #0 806d470: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806d474: e091 b.n 806d59a { for(i = j; i < l; i++) 806d476: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806d47a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d47e: e081 b.n 806d584 806d480: 64090000 .word 0x64090000 806d484: 20022364 .word 0x20022364 806d488: 20022958 .word 0x20022958 806d48c: 20021fd8 .word 0x20021fd8 806d490: d01502f9 .word 0xd01502f9 806d494: 501502f9 .word 0x501502f9 806d498: 64080000 .word 0x64080000 806d49c: 20020070 .word 0x20020070 806d4a0: 20023eb8 .word 0x20023eb8 806d4a4: 080d63d8 .word 0x080d63d8 806d4a8: 080d63e8 .word 0x080d63e8 806d4ac: 640a0000 .word 0x640a0000 806d4b0: 20020e34 .word 0x20020e34 { TrendData1 = TrendRAM_TEMP(i); 806d4b4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d4b8: 4613 mov r3, r2 806d4ba: 009b lsls r3, r3, #2 806d4bc: 4413 add r3, r2 806d4be: 009b lsls r3, r3, #2 806d4c0: 461a mov r2, r3 806d4c2: 4ba3 ldr r3, [pc, #652] ; (806d750 ) 806d4c4: 4413 add r3, r2 806d4c6: 461a mov r2, r3 806d4c8: 4ba2 ldr r3, [pc, #648] ; (806d754 ) 806d4ca: 461c mov r4, r3 806d4cc: 4615 mov r5, r2 806d4ce: cd0f ldmia r5!, {r0, r1, r2, r3} 806d4d0: c40f stmia r4!, {r0, r1, r2, r3} 806d4d2: 682b ldr r3, [r5, #0] 806d4d4: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806d4d6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d4da: 4613 mov r3, r2 806d4dc: 009b lsls r3, r3, #2 806d4de: 4413 add r3, r2 806d4e0: 009b lsls r3, r3, #2 806d4e2: 461a mov r2, r3 806d4e4: 4b9a ldr r3, [pc, #616] ; (806d750 ) 806d4e6: 4413 add r3, r2 806d4e8: 461a mov r2, r3 806d4ea: 4b9b ldr r3, [pc, #620] ; (806d758 ) 806d4ec: 461c mov r4, r3 806d4ee: 4615 mov r5, r2 806d4f0: cd0f ldmia r5!, {r0, r1, r2, r3} 806d4f2: c40f stmia r4!, {r0, r1, r2, r3} 806d4f4: 682b ldr r3, [r5, #0] 806d4f6: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806d4f8: 4b96 ldr r3, [pc, #600] ; (806d754 ) 806d4fa: 68da ldr r2, [r3, #12] 806d4fc: 4b96 ldr r3, [pc, #600] ; (806d758 ) 806d4fe: 68db ldr r3, [r3, #12] 806d500: 429a cmp r2, r3 806d502: d23a bcs.n 806d57a { TrendData = TrendRAM_TEMP(j); 806d504: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d508: 4613 mov r3, r2 806d50a: 009b lsls r3, r3, #2 806d50c: 4413 add r3, r2 806d50e: 009b lsls r3, r3, #2 806d510: 461a mov r2, r3 806d512: 4b8f ldr r3, [pc, #572] ; (806d750 ) 806d514: 4413 add r3, r2 806d516: 461a mov r2, r3 806d518: 4b90 ldr r3, [pc, #576] ; (806d75c ) 806d51a: 461c mov r4, r3 806d51c: 4615 mov r5, r2 806d51e: cd0f ldmia r5!, {r0, r1, r2, r3} 806d520: c40f stmia r4!, {r0, r1, r2, r3} 806d522: 682b ldr r3, [r5, #0] 806d524: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806d526: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d52a: 4613 mov r3, r2 806d52c: 009b lsls r3, r3, #2 806d52e: 4413 add r3, r2 806d530: 009b lsls r3, r3, #2 806d532: 461a mov r2, r3 806d534: 4b86 ldr r3, [pc, #536] ; (806d750 ) 806d536: 4413 add r3, r2 806d538: 4619 mov r1, r3 806d53a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d53e: 4613 mov r3, r2 806d540: 009b lsls r3, r3, #2 806d542: 4413 add r3, r2 806d544: 009b lsls r3, r3, #2 806d546: 461a mov r2, r3 806d548: 4b81 ldr r3, [pc, #516] ; (806d750 ) 806d54a: 4413 add r3, r2 806d54c: 460c mov r4, r1 806d54e: 461d mov r5, r3 806d550: cd0f ldmia r5!, {r0, r1, r2, r3} 806d552: c40f stmia r4!, {r0, r1, r2, r3} 806d554: 682b ldr r3, [r5, #0] 806d556: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806d558: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d55c: 4613 mov r3, r2 806d55e: 009b lsls r3, r3, #2 806d560: 4413 add r3, r2 806d562: 009b lsls r3, r3, #2 806d564: 461a mov r2, r3 806d566: 4b7a ldr r3, [pc, #488] ; (806d750 ) 806d568: 4413 add r3, r2 806d56a: 461a mov r2, r3 806d56c: 4b7b ldr r3, [pc, #492] ; (806d75c ) 806d56e: 4614 mov r4, r2 806d570: 461d mov r5, r3 806d572: cd0f ldmia r5!, {r0, r1, r2, r3} 806d574: c40f stmia r4!, {r0, r1, r2, r3} 806d576: 682b ldr r3, [r5, #0] 806d578: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806d57a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d57e: 3301 adds r3, #1 806d580: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d584: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d588: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d58c: 429a cmp r2, r3 806d58e: d391 bcc.n 806d4b4 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806d590: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806d594: 3301 adds r3, #1 806d596: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806d59a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d59e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d5a2: 429a cmp r2, r3 806d5a4: f4ff af67 bcc.w 806d476 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806d5a8: 4b6d ldr r3, [pc, #436] ; (806d760 ) 806d5aa: f207 424c addw r2, r7, #1100 ; 0x44c 806d5ae: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806d5b0: 4b6c ldr r3, [pc, #432] ; (806d764 ) 806d5b2: f507 6289 add.w r2, r7, #1096 ; 0x448 806d5b6: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806d5b8: 2300 movs r3, #0 806d5ba: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d5be: e049 b.n 806d654 { TrendData = TrendRAM_TEMP(i); 806d5c0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d5c4: 4613 mov r3, r2 806d5c6: 009b lsls r3, r3, #2 806d5c8: 4413 add r3, r2 806d5ca: 009b lsls r3, r3, #2 806d5cc: 461a mov r2, r3 806d5ce: 4b60 ldr r3, [pc, #384] ; (806d750 ) 806d5d0: 4413 add r3, r2 806d5d2: 461a mov r2, r3 806d5d4: 4b61 ldr r3, [pc, #388] ; (806d75c ) 806d5d6: 461c mov r4, r3 806d5d8: 4615 mov r5, r2 806d5da: cd0f ldmia r5!, {r0, r1, r2, r3} 806d5dc: c40f stmia r4!, {r0, r1, r2, r3} 806d5de: 682b ldr r3, [r5, #0] 806d5e0: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806d5e2: 4b5e ldr r3, [pc, #376] ; (806d75c ) 806d5e4: ed93 7a01 vldr s14, [r3, #4] 806d5e8: f207 434c addw r3, r7, #1100 ; 0x44c 806d5ec: edd3 7a00 vldr s15, [r3] 806d5f0: eeb4 7ae7 vcmpe.f32 s14, s15 806d5f4: eef1 fa10 vmrs APSR_nzcv, fpscr 806d5f8: dd04 ble.n 806d604 806d5fa: 4b58 ldr r3, [pc, #352] ; (806d75c ) 806d5fc: 685b ldr r3, [r3, #4] 806d5fe: f207 424c addw r2, r7, #1100 ; 0x44c 806d602: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806d604: 4b55 ldr r3, [pc, #340] ; (806d75c ) 806d606: ed93 7a01 vldr s14, [r3, #4] 806d60a: f507 6389 add.w r3, r7, #1096 ; 0x448 806d60e: edd3 7a00 vldr s15, [r3] 806d612: eeb4 7ae7 vcmpe.f32 s14, s15 806d616: eef1 fa10 vmrs APSR_nzcv, fpscr 806d61a: d504 bpl.n 806d626 806d61c: 4b4f ldr r3, [pc, #316] ; (806d75c ) 806d61e: 685b ldr r3, [r3, #4] 806d620: f507 6289 add.w r2, r7, #1096 ; 0x448 806d624: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806d626: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d62a: 009a lsls r2, r3, #2 806d62c: 4b4e ldr r3, [pc, #312] ; (806d768 ) 806d62e: 4413 add r3, r2 806d630: 461a mov r2, r3 806d632: 4b4a ldr r3, [pc, #296] ; (806d75c ) 806d634: 685b ldr r3, [r3, #4] 806d636: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806d638: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d63c: 009a lsls r2, r3, #2 806d63e: 4b44 ldr r3, [pc, #272] ; (806d750 ) 806d640: 4413 add r3, r2 806d642: 461a mov r2, r3 806d644: 4b45 ldr r3, [pc, #276] ; (806d75c ) 806d646: 68db ldr r3, [r3, #12] 806d648: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806d64a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d64e: 3301 adds r3, #1 806d650: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d654: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d658: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d65c: 429a cmp r2, r3 806d65e: d3af bcc.n 806d5c0 806d660: f001 b9de b.w 806ea20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_factor) 806d664: 4b41 ldr r3, [pc, #260] ; (806d76c ) 806d666: 781b ldrb r3, [r3, #0] 806d668: b2db uxtb r3, r3 806d66a: 2b03 cmp r3, #3 806d66c: f040 8162 bne.w 806d934 { if(pardata.LANG == RUS) 806d670: 4b3f ldr r3, [pc, #252] ; (806d770 ) 806d672: 7b1b ldrb r3, [r3, #12] 806d674: b2db uxtb r3, r3 806d676: 2b00 cmp r3, #0 806d678: d106 bne.n 806d688 BSP_LCD_DisplayStringAt(8, 35, "V(ïèê-ôàêòîð)", LEFT_MODE); 806d67a: 2303 movs r3, #3 806d67c: 4a3d ldr r2, [pc, #244] ; (806d774 ) 806d67e: 2123 movs r1, #35 ; 0x23 806d680: 2008 movs r0, #8 806d682: f7e7 fe89 bl 8055398 806d686: e005 b.n 806d694 else BSP_LCD_DisplayStringAt(8, 35, "V(peak-factor)", LEFT_MODE); 806d688: 2303 movs r3, #3 806d68a: 4a3b ldr r2, [pc, #236] ; (806d778 ) 806d68c: 2123 movs r1, #35 ; 0x23 806d68e: 2008 movs r0, #8 806d690: f7e7 fe82 bl 8055398 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806d694: 2300 movs r3, #0 806d696: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806d69a: 2300 movs r3, #0 806d69c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d6a0: e042 b.n 806d728 { TrendData = TrendRAM(i); 806d6a2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d6a6: 4613 mov r3, r2 806d6a8: 009b lsls r3, r3, #2 806d6aa: 4413 add r3, r2 806d6ac: 009b lsls r3, r3, #2 806d6ae: 461a mov r2, r3 806d6b0: 4b32 ldr r3, [pc, #200] ; (806d77c ) 806d6b2: 4413 add r3, r2 806d6b4: 461a mov r2, r3 806d6b6: 4b29 ldr r3, [pc, #164] ; (806d75c ) 806d6b8: 461c mov r4, r3 806d6ba: 4615 mov r5, r2 806d6bc: cd0f ldmia r5!, {r0, r1, r2, r3} 806d6be: c40f stmia r4!, {r0, r1, r2, r3} 806d6c0: 682b ldr r3, [r5, #0] 806d6c2: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'F') && (TrendData.Vval.fl != -1.0f)) 806d6c4: 4b25 ldr r3, [pc, #148] ; (806d75c ) 806d6c6: 7c5b ldrb r3, [r3, #17] 806d6c8: b2db uxtb r3, r3 806d6ca: 2b46 cmp r3, #70 ; 0x46 806d6cc: d127 bne.n 806d71e 806d6ce: 4b23 ldr r3, [pc, #140] ; (806d75c ) 806d6d0: edd3 7a01 vldr s15, [r3, #4] 806d6d4: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806d6d8: eef4 7a47 vcmp.f32 s15, s14 806d6dc: eef1 fa10 vmrs APSR_nzcv, fpscr 806d6e0: d01d beq.n 806d71e { TrendRAM_TEMP(l) = TrendRAM(i); 806d6e2: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806d6e6: 4613 mov r3, r2 806d6e8: 009b lsls r3, r3, #2 806d6ea: 4413 add r3, r2 806d6ec: 009b lsls r3, r3, #2 806d6ee: 461a mov r2, r3 806d6f0: 4b17 ldr r3, [pc, #92] ; (806d750 ) 806d6f2: 4413 add r3, r2 806d6f4: 4619 mov r1, r3 806d6f6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d6fa: 4613 mov r3, r2 806d6fc: 009b lsls r3, r3, #2 806d6fe: 4413 add r3, r2 806d700: 009b lsls r3, r3, #2 806d702: 461a mov r2, r3 806d704: 4b1d ldr r3, [pc, #116] ; (806d77c ) 806d706: 4413 add r3, r2 806d708: 460c mov r4, r1 806d70a: 461d mov r5, r3 806d70c: cd0f ldmia r5!, {r0, r1, r2, r3} 806d70e: c40f stmia r4!, {r0, r1, r2, r3} 806d710: 682b ldr r3, [r5, #0] 806d712: 6023 str r3, [r4, #0] l++; 806d714: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d718: 3301 adds r3, #1 806d71a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806d71e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d722: 3301 adds r3, #1 806d724: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d728: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d72c: 4b14 ldr r3, [pc, #80] ; (806d780 ) 806d72e: 681b ldr r3, [r3, #0] 806d730: 429a cmp r2, r3 806d732: d3b6 bcc.n 806d6a2 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806d734: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d738: 2b00 cmp r3, #0 806d73a: f001 8171 beq.w 806ea20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806d73e: 2300 movs r3, #0 806d740: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806d744: e091 b.n 806d86a { for(i = j; i < l; i++) 806d746: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806d74a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d74e: e081 b.n 806d854 806d750: 64090000 .word 0x64090000 806d754: 20022364 .word 0x20022364 806d758: 20022958 .word 0x20022958 806d75c: 20021fd8 .word 0x20021fd8 806d760: d01502f9 .word 0xd01502f9 806d764: 501502f9 .word 0x501502f9 806d768: 64080000 .word 0x64080000 806d76c: 20020070 .word 0x20020070 806d770: 20023eb8 .word 0x20023eb8 806d774: 080d63fc .word 0x080d63fc 806d778: 080d640c .word 0x080d640c 806d77c: 640a0000 .word 0x640a0000 806d780: 20020e34 .word 0x20020e34 { TrendData1 = TrendRAM_TEMP(i); 806d784: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d788: 4613 mov r3, r2 806d78a: 009b lsls r3, r3, #2 806d78c: 4413 add r3, r2 806d78e: 009b lsls r3, r3, #2 806d790: 461a mov r2, r3 806d792: 4ba3 ldr r3, [pc, #652] ; (806da20 ) 806d794: 4413 add r3, r2 806d796: 461a mov r2, r3 806d798: 4ba2 ldr r3, [pc, #648] ; (806da24 ) 806d79a: 461c mov r4, r3 806d79c: 4615 mov r5, r2 806d79e: cd0f ldmia r5!, {r0, r1, r2, r3} 806d7a0: c40f stmia r4!, {r0, r1, r2, r3} 806d7a2: 682b ldr r3, [r5, #0] 806d7a4: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806d7a6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d7aa: 4613 mov r3, r2 806d7ac: 009b lsls r3, r3, #2 806d7ae: 4413 add r3, r2 806d7b0: 009b lsls r3, r3, #2 806d7b2: 461a mov r2, r3 806d7b4: 4b9a ldr r3, [pc, #616] ; (806da20 ) 806d7b6: 4413 add r3, r2 806d7b8: 461a mov r2, r3 806d7ba: 4b9b ldr r3, [pc, #620] ; (806da28 ) 806d7bc: 461c mov r4, r3 806d7be: 4615 mov r5, r2 806d7c0: cd0f ldmia r5!, {r0, r1, r2, r3} 806d7c2: c40f stmia r4!, {r0, r1, r2, r3} 806d7c4: 682b ldr r3, [r5, #0] 806d7c6: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806d7c8: 4b96 ldr r3, [pc, #600] ; (806da24 ) 806d7ca: 68da ldr r2, [r3, #12] 806d7cc: 4b96 ldr r3, [pc, #600] ; (806da28 ) 806d7ce: 68db ldr r3, [r3, #12] 806d7d0: 429a cmp r2, r3 806d7d2: d23a bcs.n 806d84a { TrendData = TrendRAM_TEMP(j); 806d7d4: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d7d8: 4613 mov r3, r2 806d7da: 009b lsls r3, r3, #2 806d7dc: 4413 add r3, r2 806d7de: 009b lsls r3, r3, #2 806d7e0: 461a mov r2, r3 806d7e2: 4b8f ldr r3, [pc, #572] ; (806da20 ) 806d7e4: 4413 add r3, r2 806d7e6: 461a mov r2, r3 806d7e8: 4b90 ldr r3, [pc, #576] ; (806da2c ) 806d7ea: 461c mov r4, r3 806d7ec: 4615 mov r5, r2 806d7ee: cd0f ldmia r5!, {r0, r1, r2, r3} 806d7f0: c40f stmia r4!, {r0, r1, r2, r3} 806d7f2: 682b ldr r3, [r5, #0] 806d7f4: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806d7f6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d7fa: 4613 mov r3, r2 806d7fc: 009b lsls r3, r3, #2 806d7fe: 4413 add r3, r2 806d800: 009b lsls r3, r3, #2 806d802: 461a mov r2, r3 806d804: 4b86 ldr r3, [pc, #536] ; (806da20 ) 806d806: 4413 add r3, r2 806d808: 4619 mov r1, r3 806d80a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d80e: 4613 mov r3, r2 806d810: 009b lsls r3, r3, #2 806d812: 4413 add r3, r2 806d814: 009b lsls r3, r3, #2 806d816: 461a mov r2, r3 806d818: 4b81 ldr r3, [pc, #516] ; (806da20 ) 806d81a: 4413 add r3, r2 806d81c: 460c mov r4, r1 806d81e: 461d mov r5, r3 806d820: cd0f ldmia r5!, {r0, r1, r2, r3} 806d822: c40f stmia r4!, {r0, r1, r2, r3} 806d824: 682b ldr r3, [r5, #0] 806d826: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806d828: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d82c: 4613 mov r3, r2 806d82e: 009b lsls r3, r3, #2 806d830: 4413 add r3, r2 806d832: 009b lsls r3, r3, #2 806d834: 461a mov r2, r3 806d836: 4b7a ldr r3, [pc, #488] ; (806da20 ) 806d838: 4413 add r3, r2 806d83a: 461a mov r2, r3 806d83c: 4b7b ldr r3, [pc, #492] ; (806da2c ) 806d83e: 4614 mov r4, r2 806d840: 461d mov r5, r3 806d842: cd0f ldmia r5!, {r0, r1, r2, r3} 806d844: c40f stmia r4!, {r0, r1, r2, r3} 806d846: 682b ldr r3, [r5, #0] 806d848: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806d84a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d84e: 3301 adds r3, #1 806d850: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d854: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d858: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d85c: 429a cmp r2, r3 806d85e: d391 bcc.n 806d784 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806d860: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806d864: 3301 adds r3, #1 806d866: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806d86a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d86e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d872: 429a cmp r2, r3 806d874: f4ff af67 bcc.w 806d746 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806d878: 4b6d ldr r3, [pc, #436] ; (806da30 ) 806d87a: f207 424c addw r2, r7, #1100 ; 0x44c 806d87e: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806d880: 4b6c ldr r3, [pc, #432] ; (806da34 ) 806d882: f507 6289 add.w r2, r7, #1096 ; 0x448 806d886: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806d888: 2300 movs r3, #0 806d88a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d88e: e049 b.n 806d924 { TrendData = TrendRAM_TEMP(i); 806d890: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d894: 4613 mov r3, r2 806d896: 009b lsls r3, r3, #2 806d898: 4413 add r3, r2 806d89a: 009b lsls r3, r3, #2 806d89c: 461a mov r2, r3 806d89e: 4b60 ldr r3, [pc, #384] ; (806da20 ) 806d8a0: 4413 add r3, r2 806d8a2: 461a mov r2, r3 806d8a4: 4b61 ldr r3, [pc, #388] ; (806da2c ) 806d8a6: 461c mov r4, r3 806d8a8: 4615 mov r5, r2 806d8aa: cd0f ldmia r5!, {r0, r1, r2, r3} 806d8ac: c40f stmia r4!, {r0, r1, r2, r3} 806d8ae: 682b ldr r3, [r5, #0] 806d8b0: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806d8b2: 4b5e ldr r3, [pc, #376] ; (806da2c ) 806d8b4: ed93 7a01 vldr s14, [r3, #4] 806d8b8: f207 434c addw r3, r7, #1100 ; 0x44c 806d8bc: edd3 7a00 vldr s15, [r3] 806d8c0: eeb4 7ae7 vcmpe.f32 s14, s15 806d8c4: eef1 fa10 vmrs APSR_nzcv, fpscr 806d8c8: dd04 ble.n 806d8d4 806d8ca: 4b58 ldr r3, [pc, #352] ; (806da2c ) 806d8cc: 685b ldr r3, [r3, #4] 806d8ce: f207 424c addw r2, r7, #1100 ; 0x44c 806d8d2: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806d8d4: 4b55 ldr r3, [pc, #340] ; (806da2c ) 806d8d6: ed93 7a01 vldr s14, [r3, #4] 806d8da: f507 6389 add.w r3, r7, #1096 ; 0x448 806d8de: edd3 7a00 vldr s15, [r3] 806d8e2: eeb4 7ae7 vcmpe.f32 s14, s15 806d8e6: eef1 fa10 vmrs APSR_nzcv, fpscr 806d8ea: d504 bpl.n 806d8f6 806d8ec: 4b4f ldr r3, [pc, #316] ; (806da2c ) 806d8ee: 685b ldr r3, [r3, #4] 806d8f0: f507 6289 add.w r2, r7, #1096 ; 0x448 806d8f4: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806d8f6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d8fa: 009a lsls r2, r3, #2 806d8fc: 4b4e ldr r3, [pc, #312] ; (806da38 ) 806d8fe: 4413 add r3, r2 806d900: 461a mov r2, r3 806d902: 4b4a ldr r3, [pc, #296] ; (806da2c ) 806d904: 685b ldr r3, [r3, #4] 806d906: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806d908: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d90c: 009a lsls r2, r3, #2 806d90e: 4b44 ldr r3, [pc, #272] ; (806da20 ) 806d910: 4413 add r3, r2 806d912: 461a mov r2, r3 806d914: 4b45 ldr r3, [pc, #276] ; (806da2c ) 806d916: 68db ldr r3, [r3, #12] 806d918: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806d91a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d91e: 3301 adds r3, #1 806d920: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d924: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d928: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d92c: 429a cmp r2, r3 806d92e: d3af bcc.n 806d890 806d930: f001 b876 b.w 806ea20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_excess) 806d934: 4b41 ldr r3, [pc, #260] ; (806da3c ) 806d936: 781b ldrb r3, [r3, #0] 806d938: b2db uxtb r3, r3 806d93a: 2b04 cmp r3, #4 806d93c: f041 8070 bne.w 806ea20 { if(pardata.LANG == RUS) 806d940: 4b3f ldr r3, [pc, #252] ; (806da40 ) 806d942: 7b1b ldrb r3, [r3, #12] 806d944: b2db uxtb r3, r3 806d946: 2b00 cmp r3, #0 806d948: d106 bne.n 806d958 BSP_LCD_DisplayStringAt(8, 35, "V(ýêñöåññ)", LEFT_MODE); 806d94a: 2303 movs r3, #3 806d94c: 4a3d ldr r2, [pc, #244] ; (806da44 ) 806d94e: 2123 movs r1, #35 ; 0x23 806d950: 2008 movs r0, #8 806d952: f7e7 fd21 bl 8055398 806d956: e005 b.n 806d964 else BSP_LCD_DisplayStringAt(8, 35, "V(excess)", LEFT_MODE); 806d958: 2303 movs r3, #3 806d95a: 4a3b ldr r2, [pc, #236] ; (806da48 ) 806d95c: 2123 movs r1, #35 ; 0x23 806d95e: 2008 movs r0, #8 806d960: f7e7 fd1a bl 8055398 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806d964: 2300 movs r3, #0 806d966: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806d96a: 2300 movs r3, #0 806d96c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d970: e042 b.n 806d9f8 { TrendData = TrendRAM(i); 806d972: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d976: 4613 mov r3, r2 806d978: 009b lsls r3, r3, #2 806d97a: 4413 add r3, r2 806d97c: 009b lsls r3, r3, #2 806d97e: 461a mov r2, r3 806d980: 4b32 ldr r3, [pc, #200] ; (806da4c ) 806d982: 4413 add r3, r2 806d984: 461a mov r2, r3 806d986: 4b29 ldr r3, [pc, #164] ; (806da2c ) 806d988: 461c mov r4, r3 806d98a: 4615 mov r5, r2 806d98c: cd0f ldmia r5!, {r0, r1, r2, r3} 806d98e: c40f stmia r4!, {r0, r1, r2, r3} 806d990: 682b ldr r3, [r5, #0] 806d992: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'E') && (TrendData.Vval.fl != -1.0f)) 806d994: 4b25 ldr r3, [pc, #148] ; (806da2c ) 806d996: 7c5b ldrb r3, [r3, #17] 806d998: b2db uxtb r3, r3 806d99a: 2b45 cmp r3, #69 ; 0x45 806d99c: d127 bne.n 806d9ee 806d99e: 4b23 ldr r3, [pc, #140] ; (806da2c ) 806d9a0: edd3 7a01 vldr s15, [r3, #4] 806d9a4: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806d9a8: eef4 7a47 vcmp.f32 s15, s14 806d9ac: eef1 fa10 vmrs APSR_nzcv, fpscr 806d9b0: d01d beq.n 806d9ee { TrendRAM_TEMP(l) = TrendRAM(i); 806d9b2: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806d9b6: 4613 mov r3, r2 806d9b8: 009b lsls r3, r3, #2 806d9ba: 4413 add r3, r2 806d9bc: 009b lsls r3, r3, #2 806d9be: 461a mov r2, r3 806d9c0: 4b17 ldr r3, [pc, #92] ; (806da20 ) 806d9c2: 4413 add r3, r2 806d9c4: 4619 mov r1, r3 806d9c6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d9ca: 4613 mov r3, r2 806d9cc: 009b lsls r3, r3, #2 806d9ce: 4413 add r3, r2 806d9d0: 009b lsls r3, r3, #2 806d9d2: 461a mov r2, r3 806d9d4: 4b1d ldr r3, [pc, #116] ; (806da4c ) 806d9d6: 4413 add r3, r2 806d9d8: 460c mov r4, r1 806d9da: 461d mov r5, r3 806d9dc: cd0f ldmia r5!, {r0, r1, r2, r3} 806d9de: c40f stmia r4!, {r0, r1, r2, r3} 806d9e0: 682b ldr r3, [r5, #0] 806d9e2: 6023 str r3, [r4, #0] l++; 806d9e4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d9e8: 3301 adds r3, #1 806d9ea: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806d9ee: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d9f2: 3301 adds r3, #1 806d9f4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d9f8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d9fc: 4b14 ldr r3, [pc, #80] ; (806da50 ) 806d9fe: 681b ldr r3, [r3, #0] 806da00: 429a cmp r2, r3 806da02: d3b6 bcc.n 806d972 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806da04: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806da08: 2b00 cmp r3, #0 806da0a: f001 8009 beq.w 806ea20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806da0e: 2300 movs r3, #0 806da10: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806da14: e091 b.n 806db3a { for(i = j; i < l; i++) 806da16: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806da1a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806da1e: e081 b.n 806db24 806da20: 64090000 .word 0x64090000 806da24: 20022364 .word 0x20022364 806da28: 20022958 .word 0x20022958 806da2c: 20021fd8 .word 0x20021fd8 806da30: d01502f9 .word 0xd01502f9 806da34: 501502f9 .word 0x501502f9 806da38: 64080000 .word 0x64080000 806da3c: 20020070 .word 0x20020070 806da40: 20023eb8 .word 0x20023eb8 806da44: 080d641c .word 0x080d641c 806da48: 080d6428 .word 0x080d6428 806da4c: 640a0000 .word 0x640a0000 806da50: 20020e34 .word 0x20020e34 { TrendData1 = TrendRAM_TEMP(i); 806da54: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806da58: 4613 mov r3, r2 806da5a: 009b lsls r3, r3, #2 806da5c: 4413 add r3, r2 806da5e: 009b lsls r3, r3, #2 806da60: 461a mov r2, r3 806da62: 4ba6 ldr r3, [pc, #664] ; (806dcfc ) 806da64: 4413 add r3, r2 806da66: 461a mov r2, r3 806da68: 4ba5 ldr r3, [pc, #660] ; (806dd00 ) 806da6a: 461c mov r4, r3 806da6c: 4615 mov r5, r2 806da6e: cd0f ldmia r5!, {r0, r1, r2, r3} 806da70: c40f stmia r4!, {r0, r1, r2, r3} 806da72: 682b ldr r3, [r5, #0] 806da74: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806da76: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806da7a: 4613 mov r3, r2 806da7c: 009b lsls r3, r3, #2 806da7e: 4413 add r3, r2 806da80: 009b lsls r3, r3, #2 806da82: 461a mov r2, r3 806da84: 4b9d ldr r3, [pc, #628] ; (806dcfc ) 806da86: 4413 add r3, r2 806da88: 461a mov r2, r3 806da8a: 4b9e ldr r3, [pc, #632] ; (806dd04 ) 806da8c: 461c mov r4, r3 806da8e: 4615 mov r5, r2 806da90: cd0f ldmia r5!, {r0, r1, r2, r3} 806da92: c40f stmia r4!, {r0, r1, r2, r3} 806da94: 682b ldr r3, [r5, #0] 806da96: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806da98: 4b99 ldr r3, [pc, #612] ; (806dd00 ) 806da9a: 68da ldr r2, [r3, #12] 806da9c: 4b99 ldr r3, [pc, #612] ; (806dd04 ) 806da9e: 68db ldr r3, [r3, #12] 806daa0: 429a cmp r2, r3 806daa2: d23a bcs.n 806db1a { TrendData = TrendRAM_TEMP(j); 806daa4: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806daa8: 4613 mov r3, r2 806daaa: 009b lsls r3, r3, #2 806daac: 4413 add r3, r2 806daae: 009b lsls r3, r3, #2 806dab0: 461a mov r2, r3 806dab2: 4b92 ldr r3, [pc, #584] ; (806dcfc ) 806dab4: 4413 add r3, r2 806dab6: 461a mov r2, r3 806dab8: 4b93 ldr r3, [pc, #588] ; (806dd08 ) 806daba: 461c mov r4, r3 806dabc: 4615 mov r5, r2 806dabe: cd0f ldmia r5!, {r0, r1, r2, r3} 806dac0: c40f stmia r4!, {r0, r1, r2, r3} 806dac2: 682b ldr r3, [r5, #0] 806dac4: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806dac6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806daca: 4613 mov r3, r2 806dacc: 009b lsls r3, r3, #2 806dace: 4413 add r3, r2 806dad0: 009b lsls r3, r3, #2 806dad2: 461a mov r2, r3 806dad4: 4b89 ldr r3, [pc, #548] ; (806dcfc ) 806dad6: 4413 add r3, r2 806dad8: 4619 mov r1, r3 806dada: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806dade: 4613 mov r3, r2 806dae0: 009b lsls r3, r3, #2 806dae2: 4413 add r3, r2 806dae4: 009b lsls r3, r3, #2 806dae6: 461a mov r2, r3 806dae8: 4b84 ldr r3, [pc, #528] ; (806dcfc ) 806daea: 4413 add r3, r2 806daec: 460c mov r4, r1 806daee: 461d mov r5, r3 806daf0: cd0f ldmia r5!, {r0, r1, r2, r3} 806daf2: c40f stmia r4!, {r0, r1, r2, r3} 806daf4: 682b ldr r3, [r5, #0] 806daf6: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806daf8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806dafc: 4613 mov r3, r2 806dafe: 009b lsls r3, r3, #2 806db00: 4413 add r3, r2 806db02: 009b lsls r3, r3, #2 806db04: 461a mov r2, r3 806db06: 4b7d ldr r3, [pc, #500] ; (806dcfc ) 806db08: 4413 add r3, r2 806db0a: 461a mov r2, r3 806db0c: 4b7e ldr r3, [pc, #504] ; (806dd08 ) 806db0e: 4614 mov r4, r2 806db10: 461d mov r5, r3 806db12: cd0f ldmia r5!, {r0, r1, r2, r3} 806db14: c40f stmia r4!, {r0, r1, r2, r3} 806db16: 682b ldr r3, [r5, #0] 806db18: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806db1a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806db1e: 3301 adds r3, #1 806db20: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806db24: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806db28: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806db2c: 429a cmp r2, r3 806db2e: d391 bcc.n 806da54 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806db30: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806db34: 3301 adds r3, #1 806db36: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806db3a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806db3e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806db42: 429a cmp r2, r3 806db44: f4ff af67 bcc.w 806da16 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806db48: 4b70 ldr r3, [pc, #448] ; (806dd0c ) 806db4a: f207 424c addw r2, r7, #1100 ; 0x44c 806db4e: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806db50: 4b6f ldr r3, [pc, #444] ; (806dd10 ) 806db52: f507 6289 add.w r2, r7, #1096 ; 0x448 806db56: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806db58: 2300 movs r3, #0 806db5a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806db5e: e049 b.n 806dbf4 { TrendData = TrendRAM_TEMP(i); 806db60: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806db64: 4613 mov r3, r2 806db66: 009b lsls r3, r3, #2 806db68: 4413 add r3, r2 806db6a: 009b lsls r3, r3, #2 806db6c: 461a mov r2, r3 806db6e: 4b63 ldr r3, [pc, #396] ; (806dcfc ) 806db70: 4413 add r3, r2 806db72: 461a mov r2, r3 806db74: 4b64 ldr r3, [pc, #400] ; (806dd08 ) 806db76: 461c mov r4, r3 806db78: 4615 mov r5, r2 806db7a: cd0f ldmia r5!, {r0, r1, r2, r3} 806db7c: c40f stmia r4!, {r0, r1, r2, r3} 806db7e: 682b ldr r3, [r5, #0] 806db80: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806db82: 4b61 ldr r3, [pc, #388] ; (806dd08 ) 806db84: ed93 7a01 vldr s14, [r3, #4] 806db88: f207 434c addw r3, r7, #1100 ; 0x44c 806db8c: edd3 7a00 vldr s15, [r3] 806db90: eeb4 7ae7 vcmpe.f32 s14, s15 806db94: eef1 fa10 vmrs APSR_nzcv, fpscr 806db98: dd04 ble.n 806dba4 806db9a: 4b5b ldr r3, [pc, #364] ; (806dd08 ) 806db9c: 685b ldr r3, [r3, #4] 806db9e: f207 424c addw r2, r7, #1100 ; 0x44c 806dba2: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806dba4: 4b58 ldr r3, [pc, #352] ; (806dd08 ) 806dba6: ed93 7a01 vldr s14, [r3, #4] 806dbaa: f507 6389 add.w r3, r7, #1096 ; 0x448 806dbae: edd3 7a00 vldr s15, [r3] 806dbb2: eeb4 7ae7 vcmpe.f32 s14, s15 806dbb6: eef1 fa10 vmrs APSR_nzcv, fpscr 806dbba: d504 bpl.n 806dbc6 806dbbc: 4b52 ldr r3, [pc, #328] ; (806dd08 ) 806dbbe: 685b ldr r3, [r3, #4] 806dbc0: f507 6289 add.w r2, r7, #1096 ; 0x448 806dbc4: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806dbc6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806dbca: 009a lsls r2, r3, #2 806dbcc: 4b51 ldr r3, [pc, #324] ; (806dd14 ) 806dbce: 4413 add r3, r2 806dbd0: 461a mov r2, r3 806dbd2: 4b4d ldr r3, [pc, #308] ; (806dd08 ) 806dbd4: 685b ldr r3, [r3, #4] 806dbd6: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806dbd8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806dbdc: 009a lsls r2, r3, #2 806dbde: 4b47 ldr r3, [pc, #284] ; (806dcfc ) 806dbe0: 4413 add r3, r2 806dbe2: 461a mov r2, r3 806dbe4: 4b48 ldr r3, [pc, #288] ; (806dd08 ) 806dbe6: 68db ldr r3, [r3, #12] 806dbe8: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806dbea: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806dbee: 3301 adds r3, #1 806dbf0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806dbf4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806dbf8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806dbfc: 429a cmp r2, r3 806dbfe: d3af bcc.n 806db60 806dc00: f000 bf0e b.w 806ea20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } } else if(menu == TREND_S) 806dc04: 4b44 ldr r3, [pc, #272] ; (806dd18 ) 806dc06: 781b ldrb r3, [r3, #0] 806dc08: b2db uxtb r3, r3 806dc0a: 2b47 cmp r3, #71 ; 0x47 806dc0c: f040 8708 bne.w 806ea20 { if(menupos == Trend_pk) 806dc10: 4b42 ldr r3, [pc, #264] ; (806dd1c ) 806dc12: 781b ldrb r3, [r3, #0] 806dc14: b2db uxtb r3, r3 806dc16: 2b00 cmp r3, #0 806dc18: f040 8164 bne.w 806dee4 { if(pardata.LANG == RUS) 806dc1c: 4b40 ldr r3, [pc, #256] ; (806dd20 ) 806dc1e: 7b1b ldrb r3, [r3, #12] 806dc20: b2db uxtb r3, r3 806dc22: 2b00 cmp r3, #0 806dc24: d106 bne.n 806dc34 BSP_LCD_DisplayStringAt(8, 35, "S(ïèê),ìêì", LEFT_MODE); 806dc26: 2303 movs r3, #3 806dc28: 4a3e ldr r2, [pc, #248] ; (806dd24 ) 806dc2a: 2123 movs r1, #35 ; 0x23 806dc2c: 2008 movs r0, #8 806dc2e: f7e7 fbb3 bl 8055398 806dc32: e005 b.n 806dc40 else BSP_LCD_DisplayStringAt(8, 35, "S(peak),um", LEFT_MODE); 806dc34: 2303 movs r3, #3 806dc36: 4a3c ldr r2, [pc, #240] ; (806dd28 ) 806dc38: 2123 movs r1, #35 ; 0x23 806dc3a: 2008 movs r0, #8 806dc3c: f7e7 fbac bl 8055398 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806dc40: 2300 movs r3, #0 806dc42: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806dc46: 2300 movs r3, #0 806dc48: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806dc4c: e042 b.n 806dcd4 { TrendData = TrendRAM(i); 806dc4e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806dc52: 4613 mov r3, r2 806dc54: 009b lsls r3, r3, #2 806dc56: 4413 add r3, r2 806dc58: 009b lsls r3, r3, #2 806dc5a: 461a mov r2, r3 806dc5c: 4b33 ldr r3, [pc, #204] ; (806dd2c ) 806dc5e: 4413 add r3, r2 806dc60: 461a mov r2, r3 806dc62: 4b29 ldr r3, [pc, #164] ; (806dd08 ) 806dc64: 461c mov r4, r3 806dc66: 4615 mov r5, r2 806dc68: cd0f ldmia r5!, {r0, r1, r2, r3} 806dc6a: c40f stmia r4!, {r0, r1, r2, r3} 806dc6c: 682b ldr r3, [r5, #0] 806dc6e: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'P') && (TrendData.Sval.fl != -1.0f)) 806dc70: 4b25 ldr r3, [pc, #148] ; (806dd08 ) 806dc72: 7c9b ldrb r3, [r3, #18] 806dc74: b2db uxtb r3, r3 806dc76: 2b50 cmp r3, #80 ; 0x50 806dc78: d127 bne.n 806dcca 806dc7a: 4b23 ldr r3, [pc, #140] ; (806dd08 ) 806dc7c: edd3 7a02 vldr s15, [r3, #8] 806dc80: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806dc84: eef4 7a47 vcmp.f32 s15, s14 806dc88: eef1 fa10 vmrs APSR_nzcv, fpscr 806dc8c: d01d beq.n 806dcca { TrendRAM_TEMP(l) = TrendRAM(i); 806dc8e: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806dc92: 4613 mov r3, r2 806dc94: 009b lsls r3, r3, #2 806dc96: 4413 add r3, r2 806dc98: 009b lsls r3, r3, #2 806dc9a: 461a mov r2, r3 806dc9c: 4b17 ldr r3, [pc, #92] ; (806dcfc ) 806dc9e: 4413 add r3, r2 806dca0: 4619 mov r1, r3 806dca2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806dca6: 4613 mov r3, r2 806dca8: 009b lsls r3, r3, #2 806dcaa: 4413 add r3, r2 806dcac: 009b lsls r3, r3, #2 806dcae: 461a mov r2, r3 806dcb0: 4b1e ldr r3, [pc, #120] ; (806dd2c ) 806dcb2: 4413 add r3, r2 806dcb4: 460c mov r4, r1 806dcb6: 461d mov r5, r3 806dcb8: cd0f ldmia r5!, {r0, r1, r2, r3} 806dcba: c40f stmia r4!, {r0, r1, r2, r3} 806dcbc: 682b ldr r3, [r5, #0] 806dcbe: 6023 str r3, [r4, #0] l++; 806dcc0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806dcc4: 3301 adds r3, #1 806dcc6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806dcca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806dcce: 3301 adds r3, #1 806dcd0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806dcd4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806dcd8: 4b15 ldr r3, [pc, #84] ; (806dd30 ) 806dcda: 681b ldr r3, [r3, #0] 806dcdc: 429a cmp r2, r3 806dcde: d3b6 bcc.n 806dc4e } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806dce0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806dce4: 2b00 cmp r3, #0 806dce6: f000 869b beq.w 806ea20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806dcea: 2300 movs r3, #0 806dcec: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806dcf0: e093 b.n 806de1a { for(i = j; i < l; i++) 806dcf2: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806dcf6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806dcfa: e083 b.n 806de04 806dcfc: 64090000 .word 0x64090000 806dd00: 20022364 .word 0x20022364 806dd04: 20022958 .word 0x20022958 806dd08: 20021fd8 .word 0x20021fd8 806dd0c: d01502f9 .word 0xd01502f9 806dd10: 501502f9 .word 0x501502f9 806dd14: 64080000 .word 0x64080000 806dd18: 20020fc5 .word 0x20020fc5 806dd1c: 20020070 .word 0x20020070 806dd20: 20023eb8 .word 0x20023eb8 806dd24: 080d6434 .word 0x080d6434 806dd28: 080d6440 .word 0x080d6440 806dd2c: 640a0000 .word 0x640a0000 806dd30: 20020e34 .word 0x20020e34 { TrendData1 = TrendRAM_TEMP(i); 806dd34: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806dd38: 4613 mov r3, r2 806dd3a: 009b lsls r3, r3, #2 806dd3c: 4413 add r3, r2 806dd3e: 009b lsls r3, r3, #2 806dd40: 461a mov r2, r3 806dd42: 4ba3 ldr r3, [pc, #652] ; (806dfd0 ) 806dd44: 4413 add r3, r2 806dd46: 461a mov r2, r3 806dd48: 4ba2 ldr r3, [pc, #648] ; (806dfd4 ) 806dd4a: 461c mov r4, r3 806dd4c: 4615 mov r5, r2 806dd4e: cd0f ldmia r5!, {r0, r1, r2, r3} 806dd50: c40f stmia r4!, {r0, r1, r2, r3} 806dd52: 682b ldr r3, [r5, #0] 806dd54: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806dd56: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806dd5a: 4613 mov r3, r2 806dd5c: 009b lsls r3, r3, #2 806dd5e: 4413 add r3, r2 806dd60: 009b lsls r3, r3, #2 806dd62: 461a mov r2, r3 806dd64: 4b9a ldr r3, [pc, #616] ; (806dfd0 ) 806dd66: 4413 add r3, r2 806dd68: 461a mov r2, r3 806dd6a: 4b9b ldr r3, [pc, #620] ; (806dfd8 ) 806dd6c: 461c mov r4, r3 806dd6e: 4615 mov r5, r2 806dd70: cd0f ldmia r5!, {r0, r1, r2, r3} 806dd72: c40f stmia r4!, {r0, r1, r2, r3} 806dd74: 682b ldr r3, [r5, #0] 806dd76: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806dd78: 4b96 ldr r3, [pc, #600] ; (806dfd4 ) 806dd7a: 68da ldr r2, [r3, #12] 806dd7c: 4b96 ldr r3, [pc, #600] ; (806dfd8 ) 806dd7e: 68db ldr r3, [r3, #12] 806dd80: 429a cmp r2, r3 806dd82: d23a bcs.n 806ddfa { TrendData = TrendRAM_TEMP(j); 806dd84: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806dd88: 4613 mov r3, r2 806dd8a: 009b lsls r3, r3, #2 806dd8c: 4413 add r3, r2 806dd8e: 009b lsls r3, r3, #2 806dd90: 461a mov r2, r3 806dd92: 4b8f ldr r3, [pc, #572] ; (806dfd0 ) 806dd94: 4413 add r3, r2 806dd96: 461a mov r2, r3 806dd98: 4b90 ldr r3, [pc, #576] ; (806dfdc ) 806dd9a: 461c mov r4, r3 806dd9c: 4615 mov r5, r2 806dd9e: cd0f ldmia r5!, {r0, r1, r2, r3} 806dda0: c40f stmia r4!, {r0, r1, r2, r3} 806dda2: 682b ldr r3, [r5, #0] 806dda4: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806dda6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ddaa: 4613 mov r3, r2 806ddac: 009b lsls r3, r3, #2 806ddae: 4413 add r3, r2 806ddb0: 009b lsls r3, r3, #2 806ddb2: 461a mov r2, r3 806ddb4: 4b86 ldr r3, [pc, #536] ; (806dfd0 ) 806ddb6: 4413 add r3, r2 806ddb8: 4619 mov r1, r3 806ddba: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ddbe: 4613 mov r3, r2 806ddc0: 009b lsls r3, r3, #2 806ddc2: 4413 add r3, r2 806ddc4: 009b lsls r3, r3, #2 806ddc6: 461a mov r2, r3 806ddc8: 4b81 ldr r3, [pc, #516] ; (806dfd0 ) 806ddca: 4413 add r3, r2 806ddcc: 460c mov r4, r1 806ddce: 461d mov r5, r3 806ddd0: cd0f ldmia r5!, {r0, r1, r2, r3} 806ddd2: c40f stmia r4!, {r0, r1, r2, r3} 806ddd4: 682b ldr r3, [r5, #0] 806ddd6: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806ddd8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806dddc: 4613 mov r3, r2 806ddde: 009b lsls r3, r3, #2 806dde0: 4413 add r3, r2 806dde2: 009b lsls r3, r3, #2 806dde4: 461a mov r2, r3 806dde6: 4b7a ldr r3, [pc, #488] ; (806dfd0 ) 806dde8: 4413 add r3, r2 806ddea: 461a mov r2, r3 806ddec: 4b7b ldr r3, [pc, #492] ; (806dfdc ) 806ddee: 4614 mov r4, r2 806ddf0: 461d mov r5, r3 806ddf2: cd0f ldmia r5!, {r0, r1, r2, r3} 806ddf4: c40f stmia r4!, {r0, r1, r2, r3} 806ddf6: 682b ldr r3, [r5, #0] 806ddf8: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806ddfa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ddfe: 3301 adds r3, #1 806de00: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806de04: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806de08: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806de0c: 429a cmp r2, r3 806de0e: d391 bcc.n 806dd34 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806de10: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806de14: 3301 adds r3, #1 806de16: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806de1a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806de1e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806de22: 429a cmp r2, r3 806de24: f4ff af65 bcc.w 806dcf2 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806de28: 4b6d ldr r3, [pc, #436] ; (806dfe0 ) 806de2a: f207 424c addw r2, r7, #1100 ; 0x44c 806de2e: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806de30: 4b6c ldr r3, [pc, #432] ; (806dfe4 ) 806de32: f507 6289 add.w r2, r7, #1096 ; 0x448 806de36: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806de38: 2300 movs r3, #0 806de3a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806de3e: e049 b.n 806ded4 { TrendData = TrendRAM_TEMP(i); 806de40: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806de44: 4613 mov r3, r2 806de46: 009b lsls r3, r3, #2 806de48: 4413 add r3, r2 806de4a: 009b lsls r3, r3, #2 806de4c: 461a mov r2, r3 806de4e: 4b60 ldr r3, [pc, #384] ; (806dfd0 ) 806de50: 4413 add r3, r2 806de52: 461a mov r2, r3 806de54: 4b61 ldr r3, [pc, #388] ; (806dfdc ) 806de56: 461c mov r4, r3 806de58: 4615 mov r5, r2 806de5a: cd0f ldmia r5!, {r0, r1, r2, r3} 806de5c: c40f stmia r4!, {r0, r1, r2, r3} 806de5e: 682b ldr r3, [r5, #0] 806de60: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806de62: 4b5e ldr r3, [pc, #376] ; (806dfdc ) 806de64: ed93 7a02 vldr s14, [r3, #8] 806de68: f207 434c addw r3, r7, #1100 ; 0x44c 806de6c: edd3 7a00 vldr s15, [r3] 806de70: eeb4 7ae7 vcmpe.f32 s14, s15 806de74: eef1 fa10 vmrs APSR_nzcv, fpscr 806de78: dd04 ble.n 806de84 806de7a: 4b58 ldr r3, [pc, #352] ; (806dfdc ) 806de7c: 689b ldr r3, [r3, #8] 806de7e: f207 424c addw r2, r7, #1100 ; 0x44c 806de82: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806de84: 4b55 ldr r3, [pc, #340] ; (806dfdc ) 806de86: ed93 7a02 vldr s14, [r3, #8] 806de8a: f507 6389 add.w r3, r7, #1096 ; 0x448 806de8e: edd3 7a00 vldr s15, [r3] 806de92: eeb4 7ae7 vcmpe.f32 s14, s15 806de96: eef1 fa10 vmrs APSR_nzcv, fpscr 806de9a: d504 bpl.n 806dea6 806de9c: 4b4f ldr r3, [pc, #316] ; (806dfdc ) 806de9e: 689b ldr r3, [r3, #8] 806dea0: f507 6289 add.w r2, r7, #1096 ; 0x448 806dea4: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806dea6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806deaa: 009a lsls r2, r3, #2 806deac: 4b4e ldr r3, [pc, #312] ; (806dfe8 ) 806deae: 4413 add r3, r2 806deb0: 461a mov r2, r3 806deb2: 4b4a ldr r3, [pc, #296] ; (806dfdc ) 806deb4: 689b ldr r3, [r3, #8] 806deb6: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806deb8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806debc: 009a lsls r2, r3, #2 806debe: 4b44 ldr r3, [pc, #272] ; (806dfd0 ) 806dec0: 4413 add r3, r2 806dec2: 461a mov r2, r3 806dec4: 4b45 ldr r3, [pc, #276] ; (806dfdc ) 806dec6: 68db ldr r3, [r3, #12] 806dec8: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806deca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806dece: 3301 adds r3, #1 806ded0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ded4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ded8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806dedc: 429a cmp r2, r3 806dede: d3af bcc.n 806de40 806dee0: f000 bd9e b.w 806ea20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_rms) 806dee4: 4b41 ldr r3, [pc, #260] ; (806dfec ) 806dee6: 781b ldrb r3, [r3, #0] 806dee8: b2db uxtb r3, r3 806deea: 2b01 cmp r3, #1 806deec: f040 8162 bne.w 806e1b4 { if(pardata.LANG == RUS) 806def0: 4b3f ldr r3, [pc, #252] ; (806dff0 ) 806def2: 7b1b ldrb r3, [r3, #12] 806def4: b2db uxtb r3, r3 806def6: 2b00 cmp r3, #0 806def8: d106 bne.n 806df08 BSP_LCD_DisplayStringAt(8, 35, "S(ñêç),ìêì", LEFT_MODE); 806defa: 2303 movs r3, #3 806defc: 4a3d ldr r2, [pc, #244] ; (806dff4 ) 806defe: 2123 movs r1, #35 ; 0x23 806df00: 2008 movs r0, #8 806df02: f7e7 fa49 bl 8055398 806df06: e005 b.n 806df14 else BSP_LCD_DisplayStringAt(8, 35, "S(rms),um", LEFT_MODE); 806df08: 2303 movs r3, #3 806df0a: 4a3b ldr r2, [pc, #236] ; (806dff8 ) 806df0c: 2123 movs r1, #35 ; 0x23 806df0e: 2008 movs r0, #8 806df10: f7e7 fa42 bl 8055398 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806df14: 2300 movs r3, #0 806df16: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806df1a: 2300 movs r3, #0 806df1c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806df20: e042 b.n 806dfa8 { TrendData = TrendRAM(i); 806df22: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806df26: 4613 mov r3, r2 806df28: 009b lsls r3, r3, #2 806df2a: 4413 add r3, r2 806df2c: 009b lsls r3, r3, #2 806df2e: 461a mov r2, r3 806df30: 4b32 ldr r3, [pc, #200] ; (806dffc ) 806df32: 4413 add r3, r2 806df34: 461a mov r2, r3 806df36: 4b29 ldr r3, [pc, #164] ; (806dfdc ) 806df38: 461c mov r4, r3 806df3a: 4615 mov r5, r2 806df3c: cd0f ldmia r5!, {r0, r1, r2, r3} 806df3e: c40f stmia r4!, {r0, r1, r2, r3} 806df40: 682b ldr r3, [r5, #0] 806df42: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'S') && (TrendData.Sval.fl != -1.0f)) 806df44: 4b25 ldr r3, [pc, #148] ; (806dfdc ) 806df46: 7c9b ldrb r3, [r3, #18] 806df48: b2db uxtb r3, r3 806df4a: 2b53 cmp r3, #83 ; 0x53 806df4c: d127 bne.n 806df9e 806df4e: 4b23 ldr r3, [pc, #140] ; (806dfdc ) 806df50: edd3 7a02 vldr s15, [r3, #8] 806df54: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806df58: eef4 7a47 vcmp.f32 s15, s14 806df5c: eef1 fa10 vmrs APSR_nzcv, fpscr 806df60: d01d beq.n 806df9e { TrendRAM_TEMP(l) = TrendRAM(i); 806df62: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806df66: 4613 mov r3, r2 806df68: 009b lsls r3, r3, #2 806df6a: 4413 add r3, r2 806df6c: 009b lsls r3, r3, #2 806df6e: 461a mov r2, r3 806df70: 4b17 ldr r3, [pc, #92] ; (806dfd0 ) 806df72: 4413 add r3, r2 806df74: 4619 mov r1, r3 806df76: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806df7a: 4613 mov r3, r2 806df7c: 009b lsls r3, r3, #2 806df7e: 4413 add r3, r2 806df80: 009b lsls r3, r3, #2 806df82: 461a mov r2, r3 806df84: 4b1d ldr r3, [pc, #116] ; (806dffc ) 806df86: 4413 add r3, r2 806df88: 460c mov r4, r1 806df8a: 461d mov r5, r3 806df8c: cd0f ldmia r5!, {r0, r1, r2, r3} 806df8e: c40f stmia r4!, {r0, r1, r2, r3} 806df90: 682b ldr r3, [r5, #0] 806df92: 6023 str r3, [r4, #0] l++; 806df94: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806df98: 3301 adds r3, #1 806df9a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806df9e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806dfa2: 3301 adds r3, #1 806dfa4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806dfa8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806dfac: 4b14 ldr r3, [pc, #80] ; (806e000 ) 806dfae: 681b ldr r3, [r3, #0] 806dfb0: 429a cmp r2, r3 806dfb2: d3b6 bcc.n 806df22 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806dfb4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806dfb8: 2b00 cmp r3, #0 806dfba: f000 8531 beq.w 806ea20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806dfbe: 2300 movs r3, #0 806dfc0: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806dfc4: e091 b.n 806e0ea { for(i = j; i < l; i++) 806dfc6: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806dfca: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806dfce: e081 b.n 806e0d4 806dfd0: 64090000 .word 0x64090000 806dfd4: 20022364 .word 0x20022364 806dfd8: 20022958 .word 0x20022958 806dfdc: 20021fd8 .word 0x20021fd8 806dfe0: d01502f9 .word 0xd01502f9 806dfe4: 501502f9 .word 0x501502f9 806dfe8: 64080000 .word 0x64080000 806dfec: 20020070 .word 0x20020070 806dff0: 20023eb8 .word 0x20023eb8 806dff4: 080d644c .word 0x080d644c 806dff8: 080d6458 .word 0x080d6458 806dffc: 640a0000 .word 0x640a0000 806e000: 20020e34 .word 0x20020e34 { TrendData1 = TrendRAM_TEMP(i); 806e004: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e008: 4613 mov r3, r2 806e00a: 009b lsls r3, r3, #2 806e00c: 4413 add r3, r2 806e00e: 009b lsls r3, r3, #2 806e010: 461a mov r2, r3 806e012: 4ba3 ldr r3, [pc, #652] ; (806e2a0 ) 806e014: 4413 add r3, r2 806e016: 461a mov r2, r3 806e018: 4ba2 ldr r3, [pc, #648] ; (806e2a4 ) 806e01a: 461c mov r4, r3 806e01c: 4615 mov r5, r2 806e01e: cd0f ldmia r5!, {r0, r1, r2, r3} 806e020: c40f stmia r4!, {r0, r1, r2, r3} 806e022: 682b ldr r3, [r5, #0] 806e024: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806e026: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806e02a: 4613 mov r3, r2 806e02c: 009b lsls r3, r3, #2 806e02e: 4413 add r3, r2 806e030: 009b lsls r3, r3, #2 806e032: 461a mov r2, r3 806e034: 4b9a ldr r3, [pc, #616] ; (806e2a0 ) 806e036: 4413 add r3, r2 806e038: 461a mov r2, r3 806e03a: 4b9b ldr r3, [pc, #620] ; (806e2a8 ) 806e03c: 461c mov r4, r3 806e03e: 4615 mov r5, r2 806e040: cd0f ldmia r5!, {r0, r1, r2, r3} 806e042: c40f stmia r4!, {r0, r1, r2, r3} 806e044: 682b ldr r3, [r5, #0] 806e046: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806e048: 4b96 ldr r3, [pc, #600] ; (806e2a4 ) 806e04a: 68da ldr r2, [r3, #12] 806e04c: 4b96 ldr r3, [pc, #600] ; (806e2a8 ) 806e04e: 68db ldr r3, [r3, #12] 806e050: 429a cmp r2, r3 806e052: d23a bcs.n 806e0ca { TrendData = TrendRAM_TEMP(j); 806e054: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806e058: 4613 mov r3, r2 806e05a: 009b lsls r3, r3, #2 806e05c: 4413 add r3, r2 806e05e: 009b lsls r3, r3, #2 806e060: 461a mov r2, r3 806e062: 4b8f ldr r3, [pc, #572] ; (806e2a0 ) 806e064: 4413 add r3, r2 806e066: 461a mov r2, r3 806e068: 4b90 ldr r3, [pc, #576] ; (806e2ac ) 806e06a: 461c mov r4, r3 806e06c: 4615 mov r5, r2 806e06e: cd0f ldmia r5!, {r0, r1, r2, r3} 806e070: c40f stmia r4!, {r0, r1, r2, r3} 806e072: 682b ldr r3, [r5, #0] 806e074: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806e076: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806e07a: 4613 mov r3, r2 806e07c: 009b lsls r3, r3, #2 806e07e: 4413 add r3, r2 806e080: 009b lsls r3, r3, #2 806e082: 461a mov r2, r3 806e084: 4b86 ldr r3, [pc, #536] ; (806e2a0 ) 806e086: 4413 add r3, r2 806e088: 4619 mov r1, r3 806e08a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e08e: 4613 mov r3, r2 806e090: 009b lsls r3, r3, #2 806e092: 4413 add r3, r2 806e094: 009b lsls r3, r3, #2 806e096: 461a mov r2, r3 806e098: 4b81 ldr r3, [pc, #516] ; (806e2a0 ) 806e09a: 4413 add r3, r2 806e09c: 460c mov r4, r1 806e09e: 461d mov r5, r3 806e0a0: cd0f ldmia r5!, {r0, r1, r2, r3} 806e0a2: c40f stmia r4!, {r0, r1, r2, r3} 806e0a4: 682b ldr r3, [r5, #0] 806e0a6: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806e0a8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e0ac: 4613 mov r3, r2 806e0ae: 009b lsls r3, r3, #2 806e0b0: 4413 add r3, r2 806e0b2: 009b lsls r3, r3, #2 806e0b4: 461a mov r2, r3 806e0b6: 4b7a ldr r3, [pc, #488] ; (806e2a0 ) 806e0b8: 4413 add r3, r2 806e0ba: 461a mov r2, r3 806e0bc: 4b7b ldr r3, [pc, #492] ; (806e2ac ) 806e0be: 4614 mov r4, r2 806e0c0: 461d mov r5, r3 806e0c2: cd0f ldmia r5!, {r0, r1, r2, r3} 806e0c4: c40f stmia r4!, {r0, r1, r2, r3} 806e0c6: 682b ldr r3, [r5, #0] 806e0c8: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806e0ca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e0ce: 3301 adds r3, #1 806e0d0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e0d4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e0d8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e0dc: 429a cmp r2, r3 806e0de: d391 bcc.n 806e004 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806e0e0: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806e0e4: 3301 adds r3, #1 806e0e6: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806e0ea: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806e0ee: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e0f2: 429a cmp r2, r3 806e0f4: f4ff af67 bcc.w 806dfc6 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806e0f8: 4b6d ldr r3, [pc, #436] ; (806e2b0 ) 806e0fa: f207 424c addw r2, r7, #1100 ; 0x44c 806e0fe: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806e100: 4b6c ldr r3, [pc, #432] ; (806e2b4 ) 806e102: f507 6289 add.w r2, r7, #1096 ; 0x448 806e106: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806e108: 2300 movs r3, #0 806e10a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e10e: e049 b.n 806e1a4 { TrendData = TrendRAM_TEMP(i); 806e110: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e114: 4613 mov r3, r2 806e116: 009b lsls r3, r3, #2 806e118: 4413 add r3, r2 806e11a: 009b lsls r3, r3, #2 806e11c: 461a mov r2, r3 806e11e: 4b60 ldr r3, [pc, #384] ; (806e2a0 ) 806e120: 4413 add r3, r2 806e122: 461a mov r2, r3 806e124: 4b61 ldr r3, [pc, #388] ; (806e2ac ) 806e126: 461c mov r4, r3 806e128: 4615 mov r5, r2 806e12a: cd0f ldmia r5!, {r0, r1, r2, r3} 806e12c: c40f stmia r4!, {r0, r1, r2, r3} 806e12e: 682b ldr r3, [r5, #0] 806e130: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806e132: 4b5e ldr r3, [pc, #376] ; (806e2ac ) 806e134: ed93 7a02 vldr s14, [r3, #8] 806e138: f207 434c addw r3, r7, #1100 ; 0x44c 806e13c: edd3 7a00 vldr s15, [r3] 806e140: eeb4 7ae7 vcmpe.f32 s14, s15 806e144: eef1 fa10 vmrs APSR_nzcv, fpscr 806e148: dd04 ble.n 806e154 806e14a: 4b58 ldr r3, [pc, #352] ; (806e2ac ) 806e14c: 689b ldr r3, [r3, #8] 806e14e: f207 424c addw r2, r7, #1100 ; 0x44c 806e152: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806e154: 4b55 ldr r3, [pc, #340] ; (806e2ac ) 806e156: ed93 7a02 vldr s14, [r3, #8] 806e15a: f507 6389 add.w r3, r7, #1096 ; 0x448 806e15e: edd3 7a00 vldr s15, [r3] 806e162: eeb4 7ae7 vcmpe.f32 s14, s15 806e166: eef1 fa10 vmrs APSR_nzcv, fpscr 806e16a: d504 bpl.n 806e176 806e16c: 4b4f ldr r3, [pc, #316] ; (806e2ac ) 806e16e: 689b ldr r3, [r3, #8] 806e170: f507 6289 add.w r2, r7, #1096 ; 0x448 806e174: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806e176: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e17a: 009a lsls r2, r3, #2 806e17c: 4b4e ldr r3, [pc, #312] ; (806e2b8 ) 806e17e: 4413 add r3, r2 806e180: 461a mov r2, r3 806e182: 4b4a ldr r3, [pc, #296] ; (806e2ac ) 806e184: 689b ldr r3, [r3, #8] 806e186: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806e188: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e18c: 009a lsls r2, r3, #2 806e18e: 4b44 ldr r3, [pc, #272] ; (806e2a0 ) 806e190: 4413 add r3, r2 806e192: 461a mov r2, r3 806e194: 4b45 ldr r3, [pc, #276] ; (806e2ac ) 806e196: 68db ldr r3, [r3, #12] 806e198: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806e19a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e19e: 3301 adds r3, #1 806e1a0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e1a4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e1a8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e1ac: 429a cmp r2, r3 806e1ae: d3af bcc.n 806e110 806e1b0: f000 bc36 b.w 806ea20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_pkpk) 806e1b4: 4b41 ldr r3, [pc, #260] ; (806e2bc ) 806e1b6: 781b ldrb r3, [r3, #0] 806e1b8: b2db uxtb r3, r3 806e1ba: 2b02 cmp r3, #2 806e1bc: f040 8161 bne.w 806e482 { if(pardata.LANG == RUS) 806e1c0: 4b3f ldr r3, [pc, #252] ; (806e2c0 ) 806e1c2: 7b1b ldrb r3, [r3, #12] 806e1c4: b2db uxtb r3, r3 806e1c6: 2b00 cmp r3, #0 806e1c8: d106 bne.n 806e1d8 BSP_LCD_DisplayStringAt(8, 35, "S(ðàçìàõ),ìêì", LEFT_MODE); 806e1ca: 2303 movs r3, #3 806e1cc: 4a3d ldr r2, [pc, #244] ; (806e2c4 ) 806e1ce: 2123 movs r1, #35 ; 0x23 806e1d0: 2008 movs r0, #8 806e1d2: f7e7 f8e1 bl 8055398 806e1d6: e005 b.n 806e1e4 else BSP_LCD_DisplayStringAt(8, 35, "S(peak-peak),um", LEFT_MODE); 806e1d8: 2303 movs r3, #3 806e1da: 4a3b ldr r2, [pc, #236] ; (806e2c8 ) 806e1dc: 2123 movs r1, #35 ; 0x23 806e1de: 2008 movs r0, #8 806e1e0: f7e7 f8da bl 8055398 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806e1e4: 2300 movs r3, #0 806e1e6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806e1ea: 2300 movs r3, #0 806e1ec: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e1f0: e042 b.n 806e278 { TrendData = TrendRAM(i); 806e1f2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e1f6: 4613 mov r3, r2 806e1f8: 009b lsls r3, r3, #2 806e1fa: 4413 add r3, r2 806e1fc: 009b lsls r3, r3, #2 806e1fe: 461a mov r2, r3 806e200: 4b32 ldr r3, [pc, #200] ; (806e2cc ) 806e202: 4413 add r3, r2 806e204: 461a mov r2, r3 806e206: 4b29 ldr r3, [pc, #164] ; (806e2ac ) 806e208: 461c mov r4, r3 806e20a: 4615 mov r5, r2 806e20c: cd0f ldmia r5!, {r0, r1, r2, r3} 806e20e: c40f stmia r4!, {r0, r1, r2, r3} 806e210: 682b ldr r3, [r5, #0] 806e212: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'R') && (TrendData.Sval.fl != -1.0f)) 806e214: 4b25 ldr r3, [pc, #148] ; (806e2ac ) 806e216: 7c9b ldrb r3, [r3, #18] 806e218: b2db uxtb r3, r3 806e21a: 2b52 cmp r3, #82 ; 0x52 806e21c: d127 bne.n 806e26e 806e21e: 4b23 ldr r3, [pc, #140] ; (806e2ac ) 806e220: edd3 7a02 vldr s15, [r3, #8] 806e224: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806e228: eef4 7a47 vcmp.f32 s15, s14 806e22c: eef1 fa10 vmrs APSR_nzcv, fpscr 806e230: d01d beq.n 806e26e { TrendRAM_TEMP(l) = TrendRAM(i); 806e232: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806e236: 4613 mov r3, r2 806e238: 009b lsls r3, r3, #2 806e23a: 4413 add r3, r2 806e23c: 009b lsls r3, r3, #2 806e23e: 461a mov r2, r3 806e240: 4b17 ldr r3, [pc, #92] ; (806e2a0 ) 806e242: 4413 add r3, r2 806e244: 4619 mov r1, r3 806e246: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e24a: 4613 mov r3, r2 806e24c: 009b lsls r3, r3, #2 806e24e: 4413 add r3, r2 806e250: 009b lsls r3, r3, #2 806e252: 461a mov r2, r3 806e254: 4b1d ldr r3, [pc, #116] ; (806e2cc ) 806e256: 4413 add r3, r2 806e258: 460c mov r4, r1 806e25a: 461d mov r5, r3 806e25c: cd0f ldmia r5!, {r0, r1, r2, r3} 806e25e: c40f stmia r4!, {r0, r1, r2, r3} 806e260: 682b ldr r3, [r5, #0] 806e262: 6023 str r3, [r4, #0] l++; 806e264: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e268: 3301 adds r3, #1 806e26a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806e26e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e272: 3301 adds r3, #1 806e274: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e278: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e27c: 4b14 ldr r3, [pc, #80] ; (806e2d0 ) 806e27e: 681b ldr r3, [r3, #0] 806e280: 429a cmp r2, r3 806e282: d3b6 bcc.n 806e1f2 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806e284: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e288: 2b00 cmp r3, #0 806e28a: f000 83c9 beq.w 806ea20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806e28e: 2300 movs r3, #0 806e290: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806e294: e091 b.n 806e3ba { for(i = j; i < l; i++) 806e296: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806e29a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e29e: e081 b.n 806e3a4 806e2a0: 64090000 .word 0x64090000 806e2a4: 20022364 .word 0x20022364 806e2a8: 20022958 .word 0x20022958 806e2ac: 20021fd8 .word 0x20021fd8 806e2b0: d01502f9 .word 0xd01502f9 806e2b4: 501502f9 .word 0x501502f9 806e2b8: 64080000 .word 0x64080000 806e2bc: 20020070 .word 0x20020070 806e2c0: 20023eb8 .word 0x20023eb8 806e2c4: 080d6464 .word 0x080d6464 806e2c8: 080d6474 .word 0x080d6474 806e2cc: 640a0000 .word 0x640a0000 806e2d0: 20020e34 .word 0x20020e34 { TrendData1 = TrendRAM_TEMP(i); 806e2d4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e2d8: 4613 mov r3, r2 806e2da: 009b lsls r3, r3, #2 806e2dc: 4413 add r3, r2 806e2de: 009b lsls r3, r3, #2 806e2e0: 461a mov r2, r3 806e2e2: 4ba3 ldr r3, [pc, #652] ; (806e570 ) 806e2e4: 4413 add r3, r2 806e2e6: 461a mov r2, r3 806e2e8: 4ba2 ldr r3, [pc, #648] ; (806e574 ) 806e2ea: 461c mov r4, r3 806e2ec: 4615 mov r5, r2 806e2ee: cd0f ldmia r5!, {r0, r1, r2, r3} 806e2f0: c40f stmia r4!, {r0, r1, r2, r3} 806e2f2: 682b ldr r3, [r5, #0] 806e2f4: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806e2f6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806e2fa: 4613 mov r3, r2 806e2fc: 009b lsls r3, r3, #2 806e2fe: 4413 add r3, r2 806e300: 009b lsls r3, r3, #2 806e302: 461a mov r2, r3 806e304: 4b9a ldr r3, [pc, #616] ; (806e570 ) 806e306: 4413 add r3, r2 806e308: 461a mov r2, r3 806e30a: 4b9b ldr r3, [pc, #620] ; (806e578 ) 806e30c: 461c mov r4, r3 806e30e: 4615 mov r5, r2 806e310: cd0f ldmia r5!, {r0, r1, r2, r3} 806e312: c40f stmia r4!, {r0, r1, r2, r3} 806e314: 682b ldr r3, [r5, #0] 806e316: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806e318: 4b96 ldr r3, [pc, #600] ; (806e574 ) 806e31a: 68da ldr r2, [r3, #12] 806e31c: 4b96 ldr r3, [pc, #600] ; (806e578 ) 806e31e: 68db ldr r3, [r3, #12] 806e320: 429a cmp r2, r3 806e322: d23a bcs.n 806e39a { TrendData = TrendRAM_TEMP(j); 806e324: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806e328: 4613 mov r3, r2 806e32a: 009b lsls r3, r3, #2 806e32c: 4413 add r3, r2 806e32e: 009b lsls r3, r3, #2 806e330: 461a mov r2, r3 806e332: 4b8f ldr r3, [pc, #572] ; (806e570 ) 806e334: 4413 add r3, r2 806e336: 461a mov r2, r3 806e338: 4b90 ldr r3, [pc, #576] ; (806e57c ) 806e33a: 461c mov r4, r3 806e33c: 4615 mov r5, r2 806e33e: cd0f ldmia r5!, {r0, r1, r2, r3} 806e340: c40f stmia r4!, {r0, r1, r2, r3} 806e342: 682b ldr r3, [r5, #0] 806e344: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806e346: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806e34a: 4613 mov r3, r2 806e34c: 009b lsls r3, r3, #2 806e34e: 4413 add r3, r2 806e350: 009b lsls r3, r3, #2 806e352: 461a mov r2, r3 806e354: 4b86 ldr r3, [pc, #536] ; (806e570 ) 806e356: 4413 add r3, r2 806e358: 4619 mov r1, r3 806e35a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e35e: 4613 mov r3, r2 806e360: 009b lsls r3, r3, #2 806e362: 4413 add r3, r2 806e364: 009b lsls r3, r3, #2 806e366: 461a mov r2, r3 806e368: 4b81 ldr r3, [pc, #516] ; (806e570 ) 806e36a: 4413 add r3, r2 806e36c: 460c mov r4, r1 806e36e: 461d mov r5, r3 806e370: cd0f ldmia r5!, {r0, r1, r2, r3} 806e372: c40f stmia r4!, {r0, r1, r2, r3} 806e374: 682b ldr r3, [r5, #0] 806e376: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806e378: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e37c: 4613 mov r3, r2 806e37e: 009b lsls r3, r3, #2 806e380: 4413 add r3, r2 806e382: 009b lsls r3, r3, #2 806e384: 461a mov r2, r3 806e386: 4b7a ldr r3, [pc, #488] ; (806e570 ) 806e388: 4413 add r3, r2 806e38a: 461a mov r2, r3 806e38c: 4b7b ldr r3, [pc, #492] ; (806e57c ) 806e38e: 4614 mov r4, r2 806e390: 461d mov r5, r3 806e392: cd0f ldmia r5!, {r0, r1, r2, r3} 806e394: c40f stmia r4!, {r0, r1, r2, r3} 806e396: 682b ldr r3, [r5, #0] 806e398: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806e39a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e39e: 3301 adds r3, #1 806e3a0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e3a4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e3a8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e3ac: 429a cmp r2, r3 806e3ae: d391 bcc.n 806e2d4 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806e3b0: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806e3b4: 3301 adds r3, #1 806e3b6: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806e3ba: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806e3be: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e3c2: 429a cmp r2, r3 806e3c4: f4ff af67 bcc.w 806e296 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806e3c8: 4b6d ldr r3, [pc, #436] ; (806e580 ) 806e3ca: f207 424c addw r2, r7, #1100 ; 0x44c 806e3ce: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806e3d0: 4b6c ldr r3, [pc, #432] ; (806e584 ) 806e3d2: f507 6289 add.w r2, r7, #1096 ; 0x448 806e3d6: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806e3d8: 2300 movs r3, #0 806e3da: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e3de: e049 b.n 806e474 { TrendData = TrendRAM_TEMP(i); 806e3e0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e3e4: 4613 mov r3, r2 806e3e6: 009b lsls r3, r3, #2 806e3e8: 4413 add r3, r2 806e3ea: 009b lsls r3, r3, #2 806e3ec: 461a mov r2, r3 806e3ee: 4b60 ldr r3, [pc, #384] ; (806e570 ) 806e3f0: 4413 add r3, r2 806e3f2: 461a mov r2, r3 806e3f4: 4b61 ldr r3, [pc, #388] ; (806e57c ) 806e3f6: 461c mov r4, r3 806e3f8: 4615 mov r5, r2 806e3fa: cd0f ldmia r5!, {r0, r1, r2, r3} 806e3fc: c40f stmia r4!, {r0, r1, r2, r3} 806e3fe: 682b ldr r3, [r5, #0] 806e400: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806e402: 4b5e ldr r3, [pc, #376] ; (806e57c ) 806e404: ed93 7a02 vldr s14, [r3, #8] 806e408: f207 434c addw r3, r7, #1100 ; 0x44c 806e40c: edd3 7a00 vldr s15, [r3] 806e410: eeb4 7ae7 vcmpe.f32 s14, s15 806e414: eef1 fa10 vmrs APSR_nzcv, fpscr 806e418: dd04 ble.n 806e424 806e41a: 4b58 ldr r3, [pc, #352] ; (806e57c ) 806e41c: 689b ldr r3, [r3, #8] 806e41e: f207 424c addw r2, r7, #1100 ; 0x44c 806e422: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806e424: 4b55 ldr r3, [pc, #340] ; (806e57c ) 806e426: ed93 7a02 vldr s14, [r3, #8] 806e42a: f507 6389 add.w r3, r7, #1096 ; 0x448 806e42e: edd3 7a00 vldr s15, [r3] 806e432: eeb4 7ae7 vcmpe.f32 s14, s15 806e436: eef1 fa10 vmrs APSR_nzcv, fpscr 806e43a: d504 bpl.n 806e446 806e43c: 4b4f ldr r3, [pc, #316] ; (806e57c ) 806e43e: 689b ldr r3, [r3, #8] 806e440: f507 6289 add.w r2, r7, #1096 ; 0x448 806e444: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806e446: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e44a: 009a lsls r2, r3, #2 806e44c: 4b4e ldr r3, [pc, #312] ; (806e588 ) 806e44e: 4413 add r3, r2 806e450: 461a mov r2, r3 806e452: 4b4a ldr r3, [pc, #296] ; (806e57c ) 806e454: 689b ldr r3, [r3, #8] 806e456: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806e458: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e45c: 009a lsls r2, r3, #2 806e45e: 4b44 ldr r3, [pc, #272] ; (806e570 ) 806e460: 4413 add r3, r2 806e462: 461a mov r2, r3 806e464: 4b45 ldr r3, [pc, #276] ; (806e57c ) 806e466: 68db ldr r3, [r3, #12] 806e468: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806e46a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e46e: 3301 adds r3, #1 806e470: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e474: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e478: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e47c: 429a cmp r2, r3 806e47e: d3af bcc.n 806e3e0 806e480: e2ce b.n 806ea20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_factor) 806e482: 4b42 ldr r3, [pc, #264] ; (806e58c ) 806e484: 781b ldrb r3, [r3, #0] 806e486: b2db uxtb r3, r3 806e488: 2b03 cmp r3, #3 806e48a: f040 8162 bne.w 806e752 { if(pardata.LANG == RUS) 806e48e: 4b40 ldr r3, [pc, #256] ; (806e590 ) 806e490: 7b1b ldrb r3, [r3, #12] 806e492: b2db uxtb r3, r3 806e494: 2b00 cmp r3, #0 806e496: d106 bne.n 806e4a6 BSP_LCD_DisplayStringAt(8, 35, "S(ïèê-ôàêòîð)", LEFT_MODE); 806e498: 2303 movs r3, #3 806e49a: 4a3e ldr r2, [pc, #248] ; (806e594 ) 806e49c: 2123 movs r1, #35 ; 0x23 806e49e: 2008 movs r0, #8 806e4a0: f7e6 ff7a bl 8055398 806e4a4: e005 b.n 806e4b2 else BSP_LCD_DisplayStringAt(8, 35, "S(peak-factor)", LEFT_MODE); 806e4a6: 2303 movs r3, #3 806e4a8: 4a3b ldr r2, [pc, #236] ; (806e598 ) 806e4aa: 2123 movs r1, #35 ; 0x23 806e4ac: 2008 movs r0, #8 806e4ae: f7e6 ff73 bl 8055398 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806e4b2: 2300 movs r3, #0 806e4b4: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806e4b8: 2300 movs r3, #0 806e4ba: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e4be: e042 b.n 806e546 { TrendData = TrendRAM(i); 806e4c0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e4c4: 4613 mov r3, r2 806e4c6: 009b lsls r3, r3, #2 806e4c8: 4413 add r3, r2 806e4ca: 009b lsls r3, r3, #2 806e4cc: 461a mov r2, r3 806e4ce: 4b33 ldr r3, [pc, #204] ; (806e59c ) 806e4d0: 4413 add r3, r2 806e4d2: 461a mov r2, r3 806e4d4: 4b29 ldr r3, [pc, #164] ; (806e57c ) 806e4d6: 461c mov r4, r3 806e4d8: 4615 mov r5, r2 806e4da: cd0f ldmia r5!, {r0, r1, r2, r3} 806e4dc: c40f stmia r4!, {r0, r1, r2, r3} 806e4de: 682b ldr r3, [r5, #0] 806e4e0: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'F') && (TrendData.Sval.fl != -1.0f)) 806e4e2: 4b26 ldr r3, [pc, #152] ; (806e57c ) 806e4e4: 7c9b ldrb r3, [r3, #18] 806e4e6: b2db uxtb r3, r3 806e4e8: 2b46 cmp r3, #70 ; 0x46 806e4ea: d127 bne.n 806e53c 806e4ec: 4b23 ldr r3, [pc, #140] ; (806e57c ) 806e4ee: edd3 7a02 vldr s15, [r3, #8] 806e4f2: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806e4f6: eef4 7a47 vcmp.f32 s15, s14 806e4fa: eef1 fa10 vmrs APSR_nzcv, fpscr 806e4fe: d01d beq.n 806e53c { TrendRAM_TEMP(l) = TrendRAM(i); 806e500: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806e504: 4613 mov r3, r2 806e506: 009b lsls r3, r3, #2 806e508: 4413 add r3, r2 806e50a: 009b lsls r3, r3, #2 806e50c: 461a mov r2, r3 806e50e: 4b18 ldr r3, [pc, #96] ; (806e570 ) 806e510: 4413 add r3, r2 806e512: 4619 mov r1, r3 806e514: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e518: 4613 mov r3, r2 806e51a: 009b lsls r3, r3, #2 806e51c: 4413 add r3, r2 806e51e: 009b lsls r3, r3, #2 806e520: 461a mov r2, r3 806e522: 4b1e ldr r3, [pc, #120] ; (806e59c ) 806e524: 4413 add r3, r2 806e526: 460c mov r4, r1 806e528: 461d mov r5, r3 806e52a: cd0f ldmia r5!, {r0, r1, r2, r3} 806e52c: c40f stmia r4!, {r0, r1, r2, r3} 806e52e: 682b ldr r3, [r5, #0] 806e530: 6023 str r3, [r4, #0] l++; 806e532: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e536: 3301 adds r3, #1 806e538: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806e53c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e540: 3301 adds r3, #1 806e542: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e546: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e54a: 4b15 ldr r3, [pc, #84] ; (806e5a0 ) 806e54c: 681b ldr r3, [r3, #0] 806e54e: 429a cmp r2, r3 806e550: d3b6 bcc.n 806e4c0 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806e552: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e556: 2b00 cmp r3, #0 806e558: f000 8262 beq.w 806ea20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806e55c: 2300 movs r3, #0 806e55e: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806e562: e092 b.n 806e68a { for(i = j; i < l; i++) 806e564: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806e568: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e56c: e082 b.n 806e674 806e56e: bf00 nop 806e570: 64090000 .word 0x64090000 806e574: 20022364 .word 0x20022364 806e578: 20022958 .word 0x20022958 806e57c: 20021fd8 .word 0x20021fd8 806e580: d01502f9 .word 0xd01502f9 806e584: 501502f9 .word 0x501502f9 806e588: 64080000 .word 0x64080000 806e58c: 20020070 .word 0x20020070 806e590: 20023eb8 .word 0x20023eb8 806e594: 080d6484 .word 0x080d6484 806e598: 080d6494 .word 0x080d6494 806e59c: 640a0000 .word 0x640a0000 806e5a0: 20020e34 .word 0x20020e34 { TrendData1 = TrendRAM_TEMP(i); 806e5a4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e5a8: 4613 mov r3, r2 806e5aa: 009b lsls r3, r3, #2 806e5ac: 4413 add r3, r2 806e5ae: 009b lsls r3, r3, #2 806e5b0: 461a mov r2, r3 806e5b2: 4ba3 ldr r3, [pc, #652] ; (806e840 ) 806e5b4: 4413 add r3, r2 806e5b6: 461a mov r2, r3 806e5b8: 4ba2 ldr r3, [pc, #648] ; (806e844 ) 806e5ba: 461c mov r4, r3 806e5bc: 4615 mov r5, r2 806e5be: cd0f ldmia r5!, {r0, r1, r2, r3} 806e5c0: c40f stmia r4!, {r0, r1, r2, r3} 806e5c2: 682b ldr r3, [r5, #0] 806e5c4: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806e5c6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806e5ca: 4613 mov r3, r2 806e5cc: 009b lsls r3, r3, #2 806e5ce: 4413 add r3, r2 806e5d0: 009b lsls r3, r3, #2 806e5d2: 461a mov r2, r3 806e5d4: 4b9a ldr r3, [pc, #616] ; (806e840 ) 806e5d6: 4413 add r3, r2 806e5d8: 461a mov r2, r3 806e5da: 4b9b ldr r3, [pc, #620] ; (806e848 ) 806e5dc: 461c mov r4, r3 806e5de: 4615 mov r5, r2 806e5e0: cd0f ldmia r5!, {r0, r1, r2, r3} 806e5e2: c40f stmia r4!, {r0, r1, r2, r3} 806e5e4: 682b ldr r3, [r5, #0] 806e5e6: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806e5e8: 4b96 ldr r3, [pc, #600] ; (806e844 ) 806e5ea: 68da ldr r2, [r3, #12] 806e5ec: 4b96 ldr r3, [pc, #600] ; (806e848 ) 806e5ee: 68db ldr r3, [r3, #12] 806e5f0: 429a cmp r2, r3 806e5f2: d23a bcs.n 806e66a { TrendData = TrendRAM_TEMP(j); 806e5f4: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806e5f8: 4613 mov r3, r2 806e5fa: 009b lsls r3, r3, #2 806e5fc: 4413 add r3, r2 806e5fe: 009b lsls r3, r3, #2 806e600: 461a mov r2, r3 806e602: 4b8f ldr r3, [pc, #572] ; (806e840 ) 806e604: 4413 add r3, r2 806e606: 461a mov r2, r3 806e608: 4b90 ldr r3, [pc, #576] ; (806e84c ) 806e60a: 461c mov r4, r3 806e60c: 4615 mov r5, r2 806e60e: cd0f ldmia r5!, {r0, r1, r2, r3} 806e610: c40f stmia r4!, {r0, r1, r2, r3} 806e612: 682b ldr r3, [r5, #0] 806e614: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806e616: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806e61a: 4613 mov r3, r2 806e61c: 009b lsls r3, r3, #2 806e61e: 4413 add r3, r2 806e620: 009b lsls r3, r3, #2 806e622: 461a mov r2, r3 806e624: 4b86 ldr r3, [pc, #536] ; (806e840 ) 806e626: 4413 add r3, r2 806e628: 4619 mov r1, r3 806e62a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e62e: 4613 mov r3, r2 806e630: 009b lsls r3, r3, #2 806e632: 4413 add r3, r2 806e634: 009b lsls r3, r3, #2 806e636: 461a mov r2, r3 806e638: 4b81 ldr r3, [pc, #516] ; (806e840 ) 806e63a: 4413 add r3, r2 806e63c: 460c mov r4, r1 806e63e: 461d mov r5, r3 806e640: cd0f ldmia r5!, {r0, r1, r2, r3} 806e642: c40f stmia r4!, {r0, r1, r2, r3} 806e644: 682b ldr r3, [r5, #0] 806e646: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806e648: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e64c: 4613 mov r3, r2 806e64e: 009b lsls r3, r3, #2 806e650: 4413 add r3, r2 806e652: 009b lsls r3, r3, #2 806e654: 461a mov r2, r3 806e656: 4b7a ldr r3, [pc, #488] ; (806e840 ) 806e658: 4413 add r3, r2 806e65a: 461a mov r2, r3 806e65c: 4b7b ldr r3, [pc, #492] ; (806e84c ) 806e65e: 4614 mov r4, r2 806e660: 461d mov r5, r3 806e662: cd0f ldmia r5!, {r0, r1, r2, r3} 806e664: c40f stmia r4!, {r0, r1, r2, r3} 806e666: 682b ldr r3, [r5, #0] 806e668: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806e66a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e66e: 3301 adds r3, #1 806e670: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e674: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e678: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e67c: 429a cmp r2, r3 806e67e: d391 bcc.n 806e5a4 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806e680: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806e684: 3301 adds r3, #1 806e686: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806e68a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806e68e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e692: 429a cmp r2, r3 806e694: f4ff af66 bcc.w 806e564 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806e698: 4b6d ldr r3, [pc, #436] ; (806e850 ) 806e69a: f207 424c addw r2, r7, #1100 ; 0x44c 806e69e: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806e6a0: 4b6c ldr r3, [pc, #432] ; (806e854 ) 806e6a2: f507 6289 add.w r2, r7, #1096 ; 0x448 806e6a6: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806e6a8: 2300 movs r3, #0 806e6aa: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e6ae: e049 b.n 806e744 { TrendData = TrendRAM_TEMP(i); 806e6b0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e6b4: 4613 mov r3, r2 806e6b6: 009b lsls r3, r3, #2 806e6b8: 4413 add r3, r2 806e6ba: 009b lsls r3, r3, #2 806e6bc: 461a mov r2, r3 806e6be: 4b60 ldr r3, [pc, #384] ; (806e840 ) 806e6c0: 4413 add r3, r2 806e6c2: 461a mov r2, r3 806e6c4: 4b61 ldr r3, [pc, #388] ; (806e84c ) 806e6c6: 461c mov r4, r3 806e6c8: 4615 mov r5, r2 806e6ca: cd0f ldmia r5!, {r0, r1, r2, r3} 806e6cc: c40f stmia r4!, {r0, r1, r2, r3} 806e6ce: 682b ldr r3, [r5, #0] 806e6d0: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806e6d2: 4b5e ldr r3, [pc, #376] ; (806e84c ) 806e6d4: ed93 7a02 vldr s14, [r3, #8] 806e6d8: f207 434c addw r3, r7, #1100 ; 0x44c 806e6dc: edd3 7a00 vldr s15, [r3] 806e6e0: eeb4 7ae7 vcmpe.f32 s14, s15 806e6e4: eef1 fa10 vmrs APSR_nzcv, fpscr 806e6e8: dd04 ble.n 806e6f4 806e6ea: 4b58 ldr r3, [pc, #352] ; (806e84c ) 806e6ec: 689b ldr r3, [r3, #8] 806e6ee: f207 424c addw r2, r7, #1100 ; 0x44c 806e6f2: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806e6f4: 4b55 ldr r3, [pc, #340] ; (806e84c ) 806e6f6: ed93 7a02 vldr s14, [r3, #8] 806e6fa: f507 6389 add.w r3, r7, #1096 ; 0x448 806e6fe: edd3 7a00 vldr s15, [r3] 806e702: eeb4 7ae7 vcmpe.f32 s14, s15 806e706: eef1 fa10 vmrs APSR_nzcv, fpscr 806e70a: d504 bpl.n 806e716 806e70c: 4b4f ldr r3, [pc, #316] ; (806e84c ) 806e70e: 689b ldr r3, [r3, #8] 806e710: f507 6289 add.w r2, r7, #1096 ; 0x448 806e714: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806e716: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e71a: 009a lsls r2, r3, #2 806e71c: 4b4e ldr r3, [pc, #312] ; (806e858 ) 806e71e: 4413 add r3, r2 806e720: 461a mov r2, r3 806e722: 4b4a ldr r3, [pc, #296] ; (806e84c ) 806e724: 689b ldr r3, [r3, #8] 806e726: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806e728: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e72c: 009a lsls r2, r3, #2 806e72e: 4b44 ldr r3, [pc, #272] ; (806e840 ) 806e730: 4413 add r3, r2 806e732: 461a mov r2, r3 806e734: 4b45 ldr r3, [pc, #276] ; (806e84c ) 806e736: 68db ldr r3, [r3, #12] 806e738: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806e73a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e73e: 3301 adds r3, #1 806e740: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e744: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e748: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e74c: 429a cmp r2, r3 806e74e: d3af bcc.n 806e6b0 806e750: e166 b.n 806ea20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_excess) 806e752: 4b42 ldr r3, [pc, #264] ; (806e85c ) 806e754: 781b ldrb r3, [r3, #0] 806e756: b2db uxtb r3, r3 806e758: 2b04 cmp r3, #4 806e75a: f040 8161 bne.w 806ea20 { if(pardata.LANG == RUS) 806e75e: 4b40 ldr r3, [pc, #256] ; (806e860 ) 806e760: 7b1b ldrb r3, [r3, #12] 806e762: b2db uxtb r3, r3 806e764: 2b00 cmp r3, #0 806e766: d106 bne.n 806e776 BSP_LCD_DisplayStringAt(8, 35, "S(ýêñöåññ)", LEFT_MODE); 806e768: 2303 movs r3, #3 806e76a: 4a3e ldr r2, [pc, #248] ; (806e864 ) 806e76c: 2123 movs r1, #35 ; 0x23 806e76e: 2008 movs r0, #8 806e770: f7e6 fe12 bl 8055398 806e774: e005 b.n 806e782 else BSP_LCD_DisplayStringAt(8, 35, "S(excess)", LEFT_MODE); 806e776: 2303 movs r3, #3 806e778: 4a3b ldr r2, [pc, #236] ; (806e868 ) 806e77a: 2123 movs r1, #35 ; 0x23 806e77c: 2008 movs r0, #8 806e77e: f7e6 fe0b bl 8055398 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806e782: 2300 movs r3, #0 806e784: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806e788: 2300 movs r3, #0 806e78a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e78e: e042 b.n 806e816 { TrendData = TrendRAM(i); 806e790: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e794: 4613 mov r3, r2 806e796: 009b lsls r3, r3, #2 806e798: 4413 add r3, r2 806e79a: 009b lsls r3, r3, #2 806e79c: 461a mov r2, r3 806e79e: 4b33 ldr r3, [pc, #204] ; (806e86c ) 806e7a0: 4413 add r3, r2 806e7a2: 461a mov r2, r3 806e7a4: 4b29 ldr r3, [pc, #164] ; (806e84c ) 806e7a6: 461c mov r4, r3 806e7a8: 4615 mov r5, r2 806e7aa: cd0f ldmia r5!, {r0, r1, r2, r3} 806e7ac: c40f stmia r4!, {r0, r1, r2, r3} 806e7ae: 682b ldr r3, [r5, #0] 806e7b0: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'E') && (TrendData.Sval.fl != -1.0f)) 806e7b2: 4b26 ldr r3, [pc, #152] ; (806e84c ) 806e7b4: 7c9b ldrb r3, [r3, #18] 806e7b6: b2db uxtb r3, r3 806e7b8: 2b45 cmp r3, #69 ; 0x45 806e7ba: d127 bne.n 806e80c 806e7bc: 4b23 ldr r3, [pc, #140] ; (806e84c ) 806e7be: edd3 7a02 vldr s15, [r3, #8] 806e7c2: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806e7c6: eef4 7a47 vcmp.f32 s15, s14 806e7ca: eef1 fa10 vmrs APSR_nzcv, fpscr 806e7ce: d01d beq.n 806e80c { TrendRAM_TEMP(l) = TrendRAM(i); 806e7d0: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806e7d4: 4613 mov r3, r2 806e7d6: 009b lsls r3, r3, #2 806e7d8: 4413 add r3, r2 806e7da: 009b lsls r3, r3, #2 806e7dc: 461a mov r2, r3 806e7de: 4b18 ldr r3, [pc, #96] ; (806e840 ) 806e7e0: 4413 add r3, r2 806e7e2: 4619 mov r1, r3 806e7e4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e7e8: 4613 mov r3, r2 806e7ea: 009b lsls r3, r3, #2 806e7ec: 4413 add r3, r2 806e7ee: 009b lsls r3, r3, #2 806e7f0: 461a mov r2, r3 806e7f2: 4b1e ldr r3, [pc, #120] ; (806e86c ) 806e7f4: 4413 add r3, r2 806e7f6: 460c mov r4, r1 806e7f8: 461d mov r5, r3 806e7fa: cd0f ldmia r5!, {r0, r1, r2, r3} 806e7fc: c40f stmia r4!, {r0, r1, r2, r3} 806e7fe: 682b ldr r3, [r5, #0] 806e800: 6023 str r3, [r4, #0] l++; 806e802: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e806: 3301 adds r3, #1 806e808: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806e80c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e810: 3301 adds r3, #1 806e812: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e816: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e81a: 4b15 ldr r3, [pc, #84] ; (806e870 ) 806e81c: 681b ldr r3, [r3, #0] 806e81e: 429a cmp r2, r3 806e820: d3b6 bcc.n 806e790 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806e822: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e826: 2b00 cmp r3, #0 806e828: f000 80fa beq.w 806ea20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806e82c: 2300 movs r3, #0 806e82e: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806e832: e092 b.n 806e95a { for(i = j; i < l; i++) 806e834: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806e838: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e83c: e082 b.n 806e944 806e83e: bf00 nop 806e840: 64090000 .word 0x64090000 806e844: 20022364 .word 0x20022364 806e848: 20022958 .word 0x20022958 806e84c: 20021fd8 .word 0x20021fd8 806e850: d01502f9 .word 0xd01502f9 806e854: 501502f9 .word 0x501502f9 806e858: 64080000 .word 0x64080000 806e85c: 20020070 .word 0x20020070 806e860: 20023eb8 .word 0x20023eb8 806e864: 080d64a4 .word 0x080d64a4 806e868: 080d64b0 .word 0x080d64b0 806e86c: 640a0000 .word 0x640a0000 806e870: 20020e34 .word 0x20020e34 { TrendData1 = TrendRAM_TEMP(i); 806e874: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e878: 4613 mov r3, r2 806e87a: 009b lsls r3, r3, #2 806e87c: 4413 add r3, r2 806e87e: 009b lsls r3, r3, #2 806e880: 461a mov r2, r3 806e882: 4bb4 ldr r3, [pc, #720] ; (806eb54 ) 806e884: 4413 add r3, r2 806e886: 461a mov r2, r3 806e888: 4bb3 ldr r3, [pc, #716] ; (806eb58 ) 806e88a: 461c mov r4, r3 806e88c: 4615 mov r5, r2 806e88e: cd0f ldmia r5!, {r0, r1, r2, r3} 806e890: c40f stmia r4!, {r0, r1, r2, r3} 806e892: 682b ldr r3, [r5, #0] 806e894: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806e896: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806e89a: 4613 mov r3, r2 806e89c: 009b lsls r3, r3, #2 806e89e: 4413 add r3, r2 806e8a0: 009b lsls r3, r3, #2 806e8a2: 461a mov r2, r3 806e8a4: 4bab ldr r3, [pc, #684] ; (806eb54 ) 806e8a6: 4413 add r3, r2 806e8a8: 461a mov r2, r3 806e8aa: 4bac ldr r3, [pc, #688] ; (806eb5c ) 806e8ac: 461c mov r4, r3 806e8ae: 4615 mov r5, r2 806e8b0: cd0f ldmia r5!, {r0, r1, r2, r3} 806e8b2: c40f stmia r4!, {r0, r1, r2, r3} 806e8b4: 682b ldr r3, [r5, #0] 806e8b6: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806e8b8: 4ba7 ldr r3, [pc, #668] ; (806eb58 ) 806e8ba: 68da ldr r2, [r3, #12] 806e8bc: 4ba7 ldr r3, [pc, #668] ; (806eb5c ) 806e8be: 68db ldr r3, [r3, #12] 806e8c0: 429a cmp r2, r3 806e8c2: d23a bcs.n 806e93a { TrendData = TrendRAM_TEMP(j); 806e8c4: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806e8c8: 4613 mov r3, r2 806e8ca: 009b lsls r3, r3, #2 806e8cc: 4413 add r3, r2 806e8ce: 009b lsls r3, r3, #2 806e8d0: 461a mov r2, r3 806e8d2: 4ba0 ldr r3, [pc, #640] ; (806eb54 ) 806e8d4: 4413 add r3, r2 806e8d6: 461a mov r2, r3 806e8d8: 4ba1 ldr r3, [pc, #644] ; (806eb60 ) 806e8da: 461c mov r4, r3 806e8dc: 4615 mov r5, r2 806e8de: cd0f ldmia r5!, {r0, r1, r2, r3} 806e8e0: c40f stmia r4!, {r0, r1, r2, r3} 806e8e2: 682b ldr r3, [r5, #0] 806e8e4: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806e8e6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806e8ea: 4613 mov r3, r2 806e8ec: 009b lsls r3, r3, #2 806e8ee: 4413 add r3, r2 806e8f0: 009b lsls r3, r3, #2 806e8f2: 461a mov r2, r3 806e8f4: 4b97 ldr r3, [pc, #604] ; (806eb54 ) 806e8f6: 4413 add r3, r2 806e8f8: 4619 mov r1, r3 806e8fa: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e8fe: 4613 mov r3, r2 806e900: 009b lsls r3, r3, #2 806e902: 4413 add r3, r2 806e904: 009b lsls r3, r3, #2 806e906: 461a mov r2, r3 806e908: 4b92 ldr r3, [pc, #584] ; (806eb54 ) 806e90a: 4413 add r3, r2 806e90c: 460c mov r4, r1 806e90e: 461d mov r5, r3 806e910: cd0f ldmia r5!, {r0, r1, r2, r3} 806e912: c40f stmia r4!, {r0, r1, r2, r3} 806e914: 682b ldr r3, [r5, #0] 806e916: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806e918: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e91c: 4613 mov r3, r2 806e91e: 009b lsls r3, r3, #2 806e920: 4413 add r3, r2 806e922: 009b lsls r3, r3, #2 806e924: 461a mov r2, r3 806e926: 4b8b ldr r3, [pc, #556] ; (806eb54 ) 806e928: 4413 add r3, r2 806e92a: 461a mov r2, r3 806e92c: 4b8c ldr r3, [pc, #560] ; (806eb60 ) 806e92e: 4614 mov r4, r2 806e930: 461d mov r5, r3 806e932: cd0f ldmia r5!, {r0, r1, r2, r3} 806e934: c40f stmia r4!, {r0, r1, r2, r3} 806e936: 682b ldr r3, [r5, #0] 806e938: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806e93a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e93e: 3301 adds r3, #1 806e940: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e944: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e948: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e94c: 429a cmp r2, r3 806e94e: d391 bcc.n 806e874 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806e950: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806e954: 3301 adds r3, #1 806e956: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806e95a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806e95e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e962: 429a cmp r2, r3 806e964: f4ff af66 bcc.w 806e834 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806e968: 4b7e ldr r3, [pc, #504] ; (806eb64 ) 806e96a: f207 424c addw r2, r7, #1100 ; 0x44c 806e96e: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806e970: 4b7d ldr r3, [pc, #500] ; (806eb68 ) 806e972: f507 6289 add.w r2, r7, #1096 ; 0x448 806e976: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806e978: 2300 movs r3, #0 806e97a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e97e: e049 b.n 806ea14 { TrendData = TrendRAM_TEMP(i); 806e980: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e984: 4613 mov r3, r2 806e986: 009b lsls r3, r3, #2 806e988: 4413 add r3, r2 806e98a: 009b lsls r3, r3, #2 806e98c: 461a mov r2, r3 806e98e: 4b71 ldr r3, [pc, #452] ; (806eb54 ) 806e990: 4413 add r3, r2 806e992: 461a mov r2, r3 806e994: 4b72 ldr r3, [pc, #456] ; (806eb60 ) 806e996: 461c mov r4, r3 806e998: 4615 mov r5, r2 806e99a: cd0f ldmia r5!, {r0, r1, r2, r3} 806e99c: c40f stmia r4!, {r0, r1, r2, r3} 806e99e: 682b ldr r3, [r5, #0] 806e9a0: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806e9a2: 4b6f ldr r3, [pc, #444] ; (806eb60 ) 806e9a4: ed93 7a02 vldr s14, [r3, #8] 806e9a8: f207 434c addw r3, r7, #1100 ; 0x44c 806e9ac: edd3 7a00 vldr s15, [r3] 806e9b0: eeb4 7ae7 vcmpe.f32 s14, s15 806e9b4: eef1 fa10 vmrs APSR_nzcv, fpscr 806e9b8: dd04 ble.n 806e9c4 806e9ba: 4b69 ldr r3, [pc, #420] ; (806eb60 ) 806e9bc: 689b ldr r3, [r3, #8] 806e9be: f207 424c addw r2, r7, #1100 ; 0x44c 806e9c2: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806e9c4: 4b66 ldr r3, [pc, #408] ; (806eb60 ) 806e9c6: ed93 7a02 vldr s14, [r3, #8] 806e9ca: f507 6389 add.w r3, r7, #1096 ; 0x448 806e9ce: edd3 7a00 vldr s15, [r3] 806e9d2: eeb4 7ae7 vcmpe.f32 s14, s15 806e9d6: eef1 fa10 vmrs APSR_nzcv, fpscr 806e9da: d504 bpl.n 806e9e6 806e9dc: 4b60 ldr r3, [pc, #384] ; (806eb60 ) 806e9de: 689b ldr r3, [r3, #8] 806e9e0: f507 6289 add.w r2, r7, #1096 ; 0x448 806e9e4: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806e9e6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e9ea: 009a lsls r2, r3, #2 806e9ec: 4b5f ldr r3, [pc, #380] ; (806eb6c ) 806e9ee: 4413 add r3, r2 806e9f0: 461a mov r2, r3 806e9f2: 4b5b ldr r3, [pc, #364] ; (806eb60 ) 806e9f4: 689b ldr r3, [r3, #8] 806e9f6: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806e9f8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e9fc: 009a lsls r2, r3, #2 806e9fe: 4b55 ldr r3, [pc, #340] ; (806eb54 ) 806ea00: 4413 add r3, r2 806ea02: 461a mov r2, r3 806ea04: 4b56 ldr r3, [pc, #344] ; (806eb60 ) 806ea06: 68db ldr r3, [r3, #12] 806ea08: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806ea0a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ea0e: 3301 adds r3, #1 806ea10: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ea14: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ea18: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ea1c: 429a cmp r2, r3 806ea1e: d3af bcc.n 806e980 } //////////////////////////////////////////////////////////////////////// /////////////////////////// ÐÈÑÓÅÌ ÒÐÅÍÄ /////////////////////////////// if(menupos == Trend_excess) 806ea20: 4b53 ldr r3, [pc, #332] ; (806eb70 ) 806ea22: 781b ldrb r3, [r3, #0] 806ea24: b2db uxtb r3, r3 806ea26: 2b04 cmp r3, #4 806ea28: f041 83ba bne.w 80701a0 { if(l) 806ea2c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ea30: 2b00 cmp r3, #0 806ea32: f02a 83d0 beq.w 80991d6 { y0 = 217; 806ea36: 23d9 movs r3, #217 ; 0xd9 806ea38: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = 192; 806ea3c: 23c0 movs r3, #192 ; 0xc0 806ea3e: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a y2 = 167; 806ea42: 23a7 movs r3, #167 ; 0xa7 806ea44: f8a7 3438 strh.w r3, [r7, #1080] ; 0x438 y3 = 142; 806ea48: 238e movs r3, #142 ; 0x8e 806ea4a: f8a7 3436 strh.w r3, [r7, #1078] ; 0x436 y4 = 117; 806ea4e: 2375 movs r3, #117 ; 0x75 806ea50: f8a7 3434 strh.w r3, [r7, #1076] ; 0x434 y5 = 92; 806ea54: 235c movs r3, #92 ; 0x5c 806ea56: f8a7 3432 strh.w r3, [r7, #1074] ; 0x432 y6 = 67; 806ea5a: 2343 movs r3, #67 ; 0x43 806ea5c: f8a7 3430 strh.w r3, [r7, #1072] ; 0x430 BSP_LCD_SetFont(&Font8); 806ea60: 4844 ldr r0, [pc, #272] ; (806eb74 ) 806ea62: f7e6 fc0f bl 8055284 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 806ea66: 4944 ldr r1, [pc, #272] ; (806eb78 ) 806ea68: 4844 ldr r0, [pc, #272] ; (806eb7c ) 806ea6a: f7e6 fbcf bl 805520c if(fmax <= 15.0f) 806ea6e: f207 434c addw r3, r7, #1100 ; 0x44c 806ea72: edd3 7a00 vldr s15, [r3] 806ea76: eeb2 7a0e vmov.f32 s14, #46 ; 0x41700000 15.0 806ea7a: eef4 7ac7 vcmpe.f32 s15, s14 806ea7e: eef1 fa10 vmrs APSR_nzcv, fpscr 806ea82: d82d bhi.n 806eae0 { BSP_LCD_DisplayStringAt(59, y5 - 2, "15", RIGHT_MODE); 806ea84: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806ea88: 3b02 subs r3, #2 806ea8a: b299 uxth r1, r3 806ea8c: 2302 movs r3, #2 806ea8e: 4a3c ldr r2, [pc, #240] ; (806eb80 ) 806ea90: 203b movs r0, #59 ; 0x3b 806ea92: f7e6 fc81 bl 8055398 BSP_LCD_DisplayStringAt(59, y4 - 2, "10", RIGHT_MODE); 806ea96: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806ea9a: 3b02 subs r3, #2 806ea9c: b299 uxth r1, r3 806ea9e: 2302 movs r3, #2 806eaa0: 4a38 ldr r2, [pc, #224] ; (806eb84 ) 806eaa2: 203b movs r0, #59 ; 0x3b 806eaa4: f7e6 fc78 bl 8055398 BSP_LCD_DisplayStringAt(59, y3 - 2, "5", RIGHT_MODE); 806eaa8: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806eaac: 3b02 subs r3, #2 806eaae: b299 uxth r1, r3 806eab0: 2302 movs r3, #2 806eab2: 4a35 ldr r2, [pc, #212] ; (806eb88 ) 806eab4: 203b movs r0, #59 ; 0x3b 806eab6: f7e6 fc6f bl 8055398 BSP_LCD_DisplayStringAt(59, y2 - 2, "0", RIGHT_MODE); 806eaba: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806eabe: 3b02 subs r3, #2 806eac0: b299 uxth r1, r3 806eac2: 2302 movs r3, #2 806eac4: 4a31 ldr r2, [pc, #196] ; (806eb8c ) 806eac6: 203b movs r0, #59 ; 0x3b 806eac8: f7e6 fc66 bl 8055398 BSP_LCD_DisplayStringAt(59, y1 - 2, "-5", RIGHT_MODE); 806eacc: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806ead0: 3b02 subs r3, #2 806ead2: b299 uxth r1, r3 806ead4: 2302 movs r3, #2 806ead6: 4a2e ldr r2, [pc, #184] ; (806eb90 ) 806ead8: 203b movs r0, #59 ; 0x3b 806eada: f7e6 fc5d bl 8055398 806eade: e0d2 b.n 806ec86 } else if(fmax <= 100.0f) 806eae0: f207 434c addw r3, r7, #1100 ; 0x44c 806eae4: edd3 7a00 vldr s15, [r3] 806eae8: ed9f 7a2a vldr s14, [pc, #168] ; 806eb94 806eaec: eef4 7ac7 vcmpe.f32 s15, s14 806eaf0: eef1 fa10 vmrs APSR_nzcv, fpscr 806eaf4: d856 bhi.n 806eba4 { BSP_LCD_DisplayStringAt(59, y5 - 2, "100", RIGHT_MODE); 806eaf6: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806eafa: 3b02 subs r3, #2 806eafc: b299 uxth r1, r3 806eafe: 2302 movs r3, #2 806eb00: 4a25 ldr r2, [pc, #148] ; (806eb98 ) 806eb02: 203b movs r0, #59 ; 0x3b 806eb04: f7e6 fc48 bl 8055398 BSP_LCD_DisplayStringAt(59, y4 - 2, "50", RIGHT_MODE); 806eb08: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806eb0c: 3b02 subs r3, #2 806eb0e: b299 uxth r1, r3 806eb10: 2302 movs r3, #2 806eb12: 4a22 ldr r2, [pc, #136] ; (806eb9c ) 806eb14: 203b movs r0, #59 ; 0x3b 806eb16: f7e6 fc3f bl 8055398 BSP_LCD_DisplayStringAt(59, y3 - 2, "10", RIGHT_MODE); 806eb1a: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806eb1e: 3b02 subs r3, #2 806eb20: b299 uxth r1, r3 806eb22: 2302 movs r3, #2 806eb24: 4a17 ldr r2, [pc, #92] ; (806eb84 ) 806eb26: 203b movs r0, #59 ; 0x3b 806eb28: f7e6 fc36 bl 8055398 BSP_LCD_DisplayStringAt(59, y2 - 2, "0", RIGHT_MODE); 806eb2c: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806eb30: 3b02 subs r3, #2 806eb32: b299 uxth r1, r3 806eb34: 2302 movs r3, #2 806eb36: 4a15 ldr r2, [pc, #84] ; (806eb8c ) 806eb38: 203b movs r0, #59 ; 0x3b 806eb3a: f7e6 fc2d bl 8055398 BSP_LCD_DisplayStringAt(59, y1 - 2, "-5", RIGHT_MODE); 806eb3e: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806eb42: 3b02 subs r3, #2 806eb44: b299 uxth r1, r3 806eb46: 2302 movs r3, #2 806eb48: 4a11 ldr r2, [pc, #68] ; (806eb90 ) 806eb4a: 203b movs r0, #59 ; 0x3b 806eb4c: f7e6 fc24 bl 8055398 806eb50: e099 b.n 806ec86 806eb52: bf00 nop 806eb54: 64090000 .word 0x64090000 806eb58: 20022364 .word 0x20022364 806eb5c: 20022958 .word 0x20022958 806eb60: 20021fd8 .word 0x20021fd8 806eb64: d01502f9 .word 0xd01502f9 806eb68: 501502f9 .word 0x501502f9 806eb6c: 64080000 .word 0x64080000 806eb70: 20020070 .word 0x20020070 806eb74: 20020060 .word 0x20020060 806eb78: ff0a0f1f .word 0xff0a0f1f 806eb7c: ffd3d3d3 .word 0xffd3d3d3 806eb80: 080d64bc .word 0x080d64bc 806eb84: 080d64c0 .word 0x080d64c0 806eb88: 080d6228 .word 0x080d6228 806eb8c: 080d6220 .word 0x080d6220 806eb90: 080d64c4 .word 0x080d64c4 806eb94: 42c80000 .word 0x42c80000 806eb98: 080d64c8 .word 0x080d64c8 806eb9c: 080d64cc .word 0x080d64cc 806eba0: 447a0000 .word 0x447a0000 } else if(fmax <= 1000.0f) 806eba4: f207 434c addw r3, r7, #1100 ; 0x44c 806eba8: edd3 7a00 vldr s15, [r3] 806ebac: ed1f 7a04 vldr s14, [pc, #-16] ; 806eba0 806ebb0: eef4 7ac7 vcmpe.f32 s15, s14 806ebb4: eef1 fa10 vmrs APSR_nzcv, fpscr 806ebb8: d82d bhi.n 806ec16 { BSP_LCD_DisplayStringAt(59, y5 - 2, "1000", RIGHT_MODE); 806ebba: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806ebbe: 3b02 subs r3, #2 806ebc0: b299 uxth r1, r3 806ebc2: 2302 movs r3, #2 806ebc4: 4ab7 ldr r2, [pc, #732] ; (806eea4 ) 806ebc6: 203b movs r0, #59 ; 0x3b 806ebc8: f7e6 fbe6 bl 8055398 BSP_LCD_DisplayStringAt(59, y4 - 2, "500", RIGHT_MODE); 806ebcc: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806ebd0: 3b02 subs r3, #2 806ebd2: b299 uxth r1, r3 806ebd4: 2302 movs r3, #2 806ebd6: 4ab4 ldr r2, [pc, #720] ; (806eea8 ) 806ebd8: 203b movs r0, #59 ; 0x3b 806ebda: f7e6 fbdd bl 8055398 BSP_LCD_DisplayStringAt(59, y3 - 2, "100", RIGHT_MODE); 806ebde: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806ebe2: 3b02 subs r3, #2 806ebe4: b299 uxth r1, r3 806ebe6: 2302 movs r3, #2 806ebe8: 4ab0 ldr r2, [pc, #704] ; (806eeac ) 806ebea: 203b movs r0, #59 ; 0x3b 806ebec: f7e6 fbd4 bl 8055398 BSP_LCD_DisplayStringAt(59, y2 - 2, "0", RIGHT_MODE); 806ebf0: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806ebf4: 3b02 subs r3, #2 806ebf6: b299 uxth r1, r3 806ebf8: 2302 movs r3, #2 806ebfa: 4aad ldr r2, [pc, #692] ; (806eeb0 ) 806ebfc: 203b movs r0, #59 ; 0x3b 806ebfe: f7e6 fbcb bl 8055398 BSP_LCD_DisplayStringAt(59, y1 - 2, "-5", RIGHT_MODE); 806ec02: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806ec06: 3b02 subs r3, #2 806ec08: b299 uxth r1, r3 806ec0a: 2302 movs r3, #2 806ec0c: 4aa9 ldr r2, [pc, #676] ; (806eeb4 ) 806ec0e: 203b movs r0, #59 ; 0x3b 806ec10: f7e6 fbc2 bl 8055398 806ec14: e037 b.n 806ec86 } else if(fmax <= 10000.0f) 806ec16: f207 434c addw r3, r7, #1100 ; 0x44c 806ec1a: edd3 7a00 vldr s15, [r3] 806ec1e: ed9f 7aa6 vldr s14, [pc, #664] ; 806eeb8 806ec22: eef4 7ac7 vcmpe.f32 s15, s14 806ec26: eef1 fa10 vmrs APSR_nzcv, fpscr 806ec2a: d82c bhi.n 806ec86 { BSP_LCD_DisplayStringAt(59, y5 - 2, "10000", RIGHT_MODE); 806ec2c: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806ec30: 3b02 subs r3, #2 806ec32: b299 uxth r1, r3 806ec34: 2302 movs r3, #2 806ec36: 4aa1 ldr r2, [pc, #644] ; (806eebc ) 806ec38: 203b movs r0, #59 ; 0x3b 806ec3a: f7e6 fbad bl 8055398 BSP_LCD_DisplayStringAt(59, y4 - 2, "5000", RIGHT_MODE); 806ec3e: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806ec42: 3b02 subs r3, #2 806ec44: b299 uxth r1, r3 806ec46: 2302 movs r3, #2 806ec48: 4a9d ldr r2, [pc, #628] ; (806eec0 ) 806ec4a: 203b movs r0, #59 ; 0x3b 806ec4c: f7e6 fba4 bl 8055398 BSP_LCD_DisplayStringAt(59, y3 - 2, "1000", RIGHT_MODE); 806ec50: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806ec54: 3b02 subs r3, #2 806ec56: b299 uxth r1, r3 806ec58: 2302 movs r3, #2 806ec5a: 4a92 ldr r2, [pc, #584] ; (806eea4 ) 806ec5c: 203b movs r0, #59 ; 0x3b 806ec5e: f7e6 fb9b bl 8055398 BSP_LCD_DisplayStringAt(59, y2 - 2, "0", RIGHT_MODE); 806ec62: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806ec66: 3b02 subs r3, #2 806ec68: b299 uxth r1, r3 806ec6a: 2302 movs r3, #2 806ec6c: 4a90 ldr r2, [pc, #576] ; (806eeb0 ) 806ec6e: 203b movs r0, #59 ; 0x3b 806ec70: f7e6 fb92 bl 8055398 BSP_LCD_DisplayStringAt(59, y1 - 2, "-5", RIGHT_MODE); 806ec74: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806ec78: 3b02 subs r3, #2 806ec7a: b299 uxth r1, r3 806ec7c: 2302 movs r3, #2 806ec7e: 4a8d ldr r2, [pc, #564] ; (806eeb4 ) 806ec80: 203b movs r0, #59 ; 0x3b 806ec82: f7e6 fb89 bl 8055398 } if(l == 1) 806ec86: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ec8a: 2b01 cmp r3, #1 806ec8c: f040 811e bne.w 806eecc { k = CmplxA_u32(0); 806ec90: 4b8c ldr r3, [pc, #560] ; (806eec4 ) 806ec92: 681b ldr r3, [r3, #0] 806ec94: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806ec98: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ec9c: 0e5b lsrs r3, r3, #25 806ec9e: 3b14 subs r3, #20 806eca0: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806eca4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806eca8: 0d5b lsrs r3, r3, #21 806ecaa: f003 030f and.w r3, r3, #15 806ecae: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806ecb2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ecb6: 0c1b lsrs r3, r3, #16 806ecb8: f003 031f and.w r3, r3, #31 806ecbc: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806ecc0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ecc4: 0adb lsrs r3, r3, #11 806ecc6: f003 031f and.w r3, r3, #31 806ecca: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806ecce: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ecd2: 095b lsrs r3, r3, #5 806ecd4: f003 033f and.w r3, r3, #63 ; 0x3f 806ecd8: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806ecdc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ece0: 005b lsls r3, r3, #1 806ece2: f003 031f and.w r3, r3, #31 806ece6: 3301 adds r3, #1 806ece8: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806ecec: f507 733b add.w r3, r7, #748 ; 0x2ec 806ecf0: 223c movs r2, #60 ; 0x3c 806ecf2: 2100 movs r1, #0 806ecf4: 4618 mov r0, r3 806ecf6: f063 f955 bl 80d1fa4 str[0] = (Day / 10) + 48; 806ecfa: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806ecfe: 4a72 ldr r2, [pc, #456] ; (806eec8 ) 806ed00: fba2 2303 umull r2, r3, r2, r3 806ed04: 08db lsrs r3, r3, #3 806ed06: b2db uxtb r3, r3 806ed08: 3330 adds r3, #48 ; 0x30 806ed0a: b2da uxtb r2, r3 806ed0c: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed10: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806ed12: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806ed16: 4b6c ldr r3, [pc, #432] ; (806eec8 ) 806ed18: fba3 2301 umull r2, r3, r3, r1 806ed1c: 08da lsrs r2, r3, #3 806ed1e: 4613 mov r3, r2 806ed20: 009b lsls r3, r3, #2 806ed22: 4413 add r3, r2 806ed24: 005b lsls r3, r3, #1 806ed26: 1aca subs r2, r1, r3 806ed28: b2d3 uxtb r3, r2 806ed2a: 3330 adds r3, #48 ; 0x30 806ed2c: b2da uxtb r2, r3 806ed2e: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed32: 705a strb r2, [r3, #1] str[2] = '.'; 806ed34: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed38: 222e movs r2, #46 ; 0x2e 806ed3a: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806ed3c: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806ed40: 4a61 ldr r2, [pc, #388] ; (806eec8 ) 806ed42: fba2 2303 umull r2, r3, r2, r3 806ed46: 08db lsrs r3, r3, #3 806ed48: b2db uxtb r3, r3 806ed4a: 3330 adds r3, #48 ; 0x30 806ed4c: b2da uxtb r2, r3 806ed4e: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed52: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806ed54: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806ed58: 4b5b ldr r3, [pc, #364] ; (806eec8 ) 806ed5a: fba3 2301 umull r2, r3, r3, r1 806ed5e: 08da lsrs r2, r3, #3 806ed60: 4613 mov r3, r2 806ed62: 009b lsls r3, r3, #2 806ed64: 4413 add r3, r2 806ed66: 005b lsls r3, r3, #1 806ed68: 1aca subs r2, r1, r3 806ed6a: b2d3 uxtb r3, r2 806ed6c: 3330 adds r3, #48 ; 0x30 806ed6e: b2da uxtb r2, r3 806ed70: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed74: 711a strb r2, [r3, #4] str[5] = '.'; 806ed76: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed7a: 222e movs r2, #46 ; 0x2e 806ed7c: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806ed7e: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806ed82: 4a51 ldr r2, [pc, #324] ; (806eec8 ) 806ed84: fba2 2303 umull r2, r3, r2, r3 806ed88: 08db lsrs r3, r3, #3 806ed8a: b2db uxtb r3, r3 806ed8c: 3330 adds r3, #48 ; 0x30 806ed8e: b2da uxtb r2, r3 806ed90: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed94: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806ed96: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806ed9a: 4b4b ldr r3, [pc, #300] ; (806eec8 ) 806ed9c: fba3 2301 umull r2, r3, r3, r1 806eda0: 08da lsrs r2, r3, #3 806eda2: 4613 mov r3, r2 806eda4: 009b lsls r3, r3, #2 806eda6: 4413 add r3, r2 806eda8: 005b lsls r3, r3, #1 806edaa: 1aca subs r2, r1, r3 806edac: b2d3 uxtb r3, r2 806edae: 3330 adds r3, #48 ; 0x30 806edb0: b2da uxtb r2, r3 806edb2: f507 733b add.w r3, r7, #748 ; 0x2ec 806edb6: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 806edb8: f507 723b add.w r2, r7, #748 ; 0x2ec 806edbc: 2301 movs r3, #1 806edbe: 21dc movs r1, #220 ; 0xdc 806edc0: 20be movs r0, #190 ; 0xbe 806edc2: f7e6 fae9 bl 8055398 memset(str, 0, sizeof(str)); 806edc6: f507 733b add.w r3, r7, #748 ; 0x2ec 806edca: 223c movs r2, #60 ; 0x3c 806edcc: 2100 movs r1, #0 806edce: 4618 mov r0, r3 806edd0: f063 f8e8 bl 80d1fa4 str[0] = (Hour / 10) + 48; 806edd4: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806edd8: 4a3b ldr r2, [pc, #236] ; (806eec8 ) 806edda: fba2 2303 umull r2, r3, r2, r3 806edde: 08db lsrs r3, r3, #3 806ede0: b2db uxtb r3, r3 806ede2: 3330 adds r3, #48 ; 0x30 806ede4: b2da uxtb r2, r3 806ede6: f507 733b add.w r3, r7, #748 ; 0x2ec 806edea: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806edec: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806edf0: 4b35 ldr r3, [pc, #212] ; (806eec8 ) 806edf2: fba3 2301 umull r2, r3, r3, r1 806edf6: 08da lsrs r2, r3, #3 806edf8: 4613 mov r3, r2 806edfa: 009b lsls r3, r3, #2 806edfc: 4413 add r3, r2 806edfe: 005b lsls r3, r3, #1 806ee00: 1aca subs r2, r1, r3 806ee02: b2d3 uxtb r3, r2 806ee04: 3330 adds r3, #48 ; 0x30 806ee06: b2da uxtb r2, r3 806ee08: f507 733b add.w r3, r7, #748 ; 0x2ec 806ee0c: 705a strb r2, [r3, #1] str[2] = ':'; 806ee0e: f507 733b add.w r3, r7, #748 ; 0x2ec 806ee12: 223a movs r2, #58 ; 0x3a 806ee14: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806ee16: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806ee1a: 4a2b ldr r2, [pc, #172] ; (806eec8 ) 806ee1c: fba2 2303 umull r2, r3, r2, r3 806ee20: 08db lsrs r3, r3, #3 806ee22: b2db uxtb r3, r3 806ee24: 3330 adds r3, #48 ; 0x30 806ee26: b2da uxtb r2, r3 806ee28: f507 733b add.w r3, r7, #748 ; 0x2ec 806ee2c: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806ee2e: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806ee32: 4b25 ldr r3, [pc, #148] ; (806eec8 ) 806ee34: fba3 2301 umull r2, r3, r3, r1 806ee38: 08da lsrs r2, r3, #3 806ee3a: 4613 mov r3, r2 806ee3c: 009b lsls r3, r3, #2 806ee3e: 4413 add r3, r2 806ee40: 005b lsls r3, r3, #1 806ee42: 1aca subs r2, r1, r3 806ee44: b2d3 uxtb r3, r2 806ee46: 3330 adds r3, #48 ; 0x30 806ee48: b2da uxtb r2, r3 806ee4a: f507 733b add.w r3, r7, #748 ; 0x2ec 806ee4e: 711a strb r2, [r3, #4] str[5] = ':'; 806ee50: f507 733b add.w r3, r7, #748 ; 0x2ec 806ee54: 223a movs r2, #58 ; 0x3a 806ee56: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806ee58: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806ee5c: 4a1a ldr r2, [pc, #104] ; (806eec8 ) 806ee5e: fba2 2303 umull r2, r3, r2, r3 806ee62: 08db lsrs r3, r3, #3 806ee64: b2db uxtb r3, r3 806ee66: 3330 adds r3, #48 ; 0x30 806ee68: b2da uxtb r2, r3 806ee6a: f507 733b add.w r3, r7, #748 ; 0x2ec 806ee6e: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806ee70: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806ee74: 4b14 ldr r3, [pc, #80] ; (806eec8 ) 806ee76: fba3 2301 umull r2, r3, r3, r1 806ee7a: 08da lsrs r2, r3, #3 806ee7c: 4613 mov r3, r2 806ee7e: 009b lsls r3, r3, #2 806ee80: 4413 add r3, r2 806ee82: 005b lsls r3, r3, #1 806ee84: 1aca subs r2, r1, r3 806ee86: b2d3 uxtb r3, r2 806ee88: 3330 adds r3, #48 ; 0x30 806ee8a: b2da uxtb r2, r3 806ee8c: f507 733b add.w r3, r7, #748 ; 0x2ec 806ee90: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 806ee92: f507 723b add.w r2, r7, #748 ; 0x2ec 806ee96: 2301 movs r3, #1 806ee98: 21e4 movs r1, #228 ; 0xe4 806ee9a: 20be movs r0, #190 ; 0xbe 806ee9c: f7e6 fa7c bl 8055398 806eea0: f000 bd7b b.w 806f99a 806eea4: 080d64d0 .word 0x080d64d0 806eea8: 080d64d8 .word 0x080d64d8 806eeac: 080d64c8 .word 0x080d64c8 806eeb0: 080d6220 .word 0x080d6220 806eeb4: 080d64c4 .word 0x080d64c4 806eeb8: 461c4000 .word 0x461c4000 806eebc: 080d64dc .word 0x080d64dc 806eec0: 080d64e4 .word 0x080d64e4 806eec4: 64090000 .word 0x64090000 806eec8: cccccccd .word 0xcccccccd } else if(l == 2) 806eecc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806eed0: 2b02 cmp r3, #2 806eed2: f040 821d bne.w 806f310 { k = CmplxA_u32(0); 806eed6: 4bde ldr r3, [pc, #888] ; (806f250 ) 806eed8: 681b ldr r3, [r3, #0] 806eeda: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806eede: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806eee2: 0e5b lsrs r3, r3, #25 806eee4: 3b14 subs r3, #20 806eee6: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806eeea: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806eeee: 0d5b lsrs r3, r3, #21 806eef0: f003 030f and.w r3, r3, #15 806eef4: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806eef8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806eefc: 0c1b lsrs r3, r3, #16 806eefe: f003 031f and.w r3, r3, #31 806ef02: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806ef06: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ef0a: 0adb lsrs r3, r3, #11 806ef0c: f003 031f and.w r3, r3, #31 806ef10: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806ef14: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ef18: 095b lsrs r3, r3, #5 806ef1a: f003 033f and.w r3, r3, #63 ; 0x3f 806ef1e: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806ef22: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ef26: 005b lsls r3, r3, #1 806ef28: f003 031f and.w r3, r3, #31 806ef2c: 3301 adds r3, #1 806ef2e: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806ef32: f507 733b add.w r3, r7, #748 ; 0x2ec 806ef36: 223c movs r2, #60 ; 0x3c 806ef38: 2100 movs r1, #0 806ef3a: 4618 mov r0, r3 806ef3c: f063 f832 bl 80d1fa4 str[0] = (Day / 10) + 48; 806ef40: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806ef44: 4ac3 ldr r2, [pc, #780] ; (806f254 ) 806ef46: fba2 2303 umull r2, r3, r2, r3 806ef4a: 08db lsrs r3, r3, #3 806ef4c: b2db uxtb r3, r3 806ef4e: 3330 adds r3, #48 ; 0x30 806ef50: b2da uxtb r2, r3 806ef52: f507 733b add.w r3, r7, #748 ; 0x2ec 806ef56: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806ef58: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806ef5c: 4bbd ldr r3, [pc, #756] ; (806f254 ) 806ef5e: fba3 2301 umull r2, r3, r3, r1 806ef62: 08da lsrs r2, r3, #3 806ef64: 4613 mov r3, r2 806ef66: 009b lsls r3, r3, #2 806ef68: 4413 add r3, r2 806ef6a: 005b lsls r3, r3, #1 806ef6c: 1aca subs r2, r1, r3 806ef6e: b2d3 uxtb r3, r2 806ef70: 3330 adds r3, #48 ; 0x30 806ef72: b2da uxtb r2, r3 806ef74: f507 733b add.w r3, r7, #748 ; 0x2ec 806ef78: 705a strb r2, [r3, #1] str[2] = '.'; 806ef7a: f507 733b add.w r3, r7, #748 ; 0x2ec 806ef7e: 222e movs r2, #46 ; 0x2e 806ef80: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806ef82: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806ef86: 4ab3 ldr r2, [pc, #716] ; (806f254 ) 806ef88: fba2 2303 umull r2, r3, r2, r3 806ef8c: 08db lsrs r3, r3, #3 806ef8e: b2db uxtb r3, r3 806ef90: 3330 adds r3, #48 ; 0x30 806ef92: b2da uxtb r2, r3 806ef94: f507 733b add.w r3, r7, #748 ; 0x2ec 806ef98: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806ef9a: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806ef9e: 4bad ldr r3, [pc, #692] ; (806f254 ) 806efa0: fba3 2301 umull r2, r3, r3, r1 806efa4: 08da lsrs r2, r3, #3 806efa6: 4613 mov r3, r2 806efa8: 009b lsls r3, r3, #2 806efaa: 4413 add r3, r2 806efac: 005b lsls r3, r3, #1 806efae: 1aca subs r2, r1, r3 806efb0: b2d3 uxtb r3, r2 806efb2: 3330 adds r3, #48 ; 0x30 806efb4: b2da uxtb r2, r3 806efb6: f507 733b add.w r3, r7, #748 ; 0x2ec 806efba: 711a strb r2, [r3, #4] str[5] = '.'; 806efbc: f507 733b add.w r3, r7, #748 ; 0x2ec 806efc0: 222e movs r2, #46 ; 0x2e 806efc2: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806efc4: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806efc8: 4aa2 ldr r2, [pc, #648] ; (806f254 ) 806efca: fba2 2303 umull r2, r3, r2, r3 806efce: 08db lsrs r3, r3, #3 806efd0: b2db uxtb r3, r3 806efd2: 3330 adds r3, #48 ; 0x30 806efd4: b2da uxtb r2, r3 806efd6: f507 733b add.w r3, r7, #748 ; 0x2ec 806efda: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806efdc: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806efe0: 4b9c ldr r3, [pc, #624] ; (806f254 ) 806efe2: fba3 2301 umull r2, r3, r3, r1 806efe6: 08da lsrs r2, r3, #3 806efe8: 4613 mov r3, r2 806efea: 009b lsls r3, r3, #2 806efec: 4413 add r3, r2 806efee: 005b lsls r3, r3, #1 806eff0: 1aca subs r2, r1, r3 806eff2: b2d3 uxtb r3, r2 806eff4: 3330 adds r3, #48 ; 0x30 806eff6: b2da uxtb r2, r3 806eff8: f507 733b add.w r3, r7, #748 ; 0x2ec 806effc: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 806effe: f507 723b add.w r2, r7, #748 ; 0x2ec 806f002: 2301 movs r3, #1 806f004: 21dc movs r1, #220 ; 0xdc 806f006: 2050 movs r0, #80 ; 0x50 806f008: f7e6 f9c6 bl 8055398 memset(str, 0, sizeof(str)); 806f00c: f507 733b add.w r3, r7, #748 ; 0x2ec 806f010: 223c movs r2, #60 ; 0x3c 806f012: 2100 movs r1, #0 806f014: 4618 mov r0, r3 806f016: f062 ffc5 bl 80d1fa4 str[0] = (Hour / 10) + 48; 806f01a: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806f01e: 4a8d ldr r2, [pc, #564] ; (806f254 ) 806f020: fba2 2303 umull r2, r3, r2, r3 806f024: 08db lsrs r3, r3, #3 806f026: b2db uxtb r3, r3 806f028: 3330 adds r3, #48 ; 0x30 806f02a: b2da uxtb r2, r3 806f02c: f507 733b add.w r3, r7, #748 ; 0x2ec 806f030: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806f032: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806f036: 4b87 ldr r3, [pc, #540] ; (806f254 ) 806f038: fba3 2301 umull r2, r3, r3, r1 806f03c: 08da lsrs r2, r3, #3 806f03e: 4613 mov r3, r2 806f040: 009b lsls r3, r3, #2 806f042: 4413 add r3, r2 806f044: 005b lsls r3, r3, #1 806f046: 1aca subs r2, r1, r3 806f048: b2d3 uxtb r3, r2 806f04a: 3330 adds r3, #48 ; 0x30 806f04c: b2da uxtb r2, r3 806f04e: f507 733b add.w r3, r7, #748 ; 0x2ec 806f052: 705a strb r2, [r3, #1] str[2] = ':'; 806f054: f507 733b add.w r3, r7, #748 ; 0x2ec 806f058: 223a movs r2, #58 ; 0x3a 806f05a: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806f05c: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806f060: 4a7c ldr r2, [pc, #496] ; (806f254 ) 806f062: fba2 2303 umull r2, r3, r2, r3 806f066: 08db lsrs r3, r3, #3 806f068: b2db uxtb r3, r3 806f06a: 3330 adds r3, #48 ; 0x30 806f06c: b2da uxtb r2, r3 806f06e: f507 733b add.w r3, r7, #748 ; 0x2ec 806f072: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806f074: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806f078: 4b76 ldr r3, [pc, #472] ; (806f254 ) 806f07a: fba3 2301 umull r2, r3, r3, r1 806f07e: 08da lsrs r2, r3, #3 806f080: 4613 mov r3, r2 806f082: 009b lsls r3, r3, #2 806f084: 4413 add r3, r2 806f086: 005b lsls r3, r3, #1 806f088: 1aca subs r2, r1, r3 806f08a: b2d3 uxtb r3, r2 806f08c: 3330 adds r3, #48 ; 0x30 806f08e: b2da uxtb r2, r3 806f090: f507 733b add.w r3, r7, #748 ; 0x2ec 806f094: 711a strb r2, [r3, #4] str[5] = ':'; 806f096: f507 733b add.w r3, r7, #748 ; 0x2ec 806f09a: 223a movs r2, #58 ; 0x3a 806f09c: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806f09e: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806f0a2: 4a6c ldr r2, [pc, #432] ; (806f254 ) 806f0a4: fba2 2303 umull r2, r3, r2, r3 806f0a8: 08db lsrs r3, r3, #3 806f0aa: b2db uxtb r3, r3 806f0ac: 3330 adds r3, #48 ; 0x30 806f0ae: b2da uxtb r2, r3 806f0b0: f507 733b add.w r3, r7, #748 ; 0x2ec 806f0b4: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806f0b6: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806f0ba: 4b66 ldr r3, [pc, #408] ; (806f254 ) 806f0bc: fba3 2301 umull r2, r3, r3, r1 806f0c0: 08da lsrs r2, r3, #3 806f0c2: 4613 mov r3, r2 806f0c4: 009b lsls r3, r3, #2 806f0c6: 4413 add r3, r2 806f0c8: 005b lsls r3, r3, #1 806f0ca: 1aca subs r2, r1, r3 806f0cc: b2d3 uxtb r3, r2 806f0ce: 3330 adds r3, #48 ; 0x30 806f0d0: b2da uxtb r2, r3 806f0d2: f507 733b add.w r3, r7, #748 ; 0x2ec 806f0d6: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 806f0d8: f507 723b add.w r2, r7, #748 ; 0x2ec 806f0dc: 2301 movs r3, #1 806f0de: 21e4 movs r1, #228 ; 0xe4 806f0e0: 2050 movs r0, #80 ; 0x50 806f0e2: f7e6 f959 bl 8055398 k = CmplxA_u32(1); 806f0e6: 4b5c ldr r3, [pc, #368] ; (806f258 ) 806f0e8: 681b ldr r3, [r3, #0] 806f0ea: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806f0ee: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f0f2: 0e5b lsrs r3, r3, #25 806f0f4: 3b14 subs r3, #20 806f0f6: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806f0fa: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f0fe: 0d5b lsrs r3, r3, #21 806f100: f003 030f and.w r3, r3, #15 806f104: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806f108: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f10c: 0c1b lsrs r3, r3, #16 806f10e: f003 031f and.w r3, r3, #31 806f112: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806f116: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f11a: 0adb lsrs r3, r3, #11 806f11c: f003 031f and.w r3, r3, #31 806f120: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806f124: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f128: 095b lsrs r3, r3, #5 806f12a: f003 033f and.w r3, r3, #63 ; 0x3f 806f12e: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806f132: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f136: 005b lsls r3, r3, #1 806f138: f003 031f and.w r3, r3, #31 806f13c: 3301 adds r3, #1 806f13e: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806f142: f507 733b add.w r3, r7, #748 ; 0x2ec 806f146: 223c movs r2, #60 ; 0x3c 806f148: 2100 movs r1, #0 806f14a: 4618 mov r0, r3 806f14c: f062 ff2a bl 80d1fa4 str[0] = (Day / 10) + 48; 806f150: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806f154: 4a3f ldr r2, [pc, #252] ; (806f254 ) 806f156: fba2 2303 umull r2, r3, r2, r3 806f15a: 08db lsrs r3, r3, #3 806f15c: b2db uxtb r3, r3 806f15e: 3330 adds r3, #48 ; 0x30 806f160: b2da uxtb r2, r3 806f162: f507 733b add.w r3, r7, #748 ; 0x2ec 806f166: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806f168: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806f16c: 4b39 ldr r3, [pc, #228] ; (806f254 ) 806f16e: fba3 2301 umull r2, r3, r3, r1 806f172: 08da lsrs r2, r3, #3 806f174: 4613 mov r3, r2 806f176: 009b lsls r3, r3, #2 806f178: 4413 add r3, r2 806f17a: 005b lsls r3, r3, #1 806f17c: 1aca subs r2, r1, r3 806f17e: b2d3 uxtb r3, r2 806f180: 3330 adds r3, #48 ; 0x30 806f182: b2da uxtb r2, r3 806f184: f507 733b add.w r3, r7, #748 ; 0x2ec 806f188: 705a strb r2, [r3, #1] str[2] = '.'; 806f18a: f507 733b add.w r3, r7, #748 ; 0x2ec 806f18e: 222e movs r2, #46 ; 0x2e 806f190: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806f192: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806f196: 4a2f ldr r2, [pc, #188] ; (806f254 ) 806f198: fba2 2303 umull r2, r3, r2, r3 806f19c: 08db lsrs r3, r3, #3 806f19e: b2db uxtb r3, r3 806f1a0: 3330 adds r3, #48 ; 0x30 806f1a2: b2da uxtb r2, r3 806f1a4: f507 733b add.w r3, r7, #748 ; 0x2ec 806f1a8: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806f1aa: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806f1ae: 4b29 ldr r3, [pc, #164] ; (806f254 ) 806f1b0: fba3 2301 umull r2, r3, r3, r1 806f1b4: 08da lsrs r2, r3, #3 806f1b6: 4613 mov r3, r2 806f1b8: 009b lsls r3, r3, #2 806f1ba: 4413 add r3, r2 806f1bc: 005b lsls r3, r3, #1 806f1be: 1aca subs r2, r1, r3 806f1c0: b2d3 uxtb r3, r2 806f1c2: 3330 adds r3, #48 ; 0x30 806f1c4: b2da uxtb r2, r3 806f1c6: f507 733b add.w r3, r7, #748 ; 0x2ec 806f1ca: 711a strb r2, [r3, #4] str[5] = '.'; 806f1cc: f507 733b add.w r3, r7, #748 ; 0x2ec 806f1d0: 222e movs r2, #46 ; 0x2e 806f1d2: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806f1d4: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806f1d8: 4a1e ldr r2, [pc, #120] ; (806f254 ) 806f1da: fba2 2303 umull r2, r3, r2, r3 806f1de: 08db lsrs r3, r3, #3 806f1e0: b2db uxtb r3, r3 806f1e2: 3330 adds r3, #48 ; 0x30 806f1e4: b2da uxtb r2, r3 806f1e6: f507 733b add.w r3, r7, #748 ; 0x2ec 806f1ea: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806f1ec: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806f1f0: 4b18 ldr r3, [pc, #96] ; (806f254 ) 806f1f2: fba3 2301 umull r2, r3, r3, r1 806f1f6: 08da lsrs r2, r3, #3 806f1f8: 4613 mov r3, r2 806f1fa: 009b lsls r3, r3, #2 806f1fc: 4413 add r3, r2 806f1fe: 005b lsls r3, r3, #1 806f200: 1aca subs r2, r1, r3 806f202: b2d3 uxtb r3, r2 806f204: 3330 adds r3, #48 ; 0x30 806f206: b2da uxtb r2, r3 806f208: f507 733b add.w r3, r7, #748 ; 0x2ec 806f20c: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 806f20e: f507 723b add.w r2, r7, #748 ; 0x2ec 806f212: 2301 movs r3, #1 806f214: 21dc movs r1, #220 ; 0xdc 806f216: f44f 7095 mov.w r0, #298 ; 0x12a 806f21a: f7e6 f8bd bl 8055398 memset(str, 0, sizeof(str)); 806f21e: f507 733b add.w r3, r7, #748 ; 0x2ec 806f222: 223c movs r2, #60 ; 0x3c 806f224: 2100 movs r1, #0 806f226: 4618 mov r0, r3 806f228: f062 febc bl 80d1fa4 str[0] = (Hour / 10) + 48; 806f22c: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806f230: 4a08 ldr r2, [pc, #32] ; (806f254 ) 806f232: fba2 2303 umull r2, r3, r2, r3 806f236: 08db lsrs r3, r3, #3 806f238: b2db uxtb r3, r3 806f23a: 3330 adds r3, #48 ; 0x30 806f23c: b2da uxtb r2, r3 806f23e: f507 733b add.w r3, r7, #748 ; 0x2ec 806f242: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806f244: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806f248: 4b02 ldr r3, [pc, #8] ; (806f254 ) 806f24a: fba3 2301 umull r2, r3, r3, r1 806f24e: e005 b.n 806f25c 806f250: 64090000 .word 0x64090000 806f254: cccccccd .word 0xcccccccd 806f258: 64090004 .word 0x64090004 806f25c: 08da lsrs r2, r3, #3 806f25e: 4613 mov r3, r2 806f260: 009b lsls r3, r3, #2 806f262: 4413 add r3, r2 806f264: 005b lsls r3, r3, #1 806f266: 1aca subs r2, r1, r3 806f268: b2d3 uxtb r3, r2 806f26a: 3330 adds r3, #48 ; 0x30 806f26c: b2da uxtb r2, r3 806f26e: f507 733b add.w r3, r7, #748 ; 0x2ec 806f272: 705a strb r2, [r3, #1] str[2] = ':'; 806f274: f507 733b add.w r3, r7, #748 ; 0x2ec 806f278: 223a movs r2, #58 ; 0x3a 806f27a: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806f27c: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806f280: 4a22 ldr r2, [pc, #136] ; (806f30c ) 806f282: fba2 2303 umull r2, r3, r2, r3 806f286: 08db lsrs r3, r3, #3 806f288: b2db uxtb r3, r3 806f28a: 3330 adds r3, #48 ; 0x30 806f28c: b2da uxtb r2, r3 806f28e: f507 733b add.w r3, r7, #748 ; 0x2ec 806f292: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806f294: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806f298: 4b1c ldr r3, [pc, #112] ; (806f30c ) 806f29a: fba3 2301 umull r2, r3, r3, r1 806f29e: 08da lsrs r2, r3, #3 806f2a0: 4613 mov r3, r2 806f2a2: 009b lsls r3, r3, #2 806f2a4: 4413 add r3, r2 806f2a6: 005b lsls r3, r3, #1 806f2a8: 1aca subs r2, r1, r3 806f2aa: b2d3 uxtb r3, r2 806f2ac: 3330 adds r3, #48 ; 0x30 806f2ae: b2da uxtb r2, r3 806f2b0: f507 733b add.w r3, r7, #748 ; 0x2ec 806f2b4: 711a strb r2, [r3, #4] str[5] = ':'; 806f2b6: f507 733b add.w r3, r7, #748 ; 0x2ec 806f2ba: 223a movs r2, #58 ; 0x3a 806f2bc: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806f2be: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806f2c2: 4a12 ldr r2, [pc, #72] ; (806f30c ) 806f2c4: fba2 2303 umull r2, r3, r2, r3 806f2c8: 08db lsrs r3, r3, #3 806f2ca: b2db uxtb r3, r3 806f2cc: 3330 adds r3, #48 ; 0x30 806f2ce: b2da uxtb r2, r3 806f2d0: f507 733b add.w r3, r7, #748 ; 0x2ec 806f2d4: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806f2d6: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806f2da: 4b0c ldr r3, [pc, #48] ; (806f30c ) 806f2dc: fba3 2301 umull r2, r3, r3, r1 806f2e0: 08da lsrs r2, r3, #3 806f2e2: 4613 mov r3, r2 806f2e4: 009b lsls r3, r3, #2 806f2e6: 4413 add r3, r2 806f2e8: 005b lsls r3, r3, #1 806f2ea: 1aca subs r2, r1, r3 806f2ec: b2d3 uxtb r3, r2 806f2ee: 3330 adds r3, #48 ; 0x30 806f2f0: b2da uxtb r2, r3 806f2f2: f507 733b add.w r3, r7, #748 ; 0x2ec 806f2f6: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 806f2f8: f507 723b add.w r2, r7, #748 ; 0x2ec 806f2fc: 2301 movs r3, #1 806f2fe: 21e4 movs r1, #228 ; 0xe4 806f300: f44f 7095 mov.w r0, #298 ; 0x12a 806f304: f7e6 f848 bl 8055398 806f308: e347 b.n 806f99a 806f30a: bf00 nop 806f30c: cccccccd .word 0xcccccccd } else { k = CmplxA_u32(0); 806f310: 4be0 ldr r3, [pc, #896] ; (806f694 ) 806f312: 681b ldr r3, [r3, #0] 806f314: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806f318: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f31c: 0e5b lsrs r3, r3, #25 806f31e: 3b14 subs r3, #20 806f320: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806f324: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f328: 0d5b lsrs r3, r3, #21 806f32a: f003 030f and.w r3, r3, #15 806f32e: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806f332: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f336: 0c1b lsrs r3, r3, #16 806f338: f003 031f and.w r3, r3, #31 806f33c: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806f340: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f344: 0adb lsrs r3, r3, #11 806f346: f003 031f and.w r3, r3, #31 806f34a: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806f34e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f352: 095b lsrs r3, r3, #5 806f354: f003 033f and.w r3, r3, #63 ; 0x3f 806f358: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806f35c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f360: 005b lsls r3, r3, #1 806f362: f003 031f and.w r3, r3, #31 806f366: 3301 adds r3, #1 806f368: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806f36c: f507 733b add.w r3, r7, #748 ; 0x2ec 806f370: 223c movs r2, #60 ; 0x3c 806f372: 2100 movs r1, #0 806f374: 4618 mov r0, r3 806f376: f062 fe15 bl 80d1fa4 str[0] = (Day / 10) + 48; 806f37a: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806f37e: 4ac6 ldr r2, [pc, #792] ; (806f698 ) 806f380: fba2 2303 umull r2, r3, r2, r3 806f384: 08db lsrs r3, r3, #3 806f386: b2db uxtb r3, r3 806f388: 3330 adds r3, #48 ; 0x30 806f38a: b2da uxtb r2, r3 806f38c: f507 733b add.w r3, r7, #748 ; 0x2ec 806f390: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806f392: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806f396: 4bc0 ldr r3, [pc, #768] ; (806f698 ) 806f398: fba3 2301 umull r2, r3, r3, r1 806f39c: 08da lsrs r2, r3, #3 806f39e: 4613 mov r3, r2 806f3a0: 009b lsls r3, r3, #2 806f3a2: 4413 add r3, r2 806f3a4: 005b lsls r3, r3, #1 806f3a6: 1aca subs r2, r1, r3 806f3a8: b2d3 uxtb r3, r2 806f3aa: 3330 adds r3, #48 ; 0x30 806f3ac: b2da uxtb r2, r3 806f3ae: f507 733b add.w r3, r7, #748 ; 0x2ec 806f3b2: 705a strb r2, [r3, #1] str[2] = '.'; 806f3b4: f507 733b add.w r3, r7, #748 ; 0x2ec 806f3b8: 222e movs r2, #46 ; 0x2e 806f3ba: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806f3bc: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806f3c0: 4ab5 ldr r2, [pc, #724] ; (806f698 ) 806f3c2: fba2 2303 umull r2, r3, r2, r3 806f3c6: 08db lsrs r3, r3, #3 806f3c8: b2db uxtb r3, r3 806f3ca: 3330 adds r3, #48 ; 0x30 806f3cc: b2da uxtb r2, r3 806f3ce: f507 733b add.w r3, r7, #748 ; 0x2ec 806f3d2: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806f3d4: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806f3d8: 4baf ldr r3, [pc, #700] ; (806f698 ) 806f3da: fba3 2301 umull r2, r3, r3, r1 806f3de: 08da lsrs r2, r3, #3 806f3e0: 4613 mov r3, r2 806f3e2: 009b lsls r3, r3, #2 806f3e4: 4413 add r3, r2 806f3e6: 005b lsls r3, r3, #1 806f3e8: 1aca subs r2, r1, r3 806f3ea: b2d3 uxtb r3, r2 806f3ec: 3330 adds r3, #48 ; 0x30 806f3ee: b2da uxtb r2, r3 806f3f0: f507 733b add.w r3, r7, #748 ; 0x2ec 806f3f4: 711a strb r2, [r3, #4] str[5] = '.'; 806f3f6: f507 733b add.w r3, r7, #748 ; 0x2ec 806f3fa: 222e movs r2, #46 ; 0x2e 806f3fc: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806f3fe: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806f402: 4aa5 ldr r2, [pc, #660] ; (806f698 ) 806f404: fba2 2303 umull r2, r3, r2, r3 806f408: 08db lsrs r3, r3, #3 806f40a: b2db uxtb r3, r3 806f40c: 3330 adds r3, #48 ; 0x30 806f40e: b2da uxtb r2, r3 806f410: f507 733b add.w r3, r7, #748 ; 0x2ec 806f414: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806f416: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806f41a: 4b9f ldr r3, [pc, #636] ; (806f698 ) 806f41c: fba3 2301 umull r2, r3, r3, r1 806f420: 08da lsrs r2, r3, #3 806f422: 4613 mov r3, r2 806f424: 009b lsls r3, r3, #2 806f426: 4413 add r3, r2 806f428: 005b lsls r3, r3, #1 806f42a: 1aca subs r2, r1, r3 806f42c: b2d3 uxtb r3, r2 806f42e: 3330 adds r3, #48 ; 0x30 806f430: b2da uxtb r2, r3 806f432: f507 733b add.w r3, r7, #748 ; 0x2ec 806f436: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 806f438: f507 723b add.w r2, r7, #748 ; 0x2ec 806f43c: 2301 movs r3, #1 806f43e: 21dc movs r1, #220 ; 0xdc 806f440: 2050 movs r0, #80 ; 0x50 806f442: f7e5 ffa9 bl 8055398 memset(str, 0, sizeof(str)); 806f446: f507 733b add.w r3, r7, #748 ; 0x2ec 806f44a: 223c movs r2, #60 ; 0x3c 806f44c: 2100 movs r1, #0 806f44e: 4618 mov r0, r3 806f450: f062 fda8 bl 80d1fa4 str[0] = (Hour / 10) + 48; 806f454: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806f458: 4a8f ldr r2, [pc, #572] ; (806f698 ) 806f45a: fba2 2303 umull r2, r3, r2, r3 806f45e: 08db lsrs r3, r3, #3 806f460: b2db uxtb r3, r3 806f462: 3330 adds r3, #48 ; 0x30 806f464: b2da uxtb r2, r3 806f466: f507 733b add.w r3, r7, #748 ; 0x2ec 806f46a: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806f46c: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806f470: 4b89 ldr r3, [pc, #548] ; (806f698 ) 806f472: fba3 2301 umull r2, r3, r3, r1 806f476: 08da lsrs r2, r3, #3 806f478: 4613 mov r3, r2 806f47a: 009b lsls r3, r3, #2 806f47c: 4413 add r3, r2 806f47e: 005b lsls r3, r3, #1 806f480: 1aca subs r2, r1, r3 806f482: b2d3 uxtb r3, r2 806f484: 3330 adds r3, #48 ; 0x30 806f486: b2da uxtb r2, r3 806f488: f507 733b add.w r3, r7, #748 ; 0x2ec 806f48c: 705a strb r2, [r3, #1] str[2] = ':'; 806f48e: f507 733b add.w r3, r7, #748 ; 0x2ec 806f492: 223a movs r2, #58 ; 0x3a 806f494: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806f496: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806f49a: 4a7f ldr r2, [pc, #508] ; (806f698 ) 806f49c: fba2 2303 umull r2, r3, r2, r3 806f4a0: 08db lsrs r3, r3, #3 806f4a2: b2db uxtb r3, r3 806f4a4: 3330 adds r3, #48 ; 0x30 806f4a6: b2da uxtb r2, r3 806f4a8: f507 733b add.w r3, r7, #748 ; 0x2ec 806f4ac: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806f4ae: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806f4b2: 4b79 ldr r3, [pc, #484] ; (806f698 ) 806f4b4: fba3 2301 umull r2, r3, r3, r1 806f4b8: 08da lsrs r2, r3, #3 806f4ba: 4613 mov r3, r2 806f4bc: 009b lsls r3, r3, #2 806f4be: 4413 add r3, r2 806f4c0: 005b lsls r3, r3, #1 806f4c2: 1aca subs r2, r1, r3 806f4c4: b2d3 uxtb r3, r2 806f4c6: 3330 adds r3, #48 ; 0x30 806f4c8: b2da uxtb r2, r3 806f4ca: f507 733b add.w r3, r7, #748 ; 0x2ec 806f4ce: 711a strb r2, [r3, #4] str[5] = ':'; 806f4d0: f507 733b add.w r3, r7, #748 ; 0x2ec 806f4d4: 223a movs r2, #58 ; 0x3a 806f4d6: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806f4d8: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806f4dc: 4a6e ldr r2, [pc, #440] ; (806f698 ) 806f4de: fba2 2303 umull r2, r3, r2, r3 806f4e2: 08db lsrs r3, r3, #3 806f4e4: b2db uxtb r3, r3 806f4e6: 3330 adds r3, #48 ; 0x30 806f4e8: b2da uxtb r2, r3 806f4ea: f507 733b add.w r3, r7, #748 ; 0x2ec 806f4ee: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806f4f0: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806f4f4: 4b68 ldr r3, [pc, #416] ; (806f698 ) 806f4f6: fba3 2301 umull r2, r3, r3, r1 806f4fa: 08da lsrs r2, r3, #3 806f4fc: 4613 mov r3, r2 806f4fe: 009b lsls r3, r3, #2 806f500: 4413 add r3, r2 806f502: 005b lsls r3, r3, #1 806f504: 1aca subs r2, r1, r3 806f506: b2d3 uxtb r3, r2 806f508: 3330 adds r3, #48 ; 0x30 806f50a: b2da uxtb r2, r3 806f50c: f507 733b add.w r3, r7, #748 ; 0x2ec 806f510: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 806f512: f507 723b add.w r2, r7, #748 ; 0x2ec 806f516: 2301 movs r3, #1 806f518: 21e4 movs r1, #228 ; 0xe4 806f51a: 2050 movs r0, #80 ; 0x50 806f51c: f7e5 ff3c bl 8055398 f = (float32_t) l / 2; 806f520: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806f524: ee07 3a90 vmov s15, r3 806f528: eeb8 7a67 vcvt.f32.u32 s14, s15 806f52c: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 806f530: eec7 7a26 vdiv.f32 s15, s14, s13 806f534: f507 638b add.w r3, r7, #1112 ; 0x458 806f538: edc3 7a00 vstr s15, [r3] i = (uint32_t) (f + 0.5f); 806f53c: f507 638b add.w r3, r7, #1112 ; 0x458 806f540: edd3 7a00 vldr s15, [r3] 806f544: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f548: ee77 7a87 vadd.f32 s15, s15, s14 806f54c: eefc 7ae7 vcvt.u32.f32 s15, s15 806f550: ee17 3a90 vmov r3, s15 806f554: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 k = CmplxA_u32(i); 806f558: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806f55c: 009a lsls r2, r3, #2 806f55e: 4b4d ldr r3, [pc, #308] ; (806f694 ) 806f560: 4413 add r3, r2 806f562: 681b ldr r3, [r3, #0] 806f564: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806f568: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f56c: 0e5b lsrs r3, r3, #25 806f56e: 3b14 subs r3, #20 806f570: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806f574: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f578: 0d5b lsrs r3, r3, #21 806f57a: f003 030f and.w r3, r3, #15 806f57e: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806f582: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f586: 0c1b lsrs r3, r3, #16 806f588: f003 031f and.w r3, r3, #31 806f58c: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806f590: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f594: 0adb lsrs r3, r3, #11 806f596: f003 031f and.w r3, r3, #31 806f59a: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806f59e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f5a2: 095b lsrs r3, r3, #5 806f5a4: f003 033f and.w r3, r3, #63 ; 0x3f 806f5a8: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806f5ac: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f5b0: 005b lsls r3, r3, #1 806f5b2: f003 031f and.w r3, r3, #31 806f5b6: 3301 adds r3, #1 806f5b8: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806f5bc: f507 733b add.w r3, r7, #748 ; 0x2ec 806f5c0: 223c movs r2, #60 ; 0x3c 806f5c2: 2100 movs r1, #0 806f5c4: 4618 mov r0, r3 806f5c6: f062 fced bl 80d1fa4 str[0] = (Day / 10) + 48; 806f5ca: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806f5ce: 4a32 ldr r2, [pc, #200] ; (806f698 ) 806f5d0: fba2 2303 umull r2, r3, r2, r3 806f5d4: 08db lsrs r3, r3, #3 806f5d6: b2db uxtb r3, r3 806f5d8: 3330 adds r3, #48 ; 0x30 806f5da: b2da uxtb r2, r3 806f5dc: f507 733b add.w r3, r7, #748 ; 0x2ec 806f5e0: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806f5e2: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806f5e6: 4b2c ldr r3, [pc, #176] ; (806f698 ) 806f5e8: fba3 2301 umull r2, r3, r3, r1 806f5ec: 08da lsrs r2, r3, #3 806f5ee: 4613 mov r3, r2 806f5f0: 009b lsls r3, r3, #2 806f5f2: 4413 add r3, r2 806f5f4: 005b lsls r3, r3, #1 806f5f6: 1aca subs r2, r1, r3 806f5f8: b2d3 uxtb r3, r2 806f5fa: 3330 adds r3, #48 ; 0x30 806f5fc: b2da uxtb r2, r3 806f5fe: f507 733b add.w r3, r7, #748 ; 0x2ec 806f602: 705a strb r2, [r3, #1] str[2] = '.'; 806f604: f507 733b add.w r3, r7, #748 ; 0x2ec 806f608: 222e movs r2, #46 ; 0x2e 806f60a: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806f60c: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806f610: 4a21 ldr r2, [pc, #132] ; (806f698 ) 806f612: fba2 2303 umull r2, r3, r2, r3 806f616: 08db lsrs r3, r3, #3 806f618: b2db uxtb r3, r3 806f61a: 3330 adds r3, #48 ; 0x30 806f61c: b2da uxtb r2, r3 806f61e: f507 733b add.w r3, r7, #748 ; 0x2ec 806f622: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806f624: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806f628: 4b1b ldr r3, [pc, #108] ; (806f698 ) 806f62a: fba3 2301 umull r2, r3, r3, r1 806f62e: 08da lsrs r2, r3, #3 806f630: 4613 mov r3, r2 806f632: 009b lsls r3, r3, #2 806f634: 4413 add r3, r2 806f636: 005b lsls r3, r3, #1 806f638: 1aca subs r2, r1, r3 806f63a: b2d3 uxtb r3, r2 806f63c: 3330 adds r3, #48 ; 0x30 806f63e: b2da uxtb r2, r3 806f640: f507 733b add.w r3, r7, #748 ; 0x2ec 806f644: 711a strb r2, [r3, #4] str[5] = '.'; 806f646: f507 733b add.w r3, r7, #748 ; 0x2ec 806f64a: 222e movs r2, #46 ; 0x2e 806f64c: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806f64e: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806f652: 4a11 ldr r2, [pc, #68] ; (806f698 ) 806f654: fba2 2303 umull r2, r3, r2, r3 806f658: 08db lsrs r3, r3, #3 806f65a: b2db uxtb r3, r3 806f65c: 3330 adds r3, #48 ; 0x30 806f65e: b2da uxtb r2, r3 806f660: f507 733b add.w r3, r7, #748 ; 0x2ec 806f664: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806f666: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806f66a: 4b0b ldr r3, [pc, #44] ; (806f698 ) 806f66c: fba3 2301 umull r2, r3, r3, r1 806f670: 08da lsrs r2, r3, #3 806f672: 4613 mov r3, r2 806f674: 009b lsls r3, r3, #2 806f676: 4413 add r3, r2 806f678: 005b lsls r3, r3, #1 806f67a: 1aca subs r2, r1, r3 806f67c: b2d3 uxtb r3, r2 806f67e: 3330 adds r3, #48 ; 0x30 806f680: b2da uxtb r2, r3 806f682: f507 733b add.w r3, r7, #748 ; 0x2ec 806f686: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 806f688: f507 723b add.w r2, r7, #748 ; 0x2ec 806f68c: 2301 movs r3, #1 806f68e: 21dc movs r1, #220 ; 0xdc 806f690: e004 b.n 806f69c 806f692: bf00 nop 806f694: 64090000 .word 0x64090000 806f698: cccccccd .word 0xcccccccd 806f69c: 20be movs r0, #190 ; 0xbe 806f69e: f7e5 fe7b bl 8055398 memset(str, 0, sizeof(str)); 806f6a2: f507 733b add.w r3, r7, #748 ; 0x2ec 806f6a6: 223c movs r2, #60 ; 0x3c 806f6a8: 2100 movs r1, #0 806f6aa: 4618 mov r0, r3 806f6ac: f062 fc7a bl 80d1fa4 str[0] = (Hour / 10) + 48; 806f6b0: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806f6b4: 4abd ldr r2, [pc, #756] ; (806f9ac ) 806f6b6: fba2 2303 umull r2, r3, r2, r3 806f6ba: 08db lsrs r3, r3, #3 806f6bc: b2db uxtb r3, r3 806f6be: 3330 adds r3, #48 ; 0x30 806f6c0: b2da uxtb r2, r3 806f6c2: f507 733b add.w r3, r7, #748 ; 0x2ec 806f6c6: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806f6c8: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806f6cc: 4bb7 ldr r3, [pc, #732] ; (806f9ac ) 806f6ce: fba3 2301 umull r2, r3, r3, r1 806f6d2: 08da lsrs r2, r3, #3 806f6d4: 4613 mov r3, r2 806f6d6: 009b lsls r3, r3, #2 806f6d8: 4413 add r3, r2 806f6da: 005b lsls r3, r3, #1 806f6dc: 1aca subs r2, r1, r3 806f6de: b2d3 uxtb r3, r2 806f6e0: 3330 adds r3, #48 ; 0x30 806f6e2: b2da uxtb r2, r3 806f6e4: f507 733b add.w r3, r7, #748 ; 0x2ec 806f6e8: 705a strb r2, [r3, #1] str[2] = ':'; 806f6ea: f507 733b add.w r3, r7, #748 ; 0x2ec 806f6ee: 223a movs r2, #58 ; 0x3a 806f6f0: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806f6f2: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806f6f6: 4aad ldr r2, [pc, #692] ; (806f9ac ) 806f6f8: fba2 2303 umull r2, r3, r2, r3 806f6fc: 08db lsrs r3, r3, #3 806f6fe: b2db uxtb r3, r3 806f700: 3330 adds r3, #48 ; 0x30 806f702: b2da uxtb r2, r3 806f704: f507 733b add.w r3, r7, #748 ; 0x2ec 806f708: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806f70a: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806f70e: 4ba7 ldr r3, [pc, #668] ; (806f9ac ) 806f710: fba3 2301 umull r2, r3, r3, r1 806f714: 08da lsrs r2, r3, #3 806f716: 4613 mov r3, r2 806f718: 009b lsls r3, r3, #2 806f71a: 4413 add r3, r2 806f71c: 005b lsls r3, r3, #1 806f71e: 1aca subs r2, r1, r3 806f720: b2d3 uxtb r3, r2 806f722: 3330 adds r3, #48 ; 0x30 806f724: b2da uxtb r2, r3 806f726: f507 733b add.w r3, r7, #748 ; 0x2ec 806f72a: 711a strb r2, [r3, #4] str[5] = ':'; 806f72c: f507 733b add.w r3, r7, #748 ; 0x2ec 806f730: 223a movs r2, #58 ; 0x3a 806f732: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806f734: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806f738: 4a9c ldr r2, [pc, #624] ; (806f9ac ) 806f73a: fba2 2303 umull r2, r3, r2, r3 806f73e: 08db lsrs r3, r3, #3 806f740: b2db uxtb r3, r3 806f742: 3330 adds r3, #48 ; 0x30 806f744: b2da uxtb r2, r3 806f746: f507 733b add.w r3, r7, #748 ; 0x2ec 806f74a: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806f74c: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806f750: 4b96 ldr r3, [pc, #600] ; (806f9ac ) 806f752: fba3 2301 umull r2, r3, r3, r1 806f756: 08da lsrs r2, r3, #3 806f758: 4613 mov r3, r2 806f75a: 009b lsls r3, r3, #2 806f75c: 4413 add r3, r2 806f75e: 005b lsls r3, r3, #1 806f760: 1aca subs r2, r1, r3 806f762: b2d3 uxtb r3, r2 806f764: 3330 adds r3, #48 ; 0x30 806f766: b2da uxtb r2, r3 806f768: f507 733b add.w r3, r7, #748 ; 0x2ec 806f76c: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 806f76e: f507 723b add.w r2, r7, #748 ; 0x2ec 806f772: 2301 movs r3, #1 806f774: 21e4 movs r1, #228 ; 0xe4 806f776: 20be movs r0, #190 ; 0xbe 806f778: f7e5 fe0e bl 8055398 k = CmplxA_u32(l - 1); 806f77c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806f780: 3b01 subs r3, #1 806f782: 009a lsls r2, r3, #2 806f784: 4b8a ldr r3, [pc, #552] ; (806f9b0 ) 806f786: 4413 add r3, r2 806f788: 681b ldr r3, [r3, #0] 806f78a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806f78e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f792: 0e5b lsrs r3, r3, #25 806f794: 3b14 subs r3, #20 806f796: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806f79a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f79e: 0d5b lsrs r3, r3, #21 806f7a0: f003 030f and.w r3, r3, #15 806f7a4: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806f7a8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f7ac: 0c1b lsrs r3, r3, #16 806f7ae: f003 031f and.w r3, r3, #31 806f7b2: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806f7b6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f7ba: 0adb lsrs r3, r3, #11 806f7bc: f003 031f and.w r3, r3, #31 806f7c0: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806f7c4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f7c8: 095b lsrs r3, r3, #5 806f7ca: f003 033f and.w r3, r3, #63 ; 0x3f 806f7ce: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806f7d2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f7d6: 005b lsls r3, r3, #1 806f7d8: f003 031f and.w r3, r3, #31 806f7dc: 3301 adds r3, #1 806f7de: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806f7e2: f507 733b add.w r3, r7, #748 ; 0x2ec 806f7e6: 223c movs r2, #60 ; 0x3c 806f7e8: 2100 movs r1, #0 806f7ea: 4618 mov r0, r3 806f7ec: f062 fbda bl 80d1fa4 str[0] = (Day / 10) + 48; 806f7f0: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806f7f4: 4a6d ldr r2, [pc, #436] ; (806f9ac ) 806f7f6: fba2 2303 umull r2, r3, r2, r3 806f7fa: 08db lsrs r3, r3, #3 806f7fc: b2db uxtb r3, r3 806f7fe: 3330 adds r3, #48 ; 0x30 806f800: b2da uxtb r2, r3 806f802: f507 733b add.w r3, r7, #748 ; 0x2ec 806f806: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806f808: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806f80c: 4b67 ldr r3, [pc, #412] ; (806f9ac ) 806f80e: fba3 2301 umull r2, r3, r3, r1 806f812: 08da lsrs r2, r3, #3 806f814: 4613 mov r3, r2 806f816: 009b lsls r3, r3, #2 806f818: 4413 add r3, r2 806f81a: 005b lsls r3, r3, #1 806f81c: 1aca subs r2, r1, r3 806f81e: b2d3 uxtb r3, r2 806f820: 3330 adds r3, #48 ; 0x30 806f822: b2da uxtb r2, r3 806f824: f507 733b add.w r3, r7, #748 ; 0x2ec 806f828: 705a strb r2, [r3, #1] str[2] = '.'; 806f82a: f507 733b add.w r3, r7, #748 ; 0x2ec 806f82e: 222e movs r2, #46 ; 0x2e 806f830: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806f832: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806f836: 4a5d ldr r2, [pc, #372] ; (806f9ac ) 806f838: fba2 2303 umull r2, r3, r2, r3 806f83c: 08db lsrs r3, r3, #3 806f83e: b2db uxtb r3, r3 806f840: 3330 adds r3, #48 ; 0x30 806f842: b2da uxtb r2, r3 806f844: f507 733b add.w r3, r7, #748 ; 0x2ec 806f848: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806f84a: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806f84e: 4b57 ldr r3, [pc, #348] ; (806f9ac ) 806f850: fba3 2301 umull r2, r3, r3, r1 806f854: 08da lsrs r2, r3, #3 806f856: 4613 mov r3, r2 806f858: 009b lsls r3, r3, #2 806f85a: 4413 add r3, r2 806f85c: 005b lsls r3, r3, #1 806f85e: 1aca subs r2, r1, r3 806f860: b2d3 uxtb r3, r2 806f862: 3330 adds r3, #48 ; 0x30 806f864: b2da uxtb r2, r3 806f866: f507 733b add.w r3, r7, #748 ; 0x2ec 806f86a: 711a strb r2, [r3, #4] str[5] = '.'; 806f86c: f507 733b add.w r3, r7, #748 ; 0x2ec 806f870: 222e movs r2, #46 ; 0x2e 806f872: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806f874: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806f878: 4a4c ldr r2, [pc, #304] ; (806f9ac ) 806f87a: fba2 2303 umull r2, r3, r2, r3 806f87e: 08db lsrs r3, r3, #3 806f880: b2db uxtb r3, r3 806f882: 3330 adds r3, #48 ; 0x30 806f884: b2da uxtb r2, r3 806f886: f507 733b add.w r3, r7, #748 ; 0x2ec 806f88a: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806f88c: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806f890: 4b46 ldr r3, [pc, #280] ; (806f9ac ) 806f892: fba3 2301 umull r2, r3, r3, r1 806f896: 08da lsrs r2, r3, #3 806f898: 4613 mov r3, r2 806f89a: 009b lsls r3, r3, #2 806f89c: 4413 add r3, r2 806f89e: 005b lsls r3, r3, #1 806f8a0: 1aca subs r2, r1, r3 806f8a2: b2d3 uxtb r3, r2 806f8a4: 3330 adds r3, #48 ; 0x30 806f8a6: b2da uxtb r2, r3 806f8a8: f507 733b add.w r3, r7, #748 ; 0x2ec 806f8ac: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 806f8ae: f507 723b add.w r2, r7, #748 ; 0x2ec 806f8b2: 2301 movs r3, #1 806f8b4: 21dc movs r1, #220 ; 0xdc 806f8b6: f44f 7095 mov.w r0, #298 ; 0x12a 806f8ba: f7e5 fd6d bl 8055398 memset(str, 0, sizeof(str)); 806f8be: f507 733b add.w r3, r7, #748 ; 0x2ec 806f8c2: 223c movs r2, #60 ; 0x3c 806f8c4: 2100 movs r1, #0 806f8c6: 4618 mov r0, r3 806f8c8: f062 fb6c bl 80d1fa4 str[0] = (Hour / 10) + 48; 806f8cc: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806f8d0: 4a36 ldr r2, [pc, #216] ; (806f9ac ) 806f8d2: fba2 2303 umull r2, r3, r2, r3 806f8d6: 08db lsrs r3, r3, #3 806f8d8: b2db uxtb r3, r3 806f8da: 3330 adds r3, #48 ; 0x30 806f8dc: b2da uxtb r2, r3 806f8de: f507 733b add.w r3, r7, #748 ; 0x2ec 806f8e2: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806f8e4: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806f8e8: 4b30 ldr r3, [pc, #192] ; (806f9ac ) 806f8ea: fba3 2301 umull r2, r3, r3, r1 806f8ee: 08da lsrs r2, r3, #3 806f8f0: 4613 mov r3, r2 806f8f2: 009b lsls r3, r3, #2 806f8f4: 4413 add r3, r2 806f8f6: 005b lsls r3, r3, #1 806f8f8: 1aca subs r2, r1, r3 806f8fa: b2d3 uxtb r3, r2 806f8fc: 3330 adds r3, #48 ; 0x30 806f8fe: b2da uxtb r2, r3 806f900: f507 733b add.w r3, r7, #748 ; 0x2ec 806f904: 705a strb r2, [r3, #1] str[2] = ':'; 806f906: f507 733b add.w r3, r7, #748 ; 0x2ec 806f90a: 223a movs r2, #58 ; 0x3a 806f90c: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806f90e: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806f912: 4a26 ldr r2, [pc, #152] ; (806f9ac ) 806f914: fba2 2303 umull r2, r3, r2, r3 806f918: 08db lsrs r3, r3, #3 806f91a: b2db uxtb r3, r3 806f91c: 3330 adds r3, #48 ; 0x30 806f91e: b2da uxtb r2, r3 806f920: f507 733b add.w r3, r7, #748 ; 0x2ec 806f924: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806f926: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806f92a: 4b20 ldr r3, [pc, #128] ; (806f9ac ) 806f92c: fba3 2301 umull r2, r3, r3, r1 806f930: 08da lsrs r2, r3, #3 806f932: 4613 mov r3, r2 806f934: 009b lsls r3, r3, #2 806f936: 4413 add r3, r2 806f938: 005b lsls r3, r3, #1 806f93a: 1aca subs r2, r1, r3 806f93c: b2d3 uxtb r3, r2 806f93e: 3330 adds r3, #48 ; 0x30 806f940: b2da uxtb r2, r3 806f942: f507 733b add.w r3, r7, #748 ; 0x2ec 806f946: 711a strb r2, [r3, #4] str[5] = ':'; 806f948: f507 733b add.w r3, r7, #748 ; 0x2ec 806f94c: 223a movs r2, #58 ; 0x3a 806f94e: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806f950: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806f954: 4a15 ldr r2, [pc, #84] ; (806f9ac ) 806f956: fba2 2303 umull r2, r3, r2, r3 806f95a: 08db lsrs r3, r3, #3 806f95c: b2db uxtb r3, r3 806f95e: 3330 adds r3, #48 ; 0x30 806f960: b2da uxtb r2, r3 806f962: f507 733b add.w r3, r7, #748 ; 0x2ec 806f966: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806f968: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806f96c: 4b0f ldr r3, [pc, #60] ; (806f9ac ) 806f96e: fba3 2301 umull r2, r3, r3, r1 806f972: 08da lsrs r2, r3, #3 806f974: 4613 mov r3, r2 806f976: 009b lsls r3, r3, #2 806f978: 4413 add r3, r2 806f97a: 005b lsls r3, r3, #1 806f97c: 1aca subs r2, r1, r3 806f97e: b2d3 uxtb r3, r2 806f980: 3330 adds r3, #48 ; 0x30 806f982: b2da uxtb r2, r3 806f984: f507 733b add.w r3, r7, #748 ; 0x2ec 806f988: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 806f98a: f507 723b add.w r2, r7, #748 ; 0x2ec 806f98e: 2301 movs r3, #1 806f990: 21e4 movs r1, #228 ; 0xe4 806f992: f44f 7095 mov.w r0, #298 ; 0x12a 806f996: f7e5 fcff bl 8055398 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806f99a: 4906 ldr r1, [pc, #24] ; (806f9b4 ) 806f99c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806f9a0: f7e5 fc34 bl 805520c for(i = 0; i < l; i++) 806f9a4: 2300 movs r3, #0 806f9a6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806f9aa: e3f0 b.n 807018e 806f9ac: cccccccd .word 0xcccccccd 806f9b0: 64090000 .word 0x64090000 806f9b4: ff0a0f1f .word 0xff0a0f1f { f = ScrA_f32(i); 806f9b8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806f9bc: 009a lsls r2, r3, #2 806f9be: 4bd8 ldr r3, [pc, #864] ; (806fd20 ) 806f9c0: 4413 add r3, r2 806f9c2: 681b ldr r3, [r3, #0] 806f9c4: f507 628b add.w r2, r7, #1112 ; 0x458 806f9c8: 6013 str r3, [r2, #0] if(fmax <= 15.0f) ///////// 806f9ca: f207 434c addw r3, r7, #1100 ; 0x44c 806f9ce: edd3 7a00 vldr s15, [r3] 806f9d2: eeb2 7a0e vmov.f32 s14, #46 ; 0x41700000 15.0 806f9d6: eef4 7ac7 vcmpe.f32 s15, s14 806f9da: eef1 fa10 vmrs APSR_nzcv, fpscr 806f9de: f200 80c9 bhi.w 806fb74 { if(f < 0.0f) 806f9e2: f507 638b add.w r3, r7, #1112 ; 0x458 806f9e6: edd3 7a00 vldr s15, [r3] 806f9ea: eef5 7ac0 vcmpe.f32 s15, #0.0 806f9ee: eef1 fa10 vmrs APSR_nzcv, fpscr 806f9f2: d521 bpl.n 806fa38 { f = (25 * f / 5.0f) + 0.5f; 806f9f4: f507 638b add.w r3, r7, #1112 ; 0x458 806f9f8: edd3 7a00 vldr s15, [r3] 806f9fc: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806fa00: ee27 7a87 vmul.f32 s14, s15, s14 806fa04: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806fa08: eec7 7a26 vdiv.f32 s15, s14, s13 806fa0c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806fa10: ee77 7a87 vadd.f32 s15, s15, s14 806fa14: f507 638b add.w r3, r7, #1112 ; 0x458 806fa18: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806fa1c: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fa20: f507 628b add.w r2, r7, #1112 ; 0x458 806fa24: edd2 7a00 vldr s15, [r2] 806fa28: eefd 7ae7 vcvt.s32.f32 s15, s15 806fa2c: ee17 2a90 vmov r2, s15 806fa30: 1a9b subs r3, r3, r2 806fa32: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806fa36: e331 b.n 807009c } else if(f == 0.0f) 806fa38: f507 638b add.w r3, r7, #1112 ; 0x458 806fa3c: edd3 7a00 vldr s15, [r3] 806fa40: eef5 7a40 vcmp.f32 s15, #0.0 806fa44: eef1 fa10 vmrs APSR_nzcv, fpscr 806fa48: d104 bne.n 806fa54 { y = y2; 806fa4a: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fa4e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806fa52: e323 b.n 807009c } else if(f <= 5.0f) 806fa54: f507 638b add.w r3, r7, #1112 ; 0x458 806fa58: edd3 7a00 vldr s15, [r3] 806fa5c: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 806fa60: eef4 7ac7 vcmpe.f32 s15, s14 806fa64: eef1 fa10 vmrs APSR_nzcv, fpscr 806fa68: d821 bhi.n 806faae { f = (25 * f / 5.0f) + 0.5f; 806fa6a: f507 638b add.w r3, r7, #1112 ; 0x458 806fa6e: edd3 7a00 vldr s15, [r3] 806fa72: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806fa76: ee27 7a87 vmul.f32 s14, s15, s14 806fa7a: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806fa7e: eec7 7a26 vdiv.f32 s15, s14, s13 806fa82: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806fa86: ee77 7a87 vadd.f32 s15, s15, s14 806fa8a: f507 638b add.w r3, r7, #1112 ; 0x458 806fa8e: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806fa92: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fa96: f507 628b add.w r2, r7, #1112 ; 0x458 806fa9a: edd2 7a00 vldr s15, [r2] 806fa9e: eefd 7ae7 vcvt.s32.f32 s15, s15 806faa2: ee17 2a90 vmov r2, s15 806faa6: 1a9b subs r3, r3, r2 806faa8: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806faac: e2f6 b.n 807009c } else if(f <= 10.0f) 806faae: f507 638b add.w r3, r7, #1112 ; 0x458 806fab2: edd3 7a00 vldr s15, [r3] 806fab6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806faba: eef4 7ac7 vcmpe.f32 s15, s14 806fabe: eef1 fa10 vmrs APSR_nzcv, fpscr 806fac2: d825 bhi.n 806fb10 { f = (25 * (f - 5.0f) / 5.0f) + 0.5f; 806fac4: f507 638b add.w r3, r7, #1112 ; 0x458 806fac8: edd3 7a00 vldr s15, [r3] 806facc: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 806fad0: ee77 7ac7 vsub.f32 s15, s15, s14 806fad4: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806fad8: ee27 7a87 vmul.f32 s14, s15, s14 806fadc: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806fae0: eec7 7a26 vdiv.f32 s15, s14, s13 806fae4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806fae8: ee77 7a87 vadd.f32 s15, s15, s14 806faec: f507 638b add.w r3, r7, #1112 ; 0x458 806faf0: edc3 7a00 vstr s15, [r3] y = y3 - (int32_t) f; 806faf4: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806faf8: f507 628b add.w r2, r7, #1112 ; 0x458 806fafc: edd2 7a00 vldr s15, [r2] 806fb00: eefd 7ae7 vcvt.s32.f32 s15, s15 806fb04: ee17 2a90 vmov r2, s15 806fb08: 1a9b subs r3, r3, r2 806fb0a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806fb0e: e2c5 b.n 807009c } else if(f <= 15.0f) 806fb10: f507 638b add.w r3, r7, #1112 ; 0x458 806fb14: edd3 7a00 vldr s15, [r3] 806fb18: eeb2 7a0e vmov.f32 s14, #46 ; 0x41700000 15.0 806fb1c: eef4 7ac7 vcmpe.f32 s15, s14 806fb20: eef1 fa10 vmrs APSR_nzcv, fpscr 806fb24: f200 82ba bhi.w 807009c { f = (25 * (f - 10.0f) / 5.0f) + 0.5f; 806fb28: f507 638b add.w r3, r7, #1112 ; 0x458 806fb2c: edd3 7a00 vldr s15, [r3] 806fb30: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806fb34: ee77 7ac7 vsub.f32 s15, s15, s14 806fb38: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806fb3c: ee27 7a87 vmul.f32 s14, s15, s14 806fb40: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806fb44: eec7 7a26 vdiv.f32 s15, s14, s13 806fb48: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806fb4c: ee77 7a87 vadd.f32 s15, s15, s14 806fb50: f507 638b add.w r3, r7, #1112 ; 0x458 806fb54: edc3 7a00 vstr s15, [r3] y = y4 - (int32_t) f; 806fb58: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806fb5c: f507 628b add.w r2, r7, #1112 ; 0x458 806fb60: edd2 7a00 vldr s15, [r2] 806fb64: eefd 7ae7 vcvt.s32.f32 s15, s15 806fb68: ee17 2a90 vmov r2, s15 806fb6c: 1a9b subs r3, r3, r2 806fb6e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806fb72: e293 b.n 807009c } } else if(fmax <= 100.0f) ///////// 806fb74: f207 434c addw r3, r7, #1100 ; 0x44c 806fb78: edd3 7a00 vldr s15, [r3] 806fb7c: ed9f 7a6b vldr s14, [pc, #428] ; 806fd2c 806fb80: eef4 7ac7 vcmpe.f32 s15, s14 806fb84: eef1 fa10 vmrs APSR_nzcv, fpscr 806fb88: f200 80e0 bhi.w 806fd4c { if(f < 0.0f) 806fb8c: f507 638b add.w r3, r7, #1112 ; 0x458 806fb90: edd3 7a00 vldr s15, [r3] 806fb94: eef5 7ac0 vcmpe.f32 s15, #0.0 806fb98: eef1 fa10 vmrs APSR_nzcv, fpscr 806fb9c: d521 bpl.n 806fbe2 { f = (25 * f / 5.0f) + 0.5f; 806fb9e: f507 638b add.w r3, r7, #1112 ; 0x458 806fba2: edd3 7a00 vldr s15, [r3] 806fba6: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806fbaa: ee27 7a87 vmul.f32 s14, s15, s14 806fbae: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806fbb2: eec7 7a26 vdiv.f32 s15, s14, s13 806fbb6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806fbba: ee77 7a87 vadd.f32 s15, s15, s14 806fbbe: f507 638b add.w r3, r7, #1112 ; 0x458 806fbc2: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806fbc6: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fbca: f507 628b add.w r2, r7, #1112 ; 0x458 806fbce: edd2 7a00 vldr s15, [r2] 806fbd2: eefd 7ae7 vcvt.s32.f32 s15, s15 806fbd6: ee17 2a90 vmov r2, s15 806fbda: 1a9b subs r3, r3, r2 806fbdc: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806fbe0: e25c b.n 807009c } else if(f == 0.0f) 806fbe2: f507 638b add.w r3, r7, #1112 ; 0x458 806fbe6: edd3 7a00 vldr s15, [r3] 806fbea: eef5 7a40 vcmp.f32 s15, #0.0 806fbee: eef1 fa10 vmrs APSR_nzcv, fpscr 806fbf2: d104 bne.n 806fbfe { y = y2; 806fbf4: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fbf8: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806fbfc: e24e b.n 807009c } else if(f <= 10.0f) 806fbfe: f507 638b add.w r3, r7, #1112 ; 0x458 806fc02: edd3 7a00 vldr s15, [r3] 806fc06: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806fc0a: eef4 7ac7 vcmpe.f32 s15, s14 806fc0e: eef1 fa10 vmrs APSR_nzcv, fpscr 806fc12: d821 bhi.n 806fc58 { f = (25 * f / 10.0f) + 0.5f; 806fc14: f507 638b add.w r3, r7, #1112 ; 0x458 806fc18: edd3 7a00 vldr s15, [r3] 806fc1c: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806fc20: ee27 7a87 vmul.f32 s14, s15, s14 806fc24: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 806fc28: eec7 7a26 vdiv.f32 s15, s14, s13 806fc2c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806fc30: ee77 7a87 vadd.f32 s15, s15, s14 806fc34: f507 638b add.w r3, r7, #1112 ; 0x458 806fc38: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806fc3c: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fc40: f507 628b add.w r2, r7, #1112 ; 0x458 806fc44: edd2 7a00 vldr s15, [r2] 806fc48: eefd 7ae7 vcvt.s32.f32 s15, s15 806fc4c: ee17 2a90 vmov r2, s15 806fc50: 1a9b subs r3, r3, r2 806fc52: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806fc56: e221 b.n 807009c } else if(f <= 50.0f) 806fc58: f507 638b add.w r3, r7, #1112 ; 0x458 806fc5c: edd3 7a00 vldr s15, [r3] 806fc60: ed9f 7a30 vldr s14, [pc, #192] ; 806fd24 806fc64: eef4 7ac7 vcmpe.f32 s15, s14 806fc68: eef1 fa10 vmrs APSR_nzcv, fpscr 806fc6c: d825 bhi.n 806fcba { f = (25 * (f - 10.0f) / (50.0f - 10.0f)) + 0.5f; 806fc6e: f507 638b add.w r3, r7, #1112 ; 0x458 806fc72: edd3 7a00 vldr s15, [r3] 806fc76: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806fc7a: ee77 7ac7 vsub.f32 s15, s15, s14 806fc7e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806fc82: ee27 7a87 vmul.f32 s14, s15, s14 806fc86: eddf 6a28 vldr s13, [pc, #160] ; 806fd28 806fc8a: eec7 7a26 vdiv.f32 s15, s14, s13 806fc8e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806fc92: ee77 7a87 vadd.f32 s15, s15, s14 806fc96: f507 638b add.w r3, r7, #1112 ; 0x458 806fc9a: edc3 7a00 vstr s15, [r3] y = y3 - (int32_t) f; 806fc9e: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806fca2: f507 628b add.w r2, r7, #1112 ; 0x458 806fca6: edd2 7a00 vldr s15, [r2] 806fcaa: eefd 7ae7 vcvt.s32.f32 s15, s15 806fcae: ee17 2a90 vmov r2, s15 806fcb2: 1a9b subs r3, r3, r2 806fcb4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806fcb8: e1f0 b.n 807009c } else if(f <= 100.0f) 806fcba: f507 638b add.w r3, r7, #1112 ; 0x458 806fcbe: edd3 7a00 vldr s15, [r3] 806fcc2: ed9f 7a1a vldr s14, [pc, #104] ; 806fd2c 806fcc6: eef4 7ac7 vcmpe.f32 s15, s14 806fcca: eef1 fa10 vmrs APSR_nzcv, fpscr 806fcce: f200 81e5 bhi.w 807009c { f = (25 * (f - 50.0f) / (100.0f - 50.0f)) + 0.5f; 806fcd2: f507 638b add.w r3, r7, #1112 ; 0x458 806fcd6: edd3 7a00 vldr s15, [r3] 806fcda: ed9f 7a12 vldr s14, [pc, #72] ; 806fd24 806fcde: ee77 7ac7 vsub.f32 s15, s15, s14 806fce2: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806fce6: ee27 7a87 vmul.f32 s14, s15, s14 806fcea: eddf 6a0e vldr s13, [pc, #56] ; 806fd24 806fcee: eec7 7a26 vdiv.f32 s15, s14, s13 806fcf2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806fcf6: ee77 7a87 vadd.f32 s15, s15, s14 806fcfa: f507 638b add.w r3, r7, #1112 ; 0x458 806fcfe: edc3 7a00 vstr s15, [r3] y = y4 - (int32_t) f; 806fd02: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806fd06: f507 628b add.w r2, r7, #1112 ; 0x458 806fd0a: edd2 7a00 vldr s15, [r2] 806fd0e: eefd 7ae7 vcvt.s32.f32 s15, s15 806fd12: ee17 2a90 vmov r2, s15 806fd16: 1a9b subs r3, r3, r2 806fd18: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806fd1c: e1be b.n 807009c 806fd1e: bf00 nop 806fd20: 64080000 .word 0x64080000 806fd24: 42480000 .word 0x42480000 806fd28: 42200000 .word 0x42200000 806fd2c: 42c80000 .word 0x42c80000 806fd30: 43c80000 .word 0x43c80000 806fd34: 43fa0000 .word 0x43fa0000 806fd38: 447a0000 .word 0x447a0000 806fd3c: 457a0000 .word 0x457a0000 806fd40: 461c4000 .word 0x461c4000 806fd44: 459c4000 .word 0x459c4000 806fd48: 43800000 .word 0x43800000 } } else if(fmax <= 1000.0f) ///////// 806fd4c: f207 434c addw r3, r7, #1100 ; 0x44c 806fd50: edd3 7a00 vldr s15, [r3] 806fd54: ed1f 7a08 vldr s14, [pc, #-32] ; 806fd38 806fd58: eef4 7ac7 vcmpe.f32 s15, s14 806fd5c: eef1 fa10 vmrs APSR_nzcv, fpscr 806fd60: f200 80c9 bhi.w 806fef6 { if(f < 0.0f) 806fd64: f507 638b add.w r3, r7, #1112 ; 0x458 806fd68: edd3 7a00 vldr s15, [r3] 806fd6c: eef5 7ac0 vcmpe.f32 s15, #0.0 806fd70: eef1 fa10 vmrs APSR_nzcv, fpscr 806fd74: d521 bpl.n 806fdba { f = (25 * f / 5.0f) + 0.5f; 806fd76: f507 638b add.w r3, r7, #1112 ; 0x458 806fd7a: edd3 7a00 vldr s15, [r3] 806fd7e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806fd82: ee27 7a87 vmul.f32 s14, s15, s14 806fd86: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806fd8a: eec7 7a26 vdiv.f32 s15, s14, s13 806fd8e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806fd92: ee77 7a87 vadd.f32 s15, s15, s14 806fd96: f507 638b add.w r3, r7, #1112 ; 0x458 806fd9a: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806fd9e: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fda2: f507 628b add.w r2, r7, #1112 ; 0x458 806fda6: edd2 7a00 vldr s15, [r2] 806fdaa: eefd 7ae7 vcvt.s32.f32 s15, s15 806fdae: ee17 2a90 vmov r2, s15 806fdb2: 1a9b subs r3, r3, r2 806fdb4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806fdb8: e170 b.n 807009c } else if(f == 0.0f) 806fdba: f507 638b add.w r3, r7, #1112 ; 0x458 806fdbe: edd3 7a00 vldr s15, [r3] 806fdc2: eef5 7a40 vcmp.f32 s15, #0.0 806fdc6: eef1 fa10 vmrs APSR_nzcv, fpscr 806fdca: d104 bne.n 806fdd6 { y = y2; 806fdcc: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fdd0: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806fdd4: e162 b.n 807009c } else if(f <= 100.0f) 806fdd6: f507 638b add.w r3, r7, #1112 ; 0x458 806fdda: edd3 7a00 vldr s15, [r3] 806fdde: ed1f 7a2d vldr s14, [pc, #-180] ; 806fd2c 806fde2: eef4 7ac7 vcmpe.f32 s15, s14 806fde6: eef1 fa10 vmrs APSR_nzcv, fpscr 806fdea: d821 bhi.n 806fe30 { f = (25 * f / 100.0f) + 0.5f; 806fdec: f507 638b add.w r3, r7, #1112 ; 0x458 806fdf0: edd3 7a00 vldr s15, [r3] 806fdf4: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806fdf8: ee27 7a87 vmul.f32 s14, s15, s14 806fdfc: ed5f 6a35 vldr s13, [pc, #-212] ; 806fd2c 806fe00: eec7 7a26 vdiv.f32 s15, s14, s13 806fe04: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806fe08: ee77 7a87 vadd.f32 s15, s15, s14 806fe0c: f507 638b add.w r3, r7, #1112 ; 0x458 806fe10: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806fe14: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fe18: f507 628b add.w r2, r7, #1112 ; 0x458 806fe1c: edd2 7a00 vldr s15, [r2] 806fe20: eefd 7ae7 vcvt.s32.f32 s15, s15 806fe24: ee17 2a90 vmov r2, s15 806fe28: 1a9b subs r3, r3, r2 806fe2a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806fe2e: e135 b.n 807009c } else if(f <= 500.0f) 806fe30: f507 638b add.w r3, r7, #1112 ; 0x458 806fe34: edd3 7a00 vldr s15, [r3] 806fe38: ed1f 7a42 vldr s14, [pc, #-264] ; 806fd34 806fe3c: eef4 7ac7 vcmpe.f32 s15, s14 806fe40: eef1 fa10 vmrs APSR_nzcv, fpscr 806fe44: d825 bhi.n 806fe92 { f = (25 * (f - 100.0f) / (500.0f - 100.0f)) + 0.5f; 806fe46: f507 638b add.w r3, r7, #1112 ; 0x458 806fe4a: edd3 7a00 vldr s15, [r3] 806fe4e: ed1f 7a49 vldr s14, [pc, #-292] ; 806fd2c 806fe52: ee77 7ac7 vsub.f32 s15, s15, s14 806fe56: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806fe5a: ee27 7a87 vmul.f32 s14, s15, s14 806fe5e: ed5f 6a4c vldr s13, [pc, #-304] ; 806fd30 806fe62: eec7 7a26 vdiv.f32 s15, s14, s13 806fe66: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806fe6a: ee77 7a87 vadd.f32 s15, s15, s14 806fe6e: f507 638b add.w r3, r7, #1112 ; 0x458 806fe72: edc3 7a00 vstr s15, [r3] y = y3 - (int32_t) f; 806fe76: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806fe7a: f507 628b add.w r2, r7, #1112 ; 0x458 806fe7e: edd2 7a00 vldr s15, [r2] 806fe82: eefd 7ae7 vcvt.s32.f32 s15, s15 806fe86: ee17 2a90 vmov r2, s15 806fe8a: 1a9b subs r3, r3, r2 806fe8c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806fe90: e104 b.n 807009c } else if(f <= 1000.0f) 806fe92: f507 638b add.w r3, r7, #1112 ; 0x458 806fe96: edd3 7a00 vldr s15, [r3] 806fe9a: ed1f 7a59 vldr s14, [pc, #-356] ; 806fd38 806fe9e: eef4 7ac7 vcmpe.f32 s15, s14 806fea2: eef1 fa10 vmrs APSR_nzcv, fpscr 806fea6: f200 80f9 bhi.w 807009c { f = (25 * (f - 500.0f) / (1000.0f - 500.0f)) + 0.5f; 806feaa: f507 638b add.w r3, r7, #1112 ; 0x458 806feae: edd3 7a00 vldr s15, [r3] 806feb2: ed1f 7a60 vldr s14, [pc, #-384] ; 806fd34 806feb6: ee77 7ac7 vsub.f32 s15, s15, s14 806feba: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806febe: ee27 7a87 vmul.f32 s14, s15, s14 806fec2: ed5f 6a64 vldr s13, [pc, #-400] ; 806fd34 806fec6: eec7 7a26 vdiv.f32 s15, s14, s13 806feca: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806fece: ee77 7a87 vadd.f32 s15, s15, s14 806fed2: f507 638b add.w r3, r7, #1112 ; 0x458 806fed6: edc3 7a00 vstr s15, [r3] y = y4 - (int32_t) f; 806feda: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806fede: f507 628b add.w r2, r7, #1112 ; 0x458 806fee2: edd2 7a00 vldr s15, [r2] 806fee6: eefd 7ae7 vcvt.s32.f32 s15, s15 806feea: ee17 2a90 vmov r2, s15 806feee: 1a9b subs r3, r3, r2 806fef0: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806fef4: e0d2 b.n 807009c } } else if(fmax <= 10000.0f) ///////// 806fef6: f207 434c addw r3, r7, #1100 ; 0x44c 806fefa: edd3 7a00 vldr s15, [r3] 806fefe: ed1f 7a70 vldr s14, [pc, #-448] ; 806fd40 806ff02: eef4 7ac7 vcmpe.f32 s15, s14 806ff06: eef1 fa10 vmrs APSR_nzcv, fpscr 806ff0a: f200 80c7 bhi.w 807009c { if(f < 0.0f) 806ff0e: f507 638b add.w r3, r7, #1112 ; 0x458 806ff12: edd3 7a00 vldr s15, [r3] 806ff16: eef5 7ac0 vcmpe.f32 s15, #0.0 806ff1a: eef1 fa10 vmrs APSR_nzcv, fpscr 806ff1e: d521 bpl.n 806ff64 { f = (25 * f / 5.0f) + 0.5f; 806ff20: f507 638b add.w r3, r7, #1112 ; 0x458 806ff24: edd3 7a00 vldr s15, [r3] 806ff28: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806ff2c: ee27 7a87 vmul.f32 s14, s15, s14 806ff30: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806ff34: eec7 7a26 vdiv.f32 s15, s14, s13 806ff38: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806ff3c: ee77 7a87 vadd.f32 s15, s15, s14 806ff40: f507 638b add.w r3, r7, #1112 ; 0x458 806ff44: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806ff48: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806ff4c: f507 628b add.w r2, r7, #1112 ; 0x458 806ff50: edd2 7a00 vldr s15, [r2] 806ff54: eefd 7ae7 vcvt.s32.f32 s15, s15 806ff58: ee17 2a90 vmov r2, s15 806ff5c: 1a9b subs r3, r3, r2 806ff5e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806ff62: e09b b.n 807009c } else if(f == 0.0f) 806ff64: f507 638b add.w r3, r7, #1112 ; 0x458 806ff68: edd3 7a00 vldr s15, [r3] 806ff6c: eef5 7a40 vcmp.f32 s15, #0.0 806ff70: eef1 fa10 vmrs APSR_nzcv, fpscr 806ff74: d104 bne.n 806ff80 { y = y2; 806ff76: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806ff7a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806ff7e: e08d b.n 807009c } else if(f <= 1000.0f) 806ff80: f507 638b add.w r3, r7, #1112 ; 0x458 806ff84: edd3 7a00 vldr s15, [r3] 806ff88: ed1f 7a95 vldr s14, [pc, #-596] ; 806fd38 806ff8c: eef4 7ac7 vcmpe.f32 s15, s14 806ff90: eef1 fa10 vmrs APSR_nzcv, fpscr 806ff94: d821 bhi.n 806ffda { f = (25 * f / 1000.0f) + 0.5f; 806ff96: f507 638b add.w r3, r7, #1112 ; 0x458 806ff9a: edd3 7a00 vldr s15, [r3] 806ff9e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806ffa2: ee27 7a87 vmul.f32 s14, s15, s14 806ffa6: ed5f 6a9c vldr s13, [pc, #-624] ; 806fd38 806ffaa: eec7 7a26 vdiv.f32 s15, s14, s13 806ffae: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806ffb2: ee77 7a87 vadd.f32 s15, s15, s14 806ffb6: f507 638b add.w r3, r7, #1112 ; 0x458 806ffba: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806ffbe: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806ffc2: f507 628b add.w r2, r7, #1112 ; 0x458 806ffc6: edd2 7a00 vldr s15, [r2] 806ffca: eefd 7ae7 vcvt.s32.f32 s15, s15 806ffce: ee17 2a90 vmov r2, s15 806ffd2: 1a9b subs r3, r3, r2 806ffd4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806ffd8: e060 b.n 807009c } else if(f <= 5000.0f) 806ffda: f507 638b add.w r3, r7, #1112 ; 0x458 806ffde: edd3 7a00 vldr s15, [r3] 806ffe2: ed1f 7aa8 vldr s14, [pc, #-672] ; 806fd44 806ffe6: eef4 7ac7 vcmpe.f32 s15, s14 806ffea: eef1 fa10 vmrs APSR_nzcv, fpscr 806ffee: d825 bhi.n 807003c { f = (25 * (f - 1000.0f) / (5000.0f - 1000.0f)) + 0.5f; 806fff0: f507 638b add.w r3, r7, #1112 ; 0x458 806fff4: edd3 7a00 vldr s15, [r3] 806fff8: ed1f 7ab1 vldr s14, [pc, #-708] ; 806fd38 806fffc: ee77 7ac7 vsub.f32 s15, s15, s14 8070000: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070004: ee27 7a87 vmul.f32 s14, s15, s14 8070008: ed5f 6ab4 vldr s13, [pc, #-720] ; 806fd3c 807000c: eec7 7a26 vdiv.f32 s15, s14, s13 8070010: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070014: ee77 7a87 vadd.f32 s15, s15, s14 8070018: f507 638b add.w r3, r7, #1112 ; 0x458 807001c: edc3 7a00 vstr s15, [r3] y = y3 - (int32_t) f; 8070020: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8070024: f507 628b add.w r2, r7, #1112 ; 0x458 8070028: edd2 7a00 vldr s15, [r2] 807002c: eefd 7ae7 vcvt.s32.f32 s15, s15 8070030: ee17 2a90 vmov r2, s15 8070034: 1a9b subs r3, r3, r2 8070036: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807003a: e02f b.n 807009c } else if(f <= 10000.0f) 807003c: f507 638b add.w r3, r7, #1112 ; 0x458 8070040: edd3 7a00 vldr s15, [r3] 8070044: ed1f 7ac2 vldr s14, [pc, #-776] ; 806fd40 8070048: eef4 7ac7 vcmpe.f32 s15, s14 807004c: eef1 fa10 vmrs APSR_nzcv, fpscr 8070050: d824 bhi.n 807009c { f = (25 * (f - 5000.0f) / (10000.0f - 5000.0f)) + 0.5f; 8070052: f507 638b add.w r3, r7, #1112 ; 0x458 8070056: edd3 7a00 vldr s15, [r3] 807005a: ed1f 7ac6 vldr s14, [pc, #-792] ; 806fd44 807005e: ee77 7ac7 vsub.f32 s15, s15, s14 8070062: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070066: ee27 7a87 vmul.f32 s14, s15, s14 807006a: ed5f 6aca vldr s13, [pc, #-808] ; 806fd44 807006e: eec7 7a26 vdiv.f32 s15, s14, s13 8070072: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070076: ee77 7a87 vadd.f32 s15, s15, s14 807007a: f507 638b add.w r3, r7, #1112 ; 0x458 807007e: edc3 7a00 vstr s15, [r3] y = y4 - (int32_t) f; 8070082: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8070086: f507 628b add.w r2, r7, #1112 ; 0x458 807008a: edd2 7a00 vldr s15, [r2] 807008e: eefd 7ae7 vcvt.s32.f32 s15, s15 8070092: ee17 2a90 vmov r2, s15 8070096: 1a9b subs r3, r3, r2 8070098: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 } } if(l == 1) 807009c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80700a0: 2b01 cmp r3, #1 80700a2: d119 bne.n 80700d8 { x = 256; 80700a4: f44f 7380 mov.w r3, #256 ; 0x100 80700a8: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 oldx = 0; 80700ac: 2300 movs r3, #0 80700ae: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 BSP_LCD_DrawLine(62 + oldx, y, 62 + x, y); 80700b2: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 80700b6: b29b uxth r3, r3 80700b8: 333e adds r3, #62 ; 0x3e 80700ba: b298 uxth r0, r3 80700bc: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 80700c0: b299 uxth r1, r3 80700c2: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80700c6: b29b uxth r3, r3 80700c8: 333e adds r3, #62 ; 0x3e 80700ca: b29a uxth r2, r3 80700cc: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 80700d0: b29b uxth r3, r3 80700d2: f7e5 fad5 bl 8055680 80700d6: e055 b.n 8070184 } else { fs = 256.0f / (float32_t) (l - 1); 80700d8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80700dc: 3b01 subs r3, #1 80700de: ee07 3a90 vmov s15, r3 80700e2: eeb8 7a67 vcvt.f32.u32 s14, s15 80700e6: ed5f 6ae8 vldr s13, [pc, #-928] ; 806fd48 80700ea: eec6 7a87 vdiv.f32 s15, s13, s14 80700ee: f207 4314 addw r3, r7, #1044 ; 0x414 80700f2: edc3 7a00 vstr s15, [r3] x = (uint32_t) ((fs * (float32_t) i) + 0.5f); 80700f6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80700fa: ee07 3a90 vmov s15, r3 80700fe: eeb8 7a67 vcvt.f32.u32 s14, s15 8070102: f207 4314 addw r3, r7, #1044 ; 0x414 8070106: edd3 7a00 vldr s15, [r3] 807010a: ee67 7a27 vmul.f32 s15, s14, s15 807010e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070112: ee77 7a87 vadd.f32 s15, s15, s14 8070116: eefc 7ae7 vcvt.u32.f32 s15, s15 807011a: ee17 3a90 vmov r3, s15 807011e: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 if(i == 0) 8070122: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8070126: 2b00 cmp r3, #0 8070128: d112 bne.n 8070150 BSP_LCD_DrawLine(62 + x, y, 62 + x, y); 807012a: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 807012e: b29b uxth r3, r3 8070130: 333e adds r3, #62 ; 0x3e 8070132: b298 uxth r0, r3 8070134: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8070138: b299 uxth r1, r3 807013a: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 807013e: b29b uxth r3, r3 8070140: 333e adds r3, #62 ; 0x3e 8070142: b29a uxth r2, r3 8070144: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8070148: b29b uxth r3, r3 807014a: f7e5 fa99 bl 8055680 807014e: e011 b.n 8070174 else BSP_LCD_DrawLine(62 + oldx, oldy, 62 + x, y); 8070150: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 8070154: b29b uxth r3, r3 8070156: 333e adds r3, #62 ; 0x3e 8070158: b298 uxth r0, r3 807015a: f8d7 345c ldr.w r3, [r7, #1116] ; 0x45c 807015e: b299 uxth r1, r3 8070160: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8070164: b29b uxth r3, r3 8070166: 333e adds r3, #62 ; 0x3e 8070168: b29a uxth r2, r3 807016a: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 807016e: b29b uxth r3, r3 8070170: f7e5 fa86 bl 8055680 oldx = x; 8070174: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8070178: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 oldy = y; 807017c: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8070180: f8c7 345c str.w r3, [r7, #1116] ; 0x45c for(i = 0; i < l; i++) 8070184: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8070188: 3301 adds r3, #1 807018a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 807018e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8070192: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8070196: 429a cmp r2, r3 8070198: f4ff ac0e bcc.w 806f9b8 oldy = y; } } } } break; 807019c: f029 b81b b.w 80991d6 if(menupos == Trend_factor) 80701a0: 4b68 ldr r3, [pc, #416] ; (8070344 ) 80701a2: 781b ldrb r3, [r3, #0] 80701a4: b2db uxtb r3, r3 80701a6: 2b03 cmp r3, #3 80701a8: f041 8288 bne.w 80716bc if(l) 80701ac: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80701b0: 2b00 cmp r3, #0 80701b2: f029 8010 beq.w 80991d6 y0 = 217; 80701b6: 23d9 movs r3, #217 ; 0xd9 80701b8: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = 192; 80701bc: 23c0 movs r3, #192 ; 0xc0 80701be: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a y2 = 167; 80701c2: 23a7 movs r3, #167 ; 0xa7 80701c4: f8a7 3438 strh.w r3, [r7, #1080] ; 0x438 y3 = 142; 80701c8: 238e movs r3, #142 ; 0x8e 80701ca: f8a7 3436 strh.w r3, [r7, #1078] ; 0x436 y4 = 117; 80701ce: 2375 movs r3, #117 ; 0x75 80701d0: f8a7 3434 strh.w r3, [r7, #1076] ; 0x434 y5 = 92; 80701d4: 235c movs r3, #92 ; 0x5c 80701d6: f8a7 3432 strh.w r3, [r7, #1074] ; 0x432 y6 = 67; 80701da: 2343 movs r3, #67 ; 0x43 80701dc: f8a7 3430 strh.w r3, [r7, #1072] ; 0x430 BSP_LCD_SetFont(&Font8); 80701e0: 4859 ldr r0, [pc, #356] ; (8070348 ) 80701e2: f7e5 f84f bl 8055284 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80701e6: 4959 ldr r1, [pc, #356] ; (807034c ) 80701e8: 4859 ldr r0, [pc, #356] ; (8070350 ) 80701ea: f7e5 f80f bl 805520c if(fmax <= 10.0f) 80701ee: f207 434c addw r3, r7, #1100 ; 0x44c 80701f2: edd3 7a00 vldr s15, [r3] 80701f6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80701fa: eef4 7ac7 vcmpe.f32 s15, s14 80701fe: eef1 fa10 vmrs APSR_nzcv, fpscr 8070202: d82d bhi.n 8070260 BSP_LCD_DisplayStringAt(59, y5 - 2, "10", RIGHT_MODE); 8070204: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8070208: 3b02 subs r3, #2 807020a: b299 uxth r1, r3 807020c: 2302 movs r3, #2 807020e: 4a51 ldr r2, [pc, #324] ; (8070354 ) 8070210: 203b movs r0, #59 ; 0x3b 8070212: f7e5 f8c1 bl 8055398 BSP_LCD_DisplayStringAt(59, y4 - 2, "7.75", RIGHT_MODE); 8070216: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 807021a: 3b02 subs r3, #2 807021c: b299 uxth r1, r3 807021e: 2302 movs r3, #2 8070220: 4a4d ldr r2, [pc, #308] ; (8070358 ) 8070222: 203b movs r0, #59 ; 0x3b 8070224: f7e5 f8b8 bl 8055398 BSP_LCD_DisplayStringAt(59, y3 - 2, "5.5", RIGHT_MODE); 8070228: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 807022c: 3b02 subs r3, #2 807022e: b299 uxth r1, r3 8070230: 2302 movs r3, #2 8070232: 4a4a ldr r2, [pc, #296] ; (807035c ) 8070234: 203b movs r0, #59 ; 0x3b 8070236: f7e5 f8af bl 8055398 BSP_LCD_DisplayStringAt(59, y2 - 2, "3.25", RIGHT_MODE); 807023a: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 807023e: 3b02 subs r3, #2 8070240: b299 uxth r1, r3 8070242: 2302 movs r3, #2 8070244: 4a46 ldr r2, [pc, #280] ; (8070360 ) 8070246: 203b movs r0, #59 ; 0x3b 8070248: f7e5 f8a6 bl 8055398 BSP_LCD_DisplayStringAt(59, y1 - 2, "1", RIGHT_MODE); 807024c: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8070250: 3b02 subs r3, #2 8070252: b299 uxth r1, r3 8070254: 2302 movs r3, #2 8070256: 4a43 ldr r2, [pc, #268] ; (8070364 ) 8070258: 203b movs r0, #59 ; 0x3b 807025a: f7e5 f89d bl 8055398 807025e: e0cb b.n 80703f8 if(fmax <= 100.0f) 8070260: f207 434c addw r3, r7, #1100 ; 0x44c 8070264: edd3 7a00 vldr s15, [r3] 8070268: ed9f 7a3f vldr s14, [pc, #252] ; 8070368 807026c: eef4 7ac7 vcmpe.f32 s15, s14 8070270: eef1 fa10 vmrs APSR_nzcv, fpscr 8070274: d82d bhi.n 80702d2 BSP_LCD_DisplayStringAt(59, y5 - 2, "100", RIGHT_MODE); 8070276: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 807027a: 3b02 subs r3, #2 807027c: b299 uxth r1, r3 807027e: 2302 movs r3, #2 8070280: 4a3a ldr r2, [pc, #232] ; (807036c ) 8070282: 203b movs r0, #59 ; 0x3b 8070284: f7e5 f888 bl 8055398 BSP_LCD_DisplayStringAt(59, y4 - 2, "50", RIGHT_MODE); 8070288: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 807028c: 3b02 subs r3, #2 807028e: b299 uxth r1, r3 8070290: 2302 movs r3, #2 8070292: 4a37 ldr r2, [pc, #220] ; (8070370 ) 8070294: 203b movs r0, #59 ; 0x3b 8070296: f7e5 f87f bl 8055398 BSP_LCD_DisplayStringAt(59, y3 - 2, "10", RIGHT_MODE); 807029a: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 807029e: 3b02 subs r3, #2 80702a0: b299 uxth r1, r3 80702a2: 2302 movs r3, #2 80702a4: 4a2b ldr r2, [pc, #172] ; (8070354 ) 80702a6: 203b movs r0, #59 ; 0x3b 80702a8: f7e5 f876 bl 8055398 BSP_LCD_DisplayStringAt(59, y2 - 2, "5", RIGHT_MODE); 80702ac: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 80702b0: 3b02 subs r3, #2 80702b2: b299 uxth r1, r3 80702b4: 2302 movs r3, #2 80702b6: 4a2f ldr r2, [pc, #188] ; (8070374 ) 80702b8: 203b movs r0, #59 ; 0x3b 80702ba: f7e5 f86d bl 8055398 BSP_LCD_DisplayStringAt(59, y1 - 2, "1", RIGHT_MODE); 80702be: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80702c2: 3b02 subs r3, #2 80702c4: b299 uxth r1, r3 80702c6: 2302 movs r3, #2 80702c8: 4a26 ldr r2, [pc, #152] ; (8070364 ) 80702ca: 203b movs r0, #59 ; 0x3b 80702cc: f7e5 f864 bl 8055398 80702d0: e092 b.n 80703f8 if(fmax <= 1000.0f) 80702d2: f207 434c addw r3, r7, #1100 ; 0x44c 80702d6: edd3 7a00 vldr s15, [r3] 80702da: ed9f 7a27 vldr s14, [pc, #156] ; 8070378 80702de: eef4 7ac7 vcmpe.f32 s15, s14 80702e2: eef1 fa10 vmrs APSR_nzcv, fpscr 80702e6: d84f bhi.n 8070388 BSP_LCD_DisplayStringAt(59, y5 - 2, "1000", RIGHT_MODE); 80702e8: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 80702ec: 3b02 subs r3, #2 80702ee: b299 uxth r1, r3 80702f0: 2302 movs r3, #2 80702f2: 4a22 ldr r2, [pc, #136] ; (807037c ) 80702f4: 203b movs r0, #59 ; 0x3b 80702f6: f7e5 f84f bl 8055398 BSP_LCD_DisplayStringAt(59, y4 - 2, "500", RIGHT_MODE); 80702fa: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 80702fe: 3b02 subs r3, #2 8070300: b299 uxth r1, r3 8070302: 2302 movs r3, #2 8070304: 4a1e ldr r2, [pc, #120] ; (8070380 ) 8070306: 203b movs r0, #59 ; 0x3b 8070308: f7e5 f846 bl 8055398 BSP_LCD_DisplayStringAt(59, y3 - 2, "100", RIGHT_MODE); 807030c: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8070310: 3b02 subs r3, #2 8070312: b299 uxth r1, r3 8070314: 2302 movs r3, #2 8070316: 4a15 ldr r2, [pc, #84] ; (807036c ) 8070318: 203b movs r0, #59 ; 0x3b 807031a: f7e5 f83d bl 8055398 BSP_LCD_DisplayStringAt(59, y2 - 2, "50", RIGHT_MODE); 807031e: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8070322: 3b02 subs r3, #2 8070324: b299 uxth r1, r3 8070326: 2302 movs r3, #2 8070328: 4a11 ldr r2, [pc, #68] ; (8070370 ) 807032a: 203b movs r0, #59 ; 0x3b 807032c: f7e5 f834 bl 8055398 BSP_LCD_DisplayStringAt(59, y1 - 2, "10", RIGHT_MODE); 8070330: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8070334: 3b02 subs r3, #2 8070336: b299 uxth r1, r3 8070338: 2302 movs r3, #2 807033a: 4a06 ldr r2, [pc, #24] ; (8070354 ) 807033c: 203b movs r0, #59 ; 0x3b 807033e: f7e5 f82b bl 8055398 8070342: e059 b.n 80703f8 8070344: 20020070 .word 0x20020070 8070348: 20020060 .word 0x20020060 807034c: ff0a0f1f .word 0xff0a0f1f 8070350: ffd3d3d3 .word 0xffd3d3d3 8070354: 080d64c0 .word 0x080d64c0 8070358: 080d64ec .word 0x080d64ec 807035c: 080d64f4 .word 0x080d64f4 8070360: 080d64f8 .word 0x080d64f8 8070364: 080d52c4 .word 0x080d52c4 8070368: 42c80000 .word 0x42c80000 807036c: 080d64c8 .word 0x080d64c8 8070370: 080d64cc .word 0x080d64cc 8070374: 080d6228 .word 0x080d6228 8070378: 447a0000 .word 0x447a0000 807037c: 080d64d0 .word 0x080d64d0 8070380: 080d64d8 .word 0x080d64d8 8070384: 461c4000 .word 0x461c4000 if(fmax <= 10000.0f) 8070388: f207 434c addw r3, r7, #1100 ; 0x44c 807038c: edd3 7a00 vldr s15, [r3] 8070390: ed1f 7a04 vldr s14, [pc, #-16] ; 8070384 8070394: eef4 7ac7 vcmpe.f32 s15, s14 8070398: eef1 fa10 vmrs APSR_nzcv, fpscr 807039c: d82c bhi.n 80703f8 BSP_LCD_DisplayStringAt(59, y5 - 2, "10000", RIGHT_MODE); 807039e: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 80703a2: 3b02 subs r3, #2 80703a4: b299 uxth r1, r3 80703a6: 2302 movs r3, #2 80703a8: 4a9b ldr r2, [pc, #620] ; (8070618 ) 80703aa: 203b movs r0, #59 ; 0x3b 80703ac: f7e4 fff4 bl 8055398 BSP_LCD_DisplayStringAt(59, y4 - 2, "1000", RIGHT_MODE); 80703b0: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 80703b4: 3b02 subs r3, #2 80703b6: b299 uxth r1, r3 80703b8: 2302 movs r3, #2 80703ba: 4a98 ldr r2, [pc, #608] ; (807061c ) 80703bc: 203b movs r0, #59 ; 0x3b 80703be: f7e4 ffeb bl 8055398 BSP_LCD_DisplayStringAt(59, y3 - 2, "100", RIGHT_MODE); 80703c2: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 80703c6: 3b02 subs r3, #2 80703c8: b299 uxth r1, r3 80703ca: 2302 movs r3, #2 80703cc: 4a94 ldr r2, [pc, #592] ; (8070620 ) 80703ce: 203b movs r0, #59 ; 0x3b 80703d0: f7e4 ffe2 bl 8055398 BSP_LCD_DisplayStringAt(59, y2 - 2, "10", RIGHT_MODE); 80703d4: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 80703d8: 3b02 subs r3, #2 80703da: b299 uxth r1, r3 80703dc: 2302 movs r3, #2 80703de: 4a91 ldr r2, [pc, #580] ; (8070624 ) 80703e0: 203b movs r0, #59 ; 0x3b 80703e2: f7e4 ffd9 bl 8055398 BSP_LCD_DisplayStringAt(59, y1 - 2, "1", RIGHT_MODE); 80703e6: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80703ea: 3b02 subs r3, #2 80703ec: b299 uxth r1, r3 80703ee: 2302 movs r3, #2 80703f0: 4a8d ldr r2, [pc, #564] ; (8070628 ) 80703f2: 203b movs r0, #59 ; 0x3b 80703f4: f7e4 ffd0 bl 8055398 if(l == 1) 80703f8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80703fc: 2b01 cmp r3, #1 80703fe: f040 8119 bne.w 8070634 k = CmplxA_u32(0); 8070402: 4b8a ldr r3, [pc, #552] ; (807062c ) 8070404: 681b ldr r3, [r3, #0] 8070406: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 807040a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807040e: 0e5b lsrs r3, r3, #25 8070410: 3b14 subs r3, #20 8070412: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8070416: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807041a: 0d5b lsrs r3, r3, #21 807041c: f003 030f and.w r3, r3, #15 8070420: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 8070424: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070428: 0c1b lsrs r3, r3, #16 807042a: f003 031f and.w r3, r3, #31 807042e: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 8070432: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070436: 0adb lsrs r3, r3, #11 8070438: f003 031f and.w r3, r3, #31 807043c: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 8070440: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070444: 095b lsrs r3, r3, #5 8070446: f003 033f and.w r3, r3, #63 ; 0x3f 807044a: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 807044e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070452: 005b lsls r3, r3, #1 8070454: f003 031f and.w r3, r3, #31 8070458: 3301 adds r3, #1 807045a: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 807045e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070462: 223c movs r2, #60 ; 0x3c 8070464: 2100 movs r1, #0 8070466: 4618 mov r0, r3 8070468: f061 fd9c bl 80d1fa4 str[0] = (Day / 10) + 48; 807046c: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 8070470: 4a6f ldr r2, [pc, #444] ; (8070630 ) 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: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 8070484: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 8070488: 4b69 ldr r3, [pc, #420] ; (8070630 ) 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: 705a strb r2, [r3, #1] str[2] = '.'; 80704a6: f507 733b add.w r3, r7, #748 ; 0x2ec 80704aa: 222e movs r2, #46 ; 0x2e 80704ac: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 80704ae: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 80704b2: 4a5f ldr r2, [pc, #380] ; (8070630 ) 80704b4: fba2 2303 umull r2, r3, r2, r3 80704b8: 08db lsrs r3, r3, #3 80704ba: b2db uxtb r3, r3 80704bc: 3330 adds r3, #48 ; 0x30 80704be: b2da uxtb r2, r3 80704c0: f507 733b add.w r3, r7, #748 ; 0x2ec 80704c4: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 80704c6: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 80704ca: 4b59 ldr r3, [pc, #356] ; (8070630 ) 80704cc: fba3 2301 umull r2, r3, r3, r1 80704d0: 08da lsrs r2, r3, #3 80704d2: 4613 mov r3, r2 80704d4: 009b lsls r3, r3, #2 80704d6: 4413 add r3, r2 80704d8: 005b lsls r3, r3, #1 80704da: 1aca subs r2, r1, r3 80704dc: b2d3 uxtb r3, r2 80704de: 3330 adds r3, #48 ; 0x30 80704e0: b2da uxtb r2, r3 80704e2: f507 733b add.w r3, r7, #748 ; 0x2ec 80704e6: 711a strb r2, [r3, #4] str[5] = '.'; 80704e8: f507 733b add.w r3, r7, #748 ; 0x2ec 80704ec: 222e movs r2, #46 ; 0x2e 80704ee: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 80704f0: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 80704f4: 4a4e ldr r2, [pc, #312] ; (8070630 ) 80704f6: fba2 2303 umull r2, r3, r2, r3 80704fa: 08db lsrs r3, r3, #3 80704fc: b2db uxtb r3, r3 80704fe: 3330 adds r3, #48 ; 0x30 8070500: b2da uxtb r2, r3 8070502: f507 733b add.w r3, r7, #748 ; 0x2ec 8070506: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8070508: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 807050c: 4b48 ldr r3, [pc, #288] ; (8070630 ) 807050e: fba3 2301 umull r2, r3, r3, r1 8070512: 08da lsrs r2, r3, #3 8070514: 4613 mov r3, r2 8070516: 009b lsls r3, r3, #2 8070518: 4413 add r3, r2 807051a: 005b lsls r3, r3, #1 807051c: 1aca subs r2, r1, r3 807051e: b2d3 uxtb r3, r2 8070520: 3330 adds r3, #48 ; 0x30 8070522: b2da uxtb r2, r3 8070524: f507 733b add.w r3, r7, #748 ; 0x2ec 8070528: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 807052a: f507 723b add.w r2, r7, #748 ; 0x2ec 807052e: 2301 movs r3, #1 8070530: 21dc movs r1, #220 ; 0xdc 8070532: 20be movs r0, #190 ; 0xbe 8070534: f7e4 ff30 bl 8055398 memset(str, 0, sizeof(str)); 8070538: f507 733b add.w r3, r7, #748 ; 0x2ec 807053c: 223c movs r2, #60 ; 0x3c 807053e: 2100 movs r1, #0 8070540: 4618 mov r0, r3 8070542: f061 fd2f bl 80d1fa4 str[0] = (Hour / 10) + 48; 8070546: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 807054a: 4a39 ldr r2, [pc, #228] ; (8070630 ) 807054c: fba2 2303 umull r2, r3, r2, r3 8070550: 08db lsrs r3, r3, #3 8070552: b2db uxtb r3, r3 8070554: 3330 adds r3, #48 ; 0x30 8070556: b2da uxtb r2, r3 8070558: f507 733b add.w r3, r7, #748 ; 0x2ec 807055c: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 807055e: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8070562: 4b33 ldr r3, [pc, #204] ; (8070630 ) 8070564: fba3 2301 umull r2, r3, r3, r1 8070568: 08da lsrs r2, r3, #3 807056a: 4613 mov r3, r2 807056c: 009b lsls r3, r3, #2 807056e: 4413 add r3, r2 8070570: 005b lsls r3, r3, #1 8070572: 1aca subs r2, r1, r3 8070574: b2d3 uxtb r3, r2 8070576: 3330 adds r3, #48 ; 0x30 8070578: b2da uxtb r2, r3 807057a: f507 733b add.w r3, r7, #748 ; 0x2ec 807057e: 705a strb r2, [r3, #1] str[2] = ':'; 8070580: f507 733b add.w r3, r7, #748 ; 0x2ec 8070584: 223a movs r2, #58 ; 0x3a 8070586: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 8070588: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 807058c: 4a28 ldr r2, [pc, #160] ; (8070630 ) 807058e: fba2 2303 umull r2, r3, r2, r3 8070592: 08db lsrs r3, r3, #3 8070594: b2db uxtb r3, r3 8070596: 3330 adds r3, #48 ; 0x30 8070598: b2da uxtb r2, r3 807059a: f507 733b add.w r3, r7, #748 ; 0x2ec 807059e: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 80705a0: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 80705a4: 4b22 ldr r3, [pc, #136] ; (8070630 ) 80705a6: fba3 2301 umull r2, r3, r3, r1 80705aa: 08da lsrs r2, r3, #3 80705ac: 4613 mov r3, r2 80705ae: 009b lsls r3, r3, #2 80705b0: 4413 add r3, r2 80705b2: 005b lsls r3, r3, #1 80705b4: 1aca subs r2, r1, r3 80705b6: b2d3 uxtb r3, r2 80705b8: 3330 adds r3, #48 ; 0x30 80705ba: b2da uxtb r2, r3 80705bc: f507 733b add.w r3, r7, #748 ; 0x2ec 80705c0: 711a strb r2, [r3, #4] str[5] = ':'; 80705c2: f507 733b add.w r3, r7, #748 ; 0x2ec 80705c6: 223a movs r2, #58 ; 0x3a 80705c8: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 80705ca: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 80705ce: 4a18 ldr r2, [pc, #96] ; (8070630 ) 80705d0: fba2 2303 umull r2, r3, r2, r3 80705d4: 08db lsrs r3, r3, #3 80705d6: b2db uxtb r3, r3 80705d8: 3330 adds r3, #48 ; 0x30 80705da: b2da uxtb r2, r3 80705dc: f507 733b add.w r3, r7, #748 ; 0x2ec 80705e0: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 80705e2: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 80705e6: 4b12 ldr r3, [pc, #72] ; (8070630 ) 80705e8: fba3 2301 umull r2, r3, r3, r1 80705ec: 08da lsrs r2, r3, #3 80705ee: 4613 mov r3, r2 80705f0: 009b lsls r3, r3, #2 80705f2: 4413 add r3, r2 80705f4: 005b lsls r3, r3, #1 80705f6: 1aca subs r2, r1, r3 80705f8: b2d3 uxtb r3, r2 80705fa: 3330 adds r3, #48 ; 0x30 80705fc: b2da uxtb r2, r3 80705fe: f507 733b add.w r3, r7, #748 ; 0x2ec 8070602: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 8070604: f507 723b add.w r2, r7, #748 ; 0x2ec 8070608: 2301 movs r3, #1 807060a: 21e4 movs r1, #228 ; 0xe4 807060c: 20be movs r0, #190 ; 0xbe 807060e: f7e4 fec3 bl 8055398 8070612: f000 bd76 b.w 8071102 8070616: bf00 nop 8070618: 080d64dc .word 0x080d64dc 807061c: 080d64d0 .word 0x080d64d0 8070620: 080d64c8 .word 0x080d64c8 8070624: 080d64c0 .word 0x080d64c0 8070628: 080d52c4 .word 0x080d52c4 807062c: 64090000 .word 0x64090000 8070630: cccccccd .word 0xcccccccd if(l == 2) 8070634: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8070638: 2b02 cmp r3, #2 807063a: f040 821d bne.w 8070a78 k = CmplxA_u32(0); 807063e: 4bde ldr r3, [pc, #888] ; (80709b8 ) 8070640: 681b ldr r3, [r3, #0] 8070642: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8070646: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807064a: 0e5b lsrs r3, r3, #25 807064c: 3b14 subs r3, #20 807064e: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8070652: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070656: 0d5b lsrs r3, r3, #21 8070658: f003 030f and.w r3, r3, #15 807065c: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 8070660: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070664: 0c1b lsrs r3, r3, #16 8070666: f003 031f and.w r3, r3, #31 807066a: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 807066e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070672: 0adb lsrs r3, r3, #11 8070674: f003 031f and.w r3, r3, #31 8070678: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 807067c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070680: 095b lsrs r3, r3, #5 8070682: f003 033f and.w r3, r3, #63 ; 0x3f 8070686: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 807068a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807068e: 005b lsls r3, r3, #1 8070690: f003 031f and.w r3, r3, #31 8070694: 3301 adds r3, #1 8070696: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 807069a: f507 733b add.w r3, r7, #748 ; 0x2ec 807069e: 223c movs r2, #60 ; 0x3c 80706a0: 2100 movs r1, #0 80706a2: 4618 mov r0, r3 80706a4: f061 fc7e bl 80d1fa4 str[0] = (Day / 10) + 48; 80706a8: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 80706ac: 4ac3 ldr r2, [pc, #780] ; (80709bc ) 80706ae: fba2 2303 umull r2, r3, r2, r3 80706b2: 08db lsrs r3, r3, #3 80706b4: b2db uxtb r3, r3 80706b6: 3330 adds r3, #48 ; 0x30 80706b8: b2da uxtb r2, r3 80706ba: f507 733b add.w r3, r7, #748 ; 0x2ec 80706be: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 80706c0: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 80706c4: 4bbd ldr r3, [pc, #756] ; (80709bc ) 80706c6: fba3 2301 umull r2, r3, r3, r1 80706ca: 08da lsrs r2, r3, #3 80706cc: 4613 mov r3, r2 80706ce: 009b lsls r3, r3, #2 80706d0: 4413 add r3, r2 80706d2: 005b lsls r3, r3, #1 80706d4: 1aca subs r2, r1, r3 80706d6: b2d3 uxtb r3, r2 80706d8: 3330 adds r3, #48 ; 0x30 80706da: b2da uxtb r2, r3 80706dc: f507 733b add.w r3, r7, #748 ; 0x2ec 80706e0: 705a strb r2, [r3, #1] str[2] = '.'; 80706e2: f507 733b add.w r3, r7, #748 ; 0x2ec 80706e6: 222e movs r2, #46 ; 0x2e 80706e8: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 80706ea: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 80706ee: 4ab3 ldr r2, [pc, #716] ; (80709bc ) 80706f0: fba2 2303 umull r2, r3, r2, r3 80706f4: 08db lsrs r3, r3, #3 80706f6: b2db uxtb r3, r3 80706f8: 3330 adds r3, #48 ; 0x30 80706fa: b2da uxtb r2, r3 80706fc: f507 733b add.w r3, r7, #748 ; 0x2ec 8070700: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8070702: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8070706: 4bad ldr r3, [pc, #692] ; (80709bc ) 8070708: fba3 2301 umull r2, r3, r3, r1 807070c: 08da lsrs r2, r3, #3 807070e: 4613 mov r3, r2 8070710: 009b lsls r3, r3, #2 8070712: 4413 add r3, r2 8070714: 005b lsls r3, r3, #1 8070716: 1aca subs r2, r1, r3 8070718: b2d3 uxtb r3, r2 807071a: 3330 adds r3, #48 ; 0x30 807071c: b2da uxtb r2, r3 807071e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070722: 711a strb r2, [r3, #4] str[5] = '.'; 8070724: f507 733b add.w r3, r7, #748 ; 0x2ec 8070728: 222e movs r2, #46 ; 0x2e 807072a: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 807072c: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 8070730: 4aa2 ldr r2, [pc, #648] ; (80709bc ) 8070732: fba2 2303 umull r2, r3, r2, r3 8070736: 08db lsrs r3, r3, #3 8070738: b2db uxtb r3, r3 807073a: 3330 adds r3, #48 ; 0x30 807073c: b2da uxtb r2, r3 807073e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070742: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8070744: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8070748: 4b9c ldr r3, [pc, #624] ; (80709bc ) 807074a: fba3 2301 umull r2, r3, r3, r1 807074e: 08da lsrs r2, r3, #3 8070750: 4613 mov r3, r2 8070752: 009b lsls r3, r3, #2 8070754: 4413 add r3, r2 8070756: 005b lsls r3, r3, #1 8070758: 1aca subs r2, r1, r3 807075a: b2d3 uxtb r3, r2 807075c: 3330 adds r3, #48 ; 0x30 807075e: b2da uxtb r2, r3 8070760: f507 733b add.w r3, r7, #748 ; 0x2ec 8070764: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 8070766: f507 723b add.w r2, r7, #748 ; 0x2ec 807076a: 2301 movs r3, #1 807076c: 21dc movs r1, #220 ; 0xdc 807076e: 2050 movs r0, #80 ; 0x50 8070770: f7e4 fe12 bl 8055398 memset(str, 0, sizeof(str)); 8070774: f507 733b add.w r3, r7, #748 ; 0x2ec 8070778: 223c movs r2, #60 ; 0x3c 807077a: 2100 movs r1, #0 807077c: 4618 mov r0, r3 807077e: f061 fc11 bl 80d1fa4 str[0] = (Hour / 10) + 48; 8070782: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 8070786: 4a8d ldr r2, [pc, #564] ; (80709bc ) 8070788: fba2 2303 umull r2, r3, r2, r3 807078c: 08db lsrs r3, r3, #3 807078e: b2db uxtb r3, r3 8070790: 3330 adds r3, #48 ; 0x30 8070792: b2da uxtb r2, r3 8070794: f507 733b add.w r3, r7, #748 ; 0x2ec 8070798: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 807079a: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 807079e: 4b87 ldr r3, [pc, #540] ; (80709bc ) 80707a0: fba3 2301 umull r2, r3, r3, r1 80707a4: 08da lsrs r2, r3, #3 80707a6: 4613 mov r3, r2 80707a8: 009b lsls r3, r3, #2 80707aa: 4413 add r3, r2 80707ac: 005b lsls r3, r3, #1 80707ae: 1aca subs r2, r1, r3 80707b0: b2d3 uxtb r3, r2 80707b2: 3330 adds r3, #48 ; 0x30 80707b4: b2da uxtb r2, r3 80707b6: f507 733b add.w r3, r7, #748 ; 0x2ec 80707ba: 705a strb r2, [r3, #1] str[2] = ':'; 80707bc: f507 733b add.w r3, r7, #748 ; 0x2ec 80707c0: 223a movs r2, #58 ; 0x3a 80707c2: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 80707c4: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 80707c8: 4a7c ldr r2, [pc, #496] ; (80709bc ) 80707ca: fba2 2303 umull r2, r3, r2, r3 80707ce: 08db lsrs r3, r3, #3 80707d0: b2db uxtb r3, r3 80707d2: 3330 adds r3, #48 ; 0x30 80707d4: b2da uxtb r2, r3 80707d6: f507 733b add.w r3, r7, #748 ; 0x2ec 80707da: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 80707dc: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 80707e0: 4b76 ldr r3, [pc, #472] ; (80709bc ) 80707e2: fba3 2301 umull r2, r3, r3, r1 80707e6: 08da lsrs r2, r3, #3 80707e8: 4613 mov r3, r2 80707ea: 009b lsls r3, r3, #2 80707ec: 4413 add r3, r2 80707ee: 005b lsls r3, r3, #1 80707f0: 1aca subs r2, r1, r3 80707f2: b2d3 uxtb r3, r2 80707f4: 3330 adds r3, #48 ; 0x30 80707f6: b2da uxtb r2, r3 80707f8: f507 733b add.w r3, r7, #748 ; 0x2ec 80707fc: 711a strb r2, [r3, #4] str[5] = ':'; 80707fe: f507 733b add.w r3, r7, #748 ; 0x2ec 8070802: 223a movs r2, #58 ; 0x3a 8070804: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 8070806: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 807080a: 4a6c ldr r2, [pc, #432] ; (80709bc ) 807080c: fba2 2303 umull r2, r3, r2, r3 8070810: 08db lsrs r3, r3, #3 8070812: b2db uxtb r3, r3 8070814: 3330 adds r3, #48 ; 0x30 8070816: b2da uxtb r2, r3 8070818: f507 733b add.w r3, r7, #748 ; 0x2ec 807081c: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 807081e: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 8070822: 4b66 ldr r3, [pc, #408] ; (80709bc ) 8070824: fba3 2301 umull r2, r3, r3, r1 8070828: 08da lsrs r2, r3, #3 807082a: 4613 mov r3, r2 807082c: 009b lsls r3, r3, #2 807082e: 4413 add r3, r2 8070830: 005b lsls r3, r3, #1 8070832: 1aca subs r2, r1, r3 8070834: b2d3 uxtb r3, r2 8070836: 3330 adds r3, #48 ; 0x30 8070838: b2da uxtb r2, r3 807083a: f507 733b add.w r3, r7, #748 ; 0x2ec 807083e: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 8070840: f507 723b add.w r2, r7, #748 ; 0x2ec 8070844: 2301 movs r3, #1 8070846: 21e4 movs r1, #228 ; 0xe4 8070848: 2050 movs r0, #80 ; 0x50 807084a: f7e4 fda5 bl 8055398 k = CmplxA_u32(1); 807084e: 4b5c ldr r3, [pc, #368] ; (80709c0 ) 8070850: 681b ldr r3, [r3, #0] 8070852: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8070856: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807085a: 0e5b lsrs r3, r3, #25 807085c: 3b14 subs r3, #20 807085e: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8070862: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070866: 0d5b lsrs r3, r3, #21 8070868: f003 030f and.w r3, r3, #15 807086c: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 8070870: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070874: 0c1b lsrs r3, r3, #16 8070876: f003 031f and.w r3, r3, #31 807087a: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 807087e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070882: 0adb lsrs r3, r3, #11 8070884: f003 031f and.w r3, r3, #31 8070888: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 807088c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070890: 095b lsrs r3, r3, #5 8070892: f003 033f and.w r3, r3, #63 ; 0x3f 8070896: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 807089a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807089e: 005b lsls r3, r3, #1 80708a0: f003 031f and.w r3, r3, #31 80708a4: 3301 adds r3, #1 80708a6: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 80708aa: f507 733b add.w r3, r7, #748 ; 0x2ec 80708ae: 223c movs r2, #60 ; 0x3c 80708b0: 2100 movs r1, #0 80708b2: 4618 mov r0, r3 80708b4: f061 fb76 bl 80d1fa4 str[0] = (Day / 10) + 48; 80708b8: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 80708bc: 4a3f ldr r2, [pc, #252] ; (80709bc ) 80708be: fba2 2303 umull r2, r3, r2, r3 80708c2: 08db lsrs r3, r3, #3 80708c4: b2db uxtb r3, r3 80708c6: 3330 adds r3, #48 ; 0x30 80708c8: b2da uxtb r2, r3 80708ca: f507 733b add.w r3, r7, #748 ; 0x2ec 80708ce: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 80708d0: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 80708d4: 4b39 ldr r3, [pc, #228] ; (80709bc ) 80708d6: fba3 2301 umull r2, r3, r3, r1 80708da: 08da lsrs r2, r3, #3 80708dc: 4613 mov r3, r2 80708de: 009b lsls r3, r3, #2 80708e0: 4413 add r3, r2 80708e2: 005b lsls r3, r3, #1 80708e4: 1aca subs r2, r1, r3 80708e6: b2d3 uxtb r3, r2 80708e8: 3330 adds r3, #48 ; 0x30 80708ea: b2da uxtb r2, r3 80708ec: f507 733b add.w r3, r7, #748 ; 0x2ec 80708f0: 705a strb r2, [r3, #1] str[2] = '.'; 80708f2: f507 733b add.w r3, r7, #748 ; 0x2ec 80708f6: 222e movs r2, #46 ; 0x2e 80708f8: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 80708fa: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 80708fe: 4a2f ldr r2, [pc, #188] ; (80709bc ) 8070900: fba2 2303 umull r2, r3, r2, r3 8070904: 08db lsrs r3, r3, #3 8070906: b2db uxtb r3, r3 8070908: 3330 adds r3, #48 ; 0x30 807090a: b2da uxtb r2, r3 807090c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070910: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8070912: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8070916: 4b29 ldr r3, [pc, #164] ; (80709bc ) 8070918: fba3 2301 umull r2, r3, r3, r1 807091c: 08da lsrs r2, r3, #3 807091e: 4613 mov r3, r2 8070920: 009b lsls r3, r3, #2 8070922: 4413 add r3, r2 8070924: 005b lsls r3, r3, #1 8070926: 1aca subs r2, r1, r3 8070928: b2d3 uxtb r3, r2 807092a: 3330 adds r3, #48 ; 0x30 807092c: b2da uxtb r2, r3 807092e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070932: 711a strb r2, [r3, #4] str[5] = '.'; 8070934: f507 733b add.w r3, r7, #748 ; 0x2ec 8070938: 222e movs r2, #46 ; 0x2e 807093a: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 807093c: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 8070940: 4a1e ldr r2, [pc, #120] ; (80709bc ) 8070942: fba2 2303 umull r2, r3, r2, r3 8070946: 08db lsrs r3, r3, #3 8070948: b2db uxtb r3, r3 807094a: 3330 adds r3, #48 ; 0x30 807094c: b2da uxtb r2, r3 807094e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070952: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8070954: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8070958: 4b18 ldr r3, [pc, #96] ; (80709bc ) 807095a: fba3 2301 umull r2, r3, r3, r1 807095e: 08da lsrs r2, r3, #3 8070960: 4613 mov r3, r2 8070962: 009b lsls r3, r3, #2 8070964: 4413 add r3, r2 8070966: 005b lsls r3, r3, #1 8070968: 1aca subs r2, r1, r3 807096a: b2d3 uxtb r3, r2 807096c: 3330 adds r3, #48 ; 0x30 807096e: b2da uxtb r2, r3 8070970: f507 733b add.w r3, r7, #748 ; 0x2ec 8070974: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 8070976: f507 723b add.w r2, r7, #748 ; 0x2ec 807097a: 2301 movs r3, #1 807097c: 21dc movs r1, #220 ; 0xdc 807097e: f44f 7095 mov.w r0, #298 ; 0x12a 8070982: f7e4 fd09 bl 8055398 memset(str, 0, sizeof(str)); 8070986: f507 733b add.w r3, r7, #748 ; 0x2ec 807098a: 223c movs r2, #60 ; 0x3c 807098c: 2100 movs r1, #0 807098e: 4618 mov r0, r3 8070990: f061 fb08 bl 80d1fa4 str[0] = (Hour / 10) + 48; 8070994: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 8070998: 4a08 ldr r2, [pc, #32] ; (80709bc ) 807099a: fba2 2303 umull r2, r3, r2, r3 807099e: 08db lsrs r3, r3, #3 80709a0: b2db uxtb r3, r3 80709a2: 3330 adds r3, #48 ; 0x30 80709a4: b2da uxtb r2, r3 80709a6: f507 733b add.w r3, r7, #748 ; 0x2ec 80709aa: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 80709ac: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 80709b0: 4b02 ldr r3, [pc, #8] ; (80709bc ) 80709b2: fba3 2301 umull r2, r3, r3, r1 80709b6: e005 b.n 80709c4 80709b8: 64090000 .word 0x64090000 80709bc: cccccccd .word 0xcccccccd 80709c0: 64090004 .word 0x64090004 80709c4: 08da lsrs r2, r3, #3 80709c6: 4613 mov r3, r2 80709c8: 009b lsls r3, r3, #2 80709ca: 4413 add r3, r2 80709cc: 005b lsls r3, r3, #1 80709ce: 1aca subs r2, r1, r3 80709d0: b2d3 uxtb r3, r2 80709d2: 3330 adds r3, #48 ; 0x30 80709d4: b2da uxtb r2, r3 80709d6: f507 733b add.w r3, r7, #748 ; 0x2ec 80709da: 705a strb r2, [r3, #1] str[2] = ':'; 80709dc: f507 733b add.w r3, r7, #748 ; 0x2ec 80709e0: 223a movs r2, #58 ; 0x3a 80709e2: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 80709e4: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 80709e8: 4a22 ldr r2, [pc, #136] ; (8070a74 ) 80709ea: fba2 2303 umull r2, r3, r2, r3 80709ee: 08db lsrs r3, r3, #3 80709f0: b2db uxtb r3, r3 80709f2: 3330 adds r3, #48 ; 0x30 80709f4: b2da uxtb r2, r3 80709f6: f507 733b add.w r3, r7, #748 ; 0x2ec 80709fa: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 80709fc: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8070a00: 4b1c ldr r3, [pc, #112] ; (8070a74 ) 8070a02: fba3 2301 umull r2, r3, r3, r1 8070a06: 08da lsrs r2, r3, #3 8070a08: 4613 mov r3, r2 8070a0a: 009b lsls r3, r3, #2 8070a0c: 4413 add r3, r2 8070a0e: 005b lsls r3, r3, #1 8070a10: 1aca subs r2, r1, r3 8070a12: b2d3 uxtb r3, r2 8070a14: 3330 adds r3, #48 ; 0x30 8070a16: b2da uxtb r2, r3 8070a18: f507 733b add.w r3, r7, #748 ; 0x2ec 8070a1c: 711a strb r2, [r3, #4] str[5] = ':'; 8070a1e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070a22: 223a movs r2, #58 ; 0x3a 8070a24: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 8070a26: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 8070a2a: 4a12 ldr r2, [pc, #72] ; (8070a74 ) 8070a2c: fba2 2303 umull r2, r3, r2, r3 8070a30: 08db lsrs r3, r3, #3 8070a32: b2db uxtb r3, r3 8070a34: 3330 adds r3, #48 ; 0x30 8070a36: b2da uxtb r2, r3 8070a38: f507 733b add.w r3, r7, #748 ; 0x2ec 8070a3c: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 8070a3e: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 8070a42: 4b0c ldr r3, [pc, #48] ; (8070a74 ) 8070a44: fba3 2301 umull r2, r3, r3, r1 8070a48: 08da lsrs r2, r3, #3 8070a4a: 4613 mov r3, r2 8070a4c: 009b lsls r3, r3, #2 8070a4e: 4413 add r3, r2 8070a50: 005b lsls r3, r3, #1 8070a52: 1aca subs r2, r1, r3 8070a54: b2d3 uxtb r3, r2 8070a56: 3330 adds r3, #48 ; 0x30 8070a58: b2da uxtb r2, r3 8070a5a: f507 733b add.w r3, r7, #748 ; 0x2ec 8070a5e: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 8070a60: f507 723b add.w r2, r7, #748 ; 0x2ec 8070a64: 2301 movs r3, #1 8070a66: 21e4 movs r1, #228 ; 0xe4 8070a68: f44f 7095 mov.w r0, #298 ; 0x12a 8070a6c: f7e4 fc94 bl 8055398 8070a70: e347 b.n 8071102 8070a72: bf00 nop 8070a74: cccccccd .word 0xcccccccd k = CmplxA_u32(0); 8070a78: 4be0 ldr r3, [pc, #896] ; (8070dfc ) 8070a7a: 681b ldr r3, [r3, #0] 8070a7c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8070a80: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070a84: 0e5b lsrs r3, r3, #25 8070a86: 3b14 subs r3, #20 8070a88: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8070a8c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070a90: 0d5b lsrs r3, r3, #21 8070a92: f003 030f and.w r3, r3, #15 8070a96: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 8070a9a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070a9e: 0c1b lsrs r3, r3, #16 8070aa0: f003 031f and.w r3, r3, #31 8070aa4: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 8070aa8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070aac: 0adb lsrs r3, r3, #11 8070aae: f003 031f and.w r3, r3, #31 8070ab2: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 8070ab6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070aba: 095b lsrs r3, r3, #5 8070abc: f003 033f and.w r3, r3, #63 ; 0x3f 8070ac0: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 8070ac4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070ac8: 005b lsls r3, r3, #1 8070aca: f003 031f and.w r3, r3, #31 8070ace: 3301 adds r3, #1 8070ad0: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 8070ad4: f507 733b add.w r3, r7, #748 ; 0x2ec 8070ad8: 223c movs r2, #60 ; 0x3c 8070ada: 2100 movs r1, #0 8070adc: 4618 mov r0, r3 8070ade: f061 fa61 bl 80d1fa4 str[0] = (Day / 10) + 48; 8070ae2: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 8070ae6: 4ac6 ldr r2, [pc, #792] ; (8070e00 ) 8070ae8: fba2 2303 umull r2, r3, r2, r3 8070aec: 08db lsrs r3, r3, #3 8070aee: b2db uxtb r3, r3 8070af0: 3330 adds r3, #48 ; 0x30 8070af2: b2da uxtb r2, r3 8070af4: f507 733b add.w r3, r7, #748 ; 0x2ec 8070af8: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 8070afa: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 8070afe: 4bc0 ldr r3, [pc, #768] ; (8070e00 ) 8070b00: fba3 2301 umull r2, r3, r3, r1 8070b04: 08da lsrs r2, r3, #3 8070b06: 4613 mov r3, r2 8070b08: 009b lsls r3, r3, #2 8070b0a: 4413 add r3, r2 8070b0c: 005b lsls r3, r3, #1 8070b0e: 1aca subs r2, r1, r3 8070b10: b2d3 uxtb r3, r2 8070b12: 3330 adds r3, #48 ; 0x30 8070b14: b2da uxtb r2, r3 8070b16: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b1a: 705a strb r2, [r3, #1] str[2] = '.'; 8070b1c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b20: 222e movs r2, #46 ; 0x2e 8070b22: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 8070b24: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8070b28: 4ab5 ldr r2, [pc, #724] ; (8070e00 ) 8070b2a: fba2 2303 umull r2, r3, r2, r3 8070b2e: 08db lsrs r3, r3, #3 8070b30: b2db uxtb r3, r3 8070b32: 3330 adds r3, #48 ; 0x30 8070b34: b2da uxtb r2, r3 8070b36: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b3a: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8070b3c: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8070b40: 4baf ldr r3, [pc, #700] ; (8070e00 ) 8070b42: fba3 2301 umull r2, r3, r3, r1 8070b46: 08da lsrs r2, r3, #3 8070b48: 4613 mov r3, r2 8070b4a: 009b lsls r3, r3, #2 8070b4c: 4413 add r3, r2 8070b4e: 005b lsls r3, r3, #1 8070b50: 1aca subs r2, r1, r3 8070b52: b2d3 uxtb r3, r2 8070b54: 3330 adds r3, #48 ; 0x30 8070b56: b2da uxtb r2, r3 8070b58: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b5c: 711a strb r2, [r3, #4] str[5] = '.'; 8070b5e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b62: 222e movs r2, #46 ; 0x2e 8070b64: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 8070b66: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 8070b6a: 4aa5 ldr r2, [pc, #660] ; (8070e00 ) 8070b6c: fba2 2303 umull r2, r3, r2, r3 8070b70: 08db lsrs r3, r3, #3 8070b72: b2db uxtb r3, r3 8070b74: 3330 adds r3, #48 ; 0x30 8070b76: b2da uxtb r2, r3 8070b78: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b7c: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8070b7e: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8070b82: 4b9f ldr r3, [pc, #636] ; (8070e00 ) 8070b84: fba3 2301 umull r2, r3, r3, r1 8070b88: 08da lsrs r2, r3, #3 8070b8a: 4613 mov r3, r2 8070b8c: 009b lsls r3, r3, #2 8070b8e: 4413 add r3, r2 8070b90: 005b lsls r3, r3, #1 8070b92: 1aca subs r2, r1, r3 8070b94: b2d3 uxtb r3, r2 8070b96: 3330 adds r3, #48 ; 0x30 8070b98: b2da uxtb r2, r3 8070b9a: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b9e: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 8070ba0: f507 723b add.w r2, r7, #748 ; 0x2ec 8070ba4: 2301 movs r3, #1 8070ba6: 21dc movs r1, #220 ; 0xdc 8070ba8: 2050 movs r0, #80 ; 0x50 8070baa: f7e4 fbf5 bl 8055398 memset(str, 0, sizeof(str)); 8070bae: f507 733b add.w r3, r7, #748 ; 0x2ec 8070bb2: 223c movs r2, #60 ; 0x3c 8070bb4: 2100 movs r1, #0 8070bb6: 4618 mov r0, r3 8070bb8: f061 f9f4 bl 80d1fa4 str[0] = (Hour / 10) + 48; 8070bbc: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 8070bc0: 4a8f ldr r2, [pc, #572] ; (8070e00 ) 8070bc2: fba2 2303 umull r2, r3, r2, r3 8070bc6: 08db lsrs r3, r3, #3 8070bc8: b2db uxtb r3, r3 8070bca: 3330 adds r3, #48 ; 0x30 8070bcc: b2da uxtb r2, r3 8070bce: f507 733b add.w r3, r7, #748 ; 0x2ec 8070bd2: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 8070bd4: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8070bd8: 4b89 ldr r3, [pc, #548] ; (8070e00 ) 8070bda: fba3 2301 umull r2, r3, r3, r1 8070bde: 08da lsrs r2, r3, #3 8070be0: 4613 mov r3, r2 8070be2: 009b lsls r3, r3, #2 8070be4: 4413 add r3, r2 8070be6: 005b lsls r3, r3, #1 8070be8: 1aca subs r2, r1, r3 8070bea: b2d3 uxtb r3, r2 8070bec: 3330 adds r3, #48 ; 0x30 8070bee: b2da uxtb r2, r3 8070bf0: f507 733b add.w r3, r7, #748 ; 0x2ec 8070bf4: 705a strb r2, [r3, #1] str[2] = ':'; 8070bf6: f507 733b add.w r3, r7, #748 ; 0x2ec 8070bfa: 223a movs r2, #58 ; 0x3a 8070bfc: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 8070bfe: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 8070c02: 4a7f ldr r2, [pc, #508] ; (8070e00 ) 8070c04: fba2 2303 umull r2, r3, r2, r3 8070c08: 08db lsrs r3, r3, #3 8070c0a: b2db uxtb r3, r3 8070c0c: 3330 adds r3, #48 ; 0x30 8070c0e: b2da uxtb r2, r3 8070c10: f507 733b add.w r3, r7, #748 ; 0x2ec 8070c14: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 8070c16: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8070c1a: 4b79 ldr r3, [pc, #484] ; (8070e00 ) 8070c1c: fba3 2301 umull r2, r3, r3, r1 8070c20: 08da lsrs r2, r3, #3 8070c22: 4613 mov r3, r2 8070c24: 009b lsls r3, r3, #2 8070c26: 4413 add r3, r2 8070c28: 005b lsls r3, r3, #1 8070c2a: 1aca subs r2, r1, r3 8070c2c: b2d3 uxtb r3, r2 8070c2e: 3330 adds r3, #48 ; 0x30 8070c30: b2da uxtb r2, r3 8070c32: f507 733b add.w r3, r7, #748 ; 0x2ec 8070c36: 711a strb r2, [r3, #4] str[5] = ':'; 8070c38: f507 733b add.w r3, r7, #748 ; 0x2ec 8070c3c: 223a movs r2, #58 ; 0x3a 8070c3e: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 8070c40: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 8070c44: 4a6e ldr r2, [pc, #440] ; (8070e00 ) 8070c46: fba2 2303 umull r2, r3, r2, r3 8070c4a: 08db lsrs r3, r3, #3 8070c4c: b2db uxtb r3, r3 8070c4e: 3330 adds r3, #48 ; 0x30 8070c50: b2da uxtb r2, r3 8070c52: f507 733b add.w r3, r7, #748 ; 0x2ec 8070c56: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 8070c58: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 8070c5c: 4b68 ldr r3, [pc, #416] ; (8070e00 ) 8070c5e: fba3 2301 umull r2, r3, r3, r1 8070c62: 08da lsrs r2, r3, #3 8070c64: 4613 mov r3, r2 8070c66: 009b lsls r3, r3, #2 8070c68: 4413 add r3, r2 8070c6a: 005b lsls r3, r3, #1 8070c6c: 1aca subs r2, r1, r3 8070c6e: b2d3 uxtb r3, r2 8070c70: 3330 adds r3, #48 ; 0x30 8070c72: b2da uxtb r2, r3 8070c74: f507 733b add.w r3, r7, #748 ; 0x2ec 8070c78: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 8070c7a: f507 723b add.w r2, r7, #748 ; 0x2ec 8070c7e: 2301 movs r3, #1 8070c80: 21e4 movs r1, #228 ; 0xe4 8070c82: 2050 movs r0, #80 ; 0x50 8070c84: f7e4 fb88 bl 8055398 f = (float32_t) l / 2; 8070c88: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8070c8c: ee07 3a90 vmov s15, r3 8070c90: eeb8 7a67 vcvt.f32.u32 s14, s15 8070c94: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 8070c98: eec7 7a26 vdiv.f32 s15, s14, s13 8070c9c: f507 638b add.w r3, r7, #1112 ; 0x458 8070ca0: edc3 7a00 vstr s15, [r3] i = (uint32_t) (f + 0.5f); 8070ca4: f507 638b add.w r3, r7, #1112 ; 0x458 8070ca8: edd3 7a00 vldr s15, [r3] 8070cac: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070cb0: ee77 7a87 vadd.f32 s15, s15, s14 8070cb4: eefc 7ae7 vcvt.u32.f32 s15, s15 8070cb8: ee17 3a90 vmov r3, s15 8070cbc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 k = CmplxA_u32(i); 8070cc0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8070cc4: 009a lsls r2, r3, #2 8070cc6: 4b4d ldr r3, [pc, #308] ; (8070dfc ) 8070cc8: 4413 add r3, r2 8070cca: 681b ldr r3, [r3, #0] 8070ccc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8070cd0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070cd4: 0e5b lsrs r3, r3, #25 8070cd6: 3b14 subs r3, #20 8070cd8: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8070cdc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070ce0: 0d5b lsrs r3, r3, #21 8070ce2: f003 030f and.w r3, r3, #15 8070ce6: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 8070cea: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070cee: 0c1b lsrs r3, r3, #16 8070cf0: f003 031f and.w r3, r3, #31 8070cf4: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 8070cf8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070cfc: 0adb lsrs r3, r3, #11 8070cfe: f003 031f and.w r3, r3, #31 8070d02: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 8070d06: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070d0a: 095b lsrs r3, r3, #5 8070d0c: f003 033f and.w r3, r3, #63 ; 0x3f 8070d10: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 8070d14: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070d18: 005b lsls r3, r3, #1 8070d1a: f003 031f and.w r3, r3, #31 8070d1e: 3301 adds r3, #1 8070d20: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 8070d24: f507 733b add.w r3, r7, #748 ; 0x2ec 8070d28: 223c movs r2, #60 ; 0x3c 8070d2a: 2100 movs r1, #0 8070d2c: 4618 mov r0, r3 8070d2e: f061 f939 bl 80d1fa4 str[0] = (Day / 10) + 48; 8070d32: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 8070d36: 4a32 ldr r2, [pc, #200] ; (8070e00 ) 8070d38: fba2 2303 umull r2, r3, r2, r3 8070d3c: 08db lsrs r3, r3, #3 8070d3e: b2db uxtb r3, r3 8070d40: 3330 adds r3, #48 ; 0x30 8070d42: b2da uxtb r2, r3 8070d44: f507 733b add.w r3, r7, #748 ; 0x2ec 8070d48: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 8070d4a: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 8070d4e: 4b2c ldr r3, [pc, #176] ; (8070e00 ) 8070d50: fba3 2301 umull r2, r3, r3, r1 8070d54: 08da lsrs r2, r3, #3 8070d56: 4613 mov r3, r2 8070d58: 009b lsls r3, r3, #2 8070d5a: 4413 add r3, r2 8070d5c: 005b lsls r3, r3, #1 8070d5e: 1aca subs r2, r1, r3 8070d60: b2d3 uxtb r3, r2 8070d62: 3330 adds r3, #48 ; 0x30 8070d64: b2da uxtb r2, r3 8070d66: f507 733b add.w r3, r7, #748 ; 0x2ec 8070d6a: 705a strb r2, [r3, #1] str[2] = '.'; 8070d6c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070d70: 222e movs r2, #46 ; 0x2e 8070d72: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 8070d74: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8070d78: 4a21 ldr r2, [pc, #132] ; (8070e00 ) 8070d7a: fba2 2303 umull r2, r3, r2, r3 8070d7e: 08db lsrs r3, r3, #3 8070d80: b2db uxtb r3, r3 8070d82: 3330 adds r3, #48 ; 0x30 8070d84: b2da uxtb r2, r3 8070d86: f507 733b add.w r3, r7, #748 ; 0x2ec 8070d8a: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8070d8c: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8070d90: 4b1b ldr r3, [pc, #108] ; (8070e00 ) 8070d92: fba3 2301 umull r2, r3, r3, r1 8070d96: 08da lsrs r2, r3, #3 8070d98: 4613 mov r3, r2 8070d9a: 009b lsls r3, r3, #2 8070d9c: 4413 add r3, r2 8070d9e: 005b lsls r3, r3, #1 8070da0: 1aca subs r2, r1, r3 8070da2: b2d3 uxtb r3, r2 8070da4: 3330 adds r3, #48 ; 0x30 8070da6: b2da uxtb r2, r3 8070da8: f507 733b add.w r3, r7, #748 ; 0x2ec 8070dac: 711a strb r2, [r3, #4] str[5] = '.'; 8070dae: f507 733b add.w r3, r7, #748 ; 0x2ec 8070db2: 222e movs r2, #46 ; 0x2e 8070db4: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 8070db6: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 8070dba: 4a11 ldr r2, [pc, #68] ; (8070e00 ) 8070dbc: fba2 2303 umull r2, r3, r2, r3 8070dc0: 08db lsrs r3, r3, #3 8070dc2: b2db uxtb r3, r3 8070dc4: 3330 adds r3, #48 ; 0x30 8070dc6: b2da uxtb r2, r3 8070dc8: f507 733b add.w r3, r7, #748 ; 0x2ec 8070dcc: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8070dce: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8070dd2: 4b0b ldr r3, [pc, #44] ; (8070e00 ) 8070dd4: fba3 2301 umull r2, r3, r3, r1 8070dd8: 08da lsrs r2, r3, #3 8070dda: 4613 mov r3, r2 8070ddc: 009b lsls r3, r3, #2 8070dde: 4413 add r3, r2 8070de0: 005b lsls r3, r3, #1 8070de2: 1aca subs r2, r1, r3 8070de4: b2d3 uxtb r3, r2 8070de6: 3330 adds r3, #48 ; 0x30 8070de8: b2da uxtb r2, r3 8070dea: f507 733b add.w r3, r7, #748 ; 0x2ec 8070dee: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 8070df0: f507 723b add.w r2, r7, #748 ; 0x2ec 8070df4: 2301 movs r3, #1 8070df6: 21dc movs r1, #220 ; 0xdc 8070df8: e004 b.n 8070e04 8070dfa: bf00 nop 8070dfc: 64090000 .word 0x64090000 8070e00: cccccccd .word 0xcccccccd 8070e04: 20be movs r0, #190 ; 0xbe 8070e06: f7e4 fac7 bl 8055398 memset(str, 0, sizeof(str)); 8070e0a: f507 733b add.w r3, r7, #748 ; 0x2ec 8070e0e: 223c movs r2, #60 ; 0x3c 8070e10: 2100 movs r1, #0 8070e12: 4618 mov r0, r3 8070e14: f061 f8c6 bl 80d1fa4 str[0] = (Hour / 10) + 48; 8070e18: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 8070e1c: 4ad8 ldr r2, [pc, #864] ; (8071180 ) 8070e1e: fba2 2303 umull r2, r3, r2, r3 8070e22: 08db lsrs r3, r3, #3 8070e24: b2db uxtb r3, r3 8070e26: 3330 adds r3, #48 ; 0x30 8070e28: b2da uxtb r2, r3 8070e2a: f507 733b add.w r3, r7, #748 ; 0x2ec 8070e2e: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 8070e30: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8070e34: 4bd2 ldr r3, [pc, #840] ; (8071180 ) 8070e36: fba3 2301 umull r2, r3, r3, r1 8070e3a: 08da lsrs r2, r3, #3 8070e3c: 4613 mov r3, r2 8070e3e: 009b lsls r3, r3, #2 8070e40: 4413 add r3, r2 8070e42: 005b lsls r3, r3, #1 8070e44: 1aca subs r2, r1, r3 8070e46: b2d3 uxtb r3, r2 8070e48: 3330 adds r3, #48 ; 0x30 8070e4a: b2da uxtb r2, r3 8070e4c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070e50: 705a strb r2, [r3, #1] str[2] = ':'; 8070e52: f507 733b add.w r3, r7, #748 ; 0x2ec 8070e56: 223a movs r2, #58 ; 0x3a 8070e58: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 8070e5a: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 8070e5e: 4ac8 ldr r2, [pc, #800] ; (8071180 ) 8070e60: fba2 2303 umull r2, r3, r2, r3 8070e64: 08db lsrs r3, r3, #3 8070e66: b2db uxtb r3, r3 8070e68: 3330 adds r3, #48 ; 0x30 8070e6a: b2da uxtb r2, r3 8070e6c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070e70: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 8070e72: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8070e76: 4bc2 ldr r3, [pc, #776] ; (8071180 ) 8070e78: fba3 2301 umull r2, r3, r3, r1 8070e7c: 08da lsrs r2, r3, #3 8070e7e: 4613 mov r3, r2 8070e80: 009b lsls r3, r3, #2 8070e82: 4413 add r3, r2 8070e84: 005b lsls r3, r3, #1 8070e86: 1aca subs r2, r1, r3 8070e88: b2d3 uxtb r3, r2 8070e8a: 3330 adds r3, #48 ; 0x30 8070e8c: b2da uxtb r2, r3 8070e8e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070e92: 711a strb r2, [r3, #4] str[5] = ':'; 8070e94: f507 733b add.w r3, r7, #748 ; 0x2ec 8070e98: 223a movs r2, #58 ; 0x3a 8070e9a: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 8070e9c: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 8070ea0: 4ab7 ldr r2, [pc, #732] ; (8071180 ) 8070ea2: fba2 2303 umull r2, r3, r2, r3 8070ea6: 08db lsrs r3, r3, #3 8070ea8: b2db uxtb r3, r3 8070eaa: 3330 adds r3, #48 ; 0x30 8070eac: b2da uxtb r2, r3 8070eae: f507 733b add.w r3, r7, #748 ; 0x2ec 8070eb2: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 8070eb4: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 8070eb8: 4bb1 ldr r3, [pc, #708] ; (8071180 ) 8070eba: fba3 2301 umull r2, r3, r3, r1 8070ebe: 08da lsrs r2, r3, #3 8070ec0: 4613 mov r3, r2 8070ec2: 009b lsls r3, r3, #2 8070ec4: 4413 add r3, r2 8070ec6: 005b lsls r3, r3, #1 8070ec8: 1aca subs r2, r1, r3 8070eca: b2d3 uxtb r3, r2 8070ecc: 3330 adds r3, #48 ; 0x30 8070ece: b2da uxtb r2, r3 8070ed0: f507 733b add.w r3, r7, #748 ; 0x2ec 8070ed4: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 8070ed6: f507 723b add.w r2, r7, #748 ; 0x2ec 8070eda: 2301 movs r3, #1 8070edc: 21e4 movs r1, #228 ; 0xe4 8070ede: 20be movs r0, #190 ; 0xbe 8070ee0: f7e4 fa5a bl 8055398 k = CmplxA_u32(l - 1); 8070ee4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8070ee8: 3b01 subs r3, #1 8070eea: 009a lsls r2, r3, #2 8070eec: 4ba5 ldr r3, [pc, #660] ; (8071184 ) 8070eee: 4413 add r3, r2 8070ef0: 681b ldr r3, [r3, #0] 8070ef2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8070ef6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070efa: 0e5b lsrs r3, r3, #25 8070efc: 3b14 subs r3, #20 8070efe: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8070f02: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070f06: 0d5b lsrs r3, r3, #21 8070f08: f003 030f and.w r3, r3, #15 8070f0c: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 8070f10: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070f14: 0c1b lsrs r3, r3, #16 8070f16: f003 031f and.w r3, r3, #31 8070f1a: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 8070f1e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070f22: 0adb lsrs r3, r3, #11 8070f24: f003 031f and.w r3, r3, #31 8070f28: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 8070f2c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070f30: 095b lsrs r3, r3, #5 8070f32: f003 033f and.w r3, r3, #63 ; 0x3f 8070f36: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 8070f3a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070f3e: 005b lsls r3, r3, #1 8070f40: f003 031f and.w r3, r3, #31 8070f44: 3301 adds r3, #1 8070f46: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 8070f4a: f507 733b add.w r3, r7, #748 ; 0x2ec 8070f4e: 223c movs r2, #60 ; 0x3c 8070f50: 2100 movs r1, #0 8070f52: 4618 mov r0, r3 8070f54: f061 f826 bl 80d1fa4 str[0] = (Day / 10) + 48; 8070f58: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 8070f5c: 4a88 ldr r2, [pc, #544] ; (8071180 ) 8070f5e: fba2 2303 umull r2, r3, r2, r3 8070f62: 08db lsrs r3, r3, #3 8070f64: b2db uxtb r3, r3 8070f66: 3330 adds r3, #48 ; 0x30 8070f68: b2da uxtb r2, r3 8070f6a: f507 733b add.w r3, r7, #748 ; 0x2ec 8070f6e: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 8070f70: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 8070f74: 4b82 ldr r3, [pc, #520] ; (8071180 ) 8070f76: fba3 2301 umull r2, r3, r3, r1 8070f7a: 08da lsrs r2, r3, #3 8070f7c: 4613 mov r3, r2 8070f7e: 009b lsls r3, r3, #2 8070f80: 4413 add r3, r2 8070f82: 005b lsls r3, r3, #1 8070f84: 1aca subs r2, r1, r3 8070f86: b2d3 uxtb r3, r2 8070f88: 3330 adds r3, #48 ; 0x30 8070f8a: b2da uxtb r2, r3 8070f8c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070f90: 705a strb r2, [r3, #1] str[2] = '.'; 8070f92: f507 733b add.w r3, r7, #748 ; 0x2ec 8070f96: 222e movs r2, #46 ; 0x2e 8070f98: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 8070f9a: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8070f9e: 4a78 ldr r2, [pc, #480] ; (8071180 ) 8070fa0: fba2 2303 umull r2, r3, r2, r3 8070fa4: 08db lsrs r3, r3, #3 8070fa6: b2db uxtb r3, r3 8070fa8: 3330 adds r3, #48 ; 0x30 8070faa: b2da uxtb r2, r3 8070fac: f507 733b add.w r3, r7, #748 ; 0x2ec 8070fb0: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8070fb2: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8070fb6: 4b72 ldr r3, [pc, #456] ; (8071180 ) 8070fb8: fba3 2301 umull r2, r3, r3, r1 8070fbc: 08da lsrs r2, r3, #3 8070fbe: 4613 mov r3, r2 8070fc0: 009b lsls r3, r3, #2 8070fc2: 4413 add r3, r2 8070fc4: 005b lsls r3, r3, #1 8070fc6: 1aca subs r2, r1, r3 8070fc8: b2d3 uxtb r3, r2 8070fca: 3330 adds r3, #48 ; 0x30 8070fcc: b2da uxtb r2, r3 8070fce: f507 733b add.w r3, r7, #748 ; 0x2ec 8070fd2: 711a strb r2, [r3, #4] str[5] = '.'; 8070fd4: f507 733b add.w r3, r7, #748 ; 0x2ec 8070fd8: 222e movs r2, #46 ; 0x2e 8070fda: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 8070fdc: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 8070fe0: 4a67 ldr r2, [pc, #412] ; (8071180 ) 8070fe2: fba2 2303 umull r2, r3, r2, r3 8070fe6: 08db lsrs r3, r3, #3 8070fe8: b2db uxtb r3, r3 8070fea: 3330 adds r3, #48 ; 0x30 8070fec: b2da uxtb r2, r3 8070fee: f507 733b add.w r3, r7, #748 ; 0x2ec 8070ff2: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8070ff4: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8070ff8: 4b61 ldr r3, [pc, #388] ; (8071180 ) 8070ffa: fba3 2301 umull r2, r3, r3, r1 8070ffe: 08da lsrs r2, r3, #3 8071000: 4613 mov r3, r2 8071002: 009b lsls r3, r3, #2 8071004: 4413 add r3, r2 8071006: 005b lsls r3, r3, #1 8071008: 1aca subs r2, r1, r3 807100a: b2d3 uxtb r3, r2 807100c: 3330 adds r3, #48 ; 0x30 807100e: b2da uxtb r2, r3 8071010: f507 733b add.w r3, r7, #748 ; 0x2ec 8071014: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 8071016: f507 723b add.w r2, r7, #748 ; 0x2ec 807101a: 2301 movs r3, #1 807101c: 21dc movs r1, #220 ; 0xdc 807101e: f44f 7095 mov.w r0, #298 ; 0x12a 8071022: f7e4 f9b9 bl 8055398 memset(str, 0, sizeof(str)); 8071026: f507 733b add.w r3, r7, #748 ; 0x2ec 807102a: 223c movs r2, #60 ; 0x3c 807102c: 2100 movs r1, #0 807102e: 4618 mov r0, r3 8071030: f060 ffb8 bl 80d1fa4 str[0] = (Hour / 10) + 48; 8071034: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 8071038: 4a51 ldr r2, [pc, #324] ; (8071180 ) 807103a: fba2 2303 umull r2, r3, r2, r3 807103e: 08db lsrs r3, r3, #3 8071040: b2db uxtb r3, r3 8071042: 3330 adds r3, #48 ; 0x30 8071044: b2da uxtb r2, r3 8071046: f507 733b add.w r3, r7, #748 ; 0x2ec 807104a: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 807104c: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8071050: 4b4b ldr r3, [pc, #300] ; (8071180 ) 8071052: fba3 2301 umull r2, r3, r3, r1 8071056: 08da lsrs r2, r3, #3 8071058: 4613 mov r3, r2 807105a: 009b lsls r3, r3, #2 807105c: 4413 add r3, r2 807105e: 005b lsls r3, r3, #1 8071060: 1aca subs r2, r1, r3 8071062: b2d3 uxtb r3, r2 8071064: 3330 adds r3, #48 ; 0x30 8071066: b2da uxtb r2, r3 8071068: f507 733b add.w r3, r7, #748 ; 0x2ec 807106c: 705a strb r2, [r3, #1] str[2] = ':'; 807106e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071072: 223a movs r2, #58 ; 0x3a 8071074: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 8071076: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 807107a: 4a41 ldr r2, [pc, #260] ; (8071180 ) 807107c: fba2 2303 umull r2, r3, r2, r3 8071080: 08db lsrs r3, r3, #3 8071082: b2db uxtb r3, r3 8071084: 3330 adds r3, #48 ; 0x30 8071086: b2da uxtb r2, r3 8071088: f507 733b add.w r3, r7, #748 ; 0x2ec 807108c: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 807108e: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8071092: 4b3b ldr r3, [pc, #236] ; (8071180 ) 8071094: fba3 2301 umull r2, r3, r3, r1 8071098: 08da lsrs r2, r3, #3 807109a: 4613 mov r3, r2 807109c: 009b lsls r3, r3, #2 807109e: 4413 add r3, r2 80710a0: 005b lsls r3, r3, #1 80710a2: 1aca subs r2, r1, r3 80710a4: b2d3 uxtb r3, r2 80710a6: 3330 adds r3, #48 ; 0x30 80710a8: b2da uxtb r2, r3 80710aa: f507 733b add.w r3, r7, #748 ; 0x2ec 80710ae: 711a strb r2, [r3, #4] str[5] = ':'; 80710b0: f507 733b add.w r3, r7, #748 ; 0x2ec 80710b4: 223a movs r2, #58 ; 0x3a 80710b6: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 80710b8: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 80710bc: 4a30 ldr r2, [pc, #192] ; (8071180 ) 80710be: fba2 2303 umull r2, r3, r2, r3 80710c2: 08db lsrs r3, r3, #3 80710c4: b2db uxtb r3, r3 80710c6: 3330 adds r3, #48 ; 0x30 80710c8: b2da uxtb r2, r3 80710ca: f507 733b add.w r3, r7, #748 ; 0x2ec 80710ce: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 80710d0: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 80710d4: 4b2a ldr r3, [pc, #168] ; (8071180 ) 80710d6: fba3 2301 umull r2, r3, r3, r1 80710da: 08da lsrs r2, r3, #3 80710dc: 4613 mov r3, r2 80710de: 009b lsls r3, r3, #2 80710e0: 4413 add r3, r2 80710e2: 005b lsls r3, r3, #1 80710e4: 1aca subs r2, r1, r3 80710e6: b2d3 uxtb r3, r2 80710e8: 3330 adds r3, #48 ; 0x30 80710ea: b2da uxtb r2, r3 80710ec: f507 733b add.w r3, r7, #748 ; 0x2ec 80710f0: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 80710f2: f507 723b add.w r2, r7, #748 ; 0x2ec 80710f6: 2301 movs r3, #1 80710f8: 21e4 movs r1, #228 ; 0xe4 80710fa: f44f 7095 mov.w r0, #298 ; 0x12a 80710fe: f7e4 f94b bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8071102: 4921 ldr r1, [pc, #132] ; (8071188 ) 8071104: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8071108: f7e4 f880 bl 805520c for(i = 0; i < l; i++) 807110c: 2300 movs r3, #0 807110e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8071112: e2ca b.n 80716aa f = ScrA_f32(i); 8071114: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8071118: 009a lsls r2, r3, #2 807111a: 4b1c ldr r3, [pc, #112] ; (807118c ) 807111c: 4413 add r3, r2 807111e: 681b ldr r3, [r3, #0] 8071120: f507 628b add.w r2, r7, #1112 ; 0x458 8071124: 6013 str r3, [r2, #0] if(fmax <= 10.0f) ///////// 8071126: f207 434c addw r3, r7, #1100 ; 0x44c 807112a: edd3 7a00 vldr s15, [r3] 807112e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8071132: eef4 7ac7 vcmpe.f32 s15, s14 8071136: eef1 fa10 vmrs APSR_nzcv, fpscr 807113a: d831 bhi.n 80711a0 f = (100 * f / 10.0f) + 0.5f; 807113c: f507 638b add.w r3, r7, #1112 ; 0x458 8071140: edd3 7a00 vldr s15, [r3] 8071144: ed9f 7a13 vldr s14, [pc, #76] ; 8071194 8071148: ee27 7a87 vmul.f32 s14, s15, s14 807114c: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8071150: eec7 7a26 vdiv.f32 s15, s14, s13 8071154: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071158: ee77 7a87 vadd.f32 s15, s15, s14 807115c: f507 638b add.w r3, r7, #1112 ; 0x458 8071160: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8071164: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8071168: f507 628b add.w r2, r7, #1112 ; 0x458 807116c: edd2 7a00 vldr s15, [r2] 8071170: eefc 7ae7 vcvt.u32.f32 s15, s15 8071174: ee17 2a90 vmov r2, s15 8071178: 1a9b subs r3, r3, r2 807117a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807117e: e21b b.n 80715b8 8071180: cccccccd .word 0xcccccccd 8071184: 64090000 .word 0x64090000 8071188: ff0a0f1f .word 0xff0a0f1f 807118c: 64080000 .word 0x64080000 8071190: 42480000 .word 0x42480000 8071194: 42c80000 .word 0x42c80000 8071198: 447a0000 .word 0x447a0000 807119c: 461c4000 .word 0x461c4000 if(fmax <= 100.0f) ///////// 80711a0: f207 434c addw r3, r7, #1100 ; 0x44c 80711a4: edd3 7a00 vldr s15, [r3] 80711a8: ed1f 7a06 vldr s14, [pc, #-24] ; 8071194 80711ac: eef4 7ac7 vcmpe.f32 s15, s14 80711b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80711b4: f200 8084 bhi.w 80712c0 if(f <= 1.0f) 80711b8: f507 638b add.w r3, r7, #1112 ; 0x458 80711bc: edd3 7a00 vldr s15, [r3] 80711c0: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80711c4: eef4 7ac7 vcmpe.f32 s15, s14 80711c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80711cc: d81d bhi.n 807120a f = (25 * f / 1.0f) + 0.5f; 80711ce: f507 638b add.w r3, r7, #1112 ; 0x458 80711d2: edd3 7a00 vldr s15, [r3] 80711d6: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80711da: ee67 7a87 vmul.f32 s15, s15, s14 80711de: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80711e2: ee77 7a87 vadd.f32 s15, s15, s14 80711e6: f507 638b add.w r3, r7, #1112 ; 0x458 80711ea: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 80711ee: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80711f2: f507 628b add.w r2, r7, #1112 ; 0x458 80711f6: edd2 7a00 vldr s15, [r2] 80711fa: eefc 7ae7 vcvt.u32.f32 s15, s15 80711fe: ee17 2a90 vmov r2, s15 8071202: 1a9b subs r3, r3, r2 8071204: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071208: e1d6 b.n 80715b8 if(f <= 10.0f) 807120a: f507 638b add.w r3, r7, #1112 ; 0x458 807120e: edd3 7a00 vldr s15, [r3] 8071212: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8071216: eef4 7ac7 vcmpe.f32 s15, s14 807121a: eef1 fa10 vmrs APSR_nzcv, fpscr 807121e: d821 bhi.n 8071264 f = (50 * f / 10.0f) + 0.5f; 8071220: f507 638b add.w r3, r7, #1112 ; 0x458 8071224: edd3 7a00 vldr s15, [r3] 8071228: ed1f 7a27 vldr s14, [pc, #-156] ; 8071190 807122c: ee27 7a87 vmul.f32 s14, s15, s14 8071230: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8071234: eec7 7a26 vdiv.f32 s15, s14, s13 8071238: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807123c: ee77 7a87 vadd.f32 s15, s15, s14 8071240: f507 638b add.w r3, r7, #1112 ; 0x458 8071244: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8071248: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 807124c: f507 628b add.w r2, r7, #1112 ; 0x458 8071250: edd2 7a00 vldr s15, [r2] 8071254: eefc 7ae7 vcvt.u32.f32 s15, s15 8071258: ee17 2a90 vmov r2, s15 807125c: 1a9b subs r3, r3, r2 807125e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071262: e1a9 b.n 80715b8 if(f <= 100.0f) 8071264: f507 638b add.w r3, r7, #1112 ; 0x458 8071268: edd3 7a00 vldr s15, [r3] 807126c: ed1f 7a37 vldr s14, [pc, #-220] ; 8071194 8071270: eef4 7ac7 vcmpe.f32 s15, s14 8071274: eef1 fa10 vmrs APSR_nzcv, fpscr 8071278: f200 819e bhi.w 80715b8 f = (50 * f / 100.0f) + 0.5f; 807127c: f507 638b add.w r3, r7, #1112 ; 0x458 8071280: edd3 7a00 vldr s15, [r3] 8071284: ed1f 7a3e vldr s14, [pc, #-248] ; 8071190 8071288: ee27 7a87 vmul.f32 s14, s15, s14 807128c: ed5f 6a3f vldr s13, [pc, #-252] ; 8071194 8071290: eec7 7a26 vdiv.f32 s15, s14, s13 8071294: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071298: ee77 7a87 vadd.f32 s15, s15, s14 807129c: f507 638b add.w r3, r7, #1112 ; 0x458 80712a0: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 80712a4: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 80712a8: f507 628b add.w r2, r7, #1112 ; 0x458 80712ac: edd2 7a00 vldr s15, [r2] 80712b0: eefc 7ae7 vcvt.u32.f32 s15, s15 80712b4: ee17 2a90 vmov r2, s15 80712b8: 1a9b subs r3, r3, r2 80712ba: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80712be: e17b b.n 80715b8 if(fmax <= 1000.0f) ///////// 80712c0: f207 434c addw r3, r7, #1100 ; 0x44c 80712c4: edd3 7a00 vldr s15, [r3] 80712c8: ed1f 7a4d vldr s14, [pc, #-308] ; 8071198 80712cc: eef4 7ac7 vcmpe.f32 s15, s14 80712d0: eef1 fa10 vmrs APSR_nzcv, fpscr 80712d4: f200 8088 bhi.w 80713e8 if(f <= 10.0f) 80712d8: f507 638b add.w r3, r7, #1112 ; 0x458 80712dc: edd3 7a00 vldr s15, [r3] 80712e0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80712e4: eef4 7ac7 vcmpe.f32 s15, s14 80712e8: eef1 fa10 vmrs APSR_nzcv, fpscr 80712ec: d821 bhi.n 8071332 f = (25 * f / 10.0f) + 0.5f; 80712ee: f507 638b add.w r3, r7, #1112 ; 0x458 80712f2: edd3 7a00 vldr s15, [r3] 80712f6: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80712fa: ee27 7a87 vmul.f32 s14, s15, s14 80712fe: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8071302: eec7 7a26 vdiv.f32 s15, s14, s13 8071306: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807130a: ee77 7a87 vadd.f32 s15, s15, s14 807130e: f507 638b add.w r3, r7, #1112 ; 0x458 8071312: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8071316: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 807131a: f507 628b add.w r2, r7, #1112 ; 0x458 807131e: edd2 7a00 vldr s15, [r2] 8071322: eefc 7ae7 vcvt.u32.f32 s15, s15 8071326: ee17 2a90 vmov r2, s15 807132a: 1a9b subs r3, r3, r2 807132c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071330: e142 b.n 80715b8 if(f <= 100.0f) 8071332: f507 638b add.w r3, r7, #1112 ; 0x458 8071336: edd3 7a00 vldr s15, [r3] 807133a: ed1f 7a6a vldr s14, [pc, #-424] ; 8071194 807133e: eef4 7ac7 vcmpe.f32 s15, s14 8071342: eef1 fa10 vmrs APSR_nzcv, fpscr 8071346: d821 bhi.n 807138c f = (50 * f / 100.0f) + 0.5f; 8071348: f507 638b add.w r3, r7, #1112 ; 0x458 807134c: edd3 7a00 vldr s15, [r3] 8071350: ed1f 7a71 vldr s14, [pc, #-452] ; 8071190 8071354: ee27 7a87 vmul.f32 s14, s15, s14 8071358: ed5f 6a72 vldr s13, [pc, #-456] ; 8071194 807135c: eec7 7a26 vdiv.f32 s15, s14, s13 8071360: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071364: ee77 7a87 vadd.f32 s15, s15, s14 8071368: f507 638b add.w r3, r7, #1112 ; 0x458 807136c: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8071370: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8071374: f507 628b add.w r2, r7, #1112 ; 0x458 8071378: edd2 7a00 vldr s15, [r2] 807137c: eefc 7ae7 vcvt.u32.f32 s15, s15 8071380: ee17 2a90 vmov r2, s15 8071384: 1a9b subs r3, r3, r2 8071386: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807138a: e115 b.n 80715b8 if(f <= 1000.0f) 807138c: f507 638b add.w r3, r7, #1112 ; 0x458 8071390: edd3 7a00 vldr s15, [r3] 8071394: ed1f 7a80 vldr s14, [pc, #-512] ; 8071198 8071398: eef4 7ac7 vcmpe.f32 s15, s14 807139c: eef1 fa10 vmrs APSR_nzcv, fpscr 80713a0: f200 810a bhi.w 80715b8 f = (50 * f / 1000.0f) + 0.5f; 80713a4: f507 638b add.w r3, r7, #1112 ; 0x458 80713a8: edd3 7a00 vldr s15, [r3] 80713ac: ed1f 7a88 vldr s14, [pc, #-544] ; 8071190 80713b0: ee27 7a87 vmul.f32 s14, s15, s14 80713b4: ed5f 6a88 vldr s13, [pc, #-544] ; 8071198 80713b8: eec7 7a26 vdiv.f32 s15, s14, s13 80713bc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80713c0: ee77 7a87 vadd.f32 s15, s15, s14 80713c4: f507 638b add.w r3, r7, #1112 ; 0x458 80713c8: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 80713cc: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 80713d0: f507 628b add.w r2, r7, #1112 ; 0x458 80713d4: edd2 7a00 vldr s15, [r2] 80713d8: eefc 7ae7 vcvt.u32.f32 s15, s15 80713dc: ee17 2a90 vmov r2, s15 80713e0: 1a9b subs r3, r3, r2 80713e2: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80713e6: e0e7 b.n 80715b8 if(fmax <= 10000.0f) ///////// 80713e8: f207 434c addw r3, r7, #1100 ; 0x44c 80713ec: edd3 7a00 vldr s15, [r3] 80713f0: ed1f 7a96 vldr s14, [pc, #-600] ; 807119c 80713f4: eef4 7ac7 vcmpe.f32 s15, s14 80713f8: eef1 fa10 vmrs APSR_nzcv, fpscr 80713fc: f200 80dc bhi.w 80715b8 if(f <= 1.0f) 8071400: f507 638b add.w r3, r7, #1112 ; 0x458 8071404: edd3 7a00 vldr s15, [r3] 8071408: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 807140c: eef4 7ac7 vcmpe.f32 s15, s14 8071410: eef1 fa10 vmrs APSR_nzcv, fpscr 8071414: d81d bhi.n 8071452 f = (25 * f / 1.0f) + 0.5f; 8071416: f507 638b add.w r3, r7, #1112 ; 0x458 807141a: edd3 7a00 vldr s15, [r3] 807141e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071422: ee67 7a87 vmul.f32 s15, s15, s14 8071426: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807142a: ee77 7a87 vadd.f32 s15, s15, s14 807142e: f507 638b add.w r3, r7, #1112 ; 0x458 8071432: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8071436: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 807143a: f507 628b add.w r2, r7, #1112 ; 0x458 807143e: edd2 7a00 vldr s15, [r2] 8071442: eefc 7ae7 vcvt.u32.f32 s15, s15 8071446: ee17 2a90 vmov r2, s15 807144a: 1a9b subs r3, r3, r2 807144c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071450: e0b2 b.n 80715b8 if(f <= 10.0f) 8071452: f507 638b add.w r3, r7, #1112 ; 0x458 8071456: edd3 7a00 vldr s15, [r3] 807145a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 807145e: eef4 7ac7 vcmpe.f32 s15, s14 8071462: eef1 fa10 vmrs APSR_nzcv, fpscr 8071466: d821 bhi.n 80714ac f = (25 * f / 10.0f) + 0.5f; 8071468: f507 638b add.w r3, r7, #1112 ; 0x458 807146c: edd3 7a00 vldr s15, [r3] 8071470: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071474: ee27 7a87 vmul.f32 s14, s15, s14 8071478: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 807147c: eec7 7a26 vdiv.f32 s15, s14, s13 8071480: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071484: ee77 7a87 vadd.f32 s15, s15, s14 8071488: f507 638b add.w r3, r7, #1112 ; 0x458 807148c: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8071490: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8071494: f507 628b add.w r2, r7, #1112 ; 0x458 8071498: edd2 7a00 vldr s15, [r2] 807149c: eefc 7ae7 vcvt.u32.f32 s15, s15 80714a0: ee17 2a90 vmov r2, s15 80714a4: 1a9b subs r3, r3, r2 80714a6: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80714aa: e085 b.n 80715b8 if(f <= 100.0f) 80714ac: f507 638b add.w r3, r7, #1112 ; 0x458 80714b0: edd3 7a00 vldr s15, [r3] 80714b4: ed1f 7ac9 vldr s14, [pc, #-804] ; 8071194 80714b8: eef4 7ac7 vcmpe.f32 s15, s14 80714bc: eef1 fa10 vmrs APSR_nzcv, fpscr 80714c0: d821 bhi.n 8071506 f = (25 * f / 100.0f) + 0.5f; 80714c2: f507 638b add.w r3, r7, #1112 ; 0x458 80714c6: edd3 7a00 vldr s15, [r3] 80714ca: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80714ce: ee27 7a87 vmul.f32 s14, s15, s14 80714d2: ed5f 6ad0 vldr s13, [pc, #-832] ; 8071194 80714d6: eec7 7a26 vdiv.f32 s15, s14, s13 80714da: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80714de: ee77 7a87 vadd.f32 s15, s15, s14 80714e2: f507 638b add.w r3, r7, #1112 ; 0x458 80714e6: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 80714ea: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 80714ee: f507 628b add.w r2, r7, #1112 ; 0x458 80714f2: edd2 7a00 vldr s15, [r2] 80714f6: eefc 7ae7 vcvt.u32.f32 s15, s15 80714fa: ee17 2a90 vmov r2, s15 80714fe: 1a9b subs r3, r3, r2 8071500: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071504: e058 b.n 80715b8 if(f <= 1000.0f) 8071506: f507 638b add.w r3, r7, #1112 ; 0x458 807150a: edd3 7a00 vldr s15, [r3] 807150e: ed1f 7ade vldr s14, [pc, #-888] ; 8071198 8071512: eef4 7ac7 vcmpe.f32 s15, s14 8071516: eef1 fa10 vmrs APSR_nzcv, fpscr 807151a: d821 bhi.n 8071560 f = (25 * f / 1000.0f) + 0.5f; 807151c: f507 638b add.w r3, r7, #1112 ; 0x458 8071520: edd3 7a00 vldr s15, [r3] 8071524: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071528: ee27 7a87 vmul.f32 s14, s15, s14 807152c: ed5f 6ae6 vldr s13, [pc, #-920] ; 8071198 8071530: eec7 7a26 vdiv.f32 s15, s14, s13 8071534: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071538: ee77 7a87 vadd.f32 s15, s15, s14 807153c: f507 638b add.w r3, r7, #1112 ; 0x458 8071540: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 8071544: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8071548: f507 628b add.w r2, r7, #1112 ; 0x458 807154c: edd2 7a00 vldr s15, [r2] 8071550: eefc 7ae7 vcvt.u32.f32 s15, s15 8071554: ee17 2a90 vmov r2, s15 8071558: 1a9b subs r3, r3, r2 807155a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807155e: e02b b.n 80715b8 if(f <= 10000.0f) 8071560: f507 638b add.w r3, r7, #1112 ; 0x458 8071564: edd3 7a00 vldr s15, [r3] 8071568: ed1f 7af4 vldr s14, [pc, #-976] ; 807119c 807156c: eef4 7ac7 vcmpe.f32 s15, s14 8071570: eef1 fa10 vmrs APSR_nzcv, fpscr 8071574: d820 bhi.n 80715b8 f = (25 * f / 10000.0f) + 0.5f; 8071576: f507 638b add.w r3, r7, #1112 ; 0x458 807157a: edd3 7a00 vldr s15, [r3] 807157e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071582: ee27 7a87 vmul.f32 s14, s15, s14 8071586: eddf 6ac1 vldr s13, [pc, #772] ; 807188c 807158a: eec7 7a26 vdiv.f32 s15, s14, s13 807158e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071592: ee77 7a87 vadd.f32 s15, s15, s14 8071596: f507 638b add.w r3, r7, #1112 ; 0x458 807159a: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 807159e: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 80715a2: f507 628b add.w r2, r7, #1112 ; 0x458 80715a6: edd2 7a00 vldr s15, [r2] 80715aa: eefc 7ae7 vcvt.u32.f32 s15, s15 80715ae: ee17 2a90 vmov r2, s15 80715b2: 1a9b subs r3, r3, r2 80715b4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(l == 1) 80715b8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80715bc: 2b01 cmp r3, #1 80715be: d119 bne.n 80715f4 x = 256; 80715c0: f44f 7380 mov.w r3, #256 ; 0x100 80715c4: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 oldx = 0; 80715c8: 2300 movs r3, #0 80715ca: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 BSP_LCD_DrawLine(62 + oldx, y, 62 + x, y); 80715ce: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 80715d2: b29b uxth r3, r3 80715d4: 333e adds r3, #62 ; 0x3e 80715d6: b298 uxth r0, r3 80715d8: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 80715dc: b299 uxth r1, r3 80715de: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80715e2: b29b uxth r3, r3 80715e4: 333e adds r3, #62 ; 0x3e 80715e6: b29a uxth r2, r3 80715e8: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 80715ec: b29b uxth r3, r3 80715ee: f7e4 f847 bl 8055680 80715f2: e055 b.n 80716a0 fs = 256.0f / (float32_t) (l - 1); 80715f4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80715f8: 3b01 subs r3, #1 80715fa: ee07 3a90 vmov s15, r3 80715fe: eeb8 7a67 vcvt.f32.u32 s14, s15 8071602: eddf 6aa3 vldr s13, [pc, #652] ; 8071890 8071606: eec6 7a87 vdiv.f32 s15, s13, s14 807160a: f207 4314 addw r3, r7, #1044 ; 0x414 807160e: edc3 7a00 vstr s15, [r3] x = (uint32_t) ((fs * (float32_t) i) + 0.5f); 8071612: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8071616: ee07 3a90 vmov s15, r3 807161a: eeb8 7a67 vcvt.f32.u32 s14, s15 807161e: f207 4314 addw r3, r7, #1044 ; 0x414 8071622: edd3 7a00 vldr s15, [r3] 8071626: ee67 7a27 vmul.f32 s15, s14, s15 807162a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807162e: ee77 7a87 vadd.f32 s15, s15, s14 8071632: eefc 7ae7 vcvt.u32.f32 s15, s15 8071636: ee17 3a90 vmov r3, s15 807163a: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 if(i == 0) 807163e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8071642: 2b00 cmp r3, #0 8071644: d112 bne.n 807166c BSP_LCD_DrawLine(62 + x, y, 62 + x, y); 8071646: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 807164a: b29b uxth r3, r3 807164c: 333e adds r3, #62 ; 0x3e 807164e: b298 uxth r0, r3 8071650: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8071654: b299 uxth r1, r3 8071656: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 807165a: b29b uxth r3, r3 807165c: 333e adds r3, #62 ; 0x3e 807165e: b29a uxth r2, r3 8071660: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8071664: b29b uxth r3, r3 8071666: f7e4 f80b bl 8055680 807166a: e011 b.n 8071690 else BSP_LCD_DrawLine(62 + oldx, oldy, 62 + x, y); 807166c: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 8071670: b29b uxth r3, r3 8071672: 333e adds r3, #62 ; 0x3e 8071674: b298 uxth r0, r3 8071676: f8d7 345c ldr.w r3, [r7, #1116] ; 0x45c 807167a: b299 uxth r1, r3 807167c: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8071680: b29b uxth r3, r3 8071682: 333e adds r3, #62 ; 0x3e 8071684: b29a uxth r2, r3 8071686: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 807168a: b29b uxth r3, r3 807168c: f7e3 fff8 bl 8055680 oldx = x; 8071690: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8071694: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 oldy = y; 8071698: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 807169c: f8c7 345c str.w r3, [r7, #1116] ; 0x45c for(i = 0; i < l; i++) 80716a0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80716a4: 3301 adds r3, #1 80716a6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 80716aa: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80716ae: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80716b2: 429a cmp r2, r3 80716b4: f4ff ad2e bcc.w 8071114 break; 80716b8: f027 bd8d b.w 80991d6 if(l) 80716bc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80716c0: 2b00 cmp r3, #0 80716c2: f027 8588 beq.w 80991d6 y0 = 217; 80716c6: 23d9 movs r3, #217 ; 0xd9 80716c8: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = 192; 80716cc: 23c0 movs r3, #192 ; 0xc0 80716ce: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a y2 = 167; 80716d2: 23a7 movs r3, #167 ; 0xa7 80716d4: f8a7 3438 strh.w r3, [r7, #1080] ; 0x438 y3 = 142; 80716d8: 238e movs r3, #142 ; 0x8e 80716da: f8a7 3436 strh.w r3, [r7, #1078] ; 0x436 y4 = 117; 80716de: 2375 movs r3, #117 ; 0x75 80716e0: f8a7 3434 strh.w r3, [r7, #1076] ; 0x434 y5 = 92; 80716e4: 235c movs r3, #92 ; 0x5c 80716e6: f8a7 3432 strh.w r3, [r7, #1074] ; 0x432 y6 = 67; 80716ea: 2343 movs r3, #67 ; 0x43 80716ec: f8a7 3430 strh.w r3, [r7, #1072] ; 0x430 BSP_LCD_SetFont(&Font8); 80716f0: 4868 ldr r0, [pc, #416] ; (8071894 ) 80716f2: f7e3 fdc7 bl 8055284 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80716f6: 4968 ldr r1, [pc, #416] ; (8071898 ) 80716f8: 4868 ldr r0, [pc, #416] ; (807189c ) 80716fa: f7e3 fd87 bl 805520c if(fmax <= 100.0f) 80716fe: f207 434c addw r3, r7, #1100 ; 0x44c 8071702: edd3 7a00 vldr s15, [r3] 8071706: ed9f 7a66 vldr s14, [pc, #408] ; 80718a0 807170a: eef4 7ac7 vcmpe.f32 s15, s14 807170e: eef1 fa10 vmrs APSR_nzcv, fpscr 8071712: d836 bhi.n 8071782 BSP_LCD_DisplayStringAt(59, y6 - 2, "100", RIGHT_MODE); 8071714: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 8071718: 3b02 subs r3, #2 807171a: b299 uxth r1, r3 807171c: 2302 movs r3, #2 807171e: 4a61 ldr r2, [pc, #388] ; (80718a4 ) 8071720: 203b movs r0, #59 ; 0x3b 8071722: f7e3 fe39 bl 8055398 BSP_LCD_DisplayStringAt(59, y5 - 2, "10", RIGHT_MODE); 8071726: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 807172a: 3b02 subs r3, #2 807172c: b299 uxth r1, r3 807172e: 2302 movs r3, #2 8071730: 4a5d ldr r2, [pc, #372] ; (80718a8 ) 8071732: 203b movs r0, #59 ; 0x3b 8071734: f7e3 fe30 bl 8055398 BSP_LCD_DisplayStringAt(59, y4 - 2, "1", RIGHT_MODE); 8071738: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 807173c: 3b02 subs r3, #2 807173e: b299 uxth r1, r3 8071740: 2302 movs r3, #2 8071742: 4a5a ldr r2, [pc, #360] ; (80718ac ) 8071744: 203b movs r0, #59 ; 0x3b 8071746: f7e3 fe27 bl 8055398 BSP_LCD_DisplayStringAt(59, y3 - 2, "0.1", RIGHT_MODE); 807174a: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 807174e: 3b02 subs r3, #2 8071750: b299 uxth r1, r3 8071752: 2302 movs r3, #2 8071754: 4a56 ldr r2, [pc, #344] ; (80718b0 ) 8071756: 203b movs r0, #59 ; 0x3b 8071758: f7e3 fe1e bl 8055398 BSP_LCD_DisplayStringAt(59, y2 - 2, "0.01", RIGHT_MODE); 807175c: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8071760: 3b02 subs r3, #2 8071762: b299 uxth r1, r3 8071764: 2302 movs r3, #2 8071766: 4a53 ldr r2, [pc, #332] ; (80718b4 ) 8071768: 203b movs r0, #59 ; 0x3b 807176a: f7e3 fe15 bl 8055398 BSP_LCD_DisplayStringAt(59, y1 - 2, "0.001", RIGHT_MODE); 807176e: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8071772: 3b02 subs r3, #2 8071774: b299 uxth r1, r3 8071776: 2302 movs r3, #2 8071778: 4a4f ldr r2, [pc, #316] ; (80718b8 ) 807177a: 203b movs r0, #59 ; 0x3b 807177c: f7e3 fe0c bl 8055398 8071780: e17b b.n 8071a7a if(fmax <= 1000.0f) 8071782: f207 434c addw r3, r7, #1100 ; 0x44c 8071786: edd3 7a00 vldr s15, [r3] 807178a: ed9f 7a4c vldr s14, [pc, #304] ; 80718bc 807178e: eef4 7ac7 vcmpe.f32 s15, s14 8071792: eef1 fa10 vmrs APSR_nzcv, fpscr 8071796: d836 bhi.n 8071806 BSP_LCD_DisplayStringAt(59, y6 - 2, "1000", RIGHT_MODE); 8071798: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 807179c: 3b02 subs r3, #2 807179e: b299 uxth r1, r3 80717a0: 2302 movs r3, #2 80717a2: 4a47 ldr r2, [pc, #284] ; (80718c0 ) 80717a4: 203b movs r0, #59 ; 0x3b 80717a6: f7e3 fdf7 bl 8055398 BSP_LCD_DisplayStringAt(59, y5 - 2, "100", RIGHT_MODE); 80717aa: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 80717ae: 3b02 subs r3, #2 80717b0: b299 uxth r1, r3 80717b2: 2302 movs r3, #2 80717b4: 4a3b ldr r2, [pc, #236] ; (80718a4 ) 80717b6: 203b movs r0, #59 ; 0x3b 80717b8: f7e3 fdee bl 8055398 BSP_LCD_DisplayStringAt(59, y4 - 2, "10", RIGHT_MODE); 80717bc: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 80717c0: 3b02 subs r3, #2 80717c2: b299 uxth r1, r3 80717c4: 2302 movs r3, #2 80717c6: 4a38 ldr r2, [pc, #224] ; (80718a8 ) 80717c8: 203b movs r0, #59 ; 0x3b 80717ca: f7e3 fde5 bl 8055398 BSP_LCD_DisplayStringAt(59, y3 - 2, "1", RIGHT_MODE); 80717ce: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 80717d2: 3b02 subs r3, #2 80717d4: b299 uxth r1, r3 80717d6: 2302 movs r3, #2 80717d8: 4a34 ldr r2, [pc, #208] ; (80718ac ) 80717da: 203b movs r0, #59 ; 0x3b 80717dc: f7e3 fddc bl 8055398 BSP_LCD_DisplayStringAt(59, y2 - 2, "0.1", RIGHT_MODE); 80717e0: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 80717e4: 3b02 subs r3, #2 80717e6: b299 uxth r1, r3 80717e8: 2302 movs r3, #2 80717ea: 4a31 ldr r2, [pc, #196] ; (80718b0 ) 80717ec: 203b movs r0, #59 ; 0x3b 80717ee: f7e3 fdd3 bl 8055398 BSP_LCD_DisplayStringAt(59, y1 - 2, "0.01", RIGHT_MODE); 80717f2: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80717f6: 3b02 subs r3, #2 80717f8: b299 uxth r1, r3 80717fa: 2302 movs r3, #2 80717fc: 4a2d ldr r2, [pc, #180] ; (80718b4 ) 80717fe: 203b movs r0, #59 ; 0x3b 8071800: f7e3 fdca bl 8055398 8071804: e139 b.n 8071a7a if(fmax <= 10000.0f) 8071806: f207 434c addw r3, r7, #1100 ; 0x44c 807180a: edd3 7a00 vldr s15, [r3] 807180e: ed9f 7a1f vldr s14, [pc, #124] ; 807188c 8071812: eef4 7ac7 vcmpe.f32 s15, s14 8071816: eef1 fa10 vmrs APSR_nzcv, fpscr 807181a: d857 bhi.n 80718cc BSP_LCD_DisplayStringAt(59, y6 - 2, "10000", RIGHT_MODE); 807181c: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 8071820: 3b02 subs r3, #2 8071822: b299 uxth r1, r3 8071824: 2302 movs r3, #2 8071826: 4a27 ldr r2, [pc, #156] ; (80718c4 ) 8071828: 203b movs r0, #59 ; 0x3b 807182a: f7e3 fdb5 bl 8055398 BSP_LCD_DisplayStringAt(59, y5 - 2, "1000", RIGHT_MODE); 807182e: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8071832: 3b02 subs r3, #2 8071834: b299 uxth r1, r3 8071836: 2302 movs r3, #2 8071838: 4a21 ldr r2, [pc, #132] ; (80718c0 ) 807183a: 203b movs r0, #59 ; 0x3b 807183c: f7e3 fdac bl 8055398 BSP_LCD_DisplayStringAt(59, y4 - 2, "100", RIGHT_MODE); 8071840: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8071844: 3b02 subs r3, #2 8071846: b299 uxth r1, r3 8071848: 2302 movs r3, #2 807184a: 4a16 ldr r2, [pc, #88] ; (80718a4 ) 807184c: 203b movs r0, #59 ; 0x3b 807184e: f7e3 fda3 bl 8055398 BSP_LCD_DisplayStringAt(59, y3 - 2, "10", RIGHT_MODE); 8071852: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8071856: 3b02 subs r3, #2 8071858: b299 uxth r1, r3 807185a: 2302 movs r3, #2 807185c: 4a12 ldr r2, [pc, #72] ; (80718a8 ) 807185e: 203b movs r0, #59 ; 0x3b 8071860: f7e3 fd9a bl 8055398 BSP_LCD_DisplayStringAt(59, y2 - 2, "1", RIGHT_MODE); 8071864: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8071868: 3b02 subs r3, #2 807186a: b299 uxth r1, r3 807186c: 2302 movs r3, #2 807186e: 4a0f ldr r2, [pc, #60] ; (80718ac ) 8071870: 203b movs r0, #59 ; 0x3b 8071872: f7e3 fd91 bl 8055398 BSP_LCD_DisplayStringAt(59, y1 - 2, "0.1", RIGHT_MODE); 8071876: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 807187a: 3b02 subs r3, #2 807187c: b299 uxth r1, r3 807187e: 2302 movs r3, #2 8071880: 4a0b ldr r2, [pc, #44] ; (80718b0 ) 8071882: 203b movs r0, #59 ; 0x3b 8071884: f7e3 fd88 bl 8055398 8071888: e0f7 b.n 8071a7a 807188a: bf00 nop 807188c: 461c4000 .word 0x461c4000 8071890: 43800000 .word 0x43800000 8071894: 20020060 .word 0x20020060 8071898: ff0a0f1f .word 0xff0a0f1f 807189c: ffd3d3d3 .word 0xffd3d3d3 80718a0: 42c80000 .word 0x42c80000 80718a4: 080d64c8 .word 0x080d64c8 80718a8: 080d64c0 .word 0x080d64c0 80718ac: 080d52c4 .word 0x080d52c4 80718b0: 080d6500 .word 0x080d6500 80718b4: 080d6504 .word 0x080d6504 80718b8: 080d650c .word 0x080d650c 80718bc: 447a0000 .word 0x447a0000 80718c0: 080d64d0 .word 0x080d64d0 80718c4: 080d64dc .word 0x080d64dc 80718c8: 47c35000 .word 0x47c35000 if(fmax <= 100000.0f) 80718cc: f207 434c addw r3, r7, #1100 ; 0x44c 80718d0: edd3 7a00 vldr s15, [r3] 80718d4: ed1f 7a04 vldr s14, [pc, #-16] ; 80718c8 80718d8: eef4 7ac7 vcmpe.f32 s15, s14 80718dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80718e0: d836 bhi.n 8071950 BSP_LCD_DisplayStringAt(59, y6 - 2, "100000", RIGHT_MODE); 80718e2: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 80718e6: 3b02 subs r3, #2 80718e8: b299 uxth r1, r3 80718ea: 2302 movs r3, #2 80718ec: 4a39 ldr r2, [pc, #228] ; (80719d4 ) 80718ee: 203b movs r0, #59 ; 0x3b 80718f0: f7e3 fd52 bl 8055398 BSP_LCD_DisplayStringAt(59, y5 - 2, "10000", RIGHT_MODE); 80718f4: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 80718f8: 3b02 subs r3, #2 80718fa: b299 uxth r1, r3 80718fc: 2302 movs r3, #2 80718fe: 4a36 ldr r2, [pc, #216] ; (80719d8 ) 8071900: 203b movs r0, #59 ; 0x3b 8071902: f7e3 fd49 bl 8055398 BSP_LCD_DisplayStringAt(59, y4 - 2, "1000", RIGHT_MODE); 8071906: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 807190a: 3b02 subs r3, #2 807190c: b299 uxth r1, r3 807190e: 2302 movs r3, #2 8071910: 4a32 ldr r2, [pc, #200] ; (80719dc ) 8071912: 203b movs r0, #59 ; 0x3b 8071914: f7e3 fd40 bl 8055398 BSP_LCD_DisplayStringAt(59, y3 - 2, "100", RIGHT_MODE); 8071918: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 807191c: 3b02 subs r3, #2 807191e: b299 uxth r1, r3 8071920: 2302 movs r3, #2 8071922: 4a2f ldr r2, [pc, #188] ; (80719e0 ) 8071924: 203b movs r0, #59 ; 0x3b 8071926: f7e3 fd37 bl 8055398 BSP_LCD_DisplayStringAt(59, y2 - 2, "10", RIGHT_MODE); 807192a: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 807192e: 3b02 subs r3, #2 8071930: b299 uxth r1, r3 8071932: 2302 movs r3, #2 8071934: 4a2b ldr r2, [pc, #172] ; (80719e4 ) 8071936: 203b movs r0, #59 ; 0x3b 8071938: f7e3 fd2e bl 8055398 BSP_LCD_DisplayStringAt(59, y1 - 2, "1", RIGHT_MODE); 807193c: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8071940: 3b02 subs r3, #2 8071942: b299 uxth r1, r3 8071944: 2302 movs r3, #2 8071946: 4a28 ldr r2, [pc, #160] ; (80719e8 ) 8071948: 203b movs r0, #59 ; 0x3b 807194a: f7e3 fd25 bl 8055398 807194e: e094 b.n 8071a7a if(fmax <= 1000000.0f) 8071950: f207 434c addw r3, r7, #1100 ; 0x44c 8071954: edd3 7a00 vldr s15, [r3] 8071958: ed9f 7a24 vldr s14, [pc, #144] ; 80719ec 807195c: eef4 7ac7 vcmpe.f32 s15, s14 8071960: eef1 fa10 vmrs APSR_nzcv, fpscr 8071964: d848 bhi.n 80719f8 BSP_LCD_DisplayStringAt(59, y6 - 2, "1000000", RIGHT_MODE); 8071966: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 807196a: 3b02 subs r3, #2 807196c: b299 uxth r1, r3 807196e: 2302 movs r3, #2 8071970: 4a1f ldr r2, [pc, #124] ; (80719f0 ) 8071972: 203b movs r0, #59 ; 0x3b 8071974: f7e3 fd10 bl 8055398 BSP_LCD_DisplayStringAt(59, y5 - 2, "100000", RIGHT_MODE); 8071978: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 807197c: 3b02 subs r3, #2 807197e: b299 uxth r1, r3 8071980: 2302 movs r3, #2 8071982: 4a14 ldr r2, [pc, #80] ; (80719d4 ) 8071984: 203b movs r0, #59 ; 0x3b 8071986: f7e3 fd07 bl 8055398 BSP_LCD_DisplayStringAt(59, y4 - 2, "10000", RIGHT_MODE); 807198a: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 807198e: 3b02 subs r3, #2 8071990: b299 uxth r1, r3 8071992: 2302 movs r3, #2 8071994: 4a10 ldr r2, [pc, #64] ; (80719d8 ) 8071996: 203b movs r0, #59 ; 0x3b 8071998: f7e3 fcfe bl 8055398 BSP_LCD_DisplayStringAt(59, y3 - 2, "1000", RIGHT_MODE); 807199c: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 80719a0: 3b02 subs r3, #2 80719a2: b299 uxth r1, r3 80719a4: 2302 movs r3, #2 80719a6: 4a0d ldr r2, [pc, #52] ; (80719dc ) 80719a8: 203b movs r0, #59 ; 0x3b 80719aa: f7e3 fcf5 bl 8055398 BSP_LCD_DisplayStringAt(59, y2 - 2, "100", RIGHT_MODE); 80719ae: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 80719b2: 3b02 subs r3, #2 80719b4: b299 uxth r1, r3 80719b6: 2302 movs r3, #2 80719b8: 4a09 ldr r2, [pc, #36] ; (80719e0 ) 80719ba: 203b movs r0, #59 ; 0x3b 80719bc: f7e3 fcec bl 8055398 BSP_LCD_DisplayStringAt(59, y1 - 2, "10", RIGHT_MODE); 80719c0: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80719c4: 3b02 subs r3, #2 80719c6: b299 uxth r1, r3 80719c8: 2302 movs r3, #2 80719ca: 4a06 ldr r2, [pc, #24] ; (80719e4 ) 80719cc: 203b movs r0, #59 ; 0x3b 80719ce: f7e3 fce3 bl 8055398 80719d2: e052 b.n 8071a7a 80719d4: 080d6514 .word 0x080d6514 80719d8: 080d64dc .word 0x080d64dc 80719dc: 080d64d0 .word 0x080d64d0 80719e0: 080d64c8 .word 0x080d64c8 80719e4: 080d64c0 .word 0x080d64c0 80719e8: 080d52c4 .word 0x080d52c4 80719ec: 49742400 .word 0x49742400 80719f0: 080d651c .word 0x080d651c 80719f4: 4b189680 .word 0x4b189680 if(fmax <= 10000000.0f) 80719f8: f207 434c addw r3, r7, #1100 ; 0x44c 80719fc: edd3 7a00 vldr s15, [r3] 8071a00: ed1f 7a04 vldr s14, [pc, #-16] ; 80719f4 8071a04: eef4 7ac7 vcmpe.f32 s15, s14 8071a08: eef1 fa10 vmrs APSR_nzcv, fpscr 8071a0c: d835 bhi.n 8071a7a BSP_LCD_DisplayStringAt(59, y6 - 2, "10000000", RIGHT_MODE); 8071a0e: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 8071a12: 3b02 subs r3, #2 8071a14: b299 uxth r1, r3 8071a16: 2302 movs r3, #2 8071a18: 4a9f ldr r2, [pc, #636] ; (8071c98 ) 8071a1a: 203b movs r0, #59 ; 0x3b 8071a1c: f7e3 fcbc bl 8055398 BSP_LCD_DisplayStringAt(59, y5 - 2, "1000000", RIGHT_MODE); 8071a20: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8071a24: 3b02 subs r3, #2 8071a26: b299 uxth r1, r3 8071a28: 2302 movs r3, #2 8071a2a: 4a9c ldr r2, [pc, #624] ; (8071c9c ) 8071a2c: 203b movs r0, #59 ; 0x3b 8071a2e: f7e3 fcb3 bl 8055398 BSP_LCD_DisplayStringAt(59, y4 - 2, "100000", RIGHT_MODE); 8071a32: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8071a36: 3b02 subs r3, #2 8071a38: b299 uxth r1, r3 8071a3a: 2302 movs r3, #2 8071a3c: 4a98 ldr r2, [pc, #608] ; (8071ca0 ) 8071a3e: 203b movs r0, #59 ; 0x3b 8071a40: f7e3 fcaa bl 8055398 BSP_LCD_DisplayStringAt(59, y3 - 2, "10000", RIGHT_MODE); 8071a44: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8071a48: 3b02 subs r3, #2 8071a4a: b299 uxth r1, r3 8071a4c: 2302 movs r3, #2 8071a4e: 4a95 ldr r2, [pc, #596] ; (8071ca4 ) 8071a50: 203b movs r0, #59 ; 0x3b 8071a52: f7e3 fca1 bl 8055398 BSP_LCD_DisplayStringAt(59, y2 - 2, "1000", RIGHT_MODE); 8071a56: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8071a5a: 3b02 subs r3, #2 8071a5c: b299 uxth r1, r3 8071a5e: 2302 movs r3, #2 8071a60: 4a91 ldr r2, [pc, #580] ; (8071ca8 ) 8071a62: 203b movs r0, #59 ; 0x3b 8071a64: f7e3 fc98 bl 8055398 BSP_LCD_DisplayStringAt(59, y1 - 2, "100", RIGHT_MODE); 8071a68: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8071a6c: 3b02 subs r3, #2 8071a6e: b299 uxth r1, r3 8071a70: 2302 movs r3, #2 8071a72: 4a8e ldr r2, [pc, #568] ; (8071cac ) 8071a74: 203b movs r0, #59 ; 0x3b 8071a76: f7e3 fc8f bl 8055398 if(l == 1) 8071a7a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8071a7e: 2b01 cmp r3, #1 8071a80: f040 811a bne.w 8071cb8 k = CmplxA_u32(0); 8071a84: 4b8a ldr r3, [pc, #552] ; (8071cb0 ) 8071a86: 681b ldr r3, [r3, #0] 8071a88: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8071a8c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071a90: 0e5b lsrs r3, r3, #25 8071a92: 3b14 subs r3, #20 8071a94: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8071a98: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071a9c: 0d5b lsrs r3, r3, #21 8071a9e: f003 030f and.w r3, r3, #15 8071aa2: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 8071aa6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071aaa: 0c1b lsrs r3, r3, #16 8071aac: f003 031f and.w r3, r3, #31 8071ab0: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 8071ab4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071ab8: 0adb lsrs r3, r3, #11 8071aba: f003 031f and.w r3, r3, #31 8071abe: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 8071ac2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071ac6: 095b lsrs r3, r3, #5 8071ac8: f003 033f and.w r3, r3, #63 ; 0x3f 8071acc: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 8071ad0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071ad4: 005b lsls r3, r3, #1 8071ad6: f003 031f and.w r3, r3, #31 8071ada: 3301 adds r3, #1 8071adc: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 8071ae0: f507 733b add.w r3, r7, #748 ; 0x2ec 8071ae4: 223c movs r2, #60 ; 0x3c 8071ae6: 2100 movs r1, #0 8071ae8: 4618 mov r0, r3 8071aea: f060 fa5b bl 80d1fa4 str[0] = (Day / 10) + 48; 8071aee: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 8071af2: 4a70 ldr r2, [pc, #448] ; (8071cb4 ) 8071af4: fba2 2303 umull r2, r3, r2, r3 8071af8: 08db lsrs r3, r3, #3 8071afa: b2db uxtb r3, r3 8071afc: 3330 adds r3, #48 ; 0x30 8071afe: b2da uxtb r2, r3 8071b00: f507 733b add.w r3, r7, #748 ; 0x2ec 8071b04: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 8071b06: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 8071b0a: 4b6a ldr r3, [pc, #424] ; (8071cb4 ) 8071b0c: fba3 2301 umull r2, r3, r3, r1 8071b10: 08da lsrs r2, r3, #3 8071b12: 4613 mov r3, r2 8071b14: 009b lsls r3, r3, #2 8071b16: 4413 add r3, r2 8071b18: 005b lsls r3, r3, #1 8071b1a: 1aca subs r2, r1, r3 8071b1c: b2d3 uxtb r3, r2 8071b1e: 3330 adds r3, #48 ; 0x30 8071b20: b2da uxtb r2, r3 8071b22: f507 733b add.w r3, r7, #748 ; 0x2ec 8071b26: 705a strb r2, [r3, #1] str[2] = '.'; 8071b28: f507 733b add.w r3, r7, #748 ; 0x2ec 8071b2c: 222e movs r2, #46 ; 0x2e 8071b2e: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 8071b30: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8071b34: 4a5f ldr r2, [pc, #380] ; (8071cb4 ) 8071b36: fba2 2303 umull r2, r3, r2, r3 8071b3a: 08db lsrs r3, r3, #3 8071b3c: b2db uxtb r3, r3 8071b3e: 3330 adds r3, #48 ; 0x30 8071b40: b2da uxtb r2, r3 8071b42: f507 733b add.w r3, r7, #748 ; 0x2ec 8071b46: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8071b48: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8071b4c: 4b59 ldr r3, [pc, #356] ; (8071cb4 ) 8071b4e: fba3 2301 umull r2, r3, r3, r1 8071b52: 08da lsrs r2, r3, #3 8071b54: 4613 mov r3, r2 8071b56: 009b lsls r3, r3, #2 8071b58: 4413 add r3, r2 8071b5a: 005b lsls r3, r3, #1 8071b5c: 1aca subs r2, r1, r3 8071b5e: b2d3 uxtb r3, r2 8071b60: 3330 adds r3, #48 ; 0x30 8071b62: b2da uxtb r2, r3 8071b64: f507 733b add.w r3, r7, #748 ; 0x2ec 8071b68: 711a strb r2, [r3, #4] str[5] = '.'; 8071b6a: f507 733b add.w r3, r7, #748 ; 0x2ec 8071b6e: 222e movs r2, #46 ; 0x2e 8071b70: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 8071b72: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 8071b76: 4a4f ldr r2, [pc, #316] ; (8071cb4 ) 8071b78: fba2 2303 umull r2, r3, r2, r3 8071b7c: 08db lsrs r3, r3, #3 8071b7e: b2db uxtb r3, r3 8071b80: 3330 adds r3, #48 ; 0x30 8071b82: b2da uxtb r2, r3 8071b84: f507 733b add.w r3, r7, #748 ; 0x2ec 8071b88: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8071b8a: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8071b8e: 4b49 ldr r3, [pc, #292] ; (8071cb4 ) 8071b90: fba3 2301 umull r2, r3, r3, r1 8071b94: 08da lsrs r2, r3, #3 8071b96: 4613 mov r3, r2 8071b98: 009b lsls r3, r3, #2 8071b9a: 4413 add r3, r2 8071b9c: 005b lsls r3, r3, #1 8071b9e: 1aca subs r2, r1, r3 8071ba0: b2d3 uxtb r3, r2 8071ba2: 3330 adds r3, #48 ; 0x30 8071ba4: b2da uxtb r2, r3 8071ba6: f507 733b add.w r3, r7, #748 ; 0x2ec 8071baa: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 8071bac: f507 723b add.w r2, r7, #748 ; 0x2ec 8071bb0: 2301 movs r3, #1 8071bb2: 21dc movs r1, #220 ; 0xdc 8071bb4: 20be movs r0, #190 ; 0xbe 8071bb6: f7e3 fbef bl 8055398 memset(str, 0, sizeof(str)); 8071bba: f507 733b add.w r3, r7, #748 ; 0x2ec 8071bbe: 223c movs r2, #60 ; 0x3c 8071bc0: 2100 movs r1, #0 8071bc2: 4618 mov r0, r3 8071bc4: f060 f9ee bl 80d1fa4 str[0] = (Hour / 10) + 48; 8071bc8: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 8071bcc: 4a39 ldr r2, [pc, #228] ; (8071cb4 ) 8071bce: fba2 2303 umull r2, r3, r2, r3 8071bd2: 08db lsrs r3, r3, #3 8071bd4: b2db uxtb r3, r3 8071bd6: 3330 adds r3, #48 ; 0x30 8071bd8: b2da uxtb r2, r3 8071bda: f507 733b add.w r3, r7, #748 ; 0x2ec 8071bde: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 8071be0: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8071be4: 4b33 ldr r3, [pc, #204] ; (8071cb4 ) 8071be6: fba3 2301 umull r2, r3, r3, r1 8071bea: 08da lsrs r2, r3, #3 8071bec: 4613 mov r3, r2 8071bee: 009b lsls r3, r3, #2 8071bf0: 4413 add r3, r2 8071bf2: 005b lsls r3, r3, #1 8071bf4: 1aca subs r2, r1, r3 8071bf6: b2d3 uxtb r3, r2 8071bf8: 3330 adds r3, #48 ; 0x30 8071bfa: b2da uxtb r2, r3 8071bfc: f507 733b add.w r3, r7, #748 ; 0x2ec 8071c00: 705a strb r2, [r3, #1] str[2] = ':'; 8071c02: f507 733b add.w r3, r7, #748 ; 0x2ec 8071c06: 223a movs r2, #58 ; 0x3a 8071c08: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 8071c0a: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 8071c0e: 4a29 ldr r2, [pc, #164] ; (8071cb4 ) 8071c10: fba2 2303 umull r2, r3, r2, r3 8071c14: 08db lsrs r3, r3, #3 8071c16: b2db uxtb r3, r3 8071c18: 3330 adds r3, #48 ; 0x30 8071c1a: b2da uxtb r2, r3 8071c1c: f507 733b add.w r3, r7, #748 ; 0x2ec 8071c20: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 8071c22: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8071c26: 4b23 ldr r3, [pc, #140] ; (8071cb4 ) 8071c28: fba3 2301 umull r2, r3, r3, r1 8071c2c: 08da lsrs r2, r3, #3 8071c2e: 4613 mov r3, r2 8071c30: 009b lsls r3, r3, #2 8071c32: 4413 add r3, r2 8071c34: 005b lsls r3, r3, #1 8071c36: 1aca subs r2, r1, r3 8071c38: b2d3 uxtb r3, r2 8071c3a: 3330 adds r3, #48 ; 0x30 8071c3c: b2da uxtb r2, r3 8071c3e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071c42: 711a strb r2, [r3, #4] str[5] = ':'; 8071c44: f507 733b add.w r3, r7, #748 ; 0x2ec 8071c48: 223a movs r2, #58 ; 0x3a 8071c4a: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 8071c4c: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 8071c50: 4a18 ldr r2, [pc, #96] ; (8071cb4 ) 8071c52: fba2 2303 umull r2, r3, r2, r3 8071c56: 08db lsrs r3, r3, #3 8071c58: b2db uxtb r3, r3 8071c5a: 3330 adds r3, #48 ; 0x30 8071c5c: b2da uxtb r2, r3 8071c5e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071c62: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 8071c64: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 8071c68: 4b12 ldr r3, [pc, #72] ; (8071cb4 ) 8071c6a: fba3 2301 umull r2, r3, r3, r1 8071c6e: 08da lsrs r2, r3, #3 8071c70: 4613 mov r3, r2 8071c72: 009b lsls r3, r3, #2 8071c74: 4413 add r3, r2 8071c76: 005b lsls r3, r3, #1 8071c78: 1aca subs r2, r1, r3 8071c7a: b2d3 uxtb r3, r2 8071c7c: 3330 adds r3, #48 ; 0x30 8071c7e: b2da uxtb r2, r3 8071c80: f507 733b add.w r3, r7, #748 ; 0x2ec 8071c84: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 8071c86: f507 723b add.w r2, r7, #748 ; 0x2ec 8071c8a: 2301 movs r3, #1 8071c8c: 21e4 movs r1, #228 ; 0xe4 8071c8e: 20be movs r0, #190 ; 0xbe 8071c90: f7e3 fb82 bl 8055398 8071c94: f000 bd77 b.w 8072786 8071c98: 080d6524 .word 0x080d6524 8071c9c: 080d651c .word 0x080d651c 8071ca0: 080d6514 .word 0x080d6514 8071ca4: 080d64dc .word 0x080d64dc 8071ca8: 080d64d0 .word 0x080d64d0 8071cac: 080d64c8 .word 0x080d64c8 8071cb0: 64090000 .word 0x64090000 8071cb4: cccccccd .word 0xcccccccd if(l == 2) 8071cb8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8071cbc: 2b02 cmp r3, #2 8071cbe: f040 821d bne.w 80720fc k = CmplxA_u32(0); 8071cc2: 4bde ldr r3, [pc, #888] ; (807203c ) 8071cc4: 681b ldr r3, [r3, #0] 8071cc6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8071cca: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071cce: 0e5b lsrs r3, r3, #25 8071cd0: 3b14 subs r3, #20 8071cd2: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8071cd6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071cda: 0d5b lsrs r3, r3, #21 8071cdc: f003 030f and.w r3, r3, #15 8071ce0: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 8071ce4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071ce8: 0c1b lsrs r3, r3, #16 8071cea: f003 031f and.w r3, r3, #31 8071cee: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 8071cf2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071cf6: 0adb lsrs r3, r3, #11 8071cf8: f003 031f and.w r3, r3, #31 8071cfc: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 8071d00: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071d04: 095b lsrs r3, r3, #5 8071d06: f003 033f and.w r3, r3, #63 ; 0x3f 8071d0a: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 8071d0e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071d12: 005b lsls r3, r3, #1 8071d14: f003 031f and.w r3, r3, #31 8071d18: 3301 adds r3, #1 8071d1a: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 8071d1e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071d22: 223c movs r2, #60 ; 0x3c 8071d24: 2100 movs r1, #0 8071d26: 4618 mov r0, r3 8071d28: f060 f93c bl 80d1fa4 str[0] = (Day / 10) + 48; 8071d2c: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 8071d30: 4ac3 ldr r2, [pc, #780] ; (8072040 ) 8071d32: fba2 2303 umull r2, r3, r2, r3 8071d36: 08db lsrs r3, r3, #3 8071d38: b2db uxtb r3, r3 8071d3a: 3330 adds r3, #48 ; 0x30 8071d3c: b2da uxtb r2, r3 8071d3e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071d42: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 8071d44: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 8071d48: 4bbd ldr r3, [pc, #756] ; (8072040 ) 8071d4a: fba3 2301 umull r2, r3, r3, r1 8071d4e: 08da lsrs r2, r3, #3 8071d50: 4613 mov r3, r2 8071d52: 009b lsls r3, r3, #2 8071d54: 4413 add r3, r2 8071d56: 005b lsls r3, r3, #1 8071d58: 1aca subs r2, r1, r3 8071d5a: b2d3 uxtb r3, r2 8071d5c: 3330 adds r3, #48 ; 0x30 8071d5e: b2da uxtb r2, r3 8071d60: f507 733b add.w r3, r7, #748 ; 0x2ec 8071d64: 705a strb r2, [r3, #1] str[2] = '.'; 8071d66: f507 733b add.w r3, r7, #748 ; 0x2ec 8071d6a: 222e movs r2, #46 ; 0x2e 8071d6c: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 8071d6e: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8071d72: 4ab3 ldr r2, [pc, #716] ; (8072040 ) 8071d74: fba2 2303 umull r2, r3, r2, r3 8071d78: 08db lsrs r3, r3, #3 8071d7a: b2db uxtb r3, r3 8071d7c: 3330 adds r3, #48 ; 0x30 8071d7e: b2da uxtb r2, r3 8071d80: f507 733b add.w r3, r7, #748 ; 0x2ec 8071d84: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8071d86: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8071d8a: 4bad ldr r3, [pc, #692] ; (8072040 ) 8071d8c: fba3 2301 umull r2, r3, r3, r1 8071d90: 08da lsrs r2, r3, #3 8071d92: 4613 mov r3, r2 8071d94: 009b lsls r3, r3, #2 8071d96: 4413 add r3, r2 8071d98: 005b lsls r3, r3, #1 8071d9a: 1aca subs r2, r1, r3 8071d9c: b2d3 uxtb r3, r2 8071d9e: 3330 adds r3, #48 ; 0x30 8071da0: b2da uxtb r2, r3 8071da2: f507 733b add.w r3, r7, #748 ; 0x2ec 8071da6: 711a strb r2, [r3, #4] str[5] = '.'; 8071da8: f507 733b add.w r3, r7, #748 ; 0x2ec 8071dac: 222e movs r2, #46 ; 0x2e 8071dae: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 8071db0: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 8071db4: 4aa2 ldr r2, [pc, #648] ; (8072040 ) 8071db6: fba2 2303 umull r2, r3, r2, r3 8071dba: 08db lsrs r3, r3, #3 8071dbc: b2db uxtb r3, r3 8071dbe: 3330 adds r3, #48 ; 0x30 8071dc0: b2da uxtb r2, r3 8071dc2: f507 733b add.w r3, r7, #748 ; 0x2ec 8071dc6: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8071dc8: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8071dcc: 4b9c ldr r3, [pc, #624] ; (8072040 ) 8071dce: fba3 2301 umull r2, r3, r3, r1 8071dd2: 08da lsrs r2, r3, #3 8071dd4: 4613 mov r3, r2 8071dd6: 009b lsls r3, r3, #2 8071dd8: 4413 add r3, r2 8071dda: 005b lsls r3, r3, #1 8071ddc: 1aca subs r2, r1, r3 8071dde: b2d3 uxtb r3, r2 8071de0: 3330 adds r3, #48 ; 0x30 8071de2: b2da uxtb r2, r3 8071de4: f507 733b add.w r3, r7, #748 ; 0x2ec 8071de8: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 8071dea: f507 723b add.w r2, r7, #748 ; 0x2ec 8071dee: 2301 movs r3, #1 8071df0: 21dc movs r1, #220 ; 0xdc 8071df2: 2050 movs r0, #80 ; 0x50 8071df4: f7e3 fad0 bl 8055398 memset(str, 0, sizeof(str)); 8071df8: f507 733b add.w r3, r7, #748 ; 0x2ec 8071dfc: 223c movs r2, #60 ; 0x3c 8071dfe: 2100 movs r1, #0 8071e00: 4618 mov r0, r3 8071e02: f060 f8cf bl 80d1fa4 str[0] = (Hour / 10) + 48; 8071e06: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 8071e0a: 4a8d ldr r2, [pc, #564] ; (8072040 ) 8071e0c: fba2 2303 umull r2, r3, r2, r3 8071e10: 08db lsrs r3, r3, #3 8071e12: b2db uxtb r3, r3 8071e14: 3330 adds r3, #48 ; 0x30 8071e16: b2da uxtb r2, r3 8071e18: f507 733b add.w r3, r7, #748 ; 0x2ec 8071e1c: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 8071e1e: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8071e22: 4b87 ldr r3, [pc, #540] ; (8072040 ) 8071e24: fba3 2301 umull r2, r3, r3, r1 8071e28: 08da lsrs r2, r3, #3 8071e2a: 4613 mov r3, r2 8071e2c: 009b lsls r3, r3, #2 8071e2e: 4413 add r3, r2 8071e30: 005b lsls r3, r3, #1 8071e32: 1aca subs r2, r1, r3 8071e34: b2d3 uxtb r3, r2 8071e36: 3330 adds r3, #48 ; 0x30 8071e38: b2da uxtb r2, r3 8071e3a: f507 733b add.w r3, r7, #748 ; 0x2ec 8071e3e: 705a strb r2, [r3, #1] str[2] = ':'; 8071e40: f507 733b add.w r3, r7, #748 ; 0x2ec 8071e44: 223a movs r2, #58 ; 0x3a 8071e46: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 8071e48: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 8071e4c: 4a7c ldr r2, [pc, #496] ; (8072040 ) 8071e4e: fba2 2303 umull r2, r3, r2, r3 8071e52: 08db lsrs r3, r3, #3 8071e54: b2db uxtb r3, r3 8071e56: 3330 adds r3, #48 ; 0x30 8071e58: b2da uxtb r2, r3 8071e5a: f507 733b add.w r3, r7, #748 ; 0x2ec 8071e5e: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 8071e60: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8071e64: 4b76 ldr r3, [pc, #472] ; (8072040 ) 8071e66: fba3 2301 umull r2, r3, r3, r1 8071e6a: 08da lsrs r2, r3, #3 8071e6c: 4613 mov r3, r2 8071e6e: 009b lsls r3, r3, #2 8071e70: 4413 add r3, r2 8071e72: 005b lsls r3, r3, #1 8071e74: 1aca subs r2, r1, r3 8071e76: b2d3 uxtb r3, r2 8071e78: 3330 adds r3, #48 ; 0x30 8071e7a: b2da uxtb r2, r3 8071e7c: f507 733b add.w r3, r7, #748 ; 0x2ec 8071e80: 711a strb r2, [r3, #4] str[5] = ':'; 8071e82: f507 733b add.w r3, r7, #748 ; 0x2ec 8071e86: 223a movs r2, #58 ; 0x3a 8071e88: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 8071e8a: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 8071e8e: 4a6c ldr r2, [pc, #432] ; (8072040 ) 8071e90: fba2 2303 umull r2, r3, r2, r3 8071e94: 08db lsrs r3, r3, #3 8071e96: b2db uxtb r3, r3 8071e98: 3330 adds r3, #48 ; 0x30 8071e9a: b2da uxtb r2, r3 8071e9c: f507 733b add.w r3, r7, #748 ; 0x2ec 8071ea0: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 8071ea2: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 8071ea6: 4b66 ldr r3, [pc, #408] ; (8072040 ) 8071ea8: fba3 2301 umull r2, r3, r3, r1 8071eac: 08da lsrs r2, r3, #3 8071eae: 4613 mov r3, r2 8071eb0: 009b lsls r3, r3, #2 8071eb2: 4413 add r3, r2 8071eb4: 005b lsls r3, r3, #1 8071eb6: 1aca subs r2, r1, r3 8071eb8: b2d3 uxtb r3, r2 8071eba: 3330 adds r3, #48 ; 0x30 8071ebc: b2da uxtb r2, r3 8071ebe: f507 733b add.w r3, r7, #748 ; 0x2ec 8071ec2: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 8071ec4: f507 723b add.w r2, r7, #748 ; 0x2ec 8071ec8: 2301 movs r3, #1 8071eca: 21e4 movs r1, #228 ; 0xe4 8071ecc: 2050 movs r0, #80 ; 0x50 8071ece: f7e3 fa63 bl 8055398 k = CmplxA_u32(1); 8071ed2: 4b5c ldr r3, [pc, #368] ; (8072044 ) 8071ed4: 681b ldr r3, [r3, #0] 8071ed6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8071eda: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071ede: 0e5b lsrs r3, r3, #25 8071ee0: 3b14 subs r3, #20 8071ee2: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8071ee6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071eea: 0d5b lsrs r3, r3, #21 8071eec: f003 030f and.w r3, r3, #15 8071ef0: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 8071ef4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071ef8: 0c1b lsrs r3, r3, #16 8071efa: f003 031f and.w r3, r3, #31 8071efe: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 8071f02: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071f06: 0adb lsrs r3, r3, #11 8071f08: f003 031f and.w r3, r3, #31 8071f0c: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 8071f10: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071f14: 095b lsrs r3, r3, #5 8071f16: f003 033f and.w r3, r3, #63 ; 0x3f 8071f1a: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 8071f1e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071f22: 005b lsls r3, r3, #1 8071f24: f003 031f and.w r3, r3, #31 8071f28: 3301 adds r3, #1 8071f2a: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 8071f2e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071f32: 223c movs r2, #60 ; 0x3c 8071f34: 2100 movs r1, #0 8071f36: 4618 mov r0, r3 8071f38: f060 f834 bl 80d1fa4 str[0] = (Day / 10) + 48; 8071f3c: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 8071f40: 4a3f ldr r2, [pc, #252] ; (8072040 ) 8071f42: fba2 2303 umull r2, r3, r2, r3 8071f46: 08db lsrs r3, r3, #3 8071f48: b2db uxtb r3, r3 8071f4a: 3330 adds r3, #48 ; 0x30 8071f4c: b2da uxtb r2, r3 8071f4e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071f52: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 8071f54: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 8071f58: 4b39 ldr r3, [pc, #228] ; (8072040 ) 8071f5a: fba3 2301 umull r2, r3, r3, r1 8071f5e: 08da lsrs r2, r3, #3 8071f60: 4613 mov r3, r2 8071f62: 009b lsls r3, r3, #2 8071f64: 4413 add r3, r2 8071f66: 005b lsls r3, r3, #1 8071f68: 1aca subs r2, r1, r3 8071f6a: b2d3 uxtb r3, r2 8071f6c: 3330 adds r3, #48 ; 0x30 8071f6e: b2da uxtb r2, r3 8071f70: f507 733b add.w r3, r7, #748 ; 0x2ec 8071f74: 705a strb r2, [r3, #1] str[2] = '.'; 8071f76: f507 733b add.w r3, r7, #748 ; 0x2ec 8071f7a: 222e movs r2, #46 ; 0x2e 8071f7c: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 8071f7e: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8071f82: 4a2f ldr r2, [pc, #188] ; (8072040 ) 8071f84: fba2 2303 umull r2, r3, r2, r3 8071f88: 08db lsrs r3, r3, #3 8071f8a: b2db uxtb r3, r3 8071f8c: 3330 adds r3, #48 ; 0x30 8071f8e: b2da uxtb r2, r3 8071f90: f507 733b add.w r3, r7, #748 ; 0x2ec 8071f94: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8071f96: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8071f9a: 4b29 ldr r3, [pc, #164] ; (8072040 ) 8071f9c: fba3 2301 umull r2, r3, r3, r1 8071fa0: 08da lsrs r2, r3, #3 8071fa2: 4613 mov r3, r2 8071fa4: 009b lsls r3, r3, #2 8071fa6: 4413 add r3, r2 8071fa8: 005b lsls r3, r3, #1 8071faa: 1aca subs r2, r1, r3 8071fac: b2d3 uxtb r3, r2 8071fae: 3330 adds r3, #48 ; 0x30 8071fb0: b2da uxtb r2, r3 8071fb2: f507 733b add.w r3, r7, #748 ; 0x2ec 8071fb6: 711a strb r2, [r3, #4] str[5] = '.'; 8071fb8: f507 733b add.w r3, r7, #748 ; 0x2ec 8071fbc: 222e movs r2, #46 ; 0x2e 8071fbe: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 8071fc0: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 8071fc4: 4a1e ldr r2, [pc, #120] ; (8072040 ) 8071fc6: fba2 2303 umull r2, r3, r2, r3 8071fca: 08db lsrs r3, r3, #3 8071fcc: b2db uxtb r3, r3 8071fce: 3330 adds r3, #48 ; 0x30 8071fd0: b2da uxtb r2, r3 8071fd2: f507 733b add.w r3, r7, #748 ; 0x2ec 8071fd6: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8071fd8: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8071fdc: 4b18 ldr r3, [pc, #96] ; (8072040 ) 8071fde: fba3 2301 umull r2, r3, r3, r1 8071fe2: 08da lsrs r2, r3, #3 8071fe4: 4613 mov r3, r2 8071fe6: 009b lsls r3, r3, #2 8071fe8: 4413 add r3, r2 8071fea: 005b lsls r3, r3, #1 8071fec: 1aca subs r2, r1, r3 8071fee: b2d3 uxtb r3, r2 8071ff0: 3330 adds r3, #48 ; 0x30 8071ff2: b2da uxtb r2, r3 8071ff4: f507 733b add.w r3, r7, #748 ; 0x2ec 8071ff8: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 8071ffa: f507 723b add.w r2, r7, #748 ; 0x2ec 8071ffe: 2301 movs r3, #1 8072000: 21dc movs r1, #220 ; 0xdc 8072002: f44f 7095 mov.w r0, #298 ; 0x12a 8072006: f7e3 f9c7 bl 8055398 memset(str, 0, sizeof(str)); 807200a: f507 733b add.w r3, r7, #748 ; 0x2ec 807200e: 223c movs r2, #60 ; 0x3c 8072010: 2100 movs r1, #0 8072012: 4618 mov r0, r3 8072014: f05f ffc6 bl 80d1fa4 str[0] = (Hour / 10) + 48; 8072018: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 807201c: 4a08 ldr r2, [pc, #32] ; (8072040 ) 807201e: fba2 2303 umull r2, r3, r2, r3 8072022: 08db lsrs r3, r3, #3 8072024: b2db uxtb r3, r3 8072026: 3330 adds r3, #48 ; 0x30 8072028: b2da uxtb r2, r3 807202a: f507 733b add.w r3, r7, #748 ; 0x2ec 807202e: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 8072030: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8072034: 4b02 ldr r3, [pc, #8] ; (8072040 ) 8072036: fba3 2301 umull r2, r3, r3, r1 807203a: e005 b.n 8072048 807203c: 64090000 .word 0x64090000 8072040: cccccccd .word 0xcccccccd 8072044: 64090004 .word 0x64090004 8072048: 08da lsrs r2, r3, #3 807204a: 4613 mov r3, r2 807204c: 009b lsls r3, r3, #2 807204e: 4413 add r3, r2 8072050: 005b lsls r3, r3, #1 8072052: 1aca subs r2, r1, r3 8072054: b2d3 uxtb r3, r2 8072056: 3330 adds r3, #48 ; 0x30 8072058: b2da uxtb r2, r3 807205a: f507 733b add.w r3, r7, #748 ; 0x2ec 807205e: 705a strb r2, [r3, #1] str[2] = ':'; 8072060: f507 733b add.w r3, r7, #748 ; 0x2ec 8072064: 223a movs r2, #58 ; 0x3a 8072066: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 8072068: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 807206c: 4a22 ldr r2, [pc, #136] ; (80720f8 ) 807206e: fba2 2303 umull r2, r3, r2, r3 8072072: 08db lsrs r3, r3, #3 8072074: b2db uxtb r3, r3 8072076: 3330 adds r3, #48 ; 0x30 8072078: b2da uxtb r2, r3 807207a: f507 733b add.w r3, r7, #748 ; 0x2ec 807207e: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 8072080: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8072084: 4b1c ldr r3, [pc, #112] ; (80720f8 ) 8072086: fba3 2301 umull r2, r3, r3, r1 807208a: 08da lsrs r2, r3, #3 807208c: 4613 mov r3, r2 807208e: 009b lsls r3, r3, #2 8072090: 4413 add r3, r2 8072092: 005b lsls r3, r3, #1 8072094: 1aca subs r2, r1, r3 8072096: b2d3 uxtb r3, r2 8072098: 3330 adds r3, #48 ; 0x30 807209a: b2da uxtb r2, r3 807209c: f507 733b add.w r3, r7, #748 ; 0x2ec 80720a0: 711a strb r2, [r3, #4] str[5] = ':'; 80720a2: f507 733b add.w r3, r7, #748 ; 0x2ec 80720a6: 223a movs r2, #58 ; 0x3a 80720a8: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 80720aa: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 80720ae: 4a12 ldr r2, [pc, #72] ; (80720f8 ) 80720b0: fba2 2303 umull r2, r3, r2, r3 80720b4: 08db lsrs r3, r3, #3 80720b6: b2db uxtb r3, r3 80720b8: 3330 adds r3, #48 ; 0x30 80720ba: b2da uxtb r2, r3 80720bc: f507 733b add.w r3, r7, #748 ; 0x2ec 80720c0: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 80720c2: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 80720c6: 4b0c ldr r3, [pc, #48] ; (80720f8 ) 80720c8: fba3 2301 umull r2, r3, r3, r1 80720cc: 08da lsrs r2, r3, #3 80720ce: 4613 mov r3, r2 80720d0: 009b lsls r3, r3, #2 80720d2: 4413 add r3, r2 80720d4: 005b lsls r3, r3, #1 80720d6: 1aca subs r2, r1, r3 80720d8: b2d3 uxtb r3, r2 80720da: 3330 adds r3, #48 ; 0x30 80720dc: b2da uxtb r2, r3 80720de: f507 733b add.w r3, r7, #748 ; 0x2ec 80720e2: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 80720e4: f507 723b add.w r2, r7, #748 ; 0x2ec 80720e8: 2301 movs r3, #1 80720ea: 21e4 movs r1, #228 ; 0xe4 80720ec: f44f 7095 mov.w r0, #298 ; 0x12a 80720f0: f7e3 f952 bl 8055398 80720f4: e347 b.n 8072786 80720f6: bf00 nop 80720f8: cccccccd .word 0xcccccccd k = CmplxA_u32(0); 80720fc: 4be0 ldr r3, [pc, #896] ; (8072480 ) 80720fe: 681b ldr r3, [r3, #0] 8072100: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8072104: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8072108: 0e5b lsrs r3, r3, #25 807210a: 3b14 subs r3, #20 807210c: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8072110: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8072114: 0d5b lsrs r3, r3, #21 8072116: f003 030f and.w r3, r3, #15 807211a: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 807211e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8072122: 0c1b lsrs r3, r3, #16 8072124: f003 031f and.w r3, r3, #31 8072128: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 807212c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8072130: 0adb lsrs r3, r3, #11 8072132: f003 031f and.w r3, r3, #31 8072136: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 807213a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807213e: 095b lsrs r3, r3, #5 8072140: f003 033f and.w r3, r3, #63 ; 0x3f 8072144: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 8072148: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807214c: 005b lsls r3, r3, #1 807214e: f003 031f and.w r3, r3, #31 8072152: 3301 adds r3, #1 8072154: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 8072158: f507 733b add.w r3, r7, #748 ; 0x2ec 807215c: 223c movs r2, #60 ; 0x3c 807215e: 2100 movs r1, #0 8072160: 4618 mov r0, r3 8072162: f05f ff1f bl 80d1fa4 str[0] = (Day / 10) + 48; 8072166: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 807216a: 4ac6 ldr r2, [pc, #792] ; (8072484 ) 807216c: fba2 2303 umull r2, r3, r2, r3 8072170: 08db lsrs r3, r3, #3 8072172: b2db uxtb r3, r3 8072174: 3330 adds r3, #48 ; 0x30 8072176: b2da uxtb r2, r3 8072178: f507 733b add.w r3, r7, #748 ; 0x2ec 807217c: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 807217e: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 8072182: 4bc0 ldr r3, [pc, #768] ; (8072484 ) 8072184: fba3 2301 umull r2, r3, r3, r1 8072188: 08da lsrs r2, r3, #3 807218a: 4613 mov r3, r2 807218c: 009b lsls r3, r3, #2 807218e: 4413 add r3, r2 8072190: 005b lsls r3, r3, #1 8072192: 1aca subs r2, r1, r3 8072194: b2d3 uxtb r3, r2 8072196: 3330 adds r3, #48 ; 0x30 8072198: b2da uxtb r2, r3 807219a: f507 733b add.w r3, r7, #748 ; 0x2ec 807219e: 705a strb r2, [r3, #1] str[2] = '.'; 80721a0: f507 733b add.w r3, r7, #748 ; 0x2ec 80721a4: 222e movs r2, #46 ; 0x2e 80721a6: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 80721a8: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 80721ac: 4ab5 ldr r2, [pc, #724] ; (8072484 ) 80721ae: fba2 2303 umull r2, r3, r2, r3 80721b2: 08db lsrs r3, r3, #3 80721b4: b2db uxtb r3, r3 80721b6: 3330 adds r3, #48 ; 0x30 80721b8: b2da uxtb r2, r3 80721ba: f507 733b add.w r3, r7, #748 ; 0x2ec 80721be: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 80721c0: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 80721c4: 4baf ldr r3, [pc, #700] ; (8072484 ) 80721c6: fba3 2301 umull r2, r3, r3, r1 80721ca: 08da lsrs r2, r3, #3 80721cc: 4613 mov r3, r2 80721ce: 009b lsls r3, r3, #2 80721d0: 4413 add r3, r2 80721d2: 005b lsls r3, r3, #1 80721d4: 1aca subs r2, r1, r3 80721d6: b2d3 uxtb r3, r2 80721d8: 3330 adds r3, #48 ; 0x30 80721da: b2da uxtb r2, r3 80721dc: f507 733b add.w r3, r7, #748 ; 0x2ec 80721e0: 711a strb r2, [r3, #4] str[5] = '.'; 80721e2: f507 733b add.w r3, r7, #748 ; 0x2ec 80721e6: 222e movs r2, #46 ; 0x2e 80721e8: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 80721ea: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 80721ee: 4aa5 ldr r2, [pc, #660] ; (8072484 ) 80721f0: fba2 2303 umull r2, r3, r2, r3 80721f4: 08db lsrs r3, r3, #3 80721f6: b2db uxtb r3, r3 80721f8: 3330 adds r3, #48 ; 0x30 80721fa: b2da uxtb r2, r3 80721fc: f507 733b add.w r3, r7, #748 ; 0x2ec 8072200: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8072202: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8072206: 4b9f ldr r3, [pc, #636] ; (8072484 ) 8072208: fba3 2301 umull r2, r3, r3, r1 807220c: 08da lsrs r2, r3, #3 807220e: 4613 mov r3, r2 8072210: 009b lsls r3, r3, #2 8072212: 4413 add r3, r2 8072214: 005b lsls r3, r3, #1 8072216: 1aca subs r2, r1, r3 8072218: b2d3 uxtb r3, r2 807221a: 3330 adds r3, #48 ; 0x30 807221c: b2da uxtb r2, r3 807221e: f507 733b add.w r3, r7, #748 ; 0x2ec 8072222: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 8072224: f507 723b add.w r2, r7, #748 ; 0x2ec 8072228: 2301 movs r3, #1 807222a: 21dc movs r1, #220 ; 0xdc 807222c: 2050 movs r0, #80 ; 0x50 807222e: f7e3 f8b3 bl 8055398 memset(str, 0, sizeof(str)); 8072232: f507 733b add.w r3, r7, #748 ; 0x2ec 8072236: 223c movs r2, #60 ; 0x3c 8072238: 2100 movs r1, #0 807223a: 4618 mov r0, r3 807223c: f05f feb2 bl 80d1fa4 str[0] = (Hour / 10) + 48; 8072240: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 8072244: 4a8f ldr r2, [pc, #572] ; (8072484 ) 8072246: fba2 2303 umull r2, r3, r2, r3 807224a: 08db lsrs r3, r3, #3 807224c: b2db uxtb r3, r3 807224e: 3330 adds r3, #48 ; 0x30 8072250: b2da uxtb r2, r3 8072252: f507 733b add.w r3, r7, #748 ; 0x2ec 8072256: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 8072258: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 807225c: 4b89 ldr r3, [pc, #548] ; (8072484 ) 807225e: fba3 2301 umull r2, r3, r3, r1 8072262: 08da lsrs r2, r3, #3 8072264: 4613 mov r3, r2 8072266: 009b lsls r3, r3, #2 8072268: 4413 add r3, r2 807226a: 005b lsls r3, r3, #1 807226c: 1aca subs r2, r1, r3 807226e: b2d3 uxtb r3, r2 8072270: 3330 adds r3, #48 ; 0x30 8072272: b2da uxtb r2, r3 8072274: f507 733b add.w r3, r7, #748 ; 0x2ec 8072278: 705a strb r2, [r3, #1] str[2] = ':'; 807227a: f507 733b add.w r3, r7, #748 ; 0x2ec 807227e: 223a movs r2, #58 ; 0x3a 8072280: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 8072282: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 8072286: 4a7f ldr r2, [pc, #508] ; (8072484 ) 8072288: fba2 2303 umull r2, r3, r2, r3 807228c: 08db lsrs r3, r3, #3 807228e: b2db uxtb r3, r3 8072290: 3330 adds r3, #48 ; 0x30 8072292: b2da uxtb r2, r3 8072294: f507 733b add.w r3, r7, #748 ; 0x2ec 8072298: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 807229a: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 807229e: 4b79 ldr r3, [pc, #484] ; (8072484 ) 80722a0: fba3 2301 umull r2, r3, r3, r1 80722a4: 08da lsrs r2, r3, #3 80722a6: 4613 mov r3, r2 80722a8: 009b lsls r3, r3, #2 80722aa: 4413 add r3, r2 80722ac: 005b lsls r3, r3, #1 80722ae: 1aca subs r2, r1, r3 80722b0: b2d3 uxtb r3, r2 80722b2: 3330 adds r3, #48 ; 0x30 80722b4: b2da uxtb r2, r3 80722b6: f507 733b add.w r3, r7, #748 ; 0x2ec 80722ba: 711a strb r2, [r3, #4] str[5] = ':'; 80722bc: f507 733b add.w r3, r7, #748 ; 0x2ec 80722c0: 223a movs r2, #58 ; 0x3a 80722c2: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 80722c4: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 80722c8: 4a6e ldr r2, [pc, #440] ; (8072484 ) 80722ca: fba2 2303 umull r2, r3, r2, r3 80722ce: 08db lsrs r3, r3, #3 80722d0: b2db uxtb r3, r3 80722d2: 3330 adds r3, #48 ; 0x30 80722d4: b2da uxtb r2, r3 80722d6: f507 733b add.w r3, r7, #748 ; 0x2ec 80722da: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 80722dc: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 80722e0: 4b68 ldr r3, [pc, #416] ; (8072484 ) 80722e2: fba3 2301 umull r2, r3, r3, r1 80722e6: 08da lsrs r2, r3, #3 80722e8: 4613 mov r3, r2 80722ea: 009b lsls r3, r3, #2 80722ec: 4413 add r3, r2 80722ee: 005b lsls r3, r3, #1 80722f0: 1aca subs r2, r1, r3 80722f2: b2d3 uxtb r3, r2 80722f4: 3330 adds r3, #48 ; 0x30 80722f6: b2da uxtb r2, r3 80722f8: f507 733b add.w r3, r7, #748 ; 0x2ec 80722fc: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 80722fe: f507 723b add.w r2, r7, #748 ; 0x2ec 8072302: 2301 movs r3, #1 8072304: 21e4 movs r1, #228 ; 0xe4 8072306: 2050 movs r0, #80 ; 0x50 8072308: f7e3 f846 bl 8055398 f = (float32_t) l / 2; 807230c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8072310: ee07 3a90 vmov s15, r3 8072314: eeb8 7a67 vcvt.f32.u32 s14, s15 8072318: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 807231c: eec7 7a26 vdiv.f32 s15, s14, s13 8072320: f507 638b add.w r3, r7, #1112 ; 0x458 8072324: edc3 7a00 vstr s15, [r3] i = (uint32_t) (f + 0.5f); 8072328: f507 638b add.w r3, r7, #1112 ; 0x458 807232c: edd3 7a00 vldr s15, [r3] 8072330: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072334: ee77 7a87 vadd.f32 s15, s15, s14 8072338: eefc 7ae7 vcvt.u32.f32 s15, s15 807233c: ee17 3a90 vmov r3, s15 8072340: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 k = CmplxA_u32(i); 8072344: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8072348: 009a lsls r2, r3, #2 807234a: 4b4d ldr r3, [pc, #308] ; (8072480 ) 807234c: 4413 add r3, r2 807234e: 681b ldr r3, [r3, #0] 8072350: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8072354: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8072358: 0e5b lsrs r3, r3, #25 807235a: 3b14 subs r3, #20 807235c: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8072360: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8072364: 0d5b lsrs r3, r3, #21 8072366: f003 030f and.w r3, r3, #15 807236a: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 807236e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8072372: 0c1b lsrs r3, r3, #16 8072374: f003 031f and.w r3, r3, #31 8072378: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 807237c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8072380: 0adb lsrs r3, r3, #11 8072382: f003 031f and.w r3, r3, #31 8072386: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 807238a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807238e: 095b lsrs r3, r3, #5 8072390: f003 033f and.w r3, r3, #63 ; 0x3f 8072394: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 8072398: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807239c: 005b lsls r3, r3, #1 807239e: f003 031f and.w r3, r3, #31 80723a2: 3301 adds r3, #1 80723a4: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 80723a8: f507 733b add.w r3, r7, #748 ; 0x2ec 80723ac: 223c movs r2, #60 ; 0x3c 80723ae: 2100 movs r1, #0 80723b0: 4618 mov r0, r3 80723b2: f05f fdf7 bl 80d1fa4 str[0] = (Day / 10) + 48; 80723b6: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 80723ba: 4a32 ldr r2, [pc, #200] ; (8072484 ) 80723bc: fba2 2303 umull r2, r3, r2, r3 80723c0: 08db lsrs r3, r3, #3 80723c2: b2db uxtb r3, r3 80723c4: 3330 adds r3, #48 ; 0x30 80723c6: b2da uxtb r2, r3 80723c8: f507 733b add.w r3, r7, #748 ; 0x2ec 80723cc: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 80723ce: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 80723d2: 4b2c ldr r3, [pc, #176] ; (8072484 ) 80723d4: fba3 2301 umull r2, r3, r3, r1 80723d8: 08da lsrs r2, r3, #3 80723da: 4613 mov r3, r2 80723dc: 009b lsls r3, r3, #2 80723de: 4413 add r3, r2 80723e0: 005b lsls r3, r3, #1 80723e2: 1aca subs r2, r1, r3 80723e4: b2d3 uxtb r3, r2 80723e6: 3330 adds r3, #48 ; 0x30 80723e8: b2da uxtb r2, r3 80723ea: f507 733b add.w r3, r7, #748 ; 0x2ec 80723ee: 705a strb r2, [r3, #1] str[2] = '.'; 80723f0: f507 733b add.w r3, r7, #748 ; 0x2ec 80723f4: 222e movs r2, #46 ; 0x2e 80723f6: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 80723f8: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 80723fc: 4a21 ldr r2, [pc, #132] ; (8072484 ) 80723fe: fba2 2303 umull r2, r3, r2, r3 8072402: 08db lsrs r3, r3, #3 8072404: b2db uxtb r3, r3 8072406: 3330 adds r3, #48 ; 0x30 8072408: b2da uxtb r2, r3 807240a: f507 733b add.w r3, r7, #748 ; 0x2ec 807240e: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8072410: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8072414: 4b1b ldr r3, [pc, #108] ; (8072484 ) 8072416: fba3 2301 umull r2, r3, r3, r1 807241a: 08da lsrs r2, r3, #3 807241c: 4613 mov r3, r2 807241e: 009b lsls r3, r3, #2 8072420: 4413 add r3, r2 8072422: 005b lsls r3, r3, #1 8072424: 1aca subs r2, r1, r3 8072426: b2d3 uxtb r3, r2 8072428: 3330 adds r3, #48 ; 0x30 807242a: b2da uxtb r2, r3 807242c: f507 733b add.w r3, r7, #748 ; 0x2ec 8072430: 711a strb r2, [r3, #4] str[5] = '.'; 8072432: f507 733b add.w r3, r7, #748 ; 0x2ec 8072436: 222e movs r2, #46 ; 0x2e 8072438: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 807243a: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 807243e: 4a11 ldr r2, [pc, #68] ; (8072484 ) 8072440: fba2 2303 umull r2, r3, r2, r3 8072444: 08db lsrs r3, r3, #3 8072446: b2db uxtb r3, r3 8072448: 3330 adds r3, #48 ; 0x30 807244a: b2da uxtb r2, r3 807244c: f507 733b add.w r3, r7, #748 ; 0x2ec 8072450: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8072452: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8072456: 4b0b ldr r3, [pc, #44] ; (8072484 ) 8072458: fba3 2301 umull r2, r3, r3, r1 807245c: 08da lsrs r2, r3, #3 807245e: 4613 mov r3, r2 8072460: 009b lsls r3, r3, #2 8072462: 4413 add r3, r2 8072464: 005b lsls r3, r3, #1 8072466: 1aca subs r2, r1, r3 8072468: b2d3 uxtb r3, r2 807246a: 3330 adds r3, #48 ; 0x30 807246c: b2da uxtb r2, r3 807246e: f507 733b add.w r3, r7, #748 ; 0x2ec 8072472: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 8072474: f507 723b add.w r2, r7, #748 ; 0x2ec 8072478: 2301 movs r3, #1 807247a: 21dc movs r1, #220 ; 0xdc 807247c: e004 b.n 8072488 807247e: bf00 nop 8072480: 64090000 .word 0x64090000 8072484: cccccccd .word 0xcccccccd 8072488: 20be movs r0, #190 ; 0xbe 807248a: f7e2 ff85 bl 8055398 memset(str, 0, sizeof(str)); 807248e: f507 733b add.w r3, r7, #748 ; 0x2ec 8072492: 223c movs r2, #60 ; 0x3c 8072494: 2100 movs r1, #0 8072496: 4618 mov r0, r3 8072498: f05f fd84 bl 80d1fa4 str[0] = (Hour / 10) + 48; 807249c: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 80724a0: 4abe ldr r2, [pc, #760] ; (807279c ) 80724a2: fba2 2303 umull r2, r3, r2, r3 80724a6: 08db lsrs r3, r3, #3 80724a8: b2db uxtb r3, r3 80724aa: 3330 adds r3, #48 ; 0x30 80724ac: b2da uxtb r2, r3 80724ae: f507 733b add.w r3, r7, #748 ; 0x2ec 80724b2: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 80724b4: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 80724b8: 4bb8 ldr r3, [pc, #736] ; (807279c ) 80724ba: fba3 2301 umull r2, r3, r3, r1 80724be: 08da lsrs r2, r3, #3 80724c0: 4613 mov r3, r2 80724c2: 009b lsls r3, r3, #2 80724c4: 4413 add r3, r2 80724c6: 005b lsls r3, r3, #1 80724c8: 1aca subs r2, r1, r3 80724ca: b2d3 uxtb r3, r2 80724cc: 3330 adds r3, #48 ; 0x30 80724ce: b2da uxtb r2, r3 80724d0: f507 733b add.w r3, r7, #748 ; 0x2ec 80724d4: 705a strb r2, [r3, #1] str[2] = ':'; 80724d6: f507 733b add.w r3, r7, #748 ; 0x2ec 80724da: 223a movs r2, #58 ; 0x3a 80724dc: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 80724de: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 80724e2: 4aae ldr r2, [pc, #696] ; (807279c ) 80724e4: fba2 2303 umull r2, r3, r2, r3 80724e8: 08db lsrs r3, r3, #3 80724ea: b2db uxtb r3, r3 80724ec: 3330 adds r3, #48 ; 0x30 80724ee: b2da uxtb r2, r3 80724f0: f507 733b add.w r3, r7, #748 ; 0x2ec 80724f4: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 80724f6: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 80724fa: 4ba8 ldr r3, [pc, #672] ; (807279c ) 80724fc: fba3 2301 umull r2, r3, r3, r1 8072500: 08da lsrs r2, r3, #3 8072502: 4613 mov r3, r2 8072504: 009b lsls r3, r3, #2 8072506: 4413 add r3, r2 8072508: 005b lsls r3, r3, #1 807250a: 1aca subs r2, r1, r3 807250c: b2d3 uxtb r3, r2 807250e: 3330 adds r3, #48 ; 0x30 8072510: b2da uxtb r2, r3 8072512: f507 733b add.w r3, r7, #748 ; 0x2ec 8072516: 711a strb r2, [r3, #4] str[5] = ':'; 8072518: f507 733b add.w r3, r7, #748 ; 0x2ec 807251c: 223a movs r2, #58 ; 0x3a 807251e: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 8072520: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 8072524: 4a9d ldr r2, [pc, #628] ; (807279c ) 8072526: fba2 2303 umull r2, r3, r2, r3 807252a: 08db lsrs r3, r3, #3 807252c: b2db uxtb r3, r3 807252e: 3330 adds r3, #48 ; 0x30 8072530: b2da uxtb r2, r3 8072532: f507 733b add.w r3, r7, #748 ; 0x2ec 8072536: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 8072538: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 807253c: 4b97 ldr r3, [pc, #604] ; (807279c ) 807253e: fba3 2301 umull r2, r3, r3, r1 8072542: 08da lsrs r2, r3, #3 8072544: 4613 mov r3, r2 8072546: 009b lsls r3, r3, #2 8072548: 4413 add r3, r2 807254a: 005b lsls r3, r3, #1 807254c: 1aca subs r2, r1, r3 807254e: b2d3 uxtb r3, r2 8072550: 3330 adds r3, #48 ; 0x30 8072552: b2da uxtb r2, r3 8072554: f507 733b add.w r3, r7, #748 ; 0x2ec 8072558: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 807255a: f507 723b add.w r2, r7, #748 ; 0x2ec 807255e: 2301 movs r3, #1 8072560: 21e4 movs r1, #228 ; 0xe4 8072562: 20be movs r0, #190 ; 0xbe 8072564: f7e2 ff18 bl 8055398 k = CmplxA_u32(l - 1); 8072568: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 807256c: 3b01 subs r3, #1 807256e: 009a lsls r2, r3, #2 8072570: 4b8b ldr r3, [pc, #556] ; (80727a0 ) 8072572: 4413 add r3, r2 8072574: 681b ldr r3, [r3, #0] 8072576: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 807257a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807257e: 0e5b lsrs r3, r3, #25 8072580: 3b14 subs r3, #20 8072582: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8072586: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807258a: 0d5b lsrs r3, r3, #21 807258c: f003 030f and.w r3, r3, #15 8072590: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 8072594: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8072598: 0c1b lsrs r3, r3, #16 807259a: f003 031f and.w r3, r3, #31 807259e: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 80725a2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80725a6: 0adb lsrs r3, r3, #11 80725a8: f003 031f and.w r3, r3, #31 80725ac: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 80725b0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80725b4: 095b lsrs r3, r3, #5 80725b6: f003 033f and.w r3, r3, #63 ; 0x3f 80725ba: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 80725be: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80725c2: 005b lsls r3, r3, #1 80725c4: f003 031f and.w r3, r3, #31 80725c8: 3301 adds r3, #1 80725ca: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 80725ce: f507 733b add.w r3, r7, #748 ; 0x2ec 80725d2: 223c movs r2, #60 ; 0x3c 80725d4: 2100 movs r1, #0 80725d6: 4618 mov r0, r3 80725d8: f05f fce4 bl 80d1fa4 str[0] = (Day / 10) + 48; 80725dc: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 80725e0: 4a6e ldr r2, [pc, #440] ; (807279c ) 80725e2: fba2 2303 umull r2, r3, r2, r3 80725e6: 08db lsrs r3, r3, #3 80725e8: b2db uxtb r3, r3 80725ea: 3330 adds r3, #48 ; 0x30 80725ec: b2da uxtb r2, r3 80725ee: f507 733b add.w r3, r7, #748 ; 0x2ec 80725f2: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 80725f4: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 80725f8: 4b68 ldr r3, [pc, #416] ; (807279c ) 80725fa: fba3 2301 umull r2, r3, r3, r1 80725fe: 08da lsrs r2, r3, #3 8072600: 4613 mov r3, r2 8072602: 009b lsls r3, r3, #2 8072604: 4413 add r3, r2 8072606: 005b lsls r3, r3, #1 8072608: 1aca subs r2, r1, r3 807260a: b2d3 uxtb r3, r2 807260c: 3330 adds r3, #48 ; 0x30 807260e: b2da uxtb r2, r3 8072610: f507 733b add.w r3, r7, #748 ; 0x2ec 8072614: 705a strb r2, [r3, #1] str[2] = '.'; 8072616: f507 733b add.w r3, r7, #748 ; 0x2ec 807261a: 222e movs r2, #46 ; 0x2e 807261c: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 807261e: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8072622: 4a5e ldr r2, [pc, #376] ; (807279c ) 8072624: fba2 2303 umull r2, r3, r2, r3 8072628: 08db lsrs r3, r3, #3 807262a: b2db uxtb r3, r3 807262c: 3330 adds r3, #48 ; 0x30 807262e: b2da uxtb r2, r3 8072630: f507 733b add.w r3, r7, #748 ; 0x2ec 8072634: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8072636: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 807263a: 4b58 ldr r3, [pc, #352] ; (807279c ) 807263c: fba3 2301 umull r2, r3, r3, r1 8072640: 08da lsrs r2, r3, #3 8072642: 4613 mov r3, r2 8072644: 009b lsls r3, r3, #2 8072646: 4413 add r3, r2 8072648: 005b lsls r3, r3, #1 807264a: 1aca subs r2, r1, r3 807264c: b2d3 uxtb r3, r2 807264e: 3330 adds r3, #48 ; 0x30 8072650: b2da uxtb r2, r3 8072652: f507 733b add.w r3, r7, #748 ; 0x2ec 8072656: 711a strb r2, [r3, #4] str[5] = '.'; 8072658: f507 733b add.w r3, r7, #748 ; 0x2ec 807265c: 222e movs r2, #46 ; 0x2e 807265e: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 8072660: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 8072664: 4a4d ldr r2, [pc, #308] ; (807279c ) 8072666: fba2 2303 umull r2, r3, r2, r3 807266a: 08db lsrs r3, r3, #3 807266c: b2db uxtb r3, r3 807266e: 3330 adds r3, #48 ; 0x30 8072670: b2da uxtb r2, r3 8072672: f507 733b add.w r3, r7, #748 ; 0x2ec 8072676: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8072678: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 807267c: 4b47 ldr r3, [pc, #284] ; (807279c ) 807267e: fba3 2301 umull r2, r3, r3, r1 8072682: 08da lsrs r2, r3, #3 8072684: 4613 mov r3, r2 8072686: 009b lsls r3, r3, #2 8072688: 4413 add r3, r2 807268a: 005b lsls r3, r3, #1 807268c: 1aca subs r2, r1, r3 807268e: b2d3 uxtb r3, r2 8072690: 3330 adds r3, #48 ; 0x30 8072692: b2da uxtb r2, r3 8072694: f507 733b add.w r3, r7, #748 ; 0x2ec 8072698: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 807269a: f507 723b add.w r2, r7, #748 ; 0x2ec 807269e: 2301 movs r3, #1 80726a0: 21dc movs r1, #220 ; 0xdc 80726a2: f44f 7095 mov.w r0, #298 ; 0x12a 80726a6: f7e2 fe77 bl 8055398 memset(str, 0, sizeof(str)); 80726aa: f507 733b add.w r3, r7, #748 ; 0x2ec 80726ae: 223c movs r2, #60 ; 0x3c 80726b0: 2100 movs r1, #0 80726b2: 4618 mov r0, r3 80726b4: f05f fc76 bl 80d1fa4 str[0] = (Hour / 10) + 48; 80726b8: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 80726bc: 4a37 ldr r2, [pc, #220] ; (807279c ) 80726be: fba2 2303 umull r2, r3, r2, r3 80726c2: 08db lsrs r3, r3, #3 80726c4: b2db uxtb r3, r3 80726c6: 3330 adds r3, #48 ; 0x30 80726c8: b2da uxtb r2, r3 80726ca: f507 733b add.w r3, r7, #748 ; 0x2ec 80726ce: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 80726d0: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 80726d4: 4b31 ldr r3, [pc, #196] ; (807279c ) 80726d6: fba3 2301 umull r2, r3, r3, r1 80726da: 08da lsrs r2, r3, #3 80726dc: 4613 mov r3, r2 80726de: 009b lsls r3, r3, #2 80726e0: 4413 add r3, r2 80726e2: 005b lsls r3, r3, #1 80726e4: 1aca subs r2, r1, r3 80726e6: b2d3 uxtb r3, r2 80726e8: 3330 adds r3, #48 ; 0x30 80726ea: b2da uxtb r2, r3 80726ec: f507 733b add.w r3, r7, #748 ; 0x2ec 80726f0: 705a strb r2, [r3, #1] str[2] = ':'; 80726f2: f507 733b add.w r3, r7, #748 ; 0x2ec 80726f6: 223a movs r2, #58 ; 0x3a 80726f8: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 80726fa: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 80726fe: 4a27 ldr r2, [pc, #156] ; (807279c ) 8072700: fba2 2303 umull r2, r3, r2, r3 8072704: 08db lsrs r3, r3, #3 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: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 8072712: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8072716: 4b21 ldr r3, [pc, #132] ; (807279c ) 8072718: fba3 2301 umull r2, r3, r3, r1 807271c: 08da lsrs r2, r3, #3 807271e: 4613 mov r3, r2 8072720: 009b lsls r3, r3, #2 8072722: 4413 add r3, r2 8072724: 005b lsls r3, r3, #1 8072726: 1aca subs r2, r1, r3 8072728: b2d3 uxtb r3, r2 807272a: 3330 adds r3, #48 ; 0x30 807272c: b2da uxtb r2, r3 807272e: f507 733b add.w r3, r7, #748 ; 0x2ec 8072732: 711a strb r2, [r3, #4] str[5] = ':'; 8072734: f507 733b add.w r3, r7, #748 ; 0x2ec 8072738: 223a movs r2, #58 ; 0x3a 807273a: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 807273c: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 8072740: 4a16 ldr r2, [pc, #88] ; (807279c ) 8072742: fba2 2303 umull r2, r3, r2, r3 8072746: 08db lsrs r3, r3, #3 8072748: b2db uxtb r3, r3 807274a: 3330 adds r3, #48 ; 0x30 807274c: b2da uxtb r2, r3 807274e: f507 733b add.w r3, r7, #748 ; 0x2ec 8072752: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 8072754: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 8072758: 4b10 ldr r3, [pc, #64] ; (807279c ) 807275a: fba3 2301 umull r2, r3, r3, r1 807275e: 08da lsrs r2, r3, #3 8072760: 4613 mov r3, r2 8072762: 009b lsls r3, r3, #2 8072764: 4413 add r3, r2 8072766: 005b lsls r3, r3, #1 8072768: 1aca subs r2, r1, r3 807276a: b2d3 uxtb r3, r2 807276c: 3330 adds r3, #48 ; 0x30 807276e: b2da uxtb r2, r3 8072770: f507 733b add.w r3, r7, #748 ; 0x2ec 8072774: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 8072776: f507 723b add.w r2, r7, #748 ; 0x2ec 807277a: 2301 movs r3, #1 807277c: 21e4 movs r1, #228 ; 0xe4 807277e: f44f 7095 mov.w r0, #298 ; 0x12a 8072782: f7e2 fe09 bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8072786: 4907 ldr r1, [pc, #28] ; (80727a4 ) 8072788: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807278c: f7e2 fd3e bl 805520c for(i = 0; i < l; i++) 8072790: 2300 movs r3, #0 8072792: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8072796: f000 bf45 b.w 8073624 807279a: bf00 nop 807279c: cccccccd .word 0xcccccccd 80727a0: 64090000 .word 0x64090000 80727a4: ff0a0f1f .word 0xff0a0f1f f = ScrA_f32(i); 80727a8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80727ac: 009a lsls r2, r3, #2 80727ae: 4bf1 ldr r3, [pc, #964] ; (8072b74 ) 80727b0: 4413 add r3, r2 80727b2: 681b ldr r3, [r3, #0] 80727b4: f507 628b add.w r2, r7, #1112 ; 0x458 80727b8: 6013 str r3, [r2, #0] if(fmax <= 100.0f) ///////// 80727ba: f207 434c addw r3, r7, #1100 ; 0x44c 80727be: edd3 7a00 vldr s15, [r3] 80727c2: ed9f 7af3 vldr s14, [pc, #972] ; 8072b90 80727c6: eef4 7ac7 vcmpe.f32 s15, s14 80727ca: eef1 fa10 vmrs APSR_nzcv, fpscr 80727ce: f200 8111 bhi.w 80729f4 if(f <= 0.001f) 80727d2: f507 638b add.w r3, r7, #1112 ; 0x458 80727d6: edd3 7a00 vldr s15, [r3] 80727da: ed9f 7ae7 vldr s14, [pc, #924] ; 8072b78 80727de: eef4 7ac7 vcmpe.f32 s15, s14 80727e2: eef1 fa10 vmrs APSR_nzcv, fpscr 80727e6: d822 bhi.n 807282e f = (25 * f / 0.001f) + 0.5f; 80727e8: f507 638b add.w r3, r7, #1112 ; 0x458 80727ec: edd3 7a00 vldr s15, [r3] 80727f0: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80727f4: ee27 7a87 vmul.f32 s14, s15, s14 80727f8: eddf 6adf vldr s13, [pc, #892] ; 8072b78 80727fc: eec7 7a26 vdiv.f32 s15, s14, s13 8072800: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072804: ee77 7a87 vadd.f32 s15, s15, s14 8072808: f507 638b add.w r3, r7, #1112 ; 0x458 807280c: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8072810: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8072814: f507 628b add.w r2, r7, #1112 ; 0x458 8072818: edd2 7a00 vldr s15, [r2] 807281c: eefc 7ae7 vcvt.u32.f32 s15, s15 8072820: ee17 2a90 vmov r2, s15 8072824: 1a9b subs r3, r3, r2 8072826: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807282a: f000 be82 b.w 8073532 if(f <= 0.01f) 807282e: f507 638b add.w r3, r7, #1112 ; 0x458 8072832: edd3 7a00 vldr s15, [r3] 8072836: ed9f 7ad1 vldr s14, [pc, #836] ; 8072b7c 807283a: eef4 7ac7 vcmpe.f32 s15, s14 807283e: eef1 fa10 vmrs APSR_nzcv, fpscr 8072842: d822 bhi.n 807288a f = (25 * f / 0.01f) + 0.5f; 8072844: f507 638b add.w r3, r7, #1112 ; 0x458 8072848: edd3 7a00 vldr s15, [r3] 807284c: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072850: ee27 7a87 vmul.f32 s14, s15, s14 8072854: eddf 6ac9 vldr s13, [pc, #804] ; 8072b7c 8072858: eec7 7a26 vdiv.f32 s15, s14, s13 807285c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072860: ee77 7a87 vadd.f32 s15, s15, s14 8072864: f507 638b add.w r3, r7, #1112 ; 0x458 8072868: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 807286c: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8072870: f507 628b add.w r2, r7, #1112 ; 0x458 8072874: edd2 7a00 vldr s15, [r2] 8072878: eefc 7ae7 vcvt.u32.f32 s15, s15 807287c: ee17 2a90 vmov r2, s15 8072880: 1a9b subs r3, r3, r2 8072882: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072886: f000 be54 b.w 8073532 if(f <= 0.1f) 807288a: f507 638b add.w r3, r7, #1112 ; 0x458 807288e: edd3 7a00 vldr s15, [r3] 8072892: ed9f 7abb vldr s14, [pc, #748] ; 8072b80 8072896: eef4 7ac7 vcmpe.f32 s15, s14 807289a: eef1 fa10 vmrs APSR_nzcv, fpscr 807289e: d822 bhi.n 80728e6 f = (25 * f / 0.1f) + 0.5f; 80728a0: f507 638b add.w r3, r7, #1112 ; 0x458 80728a4: edd3 7a00 vldr s15, [r3] 80728a8: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80728ac: ee27 7a87 vmul.f32 s14, s15, s14 80728b0: eddf 6ab3 vldr s13, [pc, #716] ; 8072b80 80728b4: eec7 7a26 vdiv.f32 s15, s14, s13 80728b8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80728bc: ee77 7a87 vadd.f32 s15, s15, s14 80728c0: f507 638b add.w r3, r7, #1112 ; 0x458 80728c4: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 80728c8: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 80728cc: f507 628b add.w r2, r7, #1112 ; 0x458 80728d0: edd2 7a00 vldr s15, [r2] 80728d4: eefc 7ae7 vcvt.u32.f32 s15, s15 80728d8: ee17 2a90 vmov r2, s15 80728dc: 1a9b subs r3, r3, r2 80728de: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80728e2: f000 be26 b.w 8073532 if(f <= 1.0f) 80728e6: f507 638b add.w r3, r7, #1112 ; 0x458 80728ea: edd3 7a00 vldr s15, [r3] 80728ee: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80728f2: eef4 7ac7 vcmpe.f32 s15, s14 80728f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80728fa: d81e bhi.n 807293a f = (25 * f / 1.0f) + 0.5f; 80728fc: f507 638b add.w r3, r7, #1112 ; 0x458 8072900: edd3 7a00 vldr s15, [r3] 8072904: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072908: ee67 7a87 vmul.f32 s15, s15, s14 807290c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072910: ee77 7a87 vadd.f32 s15, s15, s14 8072914: f507 638b add.w r3, r7, #1112 ; 0x458 8072918: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 807291c: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8072920: f507 628b add.w r2, r7, #1112 ; 0x458 8072924: edd2 7a00 vldr s15, [r2] 8072928: eefc 7ae7 vcvt.u32.f32 s15, s15 807292c: ee17 2a90 vmov r2, s15 8072930: 1a9b subs r3, r3, r2 8072932: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072936: f000 bdfc b.w 8073532 if(f <= 10.0f) 807293a: f507 638b add.w r3, r7, #1112 ; 0x458 807293e: edd3 7a00 vldr s15, [r3] 8072942: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8072946: eef4 7ac7 vcmpe.f32 s15, s14 807294a: eef1 fa10 vmrs APSR_nzcv, fpscr 807294e: d822 bhi.n 8072996 f = (25 * f / 10.0f) + 0.5f; 8072950: f507 638b add.w r3, r7, #1112 ; 0x458 8072954: edd3 7a00 vldr s15, [r3] 8072958: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807295c: ee27 7a87 vmul.f32 s14, s15, s14 8072960: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8072964: eec7 7a26 vdiv.f32 s15, s14, s13 8072968: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807296c: ee77 7a87 vadd.f32 s15, s15, s14 8072970: f507 638b add.w r3, r7, #1112 ; 0x458 8072974: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 8072978: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 807297c: f507 628b add.w r2, r7, #1112 ; 0x458 8072980: edd2 7a00 vldr s15, [r2] 8072984: eefc 7ae7 vcvt.u32.f32 s15, s15 8072988: ee17 2a90 vmov r2, s15 807298c: 1a9b subs r3, r3, r2 807298e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072992: f000 bdce b.w 8073532 if(f <= 100.0f) 8072996: f507 638b add.w r3, r7, #1112 ; 0x458 807299a: edd3 7a00 vldr s15, [r3] 807299e: ed9f 7a7c vldr s14, [pc, #496] ; 8072b90 80729a2: eef4 7ac7 vcmpe.f32 s15, s14 80729a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80729aa: f200 85c2 bhi.w 8073532 f = (25 * f / 100.0f) + 0.5f; 80729ae: f507 638b add.w r3, r7, #1112 ; 0x458 80729b2: edd3 7a00 vldr s15, [r3] 80729b6: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80729ba: ee27 7a87 vmul.f32 s14, s15, s14 80729be: eddf 6a74 vldr s13, [pc, #464] ; 8072b90 80729c2: eec7 7a26 vdiv.f32 s15, s14, s13 80729c6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80729ca: ee77 7a87 vadd.f32 s15, s15, s14 80729ce: f507 638b add.w r3, r7, #1112 ; 0x458 80729d2: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 80729d6: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 80729da: f507 628b add.w r2, r7, #1112 ; 0x458 80729de: edd2 7a00 vldr s15, [r2] 80729e2: eefc 7ae7 vcvt.u32.f32 s15, s15 80729e6: ee17 2a90 vmov r2, s15 80729ea: 1a9b subs r3, r3, r2 80729ec: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80729f0: f000 bd9f b.w 8073532 if(fmax <= 1000.0f) ///////// 80729f4: f207 434c addw r3, r7, #1100 ; 0x44c 80729f8: edd3 7a00 vldr s15, [r3] 80729fc: ed9f 7a61 vldr s14, [pc, #388] ; 8072b84 8072a00: eef4 7ac7 vcmpe.f32 s15, s14 8072a04: eef1 fa10 vmrs APSR_nzcv, fpscr 8072a08: f200 8121 bhi.w 8072c4e if(f <= 0.01f) 8072a0c: f507 638b add.w r3, r7, #1112 ; 0x458 8072a10: edd3 7a00 vldr s15, [r3] 8072a14: ed9f 7a59 vldr s14, [pc, #356] ; 8072b7c 8072a18: eef4 7ac7 vcmpe.f32 s15, s14 8072a1c: eef1 fa10 vmrs APSR_nzcv, fpscr 8072a20: d822 bhi.n 8072a68 f = (25 * f / 0.01f) + 0.5f; 8072a22: f507 638b add.w r3, r7, #1112 ; 0x458 8072a26: edd3 7a00 vldr s15, [r3] 8072a2a: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072a2e: ee27 7a87 vmul.f32 s14, s15, s14 8072a32: eddf 6a52 vldr s13, [pc, #328] ; 8072b7c 8072a36: eec7 7a26 vdiv.f32 s15, s14, s13 8072a3a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072a3e: ee77 7a87 vadd.f32 s15, s15, s14 8072a42: f507 638b add.w r3, r7, #1112 ; 0x458 8072a46: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8072a4a: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8072a4e: f507 628b add.w r2, r7, #1112 ; 0x458 8072a52: edd2 7a00 vldr s15, [r2] 8072a56: eefc 7ae7 vcvt.u32.f32 s15, s15 8072a5a: ee17 2a90 vmov r2, s15 8072a5e: 1a9b subs r3, r3, r2 8072a60: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072a64: f000 bd65 b.w 8073532 if(f <= 0.1f) 8072a68: f507 638b add.w r3, r7, #1112 ; 0x458 8072a6c: edd3 7a00 vldr s15, [r3] 8072a70: ed9f 7a43 vldr s14, [pc, #268] ; 8072b80 8072a74: eef4 7ac7 vcmpe.f32 s15, s14 8072a78: eef1 fa10 vmrs APSR_nzcv, fpscr 8072a7c: d822 bhi.n 8072ac4 f = (25 * f / 0.1f) + 0.5f; 8072a7e: f507 638b add.w r3, r7, #1112 ; 0x458 8072a82: edd3 7a00 vldr s15, [r3] 8072a86: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072a8a: ee27 7a87 vmul.f32 s14, s15, s14 8072a8e: eddf 6a3c vldr s13, [pc, #240] ; 8072b80 8072a92: eec7 7a26 vdiv.f32 s15, s14, s13 8072a96: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072a9a: ee77 7a87 vadd.f32 s15, s15, s14 8072a9e: f507 638b add.w r3, r7, #1112 ; 0x458 8072aa2: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8072aa6: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8072aaa: f507 628b add.w r2, r7, #1112 ; 0x458 8072aae: edd2 7a00 vldr s15, [r2] 8072ab2: eefc 7ae7 vcvt.u32.f32 s15, s15 8072ab6: ee17 2a90 vmov r2, s15 8072aba: 1a9b subs r3, r3, r2 8072abc: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072ac0: f000 bd37 b.w 8073532 if(f <= 1.0f) 8072ac4: f507 638b add.w r3, r7, #1112 ; 0x458 8072ac8: edd3 7a00 vldr s15, [r3] 8072acc: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8072ad0: eef4 7ac7 vcmpe.f32 s15, s14 8072ad4: eef1 fa10 vmrs APSR_nzcv, fpscr 8072ad8: d81e bhi.n 8072b18 f = (25 * f / 1.0f) + 0.5f; 8072ada: f507 638b add.w r3, r7, #1112 ; 0x458 8072ade: edd3 7a00 vldr s15, [r3] 8072ae2: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072ae6: ee67 7a87 vmul.f32 s15, s15, s14 8072aea: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072aee: ee77 7a87 vadd.f32 s15, s15, s14 8072af2: f507 638b add.w r3, r7, #1112 ; 0x458 8072af6: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 8072afa: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8072afe: f507 628b add.w r2, r7, #1112 ; 0x458 8072b02: edd2 7a00 vldr s15, [r2] 8072b06: eefc 7ae7 vcvt.u32.f32 s15, s15 8072b0a: ee17 2a90 vmov r2, s15 8072b0e: 1a9b subs r3, r3, r2 8072b10: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072b14: f000 bd0d b.w 8073532 if(f <= 10.0f) 8072b18: f507 638b add.w r3, r7, #1112 ; 0x458 8072b1c: edd3 7a00 vldr s15, [r3] 8072b20: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8072b24: eef4 7ac7 vcmpe.f32 s15, s14 8072b28: eef1 fa10 vmrs APSR_nzcv, fpscr 8072b2c: d832 bhi.n 8072b94 f = (25 * f / 10.0f) + 0.5f; 8072b2e: f507 638b add.w r3, r7, #1112 ; 0x458 8072b32: edd3 7a00 vldr s15, [r3] 8072b36: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072b3a: ee27 7a87 vmul.f32 s14, s15, s14 8072b3e: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8072b42: eec7 7a26 vdiv.f32 s15, s14, s13 8072b46: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072b4a: ee77 7a87 vadd.f32 s15, s15, s14 8072b4e: f507 638b add.w r3, r7, #1112 ; 0x458 8072b52: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 8072b56: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8072b5a: f507 628b add.w r2, r7, #1112 ; 0x458 8072b5e: edd2 7a00 vldr s15, [r2] 8072b62: eefc 7ae7 vcvt.u32.f32 s15, s15 8072b66: ee17 2a90 vmov r2, s15 8072b6a: 1a9b subs r3, r3, r2 8072b6c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072b70: f000 bcdf b.w 8073532 8072b74: 64080000 .word 0x64080000 8072b78: 3a83126f .word 0x3a83126f 8072b7c: 3c23d70a .word 0x3c23d70a 8072b80: 3dcccccd .word 0x3dcccccd 8072b84: 447a0000 .word 0x447a0000 8072b88: 461c4000 .word 0x461c4000 8072b8c: 47c35000 .word 0x47c35000 8072b90: 42c80000 .word 0x42c80000 if(f <= 100.0f) 8072b94: f507 638b add.w r3, r7, #1112 ; 0x458 8072b98: edd3 7a00 vldr s15, [r3] 8072b9c: ed1f 7a04 vldr s14, [pc, #-16] ; 8072b90 8072ba0: eef4 7ac7 vcmpe.f32 s15, s14 8072ba4: eef1 fa10 vmrs APSR_nzcv, fpscr 8072ba8: d822 bhi.n 8072bf0 f = (25 * f / 100.0f) + 0.5f; 8072baa: f507 638b add.w r3, r7, #1112 ; 0x458 8072bae: edd3 7a00 vldr s15, [r3] 8072bb2: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072bb6: ee27 7a87 vmul.f32 s14, s15, s14 8072bba: ed5f 6a0b vldr s13, [pc, #-44] ; 8072b90 8072bbe: eec7 7a26 vdiv.f32 s15, s14, s13 8072bc2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072bc6: ee77 7a87 vadd.f32 s15, s15, s14 8072bca: f507 638b add.w r3, r7, #1112 ; 0x458 8072bce: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 8072bd2: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8072bd6: f507 628b add.w r2, r7, #1112 ; 0x458 8072bda: edd2 7a00 vldr s15, [r2] 8072bde: eefc 7ae7 vcvt.u32.f32 s15, s15 8072be2: ee17 2a90 vmov r2, s15 8072be6: 1a9b subs r3, r3, r2 8072be8: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072bec: f000 bca1 b.w 8073532 if(f <= 1000.0f) 8072bf0: f507 638b add.w r3, r7, #1112 ; 0x458 8072bf4: edd3 7a00 vldr s15, [r3] 8072bf8: ed1f 7a1e vldr s14, [pc, #-120] ; 8072b84 8072bfc: eef4 7ac7 vcmpe.f32 s15, s14 8072c00: eef1 fa10 vmrs APSR_nzcv, fpscr 8072c04: f200 8495 bhi.w 8073532 f = (25 * f / 1000.0f) + 0.5f; 8072c08: f507 638b add.w r3, r7, #1112 ; 0x458 8072c0c: edd3 7a00 vldr s15, [r3] 8072c10: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072c14: ee27 7a87 vmul.f32 s14, s15, s14 8072c18: ed5f 6a26 vldr s13, [pc, #-152] ; 8072b84 8072c1c: eec7 7a26 vdiv.f32 s15, s14, s13 8072c20: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072c24: ee77 7a87 vadd.f32 s15, s15, s14 8072c28: f507 638b add.w r3, r7, #1112 ; 0x458 8072c2c: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 8072c30: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8072c34: f507 628b add.w r2, r7, #1112 ; 0x458 8072c38: edd2 7a00 vldr s15, [r2] 8072c3c: eefc 7ae7 vcvt.u32.f32 s15, s15 8072c40: ee17 2a90 vmov r2, s15 8072c44: 1a9b subs r3, r3, r2 8072c46: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072c4a: f000 bc72 b.w 8073532 if(fmax <= 10000.0f) ///////// 8072c4e: f207 434c addw r3, r7, #1100 ; 0x44c 8072c52: edd3 7a00 vldr s15, [r3] 8072c56: ed1f 7a34 vldr s14, [pc, #-208] ; 8072b88 8072c5a: eef4 7ac7 vcmpe.f32 s15, s14 8072c5e: eef1 fa10 vmrs APSR_nzcv, fpscr 8072c62: f200 810d bhi.w 8072e80 if(f <= 0.1f) 8072c66: f507 638b add.w r3, r7, #1112 ; 0x458 8072c6a: edd3 7a00 vldr s15, [r3] 8072c6e: ed1f 7a3c vldr s14, [pc, #-240] ; 8072b80 8072c72: eef4 7ac7 vcmpe.f32 s15, s14 8072c76: eef1 fa10 vmrs APSR_nzcv, fpscr 8072c7a: d822 bhi.n 8072cc2 f = (25 * f / 0.1f) + 0.5f; 8072c7c: f507 638b add.w r3, r7, #1112 ; 0x458 8072c80: edd3 7a00 vldr s15, [r3] 8072c84: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072c88: ee27 7a87 vmul.f32 s14, s15, s14 8072c8c: ed5f 6a44 vldr s13, [pc, #-272] ; 8072b80 8072c90: eec7 7a26 vdiv.f32 s15, s14, s13 8072c94: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072c98: ee77 7a87 vadd.f32 s15, s15, s14 8072c9c: f507 638b add.w r3, r7, #1112 ; 0x458 8072ca0: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8072ca4: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8072ca8: f507 628b add.w r2, r7, #1112 ; 0x458 8072cac: edd2 7a00 vldr s15, [r2] 8072cb0: eefc 7ae7 vcvt.u32.f32 s15, s15 8072cb4: ee17 2a90 vmov r2, s15 8072cb8: 1a9b subs r3, r3, r2 8072cba: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072cbe: f000 bc38 b.w 8073532 if(f <= 1.0f) 8072cc2: f507 638b add.w r3, r7, #1112 ; 0x458 8072cc6: edd3 7a00 vldr s15, [r3] 8072cca: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8072cce: eef4 7ac7 vcmpe.f32 s15, s14 8072cd2: eef1 fa10 vmrs APSR_nzcv, fpscr 8072cd6: d81e bhi.n 8072d16 f = (25 * f / 1.0f) + 0.5f; 8072cd8: f507 638b add.w r3, r7, #1112 ; 0x458 8072cdc: edd3 7a00 vldr s15, [r3] 8072ce0: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072ce4: ee67 7a87 vmul.f32 s15, s15, s14 8072ce8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072cec: ee77 7a87 vadd.f32 s15, s15, s14 8072cf0: f507 638b add.w r3, r7, #1112 ; 0x458 8072cf4: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8072cf8: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8072cfc: f507 628b add.w r2, r7, #1112 ; 0x458 8072d00: edd2 7a00 vldr s15, [r2] 8072d04: eefc 7ae7 vcvt.u32.f32 s15, s15 8072d08: ee17 2a90 vmov r2, s15 8072d0c: 1a9b subs r3, r3, r2 8072d0e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072d12: f000 bc0e b.w 8073532 if(f <= 10.0f) 8072d16: f507 638b add.w r3, r7, #1112 ; 0x458 8072d1a: edd3 7a00 vldr s15, [r3] 8072d1e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8072d22: eef4 7ac7 vcmpe.f32 s15, s14 8072d26: eef1 fa10 vmrs APSR_nzcv, fpscr 8072d2a: d821 bhi.n 8072d70 f = (25 * f / 10.0f) + 0.5f; 8072d2c: f507 638b add.w r3, r7, #1112 ; 0x458 8072d30: edd3 7a00 vldr s15, [r3] 8072d34: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072d38: ee27 7a87 vmul.f32 s14, s15, s14 8072d3c: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8072d40: eec7 7a26 vdiv.f32 s15, s14, s13 8072d44: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072d48: ee77 7a87 vadd.f32 s15, s15, s14 8072d4c: f507 638b add.w r3, r7, #1112 ; 0x458 8072d50: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 8072d54: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8072d58: f507 628b add.w r2, r7, #1112 ; 0x458 8072d5c: edd2 7a00 vldr s15, [r2] 8072d60: eefc 7ae7 vcvt.u32.f32 s15, s15 8072d64: ee17 2a90 vmov r2, s15 8072d68: 1a9b subs r3, r3, r2 8072d6a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072d6e: e3e0 b.n 8073532 if(f <= 100.0f) 8072d70: f507 638b add.w r3, r7, #1112 ; 0x458 8072d74: edd3 7a00 vldr s15, [r3] 8072d78: ed1f 7a7b vldr s14, [pc, #-492] ; 8072b90 8072d7c: eef4 7ac7 vcmpe.f32 s15, s14 8072d80: eef1 fa10 vmrs APSR_nzcv, fpscr 8072d84: d821 bhi.n 8072dca f = (25 * f / 100.0f) + 0.5f; 8072d86: f507 638b add.w r3, r7, #1112 ; 0x458 8072d8a: edd3 7a00 vldr s15, [r3] 8072d8e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072d92: ee27 7a87 vmul.f32 s14, s15, s14 8072d96: ed5f 6a82 vldr s13, [pc, #-520] ; 8072b90 8072d9a: eec7 7a26 vdiv.f32 s15, s14, s13 8072d9e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072da2: ee77 7a87 vadd.f32 s15, s15, s14 8072da6: f507 638b add.w r3, r7, #1112 ; 0x458 8072daa: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 8072dae: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8072db2: f507 628b add.w r2, r7, #1112 ; 0x458 8072db6: edd2 7a00 vldr s15, [r2] 8072dba: eefc 7ae7 vcvt.u32.f32 s15, s15 8072dbe: ee17 2a90 vmov r2, s15 8072dc2: 1a9b subs r3, r3, r2 8072dc4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072dc8: e3b3 b.n 8073532 if(f <= 1000.0f) 8072dca: f507 638b add.w r3, r7, #1112 ; 0x458 8072dce: edd3 7a00 vldr s15, [r3] 8072dd2: ed1f 7a94 vldr s14, [pc, #-592] ; 8072b84 8072dd6: eef4 7ac7 vcmpe.f32 s15, s14 8072dda: eef1 fa10 vmrs APSR_nzcv, fpscr 8072dde: d821 bhi.n 8072e24 f = (25 * f / 1000.0f) + 0.5f; 8072de0: f507 638b add.w r3, r7, #1112 ; 0x458 8072de4: edd3 7a00 vldr s15, [r3] 8072de8: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072dec: ee27 7a87 vmul.f32 s14, s15, s14 8072df0: ed5f 6a9c vldr s13, [pc, #-624] ; 8072b84 8072df4: eec7 7a26 vdiv.f32 s15, s14, s13 8072df8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072dfc: ee77 7a87 vadd.f32 s15, s15, s14 8072e00: f507 638b add.w r3, r7, #1112 ; 0x458 8072e04: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 8072e08: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8072e0c: f507 628b add.w r2, r7, #1112 ; 0x458 8072e10: edd2 7a00 vldr s15, [r2] 8072e14: eefc 7ae7 vcvt.u32.f32 s15, s15 8072e18: ee17 2a90 vmov r2, s15 8072e1c: 1a9b subs r3, r3, r2 8072e1e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072e22: e386 b.n 8073532 if(f <= 10000.0f) 8072e24: f507 638b add.w r3, r7, #1112 ; 0x458 8072e28: edd3 7a00 vldr s15, [r3] 8072e2c: ed1f 7aaa vldr s14, [pc, #-680] ; 8072b88 8072e30: eef4 7ac7 vcmpe.f32 s15, s14 8072e34: eef1 fa10 vmrs APSR_nzcv, fpscr 8072e38: f200 837b bhi.w 8073532 f = (25 * f / 10000.0f) + 0.5f; 8072e3c: f507 638b add.w r3, r7, #1112 ; 0x458 8072e40: edd3 7a00 vldr s15, [r3] 8072e44: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072e48: ee27 7a87 vmul.f32 s14, s15, s14 8072e4c: ed5f 6ab2 vldr s13, [pc, #-712] ; 8072b88 8072e50: eec7 7a26 vdiv.f32 s15, s14, s13 8072e54: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072e58: ee77 7a87 vadd.f32 s15, s15, s14 8072e5c: f507 638b add.w r3, r7, #1112 ; 0x458 8072e60: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 8072e64: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8072e68: f507 628b add.w r2, r7, #1112 ; 0x458 8072e6c: edd2 7a00 vldr s15, [r2] 8072e70: eefc 7ae7 vcvt.u32.f32 s15, s15 8072e74: ee17 2a90 vmov r2, s15 8072e78: 1a9b subs r3, r3, r2 8072e7a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072e7e: e358 b.n 8073532 if(fmax <= 100000.0f) ///////// 8072e80: f207 434c addw r3, r7, #1100 ; 0x44c 8072e84: edd3 7a00 vldr s15, [r3] 8072e88: ed1f 7ac0 vldr s14, [pc, #-768] ; 8072b8c 8072e8c: eef4 7ac7 vcmpe.f32 s15, s14 8072e90: eef1 fa10 vmrs APSR_nzcv, fpscr 8072e94: f200 810b bhi.w 80730ae if(f <= 1.0f) 8072e98: f507 638b add.w r3, r7, #1112 ; 0x458 8072e9c: edd3 7a00 vldr s15, [r3] 8072ea0: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8072ea4: eef4 7ac7 vcmpe.f32 s15, s14 8072ea8: eef1 fa10 vmrs APSR_nzcv, fpscr 8072eac: d81d bhi.n 8072eea f = (25 * f / 1.0f) + 0.5f; 8072eae: f507 638b add.w r3, r7, #1112 ; 0x458 8072eb2: edd3 7a00 vldr s15, [r3] 8072eb6: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072eba: ee67 7a87 vmul.f32 s15, s15, s14 8072ebe: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072ec2: ee77 7a87 vadd.f32 s15, s15, s14 8072ec6: f507 638b add.w r3, r7, #1112 ; 0x458 8072eca: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8072ece: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8072ed2: f507 628b add.w r2, r7, #1112 ; 0x458 8072ed6: edd2 7a00 vldr s15, [r2] 8072eda: eefc 7ae7 vcvt.u32.f32 s15, s15 8072ede: ee17 2a90 vmov r2, s15 8072ee2: 1a9b subs r3, r3, r2 8072ee4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072ee8: e323 b.n 8073532 if(f <= 10.0f) 8072eea: f507 638b add.w r3, r7, #1112 ; 0x458 8072eee: edd3 7a00 vldr s15, [r3] 8072ef2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8072ef6: eef4 7ac7 vcmpe.f32 s15, s14 8072efa: eef1 fa10 vmrs APSR_nzcv, fpscr 8072efe: d821 bhi.n 8072f44 f = (25 * f / 10.0f) + 0.5f; 8072f00: f507 638b add.w r3, r7, #1112 ; 0x458 8072f04: edd3 7a00 vldr s15, [r3] 8072f08: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072f0c: ee27 7a87 vmul.f32 s14, s15, s14 8072f10: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8072f14: eec7 7a26 vdiv.f32 s15, s14, s13 8072f18: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072f1c: ee77 7a87 vadd.f32 s15, s15, s14 8072f20: f507 638b add.w r3, r7, #1112 ; 0x458 8072f24: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8072f28: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8072f2c: f507 628b add.w r2, r7, #1112 ; 0x458 8072f30: edd2 7a00 vldr s15, [r2] 8072f34: eefc 7ae7 vcvt.u32.f32 s15, s15 8072f38: ee17 2a90 vmov r2, s15 8072f3c: 1a9b subs r3, r3, r2 8072f3e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072f42: e2f6 b.n 8073532 if(f <= 100.0f) 8072f44: f507 638b add.w r3, r7, #1112 ; 0x458 8072f48: edd3 7a00 vldr s15, [r3] 8072f4c: ed1f 7af0 vldr s14, [pc, #-960] ; 8072b90 8072f50: eef4 7ac7 vcmpe.f32 s15, s14 8072f54: eef1 fa10 vmrs APSR_nzcv, fpscr 8072f58: d821 bhi.n 8072f9e f = (25 * f / 100.0f) + 0.5f; 8072f5a: f507 638b add.w r3, r7, #1112 ; 0x458 8072f5e: edd3 7a00 vldr s15, [r3] 8072f62: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072f66: ee27 7a87 vmul.f32 s14, s15, s14 8072f6a: eddf 6ade vldr s13, [pc, #888] ; 80732e4 8072f6e: eec7 7a26 vdiv.f32 s15, s14, s13 8072f72: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072f76: ee77 7a87 vadd.f32 s15, s15, s14 8072f7a: f507 638b add.w r3, r7, #1112 ; 0x458 8072f7e: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 8072f82: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8072f86: f507 628b add.w r2, r7, #1112 ; 0x458 8072f8a: edd2 7a00 vldr s15, [r2] 8072f8e: eefc 7ae7 vcvt.u32.f32 s15, s15 8072f92: ee17 2a90 vmov r2, s15 8072f96: 1a9b subs r3, r3, r2 8072f98: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072f9c: e2c9 b.n 8073532 if(f <= 1000.0f) 8072f9e: f507 638b add.w r3, r7, #1112 ; 0x458 8072fa2: edd3 7a00 vldr s15, [r3] 8072fa6: ed9f 7ad0 vldr s14, [pc, #832] ; 80732e8 8072faa: eef4 7ac7 vcmpe.f32 s15, s14 8072fae: eef1 fa10 vmrs APSR_nzcv, fpscr 8072fb2: d821 bhi.n 8072ff8 f = (25 * f / 1000.0f) + 0.5f; 8072fb4: f507 638b add.w r3, r7, #1112 ; 0x458 8072fb8: edd3 7a00 vldr s15, [r3] 8072fbc: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072fc0: ee27 7a87 vmul.f32 s14, s15, s14 8072fc4: eddf 6ac8 vldr s13, [pc, #800] ; 80732e8 8072fc8: eec7 7a26 vdiv.f32 s15, s14, s13 8072fcc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072fd0: ee77 7a87 vadd.f32 s15, s15, s14 8072fd4: f507 638b add.w r3, r7, #1112 ; 0x458 8072fd8: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 8072fdc: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8072fe0: f507 628b add.w r2, r7, #1112 ; 0x458 8072fe4: edd2 7a00 vldr s15, [r2] 8072fe8: eefc 7ae7 vcvt.u32.f32 s15, s15 8072fec: ee17 2a90 vmov r2, s15 8072ff0: 1a9b subs r3, r3, r2 8072ff2: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072ff6: e29c b.n 8073532 if(f <= 10000.0f) 8072ff8: f507 638b add.w r3, r7, #1112 ; 0x458 8072ffc: edd3 7a00 vldr s15, [r3] 8073000: ed9f 7aba vldr s14, [pc, #744] ; 80732ec 8073004: eef4 7ac7 vcmpe.f32 s15, s14 8073008: eef1 fa10 vmrs APSR_nzcv, fpscr 807300c: d821 bhi.n 8073052 f = (25 * f / 10000.0f) + 0.5f; 807300e: f507 638b add.w r3, r7, #1112 ; 0x458 8073012: edd3 7a00 vldr s15, [r3] 8073016: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807301a: ee27 7a87 vmul.f32 s14, s15, s14 807301e: eddf 6ab3 vldr s13, [pc, #716] ; 80732ec 8073022: eec7 7a26 vdiv.f32 s15, s14, s13 8073026: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807302a: ee77 7a87 vadd.f32 s15, s15, s14 807302e: f507 638b add.w r3, r7, #1112 ; 0x458 8073032: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 8073036: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 807303a: f507 628b add.w r2, r7, #1112 ; 0x458 807303e: edd2 7a00 vldr s15, [r2] 8073042: eefc 7ae7 vcvt.u32.f32 s15, s15 8073046: ee17 2a90 vmov r2, s15 807304a: 1a9b subs r3, r3, r2 807304c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8073050: e26f b.n 8073532 if(f <= 100000.0f) 8073052: f507 638b add.w r3, r7, #1112 ; 0x458 8073056: edd3 7a00 vldr s15, [r3] 807305a: ed9f 7aa5 vldr s14, [pc, #660] ; 80732f0 807305e: eef4 7ac7 vcmpe.f32 s15, s14 8073062: eef1 fa10 vmrs APSR_nzcv, fpscr 8073066: f200 8264 bhi.w 8073532 f = (25 * f / 100000.0f) + 0.5f; 807306a: f507 638b add.w r3, r7, #1112 ; 0x458 807306e: edd3 7a00 vldr s15, [r3] 8073072: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8073076: ee27 7a87 vmul.f32 s14, s15, s14 807307a: eddf 6a9d vldr s13, [pc, #628] ; 80732f0 807307e: eec7 7a26 vdiv.f32 s15, s14, s13 8073082: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8073086: ee77 7a87 vadd.f32 s15, s15, s14 807308a: f507 638b add.w r3, r7, #1112 ; 0x458 807308e: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 8073092: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8073096: f507 628b add.w r2, r7, #1112 ; 0x458 807309a: edd2 7a00 vldr s15, [r2] 807309e: eefc 7ae7 vcvt.u32.f32 s15, s15 80730a2: ee17 2a90 vmov r2, s15 80730a6: 1a9b subs r3, r3, r2 80730a8: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80730ac: e241 b.n 8073532 if(fmax <= 1000000.0f) 80730ae: f207 434c addw r3, r7, #1100 ; 0x44c 80730b2: edd3 7a00 vldr s15, [r3] 80730b6: ed9f 7a8f vldr s14, [pc, #572] ; 80732f4 80730ba: eef4 7ac7 vcmpe.f32 s15, s14 80730be: eef1 fa10 vmrs APSR_nzcv, fpscr 80730c2: f200 811d bhi.w 8073300 if(f <= 10.0f) 80730c6: f507 638b add.w r3, r7, #1112 ; 0x458 80730ca: edd3 7a00 vldr s15, [r3] 80730ce: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80730d2: eef4 7ac7 vcmpe.f32 s15, s14 80730d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80730da: d821 bhi.n 8073120 f = (25 * f / 10.0f) + 0.5f; 80730dc: f507 638b add.w r3, r7, #1112 ; 0x458 80730e0: edd3 7a00 vldr s15, [r3] 80730e4: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80730e8: ee27 7a87 vmul.f32 s14, s15, s14 80730ec: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 80730f0: eec7 7a26 vdiv.f32 s15, s14, s13 80730f4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80730f8: ee77 7a87 vadd.f32 s15, s15, s14 80730fc: f507 638b add.w r3, r7, #1112 ; 0x458 8073100: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8073104: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8073108: f507 628b add.w r2, r7, #1112 ; 0x458 807310c: edd2 7a00 vldr s15, [r2] 8073110: eefc 7ae7 vcvt.u32.f32 s15, s15 8073114: ee17 2a90 vmov r2, s15 8073118: 1a9b subs r3, r3, r2 807311a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807311e: e208 b.n 8073532 if(f <= 100.0f) 8073120: f507 638b add.w r3, r7, #1112 ; 0x458 8073124: edd3 7a00 vldr s15, [r3] 8073128: ed9f 7a6e vldr s14, [pc, #440] ; 80732e4 807312c: eef4 7ac7 vcmpe.f32 s15, s14 8073130: eef1 fa10 vmrs APSR_nzcv, fpscr 8073134: d821 bhi.n 807317a f = (25 * f / 100.0f) + 0.5f; 8073136: f507 638b add.w r3, r7, #1112 ; 0x458 807313a: edd3 7a00 vldr s15, [r3] 807313e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8073142: ee27 7a87 vmul.f32 s14, s15, s14 8073146: eddf 6a67 vldr s13, [pc, #412] ; 80732e4 807314a: eec7 7a26 vdiv.f32 s15, s14, s13 807314e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8073152: ee77 7a87 vadd.f32 s15, s15, s14 8073156: f507 638b add.w r3, r7, #1112 ; 0x458 807315a: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 807315e: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8073162: f507 628b add.w r2, r7, #1112 ; 0x458 8073166: edd2 7a00 vldr s15, [r2] 807316a: eefc 7ae7 vcvt.u32.f32 s15, s15 807316e: ee17 2a90 vmov r2, s15 8073172: 1a9b subs r3, r3, r2 8073174: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8073178: e1db b.n 8073532 if(f <= 1000.0f) 807317a: f507 638b add.w r3, r7, #1112 ; 0x458 807317e: edd3 7a00 vldr s15, [r3] 8073182: ed9f 7a59 vldr s14, [pc, #356] ; 80732e8 8073186: eef4 7ac7 vcmpe.f32 s15, s14 807318a: eef1 fa10 vmrs APSR_nzcv, fpscr 807318e: d821 bhi.n 80731d4 f = (25 * f / 1000.0f) + 0.5f; 8073190: f507 638b add.w r3, r7, #1112 ; 0x458 8073194: edd3 7a00 vldr s15, [r3] 8073198: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807319c: ee27 7a87 vmul.f32 s14, s15, s14 80731a0: eddf 6a51 vldr s13, [pc, #324] ; 80732e8 80731a4: eec7 7a26 vdiv.f32 s15, s14, s13 80731a8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80731ac: ee77 7a87 vadd.f32 s15, s15, s14 80731b0: f507 638b add.w r3, r7, #1112 ; 0x458 80731b4: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 80731b8: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 80731bc: f507 628b add.w r2, r7, #1112 ; 0x458 80731c0: edd2 7a00 vldr s15, [r2] 80731c4: eefc 7ae7 vcvt.u32.f32 s15, s15 80731c8: ee17 2a90 vmov r2, s15 80731cc: 1a9b subs r3, r3, r2 80731ce: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80731d2: e1ae b.n 8073532 if(f <= 10000.0f) 80731d4: f507 638b add.w r3, r7, #1112 ; 0x458 80731d8: edd3 7a00 vldr s15, [r3] 80731dc: ed9f 7a43 vldr s14, [pc, #268] ; 80732ec 80731e0: eef4 7ac7 vcmpe.f32 s15, s14 80731e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80731e8: d821 bhi.n 807322e f = (25 * f / 10000.0f) + 0.5f; 80731ea: f507 638b add.w r3, r7, #1112 ; 0x458 80731ee: edd3 7a00 vldr s15, [r3] 80731f2: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80731f6: ee27 7a87 vmul.f32 s14, s15, s14 80731fa: eddf 6a3c vldr s13, [pc, #240] ; 80732ec 80731fe: eec7 7a26 vdiv.f32 s15, s14, s13 8073202: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8073206: ee77 7a87 vadd.f32 s15, s15, s14 807320a: f507 638b add.w r3, r7, #1112 ; 0x458 807320e: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 8073212: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8073216: f507 628b add.w r2, r7, #1112 ; 0x458 807321a: edd2 7a00 vldr s15, [r2] 807321e: eefc 7ae7 vcvt.u32.f32 s15, s15 8073222: ee17 2a90 vmov r2, s15 8073226: 1a9b subs r3, r3, r2 8073228: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807322c: e181 b.n 8073532 if(f <= 100000.0f) 807322e: f507 638b add.w r3, r7, #1112 ; 0x458 8073232: edd3 7a00 vldr s15, [r3] 8073236: ed9f 7a2e vldr s14, [pc, #184] ; 80732f0 807323a: eef4 7ac7 vcmpe.f32 s15, s14 807323e: eef1 fa10 vmrs APSR_nzcv, fpscr 8073242: d821 bhi.n 8073288 f = (25 * f / 100000.0f) + 0.5f; 8073244: f507 638b add.w r3, r7, #1112 ; 0x458 8073248: edd3 7a00 vldr s15, [r3] 807324c: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8073250: ee27 7a87 vmul.f32 s14, s15, s14 8073254: eddf 6a26 vldr s13, [pc, #152] ; 80732f0 8073258: eec7 7a26 vdiv.f32 s15, s14, s13 807325c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8073260: ee77 7a87 vadd.f32 s15, s15, s14 8073264: f507 638b add.w r3, r7, #1112 ; 0x458 8073268: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 807326c: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8073270: f507 628b add.w r2, r7, #1112 ; 0x458 8073274: edd2 7a00 vldr s15, [r2] 8073278: eefc 7ae7 vcvt.u32.f32 s15, s15 807327c: ee17 2a90 vmov r2, s15 8073280: 1a9b subs r3, r3, r2 8073282: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8073286: e154 b.n 8073532 if(f <= 1000000.0f) 8073288: f507 638b add.w r3, r7, #1112 ; 0x458 807328c: edd3 7a00 vldr s15, [r3] 8073290: ed9f 7a18 vldr s14, [pc, #96] ; 80732f4 8073294: eef4 7ac7 vcmpe.f32 s15, s14 8073298: eef1 fa10 vmrs APSR_nzcv, fpscr 807329c: f200 8149 bhi.w 8073532 f = (25 * f / 1000000.0f) + 0.5f; 80732a0: f507 638b add.w r3, r7, #1112 ; 0x458 80732a4: edd3 7a00 vldr s15, [r3] 80732a8: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80732ac: ee27 7a87 vmul.f32 s14, s15, s14 80732b0: eddf 6a10 vldr s13, [pc, #64] ; 80732f4 80732b4: eec7 7a26 vdiv.f32 s15, s14, s13 80732b8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80732bc: ee77 7a87 vadd.f32 s15, s15, s14 80732c0: f507 638b add.w r3, r7, #1112 ; 0x458 80732c4: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 80732c8: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 80732cc: f507 628b add.w r2, r7, #1112 ; 0x458 80732d0: edd2 7a00 vldr s15, [r2] 80732d4: eefc 7ae7 vcvt.u32.f32 s15, s15 80732d8: ee17 2a90 vmov r2, s15 80732dc: 1a9b subs r3, r3, r2 80732de: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80732e2: e126 b.n 8073532 80732e4: 42c80000 .word 0x42c80000 80732e8: 447a0000 .word 0x447a0000 80732ec: 461c4000 .word 0x461c4000 80732f0: 47c35000 .word 0x47c35000 80732f4: 49742400 .word 0x49742400 80732f8: 4b189680 .word 0x4b189680 80732fc: 43800000 .word 0x43800000 if(fmax <= 10000000.0f) 8073300: f207 434c addw r3, r7, #1100 ; 0x44c 8073304: edd3 7a00 vldr s15, [r3] 8073308: ed1f 7a05 vldr s14, [pc, #-20] ; 80732f8 807330c: eef4 7ac7 vcmpe.f32 s15, s14 8073310: eef1 fa10 vmrs APSR_nzcv, fpscr 8073314: f200 810d bhi.w 8073532 if(f <= 100.0f) 8073318: f507 638b add.w r3, r7, #1112 ; 0x458 807331c: edd3 7a00 vldr s15, [r3] 8073320: ed1f 7a10 vldr s14, [pc, #-64] ; 80732e4 8073324: eef4 7ac7 vcmpe.f32 s15, s14 8073328: eef1 fa10 vmrs APSR_nzcv, fpscr 807332c: d821 bhi.n 8073372 f = (25 * f / 100.0f) + 0.5f; 807332e: f507 638b add.w r3, r7, #1112 ; 0x458 8073332: edd3 7a00 vldr s15, [r3] 8073336: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807333a: ee27 7a87 vmul.f32 s14, s15, s14 807333e: ed5f 6a17 vldr s13, [pc, #-92] ; 80732e4 8073342: eec7 7a26 vdiv.f32 s15, s14, s13 8073346: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807334a: ee77 7a87 vadd.f32 s15, s15, s14 807334e: f507 638b add.w r3, r7, #1112 ; 0x458 8073352: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8073356: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 807335a: f507 628b add.w r2, r7, #1112 ; 0x458 807335e: edd2 7a00 vldr s15, [r2] 8073362: eefc 7ae7 vcvt.u32.f32 s15, s15 8073366: ee17 2a90 vmov r2, s15 807336a: 1a9b subs r3, r3, r2 807336c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8073370: e0df b.n 8073532 if(f <= 1000.0f) 8073372: f507 638b add.w r3, r7, #1112 ; 0x458 8073376: edd3 7a00 vldr s15, [r3] 807337a: ed1f 7a25 vldr s14, [pc, #-148] ; 80732e8 807337e: eef4 7ac7 vcmpe.f32 s15, s14 8073382: eef1 fa10 vmrs APSR_nzcv, fpscr 8073386: d821 bhi.n 80733cc f = (25 * f / 1000.0f) + 0.5f; 8073388: f507 638b add.w r3, r7, #1112 ; 0x458 807338c: edd3 7a00 vldr s15, [r3] 8073390: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8073394: ee27 7a87 vmul.f32 s14, s15, s14 8073398: ed5f 6a2d vldr s13, [pc, #-180] ; 80732e8 807339c: eec7 7a26 vdiv.f32 s15, s14, s13 80733a0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80733a4: ee77 7a87 vadd.f32 s15, s15, s14 80733a8: f507 638b add.w r3, r7, #1112 ; 0x458 80733ac: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 80733b0: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80733b4: f507 628b add.w r2, r7, #1112 ; 0x458 80733b8: edd2 7a00 vldr s15, [r2] 80733bc: eefc 7ae7 vcvt.u32.f32 s15, s15 80733c0: ee17 2a90 vmov r2, s15 80733c4: 1a9b subs r3, r3, r2 80733c6: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80733ca: e0b2 b.n 8073532 if(f <= 10000.0f) 80733cc: f507 638b add.w r3, r7, #1112 ; 0x458 80733d0: edd3 7a00 vldr s15, [r3] 80733d4: ed1f 7a3b vldr s14, [pc, #-236] ; 80732ec 80733d8: eef4 7ac7 vcmpe.f32 s15, s14 80733dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80733e0: d821 bhi.n 8073426 f = (25 * f / 10000.0f) + 0.5f; 80733e2: f507 638b add.w r3, r7, #1112 ; 0x458 80733e6: edd3 7a00 vldr s15, [r3] 80733ea: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80733ee: ee27 7a87 vmul.f32 s14, s15, s14 80733f2: ed5f 6a42 vldr s13, [pc, #-264] ; 80732ec 80733f6: eec7 7a26 vdiv.f32 s15, s14, s13 80733fa: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80733fe: ee77 7a87 vadd.f32 s15, s15, s14 8073402: f507 638b add.w r3, r7, #1112 ; 0x458 8073406: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 807340a: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 807340e: f507 628b add.w r2, r7, #1112 ; 0x458 8073412: edd2 7a00 vldr s15, [r2] 8073416: eefc 7ae7 vcvt.u32.f32 s15, s15 807341a: ee17 2a90 vmov r2, s15 807341e: 1a9b subs r3, r3, r2 8073420: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8073424: e085 b.n 8073532 if(f <= 100000.0f) 8073426: f507 638b add.w r3, r7, #1112 ; 0x458 807342a: edd3 7a00 vldr s15, [r3] 807342e: ed1f 7a50 vldr s14, [pc, #-320] ; 80732f0 8073432: eef4 7ac7 vcmpe.f32 s15, s14 8073436: eef1 fa10 vmrs APSR_nzcv, fpscr 807343a: d821 bhi.n 8073480 f = (25 * f / 100000.0f) + 0.5f; 807343c: f507 638b add.w r3, r7, #1112 ; 0x458 8073440: edd3 7a00 vldr s15, [r3] 8073444: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8073448: ee27 7a87 vmul.f32 s14, s15, s14 807344c: ed5f 6a58 vldr s13, [pc, #-352] ; 80732f0 8073450: eec7 7a26 vdiv.f32 s15, s14, s13 8073454: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8073458: ee77 7a87 vadd.f32 s15, s15, s14 807345c: f507 638b add.w r3, r7, #1112 ; 0x458 8073460: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 8073464: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8073468: f507 628b add.w r2, r7, #1112 ; 0x458 807346c: edd2 7a00 vldr s15, [r2] 8073470: eefc 7ae7 vcvt.u32.f32 s15, s15 8073474: ee17 2a90 vmov r2, s15 8073478: 1a9b subs r3, r3, r2 807347a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807347e: e058 b.n 8073532 if(f <= 1000000.0f) 8073480: f507 638b add.w r3, r7, #1112 ; 0x458 8073484: edd3 7a00 vldr s15, [r3] 8073488: ed1f 7a66 vldr s14, [pc, #-408] ; 80732f4 807348c: eef4 7ac7 vcmpe.f32 s15, s14 8073490: eef1 fa10 vmrs APSR_nzcv, fpscr 8073494: d821 bhi.n 80734da f = (25 * f / 1000000.0f) + 0.5f; 8073496: f507 638b add.w r3, r7, #1112 ; 0x458 807349a: edd3 7a00 vldr s15, [r3] 807349e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80734a2: ee27 7a87 vmul.f32 s14, s15, s14 80734a6: ed5f 6a6d vldr s13, [pc, #-436] ; 80732f4 80734aa: eec7 7a26 vdiv.f32 s15, s14, s13 80734ae: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80734b2: ee77 7a87 vadd.f32 s15, s15, s14 80734b6: f507 638b add.w r3, r7, #1112 ; 0x458 80734ba: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 80734be: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 80734c2: f507 628b add.w r2, r7, #1112 ; 0x458 80734c6: edd2 7a00 vldr s15, [r2] 80734ca: eefc 7ae7 vcvt.u32.f32 s15, s15 80734ce: ee17 2a90 vmov r2, s15 80734d2: 1a9b subs r3, r3, r2 80734d4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80734d8: e02b b.n 8073532 if(f <= 10000000.0f) 80734da: f507 638b add.w r3, r7, #1112 ; 0x458 80734de: edd3 7a00 vldr s15, [r3] 80734e2: ed1f 7a7b vldr s14, [pc, #-492] ; 80732f8 80734e6: eef4 7ac7 vcmpe.f32 s15, s14 80734ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80734ee: d820 bhi.n 8073532 f = (25 * f / 10000000.0f) + 0.5f; 80734f0: f507 638b add.w r3, r7, #1112 ; 0x458 80734f4: edd3 7a00 vldr s15, [r3] 80734f8: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80734fc: ee27 7a87 vmul.f32 s14, s15, s14 8073500: ed5f 6a83 vldr s13, [pc, #-524] ; 80732f8 8073504: eec7 7a26 vdiv.f32 s15, s14, s13 8073508: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807350c: ee77 7a87 vadd.f32 s15, s15, s14 8073510: f507 638b add.w r3, r7, #1112 ; 0x458 8073514: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 8073518: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 807351c: f507 628b add.w r2, r7, #1112 ; 0x458 8073520: edd2 7a00 vldr s15, [r2] 8073524: eefc 7ae7 vcvt.u32.f32 s15, s15 8073528: ee17 2a90 vmov r2, s15 807352c: 1a9b subs r3, r3, r2 807352e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(l == 1) 8073532: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8073536: 2b01 cmp r3, #1 8073538: d119 bne.n 807356e x = 256; 807353a: f44f 7380 mov.w r3, #256 ; 0x100 807353e: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 oldx = 0; 8073542: 2300 movs r3, #0 8073544: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 BSP_LCD_DrawLine(62 + oldx, y, 62 + x, y); 8073548: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 807354c: b29b uxth r3, r3 807354e: 333e adds r3, #62 ; 0x3e 8073550: b298 uxth r0, r3 8073552: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8073556: b299 uxth r1, r3 8073558: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 807355c: b29b uxth r3, r3 807355e: 333e adds r3, #62 ; 0x3e 8073560: b29a uxth r2, r3 8073562: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8073566: b29b uxth r3, r3 8073568: f7e2 f88a bl 8055680 807356c: e055 b.n 807361a fs = 256.0f / (float32_t) (l - 1); 807356e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8073572: 3b01 subs r3, #1 8073574: ee07 3a90 vmov s15, r3 8073578: eeb8 7a67 vcvt.f32.u32 s14, s15 807357c: ed5f 6aa1 vldr s13, [pc, #-644] ; 80732fc 8073580: eec6 7a87 vdiv.f32 s15, s13, s14 8073584: f207 4314 addw r3, r7, #1044 ; 0x414 8073588: edc3 7a00 vstr s15, [r3] x = (uint32_t) ((fs * (float32_t) i) + 0.5f); 807358c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073590: ee07 3a90 vmov s15, r3 8073594: eeb8 7a67 vcvt.f32.u32 s14, s15 8073598: f207 4314 addw r3, r7, #1044 ; 0x414 807359c: edd3 7a00 vldr s15, [r3] 80735a0: ee67 7a27 vmul.f32 s15, s14, s15 80735a4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80735a8: ee77 7a87 vadd.f32 s15, s15, s14 80735ac: eefc 7ae7 vcvt.u32.f32 s15, s15 80735b0: ee17 3a90 vmov r3, s15 80735b4: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 if(i == 0) 80735b8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80735bc: 2b00 cmp r3, #0 80735be: d112 bne.n 80735e6 BSP_LCD_DrawLine(62 + x, y, 62 + x, y); 80735c0: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80735c4: b29b uxth r3, r3 80735c6: 333e adds r3, #62 ; 0x3e 80735c8: b298 uxth r0, r3 80735ca: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 80735ce: b299 uxth r1, r3 80735d0: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80735d4: b29b uxth r3, r3 80735d6: 333e adds r3, #62 ; 0x3e 80735d8: b29a uxth r2, r3 80735da: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 80735de: b29b uxth r3, r3 80735e0: f7e2 f84e bl 8055680 80735e4: e011 b.n 807360a else BSP_LCD_DrawLine(62 + oldx, oldy, 62 + x, y); 80735e6: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 80735ea: b29b uxth r3, r3 80735ec: 333e adds r3, #62 ; 0x3e 80735ee: b298 uxth r0, r3 80735f0: f8d7 345c ldr.w r3, [r7, #1116] ; 0x45c 80735f4: b299 uxth r1, r3 80735f6: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80735fa: b29b uxth r3, r3 80735fc: 333e adds r3, #62 ; 0x3e 80735fe: b29a uxth r2, r3 8073600: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8073604: b29b uxth r3, r3 8073606: f7e2 f83b bl 8055680 oldx = x; 807360a: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 807360e: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 oldy = y; 8073612: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8073616: f8c7 345c str.w r3, [r7, #1116] ; 0x45c for(i = 0; i < l; i++) 807361a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807361e: 3301 adds r3, #1 8073620: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073624: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8073628: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 807362c: 429a cmp r2, r3 807362e: f4ff a8bb bcc.w 80727a8 break; 8073632: f025 bdd0 b.w 80991d6 case MAIN_DIAGN: //TODO switch(menupos) 8073636: 4ba9 ldr r3, [pc, #676] ; (80738dc ) 8073638: 781b ldrb r3, [r3, #0] 807363a: b2db uxtb r3, r3 807363c: 2b04 cmp r3, #4 807363e: f200 8123 bhi.w 8073888 8073642: a201 add r2, pc, #4 ; (adr r2, 8073648 ) 8073644: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8073648: 0807365d .word 0x0807365d 807364c: 08073889 .word 0x08073889 8073650: 08073709 .word 0x08073709 8073654: 08073789 .word 0x08073789 8073658: 08073809 .word 0x08073809 { case StartStop: if(pardata.LANG == RUS) 807365c: 4ba0 ldr r3, [pc, #640] ; (80738e0 ) 807365e: 7b1b ldrb r3, [r3, #12] 8073660: b2db uxtb r3, r3 8073662: 2b00 cmp r3, #0 8073664: d125 bne.n 80736b2 { DrawImage(&bmVIB_POINT, 88, 211); 8073666: 22d3 movs r2, #211 ; 0xd3 8073668: 2158 movs r1, #88 ; 0x58 807366a: 489e ldr r0, [pc, #632] ; (80738e4 ) 807366c: f7e2 fcc2 bl 8055ff4 DrawImage(&bmVIB_MEAS, 168, 211); 8073670: 22d3 movs r2, #211 ; 0xd3 8073672: 21a8 movs r1, #168 ; 0xa8 8073674: 489c ldr r0, [pc, #624] ; (80738e8 ) 8073676: f7e2 fcbd bl 8055ff4 if(NeedSTOP) 807367a: 4b9c ldr r3, [pc, #624] ; (80738ec ) 807367c: 781b ldrb r3, [r3, #0] 807367e: b2db uxtb r3, r3 8073680: 2b00 cmp r3, #0 8073682: d005 beq.n 8073690 DrawImage(&bmVIB_PLAY_LIGHT, 8, 211); 8073684: 22d3 movs r2, #211 ; 0xd3 8073686: 2108 movs r1, #8 8073688: 4899 ldr r0, [pc, #612] ; (80738f0 ) 807368a: f7e2 fcb3 bl 8055ff4 807368e: e035 b.n 80736fc else { if(measuring) 8073690: 4b98 ldr r3, [pc, #608] ; (80738f4 ) 8073692: 781b ldrb r3, [r3, #0] 8073694: b2db uxtb r3, r3 8073696: 2b00 cmp r3, #0 8073698: d005 beq.n 80736a6 DrawImage(&bmVIB_STOP_LIGHT, 8, 211); 807369a: 22d3 movs r2, #211 ; 0xd3 807369c: 2108 movs r1, #8 807369e: 4896 ldr r0, [pc, #600] ; (80738f8 ) 80736a0: f7e2 fca8 bl 8055ff4 80736a4: e02a b.n 80736fc else DrawImage(&bmVIB_PLAY_LIGHT, 8, 211); 80736a6: 22d3 movs r2, #211 ; 0xd3 80736a8: 2108 movs r1, #8 80736aa: 4891 ldr r0, [pc, #580] ; (80738f0 ) 80736ac: f7e2 fca2 bl 8055ff4 80736b0: e024 b.n 80736fc } } else { DrawImage(&bmVIB_POINT_ENG, 88, 211); 80736b2: 22d3 movs r2, #211 ; 0xd3 80736b4: 2158 movs r1, #88 ; 0x58 80736b6: 4891 ldr r0, [pc, #580] ; (80738fc ) 80736b8: f7e2 fc9c bl 8055ff4 DrawImage(&bmVIB_MEAS_ENG, 168, 211); 80736bc: 22d3 movs r2, #211 ; 0xd3 80736be: 21a8 movs r1, #168 ; 0xa8 80736c0: 488f ldr r0, [pc, #572] ; (8073900 ) 80736c2: f7e2 fc97 bl 8055ff4 if(NeedSTOP) 80736c6: 4b89 ldr r3, [pc, #548] ; (80738ec ) 80736c8: 781b ldrb r3, [r3, #0] 80736ca: b2db uxtb r3, r3 80736cc: 2b00 cmp r3, #0 80736ce: d005 beq.n 80736dc DrawImage(&bmVIB_PLAY_LIGHT_ENG, 8, 211); 80736d0: 22d3 movs r2, #211 ; 0xd3 80736d2: 2108 movs r1, #8 80736d4: 488b ldr r0, [pc, #556] ; (8073904 ) 80736d6: f7e2 fc8d bl 8055ff4 80736da: e00f b.n 80736fc else { if(measuring) 80736dc: 4b85 ldr r3, [pc, #532] ; (80738f4 ) 80736de: 781b ldrb r3, [r3, #0] 80736e0: b2db uxtb r3, r3 80736e2: 2b00 cmp r3, #0 80736e4: d005 beq.n 80736f2 DrawImage(&bmVIB_STOP_LIGHT_ENG, 8, 211); 80736e6: 22d3 movs r2, #211 ; 0xd3 80736e8: 2108 movs r1, #8 80736ea: 4887 ldr r0, [pc, #540] ; (8073908 ) 80736ec: f7e2 fc82 bl 8055ff4 80736f0: e004 b.n 80736fc else DrawImage(&bmVIB_PLAY_LIGHT_ENG, 8, 211); 80736f2: 22d3 movs r2, #211 ; 0xd3 80736f4: 2108 movs r1, #8 80736f6: 4883 ldr r0, [pc, #524] ; (8073904 ) 80736f8: f7e2 fc7c bl 8055ff4 } } DrawImage(&bmVIB_SAVE, 248, 211); 80736fc: 22d3 movs r2, #211 ; 0xd3 80736fe: 21f8 movs r1, #248 ; 0xf8 8073700: 4882 ldr r0, [pc, #520] ; (807390c ) 8073702: f7e2 fc77 bl 8055ff4 break; 8073706: e0bf b.n 8073888 case Record: if(pardata.LANG == RUS) 8073708: 4b75 ldr r3, [pc, #468] ; (80738e0 ) 807370a: 7b1b ldrb r3, [r3, #12] 807370c: b2db uxtb r3, r3 807370e: 2b00 cmp r3, #0 8073710: d11a bne.n 8073748 { DrawImage(&bmVIB_POINT, 88, 211); 8073712: 22d3 movs r2, #211 ; 0xd3 8073714: 2158 movs r1, #88 ; 0x58 8073716: 4873 ldr r0, [pc, #460] ; (80738e4 ) 8073718: f7e2 fc6c bl 8055ff4 DrawImage(&bmVIB_MEAS, 168, 211); 807371c: 22d3 movs r2, #211 ; 0xd3 807371e: 21a8 movs r1, #168 ; 0xa8 8073720: 4871 ldr r0, [pc, #452] ; (80738e8 ) 8073722: f7e2 fc67 bl 8055ff4 if(measuring) 8073726: 4b73 ldr r3, [pc, #460] ; (80738f4 ) 8073728: 781b ldrb r3, [r3, #0] 807372a: b2db uxtb r3, r3 807372c: 2b00 cmp r3, #0 807372e: d005 beq.n 807373c DrawImage(&bmVIB_STOP, 8, 211); 8073730: 22d3 movs r2, #211 ; 0xd3 8073732: 2108 movs r1, #8 8073734: 4876 ldr r0, [pc, #472] ; (8073910 ) 8073736: f7e2 fc5d bl 8055ff4 807373a: e01f b.n 807377c else DrawImage(&bmVIB_PLAY, 8, 211); 807373c: 22d3 movs r2, #211 ; 0xd3 807373e: 2108 movs r1, #8 8073740: 4874 ldr r0, [pc, #464] ; (8073914 ) 8073742: f7e2 fc57 bl 8055ff4 8073746: e019 b.n 807377c } else { DrawImage(&bmVIB_POINT_ENG, 88, 211); 8073748: 22d3 movs r2, #211 ; 0xd3 807374a: 2158 movs r1, #88 ; 0x58 807374c: 486b ldr r0, [pc, #428] ; (80738fc ) 807374e: f7e2 fc51 bl 8055ff4 DrawImage(&bmVIB_MEAS_ENG, 168, 211); 8073752: 22d3 movs r2, #211 ; 0xd3 8073754: 21a8 movs r1, #168 ; 0xa8 8073756: 486a ldr r0, [pc, #424] ; (8073900 ) 8073758: f7e2 fc4c bl 8055ff4 if(measuring) 807375c: 4b65 ldr r3, [pc, #404] ; (80738f4 ) 807375e: 781b ldrb r3, [r3, #0] 8073760: b2db uxtb r3, r3 8073762: 2b00 cmp r3, #0 8073764: d005 beq.n 8073772 DrawImage(&bmVIB_STOP_ENG, 8, 211); 8073766: 22d3 movs r2, #211 ; 0xd3 8073768: 2108 movs r1, #8 807376a: 486b ldr r0, [pc, #428] ; (8073918 ) 807376c: f7e2 fc42 bl 8055ff4 8073770: e004 b.n 807377c else DrawImage(&bmVIB_PLAY_ENG, 8, 211); 8073772: 22d3 movs r2, #211 ; 0xd3 8073774: 2108 movs r1, #8 8073776: 4869 ldr r0, [pc, #420] ; (807391c ) 8073778: f7e2 fc3c bl 8055ff4 } DrawImage(&bmVIB_SAVE_LIGHT, 248, 211); 807377c: 22d3 movs r2, #211 ; 0xd3 807377e: 21f8 movs r1, #248 ; 0xf8 8073780: 4867 ldr r0, [pc, #412] ; (8073920 ) 8073782: f7e2 fc37 bl 8055ff4 break; 8073786: e07f b.n 8073888 case MyPoint: if(pardata.LANG == RUS) 8073788: 4b55 ldr r3, [pc, #340] ; (80738e0 ) 807378a: 7b1b ldrb r3, [r3, #12] 807378c: b2db uxtb r3, r3 807378e: 2b00 cmp r3, #0 8073790: d11a bne.n 80737c8 { DrawImage(&bmVIB_POINT_LIGHT, 88, 211); 8073792: 22d3 movs r2, #211 ; 0xd3 8073794: 2158 movs r1, #88 ; 0x58 8073796: 4863 ldr r0, [pc, #396] ; (8073924 ) 8073798: f7e2 fc2c bl 8055ff4 DrawImage(&bmVIB_MEAS, 168, 211); 807379c: 22d3 movs r2, #211 ; 0xd3 807379e: 21a8 movs r1, #168 ; 0xa8 80737a0: 4851 ldr r0, [pc, #324] ; (80738e8 ) 80737a2: f7e2 fc27 bl 8055ff4 if(measuring) 80737a6: 4b53 ldr r3, [pc, #332] ; (80738f4 ) 80737a8: 781b ldrb r3, [r3, #0] 80737aa: b2db uxtb r3, r3 80737ac: 2b00 cmp r3, #0 80737ae: d005 beq.n 80737bc DrawImage(&bmVIB_STOP, 8, 211); 80737b0: 22d3 movs r2, #211 ; 0xd3 80737b2: 2108 movs r1, #8 80737b4: 4856 ldr r0, [pc, #344] ; (8073910 ) 80737b6: f7e2 fc1d bl 8055ff4 80737ba: e01f b.n 80737fc else DrawImage(&bmVIB_PLAY, 8, 211); 80737bc: 22d3 movs r2, #211 ; 0xd3 80737be: 2108 movs r1, #8 80737c0: 4854 ldr r0, [pc, #336] ; (8073914 ) 80737c2: f7e2 fc17 bl 8055ff4 80737c6: e019 b.n 80737fc } else { DrawImage(&bmVIB_POINT_LIGHT_ENG, 88, 211); 80737c8: 22d3 movs r2, #211 ; 0xd3 80737ca: 2158 movs r1, #88 ; 0x58 80737cc: 4856 ldr r0, [pc, #344] ; (8073928 ) 80737ce: f7e2 fc11 bl 8055ff4 DrawImage(&bmVIB_MEAS_ENG, 168, 211); 80737d2: 22d3 movs r2, #211 ; 0xd3 80737d4: 21a8 movs r1, #168 ; 0xa8 80737d6: 484a ldr r0, [pc, #296] ; (8073900 ) 80737d8: f7e2 fc0c bl 8055ff4 if(measuring) 80737dc: 4b45 ldr r3, [pc, #276] ; (80738f4 ) 80737de: 781b ldrb r3, [r3, #0] 80737e0: b2db uxtb r3, r3 80737e2: 2b00 cmp r3, #0 80737e4: d005 beq.n 80737f2 DrawImage(&bmVIB_STOP_ENG, 8, 211); 80737e6: 22d3 movs r2, #211 ; 0xd3 80737e8: 2108 movs r1, #8 80737ea: 484b ldr r0, [pc, #300] ; (8073918 ) 80737ec: f7e2 fc02 bl 8055ff4 80737f0: e004 b.n 80737fc else DrawImage(&bmVIB_PLAY_ENG, 8, 211); 80737f2: 22d3 movs r2, #211 ; 0xd3 80737f4: 2108 movs r1, #8 80737f6: 4849 ldr r0, [pc, #292] ; (807391c ) 80737f8: f7e2 fbfc bl 8055ff4 } DrawImage(&bmVIB_SAVE, 248, 211); 80737fc: 22d3 movs r2, #211 ; 0xd3 80737fe: 21f8 movs r1, #248 ; 0xf8 8073800: 4842 ldr r0, [pc, #264] ; (807390c ) 8073802: f7e2 fbf7 bl 8055ff4 break; 8073806: e03f b.n 8073888 case MyMeasure: if(pardata.LANG == RUS) 8073808: 4b35 ldr r3, [pc, #212] ; (80738e0 ) 807380a: 7b1b ldrb r3, [r3, #12] 807380c: b2db uxtb r3, r3 807380e: 2b00 cmp r3, #0 8073810: d11a bne.n 8073848 { DrawImage(&bmVIB_POINT, 88, 211); 8073812: 22d3 movs r2, #211 ; 0xd3 8073814: 2158 movs r1, #88 ; 0x58 8073816: 4833 ldr r0, [pc, #204] ; (80738e4 ) 8073818: f7e2 fbec bl 8055ff4 DrawImage(&bmVIB_MEAS_LIGHT, 168, 211); 807381c: 22d3 movs r2, #211 ; 0xd3 807381e: 21a8 movs r1, #168 ; 0xa8 8073820: 4842 ldr r0, [pc, #264] ; (807392c ) 8073822: f7e2 fbe7 bl 8055ff4 if(measuring) 8073826: 4b33 ldr r3, [pc, #204] ; (80738f4 ) 8073828: 781b ldrb r3, [r3, #0] 807382a: b2db uxtb r3, r3 807382c: 2b00 cmp r3, #0 807382e: d005 beq.n 807383c DrawImage(&bmVIB_STOP, 8, 211); 8073830: 22d3 movs r2, #211 ; 0xd3 8073832: 2108 movs r1, #8 8073834: 4836 ldr r0, [pc, #216] ; (8073910 ) 8073836: f7e2 fbdd bl 8055ff4 807383a: e01f b.n 807387c else DrawImage(&bmVIB_PLAY, 8, 211); 807383c: 22d3 movs r2, #211 ; 0xd3 807383e: 2108 movs r1, #8 8073840: 4834 ldr r0, [pc, #208] ; (8073914 ) 8073842: f7e2 fbd7 bl 8055ff4 8073846: e019 b.n 807387c } else { DrawImage(&bmVIB_POINT_ENG, 88, 211); 8073848: 22d3 movs r2, #211 ; 0xd3 807384a: 2158 movs r1, #88 ; 0x58 807384c: 482b ldr r0, [pc, #172] ; (80738fc ) 807384e: f7e2 fbd1 bl 8055ff4 DrawImage(&bmVIB_MEAS_LIGHT_ENG, 168, 211); 8073852: 22d3 movs r2, #211 ; 0xd3 8073854: 21a8 movs r1, #168 ; 0xa8 8073856: 4836 ldr r0, [pc, #216] ; (8073930 ) 8073858: f7e2 fbcc bl 8055ff4 if(measuring) 807385c: 4b25 ldr r3, [pc, #148] ; (80738f4 ) 807385e: 781b ldrb r3, [r3, #0] 8073860: b2db uxtb r3, r3 8073862: 2b00 cmp r3, #0 8073864: d005 beq.n 8073872 DrawImage(&bmVIB_STOP_ENG, 8, 211); 8073866: 22d3 movs r2, #211 ; 0xd3 8073868: 2108 movs r1, #8 807386a: 482b ldr r0, [pc, #172] ; (8073918 ) 807386c: f7e2 fbc2 bl 8055ff4 8073870: e004 b.n 807387c else DrawImage(&bmVIB_PLAY_ENG, 8, 211); 8073872: 22d3 movs r2, #211 ; 0xd3 8073874: 2108 movs r1, #8 8073876: 4829 ldr r0, [pc, #164] ; (807391c ) 8073878: f7e2 fbbc bl 8055ff4 } DrawImage(&bmVIB_SAVE, 248, 211); 807387c: 22d3 movs r2, #211 ; 0xd3 807387e: 21f8 movs r1, #248 ; 0xf8 8073880: 4822 ldr r0, [pc, #136] ; (807390c ) 8073882: f7e2 fbb7 bl 8055ff4 break; 8073886: bf00 nop } BSP_LCD_SetFont(&Font15); 8073888: 482a ldr r0, [pc, #168] ; (8073934 ) 807388a: f7e1 fcfb bl 8055284 if(strcmp(DiagFileName, "") != 0) 807388e: 4b2a ldr r3, [pc, #168] ; (8073938 ) 8073890: 781b ldrb r3, [r3, #0] 8073892: 2b00 cmp r3, #0 8073894: f000 8185 beq.w 8073ba2 { BSP_LCD_SetFont(&Font12); 8073898: 4828 ldr r0, [pc, #160] ; (807393c ) 807389a: f7e1 fcf3 bl 8055284 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807389e: 4928 ldr r1, [pc, #160] ; (8073940 ) 80738a0: 4828 ldr r0, [pc, #160] ; (8073944 ) 80738a2: f7e1 fcb3 bl 805520c if(pardata.LANG == RUS) 80738a6: 4b0e ldr r3, [pc, #56] ; (80738e0 ) 80738a8: 7b1b ldrb r3, [r3, #12] 80738aa: b2db uxtb r3, r3 80738ac: 2b00 cmp r3, #0 80738ae: d153 bne.n 8073958 { BSP_LCD_DisplayStringAt(4, 35, "ÔÀÉË:", LEFT_MODE); 80738b0: 2303 movs r3, #3 80738b2: 4a25 ldr r2, [pc, #148] ; (8073948 ) 80738b4: 2123 movs r1, #35 ; 0x23 80738b6: 2004 movs r0, #4 80738b8: f7e1 fd6e bl 8055398 if((NEWFILE) && (strlen(Comment))) 80738bc: 4b23 ldr r3, [pc, #140] ; (807394c ) 80738be: 781b ldrb r3, [r3, #0] 80738c0: b2db uxtb r3, r3 80738c2: 2b00 cmp r3, #0 80738c4: d05d beq.n 8073982 80738c6: 4b22 ldr r3, [pc, #136] ; (8073950 ) 80738c8: 781b ldrb r3, [r3, #0] 80738ca: 2b00 cmp r3, #0 80738cc: d059 beq.n 8073982 BSP_LCD_DisplayStringAt(4, 49, "ÒÎ×ÊÀ:", LEFT_MODE); 80738ce: 2303 movs r3, #3 80738d0: 4a20 ldr r2, [pc, #128] ; (8073954 ) 80738d2: 2131 movs r1, #49 ; 0x31 80738d4: 2004 movs r0, #4 80738d6: f7e1 fd5f bl 8055398 80738da: e052 b.n 8073982 80738dc: 20020070 .word 0x20020070 80738e0: 20023eb8 .word 0x20023eb8 80738e4: 0815be10 .word 0x0815be10 80738e8: 081551b0 .word 0x081551b0 80738ec: 20020fca .word 0x20020fca 80738f0: 0815a2f8 .word 0x0815a2f8 80738f4: 20020dcf .word 0x20020dcf 80738f8: 08162a70 .word 0x08162a70 80738fc: 0815cb9c .word 0x0815cb9c 8073900: 08155f3c .word 0x08155f3c 8073904: 0815b084 .word 0x0815b084 8073908: 081637fc .word 0x081637fc 807390c: 0815f440 .word 0x0815f440 8073910: 08160f58 .word 0x08160f58 8073914: 081587e0 .word 0x081587e0 8073918: 08161ce4 .word 0x08161ce4 807391c: 0815956c .word 0x0815956c 8073920: 081601cc .word 0x081601cc 8073924: 0815d928 .word 0x0815d928 8073928: 0815e6b4 .word 0x0815e6b4 807392c: 08156cc8 .word 0x08156cc8 8073930: 08157a54 .word 0x08157a54 8073934: 20020040 .word 0x20020040 8073938: 20020ea4 .word 0x20020ea4 807393c: 20020038 .word 0x20020038 8073940: ff0a0f1f .word 0xff0a0f1f 8073944: ff808080 .word 0xff808080 8073948: 080d6530 .word 0x080d6530 807394c: 20020e38 .word 0x20020e38 8073950: 200226a0 .word 0x200226a0 8073954: 080d6538 .word 0x080d6538 } else { BSP_LCD_DisplayStringAt(4, 35, "FILE:", LEFT_MODE); 8073958: 2303 movs r3, #3 807395a: 4ac9 ldr r2, [pc, #804] ; (8073c80 ) 807395c: 2123 movs r1, #35 ; 0x23 807395e: 2004 movs r0, #4 8073960: f7e1 fd1a bl 8055398 if((NEWFILE) && (strlen(Comment))) 8073964: 4bc7 ldr r3, [pc, #796] ; (8073c84 ) 8073966: 781b ldrb r3, [r3, #0] 8073968: b2db uxtb r3, r3 807396a: 2b00 cmp r3, #0 807396c: d009 beq.n 8073982 807396e: 4bc6 ldr r3, [pc, #792] ; (8073c88 ) 8073970: 781b ldrb r3, [r3, #0] 8073972: 2b00 cmp r3, #0 8073974: d005 beq.n 8073982 BSP_LCD_DisplayStringAt(4, 49, "POINT:", LEFT_MODE); 8073976: 2303 movs r3, #3 8073978: 4ac4 ldr r2, [pc, #784] ; (8073c8c ) 807397a: 2131 movs r1, #49 ; 0x31 807397c: 2004 movs r0, #4 807397e: f7e1 fd0b bl 8055398 } memset(str, 0, sizeof(str)); 8073982: f507 733b add.w r3, r7, #748 ; 0x2ec 8073986: 223c movs r2, #60 ; 0x3c 8073988: 2100 movs r1, #0 807398a: 4618 mov r0, r3 807398c: f05e fb0a bl 80d1fa4 strcpy(str, DiagFileName); 8073990: f507 733b add.w r3, r7, #748 ; 0x2ec 8073994: 49be ldr r1, [pc, #760] ; (8073c90 ) 8073996: 4618 mov r0, r3 8073998: f05e fc21 bl 80d21de l = strlen(str); 807399c: f507 733b add.w r3, r7, #748 ; 0x2ec 80739a0: 4618 mov r0, r3 80739a2: f7ac fcb7 bl 8020314 80739a6: 4603 mov r3, r0 80739a8: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l - 4] = '\0'; 80739ac: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80739b0: 3b04 subs r3, #4 80739b2: f507 723b add.w r2, r7, #748 ; 0x2ec 80739b6: 2100 movs r1, #0 80739b8: 54d1 strb r1, [r2, r3] BSP_LCD_SetFont(&Font12); 80739ba: 48b6 ldr r0, [pc, #728] ; (8073c94 ) 80739bc: f7e1 fc62 bl 8055284 LCD_SetColors(LCD_COLOR_LIGHTGREEN, LCD_COLOR_BLACK); 80739c0: 49b5 ldr r1, [pc, #724] ; (8073c98 ) 80739c2: f06f 107f mvn.w r0, #8323199 ; 0x7f007f 80739c6: f7e1 fc21 bl 805520c BSP_LCD_DisplayStringAt(46, 35, str, LEFT_MODE); 80739ca: f507 723b add.w r2, r7, #748 ; 0x2ec 80739ce: 2303 movs r3, #3 80739d0: 2123 movs r1, #35 ; 0x23 80739d2: 202e movs r0, #46 ; 0x2e 80739d4: f7e1 fce0 bl 8055398 if((NEWFILE) && (strlen(Comment))) 80739d8: 4baa ldr r3, [pc, #680] ; (8073c84 ) 80739da: 781b ldrb r3, [r3, #0] 80739dc: b2db uxtb r3, r3 80739de: 2b00 cmp r3, #0 80739e0: d02c beq.n 8073a3c 80739e2: 4ba9 ldr r3, [pc, #676] ; (8073c88 ) 80739e4: 781b ldrb r3, [r3, #0] 80739e6: 2b00 cmp r3, #0 80739e8: d028 beq.n 8073a3c { LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 80739ea: 49ab ldr r1, [pc, #684] ; (8073c98 ) 80739ec: 48ab ldr r0, [pc, #684] ; (8073c9c ) 80739ee: f7e1 fc0d bl 805520c BSP_LCD_SetFont(&Font12); 80739f2: 48a8 ldr r0, [pc, #672] ; (8073c94 ) 80739f4: f7e1 fc46 bl 8055284 memset(str, 0, sizeof(str)); 80739f8: f507 733b add.w r3, r7, #748 ; 0x2ec 80739fc: 223c movs r2, #60 ; 0x3c 80739fe: 2100 movs r1, #0 8073a00: 4618 mov r0, r3 8073a02: f05e facf bl 80d1fa4 str[0] = '"'; 8073a06: f507 733b add.w r3, r7, #748 ; 0x2ec 8073a0a: 2222 movs r2, #34 ; 0x22 8073a0c: 701a strb r2, [r3, #0] strcat(str, Comment); 8073a0e: f507 733b add.w r3, r7, #748 ; 0x2ec 8073a12: 499d ldr r1, [pc, #628] ; (8073c88 ) 8073a14: 4618 mov r0, r3 8073a16: f05e fbc5 bl 80d21a4 str[strlen(str)] = '"'; 8073a1a: f507 733b add.w r3, r7, #748 ; 0x2ec 8073a1e: 4618 mov r0, r3 8073a20: f7ac fc78 bl 8020314 8073a24: 4602 mov r2, r0 8073a26: f507 733b add.w r3, r7, #748 ; 0x2ec 8073a2a: 2122 movs r1, #34 ; 0x22 8073a2c: 5499 strb r1, [r3, r2] BSP_LCD_DisplayStringAt(46, 49, str, LEFT_MODE); 8073a2e: f507 723b add.w r2, r7, #748 ; 0x2ec 8073a32: 2303 movs r3, #3 8073a34: 2131 movs r1, #49 ; 0x31 8073a36: 202e movs r0, #46 ; 0x2e 8073a38: f7e1 fcae bl 8055398 } BSP_LCD_SetFont(&Font15); 8073a3c: 4898 ldr r0, [pc, #608] ; (8073ca0 ) 8073a3e: f7e1 fc21 bl 8055284 memset(str, 0, sizeof(str)); 8073a42: f507 733b add.w r3, r7, #748 ; 0x2ec 8073a46: 223c movs r2, #60 ; 0x3c 8073a48: 2100 movs r1, #0 8073a4a: 4618 mov r0, r3 8073a4c: f05e faaa bl 80d1fa4 str[0] = ((NextIndexPoint + 1) / 100) + 48; 8073a50: 4b94 ldr r3, [pc, #592] ; (8073ca4 ) 8073a52: 681b ldr r3, [r3, #0] 8073a54: 3301 adds r3, #1 8073a56: 4a94 ldr r2, [pc, #592] ; (8073ca8 ) 8073a58: fba2 2303 umull r2, r3, r2, r3 8073a5c: 095b lsrs r3, r3, #5 8073a5e: b2db uxtb r3, r3 8073a60: 3330 adds r3, #48 ; 0x30 8073a62: b2da uxtb r2, r3 8073a64: f507 733b add.w r3, r7, #748 ; 0x2ec 8073a68: 701a strb r2, [r3, #0] str[1] = ((NextIndexPoint + 1) % 100 / 10) + 48; 8073a6a: 4b8e ldr r3, [pc, #568] ; (8073ca4 ) 8073a6c: 681b ldr r3, [r3, #0] 8073a6e: 1c5a adds r2, r3, #1 8073a70: 4b8d ldr r3, [pc, #564] ; (8073ca8 ) 8073a72: fba3 1302 umull r1, r3, r3, r2 8073a76: 095b lsrs r3, r3, #5 8073a78: 2164 movs r1, #100 ; 0x64 8073a7a: fb01 f303 mul.w r3, r1, r3 8073a7e: 1ad3 subs r3, r2, r3 8073a80: 4a8a ldr r2, [pc, #552] ; (8073cac ) 8073a82: fba2 2303 umull r2, r3, r2, r3 8073a86: 08db lsrs r3, r3, #3 8073a88: b2db uxtb r3, r3 8073a8a: 3330 adds r3, #48 ; 0x30 8073a8c: b2da uxtb r2, r3 8073a8e: f507 733b add.w r3, r7, #748 ; 0x2ec 8073a92: 705a strb r2, [r3, #1] str[2] = ((NextIndexPoint + 1) % 100 % 10) + 48; 8073a94: 4b83 ldr r3, [pc, #524] ; (8073ca4 ) 8073a96: 681b ldr r3, [r3, #0] 8073a98: 3301 adds r3, #1 8073a9a: 4a83 ldr r2, [pc, #524] ; (8073ca8 ) 8073a9c: fba2 1203 umull r1, r2, r2, r3 8073aa0: 0952 lsrs r2, r2, #5 8073aa2: 2164 movs r1, #100 ; 0x64 8073aa4: fb01 f202 mul.w r2, r1, r2 8073aa8: 1a9a subs r2, r3, r2 8073aaa: 4b80 ldr r3, [pc, #512] ; (8073cac ) 8073aac: fba3 1302 umull r1, r3, r3, r2 8073ab0: 08d9 lsrs r1, r3, #3 8073ab2: 460b mov r3, r1 8073ab4: 009b lsls r3, r3, #2 8073ab6: 440b add r3, r1 8073ab8: 005b lsls r3, r3, #1 8073aba: 1ad1 subs r1, r2, r3 8073abc: b2cb uxtb r3, r1 8073abe: 3330 adds r3, #48 ; 0x30 8073ac0: b2da uxtb r2, r3 8073ac2: f507 733b add.w r3, r7, #748 ; 0x2ec 8073ac6: 709a strb r2, [r3, #2] if(menupos == MyPoint) 8073ac8: 4b79 ldr r3, [pc, #484] ; (8073cb0 ) 8073aca: 781b ldrb r3, [r3, #0] 8073acc: b2db uxtb r3, r3 8073ace: 2b03 cmp r3, #3 8073ad0: d104 bne.n 8073adc LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8073ad2: 4971 ldr r1, [pc, #452] ; (8073c98 ) 8073ad4: 4877 ldr r0, [pc, #476] ; (8073cb4 ) 8073ad6: f7e1 fb99 bl 805520c 8073ada: e004 b.n 8073ae6 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073adc: 496e ldr r1, [pc, #440] ; (8073c98 ) 8073ade: f04f 30ff mov.w r0, #4294967295 8073ae2: f7e1 fb93 bl 805520c BSP_LCD_DisplayStringAt(168-29, 218, str, RIGHT_MODE); 8073ae6: f507 723b add.w r2, r7, #748 ; 0x2ec 8073aea: 2302 movs r3, #2 8073aec: 21da movs r1, #218 ; 0xda 8073aee: 208b movs r0, #139 ; 0x8b 8073af0: f7e1 fc52 bl 8055398 memset(str, 0, sizeof(str)); 8073af4: f507 733b add.w r3, r7, #748 ; 0x2ec 8073af8: 223c movs r2, #60 ; 0x3c 8073afa: 2100 movs r1, #0 8073afc: 4618 mov r0, r3 8073afe: f05e fa51 bl 80d1fa4 str[0] = (NextIndexMeas / 100) + 48; 8073b02: 4b6d ldr r3, [pc, #436] ; (8073cb8 ) 8073b04: 681b ldr r3, [r3, #0] 8073b06: 4a68 ldr r2, [pc, #416] ; (8073ca8 ) 8073b08: fba2 2303 umull r2, r3, r2, r3 8073b0c: 095b lsrs r3, r3, #5 8073b0e: b2db uxtb r3, r3 8073b10: 3330 adds r3, #48 ; 0x30 8073b12: b2da uxtb r2, r3 8073b14: f507 733b add.w r3, r7, #748 ; 0x2ec 8073b18: 701a strb r2, [r3, #0] str[1] = (NextIndexMeas % 100 / 10) + 48; 8073b1a: 4b67 ldr r3, [pc, #412] ; (8073cb8 ) 8073b1c: 681a ldr r2, [r3, #0] 8073b1e: 4b62 ldr r3, [pc, #392] ; (8073ca8 ) 8073b20: fba3 1302 umull r1, r3, r3, r2 8073b24: 095b lsrs r3, r3, #5 8073b26: 2164 movs r1, #100 ; 0x64 8073b28: fb01 f303 mul.w r3, r1, r3 8073b2c: 1ad3 subs r3, r2, r3 8073b2e: 4a5f ldr r2, [pc, #380] ; (8073cac ) 8073b30: fba2 2303 umull r2, r3, r2, r3 8073b34: 08db lsrs r3, r3, #3 8073b36: b2db uxtb r3, r3 8073b38: 3330 adds r3, #48 ; 0x30 8073b3a: b2da uxtb r2, r3 8073b3c: f507 733b add.w r3, r7, #748 ; 0x2ec 8073b40: 705a strb r2, [r3, #1] str[2] = (NextIndexMeas % 100 % 10) + 48; 8073b42: 4b5d ldr r3, [pc, #372] ; (8073cb8 ) 8073b44: 681b ldr r3, [r3, #0] 8073b46: 4a58 ldr r2, [pc, #352] ; (8073ca8 ) 8073b48: fba2 1203 umull r1, r2, r2, r3 8073b4c: 0952 lsrs r2, r2, #5 8073b4e: 2164 movs r1, #100 ; 0x64 8073b50: fb01 f202 mul.w r2, r1, r2 8073b54: 1a9a subs r2, r3, r2 8073b56: 4b55 ldr r3, [pc, #340] ; (8073cac ) 8073b58: fba3 1302 umull r1, r3, r3, r2 8073b5c: 08d9 lsrs r1, r3, #3 8073b5e: 460b mov r3, r1 8073b60: 009b lsls r3, r3, #2 8073b62: 440b add r3, r1 8073b64: 005b lsls r3, r3, #1 8073b66: 1ad1 subs r1, r2, r3 8073b68: b2cb uxtb r3, r1 8073b6a: 3330 adds r3, #48 ; 0x30 8073b6c: b2da uxtb r2, r3 8073b6e: f507 733b add.w r3, r7, #748 ; 0x2ec 8073b72: 709a strb r2, [r3, #2] if(menupos == MyMeasure) 8073b74: 4b4e ldr r3, [pc, #312] ; (8073cb0 ) 8073b76: 781b ldrb r3, [r3, #0] 8073b78: b2db uxtb r3, r3 8073b7a: 2b04 cmp r3, #4 8073b7c: d104 bne.n 8073b88 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8073b7e: 4946 ldr r1, [pc, #280] ; (8073c98 ) 8073b80: 484c ldr r0, [pc, #304] ; (8073cb4 ) 8073b82: f7e1 fb43 bl 805520c 8073b86: e004 b.n 8073b92 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073b88: 4943 ldr r1, [pc, #268] ; (8073c98 ) 8073b8a: f04f 30ff mov.w r0, #4294967295 8073b8e: f7e1 fb3d bl 805520c BSP_LCD_DisplayStringAt(248-29, 218, str, RIGHT_MODE); 8073b92: f507 723b add.w r2, r7, #748 ; 0x2ec 8073b96: 2302 movs r3, #2 8073b98: 21da movs r1, #218 ; 0xda 8073b9a: 20db movs r0, #219 ; 0xdb 8073b9c: f7e1 fbfc bl 8055398 8073ba0: e029 b.n 8073bf6 } else { if(menupos == MyPoint) 8073ba2: 4b43 ldr r3, [pc, #268] ; (8073cb0 ) 8073ba4: 781b ldrb r3, [r3, #0] 8073ba6: b2db uxtb r3, r3 8073ba8: 2b03 cmp r3, #3 8073baa: d104 bne.n 8073bb6 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8073bac: 493a ldr r1, [pc, #232] ; (8073c98 ) 8073bae: 4841 ldr r0, [pc, #260] ; (8073cb4 ) 8073bb0: f7e1 fb2c bl 805520c 8073bb4: e004 b.n 8073bc0 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073bb6: 4938 ldr r1, [pc, #224] ; (8073c98 ) 8073bb8: f04f 30ff mov.w r0, #4294967295 8073bbc: f7e1 fb26 bl 805520c BSP_LCD_DisplayStringAt(168-29, 218, "---", RIGHT_MODE); 8073bc0: 2302 movs r3, #2 8073bc2: 4a3e ldr r2, [pc, #248] ; (8073cbc ) 8073bc4: 21da movs r1, #218 ; 0xda 8073bc6: 208b movs r0, #139 ; 0x8b 8073bc8: f7e1 fbe6 bl 8055398 if(menupos == MyMeasure) 8073bcc: 4b38 ldr r3, [pc, #224] ; (8073cb0 ) 8073bce: 781b ldrb r3, [r3, #0] 8073bd0: b2db uxtb r3, r3 8073bd2: 2b04 cmp r3, #4 8073bd4: d104 bne.n 8073be0 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8073bd6: 4930 ldr r1, [pc, #192] ; (8073c98 ) 8073bd8: 4836 ldr r0, [pc, #216] ; (8073cb4 ) 8073bda: f7e1 fb17 bl 805520c 8073bde: e004 b.n 8073bea else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073be0: 492d ldr r1, [pc, #180] ; (8073c98 ) 8073be2: f04f 30ff mov.w r0, #4294967295 8073be6: f7e1 fb11 bl 805520c BSP_LCD_DisplayStringAt(248-29, 218, "---", RIGHT_MODE); 8073bea: 2302 movs r3, #2 8073bec: 4a33 ldr r2, [pc, #204] ; (8073cbc ) 8073bee: 21da movs r1, #218 ; 0xda 8073bf0: 20db movs r0, #219 ; 0xdb 8073bf2: f7e1 fbd1 bl 8055398 //****************************************************** BSP_LCD_SetFont(&Font12); 8073bf6: 4827 ldr r0, [pc, #156] ; (8073c94 ) 8073bf8: f7e1 fb44 bl 8055284 //LEGEND LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8073bfc: 4926 ldr r1, [pc, #152] ; (8073c98 ) 8073bfe: 4830 ldr r0, [pc, #192] ; (8073cc0 ) 8073c00: f7e1 fb04 bl 805520c BSP_LCD_DrawLine(9, 124, 9 + 229, 124); 8073c04: 237c movs r3, #124 ; 0x7c 8073c06: 22ee movs r2, #238 ; 0xee 8073c08: 217c movs r1, #124 ; 0x7c 8073c0a: 2009 movs r0, #9 8073c0c: f7e1 fd38 bl 8055680 BSP_LCD_DrawLine(9, 160, 9 + 229, 160); 8073c10: 23a0 movs r3, #160 ; 0xa0 8073c12: 22ee movs r2, #238 ; 0xee 8073c14: 21a0 movs r1, #160 ; 0xa0 8073c16: 2009 movs r0, #9 8073c18: f7e1 fd32 bl 8055680 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8073c1c: 491e ldr r1, [pc, #120] ; (8073c98 ) 8073c1e: 4829 ldr r0, [pc, #164] ; (8073cc4 ) 8073c20: f7e1 faf4 bl 805520c BSP_LCD_DisplayStringAt(12, 101, "1", LEFT_MODE); 8073c24: 2303 movs r3, #3 8073c26: 4a28 ldr r2, [pc, #160] ; (8073cc8 ) 8073c28: 2165 movs r1, #101 ; 0x65 8073c2a: 200c movs r0, #12 8073c2c: f7e1 fbb4 bl 8055398 BSP_LCD_DisplayStringAt(12, 137, "2", LEFT_MODE); 8073c30: 2303 movs r3, #3 8073c32: 4a26 ldr r2, [pc, #152] ; (8073ccc ) 8073c34: 2189 movs r1, #137 ; 0x89 8073c36: 200c movs r0, #12 8073c38: f7e1 fbae bl 8055398 BSP_LCD_DisplayStringAt(12, 173, "3", LEFT_MODE); 8073c3c: 2303 movs r3, #3 8073c3e: 4a24 ldr r2, [pc, #144] ; (8073cd0 ) 8073c40: 21ad movs r1, #173 ; 0xad 8073c42: 200c movs r0, #12 8073c44: f7e1 fba8 bl 8055398 RedrawNums(); 8073c48: f026 fbe8 bl 809a41c break; 8073c4c: f025 baee b.w 809922c case MAIN: case MAIN_FRAN: switch(menupos) 8073c50: 4b17 ldr r3, [pc, #92] ; (8073cb0 ) 8073c52: 781b ldrb r3, [r3, #0] 8073c54: b2db uxtb r3, r3 8073c56: 2b06 cmp r3, #6 8073c58: f200 81fa bhi.w 8074050 8073c5c: a201 add r2, pc, #4 ; (adr r2, 8073c64 ) 8073c5e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8073c62: bf00 nop 8073c64: 08073cd5 .word 0x08073cd5 8073c68: 08074051 .word 0x08074051 8073c6c: 08073d97 .word 0x08073d97 8073c70: 08073e2d .word 0x08073e2d 8073c74: 08073ec3 .word 0x08073ec3 8073c78: 08074051 .word 0x08074051 8073c7c: 08073f59 .word 0x08073f59 8073c80: 080d6540 .word 0x080d6540 8073c84: 20020e38 .word 0x20020e38 8073c88: 200226a0 .word 0x200226a0 8073c8c: 080d6548 .word 0x080d6548 8073c90: 20020ea4 .word 0x20020ea4 8073c94: 20020038 .word 0x20020038 8073c98: ff0a0f1f .word 0xff0a0f1f 8073c9c: ffefcc95 .word 0xffefcc95 8073ca0: 20020040 .word 0x20020040 8073ca4: 20021fec .word 0x20021fec 8073ca8: 51eb851f .word 0x51eb851f 8073cac: cccccccd .word 0xcccccccd 8073cb0: 20020070 .word 0x20020070 8073cb4: ff29eb19 .word 0xff29eb19 8073cb8: 20022360 .word 0x20022360 8073cbc: 080d6550 .word 0x080d6550 8073cc0: ff404040 .word 0xff404040 8073cc4: ffd3d3d3 .word 0xffd3d3d3 8073cc8: 080d52c4 .word 0x080d52c4 8073ccc: 080d52c8 .word 0x080d52c8 8073cd0: 080d6224 .word 0x080d6224 { case StartStop: if(pardata.LANG == RUS) 8073cd4: 4bb3 ldr r3, [pc, #716] ; (8073fa4 ) 8073cd6: 7b1b ldrb r3, [r3, #12] 8073cd8: b2db uxtb r3, r3 8073cda: 2b00 cmp r3, #0 8073cdc: d12a bne.n 8073d34 { DrawImage(&bmVIB_LOG, 64, 211); 8073cde: 22d3 movs r2, #211 ; 0xd3 8073ce0: 2140 movs r1, #64 ; 0x40 8073ce2: 48b1 ldr r0, [pc, #708] ; (8073fa8 ) 8073ce4: f7e2 f986 bl 8055ff4 DrawImage(&bmVIB_POINT, 128, 211); 8073ce8: 22d3 movs r2, #211 ; 0xd3 8073cea: 2180 movs r1, #128 ; 0x80 8073cec: 48af ldr r0, [pc, #700] ; (8073fac ) 8073cee: f7e2 f981 bl 8055ff4 DrawImage(&bmVIB_MEAS, 192, 211); 8073cf2: 22d3 movs r2, #211 ; 0xd3 8073cf4: 21c0 movs r1, #192 ; 0xc0 8073cf6: 48ae ldr r0, [pc, #696] ; (8073fb0 ) 8073cf8: f7e2 f97c bl 8055ff4 if(NeedSTOP) 8073cfc: 4bad ldr r3, [pc, #692] ; (8073fb4 ) 8073cfe: 781b ldrb r3, [r3, #0] 8073d00: b2db uxtb r3, r3 8073d02: 2b00 cmp r3, #0 8073d04: d005 beq.n 8073d12 DrawImage(&bmVIB_PLAY_LIGHT, 0, 211); 8073d06: 22d3 movs r2, #211 ; 0xd3 8073d08: 2100 movs r1, #0 8073d0a: 48ab ldr r0, [pc, #684] ; (8073fb8 ) 8073d0c: f7e2 f972 bl 8055ff4 8073d10: e03a b.n 8073d88 else { if(measuring) 8073d12: 4baa ldr r3, [pc, #680] ; (8073fbc ) 8073d14: 781b ldrb r3, [r3, #0] 8073d16: b2db uxtb r3, r3 8073d18: 2b00 cmp r3, #0 8073d1a: d005 beq.n 8073d28 DrawImage(&bmVIB_STOP_LIGHT, 0, 211); 8073d1c: 22d3 movs r2, #211 ; 0xd3 8073d1e: 2100 movs r1, #0 8073d20: 48a7 ldr r0, [pc, #668] ; (8073fc0 ) 8073d22: f7e2 f967 bl 8055ff4 8073d26: e02f b.n 8073d88 else DrawImage(&bmVIB_PLAY_LIGHT, 0, 211); 8073d28: 22d3 movs r2, #211 ; 0xd3 8073d2a: 2100 movs r1, #0 8073d2c: 48a2 ldr r0, [pc, #648] ; (8073fb8 ) 8073d2e: f7e2 f961 bl 8055ff4 8073d32: e029 b.n 8073d88 } } else { DrawImage(&bmVIB_LOG_ENG, 64, 211); 8073d34: 22d3 movs r2, #211 ; 0xd3 8073d36: 2140 movs r1, #64 ; 0x40 8073d38: 48a2 ldr r0, [pc, #648] ; (8073fc4 ) 8073d3a: f7e2 f95b bl 8055ff4 DrawImage(&bmVIB_POINT_ENG, 128, 211); 8073d3e: 22d3 movs r2, #211 ; 0xd3 8073d40: 2180 movs r1, #128 ; 0x80 8073d42: 48a1 ldr r0, [pc, #644] ; (8073fc8 ) 8073d44: f7e2 f956 bl 8055ff4 DrawImage(&bmVIB_MEAS_ENG, 192, 211); 8073d48: 22d3 movs r2, #211 ; 0xd3 8073d4a: 21c0 movs r1, #192 ; 0xc0 8073d4c: 489f ldr r0, [pc, #636] ; (8073fcc ) 8073d4e: f7e2 f951 bl 8055ff4 if(NeedSTOP) 8073d52: 4b98 ldr r3, [pc, #608] ; (8073fb4 ) 8073d54: 781b ldrb r3, [r3, #0] 8073d56: b2db uxtb r3, r3 8073d58: 2b00 cmp r3, #0 8073d5a: d005 beq.n 8073d68 DrawImage(&bmVIB_PLAY_LIGHT_ENG, 0, 211); 8073d5c: 22d3 movs r2, #211 ; 0xd3 8073d5e: 2100 movs r1, #0 8073d60: 489b ldr r0, [pc, #620] ; (8073fd0 ) 8073d62: f7e2 f947 bl 8055ff4 8073d66: e00f b.n 8073d88 else { if(measuring) 8073d68: 4b94 ldr r3, [pc, #592] ; (8073fbc ) 8073d6a: 781b ldrb r3, [r3, #0] 8073d6c: b2db uxtb r3, r3 8073d6e: 2b00 cmp r3, #0 8073d70: d005 beq.n 8073d7e DrawImage(&bmVIB_STOP_LIGHT_ENG, 0, 211); 8073d72: 22d3 movs r2, #211 ; 0xd3 8073d74: 2100 movs r1, #0 8073d76: 4897 ldr r0, [pc, #604] ; (8073fd4 ) 8073d78: f7e2 f93c bl 8055ff4 8073d7c: e004 b.n 8073d88 else DrawImage(&bmVIB_PLAY_LIGHT_ENG, 0, 211); 8073d7e: 22d3 movs r2, #211 ; 0xd3 8073d80: 2100 movs r1, #0 8073d82: 4893 ldr r0, [pc, #588] ; (8073fd0 ) 8073d84: f7e2 f936 bl 8055ff4 } } DrawImage(&bmVIB_SAVE, 256, 211); 8073d88: 22d3 movs r2, #211 ; 0xd3 8073d8a: f44f 7180 mov.w r1, #256 ; 0x100 8073d8e: 4892 ldr r0, [pc, #584] ; (8073fd8 ) 8073d90: f7e2 f930 bl 8055ff4 break; 8073d94: e15c b.n 8074050 case Record: if(pardata.LANG == RUS) 8073d96: 4b83 ldr r3, [pc, #524] ; (8073fa4 ) 8073d98: 7b1b ldrb r3, [r3, #12] 8073d9a: b2db uxtb r3, r3 8073d9c: 2b00 cmp r3, #0 8073d9e: d11f bne.n 8073de0 { DrawImage(&bmVIB_LOG, 64, 211); 8073da0: 22d3 movs r2, #211 ; 0xd3 8073da2: 2140 movs r1, #64 ; 0x40 8073da4: 4880 ldr r0, [pc, #512] ; (8073fa8 ) 8073da6: f7e2 f925 bl 8055ff4 DrawImage(&bmVIB_POINT, 128, 211); 8073daa: 22d3 movs r2, #211 ; 0xd3 8073dac: 2180 movs r1, #128 ; 0x80 8073dae: 487f ldr r0, [pc, #508] ; (8073fac ) 8073db0: f7e2 f920 bl 8055ff4 DrawImage(&bmVIB_MEAS, 192, 211); 8073db4: 22d3 movs r2, #211 ; 0xd3 8073db6: 21c0 movs r1, #192 ; 0xc0 8073db8: 487d ldr r0, [pc, #500] ; (8073fb0 ) 8073dba: f7e2 f91b bl 8055ff4 if(measuring) 8073dbe: 4b7f ldr r3, [pc, #508] ; (8073fbc ) 8073dc0: 781b ldrb r3, [r3, #0] 8073dc2: b2db uxtb r3, r3 8073dc4: 2b00 cmp r3, #0 8073dc6: d005 beq.n 8073dd4 DrawImage(&bmVIB_STOP, 0, 211); 8073dc8: 22d3 movs r2, #211 ; 0xd3 8073dca: 2100 movs r1, #0 8073dcc: 4883 ldr r0, [pc, #524] ; (8073fdc ) 8073dce: f7e2 f911 bl 8055ff4 8073dd2: e024 b.n 8073e1e else DrawImage(&bmVIB_PLAY, 0, 211); 8073dd4: 22d3 movs r2, #211 ; 0xd3 8073dd6: 2100 movs r1, #0 8073dd8: 4881 ldr r0, [pc, #516] ; (8073fe0 ) 8073dda: f7e2 f90b bl 8055ff4 8073dde: e01e b.n 8073e1e } else { DrawImage(&bmVIB_LOG_ENG, 64, 211); 8073de0: 22d3 movs r2, #211 ; 0xd3 8073de2: 2140 movs r1, #64 ; 0x40 8073de4: 4877 ldr r0, [pc, #476] ; (8073fc4 ) 8073de6: f7e2 f905 bl 8055ff4 DrawImage(&bmVIB_POINT_ENG, 128, 211); 8073dea: 22d3 movs r2, #211 ; 0xd3 8073dec: 2180 movs r1, #128 ; 0x80 8073dee: 4876 ldr r0, [pc, #472] ; (8073fc8 ) 8073df0: f7e2 f900 bl 8055ff4 DrawImage(&bmVIB_MEAS_ENG, 192, 211); 8073df4: 22d3 movs r2, #211 ; 0xd3 8073df6: 21c0 movs r1, #192 ; 0xc0 8073df8: 4874 ldr r0, [pc, #464] ; (8073fcc ) 8073dfa: f7e2 f8fb bl 8055ff4 if(measuring) 8073dfe: 4b6f ldr r3, [pc, #444] ; (8073fbc ) 8073e00: 781b ldrb r3, [r3, #0] 8073e02: b2db uxtb r3, r3 8073e04: 2b00 cmp r3, #0 8073e06: d005 beq.n 8073e14 DrawImage(&bmVIB_STOP_ENG, 0, 211); 8073e08: 22d3 movs r2, #211 ; 0xd3 8073e0a: 2100 movs r1, #0 8073e0c: 4875 ldr r0, [pc, #468] ; (8073fe4 ) 8073e0e: f7e2 f8f1 bl 8055ff4 8073e12: e004 b.n 8073e1e else DrawImage(&bmVIB_PLAY_ENG, 0, 211); 8073e14: 22d3 movs r2, #211 ; 0xd3 8073e16: 2100 movs r1, #0 8073e18: 4873 ldr r0, [pc, #460] ; (8073fe8 ) 8073e1a: f7e2 f8eb bl 8055ff4 } DrawImage(&bmVIB_SAVE_LIGHT, 256, 211); 8073e1e: 22d3 movs r2, #211 ; 0xd3 8073e20: f44f 7180 mov.w r1, #256 ; 0x100 8073e24: 4871 ldr r0, [pc, #452] ; (8073fec ) 8073e26: f7e2 f8e5 bl 8055ff4 break; 8073e2a: e111 b.n 8074050 case MyPoint: if(pardata.LANG == RUS) 8073e2c: 4b5d ldr r3, [pc, #372] ; (8073fa4 ) 8073e2e: 7b1b ldrb r3, [r3, #12] 8073e30: b2db uxtb r3, r3 8073e32: 2b00 cmp r3, #0 8073e34: d11f bne.n 8073e76 { DrawImage(&bmVIB_LOG, 64, 211); 8073e36: 22d3 movs r2, #211 ; 0xd3 8073e38: 2140 movs r1, #64 ; 0x40 8073e3a: 485b ldr r0, [pc, #364] ; (8073fa8 ) 8073e3c: f7e2 f8da bl 8055ff4 DrawImage(&bmVIB_POINT_LIGHT, 128, 211); 8073e40: 22d3 movs r2, #211 ; 0xd3 8073e42: 2180 movs r1, #128 ; 0x80 8073e44: 486a ldr r0, [pc, #424] ; (8073ff0 ) 8073e46: f7e2 f8d5 bl 8055ff4 DrawImage(&bmVIB_MEAS, 192, 211); 8073e4a: 22d3 movs r2, #211 ; 0xd3 8073e4c: 21c0 movs r1, #192 ; 0xc0 8073e4e: 4858 ldr r0, [pc, #352] ; (8073fb0 ) 8073e50: f7e2 f8d0 bl 8055ff4 if(measuring) 8073e54: 4b59 ldr r3, [pc, #356] ; (8073fbc ) 8073e56: 781b ldrb r3, [r3, #0] 8073e58: b2db uxtb r3, r3 8073e5a: 2b00 cmp r3, #0 8073e5c: d005 beq.n 8073e6a DrawImage(&bmVIB_STOP, 0, 211); 8073e5e: 22d3 movs r2, #211 ; 0xd3 8073e60: 2100 movs r1, #0 8073e62: 485e ldr r0, [pc, #376] ; (8073fdc ) 8073e64: f7e2 f8c6 bl 8055ff4 8073e68: e024 b.n 8073eb4 else DrawImage(&bmVIB_PLAY, 0, 211); 8073e6a: 22d3 movs r2, #211 ; 0xd3 8073e6c: 2100 movs r1, #0 8073e6e: 485c ldr r0, [pc, #368] ; (8073fe0 ) 8073e70: f7e2 f8c0 bl 8055ff4 8073e74: e01e b.n 8073eb4 } else { DrawImage(&bmVIB_LOG_ENG, 64, 211); 8073e76: 22d3 movs r2, #211 ; 0xd3 8073e78: 2140 movs r1, #64 ; 0x40 8073e7a: 4852 ldr r0, [pc, #328] ; (8073fc4 ) 8073e7c: f7e2 f8ba bl 8055ff4 DrawImage(&bmVIB_POINT_LIGHT_ENG, 128, 211); 8073e80: 22d3 movs r2, #211 ; 0xd3 8073e82: 2180 movs r1, #128 ; 0x80 8073e84: 485b ldr r0, [pc, #364] ; (8073ff4 ) 8073e86: f7e2 f8b5 bl 8055ff4 DrawImage(&bmVIB_MEAS_ENG, 192, 211); 8073e8a: 22d3 movs r2, #211 ; 0xd3 8073e8c: 21c0 movs r1, #192 ; 0xc0 8073e8e: 484f ldr r0, [pc, #316] ; (8073fcc ) 8073e90: f7e2 f8b0 bl 8055ff4 if(measuring) 8073e94: 4b49 ldr r3, [pc, #292] ; (8073fbc ) 8073e96: 781b ldrb r3, [r3, #0] 8073e98: b2db uxtb r3, r3 8073e9a: 2b00 cmp r3, #0 8073e9c: d005 beq.n 8073eaa DrawImage(&bmVIB_STOP_ENG, 0, 211); 8073e9e: 22d3 movs r2, #211 ; 0xd3 8073ea0: 2100 movs r1, #0 8073ea2: 4850 ldr r0, [pc, #320] ; (8073fe4 ) 8073ea4: f7e2 f8a6 bl 8055ff4 8073ea8: e004 b.n 8073eb4 else DrawImage(&bmVIB_PLAY_ENG, 0, 211); 8073eaa: 22d3 movs r2, #211 ; 0xd3 8073eac: 2100 movs r1, #0 8073eae: 484e ldr r0, [pc, #312] ; (8073fe8 ) 8073eb0: f7e2 f8a0 bl 8055ff4 } DrawImage(&bmVIB_SAVE, 256, 211); 8073eb4: 22d3 movs r2, #211 ; 0xd3 8073eb6: f44f 7180 mov.w r1, #256 ; 0x100 8073eba: 4847 ldr r0, [pc, #284] ; (8073fd8 ) 8073ebc: f7e2 f89a bl 8055ff4 break; 8073ec0: e0c6 b.n 8074050 case MyMeasure: if(pardata.LANG == RUS) 8073ec2: 4b38 ldr r3, [pc, #224] ; (8073fa4 ) 8073ec4: 7b1b ldrb r3, [r3, #12] 8073ec6: b2db uxtb r3, r3 8073ec8: 2b00 cmp r3, #0 8073eca: d11f bne.n 8073f0c { DrawImage(&bmVIB_LOG, 64, 211); 8073ecc: 22d3 movs r2, #211 ; 0xd3 8073ece: 2140 movs r1, #64 ; 0x40 8073ed0: 4835 ldr r0, [pc, #212] ; (8073fa8 ) 8073ed2: f7e2 f88f bl 8055ff4 DrawImage(&bmVIB_POINT, 128, 211); 8073ed6: 22d3 movs r2, #211 ; 0xd3 8073ed8: 2180 movs r1, #128 ; 0x80 8073eda: 4834 ldr r0, [pc, #208] ; (8073fac ) 8073edc: f7e2 f88a bl 8055ff4 DrawImage(&bmVIB_MEAS_LIGHT, 192, 211); 8073ee0: 22d3 movs r2, #211 ; 0xd3 8073ee2: 21c0 movs r1, #192 ; 0xc0 8073ee4: 4844 ldr r0, [pc, #272] ; (8073ff8 ) 8073ee6: f7e2 f885 bl 8055ff4 if(measuring) 8073eea: 4b34 ldr r3, [pc, #208] ; (8073fbc ) 8073eec: 781b ldrb r3, [r3, #0] 8073eee: b2db uxtb r3, r3 8073ef0: 2b00 cmp r3, #0 8073ef2: d005 beq.n 8073f00 DrawImage(&bmVIB_STOP, 0, 211); 8073ef4: 22d3 movs r2, #211 ; 0xd3 8073ef6: 2100 movs r1, #0 8073ef8: 4838 ldr r0, [pc, #224] ; (8073fdc ) 8073efa: f7e2 f87b bl 8055ff4 8073efe: e024 b.n 8073f4a else DrawImage(&bmVIB_PLAY, 0, 211); 8073f00: 22d3 movs r2, #211 ; 0xd3 8073f02: 2100 movs r1, #0 8073f04: 4836 ldr r0, [pc, #216] ; (8073fe0 ) 8073f06: f7e2 f875 bl 8055ff4 8073f0a: e01e b.n 8073f4a } else { DrawImage(&bmVIB_LOG_ENG, 64, 211); 8073f0c: 22d3 movs r2, #211 ; 0xd3 8073f0e: 2140 movs r1, #64 ; 0x40 8073f10: 482c ldr r0, [pc, #176] ; (8073fc4 ) 8073f12: f7e2 f86f bl 8055ff4 DrawImage(&bmVIB_POINT_ENG, 128, 211); 8073f16: 22d3 movs r2, #211 ; 0xd3 8073f18: 2180 movs r1, #128 ; 0x80 8073f1a: 482b ldr r0, [pc, #172] ; (8073fc8 ) 8073f1c: f7e2 f86a bl 8055ff4 DrawImage(&bmVIB_MEAS_LIGHT_ENG, 192, 211); 8073f20: 22d3 movs r2, #211 ; 0xd3 8073f22: 21c0 movs r1, #192 ; 0xc0 8073f24: 4835 ldr r0, [pc, #212] ; (8073ffc ) 8073f26: f7e2 f865 bl 8055ff4 if(measuring) 8073f2a: 4b24 ldr r3, [pc, #144] ; (8073fbc ) 8073f2c: 781b ldrb r3, [r3, #0] 8073f2e: b2db uxtb r3, r3 8073f30: 2b00 cmp r3, #0 8073f32: d005 beq.n 8073f40 DrawImage(&bmVIB_STOP_ENG, 0, 211); 8073f34: 22d3 movs r2, #211 ; 0xd3 8073f36: 2100 movs r1, #0 8073f38: 482a ldr r0, [pc, #168] ; (8073fe4 ) 8073f3a: f7e2 f85b bl 8055ff4 8073f3e: e004 b.n 8073f4a else DrawImage(&bmVIB_PLAY_ENG, 0, 211); 8073f40: 22d3 movs r2, #211 ; 0xd3 8073f42: 2100 movs r1, #0 8073f44: 4828 ldr r0, [pc, #160] ; (8073fe8 ) 8073f46: f7e2 f855 bl 8055ff4 } DrawImage(&bmVIB_SAVE, 256, 211); 8073f4a: 22d3 movs r2, #211 ; 0xd3 8073f4c: f44f 7180 mov.w r1, #256 ; 0x100 8073f50: 4821 ldr r0, [pc, #132] ; (8073fd8 ) 8073f52: f7e2 f84f bl 8055ff4 break; 8073f56: e07b b.n 8074050 case MyLinLog: if(pardata.LANG == RUS) 8073f58: 4b12 ldr r3, [pc, #72] ; (8073fa4 ) 8073f5a: 7b1b ldrb r3, [r3, #12] 8073f5c: b2db uxtb r3, r3 8073f5e: 2b00 cmp r3, #0 8073f60: d150 bne.n 8074004 { DrawImage(&bmVIB_LOG_LIGHT, 64, 211); 8073f62: 22d3 movs r2, #211 ; 0xd3 8073f64: 2140 movs r1, #64 ; 0x40 8073f66: 4826 ldr r0, [pc, #152] ; (8074000 ) 8073f68: f7e2 f844 bl 8055ff4 DrawImage(&bmVIB_POINT, 128, 211); 8073f6c: 22d3 movs r2, #211 ; 0xd3 8073f6e: 2180 movs r1, #128 ; 0x80 8073f70: 480e ldr r0, [pc, #56] ; (8073fac ) 8073f72: f7e2 f83f bl 8055ff4 DrawImage(&bmVIB_MEAS, 192, 211); 8073f76: 22d3 movs r2, #211 ; 0xd3 8073f78: 21c0 movs r1, #192 ; 0xc0 8073f7a: 480d ldr r0, [pc, #52] ; (8073fb0 ) 8073f7c: f7e2 f83a bl 8055ff4 if(measuring) 8073f80: 4b0e ldr r3, [pc, #56] ; (8073fbc ) 8073f82: 781b ldrb r3, [r3, #0] 8073f84: b2db uxtb r3, r3 8073f86: 2b00 cmp r3, #0 8073f88: d005 beq.n 8073f96 DrawImage(&bmVIB_STOP, 0, 211); 8073f8a: 22d3 movs r2, #211 ; 0xd3 8073f8c: 2100 movs r1, #0 8073f8e: 4813 ldr r0, [pc, #76] ; (8073fdc ) 8073f90: f7e2 f830 bl 8055ff4 8073f94: e055 b.n 8074042 else DrawImage(&bmVIB_PLAY, 0, 211); 8073f96: 22d3 movs r2, #211 ; 0xd3 8073f98: 2100 movs r1, #0 8073f9a: 4811 ldr r0, [pc, #68] ; (8073fe0 ) 8073f9c: f7e2 f82a bl 8055ff4 8073fa0: e04f b.n 8074042 8073fa2: bf00 nop 8073fa4: 20023eb8 .word 0x20023eb8 8073fa8: 08151b80 .word 0x08151b80 8073fac: 0815be10 .word 0x0815be10 8073fb0: 081551b0 .word 0x081551b0 8073fb4: 20020fca .word 0x20020fca 8073fb8: 0815a2f8 .word 0x0815a2f8 8073fbc: 20020dcf .word 0x20020dcf 8073fc0: 08162a70 .word 0x08162a70 8073fc4: 0815290c .word 0x0815290c 8073fc8: 0815cb9c .word 0x0815cb9c 8073fcc: 08155f3c .word 0x08155f3c 8073fd0: 0815b084 .word 0x0815b084 8073fd4: 081637fc .word 0x081637fc 8073fd8: 0815f440 .word 0x0815f440 8073fdc: 08160f58 .word 0x08160f58 8073fe0: 081587e0 .word 0x081587e0 8073fe4: 08161ce4 .word 0x08161ce4 8073fe8: 0815956c .word 0x0815956c 8073fec: 081601cc .word 0x081601cc 8073ff0: 0815d928 .word 0x0815d928 8073ff4: 0815e6b4 .word 0x0815e6b4 8073ff8: 08156cc8 .word 0x08156cc8 8073ffc: 08157a54 .word 0x08157a54 8074000: 08153698 .word 0x08153698 } else { DrawImage(&bmVIB_LOG_LIGHT_ENG, 64, 211); 8074004: 22d3 movs r2, #211 ; 0xd3 8074006: 2140 movs r1, #64 ; 0x40 8074008: 48be ldr r0, [pc, #760] ; (8074304 ) 807400a: f7e1 fff3 bl 8055ff4 DrawImage(&bmVIB_POINT_ENG, 128, 211); 807400e: 22d3 movs r2, #211 ; 0xd3 8074010: 2180 movs r1, #128 ; 0x80 8074012: 48bd ldr r0, [pc, #756] ; (8074308 ) 8074014: f7e1 ffee bl 8055ff4 DrawImage(&bmVIB_MEAS_ENG, 192, 211); 8074018: 22d3 movs r2, #211 ; 0xd3 807401a: 21c0 movs r1, #192 ; 0xc0 807401c: 48bb ldr r0, [pc, #748] ; (807430c ) 807401e: f7e1 ffe9 bl 8055ff4 if(measuring) 8074022: 4bbb ldr r3, [pc, #748] ; (8074310 ) 8074024: 781b ldrb r3, [r3, #0] 8074026: b2db uxtb r3, r3 8074028: 2b00 cmp r3, #0 807402a: d005 beq.n 8074038 DrawImage(&bmVIB_STOP_ENG, 0, 211); 807402c: 22d3 movs r2, #211 ; 0xd3 807402e: 2100 movs r1, #0 8074030: 48b8 ldr r0, [pc, #736] ; (8074314 ) 8074032: f7e1 ffdf bl 8055ff4 8074036: e004 b.n 8074042 else DrawImage(&bmVIB_PLAY_ENG, 0, 211); 8074038: 22d3 movs r2, #211 ; 0xd3 807403a: 2100 movs r1, #0 807403c: 48b6 ldr r0, [pc, #728] ; (8074318 ) 807403e: f7e1 ffd9 bl 8055ff4 } DrawImage(&bmVIB_SAVE, 256, 211); 8074042: 22d3 movs r2, #211 ; 0xd3 8074044: f44f 7180 mov.w r1, #256 ; 0x100 8074048: 48b4 ldr r0, [pc, #720] ; (807431c ) 807404a: f7e1 ffd3 bl 8055ff4 break; 807404e: bf00 nop } BSP_LCD_SetFont(&Font15); 8074050: 48b3 ldr r0, [pc, #716] ; (8074320 ) 8074052: f7e1 f917 bl 8055284 if(strcmp(MeasFileName, "") != 0) 8074056: 4bb3 ldr r3, [pc, #716] ; (8074324 ) 8074058: 781b ldrb r3, [r3, #0] 807405a: 2b00 cmp r3, #0 807405c: f000 8147 beq.w 80742ee { BSP_LCD_SetFont(&Font12); 8074060: 48b1 ldr r0, [pc, #708] ; (8074328 ) 8074062: f7e1 f90f bl 8055284 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8074066: 49b1 ldr r1, [pc, #708] ; (807432c ) 8074068: 48b1 ldr r0, [pc, #708] ; (8074330 ) 807406a: f7e1 f8cf bl 805520c if(pardata.LANG == RUS) 807406e: 4bb1 ldr r3, [pc, #708] ; (8074334 ) 8074070: 7b1b ldrb r3, [r3, #12] 8074072: b2db uxtb r3, r3 8074074: 2b00 cmp r3, #0 8074076: d115 bne.n 80740a4 { BSP_LCD_DisplayStringAt(4, 35, "ÔÀÉË:", LEFT_MODE); 8074078: 2303 movs r3, #3 807407a: 4aaf ldr r2, [pc, #700] ; (8074338 ) 807407c: 2123 movs r1, #35 ; 0x23 807407e: 2004 movs r0, #4 8074080: f7e1 f98a bl 8055398 if((NEWFILE) && (strlen(Comment))) 8074084: 4bad ldr r3, [pc, #692] ; (807433c ) 8074086: 781b ldrb r3, [r3, #0] 8074088: b2db uxtb r3, r3 807408a: 2b00 cmp r3, #0 807408c: d01f beq.n 80740ce 807408e: 4bac ldr r3, [pc, #688] ; (8074340 ) 8074090: 781b ldrb r3, [r3, #0] 8074092: 2b00 cmp r3, #0 8074094: d01b beq.n 80740ce BSP_LCD_DisplayStringAt(4, 49, "ÒÎ×ÊÀ:", LEFT_MODE); 8074096: 2303 movs r3, #3 8074098: 4aaa ldr r2, [pc, #680] ; (8074344 ) 807409a: 2131 movs r1, #49 ; 0x31 807409c: 2004 movs r0, #4 807409e: f7e1 f97b bl 8055398 80740a2: e014 b.n 80740ce } else { BSP_LCD_DisplayStringAt(4, 35, "FILE:", LEFT_MODE); 80740a4: 2303 movs r3, #3 80740a6: 4aa8 ldr r2, [pc, #672] ; (8074348 ) 80740a8: 2123 movs r1, #35 ; 0x23 80740aa: 2004 movs r0, #4 80740ac: f7e1 f974 bl 8055398 if((NEWFILE) && (strlen(Comment))) 80740b0: 4ba2 ldr r3, [pc, #648] ; (807433c ) 80740b2: 781b ldrb r3, [r3, #0] 80740b4: b2db uxtb r3, r3 80740b6: 2b00 cmp r3, #0 80740b8: d009 beq.n 80740ce 80740ba: 4ba1 ldr r3, [pc, #644] ; (8074340 ) 80740bc: 781b ldrb r3, [r3, #0] 80740be: 2b00 cmp r3, #0 80740c0: d005 beq.n 80740ce BSP_LCD_DisplayStringAt(4, 49, "POINT:", LEFT_MODE); 80740c2: 2303 movs r3, #3 80740c4: 4aa1 ldr r2, [pc, #644] ; (807434c ) 80740c6: 2131 movs r1, #49 ; 0x31 80740c8: 2004 movs r0, #4 80740ca: f7e1 f965 bl 8055398 } memset(str, 0, sizeof(str)); 80740ce: f507 733b add.w r3, r7, #748 ; 0x2ec 80740d2: 223c movs r2, #60 ; 0x3c 80740d4: 2100 movs r1, #0 80740d6: 4618 mov r0, r3 80740d8: f05d ff64 bl 80d1fa4 strcpy(str, MeasFileName); 80740dc: f507 733b add.w r3, r7, #748 ; 0x2ec 80740e0: 4990 ldr r1, [pc, #576] ; (8074324 ) 80740e2: 4618 mov r0, r3 80740e4: f05e f87b bl 80d21de l = strlen(str); 80740e8: f507 733b add.w r3, r7, #748 ; 0x2ec 80740ec: 4618 mov r0, r3 80740ee: f7ac f911 bl 8020314 80740f2: 4603 mov r3, r0 80740f4: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l - 4] = '\0'; 80740f8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80740fc: 3b04 subs r3, #4 80740fe: f507 723b add.w r2, r7, #748 ; 0x2ec 8074102: 2100 movs r1, #0 8074104: 54d1 strb r1, [r2, r3] BSP_LCD_SetFont(&Font12); 8074106: 4888 ldr r0, [pc, #544] ; (8074328 ) 8074108: f7e1 f8bc bl 8055284 LCD_SetColors(LCD_COLOR_LIGHTGREEN, LCD_COLOR_BLACK); 807410c: 4987 ldr r1, [pc, #540] ; (807432c ) 807410e: f06f 107f mvn.w r0, #8323199 ; 0x7f007f 8074112: f7e1 f87b bl 805520c BSP_LCD_DisplayStringAt(46, 35, str, LEFT_MODE); 8074116: f507 723b add.w r2, r7, #748 ; 0x2ec 807411a: 2303 movs r3, #3 807411c: 2123 movs r1, #35 ; 0x23 807411e: 202e movs r0, #46 ; 0x2e 8074120: f7e1 f93a bl 8055398 if((NEWFILE) && (strlen(Comment))) 8074124: 4b85 ldr r3, [pc, #532] ; (807433c ) 8074126: 781b ldrb r3, [r3, #0] 8074128: b2db uxtb r3, r3 807412a: 2b00 cmp r3, #0 807412c: d02c beq.n 8074188 807412e: 4b84 ldr r3, [pc, #528] ; (8074340 ) 8074130: 781b ldrb r3, [r3, #0] 8074132: 2b00 cmp r3, #0 8074134: d028 beq.n 8074188 { LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 8074136: 497d ldr r1, [pc, #500] ; (807432c ) 8074138: 4885 ldr r0, [pc, #532] ; (8074350 ) 807413a: f7e1 f867 bl 805520c BSP_LCD_SetFont(&Font12); 807413e: 487a ldr r0, [pc, #488] ; (8074328 ) 8074140: f7e1 f8a0 bl 8055284 memset(str, 0, sizeof(str)); 8074144: f507 733b add.w r3, r7, #748 ; 0x2ec 8074148: 223c movs r2, #60 ; 0x3c 807414a: 2100 movs r1, #0 807414c: 4618 mov r0, r3 807414e: f05d ff29 bl 80d1fa4 str[0] = '"'; 8074152: f507 733b add.w r3, r7, #748 ; 0x2ec 8074156: 2222 movs r2, #34 ; 0x22 8074158: 701a strb r2, [r3, #0] strcat(str, Comment); 807415a: f507 733b add.w r3, r7, #748 ; 0x2ec 807415e: 4978 ldr r1, [pc, #480] ; (8074340 ) 8074160: 4618 mov r0, r3 8074162: f05e f81f bl 80d21a4 str[strlen(str)] = '"'; 8074166: f507 733b add.w r3, r7, #748 ; 0x2ec 807416a: 4618 mov r0, r3 807416c: f7ac f8d2 bl 8020314 8074170: 4602 mov r2, r0 8074172: f507 733b add.w r3, r7, #748 ; 0x2ec 8074176: 2122 movs r1, #34 ; 0x22 8074178: 5499 strb r1, [r3, r2] BSP_LCD_DisplayStringAt(46, 49, str, LEFT_MODE); 807417a: f507 723b add.w r2, r7, #748 ; 0x2ec 807417e: 2303 movs r3, #3 8074180: 2131 movs r1, #49 ; 0x31 8074182: 202e movs r0, #46 ; 0x2e 8074184: f7e1 f908 bl 8055398 } BSP_LCD_SetFont(&Font15); 8074188: 4865 ldr r0, [pc, #404] ; (8074320 ) 807418a: f7e1 f87b bl 8055284 memset(str, 0, sizeof(str)); 807418e: f507 733b add.w r3, r7, #748 ; 0x2ec 8074192: 223c movs r2, #60 ; 0x3c 8074194: 2100 movs r1, #0 8074196: 4618 mov r0, r3 8074198: f05d ff04 bl 80d1fa4 str[0] = ((NextIndexPoint + 1) / 100) + 48; 807419c: 4b6d ldr r3, [pc, #436] ; (8074354 ) 807419e: 681b ldr r3, [r3, #0] 80741a0: 3301 adds r3, #1 80741a2: 4a6d ldr r2, [pc, #436] ; (8074358 ) 80741a4: fba2 2303 umull r2, r3, r2, r3 80741a8: 095b lsrs r3, r3, #5 80741aa: b2db uxtb r3, r3 80741ac: 3330 adds r3, #48 ; 0x30 80741ae: b2da uxtb r2, r3 80741b0: f507 733b add.w r3, r7, #748 ; 0x2ec 80741b4: 701a strb r2, [r3, #0] str[1] = ((NextIndexPoint + 1) % 100 / 10) + 48; 80741b6: 4b67 ldr r3, [pc, #412] ; (8074354 ) 80741b8: 681b ldr r3, [r3, #0] 80741ba: 1c5a adds r2, r3, #1 80741bc: 4b66 ldr r3, [pc, #408] ; (8074358 ) 80741be: fba3 1302 umull r1, r3, r3, r2 80741c2: 095b lsrs r3, r3, #5 80741c4: 2164 movs r1, #100 ; 0x64 80741c6: fb01 f303 mul.w r3, r1, r3 80741ca: 1ad3 subs r3, r2, r3 80741cc: 4a63 ldr r2, [pc, #396] ; (807435c ) 80741ce: fba2 2303 umull r2, r3, r2, r3 80741d2: 08db lsrs r3, r3, #3 80741d4: b2db uxtb r3, r3 80741d6: 3330 adds r3, #48 ; 0x30 80741d8: b2da uxtb r2, r3 80741da: f507 733b add.w r3, r7, #748 ; 0x2ec 80741de: 705a strb r2, [r3, #1] str[2] = ((NextIndexPoint + 1) % 100 % 10) + 48; 80741e0: 4b5c ldr r3, [pc, #368] ; (8074354 ) 80741e2: 681b ldr r3, [r3, #0] 80741e4: 3301 adds r3, #1 80741e6: 4a5c ldr r2, [pc, #368] ; (8074358 ) 80741e8: fba2 1203 umull r1, r2, r2, r3 80741ec: 0952 lsrs r2, r2, #5 80741ee: 2164 movs r1, #100 ; 0x64 80741f0: fb01 f202 mul.w r2, r1, r2 80741f4: 1a9a subs r2, r3, r2 80741f6: 4b59 ldr r3, [pc, #356] ; (807435c ) 80741f8: fba3 1302 umull r1, r3, r3, r2 80741fc: 08d9 lsrs r1, r3, #3 80741fe: 460b mov r3, r1 8074200: 009b lsls r3, r3, #2 8074202: 440b add r3, r1 8074204: 005b lsls r3, r3, #1 8074206: 1ad1 subs r1, r2, r3 8074208: b2cb uxtb r3, r1 807420a: 3330 adds r3, #48 ; 0x30 807420c: b2da uxtb r2, r3 807420e: f507 733b add.w r3, r7, #748 ; 0x2ec 8074212: 709a strb r2, [r3, #2] if(menupos == MyPoint) 8074214: 4b52 ldr r3, [pc, #328] ; (8074360 ) 8074216: 781b ldrb r3, [r3, #0] 8074218: b2db uxtb r3, r3 807421a: 2b03 cmp r3, #3 807421c: d104 bne.n 8074228 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 807421e: 4943 ldr r1, [pc, #268] ; (807432c ) 8074220: 4850 ldr r0, [pc, #320] ; (8074364 ) 8074222: f7e0 fff3 bl 805520c 8074226: e004 b.n 8074232 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074228: 4940 ldr r1, [pc, #256] ; (807432c ) 807422a: f04f 30ff mov.w r0, #4294967295 807422e: f7e0 ffed bl 805520c BSP_LCD_DisplayStringAt(192-13, 218, str, RIGHT_MODE); 8074232: f507 723b add.w r2, r7, #748 ; 0x2ec 8074236: 2302 movs r3, #2 8074238: 21da movs r1, #218 ; 0xda 807423a: 20b3 movs r0, #179 ; 0xb3 807423c: f7e1 f8ac bl 8055398 memset(str, 0, sizeof(str)); 8074240: f507 733b add.w r3, r7, #748 ; 0x2ec 8074244: 223c movs r2, #60 ; 0x3c 8074246: 2100 movs r1, #0 8074248: 4618 mov r0, r3 807424a: f05d feab bl 80d1fa4 str[0] = (NextIndexMeas / 100) + 48; 807424e: 4b46 ldr r3, [pc, #280] ; (8074368 ) 8074250: 681b ldr r3, [r3, #0] 8074252: 4a41 ldr r2, [pc, #260] ; (8074358 ) 8074254: fba2 2303 umull r2, r3, r2, r3 8074258: 095b lsrs r3, r3, #5 807425a: b2db uxtb r3, r3 807425c: 3330 adds r3, #48 ; 0x30 807425e: b2da uxtb r2, r3 8074260: f507 733b add.w r3, r7, #748 ; 0x2ec 8074264: 701a strb r2, [r3, #0] str[1] = (NextIndexMeas % 100 / 10) + 48; 8074266: 4b40 ldr r3, [pc, #256] ; (8074368 ) 8074268: 681a ldr r2, [r3, #0] 807426a: 4b3b ldr r3, [pc, #236] ; (8074358 ) 807426c: fba3 1302 umull r1, r3, r3, r2 8074270: 095b lsrs r3, r3, #5 8074272: 2164 movs r1, #100 ; 0x64 8074274: fb01 f303 mul.w r3, r1, r3 8074278: 1ad3 subs r3, r2, r3 807427a: 4a38 ldr r2, [pc, #224] ; (807435c ) 807427c: fba2 2303 umull r2, r3, r2, r3 8074280: 08db lsrs r3, r3, #3 8074282: b2db uxtb r3, r3 8074284: 3330 adds r3, #48 ; 0x30 8074286: b2da uxtb r2, r3 8074288: f507 733b add.w r3, r7, #748 ; 0x2ec 807428c: 705a strb r2, [r3, #1] str[2] = (NextIndexMeas % 100 % 10) + 48; 807428e: 4b36 ldr r3, [pc, #216] ; (8074368 ) 8074290: 681b ldr r3, [r3, #0] 8074292: 4a31 ldr r2, [pc, #196] ; (8074358 ) 8074294: fba2 1203 umull r1, r2, r2, r3 8074298: 0952 lsrs r2, r2, #5 807429a: 2164 movs r1, #100 ; 0x64 807429c: fb01 f202 mul.w r2, r1, r2 80742a0: 1a9a subs r2, r3, r2 80742a2: 4b2e ldr r3, [pc, #184] ; (807435c ) 80742a4: fba3 1302 umull r1, r3, r3, r2 80742a8: 08d9 lsrs r1, r3, #3 80742aa: 460b mov r3, r1 80742ac: 009b lsls r3, r3, #2 80742ae: 440b add r3, r1 80742b0: 005b lsls r3, r3, #1 80742b2: 1ad1 subs r1, r2, r3 80742b4: b2cb uxtb r3, r1 80742b6: 3330 adds r3, #48 ; 0x30 80742b8: b2da uxtb r2, r3 80742ba: f507 733b add.w r3, r7, #748 ; 0x2ec 80742be: 709a strb r2, [r3, #2] if(menupos == MyMeasure) 80742c0: 4b27 ldr r3, [pc, #156] ; (8074360 ) 80742c2: 781b ldrb r3, [r3, #0] 80742c4: b2db uxtb r3, r3 80742c6: 2b04 cmp r3, #4 80742c8: d104 bne.n 80742d4 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 80742ca: 4918 ldr r1, [pc, #96] ; (807432c ) 80742cc: 4825 ldr r0, [pc, #148] ; (8074364 ) 80742ce: f7e0 ff9d bl 805520c 80742d2: e004 b.n 80742de else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80742d4: 4915 ldr r1, [pc, #84] ; (807432c ) 80742d6: f04f 30ff mov.w r0, #4294967295 80742da: f7e0 ff97 bl 805520c BSP_LCD_DisplayStringAt(256-13, 218, str, RIGHT_MODE); 80742de: f507 723b add.w r2, r7, #748 ; 0x2ec 80742e2: 2302 movs r3, #2 80742e4: 21da movs r1, #218 ; 0xda 80742e6: 20f3 movs r0, #243 ; 0xf3 80742e8: f7e1 f856 bl 8055398 80742ec: e05e b.n 80743ac } else { if(menupos == MyPoint) 80742ee: 4b1c ldr r3, [pc, #112] ; (8074360 ) 80742f0: 781b ldrb r3, [r3, #0] 80742f2: b2db uxtb r3, r3 80742f4: 2b03 cmp r3, #3 80742f6: d139 bne.n 807436c LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 80742f8: 490c ldr r1, [pc, #48] ; (807432c ) 80742fa: 481a ldr r0, [pc, #104] ; (8074364 ) 80742fc: f7e0 ff86 bl 805520c 8074300: e039 b.n 8074376 8074302: bf00 nop 8074304: 08154424 .word 0x08154424 8074308: 0815cb9c .word 0x0815cb9c 807430c: 08155f3c .word 0x08155f3c 8074310: 20020dcf .word 0x20020dcf 8074314: 08161ce4 .word 0x08161ce4 8074318: 0815956c .word 0x0815956c 807431c: 0815f440 .word 0x0815f440 8074320: 20020040 .word 0x20020040 8074324: 20020e80 .word 0x20020e80 8074328: 20020038 .word 0x20020038 807432c: ff0a0f1f .word 0xff0a0f1f 8074330: ff808080 .word 0xff808080 8074334: 20023eb8 .word 0x20023eb8 8074338: 080d6530 .word 0x080d6530 807433c: 20020e38 .word 0x20020e38 8074340: 200226a0 .word 0x200226a0 8074344: 080d6538 .word 0x080d6538 8074348: 080d6540 .word 0x080d6540 807434c: 080d6548 .word 0x080d6548 8074350: ffefcc95 .word 0xffefcc95 8074354: 20021fec .word 0x20021fec 8074358: 51eb851f .word 0x51eb851f 807435c: cccccccd .word 0xcccccccd 8074360: 20020070 .word 0x20020070 8074364: ff29eb19 .word 0xff29eb19 8074368: 20022360 .word 0x20022360 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807436c: 49ae ldr r1, [pc, #696] ; (8074628 ) 807436e: f04f 30ff mov.w r0, #4294967295 8074372: f7e0 ff4b bl 805520c BSP_LCD_DisplayStringAt(192-13, 218, "---", RIGHT_MODE); 8074376: 2302 movs r3, #2 8074378: 4aac ldr r2, [pc, #688] ; (807462c ) 807437a: 21da movs r1, #218 ; 0xda 807437c: 20b3 movs r0, #179 ; 0xb3 807437e: f7e1 f80b bl 8055398 if(menupos == MyMeasure) 8074382: 4bab ldr r3, [pc, #684] ; (8074630 ) 8074384: 781b ldrb r3, [r3, #0] 8074386: b2db uxtb r3, r3 8074388: 2b04 cmp r3, #4 807438a: d104 bne.n 8074396 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 807438c: 49a6 ldr r1, [pc, #664] ; (8074628 ) 807438e: 48a9 ldr r0, [pc, #676] ; (8074634 ) 8074390: f7e0 ff3c bl 805520c 8074394: e004 b.n 80743a0 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074396: 49a4 ldr r1, [pc, #656] ; (8074628 ) 8074398: f04f 30ff mov.w r0, #4294967295 807439c: f7e0 ff36 bl 805520c BSP_LCD_DisplayStringAt(256-13, 218, "---", RIGHT_MODE); 80743a0: 2302 movs r3, #2 80743a2: 4aa2 ldr r2, [pc, #648] ; (807462c ) 80743a4: 21da movs r1, #218 ; 0xda 80743a6: 20f3 movs r0, #243 ; 0xf3 80743a8: f7e0 fff6 bl 8055398 } //******************************************************************************************** //******************************************************************************************** RedrawNums(); 80743ac: f026 f836 bl 809a41c //******************************************************************************************** //******************************************************************************************** break; 80743b0: f024 bf3c b.w 809922c case MAIN_ROLL: DrawLegend(); 80743b4: f03d fb92 bl 80b1adc DrawButtons(menupos); 80743b8: 4b9d ldr r3, [pc, #628] ; (8074630 ) 80743ba: 781b ldrb r3, [r3, #0] 80743bc: b2db uxtb r3, r3 80743be: 4618 mov r0, r3 80743c0: f03c fe4a bl 80b1058 DrawMarkers(); 80743c4: f03c fc14 bl 80b0bf0 if(Stability > (Nr * 4)) 80743c8: 4b9b ldr r3, [pc, #620] ; (8074638 ) 80743ca: 881b ldrh r3, [r3, #0] 80743cc: b29b uxth r3, r3 80743ce: 009b lsls r3, r3, #2 80743d0: 461a mov r2, r3 80743d2: 4b9a ldr r3, [pc, #616] ; (807463c ) 80743d4: 681b ldr r3, [r3, #0] 80743d6: 429a cmp r2, r3 80743d8: d20a bcs.n 80743f0 { DrawGraph(); 80743da: f036 f821 bl 80aa420 if(SeeResults) 80743de: 4b98 ldr r3, [pc, #608] ; (8074640 ) 80743e0: 781b ldrb r3, [r3, #0] 80743e2: b2db uxtb r3, r3 80743e4: 2b00 cmp r3, #0 80743e6: d001 beq.n 80743ec DrawCursorData(); 80743e8: f031 f976 bl 80a56d8 DrawScaleValue(); 80743ec: f03b fee2 bl 80b01b4 } DrawAVS(); 80743f0: f03d fdd2 bl 80b1f98 if(measuring) 80743f4: 4b93 ldr r3, [pc, #588] ; (8074644 ) 80743f6: 781b ldrb r3, [r3, #0] 80743f8: b2db uxtb r3, r3 80743fa: 2b00 cmp r3, #0 80743fc: f024 86ed beq.w 80991da { if((Flag_Set_KU == 0) && (Stability > (Nr * 4)) && (NSamples >= 20)) 8074400: 4b91 ldr r3, [pc, #580] ; (8074648 ) 8074402: 781b ldrb r3, [r3, #0] 8074404: b2db uxtb r3, r3 8074406: 2b00 cmp r3, #0 8074408: f064 86e7 bne.w 80991da 807440c: 4b8a ldr r3, [pc, #552] ; (8074638 ) 807440e: 881b ldrh r3, [r3, #0] 8074410: b29b uxth r3, r3 8074412: 009b lsls r3, r3, #2 8074414: 461a mov r2, r3 8074416: 4b89 ldr r3, [pc, #548] ; (807463c ) 8074418: 681b ldr r3, [r3, #0] 807441a: 429a cmp r2, r3 807441c: f0a4 86dd bcs.w 80991da 8074420: 4b8a ldr r3, [pc, #552] ; (807464c ) 8074422: 681b ldr r3, [r3, #0] 8074424: 2b13 cmp r3, #19 8074426: f264 86d8 bls.w 80991da { uint16_t ww; LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807442a: 497f ldr r1, [pc, #508] ; (8074628 ) 807442c: f04f 30ff mov.w r0, #4294967295 8074430: f7e0 feec bl 805520c BSP_LCD_FillRect(126, 137, 127, 8); 8074434: 2308 movs r3, #8 8074436: 227f movs r2, #127 ; 0x7f 8074438: 2189 movs r1, #137 ; 0x89 807443a: 207e movs r0, #126 ; 0x7e 807443c: f7e1 fb74 bl 8055b28 f = (float32_t) MeanCnt / (float32_t) AVG[pardata.AVG]; 8074440: 4b83 ldr r3, [pc, #524] ; (8074650 ) 8074442: 681b ldr r3, [r3, #0] 8074444: ee07 3a90 vmov s15, r3 8074448: eef8 6a67 vcvt.f32.u32 s13, s15 807444c: 4b81 ldr r3, [pc, #516] ; (8074654 ) 807444e: 7b5b ldrb r3, [r3, #13] 8074450: b2db uxtb r3, r3 8074452: 461a mov r2, r3 8074454: 4b80 ldr r3, [pc, #512] ; (8074658 ) 8074456: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 807445a: ee07 3a90 vmov s15, r3 807445e: eeb8 7a67 vcvt.f32.u32 s14, s15 8074462: eec6 7a87 vdiv.f32 s15, s13, s14 8074466: f507 638b add.w r3, r7, #1112 ; 0x458 807446a: edc3 7a00 vstr s15, [r3] f *= 125.0f; 807446e: f507 638b add.w r3, r7, #1112 ; 0x458 8074472: edd3 7a00 vldr s15, [r3] 8074476: ed9f 7a79 vldr s14, [pc, #484] ; 807465c 807447a: ee67 7a87 vmul.f32 s15, s15, s14 807447e: f507 638b add.w r3, r7, #1112 ; 0x458 8074482: edc3 7a00 vstr s15, [r3] if(f < 1.0f) f = 1.0f; 8074486: f507 638b add.w r3, r7, #1112 ; 0x458 807448a: edd3 7a00 vldr s15, [r3] 807448e: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8074492: eef4 7ac7 vcmpe.f32 s15, s14 8074496: eef1 fa10 vmrs APSR_nzcv, fpscr 807449a: d504 bpl.n 80744a6 807449c: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 80744a0: f507 628b add.w r2, r7, #1112 ; 0x458 80744a4: 6013 str r3, [r2, #0] if(f > 125.0f) f = 125.0f; 80744a6: f507 638b add.w r3, r7, #1112 ; 0x458 80744aa: edd3 7a00 vldr s15, [r3] 80744ae: ed9f 7a6b vldr s14, [pc, #428] ; 807465c 80744b2: eef4 7ac7 vcmpe.f32 s15, s14 80744b6: eef1 fa10 vmrs APSR_nzcv, fpscr 80744ba: dd03 ble.n 80744c4 80744bc: 4b68 ldr r3, [pc, #416] ; (8074660 ) 80744be: f507 628b add.w r2, r7, #1112 ; 0x458 80744c2: 6013 str r3, [r2, #0] ww = (uint16_t) f; 80744c4: f507 638b add.w r3, r7, #1112 ; 0x458 80744c8: edd3 7a00 vldr s15, [r3] 80744cc: eefc 7ae7 vcvt.u32.f32 s15, s15 80744d0: edc7 7a01 vstr s15, [r7, #4] 80744d4: 88bb ldrh r3, [r7, #4] 80744d6: f8a7 3412 strh.w r3, [r7, #1042] ; 0x412 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80744da: 4953 ldr r1, [pc, #332] ; (8074628 ) 80744dc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80744e0: f7e0 fe94 bl 805520c BSP_LCD_FillRect(127, 138, ww, 6); 80744e4: f8b7 2412 ldrh.w r2, [r7, #1042] ; 0x412 80744e8: 2306 movs r3, #6 80744ea: 218a movs r1, #138 ; 0x8a 80744ec: 207f movs r0, #127 ; 0x7f 80744ee: f7e1 fb1b bl 8055b28 } } break; 80744f2: f024 be72 b.w 80991da case VIEW_PORTRET: DrawLegend(); 80744f6: f03d faf1 bl 80b1adc DrawButtons(menupos); 80744fa: 4b4d ldr r3, [pc, #308] ; (8074630 ) 80744fc: 781b ldrb r3, [r3, #0] 80744fe: b2db uxtb r3, r3 8074500: 4618 mov r0, r3 8074502: f03c fda9 bl 80b1058 DrawMarkers(); 8074506: f03c fb73 bl 80b0bf0 BSP_LCD_SetFont(&Font12); 807450a: 4856 ldr r0, [pc, #344] ; (8074664 ) 807450c: f7e0 feba bl 8055284 if(SeeResults) 8074510: 4b4b ldr r3, [pc, #300] ; (8074640 ) 8074512: 781b ldrb r3, [r3, #0] 8074514: b2db uxtb r3, r3 8074516: 2b00 cmp r3, #0 8074518: d003 beq.n 8074522 { DrawGraph(); 807451a: f035 ff81 bl 80aa420 DrawCursorData(); 807451e: f031 f8db bl 80a56d8 } DrawScaleValue(); 8074522: f03b fe47 bl 80b01b4 DrawAVS(); 8074526: f03d fd37 bl 80b1f98 BSP_LCD_SetFont(&Font12); 807452a: 484e ldr r0, [pc, #312] ; (8074664 ) 807452c: f7e0 feaa bl 8055284 break; 8074530: f024 be7c b.w 809922c * 10) Íåóðàâíîâåøåííîñòü ðîòîðà * 11) Äåôåêòû óçëîâ êðåïëåíèÿ * 12) Íåñîîñíîñòü */ DrawLegend(); 8074534: f03d fad2 bl 80b1adc DrawButtons(Results); 8074538: 2008 movs r0, #8 807453a: f03c fd8d bl 80b1058 DrawMarkers(); 807453e: f03c fb57 bl 80b0bf0 DrawGraph(); 8074542: f035 ff6d bl 80aa420 DrawCursorData(); 8074546: f031 f8c7 bl 80a56d8 DrawScaleValue(); 807454a: f03b fe33 bl 80b01b4 DrawAVS(); 807454e: f03d fd23 bl 80b1f98 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074552: 4935 ldr r1, [pc, #212] ; (8074628 ) 8074554: f04f 30ff mov.w r0, #4294967295 8074558: f7e0 fe58 bl 805520c BSP_LCD_FillRect(25+10, 41+10, 267, 154); 807455c: 239a movs r3, #154 ; 0x9a 807455e: f240 120b movw r2, #267 ; 0x10b 8074562: 2133 movs r1, #51 ; 0x33 8074564: 2023 movs r0, #35 ; 0x23 8074566: f7e1 fadf bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 807456a: 492f ldr r1, [pc, #188] ; (8074628 ) 807456c: 482e ldr r0, [pc, #184] ; (8074628 ) 807456e: f7e0 fe4d bl 805520c BSP_LCD_FillRect(27+10, 43+10, 263, 150); 8074572: 2396 movs r3, #150 ; 0x96 8074574: f240 1207 movw r2, #263 ; 0x107 8074578: 2135 movs r1, #53 ; 0x35 807457a: 2025 movs r0, #37 ; 0x25 807457c: f7e1 fad4 bl 8055b28 BSP_LCD_SetFont(&Font12); 8074580: 4838 ldr r0, [pc, #224] ; (8074664 ) 8074582: f7e0 fe7f bl 8055284 for(i = 0; i < NUM_DEFECTS; i++) 8074586: 2300 movs r3, #0 8074588: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 807458c: e045 b.n 807461a { if(i == menupos) 807458e: 4b28 ldr r3, [pc, #160] ; (8074630 ) 8074590: 781b ldrb r3, [r3, #0] 8074592: b2db uxtb r3, r3 8074594: 461a mov r2, r3 8074596: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807459a: 429a cmp r2, r3 807459c: d103 bne.n 80745a6 j = 0xFF9DAD8E; 807459e: 4b32 ldr r3, [pc, #200] ; (8074668 ) 80745a0: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 80745a4: e002 b.n 80745ac else j = LCD_COLOR_CLEAR; 80745a6: 4b20 ldr r3, [pc, #128] ; (8074628 ) 80745a8: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc if(DEFECTS[i]) 80745ac: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80745b0: 4a2e ldr r2, [pc, #184] ; (807466c ) 80745b2: 5cd3 ldrb r3, [r2, r3] 80745b4: b2db uxtb r3, r3 80745b6: 2b00 cmp r3, #0 80745b8: d006 beq.n 80745c8 LCD_SetColors(0xFFF42817, j); 80745ba: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 80745be: 4619 mov r1, r3 80745c0: 482b ldr r0, [pc, #172] ; (8074670 ) 80745c2: f7e0 fe23 bl 805520c 80745c6: e006 b.n 80745d6 else LCD_SetColors(LCD_COLOR_WHITE, j); 80745c8: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 80745cc: 4619 mov r1, r3 80745ce: f04f 30ff mov.w r0, #4294967295 80745d2: f7e0 fe1b bl 805520c BSP_LCD_DisplayStringAt(34+10, 46+10 + 12*i, (char *) DEFECTS_STRING[pardata.LANG][i], LEFT_MODE); 80745d6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80745da: b29b uxth r3, r3 80745dc: 461a mov r2, r3 80745de: 0052 lsls r2, r2, #1 80745e0: 4413 add r3, r2 80745e2: 009b lsls r3, r3, #2 80745e4: b29b uxth r3, r3 80745e6: 3338 adds r3, #56 ; 0x38 80745e8: b29c uxth r4, r3 80745ea: 4b1a ldr r3, [pc, #104] ; (8074654 ) 80745ec: 7b1b ldrb r3, [r3, #12] 80745ee: b2db uxtb r3, r3 80745f0: 4618 mov r0, r3 80745f2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80745f6: 491f ldr r1, [pc, #124] ; (8074674 ) 80745f8: 4603 mov r3, r0 80745fa: 005b lsls r3, r3, #1 80745fc: 4403 add r3, r0 80745fe: 009b lsls r3, r3, #2 8074600: 4413 add r3, r2 8074602: f851 2023 ldr.w r2, [r1, r3, lsl #2] 8074606: 2303 movs r3, #3 8074608: 4621 mov r1, r4 807460a: 202c movs r0, #44 ; 0x2c 807460c: f7e0 fec4 bl 8055398 for(i = 0; i < NUM_DEFECTS; i++) 8074610: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8074614: 3301 adds r3, #1 8074616: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 807461a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807461e: 2b0b cmp r3, #11 8074620: d9b5 bls.n 807458e } break; 8074622: f024 be03 b.w 809922c 8074626: bf00 nop 8074628: ff0a0f1f .word 0xff0a0f1f 807462c: 080d6550 .word 0x080d6550 8074630: 20020070 .word 0x20020070 8074634: ff29eb19 .word 0xff29eb19 8074638: 20021d70 .word 0x20021d70 807463c: 20020dc8 .word 0x20020dc8 8074640: 20020d88 .word 0x20020d88 8074644: 20020dcf .word 0x20020dcf 8074648: 20020d9e .word 0x20020d9e 807464c: 20020da8 .word 0x20020da8 8074650: 20020dd8 .word 0x20020dd8 8074654: 20023eb8 .word 0x20023eb8 8074658: 080f608c .word 0x080f608c 807465c: 42fa0000 .word 0x42fa0000 8074660: 42fa0000 .word 0x42fa0000 8074664: 20020038 .word 0x20020038 8074668: ff9dad8e .word 0xff9dad8e 807466c: 20026f70 .word 0x20026f70 8074670: fff42817 .word 0xfff42817 8074674: 20020624 .word 0x20020624 case MAIN_SPEC: case MAIN_SPEC_OGIB: ////////////////////////////////////////////////////////////////////////////////////////////// DrawLegend(); 8074678: f03d fa30 bl 80b1adc DrawButtons(menupos); 807467c: 4bab ldr r3, [pc, #684] ; (807492c ) 807467e: 781b ldrb r3, [r3, #0] 8074680: b2db uxtb r3, r3 8074682: 4618 mov r0, r3 8074684: f03c fce8 bl 80b1058 DrawMarkers(); 8074688: f03c fab2 bl 80b0bf0 if(Stability > (Nr * 4)) 807468c: 4ba8 ldr r3, [pc, #672] ; (8074930 ) 807468e: 881b ldrh r3, [r3, #0] 8074690: b29b uxth r3, r3 8074692: 009b lsls r3, r3, #2 8074694: 461a mov r2, r3 8074696: 4ba7 ldr r3, [pc, #668] ; (8074934 ) 8074698: 681b ldr r3, [r3, #0] 807469a: 429a cmp r2, r3 807469c: d20a bcs.n 80746b4 { DrawGraph(); 807469e: f035 febf bl 80aa420 if(READY_TO_SEE) 80746a2: 4ba5 ldr r3, [pc, #660] ; (8074938 ) 80746a4: 781b ldrb r3, [r3, #0] 80746a6: b2db uxtb r3, r3 80746a8: 2b00 cmp r3, #0 80746aa: d001 beq.n 80746b0 DrawCursorData(); 80746ac: f031 f814 bl 80a56d8 DrawScaleValue(); 80746b0: f03b fd80 bl 80b01b4 } if((measuring) && (!READY_TO_SEE)) 80746b4: 4ba1 ldr r3, [pc, #644] ; (807493c ) 80746b6: 781b ldrb r3, [r3, #0] 80746b8: b2db uxtb r3, r3 80746ba: 2b00 cmp r3, #0 80746bc: f000 8086 beq.w 80747cc 80746c0: 4b9d ldr r3, [pc, #628] ; (8074938 ) 80746c2: 781b ldrb r3, [r3, #0] 80746c4: b2db uxtb r3, r3 80746c6: f083 0301 eor.w r3, r3, #1 80746ca: b2db uxtb r3, r3 80746cc: 2b00 cmp r3, #0 80746ce: d07d beq.n 80747cc { if(MeanCnt < AVG[pardata.AVG]) 80746d0: 4b9b ldr r3, [pc, #620] ; (8074940 ) 80746d2: 7b5b ldrb r3, [r3, #13] 80746d4: b2db uxtb r3, r3 80746d6: 461a mov r2, r3 80746d8: 4b9a ldr r3, [pc, #616] ; (8074944 ) 80746da: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80746de: 461a mov r2, r3 80746e0: 4b99 ldr r3, [pc, #612] ; (8074948 ) 80746e2: 681b ldr r3, [r3, #0] 80746e4: 429a cmp r2, r3 80746e6: d971 bls.n 80747cc { if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 80746e8: 4b98 ldr r3, [pc, #608] ; (807494c ) 80746ea: 781b ldrb r3, [r3, #0] 80746ec: b2db uxtb r3, r3 80746ee: 2b00 cmp r3, #0 80746f0: d16c bne.n 80747cc 80746f2: 4b8f ldr r3, [pc, #572] ; (8074930 ) 80746f4: 881b ldrh r3, [r3, #0] 80746f6: b29b uxth r3, r3 80746f8: 009b lsls r3, r3, #2 80746fa: 461a mov r2, r3 80746fc: 4b8d ldr r3, [pc, #564] ; (8074934 ) 80746fe: 681b ldr r3, [r3, #0] 8074700: 429a cmp r2, r3 8074702: d263 bcs.n 80747cc { uint16_t ww; LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074704: 4992 ldr r1, [pc, #584] ; (8074950 ) 8074706: f04f 30ff mov.w r0, #4294967295 807470a: f7e0 fd7f bl 805520c BSP_LCD_FillRect(126, 137, 127, 8); 807470e: 2308 movs r3, #8 8074710: 227f movs r2, #127 ; 0x7f 8074712: 2189 movs r1, #137 ; 0x89 8074714: 207e movs r0, #126 ; 0x7e 8074716: f7e1 fa07 bl 8055b28 f = (float32_t) MeanCnt / (float32_t) AVG[pardata.AVG]; 807471a: 4b8b ldr r3, [pc, #556] ; (8074948 ) 807471c: 681b ldr r3, [r3, #0] 807471e: ee07 3a90 vmov s15, r3 8074722: eef8 6a67 vcvt.f32.u32 s13, s15 8074726: 4b86 ldr r3, [pc, #536] ; (8074940 ) 8074728: 7b5b ldrb r3, [r3, #13] 807472a: b2db uxtb r3, r3 807472c: 461a mov r2, r3 807472e: 4b85 ldr r3, [pc, #532] ; (8074944 ) 8074730: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8074734: ee07 3a90 vmov s15, r3 8074738: eeb8 7a67 vcvt.f32.u32 s14, s15 807473c: eec6 7a87 vdiv.f32 s15, s13, s14 8074740: f507 638b add.w r3, r7, #1112 ; 0x458 8074744: edc3 7a00 vstr s15, [r3] f *= 125.0f; 8074748: f507 638b add.w r3, r7, #1112 ; 0x458 807474c: edd3 7a00 vldr s15, [r3] 8074750: ed9f 7a80 vldr s14, [pc, #512] ; 8074954 8074754: ee67 7a87 vmul.f32 s15, s15, s14 8074758: f507 638b add.w r3, r7, #1112 ; 0x458 807475c: edc3 7a00 vstr s15, [r3] if(f < 1.0f) f = 1.0f; 8074760: f507 638b add.w r3, r7, #1112 ; 0x458 8074764: edd3 7a00 vldr s15, [r3] 8074768: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 807476c: eef4 7ac7 vcmpe.f32 s15, s14 8074770: eef1 fa10 vmrs APSR_nzcv, fpscr 8074774: d504 bpl.n 8074780 8074776: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 807477a: f507 628b add.w r2, r7, #1112 ; 0x458 807477e: 6013 str r3, [r2, #0] if(f > 125.0f) f = 125.0f; 8074780: f507 638b add.w r3, r7, #1112 ; 0x458 8074784: edd3 7a00 vldr s15, [r3] 8074788: ed9f 7a72 vldr s14, [pc, #456] ; 8074954 807478c: eef4 7ac7 vcmpe.f32 s15, s14 8074790: eef1 fa10 vmrs APSR_nzcv, fpscr 8074794: dd03 ble.n 807479e 8074796: 4b70 ldr r3, [pc, #448] ; (8074958 ) 8074798: f507 628b add.w r2, r7, #1112 ; 0x458 807479c: 6013 str r3, [r2, #0] ww = (uint16_t) f; 807479e: f507 638b add.w r3, r7, #1112 ; 0x458 80747a2: edd3 7a00 vldr s15, [r3] 80747a6: eefc 7ae7 vcvt.u32.f32 s15, s15 80747aa: edc7 7a01 vstr s15, [r7, #4] 80747ae: 88bb ldrh r3, [r7, #4] 80747b0: f8a7 3410 strh.w r3, [r7, #1040] ; 0x410 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80747b4: 4966 ldr r1, [pc, #408] ; (8074950 ) 80747b6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80747ba: f7e0 fd27 bl 805520c BSP_LCD_FillRect(127, 138, ww, 6); 80747be: f8b7 2410 ldrh.w r2, [r7, #1040] ; 0x410 80747c2: 2306 movs r3, #6 80747c4: 218a movs r1, #138 ; 0x8a 80747c6: 207f movs r0, #127 ; 0x7f 80747c8: f7e1 f9ae bl 8055b28 BSP_LCD_DisplayStringAt(3, 46, "CK3,", LEFT_MODE); else BSP_LCD_DisplayStringAt(3, 46, "RMS,", LEFT_MODE); DrawRMS(); }*/ DrawAVS(); 80747cc: f03d fbe4 bl 80b1f98 break; 80747d0: f024 bd2c b.w 809922c case MAIN_SPEC_OKT: //TODO ////////////////////////////////////////////////////////////////////////////////////////// DrawLegend(); 80747d4: f03d f982 bl 80b1adc DrawButtons(menupos); 80747d8: 4b54 ldr r3, [pc, #336] ; (807492c ) 80747da: 781b ldrb r3, [r3, #0] 80747dc: b2db uxtb r3, r3 80747de: 4618 mov r0, r3 80747e0: f03c fc3a bl 80b1058 if(Stability > (Nr * 4)) 80747e4: 4b52 ldr r3, [pc, #328] ; (8074930 ) 80747e6: 881b ldrh r3, [r3, #0] 80747e8: b29b uxth r3, r3 80747ea: 009b lsls r3, r3, #2 80747ec: 461a mov r2, r3 80747ee: 4b51 ldr r3, [pc, #324] ; (8074934 ) 80747f0: 681b ldr r3, [r3, #0] 80747f2: 429a cmp r2, r3 80747f4: d20d bcs.n 8074812 { DrawGraph(); 80747f6: f035 fe13 bl 80aa420 if(!firstOkt) 80747fa: 4b58 ldr r3, [pc, #352] ; (807495c ) 80747fc: 781b ldrb r3, [r3, #0] 80747fe: b2db uxtb r3, r3 8074800: f083 0301 eor.w r3, r3, #1 8074804: b2db uxtb r3, r3 8074806: 2b00 cmp r3, #0 8074808: d001 beq.n 807480e DrawCursorData(); 807480a: f030 ff65 bl 80a56d8 DrawScaleValue(); 807480e: f03b fcd1 bl 80b01b4 } ////////////////////////////////////////////////////////////////////////////////////////////// BSP_LCD_SetFont(&Font12); 8074812: 4853 ldr r0, [pc, #332] ; (8074960 ) 8074814: f7e0 fd36 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074818: 494d ldr r1, [pc, #308] ; (8074950 ) 807481a: f04f 30ff mov.w r0, #4294967295 807481e: f7e0 fcf5 bl 805520c /*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)) 8074822: 4b46 ldr r3, [pc, #280] ; (807493c ) 8074824: 781b ldrb r3, [r3, #0] 8074826: b2db uxtb r3, r3 8074828: 2b00 cmp r3, #0 807482a: d07b beq.n 8074924 807482c: 4b4b ldr r3, [pc, #300] ; (807495c ) 807482e: 781b ldrb r3, [r3, #0] 8074830: b2db uxtb r3, r3 8074832: 2b00 cmp r3, #0 8074834: d076 beq.n 8074924 8074836: 4b4b ldr r3, [pc, #300] ; (8074964 ) 8074838: 681b ldr r3, [r3, #0] 807483a: f1b3 3fff cmp.w r3, #4294967295 807483e: d071 beq.n 8074924 { if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 8074840: 4b42 ldr r3, [pc, #264] ; (807494c ) 8074842: 781b ldrb r3, [r3, #0] 8074844: b2db uxtb r3, r3 8074846: 2b00 cmp r3, #0 8074848: d16c bne.n 8074924 807484a: 4b39 ldr r3, [pc, #228] ; (8074930 ) 807484c: 881b ldrh r3, [r3, #0] 807484e: b29b uxth r3, r3 8074850: 009b lsls r3, r3, #2 8074852: 461a mov r2, r3 8074854: 4b37 ldr r3, [pc, #220] ; (8074934 ) 8074856: 681b ldr r3, [r3, #0] 8074858: 429a cmp r2, r3 807485a: d263 bcs.n 8074924 { uint16_t ww; LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807485c: 493c ldr r1, [pc, #240] ; (8074950 ) 807485e: f04f 30ff mov.w r0, #4294967295 8074862: f7e0 fcd3 bl 805520c BSP_LCD_FillRect(126, 137, 127, 8); 8074866: 2308 movs r3, #8 8074868: 227f movs r2, #127 ; 0x7f 807486a: 2189 movs r1, #137 ; 0x89 807486c: 207e movs r0, #126 ; 0x7e 807486e: f7e1 f95b bl 8055b28 f = (float32_t) MeanCnt / (float32_t) AVG[pardata.AVG]; 8074872: 4b35 ldr r3, [pc, #212] ; (8074948 ) 8074874: 681b ldr r3, [r3, #0] 8074876: ee07 3a90 vmov s15, r3 807487a: eef8 6a67 vcvt.f32.u32 s13, s15 807487e: 4b30 ldr r3, [pc, #192] ; (8074940 ) 8074880: 7b5b ldrb r3, [r3, #13] 8074882: b2db uxtb r3, r3 8074884: 461a mov r2, r3 8074886: 4b2f ldr r3, [pc, #188] ; (8074944 ) 8074888: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 807488c: ee07 3a90 vmov s15, r3 8074890: eeb8 7a67 vcvt.f32.u32 s14, s15 8074894: eec6 7a87 vdiv.f32 s15, s13, s14 8074898: f507 638b add.w r3, r7, #1112 ; 0x458 807489c: edc3 7a00 vstr s15, [r3] f *= 125.0f; 80748a0: f507 638b add.w r3, r7, #1112 ; 0x458 80748a4: edd3 7a00 vldr s15, [r3] 80748a8: ed9f 7a2a vldr s14, [pc, #168] ; 8074954 80748ac: ee67 7a87 vmul.f32 s15, s15, s14 80748b0: f507 638b add.w r3, r7, #1112 ; 0x458 80748b4: edc3 7a00 vstr s15, [r3] if(f < 1.0f) f = 1.0f; 80748b8: f507 638b add.w r3, r7, #1112 ; 0x458 80748bc: edd3 7a00 vldr s15, [r3] 80748c0: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80748c4: eef4 7ac7 vcmpe.f32 s15, s14 80748c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80748cc: d504 bpl.n 80748d8 80748ce: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 80748d2: f507 628b add.w r2, r7, #1112 ; 0x458 80748d6: 6013 str r3, [r2, #0] if(f > 125.0f) f = 125.0f; 80748d8: f507 638b add.w r3, r7, #1112 ; 0x458 80748dc: edd3 7a00 vldr s15, [r3] 80748e0: ed9f 7a1c vldr s14, [pc, #112] ; 8074954 80748e4: eef4 7ac7 vcmpe.f32 s15, s14 80748e8: eef1 fa10 vmrs APSR_nzcv, fpscr 80748ec: dd03 ble.n 80748f6 80748ee: 4b1a ldr r3, [pc, #104] ; (8074958 ) 80748f0: f507 628b add.w r2, r7, #1112 ; 0x458 80748f4: 6013 str r3, [r2, #0] ww = (uint16_t) f; 80748f6: f507 638b add.w r3, r7, #1112 ; 0x458 80748fa: edd3 7a00 vldr s15, [r3] 80748fe: eefc 7ae7 vcvt.u32.f32 s15, s15 8074902: edc7 7a01 vstr s15, [r7, #4] 8074906: 88bb ldrh r3, [r7, #4] 8074908: f8a7 340e strh.w r3, [r7, #1038] ; 0x40e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807490c: 4910 ldr r1, [pc, #64] ; (8074950 ) 807490e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074912: f7e0 fc7b bl 805520c BSP_LCD_FillRect(127, 138, ww, 6); 8074916: f8b7 240e ldrh.w r2, [r7, #1038] ; 0x40e 807491a: 2306 movs r3, #6 807491c: 218a movs r1, #138 ; 0x8a 807491e: 207f movs r0, #127 ; 0x7f 8074920: f7e1 f902 bl 8055b28 } } //DrawRMS(); DrawAVS(); 8074924: f03d fb38 bl 80b1f98 break; 8074928: f024 bc80 b.w 809922c 807492c: 20020070 .word 0x20020070 8074930: 20021d70 .word 0x20021d70 8074934: 20020dc8 .word 0x20020dc8 8074938: 20020dae .word 0x20020dae 807493c: 20020dcf .word 0x20020dcf 8074940: 20023eb8 .word 0x20023eb8 8074944: 080f608c .word 0x080f608c 8074948: 20020dd8 .word 0x20020dd8 807494c: 20020d9e .word 0x20020d9e 8074950: ff0a0f1f .word 0xff0a0f1f 8074954: 42fa0000 .word 0x42fa0000 8074958: 42fa0000 .word 0x42fa0000 807495c: 20020db4 .word 0x20020db4 8074960: 20020038 .word 0x20020038 8074964: 20020da8 .word 0x20020da8 case MAIN_SPEC_THIRD: //TODO ////////////////////////////////////////////////////////////////////////////////////////// DrawLegend(); 8074968: f03d f8b8 bl 80b1adc DrawButtons(menupos); 807496c: 4bbe ldr r3, [pc, #760] ; (8074c68 ) 807496e: 781b ldrb r3, [r3, #0] 8074970: b2db uxtb r3, r3 8074972: 4618 mov r0, r3 8074974: f03c fb70 bl 80b1058 if(Stability > (Nr * 4)) 8074978: 4bbc ldr r3, [pc, #752] ; (8074c6c ) 807497a: 881b ldrh r3, [r3, #0] 807497c: b29b uxth r3, r3 807497e: 009b lsls r3, r3, #2 8074980: 461a mov r2, r3 8074982: 4bbb ldr r3, [pc, #748] ; (8074c70 ) 8074984: 681b ldr r3, [r3, #0] 8074986: 429a cmp r2, r3 8074988: d20d bcs.n 80749a6 { DrawGraph(); 807498a: f035 fd49 bl 80aa420 if(!firstOkt) 807498e: 4bb9 ldr r3, [pc, #740] ; (8074c74 ) 8074990: 781b ldrb r3, [r3, #0] 8074992: b2db uxtb r3, r3 8074994: f083 0301 eor.w r3, r3, #1 8074998: b2db uxtb r3, r3 807499a: 2b00 cmp r3, #0 807499c: d001 beq.n 80749a2 DrawCursorData(); 807499e: f030 fe9b bl 80a56d8 DrawScaleValue(); 80749a2: f03b fc07 bl 80b01b4 } ////////////////////////////////////////////////////////////////////////////////////////////// BSP_LCD_SetFont(&Font12); 80749a6: 48b4 ldr r0, [pc, #720] ; (8074c78 ) 80749a8: f7e0 fc6c bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80749ac: 49b3 ldr r1, [pc, #716] ; (8074c7c ) 80749ae: f04f 30ff mov.w r0, #4294967295 80749b2: f7e0 fc2b bl 805520c /*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)) 80749b6: 4bb2 ldr r3, [pc, #712] ; (8074c80 ) 80749b8: 781b ldrb r3, [r3, #0] 80749ba: b2db uxtb r3, r3 80749bc: 2b00 cmp r3, #0 80749be: d07b beq.n 8074ab8 80749c0: 4bac ldr r3, [pc, #688] ; (8074c74 ) 80749c2: 781b ldrb r3, [r3, #0] 80749c4: b2db uxtb r3, r3 80749c6: 2b00 cmp r3, #0 80749c8: d076 beq.n 8074ab8 80749ca: 4bae ldr r3, [pc, #696] ; (8074c84 ) 80749cc: 681b ldr r3, [r3, #0] 80749ce: f1b3 3fff cmp.w r3, #4294967295 80749d2: d071 beq.n 8074ab8 { if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 80749d4: 4bac ldr r3, [pc, #688] ; (8074c88 ) 80749d6: 781b ldrb r3, [r3, #0] 80749d8: b2db uxtb r3, r3 80749da: 2b00 cmp r3, #0 80749dc: d16c bne.n 8074ab8 80749de: 4ba3 ldr r3, [pc, #652] ; (8074c6c ) 80749e0: 881b ldrh r3, [r3, #0] 80749e2: b29b uxth r3, r3 80749e4: 009b lsls r3, r3, #2 80749e6: 461a mov r2, r3 80749e8: 4ba1 ldr r3, [pc, #644] ; (8074c70 ) 80749ea: 681b ldr r3, [r3, #0] 80749ec: 429a cmp r2, r3 80749ee: d263 bcs.n 8074ab8 { uint16_t ww; LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80749f0: 49a2 ldr r1, [pc, #648] ; (8074c7c ) 80749f2: f04f 30ff mov.w r0, #4294967295 80749f6: f7e0 fc09 bl 805520c BSP_LCD_FillRect(126, 137, 127, 8); 80749fa: 2308 movs r3, #8 80749fc: 227f movs r2, #127 ; 0x7f 80749fe: 2189 movs r1, #137 ; 0x89 8074a00: 207e movs r0, #126 ; 0x7e 8074a02: f7e1 f891 bl 8055b28 f = (float32_t) MeanCnt / (float32_t) AVG[pardata.AVG]; 8074a06: 4ba1 ldr r3, [pc, #644] ; (8074c8c ) 8074a08: 681b ldr r3, [r3, #0] 8074a0a: ee07 3a90 vmov s15, r3 8074a0e: eef8 6a67 vcvt.f32.u32 s13, s15 8074a12: 4b9f ldr r3, [pc, #636] ; (8074c90 ) 8074a14: 7b5b ldrb r3, [r3, #13] 8074a16: b2db uxtb r3, r3 8074a18: 461a mov r2, r3 8074a1a: 4b9e ldr r3, [pc, #632] ; (8074c94 ) 8074a1c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8074a20: ee07 3a90 vmov s15, r3 8074a24: eeb8 7a67 vcvt.f32.u32 s14, s15 8074a28: eec6 7a87 vdiv.f32 s15, s13, s14 8074a2c: f507 638b add.w r3, r7, #1112 ; 0x458 8074a30: edc3 7a00 vstr s15, [r3] f *= 125.0f; 8074a34: f507 638b add.w r3, r7, #1112 ; 0x458 8074a38: edd3 7a00 vldr s15, [r3] 8074a3c: ed9f 7a96 vldr s14, [pc, #600] ; 8074c98 8074a40: ee67 7a87 vmul.f32 s15, s15, s14 8074a44: f507 638b add.w r3, r7, #1112 ; 0x458 8074a48: edc3 7a00 vstr s15, [r3] if(f < 1.0f) f = 1.0f; 8074a4c: f507 638b add.w r3, r7, #1112 ; 0x458 8074a50: edd3 7a00 vldr s15, [r3] 8074a54: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8074a58: eef4 7ac7 vcmpe.f32 s15, s14 8074a5c: eef1 fa10 vmrs APSR_nzcv, fpscr 8074a60: d504 bpl.n 8074a6c 8074a62: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8074a66: f507 628b add.w r2, r7, #1112 ; 0x458 8074a6a: 6013 str r3, [r2, #0] if(f > 125.0f) f = 125.0f; 8074a6c: f507 638b add.w r3, r7, #1112 ; 0x458 8074a70: edd3 7a00 vldr s15, [r3] 8074a74: ed9f 7a88 vldr s14, [pc, #544] ; 8074c98 8074a78: eef4 7ac7 vcmpe.f32 s15, s14 8074a7c: eef1 fa10 vmrs APSR_nzcv, fpscr 8074a80: dd03 ble.n 8074a8a 8074a82: 4b86 ldr r3, [pc, #536] ; (8074c9c ) 8074a84: f507 628b add.w r2, r7, #1112 ; 0x458 8074a88: 6013 str r3, [r2, #0] ww = (uint16_t) f; 8074a8a: f507 638b add.w r3, r7, #1112 ; 0x458 8074a8e: edd3 7a00 vldr s15, [r3] 8074a92: eefc 7ae7 vcvt.u32.f32 s15, s15 8074a96: edc7 7a01 vstr s15, [r7, #4] 8074a9a: 88bb ldrh r3, [r7, #4] 8074a9c: f8a7 340c strh.w r3, [r7, #1036] ; 0x40c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074aa0: 4976 ldr r1, [pc, #472] ; (8074c7c ) 8074aa2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074aa6: f7e0 fbb1 bl 805520c BSP_LCD_FillRect(127, 138, ww, 6); 8074aaa: f8b7 240c ldrh.w r2, [r7, #1036] ; 0x40c 8074aae: 2306 movs r3, #6 8074ab0: 218a movs r1, #138 ; 0x8a 8074ab2: 207f movs r0, #127 ; 0x7f 8074ab4: f7e1 f838 bl 8055b28 } } //DrawRMS(); DrawAVS(); 8074ab8: f03d fa6e bl 80b1f98 break; 8074abc: f024 bbb6 b.w 809922c case MAIN_OSC: // /////////////////////////////////////////////////////////////////////////////////// DrawLegend(); 8074ac0: f03d f80c bl 80b1adc DrawButtons(menupos); 8074ac4: 4b68 ldr r3, [pc, #416] ; (8074c68 ) 8074ac6: 781b ldrb r3, [r3, #0] 8074ac8: b2db uxtb r3, r3 8074aca: 4618 mov r0, r3 8074acc: f03c fac4 bl 80b1058 DrawMarkers(); 8074ad0: f03c f88e bl 80b0bf0 if((Threshold) || (Stability > (Nr * 4))) 8074ad4: 4b72 ldr r3, [pc, #456] ; (8074ca0 ) 8074ad6: 781b ldrb r3, [r3, #0] 8074ad8: b2db uxtb r3, r3 8074ada: 2b00 cmp r3, #0 8074adc: d108 bne.n 8074af0 8074ade: 4b63 ldr r3, [pc, #396] ; (8074c6c ) 8074ae0: 881b ldrh r3, [r3, #0] 8074ae2: b29b uxth r3, r3 8074ae4: 009b lsls r3, r3, #2 8074ae6: 461a mov r2, r3 8074ae8: 4b61 ldr r3, [pc, #388] ; (8074c70 ) 8074aea: 681b ldr r3, [r3, #0] 8074aec: 429a cmp r2, r3 8074aee: d21e bcs.n 8074b2e { if((pardata.IPR == ACC) || ((pardata.IPR > ACC) && (skz[pardata.IPR] != -1.0f))) 8074af0: 4b67 ldr r3, [pc, #412] ; (8074c90 ) 8074af2: 785b ldrb r3, [r3, #1] 8074af4: b2db uxtb r3, r3 8074af6: 2b00 cmp r3, #0 8074af8: d013 beq.n 8074b22 8074afa: 4b65 ldr r3, [pc, #404] ; (8074c90 ) 8074afc: 785b ldrb r3, [r3, #1] 8074afe: b2db uxtb r3, r3 8074b00: 2b00 cmp r3, #0 8074b02: d014 beq.n 8074b2e 8074b04: 4b62 ldr r3, [pc, #392] ; (8074c90 ) 8074b06: 785b ldrb r3, [r3, #1] 8074b08: b2db uxtb r3, r3 8074b0a: 4a66 ldr r2, [pc, #408] ; (8074ca4 ) 8074b0c: 009b lsls r3, r3, #2 8074b0e: 4413 add r3, r2 8074b10: edd3 7a00 vldr s15, [r3] 8074b14: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 8074b18: eef4 7a47 vcmp.f32 s15, s14 8074b1c: eef1 fa10 vmrs APSR_nzcv, fpscr 8074b20: d005 beq.n 8074b2e { DrawGraph(); 8074b22: f035 fc7d bl 80aa420 DrawCursorData(); 8074b26: f030 fdd7 bl 80a56d8 DrawScaleValue(); 8074b2a: f03b fb43 bl 80b01b4 } } /////////////////////////////////////////////////////////////////////////////////// BSP_LCD_SetFont(&Font12); 8074b2e: 4852 ldr r0, [pc, #328] ; (8074c78 ) 8074b30: f7e0 fba8 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074b34: 4951 ldr r1, [pc, #324] ; (8074c7c ) 8074b36: f04f 30ff mov.w r0, #4294967295 8074b3a: f7e0 fb67 bl 805520c if(pardata.LANG == RUS) 8074b3e: 4b54 ldr r3, [pc, #336] ; (8074c90 ) 8074b40: 7b1b ldrb r3, [r3, #12] 8074b42: b2db uxtb r3, r3 8074b44: 2b00 cmp r3, #0 8074b46: d106 bne.n 8074b56 BSP_LCD_DisplayStringAt(3, 46, "CK3,", LEFT_MODE); 8074b48: 2303 movs r3, #3 8074b4a: 4a57 ldr r2, [pc, #348] ; (8074ca8 ) 8074b4c: 212e movs r1, #46 ; 0x2e 8074b4e: 2003 movs r0, #3 8074b50: f7e0 fc22 bl 8055398 8074b54: e005 b.n 8074b62 else BSP_LCD_DisplayStringAt(3, 46, "RMS,", LEFT_MODE); 8074b56: 2303 movs r3, #3 8074b58: 4a54 ldr r2, [pc, #336] ; (8074cac ) 8074b5a: 212e movs r1, #46 ; 0x2e 8074b5c: 2003 movs r0, #3 8074b5e: f7e0 fc1b bl 8055398 if((pardata.IPR == ACC) || ((pardata.IPR > ACC) && (skz[pardata.IPR] != -1.0f))) { 8074b62: 4b4b ldr r3, [pc, #300] ; (8074c90 ) 8074b64: 785b ldrb r3, [r3, #1] 8074b66: b2db uxtb r3, r3 8074b68: 2b00 cmp r3, #0 8074b6a: d013 beq.n 8074b94 8074b6c: 4b48 ldr r3, [pc, #288] ; (8074c90 ) 8074b6e: 785b ldrb r3, [r3, #1] 8074b70: b2db uxtb r3, r3 8074b72: 2b00 cmp r3, #0 8074b74: d011 beq.n 8074b9a 8074b76: 4b46 ldr r3, [pc, #280] ; (8074c90 ) 8074b78: 785b ldrb r3, [r3, #1] 8074b7a: b2db uxtb r3, r3 8074b7c: 4a49 ldr r2, [pc, #292] ; (8074ca4 ) 8074b7e: 009b lsls r3, r3, #2 8074b80: 4413 add r3, r2 8074b82: edd3 7a00 vldr s15, [r3] 8074b86: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 8074b8a: eef4 7a47 vcmp.f32 s15, s14 8074b8e: eef1 fa10 vmrs APSR_nzcv, fpscr 8074b92: d002 beq.n 8074b9a DrawRMS(); 8074b94: f03c fff4 bl 80b1b80 8074b98: e015 b.n 8074bc6 } else { LCD_SetColors(LCD_COLOR_DARKYELLOW, LCD_COLOR_BLACK); 8074b9a: 4938 ldr r1, [pc, #224] ; (8074c7c ) 8074b9c: 4844 ldr r0, [pc, #272] ; (8074cb0 ) 8074b9e: f7e0 fb35 bl 805520c if(pardata.LANG == RUS) 8074ba2: 4b3b ldr r3, [pc, #236] ; (8074c90 ) 8074ba4: 7b1b ldrb r3, [r3, #12] 8074ba6: b2db uxtb r3, r3 8074ba8: 2b00 cmp r3, #0 8074baa: d106 bne.n 8074bba BSP_LCD_DisplayStringAt(185, 123, "ÍÅÒ ÄÀÍÍÛÕ", CENTER_MODE); 8074bac: 2301 movs r3, #1 8074bae: 4a41 ldr r2, [pc, #260] ; (8074cb4 ) 8074bb0: 217b movs r1, #123 ; 0x7b 8074bb2: 20b9 movs r0, #185 ; 0xb9 8074bb4: f7e0 fbf0 bl 8055398 8074bb8: e005 b.n 8074bc6 else BSP_LCD_DisplayStringAt(185, 123, "NO DATA", CENTER_MODE); 8074bba: 2301 movs r3, #1 8074bbc: 4a3e ldr r2, [pc, #248] ; (8074cb8 ) 8074bbe: 217b movs r1, #123 ; 0x7b 8074bc0: 20b9 movs r0, #185 ; 0xb9 8074bc2: f7e0 fbe9 bl 8055398 } DrawAVS(); 8074bc6: f03d f9e7 bl 80b1f98 break; 8074bca: f024 bb2f b.w 809922c case MAIN_WAVE: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8074bce: 492b ldr r1, [pc, #172] ; (8074c7c ) 8074bd0: 483a ldr r0, [pc, #232] ; (8074cbc ) 8074bd2: f7e0 fb1b bl 805520c BSP_LCD_DrawRect(2, 35, 314, 201); 8074bd6: 23c9 movs r3, #201 ; 0xc9 8074bd8: f44f 729d mov.w r2, #314 ; 0x13a 8074bdc: 2123 movs r1, #35 ; 0x23 8074bde: 2002 movs r0, #2 8074be0: f7e0 fe1a bl 8055818 BSP_LCD_SetFont(&Font12); 8074be4: 4824 ldr r0, [pc, #144] ; (8074c78 ) 8074be6: f7e0 fb4d bl 8055284 if(CardState == MSD_NOCARD) 8074bea: 4b35 ldr r3, [pc, #212] ; (8074cc0 ) 8074bec: 781b ldrb r3, [r3, #0] 8074bee: b2db uxtb r3, r3 8074bf0: 2b00 cmp r3, #0 8074bf2: d11d bne.n 8074c30 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074bf4: 4921 ldr r1, [pc, #132] ; (8074c7c ) 8074bf6: f04f 30ff mov.w r0, #4294967295 8074bfa: f7e0 fb07 bl 805520c if(pardata.LANG == RUS) 8074bfe: 4b24 ldr r3, [pc, #144] ; (8074c90 ) 8074c00: 7b1b ldrb r3, [r3, #12] 8074c02: b2db uxtb r3, r3 8074c04: 2b00 cmp r3, #0 8074c06: d10c bne.n 8074c22 { BSP_LCD_DisplayStringAt(165, 120, "Çàïèñü âðåìåííîãî ñèãíàëà íåâîçìîæíà!", CENTER_MODE); 8074c08: 2301 movs r3, #1 8074c0a: 4a2e ldr r2, [pc, #184] ; (8074cc4 ) 8074c0c: 2178 movs r1, #120 ; 0x78 8074c0e: 20a5 movs r0, #165 ; 0xa5 8074c10: f7e0 fbc2 bl 8055398 BSP_LCD_DisplayStringAt(165, 135, "Îòñóòñòâóåò êàðòà ïàìÿòè!", CENTER_MODE); 8074c14: 2301 movs r3, #1 8074c16: 4a2c ldr r2, [pc, #176] ; (8074cc8 ) 8074c18: 2187 movs r1, #135 ; 0x87 8074c1a: 20a5 movs r0, #165 ; 0xa5 8074c1c: f7e0 fbbc bl 8055398 8074c20: e103 b.n 8074e2a } else { BSP_LCD_DisplayStringAt(165, 120, "Drive is not present!", CENTER_MODE); 8074c22: 2301 movs r3, #1 8074c24: 4a29 ldr r2, [pc, #164] ; (8074ccc ) 8074c26: 2178 movs r1, #120 ; 0x78 8074c28: 20a5 movs r0, #165 ; 0xa5 8074c2a: f7e0 fbb5 bl 8055398 8074c2e: e0fc b.n 8074e2a } } else if(CardState == MSD_PRESENT) 8074c30: 4b23 ldr r3, [pc, #140] ; (8074cc0 ) 8074c32: 781b ldrb r3, [r3, #0] 8074c34: b2db uxtb r3, r3 8074c36: 2b01 cmp r3, #1 8074c38: d153 bne.n 8074ce2 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074c3a: 4910 ldr r1, [pc, #64] ; (8074c7c ) 8074c3c: f04f 30ff mov.w r0, #4294967295 8074c40: f7e0 fae4 bl 805520c if(pardata.LANG == RUS) 8074c44: 4b12 ldr r3, [pc, #72] ; (8074c90 ) 8074c46: 7b1b ldrb r3, [r3, #12] 8074c48: b2db uxtb r3, r3 8074c4a: 2b00 cmp r3, #0 8074c4c: d142 bne.n 8074cd4 { BSP_LCD_DisplayStringAt(165, 120, "Çàïèñü âðåìåííîãî ñèãíàëà íåâîçìîæíà!", CENTER_MODE); 8074c4e: 2301 movs r3, #1 8074c50: 4a1c ldr r2, [pc, #112] ; (8074cc4 ) 8074c52: 2178 movs r1, #120 ; 0x78 8074c54: 20a5 movs r0, #165 ; 0xa5 8074c56: f7e0 fb9f bl 8055398 BSP_LCD_DisplayStringAt(165, 135, "Îòñóòñòâóåò ôàéëîâàÿ ñèñòåìà!", CENTER_MODE); 8074c5a: 2301 movs r3, #1 8074c5c: 4a1c ldr r2, [pc, #112] ; (8074cd0 ) 8074c5e: 2187 movs r1, #135 ; 0x87 8074c60: 20a5 movs r0, #165 ; 0xa5 8074c62: f7e0 fb99 bl 8055398 8074c66: e0e0 b.n 8074e2a 8074c68: 20020070 .word 0x20020070 8074c6c: 20021d70 .word 0x20021d70 8074c70: 20020dc8 .word 0x20020dc8 8074c74: 20020db4 .word 0x20020db4 8074c78: 20020038 .word 0x20020038 8074c7c: ff0a0f1f .word 0xff0a0f1f 8074c80: 20020dcf .word 0x20020dcf 8074c84: 20020da8 .word 0x20020da8 8074c88: 20020d9e .word 0x20020d9e 8074c8c: 20020dd8 .word 0x20020dd8 8074c90: 20023eb8 .word 0x20023eb8 8074c94: 080f608c .word 0x080f608c 8074c98: 42fa0000 .word 0x42fa0000 8074c9c: 42fa0000 .word 0x42fa0000 8074ca0: 20020dd1 .word 0x20020dd1 8074ca4: 20021590 .word 0x20021590 8074ca8: 080d6554 .word 0x080d6554 8074cac: 080d655c .word 0x080d655c 8074cb0: ff808000 .word 0xff808000 8074cb4: 080d6564 .word 0x080d6564 8074cb8: 080d6570 .word 0x080d6570 8074cbc: ffd3d3d3 .word 0xffd3d3d3 8074cc0: 2002169c .word 0x2002169c 8074cc4: 080d6578 .word 0x080d6578 8074cc8: 080d65a0 .word 0x080d65a0 8074ccc: 080d65bc .word 0x080d65bc 8074cd0: 080d65d4 .word 0x080d65d4 } else { BSP_LCD_DisplayStringAt(165, 120, "File system is not found!", CENTER_MODE); 8074cd4: 2301 movs r3, #1 8074cd6: 4a70 ldr r2, [pc, #448] ; (8074e98 ) 8074cd8: 2178 movs r1, #120 ; 0x78 8074cda: 20a5 movs r0, #165 ; 0xa5 8074cdc: f7e0 fb5c bl 8055398 8074ce0: e0a3 b.n 8074e2a } } else if(CardState == MSD_READY) 8074ce2: 4b6e ldr r3, [pc, #440] ; (8074e9c ) 8074ce4: 781b ldrb r3, [r3, #0] 8074ce6: b2db uxtb r3, r3 8074ce8: 2b03 cmp r3, #3 8074cea: f040 809e bne.w 8074e2a { if(IS_ROUTE == false) 8074cee: 4b6c ldr r3, [pc, #432] ; (8074ea0 ) 8074cf0: 781b ldrb r3, [r3, #0] 8074cf2: b2db uxtb r3, r3 8074cf4: f083 0301 eor.w r3, r3, #1 8074cf8: b2db uxtb r3, r3 8074cfa: 2b00 cmp r3, #0 8074cfc: d009 beq.n 8074d12 strcpy(str1, "//Records/"); 8074cfe: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074d02: 4a68 ldr r2, [pc, #416] ; (8074ea4 ) 8074d04: ca07 ldmia r2, {r0, r1, r2} 8074d06: c303 stmia r3!, {r0, r1} 8074d08: 801a strh r2, [r3, #0] 8074d0a: 3302 adds r3, #2 8074d0c: 0c12 lsrs r2, r2, #16 8074d0e: 701a strb r2, [r3, #0] 8074d10: e025 b.n 8074d5e else { strcpy(str1, "../POINT "); 8074d12: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074d16: 4a64 ldr r2, [pc, #400] ; (8074ea8 ) 8074d18: ca07 ldmia r2, {r0, r1, r2} 8074d1a: c303 stmia r3!, {r0, r1} 8074d1c: 801a strh r2, [r3, #0] itoa(RoutePointID, &str1[strlen(str1)], 10); 8074d1e: 4b63 ldr r3, [pc, #396] ; (8074eac ) 8074d20: 681b ldr r3, [r3, #0] 8074d22: 461c mov r4, r3 8074d24: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074d28: 4618 mov r0, r3 8074d2a: f7ab faf3 bl 8020314 8074d2e: 4602 mov r2, r0 8074d30: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074d34: 4413 add r3, r2 8074d36: 220a movs r2, #10 8074d38: 4619 mov r1, r3 8074d3a: 4620 mov r0, r4 8074d3c: f05d f906 bl 80d1f4c strcat(str1, "/"); 8074d40: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074d44: 4618 mov r0, r3 8074d46: f7ab fae5 bl 8020314 8074d4a: 4603 mov r3, r0 8074d4c: 461a mov r2, r3 8074d4e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074d52: 4413 add r3, r2 8074d54: 4956 ldr r1, [pc, #344] ; (8074eb0 ) 8074d56: 461a mov r2, r3 8074d58: 460b mov r3, r1 8074d5a: 881b ldrh r3, [r3, #0] 8074d5c: 8013 strh r3, [r2, #0] } if(strlen(WavFileName) > 0) 8074d5e: 4b55 ldr r3, [pc, #340] ; (8074eb4 ) 8074d60: 781b ldrb r3, [r3, #0] 8074d62: 2b00 cmp r3, #0 8074d64: d048 beq.n 8074df8 { strcat(str1, WavFileName); 8074d66: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074d6a: 4952 ldr r1, [pc, #328] ; (8074eb4 ) 8074d6c: 4618 mov r0, r3 8074d6e: f05d fa19 bl 80d21a4 k = strcspn(str1, "\t\n."); 8074d72: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074d76: 4950 ldr r1, [pc, #320] ; (8074eb8 ) 8074d78: 4618 mov r0, r3 8074d7a: f05d fa38 bl 80d21ee 8074d7e: 4603 mov r3, r0 8074d80: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 str1[k] = '\0'; 8074d84: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8074d88: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8074d8c: 2100 movs r1, #0 8074d8e: 54d1 strb r1, [r2, r3] strcat(str1, "/"); 8074d90: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074d94: 4618 mov r0, r3 8074d96: f7ab fabd bl 8020314 8074d9a: 4603 mov r3, r0 8074d9c: 461a mov r2, r3 8074d9e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074da2: 4413 add r3, r2 8074da4: 4942 ldr r1, [pc, #264] ; (8074eb0 ) 8074da6: 461a mov r2, r3 8074da8: 460b mov r3, r1 8074daa: 881b ldrh r3, [r3, #0] 8074dac: 8013 strh r3, [r2, #0] if(Recording) 8074dae: 4b43 ldr r3, [pc, #268] ; (8074ebc ) 8074db0: 781b ldrb r3, [r3, #0] 8074db2: b2db uxtb r3, r3 8074db4: 2b00 cmp r3, #0 8074db6: d005 beq.n 8074dc4 strcat(str1, RecordingName); 8074db8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074dbc: 4940 ldr r1, [pc, #256] ; (8074ec0 ) 8074dbe: 4618 mov r0, r3 8074dc0: f05d f9f0 bl 80d21a4 k = strlen(str1); 8074dc4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074dc8: 4618 mov r0, r3 8074dca: f7ab faa3 bl 8020314 8074dce: 4603 mov r3, r0 8074dd0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(k > 31) 8074dd4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8074dd8: 2b1f cmp r3, #31 8074dda: d918 bls.n 8074e0e { str1[k - 1] = '~'; 8074ddc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8074de0: 3b01 subs r3, #1 8074de2: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8074de6: 217e movs r1, #126 ; 0x7e 8074de8: 54d1 strb r1, [r2, r3] str1[k] = '\0'; 8074dea: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8074dee: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8074df2: 2100 movs r1, #0 8074df4: 54d1 strb r1, [r2, r3] 8074df6: e00a b.n 8074e0e } } else { if(Recording) 8074df8: 4b30 ldr r3, [pc, #192] ; (8074ebc ) 8074dfa: 781b ldrb r3, [r3, #0] 8074dfc: b2db uxtb r3, r3 8074dfe: 2b00 cmp r3, #0 8074e00: d005 beq.n 8074e0e strcat(str1, RecordingName); 8074e02: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074e06: 492e ldr r1, [pc, #184] ; (8074ec0 ) 8074e08: 4618 mov r0, r3 8074e0a: f05d f9cb bl 80d21a4 } LCD_SetColors(LCD_COLOR_MYBROWN, LCD_COLOR_BLACK); 8074e0e: 492d ldr r1, [pc, #180] ; (8074ec4 ) 8074e10: 482d ldr r0, [pc, #180] ; (8074ec8 ) 8074e12: f7e0 f9fb bl 805520c BSP_LCD_SetFont(&Font12); 8074e16: 482d ldr r0, [pc, #180] ; (8074ecc ) 8074e18: f7e0 fa34 bl 8055284 BSP_LCD_DisplayStringAt(165, 40, str1, CENTER_MODE); 8074e1c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8074e20: 2301 movs r3, #1 8074e22: 2128 movs r1, #40 ; 0x28 8074e24: 20a5 movs r0, #165 ; 0xa5 8074e26: f7e0 fab7 bl 8055398 if(Threshold) 8074e2a: 4b29 ldr r3, [pc, #164] ; (8074ed0 ) 8074e2c: 781b ldrb r3, [r3, #0] 8074e2e: b2db uxtb r3, r3 8074e30: 2b00 cmp r3, #0 8074e32: f000 8176 beq.w 8075122 { BSP_LCD_SetFont(&Font12); 8074e36: 4825 ldr r0, [pc, #148] ; (8074ecc ) 8074e38: f7e0 fa24 bl 8055284 if(measuring) 8074e3c: 4b25 ldr r3, [pc, #148] ; (8074ed4 ) 8074e3e: 781b ldrb r3, [r3, #0] 8074e40: b2db uxtb r3, r3 8074e42: 2b00 cmp r3, #0 8074e44: f000 8144 beq.w 80750d0 { if(Recording == false) 8074e48: 4b1c ldr r3, [pc, #112] ; (8074ebc ) 8074e4a: 781b ldrb r3, [r3, #0] 8074e4c: b2db uxtb r3, r3 8074e4e: f083 0301 eor.w r3, r3, #1 8074e52: b2db uxtb r3, r3 8074e54: 2b00 cmp r3, #0 8074e56: d045 beq.n 8074ee4 { if(CardState == MSD_READY) 8074e58: 4b10 ldr r3, [pc, #64] ; (8074e9c ) 8074e5a: 781b ldrb r3, [r3, #0] 8074e5c: b2db uxtb r3, r3 8074e5e: 2b03 cmp r3, #3 8074e60: f064 81bd bne.w 80991de { LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8074e64: 4917 ldr r1, [pc, #92] ; (8074ec4 ) 8074e66: f06f 00ff mvn.w r0, #255 ; 0xff 8074e6a: f7e0 f9cf bl 805520c if(pardata.LANG == RUS) 8074e6e: 4b1a ldr r3, [pc, #104] ; (8074ed8 ) 8074e70: 7b1b ldrb r3, [r3, #12] 8074e72: b2db uxtb r3, r3 8074e74: 2b00 cmp r3, #0 8074e76: d107 bne.n 8074e88 { BSP_LCD_DisplayStringAt(165, 120, "Îæèäàíèå ïîðîãà ñðàáàòûâàíèÿ...", CENTER_MODE); 8074e78: 2301 movs r3, #1 8074e7a: 4a18 ldr r2, [pc, #96] ; (8074edc ) 8074e7c: 2178 movs r1, #120 ; 0x78 8074e7e: 20a5 movs r0, #165 ; 0xa5 8074e80: f7e0 fa8a bl 8055398 BSP_LCD_DisplayStringAt(165, 220, "To stop recording click [OK]...", CENTER_MODE); } break; } } break; 8074e84: f024 b9ab b.w 80991de BSP_LCD_DisplayStringAt(165, 120, "Waiting for trigger threshold...", CENTER_MODE); 8074e88: 2301 movs r3, #1 8074e8a: 4a15 ldr r2, [pc, #84] ; (8074ee0 ) 8074e8c: 2178 movs r1, #120 ; 0x78 8074e8e: 20a5 movs r0, #165 ; 0xa5 8074e90: f7e0 fa82 bl 8055398 break; 8074e94: f024 b9a3 b.w 80991de 8074e98: 080d65f4 .word 0x080d65f4 8074e9c: 2002169c .word 0x2002169c 8074ea0: 20020dd3 .word 0x20020dd3 8074ea4: 080d6610 .word 0x080d6610 8074ea8: 080d661c .word 0x080d661c 8074eac: 20020034 .word 0x20020034 8074eb0: 080d6628 .word 0x080d6628 8074eb4: 20020e5c .word 0x20020e5c 8074eb8: 080d662c .word 0x080d662c 8074ebc: 20020dd0 .word 0x20020dd0 8074ec0: 20022378 .word 0x20022378 8074ec4: ff0a0f1f .word 0xff0a0f1f 8074ec8: ffd3b36e .word 0xffd3b36e 8074ecc: 20020038 .word 0x20020038 8074ed0: 20020dd1 .word 0x20020dd1 8074ed4: 20020dcf .word 0x20020dcf 8074ed8: 20023eb8 .word 0x20023eb8 8074edc: 080d6630 .word 0x080d6630 8074ee0: 080d6650 .word 0x080d6650 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074ee4: 49b2 ldr r1, [pc, #712] ; (80751b0 ) 8074ee6: f04f 30ff mov.w r0, #4294967295 8074eea: f7e0 f98f bl 805520c BSP_LCD_SetFont(&Font12); 8074eee: 48b1 ldr r0, [pc, #708] ; (80751b4 ) 8074ef0: f7e0 f9c8 bl 8055284 k = TimeRec; 8074ef4: 4bb0 ldr r3, [pc, #704] ; (80751b8 ) 8074ef6: 681b ldr r3, [r3, #0] 8074ef8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(k > TIMEREC[5][pardata.TME]) 8074efc: 4baf ldr r3, [pc, #700] ; (80751bc ) 8074efe: 7b9b ldrb r3, [r3, #14] 8074f00: b2db uxtb r3, r3 8074f02: 4aaf ldr r2, [pc, #700] ; (80751c0 ) 8074f04: 3337 adds r3, #55 ; 0x37 8074f06: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8074f0a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8074f0e: 429a cmp r2, r3 8074f10: d208 bcs.n 8074f24 k = TIMEREC[5][pardata.TME]; 8074f12: 4baa ldr r3, [pc, #680] ; (80751bc ) 8074f14: 7b9b ldrb r3, [r3, #14] 8074f16: b2db uxtb r3, r3 8074f18: 4aa9 ldr r2, [pc, #676] ; (80751c0 ) 8074f1a: 3337 adds r3, #55 ; 0x37 8074f1c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8074f20: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Hours = ((k / Fs) / 60) / 60; 8074f24: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8074f28: 4ba6 ldr r3, [pc, #664] ; (80751c4 ) 8074f2a: 681b ldr r3, [r3, #0] 8074f2c: fbb2 f3f3 udiv r3, r2, r3 8074f30: 4aa5 ldr r2, [pc, #660] ; (80751c8 ) 8074f32: fba2 2303 umull r2, r3, r2, r3 8074f36: 0adb lsrs r3, r3, #11 8074f38: 4aa4 ldr r2, [pc, #656] ; (80751cc ) 8074f3a: 6013 str r3, [r2, #0] Minutes = ((k / Fs) / 60) % 60; 8074f3c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8074f40: 4ba0 ldr r3, [pc, #640] ; (80751c4 ) 8074f42: 681b ldr r3, [r3, #0] 8074f44: fbb2 f3f3 udiv r3, r2, r3 8074f48: 4aa1 ldr r2, [pc, #644] ; (80751d0 ) 8074f4a: fba2 2303 umull r2, r3, r2, r3 8074f4e: 0959 lsrs r1, r3, #5 8074f50: 4b9f ldr r3, [pc, #636] ; (80751d0 ) 8074f52: fba3 2301 umull r2, r3, r3, r1 8074f56: 095a lsrs r2, r3, #5 8074f58: 4613 mov r3, r2 8074f5a: 011b lsls r3, r3, #4 8074f5c: 1a9b subs r3, r3, r2 8074f5e: 009b lsls r3, r3, #2 8074f60: 1aca subs r2, r1, r3 8074f62: 4b9c ldr r3, [pc, #624] ; (80751d4 ) 8074f64: 601a str r2, [r3, #0] Seconds = (k / Fs) % 60; 8074f66: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8074f6a: 4b96 ldr r3, [pc, #600] ; (80751c4 ) 8074f6c: 681b ldr r3, [r3, #0] 8074f6e: fbb2 f1f3 udiv r1, r2, r3 8074f72: 4b97 ldr r3, [pc, #604] ; (80751d0 ) 8074f74: fba3 2301 umull r2, r3, r3, r1 8074f78: 095a lsrs r2, r3, #5 8074f7a: 4613 mov r3, r2 8074f7c: 011b lsls r3, r3, #4 8074f7e: 1a9b subs r3, r3, r2 8074f80: 009b lsls r3, r3, #2 8074f82: 1aca subs r2, r1, r3 8074f84: 4b94 ldr r3, [pc, #592] ; (80751d8 ) 8074f86: 601a str r2, [r3, #0] str[0] = (Hours / 10) + 48; 8074f88: 4b90 ldr r3, [pc, #576] ; (80751cc ) 8074f8a: 681b ldr r3, [r3, #0] 8074f8c: 4a93 ldr r2, [pc, #588] ; (80751dc ) 8074f8e: fba2 2303 umull r2, r3, r2, r3 8074f92: 08db lsrs r3, r3, #3 8074f94: b2db uxtb r3, r3 8074f96: 3330 adds r3, #48 ; 0x30 8074f98: b2da uxtb r2, r3 8074f9a: f507 733b add.w r3, r7, #748 ; 0x2ec 8074f9e: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 8074fa0: 4b8a ldr r3, [pc, #552] ; (80751cc ) 8074fa2: 6819 ldr r1, [r3, #0] 8074fa4: 4b8d ldr r3, [pc, #564] ; (80751dc ) 8074fa6: fba3 2301 umull r2, r3, r3, r1 8074faa: 08da lsrs r2, r3, #3 8074fac: 4613 mov r3, r2 8074fae: 009b lsls r3, r3, #2 8074fb0: 4413 add r3, r2 8074fb2: 005b lsls r3, r3, #1 8074fb4: 1aca subs r2, r1, r3 8074fb6: b2d3 uxtb r3, r2 8074fb8: 3330 adds r3, #48 ; 0x30 8074fba: b2da uxtb r2, r3 8074fbc: f507 733b add.w r3, r7, #748 ; 0x2ec 8074fc0: 705a strb r2, [r3, #1] str[2] = ':'; 8074fc2: f507 733b add.w r3, r7, #748 ; 0x2ec 8074fc6: 223a movs r2, #58 ; 0x3a 8074fc8: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 8074fca: 4b82 ldr r3, [pc, #520] ; (80751d4 ) 8074fcc: 681b ldr r3, [r3, #0] 8074fce: 4a83 ldr r2, [pc, #524] ; (80751dc ) 8074fd0: fba2 2303 umull r2, r3, r2, r3 8074fd4: 08db lsrs r3, r3, #3 8074fd6: b2db uxtb r3, r3 8074fd8: 3330 adds r3, #48 ; 0x30 8074fda: b2da uxtb r2, r3 8074fdc: f507 733b add.w r3, r7, #748 ; 0x2ec 8074fe0: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 8074fe2: 4b7c ldr r3, [pc, #496] ; (80751d4 ) 8074fe4: 6819 ldr r1, [r3, #0] 8074fe6: 4b7d ldr r3, [pc, #500] ; (80751dc ) 8074fe8: fba3 2301 umull r2, r3, r3, r1 8074fec: 08da lsrs r2, r3, #3 8074fee: 4613 mov r3, r2 8074ff0: 009b lsls r3, r3, #2 8074ff2: 4413 add r3, r2 8074ff4: 005b lsls r3, r3, #1 8074ff6: 1aca subs r2, r1, r3 8074ff8: b2d3 uxtb r3, r2 8074ffa: 3330 adds r3, #48 ; 0x30 8074ffc: b2da uxtb r2, r3 8074ffe: f507 733b add.w r3, r7, #748 ; 0x2ec 8075002: 711a strb r2, [r3, #4] str[5] = ':'; 8075004: f507 733b add.w r3, r7, #748 ; 0x2ec 8075008: 223a movs r2, #58 ; 0x3a 807500a: 715a strb r2, [r3, #5] str[6] = (Seconds / 10) + 48; 807500c: 4b72 ldr r3, [pc, #456] ; (80751d8 ) 807500e: 681b ldr r3, [r3, #0] 8075010: 4a72 ldr r2, [pc, #456] ; (80751dc ) 8075012: fba2 2303 umull r2, r3, r2, r3 8075016: 08db lsrs r3, r3, #3 8075018: b2db uxtb r3, r3 807501a: 3330 adds r3, #48 ; 0x30 807501c: b2da uxtb r2, r3 807501e: f507 733b add.w r3, r7, #748 ; 0x2ec 8075022: 719a strb r2, [r3, #6] str[7] = (Seconds % 10) + 48; 8075024: 4b6c ldr r3, [pc, #432] ; (80751d8 ) 8075026: 6819 ldr r1, [r3, #0] 8075028: 4b6c ldr r3, [pc, #432] ; (80751dc ) 807502a: fba3 2301 umull r2, r3, r3, r1 807502e: 08da lsrs r2, r3, #3 8075030: 4613 mov r3, r2 8075032: 009b lsls r3, r3, #2 8075034: 4413 add r3, r2 8075036: 005b lsls r3, r3, #1 8075038: 1aca subs r2, r1, r3 807503a: b2d3 uxtb r3, r2 807503c: 3330 adds r3, #48 ; 0x30 807503e: b2da uxtb r2, r3 8075040: f507 733b add.w r3, r7, #748 ; 0x2ec 8075044: 71da strb r2, [r3, #7] str[8] = '\0'; 8075046: f507 733b add.w r3, r7, #748 ; 0x2ec 807504a: 2200 movs r2, #0 807504c: 721a strb r2, [r3, #8] LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807504e: 4958 ldr r1, [pc, #352] ; (80751b0 ) 8075050: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075054: f7e0 f8da bl 805520c BSP_LCD_SetFont(&Font20); 8075058: 4861 ldr r0, [pc, #388] ; (80751e0 ) 807505a: f7e0 f913 bl 8055284 BSP_LCD_DisplayStringAt(165, 120, str, CENTER_MODE); 807505e: f507 723b add.w r2, r7, #748 ; 0x2ec 8075062: 2301 movs r3, #1 8075064: 2178 movs r1, #120 ; 0x78 8075066: 20a5 movs r0, #165 ; 0xa5 8075068: f7e0 f996 bl 8055398 if(old_second != Seconds) 807506c: 4b5d ldr r3, [pc, #372] ; (80751e4 ) 807506e: 681a ldr r2, [r3, #0] 8075070: 4b59 ldr r3, [pc, #356] ; (80751d8 ) 8075072: 681b ldr r3, [r3, #0] 8075074: 429a cmp r2, r3 8075076: d004 beq.n 8075082 DrawImage(&bmREC1, 151, 145); 8075078: 2291 movs r2, #145 ; 0x91 807507a: 2197 movs r1, #151 ; 0x97 807507c: 485a ldr r0, [pc, #360] ; (80751e8 ) 807507e: f7e0 ffb9 bl 8055ff4 old_second = Seconds; 8075082: 4b55 ldr r3, [pc, #340] ; (80751d8 ) 8075084: 681b ldr r3, [r3, #0] 8075086: 4a57 ldr r2, [pc, #348] ; (80751e4 ) 8075088: 6013 str r3, [r2, #0] BSP_LCD_SetFont(&Font12); 807508a: 484a ldr r0, [pc, #296] ; (80751b4 ) 807508c: f7e0 f8fa bl 8055284 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8075090: 4947 ldr r1, [pc, #284] ; (80751b0 ) 8075092: f06f 00ff mvn.w r0, #255 ; 0xff 8075096: f7e0 f8b9 bl 805520c if(pardata.LANG == RUS) 807509a: 4b48 ldr r3, [pc, #288] ; (80751bc ) 807509c: 7b1b ldrb r3, [r3, #12] 807509e: b2db uxtb r3, r3 80750a0: 2b00 cmp r3, #0 80750a2: d10d bne.n 80750c0 BSP_LCD_DisplayStringAt(165, 205, "×òîáû îñòàíîâèòü çàïèñü", CENTER_MODE); 80750a4: 2301 movs r3, #1 80750a6: 4a51 ldr r2, [pc, #324] ; (80751ec ) 80750a8: 21cd movs r1, #205 ; 0xcd 80750aa: 20a5 movs r0, #165 ; 0xa5 80750ac: f7e0 f974 bl 8055398 BSP_LCD_DisplayStringAt(165, 220, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 80750b0: 2301 movs r3, #1 80750b2: 4a4f ldr r2, [pc, #316] ; (80751f0 ) 80750b4: 21dc movs r1, #220 ; 0xdc 80750b6: 20a5 movs r0, #165 ; 0xa5 80750b8: f7e0 f96e bl 8055398 break; 80750bc: f024 b88f b.w 80991de BSP_LCD_DisplayStringAt(165, 220, "To stop recording click [OK]...", CENTER_MODE); 80750c0: 2301 movs r3, #1 80750c2: 4a4c ldr r2, [pc, #304] ; (80751f4 ) 80750c4: 21dc movs r1, #220 ; 0xdc 80750c6: 20a5 movs r0, #165 ; 0xa5 80750c8: f7e0 f966 bl 8055398 break; 80750cc: f024 b887 b.w 80991de BSP_LCD_SetFont(&Font12); 80750d0: 4838 ldr r0, [pc, #224] ; (80751b4 ) 80750d2: f7e0 f8d7 bl 8055284 if(CardState == MSD_READY) 80750d6: 4b48 ldr r3, [pc, #288] ; (80751f8 ) 80750d8: 781b ldrb r3, [r3, #0] 80750da: b2db uxtb r3, r3 80750dc: 2b03 cmp r3, #3 80750de: f064 807e bne.w 80991de LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80750e2: 4933 ldr r1, [pc, #204] ; (80751b0 ) 80750e4: f06f 00ff mvn.w r0, #255 ; 0xff 80750e8: f7e0 f890 bl 805520c if(pardata.LANG == RUS) 80750ec: 4b33 ldr r3, [pc, #204] ; (80751bc ) 80750ee: 7b1b ldrb r3, [r3, #12] 80750f0: b2db uxtb r3, r3 80750f2: 2b00 cmp r3, #0 80750f4: d10d bne.n 8075112 BSP_LCD_DisplayStringAt(165, 120, "×òîáû íà÷àòü çàïèñü", CENTER_MODE); 80750f6: 2301 movs r3, #1 80750f8: 4a40 ldr r2, [pc, #256] ; (80751fc ) 80750fa: 2178 movs r1, #120 ; 0x78 80750fc: 20a5 movs r0, #165 ; 0xa5 80750fe: f7e0 f94b bl 8055398 BSP_LCD_DisplayStringAt(165, 135, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 8075102: 2301 movs r3, #1 8075104: 4a3a ldr r2, [pc, #232] ; (80751f0 ) 8075106: 2187 movs r1, #135 ; 0x87 8075108: 20a5 movs r0, #165 ; 0xa5 807510a: f7e0 f945 bl 8055398 break; 807510e: f024 b866 b.w 80991de BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 8075112: 2301 movs r3, #1 8075114: 4a3a ldr r2, [pc, #232] ; (8075200 ) 8075116: 2178 movs r1, #120 ; 0x78 8075118: 20a5 movs r0, #165 ; 0xa5 807511a: f7e0 f93d bl 8055398 break; 807511e: f024 b85e b.w 80991de switch(menupos) 8075122: 4b38 ldr r3, [pc, #224] ; (8075204 ) 8075124: 781b ldrb r3, [r3, #0] 8075126: b2db uxtb r3, r3 8075128: 2b04 cmp r3, #4 807512a: f224 8058 bhi.w 80991de 807512e: a201 add r2, pc, #4 ; (adr r2, 8075134 ) 8075130: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8075134: 0807548b .word 0x0807548b 8075138: 08075149 .word 0x08075149 807513c: 08075551 .word 0x08075551 8075140: 080755ab .word 0x080755ab 8075144: 080753fd .word 0x080753fd if(oldmenupos == ReadyRec) 8075148: 4b2f ldr r3, [pc, #188] ; (8075208 ) 807514a: 781b ldrb r3, [r3, #0] 807514c: b2db uxtb r3, r3 807514e: 2b03 cmp r3, #3 8075150: f040 834d bne.w 80757ee if(Recording == false) 8075154: 4b2d ldr r3, [pc, #180] ; (807520c ) 8075156: 781b ldrb r3, [r3, #0] 8075158: b2db uxtb r3, r3 807515a: f083 0301 eor.w r3, r3, #1 807515e: b2db uxtb r3, r3 8075160: 2b00 cmp r3, #0 8075162: d057 beq.n 8075214 if(CardState == MSD_READY) 8075164: 4b24 ldr r3, [pc, #144] ; (80751f8 ) 8075166: 781b ldrb r3, [r3, #0] 8075168: b2db uxtb r3, r3 807516a: 2b03 cmp r3, #3 807516c: f040 833f bne.w 80757ee BSP_LCD_SetFont(&Font12); 8075170: 4810 ldr r0, [pc, #64] ; (80751b4 ) 8075172: f7e0 f887 bl 8055284 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8075176: 490e ldr r1, [pc, #56] ; (80751b0 ) 8075178: 4825 ldr r0, [pc, #148] ; (8075210 ) 807517a: f7e0 f847 bl 805520c if(pardata.LANG == RUS) 807517e: 4b0f ldr r3, [pc, #60] ; (80751bc ) 8075180: 7b1b ldrb r3, [r3, #12] 8075182: b2db uxtb r3, r3 8075184: 2b00 cmp r3, #0 8075186: d10c bne.n 80751a2 BSP_LCD_DisplayStringAt(165, 120, "×òîáû íà÷àòü çàïèñü", CENTER_MODE); 8075188: 2301 movs r3, #1 807518a: 4a1c ldr r2, [pc, #112] ; (80751fc ) 807518c: 2178 movs r1, #120 ; 0x78 807518e: 20a5 movs r0, #165 ; 0xa5 8075190: f7e0 f902 bl 8055398 BSP_LCD_DisplayStringAt(165, 135, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 8075194: 2301 movs r3, #1 8075196: 4a16 ldr r2, [pc, #88] ; (80751f0 ) 8075198: 2187 movs r1, #135 ; 0x87 807519a: 20a5 movs r0, #165 ; 0xa5 807519c: f7e0 f8fc bl 8055398 break; 80751a0: e325 b.n 80757ee BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 80751a2: 2301 movs r3, #1 80751a4: 4a16 ldr r2, [pc, #88] ; (8075200 ) 80751a6: 2178 movs r1, #120 ; 0x78 80751a8: 20a5 movs r0, #165 ; 0xa5 80751aa: f7e0 f8f5 bl 8055398 break; 80751ae: e31e b.n 80757ee 80751b0: ff0a0f1f .word 0xff0a0f1f 80751b4: 20020038 .word 0x20020038 80751b8: 200216d4 .word 0x200216d4 80751bc: 20023eb8 .word 0x20023eb8 80751c0: 080f5e98 .word 0x080f5e98 80751c4: 20021d6c .word 0x20021d6c 80751c8: 91a2b3c5 .word 0x91a2b3c5 80751cc: 2002168c .word 0x2002168c 80751d0: 88888889 .word 0x88888889 80751d4: 20021690 .word 0x20021690 80751d8: 20021694 .word 0x20021694 80751dc: cccccccd .word 0xcccccccd 80751e0: 20020050 .word 0x20020050 80751e4: 200216b4 .word 0x200216b4 80751e8: 0814ae74 .word 0x0814ae74 80751ec: 080d6674 .word 0x080d6674 80751f0: 080d668c .word 0x080d668c 80751f4: 080d66a4 .word 0x080d66a4 80751f8: 2002169c .word 0x2002169c 80751fc: 080d66c4 .word 0x080d66c4 8075200: 080d66d8 .word 0x080d66d8 8075204: 20020070 .word 0x20020070 8075208: 20020fc7 .word 0x20020fc7 807520c: 20020dd0 .word 0x20020dd0 8075210: ff29eb19 .word 0xff29eb19 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075214: 49b6 ldr r1, [pc, #728] ; (80754f0 ) 8075216: f04f 30ff mov.w r0, #4294967295 807521a: f7df fff7 bl 805520c BSP_LCD_SetFont(&Font12); 807521e: 48b5 ldr r0, [pc, #724] ; (80754f4 ) 8075220: f7e0 f830 bl 8055284 k = TimeRec; 8075224: 4bb4 ldr r3, [pc, #720] ; (80754f8 ) 8075226: 681b ldr r3, [r3, #0] 8075228: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(k > TIMEREC[5][pardata.TME]) 807522c: 4bb3 ldr r3, [pc, #716] ; (80754fc ) 807522e: 7b9b ldrb r3, [r3, #14] 8075230: b2db uxtb r3, r3 8075232: 4ab3 ldr r2, [pc, #716] ; (8075500 ) 8075234: 3337 adds r3, #55 ; 0x37 8075236: f852 2023 ldr.w r2, [r2, r3, lsl #2] 807523a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807523e: 429a cmp r2, r3 8075240: d208 bcs.n 8075254 k = TIMEREC[5][pardata.TME]; 8075242: 4bae ldr r3, [pc, #696] ; (80754fc ) 8075244: 7b9b ldrb r3, [r3, #14] 8075246: b2db uxtb r3, r3 8075248: 4aad ldr r2, [pc, #692] ; (8075500 ) 807524a: 3337 adds r3, #55 ; 0x37 807524c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8075250: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Hours = ((k / Fs) / 60) / 60; 8075254: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8075258: 4baa ldr r3, [pc, #680] ; (8075504 ) 807525a: 681b ldr r3, [r3, #0] 807525c: fbb2 f3f3 udiv r3, r2, r3 8075260: 4aa9 ldr r2, [pc, #676] ; (8075508 ) 8075262: fba2 2303 umull r2, r3, r2, r3 8075266: 0adb lsrs r3, r3, #11 8075268: 4aa8 ldr r2, [pc, #672] ; (807550c ) 807526a: 6013 str r3, [r2, #0] Minutes = ((k / Fs) / 60) % 60; 807526c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8075270: 4ba4 ldr r3, [pc, #656] ; (8075504 ) 8075272: 681b ldr r3, [r3, #0] 8075274: fbb2 f3f3 udiv r3, r2, r3 8075278: 4aa5 ldr r2, [pc, #660] ; (8075510 ) 807527a: fba2 2303 umull r2, r3, r2, r3 807527e: 0959 lsrs r1, r3, #5 8075280: 4ba3 ldr r3, [pc, #652] ; (8075510 ) 8075282: fba3 2301 umull r2, r3, r3, r1 8075286: 095a lsrs r2, r3, #5 8075288: 4613 mov r3, r2 807528a: 011b lsls r3, r3, #4 807528c: 1a9b subs r3, r3, r2 807528e: 009b lsls r3, r3, #2 8075290: 1aca subs r2, r1, r3 8075292: 4ba0 ldr r3, [pc, #640] ; (8075514 ) 8075294: 601a str r2, [r3, #0] Seconds = (k / Fs) % 60; 8075296: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807529a: 4b9a ldr r3, [pc, #616] ; (8075504 ) 807529c: 681b ldr r3, [r3, #0] 807529e: fbb2 f1f3 udiv r1, r2, r3 80752a2: 4b9b ldr r3, [pc, #620] ; (8075510 ) 80752a4: fba3 2301 umull r2, r3, r3, r1 80752a8: 095a lsrs r2, r3, #5 80752aa: 4613 mov r3, r2 80752ac: 011b lsls r3, r3, #4 80752ae: 1a9b subs r3, r3, r2 80752b0: 009b lsls r3, r3, #2 80752b2: 1aca subs r2, r1, r3 80752b4: 4b98 ldr r3, [pc, #608] ; (8075518 ) 80752b6: 601a str r2, [r3, #0] str[0] = (Hours / 10) + 48; 80752b8: 4b94 ldr r3, [pc, #592] ; (807550c ) 80752ba: 681b ldr r3, [r3, #0] 80752bc: 4a97 ldr r2, [pc, #604] ; (807551c ) 80752be: fba2 2303 umull r2, r3, r2, r3 80752c2: 08db lsrs r3, r3, #3 80752c4: b2db uxtb r3, r3 80752c6: 3330 adds r3, #48 ; 0x30 80752c8: b2da uxtb r2, r3 80752ca: f507 733b add.w r3, r7, #748 ; 0x2ec 80752ce: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 80752d0: 4b8e ldr r3, [pc, #568] ; (807550c ) 80752d2: 6819 ldr r1, [r3, #0] 80752d4: 4b91 ldr r3, [pc, #580] ; (807551c ) 80752d6: fba3 2301 umull r2, r3, r3, r1 80752da: 08da lsrs r2, r3, #3 80752dc: 4613 mov r3, r2 80752de: 009b lsls r3, r3, #2 80752e0: 4413 add r3, r2 80752e2: 005b lsls r3, r3, #1 80752e4: 1aca subs r2, r1, r3 80752e6: b2d3 uxtb r3, r2 80752e8: 3330 adds r3, #48 ; 0x30 80752ea: b2da uxtb r2, r3 80752ec: f507 733b add.w r3, r7, #748 ; 0x2ec 80752f0: 705a strb r2, [r3, #1] str[2] = ':'; 80752f2: f507 733b add.w r3, r7, #748 ; 0x2ec 80752f6: 223a movs r2, #58 ; 0x3a 80752f8: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 80752fa: 4b86 ldr r3, [pc, #536] ; (8075514 ) 80752fc: 681b ldr r3, [r3, #0] 80752fe: 4a87 ldr r2, [pc, #540] ; (807551c ) 8075300: fba2 2303 umull r2, r3, r2, r3 8075304: 08db lsrs r3, r3, #3 8075306: b2db uxtb r3, r3 8075308: 3330 adds r3, #48 ; 0x30 807530a: b2da uxtb r2, r3 807530c: f507 733b add.w r3, r7, #748 ; 0x2ec 8075310: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 8075312: 4b80 ldr r3, [pc, #512] ; (8075514 ) 8075314: 6819 ldr r1, [r3, #0] 8075316: 4b81 ldr r3, [pc, #516] ; (807551c ) 8075318: fba3 2301 umull r2, r3, r3, r1 807531c: 08da lsrs r2, r3, #3 807531e: 4613 mov r3, r2 8075320: 009b lsls r3, r3, #2 8075322: 4413 add r3, r2 8075324: 005b lsls r3, r3, #1 8075326: 1aca subs r2, r1, r3 8075328: b2d3 uxtb r3, r2 807532a: 3330 adds r3, #48 ; 0x30 807532c: b2da uxtb r2, r3 807532e: f507 733b add.w r3, r7, #748 ; 0x2ec 8075332: 711a strb r2, [r3, #4] str[5] = ':'; 8075334: f507 733b add.w r3, r7, #748 ; 0x2ec 8075338: 223a movs r2, #58 ; 0x3a 807533a: 715a strb r2, [r3, #5] str[6] = (Seconds / 10) + 48; 807533c: 4b76 ldr r3, [pc, #472] ; (8075518 ) 807533e: 681b ldr r3, [r3, #0] 8075340: 4a76 ldr r2, [pc, #472] ; (807551c ) 8075342: fba2 2303 umull r2, r3, r2, r3 8075346: 08db lsrs r3, r3, #3 8075348: b2db uxtb r3, r3 807534a: 3330 adds r3, #48 ; 0x30 807534c: b2da uxtb r2, r3 807534e: f507 733b add.w r3, r7, #748 ; 0x2ec 8075352: 719a strb r2, [r3, #6] str[7] = (Seconds % 10) + 48; 8075354: 4b70 ldr r3, [pc, #448] ; (8075518 ) 8075356: 6819 ldr r1, [r3, #0] 8075358: 4b70 ldr r3, [pc, #448] ; (807551c ) 807535a: fba3 2301 umull r2, r3, r3, r1 807535e: 08da lsrs r2, r3, #3 8075360: 4613 mov r3, r2 8075362: 009b lsls r3, r3, #2 8075364: 4413 add r3, r2 8075366: 005b lsls r3, r3, #1 8075368: 1aca subs r2, r1, r3 807536a: b2d3 uxtb r3, r2 807536c: 3330 adds r3, #48 ; 0x30 807536e: b2da uxtb r2, r3 8075370: f507 733b add.w r3, r7, #748 ; 0x2ec 8075374: 71da strb r2, [r3, #7] str[8] = '\0'; 8075376: f507 733b add.w r3, r7, #748 ; 0x2ec 807537a: 2200 movs r2, #0 807537c: 721a strb r2, [r3, #8] LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807537e: 495c ldr r1, [pc, #368] ; (80754f0 ) 8075380: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075384: f7df ff42 bl 805520c BSP_LCD_SetFont(&Font20); 8075388: 4865 ldr r0, [pc, #404] ; (8075520 ) 807538a: f7df ff7b bl 8055284 BSP_LCD_DisplayStringAt(165, 120, str, CENTER_MODE); 807538e: f507 723b add.w r2, r7, #748 ; 0x2ec 8075392: 2301 movs r3, #1 8075394: 2178 movs r1, #120 ; 0x78 8075396: 20a5 movs r0, #165 ; 0xa5 8075398: f7df fffe bl 8055398 if(old_second != Seconds) 807539c: 4b61 ldr r3, [pc, #388] ; (8075524 ) 807539e: 681a ldr r2, [r3, #0] 80753a0: 4b5d ldr r3, [pc, #372] ; (8075518 ) 80753a2: 681b ldr r3, [r3, #0] 80753a4: 429a cmp r2, r3 80753a6: d004 beq.n 80753b2 DrawImage(&bmREC1, 151, 145); 80753a8: 2291 movs r2, #145 ; 0x91 80753aa: 2197 movs r1, #151 ; 0x97 80753ac: 485e ldr r0, [pc, #376] ; (8075528 ) 80753ae: f7e0 fe21 bl 8055ff4 old_second = Seconds; 80753b2: 4b59 ldr r3, [pc, #356] ; (8075518 ) 80753b4: 681b ldr r3, [r3, #0] 80753b6: 4a5b ldr r2, [pc, #364] ; (8075524 ) 80753b8: 6013 str r3, [r2, #0] BSP_LCD_SetFont(&Font12); 80753ba: 484e ldr r0, [pc, #312] ; (80754f4 ) 80753bc: f7df ff62 bl 8055284 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80753c0: 494b ldr r1, [pc, #300] ; (80754f0 ) 80753c2: f06f 00ff mvn.w r0, #255 ; 0xff 80753c6: f7df ff21 bl 805520c if(pardata.LANG == RUS) 80753ca: 4b4c ldr r3, [pc, #304] ; (80754fc ) 80753cc: 7b1b ldrb r3, [r3, #12] 80753ce: b2db uxtb r3, r3 80753d0: 2b00 cmp r3, #0 80753d2: d10c bne.n 80753ee BSP_LCD_DisplayStringAt(165, 205, "×òîáû îñòàíîâèòü çàïèñü", CENTER_MODE); 80753d4: 2301 movs r3, #1 80753d6: 4a55 ldr r2, [pc, #340] ; (807552c ) 80753d8: 21cd movs r1, #205 ; 0xcd 80753da: 20a5 movs r0, #165 ; 0xa5 80753dc: f7df ffdc bl 8055398 BSP_LCD_DisplayStringAt(165, 220, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 80753e0: 2301 movs r3, #1 80753e2: 4a53 ldr r2, [pc, #332] ; (8075530 ) 80753e4: 21dc movs r1, #220 ; 0xdc 80753e6: 20a5 movs r0, #165 ; 0xa5 80753e8: f7df ffd6 bl 8055398 break; 80753ec: e1ff b.n 80757ee BSP_LCD_DisplayStringAt(165, 220, "To stop recording click [OK]...", CENTER_MODE); 80753ee: 2301 movs r3, #1 80753f0: 4a50 ldr r2, [pc, #320] ; (8075534 ) 80753f2: 21dc movs r1, #220 ; 0xdc 80753f4: 20a5 movs r0, #165 ; 0xa5 80753f6: f7df ffcf bl 8055398 break; 80753fa: e1f8 b.n 80757ee BSP_LCD_SetFont(&Font12); 80753fc: 483d ldr r0, [pc, #244] ; (80754f4 ) 80753fe: f7df ff41 bl 8055284 if(CardState == MSD_READY) 8075402: 4b4d ldr r3, [pc, #308] ; (8075538 ) 8075404: 781b ldrb r3, [r3, #0] 8075406: b2db uxtb r3, r3 8075408: 2b03 cmp r3, #3 807540a: f040 81f3 bne.w 80757f4 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 807540e: 4b3b ldr r3, [pc, #236] ; (80754fc ) 8075410: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8075414: f003 0304 and.w r3, r3, #4 8075418: 2b00 cmp r3, #0 807541a: d104 bne.n 8075426 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 807541c: 4934 ldr r1, [pc, #208] ; (80754f0 ) 807541e: 4847 ldr r0, [pc, #284] ; (807553c ) 8075420: f7df fef4 bl 805520c 8075424: e004 b.n 8075430 else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8075426: 4932 ldr r1, [pc, #200] ; (80754f0 ) 8075428: f06f 00ff mvn.w r0, #255 ; 0xff 807542c: f7df feee bl 805520c if(pardata.LANG == RUS) 8075430: 4b32 ldr r3, [pc, #200] ; (80754fc ) 8075432: 7b1b ldrb r3, [r3, #12] 8075434: b2db uxtb r3, r3 8075436: 2b00 cmp r3, #0 8075438: d120 bne.n 807547c BSP_LCD_DisplayStringAt(165, 120, "f= Ãö", CENTER_MODE); 807543a: 2301 movs r3, #1 807543c: 4a40 ldr r2, [pc, #256] ; (8075540 ) 807543e: 2178 movs r1, #120 ; 0x78 8075440: 20a5 movs r0, #165 ; 0xa5 8075442: f7df ffa9 bl 8055398 if(FreqFran) 8075446: 4b3f ldr r3, [pc, #252] ; (8075544 ) 8075448: edd3 7a00 vldr s15, [r3] 807544c: eef5 7a40 vcmp.f32 s15, #0.0 8075450: eef1 fa10 vmrs APSR_nzcv, fpscr 8075454: d00f beq.n 8075476 BSP_LCD_DisplayStringAt(170, 120, (char *) FloatToASCII(FreqFran, -3), CENTER_MODE); 8075456: 4b3b ldr r3, [pc, #236] ; (8075544 ) 8075458: edd3 7a00 vldr s15, [r3] 807545c: f06f 0002 mvn.w r0, #2 8075460: eeb0 0a67 vmov.f32 s0, s15 8075464: f7f2 fe9c bl 80681a0 8075468: 4602 mov r2, r0 807546a: 2301 movs r3, #1 807546c: 2178 movs r1, #120 ; 0x78 807546e: 20aa movs r0, #170 ; 0xaa 8075470: f7df ff92 bl 8055398 break; 8075474: e1be b.n 80757f4 DrawSpinner(); 8075476: f024 fa2f bl 80998d8 break; 807547a: e1bb b.n 80757f4 BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 807547c: 2301 movs r3, #1 807547e: 4a32 ldr r2, [pc, #200] ; (8075548 ) 8075480: 2178 movs r1, #120 ; 0x78 8075482: 20a5 movs r0, #165 ; 0xa5 8075484: f7df ff88 bl 8055398 break; 8075488: e1b4 b.n 80757f4 BSP_LCD_SetFont(&Font12); 807548a: 481a ldr r0, [pc, #104] ; (80754f4 ) 807548c: f7df fefa bl 8055284 if(CardState == MSD_READY) 8075490: 4b29 ldr r3, [pc, #164] ; (8075538 ) 8075492: 781b ldrb r3, [r3, #0] 8075494: b2db uxtb r3, r3 8075496: 2b03 cmp r3, #3 8075498: f040 81af bne.w 80757fa if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 807549c: 4b17 ldr r3, [pc, #92] ; (80754fc ) 807549e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80754a2: f003 0304 and.w r3, r3, #4 80754a6: 2b00 cmp r3, #0 80754a8: d104 bne.n 80754b4 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 80754aa: 4911 ldr r1, [pc, #68] ; (80754f0 ) 80754ac: 4823 ldr r0, [pc, #140] ; (807553c ) 80754ae: f7df fead bl 805520c 80754b2: e004 b.n 80754be else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80754b4: 490e ldr r1, [pc, #56] ; (80754f0 ) 80754b6: f06f 00ff mvn.w r0, #255 ; 0xff 80754ba: f7df fea7 bl 805520c if(pardata.LANG == RUS) 80754be: 4b0f ldr r3, [pc, #60] ; (80754fc ) 80754c0: 7b1b ldrb r3, [r3, #12] 80754c2: b2db uxtb r3, r3 80754c4: 2b00 cmp r3, #0 80754c6: d10c bne.n 80754e2 BSP_LCD_DisplayStringAt(165, 120, "×òîáû íà÷àòü çàïèñü", CENTER_MODE); 80754c8: 2301 movs r3, #1 80754ca: 4a20 ldr r2, [pc, #128] ; (807554c ) 80754cc: 2178 movs r1, #120 ; 0x78 80754ce: 20a5 movs r0, #165 ; 0xa5 80754d0: f7df ff62 bl 8055398 BSP_LCD_DisplayStringAt(165, 135, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 80754d4: 2301 movs r3, #1 80754d6: 4a16 ldr r2, [pc, #88] ; (8075530 ) 80754d8: 2187 movs r1, #135 ; 0x87 80754da: 20a5 movs r0, #165 ; 0xa5 80754dc: f7df ff5c bl 8055398 break; 80754e0: e18b b.n 80757fa BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 80754e2: 2301 movs r3, #1 80754e4: 4a18 ldr r2, [pc, #96] ; (8075548 ) 80754e6: 2178 movs r1, #120 ; 0x78 80754e8: 20a5 movs r0, #165 ; 0xa5 80754ea: f7df ff55 bl 8055398 break; 80754ee: e184 b.n 80757fa 80754f0: ff0a0f1f .word 0xff0a0f1f 80754f4: 20020038 .word 0x20020038 80754f8: 200216d4 .word 0x200216d4 80754fc: 20023eb8 .word 0x20023eb8 8075500: 080f5e98 .word 0x080f5e98 8075504: 20021d6c .word 0x20021d6c 8075508: 91a2b3c5 .word 0x91a2b3c5 807550c: 2002168c .word 0x2002168c 8075510: 88888889 .word 0x88888889 8075514: 20021690 .word 0x20021690 8075518: 20021694 .word 0x20021694 807551c: cccccccd .word 0xcccccccd 8075520: 20020050 .word 0x20020050 8075524: 200216b4 .word 0x200216b4 8075528: 0814ae74 .word 0x0814ae74 807552c: 080d6674 .word 0x080d6674 8075530: 080d668c .word 0x080d668c 8075534: 080d66a4 .word 0x080d66a4 8075538: 2002169c .word 0x2002169c 807553c: ff29eb19 .word 0xff29eb19 8075540: 080d66fc .word 0x080d66fc 8075544: 200215b4 .word 0x200215b4 8075548: 080d66d8 .word 0x080d66d8 807554c: 080d66c4 .word 0x080d66c4 if(CardState == MSD_READY) 8075550: 4bb2 ldr r3, [pc, #712] ; (807581c ) 8075552: 781b ldrb r3, [r3, #0] 8075554: b2db uxtb r3, r3 8075556: 2b03 cmp r3, #3 8075558: f040 8152 bne.w 8075800 BSP_LCD_SetFont(&Font12); 807555c: 48b0 ldr r0, [pc, #704] ; (8075820 ) 807555e: f7df fe91 bl 8055284 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8075562: 49b0 ldr r1, [pc, #704] ; (8075824 ) 8075564: f06f 00ff mvn.w r0, #255 ; 0xff 8075568: f7df fe50 bl 805520c if(pardata.LANG == RUS) 807556c: 4bae ldr r3, [pc, #696] ; (8075828 ) 807556e: 7b1b ldrb r3, [r3, #12] 8075570: b2db uxtb r3, r3 8075572: 2b00 cmp r3, #0 8075574: d10c bne.n 8075590 BSP_LCD_DisplayStringAt(165, 120, "Àâòîìàòè÷åñêèé ïîäáîð êîýôôèöèåíòà", CENTER_MODE); 8075576: 2301 movs r3, #1 8075578: 4aac ldr r2, [pc, #688] ; (807582c ) 807557a: 2178 movs r1, #120 ; 0x78 807557c: 20a5 movs r0, #165 ; 0xa5 807557e: f7df ff0b bl 8055398 BSP_LCD_DisplayStringAt(165, 135, "óñèëåíèÿ. Æäèòå...", CENTER_MODE); 8075582: 2301 movs r3, #1 8075584: 4aaa ldr r2, [pc, #680] ; (8075830 ) 8075586: 2187 movs r1, #135 ; 0x87 8075588: 20a5 movs r0, #165 ; 0xa5 807558a: f7df ff05 bl 8055398 break; 807558e: e137 b.n 8075800 BSP_LCD_DisplayStringAt(165, 120, "Automatic gain selection.", CENTER_MODE); 8075590: 2301 movs r3, #1 8075592: 4aa8 ldr r2, [pc, #672] ; (8075834 ) 8075594: 2178 movs r1, #120 ; 0x78 8075596: 20a5 movs r0, #165 ; 0xa5 8075598: f7df fefe bl 8055398 BSP_LCD_DisplayStringAt(165, 135, "Please wait...", CENTER_MODE); 807559c: 2301 movs r3, #1 807559e: 4aa6 ldr r2, [pc, #664] ; (8075838 ) 80755a0: 2187 movs r1, #135 ; 0x87 80755a2: 20a5 movs r0, #165 ; 0xa5 80755a4: f7df fef8 bl 8055398 break; 80755a8: e12a b.n 8075800 if(Recording == false) 80755aa: 4ba4 ldr r3, [pc, #656] ; (807583c ) 80755ac: 781b ldrb r3, [r3, #0] 80755ae: b2db uxtb r3, r3 80755b0: f083 0301 eor.w r3, r3, #1 80755b4: b2db uxtb r3, r3 80755b6: 2b00 cmp r3, #0 80755b8: d025 beq.n 8075606 if(CardState == MSD_READY) 80755ba: 4b98 ldr r3, [pc, #608] ; (807581c ) 80755bc: 781b ldrb r3, [r3, #0] 80755be: b2db uxtb r3, r3 80755c0: 2b03 cmp r3, #3 80755c2: f040 8120 bne.w 8075806 BSP_LCD_SetFont(&Font12); 80755c6: 4896 ldr r0, [pc, #600] ; (8075820 ) 80755c8: f7df fe5c bl 8055284 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 80755cc: 4995 ldr r1, [pc, #596] ; (8075824 ) 80755ce: 489c ldr r0, [pc, #624] ; (8075840 ) 80755d0: f7df fe1c bl 805520c if(pardata.LANG == RUS) 80755d4: 4b94 ldr r3, [pc, #592] ; (8075828 ) 80755d6: 7b1b ldrb r3, [r3, #12] 80755d8: b2db uxtb r3, r3 80755da: 2b00 cmp r3, #0 80755dc: d10c bne.n 80755f8 BSP_LCD_DisplayStringAt(165, 120, "×òîáû íà÷àòü çàïèñü", CENTER_MODE); 80755de: 2301 movs r3, #1 80755e0: 4a98 ldr r2, [pc, #608] ; (8075844 ) 80755e2: 2178 movs r1, #120 ; 0x78 80755e4: 20a5 movs r0, #165 ; 0xa5 80755e6: f7df fed7 bl 8055398 BSP_LCD_DisplayStringAt(165, 135, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 80755ea: 2301 movs r3, #1 80755ec: 4a96 ldr r2, [pc, #600] ; (8075848 ) 80755ee: 2187 movs r1, #135 ; 0x87 80755f0: 20a5 movs r0, #165 ; 0xa5 80755f2: f7df fed1 bl 8055398 break; 80755f6: e106 b.n 8075806 BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 80755f8: 2301 movs r3, #1 80755fa: 4a94 ldr r2, [pc, #592] ; (807584c ) 80755fc: 2178 movs r1, #120 ; 0x78 80755fe: 20a5 movs r0, #165 ; 0xa5 8075600: f7df feca bl 8055398 break; 8075604: e0ff b.n 8075806 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075606: 4987 ldr r1, [pc, #540] ; (8075824 ) 8075608: f04f 30ff mov.w r0, #4294967295 807560c: f7df fdfe bl 805520c BSP_LCD_SetFont(&Font12); 8075610: 4883 ldr r0, [pc, #524] ; (8075820 ) 8075612: f7df fe37 bl 8055284 k = TimeRec; 8075616: 4b8e ldr r3, [pc, #568] ; (8075850 ) 8075618: 681b ldr r3, [r3, #0] 807561a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(k > TIMEREC[5][pardata.TME]) 807561e: 4b82 ldr r3, [pc, #520] ; (8075828 ) 8075620: 7b9b ldrb r3, [r3, #14] 8075622: b2db uxtb r3, r3 8075624: 4a8b ldr r2, [pc, #556] ; (8075854 ) 8075626: 3337 adds r3, #55 ; 0x37 8075628: f852 2023 ldr.w r2, [r2, r3, lsl #2] 807562c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8075630: 429a cmp r2, r3 8075632: d208 bcs.n 8075646 k = TIMEREC[5][pardata.TME]; 8075634: 4b7c ldr r3, [pc, #496] ; (8075828 ) 8075636: 7b9b ldrb r3, [r3, #14] 8075638: b2db uxtb r3, r3 807563a: 4a86 ldr r2, [pc, #536] ; (8075854 ) 807563c: 3337 adds r3, #55 ; 0x37 807563e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8075642: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Hours = ((k / Fs) / 60) / 60; 8075646: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807564a: 4b83 ldr r3, [pc, #524] ; (8075858 ) 807564c: 681b ldr r3, [r3, #0] 807564e: fbb2 f3f3 udiv r3, r2, r3 8075652: 4a82 ldr r2, [pc, #520] ; (807585c ) 8075654: fba2 2303 umull r2, r3, r2, r3 8075658: 0adb lsrs r3, r3, #11 807565a: 4a81 ldr r2, [pc, #516] ; (8075860 ) 807565c: 6013 str r3, [r2, #0] Minutes = ((k / Fs) / 60) % 60; 807565e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8075662: 4b7d ldr r3, [pc, #500] ; (8075858 ) 8075664: 681b ldr r3, [r3, #0] 8075666: fbb2 f3f3 udiv r3, r2, r3 807566a: 4a7e ldr r2, [pc, #504] ; (8075864 ) 807566c: fba2 2303 umull r2, r3, r2, r3 8075670: 0959 lsrs r1, r3, #5 8075672: 4b7c ldr r3, [pc, #496] ; (8075864 ) 8075674: fba3 2301 umull r2, r3, r3, r1 8075678: 095a lsrs r2, r3, #5 807567a: 4613 mov r3, r2 807567c: 011b lsls r3, r3, #4 807567e: 1a9b subs r3, r3, r2 8075680: 009b lsls r3, r3, #2 8075682: 1aca subs r2, r1, r3 8075684: 4b78 ldr r3, [pc, #480] ; (8075868 ) 8075686: 601a str r2, [r3, #0] Seconds = (k / Fs) % 60; 8075688: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807568c: 4b72 ldr r3, [pc, #456] ; (8075858 ) 807568e: 681b ldr r3, [r3, #0] 8075690: fbb2 f1f3 udiv r1, r2, r3 8075694: 4b73 ldr r3, [pc, #460] ; (8075864 ) 8075696: fba3 2301 umull r2, r3, r3, r1 807569a: 095a lsrs r2, r3, #5 807569c: 4613 mov r3, r2 807569e: 011b lsls r3, r3, #4 80756a0: 1a9b subs r3, r3, r2 80756a2: 009b lsls r3, r3, #2 80756a4: 1aca subs r2, r1, r3 80756a6: 4b71 ldr r3, [pc, #452] ; (807586c ) 80756a8: 601a str r2, [r3, #0] str[0] = (Hours / 10) + 48; 80756aa: 4b6d ldr r3, [pc, #436] ; (8075860 ) 80756ac: 681b ldr r3, [r3, #0] 80756ae: 4a70 ldr r2, [pc, #448] ; (8075870 ) 80756b0: fba2 2303 umull r2, r3, r2, r3 80756b4: 08db lsrs r3, r3, #3 80756b6: b2db uxtb r3, r3 80756b8: 3330 adds r3, #48 ; 0x30 80756ba: b2da uxtb r2, r3 80756bc: f507 733b add.w r3, r7, #748 ; 0x2ec 80756c0: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 80756c2: 4b67 ldr r3, [pc, #412] ; (8075860 ) 80756c4: 6819 ldr r1, [r3, #0] 80756c6: 4b6a ldr r3, [pc, #424] ; (8075870 ) 80756c8: fba3 2301 umull r2, r3, r3, r1 80756cc: 08da lsrs r2, r3, #3 80756ce: 4613 mov r3, r2 80756d0: 009b lsls r3, r3, #2 80756d2: 4413 add r3, r2 80756d4: 005b lsls r3, r3, #1 80756d6: 1aca subs r2, r1, r3 80756d8: b2d3 uxtb r3, r2 80756da: 3330 adds r3, #48 ; 0x30 80756dc: b2da uxtb r2, r3 80756de: f507 733b add.w r3, r7, #748 ; 0x2ec 80756e2: 705a strb r2, [r3, #1] str[2] = ':'; 80756e4: f507 733b add.w r3, r7, #748 ; 0x2ec 80756e8: 223a movs r2, #58 ; 0x3a 80756ea: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 80756ec: 4b5e ldr r3, [pc, #376] ; (8075868 ) 80756ee: 681b ldr r3, [r3, #0] 80756f0: 4a5f ldr r2, [pc, #380] ; (8075870 ) 80756f2: fba2 2303 umull r2, r3, r2, r3 80756f6: 08db lsrs r3, r3, #3 80756f8: b2db uxtb r3, r3 80756fa: 3330 adds r3, #48 ; 0x30 80756fc: b2da uxtb r2, r3 80756fe: f507 733b add.w r3, r7, #748 ; 0x2ec 8075702: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 8075704: 4b58 ldr r3, [pc, #352] ; (8075868 ) 8075706: 6819 ldr r1, [r3, #0] 8075708: 4b59 ldr r3, [pc, #356] ; (8075870 ) 807570a: fba3 2301 umull r2, r3, r3, r1 807570e: 08da lsrs r2, r3, #3 8075710: 4613 mov r3, r2 8075712: 009b lsls r3, r3, #2 8075714: 4413 add r3, r2 8075716: 005b lsls r3, r3, #1 8075718: 1aca subs r2, r1, r3 807571a: b2d3 uxtb r3, r2 807571c: 3330 adds r3, #48 ; 0x30 807571e: b2da uxtb r2, r3 8075720: f507 733b add.w r3, r7, #748 ; 0x2ec 8075724: 711a strb r2, [r3, #4] str[5] = ':'; 8075726: f507 733b add.w r3, r7, #748 ; 0x2ec 807572a: 223a movs r2, #58 ; 0x3a 807572c: 715a strb r2, [r3, #5] str[6] = (Seconds / 10) + 48; 807572e: 4b4f ldr r3, [pc, #316] ; (807586c ) 8075730: 681b ldr r3, [r3, #0] 8075732: 4a4f ldr r2, [pc, #316] ; (8075870 ) 8075734: fba2 2303 umull r2, r3, r2, r3 8075738: 08db lsrs r3, r3, #3 807573a: b2db uxtb r3, r3 807573c: 3330 adds r3, #48 ; 0x30 807573e: b2da uxtb r2, r3 8075740: f507 733b add.w r3, r7, #748 ; 0x2ec 8075744: 719a strb r2, [r3, #6] str[7] = (Seconds % 10) + 48; 8075746: 4b49 ldr r3, [pc, #292] ; (807586c ) 8075748: 6819 ldr r1, [r3, #0] 807574a: 4b49 ldr r3, [pc, #292] ; (8075870 ) 807574c: fba3 2301 umull r2, r3, r3, r1 8075750: 08da lsrs r2, r3, #3 8075752: 4613 mov r3, r2 8075754: 009b lsls r3, r3, #2 8075756: 4413 add r3, r2 8075758: 005b lsls r3, r3, #1 807575a: 1aca subs r2, r1, r3 807575c: b2d3 uxtb r3, r2 807575e: 3330 adds r3, #48 ; 0x30 8075760: b2da uxtb r2, r3 8075762: f507 733b add.w r3, r7, #748 ; 0x2ec 8075766: 71da strb r2, [r3, #7] str[8] = '\0'; 8075768: f507 733b add.w r3, r7, #748 ; 0x2ec 807576c: 2200 movs r2, #0 807576e: 721a strb r2, [r3, #8] LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075770: 492c ldr r1, [pc, #176] ; (8075824 ) 8075772: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075776: f7df fd49 bl 805520c BSP_LCD_SetFont(&Font20); 807577a: 483e ldr r0, [pc, #248] ; (8075874 ) 807577c: f7df fd82 bl 8055284 BSP_LCD_DisplayStringAt(165, 120, str, CENTER_MODE); 8075780: f507 723b add.w r2, r7, #748 ; 0x2ec 8075784: 2301 movs r3, #1 8075786: 2178 movs r1, #120 ; 0x78 8075788: 20a5 movs r0, #165 ; 0xa5 807578a: f7df fe05 bl 8055398 if(old_second != Seconds) 807578e: 4b3a ldr r3, [pc, #232] ; (8075878 ) 8075790: 681a ldr r2, [r3, #0] 8075792: 4b36 ldr r3, [pc, #216] ; (807586c ) 8075794: 681b ldr r3, [r3, #0] 8075796: 429a cmp r2, r3 8075798: d004 beq.n 80757a4 DrawImage(&bmREC1, 151, 145); 807579a: 2291 movs r2, #145 ; 0x91 807579c: 2197 movs r1, #151 ; 0x97 807579e: 4837 ldr r0, [pc, #220] ; (807587c ) 80757a0: f7e0 fc28 bl 8055ff4 old_second = Seconds; 80757a4: 4b31 ldr r3, [pc, #196] ; (807586c ) 80757a6: 681b ldr r3, [r3, #0] 80757a8: 4a33 ldr r2, [pc, #204] ; (8075878 ) 80757aa: 6013 str r3, [r2, #0] BSP_LCD_SetFont(&Font12); 80757ac: 481c ldr r0, [pc, #112] ; (8075820 ) 80757ae: f7df fd69 bl 8055284 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80757b2: 491c ldr r1, [pc, #112] ; (8075824 ) 80757b4: f06f 00ff mvn.w r0, #255 ; 0xff 80757b8: f7df fd28 bl 805520c if(pardata.LANG == RUS) 80757bc: 4b1a ldr r3, [pc, #104] ; (8075828 ) 80757be: 7b1b ldrb r3, [r3, #12] 80757c0: b2db uxtb r3, r3 80757c2: 2b00 cmp r3, #0 80757c4: d10c bne.n 80757e0 BSP_LCD_DisplayStringAt(165, 205, "×òîáû îñòàíîâèòü çàïèñü", CENTER_MODE); 80757c6: 2301 movs r3, #1 80757c8: 4a2d ldr r2, [pc, #180] ; (8075880 ) 80757ca: 21cd movs r1, #205 ; 0xcd 80757cc: 20a5 movs r0, #165 ; 0xa5 80757ce: f7df fde3 bl 8055398 BSP_LCD_DisplayStringAt(165, 220, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 80757d2: 2301 movs r3, #1 80757d4: 4a1c ldr r2, [pc, #112] ; (8075848 ) 80757d6: 21dc movs r1, #220 ; 0xdc 80757d8: 20a5 movs r0, #165 ; 0xa5 80757da: f7df fddd bl 8055398 break; 80757de: e012 b.n 8075806 BSP_LCD_DisplayStringAt(165, 220, "To stop recording click [OK]...", CENTER_MODE); 80757e0: 2301 movs r3, #1 80757e2: 4a28 ldr r2, [pc, #160] ; (8075884 ) 80757e4: 21dc movs r1, #220 ; 0xdc 80757e6: 20a5 movs r0, #165 ; 0xa5 80757e8: f7df fdd6 bl 8055398 break; 80757ec: e00b b.n 8075806 break; 80757ee: bf00 nop 80757f0: f023 bcf5 b.w 80991de break; 80757f4: bf00 nop 80757f6: f023 bcf2 b.w 80991de break; 80757fa: bf00 nop 80757fc: f023 bcef b.w 80991de break; 8075800: bf00 nop 8075802: f023 bcec b.w 80991de break; 8075806: bf00 nop break; 8075808: f023 bce9 b.w 80991de * */ u_y[0] = 203; 807580c: 23cb movs r3, #203 ; 0xcb 807580e: f887 3404 strb.w r3, [r7, #1028] ; 0x404 for(i = 1; i < sizeof(u_y); i++) { 8075812: 2301 movs r3, #1 8075814: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8075818: e04e b.n 80758b8 807581a: bf00 nop 807581c: 2002169c .word 0x2002169c 8075820: 20020038 .word 0x20020038 8075824: ff0a0f1f .word 0xff0a0f1f 8075828: 20023eb8 .word 0x20023eb8 807582c: 080d670c .word 0x080d670c 8075830: 080d6730 .word 0x080d6730 8075834: 080d6744 .word 0x080d6744 8075838: 080d6760 .word 0x080d6760 807583c: 20020dd0 .word 0x20020dd0 8075840: ff29eb19 .word 0xff29eb19 8075844: 080d66c4 .word 0x080d66c4 8075848: 080d668c .word 0x080d668c 807584c: 080d66d8 .word 0x080d66d8 8075850: 200216d4 .word 0x200216d4 8075854: 080f5e98 .word 0x080f5e98 8075858: 20021d6c .word 0x20021d6c 807585c: 91a2b3c5 .word 0x91a2b3c5 8075860: 2002168c .word 0x2002168c 8075864: 88888889 .word 0x88888889 8075868: 20021690 .word 0x20021690 807586c: 20021694 .word 0x20021694 8075870: cccccccd .word 0xcccccccd 8075874: 20020050 .word 0x20020050 8075878: 200216b4 .word 0x200216b4 807587c: 0814ae74 .word 0x0814ae74 8075880: 080d6674 .word 0x080d6674 8075884: 080d66a4 .word 0x080d66a4 u_y[i] = u_y[0] - i * 24; 8075888: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807588c: f897 1404 ldrb.w r1, [r7, #1028] ; 0x404 8075890: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8075894: b2d2 uxtb r2, r2 8075896: 4610 mov r0, r2 8075898: 0040 lsls r0, r0, #1 807589a: 4402 add r2, r0 807589c: 00d2 lsls r2, r2, #3 807589e: b2d2 uxtb r2, r2 80758a0: 1a8a subs r2, r1, r2 80758a2: b2d2 uxtb r2, r2 80758a4: f507 618e add.w r1, r7, #1136 ; 0x470 80758a8: 440b add r3, r1 80758aa: f803 2c6c strb.w r2, [r3, #-108] for(i = 1; i < sizeof(u_y); i++) { 80758ae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80758b2: 3301 adds r3, #1 80758b4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 80758b8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80758bc: 2b06 cmp r3, #6 80758be: d9e3 bls.n 8075888 BSP_LCD_DisplayStringAt(29, u_y[i] - 2, (char *) FloatToASCII(Pfy[i], -1), RIGHT_MODE);*/ BSP_LCD_SetFont(&Font12); 80758c0: 48cd ldr r0, [pc, #820] ; (8075bf8 ) 80758c2: f7df fcdf bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80758c6: 49cd ldr r1, [pc, #820] ; (8075bfc ) 80758c8: f04f 30ff mov.w r0, #4294967295 80758cc: f7df fc9e bl 805520c else if(menupos == StartStop) {*/ //DrawImage(&bmLEFT_1, 9, 214); //DrawImage(&bmMINUS_1, 71, 214); DrawImage(&bmPLAY_1_LIGHT, 133, 214); 80758d0: 22d6 movs r2, #214 ; 0xd6 80758d2: 2185 movs r1, #133 ; 0x85 80758d4: 48ca ldr r0, [pc, #808] ; (8075c00 ) 80758d6: f7e0 fb8d bl 8055ff4 if(measuring) 80758da: 4bca ldr r3, [pc, #808] ; (8075c04 ) 80758dc: 781b ldrb r3, [r3, #0] 80758de: b2db uxtb r3, r3 80758e0: 2b00 cmp r3, #0 80758e2: d00c beq.n 80758fe BSP_LCD_DisplayStringAt(133 + 27, 221, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80758e4: 4bc8 ldr r3, [pc, #800] ; (8075c08 ) 80758e6: 7b1b ldrb r3, [r3, #12] 80758e8: b2db uxtb r3, r3 80758ea: 4ac8 ldr r2, [pc, #800] ; (8075c0c ) 80758ec: 00db lsls r3, r3, #3 80758ee: 4413 add r3, r2 80758f0: 685a ldr r2, [r3, #4] 80758f2: 2301 movs r3, #1 80758f4: 21dd movs r1, #221 ; 0xdd 80758f6: 20a0 movs r0, #160 ; 0xa0 80758f8: f7df fd4e bl 8055398 80758fc: e00b b.n 8075916 else BSP_LCD_DisplayStringAt(133 + 27, 221, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80758fe: 4bc2 ldr r3, [pc, #776] ; (8075c08 ) 8075900: 7b1b ldrb r3, [r3, #12] 8075902: b2db uxtb r3, r3 8075904: 461a mov r2, r3 8075906: 4bc1 ldr r3, [pc, #772] ; (8075c0c ) 8075908: f853 2032 ldr.w r2, [r3, r2, lsl #3] 807590c: 2301 movs r3, #1 807590e: 21dd movs r1, #221 ; 0xdd 8075910: 20a0 movs r0, #160 ; 0xa0 8075912: f7df fd41 bl 8055398 DrawImage(&bmPLUS_1, 195, 214); DrawImage(&bmRIGHT_1, 257, 214); }*/ LCD_SetColors(0xFF000000, 0xFF000000); 8075916: f04f 417f mov.w r1, #4278190080 ; 0xff000000 807591a: f04f 407f mov.w r0, #4278190080 ; 0xff000000 807591e: f7df fc75 bl 805520c BSP_LCD_FillRect(32, 35, 256, 178); 8075922: 23b2 movs r3, #178 ; 0xb2 8075924: f44f 7280 mov.w r2, #256 ; 0x100 8075928: 2123 movs r1, #35 ; 0x23 807592a: 2020 movs r0, #32 807592c: f7e0 f8fc bl 8055b28 LCD_SetColors(0xFF131313, LCD_COLOR_BLACK); 8075930: 49b2 ldr r1, [pc, #712] ; (8075bfc ) 8075932: 48b7 ldr r0, [pc, #732] ; (8075c10 ) 8075934: f7df fc6a bl 805520c for(i = 0; i < 4; i++) { 8075938: 2300 movs r3, #0 807593a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 807593e: e010 b.n 8075962 BSP_LCD_DrawVLine(32 + (i << 6), 35, 168); 8075940: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8075944: b29b uxth r3, r3 8075946: 019b lsls r3, r3, #6 8075948: b29b uxth r3, r3 807594a: 3320 adds r3, #32 807594c: b29b uxth r3, r3 807594e: 22a8 movs r2, #168 ; 0xa8 8075950: 2123 movs r1, #35 ; 0x23 8075952: 4618 mov r0, r3 8075954: f7df fe32 bl 80555bc for(i = 0; i < 4; i++) { 8075958: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807595c: 3301 adds r3, #1 807595e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8075962: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8075966: 2b03 cmp r3, #3 8075968: d9ea bls.n 8075940 } for(i = 0; i < 8; i++) { 807596a: 2300 movs r3, #0 807596c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8075970: e014 b.n 807599c BSP_LCD_DrawHLine(32, 35 + i*24, 256); 8075972: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8075976: b29b uxth r3, r3 8075978: 461a mov r2, r3 807597a: 0052 lsls r2, r2, #1 807597c: 4413 add r3, r2 807597e: 00db lsls r3, r3, #3 8075980: b29b uxth r3, r3 8075982: 3323 adds r3, #35 ; 0x23 8075984: b29b uxth r3, r3 8075986: f44f 7280 mov.w r2, #256 ; 0x100 807598a: 4619 mov r1, r3 807598c: 2020 movs r0, #32 807598e: f7df fdb7 bl 8055500 for(i = 0; i < 8; i++) { 8075992: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8075996: 3301 adds r3, #1 8075998: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 807599c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80759a0: 2b07 cmp r3, #7 80759a2: d9e6 bls.n 8075972 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80759a4: 4995 ldr r1, [pc, #596] ; (8075bfc ) 80759a6: f04f 30ff mov.w r0, #4294967295 80759aa: f7df fc2f bl 805520c BSP_LCD_DrawVLine(31, 34, 179); 80759ae: 22b3 movs r2, #179 ; 0xb3 80759b0: 2122 movs r1, #34 ; 0x22 80759b2: 201f movs r0, #31 80759b4: f7df fe02 bl 80555bc BSP_LCD_DrawVLine(288, 34, 179); 80759b8: 22b3 movs r2, #179 ; 0xb3 80759ba: 2122 movs r1, #34 ; 0x22 80759bc: f44f 7090 mov.w r0, #288 ; 0x120 80759c0: f7df fdfc bl 80555bc BSP_LCD_DrawHLine(31, 34, 258); 80759c4: f44f 7281 mov.w r2, #258 ; 0x102 80759c8: 2122 movs r1, #34 ; 0x22 80759ca: 201f movs r0, #31 80759cc: f7df fd98 bl 8055500 BSP_LCD_DrawHLine(31, 213, 258); 80759d0: f44f 7281 mov.w r2, #258 ; 0x102 80759d4: 21d5 movs r1, #213 ; 0xd5 80759d6: 201f movs r0, #31 80759d8: f7df fd92 bl 8055500 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80759dc: 4987 ldr r1, [pc, #540] ; (8075bfc ) 80759de: f04f 30ff mov.w r0, #4294967295 80759e2: f7df fc13 bl 805520c BSP_LCD_SetFont(&Font12); 80759e6: 4884 ldr r0, [pc, #528] ; (8075bf8 ) 80759e8: f7df fc4c bl 8055284 BSP_LCD_DisplayStringAt(256, 36, "dBm=", RIGHT_MODE); 80759ec: 2302 movs r3, #2 80759ee: 4a89 ldr r2, [pc, #548] ; (8075c14 ) 80759f0: 2124 movs r1, #36 ; 0x24 80759f2: f44f 7080 mov.w r0, #256 ; 0x100 80759f6: f7df fccf bl 8055398 BSP_LCD_DisplayStringAt(256, 48, "dBi=", RIGHT_MODE); 80759fa: 2302 movs r3, #2 80759fc: 4a86 ldr r2, [pc, #536] ; (8075c18 ) 80759fe: 2130 movs r1, #48 ; 0x30 8075a00: f44f 7080 mov.w r0, #256 ; 0x100 8075a04: f7df fcc8 bl 8055398 BSP_LCD_DisplayStringAt(256, 60, "dBc=", RIGHT_MODE); 8075a08: 2302 movs r3, #2 8075a0a: 4a84 ldr r2, [pc, #528] ; (8075c1c ) 8075a0c: 213c movs r1, #60 ; 0x3c 8075a0e: f44f 7080 mov.w r0, #256 ; 0x100 8075a12: f7df fcc1 bl 8055398 BSP_LCD_DisplayStringAt( 30, 37, "dBsv", RIGHT_MODE); 8075a16: 2302 movs r3, #2 8075a18: 4a81 ldr r2, [pc, #516] ; (8075c20 ) 8075a1a: 2125 movs r1, #37 ; 0x25 8075a1c: 201e movs r0, #30 8075a1e: f7df fcbb bl 8055398 if((Stability > (Nr * 4)) && (!timeRelax)) 8075a22: 4b80 ldr r3, [pc, #512] ; (8075c24 ) 8075a24: 881b ldrh r3, [r3, #0] 8075a26: b29b uxth r3, r3 8075a28: 009b lsls r3, r3, #2 8075a2a: 461a mov r2, r3 8075a2c: 4b7e ldr r3, [pc, #504] ; (8075c28 ) 8075a2e: 681b ldr r3, [r3, #0] 8075a30: 429a cmp r2, r3 8075a32: f080 8303 bcs.w 807603c 8075a36: 4b7d ldr r3, [pc, #500] ; (8075c2c ) 8075a38: 681b ldr r3, [r3, #0] 8075a3a: 2b00 cmp r3, #0 8075a3c: f040 82fe bne.w 807603c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075a40: 496e ldr r1, [pc, #440] ; (8075bfc ) 8075a42: f04f 30ff mov.w r0, #4294967295 8075a46: f7df fbe1 bl 805520c Pfy[0] = -20.0; 8075a4a: 4b79 ldr r3, [pc, #484] ; (8075c30 ) 8075a4c: 4a79 ldr r2, [pc, #484] ; (8075c34 ) 8075a4e: 601a str r2, [r3, #0] Pfy[1] = 0.0; 8075a50: 4b77 ldr r3, [pc, #476] ; (8075c30 ) 8075a52: f04f 0200 mov.w r2, #0 8075a56: 605a str r2, [r3, #4] Pfy[2] = 20.0; 8075a58: 4b75 ldr r3, [pc, #468] ; (8075c30 ) 8075a5a: 4a77 ldr r2, [pc, #476] ; (8075c38 ) 8075a5c: 609a str r2, [r3, #8] Pfy[3] = 40.0; 8075a5e: 4b74 ldr r3, [pc, #464] ; (8075c30 ) 8075a60: 4a76 ldr r2, [pc, #472] ; (8075c3c ) 8075a62: 60da str r2, [r3, #12] Pfy[4] = 60.0; 8075a64: 4b72 ldr r3, [pc, #456] ; (8075c30 ) 8075a66: 4a76 ldr r2, [pc, #472] ; (8075c40 ) 8075a68: 611a str r2, [r3, #16] Pfy[5] = 80.0; 8075a6a: 4b71 ldr r3, [pc, #452] ; (8075c30 ) 8075a6c: 4a75 ldr r2, [pc, #468] ; (8075c44 ) 8075a6e: 615a str r2, [r3, #20] Pfy[6] = 100.0; 8075a70: 4b6f ldr r3, [pc, #444] ; (8075c30 ) 8075a72: 4a75 ldr r2, [pc, #468] ; (8075c48 ) 8075a74: 619a str r2, [r3, #24] BSP_LCD_SetFont(&Font8); 8075a76: 4875 ldr r0, [pc, #468] ; (8075c4c ) 8075a78: f7df fc04 bl 8055284 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8075a7c: 495f ldr r1, [pc, #380] ; (8075bfc ) 8075a7e: 4874 ldr r0, [pc, #464] ; (8075c50 ) 8075a80: f7df fbc4 bl 805520c for(i = 0; i < 7; i++) 8075a84: 2300 movs r3, #0 8075a86: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8075a8a: e021 b.n 8075ad0 BSP_LCD_DisplayStringAt(29, u_y[i] - 2, (char *) FloatToASCII(Pfy[i], -1), RIGHT_MODE); 8075a8c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8075a90: f507 628e add.w r2, r7, #1136 ; 0x470 8075a94: 4413 add r3, r2 8075a96: f813 3c6c ldrb.w r3, [r3, #-108] 8075a9a: b29b uxth r3, r3 8075a9c: 3b02 subs r3, #2 8075a9e: b29c uxth r4, r3 8075aa0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8075aa4: 4a62 ldr r2, [pc, #392] ; (8075c30 ) 8075aa6: 009b lsls r3, r3, #2 8075aa8: 4413 add r3, r2 8075aaa: edd3 7a00 vldr s15, [r3] 8075aae: f04f 30ff mov.w r0, #4294967295 8075ab2: eeb0 0a67 vmov.f32 s0, s15 8075ab6: f7f2 fb73 bl 80681a0 8075aba: 4602 mov r2, r0 8075abc: 2302 movs r3, #2 8075abe: 4621 mov r1, r4 8075ac0: 201d movs r0, #29 8075ac2: f7df fc69 bl 8055398 for(i = 0; i < 7; i++) 8075ac6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8075aca: 3301 adds r3, #1 8075acc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8075ad0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8075ad4: 2b06 cmp r3, #6 8075ad6: d9d9 bls.n 8075a8c LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 8075ad8: 4948 ldr r1, [pc, #288] ; (8075bfc ) 8075ada: 485e ldr r0, [pc, #376] ; (8075c54 ) 8075adc: f7df fb96 bl 805520c for(i = 0; i < 256; i++) 8075ae0: 2300 movs r3, #0 8075ae2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8075ae6: e1d0 b.n 8075e8a { f = ScrA_f32(i); 8075ae8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8075aec: 009a lsls r2, r3, #2 8075aee: 4b5a ldr r3, [pc, #360] ; (8075c58 ) 8075af0: 4413 add r3, r2 8075af2: 681b ldr r3, [r3, #0] 8075af4: f507 628b add.w r2, r7, #1112 ; 0x458 8075af8: 6013 str r3, [r2, #0] if(f < -20.0f) 8075afa: f507 638b add.w r3, r7, #1112 ; 0x458 8075afe: edd3 7a00 vldr s15, [r3] 8075b02: eebb 7a04 vmov.f32 s14, #180 ; 0xc1a00000 -20.0 8075b06: eef4 7ac7 vcmpe.f32 s15, s14 8075b0a: eef1 fa10 vmrs APSR_nzcv, fpscr 8075b0e: d503 bpl.n 8075b18 f = -20.0f; 8075b10: 4b48 ldr r3, [pc, #288] ; (8075c34 ) 8075b12: f507 628b add.w r2, r7, #1112 ; 0x458 8075b16: 6013 str r3, [r2, #0] if(f > 100.0f) 8075b18: f507 638b add.w r3, r7, #1112 ; 0x458 8075b1c: edd3 7a00 vldr s15, [r3] 8075b20: ed9f 7a4e vldr s14, [pc, #312] ; 8075c5c 8075b24: eef4 7ac7 vcmpe.f32 s15, s14 8075b28: eef1 fa10 vmrs APSR_nzcv, fpscr 8075b2c: dd03 ble.n 8075b36 f = 100.0f; 8075b2e: 4b46 ldr r3, [pc, #280] ; (8075c48 ) 8075b30: f507 628b add.w r2, r7, #1112 ; 0x458 8075b34: 6013 str r3, [r2, #0] if(f < 0.0f) 8075b36: f507 638b add.w r3, r7, #1112 ; 0x458 8075b3a: edd3 7a00 vldr s15, [r3] 8075b3e: eef5 7ac0 vcmpe.f32 s15, #0.0 8075b42: eef1 fa10 vmrs APSR_nzcv, fpscr 8075b46: d537 bpl.n 8075bb8 { f = (24 - (24 * f / Pfy[0])) + 0.5f; 8075b48: f507 638b add.w r3, r7, #1112 ; 0x458 8075b4c: edd3 7a00 vldr s15, [r3] 8075b50: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8075b54: ee67 6a87 vmul.f32 s13, s15, s14 8075b58: 4b35 ldr r3, [pc, #212] ; (8075c30 ) 8075b5a: ed93 7a00 vldr s14, [r3] 8075b5e: eec6 7a87 vdiv.f32 s15, s13, s14 8075b62: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8075b66: ee77 7a67 vsub.f32 s15, s14, s15 8075b6a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8075b6e: ee77 7a87 vadd.f32 s15, s15, s14 8075b72: f507 638b add.w r3, r7, #1112 ; 0x458 8075b76: edc3 7a00 vstr s15, [r3] y = u_y[0] - (uint32_t) f; 8075b7a: f897 3404 ldrb.w r3, [r7, #1028] ; 0x404 8075b7e: f507 628b add.w r2, r7, #1112 ; 0x458 8075b82: edd2 7a00 vldr s15, [r2] 8075b86: eefc 7ae7 vcvt.u32.f32 s15, s15 8075b8a: ee17 2a90 vmov r2, s15 8075b8e: 1a9b subs r3, r3, r2 8075b90: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(f <= Pfy[0])// <= -20 8075b94: 4b26 ldr r3, [pc, #152] ; (8075c30 ) 8075b96: ed93 7a00 vldr s14, [r3] 8075b9a: f507 638b add.w r3, r7, #1112 ; 0x458 8075b9e: edd3 7a00 vldr s15, [r3] 8075ba2: eeb4 7ae7 vcmpe.f32 s14, s15 8075ba6: eef1 fa10 vmrs APSR_nzcv, fpscr 8075baa: f2c0 8155 blt.w 8075e58 y = u_y[0]; 8075bae: f897 3404 ldrb.w r3, [r7, #1028] ; 0x404 8075bb2: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8075bb6: e14f b.n 8075e58 } else if(f == 0.0f) 8075bb8: f507 638b add.w r3, r7, #1112 ; 0x458 8075bbc: edd3 7a00 vldr s15, [r3] 8075bc0: eef5 7a40 vcmp.f32 s15, #0.0 8075bc4: eef1 fa10 vmrs APSR_nzcv, fpscr 8075bc8: d104 bne.n 8075bd4 { y = u_y[1]; 8075bca: f897 3405 ldrb.w r3, [r7, #1029] ; 0x405 8075bce: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8075bd2: e141 b.n 8075e58 } else if(f >= Pfy[6]) // >= 100 8075bd4: 4b16 ldr r3, [pc, #88] ; (8075c30 ) 8075bd6: ed93 7a06 vldr s14, [r3, #24] 8075bda: f507 638b add.w r3, r7, #1112 ; 0x458 8075bde: edd3 7a00 vldr s15, [r3] 8075be2: eeb4 7ae7 vcmpe.f32 s14, s15 8075be6: eef1 fa10 vmrs APSR_nzcv, fpscr 8075bea: d839 bhi.n 8075c60 { y = u_y[6]; 8075bec: f897 340a ldrb.w r3, [r7, #1034] ; 0x40a 8075bf0: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8075bf4: e130 b.n 8075e58 8075bf6: bf00 nop 8075bf8: 20020038 .word 0x20020038 8075bfc: ff0a0f1f .word 0xff0a0f1f 8075c00: 081491d8 .word 0x081491d8 8075c04: 20020dcf .word 0x20020dcf 8075c08: 20023eb8 .word 0x20023eb8 8075c0c: 200201d4 .word 0x200201d4 8075c10: ff131313 .word 0xff131313 8075c14: 080d6770 .word 0x080d6770 8075c18: 080d6778 .word 0x080d6778 8075c1c: 080d6780 .word 0x080d6780 8075c20: 080d6788 .word 0x080d6788 8075c24: 20021d70 .word 0x20021d70 8075c28: 20020dc8 .word 0x20020dc8 8075c2c: 20020d8c .word 0x20020d8c 8075c30: 20068628 .word 0x20068628 8075c34: c1a00000 .word 0xc1a00000 8075c38: 41a00000 .word 0x41a00000 8075c3c: 42200000 .word 0x42200000 8075c40: 42700000 .word 0x42700000 8075c44: 42a00000 .word 0x42a00000 8075c48: 42c80000 .word 0x42c80000 8075c4c: 20020060 .word 0x20020060 8075c50: ff808080 .word 0xff808080 8075c54: ff26a01f .word 0xff26a01f 8075c58: 64080000 .word 0x64080000 8075c5c: 42c80000 .word 0x42c80000 } else if(f <= Pfy[2]) // <= 20 8075c60: 4bd8 ldr r3, [pc, #864] ; (8075fc4 ) 8075c62: ed93 7a02 vldr s14, [r3, #8] 8075c66: f507 638b add.w r3, r7, #1112 ; 0x458 8075c6a: edd3 7a00 vldr s15, [r3] 8075c6e: eeb4 7ae7 vcmpe.f32 s14, s15 8075c72: eef1 fa10 vmrs APSR_nzcv, fpscr 8075c76: db21 blt.n 8075cbc { f = (24 * f / 20.0f) + 0.5f; 8075c78: f507 638b add.w r3, r7, #1112 ; 0x458 8075c7c: edd3 7a00 vldr s15, [r3] 8075c80: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8075c84: ee27 7a87 vmul.f32 s14, s15, s14 8075c88: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 8075c8c: eec7 7a26 vdiv.f32 s15, s14, s13 8075c90: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8075c94: ee77 7a87 vadd.f32 s15, s15, s14 8075c98: f507 638b add.w r3, r7, #1112 ; 0x458 8075c9c: edc3 7a00 vstr s15, [r3] y = u_y[1] - (uint32_t) f; 8075ca0: f897 3405 ldrb.w r3, [r7, #1029] ; 0x405 8075ca4: f507 628b add.w r2, r7, #1112 ; 0x458 8075ca8: edd2 7a00 vldr s15, [r2] 8075cac: eefc 7ae7 vcvt.u32.f32 s15, s15 8075cb0: ee17 2a90 vmov r2, s15 8075cb4: 1a9b subs r3, r3, r2 8075cb6: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8075cba: e0cd b.n 8075e58 } else if(f <= Pfy[3]) // <= 40 8075cbc: 4bc1 ldr r3, [pc, #772] ; (8075fc4 ) 8075cbe: ed93 7a03 vldr s14, [r3, #12] 8075cc2: f507 638b add.w r3, r7, #1112 ; 0x458 8075cc6: edd3 7a00 vldr s15, [r3] 8075cca: eeb4 7ae7 vcmpe.f32 s14, s15 8075cce: eef1 fa10 vmrs APSR_nzcv, fpscr 8075cd2: db25 blt.n 8075d20 { f = (24 * ((f - 20.0f) / 20.0f)) + 0.5f; 8075cd4: f507 638b add.w r3, r7, #1112 ; 0x458 8075cd8: edd3 7a00 vldr s15, [r3] 8075cdc: eeb3 7a04 vmov.f32 s14, #52 ; 0x41a00000 20.0 8075ce0: ee37 7ac7 vsub.f32 s14, s15, s14 8075ce4: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 8075ce8: eec7 7a26 vdiv.f32 s15, s14, s13 8075cec: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8075cf0: ee67 7a87 vmul.f32 s15, s15, s14 8075cf4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8075cf8: ee77 7a87 vadd.f32 s15, s15, s14 8075cfc: f507 638b add.w r3, r7, #1112 ; 0x458 8075d00: edc3 7a00 vstr s15, [r3] y = u_y[2] - (uint32_t) f; 8075d04: f897 3406 ldrb.w r3, [r7, #1030] ; 0x406 8075d08: f507 628b add.w r2, r7, #1112 ; 0x458 8075d0c: edd2 7a00 vldr s15, [r2] 8075d10: eefc 7ae7 vcvt.u32.f32 s15, s15 8075d14: ee17 2a90 vmov r2, s15 8075d18: 1a9b subs r3, r3, r2 8075d1a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8075d1e: e09b b.n 8075e58 } else if(f <= Pfy[4]) // <= 60 8075d20: 4ba8 ldr r3, [pc, #672] ; (8075fc4 ) 8075d22: ed93 7a04 vldr s14, [r3, #16] 8075d26: f507 638b add.w r3, r7, #1112 ; 0x458 8075d2a: edd3 7a00 vldr s15, [r3] 8075d2e: eeb4 7ae7 vcmpe.f32 s14, s15 8075d32: eef1 fa10 vmrs APSR_nzcv, fpscr 8075d36: db25 blt.n 8075d84 { f = (24 * ((f - 40.0f) / 20.0f)) + 0.5f; 8075d38: f507 638b add.w r3, r7, #1112 ; 0x458 8075d3c: edd3 7a00 vldr s15, [r3] 8075d40: ed9f 7aa1 vldr s14, [pc, #644] ; 8075fc8 8075d44: ee37 7ac7 vsub.f32 s14, s15, s14 8075d48: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 8075d4c: eec7 7a26 vdiv.f32 s15, s14, s13 8075d50: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8075d54: ee67 7a87 vmul.f32 s15, s15, s14 8075d58: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8075d5c: ee77 7a87 vadd.f32 s15, s15, s14 8075d60: f507 638b add.w r3, r7, #1112 ; 0x458 8075d64: edc3 7a00 vstr s15, [r3] y = u_y[3] - (uint32_t) f; 8075d68: f897 3407 ldrb.w r3, [r7, #1031] ; 0x407 8075d6c: f507 628b add.w r2, r7, #1112 ; 0x458 8075d70: edd2 7a00 vldr s15, [r2] 8075d74: eefc 7ae7 vcvt.u32.f32 s15, s15 8075d78: ee17 2a90 vmov r2, s15 8075d7c: 1a9b subs r3, r3, r2 8075d7e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8075d82: e069 b.n 8075e58 } else if(f <= Pfy[5]) // <= 80 8075d84: 4b8f ldr r3, [pc, #572] ; (8075fc4 ) 8075d86: ed93 7a05 vldr s14, [r3, #20] 8075d8a: f507 638b add.w r3, r7, #1112 ; 0x458 8075d8e: edd3 7a00 vldr s15, [r3] 8075d92: eeb4 7ae7 vcmpe.f32 s14, s15 8075d96: eef1 fa10 vmrs APSR_nzcv, fpscr 8075d9a: db25 blt.n 8075de8 { f = (24 * ((f - 60.0f) / 20.0f)) + 0.5f; 8075d9c: f507 638b add.w r3, r7, #1112 ; 0x458 8075da0: edd3 7a00 vldr s15, [r3] 8075da4: ed9f 7a89 vldr s14, [pc, #548] ; 8075fcc 8075da8: ee37 7ac7 vsub.f32 s14, s15, s14 8075dac: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 8075db0: eec7 7a26 vdiv.f32 s15, s14, s13 8075db4: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8075db8: ee67 7a87 vmul.f32 s15, s15, s14 8075dbc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8075dc0: ee77 7a87 vadd.f32 s15, s15, s14 8075dc4: f507 638b add.w r3, r7, #1112 ; 0x458 8075dc8: edc3 7a00 vstr s15, [r3] y = u_y[4] - (uint32_t) f; 8075dcc: f897 3408 ldrb.w r3, [r7, #1032] ; 0x408 8075dd0: f507 628b add.w r2, r7, #1112 ; 0x458 8075dd4: edd2 7a00 vldr s15, [r2] 8075dd8: eefc 7ae7 vcvt.u32.f32 s15, s15 8075ddc: ee17 2a90 vmov r2, s15 8075de0: 1a9b subs r3, r3, r2 8075de2: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8075de6: e037 b.n 8075e58 } else if(f <= Pfy[6]) // <= 100 8075de8: 4b76 ldr r3, [pc, #472] ; (8075fc4 ) 8075dea: ed93 7a06 vldr s14, [r3, #24] 8075dee: f507 638b add.w r3, r7, #1112 ; 0x458 8075df2: edd3 7a00 vldr s15, [r3] 8075df6: eeb4 7ae7 vcmpe.f32 s14, s15 8075dfa: eef1 fa10 vmrs APSR_nzcv, fpscr 8075dfe: db2b blt.n 8075e58 { f = (24 * ((f - 80.0f) / 20.0f)) + 0.5f; 8075e00: f507 638b add.w r3, r7, #1112 ; 0x458 8075e04: edd3 7a00 vldr s15, [r3] 8075e08: ed9f 7a71 vldr s14, [pc, #452] ; 8075fd0 8075e0c: ee37 7ac7 vsub.f32 s14, s15, s14 8075e10: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 8075e14: eec7 7a26 vdiv.f32 s15, s14, s13 8075e18: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8075e1c: ee67 7a87 vmul.f32 s15, s15, s14 8075e20: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8075e24: ee77 7a87 vadd.f32 s15, s15, s14 8075e28: f507 638b add.w r3, r7, #1112 ; 0x458 8075e2c: edc3 7a00 vstr s15, [r3] y = u_y[5] - (uint32_t) f; 8075e30: f897 3409 ldrb.w r3, [r7, #1033] ; 0x409 8075e34: f507 628b add.w r2, r7, #1112 ; 0x458 8075e38: edd2 7a00 vldr s15, [r2] 8075e3c: eefc 7ae7 vcvt.u32.f32 s15, s15 8075e40: ee17 2a90 vmov r2, s15 8075e44: 1a9b subs r3, r3, r2 8075e46: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(y > 24) y = 24; 8075e4a: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8075e4e: 2b18 cmp r3, #24 8075e50: d902 bls.n 8075e58 8075e52: 2318 movs r3, #24 8075e54: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 } BSP_LCD_DrawLine(32 + i, y, 32 + i, 203); 8075e58: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8075e5c: b29b uxth r3, r3 8075e5e: 3320 adds r3, #32 8075e60: b298 uxth r0, r3 8075e62: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8075e66: b299 uxth r1, r3 8075e68: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8075e6c: b29b uxth r3, r3 8075e6e: 3320 adds r3, #32 8075e70: b29a uxth r2, r3 8075e72: 23cb movs r3, #203 ; 0xcb 8075e74: f7df fc04 bl 8055680 oldy = y; 8075e78: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8075e7c: f8c7 345c str.w r3, [r7, #1116] ; 0x45c for(i = 0; i < 256; i++) 8075e80: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8075e84: 3301 adds r3, #1 8075e86: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8075e8a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8075e8e: 2bff cmp r3, #255 ; 0xff 8075e90: f67f ae2a bls.w 8075ae8 } BSP_LCD_SetFont(&Font12); 8075e94: 484f ldr r0, [pc, #316] ; (8075fd4 ) 8075e96: f7df f9f5 bl 8055284 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075e9a: 494f ldr r1, [pc, #316] ; (8075fd8 ) 8075e9c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075ea0: f7df f9b4 bl 805520c if(dBm != -100.0f) 8075ea4: 4b4d ldr r3, [pc, #308] ; (8075fdc ) 8075ea6: edd3 7a00 vldr s15, [r3] 8075eaa: ed9f 7a4d vldr s14, [pc, #308] ; 8075fe0 8075eae: eef4 7a47 vcmp.f32 s15, s14 8075eb2: eef1 fa10 vmrs APSR_nzcv, fpscr 8075eb6: f000 80e2 beq.w 807607e { BSP_LCD_DisplayStringAt(286, 36, (char *) FloatToASCII(dBm, 0), RIGHT_MODE); 8075eba: 4b48 ldr r3, [pc, #288] ; (8075fdc ) 8075ebc: edd3 7a00 vldr s15, [r3] 8075ec0: 2000 movs r0, #0 8075ec2: eeb0 0a67 vmov.f32 s0, s15 8075ec6: f7f2 f96b bl 80681a0 8075eca: 4602 mov r2, r0 8075ecc: 2302 movs r3, #2 8075ece: 2124 movs r1, #36 ; 0x24 8075ed0: f44f 708f mov.w r0, #286 ; 0x11e 8075ed4: f7df fa60 bl 8055398 BSP_LCD_DisplayStringAt(286, 48, (char *) FloatToASCII(dBi, 0), RIGHT_MODE); 8075ed8: 4b42 ldr r3, [pc, #264] ; (8075fe4 ) 8075eda: edd3 7a00 vldr s15, [r3] 8075ede: 2000 movs r0, #0 8075ee0: eeb0 0a67 vmov.f32 s0, s15 8075ee4: f7f2 f95c bl 80681a0 8075ee8: 4602 mov r2, r0 8075eea: 2302 movs r3, #2 8075eec: 2130 movs r1, #48 ; 0x30 8075eee: f44f 708f mov.w r0, #286 ; 0x11e 8075ef2: f7df fa51 bl 8055398 BSP_LCD_DisplayStringAt(286, 60, (char *) FloatToASCII(dBc, 0), RIGHT_MODE); 8075ef6: 4b3c ldr r3, [pc, #240] ; (8075fe8 ) 8075ef8: edd3 7a00 vldr s15, [r3] 8075efc: 2000 movs r0, #0 8075efe: eeb0 0a67 vmov.f32 s0, s15 8075f02: f7f2 f94d bl 80681a0 8075f06: 4602 mov r2, r0 8075f08: 2302 movs r3, #2 8075f0a: 213c movs r1, #60 ; 0x3c 8075f0c: f44f 708f mov.w r0, #286 ; 0x11e 8075f10: f7df fa42 bl 8055398 // 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) 8075f14: 4b31 ldr r3, [pc, #196] ; (8075fdc ) 8075f16: edd3 7a00 vldr s15, [r3] 8075f1a: eef5 7ac0 vcmpe.f32 s15, #0.0 8075f1e: eef1 fa10 vmrs APSR_nzcv, fpscr 8075f22: d822 bhi.n 8075f6a { LCD_SetColors(MY_LCD_COLOR_DARKRED, LCD_COLOR_BLACK); 8075f24: 492c ldr r1, [pc, #176] ; (8075fd8 ) 8075f26: 4831 ldr r0, [pc, #196] ; (8075fec ) 8075f28: f7df f970 bl 805520c BSP_LCD_FillRect(293, 35, 14, 59); 8075f2c: 233b movs r3, #59 ; 0x3b 8075f2e: 220e movs r2, #14 8075f30: 2123 movs r1, #35 ; 0x23 8075f32: f240 1025 movw r0, #293 ; 0x125 8075f36: f7df fdf7 bl 8055b28 LCD_SetColors(MY_LCD_COLOR_DARKYELLOW, LCD_COLOR_BLACK); 8075f3a: 4927 ldr r1, [pc, #156] ; (8075fd8 ) 8075f3c: 482c ldr r0, [pc, #176] ; (8075ff0 ) 8075f3e: f7df f965 bl 805520c BSP_LCD_FillRect(293, 35 + 59, 14, 59); 8075f42: 233b movs r3, #59 ; 0x3b 8075f44: 220e movs r2, #14 8075f46: 215e movs r1, #94 ; 0x5e 8075f48: f240 1025 movw r0, #293 ; 0x125 8075f4c: f7df fdec bl 8055b28 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075f50: 4921 ldr r1, [pc, #132] ; (8075fd8 ) 8075f52: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075f56: f7df f959 bl 805520c BSP_LCD_FillRect(293, 35 + 59 + 59, 14, 59); 8075f5a: 233b movs r3, #59 ; 0x3b 8075f5c: 220e movs r2, #14 8075f5e: 2199 movs r1, #153 ; 0x99 8075f60: f240 1025 movw r0, #293 ; 0x125 8075f64: f7df fde0 bl 8055b28 if(dBm != -100.0f) 8075f68: e089 b.n 807607e } else if(dBm <= 15.0f) 8075f6a: 4b1c ldr r3, [pc, #112] ; (8075fdc ) 8075f6c: edd3 7a00 vldr s15, [r3] 8075f70: eeb2 7a0e vmov.f32 s14, #46 ; 0x41700000 15.0 8075f74: eef4 7ac7 vcmpe.f32 s15, s14 8075f78: eef1 fa10 vmrs APSR_nzcv, fpscr 8075f7c: d83c bhi.n 8075ff8 { LCD_SetColors(MY_LCD_COLOR_DARKRED, LCD_COLOR_BLACK); 8075f7e: 4916 ldr r1, [pc, #88] ; (8075fd8 ) 8075f80: 481a ldr r0, [pc, #104] ; (8075fec ) 8075f82: f7df f943 bl 805520c BSP_LCD_FillRect(293, 35, 14, 59); 8075f86: 233b movs r3, #59 ; 0x3b 8075f88: 220e movs r2, #14 8075f8a: 2123 movs r1, #35 ; 0x23 8075f8c: f240 1025 movw r0, #293 ; 0x125 8075f90: f7df fdca bl 8055b28 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8075f94: 4910 ldr r1, [pc, #64] ; (8075fd8 ) 8075f96: f06f 00ff mvn.w r0, #255 ; 0xff 8075f9a: f7df f937 bl 805520c BSP_LCD_FillRect(293, 35 + 59, 14, 59); 8075f9e: 233b movs r3, #59 ; 0x3b 8075fa0: 220e movs r2, #14 8075fa2: 215e movs r1, #94 ; 0x5e 8075fa4: f240 1025 movw r0, #293 ; 0x125 8075fa8: f7df fdbe bl 8055b28 LCD_SetColors(MY_LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 8075fac: 490a ldr r1, [pc, #40] ; (8075fd8 ) 8075fae: 4811 ldr r0, [pc, #68] ; (8075ff4 ) 8075fb0: f7df f92c bl 805520c BSP_LCD_FillRect(293, 35 + 59 + 59, 14, 59); 8075fb4: 233b movs r3, #59 ; 0x3b 8075fb6: 220e movs r2, #14 8075fb8: 2199 movs r1, #153 ; 0x99 8075fba: f240 1025 movw r0, #293 ; 0x125 8075fbe: f7df fdb3 bl 8055b28 if(dBm != -100.0f) 8075fc2: e05c b.n 807607e 8075fc4: 20068628 .word 0x20068628 8075fc8: 42200000 .word 0x42200000 8075fcc: 42700000 .word 0x42700000 8075fd0: 42a00000 .word 0x42a00000 8075fd4: 20020038 .word 0x20020038 8075fd8: ff0a0f1f .word 0xff0a0f1f 8075fdc: 20020dc0 .word 0x20020dc0 8075fe0: c2c80000 .word 0xc2c80000 8075fe4: 20020db8 .word 0x20020db8 8075fe8: 20020dbc .word 0x20020dbc 8075fec: ff400000 .word 0xff400000 8075ff0: ff404000 .word 0xff404000 8075ff4: ff004000 .word 0xff004000 } else { LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 8075ff8: 49c5 ldr r1, [pc, #788] ; (8076310 ) 8075ffa: 48c6 ldr r0, [pc, #792] ; (8076314 ) 8075ffc: f7df f906 bl 805520c BSP_LCD_FillRect(293, 35, 14, 59); 8076000: 233b movs r3, #59 ; 0x3b 8076002: 220e movs r2, #14 8076004: 2123 movs r1, #35 ; 0x23 8076006: f240 1025 movw r0, #293 ; 0x125 807600a: f7df fd8d bl 8055b28 LCD_SetColors(MY_LCD_COLOR_DARKYELLOW, LCD_COLOR_BLACK); 807600e: 49c0 ldr r1, [pc, #768] ; (8076310 ) 8076010: 48c1 ldr r0, [pc, #772] ; (8076318 ) 8076012: f7df f8fb bl 805520c BSP_LCD_FillRect(293, 35 + 59, 14, 59); 8076016: 233b movs r3, #59 ; 0x3b 8076018: 220e movs r2, #14 807601a: 215e movs r1, #94 ; 0x5e 807601c: f240 1025 movw r0, #293 ; 0x125 8076020: f7df fd82 bl 8055b28 LCD_SetColors(MY_LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 8076024: 49ba ldr r1, [pc, #744] ; (8076310 ) 8076026: 48bd ldr r0, [pc, #756] ; (807631c ) 8076028: f7df f8f0 bl 805520c BSP_LCD_FillRect(293, 35 + 59 + 59, 14, 59); 807602c: 233b movs r3, #59 ; 0x3b 807602e: 220e movs r2, #14 8076030: 2199 movs r1, #153 ; 0x99 8076032: f240 1025 movw r0, #293 ; 0x125 8076036: f7df fd77 bl 8055b28 if(dBm != -100.0f) 807603a: e020 b.n 807607e } } else { LCD_SetColors(MY_LCD_COLOR_DARKRED, LCD_COLOR_BLACK); 807603c: 49b4 ldr r1, [pc, #720] ; (8076310 ) 807603e: 48b8 ldr r0, [pc, #736] ; (8076320 ) 8076040: f7df f8e4 bl 805520c BSP_LCD_FillRect(293, 35, 14, 59); 8076044: 233b movs r3, #59 ; 0x3b 8076046: 220e movs r2, #14 8076048: 2123 movs r1, #35 ; 0x23 807604a: f240 1025 movw r0, #293 ; 0x125 807604e: f7df fd6b bl 8055b28 LCD_SetColors(MY_LCD_COLOR_DARKYELLOW, LCD_COLOR_BLACK); 8076052: 49af ldr r1, [pc, #700] ; (8076310 ) 8076054: 48b0 ldr r0, [pc, #704] ; (8076318 ) 8076056: f7df f8d9 bl 805520c BSP_LCD_FillRect(293, 35 + 59, 14, 59); 807605a: 233b movs r3, #59 ; 0x3b 807605c: 220e movs r2, #14 807605e: 215e movs r1, #94 ; 0x5e 8076060: f240 1025 movw r0, #293 ; 0x125 8076064: f7df fd60 bl 8055b28 LCD_SetColors(MY_LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 8076068: 49a9 ldr r1, [pc, #676] ; (8076310 ) 807606a: 48ac ldr r0, [pc, #688] ; (807631c ) 807606c: f7df f8ce bl 805520c BSP_LCD_FillRect(293, 35 + 59 + 59, 14, 59); 8076070: 233b movs r3, #59 ; 0x3b 8076072: 220e movs r2, #14 8076074: 2199 movs r1, #153 ; 0x99 8076076: f240 1025 movw r0, #293 ; 0x125 807607a: f7df fd55 bl 8055b28 } BSP_LCD_SetFont(&Font12); 807607e: 48a9 ldr r0, [pc, #676] ; (8076324 ) 8076080: f7df f900 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076084: 49a2 ldr r1, [pc, #648] ; (8076310 ) 8076086: f04f 30ff mov.w r0, #4294967295 807608a: f7df f8bf bl 805520c BSP_LCD_DisplayStringAt(160, 37, (char *) pKU_UDAR[pardata.IKU], CENTER_MODE); 807608e: 4ba6 ldr r3, [pc, #664] ; (8076328 ) 8076090: 7a1b ldrb r3, [r3, #8] 8076092: b2db uxtb r3, r3 8076094: 461a mov r2, r3 8076096: 4ba5 ldr r3, [pc, #660] ; (807632c ) 8076098: f853 2022 ldr.w r2, [r3, r2, lsl #2] 807609c: 2301 movs r3, #1 807609e: 2125 movs r1, #37 ; 0x25 80760a0: 20a0 movs r0, #160 ; 0xa0 80760a2: f7df f979 bl 8055398 if(AUTOKU) 80760a6: 4ba2 ldr r3, [pc, #648] ; (8076330 ) 80760a8: 781b ldrb r3, [r3, #0] 80760aa: b2db uxtb r3, r3 80760ac: 2b00 cmp r3, #0 80760ae: d00b beq.n 80760c8 { LCD_SetColors(LCD_COLOR_LIGHTRED, LCD_COLOR_BLACK); 80760b0: 4997 ldr r1, [pc, #604] ; (8076310 ) 80760b2: 48a0 ldr r0, [pc, #640] ; (8076334 ) 80760b4: f7df f8aa bl 805520c BSP_LCD_DisplayStringAt(40, 37, "AUTO", LEFT_MODE); 80760b8: 2303 movs r3, #3 80760ba: 4a9f ldr r2, [pc, #636] ; (8076338 ) 80760bc: 2125 movs r1, #37 ; 0x25 80760be: 2028 movs r0, #40 ; 0x28 80760c0: f7df f96a bl 8055398 } } }*/ break; 80760c4: f023 b8b2 b.w 809922c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80760c8: 4991 ldr r1, [pc, #580] ; (8076310 ) 80760ca: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80760ce: f7df f89d bl 805520c BSP_LCD_DisplayStringAt(40, 37, "MANUAL", LEFT_MODE); 80760d2: 2303 movs r3, #3 80760d4: 4a99 ldr r2, [pc, #612] ; (807633c ) 80760d6: 2125 movs r1, #37 ; 0x25 80760d8: 2028 movs r0, #40 ; 0x28 80760da: f7df f95d bl 8055398 break; 80760de: f023 b8a5 b.w 809922c case MAIN_SYGNAL: DrawLegend(); 80760e2: f03b fcfb bl 80b1adc LCD_SetColors(LCD_COLOR_MYBROWN, LCD_COLOR_BLACK); 80760e6: 498a ldr r1, [pc, #552] ; (8076310 ) 80760e8: 4895 ldr r0, [pc, #596] ; (8076340 ) 80760ea: f7df f88f bl 805520c memset(str, 0, sizeof(str)); 80760ee: f507 733b add.w r3, r7, #748 ; 0x2ec 80760f2: 223c movs r2, #60 ; 0x3c 80760f4: 2100 movs r1, #0 80760f6: 4618 mov r0, r3 80760f8: f05b ff54 bl 80d1fa4 str[0] = '"'; 80760fc: f507 733b add.w r3, r7, #748 ; 0x2ec 8076100: 2222 movs r2, #34 ; 0x22 8076102: 701a strb r2, [r3, #0] strcat(str, FileName); 8076104: f507 733b add.w r3, r7, #748 ; 0x2ec 8076108: 498e ldr r1, [pc, #568] ; (8076344 ) 807610a: 4618 mov r0, r3 807610c: f05c f84a bl 80d21a4 l = strlen(str); 8076110: f507 733b add.w r3, r7, #748 ; 0x2ec 8076114: 4618 mov r0, r3 8076116: f7aa f8fd bl 8020314 807611a: 4603 mov r3, r0 807611c: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l] = '"'; 8076120: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8076124: f507 723b add.w r2, r7, #748 ; 0x2ec 8076128: 2122 movs r1, #34 ; 0x22 807612a: 54d1 strb r1, [r2, r3] BSP_LCD_DisplayStringAt(3, 30, str, LEFT_MODE); 807612c: f507 723b add.w r2, r7, #748 ; 0x2ec 8076130: 2303 movs r3, #3 8076132: 211e movs r1, #30 8076134: 2003 movs r0, #3 8076136: f7df f92f bl 8055398 switch(menupos) 807613a: 4b83 ldr r3, [pc, #524] ; (8076348 ) 807613c: 781b ldrb r3, [r3, #0] 807613e: b2db uxtb r3, r3 8076140: 2b07 cmp r3, #7 8076142: f200 81e4 bhi.w 807650e 8076146: a201 add r2, pc, #4 ; (adr r2, 807614c ) 8076148: f852 f023 ldr.w pc, [r2, r3, lsl #2] 807614c: 080763b3 .word 0x080763b3 8076150: 0807650f .word 0x0807650f 8076154: 0807616d .word 0x0807616d 8076158: 080761e1 .word 0x080761e1 807615c: 08076255 .word 0x08076255 8076160: 080762c9 .word 0x080762c9 8076164: 0807649b .word 0x0807649b 8076168: 08076427 .word 0x08076427 { case ImageLeft: DrawImage(&bmSTOP41, 3, 108-26); 807616c: 2252 movs r2, #82 ; 0x52 807616e: 2103 movs r1, #3 8076170: 4876 ldr r0, [pc, #472] ; (807634c ) 8076172: f7df ff3f bl 8055ff4 DrawImage(&bmLEFT_1_LIGHT, 3, 108); 8076176: 226c movs r2, #108 ; 0x6c 8076178: 2103 movs r1, #3 807617a: 4875 ldr r0, [pc, #468] ; (8076350 ) 807617c: f7df ff3a bl 8055ff4 DrawImage(&bmRIGHT_1, 3, 108+26); 8076180: 2286 movs r2, #134 ; 0x86 8076182: 2103 movs r1, #3 8076184: 4873 ldr r0, [pc, #460] ; (8076354 ) 8076186: f7df ff35 bl 8055ff4 DrawImage(&bmPLUS_1, 3, 108+52); 807618a: 22a0 movs r2, #160 ; 0xa0 807618c: 2103 movs r1, #3 807618e: 4872 ldr r0, [pc, #456] ; (8076358 ) 8076190: f7df ff30 bl 8055ff4 DrawImage(&bmMINUS_1, 3, 108+78); 8076194: 22ba movs r2, #186 ; 0xba 8076196: 2103 movs r1, #3 8076198: 4870 ldr r0, [pc, #448] ; (807635c ) 807619a: f7df ff2b bl 8055ff4 if(PlayingState.State == PLAYING) 807619e: 4b70 ldr r3, [pc, #448] ; (8076360 ) 80761a0: 6adb ldr r3, [r3, #44] ; 0x2c 80761a2: 2b01 cmp r3, #1 80761a4: d105 bne.n 80761b2 DrawImage(&bmPAUSE41, 3, 108+104); 80761a6: 22d4 movs r2, #212 ; 0xd4 80761a8: 2103 movs r1, #3 80761aa: 486e ldr r0, [pc, #440] ; (8076364 ) 80761ac: f7df ff22 bl 8055ff4 80761b0: e004 b.n 80761bc else DrawImage(&bmPLAY41, 3, 108+104); 80761b2: 22d4 movs r2, #212 ; 0xd4 80761b4: 2103 movs r1, #3 80761b6: 486c ldr r0, [pc, #432] ; (8076368 ) 80761b8: f7df ff1c bl 8055ff4 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80761bc: 4954 ldr r1, [pc, #336] ; (8076310 ) 80761be: 486b ldr r0, [pc, #428] ; (807636c ) 80761c0: f7df f824 bl 805520c x = 62 + CURSOR; 80761c4: 4b6a ldr r3, [pc, #424] ; (8076370 ) 80761c6: 681b ldr r3, [r3, #0] 80761c8: 333e adds r3, #62 ; 0x3e 80761ca: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 80761ce: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80761d2: b29b uxth r3, r3 80761d4: 22bf movs r2, #191 ; 0xbf 80761d6: 212c movs r1, #44 ; 0x2c 80761d8: 4618 mov r0, r3 80761da: f7df f9ef bl 80555bc break; 80761de: e196 b.n 807650e case ZoomIn: DrawImage(&bmSTOP41, 3, 108-26); 80761e0: 2252 movs r2, #82 ; 0x52 80761e2: 2103 movs r1, #3 80761e4: 4859 ldr r0, [pc, #356] ; (807634c ) 80761e6: f7df ff05 bl 8055ff4 DrawImage(&bmLEFT_1, 3, 108); 80761ea: 226c movs r2, #108 ; 0x6c 80761ec: 2103 movs r1, #3 80761ee: 4861 ldr r0, [pc, #388] ; (8076374 ) 80761f0: f7df ff00 bl 8055ff4 DrawImage(&bmRIGHT_1, 3, 108+26); 80761f4: 2286 movs r2, #134 ; 0x86 80761f6: 2103 movs r1, #3 80761f8: 4856 ldr r0, [pc, #344] ; (8076354 ) 80761fa: f7df fefb bl 8055ff4 DrawImage(&bmPLUS_1_LIGHT, 3, 108+52); 80761fe: 22a0 movs r2, #160 ; 0xa0 8076200: 2103 movs r1, #3 8076202: 485d ldr r0, [pc, #372] ; (8076378 ) 8076204: f7df fef6 bl 8055ff4 DrawImage(&bmMINUS_1, 3, 108+78); 8076208: 22ba movs r2, #186 ; 0xba 807620a: 2103 movs r1, #3 807620c: 4853 ldr r0, [pc, #332] ; (807635c ) 807620e: f7df fef1 bl 8055ff4 if(PlayingState.State == PLAYING) 8076212: 4b53 ldr r3, [pc, #332] ; (8076360 ) 8076214: 6adb ldr r3, [r3, #44] ; 0x2c 8076216: 2b01 cmp r3, #1 8076218: d105 bne.n 8076226 DrawImage(&bmPAUSE41, 3, 108+104); 807621a: 22d4 movs r2, #212 ; 0xd4 807621c: 2103 movs r1, #3 807621e: 4851 ldr r0, [pc, #324] ; (8076364 ) 8076220: f7df fee8 bl 8055ff4 8076224: e004 b.n 8076230 else DrawImage(&bmPLAY41, 3, 108+104); 8076226: 22d4 movs r2, #212 ; 0xd4 8076228: 2103 movs r1, #3 807622a: 484f ldr r0, [pc, #316] ; (8076368 ) 807622c: f7df fee2 bl 8055ff4 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8076230: 4937 ldr r1, [pc, #220] ; (8076310 ) 8076232: 484e ldr r0, [pc, #312] ; (807636c ) 8076234: f7de ffea bl 805520c x = 62 + CURSOR; 8076238: 4b4d ldr r3, [pc, #308] ; (8076370 ) 807623a: 681b ldr r3, [r3, #0] 807623c: 333e adds r3, #62 ; 0x3e 807623e: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 8076242: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8076246: b29b uxth r3, r3 8076248: 22bf movs r2, #191 ; 0xbf 807624a: 212c movs r1, #44 ; 0x2c 807624c: 4618 mov r0, r3 807624e: f7df f9b5 bl 80555bc break; 8076252: e15c b.n 807650e case ZoomOut: DrawImage(&bmSTOP41, 3, 108-26); 8076254: 2252 movs r2, #82 ; 0x52 8076256: 2103 movs r1, #3 8076258: 483c ldr r0, [pc, #240] ; (807634c ) 807625a: f7df fecb bl 8055ff4 DrawImage(&bmLEFT_1, 3, 108); 807625e: 226c movs r2, #108 ; 0x6c 8076260: 2103 movs r1, #3 8076262: 4844 ldr r0, [pc, #272] ; (8076374 ) 8076264: f7df fec6 bl 8055ff4 DrawImage(&bmRIGHT_1, 3, 108+26); 8076268: 2286 movs r2, #134 ; 0x86 807626a: 2103 movs r1, #3 807626c: 4839 ldr r0, [pc, #228] ; (8076354 ) 807626e: f7df fec1 bl 8055ff4 DrawImage(&bmPLUS_1, 3, 108+52); 8076272: 22a0 movs r2, #160 ; 0xa0 8076274: 2103 movs r1, #3 8076276: 4838 ldr r0, [pc, #224] ; (8076358 ) 8076278: f7df febc bl 8055ff4 DrawImage(&bmMINUS_1_LIGHT, 3, 108+78); 807627c: 22ba movs r2, #186 ; 0xba 807627e: 2103 movs r1, #3 8076280: 483e ldr r0, [pc, #248] ; (807637c ) 8076282: f7df feb7 bl 8055ff4 if(PlayingState.State == PLAYING) 8076286: 4b36 ldr r3, [pc, #216] ; (8076360 ) 8076288: 6adb ldr r3, [r3, #44] ; 0x2c 807628a: 2b01 cmp r3, #1 807628c: d105 bne.n 807629a DrawImage(&bmPAUSE41, 3, 108+104); 807628e: 22d4 movs r2, #212 ; 0xd4 8076290: 2103 movs r1, #3 8076292: 4834 ldr r0, [pc, #208] ; (8076364 ) 8076294: f7df feae bl 8055ff4 8076298: e004 b.n 80762a4 else DrawImage(&bmPLAY41, 3, 108+104); 807629a: 22d4 movs r2, #212 ; 0xd4 807629c: 2103 movs r1, #3 807629e: 4832 ldr r0, [pc, #200] ; (8076368 ) 80762a0: f7df fea8 bl 8055ff4 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80762a4: 491a ldr r1, [pc, #104] ; (8076310 ) 80762a6: 4831 ldr r0, [pc, #196] ; (807636c ) 80762a8: f7de ffb0 bl 805520c x = 62 + CURSOR; 80762ac: 4b30 ldr r3, [pc, #192] ; (8076370 ) 80762ae: 681b ldr r3, [r3, #0] 80762b0: 333e adds r3, #62 ; 0x3e 80762b2: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 80762b6: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80762ba: b29b uxth r3, r3 80762bc: 22bf movs r2, #191 ; 0xbf 80762be: 212c movs r1, #44 ; 0x2c 80762c0: 4618 mov r0, r3 80762c2: f7df f97b bl 80555bc break; 80762c6: e122 b.n 807650e case ImageRight: DrawImage(&bmSTOP41, 3, 108-26); 80762c8: 2252 movs r2, #82 ; 0x52 80762ca: 2103 movs r1, #3 80762cc: 481f ldr r0, [pc, #124] ; (807634c ) 80762ce: f7df fe91 bl 8055ff4 DrawImage(&bmLEFT_1, 3, 108); 80762d2: 226c movs r2, #108 ; 0x6c 80762d4: 2103 movs r1, #3 80762d6: 4827 ldr r0, [pc, #156] ; (8076374 ) 80762d8: f7df fe8c bl 8055ff4 DrawImage(&bmRIGHT_1_LIGHT, 3, 108+26); 80762dc: 2286 movs r2, #134 ; 0x86 80762de: 2103 movs r1, #3 80762e0: 4827 ldr r0, [pc, #156] ; (8076380 ) 80762e2: f7df fe87 bl 8055ff4 DrawImage(&bmPLUS_1, 3, 108+52); 80762e6: 22a0 movs r2, #160 ; 0xa0 80762e8: 2103 movs r1, #3 80762ea: 481b ldr r0, [pc, #108] ; (8076358 ) 80762ec: f7df fe82 bl 8055ff4 DrawImage(&bmMINUS_1, 3, 108+78); 80762f0: 22ba movs r2, #186 ; 0xba 80762f2: 2103 movs r1, #3 80762f4: 4819 ldr r0, [pc, #100] ; (807635c ) 80762f6: f7df fe7d bl 8055ff4 if(PlayingState.State == PLAYING) 80762fa: 4b19 ldr r3, [pc, #100] ; (8076360 ) 80762fc: 6adb ldr r3, [r3, #44] ; 0x2c 80762fe: 2b01 cmp r3, #1 8076300: d140 bne.n 8076384 DrawImage(&bmPAUSE41, 3, 108+104); 8076302: 22d4 movs r2, #212 ; 0xd4 8076304: 2103 movs r1, #3 8076306: 4817 ldr r0, [pc, #92] ; (8076364 ) 8076308: f7df fe74 bl 8055ff4 807630c: e03f b.n 807638e 807630e: bf00 nop 8076310: ff0a0f1f .word 0xff0a0f1f 8076314: ffff0000 .word 0xffff0000 8076318: ff404000 .word 0xff404000 807631c: ff004000 .word 0xff004000 8076320: ff400000 .word 0xff400000 8076324: 20020038 .word 0x20020038 8076328: 20023eb8 .word 0x20023eb8 807632c: 200201e4 .word 0x200201e4 8076330: 20020029 .word 0x20020029 8076334: ffff8080 .word 0xffff8080 8076338: 080d6790 .word 0x080d6790 807633c: 080d6798 .word 0x080d6798 8076340: ffd3b36e .word 0xffd3b36e 8076344: 20022c10 .word 0x20022c10 8076348: 20020070 .word 0x20020070 807634c: 0814f478 .word 0x0814f478 8076350: 0811b7a0 .word 0x0811b7a0 8076354: 0814d648 .word 0x0814d648 8076358: 08149d10 .word 0x08149d10 807635c: 08142088 .word 0x08142088 8076360: 20022928 .word 0x20022928 8076364: 081459c0 .word 0x081459c0 8076368: 08147030 .word 0x08147030 807636c: ff808080 .word 0xff808080 8076370: 2002006c .word 0x2002006c 8076374: 0811ac68 .word 0x0811ac68 8076378: 0814a848 .word 0x0814a848 807637c: 08142bc0 .word 0x08142bc0 8076380: 0814e180 .word 0x0814e180 else DrawImage(&bmPLAY41, 3, 108+104); 8076384: 22d4 movs r2, #212 ; 0xd4 8076386: 2103 movs r1, #3 8076388: 48bd ldr r0, [pc, #756] ; (8076680 ) 807638a: f7df fe33 bl 8055ff4 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807638e: 49bd ldr r1, [pc, #756] ; (8076684 ) 8076390: 48bd ldr r0, [pc, #756] ; (8076688 ) 8076392: f7de ff3b bl 805520c x = 62 + CURSOR; 8076396: 4bbd ldr r3, [pc, #756] ; (807668c ) 8076398: 681b ldr r3, [r3, #0] 807639a: 333e adds r3, #62 ; 0x3e 807639c: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 80763a0: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80763a4: b29b uxth r3, r3 80763a6: 22bf movs r2, #191 ; 0xbf 80763a8: 212c movs r1, #44 ; 0x2c 80763aa: 4618 mov r0, r3 80763ac: f7df f906 bl 80555bc break; 80763b0: e0ad b.n 807650e case StartStop: DrawImage(&bmSTOP41, 3, 108-26); 80763b2: 2252 movs r2, #82 ; 0x52 80763b4: 2103 movs r1, #3 80763b6: 48b6 ldr r0, [pc, #728] ; (8076690 ) 80763b8: f7df fe1c bl 8055ff4 DrawImage(&bmLEFT_1, 3, 108); 80763bc: 226c movs r2, #108 ; 0x6c 80763be: 2103 movs r1, #3 80763c0: 48b4 ldr r0, [pc, #720] ; (8076694 ) 80763c2: f7df fe17 bl 8055ff4 DrawImage(&bmRIGHT_1, 3, 108+26); 80763c6: 2286 movs r2, #134 ; 0x86 80763c8: 2103 movs r1, #3 80763ca: 48b3 ldr r0, [pc, #716] ; (8076698 ) 80763cc: f7df fe12 bl 8055ff4 DrawImage(&bmPLUS_1, 3, 108+52); 80763d0: 22a0 movs r2, #160 ; 0xa0 80763d2: 2103 movs r1, #3 80763d4: 48b1 ldr r0, [pc, #708] ; (807669c ) 80763d6: f7df fe0d bl 8055ff4 DrawImage(&bmMINUS_1, 3, 108+78); 80763da: 22ba movs r2, #186 ; 0xba 80763dc: 2103 movs r1, #3 80763de: 48b0 ldr r0, [pc, #704] ; (80766a0 ) 80763e0: f7df fe08 bl 8055ff4 if(PlayingState.State == PLAYING) 80763e4: 4baf ldr r3, [pc, #700] ; (80766a4 ) 80763e6: 6adb ldr r3, [r3, #44] ; 0x2c 80763e8: 2b01 cmp r3, #1 80763ea: d105 bne.n 80763f8 DrawImage(&bmPAUSE41_LIGHT, 3, 108+104); 80763ec: 22d4 movs r2, #212 ; 0xd4 80763ee: 2103 movs r1, #3 80763f0: 48ad ldr r0, [pc, #692] ; (80766a8 ) 80763f2: f7df fdff bl 8055ff4 80763f6: e004 b.n 8076402 else DrawImage(&bmPLAY41_LIGHT, 3, 108+104); 80763f8: 22d4 movs r2, #212 ; 0xd4 80763fa: 2103 movs r1, #3 80763fc: 48ab ldr r0, [pc, #684] ; (80766ac ) 80763fe: f7df fdf9 bl 8055ff4 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8076402: 49a0 ldr r1, [pc, #640] ; (8076684 ) 8076404: 48a0 ldr r0, [pc, #640] ; (8076688 ) 8076406: f7de ff01 bl 805520c x = 62 + CURSOR; 807640a: 4ba0 ldr r3, [pc, #640] ; (807668c ) 807640c: 681b ldr r3, [r3, #0] 807640e: 333e adds r3, #62 ; 0x3e 8076410: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 8076414: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8076418: b29b uxth r3, r3 807641a: 22bf movs r2, #191 ; 0xbf 807641c: 212c movs r1, #44 ; 0x2c 807641e: 4618 mov r0, r3 8076420: f7df f8cc bl 80555bc break; 8076424: e073 b.n 807650e case Stop: DrawImage(&bmSTOP41_LIGHT, 3, 108-26); 8076426: 2252 movs r2, #82 ; 0x52 8076428: 2103 movs r1, #3 807642a: 48a1 ldr r0, [pc, #644] ; (80766b0 ) 807642c: f7df fde2 bl 8055ff4 DrawImage(&bmLEFT_1, 3, 108); 8076430: 226c movs r2, #108 ; 0x6c 8076432: 2103 movs r1, #3 8076434: 4897 ldr r0, [pc, #604] ; (8076694 ) 8076436: f7df fddd bl 8055ff4 DrawImage(&bmRIGHT_1, 3, 108+26); 807643a: 2286 movs r2, #134 ; 0x86 807643c: 2103 movs r1, #3 807643e: 4896 ldr r0, [pc, #600] ; (8076698 ) 8076440: f7df fdd8 bl 8055ff4 DrawImage(&bmPLUS_1, 3, 108+52); 8076444: 22a0 movs r2, #160 ; 0xa0 8076446: 2103 movs r1, #3 8076448: 4894 ldr r0, [pc, #592] ; (807669c ) 807644a: f7df fdd3 bl 8055ff4 DrawImage(&bmMINUS_1, 3, 108+78); 807644e: 22ba movs r2, #186 ; 0xba 8076450: 2103 movs r1, #3 8076452: 4893 ldr r0, [pc, #588] ; (80766a0 ) 8076454: f7df fdce bl 8055ff4 if(PlayingState.State == PLAYING) 8076458: 4b92 ldr r3, [pc, #584] ; (80766a4 ) 807645a: 6adb ldr r3, [r3, #44] ; 0x2c 807645c: 2b01 cmp r3, #1 807645e: d105 bne.n 807646c DrawImage(&bmPAUSE41, 3, 108+104); 8076460: 22d4 movs r2, #212 ; 0xd4 8076462: 2103 movs r1, #3 8076464: 4893 ldr r0, [pc, #588] ; (80766b4 ) 8076466: f7df fdc5 bl 8055ff4 807646a: e004 b.n 8076476 else DrawImage(&bmPLAY41, 3, 108+104); 807646c: 22d4 movs r2, #212 ; 0xd4 807646e: 2103 movs r1, #3 8076470: 4883 ldr r0, [pc, #524] ; (8076680 ) 8076472: f7df fdbf bl 8055ff4 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8076476: 4983 ldr r1, [pc, #524] ; (8076684 ) 8076478: 4883 ldr r0, [pc, #524] ; (8076688 ) 807647a: f7de fec7 bl 805520c x = 62 + CURSOR; 807647e: 4b83 ldr r3, [pc, #524] ; (807668c ) 8076480: 681b ldr r3, [r3, #0] 8076482: 333e adds r3, #62 ; 0x3e 8076484: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 8076488: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 807648c: b29b uxth r3, r3 807648e: 22bf movs r2, #191 ; 0xbf 8076490: 212c movs r1, #44 ; 0x2c 8076492: 4618 mov r0, r3 8076494: f7df f892 bl 80555bc break; 8076498: e039 b.n 807650e case Cursor: DrawImage(&bmSTOP41, 3, 108-26); 807649a: 2252 movs r2, #82 ; 0x52 807649c: 2103 movs r1, #3 807649e: 487c ldr r0, [pc, #496] ; (8076690 ) 80764a0: f7df fda8 bl 8055ff4 DrawImage(&bmLEFT_1, 3, 108); 80764a4: 226c movs r2, #108 ; 0x6c 80764a6: 2103 movs r1, #3 80764a8: 487a ldr r0, [pc, #488] ; (8076694 ) 80764aa: f7df fda3 bl 8055ff4 DrawImage(&bmRIGHT_1, 3, 108+26); 80764ae: 2286 movs r2, #134 ; 0x86 80764b0: 2103 movs r1, #3 80764b2: 4879 ldr r0, [pc, #484] ; (8076698 ) 80764b4: f7df fd9e bl 8055ff4 DrawImage(&bmPLUS_1, 3, 108+52); 80764b8: 22a0 movs r2, #160 ; 0xa0 80764ba: 2103 movs r1, #3 80764bc: 4877 ldr r0, [pc, #476] ; (807669c ) 80764be: f7df fd99 bl 8055ff4 DrawImage(&bmMINUS_1, 3, 108+78); 80764c2: 22ba movs r2, #186 ; 0xba 80764c4: 2103 movs r1, #3 80764c6: 4876 ldr r0, [pc, #472] ; (80766a0 ) 80764c8: f7df fd94 bl 8055ff4 if(PlayingState.State == PLAYING) 80764cc: 4b75 ldr r3, [pc, #468] ; (80766a4 ) 80764ce: 6adb ldr r3, [r3, #44] ; 0x2c 80764d0: 2b01 cmp r3, #1 80764d2: d105 bne.n 80764e0 DrawImage(&bmPAUSE41, 3, 108+104); 80764d4: 22d4 movs r2, #212 ; 0xd4 80764d6: 2103 movs r1, #3 80764d8: 4876 ldr r0, [pc, #472] ; (80766b4 ) 80764da: f7df fd8b bl 8055ff4 80764de: e004 b.n 80764ea else DrawImage(&bmPLAY41, 3, 108+104); 80764e0: 22d4 movs r2, #212 ; 0xd4 80764e2: 2103 movs r1, #3 80764e4: 4866 ldr r0, [pc, #408] ; (8076680 ) 80764e6: f7df fd85 bl 8055ff4 LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80764ea: 4966 ldr r1, [pc, #408] ; (8076684 ) 80764ec: 4872 ldr r0, [pc, #456] ; (80766b8 ) 80764ee: f7de fe8d bl 805520c x = 62 + CURSOR; 80764f2: 4b66 ldr r3, [pc, #408] ; (807668c ) 80764f4: 681b ldr r3, [r3, #0] 80764f6: 333e adds r3, #62 ; 0x3e 80764f8: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 80764fc: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8076500: b29b uxth r3, r3 8076502: 22bf movs r2, #191 ; 0xbf 8076504: 212c movs r1, #44 ; 0x2c 8076506: 4618 mov r0, r3 8076508: f7df f858 bl 80555bc break; 807650c: bf00 nop } //************************* if(PlayingState.State == PLAYING) { 807650e: 4b65 ldr r3, [pc, #404] ; (80766a4 ) 8076510: 6adb ldr r3, [r3, #44] ; 0x2c 8076512: 2b01 cmp r3, #1 8076514: d101 bne.n 807651a SeekFileWAV(); 8076516: f7b1 fdf7 bl 8028108 //SeekFileGTR(); } //************************* DrawGraph(); 807651a: f033 ff81 bl 80aa420 DrawCursorData(); 807651e: f02f f8db bl 80a56d8 DrawScaleValue(); 8076522: f039 fe47 bl 80b01b4 BSP_LCD_SetFont(&Font24); 8076526: 4865 ldr r0, [pc, #404] ; (80766bc ) 8076528: f7de feac bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, 0xFF000000); 807652c: f04f 417f mov.w r1, #4278190080 ; 0xff000000 8076530: f04f 30ff mov.w r0, #4294967295 8076534: f7de fe6a bl 805520c BSP_LCD_DisplayStringAt(66, 45, "A", LEFT_MODE); 8076538: 2303 movs r3, #3 807653a: 4a61 ldr r2, [pc, #388] ; (80766c0 ) 807653c: 212d movs r1, #45 ; 0x2d 807653e: 2042 movs r0, #66 ; 0x42 8076540: f7de ff2a bl 8055398 break; 8076544: f022 be72 b.w 809922c 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); 8076548: 494e ldr r1, [pc, #312] ; (8076684 ) 807654a: 485e ldr r0, [pc, #376] ; (80766c4 ) 807654c: f7de fe5e bl 805520c BSP_LCD_DrawRect(2, 35, 314, 201); 8076550: 23c9 movs r3, #201 ; 0xc9 8076552: f44f 729d mov.w r2, #314 ; 0x13a 8076556: 2123 movs r1, #35 ; 0x23 8076558: 2002 movs r0, #2 807655a: f7df f95d bl 8055818 if(menupos == Mode) 807655e: 4b5a ldr r3, [pc, #360] ; (80766c8 ) 8076560: 781b ldrb r3, [r3, #0] 8076562: b2db uxtb r3, r3 8076564: 2b01 cmp r3, #1 8076566: d140 bne.n 80765ea { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076568: 4946 ldr r1, [pc, #280] ; (8076684 ) 807656a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807656e: f7de fe4d bl 805520c if(pardata.LANG == RUS) 8076572: 4b56 ldr r3, [pc, #344] ; (80766cc ) 8076574: 7b1b ldrb r3, [r3, #12] 8076576: b2db uxtb r3, r3 8076578: 2b00 cmp r3, #0 807657a: d105 bne.n 8076588 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 807657c: 4a54 ldr r2, [pc, #336] ; (80766d0 ) 807657e: 215a movs r1, #90 ; 0x5a 8076580: 200a movs r0, #10 8076582: f7df fbeb bl 8055d5c 8076586: e004 b.n 8076592 else LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8076588: 4a52 ldr r2, [pc, #328] ; (80766d4 ) 807658a: 215a movs r1, #90 ; 0x5a 807658c: 200a movs r0, #10 807658e: f7df fbe5 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076592: 493c ldr r1, [pc, #240] ; (8076684 ) 8076594: f04f 30ff mov.w r0, #4294967295 8076598: f7de fe38 bl 805520c if(pardata.LANG == RUS) 807659c: 4b4b ldr r3, [pc, #300] ; (80766cc ) 807659e: 7b1b ldrb r3, [r3, #12] 80765a0: b2db uxtb r3, r3 80765a2: 2b00 cmp r3, #0 80765a4: d110 bne.n 80765c8 { LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 80765a6: 4a4c ldr r2, [pc, #304] ; (80766d8 ) 80765a8: 216a movs r1, #106 ; 0x6a 80765aa: 200a movs r0, #10 80765ac: f7df fbd6 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 80765b0: 4a4a ldr r2, [pc, #296] ; (80766dc ) 80765b2: 217a movs r1, #122 ; 0x7a 80765b4: 200a movs r0, #10 80765b6: f7df fbd1 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 80765ba: 4a49 ldr r2, [pc, #292] ; (80766e0 ) 80765bc: 218a movs r1, #138 ; 0x8a 80765be: 200a movs r0, #10 80765c0: f7df fbcc bl 8055d5c } } } } break; 80765c4: f022 be0d b.w 80991e2 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 80765c8: 4a46 ldr r2, [pc, #280] ; (80766e4 ) 80765ca: 216a movs r1, #106 ; 0x6a 80765cc: 200a movs r0, #10 80765ce: f7df fbc5 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Files"); 80765d2: 4a45 ldr r2, [pc, #276] ; (80766e8 ) 80765d4: 217a movs r1, #122 ; 0x7a 80765d6: 200a movs r0, #10 80765d8: f7df fbc0 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Routes"); 80765dc: 4a43 ldr r2, [pc, #268] ; (80766ec ) 80765de: 218a movs r1, #138 ; 0x8a 80765e0: 200a movs r0, #10 80765e2: f7df fbbb bl 8055d5c break; 80765e6: f022 bdfc b.w 80991e2 if(menupos == Settings) 80765ea: 4b37 ldr r3, [pc, #220] ; (80766c8 ) 80765ec: 781b ldrb r3, [r3, #0] 80765ee: b2db uxtb r3, r3 80765f0: 2b02 cmp r3, #2 80765f2: d17d bne.n 80766f0 if(pardata.LANG == RUS) 80765f4: 4b35 ldr r3, [pc, #212] ; (80766cc ) 80765f6: 7b1b ldrb r3, [r3, #12] 80765f8: b2db uxtb r3, r3 80765fa: 2b00 cmp r3, #0 80765fc: d11f bne.n 807663e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80765fe: 4921 ldr r1, [pc, #132] ; (8076684 ) 8076600: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076604: f7de fe02 bl 805520c LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8076608: 4a33 ldr r2, [pc, #204] ; (80766d8 ) 807660a: 216a movs r1, #106 ; 0x6a 807660c: 200a movs r0, #10 807660e: f7df fba5 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076612: 491c ldr r1, [pc, #112] ; (8076684 ) 8076614: f04f 30ff mov.w r0, #4294967295 8076618: f7de fdf8 bl 805520c LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 807661c: 4a2c ldr r2, [pc, #176] ; (80766d0 ) 807661e: 215a movs r1, #90 ; 0x5a 8076620: 200a movs r0, #10 8076622: f7df fb9b bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8076626: 4a2d ldr r2, [pc, #180] ; (80766dc ) 8076628: 217a movs r1, #122 ; 0x7a 807662a: 200a movs r0, #10 807662c: f7df fb96 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8076630: 4a2b ldr r2, [pc, #172] ; (80766e0 ) 8076632: 218a movs r1, #138 ; 0x8a 8076634: 200a movs r0, #10 8076636: f7df fb91 bl 8055d5c break; 807663a: f022 bdd2 b.w 80991e2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807663e: 4911 ldr r1, [pc, #68] ; (8076684 ) 8076640: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076644: f7de fde2 bl 805520c LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8076648: 4a26 ldr r2, [pc, #152] ; (80766e4 ) 807664a: 216a movs r1, #106 ; 0x6a 807664c: 200a movs r0, #10 807664e: f7df fb85 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076652: 490c ldr r1, [pc, #48] ; (8076684 ) 8076654: f04f 30ff mov.w r0, #4294967295 8076658: f7de fdd8 bl 805520c LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 807665c: 4a1d ldr r2, [pc, #116] ; (80766d4 ) 807665e: 215a movs r1, #90 ; 0x5a 8076660: 200a movs r0, #10 8076662: f7df fb7b bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Files"); 8076666: 4a20 ldr r2, [pc, #128] ; (80766e8 ) 8076668: 217a movs r1, #122 ; 0x7a 807666a: 200a movs r0, #10 807666c: f7df fb76 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8076670: 4a1e ldr r2, [pc, #120] ; (80766ec ) 8076672: 218a movs r1, #138 ; 0x8a 8076674: 200a movs r0, #10 8076676: f7df fb71 bl 8055d5c break; 807667a: f022 bdb2 b.w 80991e2 807667e: bf00 nop 8076680: 08147030 .word 0x08147030 8076684: ff0a0f1f .word 0xff0a0f1f 8076688: ff808080 .word 0xff808080 807668c: 2002006c .word 0x2002006c 8076690: 0814f478 .word 0x0814f478 8076694: 0811ac68 .word 0x0811ac68 8076698: 0814d648 .word 0x0814d648 807669c: 08149d10 .word 0x08149d10 80766a0: 08142088 .word 0x08142088 80766a4: 20022928 .word 0x20022928 80766a8: 081464f8 .word 0x081464f8 80766ac: 08147b68 .word 0x08147b68 80766b0: 0814ffb0 .word 0x0814ffb0 80766b4: 081459c0 .word 0x081459c0 80766b8: ffff0000 .word 0xffff0000 80766bc: 20020058 .word 0x20020058 80766c0: 080d510c .word 0x080d510c 80766c4: ffd3d3d3 .word 0xffd3d3d3 80766c8: 20020070 .word 0x20020070 80766cc: 20023eb8 .word 0x20023eb8 80766d0: 080d67a0 .word 0x080d67a0 80766d4: 080d67b4 .word 0x080d67b4 80766d8: 080d67c8 .word 0x080d67c8 80766dc: 080d67d4 .word 0x080d67d4 80766e0: 080d67dc .word 0x080d67dc 80766e4: 080d67e8 .word 0x080d67e8 80766e8: 080d67f0 .word 0x080d67f0 80766ec: 080d67f8 .word 0x080d67f8 if(menupos == PlayFiles) 80766f0: 4bc2 ldr r3, [pc, #776] ; (80769fc ) 80766f2: 781b ldrb r3, [r3, #0] 80766f4: b2db uxtb r3, r3 80766f6: 2b03 cmp r3, #3 80766f8: d144 bne.n 8076784 if(pardata.LANG == RUS) 80766fa: 4bc1 ldr r3, [pc, #772] ; (8076a00 ) 80766fc: 7b1b ldrb r3, [r3, #12] 80766fe: b2db uxtb r3, r3 8076700: 2b00 cmp r3, #0 8076702: d11f bne.n 8076744 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076704: 49bf ldr r1, [pc, #764] ; (8076a04 ) 8076706: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807670a: f7de fd7f bl 805520c LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 807670e: 4abe ldr r2, [pc, #760] ; (8076a08 ) 8076710: 217a movs r1, #122 ; 0x7a 8076712: 200a movs r0, #10 8076714: f7df fb22 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076718: 49ba ldr r1, [pc, #744] ; (8076a04 ) 807671a: f04f 30ff mov.w r0, #4294967295 807671e: f7de fd75 bl 805520c LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8076722: 4aba ldr r2, [pc, #744] ; (8076a0c ) 8076724: 215a movs r1, #90 ; 0x5a 8076726: 200a movs r0, #10 8076728: f7df fb18 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 807672c: 4ab8 ldr r2, [pc, #736] ; (8076a10 ) 807672e: 216a movs r1, #106 ; 0x6a 8076730: 200a movs r0, #10 8076732: f7df fb13 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8076736: 4ab7 ldr r2, [pc, #732] ; (8076a14 ) 8076738: 218a movs r1, #138 ; 0x8a 807673a: 200a movs r0, #10 807673c: f7df fb0e bl 8055d5c break; 8076740: f022 bd4f b.w 80991e2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076744: 49af ldr r1, [pc, #700] ; (8076a04 ) 8076746: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807674a: f7de fd5f bl 805520c LCD_DisplayString(10, LCD_LINE_7, "Files"); 807674e: 4ab2 ldr r2, [pc, #712] ; (8076a18 ) 8076750: 217a movs r1, #122 ; 0x7a 8076752: 200a movs r0, #10 8076754: f7df fb02 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076758: 49aa ldr r1, [pc, #680] ; (8076a04 ) 807675a: f04f 30ff mov.w r0, #4294967295 807675e: f7de fd55 bl 805520c LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8076762: 4aae ldr r2, [pc, #696] ; (8076a1c ) 8076764: 215a movs r1, #90 ; 0x5a 8076766: 200a movs r0, #10 8076768: f7df faf8 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "Setup"); 807676c: 4aac ldr r2, [pc, #688] ; (8076a20 ) 807676e: 216a movs r1, #106 ; 0x6a 8076770: 200a movs r0, #10 8076772: f7df faf3 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8076776: 4aab ldr r2, [pc, #684] ; (8076a24 ) 8076778: 218a movs r1, #138 ; 0x8a 807677a: 200a movs r0, #10 807677c: f7df faee bl 8055d5c break; 8076780: f022 bd2f b.w 80991e2 if(menupos == Route) 8076784: 4b9d ldr r3, [pc, #628] ; (80769fc ) 8076786: 781b ldrb r3, [r3, #0] 8076788: b2db uxtb r3, r3 807678a: 2b04 cmp r3, #4 807678c: d144 bne.n 8076818 if(pardata.LANG == RUS) 807678e: 4b9c ldr r3, [pc, #624] ; (8076a00 ) 8076790: 7b1b ldrb r3, [r3, #12] 8076792: b2db uxtb r3, r3 8076794: 2b00 cmp r3, #0 8076796: d11f bne.n 80767d8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076798: 499a ldr r1, [pc, #616] ; (8076a04 ) 807679a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807679e: f7de fd35 bl 805520c LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 80767a2: 4a9c ldr r2, [pc, #624] ; (8076a14 ) 80767a4: 218a movs r1, #138 ; 0x8a 80767a6: 200a movs r0, #10 80767a8: f7df fad8 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80767ac: 4995 ldr r1, [pc, #596] ; (8076a04 ) 80767ae: f04f 30ff mov.w r0, #4294967295 80767b2: f7de fd2b bl 805520c LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 80767b6: 4a95 ldr r2, [pc, #596] ; (8076a0c ) 80767b8: 215a movs r1, #90 ; 0x5a 80767ba: 200a movs r0, #10 80767bc: f7df face bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 80767c0: 4a93 ldr r2, [pc, #588] ; (8076a10 ) 80767c2: 216a movs r1, #106 ; 0x6a 80767c4: 200a movs r0, #10 80767c6: f7df fac9 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 80767ca: 4a8f ldr r2, [pc, #572] ; (8076a08 ) 80767cc: 217a movs r1, #122 ; 0x7a 80767ce: 200a movs r0, #10 80767d0: f7df fac4 bl 8055d5c break; 80767d4: f022 bd05 b.w 80991e2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80767d8: 498a ldr r1, [pc, #552] ; (8076a04 ) 80767da: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80767de: f7de fd15 bl 805520c LCD_DisplayString(10, LCD_LINE_8, "Routes"); 80767e2: 4a90 ldr r2, [pc, #576] ; (8076a24 ) 80767e4: 218a movs r1, #138 ; 0x8a 80767e6: 200a movs r0, #10 80767e8: f7df fab8 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80767ec: 4985 ldr r1, [pc, #532] ; (8076a04 ) 80767ee: f04f 30ff mov.w r0, #4294967295 80767f2: f7de fd0b bl 805520c LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 80767f6: 4a89 ldr r2, [pc, #548] ; (8076a1c ) 80767f8: 215a movs r1, #90 ; 0x5a 80767fa: 200a movs r0, #10 80767fc: f7df faae bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8076800: 4a87 ldr r2, [pc, #540] ; (8076a20 ) 8076802: 216a movs r1, #106 ; 0x6a 8076804: 200a movs r0, #10 8076806: f7df faa9 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Files"); 807680a: 4a83 ldr r2, [pc, #524] ; (8076a18 ) 807680c: 217a movs r1, #122 ; 0x7a 807680e: 200a movs r0, #10 8076810: f7df faa4 bl 8055d5c break; 8076814: f022 bce5 b.w 80991e2 if(menupos == AskRouteNo) 8076818: 4b78 ldr r3, [pc, #480] ; (80769fc ) 807681a: 781b ldrb r3, [r3, #0] 807681c: b2db uxtb r3, r3 807681e: 2b09 cmp r3, #9 8076820: f040 8114 bne.w 8076a4c if(pardata.LANG == RUS) 8076824: 4b76 ldr r3, [pc, #472] ; (8076a00 ) 8076826: 7b1b ldrb r3, [r3, #12] 8076828: b2db uxtb r3, r3 807682a: 2b00 cmp r3, #0 807682c: d172 bne.n 8076914 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807682e: 4975 ldr r1, [pc, #468] ; (8076a04 ) 8076830: f04f 30ff mov.w r0, #4294967295 8076834: f7de fcea bl 805520c LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8076838: 4a74 ldr r2, [pc, #464] ; (8076a0c ) 807683a: 215a movs r1, #90 ; 0x5a 807683c: 200a movs r0, #10 807683e: f7df fa8d bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8076842: 4a73 ldr r2, [pc, #460] ; (8076a10 ) 8076844: 216a movs r1, #106 ; 0x6a 8076846: 200a movs r0, #10 8076848: f7df fa88 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 807684c: 4a6e ldr r2, [pc, #440] ; (8076a08 ) 807684e: 217a movs r1, #122 ; 0x7a 8076850: 200a movs r0, #10 8076852: f7df fa83 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8076856: 4a6f ldr r2, [pc, #444] ; (8076a14 ) 8076858: 218a movs r1, #138 ; 0x8a 807685a: 200a movs r0, #10 807685c: f7df fa7e bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076860: 4968 ldr r1, [pc, #416] ; (8076a04 ) 8076862: f04f 30ff mov.w r0, #4294967295 8076866: f7de fcd1 bl 805520c BSP_LCD_FillRect(60-20, 72, 200+40, 124); 807686a: 237c movs r3, #124 ; 0x7c 807686c: 22f0 movs r2, #240 ; 0xf0 807686e: 2148 movs r1, #72 ; 0x48 8076870: 2028 movs r0, #40 ; 0x28 8076872: f7df f959 bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8076876: 4963 ldr r1, [pc, #396] ; (8076a04 ) 8076878: 4862 ldr r0, [pc, #392] ; (8076a04 ) 807687a: f7de fcc7 bl 805520c BSP_LCD_FillRect(62-20, 74, 196+40, 120); 807687e: 2378 movs r3, #120 ; 0x78 8076880: 22ec movs r2, #236 ; 0xec 8076882: 214a movs r1, #74 ; 0x4a 8076884: 202a movs r0, #42 ; 0x2a 8076886: f7df f94f bl 8055b28 BSP_LCD_SetFont(&Font12); 807688a: 4867 ldr r0, [pc, #412] ; (8076a28 ) 807688c: f7de fcfa bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076890: 495c ldr r1, [pc, #368] ; (8076a04 ) 8076892: f04f 30ff mov.w r0, #4294967295 8076896: f7de fcb9 bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Õîòèòå ïðîäîëæèòü ìàðøðóò", CENTER_MODE); 807689a: 2301 movs r3, #1 807689c: 4a63 ldr r2, [pc, #396] ; (8076a2c ) 807689e: 217a movs r1, #122 ; 0x7a 80768a0: 20a0 movs r0, #160 ; 0xa0 80768a2: f7de fd79 bl 8055398 memset(str2, 0, sizeof(str2)); 80768a6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80768aa: 223c movs r2, #60 ; 0x3c 80768ac: 2100 movs r1, #0 80768ae: 4618 mov r0, r3 80768b0: f05b fb78 bl 80d1fa4 strcpy(str2, (void *) &pardata.ROUTE_NAME); 80768b4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80768b8: 495d ldr r1, [pc, #372] ; (8076a30 ) 80768ba: 4618 mov r0, r3 80768bc: f05b fc8f bl 80d21de strcat(str2, "?"); 80768c0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80768c4: 4618 mov r0, r3 80768c6: f7a9 fd25 bl 8020314 80768ca: 4603 mov r3, r0 80768cc: 461a mov r2, r3 80768ce: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80768d2: 4413 add r3, r2 80768d4: 4957 ldr r1, [pc, #348] ; (8076a34 ) 80768d6: 461a mov r2, r3 80768d8: 460b mov r3, r1 80768da: 881b ldrh r3, [r3, #0] 80768dc: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(160, LCD_LINE_8, str2, CENTER_MODE); 80768de: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80768e2: 2301 movs r3, #1 80768e4: 218a movs r1, #138 ; 0x8a 80768e6: 20a0 movs r0, #160 ; 0xa0 80768e8: f7de fd56 bl 8055398 BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 80768ec: 2302 movs r3, #2 80768ee: 4a52 ldr r2, [pc, #328] ; (8076a38 ) 80768f0: 21aa movs r1, #170 ; 0xaa 80768f2: f44f 7081 mov.w r0, #258 ; 0x102 80768f6: f7de fd4f bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80768fa: 4942 ldr r1, [pc, #264] ; (8076a04 ) 80768fc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076900: f7de fc84 bl 805520c BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 8076904: 2303 movs r3, #3 8076906: 4a4d ldr r2, [pc, #308] ; (8076a3c ) 8076908: 21aa movs r1, #170 ; 0xaa 807690a: 203e movs r0, #62 ; 0x3e 807690c: f7de fd44 bl 8055398 break; 8076910: f022 bc67 b.w 80991e2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076914: 493b ldr r1, [pc, #236] ; (8076a04 ) 8076916: f04f 30ff mov.w r0, #4294967295 807691a: f7de fc77 bl 805520c LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 807691e: 4a3f ldr r2, [pc, #252] ; (8076a1c ) 8076920: 215a movs r1, #90 ; 0x5a 8076922: 200a movs r0, #10 8076924: f7df fa1a bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8076928: 4a3d ldr r2, [pc, #244] ; (8076a20 ) 807692a: 216a movs r1, #106 ; 0x6a 807692c: 200a movs r0, #10 807692e: f7df fa15 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Files"); 8076932: 4a39 ldr r2, [pc, #228] ; (8076a18 ) 8076934: 217a movs r1, #122 ; 0x7a 8076936: 200a movs r0, #10 8076938: f7df fa10 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Routes"); 807693c: 4a39 ldr r2, [pc, #228] ; (8076a24 ) 807693e: 218a movs r1, #138 ; 0x8a 8076940: 200a movs r0, #10 8076942: f7df fa0b bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076946: 492f ldr r1, [pc, #188] ; (8076a04 ) 8076948: f04f 30ff mov.w r0, #4294967295 807694c: f7de fc5e bl 805520c BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8076950: 237c movs r3, #124 ; 0x7c 8076952: 22f0 movs r2, #240 ; 0xf0 8076954: 2148 movs r1, #72 ; 0x48 8076956: 2028 movs r0, #40 ; 0x28 8076958: f7df f8e6 bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 807695c: 4929 ldr r1, [pc, #164] ; (8076a04 ) 807695e: 4829 ldr r0, [pc, #164] ; (8076a04 ) 8076960: f7de fc54 bl 805520c BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8076964: 2378 movs r3, #120 ; 0x78 8076966: 22ec movs r2, #236 ; 0xec 8076968: 214a movs r1, #74 ; 0x4a 807696a: 202a movs r0, #42 ; 0x2a 807696c: f7df f8dc bl 8055b28 BSP_LCD_SetFont(&Font12); 8076970: 482d ldr r0, [pc, #180] ; (8076a28 ) 8076972: f7de fc87 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076976: 4923 ldr r1, [pc, #140] ; (8076a04 ) 8076978: f04f 30ff mov.w r0, #4294967295 807697c: f7de fc46 bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Continue the route", CENTER_MODE); 8076980: 2301 movs r3, #1 8076982: 4a2f ldr r2, [pc, #188] ; (8076a40 ) 8076984: 217a movs r1, #122 ; 0x7a 8076986: 20a0 movs r0, #160 ; 0xa0 8076988: f7de fd06 bl 8055398 memset(str2, 0, sizeof(str2)); 807698c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8076990: 223c movs r2, #60 ; 0x3c 8076992: 2100 movs r1, #0 8076994: 4618 mov r0, r3 8076996: f05b fb05 bl 80d1fa4 strcpy(str2, (void *) &pardata.ROUTE_NAME); 807699a: f507 73d8 add.w r3, r7, #432 ; 0x1b0 807699e: 4924 ldr r1, [pc, #144] ; (8076a30 ) 80769a0: 4618 mov r0, r3 80769a2: f05b fc1c bl 80d21de strcat(str2, "?"); 80769a6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80769aa: 4618 mov r0, r3 80769ac: f7a9 fcb2 bl 8020314 80769b0: 4603 mov r3, r0 80769b2: 461a mov r2, r3 80769b4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80769b8: 4413 add r3, r2 80769ba: 491e ldr r1, [pc, #120] ; (8076a34 ) 80769bc: 461a mov r2, r3 80769be: 460b mov r3, r1 80769c0: 881b ldrh r3, [r3, #0] 80769c2: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(160, LCD_LINE_8, str2, CENTER_MODE); 80769c4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80769c8: 2301 movs r3, #1 80769ca: 218a movs r1, #138 ; 0x8a 80769cc: 20a0 movs r0, #160 ; 0xa0 80769ce: f7de fce3 bl 8055398 BSP_LCD_DisplayStringAt(258, 170, "Yes", RIGHT_MODE); 80769d2: 2302 movs r3, #2 80769d4: 4a1b ldr r2, [pc, #108] ; (8076a44 ) 80769d6: 21aa movs r1, #170 ; 0xaa 80769d8: f44f 7081 mov.w r0, #258 ; 0x102 80769dc: f7de fcdc bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80769e0: 4908 ldr r1, [pc, #32] ; (8076a04 ) 80769e2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80769e6: f7de fc11 bl 805520c BSP_LCD_DisplayStringAt(62, 170, "No", LEFT_MODE); 80769ea: 2303 movs r3, #3 80769ec: 4a16 ldr r2, [pc, #88] ; (8076a48 ) 80769ee: 21aa movs r1, #170 ; 0xaa 80769f0: 203e movs r0, #62 ; 0x3e 80769f2: f7de fcd1 bl 8055398 break; 80769f6: f022 bbf4 b.w 80991e2 80769fa: bf00 nop 80769fc: 20020070 .word 0x20020070 8076a00: 20023eb8 .word 0x20023eb8 8076a04: ff0a0f1f .word 0xff0a0f1f 8076a08: 080d67d4 .word 0x080d67d4 8076a0c: 080d67a0 .word 0x080d67a0 8076a10: 080d67c8 .word 0x080d67c8 8076a14: 080d67dc .word 0x080d67dc 8076a18: 080d67f0 .word 0x080d67f0 8076a1c: 080d67b4 .word 0x080d67b4 8076a20: 080d67e8 .word 0x080d67e8 8076a24: 080d67f8 .word 0x080d67f8 8076a28: 20020038 .word 0x20020038 8076a2c: 080d6800 .word 0x080d6800 8076a30: 2002433c .word 0x2002433c 8076a34: 080d681c .word 0x080d681c 8076a38: 080d62c8 .word 0x080d62c8 8076a3c: 080d5118 .word 0x080d5118 8076a40: 080d6820 .word 0x080d6820 8076a44: 080d6834 .word 0x080d6834 8076a48: 080d6838 .word 0x080d6838 if(menupos == AskRouteYes) 8076a4c: 4bac ldr r3, [pc, #688] ; (8076d00 ) 8076a4e: 781b ldrb r3, [r3, #0] 8076a50: b2db uxtb r3, r3 8076a52: 2b0a cmp r3, #10 8076a54: f040 80eb bne.w 8076c2e if(pardata.LANG == RUS) 8076a58: 4baa ldr r3, [pc, #680] ; (8076d04 ) 8076a5a: 7b1b ldrb r3, [r3, #12] 8076a5c: b2db uxtb r3, r3 8076a5e: 2b00 cmp r3, #0 8076a60: d172 bne.n 8076b48 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076a62: 49a9 ldr r1, [pc, #676] ; (8076d08 ) 8076a64: f04f 30ff mov.w r0, #4294967295 8076a68: f7de fbd0 bl 805520c LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8076a6c: 4aa7 ldr r2, [pc, #668] ; (8076d0c ) 8076a6e: 215a movs r1, #90 ; 0x5a 8076a70: 200a movs r0, #10 8076a72: f7df f973 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8076a76: 4aa6 ldr r2, [pc, #664] ; (8076d10 ) 8076a78: 216a movs r1, #106 ; 0x6a 8076a7a: 200a movs r0, #10 8076a7c: f7df f96e bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8076a80: 4aa4 ldr r2, [pc, #656] ; (8076d14 ) 8076a82: 217a movs r1, #122 ; 0x7a 8076a84: 200a movs r0, #10 8076a86: f7df f969 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8076a8a: 4aa3 ldr r2, [pc, #652] ; (8076d18 ) 8076a8c: 218a movs r1, #138 ; 0x8a 8076a8e: 200a movs r0, #10 8076a90: f7df f964 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076a94: 499c ldr r1, [pc, #624] ; (8076d08 ) 8076a96: f04f 30ff mov.w r0, #4294967295 8076a9a: f7de fbb7 bl 805520c BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8076a9e: 237c movs r3, #124 ; 0x7c 8076aa0: 22f0 movs r2, #240 ; 0xf0 8076aa2: 2148 movs r1, #72 ; 0x48 8076aa4: 2028 movs r0, #40 ; 0x28 8076aa6: f7df f83f bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8076aaa: 4997 ldr r1, [pc, #604] ; (8076d08 ) 8076aac: 4896 ldr r0, [pc, #600] ; (8076d08 ) 8076aae: f7de fbad bl 805520c BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8076ab2: 2378 movs r3, #120 ; 0x78 8076ab4: 22ec movs r2, #236 ; 0xec 8076ab6: 214a movs r1, #74 ; 0x4a 8076ab8: 202a movs r0, #42 ; 0x2a 8076aba: f7df f835 bl 8055b28 BSP_LCD_SetFont(&Font12); 8076abe: 4897 ldr r0, [pc, #604] ; (8076d1c ) 8076ac0: f7de fbe0 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076ac4: 4990 ldr r1, [pc, #576] ; (8076d08 ) 8076ac6: f04f 30ff mov.w r0, #4294967295 8076aca: f7de fb9f bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Õîòèòå ïðîäîëæèòü ìàðøðóò", CENTER_MODE); 8076ace: 2301 movs r3, #1 8076ad0: 4a93 ldr r2, [pc, #588] ; (8076d20 ) 8076ad2: 217a movs r1, #122 ; 0x7a 8076ad4: 20a0 movs r0, #160 ; 0xa0 8076ad6: f7de fc5f bl 8055398 memset(str2, 0, sizeof(str2)); 8076ada: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8076ade: 223c movs r2, #60 ; 0x3c 8076ae0: 2100 movs r1, #0 8076ae2: 4618 mov r0, r3 8076ae4: f05b fa5e bl 80d1fa4 strcpy(str2, (void *) &pardata.ROUTE_NAME); 8076ae8: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8076aec: 498d ldr r1, [pc, #564] ; (8076d24 ) 8076aee: 4618 mov r0, r3 8076af0: f05b fb75 bl 80d21de strcat(str2, "?"); 8076af4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8076af8: 4618 mov r0, r3 8076afa: f7a9 fc0b bl 8020314 8076afe: 4603 mov r3, r0 8076b00: 461a mov r2, r3 8076b02: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8076b06: 4413 add r3, r2 8076b08: 4987 ldr r1, [pc, #540] ; (8076d28 ) 8076b0a: 461a mov r2, r3 8076b0c: 460b mov r3, r1 8076b0e: 881b ldrh r3, [r3, #0] 8076b10: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(160, LCD_LINE_8, str2, CENTER_MODE); 8076b12: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8076b16: 2301 movs r3, #1 8076b18: 218a movs r1, #138 ; 0x8a 8076b1a: 20a0 movs r0, #160 ; 0xa0 8076b1c: f7de fc3c bl 8055398 BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 8076b20: 2303 movs r3, #3 8076b22: 4a82 ldr r2, [pc, #520] ; (8076d2c ) 8076b24: 21aa movs r1, #170 ; 0xaa 8076b26: 203e movs r0, #62 ; 0x3e 8076b28: f7de fc36 bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076b2c: 4976 ldr r1, [pc, #472] ; (8076d08 ) 8076b2e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076b32: f7de fb6b bl 805520c BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 8076b36: 2302 movs r3, #2 8076b38: 4a7d ldr r2, [pc, #500] ; (8076d30 ) 8076b3a: 21aa movs r1, #170 ; 0xaa 8076b3c: f44f 7081 mov.w r0, #258 ; 0x102 8076b40: f7de fc2a bl 8055398 break; 8076b44: f022 bb4d b.w 80991e2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076b48: 496f ldr r1, [pc, #444] ; (8076d08 ) 8076b4a: f04f 30ff mov.w r0, #4294967295 8076b4e: f7de fb5d bl 805520c LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8076b52: 4a78 ldr r2, [pc, #480] ; (8076d34 ) 8076b54: 215a movs r1, #90 ; 0x5a 8076b56: 200a movs r0, #10 8076b58: f7df f900 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8076b5c: 4a76 ldr r2, [pc, #472] ; (8076d38 ) 8076b5e: 216a movs r1, #106 ; 0x6a 8076b60: 200a movs r0, #10 8076b62: f7df f8fb bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Files"); 8076b66: 4a75 ldr r2, [pc, #468] ; (8076d3c ) 8076b68: 217a movs r1, #122 ; 0x7a 8076b6a: 200a movs r0, #10 8076b6c: f7df f8f6 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8076b70: 4a73 ldr r2, [pc, #460] ; (8076d40 ) 8076b72: 218a movs r1, #138 ; 0x8a 8076b74: 200a movs r0, #10 8076b76: f7df f8f1 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076b7a: 4963 ldr r1, [pc, #396] ; (8076d08 ) 8076b7c: f04f 30ff mov.w r0, #4294967295 8076b80: f7de fb44 bl 805520c BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8076b84: 237c movs r3, #124 ; 0x7c 8076b86: 22f0 movs r2, #240 ; 0xf0 8076b88: 2148 movs r1, #72 ; 0x48 8076b8a: 2028 movs r0, #40 ; 0x28 8076b8c: f7de ffcc bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8076b90: 495d ldr r1, [pc, #372] ; (8076d08 ) 8076b92: 485d ldr r0, [pc, #372] ; (8076d08 ) 8076b94: f7de fb3a bl 805520c BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8076b98: 2378 movs r3, #120 ; 0x78 8076b9a: 22ec movs r2, #236 ; 0xec 8076b9c: 214a movs r1, #74 ; 0x4a 8076b9e: 202a movs r0, #42 ; 0x2a 8076ba0: f7de ffc2 bl 8055b28 BSP_LCD_SetFont(&Font12); 8076ba4: 485d ldr r0, [pc, #372] ; (8076d1c ) 8076ba6: f7de fb6d bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076baa: 4957 ldr r1, [pc, #348] ; (8076d08 ) 8076bac: f04f 30ff mov.w r0, #4294967295 8076bb0: f7de fb2c bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Continue the route", CENTER_MODE); 8076bb4: 2301 movs r3, #1 8076bb6: 4a63 ldr r2, [pc, #396] ; (8076d44 ) 8076bb8: 217a movs r1, #122 ; 0x7a 8076bba: 20a0 movs r0, #160 ; 0xa0 8076bbc: f7de fbec bl 8055398 memset(str2, 0, sizeof(str2)); 8076bc0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8076bc4: 223c movs r2, #60 ; 0x3c 8076bc6: 2100 movs r1, #0 8076bc8: 4618 mov r0, r3 8076bca: f05b f9eb bl 80d1fa4 strcpy(str2, (void *) &pardata.ROUTE_NAME); 8076bce: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8076bd2: 4954 ldr r1, [pc, #336] ; (8076d24 ) 8076bd4: 4618 mov r0, r3 8076bd6: f05b fb02 bl 80d21de strcat(str2, "?"); 8076bda: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8076bde: 4618 mov r0, r3 8076be0: f7a9 fb98 bl 8020314 8076be4: 4603 mov r3, r0 8076be6: 461a mov r2, r3 8076be8: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8076bec: 4413 add r3, r2 8076bee: 494e ldr r1, [pc, #312] ; (8076d28 ) 8076bf0: 461a mov r2, r3 8076bf2: 460b mov r3, r1 8076bf4: 881b ldrh r3, [r3, #0] 8076bf6: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(160, LCD_LINE_8, str2, CENTER_MODE); 8076bf8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8076bfc: 2301 movs r3, #1 8076bfe: 218a movs r1, #138 ; 0x8a 8076c00: 20a0 movs r0, #160 ; 0xa0 8076c02: f7de fbc9 bl 8055398 BSP_LCD_DisplayStringAt(62, 170, "No", LEFT_MODE); 8076c06: 2303 movs r3, #3 8076c08: 4a4f ldr r2, [pc, #316] ; (8076d48 ) 8076c0a: 21aa movs r1, #170 ; 0xaa 8076c0c: 203e movs r0, #62 ; 0x3e 8076c0e: f7de fbc3 bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076c12: 493d ldr r1, [pc, #244] ; (8076d08 ) 8076c14: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076c18: f7de faf8 bl 805520c BSP_LCD_DisplayStringAt(258, 170, "Yes", RIGHT_MODE); 8076c1c: 2302 movs r3, #2 8076c1e: 4a4b ldr r2, [pc, #300] ; (8076d4c ) 8076c20: 21aa movs r1, #170 ; 0xaa 8076c22: f44f 7081 mov.w r0, #258 ; 0x102 8076c26: f7de fbb7 bl 8055398 break; 8076c2a: f022 bada b.w 80991e2 if(menupos == AskFormatNo) 8076c2e: 4b34 ldr r3, [pc, #208] ; (8076d00 ) 8076c30: 781b ldrb r3, [r3, #0] 8076c32: b2db uxtb r3, r3 8076c34: 2b05 cmp r3, #5 8076c36: f040 80ed bne.w 8076e14 if(pardata.LANG == RUS) 8076c3a: 4b32 ldr r3, [pc, #200] ; (8076d04 ) 8076c3c: 7b1b ldrb r3, [r3, #12] 8076c3e: b2db uxtb r3, r3 8076c40: 2b00 cmp r3, #0 8076c42: f040 808b bne.w 8076d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076c46: 4930 ldr r1, [pc, #192] ; (8076d08 ) 8076c48: f04f 30ff mov.w r0, #4294967295 8076c4c: f7de fade bl 805520c LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8076c50: 4a2e ldr r2, [pc, #184] ; (8076d0c ) 8076c52: 215a movs r1, #90 ; 0x5a 8076c54: 200a movs r0, #10 8076c56: f7df f881 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8076c5a: 4a2d ldr r2, [pc, #180] ; (8076d10 ) 8076c5c: 216a movs r1, #106 ; 0x6a 8076c5e: 200a movs r0, #10 8076c60: f7df f87c bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8076c64: 4a2b ldr r2, [pc, #172] ; (8076d14 ) 8076c66: 217a movs r1, #122 ; 0x7a 8076c68: 200a movs r0, #10 8076c6a: f7df f877 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8076c6e: 4a2a ldr r2, [pc, #168] ; (8076d18 ) 8076c70: 218a movs r1, #138 ; 0x8a 8076c72: 200a movs r0, #10 8076c74: f7df f872 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076c78: 4923 ldr r1, [pc, #140] ; (8076d08 ) 8076c7a: f04f 30ff mov.w r0, #4294967295 8076c7e: f7de fac5 bl 805520c BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8076c82: 237c movs r3, #124 ; 0x7c 8076c84: 22f0 movs r2, #240 ; 0xf0 8076c86: 2148 movs r1, #72 ; 0x48 8076c88: 2028 movs r0, #40 ; 0x28 8076c8a: f7de ff4d bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8076c8e: 491e ldr r1, [pc, #120] ; (8076d08 ) 8076c90: 481d ldr r0, [pc, #116] ; (8076d08 ) 8076c92: f7de fabb bl 805520c BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8076c96: 2378 movs r3, #120 ; 0x78 8076c98: 22ec movs r2, #236 ; 0xec 8076c9a: 214a movs r1, #74 ; 0x4a 8076c9c: 202a movs r0, #42 ; 0x2a 8076c9e: f7de ff43 bl 8055b28 BSP_LCD_SetFont(&Font12); 8076ca2: 481e ldr r0, [pc, #120] ; (8076d1c ) 8076ca4: f7de faee bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076ca8: 4917 ldr r1, [pc, #92] ; (8076d08 ) 8076caa: f04f 30ff mov.w r0, #4294967295 8076cae: f7de faad bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_6, "Êàðòà íåèñïðàâíà èëè îòñóòñòâóåò", CENTER_MODE); 8076cb2: 2301 movs r3, #1 8076cb4: 4a26 ldr r2, [pc, #152] ; (8076d50 ) 8076cb6: 216a movs r1, #106 ; 0x6a 8076cb8: 20a0 movs r0, #160 ; 0xa0 8076cba: f7de fb6d bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "ôàéëîâàÿ ñèñòåìà.", CENTER_MODE); 8076cbe: 2301 movs r3, #1 8076cc0: 4a24 ldr r2, [pc, #144] ; (8076d54 ) 8076cc2: 217a movs r1, #122 ; 0x7a 8076cc4: 20a0 movs r0, #160 ; 0xa0 8076cc6: f7de fb67 bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Ôîðìàòèðîâàòü êàðòó?", CENTER_MODE); 8076cca: 2301 movs r3, #1 8076ccc: 4a22 ldr r2, [pc, #136] ; (8076d58 ) 8076cce: 218a movs r1, #138 ; 0x8a 8076cd0: 20a0 movs r0, #160 ; 0xa0 8076cd2: f7de fb61 bl 8055398 BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 8076cd6: 2302 movs r3, #2 8076cd8: 4a15 ldr r2, [pc, #84] ; (8076d30 ) 8076cda: 21aa movs r1, #170 ; 0xaa 8076cdc: f44f 7081 mov.w r0, #258 ; 0x102 8076ce0: f7de fb5a bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076ce4: 4908 ldr r1, [pc, #32] ; (8076d08 ) 8076ce6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076cea: f7de fa8f bl 805520c BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 8076cee: 2303 movs r3, #3 8076cf0: 4a0e ldr r2, [pc, #56] ; (8076d2c ) 8076cf2: 21aa movs r1, #170 ; 0xaa 8076cf4: 203e movs r0, #62 ; 0x3e 8076cf6: f7de fb4f bl 8055398 break; 8076cfa: f022 ba72 b.w 80991e2 8076cfe: bf00 nop 8076d00: 20020070 .word 0x20020070 8076d04: 20023eb8 .word 0x20023eb8 8076d08: ff0a0f1f .word 0xff0a0f1f 8076d0c: 080d67a0 .word 0x080d67a0 8076d10: 080d67c8 .word 0x080d67c8 8076d14: 080d67d4 .word 0x080d67d4 8076d18: 080d67dc .word 0x080d67dc 8076d1c: 20020038 .word 0x20020038 8076d20: 080d6800 .word 0x080d6800 8076d24: 2002433c .word 0x2002433c 8076d28: 080d681c .word 0x080d681c 8076d2c: 080d5118 .word 0x080d5118 8076d30: 080d62c8 .word 0x080d62c8 8076d34: 080d67b4 .word 0x080d67b4 8076d38: 080d67e8 .word 0x080d67e8 8076d3c: 080d67f0 .word 0x080d67f0 8076d40: 080d67f8 .word 0x080d67f8 8076d44: 080d6820 .word 0x080d6820 8076d48: 080d6838 .word 0x080d6838 8076d4c: 080d6834 .word 0x080d6834 8076d50: 080d683c .word 0x080d683c 8076d54: 080d6860 .word 0x080d6860 8076d58: 080d6874 .word 0x080d6874 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076d5c: 49cc ldr r1, [pc, #816] ; (8077090 ) 8076d5e: f04f 30ff mov.w r0, #4294967295 8076d62: f7de fa53 bl 805520c LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8076d66: 4acb ldr r2, [pc, #812] ; (8077094 ) 8076d68: 215a movs r1, #90 ; 0x5a 8076d6a: 200a movs r0, #10 8076d6c: f7de fff6 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8076d70: 4ac9 ldr r2, [pc, #804] ; (8077098 ) 8076d72: 216a movs r1, #106 ; 0x6a 8076d74: 200a movs r0, #10 8076d76: f7de fff1 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Files"); 8076d7a: 4ac8 ldr r2, [pc, #800] ; (807709c ) 8076d7c: 217a movs r1, #122 ; 0x7a 8076d7e: 200a movs r0, #10 8076d80: f7de ffec bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8076d84: 4ac6 ldr r2, [pc, #792] ; (80770a0 ) 8076d86: 218a movs r1, #138 ; 0x8a 8076d88: 200a movs r0, #10 8076d8a: f7de ffe7 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076d8e: 49c0 ldr r1, [pc, #768] ; (8077090 ) 8076d90: f04f 30ff mov.w r0, #4294967295 8076d94: f7de fa3a bl 805520c BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8076d98: 237c movs r3, #124 ; 0x7c 8076d9a: 22f0 movs r2, #240 ; 0xf0 8076d9c: 2148 movs r1, #72 ; 0x48 8076d9e: 2028 movs r0, #40 ; 0x28 8076da0: f7de fec2 bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8076da4: 49ba ldr r1, [pc, #744] ; (8077090 ) 8076da6: 48ba ldr r0, [pc, #744] ; (8077090 ) 8076da8: f7de fa30 bl 805520c BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8076dac: 2378 movs r3, #120 ; 0x78 8076dae: 22ec movs r2, #236 ; 0xec 8076db0: 214a movs r1, #74 ; 0x4a 8076db2: 202a movs r0, #42 ; 0x2a 8076db4: f7de feb8 bl 8055b28 BSP_LCD_SetFont(&Font12); 8076db8: 48ba ldr r0, [pc, #744] ; (80770a4 ) 8076dba: f7de fa63 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076dbe: 49b4 ldr r1, [pc, #720] ; (8077090 ) 8076dc0: f04f 30ff mov.w r0, #4294967295 8076dc4: f7de fa22 bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_6, "The card is faulty or the", CENTER_MODE); 8076dc8: 2301 movs r3, #1 8076dca: 4ab7 ldr r2, [pc, #732] ; (80770a8 ) 8076dcc: 216a movs r1, #106 ; 0x6a 8076dce: 20a0 movs r0, #160 ; 0xa0 8076dd0: f7de fae2 bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "file system is missing.", CENTER_MODE); 8076dd4: 2301 movs r3, #1 8076dd6: 4ab5 ldr r2, [pc, #724] ; (80770ac ) 8076dd8: 217a movs r1, #122 ; 0x7a 8076dda: 20a0 movs r0, #160 ; 0xa0 8076ddc: f7de fadc bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Format the card?", CENTER_MODE); 8076de0: 2301 movs r3, #1 8076de2: 4ab3 ldr r2, [pc, #716] ; (80770b0 ) 8076de4: 218a movs r1, #138 ; 0x8a 8076de6: 20a0 movs r0, #160 ; 0xa0 8076de8: f7de fad6 bl 8055398 BSP_LCD_DisplayStringAt(258, 170, "Yes", RIGHT_MODE); 8076dec: 2302 movs r3, #2 8076dee: 4ab1 ldr r2, [pc, #708] ; (80770b4 ) 8076df0: 21aa movs r1, #170 ; 0xaa 8076df2: f44f 7081 mov.w r0, #258 ; 0x102 8076df6: f7de facf bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076dfa: 49a5 ldr r1, [pc, #660] ; (8077090 ) 8076dfc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076e00: f7de fa04 bl 805520c BSP_LCD_DisplayStringAt(62, 170, "No", LEFT_MODE); 8076e04: 2303 movs r3, #3 8076e06: 4aac ldr r2, [pc, #688] ; (80770b8 ) 8076e08: 21aa movs r1, #170 ; 0xaa 8076e0a: 203e movs r0, #62 ; 0x3e 8076e0c: f7de fac4 bl 8055398 break; 8076e10: f022 b9e7 b.w 80991e2 if(menupos == AskFormatYes) 8076e14: 4ba9 ldr r3, [pc, #676] ; (80770bc ) 8076e16: 781b ldrb r3, [r3, #0] 8076e18: b2db uxtb r3, r3 8076e1a: 2b06 cmp r3, #6 8076e1c: f040 80bd bne.w 8076f9a if(pardata.LANG == RUS) 8076e20: 4ba7 ldr r3, [pc, #668] ; (80770c0 ) 8076e22: 7b1b ldrb r3, [r3, #12] 8076e24: b2db uxtb r3, r3 8076e26: 2b00 cmp r3, #0 8076e28: d15b bne.n 8076ee2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076e2a: 4999 ldr r1, [pc, #612] ; (8077090 ) 8076e2c: f04f 30ff mov.w r0, #4294967295 8076e30: f7de f9ec bl 805520c LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8076e34: 4aa3 ldr r2, [pc, #652] ; (80770c4 ) 8076e36: 215a movs r1, #90 ; 0x5a 8076e38: 200a movs r0, #10 8076e3a: f7de ff8f bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8076e3e: 4aa2 ldr r2, [pc, #648] ; (80770c8 ) 8076e40: 216a movs r1, #106 ; 0x6a 8076e42: 200a movs r0, #10 8076e44: f7de ff8a bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8076e48: 4aa0 ldr r2, [pc, #640] ; (80770cc ) 8076e4a: 217a movs r1, #122 ; 0x7a 8076e4c: 200a movs r0, #10 8076e4e: f7de ff85 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8076e52: 4a9f ldr r2, [pc, #636] ; (80770d0 ) 8076e54: 218a movs r1, #138 ; 0x8a 8076e56: 200a movs r0, #10 8076e58: f7de ff80 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076e5c: 498c ldr r1, [pc, #560] ; (8077090 ) 8076e5e: f04f 30ff mov.w r0, #4294967295 8076e62: f7de f9d3 bl 805520c BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8076e66: 237c movs r3, #124 ; 0x7c 8076e68: 22f0 movs r2, #240 ; 0xf0 8076e6a: 2148 movs r1, #72 ; 0x48 8076e6c: 2028 movs r0, #40 ; 0x28 8076e6e: f7de fe5b bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8076e72: 4987 ldr r1, [pc, #540] ; (8077090 ) 8076e74: 4886 ldr r0, [pc, #536] ; (8077090 ) 8076e76: f7de f9c9 bl 805520c BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8076e7a: 2378 movs r3, #120 ; 0x78 8076e7c: 22ec movs r2, #236 ; 0xec 8076e7e: 214a movs r1, #74 ; 0x4a 8076e80: 202a movs r0, #42 ; 0x2a 8076e82: f7de fe51 bl 8055b28 BSP_LCD_SetFont(&Font12); 8076e86: 4887 ldr r0, [pc, #540] ; (80770a4 ) 8076e88: f7de f9fc bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076e8c: 4980 ldr r1, [pc, #512] ; (8077090 ) 8076e8e: f04f 30ff mov.w r0, #4294967295 8076e92: f7de f9bb bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_6, "Êàðòà íåèñïðàâíà èëè îòñóòñòâóåò", CENTER_MODE); 8076e96: 2301 movs r3, #1 8076e98: 4a8e ldr r2, [pc, #568] ; (80770d4 ) 8076e9a: 216a movs r1, #106 ; 0x6a 8076e9c: 20a0 movs r0, #160 ; 0xa0 8076e9e: f7de fa7b bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "ôàéëîâàÿ ñèñòåìà.", CENTER_MODE); 8076ea2: 2301 movs r3, #1 8076ea4: 4a8c ldr r2, [pc, #560] ; (80770d8 ) 8076ea6: 217a movs r1, #122 ; 0x7a 8076ea8: 20a0 movs r0, #160 ; 0xa0 8076eaa: f7de fa75 bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Ôîðìàòèðîâàòü êàðòó?", CENTER_MODE); 8076eae: 2301 movs r3, #1 8076eb0: 4a8a ldr r2, [pc, #552] ; (80770dc ) 8076eb2: 218a movs r1, #138 ; 0x8a 8076eb4: 20a0 movs r0, #160 ; 0xa0 8076eb6: f7de fa6f bl 8055398 BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 8076eba: 2303 movs r3, #3 8076ebc: 4a88 ldr r2, [pc, #544] ; (80770e0 ) 8076ebe: 21aa movs r1, #170 ; 0xaa 8076ec0: 203e movs r0, #62 ; 0x3e 8076ec2: f7de fa69 bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076ec6: 4972 ldr r1, [pc, #456] ; (8077090 ) 8076ec8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076ecc: f7de f99e bl 805520c BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 8076ed0: 2302 movs r3, #2 8076ed2: 4a84 ldr r2, [pc, #528] ; (80770e4 ) 8076ed4: 21aa movs r1, #170 ; 0xaa 8076ed6: f44f 7081 mov.w r0, #258 ; 0x102 8076eda: f7de fa5d bl 8055398 break; 8076ede: f022 b980 b.w 80991e2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076ee2: 496b ldr r1, [pc, #428] ; (8077090 ) 8076ee4: f04f 30ff mov.w r0, #4294967295 8076ee8: f7de f990 bl 805520c LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8076eec: 4a69 ldr r2, [pc, #420] ; (8077094 ) 8076eee: 215a movs r1, #90 ; 0x5a 8076ef0: 200a movs r0, #10 8076ef2: f7de ff33 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8076ef6: 4a68 ldr r2, [pc, #416] ; (8077098 ) 8076ef8: 216a movs r1, #106 ; 0x6a 8076efa: 200a movs r0, #10 8076efc: f7de ff2e bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Files"); 8076f00: 4a66 ldr r2, [pc, #408] ; (807709c ) 8076f02: 217a movs r1, #122 ; 0x7a 8076f04: 200a movs r0, #10 8076f06: f7de ff29 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8076f0a: 4a65 ldr r2, [pc, #404] ; (80770a0 ) 8076f0c: 218a movs r1, #138 ; 0x8a 8076f0e: 200a movs r0, #10 8076f10: f7de ff24 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076f14: 495e ldr r1, [pc, #376] ; (8077090 ) 8076f16: f04f 30ff mov.w r0, #4294967295 8076f1a: f7de f977 bl 805520c BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8076f1e: 237c movs r3, #124 ; 0x7c 8076f20: 22f0 movs r2, #240 ; 0xf0 8076f22: 2148 movs r1, #72 ; 0x48 8076f24: 2028 movs r0, #40 ; 0x28 8076f26: f7de fdff bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8076f2a: 4959 ldr r1, [pc, #356] ; (8077090 ) 8076f2c: 4858 ldr r0, [pc, #352] ; (8077090 ) 8076f2e: f7de f96d bl 805520c BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8076f32: 2378 movs r3, #120 ; 0x78 8076f34: 22ec movs r2, #236 ; 0xec 8076f36: 214a movs r1, #74 ; 0x4a 8076f38: 202a movs r0, #42 ; 0x2a 8076f3a: f7de fdf5 bl 8055b28 BSP_LCD_SetFont(&Font12); 8076f3e: 4859 ldr r0, [pc, #356] ; (80770a4 ) 8076f40: f7de f9a0 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076f44: 4952 ldr r1, [pc, #328] ; (8077090 ) 8076f46: f04f 30ff mov.w r0, #4294967295 8076f4a: f7de f95f bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_6, "The card is faulty or the", CENTER_MODE); 8076f4e: 2301 movs r3, #1 8076f50: 4a55 ldr r2, [pc, #340] ; (80770a8 ) 8076f52: 216a movs r1, #106 ; 0x6a 8076f54: 20a0 movs r0, #160 ; 0xa0 8076f56: f7de fa1f bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "file system is missing.", CENTER_MODE); 8076f5a: 2301 movs r3, #1 8076f5c: 4a53 ldr r2, [pc, #332] ; (80770ac ) 8076f5e: 217a movs r1, #122 ; 0x7a 8076f60: 20a0 movs r0, #160 ; 0xa0 8076f62: f7de fa19 bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Format the card?", CENTER_MODE); 8076f66: 2301 movs r3, #1 8076f68: 4a51 ldr r2, [pc, #324] ; (80770b0 ) 8076f6a: 218a movs r1, #138 ; 0x8a 8076f6c: 20a0 movs r0, #160 ; 0xa0 8076f6e: f7de fa13 bl 8055398 BSP_LCD_DisplayStringAt(62, 170, "No", LEFT_MODE); 8076f72: 2303 movs r3, #3 8076f74: 4a50 ldr r2, [pc, #320] ; (80770b8 ) 8076f76: 21aa movs r1, #170 ; 0xaa 8076f78: 203e movs r0, #62 ; 0x3e 8076f7a: f7de fa0d bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076f7e: 4944 ldr r1, [pc, #272] ; (8077090 ) 8076f80: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076f84: f7de f942 bl 805520c BSP_LCD_DisplayStringAt(258, 170, "Yes", RIGHT_MODE); 8076f88: 2302 movs r3, #2 8076f8a: 4a4a ldr r2, [pc, #296] ; (80770b4 ) 8076f8c: 21aa movs r1, #170 ; 0xaa 8076f8e: f44f 7081 mov.w r0, #258 ; 0x102 8076f92: f7de fa01 bl 8055398 break; 8076f96: f022 b924 b.w 80991e2 if(menupos == AskFormatResult) 8076f9a: 4b48 ldr r3, [pc, #288] ; (80770bc ) 8076f9c: 781b ldrb r3, [r3, #0] 8076f9e: b2db uxtb r3, r3 8076fa0: 2b08 cmp r3, #8 8076fa2: f062 811e bne.w 80991e2 if(pardata.LANG == RUS) 8076fa6: 4b46 ldr r3, [pc, #280] ; (80770c0 ) 8076fa8: 7b1b ldrb r3, [r3, #12] 8076faa: b2db uxtb r3, r3 8076fac: 2b00 cmp r3, #0 8076fae: f040 80c4 bne.w 807713a LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076fb2: 4937 ldr r1, [pc, #220] ; (8077090 ) 8076fb4: f04f 30ff mov.w r0, #4294967295 8076fb8: f7de f928 bl 805520c LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8076fbc: 4a41 ldr r2, [pc, #260] ; (80770c4 ) 8076fbe: 215a movs r1, #90 ; 0x5a 8076fc0: 200a movs r0, #10 8076fc2: f7de fecb bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8076fc6: 4a40 ldr r2, [pc, #256] ; (80770c8 ) 8076fc8: 216a movs r1, #106 ; 0x6a 8076fca: 200a movs r0, #10 8076fcc: f7de fec6 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8076fd0: 4a3e ldr r2, [pc, #248] ; (80770cc ) 8076fd2: 217a movs r1, #122 ; 0x7a 8076fd4: 200a movs r0, #10 8076fd6: f7de fec1 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8076fda: 4a3d ldr r2, [pc, #244] ; (80770d0 ) 8076fdc: 218a movs r1, #138 ; 0x8a 8076fde: 200a movs r0, #10 8076fe0: f7de febc bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076fe4: 492a ldr r1, [pc, #168] ; (8077090 ) 8076fe6: f04f 30ff mov.w r0, #4294967295 8076fea: f7de f90f bl 805520c BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8076fee: 237c movs r3, #124 ; 0x7c 8076ff0: 22f0 movs r2, #240 ; 0xf0 8076ff2: 2148 movs r1, #72 ; 0x48 8076ff4: 2028 movs r0, #40 ; 0x28 8076ff6: f7de fd97 bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8076ffa: 4925 ldr r1, [pc, #148] ; (8077090 ) 8076ffc: 4824 ldr r0, [pc, #144] ; (8077090 ) 8076ffe: f7de f905 bl 805520c BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8077002: 2378 movs r3, #120 ; 0x78 8077004: 22ec movs r2, #236 ; 0xec 8077006: 214a movs r1, #74 ; 0x4a 8077008: 202a movs r0, #42 ; 0x2a 807700a: f7de fd8d bl 8055b28 if(NeedFormat) 807700e: 4b36 ldr r3, [pc, #216] ; (80770e8 ) 8077010: 781b ldrb r3, [r3, #0] 8077012: b2db uxtb r3, r3 8077014: 2b00 cmp r3, #0 8077016: d015 beq.n 8077044 BSP_LCD_SetFont(&Font12); 8077018: 4822 ldr r0, [pc, #136] ; (80770a4 ) 807701a: f7de f933 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807701e: 491c ldr r1, [pc, #112] ; (8077090 ) 8077020: f04f 30ff mov.w r0, #4294967295 8077024: f7de f8f2 bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå,", CENTER_MODE); 8077028: 2301 movs r3, #1 807702a: 4a30 ldr r2, [pc, #192] ; (80770ec ) 807702c: 217a movs r1, #122 ; 0x7a 807702e: 20a0 movs r0, #160 ; 0xa0 8077030: f7de f9b2 bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Æäèòå...", CENTER_MODE); 8077034: 2301 movs r3, #1 8077036: 4a2e ldr r2, [pc, #184] ; (80770f0 ) 8077038: 218a movs r1, #138 ; 0x8a 807703a: 20a0 movs r0, #160 ; 0xa0 807703c: f7de f9ac bl 8055398 break; 8077040: f022 b8cf b.w 80991e2 if(FormatStatus == AP_OK) 8077044: 4b2b ldr r3, [pc, #172] ; (80770f4 ) 8077046: 781b ldrb r3, [r3, #0] 8077048: b2db uxtb r3, r3 807704a: 2b00 cmp r3, #0 807704c: d15a bne.n 8077104 BSP_LCD_SetFont(&Font12); 807704e: 4815 ldr r0, [pc, #84] ; (80770a4 ) 8077050: f7de f918 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077054: 490e ldr r1, [pc, #56] ; (8077090 ) 8077056: f04f 30ff mov.w r0, #4294967295 807705a: f7de f8d7 bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå", CENTER_MODE); 807705e: 2301 movs r3, #1 8077060: 4a25 ldr r2, [pc, #148] ; (80770f8 ) 8077062: 217a movs r1, #122 ; 0x7a 8077064: 20a0 movs r0, #160 ; 0xa0 8077066: f7de f997 bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "çàâåðøåíî óñïåøíî!", CENTER_MODE); 807706a: 2301 movs r3, #1 807706c: 4a23 ldr r2, [pc, #140] ; (80770fc ) 807706e: 218a movs r1, #138 ; 0x8a 8077070: 20a0 movs r0, #160 ; 0xa0 8077072: f7de f991 bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8077076: 4906 ldr r1, [pc, #24] ; (8077090 ) 8077078: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807707c: f7de f8c6 bl 805520c BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 8077080: 2301 movs r3, #1 8077082: 4a1f ldr r2, [pc, #124] ; (8077100 ) 8077084: 21aa movs r1, #170 ; 0xaa 8077086: 20a0 movs r0, #160 ; 0xa0 8077088: f7de f986 bl 8055398 break; 807708c: f022 b8a9 b.w 80991e2 8077090: ff0a0f1f .word 0xff0a0f1f 8077094: 080d67b4 .word 0x080d67b4 8077098: 080d67e8 .word 0x080d67e8 807709c: 080d67f0 .word 0x080d67f0 80770a0: 080d67f8 .word 0x080d67f8 80770a4: 20020038 .word 0x20020038 80770a8: 080d688c .word 0x080d688c 80770ac: 080d68a8 .word 0x080d68a8 80770b0: 080d68c0 .word 0x080d68c0 80770b4: 080d6834 .word 0x080d6834 80770b8: 080d6838 .word 0x080d6838 80770bc: 20020070 .word 0x20020070 80770c0: 20023eb8 .word 0x20023eb8 80770c4: 080d67a0 .word 0x080d67a0 80770c8: 080d67c8 .word 0x080d67c8 80770cc: 080d67d4 .word 0x080d67d4 80770d0: 080d67dc .word 0x080d67dc 80770d4: 080d683c .word 0x080d683c 80770d8: 080d6860 .word 0x080d6860 80770dc: 080d6874 .word 0x080d6874 80770e0: 080d5118 .word 0x080d5118 80770e4: 080d62c8 .word 0x080d62c8 80770e8: 20020dfd .word 0x20020dfd 80770ec: 080d68d4 .word 0x080d68d4 80770f0: 080d68e4 .word 0x080d68e4 80770f4: 20020df1 .word 0x20020df1 80770f8: 080d68f0 .word 0x080d68f0 80770fc: 080d6900 .word 0x080d6900 8077100: 080d6914 .word 0x080d6914 BSP_LCD_SetFont(&Font12); 8077104: 4887 ldr r0, [pc, #540] ; (8077324 ) 8077106: f7de f8bd bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807710a: 4987 ldr r1, [pc, #540] ; (8077328 ) 807710c: f04f 30ff mov.w r0, #4294967295 8077110: f7de f87c bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Îøèáêà ôîðìàòèðîâàíèÿ...", CENTER_MODE); 8077114: 2301 movs r3, #1 8077116: 4a85 ldr r2, [pc, #532] ; (807732c ) 8077118: 218a movs r1, #138 ; 0x8a 807711a: 20a0 movs r0, #160 ; 0xa0 807711c: f7de f93c bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8077120: 4981 ldr r1, [pc, #516] ; (8077328 ) 8077122: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077126: f7de f871 bl 805520c BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 807712a: 2301 movs r3, #1 807712c: 4a80 ldr r2, [pc, #512] ; (8077330 ) 807712e: 21aa movs r1, #170 ; 0xaa 8077130: 20a0 movs r0, #160 ; 0xa0 8077132: f7de f931 bl 8055398 break; 8077136: f022 b854 b.w 80991e2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807713a: 497b ldr r1, [pc, #492] ; (8077328 ) 807713c: f04f 30ff mov.w r0, #4294967295 8077140: f7de f864 bl 805520c LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8077144: 4a7b ldr r2, [pc, #492] ; (8077334 ) 8077146: 215a movs r1, #90 ; 0x5a 8077148: 200a movs r0, #10 807714a: f7de fe07 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "Setup"); 807714e: 4a7a ldr r2, [pc, #488] ; (8077338 ) 8077150: 216a movs r1, #106 ; 0x6a 8077152: 200a movs r0, #10 8077154: f7de fe02 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Files"); 8077158: 4a78 ldr r2, [pc, #480] ; (807733c ) 807715a: 217a movs r1, #122 ; 0x7a 807715c: 200a movs r0, #10 807715e: f7de fdfd bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8077162: 4a77 ldr r2, [pc, #476] ; (8077340 ) 8077164: 218a movs r1, #138 ; 0x8a 8077166: 200a movs r0, #10 8077168: f7de fdf8 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807716c: 496e ldr r1, [pc, #440] ; (8077328 ) 807716e: f04f 30ff mov.w r0, #4294967295 8077172: f7de f84b bl 805520c BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8077176: 237c movs r3, #124 ; 0x7c 8077178: 22f0 movs r2, #240 ; 0xf0 807717a: 2148 movs r1, #72 ; 0x48 807717c: 2028 movs r0, #40 ; 0x28 807717e: f7de fcd3 bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8077182: 4969 ldr r1, [pc, #420] ; (8077328 ) 8077184: 4868 ldr r0, [pc, #416] ; (8077328 ) 8077186: f7de f841 bl 805520c BSP_LCD_FillRect(62-20, 74, 196+40, 120); 807718a: 2378 movs r3, #120 ; 0x78 807718c: 22ec movs r2, #236 ; 0xec 807718e: 214a movs r1, #74 ; 0x4a 8077190: 202a movs r0, #42 ; 0x2a 8077192: f7de fcc9 bl 8055b28 if(NeedFormat) 8077196: 4b6b ldr r3, [pc, #428] ; (8077344 ) 8077198: 781b ldrb r3, [r3, #0] 807719a: b2db uxtb r3, r3 807719c: 2b00 cmp r3, #0 807719e: d015 beq.n 80771cc BSP_LCD_SetFont(&Font12); 80771a0: 4860 ldr r0, [pc, #384] ; (8077324 ) 80771a2: f7de f86f bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80771a6: 4960 ldr r1, [pc, #384] ; (8077328 ) 80771a8: f04f 30ff mov.w r0, #4294967295 80771ac: f7de f82e bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Formatting...", CENTER_MODE); 80771b0: 2301 movs r3, #1 80771b2: 4a65 ldr r2, [pc, #404] ; (8077348 ) 80771b4: 217a movs r1, #122 ; 0x7a 80771b6: 20a0 movs r0, #160 ; 0xa0 80771b8: f7de f8ee bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Pleae, wait...", CENTER_MODE); 80771bc: 2301 movs r3, #1 80771be: 4a63 ldr r2, [pc, #396] ; (807734c ) 80771c0: 218a movs r1, #138 ; 0x8a 80771c2: 20a0 movs r0, #160 ; 0xa0 80771c4: f7de f8e8 bl 8055398 break; 80771c8: f022 b80b b.w 80991e2 if(FormatStatus == AP_OK) 80771cc: 4b60 ldr r3, [pc, #384] ; (8077350 ) 80771ce: 781b ldrb r3, [r3, #0] 80771d0: b2db uxtb r3, r3 80771d2: 2b00 cmp r3, #0 80771d4: d11a bne.n 807720c BSP_LCD_SetFont(&Font12); 80771d6: 4853 ldr r0, [pc, #332] ; (8077324 ) 80771d8: f7de f854 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80771dc: 4952 ldr r1, [pc, #328] ; (8077328 ) 80771de: f04f 30ff mov.w r0, #4294967295 80771e2: f7de f813 bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Formatting successful!", CENTER_MODE); 80771e6: 2301 movs r3, #1 80771e8: 4a5a ldr r2, [pc, #360] ; (8077354 ) 80771ea: 218a movs r1, #138 ; 0x8a 80771ec: 20a0 movs r0, #160 ; 0xa0 80771ee: f7de f8d3 bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80771f2: 494d ldr r1, [pc, #308] ; (8077328 ) 80771f4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80771f8: f7de f808 bl 805520c BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 80771fc: 2301 movs r3, #1 80771fe: 4a4c ldr r2, [pc, #304] ; (8077330 ) 8077200: 21aa movs r1, #170 ; 0xaa 8077202: 20a0 movs r0, #160 ; 0xa0 8077204: f7de f8c8 bl 8055398 break; 8077208: f021 bfeb b.w 80991e2 BSP_LCD_SetFont(&Font12); 807720c: 4845 ldr r0, [pc, #276] ; (8077324 ) 807720e: f7de f839 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077212: 4945 ldr r1, [pc, #276] ; (8077328 ) 8077214: f04f 30ff mov.w r0, #4294967295 8077218: f7dd fff8 bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "A format error...", CENTER_MODE); 807721c: 2301 movs r3, #1 807721e: 4a4e ldr r2, [pc, #312] ; (8077358 ) 8077220: 218a movs r1, #138 ; 0x8a 8077222: 20a0 movs r0, #160 ; 0xa0 8077224: f7de f8b8 bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8077228: 493f ldr r1, [pc, #252] ; (8077328 ) 807722a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807722e: f7dd ffed bl 805520c BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 8077232: 2301 movs r3, #1 8077234: 4a3e ldr r2, [pc, #248] ; (8077330 ) 8077236: 21aa movs r1, #170 ; 0xaa 8077238: 20a0 movs r0, #160 ; 0xa0 807723a: f7de f8ad bl 8055398 break; 807723e: f021 bfd0 b.w 80991e2 case ARCHIVE: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8077242: 4939 ldr r1, [pc, #228] ; (8077328 ) 8077244: 4845 ldr r0, [pc, #276] ; (807735c ) 8077246: f7dd ffe1 bl 805520c BSP_LCD_DrawHLine(7, 52, 308); 807724a: f44f 729a mov.w r2, #308 ; 0x134 807724e: 2134 movs r1, #52 ; 0x34 8077250: 2007 movs r0, #7 8077252: f7de f955 bl 8055500 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8077256: 4934 ldr r1, [pc, #208] ; (8077328 ) 8077258: 4841 ldr r0, [pc, #260] ; (8077360 ) 807725a: f7dd ffd7 bl 805520c if(pardata.LANG == RUS) 807725e: 4b41 ldr r3, [pc, #260] ; (8077364 ) 8077260: 7b1b ldrb r3, [r3, #12] 8077262: b2db uxtb r3, r3 8077264: 2b00 cmp r3, #0 8077266: d105 bne.n 8077274 LCD_DisplayString(7, LCD_LINE_2, "..|Âîñïðîèçâåäåíèå ñèãíàëîâ"); 8077268: 4a3f ldr r2, [pc, #252] ; (8077368 ) 807726a: 2127 movs r1, #39 ; 0x27 807726c: 2007 movs r0, #7 807726e: f7de fd75 bl 8055d5c 8077272: e004 b.n 807727e else LCD_DisplayString(7, LCD_LINE_2, "..|Playing signals"); 8077274: 4a3d ldr r2, [pc, #244] ; (807736c ) 8077276: 2127 movs r1, #39 ; 0x27 8077278: 2007 movs r0, #7 807727a: f7de fd6f bl 8055d5c if(menupos == ArchiveFran) 807727e: 4b3c ldr r3, [pc, #240] ; (8077370 ) 8077280: 781b ldrb r3, [r3, #0] 8077282: b2db uxtb r3, r3 8077284: 2b01 cmp r3, #1 8077286: d123 bne.n 80772d0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8077288: 493a ldr r1, [pc, #232] ; (8077374 ) 807728a: f04f 30ff mov.w r0, #4294967295 807728e: f7dd ffbd bl 805520c LCD_DisplayString(12, LCD_LINE_5, (char *) TEXT_ARCHIVE[pardata.LANG][0]); 8077292: 4b34 ldr r3, [pc, #208] ; (8077364 ) 8077294: 7b1b ldrb r3, [r3, #12] 8077296: b2db uxtb r3, r3 8077298: 461a mov r2, r3 807729a: 4b37 ldr r3, [pc, #220] ; (8077378 ) 807729c: f853 3032 ldr.w r3, [r3, r2, lsl #3] 80772a0: 461a mov r2, r3 80772a2: 215a movs r1, #90 ; 0x5a 80772a4: 200c movs r0, #12 80772a6: f7de fd59 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80772aa: 491f ldr r1, [pc, #124] ; (8077328 ) 80772ac: f04f 30ff mov.w r0, #4294967295 80772b0: f7dd ffac bl 805520c LCD_DisplayString(12, LCD_LINE_6, (char *) TEXT_ARCHIVE[pardata.LANG][1]); 80772b4: 4b2b ldr r3, [pc, #172] ; (8077364 ) 80772b6: 7b1b ldrb r3, [r3, #12] 80772b8: b2db uxtb r3, r3 80772ba: 4a2f ldr r2, [pc, #188] ; (8077378 ) 80772bc: 00db lsls r3, r3, #3 80772be: 4413 add r3, r2 80772c0: 685b ldr r3, [r3, #4] 80772c2: 461a mov r2, r3 80772c4: 216a movs r1, #106 ; 0x6a 80772c6: 200c movs r0, #12 80772c8: f7de fd48 bl 8055d5c 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; 80772cc: f021 bf8b b.w 80991e6 if(menupos == ArchiveWave) 80772d0: 4b27 ldr r3, [pc, #156] ; (8077370 ) 80772d2: 781b ldrb r3, [r3, #0] 80772d4: b2db uxtb r3, r3 80772d6: 2b02 cmp r3, #2 80772d8: f061 8785 bne.w 80991e6 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80772dc: 4925 ldr r1, [pc, #148] ; (8077374 ) 80772de: f04f 30ff mov.w r0, #4294967295 80772e2: f7dd ff93 bl 805520c LCD_DisplayString(12, LCD_LINE_6, (char *) TEXT_ARCHIVE[pardata.LANG][1]); 80772e6: 4b1f ldr r3, [pc, #124] ; (8077364 ) 80772e8: 7b1b ldrb r3, [r3, #12] 80772ea: b2db uxtb r3, r3 80772ec: 4a22 ldr r2, [pc, #136] ; (8077378 ) 80772ee: 00db lsls r3, r3, #3 80772f0: 4413 add r3, r2 80772f2: 685b ldr r3, [r3, #4] 80772f4: 461a mov r2, r3 80772f6: 216a movs r1, #106 ; 0x6a 80772f8: 200c movs r0, #12 80772fa: f7de fd2f bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80772fe: 490a ldr r1, [pc, #40] ; (8077328 ) 8077300: f04f 30ff mov.w r0, #4294967295 8077304: f7dd ff82 bl 805520c LCD_DisplayString(12, LCD_LINE_5, (char *) TEXT_ARCHIVE[pardata.LANG][0]); 8077308: 4b16 ldr r3, [pc, #88] ; (8077364 ) 807730a: 7b1b ldrb r3, [r3, #12] 807730c: b2db uxtb r3, r3 807730e: 461a mov r2, r3 8077310: 4b19 ldr r3, [pc, #100] ; (8077378 ) 8077312: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8077316: 461a mov r2, r3 8077318: 215a movs r1, #90 ; 0x5a 807731a: 200c movs r0, #12 807731c: f7de fd1e bl 8055d5c break; 8077320: f021 bf61 b.w 80991e6 8077324: 20020038 .word 0x20020038 8077328: ff0a0f1f .word 0xff0a0f1f 807732c: 080d6918 .word 0x080d6918 8077330: 080d6914 .word 0x080d6914 8077334: 080d67b4 .word 0x080d67b4 8077338: 080d67e8 .word 0x080d67e8 807733c: 080d67f0 .word 0x080d67f0 8077340: 080d67f8 .word 0x080d67f8 8077344: 20020dfd .word 0x20020dfd 8077348: 080d6934 .word 0x080d6934 807734c: 080d6944 .word 0x080d6944 8077350: 20020df1 .word 0x20020df1 8077354: 080d6954 .word 0x080d6954 8077358: 080d696c .word 0x080d696c 807735c: ffd3d3d3 .word 0xffd3d3d3 8077360: ff808080 .word 0xff808080 8077364: 20023eb8 .word 0x20023eb8 8077368: 080d6980 .word 0x080d6980 807736c: 080d699c .word 0x080d699c 8077370: 20020070 .word 0x20020070 8077374: ff606060 .word 0xff606060 8077378: 2002095c .word 0x2002095c case MEAS_MODE: // LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807737c: 498c ldr r1, [pc, #560] ; (80775b0 ) 807737e: 488d ldr r0, [pc, #564] ; (80775b4 ) 8077380: f7dd ff44 bl 805520c BSP_LCD_DrawRect(2, 35, 314, 201); 8077384: 23c9 movs r3, #201 ; 0xc9 8077386: f44f 729d mov.w r2, #314 ; 0x13a 807738a: 2123 movs r1, #35 ; 0x23 807738c: 2002 movs r0, #2 807738e: f7de fa43 bl 8055818 #ifdef USE_ROLL if(menupos == Vibrometer) 8077392: 4b89 ldr r3, [pc, #548] ; (80775b8 ) 8077394: 781b ldrb r3, [r3, #0] 8077396: b2db uxtb r3, r3 8077398: 2b01 cmp r3, #1 807739a: f040 8081 bne.w 80774a0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807739e: 4984 ldr r1, [pc, #528] ; (80775b0 ) 80773a0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80773a4: f7dd ff32 bl 805520c LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 80773a8: 4b84 ldr r3, [pc, #528] ; (80775bc ) 80773aa: 7b1b ldrb r3, [r3, #12] 80773ac: b2db uxtb r3, r3 80773ae: 4619 mov r1, r3 80773b0: 4a83 ldr r2, [pc, #524] ; (80775c0 ) 80773b2: 460b mov r3, r1 80773b4: 009b lsls r3, r3, #2 80773b6: 440b add r3, r1 80773b8: 00db lsls r3, r3, #3 80773ba: 4413 add r3, r2 80773bc: 681b ldr r3, [r3, #0] 80773be: 461a mov r2, r3 80773c0: 214a movs r1, #74 ; 0x4a 80773c2: 200a movs r0, #10 80773c4: f7de fcca bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80773c8: 4979 ldr r1, [pc, #484] ; (80775b0 ) 80773ca: f04f 30ff mov.w r0, #4294967295 80773ce: f7dd ff1d bl 805520c LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 80773d2: 4b7a ldr r3, [pc, #488] ; (80775bc ) 80773d4: 7b1b ldrb r3, [r3, #12] 80773d6: b2db uxtb r3, r3 80773d8: 4619 mov r1, r3 80773da: 4a79 ldr r2, [pc, #484] ; (80775c0 ) 80773dc: 460b mov r3, r1 80773de: 009b lsls r3, r3, #2 80773e0: 440b add r3, r1 80773e2: 00db lsls r3, r3, #3 80773e4: 4413 add r3, r2 80773e6: 3304 adds r3, #4 80773e8: 681b ldr r3, [r3, #0] 80773ea: 461a mov r2, r3 80773ec: 215a movs r1, #90 ; 0x5a 80773ee: 200a movs r0, #10 80773f0: f7de fcb4 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 80773f4: 4b71 ldr r3, [pc, #452] ; (80775bc ) 80773f6: 7b1b ldrb r3, [r3, #12] 80773f8: b2db uxtb r3, r3 80773fa: 4619 mov r1, r3 80773fc: 4a70 ldr r2, [pc, #448] ; (80775c0 ) 80773fe: 460b mov r3, r1 8077400: 009b lsls r3, r3, #2 8077402: 440b add r3, r1 8077404: 00db lsls r3, r3, #3 8077406: 4413 add r3, r2 8077408: 3308 adds r3, #8 807740a: 681b ldr r3, [r3, #0] 807740c: 461a mov r2, r3 807740e: 216a movs r1, #106 ; 0x6a 8077410: 200a movs r0, #10 8077412: f7de fca3 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8077416: 4b69 ldr r3, [pc, #420] ; (80775bc ) 8077418: 7b1b ldrb r3, [r3, #12] 807741a: b2db uxtb r3, r3 807741c: 4619 mov r1, r3 807741e: 4a68 ldr r2, [pc, #416] ; (80775c0 ) 8077420: 460b mov r3, r1 8077422: 009b lsls r3, r3, #2 8077424: 440b add r3, r1 8077426: 00db lsls r3, r3, #3 8077428: 4413 add r3, r2 807742a: 330c adds r3, #12 807742c: 681b ldr r3, [r3, #0] 807742e: 461a mov r2, r3 8077430: 217a movs r1, #122 ; 0x7a 8077432: 200a movs r0, #10 8077434: f7de fc92 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8077438: 4b60 ldr r3, [pc, #384] ; (80775bc ) 807743a: 7b1b ldrb r3, [r3, #12] 807743c: b2db uxtb r3, r3 807743e: 4619 mov r1, r3 8077440: 4a5f ldr r2, [pc, #380] ; (80775c0 ) 8077442: 460b mov r3, r1 8077444: 009b lsls r3, r3, #2 8077446: 440b add r3, r1 8077448: 00db lsls r3, r3, #3 807744a: 4413 add r3, r2 807744c: 3310 adds r3, #16 807744e: 681b ldr r3, [r3, #0] 8077450: 461a mov r2, r3 8077452: 218a movs r1, #138 ; 0x8a 8077454: 200a movs r0, #10 8077456: f7de fc81 bl 8055d5c LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 807745a: 4b58 ldr r3, [pc, #352] ; (80775bc ) 807745c: 7b1b ldrb r3, [r3, #12] 807745e: b2db uxtb r3, r3 8077460: 4619 mov r1, r3 8077462: 4a57 ldr r2, [pc, #348] ; (80775c0 ) 8077464: 460b mov r3, r1 8077466: 009b lsls r3, r3, #2 8077468: 440b add r3, r1 807746a: 00db lsls r3, r3, #3 807746c: 4413 add r3, r2 807746e: 3320 adds r3, #32 8077470: 681b ldr r3, [r3, #0] 8077472: 461a mov r2, r3 8077474: 219a movs r1, #154 ; 0x9a 8077476: 200a movs r0, #10 8077478: f7de fc70 bl 8055d5c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 807747c: 4b4f ldr r3, [pc, #316] ; (80775bc ) 807747e: 7b1b ldrb r3, [r3, #12] 8077480: b2db uxtb r3, r3 8077482: 4619 mov r1, r3 8077484: 4a4e ldr r2, [pc, #312] ; (80775c0 ) 8077486: 460b mov r3, r1 8077488: 009b lsls r3, r3, #2 807748a: 440b add r3, r1 807748c: 00db lsls r3, r3, #3 807748e: 4413 add r3, r2 8077490: 3324 adds r3, #36 ; 0x24 8077492: 681b ldr r3, [r3, #0] 8077494: 461a mov r2, r3 8077496: 21aa movs r1, #170 ; 0xaa 8077498: 200a movs r0, #10 807749a: f7de fc5f bl 8055d5c 807749e: e33b b.n 8077b18 } else if(menupos == Osc) 80774a0: 4b45 ldr r3, [pc, #276] ; (80775b8 ) 80774a2: 781b ldrb r3, [r3, #0] 80774a4: b2db uxtb r3, r3 80774a6: 2b02 cmp r3, #2 80774a8: f040 808c bne.w 80775c4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80774ac: 4940 ldr r1, [pc, #256] ; (80775b0 ) 80774ae: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80774b2: f7dd feab bl 805520c LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 80774b6: 4b41 ldr r3, [pc, #260] ; (80775bc ) 80774b8: 7b1b ldrb r3, [r3, #12] 80774ba: b2db uxtb r3, r3 80774bc: 4619 mov r1, r3 80774be: 4a40 ldr r2, [pc, #256] ; (80775c0 ) 80774c0: 460b mov r3, r1 80774c2: 009b lsls r3, r3, #2 80774c4: 440b add r3, r1 80774c6: 00db lsls r3, r3, #3 80774c8: 4413 add r3, r2 80774ca: 3304 adds r3, #4 80774cc: 681b ldr r3, [r3, #0] 80774ce: 461a mov r2, r3 80774d0: 215a movs r1, #90 ; 0x5a 80774d2: 200a movs r0, #10 80774d4: f7de fc42 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80774d8: 4935 ldr r1, [pc, #212] ; (80775b0 ) 80774da: f04f 30ff mov.w r0, #4294967295 80774de: f7dd fe95 bl 805520c LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 80774e2: 4b36 ldr r3, [pc, #216] ; (80775bc ) 80774e4: 7b1b ldrb r3, [r3, #12] 80774e6: b2db uxtb r3, r3 80774e8: 4619 mov r1, r3 80774ea: 4a35 ldr r2, [pc, #212] ; (80775c0 ) 80774ec: 460b mov r3, r1 80774ee: 009b lsls r3, r3, #2 80774f0: 440b add r3, r1 80774f2: 00db lsls r3, r3, #3 80774f4: 4413 add r3, r2 80774f6: 681b ldr r3, [r3, #0] 80774f8: 461a mov r2, r3 80774fa: 214a movs r1, #74 ; 0x4a 80774fc: 200a movs r0, #10 80774fe: f7de fc2d bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8077502: 4b2e ldr r3, [pc, #184] ; (80775bc ) 8077504: 7b1b ldrb r3, [r3, #12] 8077506: b2db uxtb r3, r3 8077508: 4619 mov r1, r3 807750a: 4a2d ldr r2, [pc, #180] ; (80775c0 ) 807750c: 460b mov r3, r1 807750e: 009b lsls r3, r3, #2 8077510: 440b add r3, r1 8077512: 00db lsls r3, r3, #3 8077514: 4413 add r3, r2 8077516: 3308 adds r3, #8 8077518: 681b ldr r3, [r3, #0] 807751a: 461a mov r2, r3 807751c: 216a movs r1, #106 ; 0x6a 807751e: 200a movs r0, #10 8077520: f7de fc1c bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8077524: 4b25 ldr r3, [pc, #148] ; (80775bc ) 8077526: 7b1b ldrb r3, [r3, #12] 8077528: b2db uxtb r3, r3 807752a: 4619 mov r1, r3 807752c: 4a24 ldr r2, [pc, #144] ; (80775c0 ) 807752e: 460b mov r3, r1 8077530: 009b lsls r3, r3, #2 8077532: 440b add r3, r1 8077534: 00db lsls r3, r3, #3 8077536: 4413 add r3, r2 8077538: 330c adds r3, #12 807753a: 681b ldr r3, [r3, #0] 807753c: 461a mov r2, r3 807753e: 217a movs r1, #122 ; 0x7a 8077540: 200a movs r0, #10 8077542: f7de fc0b bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8077546: 4b1d ldr r3, [pc, #116] ; (80775bc ) 8077548: 7b1b ldrb r3, [r3, #12] 807754a: b2db uxtb r3, r3 807754c: 4619 mov r1, r3 807754e: 4a1c ldr r2, [pc, #112] ; (80775c0 ) 8077550: 460b mov r3, r1 8077552: 009b lsls r3, r3, #2 8077554: 440b add r3, r1 8077556: 00db lsls r3, r3, #3 8077558: 4413 add r3, r2 807755a: 3310 adds r3, #16 807755c: 681b ldr r3, [r3, #0] 807755e: 461a mov r2, r3 8077560: 218a movs r1, #138 ; 0x8a 8077562: 200a movs r0, #10 8077564: f7de fbfa bl 8055d5c LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8077568: 4b14 ldr r3, [pc, #80] ; (80775bc ) 807756a: 7b1b ldrb r3, [r3, #12] 807756c: b2db uxtb r3, r3 807756e: 4619 mov r1, r3 8077570: 4a13 ldr r2, [pc, #76] ; (80775c0 ) 8077572: 460b mov r3, r1 8077574: 009b lsls r3, r3, #2 8077576: 440b add r3, r1 8077578: 00db lsls r3, r3, #3 807757a: 4413 add r3, r2 807757c: 3320 adds r3, #32 807757e: 681b ldr r3, [r3, #0] 8077580: 461a mov r2, r3 8077582: 219a movs r1, #154 ; 0x9a 8077584: 200a movs r0, #10 8077586: f7de fbe9 bl 8055d5c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 807758a: 4b0c ldr r3, [pc, #48] ; (80775bc ) 807758c: 7b1b ldrb r3, [r3, #12] 807758e: b2db uxtb r3, r3 8077590: 4619 mov r1, r3 8077592: 4a0b ldr r2, [pc, #44] ; (80775c0 ) 8077594: 460b mov r3, r1 8077596: 009b lsls r3, r3, #2 8077598: 440b add r3, r1 807759a: 00db lsls r3, r3, #3 807759c: 4413 add r3, r2 807759e: 3324 adds r3, #36 ; 0x24 80775a0: 681b ldr r3, [r3, #0] 80775a2: 461a mov r2, r3 80775a4: 21aa movs r1, #170 ; 0xaa 80775a6: 200a movs r0, #10 80775a8: f7de fbd8 bl 8055d5c 80775ac: e2b4 b.n 8077b18 80775ae: bf00 nop 80775b0: ff0a0f1f .word 0xff0a0f1f 80775b4: ffd3d3d3 .word 0xffd3d3d3 80775b8: 20020070 .word 0x20020070 80775bc: 20023eb8 .word 0x20023eb8 80775c0: 200208e4 .word 0x200208e4 } else if(menupos == FFT) 80775c4: 4bca ldr r3, [pc, #808] ; (80778f0 ) 80775c6: 781b ldrb r3, [r3, #0] 80775c8: b2db uxtb r3, r3 80775ca: 2b03 cmp r3, #3 80775cc: f040 8081 bne.w 80776d2 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80775d0: 49c8 ldr r1, [pc, #800] ; (80778f4 ) 80775d2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80775d6: f7dd fe19 bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 80775da: 4bc7 ldr r3, [pc, #796] ; (80778f8 ) 80775dc: 7b1b ldrb r3, [r3, #12] 80775de: b2db uxtb r3, r3 80775e0: 4619 mov r1, r3 80775e2: 4ac6 ldr r2, [pc, #792] ; (80778fc ) 80775e4: 460b mov r3, r1 80775e6: 009b lsls r3, r3, #2 80775e8: 440b add r3, r1 80775ea: 00db lsls r3, r3, #3 80775ec: 4413 add r3, r2 80775ee: 3308 adds r3, #8 80775f0: 681b ldr r3, [r3, #0] 80775f2: 461a mov r2, r3 80775f4: 216a movs r1, #106 ; 0x6a 80775f6: 200a movs r0, #10 80775f8: f7de fbb0 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80775fc: 49bd ldr r1, [pc, #756] ; (80778f4 ) 80775fe: f04f 30ff mov.w r0, #4294967295 8077602: f7dd fe03 bl 805520c LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8077606: 4bbc ldr r3, [pc, #752] ; (80778f8 ) 8077608: 7b1b ldrb r3, [r3, #12] 807760a: b2db uxtb r3, r3 807760c: 4619 mov r1, r3 807760e: 4abb ldr r2, [pc, #748] ; (80778fc ) 8077610: 460b mov r3, r1 8077612: 009b lsls r3, r3, #2 8077614: 440b add r3, r1 8077616: 00db lsls r3, r3, #3 8077618: 4413 add r3, r2 807761a: 681b ldr r3, [r3, #0] 807761c: 461a mov r2, r3 807761e: 214a movs r1, #74 ; 0x4a 8077620: 200a movs r0, #10 8077622: f7de fb9b bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8077626: 4bb4 ldr r3, [pc, #720] ; (80778f8 ) 8077628: 7b1b ldrb r3, [r3, #12] 807762a: b2db uxtb r3, r3 807762c: 4619 mov r1, r3 807762e: 4ab3 ldr r2, [pc, #716] ; (80778fc ) 8077630: 460b mov r3, r1 8077632: 009b lsls r3, r3, #2 8077634: 440b add r3, r1 8077636: 00db lsls r3, r3, #3 8077638: 4413 add r3, r2 807763a: 3304 adds r3, #4 807763c: 681b ldr r3, [r3, #0] 807763e: 461a mov r2, r3 8077640: 215a movs r1, #90 ; 0x5a 8077642: 200a movs r0, #10 8077644: f7de fb8a bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8077648: 4bab ldr r3, [pc, #684] ; (80778f8 ) 807764a: 7b1b ldrb r3, [r3, #12] 807764c: b2db uxtb r3, r3 807764e: 4619 mov r1, r3 8077650: 4aaa ldr r2, [pc, #680] ; (80778fc ) 8077652: 460b mov r3, r1 8077654: 009b lsls r3, r3, #2 8077656: 440b add r3, r1 8077658: 00db lsls r3, r3, #3 807765a: 4413 add r3, r2 807765c: 330c adds r3, #12 807765e: 681b ldr r3, [r3, #0] 8077660: 461a mov r2, r3 8077662: 217a movs r1, #122 ; 0x7a 8077664: 200a movs r0, #10 8077666: f7de fb79 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 807766a: 4ba3 ldr r3, [pc, #652] ; (80778f8 ) 807766c: 7b1b ldrb r3, [r3, #12] 807766e: b2db uxtb r3, r3 8077670: 4619 mov r1, r3 8077672: 4aa2 ldr r2, [pc, #648] ; (80778fc ) 8077674: 460b mov r3, r1 8077676: 009b lsls r3, r3, #2 8077678: 440b add r3, r1 807767a: 00db lsls r3, r3, #3 807767c: 4413 add r3, r2 807767e: 3310 adds r3, #16 8077680: 681b ldr r3, [r3, #0] 8077682: 461a mov r2, r3 8077684: 218a movs r1, #138 ; 0x8a 8077686: 200a movs r0, #10 8077688: f7de fb68 bl 8055d5c LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 807768c: 4b9a ldr r3, [pc, #616] ; (80778f8 ) 807768e: 7b1b ldrb r3, [r3, #12] 8077690: b2db uxtb r3, r3 8077692: 4619 mov r1, r3 8077694: 4a99 ldr r2, [pc, #612] ; (80778fc ) 8077696: 460b mov r3, r1 8077698: 009b lsls r3, r3, #2 807769a: 440b add r3, r1 807769c: 00db lsls r3, r3, #3 807769e: 4413 add r3, r2 80776a0: 3320 adds r3, #32 80776a2: 681b ldr r3, [r3, #0] 80776a4: 461a mov r2, r3 80776a6: 219a movs r1, #154 ; 0x9a 80776a8: 200a movs r0, #10 80776aa: f7de fb57 bl 8055d5c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 80776ae: 4b92 ldr r3, [pc, #584] ; (80778f8 ) 80776b0: 7b1b ldrb r3, [r3, #12] 80776b2: b2db uxtb r3, r3 80776b4: 4619 mov r1, r3 80776b6: 4a91 ldr r2, [pc, #580] ; (80778fc ) 80776b8: 460b mov r3, r1 80776ba: 009b lsls r3, r3, #2 80776bc: 440b add r3, r1 80776be: 00db lsls r3, r3, #3 80776c0: 4413 add r3, r2 80776c2: 3324 adds r3, #36 ; 0x24 80776c4: 681b ldr r3, [r3, #0] 80776c6: 461a mov r2, r3 80776c8: 21aa movs r1, #170 ; 0xaa 80776ca: 200a movs r0, #10 80776cc: f7de fb46 bl 8055d5c 80776d0: e222 b.n 8077b18 } else if(menupos == Wave) 80776d2: 4b87 ldr r3, [pc, #540] ; (80778f0 ) 80776d4: 781b ldrb r3, [r3, #0] 80776d6: b2db uxtb r3, r3 80776d8: 2b04 cmp r3, #4 80776da: f040 8081 bne.w 80777e0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80776de: 4985 ldr r1, [pc, #532] ; (80778f4 ) 80776e0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80776e4: f7dd fd92 bl 805520c LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 80776e8: 4b83 ldr r3, [pc, #524] ; (80778f8 ) 80776ea: 7b1b ldrb r3, [r3, #12] 80776ec: b2db uxtb r3, r3 80776ee: 4619 mov r1, r3 80776f0: 4a82 ldr r2, [pc, #520] ; (80778fc ) 80776f2: 460b mov r3, r1 80776f4: 009b lsls r3, r3, #2 80776f6: 440b add r3, r1 80776f8: 00db lsls r3, r3, #3 80776fa: 4413 add r3, r2 80776fc: 330c adds r3, #12 80776fe: 681b ldr r3, [r3, #0] 8077700: 461a mov r2, r3 8077702: 217a movs r1, #122 ; 0x7a 8077704: 200a movs r0, #10 8077706: f7de fb29 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807770a: 497a ldr r1, [pc, #488] ; (80778f4 ) 807770c: f04f 30ff mov.w r0, #4294967295 8077710: f7dd fd7c bl 805520c LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8077714: 4b78 ldr r3, [pc, #480] ; (80778f8 ) 8077716: 7b1b ldrb r3, [r3, #12] 8077718: b2db uxtb r3, r3 807771a: 4619 mov r1, r3 807771c: 4a77 ldr r2, [pc, #476] ; (80778fc ) 807771e: 460b mov r3, r1 8077720: 009b lsls r3, r3, #2 8077722: 440b add r3, r1 8077724: 00db lsls r3, r3, #3 8077726: 4413 add r3, r2 8077728: 681b ldr r3, [r3, #0] 807772a: 461a mov r2, r3 807772c: 214a movs r1, #74 ; 0x4a 807772e: 200a movs r0, #10 8077730: f7de fb14 bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8077734: 4b70 ldr r3, [pc, #448] ; (80778f8 ) 8077736: 7b1b ldrb r3, [r3, #12] 8077738: b2db uxtb r3, r3 807773a: 4619 mov r1, r3 807773c: 4a6f ldr r2, [pc, #444] ; (80778fc ) 807773e: 460b mov r3, r1 8077740: 009b lsls r3, r3, #2 8077742: 440b add r3, r1 8077744: 00db lsls r3, r3, #3 8077746: 4413 add r3, r2 8077748: 3304 adds r3, #4 807774a: 681b ldr r3, [r3, #0] 807774c: 461a mov r2, r3 807774e: 215a movs r1, #90 ; 0x5a 8077750: 200a movs r0, #10 8077752: f7de fb03 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8077756: 4b68 ldr r3, [pc, #416] ; (80778f8 ) 8077758: 7b1b ldrb r3, [r3, #12] 807775a: b2db uxtb r3, r3 807775c: 4619 mov r1, r3 807775e: 4a67 ldr r2, [pc, #412] ; (80778fc ) 8077760: 460b mov r3, r1 8077762: 009b lsls r3, r3, #2 8077764: 440b add r3, r1 8077766: 00db lsls r3, r3, #3 8077768: 4413 add r3, r2 807776a: 3308 adds r3, #8 807776c: 681b ldr r3, [r3, #0] 807776e: 461a mov r2, r3 8077770: 216a movs r1, #106 ; 0x6a 8077772: 200a movs r0, #10 8077774: f7de faf2 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8077778: 4b5f ldr r3, [pc, #380] ; (80778f8 ) 807777a: 7b1b ldrb r3, [r3, #12] 807777c: b2db uxtb r3, r3 807777e: 4619 mov r1, r3 8077780: 4a5e ldr r2, [pc, #376] ; (80778fc ) 8077782: 460b mov r3, r1 8077784: 009b lsls r3, r3, #2 8077786: 440b add r3, r1 8077788: 00db lsls r3, r3, #3 807778a: 4413 add r3, r2 807778c: 3310 adds r3, #16 807778e: 681b ldr r3, [r3, #0] 8077790: 461a mov r2, r3 8077792: 218a movs r1, #138 ; 0x8a 8077794: 200a movs r0, #10 8077796: f7de fae1 bl 8055d5c LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 807779a: 4b57 ldr r3, [pc, #348] ; (80778f8 ) 807779c: 7b1b ldrb r3, [r3, #12] 807779e: b2db uxtb r3, r3 80777a0: 4619 mov r1, r3 80777a2: 4a56 ldr r2, [pc, #344] ; (80778fc ) 80777a4: 460b mov r3, r1 80777a6: 009b lsls r3, r3, #2 80777a8: 440b add r3, r1 80777aa: 00db lsls r3, r3, #3 80777ac: 4413 add r3, r2 80777ae: 3320 adds r3, #32 80777b0: 681b ldr r3, [r3, #0] 80777b2: 461a mov r2, r3 80777b4: 219a movs r1, #154 ; 0x9a 80777b6: 200a movs r0, #10 80777b8: f7de fad0 bl 8055d5c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 80777bc: 4b4e ldr r3, [pc, #312] ; (80778f8 ) 80777be: 7b1b ldrb r3, [r3, #12] 80777c0: b2db uxtb r3, r3 80777c2: 4619 mov r1, r3 80777c4: 4a4d ldr r2, [pc, #308] ; (80778fc ) 80777c6: 460b mov r3, r1 80777c8: 009b lsls r3, r3, #2 80777ca: 440b add r3, r1 80777cc: 00db lsls r3, r3, #3 80777ce: 4413 add r3, r2 80777d0: 3324 adds r3, #36 ; 0x24 80777d2: 681b ldr r3, [r3, #0] 80777d4: 461a mov r2, r3 80777d6: 21aa movs r1, #170 ; 0xaa 80777d8: 200a movs r0, #10 80777da: f7de fabf bl 8055d5c 80777de: e19b b.n 8077b18 } else if(menupos == Diagn) 80777e0: 4b43 ldr r3, [pc, #268] ; (80778f0 ) 80777e2: 781b ldrb r3, [r3, #0] 80777e4: b2db uxtb r3, r3 80777e6: 2b05 cmp r3, #5 80777e8: f040 808a bne.w 8077900 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80777ec: 4941 ldr r1, [pc, #260] ; (80778f4 ) 80777ee: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80777f2: f7dd fd0b bl 805520c LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 80777f6: 4b40 ldr r3, [pc, #256] ; (80778f8 ) 80777f8: 7b1b ldrb r3, [r3, #12] 80777fa: b2db uxtb r3, r3 80777fc: 4619 mov r1, r3 80777fe: 4a3f ldr r2, [pc, #252] ; (80778fc ) 8077800: 460b mov r3, r1 8077802: 009b lsls r3, r3, #2 8077804: 440b add r3, r1 8077806: 00db lsls r3, r3, #3 8077808: 4413 add r3, r2 807780a: 3310 adds r3, #16 807780c: 681b ldr r3, [r3, #0] 807780e: 461a mov r2, r3 8077810: 218a movs r1, #138 ; 0x8a 8077812: 200a movs r0, #10 8077814: f7de faa2 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077818: 4936 ldr r1, [pc, #216] ; (80778f4 ) 807781a: f04f 30ff mov.w r0, #4294967295 807781e: f7dd fcf5 bl 805520c LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8077822: 4b35 ldr r3, [pc, #212] ; (80778f8 ) 8077824: 7b1b ldrb r3, [r3, #12] 8077826: b2db uxtb r3, r3 8077828: 4619 mov r1, r3 807782a: 4a34 ldr r2, [pc, #208] ; (80778fc ) 807782c: 460b mov r3, r1 807782e: 009b lsls r3, r3, #2 8077830: 440b add r3, r1 8077832: 00db lsls r3, r3, #3 8077834: 4413 add r3, r2 8077836: 681b ldr r3, [r3, #0] 8077838: 461a mov r2, r3 807783a: 214a movs r1, #74 ; 0x4a 807783c: 200a movs r0, #10 807783e: f7de fa8d bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8077842: 4b2d ldr r3, [pc, #180] ; (80778f8 ) 8077844: 7b1b ldrb r3, [r3, #12] 8077846: b2db uxtb r3, r3 8077848: 4619 mov r1, r3 807784a: 4a2c ldr r2, [pc, #176] ; (80778fc ) 807784c: 460b mov r3, r1 807784e: 009b lsls r3, r3, #2 8077850: 440b add r3, r1 8077852: 00db lsls r3, r3, #3 8077854: 4413 add r3, r2 8077856: 3304 adds r3, #4 8077858: 681b ldr r3, [r3, #0] 807785a: 461a mov r2, r3 807785c: 215a movs r1, #90 ; 0x5a 807785e: 200a movs r0, #10 8077860: f7de fa7c bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8077864: 4b24 ldr r3, [pc, #144] ; (80778f8 ) 8077866: 7b1b ldrb r3, [r3, #12] 8077868: b2db uxtb r3, r3 807786a: 4619 mov r1, r3 807786c: 4a23 ldr r2, [pc, #140] ; (80778fc ) 807786e: 460b mov r3, r1 8077870: 009b lsls r3, r3, #2 8077872: 440b add r3, r1 8077874: 00db lsls r3, r3, #3 8077876: 4413 add r3, r2 8077878: 3308 adds r3, #8 807787a: 681b ldr r3, [r3, #0] 807787c: 461a mov r2, r3 807787e: 216a movs r1, #106 ; 0x6a 8077880: 200a movs r0, #10 8077882: f7de fa6b bl 8055d5c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8077886: 4b1c ldr r3, [pc, #112] ; (80778f8 ) 8077888: 7b1b ldrb r3, [r3, #12] 807788a: b2db uxtb r3, r3 807788c: 4619 mov r1, r3 807788e: 4a1b ldr r2, [pc, #108] ; (80778fc ) 8077890: 460b mov r3, r1 8077892: 009b lsls r3, r3, #2 8077894: 440b add r3, r1 8077896: 00db lsls r3, r3, #3 8077898: 4413 add r3, r2 807789a: 3324 adds r3, #36 ; 0x24 807789c: 681b ldr r3, [r3, #0] 807789e: 461a mov r2, r3 80778a0: 21aa movs r1, #170 ; 0xaa 80778a2: 200a movs r0, #10 80778a4: f7de fa5a bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 80778a8: 4b13 ldr r3, [pc, #76] ; (80778f8 ) 80778aa: 7b1b ldrb r3, [r3, #12] 80778ac: b2db uxtb r3, r3 80778ae: 4619 mov r1, r3 80778b0: 4a12 ldr r2, [pc, #72] ; (80778fc ) 80778b2: 460b mov r3, r1 80778b4: 009b lsls r3, r3, #2 80778b6: 440b add r3, r1 80778b8: 00db lsls r3, r3, #3 80778ba: 4413 add r3, r2 80778bc: 330c adds r3, #12 80778be: 681b ldr r3, [r3, #0] 80778c0: 461a mov r2, r3 80778c2: 217a movs r1, #122 ; 0x7a 80778c4: 200a movs r0, #10 80778c6: f7de fa49 bl 8055d5c LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 80778ca: 4b0b ldr r3, [pc, #44] ; (80778f8 ) 80778cc: 7b1b ldrb r3, [r3, #12] 80778ce: b2db uxtb r3, r3 80778d0: 4619 mov r1, r3 80778d2: 4a0a ldr r2, [pc, #40] ; (80778fc ) 80778d4: 460b mov r3, r1 80778d6: 009b lsls r3, r3, #2 80778d8: 440b add r3, r1 80778da: 00db lsls r3, r3, #3 80778dc: 4413 add r3, r2 80778de: 3320 adds r3, #32 80778e0: 681b ldr r3, [r3, #0] 80778e2: 461a mov r2, r3 80778e4: 219a movs r1, #154 ; 0x9a 80778e6: 200a movs r0, #10 80778e8: f7de fa38 bl 8055d5c 80778ec: e114 b.n 8077b18 80778ee: bf00 nop 80778f0: 20020070 .word 0x20020070 80778f4: ff0a0f1f .word 0xff0a0f1f 80778f8: 20023eb8 .word 0x20023eb8 80778fc: 200208e4 .word 0x200208e4 } else if(menupos == Roll) 8077900: 4bad ldr r3, [pc, #692] ; (8077bb8 ) 8077902: 781b ldrb r3, [r3, #0] 8077904: b2db uxtb r3, r3 8077906: 2b06 cmp r3, #6 8077908: f040 8081 bne.w 8077a0e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807790c: 49ab ldr r1, [pc, #684] ; (8077bbc ) 807790e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077912: f7dd fc7b bl 805520c LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8077916: 4baa ldr r3, [pc, #680] ; (8077bc0 ) 8077918: 7b1b ldrb r3, [r3, #12] 807791a: b2db uxtb r3, r3 807791c: 4619 mov r1, r3 807791e: 4aa9 ldr r2, [pc, #676] ; (8077bc4 ) 8077920: 460b mov r3, r1 8077922: 009b lsls r3, r3, #2 8077924: 440b add r3, r1 8077926: 00db lsls r3, r3, #3 8077928: 4413 add r3, r2 807792a: 3320 adds r3, #32 807792c: 681b ldr r3, [r3, #0] 807792e: 461a mov r2, r3 8077930: 219a movs r1, #154 ; 0x9a 8077932: 200a movs r0, #10 8077934: f7de fa12 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077938: 49a0 ldr r1, [pc, #640] ; (8077bbc ) 807793a: f04f 30ff mov.w r0, #4294967295 807793e: f7dd fc65 bl 805520c LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8077942: 4b9f ldr r3, [pc, #636] ; (8077bc0 ) 8077944: 7b1b ldrb r3, [r3, #12] 8077946: b2db uxtb r3, r3 8077948: 4619 mov r1, r3 807794a: 4a9e ldr r2, [pc, #632] ; (8077bc4 ) 807794c: 460b mov r3, r1 807794e: 009b lsls r3, r3, #2 8077950: 440b add r3, r1 8077952: 00db lsls r3, r3, #3 8077954: 4413 add r3, r2 8077956: 681b ldr r3, [r3, #0] 8077958: 461a mov r2, r3 807795a: 214a movs r1, #74 ; 0x4a 807795c: 200a movs r0, #10 807795e: f7de f9fd bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8077962: 4b97 ldr r3, [pc, #604] ; (8077bc0 ) 8077964: 7b1b ldrb r3, [r3, #12] 8077966: b2db uxtb r3, r3 8077968: 4619 mov r1, r3 807796a: 4a96 ldr r2, [pc, #600] ; (8077bc4 ) 807796c: 460b mov r3, r1 807796e: 009b lsls r3, r3, #2 8077970: 440b add r3, r1 8077972: 00db lsls r3, r3, #3 8077974: 4413 add r3, r2 8077976: 3304 adds r3, #4 8077978: 681b ldr r3, [r3, #0] 807797a: 461a mov r2, r3 807797c: 215a movs r1, #90 ; 0x5a 807797e: 200a movs r0, #10 8077980: f7de f9ec bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8077984: 4b8e ldr r3, [pc, #568] ; (8077bc0 ) 8077986: 7b1b ldrb r3, [r3, #12] 8077988: b2db uxtb r3, r3 807798a: 4619 mov r1, r3 807798c: 4a8d ldr r2, [pc, #564] ; (8077bc4 ) 807798e: 460b mov r3, r1 8077990: 009b lsls r3, r3, #2 8077992: 440b add r3, r1 8077994: 00db lsls r3, r3, #3 8077996: 4413 add r3, r2 8077998: 3308 adds r3, #8 807799a: 681b ldr r3, [r3, #0] 807799c: 461a mov r2, r3 807799e: 216a movs r1, #106 ; 0x6a 80779a0: 200a movs r0, #10 80779a2: f7de f9db bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 80779a6: 4b86 ldr r3, [pc, #536] ; (8077bc0 ) 80779a8: 7b1b ldrb r3, [r3, #12] 80779aa: b2db uxtb r3, r3 80779ac: 4619 mov r1, r3 80779ae: 4a85 ldr r2, [pc, #532] ; (8077bc4 ) 80779b0: 460b mov r3, r1 80779b2: 009b lsls r3, r3, #2 80779b4: 440b add r3, r1 80779b6: 00db lsls r3, r3, #3 80779b8: 4413 add r3, r2 80779ba: 3310 adds r3, #16 80779bc: 681b ldr r3, [r3, #0] 80779be: 461a mov r2, r3 80779c0: 218a movs r1, #138 ; 0x8a 80779c2: 200a movs r0, #10 80779c4: f7de f9ca bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 80779c8: 4b7d ldr r3, [pc, #500] ; (8077bc0 ) 80779ca: 7b1b ldrb r3, [r3, #12] 80779cc: b2db uxtb r3, r3 80779ce: 4619 mov r1, r3 80779d0: 4a7c ldr r2, [pc, #496] ; (8077bc4 ) 80779d2: 460b mov r3, r1 80779d4: 009b lsls r3, r3, #2 80779d6: 440b add r3, r1 80779d8: 00db lsls r3, r3, #3 80779da: 4413 add r3, r2 80779dc: 330c adds r3, #12 80779de: 681b ldr r3, [r3, #0] 80779e0: 461a mov r2, r3 80779e2: 217a movs r1, #122 ; 0x7a 80779e4: 200a movs r0, #10 80779e6: f7de f9b9 bl 8055d5c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 80779ea: 4b75 ldr r3, [pc, #468] ; (8077bc0 ) 80779ec: 7b1b ldrb r3, [r3, #12] 80779ee: b2db uxtb r3, r3 80779f0: 4619 mov r1, r3 80779f2: 4a74 ldr r2, [pc, #464] ; (8077bc4 ) 80779f4: 460b mov r3, r1 80779f6: 009b lsls r3, r3, #2 80779f8: 440b add r3, r1 80779fa: 00db lsls r3, r3, #3 80779fc: 4413 add r3, r2 80779fe: 3324 adds r3, #36 ; 0x24 8077a00: 681b ldr r3, [r3, #0] 8077a02: 461a mov r2, r3 8077a04: 21aa movs r1, #170 ; 0xaa 8077a06: 200a movs r0, #10 8077a08: f7de f9a8 bl 8055d5c 8077a0c: e084 b.n 8077b18 } else if(menupos == Udar) 8077a0e: 4b6a ldr r3, [pc, #424] ; (8077bb8 ) 8077a10: 781b ldrb r3, [r3, #0] 8077a12: b2db uxtb r3, r3 8077a14: 2b07 cmp r3, #7 8077a16: d17f bne.n 8077b18 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8077a18: 4968 ldr r1, [pc, #416] ; (8077bbc ) 8077a1a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077a1e: f7dd fbf5 bl 805520c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8077a22: 4b67 ldr r3, [pc, #412] ; (8077bc0 ) 8077a24: 7b1b ldrb r3, [r3, #12] 8077a26: b2db uxtb r3, r3 8077a28: 4619 mov r1, r3 8077a2a: 4a66 ldr r2, [pc, #408] ; (8077bc4 ) 8077a2c: 460b mov r3, r1 8077a2e: 009b lsls r3, r3, #2 8077a30: 440b add r3, r1 8077a32: 00db lsls r3, r3, #3 8077a34: 4413 add r3, r2 8077a36: 3324 adds r3, #36 ; 0x24 8077a38: 681b ldr r3, [r3, #0] 8077a3a: 461a mov r2, r3 8077a3c: 21aa movs r1, #170 ; 0xaa 8077a3e: 200a movs r0, #10 8077a40: f7de f98c bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077a44: 495d ldr r1, [pc, #372] ; (8077bbc ) 8077a46: f04f 30ff mov.w r0, #4294967295 8077a4a: f7dd fbdf bl 805520c LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8077a4e: 4b5c ldr r3, [pc, #368] ; (8077bc0 ) 8077a50: 7b1b ldrb r3, [r3, #12] 8077a52: b2db uxtb r3, r3 8077a54: 4619 mov r1, r3 8077a56: 4a5b ldr r2, [pc, #364] ; (8077bc4 ) 8077a58: 460b mov r3, r1 8077a5a: 009b lsls r3, r3, #2 8077a5c: 440b add r3, r1 8077a5e: 00db lsls r3, r3, #3 8077a60: 4413 add r3, r2 8077a62: 681b ldr r3, [r3, #0] 8077a64: 461a mov r2, r3 8077a66: 214a movs r1, #74 ; 0x4a 8077a68: 200a movs r0, #10 8077a6a: f7de f977 bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8077a6e: 4b54 ldr r3, [pc, #336] ; (8077bc0 ) 8077a70: 7b1b ldrb r3, [r3, #12] 8077a72: b2db uxtb r3, r3 8077a74: 4619 mov r1, r3 8077a76: 4a53 ldr r2, [pc, #332] ; (8077bc4 ) 8077a78: 460b mov r3, r1 8077a7a: 009b lsls r3, r3, #2 8077a7c: 440b add r3, r1 8077a7e: 00db lsls r3, r3, #3 8077a80: 4413 add r3, r2 8077a82: 3304 adds r3, #4 8077a84: 681b ldr r3, [r3, #0] 8077a86: 461a mov r2, r3 8077a88: 215a movs r1, #90 ; 0x5a 8077a8a: 200a movs r0, #10 8077a8c: f7de f966 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8077a90: 4b4b ldr r3, [pc, #300] ; (8077bc0 ) 8077a92: 7b1b ldrb r3, [r3, #12] 8077a94: b2db uxtb r3, r3 8077a96: 4619 mov r1, r3 8077a98: 4a4a ldr r2, [pc, #296] ; (8077bc4 ) 8077a9a: 460b mov r3, r1 8077a9c: 009b lsls r3, r3, #2 8077a9e: 440b add r3, r1 8077aa0: 00db lsls r3, r3, #3 8077aa2: 4413 add r3, r2 8077aa4: 3308 adds r3, #8 8077aa6: 681b ldr r3, [r3, #0] 8077aa8: 461a mov r2, r3 8077aaa: 216a movs r1, #106 ; 0x6a 8077aac: 200a movs r0, #10 8077aae: f7de f955 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8077ab2: 4b43 ldr r3, [pc, #268] ; (8077bc0 ) 8077ab4: 7b1b ldrb r3, [r3, #12] 8077ab6: b2db uxtb r3, r3 8077ab8: 4619 mov r1, r3 8077aba: 4a42 ldr r2, [pc, #264] ; (8077bc4 ) 8077abc: 460b mov r3, r1 8077abe: 009b lsls r3, r3, #2 8077ac0: 440b add r3, r1 8077ac2: 00db lsls r3, r3, #3 8077ac4: 4413 add r3, r2 8077ac6: 3310 adds r3, #16 8077ac8: 681b ldr r3, [r3, #0] 8077aca: 461a mov r2, r3 8077acc: 218a movs r1, #138 ; 0x8a 8077ace: 200a movs r0, #10 8077ad0: f7de f944 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8077ad4: 4b3a ldr r3, [pc, #232] ; (8077bc0 ) 8077ad6: 7b1b ldrb r3, [r3, #12] 8077ad8: b2db uxtb r3, r3 8077ada: 4619 mov r1, r3 8077adc: 4a39 ldr r2, [pc, #228] ; (8077bc4 ) 8077ade: 460b mov r3, r1 8077ae0: 009b lsls r3, r3, #2 8077ae2: 440b add r3, r1 8077ae4: 00db lsls r3, r3, #3 8077ae6: 4413 add r3, r2 8077ae8: 330c adds r3, #12 8077aea: 681b ldr r3, [r3, #0] 8077aec: 461a mov r2, r3 8077aee: 217a movs r1, #122 ; 0x7a 8077af0: 200a movs r0, #10 8077af2: f7de f933 bl 8055d5c LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8077af6: 4b32 ldr r3, [pc, #200] ; (8077bc0 ) 8077af8: 7b1b ldrb r3, [r3, #12] 8077afa: b2db uxtb r3, r3 8077afc: 4619 mov r1, r3 8077afe: 4a31 ldr r2, [pc, #196] ; (8077bc4 ) 8077b00: 460b mov r3, r1 8077b02: 009b lsls r3, r3, #2 8077b04: 440b add r3, r1 8077b06: 00db lsls r3, r3, #3 8077b08: 4413 add r3, r2 8077b0a: 3320 adds r3, #32 8077b0c: 681b ldr r3, [r3, #0] 8077b0e: 461a mov r2, r3 8077b10: 219a movs r1, #154 ; 0x9a 8077b12: 200a movs r0, #10 8077b14: f7de f922 bl 8055d5c 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) 8077b18: 4b29 ldr r3, [pc, #164] ; (8077bc0 ) 8077b1a: 799b ldrb r3, [r3, #6] 8077b1c: b2db uxtb r3, r3 8077b1e: 2b02 cmp r3, #2 8077b20: f061 8363 bne.w 80991ea { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8077b24: 4925 ldr r1, [pc, #148] ; (8077bbc ) 8077b26: 4828 ldr r0, [pc, #160] ; (8077bc8 ) 8077b28: f7dd fb70 bl 805520c #ifdef USE_ROLL LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8077b2c: 4b24 ldr r3, [pc, #144] ; (8077bc0 ) 8077b2e: 7b1b ldrb r3, [r3, #12] 8077b30: b2db uxtb r3, r3 8077b32: 4619 mov r1, r3 8077b34: 4a23 ldr r2, [pc, #140] ; (8077bc4 ) 8077b36: 460b mov r3, r1 8077b38: 009b lsls r3, r3, #2 8077b3a: 440b add r3, r1 8077b3c: 00db lsls r3, r3, #3 8077b3e: 4413 add r3, r2 8077b40: 330c adds r3, #12 8077b42: 681b ldr r3, [r3, #0] 8077b44: 461a mov r2, r3 8077b46: 217a movs r1, #122 ; 0x7a 8077b48: 200a movs r0, #10 8077b4a: f7de f907 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8077b4e: 4b1c ldr r3, [pc, #112] ; (8077bc0 ) 8077b50: 7b1b ldrb r3, [r3, #12] 8077b52: b2db uxtb r3, r3 8077b54: 4619 mov r1, r3 8077b56: 4a1b ldr r2, [pc, #108] ; (8077bc4 ) 8077b58: 460b mov r3, r1 8077b5a: 009b lsls r3, r3, #2 8077b5c: 440b add r3, r1 8077b5e: 00db lsls r3, r3, #3 8077b60: 4413 add r3, r2 8077b62: 3310 adds r3, #16 8077b64: 681b ldr r3, [r3, #0] 8077b66: 461a mov r2, r3 8077b68: 218a movs r1, #138 ; 0x8a 8077b6a: 200a movs r0, #10 8077b6c: f7de f8f6 bl 8055d5c LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8077b70: 4b13 ldr r3, [pc, #76] ; (8077bc0 ) 8077b72: 7b1b ldrb r3, [r3, #12] 8077b74: b2db uxtb r3, r3 8077b76: 4619 mov r1, r3 8077b78: 4a12 ldr r2, [pc, #72] ; (8077bc4 ) 8077b7a: 460b mov r3, r1 8077b7c: 009b lsls r3, r3, #2 8077b7e: 440b add r3, r1 8077b80: 00db lsls r3, r3, #3 8077b82: 4413 add r3, r2 8077b84: 3320 adds r3, #32 8077b86: 681b ldr r3, [r3, #0] 8077b88: 461a mov r2, r3 8077b8a: 219a movs r1, #154 ; 0x9a 8077b8c: 200a movs r0, #10 8077b8e: f7de f8e5 bl 8055d5c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8077b92: 4b0b ldr r3, [pc, #44] ; (8077bc0 ) 8077b94: 7b1b ldrb r3, [r3, #12] 8077b96: b2db uxtb r3, r3 8077b98: 4619 mov r1, r3 8077b9a: 4a0a ldr r2, [pc, #40] ; (8077bc4 ) 8077b9c: 460b mov r3, r1 8077b9e: 009b lsls r3, r3, #2 8077ba0: 440b add r3, r1 8077ba2: 00db lsls r3, r3, #3 8077ba4: 4413 add r3, r2 8077ba6: 3324 adds r3, #36 ; 0x24 8077ba8: 681b ldr r3, [r3, #0] 8077baa: 461a mov r2, r3 8077bac: 21aa movs r1, #170 ; 0xaa 8077bae: 200a movs r0, #10 8077bb0: f7de f8d4 bl 8055d5c break; 8077bb4: f021 bb19 b.w 80991ea 8077bb8: 20020070 .word 0x20020070 8077bbc: ff0a0f1f .word 0xff0a0f1f 8077bc0: 20023eb8 .word 0x20023eb8 8077bc4: 200208e4 .word 0x200208e4 8077bc8: ff808080 .word 0xff808080 case SETTINGS: //todo LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8077bcc: 4998 ldr r1, [pc, #608] ; (8077e30 ) 8077bce: 4899 ldr r0, [pc, #612] ; (8077e34 ) 8077bd0: f7dd fb1c bl 805520c BSP_LCD_DrawRect(2, 35, 314, 201); 8077bd4: 23c9 movs r3, #201 ; 0xc9 8077bd6: f44f 729d mov.w r2, #314 ; 0x13a 8077bda: 2123 movs r1, #35 ; 0x23 8077bdc: 2002 movs r0, #2 8077bde: f7dd fe1b bl 8055818 k = (uint32_t) (pardata.IKK * 1000.0f); 8077be2: 4b95 ldr r3, [pc, #596] ; (8077e38 ) 8077be4: edd3 7a04 vldr s15, [r3, #16] 8077be8: ed9f 7a94 vldr s14, [pc, #592] ; 8077e3c 8077bec: ee67 7a87 vmul.f32 s15, s15, s14 8077bf0: eefc 7ae7 vcvt.u32.f32 s15, s15 8077bf4: ee17 3a90 vmov r3, s15 8077bf8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 ies = k / 100000; 8077bfc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8077c00: 095b lsrs r3, r3, #5 8077c02: 4a8f ldr r2, [pc, #572] ; (8077e40 ) 8077c04: fba2 2303 umull r2, r3, r2, r3 8077c08: 09db lsrs r3, r3, #7 8077c0a: b2db uxtb r3, r3 8077c0c: f887 33e5 strb.w r3, [r7, #997] ; 0x3e5 ied = k % 100000 / 10000; 8077c10: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8077c14: 0953 lsrs r3, r2, #5 8077c16: 498a ldr r1, [pc, #552] ; (8077e40 ) 8077c18: fba1 1303 umull r1, r3, r1, r3 8077c1c: 09db lsrs r3, r3, #7 8077c1e: 4989 ldr r1, [pc, #548] ; (8077e44 ) 8077c20: fb01 f303 mul.w r3, r1, r3 8077c24: 1ad3 subs r3, r2, r3 8077c26: 4a88 ldr r2, [pc, #544] ; (8077e48 ) 8077c28: fba2 2303 umull r2, r3, r2, r3 8077c2c: 0b5b lsrs r3, r3, #13 8077c2e: b2db uxtb r3, r3 8077c30: f887 33e4 strb.w r3, [r7, #996] ; 0x3e4 iee = k % 100000 % 10000 / 1000; 8077c34: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8077c38: 0953 lsrs r3, r2, #5 8077c3a: 4981 ldr r1, [pc, #516] ; (8077e40 ) 8077c3c: fba1 1303 umull r1, r3, r1, r3 8077c40: 09db lsrs r3, r3, #7 8077c42: 4980 ldr r1, [pc, #512] ; (8077e44 ) 8077c44: fb01 f303 mul.w r3, r1, r3 8077c48: 1ad3 subs r3, r2, r3 8077c4a: 4a7f ldr r2, [pc, #508] ; (8077e48 ) 8077c4c: fba2 1203 umull r1, r2, r2, r3 8077c50: 0b52 lsrs r2, r2, #13 8077c52: f242 7110 movw r1, #10000 ; 0x2710 8077c56: fb01 f202 mul.w r2, r1, r2 8077c5a: 1a9a subs r2, r3, r2 8077c5c: 4b7b ldr r3, [pc, #492] ; (8077e4c ) 8077c5e: fba3 2302 umull r2, r3, r3, r2 8077c62: 099b lsrs r3, r3, #6 8077c64: b2db uxtb r3, r3 8077c66: f887 33e3 strb.w r3, [r7, #995] ; 0x3e3 ikd = k % 100000 % 10000 % 1000 / 100; 8077c6a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8077c6e: 095a lsrs r2, r3, #5 8077c70: 4973 ldr r1, [pc, #460] ; (8077e40 ) 8077c72: fba1 1202 umull r1, r2, r1, r2 8077c76: 09d2 lsrs r2, r2, #7 8077c78: 4972 ldr r1, [pc, #456] ; (8077e44 ) 8077c7a: fb01 f202 mul.w r2, r1, r2 8077c7e: 1a9a subs r2, r3, r2 8077c80: 4b71 ldr r3, [pc, #452] ; (8077e48 ) 8077c82: fba3 1302 umull r1, r3, r3, r2 8077c86: 0b5b lsrs r3, r3, #13 8077c88: f242 7110 movw r1, #10000 ; 0x2710 8077c8c: fb01 f303 mul.w r3, r1, r3 8077c90: 1ad3 subs r3, r2, r3 8077c92: 4a6e ldr r2, [pc, #440] ; (8077e4c ) 8077c94: fba2 1203 umull r1, r2, r2, r3 8077c98: 0992 lsrs r2, r2, #6 8077c9a: f44f 717a mov.w r1, #1000 ; 0x3e8 8077c9e: fb01 f202 mul.w r2, r1, r2 8077ca2: 1a9a subs r2, r3, r2 8077ca4: 4b6a ldr r3, [pc, #424] ; (8077e50 ) 8077ca6: fba3 2302 umull r2, r3, r3, r2 8077caa: 095b lsrs r3, r3, #5 8077cac: b2db uxtb r3, r3 8077cae: f887 33e2 strb.w r3, [r7, #994] ; 0x3e2 iks = k % 100000 % 10000 % 1000 % 100 / 10; 8077cb2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8077cb6: 0953 lsrs r3, r2, #5 8077cb8: 4961 ldr r1, [pc, #388] ; (8077e40 ) 8077cba: fba1 1303 umull r1, r3, r1, r3 8077cbe: 09db lsrs r3, r3, #7 8077cc0: 4960 ldr r1, [pc, #384] ; (8077e44 ) 8077cc2: fb01 f303 mul.w r3, r1, r3 8077cc6: 1ad3 subs r3, r2, r3 8077cc8: 4a5f ldr r2, [pc, #380] ; (8077e48 ) 8077cca: fba2 1203 umull r1, r2, r2, r3 8077cce: 0b52 lsrs r2, r2, #13 8077cd0: f242 7110 movw r1, #10000 ; 0x2710 8077cd4: fb01 f202 mul.w r2, r1, r2 8077cd8: 1a9a subs r2, r3, r2 8077cda: 4b5c ldr r3, [pc, #368] ; (8077e4c ) 8077cdc: fba3 1302 umull r1, r3, r3, r2 8077ce0: 099b lsrs r3, r3, #6 8077ce2: f44f 717a mov.w r1, #1000 ; 0x3e8 8077ce6: fb01 f303 mul.w r3, r1, r3 8077cea: 1ad3 subs r3, r2, r3 8077cec: 4a58 ldr r2, [pc, #352] ; (8077e50 ) 8077cee: fba2 1203 umull r1, r2, r2, r3 8077cf2: 0952 lsrs r2, r2, #5 8077cf4: 2164 movs r1, #100 ; 0x64 8077cf6: fb01 f202 mul.w r2, r1, r2 8077cfa: 1a9a subs r2, r3, r2 8077cfc: 4b55 ldr r3, [pc, #340] ; (8077e54 ) 8077cfe: fba3 2302 umull r2, r3, r3, r2 8077d02: 08db lsrs r3, r3, #3 8077d04: b2db uxtb r3, r3 8077d06: f887 33e1 strb.w r3, [r7, #993] ; 0x3e1 ikt = k % 100000 % 10000 % 1000 % 100 % 10; 8077d0a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8077d0e: 0953 lsrs r3, r2, #5 8077d10: 494b ldr r1, [pc, #300] ; (8077e40 ) 8077d12: fba1 1303 umull r1, r3, r1, r3 8077d16: 09db lsrs r3, r3, #7 8077d18: 494a ldr r1, [pc, #296] ; (8077e44 ) 8077d1a: fb01 f303 mul.w r3, r1, r3 8077d1e: 1ad3 subs r3, r2, r3 8077d20: 4a49 ldr r2, [pc, #292] ; (8077e48 ) 8077d22: fba2 1203 umull r1, r2, r2, r3 8077d26: 0b52 lsrs r2, r2, #13 8077d28: f242 7110 movw r1, #10000 ; 0x2710 8077d2c: fb01 f202 mul.w r2, r1, r2 8077d30: 1a9a subs r2, r3, r2 8077d32: 4b46 ldr r3, [pc, #280] ; (8077e4c ) 8077d34: fba3 1302 umull r1, r3, r3, r2 8077d38: 099b lsrs r3, r3, #6 8077d3a: f44f 717a mov.w r1, #1000 ; 0x3e8 8077d3e: fb01 f303 mul.w r3, r1, r3 8077d42: 1ad3 subs r3, r2, r3 8077d44: 4a42 ldr r2, [pc, #264] ; (8077e50 ) 8077d46: fba2 1203 umull r1, r2, r2, r3 8077d4a: 0952 lsrs r2, r2, #5 8077d4c: 2164 movs r1, #100 ; 0x64 8077d4e: fb01 f202 mul.w r2, r1, r2 8077d52: 1a9a subs r2, r3, r2 8077d54: 4b3f ldr r3, [pc, #252] ; (8077e54 ) 8077d56: fba3 1302 umull r1, r3, r3, r2 8077d5a: 08d9 lsrs r1, r3, #3 8077d5c: 460b mov r3, r1 8077d5e: 009b lsls r3, r3, #2 8077d60: 440b add r3, r1 8077d62: 005b lsls r3, r3, #1 8077d64: 1ad1 subs r1, r2, r3 8077d66: b2cb uxtb r3, r1 8077d68: f887 33e0 strb.w r3, [r7, #992] ; 0x3e0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077d6c: 4930 ldr r1, [pc, #192] ; (8077e30 ) 8077d6e: f04f 30ff mov.w r0, #4294967295 8077d72: f7dd fa4b bl 805520c LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_SensType[pardata.LANG]); 8077d76: 4b30 ldr r3, [pc, #192] ; (8077e38 ) 8077d78: 7b1b ldrb r3, [r3, #12] 8077d7a: b2db uxtb r3, r3 8077d7c: 461a mov r2, r3 8077d7e: 4b36 ldr r3, [pc, #216] ; (8077e58 ) 8077d80: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077d84: 461a mov r2, r3 8077d86: 214a movs r1, #74 ; 0x4a 8077d88: 200a movs r0, #10 8077d8a: f7dd ffe7 bl 8055d5c BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); //173 #endif #else #ifdef USE_TEMPERATURE LCD_DisplayString(10, LCD_LINE_9, (char *) pTEMPER[pardata.LANG]); 8077d8e: 4b2a ldr r3, [pc, #168] ; (8077e38 ) 8077d90: 7b1b ldrb r3, [r3, #12] 8077d92: b2db uxtb r3, r3 8077d94: 461a mov r2, r3 8077d96: 4b31 ldr r3, [pc, #196] ; (8077e5c ) 8077d98: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077d9c: 461a mov r2, r3 8077d9e: 219a movs r1, #154 ; 0x9a 8077da0: 200a movs r0, #10 8077da2: f7dd ffdb bl 8055d5c if(menupos == Temper) 8077da6: 4b2e ldr r3, [pc, #184] ; (8077e60 ) 8077da8: 781b ldrb r3, [r3, #0] 8077daa: b2db uxtb r3, r3 8077dac: 2b07 cmp r3, #7 8077dae: d10a bne.n 8077dc6 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8077db0: 491f ldr r1, [pc, #124] ; (8077e30 ) 8077db2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077db6: f7dd fa29 bl 805520c BSP_LCD_FillRect(253, CHECKBOX_LINE_9-2, 14, 14); //171 8077dba: 230e movs r3, #14 8077dbc: 220e movs r2, #14 8077dbe: 219b movs r1, #155 ; 0x9b 8077dc0: 20fd movs r0, #253 ; 0xfd 8077dc2: f7dd feb1 bl 8055b28 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077dc6: 491a ldr r1, [pc, #104] ; (8077e30 ) 8077dc8: f04f 30ff mov.w r0, #4294967295 8077dcc: f7dd fa1e bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); //173 8077dd0: 230a movs r3, #10 8077dd2: 220a movs r2, #10 8077dd4: 219d movs r1, #157 ; 0x9d 8077dd6: 20ff movs r0, #255 ; 0xff 8077dd8: f7dd fea6 bl 8055b28 #endif #endif if(menupos == Type) 8077ddc: 4b20 ldr r3, [pc, #128] ; (8077e60 ) 8077dde: 781b ldrb r3, [r3, #0] 8077de0: b2db uxtb r3, r3 8077de2: 2b01 cmp r3, #1 8077de4: f040 813c bne.w 8078060 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8077de8: 4911 ldr r1, [pc, #68] ; (8077e30 ) 8077dea: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077dee: f7dd fa0d bl 805520c if(focused) 8077df2: 4b1c ldr r3, [pc, #112] ; (8077e64 ) 8077df4: 781b ldrb r3, [r3, #0] 8077df6: b2db uxtb r3, r3 8077df8: 2b00 cmp r3, #0 8077dfa: d039 beq.n 8077e70 { if(blk) 8077dfc: 4b1a ldr r3, [pc, #104] ; (8077e68 ) 8077dfe: 681b ldr r3, [r3, #0] 8077e00: 2b00 cmp r3, #0 8077e02: d049 beq.n 8077e98 LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8077e04: 4b0c ldr r3, [pc, #48] ; (8077e38 ) 8077e06: 7b1b ldrb r3, [r3, #12] 8077e08: b2db uxtb r3, r3 8077e0a: 4619 mov r1, r3 8077e0c: 4b0a ldr r3, [pc, #40] ; (8077e38 ) 8077e0e: 799b ldrb r3, [r3, #6] 8077e10: b2db uxtb r3, r3 8077e12: 4618 mov r0, r3 8077e14: 4a15 ldr r2, [pc, #84] ; (8077e6c ) 8077e16: 460b mov r3, r1 8077e18: 005b lsls r3, r3, #1 8077e1a: 440b add r3, r1 8077e1c: 4403 add r3, r0 8077e1e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077e22: 461a mov r2, r3 8077e24: 214a movs r1, #74 ; 0x4a 8077e26: 20ff movs r0, #255 ; 0xff 8077e28: f7dd ffb0 bl 8055d8c 8077e2c: e034 b.n 8077e98 8077e2e: bf00 nop 8077e30: ff0a0f1f .word 0xff0a0f1f 8077e34: ffd3d3d3 .word 0xffd3d3d3 8077e38: 20023eb8 .word 0x20023eb8 8077e3c: 447a0000 .word 0x447a0000 8077e40: 0a7c5ac5 .word 0x0a7c5ac5 8077e44: 000186a0 .word 0x000186a0 8077e48: d1b71759 .word 0xd1b71759 8077e4c: 10624dd3 .word 0x10624dd3 8077e50: 51eb851f .word 0x51eb851f 8077e54: cccccccd .word 0xcccccccd 8077e58: 200205d4 .word 0x200205d4 8077e5c: 2002014c .word 0x2002014c 8077e60: 20020070 .word 0x20020070 8077e64: 20020fd0 .word 0x20020fd0 8077e68: 200216ac .word 0x200216ac 8077e6c: 20020154 .word 0x20020154 } else LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8077e70: 4b74 ldr r3, [pc, #464] ; (8078044 ) 8077e72: 7b1b ldrb r3, [r3, #12] 8077e74: b2db uxtb r3, r3 8077e76: 4619 mov r1, r3 8077e78: 4b72 ldr r3, [pc, #456] ; (8078044 ) 8077e7a: 799b ldrb r3, [r3, #6] 8077e7c: b2db uxtb r3, r3 8077e7e: 4618 mov r0, r3 8077e80: 4a71 ldr r2, [pc, #452] ; (8078048 ) 8077e82: 460b mov r3, r1 8077e84: 005b lsls r3, r3, #1 8077e86: 440b add r3, r1 8077e88: 4403 add r3, r0 8077e8a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077e8e: 461a mov r2, r3 8077e90: 214a movs r1, #74 ; 0x4a 8077e92: 20ff movs r0, #255 ; 0xff 8077e94: f7dd ff7a bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077e98: 496c ldr r1, [pc, #432] ; (807804c ) 8077e9a: f04f 30ff mov.w r0, #4294967295 8077e9e: f7dd f9b5 bl 805520c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); 8077ea2: 4b68 ldr r3, [pc, #416] ; (8078044 ) 8077ea4: 7b1b ldrb r3, [r3, #12] 8077ea6: b2db uxtb r3, r3 8077ea8: 4619 mov r1, r3 8077eaa: 4b66 ldr r3, [pc, #408] ; (8078044 ) 8077eac: 799b ldrb r3, [r3, #6] 8077eae: b2db uxtb r3, r3 8077eb0: 4618 mov r0, r3 8077eb2: 4a67 ldr r2, [pc, #412] ; (8078050 ) 8077eb4: 460b mov r3, r1 8077eb6: 005b lsls r3, r3, #1 8077eb8: 440b add r3, r1 8077eba: 4403 add r3, r0 8077ebc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077ec0: 461a mov r2, r3 8077ec2: 215a movs r1, #90 ; 0x5a 8077ec4: 200a movs r0, #10 8077ec6: f7dd ff49 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8077eca: 4b5e ldr r3, [pc, #376] ; (8078044 ) 8077ecc: 7b1b ldrb r3, [r3, #12] 8077ece: b2db uxtb r3, r3 8077ed0: 4619 mov r1, r3 8077ed2: 4a60 ldr r2, [pc, #384] ; (8078054 ) 8077ed4: 460b mov r3, r1 8077ed6: 009b lsls r3, r3, #2 8077ed8: 440b add r3, r1 8077eda: 009b lsls r3, r3, #2 8077edc: 4413 add r3, r2 8077ede: 3308 adds r3, #8 8077ee0: 681b ldr r3, [r3, #0] 8077ee2: 461a mov r2, r3 8077ee4: 216a movs r1, #106 ; 0x6a 8077ee6: 200a movs r0, #10 8077ee8: f7dd ff38 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8077eec: 4b55 ldr r3, [pc, #340] ; (8078044 ) 8077eee: 7b1b ldrb r3, [r3, #12] 8077ef0: b2db uxtb r3, r3 8077ef2: 4619 mov r1, r3 8077ef4: 4a57 ldr r2, [pc, #348] ; (8078054 ) 8077ef6: 460b mov r3, r1 8077ef8: 009b lsls r3, r3, #2 8077efa: 440b add r3, r1 8077efc: 009b lsls r3, r3, #2 8077efe: 4413 add r3, r2 8077f00: 3304 adds r3, #4 8077f02: 681b ldr r3, [r3, #0] 8077f04: 461a mov r2, r3 8077f06: 217a movs r1, #122 ; 0x7a 8077f08: 200a movs r0, #10 8077f0a: f7dd ff27 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8077f0e: 4b4d ldr r3, [pc, #308] ; (8078044 ) 8077f10: 7b1b ldrb r3, [r3, #12] 8077f12: b2db uxtb r3, r3 8077f14: 4619 mov r1, r3 8077f16: 4a4f ldr r2, [pc, #316] ; (8078054 ) 8077f18: 460b mov r3, r1 8077f1a: 009b lsls r3, r3, #2 8077f1c: 440b add r3, r1 8077f1e: 009b lsls r3, r3, #2 8077f20: 4413 add r3, r2 8077f22: 330c adds r3, #12 8077f24: 681b ldr r3, [r3, #0] 8077f26: 461a mov r2, r3 8077f28: 218a movs r1, #138 ; 0x8a 8077f2a: 200a movs r0, #10 8077f2c: f7dd ff16 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077f30: 4946 ldr r1, [pc, #280] ; (807804c ) 8077f32: 4849 ldr r0, [pc, #292] ; (8078058 ) 8077f34: f7dd f96a bl 805520c LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8077f38: 4b42 ldr r3, [pc, #264] ; (8078044 ) 8077f3a: 7b1b ldrb r3, [r3, #12] 8077f3c: b2db uxtb r3, r3 8077f3e: 461a mov r2, r3 8077f40: 4b46 ldr r3, [pc, #280] ; (807805c ) 8077f42: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077f46: 461a mov r2, r3 8077f48: 216a movs r1, #106 ; 0x6a 8077f4a: 20ff movs r0, #255 ; 0xff 8077f4c: f7dd ff1e bl 8055d8c memset(str, 0, sizeof(str)); 8077f50: f507 733b add.w r3, r7, #748 ; 0x2ec 8077f54: 223c movs r2, #60 ; 0x3c 8077f56: 2100 movs r1, #0 8077f58: 4618 mov r0, r3 8077f5a: f05a f823 bl 80d1fa4 i = 0; 8077f5e: 2300 movs r3, #0 8077f60: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 8077f64: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077f68: b2db uxtb r3, r3 8077f6a: 2b00 cmp r3, #0 8077f6c: d00c beq.n 8077f88 str[i++] = ies + 48; 8077f6e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077f72: 1c5a adds r2, r3, #1 8077f74: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077f78: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8077f7c: b2d2 uxtb r2, r2 8077f7e: 3230 adds r2, #48 ; 0x30 8077f80: b2d1 uxtb r1, r2 8077f82: f507 723b add.w r2, r7, #748 ; 0x2ec 8077f86: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8077f88: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077f8c: b2db uxtb r3, r3 8077f8e: 2b00 cmp r3, #0 8077f90: d104 bne.n 8077f9c 8077f92: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8077f96: b2db uxtb r3, r3 8077f98: 2b00 cmp r3, #0 8077f9a: d00c beq.n 8077fb6 str[i++] = ied + 48; 8077f9c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077fa0: 1c5a adds r2, r3, #1 8077fa2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077fa6: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8077faa: b2d2 uxtb r2, r2 8077fac: 3230 adds r2, #48 ; 0x30 8077fae: b2d1 uxtb r1, r2 8077fb0: f507 723b add.w r2, r7, #748 ; 0x2ec 8077fb4: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 8077fb6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077fba: 1c5a adds r2, r3, #1 8077fbc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077fc0: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8077fc4: b2d2 uxtb r2, r2 8077fc6: 3230 adds r2, #48 ; 0x30 8077fc8: b2d1 uxtb r1, r2 8077fca: f507 723b add.w r2, r7, #748 ; 0x2ec 8077fce: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8077fd0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077fd4: 1c5a adds r2, r3, #1 8077fd6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077fda: f507 723b add.w r2, r7, #748 ; 0x2ec 8077fde: 212e movs r1, #46 ; 0x2e 8077fe0: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8077fe2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077fe6: 1c5a adds r2, r3, #1 8077fe8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077fec: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8077ff0: b2d2 uxtb r2, r2 8077ff2: 3230 adds r2, #48 ; 0x30 8077ff4: b2d1 uxtb r1, r2 8077ff6: f507 723b add.w r2, r7, #748 ; 0x2ec 8077ffa: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8077ffc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078000: 1c5a adds r2, r3, #1 8078002: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078006: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 807800a: b2d2 uxtb r2, r2 807800c: 3230 adds r2, #48 ; 0x30 807800e: b2d1 uxtb r1, r2 8078010: f507 723b add.w r2, r7, #748 ; 0x2ec 8078014: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8078016: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807801a: 1c5a adds r2, r3, #1 807801c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078020: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8078024: b2d2 uxtb r2, r2 8078026: 3230 adds r2, #48 ; 0x30 8078028: b2d1 uxtb r1, r2 807802a: f507 723b add.w r2, r7, #748 ; 0x2ec 807802e: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8078030: f507 733b add.w r3, r7, #748 ; 0x2ec 8078034: 461a mov r2, r3 8078036: 215a movs r1, #90 ; 0x5a 8078038: 20ff movs r0, #255 ; 0xff 807803a: f7dd fea7 bl 8055d8c 807803e: f002 b91a b.w 807a276 8078042: bf00 nop 8078044: 20023eb8 .word 0x20023eb8 8078048: 20020154 .word 0x20020154 807804c: ff0a0f1f .word 0xff0a0f1f 8078050: 200205dc .word 0x200205dc 8078054: 20020684 .word 0x20020684 8078058: ffd8aa57 .word 0xffd8aa57 807805c: 200205c4 .word 0x200205c4 } else if((menupos == Bluetooth) || (menupos == Temper)) 8078060: 4b7d ldr r3, [pc, #500] ; (8078258 ) 8078062: 781b ldrb r3, [r3, #0] 8078064: b2db uxtb r3, r3 8078066: 2b06 cmp r3, #6 8078068: d005 beq.n 8078076 807806a: 4b7b ldr r3, [pc, #492] ; (8078258 ) 807806c: 781b ldrb r3, [r3, #0] 807806e: b2db uxtb r3, r3 8078070: 2b07 cmp r3, #7 8078072: f040 8101 bne.w 8078278 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078076: 4979 ldr r1, [pc, #484] ; (807825c ) 8078078: f04f 30ff mov.w r0, #4294967295 807807c: f7dd f8c6 bl 805520c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); 8078080: 4b77 ldr r3, [pc, #476] ; (8078260 ) 8078082: 7b1b ldrb r3, [r3, #12] 8078084: b2db uxtb r3, r3 8078086: 4619 mov r1, r3 8078088: 4b75 ldr r3, [pc, #468] ; (8078260 ) 807808a: 799b ldrb r3, [r3, #6] 807808c: b2db uxtb r3, r3 807808e: 4618 mov r0, r3 8078090: 4a74 ldr r2, [pc, #464] ; (8078264 ) 8078092: 460b mov r3, r1 8078094: 005b lsls r3, r3, #1 8078096: 440b add r3, r1 8078098: 4403 add r3, r0 807809a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807809e: 461a mov r2, r3 80780a0: 215a movs r1, #90 ; 0x5a 80780a2: 200a movs r0, #10 80780a4: f7dd fe5a bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 80780a8: 4b6d ldr r3, [pc, #436] ; (8078260 ) 80780aa: 7b1b ldrb r3, [r3, #12] 80780ac: b2db uxtb r3, r3 80780ae: 4619 mov r1, r3 80780b0: 4a6d ldr r2, [pc, #436] ; (8078268 ) 80780b2: 460b mov r3, r1 80780b4: 009b lsls r3, r3, #2 80780b6: 440b add r3, r1 80780b8: 009b lsls r3, r3, #2 80780ba: 4413 add r3, r2 80780bc: 3308 adds r3, #8 80780be: 681b ldr r3, [r3, #0] 80780c0: 461a mov r2, r3 80780c2: 216a movs r1, #106 ; 0x6a 80780c4: 200a movs r0, #10 80780c6: f7dd fe49 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 80780ca: 4b65 ldr r3, [pc, #404] ; (8078260 ) 80780cc: 7b1b ldrb r3, [r3, #12] 80780ce: b2db uxtb r3, r3 80780d0: 4619 mov r1, r3 80780d2: 4a65 ldr r2, [pc, #404] ; (8078268 ) 80780d4: 460b mov r3, r1 80780d6: 009b lsls r3, r3, #2 80780d8: 440b add r3, r1 80780da: 009b lsls r3, r3, #2 80780dc: 4413 add r3, r2 80780de: 3304 adds r3, #4 80780e0: 681b ldr r3, [r3, #0] 80780e2: 461a mov r2, r3 80780e4: 217a movs r1, #122 ; 0x7a 80780e6: 200a movs r0, #10 80780e8: f7dd fe38 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 80780ec: 4b5c ldr r3, [pc, #368] ; (8078260 ) 80780ee: 7b1b ldrb r3, [r3, #12] 80780f0: b2db uxtb r3, r3 80780f2: 4619 mov r1, r3 80780f4: 4a5c ldr r2, [pc, #368] ; (8078268 ) 80780f6: 460b mov r3, r1 80780f8: 009b lsls r3, r3, #2 80780fa: 440b add r3, r1 80780fc: 009b lsls r3, r3, #2 80780fe: 4413 add r3, r2 8078100: 330c adds r3, #12 8078102: 681b ldr r3, [r3, #0] 8078104: 461a mov r2, r3 8078106: 218a movs r1, #138 ; 0x8a 8078108: 200a movs r0, #10 807810a: f7dd fe27 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807810e: 4953 ldr r1, [pc, #332] ; (807825c ) 8078110: 4856 ldr r0, [pc, #344] ; (807826c ) 8078112: f7dd f87b bl 805520c LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8078116: 4b52 ldr r3, [pc, #328] ; (8078260 ) 8078118: 7b1b ldrb r3, [r3, #12] 807811a: b2db uxtb r3, r3 807811c: 461a mov r2, r3 807811e: 4b54 ldr r3, [pc, #336] ; (8078270 ) 8078120: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078124: 461a mov r2, r3 8078126: 216a movs r1, #106 ; 0x6a 8078128: 20ff movs r0, #255 ; 0xff 807812a: f7dd fe2f bl 8055d8c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807812e: 494b ldr r1, [pc, #300] ; (807825c ) 8078130: 484e ldr r0, [pc, #312] ; (807826c ) 8078132: f7dd f86b bl 805520c #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8078136: 4b4a ldr r3, [pc, #296] ; (8078260 ) 8078138: 7b1b ldrb r3, [r3, #12] 807813a: b2db uxtb r3, r3 807813c: 4619 mov r1, r3 807813e: 4b48 ldr r3, [pc, #288] ; (8078260 ) 8078140: 799b ldrb r3, [r3, #6] 8078142: b2db uxtb r3, r3 8078144: 4618 mov r0, r3 8078146: 4a4b ldr r2, [pc, #300] ; (8078274 ) 8078148: 460b mov r3, r1 807814a: 005b lsls r3, r3, #1 807814c: 440b add r3, r1 807814e: 4403 add r3, r0 8078150: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8078154: 461a mov r2, r3 8078156: 214a movs r1, #74 ; 0x4a 8078158: 20ff movs r0, #255 ; 0xff 807815a: f7dd fe17 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807815e: 493f ldr r1, [pc, #252] ; (807825c ) 8078160: 4842 ldr r0, [pc, #264] ; (807826c ) 8078162: f7dd f853 bl 805520c memset(str, 0, sizeof(str)); 8078166: f507 733b add.w r3, r7, #748 ; 0x2ec 807816a: 223c movs r2, #60 ; 0x3c 807816c: 2100 movs r1, #0 807816e: 4618 mov r0, r3 8078170: f059 ff18 bl 80d1fa4 i = 0; 8078174: 2300 movs r3, #0 8078176: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 807817a: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 807817e: b2db uxtb r3, r3 8078180: 2b00 cmp r3, #0 8078182: d00c beq.n 807819e str[i++] = ies + 48; 8078184: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078188: 1c5a adds r2, r3, #1 807818a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807818e: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8078192: b2d2 uxtb r2, r2 8078194: 3230 adds r2, #48 ; 0x30 8078196: b2d1 uxtb r1, r2 8078198: f507 723b add.w r2, r7, #748 ; 0x2ec 807819c: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 807819e: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80781a2: b2db uxtb r3, r3 80781a4: 2b00 cmp r3, #0 80781a6: d104 bne.n 80781b2 80781a8: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 80781ac: b2db uxtb r3, r3 80781ae: 2b00 cmp r3, #0 80781b0: d00c beq.n 80781cc str[i++] = ied + 48; 80781b2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80781b6: 1c5a adds r2, r3, #1 80781b8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80781bc: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 80781c0: b2d2 uxtb r2, r2 80781c2: 3230 adds r2, #48 ; 0x30 80781c4: b2d1 uxtb r1, r2 80781c6: f507 723b add.w r2, r7, #748 ; 0x2ec 80781ca: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 80781cc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80781d0: 1c5a adds r2, r3, #1 80781d2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80781d6: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 80781da: b2d2 uxtb r2, r2 80781dc: 3230 adds r2, #48 ; 0x30 80781de: b2d1 uxtb r1, r2 80781e0: f507 723b add.w r2, r7, #748 ; 0x2ec 80781e4: 54d1 strb r1, [r2, r3] str[i++] = '.'; 80781e6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80781ea: 1c5a adds r2, r3, #1 80781ec: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80781f0: f507 723b add.w r2, r7, #748 ; 0x2ec 80781f4: 212e movs r1, #46 ; 0x2e 80781f6: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 80781f8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80781fc: 1c5a adds r2, r3, #1 80781fe: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078202: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8078206: b2d2 uxtb r2, r2 8078208: 3230 adds r2, #48 ; 0x30 807820a: b2d1 uxtb r1, r2 807820c: f507 723b add.w r2, r7, #748 ; 0x2ec 8078210: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8078212: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078216: 1c5a adds r2, r3, #1 8078218: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807821c: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8078220: b2d2 uxtb r2, r2 8078222: 3230 adds r2, #48 ; 0x30 8078224: b2d1 uxtb r1, r2 8078226: f507 723b add.w r2, r7, #748 ; 0x2ec 807822a: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 807822c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078230: 1c5a adds r2, r3, #1 8078232: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078236: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 807823a: b2d2 uxtb r2, r2 807823c: 3230 adds r2, #48 ; 0x30 807823e: b2d1 uxtb r1, r2 8078240: f507 723b add.w r2, r7, #748 ; 0x2ec 8078244: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8078246: f507 733b add.w r3, r7, #748 ; 0x2ec 807824a: 461a mov r2, r3 807824c: 215a movs r1, #90 ; 0x5a 807824e: 20ff movs r0, #255 ; 0xff 8078250: f7dd fd9c bl 8055d8c 8078254: f002 b80f b.w 807a276 8078258: 20020070 .word 0x20020070 807825c: ff0a0f1f .word 0xff0a0f1f 8078260: 20023eb8 .word 0x20023eb8 8078264: 200205dc .word 0x200205dc 8078268: 20020684 .word 0x20020684 807826c: ffd8aa57 .word 0xffd8aa57 8078270: 200205c4 .word 0x200205c4 8078274: 20020154 .word 0x20020154 } else if(menupos == Sens) 8078278: 4b7d ldr r3, [pc, #500] ; (8078470 ) 807827a: 781b ldrb r3, [r3, #0] 807827c: b2db uxtb r3, r3 807827e: 2b02 cmp r3, #2 8078280: f040 8106 bne.w 8078490 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078284: 497b ldr r1, [pc, #492] ; (8078474 ) 8078286: f04f 30ff mov.w r0, #4294967295 807828a: f7dc ffbf bl 805520c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 807828e: 4b7a ldr r3, [pc, #488] ; (8078478 ) 8078290: 7b1b ldrb r3, [r3, #12] 8078292: b2db uxtb r3, r3 8078294: 4619 mov r1, r3 8078296: 4b78 ldr r3, [pc, #480] ; (8078478 ) 8078298: 799b ldrb r3, [r3, #6] 807829a: b2db uxtb r3, r3 807829c: 4618 mov r0, r3 807829e: 4a77 ldr r2, [pc, #476] ; (807847c ) 80782a0: 460b mov r3, r1 80782a2: 005b lsls r3, r3, #1 80782a4: 440b add r3, r1 80782a6: 4403 add r3, r0 80782a8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80782ac: 461a mov r2, r3 80782ae: 215a movs r1, #90 ; 0x5a 80782b0: 200a movs r0, #10 80782b2: f7dd fd53 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 80782b6: 4b70 ldr r3, [pc, #448] ; (8078478 ) 80782b8: 7b1b ldrb r3, [r3, #12] 80782ba: b2db uxtb r3, r3 80782bc: 4619 mov r1, r3 80782be: 4a70 ldr r2, [pc, #448] ; (8078480 ) 80782c0: 460b mov r3, r1 80782c2: 009b lsls r3, r3, #2 80782c4: 440b add r3, r1 80782c6: 009b lsls r3, r3, #2 80782c8: 4413 add r3, r2 80782ca: 3304 adds r3, #4 80782cc: 681b ldr r3, [r3, #0] 80782ce: 461a mov r2, r3 80782d0: 217a movs r1, #122 ; 0x7a 80782d2: 200a movs r0, #10 80782d4: f7dd fd42 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 80782d8: 4b67 ldr r3, [pc, #412] ; (8078478 ) 80782da: 7b1b ldrb r3, [r3, #12] 80782dc: b2db uxtb r3, r3 80782de: 4619 mov r1, r3 80782e0: 4a67 ldr r2, [pc, #412] ; (8078480 ) 80782e2: 460b mov r3, r1 80782e4: 009b lsls r3, r3, #2 80782e6: 440b add r3, r1 80782e8: 009b lsls r3, r3, #2 80782ea: 4413 add r3, r2 80782ec: 3308 adds r3, #8 80782ee: 681b ldr r3, [r3, #0] 80782f0: 461a mov r2, r3 80782f2: 216a movs r1, #106 ; 0x6a 80782f4: 200a movs r0, #10 80782f6: f7dd fd31 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 80782fa: 4b5f ldr r3, [pc, #380] ; (8078478 ) 80782fc: 7b1b ldrb r3, [r3, #12] 80782fe: b2db uxtb r3, r3 8078300: 4619 mov r1, r3 8078302: 4a5f ldr r2, [pc, #380] ; (8078480 ) 8078304: 460b mov r3, r1 8078306: 009b lsls r3, r3, #2 8078308: 440b add r3, r1 807830a: 009b lsls r3, r3, #2 807830c: 4413 add r3, r2 807830e: 330c adds r3, #12 8078310: 681b ldr r3, [r3, #0] 8078312: 461a mov r2, r3 8078314: 218a movs r1, #138 ; 0x8a 8078316: 200a movs r0, #10 8078318: f7dd fd20 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807831c: 4955 ldr r1, [pc, #340] ; (8078474 ) 807831e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8078322: f7dc ff73 bl 805520c memset(str, 0, sizeof(str)); 8078326: f507 733b add.w r3, r7, #748 ; 0x2ec 807832a: 223c movs r2, #60 ; 0x3c 807832c: 2100 movs r1, #0 807832e: 4618 mov r0, r3 8078330: f059 fe38 bl 80d1fa4 i = 0; 8078334: 2300 movs r3, #0 8078336: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 807833a: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 807833e: b2db uxtb r3, r3 8078340: 2b00 cmp r3, #0 8078342: d00c beq.n 807835e str[i++] = ies + 48; 8078344: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078348: 1c5a adds r2, r3, #1 807834a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807834e: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8078352: b2d2 uxtb r2, r2 8078354: 3230 adds r2, #48 ; 0x30 8078356: b2d1 uxtb r1, r2 8078358: f507 723b add.w r2, r7, #748 ; 0x2ec 807835c: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 807835e: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8078362: b2db uxtb r3, r3 8078364: 2b00 cmp r3, #0 8078366: d104 bne.n 8078372 8078368: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 807836c: b2db uxtb r3, r3 807836e: 2b00 cmp r3, #0 8078370: d00c beq.n 807838c str[i++] = ied + 48; 8078372: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078376: 1c5a adds r2, r3, #1 8078378: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807837c: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8078380: b2d2 uxtb r2, r2 8078382: 3230 adds r2, #48 ; 0x30 8078384: b2d1 uxtb r1, r2 8078386: f507 723b add.w r2, r7, #748 ; 0x2ec 807838a: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 807838c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078390: 1c5a adds r2, r3, #1 8078392: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078396: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 807839a: b2d2 uxtb r2, r2 807839c: 3230 adds r2, #48 ; 0x30 807839e: b2d1 uxtb r1, r2 80783a0: f507 723b add.w r2, r7, #748 ; 0x2ec 80783a4: 54d1 strb r1, [r2, r3] str[i++] = '.'; 80783a6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80783aa: 1c5a adds r2, r3, #1 80783ac: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80783b0: f507 723b add.w r2, r7, #748 ; 0x2ec 80783b4: 212e movs r1, #46 ; 0x2e 80783b6: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 80783b8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80783bc: 1c5a adds r2, r3, #1 80783be: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80783c2: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 80783c6: b2d2 uxtb r2, r2 80783c8: 3230 adds r2, #48 ; 0x30 80783ca: b2d1 uxtb r1, r2 80783cc: f507 723b add.w r2, r7, #748 ; 0x2ec 80783d0: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 80783d2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80783d6: 1c5a adds r2, r3, #1 80783d8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80783dc: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 80783e0: b2d2 uxtb r2, r2 80783e2: 3230 adds r2, #48 ; 0x30 80783e4: b2d1 uxtb r1, r2 80783e6: f507 723b add.w r2, r7, #748 ; 0x2ec 80783ea: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 80783ec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80783f0: 1c5a adds r2, r3, #1 80783f2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80783f6: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 80783fa: b2d2 uxtb r2, r2 80783fc: 3230 adds r2, #48 ; 0x30 80783fe: b2d1 uxtb r1, r2 8078400: f507 723b add.w r2, r7, #748 ; 0x2ec 8078404: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8078406: f507 733b add.w r3, r7, #748 ; 0x2ec 807840a: 461a mov r2, r3 807840c: 215a movs r1, #90 ; 0x5a 807840e: 20ff movs r0, #255 ; 0xff 8078410: f7dd fcbc bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078414: 4917 ldr r1, [pc, #92] ; (8078474 ) 8078416: 481b ldr r0, [pc, #108] ; (8078484 ) 8078418: f7dc fef8 bl 805520c LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 807841c: 4b16 ldr r3, [pc, #88] ; (8078478 ) 807841e: 7b1b ldrb r3, [r3, #12] 8078420: b2db uxtb r3, r3 8078422: 461a mov r2, r3 8078424: 4b18 ldr r3, [pc, #96] ; (8078488 ) 8078426: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807842a: 461a mov r2, r3 807842c: 216a movs r1, #106 ; 0x6a 807842e: 20ff movs r0, #255 ; 0xff 8078430: f7dd fcac bl 8055d8c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078434: 490f ldr r1, [pc, #60] ; (8078474 ) 8078436: 4813 ldr r0, [pc, #76] ; (8078484 ) 8078438: f7dc fee8 bl 805520c #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 807843c: 4b0e ldr r3, [pc, #56] ; (8078478 ) 807843e: 7b1b ldrb r3, [r3, #12] 8078440: b2db uxtb r3, r3 8078442: 4619 mov r1, r3 8078444: 4b0c ldr r3, [pc, #48] ; (8078478 ) 8078446: 799b ldrb r3, [r3, #6] 8078448: b2db uxtb r3, r3 807844a: 4618 mov r0, r3 807844c: 4a0f ldr r2, [pc, #60] ; (807848c ) 807844e: 460b mov r3, r1 8078450: 005b lsls r3, r3, #1 8078452: 440b add r3, r1 8078454: 4403 add r3, r0 8078456: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807845a: 461a mov r2, r3 807845c: 214a movs r1, #74 ; 0x4a 807845e: 20ff movs r0, #255 ; 0xff 8078460: f7dd fc94 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078464: 4903 ldr r1, [pc, #12] ; (8078474 ) 8078466: 4807 ldr r0, [pc, #28] ; (8078484 ) 8078468: f7dc fed0 bl 805520c 807846c: f001 bf03 b.w 807a276 8078470: 20020070 .word 0x20020070 8078474: ff0a0f1f .word 0xff0a0f1f 8078478: 20023eb8 .word 0x20023eb8 807847c: 200205dc .word 0x200205dc 8078480: 20020684 .word 0x20020684 8078484: ffd8aa57 .word 0xffd8aa57 8078488: 200205c4 .word 0x200205c4 807848c: 20020154 .word 0x20020154 } else if(menupos == DateTime) 8078490: 4bb4 ldr r3, [pc, #720] ; (8078764 ) 8078492: 781b ldrb r3, [r3, #0] 8078494: b2db uxtb r3, r3 8078496: 2b04 cmp r3, #4 8078498: f040 80f6 bne.w 8078688 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807849c: 49b2 ldr r1, [pc, #712] ; (8078768 ) 807849e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80784a2: f7dc feb3 bl 805520c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 80784a6: 4bb1 ldr r3, [pc, #708] ; (807876c ) 80784a8: 7b1b ldrb r3, [r3, #12] 80784aa: b2db uxtb r3, r3 80784ac: 4619 mov r1, r3 80784ae: 4ab0 ldr r2, [pc, #704] ; (8078770 ) 80784b0: 460b mov r3, r1 80784b2: 009b lsls r3, r3, #2 80784b4: 440b add r3, r1 80784b6: 009b lsls r3, r3, #2 80784b8: 4413 add r3, r2 80784ba: 3304 adds r3, #4 80784bc: 681b ldr r3, [r3, #0] 80784be: 461a mov r2, r3 80784c0: 217a movs r1, #122 ; 0x7a 80784c2: 200a movs r0, #10 80784c4: f7dd fc4a bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80784c8: 49a7 ldr r1, [pc, #668] ; (8078768 ) 80784ca: f04f 30ff mov.w r0, #4294967295 80784ce: f7dc fe9d bl 805520c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80784d2: 4ba6 ldr r3, [pc, #664] ; (807876c ) 80784d4: 7b1b ldrb r3, [r3, #12] 80784d6: b2db uxtb r3, r3 80784d8: 4619 mov r1, r3 80784da: 4ba4 ldr r3, [pc, #656] ; (807876c ) 80784dc: 799b ldrb r3, [r3, #6] 80784de: b2db uxtb r3, r3 80784e0: 4618 mov r0, r3 80784e2: 4aa4 ldr r2, [pc, #656] ; (8078774 ) 80784e4: 460b mov r3, r1 80784e6: 005b lsls r3, r3, #1 80784e8: 440b add r3, r1 80784ea: 4403 add r3, r0 80784ec: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80784f0: 461a mov r2, r3 80784f2: 215a movs r1, #90 ; 0x5a 80784f4: 200a movs r0, #10 80784f6: f7dd fc31 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 80784fa: 4b9c ldr r3, [pc, #624] ; (807876c ) 80784fc: 7b1b ldrb r3, [r3, #12] 80784fe: b2db uxtb r3, r3 8078500: 4619 mov r1, r3 8078502: 4a9b ldr r2, [pc, #620] ; (8078770 ) 8078504: 460b mov r3, r1 8078506: 009b lsls r3, r3, #2 8078508: 440b add r3, r1 807850a: 009b lsls r3, r3, #2 807850c: 4413 add r3, r2 807850e: 3308 adds r3, #8 8078510: 681b ldr r3, [r3, #0] 8078512: 461a mov r2, r3 8078514: 216a movs r1, #106 ; 0x6a 8078516: 200a movs r0, #10 8078518: f7dd fc20 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 807851c: 4b93 ldr r3, [pc, #588] ; (807876c ) 807851e: 7b1b ldrb r3, [r3, #12] 8078520: b2db uxtb r3, r3 8078522: 4619 mov r1, r3 8078524: 4a92 ldr r2, [pc, #584] ; (8078770 ) 8078526: 460b mov r3, r1 8078528: 009b lsls r3, r3, #2 807852a: 440b add r3, r1 807852c: 009b lsls r3, r3, #2 807852e: 4413 add r3, r2 8078530: 330c adds r3, #12 8078532: 681b ldr r3, [r3, #0] 8078534: 461a mov r2, r3 8078536: 218a movs r1, #138 ; 0x8a 8078538: 200a movs r0, #10 807853a: f7dd fc0f bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807853e: 498a ldr r1, [pc, #552] ; (8078768 ) 8078540: 488d ldr r0, [pc, #564] ; (8078778 ) 8078542: f7dc fe63 bl 805520c //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8078546: 4b89 ldr r3, [pc, #548] ; (807876c ) 8078548: 7b1b ldrb r3, [r3, #12] 807854a: b2db uxtb r3, r3 807854c: 461a mov r2, r3 807854e: 4b8b ldr r3, [pc, #556] ; (807877c ) 8078550: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078554: 461a mov r2, r3 8078556: 216a movs r1, #106 ; 0x6a 8078558: 20ff movs r0, #255 ; 0xff 807855a: f7dd fc17 bl 8055d8c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807855e: 4982 ldr r1, [pc, #520] ; (8078768 ) 8078560: 4885 ldr r0, [pc, #532] ; (8078778 ) 8078562: f7dc fe53 bl 805520c #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8078566: 4b81 ldr r3, [pc, #516] ; (807876c ) 8078568: 7b1b ldrb r3, [r3, #12] 807856a: b2db uxtb r3, r3 807856c: 4619 mov r1, r3 807856e: 4b7f ldr r3, [pc, #508] ; (807876c ) 8078570: 799b ldrb r3, [r3, #6] 8078572: b2db uxtb r3, r3 8078574: 4618 mov r0, r3 8078576: 4a82 ldr r2, [pc, #520] ; (8078780 ) 8078578: 460b mov r3, r1 807857a: 005b lsls r3, r3, #1 807857c: 440b add r3, r1 807857e: 4403 add r3, r0 8078580: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8078584: 461a mov r2, r3 8078586: 214a movs r1, #74 ; 0x4a 8078588: 20ff movs r0, #255 ; 0xff 807858a: f7dd fbff bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807858e: 4976 ldr r1, [pc, #472] ; (8078768 ) 8078590: 4879 ldr r0, [pc, #484] ; (8078778 ) 8078592: f7dc fe3b bl 805520c memset(str, 0, sizeof(str)); 8078596: f507 733b add.w r3, r7, #748 ; 0x2ec 807859a: 223c movs r2, #60 ; 0x3c 807859c: 2100 movs r1, #0 807859e: 4618 mov r0, r3 80785a0: f059 fd00 bl 80d1fa4 i = 0; 80785a4: 2300 movs r3, #0 80785a6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 80785aa: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80785ae: b2db uxtb r3, r3 80785b0: 2b00 cmp r3, #0 80785b2: d00c beq.n 80785ce str[i++] = ies + 48; 80785b4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80785b8: 1c5a adds r2, r3, #1 80785ba: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80785be: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 80785c2: b2d2 uxtb r2, r2 80785c4: 3230 adds r2, #48 ; 0x30 80785c6: b2d1 uxtb r1, r2 80785c8: f507 723b add.w r2, r7, #748 ; 0x2ec 80785cc: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 80785ce: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80785d2: b2db uxtb r3, r3 80785d4: 2b00 cmp r3, #0 80785d6: d104 bne.n 80785e2 80785d8: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 80785dc: b2db uxtb r3, r3 80785de: 2b00 cmp r3, #0 80785e0: d00c beq.n 80785fc str[i++] = ied + 48; 80785e2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80785e6: 1c5a adds r2, r3, #1 80785e8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80785ec: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 80785f0: b2d2 uxtb r2, r2 80785f2: 3230 adds r2, #48 ; 0x30 80785f4: b2d1 uxtb r1, r2 80785f6: f507 723b add.w r2, r7, #748 ; 0x2ec 80785fa: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 80785fc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078600: 1c5a adds r2, r3, #1 8078602: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078606: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 807860a: b2d2 uxtb r2, r2 807860c: 3230 adds r2, #48 ; 0x30 807860e: b2d1 uxtb r1, r2 8078610: f507 723b add.w r2, r7, #748 ; 0x2ec 8078614: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8078616: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807861a: 1c5a adds r2, r3, #1 807861c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078620: f507 723b add.w r2, r7, #748 ; 0x2ec 8078624: 212e movs r1, #46 ; 0x2e 8078626: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8078628: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807862c: 1c5a adds r2, r3, #1 807862e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078632: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8078636: b2d2 uxtb r2, r2 8078638: 3230 adds r2, #48 ; 0x30 807863a: b2d1 uxtb r1, r2 807863c: f507 723b add.w r2, r7, #748 ; 0x2ec 8078640: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8078642: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078646: 1c5a adds r2, r3, #1 8078648: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807864c: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8078650: b2d2 uxtb r2, r2 8078652: 3230 adds r2, #48 ; 0x30 8078654: b2d1 uxtb r1, r2 8078656: f507 723b add.w r2, r7, #748 ; 0x2ec 807865a: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 807865c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078660: 1c5a adds r2, r3, #1 8078662: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078666: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 807866a: b2d2 uxtb r2, r2 807866c: 3230 adds r2, #48 ; 0x30 807866e: b2d1 uxtb r1, r2 8078670: f507 723b add.w r2, r7, #748 ; 0x2ec 8078674: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8078676: f507 733b add.w r3, r7, #748 ; 0x2ec 807867a: 461a mov r2, r3 807867c: 215a movs r1, #90 ; 0x5a 807867e: 20ff movs r0, #255 ; 0xff 8078680: f7dd fb84 bl 8055d8c 8078684: f001 bdf7 b.w 807a276 } else if(menupos == Lang) 8078688: 4b36 ldr r3, [pc, #216] ; (8078764 ) 807868a: 781b ldrb r3, [r3, #0] 807868c: b2db uxtb r3, r3 807868e: 2b03 cmp r3, #3 8078690: f040 811d bne.w 80788ce { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078694: 4934 ldr r1, [pc, #208] ; (8078768 ) 8078696: f04f 30ff mov.w r0, #4294967295 807869a: f7dc fdb7 bl 805520c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 807869e: 4b33 ldr r3, [pc, #204] ; (807876c ) 80786a0: 7b1b ldrb r3, [r3, #12] 80786a2: b2db uxtb r3, r3 80786a4: 4619 mov r1, r3 80786a6: 4b31 ldr r3, [pc, #196] ; (807876c ) 80786a8: 799b ldrb r3, [r3, #6] 80786aa: b2db uxtb r3, r3 80786ac: 4618 mov r0, r3 80786ae: 4a31 ldr r2, [pc, #196] ; (8078774 ) 80786b0: 460b mov r3, r1 80786b2: 005b lsls r3, r3, #1 80786b4: 440b add r3, r1 80786b6: 4403 add r3, r0 80786b8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80786bc: 461a mov r2, r3 80786be: 215a movs r1, #90 ; 0x5a 80786c0: 200a movs r0, #10 80786c2: f7dd fb4b bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 80786c6: 4b29 ldr r3, [pc, #164] ; (807876c ) 80786c8: 7b1b ldrb r3, [r3, #12] 80786ca: b2db uxtb r3, r3 80786cc: 4619 mov r1, r3 80786ce: 4a28 ldr r2, [pc, #160] ; (8078770 ) 80786d0: 460b mov r3, r1 80786d2: 009b lsls r3, r3, #2 80786d4: 440b add r3, r1 80786d6: 009b lsls r3, r3, #2 80786d8: 4413 add r3, r2 80786da: 3304 adds r3, #4 80786dc: 681b ldr r3, [r3, #0] 80786de: 461a mov r2, r3 80786e0: 217a movs r1, #122 ; 0x7a 80786e2: 200a movs r0, #10 80786e4: f7dd fb3a bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 80786e8: 4b20 ldr r3, [pc, #128] ; (807876c ) 80786ea: 7b1b ldrb r3, [r3, #12] 80786ec: b2db uxtb r3, r3 80786ee: 4619 mov r1, r3 80786f0: 4a1f ldr r2, [pc, #124] ; (8078770 ) 80786f2: 460b mov r3, r1 80786f4: 009b lsls r3, r3, #2 80786f6: 440b add r3, r1 80786f8: 009b lsls r3, r3, #2 80786fa: 4413 add r3, r2 80786fc: 3308 adds r3, #8 80786fe: 681b ldr r3, [r3, #0] 8078700: 461a mov r2, r3 8078702: 216a movs r1, #106 ; 0x6a 8078704: 200a movs r0, #10 8078706: f7dd fb29 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 807870a: 4b18 ldr r3, [pc, #96] ; (807876c ) 807870c: 7b1b ldrb r3, [r3, #12] 807870e: b2db uxtb r3, r3 8078710: 4619 mov r1, r3 8078712: 4a17 ldr r2, [pc, #92] ; (8078770 ) 8078714: 460b mov r3, r1 8078716: 009b lsls r3, r3, #2 8078718: 440b add r3, r1 807871a: 009b lsls r3, r3, #2 807871c: 4413 add r3, r2 807871e: 330c adds r3, #12 8078720: 681b ldr r3, [r3, #0] 8078722: 461a mov r2, r3 8078724: 218a movs r1, #138 ; 0x8a 8078726: 200a movs r0, #10 8078728: f7dd fb18 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807872c: 490e ldr r1, [pc, #56] ; (8078768 ) 807872e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8078732: f7dc fd6b bl 805520c if(focused) 8078736: 4b13 ldr r3, [pc, #76] ; (8078784 ) 8078738: 781b ldrb r3, [r3, #0] 807873a: b2db uxtb r3, r3 807873c: 2b00 cmp r3, #0 807873e: d025 beq.n 807878c { if(blk) 8078740: 4b11 ldr r3, [pc, #68] ; (8078788 ) 8078742: 681b ldr r3, [r3, #0] 8078744: 2b00 cmp r3, #0 8078746: d02d beq.n 80787a4 LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8078748: 4b08 ldr r3, [pc, #32] ; (807876c ) 807874a: 7b1b ldrb r3, [r3, #12] 807874c: b2db uxtb r3, r3 807874e: 461a mov r2, r3 8078750: 4b0a ldr r3, [pc, #40] ; (807877c ) 8078752: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078756: 461a mov r2, r3 8078758: 216a movs r1, #106 ; 0x6a 807875a: 20ff movs r0, #255 ; 0xff 807875c: f7dd fb16 bl 8055d8c 8078760: e020 b.n 80787a4 8078762: bf00 nop 8078764: 20020070 .word 0x20020070 8078768: ff0a0f1f .word 0xff0a0f1f 807876c: 20023eb8 .word 0x20023eb8 8078770: 20020684 .word 0x20020684 8078774: 200205dc .word 0x200205dc 8078778: ffd8aa57 .word 0xffd8aa57 807877c: 200205c4 .word 0x200205c4 8078780: 20020154 .word 0x20020154 8078784: 20020fd0 .word 0x20020fd0 8078788: 200216ac .word 0x200216ac } else LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 807878c: 4bce ldr r3, [pc, #824] ; (8078ac8 ) 807878e: 7b1b ldrb r3, [r3, #12] 8078790: b2db uxtb r3, r3 8078792: 461a mov r2, r3 8078794: 4bcd ldr r3, [pc, #820] ; (8078acc ) 8078796: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807879a: 461a mov r2, r3 807879c: 216a movs r1, #106 ; 0x6a 807879e: 20ff movs r0, #255 ; 0xff 80787a0: f7dd faf4 bl 8055d8c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80787a4: 49ca ldr r1, [pc, #808] ; (8078ad0 ) 80787a6: 48cb ldr r0, [pc, #812] ; (8078ad4 ) 80787a8: f7dc fd30 bl 805520c #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80787ac: 4bc6 ldr r3, [pc, #792] ; (8078ac8 ) 80787ae: 7b1b ldrb r3, [r3, #12] 80787b0: b2db uxtb r3, r3 80787b2: 4619 mov r1, r3 80787b4: 4bc4 ldr r3, [pc, #784] ; (8078ac8 ) 80787b6: 799b ldrb r3, [r3, #6] 80787b8: b2db uxtb r3, r3 80787ba: 4618 mov r0, r3 80787bc: 4ac6 ldr r2, [pc, #792] ; (8078ad8 ) 80787be: 460b mov r3, r1 80787c0: 005b lsls r3, r3, #1 80787c2: 440b add r3, r1 80787c4: 4403 add r3, r0 80787c6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80787ca: 461a mov r2, r3 80787cc: 214a movs r1, #74 ; 0x4a 80787ce: 20ff movs r0, #255 ; 0xff 80787d0: f7dd fadc bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80787d4: 49be ldr r1, [pc, #760] ; (8078ad0 ) 80787d6: 48bf ldr r0, [pc, #764] ; (8078ad4 ) 80787d8: f7dc fd18 bl 805520c memset(str, 0, sizeof(str)); 80787dc: f507 733b add.w r3, r7, #748 ; 0x2ec 80787e0: 223c movs r2, #60 ; 0x3c 80787e2: 2100 movs r1, #0 80787e4: 4618 mov r0, r3 80787e6: f059 fbdd bl 80d1fa4 i = 0; 80787ea: 2300 movs r3, #0 80787ec: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 80787f0: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80787f4: b2db uxtb r3, r3 80787f6: 2b00 cmp r3, #0 80787f8: d00c beq.n 8078814 str[i++] = ies + 48; 80787fa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80787fe: 1c5a adds r2, r3, #1 8078800: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078804: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8078808: b2d2 uxtb r2, r2 807880a: 3230 adds r2, #48 ; 0x30 807880c: b2d1 uxtb r1, r2 807880e: f507 723b add.w r2, r7, #748 ; 0x2ec 8078812: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8078814: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8078818: b2db uxtb r3, r3 807881a: 2b00 cmp r3, #0 807881c: d104 bne.n 8078828 807881e: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8078822: b2db uxtb r3, r3 8078824: 2b00 cmp r3, #0 8078826: d00c beq.n 8078842 str[i++] = ied + 48; 8078828: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807882c: 1c5a adds r2, r3, #1 807882e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078832: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8078836: b2d2 uxtb r2, r2 8078838: 3230 adds r2, #48 ; 0x30 807883a: b2d1 uxtb r1, r2 807883c: f507 723b add.w r2, r7, #748 ; 0x2ec 8078840: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 8078842: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078846: 1c5a adds r2, r3, #1 8078848: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807884c: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8078850: b2d2 uxtb r2, r2 8078852: 3230 adds r2, #48 ; 0x30 8078854: b2d1 uxtb r1, r2 8078856: f507 723b add.w r2, r7, #748 ; 0x2ec 807885a: 54d1 strb r1, [r2, r3] str[i++] = '.'; 807885c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078860: 1c5a adds r2, r3, #1 8078862: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078866: f507 723b add.w r2, r7, #748 ; 0x2ec 807886a: 212e movs r1, #46 ; 0x2e 807886c: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 807886e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078872: 1c5a adds r2, r3, #1 8078874: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078878: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 807887c: b2d2 uxtb r2, r2 807887e: 3230 adds r2, #48 ; 0x30 8078880: b2d1 uxtb r1, r2 8078882: f507 723b add.w r2, r7, #748 ; 0x2ec 8078886: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8078888: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807888c: 1c5a adds r2, r3, #1 807888e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078892: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8078896: b2d2 uxtb r2, r2 8078898: 3230 adds r2, #48 ; 0x30 807889a: b2d1 uxtb r1, r2 807889c: f507 723b add.w r2, r7, #748 ; 0x2ec 80788a0: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 80788a2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80788a6: 1c5a adds r2, r3, #1 80788a8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80788ac: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 80788b0: b2d2 uxtb r2, r2 80788b2: 3230 adds r2, #48 ; 0x30 80788b4: b2d1 uxtb r1, r2 80788b6: f507 723b add.w r2, r7, #748 ; 0x2ec 80788ba: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 80788bc: f507 733b add.w r3, r7, #748 ; 0x2ec 80788c0: 461a mov r2, r3 80788c2: 215a movs r1, #90 ; 0x5a 80788c4: 20ff movs r0, #255 ; 0xff 80788c6: f7dd fa61 bl 8055d8c 80788ca: f001 bcd4 b.w 807a276 } else if(menupos == FormatDisk) 80788ce: 4b83 ldr r3, [pc, #524] ; (8078adc ) 80788d0: 781b ldrb r3, [r3, #0] 80788d2: b2db uxtb r3, r3 80788d4: 2b05 cmp r3, #5 80788d6: f040 8107 bne.w 8078ae8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80788da: 497d ldr r1, [pc, #500] ; (8078ad0 ) 80788dc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80788e0: f7dc fc94 bl 805520c LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 80788e4: 4b78 ldr r3, [pc, #480] ; (8078ac8 ) 80788e6: 7b1b ldrb r3, [r3, #12] 80788e8: b2db uxtb r3, r3 80788ea: 4619 mov r1, r3 80788ec: 4a7c ldr r2, [pc, #496] ; (8078ae0 ) 80788ee: 460b mov r3, r1 80788f0: 009b lsls r3, r3, #2 80788f2: 440b add r3, r1 80788f4: 009b lsls r3, r3, #2 80788f6: 4413 add r3, r2 80788f8: 330c adds r3, #12 80788fa: 681b ldr r3, [r3, #0] 80788fc: 461a mov r2, r3 80788fe: 218a movs r1, #138 ; 0x8a 8078900: 200a movs r0, #10 8078902: f7dd fa2b bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078906: 4972 ldr r1, [pc, #456] ; (8078ad0 ) 8078908: f04f 30ff mov.w r0, #4294967295 807890c: f7dc fc7e bl 805520c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8078910: 4b6d ldr r3, [pc, #436] ; (8078ac8 ) 8078912: 7b1b ldrb r3, [r3, #12] 8078914: b2db uxtb r3, r3 8078916: 4619 mov r1, r3 8078918: 4b6b ldr r3, [pc, #428] ; (8078ac8 ) 807891a: 799b ldrb r3, [r3, #6] 807891c: b2db uxtb r3, r3 807891e: 4618 mov r0, r3 8078920: 4a70 ldr r2, [pc, #448] ; (8078ae4 ) 8078922: 460b mov r3, r1 8078924: 005b lsls r3, r3, #1 8078926: 440b add r3, r1 8078928: 4403 add r3, r0 807892a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807892e: 461a mov r2, r3 8078930: 215a movs r1, #90 ; 0x5a 8078932: 200a movs r0, #10 8078934: f7dd fa12 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8078938: 4b63 ldr r3, [pc, #396] ; (8078ac8 ) 807893a: 7b1b ldrb r3, [r3, #12] 807893c: b2db uxtb r3, r3 807893e: 4619 mov r1, r3 8078940: 4a67 ldr r2, [pc, #412] ; (8078ae0 ) 8078942: 460b mov r3, r1 8078944: 009b lsls r3, r3, #2 8078946: 440b add r3, r1 8078948: 009b lsls r3, r3, #2 807894a: 4413 add r3, r2 807894c: 3304 adds r3, #4 807894e: 681b ldr r3, [r3, #0] 8078950: 461a mov r2, r3 8078952: 217a movs r1, #122 ; 0x7a 8078954: 200a movs r0, #10 8078956: f7dd fa01 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 807895a: 4b5b ldr r3, [pc, #364] ; (8078ac8 ) 807895c: 7b1b ldrb r3, [r3, #12] 807895e: b2db uxtb r3, r3 8078960: 4619 mov r1, r3 8078962: 4a5f ldr r2, [pc, #380] ; (8078ae0 ) 8078964: 460b mov r3, r1 8078966: 009b lsls r3, r3, #2 8078968: 440b add r3, r1 807896a: 009b lsls r3, r3, #2 807896c: 4413 add r3, r2 807896e: 3308 adds r3, #8 8078970: 681b ldr r3, [r3, #0] 8078972: 461a mov r2, r3 8078974: 216a movs r1, #106 ; 0x6a 8078976: 200a movs r0, #10 8078978: f7dd f9f0 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807897c: 4954 ldr r1, [pc, #336] ; (8078ad0 ) 807897e: 4855 ldr r0, [pc, #340] ; (8078ad4 ) 8078980: f7dc fc44 bl 805520c LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8078984: 4b50 ldr r3, [pc, #320] ; (8078ac8 ) 8078986: 7b1b ldrb r3, [r3, #12] 8078988: b2db uxtb r3, r3 807898a: 461a mov r2, r3 807898c: 4b4f ldr r3, [pc, #316] ; (8078acc ) 807898e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078992: 461a mov r2, r3 8078994: 216a movs r1, #106 ; 0x6a 8078996: 20ff movs r0, #255 ; 0xff 8078998: f7dd f9f8 bl 8055d8c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807899c: 494c ldr r1, [pc, #304] ; (8078ad0 ) 807899e: 484d ldr r0, [pc, #308] ; (8078ad4 ) 80789a0: f7dc fc34 bl 805520c #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80789a4: 4b48 ldr r3, [pc, #288] ; (8078ac8 ) 80789a6: 7b1b ldrb r3, [r3, #12] 80789a8: b2db uxtb r3, r3 80789aa: 4619 mov r1, r3 80789ac: 4b46 ldr r3, [pc, #280] ; (8078ac8 ) 80789ae: 799b ldrb r3, [r3, #6] 80789b0: b2db uxtb r3, r3 80789b2: 4618 mov r0, r3 80789b4: 4a48 ldr r2, [pc, #288] ; (8078ad8 ) 80789b6: 460b mov r3, r1 80789b8: 005b lsls r3, r3, #1 80789ba: 440b add r3, r1 80789bc: 4403 add r3, r0 80789be: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80789c2: 461a mov r2, r3 80789c4: 214a movs r1, #74 ; 0x4a 80789c6: 20ff movs r0, #255 ; 0xff 80789c8: f7dd f9e0 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80789cc: 4940 ldr r1, [pc, #256] ; (8078ad0 ) 80789ce: 4841 ldr r0, [pc, #260] ; (8078ad4 ) 80789d0: f7dc fc1c bl 805520c memset(str, 0, sizeof(str)); 80789d4: f507 733b add.w r3, r7, #748 ; 0x2ec 80789d8: 223c movs r2, #60 ; 0x3c 80789da: 2100 movs r1, #0 80789dc: 4618 mov r0, r3 80789de: f059 fae1 bl 80d1fa4 i = 0; 80789e2: 2300 movs r3, #0 80789e4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 80789e8: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80789ec: b2db uxtb r3, r3 80789ee: 2b00 cmp r3, #0 80789f0: d00c beq.n 8078a0c str[i++] = ies + 48; 80789f2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80789f6: 1c5a adds r2, r3, #1 80789f8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80789fc: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8078a00: b2d2 uxtb r2, r2 8078a02: 3230 adds r2, #48 ; 0x30 8078a04: b2d1 uxtb r1, r2 8078a06: f507 723b add.w r2, r7, #748 ; 0x2ec 8078a0a: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8078a0c: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8078a10: b2db uxtb r3, r3 8078a12: 2b00 cmp r3, #0 8078a14: d104 bne.n 8078a20 8078a16: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8078a1a: b2db uxtb r3, r3 8078a1c: 2b00 cmp r3, #0 8078a1e: d00c beq.n 8078a3a str[i++] = ied + 48; 8078a20: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078a24: 1c5a adds r2, r3, #1 8078a26: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078a2a: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8078a2e: b2d2 uxtb r2, r2 8078a30: 3230 adds r2, #48 ; 0x30 8078a32: b2d1 uxtb r1, r2 8078a34: f507 723b add.w r2, r7, #748 ; 0x2ec 8078a38: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 8078a3a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078a3e: 1c5a adds r2, r3, #1 8078a40: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078a44: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8078a48: b2d2 uxtb r2, r2 8078a4a: 3230 adds r2, #48 ; 0x30 8078a4c: b2d1 uxtb r1, r2 8078a4e: f507 723b add.w r2, r7, #748 ; 0x2ec 8078a52: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8078a54: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078a58: 1c5a adds r2, r3, #1 8078a5a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078a5e: f507 723b add.w r2, r7, #748 ; 0x2ec 8078a62: 212e movs r1, #46 ; 0x2e 8078a64: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8078a66: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078a6a: 1c5a adds r2, r3, #1 8078a6c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078a70: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8078a74: b2d2 uxtb r2, r2 8078a76: 3230 adds r2, #48 ; 0x30 8078a78: b2d1 uxtb r1, r2 8078a7a: f507 723b add.w r2, r7, #748 ; 0x2ec 8078a7e: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8078a80: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078a84: 1c5a adds r2, r3, #1 8078a86: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078a8a: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8078a8e: b2d2 uxtb r2, r2 8078a90: 3230 adds r2, #48 ; 0x30 8078a92: b2d1 uxtb r1, r2 8078a94: f507 723b add.w r2, r7, #748 ; 0x2ec 8078a98: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8078a9a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078a9e: 1c5a adds r2, r3, #1 8078aa0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078aa4: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8078aa8: b2d2 uxtb r2, r2 8078aaa: 3230 adds r2, #48 ; 0x30 8078aac: b2d1 uxtb r1, r2 8078aae: f507 723b add.w r2, r7, #748 ; 0x2ec 8078ab2: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8078ab4: f507 733b add.w r3, r7, #748 ; 0x2ec 8078ab8: 461a mov r2, r3 8078aba: 215a movs r1, #90 ; 0x5a 8078abc: 20ff movs r0, #255 ; 0xff 8078abe: f7dd f965 bl 8055d8c 8078ac2: f001 bbd8 b.w 807a276 8078ac6: bf00 nop 8078ac8: 20023eb8 .word 0x20023eb8 8078acc: 200205c4 .word 0x200205c4 8078ad0: ff0a0f1f .word 0xff0a0f1f 8078ad4: ffd8aa57 .word 0xffd8aa57 8078ad8: 20020154 .word 0x20020154 8078adc: 20020070 .word 0x20020070 8078ae0: 20020684 .word 0x20020684 8078ae4: 200205dc .word 0x200205dc } else if(menupos == FormatDiskNo) 8078ae8: 4bad ldr r3, [pc, #692] ; (8078da0 ) 8078aea: 781b ldrb r3, [r3, #0] 8078aec: b2db uxtb r3, r3 8078aee: 2b08 cmp r3, #8 8078af0: f040 817a bne.w 8078de8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078af4: 49ab ldr r1, [pc, #684] ; (8078da4 ) 8078af6: f04f 30ff mov.w r0, #4294967295 8078afa: f7dc fb87 bl 805520c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8078afe: 4baa ldr r3, [pc, #680] ; (8078da8 ) 8078b00: 7b1b ldrb r3, [r3, #12] 8078b02: b2db uxtb r3, r3 8078b04: 4619 mov r1, r3 8078b06: 4ba8 ldr r3, [pc, #672] ; (8078da8 ) 8078b08: 799b ldrb r3, [r3, #6] 8078b0a: b2db uxtb r3, r3 8078b0c: 4618 mov r0, r3 8078b0e: 4aa7 ldr r2, [pc, #668] ; (8078dac ) 8078b10: 460b mov r3, r1 8078b12: 005b lsls r3, r3, #1 8078b14: 440b add r3, r1 8078b16: 4403 add r3, r0 8078b18: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8078b1c: 461a mov r2, r3 8078b1e: 215a movs r1, #90 ; 0x5a 8078b20: 200a movs r0, #10 8078b22: f7dd f91b bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8078b26: 4ba0 ldr r3, [pc, #640] ; (8078da8 ) 8078b28: 7b1b ldrb r3, [r3, #12] 8078b2a: b2db uxtb r3, r3 8078b2c: 4619 mov r1, r3 8078b2e: 4aa0 ldr r2, [pc, #640] ; (8078db0 ) 8078b30: 460b mov r3, r1 8078b32: 009b lsls r3, r3, #2 8078b34: 440b add r3, r1 8078b36: 009b lsls r3, r3, #2 8078b38: 4413 add r3, r2 8078b3a: 3304 adds r3, #4 8078b3c: 681b ldr r3, [r3, #0] 8078b3e: 461a mov r2, r3 8078b40: 217a movs r1, #122 ; 0x7a 8078b42: 200a movs r0, #10 8078b44: f7dd f90a bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8078b48: 4b97 ldr r3, [pc, #604] ; (8078da8 ) 8078b4a: 7b1b ldrb r3, [r3, #12] 8078b4c: b2db uxtb r3, r3 8078b4e: 4619 mov r1, r3 8078b50: 4a97 ldr r2, [pc, #604] ; (8078db0 ) 8078b52: 460b mov r3, r1 8078b54: 009b lsls r3, r3, #2 8078b56: 440b add r3, r1 8078b58: 009b lsls r3, r3, #2 8078b5a: 4413 add r3, r2 8078b5c: 3308 adds r3, #8 8078b5e: 681b ldr r3, [r3, #0] 8078b60: 461a mov r2, r3 8078b62: 216a movs r1, #106 ; 0x6a 8078b64: 200a movs r0, #10 8078b66: f7dd f8f9 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8078b6a: 4b8f ldr r3, [pc, #572] ; (8078da8 ) 8078b6c: 7b1b ldrb r3, [r3, #12] 8078b6e: b2db uxtb r3, r3 8078b70: 4619 mov r1, r3 8078b72: 4a8f ldr r2, [pc, #572] ; (8078db0 ) 8078b74: 460b mov r3, r1 8078b76: 009b lsls r3, r3, #2 8078b78: 440b add r3, r1 8078b7a: 009b lsls r3, r3, #2 8078b7c: 4413 add r3, r2 8078b7e: 330c adds r3, #12 8078b80: 681b ldr r3, [r3, #0] 8078b82: 461a mov r2, r3 8078b84: 218a movs r1, #138 ; 0x8a 8078b86: 200a movs r0, #10 8078b88: f7dd f8e8 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078b8c: 4985 ldr r1, [pc, #532] ; (8078da4 ) 8078b8e: 4889 ldr r0, [pc, #548] ; (8078db4 ) 8078b90: f7dc fb3c bl 805520c //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8078b94: 4b84 ldr r3, [pc, #528] ; (8078da8 ) 8078b96: 7b1b ldrb r3, [r3, #12] 8078b98: b2db uxtb r3, r3 8078b9a: 461a mov r2, r3 8078b9c: 4b86 ldr r3, [pc, #536] ; (8078db8 ) 8078b9e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078ba2: 461a mov r2, r3 8078ba4: 216a movs r1, #106 ; 0x6a 8078ba6: 20ff movs r0, #255 ; 0xff 8078ba8: f7dd f8f0 bl 8055d8c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078bac: 497d ldr r1, [pc, #500] ; (8078da4 ) 8078bae: 4881 ldr r0, [pc, #516] ; (8078db4 ) 8078bb0: f7dc fb2c bl 805520c #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8078bb4: 4b7c ldr r3, [pc, #496] ; (8078da8 ) 8078bb6: 7b1b ldrb r3, [r3, #12] 8078bb8: b2db uxtb r3, r3 8078bba: 4619 mov r1, r3 8078bbc: 4b7a ldr r3, [pc, #488] ; (8078da8 ) 8078bbe: 799b ldrb r3, [r3, #6] 8078bc0: b2db uxtb r3, r3 8078bc2: 4618 mov r0, r3 8078bc4: 4a7d ldr r2, [pc, #500] ; (8078dbc ) 8078bc6: 460b mov r3, r1 8078bc8: 005b lsls r3, r3, #1 8078bca: 440b add r3, r1 8078bcc: 4403 add r3, r0 8078bce: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8078bd2: 461a mov r2, r3 8078bd4: 214a movs r1, #74 ; 0x4a 8078bd6: 20ff movs r0, #255 ; 0xff 8078bd8: f7dd f8d8 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078bdc: 4971 ldr r1, [pc, #452] ; (8078da4 ) 8078bde: 4875 ldr r0, [pc, #468] ; (8078db4 ) 8078be0: f7dc fb14 bl 805520c memset(str, 0, sizeof(str)); 8078be4: f507 733b add.w r3, r7, #748 ; 0x2ec 8078be8: 223c movs r2, #60 ; 0x3c 8078bea: 2100 movs r1, #0 8078bec: 4618 mov r0, r3 8078bee: f059 f9d9 bl 80d1fa4 i = 0; 8078bf2: 2300 movs r3, #0 8078bf4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 8078bf8: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8078bfc: b2db uxtb r3, r3 8078bfe: 2b00 cmp r3, #0 8078c00: d00c beq.n 8078c1c str[i++] = ies + 48; 8078c02: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078c06: 1c5a adds r2, r3, #1 8078c08: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078c0c: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8078c10: b2d2 uxtb r2, r2 8078c12: 3230 adds r2, #48 ; 0x30 8078c14: b2d1 uxtb r1, r2 8078c16: f507 723b add.w r2, r7, #748 ; 0x2ec 8078c1a: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8078c1c: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8078c20: b2db uxtb r3, r3 8078c22: 2b00 cmp r3, #0 8078c24: d104 bne.n 8078c30 8078c26: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8078c2a: b2db uxtb r3, r3 8078c2c: 2b00 cmp r3, #0 8078c2e: d00c beq.n 8078c4a str[i++] = ied + 48; 8078c30: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078c34: 1c5a adds r2, r3, #1 8078c36: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078c3a: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8078c3e: b2d2 uxtb r2, r2 8078c40: 3230 adds r2, #48 ; 0x30 8078c42: b2d1 uxtb r1, r2 8078c44: f507 723b add.w r2, r7, #748 ; 0x2ec 8078c48: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 8078c4a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078c4e: 1c5a adds r2, r3, #1 8078c50: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078c54: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8078c58: b2d2 uxtb r2, r2 8078c5a: 3230 adds r2, #48 ; 0x30 8078c5c: b2d1 uxtb r1, r2 8078c5e: f507 723b add.w r2, r7, #748 ; 0x2ec 8078c62: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8078c64: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078c68: 1c5a adds r2, r3, #1 8078c6a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078c6e: f507 723b add.w r2, r7, #748 ; 0x2ec 8078c72: 212e movs r1, #46 ; 0x2e 8078c74: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8078c76: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078c7a: 1c5a adds r2, r3, #1 8078c7c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078c80: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8078c84: b2d2 uxtb r2, r2 8078c86: 3230 adds r2, #48 ; 0x30 8078c88: b2d1 uxtb r1, r2 8078c8a: f507 723b add.w r2, r7, #748 ; 0x2ec 8078c8e: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8078c90: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078c94: 1c5a adds r2, r3, #1 8078c96: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078c9a: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8078c9e: b2d2 uxtb r2, r2 8078ca0: 3230 adds r2, #48 ; 0x30 8078ca2: b2d1 uxtb r1, r2 8078ca4: f507 723b add.w r2, r7, #748 ; 0x2ec 8078ca8: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8078caa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078cae: 1c5a adds r2, r3, #1 8078cb0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078cb4: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8078cb8: b2d2 uxtb r2, r2 8078cba: 3230 adds r2, #48 ; 0x30 8078cbc: b2d1 uxtb r1, r2 8078cbe: f507 723b add.w r2, r7, #748 ; 0x2ec 8078cc2: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8078cc4: f507 733b add.w r3, r7, #748 ; 0x2ec 8078cc8: 461a mov r2, r3 8078cca: 215a movs r1, #90 ; 0x5a 8078ccc: 20ff movs r0, #255 ; 0xff 8078cce: f7dd f85d bl 8055d8c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8078cd2: 4934 ldr r1, [pc, #208] ; (8078da4 ) 8078cd4: 483a ldr r0, [pc, #232] ; (8078dc0 ) 8078cd6: f7dc fa99 bl 805520c BSP_LCD_FillRect(60, 73, 200, 124); 8078cda: 237c movs r3, #124 ; 0x7c 8078cdc: 22c8 movs r2, #200 ; 0xc8 8078cde: 2149 movs r1, #73 ; 0x49 8078ce0: 203c movs r0, #60 ; 0x3c 8078ce2: f7dc ff21 bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8078ce6: 492f ldr r1, [pc, #188] ; (8078da4 ) 8078ce8: 482e ldr r0, [pc, #184] ; (8078da4 ) 8078cea: f7dc fa8f bl 805520c BSP_LCD_FillRect(62, 75, 196, 120); 8078cee: 2378 movs r3, #120 ; 0x78 8078cf0: 22c4 movs r2, #196 ; 0xc4 8078cf2: 214b movs r1, #75 ; 0x4b 8078cf4: 203e movs r0, #62 ; 0x3e 8078cf6: f7dc ff17 bl 8055b28 if(pardata.LANG == RUS) 8078cfa: 4b2b ldr r3, [pc, #172] ; (8078da8 ) 8078cfc: 7b1b ldrb r3, [r3, #12] 8078cfe: b2db uxtb r3, r3 8078d00: 2b00 cmp r3, #0 8078d02: d126 bne.n 8078d52 { BSP_LCD_SetFont(&Font12); 8078d04: 482f ldr r0, [pc, #188] ; (8078dc4 ) 8078d06: f7dc fabd bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078d0a: 4926 ldr r1, [pc, #152] ; (8078da4 ) 8078d0c: f04f 30ff mov.w r0, #4294967295 8078d10: f7dc fa7c bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Êàðòà ïàìÿòè áóäåò", CENTER_MODE); 8078d14: 2301 movs r3, #1 8078d16: 4a2c ldr r2, [pc, #176] ; (8078dc8 ) 8078d18: 217a movs r1, #122 ; 0x7a 8078d1a: 20a0 movs r0, #160 ; 0xa0 8078d1c: f7dc fb3c bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "î÷èùåíà. Ïðîäîëæèòü?", CENTER_MODE); 8078d20: 2301 movs r3, #1 8078d22: 4a2a ldr r2, [pc, #168] ; (8078dcc ) 8078d24: 218a movs r1, #138 ; 0x8a 8078d26: 20a0 movs r0, #160 ; 0xa0 8078d28: f7dc fb36 bl 8055398 BSP_LCD_DisplayStringAt(258-20, 170, "Äà", RIGHT_MODE); 8078d2c: 2302 movs r3, #2 8078d2e: 4a28 ldr r2, [pc, #160] ; (8078dd0 ) 8078d30: 21aa movs r1, #170 ; 0xaa 8078d32: 20ee movs r0, #238 ; 0xee 8078d34: f7dc fb30 bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8078d38: 491a ldr r1, [pc, #104] ; (8078da4 ) 8078d3a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8078d3e: f7dc fa65 bl 805520c BSP_LCD_DisplayStringAt(62+20, 170, "Íåò", LEFT_MODE); 8078d42: 2303 movs r3, #3 8078d44: 4a23 ldr r2, [pc, #140] ; (8078dd4 ) 8078d46: 21aa movs r1, #170 ; 0xaa 8078d48: 2052 movs r0, #82 ; 0x52 8078d4a: f7dc fb25 bl 8055398 8078d4e: f001 ba92 b.w 807a276 } else { BSP_LCD_SetFont(&Font12); 8078d52: 481c ldr r0, [pc, #112] ; (8078dc4 ) 8078d54: f7dc fa96 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078d58: 4912 ldr r1, [pc, #72] ; (8078da4 ) 8078d5a: f04f 30ff mov.w r0, #4294967295 8078d5e: f7dc fa55 bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "The memory card will", CENTER_MODE); 8078d62: 2301 movs r3, #1 8078d64: 4a1c ldr r2, [pc, #112] ; (8078dd8 ) 8078d66: 217a movs r1, #122 ; 0x7a 8078d68: 20a0 movs r0, #160 ; 0xa0 8078d6a: f7dc fb15 bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "be cleared. Continue?", CENTER_MODE); 8078d6e: 2301 movs r3, #1 8078d70: 4a1a ldr r2, [pc, #104] ; (8078ddc ) 8078d72: 218a movs r1, #138 ; 0x8a 8078d74: 20a0 movs r0, #160 ; 0xa0 8078d76: f7dc fb0f bl 8055398 BSP_LCD_DisplayStringAt(258-20, 170, "Yes", RIGHT_MODE); 8078d7a: 2302 movs r3, #2 8078d7c: 4a18 ldr r2, [pc, #96] ; (8078de0 ) 8078d7e: 21aa movs r1, #170 ; 0xaa 8078d80: 20ee movs r0, #238 ; 0xee 8078d82: f7dc fb09 bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8078d86: 4907 ldr r1, [pc, #28] ; (8078da4 ) 8078d88: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8078d8c: f7dc fa3e bl 805520c BSP_LCD_DisplayStringAt(62+20, 170, "No", LEFT_MODE); 8078d90: 2303 movs r3, #3 8078d92: 4a14 ldr r2, [pc, #80] ; (8078de4 ) 8078d94: 21aa movs r1, #170 ; 0xaa 8078d96: 2052 movs r0, #82 ; 0x52 8078d98: f7dc fafe bl 8055398 8078d9c: f001 ba6b b.w 807a276 8078da0: 20020070 .word 0x20020070 8078da4: ff0a0f1f .word 0xff0a0f1f 8078da8: 20023eb8 .word 0x20023eb8 8078dac: 200205dc .word 0x200205dc 8078db0: 20020684 .word 0x20020684 8078db4: ffd8aa57 .word 0xffd8aa57 8078db8: 200205c4 .word 0x200205c4 8078dbc: 20020154 .word 0x20020154 8078dc0: ffd3d3d3 .word 0xffd3d3d3 8078dc4: 20020038 .word 0x20020038 8078dc8: 080d69b0 .word 0x080d69b0 8078dcc: 080d69c4 .word 0x080d69c4 8078dd0: 080d62c8 .word 0x080d62c8 8078dd4: 080d5118 .word 0x080d5118 8078dd8: 080d69dc .word 0x080d69dc 8078ddc: 080d69f4 .word 0x080d69f4 8078de0: 080d6834 .word 0x080d6834 8078de4: 080d6838 .word 0x080d6838 } } else if(menupos == FormatDiskYes) 8078de8: 4bad ldr r3, [pc, #692] ; (80790a0 ) 8078dea: 781b ldrb r3, [r3, #0] 8078dec: b2db uxtb r3, r3 8078dee: 2b09 cmp r3, #9 8078df0: f040 817a bne.w 80790e8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078df4: 49ab ldr r1, [pc, #684] ; (80790a4 ) 8078df6: f04f 30ff mov.w r0, #4294967295 8078dfa: f7dc fa07 bl 805520c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8078dfe: 4baa ldr r3, [pc, #680] ; (80790a8 ) 8078e00: 7b1b ldrb r3, [r3, #12] 8078e02: b2db uxtb r3, r3 8078e04: 4619 mov r1, r3 8078e06: 4ba8 ldr r3, [pc, #672] ; (80790a8 ) 8078e08: 799b ldrb r3, [r3, #6] 8078e0a: b2db uxtb r3, r3 8078e0c: 4618 mov r0, r3 8078e0e: 4aa7 ldr r2, [pc, #668] ; (80790ac ) 8078e10: 460b mov r3, r1 8078e12: 005b lsls r3, r3, #1 8078e14: 440b add r3, r1 8078e16: 4403 add r3, r0 8078e18: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8078e1c: 461a mov r2, r3 8078e1e: 215a movs r1, #90 ; 0x5a 8078e20: 200a movs r0, #10 8078e22: f7dc ff9b bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8078e26: 4ba0 ldr r3, [pc, #640] ; (80790a8 ) 8078e28: 7b1b ldrb r3, [r3, #12] 8078e2a: b2db uxtb r3, r3 8078e2c: 4619 mov r1, r3 8078e2e: 4aa0 ldr r2, [pc, #640] ; (80790b0 ) 8078e30: 460b mov r3, r1 8078e32: 009b lsls r3, r3, #2 8078e34: 440b add r3, r1 8078e36: 009b lsls r3, r3, #2 8078e38: 4413 add r3, r2 8078e3a: 3304 adds r3, #4 8078e3c: 681b ldr r3, [r3, #0] 8078e3e: 461a mov r2, r3 8078e40: 217a movs r1, #122 ; 0x7a 8078e42: 200a movs r0, #10 8078e44: f7dc ff8a bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8078e48: 4b97 ldr r3, [pc, #604] ; (80790a8 ) 8078e4a: 7b1b ldrb r3, [r3, #12] 8078e4c: b2db uxtb r3, r3 8078e4e: 4619 mov r1, r3 8078e50: 4a97 ldr r2, [pc, #604] ; (80790b0 ) 8078e52: 460b mov r3, r1 8078e54: 009b lsls r3, r3, #2 8078e56: 440b add r3, r1 8078e58: 009b lsls r3, r3, #2 8078e5a: 4413 add r3, r2 8078e5c: 3308 adds r3, #8 8078e5e: 681b ldr r3, [r3, #0] 8078e60: 461a mov r2, r3 8078e62: 216a movs r1, #106 ; 0x6a 8078e64: 200a movs r0, #10 8078e66: f7dc ff79 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8078e6a: 4b8f ldr r3, [pc, #572] ; (80790a8 ) 8078e6c: 7b1b ldrb r3, [r3, #12] 8078e6e: b2db uxtb r3, r3 8078e70: 4619 mov r1, r3 8078e72: 4a8f ldr r2, [pc, #572] ; (80790b0 ) 8078e74: 460b mov r3, r1 8078e76: 009b lsls r3, r3, #2 8078e78: 440b add r3, r1 8078e7a: 009b lsls r3, r3, #2 8078e7c: 4413 add r3, r2 8078e7e: 330c adds r3, #12 8078e80: 681b ldr r3, [r3, #0] 8078e82: 461a mov r2, r3 8078e84: 218a movs r1, #138 ; 0x8a 8078e86: 200a movs r0, #10 8078e88: f7dc ff68 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078e8c: 4985 ldr r1, [pc, #532] ; (80790a4 ) 8078e8e: 4889 ldr r0, [pc, #548] ; (80790b4 ) 8078e90: f7dc f9bc bl 805520c //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8078e94: 4b84 ldr r3, [pc, #528] ; (80790a8 ) 8078e96: 7b1b ldrb r3, [r3, #12] 8078e98: b2db uxtb r3, r3 8078e9a: 461a mov r2, r3 8078e9c: 4b86 ldr r3, [pc, #536] ; (80790b8 ) 8078e9e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078ea2: 461a mov r2, r3 8078ea4: 216a movs r1, #106 ; 0x6a 8078ea6: 20ff movs r0, #255 ; 0xff 8078ea8: f7dc ff70 bl 8055d8c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078eac: 497d ldr r1, [pc, #500] ; (80790a4 ) 8078eae: 4881 ldr r0, [pc, #516] ; (80790b4 ) 8078eb0: f7dc f9ac bl 805520c #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8078eb4: 4b7c ldr r3, [pc, #496] ; (80790a8 ) 8078eb6: 7b1b ldrb r3, [r3, #12] 8078eb8: b2db uxtb r3, r3 8078eba: 4619 mov r1, r3 8078ebc: 4b7a ldr r3, [pc, #488] ; (80790a8 ) 8078ebe: 799b ldrb r3, [r3, #6] 8078ec0: b2db uxtb r3, r3 8078ec2: 4618 mov r0, r3 8078ec4: 4a7d ldr r2, [pc, #500] ; (80790bc ) 8078ec6: 460b mov r3, r1 8078ec8: 005b lsls r3, r3, #1 8078eca: 440b add r3, r1 8078ecc: 4403 add r3, r0 8078ece: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8078ed2: 461a mov r2, r3 8078ed4: 214a movs r1, #74 ; 0x4a 8078ed6: 20ff movs r0, #255 ; 0xff 8078ed8: f7dc ff58 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078edc: 4971 ldr r1, [pc, #452] ; (80790a4 ) 8078ede: 4875 ldr r0, [pc, #468] ; (80790b4 ) 8078ee0: f7dc f994 bl 805520c memset(str, 0, sizeof(str)); 8078ee4: f507 733b add.w r3, r7, #748 ; 0x2ec 8078ee8: 223c movs r2, #60 ; 0x3c 8078eea: 2100 movs r1, #0 8078eec: 4618 mov r0, r3 8078eee: f059 f859 bl 80d1fa4 i = 0; 8078ef2: 2300 movs r3, #0 8078ef4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 8078ef8: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8078efc: b2db uxtb r3, r3 8078efe: 2b00 cmp r3, #0 8078f00: d00c beq.n 8078f1c str[i++] = ies + 48; 8078f02: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078f06: 1c5a adds r2, r3, #1 8078f08: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078f0c: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8078f10: b2d2 uxtb r2, r2 8078f12: 3230 adds r2, #48 ; 0x30 8078f14: b2d1 uxtb r1, r2 8078f16: f507 723b add.w r2, r7, #748 ; 0x2ec 8078f1a: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8078f1c: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8078f20: b2db uxtb r3, r3 8078f22: 2b00 cmp r3, #0 8078f24: d104 bne.n 8078f30 8078f26: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8078f2a: b2db uxtb r3, r3 8078f2c: 2b00 cmp r3, #0 8078f2e: d00c beq.n 8078f4a str[i++] = ied + 48; 8078f30: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078f34: 1c5a adds r2, r3, #1 8078f36: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078f3a: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8078f3e: b2d2 uxtb r2, r2 8078f40: 3230 adds r2, #48 ; 0x30 8078f42: b2d1 uxtb r1, r2 8078f44: f507 723b add.w r2, r7, #748 ; 0x2ec 8078f48: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 8078f4a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078f4e: 1c5a adds r2, r3, #1 8078f50: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078f54: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8078f58: b2d2 uxtb r2, r2 8078f5a: 3230 adds r2, #48 ; 0x30 8078f5c: b2d1 uxtb r1, r2 8078f5e: f507 723b add.w r2, r7, #748 ; 0x2ec 8078f62: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8078f64: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078f68: 1c5a adds r2, r3, #1 8078f6a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078f6e: f507 723b add.w r2, r7, #748 ; 0x2ec 8078f72: 212e movs r1, #46 ; 0x2e 8078f74: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8078f76: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078f7a: 1c5a adds r2, r3, #1 8078f7c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078f80: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8078f84: b2d2 uxtb r2, r2 8078f86: 3230 adds r2, #48 ; 0x30 8078f88: b2d1 uxtb r1, r2 8078f8a: f507 723b add.w r2, r7, #748 ; 0x2ec 8078f8e: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8078f90: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078f94: 1c5a adds r2, r3, #1 8078f96: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078f9a: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8078f9e: b2d2 uxtb r2, r2 8078fa0: 3230 adds r2, #48 ; 0x30 8078fa2: b2d1 uxtb r1, r2 8078fa4: f507 723b add.w r2, r7, #748 ; 0x2ec 8078fa8: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8078faa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078fae: 1c5a adds r2, r3, #1 8078fb0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078fb4: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8078fb8: b2d2 uxtb r2, r2 8078fba: 3230 adds r2, #48 ; 0x30 8078fbc: b2d1 uxtb r1, r2 8078fbe: f507 723b add.w r2, r7, #748 ; 0x2ec 8078fc2: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8078fc4: f507 733b add.w r3, r7, #748 ; 0x2ec 8078fc8: 461a mov r2, r3 8078fca: 215a movs r1, #90 ; 0x5a 8078fcc: 20ff movs r0, #255 ; 0xff 8078fce: f7dc fedd bl 8055d8c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8078fd2: 4934 ldr r1, [pc, #208] ; (80790a4 ) 8078fd4: 483a ldr r0, [pc, #232] ; (80790c0 ) 8078fd6: f7dc f919 bl 805520c BSP_LCD_FillRect(60, 73, 200, 124); 8078fda: 237c movs r3, #124 ; 0x7c 8078fdc: 22c8 movs r2, #200 ; 0xc8 8078fde: 2149 movs r1, #73 ; 0x49 8078fe0: 203c movs r0, #60 ; 0x3c 8078fe2: f7dc fda1 bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8078fe6: 492f ldr r1, [pc, #188] ; (80790a4 ) 8078fe8: 482e ldr r0, [pc, #184] ; (80790a4 ) 8078fea: f7dc f90f bl 805520c BSP_LCD_FillRect(62, 75, 196, 120); 8078fee: 2378 movs r3, #120 ; 0x78 8078ff0: 22c4 movs r2, #196 ; 0xc4 8078ff2: 214b movs r1, #75 ; 0x4b 8078ff4: 203e movs r0, #62 ; 0x3e 8078ff6: f7dc fd97 bl 8055b28 if(pardata.LANG == RUS) 8078ffa: 4b2b ldr r3, [pc, #172] ; (80790a8 ) 8078ffc: 7b1b ldrb r3, [r3, #12] 8078ffe: b2db uxtb r3, r3 8079000: 2b00 cmp r3, #0 8079002: d126 bne.n 8079052 { BSP_LCD_SetFont(&Font12); 8079004: 482f ldr r0, [pc, #188] ; (80790c4 ) 8079006: f7dc f93d bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807900a: 4926 ldr r1, [pc, #152] ; (80790a4 ) 807900c: f04f 30ff mov.w r0, #4294967295 8079010: f7dc f8fc bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Êàðòà ïàìÿòè áóäåò", CENTER_MODE); 8079014: 2301 movs r3, #1 8079016: 4a2c ldr r2, [pc, #176] ; (80790c8 ) 8079018: 217a movs r1, #122 ; 0x7a 807901a: 20a0 movs r0, #160 ; 0xa0 807901c: f7dc f9bc bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "î÷èùåíà. Ïðîäîëæèòü?", CENTER_MODE); 8079020: 2301 movs r3, #1 8079022: 4a2a ldr r2, [pc, #168] ; (80790cc ) 8079024: 218a movs r1, #138 ; 0x8a 8079026: 20a0 movs r0, #160 ; 0xa0 8079028: f7dc f9b6 bl 8055398 BSP_LCD_DisplayStringAt(62+20, 170, "Íåò", LEFT_MODE); 807902c: 2303 movs r3, #3 807902e: 4a28 ldr r2, [pc, #160] ; (80790d0 ) 8079030: 21aa movs r1, #170 ; 0xaa 8079032: 2052 movs r0, #82 ; 0x52 8079034: f7dc f9b0 bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8079038: 491a ldr r1, [pc, #104] ; (80790a4 ) 807903a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807903e: f7dc f8e5 bl 805520c BSP_LCD_DisplayStringAt(258-20, 170, "Äà", RIGHT_MODE); 8079042: 2302 movs r3, #2 8079044: 4a23 ldr r2, [pc, #140] ; (80790d4 ) 8079046: 21aa movs r1, #170 ; 0xaa 8079048: 20ee movs r0, #238 ; 0xee 807904a: f7dc f9a5 bl 8055398 807904e: f001 b912 b.w 807a276 } else { BSP_LCD_SetFont(&Font12); 8079052: 481c ldr r0, [pc, #112] ; (80790c4 ) 8079054: f7dc f916 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079058: 4912 ldr r1, [pc, #72] ; (80790a4 ) 807905a: f04f 30ff mov.w r0, #4294967295 807905e: f7dc f8d5 bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "The memory card will", CENTER_MODE); 8079062: 2301 movs r3, #1 8079064: 4a1c ldr r2, [pc, #112] ; (80790d8 ) 8079066: 217a movs r1, #122 ; 0x7a 8079068: 20a0 movs r0, #160 ; 0xa0 807906a: f7dc f995 bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "be cleared. Continue?", CENTER_MODE); 807906e: 2301 movs r3, #1 8079070: 4a1a ldr r2, [pc, #104] ; (80790dc ) 8079072: 218a movs r1, #138 ; 0x8a 8079074: 20a0 movs r0, #160 ; 0xa0 8079076: f7dc f98f bl 8055398 BSP_LCD_DisplayStringAt(62+20, 170, "No", LEFT_MODE); 807907a: 2303 movs r3, #3 807907c: 4a18 ldr r2, [pc, #96] ; (80790e0 ) 807907e: 21aa movs r1, #170 ; 0xaa 8079080: 2052 movs r0, #82 ; 0x52 8079082: f7dc f989 bl 8055398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8079086: 4907 ldr r1, [pc, #28] ; (80790a4 ) 8079088: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807908c: f7dc f8be bl 805520c BSP_LCD_DisplayStringAt(258-20, 170, "Yes", RIGHT_MODE); 8079090: 2302 movs r3, #2 8079092: 4a14 ldr r2, [pc, #80] ; (80790e4 ) 8079094: 21aa movs r1, #170 ; 0xaa 8079096: 20ee movs r0, #238 ; 0xee 8079098: f7dc f97e bl 8055398 807909c: f001 b8eb b.w 807a276 80790a0: 20020070 .word 0x20020070 80790a4: ff0a0f1f .word 0xff0a0f1f 80790a8: 20023eb8 .word 0x20023eb8 80790ac: 200205dc .word 0x200205dc 80790b0: 20020684 .word 0x20020684 80790b4: ffd8aa57 .word 0xffd8aa57 80790b8: 200205c4 .word 0x200205c4 80790bc: 20020154 .word 0x20020154 80790c0: ffd3d3d3 .word 0xffd3d3d3 80790c4: 20020038 .word 0x20020038 80790c8: 080d69b0 .word 0x080d69b0 80790cc: 080d69c4 .word 0x080d69c4 80790d0: 080d5118 .word 0x080d5118 80790d4: 080d62c8 .word 0x080d62c8 80790d8: 080d69dc .word 0x080d69dc 80790dc: 080d69f4 .word 0x080d69f4 80790e0: 080d6838 .word 0x080d6838 80790e4: 080d6834 .word 0x080d6834 } } else if(menupos == FormatDiskProcessing) 80790e8: 4b9c ldr r3, [pc, #624] ; (807935c ) 80790ea: 781b ldrb r3, [r3, #0] 80790ec: b2db uxtb r3, r3 80790ee: 2b0b cmp r3, #11 80790f0: f040 8150 bne.w 8079394 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80790f4: 499a ldr r1, [pc, #616] ; (8079360 ) 80790f6: f04f 30ff mov.w r0, #4294967295 80790fa: f7dc f887 bl 805520c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80790fe: 4b99 ldr r3, [pc, #612] ; (8079364 ) 8079100: 7b1b ldrb r3, [r3, #12] 8079102: b2db uxtb r3, r3 8079104: 4619 mov r1, r3 8079106: 4b97 ldr r3, [pc, #604] ; (8079364 ) 8079108: 799b ldrb r3, [r3, #6] 807910a: b2db uxtb r3, r3 807910c: 4618 mov r0, r3 807910e: 4a96 ldr r2, [pc, #600] ; (8079368 ) 8079110: 460b mov r3, r1 8079112: 005b lsls r3, r3, #1 8079114: 440b add r3, r1 8079116: 4403 add r3, r0 8079118: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807911c: 461a mov r2, r3 807911e: 215a movs r1, #90 ; 0x5a 8079120: 200a movs r0, #10 8079122: f7dc fe1b bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8079126: 4b8f ldr r3, [pc, #572] ; (8079364 ) 8079128: 7b1b ldrb r3, [r3, #12] 807912a: b2db uxtb r3, r3 807912c: 4619 mov r1, r3 807912e: 4a8f ldr r2, [pc, #572] ; (807936c ) 8079130: 460b mov r3, r1 8079132: 009b lsls r3, r3, #2 8079134: 440b add r3, r1 8079136: 009b lsls r3, r3, #2 8079138: 4413 add r3, r2 807913a: 3304 adds r3, #4 807913c: 681b ldr r3, [r3, #0] 807913e: 461a mov r2, r3 8079140: 217a movs r1, #122 ; 0x7a 8079142: 200a movs r0, #10 8079144: f7dc fe0a bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8079148: 4b86 ldr r3, [pc, #536] ; (8079364 ) 807914a: 7b1b ldrb r3, [r3, #12] 807914c: b2db uxtb r3, r3 807914e: 4619 mov r1, r3 8079150: 4a86 ldr r2, [pc, #536] ; (807936c ) 8079152: 460b mov r3, r1 8079154: 009b lsls r3, r3, #2 8079156: 440b add r3, r1 8079158: 009b lsls r3, r3, #2 807915a: 4413 add r3, r2 807915c: 3308 adds r3, #8 807915e: 681b ldr r3, [r3, #0] 8079160: 461a mov r2, r3 8079162: 216a movs r1, #106 ; 0x6a 8079164: 200a movs r0, #10 8079166: f7dc fdf9 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 807916a: 4b7e ldr r3, [pc, #504] ; (8079364 ) 807916c: 7b1b ldrb r3, [r3, #12] 807916e: b2db uxtb r3, r3 8079170: 4619 mov r1, r3 8079172: 4a7e ldr r2, [pc, #504] ; (807936c ) 8079174: 460b mov r3, r1 8079176: 009b lsls r3, r3, #2 8079178: 440b add r3, r1 807917a: 009b lsls r3, r3, #2 807917c: 4413 add r3, r2 807917e: 330c adds r3, #12 8079180: 681b ldr r3, [r3, #0] 8079182: 461a mov r2, r3 8079184: 218a movs r1, #138 ; 0x8a 8079186: 200a movs r0, #10 8079188: f7dc fde8 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807918c: 4974 ldr r1, [pc, #464] ; (8079360 ) 807918e: 4878 ldr r0, [pc, #480] ; (8079370 ) 8079190: f7dc f83c bl 805520c //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8079194: 4b73 ldr r3, [pc, #460] ; (8079364 ) 8079196: 7b1b ldrb r3, [r3, #12] 8079198: b2db uxtb r3, r3 807919a: 461a mov r2, r3 807919c: 4b75 ldr r3, [pc, #468] ; (8079374 ) 807919e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80791a2: 461a mov r2, r3 80791a4: 216a movs r1, #106 ; 0x6a 80791a6: 20ff movs r0, #255 ; 0xff 80791a8: f7dc fdf0 bl 8055d8c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80791ac: 496c ldr r1, [pc, #432] ; (8079360 ) 80791ae: 4870 ldr r0, [pc, #448] ; (8079370 ) 80791b0: f7dc f82c bl 805520c #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80791b4: 4b6b ldr r3, [pc, #428] ; (8079364 ) 80791b6: 7b1b ldrb r3, [r3, #12] 80791b8: b2db uxtb r3, r3 80791ba: 4619 mov r1, r3 80791bc: 4b69 ldr r3, [pc, #420] ; (8079364 ) 80791be: 799b ldrb r3, [r3, #6] 80791c0: b2db uxtb r3, r3 80791c2: 4618 mov r0, r3 80791c4: 4a6c ldr r2, [pc, #432] ; (8079378 ) 80791c6: 460b mov r3, r1 80791c8: 005b lsls r3, r3, #1 80791ca: 440b add r3, r1 80791cc: 4403 add r3, r0 80791ce: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80791d2: 461a mov r2, r3 80791d4: 214a movs r1, #74 ; 0x4a 80791d6: 20ff movs r0, #255 ; 0xff 80791d8: f7dc fdd8 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80791dc: 4960 ldr r1, [pc, #384] ; (8079360 ) 80791de: 4864 ldr r0, [pc, #400] ; (8079370 ) 80791e0: f7dc f814 bl 805520c memset(str, 0, sizeof(str)); 80791e4: f507 733b add.w r3, r7, #748 ; 0x2ec 80791e8: 223c movs r2, #60 ; 0x3c 80791ea: 2100 movs r1, #0 80791ec: 4618 mov r0, r3 80791ee: f058 fed9 bl 80d1fa4 i = 0; 80791f2: 2300 movs r3, #0 80791f4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 80791f8: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80791fc: b2db uxtb r3, r3 80791fe: 2b00 cmp r3, #0 8079200: d00c beq.n 807921c str[i++] = ies + 48; 8079202: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079206: 1c5a adds r2, r3, #1 8079208: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807920c: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8079210: b2d2 uxtb r2, r2 8079212: 3230 adds r2, #48 ; 0x30 8079214: b2d1 uxtb r1, r2 8079216: f507 723b add.w r2, r7, #748 ; 0x2ec 807921a: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 807921c: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8079220: b2db uxtb r3, r3 8079222: 2b00 cmp r3, #0 8079224: d104 bne.n 8079230 8079226: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 807922a: b2db uxtb r3, r3 807922c: 2b00 cmp r3, #0 807922e: d00c beq.n 807924a str[i++] = ied + 48; 8079230: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079234: 1c5a adds r2, r3, #1 8079236: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807923a: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 807923e: b2d2 uxtb r2, r2 8079240: 3230 adds r2, #48 ; 0x30 8079242: b2d1 uxtb r1, r2 8079244: f507 723b add.w r2, r7, #748 ; 0x2ec 8079248: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 807924a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807924e: 1c5a adds r2, r3, #1 8079250: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079254: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8079258: b2d2 uxtb r2, r2 807925a: 3230 adds r2, #48 ; 0x30 807925c: b2d1 uxtb r1, r2 807925e: f507 723b add.w r2, r7, #748 ; 0x2ec 8079262: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8079264: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079268: 1c5a adds r2, r3, #1 807926a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807926e: f507 723b add.w r2, r7, #748 ; 0x2ec 8079272: 212e movs r1, #46 ; 0x2e 8079274: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8079276: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807927a: 1c5a adds r2, r3, #1 807927c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079280: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8079284: b2d2 uxtb r2, r2 8079286: 3230 adds r2, #48 ; 0x30 8079288: b2d1 uxtb r1, r2 807928a: f507 723b add.w r2, r7, #748 ; 0x2ec 807928e: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8079290: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079294: 1c5a adds r2, r3, #1 8079296: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807929a: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 807929e: b2d2 uxtb r2, r2 80792a0: 3230 adds r2, #48 ; 0x30 80792a2: b2d1 uxtb r1, r2 80792a4: f507 723b add.w r2, r7, #748 ; 0x2ec 80792a8: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 80792aa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80792ae: 1c5a adds r2, r3, #1 80792b0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80792b4: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 80792b8: b2d2 uxtb r2, r2 80792ba: 3230 adds r2, #48 ; 0x30 80792bc: b2d1 uxtb r1, r2 80792be: f507 723b add.w r2, r7, #748 ; 0x2ec 80792c2: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 80792c4: f507 733b add.w r3, r7, #748 ; 0x2ec 80792c8: 461a mov r2, r3 80792ca: 215a movs r1, #90 ; 0x5a 80792cc: 20ff movs r0, #255 ; 0xff 80792ce: f7dc fd5d bl 8055d8c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80792d2: 4923 ldr r1, [pc, #140] ; (8079360 ) 80792d4: 4829 ldr r0, [pc, #164] ; (807937c ) 80792d6: f7db ff99 bl 805520c BSP_LCD_FillRect(60, 73, 200, 124); 80792da: 237c movs r3, #124 ; 0x7c 80792dc: 22c8 movs r2, #200 ; 0xc8 80792de: 2149 movs r1, #73 ; 0x49 80792e0: 203c movs r0, #60 ; 0x3c 80792e2: f7dc fc21 bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80792e6: 491e ldr r1, [pc, #120] ; (8079360 ) 80792e8: 481d ldr r0, [pc, #116] ; (8079360 ) 80792ea: f7db ff8f bl 805520c BSP_LCD_FillRect(62, 75, 196, 120); 80792ee: 2378 movs r3, #120 ; 0x78 80792f0: 22c4 movs r2, #196 ; 0xc4 80792f2: 214b movs r1, #75 ; 0x4b 80792f4: 203e movs r0, #62 ; 0x3e 80792f6: f7dc fc17 bl 8055b28 if(pardata.LANG == RUS) 80792fa: 4b1a ldr r3, [pc, #104] ; (8079364 ) 80792fc: 7b1b ldrb r3, [r3, #12] 80792fe: b2db uxtb r3, r3 8079300: 2b00 cmp r3, #0 8079302: d115 bne.n 8079330 { BSP_LCD_SetFont(&Font12); 8079304: 481e ldr r0, [pc, #120] ; (8079380 ) 8079306: f7db ffbd bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807930a: 4915 ldr r1, [pc, #84] ; (8079360 ) 807930c: f04f 30ff mov.w r0, #4294967295 8079310: f7db ff7c bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå äèñêà.", CENTER_MODE); 8079314: 2301 movs r3, #1 8079316: 4a1b ldr r2, [pc, #108] ; (8079384 ) 8079318: 217a movs r1, #122 ; 0x7a 807931a: 20a0 movs r0, #160 ; 0xa0 807931c: f7dc f83c bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Æäèòå...", CENTER_MODE); 8079320: 2301 movs r3, #1 8079322: 4a19 ldr r2, [pc, #100] ; (8079388 ) 8079324: 218a movs r1, #138 ; 0x8a 8079326: 20a0 movs r0, #160 ; 0xa0 8079328: f7dc f836 bl 8055398 807932c: f000 bfa3 b.w 807a276 } else { BSP_LCD_SetFont(&Font12); 8079330: 4813 ldr r0, [pc, #76] ; (8079380 ) 8079332: f7db ffa7 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079336: 490a ldr r1, [pc, #40] ; (8079360 ) 8079338: f04f 30ff mov.w r0, #4294967295 807933c: f7db ff66 bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Formatting the drive.", CENTER_MODE); 8079340: 2301 movs r3, #1 8079342: 4a12 ldr r2, [pc, #72] ; (807938c ) 8079344: 217a movs r1, #122 ; 0x7a 8079346: 20a0 movs r0, #160 ; 0xa0 8079348: f7dc f826 bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Please, wait...", CENTER_MODE); 807934c: 2301 movs r3, #1 807934e: 4a10 ldr r2, [pc, #64] ; (8079390 ) 8079350: 218a movs r1, #138 ; 0x8a 8079352: 20a0 movs r0, #160 ; 0xa0 8079354: f7dc f820 bl 8055398 8079358: f000 bf8d b.w 807a276 807935c: 20020070 .word 0x20020070 8079360: ff0a0f1f .word 0xff0a0f1f 8079364: 20023eb8 .word 0x20023eb8 8079368: 200205dc .word 0x200205dc 807936c: 20020684 .word 0x20020684 8079370: ffd8aa57 .word 0xffd8aa57 8079374: 200205c4 .word 0x200205c4 8079378: 20020154 .word 0x20020154 807937c: ffd3d3d3 .word 0xffd3d3d3 8079380: 20020038 .word 0x20020038 8079384: 080d6a0c .word 0x080d6a0c 8079388: 080d68e4 .word 0x080d68e4 807938c: 080d6a24 .word 0x080d6a24 8079390: 080d6a3c .word 0x080d6a3c } } else if(menupos == FormatDiskResult) 8079394: 4bc5 ldr r3, [pc, #788] ; (80796ac ) 8079396: 781b ldrb r3, [r3, #0] 8079398: b2db uxtb r3, r3 807939a: 2b0a cmp r3, #10 807939c: f040 81ce bne.w 807973c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80793a0: 49c3 ldr r1, [pc, #780] ; (80796b0 ) 80793a2: f04f 30ff mov.w r0, #4294967295 80793a6: f7db ff31 bl 805520c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80793aa: 4bc2 ldr r3, [pc, #776] ; (80796b4 ) 80793ac: 7b1b ldrb r3, [r3, #12] 80793ae: b2db uxtb r3, r3 80793b0: 4619 mov r1, r3 80793b2: 4bc0 ldr r3, [pc, #768] ; (80796b4 ) 80793b4: 799b ldrb r3, [r3, #6] 80793b6: b2db uxtb r3, r3 80793b8: 4618 mov r0, r3 80793ba: 4abf ldr r2, [pc, #764] ; (80796b8 ) 80793bc: 460b mov r3, r1 80793be: 005b lsls r3, r3, #1 80793c0: 440b add r3, r1 80793c2: 4403 add r3, r0 80793c4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80793c8: 461a mov r2, r3 80793ca: 215a movs r1, #90 ; 0x5a 80793cc: 200a movs r0, #10 80793ce: f7dc fcc5 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 80793d2: 4bb8 ldr r3, [pc, #736] ; (80796b4 ) 80793d4: 7b1b ldrb r3, [r3, #12] 80793d6: b2db uxtb r3, r3 80793d8: 4619 mov r1, r3 80793da: 4ab8 ldr r2, [pc, #736] ; (80796bc ) 80793dc: 460b mov r3, r1 80793de: 009b lsls r3, r3, #2 80793e0: 440b add r3, r1 80793e2: 009b lsls r3, r3, #2 80793e4: 4413 add r3, r2 80793e6: 3304 adds r3, #4 80793e8: 681b ldr r3, [r3, #0] 80793ea: 461a mov r2, r3 80793ec: 217a movs r1, #122 ; 0x7a 80793ee: 200a movs r0, #10 80793f0: f7dc fcb4 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 80793f4: 4baf ldr r3, [pc, #700] ; (80796b4 ) 80793f6: 7b1b ldrb r3, [r3, #12] 80793f8: b2db uxtb r3, r3 80793fa: 4619 mov r1, r3 80793fc: 4aaf ldr r2, [pc, #700] ; (80796bc ) 80793fe: 460b mov r3, r1 8079400: 009b lsls r3, r3, #2 8079402: 440b add r3, r1 8079404: 009b lsls r3, r3, #2 8079406: 4413 add r3, r2 8079408: 3308 adds r3, #8 807940a: 681b ldr r3, [r3, #0] 807940c: 461a mov r2, r3 807940e: 216a movs r1, #106 ; 0x6a 8079410: 200a movs r0, #10 8079412: f7dc fca3 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8079416: 4ba7 ldr r3, [pc, #668] ; (80796b4 ) 8079418: 7b1b ldrb r3, [r3, #12] 807941a: b2db uxtb r3, r3 807941c: 4619 mov r1, r3 807941e: 4aa7 ldr r2, [pc, #668] ; (80796bc ) 8079420: 460b mov r3, r1 8079422: 009b lsls r3, r3, #2 8079424: 440b add r3, r1 8079426: 009b lsls r3, r3, #2 8079428: 4413 add r3, r2 807942a: 330c adds r3, #12 807942c: 681b ldr r3, [r3, #0] 807942e: 461a mov r2, r3 8079430: 218a movs r1, #138 ; 0x8a 8079432: 200a movs r0, #10 8079434: f7dc fc92 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079438: 499d ldr r1, [pc, #628] ; (80796b0 ) 807943a: 48a1 ldr r0, [pc, #644] ; (80796c0 ) 807943c: f7db fee6 bl 805520c //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8079440: 4b9c ldr r3, [pc, #624] ; (80796b4 ) 8079442: 7b1b ldrb r3, [r3, #12] 8079444: b2db uxtb r3, r3 8079446: 461a mov r2, r3 8079448: 4b9e ldr r3, [pc, #632] ; (80796c4 ) 807944a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807944e: 461a mov r2, r3 8079450: 216a movs r1, #106 ; 0x6a 8079452: 20ff movs r0, #255 ; 0xff 8079454: f7dc fc9a bl 8055d8c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079458: 4995 ldr r1, [pc, #596] ; (80796b0 ) 807945a: 4899 ldr r0, [pc, #612] ; (80796c0 ) 807945c: f7db fed6 bl 805520c #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8079460: 4b94 ldr r3, [pc, #592] ; (80796b4 ) 8079462: 7b1b ldrb r3, [r3, #12] 8079464: b2db uxtb r3, r3 8079466: 4619 mov r1, r3 8079468: 4b92 ldr r3, [pc, #584] ; (80796b4 ) 807946a: 799b ldrb r3, [r3, #6] 807946c: b2db uxtb r3, r3 807946e: 4618 mov r0, r3 8079470: 4a95 ldr r2, [pc, #596] ; (80796c8 ) 8079472: 460b mov r3, r1 8079474: 005b lsls r3, r3, #1 8079476: 440b add r3, r1 8079478: 4403 add r3, r0 807947a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807947e: 461a mov r2, r3 8079480: 214a movs r1, #74 ; 0x4a 8079482: 20ff movs r0, #255 ; 0xff 8079484: f7dc fc82 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079488: 4989 ldr r1, [pc, #548] ; (80796b0 ) 807948a: 488d ldr r0, [pc, #564] ; (80796c0 ) 807948c: f7db febe bl 805520c memset(str, 0, sizeof(str)); 8079490: f507 733b add.w r3, r7, #748 ; 0x2ec 8079494: 223c movs r2, #60 ; 0x3c 8079496: 2100 movs r1, #0 8079498: 4618 mov r0, r3 807949a: f058 fd83 bl 80d1fa4 i = 0; 807949e: 2300 movs r3, #0 80794a0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 80794a4: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80794a8: b2db uxtb r3, r3 80794aa: 2b00 cmp r3, #0 80794ac: d00c beq.n 80794c8 str[i++] = ies + 48; 80794ae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80794b2: 1c5a adds r2, r3, #1 80794b4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80794b8: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 80794bc: b2d2 uxtb r2, r2 80794be: 3230 adds r2, #48 ; 0x30 80794c0: b2d1 uxtb r1, r2 80794c2: f507 723b add.w r2, r7, #748 ; 0x2ec 80794c6: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 80794c8: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80794cc: b2db uxtb r3, r3 80794ce: 2b00 cmp r3, #0 80794d0: d104 bne.n 80794dc 80794d2: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 80794d6: b2db uxtb r3, r3 80794d8: 2b00 cmp r3, #0 80794da: d00c beq.n 80794f6 str[i++] = ied + 48; 80794dc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80794e0: 1c5a adds r2, r3, #1 80794e2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80794e6: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 80794ea: b2d2 uxtb r2, r2 80794ec: 3230 adds r2, #48 ; 0x30 80794ee: b2d1 uxtb r1, r2 80794f0: f507 723b add.w r2, r7, #748 ; 0x2ec 80794f4: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 80794f6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80794fa: 1c5a adds r2, r3, #1 80794fc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079500: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8079504: b2d2 uxtb r2, r2 8079506: 3230 adds r2, #48 ; 0x30 8079508: b2d1 uxtb r1, r2 807950a: f507 723b add.w r2, r7, #748 ; 0x2ec 807950e: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8079510: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079514: 1c5a adds r2, r3, #1 8079516: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807951a: f507 723b add.w r2, r7, #748 ; 0x2ec 807951e: 212e movs r1, #46 ; 0x2e 8079520: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8079522: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079526: 1c5a adds r2, r3, #1 8079528: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807952c: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8079530: b2d2 uxtb r2, r2 8079532: 3230 adds r2, #48 ; 0x30 8079534: b2d1 uxtb r1, r2 8079536: f507 723b add.w r2, r7, #748 ; 0x2ec 807953a: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 807953c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079540: 1c5a adds r2, r3, #1 8079542: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079546: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 807954a: b2d2 uxtb r2, r2 807954c: 3230 adds r2, #48 ; 0x30 807954e: b2d1 uxtb r1, r2 8079550: f507 723b add.w r2, r7, #748 ; 0x2ec 8079554: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8079556: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807955a: 1c5a adds r2, r3, #1 807955c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079560: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8079564: b2d2 uxtb r2, r2 8079566: 3230 adds r2, #48 ; 0x30 8079568: b2d1 uxtb r1, r2 807956a: f507 723b add.w r2, r7, #748 ; 0x2ec 807956e: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8079570: f507 733b add.w r3, r7, #748 ; 0x2ec 8079574: 461a mov r2, r3 8079576: 215a movs r1, #90 ; 0x5a 8079578: 20ff movs r0, #255 ; 0xff 807957a: f7dc fc07 bl 8055d8c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807957e: 494c ldr r1, [pc, #304] ; (80796b0 ) 8079580: 4852 ldr r0, [pc, #328] ; (80796cc ) 8079582: f7db fe43 bl 805520c BSP_LCD_FillRect(60, 73, 200, 124); 8079586: 237c movs r3, #124 ; 0x7c 8079588: 22c8 movs r2, #200 ; 0xc8 807958a: 2149 movs r1, #73 ; 0x49 807958c: 203c movs r0, #60 ; 0x3c 807958e: f7dc facb bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8079592: 4947 ldr r1, [pc, #284] ; (80796b0 ) 8079594: 4846 ldr r0, [pc, #280] ; (80796b0 ) 8079596: f7db fe39 bl 805520c BSP_LCD_FillRect(61, 74, 198, 122); 807959a: 237a movs r3, #122 ; 0x7a 807959c: 22c6 movs r2, #198 ; 0xc6 807959e: 214a movs r1, #74 ; 0x4a 80795a0: 203d movs r0, #61 ; 0x3d 80795a2: f7dc fac1 bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80795a6: 4942 ldr r1, [pc, #264] ; (80796b0 ) 80795a8: f04f 30ff mov.w r0, #4294967295 80795ac: f7db fe2e bl 805520c if(NeedFormat) 80795b0: 4b47 ldr r3, [pc, #284] ; (80796d0 ) 80795b2: 781b ldrb r3, [r3, #0] 80795b4: b2db uxtb r3, r3 80795b6: 2b00 cmp r3, #0 80795b8: d030 beq.n 807961c { if(pardata.LANG == RUS) 80795ba: 4b3e ldr r3, [pc, #248] ; (80796b4 ) 80795bc: 7b1b ldrb r3, [r3, #12] 80795be: b2db uxtb r3, r3 80795c0: 2b00 cmp r3, #0 80795c2: d115 bne.n 80795f0 { BSP_LCD_SetFont(&Font12); 80795c4: 4843 ldr r0, [pc, #268] ; (80796d4 ) 80795c6: f7db fe5d bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80795ca: 4939 ldr r1, [pc, #228] ; (80796b0 ) 80795cc: f04f 30ff mov.w r0, #4294967295 80795d0: f7db fe1c bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå äèñêà.", CENTER_MODE); 80795d4: 2301 movs r3, #1 80795d6: 4a40 ldr r2, [pc, #256] ; (80796d8 ) 80795d8: 217a movs r1, #122 ; 0x7a 80795da: 20a0 movs r0, #160 ; 0xa0 80795dc: f7db fedc bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Æäèòå...", CENTER_MODE); 80795e0: 2301 movs r3, #1 80795e2: 4a3e ldr r2, [pc, #248] ; (80796dc ) 80795e4: 218a movs r1, #138 ; 0x8a 80795e6: 20a0 movs r0, #160 ; 0xa0 80795e8: f7db fed6 bl 8055398 80795ec: f000 be43 b.w 807a276 } else { BSP_LCD_SetFont(&Font12); 80795f0: 4838 ldr r0, [pc, #224] ; (80796d4 ) 80795f2: f7db fe47 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80795f6: 492e ldr r1, [pc, #184] ; (80796b0 ) 80795f8: f04f 30ff mov.w r0, #4294967295 80795fc: f7db fe06 bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Formatting the drive.", CENTER_MODE); 8079600: 2301 movs r3, #1 8079602: 4a37 ldr r2, [pc, #220] ; (80796e0 ) 8079604: 217a movs r1, #122 ; 0x7a 8079606: 20a0 movs r0, #160 ; 0xa0 8079608: f7db fec6 bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Please, wait...", CENTER_MODE); 807960c: 2301 movs r3, #1 807960e: 4a35 ldr r2, [pc, #212] ; (80796e4 ) 8079610: 218a movs r1, #138 ; 0x8a 8079612: 20a0 movs r0, #160 ; 0xa0 8079614: f7db fec0 bl 8055398 8079618: f000 be2d b.w 807a276 } } else { if(FormatStatus == AP_OK) 807961c: 4b32 ldr r3, [pc, #200] ; (80796e8 ) 807961e: 781b ldrb r3, [r3, #0] 8079620: b2db uxtb r3, r3 8079622: 2b00 cmp r3, #0 8079624: d128 bne.n 8079678 { if(pardata.LANG == RUS) 8079626: 4b23 ldr r3, [pc, #140] ; (80796b4 ) 8079628: 7b1b ldrb r3, [r3, #12] 807962a: b2db uxtb r3, r3 807962c: 2b00 cmp r3, #0 807962e: d114 bne.n 807965a { BSP_LCD_SetFont(&Font12); 8079630: 4828 ldr r0, [pc, #160] ; (80796d4 ) 8079632: f7db fe27 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079636: 491e ldr r1, [pc, #120] ; (80796b0 ) 8079638: f04f 30ff mov.w r0, #4294967295 807963c: f7db fde6 bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå çàâåðøåíî", CENTER_MODE); 8079640: 2301 movs r3, #1 8079642: 4a2a ldr r2, [pc, #168] ; (80796ec ) 8079644: 217a movs r1, #122 ; 0x7a 8079646: 20a0 movs r0, #160 ; 0xa0 8079648: f7db fea6 bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "óñïåøíî!", CENTER_MODE); 807964c: 2301 movs r3, #1 807964e: 4a28 ldr r2, [pc, #160] ; (80796f0 ) 8079650: 218a movs r1, #138 ; 0x8a 8079652: 20a0 movs r0, #160 ; 0xa0 8079654: f7db fea0 bl 8055398 8079658: e060 b.n 807971c } else { BSP_LCD_SetFont(&Font12); 807965a: 481e ldr r0, [pc, #120] ; (80796d4 ) 807965c: f7db fe12 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079660: 4913 ldr r1, [pc, #76] ; (80796b0 ) 8079662: f04f 30ff mov.w r0, #4294967295 8079666: f7db fdd1 bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Formatting successful!", CENTER_MODE); 807966a: 2301 movs r3, #1 807966c: 4a21 ldr r2, [pc, #132] ; (80796f4 ) 807966e: 218a movs r1, #138 ; 0x8a 8079670: 20a0 movs r0, #160 ; 0xa0 8079672: f7db fe91 bl 8055398 8079676: e051 b.n 807971c } } else { if(pardata.LANG == RUS) 8079678: 4b0e ldr r3, [pc, #56] ; (80796b4 ) 807967a: 7b1b ldrb r3, [r3, #12] 807967c: b2db uxtb r3, r3 807967e: 2b00 cmp r3, #0 8079680: d13e bne.n 8079700 { BSP_LCD_SetFont(&Font12); 8079682: 4814 ldr r0, [pc, #80] ; (80796d4 ) 8079684: f7db fdfe bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079688: 4909 ldr r1, [pc, #36] ; (80796b0 ) 807968a: f04f 30ff mov.w r0, #4294967295 807968e: f7db fdbd bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Îøèáêà â ïðîöåññå", CENTER_MODE); 8079692: 2301 movs r3, #1 8079694: 4a18 ldr r2, [pc, #96] ; (80796f8 ) 8079696: 217a movs r1, #122 ; 0x7a 8079698: 20a0 movs r0, #160 ; 0xa0 807969a: f7db fe7d bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "ôîðìàòèðîâàíèÿ...", CENTER_MODE); 807969e: 2301 movs r3, #1 80796a0: 4a16 ldr r2, [pc, #88] ; (80796fc ) 80796a2: 218a movs r1, #138 ; 0x8a 80796a4: 20a0 movs r0, #160 ; 0xa0 80796a6: f7db fe77 bl 8055398 80796aa: e037 b.n 807971c 80796ac: 20020070 .word 0x20020070 80796b0: ff0a0f1f .word 0xff0a0f1f 80796b4: 20023eb8 .word 0x20023eb8 80796b8: 200205dc .word 0x200205dc 80796bc: 20020684 .word 0x20020684 80796c0: ffd8aa57 .word 0xffd8aa57 80796c4: 200205c4 .word 0x200205c4 80796c8: 20020154 .word 0x20020154 80796cc: ffd3d3d3 .word 0xffd3d3d3 80796d0: 20020dfd .word 0x20020dfd 80796d4: 20020038 .word 0x20020038 80796d8: 080d6a0c .word 0x080d6a0c 80796dc: 080d68e4 .word 0x080d68e4 80796e0: 080d6a24 .word 0x080d6a24 80796e4: 080d6a3c .word 0x080d6a3c 80796e8: 20020df1 .word 0x20020df1 80796ec: 080d6a4c .word 0x080d6a4c 80796f0: 080d6a68 .word 0x080d6a68 80796f4: 080d6954 .word 0x080d6954 80796f8: 080d6a74 .word 0x080d6a74 80796fc: 080d6a88 .word 0x080d6a88 } else { BSP_LCD_SetFont(&Font12); 8079700: 487d ldr r0, [pc, #500] ; (80798f8 ) 8079702: f7db fdbf bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079706: 497d ldr r1, [pc, #500] ; (80798fc ) 8079708: f04f 30ff mov.w r0, #4294967295 807970c: f7db fd7e bl 805520c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Format error...", CENTER_MODE); 8079710: 2301 movs r3, #1 8079712: 4a7b ldr r2, [pc, #492] ; (8079900 ) 8079714: 218a movs r1, #138 ; 0x8a 8079716: 20a0 movs r0, #160 ; 0xa0 8079718: f7db fe3e bl 8055398 } } BSP_LCD_SetFont(&Font12); 807971c: 4876 ldr r0, [pc, #472] ; (80798f8 ) 807971e: f7db fdb1 bl 8055284 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8079722: 4976 ldr r1, [pc, #472] ; (80798fc ) 8079724: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8079728: f7db fd70 bl 805520c BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 807972c: 2301 movs r3, #1 807972e: 4a75 ldr r2, [pc, #468] ; (8079904 ) 8079730: 21aa movs r1, #170 ; 0xaa 8079732: 20a0 movs r0, #160 ; 0xa0 8079734: f7db fe30 bl 8055398 8079738: f000 bd9d b.w 807a276 } } else if(menupos == Ies) 807973c: 4b72 ldr r3, [pc, #456] ; (8079908 ) 807973e: 781b ldrb r3, [r3, #0] 8079740: b2db uxtb r3, r3 8079742: 2b0d cmp r3, #13 8079744: f040 80f4 bne.w 8079930 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079748: 496c ldr r1, [pc, #432] ; (80798fc ) 807974a: f04f 30ff mov.w r0, #4294967295 807974e: f7db fd5d bl 805520c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8079752: 4b6e ldr r3, [pc, #440] ; (807990c ) 8079754: 7b1b ldrb r3, [r3, #12] 8079756: b2db uxtb r3, r3 8079758: 4619 mov r1, r3 807975a: 4b6c ldr r3, [pc, #432] ; (807990c ) 807975c: 799b ldrb r3, [r3, #6] 807975e: b2db uxtb r3, r3 8079760: 4618 mov r0, r3 8079762: 4a6b ldr r2, [pc, #428] ; (8079910 ) 8079764: 460b mov r3, r1 8079766: 005b lsls r3, r3, #1 8079768: 440b add r3, r1 807976a: 4403 add r3, r0 807976c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8079770: 461a mov r2, r3 8079772: 215a movs r1, #90 ; 0x5a 8079774: 200a movs r0, #10 8079776: f7dc faf1 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 807977a: 4b64 ldr r3, [pc, #400] ; (807990c ) 807977c: 7b1b ldrb r3, [r3, #12] 807977e: b2db uxtb r3, r3 8079780: 4619 mov r1, r3 8079782: 4a64 ldr r2, [pc, #400] ; (8079914 ) 8079784: 460b mov r3, r1 8079786: 009b lsls r3, r3, #2 8079788: 440b add r3, r1 807978a: 009b lsls r3, r3, #2 807978c: 4413 add r3, r2 807978e: 3304 adds r3, #4 8079790: 681b ldr r3, [r3, #0] 8079792: 461a mov r2, r3 8079794: 217a movs r1, #122 ; 0x7a 8079796: 200a movs r0, #10 8079798: f7dc fae0 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 807979c: 4b5b ldr r3, [pc, #364] ; (807990c ) 807979e: 7b1b ldrb r3, [r3, #12] 80797a0: b2db uxtb r3, r3 80797a2: 4619 mov r1, r3 80797a4: 4a5b ldr r2, [pc, #364] ; (8079914 ) 80797a6: 460b mov r3, r1 80797a8: 009b lsls r3, r3, #2 80797aa: 440b add r3, r1 80797ac: 009b lsls r3, r3, #2 80797ae: 4413 add r3, r2 80797b0: 3308 adds r3, #8 80797b2: 681b ldr r3, [r3, #0] 80797b4: 461a mov r2, r3 80797b6: 216a movs r1, #106 ; 0x6a 80797b8: 200a movs r0, #10 80797ba: f7dc facf bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 80797be: 4b53 ldr r3, [pc, #332] ; (807990c ) 80797c0: 7b1b ldrb r3, [r3, #12] 80797c2: b2db uxtb r3, r3 80797c4: 4619 mov r1, r3 80797c6: 4a53 ldr r2, [pc, #332] ; (8079914 ) 80797c8: 460b mov r3, r1 80797ca: 009b lsls r3, r3, #2 80797cc: 440b add r3, r1 80797ce: 009b lsls r3, r3, #2 80797d0: 4413 add r3, r2 80797d2: 330c adds r3, #12 80797d4: 681b ldr r3, [r3, #0] 80797d6: 461a mov r2, r3 80797d8: 218a movs r1, #138 ; 0x8a 80797da: 200a movs r0, #10 80797dc: f7dc fabe bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80797e0: 4946 ldr r1, [pc, #280] ; (80798fc ) 80797e2: 484d ldr r0, [pc, #308] ; (8079918 ) 80797e4: f7db fd12 bl 805520c //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 80797e8: 4b48 ldr r3, [pc, #288] ; (807990c ) 80797ea: 7b1b ldrb r3, [r3, #12] 80797ec: b2db uxtb r3, r3 80797ee: 461a mov r2, r3 80797f0: 4b4a ldr r3, [pc, #296] ; (807991c ) 80797f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80797f6: 461a mov r2, r3 80797f8: 216a movs r1, #106 ; 0x6a 80797fa: 20ff movs r0, #255 ; 0xff 80797fc: f7dc fac6 bl 8055d8c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079800: 493e ldr r1, [pc, #248] ; (80798fc ) 8079802: 4845 ldr r0, [pc, #276] ; (8079918 ) 8079804: f7db fd02 bl 805520c #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8079808: 4b40 ldr r3, [pc, #256] ; (807990c ) 807980a: 7b1b ldrb r3, [r3, #12] 807980c: b2db uxtb r3, r3 807980e: 4619 mov r1, r3 8079810: 4b3e ldr r3, [pc, #248] ; (807990c ) 8079812: 799b ldrb r3, [r3, #6] 8079814: b2db uxtb r3, r3 8079816: 4618 mov r0, r3 8079818: 4a41 ldr r2, [pc, #260] ; (8079920 ) 807981a: 460b mov r3, r1 807981c: 005b lsls r3, r3, #1 807981e: 440b add r3, r1 8079820: 4403 add r3, r0 8079822: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8079826: 461a mov r2, r3 8079828: 214a movs r1, #74 ; 0x4a 807982a: 20ff movs r0, #255 ; 0xff 807982c: f7dc faae bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079830: 4932 ldr r1, [pc, #200] ; (80798fc ) 8079832: 4839 ldr r0, [pc, #228] ; (8079918 ) 8079834: f7db fcea bl 805520c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8079838: 4930 ldr r1, [pc, #192] ; (80798fc ) 807983a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807983e: f7db fce5 bl 805520c if(blk) 8079842: 4b38 ldr r3, [pc, #224] ; (8079924 ) 8079844: 681b ldr r3, [r3, #0] 8079846: 2b00 cmp r3, #0 8079848: d00b beq.n 8079862 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 807984a: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 807984e: b2db uxtb r3, r3 8079850: 461a mov r2, r3 8079852: 4b35 ldr r3, [pc, #212] ; (8079928 ) 8079854: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079858: 461a mov r2, r3 807985a: 215a movs r1, #90 ; 0x5a 807985c: 20c6 movs r0, #198 ; 0xc6 807985e: f7dc fa7d bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079862: 4926 ldr r1, [pc, #152] ; (80798fc ) 8079864: 482c ldr r0, [pc, #176] ; (8079918 ) 8079866: f7db fcd1 bl 805520c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 807986a: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 807986e: b2db uxtb r3, r3 8079870: 461a mov r2, r3 8079872: 4b2d ldr r3, [pc, #180] ; (8079928 ) 8079874: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079878: 461a mov r2, r3 807987a: 215a movs r1, #90 ; 0x5a 807987c: 20d6 movs r0, #214 ; 0xd6 807987e: f7dc fa6d bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 8079882: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8079886: b2db uxtb r3, r3 8079888: 461a mov r2, r3 807988a: 4b27 ldr r3, [pc, #156] ; (8079928 ) 807988c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079890: 461a mov r2, r3 8079892: 215a movs r1, #90 ; 0x5a 8079894: 20e6 movs r0, #230 ; 0xe6 8079896: f7dc fa61 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, "."); 807989a: 4a24 ldr r2, [pc, #144] ; (807992c ) 807989c: 215a movs r1, #90 ; 0x5a 807989e: 20f6 movs r0, #246 ; 0xf6 80798a0: f7dc fa5c bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 80798a4: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 80798a8: b2db uxtb r3, r3 80798aa: 461a mov r2, r3 80798ac: 4b1e ldr r3, [pc, #120] ; (8079928 ) 80798ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80798b2: 461a mov r2, r3 80798b4: 215a movs r1, #90 ; 0x5a 80798b6: f44f 7083 mov.w r0, #262 ; 0x106 80798ba: f7dc fa4f bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 80798be: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 80798c2: b2db uxtb r3, r3 80798c4: 461a mov r2, r3 80798c6: 4b18 ldr r3, [pc, #96] ; (8079928 ) 80798c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80798cc: 461a mov r2, r3 80798ce: 215a movs r1, #90 ; 0x5a 80798d0: f44f 708b mov.w r0, #278 ; 0x116 80798d4: f7dc fa42 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 80798d8: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 80798dc: b2db uxtb r3, r3 80798de: 461a mov r2, r3 80798e0: 4b11 ldr r3, [pc, #68] ; (8079928 ) 80798e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80798e6: 461a mov r2, r3 80798e8: 215a movs r1, #90 ; 0x5a 80798ea: f44f 7093 mov.w r0, #294 ; 0x126 80798ee: f7dc fa35 bl 8055d5c 80798f2: f000 bcc0 b.w 807a276 80798f6: bf00 nop 80798f8: 20020038 .word 0x20020038 80798fc: ff0a0f1f .word 0xff0a0f1f 8079900: 080d6a9c .word 0x080d6a9c 8079904: 080d6914 .word 0x080d6914 8079908: 20020070 .word 0x20020070 807990c: 20023eb8 .word 0x20023eb8 8079910: 200205dc .word 0x200205dc 8079914: 20020684 .word 0x20020684 8079918: ffd8aa57 .word 0xffd8aa57 807991c: 200205c4 .word 0x200205c4 8079920: 20020154 .word 0x20020154 8079924: 200216ac .word 0x200216ac 8079928: 2002096c .word 0x2002096c 807992c: 080d6258 .word 0x080d6258 } else if(menupos == Ied) 8079930: 4b6d ldr r3, [pc, #436] ; (8079ae8 ) 8079932: 781b ldrb r3, [r3, #0] 8079934: b2db uxtb r3, r3 8079936: 2b0e cmp r3, #14 8079938: f040 80ec bne.w 8079b14 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807993c: 496b ldr r1, [pc, #428] ; (8079aec ) 807993e: f04f 30ff mov.w r0, #4294967295 8079942: f7db fc63 bl 805520c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8079946: 4b6a ldr r3, [pc, #424] ; (8079af0 ) 8079948: 7b1b ldrb r3, [r3, #12] 807994a: b2db uxtb r3, r3 807994c: 4619 mov r1, r3 807994e: 4b68 ldr r3, [pc, #416] ; (8079af0 ) 8079950: 799b ldrb r3, [r3, #6] 8079952: b2db uxtb r3, r3 8079954: 4618 mov r0, r3 8079956: 4a67 ldr r2, [pc, #412] ; (8079af4 ) 8079958: 460b mov r3, r1 807995a: 005b lsls r3, r3, #1 807995c: 440b add r3, r1 807995e: 4403 add r3, r0 8079960: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8079964: 461a mov r2, r3 8079966: 215a movs r1, #90 ; 0x5a 8079968: 200a movs r0, #10 807996a: f7dc f9f7 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 807996e: 4b60 ldr r3, [pc, #384] ; (8079af0 ) 8079970: 7b1b ldrb r3, [r3, #12] 8079972: b2db uxtb r3, r3 8079974: 4619 mov r1, r3 8079976: 4a60 ldr r2, [pc, #384] ; (8079af8 ) 8079978: 460b mov r3, r1 807997a: 009b lsls r3, r3, #2 807997c: 440b add r3, r1 807997e: 009b lsls r3, r3, #2 8079980: 4413 add r3, r2 8079982: 3304 adds r3, #4 8079984: 681b ldr r3, [r3, #0] 8079986: 461a mov r2, r3 8079988: 217a movs r1, #122 ; 0x7a 807998a: 200a movs r0, #10 807998c: f7dc f9e6 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8079990: 4b57 ldr r3, [pc, #348] ; (8079af0 ) 8079992: 7b1b ldrb r3, [r3, #12] 8079994: b2db uxtb r3, r3 8079996: 4619 mov r1, r3 8079998: 4a57 ldr r2, [pc, #348] ; (8079af8 ) 807999a: 460b mov r3, r1 807999c: 009b lsls r3, r3, #2 807999e: 440b add r3, r1 80799a0: 009b lsls r3, r3, #2 80799a2: 4413 add r3, r2 80799a4: 3308 adds r3, #8 80799a6: 681b ldr r3, [r3, #0] 80799a8: 461a mov r2, r3 80799aa: 216a movs r1, #106 ; 0x6a 80799ac: 200a movs r0, #10 80799ae: f7dc f9d5 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 80799b2: 4b4f ldr r3, [pc, #316] ; (8079af0 ) 80799b4: 7b1b ldrb r3, [r3, #12] 80799b6: b2db uxtb r3, r3 80799b8: 4619 mov r1, r3 80799ba: 4a4f ldr r2, [pc, #316] ; (8079af8 ) 80799bc: 460b mov r3, r1 80799be: 009b lsls r3, r3, #2 80799c0: 440b add r3, r1 80799c2: 009b lsls r3, r3, #2 80799c4: 4413 add r3, r2 80799c6: 330c adds r3, #12 80799c8: 681b ldr r3, [r3, #0] 80799ca: 461a mov r2, r3 80799cc: 218a movs r1, #138 ; 0x8a 80799ce: 200a movs r0, #10 80799d0: f7dc f9c4 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80799d4: 4945 ldr r1, [pc, #276] ; (8079aec ) 80799d6: 4849 ldr r0, [pc, #292] ; (8079afc ) 80799d8: f7db fc18 bl 805520c //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 80799dc: 4b44 ldr r3, [pc, #272] ; (8079af0 ) 80799de: 7b1b ldrb r3, [r3, #12] 80799e0: b2db uxtb r3, r3 80799e2: 461a mov r2, r3 80799e4: 4b46 ldr r3, [pc, #280] ; (8079b00 ) 80799e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80799ea: 461a mov r2, r3 80799ec: 216a movs r1, #106 ; 0x6a 80799ee: 20ff movs r0, #255 ; 0xff 80799f0: f7dc f9cc bl 8055d8c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80799f4: 493d ldr r1, [pc, #244] ; (8079aec ) 80799f6: 4841 ldr r0, [pc, #260] ; (8079afc ) 80799f8: f7db fc08 bl 805520c #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80799fc: 4b3c ldr r3, [pc, #240] ; (8079af0 ) 80799fe: 7b1b ldrb r3, [r3, #12] 8079a00: b2db uxtb r3, r3 8079a02: 4619 mov r1, r3 8079a04: 4b3a ldr r3, [pc, #232] ; (8079af0 ) 8079a06: 799b ldrb r3, [r3, #6] 8079a08: b2db uxtb r3, r3 8079a0a: 4618 mov r0, r3 8079a0c: 4a3d ldr r2, [pc, #244] ; (8079b04 ) 8079a0e: 460b mov r3, r1 8079a10: 005b lsls r3, r3, #1 8079a12: 440b add r3, r1 8079a14: 4403 add r3, r0 8079a16: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8079a1a: 461a mov r2, r3 8079a1c: 214a movs r1, #74 ; 0x4a 8079a1e: 20ff movs r0, #255 ; 0xff 8079a20: f7dc f9b4 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079a24: 4931 ldr r1, [pc, #196] ; (8079aec ) 8079a26: 4835 ldr r0, [pc, #212] ; (8079afc ) 8079a28: f7db fbf0 bl 805520c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8079a2c: 492f ldr r1, [pc, #188] ; (8079aec ) 8079a2e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8079a32: f7db fbeb bl 805520c if(blk) 8079a36: 4b34 ldr r3, [pc, #208] ; (8079b08 ) 8079a38: 681b ldr r3, [r3, #0] 8079a3a: 2b00 cmp r3, #0 8079a3c: d00b beq.n 8079a56 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 8079a3e: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8079a42: b2db uxtb r3, r3 8079a44: 461a mov r2, r3 8079a46: 4b31 ldr r3, [pc, #196] ; (8079b0c ) 8079a48: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079a4c: 461a mov r2, r3 8079a4e: 215a movs r1, #90 ; 0x5a 8079a50: 20d6 movs r0, #214 ; 0xd6 8079a52: f7dc f983 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079a56: 4925 ldr r1, [pc, #148] ; (8079aec ) 8079a58: 4828 ldr r0, [pc, #160] ; (8079afc ) 8079a5a: f7db fbd7 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 8079a5e: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8079a62: b2db uxtb r3, r3 8079a64: 461a mov r2, r3 8079a66: 4b29 ldr r3, [pc, #164] ; (8079b0c ) 8079a68: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079a6c: 461a mov r2, r3 8079a6e: 215a movs r1, #90 ; 0x5a 8079a70: 20c6 movs r0, #198 ; 0xc6 8079a72: f7dc f973 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 8079a76: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8079a7a: b2db uxtb r3, r3 8079a7c: 461a mov r2, r3 8079a7e: 4b23 ldr r3, [pc, #140] ; (8079b0c ) 8079a80: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079a84: 461a mov r2, r3 8079a86: 215a movs r1, #90 ; 0x5a 8079a88: 20e6 movs r0, #230 ; 0xe6 8079a8a: f7dc f967 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, "."); 8079a8e: 4a20 ldr r2, [pc, #128] ; (8079b10 ) 8079a90: 215a movs r1, #90 ; 0x5a 8079a92: 20f6 movs r0, #246 ; 0xf6 8079a94: f7dc f962 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 8079a98: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8079a9c: b2db uxtb r3, r3 8079a9e: 461a mov r2, r3 8079aa0: 4b1a ldr r3, [pc, #104] ; (8079b0c ) 8079aa2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079aa6: 461a mov r2, r3 8079aa8: 215a movs r1, #90 ; 0x5a 8079aaa: f44f 7083 mov.w r0, #262 ; 0x106 8079aae: f7dc f955 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 8079ab2: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 8079ab6: b2db uxtb r3, r3 8079ab8: 461a mov r2, r3 8079aba: 4b14 ldr r3, [pc, #80] ; (8079b0c ) 8079abc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079ac0: 461a mov r2, r3 8079ac2: 215a movs r1, #90 ; 0x5a 8079ac4: f44f 708b mov.w r0, #278 ; 0x116 8079ac8: f7dc f948 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 8079acc: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 8079ad0: b2db uxtb r3, r3 8079ad2: 461a mov r2, r3 8079ad4: 4b0d ldr r3, [pc, #52] ; (8079b0c ) 8079ad6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079ada: 461a mov r2, r3 8079adc: 215a movs r1, #90 ; 0x5a 8079ade: f44f 7093 mov.w r0, #294 ; 0x126 8079ae2: f7dc f93b bl 8055d5c 8079ae6: e3c6 b.n 807a276 8079ae8: 20020070 .word 0x20020070 8079aec: ff0a0f1f .word 0xff0a0f1f 8079af0: 20023eb8 .word 0x20023eb8 8079af4: 200205dc .word 0x200205dc 8079af8: 20020684 .word 0x20020684 8079afc: ffd8aa57 .word 0xffd8aa57 8079b00: 200205c4 .word 0x200205c4 8079b04: 20020154 .word 0x20020154 8079b08: 200216ac .word 0x200216ac 8079b0c: 2002096c .word 0x2002096c 8079b10: 080d6258 .word 0x080d6258 } else if(menupos == Iee) 8079b14: 4b6d ldr r3, [pc, #436] ; (8079ccc ) 8079b16: 781b ldrb r3, [r3, #0] 8079b18: b2db uxtb r3, r3 8079b1a: 2b0f cmp r3, #15 8079b1c: f040 80ec bne.w 8079cf8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079b20: 496b ldr r1, [pc, #428] ; (8079cd0 ) 8079b22: f04f 30ff mov.w r0, #4294967295 8079b26: f7db fb71 bl 805520c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8079b2a: 4b6a ldr r3, [pc, #424] ; (8079cd4 ) 8079b2c: 7b1b ldrb r3, [r3, #12] 8079b2e: b2db uxtb r3, r3 8079b30: 4619 mov r1, r3 8079b32: 4b68 ldr r3, [pc, #416] ; (8079cd4 ) 8079b34: 799b ldrb r3, [r3, #6] 8079b36: b2db uxtb r3, r3 8079b38: 4618 mov r0, r3 8079b3a: 4a67 ldr r2, [pc, #412] ; (8079cd8 ) 8079b3c: 460b mov r3, r1 8079b3e: 005b lsls r3, r3, #1 8079b40: 440b add r3, r1 8079b42: 4403 add r3, r0 8079b44: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8079b48: 461a mov r2, r3 8079b4a: 215a movs r1, #90 ; 0x5a 8079b4c: 200a movs r0, #10 8079b4e: f7dc f905 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8079b52: 4b60 ldr r3, [pc, #384] ; (8079cd4 ) 8079b54: 7b1b ldrb r3, [r3, #12] 8079b56: b2db uxtb r3, r3 8079b58: 4619 mov r1, r3 8079b5a: 4a60 ldr r2, [pc, #384] ; (8079cdc ) 8079b5c: 460b mov r3, r1 8079b5e: 009b lsls r3, r3, #2 8079b60: 440b add r3, r1 8079b62: 009b lsls r3, r3, #2 8079b64: 4413 add r3, r2 8079b66: 3304 adds r3, #4 8079b68: 681b ldr r3, [r3, #0] 8079b6a: 461a mov r2, r3 8079b6c: 217a movs r1, #122 ; 0x7a 8079b6e: 200a movs r0, #10 8079b70: f7dc f8f4 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8079b74: 4b57 ldr r3, [pc, #348] ; (8079cd4 ) 8079b76: 7b1b ldrb r3, [r3, #12] 8079b78: b2db uxtb r3, r3 8079b7a: 4619 mov r1, r3 8079b7c: 4a57 ldr r2, [pc, #348] ; (8079cdc ) 8079b7e: 460b mov r3, r1 8079b80: 009b lsls r3, r3, #2 8079b82: 440b add r3, r1 8079b84: 009b lsls r3, r3, #2 8079b86: 4413 add r3, r2 8079b88: 3308 adds r3, #8 8079b8a: 681b ldr r3, [r3, #0] 8079b8c: 461a mov r2, r3 8079b8e: 216a movs r1, #106 ; 0x6a 8079b90: 200a movs r0, #10 8079b92: f7dc f8e3 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8079b96: 4b4f ldr r3, [pc, #316] ; (8079cd4 ) 8079b98: 7b1b ldrb r3, [r3, #12] 8079b9a: b2db uxtb r3, r3 8079b9c: 4619 mov r1, r3 8079b9e: 4a4f ldr r2, [pc, #316] ; (8079cdc ) 8079ba0: 460b mov r3, r1 8079ba2: 009b lsls r3, r3, #2 8079ba4: 440b add r3, r1 8079ba6: 009b lsls r3, r3, #2 8079ba8: 4413 add r3, r2 8079baa: 330c adds r3, #12 8079bac: 681b ldr r3, [r3, #0] 8079bae: 461a mov r2, r3 8079bb0: 218a movs r1, #138 ; 0x8a 8079bb2: 200a movs r0, #10 8079bb4: f7dc f8d2 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079bb8: 4945 ldr r1, [pc, #276] ; (8079cd0 ) 8079bba: 4849 ldr r0, [pc, #292] ; (8079ce0 ) 8079bbc: f7db fb26 bl 805520c //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8079bc0: 4b44 ldr r3, [pc, #272] ; (8079cd4 ) 8079bc2: 7b1b ldrb r3, [r3, #12] 8079bc4: b2db uxtb r3, r3 8079bc6: 461a mov r2, r3 8079bc8: 4b46 ldr r3, [pc, #280] ; (8079ce4 ) 8079bca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079bce: 461a mov r2, r3 8079bd0: 216a movs r1, #106 ; 0x6a 8079bd2: 20ff movs r0, #255 ; 0xff 8079bd4: f7dc f8da bl 8055d8c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079bd8: 493d ldr r1, [pc, #244] ; (8079cd0 ) 8079bda: 4841 ldr r0, [pc, #260] ; (8079ce0 ) 8079bdc: f7db fb16 bl 805520c #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8079be0: 4b3c ldr r3, [pc, #240] ; (8079cd4 ) 8079be2: 7b1b ldrb r3, [r3, #12] 8079be4: b2db uxtb r3, r3 8079be6: 4619 mov r1, r3 8079be8: 4b3a ldr r3, [pc, #232] ; (8079cd4 ) 8079bea: 799b ldrb r3, [r3, #6] 8079bec: b2db uxtb r3, r3 8079bee: 4618 mov r0, r3 8079bf0: 4a3d ldr r2, [pc, #244] ; (8079ce8 ) 8079bf2: 460b mov r3, r1 8079bf4: 005b lsls r3, r3, #1 8079bf6: 440b add r3, r1 8079bf8: 4403 add r3, r0 8079bfa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8079bfe: 461a mov r2, r3 8079c00: 214a movs r1, #74 ; 0x4a 8079c02: 20ff movs r0, #255 ; 0xff 8079c04: f7dc f8c2 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079c08: 4931 ldr r1, [pc, #196] ; (8079cd0 ) 8079c0a: 4835 ldr r0, [pc, #212] ; (8079ce0 ) 8079c0c: f7db fafe bl 805520c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8079c10: 492f ldr r1, [pc, #188] ; (8079cd0 ) 8079c12: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8079c16: f7db faf9 bl 805520c if(blk) 8079c1a: 4b34 ldr r3, [pc, #208] ; (8079cec ) 8079c1c: 681b ldr r3, [r3, #0] 8079c1e: 2b00 cmp r3, #0 8079c20: d00b beq.n 8079c3a LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 8079c22: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8079c26: b2db uxtb r3, r3 8079c28: 461a mov r2, r3 8079c2a: 4b31 ldr r3, [pc, #196] ; (8079cf0 ) 8079c2c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079c30: 461a mov r2, r3 8079c32: 215a movs r1, #90 ; 0x5a 8079c34: 20e6 movs r0, #230 ; 0xe6 8079c36: f7dc f891 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079c3a: 4925 ldr r1, [pc, #148] ; (8079cd0 ) 8079c3c: 4828 ldr r0, [pc, #160] ; (8079ce0 ) 8079c3e: f7db fae5 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 8079c42: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8079c46: b2db uxtb r3, r3 8079c48: 461a mov r2, r3 8079c4a: 4b29 ldr r3, [pc, #164] ; (8079cf0 ) 8079c4c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079c50: 461a mov r2, r3 8079c52: 215a movs r1, #90 ; 0x5a 8079c54: 20c6 movs r0, #198 ; 0xc6 8079c56: f7dc f881 bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 8079c5a: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8079c5e: b2db uxtb r3, r3 8079c60: 461a mov r2, r3 8079c62: 4b23 ldr r3, [pc, #140] ; (8079cf0 ) 8079c64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079c68: 461a mov r2, r3 8079c6a: 215a movs r1, #90 ; 0x5a 8079c6c: 20d6 movs r0, #214 ; 0xd6 8079c6e: f7dc f875 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, "."); 8079c72: 4a20 ldr r2, [pc, #128] ; (8079cf4 ) 8079c74: 215a movs r1, #90 ; 0x5a 8079c76: 20f6 movs r0, #246 ; 0xf6 8079c78: f7dc f870 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 8079c7c: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8079c80: b2db uxtb r3, r3 8079c82: 461a mov r2, r3 8079c84: 4b1a ldr r3, [pc, #104] ; (8079cf0 ) 8079c86: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079c8a: 461a mov r2, r3 8079c8c: 215a movs r1, #90 ; 0x5a 8079c8e: f44f 7083 mov.w r0, #262 ; 0x106 8079c92: f7dc f863 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 8079c96: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 8079c9a: b2db uxtb r3, r3 8079c9c: 461a mov r2, r3 8079c9e: 4b14 ldr r3, [pc, #80] ; (8079cf0 ) 8079ca0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079ca4: 461a mov r2, r3 8079ca6: 215a movs r1, #90 ; 0x5a 8079ca8: f44f 708b mov.w r0, #278 ; 0x116 8079cac: f7dc f856 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 8079cb0: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 8079cb4: b2db uxtb r3, r3 8079cb6: 461a mov r2, r3 8079cb8: 4b0d ldr r3, [pc, #52] ; (8079cf0 ) 8079cba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079cbe: 461a mov r2, r3 8079cc0: 215a movs r1, #90 ; 0x5a 8079cc2: f44f 7093 mov.w r0, #294 ; 0x126 8079cc6: f7dc f849 bl 8055d5c 8079cca: e2d4 b.n 807a276 8079ccc: 20020070 .word 0x20020070 8079cd0: ff0a0f1f .word 0xff0a0f1f 8079cd4: 20023eb8 .word 0x20023eb8 8079cd8: 200205dc .word 0x200205dc 8079cdc: 20020684 .word 0x20020684 8079ce0: ffd8aa57 .word 0xffd8aa57 8079ce4: 200205c4 .word 0x200205c4 8079ce8: 20020154 .word 0x20020154 8079cec: 200216ac .word 0x200216ac 8079cf0: 2002096c .word 0x2002096c 8079cf4: 080d6258 .word 0x080d6258 } else if(menupos == Ikd) 8079cf8: 4b6d ldr r3, [pc, #436] ; (8079eb0 ) 8079cfa: 781b ldrb r3, [r3, #0] 8079cfc: b2db uxtb r3, r3 8079cfe: 2b10 cmp r3, #16 8079d00: f040 80ec bne.w 8079edc { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079d04: 496b ldr r1, [pc, #428] ; (8079eb4 ) 8079d06: f04f 30ff mov.w r0, #4294967295 8079d0a: f7db fa7f bl 805520c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8079d0e: 4b6a ldr r3, [pc, #424] ; (8079eb8 ) 8079d10: 7b1b ldrb r3, [r3, #12] 8079d12: b2db uxtb r3, r3 8079d14: 4619 mov r1, r3 8079d16: 4b68 ldr r3, [pc, #416] ; (8079eb8 ) 8079d18: 799b ldrb r3, [r3, #6] 8079d1a: b2db uxtb r3, r3 8079d1c: 4618 mov r0, r3 8079d1e: 4a67 ldr r2, [pc, #412] ; (8079ebc ) 8079d20: 460b mov r3, r1 8079d22: 005b lsls r3, r3, #1 8079d24: 440b add r3, r1 8079d26: 4403 add r3, r0 8079d28: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8079d2c: 461a mov r2, r3 8079d2e: 215a movs r1, #90 ; 0x5a 8079d30: 200a movs r0, #10 8079d32: f7dc f813 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8079d36: 4b60 ldr r3, [pc, #384] ; (8079eb8 ) 8079d38: 7b1b ldrb r3, [r3, #12] 8079d3a: b2db uxtb r3, r3 8079d3c: 4619 mov r1, r3 8079d3e: 4a60 ldr r2, [pc, #384] ; (8079ec0 ) 8079d40: 460b mov r3, r1 8079d42: 009b lsls r3, r3, #2 8079d44: 440b add r3, r1 8079d46: 009b lsls r3, r3, #2 8079d48: 4413 add r3, r2 8079d4a: 3304 adds r3, #4 8079d4c: 681b ldr r3, [r3, #0] 8079d4e: 461a mov r2, r3 8079d50: 217a movs r1, #122 ; 0x7a 8079d52: 200a movs r0, #10 8079d54: f7dc f802 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8079d58: 4b57 ldr r3, [pc, #348] ; (8079eb8 ) 8079d5a: 7b1b ldrb r3, [r3, #12] 8079d5c: b2db uxtb r3, r3 8079d5e: 4619 mov r1, r3 8079d60: 4a57 ldr r2, [pc, #348] ; (8079ec0 ) 8079d62: 460b mov r3, r1 8079d64: 009b lsls r3, r3, #2 8079d66: 440b add r3, r1 8079d68: 009b lsls r3, r3, #2 8079d6a: 4413 add r3, r2 8079d6c: 3308 adds r3, #8 8079d6e: 681b ldr r3, [r3, #0] 8079d70: 461a mov r2, r3 8079d72: 216a movs r1, #106 ; 0x6a 8079d74: 200a movs r0, #10 8079d76: f7db fff1 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8079d7a: 4b4f ldr r3, [pc, #316] ; (8079eb8 ) 8079d7c: 7b1b ldrb r3, [r3, #12] 8079d7e: b2db uxtb r3, r3 8079d80: 4619 mov r1, r3 8079d82: 4a4f ldr r2, [pc, #316] ; (8079ec0 ) 8079d84: 460b mov r3, r1 8079d86: 009b lsls r3, r3, #2 8079d88: 440b add r3, r1 8079d8a: 009b lsls r3, r3, #2 8079d8c: 4413 add r3, r2 8079d8e: 330c adds r3, #12 8079d90: 681b ldr r3, [r3, #0] 8079d92: 461a mov r2, r3 8079d94: 218a movs r1, #138 ; 0x8a 8079d96: 200a movs r0, #10 8079d98: f7db ffe0 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079d9c: 4945 ldr r1, [pc, #276] ; (8079eb4 ) 8079d9e: 4849 ldr r0, [pc, #292] ; (8079ec4 ) 8079da0: f7db fa34 bl 805520c //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8079da4: 4b44 ldr r3, [pc, #272] ; (8079eb8 ) 8079da6: 7b1b ldrb r3, [r3, #12] 8079da8: b2db uxtb r3, r3 8079daa: 461a mov r2, r3 8079dac: 4b46 ldr r3, [pc, #280] ; (8079ec8 ) 8079dae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079db2: 461a mov r2, r3 8079db4: 216a movs r1, #106 ; 0x6a 8079db6: 20ff movs r0, #255 ; 0xff 8079db8: f7db ffe8 bl 8055d8c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079dbc: 493d ldr r1, [pc, #244] ; (8079eb4 ) 8079dbe: 4841 ldr r0, [pc, #260] ; (8079ec4 ) 8079dc0: f7db fa24 bl 805520c #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8079dc4: 4b3c ldr r3, [pc, #240] ; (8079eb8 ) 8079dc6: 7b1b ldrb r3, [r3, #12] 8079dc8: b2db uxtb r3, r3 8079dca: 4619 mov r1, r3 8079dcc: 4b3a ldr r3, [pc, #232] ; (8079eb8 ) 8079dce: 799b ldrb r3, [r3, #6] 8079dd0: b2db uxtb r3, r3 8079dd2: 4618 mov r0, r3 8079dd4: 4a3d ldr r2, [pc, #244] ; (8079ecc ) 8079dd6: 460b mov r3, r1 8079dd8: 005b lsls r3, r3, #1 8079dda: 440b add r3, r1 8079ddc: 4403 add r3, r0 8079dde: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8079de2: 461a mov r2, r3 8079de4: 214a movs r1, #74 ; 0x4a 8079de6: 20ff movs r0, #255 ; 0xff 8079de8: f7db ffd0 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079dec: 4931 ldr r1, [pc, #196] ; (8079eb4 ) 8079dee: 4835 ldr r0, [pc, #212] ; (8079ec4 ) 8079df0: f7db fa0c bl 805520c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8079df4: 492f ldr r1, [pc, #188] ; (8079eb4 ) 8079df6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8079dfa: f7db fa07 bl 805520c if(blk) 8079dfe: 4b34 ldr r3, [pc, #208] ; (8079ed0 ) 8079e00: 681b ldr r3, [r3, #0] 8079e02: 2b00 cmp r3, #0 8079e04: d00c beq.n 8079e20 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 8079e06: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8079e0a: b2db uxtb r3, r3 8079e0c: 461a mov r2, r3 8079e0e: 4b31 ldr r3, [pc, #196] ; (8079ed4 ) 8079e10: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079e14: 461a mov r2, r3 8079e16: 215a movs r1, #90 ; 0x5a 8079e18: f44f 7083 mov.w r0, #262 ; 0x106 8079e1c: f7db ff9e bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079e20: 4924 ldr r1, [pc, #144] ; (8079eb4 ) 8079e22: 4828 ldr r0, [pc, #160] ; (8079ec4 ) 8079e24: f7db f9f2 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 8079e28: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8079e2c: b2db uxtb r3, r3 8079e2e: 461a mov r2, r3 8079e30: 4b28 ldr r3, [pc, #160] ; (8079ed4 ) 8079e32: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079e36: 461a mov r2, r3 8079e38: 215a movs r1, #90 ; 0x5a 8079e3a: 20c6 movs r0, #198 ; 0xc6 8079e3c: f7db ff8e bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 8079e40: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8079e44: b2db uxtb r3, r3 8079e46: 461a mov r2, r3 8079e48: 4b22 ldr r3, [pc, #136] ; (8079ed4 ) 8079e4a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079e4e: 461a mov r2, r3 8079e50: 215a movs r1, #90 ; 0x5a 8079e52: 20d6 movs r0, #214 ; 0xd6 8079e54: f7db ff82 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 8079e58: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8079e5c: b2db uxtb r3, r3 8079e5e: 461a mov r2, r3 8079e60: 4b1c ldr r3, [pc, #112] ; (8079ed4 ) 8079e62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079e66: 461a mov r2, r3 8079e68: 215a movs r1, #90 ; 0x5a 8079e6a: 20e6 movs r0, #230 ; 0xe6 8079e6c: f7db ff76 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, "."); 8079e70: 4a19 ldr r2, [pc, #100] ; (8079ed8 ) 8079e72: 215a movs r1, #90 ; 0x5a 8079e74: 20f6 movs r0, #246 ; 0xf6 8079e76: f7db ff71 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 8079e7a: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 8079e7e: b2db uxtb r3, r3 8079e80: 461a mov r2, r3 8079e82: 4b14 ldr r3, [pc, #80] ; (8079ed4 ) 8079e84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079e88: 461a mov r2, r3 8079e8a: 215a movs r1, #90 ; 0x5a 8079e8c: f44f 708b mov.w r0, #278 ; 0x116 8079e90: f7db ff64 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 8079e94: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 8079e98: b2db uxtb r3, r3 8079e9a: 461a mov r2, r3 8079e9c: 4b0d ldr r3, [pc, #52] ; (8079ed4 ) 8079e9e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079ea2: 461a mov r2, r3 8079ea4: 215a movs r1, #90 ; 0x5a 8079ea6: f44f 7093 mov.w r0, #294 ; 0x126 8079eaa: f7db ff57 bl 8055d5c 8079eae: e1e2 b.n 807a276 8079eb0: 20020070 .word 0x20020070 8079eb4: ff0a0f1f .word 0xff0a0f1f 8079eb8: 20023eb8 .word 0x20023eb8 8079ebc: 200205dc .word 0x200205dc 8079ec0: 20020684 .word 0x20020684 8079ec4: ffd8aa57 .word 0xffd8aa57 8079ec8: 200205c4 .word 0x200205c4 8079ecc: 20020154 .word 0x20020154 8079ed0: 200216ac .word 0x200216ac 8079ed4: 2002096c .word 0x2002096c 8079ed8: 080d6258 .word 0x080d6258 } else if(menupos == Iks) 8079edc: 4b6d ldr r3, [pc, #436] ; (807a094 ) 8079ede: 781b ldrb r3, [r3, #0] 8079ee0: b2db uxtb r3, r3 8079ee2: 2b11 cmp r3, #17 8079ee4: f040 80ec bne.w 807a0c0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079ee8: 496b ldr r1, [pc, #428] ; (807a098 ) 8079eea: f04f 30ff mov.w r0, #4294967295 8079eee: f7db f98d bl 805520c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8079ef2: 4b6a ldr r3, [pc, #424] ; (807a09c ) 8079ef4: 7b1b ldrb r3, [r3, #12] 8079ef6: b2db uxtb r3, r3 8079ef8: 4619 mov r1, r3 8079efa: 4b68 ldr r3, [pc, #416] ; (807a09c ) 8079efc: 799b ldrb r3, [r3, #6] 8079efe: b2db uxtb r3, r3 8079f00: 4618 mov r0, r3 8079f02: 4a67 ldr r2, [pc, #412] ; (807a0a0 ) 8079f04: 460b mov r3, r1 8079f06: 005b lsls r3, r3, #1 8079f08: 440b add r3, r1 8079f0a: 4403 add r3, r0 8079f0c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8079f10: 461a mov r2, r3 8079f12: 215a movs r1, #90 ; 0x5a 8079f14: 200a movs r0, #10 8079f16: f7db ff21 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8079f1a: 4b60 ldr r3, [pc, #384] ; (807a09c ) 8079f1c: 7b1b ldrb r3, [r3, #12] 8079f1e: b2db uxtb r3, r3 8079f20: 4619 mov r1, r3 8079f22: 4a60 ldr r2, [pc, #384] ; (807a0a4 ) 8079f24: 460b mov r3, r1 8079f26: 009b lsls r3, r3, #2 8079f28: 440b add r3, r1 8079f2a: 009b lsls r3, r3, #2 8079f2c: 4413 add r3, r2 8079f2e: 3304 adds r3, #4 8079f30: 681b ldr r3, [r3, #0] 8079f32: 461a mov r2, r3 8079f34: 217a movs r1, #122 ; 0x7a 8079f36: 200a movs r0, #10 8079f38: f7db ff10 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8079f3c: 4b57 ldr r3, [pc, #348] ; (807a09c ) 8079f3e: 7b1b ldrb r3, [r3, #12] 8079f40: b2db uxtb r3, r3 8079f42: 4619 mov r1, r3 8079f44: 4a57 ldr r2, [pc, #348] ; (807a0a4 ) 8079f46: 460b mov r3, r1 8079f48: 009b lsls r3, r3, #2 8079f4a: 440b add r3, r1 8079f4c: 009b lsls r3, r3, #2 8079f4e: 4413 add r3, r2 8079f50: 3308 adds r3, #8 8079f52: 681b ldr r3, [r3, #0] 8079f54: 461a mov r2, r3 8079f56: 216a movs r1, #106 ; 0x6a 8079f58: 200a movs r0, #10 8079f5a: f7db feff bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8079f5e: 4b4f ldr r3, [pc, #316] ; (807a09c ) 8079f60: 7b1b ldrb r3, [r3, #12] 8079f62: b2db uxtb r3, r3 8079f64: 4619 mov r1, r3 8079f66: 4a4f ldr r2, [pc, #316] ; (807a0a4 ) 8079f68: 460b mov r3, r1 8079f6a: 009b lsls r3, r3, #2 8079f6c: 440b add r3, r1 8079f6e: 009b lsls r3, r3, #2 8079f70: 4413 add r3, r2 8079f72: 330c adds r3, #12 8079f74: 681b ldr r3, [r3, #0] 8079f76: 461a mov r2, r3 8079f78: 218a movs r1, #138 ; 0x8a 8079f7a: 200a movs r0, #10 8079f7c: f7db feee bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079f80: 4945 ldr r1, [pc, #276] ; (807a098 ) 8079f82: 4849 ldr r0, [pc, #292] ; (807a0a8 ) 8079f84: f7db f942 bl 805520c //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8079f88: 4b44 ldr r3, [pc, #272] ; (807a09c ) 8079f8a: 7b1b ldrb r3, [r3, #12] 8079f8c: b2db uxtb r3, r3 8079f8e: 461a mov r2, r3 8079f90: 4b46 ldr r3, [pc, #280] ; (807a0ac ) 8079f92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079f96: 461a mov r2, r3 8079f98: 216a movs r1, #106 ; 0x6a 8079f9a: 20ff movs r0, #255 ; 0xff 8079f9c: f7db fef6 bl 8055d8c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079fa0: 493d ldr r1, [pc, #244] ; (807a098 ) 8079fa2: 4841 ldr r0, [pc, #260] ; (807a0a8 ) 8079fa4: f7db f932 bl 805520c #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8079fa8: 4b3c ldr r3, [pc, #240] ; (807a09c ) 8079faa: 7b1b ldrb r3, [r3, #12] 8079fac: b2db uxtb r3, r3 8079fae: 4619 mov r1, r3 8079fb0: 4b3a ldr r3, [pc, #232] ; (807a09c ) 8079fb2: 799b ldrb r3, [r3, #6] 8079fb4: b2db uxtb r3, r3 8079fb6: 4618 mov r0, r3 8079fb8: 4a3d ldr r2, [pc, #244] ; (807a0b0 ) 8079fba: 460b mov r3, r1 8079fbc: 005b lsls r3, r3, #1 8079fbe: 440b add r3, r1 8079fc0: 4403 add r3, r0 8079fc2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8079fc6: 461a mov r2, r3 8079fc8: 214a movs r1, #74 ; 0x4a 8079fca: 20ff movs r0, #255 ; 0xff 8079fcc: f7db fede bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079fd0: 4931 ldr r1, [pc, #196] ; (807a098 ) 8079fd2: 4835 ldr r0, [pc, #212] ; (807a0a8 ) 8079fd4: f7db f91a bl 805520c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8079fd8: 492f ldr r1, [pc, #188] ; (807a098 ) 8079fda: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8079fde: f7db f915 bl 805520c if(blk) 8079fe2: 4b34 ldr r3, [pc, #208] ; (807a0b4 ) 8079fe4: 681b ldr r3, [r3, #0] 8079fe6: 2b00 cmp r3, #0 8079fe8: d00c beq.n 807a004 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 8079fea: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 8079fee: b2db uxtb r3, r3 8079ff0: 461a mov r2, r3 8079ff2: 4b31 ldr r3, [pc, #196] ; (807a0b8 ) 8079ff4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079ff8: 461a mov r2, r3 8079ffa: 215a movs r1, #90 ; 0x5a 8079ffc: f44f 708b mov.w r0, #278 ; 0x116 807a000: f7db feac bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a004: 4924 ldr r1, [pc, #144] ; (807a098 ) 807a006: 4828 ldr r0, [pc, #160] ; (807a0a8 ) 807a008: f7db f900 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 807a00c: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 807a010: b2db uxtb r3, r3 807a012: 461a mov r2, r3 807a014: 4b28 ldr r3, [pc, #160] ; (807a0b8 ) 807a016: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807a01a: 461a mov r2, r3 807a01c: 215a movs r1, #90 ; 0x5a 807a01e: 20c6 movs r0, #198 ; 0xc6 807a020: f7db fe9c bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 807a024: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 807a028: b2db uxtb r3, r3 807a02a: 461a mov r2, r3 807a02c: 4b22 ldr r3, [pc, #136] ; (807a0b8 ) 807a02e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807a032: 461a mov r2, r3 807a034: 215a movs r1, #90 ; 0x5a 807a036: 20d6 movs r0, #214 ; 0xd6 807a038: f7db fe90 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 807a03c: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 807a040: b2db uxtb r3, r3 807a042: 461a mov r2, r3 807a044: 4b1c ldr r3, [pc, #112] ; (807a0b8 ) 807a046: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807a04a: 461a mov r2, r3 807a04c: 215a movs r1, #90 ; 0x5a 807a04e: 20e6 movs r0, #230 ; 0xe6 807a050: f7db fe84 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, "."); 807a054: 4a19 ldr r2, [pc, #100] ; (807a0bc ) 807a056: 215a movs r1, #90 ; 0x5a 807a058: 20f6 movs r0, #246 ; 0xf6 807a05a: f7db fe7f bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 807a05e: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 807a062: b2db uxtb r3, r3 807a064: 461a mov r2, r3 807a066: 4b14 ldr r3, [pc, #80] ; (807a0b8 ) 807a068: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807a06c: 461a mov r2, r3 807a06e: 215a movs r1, #90 ; 0x5a 807a070: f44f 7083 mov.w r0, #262 ; 0x106 807a074: f7db fe72 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 807a078: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 807a07c: b2db uxtb r3, r3 807a07e: 461a mov r2, r3 807a080: 4b0d ldr r3, [pc, #52] ; (807a0b8 ) 807a082: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807a086: 461a mov r2, r3 807a088: 215a movs r1, #90 ; 0x5a 807a08a: f44f 7093 mov.w r0, #294 ; 0x126 807a08e: f7db fe65 bl 8055d5c 807a092: e0f0 b.n 807a276 807a094: 20020070 .word 0x20020070 807a098: ff0a0f1f .word 0xff0a0f1f 807a09c: 20023eb8 .word 0x20023eb8 807a0a0: 200205dc .word 0x200205dc 807a0a4: 20020684 .word 0x20020684 807a0a8: ffd8aa57 .word 0xffd8aa57 807a0ac: 200205c4 .word 0x200205c4 807a0b0: 20020154 .word 0x20020154 807a0b4: 200216ac .word 0x200216ac 807a0b8: 2002096c .word 0x2002096c 807a0bc: 080d6258 .word 0x080d6258 } else if(menupos == Ikt) 807a0c0: 4b77 ldr r3, [pc, #476] ; (807a2a0 ) 807a0c2: 781b ldrb r3, [r3, #0] 807a0c4: b2db uxtb r3, r3 807a0c6: 2b12 cmp r3, #18 807a0c8: f040 80d5 bne.w 807a276 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a0cc: 4975 ldr r1, [pc, #468] ; (807a2a4 ) 807a0ce: f04f 30ff mov.w r0, #4294967295 807a0d2: f7db f89b bl 805520c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 807a0d6: 4b74 ldr r3, [pc, #464] ; (807a2a8 ) 807a0d8: 7b1b ldrb r3, [r3, #12] 807a0da: b2db uxtb r3, r3 807a0dc: 4619 mov r1, r3 807a0de: 4b72 ldr r3, [pc, #456] ; (807a2a8 ) 807a0e0: 799b ldrb r3, [r3, #6] 807a0e2: b2db uxtb r3, r3 807a0e4: 4618 mov r0, r3 807a0e6: 4a71 ldr r2, [pc, #452] ; (807a2ac ) 807a0e8: 460b mov r3, r1 807a0ea: 005b lsls r3, r3, #1 807a0ec: 440b add r3, r1 807a0ee: 4403 add r3, r0 807a0f0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a0f4: 461a mov r2, r3 807a0f6: 215a movs r1, #90 ; 0x5a 807a0f8: 200a movs r0, #10 807a0fa: f7db fe2f bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 807a0fe: 4b6a ldr r3, [pc, #424] ; (807a2a8 ) 807a100: 7b1b ldrb r3, [r3, #12] 807a102: b2db uxtb r3, r3 807a104: 4619 mov r1, r3 807a106: 4a6a ldr r2, [pc, #424] ; (807a2b0 ) 807a108: 460b mov r3, r1 807a10a: 009b lsls r3, r3, #2 807a10c: 440b add r3, r1 807a10e: 009b lsls r3, r3, #2 807a110: 4413 add r3, r2 807a112: 3304 adds r3, #4 807a114: 681b ldr r3, [r3, #0] 807a116: 461a mov r2, r3 807a118: 217a movs r1, #122 ; 0x7a 807a11a: 200a movs r0, #10 807a11c: f7db fe1e bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 807a120: 4b61 ldr r3, [pc, #388] ; (807a2a8 ) 807a122: 7b1b ldrb r3, [r3, #12] 807a124: b2db uxtb r3, r3 807a126: 4619 mov r1, r3 807a128: 4a61 ldr r2, [pc, #388] ; (807a2b0 ) 807a12a: 460b mov r3, r1 807a12c: 009b lsls r3, r3, #2 807a12e: 440b add r3, r1 807a130: 009b lsls r3, r3, #2 807a132: 4413 add r3, r2 807a134: 3308 adds r3, #8 807a136: 681b ldr r3, [r3, #0] 807a138: 461a mov r2, r3 807a13a: 216a movs r1, #106 ; 0x6a 807a13c: 200a movs r0, #10 807a13e: f7db fe0d bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 807a142: 4b59 ldr r3, [pc, #356] ; (807a2a8 ) 807a144: 7b1b ldrb r3, [r3, #12] 807a146: b2db uxtb r3, r3 807a148: 4619 mov r1, r3 807a14a: 4a59 ldr r2, [pc, #356] ; (807a2b0 ) 807a14c: 460b mov r3, r1 807a14e: 009b lsls r3, r3, #2 807a150: 440b add r3, r1 807a152: 009b lsls r3, r3, #2 807a154: 4413 add r3, r2 807a156: 330c adds r3, #12 807a158: 681b ldr r3, [r3, #0] 807a15a: 461a mov r2, r3 807a15c: 218a movs r1, #138 ; 0x8a 807a15e: 200a movs r0, #10 807a160: f7db fdfc bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a164: 494f ldr r1, [pc, #316] ; (807a2a4 ) 807a166: 4853 ldr r0, [pc, #332] ; (807a2b4 ) 807a168: f7db f850 bl 805520c //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 807a16c: 4b4e ldr r3, [pc, #312] ; (807a2a8 ) 807a16e: 7b1b ldrb r3, [r3, #12] 807a170: b2db uxtb r3, r3 807a172: 461a mov r2, r3 807a174: 4b50 ldr r3, [pc, #320] ; (807a2b8 ) 807a176: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807a17a: 461a mov r2, r3 807a17c: 216a movs r1, #106 ; 0x6a 807a17e: 20ff movs r0, #255 ; 0xff 807a180: f7db fe04 bl 8055d8c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a184: 4947 ldr r1, [pc, #284] ; (807a2a4 ) 807a186: 484b ldr r0, [pc, #300] ; (807a2b4 ) 807a188: f7db f840 bl 805520c #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 807a18c: 4b46 ldr r3, [pc, #280] ; (807a2a8 ) 807a18e: 7b1b ldrb r3, [r3, #12] 807a190: b2db uxtb r3, r3 807a192: 4619 mov r1, r3 807a194: 4b44 ldr r3, [pc, #272] ; (807a2a8 ) 807a196: 799b ldrb r3, [r3, #6] 807a198: b2db uxtb r3, r3 807a19a: 4618 mov r0, r3 807a19c: 4a47 ldr r2, [pc, #284] ; (807a2bc ) 807a19e: 460b mov r3, r1 807a1a0: 005b lsls r3, r3, #1 807a1a2: 440b add r3, r1 807a1a4: 4403 add r3, r0 807a1a6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a1aa: 461a mov r2, r3 807a1ac: 214a movs r1, #74 ; 0x4a 807a1ae: 20ff movs r0, #255 ; 0xff 807a1b0: f7db fdec bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a1b4: 493b ldr r1, [pc, #236] ; (807a2a4 ) 807a1b6: 483f ldr r0, [pc, #252] ; (807a2b4 ) 807a1b8: f7db f828 bl 805520c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807a1bc: 4939 ldr r1, [pc, #228] ; (807a2a4 ) 807a1be: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807a1c2: f7db f823 bl 805520c if(blk) 807a1c6: 4b3e ldr r3, [pc, #248] ; (807a2c0 ) 807a1c8: 681b ldr r3, [r3, #0] 807a1ca: 2b00 cmp r3, #0 807a1cc: d00c beq.n 807a1e8 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 807a1ce: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 807a1d2: b2db uxtb r3, r3 807a1d4: 461a mov r2, r3 807a1d6: 4b3b ldr r3, [pc, #236] ; (807a2c4 ) 807a1d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807a1dc: 461a mov r2, r3 807a1de: 215a movs r1, #90 ; 0x5a 807a1e0: f44f 7093 mov.w r0, #294 ; 0x126 807a1e4: f7db fdba bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a1e8: 492e ldr r1, [pc, #184] ; (807a2a4 ) 807a1ea: 4832 ldr r0, [pc, #200] ; (807a2b4 ) 807a1ec: f7db f80e bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 807a1f0: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 807a1f4: b2db uxtb r3, r3 807a1f6: 461a mov r2, r3 807a1f8: 4b32 ldr r3, [pc, #200] ; (807a2c4 ) 807a1fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807a1fe: 461a mov r2, r3 807a200: 215a movs r1, #90 ; 0x5a 807a202: 20c6 movs r0, #198 ; 0xc6 807a204: f7db fdaa bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 807a208: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 807a20c: b2db uxtb r3, r3 807a20e: 461a mov r2, r3 807a210: 4b2c ldr r3, [pc, #176] ; (807a2c4 ) 807a212: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807a216: 461a mov r2, r3 807a218: 215a movs r1, #90 ; 0x5a 807a21a: 20d6 movs r0, #214 ; 0xd6 807a21c: f7db fd9e bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 807a220: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 807a224: b2db uxtb r3, r3 807a226: 461a mov r2, r3 807a228: 4b26 ldr r3, [pc, #152] ; (807a2c4 ) 807a22a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807a22e: 461a mov r2, r3 807a230: 215a movs r1, #90 ; 0x5a 807a232: 20e6 movs r0, #230 ; 0xe6 807a234: f7db fd92 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, "."); 807a238: 4a23 ldr r2, [pc, #140] ; (807a2c8 ) 807a23a: 215a movs r1, #90 ; 0x5a 807a23c: 20f6 movs r0, #246 ; 0xf6 807a23e: f7db fd8d bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 807a242: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 807a246: b2db uxtb r3, r3 807a248: 461a mov r2, r3 807a24a: 4b1e ldr r3, [pc, #120] ; (807a2c4 ) 807a24c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807a250: 461a mov r2, r3 807a252: 215a movs r1, #90 ; 0x5a 807a254: f44f 7083 mov.w r0, #262 ; 0x106 807a258: f7db fd80 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 807a25c: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 807a260: b2db uxtb r3, r3 807a262: 461a mov r2, r3 807a264: 4b17 ldr r3, [pc, #92] ; (807a2c4 ) 807a266: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807a26a: 461a mov r2, r3 807a26c: 215a movs r1, #90 ; 0x5a 807a26e: f44f 708b mov.w r0, #278 ; 0x116 807a272: f7db fd73 bl 8055d5c BSP_LCD_FillRect(257, CHECKBOX_LINE_10+2, 6, 6); } #endif #else #ifdef USE_TEMPERATURE if(pardata.OPTIONS & BIT8) // Åñëè Pyrometer 807a276: 4b0c ldr r3, [pc, #48] ; (807a2a8 ) 807a278: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807a27c: f403 7380 and.w r3, r3, #256 ; 0x100 807a280: 2b00 cmp r3, #0 807a282: f01e 87b4 beq.w 80991ee { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 807a286: 4907 ldr r1, [pc, #28] ; (807a2a4 ) 807a288: 4810 ldr r0, [pc, #64] ; (807a2cc ) 807a28a: f7da ffbf bl 805520c BSP_LCD_FillRect(257, CHECKBOX_LINE_9+2, 6, 6); 807a28e: 2306 movs r3, #6 807a290: 2206 movs r2, #6 807a292: 219f movs r1, #159 ; 0x9f 807a294: f240 1001 movw r0, #257 ; 0x101 807a298: f7db fc46 bl 8055b28 #endif #endif break; 807a29c: f01e bfa7 b.w 80991ee 807a2a0: 20020070 .word 0x20020070 807a2a4: ff0a0f1f .word 0xff0a0f1f 807a2a8: 20023eb8 .word 0x20023eb8 807a2ac: 200205dc .word 0x200205dc 807a2b0: 20020684 .word 0x20020684 807a2b4: ffd8aa57 .word 0xffd8aa57 807a2b8: 200205c4 .word 0x200205c4 807a2bc: 20020154 .word 0x20020154 807a2c0: 200216ac .word 0x200216ac 807a2c4: 2002096c .word 0x2002096c 807a2c8: 080d6258 .word 0x080d6258 807a2cc: ff404040 .word 0xff404040 case DATETIME: // LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807a2d0: 4983 ldr r1, [pc, #524] ; (807a4e0 ) 807a2d2: 4884 ldr r0, [pc, #528] ; (807a4e4 ) 807a2d4: f7da ff9a bl 805520c BSP_LCD_DrawRect(2, 35, 314, 201); 807a2d8: 23c9 movs r3, #201 ; 0xc9 807a2da: f44f 729d mov.w r2, #314 ; 0x13a 807a2de: 2123 movs r1, #35 ; 0x23 807a2e0: 2002 movs r0, #2 807a2e2: f7db fa99 bl 8055818 Hours = RTC_TimeStruct.Hours; 807a2e6: 4b80 ldr r3, [pc, #512] ; (807a4e8 ) 807a2e8: 781b ldrb r3, [r3, #0] 807a2ea: 461a mov r2, r3 807a2ec: 4b7f ldr r3, [pc, #508] ; (807a4ec ) 807a2ee: 601a str r2, [r3, #0] Minutes = RTC_TimeStruct.Minutes; 807a2f0: 4b7d ldr r3, [pc, #500] ; (807a4e8 ) 807a2f2: 785b ldrb r3, [r3, #1] 807a2f4: 461a mov r2, r3 807a2f6: 4b7e ldr r3, [pc, #504] ; (807a4f0 ) 807a2f8: 601a str r2, [r3, #0] i = RTC_DateStruct.Date; 807a2fa: 4b7e ldr r3, [pc, #504] ; (807a4f4 ) 807a2fc: 789b ldrb r3, [r3, #2] 807a2fe: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 j = RTC_DateStruct.Month; 807a302: 4b7c ldr r3, [pc, #496] ; (807a4f4 ) 807a304: 785b ldrb r3, [r3, #1] 807a306: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc k = RTC_DateStruct.Year; 807a30a: 4b7a ldr r3, [pc, #488] ; (807a4f4 ) 807a30c: 78db ldrb r3, [r3, #3] 807a30e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(menupos == DateAll) 807a312: 4b79 ldr r3, [pc, #484] ; (807a4f8 ) 807a314: 781b ldrb r3, [r3, #0] 807a316: b2db uxtb r3, r3 807a318: 2b01 cmp r3, #1 807a31a: f040 80f7 bne.w 807a50c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a31e: 4970 ldr r1, [pc, #448] ; (807a4e0 ) 807a320: f04f 30ff mov.w r0, #4294967295 807a324: f7da ff72 bl 805520c LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]);//"Äàòà(ÄÄ.ÌÌ.ÃÃ)" 807a328: 4b74 ldr r3, [pc, #464] ; (807a4fc ) 807a32a: 7b1b ldrb r3, [r3, #12] 807a32c: b2db uxtb r3, r3 807a32e: 461a mov r2, r3 807a330: 4b73 ldr r3, [pc, #460] ; (807a500 ) 807a332: f853 3032 ldr.w r3, [r3, r2, lsl #3] 807a336: 461a mov r2, r3 807a338: 214a movs r1, #74 ; 0x4a 807a33a: 200a movs r0, #10 807a33c: f7db fd0e bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]);//"Âðåìÿ(××:ÌÌ)" 807a340: 4b6e ldr r3, [pc, #440] ; (807a4fc ) 807a342: 7b1b ldrb r3, [r3, #12] 807a344: b2db uxtb r3, r3 807a346: 4a6e ldr r2, [pc, #440] ; (807a500 ) 807a348: 00db lsls r3, r3, #3 807a34a: 4413 add r3, r2 807a34c: 685b ldr r3, [r3, #4] 807a34e: 461a mov r2, r3 807a350: 215a movs r1, #90 ; 0x5a 807a352: 200a movs r0, #10 807a354: f7db fd02 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807a358: 4961 ldr r1, [pc, #388] ; (807a4e0 ) 807a35a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807a35e: f7da ff55 bl 805520c memset(str, 0, sizeof(str)); 807a362: f507 733b add.w r3, r7, #748 ; 0x2ec 807a366: 223c movs r2, #60 ; 0x3c 807a368: 2100 movs r1, #0 807a36a: 4618 mov r0, r3 807a36c: f057 fe1a bl 80d1fa4 str[0] = (i / 10) + 48; 807a370: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807a374: 4a63 ldr r2, [pc, #396] ; (807a504 ) 807a376: fba2 2303 umull r2, r3, r2, r3 807a37a: 08db lsrs r3, r3, #3 807a37c: b2db uxtb r3, r3 807a37e: 3330 adds r3, #48 ; 0x30 807a380: b2da uxtb r2, r3 807a382: f507 733b add.w r3, r7, #748 ; 0x2ec 807a386: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 807a388: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 807a38c: 4b5d ldr r3, [pc, #372] ; (807a504 ) 807a38e: fba3 2301 umull r2, r3, r3, r1 807a392: 08da lsrs r2, r3, #3 807a394: 4613 mov r3, r2 807a396: 009b lsls r3, r3, #2 807a398: 4413 add r3, r2 807a39a: 005b lsls r3, r3, #1 807a39c: 1aca subs r2, r1, r3 807a39e: b2d3 uxtb r3, r2 807a3a0: 3330 adds r3, #48 ; 0x30 807a3a2: b2da uxtb r2, r3 807a3a4: f507 733b add.w r3, r7, #748 ; 0x2ec 807a3a8: 705a strb r2, [r3, #1] str[2] = '.'; 807a3aa: f507 733b add.w r3, r7, #748 ; 0x2ec 807a3ae: 222e movs r2, #46 ; 0x2e 807a3b0: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 807a3b2: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 807a3b6: 4a53 ldr r2, [pc, #332] ; (807a504 ) 807a3b8: fba2 2303 umull r2, r3, r2, r3 807a3bc: 08db lsrs r3, r3, #3 807a3be: b2db uxtb r3, r3 807a3c0: 3330 adds r3, #48 ; 0x30 807a3c2: b2da uxtb r2, r3 807a3c4: f507 733b add.w r3, r7, #748 ; 0x2ec 807a3c8: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 807a3ca: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 807a3ce: 4b4d ldr r3, [pc, #308] ; (807a504 ) 807a3d0: fba3 2301 umull r2, r3, r3, r1 807a3d4: 08da lsrs r2, r3, #3 807a3d6: 4613 mov r3, r2 807a3d8: 009b lsls r3, r3, #2 807a3da: 4413 add r3, r2 807a3dc: 005b lsls r3, r3, #1 807a3de: 1aca subs r2, r1, r3 807a3e0: b2d3 uxtb r3, r2 807a3e2: 3330 adds r3, #48 ; 0x30 807a3e4: b2da uxtb r2, r3 807a3e6: f507 733b add.w r3, r7, #748 ; 0x2ec 807a3ea: 711a strb r2, [r3, #4] str[5] = '.'; 807a3ec: f507 733b add.w r3, r7, #748 ; 0x2ec 807a3f0: 222e movs r2, #46 ; 0x2e 807a3f2: 715a strb r2, [r3, #5] str[6] = (k / 10) + 48; 807a3f4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807a3f8: 4a42 ldr r2, [pc, #264] ; (807a504 ) 807a3fa: fba2 2303 umull r2, r3, r2, r3 807a3fe: 08db lsrs r3, r3, #3 807a400: b2db uxtb r3, r3 807a402: 3330 adds r3, #48 ; 0x30 807a404: b2da uxtb r2, r3 807a406: f507 733b add.w r3, r7, #748 ; 0x2ec 807a40a: 719a strb r2, [r3, #6] str[7] = (k % 10) + 48; 807a40c: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 807a410: 4b3c ldr r3, [pc, #240] ; (807a504 ) 807a412: fba3 2301 umull r2, r3, r3, r1 807a416: 08da lsrs r2, r3, #3 807a418: 4613 mov r3, r2 807a41a: 009b lsls r3, r3, #2 807a41c: 4413 add r3, r2 807a41e: 005b lsls r3, r3, #1 807a420: 1aca subs r2, r1, r3 807a422: b2d3 uxtb r3, r2 807a424: 3330 adds r3, #48 ; 0x30 807a426: b2da uxtb r2, r3 807a428: f507 733b add.w r3, r7, #748 ; 0x2ec 807a42c: 71da strb r2, [r3, #7] LCD_DisplayString(203, LCD_LINE_4, str); 807a42e: f507 733b add.w r3, r7, #748 ; 0x2ec 807a432: 461a mov r2, r3 807a434: 214a movs r1, #74 ; 0x4a 807a436: 20cb movs r0, #203 ; 0xcb 807a438: f7db fc90 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a43c: 4928 ldr r1, [pc, #160] ; (807a4e0 ) 807a43e: 4832 ldr r0, [pc, #200] ; (807a508 ) 807a440: f7da fee4 bl 805520c memset(str, 0, sizeof(str)); 807a444: f507 733b add.w r3, r7, #748 ; 0x2ec 807a448: 223c movs r2, #60 ; 0x3c 807a44a: 2100 movs r1, #0 807a44c: 4618 mov r0, r3 807a44e: f057 fda9 bl 80d1fa4 str[0] = (Hours / 10) + 48; 807a452: 4b26 ldr r3, [pc, #152] ; (807a4ec ) 807a454: 681b ldr r3, [r3, #0] 807a456: 4a2b ldr r2, [pc, #172] ; (807a504 ) 807a458: fba2 2303 umull r2, r3, r2, r3 807a45c: 08db lsrs r3, r3, #3 807a45e: b2db uxtb r3, r3 807a460: 3330 adds r3, #48 ; 0x30 807a462: b2da uxtb r2, r3 807a464: f507 733b add.w r3, r7, #748 ; 0x2ec 807a468: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 807a46a: 4b20 ldr r3, [pc, #128] ; (807a4ec ) 807a46c: 6819 ldr r1, [r3, #0] 807a46e: 4b25 ldr r3, [pc, #148] ; (807a504 ) 807a470: fba3 2301 umull r2, r3, r3, r1 807a474: 08da lsrs r2, r3, #3 807a476: 4613 mov r3, r2 807a478: 009b lsls r3, r3, #2 807a47a: 4413 add r3, r2 807a47c: 005b lsls r3, r3, #1 807a47e: 1aca subs r2, r1, r3 807a480: b2d3 uxtb r3, r2 807a482: 3330 adds r3, #48 ; 0x30 807a484: b2da uxtb r2, r3 807a486: f507 733b add.w r3, r7, #748 ; 0x2ec 807a48a: 705a strb r2, [r3, #1] str[2] = ':'; 807a48c: f507 733b add.w r3, r7, #748 ; 0x2ec 807a490: 223a movs r2, #58 ; 0x3a 807a492: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 807a494: 4b16 ldr r3, [pc, #88] ; (807a4f0 ) 807a496: 681b ldr r3, [r3, #0] 807a498: 4a1a ldr r2, [pc, #104] ; (807a504 ) 807a49a: fba2 2303 umull r2, r3, r2, r3 807a49e: 08db lsrs r3, r3, #3 807a4a0: b2db uxtb r3, r3 807a4a2: 3330 adds r3, #48 ; 0x30 807a4a4: b2da uxtb r2, r3 807a4a6: f507 733b add.w r3, r7, #748 ; 0x2ec 807a4aa: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 807a4ac: 4b10 ldr r3, [pc, #64] ; (807a4f0 ) 807a4ae: 6819 ldr r1, [r3, #0] 807a4b0: 4b14 ldr r3, [pc, #80] ; (807a504 ) 807a4b2: fba3 2301 umull r2, r3, r3, r1 807a4b6: 08da lsrs r2, r3, #3 807a4b8: 4613 mov r3, r2 807a4ba: 009b lsls r3, r3, #2 807a4bc: 4413 add r3, r2 807a4be: 005b lsls r3, r3, #1 807a4c0: 1aca subs r2, r1, r3 807a4c2: b2d3 uxtb r3, r2 807a4c4: 3330 adds r3, #48 ; 0x30 807a4c6: b2da uxtb r2, r3 807a4c8: f507 733b add.w r3, r7, #748 ; 0x2ec 807a4cc: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 807a4ce: f507 733b add.w r3, r7, #748 ; 0x2ec 807a4d2: 461a mov r2, r3 807a4d4: 215a movs r1, #90 ; 0x5a 807a4d6: 20df movs r0, #223 ; 0xdf 807a4d8: f7db fc40 bl 8055d5c str[0] = (Minutes / 10) + 48; str[1] = (Minutes % 10) + 48; if(blk) LCD_DisplayString(223 + 33, LCD_LINE_5, str); } break; 807a4dc: f01e be89 b.w 80991f2 807a4e0: ff0a0f1f .word 0xff0a0f1f 807a4e4: ffd3d3d3 .word 0xffd3d3d3 807a4e8: 20025cc0 .word 0x20025cc0 807a4ec: 2002168c .word 0x2002168c 807a4f0: 20021690 .word 0x20021690 807a4f4: 20025d44 .word 0x20025d44 807a4f8: 20020070 .word 0x20020070 807a4fc: 20023eb8 .word 0x20023eb8 807a500: 200206ac .word 0x200206ac 807a504: cccccccd .word 0xcccccccd 807a508: ffd8aa57 .word 0xffd8aa57 if(menupos == TimeAll) 807a50c: 4b73 ldr r3, [pc, #460] ; (807a6dc ) 807a50e: 781b ldrb r3, [r3, #0] 807a510: b2db uxtb r3, r3 807a512: 2b02 cmp r3, #2 807a514: f040 80f2 bne.w 807a6fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a518: 4971 ldr r1, [pc, #452] ; (807a6e0 ) 807a51a: f04f 30ff mov.w r0, #4294967295 807a51e: f7da fe75 bl 805520c LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]);//"Äàòà(ÄÄ.ÌÌ.ÃÃ)" 807a522: 4b70 ldr r3, [pc, #448] ; (807a6e4 ) 807a524: 7b1b ldrb r3, [r3, #12] 807a526: b2db uxtb r3, r3 807a528: 461a mov r2, r3 807a52a: 4b6f ldr r3, [pc, #444] ; (807a6e8 ) 807a52c: f853 3032 ldr.w r3, [r3, r2, lsl #3] 807a530: 461a mov r2, r3 807a532: 214a movs r1, #74 ; 0x4a 807a534: 200a movs r0, #10 807a536: f7db fc11 bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]);//"Âðåìÿ(××:ÌÌ)" 807a53a: 4b6a ldr r3, [pc, #424] ; (807a6e4 ) 807a53c: 7b1b ldrb r3, [r3, #12] 807a53e: b2db uxtb r3, r3 807a540: 4a69 ldr r2, [pc, #420] ; (807a6e8 ) 807a542: 00db lsls r3, r3, #3 807a544: 4413 add r3, r2 807a546: 685b ldr r3, [r3, #4] 807a548: 461a mov r2, r3 807a54a: 215a movs r1, #90 ; 0x5a 807a54c: 200a movs r0, #10 807a54e: f7db fc05 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a552: 4963 ldr r1, [pc, #396] ; (807a6e0 ) 807a554: 4865 ldr r0, [pc, #404] ; (807a6ec ) 807a556: f7da fe59 bl 805520c memset(str, 0, sizeof(str)); 807a55a: f507 733b add.w r3, r7, #748 ; 0x2ec 807a55e: 223c movs r2, #60 ; 0x3c 807a560: 2100 movs r1, #0 807a562: 4618 mov r0, r3 807a564: f057 fd1e bl 80d1fa4 str[0] = (i / 10) + 48; 807a568: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807a56c: 4a60 ldr r2, [pc, #384] ; (807a6f0 ) 807a56e: fba2 2303 umull r2, r3, r2, r3 807a572: 08db lsrs r3, r3, #3 807a574: b2db uxtb r3, r3 807a576: 3330 adds r3, #48 ; 0x30 807a578: b2da uxtb r2, r3 807a57a: f507 733b add.w r3, r7, #748 ; 0x2ec 807a57e: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 807a580: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 807a584: 4b5a ldr r3, [pc, #360] ; (807a6f0 ) 807a586: fba3 2301 umull r2, r3, r3, r1 807a58a: 08da lsrs r2, r3, #3 807a58c: 4613 mov r3, r2 807a58e: 009b lsls r3, r3, #2 807a590: 4413 add r3, r2 807a592: 005b lsls r3, r3, #1 807a594: 1aca subs r2, r1, r3 807a596: b2d3 uxtb r3, r2 807a598: 3330 adds r3, #48 ; 0x30 807a59a: b2da uxtb r2, r3 807a59c: f507 733b add.w r3, r7, #748 ; 0x2ec 807a5a0: 705a strb r2, [r3, #1] str[2] = '.'; 807a5a2: f507 733b add.w r3, r7, #748 ; 0x2ec 807a5a6: 222e movs r2, #46 ; 0x2e 807a5a8: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 807a5aa: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 807a5ae: 4a50 ldr r2, [pc, #320] ; (807a6f0 ) 807a5b0: fba2 2303 umull r2, r3, r2, r3 807a5b4: 08db lsrs r3, r3, #3 807a5b6: b2db uxtb r3, r3 807a5b8: 3330 adds r3, #48 ; 0x30 807a5ba: b2da uxtb r2, r3 807a5bc: f507 733b add.w r3, r7, #748 ; 0x2ec 807a5c0: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 807a5c2: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 807a5c6: 4b4a ldr r3, [pc, #296] ; (807a6f0 ) 807a5c8: fba3 2301 umull r2, r3, r3, r1 807a5cc: 08da lsrs r2, r3, #3 807a5ce: 4613 mov r3, r2 807a5d0: 009b lsls r3, r3, #2 807a5d2: 4413 add r3, r2 807a5d4: 005b lsls r3, r3, #1 807a5d6: 1aca subs r2, r1, r3 807a5d8: b2d3 uxtb r3, r2 807a5da: 3330 adds r3, #48 ; 0x30 807a5dc: b2da uxtb r2, r3 807a5de: f507 733b add.w r3, r7, #748 ; 0x2ec 807a5e2: 711a strb r2, [r3, #4] str[5] = '.'; 807a5e4: f507 733b add.w r3, r7, #748 ; 0x2ec 807a5e8: 222e movs r2, #46 ; 0x2e 807a5ea: 715a strb r2, [r3, #5] str[6] = (k / 10) + 48; 807a5ec: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807a5f0: 4a3f ldr r2, [pc, #252] ; (807a6f0 ) 807a5f2: fba2 2303 umull r2, r3, r2, r3 807a5f6: 08db lsrs r3, r3, #3 807a5f8: b2db uxtb r3, r3 807a5fa: 3330 adds r3, #48 ; 0x30 807a5fc: b2da uxtb r2, r3 807a5fe: f507 733b add.w r3, r7, #748 ; 0x2ec 807a602: 719a strb r2, [r3, #6] str[7] = (k % 10) + 48; 807a604: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 807a608: 4b39 ldr r3, [pc, #228] ; (807a6f0 ) 807a60a: fba3 2301 umull r2, r3, r3, r1 807a60e: 08da lsrs r2, r3, #3 807a610: 4613 mov r3, r2 807a612: 009b lsls r3, r3, #2 807a614: 4413 add r3, r2 807a616: 005b lsls r3, r3, #1 807a618: 1aca subs r2, r1, r3 807a61a: b2d3 uxtb r3, r2 807a61c: 3330 adds r3, #48 ; 0x30 807a61e: b2da uxtb r2, r3 807a620: f507 733b add.w r3, r7, #748 ; 0x2ec 807a624: 71da strb r2, [r3, #7] LCD_DisplayString(203, LCD_LINE_4, str); 807a626: f507 733b add.w r3, r7, #748 ; 0x2ec 807a62a: 461a mov r2, r3 807a62c: 214a movs r1, #74 ; 0x4a 807a62e: 20cb movs r0, #203 ; 0xcb 807a630: f7db fb94 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807a634: 492a ldr r1, [pc, #168] ; (807a6e0 ) 807a636: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807a63a: f7da fde7 bl 805520c memset(str, 0, sizeof(str)); 807a63e: f507 733b add.w r3, r7, #748 ; 0x2ec 807a642: 223c movs r2, #60 ; 0x3c 807a644: 2100 movs r1, #0 807a646: 4618 mov r0, r3 807a648: f057 fcac bl 80d1fa4 str[0] = (Hours / 10) + 48; 807a64c: 4b29 ldr r3, [pc, #164] ; (807a6f4 ) 807a64e: 681b ldr r3, [r3, #0] 807a650: 4a27 ldr r2, [pc, #156] ; (807a6f0 ) 807a652: fba2 2303 umull r2, r3, r2, r3 807a656: 08db lsrs r3, r3, #3 807a658: b2db uxtb r3, r3 807a65a: 3330 adds r3, #48 ; 0x30 807a65c: b2da uxtb r2, r3 807a65e: f507 733b add.w r3, r7, #748 ; 0x2ec 807a662: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 807a664: 4b23 ldr r3, [pc, #140] ; (807a6f4 ) 807a666: 6819 ldr r1, [r3, #0] 807a668: 4b21 ldr r3, [pc, #132] ; (807a6f0 ) 807a66a: fba3 2301 umull r2, r3, r3, r1 807a66e: 08da lsrs r2, r3, #3 807a670: 4613 mov r3, r2 807a672: 009b lsls r3, r3, #2 807a674: 4413 add r3, r2 807a676: 005b lsls r3, r3, #1 807a678: 1aca subs r2, r1, r3 807a67a: b2d3 uxtb r3, r2 807a67c: 3330 adds r3, #48 ; 0x30 807a67e: b2da uxtb r2, r3 807a680: f507 733b add.w r3, r7, #748 ; 0x2ec 807a684: 705a strb r2, [r3, #1] str[2] = ':'; 807a686: f507 733b add.w r3, r7, #748 ; 0x2ec 807a68a: 223a movs r2, #58 ; 0x3a 807a68c: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 807a68e: 4b1a ldr r3, [pc, #104] ; (807a6f8 ) 807a690: 681b ldr r3, [r3, #0] 807a692: 4a17 ldr r2, [pc, #92] ; (807a6f0 ) 807a694: fba2 2303 umull r2, r3, r2, r3 807a698: 08db lsrs r3, r3, #3 807a69a: b2db uxtb r3, r3 807a69c: 3330 adds r3, #48 ; 0x30 807a69e: b2da uxtb r2, r3 807a6a0: f507 733b add.w r3, r7, #748 ; 0x2ec 807a6a4: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 807a6a6: 4b14 ldr r3, [pc, #80] ; (807a6f8 ) 807a6a8: 6819 ldr r1, [r3, #0] 807a6aa: 4b11 ldr r3, [pc, #68] ; (807a6f0 ) 807a6ac: fba3 2301 umull r2, r3, r3, r1 807a6b0: 08da lsrs r2, r3, #3 807a6b2: 4613 mov r3, r2 807a6b4: 009b lsls r3, r3, #2 807a6b6: 4413 add r3, r2 807a6b8: 005b lsls r3, r3, #1 807a6ba: 1aca subs r2, r1, r3 807a6bc: b2d3 uxtb r3, r2 807a6be: 3330 adds r3, #48 ; 0x30 807a6c0: b2da uxtb r2, r3 807a6c2: f507 733b add.w r3, r7, #748 ; 0x2ec 807a6c6: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 807a6c8: f507 733b add.w r3, r7, #748 ; 0x2ec 807a6cc: 461a mov r2, r3 807a6ce: 215a movs r1, #90 ; 0x5a 807a6d0: 20df movs r0, #223 ; 0xdf 807a6d2: f7db fb43 bl 8055d5c break; 807a6d6: f01e bd8c b.w 80991f2 807a6da: bf00 nop 807a6dc: 20020070 .word 0x20020070 807a6e0: ff0a0f1f .word 0xff0a0f1f 807a6e4: 20023eb8 .word 0x20023eb8 807a6e8: 200206ac .word 0x200206ac 807a6ec: ffd8aa57 .word 0xffd8aa57 807a6f0: cccccccd .word 0xcccccccd 807a6f4: 2002168c .word 0x2002168c 807a6f8: 20021690 .word 0x20021690 if(menupos == DateD) 807a6fc: 4b7c ldr r3, [pc, #496] ; (807a8f0 ) 807a6fe: 781b ldrb r3, [r3, #0] 807a700: b2db uxtb r3, r3 807a702: 2b03 cmp r3, #3 807a704: f040 8106 bne.w 807a914 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a708: 497a ldr r1, [pc, #488] ; (807a8f4 ) 807a70a: f04f 30ff mov.w r0, #4294967295 807a70e: f7da fd7d bl 805520c LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 807a712: 4b79 ldr r3, [pc, #484] ; (807a8f8 ) 807a714: 7b1b ldrb r3, [r3, #12] 807a716: b2db uxtb r3, r3 807a718: 461a mov r2, r3 807a71a: 4b78 ldr r3, [pc, #480] ; (807a8fc ) 807a71c: f853 3032 ldr.w r3, [r3, r2, lsl #3] 807a720: 461a mov r2, r3 807a722: 214a movs r1, #74 ; 0x4a 807a724: 200a movs r0, #10 807a726: f7db fb19 bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 807a72a: 4b73 ldr r3, [pc, #460] ; (807a8f8 ) 807a72c: 7b1b ldrb r3, [r3, #12] 807a72e: b2db uxtb r3, r3 807a730: 4a72 ldr r2, [pc, #456] ; (807a8fc ) 807a732: 00db lsls r3, r3, #3 807a734: 4413 add r3, r2 807a736: 685b ldr r3, [r3, #4] 807a738: 461a mov r2, r3 807a73a: 215a movs r1, #90 ; 0x5a 807a73c: 200a movs r0, #10 807a73e: f7db fb0d bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807a742: 496c ldr r1, [pc, #432] ; (807a8f4 ) 807a744: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807a748: f7da fd60 bl 805520c memset(str, 0, sizeof(str)); 807a74c: f507 733b add.w r3, r7, #748 ; 0x2ec 807a750: 223c movs r2, #60 ; 0x3c 807a752: 2100 movs r1, #0 807a754: 4618 mov r0, r3 807a756: f057 fc25 bl 80d1fa4 str[0] = (i / 10) + 48; 807a75a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807a75e: 4a68 ldr r2, [pc, #416] ; (807a900 ) 807a760: fba2 2303 umull r2, r3, r2, r3 807a764: 08db lsrs r3, r3, #3 807a766: b2db uxtb r3, r3 807a768: 3330 adds r3, #48 ; 0x30 807a76a: b2da uxtb r2, r3 807a76c: f507 733b add.w r3, r7, #748 ; 0x2ec 807a770: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 807a772: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 807a776: 4b62 ldr r3, [pc, #392] ; (807a900 ) 807a778: fba3 2301 umull r2, r3, r3, r1 807a77c: 08da lsrs r2, r3, #3 807a77e: 4613 mov r3, r2 807a780: 009b lsls r3, r3, #2 807a782: 4413 add r3, r2 807a784: 005b lsls r3, r3, #1 807a786: 1aca subs r2, r1, r3 807a788: b2d3 uxtb r3, r2 807a78a: 3330 adds r3, #48 ; 0x30 807a78c: b2da uxtb r2, r3 807a78e: f507 733b add.w r3, r7, #748 ; 0x2ec 807a792: 705a strb r2, [r3, #1] if(blk) 807a794: 4b5b ldr r3, [pc, #364] ; (807a904 ) 807a796: 681b ldr r3, [r3, #0] 807a798: 2b00 cmp r3, #0 807a79a: d006 beq.n 807a7aa LCD_DisplayString(203, LCD_LINE_4, str); 807a79c: f507 733b add.w r3, r7, #748 ; 0x2ec 807a7a0: 461a mov r2, r3 807a7a2: 214a movs r1, #74 ; 0x4a 807a7a4: 20cb movs r0, #203 ; 0xcb 807a7a6: f7db fad9 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a7aa: 4952 ldr r1, [pc, #328] ; (807a8f4 ) 807a7ac: 4856 ldr r0, [pc, #344] ; (807a908 ) 807a7ae: f7da fd2d bl 805520c memset(str, 0, sizeof(str)); 807a7b2: f507 733b add.w r3, r7, #748 ; 0x2ec 807a7b6: 223c movs r2, #60 ; 0x3c 807a7b8: 2100 movs r1, #0 807a7ba: 4618 mov r0, r3 807a7bc: f057 fbf2 bl 80d1fa4 str[0] = '.'; 807a7c0: f507 733b add.w r3, r7, #748 ; 0x2ec 807a7c4: 222e movs r2, #46 ; 0x2e 807a7c6: 701a strb r2, [r3, #0] str[1] = (j / 10) + 48; 807a7c8: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 807a7cc: 4a4c ldr r2, [pc, #304] ; (807a900 ) 807a7ce: fba2 2303 umull r2, r3, r2, r3 807a7d2: 08db lsrs r3, r3, #3 807a7d4: b2db uxtb r3, r3 807a7d6: 3330 adds r3, #48 ; 0x30 807a7d8: b2da uxtb r2, r3 807a7da: f507 733b add.w r3, r7, #748 ; 0x2ec 807a7de: 705a strb r2, [r3, #1] str[2] = (j % 10) + 48; 807a7e0: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 807a7e4: 4b46 ldr r3, [pc, #280] ; (807a900 ) 807a7e6: fba3 2301 umull r2, r3, r3, r1 807a7ea: 08da lsrs r2, r3, #3 807a7ec: 4613 mov r3, r2 807a7ee: 009b lsls r3, r3, #2 807a7f0: 4413 add r3, r2 807a7f2: 005b lsls r3, r3, #1 807a7f4: 1aca subs r2, r1, r3 807a7f6: b2d3 uxtb r3, r2 807a7f8: 3330 adds r3, #48 ; 0x30 807a7fa: b2da uxtb r2, r3 807a7fc: f507 733b add.w r3, r7, #748 ; 0x2ec 807a800: 709a strb r2, [r3, #2] str[3] = '.'; 807a802: f507 733b add.w r3, r7, #748 ; 0x2ec 807a806: 222e movs r2, #46 ; 0x2e 807a808: 70da strb r2, [r3, #3] str[4] = (k / 10) + 48; 807a80a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807a80e: 4a3c ldr r2, [pc, #240] ; (807a900 ) 807a810: fba2 2303 umull r2, r3, r2, r3 807a814: 08db lsrs r3, r3, #3 807a816: b2db uxtb r3, r3 807a818: 3330 adds r3, #48 ; 0x30 807a81a: b2da uxtb r2, r3 807a81c: f507 733b add.w r3, r7, #748 ; 0x2ec 807a820: 711a strb r2, [r3, #4] str[5] = (k % 10) + 48; 807a822: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 807a826: 4b36 ldr r3, [pc, #216] ; (807a900 ) 807a828: fba3 2301 umull r2, r3, r3, r1 807a82c: 08da lsrs r2, r3, #3 807a82e: 4613 mov r3, r2 807a830: 009b lsls r3, r3, #2 807a832: 4413 add r3, r2 807a834: 005b lsls r3, r3, #1 807a836: 1aca subs r2, r1, r3 807a838: b2d3 uxtb r3, r2 807a83a: 3330 adds r3, #48 ; 0x30 807a83c: b2da uxtb r2, r3 807a83e: f507 733b add.w r3, r7, #748 ; 0x2ec 807a842: 715a strb r2, [r3, #5] LCD_DisplayString(203 + 22, LCD_LINE_4, str); 807a844: f507 733b add.w r3, r7, #748 ; 0x2ec 807a848: 461a mov r2, r3 807a84a: 214a movs r1, #74 ; 0x4a 807a84c: 20e1 movs r0, #225 ; 0xe1 807a84e: f7db fa85 bl 8055d5c memset(str, 0, sizeof(str)); 807a852: f507 733b add.w r3, r7, #748 ; 0x2ec 807a856: 223c movs r2, #60 ; 0x3c 807a858: 2100 movs r1, #0 807a85a: 4618 mov r0, r3 807a85c: f057 fba2 bl 80d1fa4 str[0] = (Hours / 10) + 48; 807a860: 4b2a ldr r3, [pc, #168] ; (807a90c ) 807a862: 681b ldr r3, [r3, #0] 807a864: 4a26 ldr r2, [pc, #152] ; (807a900 ) 807a866: fba2 2303 umull r2, r3, r2, r3 807a86a: 08db lsrs r3, r3, #3 807a86c: b2db uxtb r3, r3 807a86e: 3330 adds r3, #48 ; 0x30 807a870: b2da uxtb r2, r3 807a872: f507 733b add.w r3, r7, #748 ; 0x2ec 807a876: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 807a878: 4b24 ldr r3, [pc, #144] ; (807a90c ) 807a87a: 6819 ldr r1, [r3, #0] 807a87c: 4b20 ldr r3, [pc, #128] ; (807a900 ) 807a87e: fba3 2301 umull r2, r3, r3, r1 807a882: 08da lsrs r2, r3, #3 807a884: 4613 mov r3, r2 807a886: 009b lsls r3, r3, #2 807a888: 4413 add r3, r2 807a88a: 005b lsls r3, r3, #1 807a88c: 1aca subs r2, r1, r3 807a88e: b2d3 uxtb r3, r2 807a890: 3330 adds r3, #48 ; 0x30 807a892: b2da uxtb r2, r3 807a894: f507 733b add.w r3, r7, #748 ; 0x2ec 807a898: 705a strb r2, [r3, #1] str[2] = ':'; 807a89a: f507 733b add.w r3, r7, #748 ; 0x2ec 807a89e: 223a movs r2, #58 ; 0x3a 807a8a0: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 807a8a2: 4b1b ldr r3, [pc, #108] ; (807a910 ) 807a8a4: 681b ldr r3, [r3, #0] 807a8a6: 4a16 ldr r2, [pc, #88] ; (807a900 ) 807a8a8: fba2 2303 umull r2, r3, r2, r3 807a8ac: 08db lsrs r3, r3, #3 807a8ae: b2db uxtb r3, r3 807a8b0: 3330 adds r3, #48 ; 0x30 807a8b2: b2da uxtb r2, r3 807a8b4: f507 733b add.w r3, r7, #748 ; 0x2ec 807a8b8: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 807a8ba: 4b15 ldr r3, [pc, #84] ; (807a910 ) 807a8bc: 6819 ldr r1, [r3, #0] 807a8be: 4b10 ldr r3, [pc, #64] ; (807a900 ) 807a8c0: fba3 2301 umull r2, r3, r3, r1 807a8c4: 08da lsrs r2, r3, #3 807a8c6: 4613 mov r3, r2 807a8c8: 009b lsls r3, r3, #2 807a8ca: 4413 add r3, r2 807a8cc: 005b lsls r3, r3, #1 807a8ce: 1aca subs r2, r1, r3 807a8d0: b2d3 uxtb r3, r2 807a8d2: 3330 adds r3, #48 ; 0x30 807a8d4: b2da uxtb r2, r3 807a8d6: f507 733b add.w r3, r7, #748 ; 0x2ec 807a8da: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 807a8dc: f507 733b add.w r3, r7, #748 ; 0x2ec 807a8e0: 461a mov r2, r3 807a8e2: 215a movs r1, #90 ; 0x5a 807a8e4: 20df movs r0, #223 ; 0xdf 807a8e6: f7db fa39 bl 8055d5c break; 807a8ea: f01e bc82 b.w 80991f2 807a8ee: bf00 nop 807a8f0: 20020070 .word 0x20020070 807a8f4: ff0a0f1f .word 0xff0a0f1f 807a8f8: 20023eb8 .word 0x20023eb8 807a8fc: 200206ac .word 0x200206ac 807a900: cccccccd .word 0xcccccccd 807a904: 200216ac .word 0x200216ac 807a908: ffd8aa57 .word 0xffd8aa57 807a90c: 2002168c .word 0x2002168c 807a910: 20021690 .word 0x20021690 if(menupos == DateM) 807a914: 4b85 ldr r3, [pc, #532] ; (807ab2c ) 807a916: 781b ldrb r3, [r3, #0] 807a918: b2db uxtb r3, r3 807a91a: 2b04 cmp r3, #4 807a91c: f040 8118 bne.w 807ab50 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a920: 4983 ldr r1, [pc, #524] ; (807ab30 ) 807a922: f04f 30ff mov.w r0, #4294967295 807a926: f7da fc71 bl 805520c LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 807a92a: 4b82 ldr r3, [pc, #520] ; (807ab34 ) 807a92c: 7b1b ldrb r3, [r3, #12] 807a92e: b2db uxtb r3, r3 807a930: 461a mov r2, r3 807a932: 4b81 ldr r3, [pc, #516] ; (807ab38 ) 807a934: f853 3032 ldr.w r3, [r3, r2, lsl #3] 807a938: 461a mov r2, r3 807a93a: 214a movs r1, #74 ; 0x4a 807a93c: 200a movs r0, #10 807a93e: f7db fa0d bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 807a942: 4b7c ldr r3, [pc, #496] ; (807ab34 ) 807a944: 7b1b ldrb r3, [r3, #12] 807a946: b2db uxtb r3, r3 807a948: 4a7b ldr r2, [pc, #492] ; (807ab38 ) 807a94a: 00db lsls r3, r3, #3 807a94c: 4413 add r3, r2 807a94e: 685b ldr r3, [r3, #4] 807a950: 461a mov r2, r3 807a952: 215a movs r1, #90 ; 0x5a 807a954: 200a movs r0, #10 807a956: f7db fa01 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a95a: 4975 ldr r1, [pc, #468] ; (807ab30 ) 807a95c: 4877 ldr r0, [pc, #476] ; (807ab3c ) 807a95e: f7da fc55 bl 805520c memset(str, 0, sizeof(str)); 807a962: f507 733b add.w r3, r7, #748 ; 0x2ec 807a966: 223c movs r2, #60 ; 0x3c 807a968: 2100 movs r1, #0 807a96a: 4618 mov r0, r3 807a96c: f057 fb1a bl 80d1fa4 str[0] = (i / 10) + 48; 807a970: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807a974: 4a72 ldr r2, [pc, #456] ; (807ab40 ) 807a976: fba2 2303 umull r2, r3, r2, r3 807a97a: 08db lsrs r3, r3, #3 807a97c: b2db uxtb r3, r3 807a97e: 3330 adds r3, #48 ; 0x30 807a980: b2da uxtb r2, r3 807a982: f507 733b add.w r3, r7, #748 ; 0x2ec 807a986: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 807a988: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 807a98c: 4b6c ldr r3, [pc, #432] ; (807ab40 ) 807a98e: fba3 2301 umull r2, r3, r3, r1 807a992: 08da lsrs r2, r3, #3 807a994: 4613 mov r3, r2 807a996: 009b lsls r3, r3, #2 807a998: 4413 add r3, r2 807a99a: 005b lsls r3, r3, #1 807a99c: 1aca subs r2, r1, r3 807a99e: b2d3 uxtb r3, r2 807a9a0: 3330 adds r3, #48 ; 0x30 807a9a2: b2da uxtb r2, r3 807a9a4: f507 733b add.w r3, r7, #748 ; 0x2ec 807a9a8: 705a strb r2, [r3, #1] str[2] = '.'; 807a9aa: f507 733b add.w r3, r7, #748 ; 0x2ec 807a9ae: 222e movs r2, #46 ; 0x2e 807a9b0: 709a strb r2, [r3, #2] LCD_DisplayString(203, LCD_LINE_4, str); 807a9b2: f507 733b add.w r3, r7, #748 ; 0x2ec 807a9b6: 461a mov r2, r3 807a9b8: 214a movs r1, #74 ; 0x4a 807a9ba: 20cb movs r0, #203 ; 0xcb 807a9bc: f7db f9ce bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807a9c0: 495b ldr r1, [pc, #364] ; (807ab30 ) 807a9c2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807a9c6: f7da fc21 bl 805520c memset(str, 0, sizeof(str)); 807a9ca: f507 733b add.w r3, r7, #748 ; 0x2ec 807a9ce: 223c movs r2, #60 ; 0x3c 807a9d0: 2100 movs r1, #0 807a9d2: 4618 mov r0, r3 807a9d4: f057 fae6 bl 80d1fa4 str[0] = (j / 10) + 48; 807a9d8: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 807a9dc: 4a58 ldr r2, [pc, #352] ; (807ab40 ) 807a9de: fba2 2303 umull r2, r3, r2, r3 807a9e2: 08db lsrs r3, r3, #3 807a9e4: b2db uxtb r3, r3 807a9e6: 3330 adds r3, #48 ; 0x30 807a9e8: b2da uxtb r2, r3 807a9ea: f507 733b add.w r3, r7, #748 ; 0x2ec 807a9ee: 701a strb r2, [r3, #0] str[1] = (j % 10) + 48; 807a9f0: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 807a9f4: 4b52 ldr r3, [pc, #328] ; (807ab40 ) 807a9f6: fba3 2301 umull r2, r3, r3, r1 807a9fa: 08da lsrs r2, r3, #3 807a9fc: 4613 mov r3, r2 807a9fe: 009b lsls r3, r3, #2 807aa00: 4413 add r3, r2 807aa02: 005b lsls r3, r3, #1 807aa04: 1aca subs r2, r1, r3 807aa06: b2d3 uxtb r3, r2 807aa08: 3330 adds r3, #48 ; 0x30 807aa0a: b2da uxtb r2, r3 807aa0c: f507 733b add.w r3, r7, #748 ; 0x2ec 807aa10: 705a strb r2, [r3, #1] if(blk) 807aa12: 4b4c ldr r3, [pc, #304] ; (807ab44 ) 807aa14: 681b ldr r3, [r3, #0] 807aa16: 2b00 cmp r3, #0 807aa18: d006 beq.n 807aa28 LCD_DisplayString(203 + 33, LCD_LINE_4, str); 807aa1a: f507 733b add.w r3, r7, #748 ; 0x2ec 807aa1e: 461a mov r2, r3 807aa20: 214a movs r1, #74 ; 0x4a 807aa22: 20ec movs r0, #236 ; 0xec 807aa24: f7db f99a bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807aa28: 4941 ldr r1, [pc, #260] ; (807ab30 ) 807aa2a: 4844 ldr r0, [pc, #272] ; (807ab3c ) 807aa2c: f7da fbee bl 805520c memset(str, 0, sizeof(str)); 807aa30: f507 733b add.w r3, r7, #748 ; 0x2ec 807aa34: 223c movs r2, #60 ; 0x3c 807aa36: 2100 movs r1, #0 807aa38: 4618 mov r0, r3 807aa3a: f057 fab3 bl 80d1fa4 str[0] = '.'; 807aa3e: f507 733b add.w r3, r7, #748 ; 0x2ec 807aa42: 222e movs r2, #46 ; 0x2e 807aa44: 701a strb r2, [r3, #0] str[1] = (k / 10) + 48; 807aa46: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807aa4a: 4a3d ldr r2, [pc, #244] ; (807ab40 ) 807aa4c: fba2 2303 umull r2, r3, r2, r3 807aa50: 08db lsrs r3, r3, #3 807aa52: b2db uxtb r3, r3 807aa54: 3330 adds r3, #48 ; 0x30 807aa56: b2da uxtb r2, r3 807aa58: f507 733b add.w r3, r7, #748 ; 0x2ec 807aa5c: 705a strb r2, [r3, #1] str[2] = (k % 10) + 48; 807aa5e: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 807aa62: 4b37 ldr r3, [pc, #220] ; (807ab40 ) 807aa64: fba3 2301 umull r2, r3, r3, r1 807aa68: 08da lsrs r2, r3, #3 807aa6a: 4613 mov r3, r2 807aa6c: 009b lsls r3, r3, #2 807aa6e: 4413 add r3, r2 807aa70: 005b lsls r3, r3, #1 807aa72: 1aca subs r2, r1, r3 807aa74: b2d3 uxtb r3, r2 807aa76: 3330 adds r3, #48 ; 0x30 807aa78: b2da uxtb r2, r3 807aa7a: f507 733b add.w r3, r7, #748 ; 0x2ec 807aa7e: 709a strb r2, [r3, #2] LCD_DisplayString(203 + 55, LCD_LINE_4, str); 807aa80: f507 733b add.w r3, r7, #748 ; 0x2ec 807aa84: 461a mov r2, r3 807aa86: 214a movs r1, #74 ; 0x4a 807aa88: f44f 7081 mov.w r0, #258 ; 0x102 807aa8c: f7db f966 bl 8055d5c memset(str, 0, sizeof(str)); 807aa90: f507 733b add.w r3, r7, #748 ; 0x2ec 807aa94: 223c movs r2, #60 ; 0x3c 807aa96: 2100 movs r1, #0 807aa98: 4618 mov r0, r3 807aa9a: f057 fa83 bl 80d1fa4 str[0] = (Hours / 10) + 48; 807aa9e: 4b2a ldr r3, [pc, #168] ; (807ab48 ) 807aaa0: 681b ldr r3, [r3, #0] 807aaa2: 4a27 ldr r2, [pc, #156] ; (807ab40 ) 807aaa4: fba2 2303 umull r2, r3, r2, r3 807aaa8: 08db lsrs r3, r3, #3 807aaaa: b2db uxtb r3, r3 807aaac: 3330 adds r3, #48 ; 0x30 807aaae: b2da uxtb r2, r3 807aab0: f507 733b add.w r3, r7, #748 ; 0x2ec 807aab4: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 807aab6: 4b24 ldr r3, [pc, #144] ; (807ab48 ) 807aab8: 6819 ldr r1, [r3, #0] 807aaba: 4b21 ldr r3, [pc, #132] ; (807ab40 ) 807aabc: fba3 2301 umull r2, r3, r3, r1 807aac0: 08da lsrs r2, r3, #3 807aac2: 4613 mov r3, r2 807aac4: 009b lsls r3, r3, #2 807aac6: 4413 add r3, r2 807aac8: 005b lsls r3, r3, #1 807aaca: 1aca subs r2, r1, r3 807aacc: b2d3 uxtb r3, r2 807aace: 3330 adds r3, #48 ; 0x30 807aad0: b2da uxtb r2, r3 807aad2: f507 733b add.w r3, r7, #748 ; 0x2ec 807aad6: 705a strb r2, [r3, #1] str[2] = ':'; 807aad8: f507 733b add.w r3, r7, #748 ; 0x2ec 807aadc: 223a movs r2, #58 ; 0x3a 807aade: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 807aae0: 4b1a ldr r3, [pc, #104] ; (807ab4c ) 807aae2: 681b ldr r3, [r3, #0] 807aae4: 4a16 ldr r2, [pc, #88] ; (807ab40 ) 807aae6: fba2 2303 umull r2, r3, r2, r3 807aaea: 08db lsrs r3, r3, #3 807aaec: b2db uxtb r3, r3 807aaee: 3330 adds r3, #48 ; 0x30 807aaf0: b2da uxtb r2, r3 807aaf2: f507 733b add.w r3, r7, #748 ; 0x2ec 807aaf6: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 807aaf8: 4b14 ldr r3, [pc, #80] ; (807ab4c ) 807aafa: 6819 ldr r1, [r3, #0] 807aafc: 4b10 ldr r3, [pc, #64] ; (807ab40 ) 807aafe: fba3 2301 umull r2, r3, r3, r1 807ab02: 08da lsrs r2, r3, #3 807ab04: 4613 mov r3, r2 807ab06: 009b lsls r3, r3, #2 807ab08: 4413 add r3, r2 807ab0a: 005b lsls r3, r3, #1 807ab0c: 1aca subs r2, r1, r3 807ab0e: b2d3 uxtb r3, r2 807ab10: 3330 adds r3, #48 ; 0x30 807ab12: b2da uxtb r2, r3 807ab14: f507 733b add.w r3, r7, #748 ; 0x2ec 807ab18: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 807ab1a: f507 733b add.w r3, r7, #748 ; 0x2ec 807ab1e: 461a mov r2, r3 807ab20: 215a movs r1, #90 ; 0x5a 807ab22: 20df movs r0, #223 ; 0xdf 807ab24: f7db f91a bl 8055d5c break; 807ab28: f01e bb63 b.w 80991f2 807ab2c: 20020070 .word 0x20020070 807ab30: ff0a0f1f .word 0xff0a0f1f 807ab34: 20023eb8 .word 0x20023eb8 807ab38: 200206ac .word 0x200206ac 807ab3c: ffd8aa57 .word 0xffd8aa57 807ab40: cccccccd .word 0xcccccccd 807ab44: 200216ac .word 0x200216ac 807ab48: 2002168c .word 0x2002168c 807ab4c: 20021690 .word 0x20021690 if(menupos == DateY) 807ab50: 4b7e ldr r3, [pc, #504] ; (807ad4c ) 807ab52: 781b ldrb r3, [r3, #0] 807ab54: b2db uxtb r3, r3 807ab56: 2b05 cmp r3, #5 807ab58: f040 810a bne.w 807ad70 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ab5c: 497c ldr r1, [pc, #496] ; (807ad50 ) 807ab5e: f04f 30ff mov.w r0, #4294967295 807ab62: f7da fb53 bl 805520c LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 807ab66: 4b7b ldr r3, [pc, #492] ; (807ad54 ) 807ab68: 7b1b ldrb r3, [r3, #12] 807ab6a: b2db uxtb r3, r3 807ab6c: 461a mov r2, r3 807ab6e: 4b7a ldr r3, [pc, #488] ; (807ad58 ) 807ab70: f853 3032 ldr.w r3, [r3, r2, lsl #3] 807ab74: 461a mov r2, r3 807ab76: 214a movs r1, #74 ; 0x4a 807ab78: 200a movs r0, #10 807ab7a: f7db f8ef bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 807ab7e: 4b75 ldr r3, [pc, #468] ; (807ad54 ) 807ab80: 7b1b ldrb r3, [r3, #12] 807ab82: b2db uxtb r3, r3 807ab84: 4a74 ldr r2, [pc, #464] ; (807ad58 ) 807ab86: 00db lsls r3, r3, #3 807ab88: 4413 add r3, r2 807ab8a: 685b ldr r3, [r3, #4] 807ab8c: 461a mov r2, r3 807ab8e: 215a movs r1, #90 ; 0x5a 807ab90: 200a movs r0, #10 807ab92: f7db f8e3 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ab96: 496e ldr r1, [pc, #440] ; (807ad50 ) 807ab98: 4870 ldr r0, [pc, #448] ; (807ad5c ) 807ab9a: f7da fb37 bl 805520c memset(str, 0, sizeof(str)); 807ab9e: f507 733b add.w r3, r7, #748 ; 0x2ec 807aba2: 223c movs r2, #60 ; 0x3c 807aba4: 2100 movs r1, #0 807aba6: 4618 mov r0, r3 807aba8: f057 f9fc bl 80d1fa4 str[0] = (i / 10) + 48; 807abac: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807abb0: 4a6b ldr r2, [pc, #428] ; (807ad60 ) 807abb2: fba2 2303 umull r2, r3, r2, r3 807abb6: 08db lsrs r3, r3, #3 807abb8: b2db uxtb r3, r3 807abba: 3330 adds r3, #48 ; 0x30 807abbc: b2da uxtb r2, r3 807abbe: f507 733b add.w r3, r7, #748 ; 0x2ec 807abc2: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 807abc4: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 807abc8: 4b65 ldr r3, [pc, #404] ; (807ad60 ) 807abca: fba3 2301 umull r2, r3, r3, r1 807abce: 08da lsrs r2, r3, #3 807abd0: 4613 mov r3, r2 807abd2: 009b lsls r3, r3, #2 807abd4: 4413 add r3, r2 807abd6: 005b lsls r3, r3, #1 807abd8: 1aca subs r2, r1, r3 807abda: b2d3 uxtb r3, r2 807abdc: 3330 adds r3, #48 ; 0x30 807abde: b2da uxtb r2, r3 807abe0: f507 733b add.w r3, r7, #748 ; 0x2ec 807abe4: 705a strb r2, [r3, #1] str[2] = '.'; 807abe6: f507 733b add.w r3, r7, #748 ; 0x2ec 807abea: 222e movs r2, #46 ; 0x2e 807abec: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 807abee: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 807abf2: 4a5b ldr r2, [pc, #364] ; (807ad60 ) 807abf4: fba2 2303 umull r2, r3, r2, r3 807abf8: 08db lsrs r3, r3, #3 807abfa: b2db uxtb r3, r3 807abfc: 3330 adds r3, #48 ; 0x30 807abfe: b2da uxtb r2, r3 807ac00: f507 733b add.w r3, r7, #748 ; 0x2ec 807ac04: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 807ac06: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 807ac0a: 4b55 ldr r3, [pc, #340] ; (807ad60 ) 807ac0c: fba3 2301 umull r2, r3, r3, r1 807ac10: 08da lsrs r2, r3, #3 807ac12: 4613 mov r3, r2 807ac14: 009b lsls r3, r3, #2 807ac16: 4413 add r3, r2 807ac18: 005b lsls r3, r3, #1 807ac1a: 1aca subs r2, r1, r3 807ac1c: b2d3 uxtb r3, r2 807ac1e: 3330 adds r3, #48 ; 0x30 807ac20: b2da uxtb r2, r3 807ac22: f507 733b add.w r3, r7, #748 ; 0x2ec 807ac26: 711a strb r2, [r3, #4] str[5] = '.'; 807ac28: f507 733b add.w r3, r7, #748 ; 0x2ec 807ac2c: 222e movs r2, #46 ; 0x2e 807ac2e: 715a strb r2, [r3, #5] LCD_DisplayString(203, LCD_LINE_4, str); 807ac30: f507 733b add.w r3, r7, #748 ; 0x2ec 807ac34: 461a mov r2, r3 807ac36: 214a movs r1, #74 ; 0x4a 807ac38: 20cb movs r0, #203 ; 0xcb 807ac3a: f7db f88f bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ac3e: 4944 ldr r1, [pc, #272] ; (807ad50 ) 807ac40: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ac44: f7da fae2 bl 805520c memset(str, 0, sizeof(str)); 807ac48: f507 733b add.w r3, r7, #748 ; 0x2ec 807ac4c: 223c movs r2, #60 ; 0x3c 807ac4e: 2100 movs r1, #0 807ac50: 4618 mov r0, r3 807ac52: f057 f9a7 bl 80d1fa4 str[0] = (k / 10) + 48; 807ac56: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807ac5a: 4a41 ldr r2, [pc, #260] ; (807ad60 ) 807ac5c: fba2 2303 umull r2, r3, r2, r3 807ac60: 08db lsrs r3, r3, #3 807ac62: b2db uxtb r3, r3 807ac64: 3330 adds r3, #48 ; 0x30 807ac66: b2da uxtb r2, r3 807ac68: f507 733b add.w r3, r7, #748 ; 0x2ec 807ac6c: 701a strb r2, [r3, #0] str[1] = (k % 10) + 48; 807ac6e: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 807ac72: 4b3b ldr r3, [pc, #236] ; (807ad60 ) 807ac74: fba3 2301 umull r2, r3, r3, r1 807ac78: 08da lsrs r2, r3, #3 807ac7a: 4613 mov r3, r2 807ac7c: 009b lsls r3, r3, #2 807ac7e: 4413 add r3, r2 807ac80: 005b lsls r3, r3, #1 807ac82: 1aca subs r2, r1, r3 807ac84: b2d3 uxtb r3, r2 807ac86: 3330 adds r3, #48 ; 0x30 807ac88: b2da uxtb r2, r3 807ac8a: f507 733b add.w r3, r7, #748 ; 0x2ec 807ac8e: 705a strb r2, [r3, #1] if(blk) 807ac90: 4b34 ldr r3, [pc, #208] ; (807ad64 ) 807ac92: 681b ldr r3, [r3, #0] 807ac94: 2b00 cmp r3, #0 807ac96: d007 beq.n 807aca8 LCD_DisplayString(203 + 66, LCD_LINE_4, str); 807ac98: f507 733b add.w r3, r7, #748 ; 0x2ec 807ac9c: 461a mov r2, r3 807ac9e: 214a movs r1, #74 ; 0x4a 807aca0: f240 100d movw r0, #269 ; 0x10d 807aca4: f7db f85a bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807aca8: 4929 ldr r1, [pc, #164] ; (807ad50 ) 807acaa: 482c ldr r0, [pc, #176] ; (807ad5c ) 807acac: f7da faae bl 805520c memset(str, 0, sizeof(str)); 807acb0: f507 733b add.w r3, r7, #748 ; 0x2ec 807acb4: 223c movs r2, #60 ; 0x3c 807acb6: 2100 movs r1, #0 807acb8: 4618 mov r0, r3 807acba: f057 f973 bl 80d1fa4 str[0] = (Hours / 10) + 48; 807acbe: 4b2a ldr r3, [pc, #168] ; (807ad68 ) 807acc0: 681b ldr r3, [r3, #0] 807acc2: 4a27 ldr r2, [pc, #156] ; (807ad60 ) 807acc4: fba2 2303 umull r2, r3, r2, r3 807acc8: 08db lsrs r3, r3, #3 807acca: b2db uxtb r3, r3 807accc: 3330 adds r3, #48 ; 0x30 807acce: b2da uxtb r2, r3 807acd0: f507 733b add.w r3, r7, #748 ; 0x2ec 807acd4: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 807acd6: 4b24 ldr r3, [pc, #144] ; (807ad68 ) 807acd8: 6819 ldr r1, [r3, #0] 807acda: 4b21 ldr r3, [pc, #132] ; (807ad60 ) 807acdc: fba3 2301 umull r2, r3, r3, r1 807ace0: 08da lsrs r2, r3, #3 807ace2: 4613 mov r3, r2 807ace4: 009b lsls r3, r3, #2 807ace6: 4413 add r3, r2 807ace8: 005b lsls r3, r3, #1 807acea: 1aca subs r2, r1, r3 807acec: b2d3 uxtb r3, r2 807acee: 3330 adds r3, #48 ; 0x30 807acf0: b2da uxtb r2, r3 807acf2: f507 733b add.w r3, r7, #748 ; 0x2ec 807acf6: 705a strb r2, [r3, #1] str[2] = ':'; 807acf8: f507 733b add.w r3, r7, #748 ; 0x2ec 807acfc: 223a movs r2, #58 ; 0x3a 807acfe: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 807ad00: 4b1a ldr r3, [pc, #104] ; (807ad6c ) 807ad02: 681b ldr r3, [r3, #0] 807ad04: 4a16 ldr r2, [pc, #88] ; (807ad60 ) 807ad06: fba2 2303 umull r2, r3, r2, r3 807ad0a: 08db lsrs r3, r3, #3 807ad0c: b2db uxtb r3, r3 807ad0e: 3330 adds r3, #48 ; 0x30 807ad10: b2da uxtb r2, r3 807ad12: f507 733b add.w r3, r7, #748 ; 0x2ec 807ad16: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 807ad18: 4b14 ldr r3, [pc, #80] ; (807ad6c ) 807ad1a: 6819 ldr r1, [r3, #0] 807ad1c: 4b10 ldr r3, [pc, #64] ; (807ad60 ) 807ad1e: fba3 2301 umull r2, r3, r3, r1 807ad22: 08da lsrs r2, r3, #3 807ad24: 4613 mov r3, r2 807ad26: 009b lsls r3, r3, #2 807ad28: 4413 add r3, r2 807ad2a: 005b lsls r3, r3, #1 807ad2c: 1aca subs r2, r1, r3 807ad2e: b2d3 uxtb r3, r2 807ad30: 3330 adds r3, #48 ; 0x30 807ad32: b2da uxtb r2, r3 807ad34: f507 733b add.w r3, r7, #748 ; 0x2ec 807ad38: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 807ad3a: f507 733b add.w r3, r7, #748 ; 0x2ec 807ad3e: 461a mov r2, r3 807ad40: 215a movs r1, #90 ; 0x5a 807ad42: 20df movs r0, #223 ; 0xdf 807ad44: f7db f80a bl 8055d5c break; 807ad48: f01e ba53 b.w 80991f2 807ad4c: 20020070 .word 0x20020070 807ad50: ff0a0f1f .word 0xff0a0f1f 807ad54: 20023eb8 .word 0x20023eb8 807ad58: 200206ac .word 0x200206ac 807ad5c: ffd8aa57 .word 0xffd8aa57 807ad60: cccccccd .word 0xcccccccd 807ad64: 200216ac .word 0x200216ac 807ad68: 2002168c .word 0x2002168c 807ad6c: 20021690 .word 0x20021690 if(menupos == TimeH) 807ad70: 4b7e ldr r3, [pc, #504] ; (807af6c ) 807ad72: 781b ldrb r3, [r3, #0] 807ad74: b2db uxtb r3, r3 807ad76: 2b06 cmp r3, #6 807ad78: f040 810a bne.w 807af90 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ad7c: 497c ldr r1, [pc, #496] ; (807af70 ) 807ad7e: f04f 30ff mov.w r0, #4294967295 807ad82: f7da fa43 bl 805520c LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 807ad86: 4b7b ldr r3, [pc, #492] ; (807af74 ) 807ad88: 7b1b ldrb r3, [r3, #12] 807ad8a: b2db uxtb r3, r3 807ad8c: 461a mov r2, r3 807ad8e: 4b7a ldr r3, [pc, #488] ; (807af78 ) 807ad90: f853 3032 ldr.w r3, [r3, r2, lsl #3] 807ad94: 461a mov r2, r3 807ad96: 214a movs r1, #74 ; 0x4a 807ad98: 200a movs r0, #10 807ad9a: f7da ffdf bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 807ad9e: 4b75 ldr r3, [pc, #468] ; (807af74 ) 807ada0: 7b1b ldrb r3, [r3, #12] 807ada2: b2db uxtb r3, r3 807ada4: 4a74 ldr r2, [pc, #464] ; (807af78 ) 807ada6: 00db lsls r3, r3, #3 807ada8: 4413 add r3, r2 807adaa: 685b ldr r3, [r3, #4] 807adac: 461a mov r2, r3 807adae: 215a movs r1, #90 ; 0x5a 807adb0: 200a movs r0, #10 807adb2: f7da ffd3 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807adb6: 496e ldr r1, [pc, #440] ; (807af70 ) 807adb8: 4870 ldr r0, [pc, #448] ; (807af7c ) 807adba: f7da fa27 bl 805520c memset(str, 0, sizeof(str)); 807adbe: f507 733b add.w r3, r7, #748 ; 0x2ec 807adc2: 223c movs r2, #60 ; 0x3c 807adc4: 2100 movs r1, #0 807adc6: 4618 mov r0, r3 807adc8: f057 f8ec bl 80d1fa4 str[0] = (i / 10) + 48; 807adcc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807add0: 4a6b ldr r2, [pc, #428] ; (807af80 ) 807add2: fba2 2303 umull r2, r3, r2, r3 807add6: 08db lsrs r3, r3, #3 807add8: b2db uxtb r3, r3 807adda: 3330 adds r3, #48 ; 0x30 807addc: b2da uxtb r2, r3 807adde: f507 733b add.w r3, r7, #748 ; 0x2ec 807ade2: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 807ade4: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 807ade8: 4b65 ldr r3, [pc, #404] ; (807af80 ) 807adea: fba3 2301 umull r2, r3, r3, r1 807adee: 08da lsrs r2, r3, #3 807adf0: 4613 mov r3, r2 807adf2: 009b lsls r3, r3, #2 807adf4: 4413 add r3, r2 807adf6: 005b lsls r3, r3, #1 807adf8: 1aca subs r2, r1, r3 807adfa: b2d3 uxtb r3, r2 807adfc: 3330 adds r3, #48 ; 0x30 807adfe: b2da uxtb r2, r3 807ae00: f507 733b add.w r3, r7, #748 ; 0x2ec 807ae04: 705a strb r2, [r3, #1] str[2] = '.'; 807ae06: f507 733b add.w r3, r7, #748 ; 0x2ec 807ae0a: 222e movs r2, #46 ; 0x2e 807ae0c: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 807ae0e: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 807ae12: 4a5b ldr r2, [pc, #364] ; (807af80 ) 807ae14: fba2 2303 umull r2, r3, r2, r3 807ae18: 08db lsrs r3, r3, #3 807ae1a: b2db uxtb r3, r3 807ae1c: 3330 adds r3, #48 ; 0x30 807ae1e: b2da uxtb r2, r3 807ae20: f507 733b add.w r3, r7, #748 ; 0x2ec 807ae24: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 807ae26: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 807ae2a: 4b55 ldr r3, [pc, #340] ; (807af80 ) 807ae2c: fba3 2301 umull r2, r3, r3, r1 807ae30: 08da lsrs r2, r3, #3 807ae32: 4613 mov r3, r2 807ae34: 009b lsls r3, r3, #2 807ae36: 4413 add r3, r2 807ae38: 005b lsls r3, r3, #1 807ae3a: 1aca subs r2, r1, r3 807ae3c: b2d3 uxtb r3, r2 807ae3e: 3330 adds r3, #48 ; 0x30 807ae40: b2da uxtb r2, r3 807ae42: f507 733b add.w r3, r7, #748 ; 0x2ec 807ae46: 711a strb r2, [r3, #4] str[5] = '.'; 807ae48: f507 733b add.w r3, r7, #748 ; 0x2ec 807ae4c: 222e movs r2, #46 ; 0x2e 807ae4e: 715a strb r2, [r3, #5] str[6] = (k / 10) + 48; 807ae50: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807ae54: 4a4a ldr r2, [pc, #296] ; (807af80 ) 807ae56: fba2 2303 umull r2, r3, r2, r3 807ae5a: 08db lsrs r3, r3, #3 807ae5c: b2db uxtb r3, r3 807ae5e: 3330 adds r3, #48 ; 0x30 807ae60: b2da uxtb r2, r3 807ae62: f507 733b add.w r3, r7, #748 ; 0x2ec 807ae66: 719a strb r2, [r3, #6] str[7] = (k % 10) + 48; 807ae68: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 807ae6c: 4b44 ldr r3, [pc, #272] ; (807af80 ) 807ae6e: fba3 2301 umull r2, r3, r3, r1 807ae72: 08da lsrs r2, r3, #3 807ae74: 4613 mov r3, r2 807ae76: 009b lsls r3, r3, #2 807ae78: 4413 add r3, r2 807ae7a: 005b lsls r3, r3, #1 807ae7c: 1aca subs r2, r1, r3 807ae7e: b2d3 uxtb r3, r2 807ae80: 3330 adds r3, #48 ; 0x30 807ae82: b2da uxtb r2, r3 807ae84: f507 733b add.w r3, r7, #748 ; 0x2ec 807ae88: 71da strb r2, [r3, #7] LCD_DisplayString(203, LCD_LINE_4, str); 807ae8a: f507 733b add.w r3, r7, #748 ; 0x2ec 807ae8e: 461a mov r2, r3 807ae90: 214a movs r1, #74 ; 0x4a 807ae92: 20cb movs r0, #203 ; 0xcb 807ae94: f7da ff62 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ae98: 4935 ldr r1, [pc, #212] ; (807af70 ) 807ae9a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ae9e: f7da f9b5 bl 805520c memset(str, 0, sizeof(str)); 807aea2: f507 733b add.w r3, r7, #748 ; 0x2ec 807aea6: 223c movs r2, #60 ; 0x3c 807aea8: 2100 movs r1, #0 807aeaa: 4618 mov r0, r3 807aeac: f057 f87a bl 80d1fa4 str[0] = (Hours / 10) + 48; 807aeb0: 4b34 ldr r3, [pc, #208] ; (807af84 ) 807aeb2: 681b ldr r3, [r3, #0] 807aeb4: 4a32 ldr r2, [pc, #200] ; (807af80 ) 807aeb6: fba2 2303 umull r2, r3, r2, r3 807aeba: 08db lsrs r3, r3, #3 807aebc: b2db uxtb r3, r3 807aebe: 3330 adds r3, #48 ; 0x30 807aec0: b2da uxtb r2, r3 807aec2: f507 733b add.w r3, r7, #748 ; 0x2ec 807aec6: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 807aec8: 4b2e ldr r3, [pc, #184] ; (807af84 ) 807aeca: 6819 ldr r1, [r3, #0] 807aecc: 4b2c ldr r3, [pc, #176] ; (807af80 ) 807aece: fba3 2301 umull r2, r3, r3, r1 807aed2: 08da lsrs r2, r3, #3 807aed4: 4613 mov r3, r2 807aed6: 009b lsls r3, r3, #2 807aed8: 4413 add r3, r2 807aeda: 005b lsls r3, r3, #1 807aedc: 1aca subs r2, r1, r3 807aede: b2d3 uxtb r3, r2 807aee0: 3330 adds r3, #48 ; 0x30 807aee2: b2da uxtb r2, r3 807aee4: f507 733b add.w r3, r7, #748 ; 0x2ec 807aee8: 705a strb r2, [r3, #1] if(blk) 807aeea: 4b27 ldr r3, [pc, #156] ; (807af88 ) 807aeec: 681b ldr r3, [r3, #0] 807aeee: 2b00 cmp r3, #0 807aef0: d006 beq.n 807af00 LCD_DisplayString(223, LCD_LINE_5, str); 807aef2: f507 733b add.w r3, r7, #748 ; 0x2ec 807aef6: 461a mov r2, r3 807aef8: 215a movs r1, #90 ; 0x5a 807aefa: 20df movs r0, #223 ; 0xdf 807aefc: f7da ff2e bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807af00: 491b ldr r1, [pc, #108] ; (807af70 ) 807af02: 481e ldr r0, [pc, #120] ; (807af7c ) 807af04: f7da f982 bl 805520c memset(str, 0, sizeof(str)); 807af08: f507 733b add.w r3, r7, #748 ; 0x2ec 807af0c: 223c movs r2, #60 ; 0x3c 807af0e: 2100 movs r1, #0 807af10: 4618 mov r0, r3 807af12: f057 f847 bl 80d1fa4 str[0] = ':'; 807af16: f507 733b add.w r3, r7, #748 ; 0x2ec 807af1a: 223a movs r2, #58 ; 0x3a 807af1c: 701a strb r2, [r3, #0] str[1] = (Minutes / 10) + 48; 807af1e: 4b1b ldr r3, [pc, #108] ; (807af8c ) 807af20: 681b ldr r3, [r3, #0] 807af22: 4a17 ldr r2, [pc, #92] ; (807af80 ) 807af24: fba2 2303 umull r2, r3, r2, r3 807af28: 08db lsrs r3, r3, #3 807af2a: b2db uxtb r3, r3 807af2c: 3330 adds r3, #48 ; 0x30 807af2e: b2da uxtb r2, r3 807af30: f507 733b add.w r3, r7, #748 ; 0x2ec 807af34: 705a strb r2, [r3, #1] str[2] = (Minutes % 10) + 48; 807af36: 4b15 ldr r3, [pc, #84] ; (807af8c ) 807af38: 6819 ldr r1, [r3, #0] 807af3a: 4b11 ldr r3, [pc, #68] ; (807af80 ) 807af3c: fba3 2301 umull r2, r3, r3, r1 807af40: 08da lsrs r2, r3, #3 807af42: 4613 mov r3, r2 807af44: 009b lsls r3, r3, #2 807af46: 4413 add r3, r2 807af48: 005b lsls r3, r3, #1 807af4a: 1aca subs r2, r1, r3 807af4c: b2d3 uxtb r3, r2 807af4e: 3330 adds r3, #48 ; 0x30 807af50: b2da uxtb r2, r3 807af52: f507 733b add.w r3, r7, #748 ; 0x2ec 807af56: 709a strb r2, [r3, #2] LCD_DisplayString(223 + 22, LCD_LINE_5, str); 807af58: f507 733b add.w r3, r7, #748 ; 0x2ec 807af5c: 461a mov r2, r3 807af5e: 215a movs r1, #90 ; 0x5a 807af60: 20f5 movs r0, #245 ; 0xf5 807af62: f7da fefb bl 8055d5c break; 807af66: f01e b944 b.w 80991f2 807af6a: bf00 nop 807af6c: 20020070 .word 0x20020070 807af70: ff0a0f1f .word 0xff0a0f1f 807af74: 20023eb8 .word 0x20023eb8 807af78: 200206ac .word 0x200206ac 807af7c: ffd8aa57 .word 0xffd8aa57 807af80: cccccccd .word 0xcccccccd 807af84: 2002168c .word 0x2002168c 807af88: 200216ac .word 0x200216ac 807af8c: 20021690 .word 0x20021690 if(menupos == TimeM) 807af90: 4b7f ldr r3, [pc, #508] ; (807b190 ) 807af92: 781b ldrb r3, [r3, #0] 807af94: b2db uxtb r3, r3 807af96: 2b07 cmp r3, #7 807af98: f05e 812b bne.w 80991f2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807af9c: 497d ldr r1, [pc, #500] ; (807b194 ) 807af9e: f04f 30ff mov.w r0, #4294967295 807afa2: f7da f933 bl 805520c LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 807afa6: 4b7c ldr r3, [pc, #496] ; (807b198 ) 807afa8: 7b1b ldrb r3, [r3, #12] 807afaa: b2db uxtb r3, r3 807afac: 461a mov r2, r3 807afae: 4b7b ldr r3, [pc, #492] ; (807b19c ) 807afb0: f853 3032 ldr.w r3, [r3, r2, lsl #3] 807afb4: 461a mov r2, r3 807afb6: 214a movs r1, #74 ; 0x4a 807afb8: 200a movs r0, #10 807afba: f7da fecf bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 807afbe: 4b76 ldr r3, [pc, #472] ; (807b198 ) 807afc0: 7b1b ldrb r3, [r3, #12] 807afc2: b2db uxtb r3, r3 807afc4: 4a75 ldr r2, [pc, #468] ; (807b19c ) 807afc6: 00db lsls r3, r3, #3 807afc8: 4413 add r3, r2 807afca: 685b ldr r3, [r3, #4] 807afcc: 461a mov r2, r3 807afce: 215a movs r1, #90 ; 0x5a 807afd0: 200a movs r0, #10 807afd2: f7da fec3 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807afd6: 496f ldr r1, [pc, #444] ; (807b194 ) 807afd8: 4871 ldr r0, [pc, #452] ; (807b1a0 ) 807afda: f7da f917 bl 805520c memset(str, 0, sizeof(str)); 807afde: f507 733b add.w r3, r7, #748 ; 0x2ec 807afe2: 223c movs r2, #60 ; 0x3c 807afe4: 2100 movs r1, #0 807afe6: 4618 mov r0, r3 807afe8: f056 ffdc bl 80d1fa4 str[0] = (i / 10) + 48; 807afec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807aff0: 4a6c ldr r2, [pc, #432] ; (807b1a4 ) 807aff2: fba2 2303 umull r2, r3, r2, r3 807aff6: 08db lsrs r3, r3, #3 807aff8: b2db uxtb r3, r3 807affa: 3330 adds r3, #48 ; 0x30 807affc: b2da uxtb r2, r3 807affe: f507 733b add.w r3, r7, #748 ; 0x2ec 807b002: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 807b004: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 807b008: 4b66 ldr r3, [pc, #408] ; (807b1a4 ) 807b00a: fba3 2301 umull r2, r3, r3, r1 807b00e: 08da lsrs r2, r3, #3 807b010: 4613 mov r3, r2 807b012: 009b lsls r3, r3, #2 807b014: 4413 add r3, r2 807b016: 005b lsls r3, r3, #1 807b018: 1aca subs r2, r1, r3 807b01a: b2d3 uxtb r3, r2 807b01c: 3330 adds r3, #48 ; 0x30 807b01e: b2da uxtb r2, r3 807b020: f507 733b add.w r3, r7, #748 ; 0x2ec 807b024: 705a strb r2, [r3, #1] str[2] = '.'; 807b026: f507 733b add.w r3, r7, #748 ; 0x2ec 807b02a: 222e movs r2, #46 ; 0x2e 807b02c: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 807b02e: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 807b032: 4a5c ldr r2, [pc, #368] ; (807b1a4 ) 807b034: fba2 2303 umull r2, r3, r2, r3 807b038: 08db lsrs r3, r3, #3 807b03a: b2db uxtb r3, r3 807b03c: 3330 adds r3, #48 ; 0x30 807b03e: b2da uxtb r2, r3 807b040: f507 733b add.w r3, r7, #748 ; 0x2ec 807b044: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 807b046: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 807b04a: 4b56 ldr r3, [pc, #344] ; (807b1a4 ) 807b04c: fba3 2301 umull r2, r3, r3, r1 807b050: 08da lsrs r2, r3, #3 807b052: 4613 mov r3, r2 807b054: 009b lsls r3, r3, #2 807b056: 4413 add r3, r2 807b058: 005b lsls r3, r3, #1 807b05a: 1aca subs r2, r1, r3 807b05c: b2d3 uxtb r3, r2 807b05e: 3330 adds r3, #48 ; 0x30 807b060: b2da uxtb r2, r3 807b062: f507 733b add.w r3, r7, #748 ; 0x2ec 807b066: 711a strb r2, [r3, #4] str[5] = '.'; 807b068: f507 733b add.w r3, r7, #748 ; 0x2ec 807b06c: 222e movs r2, #46 ; 0x2e 807b06e: 715a strb r2, [r3, #5] str[6] = (k / 10) + 48; 807b070: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807b074: 4a4b ldr r2, [pc, #300] ; (807b1a4 ) 807b076: fba2 2303 umull r2, r3, r2, r3 807b07a: 08db lsrs r3, r3, #3 807b07c: b2db uxtb r3, r3 807b07e: 3330 adds r3, #48 ; 0x30 807b080: b2da uxtb r2, r3 807b082: f507 733b add.w r3, r7, #748 ; 0x2ec 807b086: 719a strb r2, [r3, #6] str[7] = (k % 10) + 48; 807b088: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 807b08c: 4b45 ldr r3, [pc, #276] ; (807b1a4 ) 807b08e: fba3 2301 umull r2, r3, r3, r1 807b092: 08da lsrs r2, r3, #3 807b094: 4613 mov r3, r2 807b096: 009b lsls r3, r3, #2 807b098: 4413 add r3, r2 807b09a: 005b lsls r3, r3, #1 807b09c: 1aca subs r2, r1, r3 807b09e: b2d3 uxtb r3, r2 807b0a0: 3330 adds r3, #48 ; 0x30 807b0a2: b2da uxtb r2, r3 807b0a4: f507 733b add.w r3, r7, #748 ; 0x2ec 807b0a8: 71da strb r2, [r3, #7] LCD_DisplayString(203, LCD_LINE_4, str); 807b0aa: f507 733b add.w r3, r7, #748 ; 0x2ec 807b0ae: 461a mov r2, r3 807b0b0: 214a movs r1, #74 ; 0x4a 807b0b2: 20cb movs r0, #203 ; 0xcb 807b0b4: f7da fe52 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b0b8: 4936 ldr r1, [pc, #216] ; (807b194 ) 807b0ba: 4839 ldr r0, [pc, #228] ; (807b1a0 ) 807b0bc: f7da f8a6 bl 805520c memset(str, 0, sizeof(str)); 807b0c0: f507 733b add.w r3, r7, #748 ; 0x2ec 807b0c4: 223c movs r2, #60 ; 0x3c 807b0c6: 2100 movs r1, #0 807b0c8: 4618 mov r0, r3 807b0ca: f056 ff6b bl 80d1fa4 str[0] = (Hours / 10) + 48; 807b0ce: 4b36 ldr r3, [pc, #216] ; (807b1a8 ) 807b0d0: 681b ldr r3, [r3, #0] 807b0d2: 4a34 ldr r2, [pc, #208] ; (807b1a4 ) 807b0d4: fba2 2303 umull r2, r3, r2, r3 807b0d8: 08db lsrs r3, r3, #3 807b0da: b2db uxtb r3, r3 807b0dc: 3330 adds r3, #48 ; 0x30 807b0de: b2da uxtb r2, r3 807b0e0: f507 733b add.w r3, r7, #748 ; 0x2ec 807b0e4: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 807b0e6: 4b30 ldr r3, [pc, #192] ; (807b1a8 ) 807b0e8: 6819 ldr r1, [r3, #0] 807b0ea: 4b2e ldr r3, [pc, #184] ; (807b1a4 ) 807b0ec: fba3 2301 umull r2, r3, r3, r1 807b0f0: 08da lsrs r2, r3, #3 807b0f2: 4613 mov r3, r2 807b0f4: 009b lsls r3, r3, #2 807b0f6: 4413 add r3, r2 807b0f8: 005b lsls r3, r3, #1 807b0fa: 1aca subs r2, r1, r3 807b0fc: b2d3 uxtb r3, r2 807b0fe: 3330 adds r3, #48 ; 0x30 807b100: b2da uxtb r2, r3 807b102: f507 733b add.w r3, r7, #748 ; 0x2ec 807b106: 705a strb r2, [r3, #1] str[2] = ':'; 807b108: f507 733b add.w r3, r7, #748 ; 0x2ec 807b10c: 223a movs r2, #58 ; 0x3a 807b10e: 709a strb r2, [r3, #2] LCD_DisplayString(223, LCD_LINE_5, str); 807b110: f507 733b add.w r3, r7, #748 ; 0x2ec 807b114: 461a mov r2, r3 807b116: 215a movs r1, #90 ; 0x5a 807b118: 20df movs r0, #223 ; 0xdf 807b11a: f7da fe1f bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807b11e: 491d ldr r1, [pc, #116] ; (807b194 ) 807b120: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807b124: f7da f872 bl 805520c memset(str, 0, sizeof(str)); 807b128: f507 733b add.w r3, r7, #748 ; 0x2ec 807b12c: 223c movs r2, #60 ; 0x3c 807b12e: 2100 movs r1, #0 807b130: 4618 mov r0, r3 807b132: f056 ff37 bl 80d1fa4 str[0] = (Minutes / 10) + 48; 807b136: 4b1d ldr r3, [pc, #116] ; (807b1ac ) 807b138: 681b ldr r3, [r3, #0] 807b13a: 4a1a ldr r2, [pc, #104] ; (807b1a4 ) 807b13c: fba2 2303 umull r2, r3, r2, r3 807b140: 08db lsrs r3, r3, #3 807b142: b2db uxtb r3, r3 807b144: 3330 adds r3, #48 ; 0x30 807b146: b2da uxtb r2, r3 807b148: f507 733b add.w r3, r7, #748 ; 0x2ec 807b14c: 701a strb r2, [r3, #0] str[1] = (Minutes % 10) + 48; 807b14e: 4b17 ldr r3, [pc, #92] ; (807b1ac ) 807b150: 6819 ldr r1, [r3, #0] 807b152: 4b14 ldr r3, [pc, #80] ; (807b1a4 ) 807b154: fba3 2301 umull r2, r3, r3, r1 807b158: 08da lsrs r2, r3, #3 807b15a: 4613 mov r3, r2 807b15c: 009b lsls r3, r3, #2 807b15e: 4413 add r3, r2 807b160: 005b lsls r3, r3, #1 807b162: 1aca subs r2, r1, r3 807b164: b2d3 uxtb r3, r2 807b166: 3330 adds r3, #48 ; 0x30 807b168: b2da uxtb r2, r3 807b16a: f507 733b add.w r3, r7, #748 ; 0x2ec 807b16e: 705a strb r2, [r3, #1] if(blk) 807b170: 4b0f ldr r3, [pc, #60] ; (807b1b0 ) 807b172: 681b ldr r3, [r3, #0] 807b174: 2b00 cmp r3, #0 807b176: f01e 803c beq.w 80991f2 LCD_DisplayString(223 + 33, LCD_LINE_5, str); 807b17a: f507 733b add.w r3, r7, #748 ; 0x2ec 807b17e: 461a mov r2, r3 807b180: 215a movs r1, #90 ; 0x5a 807b182: f44f 7080 mov.w r0, #256 ; 0x100 807b186: f7da fde9 bl 8055d5c break; 807b18a: f01e b832 b.w 80991f2 807b18e: bf00 nop 807b190: 20020070 .word 0x20020070 807b194: ff0a0f1f .word 0xff0a0f1f 807b198: 20023eb8 .word 0x20023eb8 807b19c: 200206ac .word 0x200206ac 807b1a0: ffd8aa57 .word 0xffd8aa57 807b1a4: cccccccd .word 0xcccccccd 807b1a8: 2002168c .word 0x2002168c 807b1ac: 20021690 .word 0x20021690 807b1b0: 200216ac .word 0x200216ac case PARAM_VIB: // LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807b1b4: 49d5 ldr r1, [pc, #852] ; (807b50c ) 807b1b6: 48d6 ldr r0, [pc, #856] ; (807b510 ) 807b1b8: f7da f828 bl 805520c BSP_LCD_DrawRect(2, 35, 314, 201); 807b1bc: 23c9 movs r3, #201 ; 0xc9 807b1be: f44f 729d mov.w r2, #314 ; 0x13a 807b1c2: 2123 movs r1, #35 ; 0x23 807b1c4: 2002 movs r0, #2 807b1c6: f7da fb27 bl 8055818 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 807b1ca: 4bd2 ldr r3, [pc, #840] ; (807b514 ) 807b1cc: edd3 7a06 vldr s15, [r3, #24] 807b1d0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 807b1d4: ee67 7a87 vmul.f32 s15, s15, s14 807b1d8: eefc 7ae7 vcvt.u32.f32 s15, s15 807b1dc: ee17 3a90 vmov r3, s15 807b1e0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 807b1e4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807b1e8: 095b lsrs r3, r3, #5 807b1ea: 4acb ldr r2, [pc, #812] ; (807b518 ) 807b1ec: fba2 2303 umull r2, r3, r2, r3 807b1f0: 09db lsrs r3, r3, #7 807b1f2: b2db uxtb r3, r3 807b1f4: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 807b1f8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807b1fc: 0953 lsrs r3, r2, #5 807b1fe: 49c6 ldr r1, [pc, #792] ; (807b518 ) 807b200: fba1 1303 umull r1, r3, r1, r3 807b204: 09db lsrs r3, r3, #7 807b206: 49c5 ldr r1, [pc, #788] ; (807b51c ) 807b208: fb01 f303 mul.w r3, r1, r3 807b20c: 1ad3 subs r3, r2, r3 807b20e: 4ac4 ldr r2, [pc, #784] ; (807b520 ) 807b210: fba2 2303 umull r2, r3, r2, r3 807b214: 0b5b lsrs r3, r3, #13 807b216: b2db uxtb r3, r3 807b218: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 807b21c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807b220: 0953 lsrs r3, r2, #5 807b222: 49bd ldr r1, [pc, #756] ; (807b518 ) 807b224: fba1 1303 umull r1, r3, r1, r3 807b228: 09db lsrs r3, r3, #7 807b22a: 49bc ldr r1, [pc, #752] ; (807b51c ) 807b22c: fb01 f303 mul.w r3, r1, r3 807b230: 1ad3 subs r3, r2, r3 807b232: 4abb ldr r2, [pc, #748] ; (807b520 ) 807b234: fba2 1203 umull r1, r2, r2, r3 807b238: 0b52 lsrs r2, r2, #13 807b23a: f242 7110 movw r1, #10000 ; 0x2710 807b23e: fb01 f202 mul.w r2, r1, r2 807b242: 1a9a subs r2, r3, r2 807b244: 4bb7 ldr r3, [pc, #732] ; (807b524 ) 807b246: fba3 2302 umull r2, r3, r3, r2 807b24a: 099b lsrs r3, r3, #6 807b24c: b2db uxtb r3, r3 807b24e: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 807b252: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807b256: 095a lsrs r2, r3, #5 807b258: 49af ldr r1, [pc, #700] ; (807b518 ) 807b25a: fba1 1202 umull r1, r2, r1, r2 807b25e: 09d2 lsrs r2, r2, #7 807b260: 49ae ldr r1, [pc, #696] ; (807b51c ) 807b262: fb01 f202 mul.w r2, r1, r2 807b266: 1a9a subs r2, r3, r2 807b268: 4bad ldr r3, [pc, #692] ; (807b520 ) 807b26a: fba3 1302 umull r1, r3, r3, r2 807b26e: 0b5b lsrs r3, r3, #13 807b270: f242 7110 movw r1, #10000 ; 0x2710 807b274: fb01 f303 mul.w r3, r1, r3 807b278: 1ad3 subs r3, r2, r3 807b27a: 4aaa ldr r2, [pc, #680] ; (807b524 ) 807b27c: fba2 1203 umull r1, r2, r2, r3 807b280: 0992 lsrs r2, r2, #6 807b282: f44f 717a mov.w r1, #1000 ; 0x3e8 807b286: fb01 f202 mul.w r2, r1, r2 807b28a: 1a9a subs r2, r3, r2 807b28c: 4ba6 ldr r3, [pc, #664] ; (807b528 ) 807b28e: fba3 2302 umull r2, r3, r3, r2 807b292: 095b lsrs r3, r3, #5 807b294: b2db uxtb r3, r3 807b296: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 807b29a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807b29e: 0953 lsrs r3, r2, #5 807b2a0: 499d ldr r1, [pc, #628] ; (807b518 ) 807b2a2: fba1 1303 umull r1, r3, r1, r3 807b2a6: 09db lsrs r3, r3, #7 807b2a8: 499c ldr r1, [pc, #624] ; (807b51c ) 807b2aa: fb01 f303 mul.w r3, r1, r3 807b2ae: 1ad3 subs r3, r2, r3 807b2b0: 4a9b ldr r2, [pc, #620] ; (807b520 ) 807b2b2: fba2 1203 umull r1, r2, r2, r3 807b2b6: 0b52 lsrs r2, r2, #13 807b2b8: f242 7110 movw r1, #10000 ; 0x2710 807b2bc: fb01 f202 mul.w r2, r1, r2 807b2c0: 1a9a subs r2, r3, r2 807b2c2: 4b98 ldr r3, [pc, #608] ; (807b524 ) 807b2c4: fba3 1302 umull r1, r3, r3, r2 807b2c8: 099b lsrs r3, r3, #6 807b2ca: f44f 717a mov.w r1, #1000 ; 0x3e8 807b2ce: fb01 f303 mul.w r3, r1, r3 807b2d2: 1ad3 subs r3, r2, r3 807b2d4: 4a94 ldr r2, [pc, #592] ; (807b528 ) 807b2d6: fba2 1203 umull r1, r2, r2, r3 807b2da: 0952 lsrs r2, r2, #5 807b2dc: 2164 movs r1, #100 ; 0x64 807b2de: fb01 f202 mul.w r2, r1, r2 807b2e2: 1a9a subs r2, r3, r2 807b2e4: 4b91 ldr r3, [pc, #580] ; (807b52c ) 807b2e6: fba3 2302 umull r2, r3, r3, r2 807b2ea: 08db lsrs r3, r3, #3 807b2ec: b2db uxtb r3, r3 807b2ee: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 807b2f2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807b2f6: 0953 lsrs r3, r2, #5 807b2f8: 4987 ldr r1, [pc, #540] ; (807b518 ) 807b2fa: fba1 1303 umull r1, r3, r1, r3 807b2fe: 09db lsrs r3, r3, #7 807b300: 4986 ldr r1, [pc, #536] ; (807b51c ) 807b302: fb01 f303 mul.w r3, r1, r3 807b306: 1ad3 subs r3, r2, r3 807b308: 4a85 ldr r2, [pc, #532] ; (807b520 ) 807b30a: fba2 1203 umull r1, r2, r2, r3 807b30e: 0b52 lsrs r2, r2, #13 807b310: f242 7110 movw r1, #10000 ; 0x2710 807b314: fb01 f202 mul.w r2, r1, r2 807b318: 1a9a subs r2, r3, r2 807b31a: 4b82 ldr r3, [pc, #520] ; (807b524 ) 807b31c: fba3 1302 umull r1, r3, r3, r2 807b320: 099b lsrs r3, r3, #6 807b322: f44f 717a mov.w r1, #1000 ; 0x3e8 807b326: fb01 f303 mul.w r3, r1, r3 807b32a: 1ad3 subs r3, r2, r3 807b32c: 4a7e ldr r2, [pc, #504] ; (807b528 ) 807b32e: fba2 1203 umull r1, r2, r2, r3 807b332: 0952 lsrs r2, r2, #5 807b334: 2164 movs r1, #100 ; 0x64 807b336: fb01 f202 mul.w r2, r1, r2 807b33a: 1a9a subs r2, r3, r2 807b33c: 4b7b ldr r3, [pc, #492] ; (807b52c ) 807b33e: fba3 1302 umull r1, r3, r3, r2 807b342: 08d9 lsrs r1, r3, #3 807b344: 460b mov r3, r1 807b346: 009b lsls r3, r3, #2 807b348: 440b add r3, r1 807b34a: 005b lsls r3, r3, #1 807b34c: 1ad1 subs r1, r2, r3 807b34e: b2cb uxtb r3, r1 807b350: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 807b354: 2300 movs r3, #0 807b356: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str, 0, sizeof(str)); 807b35a: f507 733b add.w r3, r7, #748 ; 0x2ec 807b35e: 223c movs r2, #60 ; 0x3c 807b360: 2100 movs r1, #0 807b362: 4618 mov r0, r3 807b364: f056 fe1e bl 80d1fa4 if(idt2 != 0) 807b368: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807b36c: b2db uxtb r3, r3 807b36e: 2b00 cmp r3, #0 807b370: d00c beq.n 807b38c str[i++] = idt2 + 48; 807b372: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b376: 1c5a adds r2, r3, #1 807b378: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b37c: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 807b380: b2d2 uxtb r2, r2 807b382: 3230 adds r2, #48 ; 0x30 807b384: b2d1 uxtb r1, r2 807b386: f507 723b add.w r2, r7, #748 ; 0x2ec 807b38a: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 807b38c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807b390: b2db uxtb r3, r3 807b392: 2b00 cmp r3, #0 807b394: d104 bne.n 807b3a0 807b396: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807b39a: b2db uxtb r3, r3 807b39c: 2b00 cmp r3, #0 807b39e: d00c beq.n 807b3ba str[i++] = iet2 + 48; 807b3a0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b3a4: 1c5a adds r2, r3, #1 807b3a6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b3aa: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 807b3ae: b2d2 uxtb r2, r2 807b3b0: 3230 adds r2, #48 ; 0x30 807b3b2: b2d1 uxtb r1, r2 807b3b4: f507 723b add.w r2, r7, #748 ; 0x2ec 807b3b8: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 807b3ba: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807b3be: b2db uxtb r3, r3 807b3c0: 2b00 cmp r3, #0 807b3c2: d109 bne.n 807b3d8 807b3c4: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807b3c8: b2db uxtb r3, r3 807b3ca: 2b00 cmp r3, #0 807b3cc: d104 bne.n 807b3d8 807b3ce: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807b3d2: b2db uxtb r3, r3 807b3d4: 2b00 cmp r3, #0 807b3d6: d00c beq.n 807b3f2 str[i++] = ies2 + 48; 807b3d8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b3dc: 1c5a adds r2, r3, #1 807b3de: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b3e2: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 807b3e6: b2d2 uxtb r2, r2 807b3e8: 3230 adds r2, #48 ; 0x30 807b3ea: b2d1 uxtb r1, r2 807b3ec: f507 723b add.w r2, r7, #748 ; 0x2ec 807b3f0: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 807b3f2: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807b3f6: b2db uxtb r3, r3 807b3f8: 2b00 cmp r3, #0 807b3fa: d10e bne.n 807b41a 807b3fc: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807b400: b2db uxtb r3, r3 807b402: 2b00 cmp r3, #0 807b404: d109 bne.n 807b41a 807b406: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807b40a: b2db uxtb r3, r3 807b40c: 2b00 cmp r3, #0 807b40e: d104 bne.n 807b41a 807b410: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807b414: b2db uxtb r3, r3 807b416: 2b00 cmp r3, #0 807b418: d00c beq.n 807b434 str[i++] = ied2 + 48; 807b41a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b41e: 1c5a adds r2, r3, #1 807b420: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b424: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 807b428: b2d2 uxtb r2, r2 807b42a: 3230 adds r2, #48 ; 0x30 807b42c: b2d1 uxtb r1, r2 807b42e: f507 723b add.w r2, r7, #748 ; 0x2ec 807b432: 54d1 strb r1, [r2, r3] str[i++] = iee2 + 48; 807b434: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b438: 1c5a adds r2, r3, #1 807b43a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b43e: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 807b442: b2d2 uxtb r2, r2 807b444: 3230 adds r2, #48 ; 0x30 807b446: b2d1 uxtb r1, r2 807b448: f507 723b add.w r2, r7, #748 ; 0x2ec 807b44c: 54d1 strb r1, [r2, r3] str[i++] = '.'; 807b44e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b452: 1c5a adds r2, r3, #1 807b454: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b458: f507 723b add.w r2, r7, #748 ; 0x2ec 807b45c: 212e movs r1, #46 ; 0x2e 807b45e: 54d1 strb r1, [r2, r3] str[i++] = ikd2 + 48; 807b460: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b464: 1c5a adds r2, r3, #1 807b466: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b46a: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 807b46e: b2d2 uxtb r2, r2 807b470: 3230 adds r2, #48 ; 0x30 807b472: b2d1 uxtb r1, r2 807b474: f507 723b add.w r2, r7, #748 ; 0x2ec 807b478: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.HP * 10.0f); 807b47a: 4b26 ldr r3, [pc, #152] ; (807b514 ) 807b47c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807b480: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 807b484: ee67 7a87 vmul.f32 s15, s15, s14 807b488: eefc 7ae7 vcvt.u32.f32 s15, s15 807b48c: ee17 3a90 vmov r3, s15 807b490: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 807b494: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807b498: 095b lsrs r3, r3, #5 807b49a: 4a1f ldr r2, [pc, #124] ; (807b518 ) 807b49c: fba2 2303 umull r2, r3, r2, r3 807b4a0: 09db lsrs r3, r3, #7 807b4a2: b2db uxtb r3, r3 807b4a4: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 ietHP = (uint8_t) (k % 100000 / 10000); 807b4a8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807b4ac: 0953 lsrs r3, r2, #5 807b4ae: 491a ldr r1, [pc, #104] ; (807b518 ) 807b4b0: fba1 1303 umull r1, r3, r1, r3 807b4b4: 09db lsrs r3, r3, #7 807b4b6: 4919 ldr r1, [pc, #100] ; (807b51c ) 807b4b8: fb01 f303 mul.w r3, r1, r3 807b4bc: 1ad3 subs r3, r2, r3 807b4be: 4a18 ldr r2, [pc, #96] ; (807b520 ) 807b4c0: fba2 2303 umull r2, r3, r2, r3 807b4c4: 0b5b lsrs r3, r3, #13 807b4c6: b2db uxtb r3, r3 807b4c8: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 807b4cc: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807b4d0: 0953 lsrs r3, r2, #5 807b4d2: 4911 ldr r1, [pc, #68] ; (807b518 ) 807b4d4: fba1 1303 umull r1, r3, r1, r3 807b4d8: 09db lsrs r3, r3, #7 807b4da: 4910 ldr r1, [pc, #64] ; (807b51c ) 807b4dc: fb01 f303 mul.w r3, r1, r3 807b4e0: 1ad3 subs r3, r2, r3 807b4e2: 4a0f ldr r2, [pc, #60] ; (807b520 ) 807b4e4: fba2 1203 umull r1, r2, r2, r3 807b4e8: 0b52 lsrs r2, r2, #13 807b4ea: f242 7110 movw r1, #10000 ; 0x2710 807b4ee: fb01 f202 mul.w r2, r1, r2 807b4f2: 1a9a subs r2, r3, r2 807b4f4: 4b0b ldr r3, [pc, #44] ; (807b524 ) 807b4f6: fba3 2302 umull r2, r3, r3, r2 807b4fa: 099b lsrs r3, r3, #6 807b4fc: b2db uxtb r3, r3 807b4fe: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 807b502: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807b506: 095a lsrs r2, r3, #5 807b508: e012 b.n 807b530 807b50a: bf00 nop 807b50c: ff0a0f1f .word 0xff0a0f1f 807b510: ffd3d3d3 .word 0xffd3d3d3 807b514: 20023eb8 .word 0x20023eb8 807b518: 0a7c5ac5 .word 0x0a7c5ac5 807b51c: 000186a0 .word 0x000186a0 807b520: d1b71759 .word 0xd1b71759 807b524: 10624dd3 .word 0x10624dd3 807b528: 51eb851f .word 0x51eb851f 807b52c: cccccccd .word 0xcccccccd 807b530: 49d6 ldr r1, [pc, #856] ; (807b88c ) 807b532: fba1 1202 umull r1, r2, r1, r2 807b536: 09d2 lsrs r2, r2, #7 807b538: 49d5 ldr r1, [pc, #852] ; (807b890 ) 807b53a: fb01 f202 mul.w r2, r1, r2 807b53e: 1a9a subs r2, r3, r2 807b540: 4bd4 ldr r3, [pc, #848] ; (807b894 ) 807b542: fba3 1302 umull r1, r3, r3, r2 807b546: 0b5b lsrs r3, r3, #13 807b548: f242 7110 movw r1, #10000 ; 0x2710 807b54c: fb01 f303 mul.w r3, r1, r3 807b550: 1ad3 subs r3, r2, r3 807b552: 4ad1 ldr r2, [pc, #836] ; (807b898 ) 807b554: fba2 1203 umull r1, r2, r2, r3 807b558: 0992 lsrs r2, r2, #6 807b55a: f44f 717a mov.w r1, #1000 ; 0x3e8 807b55e: fb01 f202 mul.w r2, r1, r2 807b562: 1a9a subs r2, r3, r2 807b564: 4bcd ldr r3, [pc, #820] ; (807b89c ) 807b566: fba3 2302 umull r2, r3, r3, r2 807b56a: 095b lsrs r3, r3, #5 807b56c: b2db uxtb r3, r3 807b56e: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 807b572: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807b576: 0953 lsrs r3, r2, #5 807b578: 49c4 ldr r1, [pc, #784] ; (807b88c ) 807b57a: fba1 1303 umull r1, r3, r1, r3 807b57e: 09db lsrs r3, r3, #7 807b580: 49c3 ldr r1, [pc, #780] ; (807b890 ) 807b582: fb01 f303 mul.w r3, r1, r3 807b586: 1ad3 subs r3, r2, r3 807b588: 4ac2 ldr r2, [pc, #776] ; (807b894 ) 807b58a: fba2 1203 umull r1, r2, r2, r3 807b58e: 0b52 lsrs r2, r2, #13 807b590: f242 7110 movw r1, #10000 ; 0x2710 807b594: fb01 f202 mul.w r2, r1, r2 807b598: 1a9a subs r2, r3, r2 807b59a: 4bbf ldr r3, [pc, #764] ; (807b898 ) 807b59c: fba3 1302 umull r1, r3, r3, r2 807b5a0: 099b lsrs r3, r3, #6 807b5a2: f44f 717a mov.w r1, #1000 ; 0x3e8 807b5a6: fb01 f303 mul.w r3, r1, r3 807b5aa: 1ad3 subs r3, r2, r3 807b5ac: 4abb ldr r2, [pc, #748] ; (807b89c ) 807b5ae: fba2 1203 umull r1, r2, r2, r3 807b5b2: 0952 lsrs r2, r2, #5 807b5b4: 2164 movs r1, #100 ; 0x64 807b5b6: fb01 f202 mul.w r2, r1, r2 807b5ba: 1a9a subs r2, r3, r2 807b5bc: 4bb8 ldr r3, [pc, #736] ; (807b8a0 ) 807b5be: fba3 2302 umull r2, r3, r3, r2 807b5c2: 08db lsrs r3, r3, #3 807b5c4: b2db uxtb r3, r3 807b5c6: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 807b5ca: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807b5ce: 0953 lsrs r3, r2, #5 807b5d0: 49ae ldr r1, [pc, #696] ; (807b88c ) 807b5d2: fba1 1303 umull r1, r3, r1, r3 807b5d6: 09db lsrs r3, r3, #7 807b5d8: 49ad ldr r1, [pc, #692] ; (807b890 ) 807b5da: fb01 f303 mul.w r3, r1, r3 807b5de: 1ad3 subs r3, r2, r3 807b5e0: 4aac ldr r2, [pc, #688] ; (807b894 ) 807b5e2: fba2 1203 umull r1, r2, r2, r3 807b5e6: 0b52 lsrs r2, r2, #13 807b5e8: f242 7110 movw r1, #10000 ; 0x2710 807b5ec: fb01 f202 mul.w r2, r1, r2 807b5f0: 1a9a subs r2, r3, r2 807b5f2: 4ba9 ldr r3, [pc, #676] ; (807b898 ) 807b5f4: fba3 1302 umull r1, r3, r3, r2 807b5f8: 099b lsrs r3, r3, #6 807b5fa: f44f 717a mov.w r1, #1000 ; 0x3e8 807b5fe: fb01 f303 mul.w r3, r1, r3 807b602: 1ad3 subs r3, r2, r3 807b604: 4aa5 ldr r2, [pc, #660] ; (807b89c ) 807b606: fba2 1203 umull r1, r2, r2, r3 807b60a: 0952 lsrs r2, r2, #5 807b60c: 2164 movs r1, #100 ; 0x64 807b60e: fb01 f202 mul.w r2, r1, r2 807b612: 1a9a subs r2, r3, r2 807b614: 4ba2 ldr r3, [pc, #648] ; (807b8a0 ) 807b616: fba3 1302 umull r1, r3, r3, r2 807b61a: 08d9 lsrs r1, r3, #3 807b61c: 460b mov r3, r1 807b61e: 009b lsls r3, r3, #2 807b620: 440b add r3, r1 807b622: 005b lsls r3, r3, #1 807b624: 1ad1 subs r1, r2, r3 807b626: b2cb uxtb r3, r1 807b628: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 807b62c: 2300 movs r3, #0 807b62e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 807b632: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807b636: 220c movs r2, #12 807b638: 2100 movs r1, #0 807b63a: 4618 mov r0, r3 807b63c: f056 fcb2 bl 80d1fa4 if(idtHP != 0) 807b640: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807b644: b2db uxtb r3, r3 807b646: 2b00 cmp r3, #0 807b648: d00c beq.n 807b664 strHP[i++] = idtHP + 48; 807b64a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b64e: 1c5a adds r2, r3, #1 807b650: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b654: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 807b658: b2d2 uxtb r2, r2 807b65a: 3230 adds r2, #48 ; 0x30 807b65c: b2d1 uxtb r1, r2 807b65e: f507 72d2 add.w r2, r7, #420 ; 0x1a4 807b662: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 807b664: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807b668: b2db uxtb r3, r3 807b66a: 2b00 cmp r3, #0 807b66c: d104 bne.n 807b678 807b66e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807b672: b2db uxtb r3, r3 807b674: 2b00 cmp r3, #0 807b676: d00c beq.n 807b692 strHP[i++] = ietHP + 48; 807b678: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b67c: 1c5a adds r2, r3, #1 807b67e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b682: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 807b686: b2d2 uxtb r2, r2 807b688: 3230 adds r2, #48 ; 0x30 807b68a: b2d1 uxtb r1, r2 807b68c: f507 72d2 add.w r2, r7, #420 ; 0x1a4 807b690: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 807b692: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807b696: b2db uxtb r3, r3 807b698: 2b00 cmp r3, #0 807b69a: d109 bne.n 807b6b0 807b69c: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807b6a0: b2db uxtb r3, r3 807b6a2: 2b00 cmp r3, #0 807b6a4: d104 bne.n 807b6b0 807b6a6: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807b6aa: b2db uxtb r3, r3 807b6ac: 2b00 cmp r3, #0 807b6ae: d00c beq.n 807b6ca strHP[i++] = iesHP + 48; 807b6b0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b6b4: 1c5a adds r2, r3, #1 807b6b6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b6ba: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 807b6be: b2d2 uxtb r2, r2 807b6c0: 3230 adds r2, #48 ; 0x30 807b6c2: b2d1 uxtb r1, r2 807b6c4: f507 72d2 add.w r2, r7, #420 ; 0x1a4 807b6c8: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 807b6ca: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807b6ce: b2db uxtb r3, r3 807b6d0: 2b00 cmp r3, #0 807b6d2: d10e bne.n 807b6f2 807b6d4: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807b6d8: b2db uxtb r3, r3 807b6da: 2b00 cmp r3, #0 807b6dc: d109 bne.n 807b6f2 807b6de: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807b6e2: b2db uxtb r3, r3 807b6e4: 2b00 cmp r3, #0 807b6e6: d104 bne.n 807b6f2 807b6e8: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807b6ec: b2db uxtb r3, r3 807b6ee: 2b00 cmp r3, #0 807b6f0: d00c beq.n 807b70c strHP[i++] = iedHP + 48; 807b6f2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b6f6: 1c5a adds r2, r3, #1 807b6f8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b6fc: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 807b700: b2d2 uxtb r2, r2 807b702: 3230 adds r2, #48 ; 0x30 807b704: b2d1 uxtb r1, r2 807b706: f507 72d2 add.w r2, r7, #420 ; 0x1a4 807b70a: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 807b70c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b710: 1c5a adds r2, r3, #1 807b712: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b716: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 807b71a: b2d2 uxtb r2, r2 807b71c: 3230 adds r2, #48 ; 0x30 807b71e: b2d1 uxtb r1, r2 807b720: f507 72d2 add.w r2, r7, #420 ; 0x1a4 807b724: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 807b726: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b72a: 1c5a adds r2, r3, #1 807b72c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b730: f507 72d2 add.w r2, r7, #420 ; 0x1a4 807b734: 212e movs r1, #46 ; 0x2e 807b736: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 807b738: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b73c: 1c5a adds r2, r3, #1 807b73e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b742: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 807b746: b2d2 uxtb r2, r2 807b748: 3230 adds r2, #48 ; 0x30 807b74a: b2d1 uxtb r1, r2 807b74c: f507 72d2 add.w r2, r7, #420 ; 0x1a4 807b750: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.LP * 10.0f); 807b752: 4b54 ldr r3, [pc, #336] ; (807b8a4 ) 807b754: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 807b758: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 807b75c: ee67 7a87 vmul.f32 s15, s15, s14 807b760: eefc 7ae7 vcvt.u32.f32 s15, s15 807b764: ee17 3a90 vmov r3, s15 807b768: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 807b76c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807b770: 095b lsrs r3, r3, #5 807b772: 4a46 ldr r2, [pc, #280] ; (807b88c ) 807b774: fba2 2303 umull r2, r3, r2, r3 807b778: 09db lsrs r3, r3, #7 807b77a: b2db uxtb r3, r3 807b77c: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 807b780: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807b784: 0953 lsrs r3, r2, #5 807b786: 4941 ldr r1, [pc, #260] ; (807b88c ) 807b788: fba1 1303 umull r1, r3, r1, r3 807b78c: 09db lsrs r3, r3, #7 807b78e: 4940 ldr r1, [pc, #256] ; (807b890 ) 807b790: fb01 f303 mul.w r3, r1, r3 807b794: 1ad3 subs r3, r2, r3 807b796: 4a3f ldr r2, [pc, #252] ; (807b894 ) 807b798: fba2 2303 umull r2, r3, r2, r3 807b79c: 0b5b lsrs r3, r3, #13 807b79e: b2db uxtb r3, r3 807b7a0: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 807b7a4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807b7a8: 0953 lsrs r3, r2, #5 807b7aa: 4938 ldr r1, [pc, #224] ; (807b88c ) 807b7ac: fba1 1303 umull r1, r3, r1, r3 807b7b0: 09db lsrs r3, r3, #7 807b7b2: 4937 ldr r1, [pc, #220] ; (807b890 ) 807b7b4: fb01 f303 mul.w r3, r1, r3 807b7b8: 1ad3 subs r3, r2, r3 807b7ba: 4a36 ldr r2, [pc, #216] ; (807b894 ) 807b7bc: fba2 1203 umull r1, r2, r2, r3 807b7c0: 0b52 lsrs r2, r2, #13 807b7c2: f242 7110 movw r1, #10000 ; 0x2710 807b7c6: fb01 f202 mul.w r2, r1, r2 807b7ca: 1a9a subs r2, r3, r2 807b7cc: 4b32 ldr r3, [pc, #200] ; (807b898 ) 807b7ce: fba3 2302 umull r2, r3, r3, r2 807b7d2: 099b lsrs r3, r3, #6 807b7d4: b2db uxtb r3, r3 807b7d6: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 807b7da: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807b7de: 095a lsrs r2, r3, #5 807b7e0: 492a ldr r1, [pc, #168] ; (807b88c ) 807b7e2: fba1 1202 umull r1, r2, r1, r2 807b7e6: 09d2 lsrs r2, r2, #7 807b7e8: 4929 ldr r1, [pc, #164] ; (807b890 ) 807b7ea: fb01 f202 mul.w r2, r1, r2 807b7ee: 1a9a subs r2, r3, r2 807b7f0: 4b28 ldr r3, [pc, #160] ; (807b894 ) 807b7f2: fba3 1302 umull r1, r3, r3, r2 807b7f6: 0b5b lsrs r3, r3, #13 807b7f8: f242 7110 movw r1, #10000 ; 0x2710 807b7fc: fb01 f303 mul.w r3, r1, r3 807b800: 1ad3 subs r3, r2, r3 807b802: 4a25 ldr r2, [pc, #148] ; (807b898 ) 807b804: fba2 1203 umull r1, r2, r2, r3 807b808: 0992 lsrs r2, r2, #6 807b80a: f44f 717a mov.w r1, #1000 ; 0x3e8 807b80e: fb01 f202 mul.w r2, r1, r2 807b812: 1a9a subs r2, r3, r2 807b814: 4b21 ldr r3, [pc, #132] ; (807b89c ) 807b816: fba3 2302 umull r2, r3, r3, r2 807b81a: 095b lsrs r3, r3, #5 807b81c: b2db uxtb r3, r3 807b81e: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 807b822: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807b826: 0953 lsrs r3, r2, #5 807b828: 4918 ldr r1, [pc, #96] ; (807b88c ) 807b82a: fba1 1303 umull r1, r3, r1, r3 807b82e: 09db lsrs r3, r3, #7 807b830: 4917 ldr r1, [pc, #92] ; (807b890 ) 807b832: fb01 f303 mul.w r3, r1, r3 807b836: 1ad3 subs r3, r2, r3 807b838: 4a16 ldr r2, [pc, #88] ; (807b894 ) 807b83a: fba2 1203 umull r1, r2, r2, r3 807b83e: 0b52 lsrs r2, r2, #13 807b840: f242 7110 movw r1, #10000 ; 0x2710 807b844: fb01 f202 mul.w r2, r1, r2 807b848: 1a9a subs r2, r3, r2 807b84a: 4b13 ldr r3, [pc, #76] ; (807b898 ) 807b84c: fba3 1302 umull r1, r3, r3, r2 807b850: 099b lsrs r3, r3, #6 807b852: f44f 717a mov.w r1, #1000 ; 0x3e8 807b856: fb01 f303 mul.w r3, r1, r3 807b85a: 1ad3 subs r3, r2, r3 807b85c: 4a0f ldr r2, [pc, #60] ; (807b89c ) 807b85e: fba2 1203 umull r1, r2, r2, r3 807b862: 0952 lsrs r2, r2, #5 807b864: 2164 movs r1, #100 ; 0x64 807b866: fb01 f202 mul.w r2, r1, r2 807b86a: 1a9a subs r2, r3, r2 807b86c: 4b0c ldr r3, [pc, #48] ; (807b8a0 ) 807b86e: fba3 2302 umull r2, r3, r3, r2 807b872: 08db lsrs r3, r3, #3 807b874: b2db uxtb r3, r3 807b876: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 807b87a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807b87e: 0953 lsrs r3, r2, #5 807b880: 4902 ldr r1, [pc, #8] ; (807b88c ) 807b882: fba1 1303 umull r1, r3, r1, r3 807b886: 09db lsrs r3, r3, #7 807b888: e00e b.n 807b8a8 807b88a: bf00 nop 807b88c: 0a7c5ac5 .word 0x0a7c5ac5 807b890: 000186a0 .word 0x000186a0 807b894: d1b71759 .word 0xd1b71759 807b898: 10624dd3 .word 0x10624dd3 807b89c: 51eb851f .word 0x51eb851f 807b8a0: cccccccd .word 0xcccccccd 807b8a4: 20023eb8 .word 0x20023eb8 807b8a8: 497e ldr r1, [pc, #504] ; (807baa4 ) 807b8aa: fb01 f303 mul.w r3, r1, r3 807b8ae: 1ad3 subs r3, r2, r3 807b8b0: 4a7d ldr r2, [pc, #500] ; (807baa8 ) 807b8b2: fba2 1203 umull r1, r2, r2, r3 807b8b6: 0b52 lsrs r2, r2, #13 807b8b8: f242 7110 movw r1, #10000 ; 0x2710 807b8bc: fb01 f202 mul.w r2, r1, r2 807b8c0: 1a9a subs r2, r3, r2 807b8c2: 4b7a ldr r3, [pc, #488] ; (807baac ) 807b8c4: fba3 1302 umull r1, r3, r3, r2 807b8c8: 099b lsrs r3, r3, #6 807b8ca: f44f 717a mov.w r1, #1000 ; 0x3e8 807b8ce: fb01 f303 mul.w r3, r1, r3 807b8d2: 1ad3 subs r3, r2, r3 807b8d4: 4a76 ldr r2, [pc, #472] ; (807bab0 ) 807b8d6: fba2 1203 umull r1, r2, r2, r3 807b8da: 0952 lsrs r2, r2, #5 807b8dc: 2164 movs r1, #100 ; 0x64 807b8de: fb01 f202 mul.w r2, r1, r2 807b8e2: 1a9a subs r2, r3, r2 807b8e4: 4b73 ldr r3, [pc, #460] ; (807bab4 ) 807b8e6: fba3 1302 umull r1, r3, r3, r2 807b8ea: 08d9 lsrs r1, r3, #3 807b8ec: 460b mov r3, r1 807b8ee: 009b lsls r3, r3, #2 807b8f0: 440b add r3, r1 807b8f2: 005b lsls r3, r3, #1 807b8f4: 1ad1 subs r1, r2, r3 807b8f6: b2cb uxtb r3, r1 807b8f8: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 807b8fc: 2300 movs r3, #0 807b8fe: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 807b902: f507 73cc add.w r3, r7, #408 ; 0x198 807b906: 220c movs r2, #12 807b908: 2100 movs r1, #0 807b90a: 4618 mov r0, r3 807b90c: f056 fb4a bl 80d1fa4 if(idtLP != 0) 807b910: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807b914: b2db uxtb r3, r3 807b916: 2b00 cmp r3, #0 807b918: d00c beq.n 807b934 strLP[i++] = idtLP + 48; 807b91a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b91e: 1c5a adds r2, r3, #1 807b920: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b924: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 807b928: b2d2 uxtb r2, r2 807b92a: 3230 adds r2, #48 ; 0x30 807b92c: b2d1 uxtb r1, r2 807b92e: f507 72cc add.w r2, r7, #408 ; 0x198 807b932: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 807b934: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807b938: b2db uxtb r3, r3 807b93a: 2b00 cmp r3, #0 807b93c: d104 bne.n 807b948 807b93e: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807b942: b2db uxtb r3, r3 807b944: 2b00 cmp r3, #0 807b946: d00c beq.n 807b962 strLP[i++] = ietLP + 48; 807b948: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b94c: 1c5a adds r2, r3, #1 807b94e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b952: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 807b956: b2d2 uxtb r2, r2 807b958: 3230 adds r2, #48 ; 0x30 807b95a: b2d1 uxtb r1, r2 807b95c: f507 72cc add.w r2, r7, #408 ; 0x198 807b960: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 807b962: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807b966: b2db uxtb r3, r3 807b968: 2b00 cmp r3, #0 807b96a: d109 bne.n 807b980 807b96c: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807b970: b2db uxtb r3, r3 807b972: 2b00 cmp r3, #0 807b974: d104 bne.n 807b980 807b976: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807b97a: b2db uxtb r3, r3 807b97c: 2b00 cmp r3, #0 807b97e: d00c beq.n 807b99a strLP[i++] = iesLP + 48; 807b980: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b984: 1c5a adds r2, r3, #1 807b986: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b98a: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 807b98e: b2d2 uxtb r2, r2 807b990: 3230 adds r2, #48 ; 0x30 807b992: b2d1 uxtb r1, r2 807b994: f507 72cc add.w r2, r7, #408 ; 0x198 807b998: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 807b99a: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807b99e: b2db uxtb r3, r3 807b9a0: 2b00 cmp r3, #0 807b9a2: d10e bne.n 807b9c2 807b9a4: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807b9a8: b2db uxtb r3, r3 807b9aa: 2b00 cmp r3, #0 807b9ac: d109 bne.n 807b9c2 807b9ae: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807b9b2: b2db uxtb r3, r3 807b9b4: 2b00 cmp r3, #0 807b9b6: d104 bne.n 807b9c2 807b9b8: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807b9bc: b2db uxtb r3, r3 807b9be: 2b00 cmp r3, #0 807b9c0: d00c beq.n 807b9dc strLP[i++] = iedLP + 48; 807b9c2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b9c6: 1c5a adds r2, r3, #1 807b9c8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b9cc: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 807b9d0: b2d2 uxtb r2, r2 807b9d2: 3230 adds r2, #48 ; 0x30 807b9d4: b2d1 uxtb r1, r2 807b9d6: f507 72cc add.w r2, r7, #408 ; 0x198 807b9da: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 807b9dc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b9e0: 1c5a adds r2, r3, #1 807b9e2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807b9e6: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 807b9ea: b2d2 uxtb r2, r2 807b9ec: 3230 adds r2, #48 ; 0x30 807b9ee: b2d1 uxtb r1, r2 807b9f0: f507 72cc add.w r2, r7, #408 ; 0x198 807b9f4: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 807b9f6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807b9fa: 1c5a adds r2, r3, #1 807b9fc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ba00: f507 72cc add.w r2, r7, #408 ; 0x198 807ba04: 212e movs r1, #46 ; 0x2e 807ba06: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 807ba08: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ba0c: 1c5a adds r2, r3, #1 807ba0e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ba12: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 807ba16: b2d2 uxtb r2, r2 807ba18: 3230 adds r2, #48 ; 0x30 807ba1a: b2d1 uxtb r1, r2 807ba1c: f507 72cc add.w r2, r7, #408 ; 0x198 807ba20: 54d1 strb r1, [r2, r3] //**************************************************************** l = strlen(MeasFileName); 807ba22: 4825 ldr r0, [pc, #148] ; (807bab8 ) 807ba24: f7a4 fc76 bl 8020314 807ba28: 4603 mov r3, r0 807ba2a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 807ba2e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 807ba32: 2b09 cmp r3, #9 807ba34: d806 bhi.n 807ba44 { strcpy(str1, MeasFileName); 807ba36: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807ba3a: 491f ldr r1, [pc, #124] ; (807bab8 ) 807ba3c: 4618 mov r0, r3 807ba3e: f056 fbce bl 80d21de 807ba42: e070 b.n 807bb26 } else { memset(str1, 0x20, sizeof(str1)); 807ba44: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807ba48: f44f 7280 mov.w r2, #256 ; 0x100 807ba4c: 2120 movs r1, #32 807ba4e: 4618 mov r0, r3 807ba50: f056 faa8 bl 80d1fa4 if(tme <= l) 807ba54: 4b19 ldr r3, [pc, #100] ; (807babc ) 807ba56: 681a ldr r2, [r3, #0] 807ba58: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 807ba5c: 429a cmp r2, r3 807ba5e: d82f bhi.n 807bac0 { if(l - tme >= 9) 807ba60: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 807ba64: 4b15 ldr r3, [pc, #84] ; (807babc ) 807ba66: 681b ldr r3, [r3, #0] 807ba68: 1ad3 subs r3, r2, r3 807ba6a: 2b08 cmp r3, #8 807ba6c: d90a bls.n 807ba84 memcpy(str1, &MeasFileName[tme], 9); 807ba6e: 4b13 ldr r3, [pc, #76] ; (807babc ) 807ba70: 681b ldr r3, [r3, #0] 807ba72: 4a11 ldr r2, [pc, #68] ; (807bab8 ) 807ba74: 1899 adds r1, r3, r2 807ba76: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807ba7a: 2209 movs r2, #9 807ba7c: 4618 mov r0, r3 807ba7e: f056 fa86 bl 80d1f8e 807ba82: e02f b.n 807bae4 else memcpy(str1, &MeasFileName[tme], l - tme); 807ba84: 4b0d ldr r3, [pc, #52] ; (807babc ) 807ba86: 681b ldr r3, [r3, #0] 807ba88: 4a0b ldr r2, [pc, #44] ; (807bab8 ) 807ba8a: 1899 adds r1, r3, r2 807ba8c: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 807ba90: 4b0a ldr r3, [pc, #40] ; (807babc ) 807ba92: 681b ldr r3, [r3, #0] 807ba94: 1ad2 subs r2, r2, r3 807ba96: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807ba9a: 4618 mov r0, r3 807ba9c: f056 fa77 bl 80d1f8e 807baa0: e020 b.n 807bae4 807baa2: bf00 nop 807baa4: 000186a0 .word 0x000186a0 807baa8: d1b71759 .word 0xd1b71759 807baac: 10624dd3 .word 0x10624dd3 807bab0: 51eb851f .word 0x51eb851f 807bab4: cccccccd .word 0xcccccccd 807bab8: 20020e80 .word 0x20020e80 807babc: 200216b8 .word 0x200216b8 } else { memcpy(&str1[9 - (tme - l)], MeasFileName, tme - l); 807bac0: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 807bac4: 4b97 ldr r3, [pc, #604] ; (807bd24 ) 807bac6: 681b ldr r3, [r3, #0] 807bac8: 1ad3 subs r3, r2, r3 807baca: 3309 adds r3, #9 807bacc: f507 72f6 add.w r2, r7, #492 ; 0x1ec 807bad0: 18d0 adds r0, r2, r3 807bad2: 4b94 ldr r3, [pc, #592] ; (807bd24 ) 807bad4: 681a ldr r2, [r3, #0] 807bad6: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 807bada: 1ad3 subs r3, r2, r3 807badc: 461a mov r2, r3 807bade: 4992 ldr r1, [pc, #584] ; (807bd28 ) 807bae0: f056 fa55 bl 80d1f8e } str1[10] = '\0'; 807bae4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807bae8: 2200 movs r2, #0 807baea: 729a strb r2, [r3, #10] tt++; 807baec: 4b8f ldr r3, [pc, #572] ; (807bd2c ) 807baee: 781b ldrb r3, [r3, #0] 807baf0: 3301 adds r3, #1 807baf2: b2da uxtb r2, r3 807baf4: 4b8d ldr r3, [pc, #564] ; (807bd2c ) 807baf6: 701a strb r2, [r3, #0] if(tt >= 4) 807baf8: 4b8c ldr r3, [pc, #560] ; (807bd2c ) 807bafa: 781b ldrb r3, [r3, #0] 807bafc: 2b03 cmp r3, #3 807bafe: d912 bls.n 807bb26 { tt = 0; 807bb00: 4b8a ldr r3, [pc, #552] ; (807bd2c ) 807bb02: 2200 movs r2, #0 807bb04: 701a strb r2, [r3, #0] tme++; 807bb06: 4b87 ldr r3, [pc, #540] ; (807bd24 ) 807bb08: 681b ldr r3, [r3, #0] 807bb0a: 3301 adds r3, #1 807bb0c: 4a85 ldr r2, [pc, #532] ; (807bd24 ) 807bb0e: 6013 str r3, [r2, #0] if(9 - (tme - l) == 0) 807bb10: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 807bb14: 4b83 ldr r3, [pc, #524] ; (807bd24 ) 807bb16: 681b ldr r3, [r3, #0] 807bb18: 1ad3 subs r3, r2, r3 807bb1a: f113 0f09 cmn.w r3, #9 807bb1e: d102 bne.n 807bb26 { tme = 0; 807bb20: 4b80 ldr r3, [pc, #512] ; (807bd24 ) 807bb22: 2200 movs r2, #0 807bb24: 601a str r2, [r3, #0] } //**************************************************************** LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807bb26: 4982 ldr r1, [pc, #520] ; (807bd30 ) 807bb28: f04f 30ff mov.w r0, #4294967295 807bb2c: f7d9 fb6e bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_PARAM_VIB[pardata.LANG][0]); //"ÔÂ×" 807bb30: 4b80 ldr r3, [pc, #512] ; (807bd34 ) 807bb32: 7b1b ldrb r3, [r3, #12] 807bb34: b2db uxtb r3, r3 807bb36: 4619 mov r1, r3 807bb38: 4a7f ldr r2, [pc, #508] ; (807bd38 ) 807bb3a: 232c movs r3, #44 ; 0x2c 807bb3c: fb03 f301 mul.w r3, r3, r1 807bb40: 4413 add r3, r2 807bb42: 681b ldr r3, [r3, #0] 807bb44: 461a mov r2, r3 807bb46: 213a movs r1, #58 ; 0x3a 807bb48: 200a movs r0, #10 807bb4a: f7da f907 bl 8055d5c LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_PARAM_VIB[pardata.LANG][1]); //"ÔÍ×" 807bb4e: 4b79 ldr r3, [pc, #484] ; (807bd34 ) 807bb50: 7b1b ldrb r3, [r3, #12] 807bb52: b2db uxtb r3, r3 807bb54: 4619 mov r1, r3 807bb56: 4a78 ldr r2, [pc, #480] ; (807bd38 ) 807bb58: 232c movs r3, #44 ; 0x2c 807bb5a: fb03 f301 mul.w r3, r3, r1 807bb5e: 4413 add r3, r2 807bb60: 3304 adds r3, #4 807bb62: 681b ldr r3, [r3, #0] 807bb64: 461a mov r2, r3 807bb66: 214a movs r1, #74 ; 0x4a 807bb68: 200a movs r0, #10 807bb6a: f7da f8f7 bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_PARAM_VIB[pardata.LANG][2]); //"Çíà÷åíèå Óñêîð-èÿ" 807bb6e: 4b71 ldr r3, [pc, #452] ; (807bd34 ) 807bb70: 7b1b ldrb r3, [r3, #12] 807bb72: b2db uxtb r3, r3 807bb74: 4619 mov r1, r3 807bb76: 4a70 ldr r2, [pc, #448] ; (807bd38 ) 807bb78: 232c movs r3, #44 ; 0x2c 807bb7a: fb03 f301 mul.w r3, r3, r1 807bb7e: 4413 add r3, r2 807bb80: 3308 adds r3, #8 807bb82: 681b ldr r3, [r3, #0] 807bb84: 461a mov r2, r3 807bb86: 215a movs r1, #90 ; 0x5a 807bb88: 200a movs r0, #10 807bb8a: f7da f8e7 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_PARAM_VIB[pardata.LANG][5]); //"Óñðåäíåíèå" 807bb8e: 4b69 ldr r3, [pc, #420] ; (807bd34 ) 807bb90: 7b1b ldrb r3, [r3, #12] 807bb92: b2db uxtb r3, r3 807bb94: 4619 mov r1, r3 807bb96: 4a68 ldr r2, [pc, #416] ; (807bd38 ) 807bb98: 232c movs r3, #44 ; 0x2c 807bb9a: fb03 f301 mul.w r3, r3, r1 807bb9e: 4413 add r3, r2 807bba0: 3314 adds r3, #20 807bba2: 681b ldr r3, [r3, #0] 807bba4: 461a mov r2, r3 807bba6: 218a movs r1, #138 ; 0x8a 807bba8: 200a movs r0, #10 807bbaa: f7da f8d7 bl 8055d5c LCD_DisplayString(10, LCD_LINE_9, (char *)TEXT_PARAM_VIB[pardata.LANG][6]); //"Ìåäèàíà" 807bbae: 4b61 ldr r3, [pc, #388] ; (807bd34 ) 807bbb0: 7b1b ldrb r3, [r3, #12] 807bbb2: b2db uxtb r3, r3 807bbb4: 4619 mov r1, r3 807bbb6: 4a60 ldr r2, [pc, #384] ; (807bd38 ) 807bbb8: 232c movs r3, #44 ; 0x2c 807bbba: fb03 f301 mul.w r3, r3, r1 807bbbe: 4413 add r3, r2 807bbc0: 3318 adds r3, #24 807bbc2: 681b ldr r3, [r3, #0] 807bbc4: 461a mov r2, r3 807bbc6: 219a movs r1, #154 ; 0x9a 807bbc8: 200a movs r0, #10 807bbca: f7da f8c7 bl 8055d5c LCD_DisplayString(10, LCD_LINE_10, (char *)TEXT_PARAM_VIB[pardata.LANG][7]); //"×àñòîòà êîëåáàíèé" 807bbce: 4b59 ldr r3, [pc, #356] ; (807bd34 ) 807bbd0: 7b1b ldrb r3, [r3, #12] 807bbd2: b2db uxtb r3, r3 807bbd4: 4619 mov r1, r3 807bbd6: 4a58 ldr r2, [pc, #352] ; (807bd38 ) 807bbd8: 232c movs r3, #44 ; 0x2c 807bbda: fb03 f301 mul.w r3, r3, r1 807bbde: 4413 add r3, r2 807bbe0: 331c adds r3, #28 807bbe2: 681b ldr r3, [r3, #0] 807bbe4: 461a mov r2, r3 807bbe6: 21aa movs r1, #170 ; 0xaa 807bbe8: 200a movs r0, #10 807bbea: f7da f8b7 bl 8055d5c LCD_DisplayString(10, LCD_LINE_11, (char *)TEXT_PARAM_VIB[pardata.LANG][8]); //"Àâòîóñèëåíèå" 807bbee: 4b51 ldr r3, [pc, #324] ; (807bd34 ) 807bbf0: 7b1b ldrb r3, [r3, #12] 807bbf2: b2db uxtb r3, r3 807bbf4: 4619 mov r1, r3 807bbf6: 4a50 ldr r2, [pc, #320] ; (807bd38 ) 807bbf8: 232c movs r3, #44 ; 0x2c 807bbfa: fb03 f301 mul.w r3, r3, r1 807bbfe: 4413 add r3, r2 807bc00: 3320 adds r3, #32 807bc02: 681b ldr r3, [r3, #0] 807bc04: 461a mov r2, r3 807bc06: 21ba movs r1, #186 ; 0xba 807bc08: 200a movs r0, #10 807bc0a: f7da f8a7 bl 8055d5c LCD_DisplayString(10, LCD_LINE_13, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 807bc0e: 4b49 ldr r3, [pc, #292] ; (807bd34 ) 807bc10: 7b1b ldrb r3, [r3, #12] 807bc12: b2db uxtb r3, r3 807bc14: 4619 mov r1, r3 807bc16: 4a48 ldr r2, [pc, #288] ; (807bd38 ) 807bc18: 232c movs r3, #44 ; 0x2c 807bc1a: fb03 f301 mul.w r3, r3, r1 807bc1e: 4413 add r3, r2 807bc20: 3328 adds r3, #40 ; 0x28 807bc22: 681b ldr r3, [r3, #0] 807bc24: 461a mov r2, r3 807bc26: 21da movs r1, #218 ; 0xda 807bc28: 200a movs r0, #10 807bc2a: f7da f897 bl 8055d5c if(menupos == Ok) 807bc2e: 4b43 ldr r3, [pc, #268] ; (807bd3c ) 807bc30: 781b ldrb r3, [r3, #0] 807bc32: b2db uxtb r3, r3 807bc34: 2b00 cmp r3, #0 807bc36: f040 81b9 bne.w 807bfac { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807bc3a: 493d ldr r1, [pc, #244] ; (807bd30 ) 807bc3c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807bc40: f7d9 fae4 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807bc44: 4b3b ldr r3, [pc, #236] ; (807bd34 ) 807bc46: 7b1b ldrb r3, [r3, #12] 807bc48: b2db uxtb r3, r3 807bc4a: 461a mov r2, r3 807bc4c: 4b3c ldr r3, [pc, #240] ; (807bd40 ) 807bc4e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807bc52: 461a mov r2, r3 807bc54: 2127 movs r1, #39 ; 0x27 807bc56: 200a movs r0, #10 807bc58: f7da f880 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807bc5c: 4934 ldr r1, [pc, #208] ; (807bd30 ) 807bc5e: f04f 30ff mov.w r0, #4294967295 807bc62: f7d9 fad3 bl 805520c if(pardata.HP >= 2.0f) 807bc66: 4b33 ldr r3, [pc, #204] ; (807bd34 ) 807bc68: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807bc6c: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807bc70: eef4 7ac7 vcmpe.f32 s15, s14 807bc74: eef1 fa10 vmrs APSR_nzcv, fpscr 807bc78: db68 blt.n 807bd4c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807bc7a: 492d ldr r1, [pc, #180] ; (807bd30 ) 807bc7c: f04f 30ff mov.w r0, #4294967295 807bc80: f7d9 fac4 bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807bc84: 4b2b ldr r3, [pc, #172] ; (807bd34 ) 807bc86: 7b1b ldrb r3, [r3, #12] 807bc88: b2db uxtb r3, r3 807bc8a: 4619 mov r1, r3 807bc8c: 4a2a ldr r2, [pc, #168] ; (807bd38 ) 807bc8e: 232c movs r3, #44 ; 0x2c 807bc90: fb03 f301 mul.w r3, r3, r1 807bc94: 4413 add r3, r2 807bc96: 330c adds r3, #12 807bc98: 681b ldr r3, [r3, #0] 807bc9a: 461a mov r2, r3 807bc9c: 216a movs r1, #106 ; 0x6a 807bc9e: 200a movs r0, #10 807bca0: f7da f85c bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807bca4: 4b23 ldr r3, [pc, #140] ; (807bd34 ) 807bca6: 7b1b ldrb r3, [r3, #12] 807bca8: b2db uxtb r3, r3 807bcaa: 4619 mov r1, r3 807bcac: 4a22 ldr r2, [pc, #136] ; (807bd38 ) 807bcae: 232c movs r3, #44 ; 0x2c 807bcb0: fb03 f301 mul.w r3, r3, r1 807bcb4: 4413 add r3, r2 807bcb6: 3310 adds r3, #16 807bcb8: 681b ldr r3, [r3, #0] 807bcba: 461a mov r2, r3 807bcbc: 217a movs r1, #122 ; 0x7a 807bcbe: 200a movs r0, #10 807bcc0: f7da f84c bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807bcc4: 491a ldr r1, [pc, #104] ; (807bd30 ) 807bcc6: 481f ldr r0, [pc, #124] ; (807bd44 ) 807bcc8: f7d9 faa0 bl 805520c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807bccc: 4b19 ldr r3, [pc, #100] ; (807bd34 ) 807bcce: 7b1b ldrb r3, [r3, #12] 807bcd0: b2db uxtb r3, r3 807bcd2: 4619 mov r1, r3 807bcd4: 4b17 ldr r3, [pc, #92] ; (807bd34 ) 807bcd6: 78db ldrb r3, [r3, #3] 807bcd8: b2db uxtb r3, r3 807bcda: 4618 mov r0, r3 807bcdc: 4a1a ldr r2, [pc, #104] ; (807bd48 ) 807bcde: 460b mov r3, r1 807bce0: 009b lsls r3, r3, #2 807bce2: 440b add r3, r1 807bce4: 4403 add r3, r0 807bce6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bcea: 461a mov r2, r3 807bcec: 216a movs r1, #106 ; 0x6a 807bcee: f44f 7082 mov.w r0, #260 ; 0x104 807bcf2: f7da f84b bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807bcf6: 4b0f ldr r3, [pc, #60] ; (807bd34 ) 807bcf8: 7b1b ldrb r3, [r3, #12] 807bcfa: b2db uxtb r3, r3 807bcfc: 4619 mov r1, r3 807bcfe: 4b0d ldr r3, [pc, #52] ; (807bd34 ) 807bd00: 791b ldrb r3, [r3, #4] 807bd02: b2db uxtb r3, r3 807bd04: 4618 mov r0, r3 807bd06: 4a10 ldr r2, [pc, #64] ; (807bd48 ) 807bd08: 460b mov r3, r1 807bd0a: 009b lsls r3, r3, #2 807bd0c: 440b add r3, r1 807bd0e: 4403 add r3, r0 807bd10: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bd14: 461a mov r2, r3 807bd16: 217a movs r1, #122 ; 0x7a 807bd18: f44f 7082 mov.w r0, #260 ; 0x104 807bd1c: f7da f836 bl 8055d8c 807bd20: e062 b.n 807bde8 807bd22: bf00 nop 807bd24: 200216b8 .word 0x200216b8 807bd28: 20020e80 .word 0x20020e80 807bd2c: 200216bc .word 0x200216bc 807bd30: ff0a0f1f .word 0xff0a0f1f 807bd34: 20023eb8 .word 0x20023eb8 807bd38: 200206bc .word 0x200206bc 807bd3c: 20020070 .word 0x20020070 807bd40: 200205cc .word 0x200205cc 807bd44: ffd8aa57 .word 0xffd8aa57 807bd48: 200202c4 .word 0x200202c4 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807bd4c: 498f ldr r1, [pc, #572] ; (807bf8c ) 807bd4e: 4890 ldr r0, [pc, #576] ; (807bf90 ) 807bd50: f7d9 fa5c bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807bd54: 4b8f ldr r3, [pc, #572] ; (807bf94 ) 807bd56: 7b1b ldrb r3, [r3, #12] 807bd58: b2db uxtb r3, r3 807bd5a: 4619 mov r1, r3 807bd5c: 4a8e ldr r2, [pc, #568] ; (807bf98 ) 807bd5e: 232c movs r3, #44 ; 0x2c 807bd60: fb03 f301 mul.w r3, r3, r1 807bd64: 4413 add r3, r2 807bd66: 330c adds r3, #12 807bd68: 681b ldr r3, [r3, #0] 807bd6a: 461a mov r2, r3 807bd6c: 216a movs r1, #106 ; 0x6a 807bd6e: 200a movs r0, #10 807bd70: f7d9 fff4 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807bd74: 4b87 ldr r3, [pc, #540] ; (807bf94 ) 807bd76: 7b1b ldrb r3, [r3, #12] 807bd78: b2db uxtb r3, r3 807bd7a: 4619 mov r1, r3 807bd7c: 4a86 ldr r2, [pc, #536] ; (807bf98 ) 807bd7e: 232c movs r3, #44 ; 0x2c 807bd80: fb03 f301 mul.w r3, r3, r1 807bd84: 4413 add r3, r2 807bd86: 3310 adds r3, #16 807bd88: 681b ldr r3, [r3, #0] 807bd8a: 461a mov r2, r3 807bd8c: 217a movs r1, #122 ; 0x7a 807bd8e: 200a movs r0, #10 807bd90: f7d9 ffe4 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807bd94: 4b7f ldr r3, [pc, #508] ; (807bf94 ) 807bd96: 7b1b ldrb r3, [r3, #12] 807bd98: b2db uxtb r3, r3 807bd9a: 4619 mov r1, r3 807bd9c: 4b7d ldr r3, [pc, #500] ; (807bf94 ) 807bd9e: 78db ldrb r3, [r3, #3] 807bda0: b2db uxtb r3, r3 807bda2: 4618 mov r0, r3 807bda4: 4a7d ldr r2, [pc, #500] ; (807bf9c ) 807bda6: 460b mov r3, r1 807bda8: 009b lsls r3, r3, #2 807bdaa: 440b add r3, r1 807bdac: 4403 add r3, r0 807bdae: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bdb2: 461a mov r2, r3 807bdb4: 216a movs r1, #106 ; 0x6a 807bdb6: f44f 7082 mov.w r0, #260 ; 0x104 807bdba: f7d9 ffe7 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807bdbe: 4b75 ldr r3, [pc, #468] ; (807bf94 ) 807bdc0: 7b1b ldrb r3, [r3, #12] 807bdc2: b2db uxtb r3, r3 807bdc4: 4619 mov r1, r3 807bdc6: 4b73 ldr r3, [pc, #460] ; (807bf94 ) 807bdc8: 791b ldrb r3, [r3, #4] 807bdca: b2db uxtb r3, r3 807bdcc: 4618 mov r0, r3 807bdce: 4a73 ldr r2, [pc, #460] ; (807bf9c ) 807bdd0: 460b mov r3, r1 807bdd2: 009b lsls r3, r3, #2 807bdd4: 440b add r3, r1 807bdd6: 4403 add r3, r0 807bdd8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bddc: 461a mov r2, r3 807bdde: 217a movs r1, #122 ; 0x7a 807bde0: f44f 7082 mov.w r0, #260 ; 0x104 807bde4: f7d9 ffd2 bl 8055d8c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807bde8: 4968 ldr r1, [pc, #416] ; (807bf8c ) 807bdea: 486d ldr r0, [pc, #436] ; (807bfa0 ) 807bdec: f7d9 fa0e bl 805520c LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807bdf0: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807bdf4: 461a mov r2, r3 807bdf6: 213a movs r1, #58 ; 0x3a 807bdf8: f44f 7082 mov.w r0, #260 ; 0x104 807bdfc: f7d9 ffc6 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807be00: f507 73cc add.w r3, r7, #408 ; 0x198 807be04: 461a mov r2, r3 807be06: 214a movs r1, #74 ; 0x4a 807be08: f44f 7082 mov.w r0, #260 ; 0x104 807be0c: f7d9 ffbe bl 8055d8c //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]]); 807be10: 4b60 ldr r3, [pc, #384] ; (807bf94 ) 807be12: 7b1b ldrb r3, [r3, #12] 807be14: b2db uxtb r3, r3 807be16: 4619 mov r1, r3 807be18: 4b5e ldr r3, [pc, #376] ; (807bf94 ) 807be1a: 789b ldrb r3, [r3, #2] 807be1c: b2db uxtb r3, r3 807be1e: 4618 mov r0, r3 807be20: 4a5e ldr r2, [pc, #376] ; (807bf9c ) 807be22: 460b mov r3, r1 807be24: 009b lsls r3, r3, #2 807be26: 440b add r3, r1 807be28: 4403 add r3, r0 807be2a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807be2e: 461a mov r2, r3 807be30: 215a movs r1, #90 ; 0x5a 807be32: f44f 7082 mov.w r0, #260 ; 0x104 807be36: f7d9 ffa9 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807be3a: 4b56 ldr r3, [pc, #344] ; (807bf94 ) 807be3c: 7b1b ldrb r3, [r3, #12] 807be3e: b2db uxtb r3, r3 807be40: 4619 mov r1, r3 807be42: 4b54 ldr r3, [pc, #336] ; (807bf94 ) 807be44: 7b5b ldrb r3, [r3, #13] 807be46: b2db uxtb r3, r3 807be48: 4618 mov r0, r3 807be4a: 4a56 ldr r2, [pc, #344] ; (807bfa4 ) 807be4c: 460b mov r3, r1 807be4e: 009b lsls r3, r3, #2 807be50: 440b add r3, r1 807be52: 005b lsls r3, r3, #1 807be54: 4403 add r3, r0 807be56: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807be5a: 461a mov r2, r3 807be5c: 218a movs r1, #138 ; 0x8a 807be5e: f44f 7082 mov.w r0, #260 ; 0x104 807be62: f7d9 ff93 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807be66: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807be6a: 461a mov r2, r3 807be6c: 21da movs r1, #218 ; 0xda 807be6e: f44f 7082 mov.w r0, #260 ; 0x104 807be72: f7d9 ff8b bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807be76: 4945 ldr r1, [pc, #276] ; (807bf8c ) 807be78: f04f 30ff mov.w r0, #4294967295 807be7c: f7d9 f9c6 bl 805520c BSP_LCD_FillRect(255, 157, 10, 10); 807be80: 230a movs r3, #10 807be82: 220a movs r2, #10 807be84: 219d movs r1, #157 ; 0x9d 807be86: 20ff movs r0, #255 ; 0xff 807be88: f7d9 fe4e bl 8055b28 BSP_LCD_FillRect(255, 173, 10, 10); 807be8c: 230a movs r3, #10 807be8e: 220a movs r2, #10 807be90: 21ad movs r1, #173 ; 0xad 807be92: 20ff movs r0, #255 ; 0xff 807be94: f7d9 fe48 bl 8055b28 BSP_LCD_FillRect(255, 189, 10, 10); 807be98: 230a movs r3, #10 807be9a: 220a movs r2, #10 807be9c: 21bd movs r1, #189 ; 0xbd 807be9e: 20ff movs r0, #255 ; 0xff 807bea0: f7d9 fe42 bl 8055b28 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807bea4: 4b3b ldr r3, [pc, #236] ; (807bf94 ) 807bea6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807beaa: f003 0304 and.w r3, r3, #4 807beae: 2b00 cmp r3, #0 807beb0: d033 beq.n 807bf1a { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807beb2: 4936 ldr r1, [pc, #216] ; (807bf8c ) 807beb4: 4836 ldr r0, [pc, #216] ; (807bf90 ) 807beb6: f7d9 f9a9 bl 805520c if(pardata.IIN != VOLTS) 807beba: 4b36 ldr r3, [pc, #216] ; (807bf94 ) 807bebc: 799b ldrb r3, [r3, #6] 807bebe: b2db uxtb r3, r3 807bec0: 2b02 cmp r3, #2 807bec2: d010 beq.n 807bee6 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807bec4: 4b33 ldr r3, [pc, #204] ; (807bf94 ) 807bec6: 7b1b ldrb r3, [r3, #12] 807bec8: b2db uxtb r3, r3 807beca: 4619 mov r1, r3 807becc: 4a32 ldr r2, [pc, #200] ; (807bf98 ) 807bece: 232c movs r3, #44 ; 0x2c 807bed0: fb03 f301 mul.w r3, r3, r1 807bed4: 4413 add r3, r2 807bed6: 3324 adds r3, #36 ; 0x24 807bed8: 681b ldr r3, [r3, #0] 807beda: 461a mov r2, r3 807bedc: 21ca movs r1, #202 ; 0xca 807bede: 200a movs r0, #10 807bee0: f7d9 ff3c bl 8055d5c 807bee4: e00f b.n 807bf06 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807bee6: 4b2b ldr r3, [pc, #172] ; (807bf94 ) 807bee8: 7b1b ldrb r3, [r3, #12] 807beea: b2db uxtb r3, r3 807beec: 4619 mov r1, r3 807beee: 4a2e ldr r2, [pc, #184] ; (807bfa8 ) 807bef0: 232c movs r3, #44 ; 0x2c 807bef2: fb03 f301 mul.w r3, r3, r1 807bef6: 4413 add r3, r2 807bef8: 3324 adds r3, #36 ; 0x24 807befa: 681b ldr r3, [r3, #0] 807befc: 461a mov r2, r3 807befe: 21ca movs r1, #202 ; 0xca 807bf00: 200a movs r0, #10 807bf02: f7d9 ff2b bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 807bf06: f507 733b add.w r3, r7, #748 ; 0x2ec 807bf0a: 461a mov r2, r3 807bf0c: 21ca movs r1, #202 ; 0xca 807bf0e: f44f 7082 mov.w r0, #260 ; 0x104 807bf12: f7d9 ff3b bl 8055d8c 807bf16: f003 bca9 b.w 807f86c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807bf1a: 491c ldr r1, [pc, #112] ; (807bf8c ) 807bf1c: f04f 30ff mov.w r0, #4294967295 807bf20: f7d9 f974 bl 805520c if(pardata.IIN != VOLTS) 807bf24: 4b1b ldr r3, [pc, #108] ; (807bf94 ) 807bf26: 799b ldrb r3, [r3, #6] 807bf28: b2db uxtb r3, r3 807bf2a: 2b02 cmp r3, #2 807bf2c: d010 beq.n 807bf50 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807bf2e: 4b19 ldr r3, [pc, #100] ; (807bf94 ) 807bf30: 7b1b ldrb r3, [r3, #12] 807bf32: b2db uxtb r3, r3 807bf34: 4619 mov r1, r3 807bf36: 4a18 ldr r2, [pc, #96] ; (807bf98 ) 807bf38: 232c movs r3, #44 ; 0x2c 807bf3a: fb03 f301 mul.w r3, r3, r1 807bf3e: 4413 add r3, r2 807bf40: 3324 adds r3, #36 ; 0x24 807bf42: 681b ldr r3, [r3, #0] 807bf44: 461a mov r2, r3 807bf46: 21ca movs r1, #202 ; 0xca 807bf48: 200a movs r0, #10 807bf4a: f7d9 ff07 bl 8055d5c 807bf4e: e00f b.n 807bf70 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807bf50: 4b10 ldr r3, [pc, #64] ; (807bf94 ) 807bf52: 7b1b ldrb r3, [r3, #12] 807bf54: b2db uxtb r3, r3 807bf56: 4619 mov r1, r3 807bf58: 4a13 ldr r2, [pc, #76] ; (807bfa8 ) 807bf5a: 232c movs r3, #44 ; 0x2c 807bf5c: fb03 f301 mul.w r3, r3, r1 807bf60: 4413 add r3, r2 807bf62: 3324 adds r3, #36 ; 0x24 807bf64: 681b ldr r3, [r3, #0] 807bf66: 461a mov r2, r3 807bf68: 21ca movs r1, #202 ; 0xca 807bf6a: 200a movs r0, #10 807bf6c: f7d9 fef6 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807bf70: 4906 ldr r1, [pc, #24] ; (807bf8c ) 807bf72: 480b ldr r0, [pc, #44] ; (807bfa0 ) 807bf74: f7d9 f94a bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 807bf78: f507 733b add.w r3, r7, #748 ; 0x2ec 807bf7c: 461a mov r2, r3 807bf7e: 21ca movs r1, #202 ; 0xca 807bf80: f44f 7082 mov.w r0, #260 ; 0x104 807bf84: f7d9 ff02 bl 8055d8c 807bf88: f003 bc70 b.w 807f86c 807bf8c: ff0a0f1f .word 0xff0a0f1f 807bf90: ff808080 .word 0xff808080 807bf94: 20023eb8 .word 0x20023eb8 807bf98: 200206bc .word 0x200206bc 807bf9c: 200202c4 .word 0x200202c4 807bfa0: ffd8aa57 .word 0xffd8aa57 807bfa4: 20020254 .word 0x20020254 807bfa8: 20020714 .word 0x20020714 } } else if(menupos == FilterHP) // filter 807bfac: 4bcc ldr r3, [pc, #816] ; (807c2e0 ) 807bfae: 781b ldrb r3, [r3, #0] 807bfb0: b2db uxtb r3, r3 807bfb2: 2b17 cmp r3, #23 807bfb4: f040 81a8 bne.w 807c308 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807bfb8: 49ca ldr r1, [pc, #808] ; (807c2e4 ) 807bfba: f04f 30ff mov.w r0, #4294967295 807bfbe: f7d9 f925 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807bfc2: 4bc9 ldr r3, [pc, #804] ; (807c2e8 ) 807bfc4: 7b1b ldrb r3, [r3, #12] 807bfc6: b2db uxtb r3, r3 807bfc8: 461a mov r2, r3 807bfca: 4bc8 ldr r3, [pc, #800] ; (807c2ec ) 807bfcc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807bfd0: 461a mov r2, r3 807bfd2: 2127 movs r1, #39 ; 0x27 807bfd4: 200a movs r0, #10 807bfd6: f7d9 fec1 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807bfda: 49c2 ldr r1, [pc, #776] ; (807c2e4 ) 807bfdc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807bfe0: f7d9 f914 bl 805520c LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807bfe4: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807bfe8: 461a mov r2, r3 807bfea: 213a movs r1, #58 ; 0x3a 807bfec: f44f 7082 mov.w r0, #260 ; 0x104 807bff0: f7d9 fecc bl 8055d8c if(pardata.HP >= 2.0f) 807bff4: 4bbc ldr r3, [pc, #752] ; (807c2e8 ) 807bff6: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807bffa: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807bffe: eef4 7ac7 vcmpe.f32 s15, s14 807c002: eef1 fa10 vmrs APSR_nzcv, fpscr 807c006: db53 blt.n 807c0b0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c008: 49b6 ldr r1, [pc, #728] ; (807c2e4 ) 807c00a: f04f 30ff mov.w r0, #4294967295 807c00e: f7d9 f8fd bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c012: 4bb5 ldr r3, [pc, #724] ; (807c2e8 ) 807c014: 7b1b ldrb r3, [r3, #12] 807c016: b2db uxtb r3, r3 807c018: 4619 mov r1, r3 807c01a: 4ab5 ldr r2, [pc, #724] ; (807c2f0 ) 807c01c: 232c movs r3, #44 ; 0x2c 807c01e: fb03 f301 mul.w r3, r3, r1 807c022: 4413 add r3, r2 807c024: 330c adds r3, #12 807c026: 681b ldr r3, [r3, #0] 807c028: 461a mov r2, r3 807c02a: 216a movs r1, #106 ; 0x6a 807c02c: 200a movs r0, #10 807c02e: f7d9 fe95 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c032: 4bad ldr r3, [pc, #692] ; (807c2e8 ) 807c034: 7b1b ldrb r3, [r3, #12] 807c036: b2db uxtb r3, r3 807c038: 4619 mov r1, r3 807c03a: 4aad ldr r2, [pc, #692] ; (807c2f0 ) 807c03c: 232c movs r3, #44 ; 0x2c 807c03e: fb03 f301 mul.w r3, r3, r1 807c042: 4413 add r3, r2 807c044: 3310 adds r3, #16 807c046: 681b ldr r3, [r3, #0] 807c048: 461a mov r2, r3 807c04a: 217a movs r1, #122 ; 0x7a 807c04c: 200a movs r0, #10 807c04e: f7d9 fe85 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c052: 49a4 ldr r1, [pc, #656] ; (807c2e4 ) 807c054: 48a7 ldr r0, [pc, #668] ; (807c2f4 ) 807c056: f7d9 f8d9 bl 805520c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c05a: 4ba3 ldr r3, [pc, #652] ; (807c2e8 ) 807c05c: 7b1b ldrb r3, [r3, #12] 807c05e: b2db uxtb r3, r3 807c060: 4619 mov r1, r3 807c062: 4ba1 ldr r3, [pc, #644] ; (807c2e8 ) 807c064: 78db ldrb r3, [r3, #3] 807c066: b2db uxtb r3, r3 807c068: 4618 mov r0, r3 807c06a: 4aa3 ldr r2, [pc, #652] ; (807c2f8 ) 807c06c: 460b mov r3, r1 807c06e: 009b lsls r3, r3, #2 807c070: 440b add r3, r1 807c072: 4403 add r3, r0 807c074: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c078: 461a mov r2, r3 807c07a: 216a movs r1, #106 ; 0x6a 807c07c: f44f 7082 mov.w r0, #260 ; 0x104 807c080: f7d9 fe84 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c084: 4b98 ldr r3, [pc, #608] ; (807c2e8 ) 807c086: 7b1b ldrb r3, [r3, #12] 807c088: b2db uxtb r3, r3 807c08a: 4619 mov r1, r3 807c08c: 4b96 ldr r3, [pc, #600] ; (807c2e8 ) 807c08e: 791b ldrb r3, [r3, #4] 807c090: b2db uxtb r3, r3 807c092: 4618 mov r0, r3 807c094: 4a98 ldr r2, [pc, #608] ; (807c2f8 ) 807c096: 460b mov r3, r1 807c098: 009b lsls r3, r3, #2 807c09a: 440b add r3, r1 807c09c: 4403 add r3, r0 807c09e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c0a2: 461a mov r2, r3 807c0a4: 217a movs r1, #122 ; 0x7a 807c0a6: f44f 7082 mov.w r0, #260 ; 0x104 807c0aa: f7d9 fe6f bl 8055d8c 807c0ae: e04d b.n 807c14c } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c0b0: 498c ldr r1, [pc, #560] ; (807c2e4 ) 807c0b2: 4892 ldr r0, [pc, #584] ; (807c2fc ) 807c0b4: f7d9 f8aa bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c0b8: 4b8b ldr r3, [pc, #556] ; (807c2e8 ) 807c0ba: 7b1b ldrb r3, [r3, #12] 807c0bc: b2db uxtb r3, r3 807c0be: 4619 mov r1, r3 807c0c0: 4a8b ldr r2, [pc, #556] ; (807c2f0 ) 807c0c2: 232c movs r3, #44 ; 0x2c 807c0c4: fb03 f301 mul.w r3, r3, r1 807c0c8: 4413 add r3, r2 807c0ca: 330c adds r3, #12 807c0cc: 681b ldr r3, [r3, #0] 807c0ce: 461a mov r2, r3 807c0d0: 216a movs r1, #106 ; 0x6a 807c0d2: 200a movs r0, #10 807c0d4: f7d9 fe42 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c0d8: 4b83 ldr r3, [pc, #524] ; (807c2e8 ) 807c0da: 7b1b ldrb r3, [r3, #12] 807c0dc: b2db uxtb r3, r3 807c0de: 4619 mov r1, r3 807c0e0: 4a83 ldr r2, [pc, #524] ; (807c2f0 ) 807c0e2: 232c movs r3, #44 ; 0x2c 807c0e4: fb03 f301 mul.w r3, r3, r1 807c0e8: 4413 add r3, r2 807c0ea: 3310 adds r3, #16 807c0ec: 681b ldr r3, [r3, #0] 807c0ee: 461a mov r2, r3 807c0f0: 217a movs r1, #122 ; 0x7a 807c0f2: 200a movs r0, #10 807c0f4: f7d9 fe32 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c0f8: 4b7b ldr r3, [pc, #492] ; (807c2e8 ) 807c0fa: 7b1b ldrb r3, [r3, #12] 807c0fc: b2db uxtb r3, r3 807c0fe: 4619 mov r1, r3 807c100: 4b79 ldr r3, [pc, #484] ; (807c2e8 ) 807c102: 78db ldrb r3, [r3, #3] 807c104: b2db uxtb r3, r3 807c106: 4618 mov r0, r3 807c108: 4a7b ldr r2, [pc, #492] ; (807c2f8 ) 807c10a: 460b mov r3, r1 807c10c: 009b lsls r3, r3, #2 807c10e: 440b add r3, r1 807c110: 4403 add r3, r0 807c112: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c116: 461a mov r2, r3 807c118: 216a movs r1, #106 ; 0x6a 807c11a: f44f 7082 mov.w r0, #260 ; 0x104 807c11e: f7d9 fe35 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c122: 4b71 ldr r3, [pc, #452] ; (807c2e8 ) 807c124: 7b1b ldrb r3, [r3, #12] 807c126: b2db uxtb r3, r3 807c128: 4619 mov r1, r3 807c12a: 4b6f ldr r3, [pc, #444] ; (807c2e8 ) 807c12c: 791b ldrb r3, [r3, #4] 807c12e: b2db uxtb r3, r3 807c130: 4618 mov r0, r3 807c132: 4a71 ldr r2, [pc, #452] ; (807c2f8 ) 807c134: 460b mov r3, r1 807c136: 009b lsls r3, r3, #2 807c138: 440b add r3, r1 807c13a: 4403 add r3, r0 807c13c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c140: 461a mov r2, r3 807c142: 217a movs r1, #122 ; 0x7a 807c144: f44f 7082 mov.w r0, #260 ; 0x104 807c148: f7d9 fe20 bl 8055d8c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c14c: 4965 ldr r1, [pc, #404] ; (807c2e4 ) 807c14e: 4869 ldr r0, [pc, #420] ; (807c2f4 ) 807c150: f7d9 f85c bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807c154: f507 73cc add.w r3, r7, #408 ; 0x198 807c158: 461a mov r2, r3 807c15a: 214a movs r1, #74 ; 0x4a 807c15c: f44f 7082 mov.w r0, #260 ; 0x104 807c160: f7d9 fe14 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807c164: 4b60 ldr r3, [pc, #384] ; (807c2e8 ) 807c166: 7b1b ldrb r3, [r3, #12] 807c168: b2db uxtb r3, r3 807c16a: 4619 mov r1, r3 807c16c: 4b5e ldr r3, [pc, #376] ; (807c2e8 ) 807c16e: 789b ldrb r3, [r3, #2] 807c170: b2db uxtb r3, r3 807c172: 4618 mov r0, r3 807c174: 4a60 ldr r2, [pc, #384] ; (807c2f8 ) 807c176: 460b mov r3, r1 807c178: 009b lsls r3, r3, #2 807c17a: 440b add r3, r1 807c17c: 4403 add r3, r0 807c17e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c182: 461a mov r2, r3 807c184: 215a movs r1, #90 ; 0x5a 807c186: f44f 7082 mov.w r0, #260 ; 0x104 807c18a: f7d9 fdff bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807c18e: 4b56 ldr r3, [pc, #344] ; (807c2e8 ) 807c190: 7b1b ldrb r3, [r3, #12] 807c192: b2db uxtb r3, r3 807c194: 4619 mov r1, r3 807c196: 4b54 ldr r3, [pc, #336] ; (807c2e8 ) 807c198: 7b5b ldrb r3, [r3, #13] 807c19a: b2db uxtb r3, r3 807c19c: 4618 mov r0, r3 807c19e: 4a58 ldr r2, [pc, #352] ; (807c300 ) 807c1a0: 460b mov r3, r1 807c1a2: 009b lsls r3, r3, #2 807c1a4: 440b add r3, r1 807c1a6: 005b lsls r3, r3, #1 807c1a8: 4403 add r3, r0 807c1aa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c1ae: 461a mov r2, r3 807c1b0: 218a movs r1, #138 ; 0x8a 807c1b2: f44f 7082 mov.w r0, #260 ; 0x104 807c1b6: f7d9 fde9 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807c1ba: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807c1be: 461a mov r2, r3 807c1c0: 21da movs r1, #218 ; 0xda 807c1c2: f44f 7082 mov.w r0, #260 ; 0x104 807c1c6: f7d9 fde1 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c1ca: 4946 ldr r1, [pc, #280] ; (807c2e4 ) 807c1cc: f04f 30ff mov.w r0, #4294967295 807c1d0: f7d9 f81c bl 805520c BSP_LCD_FillRect(255, 157, 10, 10); 807c1d4: 230a movs r3, #10 807c1d6: 220a movs r2, #10 807c1d8: 219d movs r1, #157 ; 0x9d 807c1da: 20ff movs r0, #255 ; 0xff 807c1dc: f7d9 fca4 bl 8055b28 BSP_LCD_FillRect(255, 173, 10, 10); 807c1e0: 230a movs r3, #10 807c1e2: 220a movs r2, #10 807c1e4: 21ad movs r1, #173 ; 0xad 807c1e6: 20ff movs r0, #255 ; 0xff 807c1e8: f7d9 fc9e bl 8055b28 BSP_LCD_FillRect(255, 189, 10, 10); 807c1ec: 230a movs r3, #10 807c1ee: 220a movs r2, #10 807c1f0: 21bd movs r1, #189 ; 0xbd 807c1f2: 20ff movs r0, #255 ; 0xff 807c1f4: f7d9 fc98 bl 8055b28 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807c1f8: 4b3b ldr r3, [pc, #236] ; (807c2e8 ) 807c1fa: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807c1fe: f003 0304 and.w r3, r3, #4 807c202: 2b00 cmp r3, #0 807c204: d033 beq.n 807c26e { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c206: 4937 ldr r1, [pc, #220] ; (807c2e4 ) 807c208: 483c ldr r0, [pc, #240] ; (807c2fc ) 807c20a: f7d8 ffff bl 805520c if(pardata.IIN != VOLTS) 807c20e: 4b36 ldr r3, [pc, #216] ; (807c2e8 ) 807c210: 799b ldrb r3, [r3, #6] 807c212: b2db uxtb r3, r3 807c214: 2b02 cmp r3, #2 807c216: d010 beq.n 807c23a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c218: 4b33 ldr r3, [pc, #204] ; (807c2e8 ) 807c21a: 7b1b ldrb r3, [r3, #12] 807c21c: b2db uxtb r3, r3 807c21e: 4619 mov r1, r3 807c220: 4a33 ldr r2, [pc, #204] ; (807c2f0 ) 807c222: 232c movs r3, #44 ; 0x2c 807c224: fb03 f301 mul.w r3, r3, r1 807c228: 4413 add r3, r2 807c22a: 3324 adds r3, #36 ; 0x24 807c22c: 681b ldr r3, [r3, #0] 807c22e: 461a mov r2, r3 807c230: 21ca movs r1, #202 ; 0xca 807c232: 200a movs r0, #10 807c234: f7d9 fd92 bl 8055d5c 807c238: e00f b.n 807c25a else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c23a: 4b2b ldr r3, [pc, #172] ; (807c2e8 ) 807c23c: 7b1b ldrb r3, [r3, #12] 807c23e: b2db uxtb r3, r3 807c240: 4619 mov r1, r3 807c242: 4a30 ldr r2, [pc, #192] ; (807c304 ) 807c244: 232c movs r3, #44 ; 0x2c 807c246: fb03 f301 mul.w r3, r3, r1 807c24a: 4413 add r3, r2 807c24c: 3324 adds r3, #36 ; 0x24 807c24e: 681b ldr r3, [r3, #0] 807c250: 461a mov r2, r3 807c252: 21ca movs r1, #202 ; 0xca 807c254: 200a movs r0, #10 807c256: f7d9 fd81 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 807c25a: f507 733b add.w r3, r7, #748 ; 0x2ec 807c25e: 461a mov r2, r3 807c260: 21ca movs r1, #202 ; 0xca 807c262: f44f 7082 mov.w r0, #260 ; 0x104 807c266: f7d9 fd91 bl 8055d8c 807c26a: f003 baff b.w 807f86c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c26e: 491d ldr r1, [pc, #116] ; (807c2e4 ) 807c270: f04f 30ff mov.w r0, #4294967295 807c274: f7d8 ffca bl 805520c if(pardata.IIN != VOLTS) 807c278: 4b1b ldr r3, [pc, #108] ; (807c2e8 ) 807c27a: 799b ldrb r3, [r3, #6] 807c27c: b2db uxtb r3, r3 807c27e: 2b02 cmp r3, #2 807c280: d010 beq.n 807c2a4 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c282: 4b19 ldr r3, [pc, #100] ; (807c2e8 ) 807c284: 7b1b ldrb r3, [r3, #12] 807c286: b2db uxtb r3, r3 807c288: 4619 mov r1, r3 807c28a: 4a19 ldr r2, [pc, #100] ; (807c2f0 ) 807c28c: 232c movs r3, #44 ; 0x2c 807c28e: fb03 f301 mul.w r3, r3, r1 807c292: 4413 add r3, r2 807c294: 3324 adds r3, #36 ; 0x24 807c296: 681b ldr r3, [r3, #0] 807c298: 461a mov r2, r3 807c29a: 21ca movs r1, #202 ; 0xca 807c29c: 200a movs r0, #10 807c29e: f7d9 fd5d bl 8055d5c 807c2a2: e00f b.n 807c2c4 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c2a4: 4b10 ldr r3, [pc, #64] ; (807c2e8 ) 807c2a6: 7b1b ldrb r3, [r3, #12] 807c2a8: b2db uxtb r3, r3 807c2aa: 4619 mov r1, r3 807c2ac: 4a15 ldr r2, [pc, #84] ; (807c304 ) 807c2ae: 232c movs r3, #44 ; 0x2c 807c2b0: fb03 f301 mul.w r3, r3, r1 807c2b4: 4413 add r3, r2 807c2b6: 3324 adds r3, #36 ; 0x24 807c2b8: 681b ldr r3, [r3, #0] 807c2ba: 461a mov r2, r3 807c2bc: 21ca movs r1, #202 ; 0xca 807c2be: 200a movs r0, #10 807c2c0: f7d9 fd4c bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c2c4: 4907 ldr r1, [pc, #28] ; (807c2e4 ) 807c2c6: 480b ldr r0, [pc, #44] ; (807c2f4 ) 807c2c8: f7d8 ffa0 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 807c2cc: f507 733b add.w r3, r7, #748 ; 0x2ec 807c2d0: 461a mov r2, r3 807c2d2: 21ca movs r1, #202 ; 0xca 807c2d4: f44f 7082 mov.w r0, #260 ; 0x104 807c2d8: f7d9 fd58 bl 8055d8c 807c2dc: f003 bac6 b.w 807f86c 807c2e0: 20020070 .word 0x20020070 807c2e4: ff0a0f1f .word 0xff0a0f1f 807c2e8: 20023eb8 .word 0x20023eb8 807c2ec: 200205cc .word 0x200205cc 807c2f0: 200206bc .word 0x200206bc 807c2f4: ffd8aa57 .word 0xffd8aa57 807c2f8: 200202c4 .word 0x200202c4 807c2fc: ff808080 .word 0xff808080 807c300: 20020254 .word 0x20020254 807c304: 20020714 .word 0x20020714 } } else if(menupos == FilterLP) // filter 807c308: 4bcc ldr r3, [pc, #816] ; (807c63c ) 807c30a: 781b ldrb r3, [r3, #0] 807c30c: b2db uxtb r3, r3 807c30e: 2b18 cmp r3, #24 807c310: f040 81a8 bne.w 807c664 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c314: 49ca ldr r1, [pc, #808] ; (807c640 ) 807c316: f04f 30ff mov.w r0, #4294967295 807c31a: f7d8 ff77 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807c31e: 4bc9 ldr r3, [pc, #804] ; (807c644 ) 807c320: 7b1b ldrb r3, [r3, #12] 807c322: b2db uxtb r3, r3 807c324: 461a mov r2, r3 807c326: 4bc8 ldr r3, [pc, #800] ; (807c648 ) 807c328: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807c32c: 461a mov r2, r3 807c32e: 2127 movs r1, #39 ; 0x27 807c330: 200a movs r0, #10 807c332: f7d9 fd13 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807c336: 49c2 ldr r1, [pc, #776] ; (807c640 ) 807c338: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807c33c: f7d8 ff66 bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807c340: f507 73cc add.w r3, r7, #408 ; 0x198 807c344: 461a mov r2, r3 807c346: 214a movs r1, #74 ; 0x4a 807c348: f44f 7082 mov.w r0, #260 ; 0x104 807c34c: f7d9 fd1e bl 8055d8c if(pardata.HP >= 2.0f) 807c350: 4bbc ldr r3, [pc, #752] ; (807c644 ) 807c352: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807c356: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807c35a: eef4 7ac7 vcmpe.f32 s15, s14 807c35e: eef1 fa10 vmrs APSR_nzcv, fpscr 807c362: db53 blt.n 807c40c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c364: 49b6 ldr r1, [pc, #728] ; (807c640 ) 807c366: f04f 30ff mov.w r0, #4294967295 807c36a: f7d8 ff4f bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c36e: 4bb5 ldr r3, [pc, #724] ; (807c644 ) 807c370: 7b1b ldrb r3, [r3, #12] 807c372: b2db uxtb r3, r3 807c374: 4619 mov r1, r3 807c376: 4ab5 ldr r2, [pc, #724] ; (807c64c ) 807c378: 232c movs r3, #44 ; 0x2c 807c37a: fb03 f301 mul.w r3, r3, r1 807c37e: 4413 add r3, r2 807c380: 330c adds r3, #12 807c382: 681b ldr r3, [r3, #0] 807c384: 461a mov r2, r3 807c386: 216a movs r1, #106 ; 0x6a 807c388: 200a movs r0, #10 807c38a: f7d9 fce7 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c38e: 4bad ldr r3, [pc, #692] ; (807c644 ) 807c390: 7b1b ldrb r3, [r3, #12] 807c392: b2db uxtb r3, r3 807c394: 4619 mov r1, r3 807c396: 4aad ldr r2, [pc, #692] ; (807c64c ) 807c398: 232c movs r3, #44 ; 0x2c 807c39a: fb03 f301 mul.w r3, r3, r1 807c39e: 4413 add r3, r2 807c3a0: 3310 adds r3, #16 807c3a2: 681b ldr r3, [r3, #0] 807c3a4: 461a mov r2, r3 807c3a6: 217a movs r1, #122 ; 0x7a 807c3a8: 200a movs r0, #10 807c3aa: f7d9 fcd7 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c3ae: 49a4 ldr r1, [pc, #656] ; (807c640 ) 807c3b0: 48a7 ldr r0, [pc, #668] ; (807c650 ) 807c3b2: f7d8 ff2b bl 805520c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c3b6: 4ba3 ldr r3, [pc, #652] ; (807c644 ) 807c3b8: 7b1b ldrb r3, [r3, #12] 807c3ba: b2db uxtb r3, r3 807c3bc: 4619 mov r1, r3 807c3be: 4ba1 ldr r3, [pc, #644] ; (807c644 ) 807c3c0: 78db ldrb r3, [r3, #3] 807c3c2: b2db uxtb r3, r3 807c3c4: 4618 mov r0, r3 807c3c6: 4aa3 ldr r2, [pc, #652] ; (807c654 ) 807c3c8: 460b mov r3, r1 807c3ca: 009b lsls r3, r3, #2 807c3cc: 440b add r3, r1 807c3ce: 4403 add r3, r0 807c3d0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c3d4: 461a mov r2, r3 807c3d6: 216a movs r1, #106 ; 0x6a 807c3d8: f44f 7082 mov.w r0, #260 ; 0x104 807c3dc: f7d9 fcd6 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c3e0: 4b98 ldr r3, [pc, #608] ; (807c644 ) 807c3e2: 7b1b ldrb r3, [r3, #12] 807c3e4: b2db uxtb r3, r3 807c3e6: 4619 mov r1, r3 807c3e8: 4b96 ldr r3, [pc, #600] ; (807c644 ) 807c3ea: 791b ldrb r3, [r3, #4] 807c3ec: b2db uxtb r3, r3 807c3ee: 4618 mov r0, r3 807c3f0: 4a98 ldr r2, [pc, #608] ; (807c654 ) 807c3f2: 460b mov r3, r1 807c3f4: 009b lsls r3, r3, #2 807c3f6: 440b add r3, r1 807c3f8: 4403 add r3, r0 807c3fa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c3fe: 461a mov r2, r3 807c400: 217a movs r1, #122 ; 0x7a 807c402: f44f 7082 mov.w r0, #260 ; 0x104 807c406: f7d9 fcc1 bl 8055d8c 807c40a: e04d b.n 807c4a8 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c40c: 498c ldr r1, [pc, #560] ; (807c640 ) 807c40e: 4892 ldr r0, [pc, #584] ; (807c658 ) 807c410: f7d8 fefc bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c414: 4b8b ldr r3, [pc, #556] ; (807c644 ) 807c416: 7b1b ldrb r3, [r3, #12] 807c418: b2db uxtb r3, r3 807c41a: 4619 mov r1, r3 807c41c: 4a8b ldr r2, [pc, #556] ; (807c64c ) 807c41e: 232c movs r3, #44 ; 0x2c 807c420: fb03 f301 mul.w r3, r3, r1 807c424: 4413 add r3, r2 807c426: 330c adds r3, #12 807c428: 681b ldr r3, [r3, #0] 807c42a: 461a mov r2, r3 807c42c: 216a movs r1, #106 ; 0x6a 807c42e: 200a movs r0, #10 807c430: f7d9 fc94 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c434: 4b83 ldr r3, [pc, #524] ; (807c644 ) 807c436: 7b1b ldrb r3, [r3, #12] 807c438: b2db uxtb r3, r3 807c43a: 4619 mov r1, r3 807c43c: 4a83 ldr r2, [pc, #524] ; (807c64c ) 807c43e: 232c movs r3, #44 ; 0x2c 807c440: fb03 f301 mul.w r3, r3, r1 807c444: 4413 add r3, r2 807c446: 3310 adds r3, #16 807c448: 681b ldr r3, [r3, #0] 807c44a: 461a mov r2, r3 807c44c: 217a movs r1, #122 ; 0x7a 807c44e: 200a movs r0, #10 807c450: f7d9 fc84 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c454: 4b7b ldr r3, [pc, #492] ; (807c644 ) 807c456: 7b1b ldrb r3, [r3, #12] 807c458: b2db uxtb r3, r3 807c45a: 4619 mov r1, r3 807c45c: 4b79 ldr r3, [pc, #484] ; (807c644 ) 807c45e: 78db ldrb r3, [r3, #3] 807c460: b2db uxtb r3, r3 807c462: 4618 mov r0, r3 807c464: 4a7b ldr r2, [pc, #492] ; (807c654 ) 807c466: 460b mov r3, r1 807c468: 009b lsls r3, r3, #2 807c46a: 440b add r3, r1 807c46c: 4403 add r3, r0 807c46e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c472: 461a mov r2, r3 807c474: 216a movs r1, #106 ; 0x6a 807c476: f44f 7082 mov.w r0, #260 ; 0x104 807c47a: f7d9 fc87 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c47e: 4b71 ldr r3, [pc, #452] ; (807c644 ) 807c480: 7b1b ldrb r3, [r3, #12] 807c482: b2db uxtb r3, r3 807c484: 4619 mov r1, r3 807c486: 4b6f ldr r3, [pc, #444] ; (807c644 ) 807c488: 791b ldrb r3, [r3, #4] 807c48a: b2db uxtb r3, r3 807c48c: 4618 mov r0, r3 807c48e: 4a71 ldr r2, [pc, #452] ; (807c654 ) 807c490: 460b mov r3, r1 807c492: 009b lsls r3, r3, #2 807c494: 440b add r3, r1 807c496: 4403 add r3, r0 807c498: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c49c: 461a mov r2, r3 807c49e: 217a movs r1, #122 ; 0x7a 807c4a0: f44f 7082 mov.w r0, #260 ; 0x104 807c4a4: f7d9 fc72 bl 8055d8c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c4a8: 4965 ldr r1, [pc, #404] ; (807c640 ) 807c4aa: 4869 ldr r0, [pc, #420] ; (807c650 ) 807c4ac: f7d8 feae bl 805520c LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807c4b0: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807c4b4: 461a mov r2, r3 807c4b6: 213a movs r1, #58 ; 0x3a 807c4b8: f44f 7082 mov.w r0, #260 ; 0x104 807c4bc: f7d9 fc66 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807c4c0: 4b60 ldr r3, [pc, #384] ; (807c644 ) 807c4c2: 7b1b ldrb r3, [r3, #12] 807c4c4: b2db uxtb r3, r3 807c4c6: 4619 mov r1, r3 807c4c8: 4b5e ldr r3, [pc, #376] ; (807c644 ) 807c4ca: 789b ldrb r3, [r3, #2] 807c4cc: b2db uxtb r3, r3 807c4ce: 4618 mov r0, r3 807c4d0: 4a60 ldr r2, [pc, #384] ; (807c654 ) 807c4d2: 460b mov r3, r1 807c4d4: 009b lsls r3, r3, #2 807c4d6: 440b add r3, r1 807c4d8: 4403 add r3, r0 807c4da: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c4de: 461a mov r2, r3 807c4e0: 215a movs r1, #90 ; 0x5a 807c4e2: f44f 7082 mov.w r0, #260 ; 0x104 807c4e6: f7d9 fc51 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807c4ea: 4b56 ldr r3, [pc, #344] ; (807c644 ) 807c4ec: 7b1b ldrb r3, [r3, #12] 807c4ee: b2db uxtb r3, r3 807c4f0: 4619 mov r1, r3 807c4f2: 4b54 ldr r3, [pc, #336] ; (807c644 ) 807c4f4: 7b5b ldrb r3, [r3, #13] 807c4f6: b2db uxtb r3, r3 807c4f8: 4618 mov r0, r3 807c4fa: 4a58 ldr r2, [pc, #352] ; (807c65c ) 807c4fc: 460b mov r3, r1 807c4fe: 009b lsls r3, r3, #2 807c500: 440b add r3, r1 807c502: 005b lsls r3, r3, #1 807c504: 4403 add r3, r0 807c506: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c50a: 461a mov r2, r3 807c50c: 218a movs r1, #138 ; 0x8a 807c50e: f44f 7082 mov.w r0, #260 ; 0x104 807c512: f7d9 fc3b bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807c516: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807c51a: 461a mov r2, r3 807c51c: 21da movs r1, #218 ; 0xda 807c51e: f44f 7082 mov.w r0, #260 ; 0x104 807c522: f7d9 fc33 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c526: 4946 ldr r1, [pc, #280] ; (807c640 ) 807c528: f04f 30ff mov.w r0, #4294967295 807c52c: f7d8 fe6e bl 805520c BSP_LCD_FillRect(255, 157, 10, 10); 807c530: 230a movs r3, #10 807c532: 220a movs r2, #10 807c534: 219d movs r1, #157 ; 0x9d 807c536: 20ff movs r0, #255 ; 0xff 807c538: f7d9 faf6 bl 8055b28 BSP_LCD_FillRect(255, 173, 10, 10); 807c53c: 230a movs r3, #10 807c53e: 220a movs r2, #10 807c540: 21ad movs r1, #173 ; 0xad 807c542: 20ff movs r0, #255 ; 0xff 807c544: f7d9 faf0 bl 8055b28 BSP_LCD_FillRect(255, 189, 10, 10); 807c548: 230a movs r3, #10 807c54a: 220a movs r2, #10 807c54c: 21bd movs r1, #189 ; 0xbd 807c54e: 20ff movs r0, #255 ; 0xff 807c550: f7d9 faea bl 8055b28 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807c554: 4b3b ldr r3, [pc, #236] ; (807c644 ) 807c556: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807c55a: f003 0304 and.w r3, r3, #4 807c55e: 2b00 cmp r3, #0 807c560: d033 beq.n 807c5ca { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c562: 4937 ldr r1, [pc, #220] ; (807c640 ) 807c564: 483c ldr r0, [pc, #240] ; (807c658 ) 807c566: f7d8 fe51 bl 805520c if(pardata.IIN != VOLTS) 807c56a: 4b36 ldr r3, [pc, #216] ; (807c644 ) 807c56c: 799b ldrb r3, [r3, #6] 807c56e: b2db uxtb r3, r3 807c570: 2b02 cmp r3, #2 807c572: d010 beq.n 807c596 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c574: 4b33 ldr r3, [pc, #204] ; (807c644 ) 807c576: 7b1b ldrb r3, [r3, #12] 807c578: b2db uxtb r3, r3 807c57a: 4619 mov r1, r3 807c57c: 4a33 ldr r2, [pc, #204] ; (807c64c ) 807c57e: 232c movs r3, #44 ; 0x2c 807c580: fb03 f301 mul.w r3, r3, r1 807c584: 4413 add r3, r2 807c586: 3324 adds r3, #36 ; 0x24 807c588: 681b ldr r3, [r3, #0] 807c58a: 461a mov r2, r3 807c58c: 21ca movs r1, #202 ; 0xca 807c58e: 200a movs r0, #10 807c590: f7d9 fbe4 bl 8055d5c 807c594: e00f b.n 807c5b6 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c596: 4b2b ldr r3, [pc, #172] ; (807c644 ) 807c598: 7b1b ldrb r3, [r3, #12] 807c59a: b2db uxtb r3, r3 807c59c: 4619 mov r1, r3 807c59e: 4a30 ldr r2, [pc, #192] ; (807c660 ) 807c5a0: 232c movs r3, #44 ; 0x2c 807c5a2: fb03 f301 mul.w r3, r3, r1 807c5a6: 4413 add r3, r2 807c5a8: 3324 adds r3, #36 ; 0x24 807c5aa: 681b ldr r3, [r3, #0] 807c5ac: 461a mov r2, r3 807c5ae: 21ca movs r1, #202 ; 0xca 807c5b0: 200a movs r0, #10 807c5b2: f7d9 fbd3 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 807c5b6: f507 733b add.w r3, r7, #748 ; 0x2ec 807c5ba: 461a mov r2, r3 807c5bc: 21ca movs r1, #202 ; 0xca 807c5be: f44f 7082 mov.w r0, #260 ; 0x104 807c5c2: f7d9 fbe3 bl 8055d8c 807c5c6: f003 b951 b.w 807f86c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c5ca: 491d ldr r1, [pc, #116] ; (807c640 ) 807c5cc: f04f 30ff mov.w r0, #4294967295 807c5d0: f7d8 fe1c bl 805520c if(pardata.IIN != VOLTS) 807c5d4: 4b1b ldr r3, [pc, #108] ; (807c644 ) 807c5d6: 799b ldrb r3, [r3, #6] 807c5d8: b2db uxtb r3, r3 807c5da: 2b02 cmp r3, #2 807c5dc: d010 beq.n 807c600 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c5de: 4b19 ldr r3, [pc, #100] ; (807c644 ) 807c5e0: 7b1b ldrb r3, [r3, #12] 807c5e2: b2db uxtb r3, r3 807c5e4: 4619 mov r1, r3 807c5e6: 4a19 ldr r2, [pc, #100] ; (807c64c ) 807c5e8: 232c movs r3, #44 ; 0x2c 807c5ea: fb03 f301 mul.w r3, r3, r1 807c5ee: 4413 add r3, r2 807c5f0: 3324 adds r3, #36 ; 0x24 807c5f2: 681b ldr r3, [r3, #0] 807c5f4: 461a mov r2, r3 807c5f6: 21ca movs r1, #202 ; 0xca 807c5f8: 200a movs r0, #10 807c5fa: f7d9 fbaf bl 8055d5c 807c5fe: e00f b.n 807c620 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c600: 4b10 ldr r3, [pc, #64] ; (807c644 ) 807c602: 7b1b ldrb r3, [r3, #12] 807c604: b2db uxtb r3, r3 807c606: 4619 mov r1, r3 807c608: 4a15 ldr r2, [pc, #84] ; (807c660 ) 807c60a: 232c movs r3, #44 ; 0x2c 807c60c: fb03 f301 mul.w r3, r3, r1 807c610: 4413 add r3, r2 807c612: 3324 adds r3, #36 ; 0x24 807c614: 681b ldr r3, [r3, #0] 807c616: 461a mov r2, r3 807c618: 21ca movs r1, #202 ; 0xca 807c61a: 200a movs r0, #10 807c61c: f7d9 fb9e bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c620: 4907 ldr r1, [pc, #28] ; (807c640 ) 807c622: 480b ldr r0, [pc, #44] ; (807c650 ) 807c624: f7d8 fdf2 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 807c628: f507 733b add.w r3, r7, #748 ; 0x2ec 807c62c: 461a mov r2, r3 807c62e: 21ca movs r1, #202 ; 0xca 807c630: f44f 7082 mov.w r0, #260 ; 0x104 807c634: f7d9 fbaa bl 8055d8c 807c638: f003 b918 b.w 807f86c 807c63c: 20020070 .word 0x20020070 807c640: ff0a0f1f .word 0xff0a0f1f 807c644: 20023eb8 .word 0x20023eb8 807c648: 200205cc .word 0x200205cc 807c64c: 200206bc .word 0x200206bc 807c650: ffd8aa57 .word 0xffd8aa57 807c654: 200202c4 .word 0x200202c4 807c658: ff808080 .word 0xff808080 807c65c: 20020254 .word 0x20020254 807c660: 20020714 .word 0x20020714 } } else if(menupos == ValueA) 807c664: 4bbf ldr r3, [pc, #764] ; (807c964 ) 807c666: 781b ldrb r3, [r3, #0] 807c668: b2db uxtb r3, r3 807c66a: 2b02 cmp r3, #2 807c66c: f040 81cb bne.w 807ca06 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c670: 49bd ldr r1, [pc, #756] ; (807c968 ) 807c672: f04f 30ff mov.w r0, #4294967295 807c676: f7d8 fdc9 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807c67a: 4bbc ldr r3, [pc, #752] ; (807c96c ) 807c67c: 7b1b ldrb r3, [r3, #12] 807c67e: b2db uxtb r3, r3 807c680: 461a mov r2, r3 807c682: 4bbb ldr r3, [pc, #748] ; (807c970 ) 807c684: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807c688: 461a mov r2, r3 807c68a: 2127 movs r1, #39 ; 0x27 807c68c: 200a movs r0, #10 807c68e: f7d9 fb65 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807c692: 49b5 ldr r1, [pc, #724] ; (807c968 ) 807c694: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807c698: f7d8 fdb8 bl 805520c if(focused) 807c69c: 4bb5 ldr r3, [pc, #724] ; (807c974 ) 807c69e: 781b ldrb r3, [r3, #0] 807c6a0: b2db uxtb r3, r3 807c6a2: 2b00 cmp r3, #0 807c6a4: d019 beq.n 807c6da { if(blk) 807c6a6: 4bb4 ldr r3, [pc, #720] ; (807c978 ) 807c6a8: 681b ldr r3, [r3, #0] 807c6aa: 2b00 cmp r3, #0 807c6ac: d02a beq.n 807c704 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807c6ae: 4baf ldr r3, [pc, #700] ; (807c96c ) 807c6b0: 7b1b ldrb r3, [r3, #12] 807c6b2: b2db uxtb r3, r3 807c6b4: 4619 mov r1, r3 807c6b6: 4bad ldr r3, [pc, #692] ; (807c96c ) 807c6b8: 789b ldrb r3, [r3, #2] 807c6ba: b2db uxtb r3, r3 807c6bc: 4618 mov r0, r3 807c6be: 4aaf ldr r2, [pc, #700] ; (807c97c ) 807c6c0: 460b mov r3, r1 807c6c2: 009b lsls r3, r3, #2 807c6c4: 440b add r3, r1 807c6c6: 4403 add r3, r0 807c6c8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c6cc: 461a mov r2, r3 807c6ce: 215a movs r1, #90 ; 0x5a 807c6d0: f44f 7082 mov.w r0, #260 ; 0x104 807c6d4: f7d9 fb5a bl 8055d8c 807c6d8: e014 b.n 807c704 } else LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807c6da: 4ba4 ldr r3, [pc, #656] ; (807c96c ) 807c6dc: 7b1b ldrb r3, [r3, #12] 807c6de: b2db uxtb r3, r3 807c6e0: 4619 mov r1, r3 807c6e2: 4ba2 ldr r3, [pc, #648] ; (807c96c ) 807c6e4: 789b ldrb r3, [r3, #2] 807c6e6: b2db uxtb r3, r3 807c6e8: 4618 mov r0, r3 807c6ea: 4aa4 ldr r2, [pc, #656] ; (807c97c ) 807c6ec: 460b mov r3, r1 807c6ee: 009b lsls r3, r3, #2 807c6f0: 440b add r3, r1 807c6f2: 4403 add r3, r0 807c6f4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c6f8: 461a mov r2, r3 807c6fa: 215a movs r1, #90 ; 0x5a 807c6fc: f44f 7082 mov.w r0, #260 ; 0x104 807c700: f7d9 fb44 bl 8055d8c if(pardata.HP >= 2.0f) 807c704: 4b99 ldr r3, [pc, #612] ; (807c96c ) 807c706: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807c70a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807c70e: eef4 7ac7 vcmpe.f32 s15, s14 807c712: eef1 fa10 vmrs APSR_nzcv, fpscr 807c716: db53 blt.n 807c7c0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c718: 4993 ldr r1, [pc, #588] ; (807c968 ) 807c71a: f04f 30ff mov.w r0, #4294967295 807c71e: f7d8 fd75 bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c722: 4b92 ldr r3, [pc, #584] ; (807c96c ) 807c724: 7b1b ldrb r3, [r3, #12] 807c726: b2db uxtb r3, r3 807c728: 4619 mov r1, r3 807c72a: 4a95 ldr r2, [pc, #596] ; (807c980 ) 807c72c: 232c movs r3, #44 ; 0x2c 807c72e: fb03 f301 mul.w r3, r3, r1 807c732: 4413 add r3, r2 807c734: 330c adds r3, #12 807c736: 681b ldr r3, [r3, #0] 807c738: 461a mov r2, r3 807c73a: 216a movs r1, #106 ; 0x6a 807c73c: 200a movs r0, #10 807c73e: f7d9 fb0d bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c742: 4b8a ldr r3, [pc, #552] ; (807c96c ) 807c744: 7b1b ldrb r3, [r3, #12] 807c746: b2db uxtb r3, r3 807c748: 4619 mov r1, r3 807c74a: 4a8d ldr r2, [pc, #564] ; (807c980 ) 807c74c: 232c movs r3, #44 ; 0x2c 807c74e: fb03 f301 mul.w r3, r3, r1 807c752: 4413 add r3, r2 807c754: 3310 adds r3, #16 807c756: 681b ldr r3, [r3, #0] 807c758: 461a mov r2, r3 807c75a: 217a movs r1, #122 ; 0x7a 807c75c: 200a movs r0, #10 807c75e: f7d9 fafd bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c762: 4981 ldr r1, [pc, #516] ; (807c968 ) 807c764: 4887 ldr r0, [pc, #540] ; (807c984 ) 807c766: f7d8 fd51 bl 805520c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c76a: 4b80 ldr r3, [pc, #512] ; (807c96c ) 807c76c: 7b1b ldrb r3, [r3, #12] 807c76e: b2db uxtb r3, r3 807c770: 4619 mov r1, r3 807c772: 4b7e ldr r3, [pc, #504] ; (807c96c ) 807c774: 78db ldrb r3, [r3, #3] 807c776: b2db uxtb r3, r3 807c778: 4618 mov r0, r3 807c77a: 4a80 ldr r2, [pc, #512] ; (807c97c ) 807c77c: 460b mov r3, r1 807c77e: 009b lsls r3, r3, #2 807c780: 440b add r3, r1 807c782: 4403 add r3, r0 807c784: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c788: 461a mov r2, r3 807c78a: 216a movs r1, #106 ; 0x6a 807c78c: f44f 7082 mov.w r0, #260 ; 0x104 807c790: f7d9 fafc bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c794: 4b75 ldr r3, [pc, #468] ; (807c96c ) 807c796: 7b1b ldrb r3, [r3, #12] 807c798: b2db uxtb r3, r3 807c79a: 4619 mov r1, r3 807c79c: 4b73 ldr r3, [pc, #460] ; (807c96c ) 807c79e: 791b ldrb r3, [r3, #4] 807c7a0: b2db uxtb r3, r3 807c7a2: 4618 mov r0, r3 807c7a4: 4a75 ldr r2, [pc, #468] ; (807c97c ) 807c7a6: 460b mov r3, r1 807c7a8: 009b lsls r3, r3, #2 807c7aa: 440b add r3, r1 807c7ac: 4403 add r3, r0 807c7ae: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c7b2: 461a mov r2, r3 807c7b4: 217a movs r1, #122 ; 0x7a 807c7b6: f44f 7082 mov.w r0, #260 ; 0x104 807c7ba: f7d9 fae7 bl 8055d8c 807c7be: e04d b.n 807c85c } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c7c0: 4969 ldr r1, [pc, #420] ; (807c968 ) 807c7c2: 4871 ldr r0, [pc, #452] ; (807c988 ) 807c7c4: f7d8 fd22 bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c7c8: 4b68 ldr r3, [pc, #416] ; (807c96c ) 807c7ca: 7b1b ldrb r3, [r3, #12] 807c7cc: b2db uxtb r3, r3 807c7ce: 4619 mov r1, r3 807c7d0: 4a6b ldr r2, [pc, #428] ; (807c980 ) 807c7d2: 232c movs r3, #44 ; 0x2c 807c7d4: fb03 f301 mul.w r3, r3, r1 807c7d8: 4413 add r3, r2 807c7da: 330c adds r3, #12 807c7dc: 681b ldr r3, [r3, #0] 807c7de: 461a mov r2, r3 807c7e0: 216a movs r1, #106 ; 0x6a 807c7e2: 200a movs r0, #10 807c7e4: f7d9 faba bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c7e8: 4b60 ldr r3, [pc, #384] ; (807c96c ) 807c7ea: 7b1b ldrb r3, [r3, #12] 807c7ec: b2db uxtb r3, r3 807c7ee: 4619 mov r1, r3 807c7f0: 4a63 ldr r2, [pc, #396] ; (807c980 ) 807c7f2: 232c movs r3, #44 ; 0x2c 807c7f4: fb03 f301 mul.w r3, r3, r1 807c7f8: 4413 add r3, r2 807c7fa: 3310 adds r3, #16 807c7fc: 681b ldr r3, [r3, #0] 807c7fe: 461a mov r2, r3 807c800: 217a movs r1, #122 ; 0x7a 807c802: 200a movs r0, #10 807c804: f7d9 faaa bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c808: 4b58 ldr r3, [pc, #352] ; (807c96c ) 807c80a: 7b1b ldrb r3, [r3, #12] 807c80c: b2db uxtb r3, r3 807c80e: 4619 mov r1, r3 807c810: 4b56 ldr r3, [pc, #344] ; (807c96c ) 807c812: 78db ldrb r3, [r3, #3] 807c814: b2db uxtb r3, r3 807c816: 4618 mov r0, r3 807c818: 4a58 ldr r2, [pc, #352] ; (807c97c ) 807c81a: 460b mov r3, r1 807c81c: 009b lsls r3, r3, #2 807c81e: 440b add r3, r1 807c820: 4403 add r3, r0 807c822: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c826: 461a mov r2, r3 807c828: 216a movs r1, #106 ; 0x6a 807c82a: f44f 7082 mov.w r0, #260 ; 0x104 807c82e: f7d9 faad bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c832: 4b4e ldr r3, [pc, #312] ; (807c96c ) 807c834: 7b1b ldrb r3, [r3, #12] 807c836: b2db uxtb r3, r3 807c838: 4619 mov r1, r3 807c83a: 4b4c ldr r3, [pc, #304] ; (807c96c ) 807c83c: 791b ldrb r3, [r3, #4] 807c83e: b2db uxtb r3, r3 807c840: 4618 mov r0, r3 807c842: 4a4e ldr r2, [pc, #312] ; (807c97c ) 807c844: 460b mov r3, r1 807c846: 009b lsls r3, r3, #2 807c848: 440b add r3, r1 807c84a: 4403 add r3, r0 807c84c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c850: 461a mov r2, r3 807c852: 217a movs r1, #122 ; 0x7a 807c854: f44f 7082 mov.w r0, #260 ; 0x104 807c858: f7d9 fa98 bl 8055d8c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c85c: 4942 ldr r1, [pc, #264] ; (807c968 ) 807c85e: 4849 ldr r0, [pc, #292] ; (807c984 ) 807c860: f7d8 fcd4 bl 805520c LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807c864: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807c868: 461a mov r2, r3 807c86a: 213a movs r1, #58 ; 0x3a 807c86c: f44f 7082 mov.w r0, #260 ; 0x104 807c870: f7d9 fa8c bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807c874: f507 73cc add.w r3, r7, #408 ; 0x198 807c878: 461a mov r2, r3 807c87a: 214a movs r1, #74 ; 0x4a 807c87c: f44f 7082 mov.w r0, #260 ; 0x104 807c880: f7d9 fa84 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807c884: 4b39 ldr r3, [pc, #228] ; (807c96c ) 807c886: 7b1b ldrb r3, [r3, #12] 807c888: b2db uxtb r3, r3 807c88a: 4619 mov r1, r3 807c88c: 4b37 ldr r3, [pc, #220] ; (807c96c ) 807c88e: 7b5b ldrb r3, [r3, #13] 807c890: b2db uxtb r3, r3 807c892: 4618 mov r0, r3 807c894: 4a3d ldr r2, [pc, #244] ; (807c98c ) 807c896: 460b mov r3, r1 807c898: 009b lsls r3, r3, #2 807c89a: 440b add r3, r1 807c89c: 005b lsls r3, r3, #1 807c89e: 4403 add r3, r0 807c8a0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c8a4: 461a mov r2, r3 807c8a6: 218a movs r1, #138 ; 0x8a 807c8a8: f44f 7082 mov.w r0, #260 ; 0x104 807c8ac: f7d9 fa6e bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807c8b0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807c8b4: 461a mov r2, r3 807c8b6: 21da movs r1, #218 ; 0xda 807c8b8: f44f 7082 mov.w r0, #260 ; 0x104 807c8bc: f7d9 fa66 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c8c0: 4929 ldr r1, [pc, #164] ; (807c968 ) 807c8c2: f04f 30ff mov.w r0, #4294967295 807c8c6: f7d8 fca1 bl 805520c BSP_LCD_FillRect(255, 157, 10, 10); 807c8ca: 230a movs r3, #10 807c8cc: 220a movs r2, #10 807c8ce: 219d movs r1, #157 ; 0x9d 807c8d0: 20ff movs r0, #255 ; 0xff 807c8d2: f7d9 f929 bl 8055b28 BSP_LCD_FillRect(255, 173, 10, 10); 807c8d6: 230a movs r3, #10 807c8d8: 220a movs r2, #10 807c8da: 21ad movs r1, #173 ; 0xad 807c8dc: 20ff movs r0, #255 ; 0xff 807c8de: f7d9 f923 bl 8055b28 BSP_LCD_FillRect(255, 189, 10, 10); 807c8e2: 230a movs r3, #10 807c8e4: 220a movs r2, #10 807c8e6: 21bd movs r1, #189 ; 0xbd 807c8e8: 20ff movs r0, #255 ; 0xff 807c8ea: f7d9 f91d bl 8055b28 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807c8ee: 4b1f ldr r3, [pc, #124] ; (807c96c ) 807c8f0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807c8f4: f003 0304 and.w r3, r3, #4 807c8f8: 2b00 cmp r3, #0 807c8fa: d04b beq.n 807c994 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c8fc: 491a ldr r1, [pc, #104] ; (807c968 ) 807c8fe: 4822 ldr r0, [pc, #136] ; (807c988 ) 807c900: f7d8 fc84 bl 805520c if(pardata.IIN != VOLTS) 807c904: 4b19 ldr r3, [pc, #100] ; (807c96c ) 807c906: 799b ldrb r3, [r3, #6] 807c908: b2db uxtb r3, r3 807c90a: 2b02 cmp r3, #2 807c90c: d010 beq.n 807c930 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c90e: 4b17 ldr r3, [pc, #92] ; (807c96c ) 807c910: 7b1b ldrb r3, [r3, #12] 807c912: b2db uxtb r3, r3 807c914: 4619 mov r1, r3 807c916: 4a1a ldr r2, [pc, #104] ; (807c980 ) 807c918: 232c movs r3, #44 ; 0x2c 807c91a: fb03 f301 mul.w r3, r3, r1 807c91e: 4413 add r3, r2 807c920: 3324 adds r3, #36 ; 0x24 807c922: 681b ldr r3, [r3, #0] 807c924: 461a mov r2, r3 807c926: 21ca movs r1, #202 ; 0xca 807c928: 200a movs r0, #10 807c92a: f7d9 fa17 bl 8055d5c 807c92e: e00f b.n 807c950 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c930: 4b0e ldr r3, [pc, #56] ; (807c96c ) 807c932: 7b1b ldrb r3, [r3, #12] 807c934: b2db uxtb r3, r3 807c936: 4619 mov r1, r3 807c938: 4a15 ldr r2, [pc, #84] ; (807c990 ) 807c93a: 232c movs r3, #44 ; 0x2c 807c93c: fb03 f301 mul.w r3, r3, r1 807c940: 4413 add r3, r2 807c942: 3324 adds r3, #36 ; 0x24 807c944: 681b ldr r3, [r3, #0] 807c946: 461a mov r2, r3 807c948: 21ca movs r1, #202 ; 0xca 807c94a: 200a movs r0, #10 807c94c: f7d9 fa06 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 807c950: f507 733b add.w r3, r7, #748 ; 0x2ec 807c954: 461a mov r2, r3 807c956: 21ca movs r1, #202 ; 0xca 807c958: f44f 7082 mov.w r0, #260 ; 0x104 807c95c: f7d9 fa16 bl 8055d8c 807c960: f002 bf84 b.w 807f86c 807c964: 20020070 .word 0x20020070 807c968: ff0a0f1f .word 0xff0a0f1f 807c96c: 20023eb8 .word 0x20023eb8 807c970: 200205cc .word 0x200205cc 807c974: 20020fd0 .word 0x20020fd0 807c978: 200216ac .word 0x200216ac 807c97c: 200202c4 .word 0x200202c4 807c980: 200206bc .word 0x200206bc 807c984: ffd8aa57 .word 0xffd8aa57 807c988: ff808080 .word 0xff808080 807c98c: 20020254 .word 0x20020254 807c990: 20020714 .word 0x20020714 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c994: 49c7 ldr r1, [pc, #796] ; (807ccb4 ) 807c996: f04f 30ff mov.w r0, #4294967295 807c99a: f7d8 fc37 bl 805520c if(pardata.IIN != VOLTS) 807c99e: 4bc6 ldr r3, [pc, #792] ; (807ccb8 ) 807c9a0: 799b ldrb r3, [r3, #6] 807c9a2: b2db uxtb r3, r3 807c9a4: 2b02 cmp r3, #2 807c9a6: d010 beq.n 807c9ca LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c9a8: 4bc3 ldr r3, [pc, #780] ; (807ccb8 ) 807c9aa: 7b1b ldrb r3, [r3, #12] 807c9ac: b2db uxtb r3, r3 807c9ae: 4619 mov r1, r3 807c9b0: 4ac2 ldr r2, [pc, #776] ; (807ccbc ) 807c9b2: 232c movs r3, #44 ; 0x2c 807c9b4: fb03 f301 mul.w r3, r3, r1 807c9b8: 4413 add r3, r2 807c9ba: 3324 adds r3, #36 ; 0x24 807c9bc: 681b ldr r3, [r3, #0] 807c9be: 461a mov r2, r3 807c9c0: 21ca movs r1, #202 ; 0xca 807c9c2: 200a movs r0, #10 807c9c4: f7d9 f9ca bl 8055d5c 807c9c8: e00f b.n 807c9ea else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c9ca: 4bbb ldr r3, [pc, #748] ; (807ccb8 ) 807c9cc: 7b1b ldrb r3, [r3, #12] 807c9ce: b2db uxtb r3, r3 807c9d0: 4619 mov r1, r3 807c9d2: 4abb ldr r2, [pc, #748] ; (807ccc0 ) 807c9d4: 232c movs r3, #44 ; 0x2c 807c9d6: fb03 f301 mul.w r3, r3, r1 807c9da: 4413 add r3, r2 807c9dc: 3324 adds r3, #36 ; 0x24 807c9de: 681b ldr r3, [r3, #0] 807c9e0: 461a mov r2, r3 807c9e2: 21ca movs r1, #202 ; 0xca 807c9e4: 200a movs r0, #10 807c9e6: f7d9 f9b9 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c9ea: 49b2 ldr r1, [pc, #712] ; (807ccb4 ) 807c9ec: 48b5 ldr r0, [pc, #724] ; (807ccc4 ) 807c9ee: f7d8 fc0d bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 807c9f2: f507 733b add.w r3, r7, #748 ; 0x2ec 807c9f6: 461a mov r2, r3 807c9f8: 21ca movs r1, #202 ; 0xca 807c9fa: f44f 7082 mov.w r0, #260 ; 0x104 807c9fe: f7d9 f9c5 bl 8055d8c 807ca02: f002 bf33 b.w 807f86c } } else if(menupos == ValueV) 807ca06: 4bb0 ldr r3, [pc, #704] ; (807ccc8 ) 807ca08: 781b ldrb r3, [r3, #0] 807ca0a: b2db uxtb r3, r3 807ca0c: 2b03 cmp r3, #3 807ca0e: f040 8169 bne.w 807cce4 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ca12: 49a8 ldr r1, [pc, #672] ; (807ccb4 ) 807ca14: f04f 30ff mov.w r0, #4294967295 807ca18: f7d8 fbf8 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807ca1c: 4ba6 ldr r3, [pc, #664] ; (807ccb8 ) 807ca1e: 7b1b ldrb r3, [r3, #12] 807ca20: b2db uxtb r3, r3 807ca22: 461a mov r2, r3 807ca24: 4ba9 ldr r3, [pc, #676] ; (807cccc ) 807ca26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ca2a: 461a mov r2, r3 807ca2c: 2127 movs r1, #39 ; 0x27 807ca2e: 200a movs r0, #10 807ca30: f7d9 f994 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807ca34: 4ba0 ldr r3, [pc, #640] ; (807ccb8 ) 807ca36: 7b1b ldrb r3, [r3, #12] 807ca38: b2db uxtb r3, r3 807ca3a: 4619 mov r1, r3 807ca3c: 4a9f ldr r2, [pc, #636] ; (807ccbc ) 807ca3e: 232c movs r3, #44 ; 0x2c 807ca40: fb03 f301 mul.w r3, r3, r1 807ca44: 4413 add r3, r2 807ca46: 330c adds r3, #12 807ca48: 681b ldr r3, [r3, #0] 807ca4a: 461a mov r2, r3 807ca4c: 216a movs r1, #106 ; 0x6a 807ca4e: 200a movs r0, #10 807ca50: f7d9 f984 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807ca54: 4b98 ldr r3, [pc, #608] ; (807ccb8 ) 807ca56: 7b1b ldrb r3, [r3, #12] 807ca58: b2db uxtb r3, r3 807ca5a: 4619 mov r1, r3 807ca5c: 4a97 ldr r2, [pc, #604] ; (807ccbc ) 807ca5e: 232c movs r3, #44 ; 0x2c 807ca60: fb03 f301 mul.w r3, r3, r1 807ca64: 4413 add r3, r2 807ca66: 3310 adds r3, #16 807ca68: 681b ldr r3, [r3, #0] 807ca6a: 461a mov r2, r3 807ca6c: 217a movs r1, #122 ; 0x7a 807ca6e: 200a movs r0, #10 807ca70: f7d9 f974 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ca74: 498f ldr r1, [pc, #572] ; (807ccb4 ) 807ca76: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ca7a: f7d8 fbc7 bl 805520c if(focused) 807ca7e: 4b94 ldr r3, [pc, #592] ; (807ccd0 ) 807ca80: 781b ldrb r3, [r3, #0] 807ca82: b2db uxtb r3, r3 807ca84: 2b00 cmp r3, #0 807ca86: d019 beq.n 807cabc { if(blk) 807ca88: 4b92 ldr r3, [pc, #584] ; (807ccd4 ) 807ca8a: 681b ldr r3, [r3, #0] 807ca8c: 2b00 cmp r3, #0 807ca8e: d02a beq.n 807cae6 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807ca90: 4b89 ldr r3, [pc, #548] ; (807ccb8 ) 807ca92: 7b1b ldrb r3, [r3, #12] 807ca94: b2db uxtb r3, r3 807ca96: 4619 mov r1, r3 807ca98: 4b87 ldr r3, [pc, #540] ; (807ccb8 ) 807ca9a: 78db ldrb r3, [r3, #3] 807ca9c: b2db uxtb r3, r3 807ca9e: 4618 mov r0, r3 807caa0: 4a8d ldr r2, [pc, #564] ; (807ccd8 ) 807caa2: 460b mov r3, r1 807caa4: 009b lsls r3, r3, #2 807caa6: 440b add r3, r1 807caa8: 4403 add r3, r0 807caaa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807caae: 461a mov r2, r3 807cab0: 216a movs r1, #106 ; 0x6a 807cab2: f44f 7082 mov.w r0, #260 ; 0x104 807cab6: f7d9 f969 bl 8055d8c 807caba: e014 b.n 807cae6 } else LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807cabc: 4b7e ldr r3, [pc, #504] ; (807ccb8 ) 807cabe: 7b1b ldrb r3, [r3, #12] 807cac0: b2db uxtb r3, r3 807cac2: 4619 mov r1, r3 807cac4: 4b7c ldr r3, [pc, #496] ; (807ccb8 ) 807cac6: 78db ldrb r3, [r3, #3] 807cac8: b2db uxtb r3, r3 807caca: 4618 mov r0, r3 807cacc: 4a82 ldr r2, [pc, #520] ; (807ccd8 ) 807cace: 460b mov r3, r1 807cad0: 009b lsls r3, r3, #2 807cad2: 440b add r3, r1 807cad4: 4403 add r3, r0 807cad6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807cada: 461a mov r2, r3 807cadc: 216a movs r1, #106 ; 0x6a 807cade: f44f 7082 mov.w r0, #260 ; 0x104 807cae2: f7d9 f953 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807cae6: 4973 ldr r1, [pc, #460] ; (807ccb4 ) 807cae8: 4876 ldr r0, [pc, #472] ; (807ccc4 ) 807caea: f7d8 fb8f bl 805520c LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807caee: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807caf2: 461a mov r2, r3 807caf4: 213a movs r1, #58 ; 0x3a 807caf6: f44f 7082 mov.w r0, #260 ; 0x104 807cafa: f7d9 f947 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807cafe: f507 73cc add.w r3, r7, #408 ; 0x198 807cb02: 461a mov r2, r3 807cb04: 214a movs r1, #74 ; 0x4a 807cb06: f44f 7082 mov.w r0, #260 ; 0x104 807cb0a: f7d9 f93f bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807cb0e: 4b6a ldr r3, [pc, #424] ; (807ccb8 ) 807cb10: 7b1b ldrb r3, [r3, #12] 807cb12: b2db uxtb r3, r3 807cb14: 4619 mov r1, r3 807cb16: 4b68 ldr r3, [pc, #416] ; (807ccb8 ) 807cb18: 789b ldrb r3, [r3, #2] 807cb1a: b2db uxtb r3, r3 807cb1c: 4618 mov r0, r3 807cb1e: 4a6e ldr r2, [pc, #440] ; (807ccd8 ) 807cb20: 460b mov r3, r1 807cb22: 009b lsls r3, r3, #2 807cb24: 440b add r3, r1 807cb26: 4403 add r3, r0 807cb28: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807cb2c: 461a mov r2, r3 807cb2e: 215a movs r1, #90 ; 0x5a 807cb30: f44f 7082 mov.w r0, #260 ; 0x104 807cb34: f7d9 f92a bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807cb38: 4b5f ldr r3, [pc, #380] ; (807ccb8 ) 807cb3a: 7b1b ldrb r3, [r3, #12] 807cb3c: b2db uxtb r3, r3 807cb3e: 4619 mov r1, r3 807cb40: 4b5d ldr r3, [pc, #372] ; (807ccb8 ) 807cb42: 791b ldrb r3, [r3, #4] 807cb44: b2db uxtb r3, r3 807cb46: 4618 mov r0, r3 807cb48: 4a63 ldr r2, [pc, #396] ; (807ccd8 ) 807cb4a: 460b mov r3, r1 807cb4c: 009b lsls r3, r3, #2 807cb4e: 440b add r3, r1 807cb50: 4403 add r3, r0 807cb52: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807cb56: 461a mov r2, r3 807cb58: 217a movs r1, #122 ; 0x7a 807cb5a: f44f 7082 mov.w r0, #260 ; 0x104 807cb5e: f7d9 f915 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807cb62: 4b55 ldr r3, [pc, #340] ; (807ccb8 ) 807cb64: 7b1b ldrb r3, [r3, #12] 807cb66: b2db uxtb r3, r3 807cb68: 4619 mov r1, r3 807cb6a: 4b53 ldr r3, [pc, #332] ; (807ccb8 ) 807cb6c: 7b5b ldrb r3, [r3, #13] 807cb6e: b2db uxtb r3, r3 807cb70: 4618 mov r0, r3 807cb72: 4a5a ldr r2, [pc, #360] ; (807ccdc ) 807cb74: 460b mov r3, r1 807cb76: 009b lsls r3, r3, #2 807cb78: 440b add r3, r1 807cb7a: 005b lsls r3, r3, #1 807cb7c: 4403 add r3, r0 807cb7e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807cb82: 461a mov r2, r3 807cb84: 218a movs r1, #138 ; 0x8a 807cb86: f44f 7082 mov.w r0, #260 ; 0x104 807cb8a: f7d9 f8ff bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807cb8e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807cb92: 461a mov r2, r3 807cb94: 21da movs r1, #218 ; 0xda 807cb96: f44f 7082 mov.w r0, #260 ; 0x104 807cb9a: f7d9 f8f7 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807cb9e: 4945 ldr r1, [pc, #276] ; (807ccb4 ) 807cba0: f04f 30ff mov.w r0, #4294967295 807cba4: f7d8 fb32 bl 805520c BSP_LCD_FillRect(255, 157, 10, 10); 807cba8: 230a movs r3, #10 807cbaa: 220a movs r2, #10 807cbac: 219d movs r1, #157 ; 0x9d 807cbae: 20ff movs r0, #255 ; 0xff 807cbb0: f7d8 ffba bl 8055b28 BSP_LCD_FillRect(255, 173, 10, 10); 807cbb4: 230a movs r3, #10 807cbb6: 220a movs r2, #10 807cbb8: 21ad movs r1, #173 ; 0xad 807cbba: 20ff movs r0, #255 ; 0xff 807cbbc: f7d8 ffb4 bl 8055b28 BSP_LCD_FillRect(255, 189, 10, 10); 807cbc0: 230a movs r3, #10 807cbc2: 220a movs r2, #10 807cbc4: 21bd movs r1, #189 ; 0xbd 807cbc6: 20ff movs r0, #255 ; 0xff 807cbc8: f7d8 ffae bl 8055b28 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807cbcc: 4b3a ldr r3, [pc, #232] ; (807ccb8 ) 807cbce: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807cbd2: f003 0304 and.w r3, r3, #4 807cbd6: 2b00 cmp r3, #0 807cbd8: d033 beq.n 807cc42 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807cbda: 4936 ldr r1, [pc, #216] ; (807ccb4 ) 807cbdc: 4840 ldr r0, [pc, #256] ; (807cce0 ) 807cbde: f7d8 fb15 bl 805520c if(pardata.IIN != VOLTS) 807cbe2: 4b35 ldr r3, [pc, #212] ; (807ccb8 ) 807cbe4: 799b ldrb r3, [r3, #6] 807cbe6: b2db uxtb r3, r3 807cbe8: 2b02 cmp r3, #2 807cbea: d010 beq.n 807cc0e LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cbec: 4b32 ldr r3, [pc, #200] ; (807ccb8 ) 807cbee: 7b1b ldrb r3, [r3, #12] 807cbf0: b2db uxtb r3, r3 807cbf2: 4619 mov r1, r3 807cbf4: 4a31 ldr r2, [pc, #196] ; (807ccbc ) 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: f7d9 f8a8 bl 8055d5c 807cc0c: e00f b.n 807cc2e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cc0e: 4b2a ldr r3, [pc, #168] ; (807ccb8 ) 807cc10: 7b1b ldrb r3, [r3, #12] 807cc12: b2db uxtb r3, r3 807cc14: 4619 mov r1, r3 807cc16: 4a2a ldr r2, [pc, #168] ; (807ccc0 ) 807cc18: 232c movs r3, #44 ; 0x2c 807cc1a: fb03 f301 mul.w r3, r3, r1 807cc1e: 4413 add r3, r2 807cc20: 3324 adds r3, #36 ; 0x24 807cc22: 681b ldr r3, [r3, #0] 807cc24: 461a mov r2, r3 807cc26: 21ca movs r1, #202 ; 0xca 807cc28: 200a movs r0, #10 807cc2a: f7d9 f897 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 807cc2e: f507 733b add.w r3, r7, #748 ; 0x2ec 807cc32: 461a mov r2, r3 807cc34: 21ca movs r1, #202 ; 0xca 807cc36: f44f 7082 mov.w r0, #260 ; 0x104 807cc3a: f7d9 f8a7 bl 8055d8c 807cc3e: f002 be15 b.w 807f86c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807cc42: 491c ldr r1, [pc, #112] ; (807ccb4 ) 807cc44: f04f 30ff mov.w r0, #4294967295 807cc48: f7d8 fae0 bl 805520c if(pardata.IIN != VOLTS) 807cc4c: 4b1a ldr r3, [pc, #104] ; (807ccb8 ) 807cc4e: 799b ldrb r3, [r3, #6] 807cc50: b2db uxtb r3, r3 807cc52: 2b02 cmp r3, #2 807cc54: d010 beq.n 807cc78 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cc56: 4b18 ldr r3, [pc, #96] ; (807ccb8 ) 807cc58: 7b1b ldrb r3, [r3, #12] 807cc5a: b2db uxtb r3, r3 807cc5c: 4619 mov r1, r3 807cc5e: 4a17 ldr r2, [pc, #92] ; (807ccbc ) 807cc60: 232c movs r3, #44 ; 0x2c 807cc62: fb03 f301 mul.w r3, r3, r1 807cc66: 4413 add r3, r2 807cc68: 3324 adds r3, #36 ; 0x24 807cc6a: 681b ldr r3, [r3, #0] 807cc6c: 461a mov r2, r3 807cc6e: 21ca movs r1, #202 ; 0xca 807cc70: 200a movs r0, #10 807cc72: f7d9 f873 bl 8055d5c 807cc76: e00f b.n 807cc98 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cc78: 4b0f ldr r3, [pc, #60] ; (807ccb8 ) 807cc7a: 7b1b ldrb r3, [r3, #12] 807cc7c: b2db uxtb r3, r3 807cc7e: 4619 mov r1, r3 807cc80: 4a0f ldr r2, [pc, #60] ; (807ccc0 ) 807cc82: 232c movs r3, #44 ; 0x2c 807cc84: fb03 f301 mul.w r3, r3, r1 807cc88: 4413 add r3, r2 807cc8a: 3324 adds r3, #36 ; 0x24 807cc8c: 681b ldr r3, [r3, #0] 807cc8e: 461a mov r2, r3 807cc90: 21ca movs r1, #202 ; 0xca 807cc92: 200a movs r0, #10 807cc94: f7d9 f862 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807cc98: 4906 ldr r1, [pc, #24] ; (807ccb4 ) 807cc9a: 480a ldr r0, [pc, #40] ; (807ccc4 ) 807cc9c: f7d8 fab6 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 807cca0: f507 733b add.w r3, r7, #748 ; 0x2ec 807cca4: 461a mov r2, r3 807cca6: 21ca movs r1, #202 ; 0xca 807cca8: f44f 7082 mov.w r0, #260 ; 0x104 807ccac: f7d9 f86e bl 8055d8c 807ccb0: f002 bddc b.w 807f86c 807ccb4: ff0a0f1f .word 0xff0a0f1f 807ccb8: 20023eb8 .word 0x20023eb8 807ccbc: 200206bc .word 0x200206bc 807ccc0: 20020714 .word 0x20020714 807ccc4: ffd8aa57 .word 0xffd8aa57 807ccc8: 20020070 .word 0x20020070 807cccc: 200205cc .word 0x200205cc 807ccd0: 20020fd0 .word 0x20020fd0 807ccd4: 200216ac .word 0x200216ac 807ccd8: 200202c4 .word 0x200202c4 807ccdc: 20020254 .word 0x20020254 807cce0: ff808080 .word 0xff808080 } } else if(menupos == ValueS) 807cce4: 4bc9 ldr r3, [pc, #804] ; (807d00c ) 807cce6: 781b ldrb r3, [r3, #0] 807cce8: b2db uxtb r3, r3 807ccea: 2b04 cmp r3, #4 807ccec: f040 8151 bne.w 807cf92 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ccf0: 49c7 ldr r1, [pc, #796] ; (807d010 ) 807ccf2: f04f 30ff mov.w r0, #4294967295 807ccf6: f7d8 fa89 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807ccfa: 4bc6 ldr r3, [pc, #792] ; (807d014 ) 807ccfc: 7b1b ldrb r3, [r3, #12] 807ccfe: b2db uxtb r3, r3 807cd00: 461a mov r2, r3 807cd02: 4bc5 ldr r3, [pc, #788] ; (807d018 ) 807cd04: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cd08: 461a mov r2, r3 807cd0a: 2127 movs r1, #39 ; 0x27 807cd0c: 200a movs r0, #10 807cd0e: f7d9 f825 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807cd12: 4bc0 ldr r3, [pc, #768] ; (807d014 ) 807cd14: 7b1b ldrb r3, [r3, #12] 807cd16: b2db uxtb r3, r3 807cd18: 4619 mov r1, r3 807cd1a: 4ac0 ldr r2, [pc, #768] ; (807d01c ) 807cd1c: 232c movs r3, #44 ; 0x2c 807cd1e: fb03 f301 mul.w r3, r3, r1 807cd22: 4413 add r3, r2 807cd24: 330c adds r3, #12 807cd26: 681b ldr r3, [r3, #0] 807cd28: 461a mov r2, r3 807cd2a: 216a movs r1, #106 ; 0x6a 807cd2c: 200a movs r0, #10 807cd2e: f7d9 f815 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807cd32: 4bb8 ldr r3, [pc, #736] ; (807d014 ) 807cd34: 7b1b ldrb r3, [r3, #12] 807cd36: b2db uxtb r3, r3 807cd38: 4619 mov r1, r3 807cd3a: 4ab8 ldr r2, [pc, #736] ; (807d01c ) 807cd3c: 232c movs r3, #44 ; 0x2c 807cd3e: fb03 f301 mul.w r3, r3, r1 807cd42: 4413 add r3, r2 807cd44: 3310 adds r3, #16 807cd46: 681b ldr r3, [r3, #0] 807cd48: 461a mov r2, r3 807cd4a: 217a movs r1, #122 ; 0x7a 807cd4c: 200a movs r0, #10 807cd4e: f7d9 f805 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807cd52: 49af ldr r1, [pc, #700] ; (807d010 ) 807cd54: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807cd58: f7d8 fa58 bl 805520c if(focused) 807cd5c: 4bb0 ldr r3, [pc, #704] ; (807d020 ) 807cd5e: 781b ldrb r3, [r3, #0] 807cd60: b2db uxtb r3, r3 807cd62: 2b00 cmp r3, #0 807cd64: d019 beq.n 807cd9a { if(blk) 807cd66: 4baf ldr r3, [pc, #700] ; (807d024 ) 807cd68: 681b ldr r3, [r3, #0] 807cd6a: 2b00 cmp r3, #0 807cd6c: d02a beq.n 807cdc4 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807cd6e: 4ba9 ldr r3, [pc, #676] ; (807d014 ) 807cd70: 7b1b ldrb r3, [r3, #12] 807cd72: b2db uxtb r3, r3 807cd74: 4619 mov r1, r3 807cd76: 4ba7 ldr r3, [pc, #668] ; (807d014 ) 807cd78: 791b ldrb r3, [r3, #4] 807cd7a: b2db uxtb r3, r3 807cd7c: 4618 mov r0, r3 807cd7e: 4aaa ldr r2, [pc, #680] ; (807d028 ) 807cd80: 460b mov r3, r1 807cd82: 009b lsls r3, r3, #2 807cd84: 440b add r3, r1 807cd86: 4403 add r3, r0 807cd88: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807cd8c: 461a mov r2, r3 807cd8e: 217a movs r1, #122 ; 0x7a 807cd90: f44f 7082 mov.w r0, #260 ; 0x104 807cd94: f7d8 fffa bl 8055d8c 807cd98: e014 b.n 807cdc4 } else LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807cd9a: 4b9e ldr r3, [pc, #632] ; (807d014 ) 807cd9c: 7b1b ldrb r3, [r3, #12] 807cd9e: b2db uxtb r3, r3 807cda0: 4619 mov r1, r3 807cda2: 4b9c ldr r3, [pc, #624] ; (807d014 ) 807cda4: 791b ldrb r3, [r3, #4] 807cda6: b2db uxtb r3, r3 807cda8: 4618 mov r0, r3 807cdaa: 4a9f ldr r2, [pc, #636] ; (807d028 ) 807cdac: 460b mov r3, r1 807cdae: 009b lsls r3, r3, #2 807cdb0: 440b add r3, r1 807cdb2: 4403 add r3, r0 807cdb4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807cdb8: 461a mov r2, r3 807cdba: 217a movs r1, #122 ; 0x7a 807cdbc: f44f 7082 mov.w r0, #260 ; 0x104 807cdc0: f7d8 ffe4 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807cdc4: 4992 ldr r1, [pc, #584] ; (807d010 ) 807cdc6: 4899 ldr r0, [pc, #612] ; (807d02c ) 807cdc8: f7d8 fa20 bl 805520c LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807cdcc: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807cdd0: 461a mov r2, r3 807cdd2: 213a movs r1, #58 ; 0x3a 807cdd4: f44f 7082 mov.w r0, #260 ; 0x104 807cdd8: f7d8 ffd8 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807cddc: f507 73cc add.w r3, r7, #408 ; 0x198 807cde0: 461a mov r2, r3 807cde2: 214a movs r1, #74 ; 0x4a 807cde4: f44f 7082 mov.w r0, #260 ; 0x104 807cde8: f7d8 ffd0 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807cdec: 4b89 ldr r3, [pc, #548] ; (807d014 ) 807cdee: 7b1b ldrb r3, [r3, #12] 807cdf0: b2db uxtb r3, r3 807cdf2: 4619 mov r1, r3 807cdf4: 4b87 ldr r3, [pc, #540] ; (807d014 ) 807cdf6: 789b ldrb r3, [r3, #2] 807cdf8: b2db uxtb r3, r3 807cdfa: 4618 mov r0, r3 807cdfc: 4a8a ldr r2, [pc, #552] ; (807d028 ) 807cdfe: 460b mov r3, r1 807ce00: 009b lsls r3, r3, #2 807ce02: 440b add r3, r1 807ce04: 4403 add r3, r0 807ce06: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807ce0a: 461a mov r2, r3 807ce0c: 215a movs r1, #90 ; 0x5a 807ce0e: f44f 7082 mov.w r0, #260 ; 0x104 807ce12: f7d8 ffbb bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807ce16: 4b7f ldr r3, [pc, #508] ; (807d014 ) 807ce18: 7b1b ldrb r3, [r3, #12] 807ce1a: b2db uxtb r3, r3 807ce1c: 4619 mov r1, r3 807ce1e: 4b7d ldr r3, [pc, #500] ; (807d014 ) 807ce20: 78db ldrb r3, [r3, #3] 807ce22: b2db uxtb r3, r3 807ce24: 4618 mov r0, r3 807ce26: 4a80 ldr r2, [pc, #512] ; (807d028 ) 807ce28: 460b mov r3, r1 807ce2a: 009b lsls r3, r3, #2 807ce2c: 440b add r3, r1 807ce2e: 4403 add r3, r0 807ce30: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807ce34: 461a mov r2, r3 807ce36: 216a movs r1, #106 ; 0x6a 807ce38: f44f 7082 mov.w r0, #260 ; 0x104 807ce3c: f7d8 ffa6 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807ce40: 4b74 ldr r3, [pc, #464] ; (807d014 ) 807ce42: 7b1b ldrb r3, [r3, #12] 807ce44: b2db uxtb r3, r3 807ce46: 4619 mov r1, r3 807ce48: 4b72 ldr r3, [pc, #456] ; (807d014 ) 807ce4a: 7b5b ldrb r3, [r3, #13] 807ce4c: b2db uxtb r3, r3 807ce4e: 4618 mov r0, r3 807ce50: 4a77 ldr r2, [pc, #476] ; (807d030 ) 807ce52: 460b mov r3, r1 807ce54: 009b lsls r3, r3, #2 807ce56: 440b add r3, r1 807ce58: 005b lsls r3, r3, #1 807ce5a: 4403 add r3, r0 807ce5c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807ce60: 461a mov r2, r3 807ce62: 218a movs r1, #138 ; 0x8a 807ce64: f44f 7082 mov.w r0, #260 ; 0x104 807ce68: f7d8 ff90 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807ce6c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807ce70: 461a mov r2, r3 807ce72: 21da movs r1, #218 ; 0xda 807ce74: f44f 7082 mov.w r0, #260 ; 0x104 807ce78: f7d8 ff88 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ce7c: 4964 ldr r1, [pc, #400] ; (807d010 ) 807ce7e: f04f 30ff mov.w r0, #4294967295 807ce82: f7d8 f9c3 bl 805520c BSP_LCD_FillRect(255, 157, 10, 10); 807ce86: 230a movs r3, #10 807ce88: 220a movs r2, #10 807ce8a: 219d movs r1, #157 ; 0x9d 807ce8c: 20ff movs r0, #255 ; 0xff 807ce8e: f7d8 fe4b bl 8055b28 BSP_LCD_FillRect(255, 173, 10, 10); 807ce92: 230a movs r3, #10 807ce94: 220a movs r2, #10 807ce96: 21ad movs r1, #173 ; 0xad 807ce98: 20ff movs r0, #255 ; 0xff 807ce9a: f7d8 fe45 bl 8055b28 BSP_LCD_FillRect(255, 189, 10, 10); 807ce9e: 230a movs r3, #10 807cea0: 220a movs r2, #10 807cea2: 21bd movs r1, #189 ; 0xbd 807cea4: 20ff movs r0, #255 ; 0xff 807cea6: f7d8 fe3f bl 8055b28 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807ceaa: 4b5a ldr r3, [pc, #360] ; (807d014 ) 807ceac: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807ceb0: f003 0304 and.w r3, r3, #4 807ceb4: 2b00 cmp r3, #0 807ceb6: d033 beq.n 807cf20 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807ceb8: 4955 ldr r1, [pc, #340] ; (807d010 ) 807ceba: 485e ldr r0, [pc, #376] ; (807d034 ) 807cebc: f7d8 f9a6 bl 805520c if(pardata.IIN != VOLTS) 807cec0: 4b54 ldr r3, [pc, #336] ; (807d014 ) 807cec2: 799b ldrb r3, [r3, #6] 807cec4: b2db uxtb r3, r3 807cec6: 2b02 cmp r3, #2 807cec8: d010 beq.n 807ceec LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807ceca: 4b52 ldr r3, [pc, #328] ; (807d014 ) 807cecc: 7b1b ldrb r3, [r3, #12] 807cece: b2db uxtb r3, r3 807ced0: 4619 mov r1, r3 807ced2: 4a52 ldr r2, [pc, #328] ; (807d01c ) 807ced4: 232c movs r3, #44 ; 0x2c 807ced6: fb03 f301 mul.w r3, r3, r1 807ceda: 4413 add r3, r2 807cedc: 3324 adds r3, #36 ; 0x24 807cede: 681b ldr r3, [r3, #0] 807cee0: 461a mov r2, r3 807cee2: 21ca movs r1, #202 ; 0xca 807cee4: 200a movs r0, #10 807cee6: f7d8 ff39 bl 8055d5c 807ceea: e00f b.n 807cf0c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807ceec: 4b49 ldr r3, [pc, #292] ; (807d014 ) 807ceee: 7b1b ldrb r3, [r3, #12] 807cef0: b2db uxtb r3, r3 807cef2: 4619 mov r1, r3 807cef4: 4a50 ldr r2, [pc, #320] ; (807d038 ) 807cef6: 232c movs r3, #44 ; 0x2c 807cef8: fb03 f301 mul.w r3, r3, r1 807cefc: 4413 add r3, r2 807cefe: 3324 adds r3, #36 ; 0x24 807cf00: 681b ldr r3, [r3, #0] 807cf02: 461a mov r2, r3 807cf04: 21ca movs r1, #202 ; 0xca 807cf06: 200a movs r0, #10 807cf08: f7d8 ff28 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 807cf0c: f507 733b add.w r3, r7, #748 ; 0x2ec 807cf10: 461a mov r2, r3 807cf12: 21ca movs r1, #202 ; 0xca 807cf14: f44f 7082 mov.w r0, #260 ; 0x104 807cf18: f7d8 ff38 bl 8055d8c 807cf1c: f002 bca6 b.w 807f86c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807cf20: 493b ldr r1, [pc, #236] ; (807d010 ) 807cf22: f04f 30ff mov.w r0, #4294967295 807cf26: f7d8 f971 bl 805520c if(pardata.IIN != VOLTS) 807cf2a: 4b3a ldr r3, [pc, #232] ; (807d014 ) 807cf2c: 799b ldrb r3, [r3, #6] 807cf2e: b2db uxtb r3, r3 807cf30: 2b02 cmp r3, #2 807cf32: d010 beq.n 807cf56 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cf34: 4b37 ldr r3, [pc, #220] ; (807d014 ) 807cf36: 7b1b ldrb r3, [r3, #12] 807cf38: b2db uxtb r3, r3 807cf3a: 4619 mov r1, r3 807cf3c: 4a37 ldr r2, [pc, #220] ; (807d01c ) 807cf3e: 232c movs r3, #44 ; 0x2c 807cf40: fb03 f301 mul.w r3, r3, r1 807cf44: 4413 add r3, r2 807cf46: 3324 adds r3, #36 ; 0x24 807cf48: 681b ldr r3, [r3, #0] 807cf4a: 461a mov r2, r3 807cf4c: 21ca movs r1, #202 ; 0xca 807cf4e: 200a movs r0, #10 807cf50: f7d8 ff04 bl 8055d5c 807cf54: e00f b.n 807cf76 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cf56: 4b2f ldr r3, [pc, #188] ; (807d014 ) 807cf58: 7b1b ldrb r3, [r3, #12] 807cf5a: b2db uxtb r3, r3 807cf5c: 4619 mov r1, r3 807cf5e: 4a36 ldr r2, [pc, #216] ; (807d038 ) 807cf60: 232c movs r3, #44 ; 0x2c 807cf62: fb03 f301 mul.w r3, r3, r1 807cf66: 4413 add r3, r2 807cf68: 3324 adds r3, #36 ; 0x24 807cf6a: 681b ldr r3, [r3, #0] 807cf6c: 461a mov r2, r3 807cf6e: 21ca movs r1, #202 ; 0xca 807cf70: 200a movs r0, #10 807cf72: f7d8 fef3 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807cf76: 4926 ldr r1, [pc, #152] ; (807d010 ) 807cf78: 482c ldr r0, [pc, #176] ; (807d02c ) 807cf7a: f7d8 f947 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 807cf7e: f507 733b add.w r3, r7, #748 ; 0x2ec 807cf82: 461a mov r2, r3 807cf84: 21ca movs r1, #202 ; 0xca 807cf86: f44f 7082 mov.w r0, #260 ; 0x104 807cf8a: f7d8 feff bl 8055d8c 807cf8e: f002 bc6d b.w 807f86c } } else if(menupos == Average) 807cf92: 4b1e ldr r3, [pc, #120] ; (807d00c ) 807cf94: 781b ldrb r3, [r3, #0] 807cf96: b2db uxtb r3, r3 807cf98: 2b05 cmp r3, #5 807cf9a: f040 81dd bne.w 807d358 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807cf9e: 491c ldr r1, [pc, #112] ; (807d010 ) 807cfa0: f04f 30ff mov.w r0, #4294967295 807cfa4: f7d8 f932 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807cfa8: 4b1a ldr r3, [pc, #104] ; (807d014 ) 807cfaa: 7b1b ldrb r3, [r3, #12] 807cfac: b2db uxtb r3, r3 807cfae: 461a mov r2, r3 807cfb0: 4b19 ldr r3, [pc, #100] ; (807d018 ) 807cfb2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cfb6: 461a mov r2, r3 807cfb8: 2127 movs r1, #39 ; 0x27 807cfba: 200a movs r0, #10 807cfbc: f7d8 fece bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807cfc0: 4913 ldr r1, [pc, #76] ; (807d010 ) 807cfc2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807cfc6: f7d8 f921 bl 805520c if(focused) 807cfca: 4b15 ldr r3, [pc, #84] ; (807d020 ) 807cfcc: 781b ldrb r3, [r3, #0] 807cfce: b2db uxtb r3, r3 807cfd0: 2b00 cmp r3, #0 807cfd2: d033 beq.n 807d03c { if(blk) 807cfd4: 4b13 ldr r3, [pc, #76] ; (807d024 ) 807cfd6: 681b ldr r3, [r3, #0] 807cfd8: 2b00 cmp r3, #0 807cfda: d045 beq.n 807d068 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807cfdc: 4b0d ldr r3, [pc, #52] ; (807d014 ) 807cfde: 7b1b ldrb r3, [r3, #12] 807cfe0: b2db uxtb r3, r3 807cfe2: 4619 mov r1, r3 807cfe4: 4b0b ldr r3, [pc, #44] ; (807d014 ) 807cfe6: 7b5b ldrb r3, [r3, #13] 807cfe8: b2db uxtb r3, r3 807cfea: 4618 mov r0, r3 807cfec: 4a10 ldr r2, [pc, #64] ; (807d030 ) 807cfee: 460b mov r3, r1 807cff0: 009b lsls r3, r3, #2 807cff2: 440b add r3, r1 807cff4: 005b lsls r3, r3, #1 807cff6: 4403 add r3, r0 807cff8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807cffc: 461a mov r2, r3 807cffe: 218a movs r1, #138 ; 0x8a 807d000: f44f 7082 mov.w r0, #260 ; 0x104 807d004: f7d8 fec2 bl 8055d8c 807d008: e02e b.n 807d068 807d00a: bf00 nop 807d00c: 20020070 .word 0x20020070 807d010: ff0a0f1f .word 0xff0a0f1f 807d014: 20023eb8 .word 0x20023eb8 807d018: 200205cc .word 0x200205cc 807d01c: 200206bc .word 0x200206bc 807d020: 20020fd0 .word 0x20020fd0 807d024: 200216ac .word 0x200216ac 807d028: 200202c4 .word 0x200202c4 807d02c: ffd8aa57 .word 0xffd8aa57 807d030: 20020254 .word 0x20020254 807d034: ff808080 .word 0xff808080 807d038: 20020714 .word 0x20020714 } else LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807d03c: 4bbe ldr r3, [pc, #760] ; (807d338 ) 807d03e: 7b1b ldrb r3, [r3, #12] 807d040: b2db uxtb r3, r3 807d042: 4619 mov r1, r3 807d044: 4bbc ldr r3, [pc, #752] ; (807d338 ) 807d046: 7b5b ldrb r3, [r3, #13] 807d048: b2db uxtb r3, r3 807d04a: 4618 mov r0, r3 807d04c: 4abb ldr r2, [pc, #748] ; (807d33c ) 807d04e: 460b mov r3, r1 807d050: 009b lsls r3, r3, #2 807d052: 440b add r3, r1 807d054: 005b lsls r3, r3, #1 807d056: 4403 add r3, r0 807d058: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d05c: 461a mov r2, r3 807d05e: 218a movs r1, #138 ; 0x8a 807d060: f44f 7082 mov.w r0, #260 ; 0x104 807d064: f7d8 fe92 bl 8055d8c if(pardata.HP >= 2.0f) 807d068: 4bb3 ldr r3, [pc, #716] ; (807d338 ) 807d06a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807d06e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807d072: eef4 7ac7 vcmpe.f32 s15, s14 807d076: eef1 fa10 vmrs APSR_nzcv, fpscr 807d07a: db53 blt.n 807d124 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d07c: 49b0 ldr r1, [pc, #704] ; (807d340 ) 807d07e: f04f 30ff mov.w r0, #4294967295 807d082: f7d8 f8c3 bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807d086: 4bac ldr r3, [pc, #688] ; (807d338 ) 807d088: 7b1b ldrb r3, [r3, #12] 807d08a: b2db uxtb r3, r3 807d08c: 4619 mov r1, r3 807d08e: 4aad ldr r2, [pc, #692] ; (807d344 ) 807d090: 232c movs r3, #44 ; 0x2c 807d092: fb03 f301 mul.w r3, r3, r1 807d096: 4413 add r3, r2 807d098: 330c adds r3, #12 807d09a: 681b ldr r3, [r3, #0] 807d09c: 461a mov r2, r3 807d09e: 216a movs r1, #106 ; 0x6a 807d0a0: 200a movs r0, #10 807d0a2: f7d8 fe5b bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807d0a6: 4ba4 ldr r3, [pc, #656] ; (807d338 ) 807d0a8: 7b1b ldrb r3, [r3, #12] 807d0aa: b2db uxtb r3, r3 807d0ac: 4619 mov r1, r3 807d0ae: 4aa5 ldr r2, [pc, #660] ; (807d344 ) 807d0b0: 232c movs r3, #44 ; 0x2c 807d0b2: fb03 f301 mul.w r3, r3, r1 807d0b6: 4413 add r3, r2 807d0b8: 3310 adds r3, #16 807d0ba: 681b ldr r3, [r3, #0] 807d0bc: 461a mov r2, r3 807d0be: 217a movs r1, #122 ; 0x7a 807d0c0: 200a movs r0, #10 807d0c2: f7d8 fe4b bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d0c6: 499e ldr r1, [pc, #632] ; (807d340 ) 807d0c8: 489f ldr r0, [pc, #636] ; (807d348 ) 807d0ca: f7d8 f89f bl 805520c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807d0ce: 4b9a ldr r3, [pc, #616] ; (807d338 ) 807d0d0: 7b1b ldrb r3, [r3, #12] 807d0d2: b2db uxtb r3, r3 807d0d4: 4619 mov r1, r3 807d0d6: 4b98 ldr r3, [pc, #608] ; (807d338 ) 807d0d8: 78db ldrb r3, [r3, #3] 807d0da: b2db uxtb r3, r3 807d0dc: 4618 mov r0, r3 807d0de: 4a9b ldr r2, [pc, #620] ; (807d34c ) 807d0e0: 460b mov r3, r1 807d0e2: 009b lsls r3, r3, #2 807d0e4: 440b add r3, r1 807d0e6: 4403 add r3, r0 807d0e8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d0ec: 461a mov r2, r3 807d0ee: 216a movs r1, #106 ; 0x6a 807d0f0: f44f 7082 mov.w r0, #260 ; 0x104 807d0f4: f7d8 fe4a bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807d0f8: 4b8f ldr r3, [pc, #572] ; (807d338 ) 807d0fa: 7b1b ldrb r3, [r3, #12] 807d0fc: b2db uxtb r3, r3 807d0fe: 4619 mov r1, r3 807d100: 4b8d ldr r3, [pc, #564] ; (807d338 ) 807d102: 791b ldrb r3, [r3, #4] 807d104: b2db uxtb r3, r3 807d106: 4618 mov r0, r3 807d108: 4a90 ldr r2, [pc, #576] ; (807d34c ) 807d10a: 460b mov r3, r1 807d10c: 009b lsls r3, r3, #2 807d10e: 440b add r3, r1 807d110: 4403 add r3, r0 807d112: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d116: 461a mov r2, r3 807d118: 217a movs r1, #122 ; 0x7a 807d11a: f44f 7082 mov.w r0, #260 ; 0x104 807d11e: f7d8 fe35 bl 8055d8c 807d122: e04d b.n 807d1c0 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807d124: 4986 ldr r1, [pc, #536] ; (807d340 ) 807d126: 488a ldr r0, [pc, #552] ; (807d350 ) 807d128: f7d8 f870 bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807d12c: 4b82 ldr r3, [pc, #520] ; (807d338 ) 807d12e: 7b1b ldrb r3, [r3, #12] 807d130: b2db uxtb r3, r3 807d132: 4619 mov r1, r3 807d134: 4a83 ldr r2, [pc, #524] ; (807d344 ) 807d136: 232c movs r3, #44 ; 0x2c 807d138: fb03 f301 mul.w r3, r3, r1 807d13c: 4413 add r3, r2 807d13e: 330c adds r3, #12 807d140: 681b ldr r3, [r3, #0] 807d142: 461a mov r2, r3 807d144: 216a movs r1, #106 ; 0x6a 807d146: 200a movs r0, #10 807d148: f7d8 fe08 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807d14c: 4b7a ldr r3, [pc, #488] ; (807d338 ) 807d14e: 7b1b ldrb r3, [r3, #12] 807d150: b2db uxtb r3, r3 807d152: 4619 mov r1, r3 807d154: 4a7b ldr r2, [pc, #492] ; (807d344 ) 807d156: 232c movs r3, #44 ; 0x2c 807d158: fb03 f301 mul.w r3, r3, r1 807d15c: 4413 add r3, r2 807d15e: 3310 adds r3, #16 807d160: 681b ldr r3, [r3, #0] 807d162: 461a mov r2, r3 807d164: 217a movs r1, #122 ; 0x7a 807d166: 200a movs r0, #10 807d168: f7d8 fdf8 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807d16c: 4b72 ldr r3, [pc, #456] ; (807d338 ) 807d16e: 7b1b ldrb r3, [r3, #12] 807d170: b2db uxtb r3, r3 807d172: 4619 mov r1, r3 807d174: 4b70 ldr r3, [pc, #448] ; (807d338 ) 807d176: 78db ldrb r3, [r3, #3] 807d178: b2db uxtb r3, r3 807d17a: 4618 mov r0, r3 807d17c: 4a73 ldr r2, [pc, #460] ; (807d34c ) 807d17e: 460b mov r3, r1 807d180: 009b lsls r3, r3, #2 807d182: 440b add r3, r1 807d184: 4403 add r3, r0 807d186: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d18a: 461a mov r2, r3 807d18c: 216a movs r1, #106 ; 0x6a 807d18e: f44f 7082 mov.w r0, #260 ; 0x104 807d192: f7d8 fdfb bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807d196: 4b68 ldr r3, [pc, #416] ; (807d338 ) 807d198: 7b1b ldrb r3, [r3, #12] 807d19a: b2db uxtb r3, r3 807d19c: 4619 mov r1, r3 807d19e: 4b66 ldr r3, [pc, #408] ; (807d338 ) 807d1a0: 791b ldrb r3, [r3, #4] 807d1a2: b2db uxtb r3, r3 807d1a4: 4618 mov r0, r3 807d1a6: 4a69 ldr r2, [pc, #420] ; (807d34c ) 807d1a8: 460b mov r3, r1 807d1aa: 009b lsls r3, r3, #2 807d1ac: 440b add r3, r1 807d1ae: 4403 add r3, r0 807d1b0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d1b4: 461a mov r2, r3 807d1b6: 217a movs r1, #122 ; 0x7a 807d1b8: f44f 7082 mov.w r0, #260 ; 0x104 807d1bc: f7d8 fde6 bl 8055d8c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d1c0: 495f ldr r1, [pc, #380] ; (807d340 ) 807d1c2: 4861 ldr r0, [pc, #388] ; (807d348 ) 807d1c4: f7d8 f822 bl 805520c LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807d1c8: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807d1cc: 461a mov r2, r3 807d1ce: 213a movs r1, #58 ; 0x3a 807d1d0: f44f 7082 mov.w r0, #260 ; 0x104 807d1d4: f7d8 fdda bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807d1d8: f507 73cc add.w r3, r7, #408 ; 0x198 807d1dc: 461a mov r2, r3 807d1de: 214a movs r1, #74 ; 0x4a 807d1e0: f44f 7082 mov.w r0, #260 ; 0x104 807d1e4: f7d8 fdd2 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807d1e8: 4b53 ldr r3, [pc, #332] ; (807d338 ) 807d1ea: 7b1b ldrb r3, [r3, #12] 807d1ec: b2db uxtb r3, r3 807d1ee: 4619 mov r1, r3 807d1f0: 4b51 ldr r3, [pc, #324] ; (807d338 ) 807d1f2: 789b ldrb r3, [r3, #2] 807d1f4: b2db uxtb r3, r3 807d1f6: 4618 mov r0, r3 807d1f8: 4a54 ldr r2, [pc, #336] ; (807d34c ) 807d1fa: 460b mov r3, r1 807d1fc: 009b lsls r3, r3, #2 807d1fe: 440b add r3, r1 807d200: 4403 add r3, r0 807d202: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d206: 461a mov r2, r3 807d208: 215a movs r1, #90 ; 0x5a 807d20a: f44f 7082 mov.w r0, #260 ; 0x104 807d20e: f7d8 fdbd bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807d212: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807d216: 461a mov r2, r3 807d218: 21da movs r1, #218 ; 0xda 807d21a: f44f 7082 mov.w r0, #260 ; 0x104 807d21e: f7d8 fdb5 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d222: 4947 ldr r1, [pc, #284] ; (807d340 ) 807d224: f04f 30ff mov.w r0, #4294967295 807d228: f7d7 fff0 bl 805520c BSP_LCD_FillRect(255, 157, 10, 10); 807d22c: 230a movs r3, #10 807d22e: 220a movs r2, #10 807d230: 219d movs r1, #157 ; 0x9d 807d232: 20ff movs r0, #255 ; 0xff 807d234: f7d8 fc78 bl 8055b28 BSP_LCD_FillRect(255, 173, 10, 10); 807d238: 230a movs r3, #10 807d23a: 220a movs r2, #10 807d23c: 21ad movs r1, #173 ; 0xad 807d23e: 20ff movs r0, #255 ; 0xff 807d240: f7d8 fc72 bl 8055b28 BSP_LCD_FillRect(255, 189, 10, 10); 807d244: 230a movs r3, #10 807d246: 220a movs r2, #10 807d248: 21bd movs r1, #189 ; 0xbd 807d24a: 20ff movs r0, #255 ; 0xff 807d24c: f7d8 fc6c bl 8055b28 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807d250: 4b39 ldr r3, [pc, #228] ; (807d338 ) 807d252: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807d256: f003 0304 and.w r3, r3, #4 807d25a: 2b00 cmp r3, #0 807d25c: d033 beq.n 807d2c6 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807d25e: 4938 ldr r1, [pc, #224] ; (807d340 ) 807d260: 483b ldr r0, [pc, #236] ; (807d350 ) 807d262: f7d7 ffd3 bl 805520c if(pardata.IIN != VOLTS) 807d266: 4b34 ldr r3, [pc, #208] ; (807d338 ) 807d268: 799b ldrb r3, [r3, #6] 807d26a: b2db uxtb r3, r3 807d26c: 2b02 cmp r3, #2 807d26e: d010 beq.n 807d292 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d270: 4b31 ldr r3, [pc, #196] ; (807d338 ) 807d272: 7b1b ldrb r3, [r3, #12] 807d274: b2db uxtb r3, r3 807d276: 4619 mov r1, r3 807d278: 4a32 ldr r2, [pc, #200] ; (807d344 ) 807d27a: 232c movs r3, #44 ; 0x2c 807d27c: fb03 f301 mul.w r3, r3, r1 807d280: 4413 add r3, r2 807d282: 3324 adds r3, #36 ; 0x24 807d284: 681b ldr r3, [r3, #0] 807d286: 461a mov r2, r3 807d288: 21ca movs r1, #202 ; 0xca 807d28a: 200a movs r0, #10 807d28c: f7d8 fd66 bl 8055d5c 807d290: e00f b.n 807d2b2 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d292: 4b29 ldr r3, [pc, #164] ; (807d338 ) 807d294: 7b1b ldrb r3, [r3, #12] 807d296: b2db uxtb r3, r3 807d298: 4619 mov r1, r3 807d29a: 4a2e ldr r2, [pc, #184] ; (807d354 ) 807d29c: 232c movs r3, #44 ; 0x2c 807d29e: fb03 f301 mul.w r3, r3, r1 807d2a2: 4413 add r3, r2 807d2a4: 3324 adds r3, #36 ; 0x24 807d2a6: 681b ldr r3, [r3, #0] 807d2a8: 461a mov r2, r3 807d2aa: 21ca movs r1, #202 ; 0xca 807d2ac: 200a movs r0, #10 807d2ae: f7d8 fd55 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 807d2b2: f507 733b add.w r3, r7, #748 ; 0x2ec 807d2b6: 461a mov r2, r3 807d2b8: 21ca movs r1, #202 ; 0xca 807d2ba: f44f 7082 mov.w r0, #260 ; 0x104 807d2be: f7d8 fd65 bl 8055d8c 807d2c2: f002 bad3 b.w 807f86c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d2c6: 491e ldr r1, [pc, #120] ; (807d340 ) 807d2c8: f04f 30ff mov.w r0, #4294967295 807d2cc: f7d7 ff9e bl 805520c if(pardata.IIN != VOLTS) 807d2d0: 4b19 ldr r3, [pc, #100] ; (807d338 ) 807d2d2: 799b ldrb r3, [r3, #6] 807d2d4: b2db uxtb r3, r3 807d2d6: 2b02 cmp r3, #2 807d2d8: d010 beq.n 807d2fc LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d2da: 4b17 ldr r3, [pc, #92] ; (807d338 ) 807d2dc: 7b1b ldrb r3, [r3, #12] 807d2de: b2db uxtb r3, r3 807d2e0: 4619 mov r1, r3 807d2e2: 4a18 ldr r2, [pc, #96] ; (807d344 ) 807d2e4: 232c movs r3, #44 ; 0x2c 807d2e6: fb03 f301 mul.w r3, r3, r1 807d2ea: 4413 add r3, r2 807d2ec: 3324 adds r3, #36 ; 0x24 807d2ee: 681b ldr r3, [r3, #0] 807d2f0: 461a mov r2, r3 807d2f2: 21ca movs r1, #202 ; 0xca 807d2f4: 200a movs r0, #10 807d2f6: f7d8 fd31 bl 8055d5c 807d2fa: e00f b.n 807d31c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d2fc: 4b0e ldr r3, [pc, #56] ; (807d338 ) 807d2fe: 7b1b ldrb r3, [r3, #12] 807d300: b2db uxtb r3, r3 807d302: 4619 mov r1, r3 807d304: 4a13 ldr r2, [pc, #76] ; (807d354 ) 807d306: 232c movs r3, #44 ; 0x2c 807d308: fb03 f301 mul.w r3, r3, r1 807d30c: 4413 add r3, r2 807d30e: 3324 adds r3, #36 ; 0x24 807d310: 681b ldr r3, [r3, #0] 807d312: 461a mov r2, r3 807d314: 21ca movs r1, #202 ; 0xca 807d316: 200a movs r0, #10 807d318: f7d8 fd20 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d31c: 4908 ldr r1, [pc, #32] ; (807d340 ) 807d31e: 480a ldr r0, [pc, #40] ; (807d348 ) 807d320: f7d7 ff74 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 807d324: f507 733b add.w r3, r7, #748 ; 0x2ec 807d328: 461a mov r2, r3 807d32a: 21ca movs r1, #202 ; 0xca 807d32c: f44f 7082 mov.w r0, #260 ; 0x104 807d330: f7d8 fd2c bl 8055d8c 807d334: f002 ba9a b.w 807f86c 807d338: 20023eb8 .word 0x20023eb8 807d33c: 20020254 .word 0x20020254 807d340: ff0a0f1f .word 0xff0a0f1f 807d344: 200206bc .word 0x200206bc 807d348: ffd8aa57 .word 0xffd8aa57 807d34c: 200202c4 .word 0x200202c4 807d350: ff808080 .word 0xff808080 807d354: 20020714 .word 0x20020714 } } else if(menupos == Mediana) 807d358: 4bc0 ldr r3, [pc, #768] ; (807d65c ) 807d35a: 781b ldrb r3, [r3, #0] 807d35c: b2db uxtb r3, r3 807d35e: 2b06 cmp r3, #6 807d360: f040 81ae bne.w 807d6c0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d364: 49be ldr r1, [pc, #760] ; (807d660 ) 807d366: f04f 30ff mov.w r0, #4294967295 807d36a: f7d7 ff4f bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807d36e: 4bbd ldr r3, [pc, #756] ; (807d664 ) 807d370: 7b1b ldrb r3, [r3, #12] 807d372: b2db uxtb r3, r3 807d374: 461a mov r2, r3 807d376: 4bbc ldr r3, [pc, #752] ; (807d668 ) 807d378: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d37c: 461a mov r2, r3 807d37e: 2127 movs r1, #39 ; 0x27 807d380: 200a movs r0, #10 807d382: f7d8 fceb bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d386: 49b6 ldr r1, [pc, #728] ; (807d660 ) 807d388: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d38c: f7d7 ff3e bl 805520c BSP_LCD_FillRect(253, 155, 14, 14); 807d390: 230e movs r3, #14 807d392: 220e movs r2, #14 807d394: 219b movs r1, #155 ; 0x9b 807d396: 20fd movs r0, #253 ; 0xfd 807d398: f7d8 fbc6 bl 8055b28 if(pardata.HP >= 2.0f) 807d39c: 4bb1 ldr r3, [pc, #708] ; (807d664 ) 807d39e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807d3a2: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807d3a6: eef4 7ac7 vcmpe.f32 s15, s14 807d3aa: eef1 fa10 vmrs APSR_nzcv, fpscr 807d3ae: db53 blt.n 807d458 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d3b0: 49ab ldr r1, [pc, #684] ; (807d660 ) 807d3b2: f04f 30ff mov.w r0, #4294967295 807d3b6: f7d7 ff29 bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807d3ba: 4baa ldr r3, [pc, #680] ; (807d664 ) 807d3bc: 7b1b ldrb r3, [r3, #12] 807d3be: b2db uxtb r3, r3 807d3c0: 4619 mov r1, r3 807d3c2: 4aaa ldr r2, [pc, #680] ; (807d66c ) 807d3c4: 232c movs r3, #44 ; 0x2c 807d3c6: fb03 f301 mul.w r3, r3, r1 807d3ca: 4413 add r3, r2 807d3cc: 330c adds r3, #12 807d3ce: 681b ldr r3, [r3, #0] 807d3d0: 461a mov r2, r3 807d3d2: 216a movs r1, #106 ; 0x6a 807d3d4: 200a movs r0, #10 807d3d6: f7d8 fcc1 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807d3da: 4ba2 ldr r3, [pc, #648] ; (807d664 ) 807d3dc: 7b1b ldrb r3, [r3, #12] 807d3de: b2db uxtb r3, r3 807d3e0: 4619 mov r1, r3 807d3e2: 4aa2 ldr r2, [pc, #648] ; (807d66c ) 807d3e4: 232c movs r3, #44 ; 0x2c 807d3e6: fb03 f301 mul.w r3, r3, r1 807d3ea: 4413 add r3, r2 807d3ec: 3310 adds r3, #16 807d3ee: 681b ldr r3, [r3, #0] 807d3f0: 461a mov r2, r3 807d3f2: 217a movs r1, #122 ; 0x7a 807d3f4: 200a movs r0, #10 807d3f6: f7d8 fcb1 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d3fa: 4999 ldr r1, [pc, #612] ; (807d660 ) 807d3fc: 489c ldr r0, [pc, #624] ; (807d670 ) 807d3fe: f7d7 ff05 bl 805520c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807d402: 4b98 ldr r3, [pc, #608] ; (807d664 ) 807d404: 7b1b ldrb r3, [r3, #12] 807d406: b2db uxtb r3, r3 807d408: 4619 mov r1, r3 807d40a: 4b96 ldr r3, [pc, #600] ; (807d664 ) 807d40c: 78db ldrb r3, [r3, #3] 807d40e: b2db uxtb r3, r3 807d410: 4618 mov r0, r3 807d412: 4a98 ldr r2, [pc, #608] ; (807d674 ) 807d414: 460b mov r3, r1 807d416: 009b lsls r3, r3, #2 807d418: 440b add r3, r1 807d41a: 4403 add r3, r0 807d41c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d420: 461a mov r2, r3 807d422: 216a movs r1, #106 ; 0x6a 807d424: f44f 7082 mov.w r0, #260 ; 0x104 807d428: f7d8 fcb0 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807d42c: 4b8d ldr r3, [pc, #564] ; (807d664 ) 807d42e: 7b1b ldrb r3, [r3, #12] 807d430: b2db uxtb r3, r3 807d432: 4619 mov r1, r3 807d434: 4b8b ldr r3, [pc, #556] ; (807d664 ) 807d436: 791b ldrb r3, [r3, #4] 807d438: b2db uxtb r3, r3 807d43a: 4618 mov r0, r3 807d43c: 4a8d ldr r2, [pc, #564] ; (807d674 ) 807d43e: 460b mov r3, r1 807d440: 009b lsls r3, r3, #2 807d442: 440b add r3, r1 807d444: 4403 add r3, r0 807d446: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d44a: 461a mov r2, r3 807d44c: 217a movs r1, #122 ; 0x7a 807d44e: f44f 7082 mov.w r0, #260 ; 0x104 807d452: f7d8 fc9b bl 8055d8c 807d456: e04d b.n 807d4f4 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807d458: 4981 ldr r1, [pc, #516] ; (807d660 ) 807d45a: 4887 ldr r0, [pc, #540] ; (807d678 ) 807d45c: f7d7 fed6 bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807d460: 4b80 ldr r3, [pc, #512] ; (807d664 ) 807d462: 7b1b ldrb r3, [r3, #12] 807d464: b2db uxtb r3, r3 807d466: 4619 mov r1, r3 807d468: 4a80 ldr r2, [pc, #512] ; (807d66c ) 807d46a: 232c movs r3, #44 ; 0x2c 807d46c: fb03 f301 mul.w r3, r3, r1 807d470: 4413 add r3, r2 807d472: 330c adds r3, #12 807d474: 681b ldr r3, [r3, #0] 807d476: 461a mov r2, r3 807d478: 216a movs r1, #106 ; 0x6a 807d47a: 200a movs r0, #10 807d47c: f7d8 fc6e bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807d480: 4b78 ldr r3, [pc, #480] ; (807d664 ) 807d482: 7b1b ldrb r3, [r3, #12] 807d484: b2db uxtb r3, r3 807d486: 4619 mov r1, r3 807d488: 4a78 ldr r2, [pc, #480] ; (807d66c ) 807d48a: 232c movs r3, #44 ; 0x2c 807d48c: fb03 f301 mul.w r3, r3, r1 807d490: 4413 add r3, r2 807d492: 3310 adds r3, #16 807d494: 681b ldr r3, [r3, #0] 807d496: 461a mov r2, r3 807d498: 217a movs r1, #122 ; 0x7a 807d49a: 200a movs r0, #10 807d49c: f7d8 fc5e bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807d4a0: 4b70 ldr r3, [pc, #448] ; (807d664 ) 807d4a2: 7b1b ldrb r3, [r3, #12] 807d4a4: b2db uxtb r3, r3 807d4a6: 4619 mov r1, r3 807d4a8: 4b6e ldr r3, [pc, #440] ; (807d664 ) 807d4aa: 78db ldrb r3, [r3, #3] 807d4ac: b2db uxtb r3, r3 807d4ae: 4618 mov r0, r3 807d4b0: 4a70 ldr r2, [pc, #448] ; (807d674 ) 807d4b2: 460b mov r3, r1 807d4b4: 009b lsls r3, r3, #2 807d4b6: 440b add r3, r1 807d4b8: 4403 add r3, r0 807d4ba: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d4be: 461a mov r2, r3 807d4c0: 216a movs r1, #106 ; 0x6a 807d4c2: f44f 7082 mov.w r0, #260 ; 0x104 807d4c6: f7d8 fc61 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807d4ca: 4b66 ldr r3, [pc, #408] ; (807d664 ) 807d4cc: 7b1b ldrb r3, [r3, #12] 807d4ce: b2db uxtb r3, r3 807d4d0: 4619 mov r1, r3 807d4d2: 4b64 ldr r3, [pc, #400] ; (807d664 ) 807d4d4: 791b ldrb r3, [r3, #4] 807d4d6: b2db uxtb r3, r3 807d4d8: 4618 mov r0, r3 807d4da: 4a66 ldr r2, [pc, #408] ; (807d674 ) 807d4dc: 460b mov r3, r1 807d4de: 009b lsls r3, r3, #2 807d4e0: 440b add r3, r1 807d4e2: 4403 add r3, r0 807d4e4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d4e8: 461a mov r2, r3 807d4ea: 217a movs r1, #122 ; 0x7a 807d4ec: f44f 7082 mov.w r0, #260 ; 0x104 807d4f0: f7d8 fc4c bl 8055d8c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d4f4: 495a ldr r1, [pc, #360] ; (807d660 ) 807d4f6: 485e ldr r0, [pc, #376] ; (807d670 ) 807d4f8: f7d7 fe88 bl 805520c LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807d4fc: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807d500: 461a mov r2, r3 807d502: 213a movs r1, #58 ; 0x3a 807d504: f44f 7082 mov.w r0, #260 ; 0x104 807d508: f7d8 fc40 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807d50c: f507 73cc add.w r3, r7, #408 ; 0x198 807d510: 461a mov r2, r3 807d512: 214a movs r1, #74 ; 0x4a 807d514: f44f 7082 mov.w r0, #260 ; 0x104 807d518: f7d8 fc38 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807d51c: 4b51 ldr r3, [pc, #324] ; (807d664 ) 807d51e: 7b1b ldrb r3, [r3, #12] 807d520: b2db uxtb r3, r3 807d522: 4619 mov r1, r3 807d524: 4b4f ldr r3, [pc, #316] ; (807d664 ) 807d526: 789b ldrb r3, [r3, #2] 807d528: b2db uxtb r3, r3 807d52a: 4618 mov r0, r3 807d52c: 4a51 ldr r2, [pc, #324] ; (807d674 ) 807d52e: 460b mov r3, r1 807d530: 009b lsls r3, r3, #2 807d532: 440b add r3, r1 807d534: 4403 add r3, r0 807d536: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d53a: 461a mov r2, r3 807d53c: 215a movs r1, #90 ; 0x5a 807d53e: f44f 7082 mov.w r0, #260 ; 0x104 807d542: f7d8 fc23 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807d546: 4b47 ldr r3, [pc, #284] ; (807d664 ) 807d548: 7b1b ldrb r3, [r3, #12] 807d54a: b2db uxtb r3, r3 807d54c: 4619 mov r1, r3 807d54e: 4b45 ldr r3, [pc, #276] ; (807d664 ) 807d550: 7b5b ldrb r3, [r3, #13] 807d552: b2db uxtb r3, r3 807d554: 4618 mov r0, r3 807d556: 4a49 ldr r2, [pc, #292] ; (807d67c ) 807d558: 460b mov r3, r1 807d55a: 009b lsls r3, r3, #2 807d55c: 440b add r3, r1 807d55e: 005b lsls r3, r3, #1 807d560: 4403 add r3, r0 807d562: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d566: 461a mov r2, r3 807d568: 218a movs r1, #138 ; 0x8a 807d56a: f44f 7082 mov.w r0, #260 ; 0x104 807d56e: f7d8 fc0d bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807d572: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807d576: 461a mov r2, r3 807d578: 21da movs r1, #218 ; 0xda 807d57a: f44f 7082 mov.w r0, #260 ; 0x104 807d57e: f7d8 fc05 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d582: 4937 ldr r1, [pc, #220] ; (807d660 ) 807d584: f04f 30ff mov.w r0, #4294967295 807d588: f7d7 fe40 bl 805520c BSP_LCD_FillRect(255, 157, 10, 10); 807d58c: 230a movs r3, #10 807d58e: 220a movs r2, #10 807d590: 219d movs r1, #157 ; 0x9d 807d592: 20ff movs r0, #255 ; 0xff 807d594: f7d8 fac8 bl 8055b28 BSP_LCD_FillRect(255, 173, 10, 10); 807d598: 230a movs r3, #10 807d59a: 220a movs r2, #10 807d59c: 21ad movs r1, #173 ; 0xad 807d59e: 20ff movs r0, #255 ; 0xff 807d5a0: f7d8 fac2 bl 8055b28 BSP_LCD_FillRect(255, 189, 10, 10); 807d5a4: 230a movs r3, #10 807d5a6: 220a movs r2, #10 807d5a8: 21bd movs r1, #189 ; 0xbd 807d5aa: 20ff movs r0, #255 ; 0xff 807d5ac: f7d8 fabc bl 8055b28 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807d5b0: 4b2c ldr r3, [pc, #176] ; (807d664 ) 807d5b2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807d5b6: f003 0304 and.w r3, r3, #4 807d5ba: 2b00 cmp r3, #0 807d5bc: d033 beq.n 807d626 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807d5be: 4928 ldr r1, [pc, #160] ; (807d660 ) 807d5c0: 482d ldr r0, [pc, #180] ; (807d678 ) 807d5c2: f7d7 fe23 bl 805520c if(pardata.IIN != VOLTS) 807d5c6: 4b27 ldr r3, [pc, #156] ; (807d664 ) 807d5c8: 799b ldrb r3, [r3, #6] 807d5ca: b2db uxtb r3, r3 807d5cc: 2b02 cmp r3, #2 807d5ce: d010 beq.n 807d5f2 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d5d0: 4b24 ldr r3, [pc, #144] ; (807d664 ) 807d5d2: 7b1b ldrb r3, [r3, #12] 807d5d4: b2db uxtb r3, r3 807d5d6: 4619 mov r1, r3 807d5d8: 4a24 ldr r2, [pc, #144] ; (807d66c ) 807d5da: 232c movs r3, #44 ; 0x2c 807d5dc: fb03 f301 mul.w r3, r3, r1 807d5e0: 4413 add r3, r2 807d5e2: 3324 adds r3, #36 ; 0x24 807d5e4: 681b ldr r3, [r3, #0] 807d5e6: 461a mov r2, r3 807d5e8: 21ca movs r1, #202 ; 0xca 807d5ea: 200a movs r0, #10 807d5ec: f7d8 fbb6 bl 8055d5c 807d5f0: e00f b.n 807d612 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d5f2: 4b1c ldr r3, [pc, #112] ; (807d664 ) 807d5f4: 7b1b ldrb r3, [r3, #12] 807d5f6: b2db uxtb r3, r3 807d5f8: 4619 mov r1, r3 807d5fa: 4a21 ldr r2, [pc, #132] ; (807d680 ) 807d5fc: 232c movs r3, #44 ; 0x2c 807d5fe: fb03 f301 mul.w r3, r3, r1 807d602: 4413 add r3, r2 807d604: 3324 adds r3, #36 ; 0x24 807d606: 681b ldr r3, [r3, #0] 807d608: 461a mov r2, r3 807d60a: 21ca movs r1, #202 ; 0xca 807d60c: 200a movs r0, #10 807d60e: f7d8 fba5 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 807d612: f507 733b add.w r3, r7, #748 ; 0x2ec 807d616: 461a mov r2, r3 807d618: 21ca movs r1, #202 ; 0xca 807d61a: f44f 7082 mov.w r0, #260 ; 0x104 807d61e: f7d8 fbb5 bl 8055d8c 807d622: f002 b923 b.w 807f86c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d626: 490e ldr r1, [pc, #56] ; (807d660 ) 807d628: f04f 30ff mov.w r0, #4294967295 807d62c: f7d7 fdee bl 805520c if(pardata.IIN != VOLTS) 807d630: 4b0c ldr r3, [pc, #48] ; (807d664 ) 807d632: 799b ldrb r3, [r3, #6] 807d634: b2db uxtb r3, r3 807d636: 2b02 cmp r3, #2 807d638: d024 beq.n 807d684 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d63a: 4b0a ldr r3, [pc, #40] ; (807d664 ) 807d63c: 7b1b ldrb r3, [r3, #12] 807d63e: b2db uxtb r3, r3 807d640: 4619 mov r1, r3 807d642: 4a0a ldr r2, [pc, #40] ; (807d66c ) 807d644: 232c movs r3, #44 ; 0x2c 807d646: fb03 f301 mul.w r3, r3, r1 807d64a: 4413 add r3, r2 807d64c: 3324 adds r3, #36 ; 0x24 807d64e: 681b ldr r3, [r3, #0] 807d650: 461a mov r2, r3 807d652: 21ca movs r1, #202 ; 0xca 807d654: 200a movs r0, #10 807d656: f7d8 fb81 bl 8055d5c 807d65a: e023 b.n 807d6a4 807d65c: 20020070 .word 0x20020070 807d660: ff0a0f1f .word 0xff0a0f1f 807d664: 20023eb8 .word 0x20023eb8 807d668: 200205cc .word 0x200205cc 807d66c: 200206bc .word 0x200206bc 807d670: ffd8aa57 .word 0xffd8aa57 807d674: 200202c4 .word 0x200202c4 807d678: ff808080 .word 0xff808080 807d67c: 20020254 .word 0x20020254 807d680: 20020714 .word 0x20020714 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d684: 4bc2 ldr r3, [pc, #776] ; (807d990 ) 807d686: 7b1b ldrb r3, [r3, #12] 807d688: b2db uxtb r3, r3 807d68a: 4619 mov r1, r3 807d68c: 4ac1 ldr r2, [pc, #772] ; (807d994 ) 807d68e: 232c movs r3, #44 ; 0x2c 807d690: fb03 f301 mul.w r3, r3, r1 807d694: 4413 add r3, r2 807d696: 3324 adds r3, #36 ; 0x24 807d698: 681b ldr r3, [r3, #0] 807d69a: 461a mov r2, r3 807d69c: 21ca movs r1, #202 ; 0xca 807d69e: 200a movs r0, #10 807d6a0: f7d8 fb5c bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d6a4: 49bc ldr r1, [pc, #752] ; (807d998 ) 807d6a6: 48bd ldr r0, [pc, #756] ; (807d99c ) 807d6a8: f7d7 fdb0 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 807d6ac: f507 733b add.w r3, r7, #748 ; 0x2ec 807d6b0: 461a mov r2, r3 807d6b2: 21ca movs r1, #202 ; 0xca 807d6b4: f44f 7082 mov.w r0, #260 ; 0x104 807d6b8: f7d8 fb68 bl 8055d8c 807d6bc: f002 b8d6 b.w 807f86c } } else if(menupos == ViewFreq) 807d6c0: 4bb7 ldr r3, [pc, #732] ; (807d9a0 ) 807d6c2: 781b ldrb r3, [r3, #0] 807d6c4: b2db uxtb r3, r3 807d6c6: 2b07 cmp r3, #7 807d6c8: f040 81af bne.w 807da2a { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d6cc: 49b2 ldr r1, [pc, #712] ; (807d998 ) 807d6ce: f04f 30ff mov.w r0, #4294967295 807d6d2: f7d7 fd9b bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807d6d6: 4bae ldr r3, [pc, #696] ; (807d990 ) 807d6d8: 7b1b ldrb r3, [r3, #12] 807d6da: b2db uxtb r3, r3 807d6dc: 461a mov r2, r3 807d6de: 4bb1 ldr r3, [pc, #708] ; (807d9a4 ) 807d6e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d6e4: 461a mov r2, r3 807d6e6: 2127 movs r1, #39 ; 0x27 807d6e8: 200a movs r0, #10 807d6ea: f7d8 fb37 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d6ee: 49aa ldr r1, [pc, #680] ; (807d998 ) 807d6f0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d6f4: f7d7 fd8a bl 805520c BSP_LCD_FillRect(253, 171, 14, 14); 807d6f8: 230e movs r3, #14 807d6fa: 220e movs r2, #14 807d6fc: 21ab movs r1, #171 ; 0xab 807d6fe: 20fd movs r0, #253 ; 0xfd 807d700: f7d8 fa12 bl 8055b28 if(pardata.HP >= 2.0f) 807d704: 4ba2 ldr r3, [pc, #648] ; (807d990 ) 807d706: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807d70a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807d70e: eef4 7ac7 vcmpe.f32 s15, s14 807d712: eef1 fa10 vmrs APSR_nzcv, fpscr 807d716: db53 blt.n 807d7c0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d718: 499f ldr r1, [pc, #636] ; (807d998 ) 807d71a: f04f 30ff mov.w r0, #4294967295 807d71e: f7d7 fd75 bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807d722: 4b9b ldr r3, [pc, #620] ; (807d990 ) 807d724: 7b1b ldrb r3, [r3, #12] 807d726: b2db uxtb r3, r3 807d728: 4619 mov r1, r3 807d72a: 4a9f ldr r2, [pc, #636] ; (807d9a8 ) 807d72c: 232c movs r3, #44 ; 0x2c 807d72e: fb03 f301 mul.w r3, r3, r1 807d732: 4413 add r3, r2 807d734: 330c adds r3, #12 807d736: 681b ldr r3, [r3, #0] 807d738: 461a mov r2, r3 807d73a: 216a movs r1, #106 ; 0x6a 807d73c: 200a movs r0, #10 807d73e: f7d8 fb0d bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807d742: 4b93 ldr r3, [pc, #588] ; (807d990 ) 807d744: 7b1b ldrb r3, [r3, #12] 807d746: b2db uxtb r3, r3 807d748: 4619 mov r1, r3 807d74a: 4a97 ldr r2, [pc, #604] ; (807d9a8 ) 807d74c: 232c movs r3, #44 ; 0x2c 807d74e: fb03 f301 mul.w r3, r3, r1 807d752: 4413 add r3, r2 807d754: 3310 adds r3, #16 807d756: 681b ldr r3, [r3, #0] 807d758: 461a mov r2, r3 807d75a: 217a movs r1, #122 ; 0x7a 807d75c: 200a movs r0, #10 807d75e: f7d8 fafd bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d762: 498d ldr r1, [pc, #564] ; (807d998 ) 807d764: 488d ldr r0, [pc, #564] ; (807d99c ) 807d766: f7d7 fd51 bl 805520c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807d76a: 4b89 ldr r3, [pc, #548] ; (807d990 ) 807d76c: 7b1b ldrb r3, [r3, #12] 807d76e: b2db uxtb r3, r3 807d770: 4619 mov r1, r3 807d772: 4b87 ldr r3, [pc, #540] ; (807d990 ) 807d774: 78db ldrb r3, [r3, #3] 807d776: b2db uxtb r3, r3 807d778: 4618 mov r0, r3 807d77a: 4a8c ldr r2, [pc, #560] ; (807d9ac ) 807d77c: 460b mov r3, r1 807d77e: 009b lsls r3, r3, #2 807d780: 440b add r3, r1 807d782: 4403 add r3, r0 807d784: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d788: 461a mov r2, r3 807d78a: 216a movs r1, #106 ; 0x6a 807d78c: f44f 7082 mov.w r0, #260 ; 0x104 807d790: f7d8 fafc bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807d794: 4b7e ldr r3, [pc, #504] ; (807d990 ) 807d796: 7b1b ldrb r3, [r3, #12] 807d798: b2db uxtb r3, r3 807d79a: 4619 mov r1, r3 807d79c: 4b7c ldr r3, [pc, #496] ; (807d990 ) 807d79e: 791b ldrb r3, [r3, #4] 807d7a0: b2db uxtb r3, r3 807d7a2: 4618 mov r0, r3 807d7a4: 4a81 ldr r2, [pc, #516] ; (807d9ac ) 807d7a6: 460b mov r3, r1 807d7a8: 009b lsls r3, r3, #2 807d7aa: 440b add r3, r1 807d7ac: 4403 add r3, r0 807d7ae: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d7b2: 461a mov r2, r3 807d7b4: 217a movs r1, #122 ; 0x7a 807d7b6: f44f 7082 mov.w r0, #260 ; 0x104 807d7ba: f7d8 fae7 bl 8055d8c 807d7be: e04d b.n 807d85c } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807d7c0: 4975 ldr r1, [pc, #468] ; (807d998 ) 807d7c2: 487b ldr r0, [pc, #492] ; (807d9b0 ) 807d7c4: f7d7 fd22 bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807d7c8: 4b71 ldr r3, [pc, #452] ; (807d990 ) 807d7ca: 7b1b ldrb r3, [r3, #12] 807d7cc: b2db uxtb r3, r3 807d7ce: 4619 mov r1, r3 807d7d0: 4a75 ldr r2, [pc, #468] ; (807d9a8 ) 807d7d2: 232c movs r3, #44 ; 0x2c 807d7d4: fb03 f301 mul.w r3, r3, r1 807d7d8: 4413 add r3, r2 807d7da: 330c adds r3, #12 807d7dc: 681b ldr r3, [r3, #0] 807d7de: 461a mov r2, r3 807d7e0: 216a movs r1, #106 ; 0x6a 807d7e2: 200a movs r0, #10 807d7e4: f7d8 faba bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807d7e8: 4b69 ldr r3, [pc, #420] ; (807d990 ) 807d7ea: 7b1b ldrb r3, [r3, #12] 807d7ec: b2db uxtb r3, r3 807d7ee: 4619 mov r1, r3 807d7f0: 4a6d ldr r2, [pc, #436] ; (807d9a8 ) 807d7f2: 232c movs r3, #44 ; 0x2c 807d7f4: fb03 f301 mul.w r3, r3, r1 807d7f8: 4413 add r3, r2 807d7fa: 3310 adds r3, #16 807d7fc: 681b ldr r3, [r3, #0] 807d7fe: 461a mov r2, r3 807d800: 217a movs r1, #122 ; 0x7a 807d802: 200a movs r0, #10 807d804: f7d8 faaa bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807d808: 4b61 ldr r3, [pc, #388] ; (807d990 ) 807d80a: 7b1b ldrb r3, [r3, #12] 807d80c: b2db uxtb r3, r3 807d80e: 4619 mov r1, r3 807d810: 4b5f ldr r3, [pc, #380] ; (807d990 ) 807d812: 78db ldrb r3, [r3, #3] 807d814: b2db uxtb r3, r3 807d816: 4618 mov r0, r3 807d818: 4a64 ldr r2, [pc, #400] ; (807d9ac ) 807d81a: 460b mov r3, r1 807d81c: 009b lsls r3, r3, #2 807d81e: 440b add r3, r1 807d820: 4403 add r3, r0 807d822: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d826: 461a mov r2, r3 807d828: 216a movs r1, #106 ; 0x6a 807d82a: f44f 7082 mov.w r0, #260 ; 0x104 807d82e: f7d8 faad bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807d832: 4b57 ldr r3, [pc, #348] ; (807d990 ) 807d834: 7b1b ldrb r3, [r3, #12] 807d836: b2db uxtb r3, r3 807d838: 4619 mov r1, r3 807d83a: 4b55 ldr r3, [pc, #340] ; (807d990 ) 807d83c: 791b ldrb r3, [r3, #4] 807d83e: b2db uxtb r3, r3 807d840: 4618 mov r0, r3 807d842: 4a5a ldr r2, [pc, #360] ; (807d9ac ) 807d844: 460b mov r3, r1 807d846: 009b lsls r3, r3, #2 807d848: 440b add r3, r1 807d84a: 4403 add r3, r0 807d84c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d850: 461a mov r2, r3 807d852: 217a movs r1, #122 ; 0x7a 807d854: f44f 7082 mov.w r0, #260 ; 0x104 807d858: f7d8 fa98 bl 8055d8c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d85c: 494e ldr r1, [pc, #312] ; (807d998 ) 807d85e: 484f ldr r0, [pc, #316] ; (807d99c ) 807d860: f7d7 fcd4 bl 805520c LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807d864: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807d868: 461a mov r2, r3 807d86a: 213a movs r1, #58 ; 0x3a 807d86c: f44f 7082 mov.w r0, #260 ; 0x104 807d870: f7d8 fa8c bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807d874: f507 73cc add.w r3, r7, #408 ; 0x198 807d878: 461a mov r2, r3 807d87a: 214a movs r1, #74 ; 0x4a 807d87c: f44f 7082 mov.w r0, #260 ; 0x104 807d880: f7d8 fa84 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807d884: 4b42 ldr r3, [pc, #264] ; (807d990 ) 807d886: 7b1b ldrb r3, [r3, #12] 807d888: b2db uxtb r3, r3 807d88a: 4619 mov r1, r3 807d88c: 4b40 ldr r3, [pc, #256] ; (807d990 ) 807d88e: 789b ldrb r3, [r3, #2] 807d890: b2db uxtb r3, r3 807d892: 4618 mov r0, r3 807d894: 4a45 ldr r2, [pc, #276] ; (807d9ac ) 807d896: 460b mov r3, r1 807d898: 009b lsls r3, r3, #2 807d89a: 440b add r3, r1 807d89c: 4403 add r3, r0 807d89e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d8a2: 461a mov r2, r3 807d8a4: 215a movs r1, #90 ; 0x5a 807d8a6: f44f 7082 mov.w r0, #260 ; 0x104 807d8aa: f7d8 fa6f bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807d8ae: 4b38 ldr r3, [pc, #224] ; (807d990 ) 807d8b0: 7b1b ldrb r3, [r3, #12] 807d8b2: b2db uxtb r3, r3 807d8b4: 4619 mov r1, r3 807d8b6: 4b36 ldr r3, [pc, #216] ; (807d990 ) 807d8b8: 7b5b ldrb r3, [r3, #13] 807d8ba: b2db uxtb r3, r3 807d8bc: 4618 mov r0, r3 807d8be: 4a3d ldr r2, [pc, #244] ; (807d9b4 ) 807d8c0: 460b mov r3, r1 807d8c2: 009b lsls r3, r3, #2 807d8c4: 440b add r3, r1 807d8c6: 005b lsls r3, r3, #1 807d8c8: 4403 add r3, r0 807d8ca: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d8ce: 461a mov r2, r3 807d8d0: 218a movs r1, #138 ; 0x8a 807d8d2: f44f 7082 mov.w r0, #260 ; 0x104 807d8d6: f7d8 fa59 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807d8da: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807d8de: 461a mov r2, r3 807d8e0: 21da movs r1, #218 ; 0xda 807d8e2: f44f 7082 mov.w r0, #260 ; 0x104 807d8e6: f7d8 fa51 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d8ea: 492b ldr r1, [pc, #172] ; (807d998 ) 807d8ec: f04f 30ff mov.w r0, #4294967295 807d8f0: f7d7 fc8c bl 805520c BSP_LCD_FillRect(255, 157, 10, 10); 807d8f4: 230a movs r3, #10 807d8f6: 220a movs r2, #10 807d8f8: 219d movs r1, #157 ; 0x9d 807d8fa: 20ff movs r0, #255 ; 0xff 807d8fc: f7d8 f914 bl 8055b28 BSP_LCD_FillRect(255, 173, 10, 10); 807d900: 230a movs r3, #10 807d902: 220a movs r2, #10 807d904: 21ad movs r1, #173 ; 0xad 807d906: 20ff movs r0, #255 ; 0xff 807d908: f7d8 f90e bl 8055b28 BSP_LCD_FillRect(255, 189, 10, 10); 807d90c: 230a movs r3, #10 807d90e: 220a movs r2, #10 807d910: 21bd movs r1, #189 ; 0xbd 807d912: 20ff movs r0, #255 ; 0xff 807d914: f7d8 f908 bl 8055b28 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807d918: 4b1d ldr r3, [pc, #116] ; (807d990 ) 807d91a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807d91e: f003 0304 and.w r3, r3, #4 807d922: 2b00 cmp r3, #0 807d924: d048 beq.n 807d9b8 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807d926: 491c ldr r1, [pc, #112] ; (807d998 ) 807d928: 4821 ldr r0, [pc, #132] ; (807d9b0 ) 807d92a: f7d7 fc6f bl 805520c if(pardata.IIN != VOLTS) 807d92e: 4b18 ldr r3, [pc, #96] ; (807d990 ) 807d930: 799b ldrb r3, [r3, #6] 807d932: b2db uxtb r3, r3 807d934: 2b02 cmp r3, #2 807d936: d010 beq.n 807d95a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d938: 4b15 ldr r3, [pc, #84] ; (807d990 ) 807d93a: 7b1b ldrb r3, [r3, #12] 807d93c: b2db uxtb r3, r3 807d93e: 4619 mov r1, r3 807d940: 4a19 ldr r2, [pc, #100] ; (807d9a8 ) 807d942: 232c movs r3, #44 ; 0x2c 807d944: fb03 f301 mul.w r3, r3, r1 807d948: 4413 add r3, r2 807d94a: 3324 adds r3, #36 ; 0x24 807d94c: 681b ldr r3, [r3, #0] 807d94e: 461a mov r2, r3 807d950: 21ca movs r1, #202 ; 0xca 807d952: 200a movs r0, #10 807d954: f7d8 fa02 bl 8055d5c 807d958: e00f b.n 807d97a else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d95a: 4b0d ldr r3, [pc, #52] ; (807d990 ) 807d95c: 7b1b ldrb r3, [r3, #12] 807d95e: b2db uxtb r3, r3 807d960: 4619 mov r1, r3 807d962: 4a0c ldr r2, [pc, #48] ; (807d994 ) 807d964: 232c movs r3, #44 ; 0x2c 807d966: fb03 f301 mul.w r3, r3, r1 807d96a: 4413 add r3, r2 807d96c: 3324 adds r3, #36 ; 0x24 807d96e: 681b ldr r3, [r3, #0] 807d970: 461a mov r2, r3 807d972: 21ca movs r1, #202 ; 0xca 807d974: 200a movs r0, #10 807d976: f7d8 f9f1 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 807d97a: f507 733b add.w r3, r7, #748 ; 0x2ec 807d97e: 461a mov r2, r3 807d980: 21ca movs r1, #202 ; 0xca 807d982: f44f 7082 mov.w r0, #260 ; 0x104 807d986: f7d8 fa01 bl 8055d8c 807d98a: f001 bf6f b.w 807f86c 807d98e: bf00 nop 807d990: 20023eb8 .word 0x20023eb8 807d994: 20020714 .word 0x20020714 807d998: ff0a0f1f .word 0xff0a0f1f 807d99c: ffd8aa57 .word 0xffd8aa57 807d9a0: 20020070 .word 0x20020070 807d9a4: 200205cc .word 0x200205cc 807d9a8: 200206bc .word 0x200206bc 807d9ac: 200202c4 .word 0x200202c4 807d9b0: ff808080 .word 0xff808080 807d9b4: 20020254 .word 0x20020254 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d9b8: 49c2 ldr r1, [pc, #776] ; (807dcc4 ) 807d9ba: f04f 30ff mov.w r0, #4294967295 807d9be: f7d7 fc25 bl 805520c if(pardata.IIN != VOLTS) 807d9c2: 4bc1 ldr r3, [pc, #772] ; (807dcc8 ) 807d9c4: 799b ldrb r3, [r3, #6] 807d9c6: b2db uxtb r3, r3 807d9c8: 2b02 cmp r3, #2 807d9ca: d010 beq.n 807d9ee LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d9cc: 4bbe ldr r3, [pc, #760] ; (807dcc8 ) 807d9ce: 7b1b ldrb r3, [r3, #12] 807d9d0: b2db uxtb r3, r3 807d9d2: 4619 mov r1, r3 807d9d4: 4abd ldr r2, [pc, #756] ; (807dccc ) 807d9d6: 232c movs r3, #44 ; 0x2c 807d9d8: fb03 f301 mul.w r3, r3, r1 807d9dc: 4413 add r3, r2 807d9de: 3324 adds r3, #36 ; 0x24 807d9e0: 681b ldr r3, [r3, #0] 807d9e2: 461a mov r2, r3 807d9e4: 21ca movs r1, #202 ; 0xca 807d9e6: 200a movs r0, #10 807d9e8: f7d8 f9b8 bl 8055d5c 807d9ec: e00f b.n 807da0e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d9ee: 4bb6 ldr r3, [pc, #728] ; (807dcc8 ) 807d9f0: 7b1b ldrb r3, [r3, #12] 807d9f2: b2db uxtb r3, r3 807d9f4: 4619 mov r1, r3 807d9f6: 4ab6 ldr r2, [pc, #728] ; (807dcd0 ) 807d9f8: 232c movs r3, #44 ; 0x2c 807d9fa: fb03 f301 mul.w r3, r3, r1 807d9fe: 4413 add r3, r2 807da00: 3324 adds r3, #36 ; 0x24 807da02: 681b ldr r3, [r3, #0] 807da04: 461a mov r2, r3 807da06: 21ca movs r1, #202 ; 0xca 807da08: 200a movs r0, #10 807da0a: f7d8 f9a7 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807da0e: 49ad ldr r1, [pc, #692] ; (807dcc4 ) 807da10: 48b0 ldr r0, [pc, #704] ; (807dcd4 ) 807da12: f7d7 fbfb bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 807da16: f507 733b add.w r3, r7, #748 ; 0x2ec 807da1a: 461a mov r2, r3 807da1c: 21ca movs r1, #202 ; 0xca 807da1e: f44f 7082 mov.w r0, #260 ; 0x104 807da22: f7d8 f9b3 bl 8055d8c 807da26: f001 bf21 b.w 807f86c } } else if(menupos == VibAutoKu) 807da2a: 4bab ldr r3, [pc, #684] ; (807dcd8 ) 807da2c: 781b ldrb r3, [r3, #0] 807da2e: b2db uxtb r3, r3 807da30: 2b08 cmp r3, #8 807da32: f040 81ae bne.w 807dd92 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807da36: 49a3 ldr r1, [pc, #652] ; (807dcc4 ) 807da38: f04f 30ff mov.w r0, #4294967295 807da3c: f7d7 fbe6 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807da40: 4ba1 ldr r3, [pc, #644] ; (807dcc8 ) 807da42: 7b1b ldrb r3, [r3, #12] 807da44: b2db uxtb r3, r3 807da46: 461a mov r2, r3 807da48: 4ba4 ldr r3, [pc, #656] ; (807dcdc ) 807da4a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807da4e: 461a mov r2, r3 807da50: 2127 movs r1, #39 ; 0x27 807da52: 200a movs r0, #10 807da54: f7d8 f982 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807da58: 499a ldr r1, [pc, #616] ; (807dcc4 ) 807da5a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807da5e: f7d7 fbd5 bl 805520c BSP_LCD_FillRect(253, 187, 14, 14); 807da62: 230e movs r3, #14 807da64: 220e movs r2, #14 807da66: 21bb movs r1, #187 ; 0xbb 807da68: 20fd movs r0, #253 ; 0xfd 807da6a: f7d8 f85d bl 8055b28 if(pardata.HP >= 2.0f) 807da6e: 4b96 ldr r3, [pc, #600] ; (807dcc8 ) 807da70: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807da74: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807da78: eef4 7ac7 vcmpe.f32 s15, s14 807da7c: eef1 fa10 vmrs APSR_nzcv, fpscr 807da80: db53 blt.n 807db2a { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807da82: 4990 ldr r1, [pc, #576] ; (807dcc4 ) 807da84: f04f 30ff mov.w r0, #4294967295 807da88: f7d7 fbc0 bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807da8c: 4b8e ldr r3, [pc, #568] ; (807dcc8 ) 807da8e: 7b1b ldrb r3, [r3, #12] 807da90: b2db uxtb r3, r3 807da92: 4619 mov r1, r3 807da94: 4a8d ldr r2, [pc, #564] ; (807dccc ) 807da96: 232c movs r3, #44 ; 0x2c 807da98: fb03 f301 mul.w r3, r3, r1 807da9c: 4413 add r3, r2 807da9e: 330c adds r3, #12 807daa0: 681b ldr r3, [r3, #0] 807daa2: 461a mov r2, r3 807daa4: 216a movs r1, #106 ; 0x6a 807daa6: 200a movs r0, #10 807daa8: f7d8 f958 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807daac: 4b86 ldr r3, [pc, #536] ; (807dcc8 ) 807daae: 7b1b ldrb r3, [r3, #12] 807dab0: b2db uxtb r3, r3 807dab2: 4619 mov r1, r3 807dab4: 4a85 ldr r2, [pc, #532] ; (807dccc ) 807dab6: 232c movs r3, #44 ; 0x2c 807dab8: fb03 f301 mul.w r3, r3, r1 807dabc: 4413 add r3, r2 807dabe: 3310 adds r3, #16 807dac0: 681b ldr r3, [r3, #0] 807dac2: 461a mov r2, r3 807dac4: 217a movs r1, #122 ; 0x7a 807dac6: 200a movs r0, #10 807dac8: f7d8 f948 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807dacc: 497d ldr r1, [pc, #500] ; (807dcc4 ) 807dace: 4881 ldr r0, [pc, #516] ; (807dcd4 ) 807dad0: f7d7 fb9c bl 805520c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807dad4: 4b7c ldr r3, [pc, #496] ; (807dcc8 ) 807dad6: 7b1b ldrb r3, [r3, #12] 807dad8: b2db uxtb r3, r3 807dada: 4619 mov r1, r3 807dadc: 4b7a ldr r3, [pc, #488] ; (807dcc8 ) 807dade: 78db ldrb r3, [r3, #3] 807dae0: b2db uxtb r3, r3 807dae2: 4618 mov r0, r3 807dae4: 4a7e ldr r2, [pc, #504] ; (807dce0 ) 807dae6: 460b mov r3, r1 807dae8: 009b lsls r3, r3, #2 807daea: 440b add r3, r1 807daec: 4403 add r3, r0 807daee: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807daf2: 461a mov r2, r3 807daf4: 216a movs r1, #106 ; 0x6a 807daf6: f44f 7082 mov.w r0, #260 ; 0x104 807dafa: f7d8 f947 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807dafe: 4b72 ldr r3, [pc, #456] ; (807dcc8 ) 807db00: 7b1b ldrb r3, [r3, #12] 807db02: b2db uxtb r3, r3 807db04: 4619 mov r1, r3 807db06: 4b70 ldr r3, [pc, #448] ; (807dcc8 ) 807db08: 791b ldrb r3, [r3, #4] 807db0a: b2db uxtb r3, r3 807db0c: 4618 mov r0, r3 807db0e: 4a74 ldr r2, [pc, #464] ; (807dce0 ) 807db10: 460b mov r3, r1 807db12: 009b lsls r3, r3, #2 807db14: 440b add r3, r1 807db16: 4403 add r3, r0 807db18: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807db1c: 461a mov r2, r3 807db1e: 217a movs r1, #122 ; 0x7a 807db20: f44f 7082 mov.w r0, #260 ; 0x104 807db24: f7d8 f932 bl 8055d8c 807db28: e04d b.n 807dbc6 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807db2a: 4966 ldr r1, [pc, #408] ; (807dcc4 ) 807db2c: 486d ldr r0, [pc, #436] ; (807dce4 ) 807db2e: f7d7 fb6d bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807db32: 4b65 ldr r3, [pc, #404] ; (807dcc8 ) 807db34: 7b1b ldrb r3, [r3, #12] 807db36: b2db uxtb r3, r3 807db38: 4619 mov r1, r3 807db3a: 4a64 ldr r2, [pc, #400] ; (807dccc ) 807db3c: 232c movs r3, #44 ; 0x2c 807db3e: fb03 f301 mul.w r3, r3, r1 807db42: 4413 add r3, r2 807db44: 330c adds r3, #12 807db46: 681b ldr r3, [r3, #0] 807db48: 461a mov r2, r3 807db4a: 216a movs r1, #106 ; 0x6a 807db4c: 200a movs r0, #10 807db4e: f7d8 f905 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807db52: 4b5d ldr r3, [pc, #372] ; (807dcc8 ) 807db54: 7b1b ldrb r3, [r3, #12] 807db56: b2db uxtb r3, r3 807db58: 4619 mov r1, r3 807db5a: 4a5c ldr r2, [pc, #368] ; (807dccc ) 807db5c: 232c movs r3, #44 ; 0x2c 807db5e: fb03 f301 mul.w r3, r3, r1 807db62: 4413 add r3, r2 807db64: 3310 adds r3, #16 807db66: 681b ldr r3, [r3, #0] 807db68: 461a mov r2, r3 807db6a: 217a movs r1, #122 ; 0x7a 807db6c: 200a movs r0, #10 807db6e: f7d8 f8f5 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807db72: 4b55 ldr r3, [pc, #340] ; (807dcc8 ) 807db74: 7b1b ldrb r3, [r3, #12] 807db76: b2db uxtb r3, r3 807db78: 4619 mov r1, r3 807db7a: 4b53 ldr r3, [pc, #332] ; (807dcc8 ) 807db7c: 78db ldrb r3, [r3, #3] 807db7e: b2db uxtb r3, r3 807db80: 4618 mov r0, r3 807db82: 4a57 ldr r2, [pc, #348] ; (807dce0 ) 807db84: 460b mov r3, r1 807db86: 009b lsls r3, r3, #2 807db88: 440b add r3, r1 807db8a: 4403 add r3, r0 807db8c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807db90: 461a mov r2, r3 807db92: 216a movs r1, #106 ; 0x6a 807db94: f44f 7082 mov.w r0, #260 ; 0x104 807db98: f7d8 f8f8 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807db9c: 4b4a ldr r3, [pc, #296] ; (807dcc8 ) 807db9e: 7b1b ldrb r3, [r3, #12] 807dba0: b2db uxtb r3, r3 807dba2: 4619 mov r1, r3 807dba4: 4b48 ldr r3, [pc, #288] ; (807dcc8 ) 807dba6: 791b ldrb r3, [r3, #4] 807dba8: b2db uxtb r3, r3 807dbaa: 4618 mov r0, r3 807dbac: 4a4c ldr r2, [pc, #304] ; (807dce0 ) 807dbae: 460b mov r3, r1 807dbb0: 009b lsls r3, r3, #2 807dbb2: 440b add r3, r1 807dbb4: 4403 add r3, r0 807dbb6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807dbba: 461a mov r2, r3 807dbbc: 217a movs r1, #122 ; 0x7a 807dbbe: f44f 7082 mov.w r0, #260 ; 0x104 807dbc2: f7d8 f8e3 bl 8055d8c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807dbc6: 493f ldr r1, [pc, #252] ; (807dcc4 ) 807dbc8: 4842 ldr r0, [pc, #264] ; (807dcd4 ) 807dbca: f7d7 fb1f bl 805520c LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807dbce: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807dbd2: 461a mov r2, r3 807dbd4: 213a movs r1, #58 ; 0x3a 807dbd6: f44f 7082 mov.w r0, #260 ; 0x104 807dbda: f7d8 f8d7 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807dbde: f507 73cc add.w r3, r7, #408 ; 0x198 807dbe2: 461a mov r2, r3 807dbe4: 214a movs r1, #74 ; 0x4a 807dbe6: f44f 7082 mov.w r0, #260 ; 0x104 807dbea: f7d8 f8cf bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807dbee: 4b36 ldr r3, [pc, #216] ; (807dcc8 ) 807dbf0: 7b1b ldrb r3, [r3, #12] 807dbf2: b2db uxtb r3, r3 807dbf4: 4619 mov r1, r3 807dbf6: 4b34 ldr r3, [pc, #208] ; (807dcc8 ) 807dbf8: 789b ldrb r3, [r3, #2] 807dbfa: b2db uxtb r3, r3 807dbfc: 4618 mov r0, r3 807dbfe: 4a38 ldr r2, [pc, #224] ; (807dce0 ) 807dc00: 460b mov r3, r1 807dc02: 009b lsls r3, r3, #2 807dc04: 440b add r3, r1 807dc06: 4403 add r3, r0 807dc08: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807dc0c: 461a mov r2, r3 807dc0e: 215a movs r1, #90 ; 0x5a 807dc10: f44f 7082 mov.w r0, #260 ; 0x104 807dc14: f7d8 f8ba bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807dc18: 4b2b ldr r3, [pc, #172] ; (807dcc8 ) 807dc1a: 7b1b ldrb r3, [r3, #12] 807dc1c: b2db uxtb r3, r3 807dc1e: 4619 mov r1, r3 807dc20: 4b29 ldr r3, [pc, #164] ; (807dcc8 ) 807dc22: 7b5b ldrb r3, [r3, #13] 807dc24: b2db uxtb r3, r3 807dc26: 4618 mov r0, r3 807dc28: 4a2f ldr r2, [pc, #188] ; (807dce8 ) 807dc2a: 460b mov r3, r1 807dc2c: 009b lsls r3, r3, #2 807dc2e: 440b add r3, r1 807dc30: 005b lsls r3, r3, #1 807dc32: 4403 add r3, r0 807dc34: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807dc38: 461a mov r2, r3 807dc3a: 218a movs r1, #138 ; 0x8a 807dc3c: f44f 7082 mov.w r0, #260 ; 0x104 807dc40: f7d8 f8a4 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807dc44: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807dc48: 461a mov r2, r3 807dc4a: 21da movs r1, #218 ; 0xda 807dc4c: f44f 7082 mov.w r0, #260 ; 0x104 807dc50: f7d8 f89c bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807dc54: 491b ldr r1, [pc, #108] ; (807dcc4 ) 807dc56: f04f 30ff mov.w r0, #4294967295 807dc5a: f7d7 fad7 bl 805520c BSP_LCD_FillRect(255, 157, 10, 10); 807dc5e: 230a movs r3, #10 807dc60: 220a movs r2, #10 807dc62: 219d movs r1, #157 ; 0x9d 807dc64: 20ff movs r0, #255 ; 0xff 807dc66: f7d7 ff5f bl 8055b28 BSP_LCD_FillRect(255, 173, 10, 10); 807dc6a: 230a movs r3, #10 807dc6c: 220a movs r2, #10 807dc6e: 21ad movs r1, #173 ; 0xad 807dc70: 20ff movs r0, #255 ; 0xff 807dc72: f7d7 ff59 bl 8055b28 BSP_LCD_FillRect(255, 189, 10, 10); 807dc76: 230a movs r3, #10 807dc78: 220a movs r2, #10 807dc7a: 21bd movs r1, #189 ; 0xbd 807dc7c: 20ff movs r0, #255 ; 0xff 807dc7e: f7d7 ff53 bl 8055b28 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807dc82: 4b11 ldr r3, [pc, #68] ; (807dcc8 ) 807dc84: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807dc88: f003 0304 and.w r3, r3, #4 807dc8c: 2b00 cmp r3, #0 807dc8e: d047 beq.n 807dd20 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807dc90: 490c ldr r1, [pc, #48] ; (807dcc4 ) 807dc92: 4814 ldr r0, [pc, #80] ; (807dce4 ) 807dc94: f7d7 faba bl 805520c if(pardata.IIN != VOLTS) 807dc98: 4b0b ldr r3, [pc, #44] ; (807dcc8 ) 807dc9a: 799b ldrb r3, [r3, #6] 807dc9c: b2db uxtb r3, r3 807dc9e: 2b02 cmp r3, #2 807dca0: d024 beq.n 807dcec LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807dca2: 4b09 ldr r3, [pc, #36] ; (807dcc8 ) 807dca4: 7b1b ldrb r3, [r3, #12] 807dca6: b2db uxtb r3, r3 807dca8: 4619 mov r1, r3 807dcaa: 4a08 ldr r2, [pc, #32] ; (807dccc ) 807dcac: 232c movs r3, #44 ; 0x2c 807dcae: fb03 f301 mul.w r3, r3, r1 807dcb2: 4413 add r3, r2 807dcb4: 3324 adds r3, #36 ; 0x24 807dcb6: 681b ldr r3, [r3, #0] 807dcb8: 461a mov r2, r3 807dcba: 21ca movs r1, #202 ; 0xca 807dcbc: 200a movs r0, #10 807dcbe: f7d8 f84d bl 8055d5c 807dcc2: e023 b.n 807dd0c 807dcc4: ff0a0f1f .word 0xff0a0f1f 807dcc8: 20023eb8 .word 0x20023eb8 807dccc: 200206bc .word 0x200206bc 807dcd0: 20020714 .word 0x20020714 807dcd4: ffd8aa57 .word 0xffd8aa57 807dcd8: 20020070 .word 0x20020070 807dcdc: 200205cc .word 0x200205cc 807dce0: 200202c4 .word 0x200202c4 807dce4: ff808080 .word 0xff808080 807dce8: 20020254 .word 0x20020254 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807dcec: 4b74 ldr r3, [pc, #464] ; (807dec0 ) 807dcee: 7b1b ldrb r3, [r3, #12] 807dcf0: b2db uxtb r3, r3 807dcf2: 4619 mov r1, r3 807dcf4: 4a73 ldr r2, [pc, #460] ; (807dec4 ) 807dcf6: 232c movs r3, #44 ; 0x2c 807dcf8: fb03 f301 mul.w r3, r3, r1 807dcfc: 4413 add r3, r2 807dcfe: 3324 adds r3, #36 ; 0x24 807dd00: 681b ldr r3, [r3, #0] 807dd02: 461a mov r2, r3 807dd04: 21ca movs r1, #202 ; 0xca 807dd06: 200a movs r0, #10 807dd08: f7d8 f828 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 807dd0c: f507 733b add.w r3, r7, #748 ; 0x2ec 807dd10: 461a mov r2, r3 807dd12: 21ca movs r1, #202 ; 0xca 807dd14: f44f 7082 mov.w r0, #260 ; 0x104 807dd18: f7d8 f838 bl 8055d8c 807dd1c: f001 bda6 b.w 807f86c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807dd20: 4969 ldr r1, [pc, #420] ; (807dec8 ) 807dd22: f04f 30ff mov.w r0, #4294967295 807dd26: f7d7 fa71 bl 805520c if(pardata.IIN != VOLTS) 807dd2a: 4b65 ldr r3, [pc, #404] ; (807dec0 ) 807dd2c: 799b ldrb r3, [r3, #6] 807dd2e: b2db uxtb r3, r3 807dd30: 2b02 cmp r3, #2 807dd32: d010 beq.n 807dd56 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807dd34: 4b62 ldr r3, [pc, #392] ; (807dec0 ) 807dd36: 7b1b ldrb r3, [r3, #12] 807dd38: b2db uxtb r3, r3 807dd3a: 4619 mov r1, r3 807dd3c: 4a63 ldr r2, [pc, #396] ; (807decc ) 807dd3e: 232c movs r3, #44 ; 0x2c 807dd40: fb03 f301 mul.w r3, r3, r1 807dd44: 4413 add r3, r2 807dd46: 3324 adds r3, #36 ; 0x24 807dd48: 681b ldr r3, [r3, #0] 807dd4a: 461a mov r2, r3 807dd4c: 21ca movs r1, #202 ; 0xca 807dd4e: 200a movs r0, #10 807dd50: f7d8 f804 bl 8055d5c 807dd54: e00f b.n 807dd76 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807dd56: 4b5a ldr r3, [pc, #360] ; (807dec0 ) 807dd58: 7b1b ldrb r3, [r3, #12] 807dd5a: b2db uxtb r3, r3 807dd5c: 4619 mov r1, r3 807dd5e: 4a59 ldr r2, [pc, #356] ; (807dec4 ) 807dd60: 232c movs r3, #44 ; 0x2c 807dd62: fb03 f301 mul.w r3, r3, r1 807dd66: 4413 add r3, r2 807dd68: 3324 adds r3, #36 ; 0x24 807dd6a: 681b ldr r3, [r3, #0] 807dd6c: 461a mov r2, r3 807dd6e: 21ca movs r1, #202 ; 0xca 807dd70: 200a movs r0, #10 807dd72: f7d7 fff3 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807dd76: 4954 ldr r1, [pc, #336] ; (807dec8 ) 807dd78: 4855 ldr r0, [pc, #340] ; (807ded0 ) 807dd7a: f7d7 fa47 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 807dd7e: f507 733b add.w r3, r7, #748 ; 0x2ec 807dd82: 461a mov r2, r3 807dd84: 21ca movs r1, #202 ; 0xca 807dd86: f44f 7082 mov.w r0, #260 ; 0x104 807dd8a: f7d7 ffff bl 8055d8c 807dd8e: f001 bd6d b.w 807f86c } } else if(menupos == SaveToFile) 807dd92: 4b50 ldr r3, [pc, #320] ; (807ded4 ) 807dd94: 781b ldrb r3, [r3, #0] 807dd96: b2db uxtb r3, r3 807dd98: 2b0a cmp r3, #10 807dd9a: f040 81bb bne.w 807e114 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807dd9e: 494a ldr r1, [pc, #296] ; (807dec8 ) 807dda0: f04f 30ff mov.w r0, #4294967295 807dda4: f7d7 fa32 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807dda8: 4b45 ldr r3, [pc, #276] ; (807dec0 ) 807ddaa: 7b1b ldrb r3, [r3, #12] 807ddac: b2db uxtb r3, r3 807ddae: 461a mov r2, r3 807ddb0: 4b49 ldr r3, [pc, #292] ; (807ded8 ) 807ddb2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ddb6: 461a mov r2, r3 807ddb8: 2127 movs r1, #39 ; 0x27 807ddba: 200a movs r0, #10 807ddbc: f7d7 ffce bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ddc0: 4941 ldr r1, [pc, #260] ; (807dec8 ) 807ddc2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ddc6: f7d7 fa21 bl 805520c if(strlen(MeasFileName)) 807ddca: 4b44 ldr r3, [pc, #272] ; (807dedc ) 807ddcc: 781b ldrb r3, [r3, #0] 807ddce: 2b00 cmp r3, #0 807ddd0: d008 beq.n 807dde4 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807ddd2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807ddd6: 461a mov r2, r3 807ddd8: 21da movs r1, #218 ; 0xda 807ddda: f44f 7082 mov.w r0, #260 ; 0x104 807ddde: f7d7 ffd5 bl 8055d8c 807dde2: e00f b.n 807de04 else LCD_DisplayString(10, LCD_LINE_13, (char *)TEXT_PARAM_VIB[pardata.LANG][10]);//"Çàïèñü â ôàéë" 807dde4: 4b36 ldr r3, [pc, #216] ; (807dec0 ) 807dde6: 7b1b ldrb r3, [r3, #12] 807dde8: b2db uxtb r3, r3 807ddea: 4619 mov r1, r3 807ddec: 4a37 ldr r2, [pc, #220] ; (807decc ) 807ddee: 232c movs r3, #44 ; 0x2c 807ddf0: fb03 f301 mul.w r3, r3, r1 807ddf4: 4413 add r3, r2 807ddf6: 3328 adds r3, #40 ; 0x28 807ddf8: 681b ldr r3, [r3, #0] 807ddfa: 461a mov r2, r3 807ddfc: 21da movs r1, #218 ; 0xda 807ddfe: 200a movs r0, #10 807de00: f7d7 ffac bl 8055d5c if(pardata.HP >= 2.0f) 807de04: 4b2e ldr r3, [pc, #184] ; (807dec0 ) 807de06: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807de0a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807de0e: eef4 7ac7 vcmpe.f32 s15, s14 807de12: eef1 fa10 vmrs APSR_nzcv, fpscr 807de16: db65 blt.n 807dee4 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807de18: 492b ldr r1, [pc, #172] ; (807dec8 ) 807de1a: f04f 30ff mov.w r0, #4294967295 807de1e: f7d7 f9f5 bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807de22: 4b27 ldr r3, [pc, #156] ; (807dec0 ) 807de24: 7b1b ldrb r3, [r3, #12] 807de26: b2db uxtb r3, r3 807de28: 4619 mov r1, r3 807de2a: 4a28 ldr r2, [pc, #160] ; (807decc ) 807de2c: 232c movs r3, #44 ; 0x2c 807de2e: fb03 f301 mul.w r3, r3, r1 807de32: 4413 add r3, r2 807de34: 330c adds r3, #12 807de36: 681b ldr r3, [r3, #0] 807de38: 461a mov r2, r3 807de3a: 216a movs r1, #106 ; 0x6a 807de3c: 200a movs r0, #10 807de3e: f7d7 ff8d bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807de42: 4b1f ldr r3, [pc, #124] ; (807dec0 ) 807de44: 7b1b ldrb r3, [r3, #12] 807de46: b2db uxtb r3, r3 807de48: 4619 mov r1, r3 807de4a: 4a20 ldr r2, [pc, #128] ; (807decc ) 807de4c: 232c movs r3, #44 ; 0x2c 807de4e: fb03 f301 mul.w r3, r3, r1 807de52: 4413 add r3, r2 807de54: 3310 adds r3, #16 807de56: 681b ldr r3, [r3, #0] 807de58: 461a mov r2, r3 807de5a: 217a movs r1, #122 ; 0x7a 807de5c: 200a movs r0, #10 807de5e: f7d7 ff7d bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807de62: 4919 ldr r1, [pc, #100] ; (807dec8 ) 807de64: 481a ldr r0, [pc, #104] ; (807ded0 ) 807de66: f7d7 f9d1 bl 805520c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807de6a: 4b15 ldr r3, [pc, #84] ; (807dec0 ) 807de6c: 7b1b ldrb r3, [r3, #12] 807de6e: b2db uxtb r3, r3 807de70: 4619 mov r1, r3 807de72: 4b13 ldr r3, [pc, #76] ; (807dec0 ) 807de74: 78db ldrb r3, [r3, #3] 807de76: b2db uxtb r3, r3 807de78: 4618 mov r0, r3 807de7a: 4a19 ldr r2, [pc, #100] ; (807dee0 ) 807de7c: 460b mov r3, r1 807de7e: 009b lsls r3, r3, #2 807de80: 440b add r3, r1 807de82: 4403 add r3, r0 807de84: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807de88: 461a mov r2, r3 807de8a: 216a movs r1, #106 ; 0x6a 807de8c: f44f 7082 mov.w r0, #260 ; 0x104 807de90: f7d7 ff7c bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807de94: 4b0a ldr r3, [pc, #40] ; (807dec0 ) 807de96: 7b1b ldrb r3, [r3, #12] 807de98: b2db uxtb r3, r3 807de9a: 4619 mov r1, r3 807de9c: 4b08 ldr r3, [pc, #32] ; (807dec0 ) 807de9e: 791b ldrb r3, [r3, #4] 807dea0: b2db uxtb r3, r3 807dea2: 4618 mov r0, r3 807dea4: 4a0e ldr r2, [pc, #56] ; (807dee0 ) 807dea6: 460b mov r3, r1 807dea8: 009b lsls r3, r3, #2 807deaa: 440b add r3, r1 807deac: 4403 add r3, r0 807deae: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807deb2: 461a mov r2, r3 807deb4: 217a movs r1, #122 ; 0x7a 807deb6: f44f 7082 mov.w r0, #260 ; 0x104 807deba: f7d7 ff67 bl 8055d8c 807debe: e05f b.n 807df80 807dec0: 20023eb8 .word 0x20023eb8 807dec4: 20020714 .word 0x20020714 807dec8: ff0a0f1f .word 0xff0a0f1f 807decc: 200206bc .word 0x200206bc 807ded0: ffd8aa57 .word 0xffd8aa57 807ded4: 20020070 .word 0x20020070 807ded8: 200205cc .word 0x200205cc 807dedc: 20020e80 .word 0x20020e80 807dee0: 200202c4 .word 0x200202c4 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807dee4: 49c6 ldr r1, [pc, #792] ; (807e200 ) 807dee6: 48c7 ldr r0, [pc, #796] ; (807e204 ) 807dee8: f7d7 f990 bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807deec: 4bc6 ldr r3, [pc, #792] ; (807e208 ) 807deee: 7b1b ldrb r3, [r3, #12] 807def0: b2db uxtb r3, r3 807def2: 4619 mov r1, r3 807def4: 4ac5 ldr r2, [pc, #788] ; (807e20c ) 807def6: 232c movs r3, #44 ; 0x2c 807def8: fb03 f301 mul.w r3, r3, r1 807defc: 4413 add r3, r2 807defe: 330c adds r3, #12 807df00: 681b ldr r3, [r3, #0] 807df02: 461a mov r2, r3 807df04: 216a movs r1, #106 ; 0x6a 807df06: 200a movs r0, #10 807df08: f7d7 ff28 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807df0c: 4bbe ldr r3, [pc, #760] ; (807e208 ) 807df0e: 7b1b ldrb r3, [r3, #12] 807df10: b2db uxtb r3, r3 807df12: 4619 mov r1, r3 807df14: 4abd ldr r2, [pc, #756] ; (807e20c ) 807df16: 232c movs r3, #44 ; 0x2c 807df18: fb03 f301 mul.w r3, r3, r1 807df1c: 4413 add r3, r2 807df1e: 3310 adds r3, #16 807df20: 681b ldr r3, [r3, #0] 807df22: 461a mov r2, r3 807df24: 217a movs r1, #122 ; 0x7a 807df26: 200a movs r0, #10 807df28: f7d7 ff18 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807df2c: 4bb6 ldr r3, [pc, #728] ; (807e208 ) 807df2e: 7b1b ldrb r3, [r3, #12] 807df30: b2db uxtb r3, r3 807df32: 4619 mov r1, r3 807df34: 4bb4 ldr r3, [pc, #720] ; (807e208 ) 807df36: 78db ldrb r3, [r3, #3] 807df38: b2db uxtb r3, r3 807df3a: 4618 mov r0, r3 807df3c: 4ab4 ldr r2, [pc, #720] ; (807e210 ) 807df3e: 460b mov r3, r1 807df40: 009b lsls r3, r3, #2 807df42: 440b add r3, r1 807df44: 4403 add r3, r0 807df46: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807df4a: 461a mov r2, r3 807df4c: 216a movs r1, #106 ; 0x6a 807df4e: f44f 7082 mov.w r0, #260 ; 0x104 807df52: f7d7 ff1b bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807df56: 4bac ldr r3, [pc, #688] ; (807e208 ) 807df58: 7b1b ldrb r3, [r3, #12] 807df5a: b2db uxtb r3, r3 807df5c: 4619 mov r1, r3 807df5e: 4baa ldr r3, [pc, #680] ; (807e208 ) 807df60: 791b ldrb r3, [r3, #4] 807df62: b2db uxtb r3, r3 807df64: 4618 mov r0, r3 807df66: 4aaa ldr r2, [pc, #680] ; (807e210 ) 807df68: 460b mov r3, r1 807df6a: 009b lsls r3, r3, #2 807df6c: 440b add r3, r1 807df6e: 4403 add r3, r0 807df70: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807df74: 461a mov r2, r3 807df76: 217a movs r1, #122 ; 0x7a 807df78: f44f 7082 mov.w r0, #260 ; 0x104 807df7c: f7d7 ff06 bl 8055d8c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807df80: 499f ldr r1, [pc, #636] ; (807e200 ) 807df82: 48a4 ldr r0, [pc, #656] ; (807e214 ) 807df84: f7d7 f942 bl 805520c LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807df88: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807df8c: 461a mov r2, r3 807df8e: 213a movs r1, #58 ; 0x3a 807df90: f44f 7082 mov.w r0, #260 ; 0x104 807df94: f7d7 fefa bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807df98: f507 73cc add.w r3, r7, #408 ; 0x198 807df9c: 461a mov r2, r3 807df9e: 214a movs r1, #74 ; 0x4a 807dfa0: f44f 7082 mov.w r0, #260 ; 0x104 807dfa4: f7d7 fef2 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807dfa8: 4b97 ldr r3, [pc, #604] ; (807e208 ) 807dfaa: 7b1b ldrb r3, [r3, #12] 807dfac: b2db uxtb r3, r3 807dfae: 4619 mov r1, r3 807dfb0: 4b95 ldr r3, [pc, #596] ; (807e208 ) 807dfb2: 789b ldrb r3, [r3, #2] 807dfb4: b2db uxtb r3, r3 807dfb6: 4618 mov r0, r3 807dfb8: 4a95 ldr r2, [pc, #596] ; (807e210 ) 807dfba: 460b mov r3, r1 807dfbc: 009b lsls r3, r3, #2 807dfbe: 440b add r3, r1 807dfc0: 4403 add r3, r0 807dfc2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807dfc6: 461a mov r2, r3 807dfc8: 215a movs r1, #90 ; 0x5a 807dfca: f44f 7082 mov.w r0, #260 ; 0x104 807dfce: f7d7 fedd bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807dfd2: 4b8d ldr r3, [pc, #564] ; (807e208 ) 807dfd4: 7b1b ldrb r3, [r3, #12] 807dfd6: b2db uxtb r3, r3 807dfd8: 4619 mov r1, r3 807dfda: 4b8b ldr r3, [pc, #556] ; (807e208 ) 807dfdc: 7b5b ldrb r3, [r3, #13] 807dfde: b2db uxtb r3, r3 807dfe0: 4618 mov r0, r3 807dfe2: 4a8d ldr r2, [pc, #564] ; (807e218 ) 807dfe4: 460b mov r3, r1 807dfe6: 009b lsls r3, r3, #2 807dfe8: 440b add r3, r1 807dfea: 005b lsls r3, r3, #1 807dfec: 4403 add r3, r0 807dfee: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807dff2: 461a mov r2, r3 807dff4: 218a movs r1, #138 ; 0x8a 807dff6: f44f 7082 mov.w r0, #260 ; 0x104 807dffa: f7d7 fec7 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807dffe: 4980 ldr r1, [pc, #512] ; (807e200 ) 807e000: f04f 30ff mov.w r0, #4294967295 807e004: f7d7 f902 bl 805520c BSP_LCD_FillRect(255, 157, 10, 10); 807e008: 230a movs r3, #10 807e00a: 220a movs r2, #10 807e00c: 219d movs r1, #157 ; 0x9d 807e00e: 20ff movs r0, #255 ; 0xff 807e010: f7d7 fd8a bl 8055b28 BSP_LCD_FillRect(255, 173, 10, 10); 807e014: 230a movs r3, #10 807e016: 220a movs r2, #10 807e018: 21ad movs r1, #173 ; 0xad 807e01a: 20ff movs r0, #255 ; 0xff 807e01c: f7d7 fd84 bl 8055b28 BSP_LCD_FillRect(255, 189, 10, 10); 807e020: 230a movs r3, #10 807e022: 220a movs r2, #10 807e024: 21bd movs r1, #189 ; 0xbd 807e026: 20ff movs r0, #255 ; 0xff 807e028: f7d7 fd7e bl 8055b28 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807e02c: 4b76 ldr r3, [pc, #472] ; (807e208 ) 807e02e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807e032: f003 0304 and.w r3, r3, #4 807e036: 2b00 cmp r3, #0 807e038: d033 beq.n 807e0a2 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807e03a: 4971 ldr r1, [pc, #452] ; (807e200 ) 807e03c: 4871 ldr r0, [pc, #452] ; (807e204 ) 807e03e: f7d7 f8e5 bl 805520c if(pardata.IIN != VOLTS) 807e042: 4b71 ldr r3, [pc, #452] ; (807e208 ) 807e044: 799b ldrb r3, [r3, #6] 807e046: b2db uxtb r3, r3 807e048: 2b02 cmp r3, #2 807e04a: d010 beq.n 807e06e LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e04c: 4b6e ldr r3, [pc, #440] ; (807e208 ) 807e04e: 7b1b ldrb r3, [r3, #12] 807e050: b2db uxtb r3, r3 807e052: 4619 mov r1, r3 807e054: 4a6d ldr r2, [pc, #436] ; (807e20c ) 807e056: 232c movs r3, #44 ; 0x2c 807e058: fb03 f301 mul.w r3, r3, r1 807e05c: 4413 add r3, r2 807e05e: 3324 adds r3, #36 ; 0x24 807e060: 681b ldr r3, [r3, #0] 807e062: 461a mov r2, r3 807e064: 21ca movs r1, #202 ; 0xca 807e066: 200a movs r0, #10 807e068: f7d7 fe78 bl 8055d5c 807e06c: e00f b.n 807e08e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e06e: 4b66 ldr r3, [pc, #408] ; (807e208 ) 807e070: 7b1b ldrb r3, [r3, #12] 807e072: b2db uxtb r3, r3 807e074: 4619 mov r1, r3 807e076: 4a69 ldr r2, [pc, #420] ; (807e21c ) 807e078: 232c movs r3, #44 ; 0x2c 807e07a: fb03 f301 mul.w r3, r3, r1 807e07e: 4413 add r3, r2 807e080: 3324 adds r3, #36 ; 0x24 807e082: 681b ldr r3, [r3, #0] 807e084: 461a mov r2, r3 807e086: 21ca movs r1, #202 ; 0xca 807e088: 200a movs r0, #10 807e08a: f7d7 fe67 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 807e08e: f507 733b add.w r3, r7, #748 ; 0x2ec 807e092: 461a mov r2, r3 807e094: 21ca movs r1, #202 ; 0xca 807e096: f44f 7082 mov.w r0, #260 ; 0x104 807e09a: f7d7 fe77 bl 8055d8c 807e09e: f001 bbe5 b.w 807f86c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e0a2: 4957 ldr r1, [pc, #348] ; (807e200 ) 807e0a4: f04f 30ff mov.w r0, #4294967295 807e0a8: f7d7 f8b0 bl 805520c if(pardata.IIN != VOLTS) 807e0ac: 4b56 ldr r3, [pc, #344] ; (807e208 ) 807e0ae: 799b ldrb r3, [r3, #6] 807e0b0: b2db uxtb r3, r3 807e0b2: 2b02 cmp r3, #2 807e0b4: d010 beq.n 807e0d8 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e0b6: 4b54 ldr r3, [pc, #336] ; (807e208 ) 807e0b8: 7b1b ldrb r3, [r3, #12] 807e0ba: b2db uxtb r3, r3 807e0bc: 4619 mov r1, r3 807e0be: 4a53 ldr r2, [pc, #332] ; (807e20c ) 807e0c0: 232c movs r3, #44 ; 0x2c 807e0c2: fb03 f301 mul.w r3, r3, r1 807e0c6: 4413 add r3, r2 807e0c8: 3324 adds r3, #36 ; 0x24 807e0ca: 681b ldr r3, [r3, #0] 807e0cc: 461a mov r2, r3 807e0ce: 21ca movs r1, #202 ; 0xca 807e0d0: 200a movs r0, #10 807e0d2: f7d7 fe43 bl 8055d5c 807e0d6: e00f b.n 807e0f8 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e0d8: 4b4b ldr r3, [pc, #300] ; (807e208 ) 807e0da: 7b1b ldrb r3, [r3, #12] 807e0dc: b2db uxtb r3, r3 807e0de: 4619 mov r1, r3 807e0e0: 4a4e ldr r2, [pc, #312] ; (807e21c ) 807e0e2: 232c movs r3, #44 ; 0x2c 807e0e4: fb03 f301 mul.w r3, r3, r1 807e0e8: 4413 add r3, r2 807e0ea: 3324 adds r3, #36 ; 0x24 807e0ec: 681b ldr r3, [r3, #0] 807e0ee: 461a mov r2, r3 807e0f0: 21ca movs r1, #202 ; 0xca 807e0f2: 200a movs r0, #10 807e0f4: f7d7 fe32 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e0f8: 4941 ldr r1, [pc, #260] ; (807e200 ) 807e0fa: 4846 ldr r0, [pc, #280] ; (807e214 ) 807e0fc: f7d7 f886 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 807e100: f507 733b add.w r3, r7, #748 ; 0x2ec 807e104: 461a mov r2, r3 807e106: 21ca movs r1, #202 ; 0xca 807e108: f44f 7082 mov.w r0, #260 ; 0x104 807e10c: f7d7 fe3e bl 8055d8c 807e110: f001 bbac b.w 807f86c } } else if(menupos == VibMax_ALL) 807e114: 4b42 ldr r3, [pc, #264] ; (807e220 ) 807e116: 781b ldrb r3, [r3, #0] 807e118: b2db uxtb r3, r3 807e11a: 2b09 cmp r3, #9 807e11c: f040 81a5 bne.w 807e46a { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e120: 4937 ldr r1, [pc, #220] ; (807e200 ) 807e122: f04f 30ff mov.w r0, #4294967295 807e126: f7d7 f871 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807e12a: 4b37 ldr r3, [pc, #220] ; (807e208 ) 807e12c: 7b1b ldrb r3, [r3, #12] 807e12e: b2db uxtb r3, r3 807e130: 461a mov r2, r3 807e132: 4b3c ldr r3, [pc, #240] ; (807e224 ) 807e134: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e138: 461a mov r2, r3 807e13a: 2127 movs r1, #39 ; 0x27 807e13c: 200a movs r0, #10 807e13e: f7d7 fe0d bl 8055d5c if(pardata.HP >= 2.0f) 807e142: 4b31 ldr r3, [pc, #196] ; (807e208 ) 807e144: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807e148: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807e14c: eef4 7ac7 vcmpe.f32 s15, s14 807e150: eef1 fa10 vmrs APSR_nzcv, fpscr 807e154: db68 blt.n 807e228 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e156: 492a ldr r1, [pc, #168] ; (807e200 ) 807e158: f04f 30ff mov.w r0, #4294967295 807e15c: f7d7 f856 bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807e160: 4b29 ldr r3, [pc, #164] ; (807e208 ) 807e162: 7b1b ldrb r3, [r3, #12] 807e164: b2db uxtb r3, r3 807e166: 4619 mov r1, r3 807e168: 4a28 ldr r2, [pc, #160] ; (807e20c ) 807e16a: 232c movs r3, #44 ; 0x2c 807e16c: fb03 f301 mul.w r3, r3, r1 807e170: 4413 add r3, r2 807e172: 330c adds r3, #12 807e174: 681b ldr r3, [r3, #0] 807e176: 461a mov r2, r3 807e178: 216a movs r1, #106 ; 0x6a 807e17a: 200a movs r0, #10 807e17c: f7d7 fdee bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807e180: 4b21 ldr r3, [pc, #132] ; (807e208 ) 807e182: 7b1b ldrb r3, [r3, #12] 807e184: b2db uxtb r3, r3 807e186: 4619 mov r1, r3 807e188: 4a20 ldr r2, [pc, #128] ; (807e20c ) 807e18a: 232c movs r3, #44 ; 0x2c 807e18c: fb03 f301 mul.w r3, r3, r1 807e190: 4413 add r3, r2 807e192: 3310 adds r3, #16 807e194: 681b ldr r3, [r3, #0] 807e196: 461a mov r2, r3 807e198: 217a movs r1, #122 ; 0x7a 807e19a: 200a movs r0, #10 807e19c: f7d7 fdde bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e1a0: 4917 ldr r1, [pc, #92] ; (807e200 ) 807e1a2: 481c ldr r0, [pc, #112] ; (807e214 ) 807e1a4: f7d7 f832 bl 805520c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807e1a8: 4b17 ldr r3, [pc, #92] ; (807e208 ) 807e1aa: 7b1b ldrb r3, [r3, #12] 807e1ac: b2db uxtb r3, r3 807e1ae: 4619 mov r1, r3 807e1b0: 4b15 ldr r3, [pc, #84] ; (807e208 ) 807e1b2: 78db ldrb r3, [r3, #3] 807e1b4: b2db uxtb r3, r3 807e1b6: 4618 mov r0, r3 807e1b8: 4a15 ldr r2, [pc, #84] ; (807e210 ) 807e1ba: 460b mov r3, r1 807e1bc: 009b lsls r3, r3, #2 807e1be: 440b add r3, r1 807e1c0: 4403 add r3, r0 807e1c2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807e1c6: 461a mov r2, r3 807e1c8: 216a movs r1, #106 ; 0x6a 807e1ca: f44f 7082 mov.w r0, #260 ; 0x104 807e1ce: f7d7 fddd bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807e1d2: 4b0d ldr r3, [pc, #52] ; (807e208 ) 807e1d4: 7b1b ldrb r3, [r3, #12] 807e1d6: b2db uxtb r3, r3 807e1d8: 4619 mov r1, r3 807e1da: 4b0b ldr r3, [pc, #44] ; (807e208 ) 807e1dc: 791b ldrb r3, [r3, #4] 807e1de: b2db uxtb r3, r3 807e1e0: 4618 mov r0, r3 807e1e2: 4a0b ldr r2, [pc, #44] ; (807e210 ) 807e1e4: 460b mov r3, r1 807e1e6: 009b lsls r3, r3, #2 807e1e8: 440b add r3, r1 807e1ea: 4403 add r3, r0 807e1ec: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807e1f0: 461a mov r2, r3 807e1f2: 217a movs r1, #122 ; 0x7a 807e1f4: f44f 7082 mov.w r0, #260 ; 0x104 807e1f8: f7d7 fdc8 bl 8055d8c 807e1fc: e062 b.n 807e2c4 807e1fe: bf00 nop 807e200: ff0a0f1f .word 0xff0a0f1f 807e204: ff808080 .word 0xff808080 807e208: 20023eb8 .word 0x20023eb8 807e20c: 200206bc .word 0x200206bc 807e210: 200202c4 .word 0x200202c4 807e214: ffd8aa57 .word 0xffd8aa57 807e218: 20020254 .word 0x20020254 807e21c: 20020714 .word 0x20020714 807e220: 20020070 .word 0x20020070 807e224: 200205cc .word 0x200205cc } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807e228: 49c7 ldr r1, [pc, #796] ; (807e548 ) 807e22a: 48c8 ldr r0, [pc, #800] ; (807e54c ) 807e22c: f7d6 ffee bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807e230: 4bc7 ldr r3, [pc, #796] ; (807e550 ) 807e232: 7b1b ldrb r3, [r3, #12] 807e234: b2db uxtb r3, r3 807e236: 4619 mov r1, r3 807e238: 4ac6 ldr r2, [pc, #792] ; (807e554 ) 807e23a: 232c movs r3, #44 ; 0x2c 807e23c: fb03 f301 mul.w r3, r3, r1 807e240: 4413 add r3, r2 807e242: 330c adds r3, #12 807e244: 681b ldr r3, [r3, #0] 807e246: 461a mov r2, r3 807e248: 216a movs r1, #106 ; 0x6a 807e24a: 200a movs r0, #10 807e24c: f7d7 fd86 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807e250: 4bbf ldr r3, [pc, #764] ; (807e550 ) 807e252: 7b1b ldrb r3, [r3, #12] 807e254: b2db uxtb r3, r3 807e256: 4619 mov r1, r3 807e258: 4abe ldr r2, [pc, #760] ; (807e554 ) 807e25a: 232c movs r3, #44 ; 0x2c 807e25c: fb03 f301 mul.w r3, r3, r1 807e260: 4413 add r3, r2 807e262: 3310 adds r3, #16 807e264: 681b ldr r3, [r3, #0] 807e266: 461a mov r2, r3 807e268: 217a movs r1, #122 ; 0x7a 807e26a: 200a movs r0, #10 807e26c: f7d7 fd76 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807e270: 4bb7 ldr r3, [pc, #732] ; (807e550 ) 807e272: 7b1b ldrb r3, [r3, #12] 807e274: b2db uxtb r3, r3 807e276: 4619 mov r1, r3 807e278: 4bb5 ldr r3, [pc, #724] ; (807e550 ) 807e27a: 78db ldrb r3, [r3, #3] 807e27c: b2db uxtb r3, r3 807e27e: 4618 mov r0, r3 807e280: 4ab5 ldr r2, [pc, #724] ; (807e558 ) 807e282: 460b mov r3, r1 807e284: 009b lsls r3, r3, #2 807e286: 440b add r3, r1 807e288: 4403 add r3, r0 807e28a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807e28e: 461a mov r2, r3 807e290: 216a movs r1, #106 ; 0x6a 807e292: f44f 7082 mov.w r0, #260 ; 0x104 807e296: f7d7 fd79 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807e29a: 4bad ldr r3, [pc, #692] ; (807e550 ) 807e29c: 7b1b ldrb r3, [r3, #12] 807e29e: b2db uxtb r3, r3 807e2a0: 4619 mov r1, r3 807e2a2: 4bab ldr r3, [pc, #684] ; (807e550 ) 807e2a4: 791b ldrb r3, [r3, #4] 807e2a6: b2db uxtb r3, r3 807e2a8: 4618 mov r0, r3 807e2aa: 4aab ldr r2, [pc, #684] ; (807e558 ) 807e2ac: 460b mov r3, r1 807e2ae: 009b lsls r3, r3, #2 807e2b0: 440b add r3, r1 807e2b2: 4403 add r3, r0 807e2b4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807e2b8: 461a mov r2, r3 807e2ba: 217a movs r1, #122 ; 0x7a 807e2bc: f44f 7082 mov.w r0, #260 ; 0x104 807e2c0: f7d7 fd64 bl 8055d8c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e2c4: 49a0 ldr r1, [pc, #640] ; (807e548 ) 807e2c6: 48a5 ldr r0, [pc, #660] ; (807e55c ) 807e2c8: f7d6 ffa0 bl 805520c LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807e2cc: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807e2d0: 461a mov r2, r3 807e2d2: 213a movs r1, #58 ; 0x3a 807e2d4: f44f 7082 mov.w r0, #260 ; 0x104 807e2d8: f7d7 fd58 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807e2dc: f507 73cc add.w r3, r7, #408 ; 0x198 807e2e0: 461a mov r2, r3 807e2e2: 214a movs r1, #74 ; 0x4a 807e2e4: f44f 7082 mov.w r0, #260 ; 0x104 807e2e8: f7d7 fd50 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807e2ec: 4b98 ldr r3, [pc, #608] ; (807e550 ) 807e2ee: 7b1b ldrb r3, [r3, #12] 807e2f0: b2db uxtb r3, r3 807e2f2: 4619 mov r1, r3 807e2f4: 4b96 ldr r3, [pc, #600] ; (807e550 ) 807e2f6: 789b ldrb r3, [r3, #2] 807e2f8: b2db uxtb r3, r3 807e2fa: 4618 mov r0, r3 807e2fc: 4a96 ldr r2, [pc, #600] ; (807e558 ) 807e2fe: 460b mov r3, r1 807e300: 009b lsls r3, r3, #2 807e302: 440b add r3, r1 807e304: 4403 add r3, r0 807e306: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807e30a: 461a mov r2, r3 807e30c: 215a movs r1, #90 ; 0x5a 807e30e: f44f 7082 mov.w r0, #260 ; 0x104 807e312: f7d7 fd3b bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807e316: 4b8e ldr r3, [pc, #568] ; (807e550 ) 807e318: 7b1b ldrb r3, [r3, #12] 807e31a: b2db uxtb r3, r3 807e31c: 4619 mov r1, r3 807e31e: 4b8c ldr r3, [pc, #560] ; (807e550 ) 807e320: 7b5b ldrb r3, [r3, #13] 807e322: b2db uxtb r3, r3 807e324: 4618 mov r0, r3 807e326: 4a8e ldr r2, [pc, #568] ; (807e560 ) 807e328: 460b mov r3, r1 807e32a: 009b lsls r3, r3, #2 807e32c: 440b add r3, r1 807e32e: 005b lsls r3, r3, #1 807e330: 4403 add r3, r0 807e332: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807e336: 461a mov r2, r3 807e338: 218a movs r1, #138 ; 0x8a 807e33a: f44f 7082 mov.w r0, #260 ; 0x104 807e33e: f7d7 fd25 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807e342: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807e346: 461a mov r2, r3 807e348: 21da movs r1, #218 ; 0xda 807e34a: f44f 7082 mov.w r0, #260 ; 0x104 807e34e: f7d7 fd1d bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e352: 497d ldr r1, [pc, #500] ; (807e548 ) 807e354: f04f 30ff mov.w r0, #4294967295 807e358: f7d6 ff58 bl 805520c BSP_LCD_FillRect(255, 157, 10, 10); 807e35c: 230a movs r3, #10 807e35e: 220a movs r2, #10 807e360: 219d movs r1, #157 ; 0x9d 807e362: 20ff movs r0, #255 ; 0xff 807e364: f7d7 fbe0 bl 8055b28 BSP_LCD_FillRect(255, 173, 10, 10); 807e368: 230a movs r3, #10 807e36a: 220a movs r2, #10 807e36c: 21ad movs r1, #173 ; 0xad 807e36e: 20ff movs r0, #255 ; 0xff 807e370: f7d7 fbda bl 8055b28 BSP_LCD_FillRect(255, 189, 10, 10); 807e374: 230a movs r3, #10 807e376: 220a movs r2, #10 807e378: 21bd movs r1, #189 ; 0xbd 807e37a: 20ff movs r0, #255 ; 0xff 807e37c: f7d7 fbd4 bl 8055b28 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807e380: 4b73 ldr r3, [pc, #460] ; (807e550 ) 807e382: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807e386: f003 0304 and.w r3, r3, #4 807e38a: 2b00 cmp r3, #0 807e38c: d033 beq.n 807e3f6 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807e38e: 496e ldr r1, [pc, #440] ; (807e548 ) 807e390: 486e ldr r0, [pc, #440] ; (807e54c ) 807e392: f7d6 ff3b bl 805520c if(pardata.IIN != VOLTS) 807e396: 4b6e ldr r3, [pc, #440] ; (807e550 ) 807e398: 799b ldrb r3, [r3, #6] 807e39a: b2db uxtb r3, r3 807e39c: 2b02 cmp r3, #2 807e39e: d010 beq.n 807e3c2 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e3a0: 4b6b ldr r3, [pc, #428] ; (807e550 ) 807e3a2: 7b1b ldrb r3, [r3, #12] 807e3a4: b2db uxtb r3, r3 807e3a6: 4619 mov r1, r3 807e3a8: 4a6a ldr r2, [pc, #424] ; (807e554 ) 807e3aa: 232c movs r3, #44 ; 0x2c 807e3ac: fb03 f301 mul.w r3, r3, r1 807e3b0: 4413 add r3, r2 807e3b2: 3324 adds r3, #36 ; 0x24 807e3b4: 681b ldr r3, [r3, #0] 807e3b6: 461a mov r2, r3 807e3b8: 21ca movs r1, #202 ; 0xca 807e3ba: 200a movs r0, #10 807e3bc: f7d7 fcce bl 8055d5c 807e3c0: e00f b.n 807e3e2 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e3c2: 4b63 ldr r3, [pc, #396] ; (807e550 ) 807e3c4: 7b1b ldrb r3, [r3, #12] 807e3c6: b2db uxtb r3, r3 807e3c8: 4619 mov r1, r3 807e3ca: 4a66 ldr r2, [pc, #408] ; (807e564 ) 807e3cc: 232c movs r3, #44 ; 0x2c 807e3ce: fb03 f301 mul.w r3, r3, r1 807e3d2: 4413 add r3, r2 807e3d4: 3324 adds r3, #36 ; 0x24 807e3d6: 681b ldr r3, [r3, #0] 807e3d8: 461a mov r2, r3 807e3da: 21ca movs r1, #202 ; 0xca 807e3dc: 200a movs r0, #10 807e3de: f7d7 fcbd bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 807e3e2: f507 733b add.w r3, r7, #748 ; 0x2ec 807e3e6: 461a mov r2, r3 807e3e8: 21ca movs r1, #202 ; 0xca 807e3ea: f44f 7082 mov.w r0, #260 ; 0x104 807e3ee: f7d7 fccd bl 8055d8c 807e3f2: f001 ba3b b.w 807f86c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e3f6: 4954 ldr r1, [pc, #336] ; (807e548 ) 807e3f8: f04f 30ff mov.w r0, #4294967295 807e3fc: f7d6 ff06 bl 805520c if(pardata.IIN != VOLTS) 807e400: 4b53 ldr r3, [pc, #332] ; (807e550 ) 807e402: 799b ldrb r3, [r3, #6] 807e404: b2db uxtb r3, r3 807e406: 2b02 cmp r3, #2 807e408: d010 beq.n 807e42c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e40a: 4b51 ldr r3, [pc, #324] ; (807e550 ) 807e40c: 7b1b ldrb r3, [r3, #12] 807e40e: b2db uxtb r3, r3 807e410: 4619 mov r1, r3 807e412: 4a50 ldr r2, [pc, #320] ; (807e554 ) 807e414: 232c movs r3, #44 ; 0x2c 807e416: fb03 f301 mul.w r3, r3, r1 807e41a: 4413 add r3, r2 807e41c: 3324 adds r3, #36 ; 0x24 807e41e: 681b ldr r3, [r3, #0] 807e420: 461a mov r2, r3 807e422: 21ca movs r1, #202 ; 0xca 807e424: 200a movs r0, #10 807e426: f7d7 fc99 bl 8055d5c 807e42a: e00f b.n 807e44c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e42c: 4b48 ldr r3, [pc, #288] ; (807e550 ) 807e42e: 7b1b ldrb r3, [r3, #12] 807e430: b2db uxtb r3, r3 807e432: 4619 mov r1, r3 807e434: 4a4b ldr r2, [pc, #300] ; (807e564 ) 807e436: 232c movs r3, #44 ; 0x2c 807e438: fb03 f301 mul.w r3, r3, r1 807e43c: 4413 add r3, r2 807e43e: 3324 adds r3, #36 ; 0x24 807e440: 681b ldr r3, [r3, #0] 807e442: 461a mov r2, r3 807e444: 21ca movs r1, #202 ; 0xca 807e446: 200a movs r0, #10 807e448: f7d7 fc88 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e44c: 493e ldr r1, [pc, #248] ; (807e548 ) 807e44e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e452: f7d6 fedb bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 807e456: f507 733b add.w r3, r7, #748 ; 0x2ec 807e45a: 461a mov r2, r3 807e45c: 21ca movs r1, #202 ; 0xca 807e45e: f44f 7082 mov.w r0, #260 ; 0x104 807e462: f7d7 fc93 bl 8055d8c 807e466: f001 ba01 b.w 807f86c } } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e46a: 4937 ldr r1, [pc, #220] ; (807e548 ) 807e46c: f04f 30ff mov.w r0, #4294967295 807e470: f7d6 fecc bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807e474: 4b36 ldr r3, [pc, #216] ; (807e550 ) 807e476: 7b1b ldrb r3, [r3, #12] 807e478: b2db uxtb r3, r3 807e47a: 461a mov r2, r3 807e47c: 4b3a ldr r3, [pc, #232] ; (807e568 ) 807e47e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e482: 461a mov r2, r3 807e484: 2127 movs r1, #39 ; 0x27 807e486: 200a movs r0, #10 807e488: f7d7 fc68 bl 8055d5c if(pardata.HP >= 2.0f) 807e48c: 4b30 ldr r3, [pc, #192] ; (807e550 ) 807e48e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807e492: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807e496: eef4 7ac7 vcmpe.f32 s15, s14 807e49a: eef1 fa10 vmrs APSR_nzcv, fpscr 807e49e: db65 blt.n 807e56c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e4a0: 4929 ldr r1, [pc, #164] ; (807e548 ) 807e4a2: f04f 30ff mov.w r0, #4294967295 807e4a6: f7d6 feb1 bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807e4aa: 4b29 ldr r3, [pc, #164] ; (807e550 ) 807e4ac: 7b1b ldrb r3, [r3, #12] 807e4ae: b2db uxtb r3, r3 807e4b0: 4619 mov r1, r3 807e4b2: 4a28 ldr r2, [pc, #160] ; (807e554 ) 807e4b4: 232c movs r3, #44 ; 0x2c 807e4b6: fb03 f301 mul.w r3, r3, r1 807e4ba: 4413 add r3, r2 807e4bc: 330c adds r3, #12 807e4be: 681b ldr r3, [r3, #0] 807e4c0: 461a mov r2, r3 807e4c2: 216a movs r1, #106 ; 0x6a 807e4c4: 200a movs r0, #10 807e4c6: f7d7 fc49 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807e4ca: 4b21 ldr r3, [pc, #132] ; (807e550 ) 807e4cc: 7b1b ldrb r3, [r3, #12] 807e4ce: b2db uxtb r3, r3 807e4d0: 4619 mov r1, r3 807e4d2: 4a20 ldr r2, [pc, #128] ; (807e554 ) 807e4d4: 232c movs r3, #44 ; 0x2c 807e4d6: fb03 f301 mul.w r3, r3, r1 807e4da: 4413 add r3, r2 807e4dc: 3310 adds r3, #16 807e4de: 681b ldr r3, [r3, #0] 807e4e0: 461a mov r2, r3 807e4e2: 217a movs r1, #122 ; 0x7a 807e4e4: 200a movs r0, #10 807e4e6: f7d7 fc39 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e4ea: 4917 ldr r1, [pc, #92] ; (807e548 ) 807e4ec: 481b ldr r0, [pc, #108] ; (807e55c ) 807e4ee: f7d6 fe8d bl 805520c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807e4f2: 4b17 ldr r3, [pc, #92] ; (807e550 ) 807e4f4: 7b1b ldrb r3, [r3, #12] 807e4f6: b2db uxtb r3, r3 807e4f8: 4619 mov r1, r3 807e4fa: 4b15 ldr r3, [pc, #84] ; (807e550 ) 807e4fc: 78db ldrb r3, [r3, #3] 807e4fe: b2db uxtb r3, r3 807e500: 4618 mov r0, r3 807e502: 4a15 ldr r2, [pc, #84] ; (807e558 ) 807e504: 460b mov r3, r1 807e506: 009b lsls r3, r3, #2 807e508: 440b add r3, r1 807e50a: 4403 add r3, r0 807e50c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807e510: 461a mov r2, r3 807e512: 216a movs r1, #106 ; 0x6a 807e514: f44f 7082 mov.w r0, #260 ; 0x104 807e518: f7d7 fc38 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807e51c: 4b0c ldr r3, [pc, #48] ; (807e550 ) 807e51e: 7b1b ldrb r3, [r3, #12] 807e520: b2db uxtb r3, r3 807e522: 4619 mov r1, r3 807e524: 4b0a ldr r3, [pc, #40] ; (807e550 ) 807e526: 791b ldrb r3, [r3, #4] 807e528: b2db uxtb r3, r3 807e52a: 4618 mov r0, r3 807e52c: 4a0a ldr r2, [pc, #40] ; (807e558 ) 807e52e: 460b mov r3, r1 807e530: 009b lsls r3, r3, #2 807e532: 440b add r3, r1 807e534: 4403 add r3, r0 807e536: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807e53a: 461a mov r2, r3 807e53c: 217a movs r1, #122 ; 0x7a 807e53e: f44f 7082 mov.w r0, #260 ; 0x104 807e542: f7d7 fc23 bl 8055d8c 807e546: e05f b.n 807e608 807e548: ff0a0f1f .word 0xff0a0f1f 807e54c: ff808080 .word 0xff808080 807e550: 20023eb8 .word 0x20023eb8 807e554: 200206bc .word 0x200206bc 807e558: 200202c4 .word 0x200202c4 807e55c: ffd8aa57 .word 0xffd8aa57 807e560: 20020254 .word 0x20020254 807e564: 20020714 .word 0x20020714 807e568: 200205cc .word 0x200205cc } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807e56c: 49bb ldr r1, [pc, #748] ; (807e85c ) 807e56e: 48bc ldr r0, [pc, #752] ; (807e860 ) 807e570: f7d6 fe4c bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807e574: 4bbb ldr r3, [pc, #748] ; (807e864 ) 807e576: 7b1b ldrb r3, [r3, #12] 807e578: b2db uxtb r3, r3 807e57a: 4619 mov r1, r3 807e57c: 4aba ldr r2, [pc, #744] ; (807e868 ) 807e57e: 232c movs r3, #44 ; 0x2c 807e580: fb03 f301 mul.w r3, r3, r1 807e584: 4413 add r3, r2 807e586: 330c adds r3, #12 807e588: 681b ldr r3, [r3, #0] 807e58a: 461a mov r2, r3 807e58c: 216a movs r1, #106 ; 0x6a 807e58e: 200a movs r0, #10 807e590: f7d7 fbe4 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807e594: 4bb3 ldr r3, [pc, #716] ; (807e864 ) 807e596: 7b1b ldrb r3, [r3, #12] 807e598: b2db uxtb r3, r3 807e59a: 4619 mov r1, r3 807e59c: 4ab2 ldr r2, [pc, #712] ; (807e868 ) 807e59e: 232c movs r3, #44 ; 0x2c 807e5a0: fb03 f301 mul.w r3, r3, r1 807e5a4: 4413 add r3, r2 807e5a6: 3310 adds r3, #16 807e5a8: 681b ldr r3, [r3, #0] 807e5aa: 461a mov r2, r3 807e5ac: 217a movs r1, #122 ; 0x7a 807e5ae: 200a movs r0, #10 807e5b0: f7d7 fbd4 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807e5b4: 4bab ldr r3, [pc, #684] ; (807e864 ) 807e5b6: 7b1b ldrb r3, [r3, #12] 807e5b8: b2db uxtb r3, r3 807e5ba: 4619 mov r1, r3 807e5bc: 4ba9 ldr r3, [pc, #676] ; (807e864 ) 807e5be: 78db ldrb r3, [r3, #3] 807e5c0: b2db uxtb r3, r3 807e5c2: 4618 mov r0, r3 807e5c4: 4aa9 ldr r2, [pc, #676] ; (807e86c ) 807e5c6: 460b mov r3, r1 807e5c8: 009b lsls r3, r3, #2 807e5ca: 440b add r3, r1 807e5cc: 4403 add r3, r0 807e5ce: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807e5d2: 461a mov r2, r3 807e5d4: 216a movs r1, #106 ; 0x6a 807e5d6: f44f 7082 mov.w r0, #260 ; 0x104 807e5da: f7d7 fbd7 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807e5de: 4ba1 ldr r3, [pc, #644] ; (807e864 ) 807e5e0: 7b1b ldrb r3, [r3, #12] 807e5e2: b2db uxtb r3, r3 807e5e4: 4619 mov r1, r3 807e5e6: 4b9f ldr r3, [pc, #636] ; (807e864 ) 807e5e8: 791b ldrb r3, [r3, #4] 807e5ea: b2db uxtb r3, r3 807e5ec: 4618 mov r0, r3 807e5ee: 4a9f ldr r2, [pc, #636] ; (807e86c ) 807e5f0: 460b mov r3, r1 807e5f2: 009b lsls r3, r3, #2 807e5f4: 440b add r3, r1 807e5f6: 4403 add r3, r0 807e5f8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807e5fc: 461a mov r2, r3 807e5fe: 217a movs r1, #122 ; 0x7a 807e600: f44f 7082 mov.w r0, #260 ; 0x104 807e604: f7d7 fbc2 bl 8055d8c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e608: 4994 ldr r1, [pc, #592] ; (807e85c ) 807e60a: 4899 ldr r0, [pc, #612] ; (807e870 ) 807e60c: f7d6 fdfe bl 805520c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807e610: 4b94 ldr r3, [pc, #592] ; (807e864 ) 807e612: 7b1b ldrb r3, [r3, #12] 807e614: b2db uxtb r3, r3 807e616: 4619 mov r1, r3 807e618: 4b92 ldr r3, [pc, #584] ; (807e864 ) 807e61a: 789b ldrb r3, [r3, #2] 807e61c: b2db uxtb r3, r3 807e61e: 4618 mov r0, r3 807e620: 4a92 ldr r2, [pc, #584] ; (807e86c ) 807e622: 460b mov r3, r1 807e624: 009b lsls r3, r3, #2 807e626: 440b add r3, r1 807e628: 4403 add r3, r0 807e62a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807e62e: 461a mov r2, r3 807e630: 215a movs r1, #90 ; 0x5a 807e632: f44f 7082 mov.w r0, #260 ; 0x104 807e636: f7d7 fba9 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807e63a: 4b8a ldr r3, [pc, #552] ; (807e864 ) 807e63c: 7b1b ldrb r3, [r3, #12] 807e63e: b2db uxtb r3, r3 807e640: 4619 mov r1, r3 807e642: 4b88 ldr r3, [pc, #544] ; (807e864 ) 807e644: 7b5b ldrb r3, [r3, #13] 807e646: b2db uxtb r3, r3 807e648: 4618 mov r0, r3 807e64a: 4a8a ldr r2, [pc, #552] ; (807e874 ) 807e64c: 460b mov r3, r1 807e64e: 009b lsls r3, r3, #2 807e650: 440b add r3, r1 807e652: 005b lsls r3, r3, #1 807e654: 4403 add r3, r0 807e656: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807e65a: 461a mov r2, r3 807e65c: 218a movs r1, #138 ; 0x8a 807e65e: f44f 7082 mov.w r0, #260 ; 0x104 807e662: f7d7 fb93 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807e666: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807e66a: 461a mov r2, r3 807e66c: 21da movs r1, #218 ; 0xda 807e66e: f44f 7082 mov.w r0, #260 ; 0x104 807e672: f7d7 fb8b bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e676: 4979 ldr r1, [pc, #484] ; (807e85c ) 807e678: f04f 30ff mov.w r0, #4294967295 807e67c: f7d6 fdc6 bl 805520c BSP_LCD_FillRect(255, 157, 10, 10); 807e680: 230a movs r3, #10 807e682: 220a movs r2, #10 807e684: 219d movs r1, #157 ; 0x9d 807e686: 20ff movs r0, #255 ; 0xff 807e688: f7d7 fa4e bl 8055b28 BSP_LCD_FillRect(255, 173, 10, 10); 807e68c: 230a movs r3, #10 807e68e: 220a movs r2, #10 807e690: 21ad movs r1, #173 ; 0xad 807e692: 20ff movs r0, #255 ; 0xff 807e694: f7d7 fa48 bl 8055b28 BSP_LCD_FillRect(255, 189, 10, 10); 807e698: 230a movs r3, #10 807e69a: 220a movs r2, #10 807e69c: 21bd movs r1, #189 ; 0xbd 807e69e: 20ff movs r0, #255 ; 0xff 807e6a0: f7d7 fa42 bl 8055b28 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)) 807e6a4: 4b74 ldr r3, [pc, #464] ; (807e878 ) 807e6a6: 781b ldrb r3, [r3, #0] 807e6a8: b2db uxtb r3, r3 807e6aa: 2b18 cmp r3, #24 807e6ac: f240 8083 bls.w 807e7b6 807e6b0: 4b71 ldr r3, [pc, #452] ; (807e878 ) 807e6b2: 781b ldrb r3, [r3, #0] 807e6b4: b2db uxtb r3, r3 807e6b6: 2b1e cmp r3, #30 807e6b8: d87d bhi.n 807e7b6 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e6ba: 4968 ldr r1, [pc, #416] ; (807e85c ) 807e6bc: 486c ldr r0, [pc, #432] ; (807e870 ) 807e6be: f7d6 fda5 bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807e6c2: f507 73cc add.w r3, r7, #408 ; 0x198 807e6c6: 461a mov r2, r3 807e6c8: 214a movs r1, #74 ; 0x4a 807e6ca: f44f 7082 mov.w r0, #260 ; 0x104 807e6ce: f7d7 fb5d bl 8055d8c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807e6d2: 4b64 ldr r3, [pc, #400] ; (807e864 ) 807e6d4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807e6d8: f003 0304 and.w r3, r3, #4 807e6dc: 2b00 cmp r3, #0 807e6de: d032 beq.n 807e746 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807e6e0: 495e ldr r1, [pc, #376] ; (807e85c ) 807e6e2: 485f ldr r0, [pc, #380] ; (807e860 ) 807e6e4: f7d6 fd92 bl 805520c if(pardata.IIN != VOLTS) 807e6e8: 4b5e ldr r3, [pc, #376] ; (807e864 ) 807e6ea: 799b ldrb r3, [r3, #6] 807e6ec: b2db uxtb r3, r3 807e6ee: 2b02 cmp r3, #2 807e6f0: d010 beq.n 807e714 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e6f2: 4b5c ldr r3, [pc, #368] ; (807e864 ) 807e6f4: 7b1b ldrb r3, [r3, #12] 807e6f6: b2db uxtb r3, r3 807e6f8: 4619 mov r1, r3 807e6fa: 4a5b ldr r2, [pc, #364] ; (807e868 ) 807e6fc: 232c movs r3, #44 ; 0x2c 807e6fe: fb03 f301 mul.w r3, r3, r1 807e702: 4413 add r3, r2 807e704: 3324 adds r3, #36 ; 0x24 807e706: 681b ldr r3, [r3, #0] 807e708: 461a mov r2, r3 807e70a: 21ca movs r1, #202 ; 0xca 807e70c: 200a movs r0, #10 807e70e: f7d7 fb25 bl 8055d5c 807e712: e00f b.n 807e734 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e714: 4b53 ldr r3, [pc, #332] ; (807e864 ) 807e716: 7b1b ldrb r3, [r3, #12] 807e718: b2db uxtb r3, r3 807e71a: 4619 mov r1, r3 807e71c: 4a57 ldr r2, [pc, #348] ; (807e87c ) 807e71e: 232c movs r3, #44 ; 0x2c 807e720: fb03 f301 mul.w r3, r3, r1 807e724: 4413 add r3, r2 807e726: 3324 adds r3, #36 ; 0x24 807e728: 681b ldr r3, [r3, #0] 807e72a: 461a mov r2, r3 807e72c: 21ca movs r1, #202 ; 0xca 807e72e: 200a movs r0, #10 807e730: f7d7 fb14 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 807e734: f507 733b add.w r3, r7, #748 ; 0x2ec 807e738: 461a mov r2, r3 807e73a: 21ca movs r1, #202 ; 0xca 807e73c: f44f 7082 mov.w r0, #260 ; 0x104 807e740: f7d7 fb24 bl 8055d8c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807e744: e157 b.n 807e9f6 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e746: 4945 ldr r1, [pc, #276] ; (807e85c ) 807e748: f04f 30ff mov.w r0, #4294967295 807e74c: f7d6 fd5e bl 805520c if(pardata.IIN != VOLTS) 807e750: 4b44 ldr r3, [pc, #272] ; (807e864 ) 807e752: 799b ldrb r3, [r3, #6] 807e754: b2db uxtb r3, r3 807e756: 2b02 cmp r3, #2 807e758: d010 beq.n 807e77c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e75a: 4b42 ldr r3, [pc, #264] ; (807e864 ) 807e75c: 7b1b ldrb r3, [r3, #12] 807e75e: b2db uxtb r3, r3 807e760: 4619 mov r1, r3 807e762: 4a41 ldr r2, [pc, #260] ; (807e868 ) 807e764: 232c movs r3, #44 ; 0x2c 807e766: fb03 f301 mul.w r3, r3, r1 807e76a: 4413 add r3, r2 807e76c: 3324 adds r3, #36 ; 0x24 807e76e: 681b ldr r3, [r3, #0] 807e770: 461a mov r2, r3 807e772: 21ca movs r1, #202 ; 0xca 807e774: 200a movs r0, #10 807e776: f7d7 faf1 bl 8055d5c 807e77a: e00f b.n 807e79c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e77c: 4b39 ldr r3, [pc, #228] ; (807e864 ) 807e77e: 7b1b ldrb r3, [r3, #12] 807e780: b2db uxtb r3, r3 807e782: 4619 mov r1, r3 807e784: 4a3d ldr r2, [pc, #244] ; (807e87c ) 807e786: 232c movs r3, #44 ; 0x2c 807e788: fb03 f301 mul.w r3, r3, r1 807e78c: 4413 add r3, r2 807e78e: 3324 adds r3, #36 ; 0x24 807e790: 681b ldr r3, [r3, #0] 807e792: 461a mov r2, r3 807e794: 21ca movs r1, #202 ; 0xca 807e796: 200a movs r0, #10 807e798: f7d7 fae0 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e79c: 492f ldr r1, [pc, #188] ; (807e85c ) 807e79e: 4834 ldr r0, [pc, #208] ; (807e870 ) 807e7a0: f7d6 fd34 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 807e7a4: f507 733b add.w r3, r7, #748 ; 0x2ec 807e7a8: 461a mov r2, r3 807e7aa: 21ca movs r1, #202 ; 0xca 807e7ac: f44f 7082 mov.w r0, #260 ; 0x104 807e7b0: f7d7 faec bl 8055d8c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807e7b4: e11f b.n 807e9f6 } } else if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 807e7b6: 4b30 ldr r3, [pc, #192] ; (807e878 ) 807e7b8: 781b ldrb r3, [r3, #0] 807e7ba: b2db uxtb r3, r3 807e7bc: 2b1e cmp r3, #30 807e7be: f240 8097 bls.w 807e8f0 807e7c2: 4b2d ldr r3, [pc, #180] ; (807e878 ) 807e7c4: 781b ldrb r3, [r3, #0] 807e7c6: b2db uxtb r3, r3 807e7c8: 2b24 cmp r3, #36 ; 0x24 807e7ca: f200 8091 bhi.w 807e8f0 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e7ce: 4923 ldr r1, [pc, #140] ; (807e85c ) 807e7d0: 4827 ldr r0, [pc, #156] ; (807e870 ) 807e7d2: f7d6 fd1b bl 805520c LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807e7d6: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807e7da: 461a mov r2, r3 807e7dc: 213a movs r1, #58 ; 0x3a 807e7de: f44f 7082 mov.w r0, #260 ; 0x104 807e7e2: f7d7 fad3 bl 8055d8c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807e7e6: 4b1f ldr r3, [pc, #124] ; (807e864 ) 807e7e8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807e7ec: f003 0304 and.w r3, r3, #4 807e7f0: 2b00 cmp r3, #0 807e7f2: d045 beq.n 807e880 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807e7f4: 4919 ldr r1, [pc, #100] ; (807e85c ) 807e7f6: 481a ldr r0, [pc, #104] ; (807e860 ) 807e7f8: f7d6 fd08 bl 805520c if(pardata.IIN != VOLTS) 807e7fc: 4b19 ldr r3, [pc, #100] ; (807e864 ) 807e7fe: 799b ldrb r3, [r3, #6] 807e800: b2db uxtb r3, r3 807e802: 2b02 cmp r3, #2 807e804: d010 beq.n 807e828 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e806: 4b17 ldr r3, [pc, #92] ; (807e864 ) 807e808: 7b1b ldrb r3, [r3, #12] 807e80a: b2db uxtb r3, r3 807e80c: 4619 mov r1, r3 807e80e: 4a16 ldr r2, [pc, #88] ; (807e868 ) 807e810: 232c movs r3, #44 ; 0x2c 807e812: fb03 f301 mul.w r3, r3, r1 807e816: 4413 add r3, r2 807e818: 3324 adds r3, #36 ; 0x24 807e81a: 681b ldr r3, [r3, #0] 807e81c: 461a mov r2, r3 807e81e: 21ca movs r1, #202 ; 0xca 807e820: 200a movs r0, #10 807e822: f7d7 fa9b bl 8055d5c 807e826: e00f b.n 807e848 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e828: 4b0e ldr r3, [pc, #56] ; (807e864 ) 807e82a: 7b1b ldrb r3, [r3, #12] 807e82c: b2db uxtb r3, r3 807e82e: 4619 mov r1, r3 807e830: 4a12 ldr r2, [pc, #72] ; (807e87c ) 807e832: 232c movs r3, #44 ; 0x2c 807e834: fb03 f301 mul.w r3, r3, r1 807e838: 4413 add r3, r2 807e83a: 3324 adds r3, #36 ; 0x24 807e83c: 681b ldr r3, [r3, #0] 807e83e: 461a mov r2, r3 807e840: 21ca movs r1, #202 ; 0xca 807e842: 200a movs r0, #10 807e844: f7d7 fa8a bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 807e848: f507 733b add.w r3, r7, #748 ; 0x2ec 807e84c: 461a mov r2, r3 807e84e: 21ca movs r1, #202 ; 0xca 807e850: f44f 7082 mov.w r0, #260 ; 0x104 807e854: f7d7 fa9a bl 8055d8c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807e858: e0cd b.n 807e9f6 807e85a: bf00 nop 807e85c: ff0a0f1f .word 0xff0a0f1f 807e860: ff808080 .word 0xff808080 807e864: 20023eb8 .word 0x20023eb8 807e868: 200206bc .word 0x200206bc 807e86c: 200202c4 .word 0x200202c4 807e870: ffd8aa57 .word 0xffd8aa57 807e874: 20020254 .word 0x20020254 807e878: 20020070 .word 0x20020070 807e87c: 20020714 .word 0x20020714 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e880: 49c0 ldr r1, [pc, #768] ; (807eb84 ) 807e882: f04f 30ff mov.w r0, #4294967295 807e886: f7d6 fcc1 bl 805520c if(pardata.IIN != VOLTS) 807e88a: 4bbf ldr r3, [pc, #764] ; (807eb88 ) 807e88c: 799b ldrb r3, [r3, #6] 807e88e: b2db uxtb r3, r3 807e890: 2b02 cmp r3, #2 807e892: d010 beq.n 807e8b6 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e894: 4bbc ldr r3, [pc, #752] ; (807eb88 ) 807e896: 7b1b ldrb r3, [r3, #12] 807e898: b2db uxtb r3, r3 807e89a: 4619 mov r1, r3 807e89c: 4abb ldr r2, [pc, #748] ; (807eb8c ) 807e89e: 232c movs r3, #44 ; 0x2c 807e8a0: fb03 f301 mul.w r3, r3, r1 807e8a4: 4413 add r3, r2 807e8a6: 3324 adds r3, #36 ; 0x24 807e8a8: 681b ldr r3, [r3, #0] 807e8aa: 461a mov r2, r3 807e8ac: 21ca movs r1, #202 ; 0xca 807e8ae: 200a movs r0, #10 807e8b0: f7d7 fa54 bl 8055d5c 807e8b4: e00f b.n 807e8d6 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e8b6: 4bb4 ldr r3, [pc, #720] ; (807eb88 ) 807e8b8: 7b1b ldrb r3, [r3, #12] 807e8ba: b2db uxtb r3, r3 807e8bc: 4619 mov r1, r3 807e8be: 4ab4 ldr r2, [pc, #720] ; (807eb90 ) 807e8c0: 232c movs r3, #44 ; 0x2c 807e8c2: fb03 f301 mul.w r3, r3, r1 807e8c6: 4413 add r3, r2 807e8c8: 3324 adds r3, #36 ; 0x24 807e8ca: 681b ldr r3, [r3, #0] 807e8cc: 461a mov r2, r3 807e8ce: 21ca movs r1, #202 ; 0xca 807e8d0: 200a movs r0, #10 807e8d2: f7d7 fa43 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e8d6: 49ab ldr r1, [pc, #684] ; (807eb84 ) 807e8d8: 48ae ldr r0, [pc, #696] ; (807eb94 ) 807e8da: f7d6 fc97 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 807e8de: f507 733b add.w r3, r7, #748 ; 0x2ec 807e8e2: 461a mov r2, r3 807e8e4: 21ca movs r1, #202 ; 0xca 807e8e6: f44f 7082 mov.w r0, #260 ; 0x104 807e8ea: f7d7 fa4f bl 8055d8c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807e8ee: e082 b.n 807e9f6 } } else if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 807e8f0: 4ba9 ldr r3, [pc, #676] ; (807eb98 ) 807e8f2: 781b ldrb r3, [r3, #0] 807e8f4: b2db uxtb r3, r3 807e8f6: 2b0a cmp r3, #10 807e8f8: d97d bls.n 807e9f6 807e8fa: 4ba7 ldr r3, [pc, #668] ; (807eb98 ) 807e8fc: 781b ldrb r3, [r3, #0] 807e8fe: b2db uxtb r3, r3 807e900: 2b10 cmp r3, #16 807e902: d878 bhi.n 807e9f6 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e904: 499f ldr r1, [pc, #636] ; (807eb84 ) 807e906: 48a3 ldr r0, [pc, #652] ; (807eb94 ) 807e908: f7d6 fc80 bl 805520c LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807e90c: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807e910: 461a mov r2, r3 807e912: 213a movs r1, #58 ; 0x3a 807e914: f44f 7082 mov.w r0, #260 ; 0x104 807e918: f7d7 fa38 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807e91c: f507 73cc add.w r3, r7, #408 ; 0x198 807e920: 461a mov r2, r3 807e922: 214a movs r1, #74 ; 0x4a 807e924: f44f 7082 mov.w r0, #260 ; 0x104 807e928: f7d7 fa30 bl 8055d8c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807e92c: 4b96 ldr r3, [pc, #600] ; (807eb88 ) 807e92e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807e932: f003 0304 and.w r3, r3, #4 807e936: 2b00 cmp r3, #0 807e938: d032 beq.n 807e9a0 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807e93a: 4992 ldr r1, [pc, #584] ; (807eb84 ) 807e93c: 4897 ldr r0, [pc, #604] ; (807eb9c ) 807e93e: f7d6 fc65 bl 805520c if(pardata.IIN != VOLTS) 807e942: 4b91 ldr r3, [pc, #580] ; (807eb88 ) 807e944: 799b ldrb r3, [r3, #6] 807e946: b2db uxtb r3, r3 807e948: 2b02 cmp r3, #2 807e94a: d010 beq.n 807e96e LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e94c: 4b8e ldr r3, [pc, #568] ; (807eb88 ) 807e94e: 7b1b ldrb r3, [r3, #12] 807e950: b2db uxtb r3, r3 807e952: 4619 mov r1, r3 807e954: 4a8d ldr r2, [pc, #564] ; (807eb8c ) 807e956: 232c movs r3, #44 ; 0x2c 807e958: fb03 f301 mul.w r3, r3, r1 807e95c: 4413 add r3, r2 807e95e: 3324 adds r3, #36 ; 0x24 807e960: 681b ldr r3, [r3, #0] 807e962: 461a mov r2, r3 807e964: 21ca movs r1, #202 ; 0xca 807e966: 200a movs r0, #10 807e968: f7d7 f9f8 bl 8055d5c 807e96c: e00f b.n 807e98e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e96e: 4b86 ldr r3, [pc, #536] ; (807eb88 ) 807e970: 7b1b ldrb r3, [r3, #12] 807e972: b2db uxtb r3, r3 807e974: 4619 mov r1, r3 807e976: 4a86 ldr r2, [pc, #536] ; (807eb90 ) 807e978: 232c movs r3, #44 ; 0x2c 807e97a: fb03 f301 mul.w r3, r3, r1 807e97e: 4413 add r3, r2 807e980: 3324 adds r3, #36 ; 0x24 807e982: 681b ldr r3, [r3, #0] 807e984: 461a mov r2, r3 807e986: 21ca movs r1, #202 ; 0xca 807e988: 200a movs r0, #10 807e98a: f7d7 f9e7 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 807e98e: f507 733b add.w r3, r7, #748 ; 0x2ec 807e992: 461a mov r2, r3 807e994: 21ca movs r1, #202 ; 0xca 807e996: f44f 7082 mov.w r0, #260 ; 0x104 807e99a: f7d7 f9f7 bl 8055d8c 807e99e: e02a b.n 807e9f6 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e9a0: 4978 ldr r1, [pc, #480] ; (807eb84 ) 807e9a2: f04f 30ff mov.w r0, #4294967295 807e9a6: f7d6 fc31 bl 805520c if(pardata.IIN != VOLTS) 807e9aa: 4b77 ldr r3, [pc, #476] ; (807eb88 ) 807e9ac: 799b ldrb r3, [r3, #6] 807e9ae: b2db uxtb r3, r3 807e9b0: 2b02 cmp r3, #2 807e9b2: d010 beq.n 807e9d6 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e9b4: 4b74 ldr r3, [pc, #464] ; (807eb88 ) 807e9b6: 7b1b ldrb r3, [r3, #12] 807e9b8: b2db uxtb r3, r3 807e9ba: 4619 mov r1, r3 807e9bc: 4a73 ldr r2, [pc, #460] ; (807eb8c ) 807e9be: 232c movs r3, #44 ; 0x2c 807e9c0: fb03 f301 mul.w r3, r3, r1 807e9c4: 4413 add r3, r2 807e9c6: 3324 adds r3, #36 ; 0x24 807e9c8: 681b ldr r3, [r3, #0] 807e9ca: 461a mov r2, r3 807e9cc: 21ca movs r1, #202 ; 0xca 807e9ce: 200a movs r0, #10 807e9d0: f7d7 f9c4 bl 8055d5c 807e9d4: e00f b.n 807e9f6 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807e9d6: 4b6c ldr r3, [pc, #432] ; (807eb88 ) 807e9d8: 7b1b ldrb r3, [r3, #12] 807e9da: b2db uxtb r3, r3 807e9dc: 4619 mov r1, r3 807e9de: 4a6c ldr r2, [pc, #432] ; (807eb90 ) 807e9e0: 232c movs r3, #44 ; 0x2c 807e9e2: fb03 f301 mul.w r3, r3, r1 807e9e6: 4413 add r3, r2 807e9e8: 3324 adds r3, #36 ; 0x24 807e9ea: 681b ldr r3, [r3, #0] 807e9ec: 461a mov r2, r3 807e9ee: 21ca movs r1, #202 ; 0xca 807e9f0: 200a movs r0, #10 807e9f2: f7d7 f9b3 bl 8055d5c } if(menupos == FilterHP_IDT) 807e9f6: 4b68 ldr r3, [pc, #416] ; (807eb98 ) 807e9f8: 781b ldrb r3, [r3, #0] 807e9fa: b2db uxtb r3, r3 807e9fc: 2b19 cmp r3, #25 807e9fe: d15d bne.n 807eabc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ea00: 4960 ldr r1, [pc, #384] ; (807eb84 ) 807ea02: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ea06: f7d6 fc01 bl 805520c if(blk) 807ea0a: 4b65 ldr r3, [pc, #404] ; (807eba0 ) 807ea0c: 681b ldr r3, [r3, #0] 807ea0e: 2b00 cmp r3, #0 807ea10: d00b beq.n 807ea2a LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807ea12: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807ea16: b2db uxtb r3, r3 807ea18: 461a mov r2, r3 807ea1a: 4b62 ldr r3, [pc, #392] ; (807eba4 ) 807ea1c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ea20: 461a mov r2, r3 807ea22: 213a movs r1, #58 ; 0x3a 807ea24: 20c6 movs r0, #198 ; 0xc6 807ea26: f7d7 f999 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ea2a: 4956 ldr r1, [pc, #344] ; (807eb84 ) 807ea2c: 4859 ldr r0, [pc, #356] ; (807eb94 ) 807ea2e: f7d6 fbed bl 805520c LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807ea32: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807ea36: b2db uxtb r3, r3 807ea38: 461a mov r2, r3 807ea3a: 4b5a ldr r3, [pc, #360] ; (807eba4 ) 807ea3c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ea40: 461a mov r2, r3 807ea42: 213a movs r1, #58 ; 0x3a 807ea44: 20d6 movs r0, #214 ; 0xd6 807ea46: f7d7 f989 bl 8055d5c LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807ea4a: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807ea4e: b2db uxtb r3, r3 807ea50: 461a mov r2, r3 807ea52: 4b54 ldr r3, [pc, #336] ; (807eba4 ) 807ea54: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ea58: 461a mov r2, r3 807ea5a: 213a movs r1, #58 ; 0x3a 807ea5c: 20e6 movs r0, #230 ; 0xe6 807ea5e: f7d7 f97d bl 8055d5c LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807ea62: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807ea66: b2db uxtb r3, r3 807ea68: 461a mov r2, r3 807ea6a: 4b4e ldr r3, [pc, #312] ; (807eba4 ) 807ea6c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ea70: 461a mov r2, r3 807ea72: 213a movs r1, #58 ; 0x3a 807ea74: 20f6 movs r0, #246 ; 0xf6 807ea76: f7d7 f971 bl 8055d5c LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807ea7a: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807ea7e: b2db uxtb r3, r3 807ea80: 461a mov r2, r3 807ea82: 4b48 ldr r3, [pc, #288] ; (807eba4 ) 807ea84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ea88: 461a mov r2, r3 807ea8a: 213a movs r1, #58 ; 0x3a 807ea8c: f44f 7083 mov.w r0, #262 ; 0x106 807ea90: f7d7 f964 bl 8055d5c LCD_DisplayString(278, LCD_LINE_3, "."); 807ea94: 4a44 ldr r2, [pc, #272] ; (807eba8 ) 807ea96: 213a movs r1, #58 ; 0x3a 807ea98: f44f 708b mov.w r0, #278 ; 0x116 807ea9c: f7d7 f95e bl 8055d5c LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807eaa0: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807eaa4: b2db uxtb r3, r3 807eaa6: 461a mov r2, r3 807eaa8: 4b3e ldr r3, [pc, #248] ; (807eba4 ) 807eaaa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807eaae: 461a mov r2, r3 807eab0: 213a movs r1, #58 ; 0x3a 807eab2: f44f 7093 mov.w r0, #294 ; 0x126 807eab6: f7d7 f951 bl 8055d5c 807eaba: e20f b.n 807eedc } else if(menupos == FilterHP_IET) 807eabc: 4b36 ldr r3, [pc, #216] ; (807eb98 ) 807eabe: 781b ldrb r3, [r3, #0] 807eac0: b2db uxtb r3, r3 807eac2: 2b1a cmp r3, #26 807eac4: d172 bne.n 807ebac { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807eac6: 492f ldr r1, [pc, #188] ; (807eb84 ) 807eac8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807eacc: f7d6 fb9e bl 805520c if(blk) 807ead0: 4b33 ldr r3, [pc, #204] ; (807eba0 ) 807ead2: 681b ldr r3, [r3, #0] 807ead4: 2b00 cmp r3, #0 807ead6: d00b beq.n 807eaf0 LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807ead8: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807eadc: b2db uxtb r3, r3 807eade: 461a mov r2, r3 807eae0: 4b30 ldr r3, [pc, #192] ; (807eba4 ) 807eae2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807eae6: 461a mov r2, r3 807eae8: 213a movs r1, #58 ; 0x3a 807eaea: 20d6 movs r0, #214 ; 0xd6 807eaec: f7d7 f936 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807eaf0: 4924 ldr r1, [pc, #144] ; (807eb84 ) 807eaf2: 4828 ldr r0, [pc, #160] ; (807eb94 ) 807eaf4: f7d6 fb8a bl 805520c LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807eaf8: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807eafc: b2db uxtb r3, r3 807eafe: 461a mov r2, r3 807eb00: 4b28 ldr r3, [pc, #160] ; (807eba4 ) 807eb02: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807eb06: 461a mov r2, r3 807eb08: 213a movs r1, #58 ; 0x3a 807eb0a: 20c6 movs r0, #198 ; 0xc6 807eb0c: f7d7 f926 bl 8055d5c LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807eb10: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807eb14: b2db uxtb r3, r3 807eb16: 461a mov r2, r3 807eb18: 4b22 ldr r3, [pc, #136] ; (807eba4 ) 807eb1a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807eb1e: 461a mov r2, r3 807eb20: 213a movs r1, #58 ; 0x3a 807eb22: 20e6 movs r0, #230 ; 0xe6 807eb24: f7d7 f91a bl 8055d5c LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807eb28: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807eb2c: b2db uxtb r3, r3 807eb2e: 461a mov r2, r3 807eb30: 4b1c ldr r3, [pc, #112] ; (807eba4 ) 807eb32: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807eb36: 461a mov r2, r3 807eb38: 213a movs r1, #58 ; 0x3a 807eb3a: 20f6 movs r0, #246 ; 0xf6 807eb3c: f7d7 f90e bl 8055d5c LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807eb40: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807eb44: b2db uxtb r3, r3 807eb46: 461a mov r2, r3 807eb48: 4b16 ldr r3, [pc, #88] ; (807eba4 ) 807eb4a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807eb4e: 461a mov r2, r3 807eb50: 213a movs r1, #58 ; 0x3a 807eb52: f44f 7083 mov.w r0, #262 ; 0x106 807eb56: f7d7 f901 bl 8055d5c LCD_DisplayString(278, LCD_LINE_3, "."); 807eb5a: 4a13 ldr r2, [pc, #76] ; (807eba8 ) 807eb5c: 213a movs r1, #58 ; 0x3a 807eb5e: f44f 708b mov.w r0, #278 ; 0x116 807eb62: f7d7 f8fb bl 8055d5c LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807eb66: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807eb6a: b2db uxtb r3, r3 807eb6c: 461a mov r2, r3 807eb6e: 4b0d ldr r3, [pc, #52] ; (807eba4 ) 807eb70: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807eb74: 461a mov r2, r3 807eb76: 213a movs r1, #58 ; 0x3a 807eb78: f44f 7093 mov.w r0, #294 ; 0x126 807eb7c: f7d7 f8ee bl 8055d5c 807eb80: e1ac b.n 807eedc 807eb82: bf00 nop 807eb84: ff0a0f1f .word 0xff0a0f1f 807eb88: 20023eb8 .word 0x20023eb8 807eb8c: 200206bc .word 0x200206bc 807eb90: 20020714 .word 0x20020714 807eb94: ffd8aa57 .word 0xffd8aa57 807eb98: 20020070 .word 0x20020070 807eb9c: ff808080 .word 0xff808080 807eba0: 200216ac .word 0x200216ac 807eba4: 2002096c .word 0x2002096c 807eba8: 080d6258 .word 0x080d6258 } else if(menupos == FilterHP_IES) 807ebac: 4b94 ldr r3, [pc, #592] ; (807ee00 ) 807ebae: 781b ldrb r3, [r3, #0] 807ebb0: b2db uxtb r3, r3 807ebb2: 2b1b cmp r3, #27 807ebb4: d15d bne.n 807ec72 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ebb6: 4993 ldr r1, [pc, #588] ; (807ee04 ) 807ebb8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ebbc: f7d6 fb26 bl 805520c if(blk) 807ebc0: 4b91 ldr r3, [pc, #580] ; (807ee08 ) 807ebc2: 681b ldr r3, [r3, #0] 807ebc4: 2b00 cmp r3, #0 807ebc6: d00b beq.n 807ebe0 LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807ebc8: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807ebcc: b2db uxtb r3, r3 807ebce: 461a mov r2, r3 807ebd0: 4b8e ldr r3, [pc, #568] ; (807ee0c ) 807ebd2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ebd6: 461a mov r2, r3 807ebd8: 213a movs r1, #58 ; 0x3a 807ebda: 20e6 movs r0, #230 ; 0xe6 807ebdc: f7d7 f8be bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ebe0: 4988 ldr r1, [pc, #544] ; (807ee04 ) 807ebe2: 488b ldr r0, [pc, #556] ; (807ee10 ) 807ebe4: f7d6 fb12 bl 805520c LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807ebe8: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807ebec: b2db uxtb r3, r3 807ebee: 461a mov r2, r3 807ebf0: 4b86 ldr r3, [pc, #536] ; (807ee0c ) 807ebf2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ebf6: 461a mov r2, r3 807ebf8: 213a movs r1, #58 ; 0x3a 807ebfa: 20c6 movs r0, #198 ; 0xc6 807ebfc: f7d7 f8ae bl 8055d5c LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807ec00: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807ec04: b2db uxtb r3, r3 807ec06: 461a mov r2, r3 807ec08: 4b80 ldr r3, [pc, #512] ; (807ee0c ) 807ec0a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ec0e: 461a mov r2, r3 807ec10: 213a movs r1, #58 ; 0x3a 807ec12: 20d6 movs r0, #214 ; 0xd6 807ec14: f7d7 f8a2 bl 8055d5c LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807ec18: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807ec1c: b2db uxtb r3, r3 807ec1e: 461a mov r2, r3 807ec20: 4b7a ldr r3, [pc, #488] ; (807ee0c ) 807ec22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ec26: 461a mov r2, r3 807ec28: 213a movs r1, #58 ; 0x3a 807ec2a: 20f6 movs r0, #246 ; 0xf6 807ec2c: f7d7 f896 bl 8055d5c LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807ec30: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807ec34: b2db uxtb r3, r3 807ec36: 461a mov r2, r3 807ec38: 4b74 ldr r3, [pc, #464] ; (807ee0c ) 807ec3a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ec3e: 461a mov r2, r3 807ec40: 213a movs r1, #58 ; 0x3a 807ec42: f44f 7083 mov.w r0, #262 ; 0x106 807ec46: f7d7 f889 bl 8055d5c LCD_DisplayString(278, LCD_LINE_3, "."); 807ec4a: 4a72 ldr r2, [pc, #456] ; (807ee14 ) 807ec4c: 213a movs r1, #58 ; 0x3a 807ec4e: f44f 708b mov.w r0, #278 ; 0x116 807ec52: f7d7 f883 bl 8055d5c LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807ec56: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807ec5a: b2db uxtb r3, r3 807ec5c: 461a mov r2, r3 807ec5e: 4b6b ldr r3, [pc, #428] ; (807ee0c ) 807ec60: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ec64: 461a mov r2, r3 807ec66: 213a movs r1, #58 ; 0x3a 807ec68: f44f 7093 mov.w r0, #294 ; 0x126 807ec6c: f7d7 f876 bl 8055d5c 807ec70: e134 b.n 807eedc } else if(menupos == FilterHP_IED) 807ec72: 4b63 ldr r3, [pc, #396] ; (807ee00 ) 807ec74: 781b ldrb r3, [r3, #0] 807ec76: b2db uxtb r3, r3 807ec78: 2b1c cmp r3, #28 807ec7a: d15d bne.n 807ed38 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ec7c: 4961 ldr r1, [pc, #388] ; (807ee04 ) 807ec7e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ec82: f7d6 fac3 bl 805520c if(blk) 807ec86: 4b60 ldr r3, [pc, #384] ; (807ee08 ) 807ec88: 681b ldr r3, [r3, #0] 807ec8a: 2b00 cmp r3, #0 807ec8c: d00b beq.n 807eca6 LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807ec8e: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807ec92: b2db uxtb r3, r3 807ec94: 461a mov r2, r3 807ec96: 4b5d ldr r3, [pc, #372] ; (807ee0c ) 807ec98: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ec9c: 461a mov r2, r3 807ec9e: 213a movs r1, #58 ; 0x3a 807eca0: 20f6 movs r0, #246 ; 0xf6 807eca2: f7d7 f85b bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807eca6: 4957 ldr r1, [pc, #348] ; (807ee04 ) 807eca8: 4859 ldr r0, [pc, #356] ; (807ee10 ) 807ecaa: f7d6 faaf bl 805520c LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807ecae: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807ecb2: b2db uxtb r3, r3 807ecb4: 461a mov r2, r3 807ecb6: 4b55 ldr r3, [pc, #340] ; (807ee0c ) 807ecb8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ecbc: 461a mov r2, r3 807ecbe: 213a movs r1, #58 ; 0x3a 807ecc0: 20c6 movs r0, #198 ; 0xc6 807ecc2: f7d7 f84b bl 8055d5c LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807ecc6: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807ecca: b2db uxtb r3, r3 807eccc: 461a mov r2, r3 807ecce: 4b4f ldr r3, [pc, #316] ; (807ee0c ) 807ecd0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ecd4: 461a mov r2, r3 807ecd6: 213a movs r1, #58 ; 0x3a 807ecd8: 20d6 movs r0, #214 ; 0xd6 807ecda: f7d7 f83f bl 8055d5c LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807ecde: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807ece2: b2db uxtb r3, r3 807ece4: 461a mov r2, r3 807ece6: 4b49 ldr r3, [pc, #292] ; (807ee0c ) 807ece8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ecec: 461a mov r2, r3 807ecee: 213a movs r1, #58 ; 0x3a 807ecf0: 20e6 movs r0, #230 ; 0xe6 807ecf2: f7d7 f833 bl 8055d5c LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807ecf6: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807ecfa: b2db uxtb r3, r3 807ecfc: 461a mov r2, r3 807ecfe: 4b43 ldr r3, [pc, #268] ; (807ee0c ) 807ed00: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ed04: 461a mov r2, r3 807ed06: 213a movs r1, #58 ; 0x3a 807ed08: f44f 7083 mov.w r0, #262 ; 0x106 807ed0c: f7d7 f826 bl 8055d5c LCD_DisplayString(278, LCD_LINE_3, "."); 807ed10: 4a40 ldr r2, [pc, #256] ; (807ee14 ) 807ed12: 213a movs r1, #58 ; 0x3a 807ed14: f44f 708b mov.w r0, #278 ; 0x116 807ed18: f7d7 f820 bl 8055d5c LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807ed1c: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807ed20: b2db uxtb r3, r3 807ed22: 461a mov r2, r3 807ed24: 4b39 ldr r3, [pc, #228] ; (807ee0c ) 807ed26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ed2a: 461a mov r2, r3 807ed2c: 213a movs r1, #58 ; 0x3a 807ed2e: f44f 7093 mov.w r0, #294 ; 0x126 807ed32: f7d7 f813 bl 8055d5c 807ed36: e0d1 b.n 807eedc } else if(menupos == FilterHP_IEE) 807ed38: 4b31 ldr r3, [pc, #196] ; (807ee00 ) 807ed3a: 781b ldrb r3, [r3, #0] 807ed3c: b2db uxtb r3, r3 807ed3e: 2b1d cmp r3, #29 807ed40: d16a bne.n 807ee18 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ed42: 4930 ldr r1, [pc, #192] ; (807ee04 ) 807ed44: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ed48: f7d6 fa60 bl 805520c if(blk) 807ed4c: 4b2e ldr r3, [pc, #184] ; (807ee08 ) 807ed4e: 681b ldr r3, [r3, #0] 807ed50: 2b00 cmp r3, #0 807ed52: d00c beq.n 807ed6e LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807ed54: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807ed58: b2db uxtb r3, r3 807ed5a: 461a mov r2, r3 807ed5c: 4b2b ldr r3, [pc, #172] ; (807ee0c ) 807ed5e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ed62: 461a mov r2, r3 807ed64: 213a movs r1, #58 ; 0x3a 807ed66: f44f 7083 mov.w r0, #262 ; 0x106 807ed6a: f7d6 fff7 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ed6e: 4925 ldr r1, [pc, #148] ; (807ee04 ) 807ed70: 4827 ldr r0, [pc, #156] ; (807ee10 ) 807ed72: f7d6 fa4b bl 805520c LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807ed76: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807ed7a: b2db uxtb r3, r3 807ed7c: 461a mov r2, r3 807ed7e: 4b23 ldr r3, [pc, #140] ; (807ee0c ) 807ed80: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ed84: 461a mov r2, r3 807ed86: 213a movs r1, #58 ; 0x3a 807ed88: 20c6 movs r0, #198 ; 0xc6 807ed8a: f7d6 ffe7 bl 8055d5c LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807ed8e: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807ed92: b2db uxtb r3, r3 807ed94: 461a mov r2, r3 807ed96: 4b1d ldr r3, [pc, #116] ; (807ee0c ) 807ed98: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ed9c: 461a mov r2, r3 807ed9e: 213a movs r1, #58 ; 0x3a 807eda0: 20d6 movs r0, #214 ; 0xd6 807eda2: f7d6 ffdb bl 8055d5c LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807eda6: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807edaa: b2db uxtb r3, r3 807edac: 461a mov r2, r3 807edae: 4b17 ldr r3, [pc, #92] ; (807ee0c ) 807edb0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807edb4: 461a mov r2, r3 807edb6: 213a movs r1, #58 ; 0x3a 807edb8: 20e6 movs r0, #230 ; 0xe6 807edba: f7d6 ffcf bl 8055d5c LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807edbe: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807edc2: b2db uxtb r3, r3 807edc4: 461a mov r2, r3 807edc6: 4b11 ldr r3, [pc, #68] ; (807ee0c ) 807edc8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807edcc: 461a mov r2, r3 807edce: 213a movs r1, #58 ; 0x3a 807edd0: 20f6 movs r0, #246 ; 0xf6 807edd2: f7d6 ffc3 bl 8055d5c LCD_DisplayString(278, LCD_LINE_3, "."); 807edd6: 4a0f ldr r2, [pc, #60] ; (807ee14 ) 807edd8: 213a movs r1, #58 ; 0x3a 807edda: f44f 708b mov.w r0, #278 ; 0x116 807edde: f7d6 ffbd bl 8055d5c LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807ede2: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807ede6: b2db uxtb r3, r3 807ede8: 461a mov r2, r3 807edea: 4b08 ldr r3, [pc, #32] ; (807ee0c ) 807edec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807edf0: 461a mov r2, r3 807edf2: 213a movs r1, #58 ; 0x3a 807edf4: f44f 7093 mov.w r0, #294 ; 0x126 807edf8: f7d6 ffb0 bl 8055d5c 807edfc: e06e b.n 807eedc 807edfe: bf00 nop 807ee00: 20020070 .word 0x20020070 807ee04: ff0a0f1f .word 0xff0a0f1f 807ee08: 200216ac .word 0x200216ac 807ee0c: 2002096c .word 0x2002096c 807ee10: ffd8aa57 .word 0xffd8aa57 807ee14: 080d6258 .word 0x080d6258 } else if(menupos == FilterHP_IKD) 807ee18: 4bc5 ldr r3, [pc, #788] ; (807f130 ) 807ee1a: 781b ldrb r3, [r3, #0] 807ee1c: b2db uxtb r3, r3 807ee1e: 2b1e cmp r3, #30 807ee20: d15c bne.n 807eedc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ee22: 49c4 ldr r1, [pc, #784] ; (807f134 ) 807ee24: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ee28: f7d6 f9f0 bl 805520c if(blk) 807ee2c: 4bc2 ldr r3, [pc, #776] ; (807f138 ) 807ee2e: 681b ldr r3, [r3, #0] 807ee30: 2b00 cmp r3, #0 807ee32: d00c beq.n 807ee4e LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807ee34: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807ee38: b2db uxtb r3, r3 807ee3a: 461a mov r2, r3 807ee3c: 4bbf ldr r3, [pc, #764] ; (807f13c ) 807ee3e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ee42: 461a mov r2, r3 807ee44: 213a movs r1, #58 ; 0x3a 807ee46: f44f 7093 mov.w r0, #294 ; 0x126 807ee4a: f7d6 ff87 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ee4e: 49b9 ldr r1, [pc, #740] ; (807f134 ) 807ee50: 48bb ldr r0, [pc, #748] ; (807f140 ) 807ee52: f7d6 f9db bl 805520c LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807ee56: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807ee5a: b2db uxtb r3, r3 807ee5c: 461a mov r2, r3 807ee5e: 4bb7 ldr r3, [pc, #732] ; (807f13c ) 807ee60: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ee64: 461a mov r2, r3 807ee66: 213a movs r1, #58 ; 0x3a 807ee68: 20c6 movs r0, #198 ; 0xc6 807ee6a: f7d6 ff77 bl 8055d5c LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807ee6e: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807ee72: b2db uxtb r3, r3 807ee74: 461a mov r2, r3 807ee76: 4bb1 ldr r3, [pc, #708] ; (807f13c ) 807ee78: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ee7c: 461a mov r2, r3 807ee7e: 213a movs r1, #58 ; 0x3a 807ee80: 20d6 movs r0, #214 ; 0xd6 807ee82: f7d6 ff6b bl 8055d5c LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807ee86: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807ee8a: b2db uxtb r3, r3 807ee8c: 461a mov r2, r3 807ee8e: 4bab ldr r3, [pc, #684] ; (807f13c ) 807ee90: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ee94: 461a mov r2, r3 807ee96: 213a movs r1, #58 ; 0x3a 807ee98: 20e6 movs r0, #230 ; 0xe6 807ee9a: f7d6 ff5f bl 8055d5c LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807ee9e: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807eea2: b2db uxtb r3, r3 807eea4: 461a mov r2, r3 807eea6: 4ba5 ldr r3, [pc, #660] ; (807f13c ) 807eea8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807eeac: 461a mov r2, r3 807eeae: 213a movs r1, #58 ; 0x3a 807eeb0: 20f6 movs r0, #246 ; 0xf6 807eeb2: f7d6 ff53 bl 8055d5c LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807eeb6: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807eeba: b2db uxtb r3, r3 807eebc: 461a mov r2, r3 807eebe: 4b9f ldr r3, [pc, #636] ; (807f13c ) 807eec0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807eec4: 461a mov r2, r3 807eec6: 213a movs r1, #58 ; 0x3a 807eec8: f44f 7083 mov.w r0, #262 ; 0x106 807eecc: f7d6 ff46 bl 8055d5c LCD_DisplayString(278, LCD_LINE_3, "."); 807eed0: 4a9c ldr r2, [pc, #624] ; (807f144 ) 807eed2: 213a movs r1, #58 ; 0x3a 807eed4: f44f 708b mov.w r0, #278 ; 0x116 807eed8: f7d6 ff40 bl 8055d5c if(menupos == FilterLP_IDT) 807eedc: 4b94 ldr r3, [pc, #592] ; (807f130 ) 807eede: 781b ldrb r3, [r3, #0] 807eee0: b2db uxtb r3, r3 807eee2: 2b1f cmp r3, #31 807eee4: d15d bne.n 807efa2 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807eee6: 4993 ldr r1, [pc, #588] ; (807f134 ) 807eee8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807eeec: f7d6 f98e bl 805520c if(blk) 807eef0: 4b91 ldr r3, [pc, #580] ; (807f138 ) 807eef2: 681b ldr r3, [r3, #0] 807eef4: 2b00 cmp r3, #0 807eef6: d00b beq.n 807ef10 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807eef8: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807eefc: b2db uxtb r3, r3 807eefe: 461a mov r2, r3 807ef00: 4b8e ldr r3, [pc, #568] ; (807f13c ) 807ef02: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ef06: 461a mov r2, r3 807ef08: 214a movs r1, #74 ; 0x4a 807ef0a: 20c6 movs r0, #198 ; 0xc6 807ef0c: f7d6 ff26 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ef10: 4988 ldr r1, [pc, #544] ; (807f134 ) 807ef12: 488b ldr r0, [pc, #556] ; (807f140 ) 807ef14: f7d6 f97a bl 805520c LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807ef18: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807ef1c: b2db uxtb r3, r3 807ef1e: 461a mov r2, r3 807ef20: 4b86 ldr r3, [pc, #536] ; (807f13c ) 807ef22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ef26: 461a mov r2, r3 807ef28: 214a movs r1, #74 ; 0x4a 807ef2a: 20d6 movs r0, #214 ; 0xd6 807ef2c: f7d6 ff16 bl 8055d5c LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807ef30: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807ef34: b2db uxtb r3, r3 807ef36: 461a mov r2, r3 807ef38: 4b80 ldr r3, [pc, #512] ; (807f13c ) 807ef3a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ef3e: 461a mov r2, r3 807ef40: 214a movs r1, #74 ; 0x4a 807ef42: 20e6 movs r0, #230 ; 0xe6 807ef44: f7d6 ff0a bl 8055d5c LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807ef48: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807ef4c: b2db uxtb r3, r3 807ef4e: 461a mov r2, r3 807ef50: 4b7a ldr r3, [pc, #488] ; (807f13c ) 807ef52: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ef56: 461a mov r2, r3 807ef58: 214a movs r1, #74 ; 0x4a 807ef5a: 20f6 movs r0, #246 ; 0xf6 807ef5c: f7d6 fefe bl 8055d5c LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807ef60: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807ef64: b2db uxtb r3, r3 807ef66: 461a mov r2, r3 807ef68: 4b74 ldr r3, [pc, #464] ; (807f13c ) 807ef6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ef6e: 461a mov r2, r3 807ef70: 214a movs r1, #74 ; 0x4a 807ef72: f44f 7083 mov.w r0, #262 ; 0x106 807ef76: f7d6 fef1 bl 8055d5c LCD_DisplayString(278, LCD_LINE_4, "."); 807ef7a: 4a72 ldr r2, [pc, #456] ; (807f144 ) 807ef7c: 214a movs r1, #74 ; 0x4a 807ef7e: f44f 708b mov.w r0, #278 ; 0x116 807ef82: f7d6 feeb bl 8055d5c LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807ef86: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807ef8a: b2db uxtb r3, r3 807ef8c: 461a mov r2, r3 807ef8e: 4b6b ldr r3, [pc, #428] ; (807f13c ) 807ef90: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ef94: 461a mov r2, r3 807ef96: 214a movs r1, #74 ; 0x4a 807ef98: f44f 7093 mov.w r0, #294 ; 0x126 807ef9c: f7d6 fede bl 8055d5c 807efa0: e1fa b.n 807f398 } else if(menupos == FilterLP_IET) 807efa2: 4b63 ldr r3, [pc, #396] ; (807f130 ) 807efa4: 781b ldrb r3, [r3, #0] 807efa6: b2db uxtb r3, r3 807efa8: 2b20 cmp r3, #32 807efaa: d15d bne.n 807f068 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807efac: 4961 ldr r1, [pc, #388] ; (807f134 ) 807efae: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807efb2: f7d6 f92b bl 805520c if(blk) 807efb6: 4b60 ldr r3, [pc, #384] ; (807f138 ) 807efb8: 681b ldr r3, [r3, #0] 807efba: 2b00 cmp r3, #0 807efbc: d00b beq.n 807efd6 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807efbe: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807efc2: b2db uxtb r3, r3 807efc4: 461a mov r2, r3 807efc6: 4b5d ldr r3, [pc, #372] ; (807f13c ) 807efc8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807efcc: 461a mov r2, r3 807efce: 214a movs r1, #74 ; 0x4a 807efd0: 20d6 movs r0, #214 ; 0xd6 807efd2: f7d6 fec3 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807efd6: 4957 ldr r1, [pc, #348] ; (807f134 ) 807efd8: 4859 ldr r0, [pc, #356] ; (807f140 ) 807efda: f7d6 f917 bl 805520c LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807efde: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807efe2: b2db uxtb r3, r3 807efe4: 461a mov r2, r3 807efe6: 4b55 ldr r3, [pc, #340] ; (807f13c ) 807efe8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807efec: 461a mov r2, r3 807efee: 214a movs r1, #74 ; 0x4a 807eff0: 20c6 movs r0, #198 ; 0xc6 807eff2: f7d6 feb3 bl 8055d5c LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807eff6: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807effa: b2db uxtb r3, r3 807effc: 461a mov r2, r3 807effe: 4b4f ldr r3, [pc, #316] ; (807f13c ) 807f000: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f004: 461a mov r2, r3 807f006: 214a movs r1, #74 ; 0x4a 807f008: 20e6 movs r0, #230 ; 0xe6 807f00a: f7d6 fea7 bl 8055d5c LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807f00e: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807f012: b2db uxtb r3, r3 807f014: 461a mov r2, r3 807f016: 4b49 ldr r3, [pc, #292] ; (807f13c ) 807f018: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f01c: 461a mov r2, r3 807f01e: 214a movs r1, #74 ; 0x4a 807f020: 20f6 movs r0, #246 ; 0xf6 807f022: f7d6 fe9b bl 8055d5c LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807f026: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807f02a: b2db uxtb r3, r3 807f02c: 461a mov r2, r3 807f02e: 4b43 ldr r3, [pc, #268] ; (807f13c ) 807f030: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f034: 461a mov r2, r3 807f036: 214a movs r1, #74 ; 0x4a 807f038: f44f 7083 mov.w r0, #262 ; 0x106 807f03c: f7d6 fe8e bl 8055d5c LCD_DisplayString(278, LCD_LINE_4, "."); 807f040: 4a40 ldr r2, [pc, #256] ; (807f144 ) 807f042: 214a movs r1, #74 ; 0x4a 807f044: f44f 708b mov.w r0, #278 ; 0x116 807f048: f7d6 fe88 bl 8055d5c LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807f04c: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807f050: b2db uxtb r3, r3 807f052: 461a mov r2, r3 807f054: 4b39 ldr r3, [pc, #228] ; (807f13c ) 807f056: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f05a: 461a mov r2, r3 807f05c: 214a movs r1, #74 ; 0x4a 807f05e: f44f 7093 mov.w r0, #294 ; 0x126 807f062: f7d6 fe7b bl 8055d5c 807f066: e197 b.n 807f398 } else if(menupos == FilterLP_IES) 807f068: 4b31 ldr r3, [pc, #196] ; (807f130 ) 807f06a: 781b ldrb r3, [r3, #0] 807f06c: b2db uxtb r3, r3 807f06e: 2b21 cmp r3, #33 ; 0x21 807f070: d16a bne.n 807f148 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f072: 4930 ldr r1, [pc, #192] ; (807f134 ) 807f074: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f078: f7d6 f8c8 bl 805520c if(blk) 807f07c: 4b2e ldr r3, [pc, #184] ; (807f138 ) 807f07e: 681b ldr r3, [r3, #0] 807f080: 2b00 cmp r3, #0 807f082: d00b beq.n 807f09c LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807f084: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807f088: b2db uxtb r3, r3 807f08a: 461a mov r2, r3 807f08c: 4b2b ldr r3, [pc, #172] ; (807f13c ) 807f08e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f092: 461a mov r2, r3 807f094: 214a movs r1, #74 ; 0x4a 807f096: 20e6 movs r0, #230 ; 0xe6 807f098: f7d6 fe60 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f09c: 4925 ldr r1, [pc, #148] ; (807f134 ) 807f09e: 4828 ldr r0, [pc, #160] ; (807f140 ) 807f0a0: f7d6 f8b4 bl 805520c LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807f0a4: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807f0a8: b2db uxtb r3, r3 807f0aa: 461a mov r2, r3 807f0ac: 4b23 ldr r3, [pc, #140] ; (807f13c ) 807f0ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f0b2: 461a mov r2, r3 807f0b4: 214a movs r1, #74 ; 0x4a 807f0b6: 20c6 movs r0, #198 ; 0xc6 807f0b8: f7d6 fe50 bl 8055d5c LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807f0bc: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807f0c0: b2db uxtb r3, r3 807f0c2: 461a mov r2, r3 807f0c4: 4b1d ldr r3, [pc, #116] ; (807f13c ) 807f0c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f0ca: 461a mov r2, r3 807f0cc: 214a movs r1, #74 ; 0x4a 807f0ce: 20d6 movs r0, #214 ; 0xd6 807f0d0: f7d6 fe44 bl 8055d5c LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807f0d4: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807f0d8: b2db uxtb r3, r3 807f0da: 461a mov r2, r3 807f0dc: 4b17 ldr r3, [pc, #92] ; (807f13c ) 807f0de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f0e2: 461a mov r2, r3 807f0e4: 214a movs r1, #74 ; 0x4a 807f0e6: 20f6 movs r0, #246 ; 0xf6 807f0e8: f7d6 fe38 bl 8055d5c LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807f0ec: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807f0f0: b2db uxtb r3, r3 807f0f2: 461a mov r2, r3 807f0f4: 4b11 ldr r3, [pc, #68] ; (807f13c ) 807f0f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f0fa: 461a mov r2, r3 807f0fc: 214a movs r1, #74 ; 0x4a 807f0fe: f44f 7083 mov.w r0, #262 ; 0x106 807f102: f7d6 fe2b bl 8055d5c LCD_DisplayString(278, LCD_LINE_4, "."); 807f106: 4a0f ldr r2, [pc, #60] ; (807f144 ) 807f108: 214a movs r1, #74 ; 0x4a 807f10a: f44f 708b mov.w r0, #278 ; 0x116 807f10e: f7d6 fe25 bl 8055d5c LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807f112: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807f116: b2db uxtb r3, r3 807f118: 461a mov r2, r3 807f11a: 4b08 ldr r3, [pc, #32] ; (807f13c ) 807f11c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f120: 461a mov r2, r3 807f122: 214a movs r1, #74 ; 0x4a 807f124: f44f 7093 mov.w r0, #294 ; 0x126 807f128: f7d6 fe18 bl 8055d5c 807f12c: e134 b.n 807f398 807f12e: bf00 nop 807f130: 20020070 .word 0x20020070 807f134: ff0a0f1f .word 0xff0a0f1f 807f138: 200216ac .word 0x200216ac 807f13c: 2002096c .word 0x2002096c 807f140: ffd8aa57 .word 0xffd8aa57 807f144: 080d6258 .word 0x080d6258 } else if(menupos == FilterLP_IED) 807f148: 4bc5 ldr r3, [pc, #788] ; (807f460 ) 807f14a: 781b ldrb r3, [r3, #0] 807f14c: b2db uxtb r3, r3 807f14e: 2b22 cmp r3, #34 ; 0x22 807f150: d15d bne.n 807f20e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f152: 49c4 ldr r1, [pc, #784] ; (807f464 ) 807f154: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f158: f7d6 f858 bl 805520c if(blk) 807f15c: 4bc2 ldr r3, [pc, #776] ; (807f468 ) 807f15e: 681b ldr r3, [r3, #0] 807f160: 2b00 cmp r3, #0 807f162: d00b beq.n 807f17c LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807f164: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807f168: b2db uxtb r3, r3 807f16a: 461a mov r2, r3 807f16c: 4bbf ldr r3, [pc, #764] ; (807f46c ) 807f16e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f172: 461a mov r2, r3 807f174: 214a movs r1, #74 ; 0x4a 807f176: 20f6 movs r0, #246 ; 0xf6 807f178: f7d6 fdf0 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f17c: 49b9 ldr r1, [pc, #740] ; (807f464 ) 807f17e: 48bc ldr r0, [pc, #752] ; (807f470 ) 807f180: f7d6 f844 bl 805520c LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807f184: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807f188: b2db uxtb r3, r3 807f18a: 461a mov r2, r3 807f18c: 4bb7 ldr r3, [pc, #732] ; (807f46c ) 807f18e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f192: 461a mov r2, r3 807f194: 214a movs r1, #74 ; 0x4a 807f196: 20c6 movs r0, #198 ; 0xc6 807f198: f7d6 fde0 bl 8055d5c LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807f19c: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807f1a0: b2db uxtb r3, r3 807f1a2: 461a mov r2, r3 807f1a4: 4bb1 ldr r3, [pc, #708] ; (807f46c ) 807f1a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f1aa: 461a mov r2, r3 807f1ac: 214a movs r1, #74 ; 0x4a 807f1ae: 20d6 movs r0, #214 ; 0xd6 807f1b0: f7d6 fdd4 bl 8055d5c LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807f1b4: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807f1b8: b2db uxtb r3, r3 807f1ba: 461a mov r2, r3 807f1bc: 4bab ldr r3, [pc, #684] ; (807f46c ) 807f1be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f1c2: 461a mov r2, r3 807f1c4: 214a movs r1, #74 ; 0x4a 807f1c6: 20e6 movs r0, #230 ; 0xe6 807f1c8: f7d6 fdc8 bl 8055d5c LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807f1cc: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807f1d0: b2db uxtb r3, r3 807f1d2: 461a mov r2, r3 807f1d4: 4ba5 ldr r3, [pc, #660] ; (807f46c ) 807f1d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f1da: 461a mov r2, r3 807f1dc: 214a movs r1, #74 ; 0x4a 807f1de: f44f 7083 mov.w r0, #262 ; 0x106 807f1e2: f7d6 fdbb bl 8055d5c LCD_DisplayString(278, LCD_LINE_4, "."); 807f1e6: 4aa3 ldr r2, [pc, #652] ; (807f474 ) 807f1e8: 214a movs r1, #74 ; 0x4a 807f1ea: f44f 708b mov.w r0, #278 ; 0x116 807f1ee: f7d6 fdb5 bl 8055d5c LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807f1f2: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807f1f6: b2db uxtb r3, r3 807f1f8: 461a mov r2, r3 807f1fa: 4b9c ldr r3, [pc, #624] ; (807f46c ) 807f1fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f200: 461a mov r2, r3 807f202: 214a movs r1, #74 ; 0x4a 807f204: f44f 7093 mov.w r0, #294 ; 0x126 807f208: f7d6 fda8 bl 8055d5c 807f20c: e0c4 b.n 807f398 } else if(menupos == FilterLP_IEE) 807f20e: 4b94 ldr r3, [pc, #592] ; (807f460 ) 807f210: 781b ldrb r3, [r3, #0] 807f212: b2db uxtb r3, r3 807f214: 2b23 cmp r3, #35 ; 0x23 807f216: d15d bne.n 807f2d4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f218: 4992 ldr r1, [pc, #584] ; (807f464 ) 807f21a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f21e: f7d5 fff5 bl 805520c if(blk) 807f222: 4b91 ldr r3, [pc, #580] ; (807f468 ) 807f224: 681b ldr r3, [r3, #0] 807f226: 2b00 cmp r3, #0 807f228: d00c beq.n 807f244 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807f22a: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807f22e: b2db uxtb r3, r3 807f230: 461a mov r2, r3 807f232: 4b8e ldr r3, [pc, #568] ; (807f46c ) 807f234: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f238: 461a mov r2, r3 807f23a: 214a movs r1, #74 ; 0x4a 807f23c: f44f 7083 mov.w r0, #262 ; 0x106 807f240: f7d6 fd8c bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f244: 4987 ldr r1, [pc, #540] ; (807f464 ) 807f246: 488a ldr r0, [pc, #552] ; (807f470 ) 807f248: f7d5 ffe0 bl 805520c LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807f24c: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807f250: b2db uxtb r3, r3 807f252: 461a mov r2, r3 807f254: 4b85 ldr r3, [pc, #532] ; (807f46c ) 807f256: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f25a: 461a mov r2, r3 807f25c: 214a movs r1, #74 ; 0x4a 807f25e: 20c6 movs r0, #198 ; 0xc6 807f260: f7d6 fd7c bl 8055d5c LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807f264: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807f268: b2db uxtb r3, r3 807f26a: 461a mov r2, r3 807f26c: 4b7f ldr r3, [pc, #508] ; (807f46c ) 807f26e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f272: 461a mov r2, r3 807f274: 214a movs r1, #74 ; 0x4a 807f276: 20d6 movs r0, #214 ; 0xd6 807f278: f7d6 fd70 bl 8055d5c LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807f27c: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807f280: b2db uxtb r3, r3 807f282: 461a mov r2, r3 807f284: 4b79 ldr r3, [pc, #484] ; (807f46c ) 807f286: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f28a: 461a mov r2, r3 807f28c: 214a movs r1, #74 ; 0x4a 807f28e: 20e6 movs r0, #230 ; 0xe6 807f290: f7d6 fd64 bl 8055d5c LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807f294: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807f298: b2db uxtb r3, r3 807f29a: 461a mov r2, r3 807f29c: 4b73 ldr r3, [pc, #460] ; (807f46c ) 807f29e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f2a2: 461a mov r2, r3 807f2a4: 214a movs r1, #74 ; 0x4a 807f2a6: 20f6 movs r0, #246 ; 0xf6 807f2a8: f7d6 fd58 bl 8055d5c LCD_DisplayString(278, LCD_LINE_4, "."); 807f2ac: 4a71 ldr r2, [pc, #452] ; (807f474 ) 807f2ae: 214a movs r1, #74 ; 0x4a 807f2b0: f44f 708b mov.w r0, #278 ; 0x116 807f2b4: f7d6 fd52 bl 8055d5c LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807f2b8: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807f2bc: b2db uxtb r3, r3 807f2be: 461a mov r2, r3 807f2c0: 4b6a ldr r3, [pc, #424] ; (807f46c ) 807f2c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f2c6: 461a mov r2, r3 807f2c8: 214a movs r1, #74 ; 0x4a 807f2ca: f44f 7093 mov.w r0, #294 ; 0x126 807f2ce: f7d6 fd45 bl 8055d5c 807f2d2: e061 b.n 807f398 } else if(menupos == FilterLP_IKD) 807f2d4: 4b62 ldr r3, [pc, #392] ; (807f460 ) 807f2d6: 781b ldrb r3, [r3, #0] 807f2d8: b2db uxtb r3, r3 807f2da: 2b24 cmp r3, #36 ; 0x24 807f2dc: d15c bne.n 807f398 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f2de: 4961 ldr r1, [pc, #388] ; (807f464 ) 807f2e0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f2e4: f7d5 ff92 bl 805520c if(blk) 807f2e8: 4b5f ldr r3, [pc, #380] ; (807f468 ) 807f2ea: 681b ldr r3, [r3, #0] 807f2ec: 2b00 cmp r3, #0 807f2ee: d00c beq.n 807f30a LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807f2f0: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807f2f4: b2db uxtb r3, r3 807f2f6: 461a mov r2, r3 807f2f8: 4b5c ldr r3, [pc, #368] ; (807f46c ) 807f2fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f2fe: 461a mov r2, r3 807f300: 214a movs r1, #74 ; 0x4a 807f302: f44f 7093 mov.w r0, #294 ; 0x126 807f306: f7d6 fd29 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f30a: 4956 ldr r1, [pc, #344] ; (807f464 ) 807f30c: 4858 ldr r0, [pc, #352] ; (807f470 ) 807f30e: f7d5 ff7d bl 805520c LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807f312: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807f316: b2db uxtb r3, r3 807f318: 461a mov r2, r3 807f31a: 4b54 ldr r3, [pc, #336] ; (807f46c ) 807f31c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f320: 461a mov r2, r3 807f322: 214a movs r1, #74 ; 0x4a 807f324: 20c6 movs r0, #198 ; 0xc6 807f326: f7d6 fd19 bl 8055d5c LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807f32a: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807f32e: b2db uxtb r3, r3 807f330: 461a mov r2, r3 807f332: 4b4e ldr r3, [pc, #312] ; (807f46c ) 807f334: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f338: 461a mov r2, r3 807f33a: 214a movs r1, #74 ; 0x4a 807f33c: 20d6 movs r0, #214 ; 0xd6 807f33e: f7d6 fd0d bl 8055d5c LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807f342: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807f346: b2db uxtb r3, r3 807f348: 461a mov r2, r3 807f34a: 4b48 ldr r3, [pc, #288] ; (807f46c ) 807f34c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f350: 461a mov r2, r3 807f352: 214a movs r1, #74 ; 0x4a 807f354: 20e6 movs r0, #230 ; 0xe6 807f356: f7d6 fd01 bl 8055d5c LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807f35a: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807f35e: b2db uxtb r3, r3 807f360: 461a mov r2, r3 807f362: 4b42 ldr r3, [pc, #264] ; (807f46c ) 807f364: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f368: 461a mov r2, r3 807f36a: 214a movs r1, #74 ; 0x4a 807f36c: 20f6 movs r0, #246 ; 0xf6 807f36e: f7d6 fcf5 bl 8055d5c LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807f372: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807f376: b2db uxtb r3, r3 807f378: 461a mov r2, r3 807f37a: 4b3c ldr r3, [pc, #240] ; (807f46c ) 807f37c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f380: 461a mov r2, r3 807f382: 214a movs r1, #74 ; 0x4a 807f384: f44f 7083 mov.w r0, #262 ; 0x106 807f388: f7d6 fce8 bl 8055d5c LCD_DisplayString(278, LCD_LINE_4, "."); 807f38c: 4a39 ldr r2, [pc, #228] ; (807f474 ) 807f38e: 214a movs r1, #74 ; 0x4a 807f390: f44f 708b mov.w r0, #278 ; 0x116 807f394: f7d6 fce2 bl 8055d5c if(menupos == VibMax_IDT) 807f398: 4b31 ldr r3, [pc, #196] ; (807f460 ) 807f39a: 781b ldrb r3, [r3, #0] 807f39c: b2db uxtb r3, r3 807f39e: 2b0b cmp r3, #11 807f3a0: d16a bne.n 807f478 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f3a2: 4930 ldr r1, [pc, #192] ; (807f464 ) 807f3a4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f3a8: f7d5 ff30 bl 805520c if(blk) 807f3ac: 4b2e ldr r3, [pc, #184] ; (807f468 ) 807f3ae: 681b ldr r3, [r3, #0] 807f3b0: 2b00 cmp r3, #0 807f3b2: d00b beq.n 807f3cc LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807f3b4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807f3b8: b2db uxtb r3, r3 807f3ba: 461a mov r2, r3 807f3bc: 4b2b ldr r3, [pc, #172] ; (807f46c ) 807f3be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f3c2: 461a mov r2, r3 807f3c4: 21ca movs r1, #202 ; 0xca 807f3c6: 20c6 movs r0, #198 ; 0xc6 807f3c8: f7d6 fcc8 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f3cc: 4925 ldr r1, [pc, #148] ; (807f464 ) 807f3ce: 4828 ldr r0, [pc, #160] ; (807f470 ) 807f3d0: f7d5 ff1c bl 805520c LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807f3d4: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807f3d8: b2db uxtb r3, r3 807f3da: 461a mov r2, r3 807f3dc: 4b23 ldr r3, [pc, #140] ; (807f46c ) 807f3de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f3e2: 461a mov r2, r3 807f3e4: 21ca movs r1, #202 ; 0xca 807f3e6: 20d6 movs r0, #214 ; 0xd6 807f3e8: f7d6 fcb8 bl 8055d5c LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807f3ec: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807f3f0: b2db uxtb r3, r3 807f3f2: 461a mov r2, r3 807f3f4: 4b1d ldr r3, [pc, #116] ; (807f46c ) 807f3f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f3fa: 461a mov r2, r3 807f3fc: 21ca movs r1, #202 ; 0xca 807f3fe: 20e6 movs r0, #230 ; 0xe6 807f400: f7d6 fcac bl 8055d5c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807f404: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807f408: b2db uxtb r3, r3 807f40a: 461a mov r2, r3 807f40c: 4b17 ldr r3, [pc, #92] ; (807f46c ) 807f40e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f412: 461a mov r2, r3 807f414: 21ca movs r1, #202 ; 0xca 807f416: 20f6 movs r0, #246 ; 0xf6 807f418: f7d6 fca0 bl 8055d5c LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807f41c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807f420: b2db uxtb r3, r3 807f422: 461a mov r2, r3 807f424: 4b11 ldr r3, [pc, #68] ; (807f46c ) 807f426: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f42a: 461a mov r2, r3 807f42c: 21ca movs r1, #202 ; 0xca 807f42e: f44f 7083 mov.w r0, #262 ; 0x106 807f432: f7d6 fc93 bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, "."); 807f436: 4a0f ldr r2, [pc, #60] ; (807f474 ) 807f438: 21ca movs r1, #202 ; 0xca 807f43a: f44f 708b mov.w r0, #278 ; 0x116 807f43e: f7d6 fc8d bl 8055d5c LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807f442: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807f446: b2db uxtb r3, r3 807f448: 461a mov r2, r3 807f44a: 4b08 ldr r3, [pc, #32] ; (807f46c ) 807f44c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f450: 461a mov r2, r3 807f452: 21ca movs r1, #202 ; 0xca 807f454: f44f 7093 mov.w r0, #294 ; 0x126 807f458: f7d6 fc80 bl 8055d5c 807f45c: e206 b.n 807f86c 807f45e: bf00 nop 807f460: 20020070 .word 0x20020070 807f464: ff0a0f1f .word 0xff0a0f1f 807f468: 200216ac .word 0x200216ac 807f46c: 2002096c .word 0x2002096c 807f470: ffd8aa57 .word 0xffd8aa57 807f474: 080d6258 .word 0x080d6258 } else if(menupos == VibMax_IET) 807f478: 4bc5 ldr r3, [pc, #788] ; (807f790 ) 807f47a: 781b ldrb r3, [r3, #0] 807f47c: b2db uxtb r3, r3 807f47e: 2b0c cmp r3, #12 807f480: d15d bne.n 807f53e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f482: 49c4 ldr r1, [pc, #784] ; (807f794 ) 807f484: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f488: f7d5 fec0 bl 805520c if(blk) 807f48c: 4bc2 ldr r3, [pc, #776] ; (807f798 ) 807f48e: 681b ldr r3, [r3, #0] 807f490: 2b00 cmp r3, #0 807f492: d00b beq.n 807f4ac LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807f494: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807f498: b2db uxtb r3, r3 807f49a: 461a mov r2, r3 807f49c: 4bbf ldr r3, [pc, #764] ; (807f79c ) 807f49e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f4a2: 461a mov r2, r3 807f4a4: 21ca movs r1, #202 ; 0xca 807f4a6: 20d6 movs r0, #214 ; 0xd6 807f4a8: f7d6 fc58 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f4ac: 49b9 ldr r1, [pc, #740] ; (807f794 ) 807f4ae: 48bc ldr r0, [pc, #752] ; (807f7a0 ) 807f4b0: f7d5 feac bl 805520c LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807f4b4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807f4b8: b2db uxtb r3, r3 807f4ba: 461a mov r2, r3 807f4bc: 4bb7 ldr r3, [pc, #732] ; (807f79c ) 807f4be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f4c2: 461a mov r2, r3 807f4c4: 21ca movs r1, #202 ; 0xca 807f4c6: 20c6 movs r0, #198 ; 0xc6 807f4c8: f7d6 fc48 bl 8055d5c LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807f4cc: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807f4d0: b2db uxtb r3, r3 807f4d2: 461a mov r2, r3 807f4d4: 4bb1 ldr r3, [pc, #708] ; (807f79c ) 807f4d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f4da: 461a mov r2, r3 807f4dc: 21ca movs r1, #202 ; 0xca 807f4de: 20e6 movs r0, #230 ; 0xe6 807f4e0: f7d6 fc3c bl 8055d5c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807f4e4: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807f4e8: b2db uxtb r3, r3 807f4ea: 461a mov r2, r3 807f4ec: 4bab ldr r3, [pc, #684] ; (807f79c ) 807f4ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f4f2: 461a mov r2, r3 807f4f4: 21ca movs r1, #202 ; 0xca 807f4f6: 20f6 movs r0, #246 ; 0xf6 807f4f8: f7d6 fc30 bl 8055d5c LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807f4fc: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807f500: b2db uxtb r3, r3 807f502: 461a mov r2, r3 807f504: 4ba5 ldr r3, [pc, #660] ; (807f79c ) 807f506: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f50a: 461a mov r2, r3 807f50c: 21ca movs r1, #202 ; 0xca 807f50e: f44f 7083 mov.w r0, #262 ; 0x106 807f512: f7d6 fc23 bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, "."); 807f516: 4aa3 ldr r2, [pc, #652] ; (807f7a4 ) 807f518: 21ca movs r1, #202 ; 0xca 807f51a: f44f 708b mov.w r0, #278 ; 0x116 807f51e: f7d6 fc1d bl 8055d5c LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807f522: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807f526: b2db uxtb r3, r3 807f528: 461a mov r2, r3 807f52a: 4b9c ldr r3, [pc, #624] ; (807f79c ) 807f52c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f530: 461a mov r2, r3 807f532: 21ca movs r1, #202 ; 0xca 807f534: f44f 7093 mov.w r0, #294 ; 0x126 807f538: f7d6 fc10 bl 8055d5c 807f53c: e196 b.n 807f86c } else if(menupos == VibMax_IES) 807f53e: 4b94 ldr r3, [pc, #592] ; (807f790 ) 807f540: 781b ldrb r3, [r3, #0] 807f542: b2db uxtb r3, r3 807f544: 2b0d cmp r3, #13 807f546: d15d bne.n 807f604 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f548: 4992 ldr r1, [pc, #584] ; (807f794 ) 807f54a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f54e: f7d5 fe5d bl 805520c if(blk) 807f552: 4b91 ldr r3, [pc, #580] ; (807f798 ) 807f554: 681b ldr r3, [r3, #0] 807f556: 2b00 cmp r3, #0 807f558: d00b beq.n 807f572 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807f55a: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807f55e: b2db uxtb r3, r3 807f560: 461a mov r2, r3 807f562: 4b8e ldr r3, [pc, #568] ; (807f79c ) 807f564: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f568: 461a mov r2, r3 807f56a: 21ca movs r1, #202 ; 0xca 807f56c: 20e6 movs r0, #230 ; 0xe6 807f56e: f7d6 fbf5 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f572: 4988 ldr r1, [pc, #544] ; (807f794 ) 807f574: 488a ldr r0, [pc, #552] ; (807f7a0 ) 807f576: f7d5 fe49 bl 805520c LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807f57a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807f57e: b2db uxtb r3, r3 807f580: 461a mov r2, r3 807f582: 4b86 ldr r3, [pc, #536] ; (807f79c ) 807f584: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f588: 461a mov r2, r3 807f58a: 21ca movs r1, #202 ; 0xca 807f58c: 20c6 movs r0, #198 ; 0xc6 807f58e: f7d6 fbe5 bl 8055d5c LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807f592: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807f596: b2db uxtb r3, r3 807f598: 461a mov r2, r3 807f59a: 4b80 ldr r3, [pc, #512] ; (807f79c ) 807f59c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f5a0: 461a mov r2, r3 807f5a2: 21ca movs r1, #202 ; 0xca 807f5a4: 20d6 movs r0, #214 ; 0xd6 807f5a6: f7d6 fbd9 bl 8055d5c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807f5aa: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807f5ae: b2db uxtb r3, r3 807f5b0: 461a mov r2, r3 807f5b2: 4b7a ldr r3, [pc, #488] ; (807f79c ) 807f5b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f5b8: 461a mov r2, r3 807f5ba: 21ca movs r1, #202 ; 0xca 807f5bc: 20f6 movs r0, #246 ; 0xf6 807f5be: f7d6 fbcd bl 8055d5c LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807f5c2: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807f5c6: b2db uxtb r3, r3 807f5c8: 461a mov r2, r3 807f5ca: 4b74 ldr r3, [pc, #464] ; (807f79c ) 807f5cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f5d0: 461a mov r2, r3 807f5d2: 21ca movs r1, #202 ; 0xca 807f5d4: f44f 7083 mov.w r0, #262 ; 0x106 807f5d8: f7d6 fbc0 bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, "."); 807f5dc: 4a71 ldr r2, [pc, #452] ; (807f7a4 ) 807f5de: 21ca movs r1, #202 ; 0xca 807f5e0: f44f 708b mov.w r0, #278 ; 0x116 807f5e4: f7d6 fbba bl 8055d5c LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807f5e8: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807f5ec: b2db uxtb r3, r3 807f5ee: 461a mov r2, r3 807f5f0: 4b6a ldr r3, [pc, #424] ; (807f79c ) 807f5f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f5f6: 461a mov r2, r3 807f5f8: 21ca movs r1, #202 ; 0xca 807f5fa: f44f 7093 mov.w r0, #294 ; 0x126 807f5fe: f7d6 fbad bl 8055d5c 807f602: e133 b.n 807f86c } else if(menupos == VibMax_IED) 807f604: 4b62 ldr r3, [pc, #392] ; (807f790 ) 807f606: 781b ldrb r3, [r3, #0] 807f608: b2db uxtb r3, r3 807f60a: 2b0e cmp r3, #14 807f60c: d15d bne.n 807f6ca { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f60e: 4961 ldr r1, [pc, #388] ; (807f794 ) 807f610: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f614: f7d5 fdfa bl 805520c if(blk) 807f618: 4b5f ldr r3, [pc, #380] ; (807f798 ) 807f61a: 681b ldr r3, [r3, #0] 807f61c: 2b00 cmp r3, #0 807f61e: d00b beq.n 807f638 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807f620: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807f624: b2db uxtb r3, r3 807f626: 461a mov r2, r3 807f628: 4b5c ldr r3, [pc, #368] ; (807f79c ) 807f62a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f62e: 461a mov r2, r3 807f630: 21ca movs r1, #202 ; 0xca 807f632: 20f6 movs r0, #246 ; 0xf6 807f634: f7d6 fb92 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f638: 4956 ldr r1, [pc, #344] ; (807f794 ) 807f63a: 4859 ldr r0, [pc, #356] ; (807f7a0 ) 807f63c: f7d5 fde6 bl 805520c LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807f640: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807f644: b2db uxtb r3, r3 807f646: 461a mov r2, r3 807f648: 4b54 ldr r3, [pc, #336] ; (807f79c ) 807f64a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f64e: 461a mov r2, r3 807f650: 21ca movs r1, #202 ; 0xca 807f652: 20c6 movs r0, #198 ; 0xc6 807f654: f7d6 fb82 bl 8055d5c LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807f658: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807f65c: b2db uxtb r3, r3 807f65e: 461a mov r2, r3 807f660: 4b4e ldr r3, [pc, #312] ; (807f79c ) 807f662: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f666: 461a mov r2, r3 807f668: 21ca movs r1, #202 ; 0xca 807f66a: 20d6 movs r0, #214 ; 0xd6 807f66c: f7d6 fb76 bl 8055d5c LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807f670: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807f674: b2db uxtb r3, r3 807f676: 461a mov r2, r3 807f678: 4b48 ldr r3, [pc, #288] ; (807f79c ) 807f67a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f67e: 461a mov r2, r3 807f680: 21ca movs r1, #202 ; 0xca 807f682: 20e6 movs r0, #230 ; 0xe6 807f684: f7d6 fb6a bl 8055d5c LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807f688: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807f68c: b2db uxtb r3, r3 807f68e: 461a mov r2, r3 807f690: 4b42 ldr r3, [pc, #264] ; (807f79c ) 807f692: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f696: 461a mov r2, r3 807f698: 21ca movs r1, #202 ; 0xca 807f69a: f44f 7083 mov.w r0, #262 ; 0x106 807f69e: f7d6 fb5d bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, "."); 807f6a2: 4a40 ldr r2, [pc, #256] ; (807f7a4 ) 807f6a4: 21ca movs r1, #202 ; 0xca 807f6a6: f44f 708b mov.w r0, #278 ; 0x116 807f6aa: f7d6 fb57 bl 8055d5c LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807f6ae: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807f6b2: b2db uxtb r3, r3 807f6b4: 461a mov r2, r3 807f6b6: 4b39 ldr r3, [pc, #228] ; (807f79c ) 807f6b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f6bc: 461a mov r2, r3 807f6be: 21ca movs r1, #202 ; 0xca 807f6c0: f44f 7093 mov.w r0, #294 ; 0x126 807f6c4: f7d6 fb4a bl 8055d5c 807f6c8: e0d0 b.n 807f86c } else if(menupos == VibMax_IEE) 807f6ca: 4b31 ldr r3, [pc, #196] ; (807f790 ) 807f6cc: 781b ldrb r3, [r3, #0] 807f6ce: b2db uxtb r3, r3 807f6d0: 2b0f cmp r3, #15 807f6d2: d169 bne.n 807f7a8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f6d4: 492f ldr r1, [pc, #188] ; (807f794 ) 807f6d6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f6da: f7d5 fd97 bl 805520c if(blk) 807f6de: 4b2e ldr r3, [pc, #184] ; (807f798 ) 807f6e0: 681b ldr r3, [r3, #0] 807f6e2: 2b00 cmp r3, #0 807f6e4: d00c beq.n 807f700 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807f6e6: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807f6ea: b2db uxtb r3, r3 807f6ec: 461a mov r2, r3 807f6ee: 4b2b ldr r3, [pc, #172] ; (807f79c ) 807f6f0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f6f4: 461a mov r2, r3 807f6f6: 21ca movs r1, #202 ; 0xca 807f6f8: f44f 7083 mov.w r0, #262 ; 0x106 807f6fc: f7d6 fb2e bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f700: 4924 ldr r1, [pc, #144] ; (807f794 ) 807f702: 4827 ldr r0, [pc, #156] ; (807f7a0 ) 807f704: f7d5 fd82 bl 805520c LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807f708: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807f70c: b2db uxtb r3, r3 807f70e: 461a mov r2, r3 807f710: 4b22 ldr r3, [pc, #136] ; (807f79c ) 807f712: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f716: 461a mov r2, r3 807f718: 21ca movs r1, #202 ; 0xca 807f71a: 20c6 movs r0, #198 ; 0xc6 807f71c: f7d6 fb1e bl 8055d5c LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807f720: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807f724: b2db uxtb r3, r3 807f726: 461a mov r2, r3 807f728: 4b1c ldr r3, [pc, #112] ; (807f79c ) 807f72a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f72e: 461a mov r2, r3 807f730: 21ca movs r1, #202 ; 0xca 807f732: 20d6 movs r0, #214 ; 0xd6 807f734: f7d6 fb12 bl 8055d5c LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807f738: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807f73c: b2db uxtb r3, r3 807f73e: 461a mov r2, r3 807f740: 4b16 ldr r3, [pc, #88] ; (807f79c ) 807f742: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f746: 461a mov r2, r3 807f748: 21ca movs r1, #202 ; 0xca 807f74a: 20e6 movs r0, #230 ; 0xe6 807f74c: f7d6 fb06 bl 8055d5c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807f750: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807f754: b2db uxtb r3, r3 807f756: 461a mov r2, r3 807f758: 4b10 ldr r3, [pc, #64] ; (807f79c ) 807f75a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f75e: 461a mov r2, r3 807f760: 21ca movs r1, #202 ; 0xca 807f762: 20f6 movs r0, #246 ; 0xf6 807f764: f7d6 fafa bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, "."); 807f768: 4a0e ldr r2, [pc, #56] ; (807f7a4 ) 807f76a: 21ca movs r1, #202 ; 0xca 807f76c: f44f 708b mov.w r0, #278 ; 0x116 807f770: f7d6 faf4 bl 8055d5c LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807f774: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807f778: b2db uxtb r3, r3 807f77a: 461a mov r2, r3 807f77c: 4b07 ldr r3, [pc, #28] ; (807f79c ) 807f77e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f782: 461a mov r2, r3 807f784: 21ca movs r1, #202 ; 0xca 807f786: f44f 7093 mov.w r0, #294 ; 0x126 807f78a: f7d6 fae7 bl 8055d5c 807f78e: e06d b.n 807f86c 807f790: 20020070 .word 0x20020070 807f794: ff0a0f1f .word 0xff0a0f1f 807f798: 200216ac .word 0x200216ac 807f79c: 2002096c .word 0x2002096c 807f7a0: ffd8aa57 .word 0xffd8aa57 807f7a4: 080d6258 .word 0x080d6258 } else if(menupos == VibMax_IKD) 807f7a8: 4b4d ldr r3, [pc, #308] ; (807f8e0 ) 807f7aa: 781b ldrb r3, [r3, #0] 807f7ac: b2db uxtb r3, r3 807f7ae: 2b10 cmp r3, #16 807f7b0: d15c bne.n 807f86c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f7b2: 494c ldr r1, [pc, #304] ; (807f8e4 ) 807f7b4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f7b8: f7d5 fd28 bl 805520c if(blk) 807f7bc: 4b4a ldr r3, [pc, #296] ; (807f8e8 ) 807f7be: 681b ldr r3, [r3, #0] 807f7c0: 2b00 cmp r3, #0 807f7c2: d00c beq.n 807f7de LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807f7c4: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807f7c8: b2db uxtb r3, r3 807f7ca: 461a mov r2, r3 807f7cc: 4b47 ldr r3, [pc, #284] ; (807f8ec ) 807f7ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f7d2: 461a mov r2, r3 807f7d4: 21ca movs r1, #202 ; 0xca 807f7d6: f44f 7093 mov.w r0, #294 ; 0x126 807f7da: f7d6 fabf bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f7de: 4941 ldr r1, [pc, #260] ; (807f8e4 ) 807f7e0: 4843 ldr r0, [pc, #268] ; (807f8f0 ) 807f7e2: f7d5 fd13 bl 805520c LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807f7e6: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807f7ea: b2db uxtb r3, r3 807f7ec: 461a mov r2, r3 807f7ee: 4b3f ldr r3, [pc, #252] ; (807f8ec ) 807f7f0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f7f4: 461a mov r2, r3 807f7f6: 21ca movs r1, #202 ; 0xca 807f7f8: 20c6 movs r0, #198 ; 0xc6 807f7fa: f7d6 faaf bl 8055d5c LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807f7fe: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807f802: b2db uxtb r3, r3 807f804: 461a mov r2, r3 807f806: 4b39 ldr r3, [pc, #228] ; (807f8ec ) 807f808: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f80c: 461a mov r2, r3 807f80e: 21ca movs r1, #202 ; 0xca 807f810: 20d6 movs r0, #214 ; 0xd6 807f812: f7d6 faa3 bl 8055d5c LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807f816: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807f81a: b2db uxtb r3, r3 807f81c: 461a mov r2, r3 807f81e: 4b33 ldr r3, [pc, #204] ; (807f8ec ) 807f820: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f824: 461a mov r2, r3 807f826: 21ca movs r1, #202 ; 0xca 807f828: 20e6 movs r0, #230 ; 0xe6 807f82a: f7d6 fa97 bl 8055d5c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807f82e: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807f832: b2db uxtb r3, r3 807f834: 461a mov r2, r3 807f836: 4b2d ldr r3, [pc, #180] ; (807f8ec ) 807f838: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f83c: 461a mov r2, r3 807f83e: 21ca movs r1, #202 ; 0xca 807f840: 20f6 movs r0, #246 ; 0xf6 807f842: f7d6 fa8b bl 8055d5c LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807f846: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807f84a: b2db uxtb r3, r3 807f84c: 461a mov r2, r3 807f84e: 4b27 ldr r3, [pc, #156] ; (807f8ec ) 807f850: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f854: 461a mov r2, r3 807f856: 21ca movs r1, #202 ; 0xca 807f858: f44f 7083 mov.w r0, #262 ; 0x106 807f85c: f7d6 fa7e bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, "."); 807f860: 4a24 ldr r2, [pc, #144] ; (807f8f4 ) 807f862: 21ca movs r1, #202 ; 0xca 807f864: f44f 708b mov.w r0, #278 ; 0x116 807f868: f7d6 fa78 bl 8055d5c } } if(pardata.OPTIONS & BIT0) // Åñëè Ìåäèàíà âêë 807f86c: 4b22 ldr r3, [pc, #136] ; (807f8f8 ) 807f86e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807f872: f003 0301 and.w r3, r3, #1 807f876: 2b00 cmp r3, #0 807f878: d00a beq.n 807f890 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 807f87a: 491a ldr r1, [pc, #104] ; (807f8e4 ) 807f87c: 481f ldr r0, [pc, #124] ; (807f8fc ) 807f87e: f7d5 fcc5 bl 805520c BSP_LCD_FillRect(257, 159, 6, 6); 807f882: 2306 movs r3, #6 807f884: 2206 movs r2, #6 807f886: 219f movs r1, #159 ; 0x9f 807f888: f240 1001 movw r0, #257 ; 0x101 807f88c: f7d6 f94c bl 8055b28 /*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) // Åñëè àâòîóñèëåíèå 807f890: 4b19 ldr r3, [pc, #100] ; (807f8f8 ) 807f892: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807f896: f003 0304 and.w r3, r3, #4 807f89a: 2b00 cmp r3, #0 807f89c: d00a beq.n 807f8b4 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 807f89e: 4911 ldr r1, [pc, #68] ; (807f8e4 ) 807f8a0: 4816 ldr r0, [pc, #88] ; (807f8fc ) 807f8a2: f7d5 fcb3 bl 805520c BSP_LCD_FillRect(257, 191, 6, 6); 807f8a6: 2306 movs r3, #6 807f8a8: 2206 movs r2, #6 807f8aa: 21bf movs r1, #191 ; 0xbf 807f8ac: f240 1001 movw r0, #257 ; 0x101 807f8b0: f7d6 f93a bl 8055b28 /*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) // Åñëè îòîáðàæàòü ÷àñòîòó 807f8b4: 4b10 ldr r3, [pc, #64] ; (807f8f8 ) 807f8b6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807f8ba: f003 0308 and.w r3, r3, #8 807f8be: 2b00 cmp r3, #0 807f8c0: f019 8499 beq.w 80991f6 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 807f8c4: 4907 ldr r1, [pc, #28] ; (807f8e4 ) 807f8c6: 480d ldr r0, [pc, #52] ; (807f8fc ) 807f8c8: f7d5 fca0 bl 805520c BSP_LCD_FillRect(257, 175, 6, 6); 807f8cc: 2306 movs r3, #6 807f8ce: 2206 movs r2, #6 807f8d0: 21af movs r1, #175 ; 0xaf 807f8d2: f240 1001 movw r0, #257 ; 0x101 807f8d6: f7d6 f927 bl 8055b28 BSP_LCD_DrawLine(256, 177, 259, 182); BSP_LCD_DrawLine(260, 182, 264, 174); BSP_LCD_DrawLine(259, 182, 263, 174);*/ } break; 807f8da: f019 bc8c b.w 80991f6 807f8de: bf00 nop 807f8e0: 20020070 .word 0x20020070 807f8e4: ff0a0f1f .word 0xff0a0f1f 807f8e8: 200216ac .word 0x200216ac 807f8ec: 2002096c .word 0x2002096c 807f8f0: ffd8aa57 .word 0xffd8aa57 807f8f4: 080d6258 .word 0x080d6258 807f8f8: 20023eb8 .word 0x20023eb8 807f8fc: ff404040 .word 0xff404040 case PARAM_UDAR: //TODO PARAM UDAR LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807f900: 49d2 ldr r1, [pc, #840] ; (807fc4c ) 807f902: 48d3 ldr r0, [pc, #844] ; (807fc50 ) 807f904: f7d5 fc82 bl 805520c BSP_LCD_DrawRect(2, 35, 314, 201); 807f908: 23c9 movs r3, #201 ; 0xc9 807f90a: f44f 729d mov.w r2, #314 ; 0x13a 807f90e: 2123 movs r1, #35 ; 0x23 807f910: 2002 movs r0, #2 807f912: f7d5 ff81 bl 8055818 str[i++] = ied2 + 48; str[i++] = iee2 + 48; str[i++] = '.'; str[i++] = ikd2 + 48;*/ ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_INNER * 1000.0f); 807f916: 4bcf ldr r3, [pc, #828] ; (807fc54 ) 807f918: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 807f91c: ed9f 7ace vldr s14, [pc, #824] ; 807fc58 807f920: ee67 7a87 vmul.f32 s15, s15, s14 807f924: eefc 7ae7 vcvt.u32.f32 s15, s15 807f928: ee17 3a90 vmov r3, s15 807f92c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 inner_ies = k / 100000; 807f930: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f934: 095b lsrs r3, r3, #5 807f936: 4ac9 ldr r2, [pc, #804] ; (807fc5c ) 807f938: fba2 2303 umull r2, r3, r2, r3 807f93c: 09db lsrs r3, r3, #7 807f93e: b2db uxtb r3, r3 807f940: f887 33a3 strb.w r3, [r7, #931] ; 0x3a3 inner_ied = k % 100000 / 10000; 807f944: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f948: 0953 lsrs r3, r2, #5 807f94a: 49c4 ldr r1, [pc, #784] ; (807fc5c ) 807f94c: fba1 1303 umull r1, r3, r1, r3 807f950: 09db lsrs r3, r3, #7 807f952: 49c3 ldr r1, [pc, #780] ; (807fc60 ) 807f954: fb01 f303 mul.w r3, r1, r3 807f958: 1ad3 subs r3, r2, r3 807f95a: 4ac2 ldr r2, [pc, #776] ; (807fc64 ) 807f95c: fba2 2303 umull r2, r3, r2, r3 807f960: 0b5b lsrs r3, r3, #13 807f962: b2db uxtb r3, r3 807f964: f887 33a2 strb.w r3, [r7, #930] ; 0x3a2 inner_iee = k % 100000 % 10000 / 1000; 807f968: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f96c: 0953 lsrs r3, r2, #5 807f96e: 49bb ldr r1, [pc, #748] ; (807fc5c ) 807f970: fba1 1303 umull r1, r3, r1, r3 807f974: 09db lsrs r3, r3, #7 807f976: 49ba ldr r1, [pc, #744] ; (807fc60 ) 807f978: fb01 f303 mul.w r3, r1, r3 807f97c: 1ad3 subs r3, r2, r3 807f97e: 4ab9 ldr r2, [pc, #740] ; (807fc64 ) 807f980: fba2 1203 umull r1, r2, r2, r3 807f984: 0b52 lsrs r2, r2, #13 807f986: f242 7110 movw r1, #10000 ; 0x2710 807f98a: fb01 f202 mul.w r2, r1, r2 807f98e: 1a9a subs r2, r3, r2 807f990: 4bb5 ldr r3, [pc, #724] ; (807fc68 ) 807f992: fba3 2302 umull r2, r3, r3, r2 807f996: 099b lsrs r3, r3, #6 807f998: b2db uxtb r3, r3 807f99a: f887 33a1 strb.w r3, [r7, #929] ; 0x3a1 inner_ikd = k % 100000 % 10000 % 1000 / 100; 807f99e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f9a2: 095a lsrs r2, r3, #5 807f9a4: 49ad ldr r1, [pc, #692] ; (807fc5c ) 807f9a6: fba1 1202 umull r1, r2, r1, r2 807f9aa: 09d2 lsrs r2, r2, #7 807f9ac: 49ac ldr r1, [pc, #688] ; (807fc60 ) 807f9ae: fb01 f202 mul.w r2, r1, r2 807f9b2: 1a9a subs r2, r3, r2 807f9b4: 4bab ldr r3, [pc, #684] ; (807fc64 ) 807f9b6: fba3 1302 umull r1, r3, r3, r2 807f9ba: 0b5b lsrs r3, r3, #13 807f9bc: f242 7110 movw r1, #10000 ; 0x2710 807f9c0: fb01 f303 mul.w r3, r1, r3 807f9c4: 1ad3 subs r3, r2, r3 807f9c6: 4aa8 ldr r2, [pc, #672] ; (807fc68 ) 807f9c8: fba2 1203 umull r1, r2, r2, r3 807f9cc: 0992 lsrs r2, r2, #6 807f9ce: f44f 717a mov.w r1, #1000 ; 0x3e8 807f9d2: fb01 f202 mul.w r2, r1, r2 807f9d6: 1a9a subs r2, r3, r2 807f9d8: 4ba4 ldr r3, [pc, #656] ; (807fc6c ) 807f9da: fba3 2302 umull r2, r3, r3, r2 807f9de: 095b lsrs r3, r3, #5 807f9e0: b2db uxtb r3, r3 807f9e2: f887 33a0 strb.w r3, [r7, #928] ; 0x3a0 inner_iks = k % 100000 % 10000 % 1000 % 100 / 10; 807f9e6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f9ea: 0953 lsrs r3, r2, #5 807f9ec: 499b ldr r1, [pc, #620] ; (807fc5c ) 807f9ee: fba1 1303 umull r1, r3, r1, r3 807f9f2: 09db lsrs r3, r3, #7 807f9f4: 499a ldr r1, [pc, #616] ; (807fc60 ) 807f9f6: fb01 f303 mul.w r3, r1, r3 807f9fa: 1ad3 subs r3, r2, r3 807f9fc: 4a99 ldr r2, [pc, #612] ; (807fc64 ) 807f9fe: fba2 1203 umull r1, r2, r2, r3 807fa02: 0b52 lsrs r2, r2, #13 807fa04: f242 7110 movw r1, #10000 ; 0x2710 807fa08: fb01 f202 mul.w r2, r1, r2 807fa0c: 1a9a subs r2, r3, r2 807fa0e: 4b96 ldr r3, [pc, #600] ; (807fc68 ) 807fa10: fba3 1302 umull r1, r3, r3, r2 807fa14: 099b lsrs r3, r3, #6 807fa16: f44f 717a mov.w r1, #1000 ; 0x3e8 807fa1a: fb01 f303 mul.w r3, r1, r3 807fa1e: 1ad3 subs r3, r2, r3 807fa20: 4a92 ldr r2, [pc, #584] ; (807fc6c ) 807fa22: fba2 1203 umull r1, r2, r2, r3 807fa26: 0952 lsrs r2, r2, #5 807fa28: 2164 movs r1, #100 ; 0x64 807fa2a: fb01 f202 mul.w r2, r1, r2 807fa2e: 1a9a subs r2, r3, r2 807fa30: 4b8f ldr r3, [pc, #572] ; (807fc70 ) 807fa32: fba3 2302 umull r2, r3, r3, r2 807fa36: 08db lsrs r3, r3, #3 807fa38: b2db uxtb r3, r3 807fa3a: f887 339f strb.w r3, [r7, #927] ; 0x39f inner_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 807fa3e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807fa42: 0953 lsrs r3, r2, #5 807fa44: 4985 ldr r1, [pc, #532] ; (807fc5c ) 807fa46: fba1 1303 umull r1, r3, r1, r3 807fa4a: 09db lsrs r3, r3, #7 807fa4c: 4984 ldr r1, [pc, #528] ; (807fc60 ) 807fa4e: fb01 f303 mul.w r3, r1, r3 807fa52: 1ad3 subs r3, r2, r3 807fa54: 4a83 ldr r2, [pc, #524] ; (807fc64 ) 807fa56: fba2 1203 umull r1, r2, r2, r3 807fa5a: 0b52 lsrs r2, r2, #13 807fa5c: f242 7110 movw r1, #10000 ; 0x2710 807fa60: fb01 f202 mul.w r2, r1, r2 807fa64: 1a9a subs r2, r3, r2 807fa66: 4b80 ldr r3, [pc, #512] ; (807fc68 ) 807fa68: fba3 1302 umull r1, r3, r3, r2 807fa6c: 099b lsrs r3, r3, #6 807fa6e: f44f 717a mov.w r1, #1000 ; 0x3e8 807fa72: fb01 f303 mul.w r3, r1, r3 807fa76: 1ad3 subs r3, r2, r3 807fa78: 4a7c ldr r2, [pc, #496] ; (807fc6c ) 807fa7a: fba2 1203 umull r1, r2, r2, r3 807fa7e: 0952 lsrs r2, r2, #5 807fa80: 2164 movs r1, #100 ; 0x64 807fa82: fb01 f202 mul.w r2, r1, r2 807fa86: 1a9a subs r2, r3, r2 807fa88: 4b79 ldr r3, [pc, #484] ; (807fc70 ) 807fa8a: fba3 1302 umull r1, r3, r3, r2 807fa8e: 08d9 lsrs r1, r3, #3 807fa90: 460b mov r3, r1 807fa92: 009b lsls r3, r3, #2 807fa94: 440b add r3, r1 807fa96: 005b lsls r3, r3, #1 807fa98: 1ad1 subs r1, r2, r3 807fa9a: b2cb uxtb r3, r1 807fa9c: f887 339e strb.w r3, [r7, #926] ; 0x39e i = 0; 807faa0: 2300 movs r3, #0 807faa2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_inner, 0, sizeof(str_inner)); 807faa6: f507 7354 add.w r3, r7, #848 ; 0x350 807faaa: 2214 movs r2, #20 807faac: 2100 movs r1, #0 807faae: 4618 mov r0, r3 807fab0: f052 fa78 bl 80d1fa4 if(inner_ies != 0) 807fab4: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807fab8: b2db uxtb r3, r3 807faba: 2b00 cmp r3, #0 807fabc: d00c beq.n 807fad8 str_inner[i++] = inner_ies + 48; 807fabe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807fac2: 1c5a adds r2, r3, #1 807fac4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807fac8: f897 23a3 ldrb.w r2, [r7, #931] ; 0x3a3 807facc: b2d2 uxtb r2, r2 807face: 3230 adds r2, #48 ; 0x30 807fad0: b2d1 uxtb r1, r2 807fad2: f507 7254 add.w r2, r7, #848 ; 0x350 807fad6: 54d1 strb r1, [r2, r3] if((inner_ies != 0) || (inner_ied != 0)) 807fad8: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807fadc: b2db uxtb r3, r3 807fade: 2b00 cmp r3, #0 807fae0: d104 bne.n 807faec 807fae2: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807fae6: b2db uxtb r3, r3 807fae8: 2b00 cmp r3, #0 807faea: d00c beq.n 807fb06 str_inner[i++] = inner_ied + 48; 807faec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807faf0: 1c5a adds r2, r3, #1 807faf2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807faf6: f897 23a2 ldrb.w r2, [r7, #930] ; 0x3a2 807fafa: b2d2 uxtb r2, r2 807fafc: 3230 adds r2, #48 ; 0x30 807fafe: b2d1 uxtb r1, r2 807fb00: f507 7254 add.w r2, r7, #848 ; 0x350 807fb04: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_iee + 48; 807fb06: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807fb0a: 1c5a adds r2, r3, #1 807fb0c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807fb10: f897 23a1 ldrb.w r2, [r7, #929] ; 0x3a1 807fb14: b2d2 uxtb r2, r2 807fb16: 3230 adds r2, #48 ; 0x30 807fb18: b2d1 uxtb r1, r2 807fb1a: f507 7254 add.w r2, r7, #848 ; 0x350 807fb1e: 54d1 strb r1, [r2, r3] str_inner[i++] = '.'; 807fb20: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807fb24: 1c5a adds r2, r3, #1 807fb26: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807fb2a: f507 7254 add.w r2, r7, #848 ; 0x350 807fb2e: 212e movs r1, #46 ; 0x2e 807fb30: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_ikd + 48; 807fb32: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807fb36: 1c5a adds r2, r3, #1 807fb38: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807fb3c: f897 23a0 ldrb.w r2, [r7, #928] ; 0x3a0 807fb40: b2d2 uxtb r2, r2 807fb42: 3230 adds r2, #48 ; 0x30 807fb44: b2d1 uxtb r1, r2 807fb46: f507 7254 add.w r2, r7, #848 ; 0x350 807fb4a: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_iks + 48; 807fb4c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807fb50: 1c5a adds r2, r3, #1 807fb52: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807fb56: f897 239f ldrb.w r2, [r7, #927] ; 0x39f 807fb5a: b2d2 uxtb r2, r2 807fb5c: 3230 adds r2, #48 ; 0x30 807fb5e: b2d1 uxtb r1, r2 807fb60: f507 7254 add.w r2, r7, #848 ; 0x350 807fb64: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_ikt + 48; 807fb66: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807fb6a: 1c5a adds r2, r3, #1 807fb6c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807fb70: f897 239e ldrb.w r2, [r7, #926] ; 0x39e 807fb74: b2d2 uxtb r2, r2 807fb76: 3230 adds r2, #48 ; 0x30 807fb78: b2d1 uxtb r1, r2 807fb7a: f507 7254 add.w r2, r7, #848 ; 0x350 807fb7e: 54d1 strb r1, [r2, r3] ////////////////////////////////////////////////////////////////// k = pardata.D_RATE; 807fb80: 4b34 ldr r3, [pc, #208] ; (807fc54 ) 807fb82: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 807fb86: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 rate_iet = k / 1000; 807fb8a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807fb8e: 4a36 ldr r2, [pc, #216] ; (807fc68 ) 807fb90: fba2 2303 umull r2, r3, r2, r3 807fb94: 099b lsrs r3, r3, #6 807fb96: b2db uxtb r3, r3 807fb98: f887 3394 strb.w r3, [r7, #916] ; 0x394 rate_ies = k % 1000 / 100; 807fb9c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807fba0: 4b31 ldr r3, [pc, #196] ; (807fc68 ) 807fba2: fba3 1302 umull r1, r3, r3, r2 807fba6: 099b lsrs r3, r3, #6 807fba8: f44f 717a mov.w r1, #1000 ; 0x3e8 807fbac: fb01 f303 mul.w r3, r1, r3 807fbb0: 1ad3 subs r3, r2, r3 807fbb2: 4a2e ldr r2, [pc, #184] ; (807fc6c ) 807fbb4: fba2 2303 umull r2, r3, r2, r3 807fbb8: 095b lsrs r3, r3, #5 807fbba: b2db uxtb r3, r3 807fbbc: f887 3393 strb.w r3, [r7, #915] ; 0x393 rate_ied = k % 1000 % 100 / 10; 807fbc0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807fbc4: 4b28 ldr r3, [pc, #160] ; (807fc68 ) 807fbc6: fba3 1302 umull r1, r3, r3, r2 807fbca: 099b lsrs r3, r3, #6 807fbcc: f44f 717a mov.w r1, #1000 ; 0x3e8 807fbd0: fb01 f303 mul.w r3, r1, r3 807fbd4: 1ad3 subs r3, r2, r3 807fbd6: 4a25 ldr r2, [pc, #148] ; (807fc6c ) 807fbd8: fba2 1203 umull r1, r2, r2, r3 807fbdc: 0952 lsrs r2, r2, #5 807fbde: 2164 movs r1, #100 ; 0x64 807fbe0: fb01 f202 mul.w r2, r1, r2 807fbe4: 1a9a subs r2, r3, r2 807fbe6: 4b22 ldr r3, [pc, #136] ; (807fc70 ) 807fbe8: fba3 2302 umull r2, r3, r3, r2 807fbec: 08db lsrs r3, r3, #3 807fbee: b2db uxtb r3, r3 807fbf0: f887 3392 strb.w r3, [r7, #914] ; 0x392 rate_iee = k % 1000 % 100 % 10; 807fbf4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807fbf8: 4b1b ldr r3, [pc, #108] ; (807fc68 ) 807fbfa: fba3 1302 umull r1, r3, r3, r2 807fbfe: 099b lsrs r3, r3, #6 807fc00: f44f 717a mov.w r1, #1000 ; 0x3e8 807fc04: fb01 f303 mul.w r3, r1, r3 807fc08: 1ad3 subs r3, r2, r3 807fc0a: 4a18 ldr r2, [pc, #96] ; (807fc6c ) 807fc0c: fba2 1203 umull r1, r2, r2, r3 807fc10: 0952 lsrs r2, r2, #5 807fc12: 2164 movs r1, #100 ; 0x64 807fc14: fb01 f202 mul.w r2, r1, r2 807fc18: 1a9a subs r2, r3, r2 807fc1a: 4b15 ldr r3, [pc, #84] ; (807fc70 ) 807fc1c: fba3 1302 umull r1, r3, r3, r2 807fc20: 08d9 lsrs r1, r3, #3 807fc22: 460b mov r3, r1 807fc24: 009b lsls r3, r3, #2 807fc26: 440b add r3, r1 807fc28: 005b lsls r3, r3, #1 807fc2a: 1ad1 subs r1, r2, r3 807fc2c: b2cb uxtb r3, r1 807fc2e: f887 3391 strb.w r3, [r7, #913] ; 0x391 memset(str_rate, 0, sizeof(str_rate)); 807fc32: f507 734a add.w r3, r7, #808 ; 0x328 807fc36: 2214 movs r2, #20 807fc38: 2100 movs r1, #0 807fc3a: 4618 mov r0, r3 807fc3c: f052 f9b2 bl 80d1fa4 if(k >= 1000) 807fc40: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807fc44: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 807fc48: d335 bcc.n 807fcb6 807fc4a: e013 b.n 807fc74 807fc4c: ff0a0f1f .word 0xff0a0f1f 807fc50: ffd3d3d3 .word 0xffd3d3d3 807fc54: 20023eb8 .word 0x20023eb8 807fc58: 447a0000 .word 0x447a0000 807fc5c: 0a7c5ac5 .word 0x0a7c5ac5 807fc60: 000186a0 .word 0x000186a0 807fc64: d1b71759 .word 0xd1b71759 807fc68: 10624dd3 .word 0x10624dd3 807fc6c: 51eb851f .word 0x51eb851f 807fc70: cccccccd .word 0xcccccccd { str_rate[0] = rate_iet + 48; 807fc74: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807fc78: b2db uxtb r3, r3 807fc7a: 3330 adds r3, #48 ; 0x30 807fc7c: b2da uxtb r2, r3 807fc7e: f507 734a add.w r3, r7, #808 ; 0x328 807fc82: 701a strb r2, [r3, #0] str_rate[1] = rate_ies + 48; 807fc84: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807fc88: b2db uxtb r3, r3 807fc8a: 3330 adds r3, #48 ; 0x30 807fc8c: b2da uxtb r2, r3 807fc8e: f507 734a add.w r3, r7, #808 ; 0x328 807fc92: 705a strb r2, [r3, #1] str_rate[2] = rate_ied + 48; 807fc94: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807fc98: b2db uxtb r3, r3 807fc9a: 3330 adds r3, #48 ; 0x30 807fc9c: b2da uxtb r2, r3 807fc9e: f507 734a add.w r3, r7, #808 ; 0x328 807fca2: 709a strb r2, [r3, #2] str_rate[3] = rate_iee + 48; 807fca4: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807fca8: b2db uxtb r3, r3 807fcaa: 3330 adds r3, #48 ; 0x30 807fcac: b2da uxtb r2, r3 807fcae: f507 734a add.w r3, r7, #808 ; 0x328 807fcb2: 70da strb r2, [r3, #3] 807fcb4: e039 b.n 807fd2a } else if(k >= 100) 807fcb6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807fcba: 2b63 cmp r3, #99 ; 0x63 807fcbc: d918 bls.n 807fcf0 { str_rate[0] = rate_ies + 48; 807fcbe: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807fcc2: b2db uxtb r3, r3 807fcc4: 3330 adds r3, #48 ; 0x30 807fcc6: b2da uxtb r2, r3 807fcc8: f507 734a add.w r3, r7, #808 ; 0x328 807fccc: 701a strb r2, [r3, #0] str_rate[1] = rate_ied + 48; 807fcce: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807fcd2: b2db uxtb r3, r3 807fcd4: 3330 adds r3, #48 ; 0x30 807fcd6: b2da uxtb r2, r3 807fcd8: f507 734a add.w r3, r7, #808 ; 0x328 807fcdc: 705a strb r2, [r3, #1] str_rate[2] = rate_iee + 48; 807fcde: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807fce2: b2db uxtb r3, r3 807fce4: 3330 adds r3, #48 ; 0x30 807fce6: b2da uxtb r2, r3 807fce8: f507 734a add.w r3, r7, #808 ; 0x328 807fcec: 709a strb r2, [r3, #2] 807fcee: e01c b.n 807fd2a } else if(k >= 10) 807fcf0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807fcf4: 2b09 cmp r3, #9 807fcf6: d910 bls.n 807fd1a { str_rate[0] = rate_ied + 48; 807fcf8: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807fcfc: b2db uxtb r3, r3 807fcfe: 3330 adds r3, #48 ; 0x30 807fd00: b2da uxtb r2, r3 807fd02: f507 734a add.w r3, r7, #808 ; 0x328 807fd06: 701a strb r2, [r3, #0] str_rate[1] = rate_iee + 48; 807fd08: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807fd0c: b2db uxtb r3, r3 807fd0e: 3330 adds r3, #48 ; 0x30 807fd10: b2da uxtb r2, r3 807fd12: f507 734a add.w r3, r7, #808 ; 0x328 807fd16: 705a strb r2, [r3, #1] 807fd18: e007 b.n 807fd2a } else str_rate[0] = rate_iee + 48; 807fd1a: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807fd1e: b2db uxtb r3, r3 807fd20: 3330 adds r3, #48 ; 0x30 807fd22: b2da uxtb r2, r3 807fd24: f507 734a add.w r3, r7, #808 ; 0x328 807fd28: 701a strb r2, [r3, #0] //////////////////////////////////////////////////////////// LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807fd2a: 49c2 ldr r1, [pc, #776] ; (8080034 ) 807fd2c: f04f 30ff mov.w r0, #4294967295 807fd30: f7d5 fa6c bl 805520c LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_PARAM_UDAR[pardata.LANG][3]); //"×àñòîòà âðàù.(îá/ìèí)" 807fd34: 4bc0 ldr r3, [pc, #768] ; (8080038 ) 807fd36: 7b1b ldrb r3, [r3, #12] 807fd38: b2db uxtb r3, r3 807fd3a: 4619 mov r1, r3 807fd3c: 4abf ldr r2, [pc, #764] ; (808003c ) 807fd3e: 460b mov r3, r1 807fd40: 00db lsls r3, r3, #3 807fd42: 440b add r3, r1 807fd44: 009b lsls r3, r3, #2 807fd46: 4413 add r3, r2 807fd48: 330c adds r3, #12 807fd4a: 681b ldr r3, [r3, #0] 807fd4c: 461a mov r2, r3 807fd4e: 214a movs r1, #74 ; 0x4a 807fd50: 200a movs r0, #10 807fd52: f7d6 f803 bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_PARAM_UDAR[pardata.LANG][4]); //"Âíóòð.d (ìì)" 807fd56: 4bb8 ldr r3, [pc, #736] ; (8080038 ) 807fd58: 7b1b ldrb r3, [r3, #12] 807fd5a: b2db uxtb r3, r3 807fd5c: 4619 mov r1, r3 807fd5e: 4ab7 ldr r2, [pc, #732] ; (808003c ) 807fd60: 460b mov r3, r1 807fd62: 00db lsls r3, r3, #3 807fd64: 440b add r3, r1 807fd66: 009b lsls r3, r3, #2 807fd68: 4413 add r3, r2 807fd6a: 3310 adds r3, #16 807fd6c: 681b ldr r3, [r3, #0] 807fd6e: 461a mov r2, r3 807fd70: 215a movs r1, #90 ; 0x5a 807fd72: 200a movs r0, #10 807fd74: f7d5 fff2 bl 8055d5c if(menupos == Ok) 807fd78: 4bb1 ldr r3, [pc, #708] ; (8080040 ) 807fd7a: 781b ldrb r3, [r3, #0] 807fd7c: b2db uxtb r3, r3 807fd7e: 2b00 cmp r3, #0 807fd80: d126 bne.n 807fdd0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807fd82: 49ac ldr r1, [pc, #688] ; (8080034 ) 807fd84: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807fd88: f7d5 fa40 bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807fd8c: 4baa ldr r3, [pc, #680] ; (8080038 ) 807fd8e: 7b1b ldrb r3, [r3, #12] 807fd90: b2db uxtb r3, r3 807fd92: 461a mov r2, r3 807fd94: 4bab ldr r3, [pc, #684] ; (8080044 ) 807fd96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807fd9a: 461a mov r2, r3 807fd9c: 213a movs r1, #58 ; 0x3a 807fd9e: 200a movs r0, #10 807fda0: f7d5 ffdc bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807fda4: 49a3 ldr r1, [pc, #652] ; (8080034 ) 807fda6: 48a8 ldr r0, [pc, #672] ; (8080048 ) 807fda8: f7d5 fa30 bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, str_rate); 807fdac: f507 734a add.w r3, r7, #808 ; 0x328 807fdb0: 461a mov r2, r3 807fdb2: 214a movs r1, #74 ; 0x4a 807fdb4: f44f 7082 mov.w r0, #260 ; 0x104 807fdb8: f7d5 ffe8 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, str_inner); 807fdbc: f507 7354 add.w r3, r7, #848 ; 0x350 807fdc0: 461a mov r2, r3 807fdc2: 215a movs r1, #90 ; 0x5a 807fdc4: f44f 7082 mov.w r0, #260 ; 0x104 807fdc8: f7d5 ffe0 bl 8055d8c LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); } } } break; 807fdcc: f019 ba15 b.w 80991fa if(menupos == UdarRate) 807fdd0: 4b9b ldr r3, [pc, #620] ; (8080040 ) 807fdd2: 781b ldrb r3, [r3, #0] 807fdd4: b2db uxtb r3, r3 807fdd6: 2b01 cmp r3, #1 807fdd8: d12b bne.n 807fe32 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807fdda: 4996 ldr r1, [pc, #600] ; (8080034 ) 807fddc: f04f 30ff mov.w r0, #4294967295 807fde0: f7d5 fa14 bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807fde4: 4b94 ldr r3, [pc, #592] ; (8080038 ) 807fde6: 7b1b ldrb r3, [r3, #12] 807fde8: b2db uxtb r3, r3 807fdea: 461a mov r2, r3 807fdec: 4b95 ldr r3, [pc, #596] ; (8080044 ) 807fdee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807fdf2: 461a mov r2, r3 807fdf4: 213a movs r1, #58 ; 0x3a 807fdf6: 200a movs r0, #10 807fdf8: f7d5 ffb0 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807fdfc: 498d ldr r1, [pc, #564] ; (8080034 ) 807fdfe: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807fe02: f7d5 fa03 bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, str_rate); 807fe06: f507 734a add.w r3, r7, #808 ; 0x328 807fe0a: 461a mov r2, r3 807fe0c: 214a movs r1, #74 ; 0x4a 807fe0e: f44f 7082 mov.w r0, #260 ; 0x104 807fe12: f7d5 ffbb bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807fe16: 4987 ldr r1, [pc, #540] ; (8080034 ) 807fe18: 488b ldr r0, [pc, #556] ; (8080048 ) 807fe1a: f7d5 f9f7 bl 805520c LCD_DisplayStringC(260, LCD_LINE_5, str_inner); 807fe1e: f507 7354 add.w r3, r7, #848 ; 0x350 807fe22: 461a mov r2, r3 807fe24: 215a movs r1, #90 ; 0x5a 807fe26: f44f 7082 mov.w r0, #260 ; 0x104 807fe2a: f7d5 ffaf bl 8055d8c break; 807fe2e: f019 b9e4 b.w 80991fa if(menupos == UdarInner) 807fe32: 4b83 ldr r3, [pc, #524] ; (8080040 ) 807fe34: 781b ldrb r3, [r3, #0] 807fe36: b2db uxtb r3, r3 807fe38: 2b02 cmp r3, #2 807fe3a: d12b bne.n 807fe94 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807fe3c: 497d ldr r1, [pc, #500] ; (8080034 ) 807fe3e: f04f 30ff mov.w r0, #4294967295 807fe42: f7d5 f9e3 bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807fe46: 4b7c ldr r3, [pc, #496] ; (8080038 ) 807fe48: 7b1b ldrb r3, [r3, #12] 807fe4a: b2db uxtb r3, r3 807fe4c: 461a mov r2, r3 807fe4e: 4b7d ldr r3, [pc, #500] ; (8080044 ) 807fe50: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807fe54: 461a mov r2, r3 807fe56: 213a movs r1, #58 ; 0x3a 807fe58: 200a movs r0, #10 807fe5a: f7d5 ff7f bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807fe5e: 4975 ldr r1, [pc, #468] ; (8080034 ) 807fe60: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807fe64: f7d5 f9d2 bl 805520c LCD_DisplayStringC(260, LCD_LINE_5, str_inner); 807fe68: f507 7354 add.w r3, r7, #848 ; 0x350 807fe6c: 461a mov r2, r3 807fe6e: 215a movs r1, #90 ; 0x5a 807fe70: f44f 7082 mov.w r0, #260 ; 0x104 807fe74: f7d5 ff8a bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807fe78: 496e ldr r1, [pc, #440] ; (8080034 ) 807fe7a: 4873 ldr r0, [pc, #460] ; (8080048 ) 807fe7c: f7d5 f9c6 bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, str_rate); 807fe80: f507 734a add.w r3, r7, #808 ; 0x328 807fe84: 461a mov r2, r3 807fe86: 214a movs r1, #74 ; 0x4a 807fe88: f44f 7082 mov.w r0, #260 ; 0x104 807fe8c: f7d5 ff7e bl 8055d8c break; 807fe90: f019 b9b3 b.w 80991fa LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807fe94: 4967 ldr r1, [pc, #412] ; (8080034 ) 807fe96: f04f 30ff mov.w r0, #4294967295 807fe9a: f7d5 f9b7 bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807fe9e: 4b66 ldr r3, [pc, #408] ; (8080038 ) 807fea0: 7b1b ldrb r3, [r3, #12] 807fea2: b2db uxtb r3, r3 807fea4: 461a mov r2, r3 807fea6: 4b67 ldr r3, [pc, #412] ; (8080044 ) 807fea8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807feac: 461a mov r2, r3 807feae: 213a movs r1, #58 ; 0x3a 807feb0: 200a movs r0, #10 807feb2: f7d5 ff53 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807feb6: 495f ldr r1, [pc, #380] ; (8080034 ) 807feb8: 4863 ldr r0, [pc, #396] ; (8080048 ) 807feba: f7d5 f9a7 bl 805520c if((menupos < UdarRate_IET) || (menupos > UdarRate_IEE)) 807febe: 4b60 ldr r3, [pc, #384] ; (8080040 ) 807fec0: 781b ldrb r3, [r3, #0] 807fec2: b2db uxtb r3, r3 807fec4: 2b02 cmp r3, #2 807fec6: d904 bls.n 807fed2 807fec8: 4b5d ldr r3, [pc, #372] ; (8080040 ) 807feca: 781b ldrb r3, [r3, #0] 807fecc: b2db uxtb r3, r3 807fece: 2b06 cmp r3, #6 807fed0: d907 bls.n 807fee2 LCD_DisplayStringC(260, LCD_LINE_4, str_rate); 807fed2: f507 734a add.w r3, r7, #808 ; 0x328 807fed6: 461a mov r2, r3 807fed8: 214a movs r1, #74 ; 0x4a 807feda: f44f 7082 mov.w r0, #260 ; 0x104 807fede: f7d5 ff55 bl 8055d8c if((menupos < UdarInner_IES) || (menupos > UdarInner_IKT)) 807fee2: 4b57 ldr r3, [pc, #348] ; (8080040 ) 807fee4: 781b ldrb r3, [r3, #0] 807fee6: b2db uxtb r3, r3 807fee8: 2b06 cmp r3, #6 807feea: d904 bls.n 807fef6 807feec: 4b54 ldr r3, [pc, #336] ; (8080040 ) 807feee: 781b ldrb r3, [r3, #0] 807fef0: b2db uxtb r3, r3 807fef2: 2b0c cmp r3, #12 807fef4: d907 bls.n 807ff06 LCD_DisplayStringC(260, LCD_LINE_5, str_inner); 807fef6: f507 7354 add.w r3, r7, #848 ; 0x350 807fefa: 461a mov r2, r3 807fefc: 215a movs r1, #90 ; 0x5a 807fefe: f44f 7082 mov.w r0, #260 ; 0x104 807ff02: f7d5 ff43 bl 8055d8c if((menupos >= UdarRate_IET) && (menupos <= UdarRate_IEE)) 807ff06: 4b4e ldr r3, [pc, #312] ; (8080040 ) 807ff08: 781b ldrb r3, [r3, #0] 807ff0a: b2db uxtb r3, r3 807ff0c: 2b02 cmp r3, #2 807ff0e: f240 812c bls.w 808016a 807ff12: 4b4b ldr r3, [pc, #300] ; (8080040 ) 807ff14: 781b ldrb r3, [r3, #0] 807ff16: b2db uxtb r3, r3 807ff18: 2b06 cmp r3, #6 807ff1a: f200 8126 bhi.w 808016a if(menupos == UdarRate_IET) 807ff1e: 4b48 ldr r3, [pc, #288] ; (8080040 ) 807ff20: 781b ldrb r3, [r3, #0] 807ff22: b2db uxtb r3, r3 807ff24: 2b03 cmp r3, #3 807ff26: d13f bne.n 807ffa8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ff28: 4942 ldr r1, [pc, #264] ; (8080034 ) 807ff2a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ff2e: f7d5 f96d bl 805520c if(blk) 807ff32: 4b46 ldr r3, [pc, #280] ; (808004c ) 807ff34: 681b ldr r3, [r3, #0] 807ff36: 2b00 cmp r3, #0 807ff38: d00b beq.n 807ff52 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[rate_iet]); 807ff3a: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807ff3e: b2db uxtb r3, r3 807ff40: 461a mov r2, r3 807ff42: 4b43 ldr r3, [pc, #268] ; (8080050 ) 807ff44: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ff48: 461a mov r2, r3 807ff4a: 214a movs r1, #74 ; 0x4a 807ff4c: 20e6 movs r0, #230 ; 0xe6 807ff4e: f7d5 ff05 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ff52: 4938 ldr r1, [pc, #224] ; (8080034 ) 807ff54: 483c ldr r0, [pc, #240] ; (8080048 ) 807ff56: f7d5 f959 bl 805520c LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[rate_ies]); 807ff5a: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807ff5e: b2db uxtb r3, r3 807ff60: 461a mov r2, r3 807ff62: 4b3b ldr r3, [pc, #236] ; (8080050 ) 807ff64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ff68: 461a mov r2, r3 807ff6a: 214a movs r1, #74 ; 0x4a 807ff6c: 20f6 movs r0, #246 ; 0xf6 807ff6e: f7d5 fef5 bl 8055d5c LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[rate_ied]); 807ff72: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807ff76: b2db uxtb r3, r3 807ff78: 461a mov r2, r3 807ff7a: 4b35 ldr r3, [pc, #212] ; (8080050 ) 807ff7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ff80: 461a mov r2, r3 807ff82: 214a movs r1, #74 ; 0x4a 807ff84: f44f 7083 mov.w r0, #262 ; 0x106 807ff88: f7d5 fee8 bl 8055d5c LCD_DisplayString(278, LCD_LINE_4, (char *) pNUMS[rate_iee]); 807ff8c: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807ff90: b2db uxtb r3, r3 807ff92: 461a mov r2, r3 807ff94: 4b2e ldr r3, [pc, #184] ; (8080050 ) 807ff96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ff9a: 461a mov r2, r3 807ff9c: 214a movs r1, #74 ; 0x4a 807ff9e: f44f 708b mov.w r0, #278 ; 0x116 807ffa2: f7d5 fedb bl 8055d5c if(menupos == UdarRate_IET) 807ffa6: e352 b.n 808064e if(menupos == UdarRate_IES) 807ffa8: 4b25 ldr r3, [pc, #148] ; (8080040 ) 807ffaa: 781b ldrb r3, [r3, #0] 807ffac: b2db uxtb r3, r3 807ffae: 2b04 cmp r3, #4 807ffb0: d150 bne.n 8080054 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ffb2: 4920 ldr r1, [pc, #128] ; (8080034 ) 807ffb4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ffb8: f7d5 f928 bl 805520c if(blk) 807ffbc: 4b23 ldr r3, [pc, #140] ; (808004c ) 807ffbe: 681b ldr r3, [r3, #0] 807ffc0: 2b00 cmp r3, #0 807ffc2: d00b beq.n 807ffdc LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[rate_ies]); 807ffc4: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807ffc8: b2db uxtb r3, r3 807ffca: 461a mov r2, r3 807ffcc: 4b20 ldr r3, [pc, #128] ; (8080050 ) 807ffce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ffd2: 461a mov r2, r3 807ffd4: 214a movs r1, #74 ; 0x4a 807ffd6: 20f6 movs r0, #246 ; 0xf6 807ffd8: f7d5 fec0 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ffdc: 4915 ldr r1, [pc, #84] ; (8080034 ) 807ffde: 481a ldr r0, [pc, #104] ; (8080048 ) 807ffe0: f7d5 f914 bl 805520c LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[rate_iet]); 807ffe4: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807ffe8: b2db uxtb r3, r3 807ffea: 461a mov r2, r3 807ffec: 4b18 ldr r3, [pc, #96] ; (8080050 ) 807ffee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807fff2: 461a mov r2, r3 807fff4: 214a movs r1, #74 ; 0x4a 807fff6: 20e6 movs r0, #230 ; 0xe6 807fff8: f7d5 feb0 bl 8055d5c LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[rate_ied]); 807fffc: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 8080000: b2db uxtb r3, r3 8080002: 461a mov r2, r3 8080004: 4b12 ldr r3, [pc, #72] ; (8080050 ) 8080006: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808000a: 461a mov r2, r3 808000c: 214a movs r1, #74 ; 0x4a 808000e: f44f 7083 mov.w r0, #262 ; 0x106 8080012: f7d5 fea3 bl 8055d5c LCD_DisplayString(278, LCD_LINE_4, (char *) pNUMS[rate_iee]); 8080016: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 808001a: b2db uxtb r3, r3 808001c: 461a mov r2, r3 808001e: 4b0c ldr r3, [pc, #48] ; (8080050 ) 8080020: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080024: 461a mov r2, r3 8080026: 214a movs r1, #74 ; 0x4a 8080028: f44f 708b mov.w r0, #278 ; 0x116 808002c: f7d5 fe96 bl 8055d5c if(menupos == UdarRate_IET) 8080030: e30d b.n 808064e 8080032: bf00 nop 8080034: ff0a0f1f .word 0xff0a0f1f 8080038: 20023eb8 .word 0x20023eb8 808003c: 200207fc .word 0x200207fc 8080040: 20020070 .word 0x20020070 8080044: 200205cc .word 0x200205cc 8080048: ffd8aa57 .word 0xffd8aa57 808004c: 200216ac .word 0x200216ac 8080050: 2002096c .word 0x2002096c if(menupos == UdarRate_IED) 8080054: 4baf ldr r3, [pc, #700] ; (8080314 ) 8080056: 781b ldrb r3, [r3, #0] 8080058: b2db uxtb r3, r3 808005a: 2b05 cmp r3, #5 808005c: d13f bne.n 80800de LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808005e: 49ae ldr r1, [pc, #696] ; (8080318 ) 8080060: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080064: f7d5 f8d2 bl 805520c if(blk) 8080068: 4bac ldr r3, [pc, #688] ; (808031c ) 808006a: 681b ldr r3, [r3, #0] 808006c: 2b00 cmp r3, #0 808006e: d00c beq.n 808008a LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[rate_ied]); 8080070: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 8080074: b2db uxtb r3, r3 8080076: 461a mov r2, r3 8080078: 4ba9 ldr r3, [pc, #676] ; (8080320 ) 808007a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808007e: 461a mov r2, r3 8080080: 214a movs r1, #74 ; 0x4a 8080082: f44f 7083 mov.w r0, #262 ; 0x106 8080086: f7d5 fe69 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808008a: 49a3 ldr r1, [pc, #652] ; (8080318 ) 808008c: 48a5 ldr r0, [pc, #660] ; (8080324 ) 808008e: f7d5 f8bd bl 805520c LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[rate_iet]); 8080092: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 8080096: b2db uxtb r3, r3 8080098: 461a mov r2, r3 808009a: 4ba1 ldr r3, [pc, #644] ; (8080320 ) 808009c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80800a0: 461a mov r2, r3 80800a2: 214a movs r1, #74 ; 0x4a 80800a4: 20e6 movs r0, #230 ; 0xe6 80800a6: f7d5 fe59 bl 8055d5c LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[rate_ies]); 80800aa: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 80800ae: b2db uxtb r3, r3 80800b0: 461a mov r2, r3 80800b2: 4b9b ldr r3, [pc, #620] ; (8080320 ) 80800b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80800b8: 461a mov r2, r3 80800ba: 214a movs r1, #74 ; 0x4a 80800bc: 20f6 movs r0, #246 ; 0xf6 80800be: f7d5 fe4d bl 8055d5c LCD_DisplayString(278, LCD_LINE_4, (char *) pNUMS[rate_iee]); 80800c2: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 80800c6: b2db uxtb r3, r3 80800c8: 461a mov r2, r3 80800ca: 4b95 ldr r3, [pc, #596] ; (8080320 ) 80800cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80800d0: 461a mov r2, r3 80800d2: 214a movs r1, #74 ; 0x4a 80800d4: f44f 708b mov.w r0, #278 ; 0x116 80800d8: f7d5 fe40 bl 8055d5c if(menupos == UdarRate_IET) 80800dc: e2b7 b.n 808064e if(menupos == UdarRate_IEE) 80800de: 4b8d ldr r3, [pc, #564] ; (8080314 ) 80800e0: 781b ldrb r3, [r3, #0] 80800e2: b2db uxtb r3, r3 80800e4: 2b06 cmp r3, #6 80800e6: f040 82b2 bne.w 808064e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80800ea: 498b ldr r1, [pc, #556] ; (8080318 ) 80800ec: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80800f0: f7d5 f88c bl 805520c if(blk) 80800f4: 4b89 ldr r3, [pc, #548] ; (808031c ) 80800f6: 681b ldr r3, [r3, #0] 80800f8: 2b00 cmp r3, #0 80800fa: d00c beq.n 8080116 LCD_DisplayString(278, LCD_LINE_4, (char *) pNUMS[rate_iee]); 80800fc: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 8080100: b2db uxtb r3, r3 8080102: 461a mov r2, r3 8080104: 4b86 ldr r3, [pc, #536] ; (8080320 ) 8080106: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808010a: 461a mov r2, r3 808010c: 214a movs r1, #74 ; 0x4a 808010e: f44f 708b mov.w r0, #278 ; 0x116 8080112: f7d5 fe23 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080116: 4980 ldr r1, [pc, #512] ; (8080318 ) 8080118: 4882 ldr r0, [pc, #520] ; (8080324 ) 808011a: f7d5 f877 bl 805520c LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[rate_iet]); 808011e: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 8080122: b2db uxtb r3, r3 8080124: 461a mov r2, r3 8080126: 4b7e ldr r3, [pc, #504] ; (8080320 ) 8080128: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808012c: 461a mov r2, r3 808012e: 214a movs r1, #74 ; 0x4a 8080130: 20e6 movs r0, #230 ; 0xe6 8080132: f7d5 fe13 bl 8055d5c LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[rate_ies]); 8080136: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 808013a: b2db uxtb r3, r3 808013c: 461a mov r2, r3 808013e: 4b78 ldr r3, [pc, #480] ; (8080320 ) 8080140: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080144: 461a mov r2, r3 8080146: 214a movs r1, #74 ; 0x4a 8080148: 20f6 movs r0, #246 ; 0xf6 808014a: f7d5 fe07 bl 8055d5c LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[rate_ied]); 808014e: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 8080152: b2db uxtb r3, r3 8080154: 461a mov r2, r3 8080156: 4b72 ldr r3, [pc, #456] ; (8080320 ) 8080158: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808015c: 461a mov r2, r3 808015e: 214a movs r1, #74 ; 0x4a 8080160: f44f 7083 mov.w r0, #262 ; 0x106 8080164: f7d5 fdfa bl 8055d5c if(menupos == UdarRate_IET) 8080168: e271 b.n 808064e if((menupos >= UdarInner_IES) && (menupos <= UdarInner_IKT)) 808016a: 4b6a ldr r3, [pc, #424] ; (8080314 ) 808016c: 781b ldrb r3, [r3, #0] 808016e: b2db uxtb r3, r3 8080170: 2b06 cmp r3, #6 8080172: f259 8042 bls.w 80991fa 8080176: 4b67 ldr r3, [pc, #412] ; (8080314 ) 8080178: 781b ldrb r3, [r3, #0] 808017a: b2db uxtb r3, r3 808017c: 2b0c cmp r3, #12 808017e: f219 803c bhi.w 80991fa if(menupos == UdarInner_IES) 8080182: 4b64 ldr r3, [pc, #400] ; (8080314 ) 8080184: 781b ldrb r3, [r3, #0] 8080186: b2db uxtb r3, r3 8080188: 2b07 cmp r3, #7 808018a: d15e bne.n 808024a LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808018c: 4962 ldr r1, [pc, #392] ; (8080318 ) 808018e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080192: f7d5 f83b bl 805520c if(blk) 8080196: 4b61 ldr r3, [pc, #388] ; (808031c ) 8080198: 681b ldr r3, [r3, #0] 808019a: 2b00 cmp r3, #0 808019c: d00b beq.n 80801b6 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 808019e: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 80801a2: b2db uxtb r3, r3 80801a4: 461a mov r2, r3 80801a6: 4b5e ldr r3, [pc, #376] ; (8080320 ) 80801a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80801ac: 461a mov r2, r3 80801ae: 215a movs r1, #90 ; 0x5a 80801b0: 20c6 movs r0, #198 ; 0xc6 80801b2: f7d5 fdd3 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80801b6: 4958 ldr r1, [pc, #352] ; (8080318 ) 80801b8: 485a ldr r0, [pc, #360] ; (8080324 ) 80801ba: f7d5 f827 bl 805520c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 80801be: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 80801c2: b2db uxtb r3, r3 80801c4: 461a mov r2, r3 80801c6: 4b56 ldr r3, [pc, #344] ; (8080320 ) 80801c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80801cc: 461a mov r2, r3 80801ce: 215a movs r1, #90 ; 0x5a 80801d0: 20d6 movs r0, #214 ; 0xd6 80801d2: f7d5 fdc3 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 80801d6: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 80801da: b2db uxtb r3, r3 80801dc: 461a mov r2, r3 80801de: 4b50 ldr r3, [pc, #320] ; (8080320 ) 80801e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80801e4: 461a mov r2, r3 80801e6: 215a movs r1, #90 ; 0x5a 80801e8: 20e6 movs r0, #230 ; 0xe6 80801ea: f7d5 fdb7 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, "."); 80801ee: 4a4e ldr r2, [pc, #312] ; (8080328 ) 80801f0: 215a movs r1, #90 ; 0x5a 80801f2: 20f6 movs r0, #246 ; 0xf6 80801f4: f7d5 fdb2 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 80801f8: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 80801fc: b2db uxtb r3, r3 80801fe: 461a mov r2, r3 8080200: 4b47 ldr r3, [pc, #284] ; (8080320 ) 8080202: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080206: 461a mov r2, r3 8080208: 215a movs r1, #90 ; 0x5a 808020a: f44f 7083 mov.w r0, #262 ; 0x106 808020e: f7d5 fda5 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 8080212: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8080216: b2db uxtb r3, r3 8080218: 461a mov r2, r3 808021a: 4b41 ldr r3, [pc, #260] ; (8080320 ) 808021c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080220: 461a mov r2, r3 8080222: 215a movs r1, #90 ; 0x5a 8080224: f44f 708b mov.w r0, #278 ; 0x116 8080228: f7d5 fd98 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 808022c: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8080230: b2db uxtb r3, r3 8080232: 461a mov r2, r3 8080234: 4b3a ldr r3, [pc, #232] ; (8080320 ) 8080236: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808023a: 461a mov r2, r3 808023c: 215a movs r1, #90 ; 0x5a 808023e: f44f 7093 mov.w r0, #294 ; 0x126 8080242: f7d5 fd8b bl 8055d5c break; 8080246: f018 bfd8 b.w 80991fa if(menupos == UdarInner_IED) 808024a: 4b32 ldr r3, [pc, #200] ; (8080314 ) 808024c: 781b ldrb r3, [r3, #0] 808024e: b2db uxtb r3, r3 8080250: 2b08 cmp r3, #8 8080252: d16b bne.n 808032c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080254: 4930 ldr r1, [pc, #192] ; (8080318 ) 8080256: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808025a: f7d4 ffd7 bl 805520c if(blk) 808025e: 4b2f ldr r3, [pc, #188] ; (808031c ) 8080260: 681b ldr r3, [r3, #0] 8080262: 2b00 cmp r3, #0 8080264: d00b beq.n 808027e LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 8080266: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 808026a: b2db uxtb r3, r3 808026c: 461a mov r2, r3 808026e: 4b2c ldr r3, [pc, #176] ; (8080320 ) 8080270: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080274: 461a mov r2, r3 8080276: 215a movs r1, #90 ; 0x5a 8080278: 20d6 movs r0, #214 ; 0xd6 808027a: f7d5 fd6f bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808027e: 4926 ldr r1, [pc, #152] ; (8080318 ) 8080280: 4828 ldr r0, [pc, #160] ; (8080324 ) 8080282: f7d4 ffc3 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 8080286: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 808028a: b2db uxtb r3, r3 808028c: 461a mov r2, r3 808028e: 4b24 ldr r3, [pc, #144] ; (8080320 ) 8080290: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080294: 461a mov r2, r3 8080296: 215a movs r1, #90 ; 0x5a 8080298: 20c6 movs r0, #198 ; 0xc6 808029a: f7d5 fd5f bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 808029e: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 80802a2: b2db uxtb r3, r3 80802a4: 461a mov r2, r3 80802a6: 4b1e ldr r3, [pc, #120] ; (8080320 ) 80802a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80802ac: 461a mov r2, r3 80802ae: 215a movs r1, #90 ; 0x5a 80802b0: 20e6 movs r0, #230 ; 0xe6 80802b2: f7d5 fd53 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, "."); 80802b6: 4a1c ldr r2, [pc, #112] ; (8080328 ) 80802b8: 215a movs r1, #90 ; 0x5a 80802ba: 20f6 movs r0, #246 ; 0xf6 80802bc: f7d5 fd4e bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 80802c0: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 80802c4: b2db uxtb r3, r3 80802c6: 461a mov r2, r3 80802c8: 4b15 ldr r3, [pc, #84] ; (8080320 ) 80802ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80802ce: 461a mov r2, r3 80802d0: 215a movs r1, #90 ; 0x5a 80802d2: f44f 7083 mov.w r0, #262 ; 0x106 80802d6: f7d5 fd41 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 80802da: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 80802de: b2db uxtb r3, r3 80802e0: 461a mov r2, r3 80802e2: 4b0f ldr r3, [pc, #60] ; (8080320 ) 80802e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80802e8: 461a mov r2, r3 80802ea: 215a movs r1, #90 ; 0x5a 80802ec: f44f 708b mov.w r0, #278 ; 0x116 80802f0: f7d5 fd34 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 80802f4: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 80802f8: b2db uxtb r3, r3 80802fa: 461a mov r2, r3 80802fc: 4b08 ldr r3, [pc, #32] ; (8080320 ) 80802fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080302: 461a mov r2, r3 8080304: 215a movs r1, #90 ; 0x5a 8080306: f44f 7093 mov.w r0, #294 ; 0x126 808030a: f7d5 fd27 bl 8055d5c break; 808030e: f018 bf74 b.w 80991fa 8080312: bf00 nop 8080314: 20020070 .word 0x20020070 8080318: ff0a0f1f .word 0xff0a0f1f 808031c: 200216ac .word 0x200216ac 8080320: 2002096c .word 0x2002096c 8080324: ffd8aa57 .word 0xffd8aa57 8080328: 080d6258 .word 0x080d6258 if(menupos == UdarInner_IEE) 808032c: 4bc9 ldr r3, [pc, #804] ; (8080654 ) 808032e: 781b ldrb r3, [r3, #0] 8080330: b2db uxtb r3, r3 8080332: 2b09 cmp r3, #9 8080334: d15e bne.n 80803f4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080336: 49c8 ldr r1, [pc, #800] ; (8080658 ) 8080338: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808033c: f7d4 ff66 bl 805520c if(blk) 8080340: 4bc6 ldr r3, [pc, #792] ; (808065c ) 8080342: 681b ldr r3, [r3, #0] 8080344: 2b00 cmp r3, #0 8080346: d00b beq.n 8080360 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 8080348: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 808034c: b2db uxtb r3, r3 808034e: 461a mov r2, r3 8080350: 4bc3 ldr r3, [pc, #780] ; (8080660 ) 8080352: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080356: 461a mov r2, r3 8080358: 215a movs r1, #90 ; 0x5a 808035a: 20e6 movs r0, #230 ; 0xe6 808035c: f7d5 fcfe bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080360: 49bd ldr r1, [pc, #756] ; (8080658 ) 8080362: 48c0 ldr r0, [pc, #768] ; (8080664 ) 8080364: f7d4 ff52 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 8080368: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 808036c: b2db uxtb r3, r3 808036e: 461a mov r2, r3 8080370: 4bbb ldr r3, [pc, #748] ; (8080660 ) 8080372: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080376: 461a mov r2, r3 8080378: 215a movs r1, #90 ; 0x5a 808037a: 20c6 movs r0, #198 ; 0xc6 808037c: f7d5 fcee bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 8080380: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8080384: b2db uxtb r3, r3 8080386: 461a mov r2, r3 8080388: 4bb5 ldr r3, [pc, #724] ; (8080660 ) 808038a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808038e: 461a mov r2, r3 8080390: 215a movs r1, #90 ; 0x5a 8080392: 20d6 movs r0, #214 ; 0xd6 8080394: f7d5 fce2 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, "."); 8080398: 4ab3 ldr r2, [pc, #716] ; (8080668 ) 808039a: 215a movs r1, #90 ; 0x5a 808039c: 20f6 movs r0, #246 ; 0xf6 808039e: f7d5 fcdd bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 80803a2: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 80803a6: b2db uxtb r3, r3 80803a8: 461a mov r2, r3 80803aa: 4bad ldr r3, [pc, #692] ; (8080660 ) 80803ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80803b0: 461a mov r2, r3 80803b2: 215a movs r1, #90 ; 0x5a 80803b4: f44f 7083 mov.w r0, #262 ; 0x106 80803b8: f7d5 fcd0 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 80803bc: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 80803c0: b2db uxtb r3, r3 80803c2: 461a mov r2, r3 80803c4: 4ba6 ldr r3, [pc, #664] ; (8080660 ) 80803c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80803ca: 461a mov r2, r3 80803cc: 215a movs r1, #90 ; 0x5a 80803ce: f44f 708b mov.w r0, #278 ; 0x116 80803d2: f7d5 fcc3 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 80803d6: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 80803da: b2db uxtb r3, r3 80803dc: 461a mov r2, r3 80803de: 4ba0 ldr r3, [pc, #640] ; (8080660 ) 80803e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80803e4: 461a mov r2, r3 80803e6: 215a movs r1, #90 ; 0x5a 80803e8: f44f 7093 mov.w r0, #294 ; 0x126 80803ec: f7d5 fcb6 bl 8055d5c break; 80803f0: f018 bf03 b.w 80991fa if(menupos == UdarInner_IKD) 80803f4: 4b97 ldr r3, [pc, #604] ; (8080654 ) 80803f6: 781b ldrb r3, [r3, #0] 80803f8: b2db uxtb r3, r3 80803fa: 2b0a cmp r3, #10 80803fc: d15e bne.n 80804bc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80803fe: 4996 ldr r1, [pc, #600] ; (8080658 ) 8080400: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080404: f7d4 ff02 bl 805520c if(blk) 8080408: 4b94 ldr r3, [pc, #592] ; (808065c ) 808040a: 681b ldr r3, [r3, #0] 808040c: 2b00 cmp r3, #0 808040e: d00c beq.n 808042a LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 8080410: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8080414: b2db uxtb r3, r3 8080416: 461a mov r2, r3 8080418: 4b91 ldr r3, [pc, #580] ; (8080660 ) 808041a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808041e: 461a mov r2, r3 8080420: 215a movs r1, #90 ; 0x5a 8080422: f44f 7083 mov.w r0, #262 ; 0x106 8080426: f7d5 fc99 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808042a: 498b ldr r1, [pc, #556] ; (8080658 ) 808042c: 488d ldr r0, [pc, #564] ; (8080664 ) 808042e: f7d4 feed bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 8080432: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8080436: b2db uxtb r3, r3 8080438: 461a mov r2, r3 808043a: 4b89 ldr r3, [pc, #548] ; (8080660 ) 808043c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080440: 461a mov r2, r3 8080442: 215a movs r1, #90 ; 0x5a 8080444: 20c6 movs r0, #198 ; 0xc6 8080446: f7d5 fc89 bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 808044a: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 808044e: b2db uxtb r3, r3 8080450: 461a mov r2, r3 8080452: 4b83 ldr r3, [pc, #524] ; (8080660 ) 8080454: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080458: 461a mov r2, r3 808045a: 215a movs r1, #90 ; 0x5a 808045c: 20d6 movs r0, #214 ; 0xd6 808045e: f7d5 fc7d bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 8080462: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8080466: b2db uxtb r3, r3 8080468: 461a mov r2, r3 808046a: 4b7d ldr r3, [pc, #500] ; (8080660 ) 808046c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080470: 461a mov r2, r3 8080472: 215a movs r1, #90 ; 0x5a 8080474: 20e6 movs r0, #230 ; 0xe6 8080476: f7d5 fc71 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, "."); 808047a: 4a7b ldr r2, [pc, #492] ; (8080668 ) 808047c: 215a movs r1, #90 ; 0x5a 808047e: 20f6 movs r0, #246 ; 0xf6 8080480: f7d5 fc6c bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 8080484: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8080488: b2db uxtb r3, r3 808048a: 461a mov r2, r3 808048c: 4b74 ldr r3, [pc, #464] ; (8080660 ) 808048e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080492: 461a mov r2, r3 8080494: 215a movs r1, #90 ; 0x5a 8080496: f44f 708b mov.w r0, #278 ; 0x116 808049a: f7d5 fc5f bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 808049e: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 80804a2: b2db uxtb r3, r3 80804a4: 461a mov r2, r3 80804a6: 4b6e ldr r3, [pc, #440] ; (8080660 ) 80804a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80804ac: 461a mov r2, r3 80804ae: 215a movs r1, #90 ; 0x5a 80804b0: f44f 7093 mov.w r0, #294 ; 0x126 80804b4: f7d5 fc52 bl 8055d5c break; 80804b8: f018 be9f b.w 80991fa if(menupos == UdarInner_IKS) 80804bc: 4b65 ldr r3, [pc, #404] ; (8080654 ) 80804be: 781b ldrb r3, [r3, #0] 80804c0: b2db uxtb r3, r3 80804c2: 2b0b cmp r3, #11 80804c4: d15e bne.n 8080584 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80804c6: 4964 ldr r1, [pc, #400] ; (8080658 ) 80804c8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80804cc: f7d4 fe9e bl 805520c if(blk) 80804d0: 4b62 ldr r3, [pc, #392] ; (808065c ) 80804d2: 681b ldr r3, [r3, #0] 80804d4: 2b00 cmp r3, #0 80804d6: d00c beq.n 80804f2 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 80804d8: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 80804dc: b2db uxtb r3, r3 80804de: 461a mov r2, r3 80804e0: 4b5f ldr r3, [pc, #380] ; (8080660 ) 80804e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80804e6: 461a mov r2, r3 80804e8: 215a movs r1, #90 ; 0x5a 80804ea: f44f 708b mov.w r0, #278 ; 0x116 80804ee: f7d5 fc35 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80804f2: 4959 ldr r1, [pc, #356] ; (8080658 ) 80804f4: 485b ldr r0, [pc, #364] ; (8080664 ) 80804f6: f7d4 fe89 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 80804fa: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 80804fe: b2db uxtb r3, r3 8080500: 461a mov r2, r3 8080502: 4b57 ldr r3, [pc, #348] ; (8080660 ) 8080504: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080508: 461a mov r2, r3 808050a: 215a movs r1, #90 ; 0x5a 808050c: 20c6 movs r0, #198 ; 0xc6 808050e: f7d5 fc25 bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 8080512: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8080516: b2db uxtb r3, r3 8080518: 461a mov r2, r3 808051a: 4b51 ldr r3, [pc, #324] ; (8080660 ) 808051c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080520: 461a mov r2, r3 8080522: 215a movs r1, #90 ; 0x5a 8080524: 20d6 movs r0, #214 ; 0xd6 8080526: f7d5 fc19 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 808052a: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 808052e: b2db uxtb r3, r3 8080530: 461a mov r2, r3 8080532: 4b4b ldr r3, [pc, #300] ; (8080660 ) 8080534: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080538: 461a mov r2, r3 808053a: 215a movs r1, #90 ; 0x5a 808053c: 20e6 movs r0, #230 ; 0xe6 808053e: f7d5 fc0d bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, "."); 8080542: 4a49 ldr r2, [pc, #292] ; (8080668 ) 8080544: 215a movs r1, #90 ; 0x5a 8080546: 20f6 movs r0, #246 ; 0xf6 8080548: f7d5 fc08 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 808054c: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8080550: b2db uxtb r3, r3 8080552: 461a mov r2, r3 8080554: 4b42 ldr r3, [pc, #264] ; (8080660 ) 8080556: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808055a: 461a mov r2, r3 808055c: 215a movs r1, #90 ; 0x5a 808055e: f44f 7083 mov.w r0, #262 ; 0x106 8080562: f7d5 fbfb bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 8080566: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 808056a: b2db uxtb r3, r3 808056c: 461a mov r2, r3 808056e: 4b3c ldr r3, [pc, #240] ; (8080660 ) 8080570: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080574: 461a mov r2, r3 8080576: 215a movs r1, #90 ; 0x5a 8080578: f44f 7093 mov.w r0, #294 ; 0x126 808057c: f7d5 fbee bl 8055d5c break; 8080580: f018 be3b b.w 80991fa if(menupos == UdarInner_IKT) 8080584: 4b33 ldr r3, [pc, #204] ; (8080654 ) 8080586: 781b ldrb r3, [r3, #0] 8080588: b2db uxtb r3, r3 808058a: 2b0c cmp r3, #12 808058c: f058 8635 bne.w 80991fa LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080590: 4931 ldr r1, [pc, #196] ; (8080658 ) 8080592: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080596: f7d4 fe39 bl 805520c if(blk) 808059a: 4b30 ldr r3, [pc, #192] ; (808065c ) 808059c: 681b ldr r3, [r3, #0] 808059e: 2b00 cmp r3, #0 80805a0: d00c beq.n 80805bc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 80805a2: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 80805a6: b2db uxtb r3, r3 80805a8: 461a mov r2, r3 80805aa: 4b2d ldr r3, [pc, #180] ; (8080660 ) 80805ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80805b0: 461a mov r2, r3 80805b2: 215a movs r1, #90 ; 0x5a 80805b4: f44f 7093 mov.w r0, #294 ; 0x126 80805b8: f7d5 fbd0 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80805bc: 4926 ldr r1, [pc, #152] ; (8080658 ) 80805be: 4829 ldr r0, [pc, #164] ; (8080664 ) 80805c0: f7d4 fe24 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 80805c4: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 80805c8: b2db uxtb r3, r3 80805ca: 461a mov r2, r3 80805cc: 4b24 ldr r3, [pc, #144] ; (8080660 ) 80805ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80805d2: 461a mov r2, r3 80805d4: 215a movs r1, #90 ; 0x5a 80805d6: 20c6 movs r0, #198 ; 0xc6 80805d8: f7d5 fbc0 bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 80805dc: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 80805e0: b2db uxtb r3, r3 80805e2: 461a mov r2, r3 80805e4: 4b1e ldr r3, [pc, #120] ; (8080660 ) 80805e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80805ea: 461a mov r2, r3 80805ec: 215a movs r1, #90 ; 0x5a 80805ee: 20d6 movs r0, #214 ; 0xd6 80805f0: f7d5 fbb4 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 80805f4: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 80805f8: b2db uxtb r3, r3 80805fa: 461a mov r2, r3 80805fc: 4b18 ldr r3, [pc, #96] ; (8080660 ) 80805fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080602: 461a mov r2, r3 8080604: 215a movs r1, #90 ; 0x5a 8080606: 20e6 movs r0, #230 ; 0xe6 8080608: f7d5 fba8 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, "."); 808060c: 4a16 ldr r2, [pc, #88] ; (8080668 ) 808060e: 215a movs r1, #90 ; 0x5a 8080610: 20f6 movs r0, #246 ; 0xf6 8080612: f7d5 fba3 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 8080616: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 808061a: b2db uxtb r3, r3 808061c: 461a mov r2, r3 808061e: 4b10 ldr r3, [pc, #64] ; (8080660 ) 8080620: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080624: 461a mov r2, r3 8080626: 215a movs r1, #90 ; 0x5a 8080628: f44f 7083 mov.w r0, #262 ; 0x106 808062c: f7d5 fb96 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 8080630: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8080634: b2db uxtb r3, r3 8080636: 461a mov r2, r3 8080638: 4b09 ldr r3, [pc, #36] ; (8080660 ) 808063a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808063e: 461a mov r2, r3 8080640: 215a movs r1, #90 ; 0x5a 8080642: f44f 708b mov.w r0, #278 ; 0x116 8080646: f7d5 fb89 bl 8055d5c break; 808064a: f018 bdd6 b.w 80991fa if(menupos == UdarRate_IET) 808064e: bf00 nop break; 8080650: f018 bdd3 b.w 80991fa 8080654: 20020070 .word 0x20020070 8080658: ff0a0f1f .word 0xff0a0f1f 808065c: 200216ac .word 0x200216ac 8080660: 2002096c .word 0x2002096c 8080664: ffd8aa57 .word 0xffd8aa57 8080668: 080d6258 .word 0x080d6258 case PARAM_ROLL: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 808066c: 49d5 ldr r1, [pc, #852] ; (80809c4 ) 808066e: 48d6 ldr r0, [pc, #856] ; (80809c8 ) 8080670: f7d4 fdcc bl 805520c BSP_LCD_DrawRect(2, 35, 314, 201); 8080674: 23c9 movs r3, #201 ; 0xc9 8080676: f44f 729d mov.w r2, #314 ; 0x13a 808067a: 2123 movs r1, #35 ; 0x23 808067c: 2002 movs r0, #2 808067e: f7d5 f8cb bl 8055818 ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8080682: 4bd2 ldr r3, [pc, #840] ; (80809cc ) 8080684: edd3 7a06 vldr s15, [r3, #24] 8080688: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808068c: ee67 7a87 vmul.f32 s15, s15, s14 8080690: eefc 7ae7 vcvt.u32.f32 s15, s15 8080694: ee17 3a90 vmov r3, s15 8080698: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 808069c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80806a0: 095b lsrs r3, r3, #5 80806a2: 4acb ldr r2, [pc, #812] ; (80809d0 ) 80806a4: fba2 2303 umull r2, r3, r2, r3 80806a8: 09db lsrs r3, r3, #7 80806aa: b2db uxtb r3, r3 80806ac: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 80806b0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80806b4: 0953 lsrs r3, r2, #5 80806b6: 49c6 ldr r1, [pc, #792] ; (80809d0 ) 80806b8: fba1 1303 umull r1, r3, r1, r3 80806bc: 09db lsrs r3, r3, #7 80806be: 49c5 ldr r1, [pc, #788] ; (80809d4 ) 80806c0: fb01 f303 mul.w r3, r1, r3 80806c4: 1ad3 subs r3, r2, r3 80806c6: 4ac4 ldr r2, [pc, #784] ; (80809d8 ) 80806c8: fba2 2303 umull r2, r3, r2, r3 80806cc: 0b5b lsrs r3, r3, #13 80806ce: b2db uxtb r3, r3 80806d0: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 80806d4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80806d8: 0953 lsrs r3, r2, #5 80806da: 49bd ldr r1, [pc, #756] ; (80809d0 ) 80806dc: fba1 1303 umull r1, r3, r1, r3 80806e0: 09db lsrs r3, r3, #7 80806e2: 49bc ldr r1, [pc, #752] ; (80809d4 ) 80806e4: fb01 f303 mul.w r3, r1, r3 80806e8: 1ad3 subs r3, r2, r3 80806ea: 4abb ldr r2, [pc, #748] ; (80809d8 ) 80806ec: fba2 1203 umull r1, r2, r2, r3 80806f0: 0b52 lsrs r2, r2, #13 80806f2: f242 7110 movw r1, #10000 ; 0x2710 80806f6: fb01 f202 mul.w r2, r1, r2 80806fa: 1a9a subs r2, r3, r2 80806fc: 4bb7 ldr r3, [pc, #732] ; (80809dc ) 80806fe: fba3 2302 umull r2, r3, r3, r2 8080702: 099b lsrs r3, r3, #6 8080704: b2db uxtb r3, r3 8080706: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808070a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808070e: 095a lsrs r2, r3, #5 8080710: 49af ldr r1, [pc, #700] ; (80809d0 ) 8080712: fba1 1202 umull r1, r2, r1, r2 8080716: 09d2 lsrs r2, r2, #7 8080718: 49ae ldr r1, [pc, #696] ; (80809d4 ) 808071a: fb01 f202 mul.w r2, r1, r2 808071e: 1a9a subs r2, r3, r2 8080720: 4bad ldr r3, [pc, #692] ; (80809d8 ) 8080722: fba3 1302 umull r1, r3, r3, r2 8080726: 0b5b lsrs r3, r3, #13 8080728: f242 7110 movw r1, #10000 ; 0x2710 808072c: fb01 f303 mul.w r3, r1, r3 8080730: 1ad3 subs r3, r2, r3 8080732: 4aaa ldr r2, [pc, #680] ; (80809dc ) 8080734: fba2 1203 umull r1, r2, r2, r3 8080738: 0992 lsrs r2, r2, #6 808073a: f44f 717a mov.w r1, #1000 ; 0x3e8 808073e: fb01 f202 mul.w r2, r1, r2 8080742: 1a9a subs r2, r3, r2 8080744: 4ba6 ldr r3, [pc, #664] ; (80809e0 ) 8080746: fba3 2302 umull r2, r3, r3, r2 808074a: 095b lsrs r3, r3, #5 808074c: b2db uxtb r3, r3 808074e: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8080752: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080756: 0953 lsrs r3, r2, #5 8080758: 499d ldr r1, [pc, #628] ; (80809d0 ) 808075a: fba1 1303 umull r1, r3, r1, r3 808075e: 09db lsrs r3, r3, #7 8080760: 499c ldr r1, [pc, #624] ; (80809d4 ) 8080762: fb01 f303 mul.w r3, r1, r3 8080766: 1ad3 subs r3, r2, r3 8080768: 4a9b ldr r2, [pc, #620] ; (80809d8 ) 808076a: fba2 1203 umull r1, r2, r2, r3 808076e: 0b52 lsrs r2, r2, #13 8080770: f242 7110 movw r1, #10000 ; 0x2710 8080774: fb01 f202 mul.w r2, r1, r2 8080778: 1a9a subs r2, r3, r2 808077a: 4b98 ldr r3, [pc, #608] ; (80809dc ) 808077c: fba3 1302 umull r1, r3, r3, r2 8080780: 099b lsrs r3, r3, #6 8080782: f44f 717a mov.w r1, #1000 ; 0x3e8 8080786: fb01 f303 mul.w r3, r1, r3 808078a: 1ad3 subs r3, r2, r3 808078c: 4a94 ldr r2, [pc, #592] ; (80809e0 ) 808078e: fba2 1203 umull r1, r2, r2, r3 8080792: 0952 lsrs r2, r2, #5 8080794: 2164 movs r1, #100 ; 0x64 8080796: fb01 f202 mul.w r2, r1, r2 808079a: 1a9a subs r2, r3, r2 808079c: 4b91 ldr r3, [pc, #580] ; (80809e4 ) 808079e: fba3 2302 umull r2, r3, r3, r2 80807a2: 08db lsrs r3, r3, #3 80807a4: b2db uxtb r3, r3 80807a6: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80807aa: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80807ae: 0953 lsrs r3, r2, #5 80807b0: 4987 ldr r1, [pc, #540] ; (80809d0 ) 80807b2: fba1 1303 umull r1, r3, r1, r3 80807b6: 09db lsrs r3, r3, #7 80807b8: 4986 ldr r1, [pc, #536] ; (80809d4 ) 80807ba: fb01 f303 mul.w r3, r1, r3 80807be: 1ad3 subs r3, r2, r3 80807c0: 4a85 ldr r2, [pc, #532] ; (80809d8 ) 80807c2: fba2 1203 umull r1, r2, r2, r3 80807c6: 0b52 lsrs r2, r2, #13 80807c8: f242 7110 movw r1, #10000 ; 0x2710 80807cc: fb01 f202 mul.w r2, r1, r2 80807d0: 1a9a subs r2, r3, r2 80807d2: 4b82 ldr r3, [pc, #520] ; (80809dc ) 80807d4: fba3 1302 umull r1, r3, r3, r2 80807d8: 099b lsrs r3, r3, #6 80807da: f44f 717a mov.w r1, #1000 ; 0x3e8 80807de: fb01 f303 mul.w r3, r1, r3 80807e2: 1ad3 subs r3, r2, r3 80807e4: 4a7e ldr r2, [pc, #504] ; (80809e0 ) 80807e6: fba2 1203 umull r1, r2, r2, r3 80807ea: 0952 lsrs r2, r2, #5 80807ec: 2164 movs r1, #100 ; 0x64 80807ee: fb01 f202 mul.w r2, r1, r2 80807f2: 1a9a subs r2, r3, r2 80807f4: 4b7b ldr r3, [pc, #492] ; (80809e4 ) 80807f6: fba3 1302 umull r1, r3, r3, r2 80807fa: 08d9 lsrs r1, r3, #3 80807fc: 460b mov r3, r1 80807fe: 009b lsls r3, r3, #2 8080800: 440b add r3, r1 8080802: 005b lsls r3, r3, #1 8080804: 1ad1 subs r1, r2, r3 8080806: b2cb uxtb r3, r1 8080808: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 808080c: 2300 movs r3, #0 808080e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str, 0, sizeof(str)); 8080812: f507 733b add.w r3, r7, #748 ; 0x2ec 8080816: 223c movs r2, #60 ; 0x3c 8080818: 2100 movs r1, #0 808081a: 4618 mov r0, r3 808081c: f051 fbc2 bl 80d1fa4 if(idt2 != 0) 8080820: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8080824: b2db uxtb r3, r3 8080826: 2b00 cmp r3, #0 8080828: d00c beq.n 8080844 str[i++] = idt2 + 48; 808082a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808082e: 1c5a adds r2, r3, #1 8080830: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080834: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 8080838: b2d2 uxtb r2, r2 808083a: 3230 adds r2, #48 ; 0x30 808083c: b2d1 uxtb r1, r2 808083e: f507 723b add.w r2, r7, #748 ; 0x2ec 8080842: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 8080844: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8080848: b2db uxtb r3, r3 808084a: 2b00 cmp r3, #0 808084c: d104 bne.n 8080858 808084e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8080852: b2db uxtb r3, r3 8080854: 2b00 cmp r3, #0 8080856: d00c beq.n 8080872 str[i++] = iet2 + 48; 8080858: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808085c: 1c5a adds r2, r3, #1 808085e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080862: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 8080866: b2d2 uxtb r2, r2 8080868: 3230 adds r2, #48 ; 0x30 808086a: b2d1 uxtb r1, r2 808086c: f507 723b add.w r2, r7, #748 ; 0x2ec 8080870: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 8080872: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8080876: b2db uxtb r3, r3 8080878: 2b00 cmp r3, #0 808087a: d109 bne.n 8080890 808087c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8080880: b2db uxtb r3, r3 8080882: 2b00 cmp r3, #0 8080884: d104 bne.n 8080890 8080886: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808088a: b2db uxtb r3, r3 808088c: 2b00 cmp r3, #0 808088e: d00c beq.n 80808aa str[i++] = ies2 + 48; 8080890: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080894: 1c5a adds r2, r3, #1 8080896: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808089a: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 808089e: b2d2 uxtb r2, r2 80808a0: 3230 adds r2, #48 ; 0x30 80808a2: b2d1 uxtb r1, r2 80808a4: f507 723b add.w r2, r7, #748 ; 0x2ec 80808a8: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 80808aa: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80808ae: b2db uxtb r3, r3 80808b0: 2b00 cmp r3, #0 80808b2: d10e bne.n 80808d2 80808b4: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80808b8: b2db uxtb r3, r3 80808ba: 2b00 cmp r3, #0 80808bc: d109 bne.n 80808d2 80808be: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80808c2: b2db uxtb r3, r3 80808c4: 2b00 cmp r3, #0 80808c6: d104 bne.n 80808d2 80808c8: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80808cc: b2db uxtb r3, r3 80808ce: 2b00 cmp r3, #0 80808d0: d00c beq.n 80808ec str[i++] = ied2 + 48; 80808d2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80808d6: 1c5a adds r2, r3, #1 80808d8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80808dc: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 80808e0: b2d2 uxtb r2, r2 80808e2: 3230 adds r2, #48 ; 0x30 80808e4: b2d1 uxtb r1, r2 80808e6: f507 723b add.w r2, r7, #748 ; 0x2ec 80808ea: 54d1 strb r1, [r2, r3] str[i++] = iee2 + 48; 80808ec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80808f0: 1c5a adds r2, r3, #1 80808f2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80808f6: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 80808fa: b2d2 uxtb r2, r2 80808fc: 3230 adds r2, #48 ; 0x30 80808fe: b2d1 uxtb r1, r2 8080900: f507 723b add.w r2, r7, #748 ; 0x2ec 8080904: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8080906: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808090a: 1c5a adds r2, r3, #1 808090c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080910: f507 723b add.w r2, r7, #748 ; 0x2ec 8080914: 212e movs r1, #46 ; 0x2e 8080916: 54d1 strb r1, [r2, r3] str[i++] = ikd2 + 48; 8080918: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808091c: 1c5a adds r2, r3, #1 808091e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080922: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 8080926: b2d2 uxtb r2, r2 8080928: 3230 adds r2, #48 ; 0x30 808092a: b2d1 uxtb r1, r2 808092c: f507 723b add.w r2, r7, #748 ; 0x2ec 8080930: 54d1 strb r1, [r2, r3] ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_ROLL * 1000.0f); 8080932: 4b26 ldr r3, [pc, #152] ; (80809cc ) 8080934: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 8080938: ed9f 7a2b vldr s14, [pc, #172] ; 80809e8 808093c: ee67 7a87 vmul.f32 s15, s15, s14 8080940: eefc 7ae7 vcvt.u32.f32 s15, s15 8080944: ee17 3a90 vmov r3, s15 8080948: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 roll_ies = k / 100000; 808094c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8080950: 095b lsrs r3, r3, #5 8080952: 4a1f ldr r2, [pc, #124] ; (80809d0 ) 8080954: fba2 2303 umull r2, r3, r2, r3 8080958: 09db lsrs r3, r3, #7 808095a: b2db uxtb r3, r3 808095c: f887 33b3 strb.w r3, [r7, #947] ; 0x3b3 roll_ied = k % 100000 / 10000; 8080960: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080964: 0953 lsrs r3, r2, #5 8080966: 491a ldr r1, [pc, #104] ; (80809d0 ) 8080968: fba1 1303 umull r1, r3, r1, r3 808096c: 09db lsrs r3, r3, #7 808096e: 4919 ldr r1, [pc, #100] ; (80809d4 ) 8080970: fb01 f303 mul.w r3, r1, r3 8080974: 1ad3 subs r3, r2, r3 8080976: 4a18 ldr r2, [pc, #96] ; (80809d8 ) 8080978: fba2 2303 umull r2, r3, r2, r3 808097c: 0b5b lsrs r3, r3, #13 808097e: b2db uxtb r3, r3 8080980: f887 33b2 strb.w r3, [r7, #946] ; 0x3b2 roll_iee = k % 100000 % 10000 / 1000; 8080984: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080988: 0953 lsrs r3, r2, #5 808098a: 4911 ldr r1, [pc, #68] ; (80809d0 ) 808098c: fba1 1303 umull r1, r3, r1, r3 8080990: 09db lsrs r3, r3, #7 8080992: 4910 ldr r1, [pc, #64] ; (80809d4 ) 8080994: fb01 f303 mul.w r3, r1, r3 8080998: 1ad3 subs r3, r2, r3 808099a: 4a0f ldr r2, [pc, #60] ; (80809d8 ) 808099c: fba2 1203 umull r1, r2, r2, r3 80809a0: 0b52 lsrs r2, r2, #13 80809a2: f242 7110 movw r1, #10000 ; 0x2710 80809a6: fb01 f202 mul.w r2, r1, r2 80809aa: 1a9a subs r2, r3, r2 80809ac: 4b0b ldr r3, [pc, #44] ; (80809dc ) 80809ae: fba3 2302 umull r2, r3, r3, r2 80809b2: 099b lsrs r3, r3, #6 80809b4: b2db uxtb r3, r3 80809b6: f887 33b1 strb.w r3, [r7, #945] ; 0x3b1 roll_ikd = k % 100000 % 10000 % 1000 / 100; 80809ba: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80809be: 095a lsrs r2, r3, #5 80809c0: e014 b.n 80809ec 80809c2: bf00 nop 80809c4: ff0a0f1f .word 0xff0a0f1f 80809c8: ffd3d3d3 .word 0xffd3d3d3 80809cc: 20023eb8 .word 0x20023eb8 80809d0: 0a7c5ac5 .word 0x0a7c5ac5 80809d4: 000186a0 .word 0x000186a0 80809d8: d1b71759 .word 0xd1b71759 80809dc: 10624dd3 .word 0x10624dd3 80809e0: 51eb851f .word 0x51eb851f 80809e4: cccccccd .word 0xcccccccd 80809e8: 447a0000 .word 0x447a0000 80809ec: 49da ldr r1, [pc, #872] ; (8080d58 ) 80809ee: fba1 1202 umull r1, r2, r1, r2 80809f2: 09d2 lsrs r2, r2, #7 80809f4: 49d9 ldr r1, [pc, #868] ; (8080d5c ) 80809f6: fb01 f202 mul.w r2, r1, r2 80809fa: 1a9a subs r2, r3, r2 80809fc: 4bd8 ldr r3, [pc, #864] ; (8080d60 ) 80809fe: fba3 1302 umull r1, r3, r3, r2 8080a02: 0b5b lsrs r3, r3, #13 8080a04: f242 7110 movw r1, #10000 ; 0x2710 8080a08: fb01 f303 mul.w r3, r1, r3 8080a0c: 1ad3 subs r3, r2, r3 8080a0e: 4ad5 ldr r2, [pc, #852] ; (8080d64 ) 8080a10: fba2 1203 umull r1, r2, r2, r3 8080a14: 0992 lsrs r2, r2, #6 8080a16: f44f 717a mov.w r1, #1000 ; 0x3e8 8080a1a: fb01 f202 mul.w r2, r1, r2 8080a1e: 1a9a subs r2, r3, r2 8080a20: 4bd1 ldr r3, [pc, #836] ; (8080d68 ) 8080a22: fba3 2302 umull r2, r3, r3, r2 8080a26: 095b lsrs r3, r3, #5 8080a28: b2db uxtb r3, r3 8080a2a: f887 33b0 strb.w r3, [r7, #944] ; 0x3b0 roll_iks = k % 100000 % 10000 % 1000 % 100 / 10; 8080a2e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080a32: 0953 lsrs r3, r2, #5 8080a34: 49c8 ldr r1, [pc, #800] ; (8080d58 ) 8080a36: fba1 1303 umull r1, r3, r1, r3 8080a3a: 09db lsrs r3, r3, #7 8080a3c: 49c7 ldr r1, [pc, #796] ; (8080d5c ) 8080a3e: fb01 f303 mul.w r3, r1, r3 8080a42: 1ad3 subs r3, r2, r3 8080a44: 4ac6 ldr r2, [pc, #792] ; (8080d60 ) 8080a46: fba2 1203 umull r1, r2, r2, r3 8080a4a: 0b52 lsrs r2, r2, #13 8080a4c: f242 7110 movw r1, #10000 ; 0x2710 8080a50: fb01 f202 mul.w r2, r1, r2 8080a54: 1a9a subs r2, r3, r2 8080a56: 4bc3 ldr r3, [pc, #780] ; (8080d64 ) 8080a58: fba3 1302 umull r1, r3, r3, r2 8080a5c: 099b lsrs r3, r3, #6 8080a5e: f44f 717a mov.w r1, #1000 ; 0x3e8 8080a62: fb01 f303 mul.w r3, r1, r3 8080a66: 1ad3 subs r3, r2, r3 8080a68: 4abf ldr r2, [pc, #764] ; (8080d68 ) 8080a6a: fba2 1203 umull r1, r2, r2, r3 8080a6e: 0952 lsrs r2, r2, #5 8080a70: 2164 movs r1, #100 ; 0x64 8080a72: fb01 f202 mul.w r2, r1, r2 8080a76: 1a9a subs r2, r3, r2 8080a78: 4bbc ldr r3, [pc, #752] ; (8080d6c ) 8080a7a: fba3 2302 umull r2, r3, r3, r2 8080a7e: 08db lsrs r3, r3, #3 8080a80: b2db uxtb r3, r3 8080a82: f887 33af strb.w r3, [r7, #943] ; 0x3af roll_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 8080a86: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080a8a: 0953 lsrs r3, r2, #5 8080a8c: 49b2 ldr r1, [pc, #712] ; (8080d58 ) 8080a8e: fba1 1303 umull r1, r3, r1, r3 8080a92: 09db lsrs r3, r3, #7 8080a94: 49b1 ldr r1, [pc, #708] ; (8080d5c ) 8080a96: fb01 f303 mul.w r3, r1, r3 8080a9a: 1ad3 subs r3, r2, r3 8080a9c: 4ab0 ldr r2, [pc, #704] ; (8080d60 ) 8080a9e: fba2 1203 umull r1, r2, r2, r3 8080aa2: 0b52 lsrs r2, r2, #13 8080aa4: f242 7110 movw r1, #10000 ; 0x2710 8080aa8: fb01 f202 mul.w r2, r1, r2 8080aac: 1a9a subs r2, r3, r2 8080aae: 4bad ldr r3, [pc, #692] ; (8080d64 ) 8080ab0: fba3 1302 umull r1, r3, r3, r2 8080ab4: 099b lsrs r3, r3, #6 8080ab6: f44f 717a mov.w r1, #1000 ; 0x3e8 8080aba: fb01 f303 mul.w r3, r1, r3 8080abe: 1ad3 subs r3, r2, r3 8080ac0: 4aa9 ldr r2, [pc, #676] ; (8080d68 ) 8080ac2: fba2 1203 umull r1, r2, r2, r3 8080ac6: 0952 lsrs r2, r2, #5 8080ac8: 2164 movs r1, #100 ; 0x64 8080aca: fb01 f202 mul.w r2, r1, r2 8080ace: 1a9a subs r2, r3, r2 8080ad0: 4ba6 ldr r3, [pc, #664] ; (8080d6c ) 8080ad2: fba3 1302 umull r1, r3, r3, r2 8080ad6: 08d9 lsrs r1, r3, #3 8080ad8: 460b mov r3, r1 8080ada: 009b lsls r3, r3, #2 8080adc: 440b add r3, r1 8080ade: 005b lsls r3, r3, #1 8080ae0: 1ad1 subs r1, r2, r3 8080ae2: b2cb uxtb r3, r1 8080ae4: f887 33ae strb.w r3, [r7, #942] ; 0x3ae i = 0; 8080ae8: 2300 movs r3, #0 8080aea: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_roll, 0, sizeof(str_roll)); 8080aee: f507 735e add.w r3, r7, #888 ; 0x378 8080af2: 2214 movs r2, #20 8080af4: 2100 movs r1, #0 8080af6: 4618 mov r0, r3 8080af8: f051 fa54 bl 80d1fa4 if(roll_ies != 0) 8080afc: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 8080b00: b2db uxtb r3, r3 8080b02: 2b00 cmp r3, #0 8080b04: d00e beq.n 8080b24 str_roll[i++] = roll_ies + 48; 8080b06: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080b0a: 1c5a adds r2, r3, #1 8080b0c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080b10: f897 23b3 ldrb.w r2, [r7, #947] ; 0x3b3 8080b14: b2d2 uxtb r2, r2 8080b16: 3230 adds r2, #48 ; 0x30 8080b18: b2d2 uxtb r2, r2 8080b1a: f507 618e add.w r1, r7, #1136 ; 0x470 8080b1e: 440b add r3, r1 8080b20: f803 2cf8 strb.w r2, [r3, #-248] if((roll_ies != 0) || (roll_ied != 0)) 8080b24: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 8080b28: b2db uxtb r3, r3 8080b2a: 2b00 cmp r3, #0 8080b2c: d104 bne.n 8080b38 8080b2e: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 8080b32: b2db uxtb r3, r3 8080b34: 2b00 cmp r3, #0 8080b36: d00e beq.n 8080b56 str_roll[i++] = roll_ied + 48; 8080b38: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080b3c: 1c5a adds r2, r3, #1 8080b3e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080b42: f897 23b2 ldrb.w r2, [r7, #946] ; 0x3b2 8080b46: b2d2 uxtb r2, r2 8080b48: 3230 adds r2, #48 ; 0x30 8080b4a: b2d2 uxtb r2, r2 8080b4c: f507 618e add.w r1, r7, #1136 ; 0x470 8080b50: 440b add r3, r1 8080b52: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = roll_iee + 48; 8080b56: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080b5a: 1c5a adds r2, r3, #1 8080b5c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080b60: f897 23b1 ldrb.w r2, [r7, #945] ; 0x3b1 8080b64: b2d2 uxtb r2, r2 8080b66: 3230 adds r2, #48 ; 0x30 8080b68: b2d2 uxtb r2, r2 8080b6a: f507 618e add.w r1, r7, #1136 ; 0x470 8080b6e: 440b add r3, r1 8080b70: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = '.'; 8080b74: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080b78: 1c5a adds r2, r3, #1 8080b7a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080b7e: f507 628e add.w r2, r7, #1136 ; 0x470 8080b82: 4413 add r3, r2 8080b84: 222e movs r2, #46 ; 0x2e 8080b86: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = roll_ikd + 48; 8080b8a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080b8e: 1c5a adds r2, r3, #1 8080b90: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080b94: f897 23b0 ldrb.w r2, [r7, #944] ; 0x3b0 8080b98: b2d2 uxtb r2, r2 8080b9a: 3230 adds r2, #48 ; 0x30 8080b9c: b2d2 uxtb r2, r2 8080b9e: f507 618e add.w r1, r7, #1136 ; 0x470 8080ba2: 440b add r3, r1 8080ba4: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = roll_iks + 48; 8080ba8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080bac: 1c5a adds r2, r3, #1 8080bae: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080bb2: f897 23af ldrb.w r2, [r7, #943] ; 0x3af 8080bb6: b2d2 uxtb r2, r2 8080bb8: 3230 adds r2, #48 ; 0x30 8080bba: b2d2 uxtb r2, r2 8080bbc: f507 618e add.w r1, r7, #1136 ; 0x470 8080bc0: 440b add r3, r1 8080bc2: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = roll_ikt + 48; 8080bc6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080bca: 1c5a adds r2, r3, #1 8080bcc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080bd0: f897 23ae ldrb.w r2, [r7, #942] ; 0x3ae 8080bd4: b2d2 uxtb r2, r2 8080bd6: 3230 adds r2, #48 ; 0x30 8080bd8: b2d2 uxtb r2, r2 8080bda: f507 618e add.w r1, r7, #1136 ; 0x470 8080bde: 440b add r3, r1 8080be0: f803 2cf8 strb.w r2, [r3, #-248] ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_OUTER * 1000.0f); 8080be4: 4b62 ldr r3, [pc, #392] ; (8080d70 ) 8080be6: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 8080bea: ed9f 7a62 vldr s14, [pc, #392] ; 8080d74 8080bee: ee67 7a87 vmul.f32 s15, s15, s14 8080bf2: eefc 7ae7 vcvt.u32.f32 s15, s15 8080bf6: ee17 3a90 vmov r3, s15 8080bfa: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 outer_ies = k / 100000; 8080bfe: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8080c02: 095b lsrs r3, r3, #5 8080c04: 4a54 ldr r2, [pc, #336] ; (8080d58 ) 8080c06: fba2 2303 umull r2, r3, r2, r3 8080c0a: 09db lsrs r3, r3, #7 8080c0c: b2db uxtb r3, r3 8080c0e: f887 33ab strb.w r3, [r7, #939] ; 0x3ab outer_ied = k % 100000 / 10000; 8080c12: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080c16: 0953 lsrs r3, r2, #5 8080c18: 494f ldr r1, [pc, #316] ; (8080d58 ) 8080c1a: fba1 1303 umull r1, r3, r1, r3 8080c1e: 09db lsrs r3, r3, #7 8080c20: 494e ldr r1, [pc, #312] ; (8080d5c ) 8080c22: fb01 f303 mul.w r3, r1, r3 8080c26: 1ad3 subs r3, r2, r3 8080c28: 4a4d ldr r2, [pc, #308] ; (8080d60 ) 8080c2a: fba2 2303 umull r2, r3, r2, r3 8080c2e: 0b5b lsrs r3, r3, #13 8080c30: b2db uxtb r3, r3 8080c32: f887 33aa strb.w r3, [r7, #938] ; 0x3aa outer_iee = k % 100000 % 10000 / 1000; 8080c36: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080c3a: 0953 lsrs r3, r2, #5 8080c3c: 4946 ldr r1, [pc, #280] ; (8080d58 ) 8080c3e: fba1 1303 umull r1, r3, r1, r3 8080c42: 09db lsrs r3, r3, #7 8080c44: 4945 ldr r1, [pc, #276] ; (8080d5c ) 8080c46: fb01 f303 mul.w r3, r1, r3 8080c4a: 1ad3 subs r3, r2, r3 8080c4c: 4a44 ldr r2, [pc, #272] ; (8080d60 ) 8080c4e: fba2 1203 umull r1, r2, r2, r3 8080c52: 0b52 lsrs r2, r2, #13 8080c54: f242 7110 movw r1, #10000 ; 0x2710 8080c58: fb01 f202 mul.w r2, r1, r2 8080c5c: 1a9a subs r2, r3, r2 8080c5e: 4b41 ldr r3, [pc, #260] ; (8080d64 ) 8080c60: fba3 2302 umull r2, r3, r3, r2 8080c64: 099b lsrs r3, r3, #6 8080c66: b2db uxtb r3, r3 8080c68: f887 33a9 strb.w r3, [r7, #937] ; 0x3a9 outer_ikd = k % 100000 % 10000 % 1000 / 100; 8080c6c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8080c70: 095a lsrs r2, r3, #5 8080c72: 4939 ldr r1, [pc, #228] ; (8080d58 ) 8080c74: fba1 1202 umull r1, r2, r1, r2 8080c78: 09d2 lsrs r2, r2, #7 8080c7a: 4938 ldr r1, [pc, #224] ; (8080d5c ) 8080c7c: fb01 f202 mul.w r2, r1, r2 8080c80: 1a9a subs r2, r3, r2 8080c82: 4b37 ldr r3, [pc, #220] ; (8080d60 ) 8080c84: fba3 1302 umull r1, r3, r3, r2 8080c88: 0b5b lsrs r3, r3, #13 8080c8a: f242 7110 movw r1, #10000 ; 0x2710 8080c8e: fb01 f303 mul.w r3, r1, r3 8080c92: 1ad3 subs r3, r2, r3 8080c94: 4a33 ldr r2, [pc, #204] ; (8080d64 ) 8080c96: fba2 1203 umull r1, r2, r2, r3 8080c9a: 0992 lsrs r2, r2, #6 8080c9c: f44f 717a mov.w r1, #1000 ; 0x3e8 8080ca0: fb01 f202 mul.w r2, r1, r2 8080ca4: 1a9a subs r2, r3, r2 8080ca6: 4b30 ldr r3, [pc, #192] ; (8080d68 ) 8080ca8: fba3 2302 umull r2, r3, r3, r2 8080cac: 095b lsrs r3, r3, #5 8080cae: b2db uxtb r3, r3 8080cb0: f887 33a8 strb.w r3, [r7, #936] ; 0x3a8 outer_iks = k % 100000 % 10000 % 1000 % 100 / 10; 8080cb4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080cb8: 0953 lsrs r3, r2, #5 8080cba: 4927 ldr r1, [pc, #156] ; (8080d58 ) 8080cbc: fba1 1303 umull r1, r3, r1, r3 8080cc0: 09db lsrs r3, r3, #7 8080cc2: 4926 ldr r1, [pc, #152] ; (8080d5c ) 8080cc4: fb01 f303 mul.w r3, r1, r3 8080cc8: 1ad3 subs r3, r2, r3 8080cca: 4a25 ldr r2, [pc, #148] ; (8080d60 ) 8080ccc: fba2 1203 umull r1, r2, r2, r3 8080cd0: 0b52 lsrs r2, r2, #13 8080cd2: f242 7110 movw r1, #10000 ; 0x2710 8080cd6: fb01 f202 mul.w r2, r1, r2 8080cda: 1a9a subs r2, r3, r2 8080cdc: 4b21 ldr r3, [pc, #132] ; (8080d64 ) 8080cde: fba3 1302 umull r1, r3, r3, r2 8080ce2: 099b lsrs r3, r3, #6 8080ce4: f44f 717a mov.w r1, #1000 ; 0x3e8 8080ce8: fb01 f303 mul.w r3, r1, r3 8080cec: 1ad3 subs r3, r2, r3 8080cee: 4a1e ldr r2, [pc, #120] ; (8080d68 ) 8080cf0: fba2 1203 umull r1, r2, r2, r3 8080cf4: 0952 lsrs r2, r2, #5 8080cf6: 2164 movs r1, #100 ; 0x64 8080cf8: fb01 f202 mul.w r2, r1, r2 8080cfc: 1a9a subs r2, r3, r2 8080cfe: 4b1b ldr r3, [pc, #108] ; (8080d6c ) 8080d00: fba3 2302 umull r2, r3, r3, r2 8080d04: 08db lsrs r3, r3, #3 8080d06: b2db uxtb r3, r3 8080d08: f887 33a7 strb.w r3, [r7, #935] ; 0x3a7 outer_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 8080d0c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080d10: 0953 lsrs r3, r2, #5 8080d12: 4911 ldr r1, [pc, #68] ; (8080d58 ) 8080d14: fba1 1303 umull r1, r3, r1, r3 8080d18: 09db lsrs r3, r3, #7 8080d1a: 4910 ldr r1, [pc, #64] ; (8080d5c ) 8080d1c: fb01 f303 mul.w r3, r1, r3 8080d20: 1ad3 subs r3, r2, r3 8080d22: 4a0f ldr r2, [pc, #60] ; (8080d60 ) 8080d24: fba2 1203 umull r1, r2, r2, r3 8080d28: 0b52 lsrs r2, r2, #13 8080d2a: f242 7110 movw r1, #10000 ; 0x2710 8080d2e: fb01 f202 mul.w r2, r1, r2 8080d32: 1a9a subs r2, r3, r2 8080d34: 4b0b ldr r3, [pc, #44] ; (8080d64 ) 8080d36: fba3 1302 umull r1, r3, r3, r2 8080d3a: 099b lsrs r3, r3, #6 8080d3c: f44f 717a mov.w r1, #1000 ; 0x3e8 8080d40: fb01 f303 mul.w r3, r1, r3 8080d44: 1ad3 subs r3, r2, r3 8080d46: 4a08 ldr r2, [pc, #32] ; (8080d68 ) 8080d48: fba2 1203 umull r1, r2, r2, r3 8080d4c: 0952 lsrs r2, r2, #5 8080d4e: 2164 movs r1, #100 ; 0x64 8080d50: fb01 f202 mul.w r2, r1, r2 8080d54: 1a9a subs r2, r3, r2 8080d56: e00f b.n 8080d78 8080d58: 0a7c5ac5 .word 0x0a7c5ac5 8080d5c: 000186a0 .word 0x000186a0 8080d60: d1b71759 .word 0xd1b71759 8080d64: 10624dd3 .word 0x10624dd3 8080d68: 51eb851f .word 0x51eb851f 8080d6c: cccccccd .word 0xcccccccd 8080d70: 20023eb8 .word 0x20023eb8 8080d74: 447a0000 .word 0x447a0000 8080d78: 4bb3 ldr r3, [pc, #716] ; (8081048 ) 8080d7a: fba3 1302 umull r1, r3, r3, r2 8080d7e: 08d9 lsrs r1, r3, #3 8080d80: 460b mov r3, r1 8080d82: 009b lsls r3, r3, #2 8080d84: 440b add r3, r1 8080d86: 005b lsls r3, r3, #1 8080d88: 1ad1 subs r1, r2, r3 8080d8a: b2cb uxtb r3, r1 8080d8c: f887 33a6 strb.w r3, [r7, #934] ; 0x3a6 i = 0; 8080d90: 2300 movs r3, #0 8080d92: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_outer, 0, sizeof(str_outer)); 8080d96: f507 7359 add.w r3, r7, #868 ; 0x364 8080d9a: 2214 movs r2, #20 8080d9c: 2100 movs r1, #0 8080d9e: 4618 mov r0, r3 8080da0: f051 f900 bl 80d1fa4 if(outer_ies != 0) 8080da4: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 8080da8: b2db uxtb r3, r3 8080daa: 2b00 cmp r3, #0 8080dac: d00c beq.n 8080dc8 str_outer[i++] = outer_ies + 48; 8080dae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080db2: 1c5a adds r2, r3, #1 8080db4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080db8: f897 23ab ldrb.w r2, [r7, #939] ; 0x3ab 8080dbc: b2d2 uxtb r2, r2 8080dbe: 3230 adds r2, #48 ; 0x30 8080dc0: b2d1 uxtb r1, r2 8080dc2: f507 7259 add.w r2, r7, #868 ; 0x364 8080dc6: 54d1 strb r1, [r2, r3] if((outer_ies != 0) || (outer_ied != 0)) 8080dc8: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 8080dcc: b2db uxtb r3, r3 8080dce: 2b00 cmp r3, #0 8080dd0: d104 bne.n 8080ddc 8080dd2: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 8080dd6: b2db uxtb r3, r3 8080dd8: 2b00 cmp r3, #0 8080dda: d00c beq.n 8080df6 str_outer[i++] = outer_ied + 48; 8080ddc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080de0: 1c5a adds r2, r3, #1 8080de2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080de6: f897 23aa ldrb.w r2, [r7, #938] ; 0x3aa 8080dea: b2d2 uxtb r2, r2 8080dec: 3230 adds r2, #48 ; 0x30 8080dee: b2d1 uxtb r1, r2 8080df0: f507 7259 add.w r2, r7, #868 ; 0x364 8080df4: 54d1 strb r1, [r2, r3] str_outer[i++] = outer_iee + 48; 8080df6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080dfa: 1c5a adds r2, r3, #1 8080dfc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080e00: f897 23a9 ldrb.w r2, [r7, #937] ; 0x3a9 8080e04: b2d2 uxtb r2, r2 8080e06: 3230 adds r2, #48 ; 0x30 8080e08: b2d1 uxtb r1, r2 8080e0a: f507 7259 add.w r2, r7, #868 ; 0x364 8080e0e: 54d1 strb r1, [r2, r3] str_outer[i++] = '.'; 8080e10: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080e14: 1c5a adds r2, r3, #1 8080e16: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080e1a: f507 7259 add.w r2, r7, #868 ; 0x364 8080e1e: 212e movs r1, #46 ; 0x2e 8080e20: 54d1 strb r1, [r2, r3] str_outer[i++] = outer_ikd + 48; 8080e22: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080e26: 1c5a adds r2, r3, #1 8080e28: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080e2c: f897 23a8 ldrb.w r2, [r7, #936] ; 0x3a8 8080e30: b2d2 uxtb r2, r2 8080e32: 3230 adds r2, #48 ; 0x30 8080e34: b2d1 uxtb r1, r2 8080e36: f507 7259 add.w r2, r7, #868 ; 0x364 8080e3a: 54d1 strb r1, [r2, r3] str_outer[i++] = outer_iks + 48; 8080e3c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080e40: 1c5a adds r2, r3, #1 8080e42: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080e46: f897 23a7 ldrb.w r2, [r7, #935] ; 0x3a7 8080e4a: b2d2 uxtb r2, r2 8080e4c: 3230 adds r2, #48 ; 0x30 8080e4e: b2d1 uxtb r1, r2 8080e50: f507 7259 add.w r2, r7, #868 ; 0x364 8080e54: 54d1 strb r1, [r2, r3] str_outer[i++] = outer_ikt + 48; 8080e56: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080e5a: 1c5a adds r2, r3, #1 8080e5c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080e60: f897 23a6 ldrb.w r2, [r7, #934] ; 0x3a6 8080e64: b2d2 uxtb r2, r2 8080e66: 3230 adds r2, #48 ; 0x30 8080e68: b2d1 uxtb r1, r2 8080e6a: f507 7259 add.w r2, r7, #868 ; 0x364 8080e6e: 54d1 strb r1, [r2, r3] ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_INNER * 1000.0f); 8080e70: 4b76 ldr r3, [pc, #472] ; (808104c ) 8080e72: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 8080e76: ed9f 7a76 vldr s14, [pc, #472] ; 8081050 8080e7a: ee67 7a87 vmul.f32 s15, s15, s14 8080e7e: eefc 7ae7 vcvt.u32.f32 s15, s15 8080e82: ee17 3a90 vmov r3, s15 8080e86: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 inner_ies = k / 100000; 8080e8a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8080e8e: 095b lsrs r3, r3, #5 8080e90: 4a70 ldr r2, [pc, #448] ; (8081054 ) 8080e92: fba2 2303 umull r2, r3, r2, r3 8080e96: 09db lsrs r3, r3, #7 8080e98: b2db uxtb r3, r3 8080e9a: f887 33a3 strb.w r3, [r7, #931] ; 0x3a3 inner_ied = k % 100000 / 10000; 8080e9e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080ea2: 0953 lsrs r3, r2, #5 8080ea4: 496b ldr r1, [pc, #428] ; (8081054 ) 8080ea6: fba1 1303 umull r1, r3, r1, r3 8080eaa: 09db lsrs r3, r3, #7 8080eac: 496a ldr r1, [pc, #424] ; (8081058 ) 8080eae: fb01 f303 mul.w r3, r1, r3 8080eb2: 1ad3 subs r3, r2, r3 8080eb4: 4a69 ldr r2, [pc, #420] ; (808105c ) 8080eb6: fba2 2303 umull r2, r3, r2, r3 8080eba: 0b5b lsrs r3, r3, #13 8080ebc: b2db uxtb r3, r3 8080ebe: f887 33a2 strb.w r3, [r7, #930] ; 0x3a2 inner_iee = k % 100000 % 10000 / 1000; 8080ec2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080ec6: 0953 lsrs r3, r2, #5 8080ec8: 4962 ldr r1, [pc, #392] ; (8081054 ) 8080eca: fba1 1303 umull r1, r3, r1, r3 8080ece: 09db lsrs r3, r3, #7 8080ed0: 4961 ldr r1, [pc, #388] ; (8081058 ) 8080ed2: fb01 f303 mul.w r3, r1, r3 8080ed6: 1ad3 subs r3, r2, r3 8080ed8: 4a60 ldr r2, [pc, #384] ; (808105c ) 8080eda: fba2 1203 umull r1, r2, r2, r3 8080ede: 0b52 lsrs r2, r2, #13 8080ee0: f242 7110 movw r1, #10000 ; 0x2710 8080ee4: fb01 f202 mul.w r2, r1, r2 8080ee8: 1a9a subs r2, r3, r2 8080eea: 4b5d ldr r3, [pc, #372] ; (8081060 ) 8080eec: fba3 2302 umull r2, r3, r3, r2 8080ef0: 099b lsrs r3, r3, #6 8080ef2: b2db uxtb r3, r3 8080ef4: f887 33a1 strb.w r3, [r7, #929] ; 0x3a1 inner_ikd = k % 100000 % 10000 % 1000 / 100; 8080ef8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8080efc: 095a lsrs r2, r3, #5 8080efe: 4955 ldr r1, [pc, #340] ; (8081054 ) 8080f00: fba1 1202 umull r1, r2, r1, r2 8080f04: 09d2 lsrs r2, r2, #7 8080f06: 4954 ldr r1, [pc, #336] ; (8081058 ) 8080f08: fb01 f202 mul.w r2, r1, r2 8080f0c: 1a9a subs r2, r3, r2 8080f0e: 4b53 ldr r3, [pc, #332] ; (808105c ) 8080f10: fba3 1302 umull r1, r3, r3, r2 8080f14: 0b5b lsrs r3, r3, #13 8080f16: f242 7110 movw r1, #10000 ; 0x2710 8080f1a: fb01 f303 mul.w r3, r1, r3 8080f1e: 1ad3 subs r3, r2, r3 8080f20: 4a4f ldr r2, [pc, #316] ; (8081060 ) 8080f22: fba2 1203 umull r1, r2, r2, r3 8080f26: 0992 lsrs r2, r2, #6 8080f28: f44f 717a mov.w r1, #1000 ; 0x3e8 8080f2c: fb01 f202 mul.w r2, r1, r2 8080f30: 1a9a subs r2, r3, r2 8080f32: 4b4c ldr r3, [pc, #304] ; (8081064 ) 8080f34: fba3 2302 umull r2, r3, r3, r2 8080f38: 095b lsrs r3, r3, #5 8080f3a: b2db uxtb r3, r3 8080f3c: f887 33a0 strb.w r3, [r7, #928] ; 0x3a0 inner_iks = k % 100000 % 10000 % 1000 % 100 / 10; 8080f40: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080f44: 0953 lsrs r3, r2, #5 8080f46: 4943 ldr r1, [pc, #268] ; (8081054 ) 8080f48: fba1 1303 umull r1, r3, r1, r3 8080f4c: 09db lsrs r3, r3, #7 8080f4e: 4942 ldr r1, [pc, #264] ; (8081058 ) 8080f50: fb01 f303 mul.w r3, r1, r3 8080f54: 1ad3 subs r3, r2, r3 8080f56: 4a41 ldr r2, [pc, #260] ; (808105c ) 8080f58: fba2 1203 umull r1, r2, r2, r3 8080f5c: 0b52 lsrs r2, r2, #13 8080f5e: f242 7110 movw r1, #10000 ; 0x2710 8080f62: fb01 f202 mul.w r2, r1, r2 8080f66: 1a9a subs r2, r3, r2 8080f68: 4b3d ldr r3, [pc, #244] ; (8081060 ) 8080f6a: fba3 1302 umull r1, r3, r3, r2 8080f6e: 099b lsrs r3, r3, #6 8080f70: f44f 717a mov.w r1, #1000 ; 0x3e8 8080f74: fb01 f303 mul.w r3, r1, r3 8080f78: 1ad3 subs r3, r2, r3 8080f7a: 4a3a ldr r2, [pc, #232] ; (8081064 ) 8080f7c: fba2 1203 umull r1, r2, r2, r3 8080f80: 0952 lsrs r2, r2, #5 8080f82: 2164 movs r1, #100 ; 0x64 8080f84: fb01 f202 mul.w r2, r1, r2 8080f88: 1a9a subs r2, r3, r2 8080f8a: 4b2f ldr r3, [pc, #188] ; (8081048 ) 8080f8c: fba3 2302 umull r2, r3, r3, r2 8080f90: 08db lsrs r3, r3, #3 8080f92: b2db uxtb r3, r3 8080f94: f887 339f strb.w r3, [r7, #927] ; 0x39f inner_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 8080f98: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080f9c: 0953 lsrs r3, r2, #5 8080f9e: 492d ldr r1, [pc, #180] ; (8081054 ) 8080fa0: fba1 1303 umull r1, r3, r1, r3 8080fa4: 09db lsrs r3, r3, #7 8080fa6: 492c ldr r1, [pc, #176] ; (8081058 ) 8080fa8: fb01 f303 mul.w r3, r1, r3 8080fac: 1ad3 subs r3, r2, r3 8080fae: 4a2b ldr r2, [pc, #172] ; (808105c ) 8080fb0: fba2 1203 umull r1, r2, r2, r3 8080fb4: 0b52 lsrs r2, r2, #13 8080fb6: f242 7110 movw r1, #10000 ; 0x2710 8080fba: fb01 f202 mul.w r2, r1, r2 8080fbe: 1a9a subs r2, r3, r2 8080fc0: 4b27 ldr r3, [pc, #156] ; (8081060 ) 8080fc2: fba3 1302 umull r1, r3, r3, r2 8080fc6: 099b lsrs r3, r3, #6 8080fc8: f44f 717a mov.w r1, #1000 ; 0x3e8 8080fcc: fb01 f303 mul.w r3, r1, r3 8080fd0: 1ad3 subs r3, r2, r3 8080fd2: 4a24 ldr r2, [pc, #144] ; (8081064 ) 8080fd4: fba2 1203 umull r1, r2, r2, r3 8080fd8: 0952 lsrs r2, r2, #5 8080fda: 2164 movs r1, #100 ; 0x64 8080fdc: fb01 f202 mul.w r2, r1, r2 8080fe0: 1a9a subs r2, r3, r2 8080fe2: 4b19 ldr r3, [pc, #100] ; (8081048 ) 8080fe4: fba3 1302 umull r1, r3, r3, r2 8080fe8: 08d9 lsrs r1, r3, #3 8080fea: 460b mov r3, r1 8080fec: 009b lsls r3, r3, #2 8080fee: 440b add r3, r1 8080ff0: 005b lsls r3, r3, #1 8080ff2: 1ad1 subs r1, r2, r3 8080ff4: b2cb uxtb r3, r1 8080ff6: f887 339e strb.w r3, [r7, #926] ; 0x39e i = 0; 8080ffa: 2300 movs r3, #0 8080ffc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_inner, 0, sizeof(str_inner)); 8081000: f507 7354 add.w r3, r7, #848 ; 0x350 8081004: 2214 movs r2, #20 8081006: 2100 movs r1, #0 8081008: 4618 mov r0, r3 808100a: f050 ffcb bl 80d1fa4 if(inner_ies != 0) 808100e: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8081012: b2db uxtb r3, r3 8081014: 2b00 cmp r3, #0 8081016: d00c beq.n 8081032 str_inner[i++] = inner_ies + 48; 8081018: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808101c: 1c5a adds r2, r3, #1 808101e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8081022: f897 23a3 ldrb.w r2, [r7, #931] ; 0x3a3 8081026: b2d2 uxtb r2, r2 8081028: 3230 adds r2, #48 ; 0x30 808102a: b2d1 uxtb r1, r2 808102c: f507 7254 add.w r2, r7, #848 ; 0x350 8081030: 54d1 strb r1, [r2, r3] if((inner_ies != 0) || (inner_ied != 0)) 8081032: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8081036: b2db uxtb r3, r3 8081038: 2b00 cmp r3, #0 808103a: d115 bne.n 8081068 808103c: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8081040: b2db uxtb r3, r3 8081042: 2b00 cmp r3, #0 8081044: d01d beq.n 8081082 8081046: e00f b.n 8081068 8081048: cccccccd .word 0xcccccccd 808104c: 20023eb8 .word 0x20023eb8 8081050: 447a0000 .word 0x447a0000 8081054: 0a7c5ac5 .word 0x0a7c5ac5 8081058: 000186a0 .word 0x000186a0 808105c: d1b71759 .word 0xd1b71759 8081060: 10624dd3 .word 0x10624dd3 8081064: 51eb851f .word 0x51eb851f str_inner[i++] = inner_ied + 48; 8081068: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808106c: 1c5a adds r2, r3, #1 808106e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8081072: f897 23a2 ldrb.w r2, [r7, #930] ; 0x3a2 8081076: b2d2 uxtb r2, r2 8081078: 3230 adds r2, #48 ; 0x30 808107a: b2d1 uxtb r1, r2 808107c: f507 7254 add.w r2, r7, #848 ; 0x350 8081080: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_iee + 48; 8081082: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8081086: 1c5a adds r2, r3, #1 8081088: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808108c: f897 23a1 ldrb.w r2, [r7, #929] ; 0x3a1 8081090: b2d2 uxtb r2, r2 8081092: 3230 adds r2, #48 ; 0x30 8081094: b2d1 uxtb r1, r2 8081096: f507 7254 add.w r2, r7, #848 ; 0x350 808109a: 54d1 strb r1, [r2, r3] str_inner[i++] = '.'; 808109c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80810a0: 1c5a adds r2, r3, #1 80810a2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80810a6: f507 7254 add.w r2, r7, #848 ; 0x350 80810aa: 212e movs r1, #46 ; 0x2e 80810ac: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_ikd + 48; 80810ae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80810b2: 1c5a adds r2, r3, #1 80810b4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80810b8: f897 23a0 ldrb.w r2, [r7, #928] ; 0x3a0 80810bc: b2d2 uxtb r2, r2 80810be: 3230 adds r2, #48 ; 0x30 80810c0: b2d1 uxtb r1, r2 80810c2: f507 7254 add.w r2, r7, #848 ; 0x350 80810c6: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_iks + 48; 80810c8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80810cc: 1c5a adds r2, r3, #1 80810ce: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80810d2: f897 239f ldrb.w r2, [r7, #927] ; 0x39f 80810d6: b2d2 uxtb r2, r2 80810d8: 3230 adds r2, #48 ; 0x30 80810da: b2d1 uxtb r1, r2 80810dc: f507 7254 add.w r2, r7, #848 ; 0x350 80810e0: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_ikt + 48; 80810e2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80810e6: 1c5a adds r2, r3, #1 80810e8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80810ec: f897 239e ldrb.w r2, [r7, #926] ; 0x39e 80810f0: b2d2 uxtb r2, r2 80810f2: 3230 adds r2, #48 ; 0x30 80810f4: b2d1 uxtb r1, r2 80810f6: f507 7254 add.w r2, r7, #848 ; 0x350 80810fa: 54d1 strb r1, [r2, r3] ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_ANGLE * 1000.0f); 80810fc: 4bcd ldr r3, [pc, #820] ; (8081434 ) 80810fe: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 8081102: ed9f 7acd vldr s14, [pc, #820] ; 8081438 8081106: ee67 7a87 vmul.f32 s15, s15, s14 808110a: eefc 7ae7 vcvt.u32.f32 s15, s15 808110e: ee17 3a90 vmov r3, s15 8081112: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 angle_ies = k / 100000; 8081116: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808111a: 095b lsrs r3, r3, #5 808111c: 4ac7 ldr r2, [pc, #796] ; (808143c ) 808111e: fba2 2303 umull r2, r3, r2, r3 8081122: 09db lsrs r3, r3, #7 8081124: b2db uxtb r3, r3 8081126: f887 339b strb.w r3, [r7, #923] ; 0x39b angle_ied = k % 100000 / 10000; 808112a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808112e: 0953 lsrs r3, r2, #5 8081130: 49c2 ldr r1, [pc, #776] ; (808143c ) 8081132: fba1 1303 umull r1, r3, r1, r3 8081136: 09db lsrs r3, r3, #7 8081138: 49c1 ldr r1, [pc, #772] ; (8081440 ) 808113a: fb01 f303 mul.w r3, r1, r3 808113e: 1ad3 subs r3, r2, r3 8081140: 4ac0 ldr r2, [pc, #768] ; (8081444 ) 8081142: fba2 2303 umull r2, r3, r2, r3 8081146: 0b5b lsrs r3, r3, #13 8081148: b2db uxtb r3, r3 808114a: f887 339a strb.w r3, [r7, #922] ; 0x39a angle_iee = k % 100000 % 10000 / 1000; 808114e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8081152: 0953 lsrs r3, r2, #5 8081154: 49b9 ldr r1, [pc, #740] ; (808143c ) 8081156: fba1 1303 umull r1, r3, r1, r3 808115a: 09db lsrs r3, r3, #7 808115c: 49b8 ldr r1, [pc, #736] ; (8081440 ) 808115e: fb01 f303 mul.w r3, r1, r3 8081162: 1ad3 subs r3, r2, r3 8081164: 4ab7 ldr r2, [pc, #732] ; (8081444 ) 8081166: fba2 1203 umull r1, r2, r2, r3 808116a: 0b52 lsrs r2, r2, #13 808116c: f242 7110 movw r1, #10000 ; 0x2710 8081170: fb01 f202 mul.w r2, r1, r2 8081174: 1a9a subs r2, r3, r2 8081176: 4bb4 ldr r3, [pc, #720] ; (8081448 ) 8081178: fba3 2302 umull r2, r3, r3, r2 808117c: 099b lsrs r3, r3, #6 808117e: b2db uxtb r3, r3 8081180: f887 3399 strb.w r3, [r7, #921] ; 0x399 angle_ikd = k % 100000 % 10000 % 1000 / 100; 8081184: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8081188: 095a lsrs r2, r3, #5 808118a: 49ac ldr r1, [pc, #688] ; (808143c ) 808118c: fba1 1202 umull r1, r2, r1, r2 8081190: 09d2 lsrs r2, r2, #7 8081192: 49ab ldr r1, [pc, #684] ; (8081440 ) 8081194: fb01 f202 mul.w r2, r1, r2 8081198: 1a9a subs r2, r3, r2 808119a: 4baa ldr r3, [pc, #680] ; (8081444 ) 808119c: fba3 1302 umull r1, r3, r3, r2 80811a0: 0b5b lsrs r3, r3, #13 80811a2: f242 7110 movw r1, #10000 ; 0x2710 80811a6: fb01 f303 mul.w r3, r1, r3 80811aa: 1ad3 subs r3, r2, r3 80811ac: 4aa6 ldr r2, [pc, #664] ; (8081448 ) 80811ae: fba2 1203 umull r1, r2, r2, r3 80811b2: 0992 lsrs r2, r2, #6 80811b4: f44f 717a mov.w r1, #1000 ; 0x3e8 80811b8: fb01 f202 mul.w r2, r1, r2 80811bc: 1a9a subs r2, r3, r2 80811be: 4ba3 ldr r3, [pc, #652] ; (808144c ) 80811c0: fba3 2302 umull r2, r3, r3, r2 80811c4: 095b lsrs r3, r3, #5 80811c6: b2db uxtb r3, r3 80811c8: f887 3398 strb.w r3, [r7, #920] ; 0x398 angle_iks = k % 100000 % 10000 % 1000 % 100 / 10; 80811cc: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80811d0: 0953 lsrs r3, r2, #5 80811d2: 499a ldr r1, [pc, #616] ; (808143c ) 80811d4: fba1 1303 umull r1, r3, r1, r3 80811d8: 09db lsrs r3, r3, #7 80811da: 4999 ldr r1, [pc, #612] ; (8081440 ) 80811dc: fb01 f303 mul.w r3, r1, r3 80811e0: 1ad3 subs r3, r2, r3 80811e2: 4a98 ldr r2, [pc, #608] ; (8081444 ) 80811e4: fba2 1203 umull r1, r2, r2, r3 80811e8: 0b52 lsrs r2, r2, #13 80811ea: f242 7110 movw r1, #10000 ; 0x2710 80811ee: fb01 f202 mul.w r2, r1, r2 80811f2: 1a9a subs r2, r3, r2 80811f4: 4b94 ldr r3, [pc, #592] ; (8081448 ) 80811f6: fba3 1302 umull r1, r3, r3, r2 80811fa: 099b lsrs r3, r3, #6 80811fc: f44f 717a mov.w r1, #1000 ; 0x3e8 8081200: fb01 f303 mul.w r3, r1, r3 8081204: 1ad3 subs r3, r2, r3 8081206: 4a91 ldr r2, [pc, #580] ; (808144c ) 8081208: fba2 1203 umull r1, r2, r2, r3 808120c: 0952 lsrs r2, r2, #5 808120e: 2164 movs r1, #100 ; 0x64 8081210: fb01 f202 mul.w r2, r1, r2 8081214: 1a9a subs r2, r3, r2 8081216: 4b8e ldr r3, [pc, #568] ; (8081450 ) 8081218: fba3 2302 umull r2, r3, r3, r2 808121c: 08db lsrs r3, r3, #3 808121e: b2db uxtb r3, r3 8081220: f887 3397 strb.w r3, [r7, #919] ; 0x397 angle_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 8081224: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8081228: 0953 lsrs r3, r2, #5 808122a: 4984 ldr r1, [pc, #528] ; (808143c ) 808122c: fba1 1303 umull r1, r3, r1, r3 8081230: 09db lsrs r3, r3, #7 8081232: 4983 ldr r1, [pc, #524] ; (8081440 ) 8081234: fb01 f303 mul.w r3, r1, r3 8081238: 1ad3 subs r3, r2, r3 808123a: 4a82 ldr r2, [pc, #520] ; (8081444 ) 808123c: fba2 1203 umull r1, r2, r2, r3 8081240: 0b52 lsrs r2, r2, #13 8081242: f242 7110 movw r1, #10000 ; 0x2710 8081246: fb01 f202 mul.w r2, r1, r2 808124a: 1a9a subs r2, r3, r2 808124c: 4b7e ldr r3, [pc, #504] ; (8081448 ) 808124e: fba3 1302 umull r1, r3, r3, r2 8081252: 099b lsrs r3, r3, #6 8081254: f44f 717a mov.w r1, #1000 ; 0x3e8 8081258: fb01 f303 mul.w r3, r1, r3 808125c: 1ad3 subs r3, r2, r3 808125e: 4a7b ldr r2, [pc, #492] ; (808144c ) 8081260: fba2 1203 umull r1, r2, r2, r3 8081264: 0952 lsrs r2, r2, #5 8081266: 2164 movs r1, #100 ; 0x64 8081268: fb01 f202 mul.w r2, r1, r2 808126c: 1a9a subs r2, r3, r2 808126e: 4b78 ldr r3, [pc, #480] ; (8081450 ) 8081270: fba3 1302 umull r1, r3, r3, r2 8081274: 08d9 lsrs r1, r3, #3 8081276: 460b mov r3, r1 8081278: 009b lsls r3, r3, #2 808127a: 440b add r3, r1 808127c: 005b lsls r3, r3, #1 808127e: 1ad1 subs r1, r2, r3 8081280: b2cb uxtb r3, r1 8081282: f887 3396 strb.w r3, [r7, #918] ; 0x396 i = 0; 8081286: 2300 movs r3, #0 8081288: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_angle, 0, sizeof(str_angle)); 808128c: f507 734f add.w r3, r7, #828 ; 0x33c 8081290: 2214 movs r2, #20 8081292: 2100 movs r1, #0 8081294: 4618 mov r0, r3 8081296: f050 fe85 bl 80d1fa4 if(angle_ies != 0) 808129a: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 808129e: b2db uxtb r3, r3 80812a0: 2b00 cmp r3, #0 80812a2: d00c beq.n 80812be str_angle[i++] = angle_ies + 48; 80812a4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80812a8: 1c5a adds r2, r3, #1 80812aa: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80812ae: f897 239b ldrb.w r2, [r7, #923] ; 0x39b 80812b2: b2d2 uxtb r2, r2 80812b4: 3230 adds r2, #48 ; 0x30 80812b6: b2d1 uxtb r1, r2 80812b8: f507 724f add.w r2, r7, #828 ; 0x33c 80812bc: 54d1 strb r1, [r2, r3] if((angle_ies != 0) || (angle_ied != 0)) 80812be: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 80812c2: b2db uxtb r3, r3 80812c4: 2b00 cmp r3, #0 80812c6: d104 bne.n 80812d2 80812c8: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 80812cc: b2db uxtb r3, r3 80812ce: 2b00 cmp r3, #0 80812d0: d00c beq.n 80812ec str_angle[i++] = angle_ied + 48; 80812d2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80812d6: 1c5a adds r2, r3, #1 80812d8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80812dc: f897 239a ldrb.w r2, [r7, #922] ; 0x39a 80812e0: b2d2 uxtb r2, r2 80812e2: 3230 adds r2, #48 ; 0x30 80812e4: b2d1 uxtb r1, r2 80812e6: f507 724f add.w r2, r7, #828 ; 0x33c 80812ea: 54d1 strb r1, [r2, r3] str_angle[i++] = angle_iee + 48; 80812ec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80812f0: 1c5a adds r2, r3, #1 80812f2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80812f6: f897 2399 ldrb.w r2, [r7, #921] ; 0x399 80812fa: b2d2 uxtb r2, r2 80812fc: 3230 adds r2, #48 ; 0x30 80812fe: b2d1 uxtb r1, r2 8081300: f507 724f add.w r2, r7, #828 ; 0x33c 8081304: 54d1 strb r1, [r2, r3] str_angle[i++] = '.'; 8081306: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808130a: 1c5a adds r2, r3, #1 808130c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8081310: f507 724f add.w r2, r7, #828 ; 0x33c 8081314: 212e movs r1, #46 ; 0x2e 8081316: 54d1 strb r1, [r2, r3] str_angle[i++] = angle_ikd + 48; 8081318: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808131c: 1c5a adds r2, r3, #1 808131e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8081322: f897 2398 ldrb.w r2, [r7, #920] ; 0x398 8081326: b2d2 uxtb r2, r2 8081328: 3230 adds r2, #48 ; 0x30 808132a: b2d1 uxtb r1, r2 808132c: f507 724f add.w r2, r7, #828 ; 0x33c 8081330: 54d1 strb r1, [r2, r3] str_angle[i++] = angle_iks + 48; 8081332: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8081336: 1c5a adds r2, r3, #1 8081338: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808133c: f897 2397 ldrb.w r2, [r7, #919] ; 0x397 8081340: b2d2 uxtb r2, r2 8081342: 3230 adds r2, #48 ; 0x30 8081344: b2d1 uxtb r1, r2 8081346: f507 724f add.w r2, r7, #828 ; 0x33c 808134a: 54d1 strb r1, [r2, r3] str_angle[i++] = angle_ikt + 48; 808134c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8081350: 1c5a adds r2, r3, #1 8081352: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8081356: f897 2396 ldrb.w r2, [r7, #918] ; 0x396 808135a: b2d2 uxtb r2, r2 808135c: 3230 adds r2, #48 ; 0x30 808135e: b2d1 uxtb r1, r2 8081360: f507 724f add.w r2, r7, #828 ; 0x33c 8081364: 54d1 strb r1, [r2, r3] ///////////////////////////////////////////////////////////// k = pardata.D_RATE; 8081366: 4b33 ldr r3, [pc, #204] ; (8081434 ) 8081368: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 808136c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 rate_iet = k / 1000; 8081370: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8081374: 4a34 ldr r2, [pc, #208] ; (8081448 ) 8081376: fba2 2303 umull r2, r3, r2, r3 808137a: 099b lsrs r3, r3, #6 808137c: b2db uxtb r3, r3 808137e: f887 3394 strb.w r3, [r7, #916] ; 0x394 rate_ies = k % 1000 / 100; 8081382: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8081386: 4b30 ldr r3, [pc, #192] ; (8081448 ) 8081388: fba3 1302 umull r1, r3, r3, r2 808138c: 099b lsrs r3, r3, #6 808138e: f44f 717a mov.w r1, #1000 ; 0x3e8 8081392: fb01 f303 mul.w r3, r1, r3 8081396: 1ad3 subs r3, r2, r3 8081398: 4a2c ldr r2, [pc, #176] ; (808144c ) 808139a: fba2 2303 umull r2, r3, r2, r3 808139e: 095b lsrs r3, r3, #5 80813a0: b2db uxtb r3, r3 80813a2: f887 3393 strb.w r3, [r7, #915] ; 0x393 rate_ied = k % 1000 % 100 / 10; 80813a6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80813aa: 4b27 ldr r3, [pc, #156] ; (8081448 ) 80813ac: fba3 1302 umull r1, r3, r3, r2 80813b0: 099b lsrs r3, r3, #6 80813b2: f44f 717a mov.w r1, #1000 ; 0x3e8 80813b6: fb01 f303 mul.w r3, r1, r3 80813ba: 1ad3 subs r3, r2, r3 80813bc: 4a23 ldr r2, [pc, #140] ; (808144c ) 80813be: fba2 1203 umull r1, r2, r2, r3 80813c2: 0952 lsrs r2, r2, #5 80813c4: 2164 movs r1, #100 ; 0x64 80813c6: fb01 f202 mul.w r2, r1, r2 80813ca: 1a9a subs r2, r3, r2 80813cc: 4b20 ldr r3, [pc, #128] ; (8081450 ) 80813ce: fba3 2302 umull r2, r3, r3, r2 80813d2: 08db lsrs r3, r3, #3 80813d4: b2db uxtb r3, r3 80813d6: f887 3392 strb.w r3, [r7, #914] ; 0x392 rate_iee = k % 1000 % 100 % 10; 80813da: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80813de: 4b1a ldr r3, [pc, #104] ; (8081448 ) 80813e0: fba3 1302 umull r1, r3, r3, r2 80813e4: 099b lsrs r3, r3, #6 80813e6: f44f 717a mov.w r1, #1000 ; 0x3e8 80813ea: fb01 f303 mul.w r3, r1, r3 80813ee: 1ad3 subs r3, r2, r3 80813f0: 4a16 ldr r2, [pc, #88] ; (808144c ) 80813f2: fba2 1203 umull r1, r2, r2, r3 80813f6: 0952 lsrs r2, r2, #5 80813f8: 2164 movs r1, #100 ; 0x64 80813fa: fb01 f202 mul.w r2, r1, r2 80813fe: 1a9a subs r2, r3, r2 8081400: 4b13 ldr r3, [pc, #76] ; (8081450 ) 8081402: fba3 1302 umull r1, r3, r3, r2 8081406: 08d9 lsrs r1, r3, #3 8081408: 460b mov r3, r1 808140a: 009b lsls r3, r3, #2 808140c: 440b add r3, r1 808140e: 005b lsls r3, r3, #1 8081410: 1ad1 subs r1, r2, r3 8081412: b2cb uxtb r3, r1 8081414: f887 3391 strb.w r3, [r7, #913] ; 0x391 memset(str_rate, 0, sizeof(str_rate)); 8081418: f507 734a add.w r3, r7, #808 ; 0x328 808141c: 2214 movs r2, #20 808141e: 2100 movs r1, #0 8081420: 4618 mov r0, r3 8081422: f050 fdbf bl 80d1fa4 if(k >= 1000) 8081426: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808142a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 808142e: d332 bcc.n 8081496 8081430: e010 b.n 8081454 8081432: bf00 nop 8081434: 20023eb8 .word 0x20023eb8 8081438: 447a0000 .word 0x447a0000 808143c: 0a7c5ac5 .word 0x0a7c5ac5 8081440: 000186a0 .word 0x000186a0 8081444: d1b71759 .word 0xd1b71759 8081448: 10624dd3 .word 0x10624dd3 808144c: 51eb851f .word 0x51eb851f 8081450: cccccccd .word 0xcccccccd { str_rate[0] = rate_iet + 48; 8081454: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 8081458: b2db uxtb r3, r3 808145a: 3330 adds r3, #48 ; 0x30 808145c: b2da uxtb r2, r3 808145e: f507 734a add.w r3, r7, #808 ; 0x328 8081462: 701a strb r2, [r3, #0] str_rate[1] = rate_ies + 48; 8081464: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 8081468: b2db uxtb r3, r3 808146a: 3330 adds r3, #48 ; 0x30 808146c: b2da uxtb r2, r3 808146e: f507 734a add.w r3, r7, #808 ; 0x328 8081472: 705a strb r2, [r3, #1] str_rate[2] = rate_ied + 48; 8081474: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 8081478: b2db uxtb r3, r3 808147a: 3330 adds r3, #48 ; 0x30 808147c: b2da uxtb r2, r3 808147e: f507 734a add.w r3, r7, #808 ; 0x328 8081482: 709a strb r2, [r3, #2] str_rate[3] = rate_iee + 48; 8081484: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 8081488: b2db uxtb r3, r3 808148a: 3330 adds r3, #48 ; 0x30 808148c: b2da uxtb r2, r3 808148e: f507 734a add.w r3, r7, #808 ; 0x328 8081492: 70da strb r2, [r3, #3] 8081494: e039 b.n 808150a } else if(k >= 100) 8081496: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808149a: 2b63 cmp r3, #99 ; 0x63 808149c: d918 bls.n 80814d0 { str_rate[0] = rate_ies + 48; 808149e: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 80814a2: b2db uxtb r3, r3 80814a4: 3330 adds r3, #48 ; 0x30 80814a6: b2da uxtb r2, r3 80814a8: f507 734a add.w r3, r7, #808 ; 0x328 80814ac: 701a strb r2, [r3, #0] str_rate[1] = rate_ied + 48; 80814ae: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 80814b2: b2db uxtb r3, r3 80814b4: 3330 adds r3, #48 ; 0x30 80814b6: b2da uxtb r2, r3 80814b8: f507 734a add.w r3, r7, #808 ; 0x328 80814bc: 705a strb r2, [r3, #1] str_rate[2] = rate_iee + 48; 80814be: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 80814c2: b2db uxtb r3, r3 80814c4: 3330 adds r3, #48 ; 0x30 80814c6: b2da uxtb r2, r3 80814c8: f507 734a add.w r3, r7, #808 ; 0x328 80814cc: 709a strb r2, [r3, #2] 80814ce: e01c b.n 808150a } else if(k >= 10) 80814d0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80814d4: 2b09 cmp r3, #9 80814d6: d910 bls.n 80814fa { str_rate[0] = rate_ied + 48; 80814d8: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 80814dc: b2db uxtb r3, r3 80814de: 3330 adds r3, #48 ; 0x30 80814e0: b2da uxtb r2, r3 80814e2: f507 734a add.w r3, r7, #808 ; 0x328 80814e6: 701a strb r2, [r3, #0] str_rate[1] = rate_iee + 48; 80814e8: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 80814ec: b2db uxtb r3, r3 80814ee: 3330 adds r3, #48 ; 0x30 80814f0: b2da uxtb r2, r3 80814f2: f507 734a add.w r3, r7, #808 ; 0x328 80814f6: 705a strb r2, [r3, #1] 80814f8: e007 b.n 808150a } else str_rate[0] = rate_iee + 48; 80814fa: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 80814fe: b2db uxtb r3, r3 8081500: 3330 adds r3, #48 ; 0x30 8081502: b2da uxtb r2, r3 8081504: f507 734a add.w r3, r7, #808 ; 0x328 8081508: 701a strb r2, [r3, #0] //////////////////////////////////////////////////////////// memset(str1, 0, sizeof(str1)); 808150a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808150e: f44f 7280 mov.w r2, #256 ; 0x100 8081512: 2100 movs r1, #0 8081514: 4618 mov r0, r3 8081516: f050 fd45 bl 80d1fa4 if(pardata.ROLL_COUNT < 10) 808151a: 4bc3 ldr r3, [pc, #780] ; (8081828 ) 808151c: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 8081520: 2b09 cmp r3, #9 8081522: d809 bhi.n 8081538 str1[0] = (char) pardata.ROLL_COUNT + 48; 8081524: 4bc0 ldr r3, [pc, #768] ; (8081828 ) 8081526: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 808152a: b2db uxtb r3, r3 808152c: 3330 adds r3, #48 ; 0x30 808152e: b2da uxtb r2, r3 8081530: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8081534: 701a strb r2, [r3, #0] 8081536: e01e b.n 8081576 else { str1[0] = (char) ((pardata.ROLL_COUNT / 10) + 48); 8081538: 4bbb ldr r3, [pc, #748] ; (8081828 ) 808153a: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 808153e: 4abb ldr r2, [pc, #748] ; (808182c ) 8081540: fba2 2303 umull r2, r3, r2, r3 8081544: 08db lsrs r3, r3, #3 8081546: b2db uxtb r3, r3 8081548: 3330 adds r3, #48 ; 0x30 808154a: b2da uxtb r2, r3 808154c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8081550: 701a strb r2, [r3, #0] str1[1] = (char) ((pardata.ROLL_COUNT % 10) + 48); 8081552: 4bb5 ldr r3, [pc, #724] ; (8081828 ) 8081554: f8d3 10bc ldr.w r1, [r3, #188] ; 0xbc 8081558: 4bb4 ldr r3, [pc, #720] ; (808182c ) 808155a: fba3 2301 umull r2, r3, r3, r1 808155e: 08da lsrs r2, r3, #3 8081560: 4613 mov r3, r2 8081562: 009b lsls r3, r3, #2 8081564: 4413 add r3, r2 8081566: 005b lsls r3, r3, #1 8081568: 1aca subs r2, r1, r3 808156a: b2d3 uxtb r3, r2 808156c: 3330 adds r3, #48 ; 0x30 808156e: b2da uxtb r2, r3 8081570: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8081574: 705a strb r2, [r3, #1] } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8081576: 49ae ldr r1, [pc, #696] ; (8081830 ) 8081578: f04f 30ff mov.w r0, #4294967295 808157c: f7d3 fe46 bl 805520c LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_PARAM_ROLL[pardata.LANG][0]); //"Êîë-âî òåë êà÷åíèÿ" 8081580: 4ba9 ldr r3, [pc, #676] ; (8081828 ) 8081582: 7b1b ldrb r3, [r3, #12] 8081584: b2db uxtb r3, r3 8081586: 4619 mov r1, r3 8081588: 4aaa ldr r2, [pc, #680] ; (8081834 ) 808158a: 460b mov r3, r1 808158c: 00db lsls r3, r3, #3 808158e: 440b add r3, r1 8081590: 009b lsls r3, r3, #2 8081592: 4413 add r3, r2 8081594: 681b ldr r3, [r3, #0] 8081596: 461a mov r2, r3 8081598: 214a movs r1, #74 ; 0x4a 808159a: 200a movs r0, #10 808159c: f7d4 fbde bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_PARAM_ROLL[pardata.LANG][1]); //"d òåë êà÷åíèÿ (ìì)" 80815a0: 4ba1 ldr r3, [pc, #644] ; (8081828 ) 80815a2: 7b1b ldrb r3, [r3, #12] 80815a4: b2db uxtb r3, r3 80815a6: 4619 mov r1, r3 80815a8: 4aa2 ldr r2, [pc, #648] ; (8081834 ) 80815aa: 460b mov r3, r1 80815ac: 00db lsls r3, r3, #3 80815ae: 440b add r3, r1 80815b0: 009b lsls r3, r3, #2 80815b2: 4413 add r3, r2 80815b4: 3304 adds r3, #4 80815b6: 681b ldr r3, [r3, #0] 80815b8: 461a mov r2, r3 80815ba: 215a movs r1, #90 ; 0x5a 80815bc: 200a movs r0, #10 80815be: f7d4 fbcd bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_ROLL[pardata.LANG][2]); //"Âíåø.d (ìì)" 80815c2: 4b99 ldr r3, [pc, #612] ; (8081828 ) 80815c4: 7b1b ldrb r3, [r3, #12] 80815c6: b2db uxtb r3, r3 80815c8: 4619 mov r1, r3 80815ca: 4a9a ldr r2, [pc, #616] ; (8081834 ) 80815cc: 460b mov r3, r1 80815ce: 00db lsls r3, r3, #3 80815d0: 440b add r3, r1 80815d2: 009b lsls r3, r3, #2 80815d4: 4413 add r3, r2 80815d6: 3308 adds r3, #8 80815d8: 681b ldr r3, [r3, #0] 80815da: 461a mov r2, r3 80815dc: 216a movs r1, #106 ; 0x6a 80815de: 200a movs r0, #10 80815e0: f7d4 fbbc bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_ROLL[pardata.LANG][3]); //"Âíóòð.d (ìì)" 80815e4: 4b90 ldr r3, [pc, #576] ; (8081828 ) 80815e6: 7b1b ldrb r3, [r3, #12] 80815e8: b2db uxtb r3, r3 80815ea: 4619 mov r1, r3 80815ec: 4a91 ldr r2, [pc, #580] ; (8081834 ) 80815ee: 460b mov r3, r1 80815f0: 00db lsls r3, r3, #3 80815f2: 440b add r3, r1 80815f4: 009b lsls r3, r3, #2 80815f6: 4413 add r3, r2 80815f8: 330c adds r3, #12 80815fa: 681b ldr r3, [r3, #0] 80815fc: 461a mov r2, r3 80815fe: 217a movs r1, #122 ; 0x7a 8081600: 200a movs r0, #10 8081602: f7d4 fbab bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_PARAM_ROLL[pardata.LANG][4]); //"Óãîë óñòàíîâ.(ãðàä)" 8081606: 4b88 ldr r3, [pc, #544] ; (8081828 ) 8081608: 7b1b ldrb r3, [r3, #12] 808160a: b2db uxtb r3, r3 808160c: 4619 mov r1, r3 808160e: 4a89 ldr r2, [pc, #548] ; (8081834 ) 8081610: 460b mov r3, r1 8081612: 00db lsls r3, r3, #3 8081614: 440b add r3, r1 8081616: 009b lsls r3, r3, #2 8081618: 4413 add r3, r2 808161a: 3310 adds r3, #16 808161c: 681b ldr r3, [r3, #0] 808161e: 461a mov r2, r3 8081620: 218a movs r1, #138 ; 0x8a 8081622: 200a movs r0, #10 8081624: f7d4 fb9a bl 8055d5c LCD_DisplayString(10, LCD_LINE_9, (char *)TEXT_PARAM_ROLL[pardata.LANG][5]); //"Óñðåäíåíèå(êîë-âî)" 8081628: 4b7f ldr r3, [pc, #508] ; (8081828 ) 808162a: 7b1b ldrb r3, [r3, #12] 808162c: b2db uxtb r3, r3 808162e: 4619 mov r1, r3 8081630: 4a80 ldr r2, [pc, #512] ; (8081834 ) 8081632: 460b mov r3, r1 8081634: 00db lsls r3, r3, #3 8081636: 440b add r3, r1 8081638: 009b lsls r3, r3, #2 808163a: 4413 add r3, r2 808163c: 3314 adds r3, #20 808163e: 681b ldr r3, [r3, #0] 8081640: 461a mov r2, r3 8081642: 219a movs r1, #154 ; 0x9a 8081644: 200a movs r0, #10 8081646: f7d4 fb89 bl 8055d5c LCD_DisplayString(10, LCD_LINE_10, (char *)TEXT_PARAM_ROLL[pardata.LANG][6]); //"Àâòîóñèëåíèå" 808164a: 4b77 ldr r3, [pc, #476] ; (8081828 ) 808164c: 7b1b ldrb r3, [r3, #12] 808164e: b2db uxtb r3, r3 8081650: 4619 mov r1, r3 8081652: 4a78 ldr r2, [pc, #480] ; (8081834 ) 8081654: 460b mov r3, r1 8081656: 00db lsls r3, r3, #3 8081658: 440b add r3, r1 808165a: 009b lsls r3, r3, #2 808165c: 4413 add r3, r2 808165e: 3318 adds r3, #24 8081660: 681b ldr r3, [r3, #0] 8081662: 461a mov r2, r3 8081664: 21aa movs r1, #170 ; 0xaa 8081666: 200a movs r0, #10 8081668: f7d4 fb78 bl 8055d5c LCD_DisplayString(10, LCD_LINE_12, (char *)TEXT_PARAM_ROLL[pardata.LANG][8]); //"×àñòîòà âðàù.(îá/ìèí)" 808166c: 4b6e ldr r3, [pc, #440] ; (8081828 ) 808166e: 7b1b ldrb r3, [r3, #12] 8081670: b2db uxtb r3, r3 8081672: 4619 mov r1, r3 8081674: 4a6f ldr r2, [pc, #444] ; (8081834 ) 8081676: 460b mov r3, r1 8081678: 00db lsls r3, r3, #3 808167a: 440b add r3, r1 808167c: 009b lsls r3, r3, #2 808167e: 4413 add r3, r2 8081680: 3320 adds r3, #32 8081682: 681b ldr r3, [r3, #0] 8081684: 461a mov r2, r3 8081686: 21ca movs r1, #202 ; 0xca 8081688: 200a movs r0, #10 808168a: f7d4 fb67 bl 8055d5c if(menupos == RollAutoKu) 808168e: 4b6a ldr r3, [pc, #424] ; (8081838 ) 8081690: 781b ldrb r3, [r3, #0] 8081692: b2db uxtb r3, r3 8081694: 2b07 cmp r3, #7 8081696: d10a bne.n 80816ae { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081698: 4965 ldr r1, [pc, #404] ; (8081830 ) 808169a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808169e: f7d3 fdb5 bl 805520c BSP_LCD_FillRect(253, 171, 14, 14); 80816a2: 230e movs r3, #14 80816a4: 220e movs r2, #14 80816a6: 21ab movs r1, #171 ; 0xab 80816a8: 20fd movs r0, #253 ; 0xfd 80816aa: f7d4 fa3d bl 8055b28 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80816ae: 4960 ldr r1, [pc, #384] ; (8081830 ) 80816b0: f04f 30ff mov.w r0, #4294967295 80816b4: f7d3 fdaa bl 805520c BSP_LCD_FillRect(255, 173, 10, 10); 80816b8: 230a movs r3, #10 80816ba: 220a movs r2, #10 80816bc: 21ad movs r1, #173 ; 0xad 80816be: 20ff movs r0, #255 ; 0xff 80816c0: f7d4 fa32 bl 8055b28 if(menupos == Ok) 80816c4: 4b5c ldr r3, [pc, #368] ; (8081838 ) 80816c6: 781b ldrb r3, [r3, #0] 80816c8: b2db uxtb r3, r3 80816ca: 2b00 cmp r3, #0 80816cc: f040 80df bne.w 808188e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80816d0: 4957 ldr r1, [pc, #348] ; (8081830 ) 80816d2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80816d6: f7d3 fd99 bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 80816da: 4b53 ldr r3, [pc, #332] ; (8081828 ) 80816dc: 7b1b ldrb r3, [r3, #12] 80816de: b2db uxtb r3, r3 80816e0: 461a mov r2, r3 80816e2: 4b56 ldr r3, [pc, #344] ; (808183c ) 80816e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80816e8: 461a mov r2, r3 80816ea: 213a movs r1, #58 ; 0x3a 80816ec: 200a movs r0, #10 80816ee: f7d4 fb35 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80816f2: 494f ldr r1, [pc, #316] ; (8081830 ) 80816f4: 4852 ldr r0, [pc, #328] ; (8081840 ) 80816f6: f7d3 fd89 bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, str1); 80816fa: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80816fe: 461a mov r2, r3 8081700: 214a movs r1, #74 ; 0x4a 8081702: f44f 7082 mov.w r0, #260 ; 0x104 8081706: f7d4 fb41 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 808170a: f507 735e add.w r3, r7, #888 ; 0x378 808170e: 461a mov r2, r3 8081710: 215a movs r1, #90 ; 0x5a 8081712: f44f 7082 mov.w r0, #260 ; 0x104 8081716: f7d4 fb39 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 808171a: f507 7359 add.w r3, r7, #868 ; 0x364 808171e: 461a mov r2, r3 8081720: 216a movs r1, #106 ; 0x6a 8081722: f44f 7082 mov.w r0, #260 ; 0x104 8081726: f7d4 fb31 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 808172a: f507 7354 add.w r3, r7, #848 ; 0x350 808172e: 461a mov r2, r3 8081730: 217a movs r1, #122 ; 0x7a 8081732: f44f 7082 mov.w r0, #260 ; 0x104 8081736: f7d4 fb29 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 808173a: f507 734f add.w r3, r7, #828 ; 0x33c 808173e: 461a mov r2, r3 8081740: 218a movs r1, #138 ; 0x8a 8081742: f44f 7082 mov.w r0, #260 ; 0x104 8081746: f7d4 fb21 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 808174a: 4b37 ldr r3, [pc, #220] ; (8081828 ) 808174c: 7b5b ldrb r3, [r3, #13] 808174e: b2db uxtb r3, r3 8081750: 461a mov r2, r3 8081752: 4b3c ldr r3, [pc, #240] ; (8081844 ) 8081754: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081758: 461a mov r2, r3 808175a: 219a movs r1, #154 ; 0x9a 808175c: f44f 7082 mov.w r0, #260 ; 0x104 8081760: f7d4 fb14 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8081764: f507 734a add.w r3, r7, #808 ; 0x328 8081768: 461a mov r2, r3 808176a: 21ca movs r1, #202 ; 0xca 808176c: f44f 7082 mov.w r0, #260 ; 0x104 8081770: f7d4 fb0c bl 8055d8c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8081774: 4b2c ldr r3, [pc, #176] ; (8081828 ) 8081776: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808177a: f003 0304 and.w r3, r3, #4 808177e: 2b00 cmp r3, #0 8081780: d035 beq.n 80817ee { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8081782: 492b ldr r1, [pc, #172] ; (8081830 ) 8081784: 4830 ldr r0, [pc, #192] ; (8081848 ) 8081786: f7d3 fd41 bl 805520c if(pardata.IIN != VOLTS) 808178a: 4b27 ldr r3, [pc, #156] ; (8081828 ) 808178c: 799b ldrb r3, [r3, #6] 808178e: b2db uxtb r3, r3 8081790: 2b02 cmp r3, #2 8081792: d011 beq.n 80817b8 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8081794: 4b24 ldr r3, [pc, #144] ; (8081828 ) 8081796: 7b1b ldrb r3, [r3, #12] 8081798: b2db uxtb r3, r3 808179a: 4619 mov r1, r3 808179c: 4a25 ldr r2, [pc, #148] ; (8081834 ) 808179e: 460b mov r3, r1 80817a0: 00db lsls r3, r3, #3 80817a2: 440b add r3, r1 80817a4: 009b lsls r3, r3, #2 80817a6: 4413 add r3, r2 80817a8: 331c adds r3, #28 80817aa: 681b ldr r3, [r3, #0] 80817ac: 461a mov r2, r3 80817ae: 21ba movs r1, #186 ; 0xba 80817b0: 200a movs r0, #10 80817b2: f7d4 fad3 bl 8055d5c 80817b6: e010 b.n 80817da else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80817b8: 4b1b ldr r3, [pc, #108] ; (8081828 ) 80817ba: 7b1b ldrb r3, [r3, #12] 80817bc: b2db uxtb r3, r3 80817be: 4619 mov r1, r3 80817c0: 4a22 ldr r2, [pc, #136] ; (808184c ) 80817c2: 460b mov r3, r1 80817c4: 00db lsls r3, r3, #3 80817c6: 440b add r3, r1 80817c8: 009b lsls r3, r3, #2 80817ca: 4413 add r3, r2 80817cc: 331c adds r3, #28 80817ce: 681b ldr r3, [r3, #0] 80817d0: 461a mov r2, r3 80817d2: 21ba movs r1, #186 ; 0xba 80817d4: 200a movs r0, #10 80817d6: f7d4 fac1 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_11, str); 80817da: f507 733b add.w r3, r7, #748 ; 0x2ec 80817de: 461a mov r2, r3 80817e0: 21ba movs r1, #186 ; 0xba 80817e2: f44f 7082 mov.w r0, #260 ; 0x104 80817e6: f7d4 fad1 bl 8055d8c 80817ea: f002 beeb b.w 80845c4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80817ee: 4910 ldr r1, [pc, #64] ; (8081830 ) 80817f0: f04f 30ff mov.w r0, #4294967295 80817f4: f7d3 fd0a bl 805520c if(pardata.IIN != VOLTS) 80817f8: 4b0b ldr r3, [pc, #44] ; (8081828 ) 80817fa: 799b ldrb r3, [r3, #6] 80817fc: b2db uxtb r3, r3 80817fe: 2b02 cmp r3, #2 8081800: d026 beq.n 8081850 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8081802: 4b09 ldr r3, [pc, #36] ; (8081828 ) 8081804: 7b1b ldrb r3, [r3, #12] 8081806: b2db uxtb r3, r3 8081808: 4619 mov r1, r3 808180a: 4a0a ldr r2, [pc, #40] ; (8081834 ) 808180c: 460b mov r3, r1 808180e: 00db lsls r3, r3, #3 8081810: 440b add r3, r1 8081812: 009b lsls r3, r3, #2 8081814: 4413 add r3, r2 8081816: 331c adds r3, #28 8081818: 681b ldr r3, [r3, #0] 808181a: 461a mov r2, r3 808181c: 21ba movs r1, #186 ; 0xba 808181e: 200a movs r0, #10 8081820: f7d4 fa9c bl 8055d5c 8081824: e025 b.n 8081872 8081826: bf00 nop 8081828: 20023eb8 .word 0x20023eb8 808182c: cccccccd .word 0xcccccccd 8081830: ff0a0f1f .word 0xff0a0f1f 8081834: 2002076c .word 0x2002076c 8081838: 20020070 .word 0x20020070 808183c: 200205cc .word 0x200205cc 8081840: ffd8aa57 .word 0xffd8aa57 8081844: 2002022c .word 0x2002022c 8081848: ff808080 .word 0xff808080 808184c: 200207b4 .word 0x200207b4 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8081850: 4bcf ldr r3, [pc, #828] ; (8081b90 ) 8081852: 7b1b ldrb r3, [r3, #12] 8081854: b2db uxtb r3, r3 8081856: 4619 mov r1, r3 8081858: 4ace ldr r2, [pc, #824] ; (8081b94 ) 808185a: 460b mov r3, r1 808185c: 00db lsls r3, r3, #3 808185e: 440b add r3, r1 8081860: 009b lsls r3, r3, #2 8081862: 4413 add r3, r2 8081864: 331c adds r3, #28 8081866: 681b ldr r3, [r3, #0] 8081868: 461a mov r2, r3 808186a: 21ba movs r1, #186 ; 0xba 808186c: 200a movs r0, #10 808186e: f7d4 fa75 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081872: 49c9 ldr r1, [pc, #804] ; (8081b98 ) 8081874: 48c9 ldr r0, [pc, #804] ; (8081b9c ) 8081876: f7d3 fcc9 bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, str); 808187a: f507 733b add.w r3, r7, #748 ; 0x2ec 808187e: 461a mov r2, r3 8081880: 21ba movs r1, #186 ; 0xba 8081882: f44f 7082 mov.w r0, #260 ; 0x104 8081886: f7d4 fa81 bl 8055d8c 808188a: f002 be9b b.w 80845c4 } } else if(menupos == RollCount) 808188e: 4bc4 ldr r3, [pc, #784] ; (8081ba0 ) 8081890: 781b ldrb r3, [r3, #0] 8081892: b2db uxtb r3, r3 8081894: 2b01 cmp r3, #1 8081896: f040 80e1 bne.w 8081a5c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808189a: 49bf ldr r1, [pc, #764] ; (8081b98 ) 808189c: f04f 30ff mov.w r0, #4294967295 80818a0: f7d3 fcb4 bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 80818a4: 4bba ldr r3, [pc, #744] ; (8081b90 ) 80818a6: 7b1b ldrb r3, [r3, #12] 80818a8: b2db uxtb r3, r3 80818aa: 461a mov r2, r3 80818ac: 4bbd ldr r3, [pc, #756] ; (8081ba4 ) 80818ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80818b2: 461a mov r2, r3 80818b4: 213a movs r1, #58 ; 0x3a 80818b6: 200a movs r0, #10 80818b8: f7d4 fa50 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80818bc: 49b6 ldr r1, [pc, #728] ; (8081b98 ) 80818be: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80818c2: f7d3 fca3 bl 805520c if(focused) 80818c6: 4bb8 ldr r3, [pc, #736] ; (8081ba8 ) 80818c8: 781b ldrb r3, [r3, #0] 80818ca: b2db uxtb r3, r3 80818cc: 2b00 cmp r3, #0 80818ce: d00c beq.n 80818ea { if(blk) 80818d0: 4bb6 ldr r3, [pc, #728] ; (8081bac ) 80818d2: 681b ldr r3, [r3, #0] 80818d4: 2b00 cmp r3, #0 80818d6: d010 beq.n 80818fa LCD_DisplayStringC(260, LCD_LINE_4, str1); 80818d8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80818dc: 461a mov r2, r3 80818de: 214a movs r1, #74 ; 0x4a 80818e0: f44f 7082 mov.w r0, #260 ; 0x104 80818e4: f7d4 fa52 bl 8055d8c 80818e8: e007 b.n 80818fa } else LCD_DisplayStringC(260, LCD_LINE_4, str1); 80818ea: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80818ee: 461a mov r2, r3 80818f0: 214a movs r1, #74 ; 0x4a 80818f2: f44f 7082 mov.w r0, #260 ; 0x104 80818f6: f7d4 fa49 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80818fa: 49a7 ldr r1, [pc, #668] ; (8081b98 ) 80818fc: 48a7 ldr r0, [pc, #668] ; (8081b9c ) 80818fe: f7d3 fc85 bl 805520c LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8081902: f507 735e add.w r3, r7, #888 ; 0x378 8081906: 461a mov r2, r3 8081908: 215a movs r1, #90 ; 0x5a 808190a: f44f 7082 mov.w r0, #260 ; 0x104 808190e: f7d4 fa3d bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8081912: f507 7359 add.w r3, r7, #868 ; 0x364 8081916: 461a mov r2, r3 8081918: 216a movs r1, #106 ; 0x6a 808191a: f44f 7082 mov.w r0, #260 ; 0x104 808191e: f7d4 fa35 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8081922: f507 7354 add.w r3, r7, #848 ; 0x350 8081926: 461a mov r2, r3 8081928: 217a movs r1, #122 ; 0x7a 808192a: f44f 7082 mov.w r0, #260 ; 0x104 808192e: f7d4 fa2d bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8081932: f507 734f add.w r3, r7, #828 ; 0x33c 8081936: 461a mov r2, r3 8081938: 218a movs r1, #138 ; 0x8a 808193a: f44f 7082 mov.w r0, #260 ; 0x104 808193e: f7d4 fa25 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8081942: 4b93 ldr r3, [pc, #588] ; (8081b90 ) 8081944: 7b5b ldrb r3, [r3, #13] 8081946: b2db uxtb r3, r3 8081948: 461a mov r2, r3 808194a: 4b99 ldr r3, [pc, #612] ; (8081bb0 ) 808194c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081950: 461a mov r2, r3 8081952: 219a movs r1, #154 ; 0x9a 8081954: f44f 7082 mov.w r0, #260 ; 0x104 8081958: f7d4 fa18 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 808195c: f507 734a add.w r3, r7, #808 ; 0x328 8081960: 461a mov r2, r3 8081962: 21ca movs r1, #202 ; 0xca 8081964: f44f 7082 mov.w r0, #260 ; 0x104 8081968: f7d4 fa10 bl 8055d8c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 808196c: 4b88 ldr r3, [pc, #544] ; (8081b90 ) 808196e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8081972: f003 0304 and.w r3, r3, #4 8081976: 2b00 cmp r3, #0 8081978: d035 beq.n 80819e6 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808197a: 4987 ldr r1, [pc, #540] ; (8081b98 ) 808197c: 488d ldr r0, [pc, #564] ; (8081bb4 ) 808197e: f7d3 fc45 bl 805520c if(pardata.IIN != VOLTS) 8081982: 4b83 ldr r3, [pc, #524] ; (8081b90 ) 8081984: 799b ldrb r3, [r3, #6] 8081986: b2db uxtb r3, r3 8081988: 2b02 cmp r3, #2 808198a: d011 beq.n 80819b0 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 808198c: 4b80 ldr r3, [pc, #512] ; (8081b90 ) 808198e: 7b1b ldrb r3, [r3, #12] 8081990: b2db uxtb r3, r3 8081992: 4619 mov r1, r3 8081994: 4a88 ldr r2, [pc, #544] ; (8081bb8 ) 8081996: 460b mov r3, r1 8081998: 00db lsls r3, r3, #3 808199a: 440b add r3, r1 808199c: 009b lsls r3, r3, #2 808199e: 4413 add r3, r2 80819a0: 331c adds r3, #28 80819a2: 681b ldr r3, [r3, #0] 80819a4: 461a mov r2, r3 80819a6: 21ba movs r1, #186 ; 0xba 80819a8: 200a movs r0, #10 80819aa: f7d4 f9d7 bl 8055d5c 80819ae: e010 b.n 80819d2 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80819b0: 4b77 ldr r3, [pc, #476] ; (8081b90 ) 80819b2: 7b1b ldrb r3, [r3, #12] 80819b4: b2db uxtb r3, r3 80819b6: 4619 mov r1, r3 80819b8: 4a76 ldr r2, [pc, #472] ; (8081b94 ) 80819ba: 460b mov r3, r1 80819bc: 00db lsls r3, r3, #3 80819be: 440b add r3, r1 80819c0: 009b lsls r3, r3, #2 80819c2: 4413 add r3, r2 80819c4: 331c adds r3, #28 80819c6: 681b ldr r3, [r3, #0] 80819c8: 461a mov r2, r3 80819ca: 21ba movs r1, #186 ; 0xba 80819cc: 200a movs r0, #10 80819ce: f7d4 f9c5 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_11, str); 80819d2: f507 733b add.w r3, r7, #748 ; 0x2ec 80819d6: 461a mov r2, r3 80819d8: 21ba movs r1, #186 ; 0xba 80819da: f44f 7082 mov.w r0, #260 ; 0x104 80819de: f7d4 f9d5 bl 8055d8c 80819e2: f002 bdef b.w 80845c4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80819e6: 496c ldr r1, [pc, #432] ; (8081b98 ) 80819e8: f04f 30ff mov.w r0, #4294967295 80819ec: f7d3 fc0e bl 805520c if(pardata.IIN != VOLTS) 80819f0: 4b67 ldr r3, [pc, #412] ; (8081b90 ) 80819f2: 799b ldrb r3, [r3, #6] 80819f4: b2db uxtb r3, r3 80819f6: 2b02 cmp r3, #2 80819f8: d011 beq.n 8081a1e LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 80819fa: 4b65 ldr r3, [pc, #404] ; (8081b90 ) 80819fc: 7b1b ldrb r3, [r3, #12] 80819fe: b2db uxtb r3, r3 8081a00: 4619 mov r1, r3 8081a02: 4a6d ldr r2, [pc, #436] ; (8081bb8 ) 8081a04: 460b mov r3, r1 8081a06: 00db lsls r3, r3, #3 8081a08: 440b add r3, r1 8081a0a: 009b lsls r3, r3, #2 8081a0c: 4413 add r3, r2 8081a0e: 331c adds r3, #28 8081a10: 681b ldr r3, [r3, #0] 8081a12: 461a mov r2, r3 8081a14: 21ba movs r1, #186 ; 0xba 8081a16: 200a movs r0, #10 8081a18: f7d4 f9a0 bl 8055d5c 8081a1c: e010 b.n 8081a40 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8081a1e: 4b5c ldr r3, [pc, #368] ; (8081b90 ) 8081a20: 7b1b ldrb r3, [r3, #12] 8081a22: b2db uxtb r3, r3 8081a24: 4619 mov r1, r3 8081a26: 4a5b ldr r2, [pc, #364] ; (8081b94 ) 8081a28: 460b mov r3, r1 8081a2a: 00db lsls r3, r3, #3 8081a2c: 440b add r3, r1 8081a2e: 009b lsls r3, r3, #2 8081a30: 4413 add r3, r2 8081a32: 331c adds r3, #28 8081a34: 681b ldr r3, [r3, #0] 8081a36: 461a mov r2, r3 8081a38: 21ba movs r1, #186 ; 0xba 8081a3a: 200a movs r0, #10 8081a3c: f7d4 f98e bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081a40: 4955 ldr r1, [pc, #340] ; (8081b98 ) 8081a42: 4856 ldr r0, [pc, #344] ; (8081b9c ) 8081a44: f7d3 fbe2 bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, str); 8081a48: f507 733b add.w r3, r7, #748 ; 0x2ec 8081a4c: 461a mov r2, r3 8081a4e: 21ba movs r1, #186 ; 0xba 8081a50: f44f 7082 mov.w r0, #260 ; 0x104 8081a54: f7d4 f99a bl 8055d8c 8081a58: f002 bdb4 b.w 80845c4 } } else if(menupos == D_Roll) 8081a5c: 4b50 ldr r3, [pc, #320] ; (8081ba0 ) 8081a5e: 781b ldrb r3, [r3, #0] 8081a60: b2db uxtb r3, r3 8081a62: 2b02 cmp r3, #2 8081a64: f040 80e5 bne.w 8081c32 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8081a68: 494b ldr r1, [pc, #300] ; (8081b98 ) 8081a6a: f04f 30ff mov.w r0, #4294967295 8081a6e: f7d3 fbcd bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8081a72: 4b47 ldr r3, [pc, #284] ; (8081b90 ) 8081a74: 7b1b ldrb r3, [r3, #12] 8081a76: b2db uxtb r3, r3 8081a78: 461a mov r2, r3 8081a7a: 4b4a ldr r3, [pc, #296] ; (8081ba4 ) 8081a7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081a80: 461a mov r2, r3 8081a82: 213a movs r1, #58 ; 0x3a 8081a84: 200a movs r0, #10 8081a86: f7d4 f969 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081a8a: 4943 ldr r1, [pc, #268] ; (8081b98 ) 8081a8c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081a90: f7d3 fbbc bl 805520c LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8081a94: f507 735e add.w r3, r7, #888 ; 0x378 8081a98: 461a mov r2, r3 8081a9a: 215a movs r1, #90 ; 0x5a 8081a9c: f44f 7082 mov.w r0, #260 ; 0x104 8081aa0: f7d4 f974 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081aa4: 493c ldr r1, [pc, #240] ; (8081b98 ) 8081aa6: 483d ldr r0, [pc, #244] ; (8081b9c ) 8081aa8: f7d3 fbb0 bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, str1); 8081aac: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8081ab0: 461a mov r2, r3 8081ab2: 214a movs r1, #74 ; 0x4a 8081ab4: f44f 7082 mov.w r0, #260 ; 0x104 8081ab8: f7d4 f968 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8081abc: f507 7359 add.w r3, r7, #868 ; 0x364 8081ac0: 461a mov r2, r3 8081ac2: 216a movs r1, #106 ; 0x6a 8081ac4: f44f 7082 mov.w r0, #260 ; 0x104 8081ac8: f7d4 f960 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8081acc: f507 7354 add.w r3, r7, #848 ; 0x350 8081ad0: 461a mov r2, r3 8081ad2: 217a movs r1, #122 ; 0x7a 8081ad4: f44f 7082 mov.w r0, #260 ; 0x104 8081ad8: f7d4 f958 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8081adc: f507 734f add.w r3, r7, #828 ; 0x33c 8081ae0: 461a mov r2, r3 8081ae2: 218a movs r1, #138 ; 0x8a 8081ae4: f44f 7082 mov.w r0, #260 ; 0x104 8081ae8: f7d4 f950 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8081aec: 4b28 ldr r3, [pc, #160] ; (8081b90 ) 8081aee: 7b5b ldrb r3, [r3, #13] 8081af0: b2db uxtb r3, r3 8081af2: 461a mov r2, r3 8081af4: 4b2e ldr r3, [pc, #184] ; (8081bb0 ) 8081af6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081afa: 461a mov r2, r3 8081afc: 219a movs r1, #154 ; 0x9a 8081afe: f44f 7082 mov.w r0, #260 ; 0x104 8081b02: f7d4 f943 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8081b06: f507 734a add.w r3, r7, #808 ; 0x328 8081b0a: 461a mov r2, r3 8081b0c: 21ca movs r1, #202 ; 0xca 8081b0e: f44f 7082 mov.w r0, #260 ; 0x104 8081b12: f7d4 f93b bl 8055d8c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8081b16: 4b1e ldr r3, [pc, #120] ; (8081b90 ) 8081b18: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8081b1c: f003 0304 and.w r3, r3, #4 8081b20: 2b00 cmp r3, #0 8081b22: d04b beq.n 8081bbc { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8081b24: 491c ldr r1, [pc, #112] ; (8081b98 ) 8081b26: 4823 ldr r0, [pc, #140] ; (8081bb4 ) 8081b28: f7d3 fb70 bl 805520c if(pardata.IIN != VOLTS) 8081b2c: 4b18 ldr r3, [pc, #96] ; (8081b90 ) 8081b2e: 799b ldrb r3, [r3, #6] 8081b30: b2db uxtb r3, r3 8081b32: 2b02 cmp r3, #2 8081b34: d011 beq.n 8081b5a LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8081b36: 4b16 ldr r3, [pc, #88] ; (8081b90 ) 8081b38: 7b1b ldrb r3, [r3, #12] 8081b3a: b2db uxtb r3, r3 8081b3c: 4619 mov r1, r3 8081b3e: 4a1e ldr r2, [pc, #120] ; (8081bb8 ) 8081b40: 460b mov r3, r1 8081b42: 00db lsls r3, r3, #3 8081b44: 440b add r3, r1 8081b46: 009b lsls r3, r3, #2 8081b48: 4413 add r3, r2 8081b4a: 331c adds r3, #28 8081b4c: 681b ldr r3, [r3, #0] 8081b4e: 461a mov r2, r3 8081b50: 21ba movs r1, #186 ; 0xba 8081b52: 200a movs r0, #10 8081b54: f7d4 f902 bl 8055d5c 8081b58: e010 b.n 8081b7c else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8081b5a: 4b0d ldr r3, [pc, #52] ; (8081b90 ) 8081b5c: 7b1b ldrb r3, [r3, #12] 8081b5e: b2db uxtb r3, r3 8081b60: 4619 mov r1, r3 8081b62: 4a0c ldr r2, [pc, #48] ; (8081b94 ) 8081b64: 460b mov r3, r1 8081b66: 00db lsls r3, r3, #3 8081b68: 440b add r3, r1 8081b6a: 009b lsls r3, r3, #2 8081b6c: 4413 add r3, r2 8081b6e: 331c adds r3, #28 8081b70: 681b ldr r3, [r3, #0] 8081b72: 461a mov r2, r3 8081b74: 21ba movs r1, #186 ; 0xba 8081b76: 200a movs r0, #10 8081b78: f7d4 f8f0 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_11, str); 8081b7c: f507 733b add.w r3, r7, #748 ; 0x2ec 8081b80: 461a mov r2, r3 8081b82: 21ba movs r1, #186 ; 0xba 8081b84: f44f 7082 mov.w r0, #260 ; 0x104 8081b88: f7d4 f900 bl 8055d8c 8081b8c: f002 bd1a b.w 80845c4 8081b90: 20023eb8 .word 0x20023eb8 8081b94: 200207b4 .word 0x200207b4 8081b98: ff0a0f1f .word 0xff0a0f1f 8081b9c: ffd8aa57 .word 0xffd8aa57 8081ba0: 20020070 .word 0x20020070 8081ba4: 200205cc .word 0x200205cc 8081ba8: 20020fd0 .word 0x20020fd0 8081bac: 200216ac .word 0x200216ac 8081bb0: 2002022c .word 0x2002022c 8081bb4: ff808080 .word 0xff808080 8081bb8: 2002076c .word 0x2002076c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8081bbc: 49c7 ldr r1, [pc, #796] ; (8081edc ) 8081bbe: f04f 30ff mov.w r0, #4294967295 8081bc2: f7d3 fb23 bl 805520c if(pardata.IIN != VOLTS) 8081bc6: 4bc6 ldr r3, [pc, #792] ; (8081ee0 ) 8081bc8: 799b ldrb r3, [r3, #6] 8081bca: b2db uxtb r3, r3 8081bcc: 2b02 cmp r3, #2 8081bce: d011 beq.n 8081bf4 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8081bd0: 4bc3 ldr r3, [pc, #780] ; (8081ee0 ) 8081bd2: 7b1b ldrb r3, [r3, #12] 8081bd4: b2db uxtb r3, r3 8081bd6: 4619 mov r1, r3 8081bd8: 4ac2 ldr r2, [pc, #776] ; (8081ee4 ) 8081bda: 460b mov r3, r1 8081bdc: 00db lsls r3, r3, #3 8081bde: 440b add r3, r1 8081be0: 009b lsls r3, r3, #2 8081be2: 4413 add r3, r2 8081be4: 331c adds r3, #28 8081be6: 681b ldr r3, [r3, #0] 8081be8: 461a mov r2, r3 8081bea: 21ba movs r1, #186 ; 0xba 8081bec: 200a movs r0, #10 8081bee: f7d4 f8b5 bl 8055d5c 8081bf2: e010 b.n 8081c16 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8081bf4: 4bba ldr r3, [pc, #744] ; (8081ee0 ) 8081bf6: 7b1b ldrb r3, [r3, #12] 8081bf8: b2db uxtb r3, r3 8081bfa: 4619 mov r1, r3 8081bfc: 4aba ldr r2, [pc, #744] ; (8081ee8 ) 8081bfe: 460b mov r3, r1 8081c00: 00db lsls r3, r3, #3 8081c02: 440b add r3, r1 8081c04: 009b lsls r3, r3, #2 8081c06: 4413 add r3, r2 8081c08: 331c adds r3, #28 8081c0a: 681b ldr r3, [r3, #0] 8081c0c: 461a mov r2, r3 8081c0e: 21ba movs r1, #186 ; 0xba 8081c10: 200a movs r0, #10 8081c12: f7d4 f8a3 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081c16: 49b1 ldr r1, [pc, #708] ; (8081edc ) 8081c18: 48b4 ldr r0, [pc, #720] ; (8081eec ) 8081c1a: f7d3 faf7 bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, str); 8081c1e: f507 733b add.w r3, r7, #748 ; 0x2ec 8081c22: 461a mov r2, r3 8081c24: 21ba movs r1, #186 ; 0xba 8081c26: f44f 7082 mov.w r0, #260 ; 0x104 8081c2a: f7d4 f8af bl 8055d8c 8081c2e: f002 bcc9 b.w 80845c4 } } else if(menupos == D_Outer) 8081c32: 4baf ldr r3, [pc, #700] ; (8081ef0 ) 8081c34: 781b ldrb r3, [r3, #0] 8081c36: b2db uxtb r3, r3 8081c38: 2b03 cmp r3, #3 8081c3a: f040 80cf bne.w 8081ddc { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8081c3e: 49a7 ldr r1, [pc, #668] ; (8081edc ) 8081c40: f04f 30ff mov.w r0, #4294967295 8081c44: f7d3 fae2 bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8081c48: 4ba5 ldr r3, [pc, #660] ; (8081ee0 ) 8081c4a: 7b1b ldrb r3, [r3, #12] 8081c4c: b2db uxtb r3, r3 8081c4e: 461a mov r2, r3 8081c50: 4ba8 ldr r3, [pc, #672] ; (8081ef4 ) 8081c52: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081c56: 461a mov r2, r3 8081c58: 213a movs r1, #58 ; 0x3a 8081c5a: 200a movs r0, #10 8081c5c: f7d4 f87e bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081c60: 499e ldr r1, [pc, #632] ; (8081edc ) 8081c62: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081c66: f7d3 fad1 bl 805520c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8081c6a: f507 7359 add.w r3, r7, #868 ; 0x364 8081c6e: 461a mov r2, r3 8081c70: 216a movs r1, #106 ; 0x6a 8081c72: f44f 7082 mov.w r0, #260 ; 0x104 8081c76: f7d4 f889 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081c7a: 4998 ldr r1, [pc, #608] ; (8081edc ) 8081c7c: 489b ldr r0, [pc, #620] ; (8081eec ) 8081c7e: f7d3 fac5 bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, str1); 8081c82: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8081c86: 461a mov r2, r3 8081c88: 214a movs r1, #74 ; 0x4a 8081c8a: f44f 7082 mov.w r0, #260 ; 0x104 8081c8e: f7d4 f87d bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8081c92: f507 735e add.w r3, r7, #888 ; 0x378 8081c96: 461a mov r2, r3 8081c98: 215a movs r1, #90 ; 0x5a 8081c9a: f44f 7082 mov.w r0, #260 ; 0x104 8081c9e: f7d4 f875 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8081ca2: f507 7354 add.w r3, r7, #848 ; 0x350 8081ca6: 461a mov r2, r3 8081ca8: 217a movs r1, #122 ; 0x7a 8081caa: f44f 7082 mov.w r0, #260 ; 0x104 8081cae: f7d4 f86d bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8081cb2: f507 734f add.w r3, r7, #828 ; 0x33c 8081cb6: 461a mov r2, r3 8081cb8: 218a movs r1, #138 ; 0x8a 8081cba: f44f 7082 mov.w r0, #260 ; 0x104 8081cbe: f7d4 f865 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8081cc2: 4b87 ldr r3, [pc, #540] ; (8081ee0 ) 8081cc4: 7b5b ldrb r3, [r3, #13] 8081cc6: b2db uxtb r3, r3 8081cc8: 461a mov r2, r3 8081cca: 4b8b ldr r3, [pc, #556] ; (8081ef8 ) 8081ccc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081cd0: 461a mov r2, r3 8081cd2: 219a movs r1, #154 ; 0x9a 8081cd4: f44f 7082 mov.w r0, #260 ; 0x104 8081cd8: f7d4 f858 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8081cdc: f507 734a add.w r3, r7, #808 ; 0x328 8081ce0: 461a mov r2, r3 8081ce2: 21ca movs r1, #202 ; 0xca 8081ce4: f44f 7082 mov.w r0, #260 ; 0x104 8081ce8: f7d4 f850 bl 8055d8c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8081cec: 4b7c ldr r3, [pc, #496] ; (8081ee0 ) 8081cee: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8081cf2: f003 0304 and.w r3, r3, #4 8081cf6: 2b00 cmp r3, #0 8081cf8: d035 beq.n 8081d66 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8081cfa: 4978 ldr r1, [pc, #480] ; (8081edc ) 8081cfc: 487f ldr r0, [pc, #508] ; (8081efc ) 8081cfe: f7d3 fa85 bl 805520c if(pardata.IIN != VOLTS) 8081d02: 4b77 ldr r3, [pc, #476] ; (8081ee0 ) 8081d04: 799b ldrb r3, [r3, #6] 8081d06: b2db uxtb r3, r3 8081d08: 2b02 cmp r3, #2 8081d0a: d011 beq.n 8081d30 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8081d0c: 4b74 ldr r3, [pc, #464] ; (8081ee0 ) 8081d0e: 7b1b ldrb r3, [r3, #12] 8081d10: b2db uxtb r3, r3 8081d12: 4619 mov r1, r3 8081d14: 4a73 ldr r2, [pc, #460] ; (8081ee4 ) 8081d16: 460b mov r3, r1 8081d18: 00db lsls r3, r3, #3 8081d1a: 440b add r3, r1 8081d1c: 009b lsls r3, r3, #2 8081d1e: 4413 add r3, r2 8081d20: 331c adds r3, #28 8081d22: 681b ldr r3, [r3, #0] 8081d24: 461a mov r2, r3 8081d26: 21ba movs r1, #186 ; 0xba 8081d28: 200a movs r0, #10 8081d2a: f7d4 f817 bl 8055d5c 8081d2e: e010 b.n 8081d52 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8081d30: 4b6b ldr r3, [pc, #428] ; (8081ee0 ) 8081d32: 7b1b ldrb r3, [r3, #12] 8081d34: b2db uxtb r3, r3 8081d36: 4619 mov r1, r3 8081d38: 4a6b ldr r2, [pc, #428] ; (8081ee8 ) 8081d3a: 460b mov r3, r1 8081d3c: 00db lsls r3, r3, #3 8081d3e: 440b add r3, r1 8081d40: 009b lsls r3, r3, #2 8081d42: 4413 add r3, r2 8081d44: 331c adds r3, #28 8081d46: 681b ldr r3, [r3, #0] 8081d48: 461a mov r2, r3 8081d4a: 21ba movs r1, #186 ; 0xba 8081d4c: 200a movs r0, #10 8081d4e: f7d4 f805 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_11, str); 8081d52: f507 733b add.w r3, r7, #748 ; 0x2ec 8081d56: 461a mov r2, r3 8081d58: 21ba movs r1, #186 ; 0xba 8081d5a: f44f 7082 mov.w r0, #260 ; 0x104 8081d5e: f7d4 f815 bl 8055d8c 8081d62: f002 bc2f b.w 80845c4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8081d66: 495d ldr r1, [pc, #372] ; (8081edc ) 8081d68: f04f 30ff mov.w r0, #4294967295 8081d6c: f7d3 fa4e bl 805520c if(pardata.IIN != VOLTS) 8081d70: 4b5b ldr r3, [pc, #364] ; (8081ee0 ) 8081d72: 799b ldrb r3, [r3, #6] 8081d74: b2db uxtb r3, r3 8081d76: 2b02 cmp r3, #2 8081d78: d011 beq.n 8081d9e LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8081d7a: 4b59 ldr r3, [pc, #356] ; (8081ee0 ) 8081d7c: 7b1b ldrb r3, [r3, #12] 8081d7e: b2db uxtb r3, r3 8081d80: 4619 mov r1, r3 8081d82: 4a58 ldr r2, [pc, #352] ; (8081ee4 ) 8081d84: 460b mov r3, r1 8081d86: 00db lsls r3, r3, #3 8081d88: 440b add r3, r1 8081d8a: 009b lsls r3, r3, #2 8081d8c: 4413 add r3, r2 8081d8e: 331c adds r3, #28 8081d90: 681b ldr r3, [r3, #0] 8081d92: 461a mov r2, r3 8081d94: 21ba movs r1, #186 ; 0xba 8081d96: 200a movs r0, #10 8081d98: f7d3 ffe0 bl 8055d5c 8081d9c: e010 b.n 8081dc0 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8081d9e: 4b50 ldr r3, [pc, #320] ; (8081ee0 ) 8081da0: 7b1b ldrb r3, [r3, #12] 8081da2: b2db uxtb r3, r3 8081da4: 4619 mov r1, r3 8081da6: 4a50 ldr r2, [pc, #320] ; (8081ee8 ) 8081da8: 460b mov r3, r1 8081daa: 00db lsls r3, r3, #3 8081dac: 440b add r3, r1 8081dae: 009b lsls r3, r3, #2 8081db0: 4413 add r3, r2 8081db2: 331c adds r3, #28 8081db4: 681b ldr r3, [r3, #0] 8081db6: 461a mov r2, r3 8081db8: 21ba movs r1, #186 ; 0xba 8081dba: 200a movs r0, #10 8081dbc: f7d3 ffce bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081dc0: 4946 ldr r1, [pc, #280] ; (8081edc ) 8081dc2: 484a ldr r0, [pc, #296] ; (8081eec ) 8081dc4: f7d3 fa22 bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, str); 8081dc8: f507 733b add.w r3, r7, #748 ; 0x2ec 8081dcc: 461a mov r2, r3 8081dce: 21ba movs r1, #186 ; 0xba 8081dd0: f44f 7082 mov.w r0, #260 ; 0x104 8081dd4: f7d3 ffda bl 8055d8c 8081dd8: f002 bbf4 b.w 80845c4 } } else if(menupos == D_Inner) 8081ddc: 4b44 ldr r3, [pc, #272] ; (8081ef0 ) 8081dde: 781b ldrb r3, [r3, #0] 8081de0: b2db uxtb r3, r3 8081de2: 2b04 cmp r3, #4 8081de4: f040 80e2 bne.w 8081fac { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8081de8: 493c ldr r1, [pc, #240] ; (8081edc ) 8081dea: f04f 30ff mov.w r0, #4294967295 8081dee: f7d3 fa0d bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8081df2: 4b3b ldr r3, [pc, #236] ; (8081ee0 ) 8081df4: 7b1b ldrb r3, [r3, #12] 8081df6: b2db uxtb r3, r3 8081df8: 461a mov r2, r3 8081dfa: 4b3e ldr r3, [pc, #248] ; (8081ef4 ) 8081dfc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081e00: 461a mov r2, r3 8081e02: 213a movs r1, #58 ; 0x3a 8081e04: 200a movs r0, #10 8081e06: f7d3 ffa9 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081e0a: 4934 ldr r1, [pc, #208] ; (8081edc ) 8081e0c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081e10: f7d3 f9fc bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8081e14: f507 7354 add.w r3, r7, #848 ; 0x350 8081e18: 461a mov r2, r3 8081e1a: 217a movs r1, #122 ; 0x7a 8081e1c: f44f 7082 mov.w r0, #260 ; 0x104 8081e20: f7d3 ffb4 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081e24: 492d ldr r1, [pc, #180] ; (8081edc ) 8081e26: 4831 ldr r0, [pc, #196] ; (8081eec ) 8081e28: f7d3 f9f0 bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, str1); 8081e2c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8081e30: 461a mov r2, r3 8081e32: 214a movs r1, #74 ; 0x4a 8081e34: f44f 7082 mov.w r0, #260 ; 0x104 8081e38: f7d3 ffa8 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8081e3c: f507 735e add.w r3, r7, #888 ; 0x378 8081e40: 461a mov r2, r3 8081e42: 215a movs r1, #90 ; 0x5a 8081e44: f44f 7082 mov.w r0, #260 ; 0x104 8081e48: f7d3 ffa0 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8081e4c: f507 7359 add.w r3, r7, #868 ; 0x364 8081e50: 461a mov r2, r3 8081e52: 216a movs r1, #106 ; 0x6a 8081e54: f44f 7082 mov.w r0, #260 ; 0x104 8081e58: f7d3 ff98 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8081e5c: f507 734f add.w r3, r7, #828 ; 0x33c 8081e60: 461a mov r2, r3 8081e62: 218a movs r1, #138 ; 0x8a 8081e64: f44f 7082 mov.w r0, #260 ; 0x104 8081e68: f7d3 ff90 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8081e6c: 4b1c ldr r3, [pc, #112] ; (8081ee0 ) 8081e6e: 7b5b ldrb r3, [r3, #13] 8081e70: b2db uxtb r3, r3 8081e72: 461a mov r2, r3 8081e74: 4b20 ldr r3, [pc, #128] ; (8081ef8 ) 8081e76: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081e7a: 461a mov r2, r3 8081e7c: 219a movs r1, #154 ; 0x9a 8081e7e: f44f 7082 mov.w r0, #260 ; 0x104 8081e82: f7d3 ff83 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8081e86: f507 734a add.w r3, r7, #808 ; 0x328 8081e8a: 461a mov r2, r3 8081e8c: 21ca movs r1, #202 ; 0xca 8081e8e: f44f 7082 mov.w r0, #260 ; 0x104 8081e92: f7d3 ff7b bl 8055d8c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8081e96: 4b12 ldr r3, [pc, #72] ; (8081ee0 ) 8081e98: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8081e9c: f003 0304 and.w r3, r3, #4 8081ea0: 2b00 cmp r3, #0 8081ea2: d048 beq.n 8081f36 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8081ea4: 490d ldr r1, [pc, #52] ; (8081edc ) 8081ea6: 4815 ldr r0, [pc, #84] ; (8081efc ) 8081ea8: f7d3 f9b0 bl 805520c if(pardata.IIN != VOLTS) 8081eac: 4b0c ldr r3, [pc, #48] ; (8081ee0 ) 8081eae: 799b ldrb r3, [r3, #6] 8081eb0: b2db uxtb r3, r3 8081eb2: 2b02 cmp r3, #2 8081eb4: d024 beq.n 8081f00 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8081eb6: 4b0a ldr r3, [pc, #40] ; (8081ee0 ) 8081eb8: 7b1b ldrb r3, [r3, #12] 8081eba: b2db uxtb r3, r3 8081ebc: 4619 mov r1, r3 8081ebe: 4a09 ldr r2, [pc, #36] ; (8081ee4 ) 8081ec0: 460b mov r3, r1 8081ec2: 00db lsls r3, r3, #3 8081ec4: 440b add r3, r1 8081ec6: 009b lsls r3, r3, #2 8081ec8: 4413 add r3, r2 8081eca: 331c adds r3, #28 8081ecc: 681b ldr r3, [r3, #0] 8081ece: 461a mov r2, r3 8081ed0: 21ba movs r1, #186 ; 0xba 8081ed2: 200a movs r0, #10 8081ed4: f7d3 ff42 bl 8055d5c 8081ed8: e023 b.n 8081f22 8081eda: bf00 nop 8081edc: ff0a0f1f .word 0xff0a0f1f 8081ee0: 20023eb8 .word 0x20023eb8 8081ee4: 2002076c .word 0x2002076c 8081ee8: 200207b4 .word 0x200207b4 8081eec: ffd8aa57 .word 0xffd8aa57 8081ef0: 20020070 .word 0x20020070 8081ef4: 200205cc .word 0x200205cc 8081ef8: 2002022c .word 0x2002022c 8081efc: ff808080 .word 0xff808080 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8081f00: 4bae ldr r3, [pc, #696] ; (80821bc ) 8081f02: 7b1b ldrb r3, [r3, #12] 8081f04: b2db uxtb r3, r3 8081f06: 4619 mov r1, r3 8081f08: 4aad ldr r2, [pc, #692] ; (80821c0 ) 8081f0a: 460b mov r3, r1 8081f0c: 00db lsls r3, r3, #3 8081f0e: 440b add r3, r1 8081f10: 009b lsls r3, r3, #2 8081f12: 4413 add r3, r2 8081f14: 331c adds r3, #28 8081f16: 681b ldr r3, [r3, #0] 8081f18: 461a mov r2, r3 8081f1a: 21ba movs r1, #186 ; 0xba 8081f1c: 200a movs r0, #10 8081f1e: f7d3 ff1d bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_11, str); 8081f22: f507 733b add.w r3, r7, #748 ; 0x2ec 8081f26: 461a mov r2, r3 8081f28: 21ba movs r1, #186 ; 0xba 8081f2a: f44f 7082 mov.w r0, #260 ; 0x104 8081f2e: f7d3 ff2d bl 8055d8c 8081f32: f002 bb47 b.w 80845c4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8081f36: 49a3 ldr r1, [pc, #652] ; (80821c4 ) 8081f38: f04f 30ff mov.w r0, #4294967295 8081f3c: f7d3 f966 bl 805520c if(pardata.IIN != VOLTS) 8081f40: 4b9e ldr r3, [pc, #632] ; (80821bc ) 8081f42: 799b ldrb r3, [r3, #6] 8081f44: b2db uxtb r3, r3 8081f46: 2b02 cmp r3, #2 8081f48: d011 beq.n 8081f6e LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8081f4a: 4b9c ldr r3, [pc, #624] ; (80821bc ) 8081f4c: 7b1b ldrb r3, [r3, #12] 8081f4e: b2db uxtb r3, r3 8081f50: 4619 mov r1, r3 8081f52: 4a9d ldr r2, [pc, #628] ; (80821c8 ) 8081f54: 460b mov r3, r1 8081f56: 00db lsls r3, r3, #3 8081f58: 440b add r3, r1 8081f5a: 009b lsls r3, r3, #2 8081f5c: 4413 add r3, r2 8081f5e: 331c adds r3, #28 8081f60: 681b ldr r3, [r3, #0] 8081f62: 461a mov r2, r3 8081f64: 21ba movs r1, #186 ; 0xba 8081f66: 200a movs r0, #10 8081f68: f7d3 fef8 bl 8055d5c 8081f6c: e010 b.n 8081f90 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8081f6e: 4b93 ldr r3, [pc, #588] ; (80821bc ) 8081f70: 7b1b ldrb r3, [r3, #12] 8081f72: b2db uxtb r3, r3 8081f74: 4619 mov r1, r3 8081f76: 4a92 ldr r2, [pc, #584] ; (80821c0 ) 8081f78: 460b mov r3, r1 8081f7a: 00db lsls r3, r3, #3 8081f7c: 440b add r3, r1 8081f7e: 009b lsls r3, r3, #2 8081f80: 4413 add r3, r2 8081f82: 331c adds r3, #28 8081f84: 681b ldr r3, [r3, #0] 8081f86: 461a mov r2, r3 8081f88: 21ba movs r1, #186 ; 0xba 8081f8a: 200a movs r0, #10 8081f8c: f7d3 fee6 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081f90: 498c ldr r1, [pc, #560] ; (80821c4 ) 8081f92: 488e ldr r0, [pc, #568] ; (80821cc ) 8081f94: f7d3 f93a bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, str); 8081f98: f507 733b add.w r3, r7, #748 ; 0x2ec 8081f9c: 461a mov r2, r3 8081f9e: 21ba movs r1, #186 ; 0xba 8081fa0: f44f 7082 mov.w r0, #260 ; 0x104 8081fa4: f7d3 fef2 bl 8055d8c 8081fa8: f002 bb0c b.w 80845c4 } } else if(menupos == D_Angle) 8081fac: 4b88 ldr r3, [pc, #544] ; (80821d0 ) 8081fae: 781b ldrb r3, [r3, #0] 8081fb0: b2db uxtb r3, r3 8081fb2: 2b05 cmp r3, #5 8081fb4: f040 80cf bne.w 8082156 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8081fb8: 4982 ldr r1, [pc, #520] ; (80821c4 ) 8081fba: f04f 30ff mov.w r0, #4294967295 8081fbe: f7d3 f925 bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8081fc2: 4b7e ldr r3, [pc, #504] ; (80821bc ) 8081fc4: 7b1b ldrb r3, [r3, #12] 8081fc6: b2db uxtb r3, r3 8081fc8: 461a mov r2, r3 8081fca: 4b82 ldr r3, [pc, #520] ; (80821d4 ) 8081fcc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081fd0: 461a mov r2, r3 8081fd2: 213a movs r1, #58 ; 0x3a 8081fd4: 200a movs r0, #10 8081fd6: f7d3 fec1 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081fda: 497a ldr r1, [pc, #488] ; (80821c4 ) 8081fdc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081fe0: f7d3 f914 bl 805520c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8081fe4: f507 734f add.w r3, r7, #828 ; 0x33c 8081fe8: 461a mov r2, r3 8081fea: 218a movs r1, #138 ; 0x8a 8081fec: f44f 7082 mov.w r0, #260 ; 0x104 8081ff0: f7d3 fecc bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081ff4: 4973 ldr r1, [pc, #460] ; (80821c4 ) 8081ff6: 4875 ldr r0, [pc, #468] ; (80821cc ) 8081ff8: f7d3 f908 bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, str1); 8081ffc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8082000: 461a mov r2, r3 8082002: 214a movs r1, #74 ; 0x4a 8082004: f44f 7082 mov.w r0, #260 ; 0x104 8082008: f7d3 fec0 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 808200c: f507 735e add.w r3, r7, #888 ; 0x378 8082010: 461a mov r2, r3 8082012: 215a movs r1, #90 ; 0x5a 8082014: f44f 7082 mov.w r0, #260 ; 0x104 8082018: f7d3 feb8 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 808201c: f507 7359 add.w r3, r7, #868 ; 0x364 8082020: 461a mov r2, r3 8082022: 216a movs r1, #106 ; 0x6a 8082024: f44f 7082 mov.w r0, #260 ; 0x104 8082028: f7d3 feb0 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 808202c: f507 7354 add.w r3, r7, #848 ; 0x350 8082030: 461a mov r2, r3 8082032: 217a movs r1, #122 ; 0x7a 8082034: f44f 7082 mov.w r0, #260 ; 0x104 8082038: f7d3 fea8 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 808203c: 4b5f ldr r3, [pc, #380] ; (80821bc ) 808203e: 7b5b ldrb r3, [r3, #13] 8082040: b2db uxtb r3, r3 8082042: 461a mov r2, r3 8082044: 4b64 ldr r3, [pc, #400] ; (80821d8 ) 8082046: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808204a: 461a mov r2, r3 808204c: 219a movs r1, #154 ; 0x9a 808204e: f44f 7082 mov.w r0, #260 ; 0x104 8082052: f7d3 fe9b bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8082056: f507 734a add.w r3, r7, #808 ; 0x328 808205a: 461a mov r2, r3 808205c: 21ca movs r1, #202 ; 0xca 808205e: f44f 7082 mov.w r0, #260 ; 0x104 8082062: f7d3 fe93 bl 8055d8c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8082066: 4b55 ldr r3, [pc, #340] ; (80821bc ) 8082068: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808206c: f003 0304 and.w r3, r3, #4 8082070: 2b00 cmp r3, #0 8082072: d035 beq.n 80820e0 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8082074: 4953 ldr r1, [pc, #332] ; (80821c4 ) 8082076: 4859 ldr r0, [pc, #356] ; (80821dc ) 8082078: f7d3 f8c8 bl 805520c if(pardata.IIN != VOLTS) 808207c: 4b4f ldr r3, [pc, #316] ; (80821bc ) 808207e: 799b ldrb r3, [r3, #6] 8082080: b2db uxtb r3, r3 8082082: 2b02 cmp r3, #2 8082084: d011 beq.n 80820aa LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8082086: 4b4d ldr r3, [pc, #308] ; (80821bc ) 8082088: 7b1b ldrb r3, [r3, #12] 808208a: b2db uxtb r3, r3 808208c: 4619 mov r1, r3 808208e: 4a4e ldr r2, [pc, #312] ; (80821c8 ) 8082090: 460b mov r3, r1 8082092: 00db lsls r3, r3, #3 8082094: 440b add r3, r1 8082096: 009b lsls r3, r3, #2 8082098: 4413 add r3, r2 808209a: 331c adds r3, #28 808209c: 681b ldr r3, [r3, #0] 808209e: 461a mov r2, r3 80820a0: 21ba movs r1, #186 ; 0xba 80820a2: 200a movs r0, #10 80820a4: f7d3 fe5a bl 8055d5c 80820a8: e010 b.n 80820cc else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80820aa: 4b44 ldr r3, [pc, #272] ; (80821bc ) 80820ac: 7b1b ldrb r3, [r3, #12] 80820ae: b2db uxtb r3, r3 80820b0: 4619 mov r1, r3 80820b2: 4a43 ldr r2, [pc, #268] ; (80821c0 ) 80820b4: 460b mov r3, r1 80820b6: 00db lsls r3, r3, #3 80820b8: 440b add r3, r1 80820ba: 009b lsls r3, r3, #2 80820bc: 4413 add r3, r2 80820be: 331c adds r3, #28 80820c0: 681b ldr r3, [r3, #0] 80820c2: 461a mov r2, r3 80820c4: 21ba movs r1, #186 ; 0xba 80820c6: 200a movs r0, #10 80820c8: f7d3 fe48 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_11, str); 80820cc: f507 733b add.w r3, r7, #748 ; 0x2ec 80820d0: 461a mov r2, r3 80820d2: 21ba movs r1, #186 ; 0xba 80820d4: f44f 7082 mov.w r0, #260 ; 0x104 80820d8: f7d3 fe58 bl 8055d8c 80820dc: f002 ba72 b.w 80845c4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80820e0: 4938 ldr r1, [pc, #224] ; (80821c4 ) 80820e2: f04f 30ff mov.w r0, #4294967295 80820e6: f7d3 f891 bl 805520c if(pardata.IIN != VOLTS) 80820ea: 4b34 ldr r3, [pc, #208] ; (80821bc ) 80820ec: 799b ldrb r3, [r3, #6] 80820ee: b2db uxtb r3, r3 80820f0: 2b02 cmp r3, #2 80820f2: d011 beq.n 8082118 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 80820f4: 4b31 ldr r3, [pc, #196] ; (80821bc ) 80820f6: 7b1b ldrb r3, [r3, #12] 80820f8: b2db uxtb r3, r3 80820fa: 4619 mov r1, r3 80820fc: 4a32 ldr r2, [pc, #200] ; (80821c8 ) 80820fe: 460b mov r3, r1 8082100: 00db lsls r3, r3, #3 8082102: 440b add r3, r1 8082104: 009b lsls r3, r3, #2 8082106: 4413 add r3, r2 8082108: 331c adds r3, #28 808210a: 681b ldr r3, [r3, #0] 808210c: 461a mov r2, r3 808210e: 21ba movs r1, #186 ; 0xba 8082110: 200a movs r0, #10 8082112: f7d3 fe23 bl 8055d5c 8082116: e010 b.n 808213a else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8082118: 4b28 ldr r3, [pc, #160] ; (80821bc ) 808211a: 7b1b ldrb r3, [r3, #12] 808211c: b2db uxtb r3, r3 808211e: 4619 mov r1, r3 8082120: 4a27 ldr r2, [pc, #156] ; (80821c0 ) 8082122: 460b mov r3, r1 8082124: 00db lsls r3, r3, #3 8082126: 440b add r3, r1 8082128: 009b lsls r3, r3, #2 808212a: 4413 add r3, r2 808212c: 331c adds r3, #28 808212e: 681b ldr r3, [r3, #0] 8082130: 461a mov r2, r3 8082132: 21ba movs r1, #186 ; 0xba 8082134: 200a movs r0, #10 8082136: f7d3 fe11 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808213a: 4922 ldr r1, [pc, #136] ; (80821c4 ) 808213c: 4823 ldr r0, [pc, #140] ; (80821cc ) 808213e: f7d3 f865 bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, str); 8082142: f507 733b add.w r3, r7, #748 ; 0x2ec 8082146: 461a mov r2, r3 8082148: 21ba movs r1, #186 ; 0xba 808214a: f44f 7082 mov.w r0, #260 ; 0x104 808214e: f7d3 fe1d bl 8055d8c 8082152: f002 ba37 b.w 80845c4 } } else if(menupos == RollAverage) 8082156: 4b1e ldr r3, [pc, #120] ; (80821d0 ) 8082158: 781b ldrb r3, [r3, #0] 808215a: b2db uxtb r3, r3 808215c: 2b06 cmp r3, #6 808215e: f040 80fc bne.w 808235a { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8082162: 4918 ldr r1, [pc, #96] ; (80821c4 ) 8082164: f04f 30ff mov.w r0, #4294967295 8082168: f7d3 f850 bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 808216c: 4b13 ldr r3, [pc, #76] ; (80821bc ) 808216e: 7b1b ldrb r3, [r3, #12] 8082170: b2db uxtb r3, r3 8082172: 461a mov r2, r3 8082174: 4b17 ldr r3, [pc, #92] ; (80821d4 ) 8082176: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808217a: 461a mov r2, r3 808217c: 213a movs r1, #58 ; 0x3a 808217e: 200a movs r0, #10 8082180: f7d3 fdec bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082184: 490f ldr r1, [pc, #60] ; (80821c4 ) 8082186: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808218a: f7d3 f83f bl 805520c if(focused) 808218e: 4b14 ldr r3, [pc, #80] ; (80821e0 ) 8082190: 781b ldrb r3, [r3, #0] 8082192: b2db uxtb r3, r3 8082194: 2b00 cmp r3, #0 8082196: d027 beq.n 80821e8 { if(blk) 8082198: 4b12 ldr r3, [pc, #72] ; (80821e4 ) 808219a: 681b ldr r3, [r3, #0] 808219c: 2b00 cmp r3, #0 808219e: d030 beq.n 8082202 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 80821a0: 4b06 ldr r3, [pc, #24] ; (80821bc ) 80821a2: 7b5b ldrb r3, [r3, #13] 80821a4: b2db uxtb r3, r3 80821a6: 461a mov r2, r3 80821a8: 4b0b ldr r3, [pc, #44] ; (80821d8 ) 80821aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80821ae: 461a mov r2, r3 80821b0: 219a movs r1, #154 ; 0x9a 80821b2: f44f 7082 mov.w r0, #260 ; 0x104 80821b6: f7d3 fde9 bl 8055d8c 80821ba: e022 b.n 8082202 80821bc: 20023eb8 .word 0x20023eb8 80821c0: 200207b4 .word 0x200207b4 80821c4: ff0a0f1f .word 0xff0a0f1f 80821c8: 2002076c .word 0x2002076c 80821cc: ffd8aa57 .word 0xffd8aa57 80821d0: 20020070 .word 0x20020070 80821d4: 200205cc .word 0x200205cc 80821d8: 2002022c .word 0x2002022c 80821dc: ff808080 .word 0xff808080 80821e0: 20020fd0 .word 0x20020fd0 80821e4: 200216ac .word 0x200216ac } else LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 80821e8: 4bc4 ldr r3, [pc, #784] ; (80824fc ) 80821ea: 7b5b ldrb r3, [r3, #13] 80821ec: b2db uxtb r3, r3 80821ee: 461a mov r2, r3 80821f0: 4bc3 ldr r3, [pc, #780] ; (8082500 ) 80821f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80821f6: 461a mov r2, r3 80821f8: 219a movs r1, #154 ; 0x9a 80821fa: f44f 7082 mov.w r0, #260 ; 0x104 80821fe: f7d3 fdc5 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082202: 49c0 ldr r1, [pc, #768] ; (8082504 ) 8082204: 48c0 ldr r0, [pc, #768] ; (8082508 ) 8082206: f7d3 f801 bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, str1); 808220a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808220e: 461a mov r2, r3 8082210: 214a movs r1, #74 ; 0x4a 8082212: f44f 7082 mov.w r0, #260 ; 0x104 8082216: f7d3 fdb9 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 808221a: f507 735e add.w r3, r7, #888 ; 0x378 808221e: 461a mov r2, r3 8082220: 215a movs r1, #90 ; 0x5a 8082222: f44f 7082 mov.w r0, #260 ; 0x104 8082226: f7d3 fdb1 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 808222a: f507 7359 add.w r3, r7, #868 ; 0x364 808222e: 461a mov r2, r3 8082230: 216a movs r1, #106 ; 0x6a 8082232: f44f 7082 mov.w r0, #260 ; 0x104 8082236: f7d3 fda9 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 808223a: f507 7354 add.w r3, r7, #848 ; 0x350 808223e: 461a mov r2, r3 8082240: 217a movs r1, #122 ; 0x7a 8082242: f44f 7082 mov.w r0, #260 ; 0x104 8082246: f7d3 fda1 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 808224a: f507 734f add.w r3, r7, #828 ; 0x33c 808224e: 461a mov r2, r3 8082250: 218a movs r1, #138 ; 0x8a 8082252: f44f 7082 mov.w r0, #260 ; 0x104 8082256: f7d3 fd99 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 808225a: f507 734a add.w r3, r7, #808 ; 0x328 808225e: 461a mov r2, r3 8082260: 21ca movs r1, #202 ; 0xca 8082262: f44f 7082 mov.w r0, #260 ; 0x104 8082266: f7d3 fd91 bl 8055d8c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 808226a: 4ba4 ldr r3, [pc, #656] ; (80824fc ) 808226c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8082270: f003 0304 and.w r3, r3, #4 8082274: 2b00 cmp r3, #0 8082276: d035 beq.n 80822e4 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8082278: 49a2 ldr r1, [pc, #648] ; (8082504 ) 808227a: 48a4 ldr r0, [pc, #656] ; (808250c ) 808227c: f7d2 ffc6 bl 805520c if(pardata.IIN != VOLTS) 8082280: 4b9e ldr r3, [pc, #632] ; (80824fc ) 8082282: 799b ldrb r3, [r3, #6] 8082284: b2db uxtb r3, r3 8082286: 2b02 cmp r3, #2 8082288: d011 beq.n 80822ae LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 808228a: 4b9c ldr r3, [pc, #624] ; (80824fc ) 808228c: 7b1b ldrb r3, [r3, #12] 808228e: b2db uxtb r3, r3 8082290: 4619 mov r1, r3 8082292: 4a9f ldr r2, [pc, #636] ; (8082510 ) 8082294: 460b mov r3, r1 8082296: 00db lsls r3, r3, #3 8082298: 440b add r3, r1 808229a: 009b lsls r3, r3, #2 808229c: 4413 add r3, r2 808229e: 331c adds r3, #28 80822a0: 681b ldr r3, [r3, #0] 80822a2: 461a mov r2, r3 80822a4: 21ba movs r1, #186 ; 0xba 80822a6: 200a movs r0, #10 80822a8: f7d3 fd58 bl 8055d5c 80822ac: e010 b.n 80822d0 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80822ae: 4b93 ldr r3, [pc, #588] ; (80824fc ) 80822b0: 7b1b ldrb r3, [r3, #12] 80822b2: b2db uxtb r3, r3 80822b4: 4619 mov r1, r3 80822b6: 4a97 ldr r2, [pc, #604] ; (8082514 ) 80822b8: 460b mov r3, r1 80822ba: 00db lsls r3, r3, #3 80822bc: 440b add r3, r1 80822be: 009b lsls r3, r3, #2 80822c0: 4413 add r3, r2 80822c2: 331c adds r3, #28 80822c4: 681b ldr r3, [r3, #0] 80822c6: 461a mov r2, r3 80822c8: 21ba movs r1, #186 ; 0xba 80822ca: 200a movs r0, #10 80822cc: f7d3 fd46 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_11, str); 80822d0: f507 733b add.w r3, r7, #748 ; 0x2ec 80822d4: 461a mov r2, r3 80822d6: 21ba movs r1, #186 ; 0xba 80822d8: f44f 7082 mov.w r0, #260 ; 0x104 80822dc: f7d3 fd56 bl 8055d8c 80822e0: f002 b970 b.w 80845c4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80822e4: 4987 ldr r1, [pc, #540] ; (8082504 ) 80822e6: f04f 30ff mov.w r0, #4294967295 80822ea: f7d2 ff8f bl 805520c if(pardata.IIN != VOLTS) 80822ee: 4b83 ldr r3, [pc, #524] ; (80824fc ) 80822f0: 799b ldrb r3, [r3, #6] 80822f2: b2db uxtb r3, r3 80822f4: 2b02 cmp r3, #2 80822f6: d011 beq.n 808231c LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 80822f8: 4b80 ldr r3, [pc, #512] ; (80824fc ) 80822fa: 7b1b ldrb r3, [r3, #12] 80822fc: b2db uxtb r3, r3 80822fe: 4619 mov r1, r3 8082300: 4a83 ldr r2, [pc, #524] ; (8082510 ) 8082302: 460b mov r3, r1 8082304: 00db lsls r3, r3, #3 8082306: 440b add r3, r1 8082308: 009b lsls r3, r3, #2 808230a: 4413 add r3, r2 808230c: 331c adds r3, #28 808230e: 681b ldr r3, [r3, #0] 8082310: 461a mov r2, r3 8082312: 21ba movs r1, #186 ; 0xba 8082314: 200a movs r0, #10 8082316: f7d3 fd21 bl 8055d5c 808231a: e010 b.n 808233e else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 808231c: 4b77 ldr r3, [pc, #476] ; (80824fc ) 808231e: 7b1b ldrb r3, [r3, #12] 8082320: b2db uxtb r3, r3 8082322: 4619 mov r1, r3 8082324: 4a7b ldr r2, [pc, #492] ; (8082514 ) 8082326: 460b mov r3, r1 8082328: 00db lsls r3, r3, #3 808232a: 440b add r3, r1 808232c: 009b lsls r3, r3, #2 808232e: 4413 add r3, r2 8082330: 331c adds r3, #28 8082332: 681b ldr r3, [r3, #0] 8082334: 461a mov r2, r3 8082336: 21ba movs r1, #186 ; 0xba 8082338: 200a movs r0, #10 808233a: f7d3 fd0f bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808233e: 4971 ldr r1, [pc, #452] ; (8082504 ) 8082340: 4871 ldr r0, [pc, #452] ; (8082508 ) 8082342: f7d2 ff63 bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, str); 8082346: f507 733b add.w r3, r7, #748 ; 0x2ec 808234a: 461a mov r2, r3 808234c: 21ba movs r1, #186 ; 0xba 808234e: f44f 7082 mov.w r0, #260 ; 0x104 8082352: f7d3 fd1b bl 8055d8c 8082356: f002 b935 b.w 80845c4 } } else if(menupos == RollAutoKu) 808235a: 4b6f ldr r3, [pc, #444] ; (8082518 ) 808235c: 781b ldrb r3, [r3, #0] 808235e: b2db uxtb r3, r3 8082360: 2b07 cmp r3, #7 8082362: f040 80dd bne.w 8082520 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8082366: 4967 ldr r1, [pc, #412] ; (8082504 ) 8082368: f04f 30ff mov.w r0, #4294967295 808236c: f7d2 ff4e bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8082370: 4b62 ldr r3, [pc, #392] ; (80824fc ) 8082372: 7b1b ldrb r3, [r3, #12] 8082374: b2db uxtb r3, r3 8082376: 461a mov r2, r3 8082378: 4b68 ldr r3, [pc, #416] ; (808251c ) 808237a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808237e: 461a mov r2, r3 8082380: 213a movs r1, #58 ; 0x3a 8082382: 200a movs r0, #10 8082384: f7d3 fcea bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082388: 495e ldr r1, [pc, #376] ; (8082504 ) 808238a: 485f ldr r0, [pc, #380] ; (8082508 ) 808238c: f7d2 ff3e bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, str1); 8082390: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8082394: 461a mov r2, r3 8082396: 214a movs r1, #74 ; 0x4a 8082398: f44f 7082 mov.w r0, #260 ; 0x104 808239c: f7d3 fcf6 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 80823a0: f507 735e add.w r3, r7, #888 ; 0x378 80823a4: 461a mov r2, r3 80823a6: 215a movs r1, #90 ; 0x5a 80823a8: f44f 7082 mov.w r0, #260 ; 0x104 80823ac: f7d3 fcee bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 80823b0: f507 7359 add.w r3, r7, #868 ; 0x364 80823b4: 461a mov r2, r3 80823b6: 216a movs r1, #106 ; 0x6a 80823b8: f44f 7082 mov.w r0, #260 ; 0x104 80823bc: f7d3 fce6 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 80823c0: f507 7354 add.w r3, r7, #848 ; 0x350 80823c4: 461a mov r2, r3 80823c6: 217a movs r1, #122 ; 0x7a 80823c8: f44f 7082 mov.w r0, #260 ; 0x104 80823cc: f7d3 fcde bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 80823d0: f507 734f add.w r3, r7, #828 ; 0x33c 80823d4: 461a mov r2, r3 80823d6: 218a movs r1, #138 ; 0x8a 80823d8: f44f 7082 mov.w r0, #260 ; 0x104 80823dc: f7d3 fcd6 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 80823e0: 4b46 ldr r3, [pc, #280] ; (80824fc ) 80823e2: 7b5b ldrb r3, [r3, #13] 80823e4: b2db uxtb r3, r3 80823e6: 461a mov r2, r3 80823e8: 4b45 ldr r3, [pc, #276] ; (8082500 ) 80823ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80823ee: 461a mov r2, r3 80823f0: 219a movs r1, #154 ; 0x9a 80823f2: f44f 7082 mov.w r0, #260 ; 0x104 80823f6: f7d3 fcc9 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 80823fa: f507 734a add.w r3, r7, #808 ; 0x328 80823fe: 461a mov r2, r3 8082400: 21ca movs r1, #202 ; 0xca 8082402: f44f 7082 mov.w r0, #260 ; 0x104 8082406: f7d3 fcc1 bl 8055d8c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 808240a: 4b3c ldr r3, [pc, #240] ; (80824fc ) 808240c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8082410: f003 0304 and.w r3, r3, #4 8082414: 2b00 cmp r3, #0 8082416: d035 beq.n 8082484 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8082418: 493a ldr r1, [pc, #232] ; (8082504 ) 808241a: 483c ldr r0, [pc, #240] ; (808250c ) 808241c: f7d2 fef6 bl 805520c if(pardata.IIN != VOLTS) 8082420: 4b36 ldr r3, [pc, #216] ; (80824fc ) 8082422: 799b ldrb r3, [r3, #6] 8082424: b2db uxtb r3, r3 8082426: 2b02 cmp r3, #2 8082428: d011 beq.n 808244e LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 808242a: 4b34 ldr r3, [pc, #208] ; (80824fc ) 808242c: 7b1b ldrb r3, [r3, #12] 808242e: b2db uxtb r3, r3 8082430: 4619 mov r1, r3 8082432: 4a37 ldr r2, [pc, #220] ; (8082510 ) 8082434: 460b mov r3, r1 8082436: 00db lsls r3, r3, #3 8082438: 440b add r3, r1 808243a: 009b lsls r3, r3, #2 808243c: 4413 add r3, r2 808243e: 331c adds r3, #28 8082440: 681b ldr r3, [r3, #0] 8082442: 461a mov r2, r3 8082444: 21ba movs r1, #186 ; 0xba 8082446: 200a movs r0, #10 8082448: f7d3 fc88 bl 8055d5c 808244c: e010 b.n 8082470 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 808244e: 4b2b ldr r3, [pc, #172] ; (80824fc ) 8082450: 7b1b ldrb r3, [r3, #12] 8082452: b2db uxtb r3, r3 8082454: 4619 mov r1, r3 8082456: 4a2f ldr r2, [pc, #188] ; (8082514 ) 8082458: 460b mov r3, r1 808245a: 00db lsls r3, r3, #3 808245c: 440b add r3, r1 808245e: 009b lsls r3, r3, #2 8082460: 4413 add r3, r2 8082462: 331c adds r3, #28 8082464: 681b ldr r3, [r3, #0] 8082466: 461a mov r2, r3 8082468: 21ba movs r1, #186 ; 0xba 808246a: 200a movs r0, #10 808246c: f7d3 fc76 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_11, str); 8082470: f507 733b add.w r3, r7, #748 ; 0x2ec 8082474: 461a mov r2, r3 8082476: 21ba movs r1, #186 ; 0xba 8082478: f44f 7082 mov.w r0, #260 ; 0x104 808247c: f7d3 fc86 bl 8055d8c 8082480: f002 b8a0 b.w 80845c4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8082484: 491f ldr r1, [pc, #124] ; (8082504 ) 8082486: f04f 30ff mov.w r0, #4294967295 808248a: f7d2 febf bl 805520c if(pardata.IIN != VOLTS) 808248e: 4b1b ldr r3, [pc, #108] ; (80824fc ) 8082490: 799b ldrb r3, [r3, #6] 8082492: b2db uxtb r3, r3 8082494: 2b02 cmp r3, #2 8082496: d011 beq.n 80824bc LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8082498: 4b18 ldr r3, [pc, #96] ; (80824fc ) 808249a: 7b1b ldrb r3, [r3, #12] 808249c: b2db uxtb r3, r3 808249e: 4619 mov r1, r3 80824a0: 4a1b ldr r2, [pc, #108] ; (8082510 ) 80824a2: 460b mov r3, r1 80824a4: 00db lsls r3, r3, #3 80824a6: 440b add r3, r1 80824a8: 009b lsls r3, r3, #2 80824aa: 4413 add r3, r2 80824ac: 331c adds r3, #28 80824ae: 681b ldr r3, [r3, #0] 80824b0: 461a mov r2, r3 80824b2: 21ba movs r1, #186 ; 0xba 80824b4: 200a movs r0, #10 80824b6: f7d3 fc51 bl 8055d5c 80824ba: e010 b.n 80824de else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80824bc: 4b0f ldr r3, [pc, #60] ; (80824fc ) 80824be: 7b1b ldrb r3, [r3, #12] 80824c0: b2db uxtb r3, r3 80824c2: 4619 mov r1, r3 80824c4: 4a13 ldr r2, [pc, #76] ; (8082514 ) 80824c6: 460b mov r3, r1 80824c8: 00db lsls r3, r3, #3 80824ca: 440b add r3, r1 80824cc: 009b lsls r3, r3, #2 80824ce: 4413 add r3, r2 80824d0: 331c adds r3, #28 80824d2: 681b ldr r3, [r3, #0] 80824d4: 461a mov r2, r3 80824d6: 21ba movs r1, #186 ; 0xba 80824d8: 200a movs r0, #10 80824da: f7d3 fc3f bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80824de: 4909 ldr r1, [pc, #36] ; (8082504 ) 80824e0: 4809 ldr r0, [pc, #36] ; (8082508 ) 80824e2: f7d2 fe93 bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, str); 80824e6: f507 733b add.w r3, r7, #748 ; 0x2ec 80824ea: 461a mov r2, r3 80824ec: 21ba movs r1, #186 ; 0xba 80824ee: f44f 7082 mov.w r0, #260 ; 0x104 80824f2: f7d3 fc4b bl 8055d8c 80824f6: f002 b865 b.w 80845c4 80824fa: bf00 nop 80824fc: 20023eb8 .word 0x20023eb8 8082500: 2002022c .word 0x2002022c 8082504: ff0a0f1f .word 0xff0a0f1f 8082508: ffd8aa57 .word 0xffd8aa57 808250c: ff808080 .word 0xff808080 8082510: 2002076c .word 0x2002076c 8082514: 200207b4 .word 0x200207b4 8082518: 20020070 .word 0x20020070 808251c: 200205cc .word 0x200205cc } } else if(menupos == RollMax_ALL) 8082520: 4bd2 ldr r3, [pc, #840] ; (808286c ) 8082522: 781b ldrb r3, [r3, #0] 8082524: b2db uxtb r3, r3 8082526: 2b08 cmp r3, #8 8082528: f040 80cb bne.w 80826c2 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808252c: 49d0 ldr r1, [pc, #832] ; (8082870 ) 808252e: f04f 30ff mov.w r0, #4294967295 8082532: f7d2 fe6b bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8082536: 4bcf ldr r3, [pc, #828] ; (8082874 ) 8082538: 7b1b ldrb r3, [r3, #12] 808253a: b2db uxtb r3, r3 808253c: 461a mov r2, r3 808253e: 4bce ldr r3, [pc, #824] ; (8082878 ) 8082540: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082544: 461a mov r2, r3 8082546: 213a movs r1, #58 ; 0x3a 8082548: 200a movs r0, #10 808254a: f7d3 fc07 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808254e: 49c8 ldr r1, [pc, #800] ; (8082870 ) 8082550: 48ca ldr r0, [pc, #808] ; (808287c ) 8082552: f7d2 fe5b bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, str1); 8082556: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808255a: 461a mov r2, r3 808255c: 214a movs r1, #74 ; 0x4a 808255e: f44f 7082 mov.w r0, #260 ; 0x104 8082562: f7d3 fc13 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8082566: f507 735e add.w r3, r7, #888 ; 0x378 808256a: 461a mov r2, r3 808256c: 215a movs r1, #90 ; 0x5a 808256e: f44f 7082 mov.w r0, #260 ; 0x104 8082572: f7d3 fc0b bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8082576: f507 7359 add.w r3, r7, #868 ; 0x364 808257a: 461a mov r2, r3 808257c: 216a movs r1, #106 ; 0x6a 808257e: f44f 7082 mov.w r0, #260 ; 0x104 8082582: f7d3 fc03 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8082586: f507 7354 add.w r3, r7, #848 ; 0x350 808258a: 461a mov r2, r3 808258c: 217a movs r1, #122 ; 0x7a 808258e: f44f 7082 mov.w r0, #260 ; 0x104 8082592: f7d3 fbfb bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8082596: f507 734f add.w r3, r7, #828 ; 0x33c 808259a: 461a mov r2, r3 808259c: 218a movs r1, #138 ; 0x8a 808259e: f44f 7082 mov.w r0, #260 ; 0x104 80825a2: f7d3 fbf3 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 80825a6: 4bb3 ldr r3, [pc, #716] ; (8082874 ) 80825a8: 7b5b ldrb r3, [r3, #13] 80825aa: b2db uxtb r3, r3 80825ac: 461a mov r2, r3 80825ae: 4bb4 ldr r3, [pc, #720] ; (8082880 ) 80825b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80825b4: 461a mov r2, r3 80825b6: 219a movs r1, #154 ; 0x9a 80825b8: f44f 7082 mov.w r0, #260 ; 0x104 80825bc: f7d3 fbe6 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 80825c0: f507 734a add.w r3, r7, #808 ; 0x328 80825c4: 461a mov r2, r3 80825c6: 21ca movs r1, #202 ; 0xca 80825c8: f44f 7082 mov.w r0, #260 ; 0x104 80825cc: f7d3 fbde bl 8055d8c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 80825d0: 4ba8 ldr r3, [pc, #672] ; (8082874 ) 80825d2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80825d6: f003 0304 and.w r3, r3, #4 80825da: 2b00 cmp r3, #0 80825dc: d035 beq.n 808264a { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80825de: 49a4 ldr r1, [pc, #656] ; (8082870 ) 80825e0: 48a8 ldr r0, [pc, #672] ; (8082884 ) 80825e2: f7d2 fe13 bl 805520c if(pardata.IIN != VOLTS) 80825e6: 4ba3 ldr r3, [pc, #652] ; (8082874 ) 80825e8: 799b ldrb r3, [r3, #6] 80825ea: b2db uxtb r3, r3 80825ec: 2b02 cmp r3, #2 80825ee: d011 beq.n 8082614 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 80825f0: 4ba0 ldr r3, [pc, #640] ; (8082874 ) 80825f2: 7b1b ldrb r3, [r3, #12] 80825f4: b2db uxtb r3, r3 80825f6: 4619 mov r1, r3 80825f8: 4aa3 ldr r2, [pc, #652] ; (8082888 ) 80825fa: 460b mov r3, r1 80825fc: 00db lsls r3, r3, #3 80825fe: 440b add r3, r1 8082600: 009b lsls r3, r3, #2 8082602: 4413 add r3, r2 8082604: 331c adds r3, #28 8082606: 681b ldr r3, [r3, #0] 8082608: 461a mov r2, r3 808260a: 21ba movs r1, #186 ; 0xba 808260c: 200a movs r0, #10 808260e: f7d3 fba5 bl 8055d5c 8082612: e010 b.n 8082636 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8082614: 4b97 ldr r3, [pc, #604] ; (8082874 ) 8082616: 7b1b ldrb r3, [r3, #12] 8082618: b2db uxtb r3, r3 808261a: 4619 mov r1, r3 808261c: 4a9b ldr r2, [pc, #620] ; (808288c ) 808261e: 460b mov r3, r1 8082620: 00db lsls r3, r3, #3 8082622: 440b add r3, r1 8082624: 009b lsls r3, r3, #2 8082626: 4413 add r3, r2 8082628: 331c adds r3, #28 808262a: 681b ldr r3, [r3, #0] 808262c: 461a mov r2, r3 808262e: 21ba movs r1, #186 ; 0xba 8082630: 200a movs r0, #10 8082632: f7d3 fb93 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_11, str); 8082636: f507 733b add.w r3, r7, #748 ; 0x2ec 808263a: 461a mov r2, r3 808263c: 21ba movs r1, #186 ; 0xba 808263e: f44f 7082 mov.w r0, #260 ; 0x104 8082642: f7d3 fba3 bl 8055d8c 8082646: f001 bfbd b.w 80845c4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808264a: 4989 ldr r1, [pc, #548] ; (8082870 ) 808264c: f04f 30ff mov.w r0, #4294967295 8082650: f7d2 fddc bl 805520c if(pardata.IIN != VOLTS) 8082654: 4b87 ldr r3, [pc, #540] ; (8082874 ) 8082656: 799b ldrb r3, [r3, #6] 8082658: b2db uxtb r3, r3 808265a: 2b02 cmp r3, #2 808265c: d011 beq.n 8082682 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 808265e: 4b85 ldr r3, [pc, #532] ; (8082874 ) 8082660: 7b1b ldrb r3, [r3, #12] 8082662: b2db uxtb r3, r3 8082664: 4619 mov r1, r3 8082666: 4a88 ldr r2, [pc, #544] ; (8082888 ) 8082668: 460b mov r3, r1 808266a: 00db lsls r3, r3, #3 808266c: 440b add r3, r1 808266e: 009b lsls r3, r3, #2 8082670: 4413 add r3, r2 8082672: 331c adds r3, #28 8082674: 681b ldr r3, [r3, #0] 8082676: 461a mov r2, r3 8082678: 21ba movs r1, #186 ; 0xba 808267a: 200a movs r0, #10 808267c: f7d3 fb6e bl 8055d5c 8082680: e010 b.n 80826a4 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8082682: 4b7c ldr r3, [pc, #496] ; (8082874 ) 8082684: 7b1b ldrb r3, [r3, #12] 8082686: b2db uxtb r3, r3 8082688: 4619 mov r1, r3 808268a: 4a80 ldr r2, [pc, #512] ; (808288c ) 808268c: 460b mov r3, r1 808268e: 00db lsls r3, r3, #3 8082690: 440b add r3, r1 8082692: 009b lsls r3, r3, #2 8082694: 4413 add r3, r2 8082696: 331c adds r3, #28 8082698: 681b ldr r3, [r3, #0] 808269a: 461a mov r2, r3 808269c: 21ba movs r1, #186 ; 0xba 808269e: 200a movs r0, #10 80826a0: f7d3 fb5c bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80826a4: 4972 ldr r1, [pc, #456] ; (8082870 ) 80826a6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80826aa: f7d2 fdaf bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, str); 80826ae: f507 733b add.w r3, r7, #748 ; 0x2ec 80826b2: 461a mov r2, r3 80826b4: 21ba movs r1, #186 ; 0xba 80826b6: f44f 7082 mov.w r0, #260 ; 0x104 80826ba: f7d3 fb67 bl 8055d8c 80826be: f001 bf81 b.w 80845c4 } } else if(menupos == D_Rate) 80826c2: 4b6a ldr r3, [pc, #424] ; (808286c ) 80826c4: 781b ldrb r3, [r3, #0] 80826c6: b2db uxtb r3, r3 80826c8: 2b09 cmp r3, #9 80826ca: f040 80e1 bne.w 8082890 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80826ce: 4968 ldr r1, [pc, #416] ; (8082870 ) 80826d0: f04f 30ff mov.w r0, #4294967295 80826d4: f7d2 fd9a bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 80826d8: 4b66 ldr r3, [pc, #408] ; (8082874 ) 80826da: 7b1b ldrb r3, [r3, #12] 80826dc: b2db uxtb r3, r3 80826de: 461a mov r2, r3 80826e0: 4b65 ldr r3, [pc, #404] ; (8082878 ) 80826e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80826e6: 461a mov r2, r3 80826e8: 213a movs r1, #58 ; 0x3a 80826ea: 200a movs r0, #10 80826ec: f7d3 fb36 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80826f0: 495f ldr r1, [pc, #380] ; (8082870 ) 80826f2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80826f6: f7d2 fd89 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 80826fa: f507 734a add.w r3, r7, #808 ; 0x328 80826fe: 461a mov r2, r3 8082700: 21ca movs r1, #202 ; 0xca 8082702: f44f 7082 mov.w r0, #260 ; 0x104 8082706: f7d3 fb41 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808270a: 4959 ldr r1, [pc, #356] ; (8082870 ) 808270c: 485b ldr r0, [pc, #364] ; (808287c ) 808270e: f7d2 fd7d bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, str1); 8082712: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8082716: 461a mov r2, r3 8082718: 214a movs r1, #74 ; 0x4a 808271a: f44f 7082 mov.w r0, #260 ; 0x104 808271e: f7d3 fb35 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8082722: f507 735e add.w r3, r7, #888 ; 0x378 8082726: 461a mov r2, r3 8082728: 215a movs r1, #90 ; 0x5a 808272a: f44f 7082 mov.w r0, #260 ; 0x104 808272e: f7d3 fb2d bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8082732: f507 7359 add.w r3, r7, #868 ; 0x364 8082736: 461a mov r2, r3 8082738: 216a movs r1, #106 ; 0x6a 808273a: f44f 7082 mov.w r0, #260 ; 0x104 808273e: f7d3 fb25 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8082742: f507 7354 add.w r3, r7, #848 ; 0x350 8082746: 461a mov r2, r3 8082748: 217a movs r1, #122 ; 0x7a 808274a: f44f 7082 mov.w r0, #260 ; 0x104 808274e: f7d3 fb1d bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8082752: f507 734f add.w r3, r7, #828 ; 0x33c 8082756: 461a mov r2, r3 8082758: 218a movs r1, #138 ; 0x8a 808275a: f44f 7082 mov.w r0, #260 ; 0x104 808275e: f7d3 fb15 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8082762: 4b44 ldr r3, [pc, #272] ; (8082874 ) 8082764: 7b5b ldrb r3, [r3, #13] 8082766: b2db uxtb r3, r3 8082768: 461a mov r2, r3 808276a: 4b45 ldr r3, [pc, #276] ; (8082880 ) 808276c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082770: 461a mov r2, r3 8082772: 219a movs r1, #154 ; 0x9a 8082774: f44f 7082 mov.w r0, #260 ; 0x104 8082778: f7d3 fb08 bl 8055d8c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 808277c: 4b3d ldr r3, [pc, #244] ; (8082874 ) 808277e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8082782: f003 0304 and.w r3, r3, #4 8082786: 2b00 cmp r3, #0 8082788: d035 beq.n 80827f6 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808278a: 4939 ldr r1, [pc, #228] ; (8082870 ) 808278c: 483d ldr r0, [pc, #244] ; (8082884 ) 808278e: f7d2 fd3d bl 805520c if(pardata.IIN != VOLTS) 8082792: 4b38 ldr r3, [pc, #224] ; (8082874 ) 8082794: 799b ldrb r3, [r3, #6] 8082796: b2db uxtb r3, r3 8082798: 2b02 cmp r3, #2 808279a: d011 beq.n 80827c0 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 808279c: 4b35 ldr r3, [pc, #212] ; (8082874 ) 808279e: 7b1b ldrb r3, [r3, #12] 80827a0: b2db uxtb r3, r3 80827a2: 4619 mov r1, r3 80827a4: 4a38 ldr r2, [pc, #224] ; (8082888 ) 80827a6: 460b mov r3, r1 80827a8: 00db lsls r3, r3, #3 80827aa: 440b add r3, r1 80827ac: 009b lsls r3, r3, #2 80827ae: 4413 add r3, r2 80827b0: 331c adds r3, #28 80827b2: 681b ldr r3, [r3, #0] 80827b4: 461a mov r2, r3 80827b6: 21ba movs r1, #186 ; 0xba 80827b8: 200a movs r0, #10 80827ba: f7d3 facf bl 8055d5c 80827be: e010 b.n 80827e2 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80827c0: 4b2c ldr r3, [pc, #176] ; (8082874 ) 80827c2: 7b1b ldrb r3, [r3, #12] 80827c4: b2db uxtb r3, r3 80827c6: 4619 mov r1, r3 80827c8: 4a30 ldr r2, [pc, #192] ; (808288c ) 80827ca: 460b mov r3, r1 80827cc: 00db lsls r3, r3, #3 80827ce: 440b add r3, r1 80827d0: 009b lsls r3, r3, #2 80827d2: 4413 add r3, r2 80827d4: 331c adds r3, #28 80827d6: 681b ldr r3, [r3, #0] 80827d8: 461a mov r2, r3 80827da: 21ba movs r1, #186 ; 0xba 80827dc: 200a movs r0, #10 80827de: f7d3 fabd bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_11, str); 80827e2: f507 733b add.w r3, r7, #748 ; 0x2ec 80827e6: 461a mov r2, r3 80827e8: 21ba movs r1, #186 ; 0xba 80827ea: f44f 7082 mov.w r0, #260 ; 0x104 80827ee: f7d3 facd bl 8055d8c 80827f2: f001 bee7 b.w 80845c4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80827f6: 491e ldr r1, [pc, #120] ; (8082870 ) 80827f8: f04f 30ff mov.w r0, #4294967295 80827fc: f7d2 fd06 bl 805520c if(pardata.IIN != VOLTS) 8082800: 4b1c ldr r3, [pc, #112] ; (8082874 ) 8082802: 799b ldrb r3, [r3, #6] 8082804: b2db uxtb r3, r3 8082806: 2b02 cmp r3, #2 8082808: d011 beq.n 808282e LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 808280a: 4b1a ldr r3, [pc, #104] ; (8082874 ) 808280c: 7b1b ldrb r3, [r3, #12] 808280e: b2db uxtb r3, r3 8082810: 4619 mov r1, r3 8082812: 4a1d ldr r2, [pc, #116] ; (8082888 ) 8082814: 460b mov r3, r1 8082816: 00db lsls r3, r3, #3 8082818: 440b add r3, r1 808281a: 009b lsls r3, r3, #2 808281c: 4413 add r3, r2 808281e: 331c adds r3, #28 8082820: 681b ldr r3, [r3, #0] 8082822: 461a mov r2, r3 8082824: 21ba movs r1, #186 ; 0xba 8082826: 200a movs r0, #10 8082828: f7d3 fa98 bl 8055d5c 808282c: e010 b.n 8082850 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 808282e: 4b11 ldr r3, [pc, #68] ; (8082874 ) 8082830: 7b1b ldrb r3, [r3, #12] 8082832: b2db uxtb r3, r3 8082834: 4619 mov r1, r3 8082836: 4a15 ldr r2, [pc, #84] ; (808288c ) 8082838: 460b mov r3, r1 808283a: 00db lsls r3, r3, #3 808283c: 440b add r3, r1 808283e: 009b lsls r3, r3, #2 8082840: 4413 add r3, r2 8082842: 331c adds r3, #28 8082844: 681b ldr r3, [r3, #0] 8082846: 461a mov r2, r3 8082848: 21ba movs r1, #186 ; 0xba 808284a: 200a movs r0, #10 808284c: f7d3 fa86 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082850: 4907 ldr r1, [pc, #28] ; (8082870 ) 8082852: 480a ldr r0, [pc, #40] ; (808287c ) 8082854: f7d2 fcda bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, str); 8082858: f507 733b add.w r3, r7, #748 ; 0x2ec 808285c: 461a mov r2, r3 808285e: 21ba movs r1, #186 ; 0xba 8082860: f44f 7082 mov.w r0, #260 ; 0x104 8082864: f7d3 fa92 bl 8055d8c 8082868: f001 beac b.w 80845c4 808286c: 20020070 .word 0x20020070 8082870: ff0a0f1f .word 0xff0a0f1f 8082874: 20023eb8 .word 0x20023eb8 8082878: 200205cc .word 0x200205cc 808287c: ffd8aa57 .word 0xffd8aa57 8082880: 2002022c .word 0x2002022c 8082884: ff808080 .word 0xff808080 8082888: 2002076c .word 0x2002076c 808288c: 200207b4 .word 0x200207b4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8082890: 49aa ldr r1, [pc, #680] ; (8082b3c ) 8082892: f04f 30ff mov.w r0, #4294967295 8082896: f7d2 fcb9 bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 808289a: 4ba9 ldr r3, [pc, #676] ; (8082b40 ) 808289c: 7b1b ldrb r3, [r3, #12] 808289e: b2db uxtb r3, r3 80828a0: 461a mov r2, r3 80828a2: 4ba8 ldr r3, [pc, #672] ; (8082b44 ) 80828a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80828a8: 461a mov r2, r3 80828aa: 213a movs r1, #58 ; 0x3a 80828ac: 200a movs r0, #10 80828ae: f7d3 fa55 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80828b2: 49a2 ldr r1, [pc, #648] ; (8082b3c ) 80828b4: 48a4 ldr r0, [pc, #656] ; (8082b48 ) 80828b6: f7d2 fca9 bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, str1); 80828ba: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80828be: 461a mov r2, r3 80828c0: 214a movs r1, #74 ; 0x4a 80828c2: f44f 7082 mov.w r0, #260 ; 0x104 80828c6: f7d3 fa61 bl 8055d8c if((menupos < D_Roll_IES) || (menupos > D_Roll_IKT)) 80828ca: 4ba0 ldr r3, [pc, #640] ; (8082b4c ) 80828cc: 781b ldrb r3, [r3, #0] 80828ce: b2db uxtb r3, r3 80828d0: 2b09 cmp r3, #9 80828d2: d904 bls.n 80828de 80828d4: 4b9d ldr r3, [pc, #628] ; (8082b4c ) 80828d6: 781b ldrb r3, [r3, #0] 80828d8: b2db uxtb r3, r3 80828da: 2b0f cmp r3, #15 80828dc: d907 bls.n 80828ee LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 80828de: f507 735e add.w r3, r7, #888 ; 0x378 80828e2: 461a mov r2, r3 80828e4: 215a movs r1, #90 ; 0x5a 80828e6: f44f 7082 mov.w r0, #260 ; 0x104 80828ea: f7d3 fa4f bl 8055d8c if((menupos < D_Outer_IES) || (menupos > D_Outer_IKT)) 80828ee: 4b97 ldr r3, [pc, #604] ; (8082b4c ) 80828f0: 781b ldrb r3, [r3, #0] 80828f2: b2db uxtb r3, r3 80828f4: 2b0f cmp r3, #15 80828f6: d904 bls.n 8082902 80828f8: 4b94 ldr r3, [pc, #592] ; (8082b4c ) 80828fa: 781b ldrb r3, [r3, #0] 80828fc: b2db uxtb r3, r3 80828fe: 2b15 cmp r3, #21 8082900: d907 bls.n 8082912 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8082902: f507 7359 add.w r3, r7, #868 ; 0x364 8082906: 461a mov r2, r3 8082908: 216a movs r1, #106 ; 0x6a 808290a: f44f 7082 mov.w r0, #260 ; 0x104 808290e: f7d3 fa3d bl 8055d8c if((menupos < D_Inner_IES) || (menupos > D_Inner_IKT)) 8082912: 4b8e ldr r3, [pc, #568] ; (8082b4c ) 8082914: 781b ldrb r3, [r3, #0] 8082916: b2db uxtb r3, r3 8082918: 2b15 cmp r3, #21 808291a: d904 bls.n 8082926 808291c: 4b8b ldr r3, [pc, #556] ; (8082b4c ) 808291e: 781b ldrb r3, [r3, #0] 8082920: b2db uxtb r3, r3 8082922: 2b1b cmp r3, #27 8082924: d907 bls.n 8082936 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8082926: f507 7354 add.w r3, r7, #848 ; 0x350 808292a: 461a mov r2, r3 808292c: 217a movs r1, #122 ; 0x7a 808292e: f44f 7082 mov.w r0, #260 ; 0x104 8082932: f7d3 fa2b bl 8055d8c if((menupos < D_Angle_IES) || (menupos > D_Angle_IKT)) 8082936: 4b85 ldr r3, [pc, #532] ; (8082b4c ) 8082938: 781b ldrb r3, [r3, #0] 808293a: b2db uxtb r3, r3 808293c: 2b1b cmp r3, #27 808293e: d904 bls.n 808294a 8082940: 4b82 ldr r3, [pc, #520] ; (8082b4c ) 8082942: 781b ldrb r3, [r3, #0] 8082944: b2db uxtb r3, r3 8082946: 2b21 cmp r3, #33 ; 0x21 8082948: d907 bls.n 808295a LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 808294a: f507 734f add.w r3, r7, #828 ; 0x33c 808294e: 461a mov r2, r3 8082950: 218a movs r1, #138 ; 0x8a 8082952: f44f 7082 mov.w r0, #260 ; 0x104 8082956: f7d3 fa19 bl 8055d8c if((menupos < D_Rate_IET) || (menupos > D_Rate_IEE)) 808295a: 4b7c ldr r3, [pc, #496] ; (8082b4c ) 808295c: 781b ldrb r3, [r3, #0] 808295e: b2db uxtb r3, r3 8082960: 2b21 cmp r3, #33 ; 0x21 8082962: d904 bls.n 808296e 8082964: 4b79 ldr r3, [pc, #484] ; (8082b4c ) 8082966: 781b ldrb r3, [r3, #0] 8082968: b2db uxtb r3, r3 808296a: 2b25 cmp r3, #37 ; 0x25 808296c: d907 bls.n 808297e LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 808296e: f507 734a add.w r3, r7, #808 ; 0x328 8082972: 461a mov r2, r3 8082974: 21ca movs r1, #202 ; 0xca 8082976: f44f 7082 mov.w r0, #260 ; 0x104 808297a: f7d3 fa07 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 808297e: 4b70 ldr r3, [pc, #448] ; (8082b40 ) 8082980: 7b5b ldrb r3, [r3, #13] 8082982: b2db uxtb r3, r3 8082984: 461a mov r2, r3 8082986: 4b72 ldr r3, [pc, #456] ; (8082b50 ) 8082988: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808298c: 461a mov r2, r3 808298e: 219a movs r1, #154 ; 0x9a 8082990: f44f 7082 mov.w r0, #260 ; 0x104 8082994: f7d3 f9fa bl 8055d8c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8082998: 4b69 ldr r3, [pc, #420] ; (8082b40 ) 808299a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808299e: f003 0304 and.w r3, r3, #4 80829a2: 2b00 cmp r3, #0 80829a4: d034 beq.n 8082a10 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80829a6: 4965 ldr r1, [pc, #404] ; (8082b3c ) 80829a8: 486a ldr r0, [pc, #424] ; (8082b54 ) 80829aa: f7d2 fc2f bl 805520c if(pardata.IIN != VOLTS) 80829ae: 4b64 ldr r3, [pc, #400] ; (8082b40 ) 80829b0: 799b ldrb r3, [r3, #6] 80829b2: b2db uxtb r3, r3 80829b4: 2b02 cmp r3, #2 80829b6: d011 beq.n 80829dc LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 80829b8: 4b61 ldr r3, [pc, #388] ; (8082b40 ) 80829ba: 7b1b ldrb r3, [r3, #12] 80829bc: b2db uxtb r3, r3 80829be: 4619 mov r1, r3 80829c0: 4a65 ldr r2, [pc, #404] ; (8082b58 ) 80829c2: 460b mov r3, r1 80829c4: 00db lsls r3, r3, #3 80829c6: 440b add r3, r1 80829c8: 009b lsls r3, r3, #2 80829ca: 4413 add r3, r2 80829cc: 331c adds r3, #28 80829ce: 681b ldr r3, [r3, #0] 80829d0: 461a mov r2, r3 80829d2: 21ba movs r1, #186 ; 0xba 80829d4: 200a movs r0, #10 80829d6: f7d3 f9c1 bl 8055d5c 80829da: e010 b.n 80829fe else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80829dc: 4b58 ldr r3, [pc, #352] ; (8082b40 ) 80829de: 7b1b ldrb r3, [r3, #12] 80829e0: b2db uxtb r3, r3 80829e2: 4619 mov r1, r3 80829e4: 4a5d ldr r2, [pc, #372] ; (8082b5c ) 80829e6: 460b mov r3, r1 80829e8: 00db lsls r3, r3, #3 80829ea: 440b add r3, r1 80829ec: 009b lsls r3, r3, #2 80829ee: 4413 add r3, r2 80829f0: 331c adds r3, #28 80829f2: 681b ldr r3, [r3, #0] 80829f4: 461a mov r2, r3 80829f6: 21ba movs r1, #186 ; 0xba 80829f8: 200a movs r0, #10 80829fa: f7d3 f9af bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_11, str); 80829fe: f507 733b add.w r3, r7, #748 ; 0x2ec 8082a02: 461a mov r2, r3 8082a04: 21ba movs r1, #186 ; 0xba 8082a06: f44f 7082 mov.w r0, #260 ; 0x104 8082a0a: f7d3 f9bf bl 8055d8c 8082a0e: e042 b.n 8082a96 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8082a10: 494a ldr r1, [pc, #296] ; (8082b3c ) 8082a12: f04f 30ff mov.w r0, #4294967295 8082a16: f7d2 fbf9 bl 805520c if(pardata.IIN != VOLTS) 8082a1a: 4b49 ldr r3, [pc, #292] ; (8082b40 ) 8082a1c: 799b ldrb r3, [r3, #6] 8082a1e: b2db uxtb r3, r3 8082a20: 2b02 cmp r3, #2 8082a22: d011 beq.n 8082a48 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8082a24: 4b46 ldr r3, [pc, #280] ; (8082b40 ) 8082a26: 7b1b ldrb r3, [r3, #12] 8082a28: b2db uxtb r3, r3 8082a2a: 4619 mov r1, r3 8082a2c: 4a4a ldr r2, [pc, #296] ; (8082b58 ) 8082a2e: 460b mov r3, r1 8082a30: 00db lsls r3, r3, #3 8082a32: 440b add r3, r1 8082a34: 009b lsls r3, r3, #2 8082a36: 4413 add r3, r2 8082a38: 331c adds r3, #28 8082a3a: 681b ldr r3, [r3, #0] 8082a3c: 461a mov r2, r3 8082a3e: 21ba movs r1, #186 ; 0xba 8082a40: 200a movs r0, #10 8082a42: f7d3 f98b bl 8055d5c 8082a46: e010 b.n 8082a6a else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8082a48: 4b3d ldr r3, [pc, #244] ; (8082b40 ) 8082a4a: 7b1b ldrb r3, [r3, #12] 8082a4c: b2db uxtb r3, r3 8082a4e: 4619 mov r1, r3 8082a50: 4a42 ldr r2, [pc, #264] ; (8082b5c ) 8082a52: 460b mov r3, r1 8082a54: 00db lsls r3, r3, #3 8082a56: 440b add r3, r1 8082a58: 009b lsls r3, r3, #2 8082a5a: 4413 add r3, r2 8082a5c: 331c adds r3, #28 8082a5e: 681b ldr r3, [r3, #0] 8082a60: 461a mov r2, r3 8082a62: 21ba movs r1, #186 ; 0xba 8082a64: 200a movs r0, #10 8082a66: f7d3 f979 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082a6a: 4934 ldr r1, [pc, #208] ; (8082b3c ) 8082a6c: 4836 ldr r0, [pc, #216] ; (8082b48 ) 8082a6e: f7d2 fbcd bl 805520c if((menupos < RollMax_IDT) || (menupos > RollMax_IKD)) 8082a72: 4b36 ldr r3, [pc, #216] ; (8082b4c ) 8082a74: 781b ldrb r3, [r3, #0] 8082a76: b2db uxtb r3, r3 8082a78: 2b25 cmp r3, #37 ; 0x25 8082a7a: d904 bls.n 8082a86 8082a7c: 4b33 ldr r3, [pc, #204] ; (8082b4c ) 8082a7e: 781b ldrb r3, [r3, #0] 8082a80: b2db uxtb r3, r3 8082a82: 2b2b cmp r3, #43 ; 0x2b 8082a84: d907 bls.n 8082a96 LCD_DisplayStringC(260, LCD_LINE_11, str); 8082a86: f507 733b add.w r3, r7, #748 ; 0x2ec 8082a8a: 461a mov r2, r3 8082a8c: 21ba movs r1, #186 ; 0xba 8082a8e: f44f 7082 mov.w r0, #260 ; 0x104 8082a92: f7d3 f97b bl 8055d8c } if((menupos >= D_Rate_IET) && (menupos <= D_Rate_IEE)) 8082a96: 4b2d ldr r3, [pc, #180] ; (8082b4c ) 8082a98: 781b ldrb r3, [r3, #0] 8082a9a: b2db uxtb r3, r3 8082a9c: 2b21 cmp r3, #33 ; 0x21 8082a9e: f240 8136 bls.w 8082d0e 8082aa2: 4b2a ldr r3, [pc, #168] ; (8082b4c ) 8082aa4: 781b ldrb r3, [r3, #0] 8082aa6: b2db uxtb r3, r3 8082aa8: 2b25 cmp r3, #37 ; 0x25 8082aaa: f200 8130 bhi.w 8082d0e { if(menupos == D_Rate_IET) 8082aae: 4b27 ldr r3, [pc, #156] ; (8082b4c ) 8082ab0: 781b ldrb r3, [r3, #0] 8082ab2: b2db uxtb r3, r3 8082ab4: 2b22 cmp r3, #34 ; 0x22 8082ab6: d157 bne.n 8082b68 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082ab8: 4920 ldr r1, [pc, #128] ; (8082b3c ) 8082aba: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082abe: f7d2 fba5 bl 805520c if(blk) 8082ac2: 4b27 ldr r3, [pc, #156] ; (8082b60 ) 8082ac4: 681b ldr r3, [r3, #0] 8082ac6: 2b00 cmp r3, #0 8082ac8: d00b beq.n 8082ae2 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[rate_iet]); 8082aca: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 8082ace: b2db uxtb r3, r3 8082ad0: 461a mov r2, r3 8082ad2: 4b24 ldr r3, [pc, #144] ; (8082b64 ) 8082ad4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082ad8: 461a mov r2, r3 8082ada: 21ca movs r1, #202 ; 0xca 8082adc: 20e6 movs r0, #230 ; 0xe6 8082ade: f7d3 f93d bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082ae2: 4916 ldr r1, [pc, #88] ; (8082b3c ) 8082ae4: 4818 ldr r0, [pc, #96] ; (8082b48 ) 8082ae6: f7d2 fb91 bl 805520c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[rate_ies]); 8082aea: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 8082aee: b2db uxtb r3, r3 8082af0: 461a mov r2, r3 8082af2: 4b1c ldr r3, [pc, #112] ; (8082b64 ) 8082af4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082af8: 461a mov r2, r3 8082afa: 21ca movs r1, #202 ; 0xca 8082afc: 20f6 movs r0, #246 ; 0xf6 8082afe: f7d3 f92d bl 8055d5c LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[rate_ied]); 8082b02: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 8082b06: b2db uxtb r3, r3 8082b08: 461a mov r2, r3 8082b0a: 4b16 ldr r3, [pc, #88] ; (8082b64 ) 8082b0c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082b10: 461a mov r2, r3 8082b12: 21ca movs r1, #202 ; 0xca 8082b14: f44f 7083 mov.w r0, #262 ; 0x106 8082b18: f7d3 f920 bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, (char *) pNUMS[rate_iee]); 8082b1c: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 8082b20: b2db uxtb r3, r3 8082b22: 461a mov r2, r3 8082b24: 4b0f ldr r3, [pc, #60] ; (8082b64 ) 8082b26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082b2a: 461a mov r2, r3 8082b2c: 21ca movs r1, #202 ; 0xca 8082b2e: f44f 708b mov.w r0, #278 ; 0x116 8082b32: f7d3 f913 bl 8055d5c if(menupos == D_Rate_IET) 8082b36: f001 bd3c b.w 80845b2 8082b3a: bf00 nop 8082b3c: ff0a0f1f .word 0xff0a0f1f 8082b40: 20023eb8 .word 0x20023eb8 8082b44: 200205cc .word 0x200205cc 8082b48: ffd8aa57 .word 0xffd8aa57 8082b4c: 20020070 .word 0x20020070 8082b50: 2002022c .word 0x2002022c 8082b54: ff808080 .word 0xff808080 8082b58: 2002076c .word 0x2002076c 8082b5c: 200207b4 .word 0x200207b4 8082b60: 200216ac .word 0x200216ac 8082b64: 2002096c .word 0x2002096c } else if(menupos == D_Rate_IES) 8082b68: 4ba1 ldr r3, [pc, #644] ; (8082df0 ) 8082b6a: 781b ldrb r3, [r3, #0] 8082b6c: b2db uxtb r3, r3 8082b6e: 2b23 cmp r3, #35 ; 0x23 8082b70: d140 bne.n 8082bf4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082b72: 49a0 ldr r1, [pc, #640] ; (8082df4 ) 8082b74: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082b78: f7d2 fb48 bl 805520c if(blk) 8082b7c: 4b9e ldr r3, [pc, #632] ; (8082df8 ) 8082b7e: 681b ldr r3, [r3, #0] 8082b80: 2b00 cmp r3, #0 8082b82: d00b beq.n 8082b9c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[rate_ies]); 8082b84: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 8082b88: b2db uxtb r3, r3 8082b8a: 461a mov r2, r3 8082b8c: 4b9b ldr r3, [pc, #620] ; (8082dfc ) 8082b8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082b92: 461a mov r2, r3 8082b94: 21ca movs r1, #202 ; 0xca 8082b96: 20f6 movs r0, #246 ; 0xf6 8082b98: f7d3 f8e0 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082b9c: 4995 ldr r1, [pc, #596] ; (8082df4 ) 8082b9e: 4898 ldr r0, [pc, #608] ; (8082e00 ) 8082ba0: f7d2 fb34 bl 805520c LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[rate_iet]); 8082ba4: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 8082ba8: b2db uxtb r3, r3 8082baa: 461a mov r2, r3 8082bac: 4b93 ldr r3, [pc, #588] ; (8082dfc ) 8082bae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082bb2: 461a mov r2, r3 8082bb4: 21ca movs r1, #202 ; 0xca 8082bb6: 20e6 movs r0, #230 ; 0xe6 8082bb8: f7d3 f8d0 bl 8055d5c LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[rate_ied]); 8082bbc: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 8082bc0: b2db uxtb r3, r3 8082bc2: 461a mov r2, r3 8082bc4: 4b8d ldr r3, [pc, #564] ; (8082dfc ) 8082bc6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082bca: 461a mov r2, r3 8082bcc: 21ca movs r1, #202 ; 0xca 8082bce: f44f 7083 mov.w r0, #262 ; 0x106 8082bd2: f7d3 f8c3 bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, (char *) pNUMS[rate_iee]); 8082bd6: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 8082bda: b2db uxtb r3, r3 8082bdc: 461a mov r2, r3 8082bde: 4b87 ldr r3, [pc, #540] ; (8082dfc ) 8082be0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082be4: 461a mov r2, r3 8082be6: 21ca movs r1, #202 ; 0xca 8082be8: f44f 708b mov.w r0, #278 ; 0x116 8082bec: f7d3 f8b6 bl 8055d5c if(menupos == D_Rate_IET) 8082bf0: f001 bcdf b.w 80845b2 } else if(menupos == D_Rate_IED) 8082bf4: 4b7e ldr r3, [pc, #504] ; (8082df0 ) 8082bf6: 781b ldrb r3, [r3, #0] 8082bf8: b2db uxtb r3, r3 8082bfa: 2b24 cmp r3, #36 ; 0x24 8082bfc: d140 bne.n 8082c80 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082bfe: 497d ldr r1, [pc, #500] ; (8082df4 ) 8082c00: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082c04: f7d2 fb02 bl 805520c if(blk) 8082c08: 4b7b ldr r3, [pc, #492] ; (8082df8 ) 8082c0a: 681b ldr r3, [r3, #0] 8082c0c: 2b00 cmp r3, #0 8082c0e: d00c beq.n 8082c2a LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[rate_ied]); 8082c10: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 8082c14: b2db uxtb r3, r3 8082c16: 461a mov r2, r3 8082c18: 4b78 ldr r3, [pc, #480] ; (8082dfc ) 8082c1a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082c1e: 461a mov r2, r3 8082c20: 21ca movs r1, #202 ; 0xca 8082c22: f44f 7083 mov.w r0, #262 ; 0x106 8082c26: f7d3 f899 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082c2a: 4972 ldr r1, [pc, #456] ; (8082df4 ) 8082c2c: 4874 ldr r0, [pc, #464] ; (8082e00 ) 8082c2e: f7d2 faed bl 805520c LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[rate_iet]); 8082c32: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 8082c36: b2db uxtb r3, r3 8082c38: 461a mov r2, r3 8082c3a: 4b70 ldr r3, [pc, #448] ; (8082dfc ) 8082c3c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082c40: 461a mov r2, r3 8082c42: 21ca movs r1, #202 ; 0xca 8082c44: 20e6 movs r0, #230 ; 0xe6 8082c46: f7d3 f889 bl 8055d5c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[rate_ies]); 8082c4a: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 8082c4e: b2db uxtb r3, r3 8082c50: 461a mov r2, r3 8082c52: 4b6a ldr r3, [pc, #424] ; (8082dfc ) 8082c54: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082c58: 461a mov r2, r3 8082c5a: 21ca movs r1, #202 ; 0xca 8082c5c: 20f6 movs r0, #246 ; 0xf6 8082c5e: f7d3 f87d bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, (char *) pNUMS[rate_iee]); 8082c62: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 8082c66: b2db uxtb r3, r3 8082c68: 461a mov r2, r3 8082c6a: 4b64 ldr r3, [pc, #400] ; (8082dfc ) 8082c6c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082c70: 461a mov r2, r3 8082c72: 21ca movs r1, #202 ; 0xca 8082c74: f44f 708b mov.w r0, #278 ; 0x116 8082c78: f7d3 f870 bl 8055d5c if(menupos == D_Rate_IET) 8082c7c: f001 bc99 b.w 80845b2 } else if(menupos == D_Rate_IEE) 8082c80: 4b5b ldr r3, [pc, #364] ; (8082df0 ) 8082c82: 781b ldrb r3, [r3, #0] 8082c84: b2db uxtb r3, r3 8082c86: 2b25 cmp r3, #37 ; 0x25 8082c88: f041 8493 bne.w 80845b2 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082c8c: 4959 ldr r1, [pc, #356] ; (8082df4 ) 8082c8e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082c92: f7d2 fabb bl 805520c if(blk) 8082c96: 4b58 ldr r3, [pc, #352] ; (8082df8 ) 8082c98: 681b ldr r3, [r3, #0] 8082c9a: 2b00 cmp r3, #0 8082c9c: d00c beq.n 8082cb8 LCD_DisplayString(278, LCD_LINE_12, (char *) pNUMS[rate_iee]); 8082c9e: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 8082ca2: b2db uxtb r3, r3 8082ca4: 461a mov r2, r3 8082ca6: 4b55 ldr r3, [pc, #340] ; (8082dfc ) 8082ca8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082cac: 461a mov r2, r3 8082cae: 21ca movs r1, #202 ; 0xca 8082cb0: f44f 708b mov.w r0, #278 ; 0x116 8082cb4: f7d3 f852 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082cb8: 494e ldr r1, [pc, #312] ; (8082df4 ) 8082cba: 4851 ldr r0, [pc, #324] ; (8082e00 ) 8082cbc: f7d2 faa6 bl 805520c LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[rate_iet]); 8082cc0: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 8082cc4: b2db uxtb r3, r3 8082cc6: 461a mov r2, r3 8082cc8: 4b4c ldr r3, [pc, #304] ; (8082dfc ) 8082cca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082cce: 461a mov r2, r3 8082cd0: 21ca movs r1, #202 ; 0xca 8082cd2: 20e6 movs r0, #230 ; 0xe6 8082cd4: f7d3 f842 bl 8055d5c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[rate_ies]); 8082cd8: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 8082cdc: b2db uxtb r3, r3 8082cde: 461a mov r2, r3 8082ce0: 4b46 ldr r3, [pc, #280] ; (8082dfc ) 8082ce2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082ce6: 461a mov r2, r3 8082ce8: 21ca movs r1, #202 ; 0xca 8082cea: 20f6 movs r0, #246 ; 0xf6 8082cec: f7d3 f836 bl 8055d5c LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[rate_ied]); 8082cf0: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 8082cf4: b2db uxtb r3, r3 8082cf6: 461a mov r2, r3 8082cf8: 4b40 ldr r3, [pc, #256] ; (8082dfc ) 8082cfa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082cfe: 461a mov r2, r3 8082d00: 21ca movs r1, #202 ; 0xca 8082d02: f44f 7083 mov.w r0, #262 ; 0x106 8082d06: f7d3 f829 bl 8055d5c if(menupos == D_Rate_IET) 8082d0a: f001 bc52 b.w 80845b2 } } else if((menupos >= D_Roll_IES) && (menupos <= D_Roll_IKT)) 8082d0e: 4b38 ldr r3, [pc, #224] ; (8082df0 ) 8082d10: 781b ldrb r3, [r3, #0] 8082d12: b2db uxtb r3, r3 8082d14: 2b09 cmp r3, #9 8082d16: f240 8278 bls.w 808320a 8082d1a: 4b35 ldr r3, [pc, #212] ; (8082df0 ) 8082d1c: 781b ldrb r3, [r3, #0] 8082d1e: b2db uxtb r3, r3 8082d20: 2b0f cmp r3, #15 8082d22: f200 8272 bhi.w 808320a { if(menupos == D_Roll_IES) 8082d26: 4b32 ldr r3, [pc, #200] ; (8082df0 ) 8082d28: 781b ldrb r3, [r3, #0] 8082d2a: b2db uxtb r3, r3 8082d2c: 2b0a cmp r3, #10 8082d2e: d16b bne.n 8082e08 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082d30: 4930 ldr r1, [pc, #192] ; (8082df4 ) 8082d32: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082d36: f7d2 fa69 bl 805520c if(blk) 8082d3a: 4b2f ldr r3, [pc, #188] ; (8082df8 ) 8082d3c: 681b ldr r3, [r3, #0] 8082d3e: 2b00 cmp r3, #0 8082d40: d00b beq.n 8082d5a LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 8082d42: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 8082d46: b2db uxtb r3, r3 8082d48: 461a mov r2, r3 8082d4a: 4b2c ldr r3, [pc, #176] ; (8082dfc ) 8082d4c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082d50: 461a mov r2, r3 8082d52: 215a movs r1, #90 ; 0x5a 8082d54: 20c6 movs r0, #198 ; 0xc6 8082d56: f7d3 f801 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082d5a: 4926 ldr r1, [pc, #152] ; (8082df4 ) 8082d5c: 4828 ldr r0, [pc, #160] ; (8082e00 ) 8082d5e: f7d2 fa55 bl 805520c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 8082d62: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 8082d66: b2db uxtb r3, r3 8082d68: 461a mov r2, r3 8082d6a: 4b24 ldr r3, [pc, #144] ; (8082dfc ) 8082d6c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082d70: 461a mov r2, r3 8082d72: 215a movs r1, #90 ; 0x5a 8082d74: 20d6 movs r0, #214 ; 0xd6 8082d76: f7d2 fff1 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 8082d7a: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 8082d7e: b2db uxtb r3, r3 8082d80: 461a mov r2, r3 8082d82: 4b1e ldr r3, [pc, #120] ; (8082dfc ) 8082d84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082d88: 461a mov r2, r3 8082d8a: 215a movs r1, #90 ; 0x5a 8082d8c: 20e6 movs r0, #230 ; 0xe6 8082d8e: f7d2 ffe5 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, "."); 8082d92: 4a1c ldr r2, [pc, #112] ; (8082e04 ) 8082d94: 215a movs r1, #90 ; 0x5a 8082d96: 20f6 movs r0, #246 ; 0xf6 8082d98: f7d2 ffe0 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 8082d9c: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 8082da0: b2db uxtb r3, r3 8082da2: 461a mov r2, r3 8082da4: 4b15 ldr r3, [pc, #84] ; (8082dfc ) 8082da6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082daa: 461a mov r2, r3 8082dac: 215a movs r1, #90 ; 0x5a 8082dae: f44f 7083 mov.w r0, #262 ; 0x106 8082db2: f7d2 ffd3 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 8082db6: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 8082dba: b2db uxtb r3, r3 8082dbc: 461a mov r2, r3 8082dbe: 4b0f ldr r3, [pc, #60] ; (8082dfc ) 8082dc0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082dc4: 461a mov r2, r3 8082dc6: 215a movs r1, #90 ; 0x5a 8082dc8: f44f 708b mov.w r0, #278 ; 0x116 8082dcc: f7d2 ffc6 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 8082dd0: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 8082dd4: b2db uxtb r3, r3 8082dd6: 461a mov r2, r3 8082dd8: 4b08 ldr r3, [pc, #32] ; (8082dfc ) 8082dda: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082dde: 461a mov r2, r3 8082de0: 215a movs r1, #90 ; 0x5a 8082de2: f44f 7093 mov.w r0, #294 ; 0x126 8082de6: f7d2 ffb9 bl 8055d5c if(menupos == D_Roll_IES) 8082dea: f001 bbe4 b.w 80845b6 8082dee: bf00 nop 8082df0: 20020070 .word 0x20020070 8082df4: ff0a0f1f .word 0xff0a0f1f 8082df8: 200216ac .word 0x200216ac 8082dfc: 2002096c .word 0x2002096c 8082e00: ffd8aa57 .word 0xffd8aa57 8082e04: 080d6258 .word 0x080d6258 } else if(menupos == D_Roll_IED) 8082e08: 4bc7 ldr r3, [pc, #796] ; (8083128 ) 8082e0a: 781b ldrb r3, [r3, #0] 8082e0c: b2db uxtb r3, r3 8082e0e: 2b0b cmp r3, #11 8082e10: d15e bne.n 8082ed0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082e12: 49c6 ldr r1, [pc, #792] ; (808312c ) 8082e14: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082e18: f7d2 f9f8 bl 805520c if(blk) 8082e1c: 4bc4 ldr r3, [pc, #784] ; (8083130 ) 8082e1e: 681b ldr r3, [r3, #0] 8082e20: 2b00 cmp r3, #0 8082e22: d00b beq.n 8082e3c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 8082e24: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 8082e28: b2db uxtb r3, r3 8082e2a: 461a mov r2, r3 8082e2c: 4bc1 ldr r3, [pc, #772] ; (8083134 ) 8082e2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082e32: 461a mov r2, r3 8082e34: 215a movs r1, #90 ; 0x5a 8082e36: 20d6 movs r0, #214 ; 0xd6 8082e38: f7d2 ff90 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082e3c: 49bb ldr r1, [pc, #748] ; (808312c ) 8082e3e: 48be ldr r0, [pc, #760] ; (8083138 ) 8082e40: f7d2 f9e4 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 8082e44: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 8082e48: b2db uxtb r3, r3 8082e4a: 461a mov r2, r3 8082e4c: 4bb9 ldr r3, [pc, #740] ; (8083134 ) 8082e4e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082e52: 461a mov r2, r3 8082e54: 215a movs r1, #90 ; 0x5a 8082e56: 20c6 movs r0, #198 ; 0xc6 8082e58: f7d2 ff80 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 8082e5c: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 8082e60: b2db uxtb r3, r3 8082e62: 461a mov r2, r3 8082e64: 4bb3 ldr r3, [pc, #716] ; (8083134 ) 8082e66: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082e6a: 461a mov r2, r3 8082e6c: 215a movs r1, #90 ; 0x5a 8082e6e: 20e6 movs r0, #230 ; 0xe6 8082e70: f7d2 ff74 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, "."); 8082e74: 4ab1 ldr r2, [pc, #708] ; (808313c ) 8082e76: 215a movs r1, #90 ; 0x5a 8082e78: 20f6 movs r0, #246 ; 0xf6 8082e7a: f7d2 ff6f bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 8082e7e: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 8082e82: b2db uxtb r3, r3 8082e84: 461a mov r2, r3 8082e86: 4bab ldr r3, [pc, #684] ; (8083134 ) 8082e88: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082e8c: 461a mov r2, r3 8082e8e: 215a movs r1, #90 ; 0x5a 8082e90: f44f 7083 mov.w r0, #262 ; 0x106 8082e94: f7d2 ff62 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 8082e98: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 8082e9c: b2db uxtb r3, r3 8082e9e: 461a mov r2, r3 8082ea0: 4ba4 ldr r3, [pc, #656] ; (8083134 ) 8082ea2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082ea6: 461a mov r2, r3 8082ea8: 215a movs r1, #90 ; 0x5a 8082eaa: f44f 708b mov.w r0, #278 ; 0x116 8082eae: f7d2 ff55 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 8082eb2: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 8082eb6: b2db uxtb r3, r3 8082eb8: 461a mov r2, r3 8082eba: 4b9e ldr r3, [pc, #632] ; (8083134 ) 8082ebc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082ec0: 461a mov r2, r3 8082ec2: 215a movs r1, #90 ; 0x5a 8082ec4: f44f 7093 mov.w r0, #294 ; 0x126 8082ec8: f7d2 ff48 bl 8055d5c if(menupos == D_Roll_IES) 8082ecc: f001 bb73 b.w 80845b6 } else if(menupos == D_Roll_IEE) 8082ed0: 4b95 ldr r3, [pc, #596] ; (8083128 ) 8082ed2: 781b ldrb r3, [r3, #0] 8082ed4: b2db uxtb r3, r3 8082ed6: 2b0c cmp r3, #12 8082ed8: d15e bne.n 8082f98 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082eda: 4994 ldr r1, [pc, #592] ; (808312c ) 8082edc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082ee0: f7d2 f994 bl 805520c if(blk) 8082ee4: 4b92 ldr r3, [pc, #584] ; (8083130 ) 8082ee6: 681b ldr r3, [r3, #0] 8082ee8: 2b00 cmp r3, #0 8082eea: d00b beq.n 8082f04 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 8082eec: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 8082ef0: b2db uxtb r3, r3 8082ef2: 461a mov r2, r3 8082ef4: 4b8f ldr r3, [pc, #572] ; (8083134 ) 8082ef6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082efa: 461a mov r2, r3 8082efc: 215a movs r1, #90 ; 0x5a 8082efe: 20e6 movs r0, #230 ; 0xe6 8082f00: f7d2 ff2c bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082f04: 4989 ldr r1, [pc, #548] ; (808312c ) 8082f06: 488c ldr r0, [pc, #560] ; (8083138 ) 8082f08: f7d2 f980 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 8082f0c: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 8082f10: b2db uxtb r3, r3 8082f12: 461a mov r2, r3 8082f14: 4b87 ldr r3, [pc, #540] ; (8083134 ) 8082f16: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082f1a: 461a mov r2, r3 8082f1c: 215a movs r1, #90 ; 0x5a 8082f1e: 20c6 movs r0, #198 ; 0xc6 8082f20: f7d2 ff1c bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 8082f24: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 8082f28: b2db uxtb r3, r3 8082f2a: 461a mov r2, r3 8082f2c: 4b81 ldr r3, [pc, #516] ; (8083134 ) 8082f2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082f32: 461a mov r2, r3 8082f34: 215a movs r1, #90 ; 0x5a 8082f36: 20d6 movs r0, #214 ; 0xd6 8082f38: f7d2 ff10 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, "."); 8082f3c: 4a7f ldr r2, [pc, #508] ; (808313c ) 8082f3e: 215a movs r1, #90 ; 0x5a 8082f40: 20f6 movs r0, #246 ; 0xf6 8082f42: f7d2 ff0b bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 8082f46: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 8082f4a: b2db uxtb r3, r3 8082f4c: 461a mov r2, r3 8082f4e: 4b79 ldr r3, [pc, #484] ; (8083134 ) 8082f50: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082f54: 461a mov r2, r3 8082f56: 215a movs r1, #90 ; 0x5a 8082f58: f44f 7083 mov.w r0, #262 ; 0x106 8082f5c: f7d2 fefe bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 8082f60: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 8082f64: b2db uxtb r3, r3 8082f66: 461a mov r2, r3 8082f68: 4b72 ldr r3, [pc, #456] ; (8083134 ) 8082f6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082f6e: 461a mov r2, r3 8082f70: 215a movs r1, #90 ; 0x5a 8082f72: f44f 708b mov.w r0, #278 ; 0x116 8082f76: f7d2 fef1 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 8082f7a: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 8082f7e: b2db uxtb r3, r3 8082f80: 461a mov r2, r3 8082f82: 4b6c ldr r3, [pc, #432] ; (8083134 ) 8082f84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082f88: 461a mov r2, r3 8082f8a: 215a movs r1, #90 ; 0x5a 8082f8c: f44f 7093 mov.w r0, #294 ; 0x126 8082f90: f7d2 fee4 bl 8055d5c if(menupos == D_Roll_IES) 8082f94: f001 bb0f b.w 80845b6 } else if(menupos == D_Roll_IKD) 8082f98: 4b63 ldr r3, [pc, #396] ; (8083128 ) 8082f9a: 781b ldrb r3, [r3, #0] 8082f9c: b2db uxtb r3, r3 8082f9e: 2b0d cmp r3, #13 8082fa0: d15e bne.n 8083060 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082fa2: 4962 ldr r1, [pc, #392] ; (808312c ) 8082fa4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082fa8: f7d2 f930 bl 805520c if(blk) 8082fac: 4b60 ldr r3, [pc, #384] ; (8083130 ) 8082fae: 681b ldr r3, [r3, #0] 8082fb0: 2b00 cmp r3, #0 8082fb2: d00c beq.n 8082fce LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 8082fb4: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 8082fb8: b2db uxtb r3, r3 8082fba: 461a mov r2, r3 8082fbc: 4b5d ldr r3, [pc, #372] ; (8083134 ) 8082fbe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082fc2: 461a mov r2, r3 8082fc4: 215a movs r1, #90 ; 0x5a 8082fc6: f44f 7083 mov.w r0, #262 ; 0x106 8082fca: f7d2 fec7 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082fce: 4957 ldr r1, [pc, #348] ; (808312c ) 8082fd0: 4859 ldr r0, [pc, #356] ; (8083138 ) 8082fd2: f7d2 f91b bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 8082fd6: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 8082fda: b2db uxtb r3, r3 8082fdc: 461a mov r2, r3 8082fde: 4b55 ldr r3, [pc, #340] ; (8083134 ) 8082fe0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082fe4: 461a mov r2, r3 8082fe6: 215a movs r1, #90 ; 0x5a 8082fe8: 20c6 movs r0, #198 ; 0xc6 8082fea: f7d2 feb7 bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 8082fee: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 8082ff2: b2db uxtb r3, r3 8082ff4: 461a mov r2, r3 8082ff6: 4b4f ldr r3, [pc, #316] ; (8083134 ) 8082ff8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082ffc: 461a mov r2, r3 8082ffe: 215a movs r1, #90 ; 0x5a 8083000: 20d6 movs r0, #214 ; 0xd6 8083002: f7d2 feab bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 8083006: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 808300a: b2db uxtb r3, r3 808300c: 461a mov r2, r3 808300e: 4b49 ldr r3, [pc, #292] ; (8083134 ) 8083010: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083014: 461a mov r2, r3 8083016: 215a movs r1, #90 ; 0x5a 8083018: 20e6 movs r0, #230 ; 0xe6 808301a: f7d2 fe9f bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, "."); 808301e: 4a47 ldr r2, [pc, #284] ; (808313c ) 8083020: 215a movs r1, #90 ; 0x5a 8083022: 20f6 movs r0, #246 ; 0xf6 8083024: f7d2 fe9a bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 8083028: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 808302c: b2db uxtb r3, r3 808302e: 461a mov r2, r3 8083030: 4b40 ldr r3, [pc, #256] ; (8083134 ) 8083032: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083036: 461a mov r2, r3 8083038: 215a movs r1, #90 ; 0x5a 808303a: f44f 708b mov.w r0, #278 ; 0x116 808303e: f7d2 fe8d bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 8083042: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 8083046: b2db uxtb r3, r3 8083048: 461a mov r2, r3 808304a: 4b3a ldr r3, [pc, #232] ; (8083134 ) 808304c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083050: 461a mov r2, r3 8083052: 215a movs r1, #90 ; 0x5a 8083054: f44f 7093 mov.w r0, #294 ; 0x126 8083058: f7d2 fe80 bl 8055d5c if(menupos == D_Roll_IES) 808305c: f001 baab b.w 80845b6 } else if(menupos == D_Roll_IKS) 8083060: 4b31 ldr r3, [pc, #196] ; (8083128 ) 8083062: 781b ldrb r3, [r3, #0] 8083064: b2db uxtb r3, r3 8083066: 2b0e cmp r3, #14 8083068: d16a bne.n 8083140 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808306a: 4930 ldr r1, [pc, #192] ; (808312c ) 808306c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083070: f7d2 f8cc bl 805520c if(blk) 8083074: 4b2e ldr r3, [pc, #184] ; (8083130 ) 8083076: 681b ldr r3, [r3, #0] 8083078: 2b00 cmp r3, #0 808307a: d00c beq.n 8083096 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 808307c: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 8083080: b2db uxtb r3, r3 8083082: 461a mov r2, r3 8083084: 4b2b ldr r3, [pc, #172] ; (8083134 ) 8083086: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808308a: 461a mov r2, r3 808308c: 215a movs r1, #90 ; 0x5a 808308e: f44f 708b mov.w r0, #278 ; 0x116 8083092: f7d2 fe63 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083096: 4925 ldr r1, [pc, #148] ; (808312c ) 8083098: 4827 ldr r0, [pc, #156] ; (8083138 ) 808309a: f7d2 f8b7 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 808309e: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 80830a2: b2db uxtb r3, r3 80830a4: 461a mov r2, r3 80830a6: 4b23 ldr r3, [pc, #140] ; (8083134 ) 80830a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80830ac: 461a mov r2, r3 80830ae: 215a movs r1, #90 ; 0x5a 80830b0: 20c6 movs r0, #198 ; 0xc6 80830b2: f7d2 fe53 bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 80830b6: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 80830ba: b2db uxtb r3, r3 80830bc: 461a mov r2, r3 80830be: 4b1d ldr r3, [pc, #116] ; (8083134 ) 80830c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80830c4: 461a mov r2, r3 80830c6: 215a movs r1, #90 ; 0x5a 80830c8: 20d6 movs r0, #214 ; 0xd6 80830ca: f7d2 fe47 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 80830ce: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 80830d2: b2db uxtb r3, r3 80830d4: 461a mov r2, r3 80830d6: 4b17 ldr r3, [pc, #92] ; (8083134 ) 80830d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80830dc: 461a mov r2, r3 80830de: 215a movs r1, #90 ; 0x5a 80830e0: 20e6 movs r0, #230 ; 0xe6 80830e2: f7d2 fe3b bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, "."); 80830e6: 4a15 ldr r2, [pc, #84] ; (808313c ) 80830e8: 215a movs r1, #90 ; 0x5a 80830ea: 20f6 movs r0, #246 ; 0xf6 80830ec: f7d2 fe36 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 80830f0: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 80830f4: b2db uxtb r3, r3 80830f6: 461a mov r2, r3 80830f8: 4b0e ldr r3, [pc, #56] ; (8083134 ) 80830fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80830fe: 461a mov r2, r3 8083100: 215a movs r1, #90 ; 0x5a 8083102: f44f 7083 mov.w r0, #262 ; 0x106 8083106: f7d2 fe29 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 808310a: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 808310e: b2db uxtb r3, r3 8083110: 461a mov r2, r3 8083112: 4b08 ldr r3, [pc, #32] ; (8083134 ) 8083114: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083118: 461a mov r2, r3 808311a: 215a movs r1, #90 ; 0x5a 808311c: f44f 7093 mov.w r0, #294 ; 0x126 8083120: f7d2 fe1c bl 8055d5c if(menupos == D_Roll_IES) 8083124: f001 ba47 b.w 80845b6 8083128: 20020070 .word 0x20020070 808312c: ff0a0f1f .word 0xff0a0f1f 8083130: 200216ac .word 0x200216ac 8083134: 2002096c .word 0x2002096c 8083138: ffd8aa57 .word 0xffd8aa57 808313c: 080d6258 .word 0x080d6258 } else if(menupos == D_Roll_IKT) 8083140: 4bce ldr r3, [pc, #824] ; (808347c ) 8083142: 781b ldrb r3, [r3, #0] 8083144: b2db uxtb r3, r3 8083146: 2b0f cmp r3, #15 8083148: f041 8235 bne.w 80845b6 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808314c: 49cc ldr r1, [pc, #816] ; (8083480 ) 808314e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083152: f7d2 f85b bl 805520c if(blk) 8083156: 4bcb ldr r3, [pc, #812] ; (8083484 ) 8083158: 681b ldr r3, [r3, #0] 808315a: 2b00 cmp r3, #0 808315c: d00c beq.n 8083178 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 808315e: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 8083162: b2db uxtb r3, r3 8083164: 461a mov r2, r3 8083166: 4bc8 ldr r3, [pc, #800] ; (8083488 ) 8083168: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808316c: 461a mov r2, r3 808316e: 215a movs r1, #90 ; 0x5a 8083170: f44f 7093 mov.w r0, #294 ; 0x126 8083174: f7d2 fdf2 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083178: 49c1 ldr r1, [pc, #772] ; (8083480 ) 808317a: 48c4 ldr r0, [pc, #784] ; (808348c ) 808317c: f7d2 f846 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 8083180: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 8083184: b2db uxtb r3, r3 8083186: 461a mov r2, r3 8083188: 4bbf ldr r3, [pc, #764] ; (8083488 ) 808318a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808318e: 461a mov r2, r3 8083190: 215a movs r1, #90 ; 0x5a 8083192: 20c6 movs r0, #198 ; 0xc6 8083194: f7d2 fde2 bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 8083198: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 808319c: b2db uxtb r3, r3 808319e: 461a mov r2, r3 80831a0: 4bb9 ldr r3, [pc, #740] ; (8083488 ) 80831a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80831a6: 461a mov r2, r3 80831a8: 215a movs r1, #90 ; 0x5a 80831aa: 20d6 movs r0, #214 ; 0xd6 80831ac: f7d2 fdd6 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 80831b0: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 80831b4: b2db uxtb r3, r3 80831b6: 461a mov r2, r3 80831b8: 4bb3 ldr r3, [pc, #716] ; (8083488 ) 80831ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80831be: 461a mov r2, r3 80831c0: 215a movs r1, #90 ; 0x5a 80831c2: 20e6 movs r0, #230 ; 0xe6 80831c4: f7d2 fdca bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, "."); 80831c8: 4ab1 ldr r2, [pc, #708] ; (8083490 ) 80831ca: 215a movs r1, #90 ; 0x5a 80831cc: 20f6 movs r0, #246 ; 0xf6 80831ce: f7d2 fdc5 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 80831d2: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 80831d6: b2db uxtb r3, r3 80831d8: 461a mov r2, r3 80831da: 4bab ldr r3, [pc, #684] ; (8083488 ) 80831dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80831e0: 461a mov r2, r3 80831e2: 215a movs r1, #90 ; 0x5a 80831e4: f44f 7083 mov.w r0, #262 ; 0x106 80831e8: f7d2 fdb8 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 80831ec: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 80831f0: b2db uxtb r3, r3 80831f2: 461a mov r2, r3 80831f4: 4ba4 ldr r3, [pc, #656] ; (8083488 ) 80831f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80831fa: 461a mov r2, r3 80831fc: 215a movs r1, #90 ; 0x5a 80831fe: f44f 708b mov.w r0, #278 ; 0x116 8083202: f7d2 fdab bl 8055d5c if(menupos == D_Roll_IES) 8083206: f001 b9d6 b.w 80845b6 } } else if((menupos >= D_Outer_IES) && (menupos <= D_Outer_IKT)) 808320a: 4b9c ldr r3, [pc, #624] ; (808347c ) 808320c: 781b ldrb r3, [r3, #0] 808320e: b2db uxtb r3, r3 8083210: 2b0f cmp r3, #15 8083212: f240 826c bls.w 80836ee 8083216: 4b99 ldr r3, [pc, #612] ; (808347c ) 8083218: 781b ldrb r3, [r3, #0] 808321a: b2db uxtb r3, r3 808321c: 2b15 cmp r3, #21 808321e: f200 8266 bhi.w 80836ee { if(menupos == D_Outer_IES) 8083222: 4b96 ldr r3, [pc, #600] ; (808347c ) 8083224: 781b ldrb r3, [r3, #0] 8083226: b2db uxtb r3, r3 8083228: 2b10 cmp r3, #16 808322a: d15e bne.n 80832ea { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808322c: 4994 ldr r1, [pc, #592] ; (8083480 ) 808322e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083232: f7d1 ffeb bl 805520c if(blk) 8083236: 4b93 ldr r3, [pc, #588] ; (8083484 ) 8083238: 681b ldr r3, [r3, #0] 808323a: 2b00 cmp r3, #0 808323c: d00b beq.n 8083256 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 808323e: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 8083242: b2db uxtb r3, r3 8083244: 461a mov r2, r3 8083246: 4b90 ldr r3, [pc, #576] ; (8083488 ) 8083248: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808324c: 461a mov r2, r3 808324e: 216a movs r1, #106 ; 0x6a 8083250: 20c6 movs r0, #198 ; 0xc6 8083252: f7d2 fd83 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083256: 498a ldr r1, [pc, #552] ; (8083480 ) 8083258: 488c ldr r0, [pc, #560] ; (808348c ) 808325a: f7d1 ffd7 bl 805520c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 808325e: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 8083262: b2db uxtb r3, r3 8083264: 461a mov r2, r3 8083266: 4b88 ldr r3, [pc, #544] ; (8083488 ) 8083268: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808326c: 461a mov r2, r3 808326e: 216a movs r1, #106 ; 0x6a 8083270: 20d6 movs r0, #214 ; 0xd6 8083272: f7d2 fd73 bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 8083276: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 808327a: b2db uxtb r3, r3 808327c: 461a mov r2, r3 808327e: 4b82 ldr r3, [pc, #520] ; (8083488 ) 8083280: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083284: 461a mov r2, r3 8083286: 216a movs r1, #106 ; 0x6a 8083288: 20e6 movs r0, #230 ; 0xe6 808328a: f7d2 fd67 bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, "."); 808328e: 4a80 ldr r2, [pc, #512] ; (8083490 ) 8083290: 216a movs r1, #106 ; 0x6a 8083292: 20f6 movs r0, #246 ; 0xf6 8083294: f7d2 fd62 bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 8083298: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 808329c: b2db uxtb r3, r3 808329e: 461a mov r2, r3 80832a0: 4b79 ldr r3, [pc, #484] ; (8083488 ) 80832a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80832a6: 461a mov r2, r3 80832a8: 216a movs r1, #106 ; 0x6a 80832aa: f44f 7083 mov.w r0, #262 ; 0x106 80832ae: f7d2 fd55 bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 80832b2: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 80832b6: b2db uxtb r3, r3 80832b8: 461a mov r2, r3 80832ba: 4b73 ldr r3, [pc, #460] ; (8083488 ) 80832bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80832c0: 461a mov r2, r3 80832c2: 216a movs r1, #106 ; 0x6a 80832c4: f44f 708b mov.w r0, #278 ; 0x116 80832c8: f7d2 fd48 bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 80832cc: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 80832d0: b2db uxtb r3, r3 80832d2: 461a mov r2, r3 80832d4: 4b6c ldr r3, [pc, #432] ; (8083488 ) 80832d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80832da: 461a mov r2, r3 80832dc: 216a movs r1, #106 ; 0x6a 80832de: f44f 7093 mov.w r0, #294 ; 0x126 80832e2: f7d2 fd3b bl 8055d5c if(menupos == D_Outer_IES) 80832e6: f001 b968 b.w 80845ba } else if(menupos == D_Outer_IED) 80832ea: 4b64 ldr r3, [pc, #400] ; (808347c ) 80832ec: 781b ldrb r3, [r3, #0] 80832ee: b2db uxtb r3, r3 80832f0: 2b11 cmp r3, #17 80832f2: d15e bne.n 80833b2 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80832f4: 4962 ldr r1, [pc, #392] ; (8083480 ) 80832f6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80832fa: f7d1 ff87 bl 805520c if(blk) 80832fe: 4b61 ldr r3, [pc, #388] ; (8083484 ) 8083300: 681b ldr r3, [r3, #0] 8083302: 2b00 cmp r3, #0 8083304: d00b beq.n 808331e LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 8083306: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 808330a: b2db uxtb r3, r3 808330c: 461a mov r2, r3 808330e: 4b5e ldr r3, [pc, #376] ; (8083488 ) 8083310: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083314: 461a mov r2, r3 8083316: 216a movs r1, #106 ; 0x6a 8083318: 20d6 movs r0, #214 ; 0xd6 808331a: f7d2 fd1f bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808331e: 4958 ldr r1, [pc, #352] ; (8083480 ) 8083320: 485a ldr r0, [pc, #360] ; (808348c ) 8083322: f7d1 ff73 bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 8083326: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 808332a: b2db uxtb r3, r3 808332c: 461a mov r2, r3 808332e: 4b56 ldr r3, [pc, #344] ; (8083488 ) 8083330: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083334: 461a mov r2, r3 8083336: 216a movs r1, #106 ; 0x6a 8083338: 20c6 movs r0, #198 ; 0xc6 808333a: f7d2 fd0f bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 808333e: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 8083342: b2db uxtb r3, r3 8083344: 461a mov r2, r3 8083346: 4b50 ldr r3, [pc, #320] ; (8083488 ) 8083348: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808334c: 461a mov r2, r3 808334e: 216a movs r1, #106 ; 0x6a 8083350: 20e6 movs r0, #230 ; 0xe6 8083352: f7d2 fd03 bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, "."); 8083356: 4a4e ldr r2, [pc, #312] ; (8083490 ) 8083358: 216a movs r1, #106 ; 0x6a 808335a: 20f6 movs r0, #246 ; 0xf6 808335c: f7d2 fcfe bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 8083360: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 8083364: b2db uxtb r3, r3 8083366: 461a mov r2, r3 8083368: 4b47 ldr r3, [pc, #284] ; (8083488 ) 808336a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808336e: 461a mov r2, r3 8083370: 216a movs r1, #106 ; 0x6a 8083372: f44f 7083 mov.w r0, #262 ; 0x106 8083376: f7d2 fcf1 bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 808337a: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 808337e: b2db uxtb r3, r3 8083380: 461a mov r2, r3 8083382: 4b41 ldr r3, [pc, #260] ; (8083488 ) 8083384: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083388: 461a mov r2, r3 808338a: 216a movs r1, #106 ; 0x6a 808338c: f44f 708b mov.w r0, #278 ; 0x116 8083390: f7d2 fce4 bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 8083394: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 8083398: b2db uxtb r3, r3 808339a: 461a mov r2, r3 808339c: 4b3a ldr r3, [pc, #232] ; (8083488 ) 808339e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80833a2: 461a mov r2, r3 80833a4: 216a movs r1, #106 ; 0x6a 80833a6: f44f 7093 mov.w r0, #294 ; 0x126 80833aa: f7d2 fcd7 bl 8055d5c if(menupos == D_Outer_IES) 80833ae: f001 b904 b.w 80845ba } else if(menupos == D_Outer_IEE) 80833b2: 4b32 ldr r3, [pc, #200] ; (808347c ) 80833b4: 781b ldrb r3, [r3, #0] 80833b6: b2db uxtb r3, r3 80833b8: 2b12 cmp r3, #18 80833ba: d16b bne.n 8083494 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80833bc: 4930 ldr r1, [pc, #192] ; (8083480 ) 80833be: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80833c2: f7d1 ff23 bl 805520c if(blk) 80833c6: 4b2f ldr r3, [pc, #188] ; (8083484 ) 80833c8: 681b ldr r3, [r3, #0] 80833ca: 2b00 cmp r3, #0 80833cc: d00b beq.n 80833e6 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 80833ce: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 80833d2: b2db uxtb r3, r3 80833d4: 461a mov r2, r3 80833d6: 4b2c ldr r3, [pc, #176] ; (8083488 ) 80833d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80833dc: 461a mov r2, r3 80833de: 216a movs r1, #106 ; 0x6a 80833e0: 20e6 movs r0, #230 ; 0xe6 80833e2: f7d2 fcbb bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80833e6: 4926 ldr r1, [pc, #152] ; (8083480 ) 80833e8: 4828 ldr r0, [pc, #160] ; (808348c ) 80833ea: f7d1 ff0f bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 80833ee: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 80833f2: b2db uxtb r3, r3 80833f4: 461a mov r2, r3 80833f6: 4b24 ldr r3, [pc, #144] ; (8083488 ) 80833f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80833fc: 461a mov r2, r3 80833fe: 216a movs r1, #106 ; 0x6a 8083400: 20c6 movs r0, #198 ; 0xc6 8083402: f7d2 fcab bl 8055d5c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 8083406: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 808340a: b2db uxtb r3, r3 808340c: 461a mov r2, r3 808340e: 4b1e ldr r3, [pc, #120] ; (8083488 ) 8083410: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083414: 461a mov r2, r3 8083416: 216a movs r1, #106 ; 0x6a 8083418: 20d6 movs r0, #214 ; 0xd6 808341a: f7d2 fc9f bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, "."); 808341e: 4a1c ldr r2, [pc, #112] ; (8083490 ) 8083420: 216a movs r1, #106 ; 0x6a 8083422: 20f6 movs r0, #246 ; 0xf6 8083424: f7d2 fc9a bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 8083428: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 808342c: b2db uxtb r3, r3 808342e: 461a mov r2, r3 8083430: 4b15 ldr r3, [pc, #84] ; (8083488 ) 8083432: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083436: 461a mov r2, r3 8083438: 216a movs r1, #106 ; 0x6a 808343a: f44f 7083 mov.w r0, #262 ; 0x106 808343e: f7d2 fc8d bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 8083442: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 8083446: b2db uxtb r3, r3 8083448: 461a mov r2, r3 808344a: 4b0f ldr r3, [pc, #60] ; (8083488 ) 808344c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083450: 461a mov r2, r3 8083452: 216a movs r1, #106 ; 0x6a 8083454: f44f 708b mov.w r0, #278 ; 0x116 8083458: f7d2 fc80 bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 808345c: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 8083460: b2db uxtb r3, r3 8083462: 461a mov r2, r3 8083464: 4b08 ldr r3, [pc, #32] ; (8083488 ) 8083466: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808346a: 461a mov r2, r3 808346c: 216a movs r1, #106 ; 0x6a 808346e: f44f 7093 mov.w r0, #294 ; 0x126 8083472: f7d2 fc73 bl 8055d5c if(menupos == D_Outer_IES) 8083476: f001 b8a0 b.w 80845ba 808347a: bf00 nop 808347c: 20020070 .word 0x20020070 8083480: ff0a0f1f .word 0xff0a0f1f 8083484: 200216ac .word 0x200216ac 8083488: 2002096c .word 0x2002096c 808348c: ffd8aa57 .word 0xffd8aa57 8083490: 080d6258 .word 0x080d6258 } else if(menupos == D_Outer_IKD) 8083494: 4bce ldr r3, [pc, #824] ; (80837d0 ) 8083496: 781b ldrb r3, [r3, #0] 8083498: b2db uxtb r3, r3 808349a: 2b13 cmp r3, #19 808349c: d15e bne.n 808355c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808349e: 49cd ldr r1, [pc, #820] ; (80837d4 ) 80834a0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80834a4: f7d1 feb2 bl 805520c if(blk) 80834a8: 4bcb ldr r3, [pc, #812] ; (80837d8 ) 80834aa: 681b ldr r3, [r3, #0] 80834ac: 2b00 cmp r3, #0 80834ae: d00c beq.n 80834ca LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 80834b0: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 80834b4: b2db uxtb r3, r3 80834b6: 461a mov r2, r3 80834b8: 4bc8 ldr r3, [pc, #800] ; (80837dc ) 80834ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80834be: 461a mov r2, r3 80834c0: 216a movs r1, #106 ; 0x6a 80834c2: f44f 7083 mov.w r0, #262 ; 0x106 80834c6: f7d2 fc49 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80834ca: 49c2 ldr r1, [pc, #776] ; (80837d4 ) 80834cc: 48c4 ldr r0, [pc, #784] ; (80837e0 ) 80834ce: f7d1 fe9d bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 80834d2: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 80834d6: b2db uxtb r3, r3 80834d8: 461a mov r2, r3 80834da: 4bc0 ldr r3, [pc, #768] ; (80837dc ) 80834dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80834e0: 461a mov r2, r3 80834e2: 216a movs r1, #106 ; 0x6a 80834e4: 20c6 movs r0, #198 ; 0xc6 80834e6: f7d2 fc39 bl 8055d5c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 80834ea: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 80834ee: b2db uxtb r3, r3 80834f0: 461a mov r2, r3 80834f2: 4bba ldr r3, [pc, #744] ; (80837dc ) 80834f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80834f8: 461a mov r2, r3 80834fa: 216a movs r1, #106 ; 0x6a 80834fc: 20d6 movs r0, #214 ; 0xd6 80834fe: f7d2 fc2d bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 8083502: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 8083506: b2db uxtb r3, r3 8083508: 461a mov r2, r3 808350a: 4bb4 ldr r3, [pc, #720] ; (80837dc ) 808350c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083510: 461a mov r2, r3 8083512: 216a movs r1, #106 ; 0x6a 8083514: 20e6 movs r0, #230 ; 0xe6 8083516: f7d2 fc21 bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, "."); 808351a: 4ab2 ldr r2, [pc, #712] ; (80837e4 ) 808351c: 216a movs r1, #106 ; 0x6a 808351e: 20f6 movs r0, #246 ; 0xf6 8083520: f7d2 fc1c bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 8083524: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 8083528: b2db uxtb r3, r3 808352a: 461a mov r2, r3 808352c: 4bab ldr r3, [pc, #684] ; (80837dc ) 808352e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083532: 461a mov r2, r3 8083534: 216a movs r1, #106 ; 0x6a 8083536: f44f 708b mov.w r0, #278 ; 0x116 808353a: f7d2 fc0f bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 808353e: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 8083542: b2db uxtb r3, r3 8083544: 461a mov r2, r3 8083546: 4ba5 ldr r3, [pc, #660] ; (80837dc ) 8083548: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808354c: 461a mov r2, r3 808354e: 216a movs r1, #106 ; 0x6a 8083550: f44f 7093 mov.w r0, #294 ; 0x126 8083554: f7d2 fc02 bl 8055d5c if(menupos == D_Outer_IES) 8083558: f001 b82f b.w 80845ba } else if(menupos == D_Outer_IKS) 808355c: 4b9c ldr r3, [pc, #624] ; (80837d0 ) 808355e: 781b ldrb r3, [r3, #0] 8083560: b2db uxtb r3, r3 8083562: 2b14 cmp r3, #20 8083564: d15e bne.n 8083624 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083566: 499b ldr r1, [pc, #620] ; (80837d4 ) 8083568: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808356c: f7d1 fe4e bl 805520c if(blk) 8083570: 4b99 ldr r3, [pc, #612] ; (80837d8 ) 8083572: 681b ldr r3, [r3, #0] 8083574: 2b00 cmp r3, #0 8083576: d00c beq.n 8083592 LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 8083578: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 808357c: b2db uxtb r3, r3 808357e: 461a mov r2, r3 8083580: 4b96 ldr r3, [pc, #600] ; (80837dc ) 8083582: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083586: 461a mov r2, r3 8083588: 216a movs r1, #106 ; 0x6a 808358a: f44f 708b mov.w r0, #278 ; 0x116 808358e: f7d2 fbe5 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083592: 4990 ldr r1, [pc, #576] ; (80837d4 ) 8083594: 4892 ldr r0, [pc, #584] ; (80837e0 ) 8083596: f7d1 fe39 bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 808359a: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 808359e: b2db uxtb r3, r3 80835a0: 461a mov r2, r3 80835a2: 4b8e ldr r3, [pc, #568] ; (80837dc ) 80835a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80835a8: 461a mov r2, r3 80835aa: 216a movs r1, #106 ; 0x6a 80835ac: 20c6 movs r0, #198 ; 0xc6 80835ae: f7d2 fbd5 bl 8055d5c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 80835b2: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 80835b6: b2db uxtb r3, r3 80835b8: 461a mov r2, r3 80835ba: 4b88 ldr r3, [pc, #544] ; (80837dc ) 80835bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80835c0: 461a mov r2, r3 80835c2: 216a movs r1, #106 ; 0x6a 80835c4: 20d6 movs r0, #214 ; 0xd6 80835c6: f7d2 fbc9 bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 80835ca: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 80835ce: b2db uxtb r3, r3 80835d0: 461a mov r2, r3 80835d2: 4b82 ldr r3, [pc, #520] ; (80837dc ) 80835d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80835d8: 461a mov r2, r3 80835da: 216a movs r1, #106 ; 0x6a 80835dc: 20e6 movs r0, #230 ; 0xe6 80835de: f7d2 fbbd bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, "."); 80835e2: 4a80 ldr r2, [pc, #512] ; (80837e4 ) 80835e4: 216a movs r1, #106 ; 0x6a 80835e6: 20f6 movs r0, #246 ; 0xf6 80835e8: f7d2 fbb8 bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 80835ec: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 80835f0: b2db uxtb r3, r3 80835f2: 461a mov r2, r3 80835f4: 4b79 ldr r3, [pc, #484] ; (80837dc ) 80835f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80835fa: 461a mov r2, r3 80835fc: 216a movs r1, #106 ; 0x6a 80835fe: f44f 7083 mov.w r0, #262 ; 0x106 8083602: f7d2 fbab bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 8083606: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 808360a: b2db uxtb r3, r3 808360c: 461a mov r2, r3 808360e: 4b73 ldr r3, [pc, #460] ; (80837dc ) 8083610: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083614: 461a mov r2, r3 8083616: 216a movs r1, #106 ; 0x6a 8083618: f44f 7093 mov.w r0, #294 ; 0x126 808361c: f7d2 fb9e bl 8055d5c if(menupos == D_Outer_IES) 8083620: f000 bfcb b.w 80845ba } else if(menupos == D_Outer_IKT) 8083624: 4b6a ldr r3, [pc, #424] ; (80837d0 ) 8083626: 781b ldrb r3, [r3, #0] 8083628: b2db uxtb r3, r3 808362a: 2b15 cmp r3, #21 808362c: f040 87c5 bne.w 80845ba { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083630: 4968 ldr r1, [pc, #416] ; (80837d4 ) 8083632: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083636: f7d1 fde9 bl 805520c if(blk) 808363a: 4b67 ldr r3, [pc, #412] ; (80837d8 ) 808363c: 681b ldr r3, [r3, #0] 808363e: 2b00 cmp r3, #0 8083640: d00c beq.n 808365c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 8083642: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 8083646: b2db uxtb r3, r3 8083648: 461a mov r2, r3 808364a: 4b64 ldr r3, [pc, #400] ; (80837dc ) 808364c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083650: 461a mov r2, r3 8083652: 216a movs r1, #106 ; 0x6a 8083654: f44f 7093 mov.w r0, #294 ; 0x126 8083658: f7d2 fb80 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808365c: 495d ldr r1, [pc, #372] ; (80837d4 ) 808365e: 4860 ldr r0, [pc, #384] ; (80837e0 ) 8083660: f7d1 fdd4 bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 8083664: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 8083668: b2db uxtb r3, r3 808366a: 461a mov r2, r3 808366c: 4b5b ldr r3, [pc, #364] ; (80837dc ) 808366e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083672: 461a mov r2, r3 8083674: 216a movs r1, #106 ; 0x6a 8083676: 20c6 movs r0, #198 ; 0xc6 8083678: f7d2 fb70 bl 8055d5c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 808367c: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 8083680: b2db uxtb r3, r3 8083682: 461a mov r2, r3 8083684: 4b55 ldr r3, [pc, #340] ; (80837dc ) 8083686: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808368a: 461a mov r2, r3 808368c: 216a movs r1, #106 ; 0x6a 808368e: 20d6 movs r0, #214 ; 0xd6 8083690: f7d2 fb64 bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 8083694: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 8083698: b2db uxtb r3, r3 808369a: 461a mov r2, r3 808369c: 4b4f ldr r3, [pc, #316] ; (80837dc ) 808369e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80836a2: 461a mov r2, r3 80836a4: 216a movs r1, #106 ; 0x6a 80836a6: 20e6 movs r0, #230 ; 0xe6 80836a8: f7d2 fb58 bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, "."); 80836ac: 4a4d ldr r2, [pc, #308] ; (80837e4 ) 80836ae: 216a movs r1, #106 ; 0x6a 80836b0: 20f6 movs r0, #246 ; 0xf6 80836b2: f7d2 fb53 bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 80836b6: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 80836ba: b2db uxtb r3, r3 80836bc: 461a mov r2, r3 80836be: 4b47 ldr r3, [pc, #284] ; (80837dc ) 80836c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80836c4: 461a mov r2, r3 80836c6: 216a movs r1, #106 ; 0x6a 80836c8: f44f 7083 mov.w r0, #262 ; 0x106 80836cc: f7d2 fb46 bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 80836d0: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 80836d4: b2db uxtb r3, r3 80836d6: 461a mov r2, r3 80836d8: 4b40 ldr r3, [pc, #256] ; (80837dc ) 80836da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80836de: 461a mov r2, r3 80836e0: 216a movs r1, #106 ; 0x6a 80836e2: f44f 708b mov.w r0, #278 ; 0x116 80836e6: f7d2 fb39 bl 8055d5c if(menupos == D_Outer_IES) 80836ea: f000 bf66 b.w 80845ba } } else if((menupos >= D_Inner_IES) && (menupos <= D_Inner_IKT)) 80836ee: 4b38 ldr r3, [pc, #224] ; (80837d0 ) 80836f0: 781b ldrb r3, [r3, #0] 80836f2: b2db uxtb r3, r3 80836f4: 2b15 cmp r3, #21 80836f6: f240 8278 bls.w 8083bea 80836fa: 4b35 ldr r3, [pc, #212] ; (80837d0 ) 80836fc: 781b ldrb r3, [r3, #0] 80836fe: b2db uxtb r3, r3 8083700: 2b1b cmp r3, #27 8083702: f200 8272 bhi.w 8083bea { if(menupos == D_Inner_IES) 8083706: 4b32 ldr r3, [pc, #200] ; (80837d0 ) 8083708: 781b ldrb r3, [r3, #0] 808370a: b2db uxtb r3, r3 808370c: 2b16 cmp r3, #22 808370e: d16b bne.n 80837e8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083710: 4930 ldr r1, [pc, #192] ; (80837d4 ) 8083712: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083716: f7d1 fd79 bl 805520c if(blk) 808371a: 4b2f ldr r3, [pc, #188] ; (80837d8 ) 808371c: 681b ldr r3, [r3, #0] 808371e: 2b00 cmp r3, #0 8083720: d00b beq.n 808373a LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8083722: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8083726: b2db uxtb r3, r3 8083728: 461a mov r2, r3 808372a: 4b2c ldr r3, [pc, #176] ; (80837dc ) 808372c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083730: 461a mov r2, r3 8083732: 217a movs r1, #122 ; 0x7a 8083734: 20c6 movs r0, #198 ; 0xc6 8083736: f7d2 fb11 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808373a: 4926 ldr r1, [pc, #152] ; (80837d4 ) 808373c: 4828 ldr r0, [pc, #160] ; (80837e0 ) 808373e: f7d1 fd65 bl 805520c LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8083742: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8083746: b2db uxtb r3, r3 8083748: 461a mov r2, r3 808374a: 4b24 ldr r3, [pc, #144] ; (80837dc ) 808374c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083750: 461a mov r2, r3 8083752: 217a movs r1, #122 ; 0x7a 8083754: 20d6 movs r0, #214 ; 0xd6 8083756: f7d2 fb01 bl 8055d5c LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 808375a: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 808375e: b2db uxtb r3, r3 8083760: 461a mov r2, r3 8083762: 4b1e ldr r3, [pc, #120] ; (80837dc ) 8083764: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083768: 461a mov r2, r3 808376a: 217a movs r1, #122 ; 0x7a 808376c: 20e6 movs r0, #230 ; 0xe6 808376e: f7d2 faf5 bl 8055d5c LCD_DisplayString(246, LCD_LINE_7, "."); 8083772: 4a1c ldr r2, [pc, #112] ; (80837e4 ) 8083774: 217a movs r1, #122 ; 0x7a 8083776: 20f6 movs r0, #246 ; 0xf6 8083778: f7d2 faf0 bl 8055d5c LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 808377c: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8083780: b2db uxtb r3, r3 8083782: 461a mov r2, r3 8083784: 4b15 ldr r3, [pc, #84] ; (80837dc ) 8083786: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808378a: 461a mov r2, r3 808378c: 217a movs r1, #122 ; 0x7a 808378e: f44f 7083 mov.w r0, #262 ; 0x106 8083792: f7d2 fae3 bl 8055d5c LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8083796: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 808379a: b2db uxtb r3, r3 808379c: 461a mov r2, r3 808379e: 4b0f ldr r3, [pc, #60] ; (80837dc ) 80837a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80837a4: 461a mov r2, r3 80837a6: 217a movs r1, #122 ; 0x7a 80837a8: f44f 708b mov.w r0, #278 ; 0x116 80837ac: f7d2 fad6 bl 8055d5c LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 80837b0: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 80837b4: b2db uxtb r3, r3 80837b6: 461a mov r2, r3 80837b8: 4b08 ldr r3, [pc, #32] ; (80837dc ) 80837ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80837be: 461a mov r2, r3 80837c0: 217a movs r1, #122 ; 0x7a 80837c2: f44f 7093 mov.w r0, #294 ; 0x126 80837c6: f7d2 fac9 bl 8055d5c if(menupos == D_Inner_IES) 80837ca: f000 bef8 b.w 80845be 80837ce: bf00 nop 80837d0: 20020070 .word 0x20020070 80837d4: ff0a0f1f .word 0xff0a0f1f 80837d8: 200216ac .word 0x200216ac 80837dc: 2002096c .word 0x2002096c 80837e0: ffd8aa57 .word 0xffd8aa57 80837e4: 080d6258 .word 0x080d6258 } else if(menupos == D_Inner_IED) 80837e8: 4bc7 ldr r3, [pc, #796] ; (8083b08 ) 80837ea: 781b ldrb r3, [r3, #0] 80837ec: b2db uxtb r3, r3 80837ee: 2b17 cmp r3, #23 80837f0: d15e bne.n 80838b0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80837f2: 49c6 ldr r1, [pc, #792] ; (8083b0c ) 80837f4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80837f8: f7d1 fd08 bl 805520c if(blk) 80837fc: 4bc4 ldr r3, [pc, #784] ; (8083b10 ) 80837fe: 681b ldr r3, [r3, #0] 8083800: 2b00 cmp r3, #0 8083802: d00b beq.n 808381c LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8083804: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8083808: b2db uxtb r3, r3 808380a: 461a mov r2, r3 808380c: 4bc1 ldr r3, [pc, #772] ; (8083b14 ) 808380e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083812: 461a mov r2, r3 8083814: 217a movs r1, #122 ; 0x7a 8083816: 20d6 movs r0, #214 ; 0xd6 8083818: f7d2 faa0 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808381c: 49bb ldr r1, [pc, #748] ; (8083b0c ) 808381e: 48be ldr r0, [pc, #760] ; (8083b18 ) 8083820: f7d1 fcf4 bl 805520c LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8083824: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8083828: b2db uxtb r3, r3 808382a: 461a mov r2, r3 808382c: 4bb9 ldr r3, [pc, #740] ; (8083b14 ) 808382e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083832: 461a mov r2, r3 8083834: 217a movs r1, #122 ; 0x7a 8083836: 20c6 movs r0, #198 ; 0xc6 8083838: f7d2 fa90 bl 8055d5c LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 808383c: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8083840: b2db uxtb r3, r3 8083842: 461a mov r2, r3 8083844: 4bb3 ldr r3, [pc, #716] ; (8083b14 ) 8083846: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808384a: 461a mov r2, r3 808384c: 217a movs r1, #122 ; 0x7a 808384e: 20e6 movs r0, #230 ; 0xe6 8083850: f7d2 fa84 bl 8055d5c LCD_DisplayString(246, LCD_LINE_7, "."); 8083854: 4ab1 ldr r2, [pc, #708] ; (8083b1c ) 8083856: 217a movs r1, #122 ; 0x7a 8083858: 20f6 movs r0, #246 ; 0xf6 808385a: f7d2 fa7f bl 8055d5c LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 808385e: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8083862: b2db uxtb r3, r3 8083864: 461a mov r2, r3 8083866: 4bab ldr r3, [pc, #684] ; (8083b14 ) 8083868: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808386c: 461a mov r2, r3 808386e: 217a movs r1, #122 ; 0x7a 8083870: f44f 7083 mov.w r0, #262 ; 0x106 8083874: f7d2 fa72 bl 8055d5c LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8083878: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 808387c: b2db uxtb r3, r3 808387e: 461a mov r2, r3 8083880: 4ba4 ldr r3, [pc, #656] ; (8083b14 ) 8083882: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083886: 461a mov r2, r3 8083888: 217a movs r1, #122 ; 0x7a 808388a: f44f 708b mov.w r0, #278 ; 0x116 808388e: f7d2 fa65 bl 8055d5c LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8083892: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8083896: b2db uxtb r3, r3 8083898: 461a mov r2, r3 808389a: 4b9e ldr r3, [pc, #632] ; (8083b14 ) 808389c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80838a0: 461a mov r2, r3 80838a2: 217a movs r1, #122 ; 0x7a 80838a4: f44f 7093 mov.w r0, #294 ; 0x126 80838a8: f7d2 fa58 bl 8055d5c if(menupos == D_Inner_IES) 80838ac: f000 be87 b.w 80845be } else if(menupos == D_Inner_IEE) 80838b0: 4b95 ldr r3, [pc, #596] ; (8083b08 ) 80838b2: 781b ldrb r3, [r3, #0] 80838b4: b2db uxtb r3, r3 80838b6: 2b18 cmp r3, #24 80838b8: d15e bne.n 8083978 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80838ba: 4994 ldr r1, [pc, #592] ; (8083b0c ) 80838bc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80838c0: f7d1 fca4 bl 805520c if(blk) 80838c4: 4b92 ldr r3, [pc, #584] ; (8083b10 ) 80838c6: 681b ldr r3, [r3, #0] 80838c8: 2b00 cmp r3, #0 80838ca: d00b beq.n 80838e4 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 80838cc: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 80838d0: b2db uxtb r3, r3 80838d2: 461a mov r2, r3 80838d4: 4b8f ldr r3, [pc, #572] ; (8083b14 ) 80838d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80838da: 461a mov r2, r3 80838dc: 217a movs r1, #122 ; 0x7a 80838de: 20e6 movs r0, #230 ; 0xe6 80838e0: f7d2 fa3c bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80838e4: 4989 ldr r1, [pc, #548] ; (8083b0c ) 80838e6: 488c ldr r0, [pc, #560] ; (8083b18 ) 80838e8: f7d1 fc90 bl 805520c LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 80838ec: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 80838f0: b2db uxtb r3, r3 80838f2: 461a mov r2, r3 80838f4: 4b87 ldr r3, [pc, #540] ; (8083b14 ) 80838f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80838fa: 461a mov r2, r3 80838fc: 217a movs r1, #122 ; 0x7a 80838fe: 20c6 movs r0, #198 ; 0xc6 8083900: f7d2 fa2c bl 8055d5c LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8083904: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8083908: b2db uxtb r3, r3 808390a: 461a mov r2, r3 808390c: 4b81 ldr r3, [pc, #516] ; (8083b14 ) 808390e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083912: 461a mov r2, r3 8083914: 217a movs r1, #122 ; 0x7a 8083916: 20d6 movs r0, #214 ; 0xd6 8083918: f7d2 fa20 bl 8055d5c LCD_DisplayString(246, LCD_LINE_7, "."); 808391c: 4a7f ldr r2, [pc, #508] ; (8083b1c ) 808391e: 217a movs r1, #122 ; 0x7a 8083920: 20f6 movs r0, #246 ; 0xf6 8083922: f7d2 fa1b bl 8055d5c LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8083926: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 808392a: b2db uxtb r3, r3 808392c: 461a mov r2, r3 808392e: 4b79 ldr r3, [pc, #484] ; (8083b14 ) 8083930: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083934: 461a mov r2, r3 8083936: 217a movs r1, #122 ; 0x7a 8083938: f44f 7083 mov.w r0, #262 ; 0x106 808393c: f7d2 fa0e bl 8055d5c LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8083940: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8083944: b2db uxtb r3, r3 8083946: 461a mov r2, r3 8083948: 4b72 ldr r3, [pc, #456] ; (8083b14 ) 808394a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808394e: 461a mov r2, r3 8083950: 217a movs r1, #122 ; 0x7a 8083952: f44f 708b mov.w r0, #278 ; 0x116 8083956: f7d2 fa01 bl 8055d5c LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 808395a: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 808395e: b2db uxtb r3, r3 8083960: 461a mov r2, r3 8083962: 4b6c ldr r3, [pc, #432] ; (8083b14 ) 8083964: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083968: 461a mov r2, r3 808396a: 217a movs r1, #122 ; 0x7a 808396c: f44f 7093 mov.w r0, #294 ; 0x126 8083970: f7d2 f9f4 bl 8055d5c if(menupos == D_Inner_IES) 8083974: f000 be23 b.w 80845be } else if(menupos == D_Inner_IKD) 8083978: 4b63 ldr r3, [pc, #396] ; (8083b08 ) 808397a: 781b ldrb r3, [r3, #0] 808397c: b2db uxtb r3, r3 808397e: 2b19 cmp r3, #25 8083980: d15e bne.n 8083a40 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083982: 4962 ldr r1, [pc, #392] ; (8083b0c ) 8083984: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083988: f7d1 fc40 bl 805520c if(blk) 808398c: 4b60 ldr r3, [pc, #384] ; (8083b10 ) 808398e: 681b ldr r3, [r3, #0] 8083990: 2b00 cmp r3, #0 8083992: d00c beq.n 80839ae LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8083994: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8083998: b2db uxtb r3, r3 808399a: 461a mov r2, r3 808399c: 4b5d ldr r3, [pc, #372] ; (8083b14 ) 808399e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80839a2: 461a mov r2, r3 80839a4: 217a movs r1, #122 ; 0x7a 80839a6: f44f 7083 mov.w r0, #262 ; 0x106 80839aa: f7d2 f9d7 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80839ae: 4957 ldr r1, [pc, #348] ; (8083b0c ) 80839b0: 4859 ldr r0, [pc, #356] ; (8083b18 ) 80839b2: f7d1 fc2b bl 805520c LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 80839b6: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 80839ba: b2db uxtb r3, r3 80839bc: 461a mov r2, r3 80839be: 4b55 ldr r3, [pc, #340] ; (8083b14 ) 80839c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80839c4: 461a mov r2, r3 80839c6: 217a movs r1, #122 ; 0x7a 80839c8: 20c6 movs r0, #198 ; 0xc6 80839ca: f7d2 f9c7 bl 8055d5c LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 80839ce: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 80839d2: b2db uxtb r3, r3 80839d4: 461a mov r2, r3 80839d6: 4b4f ldr r3, [pc, #316] ; (8083b14 ) 80839d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80839dc: 461a mov r2, r3 80839de: 217a movs r1, #122 ; 0x7a 80839e0: 20d6 movs r0, #214 ; 0xd6 80839e2: f7d2 f9bb bl 8055d5c LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 80839e6: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 80839ea: b2db uxtb r3, r3 80839ec: 461a mov r2, r3 80839ee: 4b49 ldr r3, [pc, #292] ; (8083b14 ) 80839f0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80839f4: 461a mov r2, r3 80839f6: 217a movs r1, #122 ; 0x7a 80839f8: 20e6 movs r0, #230 ; 0xe6 80839fa: f7d2 f9af bl 8055d5c LCD_DisplayString(246, LCD_LINE_7, "."); 80839fe: 4a47 ldr r2, [pc, #284] ; (8083b1c ) 8083a00: 217a movs r1, #122 ; 0x7a 8083a02: 20f6 movs r0, #246 ; 0xf6 8083a04: f7d2 f9aa bl 8055d5c LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8083a08: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8083a0c: b2db uxtb r3, r3 8083a0e: 461a mov r2, r3 8083a10: 4b40 ldr r3, [pc, #256] ; (8083b14 ) 8083a12: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083a16: 461a mov r2, r3 8083a18: 217a movs r1, #122 ; 0x7a 8083a1a: f44f 708b mov.w r0, #278 ; 0x116 8083a1e: f7d2 f99d bl 8055d5c LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8083a22: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8083a26: b2db uxtb r3, r3 8083a28: 461a mov r2, r3 8083a2a: 4b3a ldr r3, [pc, #232] ; (8083b14 ) 8083a2c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083a30: 461a mov r2, r3 8083a32: 217a movs r1, #122 ; 0x7a 8083a34: f44f 7093 mov.w r0, #294 ; 0x126 8083a38: f7d2 f990 bl 8055d5c if(menupos == D_Inner_IES) 8083a3c: f000 bdbf b.w 80845be } else if(menupos == D_Inner_IKS) 8083a40: 4b31 ldr r3, [pc, #196] ; (8083b08 ) 8083a42: 781b ldrb r3, [r3, #0] 8083a44: b2db uxtb r3, r3 8083a46: 2b1a cmp r3, #26 8083a48: d16a bne.n 8083b20 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083a4a: 4930 ldr r1, [pc, #192] ; (8083b0c ) 8083a4c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083a50: f7d1 fbdc bl 805520c if(blk) 8083a54: 4b2e ldr r3, [pc, #184] ; (8083b10 ) 8083a56: 681b ldr r3, [r3, #0] 8083a58: 2b00 cmp r3, #0 8083a5a: d00c beq.n 8083a76 LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8083a5c: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8083a60: b2db uxtb r3, r3 8083a62: 461a mov r2, r3 8083a64: 4b2b ldr r3, [pc, #172] ; (8083b14 ) 8083a66: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083a6a: 461a mov r2, r3 8083a6c: 217a movs r1, #122 ; 0x7a 8083a6e: f44f 708b mov.w r0, #278 ; 0x116 8083a72: f7d2 f973 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083a76: 4925 ldr r1, [pc, #148] ; (8083b0c ) 8083a78: 4827 ldr r0, [pc, #156] ; (8083b18 ) 8083a7a: f7d1 fbc7 bl 805520c LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8083a7e: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8083a82: b2db uxtb r3, r3 8083a84: 461a mov r2, r3 8083a86: 4b23 ldr r3, [pc, #140] ; (8083b14 ) 8083a88: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083a8c: 461a mov r2, r3 8083a8e: 217a movs r1, #122 ; 0x7a 8083a90: 20c6 movs r0, #198 ; 0xc6 8083a92: f7d2 f963 bl 8055d5c LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8083a96: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8083a9a: b2db uxtb r3, r3 8083a9c: 461a mov r2, r3 8083a9e: 4b1d ldr r3, [pc, #116] ; (8083b14 ) 8083aa0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083aa4: 461a mov r2, r3 8083aa6: 217a movs r1, #122 ; 0x7a 8083aa8: 20d6 movs r0, #214 ; 0xd6 8083aaa: f7d2 f957 bl 8055d5c LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8083aae: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8083ab2: b2db uxtb r3, r3 8083ab4: 461a mov r2, r3 8083ab6: 4b17 ldr r3, [pc, #92] ; (8083b14 ) 8083ab8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083abc: 461a mov r2, r3 8083abe: 217a movs r1, #122 ; 0x7a 8083ac0: 20e6 movs r0, #230 ; 0xe6 8083ac2: f7d2 f94b bl 8055d5c LCD_DisplayString(246, LCD_LINE_7, "."); 8083ac6: 4a15 ldr r2, [pc, #84] ; (8083b1c ) 8083ac8: 217a movs r1, #122 ; 0x7a 8083aca: 20f6 movs r0, #246 ; 0xf6 8083acc: f7d2 f946 bl 8055d5c LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8083ad0: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8083ad4: b2db uxtb r3, r3 8083ad6: 461a mov r2, r3 8083ad8: 4b0e ldr r3, [pc, #56] ; (8083b14 ) 8083ada: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083ade: 461a mov r2, r3 8083ae0: 217a movs r1, #122 ; 0x7a 8083ae2: f44f 7083 mov.w r0, #262 ; 0x106 8083ae6: f7d2 f939 bl 8055d5c LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8083aea: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8083aee: b2db uxtb r3, r3 8083af0: 461a mov r2, r3 8083af2: 4b08 ldr r3, [pc, #32] ; (8083b14 ) 8083af4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083af8: 461a mov r2, r3 8083afa: 217a movs r1, #122 ; 0x7a 8083afc: f44f 7093 mov.w r0, #294 ; 0x126 8083b00: f7d2 f92c bl 8055d5c if(menupos == D_Inner_IES) 8083b04: f000 bd5b b.w 80845be 8083b08: 20020070 .word 0x20020070 8083b0c: ff0a0f1f .word 0xff0a0f1f 8083b10: 200216ac .word 0x200216ac 8083b14: 2002096c .word 0x2002096c 8083b18: ffd8aa57 .word 0xffd8aa57 8083b1c: 080d6258 .word 0x080d6258 } else if(menupos == D_Inner_IKT) 8083b20: 4bcd ldr r3, [pc, #820] ; (8083e58 ) 8083b22: 781b ldrb r3, [r3, #0] 8083b24: b2db uxtb r3, r3 8083b26: 2b1b cmp r3, #27 8083b28: f040 8549 bne.w 80845be { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083b2c: 49cb ldr r1, [pc, #812] ; (8083e5c ) 8083b2e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083b32: f7d1 fb6b bl 805520c if(blk) 8083b36: 4bca ldr r3, [pc, #808] ; (8083e60 ) 8083b38: 681b ldr r3, [r3, #0] 8083b3a: 2b00 cmp r3, #0 8083b3c: d00c beq.n 8083b58 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8083b3e: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8083b42: b2db uxtb r3, r3 8083b44: 461a mov r2, r3 8083b46: 4bc7 ldr r3, [pc, #796] ; (8083e64 ) 8083b48: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083b4c: 461a mov r2, r3 8083b4e: 217a movs r1, #122 ; 0x7a 8083b50: f44f 7093 mov.w r0, #294 ; 0x126 8083b54: f7d2 f902 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083b58: 49c0 ldr r1, [pc, #768] ; (8083e5c ) 8083b5a: 48c3 ldr r0, [pc, #780] ; (8083e68 ) 8083b5c: f7d1 fb56 bl 805520c LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8083b60: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8083b64: b2db uxtb r3, r3 8083b66: 461a mov r2, r3 8083b68: 4bbe ldr r3, [pc, #760] ; (8083e64 ) 8083b6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083b6e: 461a mov r2, r3 8083b70: 217a movs r1, #122 ; 0x7a 8083b72: 20c6 movs r0, #198 ; 0xc6 8083b74: f7d2 f8f2 bl 8055d5c LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8083b78: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8083b7c: b2db uxtb r3, r3 8083b7e: 461a mov r2, r3 8083b80: 4bb8 ldr r3, [pc, #736] ; (8083e64 ) 8083b82: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083b86: 461a mov r2, r3 8083b88: 217a movs r1, #122 ; 0x7a 8083b8a: 20d6 movs r0, #214 ; 0xd6 8083b8c: f7d2 f8e6 bl 8055d5c LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8083b90: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8083b94: b2db uxtb r3, r3 8083b96: 461a mov r2, r3 8083b98: 4bb2 ldr r3, [pc, #712] ; (8083e64 ) 8083b9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083b9e: 461a mov r2, r3 8083ba0: 217a movs r1, #122 ; 0x7a 8083ba2: 20e6 movs r0, #230 ; 0xe6 8083ba4: f7d2 f8da bl 8055d5c LCD_DisplayString(246, LCD_LINE_7, "."); 8083ba8: 4ab0 ldr r2, [pc, #704] ; (8083e6c ) 8083baa: 217a movs r1, #122 ; 0x7a 8083bac: 20f6 movs r0, #246 ; 0xf6 8083bae: f7d2 f8d5 bl 8055d5c LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8083bb2: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8083bb6: b2db uxtb r3, r3 8083bb8: 461a mov r2, r3 8083bba: 4baa ldr r3, [pc, #680] ; (8083e64 ) 8083bbc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083bc0: 461a mov r2, r3 8083bc2: 217a movs r1, #122 ; 0x7a 8083bc4: f44f 7083 mov.w r0, #262 ; 0x106 8083bc8: f7d2 f8c8 bl 8055d5c LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8083bcc: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8083bd0: b2db uxtb r3, r3 8083bd2: 461a mov r2, r3 8083bd4: 4ba3 ldr r3, [pc, #652] ; (8083e64 ) 8083bd6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083bda: 461a mov r2, r3 8083bdc: 217a movs r1, #122 ; 0x7a 8083bde: f44f 708b mov.w r0, #278 ; 0x116 8083be2: f7d2 f8bb bl 8055d5c if(menupos == D_Inner_IES) 8083be6: f000 bcea b.w 80845be } } else if((menupos >= D_Angle_IES) && (menupos <= D_Angle_IKT)) 8083bea: 4b9b ldr r3, [pc, #620] ; (8083e58 ) 8083bec: 781b ldrb r3, [r3, #0] 8083bee: b2db uxtb r3, r3 8083bf0: 2b1b cmp r3, #27 8083bf2: f240 8267 bls.w 80840c4 8083bf6: 4b98 ldr r3, [pc, #608] ; (8083e58 ) 8083bf8: 781b ldrb r3, [r3, #0] 8083bfa: b2db uxtb r3, r3 8083bfc: 2b21 cmp r3, #33 ; 0x21 8083bfe: f200 8261 bhi.w 80840c4 { if(menupos == D_Angle_IES) 8083c02: 4b95 ldr r3, [pc, #596] ; (8083e58 ) 8083c04: 781b ldrb r3, [r3, #0] 8083c06: b2db uxtb r3, r3 8083c08: 2b1c cmp r3, #28 8083c0a: d15e bne.n 8083cca { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083c0c: 4993 ldr r1, [pc, #588] ; (8083e5c ) 8083c0e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083c12: f7d1 fafb bl 805520c if(blk) 8083c16: 4b92 ldr r3, [pc, #584] ; (8083e60 ) 8083c18: 681b ldr r3, [r3, #0] 8083c1a: 2b00 cmp r3, #0 8083c1c: d00b beq.n 8083c36 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 8083c1e: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 8083c22: b2db uxtb r3, r3 8083c24: 461a mov r2, r3 8083c26: 4b8f ldr r3, [pc, #572] ; (8083e64 ) 8083c28: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083c2c: 461a mov r2, r3 8083c2e: 218a movs r1, #138 ; 0x8a 8083c30: 20c6 movs r0, #198 ; 0xc6 8083c32: f7d2 f893 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083c36: 4989 ldr r1, [pc, #548] ; (8083e5c ) 8083c38: 488b ldr r0, [pc, #556] ; (8083e68 ) 8083c3a: f7d1 fae7 bl 805520c LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 8083c3e: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 8083c42: b2db uxtb r3, r3 8083c44: 461a mov r2, r3 8083c46: 4b87 ldr r3, [pc, #540] ; (8083e64 ) 8083c48: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083c4c: 461a mov r2, r3 8083c4e: 218a movs r1, #138 ; 0x8a 8083c50: 20d6 movs r0, #214 ; 0xd6 8083c52: f7d2 f883 bl 8055d5c LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 8083c56: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 8083c5a: b2db uxtb r3, r3 8083c5c: 461a mov r2, r3 8083c5e: 4b81 ldr r3, [pc, #516] ; (8083e64 ) 8083c60: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083c64: 461a mov r2, r3 8083c66: 218a movs r1, #138 ; 0x8a 8083c68: 20e6 movs r0, #230 ; 0xe6 8083c6a: f7d2 f877 bl 8055d5c LCD_DisplayString(246, LCD_LINE_8, "."); 8083c6e: 4a7f ldr r2, [pc, #508] ; (8083e6c ) 8083c70: 218a movs r1, #138 ; 0x8a 8083c72: 20f6 movs r0, #246 ; 0xf6 8083c74: f7d2 f872 bl 8055d5c LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 8083c78: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 8083c7c: b2db uxtb r3, r3 8083c7e: 461a mov r2, r3 8083c80: 4b78 ldr r3, [pc, #480] ; (8083e64 ) 8083c82: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083c86: 461a mov r2, r3 8083c88: 218a movs r1, #138 ; 0x8a 8083c8a: f44f 7083 mov.w r0, #262 ; 0x106 8083c8e: f7d2 f865 bl 8055d5c LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 8083c92: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 8083c96: b2db uxtb r3, r3 8083c98: 461a mov r2, r3 8083c9a: 4b72 ldr r3, [pc, #456] ; (8083e64 ) 8083c9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083ca0: 461a mov r2, r3 8083ca2: 218a movs r1, #138 ; 0x8a 8083ca4: f44f 708b mov.w r0, #278 ; 0x116 8083ca8: f7d2 f858 bl 8055d5c LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 8083cac: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 8083cb0: b2db uxtb r3, r3 8083cb2: 461a mov r2, r3 8083cb4: 4b6b ldr r3, [pc, #428] ; (8083e64 ) 8083cb6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083cba: 461a mov r2, r3 8083cbc: 218a movs r1, #138 ; 0x8a 8083cbe: f44f 7093 mov.w r0, #294 ; 0x126 8083cc2: f7d2 f84b bl 8055d5c if(menupos == D_Angle_IES) 8083cc6: f000 bc7c b.w 80845c2 } else if(menupos == D_Angle_IED) 8083cca: 4b63 ldr r3, [pc, #396] ; (8083e58 ) 8083ccc: 781b ldrb r3, [r3, #0] 8083cce: b2db uxtb r3, r3 8083cd0: 2b1d cmp r3, #29 8083cd2: d15e bne.n 8083d92 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083cd4: 4961 ldr r1, [pc, #388] ; (8083e5c ) 8083cd6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083cda: f7d1 fa97 bl 805520c if(blk) 8083cde: 4b60 ldr r3, [pc, #384] ; (8083e60 ) 8083ce0: 681b ldr r3, [r3, #0] 8083ce2: 2b00 cmp r3, #0 8083ce4: d00b beq.n 8083cfe LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 8083ce6: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 8083cea: b2db uxtb r3, r3 8083cec: 461a mov r2, r3 8083cee: 4b5d ldr r3, [pc, #372] ; (8083e64 ) 8083cf0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083cf4: 461a mov r2, r3 8083cf6: 218a movs r1, #138 ; 0x8a 8083cf8: 20d6 movs r0, #214 ; 0xd6 8083cfa: f7d2 f82f bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083cfe: 4957 ldr r1, [pc, #348] ; (8083e5c ) 8083d00: 4859 ldr r0, [pc, #356] ; (8083e68 ) 8083d02: f7d1 fa83 bl 805520c LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 8083d06: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 8083d0a: b2db uxtb r3, r3 8083d0c: 461a mov r2, r3 8083d0e: 4b55 ldr r3, [pc, #340] ; (8083e64 ) 8083d10: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083d14: 461a mov r2, r3 8083d16: 218a movs r1, #138 ; 0x8a 8083d18: 20c6 movs r0, #198 ; 0xc6 8083d1a: f7d2 f81f bl 8055d5c LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 8083d1e: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 8083d22: b2db uxtb r3, r3 8083d24: 461a mov r2, r3 8083d26: 4b4f ldr r3, [pc, #316] ; (8083e64 ) 8083d28: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083d2c: 461a mov r2, r3 8083d2e: 218a movs r1, #138 ; 0x8a 8083d30: 20e6 movs r0, #230 ; 0xe6 8083d32: f7d2 f813 bl 8055d5c LCD_DisplayString(246, LCD_LINE_8, "."); 8083d36: 4a4d ldr r2, [pc, #308] ; (8083e6c ) 8083d38: 218a movs r1, #138 ; 0x8a 8083d3a: 20f6 movs r0, #246 ; 0xf6 8083d3c: f7d2 f80e bl 8055d5c LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 8083d40: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 8083d44: b2db uxtb r3, r3 8083d46: 461a mov r2, r3 8083d48: 4b46 ldr r3, [pc, #280] ; (8083e64 ) 8083d4a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083d4e: 461a mov r2, r3 8083d50: 218a movs r1, #138 ; 0x8a 8083d52: f44f 7083 mov.w r0, #262 ; 0x106 8083d56: f7d2 f801 bl 8055d5c LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 8083d5a: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 8083d5e: b2db uxtb r3, r3 8083d60: 461a mov r2, r3 8083d62: 4b40 ldr r3, [pc, #256] ; (8083e64 ) 8083d64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083d68: 461a mov r2, r3 8083d6a: 218a movs r1, #138 ; 0x8a 8083d6c: f44f 708b mov.w r0, #278 ; 0x116 8083d70: f7d1 fff4 bl 8055d5c LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 8083d74: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 8083d78: b2db uxtb r3, r3 8083d7a: 461a mov r2, r3 8083d7c: 4b39 ldr r3, [pc, #228] ; (8083e64 ) 8083d7e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083d82: 461a mov r2, r3 8083d84: 218a movs r1, #138 ; 0x8a 8083d86: f44f 7093 mov.w r0, #294 ; 0x126 8083d8a: f7d1 ffe7 bl 8055d5c if(menupos == D_Angle_IES) 8083d8e: f000 bc18 b.w 80845c2 } else if(menupos == D_Angle_IEE) 8083d92: 4b31 ldr r3, [pc, #196] ; (8083e58 ) 8083d94: 781b ldrb r3, [r3, #0] 8083d96: b2db uxtb r3, r3 8083d98: 2b1e cmp r3, #30 8083d9a: d169 bne.n 8083e70 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083d9c: 492f ldr r1, [pc, #188] ; (8083e5c ) 8083d9e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083da2: f7d1 fa33 bl 805520c if(blk) 8083da6: 4b2e ldr r3, [pc, #184] ; (8083e60 ) 8083da8: 681b ldr r3, [r3, #0] 8083daa: 2b00 cmp r3, #0 8083dac: d00b beq.n 8083dc6 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 8083dae: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 8083db2: b2db uxtb r3, r3 8083db4: 461a mov r2, r3 8083db6: 4b2b ldr r3, [pc, #172] ; (8083e64 ) 8083db8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083dbc: 461a mov r2, r3 8083dbe: 218a movs r1, #138 ; 0x8a 8083dc0: 20e6 movs r0, #230 ; 0xe6 8083dc2: f7d1 ffcb bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083dc6: 4925 ldr r1, [pc, #148] ; (8083e5c ) 8083dc8: 4827 ldr r0, [pc, #156] ; (8083e68 ) 8083dca: f7d1 fa1f bl 805520c LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 8083dce: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 8083dd2: b2db uxtb r3, r3 8083dd4: 461a mov r2, r3 8083dd6: 4b23 ldr r3, [pc, #140] ; (8083e64 ) 8083dd8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083ddc: 461a mov r2, r3 8083dde: 218a movs r1, #138 ; 0x8a 8083de0: 20c6 movs r0, #198 ; 0xc6 8083de2: f7d1 ffbb bl 8055d5c LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 8083de6: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 8083dea: b2db uxtb r3, r3 8083dec: 461a mov r2, r3 8083dee: 4b1d ldr r3, [pc, #116] ; (8083e64 ) 8083df0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083df4: 461a mov r2, r3 8083df6: 218a movs r1, #138 ; 0x8a 8083df8: 20d6 movs r0, #214 ; 0xd6 8083dfa: f7d1 ffaf bl 8055d5c LCD_DisplayString(246, LCD_LINE_8, "."); 8083dfe: 4a1b ldr r2, [pc, #108] ; (8083e6c ) 8083e00: 218a movs r1, #138 ; 0x8a 8083e02: 20f6 movs r0, #246 ; 0xf6 8083e04: f7d1 ffaa bl 8055d5c LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 8083e08: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 8083e0c: b2db uxtb r3, r3 8083e0e: 461a mov r2, r3 8083e10: 4b14 ldr r3, [pc, #80] ; (8083e64 ) 8083e12: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083e16: 461a mov r2, r3 8083e18: 218a movs r1, #138 ; 0x8a 8083e1a: f44f 7083 mov.w r0, #262 ; 0x106 8083e1e: f7d1 ff9d bl 8055d5c LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 8083e22: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 8083e26: b2db uxtb r3, r3 8083e28: 461a mov r2, r3 8083e2a: 4b0e ldr r3, [pc, #56] ; (8083e64 ) 8083e2c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083e30: 461a mov r2, r3 8083e32: 218a movs r1, #138 ; 0x8a 8083e34: f44f 708b mov.w r0, #278 ; 0x116 8083e38: f7d1 ff90 bl 8055d5c LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 8083e3c: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 8083e40: b2db uxtb r3, r3 8083e42: 461a mov r2, r3 8083e44: 4b07 ldr r3, [pc, #28] ; (8083e64 ) 8083e46: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083e4a: 461a mov r2, r3 8083e4c: 218a movs r1, #138 ; 0x8a 8083e4e: f44f 7093 mov.w r0, #294 ; 0x126 8083e52: f7d1 ff83 bl 8055d5c if(menupos == D_Angle_IES) 8083e56: e3b4 b.n 80845c2 8083e58: 20020070 .word 0x20020070 8083e5c: ff0a0f1f .word 0xff0a0f1f 8083e60: 200216ac .word 0x200216ac 8083e64: 2002096c .word 0x2002096c 8083e68: ffd8aa57 .word 0xffd8aa57 8083e6c: 080d6258 .word 0x080d6258 } else if(menupos == D_Angle_IKD) 8083e70: 4bcc ldr r3, [pc, #816] ; (80841a4 ) 8083e72: 781b ldrb r3, [r3, #0] 8083e74: b2db uxtb r3, r3 8083e76: 2b1f cmp r3, #31 8083e78: d15d bne.n 8083f36 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083e7a: 49cb ldr r1, [pc, #812] ; (80841a8 ) 8083e7c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083e80: f7d1 f9c4 bl 805520c if(blk) 8083e84: 4bc9 ldr r3, [pc, #804] ; (80841ac ) 8083e86: 681b ldr r3, [r3, #0] 8083e88: 2b00 cmp r3, #0 8083e8a: d00c beq.n 8083ea6 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 8083e8c: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 8083e90: b2db uxtb r3, r3 8083e92: 461a mov r2, r3 8083e94: 4bc6 ldr r3, [pc, #792] ; (80841b0 ) 8083e96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083e9a: 461a mov r2, r3 8083e9c: 218a movs r1, #138 ; 0x8a 8083e9e: f44f 7083 mov.w r0, #262 ; 0x106 8083ea2: f7d1 ff5b bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083ea6: 49c0 ldr r1, [pc, #768] ; (80841a8 ) 8083ea8: 48c2 ldr r0, [pc, #776] ; (80841b4 ) 8083eaa: f7d1 f9af bl 805520c LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 8083eae: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 8083eb2: b2db uxtb r3, r3 8083eb4: 461a mov r2, r3 8083eb6: 4bbe ldr r3, [pc, #760] ; (80841b0 ) 8083eb8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083ebc: 461a mov r2, r3 8083ebe: 218a movs r1, #138 ; 0x8a 8083ec0: 20c6 movs r0, #198 ; 0xc6 8083ec2: f7d1 ff4b bl 8055d5c LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 8083ec6: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 8083eca: b2db uxtb r3, r3 8083ecc: 461a mov r2, r3 8083ece: 4bb8 ldr r3, [pc, #736] ; (80841b0 ) 8083ed0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083ed4: 461a mov r2, r3 8083ed6: 218a movs r1, #138 ; 0x8a 8083ed8: 20d6 movs r0, #214 ; 0xd6 8083eda: f7d1 ff3f bl 8055d5c LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 8083ede: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 8083ee2: b2db uxtb r3, r3 8083ee4: 461a mov r2, r3 8083ee6: 4bb2 ldr r3, [pc, #712] ; (80841b0 ) 8083ee8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083eec: 461a mov r2, r3 8083eee: 218a movs r1, #138 ; 0x8a 8083ef0: 20e6 movs r0, #230 ; 0xe6 8083ef2: f7d1 ff33 bl 8055d5c LCD_DisplayString(246, LCD_LINE_8, "."); 8083ef6: 4ab0 ldr r2, [pc, #704] ; (80841b8 ) 8083ef8: 218a movs r1, #138 ; 0x8a 8083efa: 20f6 movs r0, #246 ; 0xf6 8083efc: f7d1 ff2e bl 8055d5c LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 8083f00: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 8083f04: b2db uxtb r3, r3 8083f06: 461a mov r2, r3 8083f08: 4ba9 ldr r3, [pc, #676] ; (80841b0 ) 8083f0a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083f0e: 461a mov r2, r3 8083f10: 218a movs r1, #138 ; 0x8a 8083f12: f44f 708b mov.w r0, #278 ; 0x116 8083f16: f7d1 ff21 bl 8055d5c LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 8083f1a: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 8083f1e: b2db uxtb r3, r3 8083f20: 461a mov r2, r3 8083f22: 4ba3 ldr r3, [pc, #652] ; (80841b0 ) 8083f24: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083f28: 461a mov r2, r3 8083f2a: 218a movs r1, #138 ; 0x8a 8083f2c: f44f 7093 mov.w r0, #294 ; 0x126 8083f30: f7d1 ff14 bl 8055d5c if(menupos == D_Angle_IES) 8083f34: e345 b.n 80845c2 } else if(menupos == D_Angle_IKS) 8083f36: 4b9b ldr r3, [pc, #620] ; (80841a4 ) 8083f38: 781b ldrb r3, [r3, #0] 8083f3a: b2db uxtb r3, r3 8083f3c: 2b20 cmp r3, #32 8083f3e: d15d bne.n 8083ffc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083f40: 4999 ldr r1, [pc, #612] ; (80841a8 ) 8083f42: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083f46: f7d1 f961 bl 805520c if(blk) 8083f4a: 4b98 ldr r3, [pc, #608] ; (80841ac ) 8083f4c: 681b ldr r3, [r3, #0] 8083f4e: 2b00 cmp r3, #0 8083f50: d00c beq.n 8083f6c LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 8083f52: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 8083f56: b2db uxtb r3, r3 8083f58: 461a mov r2, r3 8083f5a: 4b95 ldr r3, [pc, #596] ; (80841b0 ) 8083f5c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083f60: 461a mov r2, r3 8083f62: 218a movs r1, #138 ; 0x8a 8083f64: f44f 708b mov.w r0, #278 ; 0x116 8083f68: f7d1 fef8 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083f6c: 498e ldr r1, [pc, #568] ; (80841a8 ) 8083f6e: 4891 ldr r0, [pc, #580] ; (80841b4 ) 8083f70: f7d1 f94c bl 805520c LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 8083f74: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 8083f78: b2db uxtb r3, r3 8083f7a: 461a mov r2, r3 8083f7c: 4b8c ldr r3, [pc, #560] ; (80841b0 ) 8083f7e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083f82: 461a mov r2, r3 8083f84: 218a movs r1, #138 ; 0x8a 8083f86: 20c6 movs r0, #198 ; 0xc6 8083f88: f7d1 fee8 bl 8055d5c LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 8083f8c: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 8083f90: b2db uxtb r3, r3 8083f92: 461a mov r2, r3 8083f94: 4b86 ldr r3, [pc, #536] ; (80841b0 ) 8083f96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083f9a: 461a mov r2, r3 8083f9c: 218a movs r1, #138 ; 0x8a 8083f9e: 20d6 movs r0, #214 ; 0xd6 8083fa0: f7d1 fedc bl 8055d5c LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 8083fa4: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 8083fa8: b2db uxtb r3, r3 8083faa: 461a mov r2, r3 8083fac: 4b80 ldr r3, [pc, #512] ; (80841b0 ) 8083fae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083fb2: 461a mov r2, r3 8083fb4: 218a movs r1, #138 ; 0x8a 8083fb6: 20e6 movs r0, #230 ; 0xe6 8083fb8: f7d1 fed0 bl 8055d5c LCD_DisplayString(246, LCD_LINE_8, "."); 8083fbc: 4a7e ldr r2, [pc, #504] ; (80841b8 ) 8083fbe: 218a movs r1, #138 ; 0x8a 8083fc0: 20f6 movs r0, #246 ; 0xf6 8083fc2: f7d1 fecb bl 8055d5c LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 8083fc6: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 8083fca: b2db uxtb r3, r3 8083fcc: 461a mov r2, r3 8083fce: 4b78 ldr r3, [pc, #480] ; (80841b0 ) 8083fd0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083fd4: 461a mov r2, r3 8083fd6: 218a movs r1, #138 ; 0x8a 8083fd8: f44f 7083 mov.w r0, #262 ; 0x106 8083fdc: f7d1 febe bl 8055d5c LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 8083fe0: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 8083fe4: b2db uxtb r3, r3 8083fe6: 461a mov r2, r3 8083fe8: 4b71 ldr r3, [pc, #452] ; (80841b0 ) 8083fea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083fee: 461a mov r2, r3 8083ff0: 218a movs r1, #138 ; 0x8a 8083ff2: f44f 7093 mov.w r0, #294 ; 0x126 8083ff6: f7d1 feb1 bl 8055d5c if(menupos == D_Angle_IES) 8083ffa: e2e2 b.n 80845c2 } else if(menupos == D_Angle_IKT) 8083ffc: 4b69 ldr r3, [pc, #420] ; (80841a4 ) 8083ffe: 781b ldrb r3, [r3, #0] 8084000: b2db uxtb r3, r3 8084002: 2b21 cmp r3, #33 ; 0x21 8084004: f040 82dd bne.w 80845c2 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8084008: 4967 ldr r1, [pc, #412] ; (80841a8 ) 808400a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808400e: f7d1 f8fd bl 805520c if(blk) 8084012: 4b66 ldr r3, [pc, #408] ; (80841ac ) 8084014: 681b ldr r3, [r3, #0] 8084016: 2b00 cmp r3, #0 8084018: d00c beq.n 8084034 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 808401a: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 808401e: b2db uxtb r3, r3 8084020: 461a mov r2, r3 8084022: 4b63 ldr r3, [pc, #396] ; (80841b0 ) 8084024: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084028: 461a mov r2, r3 808402a: 218a movs r1, #138 ; 0x8a 808402c: f44f 7093 mov.w r0, #294 ; 0x126 8084030: f7d1 fe94 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084034: 495c ldr r1, [pc, #368] ; (80841a8 ) 8084036: 485f ldr r0, [pc, #380] ; (80841b4 ) 8084038: f7d1 f8e8 bl 805520c LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 808403c: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 8084040: b2db uxtb r3, r3 8084042: 461a mov r2, r3 8084044: 4b5a ldr r3, [pc, #360] ; (80841b0 ) 8084046: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808404a: 461a mov r2, r3 808404c: 218a movs r1, #138 ; 0x8a 808404e: 20c6 movs r0, #198 ; 0xc6 8084050: f7d1 fe84 bl 8055d5c LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 8084054: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 8084058: b2db uxtb r3, r3 808405a: 461a mov r2, r3 808405c: 4b54 ldr r3, [pc, #336] ; (80841b0 ) 808405e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084062: 461a mov r2, r3 8084064: 218a movs r1, #138 ; 0x8a 8084066: 20d6 movs r0, #214 ; 0xd6 8084068: f7d1 fe78 bl 8055d5c LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 808406c: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 8084070: b2db uxtb r3, r3 8084072: 461a mov r2, r3 8084074: 4b4e ldr r3, [pc, #312] ; (80841b0 ) 8084076: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808407a: 461a mov r2, r3 808407c: 218a movs r1, #138 ; 0x8a 808407e: 20e6 movs r0, #230 ; 0xe6 8084080: f7d1 fe6c bl 8055d5c LCD_DisplayString(246, LCD_LINE_8, "."); 8084084: 4a4c ldr r2, [pc, #304] ; (80841b8 ) 8084086: 218a movs r1, #138 ; 0x8a 8084088: 20f6 movs r0, #246 ; 0xf6 808408a: f7d1 fe67 bl 8055d5c LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 808408e: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 8084092: b2db uxtb r3, r3 8084094: 461a mov r2, r3 8084096: 4b46 ldr r3, [pc, #280] ; (80841b0 ) 8084098: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808409c: 461a mov r2, r3 808409e: 218a movs r1, #138 ; 0x8a 80840a0: f44f 7083 mov.w r0, #262 ; 0x106 80840a4: f7d1 fe5a bl 8055d5c LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 80840a8: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 80840ac: b2db uxtb r3, r3 80840ae: 461a mov r2, r3 80840b0: 4b3f ldr r3, [pc, #252] ; (80841b0 ) 80840b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80840b6: 461a mov r2, r3 80840b8: 218a movs r1, #138 ; 0x8a 80840ba: f44f 708b mov.w r0, #278 ; 0x116 80840be: f7d1 fe4d bl 8055d5c if(menupos == D_Angle_IES) 80840c2: e27e b.n 80845c2 } } else if((menupos >= RollMax_IDT) && (menupos <= RollMax_IKD)) 80840c4: 4b37 ldr r3, [pc, #220] ; (80841a4 ) 80840c6: 781b ldrb r3, [r3, #0] 80840c8: b2db uxtb r3, r3 80840ca: 2b25 cmp r3, #37 ; 0x25 80840cc: f240 827a bls.w 80845c4 80840d0: 4b34 ldr r3, [pc, #208] ; (80841a4 ) 80840d2: 781b ldrb r3, [r3, #0] 80840d4: b2db uxtb r3, r3 80840d6: 2b2b cmp r3, #43 ; 0x2b 80840d8: f200 8274 bhi.w 80845c4 { if(menupos == RollMax_IDT) 80840dc: 4b31 ldr r3, [pc, #196] ; (80841a4 ) 80840de: 781b ldrb r3, [r3, #0] 80840e0: b2db uxtb r3, r3 80840e2: 2b26 cmp r3, #38 ; 0x26 80840e4: d16a bne.n 80841bc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80840e6: 4930 ldr r1, [pc, #192] ; (80841a8 ) 80840e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80840ec: f7d1 f88e bl 805520c if(blk) 80840f0: 4b2e ldr r3, [pc, #184] ; (80841ac ) 80840f2: 681b ldr r3, [r3, #0] 80840f4: 2b00 cmp r3, #0 80840f6: d00b beq.n 8084110 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 80840f8: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80840fc: b2db uxtb r3, r3 80840fe: 461a mov r2, r3 8084100: 4b2b ldr r3, [pc, #172] ; (80841b0 ) 8084102: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084106: 461a mov r2, r3 8084108: 21ba movs r1, #186 ; 0xba 808410a: 20c6 movs r0, #198 ; 0xc6 808410c: f7d1 fe26 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084110: 4925 ldr r1, [pc, #148] ; (80841a8 ) 8084112: 4828 ldr r0, [pc, #160] ; (80841b4 ) 8084114: f7d1 f87a bl 805520c LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8084118: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808411c: b2db uxtb r3, r3 808411e: 461a mov r2, r3 8084120: 4b23 ldr r3, [pc, #140] ; (80841b0 ) 8084122: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084126: 461a mov r2, r3 8084128: 21ba movs r1, #186 ; 0xba 808412a: 20d6 movs r0, #214 ; 0xd6 808412c: f7d1 fe16 bl 8055d5c LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 8084130: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8084134: b2db uxtb r3, r3 8084136: 461a mov r2, r3 8084138: 4b1d ldr r3, [pc, #116] ; (80841b0 ) 808413a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808413e: 461a mov r2, r3 8084140: 21ba movs r1, #186 ; 0xba 8084142: 20e6 movs r0, #230 ; 0xe6 8084144: f7d1 fe0a bl 8055d5c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8084148: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808414c: b2db uxtb r3, r3 808414e: 461a mov r2, r3 8084150: 4b17 ldr r3, [pc, #92] ; (80841b0 ) 8084152: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084156: 461a mov r2, r3 8084158: 21ba movs r1, #186 ; 0xba 808415a: 20f6 movs r0, #246 ; 0xf6 808415c: f7d1 fdfe bl 8055d5c LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8084160: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8084164: b2db uxtb r3, r3 8084166: 461a mov r2, r3 8084168: 4b11 ldr r3, [pc, #68] ; (80841b0 ) 808416a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808416e: 461a mov r2, r3 8084170: 21ba movs r1, #186 ; 0xba 8084172: f44f 7083 mov.w r0, #262 ; 0x106 8084176: f7d1 fdf1 bl 8055d5c LCD_DisplayString(278, LCD_LINE_11, "."); 808417a: 4a0f ldr r2, [pc, #60] ; (80841b8 ) 808417c: 21ba movs r1, #186 ; 0xba 808417e: f44f 708b mov.w r0, #278 ; 0x116 8084182: f7d1 fdeb bl 8055d5c LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 8084186: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808418a: b2db uxtb r3, r3 808418c: 461a mov r2, r3 808418e: 4b08 ldr r3, [pc, #32] ; (80841b0 ) 8084190: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084194: 461a mov r2, r3 8084196: 21ba movs r1, #186 ; 0xba 8084198: f44f 7093 mov.w r0, #294 ; 0x126 808419c: f7d1 fdde bl 8055d5c 80841a0: e210 b.n 80845c4 80841a2: bf00 nop 80841a4: 20020070 .word 0x20020070 80841a8: ff0a0f1f .word 0xff0a0f1f 80841ac: 200216ac .word 0x200216ac 80841b0: 2002096c .word 0x2002096c 80841b4: ffd8aa57 .word 0xffd8aa57 80841b8: 080d6258 .word 0x080d6258 } else if(menupos == RollMax_IET) 80841bc: 4bc5 ldr r3, [pc, #788] ; (80844d4 ) 80841be: 781b ldrb r3, [r3, #0] 80841c0: b2db uxtb r3, r3 80841c2: 2b27 cmp r3, #39 ; 0x27 80841c4: d15d bne.n 8084282 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80841c6: 49c4 ldr r1, [pc, #784] ; (80844d8 ) 80841c8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80841cc: f7d1 f81e bl 805520c if(blk) 80841d0: 4bc2 ldr r3, [pc, #776] ; (80844dc ) 80841d2: 681b ldr r3, [r3, #0] 80841d4: 2b00 cmp r3, #0 80841d6: d00b beq.n 80841f0 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 80841d8: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80841dc: b2db uxtb r3, r3 80841de: 461a mov r2, r3 80841e0: 4bbf ldr r3, [pc, #764] ; (80844e0 ) 80841e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80841e6: 461a mov r2, r3 80841e8: 21ba movs r1, #186 ; 0xba 80841ea: 20d6 movs r0, #214 ; 0xd6 80841ec: f7d1 fdb6 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80841f0: 49b9 ldr r1, [pc, #740] ; (80844d8 ) 80841f2: 48bc ldr r0, [pc, #752] ; (80844e4 ) 80841f4: f7d1 f80a bl 805520c LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 80841f8: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80841fc: b2db uxtb r3, r3 80841fe: 461a mov r2, r3 8084200: 4bb7 ldr r3, [pc, #732] ; (80844e0 ) 8084202: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084206: 461a mov r2, r3 8084208: 21ba movs r1, #186 ; 0xba 808420a: 20c6 movs r0, #198 ; 0xc6 808420c: f7d1 fda6 bl 8055d5c LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 8084210: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8084214: b2db uxtb r3, r3 8084216: 461a mov r2, r3 8084218: 4bb1 ldr r3, [pc, #708] ; (80844e0 ) 808421a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808421e: 461a mov r2, r3 8084220: 21ba movs r1, #186 ; 0xba 8084222: 20e6 movs r0, #230 ; 0xe6 8084224: f7d1 fd9a bl 8055d5c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8084228: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808422c: b2db uxtb r3, r3 808422e: 461a mov r2, r3 8084230: 4bab ldr r3, [pc, #684] ; (80844e0 ) 8084232: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084236: 461a mov r2, r3 8084238: 21ba movs r1, #186 ; 0xba 808423a: 20f6 movs r0, #246 ; 0xf6 808423c: f7d1 fd8e bl 8055d5c LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8084240: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8084244: b2db uxtb r3, r3 8084246: 461a mov r2, r3 8084248: 4ba5 ldr r3, [pc, #660] ; (80844e0 ) 808424a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808424e: 461a mov r2, r3 8084250: 21ba movs r1, #186 ; 0xba 8084252: f44f 7083 mov.w r0, #262 ; 0x106 8084256: f7d1 fd81 bl 8055d5c LCD_DisplayString(278, LCD_LINE_11, "."); 808425a: 4aa3 ldr r2, [pc, #652] ; (80844e8 ) 808425c: 21ba movs r1, #186 ; 0xba 808425e: f44f 708b mov.w r0, #278 ; 0x116 8084262: f7d1 fd7b bl 8055d5c LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 8084266: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808426a: b2db uxtb r3, r3 808426c: 461a mov r2, r3 808426e: 4b9c ldr r3, [pc, #624] ; (80844e0 ) 8084270: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084274: 461a mov r2, r3 8084276: 21ba movs r1, #186 ; 0xba 8084278: f44f 7093 mov.w r0, #294 ; 0x126 808427c: f7d1 fd6e bl 8055d5c 8084280: e1a0 b.n 80845c4 } else if(menupos == RollMax_IES) 8084282: 4b94 ldr r3, [pc, #592] ; (80844d4 ) 8084284: 781b ldrb r3, [r3, #0] 8084286: b2db uxtb r3, r3 8084288: 2b28 cmp r3, #40 ; 0x28 808428a: d15d bne.n 8084348 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808428c: 4992 ldr r1, [pc, #584] ; (80844d8 ) 808428e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8084292: f7d0 ffbb bl 805520c if(blk) 8084296: 4b91 ldr r3, [pc, #580] ; (80844dc ) 8084298: 681b ldr r3, [r3, #0] 808429a: 2b00 cmp r3, #0 808429c: d00b beq.n 80842b6 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 808429e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80842a2: b2db uxtb r3, r3 80842a4: 461a mov r2, r3 80842a6: 4b8e ldr r3, [pc, #568] ; (80844e0 ) 80842a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80842ac: 461a mov r2, r3 80842ae: 21ba movs r1, #186 ; 0xba 80842b0: 20e6 movs r0, #230 ; 0xe6 80842b2: f7d1 fd53 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80842b6: 4988 ldr r1, [pc, #544] ; (80844d8 ) 80842b8: 488a ldr r0, [pc, #552] ; (80844e4 ) 80842ba: f7d0 ffa7 bl 805520c LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 80842be: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80842c2: b2db uxtb r3, r3 80842c4: 461a mov r2, r3 80842c6: 4b86 ldr r3, [pc, #536] ; (80844e0 ) 80842c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80842cc: 461a mov r2, r3 80842ce: 21ba movs r1, #186 ; 0xba 80842d0: 20c6 movs r0, #198 ; 0xc6 80842d2: f7d1 fd43 bl 8055d5c LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 80842d6: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80842da: b2db uxtb r3, r3 80842dc: 461a mov r2, r3 80842de: 4b80 ldr r3, [pc, #512] ; (80844e0 ) 80842e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80842e4: 461a mov r2, r3 80842e6: 21ba movs r1, #186 ; 0xba 80842e8: 20d6 movs r0, #214 ; 0xd6 80842ea: f7d1 fd37 bl 8055d5c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 80842ee: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80842f2: b2db uxtb r3, r3 80842f4: 461a mov r2, r3 80842f6: 4b7a ldr r3, [pc, #488] ; (80844e0 ) 80842f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80842fc: 461a mov r2, r3 80842fe: 21ba movs r1, #186 ; 0xba 8084300: 20f6 movs r0, #246 ; 0xf6 8084302: f7d1 fd2b bl 8055d5c LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8084306: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808430a: b2db uxtb r3, r3 808430c: 461a mov r2, r3 808430e: 4b74 ldr r3, [pc, #464] ; (80844e0 ) 8084310: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084314: 461a mov r2, r3 8084316: 21ba movs r1, #186 ; 0xba 8084318: f44f 7083 mov.w r0, #262 ; 0x106 808431c: f7d1 fd1e bl 8055d5c LCD_DisplayString(278, LCD_LINE_11, "."); 8084320: 4a71 ldr r2, [pc, #452] ; (80844e8 ) 8084322: 21ba movs r1, #186 ; 0xba 8084324: f44f 708b mov.w r0, #278 ; 0x116 8084328: f7d1 fd18 bl 8055d5c LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 808432c: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8084330: b2db uxtb r3, r3 8084332: 461a mov r2, r3 8084334: 4b6a ldr r3, [pc, #424] ; (80844e0 ) 8084336: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808433a: 461a mov r2, r3 808433c: 21ba movs r1, #186 ; 0xba 808433e: f44f 7093 mov.w r0, #294 ; 0x126 8084342: f7d1 fd0b bl 8055d5c 8084346: e13d b.n 80845c4 } else if(menupos == RollMax_IED) 8084348: 4b62 ldr r3, [pc, #392] ; (80844d4 ) 808434a: 781b ldrb r3, [r3, #0] 808434c: b2db uxtb r3, r3 808434e: 2b29 cmp r3, #41 ; 0x29 8084350: d15d bne.n 808440e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8084352: 4961 ldr r1, [pc, #388] ; (80844d8 ) 8084354: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8084358: f7d0 ff58 bl 805520c if(blk) 808435c: 4b5f ldr r3, [pc, #380] ; (80844dc ) 808435e: 681b ldr r3, [r3, #0] 8084360: 2b00 cmp r3, #0 8084362: d00b beq.n 808437c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8084364: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8084368: b2db uxtb r3, r3 808436a: 461a mov r2, r3 808436c: 4b5c ldr r3, [pc, #368] ; (80844e0 ) 808436e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084372: 461a mov r2, r3 8084374: 21ba movs r1, #186 ; 0xba 8084376: 20f6 movs r0, #246 ; 0xf6 8084378: f7d1 fcf0 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808437c: 4956 ldr r1, [pc, #344] ; (80844d8 ) 808437e: 4859 ldr r0, [pc, #356] ; (80844e4 ) 8084380: f7d0 ff44 bl 805520c LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 8084384: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8084388: b2db uxtb r3, r3 808438a: 461a mov r2, r3 808438c: 4b54 ldr r3, [pc, #336] ; (80844e0 ) 808438e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084392: 461a mov r2, r3 8084394: 21ba movs r1, #186 ; 0xba 8084396: 20c6 movs r0, #198 ; 0xc6 8084398: f7d1 fce0 bl 8055d5c LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 808439c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80843a0: b2db uxtb r3, r3 80843a2: 461a mov r2, r3 80843a4: 4b4e ldr r3, [pc, #312] ; (80844e0 ) 80843a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80843aa: 461a mov r2, r3 80843ac: 21ba movs r1, #186 ; 0xba 80843ae: 20d6 movs r0, #214 ; 0xd6 80843b0: f7d1 fcd4 bl 8055d5c LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 80843b4: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80843b8: b2db uxtb r3, r3 80843ba: 461a mov r2, r3 80843bc: 4b48 ldr r3, [pc, #288] ; (80844e0 ) 80843be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80843c2: 461a mov r2, r3 80843c4: 21ba movs r1, #186 ; 0xba 80843c6: 20e6 movs r0, #230 ; 0xe6 80843c8: f7d1 fcc8 bl 8055d5c LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 80843cc: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80843d0: b2db uxtb r3, r3 80843d2: 461a mov r2, r3 80843d4: 4b42 ldr r3, [pc, #264] ; (80844e0 ) 80843d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80843da: 461a mov r2, r3 80843dc: 21ba movs r1, #186 ; 0xba 80843de: f44f 7083 mov.w r0, #262 ; 0x106 80843e2: f7d1 fcbb bl 8055d5c LCD_DisplayString(278, LCD_LINE_11, "."); 80843e6: 4a40 ldr r2, [pc, #256] ; (80844e8 ) 80843e8: 21ba movs r1, #186 ; 0xba 80843ea: f44f 708b mov.w r0, #278 ; 0x116 80843ee: f7d1 fcb5 bl 8055d5c LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 80843f2: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80843f6: b2db uxtb r3, r3 80843f8: 461a mov r2, r3 80843fa: 4b39 ldr r3, [pc, #228] ; (80844e0 ) 80843fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084400: 461a mov r2, r3 8084402: 21ba movs r1, #186 ; 0xba 8084404: f44f 7093 mov.w r0, #294 ; 0x126 8084408: f7d1 fca8 bl 8055d5c 808440c: e0da b.n 80845c4 } else if(menupos == RollMax_IEE) 808440e: 4b31 ldr r3, [pc, #196] ; (80844d4 ) 8084410: 781b ldrb r3, [r3, #0] 8084412: b2db uxtb r3, r3 8084414: 2b2a cmp r3, #42 ; 0x2a 8084416: d169 bne.n 80844ec { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8084418: 492f ldr r1, [pc, #188] ; (80844d8 ) 808441a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808441e: f7d0 fef5 bl 805520c if(blk) 8084422: 4b2e ldr r3, [pc, #184] ; (80844dc ) 8084424: 681b ldr r3, [r3, #0] 8084426: 2b00 cmp r3, #0 8084428: d00c beq.n 8084444 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 808442a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808442e: b2db uxtb r3, r3 8084430: 461a mov r2, r3 8084432: 4b2b ldr r3, [pc, #172] ; (80844e0 ) 8084434: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084438: 461a mov r2, r3 808443a: 21ba movs r1, #186 ; 0xba 808443c: f44f 7083 mov.w r0, #262 ; 0x106 8084440: f7d1 fc8c bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084444: 4924 ldr r1, [pc, #144] ; (80844d8 ) 8084446: 4827 ldr r0, [pc, #156] ; (80844e4 ) 8084448: f7d0 fee0 bl 805520c LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 808444c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8084450: b2db uxtb r3, r3 8084452: 461a mov r2, r3 8084454: 4b22 ldr r3, [pc, #136] ; (80844e0 ) 8084456: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808445a: 461a mov r2, r3 808445c: 21ba movs r1, #186 ; 0xba 808445e: 20c6 movs r0, #198 ; 0xc6 8084460: f7d1 fc7c bl 8055d5c LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8084464: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8084468: b2db uxtb r3, r3 808446a: 461a mov r2, r3 808446c: 4b1c ldr r3, [pc, #112] ; (80844e0 ) 808446e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084472: 461a mov r2, r3 8084474: 21ba movs r1, #186 ; 0xba 8084476: 20d6 movs r0, #214 ; 0xd6 8084478: f7d1 fc70 bl 8055d5c LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 808447c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8084480: b2db uxtb r3, r3 8084482: 461a mov r2, r3 8084484: 4b16 ldr r3, [pc, #88] ; (80844e0 ) 8084486: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808448a: 461a mov r2, r3 808448c: 21ba movs r1, #186 ; 0xba 808448e: 20e6 movs r0, #230 ; 0xe6 8084490: f7d1 fc64 bl 8055d5c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8084494: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8084498: b2db uxtb r3, r3 808449a: 461a mov r2, r3 808449c: 4b10 ldr r3, [pc, #64] ; (80844e0 ) 808449e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80844a2: 461a mov r2, r3 80844a4: 21ba movs r1, #186 ; 0xba 80844a6: 20f6 movs r0, #246 ; 0xf6 80844a8: f7d1 fc58 bl 8055d5c LCD_DisplayString(278, LCD_LINE_11, "."); 80844ac: 4a0e ldr r2, [pc, #56] ; (80844e8 ) 80844ae: 21ba movs r1, #186 ; 0xba 80844b0: f44f 708b mov.w r0, #278 ; 0x116 80844b4: f7d1 fc52 bl 8055d5c LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 80844b8: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80844bc: b2db uxtb r3, r3 80844be: 461a mov r2, r3 80844c0: 4b07 ldr r3, [pc, #28] ; (80844e0 ) 80844c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80844c6: 461a mov r2, r3 80844c8: 21ba movs r1, #186 ; 0xba 80844ca: f44f 7093 mov.w r0, #294 ; 0x126 80844ce: f7d1 fc45 bl 8055d5c 80844d2: e077 b.n 80845c4 80844d4: 20020070 .word 0x20020070 80844d8: ff0a0f1f .word 0xff0a0f1f 80844dc: 200216ac .word 0x200216ac 80844e0: 2002096c .word 0x2002096c 80844e4: ffd8aa57 .word 0xffd8aa57 80844e8: 080d6258 .word 0x080d6258 } else if(menupos == RollMax_IKD) 80844ec: 4b72 ldr r3, [pc, #456] ; (80846b8 ) 80844ee: 781b ldrb r3, [r3, #0] 80844f0: b2db uxtb r3, r3 80844f2: 2b2b cmp r3, #43 ; 0x2b 80844f4: d166 bne.n 80845c4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80844f6: 4971 ldr r1, [pc, #452] ; (80846bc ) 80844f8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80844fc: f7d0 fe86 bl 805520c if(blk) 8084500: 4b6f ldr r3, [pc, #444] ; (80846c0 ) 8084502: 681b ldr r3, [r3, #0] 8084504: 2b00 cmp r3, #0 8084506: d00c beq.n 8084522 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 8084508: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808450c: b2db uxtb r3, r3 808450e: 461a mov r2, r3 8084510: 4b6c ldr r3, [pc, #432] ; (80846c4 ) 8084512: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084516: 461a mov r2, r3 8084518: 21ba movs r1, #186 ; 0xba 808451a: f44f 7093 mov.w r0, #294 ; 0x126 808451e: f7d1 fc1d bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084522: 4966 ldr r1, [pc, #408] ; (80846bc ) 8084524: 4868 ldr r0, [pc, #416] ; (80846c8 ) 8084526: f7d0 fe71 bl 805520c LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 808452a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808452e: b2db uxtb r3, r3 8084530: 461a mov r2, r3 8084532: 4b64 ldr r3, [pc, #400] ; (80846c4 ) 8084534: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084538: 461a mov r2, r3 808453a: 21ba movs r1, #186 ; 0xba 808453c: 20c6 movs r0, #198 ; 0xc6 808453e: f7d1 fc0d bl 8055d5c LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8084542: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8084546: b2db uxtb r3, r3 8084548: 461a mov r2, r3 808454a: 4b5e ldr r3, [pc, #376] ; (80846c4 ) 808454c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084550: 461a mov r2, r3 8084552: 21ba movs r1, #186 ; 0xba 8084554: 20d6 movs r0, #214 ; 0xd6 8084556: f7d1 fc01 bl 8055d5c LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 808455a: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808455e: b2db uxtb r3, r3 8084560: 461a mov r2, r3 8084562: 4b58 ldr r3, [pc, #352] ; (80846c4 ) 8084564: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084568: 461a mov r2, r3 808456a: 21ba movs r1, #186 ; 0xba 808456c: 20e6 movs r0, #230 ; 0xe6 808456e: f7d1 fbf5 bl 8055d5c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8084572: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8084576: b2db uxtb r3, r3 8084578: 461a mov r2, r3 808457a: 4b52 ldr r3, [pc, #328] ; (80846c4 ) 808457c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084580: 461a mov r2, r3 8084582: 21ba movs r1, #186 ; 0xba 8084584: 20f6 movs r0, #246 ; 0xf6 8084586: f7d1 fbe9 bl 8055d5c LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 808458a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808458e: b2db uxtb r3, r3 8084590: 461a mov r2, r3 8084592: 4b4c ldr r3, [pc, #304] ; (80846c4 ) 8084594: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084598: 461a mov r2, r3 808459a: 21ba movs r1, #186 ; 0xba 808459c: f44f 7083 mov.w r0, #262 ; 0x106 80845a0: f7d1 fbdc bl 8055d5c LCD_DisplayString(278, LCD_LINE_11, "."); 80845a4: 4a49 ldr r2, [pc, #292] ; (80846cc ) 80845a6: 21ba movs r1, #186 ; 0xba 80845a8: f44f 708b mov.w r0, #278 ; 0x116 80845ac: f7d1 fbd6 bl 8055d5c 80845b0: e008 b.n 80845c4 if(menupos == D_Rate_IET) 80845b2: bf00 nop 80845b4: e006 b.n 80845c4 if(menupos == D_Roll_IES) 80845b6: bf00 nop 80845b8: e004 b.n 80845c4 if(menupos == D_Outer_IES) 80845ba: bf00 nop 80845bc: e002 b.n 80845c4 if(menupos == D_Inner_IES) 80845be: bf00 nop 80845c0: e000 b.n 80845c4 if(menupos == D_Angle_IES) 80845c2: bf00 nop } } } if(pardata.OPTIONS & BIT2) // Åñëè àâòîóñèëåíèå 80845c4: 4b42 ldr r3, [pc, #264] ; (80846d0 ) 80845c6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80845ca: f003 0304 and.w r3, r3, #4 80845ce: 2b00 cmp r3, #0 80845d0: f014 8615 beq.w 80991fe { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80845d4: 4939 ldr r1, [pc, #228] ; (80846bc ) 80845d6: 483f ldr r0, [pc, #252] ; (80846d4 ) 80845d8: f7d0 fe18 bl 805520c //BSP_LCD_FillRect(257, 191, 6, 6); BSP_LCD_FillRect(257, 175, 6, 6); 80845dc: 2306 movs r3, #6 80845de: 2206 movs r2, #6 80845e0: 21af movs r1, #175 ; 0xaf 80845e2: f240 1001 movw r0, #257 ; 0x101 80845e6: f7d1 fa9f bl 8055b28 } break; 80845ea: f014 be08 b.w 80991fe case PARAM_SPEC: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80845ee: 4933 ldr r1, [pc, #204] ; (80846bc ) 80845f0: 4839 ldr r0, [pc, #228] ; (80846d8 ) 80845f2: f7d0 fe0b bl 805520c BSP_LCD_DrawRect(2, 35, 314, 201); 80845f6: 23c9 movs r3, #201 ; 0xc9 80845f8: f44f 729d mov.w r2, #314 ; 0x13a 80845fc: 2123 movs r1, #35 ; 0x23 80845fe: 2002 movs r0, #2 8084600: f7d1 f90a bl 8055818 //**************************************************************** strcpy(strF, pDelta_SPC[pardata.FRQ][pardata.LNE]); 8084604: 4b32 ldr r3, [pc, #200] ; (80846d0 ) 8084606: 7adb ldrb r3, [r3, #11] 8084608: b2db uxtb r3, r3 808460a: 4618 mov r0, r3 808460c: 4b30 ldr r3, [pc, #192] ; (80846d0 ) 808460e: 79db ldrb r3, [r3, #7] 8084610: b2db uxtb r3, r3 8084612: 4619 mov r1, r3 8084614: 4a31 ldr r2, [pc, #196] ; (80846dc ) 8084616: 0083 lsls r3, r0, #2 8084618: 440b add r3, r1 808461a: f852 2023 ldr.w r2, [r2, r3, lsl #2] 808461e: f507 73b6 add.w r3, r7, #364 ; 0x16c 8084622: 4611 mov r1, r2 8084624: 4618 mov r0, r3 8084626: f04d fdda bl 80d21de l = strlen(strF); 808462a: f507 73b6 add.w r3, r7, #364 ; 0x16c 808462e: 4618 mov r0, r3 8084630: f79b fe70 bl 8020314 8084634: 4603 mov r3, r0 8084636: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 808463a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808463e: 2b09 cmp r3, #9 8084640: d808 bhi.n 8084654 { strcpy(str1, strF); 8084642: f507 72b6 add.w r2, r7, #364 ; 0x16c 8084646: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808464a: 4611 mov r1, r2 808464c: 4618 mov r0, r3 808464e: f04d fdc6 bl 80d21de 8084652: e07b b.n 808474c } else { memset(str1, 0x20, sizeof(str1)); 8084654: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8084658: f44f 7280 mov.w r2, #256 ; 0x100 808465c: 2120 movs r1, #32 808465e: 4618 mov r0, r3 8084660: f04d fca0 bl 80d1fa4 if(tme <= l) 8084664: 4b1e ldr r3, [pc, #120] ; (80846e0 ) 8084666: 681a ldr r2, [r3, #0] 8084668: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808466c: 429a cmp r2, r3 808466e: d839 bhi.n 80846e4 { if(l - tme >= 9) 8084670: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8084674: 4b1a ldr r3, [pc, #104] ; (80846e0 ) 8084676: 681b ldr r3, [r3, #0] 8084678: 1ad3 subs r3, r2, r3 808467a: 2b08 cmp r3, #8 808467c: d90b bls.n 8084696 memcpy(str1, &strF[tme], 9); 808467e: 4b18 ldr r3, [pc, #96] ; (80846e0 ) 8084680: 681b ldr r3, [r3, #0] 8084682: f507 72b6 add.w r2, r7, #364 ; 0x16c 8084686: 18d1 adds r1, r2, r3 8084688: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808468c: 2209 movs r2, #9 808468e: 4618 mov r0, r3 8084690: f04d fc7d bl 80d1f8e 8084694: e039 b.n 808470a else memcpy(str1, &strF[tme], l - tme); 8084696: 4b12 ldr r3, [pc, #72] ; (80846e0 ) 8084698: 681b ldr r3, [r3, #0] 808469a: f507 72b6 add.w r2, r7, #364 ; 0x16c 808469e: 18d1 adds r1, r2, r3 80846a0: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 80846a4: 4b0e ldr r3, [pc, #56] ; (80846e0 ) 80846a6: 681b ldr r3, [r3, #0] 80846a8: 1ad2 subs r2, r2, r3 80846aa: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80846ae: 4618 mov r0, r3 80846b0: f04d fc6d bl 80d1f8e 80846b4: e029 b.n 808470a 80846b6: bf00 nop 80846b8: 20020070 .word 0x20020070 80846bc: ff0a0f1f .word 0xff0a0f1f 80846c0: 200216ac .word 0x200216ac 80846c4: 2002096c .word 0x2002096c 80846c8: ffd8aa57 .word 0xffd8aa57 80846cc: 080d6258 .word 0x080d6258 80846d0: 20023eb8 .word 0x20023eb8 80846d4: ff404040 .word 0xff404040 80846d8: ffd3d3d3 .word 0xffd3d3d3 80846dc: 20020394 .word 0x20020394 80846e0: 200216b8 .word 0x200216b8 } else { memcpy(&str1[9 - (tme - l)], strF, tme - l); 80846e4: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 80846e8: 4bd0 ldr r3, [pc, #832] ; (8084a2c ) 80846ea: 681b ldr r3, [r3, #0] 80846ec: 1ad3 subs r3, r2, r3 80846ee: 3309 adds r3, #9 80846f0: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80846f4: 18d0 adds r0, r2, r3 80846f6: 4bcd ldr r3, [pc, #820] ; (8084a2c ) 80846f8: 681a ldr r2, [r3, #0] 80846fa: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80846fe: 1ad2 subs r2, r2, r3 8084700: f507 73b6 add.w r3, r7, #364 ; 0x16c 8084704: 4619 mov r1, r3 8084706: f04d fc42 bl 80d1f8e } str1[10] = '\0'; 808470a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808470e: 2200 movs r2, #0 8084710: 729a strb r2, [r3, #10] tt++; 8084712: 4bc7 ldr r3, [pc, #796] ; (8084a30 ) 8084714: 781b ldrb r3, [r3, #0] 8084716: 3301 adds r3, #1 8084718: b2da uxtb r2, r3 808471a: 4bc5 ldr r3, [pc, #788] ; (8084a30 ) 808471c: 701a strb r2, [r3, #0] if(tt >= 4) 808471e: 4bc4 ldr r3, [pc, #784] ; (8084a30 ) 8084720: 781b ldrb r3, [r3, #0] 8084722: 2b03 cmp r3, #3 8084724: d912 bls.n 808474c { tt = 0; 8084726: 4bc2 ldr r3, [pc, #776] ; (8084a30 ) 8084728: 2200 movs r2, #0 808472a: 701a strb r2, [r3, #0] tme++; 808472c: 4bbf ldr r3, [pc, #764] ; (8084a2c ) 808472e: 681b ldr r3, [r3, #0] 8084730: 3301 adds r3, #1 8084732: 4abe ldr r2, [pc, #760] ; (8084a2c ) 8084734: 6013 str r3, [r2, #0] if(9 - (tme - l) == 0) 8084736: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808473a: 4bbc ldr r3, [pc, #752] ; (8084a2c ) 808473c: 681b ldr r3, [r3, #0] 808473e: 1ad3 subs r3, r2, r3 8084740: f113 0f09 cmn.w r3, #9 8084744: d102 bne.n 808474c { tme = 0; 8084746: 4bb9 ldr r3, [pc, #740] ; (8084a2c ) 8084748: 2200 movs r2, #0 808474a: 601a str r2, [r3, #0] //**************************************************************** k = (uint32_t) (pardata.MAX_VAL * 10.0f); 808474c: 4bb9 ldr r3, [pc, #740] ; (8084a34 ) 808474e: edd3 7a06 vldr s15, [r3, #24] 8084752: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8084756: ee67 7a87 vmul.f32 s15, s15, s14 808475a: eefc 7ae7 vcvt.u32.f32 s15, s15 808475e: ee17 3a90 vmov r3, s15 8084762: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 8084766: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808476a: 095b lsrs r3, r3, #5 808476c: 4ab2 ldr r2, [pc, #712] ; (8084a38 ) 808476e: fba2 2303 umull r2, r3, r2, r3 8084772: 09db lsrs r3, r3, #7 8084774: b2db uxtb r3, r3 8084776: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 808477a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808477e: 0953 lsrs r3, r2, #5 8084780: 49ad ldr r1, [pc, #692] ; (8084a38 ) 8084782: fba1 1303 umull r1, r3, r1, r3 8084786: 09db lsrs r3, r3, #7 8084788: 49ac ldr r1, [pc, #688] ; (8084a3c ) 808478a: fb01 f303 mul.w r3, r1, r3 808478e: 1ad3 subs r3, r2, r3 8084790: 4aab ldr r2, [pc, #684] ; (8084a40 ) 8084792: fba2 2303 umull r2, r3, r2, r3 8084796: 0b5b lsrs r3, r3, #13 8084798: b2db uxtb r3, r3 808479a: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 808479e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80847a2: 0953 lsrs r3, r2, #5 80847a4: 49a4 ldr r1, [pc, #656] ; (8084a38 ) 80847a6: fba1 1303 umull r1, r3, r1, r3 80847aa: 09db lsrs r3, r3, #7 80847ac: 49a3 ldr r1, [pc, #652] ; (8084a3c ) 80847ae: fb01 f303 mul.w r3, r1, r3 80847b2: 1ad3 subs r3, r2, r3 80847b4: 4aa2 ldr r2, [pc, #648] ; (8084a40 ) 80847b6: fba2 1203 umull r1, r2, r2, r3 80847ba: 0b52 lsrs r2, r2, #13 80847bc: f242 7110 movw r1, #10000 ; 0x2710 80847c0: fb01 f202 mul.w r2, r1, r2 80847c4: 1a9a subs r2, r3, r2 80847c6: 4b9f ldr r3, [pc, #636] ; (8084a44 ) 80847c8: fba3 2302 umull r2, r3, r3, r2 80847cc: 099b lsrs r3, r3, #6 80847ce: b2db uxtb r3, r3 80847d0: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80847d4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80847d8: 095a lsrs r2, r3, #5 80847da: 4997 ldr r1, [pc, #604] ; (8084a38 ) 80847dc: fba1 1202 umull r1, r2, r1, r2 80847e0: 09d2 lsrs r2, r2, #7 80847e2: 4996 ldr r1, [pc, #600] ; (8084a3c ) 80847e4: fb01 f202 mul.w r2, r1, r2 80847e8: 1a9a subs r2, r3, r2 80847ea: 4b95 ldr r3, [pc, #596] ; (8084a40 ) 80847ec: fba3 1302 umull r1, r3, r3, r2 80847f0: 0b5b lsrs r3, r3, #13 80847f2: f242 7110 movw r1, #10000 ; 0x2710 80847f6: fb01 f303 mul.w r3, r1, r3 80847fa: 1ad3 subs r3, r2, r3 80847fc: 4a91 ldr r2, [pc, #580] ; (8084a44 ) 80847fe: fba2 1203 umull r1, r2, r2, r3 8084802: 0992 lsrs r2, r2, #6 8084804: f44f 717a mov.w r1, #1000 ; 0x3e8 8084808: fb01 f202 mul.w r2, r1, r2 808480c: 1a9a subs r2, r3, r2 808480e: 4b8e ldr r3, [pc, #568] ; (8084a48 ) 8084810: fba3 2302 umull r2, r3, r3, r2 8084814: 095b lsrs r3, r3, #5 8084816: b2db uxtb r3, r3 8084818: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808481c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8084820: 0953 lsrs r3, r2, #5 8084822: 4985 ldr r1, [pc, #532] ; (8084a38 ) 8084824: fba1 1303 umull r1, r3, r1, r3 8084828: 09db lsrs r3, r3, #7 808482a: 4984 ldr r1, [pc, #528] ; (8084a3c ) 808482c: fb01 f303 mul.w r3, r1, r3 8084830: 1ad3 subs r3, r2, r3 8084832: 4a83 ldr r2, [pc, #524] ; (8084a40 ) 8084834: fba2 1203 umull r1, r2, r2, r3 8084838: 0b52 lsrs r2, r2, #13 808483a: f242 7110 movw r1, #10000 ; 0x2710 808483e: fb01 f202 mul.w r2, r1, r2 8084842: 1a9a subs r2, r3, r2 8084844: 4b7f ldr r3, [pc, #508] ; (8084a44 ) 8084846: fba3 1302 umull r1, r3, r3, r2 808484a: 099b lsrs r3, r3, #6 808484c: f44f 717a mov.w r1, #1000 ; 0x3e8 8084850: fb01 f303 mul.w r3, r1, r3 8084854: 1ad3 subs r3, r2, r3 8084856: 4a7c ldr r2, [pc, #496] ; (8084a48 ) 8084858: fba2 1203 umull r1, r2, r2, r3 808485c: 0952 lsrs r2, r2, #5 808485e: 2164 movs r1, #100 ; 0x64 8084860: fb01 f202 mul.w r2, r1, r2 8084864: 1a9a subs r2, r3, r2 8084866: 4b79 ldr r3, [pc, #484] ; (8084a4c ) 8084868: fba3 2302 umull r2, r3, r3, r2 808486c: 08db lsrs r3, r3, #3 808486e: b2db uxtb r3, r3 8084870: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8084874: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8084878: 0953 lsrs r3, r2, #5 808487a: 496f ldr r1, [pc, #444] ; (8084a38 ) 808487c: fba1 1303 umull r1, r3, r1, r3 8084880: 09db lsrs r3, r3, #7 8084882: 496e ldr r1, [pc, #440] ; (8084a3c ) 8084884: fb01 f303 mul.w r3, r1, r3 8084888: 1ad3 subs r3, r2, r3 808488a: 4a6d ldr r2, [pc, #436] ; (8084a40 ) 808488c: fba2 1203 umull r1, r2, r2, r3 8084890: 0b52 lsrs r2, r2, #13 8084892: f242 7110 movw r1, #10000 ; 0x2710 8084896: fb01 f202 mul.w r2, r1, r2 808489a: 1a9a subs r2, r3, r2 808489c: 4b69 ldr r3, [pc, #420] ; (8084a44 ) 808489e: fba3 1302 umull r1, r3, r3, r2 80848a2: 099b lsrs r3, r3, #6 80848a4: f44f 717a mov.w r1, #1000 ; 0x3e8 80848a8: fb01 f303 mul.w r3, r1, r3 80848ac: 1ad3 subs r3, r2, r3 80848ae: 4a66 ldr r2, [pc, #408] ; (8084a48 ) 80848b0: fba2 1203 umull r1, r2, r2, r3 80848b4: 0952 lsrs r2, r2, #5 80848b6: 2164 movs r1, #100 ; 0x64 80848b8: fb01 f202 mul.w r2, r1, r2 80848bc: 1a9a subs r2, r3, r2 80848be: 4b63 ldr r3, [pc, #396] ; (8084a4c ) 80848c0: fba3 1302 umull r1, r3, r3, r2 80848c4: 08d9 lsrs r1, r3, #3 80848c6: 460b mov r3, r1 80848c8: 009b lsls r3, r3, #2 80848ca: 440b add r3, r1 80848cc: 005b lsls r3, r3, #1 80848ce: 1ad1 subs r1, r2, r3 80848d0: b2cb uxtb r3, r1 80848d2: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 80848d6: 2300 movs r3, #0 80848d8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str, 0, sizeof(str)); 80848dc: f507 733b add.w r3, r7, #748 ; 0x2ec 80848e0: 223c movs r2, #60 ; 0x3c 80848e2: 2100 movs r1, #0 80848e4: 4618 mov r0, r3 80848e6: f04d fb5d bl 80d1fa4 if(idt2 != 0) 80848ea: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80848ee: b2db uxtb r3, r3 80848f0: 2b00 cmp r3, #0 80848f2: d00c beq.n 808490e str[i++] = idt2 + 48; 80848f4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80848f8: 1c5a adds r2, r3, #1 80848fa: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80848fe: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 8084902: b2d2 uxtb r2, r2 8084904: 3230 adds r2, #48 ; 0x30 8084906: b2d1 uxtb r1, r2 8084908: f507 723b add.w r2, r7, #748 ; 0x2ec 808490c: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 808490e: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8084912: b2db uxtb r3, r3 8084914: 2b00 cmp r3, #0 8084916: d104 bne.n 8084922 8084918: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808491c: b2db uxtb r3, r3 808491e: 2b00 cmp r3, #0 8084920: d00c beq.n 808493c str[i++] = iet2 + 48; 8084922: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084926: 1c5a adds r2, r3, #1 8084928: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808492c: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 8084930: b2d2 uxtb r2, r2 8084932: 3230 adds r2, #48 ; 0x30 8084934: b2d1 uxtb r1, r2 8084936: f507 723b add.w r2, r7, #748 ; 0x2ec 808493a: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 808493c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8084940: b2db uxtb r3, r3 8084942: 2b00 cmp r3, #0 8084944: d109 bne.n 808495a 8084946: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808494a: b2db uxtb r3, r3 808494c: 2b00 cmp r3, #0 808494e: d104 bne.n 808495a 8084950: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8084954: b2db uxtb r3, r3 8084956: 2b00 cmp r3, #0 8084958: d00c beq.n 8084974 str[i++] = ies2 + 48; 808495a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808495e: 1c5a adds r2, r3, #1 8084960: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084964: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 8084968: b2d2 uxtb r2, r2 808496a: 3230 adds r2, #48 ; 0x30 808496c: b2d1 uxtb r1, r2 808496e: f507 723b add.w r2, r7, #748 ; 0x2ec 8084972: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 8084974: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8084978: b2db uxtb r3, r3 808497a: 2b00 cmp r3, #0 808497c: d10e bne.n 808499c 808497e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8084982: b2db uxtb r3, r3 8084984: 2b00 cmp r3, #0 8084986: d109 bne.n 808499c 8084988: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808498c: b2db uxtb r3, r3 808498e: 2b00 cmp r3, #0 8084990: d104 bne.n 808499c 8084992: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8084996: b2db uxtb r3, r3 8084998: 2b00 cmp r3, #0 808499a: d00c beq.n 80849b6 str[i++] = ied2 + 48; 808499c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80849a0: 1c5a adds r2, r3, #1 80849a2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80849a6: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 80849aa: b2d2 uxtb r2, r2 80849ac: 3230 adds r2, #48 ; 0x30 80849ae: b2d1 uxtb r1, r2 80849b0: f507 723b add.w r2, r7, #748 ; 0x2ec 80849b4: 54d1 strb r1, [r2, r3] str[i++] = iee2 + 48; 80849b6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80849ba: 1c5a adds r2, r3, #1 80849bc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80849c0: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 80849c4: b2d2 uxtb r2, r2 80849c6: 3230 adds r2, #48 ; 0x30 80849c8: b2d1 uxtb r1, r2 80849ca: f507 723b add.w r2, r7, #748 ; 0x2ec 80849ce: 54d1 strb r1, [r2, r3] str[i++] = '.'; 80849d0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80849d4: 1c5a adds r2, r3, #1 80849d6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80849da: f507 723b add.w r2, r7, #748 ; 0x2ec 80849de: 212e movs r1, #46 ; 0x2e 80849e0: 54d1 strb r1, [r2, r3] str[i++] = ikd2 + 48; 80849e2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80849e6: 1c5a adds r2, r3, #1 80849e8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80849ec: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 80849f0: b2d2 uxtb r2, r2 80849f2: 3230 adds r2, #48 ; 0x30 80849f4: b2d1 uxtb r1, r2 80849f6: f507 723b add.w r2, r7, #748 ; 0x2ec 80849fa: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.HP * 10.0f); 80849fc: 4b0d ldr r3, [pc, #52] ; (8084a34 ) 80849fe: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8084a02: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8084a06: ee67 7a87 vmul.f32 s15, s15, s14 8084a0a: eefc 7ae7 vcvt.u32.f32 s15, s15 8084a0e: ee17 3a90 vmov r3, s15 8084a12: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 8084a16: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8084a1a: 095b lsrs r3, r3, #5 8084a1c: 4a06 ldr r2, [pc, #24] ; (8084a38 ) 8084a1e: fba2 2303 umull r2, r3, r2, r3 8084a22: 09db lsrs r3, r3, #7 8084a24: b2db uxtb r3, r3 8084a26: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 8084a2a: e011 b.n 8084a50 8084a2c: 200216b8 .word 0x200216b8 8084a30: 200216bc .word 0x200216bc 8084a34: 20023eb8 .word 0x20023eb8 8084a38: 0a7c5ac5 .word 0x0a7c5ac5 8084a3c: 000186a0 .word 0x000186a0 8084a40: d1b71759 .word 0xd1b71759 8084a44: 10624dd3 .word 0x10624dd3 8084a48: 51eb851f .word 0x51eb851f 8084a4c: cccccccd .word 0xcccccccd ietHP = (uint8_t) (k % 100000 / 10000); 8084a50: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8084a54: 0953 lsrs r3, r2, #5 8084a56: 49d5 ldr r1, [pc, #852] ; (8084dac ) 8084a58: fba1 1303 umull r1, r3, r1, r3 8084a5c: 09db lsrs r3, r3, #7 8084a5e: 49d4 ldr r1, [pc, #848] ; (8084db0 ) 8084a60: fb01 f303 mul.w r3, r1, r3 8084a64: 1ad3 subs r3, r2, r3 8084a66: 4ad3 ldr r2, [pc, #844] ; (8084db4 ) 8084a68: fba2 2303 umull r2, r3, r2, r3 8084a6c: 0b5b lsrs r3, r3, #13 8084a6e: b2db uxtb r3, r3 8084a70: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 8084a74: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8084a78: 0953 lsrs r3, r2, #5 8084a7a: 49cc ldr r1, [pc, #816] ; (8084dac ) 8084a7c: fba1 1303 umull r1, r3, r1, r3 8084a80: 09db lsrs r3, r3, #7 8084a82: 49cb ldr r1, [pc, #812] ; (8084db0 ) 8084a84: fb01 f303 mul.w r3, r1, r3 8084a88: 1ad3 subs r3, r2, r3 8084a8a: 4aca ldr r2, [pc, #808] ; (8084db4 ) 8084a8c: fba2 1203 umull r1, r2, r2, r3 8084a90: 0b52 lsrs r2, r2, #13 8084a92: f242 7110 movw r1, #10000 ; 0x2710 8084a96: fb01 f202 mul.w r2, r1, r2 8084a9a: 1a9a subs r2, r3, r2 8084a9c: 4bc6 ldr r3, [pc, #792] ; (8084db8 ) 8084a9e: fba3 2302 umull r2, r3, r3, r2 8084aa2: 099b lsrs r3, r3, #6 8084aa4: b2db uxtb r3, r3 8084aa6: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8084aaa: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8084aae: 095a lsrs r2, r3, #5 8084ab0: 49be ldr r1, [pc, #760] ; (8084dac ) 8084ab2: fba1 1202 umull r1, r2, r1, r2 8084ab6: 09d2 lsrs r2, r2, #7 8084ab8: 49bd ldr r1, [pc, #756] ; (8084db0 ) 8084aba: fb01 f202 mul.w r2, r1, r2 8084abe: 1a9a subs r2, r3, r2 8084ac0: 4bbc ldr r3, [pc, #752] ; (8084db4 ) 8084ac2: fba3 1302 umull r1, r3, r3, r2 8084ac6: 0b5b lsrs r3, r3, #13 8084ac8: f242 7110 movw r1, #10000 ; 0x2710 8084acc: fb01 f303 mul.w r3, r1, r3 8084ad0: 1ad3 subs r3, r2, r3 8084ad2: 4ab9 ldr r2, [pc, #740] ; (8084db8 ) 8084ad4: fba2 1203 umull r1, r2, r2, r3 8084ad8: 0992 lsrs r2, r2, #6 8084ada: f44f 717a mov.w r1, #1000 ; 0x3e8 8084ade: fb01 f202 mul.w r2, r1, r2 8084ae2: 1a9a subs r2, r3, r2 8084ae4: 4bb5 ldr r3, [pc, #724] ; (8084dbc ) 8084ae6: fba3 2302 umull r2, r3, r3, r2 8084aea: 095b lsrs r3, r3, #5 8084aec: b2db uxtb r3, r3 8084aee: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8084af2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8084af6: 0953 lsrs r3, r2, #5 8084af8: 49ac ldr r1, [pc, #688] ; (8084dac ) 8084afa: fba1 1303 umull r1, r3, r1, r3 8084afe: 09db lsrs r3, r3, #7 8084b00: 49ab ldr r1, [pc, #684] ; (8084db0 ) 8084b02: fb01 f303 mul.w r3, r1, r3 8084b06: 1ad3 subs r3, r2, r3 8084b08: 4aaa ldr r2, [pc, #680] ; (8084db4 ) 8084b0a: fba2 1203 umull r1, r2, r2, r3 8084b0e: 0b52 lsrs r2, r2, #13 8084b10: f242 7110 movw r1, #10000 ; 0x2710 8084b14: fb01 f202 mul.w r2, r1, r2 8084b18: 1a9a subs r2, r3, r2 8084b1a: 4ba7 ldr r3, [pc, #668] ; (8084db8 ) 8084b1c: fba3 1302 umull r1, r3, r3, r2 8084b20: 099b lsrs r3, r3, #6 8084b22: f44f 717a mov.w r1, #1000 ; 0x3e8 8084b26: fb01 f303 mul.w r3, r1, r3 8084b2a: 1ad3 subs r3, r2, r3 8084b2c: 4aa3 ldr r2, [pc, #652] ; (8084dbc ) 8084b2e: fba2 1203 umull r1, r2, r2, r3 8084b32: 0952 lsrs r2, r2, #5 8084b34: 2164 movs r1, #100 ; 0x64 8084b36: fb01 f202 mul.w r2, r1, r2 8084b3a: 1a9a subs r2, r3, r2 8084b3c: 4ba0 ldr r3, [pc, #640] ; (8084dc0 ) 8084b3e: fba3 2302 umull r2, r3, r3, r2 8084b42: 08db lsrs r3, r3, #3 8084b44: b2db uxtb r3, r3 8084b46: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8084b4a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8084b4e: 0953 lsrs r3, r2, #5 8084b50: 4996 ldr r1, [pc, #600] ; (8084dac ) 8084b52: fba1 1303 umull r1, r3, r1, r3 8084b56: 09db lsrs r3, r3, #7 8084b58: 4995 ldr r1, [pc, #596] ; (8084db0 ) 8084b5a: fb01 f303 mul.w r3, r1, r3 8084b5e: 1ad3 subs r3, r2, r3 8084b60: 4a94 ldr r2, [pc, #592] ; (8084db4 ) 8084b62: fba2 1203 umull r1, r2, r2, r3 8084b66: 0b52 lsrs r2, r2, #13 8084b68: f242 7110 movw r1, #10000 ; 0x2710 8084b6c: fb01 f202 mul.w r2, r1, r2 8084b70: 1a9a subs r2, r3, r2 8084b72: 4b91 ldr r3, [pc, #580] ; (8084db8 ) 8084b74: fba3 1302 umull r1, r3, r3, r2 8084b78: 099b lsrs r3, r3, #6 8084b7a: f44f 717a mov.w r1, #1000 ; 0x3e8 8084b7e: fb01 f303 mul.w r3, r1, r3 8084b82: 1ad3 subs r3, r2, r3 8084b84: 4a8d ldr r2, [pc, #564] ; (8084dbc ) 8084b86: fba2 1203 umull r1, r2, r2, r3 8084b8a: 0952 lsrs r2, r2, #5 8084b8c: 2164 movs r1, #100 ; 0x64 8084b8e: fb01 f202 mul.w r2, r1, r2 8084b92: 1a9a subs r2, r3, r2 8084b94: 4b8a ldr r3, [pc, #552] ; (8084dc0 ) 8084b96: fba3 1302 umull r1, r3, r3, r2 8084b9a: 08d9 lsrs r1, r3, #3 8084b9c: 460b mov r3, r1 8084b9e: 009b lsls r3, r3, #2 8084ba0: 440b add r3, r1 8084ba2: 005b lsls r3, r3, #1 8084ba4: 1ad1 subs r1, r2, r3 8084ba6: b2cb uxtb r3, r1 8084ba8: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 8084bac: 2300 movs r3, #0 8084bae: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 8084bb2: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8084bb6: 220c movs r2, #12 8084bb8: 2100 movs r1, #0 8084bba: 4618 mov r0, r3 8084bbc: f04d f9f2 bl 80d1fa4 if(idtHP != 0) 8084bc0: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8084bc4: b2db uxtb r3, r3 8084bc6: 2b00 cmp r3, #0 8084bc8: d00c beq.n 8084be4 strHP[i++] = idtHP + 48; 8084bca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084bce: 1c5a adds r2, r3, #1 8084bd0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084bd4: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 8084bd8: b2d2 uxtb r2, r2 8084bda: 3230 adds r2, #48 ; 0x30 8084bdc: b2d1 uxtb r1, r2 8084bde: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8084be2: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 8084be4: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8084be8: b2db uxtb r3, r3 8084bea: 2b00 cmp r3, #0 8084bec: d104 bne.n 8084bf8 8084bee: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8084bf2: b2db uxtb r3, r3 8084bf4: 2b00 cmp r3, #0 8084bf6: d00c beq.n 8084c12 strHP[i++] = ietHP + 48; 8084bf8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084bfc: 1c5a adds r2, r3, #1 8084bfe: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084c02: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 8084c06: b2d2 uxtb r2, r2 8084c08: 3230 adds r2, #48 ; 0x30 8084c0a: b2d1 uxtb r1, r2 8084c0c: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8084c10: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 8084c12: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8084c16: b2db uxtb r3, r3 8084c18: 2b00 cmp r3, #0 8084c1a: d109 bne.n 8084c30 8084c1c: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8084c20: b2db uxtb r3, r3 8084c22: 2b00 cmp r3, #0 8084c24: d104 bne.n 8084c30 8084c26: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8084c2a: b2db uxtb r3, r3 8084c2c: 2b00 cmp r3, #0 8084c2e: d00c beq.n 8084c4a strHP[i++] = iesHP + 48; 8084c30: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084c34: 1c5a adds r2, r3, #1 8084c36: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084c3a: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 8084c3e: b2d2 uxtb r2, r2 8084c40: 3230 adds r2, #48 ; 0x30 8084c42: b2d1 uxtb r1, r2 8084c44: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8084c48: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 8084c4a: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8084c4e: b2db uxtb r3, r3 8084c50: 2b00 cmp r3, #0 8084c52: d10e bne.n 8084c72 8084c54: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8084c58: b2db uxtb r3, r3 8084c5a: 2b00 cmp r3, #0 8084c5c: d109 bne.n 8084c72 8084c5e: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8084c62: b2db uxtb r3, r3 8084c64: 2b00 cmp r3, #0 8084c66: d104 bne.n 8084c72 8084c68: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8084c6c: b2db uxtb r3, r3 8084c6e: 2b00 cmp r3, #0 8084c70: d00c beq.n 8084c8c strHP[i++] = iedHP + 48; 8084c72: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084c76: 1c5a adds r2, r3, #1 8084c78: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084c7c: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 8084c80: b2d2 uxtb r2, r2 8084c82: 3230 adds r2, #48 ; 0x30 8084c84: b2d1 uxtb r1, r2 8084c86: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8084c8a: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 8084c8c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084c90: 1c5a adds r2, r3, #1 8084c92: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084c96: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 8084c9a: b2d2 uxtb r2, r2 8084c9c: 3230 adds r2, #48 ; 0x30 8084c9e: b2d1 uxtb r1, r2 8084ca0: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8084ca4: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 8084ca6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084caa: 1c5a adds r2, r3, #1 8084cac: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084cb0: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8084cb4: 212e movs r1, #46 ; 0x2e 8084cb6: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 8084cb8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084cbc: 1c5a adds r2, r3, #1 8084cbe: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084cc2: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 8084cc6: b2d2 uxtb r2, r2 8084cc8: 3230 adds r2, #48 ; 0x30 8084cca: b2d1 uxtb r1, r2 8084ccc: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8084cd0: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.LP * 10.0f); 8084cd2: 4b3c ldr r3, [pc, #240] ; (8084dc4 ) 8084cd4: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8084cd8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8084cdc: ee67 7a87 vmul.f32 s15, s15, s14 8084ce0: eefc 7ae7 vcvt.u32.f32 s15, s15 8084ce4: ee17 3a90 vmov r3, s15 8084ce8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 8084cec: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8084cf0: 095b lsrs r3, r3, #5 8084cf2: 4a2e ldr r2, [pc, #184] ; (8084dac ) 8084cf4: fba2 2303 umull r2, r3, r2, r3 8084cf8: 09db lsrs r3, r3, #7 8084cfa: b2db uxtb r3, r3 8084cfc: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 8084d00: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8084d04: 0953 lsrs r3, r2, #5 8084d06: 4929 ldr r1, [pc, #164] ; (8084dac ) 8084d08: fba1 1303 umull r1, r3, r1, r3 8084d0c: 09db lsrs r3, r3, #7 8084d0e: 4928 ldr r1, [pc, #160] ; (8084db0 ) 8084d10: fb01 f303 mul.w r3, r1, r3 8084d14: 1ad3 subs r3, r2, r3 8084d16: 4a27 ldr r2, [pc, #156] ; (8084db4 ) 8084d18: fba2 2303 umull r2, r3, r2, r3 8084d1c: 0b5b lsrs r3, r3, #13 8084d1e: b2db uxtb r3, r3 8084d20: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 8084d24: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8084d28: 0953 lsrs r3, r2, #5 8084d2a: 4920 ldr r1, [pc, #128] ; (8084dac ) 8084d2c: fba1 1303 umull r1, r3, r1, r3 8084d30: 09db lsrs r3, r3, #7 8084d32: 491f ldr r1, [pc, #124] ; (8084db0 ) 8084d34: fb01 f303 mul.w r3, r1, r3 8084d38: 1ad3 subs r3, r2, r3 8084d3a: 4a1e ldr r2, [pc, #120] ; (8084db4 ) 8084d3c: fba2 1203 umull r1, r2, r2, r3 8084d40: 0b52 lsrs r2, r2, #13 8084d42: f242 7110 movw r1, #10000 ; 0x2710 8084d46: fb01 f202 mul.w r2, r1, r2 8084d4a: 1a9a subs r2, r3, r2 8084d4c: 4b1a ldr r3, [pc, #104] ; (8084db8 ) 8084d4e: fba3 2302 umull r2, r3, r3, r2 8084d52: 099b lsrs r3, r3, #6 8084d54: b2db uxtb r3, r3 8084d56: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8084d5a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8084d5e: 095a lsrs r2, r3, #5 8084d60: 4912 ldr r1, [pc, #72] ; (8084dac ) 8084d62: fba1 1202 umull r1, r2, r1, r2 8084d66: 09d2 lsrs r2, r2, #7 8084d68: 4911 ldr r1, [pc, #68] ; (8084db0 ) 8084d6a: fb01 f202 mul.w r2, r1, r2 8084d6e: 1a9a subs r2, r3, r2 8084d70: 4b10 ldr r3, [pc, #64] ; (8084db4 ) 8084d72: fba3 1302 umull r1, r3, r3, r2 8084d76: 0b5b lsrs r3, r3, #13 8084d78: f242 7110 movw r1, #10000 ; 0x2710 8084d7c: fb01 f303 mul.w r3, r1, r3 8084d80: 1ad3 subs r3, r2, r3 8084d82: 4a0d ldr r2, [pc, #52] ; (8084db8 ) 8084d84: fba2 1203 umull r1, r2, r2, r3 8084d88: 0992 lsrs r2, r2, #6 8084d8a: f44f 717a mov.w r1, #1000 ; 0x3e8 8084d8e: fb01 f202 mul.w r2, r1, r2 8084d92: 1a9a subs r2, r3, r2 8084d94: 4b09 ldr r3, [pc, #36] ; (8084dbc ) 8084d96: fba3 2302 umull r2, r3, r3, r2 8084d9a: 095b lsrs r3, r3, #5 8084d9c: b2db uxtb r3, r3 8084d9e: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8084da2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8084da6: 0953 lsrs r3, r2, #5 8084da8: e00e b.n 8084dc8 8084daa: bf00 nop 8084dac: 0a7c5ac5 .word 0x0a7c5ac5 8084db0: 000186a0 .word 0x000186a0 8084db4: d1b71759 .word 0xd1b71759 8084db8: 10624dd3 .word 0x10624dd3 8084dbc: 51eb851f .word 0x51eb851f 8084dc0: cccccccd .word 0xcccccccd 8084dc4: 20023eb8 .word 0x20023eb8 8084dc8: 49a2 ldr r1, [pc, #648] ; (8085054 ) 8084dca: fba1 1303 umull r1, r3, r1, r3 8084dce: 09db lsrs r3, r3, #7 8084dd0: 49a1 ldr r1, [pc, #644] ; (8085058 ) 8084dd2: fb01 f303 mul.w r3, r1, r3 8084dd6: 1ad3 subs r3, r2, r3 8084dd8: 4aa0 ldr r2, [pc, #640] ; (808505c ) 8084dda: fba2 1203 umull r1, r2, r2, r3 8084dde: 0b52 lsrs r2, r2, #13 8084de0: f242 7110 movw r1, #10000 ; 0x2710 8084de4: fb01 f202 mul.w r2, r1, r2 8084de8: 1a9a subs r2, r3, r2 8084dea: 4b9d ldr r3, [pc, #628] ; (8085060 ) 8084dec: fba3 1302 umull r1, r3, r3, r2 8084df0: 099b lsrs r3, r3, #6 8084df2: f44f 717a mov.w r1, #1000 ; 0x3e8 8084df6: fb01 f303 mul.w r3, r1, r3 8084dfa: 1ad3 subs r3, r2, r3 8084dfc: 4a99 ldr r2, [pc, #612] ; (8085064 ) 8084dfe: fba2 1203 umull r1, r2, r2, r3 8084e02: 0952 lsrs r2, r2, #5 8084e04: 2164 movs r1, #100 ; 0x64 8084e06: fb01 f202 mul.w r2, r1, r2 8084e0a: 1a9a subs r2, r3, r2 8084e0c: 4b96 ldr r3, [pc, #600] ; (8085068 ) 8084e0e: fba3 2302 umull r2, r3, r3, r2 8084e12: 08db lsrs r3, r3, #3 8084e14: b2db uxtb r3, r3 8084e16: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8084e1a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8084e1e: 0953 lsrs r3, r2, #5 8084e20: 498c ldr r1, [pc, #560] ; (8085054 ) 8084e22: fba1 1303 umull r1, r3, r1, r3 8084e26: 09db lsrs r3, r3, #7 8084e28: 498b ldr r1, [pc, #556] ; (8085058 ) 8084e2a: fb01 f303 mul.w r3, r1, r3 8084e2e: 1ad3 subs r3, r2, r3 8084e30: 4a8a ldr r2, [pc, #552] ; (808505c ) 8084e32: fba2 1203 umull r1, r2, r2, r3 8084e36: 0b52 lsrs r2, r2, #13 8084e38: f242 7110 movw r1, #10000 ; 0x2710 8084e3c: fb01 f202 mul.w r2, r1, r2 8084e40: 1a9a subs r2, r3, r2 8084e42: 4b87 ldr r3, [pc, #540] ; (8085060 ) 8084e44: fba3 1302 umull r1, r3, r3, r2 8084e48: 099b lsrs r3, r3, #6 8084e4a: f44f 717a mov.w r1, #1000 ; 0x3e8 8084e4e: fb01 f303 mul.w r3, r1, r3 8084e52: 1ad3 subs r3, r2, r3 8084e54: 4a83 ldr r2, [pc, #524] ; (8085064 ) 8084e56: fba2 1203 umull r1, r2, r2, r3 8084e5a: 0952 lsrs r2, r2, #5 8084e5c: 2164 movs r1, #100 ; 0x64 8084e5e: fb01 f202 mul.w r2, r1, r2 8084e62: 1a9a subs r2, r3, r2 8084e64: 4b80 ldr r3, [pc, #512] ; (8085068 ) 8084e66: fba3 1302 umull r1, r3, r3, r2 8084e6a: 08d9 lsrs r1, r3, #3 8084e6c: 460b mov r3, r1 8084e6e: 009b lsls r3, r3, #2 8084e70: 440b add r3, r1 8084e72: 005b lsls r3, r3, #1 8084e74: 1ad1 subs r1, r2, r3 8084e76: b2cb uxtb r3, r1 8084e78: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 8084e7c: 2300 movs r3, #0 8084e7e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 8084e82: f507 73cc add.w r3, r7, #408 ; 0x198 8084e86: 220c movs r2, #12 8084e88: 2100 movs r1, #0 8084e8a: 4618 mov r0, r3 8084e8c: f04d f88a bl 80d1fa4 if(idtLP != 0) 8084e90: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8084e94: b2db uxtb r3, r3 8084e96: 2b00 cmp r3, #0 8084e98: d00c beq.n 8084eb4 strLP[i++] = idtLP + 48; 8084e9a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084e9e: 1c5a adds r2, r3, #1 8084ea0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084ea4: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 8084ea8: b2d2 uxtb r2, r2 8084eaa: 3230 adds r2, #48 ; 0x30 8084eac: b2d1 uxtb r1, r2 8084eae: f507 72cc add.w r2, r7, #408 ; 0x198 8084eb2: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 8084eb4: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8084eb8: b2db uxtb r3, r3 8084eba: 2b00 cmp r3, #0 8084ebc: d104 bne.n 8084ec8 8084ebe: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8084ec2: b2db uxtb r3, r3 8084ec4: 2b00 cmp r3, #0 8084ec6: d00c beq.n 8084ee2 strLP[i++] = ietLP + 48; 8084ec8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084ecc: 1c5a adds r2, r3, #1 8084ece: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084ed2: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 8084ed6: b2d2 uxtb r2, r2 8084ed8: 3230 adds r2, #48 ; 0x30 8084eda: b2d1 uxtb r1, r2 8084edc: f507 72cc add.w r2, r7, #408 ; 0x198 8084ee0: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 8084ee2: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8084ee6: b2db uxtb r3, r3 8084ee8: 2b00 cmp r3, #0 8084eea: d109 bne.n 8084f00 8084eec: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8084ef0: b2db uxtb r3, r3 8084ef2: 2b00 cmp r3, #0 8084ef4: d104 bne.n 8084f00 8084ef6: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8084efa: b2db uxtb r3, r3 8084efc: 2b00 cmp r3, #0 8084efe: d00c beq.n 8084f1a strLP[i++] = iesLP + 48; 8084f00: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084f04: 1c5a adds r2, r3, #1 8084f06: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084f0a: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 8084f0e: b2d2 uxtb r2, r2 8084f10: 3230 adds r2, #48 ; 0x30 8084f12: b2d1 uxtb r1, r2 8084f14: f507 72cc add.w r2, r7, #408 ; 0x198 8084f18: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 8084f1a: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8084f1e: b2db uxtb r3, r3 8084f20: 2b00 cmp r3, #0 8084f22: d10e bne.n 8084f42 8084f24: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8084f28: b2db uxtb r3, r3 8084f2a: 2b00 cmp r3, #0 8084f2c: d109 bne.n 8084f42 8084f2e: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8084f32: b2db uxtb r3, r3 8084f34: 2b00 cmp r3, #0 8084f36: d104 bne.n 8084f42 8084f38: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8084f3c: b2db uxtb r3, r3 8084f3e: 2b00 cmp r3, #0 8084f40: d00c beq.n 8084f5c strLP[i++] = iedLP + 48; 8084f42: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084f46: 1c5a adds r2, r3, #1 8084f48: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084f4c: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 8084f50: b2d2 uxtb r2, r2 8084f52: 3230 adds r2, #48 ; 0x30 8084f54: b2d1 uxtb r1, r2 8084f56: f507 72cc add.w r2, r7, #408 ; 0x198 8084f5a: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 8084f5c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084f60: 1c5a adds r2, r3, #1 8084f62: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084f66: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 8084f6a: b2d2 uxtb r2, r2 8084f6c: 3230 adds r2, #48 ; 0x30 8084f6e: b2d1 uxtb r1, r2 8084f70: f507 72cc add.w r2, r7, #408 ; 0x198 8084f74: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 8084f76: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084f7a: 1c5a adds r2, r3, #1 8084f7c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084f80: f507 72cc add.w r2, r7, #408 ; 0x198 8084f84: 212e movs r1, #46 ; 0x2e 8084f86: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 8084f88: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084f8c: 1c5a adds r2, r3, #1 8084f8e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084f92: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 8084f96: b2d2 uxtb r2, r2 8084f98: 3230 adds r2, #48 ; 0x30 8084f9a: b2d1 uxtb r1, r2 8084f9c: f507 72cc add.w r2, r7, #408 ; 0x198 8084fa0: 54d1 strb r1, [r2, r3] LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084fa2: 4932 ldr r1, [pc, #200] ; (808506c ) 8084fa4: f04f 30ff mov.w r0, #4294967295 8084fa8: f7d0 f930 bl 805520c if(pardata.LANG == RUS) 8084fac: 4b30 ldr r3, [pc, #192] ; (8085070 ) 8084fae: 7b1b ldrb r3, [r3, #12] 8084fb0: b2db uxtb r3, r3 8084fb2: 2b00 cmp r3, #0 8084fb4: d105 bne.n 8084fc2 LCD_DisplayString(10, LCD_LINE_3, "Ñïåêòð"); 8084fb6: 4a2f ldr r2, [pc, #188] ; (8085074 ) 8084fb8: 213a movs r1, #58 ; 0x3a 8084fba: 200a movs r0, #10 8084fbc: f7d0 fece bl 8055d5c 8084fc0: e004 b.n 8084fcc else LCD_DisplayString(10, LCD_LINE_3, "Spectrum type"); 8084fc2: 4a2d ldr r2, [pc, #180] ; (8085078 ) 8084fc4: 213a movs r1, #58 ; 0x3a 8084fc6: 200a movs r0, #10 8084fc8: f7d0 fec8 bl 8055d5c switch(pardata.OPTIONS & maskFFT) 8084fcc: 4b28 ldr r3, [pc, #160] ; (8085070 ) 8084fce: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084fd2: f003 0330 and.w r3, r3, #48 ; 0x30 8084fd6: 2b10 cmp r3, #16 8084fd8: d00d beq.n 8084ff6 8084fda: 2b10 cmp r3, #16 8084fdc: d803 bhi.n 8084fe6 8084fde: 2b00 cmp r3, #0 8084fe0: d009 beq.n 8084ff6 break; } //******************************************************************************************************************************************* break; 8084fe2: f014 b923 b.w 809922c switch(pardata.OPTIONS & maskFFT) 8084fe6: 2b20 cmp r3, #32 8084fe8: f003 8027 beq.w 808803a 8084fec: 2b30 cmp r3, #48 ; 0x30 8084fee: f003 8024 beq.w 808803a break; 8084ff2: f014 b91b b.w 809922c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084ff6: 491d ldr r1, [pc, #116] ; (808506c ) 8084ff8: f04f 30ff mov.w r0, #4294967295 8084ffc: f7d0 f906 bl 805520c if(pardata.LANG == RUS) 8085000: 4b1b ldr r3, [pc, #108] ; (8085070 ) 8085002: 7b1b ldrb r3, [r3, #12] 8085004: b2db uxtb r3, r3 8085006: 2b00 cmp r3, #0 8085008: d146 bne.n 8085098 LCD_DisplayString(10, LCD_LINE_4, "Âåëè÷èíà"); 808500a: 4a1c ldr r2, [pc, #112] ; (808507c ) 808500c: 214a movs r1, #74 ; 0x4a 808500e: 200a movs r0, #10 8085010: f7d0 fea4 bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, "Ôèëüòð Â×(Ãö)"); 8085014: 4a1a ldr r2, [pc, #104] ; (8085080 ) 8085016: 215a movs r1, #90 ; 0x5a 8085018: 200a movs r0, #10 808501a: f7d0 fe9f bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "Ôèëüòð Í×(Ãö)"); 808501e: 4a19 ldr r2, [pc, #100] ; (8085084 ) 8085020: 216a movs r1, #106 ; 0x6a 8085022: 200a movs r0, #10 8085024: f7d0 fe9a bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "×àñò.ðàçðåø.(Ãö)"); 8085028: 4a17 ldr r2, [pc, #92] ; (8085088 ) 808502a: 217a movs r1, #122 ; 0x7a 808502c: 200a movs r0, #10 808502e: f7d0 fe95 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Ìàñøòàá ïî Y"); 8085032: 4a16 ldr r2, [pc, #88] ; (808508c ) 8085034: 218a movs r1, #138 ; 0x8a 8085036: 200a movs r0, #10 8085038: f7d0 fe90 bl 8055d5c LCD_DisplayString(10, LCD_LINE_9, "Îêíî"); 808503c: 4a14 ldr r2, [pc, #80] ; (8085090 ) 808503e: 219a movs r1, #154 ; 0x9a 8085040: 200a movs r0, #10 8085042: f7d0 fe8b bl 8055d5c LCD_DisplayString(10, LCD_LINE_10, "Óñðåäíåíèå(êîë-âî)"); 8085046: 4a13 ldr r2, [pc, #76] ; (8085094 ) 8085048: 21aa movs r1, #170 ; 0xaa 808504a: 200a movs r0, #10 808504c: f7d0 fe86 bl 8055d5c 8085050: e045 b.n 80850de 8085052: bf00 nop 8085054: 0a7c5ac5 .word 0x0a7c5ac5 8085058: 000186a0 .word 0x000186a0 808505c: d1b71759 .word 0xd1b71759 8085060: 10624dd3 .word 0x10624dd3 8085064: 51eb851f .word 0x51eb851f 8085068: cccccccd .word 0xcccccccd 808506c: ff0a0f1f .word 0xff0a0f1f 8085070: 20023eb8 .word 0x20023eb8 8085074: 080d57b8 .word 0x080d57b8 8085078: 080d6aac .word 0x080d6aac 808507c: 080d6198 .word 0x080d6198 8085080: 080d5c40 .word 0x080d5c40 8085084: 080d5c50 .word 0x080d5c50 8085088: 080d6abc .word 0x080d6abc 808508c: 080d6ad0 .word 0x080d6ad0 8085090: 080d5e84 .word 0x080d5e84 8085094: 080d5dec .word 0x080d5dec LCD_DisplayString(10, LCD_LINE_4, "Parameter"); 8085098: 4aad ldr r2, [pc, #692] ; (8085350 ) 808509a: 214a movs r1, #74 ; 0x4a 808509c: 200a movs r0, #10 808509e: f7d0 fe5d bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, "HPF(Hz)"); 80850a2: 4aac ldr r2, [pc, #688] ; (8085354 ) 80850a4: 215a movs r1, #90 ; 0x5a 80850a6: 200a movs r0, #10 80850a8: f7d0 fe58 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "LPF(Hz)"); 80850ac: 4aaa ldr r2, [pc, #680] ; (8085358 ) 80850ae: 216a movs r1, #106 ; 0x6a 80850b0: 200a movs r0, #10 80850b2: f7d0 fe53 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Resolution(Hz)"); 80850b6: 4aa9 ldr r2, [pc, #676] ; (808535c ) 80850b8: 217a movs r1, #122 ; 0x7a 80850ba: 200a movs r0, #10 80850bc: f7d0 fe4e bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Scale Y"); 80850c0: 4aa7 ldr r2, [pc, #668] ; (8085360 ) 80850c2: 218a movs r1, #138 ; 0x8a 80850c4: 200a movs r0, #10 80850c6: f7d0 fe49 bl 8055d5c LCD_DisplayString(10, LCD_LINE_9, "Window"); 80850ca: 4aa6 ldr r2, [pc, #664] ; (8085364 ) 80850cc: 219a movs r1, #154 ; 0x9a 80850ce: 200a movs r0, #10 80850d0: f7d0 fe44 bl 8055d5c LCD_DisplayString(10, LCD_LINE_10, "Num.average"); 80850d4: 4aa4 ldr r2, [pc, #656] ; (8085368 ) 80850d6: 21aa movs r1, #170 ; 0xaa 80850d8: 200a movs r0, #10 80850da: f7d0 fe3f bl 8055d5c LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_VIB[pardata.LANG][8]);//"Óñèëåíèå" 80850de: 4ba3 ldr r3, [pc, #652] ; (808536c ) 80850e0: 7b1b ldrb r3, [r3, #12] 80850e2: b2db uxtb r3, r3 80850e4: 4619 mov r1, r3 80850e6: 4aa2 ldr r2, [pc, #648] ; (8085370 ) 80850e8: 232c movs r3, #44 ; 0x2c 80850ea: fb03 f301 mul.w r3, r3, r1 80850ee: 4413 add r3, r2 80850f0: 3320 adds r3, #32 80850f2: 681b ldr r3, [r3, #0] 80850f4: 461a mov r2, r3 80850f6: 21ba movs r1, #186 ; 0xba 80850f8: 200a movs r0, #10 80850fa: f7d0 fe2f bl 8055d5c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80850fe: 230a movs r3, #10 8085100: 220a movs r2, #10 8085102: 21bd movs r1, #189 ; 0xbd 8085104: 20ff movs r0, #255 ; 0xff 8085106: f7d0 fd0f bl 8055b28 if(menupos == Ok) 808510a: 4b9a ldr r3, [pc, #616] ; (8085374 ) 808510c: 781b ldrb r3, [r3, #0] 808510e: b2db uxtb r3, r3 8085110: 2b00 cmp r3, #0 8085112: f040 8145 bne.w 80853a0 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085116: 4998 ldr r1, [pc, #608] ; (8085378 ) 8085118: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808511c: f7d0 f876 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8085120: 4b92 ldr r3, [pc, #584] ; (808536c ) 8085122: 7b1b ldrb r3, [r3, #12] 8085124: b2db uxtb r3, r3 8085126: 461a mov r2, r3 8085128: 4b94 ldr r3, [pc, #592] ; (808537c ) 808512a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808512e: 461a mov r2, r3 8085130: 2127 movs r1, #39 ; 0x27 8085132: 200a movs r0, #10 8085134: f7d0 fe12 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085138: 498f ldr r1, [pc, #572] ; (8085378 ) 808513a: f04f 30ff mov.w r0, #4294967295 808513e: f7d0 f865 bl 805520c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085142: 498d ldr r1, [pc, #564] ; (8085378 ) 8085144: 488e ldr r0, [pc, #568] ; (8085380 ) 8085146: f7d0 f861 bl 805520c if((pardata.OPTIONS & maskFFT) == fft) 808514a: 4b88 ldr r3, [pc, #544] ; (808536c ) 808514c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085150: f003 0330 and.w r3, r3, #48 ; 0x30 8085154: 2b00 cmp r3, #0 8085156: d10d bne.n 8085174 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8085158: 4b84 ldr r3, [pc, #528] ; (808536c ) 808515a: 7b1b ldrb r3, [r3, #12] 808515c: b2db uxtb r3, r3 808515e: 4a89 ldr r2, [pc, #548] ; (8085384 ) 8085160: 011b lsls r3, r3, #4 8085162: 4413 add r3, r2 8085164: 681b ldr r3, [r3, #0] 8085166: 461a mov r2, r3 8085168: 213a movs r1, #58 ; 0x3a 808516a: f44f 7082 mov.w r0, #260 ; 0x104 808516e: f7d0 fe0d bl 8055d8c 8085172: e00d b.n 8085190 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8085174: 4b7d ldr r3, [pc, #500] ; (808536c ) 8085176: 7b1b ldrb r3, [r3, #12] 8085178: b2db uxtb r3, r3 808517a: 4a82 ldr r2, [pc, #520] ; (8085384 ) 808517c: 011b lsls r3, r3, #4 808517e: 4413 add r3, r2 8085180: 3304 adds r3, #4 8085182: 681b ldr r3, [r3, #0] 8085184: 461a mov r2, r3 8085186: 213a movs r1, #58 ; 0x3a 8085188: f44f 7082 mov.w r0, #260 ; 0x104 808518c: f7d0 fdfe bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8085190: 4b76 ldr r3, [pc, #472] ; (808536c ) 8085192: 7b1b ldrb r3, [r3, #12] 8085194: b2db uxtb r3, r3 8085196: 4618 mov r0, r3 8085198: 4b74 ldr r3, [pc, #464] ; (808536c ) 808519a: 785b ldrb r3, [r3, #1] 808519c: b2db uxtb r3, r3 808519e: 005b lsls r3, r3, #1 80851a0: 4a72 ldr r2, [pc, #456] ; (808536c ) 80851a2: 7852 ldrb r2, [r2, #1] 80851a4: b2d2 uxtb r2, r2 80851a6: 4611 mov r1, r2 80851a8: 4a70 ldr r2, [pc, #448] ; (808536c ) 80851aa: 440a add r2, r1 80851ac: 7892 ldrb r2, [r2, #2] 80851ae: b2d2 uxtb r2, r2 80851b0: 431a orrs r2, r3 80851b2: 4975 ldr r1, [pc, #468] ; (8085388 ) 80851b4: 4603 mov r3, r0 80851b6: 005b lsls r3, r3, #1 80851b8: 4403 add r3, r0 80851ba: 005b lsls r3, r3, #1 80851bc: 4413 add r3, r2 80851be: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80851c2: 461a mov r2, r3 80851c4: 214a movs r1, #74 ; 0x4a 80851c6: f44f 7082 mov.w r0, #260 ; 0x104 80851ca: f7d0 fddf bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80851ce: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80851d2: 461a mov r2, r3 80851d4: 215a movs r1, #90 ; 0x5a 80851d6: f44f 7082 mov.w r0, #260 ; 0x104 80851da: f7d0 fdd7 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80851de: f507 73cc add.w r3, r7, #408 ; 0x198 80851e2: 461a mov r2, r3 80851e4: 216a movs r1, #106 ; 0x6a 80851e6: f44f 7082 mov.w r0, #260 ; 0x104 80851ea: f7d0 fdcf bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 80851ee: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80851f2: 461a mov r2, r3 80851f4: 217a movs r1, #122 ; 0x7a 80851f6: f44f 7082 mov.w r0, #260 ; 0x104 80851fa: f7d0 fdc7 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 80851fe: 4b5b ldr r3, [pc, #364] ; (808536c ) 8085200: 7b1b ldrb r3, [r3, #12] 8085202: b2db uxtb r3, r3 8085204: 4618 mov r0, r3 8085206: 4b59 ldr r3, [pc, #356] ; (808536c ) 8085208: 7a9b ldrb r3, [r3, #10] 808520a: b2db uxtb r3, r3 808520c: 4619 mov r1, r3 808520e: 4a5f ldr r2, [pc, #380] ; (808538c ) 8085210: 0043 lsls r3, r0, #1 8085212: 440b add r3, r1 8085214: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085218: 461a mov r2, r3 808521a: 218a movs r1, #138 ; 0x8a 808521c: f44f 7082 mov.w r0, #260 ; 0x104 8085220: f7d0 fdb4 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8085224: 4b51 ldr r3, [pc, #324] ; (808536c ) 8085226: 7b1b ldrb r3, [r3, #12] 8085228: b2db uxtb r3, r3 808522a: 4619 mov r1, r3 808522c: 4b4f ldr r3, [pc, #316] ; (808536c ) 808522e: 7a5b ldrb r3, [r3, #9] 8085230: b2db uxtb r3, r3 8085232: 4618 mov r0, r3 8085234: 4a56 ldr r2, [pc, #344] ; (8085390 ) 8085236: 460b mov r3, r1 8085238: 009b lsls r3, r3, #2 808523a: 440b add r3, r1 808523c: 4403 add r3, r0 808523e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085242: 461a mov r2, r3 8085244: 219a movs r1, #154 ; 0x9a 8085246: f44f 7082 mov.w r0, #260 ; 0x104 808524a: f7d0 fd9f bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 808524e: 4b47 ldr r3, [pc, #284] ; (808536c ) 8085250: 7b5b ldrb r3, [r3, #13] 8085252: b2db uxtb r3, r3 8085254: 461a mov r2, r3 8085256: 4b4f ldr r3, [pc, #316] ; (8085394 ) 8085258: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808525c: 461a mov r2, r3 808525e: 21aa movs r1, #170 ; 0xaa 8085260: f44f 7082 mov.w r0, #260 ; 0x104 8085264: f7d0 fd92 bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8085268: 4b40 ldr r3, [pc, #256] ; (808536c ) 808526a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808526e: f003 0304 and.w r3, r3, #4 8085272: 2b00 cmp r3, #0 8085274: d033 beq.n 80852de LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8085276: 4940 ldr r1, [pc, #256] ; (8085378 ) 8085278: 4847 ldr r0, [pc, #284] ; (8085398 ) 808527a: f7cf ffc7 bl 805520c if(pardata.IIN != VOLTS) 808527e: 4b3b ldr r3, [pc, #236] ; (808536c ) 8085280: 799b ldrb r3, [r3, #6] 8085282: b2db uxtb r3, r3 8085284: 2b02 cmp r3, #2 8085286: d010 beq.n 80852aa LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085288: 4b38 ldr r3, [pc, #224] ; (808536c ) 808528a: 7b1b ldrb r3, [r3, #12] 808528c: b2db uxtb r3, r3 808528e: 4619 mov r1, r3 8085290: 4a37 ldr r2, [pc, #220] ; (8085370 ) 8085292: 232c movs r3, #44 ; 0x2c 8085294: fb03 f301 mul.w r3, r3, r1 8085298: 4413 add r3, r2 808529a: 3324 adds r3, #36 ; 0x24 808529c: 681b ldr r3, [r3, #0] 808529e: 461a mov r2, r3 80852a0: 21ca movs r1, #202 ; 0xca 80852a2: 200a movs r0, #10 80852a4: f7d0 fd5a bl 8055d5c 80852a8: e00f b.n 80852ca else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80852aa: 4b30 ldr r3, [pc, #192] ; (808536c ) 80852ac: 7b1b ldrb r3, [r3, #12] 80852ae: b2db uxtb r3, r3 80852b0: 4619 mov r1, r3 80852b2: 4a3a ldr r2, [pc, #232] ; (808539c ) 80852b4: 232c movs r3, #44 ; 0x2c 80852b6: fb03 f301 mul.w r3, r3, r1 80852ba: 4413 add r3, r2 80852bc: 3324 adds r3, #36 ; 0x24 80852be: 681b ldr r3, [r3, #0] 80852c0: 461a mov r2, r3 80852c2: 21ca movs r1, #202 ; 0xca 80852c4: 200a movs r0, #10 80852c6: f7d0 fd49 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 80852ca: f507 733b add.w r3, r7, #748 ; 0x2ec 80852ce: 461a mov r2, r3 80852d0: 21ca movs r1, #202 ; 0xca 80852d2: f44f 7082 mov.w r0, #260 ; 0x104 80852d6: f7d0 fd59 bl 8055d8c 80852da: f002 be99 b.w 8088010 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80852de: 4926 ldr r1, [pc, #152] ; (8085378 ) 80852e0: f04f 30ff mov.w r0, #4294967295 80852e4: f7cf ff92 bl 805520c if(pardata.IIN != VOLTS) 80852e8: 4b20 ldr r3, [pc, #128] ; (808536c ) 80852ea: 799b ldrb r3, [r3, #6] 80852ec: b2db uxtb r3, r3 80852ee: 2b02 cmp r3, #2 80852f0: d010 beq.n 8085314 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80852f2: 4b1e ldr r3, [pc, #120] ; (808536c ) 80852f4: 7b1b ldrb r3, [r3, #12] 80852f6: b2db uxtb r3, r3 80852f8: 4619 mov r1, r3 80852fa: 4a1d ldr r2, [pc, #116] ; (8085370 ) 80852fc: 232c movs r3, #44 ; 0x2c 80852fe: fb03 f301 mul.w r3, r3, r1 8085302: 4413 add r3, r2 8085304: 3324 adds r3, #36 ; 0x24 8085306: 681b ldr r3, [r3, #0] 8085308: 461a mov r2, r3 808530a: 21ca movs r1, #202 ; 0xca 808530c: 200a movs r0, #10 808530e: f7d0 fd25 bl 8055d5c 8085312: e00f b.n 8085334 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085314: 4b15 ldr r3, [pc, #84] ; (808536c ) 8085316: 7b1b ldrb r3, [r3, #12] 8085318: b2db uxtb r3, r3 808531a: 4619 mov r1, r3 808531c: 4a1f ldr r2, [pc, #124] ; (808539c ) 808531e: 232c movs r3, #44 ; 0x2c 8085320: fb03 f301 mul.w r3, r3, r1 8085324: 4413 add r3, r2 8085326: 3324 adds r3, #36 ; 0x24 8085328: 681b ldr r3, [r3, #0] 808532a: 461a mov r2, r3 808532c: 21ca movs r1, #202 ; 0xca 808532e: 200a movs r0, #10 8085330: f7d0 fd14 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085334: 4910 ldr r1, [pc, #64] ; (8085378 ) 8085336: 4812 ldr r0, [pc, #72] ; (8085380 ) 8085338: f7cf ff68 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 808533c: f507 733b add.w r3, r7, #748 ; 0x2ec 8085340: 461a mov r2, r3 8085342: 21ca movs r1, #202 ; 0xca 8085344: f44f 7082 mov.w r0, #260 ; 0x104 8085348: f7d0 fd20 bl 8055d8c 808534c: f002 be60 b.w 8088010 8085350: 080d61a4 .word 0x080d61a4 8085354: 080d5cf0 .word 0x080d5cf0 8085358: 080d5cf8 .word 0x080d5cf8 808535c: 080d6ae0 .word 0x080d6ae0 8085360: 080d6af0 .word 0x080d6af0 8085364: 080d5e94 .word 0x080d5e94 8085368: 080d5e5c .word 0x080d5e5c 808536c: 20023eb8 .word 0x20023eb8 8085370: 200206bc .word 0x200206bc 8085374: 20020070 .word 0x20020070 8085378: ff0a0f1f .word 0xff0a0f1f 808537c: 200205cc .word 0x200205cc 8085380: ffd8aa57 .word 0xffd8aa57 8085384: 200202a4 .word 0x200202a4 8085388: 200201a4 .word 0x200201a4 808538c: 2002021c .word 0x2002021c 8085390: 200201f4 .word 0x200201f4 8085394: 2002022c .word 0x2002022c 8085398: ff808080 .word 0xff808080 808539c: 20020714 .word 0x20020714 if(menupos == SpecType) 80853a0: 4ba7 ldr r3, [pc, #668] ; (8085640 ) 80853a2: 781b ldrb r3, [r3, #0] 80853a4: b2db uxtb r3, r3 80853a6: 2b01 cmp r3, #1 80853a8: f040 8168 bne.w 808567c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80853ac: 49a5 ldr r1, [pc, #660] ; (8085644 ) 80853ae: f04f 30ff mov.w r0, #4294967295 80853b2: f7cf ff2b bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80853b6: 4ba4 ldr r3, [pc, #656] ; (8085648 ) 80853b8: 7b1b ldrb r3, [r3, #12] 80853ba: b2db uxtb r3, r3 80853bc: 461a mov r2, r3 80853be: 4ba3 ldr r3, [pc, #652] ; (808564c ) 80853c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80853c4: 461a mov r2, r3 80853c6: 2127 movs r1, #39 ; 0x27 80853c8: 200a movs r0, #10 80853ca: f7d0 fcc7 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80853ce: 499d ldr r1, [pc, #628] ; (8085644 ) 80853d0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80853d4: f7cf ff1a bl 805520c if(focused) 80853d8: 4b9d ldr r3, [pc, #628] ; (8085650 ) 80853da: 781b ldrb r3, [r3, #0] 80853dc: b2db uxtb r3, r3 80853de: 2b00 cmp r3, #0 80853e0: d027 beq.n 8085432 if(blk) 80853e2: 4b9c ldr r3, [pc, #624] ; (8085654 ) 80853e4: 681b ldr r3, [r3, #0] 80853e6: 2b00 cmp r3, #0 80853e8: d046 beq.n 8085478 if((pardata.OPTIONS & maskFFT) == fft) 80853ea: 4b97 ldr r3, [pc, #604] ; (8085648 ) 80853ec: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80853f0: f003 0330 and.w r3, r3, #48 ; 0x30 80853f4: 2b00 cmp r3, #0 80853f6: d10d bne.n 8085414 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 80853f8: 4b93 ldr r3, [pc, #588] ; (8085648 ) 80853fa: 7b1b ldrb r3, [r3, #12] 80853fc: b2db uxtb r3, r3 80853fe: 4a96 ldr r2, [pc, #600] ; (8085658 ) 8085400: 011b lsls r3, r3, #4 8085402: 4413 add r3, r2 8085404: 681b ldr r3, [r3, #0] 8085406: 461a mov r2, r3 8085408: 213a movs r1, #58 ; 0x3a 808540a: f44f 7082 mov.w r0, #260 ; 0x104 808540e: f7d0 fcbd bl 8055d8c 8085412: e031 b.n 8085478 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8085414: 4b8c ldr r3, [pc, #560] ; (8085648 ) 8085416: 7b1b ldrb r3, [r3, #12] 8085418: b2db uxtb r3, r3 808541a: 4a8f ldr r2, [pc, #572] ; (8085658 ) 808541c: 011b lsls r3, r3, #4 808541e: 4413 add r3, r2 8085420: 3304 adds r3, #4 8085422: 681b ldr r3, [r3, #0] 8085424: 461a mov r2, r3 8085426: 213a movs r1, #58 ; 0x3a 8085428: f44f 7082 mov.w r0, #260 ; 0x104 808542c: f7d0 fcae bl 8055d8c 8085430: e022 b.n 8085478 if((pardata.OPTIONS & maskFFT) == fft) 8085432: 4b85 ldr r3, [pc, #532] ; (8085648 ) 8085434: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085438: f003 0330 and.w r3, r3, #48 ; 0x30 808543c: 2b00 cmp r3, #0 808543e: d10d bne.n 808545c LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8085440: 4b81 ldr r3, [pc, #516] ; (8085648 ) 8085442: 7b1b ldrb r3, [r3, #12] 8085444: b2db uxtb r3, r3 8085446: 4a84 ldr r2, [pc, #528] ; (8085658 ) 8085448: 011b lsls r3, r3, #4 808544a: 4413 add r3, r2 808544c: 681b ldr r3, [r3, #0] 808544e: 461a mov r2, r3 8085450: 213a movs r1, #58 ; 0x3a 8085452: f44f 7082 mov.w r0, #260 ; 0x104 8085456: f7d0 fc99 bl 8055d8c 808545a: e00d b.n 8085478 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 808545c: 4b7a ldr r3, [pc, #488] ; (8085648 ) 808545e: 7b1b ldrb r3, [r3, #12] 8085460: b2db uxtb r3, r3 8085462: 4a7d ldr r2, [pc, #500] ; (8085658 ) 8085464: 011b lsls r3, r3, #4 8085466: 4413 add r3, r2 8085468: 3304 adds r3, #4 808546a: 681b ldr r3, [r3, #0] 808546c: 461a mov r2, r3 808546e: 213a movs r1, #58 ; 0x3a 8085470: f44f 7082 mov.w r0, #260 ; 0x104 8085474: f7d0 fc8a bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085478: 4972 ldr r1, [pc, #456] ; (8085644 ) 808547a: 4878 ldr r0, [pc, #480] ; (808565c ) 808547c: f7cf fec6 bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8085480: 4b71 ldr r3, [pc, #452] ; (8085648 ) 8085482: 7b1b ldrb r3, [r3, #12] 8085484: b2db uxtb r3, r3 8085486: 4618 mov r0, r3 8085488: 4b6f ldr r3, [pc, #444] ; (8085648 ) 808548a: 785b ldrb r3, [r3, #1] 808548c: b2db uxtb r3, r3 808548e: 005b lsls r3, r3, #1 8085490: 4a6d ldr r2, [pc, #436] ; (8085648 ) 8085492: 7852 ldrb r2, [r2, #1] 8085494: b2d2 uxtb r2, r2 8085496: 4611 mov r1, r2 8085498: 4a6b ldr r2, [pc, #428] ; (8085648 ) 808549a: 440a add r2, r1 808549c: 7892 ldrb r2, [r2, #2] 808549e: b2d2 uxtb r2, r2 80854a0: 431a orrs r2, r3 80854a2: 496f ldr r1, [pc, #444] ; (8085660 ) 80854a4: 4603 mov r3, r0 80854a6: 005b lsls r3, r3, #1 80854a8: 4403 add r3, r0 80854aa: 005b lsls r3, r3, #1 80854ac: 4413 add r3, r2 80854ae: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80854b2: 461a mov r2, r3 80854b4: 214a movs r1, #74 ; 0x4a 80854b6: f44f 7082 mov.w r0, #260 ; 0x104 80854ba: f7d0 fc67 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80854be: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80854c2: 461a mov r2, r3 80854c4: 215a movs r1, #90 ; 0x5a 80854c6: f44f 7082 mov.w r0, #260 ; 0x104 80854ca: f7d0 fc5f bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80854ce: f507 73cc add.w r3, r7, #408 ; 0x198 80854d2: 461a mov r2, r3 80854d4: 216a movs r1, #106 ; 0x6a 80854d6: f44f 7082 mov.w r0, #260 ; 0x104 80854da: f7d0 fc57 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 80854de: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80854e2: 461a mov r2, r3 80854e4: 217a movs r1, #122 ; 0x7a 80854e6: f44f 7082 mov.w r0, #260 ; 0x104 80854ea: f7d0 fc4f bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 80854ee: 4b56 ldr r3, [pc, #344] ; (8085648 ) 80854f0: 7b1b ldrb r3, [r3, #12] 80854f2: b2db uxtb r3, r3 80854f4: 4618 mov r0, r3 80854f6: 4b54 ldr r3, [pc, #336] ; (8085648 ) 80854f8: 7a9b ldrb r3, [r3, #10] 80854fa: b2db uxtb r3, r3 80854fc: 4619 mov r1, r3 80854fe: 4a59 ldr r2, [pc, #356] ; (8085664 ) 8085500: 0043 lsls r3, r0, #1 8085502: 440b add r3, r1 8085504: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085508: 461a mov r2, r3 808550a: 218a movs r1, #138 ; 0x8a 808550c: f44f 7082 mov.w r0, #260 ; 0x104 8085510: f7d0 fc3c bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8085514: 4b4c ldr r3, [pc, #304] ; (8085648 ) 8085516: 7b1b ldrb r3, [r3, #12] 8085518: b2db uxtb r3, r3 808551a: 4619 mov r1, r3 808551c: 4b4a ldr r3, [pc, #296] ; (8085648 ) 808551e: 7a5b ldrb r3, [r3, #9] 8085520: b2db uxtb r3, r3 8085522: 4618 mov r0, r3 8085524: 4a50 ldr r2, [pc, #320] ; (8085668 ) 8085526: 460b mov r3, r1 8085528: 009b lsls r3, r3, #2 808552a: 440b add r3, r1 808552c: 4403 add r3, r0 808552e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085532: 461a mov r2, r3 8085534: 219a movs r1, #154 ; 0x9a 8085536: f44f 7082 mov.w r0, #260 ; 0x104 808553a: f7d0 fc27 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 808553e: 4b42 ldr r3, [pc, #264] ; (8085648 ) 8085540: 7b5b ldrb r3, [r3, #13] 8085542: b2db uxtb r3, r3 8085544: 461a mov r2, r3 8085546: 4b49 ldr r3, [pc, #292] ; (808566c ) 8085548: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808554c: 461a mov r2, r3 808554e: 21aa movs r1, #170 ; 0xaa 8085550: f44f 7082 mov.w r0, #260 ; 0x104 8085554: f7d0 fc1a bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8085558: 4b3b ldr r3, [pc, #236] ; (8085648 ) 808555a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808555e: f003 0304 and.w r3, r3, #4 8085562: 2b00 cmp r3, #0 8085564: d033 beq.n 80855ce LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8085566: 4937 ldr r1, [pc, #220] ; (8085644 ) 8085568: 4841 ldr r0, [pc, #260] ; (8085670 ) 808556a: f7cf fe4f bl 805520c if(pardata.IIN != VOLTS) 808556e: 4b36 ldr r3, [pc, #216] ; (8085648 ) 8085570: 799b ldrb r3, [r3, #6] 8085572: b2db uxtb r3, r3 8085574: 2b02 cmp r3, #2 8085576: d010 beq.n 808559a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085578: 4b33 ldr r3, [pc, #204] ; (8085648 ) 808557a: 7b1b ldrb r3, [r3, #12] 808557c: b2db uxtb r3, r3 808557e: 4619 mov r1, r3 8085580: 4a3c ldr r2, [pc, #240] ; (8085674 ) 8085582: 232c movs r3, #44 ; 0x2c 8085584: fb03 f301 mul.w r3, r3, r1 8085588: 4413 add r3, r2 808558a: 3324 adds r3, #36 ; 0x24 808558c: 681b ldr r3, [r3, #0] 808558e: 461a mov r2, r3 8085590: 21ca movs r1, #202 ; 0xca 8085592: 200a movs r0, #10 8085594: f7d0 fbe2 bl 8055d5c 8085598: e00f b.n 80855ba else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808559a: 4b2b ldr r3, [pc, #172] ; (8085648 ) 808559c: 7b1b ldrb r3, [r3, #12] 808559e: b2db uxtb r3, r3 80855a0: 4619 mov r1, r3 80855a2: 4a35 ldr r2, [pc, #212] ; (8085678 ) 80855a4: 232c movs r3, #44 ; 0x2c 80855a6: fb03 f301 mul.w r3, r3, r1 80855aa: 4413 add r3, r2 80855ac: 3324 adds r3, #36 ; 0x24 80855ae: 681b ldr r3, [r3, #0] 80855b0: 461a mov r2, r3 80855b2: 21ca movs r1, #202 ; 0xca 80855b4: 200a movs r0, #10 80855b6: f7d0 fbd1 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 80855ba: f507 733b add.w r3, r7, #748 ; 0x2ec 80855be: 461a mov r2, r3 80855c0: 21ca movs r1, #202 ; 0xca 80855c2: f44f 7082 mov.w r0, #260 ; 0x104 80855c6: f7d0 fbe1 bl 8055d8c 80855ca: f002 bd21 b.w 8088010 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80855ce: 491d ldr r1, [pc, #116] ; (8085644 ) 80855d0: f04f 30ff mov.w r0, #4294967295 80855d4: f7cf fe1a bl 805520c if(pardata.IIN != VOLTS) 80855d8: 4b1b ldr r3, [pc, #108] ; (8085648 ) 80855da: 799b ldrb r3, [r3, #6] 80855dc: b2db uxtb r3, r3 80855de: 2b02 cmp r3, #2 80855e0: d010 beq.n 8085604 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80855e2: 4b19 ldr r3, [pc, #100] ; (8085648 ) 80855e4: 7b1b ldrb r3, [r3, #12] 80855e6: b2db uxtb r3, r3 80855e8: 4619 mov r1, r3 80855ea: 4a22 ldr r2, [pc, #136] ; (8085674 ) 80855ec: 232c movs r3, #44 ; 0x2c 80855ee: fb03 f301 mul.w r3, r3, r1 80855f2: 4413 add r3, r2 80855f4: 3324 adds r3, #36 ; 0x24 80855f6: 681b ldr r3, [r3, #0] 80855f8: 461a mov r2, r3 80855fa: 21ca movs r1, #202 ; 0xca 80855fc: 200a movs r0, #10 80855fe: f7d0 fbad bl 8055d5c 8085602: e00f b.n 8085624 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085604: 4b10 ldr r3, [pc, #64] ; (8085648 ) 8085606: 7b1b ldrb r3, [r3, #12] 8085608: b2db uxtb r3, r3 808560a: 4619 mov r1, r3 808560c: 4a1a ldr r2, [pc, #104] ; (8085678 ) 808560e: 232c movs r3, #44 ; 0x2c 8085610: fb03 f301 mul.w r3, r3, r1 8085614: 4413 add r3, r2 8085616: 3324 adds r3, #36 ; 0x24 8085618: 681b ldr r3, [r3, #0] 808561a: 461a mov r2, r3 808561c: 21ca movs r1, #202 ; 0xca 808561e: 200a movs r0, #10 8085620: f7d0 fb9c bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085624: 4907 ldr r1, [pc, #28] ; (8085644 ) 8085626: 480d ldr r0, [pc, #52] ; (808565c ) 8085628: f7cf fdf0 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 808562c: f507 733b add.w r3, r7, #748 ; 0x2ec 8085630: 461a mov r2, r3 8085632: 21ca movs r1, #202 ; 0xca 8085634: f44f 7082 mov.w r0, #260 ; 0x104 8085638: f7d0 fba8 bl 8055d8c 808563c: f002 bce8 b.w 8088010 8085640: 20020070 .word 0x20020070 8085644: ff0a0f1f .word 0xff0a0f1f 8085648: 20023eb8 .word 0x20023eb8 808564c: 200205cc .word 0x200205cc 8085650: 20020fd0 .word 0x20020fd0 8085654: 200216ac .word 0x200216ac 8085658: 200202a4 .word 0x200202a4 808565c: ffd8aa57 .word 0xffd8aa57 8085660: 200201a4 .word 0x200201a4 8085664: 2002021c .word 0x2002021c 8085668: 200201f4 .word 0x200201f4 808566c: 2002022c .word 0x2002022c 8085670: ff808080 .word 0xff808080 8085674: 200206bc .word 0x200206bc 8085678: 20020714 .word 0x20020714 if(menupos == SpecValue) 808567c: 4bc4 ldr r3, [pc, #784] ; (8085990 ) 808567e: 781b ldrb r3, [r3, #0] 8085680: b2db uxtb r3, r3 8085682: 2b02 cmp r3, #2 8085684: f040 8146 bne.w 8085914 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085688: 49c2 ldr r1, [pc, #776] ; (8085994 ) 808568a: f04f 30ff mov.w r0, #4294967295 808568e: f7cf fdbd bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8085692: 4bc1 ldr r3, [pc, #772] ; (8085998 ) 8085694: 7b1b ldrb r3, [r3, #12] 8085696: b2db uxtb r3, r3 8085698: 461a mov r2, r3 808569a: 4bc0 ldr r3, [pc, #768] ; (808599c ) 808569c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80856a0: 461a mov r2, r3 80856a2: 2127 movs r1, #39 ; 0x27 80856a4: 200a movs r0, #10 80856a6: f7d0 fb59 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80856aa: 49ba ldr r1, [pc, #744] ; (8085994 ) 80856ac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80856b0: f7cf fdac bl 805520c if(focused) 80856b4: 4bba ldr r3, [pc, #744] ; (80859a0 ) 80856b6: 781b ldrb r3, [r3, #0] 80856b8: b2db uxtb r3, r3 80856ba: 2b00 cmp r3, #0 80856bc: d023 beq.n 8085706 if(blk) 80856be: 4bb9 ldr r3, [pc, #740] ; (80859a4 ) 80856c0: 681b ldr r3, [r3, #0] 80856c2: 2b00 cmp r3, #0 80856c4: d03e beq.n 8085744 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80856c6: 4bb4 ldr r3, [pc, #720] ; (8085998 ) 80856c8: 7b1b ldrb r3, [r3, #12] 80856ca: b2db uxtb r3, r3 80856cc: 4618 mov r0, r3 80856ce: 4bb2 ldr r3, [pc, #712] ; (8085998 ) 80856d0: 785b ldrb r3, [r3, #1] 80856d2: b2db uxtb r3, r3 80856d4: 005b lsls r3, r3, #1 80856d6: 4ab0 ldr r2, [pc, #704] ; (8085998 ) 80856d8: 7852 ldrb r2, [r2, #1] 80856da: b2d2 uxtb r2, r2 80856dc: 4611 mov r1, r2 80856de: 4aae ldr r2, [pc, #696] ; (8085998 ) 80856e0: 440a add r2, r1 80856e2: 7892 ldrb r2, [r2, #2] 80856e4: b2d2 uxtb r2, r2 80856e6: 431a orrs r2, r3 80856e8: 49af ldr r1, [pc, #700] ; (80859a8 ) 80856ea: 4603 mov r3, r0 80856ec: 005b lsls r3, r3, #1 80856ee: 4403 add r3, r0 80856f0: 005b lsls r3, r3, #1 80856f2: 4413 add r3, r2 80856f4: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80856f8: 461a mov r2, r3 80856fa: 214a movs r1, #74 ; 0x4a 80856fc: f44f 7082 mov.w r0, #260 ; 0x104 8085700: f7d0 fb44 bl 8055d8c 8085704: e01e b.n 8085744 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8085706: 4ba4 ldr r3, [pc, #656] ; (8085998 ) 8085708: 7b1b ldrb r3, [r3, #12] 808570a: b2db uxtb r3, r3 808570c: 4618 mov r0, r3 808570e: 4ba2 ldr r3, [pc, #648] ; (8085998 ) 8085710: 785b ldrb r3, [r3, #1] 8085712: b2db uxtb r3, r3 8085714: 005b lsls r3, r3, #1 8085716: 4aa0 ldr r2, [pc, #640] ; (8085998 ) 8085718: 7852 ldrb r2, [r2, #1] 808571a: b2d2 uxtb r2, r2 808571c: 4611 mov r1, r2 808571e: 4a9e ldr r2, [pc, #632] ; (8085998 ) 8085720: 440a add r2, r1 8085722: 7892 ldrb r2, [r2, #2] 8085724: b2d2 uxtb r2, r2 8085726: 431a orrs r2, r3 8085728: 499f ldr r1, [pc, #636] ; (80859a8 ) 808572a: 4603 mov r3, r0 808572c: 005b lsls r3, r3, #1 808572e: 4403 add r3, r0 8085730: 005b lsls r3, r3, #1 8085732: 4413 add r3, r2 8085734: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8085738: 461a mov r2, r3 808573a: 214a movs r1, #74 ; 0x4a 808573c: f44f 7082 mov.w r0, #260 ; 0x104 8085740: f7d0 fb24 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085744: 4993 ldr r1, [pc, #588] ; (8085994 ) 8085746: 4899 ldr r0, [pc, #612] ; (80859ac ) 8085748: f7cf fd60 bl 805520c if((pardata.OPTIONS & maskFFT) == fft) 808574c: 4b92 ldr r3, [pc, #584] ; (8085998 ) 808574e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085752: f003 0330 and.w r3, r3, #48 ; 0x30 8085756: 2b00 cmp r3, #0 8085758: d10d bne.n 8085776 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 808575a: 4b8f ldr r3, [pc, #572] ; (8085998 ) 808575c: 7b1b ldrb r3, [r3, #12] 808575e: b2db uxtb r3, r3 8085760: 4a93 ldr r2, [pc, #588] ; (80859b0 ) 8085762: 011b lsls r3, r3, #4 8085764: 4413 add r3, r2 8085766: 681b ldr r3, [r3, #0] 8085768: 461a mov r2, r3 808576a: 213a movs r1, #58 ; 0x3a 808576c: f44f 7082 mov.w r0, #260 ; 0x104 8085770: f7d0 fb0c bl 8055d8c 8085774: e00d b.n 8085792 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8085776: 4b88 ldr r3, [pc, #544] ; (8085998 ) 8085778: 7b1b ldrb r3, [r3, #12] 808577a: b2db uxtb r3, r3 808577c: 4a8c ldr r2, [pc, #560] ; (80859b0 ) 808577e: 011b lsls r3, r3, #4 8085780: 4413 add r3, r2 8085782: 3304 adds r3, #4 8085784: 681b ldr r3, [r3, #0] 8085786: 461a mov r2, r3 8085788: 213a movs r1, #58 ; 0x3a 808578a: f44f 7082 mov.w r0, #260 ; 0x104 808578e: f7d0 fafd bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8085792: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8085796: 461a mov r2, r3 8085798: 215a movs r1, #90 ; 0x5a 808579a: f44f 7082 mov.w r0, #260 ; 0x104 808579e: f7d0 faf5 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80857a2: f507 73cc add.w r3, r7, #408 ; 0x198 80857a6: 461a mov r2, r3 80857a8: 216a movs r1, #106 ; 0x6a 80857aa: f44f 7082 mov.w r0, #260 ; 0x104 80857ae: f7d0 faed bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 80857b2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80857b6: 461a mov r2, r3 80857b8: 217a movs r1, #122 ; 0x7a 80857ba: f44f 7082 mov.w r0, #260 ; 0x104 80857be: f7d0 fae5 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 80857c2: 4b75 ldr r3, [pc, #468] ; (8085998 ) 80857c4: 7b1b ldrb r3, [r3, #12] 80857c6: b2db uxtb r3, r3 80857c8: 4618 mov r0, r3 80857ca: 4b73 ldr r3, [pc, #460] ; (8085998 ) 80857cc: 7a9b ldrb r3, [r3, #10] 80857ce: b2db uxtb r3, r3 80857d0: 4619 mov r1, r3 80857d2: 4a78 ldr r2, [pc, #480] ; (80859b4 ) 80857d4: 0043 lsls r3, r0, #1 80857d6: 440b add r3, r1 80857d8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80857dc: 461a mov r2, r3 80857de: 218a movs r1, #138 ; 0x8a 80857e0: f44f 7082 mov.w r0, #260 ; 0x104 80857e4: f7d0 fad2 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 80857e8: 4b6b ldr r3, [pc, #428] ; (8085998 ) 80857ea: 7b1b ldrb r3, [r3, #12] 80857ec: b2db uxtb r3, r3 80857ee: 4619 mov r1, r3 80857f0: 4b69 ldr r3, [pc, #420] ; (8085998 ) 80857f2: 7a5b ldrb r3, [r3, #9] 80857f4: b2db uxtb r3, r3 80857f6: 4618 mov r0, r3 80857f8: 4a6f ldr r2, [pc, #444] ; (80859b8 ) 80857fa: 460b mov r3, r1 80857fc: 009b lsls r3, r3, #2 80857fe: 440b add r3, r1 8085800: 4403 add r3, r0 8085802: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085806: 461a mov r2, r3 8085808: 219a movs r1, #154 ; 0x9a 808580a: f44f 7082 mov.w r0, #260 ; 0x104 808580e: f7d0 fabd bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8085812: 4b61 ldr r3, [pc, #388] ; (8085998 ) 8085814: 7b5b ldrb r3, [r3, #13] 8085816: b2db uxtb r3, r3 8085818: 461a mov r2, r3 808581a: 4b68 ldr r3, [pc, #416] ; (80859bc ) 808581c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085820: 461a mov r2, r3 8085822: 21aa movs r1, #170 ; 0xaa 8085824: f44f 7082 mov.w r0, #260 ; 0x104 8085828: f7d0 fab0 bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 808582c: 4b5a ldr r3, [pc, #360] ; (8085998 ) 808582e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085832: f003 0304 and.w r3, r3, #4 8085836: 2b00 cmp r3, #0 8085838: d033 beq.n 80858a2 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808583a: 4956 ldr r1, [pc, #344] ; (8085994 ) 808583c: 4860 ldr r0, [pc, #384] ; (80859c0 ) 808583e: f7cf fce5 bl 805520c if(pardata.IIN != VOLTS) 8085842: 4b55 ldr r3, [pc, #340] ; (8085998 ) 8085844: 799b ldrb r3, [r3, #6] 8085846: b2db uxtb r3, r3 8085848: 2b02 cmp r3, #2 808584a: d010 beq.n 808586e LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808584c: 4b52 ldr r3, [pc, #328] ; (8085998 ) 808584e: 7b1b ldrb r3, [r3, #12] 8085850: b2db uxtb r3, r3 8085852: 4619 mov r1, r3 8085854: 4a5b ldr r2, [pc, #364] ; (80859c4 ) 8085856: 232c movs r3, #44 ; 0x2c 8085858: fb03 f301 mul.w r3, r3, r1 808585c: 4413 add r3, r2 808585e: 3324 adds r3, #36 ; 0x24 8085860: 681b ldr r3, [r3, #0] 8085862: 461a mov r2, r3 8085864: 21ca movs r1, #202 ; 0xca 8085866: 200a movs r0, #10 8085868: f7d0 fa78 bl 8055d5c 808586c: e00f b.n 808588e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808586e: 4b4a ldr r3, [pc, #296] ; (8085998 ) 8085870: 7b1b ldrb r3, [r3, #12] 8085872: b2db uxtb r3, r3 8085874: 4619 mov r1, r3 8085876: 4a54 ldr r2, [pc, #336] ; (80859c8 ) 8085878: 232c movs r3, #44 ; 0x2c 808587a: fb03 f301 mul.w r3, r3, r1 808587e: 4413 add r3, r2 8085880: 3324 adds r3, #36 ; 0x24 8085882: 681b ldr r3, [r3, #0] 8085884: 461a mov r2, r3 8085886: 21ca movs r1, #202 ; 0xca 8085888: 200a movs r0, #10 808588a: f7d0 fa67 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 808588e: f507 733b add.w r3, r7, #748 ; 0x2ec 8085892: 461a mov r2, r3 8085894: 21ca movs r1, #202 ; 0xca 8085896: f44f 7082 mov.w r0, #260 ; 0x104 808589a: f7d0 fa77 bl 8055d8c 808589e: f002 bbb7 b.w 8088010 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80858a2: 493c ldr r1, [pc, #240] ; (8085994 ) 80858a4: f04f 30ff mov.w r0, #4294967295 80858a8: f7cf fcb0 bl 805520c if(pardata.IIN != VOLTS) 80858ac: 4b3a ldr r3, [pc, #232] ; (8085998 ) 80858ae: 799b ldrb r3, [r3, #6] 80858b0: b2db uxtb r3, r3 80858b2: 2b02 cmp r3, #2 80858b4: d010 beq.n 80858d8 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80858b6: 4b38 ldr r3, [pc, #224] ; (8085998 ) 80858b8: 7b1b ldrb r3, [r3, #12] 80858ba: b2db uxtb r3, r3 80858bc: 4619 mov r1, r3 80858be: 4a41 ldr r2, [pc, #260] ; (80859c4 ) 80858c0: 232c movs r3, #44 ; 0x2c 80858c2: fb03 f301 mul.w r3, r3, r1 80858c6: 4413 add r3, r2 80858c8: 3324 adds r3, #36 ; 0x24 80858ca: 681b ldr r3, [r3, #0] 80858cc: 461a mov r2, r3 80858ce: 21ca movs r1, #202 ; 0xca 80858d0: 200a movs r0, #10 80858d2: f7d0 fa43 bl 8055d5c 80858d6: e00f b.n 80858f8 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80858d8: 4b2f ldr r3, [pc, #188] ; (8085998 ) 80858da: 7b1b ldrb r3, [r3, #12] 80858dc: b2db uxtb r3, r3 80858de: 4619 mov r1, r3 80858e0: 4a39 ldr r2, [pc, #228] ; (80859c8 ) 80858e2: 232c movs r3, #44 ; 0x2c 80858e4: fb03 f301 mul.w r3, r3, r1 80858e8: 4413 add r3, r2 80858ea: 3324 adds r3, #36 ; 0x24 80858ec: 681b ldr r3, [r3, #0] 80858ee: 461a mov r2, r3 80858f0: 21ca movs r1, #202 ; 0xca 80858f2: 200a movs r0, #10 80858f4: f7d0 fa32 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80858f8: 4926 ldr r1, [pc, #152] ; (8085994 ) 80858fa: 482c ldr r0, [pc, #176] ; (80859ac ) 80858fc: f7cf fc86 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 8085900: f507 733b add.w r3, r7, #748 ; 0x2ec 8085904: 461a mov r2, r3 8085906: 21ca movs r1, #202 ; 0xca 8085908: f44f 7082 mov.w r0, #260 ; 0x104 808590c: f7d0 fa3e bl 8055d8c 8085910: f002 bb7e b.w 8088010 if(menupos == FilterHP) 8085914: 4b1e ldr r3, [pc, #120] ; (8085990 ) 8085916: 781b ldrb r3, [r3, #0] 8085918: b2db uxtb r3, r3 808591a: 2b17 cmp r3, #23 808591c: f040 813c bne.w 8085b98 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085920: 491c ldr r1, [pc, #112] ; (8085994 ) 8085922: f04f 30ff mov.w r0, #4294967295 8085926: f7cf fc71 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 808592a: 4b1b ldr r3, [pc, #108] ; (8085998 ) 808592c: 7b1b ldrb r3, [r3, #12] 808592e: b2db uxtb r3, r3 8085930: 461a mov r2, r3 8085932: 4b1a ldr r3, [pc, #104] ; (808599c ) 8085934: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085938: 461a mov r2, r3 808593a: 2127 movs r1, #39 ; 0x27 808593c: 200a movs r0, #10 808593e: f7d0 fa0d bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085942: 4914 ldr r1, [pc, #80] ; (8085994 ) 8085944: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085948: f7cf fc60 bl 805520c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 808594c: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8085950: 461a mov r2, r3 8085952: 215a movs r1, #90 ; 0x5a 8085954: f44f 7082 mov.w r0, #260 ; 0x104 8085958: f7d0 fa18 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808595c: 490d ldr r1, [pc, #52] ; (8085994 ) 808595e: 4813 ldr r0, [pc, #76] ; (80859ac ) 8085960: f7cf fc54 bl 805520c if((pardata.OPTIONS & maskFFT) == fft) 8085964: 4b0c ldr r3, [pc, #48] ; (8085998 ) 8085966: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808596a: f003 0330 and.w r3, r3, #48 ; 0x30 808596e: 2b00 cmp r3, #0 8085970: d12c bne.n 80859cc LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8085972: 4b09 ldr r3, [pc, #36] ; (8085998 ) 8085974: 7b1b ldrb r3, [r3, #12] 8085976: b2db uxtb r3, r3 8085978: 4a0d ldr r2, [pc, #52] ; (80859b0 ) 808597a: 011b lsls r3, r3, #4 808597c: 4413 add r3, r2 808597e: 681b ldr r3, [r3, #0] 8085980: 461a mov r2, r3 8085982: 213a movs r1, #58 ; 0x3a 8085984: f44f 7082 mov.w r0, #260 ; 0x104 8085988: f7d0 fa00 bl 8055d8c 808598c: e02c b.n 80859e8 808598e: bf00 nop 8085990: 20020070 .word 0x20020070 8085994: ff0a0f1f .word 0xff0a0f1f 8085998: 20023eb8 .word 0x20023eb8 808599c: 200205cc .word 0x200205cc 80859a0: 20020fd0 .word 0x20020fd0 80859a4: 200216ac .word 0x200216ac 80859a8: 200201a4 .word 0x200201a4 80859ac: ffd8aa57 .word 0xffd8aa57 80859b0: 200202a4 .word 0x200202a4 80859b4: 2002021c .word 0x2002021c 80859b8: 200201f4 .word 0x200201f4 80859bc: 2002022c .word 0x2002022c 80859c0: ff808080 .word 0xff808080 80859c4: 200206bc .word 0x200206bc 80859c8: 20020714 .word 0x20020714 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 80859cc: 4b91 ldr r3, [pc, #580] ; (8085c14 ) 80859ce: 7b1b ldrb r3, [r3, #12] 80859d0: b2db uxtb r3, r3 80859d2: 4a91 ldr r2, [pc, #580] ; (8085c18 ) 80859d4: 011b lsls r3, r3, #4 80859d6: 4413 add r3, r2 80859d8: 3304 adds r3, #4 80859da: 681b ldr r3, [r3, #0] 80859dc: 461a mov r2, r3 80859de: 213a movs r1, #58 ; 0x3a 80859e0: f44f 7082 mov.w r0, #260 ; 0x104 80859e4: f7d0 f9d2 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80859e8: 4b8a ldr r3, [pc, #552] ; (8085c14 ) 80859ea: 7b1b ldrb r3, [r3, #12] 80859ec: b2db uxtb r3, r3 80859ee: 4618 mov r0, r3 80859f0: 4b88 ldr r3, [pc, #544] ; (8085c14 ) 80859f2: 785b ldrb r3, [r3, #1] 80859f4: b2db uxtb r3, r3 80859f6: 005b lsls r3, r3, #1 80859f8: 4a86 ldr r2, [pc, #536] ; (8085c14 ) 80859fa: 7852 ldrb r2, [r2, #1] 80859fc: b2d2 uxtb r2, r2 80859fe: 4611 mov r1, r2 8085a00: 4a84 ldr r2, [pc, #528] ; (8085c14 ) 8085a02: 440a add r2, r1 8085a04: 7892 ldrb r2, [r2, #2] 8085a06: b2d2 uxtb r2, r2 8085a08: 431a orrs r2, r3 8085a0a: 4984 ldr r1, [pc, #528] ; (8085c1c ) 8085a0c: 4603 mov r3, r0 8085a0e: 005b lsls r3, r3, #1 8085a10: 4403 add r3, r0 8085a12: 005b lsls r3, r3, #1 8085a14: 4413 add r3, r2 8085a16: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8085a1a: 461a mov r2, r3 8085a1c: 214a movs r1, #74 ; 0x4a 8085a1e: f44f 7082 mov.w r0, #260 ; 0x104 8085a22: f7d0 f9b3 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8085a26: f507 73cc add.w r3, r7, #408 ; 0x198 8085a2a: 461a mov r2, r3 8085a2c: 216a movs r1, #106 ; 0x6a 8085a2e: f44f 7082 mov.w r0, #260 ; 0x104 8085a32: f7d0 f9ab bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 8085a36: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8085a3a: 461a mov r2, r3 8085a3c: 217a movs r1, #122 ; 0x7a 8085a3e: f44f 7082 mov.w r0, #260 ; 0x104 8085a42: f7d0 f9a3 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8085a46: 4b73 ldr r3, [pc, #460] ; (8085c14 ) 8085a48: 7b1b ldrb r3, [r3, #12] 8085a4a: b2db uxtb r3, r3 8085a4c: 4618 mov r0, r3 8085a4e: 4b71 ldr r3, [pc, #452] ; (8085c14 ) 8085a50: 7a9b ldrb r3, [r3, #10] 8085a52: b2db uxtb r3, r3 8085a54: 4619 mov r1, r3 8085a56: 4a72 ldr r2, [pc, #456] ; (8085c20 ) 8085a58: 0043 lsls r3, r0, #1 8085a5a: 440b add r3, r1 8085a5c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085a60: 461a mov r2, r3 8085a62: 218a movs r1, #138 ; 0x8a 8085a64: f44f 7082 mov.w r0, #260 ; 0x104 8085a68: f7d0 f990 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8085a6c: 4b69 ldr r3, [pc, #420] ; (8085c14 ) 8085a6e: 7b1b ldrb r3, [r3, #12] 8085a70: b2db uxtb r3, r3 8085a72: 4619 mov r1, r3 8085a74: 4b67 ldr r3, [pc, #412] ; (8085c14 ) 8085a76: 7a5b ldrb r3, [r3, #9] 8085a78: b2db uxtb r3, r3 8085a7a: 4618 mov r0, r3 8085a7c: 4a69 ldr r2, [pc, #420] ; (8085c24 ) 8085a7e: 460b mov r3, r1 8085a80: 009b lsls r3, r3, #2 8085a82: 440b add r3, r1 8085a84: 4403 add r3, r0 8085a86: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085a8a: 461a mov r2, r3 8085a8c: 219a movs r1, #154 ; 0x9a 8085a8e: f44f 7082 mov.w r0, #260 ; 0x104 8085a92: f7d0 f97b bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8085a96: 4b5f ldr r3, [pc, #380] ; (8085c14 ) 8085a98: 7b5b ldrb r3, [r3, #13] 8085a9a: b2db uxtb r3, r3 8085a9c: 461a mov r2, r3 8085a9e: 4b62 ldr r3, [pc, #392] ; (8085c28 ) 8085aa0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085aa4: 461a mov r2, r3 8085aa6: 21aa movs r1, #170 ; 0xaa 8085aa8: f44f 7082 mov.w r0, #260 ; 0x104 8085aac: f7d0 f96e bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8085ab0: 4b58 ldr r3, [pc, #352] ; (8085c14 ) 8085ab2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085ab6: f003 0304 and.w r3, r3, #4 8085aba: 2b00 cmp r3, #0 8085abc: d033 beq.n 8085b26 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8085abe: 495b ldr r1, [pc, #364] ; (8085c2c ) 8085ac0: 485b ldr r0, [pc, #364] ; (8085c30 ) 8085ac2: f7cf fba3 bl 805520c if(pardata.IIN != VOLTS) 8085ac6: 4b53 ldr r3, [pc, #332] ; (8085c14 ) 8085ac8: 799b ldrb r3, [r3, #6] 8085aca: b2db uxtb r3, r3 8085acc: 2b02 cmp r3, #2 8085ace: d010 beq.n 8085af2 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085ad0: 4b50 ldr r3, [pc, #320] ; (8085c14 ) 8085ad2: 7b1b ldrb r3, [r3, #12] 8085ad4: b2db uxtb r3, r3 8085ad6: 4619 mov r1, r3 8085ad8: 4a56 ldr r2, [pc, #344] ; (8085c34 ) 8085ada: 232c movs r3, #44 ; 0x2c 8085adc: fb03 f301 mul.w r3, r3, r1 8085ae0: 4413 add r3, r2 8085ae2: 3324 adds r3, #36 ; 0x24 8085ae4: 681b ldr r3, [r3, #0] 8085ae6: 461a mov r2, r3 8085ae8: 21ca movs r1, #202 ; 0xca 8085aea: 200a movs r0, #10 8085aec: f7d0 f936 bl 8055d5c 8085af0: e00f b.n 8085b12 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085af2: 4b48 ldr r3, [pc, #288] ; (8085c14 ) 8085af4: 7b1b ldrb r3, [r3, #12] 8085af6: b2db uxtb r3, r3 8085af8: 4619 mov r1, r3 8085afa: 4a4f ldr r2, [pc, #316] ; (8085c38 ) 8085afc: 232c movs r3, #44 ; 0x2c 8085afe: fb03 f301 mul.w r3, r3, r1 8085b02: 4413 add r3, r2 8085b04: 3324 adds r3, #36 ; 0x24 8085b06: 681b ldr r3, [r3, #0] 8085b08: 461a mov r2, r3 8085b0a: 21ca movs r1, #202 ; 0xca 8085b0c: 200a movs r0, #10 8085b0e: f7d0 f925 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 8085b12: f507 733b add.w r3, r7, #748 ; 0x2ec 8085b16: 461a mov r2, r3 8085b18: 21ca movs r1, #202 ; 0xca 8085b1a: f44f 7082 mov.w r0, #260 ; 0x104 8085b1e: f7d0 f935 bl 8055d8c 8085b22: f002 ba75 b.w 8088010 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085b26: 4941 ldr r1, [pc, #260] ; (8085c2c ) 8085b28: f04f 30ff mov.w r0, #4294967295 8085b2c: f7cf fb6e bl 805520c if(pardata.IIN != VOLTS) 8085b30: 4b38 ldr r3, [pc, #224] ; (8085c14 ) 8085b32: 799b ldrb r3, [r3, #6] 8085b34: b2db uxtb r3, r3 8085b36: 2b02 cmp r3, #2 8085b38: d010 beq.n 8085b5c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085b3a: 4b36 ldr r3, [pc, #216] ; (8085c14 ) 8085b3c: 7b1b ldrb r3, [r3, #12] 8085b3e: b2db uxtb r3, r3 8085b40: 4619 mov r1, r3 8085b42: 4a3c ldr r2, [pc, #240] ; (8085c34 ) 8085b44: 232c movs r3, #44 ; 0x2c 8085b46: fb03 f301 mul.w r3, r3, r1 8085b4a: 4413 add r3, r2 8085b4c: 3324 adds r3, #36 ; 0x24 8085b4e: 681b ldr r3, [r3, #0] 8085b50: 461a mov r2, r3 8085b52: 21ca movs r1, #202 ; 0xca 8085b54: 200a movs r0, #10 8085b56: f7d0 f901 bl 8055d5c 8085b5a: e00f b.n 8085b7c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085b5c: 4b2d ldr r3, [pc, #180] ; (8085c14 ) 8085b5e: 7b1b ldrb r3, [r3, #12] 8085b60: b2db uxtb r3, r3 8085b62: 4619 mov r1, r3 8085b64: 4a34 ldr r2, [pc, #208] ; (8085c38 ) 8085b66: 232c movs r3, #44 ; 0x2c 8085b68: fb03 f301 mul.w r3, r3, r1 8085b6c: 4413 add r3, r2 8085b6e: 3324 adds r3, #36 ; 0x24 8085b70: 681b ldr r3, [r3, #0] 8085b72: 461a mov r2, r3 8085b74: 21ca movs r1, #202 ; 0xca 8085b76: 200a movs r0, #10 8085b78: f7d0 f8f0 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085b7c: 492b ldr r1, [pc, #172] ; (8085c2c ) 8085b7e: 482f ldr r0, [pc, #188] ; (8085c3c ) 8085b80: f7cf fb44 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 8085b84: f507 733b add.w r3, r7, #748 ; 0x2ec 8085b88: 461a mov r2, r3 8085b8a: 21ca movs r1, #202 ; 0xca 8085b8c: f44f 7082 mov.w r0, #260 ; 0x104 8085b90: f7d0 f8fc bl 8055d8c 8085b94: f002 ba3c b.w 8088010 if(menupos == FilterLP) 8085b98: 4b29 ldr r3, [pc, #164] ; (8085c40 ) 8085b9a: 781b ldrb r3, [r3, #0] 8085b9c: b2db uxtb r3, r3 8085b9e: 2b18 cmp r3, #24 8085ba0: f040 8138 bne.w 8085e14 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085ba4: 4921 ldr r1, [pc, #132] ; (8085c2c ) 8085ba6: f04f 30ff mov.w r0, #4294967295 8085baa: f7cf fb2f bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8085bae: 4b19 ldr r3, [pc, #100] ; (8085c14 ) 8085bb0: 7b1b ldrb r3, [r3, #12] 8085bb2: b2db uxtb r3, r3 8085bb4: 461a mov r2, r3 8085bb6: 4b23 ldr r3, [pc, #140] ; (8085c44 ) 8085bb8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085bbc: 461a mov r2, r3 8085bbe: 2127 movs r1, #39 ; 0x27 8085bc0: 200a movs r0, #10 8085bc2: f7d0 f8cb bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085bc6: 4919 ldr r1, [pc, #100] ; (8085c2c ) 8085bc8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085bcc: f7cf fb1e bl 805520c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8085bd0: f507 73cc add.w r3, r7, #408 ; 0x198 8085bd4: 461a mov r2, r3 8085bd6: 216a movs r1, #106 ; 0x6a 8085bd8: f44f 7082 mov.w r0, #260 ; 0x104 8085bdc: f7d0 f8d6 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085be0: 4912 ldr r1, [pc, #72] ; (8085c2c ) 8085be2: 4816 ldr r0, [pc, #88] ; (8085c3c ) 8085be4: f7cf fb12 bl 805520c if((pardata.OPTIONS & maskFFT) == fft) 8085be8: 4b0a ldr r3, [pc, #40] ; (8085c14 ) 8085bea: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085bee: f003 0330 and.w r3, r3, #48 ; 0x30 8085bf2: 2b00 cmp r3, #0 8085bf4: d128 bne.n 8085c48 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8085bf6: 4b07 ldr r3, [pc, #28] ; (8085c14 ) 8085bf8: 7b1b ldrb r3, [r3, #12] 8085bfa: b2db uxtb r3, r3 8085bfc: 4a06 ldr r2, [pc, #24] ; (8085c18 ) 8085bfe: 011b lsls r3, r3, #4 8085c00: 4413 add r3, r2 8085c02: 681b ldr r3, [r3, #0] 8085c04: 461a mov r2, r3 8085c06: 213a movs r1, #58 ; 0x3a 8085c08: f44f 7082 mov.w r0, #260 ; 0x104 8085c0c: f7d0 f8be bl 8055d8c 8085c10: e028 b.n 8085c64 8085c12: bf00 nop 8085c14: 20023eb8 .word 0x20023eb8 8085c18: 200202a4 .word 0x200202a4 8085c1c: 200201a4 .word 0x200201a4 8085c20: 2002021c .word 0x2002021c 8085c24: 200201f4 .word 0x200201f4 8085c28: 2002022c .word 0x2002022c 8085c2c: ff0a0f1f .word 0xff0a0f1f 8085c30: ff808080 .word 0xff808080 8085c34: 200206bc .word 0x200206bc 8085c38: 20020714 .word 0x20020714 8085c3c: ffd8aa57 .word 0xffd8aa57 8085c40: 20020070 .word 0x20020070 8085c44: 200205cc .word 0x200205cc else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8085c48: 4b9a ldr r3, [pc, #616] ; (8085eb4 ) 8085c4a: 7b1b ldrb r3, [r3, #12] 8085c4c: b2db uxtb r3, r3 8085c4e: 4a9a ldr r2, [pc, #616] ; (8085eb8 ) 8085c50: 011b lsls r3, r3, #4 8085c52: 4413 add r3, r2 8085c54: 3304 adds r3, #4 8085c56: 681b ldr r3, [r3, #0] 8085c58: 461a mov r2, r3 8085c5a: 213a movs r1, #58 ; 0x3a 8085c5c: f44f 7082 mov.w r0, #260 ; 0x104 8085c60: f7d0 f894 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8085c64: 4b93 ldr r3, [pc, #588] ; (8085eb4 ) 8085c66: 7b1b ldrb r3, [r3, #12] 8085c68: b2db uxtb r3, r3 8085c6a: 4618 mov r0, r3 8085c6c: 4b91 ldr r3, [pc, #580] ; (8085eb4 ) 8085c6e: 785b ldrb r3, [r3, #1] 8085c70: b2db uxtb r3, r3 8085c72: 005b lsls r3, r3, #1 8085c74: 4a8f ldr r2, [pc, #572] ; (8085eb4 ) 8085c76: 7852 ldrb r2, [r2, #1] 8085c78: b2d2 uxtb r2, r2 8085c7a: 4611 mov r1, r2 8085c7c: 4a8d ldr r2, [pc, #564] ; (8085eb4 ) 8085c7e: 440a add r2, r1 8085c80: 7892 ldrb r2, [r2, #2] 8085c82: b2d2 uxtb r2, r2 8085c84: 431a orrs r2, r3 8085c86: 498d ldr r1, [pc, #564] ; (8085ebc ) 8085c88: 4603 mov r3, r0 8085c8a: 005b lsls r3, r3, #1 8085c8c: 4403 add r3, r0 8085c8e: 005b lsls r3, r3, #1 8085c90: 4413 add r3, r2 8085c92: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8085c96: 461a mov r2, r3 8085c98: 214a movs r1, #74 ; 0x4a 8085c9a: f44f 7082 mov.w r0, #260 ; 0x104 8085c9e: f7d0 f875 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8085ca2: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8085ca6: 461a mov r2, r3 8085ca8: 215a movs r1, #90 ; 0x5a 8085caa: f44f 7082 mov.w r0, #260 ; 0x104 8085cae: f7d0 f86d bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 8085cb2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8085cb6: 461a mov r2, r3 8085cb8: 217a movs r1, #122 ; 0x7a 8085cba: f44f 7082 mov.w r0, #260 ; 0x104 8085cbe: f7d0 f865 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8085cc2: 4b7c ldr r3, [pc, #496] ; (8085eb4 ) 8085cc4: 7b1b ldrb r3, [r3, #12] 8085cc6: b2db uxtb r3, r3 8085cc8: 4618 mov r0, r3 8085cca: 4b7a ldr r3, [pc, #488] ; (8085eb4 ) 8085ccc: 7a9b ldrb r3, [r3, #10] 8085cce: b2db uxtb r3, r3 8085cd0: 4619 mov r1, r3 8085cd2: 4a7b ldr r2, [pc, #492] ; (8085ec0 ) 8085cd4: 0043 lsls r3, r0, #1 8085cd6: 440b add r3, r1 8085cd8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085cdc: 461a mov r2, r3 8085cde: 218a movs r1, #138 ; 0x8a 8085ce0: f44f 7082 mov.w r0, #260 ; 0x104 8085ce4: f7d0 f852 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8085ce8: 4b72 ldr r3, [pc, #456] ; (8085eb4 ) 8085cea: 7b1b ldrb r3, [r3, #12] 8085cec: b2db uxtb r3, r3 8085cee: 4619 mov r1, r3 8085cf0: 4b70 ldr r3, [pc, #448] ; (8085eb4 ) 8085cf2: 7a5b ldrb r3, [r3, #9] 8085cf4: b2db uxtb r3, r3 8085cf6: 4618 mov r0, r3 8085cf8: 4a72 ldr r2, [pc, #456] ; (8085ec4 ) 8085cfa: 460b mov r3, r1 8085cfc: 009b lsls r3, r3, #2 8085cfe: 440b add r3, r1 8085d00: 4403 add r3, r0 8085d02: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085d06: 461a mov r2, r3 8085d08: 219a movs r1, #154 ; 0x9a 8085d0a: f44f 7082 mov.w r0, #260 ; 0x104 8085d0e: f7d0 f83d bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8085d12: 4b68 ldr r3, [pc, #416] ; (8085eb4 ) 8085d14: 7b5b ldrb r3, [r3, #13] 8085d16: b2db uxtb r3, r3 8085d18: 461a mov r2, r3 8085d1a: 4b6b ldr r3, [pc, #428] ; (8085ec8 ) 8085d1c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085d20: 461a mov r2, r3 8085d22: 21aa movs r1, #170 ; 0xaa 8085d24: f44f 7082 mov.w r0, #260 ; 0x104 8085d28: f7d0 f830 bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8085d2c: 4b61 ldr r3, [pc, #388] ; (8085eb4 ) 8085d2e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085d32: f003 0304 and.w r3, r3, #4 8085d36: 2b00 cmp r3, #0 8085d38: d033 beq.n 8085da2 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8085d3a: 4964 ldr r1, [pc, #400] ; (8085ecc ) 8085d3c: 4864 ldr r0, [pc, #400] ; (8085ed0 ) 8085d3e: f7cf fa65 bl 805520c if(pardata.IIN != VOLTS) 8085d42: 4b5c ldr r3, [pc, #368] ; (8085eb4 ) 8085d44: 799b ldrb r3, [r3, #6] 8085d46: b2db uxtb r3, r3 8085d48: 2b02 cmp r3, #2 8085d4a: d010 beq.n 8085d6e LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085d4c: 4b59 ldr r3, [pc, #356] ; (8085eb4 ) 8085d4e: 7b1b ldrb r3, [r3, #12] 8085d50: b2db uxtb r3, r3 8085d52: 4619 mov r1, r3 8085d54: 4a5f ldr r2, [pc, #380] ; (8085ed4 ) 8085d56: 232c movs r3, #44 ; 0x2c 8085d58: fb03 f301 mul.w r3, r3, r1 8085d5c: 4413 add r3, r2 8085d5e: 3324 adds r3, #36 ; 0x24 8085d60: 681b ldr r3, [r3, #0] 8085d62: 461a mov r2, r3 8085d64: 21ca movs r1, #202 ; 0xca 8085d66: 200a movs r0, #10 8085d68: f7cf fff8 bl 8055d5c 8085d6c: e00f b.n 8085d8e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085d6e: 4b51 ldr r3, [pc, #324] ; (8085eb4 ) 8085d70: 7b1b ldrb r3, [r3, #12] 8085d72: b2db uxtb r3, r3 8085d74: 4619 mov r1, r3 8085d76: 4a58 ldr r2, [pc, #352] ; (8085ed8 ) 8085d78: 232c movs r3, #44 ; 0x2c 8085d7a: fb03 f301 mul.w r3, r3, r1 8085d7e: 4413 add r3, r2 8085d80: 3324 adds r3, #36 ; 0x24 8085d82: 681b ldr r3, [r3, #0] 8085d84: 461a mov r2, r3 8085d86: 21ca movs r1, #202 ; 0xca 8085d88: 200a movs r0, #10 8085d8a: f7cf ffe7 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 8085d8e: f507 733b add.w r3, r7, #748 ; 0x2ec 8085d92: 461a mov r2, r3 8085d94: 21ca movs r1, #202 ; 0xca 8085d96: f44f 7082 mov.w r0, #260 ; 0x104 8085d9a: f7cf fff7 bl 8055d8c 8085d9e: f002 b937 b.w 8088010 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085da2: 494a ldr r1, [pc, #296] ; (8085ecc ) 8085da4: f04f 30ff mov.w r0, #4294967295 8085da8: f7cf fa30 bl 805520c if(pardata.IIN != VOLTS) 8085dac: 4b41 ldr r3, [pc, #260] ; (8085eb4 ) 8085dae: 799b ldrb r3, [r3, #6] 8085db0: b2db uxtb r3, r3 8085db2: 2b02 cmp r3, #2 8085db4: d010 beq.n 8085dd8 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085db6: 4b3f ldr r3, [pc, #252] ; (8085eb4 ) 8085db8: 7b1b ldrb r3, [r3, #12] 8085dba: b2db uxtb r3, r3 8085dbc: 4619 mov r1, r3 8085dbe: 4a45 ldr r2, [pc, #276] ; (8085ed4 ) 8085dc0: 232c movs r3, #44 ; 0x2c 8085dc2: fb03 f301 mul.w r3, r3, r1 8085dc6: 4413 add r3, r2 8085dc8: 3324 adds r3, #36 ; 0x24 8085dca: 681b ldr r3, [r3, #0] 8085dcc: 461a mov r2, r3 8085dce: 21ca movs r1, #202 ; 0xca 8085dd0: 200a movs r0, #10 8085dd2: f7cf ffc3 bl 8055d5c 8085dd6: e00f b.n 8085df8 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085dd8: 4b36 ldr r3, [pc, #216] ; (8085eb4 ) 8085dda: 7b1b ldrb r3, [r3, #12] 8085ddc: b2db uxtb r3, r3 8085dde: 4619 mov r1, r3 8085de0: 4a3d ldr r2, [pc, #244] ; (8085ed8 ) 8085de2: 232c movs r3, #44 ; 0x2c 8085de4: fb03 f301 mul.w r3, r3, r1 8085de8: 4413 add r3, r2 8085dea: 3324 adds r3, #36 ; 0x24 8085dec: 681b ldr r3, [r3, #0] 8085dee: 461a mov r2, r3 8085df0: 21ca movs r1, #202 ; 0xca 8085df2: 200a movs r0, #10 8085df4: f7cf ffb2 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085df8: 4934 ldr r1, [pc, #208] ; (8085ecc ) 8085dfa: 4838 ldr r0, [pc, #224] ; (8085edc ) 8085dfc: f7cf fa06 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 8085e00: f507 733b add.w r3, r7, #748 ; 0x2ec 8085e04: 461a mov r2, r3 8085e06: 21ca movs r1, #202 ; 0xca 8085e08: f44f 7082 mov.w r0, #260 ; 0x104 8085e0c: f7cf ffbe bl 8055d8c 8085e10: f002 b8fe b.w 8088010 if(menupos == SpecLines) 8085e14: 4b32 ldr r3, [pc, #200] ; (8085ee0 ) 8085e16: 781b ldrb r3, [r3, #0] 8085e18: b2db uxtb r3, r3 8085e1a: 2b04 cmp r3, #4 8085e1c: f040 814e bne.w 80860bc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085e20: 492a ldr r1, [pc, #168] ; (8085ecc ) 8085e22: f04f 30ff mov.w r0, #4294967295 8085e26: f7cf f9f1 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8085e2a: 4b22 ldr r3, [pc, #136] ; (8085eb4 ) 8085e2c: 7b1b ldrb r3, [r3, #12] 8085e2e: b2db uxtb r3, r3 8085e30: 461a mov r2, r3 8085e32: 4b2c ldr r3, [pc, #176] ; (8085ee4 ) 8085e34: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085e38: 461a mov r2, r3 8085e3a: 2127 movs r1, #39 ; 0x27 8085e3c: 200a movs r0, #10 8085e3e: f7cf ff8d bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085e42: 4922 ldr r1, [pc, #136] ; (8085ecc ) 8085e44: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085e48: f7cf f9e0 bl 805520c if(focused) 8085e4c: 4b26 ldr r3, [pc, #152] ; (8085ee8 ) 8085e4e: 781b ldrb r3, [r3, #0] 8085e50: b2db uxtb r3, r3 8085e52: 2b00 cmp r3, #0 8085e54: d00c beq.n 8085e70 if(blk) 8085e56: 4b25 ldr r3, [pc, #148] ; (8085eec ) 8085e58: 681b ldr r3, [r3, #0] 8085e5a: 2b00 cmp r3, #0 8085e5c: d010 beq.n 8085e80 LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 8085e5e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8085e62: 461a mov r2, r3 8085e64: 217a movs r1, #122 ; 0x7a 8085e66: f44f 7082 mov.w r0, #260 ; 0x104 8085e6a: f7cf ff8f bl 8055d8c 8085e6e: e007 b.n 8085e80 LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 8085e70: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8085e74: 461a mov r2, r3 8085e76: 217a movs r1, #122 ; 0x7a 8085e78: f44f 7082 mov.w r0, #260 ; 0x104 8085e7c: f7cf ff86 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085e80: 4912 ldr r1, [pc, #72] ; (8085ecc ) 8085e82: 4816 ldr r0, [pc, #88] ; (8085edc ) 8085e84: f7cf f9c2 bl 805520c if((pardata.OPTIONS & maskFFT) == fft) 8085e88: 4b0a ldr r3, [pc, #40] ; (8085eb4 ) 8085e8a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085e8e: f003 0330 and.w r3, r3, #48 ; 0x30 8085e92: 2b00 cmp r3, #0 8085e94: d12c bne.n 8085ef0 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8085e96: 4b07 ldr r3, [pc, #28] ; (8085eb4 ) 8085e98: 7b1b ldrb r3, [r3, #12] 8085e9a: b2db uxtb r3, r3 8085e9c: 4a06 ldr r2, [pc, #24] ; (8085eb8 ) 8085e9e: 011b lsls r3, r3, #4 8085ea0: 4413 add r3, r2 8085ea2: 681b ldr r3, [r3, #0] 8085ea4: 461a mov r2, r3 8085ea6: 213a movs r1, #58 ; 0x3a 8085ea8: f44f 7082 mov.w r0, #260 ; 0x104 8085eac: f7cf ff6e bl 8055d8c 8085eb0: e02c b.n 8085f0c 8085eb2: bf00 nop 8085eb4: 20023eb8 .word 0x20023eb8 8085eb8: 200202a4 .word 0x200202a4 8085ebc: 200201a4 .word 0x200201a4 8085ec0: 2002021c .word 0x2002021c 8085ec4: 200201f4 .word 0x200201f4 8085ec8: 2002022c .word 0x2002022c 8085ecc: ff0a0f1f .word 0xff0a0f1f 8085ed0: ff808080 .word 0xff808080 8085ed4: 200206bc .word 0x200206bc 8085ed8: 20020714 .word 0x20020714 8085edc: ffd8aa57 .word 0xffd8aa57 8085ee0: 20020070 .word 0x20020070 8085ee4: 200205cc .word 0x200205cc 8085ee8: 20020fd0 .word 0x20020fd0 8085eec: 200216ac .word 0x200216ac else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8085ef0: 4ba5 ldr r3, [pc, #660] ; (8086188 ) 8085ef2: 7b1b ldrb r3, [r3, #12] 8085ef4: b2db uxtb r3, r3 8085ef6: 4aa5 ldr r2, [pc, #660] ; (808618c ) 8085ef8: 011b lsls r3, r3, #4 8085efa: 4413 add r3, r2 8085efc: 3304 adds r3, #4 8085efe: 681b ldr r3, [r3, #0] 8085f00: 461a mov r2, r3 8085f02: 213a movs r1, #58 ; 0x3a 8085f04: f44f 7082 mov.w r0, #260 ; 0x104 8085f08: f7cf ff40 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8085f0c: 4b9e ldr r3, [pc, #632] ; (8086188 ) 8085f0e: 7b1b ldrb r3, [r3, #12] 8085f10: b2db uxtb r3, r3 8085f12: 4618 mov r0, r3 8085f14: 4b9c ldr r3, [pc, #624] ; (8086188 ) 8085f16: 785b ldrb r3, [r3, #1] 8085f18: b2db uxtb r3, r3 8085f1a: 005b lsls r3, r3, #1 8085f1c: 4a9a ldr r2, [pc, #616] ; (8086188 ) 8085f1e: 7852 ldrb r2, [r2, #1] 8085f20: b2d2 uxtb r2, r2 8085f22: 4611 mov r1, r2 8085f24: 4a98 ldr r2, [pc, #608] ; (8086188 ) 8085f26: 440a add r2, r1 8085f28: 7892 ldrb r2, [r2, #2] 8085f2a: b2d2 uxtb r2, r2 8085f2c: 431a orrs r2, r3 8085f2e: 4998 ldr r1, [pc, #608] ; (8086190 ) 8085f30: 4603 mov r3, r0 8085f32: 005b lsls r3, r3, #1 8085f34: 4403 add r3, r0 8085f36: 005b lsls r3, r3, #1 8085f38: 4413 add r3, r2 8085f3a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8085f3e: 461a mov r2, r3 8085f40: 214a movs r1, #74 ; 0x4a 8085f42: f44f 7082 mov.w r0, #260 ; 0x104 8085f46: f7cf ff21 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8085f4a: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8085f4e: 461a mov r2, r3 8085f50: 215a movs r1, #90 ; 0x5a 8085f52: f44f 7082 mov.w r0, #260 ; 0x104 8085f56: f7cf ff19 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8085f5a: f507 73cc add.w r3, r7, #408 ; 0x198 8085f5e: 461a mov r2, r3 8085f60: 216a movs r1, #106 ; 0x6a 8085f62: f44f 7082 mov.w r0, #260 ; 0x104 8085f66: f7cf ff11 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8085f6a: 4b87 ldr r3, [pc, #540] ; (8086188 ) 8085f6c: 7b1b ldrb r3, [r3, #12] 8085f6e: b2db uxtb r3, r3 8085f70: 4618 mov r0, r3 8085f72: 4b85 ldr r3, [pc, #532] ; (8086188 ) 8085f74: 7a9b ldrb r3, [r3, #10] 8085f76: b2db uxtb r3, r3 8085f78: 4619 mov r1, r3 8085f7a: 4a86 ldr r2, [pc, #536] ; (8086194 ) 8085f7c: 0043 lsls r3, r0, #1 8085f7e: 440b add r3, r1 8085f80: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085f84: 461a mov r2, r3 8085f86: 218a movs r1, #138 ; 0x8a 8085f88: f44f 7082 mov.w r0, #260 ; 0x104 8085f8c: f7cf fefe bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8085f90: 4b7d ldr r3, [pc, #500] ; (8086188 ) 8085f92: 7b1b ldrb r3, [r3, #12] 8085f94: b2db uxtb r3, r3 8085f96: 4619 mov r1, r3 8085f98: 4b7b ldr r3, [pc, #492] ; (8086188 ) 8085f9a: 7a5b ldrb r3, [r3, #9] 8085f9c: b2db uxtb r3, r3 8085f9e: 4618 mov r0, r3 8085fa0: 4a7d ldr r2, [pc, #500] ; (8086198 ) 8085fa2: 460b mov r3, r1 8085fa4: 009b lsls r3, r3, #2 8085fa6: 440b add r3, r1 8085fa8: 4403 add r3, r0 8085faa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085fae: 461a mov r2, r3 8085fb0: 219a movs r1, #154 ; 0x9a 8085fb2: f44f 7082 mov.w r0, #260 ; 0x104 8085fb6: f7cf fee9 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8085fba: 4b73 ldr r3, [pc, #460] ; (8086188 ) 8085fbc: 7b5b ldrb r3, [r3, #13] 8085fbe: b2db uxtb r3, r3 8085fc0: 461a mov r2, r3 8085fc2: 4b76 ldr r3, [pc, #472] ; (808619c ) 8085fc4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085fc8: 461a mov r2, r3 8085fca: 21aa movs r1, #170 ; 0xaa 8085fcc: f44f 7082 mov.w r0, #260 ; 0x104 8085fd0: f7cf fedc bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8085fd4: 4b6c ldr r3, [pc, #432] ; (8086188 ) 8085fd6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085fda: f003 0304 and.w r3, r3, #4 8085fde: 2b00 cmp r3, #0 8085fe0: d033 beq.n 808604a LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8085fe2: 496f ldr r1, [pc, #444] ; (80861a0 ) 8085fe4: 486f ldr r0, [pc, #444] ; (80861a4 ) 8085fe6: f7cf f911 bl 805520c if(pardata.IIN != VOLTS) 8085fea: 4b67 ldr r3, [pc, #412] ; (8086188 ) 8085fec: 799b ldrb r3, [r3, #6] 8085fee: b2db uxtb r3, r3 8085ff0: 2b02 cmp r3, #2 8085ff2: d010 beq.n 8086016 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085ff4: 4b64 ldr r3, [pc, #400] ; (8086188 ) 8085ff6: 7b1b ldrb r3, [r3, #12] 8085ff8: b2db uxtb r3, r3 8085ffa: 4619 mov r1, r3 8085ffc: 4a6a ldr r2, [pc, #424] ; (80861a8 ) 8085ffe: 232c movs r3, #44 ; 0x2c 8086000: fb03 f301 mul.w r3, r3, r1 8086004: 4413 add r3, r2 8086006: 3324 adds r3, #36 ; 0x24 8086008: 681b ldr r3, [r3, #0] 808600a: 461a mov r2, r3 808600c: 21ca movs r1, #202 ; 0xca 808600e: 200a movs r0, #10 8086010: f7cf fea4 bl 8055d5c 8086014: e00f b.n 8086036 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086016: 4b5c ldr r3, [pc, #368] ; (8086188 ) 8086018: 7b1b ldrb r3, [r3, #12] 808601a: b2db uxtb r3, r3 808601c: 4619 mov r1, r3 808601e: 4a63 ldr r2, [pc, #396] ; (80861ac ) 8086020: 232c movs r3, #44 ; 0x2c 8086022: fb03 f301 mul.w r3, r3, r1 8086026: 4413 add r3, r2 8086028: 3324 adds r3, #36 ; 0x24 808602a: 681b ldr r3, [r3, #0] 808602c: 461a mov r2, r3 808602e: 21ca movs r1, #202 ; 0xca 8086030: 200a movs r0, #10 8086032: f7cf fe93 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 8086036: f507 733b add.w r3, r7, #748 ; 0x2ec 808603a: 461a mov r2, r3 808603c: 21ca movs r1, #202 ; 0xca 808603e: f44f 7082 mov.w r0, #260 ; 0x104 8086042: f7cf fea3 bl 8055d8c 8086046: f001 bfe3 b.w 8088010 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808604a: 4955 ldr r1, [pc, #340] ; (80861a0 ) 808604c: f04f 30ff mov.w r0, #4294967295 8086050: f7cf f8dc bl 805520c if(pardata.IIN != VOLTS) 8086054: 4b4c ldr r3, [pc, #304] ; (8086188 ) 8086056: 799b ldrb r3, [r3, #6] 8086058: b2db uxtb r3, r3 808605a: 2b02 cmp r3, #2 808605c: d010 beq.n 8086080 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808605e: 4b4a ldr r3, [pc, #296] ; (8086188 ) 8086060: 7b1b ldrb r3, [r3, #12] 8086062: b2db uxtb r3, r3 8086064: 4619 mov r1, r3 8086066: 4a50 ldr r2, [pc, #320] ; (80861a8 ) 8086068: 232c movs r3, #44 ; 0x2c 808606a: fb03 f301 mul.w r3, r3, r1 808606e: 4413 add r3, r2 8086070: 3324 adds r3, #36 ; 0x24 8086072: 681b ldr r3, [r3, #0] 8086074: 461a mov r2, r3 8086076: 21ca movs r1, #202 ; 0xca 8086078: 200a movs r0, #10 808607a: f7cf fe6f bl 8055d5c 808607e: e00f b.n 80860a0 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086080: 4b41 ldr r3, [pc, #260] ; (8086188 ) 8086082: 7b1b ldrb r3, [r3, #12] 8086084: b2db uxtb r3, r3 8086086: 4619 mov r1, r3 8086088: 4a48 ldr r2, [pc, #288] ; (80861ac ) 808608a: 232c movs r3, #44 ; 0x2c 808608c: fb03 f301 mul.w r3, r3, r1 8086090: 4413 add r3, r2 8086092: 3324 adds r3, #36 ; 0x24 8086094: 681b ldr r3, [r3, #0] 8086096: 461a mov r2, r3 8086098: 21ca movs r1, #202 ; 0xca 808609a: 200a movs r0, #10 808609c: f7cf fe5e bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80860a0: 493f ldr r1, [pc, #252] ; (80861a0 ) 80860a2: 4843 ldr r0, [pc, #268] ; (80861b0 ) 80860a4: f7cf f8b2 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 80860a8: f507 733b add.w r3, r7, #748 ; 0x2ec 80860ac: 461a mov r2, r3 80860ae: 21ca movs r1, #202 ; 0xca 80860b0: f44f 7082 mov.w r0, #260 ; 0x104 80860b4: f7cf fe6a bl 8055d8c 80860b8: f001 bfaa b.w 8088010 if(menupos == LinLog) 80860bc: 4b3d ldr r3, [pc, #244] ; (80861b4 ) 80860be: 781b ldrb r3, [r3, #0] 80860c0: b2db uxtb r3, r3 80860c2: 2b05 cmp r3, #5 80860c4: f040 8159 bne.w 808637a LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80860c8: 4935 ldr r1, [pc, #212] ; (80861a0 ) 80860ca: f04f 30ff mov.w r0, #4294967295 80860ce: f7cf f89d bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80860d2: 4b2d ldr r3, [pc, #180] ; (8086188 ) 80860d4: 7b1b ldrb r3, [r3, #12] 80860d6: b2db uxtb r3, r3 80860d8: 461a mov r2, r3 80860da: 4b37 ldr r3, [pc, #220] ; (80861b8 ) 80860dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80860e0: 461a mov r2, r3 80860e2: 2127 movs r1, #39 ; 0x27 80860e4: 200a movs r0, #10 80860e6: f7cf fe39 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80860ea: 492d ldr r1, [pc, #180] ; (80861a0 ) 80860ec: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80860f0: f7cf f88c bl 805520c if(focused) 80860f4: 4b31 ldr r3, [pc, #196] ; (80861bc ) 80860f6: 781b ldrb r3, [r3, #0] 80860f8: b2db uxtb r3, r3 80860fa: 2b00 cmp r3, #0 80860fc: d017 beq.n 808612e if(blk) 80860fe: 4b30 ldr r3, [pc, #192] ; (80861c0 ) 8086100: 681b ldr r3, [r3, #0] 8086102: 2b00 cmp r3, #0 8086104: d026 beq.n 8086154 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8086106: 4b20 ldr r3, [pc, #128] ; (8086188 ) 8086108: 7b1b ldrb r3, [r3, #12] 808610a: b2db uxtb r3, r3 808610c: 4618 mov r0, r3 808610e: 4b1e ldr r3, [pc, #120] ; (8086188 ) 8086110: 7a9b ldrb r3, [r3, #10] 8086112: b2db uxtb r3, r3 8086114: 4619 mov r1, r3 8086116: 4a1f ldr r2, [pc, #124] ; (8086194 ) 8086118: 0043 lsls r3, r0, #1 808611a: 440b add r3, r1 808611c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086120: 461a mov r2, r3 8086122: 218a movs r1, #138 ; 0x8a 8086124: f44f 7082 mov.w r0, #260 ; 0x104 8086128: f7cf fe30 bl 8055d8c 808612c: e012 b.n 8086154 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 808612e: 4b16 ldr r3, [pc, #88] ; (8086188 ) 8086130: 7b1b ldrb r3, [r3, #12] 8086132: b2db uxtb r3, r3 8086134: 4618 mov r0, r3 8086136: 4b14 ldr r3, [pc, #80] ; (8086188 ) 8086138: 7a9b ldrb r3, [r3, #10] 808613a: b2db uxtb r3, r3 808613c: 4619 mov r1, r3 808613e: 4a15 ldr r2, [pc, #84] ; (8086194 ) 8086140: 0043 lsls r3, r0, #1 8086142: 440b add r3, r1 8086144: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086148: 461a mov r2, r3 808614a: 218a movs r1, #138 ; 0x8a 808614c: f44f 7082 mov.w r0, #260 ; 0x104 8086150: f7cf fe1c bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086154: 4912 ldr r1, [pc, #72] ; (80861a0 ) 8086156: 4816 ldr r0, [pc, #88] ; (80861b0 ) 8086158: f7cf f858 bl 805520c if((pardata.OPTIONS & maskFFT) == fft) 808615c: 4b0a ldr r3, [pc, #40] ; (8086188 ) 808615e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086162: f003 0330 and.w r3, r3, #48 ; 0x30 8086166: 2b00 cmp r3, #0 8086168: d12c bne.n 80861c4 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 808616a: 4b07 ldr r3, [pc, #28] ; (8086188 ) 808616c: 7b1b ldrb r3, [r3, #12] 808616e: b2db uxtb r3, r3 8086170: 4a06 ldr r2, [pc, #24] ; (808618c ) 8086172: 011b lsls r3, r3, #4 8086174: 4413 add r3, r2 8086176: 681b ldr r3, [r3, #0] 8086178: 461a mov r2, r3 808617a: 213a movs r1, #58 ; 0x3a 808617c: f44f 7082 mov.w r0, #260 ; 0x104 8086180: f7cf fe04 bl 8055d8c 8086184: e02c b.n 80861e0 8086186: bf00 nop 8086188: 20023eb8 .word 0x20023eb8 808618c: 200202a4 .word 0x200202a4 8086190: 200201a4 .word 0x200201a4 8086194: 2002021c .word 0x2002021c 8086198: 200201f4 .word 0x200201f4 808619c: 2002022c .word 0x2002022c 80861a0: ff0a0f1f .word 0xff0a0f1f 80861a4: ff808080 .word 0xff808080 80861a8: 200206bc .word 0x200206bc 80861ac: 20020714 .word 0x20020714 80861b0: ffd8aa57 .word 0xffd8aa57 80861b4: 20020070 .word 0x20020070 80861b8: 200205cc .word 0x200205cc 80861bc: 20020fd0 .word 0x20020fd0 80861c0: 200216ac .word 0x200216ac else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 80861c4: 4ba1 ldr r3, [pc, #644] ; (808644c ) 80861c6: 7b1b ldrb r3, [r3, #12] 80861c8: b2db uxtb r3, r3 80861ca: 4aa1 ldr r2, [pc, #644] ; (8086450 ) 80861cc: 011b lsls r3, r3, #4 80861ce: 4413 add r3, r2 80861d0: 3304 adds r3, #4 80861d2: 681b ldr r3, [r3, #0] 80861d4: 461a mov r2, r3 80861d6: 213a movs r1, #58 ; 0x3a 80861d8: f44f 7082 mov.w r0, #260 ; 0x104 80861dc: f7cf fdd6 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80861e0: 4b9a ldr r3, [pc, #616] ; (808644c ) 80861e2: 7b1b ldrb r3, [r3, #12] 80861e4: b2db uxtb r3, r3 80861e6: 4618 mov r0, r3 80861e8: 4b98 ldr r3, [pc, #608] ; (808644c ) 80861ea: 785b ldrb r3, [r3, #1] 80861ec: b2db uxtb r3, r3 80861ee: 005b lsls r3, r3, #1 80861f0: 4a96 ldr r2, [pc, #600] ; (808644c ) 80861f2: 7852 ldrb r2, [r2, #1] 80861f4: b2d2 uxtb r2, r2 80861f6: 4611 mov r1, r2 80861f8: 4a94 ldr r2, [pc, #592] ; (808644c ) 80861fa: 440a add r2, r1 80861fc: 7892 ldrb r2, [r2, #2] 80861fe: b2d2 uxtb r2, r2 8086200: 431a orrs r2, r3 8086202: 4994 ldr r1, [pc, #592] ; (8086454 ) 8086204: 4603 mov r3, r0 8086206: 005b lsls r3, r3, #1 8086208: 4403 add r3, r0 808620a: 005b lsls r3, r3, #1 808620c: 4413 add r3, r2 808620e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8086212: 461a mov r2, r3 8086214: 214a movs r1, #74 ; 0x4a 8086216: f44f 7082 mov.w r0, #260 ; 0x104 808621a: f7cf fdb7 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 808621e: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8086222: 461a mov r2, r3 8086224: 215a movs r1, #90 ; 0x5a 8086226: f44f 7082 mov.w r0, #260 ; 0x104 808622a: f7cf fdaf bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 808622e: f507 73cc add.w r3, r7, #408 ; 0x198 8086232: 461a mov r2, r3 8086234: 216a movs r1, #106 ; 0x6a 8086236: f44f 7082 mov.w r0, #260 ; 0x104 808623a: f7cf fda7 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str1); 808623e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8086242: 461a mov r2, r3 8086244: 217a movs r1, #122 ; 0x7a 8086246: f44f 7082 mov.w r0, #260 ; 0x104 808624a: f7cf fd9f bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 808624e: 4b7f ldr r3, [pc, #508] ; (808644c ) 8086250: 7b1b ldrb r3, [r3, #12] 8086252: b2db uxtb r3, r3 8086254: 4619 mov r1, r3 8086256: 4b7d ldr r3, [pc, #500] ; (808644c ) 8086258: 7a5b ldrb r3, [r3, #9] 808625a: b2db uxtb r3, r3 808625c: 4618 mov r0, r3 808625e: 4a7e ldr r2, [pc, #504] ; (8086458 ) 8086260: 460b mov r3, r1 8086262: 009b lsls r3, r3, #2 8086264: 440b add r3, r1 8086266: 4403 add r3, r0 8086268: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808626c: 461a mov r2, r3 808626e: 219a movs r1, #154 ; 0x9a 8086270: f44f 7082 mov.w r0, #260 ; 0x104 8086274: f7cf fd8a bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8086278: 4b74 ldr r3, [pc, #464] ; (808644c ) 808627a: 7b5b ldrb r3, [r3, #13] 808627c: b2db uxtb r3, r3 808627e: 461a mov r2, r3 8086280: 4b76 ldr r3, [pc, #472] ; (808645c ) 8086282: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086286: 461a mov r2, r3 8086288: 21aa movs r1, #170 ; 0xaa 808628a: f44f 7082 mov.w r0, #260 ; 0x104 808628e: f7cf fd7d bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8086292: 4b6e ldr r3, [pc, #440] ; (808644c ) 8086294: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086298: f003 0304 and.w r3, r3, #4 808629c: 2b00 cmp r3, #0 808629e: d033 beq.n 8086308 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80862a0: 496f ldr r1, [pc, #444] ; (8086460 ) 80862a2: 4870 ldr r0, [pc, #448] ; (8086464 ) 80862a4: f7ce ffb2 bl 805520c if(pardata.IIN != VOLTS) 80862a8: 4b68 ldr r3, [pc, #416] ; (808644c ) 80862aa: 799b ldrb r3, [r3, #6] 80862ac: b2db uxtb r3, r3 80862ae: 2b02 cmp r3, #2 80862b0: d010 beq.n 80862d4 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80862b2: 4b66 ldr r3, [pc, #408] ; (808644c ) 80862b4: 7b1b ldrb r3, [r3, #12] 80862b6: b2db uxtb r3, r3 80862b8: 4619 mov r1, r3 80862ba: 4a6b ldr r2, [pc, #428] ; (8086468 ) 80862bc: 232c movs r3, #44 ; 0x2c 80862be: fb03 f301 mul.w r3, r3, r1 80862c2: 4413 add r3, r2 80862c4: 3324 adds r3, #36 ; 0x24 80862c6: 681b ldr r3, [r3, #0] 80862c8: 461a mov r2, r3 80862ca: 21ca movs r1, #202 ; 0xca 80862cc: 200a movs r0, #10 80862ce: f7cf fd45 bl 8055d5c 80862d2: e00f b.n 80862f4 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80862d4: 4b5d ldr r3, [pc, #372] ; (808644c ) 80862d6: 7b1b ldrb r3, [r3, #12] 80862d8: b2db uxtb r3, r3 80862da: 4619 mov r1, r3 80862dc: 4a63 ldr r2, [pc, #396] ; (808646c ) 80862de: 232c movs r3, #44 ; 0x2c 80862e0: fb03 f301 mul.w r3, r3, r1 80862e4: 4413 add r3, r2 80862e6: 3324 adds r3, #36 ; 0x24 80862e8: 681b ldr r3, [r3, #0] 80862ea: 461a mov r2, r3 80862ec: 21ca movs r1, #202 ; 0xca 80862ee: 200a movs r0, #10 80862f0: f7cf fd34 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 80862f4: f507 733b add.w r3, r7, #748 ; 0x2ec 80862f8: 461a mov r2, r3 80862fa: 21ca movs r1, #202 ; 0xca 80862fc: f44f 7082 mov.w r0, #260 ; 0x104 8086300: f7cf fd44 bl 8055d8c 8086304: f001 be84 b.w 8088010 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086308: 4955 ldr r1, [pc, #340] ; (8086460 ) 808630a: f04f 30ff mov.w r0, #4294967295 808630e: f7ce ff7d bl 805520c if(pardata.IIN != VOLTS) 8086312: 4b4e ldr r3, [pc, #312] ; (808644c ) 8086314: 799b ldrb r3, [r3, #6] 8086316: b2db uxtb r3, r3 8086318: 2b02 cmp r3, #2 808631a: d010 beq.n 808633e LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808631c: 4b4b ldr r3, [pc, #300] ; (808644c ) 808631e: 7b1b ldrb r3, [r3, #12] 8086320: b2db uxtb r3, r3 8086322: 4619 mov r1, r3 8086324: 4a50 ldr r2, [pc, #320] ; (8086468 ) 8086326: 232c movs r3, #44 ; 0x2c 8086328: fb03 f301 mul.w r3, r3, r1 808632c: 4413 add r3, r2 808632e: 3324 adds r3, #36 ; 0x24 8086330: 681b ldr r3, [r3, #0] 8086332: 461a mov r2, r3 8086334: 21ca movs r1, #202 ; 0xca 8086336: 200a movs r0, #10 8086338: f7cf fd10 bl 8055d5c 808633c: e00f b.n 808635e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808633e: 4b43 ldr r3, [pc, #268] ; (808644c ) 8086340: 7b1b ldrb r3, [r3, #12] 8086342: b2db uxtb r3, r3 8086344: 4619 mov r1, r3 8086346: 4a49 ldr r2, [pc, #292] ; (808646c ) 8086348: 232c movs r3, #44 ; 0x2c 808634a: fb03 f301 mul.w r3, r3, r1 808634e: 4413 add r3, r2 8086350: 3324 adds r3, #36 ; 0x24 8086352: 681b ldr r3, [r3, #0] 8086354: 461a mov r2, r3 8086356: 21ca movs r1, #202 ; 0xca 8086358: 200a movs r0, #10 808635a: f7cf fcff bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808635e: 4940 ldr r1, [pc, #256] ; (8086460 ) 8086360: 4843 ldr r0, [pc, #268] ; (8086470 ) 8086362: f7ce ff53 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 8086366: f507 733b add.w r3, r7, #748 ; 0x2ec 808636a: 461a mov r2, r3 808636c: 21ca movs r1, #202 ; 0xca 808636e: f44f 7082 mov.w r0, #260 ; 0x104 8086372: f7cf fd0b bl 8055d8c 8086376: f001 be4b b.w 8088010 if(menupos == SpecWin) 808637a: 4b3e ldr r3, [pc, #248] ; (8086474 ) 808637c: 781b ldrb r3, [r3, #0] 808637e: b2db uxtb r3, r3 8086380: 2b06 cmp r3, #6 8086382: f040 8158 bne.w 8086636 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086386: 4936 ldr r1, [pc, #216] ; (8086460 ) 8086388: f04f 30ff mov.w r0, #4294967295 808638c: f7ce ff3e bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8086390: 4b2e ldr r3, [pc, #184] ; (808644c ) 8086392: 7b1b ldrb r3, [r3, #12] 8086394: b2db uxtb r3, r3 8086396: 461a mov r2, r3 8086398: 4b37 ldr r3, [pc, #220] ; (8086478 ) 808639a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808639e: 461a mov r2, r3 80863a0: 2127 movs r1, #39 ; 0x27 80863a2: 200a movs r0, #10 80863a4: f7cf fcda bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80863a8: 492d ldr r1, [pc, #180] ; (8086460 ) 80863aa: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80863ae: f7ce ff2d bl 805520c if(focused) 80863b2: 4b32 ldr r3, [pc, #200] ; (808647c ) 80863b4: 781b ldrb r3, [r3, #0] 80863b6: b2db uxtb r3, r3 80863b8: 2b00 cmp r3, #0 80863ba: d019 beq.n 80863f0 if(blk) 80863bc: 4b30 ldr r3, [pc, #192] ; (8086480 ) 80863be: 681b ldr r3, [r3, #0] 80863c0: 2b00 cmp r3, #0 80863c2: d02a beq.n 808641a LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 80863c4: 4b21 ldr r3, [pc, #132] ; (808644c ) 80863c6: 7b1b ldrb r3, [r3, #12] 80863c8: b2db uxtb r3, r3 80863ca: 4619 mov r1, r3 80863cc: 4b1f ldr r3, [pc, #124] ; (808644c ) 80863ce: 7a5b ldrb r3, [r3, #9] 80863d0: b2db uxtb r3, r3 80863d2: 4618 mov r0, r3 80863d4: 4a20 ldr r2, [pc, #128] ; (8086458 ) 80863d6: 460b mov r3, r1 80863d8: 009b lsls r3, r3, #2 80863da: 440b add r3, r1 80863dc: 4403 add r3, r0 80863de: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80863e2: 461a mov r2, r3 80863e4: 219a movs r1, #154 ; 0x9a 80863e6: f44f 7082 mov.w r0, #260 ; 0x104 80863ea: f7cf fccf bl 8055d8c 80863ee: e014 b.n 808641a LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 80863f0: 4b16 ldr r3, [pc, #88] ; (808644c ) 80863f2: 7b1b ldrb r3, [r3, #12] 80863f4: b2db uxtb r3, r3 80863f6: 4619 mov r1, r3 80863f8: 4b14 ldr r3, [pc, #80] ; (808644c ) 80863fa: 7a5b ldrb r3, [r3, #9] 80863fc: b2db uxtb r3, r3 80863fe: 4618 mov r0, r3 8086400: 4a15 ldr r2, [pc, #84] ; (8086458 ) 8086402: 460b mov r3, r1 8086404: 009b lsls r3, r3, #2 8086406: 440b add r3, r1 8086408: 4403 add r3, r0 808640a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808640e: 461a mov r2, r3 8086410: 219a movs r1, #154 ; 0x9a 8086412: f44f 7082 mov.w r0, #260 ; 0x104 8086416: f7cf fcb9 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808641a: 4911 ldr r1, [pc, #68] ; (8086460 ) 808641c: 4814 ldr r0, [pc, #80] ; (8086470 ) 808641e: f7ce fef5 bl 805520c if((pardata.OPTIONS & maskFFT) == fft) 8086422: 4b0a ldr r3, [pc, #40] ; (808644c ) 8086424: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086428: f003 0330 and.w r3, r3, #48 ; 0x30 808642c: 2b00 cmp r3, #0 808642e: d129 bne.n 8086484 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8086430: 4b06 ldr r3, [pc, #24] ; (808644c ) 8086432: 7b1b ldrb r3, [r3, #12] 8086434: b2db uxtb r3, r3 8086436: 4a06 ldr r2, [pc, #24] ; (8086450 ) 8086438: 011b lsls r3, r3, #4 808643a: 4413 add r3, r2 808643c: 681b ldr r3, [r3, #0] 808643e: 461a mov r2, r3 8086440: 213a movs r1, #58 ; 0x3a 8086442: f44f 7082 mov.w r0, #260 ; 0x104 8086446: f7cf fca1 bl 8055d8c 808644a: e029 b.n 80864a0 808644c: 20023eb8 .word 0x20023eb8 8086450: 200202a4 .word 0x200202a4 8086454: 200201a4 .word 0x200201a4 8086458: 200201f4 .word 0x200201f4 808645c: 2002022c .word 0x2002022c 8086460: ff0a0f1f .word 0xff0a0f1f 8086464: ff808080 .word 0xff808080 8086468: 200206bc .word 0x200206bc 808646c: 20020714 .word 0x20020714 8086470: ffd8aa57 .word 0xffd8aa57 8086474: 20020070 .word 0x20020070 8086478: 200205cc .word 0x200205cc 808647c: 20020fd0 .word 0x20020fd0 8086480: 200216ac .word 0x200216ac else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8086484: 4b98 ldr r3, [pc, #608] ; (80866e8 ) 8086486: 7b1b ldrb r3, [r3, #12] 8086488: b2db uxtb r3, r3 808648a: 4a98 ldr r2, [pc, #608] ; (80866ec ) 808648c: 011b lsls r3, r3, #4 808648e: 4413 add r3, r2 8086490: 3304 adds r3, #4 8086492: 681b ldr r3, [r3, #0] 8086494: 461a mov r2, r3 8086496: 213a movs r1, #58 ; 0x3a 8086498: f44f 7082 mov.w r0, #260 ; 0x104 808649c: f7cf fc76 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80864a0: 4b91 ldr r3, [pc, #580] ; (80866e8 ) 80864a2: 7b1b ldrb r3, [r3, #12] 80864a4: b2db uxtb r3, r3 80864a6: 4618 mov r0, r3 80864a8: 4b8f ldr r3, [pc, #572] ; (80866e8 ) 80864aa: 785b ldrb r3, [r3, #1] 80864ac: b2db uxtb r3, r3 80864ae: 005b lsls r3, r3, #1 80864b0: 4a8d ldr r2, [pc, #564] ; (80866e8 ) 80864b2: 7852 ldrb r2, [r2, #1] 80864b4: b2d2 uxtb r2, r2 80864b6: 4611 mov r1, r2 80864b8: 4a8b ldr r2, [pc, #556] ; (80866e8 ) 80864ba: 440a add r2, r1 80864bc: 7892 ldrb r2, [r2, #2] 80864be: b2d2 uxtb r2, r2 80864c0: 431a orrs r2, r3 80864c2: 498b ldr r1, [pc, #556] ; (80866f0 ) 80864c4: 4603 mov r3, r0 80864c6: 005b lsls r3, r3, #1 80864c8: 4403 add r3, r0 80864ca: 005b lsls r3, r3, #1 80864cc: 4413 add r3, r2 80864ce: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80864d2: 461a mov r2, r3 80864d4: 214a movs r1, #74 ; 0x4a 80864d6: f44f 7082 mov.w r0, #260 ; 0x104 80864da: f7cf fc57 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80864de: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80864e2: 461a mov r2, r3 80864e4: 215a movs r1, #90 ; 0x5a 80864e6: f44f 7082 mov.w r0, #260 ; 0x104 80864ea: f7cf fc4f bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80864ee: f507 73cc add.w r3, r7, #408 ; 0x198 80864f2: 461a mov r2, r3 80864f4: 216a movs r1, #106 ; 0x6a 80864f6: f44f 7082 mov.w r0, #260 ; 0x104 80864fa: f7cf fc47 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str1); 80864fe: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8086502: 461a mov r2, r3 8086504: 217a movs r1, #122 ; 0x7a 8086506: f44f 7082 mov.w r0, #260 ; 0x104 808650a: f7cf fc3f bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 808650e: 4b76 ldr r3, [pc, #472] ; (80866e8 ) 8086510: 7b1b ldrb r3, [r3, #12] 8086512: b2db uxtb r3, r3 8086514: 4618 mov r0, r3 8086516: 4b74 ldr r3, [pc, #464] ; (80866e8 ) 8086518: 7a9b ldrb r3, [r3, #10] 808651a: b2db uxtb r3, r3 808651c: 4619 mov r1, r3 808651e: 4a75 ldr r2, [pc, #468] ; (80866f4 ) 8086520: 0043 lsls r3, r0, #1 8086522: 440b add r3, r1 8086524: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086528: 461a mov r2, r3 808652a: 218a movs r1, #138 ; 0x8a 808652c: f44f 7082 mov.w r0, #260 ; 0x104 8086530: f7cf fc2c bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8086534: 4b6c ldr r3, [pc, #432] ; (80866e8 ) 8086536: 7b5b ldrb r3, [r3, #13] 8086538: b2db uxtb r3, r3 808653a: 461a mov r2, r3 808653c: 4b6e ldr r3, [pc, #440] ; (80866f8 ) 808653e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086542: 461a mov r2, r3 8086544: 21aa movs r1, #170 ; 0xaa 8086546: f44f 7082 mov.w r0, #260 ; 0x104 808654a: f7cf fc1f bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 808654e: 4b66 ldr r3, [pc, #408] ; (80866e8 ) 8086550: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086554: f003 0304 and.w r3, r3, #4 8086558: 2b00 cmp r3, #0 808655a: d033 beq.n 80865c4 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808655c: 4967 ldr r1, [pc, #412] ; (80866fc ) 808655e: 4868 ldr r0, [pc, #416] ; (8086700 ) 8086560: f7ce fe54 bl 805520c if(pardata.IIN != VOLTS) 8086564: 4b60 ldr r3, [pc, #384] ; (80866e8 ) 8086566: 799b ldrb r3, [r3, #6] 8086568: b2db uxtb r3, r3 808656a: 2b02 cmp r3, #2 808656c: d010 beq.n 8086590 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808656e: 4b5e ldr r3, [pc, #376] ; (80866e8 ) 8086570: 7b1b ldrb r3, [r3, #12] 8086572: b2db uxtb r3, r3 8086574: 4619 mov r1, r3 8086576: 4a63 ldr r2, [pc, #396] ; (8086704 ) 8086578: 232c movs r3, #44 ; 0x2c 808657a: fb03 f301 mul.w r3, r3, r1 808657e: 4413 add r3, r2 8086580: 3324 adds r3, #36 ; 0x24 8086582: 681b ldr r3, [r3, #0] 8086584: 461a mov r2, r3 8086586: 21ca movs r1, #202 ; 0xca 8086588: 200a movs r0, #10 808658a: f7cf fbe7 bl 8055d5c 808658e: e00f b.n 80865b0 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086590: 4b55 ldr r3, [pc, #340] ; (80866e8 ) 8086592: 7b1b ldrb r3, [r3, #12] 8086594: b2db uxtb r3, r3 8086596: 4619 mov r1, r3 8086598: 4a5b ldr r2, [pc, #364] ; (8086708 ) 808659a: 232c movs r3, #44 ; 0x2c 808659c: fb03 f301 mul.w r3, r3, r1 80865a0: 4413 add r3, r2 80865a2: 3324 adds r3, #36 ; 0x24 80865a4: 681b ldr r3, [r3, #0] 80865a6: 461a mov r2, r3 80865a8: 21ca movs r1, #202 ; 0xca 80865aa: 200a movs r0, #10 80865ac: f7cf fbd6 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 80865b0: f507 733b add.w r3, r7, #748 ; 0x2ec 80865b4: 461a mov r2, r3 80865b6: 21ca movs r1, #202 ; 0xca 80865b8: f44f 7082 mov.w r0, #260 ; 0x104 80865bc: f7cf fbe6 bl 8055d8c 80865c0: f001 bd26 b.w 8088010 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80865c4: 494d ldr r1, [pc, #308] ; (80866fc ) 80865c6: f04f 30ff mov.w r0, #4294967295 80865ca: f7ce fe1f bl 805520c if(pardata.IIN != VOLTS) 80865ce: 4b46 ldr r3, [pc, #280] ; (80866e8 ) 80865d0: 799b ldrb r3, [r3, #6] 80865d2: b2db uxtb r3, r3 80865d4: 2b02 cmp r3, #2 80865d6: d010 beq.n 80865fa LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80865d8: 4b43 ldr r3, [pc, #268] ; (80866e8 ) 80865da: 7b1b ldrb r3, [r3, #12] 80865dc: b2db uxtb r3, r3 80865de: 4619 mov r1, r3 80865e0: 4a48 ldr r2, [pc, #288] ; (8086704 ) 80865e2: 232c movs r3, #44 ; 0x2c 80865e4: fb03 f301 mul.w r3, r3, r1 80865e8: 4413 add r3, r2 80865ea: 3324 adds r3, #36 ; 0x24 80865ec: 681b ldr r3, [r3, #0] 80865ee: 461a mov r2, r3 80865f0: 21ca movs r1, #202 ; 0xca 80865f2: 200a movs r0, #10 80865f4: f7cf fbb2 bl 8055d5c 80865f8: e00f b.n 808661a else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80865fa: 4b3b ldr r3, [pc, #236] ; (80866e8 ) 80865fc: 7b1b ldrb r3, [r3, #12] 80865fe: b2db uxtb r3, r3 8086600: 4619 mov r1, r3 8086602: 4a41 ldr r2, [pc, #260] ; (8086708 ) 8086604: 232c movs r3, #44 ; 0x2c 8086606: fb03 f301 mul.w r3, r3, r1 808660a: 4413 add r3, r2 808660c: 3324 adds r3, #36 ; 0x24 808660e: 681b ldr r3, [r3, #0] 8086610: 461a mov r2, r3 8086612: 21ca movs r1, #202 ; 0xca 8086614: 200a movs r0, #10 8086616: f7cf fba1 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808661a: 4938 ldr r1, [pc, #224] ; (80866fc ) 808661c: 483b ldr r0, [pc, #236] ; (808670c ) 808661e: f7ce fdf5 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 8086622: f507 733b add.w r3, r7, #748 ; 0x2ec 8086626: 461a mov r2, r3 8086628: 21ca movs r1, #202 ; 0xca 808662a: f44f 7082 mov.w r0, #260 ; 0x104 808662e: f7cf fbad bl 8055d8c 8086632: f001 bced b.w 8088010 if(menupos == SAverage) 8086636: 4b36 ldr r3, [pc, #216] ; (8086710 ) 8086638: 781b ldrb r3, [r3, #0] 808663a: b2db uxtb r3, r3 808663c: 2b07 cmp r3, #7 808663e: f040 8150 bne.w 80868e2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086642: 492e ldr r1, [pc, #184] ; (80866fc ) 8086644: f04f 30ff mov.w r0, #4294967295 8086648: f7ce fde0 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 808664c: 4b26 ldr r3, [pc, #152] ; (80866e8 ) 808664e: 7b1b ldrb r3, [r3, #12] 8086650: b2db uxtb r3, r3 8086652: 461a mov r2, r3 8086654: 4b2f ldr r3, [pc, #188] ; (8086714 ) 8086656: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808665a: 461a mov r2, r3 808665c: 2127 movs r1, #39 ; 0x27 808665e: 200a movs r0, #10 8086660: f7cf fb7c bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086664: 4925 ldr r1, [pc, #148] ; (80866fc ) 8086666: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808666a: f7ce fdcf bl 805520c if(focused) 808666e: 4b2a ldr r3, [pc, #168] ; (8086718 ) 8086670: 781b ldrb r3, [r3, #0] 8086672: b2db uxtb r3, r3 8086674: 2b00 cmp r3, #0 8086676: d011 beq.n 808669c if(blk) 8086678: 4b28 ldr r3, [pc, #160] ; (808671c ) 808667a: 681b ldr r3, [r3, #0] 808667c: 2b00 cmp r3, #0 808667e: d01a beq.n 80866b6 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8086680: 4b19 ldr r3, [pc, #100] ; (80866e8 ) 8086682: 7b5b ldrb r3, [r3, #13] 8086684: b2db uxtb r3, r3 8086686: 461a mov r2, r3 8086688: 4b1b ldr r3, [pc, #108] ; (80866f8 ) 808668a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808668e: 461a mov r2, r3 8086690: 21aa movs r1, #170 ; 0xaa 8086692: f44f 7082 mov.w r0, #260 ; 0x104 8086696: f7cf fb79 bl 8055d8c 808669a: e00c b.n 80866b6 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 808669c: 4b12 ldr r3, [pc, #72] ; (80866e8 ) 808669e: 7b5b ldrb r3, [r3, #13] 80866a0: b2db uxtb r3, r3 80866a2: 461a mov r2, r3 80866a4: 4b14 ldr r3, [pc, #80] ; (80866f8 ) 80866a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80866aa: 461a mov r2, r3 80866ac: 21aa movs r1, #170 ; 0xaa 80866ae: f44f 7082 mov.w r0, #260 ; 0x104 80866b2: f7cf fb6b bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80866b6: 4911 ldr r1, [pc, #68] ; (80866fc ) 80866b8: 4814 ldr r0, [pc, #80] ; (808670c ) 80866ba: f7ce fda7 bl 805520c if((pardata.OPTIONS & maskFFT) == fft) 80866be: 4b0a ldr r3, [pc, #40] ; (80866e8 ) 80866c0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80866c4: f003 0330 and.w r3, r3, #48 ; 0x30 80866c8: 2b00 cmp r3, #0 80866ca: d129 bne.n 8086720 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 80866cc: 4b06 ldr r3, [pc, #24] ; (80866e8 ) 80866ce: 7b1b ldrb r3, [r3, #12] 80866d0: b2db uxtb r3, r3 80866d2: 4a06 ldr r2, [pc, #24] ; (80866ec ) 80866d4: 011b lsls r3, r3, #4 80866d6: 4413 add r3, r2 80866d8: 681b ldr r3, [r3, #0] 80866da: 461a mov r2, r3 80866dc: 213a movs r1, #58 ; 0x3a 80866de: f44f 7082 mov.w r0, #260 ; 0x104 80866e2: f7cf fb53 bl 8055d8c 80866e6: e029 b.n 808673c 80866e8: 20023eb8 .word 0x20023eb8 80866ec: 200202a4 .word 0x200202a4 80866f0: 200201a4 .word 0x200201a4 80866f4: 2002021c .word 0x2002021c 80866f8: 2002022c .word 0x2002022c 80866fc: ff0a0f1f .word 0xff0a0f1f 8086700: ff808080 .word 0xff808080 8086704: 200206bc .word 0x200206bc 8086708: 20020714 .word 0x20020714 808670c: ffd8aa57 .word 0xffd8aa57 8086710: 20020070 .word 0x20020070 8086714: 200205cc .word 0x200205cc 8086718: 20020fd0 .word 0x20020fd0 808671c: 200216ac .word 0x200216ac else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8086720: 4b88 ldr r3, [pc, #544] ; (8086944 ) 8086722: 7b1b ldrb r3, [r3, #12] 8086724: b2db uxtb r3, r3 8086726: 4a88 ldr r2, [pc, #544] ; (8086948 ) 8086728: 011b lsls r3, r3, #4 808672a: 4413 add r3, r2 808672c: 3304 adds r3, #4 808672e: 681b ldr r3, [r3, #0] 8086730: 461a mov r2, r3 8086732: 213a movs r1, #58 ; 0x3a 8086734: f44f 7082 mov.w r0, #260 ; 0x104 8086738: f7cf fb28 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 808673c: 4b81 ldr r3, [pc, #516] ; (8086944 ) 808673e: 7b1b ldrb r3, [r3, #12] 8086740: b2db uxtb r3, r3 8086742: 4618 mov r0, r3 8086744: 4b7f ldr r3, [pc, #508] ; (8086944 ) 8086746: 785b ldrb r3, [r3, #1] 8086748: b2db uxtb r3, r3 808674a: 005b lsls r3, r3, #1 808674c: 4a7d ldr r2, [pc, #500] ; (8086944 ) 808674e: 7852 ldrb r2, [r2, #1] 8086750: b2d2 uxtb r2, r2 8086752: 4611 mov r1, r2 8086754: 4a7b ldr r2, [pc, #492] ; (8086944 ) 8086756: 440a add r2, r1 8086758: 7892 ldrb r2, [r2, #2] 808675a: b2d2 uxtb r2, r2 808675c: 431a orrs r2, r3 808675e: 497b ldr r1, [pc, #492] ; (808694c ) 8086760: 4603 mov r3, r0 8086762: 005b lsls r3, r3, #1 8086764: 4403 add r3, r0 8086766: 005b lsls r3, r3, #1 8086768: 4413 add r3, r2 808676a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808676e: 461a mov r2, r3 8086770: 214a movs r1, #74 ; 0x4a 8086772: f44f 7082 mov.w r0, #260 ; 0x104 8086776: f7cf fb09 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 808677a: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808677e: 461a mov r2, r3 8086780: 215a movs r1, #90 ; 0x5a 8086782: f44f 7082 mov.w r0, #260 ; 0x104 8086786: f7cf fb01 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 808678a: f507 73cc add.w r3, r7, #408 ; 0x198 808678e: 461a mov r2, r3 8086790: 216a movs r1, #106 ; 0x6a 8086792: f44f 7082 mov.w r0, #260 ; 0x104 8086796: f7cf faf9 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str1); 808679a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808679e: 461a mov r2, r3 80867a0: 217a movs r1, #122 ; 0x7a 80867a2: f44f 7082 mov.w r0, #260 ; 0x104 80867a6: f7cf faf1 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 80867aa: 4b66 ldr r3, [pc, #408] ; (8086944 ) 80867ac: 7b1b ldrb r3, [r3, #12] 80867ae: b2db uxtb r3, r3 80867b0: 4618 mov r0, r3 80867b2: 4b64 ldr r3, [pc, #400] ; (8086944 ) 80867b4: 7a9b ldrb r3, [r3, #10] 80867b6: b2db uxtb r3, r3 80867b8: 4619 mov r1, r3 80867ba: 4a65 ldr r2, [pc, #404] ; (8086950 ) 80867bc: 0043 lsls r3, r0, #1 80867be: 440b add r3, r1 80867c0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80867c4: 461a mov r2, r3 80867c6: 218a movs r1, #138 ; 0x8a 80867c8: f44f 7082 mov.w r0, #260 ; 0x104 80867cc: f7cf fade bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 80867d0: 4b5c ldr r3, [pc, #368] ; (8086944 ) 80867d2: 7b1b ldrb r3, [r3, #12] 80867d4: b2db uxtb r3, r3 80867d6: 4619 mov r1, r3 80867d8: 4b5a ldr r3, [pc, #360] ; (8086944 ) 80867da: 7a5b ldrb r3, [r3, #9] 80867dc: b2db uxtb r3, r3 80867de: 4618 mov r0, r3 80867e0: 4a5c ldr r2, [pc, #368] ; (8086954 ) 80867e2: 460b mov r3, r1 80867e4: 009b lsls r3, r3, #2 80867e6: 440b add r3, r1 80867e8: 4403 add r3, r0 80867ea: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80867ee: 461a mov r2, r3 80867f0: 219a movs r1, #154 ; 0x9a 80867f2: f44f 7082 mov.w r0, #260 ; 0x104 80867f6: f7cf fac9 bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80867fa: 4b52 ldr r3, [pc, #328] ; (8086944 ) 80867fc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086800: f003 0304 and.w r3, r3, #4 8086804: 2b00 cmp r3, #0 8086806: d033 beq.n 8086870 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8086808: 4953 ldr r1, [pc, #332] ; (8086958 ) 808680a: 4854 ldr r0, [pc, #336] ; (808695c ) 808680c: f7ce fcfe bl 805520c if(pardata.IIN != VOLTS) 8086810: 4b4c ldr r3, [pc, #304] ; (8086944 ) 8086812: 799b ldrb r3, [r3, #6] 8086814: b2db uxtb r3, r3 8086816: 2b02 cmp r3, #2 8086818: d010 beq.n 808683c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808681a: 4b4a ldr r3, [pc, #296] ; (8086944 ) 808681c: 7b1b ldrb r3, [r3, #12] 808681e: b2db uxtb r3, r3 8086820: 4619 mov r1, r3 8086822: 4a4f ldr r2, [pc, #316] ; (8086960 ) 8086824: 232c movs r3, #44 ; 0x2c 8086826: fb03 f301 mul.w r3, r3, r1 808682a: 4413 add r3, r2 808682c: 3324 adds r3, #36 ; 0x24 808682e: 681b ldr r3, [r3, #0] 8086830: 461a mov r2, r3 8086832: 21ca movs r1, #202 ; 0xca 8086834: 200a movs r0, #10 8086836: f7cf fa91 bl 8055d5c 808683a: e00f b.n 808685c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808683c: 4b41 ldr r3, [pc, #260] ; (8086944 ) 808683e: 7b1b ldrb r3, [r3, #12] 8086840: b2db uxtb r3, r3 8086842: 4619 mov r1, r3 8086844: 4a47 ldr r2, [pc, #284] ; (8086964 ) 8086846: 232c movs r3, #44 ; 0x2c 8086848: fb03 f301 mul.w r3, r3, r1 808684c: 4413 add r3, r2 808684e: 3324 adds r3, #36 ; 0x24 8086850: 681b ldr r3, [r3, #0] 8086852: 461a mov r2, r3 8086854: 21ca movs r1, #202 ; 0xca 8086856: 200a movs r0, #10 8086858: f7cf fa80 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 808685c: f507 733b add.w r3, r7, #748 ; 0x2ec 8086860: 461a mov r2, r3 8086862: 21ca movs r1, #202 ; 0xca 8086864: f44f 7082 mov.w r0, #260 ; 0x104 8086868: f7cf fa90 bl 8055d8c 808686c: f001 bbd0 b.w 8088010 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086870: 4939 ldr r1, [pc, #228] ; (8086958 ) 8086872: f04f 30ff mov.w r0, #4294967295 8086876: f7ce fcc9 bl 805520c if(pardata.IIN != VOLTS) 808687a: 4b32 ldr r3, [pc, #200] ; (8086944 ) 808687c: 799b ldrb r3, [r3, #6] 808687e: b2db uxtb r3, r3 8086880: 2b02 cmp r3, #2 8086882: d010 beq.n 80868a6 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086884: 4b2f ldr r3, [pc, #188] ; (8086944 ) 8086886: 7b1b ldrb r3, [r3, #12] 8086888: b2db uxtb r3, r3 808688a: 4619 mov r1, r3 808688c: 4a34 ldr r2, [pc, #208] ; (8086960 ) 808688e: 232c movs r3, #44 ; 0x2c 8086890: fb03 f301 mul.w r3, r3, r1 8086894: 4413 add r3, r2 8086896: 3324 adds r3, #36 ; 0x24 8086898: 681b ldr r3, [r3, #0] 808689a: 461a mov r2, r3 808689c: 21ca movs r1, #202 ; 0xca 808689e: 200a movs r0, #10 80868a0: f7cf fa5c bl 8055d5c 80868a4: e00f b.n 80868c6 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80868a6: 4b27 ldr r3, [pc, #156] ; (8086944 ) 80868a8: 7b1b ldrb r3, [r3, #12] 80868aa: b2db uxtb r3, r3 80868ac: 4619 mov r1, r3 80868ae: 4a2d ldr r2, [pc, #180] ; (8086964 ) 80868b0: 232c movs r3, #44 ; 0x2c 80868b2: fb03 f301 mul.w r3, r3, r1 80868b6: 4413 add r3, r2 80868b8: 3324 adds r3, #36 ; 0x24 80868ba: 681b ldr r3, [r3, #0] 80868bc: 461a mov r2, r3 80868be: 21ca movs r1, #202 ; 0xca 80868c0: 200a movs r0, #10 80868c2: f7cf fa4b bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80868c6: 4924 ldr r1, [pc, #144] ; (8086958 ) 80868c8: 4827 ldr r0, [pc, #156] ; (8086968 ) 80868ca: f7ce fc9f bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 80868ce: f507 733b add.w r3, r7, #748 ; 0x2ec 80868d2: 461a mov r2, r3 80868d4: 21ca movs r1, #202 ; 0xca 80868d6: f44f 7082 mov.w r0, #260 ; 0x104 80868da: f7cf fa57 bl 8055d8c 80868de: f001 bb97 b.w 8088010 if(menupos == VibAutoKu) 80868e2: 4b22 ldr r3, [pc, #136] ; (808696c ) 80868e4: 781b ldrb r3, [r3, #0] 80868e6: b2db uxtb r3, r3 80868e8: 2b08 cmp r3, #8 80868ea: f040 8147 bne.w 8086b7c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80868ee: 491a ldr r1, [pc, #104] ; (8086958 ) 80868f0: f04f 30ff mov.w r0, #4294967295 80868f4: f7ce fc8a bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80868f8: 4b12 ldr r3, [pc, #72] ; (8086944 ) 80868fa: 7b1b ldrb r3, [r3, #12] 80868fc: b2db uxtb r3, r3 80868fe: 461a mov r2, r3 8086900: 4b1b ldr r3, [pc, #108] ; (8086970 ) 8086902: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086906: 461a mov r2, r3 8086908: 2127 movs r1, #39 ; 0x27 808690a: 200a movs r0, #10 808690c: f7cf fa26 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086910: 4911 ldr r1, [pc, #68] ; (8086958 ) 8086912: 4815 ldr r0, [pc, #84] ; (8086968 ) 8086914: f7ce fc7a bl 805520c if((pardata.OPTIONS & maskFFT) == fft) 8086918: 4b0a ldr r3, [pc, #40] ; (8086944 ) 808691a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808691e: f003 0330 and.w r3, r3, #48 ; 0x30 8086922: 2b00 cmp r3, #0 8086924: d126 bne.n 8086974 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8086926: 4b07 ldr r3, [pc, #28] ; (8086944 ) 8086928: 7b1b ldrb r3, [r3, #12] 808692a: b2db uxtb r3, r3 808692c: 4a06 ldr r2, [pc, #24] ; (8086948 ) 808692e: 011b lsls r3, r3, #4 8086930: 4413 add r3, r2 8086932: 681b ldr r3, [r3, #0] 8086934: 461a mov r2, r3 8086936: 213a movs r1, #58 ; 0x3a 8086938: f44f 7082 mov.w r0, #260 ; 0x104 808693c: f7cf fa26 bl 8055d8c 8086940: e026 b.n 8086990 8086942: bf00 nop 8086944: 20023eb8 .word 0x20023eb8 8086948: 200202a4 .word 0x200202a4 808694c: 200201a4 .word 0x200201a4 8086950: 2002021c .word 0x2002021c 8086954: 200201f4 .word 0x200201f4 8086958: ff0a0f1f .word 0xff0a0f1f 808695c: ff808080 .word 0xff808080 8086960: 200206bc .word 0x200206bc 8086964: 20020714 .word 0x20020714 8086968: ffd8aa57 .word 0xffd8aa57 808696c: 20020070 .word 0x20020070 8086970: 200205cc .word 0x200205cc else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8086974: 4b99 ldr r3, [pc, #612] ; (8086bdc ) 8086976: 7b1b ldrb r3, [r3, #12] 8086978: b2db uxtb r3, r3 808697a: 4a99 ldr r2, [pc, #612] ; (8086be0 ) 808697c: 011b lsls r3, r3, #4 808697e: 4413 add r3, r2 8086980: 3304 adds r3, #4 8086982: 681b ldr r3, [r3, #0] 8086984: 461a mov r2, r3 8086986: 213a movs r1, #58 ; 0x3a 8086988: f44f 7082 mov.w r0, #260 ; 0x104 808698c: f7cf f9fe bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8086990: 4b92 ldr r3, [pc, #584] ; (8086bdc ) 8086992: 7b1b ldrb r3, [r3, #12] 8086994: b2db uxtb r3, r3 8086996: 4618 mov r0, r3 8086998: 4b90 ldr r3, [pc, #576] ; (8086bdc ) 808699a: 785b ldrb r3, [r3, #1] 808699c: b2db uxtb r3, r3 808699e: 005b lsls r3, r3, #1 80869a0: 4a8e ldr r2, [pc, #568] ; (8086bdc ) 80869a2: 7852 ldrb r2, [r2, #1] 80869a4: b2d2 uxtb r2, r2 80869a6: 4611 mov r1, r2 80869a8: 4a8c ldr r2, [pc, #560] ; (8086bdc ) 80869aa: 440a add r2, r1 80869ac: 7892 ldrb r2, [r2, #2] 80869ae: b2d2 uxtb r2, r2 80869b0: 431a orrs r2, r3 80869b2: 498c ldr r1, [pc, #560] ; (8086be4 ) 80869b4: 4603 mov r3, r0 80869b6: 005b lsls r3, r3, #1 80869b8: 4403 add r3, r0 80869ba: 005b lsls r3, r3, #1 80869bc: 4413 add r3, r2 80869be: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80869c2: 461a mov r2, r3 80869c4: 214a movs r1, #74 ; 0x4a 80869c6: f44f 7082 mov.w r0, #260 ; 0x104 80869ca: f7cf f9df bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80869ce: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80869d2: 461a mov r2, r3 80869d4: 215a movs r1, #90 ; 0x5a 80869d6: f44f 7082 mov.w r0, #260 ; 0x104 80869da: f7cf f9d7 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80869de: f507 73cc add.w r3, r7, #408 ; 0x198 80869e2: 461a mov r2, r3 80869e4: 216a movs r1, #106 ; 0x6a 80869e6: f44f 7082 mov.w r0, #260 ; 0x104 80869ea: f7cf f9cf bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str1); 80869ee: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80869f2: 461a mov r2, r3 80869f4: 217a movs r1, #122 ; 0x7a 80869f6: f44f 7082 mov.w r0, #260 ; 0x104 80869fa: f7cf f9c7 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 80869fe: 4b77 ldr r3, [pc, #476] ; (8086bdc ) 8086a00: 7b1b ldrb r3, [r3, #12] 8086a02: b2db uxtb r3, r3 8086a04: 4618 mov r0, r3 8086a06: 4b75 ldr r3, [pc, #468] ; (8086bdc ) 8086a08: 7a9b ldrb r3, [r3, #10] 8086a0a: b2db uxtb r3, r3 8086a0c: 4619 mov r1, r3 8086a0e: 4a76 ldr r2, [pc, #472] ; (8086be8 ) 8086a10: 0043 lsls r3, r0, #1 8086a12: 440b add r3, r1 8086a14: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086a18: 461a mov r2, r3 8086a1a: 218a movs r1, #138 ; 0x8a 8086a1c: f44f 7082 mov.w r0, #260 ; 0x104 8086a20: f7cf f9b4 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8086a24: 4b6d ldr r3, [pc, #436] ; (8086bdc ) 8086a26: 7b1b ldrb r3, [r3, #12] 8086a28: b2db uxtb r3, r3 8086a2a: 4619 mov r1, r3 8086a2c: 4b6b ldr r3, [pc, #428] ; (8086bdc ) 8086a2e: 7a5b ldrb r3, [r3, #9] 8086a30: b2db uxtb r3, r3 8086a32: 4618 mov r0, r3 8086a34: 4a6d ldr r2, [pc, #436] ; (8086bec ) 8086a36: 460b mov r3, r1 8086a38: 009b lsls r3, r3, #2 8086a3a: 440b add r3, r1 8086a3c: 4403 add r3, r0 8086a3e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086a42: 461a mov r2, r3 8086a44: 219a movs r1, #154 ; 0x9a 8086a46: f44f 7082 mov.w r0, #260 ; 0x104 8086a4a: f7cf f99f bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8086a4e: 4b63 ldr r3, [pc, #396] ; (8086bdc ) 8086a50: 7b5b ldrb r3, [r3, #13] 8086a52: b2db uxtb r3, r3 8086a54: 461a mov r2, r3 8086a56: 4b66 ldr r3, [pc, #408] ; (8086bf0 ) 8086a58: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086a5c: 461a mov r2, r3 8086a5e: 21aa movs r1, #170 ; 0xaa 8086a60: f44f 7082 mov.w r0, #260 ; 0x104 8086a64: f7cf f992 bl 8055d8c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086a68: 4962 ldr r1, [pc, #392] ; (8086bf4 ) 8086a6a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086a6e: f7ce fbcd bl 805520c BSP_LCD_FillRect(253, 187, 14, 14); 8086a72: 230e movs r3, #14 8086a74: 220e movs r2, #14 8086a76: 21bb movs r1, #187 ; 0xbb 8086a78: 20fd movs r0, #253 ; 0xfd 8086a7a: f7cf f855 bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086a7e: 495d ldr r1, [pc, #372] ; (8086bf4 ) 8086a80: f04f 30ff mov.w r0, #4294967295 8086a84: f7ce fbc2 bl 805520c BSP_LCD_FillRect(255, 189, 10, 10); 8086a88: 230a movs r3, #10 8086a8a: 220a movs r2, #10 8086a8c: 21bd movs r1, #189 ; 0xbd 8086a8e: 20ff movs r0, #255 ; 0xff 8086a90: f7cf f84a bl 8055b28 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8086a94: 4b51 ldr r3, [pc, #324] ; (8086bdc ) 8086a96: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086a9a: f003 0304 and.w r3, r3, #4 8086a9e: 2b00 cmp r3, #0 8086aa0: d033 beq.n 8086b0a LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8086aa2: 4954 ldr r1, [pc, #336] ; (8086bf4 ) 8086aa4: 4854 ldr r0, [pc, #336] ; (8086bf8 ) 8086aa6: f7ce fbb1 bl 805520c if(pardata.IIN != VOLTS) 8086aaa: 4b4c ldr r3, [pc, #304] ; (8086bdc ) 8086aac: 799b ldrb r3, [r3, #6] 8086aae: b2db uxtb r3, r3 8086ab0: 2b02 cmp r3, #2 8086ab2: d010 beq.n 8086ad6 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086ab4: 4b49 ldr r3, [pc, #292] ; (8086bdc ) 8086ab6: 7b1b ldrb r3, [r3, #12] 8086ab8: b2db uxtb r3, r3 8086aba: 4619 mov r1, r3 8086abc: 4a4f ldr r2, [pc, #316] ; (8086bfc ) 8086abe: 232c movs r3, #44 ; 0x2c 8086ac0: fb03 f301 mul.w r3, r3, r1 8086ac4: 4413 add r3, r2 8086ac6: 3324 adds r3, #36 ; 0x24 8086ac8: 681b ldr r3, [r3, #0] 8086aca: 461a mov r2, r3 8086acc: 21ca movs r1, #202 ; 0xca 8086ace: 200a movs r0, #10 8086ad0: f7cf f944 bl 8055d5c 8086ad4: e00f b.n 8086af6 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086ad6: 4b41 ldr r3, [pc, #260] ; (8086bdc ) 8086ad8: 7b1b ldrb r3, [r3, #12] 8086ada: b2db uxtb r3, r3 8086adc: 4619 mov r1, r3 8086ade: 4a48 ldr r2, [pc, #288] ; (8086c00 ) 8086ae0: 232c movs r3, #44 ; 0x2c 8086ae2: fb03 f301 mul.w r3, r3, r1 8086ae6: 4413 add r3, r2 8086ae8: 3324 adds r3, #36 ; 0x24 8086aea: 681b ldr r3, [r3, #0] 8086aec: 461a mov r2, r3 8086aee: 21ca movs r1, #202 ; 0xca 8086af0: 200a movs r0, #10 8086af2: f7cf f933 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 8086af6: f507 733b add.w r3, r7, #748 ; 0x2ec 8086afa: 461a mov r2, r3 8086afc: 21ca movs r1, #202 ; 0xca 8086afe: f44f 7082 mov.w r0, #260 ; 0x104 8086b02: f7cf f943 bl 8055d8c 8086b06: f001 ba83 b.w 8088010 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086b0a: 493a ldr r1, [pc, #232] ; (8086bf4 ) 8086b0c: f04f 30ff mov.w r0, #4294967295 8086b10: f7ce fb7c bl 805520c if(pardata.IIN != VOLTS) 8086b14: 4b31 ldr r3, [pc, #196] ; (8086bdc ) 8086b16: 799b ldrb r3, [r3, #6] 8086b18: b2db uxtb r3, r3 8086b1a: 2b02 cmp r3, #2 8086b1c: d010 beq.n 8086b40 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086b1e: 4b2f ldr r3, [pc, #188] ; (8086bdc ) 8086b20: 7b1b ldrb r3, [r3, #12] 8086b22: b2db uxtb r3, r3 8086b24: 4619 mov r1, r3 8086b26: 4a35 ldr r2, [pc, #212] ; (8086bfc ) 8086b28: 232c movs r3, #44 ; 0x2c 8086b2a: fb03 f301 mul.w r3, r3, r1 8086b2e: 4413 add r3, r2 8086b30: 3324 adds r3, #36 ; 0x24 8086b32: 681b ldr r3, [r3, #0] 8086b34: 461a mov r2, r3 8086b36: 21ca movs r1, #202 ; 0xca 8086b38: 200a movs r0, #10 8086b3a: f7cf f90f bl 8055d5c 8086b3e: e00f b.n 8086b60 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086b40: 4b26 ldr r3, [pc, #152] ; (8086bdc ) 8086b42: 7b1b ldrb r3, [r3, #12] 8086b44: b2db uxtb r3, r3 8086b46: 4619 mov r1, r3 8086b48: 4a2d ldr r2, [pc, #180] ; (8086c00 ) 8086b4a: 232c movs r3, #44 ; 0x2c 8086b4c: fb03 f301 mul.w r3, r3, r1 8086b50: 4413 add r3, r2 8086b52: 3324 adds r3, #36 ; 0x24 8086b54: 681b ldr r3, [r3, #0] 8086b56: 461a mov r2, r3 8086b58: 21ca movs r1, #202 ; 0xca 8086b5a: 200a movs r0, #10 8086b5c: f7cf f8fe bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086b60: 4924 ldr r1, [pc, #144] ; (8086bf4 ) 8086b62: 4828 ldr r0, [pc, #160] ; (8086c04 ) 8086b64: f7ce fb52 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 8086b68: f507 733b add.w r3, r7, #748 ; 0x2ec 8086b6c: 461a mov r2, r3 8086b6e: 21ca movs r1, #202 ; 0xca 8086b70: f44f 7082 mov.w r0, #260 ; 0x104 8086b74: f7cf f90a bl 8055d8c 8086b78: f001 ba4a b.w 8088010 if(menupos == VibMax_ALL) 8086b7c: 4b22 ldr r3, [pc, #136] ; (8086c08 ) 8086b7e: 781b ldrb r3, [r3, #0] 8086b80: b2db uxtb r3, r3 8086b82: 2b09 cmp r3, #9 8086b84: f040 80f9 bne.w 8086d7a LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086b88: 491a ldr r1, [pc, #104] ; (8086bf4 ) 8086b8a: f04f 30ff mov.w r0, #4294967295 8086b8e: f7ce fb3d bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8086b92: 4b12 ldr r3, [pc, #72] ; (8086bdc ) 8086b94: 7b1b ldrb r3, [r3, #12] 8086b96: b2db uxtb r3, r3 8086b98: 461a mov r2, r3 8086b9a: 4b1c ldr r3, [pc, #112] ; (8086c0c ) 8086b9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086ba0: 461a mov r2, r3 8086ba2: 2127 movs r1, #39 ; 0x27 8086ba4: 200a movs r0, #10 8086ba6: f7cf f8d9 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086baa: 4912 ldr r1, [pc, #72] ; (8086bf4 ) 8086bac: 4815 ldr r0, [pc, #84] ; (8086c04 ) 8086bae: f7ce fb2d bl 805520c if((pardata.OPTIONS & maskFFT) == fft) 8086bb2: 4b0a ldr r3, [pc, #40] ; (8086bdc ) 8086bb4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086bb8: f003 0330 and.w r3, r3, #48 ; 0x30 8086bbc: 2b00 cmp r3, #0 8086bbe: d127 bne.n 8086c10 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8086bc0: 4b06 ldr r3, [pc, #24] ; (8086bdc ) 8086bc2: 7b1b ldrb r3, [r3, #12] 8086bc4: b2db uxtb r3, r3 8086bc6: 4a06 ldr r2, [pc, #24] ; (8086be0 ) 8086bc8: 011b lsls r3, r3, #4 8086bca: 4413 add r3, r2 8086bcc: 681b ldr r3, [r3, #0] 8086bce: 461a mov r2, r3 8086bd0: 213a movs r1, #58 ; 0x3a 8086bd2: f44f 7082 mov.w r0, #260 ; 0x104 8086bd6: f7cf f8d9 bl 8055d8c 8086bda: e027 b.n 8086c2c 8086bdc: 20023eb8 .word 0x20023eb8 8086be0: 200202a4 .word 0x200202a4 8086be4: 200201a4 .word 0x200201a4 8086be8: 2002021c .word 0x2002021c 8086bec: 200201f4 .word 0x200201f4 8086bf0: 2002022c .word 0x2002022c 8086bf4: ff0a0f1f .word 0xff0a0f1f 8086bf8: ff808080 .word 0xff808080 8086bfc: 200206bc .word 0x200206bc 8086c00: 20020714 .word 0x20020714 8086c04: ffd8aa57 .word 0xffd8aa57 8086c08: 20020070 .word 0x20020070 8086c0c: 200205cc .word 0x200205cc else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8086c10: 4bc3 ldr r3, [pc, #780] ; (8086f20 ) 8086c12: 7b1b ldrb r3, [r3, #12] 8086c14: b2db uxtb r3, r3 8086c16: 4ac3 ldr r2, [pc, #780] ; (8086f24 ) 8086c18: 011b lsls r3, r3, #4 8086c1a: 4413 add r3, r2 8086c1c: 3304 adds r3, #4 8086c1e: 681b ldr r3, [r3, #0] 8086c20: 461a mov r2, r3 8086c22: 213a movs r1, #58 ; 0x3a 8086c24: f44f 7082 mov.w r0, #260 ; 0x104 8086c28: f7cf f8b0 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8086c2c: 4bbc ldr r3, [pc, #752] ; (8086f20 ) 8086c2e: 7b1b ldrb r3, [r3, #12] 8086c30: b2db uxtb r3, r3 8086c32: 4618 mov r0, r3 8086c34: 4bba ldr r3, [pc, #744] ; (8086f20 ) 8086c36: 785b ldrb r3, [r3, #1] 8086c38: b2db uxtb r3, r3 8086c3a: 005b lsls r3, r3, #1 8086c3c: 4ab8 ldr r2, [pc, #736] ; (8086f20 ) 8086c3e: 7852 ldrb r2, [r2, #1] 8086c40: b2d2 uxtb r2, r2 8086c42: 4611 mov r1, r2 8086c44: 4ab6 ldr r2, [pc, #728] ; (8086f20 ) 8086c46: 440a add r2, r1 8086c48: 7892 ldrb r2, [r2, #2] 8086c4a: b2d2 uxtb r2, r2 8086c4c: 431a orrs r2, r3 8086c4e: 49b6 ldr r1, [pc, #728] ; (8086f28 ) 8086c50: 4603 mov r3, r0 8086c52: 005b lsls r3, r3, #1 8086c54: 4403 add r3, r0 8086c56: 005b lsls r3, r3, #1 8086c58: 4413 add r3, r2 8086c5a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8086c5e: 461a mov r2, r3 8086c60: 214a movs r1, #74 ; 0x4a 8086c62: f44f 7082 mov.w r0, #260 ; 0x104 8086c66: f7cf f891 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8086c6a: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8086c6e: 461a mov r2, r3 8086c70: 215a movs r1, #90 ; 0x5a 8086c72: f44f 7082 mov.w r0, #260 ; 0x104 8086c76: f7cf f889 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8086c7a: f507 73cc add.w r3, r7, #408 ; 0x198 8086c7e: 461a mov r2, r3 8086c80: 216a movs r1, #106 ; 0x6a 8086c82: f44f 7082 mov.w r0, #260 ; 0x104 8086c86: f7cf f881 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str1); 8086c8a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8086c8e: 461a mov r2, r3 8086c90: 217a movs r1, #122 ; 0x7a 8086c92: f44f 7082 mov.w r0, #260 ; 0x104 8086c96: f7cf f879 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8086c9a: 4ba1 ldr r3, [pc, #644] ; (8086f20 ) 8086c9c: 7b1b ldrb r3, [r3, #12] 8086c9e: b2db uxtb r3, r3 8086ca0: 4618 mov r0, r3 8086ca2: 4b9f ldr r3, [pc, #636] ; (8086f20 ) 8086ca4: 7a9b ldrb r3, [r3, #10] 8086ca6: b2db uxtb r3, r3 8086ca8: 4619 mov r1, r3 8086caa: 4aa0 ldr r2, [pc, #640] ; (8086f2c ) 8086cac: 0043 lsls r3, r0, #1 8086cae: 440b add r3, r1 8086cb0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086cb4: 461a mov r2, r3 8086cb6: 218a movs r1, #138 ; 0x8a 8086cb8: f44f 7082 mov.w r0, #260 ; 0x104 8086cbc: f7cf f866 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8086cc0: 4b97 ldr r3, [pc, #604] ; (8086f20 ) 8086cc2: 7b1b ldrb r3, [r3, #12] 8086cc4: b2db uxtb r3, r3 8086cc6: 4619 mov r1, r3 8086cc8: 4b95 ldr r3, [pc, #596] ; (8086f20 ) 8086cca: 7a5b ldrb r3, [r3, #9] 8086ccc: b2db uxtb r3, r3 8086cce: 4618 mov r0, r3 8086cd0: 4a97 ldr r2, [pc, #604] ; (8086f30 ) 8086cd2: 460b mov r3, r1 8086cd4: 009b lsls r3, r3, #2 8086cd6: 440b add r3, r1 8086cd8: 4403 add r3, r0 8086cda: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086cde: 461a mov r2, r3 8086ce0: 219a movs r1, #154 ; 0x9a 8086ce2: f44f 7082 mov.w r0, #260 ; 0x104 8086ce6: f7cf f851 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8086cea: 4b8d ldr r3, [pc, #564] ; (8086f20 ) 8086cec: 7b5b ldrb r3, [r3, #13] 8086cee: b2db uxtb r3, r3 8086cf0: 461a mov r2, r3 8086cf2: 4b90 ldr r3, [pc, #576] ; (8086f34 ) 8086cf4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086cf8: 461a mov r2, r3 8086cfa: 21aa movs r1, #170 ; 0xaa 8086cfc: f44f 7082 mov.w r0, #260 ; 0x104 8086d00: f7cf f844 bl 8055d8c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086d04: 498c ldr r1, [pc, #560] ; (8086f38 ) 8086d06: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086d0a: f7ce fa7f bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 8086d0e: f507 733b add.w r3, r7, #748 ; 0x2ec 8086d12: 461a mov r2, r3 8086d14: 21ca movs r1, #202 ; 0xca 8086d16: f44f 7082 mov.w r0, #260 ; 0x104 8086d1a: f7cf f837 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086d1e: 4986 ldr r1, [pc, #536] ; (8086f38 ) 8086d20: f04f 30ff mov.w r0, #4294967295 8086d24: f7ce fa72 bl 805520c if(pardata.IIN != VOLTS) 8086d28: 4b7d ldr r3, [pc, #500] ; (8086f20 ) 8086d2a: 799b ldrb r3, [r3, #6] 8086d2c: b2db uxtb r3, r3 8086d2e: 2b02 cmp r3, #2 8086d30: d011 beq.n 8086d56 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086d32: 4b7b ldr r3, [pc, #492] ; (8086f20 ) 8086d34: 7b1b ldrb r3, [r3, #12] 8086d36: b2db uxtb r3, r3 8086d38: 4619 mov r1, r3 8086d3a: 4a80 ldr r2, [pc, #512] ; (8086f3c ) 8086d3c: 232c movs r3, #44 ; 0x2c 8086d3e: fb03 f301 mul.w r3, r3, r1 8086d42: 4413 add r3, r2 8086d44: 3324 adds r3, #36 ; 0x24 8086d46: 681b ldr r3, [r3, #0] 8086d48: 461a mov r2, r3 8086d4a: 21ca movs r1, #202 ; 0xca 8086d4c: 200a movs r0, #10 8086d4e: f7cf f805 bl 8055d5c 8086d52: f001 b95d b.w 8088010 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086d56: 4b72 ldr r3, [pc, #456] ; (8086f20 ) 8086d58: 7b1b ldrb r3, [r3, #12] 8086d5a: b2db uxtb r3, r3 8086d5c: 4619 mov r1, r3 8086d5e: 4a78 ldr r2, [pc, #480] ; (8086f40 ) 8086d60: 232c movs r3, #44 ; 0x2c 8086d62: fb03 f301 mul.w r3, r3, r1 8086d66: 4413 add r3, r2 8086d68: 3324 adds r3, #36 ; 0x24 8086d6a: 681b ldr r3, [r3, #0] 8086d6c: 461a mov r2, r3 8086d6e: 21ca movs r1, #202 ; 0xca 8086d70: 200a movs r0, #10 8086d72: f7ce fff3 bl 8055d5c 8086d76: f001 b94b b.w 8088010 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086d7a: 496f ldr r1, [pc, #444] ; (8086f38 ) 8086d7c: f04f 30ff mov.w r0, #4294967295 8086d80: f7ce fa44 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8086d84: 4b66 ldr r3, [pc, #408] ; (8086f20 ) 8086d86: 7b1b ldrb r3, [r3, #12] 8086d88: b2db uxtb r3, r3 8086d8a: 461a mov r2, r3 8086d8c: 4b6d ldr r3, [pc, #436] ; (8086f44 ) 8086d8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086d92: 461a mov r2, r3 8086d94: 2127 movs r1, #39 ; 0x27 8086d96: 200a movs r0, #10 8086d98: f7ce ffe0 bl 8055d5c if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 8086d9c: 4b6a ldr r3, [pc, #424] ; (8086f48 ) 8086d9e: 781b ldrb r3, [r3, #0] 8086da0: b2db uxtb r3, r3 8086da2: 2b18 cmp r3, #24 8086da4: f240 8083 bls.w 8086eae 8086da8: 4b67 ldr r3, [pc, #412] ; (8086f48 ) 8086daa: 781b ldrb r3, [r3, #0] 8086dac: b2db uxtb r3, r3 8086dae: 2b1e cmp r3, #30 8086db0: d87d bhi.n 8086eae LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086db2: 4961 ldr r1, [pc, #388] ; (8086f38 ) 8086db4: 4865 ldr r0, [pc, #404] ; (8086f4c ) 8086db6: f7ce fa29 bl 805520c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8086dba: f507 73cc add.w r3, r7, #408 ; 0x198 8086dbe: 461a mov r2, r3 8086dc0: 216a movs r1, #106 ; 0x6a 8086dc2: f44f 7082 mov.w r0, #260 ; 0x104 8086dc6: f7ce ffe1 bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8086dca: 4b55 ldr r3, [pc, #340] ; (8086f20 ) 8086dcc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086dd0: f003 0304 and.w r3, r3, #4 8086dd4: 2b00 cmp r3, #0 8086dd6: d032 beq.n 8086e3e LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8086dd8: 4957 ldr r1, [pc, #348] ; (8086f38 ) 8086dda: 485d ldr r0, [pc, #372] ; (8086f50 ) 8086ddc: f7ce fa16 bl 805520c if(pardata.IIN != VOLTS) 8086de0: 4b4f ldr r3, [pc, #316] ; (8086f20 ) 8086de2: 799b ldrb r3, [r3, #6] 8086de4: b2db uxtb r3, r3 8086de6: 2b02 cmp r3, #2 8086de8: d010 beq.n 8086e0c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086dea: 4b4d ldr r3, [pc, #308] ; (8086f20 ) 8086dec: 7b1b ldrb r3, [r3, #12] 8086dee: b2db uxtb r3, r3 8086df0: 4619 mov r1, r3 8086df2: 4a52 ldr r2, [pc, #328] ; (8086f3c ) 8086df4: 232c movs r3, #44 ; 0x2c 8086df6: fb03 f301 mul.w r3, r3, r1 8086dfa: 4413 add r3, r2 8086dfc: 3324 adds r3, #36 ; 0x24 8086dfe: 681b ldr r3, [r3, #0] 8086e00: 461a mov r2, r3 8086e02: 21ca movs r1, #202 ; 0xca 8086e04: 200a movs r0, #10 8086e06: f7ce ffa9 bl 8055d5c 8086e0a: e00f b.n 8086e2c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086e0c: 4b44 ldr r3, [pc, #272] ; (8086f20 ) 8086e0e: 7b1b ldrb r3, [r3, #12] 8086e10: b2db uxtb r3, r3 8086e12: 4619 mov r1, r3 8086e14: 4a4a ldr r2, [pc, #296] ; (8086f40 ) 8086e16: 232c movs r3, #44 ; 0x2c 8086e18: fb03 f301 mul.w r3, r3, r1 8086e1c: 4413 add r3, r2 8086e1e: 3324 adds r3, #36 ; 0x24 8086e20: 681b ldr r3, [r3, #0] 8086e22: 461a mov r2, r3 8086e24: 21ca movs r1, #202 ; 0xca 8086e26: 200a movs r0, #10 8086e28: f7ce ff98 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 8086e2c: f507 733b add.w r3, r7, #748 ; 0x2ec 8086e30: 461a mov r2, r3 8086e32: 21ca movs r1, #202 ; 0xca 8086e34: f44f 7082 mov.w r0, #260 ; 0x104 8086e38: f7ce ffa8 bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8086e3c: e124 b.n 8087088 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086e3e: 493e ldr r1, [pc, #248] ; (8086f38 ) 8086e40: f04f 30ff mov.w r0, #4294967295 8086e44: f7ce f9e2 bl 805520c if(pardata.IIN != VOLTS) 8086e48: 4b35 ldr r3, [pc, #212] ; (8086f20 ) 8086e4a: 799b ldrb r3, [r3, #6] 8086e4c: b2db uxtb r3, r3 8086e4e: 2b02 cmp r3, #2 8086e50: d010 beq.n 8086e74 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086e52: 4b33 ldr r3, [pc, #204] ; (8086f20 ) 8086e54: 7b1b ldrb r3, [r3, #12] 8086e56: b2db uxtb r3, r3 8086e58: 4619 mov r1, r3 8086e5a: 4a38 ldr r2, [pc, #224] ; (8086f3c ) 8086e5c: 232c movs r3, #44 ; 0x2c 8086e5e: fb03 f301 mul.w r3, r3, r1 8086e62: 4413 add r3, r2 8086e64: 3324 adds r3, #36 ; 0x24 8086e66: 681b ldr r3, [r3, #0] 8086e68: 461a mov r2, r3 8086e6a: 21ca movs r1, #202 ; 0xca 8086e6c: 200a movs r0, #10 8086e6e: f7ce ff75 bl 8055d5c 8086e72: e00f b.n 8086e94 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086e74: 4b2a ldr r3, [pc, #168] ; (8086f20 ) 8086e76: 7b1b ldrb r3, [r3, #12] 8086e78: b2db uxtb r3, r3 8086e7a: 4619 mov r1, r3 8086e7c: 4a30 ldr r2, [pc, #192] ; (8086f40 ) 8086e7e: 232c movs r3, #44 ; 0x2c 8086e80: fb03 f301 mul.w r3, r3, r1 8086e84: 4413 add r3, r2 8086e86: 3324 adds r3, #36 ; 0x24 8086e88: 681b ldr r3, [r3, #0] 8086e8a: 461a mov r2, r3 8086e8c: 21ca movs r1, #202 ; 0xca 8086e8e: 200a movs r0, #10 8086e90: f7ce ff64 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086e94: 4928 ldr r1, [pc, #160] ; (8086f38 ) 8086e96: 482d ldr r0, [pc, #180] ; (8086f4c ) 8086e98: f7ce f9b8 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 8086e9c: f507 733b add.w r3, r7, #748 ; 0x2ec 8086ea0: 461a mov r2, r3 8086ea2: 21ca movs r1, #202 ; 0xca 8086ea4: f44f 7082 mov.w r0, #260 ; 0x104 8086ea8: f7ce ff70 bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8086eac: e0ec b.n 8087088 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 8086eae: 4b26 ldr r3, [pc, #152] ; (8086f48 ) 8086eb0: 781b ldrb r3, [r3, #0] 8086eb2: b2db uxtb r3, r3 8086eb4: 2b1e cmp r3, #30 8086eb6: f240 809e bls.w 8086ff6 8086eba: 4b23 ldr r3, [pc, #140] ; (8086f48 ) 8086ebc: 781b ldrb r3, [r3, #0] 8086ebe: b2db uxtb r3, r3 8086ec0: 2b24 cmp r3, #36 ; 0x24 8086ec2: f200 8098 bhi.w 8086ff6 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086ec6: 491c ldr r1, [pc, #112] ; (8086f38 ) 8086ec8: 4820 ldr r0, [pc, #128] ; (8086f4c ) 8086eca: f7ce f99f bl 805520c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8086ece: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8086ed2: 461a mov r2, r3 8086ed4: 215a movs r1, #90 ; 0x5a 8086ed6: f44f 7082 mov.w r0, #260 ; 0x104 8086eda: f7ce ff57 bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8086ede: 4b10 ldr r3, [pc, #64] ; (8086f20 ) 8086ee0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086ee4: f003 0304 and.w r3, r3, #4 8086ee8: 2b00 cmp r3, #0 8086eea: d04c beq.n 8086f86 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8086eec: 4912 ldr r1, [pc, #72] ; (8086f38 ) 8086eee: 4818 ldr r0, [pc, #96] ; (8086f50 ) 8086ef0: f7ce f98c bl 805520c if(pardata.IIN != VOLTS) 8086ef4: 4b0a ldr r3, [pc, #40] ; (8086f20 ) 8086ef6: 799b ldrb r3, [r3, #6] 8086ef8: b2db uxtb r3, r3 8086efa: 2b02 cmp r3, #2 8086efc: d02a beq.n 8086f54 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086efe: 4b08 ldr r3, [pc, #32] ; (8086f20 ) 8086f00: 7b1b ldrb r3, [r3, #12] 8086f02: b2db uxtb r3, r3 8086f04: 4619 mov r1, r3 8086f06: 4a0d ldr r2, [pc, #52] ; (8086f3c ) 8086f08: 232c movs r3, #44 ; 0x2c 8086f0a: fb03 f301 mul.w r3, r3, r1 8086f0e: 4413 add r3, r2 8086f10: 3324 adds r3, #36 ; 0x24 8086f12: 681b ldr r3, [r3, #0] 8086f14: 461a mov r2, r3 8086f16: 21ca movs r1, #202 ; 0xca 8086f18: 200a movs r0, #10 8086f1a: f7ce ff1f bl 8055d5c 8086f1e: e029 b.n 8086f74 8086f20: 20023eb8 .word 0x20023eb8 8086f24: 200202a4 .word 0x200202a4 8086f28: 200201a4 .word 0x200201a4 8086f2c: 2002021c .word 0x2002021c 8086f30: 200201f4 .word 0x200201f4 8086f34: 2002022c .word 0x2002022c 8086f38: ff0a0f1f .word 0xff0a0f1f 8086f3c: 200206bc .word 0x200206bc 8086f40: 20020714 .word 0x20020714 8086f44: 200205cc .word 0x200205cc 8086f48: 20020070 .word 0x20020070 8086f4c: ffd8aa57 .word 0xffd8aa57 8086f50: ff808080 .word 0xff808080 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086f54: 4bbf ldr r3, [pc, #764] ; (8087254 ) 8086f56: 7b1b ldrb r3, [r3, #12] 8086f58: b2db uxtb r3, r3 8086f5a: 4619 mov r1, r3 8086f5c: 4abe ldr r2, [pc, #760] ; (8087258 ) 8086f5e: 232c movs r3, #44 ; 0x2c 8086f60: fb03 f301 mul.w r3, r3, r1 8086f64: 4413 add r3, r2 8086f66: 3324 adds r3, #36 ; 0x24 8086f68: 681b ldr r3, [r3, #0] 8086f6a: 461a mov r2, r3 8086f6c: 21ca movs r1, #202 ; 0xca 8086f6e: 200a movs r0, #10 8086f70: f7ce fef4 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_12, str); 8086f74: f507 733b add.w r3, r7, #748 ; 0x2ec 8086f78: 461a mov r2, r3 8086f7a: 21ca movs r1, #202 ; 0xca 8086f7c: f44f 7082 mov.w r0, #260 ; 0x104 8086f80: f7ce ff04 bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8086f84: e080 b.n 8087088 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086f86: 49b5 ldr r1, [pc, #724] ; (808725c ) 8086f88: f04f 30ff mov.w r0, #4294967295 8086f8c: f7ce f93e bl 805520c if(pardata.IIN != VOLTS) 8086f90: 4bb0 ldr r3, [pc, #704] ; (8087254 ) 8086f92: 799b ldrb r3, [r3, #6] 8086f94: b2db uxtb r3, r3 8086f96: 2b02 cmp r3, #2 8086f98: d010 beq.n 8086fbc LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086f9a: 4bae ldr r3, [pc, #696] ; (8087254 ) 8086f9c: 7b1b ldrb r3, [r3, #12] 8086f9e: b2db uxtb r3, r3 8086fa0: 4619 mov r1, r3 8086fa2: 4aaf ldr r2, [pc, #700] ; (8087260 ) 8086fa4: 232c movs r3, #44 ; 0x2c 8086fa6: fb03 f301 mul.w r3, r3, r1 8086faa: 4413 add r3, r2 8086fac: 3324 adds r3, #36 ; 0x24 8086fae: 681b ldr r3, [r3, #0] 8086fb0: 461a mov r2, r3 8086fb2: 21ca movs r1, #202 ; 0xca 8086fb4: 200a movs r0, #10 8086fb6: f7ce fed1 bl 8055d5c 8086fba: e00f b.n 8086fdc else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086fbc: 4ba5 ldr r3, [pc, #660] ; (8087254 ) 8086fbe: 7b1b ldrb r3, [r3, #12] 8086fc0: b2db uxtb r3, r3 8086fc2: 4619 mov r1, r3 8086fc4: 4aa4 ldr r2, [pc, #656] ; (8087258 ) 8086fc6: 232c movs r3, #44 ; 0x2c 8086fc8: fb03 f301 mul.w r3, r3, r1 8086fcc: 4413 add r3, r2 8086fce: 3324 adds r3, #36 ; 0x24 8086fd0: 681b ldr r3, [r3, #0] 8086fd2: 461a mov r2, r3 8086fd4: 21ca movs r1, #202 ; 0xca 8086fd6: 200a movs r0, #10 8086fd8: f7ce fec0 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086fdc: 499f ldr r1, [pc, #636] ; (808725c ) 8086fde: 48a1 ldr r0, [pc, #644] ; (8087264 ) 8086fe0: f7ce f914 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, str); 8086fe4: f507 733b add.w r3, r7, #748 ; 0x2ec 8086fe8: 461a mov r2, r3 8086fea: 21ca movs r1, #202 ; 0xca 8086fec: f44f 7082 mov.w r0, #260 ; 0x104 8086ff0: f7ce fecc bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8086ff4: e048 b.n 8087088 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 8086ff6: 4b9c ldr r3, [pc, #624] ; (8087268 ) 8086ff8: 781b ldrb r3, [r3, #0] 8086ffa: b2db uxtb r3, r3 8086ffc: 2b0a cmp r3, #10 8086ffe: d943 bls.n 8087088 8087000: 4b99 ldr r3, [pc, #612] ; (8087268 ) 8087002: 781b ldrb r3, [r3, #0] 8087004: b2db uxtb r3, r3 8087006: 2b10 cmp r3, #16 8087008: d83e bhi.n 8087088 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808700a: 4994 ldr r1, [pc, #592] ; (808725c ) 808700c: 4895 ldr r0, [pc, #596] ; (8087264 ) 808700e: f7ce f8fd bl 805520c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8087012: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8087016: 461a mov r2, r3 8087018: 215a movs r1, #90 ; 0x5a 808701a: f44f 7082 mov.w r0, #260 ; 0x104 808701e: f7ce feb5 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8087022: f507 73cc add.w r3, r7, #408 ; 0x198 8087026: 461a mov r2, r3 8087028: 216a movs r1, #106 ; 0x6a 808702a: f44f 7082 mov.w r0, #260 ; 0x104 808702e: f7ce fead bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087032: 498a ldr r1, [pc, #552] ; (808725c ) 8087034: f04f 30ff mov.w r0, #4294967295 8087038: f7ce f8e8 bl 805520c if(pardata.IIN != VOLTS) 808703c: 4b85 ldr r3, [pc, #532] ; (8087254 ) 808703e: 799b ldrb r3, [r3, #6] 8087040: b2db uxtb r3, r3 8087042: 2b02 cmp r3, #2 8087044: d010 beq.n 8087068 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8087046: 4b83 ldr r3, [pc, #524] ; (8087254 ) 8087048: 7b1b ldrb r3, [r3, #12] 808704a: b2db uxtb r3, r3 808704c: 4619 mov r1, r3 808704e: 4a84 ldr r2, [pc, #528] ; (8087260 ) 8087050: 232c movs r3, #44 ; 0x2c 8087052: fb03 f301 mul.w r3, r3, r1 8087056: 4413 add r3, r2 8087058: 3324 adds r3, #36 ; 0x24 808705a: 681b ldr r3, [r3, #0] 808705c: 461a mov r2, r3 808705e: 21ca movs r1, #202 ; 0xca 8087060: 200a movs r0, #10 8087062: f7ce fe7b bl 8055d5c 8087066: e00f b.n 8087088 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8087068: 4b7a ldr r3, [pc, #488] ; (8087254 ) 808706a: 7b1b ldrb r3, [r3, #12] 808706c: b2db uxtb r3, r3 808706e: 4619 mov r1, r3 8087070: 4a79 ldr r2, [pc, #484] ; (8087258 ) 8087072: 232c movs r3, #44 ; 0x2c 8087074: fb03 f301 mul.w r3, r3, r1 8087078: 4413 add r3, r2 808707a: 3324 adds r3, #36 ; 0x24 808707c: 681b ldr r3, [r3, #0] 808707e: 461a mov r2, r3 8087080: 21ca movs r1, #202 ; 0xca 8087082: 200a movs r0, #10 8087084: f7ce fe6a bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087088: 4974 ldr r1, [pc, #464] ; (808725c ) 808708a: 4876 ldr r0, [pc, #472] ; (8087264 ) 808708c: f7ce f8be bl 805520c if((pardata.OPTIONS & maskFFT) == fft) 8087090: 4b70 ldr r3, [pc, #448] ; (8087254 ) 8087092: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8087096: f003 0330 and.w r3, r3, #48 ; 0x30 808709a: 2b00 cmp r3, #0 808709c: d10d bne.n 80870ba LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 808709e: 4b6d ldr r3, [pc, #436] ; (8087254 ) 80870a0: 7b1b ldrb r3, [r3, #12] 80870a2: b2db uxtb r3, r3 80870a4: 4a71 ldr r2, [pc, #452] ; (808726c ) 80870a6: 011b lsls r3, r3, #4 80870a8: 4413 add r3, r2 80870aa: 681b ldr r3, [r3, #0] 80870ac: 461a mov r2, r3 80870ae: 213a movs r1, #58 ; 0x3a 80870b0: f44f 7082 mov.w r0, #260 ; 0x104 80870b4: f7ce fe6a bl 8055d8c 80870b8: e00d b.n 80870d6 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 80870ba: 4b66 ldr r3, [pc, #408] ; (8087254 ) 80870bc: 7b1b ldrb r3, [r3, #12] 80870be: b2db uxtb r3, r3 80870c0: 4a6a ldr r2, [pc, #424] ; (808726c ) 80870c2: 011b lsls r3, r3, #4 80870c4: 4413 add r3, r2 80870c6: 3304 adds r3, #4 80870c8: 681b ldr r3, [r3, #0] 80870ca: 461a mov r2, r3 80870cc: 213a movs r1, #58 ; 0x3a 80870ce: f44f 7082 mov.w r0, #260 ; 0x104 80870d2: f7ce fe5b bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80870d6: 4b5f ldr r3, [pc, #380] ; (8087254 ) 80870d8: 7b1b ldrb r3, [r3, #12] 80870da: b2db uxtb r3, r3 80870dc: 4618 mov r0, r3 80870de: 4b5d ldr r3, [pc, #372] ; (8087254 ) 80870e0: 785b ldrb r3, [r3, #1] 80870e2: b2db uxtb r3, r3 80870e4: 005b lsls r3, r3, #1 80870e6: 4a5b ldr r2, [pc, #364] ; (8087254 ) 80870e8: 7852 ldrb r2, [r2, #1] 80870ea: b2d2 uxtb r2, r2 80870ec: 4611 mov r1, r2 80870ee: 4a59 ldr r2, [pc, #356] ; (8087254 ) 80870f0: 440a add r2, r1 80870f2: 7892 ldrb r2, [r2, #2] 80870f4: b2d2 uxtb r2, r2 80870f6: 431a orrs r2, r3 80870f8: 495d ldr r1, [pc, #372] ; (8087270 ) 80870fa: 4603 mov r3, r0 80870fc: 005b lsls r3, r3, #1 80870fe: 4403 add r3, r0 8087100: 005b lsls r3, r3, #1 8087102: 4413 add r3, r2 8087104: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8087108: 461a mov r2, r3 808710a: 214a movs r1, #74 ; 0x4a 808710c: f44f 7082 mov.w r0, #260 ; 0x104 8087110: f7ce fe3c bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, str1); 8087114: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8087118: 461a mov r2, r3 808711a: 217a movs r1, #122 ; 0x7a 808711c: f44f 7082 mov.w r0, #260 ; 0x104 8087120: f7ce fe34 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8087124: 4b4b ldr r3, [pc, #300] ; (8087254 ) 8087126: 7b1b ldrb r3, [r3, #12] 8087128: b2db uxtb r3, r3 808712a: 4618 mov r0, r3 808712c: 4b49 ldr r3, [pc, #292] ; (8087254 ) 808712e: 7a9b ldrb r3, [r3, #10] 8087130: b2db uxtb r3, r3 8087132: 4619 mov r1, r3 8087134: 4a4f ldr r2, [pc, #316] ; (8087274 ) 8087136: 0043 lsls r3, r0, #1 8087138: 440b add r3, r1 808713a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808713e: 461a mov r2, r3 8087140: 218a movs r1, #138 ; 0x8a 8087142: f44f 7082 mov.w r0, #260 ; 0x104 8087146: f7ce fe21 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 808714a: 4b42 ldr r3, [pc, #264] ; (8087254 ) 808714c: 7b1b ldrb r3, [r3, #12] 808714e: b2db uxtb r3, r3 8087150: 4619 mov r1, r3 8087152: 4b40 ldr r3, [pc, #256] ; (8087254 ) 8087154: 7a5b ldrb r3, [r3, #9] 8087156: b2db uxtb r3, r3 8087158: 4618 mov r0, r3 808715a: 4a47 ldr r2, [pc, #284] ; (8087278 ) 808715c: 460b mov r3, r1 808715e: 009b lsls r3, r3, #2 8087160: 440b add r3, r1 8087162: 4403 add r3, r0 8087164: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087168: 461a mov r2, r3 808716a: 219a movs r1, #154 ; 0x9a 808716c: f44f 7082 mov.w r0, #260 ; 0x104 8087170: f7ce fe0c bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8087174: 4b37 ldr r3, [pc, #220] ; (8087254 ) 8087176: 7b5b ldrb r3, [r3, #13] 8087178: b2db uxtb r3, r3 808717a: 461a mov r2, r3 808717c: 4b3f ldr r3, [pc, #252] ; (808727c ) 808717e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087182: 461a mov r2, r3 8087184: 21aa movs r1, #170 ; 0xaa 8087186: f44f 7082 mov.w r0, #260 ; 0x104 808718a: f7ce fdff bl 8055d8c if(menupos == FilterHP_IDT) 808718e: 4b36 ldr r3, [pc, #216] ; (8087268 ) 8087190: 781b ldrb r3, [r3, #0] 8087192: b2db uxtb r3, r3 8087194: 2b19 cmp r3, #25 8087196: d179 bne.n 808728c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087198: 4930 ldr r1, [pc, #192] ; (808725c ) 808719a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808719e: f7ce f835 bl 805520c if(blk) 80871a2: 4b37 ldr r3, [pc, #220] ; (8087280 ) 80871a4: 681b ldr r3, [r3, #0] 80871a6: 2b00 cmp r3, #0 80871a8: d00b beq.n 80871c2 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 80871aa: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 80871ae: b2db uxtb r3, r3 80871b0: 461a mov r2, r3 80871b2: 4b34 ldr r3, [pc, #208] ; (8087284 ) 80871b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80871b8: 461a mov r2, r3 80871ba: 215a movs r1, #90 ; 0x5a 80871bc: 20c6 movs r0, #198 ; 0xc6 80871be: f7ce fdcd bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80871c2: 4926 ldr r1, [pc, #152] ; (808725c ) 80871c4: 4827 ldr r0, [pc, #156] ; (8087264 ) 80871c6: f7ce f821 bl 805520c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 80871ca: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 80871ce: b2db uxtb r3, r3 80871d0: 461a mov r2, r3 80871d2: 4b2c ldr r3, [pc, #176] ; (8087284 ) 80871d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80871d8: 461a mov r2, r3 80871da: 215a movs r1, #90 ; 0x5a 80871dc: 20d6 movs r0, #214 ; 0xd6 80871de: f7ce fdbd bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 80871e2: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 80871e6: b2db uxtb r3, r3 80871e8: 461a mov r2, r3 80871ea: 4b26 ldr r3, [pc, #152] ; (8087284 ) 80871ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80871f0: 461a mov r2, r3 80871f2: 215a movs r1, #90 ; 0x5a 80871f4: 20e6 movs r0, #230 ; 0xe6 80871f6: f7ce fdb1 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 80871fa: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 80871fe: b2db uxtb r3, r3 8087200: 461a mov r2, r3 8087202: 4b20 ldr r3, [pc, #128] ; (8087284 ) 8087204: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087208: 461a mov r2, r3 808720a: 215a movs r1, #90 ; 0x5a 808720c: 20f6 movs r0, #246 ; 0xf6 808720e: f7ce fda5 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8087212: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8087216: b2db uxtb r3, r3 8087218: 461a mov r2, r3 808721a: 4b1a ldr r3, [pc, #104] ; (8087284 ) 808721c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087220: 461a mov r2, r3 8087222: 215a movs r1, #90 ; 0x5a 8087224: f44f 7083 mov.w r0, #262 ; 0x106 8087228: f7ce fd98 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, "."); 808722c: 4a16 ldr r2, [pc, #88] ; (8087288 ) 808722e: 215a movs r1, #90 ; 0x5a 8087230: f44f 708b mov.w r0, #278 ; 0x116 8087234: f7ce fd92 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8087238: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808723c: b2db uxtb r3, r3 808723e: 461a mov r2, r3 8087240: 4b10 ldr r3, [pc, #64] ; (8087284 ) 8087242: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087246: 461a mov r2, r3 8087248: 215a movs r1, #90 ; 0x5a 808724a: f44f 7093 mov.w r0, #294 ; 0x126 808724e: f7ce fd85 bl 8055d5c 8087252: e215 b.n 8087680 8087254: 20023eb8 .word 0x20023eb8 8087258: 20020714 .word 0x20020714 808725c: ff0a0f1f .word 0xff0a0f1f 8087260: 200206bc .word 0x200206bc 8087264: ffd8aa57 .word 0xffd8aa57 8087268: 20020070 .word 0x20020070 808726c: 200202a4 .word 0x200202a4 8087270: 200201a4 .word 0x200201a4 8087274: 2002021c .word 0x2002021c 8087278: 200201f4 .word 0x200201f4 808727c: 2002022c .word 0x2002022c 8087280: 200216ac .word 0x200216ac 8087284: 2002096c .word 0x2002096c 8087288: 080d6258 .word 0x080d6258 if(menupos == FilterHP_IET) 808728c: 4bc5 ldr r3, [pc, #788] ; (80875a4 ) 808728e: 781b ldrb r3, [r3, #0] 8087290: b2db uxtb r3, r3 8087292: 2b1a cmp r3, #26 8087294: d15d bne.n 8087352 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087296: 49c4 ldr r1, [pc, #784] ; (80875a8 ) 8087298: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808729c: f7cd ffb6 bl 805520c if(blk) 80872a0: 4bc2 ldr r3, [pc, #776] ; (80875ac ) 80872a2: 681b ldr r3, [r3, #0] 80872a4: 2b00 cmp r3, #0 80872a6: d00b beq.n 80872c0 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 80872a8: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 80872ac: b2db uxtb r3, r3 80872ae: 461a mov r2, r3 80872b0: 4bbf ldr r3, [pc, #764] ; (80875b0 ) 80872b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80872b6: 461a mov r2, r3 80872b8: 215a movs r1, #90 ; 0x5a 80872ba: 20d6 movs r0, #214 ; 0xd6 80872bc: f7ce fd4e bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80872c0: 49b9 ldr r1, [pc, #740] ; (80875a8 ) 80872c2: 48bc ldr r0, [pc, #752] ; (80875b4 ) 80872c4: f7cd ffa2 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 80872c8: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 80872cc: b2db uxtb r3, r3 80872ce: 461a mov r2, r3 80872d0: 4bb7 ldr r3, [pc, #732] ; (80875b0 ) 80872d2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80872d6: 461a mov r2, r3 80872d8: 215a movs r1, #90 ; 0x5a 80872da: 20c6 movs r0, #198 ; 0xc6 80872dc: f7ce fd3e bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 80872e0: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 80872e4: b2db uxtb r3, r3 80872e6: 461a mov r2, r3 80872e8: 4bb1 ldr r3, [pc, #708] ; (80875b0 ) 80872ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80872ee: 461a mov r2, r3 80872f0: 215a movs r1, #90 ; 0x5a 80872f2: 20e6 movs r0, #230 ; 0xe6 80872f4: f7ce fd32 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 80872f8: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 80872fc: b2db uxtb r3, r3 80872fe: 461a mov r2, r3 8087300: 4bab ldr r3, [pc, #684] ; (80875b0 ) 8087302: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087306: 461a mov r2, r3 8087308: 215a movs r1, #90 ; 0x5a 808730a: 20f6 movs r0, #246 ; 0xf6 808730c: f7ce fd26 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8087310: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8087314: b2db uxtb r3, r3 8087316: 461a mov r2, r3 8087318: 4ba5 ldr r3, [pc, #660] ; (80875b0 ) 808731a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808731e: 461a mov r2, r3 8087320: 215a movs r1, #90 ; 0x5a 8087322: f44f 7083 mov.w r0, #262 ; 0x106 8087326: f7ce fd19 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, "."); 808732a: 4aa3 ldr r2, [pc, #652] ; (80875b8 ) 808732c: 215a movs r1, #90 ; 0x5a 808732e: f44f 708b mov.w r0, #278 ; 0x116 8087332: f7ce fd13 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8087336: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808733a: b2db uxtb r3, r3 808733c: 461a mov r2, r3 808733e: 4b9c ldr r3, [pc, #624] ; (80875b0 ) 8087340: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087344: 461a mov r2, r3 8087346: 215a movs r1, #90 ; 0x5a 8087348: f44f 7093 mov.w r0, #294 ; 0x126 808734c: f7ce fd06 bl 8055d5c 8087350: e196 b.n 8087680 if(menupos == FilterHP_IES) 8087352: 4b94 ldr r3, [pc, #592] ; (80875a4 ) 8087354: 781b ldrb r3, [r3, #0] 8087356: b2db uxtb r3, r3 8087358: 2b1b cmp r3, #27 808735a: d15d bne.n 8087418 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808735c: 4992 ldr r1, [pc, #584] ; (80875a8 ) 808735e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087362: f7cd ff53 bl 805520c if(blk) 8087366: 4b91 ldr r3, [pc, #580] ; (80875ac ) 8087368: 681b ldr r3, [r3, #0] 808736a: 2b00 cmp r3, #0 808736c: d00b beq.n 8087386 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 808736e: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8087372: b2db uxtb r3, r3 8087374: 461a mov r2, r3 8087376: 4b8e ldr r3, [pc, #568] ; (80875b0 ) 8087378: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808737c: 461a mov r2, r3 808737e: 215a movs r1, #90 ; 0x5a 8087380: 20e6 movs r0, #230 ; 0xe6 8087382: f7ce fceb bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087386: 4988 ldr r1, [pc, #544] ; (80875a8 ) 8087388: 488a ldr r0, [pc, #552] ; (80875b4 ) 808738a: f7cd ff3f bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 808738e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8087392: b2db uxtb r3, r3 8087394: 461a mov r2, r3 8087396: 4b86 ldr r3, [pc, #536] ; (80875b0 ) 8087398: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808739c: 461a mov r2, r3 808739e: 215a movs r1, #90 ; 0x5a 80873a0: 20c6 movs r0, #198 ; 0xc6 80873a2: f7ce fcdb bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 80873a6: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 80873aa: b2db uxtb r3, r3 80873ac: 461a mov r2, r3 80873ae: 4b80 ldr r3, [pc, #512] ; (80875b0 ) 80873b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80873b4: 461a mov r2, r3 80873b6: 215a movs r1, #90 ; 0x5a 80873b8: 20d6 movs r0, #214 ; 0xd6 80873ba: f7ce fccf bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 80873be: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 80873c2: b2db uxtb r3, r3 80873c4: 461a mov r2, r3 80873c6: 4b7a ldr r3, [pc, #488] ; (80875b0 ) 80873c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80873cc: 461a mov r2, r3 80873ce: 215a movs r1, #90 ; 0x5a 80873d0: 20f6 movs r0, #246 ; 0xf6 80873d2: f7ce fcc3 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 80873d6: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 80873da: b2db uxtb r3, r3 80873dc: 461a mov r2, r3 80873de: 4b74 ldr r3, [pc, #464] ; (80875b0 ) 80873e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80873e4: 461a mov r2, r3 80873e6: 215a movs r1, #90 ; 0x5a 80873e8: f44f 7083 mov.w r0, #262 ; 0x106 80873ec: f7ce fcb6 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, "."); 80873f0: 4a71 ldr r2, [pc, #452] ; (80875b8 ) 80873f2: 215a movs r1, #90 ; 0x5a 80873f4: f44f 708b mov.w r0, #278 ; 0x116 80873f8: f7ce fcb0 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 80873fc: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8087400: b2db uxtb r3, r3 8087402: 461a mov r2, r3 8087404: 4b6a ldr r3, [pc, #424] ; (80875b0 ) 8087406: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808740a: 461a mov r2, r3 808740c: 215a movs r1, #90 ; 0x5a 808740e: f44f 7093 mov.w r0, #294 ; 0x126 8087412: f7ce fca3 bl 8055d5c 8087416: e133 b.n 8087680 if(menupos == FilterHP_IED) 8087418: 4b62 ldr r3, [pc, #392] ; (80875a4 ) 808741a: 781b ldrb r3, [r3, #0] 808741c: b2db uxtb r3, r3 808741e: 2b1c cmp r3, #28 8087420: d15d bne.n 80874de LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087422: 4961 ldr r1, [pc, #388] ; (80875a8 ) 8087424: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087428: f7cd fef0 bl 805520c if(blk) 808742c: 4b5f ldr r3, [pc, #380] ; (80875ac ) 808742e: 681b ldr r3, [r3, #0] 8087430: 2b00 cmp r3, #0 8087432: d00b beq.n 808744c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8087434: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8087438: b2db uxtb r3, r3 808743a: 461a mov r2, r3 808743c: 4b5c ldr r3, [pc, #368] ; (80875b0 ) 808743e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087442: 461a mov r2, r3 8087444: 215a movs r1, #90 ; 0x5a 8087446: 20f6 movs r0, #246 ; 0xf6 8087448: f7ce fc88 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808744c: 4956 ldr r1, [pc, #344] ; (80875a8 ) 808744e: 4859 ldr r0, [pc, #356] ; (80875b4 ) 8087450: f7cd fedc bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8087454: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8087458: b2db uxtb r3, r3 808745a: 461a mov r2, r3 808745c: 4b54 ldr r3, [pc, #336] ; (80875b0 ) 808745e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087462: 461a mov r2, r3 8087464: 215a movs r1, #90 ; 0x5a 8087466: 20c6 movs r0, #198 ; 0xc6 8087468: f7ce fc78 bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 808746c: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8087470: b2db uxtb r3, r3 8087472: 461a mov r2, r3 8087474: 4b4e ldr r3, [pc, #312] ; (80875b0 ) 8087476: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808747a: 461a mov r2, r3 808747c: 215a movs r1, #90 ; 0x5a 808747e: 20d6 movs r0, #214 ; 0xd6 8087480: f7ce fc6c bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8087484: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8087488: b2db uxtb r3, r3 808748a: 461a mov r2, r3 808748c: 4b48 ldr r3, [pc, #288] ; (80875b0 ) 808748e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087492: 461a mov r2, r3 8087494: 215a movs r1, #90 ; 0x5a 8087496: 20e6 movs r0, #230 ; 0xe6 8087498: f7ce fc60 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 808749c: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 80874a0: b2db uxtb r3, r3 80874a2: 461a mov r2, r3 80874a4: 4b42 ldr r3, [pc, #264] ; (80875b0 ) 80874a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80874aa: 461a mov r2, r3 80874ac: 215a movs r1, #90 ; 0x5a 80874ae: f44f 7083 mov.w r0, #262 ; 0x106 80874b2: f7ce fc53 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, "."); 80874b6: 4a40 ldr r2, [pc, #256] ; (80875b8 ) 80874b8: 215a movs r1, #90 ; 0x5a 80874ba: f44f 708b mov.w r0, #278 ; 0x116 80874be: f7ce fc4d bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 80874c2: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 80874c6: b2db uxtb r3, r3 80874c8: 461a mov r2, r3 80874ca: 4b39 ldr r3, [pc, #228] ; (80875b0 ) 80874cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80874d0: 461a mov r2, r3 80874d2: 215a movs r1, #90 ; 0x5a 80874d4: f44f 7093 mov.w r0, #294 ; 0x126 80874d8: f7ce fc40 bl 8055d5c 80874dc: e0d0 b.n 8087680 if(menupos == FilterHP_IEE) 80874de: 4b31 ldr r3, [pc, #196] ; (80875a4 ) 80874e0: 781b ldrb r3, [r3, #0] 80874e2: b2db uxtb r3, r3 80874e4: 2b1d cmp r3, #29 80874e6: d169 bne.n 80875bc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80874e8: 492f ldr r1, [pc, #188] ; (80875a8 ) 80874ea: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80874ee: f7cd fe8d bl 805520c if(blk) 80874f2: 4b2e ldr r3, [pc, #184] ; (80875ac ) 80874f4: 681b ldr r3, [r3, #0] 80874f6: 2b00 cmp r3, #0 80874f8: d00c beq.n 8087514 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 80874fa: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 80874fe: b2db uxtb r3, r3 8087500: 461a mov r2, r3 8087502: 4b2b ldr r3, [pc, #172] ; (80875b0 ) 8087504: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087508: 461a mov r2, r3 808750a: 215a movs r1, #90 ; 0x5a 808750c: f44f 7083 mov.w r0, #262 ; 0x106 8087510: f7ce fc24 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087514: 4924 ldr r1, [pc, #144] ; (80875a8 ) 8087516: 4827 ldr r0, [pc, #156] ; (80875b4 ) 8087518: f7cd fe78 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 808751c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8087520: b2db uxtb r3, r3 8087522: 461a mov r2, r3 8087524: 4b22 ldr r3, [pc, #136] ; (80875b0 ) 8087526: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808752a: 461a mov r2, r3 808752c: 215a movs r1, #90 ; 0x5a 808752e: 20c6 movs r0, #198 ; 0xc6 8087530: f7ce fc14 bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8087534: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8087538: b2db uxtb r3, r3 808753a: 461a mov r2, r3 808753c: 4b1c ldr r3, [pc, #112] ; (80875b0 ) 808753e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087542: 461a mov r2, r3 8087544: 215a movs r1, #90 ; 0x5a 8087546: 20d6 movs r0, #214 ; 0xd6 8087548: f7ce fc08 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 808754c: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8087550: b2db uxtb r3, r3 8087552: 461a mov r2, r3 8087554: 4b16 ldr r3, [pc, #88] ; (80875b0 ) 8087556: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808755a: 461a mov r2, r3 808755c: 215a movs r1, #90 ; 0x5a 808755e: 20e6 movs r0, #230 ; 0xe6 8087560: f7ce fbfc bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8087564: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8087568: b2db uxtb r3, r3 808756a: 461a mov r2, r3 808756c: 4b10 ldr r3, [pc, #64] ; (80875b0 ) 808756e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087572: 461a mov r2, r3 8087574: 215a movs r1, #90 ; 0x5a 8087576: 20f6 movs r0, #246 ; 0xf6 8087578: f7ce fbf0 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, "."); 808757c: 4a0e ldr r2, [pc, #56] ; (80875b8 ) 808757e: 215a movs r1, #90 ; 0x5a 8087580: f44f 708b mov.w r0, #278 ; 0x116 8087584: f7ce fbea bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8087588: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808758c: b2db uxtb r3, r3 808758e: 461a mov r2, r3 8087590: 4b07 ldr r3, [pc, #28] ; (80875b0 ) 8087592: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087596: 461a mov r2, r3 8087598: 215a movs r1, #90 ; 0x5a 808759a: f44f 7093 mov.w r0, #294 ; 0x126 808759e: f7ce fbdd bl 8055d5c 80875a2: e06d b.n 8087680 80875a4: 20020070 .word 0x20020070 80875a8: ff0a0f1f .word 0xff0a0f1f 80875ac: 200216ac .word 0x200216ac 80875b0: 2002096c .word 0x2002096c 80875b4: ffd8aa57 .word 0xffd8aa57 80875b8: 080d6258 .word 0x080d6258 if(menupos == FilterHP_IKD) 80875bc: 4bc5 ldr r3, [pc, #788] ; (80878d4 ) 80875be: 781b ldrb r3, [r3, #0] 80875c0: b2db uxtb r3, r3 80875c2: 2b1e cmp r3, #30 80875c4: d15c bne.n 8087680 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80875c6: 49c4 ldr r1, [pc, #784] ; (80878d8 ) 80875c8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80875cc: f7cd fe1e bl 805520c if(blk) 80875d0: 4bc2 ldr r3, [pc, #776] ; (80878dc ) 80875d2: 681b ldr r3, [r3, #0] 80875d4: 2b00 cmp r3, #0 80875d6: d00c beq.n 80875f2 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 80875d8: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 80875dc: b2db uxtb r3, r3 80875de: 461a mov r2, r3 80875e0: 4bbf ldr r3, [pc, #764] ; (80878e0 ) 80875e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80875e6: 461a mov r2, r3 80875e8: 215a movs r1, #90 ; 0x5a 80875ea: f44f 7093 mov.w r0, #294 ; 0x126 80875ee: f7ce fbb5 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80875f2: 49b9 ldr r1, [pc, #740] ; (80878d8 ) 80875f4: 48bb ldr r0, [pc, #748] ; (80878e4 ) 80875f6: f7cd fe09 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 80875fa: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 80875fe: b2db uxtb r3, r3 8087600: 461a mov r2, r3 8087602: 4bb7 ldr r3, [pc, #732] ; (80878e0 ) 8087604: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087608: 461a mov r2, r3 808760a: 215a movs r1, #90 ; 0x5a 808760c: 20c6 movs r0, #198 ; 0xc6 808760e: f7ce fba5 bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8087612: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8087616: b2db uxtb r3, r3 8087618: 461a mov r2, r3 808761a: 4bb1 ldr r3, [pc, #708] ; (80878e0 ) 808761c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087620: 461a mov r2, r3 8087622: 215a movs r1, #90 ; 0x5a 8087624: 20d6 movs r0, #214 ; 0xd6 8087626: f7ce fb99 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 808762a: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808762e: b2db uxtb r3, r3 8087630: 461a mov r2, r3 8087632: 4bab ldr r3, [pc, #684] ; (80878e0 ) 8087634: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087638: 461a mov r2, r3 808763a: 215a movs r1, #90 ; 0x5a 808763c: 20e6 movs r0, #230 ; 0xe6 808763e: f7ce fb8d bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8087642: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8087646: b2db uxtb r3, r3 8087648: 461a mov r2, r3 808764a: 4ba5 ldr r3, [pc, #660] ; (80878e0 ) 808764c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087650: 461a mov r2, r3 8087652: 215a movs r1, #90 ; 0x5a 8087654: 20f6 movs r0, #246 ; 0xf6 8087656: f7ce fb81 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 808765a: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808765e: b2db uxtb r3, r3 8087660: 461a mov r2, r3 8087662: 4b9f ldr r3, [pc, #636] ; (80878e0 ) 8087664: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087668: 461a mov r2, r3 808766a: 215a movs r1, #90 ; 0x5a 808766c: f44f 7083 mov.w r0, #262 ; 0x106 8087670: f7ce fb74 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, "."); 8087674: 4a9c ldr r2, [pc, #624] ; (80878e8 ) 8087676: 215a movs r1, #90 ; 0x5a 8087678: f44f 708b mov.w r0, #278 ; 0x116 808767c: f7ce fb6e bl 8055d5c if(menupos == FilterLP_IDT) 8087680: 4b94 ldr r3, [pc, #592] ; (80878d4 ) 8087682: 781b ldrb r3, [r3, #0] 8087684: b2db uxtb r3, r3 8087686: 2b1f cmp r3, #31 8087688: d15d bne.n 8087746 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808768a: 4993 ldr r1, [pc, #588] ; (80878d8 ) 808768c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087690: f7cd fdbc bl 805520c if(blk) 8087694: 4b91 ldr r3, [pc, #580] ; (80878dc ) 8087696: 681b ldr r3, [r3, #0] 8087698: 2b00 cmp r3, #0 808769a: d00b beq.n 80876b4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 808769c: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 80876a0: b2db uxtb r3, r3 80876a2: 461a mov r2, r3 80876a4: 4b8e ldr r3, [pc, #568] ; (80878e0 ) 80876a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80876aa: 461a mov r2, r3 80876ac: 216a movs r1, #106 ; 0x6a 80876ae: 20c6 movs r0, #198 ; 0xc6 80876b0: f7ce fb54 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80876b4: 4988 ldr r1, [pc, #544] ; (80878d8 ) 80876b6: 488b ldr r0, [pc, #556] ; (80878e4 ) 80876b8: f7cd fda8 bl 805520c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 80876bc: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 80876c0: b2db uxtb r3, r3 80876c2: 461a mov r2, r3 80876c4: 4b86 ldr r3, [pc, #536] ; (80878e0 ) 80876c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80876ca: 461a mov r2, r3 80876cc: 216a movs r1, #106 ; 0x6a 80876ce: 20d6 movs r0, #214 ; 0xd6 80876d0: f7ce fb44 bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 80876d4: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 80876d8: b2db uxtb r3, r3 80876da: 461a mov r2, r3 80876dc: 4b80 ldr r3, [pc, #512] ; (80878e0 ) 80876de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80876e2: 461a mov r2, r3 80876e4: 216a movs r1, #106 ; 0x6a 80876e6: 20e6 movs r0, #230 ; 0xe6 80876e8: f7ce fb38 bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 80876ec: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 80876f0: b2db uxtb r3, r3 80876f2: 461a mov r2, r3 80876f4: 4b7a ldr r3, [pc, #488] ; (80878e0 ) 80876f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80876fa: 461a mov r2, r3 80876fc: 216a movs r1, #106 ; 0x6a 80876fe: 20f6 movs r0, #246 ; 0xf6 8087700: f7ce fb2c bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8087704: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8087708: b2db uxtb r3, r3 808770a: 461a mov r2, r3 808770c: 4b74 ldr r3, [pc, #464] ; (80878e0 ) 808770e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087712: 461a mov r2, r3 8087714: 216a movs r1, #106 ; 0x6a 8087716: f44f 7083 mov.w r0, #262 ; 0x106 808771a: f7ce fb1f bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, "."); 808771e: 4a72 ldr r2, [pc, #456] ; (80878e8 ) 8087720: 216a movs r1, #106 ; 0x6a 8087722: f44f 708b mov.w r0, #278 ; 0x116 8087726: f7ce fb19 bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 808772a: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808772e: b2db uxtb r3, r3 8087730: 461a mov r2, r3 8087732: 4b6b ldr r3, [pc, #428] ; (80878e0 ) 8087734: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087738: 461a mov r2, r3 808773a: 216a movs r1, #106 ; 0x6a 808773c: f44f 7093 mov.w r0, #294 ; 0x126 8087740: f7ce fb0c bl 8055d5c 8087744: e1fa b.n 8087b3c if(menupos == FilterLP_IET) 8087746: 4b63 ldr r3, [pc, #396] ; (80878d4 ) 8087748: 781b ldrb r3, [r3, #0] 808774a: b2db uxtb r3, r3 808774c: 2b20 cmp r3, #32 808774e: d15d bne.n 808780c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087750: 4961 ldr r1, [pc, #388] ; (80878d8 ) 8087752: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087756: f7cd fd59 bl 805520c if(blk) 808775a: 4b60 ldr r3, [pc, #384] ; (80878dc ) 808775c: 681b ldr r3, [r3, #0] 808775e: 2b00 cmp r3, #0 8087760: d00b beq.n 808777a LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8087762: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8087766: b2db uxtb r3, r3 8087768: 461a mov r2, r3 808776a: 4b5d ldr r3, [pc, #372] ; (80878e0 ) 808776c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087770: 461a mov r2, r3 8087772: 216a movs r1, #106 ; 0x6a 8087774: 20d6 movs r0, #214 ; 0xd6 8087776: f7ce faf1 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808777a: 4957 ldr r1, [pc, #348] ; (80878d8 ) 808777c: 4859 ldr r0, [pc, #356] ; (80878e4 ) 808777e: f7cd fd45 bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8087782: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8087786: b2db uxtb r3, r3 8087788: 461a mov r2, r3 808778a: 4b55 ldr r3, [pc, #340] ; (80878e0 ) 808778c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087790: 461a mov r2, r3 8087792: 216a movs r1, #106 ; 0x6a 8087794: 20c6 movs r0, #198 ; 0xc6 8087796: f7ce fae1 bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 808779a: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808779e: b2db uxtb r3, r3 80877a0: 461a mov r2, r3 80877a2: 4b4f ldr r3, [pc, #316] ; (80878e0 ) 80877a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80877a8: 461a mov r2, r3 80877aa: 216a movs r1, #106 ; 0x6a 80877ac: 20e6 movs r0, #230 ; 0xe6 80877ae: f7ce fad5 bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 80877b2: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 80877b6: b2db uxtb r3, r3 80877b8: 461a mov r2, r3 80877ba: 4b49 ldr r3, [pc, #292] ; (80878e0 ) 80877bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80877c0: 461a mov r2, r3 80877c2: 216a movs r1, #106 ; 0x6a 80877c4: 20f6 movs r0, #246 ; 0xf6 80877c6: f7ce fac9 bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 80877ca: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 80877ce: b2db uxtb r3, r3 80877d0: 461a mov r2, r3 80877d2: 4b43 ldr r3, [pc, #268] ; (80878e0 ) 80877d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80877d8: 461a mov r2, r3 80877da: 216a movs r1, #106 ; 0x6a 80877dc: f44f 7083 mov.w r0, #262 ; 0x106 80877e0: f7ce fabc bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, "."); 80877e4: 4a40 ldr r2, [pc, #256] ; (80878e8 ) 80877e6: 216a movs r1, #106 ; 0x6a 80877e8: f44f 708b mov.w r0, #278 ; 0x116 80877ec: f7ce fab6 bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 80877f0: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 80877f4: b2db uxtb r3, r3 80877f6: 461a mov r2, r3 80877f8: 4b39 ldr r3, [pc, #228] ; (80878e0 ) 80877fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80877fe: 461a mov r2, r3 8087800: 216a movs r1, #106 ; 0x6a 8087802: f44f 7093 mov.w r0, #294 ; 0x126 8087806: f7ce faa9 bl 8055d5c 808780a: e197 b.n 8087b3c if(menupos == FilterLP_IES) 808780c: 4b31 ldr r3, [pc, #196] ; (80878d4 ) 808780e: 781b ldrb r3, [r3, #0] 8087810: b2db uxtb r3, r3 8087812: 2b21 cmp r3, #33 ; 0x21 8087814: d16a bne.n 80878ec LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087816: 4930 ldr r1, [pc, #192] ; (80878d8 ) 8087818: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808781c: f7cd fcf6 bl 805520c if(blk) 8087820: 4b2e ldr r3, [pc, #184] ; (80878dc ) 8087822: 681b ldr r3, [r3, #0] 8087824: 2b00 cmp r3, #0 8087826: d00b beq.n 8087840 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8087828: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808782c: b2db uxtb r3, r3 808782e: 461a mov r2, r3 8087830: 4b2b ldr r3, [pc, #172] ; (80878e0 ) 8087832: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087836: 461a mov r2, r3 8087838: 216a movs r1, #106 ; 0x6a 808783a: 20e6 movs r0, #230 ; 0xe6 808783c: f7ce fa8e bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087840: 4925 ldr r1, [pc, #148] ; (80878d8 ) 8087842: 4828 ldr r0, [pc, #160] ; (80878e4 ) 8087844: f7cd fce2 bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8087848: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808784c: b2db uxtb r3, r3 808784e: 461a mov r2, r3 8087850: 4b23 ldr r3, [pc, #140] ; (80878e0 ) 8087852: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087856: 461a mov r2, r3 8087858: 216a movs r1, #106 ; 0x6a 808785a: 20c6 movs r0, #198 ; 0xc6 808785c: f7ce fa7e bl 8055d5c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8087860: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8087864: b2db uxtb r3, r3 8087866: 461a mov r2, r3 8087868: 4b1d ldr r3, [pc, #116] ; (80878e0 ) 808786a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808786e: 461a mov r2, r3 8087870: 216a movs r1, #106 ; 0x6a 8087872: 20d6 movs r0, #214 ; 0xd6 8087874: f7ce fa72 bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8087878: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808787c: b2db uxtb r3, r3 808787e: 461a mov r2, r3 8087880: 4b17 ldr r3, [pc, #92] ; (80878e0 ) 8087882: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087886: 461a mov r2, r3 8087888: 216a movs r1, #106 ; 0x6a 808788a: 20f6 movs r0, #246 ; 0xf6 808788c: f7ce fa66 bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8087890: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8087894: b2db uxtb r3, r3 8087896: 461a mov r2, r3 8087898: 4b11 ldr r3, [pc, #68] ; (80878e0 ) 808789a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808789e: 461a mov r2, r3 80878a0: 216a movs r1, #106 ; 0x6a 80878a2: f44f 7083 mov.w r0, #262 ; 0x106 80878a6: f7ce fa59 bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, "."); 80878aa: 4a0f ldr r2, [pc, #60] ; (80878e8 ) 80878ac: 216a movs r1, #106 ; 0x6a 80878ae: f44f 708b mov.w r0, #278 ; 0x116 80878b2: f7ce fa53 bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 80878b6: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 80878ba: b2db uxtb r3, r3 80878bc: 461a mov r2, r3 80878be: 4b08 ldr r3, [pc, #32] ; (80878e0 ) 80878c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80878c4: 461a mov r2, r3 80878c6: 216a movs r1, #106 ; 0x6a 80878c8: f44f 7093 mov.w r0, #294 ; 0x126 80878cc: f7ce fa46 bl 8055d5c 80878d0: e134 b.n 8087b3c 80878d2: bf00 nop 80878d4: 20020070 .word 0x20020070 80878d8: ff0a0f1f .word 0xff0a0f1f 80878dc: 200216ac .word 0x200216ac 80878e0: 2002096c .word 0x2002096c 80878e4: ffd8aa57 .word 0xffd8aa57 80878e8: 080d6258 .word 0x080d6258 if(menupos == FilterLP_IED) 80878ec: 4bc5 ldr r3, [pc, #788] ; (8087c04 ) 80878ee: 781b ldrb r3, [r3, #0] 80878f0: b2db uxtb r3, r3 80878f2: 2b22 cmp r3, #34 ; 0x22 80878f4: d15d bne.n 80879b2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80878f6: 49c4 ldr r1, [pc, #784] ; (8087c08 ) 80878f8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80878fc: f7cd fc86 bl 805520c if(blk) 8087900: 4bc2 ldr r3, [pc, #776] ; (8087c0c ) 8087902: 681b ldr r3, [r3, #0] 8087904: 2b00 cmp r3, #0 8087906: d00b beq.n 8087920 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8087908: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808790c: b2db uxtb r3, r3 808790e: 461a mov r2, r3 8087910: 4bbf ldr r3, [pc, #764] ; (8087c10 ) 8087912: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087916: 461a mov r2, r3 8087918: 216a movs r1, #106 ; 0x6a 808791a: 20f6 movs r0, #246 ; 0xf6 808791c: f7ce fa1e bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087920: 49b9 ldr r1, [pc, #740] ; (8087c08 ) 8087922: 48bc ldr r0, [pc, #752] ; (8087c14 ) 8087924: f7cd fc72 bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8087928: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808792c: b2db uxtb r3, r3 808792e: 461a mov r2, r3 8087930: 4bb7 ldr r3, [pc, #732] ; (8087c10 ) 8087932: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087936: 461a mov r2, r3 8087938: 216a movs r1, #106 ; 0x6a 808793a: 20c6 movs r0, #198 ; 0xc6 808793c: f7ce fa0e bl 8055d5c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8087940: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8087944: b2db uxtb r3, r3 8087946: 461a mov r2, r3 8087948: 4bb1 ldr r3, [pc, #708] ; (8087c10 ) 808794a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808794e: 461a mov r2, r3 8087950: 216a movs r1, #106 ; 0x6a 8087952: 20d6 movs r0, #214 ; 0xd6 8087954: f7ce fa02 bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8087958: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808795c: b2db uxtb r3, r3 808795e: 461a mov r2, r3 8087960: 4bab ldr r3, [pc, #684] ; (8087c10 ) 8087962: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087966: 461a mov r2, r3 8087968: 216a movs r1, #106 ; 0x6a 808796a: 20e6 movs r0, #230 ; 0xe6 808796c: f7ce f9f6 bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8087970: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8087974: b2db uxtb r3, r3 8087976: 461a mov r2, r3 8087978: 4ba5 ldr r3, [pc, #660] ; (8087c10 ) 808797a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808797e: 461a mov r2, r3 8087980: 216a movs r1, #106 ; 0x6a 8087982: f44f 7083 mov.w r0, #262 ; 0x106 8087986: f7ce f9e9 bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, "."); 808798a: 4aa3 ldr r2, [pc, #652] ; (8087c18 ) 808798c: 216a movs r1, #106 ; 0x6a 808798e: f44f 708b mov.w r0, #278 ; 0x116 8087992: f7ce f9e3 bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8087996: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808799a: b2db uxtb r3, r3 808799c: 461a mov r2, r3 808799e: 4b9c ldr r3, [pc, #624] ; (8087c10 ) 80879a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80879a4: 461a mov r2, r3 80879a6: 216a movs r1, #106 ; 0x6a 80879a8: f44f 7093 mov.w r0, #294 ; 0x126 80879ac: f7ce f9d6 bl 8055d5c 80879b0: e0c4 b.n 8087b3c if(menupos == FilterLP_IEE) 80879b2: 4b94 ldr r3, [pc, #592] ; (8087c04 ) 80879b4: 781b ldrb r3, [r3, #0] 80879b6: b2db uxtb r3, r3 80879b8: 2b23 cmp r3, #35 ; 0x23 80879ba: d15d bne.n 8087a78 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80879bc: 4992 ldr r1, [pc, #584] ; (8087c08 ) 80879be: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80879c2: f7cd fc23 bl 805520c if(blk) 80879c6: 4b91 ldr r3, [pc, #580] ; (8087c0c ) 80879c8: 681b ldr r3, [r3, #0] 80879ca: 2b00 cmp r3, #0 80879cc: d00c beq.n 80879e8 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 80879ce: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 80879d2: b2db uxtb r3, r3 80879d4: 461a mov r2, r3 80879d6: 4b8e ldr r3, [pc, #568] ; (8087c10 ) 80879d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80879dc: 461a mov r2, r3 80879de: 216a movs r1, #106 ; 0x6a 80879e0: f44f 7083 mov.w r0, #262 ; 0x106 80879e4: f7ce f9ba bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80879e8: 4987 ldr r1, [pc, #540] ; (8087c08 ) 80879ea: 488a ldr r0, [pc, #552] ; (8087c14 ) 80879ec: f7cd fc0e bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 80879f0: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 80879f4: b2db uxtb r3, r3 80879f6: 461a mov r2, r3 80879f8: 4b85 ldr r3, [pc, #532] ; (8087c10 ) 80879fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80879fe: 461a mov r2, r3 8087a00: 216a movs r1, #106 ; 0x6a 8087a02: 20c6 movs r0, #198 ; 0xc6 8087a04: f7ce f9aa bl 8055d5c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8087a08: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8087a0c: b2db uxtb r3, r3 8087a0e: 461a mov r2, r3 8087a10: 4b7f ldr r3, [pc, #508] ; (8087c10 ) 8087a12: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087a16: 461a mov r2, r3 8087a18: 216a movs r1, #106 ; 0x6a 8087a1a: 20d6 movs r0, #214 ; 0xd6 8087a1c: f7ce f99e bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8087a20: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8087a24: b2db uxtb r3, r3 8087a26: 461a mov r2, r3 8087a28: 4b79 ldr r3, [pc, #484] ; (8087c10 ) 8087a2a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087a2e: 461a mov r2, r3 8087a30: 216a movs r1, #106 ; 0x6a 8087a32: 20e6 movs r0, #230 ; 0xe6 8087a34: f7ce f992 bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8087a38: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8087a3c: b2db uxtb r3, r3 8087a3e: 461a mov r2, r3 8087a40: 4b73 ldr r3, [pc, #460] ; (8087c10 ) 8087a42: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087a46: 461a mov r2, r3 8087a48: 216a movs r1, #106 ; 0x6a 8087a4a: 20f6 movs r0, #246 ; 0xf6 8087a4c: f7ce f986 bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, "."); 8087a50: 4a71 ldr r2, [pc, #452] ; (8087c18 ) 8087a52: 216a movs r1, #106 ; 0x6a 8087a54: f44f 708b mov.w r0, #278 ; 0x116 8087a58: f7ce f980 bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8087a5c: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8087a60: b2db uxtb r3, r3 8087a62: 461a mov r2, r3 8087a64: 4b6a ldr r3, [pc, #424] ; (8087c10 ) 8087a66: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087a6a: 461a mov r2, r3 8087a6c: 216a movs r1, #106 ; 0x6a 8087a6e: f44f 7093 mov.w r0, #294 ; 0x126 8087a72: f7ce f973 bl 8055d5c 8087a76: e061 b.n 8087b3c if(menupos == FilterLP_IKD) 8087a78: 4b62 ldr r3, [pc, #392] ; (8087c04 ) 8087a7a: 781b ldrb r3, [r3, #0] 8087a7c: b2db uxtb r3, r3 8087a7e: 2b24 cmp r3, #36 ; 0x24 8087a80: d15c bne.n 8087b3c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087a82: 4961 ldr r1, [pc, #388] ; (8087c08 ) 8087a84: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087a88: f7cd fbc0 bl 805520c if(blk) 8087a8c: 4b5f ldr r3, [pc, #380] ; (8087c0c ) 8087a8e: 681b ldr r3, [r3, #0] 8087a90: 2b00 cmp r3, #0 8087a92: d00c beq.n 8087aae LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8087a94: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8087a98: b2db uxtb r3, r3 8087a9a: 461a mov r2, r3 8087a9c: 4b5c ldr r3, [pc, #368] ; (8087c10 ) 8087a9e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087aa2: 461a mov r2, r3 8087aa4: 216a movs r1, #106 ; 0x6a 8087aa6: f44f 7093 mov.w r0, #294 ; 0x126 8087aaa: f7ce f957 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087aae: 4956 ldr r1, [pc, #344] ; (8087c08 ) 8087ab0: 4858 ldr r0, [pc, #352] ; (8087c14 ) 8087ab2: f7cd fbab bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8087ab6: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8087aba: b2db uxtb r3, r3 8087abc: 461a mov r2, r3 8087abe: 4b54 ldr r3, [pc, #336] ; (8087c10 ) 8087ac0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087ac4: 461a mov r2, r3 8087ac6: 216a movs r1, #106 ; 0x6a 8087ac8: 20c6 movs r0, #198 ; 0xc6 8087aca: f7ce f947 bl 8055d5c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8087ace: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8087ad2: b2db uxtb r3, r3 8087ad4: 461a mov r2, r3 8087ad6: 4b4e ldr r3, [pc, #312] ; (8087c10 ) 8087ad8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087adc: 461a mov r2, r3 8087ade: 216a movs r1, #106 ; 0x6a 8087ae0: 20d6 movs r0, #214 ; 0xd6 8087ae2: f7ce f93b bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8087ae6: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8087aea: b2db uxtb r3, r3 8087aec: 461a mov r2, r3 8087aee: 4b48 ldr r3, [pc, #288] ; (8087c10 ) 8087af0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087af4: 461a mov r2, r3 8087af6: 216a movs r1, #106 ; 0x6a 8087af8: 20e6 movs r0, #230 ; 0xe6 8087afa: f7ce f92f bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8087afe: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8087b02: b2db uxtb r3, r3 8087b04: 461a mov r2, r3 8087b06: 4b42 ldr r3, [pc, #264] ; (8087c10 ) 8087b08: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087b0c: 461a mov r2, r3 8087b0e: 216a movs r1, #106 ; 0x6a 8087b10: 20f6 movs r0, #246 ; 0xf6 8087b12: f7ce f923 bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8087b16: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8087b1a: b2db uxtb r3, r3 8087b1c: 461a mov r2, r3 8087b1e: 4b3c ldr r3, [pc, #240] ; (8087c10 ) 8087b20: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087b24: 461a mov r2, r3 8087b26: 216a movs r1, #106 ; 0x6a 8087b28: f44f 7083 mov.w r0, #262 ; 0x106 8087b2c: f7ce f916 bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, "."); 8087b30: 4a39 ldr r2, [pc, #228] ; (8087c18 ) 8087b32: 216a movs r1, #106 ; 0x6a 8087b34: f44f 708b mov.w r0, #278 ; 0x116 8087b38: f7ce f910 bl 8055d5c if(menupos == VibMax_IDT) 8087b3c: 4b31 ldr r3, [pc, #196] ; (8087c04 ) 8087b3e: 781b ldrb r3, [r3, #0] 8087b40: b2db uxtb r3, r3 8087b42: 2b0b cmp r3, #11 8087b44: d16a bne.n 8087c1c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087b46: 4930 ldr r1, [pc, #192] ; (8087c08 ) 8087b48: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087b4c: f7cd fb5e bl 805520c if(blk) 8087b50: 4b2e ldr r3, [pc, #184] ; (8087c0c ) 8087b52: 681b ldr r3, [r3, #0] 8087b54: 2b00 cmp r3, #0 8087b56: d00b beq.n 8087b70 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 8087b58: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8087b5c: b2db uxtb r3, r3 8087b5e: 461a mov r2, r3 8087b60: 4b2b ldr r3, [pc, #172] ; (8087c10 ) 8087b62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087b66: 461a mov r2, r3 8087b68: 21ca movs r1, #202 ; 0xca 8087b6a: 20c6 movs r0, #198 ; 0xc6 8087b6c: f7ce f8f6 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087b70: 4925 ldr r1, [pc, #148] ; (8087c08 ) 8087b72: 4828 ldr r0, [pc, #160] ; (8087c14 ) 8087b74: f7cd fb4a bl 805520c LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 8087b78: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8087b7c: b2db uxtb r3, r3 8087b7e: 461a mov r2, r3 8087b80: 4b23 ldr r3, [pc, #140] ; (8087c10 ) 8087b82: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087b86: 461a mov r2, r3 8087b88: 21ca movs r1, #202 ; 0xca 8087b8a: 20d6 movs r0, #214 ; 0xd6 8087b8c: f7ce f8e6 bl 8055d5c LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 8087b90: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8087b94: b2db uxtb r3, r3 8087b96: 461a mov r2, r3 8087b98: 4b1d ldr r3, [pc, #116] ; (8087c10 ) 8087b9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087b9e: 461a mov r2, r3 8087ba0: 21ca movs r1, #202 ; 0xca 8087ba2: 20e6 movs r0, #230 ; 0xe6 8087ba4: f7ce f8da bl 8055d5c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 8087ba8: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8087bac: b2db uxtb r3, r3 8087bae: 461a mov r2, r3 8087bb0: 4b17 ldr r3, [pc, #92] ; (8087c10 ) 8087bb2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087bb6: 461a mov r2, r3 8087bb8: 21ca movs r1, #202 ; 0xca 8087bba: 20f6 movs r0, #246 ; 0xf6 8087bbc: f7ce f8ce bl 8055d5c LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 8087bc0: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8087bc4: b2db uxtb r3, r3 8087bc6: 461a mov r2, r3 8087bc8: 4b11 ldr r3, [pc, #68] ; (8087c10 ) 8087bca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087bce: 461a mov r2, r3 8087bd0: 21ca movs r1, #202 ; 0xca 8087bd2: f44f 7083 mov.w r0, #262 ; 0x106 8087bd6: f7ce f8c1 bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, "."); 8087bda: 4a0f ldr r2, [pc, #60] ; (8087c18 ) 8087bdc: 21ca movs r1, #202 ; 0xca 8087bde: f44f 708b mov.w r0, #278 ; 0x116 8087be2: f7ce f8bb bl 8055d5c LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 8087be6: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8087bea: b2db uxtb r3, r3 8087bec: 461a mov r2, r3 8087bee: 4b08 ldr r3, [pc, #32] ; (8087c10 ) 8087bf0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087bf4: 461a mov r2, r3 8087bf6: 21ca movs r1, #202 ; 0xca 8087bf8: f44f 7093 mov.w r0, #294 ; 0x126 8087bfc: f7ce f8ae bl 8055d5c 8087c00: e206 b.n 8088010 8087c02: bf00 nop 8087c04: 20020070 .word 0x20020070 8087c08: ff0a0f1f .word 0xff0a0f1f 8087c0c: 200216ac .word 0x200216ac 8087c10: 2002096c .word 0x2002096c 8087c14: ffd8aa57 .word 0xffd8aa57 8087c18: 080d6258 .word 0x080d6258 if(menupos == VibMax_IET) 8087c1c: 4bc5 ldr r3, [pc, #788] ; (8087f34 ) 8087c1e: 781b ldrb r3, [r3, #0] 8087c20: b2db uxtb r3, r3 8087c22: 2b0c cmp r3, #12 8087c24: d15d bne.n 8087ce2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087c26: 49c4 ldr r1, [pc, #784] ; (8087f38 ) 8087c28: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087c2c: f7cd faee bl 805520c if(blk) 8087c30: 4bc2 ldr r3, [pc, #776] ; (8087f3c ) 8087c32: 681b ldr r3, [r3, #0] 8087c34: 2b00 cmp r3, #0 8087c36: d00b beq.n 8087c50 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 8087c38: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8087c3c: b2db uxtb r3, r3 8087c3e: 461a mov r2, r3 8087c40: 4bbf ldr r3, [pc, #764] ; (8087f40 ) 8087c42: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087c46: 461a mov r2, r3 8087c48: 21ca movs r1, #202 ; 0xca 8087c4a: 20d6 movs r0, #214 ; 0xd6 8087c4c: f7ce f886 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087c50: 49b9 ldr r1, [pc, #740] ; (8087f38 ) 8087c52: 48bc ldr r0, [pc, #752] ; (8087f44 ) 8087c54: f7cd fada bl 805520c LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 8087c58: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8087c5c: b2db uxtb r3, r3 8087c5e: 461a mov r2, r3 8087c60: 4bb7 ldr r3, [pc, #732] ; (8087f40 ) 8087c62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087c66: 461a mov r2, r3 8087c68: 21ca movs r1, #202 ; 0xca 8087c6a: 20c6 movs r0, #198 ; 0xc6 8087c6c: f7ce f876 bl 8055d5c LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 8087c70: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8087c74: b2db uxtb r3, r3 8087c76: 461a mov r2, r3 8087c78: 4bb1 ldr r3, [pc, #708] ; (8087f40 ) 8087c7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087c7e: 461a mov r2, r3 8087c80: 21ca movs r1, #202 ; 0xca 8087c82: 20e6 movs r0, #230 ; 0xe6 8087c84: f7ce f86a bl 8055d5c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 8087c88: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8087c8c: b2db uxtb r3, r3 8087c8e: 461a mov r2, r3 8087c90: 4bab ldr r3, [pc, #684] ; (8087f40 ) 8087c92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087c96: 461a mov r2, r3 8087c98: 21ca movs r1, #202 ; 0xca 8087c9a: 20f6 movs r0, #246 ; 0xf6 8087c9c: f7ce f85e bl 8055d5c LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 8087ca0: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8087ca4: b2db uxtb r3, r3 8087ca6: 461a mov r2, r3 8087ca8: 4ba5 ldr r3, [pc, #660] ; (8087f40 ) 8087caa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087cae: 461a mov r2, r3 8087cb0: 21ca movs r1, #202 ; 0xca 8087cb2: f44f 7083 mov.w r0, #262 ; 0x106 8087cb6: f7ce f851 bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, "."); 8087cba: 4aa3 ldr r2, [pc, #652] ; (8087f48 ) 8087cbc: 21ca movs r1, #202 ; 0xca 8087cbe: f44f 708b mov.w r0, #278 ; 0x116 8087cc2: f7ce f84b bl 8055d5c LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 8087cc6: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8087cca: b2db uxtb r3, r3 8087ccc: 461a mov r2, r3 8087cce: 4b9c ldr r3, [pc, #624] ; (8087f40 ) 8087cd0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087cd4: 461a mov r2, r3 8087cd6: 21ca movs r1, #202 ; 0xca 8087cd8: f44f 7093 mov.w r0, #294 ; 0x126 8087cdc: f7ce f83e bl 8055d5c 8087ce0: e196 b.n 8088010 if(menupos == VibMax_IES) 8087ce2: 4b94 ldr r3, [pc, #592] ; (8087f34 ) 8087ce4: 781b ldrb r3, [r3, #0] 8087ce6: b2db uxtb r3, r3 8087ce8: 2b0d cmp r3, #13 8087cea: d15d bne.n 8087da8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087cec: 4992 ldr r1, [pc, #584] ; (8087f38 ) 8087cee: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087cf2: f7cd fa8b bl 805520c if(blk) 8087cf6: 4b91 ldr r3, [pc, #580] ; (8087f3c ) 8087cf8: 681b ldr r3, [r3, #0] 8087cfa: 2b00 cmp r3, #0 8087cfc: d00b beq.n 8087d16 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 8087cfe: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8087d02: b2db uxtb r3, r3 8087d04: 461a mov r2, r3 8087d06: 4b8e ldr r3, [pc, #568] ; (8087f40 ) 8087d08: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087d0c: 461a mov r2, r3 8087d0e: 21ca movs r1, #202 ; 0xca 8087d10: 20e6 movs r0, #230 ; 0xe6 8087d12: f7ce f823 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087d16: 4988 ldr r1, [pc, #544] ; (8087f38 ) 8087d18: 488a ldr r0, [pc, #552] ; (8087f44 ) 8087d1a: f7cd fa77 bl 805520c LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 8087d1e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8087d22: b2db uxtb r3, r3 8087d24: 461a mov r2, r3 8087d26: 4b86 ldr r3, [pc, #536] ; (8087f40 ) 8087d28: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087d2c: 461a mov r2, r3 8087d2e: 21ca movs r1, #202 ; 0xca 8087d30: 20c6 movs r0, #198 ; 0xc6 8087d32: f7ce f813 bl 8055d5c LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 8087d36: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8087d3a: b2db uxtb r3, r3 8087d3c: 461a mov r2, r3 8087d3e: 4b80 ldr r3, [pc, #512] ; (8087f40 ) 8087d40: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087d44: 461a mov r2, r3 8087d46: 21ca movs r1, #202 ; 0xca 8087d48: 20d6 movs r0, #214 ; 0xd6 8087d4a: f7ce f807 bl 8055d5c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 8087d4e: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8087d52: b2db uxtb r3, r3 8087d54: 461a mov r2, r3 8087d56: 4b7a ldr r3, [pc, #488] ; (8087f40 ) 8087d58: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087d5c: 461a mov r2, r3 8087d5e: 21ca movs r1, #202 ; 0xca 8087d60: 20f6 movs r0, #246 ; 0xf6 8087d62: f7cd fffb bl 8055d5c LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 8087d66: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8087d6a: b2db uxtb r3, r3 8087d6c: 461a mov r2, r3 8087d6e: 4b74 ldr r3, [pc, #464] ; (8087f40 ) 8087d70: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087d74: 461a mov r2, r3 8087d76: 21ca movs r1, #202 ; 0xca 8087d78: f44f 7083 mov.w r0, #262 ; 0x106 8087d7c: f7cd ffee bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, "."); 8087d80: 4a71 ldr r2, [pc, #452] ; (8087f48 ) 8087d82: 21ca movs r1, #202 ; 0xca 8087d84: f44f 708b mov.w r0, #278 ; 0x116 8087d88: f7cd ffe8 bl 8055d5c LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 8087d8c: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8087d90: b2db uxtb r3, r3 8087d92: 461a mov r2, r3 8087d94: 4b6a ldr r3, [pc, #424] ; (8087f40 ) 8087d96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087d9a: 461a mov r2, r3 8087d9c: 21ca movs r1, #202 ; 0xca 8087d9e: f44f 7093 mov.w r0, #294 ; 0x126 8087da2: f7cd ffdb bl 8055d5c 8087da6: e133 b.n 8088010 if(menupos == VibMax_IED) 8087da8: 4b62 ldr r3, [pc, #392] ; (8087f34 ) 8087daa: 781b ldrb r3, [r3, #0] 8087dac: b2db uxtb r3, r3 8087dae: 2b0e cmp r3, #14 8087db0: d15d bne.n 8087e6e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087db2: 4961 ldr r1, [pc, #388] ; (8087f38 ) 8087db4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087db8: f7cd fa28 bl 805520c if(blk) 8087dbc: 4b5f ldr r3, [pc, #380] ; (8087f3c ) 8087dbe: 681b ldr r3, [r3, #0] 8087dc0: 2b00 cmp r3, #0 8087dc2: d00b beq.n 8087ddc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 8087dc4: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8087dc8: b2db uxtb r3, r3 8087dca: 461a mov r2, r3 8087dcc: 4b5c ldr r3, [pc, #368] ; (8087f40 ) 8087dce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087dd2: 461a mov r2, r3 8087dd4: 21ca movs r1, #202 ; 0xca 8087dd6: 20f6 movs r0, #246 ; 0xf6 8087dd8: f7cd ffc0 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087ddc: 4956 ldr r1, [pc, #344] ; (8087f38 ) 8087dde: 4859 ldr r0, [pc, #356] ; (8087f44 ) 8087de0: f7cd fa14 bl 805520c LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 8087de4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8087de8: b2db uxtb r3, r3 8087dea: 461a mov r2, r3 8087dec: 4b54 ldr r3, [pc, #336] ; (8087f40 ) 8087dee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087df2: 461a mov r2, r3 8087df4: 21ca movs r1, #202 ; 0xca 8087df6: 20c6 movs r0, #198 ; 0xc6 8087df8: f7cd ffb0 bl 8055d5c LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 8087dfc: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8087e00: b2db uxtb r3, r3 8087e02: 461a mov r2, r3 8087e04: 4b4e ldr r3, [pc, #312] ; (8087f40 ) 8087e06: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087e0a: 461a mov r2, r3 8087e0c: 21ca movs r1, #202 ; 0xca 8087e0e: 20d6 movs r0, #214 ; 0xd6 8087e10: f7cd ffa4 bl 8055d5c LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 8087e14: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8087e18: b2db uxtb r3, r3 8087e1a: 461a mov r2, r3 8087e1c: 4b48 ldr r3, [pc, #288] ; (8087f40 ) 8087e1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087e22: 461a mov r2, r3 8087e24: 21ca movs r1, #202 ; 0xca 8087e26: 20e6 movs r0, #230 ; 0xe6 8087e28: f7cd ff98 bl 8055d5c LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 8087e2c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8087e30: b2db uxtb r3, r3 8087e32: 461a mov r2, r3 8087e34: 4b42 ldr r3, [pc, #264] ; (8087f40 ) 8087e36: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087e3a: 461a mov r2, r3 8087e3c: 21ca movs r1, #202 ; 0xca 8087e3e: f44f 7083 mov.w r0, #262 ; 0x106 8087e42: f7cd ff8b bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, "."); 8087e46: 4a40 ldr r2, [pc, #256] ; (8087f48 ) 8087e48: 21ca movs r1, #202 ; 0xca 8087e4a: f44f 708b mov.w r0, #278 ; 0x116 8087e4e: f7cd ff85 bl 8055d5c LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 8087e52: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8087e56: b2db uxtb r3, r3 8087e58: 461a mov r2, r3 8087e5a: 4b39 ldr r3, [pc, #228] ; (8087f40 ) 8087e5c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087e60: 461a mov r2, r3 8087e62: 21ca movs r1, #202 ; 0xca 8087e64: f44f 7093 mov.w r0, #294 ; 0x126 8087e68: f7cd ff78 bl 8055d5c 8087e6c: e0d0 b.n 8088010 if(menupos == VibMax_IEE) 8087e6e: 4b31 ldr r3, [pc, #196] ; (8087f34 ) 8087e70: 781b ldrb r3, [r3, #0] 8087e72: b2db uxtb r3, r3 8087e74: 2b0f cmp r3, #15 8087e76: d169 bne.n 8087f4c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087e78: 492f ldr r1, [pc, #188] ; (8087f38 ) 8087e7a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087e7e: f7cd f9c5 bl 805520c if(blk) 8087e82: 4b2e ldr r3, [pc, #184] ; (8087f3c ) 8087e84: 681b ldr r3, [r3, #0] 8087e86: 2b00 cmp r3, #0 8087e88: d00c beq.n 8087ea4 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 8087e8a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8087e8e: b2db uxtb r3, r3 8087e90: 461a mov r2, r3 8087e92: 4b2b ldr r3, [pc, #172] ; (8087f40 ) 8087e94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087e98: 461a mov r2, r3 8087e9a: 21ca movs r1, #202 ; 0xca 8087e9c: f44f 7083 mov.w r0, #262 ; 0x106 8087ea0: f7cd ff5c bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087ea4: 4924 ldr r1, [pc, #144] ; (8087f38 ) 8087ea6: 4827 ldr r0, [pc, #156] ; (8087f44 ) 8087ea8: f7cd f9b0 bl 805520c LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 8087eac: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8087eb0: b2db uxtb r3, r3 8087eb2: 461a mov r2, r3 8087eb4: 4b22 ldr r3, [pc, #136] ; (8087f40 ) 8087eb6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087eba: 461a mov r2, r3 8087ebc: 21ca movs r1, #202 ; 0xca 8087ebe: 20c6 movs r0, #198 ; 0xc6 8087ec0: f7cd ff4c bl 8055d5c LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 8087ec4: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8087ec8: b2db uxtb r3, r3 8087eca: 461a mov r2, r3 8087ecc: 4b1c ldr r3, [pc, #112] ; (8087f40 ) 8087ece: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087ed2: 461a mov r2, r3 8087ed4: 21ca movs r1, #202 ; 0xca 8087ed6: 20d6 movs r0, #214 ; 0xd6 8087ed8: f7cd ff40 bl 8055d5c LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 8087edc: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8087ee0: b2db uxtb r3, r3 8087ee2: 461a mov r2, r3 8087ee4: 4b16 ldr r3, [pc, #88] ; (8087f40 ) 8087ee6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087eea: 461a mov r2, r3 8087eec: 21ca movs r1, #202 ; 0xca 8087eee: 20e6 movs r0, #230 ; 0xe6 8087ef0: f7cd ff34 bl 8055d5c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 8087ef4: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8087ef8: b2db uxtb r3, r3 8087efa: 461a mov r2, r3 8087efc: 4b10 ldr r3, [pc, #64] ; (8087f40 ) 8087efe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087f02: 461a mov r2, r3 8087f04: 21ca movs r1, #202 ; 0xca 8087f06: 20f6 movs r0, #246 ; 0xf6 8087f08: f7cd ff28 bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, "."); 8087f0c: 4a0e ldr r2, [pc, #56] ; (8087f48 ) 8087f0e: 21ca movs r1, #202 ; 0xca 8087f10: f44f 708b mov.w r0, #278 ; 0x116 8087f14: f7cd ff22 bl 8055d5c LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 8087f18: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8087f1c: b2db uxtb r3, r3 8087f1e: 461a mov r2, r3 8087f20: 4b07 ldr r3, [pc, #28] ; (8087f40 ) 8087f22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087f26: 461a mov r2, r3 8087f28: 21ca movs r1, #202 ; 0xca 8087f2a: f44f 7093 mov.w r0, #294 ; 0x126 8087f2e: f7cd ff15 bl 8055d5c 8087f32: e06d b.n 8088010 8087f34: 20020070 .word 0x20020070 8087f38: ff0a0f1f .word 0xff0a0f1f 8087f3c: 200216ac .word 0x200216ac 8087f40: 2002096c .word 0x2002096c 8087f44: ffd8aa57 .word 0xffd8aa57 8087f48: 080d6258 .word 0x080d6258 if(menupos == VibMax_IKD) 8087f4c: 4b99 ldr r3, [pc, #612] ; (80881b4 ) 8087f4e: 781b ldrb r3, [r3, #0] 8087f50: b2db uxtb r3, r3 8087f52: 2b10 cmp r3, #16 8087f54: d15c bne.n 8088010 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087f56: 4998 ldr r1, [pc, #608] ; (80881b8 ) 8087f58: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087f5c: f7cd f956 bl 805520c if(blk) 8087f60: 4b96 ldr r3, [pc, #600] ; (80881bc ) 8087f62: 681b ldr r3, [r3, #0] 8087f64: 2b00 cmp r3, #0 8087f66: d00c beq.n 8087f82 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 8087f68: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8087f6c: b2db uxtb r3, r3 8087f6e: 461a mov r2, r3 8087f70: 4b93 ldr r3, [pc, #588] ; (80881c0 ) 8087f72: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087f76: 461a mov r2, r3 8087f78: 21ca movs r1, #202 ; 0xca 8087f7a: f44f 7093 mov.w r0, #294 ; 0x126 8087f7e: f7cd feed bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087f82: 498d ldr r1, [pc, #564] ; (80881b8 ) 8087f84: 488f ldr r0, [pc, #572] ; (80881c4 ) 8087f86: f7cd f941 bl 805520c LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 8087f8a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8087f8e: b2db uxtb r3, r3 8087f90: 461a mov r2, r3 8087f92: 4b8b ldr r3, [pc, #556] ; (80881c0 ) 8087f94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087f98: 461a mov r2, r3 8087f9a: 21ca movs r1, #202 ; 0xca 8087f9c: 20c6 movs r0, #198 ; 0xc6 8087f9e: f7cd fedd bl 8055d5c LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 8087fa2: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8087fa6: b2db uxtb r3, r3 8087fa8: 461a mov r2, r3 8087faa: 4b85 ldr r3, [pc, #532] ; (80881c0 ) 8087fac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087fb0: 461a mov r2, r3 8087fb2: 21ca movs r1, #202 ; 0xca 8087fb4: 20d6 movs r0, #214 ; 0xd6 8087fb6: f7cd fed1 bl 8055d5c LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 8087fba: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8087fbe: b2db uxtb r3, r3 8087fc0: 461a mov r2, r3 8087fc2: 4b7f ldr r3, [pc, #508] ; (80881c0 ) 8087fc4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087fc8: 461a mov r2, r3 8087fca: 21ca movs r1, #202 ; 0xca 8087fcc: 20e6 movs r0, #230 ; 0xe6 8087fce: f7cd fec5 bl 8055d5c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 8087fd2: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8087fd6: b2db uxtb r3, r3 8087fd8: 461a mov r2, r3 8087fda: 4b79 ldr r3, [pc, #484] ; (80881c0 ) 8087fdc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087fe0: 461a mov r2, r3 8087fe2: 21ca movs r1, #202 ; 0xca 8087fe4: 20f6 movs r0, #246 ; 0xf6 8087fe6: f7cd feb9 bl 8055d5c LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 8087fea: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8087fee: b2db uxtb r3, r3 8087ff0: 461a mov r2, r3 8087ff2: 4b73 ldr r3, [pc, #460] ; (80881c0 ) 8087ff4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087ff8: 461a mov r2, r3 8087ffa: 21ca movs r1, #202 ; 0xca 8087ffc: f44f 7083 mov.w r0, #262 ; 0x106 8088000: f7cd feac bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, "."); 8088004: 4a70 ldr r2, [pc, #448] ; (80881c8 ) 8088006: 21ca movs r1, #202 ; 0xca 8088008: f44f 708b mov.w r0, #278 ; 0x116 808800c: f7cd fea6 bl 8055d5c if(pardata.OPTIONS & BIT2) // Åñëè àâòîóñèëåíèå 8088010: 4b6e ldr r3, [pc, #440] ; (80881cc ) 8088012: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088016: f003 0304 and.w r3, r3, #4 808801a: 2b00 cmp r3, #0 808801c: f002 8303 beq.w 808a626 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8088020: 4965 ldr r1, [pc, #404] ; (80881b8 ) 8088022: 486b ldr r0, [pc, #428] ; (80881d0 ) 8088024: f7cd f8f2 bl 805520c BSP_LCD_FillRect(257, CHECKBOX_LINE_11 + 2, 6, 6); 8088028: 2306 movs r3, #6 808802a: 2206 movs r2, #6 808802c: 21bf movs r1, #191 ; 0xbf 808802e: f240 1001 movw r0, #257 ; 0x101 8088032: f7cd fd79 bl 8055b28 break; 8088036: f002 baf6 b.w 808a626 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808803a: 495f ldr r1, [pc, #380] ; (80881b8 ) 808803c: 4865 ldr r0, [pc, #404] ; (80881d4 ) 808803e: f7cd f8e5 bl 805520c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8088042: 4b62 ldr r3, [pc, #392] ; (80881cc ) 8088044: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088048: f003 0304 and.w r3, r3, #4 808804c: 2b00 cmp r3, #0 808804e: d02d beq.n 80880ac if(pardata.IIN != VOLTS) 8088050: 4b5e ldr r3, [pc, #376] ; (80881cc ) 8088052: 799b ldrb r3, [r3, #6] 8088054: b2db uxtb r3, r3 8088056: 2b02 cmp r3, #2 8088058: d010 beq.n 808807c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808805a: 4b5c ldr r3, [pc, #368] ; (80881cc ) 808805c: 7b1b ldrb r3, [r3, #12] 808805e: b2db uxtb r3, r3 8088060: 4619 mov r1, r3 8088062: 4a5d ldr r2, [pc, #372] ; (80881d8 ) 8088064: 232c movs r3, #44 ; 0x2c 8088066: fb03 f301 mul.w r3, r3, r1 808806a: 4413 add r3, r2 808806c: 3324 adds r3, #36 ; 0x24 808806e: 681b ldr r3, [r3, #0] 8088070: 461a mov r2, r3 8088072: 21aa movs r1, #170 ; 0xaa 8088074: 200a movs r0, #10 8088076: f7cd fe71 bl 8055d5c 808807a: e00f b.n 808809c else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808807c: 4b53 ldr r3, [pc, #332] ; (80881cc ) 808807e: 7b1b ldrb r3, [r3, #12] 8088080: b2db uxtb r3, r3 8088082: 4619 mov r1, r3 8088084: 4a55 ldr r2, [pc, #340] ; (80881dc ) 8088086: 232c movs r3, #44 ; 0x2c 8088088: fb03 f301 mul.w r3, r3, r1 808808c: 4413 add r3, r2 808808e: 3324 adds r3, #36 ; 0x24 8088090: 681b ldr r3, [r3, #0] 8088092: 461a mov r2, r3 8088094: 21aa movs r1, #170 ; 0xaa 8088096: 200a movs r0, #10 8088098: f7cd fe60 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_10, str); 808809c: f507 733b add.w r3, r7, #748 ; 0x2ec 80880a0: 461a mov r2, r3 80880a2: 21aa movs r1, #170 ; 0xaa 80880a4: f44f 7082 mov.w r0, #260 ; 0x104 80880a8: f7cd fe70 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80880ac: 4942 ldr r1, [pc, #264] ; (80881b8 ) 80880ae: f04f 30ff mov.w r0, #4294967295 80880b2: f7cd f8ab bl 805520c if(pardata.LANG == RUS) 80880b6: 4b45 ldr r3, [pc, #276] ; (80881cc ) 80880b8: 7b1b ldrb r3, [r3, #12] 80880ba: b2db uxtb r3, r3 80880bc: 2b00 cmp r3, #0 80880be: d119 bne.n 80880f4 LCD_DisplayString(10, LCD_LINE_4, "Âåëè÷èíà"); 80880c0: 4a47 ldr r2, [pc, #284] ; (80881e0 ) 80880c2: 214a movs r1, #74 ; 0x4a 80880c4: 200a movs r0, #10 80880c6: f7cd fe49 bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, "Ôèëüòð Â×(Ãö)"); 80880ca: 4a46 ldr r2, [pc, #280] ; (80881e4 ) 80880cc: 215a movs r1, #90 ; 0x5a 80880ce: 200a movs r0, #10 80880d0: f7cd fe44 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "Ôèëüòð Í×(Ãö)"); 80880d4: 4a44 ldr r2, [pc, #272] ; (80881e8 ) 80880d6: 216a movs r1, #106 ; 0x6a 80880d8: 200a movs r0, #10 80880da: f7cd fe3f bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Ìàñøòàá ïî Y"); 80880de: 4a43 ldr r2, [pc, #268] ; (80881ec ) 80880e0: 217a movs r1, #122 ; 0x7a 80880e2: 200a movs r0, #10 80880e4: f7cd fe3a bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Âðåìåííîé èíòåðâàë"); 80880e8: 4a41 ldr r2, [pc, #260] ; (80881f0 ) 80880ea: 218a movs r1, #138 ; 0x8a 80880ec: 200a movs r0, #10 80880ee: f7cd fe35 bl 8055d5c 80880f2: e018 b.n 8088126 LCD_DisplayString(10, LCD_LINE_4, "Parameter"); 80880f4: 4a3f ldr r2, [pc, #252] ; (80881f4 ) 80880f6: 214a movs r1, #74 ; 0x4a 80880f8: 200a movs r0, #10 80880fa: f7cd fe2f bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, "HPF(Hz)"); 80880fe: 4a3e ldr r2, [pc, #248] ; (80881f8 ) 8088100: 215a movs r1, #90 ; 0x5a 8088102: 200a movs r0, #10 8088104: f7cd fe2a bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "LPF(Hz)"); 8088108: 4a3c ldr r2, [pc, #240] ; (80881fc ) 808810a: 216a movs r1, #106 ; 0x6a 808810c: 200a movs r0, #10 808810e: f7cd fe25 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Scale Y"); 8088112: 4a3b ldr r2, [pc, #236] ; (8088200 ) 8088114: 217a movs r1, #122 ; 0x7a 8088116: 200a movs r0, #10 8088118: f7cd fe20 bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Time period"); 808811c: 4a39 ldr r2, [pc, #228] ; (8088204 ) 808811e: 218a movs r1, #138 ; 0x8a 8088120: 200a movs r0, #10 8088122: f7cd fe1b bl 8055d5c LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB[pardata.LANG][8]);//"Óñèëåíèå" 8088126: 4b29 ldr r3, [pc, #164] ; (80881cc ) 8088128: 7b1b ldrb r3, [r3, #12] 808812a: b2db uxtb r3, r3 808812c: 4619 mov r1, r3 808812e: 4a2a ldr r2, [pc, #168] ; (80881d8 ) 8088130: 232c movs r3, #44 ; 0x2c 8088132: fb03 f301 mul.w r3, r3, r1 8088136: 4413 add r3, r2 8088138: 3320 adds r3, #32 808813a: 681b ldr r3, [r3, #0] 808813c: 461a mov r2, r3 808813e: 219a movs r1, #154 ; 0x9a 8088140: 200a movs r0, #10 8088142: f7cd fe0b bl 8055d5c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8088146: 230a movs r3, #10 8088148: 220a movs r2, #10 808814a: 219d movs r1, #157 ; 0x9d 808814c: 20ff movs r0, #255 ; 0xff 808814e: f7cd fceb bl 8055b28 if(menupos == Ok) 8088152: 4b18 ldr r3, [pc, #96] ; (80881b4 ) 8088154: 781b ldrb r3, [r3, #0] 8088156: b2db uxtb r3, r3 8088158: 2b00 cmp r3, #0 808815a: f040 8100 bne.w 808835e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808815e: 4916 ldr r1, [pc, #88] ; (80881b8 ) 8088160: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088164: f7cd f852 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8088168: 4b18 ldr r3, [pc, #96] ; (80881cc ) 808816a: 7b1b ldrb r3, [r3, #12] 808816c: b2db uxtb r3, r3 808816e: 461a mov r2, r3 8088170: 4b25 ldr r3, [pc, #148] ; (8088208 ) 8088172: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088176: 461a mov r2, r3 8088178: 2127 movs r1, #39 ; 0x27 808817a: 200a movs r0, #10 808817c: f7cd fdee bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088180: 490d ldr r1, [pc, #52] ; (80881b8 ) 8088182: 4810 ldr r0, [pc, #64] ; (80881c4 ) 8088184: f7cd f842 bl 805520c if((pardata.OPTIONS & maskFFT) == okt) 8088188: 4b10 ldr r3, [pc, #64] ; (80881cc ) 808818a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808818e: f003 0330 and.w r3, r3, #48 ; 0x30 8088192: 2b20 cmp r3, #32 8088194: d13c bne.n 8088210 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8088196: 4b0d ldr r3, [pc, #52] ; (80881cc ) 8088198: 7b1b ldrb r3, [r3, #12] 808819a: b2db uxtb r3, r3 808819c: 4a1b ldr r2, [pc, #108] ; (808820c ) 808819e: 011b lsls r3, r3, #4 80881a0: 4413 add r3, r2 80881a2: 3308 adds r3, #8 80881a4: 681b ldr r3, [r3, #0] 80881a6: 461a mov r2, r3 80881a8: 213a movs r1, #58 ; 0x3a 80881aa: f44f 7082 mov.w r0, #260 ; 0x104 80881ae: f7cd fded bl 8055d8c 80881b2: e03b b.n 808822c 80881b4: 20020070 .word 0x20020070 80881b8: ff0a0f1f .word 0xff0a0f1f 80881bc: 200216ac .word 0x200216ac 80881c0: 2002096c .word 0x2002096c 80881c4: ffd8aa57 .word 0xffd8aa57 80881c8: 080d6258 .word 0x080d6258 80881cc: 20023eb8 .word 0x20023eb8 80881d0: ff404040 .word 0xff404040 80881d4: ff808080 .word 0xff808080 80881d8: 200206bc .word 0x200206bc 80881dc: 20020714 .word 0x20020714 80881e0: 080d6198 .word 0x080d6198 80881e4: 080d5c40 .word 0x080d5c40 80881e8: 080d5c50 .word 0x080d5c50 80881ec: 080d6ad0 .word 0x080d6ad0 80881f0: 080d5c84 .word 0x080d5c84 80881f4: 080d61a4 .word 0x080d61a4 80881f8: 080d5cf0 .word 0x080d5cf0 80881fc: 080d5cf8 .word 0x080d5cf8 8088200: 080d6af0 .word 0x080d6af0 8088204: 080d5d18 .word 0x080d5d18 8088208: 200205cc .word 0x200205cc 808820c: 200202a4 .word 0x200202a4 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8088210: 4b83 ldr r3, [pc, #524] ; (8088420 ) 8088212: 7b1b ldrb r3, [r3, #12] 8088214: b2db uxtb r3, r3 8088216: 4a83 ldr r2, [pc, #524] ; (8088424 ) 8088218: 011b lsls r3, r3, #4 808821a: 4413 add r3, r2 808821c: 330c adds r3, #12 808821e: 681b ldr r3, [r3, #0] 8088220: 461a mov r2, r3 8088222: 213a movs r1, #58 ; 0x3a 8088224: f44f 7082 mov.w r0, #260 ; 0x104 8088228: f7cd fdb0 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 808822c: 4b7c ldr r3, [pc, #496] ; (8088420 ) 808822e: 7b1b ldrb r3, [r3, #12] 8088230: b2db uxtb r3, r3 8088232: 4618 mov r0, r3 8088234: 4b7a ldr r3, [pc, #488] ; (8088420 ) 8088236: 7a9b ldrb r3, [r3, #10] 8088238: b2db uxtb r3, r3 808823a: 4619 mov r1, r3 808823c: 4a7a ldr r2, [pc, #488] ; (8088428 ) 808823e: 0043 lsls r3, r0, #1 8088240: 440b add r3, r1 8088242: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088246: 461a mov r2, r3 8088248: 217a movs r1, #122 ; 0x7a 808824a: f44f 7082 mov.w r0, #260 ; 0x104 808824e: f7cd fd9d bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8088252: 4b73 ldr r3, [pc, #460] ; (8088420 ) 8088254: 7b1b ldrb r3, [r3, #12] 8088256: b2db uxtb r3, r3 8088258: 4619 mov r1, r3 808825a: 4b71 ldr r3, [pc, #452] ; (8088420 ) 808825c: 7b5b ldrb r3, [r3, #13] 808825e: b2db uxtb r3, r3 8088260: 4618 mov r0, r3 8088262: 4a72 ldr r2, [pc, #456] ; (808842c ) 8088264: 460b mov r3, r1 8088266: 009b lsls r3, r3, #2 8088268: 440b add r3, r1 808826a: 005b lsls r3, r3, #1 808826c: 4403 add r3, r0 808826e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088272: 461a mov r2, r3 8088274: 218a movs r1, #138 ; 0x8a 8088276: f44f 7082 mov.w r0, #260 ; 0x104 808827a: f7cd fd87 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 808827e: 4b68 ldr r3, [pc, #416] ; (8088420 ) 8088280: 7b1b ldrb r3, [r3, #12] 8088282: b2db uxtb r3, r3 8088284: 4618 mov r0, r3 8088286: 4b66 ldr r3, [pc, #408] ; (8088420 ) 8088288: 785b ldrb r3, [r3, #1] 808828a: b2db uxtb r3, r3 808828c: 005b lsls r3, r3, #1 808828e: 4a64 ldr r2, [pc, #400] ; (8088420 ) 8088290: 7852 ldrb r2, [r2, #1] 8088292: b2d2 uxtb r2, r2 8088294: 4611 mov r1, r2 8088296: 4a62 ldr r2, [pc, #392] ; (8088420 ) 8088298: 440a add r2, r1 808829a: 7892 ldrb r2, [r2, #2] 808829c: b2d2 uxtb r2, r2 808829e: 431a orrs r2, r3 80882a0: 4963 ldr r1, [pc, #396] ; (8088430 ) 80882a2: 4603 mov r3, r0 80882a4: 005b lsls r3, r3, #1 80882a6: 4403 add r3, r0 80882a8: 005b lsls r3, r3, #1 80882aa: 4413 add r3, r2 80882ac: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80882b0: 461a mov r2, r3 80882b2: 214a movs r1, #74 ; 0x4a 80882b4: f44f 7082 mov.w r0, #260 ; 0x104 80882b8: f7cd fd68 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80882bc: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80882c0: 461a mov r2, r3 80882c2: 215a movs r1, #90 ; 0x5a 80882c4: f44f 7082 mov.w r0, #260 ; 0x104 80882c8: f7cd fd60 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80882cc: f507 73cc add.w r3, r7, #408 ; 0x198 80882d0: 461a mov r2, r3 80882d2: 216a movs r1, #106 ; 0x6a 80882d4: f44f 7082 mov.w r0, #260 ; 0x104 80882d8: f7cd fd58 bl 8055d8c if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 80882dc: 4b50 ldr r3, [pc, #320] ; (8088420 ) 80882de: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80882e2: f003 0304 and.w r3, r3, #4 80882e6: 2b00 cmp r3, #0 80882e8: f042 818a bne.w 808a600 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80882ec: 4951 ldr r1, [pc, #324] ; (8088434 ) 80882ee: f04f 30ff mov.w r0, #4294967295 80882f2: f7cc ff8b bl 805520c if(pardata.IIN != VOLTS) 80882f6: 4b4a ldr r3, [pc, #296] ; (8088420 ) 80882f8: 799b ldrb r3, [r3, #6] 80882fa: b2db uxtb r3, r3 80882fc: 2b02 cmp r3, #2 80882fe: d010 beq.n 8088322 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8088300: 4b47 ldr r3, [pc, #284] ; (8088420 ) 8088302: 7b1b ldrb r3, [r3, #12] 8088304: b2db uxtb r3, r3 8088306: 4619 mov r1, r3 8088308: 4a4b ldr r2, [pc, #300] ; (8088438 ) 808830a: 232c movs r3, #44 ; 0x2c 808830c: fb03 f301 mul.w r3, r3, r1 8088310: 4413 add r3, r2 8088312: 3324 adds r3, #36 ; 0x24 8088314: 681b ldr r3, [r3, #0] 8088316: 461a mov r2, r3 8088318: 21aa movs r1, #170 ; 0xaa 808831a: 200a movs r0, #10 808831c: f7cd fd1e bl 8055d5c 8088320: e00f b.n 8088342 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8088322: 4b3f ldr r3, [pc, #252] ; (8088420 ) 8088324: 7b1b ldrb r3, [r3, #12] 8088326: b2db uxtb r3, r3 8088328: 4619 mov r1, r3 808832a: 4a44 ldr r2, [pc, #272] ; (808843c ) 808832c: 232c movs r3, #44 ; 0x2c 808832e: fb03 f301 mul.w r3, r3, r1 8088332: 4413 add r3, r2 8088334: 3324 adds r3, #36 ; 0x24 8088336: 681b ldr r3, [r3, #0] 8088338: 461a mov r2, r3 808833a: 21aa movs r1, #170 ; 0xaa 808833c: 200a movs r0, #10 808833e: f7cd fd0d bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088342: 493c ldr r1, [pc, #240] ; (8088434 ) 8088344: 483e ldr r0, [pc, #248] ; (8088440 ) 8088346: f7cc ff61 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, str); 808834a: f507 733b add.w r3, r7, #748 ; 0x2ec 808834e: 461a mov r2, r3 8088350: 21aa movs r1, #170 ; 0xaa 8088352: f44f 7082 mov.w r0, #260 ; 0x104 8088356: f7cd fd19 bl 8055d8c 808835a: f002 b951 b.w 808a600 if(menupos == SpecType) 808835e: 4b39 ldr r3, [pc, #228] ; (8088444 ) 8088360: 781b ldrb r3, [r3, #0] 8088362: b2db uxtb r3, r3 8088364: 2b01 cmp r3, #1 8088366: f040 8120 bne.w 80885aa LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808836a: 4932 ldr r1, [pc, #200] ; (8088434 ) 808836c: f04f 30ff mov.w r0, #4294967295 8088370: f7cc ff4c bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8088374: 4b2a ldr r3, [pc, #168] ; (8088420 ) 8088376: 7b1b ldrb r3, [r3, #12] 8088378: b2db uxtb r3, r3 808837a: 461a mov r2, r3 808837c: 4b32 ldr r3, [pc, #200] ; (8088448 ) 808837e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088382: 461a mov r2, r3 8088384: 2127 movs r1, #39 ; 0x27 8088386: 200a movs r0, #10 8088388: f7cd fce8 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808838c: 4929 ldr r1, [pc, #164] ; (8088434 ) 808838e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088392: f7cc ff3b bl 805520c if(focused) 8088396: 4b2d ldr r3, [pc, #180] ; (808844c ) 8088398: 781b ldrb r3, [r3, #0] 808839a: b2db uxtb r3, r3 808839c: 2b00 cmp r3, #0 808839e: d028 beq.n 80883f2 if(blk) 80883a0: 4b2b ldr r3, [pc, #172] ; (8088450 ) 80883a2: 681b ldr r3, [r3, #0] 80883a4: 2b00 cmp r3, #0 80883a6: d063 beq.n 8088470 if((pardata.OPTIONS & maskFFT) == okt) 80883a8: 4b1d ldr r3, [pc, #116] ; (8088420 ) 80883aa: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80883ae: f003 0330 and.w r3, r3, #48 ; 0x30 80883b2: 2b20 cmp r3, #32 80883b4: d10e bne.n 80883d4 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 80883b6: 4b1a ldr r3, [pc, #104] ; (8088420 ) 80883b8: 7b1b ldrb r3, [r3, #12] 80883ba: b2db uxtb r3, r3 80883bc: 4a19 ldr r2, [pc, #100] ; (8088424 ) 80883be: 011b lsls r3, r3, #4 80883c0: 4413 add r3, r2 80883c2: 3308 adds r3, #8 80883c4: 681b ldr r3, [r3, #0] 80883c6: 461a mov r2, r3 80883c8: 213a movs r1, #58 ; 0x3a 80883ca: f44f 7082 mov.w r0, #260 ; 0x104 80883ce: f7cd fcdd bl 8055d8c 80883d2: e04d b.n 8088470 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 80883d4: 4b12 ldr r3, [pc, #72] ; (8088420 ) 80883d6: 7b1b ldrb r3, [r3, #12] 80883d8: b2db uxtb r3, r3 80883da: 4a12 ldr r2, [pc, #72] ; (8088424 ) 80883dc: 011b lsls r3, r3, #4 80883de: 4413 add r3, r2 80883e0: 330c adds r3, #12 80883e2: 681b ldr r3, [r3, #0] 80883e4: 461a mov r2, r3 80883e6: 213a movs r1, #58 ; 0x3a 80883e8: f44f 7082 mov.w r0, #260 ; 0x104 80883ec: f7cd fcce bl 8055d8c 80883f0: e03e b.n 8088470 if((pardata.OPTIONS & maskFFT) == okt) 80883f2: 4b0b ldr r3, [pc, #44] ; (8088420 ) 80883f4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80883f8: f003 0330 and.w r3, r3, #48 ; 0x30 80883fc: 2b20 cmp r3, #32 80883fe: d129 bne.n 8088454 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8088400: 4b07 ldr r3, [pc, #28] ; (8088420 ) 8088402: 7b1b ldrb r3, [r3, #12] 8088404: b2db uxtb r3, r3 8088406: 4a07 ldr r2, [pc, #28] ; (8088424 ) 8088408: 011b lsls r3, r3, #4 808840a: 4413 add r3, r2 808840c: 3308 adds r3, #8 808840e: 681b ldr r3, [r3, #0] 8088410: 461a mov r2, r3 8088412: 213a movs r1, #58 ; 0x3a 8088414: f44f 7082 mov.w r0, #260 ; 0x104 8088418: f7cd fcb8 bl 8055d8c 808841c: e028 b.n 8088470 808841e: bf00 nop 8088420: 20023eb8 .word 0x20023eb8 8088424: 200202a4 .word 0x200202a4 8088428: 2002021c .word 0x2002021c 808842c: 20020254 .word 0x20020254 8088430: 200201a4 .word 0x200201a4 8088434: ff0a0f1f .word 0xff0a0f1f 8088438: 200206bc .word 0x200206bc 808843c: 20020714 .word 0x20020714 8088440: ffd8aa57 .word 0xffd8aa57 8088444: 20020070 .word 0x20020070 8088448: 200205cc .word 0x200205cc 808844c: 20020fd0 .word 0x20020fd0 8088450: 200216ac .word 0x200216ac else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8088454: 4b94 ldr r3, [pc, #592] ; (80886a8 ) 8088456: 7b1b ldrb r3, [r3, #12] 8088458: b2db uxtb r3, r3 808845a: 4a94 ldr r2, [pc, #592] ; (80886ac ) 808845c: 011b lsls r3, r3, #4 808845e: 4413 add r3, r2 8088460: 330c adds r3, #12 8088462: 681b ldr r3, [r3, #0] 8088464: 461a mov r2, r3 8088466: 213a movs r1, #58 ; 0x3a 8088468: f44f 7082 mov.w r0, #260 ; 0x104 808846c: f7cd fc8e bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088470: 498f ldr r1, [pc, #572] ; (80886b0 ) 8088472: 4890 ldr r0, [pc, #576] ; (80886b4 ) 8088474: f7cc feca bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8088478: 4b8b ldr r3, [pc, #556] ; (80886a8 ) 808847a: 7b1b ldrb r3, [r3, #12] 808847c: b2db uxtb r3, r3 808847e: 4618 mov r0, r3 8088480: 4b89 ldr r3, [pc, #548] ; (80886a8 ) 8088482: 7a9b ldrb r3, [r3, #10] 8088484: b2db uxtb r3, r3 8088486: 4619 mov r1, r3 8088488: 4a8b ldr r2, [pc, #556] ; (80886b8 ) 808848a: 0043 lsls r3, r0, #1 808848c: 440b add r3, r1 808848e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088492: 461a mov r2, r3 8088494: 217a movs r1, #122 ; 0x7a 8088496: f44f 7082 mov.w r0, #260 ; 0x104 808849a: f7cd fc77 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 808849e: 4b82 ldr r3, [pc, #520] ; (80886a8 ) 80884a0: 7b1b ldrb r3, [r3, #12] 80884a2: b2db uxtb r3, r3 80884a4: 4619 mov r1, r3 80884a6: 4b80 ldr r3, [pc, #512] ; (80886a8 ) 80884a8: 7b5b ldrb r3, [r3, #13] 80884aa: b2db uxtb r3, r3 80884ac: 4618 mov r0, r3 80884ae: 4a83 ldr r2, [pc, #524] ; (80886bc ) 80884b0: 460b mov r3, r1 80884b2: 009b lsls r3, r3, #2 80884b4: 440b add r3, r1 80884b6: 005b lsls r3, r3, #1 80884b8: 4403 add r3, r0 80884ba: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80884be: 461a mov r2, r3 80884c0: 218a movs r1, #138 ; 0x8a 80884c2: f44f 7082 mov.w r0, #260 ; 0x104 80884c6: f7cd fc61 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80884ca: 4b77 ldr r3, [pc, #476] ; (80886a8 ) 80884cc: 7b1b ldrb r3, [r3, #12] 80884ce: b2db uxtb r3, r3 80884d0: 4618 mov r0, r3 80884d2: 4b75 ldr r3, [pc, #468] ; (80886a8 ) 80884d4: 785b ldrb r3, [r3, #1] 80884d6: b2db uxtb r3, r3 80884d8: 005b lsls r3, r3, #1 80884da: 4a73 ldr r2, [pc, #460] ; (80886a8 ) 80884dc: 7852 ldrb r2, [r2, #1] 80884de: b2d2 uxtb r2, r2 80884e0: 4611 mov r1, r2 80884e2: 4a71 ldr r2, [pc, #452] ; (80886a8 ) 80884e4: 440a add r2, r1 80884e6: 7892 ldrb r2, [r2, #2] 80884e8: b2d2 uxtb r2, r2 80884ea: 431a orrs r2, r3 80884ec: 4974 ldr r1, [pc, #464] ; (80886c0 ) 80884ee: 4603 mov r3, r0 80884f0: 005b lsls r3, r3, #1 80884f2: 4403 add r3, r0 80884f4: 005b lsls r3, r3, #1 80884f6: 4413 add r3, r2 80884f8: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80884fc: 461a mov r2, r3 80884fe: 214a movs r1, #74 ; 0x4a 8088500: f44f 7082 mov.w r0, #260 ; 0x104 8088504: f7cd fc42 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8088508: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808850c: 461a mov r2, r3 808850e: 215a movs r1, #90 ; 0x5a 8088510: f44f 7082 mov.w r0, #260 ; 0x104 8088514: f7cd fc3a bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8088518: f507 73cc add.w r3, r7, #408 ; 0x198 808851c: 461a mov r2, r3 808851e: 216a movs r1, #106 ; 0x6a 8088520: f44f 7082 mov.w r0, #260 ; 0x104 8088524: f7cd fc32 bl 8055d8c if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8088528: 4b5f ldr r3, [pc, #380] ; (80886a8 ) 808852a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808852e: f003 0304 and.w r3, r3, #4 8088532: 2b00 cmp r3, #0 8088534: f042 8064 bne.w 808a600 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088538: 495d ldr r1, [pc, #372] ; (80886b0 ) 808853a: f04f 30ff mov.w r0, #4294967295 808853e: f7cc fe65 bl 805520c if(pardata.IIN != VOLTS) 8088542: 4b59 ldr r3, [pc, #356] ; (80886a8 ) 8088544: 799b ldrb r3, [r3, #6] 8088546: b2db uxtb r3, r3 8088548: 2b02 cmp r3, #2 808854a: d010 beq.n 808856e LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808854c: 4b56 ldr r3, [pc, #344] ; (80886a8 ) 808854e: 7b1b ldrb r3, [r3, #12] 8088550: b2db uxtb r3, r3 8088552: 4619 mov r1, r3 8088554: 4a5b ldr r2, [pc, #364] ; (80886c4 ) 8088556: 232c movs r3, #44 ; 0x2c 8088558: fb03 f301 mul.w r3, r3, r1 808855c: 4413 add r3, r2 808855e: 3324 adds r3, #36 ; 0x24 8088560: 681b ldr r3, [r3, #0] 8088562: 461a mov r2, r3 8088564: 21aa movs r1, #170 ; 0xaa 8088566: 200a movs r0, #10 8088568: f7cd fbf8 bl 8055d5c 808856c: e00f b.n 808858e else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808856e: 4b4e ldr r3, [pc, #312] ; (80886a8 ) 8088570: 7b1b ldrb r3, [r3, #12] 8088572: b2db uxtb r3, r3 8088574: 4619 mov r1, r3 8088576: 4a54 ldr r2, [pc, #336] ; (80886c8 ) 8088578: 232c movs r3, #44 ; 0x2c 808857a: fb03 f301 mul.w r3, r3, r1 808857e: 4413 add r3, r2 8088580: 3324 adds r3, #36 ; 0x24 8088582: 681b ldr r3, [r3, #0] 8088584: 461a mov r2, r3 8088586: 21aa movs r1, #170 ; 0xaa 8088588: 200a movs r0, #10 808858a: f7cd fbe7 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808858e: 4948 ldr r1, [pc, #288] ; (80886b0 ) 8088590: 4848 ldr r0, [pc, #288] ; (80886b4 ) 8088592: f7cc fe3b bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, str); 8088596: f507 733b add.w r3, r7, #748 ; 0x2ec 808859a: 461a mov r2, r3 808859c: 21aa movs r1, #170 ; 0xaa 808859e: f44f 7082 mov.w r0, #260 ; 0x104 80885a2: f7cd fbf3 bl 8055d8c 80885a6: f002 b82b b.w 808a600 if(menupos == SpecValue) 80885aa: 4b48 ldr r3, [pc, #288] ; (80886cc ) 80885ac: 781b ldrb r3, [r3, #0] 80885ae: b2db uxtb r3, r3 80885b0: 2b02 cmp r3, #2 80885b2: f040 811b bne.w 80887ec LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80885b6: 493e ldr r1, [pc, #248] ; (80886b0 ) 80885b8: f04f 30ff mov.w r0, #4294967295 80885bc: f7cc fe26 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80885c0: 4b39 ldr r3, [pc, #228] ; (80886a8 ) 80885c2: 7b1b ldrb r3, [r3, #12] 80885c4: b2db uxtb r3, r3 80885c6: 461a mov r2, r3 80885c8: 4b41 ldr r3, [pc, #260] ; (80886d0 ) 80885ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80885ce: 461a mov r2, r3 80885d0: 2127 movs r1, #39 ; 0x27 80885d2: 200a movs r0, #10 80885d4: f7cd fbc2 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80885d8: 4935 ldr r1, [pc, #212] ; (80886b0 ) 80885da: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80885de: f7cc fe15 bl 805520c if(focused) 80885e2: 4b3c ldr r3, [pc, #240] ; (80886d4 ) 80885e4: 781b ldrb r3, [r3, #0] 80885e6: b2db uxtb r3, r3 80885e8: 2b00 cmp r3, #0 80885ea: d023 beq.n 8088634 if(blk) 80885ec: 4b3a ldr r3, [pc, #232] ; (80886d8 ) 80885ee: 681b ldr r3, [r3, #0] 80885f0: 2b00 cmp r3, #0 80885f2: d03e beq.n 8088672 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80885f4: 4b2c ldr r3, [pc, #176] ; (80886a8 ) 80885f6: 7b1b ldrb r3, [r3, #12] 80885f8: b2db uxtb r3, r3 80885fa: 4618 mov r0, r3 80885fc: 4b2a ldr r3, [pc, #168] ; (80886a8 ) 80885fe: 785b ldrb r3, [r3, #1] 8088600: b2db uxtb r3, r3 8088602: 005b lsls r3, r3, #1 8088604: 4a28 ldr r2, [pc, #160] ; (80886a8 ) 8088606: 7852 ldrb r2, [r2, #1] 8088608: b2d2 uxtb r2, r2 808860a: 4611 mov r1, r2 808860c: 4a26 ldr r2, [pc, #152] ; (80886a8 ) 808860e: 440a add r2, r1 8088610: 7892 ldrb r2, [r2, #2] 8088612: b2d2 uxtb r2, r2 8088614: 431a orrs r2, r3 8088616: 492a ldr r1, [pc, #168] ; (80886c0 ) 8088618: 4603 mov r3, r0 808861a: 005b lsls r3, r3, #1 808861c: 4403 add r3, r0 808861e: 005b lsls r3, r3, #1 8088620: 4413 add r3, r2 8088622: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8088626: 461a mov r2, r3 8088628: 214a movs r1, #74 ; 0x4a 808862a: f44f 7082 mov.w r0, #260 ; 0x104 808862e: f7cd fbad bl 8055d8c 8088632: e01e b.n 8088672 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8088634: 4b1c ldr r3, [pc, #112] ; (80886a8 ) 8088636: 7b1b ldrb r3, [r3, #12] 8088638: b2db uxtb r3, r3 808863a: 4618 mov r0, r3 808863c: 4b1a ldr r3, [pc, #104] ; (80886a8 ) 808863e: 785b ldrb r3, [r3, #1] 8088640: b2db uxtb r3, r3 8088642: 005b lsls r3, r3, #1 8088644: 4a18 ldr r2, [pc, #96] ; (80886a8 ) 8088646: 7852 ldrb r2, [r2, #1] 8088648: b2d2 uxtb r2, r2 808864a: 4611 mov r1, r2 808864c: 4a16 ldr r2, [pc, #88] ; (80886a8 ) 808864e: 440a add r2, r1 8088650: 7892 ldrb r2, [r2, #2] 8088652: b2d2 uxtb r2, r2 8088654: 431a orrs r2, r3 8088656: 491a ldr r1, [pc, #104] ; (80886c0 ) 8088658: 4603 mov r3, r0 808865a: 005b lsls r3, r3, #1 808865c: 4403 add r3, r0 808865e: 005b lsls r3, r3, #1 8088660: 4413 add r3, r2 8088662: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8088666: 461a mov r2, r3 8088668: 214a movs r1, #74 ; 0x4a 808866a: f44f 7082 mov.w r0, #260 ; 0x104 808866e: f7cd fb8d bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088672: 490f ldr r1, [pc, #60] ; (80886b0 ) 8088674: 480f ldr r0, [pc, #60] ; (80886b4 ) 8088676: f7cc fdc9 bl 805520c if((pardata.OPTIONS & maskFFT) == okt) 808867a: 4b0b ldr r3, [pc, #44] ; (80886a8 ) 808867c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088680: f003 0330 and.w r3, r3, #48 ; 0x30 8088684: 2b20 cmp r3, #32 8088686: d129 bne.n 80886dc LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8088688: 4b07 ldr r3, [pc, #28] ; (80886a8 ) 808868a: 7b1b ldrb r3, [r3, #12] 808868c: b2db uxtb r3, r3 808868e: 4a07 ldr r2, [pc, #28] ; (80886ac ) 8088690: 011b lsls r3, r3, #4 8088692: 4413 add r3, r2 8088694: 3308 adds r3, #8 8088696: 681b ldr r3, [r3, #0] 8088698: 461a mov r2, r3 808869a: 213a movs r1, #58 ; 0x3a 808869c: f44f 7082 mov.w r0, #260 ; 0x104 80886a0: f7cd fb74 bl 8055d8c 80886a4: e028 b.n 80886f8 80886a6: bf00 nop 80886a8: 20023eb8 .word 0x20023eb8 80886ac: 200202a4 .word 0x200202a4 80886b0: ff0a0f1f .word 0xff0a0f1f 80886b4: ffd8aa57 .word 0xffd8aa57 80886b8: 2002021c .word 0x2002021c 80886bc: 20020254 .word 0x20020254 80886c0: 200201a4 .word 0x200201a4 80886c4: 200206bc .word 0x200206bc 80886c8: 20020714 .word 0x20020714 80886cc: 20020070 .word 0x20020070 80886d0: 200205cc .word 0x200205cc 80886d4: 20020fd0 .word 0x20020fd0 80886d8: 200216ac .word 0x200216ac else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 80886dc: 4bb2 ldr r3, [pc, #712] ; (80889a8 ) 80886de: 7b1b ldrb r3, [r3, #12] 80886e0: b2db uxtb r3, r3 80886e2: 4ab2 ldr r2, [pc, #712] ; (80889ac ) 80886e4: 011b lsls r3, r3, #4 80886e6: 4413 add r3, r2 80886e8: 330c adds r3, #12 80886ea: 681b ldr r3, [r3, #0] 80886ec: 461a mov r2, r3 80886ee: 213a movs r1, #58 ; 0x3a 80886f0: f44f 7082 mov.w r0, #260 ; 0x104 80886f4: f7cd fb4a bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80886f8: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80886fc: 461a mov r2, r3 80886fe: 215a movs r1, #90 ; 0x5a 8088700: f44f 7082 mov.w r0, #260 ; 0x104 8088704: f7cd fb42 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8088708: f507 73cc add.w r3, r7, #408 ; 0x198 808870c: 461a mov r2, r3 808870e: 216a movs r1, #106 ; 0x6a 8088710: f44f 7082 mov.w r0, #260 ; 0x104 8088714: f7cd fb3a bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8088718: 4ba3 ldr r3, [pc, #652] ; (80889a8 ) 808871a: 7b1b ldrb r3, [r3, #12] 808871c: b2db uxtb r3, r3 808871e: 4618 mov r0, r3 8088720: 4ba1 ldr r3, [pc, #644] ; (80889a8 ) 8088722: 7a9b ldrb r3, [r3, #10] 8088724: b2db uxtb r3, r3 8088726: 4619 mov r1, r3 8088728: 4aa1 ldr r2, [pc, #644] ; (80889b0 ) 808872a: 0043 lsls r3, r0, #1 808872c: 440b add r3, r1 808872e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088732: 461a mov r2, r3 8088734: 217a movs r1, #122 ; 0x7a 8088736: f44f 7082 mov.w r0, #260 ; 0x104 808873a: f7cd fb27 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 808873e: 4b9a ldr r3, [pc, #616] ; (80889a8 ) 8088740: 7b1b ldrb r3, [r3, #12] 8088742: b2db uxtb r3, r3 8088744: 4619 mov r1, r3 8088746: 4b98 ldr r3, [pc, #608] ; (80889a8 ) 8088748: 7b5b ldrb r3, [r3, #13] 808874a: b2db uxtb r3, r3 808874c: 4618 mov r0, r3 808874e: 4a99 ldr r2, [pc, #612] ; (80889b4 ) 8088750: 460b mov r3, r1 8088752: 009b lsls r3, r3, #2 8088754: 440b add r3, r1 8088756: 005b lsls r3, r3, #1 8088758: 4403 add r3, r0 808875a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808875e: 461a mov r2, r3 8088760: 218a movs r1, #138 ; 0x8a 8088762: f44f 7082 mov.w r0, #260 ; 0x104 8088766: f7cd fb11 bl 8055d8c if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 808876a: 4b8f ldr r3, [pc, #572] ; (80889a8 ) 808876c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088770: f003 0304 and.w r3, r3, #4 8088774: 2b00 cmp r3, #0 8088776: f041 8743 bne.w 808a600 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808877a: 498f ldr r1, [pc, #572] ; (80889b8 ) 808877c: f04f 30ff mov.w r0, #4294967295 8088780: f7cc fd44 bl 805520c if(pardata.IIN != VOLTS) 8088784: 4b88 ldr r3, [pc, #544] ; (80889a8 ) 8088786: 799b ldrb r3, [r3, #6] 8088788: b2db uxtb r3, r3 808878a: 2b02 cmp r3, #2 808878c: d010 beq.n 80887b0 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808878e: 4b86 ldr r3, [pc, #536] ; (80889a8 ) 8088790: 7b1b ldrb r3, [r3, #12] 8088792: b2db uxtb r3, r3 8088794: 4619 mov r1, r3 8088796: 4a89 ldr r2, [pc, #548] ; (80889bc ) 8088798: 232c movs r3, #44 ; 0x2c 808879a: fb03 f301 mul.w r3, r3, r1 808879e: 4413 add r3, r2 80887a0: 3324 adds r3, #36 ; 0x24 80887a2: 681b ldr r3, [r3, #0] 80887a4: 461a mov r2, r3 80887a6: 21aa movs r1, #170 ; 0xaa 80887a8: 200a movs r0, #10 80887aa: f7cd fad7 bl 8055d5c 80887ae: e00f b.n 80887d0 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 80887b0: 4b7d ldr r3, [pc, #500] ; (80889a8 ) 80887b2: 7b1b ldrb r3, [r3, #12] 80887b4: b2db uxtb r3, r3 80887b6: 4619 mov r1, r3 80887b8: 4a81 ldr r2, [pc, #516] ; (80889c0 ) 80887ba: 232c movs r3, #44 ; 0x2c 80887bc: fb03 f301 mul.w r3, r3, r1 80887c0: 4413 add r3, r2 80887c2: 3324 adds r3, #36 ; 0x24 80887c4: 681b ldr r3, [r3, #0] 80887c6: 461a mov r2, r3 80887c8: 21aa movs r1, #170 ; 0xaa 80887ca: 200a movs r0, #10 80887cc: f7cd fac6 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80887d0: 4979 ldr r1, [pc, #484] ; (80889b8 ) 80887d2: 487c ldr r0, [pc, #496] ; (80889c4 ) 80887d4: f7cc fd1a bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, str); 80887d8: f507 733b add.w r3, r7, #748 ; 0x2ec 80887dc: 461a mov r2, r3 80887de: 21aa movs r1, #170 ; 0xaa 80887e0: f44f 7082 mov.w r0, #260 ; 0x104 80887e4: f7cd fad2 bl 8055d8c 80887e8: f001 bf0a b.w 808a600 if(menupos == FilterHP) 80887ec: 4b76 ldr r3, [pc, #472] ; (80889c8 ) 80887ee: 781b ldrb r3, [r3, #0] 80887f0: b2db uxtb r3, r3 80887f2: 2b17 cmp r3, #23 80887f4: f040 80ee bne.w 80889d4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80887f8: 496f ldr r1, [pc, #444] ; (80889b8 ) 80887fa: f04f 30ff mov.w r0, #4294967295 80887fe: f7cc fd05 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8088802: 4b69 ldr r3, [pc, #420] ; (80889a8 ) 8088804: 7b1b ldrb r3, [r3, #12] 8088806: b2db uxtb r3, r3 8088808: 461a mov r2, r3 808880a: 4b70 ldr r3, [pc, #448] ; (80889cc ) 808880c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088810: 461a mov r2, r3 8088812: 2127 movs r1, #39 ; 0x27 8088814: 200a movs r0, #10 8088816: f7cd faa1 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808881a: 4967 ldr r1, [pc, #412] ; (80889b8 ) 808881c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088820: f7cc fcf4 bl 805520c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8088824: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8088828: 461a mov r2, r3 808882a: 215a movs r1, #90 ; 0x5a 808882c: f44f 7082 mov.w r0, #260 ; 0x104 8088830: f7cd faac bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088834: 4960 ldr r1, [pc, #384] ; (80889b8 ) 8088836: 4863 ldr r0, [pc, #396] ; (80889c4 ) 8088838: f7cc fce8 bl 805520c if((pardata.OPTIONS & maskFFT) == okt) 808883c: 4b5a ldr r3, [pc, #360] ; (80889a8 ) 808883e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088842: f003 0330 and.w r3, r3, #48 ; 0x30 8088846: 2b20 cmp r3, #32 8088848: d10e bne.n 8088868 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 808884a: 4b57 ldr r3, [pc, #348] ; (80889a8 ) 808884c: 7b1b ldrb r3, [r3, #12] 808884e: b2db uxtb r3, r3 8088850: 4a56 ldr r2, [pc, #344] ; (80889ac ) 8088852: 011b lsls r3, r3, #4 8088854: 4413 add r3, r2 8088856: 3308 adds r3, #8 8088858: 681b ldr r3, [r3, #0] 808885a: 461a mov r2, r3 808885c: 213a movs r1, #58 ; 0x3a 808885e: f44f 7082 mov.w r0, #260 ; 0x104 8088862: f7cd fa93 bl 8055d8c 8088866: e00d b.n 8088884 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8088868: 4b4f ldr r3, [pc, #316] ; (80889a8 ) 808886a: 7b1b ldrb r3, [r3, #12] 808886c: b2db uxtb r3, r3 808886e: 4a4f ldr r2, [pc, #316] ; (80889ac ) 8088870: 011b lsls r3, r3, #4 8088872: 4413 add r3, r2 8088874: 330c adds r3, #12 8088876: 681b ldr r3, [r3, #0] 8088878: 461a mov r2, r3 808887a: 213a movs r1, #58 ; 0x3a 808887c: f44f 7082 mov.w r0, #260 ; 0x104 8088880: f7cd fa84 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8088884: 4b48 ldr r3, [pc, #288] ; (80889a8 ) 8088886: 7b1b ldrb r3, [r3, #12] 8088888: b2db uxtb r3, r3 808888a: 4618 mov r0, r3 808888c: 4b46 ldr r3, [pc, #280] ; (80889a8 ) 808888e: 785b ldrb r3, [r3, #1] 8088890: b2db uxtb r3, r3 8088892: 005b lsls r3, r3, #1 8088894: 4a44 ldr r2, [pc, #272] ; (80889a8 ) 8088896: 7852 ldrb r2, [r2, #1] 8088898: b2d2 uxtb r2, r2 808889a: 4611 mov r1, r2 808889c: 4a42 ldr r2, [pc, #264] ; (80889a8 ) 808889e: 440a add r2, r1 80888a0: 7892 ldrb r2, [r2, #2] 80888a2: b2d2 uxtb r2, r2 80888a4: 431a orrs r2, r3 80888a6: 494a ldr r1, [pc, #296] ; (80889d0 ) 80888a8: 4603 mov r3, r0 80888aa: 005b lsls r3, r3, #1 80888ac: 4403 add r3, r0 80888ae: 005b lsls r3, r3, #1 80888b0: 4413 add r3, r2 80888b2: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80888b6: 461a mov r2, r3 80888b8: 214a movs r1, #74 ; 0x4a 80888ba: f44f 7082 mov.w r0, #260 ; 0x104 80888be: f7cd fa65 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80888c2: f507 73cc add.w r3, r7, #408 ; 0x198 80888c6: 461a mov r2, r3 80888c8: 216a movs r1, #106 ; 0x6a 80888ca: f44f 7082 mov.w r0, #260 ; 0x104 80888ce: f7cd fa5d bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 80888d2: 4b35 ldr r3, [pc, #212] ; (80889a8 ) 80888d4: 7b1b ldrb r3, [r3, #12] 80888d6: b2db uxtb r3, r3 80888d8: 4618 mov r0, r3 80888da: 4b33 ldr r3, [pc, #204] ; (80889a8 ) 80888dc: 7a9b ldrb r3, [r3, #10] 80888de: b2db uxtb r3, r3 80888e0: 4619 mov r1, r3 80888e2: 4a33 ldr r2, [pc, #204] ; (80889b0 ) 80888e4: 0043 lsls r3, r0, #1 80888e6: 440b add r3, r1 80888e8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80888ec: 461a mov r2, r3 80888ee: 217a movs r1, #122 ; 0x7a 80888f0: f44f 7082 mov.w r0, #260 ; 0x104 80888f4: f7cd fa4a bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 80888f8: 4b2b ldr r3, [pc, #172] ; (80889a8 ) 80888fa: 7b1b ldrb r3, [r3, #12] 80888fc: b2db uxtb r3, r3 80888fe: 4619 mov r1, r3 8088900: 4b29 ldr r3, [pc, #164] ; (80889a8 ) 8088902: 7b5b ldrb r3, [r3, #13] 8088904: b2db uxtb r3, r3 8088906: 4618 mov r0, r3 8088908: 4a2a ldr r2, [pc, #168] ; (80889b4 ) 808890a: 460b mov r3, r1 808890c: 009b lsls r3, r3, #2 808890e: 440b add r3, r1 8088910: 005b lsls r3, r3, #1 8088912: 4403 add r3, r0 8088914: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088918: 461a mov r2, r3 808891a: 218a movs r1, #138 ; 0x8a 808891c: f44f 7082 mov.w r0, #260 ; 0x104 8088920: f7cd fa34 bl 8055d8c if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8088924: 4b20 ldr r3, [pc, #128] ; (80889a8 ) 8088926: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808892a: f003 0304 and.w r3, r3, #4 808892e: 2b00 cmp r3, #0 8088930: f041 8666 bne.w 808a600 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088934: 4920 ldr r1, [pc, #128] ; (80889b8 ) 8088936: f04f 30ff mov.w r0, #4294967295 808893a: f7cc fc67 bl 805520c if(pardata.IIN != VOLTS) 808893e: 4b1a ldr r3, [pc, #104] ; (80889a8 ) 8088940: 799b ldrb r3, [r3, #6] 8088942: b2db uxtb r3, r3 8088944: 2b02 cmp r3, #2 8088946: d010 beq.n 808896a LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8088948: 4b17 ldr r3, [pc, #92] ; (80889a8 ) 808894a: 7b1b ldrb r3, [r3, #12] 808894c: b2db uxtb r3, r3 808894e: 4619 mov r1, r3 8088950: 4a1a ldr r2, [pc, #104] ; (80889bc ) 8088952: 232c movs r3, #44 ; 0x2c 8088954: fb03 f301 mul.w r3, r3, r1 8088958: 4413 add r3, r2 808895a: 3324 adds r3, #36 ; 0x24 808895c: 681b ldr r3, [r3, #0] 808895e: 461a mov r2, r3 8088960: 21aa movs r1, #170 ; 0xaa 8088962: 200a movs r0, #10 8088964: f7cd f9fa bl 8055d5c 8088968: e00f b.n 808898a else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808896a: 4b0f ldr r3, [pc, #60] ; (80889a8 ) 808896c: 7b1b ldrb r3, [r3, #12] 808896e: b2db uxtb r3, r3 8088970: 4619 mov r1, r3 8088972: 4a13 ldr r2, [pc, #76] ; (80889c0 ) 8088974: 232c movs r3, #44 ; 0x2c 8088976: fb03 f301 mul.w r3, r3, r1 808897a: 4413 add r3, r2 808897c: 3324 adds r3, #36 ; 0x24 808897e: 681b ldr r3, [r3, #0] 8088980: 461a mov r2, r3 8088982: 21aa movs r1, #170 ; 0xaa 8088984: 200a movs r0, #10 8088986: f7cd f9e9 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808898a: 490b ldr r1, [pc, #44] ; (80889b8 ) 808898c: 480d ldr r0, [pc, #52] ; (80889c4 ) 808898e: f7cc fc3d bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, str); 8088992: f507 733b add.w r3, r7, #748 ; 0x2ec 8088996: 461a mov r2, r3 8088998: 21aa movs r1, #170 ; 0xaa 808899a: f44f 7082 mov.w r0, #260 ; 0x104 808899e: f7cd f9f5 bl 8055d8c 80889a2: f001 be2d b.w 808a600 80889a6: bf00 nop 80889a8: 20023eb8 .word 0x20023eb8 80889ac: 200202a4 .word 0x200202a4 80889b0: 2002021c .word 0x2002021c 80889b4: 20020254 .word 0x20020254 80889b8: ff0a0f1f .word 0xff0a0f1f 80889bc: 200206bc .word 0x200206bc 80889c0: 20020714 .word 0x20020714 80889c4: ffd8aa57 .word 0xffd8aa57 80889c8: 20020070 .word 0x20020070 80889cc: 200205cc .word 0x200205cc 80889d0: 200201a4 .word 0x200201a4 if(menupos == FilterLP) 80889d4: 4ba1 ldr r3, [pc, #644] ; (8088c5c ) 80889d6: 781b ldrb r3, [r3, #0] 80889d8: b2db uxtb r3, r3 80889da: 2b18 cmp r3, #24 80889dc: f040 80d7 bne.w 8088b8e LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80889e0: 499f ldr r1, [pc, #636] ; (8088c60 ) 80889e2: f04f 30ff mov.w r0, #4294967295 80889e6: f7cc fc11 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80889ea: 4b9e ldr r3, [pc, #632] ; (8088c64 ) 80889ec: 7b1b ldrb r3, [r3, #12] 80889ee: b2db uxtb r3, r3 80889f0: 461a mov r2, r3 80889f2: 4b9d ldr r3, [pc, #628] ; (8088c68 ) 80889f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80889f8: 461a mov r2, r3 80889fa: 2127 movs r1, #39 ; 0x27 80889fc: 200a movs r0, #10 80889fe: f7cd f9ad bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088a02: 4997 ldr r1, [pc, #604] ; (8088c60 ) 8088a04: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088a08: f7cc fc00 bl 805520c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8088a0c: f507 73cc add.w r3, r7, #408 ; 0x198 8088a10: 461a mov r2, r3 8088a12: 216a movs r1, #106 ; 0x6a 8088a14: f44f 7082 mov.w r0, #260 ; 0x104 8088a18: f7cd f9b8 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088a1c: 4990 ldr r1, [pc, #576] ; (8088c60 ) 8088a1e: 4893 ldr r0, [pc, #588] ; (8088c6c ) 8088a20: f7cc fbf4 bl 805520c if((pardata.OPTIONS & maskFFT) == okt) 8088a24: 4b8f ldr r3, [pc, #572] ; (8088c64 ) 8088a26: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088a2a: f003 0330 and.w r3, r3, #48 ; 0x30 8088a2e: 2b20 cmp r3, #32 8088a30: d10e bne.n 8088a50 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8088a32: 4b8c ldr r3, [pc, #560] ; (8088c64 ) 8088a34: 7b1b ldrb r3, [r3, #12] 8088a36: b2db uxtb r3, r3 8088a38: 4a8d ldr r2, [pc, #564] ; (8088c70 ) 8088a3a: 011b lsls r3, r3, #4 8088a3c: 4413 add r3, r2 8088a3e: 3308 adds r3, #8 8088a40: 681b ldr r3, [r3, #0] 8088a42: 461a mov r2, r3 8088a44: 213a movs r1, #58 ; 0x3a 8088a46: f44f 7082 mov.w r0, #260 ; 0x104 8088a4a: f7cd f99f bl 8055d8c 8088a4e: e00d b.n 8088a6c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8088a50: 4b84 ldr r3, [pc, #528] ; (8088c64 ) 8088a52: 7b1b ldrb r3, [r3, #12] 8088a54: b2db uxtb r3, r3 8088a56: 4a86 ldr r2, [pc, #536] ; (8088c70 ) 8088a58: 011b lsls r3, r3, #4 8088a5a: 4413 add r3, r2 8088a5c: 330c adds r3, #12 8088a5e: 681b ldr r3, [r3, #0] 8088a60: 461a mov r2, r3 8088a62: 213a movs r1, #58 ; 0x3a 8088a64: f44f 7082 mov.w r0, #260 ; 0x104 8088a68: f7cd f990 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8088a6c: 4b7d ldr r3, [pc, #500] ; (8088c64 ) 8088a6e: 7b1b ldrb r3, [r3, #12] 8088a70: b2db uxtb r3, r3 8088a72: 4618 mov r0, r3 8088a74: 4b7b ldr r3, [pc, #492] ; (8088c64 ) 8088a76: 785b ldrb r3, [r3, #1] 8088a78: b2db uxtb r3, r3 8088a7a: 005b lsls r3, r3, #1 8088a7c: 4a79 ldr r2, [pc, #484] ; (8088c64 ) 8088a7e: 7852 ldrb r2, [r2, #1] 8088a80: b2d2 uxtb r2, r2 8088a82: 4611 mov r1, r2 8088a84: 4a77 ldr r2, [pc, #476] ; (8088c64 ) 8088a86: 440a add r2, r1 8088a88: 7892 ldrb r2, [r2, #2] 8088a8a: b2d2 uxtb r2, r2 8088a8c: 431a orrs r2, r3 8088a8e: 4979 ldr r1, [pc, #484] ; (8088c74 ) 8088a90: 4603 mov r3, r0 8088a92: 005b lsls r3, r3, #1 8088a94: 4403 add r3, r0 8088a96: 005b lsls r3, r3, #1 8088a98: 4413 add r3, r2 8088a9a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8088a9e: 461a mov r2, r3 8088aa0: 214a movs r1, #74 ; 0x4a 8088aa2: f44f 7082 mov.w r0, #260 ; 0x104 8088aa6: f7cd f971 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8088aaa: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8088aae: 461a mov r2, r3 8088ab0: 215a movs r1, #90 ; 0x5a 8088ab2: f44f 7082 mov.w r0, #260 ; 0x104 8088ab6: f7cd f969 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8088aba: 4b6a ldr r3, [pc, #424] ; (8088c64 ) 8088abc: 7b1b ldrb r3, [r3, #12] 8088abe: b2db uxtb r3, r3 8088ac0: 4618 mov r0, r3 8088ac2: 4b68 ldr r3, [pc, #416] ; (8088c64 ) 8088ac4: 7a9b ldrb r3, [r3, #10] 8088ac6: b2db uxtb r3, r3 8088ac8: 4619 mov r1, r3 8088aca: 4a6b ldr r2, [pc, #428] ; (8088c78 ) 8088acc: 0043 lsls r3, r0, #1 8088ace: 440b add r3, r1 8088ad0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088ad4: 461a mov r2, r3 8088ad6: 217a movs r1, #122 ; 0x7a 8088ad8: f44f 7082 mov.w r0, #260 ; 0x104 8088adc: f7cd f956 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8088ae0: 4b60 ldr r3, [pc, #384] ; (8088c64 ) 8088ae2: 7b1b ldrb r3, [r3, #12] 8088ae4: b2db uxtb r3, r3 8088ae6: 4619 mov r1, r3 8088ae8: 4b5e ldr r3, [pc, #376] ; (8088c64 ) 8088aea: 7b5b ldrb r3, [r3, #13] 8088aec: b2db uxtb r3, r3 8088aee: 4618 mov r0, r3 8088af0: 4a62 ldr r2, [pc, #392] ; (8088c7c ) 8088af2: 460b mov r3, r1 8088af4: 009b lsls r3, r3, #2 8088af6: 440b add r3, r1 8088af8: 005b lsls r3, r3, #1 8088afa: 4403 add r3, r0 8088afc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088b00: 461a mov r2, r3 8088b02: 218a movs r1, #138 ; 0x8a 8088b04: f44f 7082 mov.w r0, #260 ; 0x104 8088b08: f7cd f940 bl 8055d8c if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8088b0c: 4b55 ldr r3, [pc, #340] ; (8088c64 ) 8088b0e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088b12: f003 0304 and.w r3, r3, #4 8088b16: 2b00 cmp r3, #0 8088b18: f041 8572 bne.w 808a600 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088b1c: 4950 ldr r1, [pc, #320] ; (8088c60 ) 8088b1e: f04f 30ff mov.w r0, #4294967295 8088b22: f7cc fb73 bl 805520c if(pardata.IIN != VOLTS) 8088b26: 4b4f ldr r3, [pc, #316] ; (8088c64 ) 8088b28: 799b ldrb r3, [r3, #6] 8088b2a: b2db uxtb r3, r3 8088b2c: 2b02 cmp r3, #2 8088b2e: d010 beq.n 8088b52 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8088b30: 4b4c ldr r3, [pc, #304] ; (8088c64 ) 8088b32: 7b1b ldrb r3, [r3, #12] 8088b34: b2db uxtb r3, r3 8088b36: 4619 mov r1, r3 8088b38: 4a51 ldr r2, [pc, #324] ; (8088c80 ) 8088b3a: 232c movs r3, #44 ; 0x2c 8088b3c: fb03 f301 mul.w r3, r3, r1 8088b40: 4413 add r3, r2 8088b42: 3324 adds r3, #36 ; 0x24 8088b44: 681b ldr r3, [r3, #0] 8088b46: 461a mov r2, r3 8088b48: 21aa movs r1, #170 ; 0xaa 8088b4a: 200a movs r0, #10 8088b4c: f7cd f906 bl 8055d5c 8088b50: e00f b.n 8088b72 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8088b52: 4b44 ldr r3, [pc, #272] ; (8088c64 ) 8088b54: 7b1b ldrb r3, [r3, #12] 8088b56: b2db uxtb r3, r3 8088b58: 4619 mov r1, r3 8088b5a: 4a4a ldr r2, [pc, #296] ; (8088c84 ) 8088b5c: 232c movs r3, #44 ; 0x2c 8088b5e: fb03 f301 mul.w r3, r3, r1 8088b62: 4413 add r3, r2 8088b64: 3324 adds r3, #36 ; 0x24 8088b66: 681b ldr r3, [r3, #0] 8088b68: 461a mov r2, r3 8088b6a: 21aa movs r1, #170 ; 0xaa 8088b6c: 200a movs r0, #10 8088b6e: f7cd f8f5 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088b72: 493b ldr r1, [pc, #236] ; (8088c60 ) 8088b74: 483d ldr r0, [pc, #244] ; (8088c6c ) 8088b76: f7cc fb49 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, str); 8088b7a: f507 733b add.w r3, r7, #748 ; 0x2ec 8088b7e: 461a mov r2, r3 8088b80: 21aa movs r1, #170 ; 0xaa 8088b82: f44f 7082 mov.w r0, #260 ; 0x104 8088b86: f7cd f901 bl 8055d8c 8088b8a: f001 bd39 b.w 808a600 if(menupos == LinLog) 8088b8e: 4b33 ldr r3, [pc, #204] ; (8088c5c ) 8088b90: 781b ldrb r3, [r3, #0] 8088b92: b2db uxtb r3, r3 8088b94: 2b05 cmp r3, #5 8088b96: f040 810f bne.w 8088db8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088b9a: 4931 ldr r1, [pc, #196] ; (8088c60 ) 8088b9c: f04f 30ff mov.w r0, #4294967295 8088ba0: f7cc fb34 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8088ba4: 4b2f ldr r3, [pc, #188] ; (8088c64 ) 8088ba6: 7b1b ldrb r3, [r3, #12] 8088ba8: b2db uxtb r3, r3 8088baa: 461a mov r2, r3 8088bac: 4b2e ldr r3, [pc, #184] ; (8088c68 ) 8088bae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088bb2: 461a mov r2, r3 8088bb4: 2127 movs r1, #39 ; 0x27 8088bb6: 200a movs r0, #10 8088bb8: f7cd f8d0 bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088bbc: 4928 ldr r1, [pc, #160] ; (8088c60 ) 8088bbe: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088bc2: f7cc fb23 bl 805520c if(focused) 8088bc6: 4b30 ldr r3, [pc, #192] ; (8088c88 ) 8088bc8: 781b ldrb r3, [r3, #0] 8088bca: b2db uxtb r3, r3 8088bcc: 2b00 cmp r3, #0 8088bce: d017 beq.n 8088c00 if(blk) 8088bd0: 4b2e ldr r3, [pc, #184] ; (8088c8c ) 8088bd2: 681b ldr r3, [r3, #0] 8088bd4: 2b00 cmp r3, #0 8088bd6: d026 beq.n 8088c26 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8088bd8: 4b22 ldr r3, [pc, #136] ; (8088c64 ) 8088bda: 7b1b ldrb r3, [r3, #12] 8088bdc: b2db uxtb r3, r3 8088bde: 4618 mov r0, r3 8088be0: 4b20 ldr r3, [pc, #128] ; (8088c64 ) 8088be2: 7a9b ldrb r3, [r3, #10] 8088be4: b2db uxtb r3, r3 8088be6: 4619 mov r1, r3 8088be8: 4a23 ldr r2, [pc, #140] ; (8088c78 ) 8088bea: 0043 lsls r3, r0, #1 8088bec: 440b add r3, r1 8088bee: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088bf2: 461a mov r2, r3 8088bf4: 217a movs r1, #122 ; 0x7a 8088bf6: f44f 7082 mov.w r0, #260 ; 0x104 8088bfa: f7cd f8c7 bl 8055d8c 8088bfe: e012 b.n 8088c26 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8088c00: 4b18 ldr r3, [pc, #96] ; (8088c64 ) 8088c02: 7b1b ldrb r3, [r3, #12] 8088c04: b2db uxtb r3, r3 8088c06: 4618 mov r0, r3 8088c08: 4b16 ldr r3, [pc, #88] ; (8088c64 ) 8088c0a: 7a9b ldrb r3, [r3, #10] 8088c0c: b2db uxtb r3, r3 8088c0e: 4619 mov r1, r3 8088c10: 4a19 ldr r2, [pc, #100] ; (8088c78 ) 8088c12: 0043 lsls r3, r0, #1 8088c14: 440b add r3, r1 8088c16: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088c1a: 461a mov r2, r3 8088c1c: 217a movs r1, #122 ; 0x7a 8088c1e: f44f 7082 mov.w r0, #260 ; 0x104 8088c22: f7cd f8b3 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088c26: 490e ldr r1, [pc, #56] ; (8088c60 ) 8088c28: 4810 ldr r0, [pc, #64] ; (8088c6c ) 8088c2a: f7cc faef bl 805520c if((pardata.OPTIONS & maskFFT) == okt) 8088c2e: 4b0d ldr r3, [pc, #52] ; (8088c64 ) 8088c30: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088c34: f003 0330 and.w r3, r3, #48 ; 0x30 8088c38: 2b20 cmp r3, #32 8088c3a: d129 bne.n 8088c90 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8088c3c: 4b09 ldr r3, [pc, #36] ; (8088c64 ) 8088c3e: 7b1b ldrb r3, [r3, #12] 8088c40: b2db uxtb r3, r3 8088c42: 4a0b ldr r2, [pc, #44] ; (8088c70 ) 8088c44: 011b lsls r3, r3, #4 8088c46: 4413 add r3, r2 8088c48: 3308 adds r3, #8 8088c4a: 681b ldr r3, [r3, #0] 8088c4c: 461a mov r2, r3 8088c4e: 213a movs r1, #58 ; 0x3a 8088c50: f44f 7082 mov.w r0, #260 ; 0x104 8088c54: f7cd f89a bl 8055d8c 8088c58: e028 b.n 8088cac 8088c5a: bf00 nop 8088c5c: 20020070 .word 0x20020070 8088c60: ff0a0f1f .word 0xff0a0f1f 8088c64: 20023eb8 .word 0x20023eb8 8088c68: 200205cc .word 0x200205cc 8088c6c: ffd8aa57 .word 0xffd8aa57 8088c70: 200202a4 .word 0x200202a4 8088c74: 200201a4 .word 0x200201a4 8088c78: 2002021c .word 0x2002021c 8088c7c: 20020254 .word 0x20020254 8088c80: 200206bc .word 0x200206bc 8088c84: 20020714 .word 0x20020714 8088c88: 20020fd0 .word 0x20020fd0 8088c8c: 200216ac .word 0x200216ac else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8088c90: 4bc8 ldr r3, [pc, #800] ; (8088fb4 ) 8088c92: 7b1b ldrb r3, [r3, #12] 8088c94: b2db uxtb r3, r3 8088c96: 4ac8 ldr r2, [pc, #800] ; (8088fb8 ) 8088c98: 011b lsls r3, r3, #4 8088c9a: 4413 add r3, r2 8088c9c: 330c adds r3, #12 8088c9e: 681b ldr r3, [r3, #0] 8088ca0: 461a mov r2, r3 8088ca2: 213a movs r1, #58 ; 0x3a 8088ca4: f44f 7082 mov.w r0, #260 ; 0x104 8088ca8: f7cd f870 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8088cac: 4bc1 ldr r3, [pc, #772] ; (8088fb4 ) 8088cae: 7b1b ldrb r3, [r3, #12] 8088cb0: b2db uxtb r3, r3 8088cb2: 4618 mov r0, r3 8088cb4: 4bbf ldr r3, [pc, #764] ; (8088fb4 ) 8088cb6: 785b ldrb r3, [r3, #1] 8088cb8: b2db uxtb r3, r3 8088cba: 005b lsls r3, r3, #1 8088cbc: 4abd ldr r2, [pc, #756] ; (8088fb4 ) 8088cbe: 7852 ldrb r2, [r2, #1] 8088cc0: b2d2 uxtb r2, r2 8088cc2: 4611 mov r1, r2 8088cc4: 4abb ldr r2, [pc, #748] ; (8088fb4 ) 8088cc6: 440a add r2, r1 8088cc8: 7892 ldrb r2, [r2, #2] 8088cca: b2d2 uxtb r2, r2 8088ccc: 431a orrs r2, r3 8088cce: 49bb ldr r1, [pc, #748] ; (8088fbc ) 8088cd0: 4603 mov r3, r0 8088cd2: 005b lsls r3, r3, #1 8088cd4: 4403 add r3, r0 8088cd6: 005b lsls r3, r3, #1 8088cd8: 4413 add r3, r2 8088cda: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8088cde: 461a mov r2, r3 8088ce0: 214a movs r1, #74 ; 0x4a 8088ce2: f44f 7082 mov.w r0, #260 ; 0x104 8088ce6: f7cd f851 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8088cea: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8088cee: 461a mov r2, r3 8088cf0: 215a movs r1, #90 ; 0x5a 8088cf2: f44f 7082 mov.w r0, #260 ; 0x104 8088cf6: f7cd f849 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8088cfa: f507 73cc add.w r3, r7, #408 ; 0x198 8088cfe: 461a mov r2, r3 8088d00: 216a movs r1, #106 ; 0x6a 8088d02: f44f 7082 mov.w r0, #260 ; 0x104 8088d06: f7cd f841 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8088d0a: 4baa ldr r3, [pc, #680] ; (8088fb4 ) 8088d0c: 7b1b ldrb r3, [r3, #12] 8088d0e: b2db uxtb r3, r3 8088d10: 4619 mov r1, r3 8088d12: 4ba8 ldr r3, [pc, #672] ; (8088fb4 ) 8088d14: 7b5b ldrb r3, [r3, #13] 8088d16: b2db uxtb r3, r3 8088d18: 4618 mov r0, r3 8088d1a: 4aa9 ldr r2, [pc, #676] ; (8088fc0 ) 8088d1c: 460b mov r3, r1 8088d1e: 009b lsls r3, r3, #2 8088d20: 440b add r3, r1 8088d22: 005b lsls r3, r3, #1 8088d24: 4403 add r3, r0 8088d26: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088d2a: 461a mov r2, r3 8088d2c: 218a movs r1, #138 ; 0x8a 8088d2e: f44f 7082 mov.w r0, #260 ; 0x104 8088d32: f7cd f82b bl 8055d8c if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8088d36: 4b9f ldr r3, [pc, #636] ; (8088fb4 ) 8088d38: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088d3c: f003 0304 and.w r3, r3, #4 8088d40: 2b00 cmp r3, #0 8088d42: f041 845d bne.w 808a600 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088d46: 499f ldr r1, [pc, #636] ; (8088fc4 ) 8088d48: f04f 30ff mov.w r0, #4294967295 8088d4c: f7cc fa5e bl 805520c if(pardata.IIN != VOLTS) 8088d50: 4b98 ldr r3, [pc, #608] ; (8088fb4 ) 8088d52: 799b ldrb r3, [r3, #6] 8088d54: b2db uxtb r3, r3 8088d56: 2b02 cmp r3, #2 8088d58: d010 beq.n 8088d7c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8088d5a: 4b96 ldr r3, [pc, #600] ; (8088fb4 ) 8088d5c: 7b1b ldrb r3, [r3, #12] 8088d5e: b2db uxtb r3, r3 8088d60: 4619 mov r1, r3 8088d62: 4a99 ldr r2, [pc, #612] ; (8088fc8 ) 8088d64: 232c movs r3, #44 ; 0x2c 8088d66: fb03 f301 mul.w r3, r3, r1 8088d6a: 4413 add r3, r2 8088d6c: 3324 adds r3, #36 ; 0x24 8088d6e: 681b ldr r3, [r3, #0] 8088d70: 461a mov r2, r3 8088d72: 21aa movs r1, #170 ; 0xaa 8088d74: 200a movs r0, #10 8088d76: f7cc fff1 bl 8055d5c 8088d7a: e00f b.n 8088d9c else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8088d7c: 4b8d ldr r3, [pc, #564] ; (8088fb4 ) 8088d7e: 7b1b ldrb r3, [r3, #12] 8088d80: b2db uxtb r3, r3 8088d82: 4619 mov r1, r3 8088d84: 4a91 ldr r2, [pc, #580] ; (8088fcc ) 8088d86: 232c movs r3, #44 ; 0x2c 8088d88: fb03 f301 mul.w r3, r3, r1 8088d8c: 4413 add r3, r2 8088d8e: 3324 adds r3, #36 ; 0x24 8088d90: 681b ldr r3, [r3, #0] 8088d92: 461a mov r2, r3 8088d94: 21aa movs r1, #170 ; 0xaa 8088d96: 200a movs r0, #10 8088d98: f7cc ffe0 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088d9c: 4989 ldr r1, [pc, #548] ; (8088fc4 ) 8088d9e: 488c ldr r0, [pc, #560] ; (8088fd0 ) 8088da0: f7cc fa34 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, str); 8088da4: f507 733b add.w r3, r7, #748 ; 0x2ec 8088da8: 461a mov r2, r3 8088daa: 21aa movs r1, #170 ; 0xaa 8088dac: f44f 7082 mov.w r0, #260 ; 0x104 8088db0: f7cc ffec bl 8055d8c 8088db4: f001 bc24 b.w 808a600 if(menupos == SAverage) 8088db8: 4b86 ldr r3, [pc, #536] ; (8088fd4 ) 8088dba: 781b ldrb r3, [r3, #0] 8088dbc: b2db uxtb r3, r3 8088dbe: 2b07 cmp r3, #7 8088dc0: f040 8112 bne.w 8088fe8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088dc4: 497f ldr r1, [pc, #508] ; (8088fc4 ) 8088dc6: f04f 30ff mov.w r0, #4294967295 8088dca: f7cc fa1f bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8088dce: 4b79 ldr r3, [pc, #484] ; (8088fb4 ) 8088dd0: 7b1b ldrb r3, [r3, #12] 8088dd2: b2db uxtb r3, r3 8088dd4: 461a mov r2, r3 8088dd6: 4b80 ldr r3, [pc, #512] ; (8088fd8 ) 8088dd8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088ddc: 461a mov r2, r3 8088dde: 2127 movs r1, #39 ; 0x27 8088de0: 200a movs r0, #10 8088de2: f7cc ffbb bl 8055d5c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088de6: 4977 ldr r1, [pc, #476] ; (8088fc4 ) 8088de8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088dec: f7cc fa0e bl 805520c if(focused) 8088df0: 4b7a ldr r3, [pc, #488] ; (8088fdc ) 8088df2: 781b ldrb r3, [r3, #0] 8088df4: b2db uxtb r3, r3 8088df6: 2b00 cmp r3, #0 8088df8: d01a beq.n 8088e30 if(blk) 8088dfa: 4b79 ldr r3, [pc, #484] ; (8088fe0 ) 8088dfc: 681b ldr r3, [r3, #0] 8088dfe: 2b00 cmp r3, #0 8088e00: d02c beq.n 8088e5c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8088e02: 4b6c ldr r3, [pc, #432] ; (8088fb4 ) 8088e04: 7b1b ldrb r3, [r3, #12] 8088e06: b2db uxtb r3, r3 8088e08: 4619 mov r1, r3 8088e0a: 4b6a ldr r3, [pc, #424] ; (8088fb4 ) 8088e0c: 7b5b ldrb r3, [r3, #13] 8088e0e: b2db uxtb r3, r3 8088e10: 4618 mov r0, r3 8088e12: 4a6b ldr r2, [pc, #428] ; (8088fc0 ) 8088e14: 460b mov r3, r1 8088e16: 009b lsls r3, r3, #2 8088e18: 440b add r3, r1 8088e1a: 005b lsls r3, r3, #1 8088e1c: 4403 add r3, r0 8088e1e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088e22: 461a mov r2, r3 8088e24: 218a movs r1, #138 ; 0x8a 8088e26: f44f 7082 mov.w r0, #260 ; 0x104 8088e2a: f7cc ffaf bl 8055d8c 8088e2e: e015 b.n 8088e5c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8088e30: 4b60 ldr r3, [pc, #384] ; (8088fb4 ) 8088e32: 7b1b ldrb r3, [r3, #12] 8088e34: b2db uxtb r3, r3 8088e36: 4619 mov r1, r3 8088e38: 4b5e ldr r3, [pc, #376] ; (8088fb4 ) 8088e3a: 7b5b ldrb r3, [r3, #13] 8088e3c: b2db uxtb r3, r3 8088e3e: 4618 mov r0, r3 8088e40: 4a5f ldr r2, [pc, #380] ; (8088fc0 ) 8088e42: 460b mov r3, r1 8088e44: 009b lsls r3, r3, #2 8088e46: 440b add r3, r1 8088e48: 005b lsls r3, r3, #1 8088e4a: 4403 add r3, r0 8088e4c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088e50: 461a mov r2, r3 8088e52: 218a movs r1, #138 ; 0x8a 8088e54: f44f 7082 mov.w r0, #260 ; 0x104 8088e58: f7cc ff98 bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088e5c: 4959 ldr r1, [pc, #356] ; (8088fc4 ) 8088e5e: 485c ldr r0, [pc, #368] ; (8088fd0 ) 8088e60: f7cc f9d4 bl 805520c if((pardata.OPTIONS & maskFFT) == okt) 8088e64: 4b53 ldr r3, [pc, #332] ; (8088fb4 ) 8088e66: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088e6a: f003 0330 and.w r3, r3, #48 ; 0x30 8088e6e: 2b20 cmp r3, #32 8088e70: d10e bne.n 8088e90 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8088e72: 4b50 ldr r3, [pc, #320] ; (8088fb4 ) 8088e74: 7b1b ldrb r3, [r3, #12] 8088e76: b2db uxtb r3, r3 8088e78: 4a4f ldr r2, [pc, #316] ; (8088fb8 ) 8088e7a: 011b lsls r3, r3, #4 8088e7c: 4413 add r3, r2 8088e7e: 3308 adds r3, #8 8088e80: 681b ldr r3, [r3, #0] 8088e82: 461a mov r2, r3 8088e84: 213a movs r1, #58 ; 0x3a 8088e86: f44f 7082 mov.w r0, #260 ; 0x104 8088e8a: f7cc ff7f bl 8055d8c 8088e8e: e00d b.n 8088eac else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8088e90: 4b48 ldr r3, [pc, #288] ; (8088fb4 ) 8088e92: 7b1b ldrb r3, [r3, #12] 8088e94: b2db uxtb r3, r3 8088e96: 4a48 ldr r2, [pc, #288] ; (8088fb8 ) 8088e98: 011b lsls r3, r3, #4 8088e9a: 4413 add r3, r2 8088e9c: 330c adds r3, #12 8088e9e: 681b ldr r3, [r3, #0] 8088ea0: 461a mov r2, r3 8088ea2: 213a movs r1, #58 ; 0x3a 8088ea4: f44f 7082 mov.w r0, #260 ; 0x104 8088ea8: f7cc ff70 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8088eac: 4b41 ldr r3, [pc, #260] ; (8088fb4 ) 8088eae: 7b1b ldrb r3, [r3, #12] 8088eb0: b2db uxtb r3, r3 8088eb2: 4618 mov r0, r3 8088eb4: 4b3f ldr r3, [pc, #252] ; (8088fb4 ) 8088eb6: 785b ldrb r3, [r3, #1] 8088eb8: b2db uxtb r3, r3 8088eba: 005b lsls r3, r3, #1 8088ebc: 4a3d ldr r2, [pc, #244] ; (8088fb4 ) 8088ebe: 7852 ldrb r2, [r2, #1] 8088ec0: b2d2 uxtb r2, r2 8088ec2: 4611 mov r1, r2 8088ec4: 4a3b ldr r2, [pc, #236] ; (8088fb4 ) 8088ec6: 440a add r2, r1 8088ec8: 7892 ldrb r2, [r2, #2] 8088eca: b2d2 uxtb r2, r2 8088ecc: 431a orrs r2, r3 8088ece: 493b ldr r1, [pc, #236] ; (8088fbc ) 8088ed0: 4603 mov r3, r0 8088ed2: 005b lsls r3, r3, #1 8088ed4: 4403 add r3, r0 8088ed6: 005b lsls r3, r3, #1 8088ed8: 4413 add r3, r2 8088eda: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8088ede: 461a mov r2, r3 8088ee0: 214a movs r1, #74 ; 0x4a 8088ee2: f44f 7082 mov.w r0, #260 ; 0x104 8088ee6: f7cc ff51 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8088eea: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8088eee: 461a mov r2, r3 8088ef0: 215a movs r1, #90 ; 0x5a 8088ef2: f44f 7082 mov.w r0, #260 ; 0x104 8088ef6: f7cc ff49 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8088efa: f507 73cc add.w r3, r7, #408 ; 0x198 8088efe: 461a mov r2, r3 8088f00: 216a movs r1, #106 ; 0x6a 8088f02: f44f 7082 mov.w r0, #260 ; 0x104 8088f06: f7cc ff41 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8088f0a: 4b2a ldr r3, [pc, #168] ; (8088fb4 ) 8088f0c: 7b1b ldrb r3, [r3, #12] 8088f0e: b2db uxtb r3, r3 8088f10: 4618 mov r0, r3 8088f12: 4b28 ldr r3, [pc, #160] ; (8088fb4 ) 8088f14: 7a9b ldrb r3, [r3, #10] 8088f16: b2db uxtb r3, r3 8088f18: 4619 mov r1, r3 8088f1a: 4a32 ldr r2, [pc, #200] ; (8088fe4 ) 8088f1c: 0043 lsls r3, r0, #1 8088f1e: 440b add r3, r1 8088f20: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088f24: 461a mov r2, r3 8088f26: 217a movs r1, #122 ; 0x7a 8088f28: f44f 7082 mov.w r0, #260 ; 0x104 8088f2c: f7cc ff2e bl 8055d8c if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8088f30: 4b20 ldr r3, [pc, #128] ; (8088fb4 ) 8088f32: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088f36: f003 0304 and.w r3, r3, #4 8088f3a: 2b00 cmp r3, #0 8088f3c: f041 8360 bne.w 808a600 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088f40: 4920 ldr r1, [pc, #128] ; (8088fc4 ) 8088f42: f04f 30ff mov.w r0, #4294967295 8088f46: f7cc f961 bl 805520c if(pardata.IIN != VOLTS) 8088f4a: 4b1a ldr r3, [pc, #104] ; (8088fb4 ) 8088f4c: 799b ldrb r3, [r3, #6] 8088f4e: b2db uxtb r3, r3 8088f50: 2b02 cmp r3, #2 8088f52: d010 beq.n 8088f76 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8088f54: 4b17 ldr r3, [pc, #92] ; (8088fb4 ) 8088f56: 7b1b ldrb r3, [r3, #12] 8088f58: b2db uxtb r3, r3 8088f5a: 4619 mov r1, r3 8088f5c: 4a1a ldr r2, [pc, #104] ; (8088fc8 ) 8088f5e: 232c movs r3, #44 ; 0x2c 8088f60: fb03 f301 mul.w r3, r3, r1 8088f64: 4413 add r3, r2 8088f66: 3324 adds r3, #36 ; 0x24 8088f68: 681b ldr r3, [r3, #0] 8088f6a: 461a mov r2, r3 8088f6c: 21aa movs r1, #170 ; 0xaa 8088f6e: 200a movs r0, #10 8088f70: f7cc fef4 bl 8055d5c 8088f74: e00f b.n 8088f96 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8088f76: 4b0f ldr r3, [pc, #60] ; (8088fb4 ) 8088f78: 7b1b ldrb r3, [r3, #12] 8088f7a: b2db uxtb r3, r3 8088f7c: 4619 mov r1, r3 8088f7e: 4a13 ldr r2, [pc, #76] ; (8088fcc ) 8088f80: 232c movs r3, #44 ; 0x2c 8088f82: fb03 f301 mul.w r3, r3, r1 8088f86: 4413 add r3, r2 8088f88: 3324 adds r3, #36 ; 0x24 8088f8a: 681b ldr r3, [r3, #0] 8088f8c: 461a mov r2, r3 8088f8e: 21aa movs r1, #170 ; 0xaa 8088f90: 200a movs r0, #10 8088f92: f7cc fee3 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088f96: 490b ldr r1, [pc, #44] ; (8088fc4 ) 8088f98: 480d ldr r0, [pc, #52] ; (8088fd0 ) 8088f9a: f7cc f937 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, str); 8088f9e: f507 733b add.w r3, r7, #748 ; 0x2ec 8088fa2: 461a mov r2, r3 8088fa4: 21aa movs r1, #170 ; 0xaa 8088fa6: f44f 7082 mov.w r0, #260 ; 0x104 8088faa: f7cc feef bl 8055d8c 8088fae: f001 bb27 b.w 808a600 8088fb2: bf00 nop 8088fb4: 20023eb8 .word 0x20023eb8 8088fb8: 200202a4 .word 0x200202a4 8088fbc: 200201a4 .word 0x200201a4 8088fc0: 20020254 .word 0x20020254 8088fc4: ff0a0f1f .word 0xff0a0f1f 8088fc8: 200206bc .word 0x200206bc 8088fcc: 20020714 .word 0x20020714 8088fd0: ffd8aa57 .word 0xffd8aa57 8088fd4: 20020070 .word 0x20020070 8088fd8: 200205cc .word 0x200205cc 8088fdc: 20020fd0 .word 0x20020fd0 8088fe0: 200216ac .word 0x200216ac 8088fe4: 2002021c .word 0x2002021c if(menupos == VibAutoKu) 8088fe8: 4b8f ldr r3, [pc, #572] ; (8089228 ) 8088fea: 781b ldrb r3, [r3, #0] 8088fec: b2db uxtb r3, r3 8088fee: 2b08 cmp r3, #8 8088ff0: f040 80e8 bne.w 80891c4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088ff4: 498d ldr r1, [pc, #564] ; (808922c ) 8088ff6: f04f 30ff mov.w r0, #4294967295 8088ffa: f7cc f907 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8088ffe: 4b8c ldr r3, [pc, #560] ; (8089230 ) 8089000: 7b1b ldrb r3, [r3, #12] 8089002: b2db uxtb r3, r3 8089004: 461a mov r2, r3 8089006: 4b8b ldr r3, [pc, #556] ; (8089234 ) 8089008: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808900c: 461a mov r2, r3 808900e: 2127 movs r1, #39 ; 0x27 8089010: 200a movs r0, #10 8089012: f7cc fea3 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089016: 4985 ldr r1, [pc, #532] ; (808922c ) 8089018: 4887 ldr r0, [pc, #540] ; (8089238 ) 808901a: f7cc f8f7 bl 805520c if((pardata.OPTIONS & maskFFT) == okt) 808901e: 4b84 ldr r3, [pc, #528] ; (8089230 ) 8089020: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8089024: f003 0330 and.w r3, r3, #48 ; 0x30 8089028: 2b20 cmp r3, #32 808902a: d10e bne.n 808904a LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 808902c: 4b80 ldr r3, [pc, #512] ; (8089230 ) 808902e: 7b1b ldrb r3, [r3, #12] 8089030: b2db uxtb r3, r3 8089032: 4a82 ldr r2, [pc, #520] ; (808923c ) 8089034: 011b lsls r3, r3, #4 8089036: 4413 add r3, r2 8089038: 3308 adds r3, #8 808903a: 681b ldr r3, [r3, #0] 808903c: 461a mov r2, r3 808903e: 213a movs r1, #58 ; 0x3a 8089040: f44f 7082 mov.w r0, #260 ; 0x104 8089044: f7cc fea2 bl 8055d8c 8089048: e00d b.n 8089066 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 808904a: 4b79 ldr r3, [pc, #484] ; (8089230 ) 808904c: 7b1b ldrb r3, [r3, #12] 808904e: b2db uxtb r3, r3 8089050: 4a7a ldr r2, [pc, #488] ; (808923c ) 8089052: 011b lsls r3, r3, #4 8089054: 4413 add r3, r2 8089056: 330c adds r3, #12 8089058: 681b ldr r3, [r3, #0] 808905a: 461a mov r2, r3 808905c: 213a movs r1, #58 ; 0x3a 808905e: f44f 7082 mov.w r0, #260 ; 0x104 8089062: f7cc fe93 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8089066: 4b72 ldr r3, [pc, #456] ; (8089230 ) 8089068: 7b1b ldrb r3, [r3, #12] 808906a: b2db uxtb r3, r3 808906c: 4618 mov r0, r3 808906e: 4b70 ldr r3, [pc, #448] ; (8089230 ) 8089070: 785b ldrb r3, [r3, #1] 8089072: b2db uxtb r3, r3 8089074: 005b lsls r3, r3, #1 8089076: 4a6e ldr r2, [pc, #440] ; (8089230 ) 8089078: 7852 ldrb r2, [r2, #1] 808907a: b2d2 uxtb r2, r2 808907c: 4611 mov r1, r2 808907e: 4a6c ldr r2, [pc, #432] ; (8089230 ) 8089080: 440a add r2, r1 8089082: 7892 ldrb r2, [r2, #2] 8089084: b2d2 uxtb r2, r2 8089086: 431a orrs r2, r3 8089088: 496d ldr r1, [pc, #436] ; (8089240 ) 808908a: 4603 mov r3, r0 808908c: 005b lsls r3, r3, #1 808908e: 4403 add r3, r0 8089090: 005b lsls r3, r3, #1 8089092: 4413 add r3, r2 8089094: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8089098: 461a mov r2, r3 808909a: 214a movs r1, #74 ; 0x4a 808909c: f44f 7082 mov.w r0, #260 ; 0x104 80890a0: f7cc fe74 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80890a4: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80890a8: 461a mov r2, r3 80890aa: 215a movs r1, #90 ; 0x5a 80890ac: f44f 7082 mov.w r0, #260 ; 0x104 80890b0: f7cc fe6c bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80890b4: f507 73cc add.w r3, r7, #408 ; 0x198 80890b8: 461a mov r2, r3 80890ba: 216a movs r1, #106 ; 0x6a 80890bc: f44f 7082 mov.w r0, #260 ; 0x104 80890c0: f7cc fe64 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 80890c4: 4b5a ldr r3, [pc, #360] ; (8089230 ) 80890c6: 7b1b ldrb r3, [r3, #12] 80890c8: b2db uxtb r3, r3 80890ca: 4618 mov r0, r3 80890cc: 4b58 ldr r3, [pc, #352] ; (8089230 ) 80890ce: 7a9b ldrb r3, [r3, #10] 80890d0: b2db uxtb r3, r3 80890d2: 4619 mov r1, r3 80890d4: 4a5b ldr r2, [pc, #364] ; (8089244 ) 80890d6: 0043 lsls r3, r0, #1 80890d8: 440b add r3, r1 80890da: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80890de: 461a mov r2, r3 80890e0: 217a movs r1, #122 ; 0x7a 80890e2: f44f 7082 mov.w r0, #260 ; 0x104 80890e6: f7cc fe51 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 80890ea: 4b51 ldr r3, [pc, #324] ; (8089230 ) 80890ec: 7b1b ldrb r3, [r3, #12] 80890ee: b2db uxtb r3, r3 80890f0: 4619 mov r1, r3 80890f2: 4b4f ldr r3, [pc, #316] ; (8089230 ) 80890f4: 7b5b ldrb r3, [r3, #13] 80890f6: b2db uxtb r3, r3 80890f8: 4618 mov r0, r3 80890fa: 4a53 ldr r2, [pc, #332] ; (8089248 ) 80890fc: 460b mov r3, r1 80890fe: 009b lsls r3, r3, #2 8089100: 440b add r3, r1 8089102: 005b lsls r3, r3, #1 8089104: 4403 add r3, r0 8089106: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808910a: 461a mov r2, r3 808910c: 218a movs r1, #138 ; 0x8a 808910e: f44f 7082 mov.w r0, #260 ; 0x104 8089112: f7cc fe3b bl 8055d8c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089116: 4945 ldr r1, [pc, #276] ; (808922c ) 8089118: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808911c: f7cc f876 bl 805520c BSP_LCD_FillRect(253, CHECKBOX_LINE_9 - 2, 14, 14); 8089120: 230e movs r3, #14 8089122: 220e movs r2, #14 8089124: 219b movs r1, #155 ; 0x9b 8089126: 20fd movs r0, #253 ; 0xfd 8089128: f7cc fcfe bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808912c: 493f ldr r1, [pc, #252] ; (808922c ) 808912e: f04f 30ff mov.w r0, #4294967295 8089132: f7cc f86b bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8089136: 230a movs r3, #10 8089138: 220a movs r2, #10 808913a: 219d movs r1, #157 ; 0x9d 808913c: 20ff movs r0, #255 ; 0xff 808913e: f7cc fcf3 bl 8055b28 if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8089142: 4b3b ldr r3, [pc, #236] ; (8089230 ) 8089144: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8089148: f003 0304 and.w r3, r3, #4 808914c: 2b00 cmp r3, #0 808914e: f041 8257 bne.w 808a600 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089152: 4936 ldr r1, [pc, #216] ; (808922c ) 8089154: f04f 30ff mov.w r0, #4294967295 8089158: f7cc f858 bl 805520c if(pardata.IIN != VOLTS) 808915c: 4b34 ldr r3, [pc, #208] ; (8089230 ) 808915e: 799b ldrb r3, [r3, #6] 8089160: b2db uxtb r3, r3 8089162: 2b02 cmp r3, #2 8089164: d010 beq.n 8089188 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8089166: 4b32 ldr r3, [pc, #200] ; (8089230 ) 8089168: 7b1b ldrb r3, [r3, #12] 808916a: b2db uxtb r3, r3 808916c: 4619 mov r1, r3 808916e: 4a37 ldr r2, [pc, #220] ; (808924c ) 8089170: 232c movs r3, #44 ; 0x2c 8089172: fb03 f301 mul.w r3, r3, r1 8089176: 4413 add r3, r2 8089178: 3324 adds r3, #36 ; 0x24 808917a: 681b ldr r3, [r3, #0] 808917c: 461a mov r2, r3 808917e: 21aa movs r1, #170 ; 0xaa 8089180: 200a movs r0, #10 8089182: f7cc fdeb bl 8055d5c 8089186: e00f b.n 80891a8 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8089188: 4b29 ldr r3, [pc, #164] ; (8089230 ) 808918a: 7b1b ldrb r3, [r3, #12] 808918c: b2db uxtb r3, r3 808918e: 4619 mov r1, r3 8089190: 4a2f ldr r2, [pc, #188] ; (8089250 ) 8089192: 232c movs r3, #44 ; 0x2c 8089194: fb03 f301 mul.w r3, r3, r1 8089198: 4413 add r3, r2 808919a: 3324 adds r3, #36 ; 0x24 808919c: 681b ldr r3, [r3, #0] 808919e: 461a mov r2, r3 80891a0: 21aa movs r1, #170 ; 0xaa 80891a2: 200a movs r0, #10 80891a4: f7cc fdda bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80891a8: 4920 ldr r1, [pc, #128] ; (808922c ) 80891aa: 4823 ldr r0, [pc, #140] ; (8089238 ) 80891ac: f7cc f82e bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, str); 80891b0: f507 733b add.w r3, r7, #748 ; 0x2ec 80891b4: 461a mov r2, r3 80891b6: 21aa movs r1, #170 ; 0xaa 80891b8: f44f 7082 mov.w r0, #260 ; 0x104 80891bc: f7cc fde6 bl 8055d8c 80891c0: f001 ba1e b.w 808a600 if(menupos == VibMax_ALL) 80891c4: 4b18 ldr r3, [pc, #96] ; (8089228 ) 80891c6: 781b ldrb r3, [r3, #0] 80891c8: b2db uxtb r3, r3 80891ca: 2b09 cmp r3, #9 80891cc: f040 80e3 bne.w 8089396 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80891d0: 4916 ldr r1, [pc, #88] ; (808922c ) 80891d2: f04f 30ff mov.w r0, #4294967295 80891d6: f7cc f819 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80891da: 4b15 ldr r3, [pc, #84] ; (8089230 ) 80891dc: 7b1b ldrb r3, [r3, #12] 80891de: b2db uxtb r3, r3 80891e0: 461a mov r2, r3 80891e2: 4b14 ldr r3, [pc, #80] ; (8089234 ) 80891e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80891e8: 461a mov r2, r3 80891ea: 2127 movs r1, #39 ; 0x27 80891ec: 200a movs r0, #10 80891ee: f7cc fdb5 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80891f2: 490e ldr r1, [pc, #56] ; (808922c ) 80891f4: 4810 ldr r0, [pc, #64] ; (8089238 ) 80891f6: f7cc f809 bl 805520c if((pardata.OPTIONS & maskFFT) == okt) 80891fa: 4b0d ldr r3, [pc, #52] ; (8089230 ) 80891fc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8089200: f003 0330 and.w r3, r3, #48 ; 0x30 8089204: 2b20 cmp r3, #32 8089206: d125 bne.n 8089254 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8089208: 4b09 ldr r3, [pc, #36] ; (8089230 ) 808920a: 7b1b ldrb r3, [r3, #12] 808920c: b2db uxtb r3, r3 808920e: 4a0b ldr r2, [pc, #44] ; (808923c ) 8089210: 011b lsls r3, r3, #4 8089212: 4413 add r3, r2 8089214: 3308 adds r3, #8 8089216: 681b ldr r3, [r3, #0] 8089218: 461a mov r2, r3 808921a: 213a movs r1, #58 ; 0x3a 808921c: f44f 7082 mov.w r0, #260 ; 0x104 8089220: f7cc fdb4 bl 8055d8c 8089224: e024 b.n 8089270 8089226: bf00 nop 8089228: 20020070 .word 0x20020070 808922c: ff0a0f1f .word 0xff0a0f1f 8089230: 20023eb8 .word 0x20023eb8 8089234: 200205cc .word 0x200205cc 8089238: ffd8aa57 .word 0xffd8aa57 808923c: 200202a4 .word 0x200202a4 8089240: 200201a4 .word 0x200201a4 8089244: 2002021c .word 0x2002021c 8089248: 20020254 .word 0x20020254 808924c: 200206bc .word 0x200206bc 8089250: 20020714 .word 0x20020714 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8089254: 4bc6 ldr r3, [pc, #792] ; (8089570 ) 8089256: 7b1b ldrb r3, [r3, #12] 8089258: b2db uxtb r3, r3 808925a: 4ac6 ldr r2, [pc, #792] ; (8089574 ) 808925c: 011b lsls r3, r3, #4 808925e: 4413 add r3, r2 8089260: 330c adds r3, #12 8089262: 681b ldr r3, [r3, #0] 8089264: 461a mov r2, r3 8089266: 213a movs r1, #58 ; 0x3a 8089268: f44f 7082 mov.w r0, #260 ; 0x104 808926c: f7cc fd8e bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8089270: 4bbf ldr r3, [pc, #764] ; (8089570 ) 8089272: 7b1b ldrb r3, [r3, #12] 8089274: b2db uxtb r3, r3 8089276: 4618 mov r0, r3 8089278: 4bbd ldr r3, [pc, #756] ; (8089570 ) 808927a: 785b ldrb r3, [r3, #1] 808927c: b2db uxtb r3, r3 808927e: 005b lsls r3, r3, #1 8089280: 4abb ldr r2, [pc, #748] ; (8089570 ) 8089282: 7852 ldrb r2, [r2, #1] 8089284: b2d2 uxtb r2, r2 8089286: 4611 mov r1, r2 8089288: 4ab9 ldr r2, [pc, #740] ; (8089570 ) 808928a: 440a add r2, r1 808928c: 7892 ldrb r2, [r2, #2] 808928e: b2d2 uxtb r2, r2 8089290: 431a orrs r2, r3 8089292: 49b9 ldr r1, [pc, #740] ; (8089578 ) 8089294: 4603 mov r3, r0 8089296: 005b lsls r3, r3, #1 8089298: 4403 add r3, r0 808929a: 005b lsls r3, r3, #1 808929c: 4413 add r3, r2 808929e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80892a2: 461a mov r2, r3 80892a4: 214a movs r1, #74 ; 0x4a 80892a6: f44f 7082 mov.w r0, #260 ; 0x104 80892aa: f7cc fd6f bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80892ae: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80892b2: 461a mov r2, r3 80892b4: 215a movs r1, #90 ; 0x5a 80892b6: f44f 7082 mov.w r0, #260 ; 0x104 80892ba: f7cc fd67 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80892be: f507 73cc add.w r3, r7, #408 ; 0x198 80892c2: 461a mov r2, r3 80892c4: 216a movs r1, #106 ; 0x6a 80892c6: f44f 7082 mov.w r0, #260 ; 0x104 80892ca: f7cc fd5f bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 80892ce: 4ba8 ldr r3, [pc, #672] ; (8089570 ) 80892d0: 7b1b ldrb r3, [r3, #12] 80892d2: b2db uxtb r3, r3 80892d4: 4618 mov r0, r3 80892d6: 4ba6 ldr r3, [pc, #664] ; (8089570 ) 80892d8: 7a9b ldrb r3, [r3, #10] 80892da: b2db uxtb r3, r3 80892dc: 4619 mov r1, r3 80892de: 4aa7 ldr r2, [pc, #668] ; (808957c ) 80892e0: 0043 lsls r3, r0, #1 80892e2: 440b add r3, r1 80892e4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80892e8: 461a mov r2, r3 80892ea: 217a movs r1, #122 ; 0x7a 80892ec: f44f 7082 mov.w r0, #260 ; 0x104 80892f0: f7cc fd4c bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 80892f4: 4b9e ldr r3, [pc, #632] ; (8089570 ) 80892f6: 7b1b ldrb r3, [r3, #12] 80892f8: b2db uxtb r3, r3 80892fa: 4619 mov r1, r3 80892fc: 4b9c ldr r3, [pc, #624] ; (8089570 ) 80892fe: 7b5b ldrb r3, [r3, #13] 8089300: b2db uxtb r3, r3 8089302: 4618 mov r0, r3 8089304: 4a9e ldr r2, [pc, #632] ; (8089580 ) 8089306: 460b mov r3, r1 8089308: 009b lsls r3, r3, #2 808930a: 440b add r3, r1 808930c: 005b lsls r3, r3, #1 808930e: 4403 add r3, r0 8089310: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8089314: 461a mov r2, r3 8089316: 218a movs r1, #138 ; 0x8a 8089318: f44f 7082 mov.w r0, #260 ; 0x104 808931c: f7cc fd36 bl 8055d8c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089320: 4998 ldr r1, [pc, #608] ; (8089584 ) 8089322: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089326: f7cb ff71 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, str); 808932a: f507 733b add.w r3, r7, #748 ; 0x2ec 808932e: 461a mov r2, r3 8089330: 21aa movs r1, #170 ; 0xaa 8089332: f44f 7082 mov.w r0, #260 ; 0x104 8089336: f7cc fd29 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808933a: 4992 ldr r1, [pc, #584] ; (8089584 ) 808933c: f04f 30ff mov.w r0, #4294967295 8089340: f7cb ff64 bl 805520c if(pardata.IIN != VOLTS) 8089344: 4b8a ldr r3, [pc, #552] ; (8089570 ) 8089346: 799b ldrb r3, [r3, #6] 8089348: b2db uxtb r3, r3 808934a: 2b02 cmp r3, #2 808934c: d011 beq.n 8089372 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808934e: 4b88 ldr r3, [pc, #544] ; (8089570 ) 8089350: 7b1b ldrb r3, [r3, #12] 8089352: b2db uxtb r3, r3 8089354: 4619 mov r1, r3 8089356: 4a8c ldr r2, [pc, #560] ; (8089588 ) 8089358: 232c movs r3, #44 ; 0x2c 808935a: fb03 f301 mul.w r3, r3, r1 808935e: 4413 add r3, r2 8089360: 3324 adds r3, #36 ; 0x24 8089362: 681b ldr r3, [r3, #0] 8089364: 461a mov r2, r3 8089366: 21aa movs r1, #170 ; 0xaa 8089368: 200a movs r0, #10 808936a: f7cc fcf7 bl 8055d5c 808936e: f001 b947 b.w 808a600 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8089372: 4b7f ldr r3, [pc, #508] ; (8089570 ) 8089374: 7b1b ldrb r3, [r3, #12] 8089376: b2db uxtb r3, r3 8089378: 4619 mov r1, r3 808937a: 4a84 ldr r2, [pc, #528] ; (808958c ) 808937c: 232c movs r3, #44 ; 0x2c 808937e: fb03 f301 mul.w r3, r3, r1 8089382: 4413 add r3, r2 8089384: 3324 adds r3, #36 ; 0x24 8089386: 681b ldr r3, [r3, #0] 8089388: 461a mov r2, r3 808938a: 21aa movs r1, #170 ; 0xaa 808938c: 200a movs r0, #10 808938e: f7cc fce5 bl 8055d5c 8089392: f001 b935 b.w 808a600 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089396: 497b ldr r1, [pc, #492] ; (8089584 ) 8089398: f04f 30ff mov.w r0, #4294967295 808939c: f7cb ff36 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80893a0: 4b73 ldr r3, [pc, #460] ; (8089570 ) 80893a2: 7b1b ldrb r3, [r3, #12] 80893a4: b2db uxtb r3, r3 80893a6: 461a mov r2, r3 80893a8: 4b79 ldr r3, [pc, #484] ; (8089590 ) 80893aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80893ae: 461a mov r2, r3 80893b0: 2127 movs r1, #39 ; 0x27 80893b2: 200a movs r0, #10 80893b4: f7cc fcd2 bl 8055d5c if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 80893b8: 4b76 ldr r3, [pc, #472] ; (8089594 ) 80893ba: 781b ldrb r3, [r3, #0] 80893bc: b2db uxtb r3, r3 80893be: 2b18 cmp r3, #24 80893c0: f240 8083 bls.w 80894ca 80893c4: 4b73 ldr r3, [pc, #460] ; (8089594 ) 80893c6: 781b ldrb r3, [r3, #0] 80893c8: b2db uxtb r3, r3 80893ca: 2b1e cmp r3, #30 80893cc: d87d bhi.n 80894ca LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80893ce: 496d ldr r1, [pc, #436] ; (8089584 ) 80893d0: 4871 ldr r0, [pc, #452] ; (8089598 ) 80893d2: f7cb ff1b bl 805520c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80893d6: f507 73cc add.w r3, r7, #408 ; 0x198 80893da: 461a mov r2, r3 80893dc: 216a movs r1, #106 ; 0x6a 80893de: f44f 7082 mov.w r0, #260 ; 0x104 80893e2: f7cc fcd3 bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80893e6: 4b62 ldr r3, [pc, #392] ; (8089570 ) 80893e8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80893ec: f003 0304 and.w r3, r3, #4 80893f0: 2b00 cmp r3, #0 80893f2: d032 beq.n 808945a LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80893f4: 4963 ldr r1, [pc, #396] ; (8089584 ) 80893f6: 4869 ldr r0, [pc, #420] ; (808959c ) 80893f8: f7cb ff08 bl 805520c if(pardata.IIN != VOLTS) 80893fc: 4b5c ldr r3, [pc, #368] ; (8089570 ) 80893fe: 799b ldrb r3, [r3, #6] 8089400: b2db uxtb r3, r3 8089402: 2b02 cmp r3, #2 8089404: d010 beq.n 8089428 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8089406: 4b5a ldr r3, [pc, #360] ; (8089570 ) 8089408: 7b1b ldrb r3, [r3, #12] 808940a: b2db uxtb r3, r3 808940c: 4619 mov r1, r3 808940e: 4a5e ldr r2, [pc, #376] ; (8089588 ) 8089410: 232c movs r3, #44 ; 0x2c 8089412: fb03 f301 mul.w r3, r3, r1 8089416: 4413 add r3, r2 8089418: 3324 adds r3, #36 ; 0x24 808941a: 681b ldr r3, [r3, #0] 808941c: 461a mov r2, r3 808941e: 21aa movs r1, #170 ; 0xaa 8089420: 200a movs r0, #10 8089422: f7cc fc9b bl 8055d5c 8089426: e00f b.n 8089448 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8089428: 4b51 ldr r3, [pc, #324] ; (8089570 ) 808942a: 7b1b ldrb r3, [r3, #12] 808942c: b2db uxtb r3, r3 808942e: 4619 mov r1, r3 8089430: 4a56 ldr r2, [pc, #344] ; (808958c ) 8089432: 232c movs r3, #44 ; 0x2c 8089434: fb03 f301 mul.w r3, r3, r1 8089438: 4413 add r3, r2 808943a: 3324 adds r3, #36 ; 0x24 808943c: 681b ldr r3, [r3, #0] 808943e: 461a mov r2, r3 8089440: 21aa movs r1, #170 ; 0xaa 8089442: 200a movs r0, #10 8089444: f7cc fc8a bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_10, str); 8089448: f507 733b add.w r3, r7, #748 ; 0x2ec 808944c: 461a mov r2, r3 808944e: 21aa movs r1, #170 ; 0xaa 8089450: f44f 7082 mov.w r0, #260 ; 0x104 8089454: f7cc fc9a bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8089458: e123 b.n 80896a2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808945a: 494a ldr r1, [pc, #296] ; (8089584 ) 808945c: f04f 30ff mov.w r0, #4294967295 8089460: f7cb fed4 bl 805520c if(pardata.IIN != VOLTS) 8089464: 4b42 ldr r3, [pc, #264] ; (8089570 ) 8089466: 799b ldrb r3, [r3, #6] 8089468: b2db uxtb r3, r3 808946a: 2b02 cmp r3, #2 808946c: d010 beq.n 8089490 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808946e: 4b40 ldr r3, [pc, #256] ; (8089570 ) 8089470: 7b1b ldrb r3, [r3, #12] 8089472: b2db uxtb r3, r3 8089474: 4619 mov r1, r3 8089476: 4a44 ldr r2, [pc, #272] ; (8089588 ) 8089478: 232c movs r3, #44 ; 0x2c 808947a: fb03 f301 mul.w r3, r3, r1 808947e: 4413 add r3, r2 8089480: 3324 adds r3, #36 ; 0x24 8089482: 681b ldr r3, [r3, #0] 8089484: 461a mov r2, r3 8089486: 21aa movs r1, #170 ; 0xaa 8089488: 200a movs r0, #10 808948a: f7cc fc67 bl 8055d5c 808948e: e00f b.n 80894b0 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8089490: 4b37 ldr r3, [pc, #220] ; (8089570 ) 8089492: 7b1b ldrb r3, [r3, #12] 8089494: b2db uxtb r3, r3 8089496: 4619 mov r1, r3 8089498: 4a3c ldr r2, [pc, #240] ; (808958c ) 808949a: 232c movs r3, #44 ; 0x2c 808949c: fb03 f301 mul.w r3, r3, r1 80894a0: 4413 add r3, r2 80894a2: 3324 adds r3, #36 ; 0x24 80894a4: 681b ldr r3, [r3, #0] 80894a6: 461a mov r2, r3 80894a8: 21aa movs r1, #170 ; 0xaa 80894aa: 200a movs r0, #10 80894ac: f7cc fc56 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80894b0: 4934 ldr r1, [pc, #208] ; (8089584 ) 80894b2: 4839 ldr r0, [pc, #228] ; (8089598 ) 80894b4: f7cb feaa bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, str); 80894b8: f507 733b add.w r3, r7, #748 ; 0x2ec 80894bc: 461a mov r2, r3 80894be: 21aa movs r1, #170 ; 0xaa 80894c0: f44f 7082 mov.w r0, #260 ; 0x104 80894c4: f7cc fc62 bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80894c8: e0eb b.n 80896a2 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 80894ca: 4b32 ldr r3, [pc, #200] ; (8089594 ) 80894cc: 781b ldrb r3, [r3, #0] 80894ce: b2db uxtb r3, r3 80894d0: 2b1e cmp r3, #30 80894d2: f240 809d bls.w 8089610 80894d6: 4b2f ldr r3, [pc, #188] ; (8089594 ) 80894d8: 781b ldrb r3, [r3, #0] 80894da: b2db uxtb r3, r3 80894dc: 2b24 cmp r3, #36 ; 0x24 80894de: f200 8097 bhi.w 8089610 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80894e2: 4928 ldr r1, [pc, #160] ; (8089584 ) 80894e4: 482c ldr r0, [pc, #176] ; (8089598 ) 80894e6: f7cb fe91 bl 805520c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80894ea: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80894ee: 461a mov r2, r3 80894f0: 215a movs r1, #90 ; 0x5a 80894f2: f44f 7082 mov.w r0, #260 ; 0x104 80894f6: f7cc fc49 bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80894fa: 4b1d ldr r3, [pc, #116] ; (8089570 ) 80894fc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8089500: f003 0304 and.w r3, r3, #4 8089504: 2b00 cmp r3, #0 8089506: d04b beq.n 80895a0 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8089508: 491e ldr r1, [pc, #120] ; (8089584 ) 808950a: 4824 ldr r0, [pc, #144] ; (808959c ) 808950c: f7cb fe7e bl 805520c if(pardata.IIN != VOLTS) 8089510: 4b17 ldr r3, [pc, #92] ; (8089570 ) 8089512: 799b ldrb r3, [r3, #6] 8089514: b2db uxtb r3, r3 8089516: 2b02 cmp r3, #2 8089518: d010 beq.n 808953c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808951a: 4b15 ldr r3, [pc, #84] ; (8089570 ) 808951c: 7b1b ldrb r3, [r3, #12] 808951e: b2db uxtb r3, r3 8089520: 4619 mov r1, r3 8089522: 4a19 ldr r2, [pc, #100] ; (8089588 ) 8089524: 232c movs r3, #44 ; 0x2c 8089526: fb03 f301 mul.w r3, r3, r1 808952a: 4413 add r3, r2 808952c: 3324 adds r3, #36 ; 0x24 808952e: 681b ldr r3, [r3, #0] 8089530: 461a mov r2, r3 8089532: 21aa movs r1, #170 ; 0xaa 8089534: 200a movs r0, #10 8089536: f7cc fc11 bl 8055d5c 808953a: e00f b.n 808955c else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808953c: 4b0c ldr r3, [pc, #48] ; (8089570 ) 808953e: 7b1b ldrb r3, [r3, #12] 8089540: b2db uxtb r3, r3 8089542: 4619 mov r1, r3 8089544: 4a11 ldr r2, [pc, #68] ; (808958c ) 8089546: 232c movs r3, #44 ; 0x2c 8089548: fb03 f301 mul.w r3, r3, r1 808954c: 4413 add r3, r2 808954e: 3324 adds r3, #36 ; 0x24 8089550: 681b ldr r3, [r3, #0] 8089552: 461a mov r2, r3 8089554: 21aa movs r1, #170 ; 0xaa 8089556: 200a movs r0, #10 8089558: f7cc fc00 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_10, str); 808955c: f507 733b add.w r3, r7, #748 ; 0x2ec 8089560: 461a mov r2, r3 8089562: 21aa movs r1, #170 ; 0xaa 8089564: f44f 7082 mov.w r0, #260 ; 0x104 8089568: f7cc fc10 bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 808956c: e099 b.n 80896a2 808956e: bf00 nop 8089570: 20023eb8 .word 0x20023eb8 8089574: 200202a4 .word 0x200202a4 8089578: 200201a4 .word 0x200201a4 808957c: 2002021c .word 0x2002021c 8089580: 20020254 .word 0x20020254 8089584: ff0a0f1f .word 0xff0a0f1f 8089588: 200206bc .word 0x200206bc 808958c: 20020714 .word 0x20020714 8089590: 200205cc .word 0x200205cc 8089594: 20020070 .word 0x20020070 8089598: ffd8aa57 .word 0xffd8aa57 808959c: ff808080 .word 0xff808080 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80895a0: 49a9 ldr r1, [pc, #676] ; (8089848 ) 80895a2: f04f 30ff mov.w r0, #4294967295 80895a6: f7cb fe31 bl 805520c if(pardata.IIN != VOLTS) 80895aa: 4ba8 ldr r3, [pc, #672] ; (808984c ) 80895ac: 799b ldrb r3, [r3, #6] 80895ae: b2db uxtb r3, r3 80895b0: 2b02 cmp r3, #2 80895b2: d010 beq.n 80895d6 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80895b4: 4ba5 ldr r3, [pc, #660] ; (808984c ) 80895b6: 7b1b ldrb r3, [r3, #12] 80895b8: b2db uxtb r3, r3 80895ba: 4619 mov r1, r3 80895bc: 4aa4 ldr r2, [pc, #656] ; (8089850 ) 80895be: 232c movs r3, #44 ; 0x2c 80895c0: fb03 f301 mul.w r3, r3, r1 80895c4: 4413 add r3, r2 80895c6: 3324 adds r3, #36 ; 0x24 80895c8: 681b ldr r3, [r3, #0] 80895ca: 461a mov r2, r3 80895cc: 21aa movs r1, #170 ; 0xaa 80895ce: 200a movs r0, #10 80895d0: f7cc fbc4 bl 8055d5c 80895d4: e00f b.n 80895f6 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 80895d6: 4b9d ldr r3, [pc, #628] ; (808984c ) 80895d8: 7b1b ldrb r3, [r3, #12] 80895da: b2db uxtb r3, r3 80895dc: 4619 mov r1, r3 80895de: 4a9d ldr r2, [pc, #628] ; (8089854 ) 80895e0: 232c movs r3, #44 ; 0x2c 80895e2: fb03 f301 mul.w r3, r3, r1 80895e6: 4413 add r3, r2 80895e8: 3324 adds r3, #36 ; 0x24 80895ea: 681b ldr r3, [r3, #0] 80895ec: 461a mov r2, r3 80895ee: 21aa movs r1, #170 ; 0xaa 80895f0: 200a movs r0, #10 80895f2: f7cc fbb3 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80895f6: 4994 ldr r1, [pc, #592] ; (8089848 ) 80895f8: 4897 ldr r0, [pc, #604] ; (8089858 ) 80895fa: f7cb fe07 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, str); 80895fe: f507 733b add.w r3, r7, #748 ; 0x2ec 8089602: 461a mov r2, r3 8089604: 21aa movs r1, #170 ; 0xaa 8089606: f44f 7082 mov.w r0, #260 ; 0x104 808960a: f7cc fbbf bl 8055d8c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 808960e: e048 b.n 80896a2 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 8089610: 4b92 ldr r3, [pc, #584] ; (808985c ) 8089612: 781b ldrb r3, [r3, #0] 8089614: b2db uxtb r3, r3 8089616: 2b0a cmp r3, #10 8089618: d943 bls.n 80896a2 808961a: 4b90 ldr r3, [pc, #576] ; (808985c ) 808961c: 781b ldrb r3, [r3, #0] 808961e: b2db uxtb r3, r3 8089620: 2b10 cmp r3, #16 8089622: d83e bhi.n 80896a2 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089624: 4988 ldr r1, [pc, #544] ; (8089848 ) 8089626: 488c ldr r0, [pc, #560] ; (8089858 ) 8089628: f7cb fdf0 bl 805520c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 808962c: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8089630: 461a mov r2, r3 8089632: 215a movs r1, #90 ; 0x5a 8089634: f44f 7082 mov.w r0, #260 ; 0x104 8089638: f7cc fba8 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 808963c: f507 73cc add.w r3, r7, #408 ; 0x198 8089640: 461a mov r2, r3 8089642: 216a movs r1, #106 ; 0x6a 8089644: f44f 7082 mov.w r0, #260 ; 0x104 8089648: f7cc fba0 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808964c: 497e ldr r1, [pc, #504] ; (8089848 ) 808964e: f04f 30ff mov.w r0, #4294967295 8089652: f7cb fddb bl 805520c if(pardata.IIN != VOLTS) 8089656: 4b7d ldr r3, [pc, #500] ; (808984c ) 8089658: 799b ldrb r3, [r3, #6] 808965a: b2db uxtb r3, r3 808965c: 2b02 cmp r3, #2 808965e: d010 beq.n 8089682 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8089660: 4b7a ldr r3, [pc, #488] ; (808984c ) 8089662: 7b1b ldrb r3, [r3, #12] 8089664: b2db uxtb r3, r3 8089666: 4619 mov r1, r3 8089668: 4a79 ldr r2, [pc, #484] ; (8089850 ) 808966a: 232c movs r3, #44 ; 0x2c 808966c: fb03 f301 mul.w r3, r3, r1 8089670: 4413 add r3, r2 8089672: 3324 adds r3, #36 ; 0x24 8089674: 681b ldr r3, [r3, #0] 8089676: 461a mov r2, r3 8089678: 21aa movs r1, #170 ; 0xaa 808967a: 200a movs r0, #10 808967c: f7cc fb6e bl 8055d5c 8089680: e00f b.n 80896a2 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8089682: 4b72 ldr r3, [pc, #456] ; (808984c ) 8089684: 7b1b ldrb r3, [r3, #12] 8089686: b2db uxtb r3, r3 8089688: 4619 mov r1, r3 808968a: 4a72 ldr r2, [pc, #456] ; (8089854 ) 808968c: 232c movs r3, #44 ; 0x2c 808968e: fb03 f301 mul.w r3, r3, r1 8089692: 4413 add r3, r2 8089694: 3324 adds r3, #36 ; 0x24 8089696: 681b ldr r3, [r3, #0] 8089698: 461a mov r2, r3 808969a: 21aa movs r1, #170 ; 0xaa 808969c: 200a movs r0, #10 808969e: f7cc fb5d bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80896a2: 4969 ldr r1, [pc, #420] ; (8089848 ) 80896a4: 486c ldr r0, [pc, #432] ; (8089858 ) 80896a6: f7cb fdb1 bl 805520c if((pardata.OPTIONS & maskFFT) == okt) 80896aa: 4b68 ldr r3, [pc, #416] ; (808984c ) 80896ac: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80896b0: f003 0330 and.w r3, r3, #48 ; 0x30 80896b4: 2b20 cmp r3, #32 80896b6: d10e bne.n 80896d6 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 80896b8: 4b64 ldr r3, [pc, #400] ; (808984c ) 80896ba: 7b1b ldrb r3, [r3, #12] 80896bc: b2db uxtb r3, r3 80896be: 4a68 ldr r2, [pc, #416] ; (8089860 ) 80896c0: 011b lsls r3, r3, #4 80896c2: 4413 add r3, r2 80896c4: 3308 adds r3, #8 80896c6: 681b ldr r3, [r3, #0] 80896c8: 461a mov r2, r3 80896ca: 213a movs r1, #58 ; 0x3a 80896cc: f44f 7082 mov.w r0, #260 ; 0x104 80896d0: f7cc fb5c bl 8055d8c 80896d4: e00d b.n 80896f2 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 80896d6: 4b5d ldr r3, [pc, #372] ; (808984c ) 80896d8: 7b1b ldrb r3, [r3, #12] 80896da: b2db uxtb r3, r3 80896dc: 4a60 ldr r2, [pc, #384] ; (8089860 ) 80896de: 011b lsls r3, r3, #4 80896e0: 4413 add r3, r2 80896e2: 330c adds r3, #12 80896e4: 681b ldr r3, [r3, #0] 80896e6: 461a mov r2, r3 80896e8: 213a movs r1, #58 ; 0x3a 80896ea: f44f 7082 mov.w r0, #260 ; 0x104 80896ee: f7cc fb4d bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80896f2: 4b56 ldr r3, [pc, #344] ; (808984c ) 80896f4: 7b1b ldrb r3, [r3, #12] 80896f6: b2db uxtb r3, r3 80896f8: 4618 mov r0, r3 80896fa: 4b54 ldr r3, [pc, #336] ; (808984c ) 80896fc: 785b ldrb r3, [r3, #1] 80896fe: b2db uxtb r3, r3 8089700: 005b lsls r3, r3, #1 8089702: 4a52 ldr r2, [pc, #328] ; (808984c ) 8089704: 7852 ldrb r2, [r2, #1] 8089706: b2d2 uxtb r2, r2 8089708: 4611 mov r1, r2 808970a: 4a50 ldr r2, [pc, #320] ; (808984c ) 808970c: 440a add r2, r1 808970e: 7892 ldrb r2, [r2, #2] 8089710: b2d2 uxtb r2, r2 8089712: 431a orrs r2, r3 8089714: 4953 ldr r1, [pc, #332] ; (8089864 ) 8089716: 4603 mov r3, r0 8089718: 005b lsls r3, r3, #1 808971a: 4403 add r3, r0 808971c: 005b lsls r3, r3, #1 808971e: 4413 add r3, r2 8089720: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8089724: 461a mov r2, r3 8089726: 214a movs r1, #74 ; 0x4a 8089728: f44f 7082 mov.w r0, #260 ; 0x104 808972c: f7cc fb2e bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8089730: 4b46 ldr r3, [pc, #280] ; (808984c ) 8089732: 7b1b ldrb r3, [r3, #12] 8089734: b2db uxtb r3, r3 8089736: 4618 mov r0, r3 8089738: 4b44 ldr r3, [pc, #272] ; (808984c ) 808973a: 7a9b ldrb r3, [r3, #10] 808973c: b2db uxtb r3, r3 808973e: 4619 mov r1, r3 8089740: 4a49 ldr r2, [pc, #292] ; (8089868 ) 8089742: 0043 lsls r3, r0, #1 8089744: 440b add r3, r1 8089746: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808974a: 461a mov r2, r3 808974c: 217a movs r1, #122 ; 0x7a 808974e: f44f 7082 mov.w r0, #260 ; 0x104 8089752: f7cc fb1b bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8089756: 4b3d ldr r3, [pc, #244] ; (808984c ) 8089758: 7b1b ldrb r3, [r3, #12] 808975a: b2db uxtb r3, r3 808975c: 4619 mov r1, r3 808975e: 4b3b ldr r3, [pc, #236] ; (808984c ) 8089760: 7b5b ldrb r3, [r3, #13] 8089762: b2db uxtb r3, r3 8089764: 4618 mov r0, r3 8089766: 4a41 ldr r2, [pc, #260] ; (808986c ) 8089768: 460b mov r3, r1 808976a: 009b lsls r3, r3, #2 808976c: 440b add r3, r1 808976e: 005b lsls r3, r3, #1 8089770: 4403 add r3, r0 8089772: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8089776: 461a mov r2, r3 8089778: 218a movs r1, #138 ; 0x8a 808977a: f44f 7082 mov.w r0, #260 ; 0x104 808977e: f7cc fb05 bl 8055d8c if(menupos == FilterHP_IDT) 8089782: 4b36 ldr r3, [pc, #216] ; (808985c ) 8089784: 781b ldrb r3, [r3, #0] 8089786: b2db uxtb r3, r3 8089788: 2b19 cmp r3, #25 808978a: d177 bne.n 808987c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808978c: 492e ldr r1, [pc, #184] ; (8089848 ) 808978e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089792: f7cb fd3b bl 805520c if(blk) 8089796: 4b36 ldr r3, [pc, #216] ; (8089870 ) 8089798: 681b ldr r3, [r3, #0] 808979a: 2b00 cmp r3, #0 808979c: d00b beq.n 80897b6 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 808979e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 80897a2: b2db uxtb r3, r3 80897a4: 461a mov r2, r3 80897a6: 4b33 ldr r3, [pc, #204] ; (8089874 ) 80897a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80897ac: 461a mov r2, r3 80897ae: 215a movs r1, #90 ; 0x5a 80897b0: 20c6 movs r0, #198 ; 0xc6 80897b2: f7cc fad3 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80897b6: 4924 ldr r1, [pc, #144] ; (8089848 ) 80897b8: 4827 ldr r0, [pc, #156] ; (8089858 ) 80897ba: f7cb fd27 bl 805520c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 80897be: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 80897c2: b2db uxtb r3, r3 80897c4: 461a mov r2, r3 80897c6: 4b2b ldr r3, [pc, #172] ; (8089874 ) 80897c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80897cc: 461a mov r2, r3 80897ce: 215a movs r1, #90 ; 0x5a 80897d0: 20d6 movs r0, #214 ; 0xd6 80897d2: f7cc fac3 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 80897d6: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 80897da: b2db uxtb r3, r3 80897dc: 461a mov r2, r3 80897de: 4b25 ldr r3, [pc, #148] ; (8089874 ) 80897e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80897e4: 461a mov r2, r3 80897e6: 215a movs r1, #90 ; 0x5a 80897e8: 20e6 movs r0, #230 ; 0xe6 80897ea: f7cc fab7 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 80897ee: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 80897f2: b2db uxtb r3, r3 80897f4: 461a mov r2, r3 80897f6: 4b1f ldr r3, [pc, #124] ; (8089874 ) 80897f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80897fc: 461a mov r2, r3 80897fe: 215a movs r1, #90 ; 0x5a 8089800: 20f6 movs r0, #246 ; 0xf6 8089802: f7cc faab bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8089806: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808980a: b2db uxtb r3, r3 808980c: 461a mov r2, r3 808980e: 4b19 ldr r3, [pc, #100] ; (8089874 ) 8089810: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089814: 461a mov r2, r3 8089816: 215a movs r1, #90 ; 0x5a 8089818: f44f 7083 mov.w r0, #262 ; 0x106 808981c: f7cc fa9e bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, "."); 8089820: 4a15 ldr r2, [pc, #84] ; (8089878 ) 8089822: 215a movs r1, #90 ; 0x5a 8089824: f44f 708b mov.w r0, #278 ; 0x116 8089828: f7cc fa98 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 808982c: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8089830: b2db uxtb r3, r3 8089832: 461a mov r2, r3 8089834: 4b0f ldr r3, [pc, #60] ; (8089874 ) 8089836: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808983a: 461a mov r2, r3 808983c: 215a movs r1, #90 ; 0x5a 808983e: f44f 7093 mov.w r0, #294 ; 0x126 8089842: f7cc fa8b bl 8055d5c 8089846: e213 b.n 8089c70 8089848: ff0a0f1f .word 0xff0a0f1f 808984c: 20023eb8 .word 0x20023eb8 8089850: 200206bc .word 0x200206bc 8089854: 20020714 .word 0x20020714 8089858: ffd8aa57 .word 0xffd8aa57 808985c: 20020070 .word 0x20020070 8089860: 200202a4 .word 0x200202a4 8089864: 200201a4 .word 0x200201a4 8089868: 2002021c .word 0x2002021c 808986c: 20020254 .word 0x20020254 8089870: 200216ac .word 0x200216ac 8089874: 2002096c .word 0x2002096c 8089878: 080d6258 .word 0x080d6258 if(menupos == FilterHP_IET) 808987c: 4bc5 ldr r3, [pc, #788] ; (8089b94 ) 808987e: 781b ldrb r3, [r3, #0] 8089880: b2db uxtb r3, r3 8089882: 2b1a cmp r3, #26 8089884: d15d bne.n 8089942 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089886: 49c4 ldr r1, [pc, #784] ; (8089b98 ) 8089888: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808988c: f7cb fcbe bl 805520c if(blk) 8089890: 4bc2 ldr r3, [pc, #776] ; (8089b9c ) 8089892: 681b ldr r3, [r3, #0] 8089894: 2b00 cmp r3, #0 8089896: d00b beq.n 80898b0 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8089898: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808989c: b2db uxtb r3, r3 808989e: 461a mov r2, r3 80898a0: 4bbf ldr r3, [pc, #764] ; (8089ba0 ) 80898a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80898a6: 461a mov r2, r3 80898a8: 215a movs r1, #90 ; 0x5a 80898aa: 20d6 movs r0, #214 ; 0xd6 80898ac: f7cc fa56 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80898b0: 49b9 ldr r1, [pc, #740] ; (8089b98 ) 80898b2: 48bc ldr r0, [pc, #752] ; (8089ba4 ) 80898b4: f7cb fcaa bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 80898b8: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 80898bc: b2db uxtb r3, r3 80898be: 461a mov r2, r3 80898c0: 4bb7 ldr r3, [pc, #732] ; (8089ba0 ) 80898c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80898c6: 461a mov r2, r3 80898c8: 215a movs r1, #90 ; 0x5a 80898ca: 20c6 movs r0, #198 ; 0xc6 80898cc: f7cc fa46 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 80898d0: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 80898d4: b2db uxtb r3, r3 80898d6: 461a mov r2, r3 80898d8: 4bb1 ldr r3, [pc, #708] ; (8089ba0 ) 80898da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80898de: 461a mov r2, r3 80898e0: 215a movs r1, #90 ; 0x5a 80898e2: 20e6 movs r0, #230 ; 0xe6 80898e4: f7cc fa3a bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 80898e8: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 80898ec: b2db uxtb r3, r3 80898ee: 461a mov r2, r3 80898f0: 4bab ldr r3, [pc, #684] ; (8089ba0 ) 80898f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80898f6: 461a mov r2, r3 80898f8: 215a movs r1, #90 ; 0x5a 80898fa: 20f6 movs r0, #246 ; 0xf6 80898fc: f7cc fa2e bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8089900: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8089904: b2db uxtb r3, r3 8089906: 461a mov r2, r3 8089908: 4ba5 ldr r3, [pc, #660] ; (8089ba0 ) 808990a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808990e: 461a mov r2, r3 8089910: 215a movs r1, #90 ; 0x5a 8089912: f44f 7083 mov.w r0, #262 ; 0x106 8089916: f7cc fa21 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, "."); 808991a: 4aa3 ldr r2, [pc, #652] ; (8089ba8 ) 808991c: 215a movs r1, #90 ; 0x5a 808991e: f44f 708b mov.w r0, #278 ; 0x116 8089922: f7cc fa1b bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8089926: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808992a: b2db uxtb r3, r3 808992c: 461a mov r2, r3 808992e: 4b9c ldr r3, [pc, #624] ; (8089ba0 ) 8089930: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089934: 461a mov r2, r3 8089936: 215a movs r1, #90 ; 0x5a 8089938: f44f 7093 mov.w r0, #294 ; 0x126 808993c: f7cc fa0e bl 8055d5c 8089940: e196 b.n 8089c70 if(menupos == FilterHP_IES) 8089942: 4b94 ldr r3, [pc, #592] ; (8089b94 ) 8089944: 781b ldrb r3, [r3, #0] 8089946: b2db uxtb r3, r3 8089948: 2b1b cmp r3, #27 808994a: d15d bne.n 8089a08 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808994c: 4992 ldr r1, [pc, #584] ; (8089b98 ) 808994e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089952: f7cb fc5b bl 805520c if(blk) 8089956: 4b91 ldr r3, [pc, #580] ; (8089b9c ) 8089958: 681b ldr r3, [r3, #0] 808995a: 2b00 cmp r3, #0 808995c: d00b beq.n 8089976 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 808995e: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8089962: b2db uxtb r3, r3 8089964: 461a mov r2, r3 8089966: 4b8e ldr r3, [pc, #568] ; (8089ba0 ) 8089968: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808996c: 461a mov r2, r3 808996e: 215a movs r1, #90 ; 0x5a 8089970: 20e6 movs r0, #230 ; 0xe6 8089972: f7cc f9f3 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089976: 4988 ldr r1, [pc, #544] ; (8089b98 ) 8089978: 488a ldr r0, [pc, #552] ; (8089ba4 ) 808997a: f7cb fc47 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 808997e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8089982: b2db uxtb r3, r3 8089984: 461a mov r2, r3 8089986: 4b86 ldr r3, [pc, #536] ; (8089ba0 ) 8089988: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808998c: 461a mov r2, r3 808998e: 215a movs r1, #90 ; 0x5a 8089990: 20c6 movs r0, #198 ; 0xc6 8089992: f7cc f9e3 bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8089996: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808999a: b2db uxtb r3, r3 808999c: 461a mov r2, r3 808999e: 4b80 ldr r3, [pc, #512] ; (8089ba0 ) 80899a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80899a4: 461a mov r2, r3 80899a6: 215a movs r1, #90 ; 0x5a 80899a8: 20d6 movs r0, #214 ; 0xd6 80899aa: f7cc f9d7 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 80899ae: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 80899b2: b2db uxtb r3, r3 80899b4: 461a mov r2, r3 80899b6: 4b7a ldr r3, [pc, #488] ; (8089ba0 ) 80899b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80899bc: 461a mov r2, r3 80899be: 215a movs r1, #90 ; 0x5a 80899c0: 20f6 movs r0, #246 ; 0xf6 80899c2: f7cc f9cb bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 80899c6: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 80899ca: b2db uxtb r3, r3 80899cc: 461a mov r2, r3 80899ce: 4b74 ldr r3, [pc, #464] ; (8089ba0 ) 80899d0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80899d4: 461a mov r2, r3 80899d6: 215a movs r1, #90 ; 0x5a 80899d8: f44f 7083 mov.w r0, #262 ; 0x106 80899dc: f7cc f9be bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, "."); 80899e0: 4a71 ldr r2, [pc, #452] ; (8089ba8 ) 80899e2: 215a movs r1, #90 ; 0x5a 80899e4: f44f 708b mov.w r0, #278 ; 0x116 80899e8: f7cc f9b8 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 80899ec: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 80899f0: b2db uxtb r3, r3 80899f2: 461a mov r2, r3 80899f4: 4b6a ldr r3, [pc, #424] ; (8089ba0 ) 80899f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80899fa: 461a mov r2, r3 80899fc: 215a movs r1, #90 ; 0x5a 80899fe: f44f 7093 mov.w r0, #294 ; 0x126 8089a02: f7cc f9ab bl 8055d5c 8089a06: e133 b.n 8089c70 if(menupos == FilterHP_IED) 8089a08: 4b62 ldr r3, [pc, #392] ; (8089b94 ) 8089a0a: 781b ldrb r3, [r3, #0] 8089a0c: b2db uxtb r3, r3 8089a0e: 2b1c cmp r3, #28 8089a10: d15d bne.n 8089ace LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089a12: 4961 ldr r1, [pc, #388] ; (8089b98 ) 8089a14: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089a18: f7cb fbf8 bl 805520c if(blk) 8089a1c: 4b5f ldr r3, [pc, #380] ; (8089b9c ) 8089a1e: 681b ldr r3, [r3, #0] 8089a20: 2b00 cmp r3, #0 8089a22: d00b beq.n 8089a3c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8089a24: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8089a28: b2db uxtb r3, r3 8089a2a: 461a mov r2, r3 8089a2c: 4b5c ldr r3, [pc, #368] ; (8089ba0 ) 8089a2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089a32: 461a mov r2, r3 8089a34: 215a movs r1, #90 ; 0x5a 8089a36: 20f6 movs r0, #246 ; 0xf6 8089a38: f7cc f990 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089a3c: 4956 ldr r1, [pc, #344] ; (8089b98 ) 8089a3e: 4859 ldr r0, [pc, #356] ; (8089ba4 ) 8089a40: f7cb fbe4 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8089a44: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8089a48: b2db uxtb r3, r3 8089a4a: 461a mov r2, r3 8089a4c: 4b54 ldr r3, [pc, #336] ; (8089ba0 ) 8089a4e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089a52: 461a mov r2, r3 8089a54: 215a movs r1, #90 ; 0x5a 8089a56: 20c6 movs r0, #198 ; 0xc6 8089a58: f7cc f980 bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8089a5c: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8089a60: b2db uxtb r3, r3 8089a62: 461a mov r2, r3 8089a64: 4b4e ldr r3, [pc, #312] ; (8089ba0 ) 8089a66: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089a6a: 461a mov r2, r3 8089a6c: 215a movs r1, #90 ; 0x5a 8089a6e: 20d6 movs r0, #214 ; 0xd6 8089a70: f7cc f974 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8089a74: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8089a78: b2db uxtb r3, r3 8089a7a: 461a mov r2, r3 8089a7c: 4b48 ldr r3, [pc, #288] ; (8089ba0 ) 8089a7e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089a82: 461a mov r2, r3 8089a84: 215a movs r1, #90 ; 0x5a 8089a86: 20e6 movs r0, #230 ; 0xe6 8089a88: f7cc f968 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8089a8c: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8089a90: b2db uxtb r3, r3 8089a92: 461a mov r2, r3 8089a94: 4b42 ldr r3, [pc, #264] ; (8089ba0 ) 8089a96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089a9a: 461a mov r2, r3 8089a9c: 215a movs r1, #90 ; 0x5a 8089a9e: f44f 7083 mov.w r0, #262 ; 0x106 8089aa2: f7cc f95b bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, "."); 8089aa6: 4a40 ldr r2, [pc, #256] ; (8089ba8 ) 8089aa8: 215a movs r1, #90 ; 0x5a 8089aaa: f44f 708b mov.w r0, #278 ; 0x116 8089aae: f7cc f955 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8089ab2: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8089ab6: b2db uxtb r3, r3 8089ab8: 461a mov r2, r3 8089aba: 4b39 ldr r3, [pc, #228] ; (8089ba0 ) 8089abc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089ac0: 461a mov r2, r3 8089ac2: 215a movs r1, #90 ; 0x5a 8089ac4: f44f 7093 mov.w r0, #294 ; 0x126 8089ac8: f7cc f948 bl 8055d5c 8089acc: e0d0 b.n 8089c70 if(menupos == FilterHP_IEE) 8089ace: 4b31 ldr r3, [pc, #196] ; (8089b94 ) 8089ad0: 781b ldrb r3, [r3, #0] 8089ad2: b2db uxtb r3, r3 8089ad4: 2b1d cmp r3, #29 8089ad6: d169 bne.n 8089bac LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089ad8: 492f ldr r1, [pc, #188] ; (8089b98 ) 8089ada: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089ade: f7cb fb95 bl 805520c if(blk) 8089ae2: 4b2e ldr r3, [pc, #184] ; (8089b9c ) 8089ae4: 681b ldr r3, [r3, #0] 8089ae6: 2b00 cmp r3, #0 8089ae8: d00c beq.n 8089b04 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8089aea: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8089aee: b2db uxtb r3, r3 8089af0: 461a mov r2, r3 8089af2: 4b2b ldr r3, [pc, #172] ; (8089ba0 ) 8089af4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089af8: 461a mov r2, r3 8089afa: 215a movs r1, #90 ; 0x5a 8089afc: f44f 7083 mov.w r0, #262 ; 0x106 8089b00: f7cc f92c bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089b04: 4924 ldr r1, [pc, #144] ; (8089b98 ) 8089b06: 4827 ldr r0, [pc, #156] ; (8089ba4 ) 8089b08: f7cb fb80 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8089b0c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8089b10: b2db uxtb r3, r3 8089b12: 461a mov r2, r3 8089b14: 4b22 ldr r3, [pc, #136] ; (8089ba0 ) 8089b16: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089b1a: 461a mov r2, r3 8089b1c: 215a movs r1, #90 ; 0x5a 8089b1e: 20c6 movs r0, #198 ; 0xc6 8089b20: f7cc f91c bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8089b24: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8089b28: b2db uxtb r3, r3 8089b2a: 461a mov r2, r3 8089b2c: 4b1c ldr r3, [pc, #112] ; (8089ba0 ) 8089b2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089b32: 461a mov r2, r3 8089b34: 215a movs r1, #90 ; 0x5a 8089b36: 20d6 movs r0, #214 ; 0xd6 8089b38: f7cc f910 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8089b3c: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8089b40: b2db uxtb r3, r3 8089b42: 461a mov r2, r3 8089b44: 4b16 ldr r3, [pc, #88] ; (8089ba0 ) 8089b46: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089b4a: 461a mov r2, r3 8089b4c: 215a movs r1, #90 ; 0x5a 8089b4e: 20e6 movs r0, #230 ; 0xe6 8089b50: f7cc f904 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8089b54: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8089b58: b2db uxtb r3, r3 8089b5a: 461a mov r2, r3 8089b5c: 4b10 ldr r3, [pc, #64] ; (8089ba0 ) 8089b5e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089b62: 461a mov r2, r3 8089b64: 215a movs r1, #90 ; 0x5a 8089b66: 20f6 movs r0, #246 ; 0xf6 8089b68: f7cc f8f8 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, "."); 8089b6c: 4a0e ldr r2, [pc, #56] ; (8089ba8 ) 8089b6e: 215a movs r1, #90 ; 0x5a 8089b70: f44f 708b mov.w r0, #278 ; 0x116 8089b74: f7cc f8f2 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8089b78: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8089b7c: b2db uxtb r3, r3 8089b7e: 461a mov r2, r3 8089b80: 4b07 ldr r3, [pc, #28] ; (8089ba0 ) 8089b82: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089b86: 461a mov r2, r3 8089b88: 215a movs r1, #90 ; 0x5a 8089b8a: f44f 7093 mov.w r0, #294 ; 0x126 8089b8e: f7cc f8e5 bl 8055d5c 8089b92: e06d b.n 8089c70 8089b94: 20020070 .word 0x20020070 8089b98: ff0a0f1f .word 0xff0a0f1f 8089b9c: 200216ac .word 0x200216ac 8089ba0: 2002096c .word 0x2002096c 8089ba4: ffd8aa57 .word 0xffd8aa57 8089ba8: 080d6258 .word 0x080d6258 if(menupos == FilterHP_IKD) 8089bac: 4bc5 ldr r3, [pc, #788] ; (8089ec4 ) 8089bae: 781b ldrb r3, [r3, #0] 8089bb0: b2db uxtb r3, r3 8089bb2: 2b1e cmp r3, #30 8089bb4: d15c bne.n 8089c70 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089bb6: 49c4 ldr r1, [pc, #784] ; (8089ec8 ) 8089bb8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089bbc: f7cb fb26 bl 805520c if(blk) 8089bc0: 4bc2 ldr r3, [pc, #776] ; (8089ecc ) 8089bc2: 681b ldr r3, [r3, #0] 8089bc4: 2b00 cmp r3, #0 8089bc6: d00c beq.n 8089be2 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8089bc8: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8089bcc: b2db uxtb r3, r3 8089bce: 461a mov r2, r3 8089bd0: 4bbf ldr r3, [pc, #764] ; (8089ed0 ) 8089bd2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089bd6: 461a mov r2, r3 8089bd8: 215a movs r1, #90 ; 0x5a 8089bda: f44f 7093 mov.w r0, #294 ; 0x126 8089bde: f7cc f8bd bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089be2: 49b9 ldr r1, [pc, #740] ; (8089ec8 ) 8089be4: 48bb ldr r0, [pc, #748] ; (8089ed4 ) 8089be6: f7cb fb11 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8089bea: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8089bee: b2db uxtb r3, r3 8089bf0: 461a mov r2, r3 8089bf2: 4bb7 ldr r3, [pc, #732] ; (8089ed0 ) 8089bf4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089bf8: 461a mov r2, r3 8089bfa: 215a movs r1, #90 ; 0x5a 8089bfc: 20c6 movs r0, #198 ; 0xc6 8089bfe: f7cc f8ad bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8089c02: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8089c06: b2db uxtb r3, r3 8089c08: 461a mov r2, r3 8089c0a: 4bb1 ldr r3, [pc, #708] ; (8089ed0 ) 8089c0c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089c10: 461a mov r2, r3 8089c12: 215a movs r1, #90 ; 0x5a 8089c14: 20d6 movs r0, #214 ; 0xd6 8089c16: f7cc f8a1 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8089c1a: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8089c1e: b2db uxtb r3, r3 8089c20: 461a mov r2, r3 8089c22: 4bab ldr r3, [pc, #684] ; (8089ed0 ) 8089c24: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089c28: 461a mov r2, r3 8089c2a: 215a movs r1, #90 ; 0x5a 8089c2c: 20e6 movs r0, #230 ; 0xe6 8089c2e: f7cc f895 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8089c32: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8089c36: b2db uxtb r3, r3 8089c38: 461a mov r2, r3 8089c3a: 4ba5 ldr r3, [pc, #660] ; (8089ed0 ) 8089c3c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089c40: 461a mov r2, r3 8089c42: 215a movs r1, #90 ; 0x5a 8089c44: 20f6 movs r0, #246 ; 0xf6 8089c46: f7cc f889 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8089c4a: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8089c4e: b2db uxtb r3, r3 8089c50: 461a mov r2, r3 8089c52: 4b9f ldr r3, [pc, #636] ; (8089ed0 ) 8089c54: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089c58: 461a mov r2, r3 8089c5a: 215a movs r1, #90 ; 0x5a 8089c5c: f44f 7083 mov.w r0, #262 ; 0x106 8089c60: f7cc f87c bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, "."); 8089c64: 4a9c ldr r2, [pc, #624] ; (8089ed8 ) 8089c66: 215a movs r1, #90 ; 0x5a 8089c68: f44f 708b mov.w r0, #278 ; 0x116 8089c6c: f7cc f876 bl 8055d5c if(menupos == FilterLP_IDT) 8089c70: 4b94 ldr r3, [pc, #592] ; (8089ec4 ) 8089c72: 781b ldrb r3, [r3, #0] 8089c74: b2db uxtb r3, r3 8089c76: 2b1f cmp r3, #31 8089c78: d15d bne.n 8089d36 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089c7a: 4993 ldr r1, [pc, #588] ; (8089ec8 ) 8089c7c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089c80: f7cb fac4 bl 805520c if(blk) 8089c84: 4b91 ldr r3, [pc, #580] ; (8089ecc ) 8089c86: 681b ldr r3, [r3, #0] 8089c88: 2b00 cmp r3, #0 8089c8a: d00b beq.n 8089ca4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8089c8c: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8089c90: b2db uxtb r3, r3 8089c92: 461a mov r2, r3 8089c94: 4b8e ldr r3, [pc, #568] ; (8089ed0 ) 8089c96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089c9a: 461a mov r2, r3 8089c9c: 216a movs r1, #106 ; 0x6a 8089c9e: 20c6 movs r0, #198 ; 0xc6 8089ca0: f7cc f85c bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089ca4: 4988 ldr r1, [pc, #544] ; (8089ec8 ) 8089ca6: 488b ldr r0, [pc, #556] ; (8089ed4 ) 8089ca8: f7cb fab0 bl 805520c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8089cac: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8089cb0: b2db uxtb r3, r3 8089cb2: 461a mov r2, r3 8089cb4: 4b86 ldr r3, [pc, #536] ; (8089ed0 ) 8089cb6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089cba: 461a mov r2, r3 8089cbc: 216a movs r1, #106 ; 0x6a 8089cbe: 20d6 movs r0, #214 ; 0xd6 8089cc0: f7cc f84c bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8089cc4: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8089cc8: b2db uxtb r3, r3 8089cca: 461a mov r2, r3 8089ccc: 4b80 ldr r3, [pc, #512] ; (8089ed0 ) 8089cce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089cd2: 461a mov r2, r3 8089cd4: 216a movs r1, #106 ; 0x6a 8089cd6: 20e6 movs r0, #230 ; 0xe6 8089cd8: f7cc f840 bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8089cdc: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8089ce0: b2db uxtb r3, r3 8089ce2: 461a mov r2, r3 8089ce4: 4b7a ldr r3, [pc, #488] ; (8089ed0 ) 8089ce6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089cea: 461a mov r2, r3 8089cec: 216a movs r1, #106 ; 0x6a 8089cee: 20f6 movs r0, #246 ; 0xf6 8089cf0: f7cc f834 bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8089cf4: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8089cf8: b2db uxtb r3, r3 8089cfa: 461a mov r2, r3 8089cfc: 4b74 ldr r3, [pc, #464] ; (8089ed0 ) 8089cfe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089d02: 461a mov r2, r3 8089d04: 216a movs r1, #106 ; 0x6a 8089d06: f44f 7083 mov.w r0, #262 ; 0x106 8089d0a: f7cc f827 bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, "."); 8089d0e: 4a72 ldr r2, [pc, #456] ; (8089ed8 ) 8089d10: 216a movs r1, #106 ; 0x6a 8089d12: f44f 708b mov.w r0, #278 ; 0x116 8089d16: f7cc f821 bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8089d1a: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8089d1e: b2db uxtb r3, r3 8089d20: 461a mov r2, r3 8089d22: 4b6b ldr r3, [pc, #428] ; (8089ed0 ) 8089d24: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089d28: 461a mov r2, r3 8089d2a: 216a movs r1, #106 ; 0x6a 8089d2c: f44f 7093 mov.w r0, #294 ; 0x126 8089d30: f7cc f814 bl 8055d5c 8089d34: e1fa b.n 808a12c if(menupos == FilterLP_IET) 8089d36: 4b63 ldr r3, [pc, #396] ; (8089ec4 ) 8089d38: 781b ldrb r3, [r3, #0] 8089d3a: b2db uxtb r3, r3 8089d3c: 2b20 cmp r3, #32 8089d3e: d15d bne.n 8089dfc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089d40: 4961 ldr r1, [pc, #388] ; (8089ec8 ) 8089d42: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089d46: f7cb fa61 bl 805520c if(blk) 8089d4a: 4b60 ldr r3, [pc, #384] ; (8089ecc ) 8089d4c: 681b ldr r3, [r3, #0] 8089d4e: 2b00 cmp r3, #0 8089d50: d00b beq.n 8089d6a LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8089d52: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8089d56: b2db uxtb r3, r3 8089d58: 461a mov r2, r3 8089d5a: 4b5d ldr r3, [pc, #372] ; (8089ed0 ) 8089d5c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089d60: 461a mov r2, r3 8089d62: 216a movs r1, #106 ; 0x6a 8089d64: 20d6 movs r0, #214 ; 0xd6 8089d66: f7cb fff9 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089d6a: 4957 ldr r1, [pc, #348] ; (8089ec8 ) 8089d6c: 4859 ldr r0, [pc, #356] ; (8089ed4 ) 8089d6e: f7cb fa4d bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8089d72: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8089d76: b2db uxtb r3, r3 8089d78: 461a mov r2, r3 8089d7a: 4b55 ldr r3, [pc, #340] ; (8089ed0 ) 8089d7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089d80: 461a mov r2, r3 8089d82: 216a movs r1, #106 ; 0x6a 8089d84: 20c6 movs r0, #198 ; 0xc6 8089d86: f7cb ffe9 bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8089d8a: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8089d8e: b2db uxtb r3, r3 8089d90: 461a mov r2, r3 8089d92: 4b4f ldr r3, [pc, #316] ; (8089ed0 ) 8089d94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089d98: 461a mov r2, r3 8089d9a: 216a movs r1, #106 ; 0x6a 8089d9c: 20e6 movs r0, #230 ; 0xe6 8089d9e: f7cb ffdd bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8089da2: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8089da6: b2db uxtb r3, r3 8089da8: 461a mov r2, r3 8089daa: 4b49 ldr r3, [pc, #292] ; (8089ed0 ) 8089dac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089db0: 461a mov r2, r3 8089db2: 216a movs r1, #106 ; 0x6a 8089db4: 20f6 movs r0, #246 ; 0xf6 8089db6: f7cb ffd1 bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8089dba: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8089dbe: b2db uxtb r3, r3 8089dc0: 461a mov r2, r3 8089dc2: 4b43 ldr r3, [pc, #268] ; (8089ed0 ) 8089dc4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089dc8: 461a mov r2, r3 8089dca: 216a movs r1, #106 ; 0x6a 8089dcc: f44f 7083 mov.w r0, #262 ; 0x106 8089dd0: f7cb ffc4 bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, "."); 8089dd4: 4a40 ldr r2, [pc, #256] ; (8089ed8 ) 8089dd6: 216a movs r1, #106 ; 0x6a 8089dd8: f44f 708b mov.w r0, #278 ; 0x116 8089ddc: f7cb ffbe bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8089de0: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8089de4: b2db uxtb r3, r3 8089de6: 461a mov r2, r3 8089de8: 4b39 ldr r3, [pc, #228] ; (8089ed0 ) 8089dea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089dee: 461a mov r2, r3 8089df0: 216a movs r1, #106 ; 0x6a 8089df2: f44f 7093 mov.w r0, #294 ; 0x126 8089df6: f7cb ffb1 bl 8055d5c 8089dfa: e197 b.n 808a12c if(menupos == FilterLP_IES) 8089dfc: 4b31 ldr r3, [pc, #196] ; (8089ec4 ) 8089dfe: 781b ldrb r3, [r3, #0] 8089e00: b2db uxtb r3, r3 8089e02: 2b21 cmp r3, #33 ; 0x21 8089e04: d16a bne.n 8089edc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089e06: 4930 ldr r1, [pc, #192] ; (8089ec8 ) 8089e08: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089e0c: f7cb f9fe bl 805520c if(blk) 8089e10: 4b2e ldr r3, [pc, #184] ; (8089ecc ) 8089e12: 681b ldr r3, [r3, #0] 8089e14: 2b00 cmp r3, #0 8089e16: d00b beq.n 8089e30 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8089e18: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8089e1c: b2db uxtb r3, r3 8089e1e: 461a mov r2, r3 8089e20: 4b2b ldr r3, [pc, #172] ; (8089ed0 ) 8089e22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089e26: 461a mov r2, r3 8089e28: 216a movs r1, #106 ; 0x6a 8089e2a: 20e6 movs r0, #230 ; 0xe6 8089e2c: f7cb ff96 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089e30: 4925 ldr r1, [pc, #148] ; (8089ec8 ) 8089e32: 4828 ldr r0, [pc, #160] ; (8089ed4 ) 8089e34: f7cb f9ea bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8089e38: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8089e3c: b2db uxtb r3, r3 8089e3e: 461a mov r2, r3 8089e40: 4b23 ldr r3, [pc, #140] ; (8089ed0 ) 8089e42: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089e46: 461a mov r2, r3 8089e48: 216a movs r1, #106 ; 0x6a 8089e4a: 20c6 movs r0, #198 ; 0xc6 8089e4c: f7cb ff86 bl 8055d5c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8089e50: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8089e54: b2db uxtb r3, r3 8089e56: 461a mov r2, r3 8089e58: 4b1d ldr r3, [pc, #116] ; (8089ed0 ) 8089e5a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089e5e: 461a mov r2, r3 8089e60: 216a movs r1, #106 ; 0x6a 8089e62: 20d6 movs r0, #214 ; 0xd6 8089e64: f7cb ff7a bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8089e68: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8089e6c: b2db uxtb r3, r3 8089e6e: 461a mov r2, r3 8089e70: 4b17 ldr r3, [pc, #92] ; (8089ed0 ) 8089e72: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089e76: 461a mov r2, r3 8089e78: 216a movs r1, #106 ; 0x6a 8089e7a: 20f6 movs r0, #246 ; 0xf6 8089e7c: f7cb ff6e bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8089e80: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8089e84: b2db uxtb r3, r3 8089e86: 461a mov r2, r3 8089e88: 4b11 ldr r3, [pc, #68] ; (8089ed0 ) 8089e8a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089e8e: 461a mov r2, r3 8089e90: 216a movs r1, #106 ; 0x6a 8089e92: f44f 7083 mov.w r0, #262 ; 0x106 8089e96: f7cb ff61 bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, "."); 8089e9a: 4a0f ldr r2, [pc, #60] ; (8089ed8 ) 8089e9c: 216a movs r1, #106 ; 0x6a 8089e9e: f44f 708b mov.w r0, #278 ; 0x116 8089ea2: f7cb ff5b bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8089ea6: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8089eaa: b2db uxtb r3, r3 8089eac: 461a mov r2, r3 8089eae: 4b08 ldr r3, [pc, #32] ; (8089ed0 ) 8089eb0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089eb4: 461a mov r2, r3 8089eb6: 216a movs r1, #106 ; 0x6a 8089eb8: f44f 7093 mov.w r0, #294 ; 0x126 8089ebc: f7cb ff4e bl 8055d5c 8089ec0: e134 b.n 808a12c 8089ec2: bf00 nop 8089ec4: 20020070 .word 0x20020070 8089ec8: ff0a0f1f .word 0xff0a0f1f 8089ecc: 200216ac .word 0x200216ac 8089ed0: 2002096c .word 0x2002096c 8089ed4: ffd8aa57 .word 0xffd8aa57 8089ed8: 080d6258 .word 0x080d6258 if(menupos == FilterLP_IED) 8089edc: 4bc5 ldr r3, [pc, #788] ; (808a1f4 ) 8089ede: 781b ldrb r3, [r3, #0] 8089ee0: b2db uxtb r3, r3 8089ee2: 2b22 cmp r3, #34 ; 0x22 8089ee4: d15d bne.n 8089fa2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089ee6: 49c4 ldr r1, [pc, #784] ; (808a1f8 ) 8089ee8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089eec: f7cb f98e bl 805520c if(blk) 8089ef0: 4bc2 ldr r3, [pc, #776] ; (808a1fc ) 8089ef2: 681b ldr r3, [r3, #0] 8089ef4: 2b00 cmp r3, #0 8089ef6: d00b beq.n 8089f10 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8089ef8: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8089efc: b2db uxtb r3, r3 8089efe: 461a mov r2, r3 8089f00: 4bbf ldr r3, [pc, #764] ; (808a200 ) 8089f02: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089f06: 461a mov r2, r3 8089f08: 216a movs r1, #106 ; 0x6a 8089f0a: 20f6 movs r0, #246 ; 0xf6 8089f0c: f7cb ff26 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089f10: 49b9 ldr r1, [pc, #740] ; (808a1f8 ) 8089f12: 48bc ldr r0, [pc, #752] ; (808a204 ) 8089f14: f7cb f97a bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8089f18: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8089f1c: b2db uxtb r3, r3 8089f1e: 461a mov r2, r3 8089f20: 4bb7 ldr r3, [pc, #732] ; (808a200 ) 8089f22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089f26: 461a mov r2, r3 8089f28: 216a movs r1, #106 ; 0x6a 8089f2a: 20c6 movs r0, #198 ; 0xc6 8089f2c: f7cb ff16 bl 8055d5c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8089f30: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8089f34: b2db uxtb r3, r3 8089f36: 461a mov r2, r3 8089f38: 4bb1 ldr r3, [pc, #708] ; (808a200 ) 8089f3a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089f3e: 461a mov r2, r3 8089f40: 216a movs r1, #106 ; 0x6a 8089f42: 20d6 movs r0, #214 ; 0xd6 8089f44: f7cb ff0a bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8089f48: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8089f4c: b2db uxtb r3, r3 8089f4e: 461a mov r2, r3 8089f50: 4bab ldr r3, [pc, #684] ; (808a200 ) 8089f52: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089f56: 461a mov r2, r3 8089f58: 216a movs r1, #106 ; 0x6a 8089f5a: 20e6 movs r0, #230 ; 0xe6 8089f5c: f7cb fefe bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8089f60: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8089f64: b2db uxtb r3, r3 8089f66: 461a mov r2, r3 8089f68: 4ba5 ldr r3, [pc, #660] ; (808a200 ) 8089f6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089f6e: 461a mov r2, r3 8089f70: 216a movs r1, #106 ; 0x6a 8089f72: f44f 7083 mov.w r0, #262 ; 0x106 8089f76: f7cb fef1 bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, "."); 8089f7a: 4aa3 ldr r2, [pc, #652] ; (808a208 ) 8089f7c: 216a movs r1, #106 ; 0x6a 8089f7e: f44f 708b mov.w r0, #278 ; 0x116 8089f82: f7cb feeb bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8089f86: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8089f8a: b2db uxtb r3, r3 8089f8c: 461a mov r2, r3 8089f8e: 4b9c ldr r3, [pc, #624] ; (808a200 ) 8089f90: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089f94: 461a mov r2, r3 8089f96: 216a movs r1, #106 ; 0x6a 8089f98: f44f 7093 mov.w r0, #294 ; 0x126 8089f9c: f7cb fede bl 8055d5c 8089fa0: e0c4 b.n 808a12c if(menupos == FilterLP_IEE) 8089fa2: 4b94 ldr r3, [pc, #592] ; (808a1f4 ) 8089fa4: 781b ldrb r3, [r3, #0] 8089fa6: b2db uxtb r3, r3 8089fa8: 2b23 cmp r3, #35 ; 0x23 8089faa: d15d bne.n 808a068 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089fac: 4992 ldr r1, [pc, #584] ; (808a1f8 ) 8089fae: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089fb2: f7cb f92b bl 805520c if(blk) 8089fb6: 4b91 ldr r3, [pc, #580] ; (808a1fc ) 8089fb8: 681b ldr r3, [r3, #0] 8089fba: 2b00 cmp r3, #0 8089fbc: d00c beq.n 8089fd8 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8089fbe: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8089fc2: b2db uxtb r3, r3 8089fc4: 461a mov r2, r3 8089fc6: 4b8e ldr r3, [pc, #568] ; (808a200 ) 8089fc8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089fcc: 461a mov r2, r3 8089fce: 216a movs r1, #106 ; 0x6a 8089fd0: f44f 7083 mov.w r0, #262 ; 0x106 8089fd4: f7cb fec2 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089fd8: 4987 ldr r1, [pc, #540] ; (808a1f8 ) 8089fda: 488a ldr r0, [pc, #552] ; (808a204 ) 8089fdc: f7cb f916 bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8089fe0: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8089fe4: b2db uxtb r3, r3 8089fe6: 461a mov r2, r3 8089fe8: 4b85 ldr r3, [pc, #532] ; (808a200 ) 8089fea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089fee: 461a mov r2, r3 8089ff0: 216a movs r1, #106 ; 0x6a 8089ff2: 20c6 movs r0, #198 ; 0xc6 8089ff4: f7cb feb2 bl 8055d5c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8089ff8: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8089ffc: b2db uxtb r3, r3 8089ffe: 461a mov r2, r3 808a000: 4b7f ldr r3, [pc, #508] ; (808a200 ) 808a002: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a006: 461a mov r2, r3 808a008: 216a movs r1, #106 ; 0x6a 808a00a: 20d6 movs r0, #214 ; 0xd6 808a00c: f7cb fea6 bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 808a010: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808a014: b2db uxtb r3, r3 808a016: 461a mov r2, r3 808a018: 4b79 ldr r3, [pc, #484] ; (808a200 ) 808a01a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a01e: 461a mov r2, r3 808a020: 216a movs r1, #106 ; 0x6a 808a022: 20e6 movs r0, #230 ; 0xe6 808a024: f7cb fe9a bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 808a028: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808a02c: b2db uxtb r3, r3 808a02e: 461a mov r2, r3 808a030: 4b73 ldr r3, [pc, #460] ; (808a200 ) 808a032: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a036: 461a mov r2, r3 808a038: 216a movs r1, #106 ; 0x6a 808a03a: 20f6 movs r0, #246 ; 0xf6 808a03c: f7cb fe8e bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, "."); 808a040: 4a71 ldr r2, [pc, #452] ; (808a208 ) 808a042: 216a movs r1, #106 ; 0x6a 808a044: f44f 708b mov.w r0, #278 ; 0x116 808a048: f7cb fe88 bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 808a04c: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808a050: b2db uxtb r3, r3 808a052: 461a mov r2, r3 808a054: 4b6a ldr r3, [pc, #424] ; (808a200 ) 808a056: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a05a: 461a mov r2, r3 808a05c: 216a movs r1, #106 ; 0x6a 808a05e: f44f 7093 mov.w r0, #294 ; 0x126 808a062: f7cb fe7b bl 8055d5c 808a066: e061 b.n 808a12c if(menupos == FilterLP_IKD) 808a068: 4b62 ldr r3, [pc, #392] ; (808a1f4 ) 808a06a: 781b ldrb r3, [r3, #0] 808a06c: b2db uxtb r3, r3 808a06e: 2b24 cmp r3, #36 ; 0x24 808a070: d15c bne.n 808a12c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a072: 4961 ldr r1, [pc, #388] ; (808a1f8 ) 808a074: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a078: f7cb f8c8 bl 805520c if(blk) 808a07c: 4b5f ldr r3, [pc, #380] ; (808a1fc ) 808a07e: 681b ldr r3, [r3, #0] 808a080: 2b00 cmp r3, #0 808a082: d00c beq.n 808a09e LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 808a084: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808a088: b2db uxtb r3, r3 808a08a: 461a mov r2, r3 808a08c: 4b5c ldr r3, [pc, #368] ; (808a200 ) 808a08e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a092: 461a mov r2, r3 808a094: 216a movs r1, #106 ; 0x6a 808a096: f44f 7093 mov.w r0, #294 ; 0x126 808a09a: f7cb fe5f bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a09e: 4956 ldr r1, [pc, #344] ; (808a1f8 ) 808a0a0: 4858 ldr r0, [pc, #352] ; (808a204 ) 808a0a2: f7cb f8b3 bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 808a0a6: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808a0aa: b2db uxtb r3, r3 808a0ac: 461a mov r2, r3 808a0ae: 4b54 ldr r3, [pc, #336] ; (808a200 ) 808a0b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a0b4: 461a mov r2, r3 808a0b6: 216a movs r1, #106 ; 0x6a 808a0b8: 20c6 movs r0, #198 ; 0xc6 808a0ba: f7cb fe4f bl 8055d5c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 808a0be: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808a0c2: b2db uxtb r3, r3 808a0c4: 461a mov r2, r3 808a0c6: 4b4e ldr r3, [pc, #312] ; (808a200 ) 808a0c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a0cc: 461a mov r2, r3 808a0ce: 216a movs r1, #106 ; 0x6a 808a0d0: 20d6 movs r0, #214 ; 0xd6 808a0d2: f7cb fe43 bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 808a0d6: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808a0da: b2db uxtb r3, r3 808a0dc: 461a mov r2, r3 808a0de: 4b48 ldr r3, [pc, #288] ; (808a200 ) 808a0e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a0e4: 461a mov r2, r3 808a0e6: 216a movs r1, #106 ; 0x6a 808a0e8: 20e6 movs r0, #230 ; 0xe6 808a0ea: f7cb fe37 bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 808a0ee: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808a0f2: b2db uxtb r3, r3 808a0f4: 461a mov r2, r3 808a0f6: 4b42 ldr r3, [pc, #264] ; (808a200 ) 808a0f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a0fc: 461a mov r2, r3 808a0fe: 216a movs r1, #106 ; 0x6a 808a100: 20f6 movs r0, #246 ; 0xf6 808a102: f7cb fe2b bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 808a106: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808a10a: b2db uxtb r3, r3 808a10c: 461a mov r2, r3 808a10e: 4b3c ldr r3, [pc, #240] ; (808a200 ) 808a110: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a114: 461a mov r2, r3 808a116: 216a movs r1, #106 ; 0x6a 808a118: f44f 7083 mov.w r0, #262 ; 0x106 808a11c: f7cb fe1e bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, "."); 808a120: 4a39 ldr r2, [pc, #228] ; (808a208 ) 808a122: 216a movs r1, #106 ; 0x6a 808a124: f44f 708b mov.w r0, #278 ; 0x116 808a128: f7cb fe18 bl 8055d5c if(menupos == VibMax_IDT) 808a12c: 4b31 ldr r3, [pc, #196] ; (808a1f4 ) 808a12e: 781b ldrb r3, [r3, #0] 808a130: b2db uxtb r3, r3 808a132: 2b0b cmp r3, #11 808a134: d16a bne.n 808a20c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a136: 4930 ldr r1, [pc, #192] ; (808a1f8 ) 808a138: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a13c: f7cb f866 bl 805520c if(blk) 808a140: 4b2e ldr r3, [pc, #184] ; (808a1fc ) 808a142: 681b ldr r3, [r3, #0] 808a144: 2b00 cmp r3, #0 808a146: d00b beq.n 808a160 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 808a148: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808a14c: b2db uxtb r3, r3 808a14e: 461a mov r2, r3 808a150: 4b2b ldr r3, [pc, #172] ; (808a200 ) 808a152: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a156: 461a mov r2, r3 808a158: 21aa movs r1, #170 ; 0xaa 808a15a: 20c6 movs r0, #198 ; 0xc6 808a15c: f7cb fdfe bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a160: 4925 ldr r1, [pc, #148] ; (808a1f8 ) 808a162: 4828 ldr r0, [pc, #160] ; (808a204 ) 808a164: f7cb f852 bl 805520c LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 808a168: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808a16c: b2db uxtb r3, r3 808a16e: 461a mov r2, r3 808a170: 4b23 ldr r3, [pc, #140] ; (808a200 ) 808a172: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a176: 461a mov r2, r3 808a178: 21aa movs r1, #170 ; 0xaa 808a17a: 20d6 movs r0, #214 ; 0xd6 808a17c: f7cb fdee bl 8055d5c LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 808a180: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808a184: b2db uxtb r3, r3 808a186: 461a mov r2, r3 808a188: 4b1d ldr r3, [pc, #116] ; (808a200 ) 808a18a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a18e: 461a mov r2, r3 808a190: 21aa movs r1, #170 ; 0xaa 808a192: 20e6 movs r0, #230 ; 0xe6 808a194: f7cb fde2 bl 8055d5c LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 808a198: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808a19c: b2db uxtb r3, r3 808a19e: 461a mov r2, r3 808a1a0: 4b17 ldr r3, [pc, #92] ; (808a200 ) 808a1a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a1a6: 461a mov r2, r3 808a1a8: 21aa movs r1, #170 ; 0xaa 808a1aa: 20f6 movs r0, #246 ; 0xf6 808a1ac: f7cb fdd6 bl 8055d5c LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 808a1b0: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808a1b4: b2db uxtb r3, r3 808a1b6: 461a mov r2, r3 808a1b8: 4b11 ldr r3, [pc, #68] ; (808a200 ) 808a1ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a1be: 461a mov r2, r3 808a1c0: 21aa movs r1, #170 ; 0xaa 808a1c2: f44f 7083 mov.w r0, #262 ; 0x106 808a1c6: f7cb fdc9 bl 8055d5c LCD_DisplayString(278, LCD_LINE_10, "."); 808a1ca: 4a0f ldr r2, [pc, #60] ; (808a208 ) 808a1cc: 21aa movs r1, #170 ; 0xaa 808a1ce: f44f 708b mov.w r0, #278 ; 0x116 808a1d2: f7cb fdc3 bl 8055d5c LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 808a1d6: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808a1da: b2db uxtb r3, r3 808a1dc: 461a mov r2, r3 808a1de: 4b08 ldr r3, [pc, #32] ; (808a200 ) 808a1e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a1e4: 461a mov r2, r3 808a1e6: 21aa movs r1, #170 ; 0xaa 808a1e8: f44f 7093 mov.w r0, #294 ; 0x126 808a1ec: f7cb fdb6 bl 8055d5c 808a1f0: e206 b.n 808a600 808a1f2: bf00 nop 808a1f4: 20020070 .word 0x20020070 808a1f8: ff0a0f1f .word 0xff0a0f1f 808a1fc: 200216ac .word 0x200216ac 808a200: 2002096c .word 0x2002096c 808a204: ffd8aa57 .word 0xffd8aa57 808a208: 080d6258 .word 0x080d6258 if(menupos == VibMax_IET) 808a20c: 4bc5 ldr r3, [pc, #788] ; (808a524 ) 808a20e: 781b ldrb r3, [r3, #0] 808a210: b2db uxtb r3, r3 808a212: 2b0c cmp r3, #12 808a214: d15d bne.n 808a2d2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a216: 49c4 ldr r1, [pc, #784] ; (808a528 ) 808a218: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a21c: f7ca fff6 bl 805520c if(blk) 808a220: 4bc2 ldr r3, [pc, #776] ; (808a52c ) 808a222: 681b ldr r3, [r3, #0] 808a224: 2b00 cmp r3, #0 808a226: d00b beq.n 808a240 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 808a228: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808a22c: b2db uxtb r3, r3 808a22e: 461a mov r2, r3 808a230: 4bbf ldr r3, [pc, #764] ; (808a530 ) 808a232: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a236: 461a mov r2, r3 808a238: 21aa movs r1, #170 ; 0xaa 808a23a: 20d6 movs r0, #214 ; 0xd6 808a23c: f7cb fd8e bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a240: 49b9 ldr r1, [pc, #740] ; (808a528 ) 808a242: 48bc ldr r0, [pc, #752] ; (808a534 ) 808a244: f7ca ffe2 bl 805520c LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 808a248: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808a24c: b2db uxtb r3, r3 808a24e: 461a mov r2, r3 808a250: 4bb7 ldr r3, [pc, #732] ; (808a530 ) 808a252: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a256: 461a mov r2, r3 808a258: 21aa movs r1, #170 ; 0xaa 808a25a: 20c6 movs r0, #198 ; 0xc6 808a25c: f7cb fd7e bl 8055d5c LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 808a260: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808a264: b2db uxtb r3, r3 808a266: 461a mov r2, r3 808a268: 4bb1 ldr r3, [pc, #708] ; (808a530 ) 808a26a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a26e: 461a mov r2, r3 808a270: 21aa movs r1, #170 ; 0xaa 808a272: 20e6 movs r0, #230 ; 0xe6 808a274: f7cb fd72 bl 8055d5c LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 808a278: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808a27c: b2db uxtb r3, r3 808a27e: 461a mov r2, r3 808a280: 4bab ldr r3, [pc, #684] ; (808a530 ) 808a282: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a286: 461a mov r2, r3 808a288: 21aa movs r1, #170 ; 0xaa 808a28a: 20f6 movs r0, #246 ; 0xf6 808a28c: f7cb fd66 bl 8055d5c LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 808a290: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808a294: b2db uxtb r3, r3 808a296: 461a mov r2, r3 808a298: 4ba5 ldr r3, [pc, #660] ; (808a530 ) 808a29a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a29e: 461a mov r2, r3 808a2a0: 21aa movs r1, #170 ; 0xaa 808a2a2: f44f 7083 mov.w r0, #262 ; 0x106 808a2a6: f7cb fd59 bl 8055d5c LCD_DisplayString(278, LCD_LINE_10, "."); 808a2aa: 4aa3 ldr r2, [pc, #652] ; (808a538 ) 808a2ac: 21aa movs r1, #170 ; 0xaa 808a2ae: f44f 708b mov.w r0, #278 ; 0x116 808a2b2: f7cb fd53 bl 8055d5c LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 808a2b6: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808a2ba: b2db uxtb r3, r3 808a2bc: 461a mov r2, r3 808a2be: 4b9c ldr r3, [pc, #624] ; (808a530 ) 808a2c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a2c4: 461a mov r2, r3 808a2c6: 21aa movs r1, #170 ; 0xaa 808a2c8: f44f 7093 mov.w r0, #294 ; 0x126 808a2cc: f7cb fd46 bl 8055d5c 808a2d0: e196 b.n 808a600 if(menupos == VibMax_IES) 808a2d2: 4b94 ldr r3, [pc, #592] ; (808a524 ) 808a2d4: 781b ldrb r3, [r3, #0] 808a2d6: b2db uxtb r3, r3 808a2d8: 2b0d cmp r3, #13 808a2da: d15d bne.n 808a398 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a2dc: 4992 ldr r1, [pc, #584] ; (808a528 ) 808a2de: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a2e2: f7ca ff93 bl 805520c if(blk) 808a2e6: 4b91 ldr r3, [pc, #580] ; (808a52c ) 808a2e8: 681b ldr r3, [r3, #0] 808a2ea: 2b00 cmp r3, #0 808a2ec: d00b beq.n 808a306 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 808a2ee: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808a2f2: b2db uxtb r3, r3 808a2f4: 461a mov r2, r3 808a2f6: 4b8e ldr r3, [pc, #568] ; (808a530 ) 808a2f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a2fc: 461a mov r2, r3 808a2fe: 21aa movs r1, #170 ; 0xaa 808a300: 20e6 movs r0, #230 ; 0xe6 808a302: f7cb fd2b bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a306: 4988 ldr r1, [pc, #544] ; (808a528 ) 808a308: 488a ldr r0, [pc, #552] ; (808a534 ) 808a30a: f7ca ff7f bl 805520c LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 808a30e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808a312: b2db uxtb r3, r3 808a314: 461a mov r2, r3 808a316: 4b86 ldr r3, [pc, #536] ; (808a530 ) 808a318: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a31c: 461a mov r2, r3 808a31e: 21aa movs r1, #170 ; 0xaa 808a320: 20c6 movs r0, #198 ; 0xc6 808a322: f7cb fd1b bl 8055d5c LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 808a326: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808a32a: b2db uxtb r3, r3 808a32c: 461a mov r2, r3 808a32e: 4b80 ldr r3, [pc, #512] ; (808a530 ) 808a330: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a334: 461a mov r2, r3 808a336: 21aa movs r1, #170 ; 0xaa 808a338: 20d6 movs r0, #214 ; 0xd6 808a33a: f7cb fd0f bl 8055d5c LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 808a33e: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808a342: b2db uxtb r3, r3 808a344: 461a mov r2, r3 808a346: 4b7a ldr r3, [pc, #488] ; (808a530 ) 808a348: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a34c: 461a mov r2, r3 808a34e: 21aa movs r1, #170 ; 0xaa 808a350: 20f6 movs r0, #246 ; 0xf6 808a352: f7cb fd03 bl 8055d5c LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 808a356: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808a35a: b2db uxtb r3, r3 808a35c: 461a mov r2, r3 808a35e: 4b74 ldr r3, [pc, #464] ; (808a530 ) 808a360: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a364: 461a mov r2, r3 808a366: 21aa movs r1, #170 ; 0xaa 808a368: f44f 7083 mov.w r0, #262 ; 0x106 808a36c: f7cb fcf6 bl 8055d5c LCD_DisplayString(278, LCD_LINE_10, "."); 808a370: 4a71 ldr r2, [pc, #452] ; (808a538 ) 808a372: 21aa movs r1, #170 ; 0xaa 808a374: f44f 708b mov.w r0, #278 ; 0x116 808a378: f7cb fcf0 bl 8055d5c LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 808a37c: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808a380: b2db uxtb r3, r3 808a382: 461a mov r2, r3 808a384: 4b6a ldr r3, [pc, #424] ; (808a530 ) 808a386: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a38a: 461a mov r2, r3 808a38c: 21aa movs r1, #170 ; 0xaa 808a38e: f44f 7093 mov.w r0, #294 ; 0x126 808a392: f7cb fce3 bl 8055d5c 808a396: e133 b.n 808a600 if(menupos == VibMax_IED) 808a398: 4b62 ldr r3, [pc, #392] ; (808a524 ) 808a39a: 781b ldrb r3, [r3, #0] 808a39c: b2db uxtb r3, r3 808a39e: 2b0e cmp r3, #14 808a3a0: d15d bne.n 808a45e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a3a2: 4961 ldr r1, [pc, #388] ; (808a528 ) 808a3a4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a3a8: f7ca ff30 bl 805520c if(blk) 808a3ac: 4b5f ldr r3, [pc, #380] ; (808a52c ) 808a3ae: 681b ldr r3, [r3, #0] 808a3b0: 2b00 cmp r3, #0 808a3b2: d00b beq.n 808a3cc LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 808a3b4: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808a3b8: b2db uxtb r3, r3 808a3ba: 461a mov r2, r3 808a3bc: 4b5c ldr r3, [pc, #368] ; (808a530 ) 808a3be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a3c2: 461a mov r2, r3 808a3c4: 21aa movs r1, #170 ; 0xaa 808a3c6: 20f6 movs r0, #246 ; 0xf6 808a3c8: f7cb fcc8 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a3cc: 4956 ldr r1, [pc, #344] ; (808a528 ) 808a3ce: 4859 ldr r0, [pc, #356] ; (808a534 ) 808a3d0: f7ca ff1c bl 805520c LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 808a3d4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808a3d8: b2db uxtb r3, r3 808a3da: 461a mov r2, r3 808a3dc: 4b54 ldr r3, [pc, #336] ; (808a530 ) 808a3de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a3e2: 461a mov r2, r3 808a3e4: 21aa movs r1, #170 ; 0xaa 808a3e6: 20c6 movs r0, #198 ; 0xc6 808a3e8: f7cb fcb8 bl 8055d5c LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 808a3ec: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808a3f0: b2db uxtb r3, r3 808a3f2: 461a mov r2, r3 808a3f4: 4b4e ldr r3, [pc, #312] ; (808a530 ) 808a3f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a3fa: 461a mov r2, r3 808a3fc: 21aa movs r1, #170 ; 0xaa 808a3fe: 20d6 movs r0, #214 ; 0xd6 808a400: f7cb fcac bl 8055d5c LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 808a404: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808a408: b2db uxtb r3, r3 808a40a: 461a mov r2, r3 808a40c: 4b48 ldr r3, [pc, #288] ; (808a530 ) 808a40e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a412: 461a mov r2, r3 808a414: 21aa movs r1, #170 ; 0xaa 808a416: 20e6 movs r0, #230 ; 0xe6 808a418: f7cb fca0 bl 8055d5c LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 808a41c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808a420: b2db uxtb r3, r3 808a422: 461a mov r2, r3 808a424: 4b42 ldr r3, [pc, #264] ; (808a530 ) 808a426: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a42a: 461a mov r2, r3 808a42c: 21aa movs r1, #170 ; 0xaa 808a42e: f44f 7083 mov.w r0, #262 ; 0x106 808a432: f7cb fc93 bl 8055d5c LCD_DisplayString(278, LCD_LINE_10, "."); 808a436: 4a40 ldr r2, [pc, #256] ; (808a538 ) 808a438: 21aa movs r1, #170 ; 0xaa 808a43a: f44f 708b mov.w r0, #278 ; 0x116 808a43e: f7cb fc8d bl 8055d5c LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 808a442: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808a446: b2db uxtb r3, r3 808a448: 461a mov r2, r3 808a44a: 4b39 ldr r3, [pc, #228] ; (808a530 ) 808a44c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a450: 461a mov r2, r3 808a452: 21aa movs r1, #170 ; 0xaa 808a454: f44f 7093 mov.w r0, #294 ; 0x126 808a458: f7cb fc80 bl 8055d5c 808a45c: e0d0 b.n 808a600 if(menupos == VibMax_IEE) 808a45e: 4b31 ldr r3, [pc, #196] ; (808a524 ) 808a460: 781b ldrb r3, [r3, #0] 808a462: b2db uxtb r3, r3 808a464: 2b0f cmp r3, #15 808a466: d169 bne.n 808a53c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a468: 492f ldr r1, [pc, #188] ; (808a528 ) 808a46a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a46e: f7ca fecd bl 805520c if(blk) 808a472: 4b2e ldr r3, [pc, #184] ; (808a52c ) 808a474: 681b ldr r3, [r3, #0] 808a476: 2b00 cmp r3, #0 808a478: d00c beq.n 808a494 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 808a47a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808a47e: b2db uxtb r3, r3 808a480: 461a mov r2, r3 808a482: 4b2b ldr r3, [pc, #172] ; (808a530 ) 808a484: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a488: 461a mov r2, r3 808a48a: 21aa movs r1, #170 ; 0xaa 808a48c: f44f 7083 mov.w r0, #262 ; 0x106 808a490: f7cb fc64 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a494: 4924 ldr r1, [pc, #144] ; (808a528 ) 808a496: 4827 ldr r0, [pc, #156] ; (808a534 ) 808a498: f7ca feb8 bl 805520c LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 808a49c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808a4a0: b2db uxtb r3, r3 808a4a2: 461a mov r2, r3 808a4a4: 4b22 ldr r3, [pc, #136] ; (808a530 ) 808a4a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a4aa: 461a mov r2, r3 808a4ac: 21aa movs r1, #170 ; 0xaa 808a4ae: 20c6 movs r0, #198 ; 0xc6 808a4b0: f7cb fc54 bl 8055d5c LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 808a4b4: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808a4b8: b2db uxtb r3, r3 808a4ba: 461a mov r2, r3 808a4bc: 4b1c ldr r3, [pc, #112] ; (808a530 ) 808a4be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a4c2: 461a mov r2, r3 808a4c4: 21aa movs r1, #170 ; 0xaa 808a4c6: 20d6 movs r0, #214 ; 0xd6 808a4c8: f7cb fc48 bl 8055d5c LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 808a4cc: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808a4d0: b2db uxtb r3, r3 808a4d2: 461a mov r2, r3 808a4d4: 4b16 ldr r3, [pc, #88] ; (808a530 ) 808a4d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a4da: 461a mov r2, r3 808a4dc: 21aa movs r1, #170 ; 0xaa 808a4de: 20e6 movs r0, #230 ; 0xe6 808a4e0: f7cb fc3c bl 8055d5c LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 808a4e4: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808a4e8: b2db uxtb r3, r3 808a4ea: 461a mov r2, r3 808a4ec: 4b10 ldr r3, [pc, #64] ; (808a530 ) 808a4ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a4f2: 461a mov r2, r3 808a4f4: 21aa movs r1, #170 ; 0xaa 808a4f6: 20f6 movs r0, #246 ; 0xf6 808a4f8: f7cb fc30 bl 8055d5c LCD_DisplayString(278, LCD_LINE_10, "."); 808a4fc: 4a0e ldr r2, [pc, #56] ; (808a538 ) 808a4fe: 21aa movs r1, #170 ; 0xaa 808a500: f44f 708b mov.w r0, #278 ; 0x116 808a504: f7cb fc2a bl 8055d5c LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 808a508: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808a50c: b2db uxtb r3, r3 808a50e: 461a mov r2, r3 808a510: 4b07 ldr r3, [pc, #28] ; (808a530 ) 808a512: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a516: 461a mov r2, r3 808a518: 21aa movs r1, #170 ; 0xaa 808a51a: f44f 7093 mov.w r0, #294 ; 0x126 808a51e: f7cb fc1d bl 8055d5c 808a522: e06d b.n 808a600 808a524: 20020070 .word 0x20020070 808a528: ff0a0f1f .word 0xff0a0f1f 808a52c: 200216ac .word 0x200216ac 808a530: 2002096c .word 0x2002096c 808a534: ffd8aa57 .word 0xffd8aa57 808a538: 080d6258 .word 0x080d6258 if(menupos == VibMax_IKD) 808a53c: 4bc5 ldr r3, [pc, #788] ; (808a854 ) 808a53e: 781b ldrb r3, [r3, #0] 808a540: b2db uxtb r3, r3 808a542: 2b10 cmp r3, #16 808a544: d15c bne.n 808a600 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a546: 49c4 ldr r1, [pc, #784] ; (808a858 ) 808a548: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a54c: f7ca fe5e bl 805520c if(blk) 808a550: 4bc2 ldr r3, [pc, #776] ; (808a85c ) 808a552: 681b ldr r3, [r3, #0] 808a554: 2b00 cmp r3, #0 808a556: d00c beq.n 808a572 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 808a558: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808a55c: b2db uxtb r3, r3 808a55e: 461a mov r2, r3 808a560: 4bbf ldr r3, [pc, #764] ; (808a860 ) 808a562: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a566: 461a mov r2, r3 808a568: 21aa movs r1, #170 ; 0xaa 808a56a: f44f 7093 mov.w r0, #294 ; 0x126 808a56e: f7cb fbf5 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a572: 49b9 ldr r1, [pc, #740] ; (808a858 ) 808a574: 48bb ldr r0, [pc, #748] ; (808a864 ) 808a576: f7ca fe49 bl 805520c LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 808a57a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808a57e: b2db uxtb r3, r3 808a580: 461a mov r2, r3 808a582: 4bb7 ldr r3, [pc, #732] ; (808a860 ) 808a584: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a588: 461a mov r2, r3 808a58a: 21aa movs r1, #170 ; 0xaa 808a58c: 20c6 movs r0, #198 ; 0xc6 808a58e: f7cb fbe5 bl 8055d5c LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 808a592: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808a596: b2db uxtb r3, r3 808a598: 461a mov r2, r3 808a59a: 4bb1 ldr r3, [pc, #708] ; (808a860 ) 808a59c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a5a0: 461a mov r2, r3 808a5a2: 21aa movs r1, #170 ; 0xaa 808a5a4: 20d6 movs r0, #214 ; 0xd6 808a5a6: f7cb fbd9 bl 8055d5c LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 808a5aa: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808a5ae: b2db uxtb r3, r3 808a5b0: 461a mov r2, r3 808a5b2: 4bab ldr r3, [pc, #684] ; (808a860 ) 808a5b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a5b8: 461a mov r2, r3 808a5ba: 21aa movs r1, #170 ; 0xaa 808a5bc: 20e6 movs r0, #230 ; 0xe6 808a5be: f7cb fbcd bl 8055d5c LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 808a5c2: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808a5c6: b2db uxtb r3, r3 808a5c8: 461a mov r2, r3 808a5ca: 4ba5 ldr r3, [pc, #660] ; (808a860 ) 808a5cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a5d0: 461a mov r2, r3 808a5d2: 21aa movs r1, #170 ; 0xaa 808a5d4: 20f6 movs r0, #246 ; 0xf6 808a5d6: f7cb fbc1 bl 8055d5c LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 808a5da: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808a5de: b2db uxtb r3, r3 808a5e0: 461a mov r2, r3 808a5e2: 4b9f ldr r3, [pc, #636] ; (808a860 ) 808a5e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a5e8: 461a mov r2, r3 808a5ea: 21aa movs r1, #170 ; 0xaa 808a5ec: f44f 7083 mov.w r0, #262 ; 0x106 808a5f0: f7cb fbb4 bl 8055d5c LCD_DisplayString(278, LCD_LINE_10, "."); 808a5f4: 4a9c ldr r2, [pc, #624] ; (808a868 ) 808a5f6: 21aa movs r1, #170 ; 0xaa 808a5f8: f44f 708b mov.w r0, #278 ; 0x116 808a5fc: f7cb fbae bl 8055d5c if(pardata.OPTIONS & BIT2) // Åñëè àâòîóñèëåíèå 808a600: 4b9a ldr r3, [pc, #616] ; (808a86c ) 808a602: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808a606: f003 0304 and.w r3, r3, #4 808a60a: 2b00 cmp r3, #0 808a60c: d00e beq.n 808a62c LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 808a60e: 4992 ldr r1, [pc, #584] ; (808a858 ) 808a610: 4897 ldr r0, [pc, #604] ; (808a870 ) 808a612: f7ca fdfb bl 805520c BSP_LCD_FillRect(257, CHECKBOX_LINE_9 + 2, 6, 6); 808a616: 2306 movs r3, #6 808a618: 2206 movs r2, #6 808a61a: 219f movs r1, #159 ; 0x9f 808a61c: f240 1001 movw r0, #257 ; 0x101 808a620: f7cb fa82 bl 8055b28 break; 808a624: e002 b.n 808a62c break; 808a626: bf00 nop 808a628: f00e be00 b.w 809922c break; 808a62c: bf00 nop break; 808a62e: f00e bdfd b.w 809922c 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); 808a632: 4989 ldr r1, [pc, #548] ; (808a858 ) 808a634: 488f ldr r0, [pc, #572] ; (808a874 ) 808a636: f7ca fde9 bl 805520c BSP_LCD_DrawRect(2, 35, 314, 201); 808a63a: 23c9 movs r3, #201 ; 0xc9 808a63c: f44f 729d mov.w r2, #314 ; 0x13a 808a640: 2123 movs r1, #35 ; 0x23 808a642: 2002 movs r0, #2 808a644: f7cb f8e8 bl 8055818 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 808a648: 4b88 ldr r3, [pc, #544] ; (808a86c ) 808a64a: edd3 7a06 vldr s15, [r3, #24] 808a64e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808a652: ee67 7a87 vmul.f32 s15, s15, s14 808a656: eefc 7ae7 vcvt.u32.f32 s15, s15 808a65a: ee17 3a90 vmov r3, s15 808a65e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 808a662: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808a666: 095b lsrs r3, r3, #5 808a668: 4a83 ldr r2, [pc, #524] ; (808a878 ) 808a66a: fba2 2303 umull r2, r3, r2, r3 808a66e: 09db lsrs r3, r3, #7 808a670: b2db uxtb r3, r3 808a672: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 808a676: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a67a: 0953 lsrs r3, r2, #5 808a67c: 497e ldr r1, [pc, #504] ; (808a878 ) 808a67e: fba1 1303 umull r1, r3, r1, r3 808a682: 09db lsrs r3, r3, #7 808a684: 497d ldr r1, [pc, #500] ; (808a87c ) 808a686: fb01 f303 mul.w r3, r1, r3 808a68a: 1ad3 subs r3, r2, r3 808a68c: 4a7c ldr r2, [pc, #496] ; (808a880 ) 808a68e: fba2 2303 umull r2, r3, r2, r3 808a692: 0b5b lsrs r3, r3, #13 808a694: b2db uxtb r3, r3 808a696: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 808a69a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a69e: 0953 lsrs r3, r2, #5 808a6a0: 4975 ldr r1, [pc, #468] ; (808a878 ) 808a6a2: fba1 1303 umull r1, r3, r1, r3 808a6a6: 09db lsrs r3, r3, #7 808a6a8: 4974 ldr r1, [pc, #464] ; (808a87c ) 808a6aa: fb01 f303 mul.w r3, r1, r3 808a6ae: 1ad3 subs r3, r2, r3 808a6b0: 4a73 ldr r2, [pc, #460] ; (808a880 ) 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: 4b70 ldr r3, [pc, #448] ; (808a884 ) 808a6c4: fba3 2302 umull r2, r3, r3, r2 808a6c8: 099b lsrs r3, r3, #6 808a6ca: b2db uxtb r3, r3 808a6cc: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808a6d0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808a6d4: 095a lsrs r2, r3, #5 808a6d6: 4968 ldr r1, [pc, #416] ; (808a878 ) 808a6d8: fba1 1202 umull r1, r2, r1, r2 808a6dc: 09d2 lsrs r2, r2, #7 808a6de: 4967 ldr r1, [pc, #412] ; (808a87c ) 808a6e0: fb01 f202 mul.w r2, r1, r2 808a6e4: 1a9a subs r2, r3, r2 808a6e6: 4b66 ldr r3, [pc, #408] ; (808a880 ) 808a6e8: fba3 1302 umull r1, r3, r3, r2 808a6ec: 0b5b lsrs r3, r3, #13 808a6ee: f242 7110 movw r1, #10000 ; 0x2710 808a6f2: fb01 f303 mul.w r3, r1, r3 808a6f6: 1ad3 subs r3, r2, r3 808a6f8: 4a62 ldr r2, [pc, #392] ; (808a884 ) 808a6fa: fba2 1203 umull r1, r2, r2, r3 808a6fe: 0992 lsrs r2, r2, #6 808a700: f44f 717a mov.w r1, #1000 ; 0x3e8 808a704: fb01 f202 mul.w r2, r1, r2 808a708: 1a9a subs r2, r3, r2 808a70a: 4b5f ldr r3, [pc, #380] ; (808a888 ) 808a70c: fba3 2302 umull r2, r3, r3, r2 808a710: 095b lsrs r3, r3, #5 808a712: b2db uxtb r3, r3 808a714: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808a718: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a71c: 0953 lsrs r3, r2, #5 808a71e: 4956 ldr r1, [pc, #344] ; (808a878 ) 808a720: fba1 1303 umull r1, r3, r1, r3 808a724: 09db lsrs r3, r3, #7 808a726: 4955 ldr r1, [pc, #340] ; (808a87c ) 808a728: fb01 f303 mul.w r3, r1, r3 808a72c: 1ad3 subs r3, r2, r3 808a72e: 4a54 ldr r2, [pc, #336] ; (808a880 ) 808a730: fba2 1203 umull r1, r2, r2, r3 808a734: 0b52 lsrs r2, r2, #13 808a736: f242 7110 movw r1, #10000 ; 0x2710 808a73a: fb01 f202 mul.w r2, r1, r2 808a73e: 1a9a subs r2, r3, r2 808a740: 4b50 ldr r3, [pc, #320] ; (808a884 ) 808a742: fba3 1302 umull r1, r3, r3, r2 808a746: 099b lsrs r3, r3, #6 808a748: f44f 717a mov.w r1, #1000 ; 0x3e8 808a74c: fb01 f303 mul.w r3, r1, r3 808a750: 1ad3 subs r3, r2, r3 808a752: 4a4d ldr r2, [pc, #308] ; (808a888 ) 808a754: fba2 1203 umull r1, r2, r2, r3 808a758: 0952 lsrs r2, r2, #5 808a75a: 2164 movs r1, #100 ; 0x64 808a75c: fb01 f202 mul.w r2, r1, r2 808a760: 1a9a subs r2, r3, r2 808a762: 4b4a ldr r3, [pc, #296] ; (808a88c ) 808a764: fba3 2302 umull r2, r3, r3, r2 808a768: 08db lsrs r3, r3, #3 808a76a: b2db uxtb r3, r3 808a76c: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808a770: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a774: 0953 lsrs r3, r2, #5 808a776: 4940 ldr r1, [pc, #256] ; (808a878 ) 808a778: fba1 1303 umull r1, r3, r1, r3 808a77c: 09db lsrs r3, r3, #7 808a77e: 493f ldr r1, [pc, #252] ; (808a87c ) 808a780: fb01 f303 mul.w r3, r1, r3 808a784: 1ad3 subs r3, r2, r3 808a786: 4a3e ldr r2, [pc, #248] ; (808a880 ) 808a788: fba2 1203 umull r1, r2, r2, r3 808a78c: 0b52 lsrs r2, r2, #13 808a78e: f242 7110 movw r1, #10000 ; 0x2710 808a792: fb01 f202 mul.w r2, r1, r2 808a796: 1a9a subs r2, r3, r2 808a798: 4b3a ldr r3, [pc, #232] ; (808a884 ) 808a79a: fba3 1302 umull r1, r3, r3, r2 808a79e: 099b lsrs r3, r3, #6 808a7a0: f44f 717a mov.w r1, #1000 ; 0x3e8 808a7a4: fb01 f303 mul.w r3, r1, r3 808a7a8: 1ad3 subs r3, r2, r3 808a7aa: 4a37 ldr r2, [pc, #220] ; (808a888 ) 808a7ac: fba2 1203 umull r1, r2, r2, r3 808a7b0: 0952 lsrs r2, r2, #5 808a7b2: 2164 movs r1, #100 ; 0x64 808a7b4: fb01 f202 mul.w r2, r1, r2 808a7b8: 1a9a subs r2, r3, r2 808a7ba: 4b34 ldr r3, [pc, #208] ; (808a88c ) 808a7bc: fba3 1302 umull r1, r3, r3, r2 808a7c0: 08d9 lsrs r1, r3, #3 808a7c2: 460b mov r3, r1 808a7c4: 009b lsls r3, r3, #2 808a7c6: 440b add r3, r1 808a7c8: 005b lsls r3, r3, #1 808a7ca: 1ad1 subs r1, r2, r3 808a7cc: b2cb uxtb r3, r1 808a7ce: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 //**************************************************************** l = strlen(DiagFileName); 808a7d2: 482f ldr r0, [pc, #188] ; (808a890 ) 808a7d4: f795 fd9e bl 8020314 808a7d8: 4603 mov r3, r0 808a7da: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 808a7de: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808a7e2: 2b09 cmp r3, #9 808a7e4: d806 bhi.n 808a7f4 { strcpy(str1, DiagFileName); 808a7e6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808a7ea: 4929 ldr r1, [pc, #164] ; (808a890 ) 808a7ec: 4618 mov r0, r3 808a7ee: f047 fcf6 bl 80d21de 808a7f2: e084 b.n 808a8fe } else { memset(str1, 0x20, sizeof(str1)); 808a7f4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808a7f8: f44f 7280 mov.w r2, #256 ; 0x100 808a7fc: 2120 movs r1, #32 808a7fe: 4618 mov r0, r3 808a800: f047 fbd0 bl 80d1fa4 if(tme <= l) 808a804: 4b23 ldr r3, [pc, #140] ; (808a894 ) 808a806: 681a ldr r2, [r3, #0] 808a808: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808a80c: 429a cmp r2, r3 808a80e: d843 bhi.n 808a898 { if(l - tme >= 9) 808a810: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808a814: 4b1f ldr r3, [pc, #124] ; (808a894 ) 808a816: 681b ldr r3, [r3, #0] 808a818: 1ad3 subs r3, r2, r3 808a81a: 2b08 cmp r3, #8 808a81c: d90a bls.n 808a834 memcpy(str1, &DiagFileName[tme], 9); 808a81e: 4b1d ldr r3, [pc, #116] ; (808a894 ) 808a820: 681b ldr r3, [r3, #0] 808a822: 4a1b ldr r2, [pc, #108] ; (808a890 ) 808a824: 1899 adds r1, r3, r2 808a826: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808a82a: 2209 movs r2, #9 808a82c: 4618 mov r0, r3 808a82e: f047 fbae bl 80d1f8e 808a832: e043 b.n 808a8bc else memcpy(str1, &DiagFileName[tme], l - tme); 808a834: 4b17 ldr r3, [pc, #92] ; (808a894 ) 808a836: 681b ldr r3, [r3, #0] 808a838: 4a15 ldr r2, [pc, #84] ; (808a890 ) 808a83a: 1899 adds r1, r3, r2 808a83c: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808a840: 4b14 ldr r3, [pc, #80] ; (808a894 ) 808a842: 681b ldr r3, [r3, #0] 808a844: 1ad2 subs r2, r2, r3 808a846: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808a84a: 4618 mov r0, r3 808a84c: f047 fb9f bl 80d1f8e 808a850: e034 b.n 808a8bc 808a852: bf00 nop 808a854: 20020070 .word 0x20020070 808a858: ff0a0f1f .word 0xff0a0f1f 808a85c: 200216ac .word 0x200216ac 808a860: 2002096c .word 0x2002096c 808a864: ffd8aa57 .word 0xffd8aa57 808a868: 080d6258 .word 0x080d6258 808a86c: 20023eb8 .word 0x20023eb8 808a870: ff404040 .word 0xff404040 808a874: ffd3d3d3 .word 0xffd3d3d3 808a878: 0a7c5ac5 .word 0x0a7c5ac5 808a87c: 000186a0 .word 0x000186a0 808a880: d1b71759 .word 0xd1b71759 808a884: 10624dd3 .word 0x10624dd3 808a888: 51eb851f .word 0x51eb851f 808a88c: cccccccd .word 0xcccccccd 808a890: 20020ea4 .word 0x20020ea4 808a894: 200216b8 .word 0x200216b8 } else { memcpy(&str1[9 - (tme - l)], DiagFileName, tme - l); 808a898: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808a89c: 4bb5 ldr r3, [pc, #724] ; (808ab74 ) 808a89e: 681b ldr r3, [r3, #0] 808a8a0: 1ad3 subs r3, r2, r3 808a8a2: 3309 adds r3, #9 808a8a4: f507 72f6 add.w r2, r7, #492 ; 0x1ec 808a8a8: 18d0 adds r0, r2, r3 808a8aa: 4bb2 ldr r3, [pc, #712] ; (808ab74 ) 808a8ac: 681a ldr r2, [r3, #0] 808a8ae: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808a8b2: 1ad3 subs r3, r2, r3 808a8b4: 461a mov r2, r3 808a8b6: 49b0 ldr r1, [pc, #704] ; (808ab78 ) 808a8b8: f047 fb69 bl 80d1f8e } str1[10] = '\0'; 808a8bc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808a8c0: 2200 movs r2, #0 808a8c2: 729a strb r2, [r3, #10] tt++; 808a8c4: 4bad ldr r3, [pc, #692] ; (808ab7c ) 808a8c6: 781b ldrb r3, [r3, #0] 808a8c8: 3301 adds r3, #1 808a8ca: b2da uxtb r2, r3 808a8cc: 4bab ldr r3, [pc, #684] ; (808ab7c ) 808a8ce: 701a strb r2, [r3, #0] if(tt >= 4) 808a8d0: 4baa ldr r3, [pc, #680] ; (808ab7c ) 808a8d2: 781b ldrb r3, [r3, #0] 808a8d4: 2b03 cmp r3, #3 808a8d6: d912 bls.n 808a8fe { tt = 0; 808a8d8: 4ba8 ldr r3, [pc, #672] ; (808ab7c ) 808a8da: 2200 movs r2, #0 808a8dc: 701a strb r2, [r3, #0] tme++; 808a8de: 4ba5 ldr r3, [pc, #660] ; (808ab74 ) 808a8e0: 681b ldr r3, [r3, #0] 808a8e2: 3301 adds r3, #1 808a8e4: 4aa3 ldr r2, [pc, #652] ; (808ab74 ) 808a8e6: 6013 str r3, [r2, #0] if(9 - (tme - l) == 0) 808a8e8: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808a8ec: 4ba1 ldr r3, [pc, #644] ; (808ab74 ) 808a8ee: 681b ldr r3, [r3, #0] 808a8f0: 1ad3 subs r3, r2, r3 808a8f2: f113 0f09 cmn.w r3, #9 808a8f6: d102 bne.n 808a8fe { tme = 0; 808a8f8: 4b9e ldr r3, [pc, #632] ; (808ab74 ) 808a8fa: 2200 movs r2, #0 808a8fc: 601a str r2, [r3, #0] } } } //**************************************************************** if(pardata.LANG == RUS) 808a8fe: 4ba0 ldr r3, [pc, #640] ; (808ab80 ) 808a900: 7b1b ldrb r3, [r3, #12] 808a902: b2db uxtb r3, r3 808a904: 2b00 cmp r3, #0 808a906: d140 bne.n 808a98a { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808a908: 499e ldr r1, [pc, #632] ; (808ab84 ) 808a90a: f04f 30ff mov.w r0, #4294967295 808a90e: f7ca fc7d bl 805520c //LCD_DisplayString(10, LCD_LINE_3, "Ïðîãðàììà èçìåðåíèé"); LCD_DisplayString(10, LCD_LINE_4, "Óñðåäíåíèå(êîë-âî)"); 808a912: 4a9d ldr r2, [pc, #628] ; (808ab88 ) 808a914: 214a movs r1, #74 ; 0x4a 808a916: 200a movs r0, #10 808a918: f7cb fa20 bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, "Àâòîóñèëåíèå"); 808a91c: 4a9b ldr r2, [pc, #620] ; (808ab8c ) 808a91e: 215a movs r1, #90 ; 0x5a 808a920: 200a movs r0, #10 808a922: f7cb fa1b bl 8055d5c //LCD_DisplayString(10, LCD_LINE_7, "Çàïèñü â ôàéë"); if(pardata.OPTIONS & 0x4) 808a926: 4b96 ldr r3, [pc, #600] ; (808ab80 ) 808a928: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808a92c: f003 0304 and.w r3, r3, #4 808a930: 2b00 cmp r3, #0 808a932: d003 beq.n 808a93c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808a934: 4993 ldr r1, [pc, #588] ; (808ab84 ) 808a936: 4896 ldr r0, [pc, #600] ; (808ab90 ) 808a938: f7ca fc68 bl 805520c if(pardata.IIN != VOLTS) 808a93c: 4b90 ldr r3, [pc, #576] ; (808ab80 ) 808a93e: 799b ldrb r3, [r3, #6] 808a940: b2db uxtb r3, r3 808a942: 2b02 cmp r3, #2 808a944: d010 beq.n 808a968 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808a946: 4b8e ldr r3, [pc, #568] ; (808ab80 ) 808a948: 7b1b ldrb r3, [r3, #12] 808a94a: b2db uxtb r3, r3 808a94c: 4619 mov r1, r3 808a94e: 4a91 ldr r2, [pc, #580] ; (808ab94 ) 808a950: 232c movs r3, #44 ; 0x2c 808a952: fb03 f301 mul.w r3, r3, r1 808a956: 4413 add r3, r2 808a958: 3324 adds r3, #36 ; 0x24 808a95a: 681b ldr r3, [r3, #0] 808a95c: 461a mov r2, r3 808a95e: 216a movs r1, #106 ; 0x6a 808a960: 200a movs r0, #10 808a962: f7cb f9fb bl 8055d5c 808a966: e050 b.n 808aa0a else LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808a968: 4b85 ldr r3, [pc, #532] ; (808ab80 ) 808a96a: 7b1b ldrb r3, [r3, #12] 808a96c: b2db uxtb r3, r3 808a96e: 4619 mov r1, r3 808a970: 4a89 ldr r2, [pc, #548] ; (808ab98 ) 808a972: 232c movs r3, #44 ; 0x2c 808a974: fb03 f301 mul.w r3, r3, r1 808a978: 4413 add r3, r2 808a97a: 3324 adds r3, #36 ; 0x24 808a97c: 681b ldr r3, [r3, #0] 808a97e: 461a mov r2, r3 808a980: 216a movs r1, #106 ; 0x6a 808a982: 200a movs r0, #10 808a984: f7cb f9ea bl 8055d5c 808a988: e03f b.n 808aa0a } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808a98a: 497e ldr r1, [pc, #504] ; (808ab84 ) 808a98c: f04f 30ff mov.w r0, #4294967295 808a990: f7ca fc3c bl 805520c //LCD_DisplayString(10, LCD_LINE_3, "Measurement program"); LCD_DisplayString(10, LCD_LINE_4, "Num.average"); 808a994: 4a81 ldr r2, [pc, #516] ; (808ab9c ) 808a996: 214a movs r1, #74 ; 0x4a 808a998: 200a movs r0, #10 808a99a: f7cb f9df bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, "Autogain"); 808a99e: 4a80 ldr r2, [pc, #512] ; (808aba0 ) 808a9a0: 215a movs r1, #90 ; 0x5a 808a9a2: 200a movs r0, #10 808a9a4: f7cb f9da bl 8055d5c //LCD_DisplayString(10, LCD_LINE_7, "Save to file"); if(pardata.OPTIONS & 0x4) 808a9a8: 4b75 ldr r3, [pc, #468] ; (808ab80 ) 808a9aa: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808a9ae: f003 0304 and.w r3, r3, #4 808a9b2: 2b00 cmp r3, #0 808a9b4: d003 beq.n 808a9be LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808a9b6: 4973 ldr r1, [pc, #460] ; (808ab84 ) 808a9b8: 4875 ldr r0, [pc, #468] ; (808ab90 ) 808a9ba: f7ca fc27 bl 805520c if(pardata.IIN != VOLTS) 808a9be: 4b70 ldr r3, [pc, #448] ; (808ab80 ) 808a9c0: 799b ldrb r3, [r3, #6] 808a9c2: b2db uxtb r3, r3 808a9c4: 2b02 cmp r3, #2 808a9c6: d010 beq.n 808a9ea LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808a9c8: 4b6d ldr r3, [pc, #436] ; (808ab80 ) 808a9ca: 7b1b ldrb r3, [r3, #12] 808a9cc: b2db uxtb r3, r3 808a9ce: 4619 mov r1, r3 808a9d0: 4a70 ldr r2, [pc, #448] ; (808ab94 ) 808a9d2: 232c movs r3, #44 ; 0x2c 808a9d4: fb03 f301 mul.w r3, r3, r1 808a9d8: 4413 add r3, r2 808a9da: 3324 adds r3, #36 ; 0x24 808a9dc: 681b ldr r3, [r3, #0] 808a9de: 461a mov r2, r3 808a9e0: 216a movs r1, #106 ; 0x6a 808a9e2: 200a movs r0, #10 808a9e4: f7cb f9ba bl 8055d5c 808a9e8: e00f b.n 808aa0a else LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808a9ea: 4b65 ldr r3, [pc, #404] ; (808ab80 ) 808a9ec: 7b1b ldrb r3, [r3, #12] 808a9ee: b2db uxtb r3, r3 808a9f0: 4619 mov r1, r3 808a9f2: 4a69 ldr r2, [pc, #420] ; (808ab98 ) 808a9f4: 232c movs r3, #44 ; 0x2c 808a9f6: fb03 f301 mul.w r3, r3, r1 808a9fa: 4413 add r3, r2 808a9fc: 3324 adds r3, #36 ; 0x24 808a9fe: 681b ldr r3, [r3, #0] 808aa00: 461a mov r2, r3 808aa02: 216a movs r1, #106 ; 0x6a 808aa04: 200a movs r0, #10 808aa06: f7cb f9a9 bl 8055d5c // if(menupos != DiagUs) 808aa0a: 4b66 ldr r3, [pc, #408] ; (808aba4 ) 808aa0c: 781b ldrb r3, [r3, #0] 808aa0e: b2db uxtb r3, r3 808aa10: 2b00 cmp r3, #0 808aa12: d005 beq.n 808aa20 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808aa14: 495b ldr r1, [pc, #364] ; (808ab84 ) 808aa16: f04f 30ff mov.w r0, #4294967295 808aa1a: f7ca fbf7 bl 805520c 808aa1e: e004 b.n 808aa2a else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808aa20: 4958 ldr r1, [pc, #352] ; (808ab84 ) 808aa22: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808aa26: f7ca fbf1 bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *) TEXT_PARAM_DIAGN[pardata.LANG][DiagUs]); 808aa2a: 4b55 ldr r3, [pc, #340] ; (808ab80 ) 808aa2c: 7b1b ldrb r3, [r3, #12] 808aa2e: b2db uxtb r3, r3 808aa30: 4619 mov r1, r3 808aa32: 4a5d ldr r2, [pc, #372] ; (808aba8 ) 808aa34: 460b mov r3, r1 808aa36: 009b lsls r3, r3, #2 808aa38: 440b add r3, r1 808aa3a: 009b lsls r3, r3, #2 808aa3c: 4413 add r3, r2 808aa3e: 681b ldr r3, [r3, #0] 808aa40: 461a mov r2, r3 808aa42: 213a movs r1, #58 ; 0x3a 808aa44: 200a movs r0, #10 808aa46: f7cb f989 bl 8055d5c // if(menupos != DiagAverage) 808aa4a: 4b56 ldr r3, [pc, #344] ; (808aba4 ) 808aa4c: 781b ldrb r3, [r3, #0] 808aa4e: b2db uxtb r3, r3 808aa50: 2b01 cmp r3, #1 808aa52: d004 beq.n 808aa5e LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808aa54: 494b ldr r1, [pc, #300] ; (808ab84 ) 808aa56: 4855 ldr r0, [pc, #340] ; (808abac ) 808aa58: f7ca fbd8 bl 805520c 808aa5c: e004 b.n 808aa68 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808aa5e: 4949 ldr r1, [pc, #292] ; (808ab84 ) 808aa60: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808aa64: f7ca fbd2 bl 805520c if((focused) && (menupos == DiagAverage)) 808aa68: 4b51 ldr r3, [pc, #324] ; (808abb0 ) 808aa6a: 781b ldrb r3, [r3, #0] 808aa6c: b2db uxtb r3, r3 808aa6e: 2b00 cmp r3, #0 808aa70: d016 beq.n 808aaa0 808aa72: 4b4c ldr r3, [pc, #304] ; (808aba4 ) 808aa74: 781b ldrb r3, [r3, #0] 808aa76: b2db uxtb r3, r3 808aa78: 2b01 cmp r3, #1 808aa7a: d111 bne.n 808aaa0 { if(blk) 808aa7c: 4b4d ldr r3, [pc, #308] ; (808abb4 ) 808aa7e: 681b ldr r3, [r3, #0] 808aa80: 2b00 cmp r3, #0 808aa82: d01a beq.n 808aaba LCD_DisplayStringC(260, LCD_LINE_4, (char *) pAVERAGE[pardata.AVG]); 808aa84: 4b3e ldr r3, [pc, #248] ; (808ab80 ) 808aa86: 7b5b ldrb r3, [r3, #13] 808aa88: b2db uxtb r3, r3 808aa8a: 461a mov r2, r3 808aa8c: 4b4a ldr r3, [pc, #296] ; (808abb8 ) 808aa8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808aa92: 461a mov r2, r3 808aa94: 214a movs r1, #74 ; 0x4a 808aa96: f44f 7082 mov.w r0, #260 ; 0x104 808aa9a: f7cb f977 bl 8055d8c if(blk) 808aa9e: e00c b.n 808aaba } else LCD_DisplayStringC(260, LCD_LINE_4, (char *) pAVERAGE[pardata.AVG]); 808aaa0: 4b37 ldr r3, [pc, #220] ; (808ab80 ) 808aaa2: 7b5b ldrb r3, [r3, #13] 808aaa4: b2db uxtb r3, r3 808aaa6: 461a mov r2, r3 808aaa8: 4b43 ldr r3, [pc, #268] ; (808abb8 ) 808aaaa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808aaae: 461a mov r2, r3 808aab0: 214a movs r1, #74 ; 0x4a 808aab2: f44f 7082 mov.w r0, #260 ; 0x104 808aab6: f7cb f969 bl 8055d8c // if(menupos == DiagAutoKu) 808aaba: 4b3a ldr r3, [pc, #232] ; (808aba4 ) 808aabc: 781b ldrb r3, [r3, #0] 808aabe: b2db uxtb r3, r3 808aac0: 2b02 cmp r3, #2 808aac2: d10a bne.n 808aada { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808aac4: 492f ldr r1, [pc, #188] ; (808ab84 ) 808aac6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808aaca: f7ca fb9f bl 805520c BSP_LCD_FillRect(253, CHECKBOX_LINE_5-2, 14, 14); 808aace: 230e movs r3, #14 808aad0: 220e movs r2, #14 808aad2: 215b movs r1, #91 ; 0x5b 808aad4: 20fd movs r0, #253 ; 0xfd 808aad6: f7cb f827 bl 8055b28 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808aada: 492a ldr r1, [pc, #168] ; (808ab84 ) 808aadc: f04f 30ff mov.w r0, #4294967295 808aae0: f7ca fb94 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_5, 10, 10); 808aae4: 230a movs r3, #10 808aae6: 220a movs r2, #10 808aae8: 215d movs r1, #93 ; 0x5d 808aaea: 20ff movs r0, #255 ; 0xff 808aaec: f7cb f81c bl 8055b28 // if(menupos == DiagSaveToFile) 808aaf0: 4b2c ldr r3, [pc, #176] ; (808aba4 ) 808aaf2: 781b ldrb r3, [r3, #0] 808aaf4: b2db uxtb r3, r3 808aaf6: 2b04 cmp r3, #4 808aaf8: d160 bne.n 808abbc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808aafa: 4922 ldr r1, [pc, #136] ; (808ab84 ) 808aafc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ab00: f7ca fb84 bl 805520c if(strlen(DiagFileName)) 808ab04: 4b1c ldr r3, [pc, #112] ; (808ab78 ) 808ab06: 781b ldrb r3, [r3, #0] 808ab08: 2b00 cmp r3, #0 808ab0a: d022 beq.n 808ab52 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ab0c: 491d ldr r1, [pc, #116] ; (808ab84 ) 808ab0e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ab12: f7ca fb7b bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 808ab16: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808ab1a: 461a mov r2, r3 808ab1c: 217a movs r1, #122 ; 0x7a 808ab1e: f44f 7082 mov.w r0, #260 ; 0x104 808ab22: f7cb f933 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808ab26: 4917 ldr r1, [pc, #92] ; (808ab84 ) 808ab28: f04f 30ff mov.w r0, #4294967295 808ab2c: f7ca fb6e bl 805520c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 808ab30: 4b13 ldr r3, [pc, #76] ; (808ab80 ) 808ab32: 7b1b ldrb r3, [r3, #12] 808ab34: b2db uxtb r3, r3 808ab36: 4619 mov r1, r3 808ab38: 4a16 ldr r2, [pc, #88] ; (808ab94 ) 808ab3a: 232c movs r3, #44 ; 0x2c 808ab3c: fb03 f301 mul.w r3, r3, r1 808ab40: 4413 add r3, r2 808ab42: 3328 adds r3, #40 ; 0x28 808ab44: 681b ldr r3, [r3, #0] 808ab46: 461a mov r2, r3 808ab48: 217a movs r1, #122 ; 0x7a 808ab4a: 200a movs r0, #10 808ab4c: f7cb f906 bl 8055d5c 808ab50: e06f b.n 808ac32 } else LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 808ab52: 4b0b ldr r3, [pc, #44] ; (808ab80 ) 808ab54: 7b1b ldrb r3, [r3, #12] 808ab56: b2db uxtb r3, r3 808ab58: 4619 mov r1, r3 808ab5a: 4a0e ldr r2, [pc, #56] ; (808ab94 ) 808ab5c: 232c movs r3, #44 ; 0x2c 808ab5e: fb03 f301 mul.w r3, r3, r1 808ab62: 4413 add r3, r2 808ab64: 3328 adds r3, #40 ; 0x28 808ab66: 681b ldr r3, [r3, #0] 808ab68: 461a mov r2, r3 808ab6a: 217a movs r1, #122 ; 0x7a 808ab6c: 200a movs r0, #10 808ab6e: f7cb f8f5 bl 8055d5c 808ab72: e05e b.n 808ac32 808ab74: 200216b8 .word 0x200216b8 808ab78: 20020ea4 .word 0x20020ea4 808ab7c: 200216bc .word 0x200216bc 808ab80: 20023eb8 .word 0x20023eb8 808ab84: ff0a0f1f .word 0xff0a0f1f 808ab88: 080d5dec .word 0x080d5dec 808ab8c: 080d5cc0 .word 0x080d5cc0 808ab90: ff808080 .word 0xff808080 808ab94: 200206bc .word 0x200206bc 808ab98: 20020714 .word 0x20020714 808ab9c: 080d5e5c .word 0x080d5e5c 808aba0: 080d5d4c .word 0x080d5d4c 808aba4: 20020070 .word 0x20020070 808aba8: 20020934 .word 0x20020934 808abac: ffd8aa57 .word 0xffd8aa57 808abb0: 20020fd0 .word 0x20020fd0 808abb4: 200216ac .word 0x200216ac 808abb8: 2002022c .word 0x2002022c } else { if(strlen(DiagFileName)) 808abbc: 4bb1 ldr r3, [pc, #708] ; (808ae84 ) 808abbe: 781b ldrb r3, [r3, #0] 808abc0: 2b00 cmp r3, #0 808abc2: d021 beq.n 808ac08 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808abc4: 49b0 ldr r1, [pc, #704] ; (808ae88 ) 808abc6: 48b1 ldr r0, [pc, #708] ; (808ae8c ) 808abc8: f7ca fb20 bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 808abcc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808abd0: 461a mov r2, r3 808abd2: 217a movs r1, #122 ; 0x7a 808abd4: f44f 7082 mov.w r0, #260 ; 0x104 808abd8: f7cb f8d8 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808abdc: 49aa ldr r1, [pc, #680] ; (808ae88 ) 808abde: f04f 30ff mov.w r0, #4294967295 808abe2: f7ca fb13 bl 805520c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 808abe6: 4baa ldr r3, [pc, #680] ; (808ae90 ) 808abe8: 7b1b ldrb r3, [r3, #12] 808abea: b2db uxtb r3, r3 808abec: 4619 mov r1, r3 808abee: 4aa9 ldr r2, [pc, #676] ; (808ae94 ) 808abf0: 232c movs r3, #44 ; 0x2c 808abf2: fb03 f301 mul.w r3, r3, r1 808abf6: 4413 add r3, r2 808abf8: 3328 adds r3, #40 ; 0x28 808abfa: 681b ldr r3, [r3, #0] 808abfc: 461a mov r2, r3 808abfe: 217a movs r1, #122 ; 0x7a 808ac00: 200a movs r0, #10 808ac02: f7cb f8ab bl 8055d5c 808ac06: e014 b.n 808ac32 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808ac08: 499f ldr r1, [pc, #636] ; (808ae88 ) 808ac0a: f04f 30ff mov.w r0, #4294967295 808ac0e: f7ca fafd bl 805520c LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 808ac12: 4b9f ldr r3, [pc, #636] ; (808ae90 ) 808ac14: 7b1b ldrb r3, [r3, #12] 808ac16: b2db uxtb r3, r3 808ac18: 4619 mov r1, r3 808ac1a: 4a9e ldr r2, [pc, #632] ; (808ae94 ) 808ac1c: 232c movs r3, #44 ; 0x2c 808ac1e: fb03 f301 mul.w r3, r3, r1 808ac22: 4413 add r3, r2 808ac24: 3328 adds r3, #40 ; 0x28 808ac26: 681b ldr r3, [r3, #0] 808ac28: 461a mov r2, r3 808ac2a: 217a movs r1, #122 ; 0x7a 808ac2c: 200a movs r0, #10 808ac2e: f7cb f895 bl 8055d5c } } // if(menupos == DiagMax_IDT) 808ac32: 4b99 ldr r3, [pc, #612] ; (808ae98 ) 808ac34: 781b ldrb r3, [r3, #0] 808ac36: b2db uxtb r3, r3 808ac38: 2b05 cmp r3, #5 808ac3a: d15d bne.n 808acf8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ac3c: 4992 ldr r1, [pc, #584] ; (808ae88 ) 808ac3e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ac42: f7ca fae3 bl 805520c if(blk) 808ac46: 4b95 ldr r3, [pc, #596] ; (808ae9c ) 808ac48: 681b ldr r3, [r3, #0] 808ac4a: 2b00 cmp r3, #0 808ac4c: d00b beq.n 808ac66 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 808ac4e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808ac52: b2db uxtb r3, r3 808ac54: 461a mov r2, r3 808ac56: 4b92 ldr r3, [pc, #584] ; (808aea0 ) 808ac58: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ac5c: 461a mov r2, r3 808ac5e: 216a movs r1, #106 ; 0x6a 808ac60: 20c6 movs r0, #198 ; 0xc6 808ac62: f7cb f87b bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ac66: 4988 ldr r1, [pc, #544] ; (808ae88 ) 808ac68: 4888 ldr r0, [pc, #544] ; (808ae8c ) 808ac6a: f7ca facf bl 805520c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 808ac6e: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808ac72: b2db uxtb r3, r3 808ac74: 461a mov r2, r3 808ac76: 4b8a ldr r3, [pc, #552] ; (808aea0 ) 808ac78: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ac7c: 461a mov r2, r3 808ac7e: 216a movs r1, #106 ; 0x6a 808ac80: 20d6 movs r0, #214 ; 0xd6 808ac82: f7cb f86b bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 808ac86: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808ac8a: b2db uxtb r3, r3 808ac8c: 461a mov r2, r3 808ac8e: 4b84 ldr r3, [pc, #528] ; (808aea0 ) 808ac90: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ac94: 461a mov r2, r3 808ac96: 216a movs r1, #106 ; 0x6a 808ac98: 20e6 movs r0, #230 ; 0xe6 808ac9a: f7cb f85f bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 808ac9e: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808aca2: b2db uxtb r3, r3 808aca4: 461a mov r2, r3 808aca6: 4b7e ldr r3, [pc, #504] ; (808aea0 ) 808aca8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808acac: 461a mov r2, r3 808acae: 216a movs r1, #106 ; 0x6a 808acb0: 20f6 movs r0, #246 ; 0xf6 808acb2: f7cb f853 bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 808acb6: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808acba: b2db uxtb r3, r3 808acbc: 461a mov r2, r3 808acbe: 4b78 ldr r3, [pc, #480] ; (808aea0 ) 808acc0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808acc4: 461a mov r2, r3 808acc6: 216a movs r1, #106 ; 0x6a 808acc8: f44f 7083 mov.w r0, #262 ; 0x106 808accc: f7cb f846 bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, "."); 808acd0: 4a74 ldr r2, [pc, #464] ; (808aea4 ) 808acd2: 216a movs r1, #106 ; 0x6a 808acd4: f44f 708b mov.w r0, #278 ; 0x116 808acd8: f7cb f840 bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 808acdc: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808ace0: b2db uxtb r3, r3 808ace2: 461a mov r2, r3 808ace4: 4b6e ldr r3, [pc, #440] ; (808aea0 ) 808ace6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808acea: 461a mov r2, r3 808acec: 216a movs r1, #106 ; 0x6a 808acee: f44f 7093 mov.w r0, #294 ; 0x126 808acf2: f7cb f833 bl 8055d5c 808acf6: e20b b.n 808b110 } else if(menupos == DiagMax_IET) 808acf8: 4b67 ldr r3, [pc, #412] ; (808ae98 ) 808acfa: 781b ldrb r3, [r3, #0] 808acfc: b2db uxtb r3, r3 808acfe: 2b06 cmp r3, #6 808ad00: d15d bne.n 808adbe { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ad02: 4961 ldr r1, [pc, #388] ; (808ae88 ) 808ad04: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ad08: f7ca fa80 bl 805520c if(blk) 808ad0c: 4b63 ldr r3, [pc, #396] ; (808ae9c ) 808ad0e: 681b ldr r3, [r3, #0] 808ad10: 2b00 cmp r3, #0 808ad12: d00b beq.n 808ad2c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 808ad14: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808ad18: b2db uxtb r3, r3 808ad1a: 461a mov r2, r3 808ad1c: 4b60 ldr r3, [pc, #384] ; (808aea0 ) 808ad1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ad22: 461a mov r2, r3 808ad24: 216a movs r1, #106 ; 0x6a 808ad26: 20d6 movs r0, #214 ; 0xd6 808ad28: f7cb f818 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ad2c: 4956 ldr r1, [pc, #344] ; (808ae88 ) 808ad2e: 4857 ldr r0, [pc, #348] ; (808ae8c ) 808ad30: f7ca fa6c bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 808ad34: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808ad38: b2db uxtb r3, r3 808ad3a: 461a mov r2, r3 808ad3c: 4b58 ldr r3, [pc, #352] ; (808aea0 ) 808ad3e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ad42: 461a mov r2, r3 808ad44: 216a movs r1, #106 ; 0x6a 808ad46: 20c6 movs r0, #198 ; 0xc6 808ad48: f7cb f808 bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 808ad4c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808ad50: b2db uxtb r3, r3 808ad52: 461a mov r2, r3 808ad54: 4b52 ldr r3, [pc, #328] ; (808aea0 ) 808ad56: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ad5a: 461a mov r2, r3 808ad5c: 216a movs r1, #106 ; 0x6a 808ad5e: 20e6 movs r0, #230 ; 0xe6 808ad60: f7ca fffc bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 808ad64: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808ad68: b2db uxtb r3, r3 808ad6a: 461a mov r2, r3 808ad6c: 4b4c ldr r3, [pc, #304] ; (808aea0 ) 808ad6e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ad72: 461a mov r2, r3 808ad74: 216a movs r1, #106 ; 0x6a 808ad76: 20f6 movs r0, #246 ; 0xf6 808ad78: f7ca fff0 bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 808ad7c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808ad80: b2db uxtb r3, r3 808ad82: 461a mov r2, r3 808ad84: 4b46 ldr r3, [pc, #280] ; (808aea0 ) 808ad86: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ad8a: 461a mov r2, r3 808ad8c: 216a movs r1, #106 ; 0x6a 808ad8e: f44f 7083 mov.w r0, #262 ; 0x106 808ad92: f7ca ffe3 bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, "."); 808ad96: 4a43 ldr r2, [pc, #268] ; (808aea4 ) 808ad98: 216a movs r1, #106 ; 0x6a 808ad9a: f44f 708b mov.w r0, #278 ; 0x116 808ad9e: f7ca ffdd bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 808ada2: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808ada6: b2db uxtb r3, r3 808ada8: 461a mov r2, r3 808adaa: 4b3d ldr r3, [pc, #244] ; (808aea0 ) 808adac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808adb0: 461a mov r2, r3 808adb2: 216a movs r1, #106 ; 0x6a 808adb4: f44f 7093 mov.w r0, #294 ; 0x126 808adb8: f7ca ffd0 bl 8055d5c 808adbc: e1a8 b.n 808b110 } else if(menupos == DiagMax_IES) 808adbe: 4b36 ldr r3, [pc, #216] ; (808ae98 ) 808adc0: 781b ldrb r3, [r3, #0] 808adc2: b2db uxtb r3, r3 808adc4: 2b07 cmp r3, #7 808adc6: d16f bne.n 808aea8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808adc8: 492f ldr r1, [pc, #188] ; (808ae88 ) 808adca: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808adce: f7ca fa1d bl 805520c if(blk) 808add2: 4b32 ldr r3, [pc, #200] ; (808ae9c ) 808add4: 681b ldr r3, [r3, #0] 808add6: 2b00 cmp r3, #0 808add8: d00b beq.n 808adf2 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 808adda: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808adde: b2db uxtb r3, r3 808ade0: 461a mov r2, r3 808ade2: 4b2f ldr r3, [pc, #188] ; (808aea0 ) 808ade4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ade8: 461a mov r2, r3 808adea: 216a movs r1, #106 ; 0x6a 808adec: 20e6 movs r0, #230 ; 0xe6 808adee: f7ca ffb5 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808adf2: 4925 ldr r1, [pc, #148] ; (808ae88 ) 808adf4: 4825 ldr r0, [pc, #148] ; (808ae8c ) 808adf6: f7ca fa09 bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 808adfa: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808adfe: b2db uxtb r3, r3 808ae00: 461a mov r2, r3 808ae02: 4b27 ldr r3, [pc, #156] ; (808aea0 ) 808ae04: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ae08: 461a mov r2, r3 808ae0a: 216a movs r1, #106 ; 0x6a 808ae0c: 20c6 movs r0, #198 ; 0xc6 808ae0e: f7ca ffa5 bl 8055d5c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 808ae12: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808ae16: b2db uxtb r3, r3 808ae18: 461a mov r2, r3 808ae1a: 4b21 ldr r3, [pc, #132] ; (808aea0 ) 808ae1c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ae20: 461a mov r2, r3 808ae22: 216a movs r1, #106 ; 0x6a 808ae24: 20d6 movs r0, #214 ; 0xd6 808ae26: f7ca ff99 bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 808ae2a: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808ae2e: b2db uxtb r3, r3 808ae30: 461a mov r2, r3 808ae32: 4b1b ldr r3, [pc, #108] ; (808aea0 ) 808ae34: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ae38: 461a mov r2, r3 808ae3a: 216a movs r1, #106 ; 0x6a 808ae3c: 20f6 movs r0, #246 ; 0xf6 808ae3e: f7ca ff8d bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 808ae42: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808ae46: b2db uxtb r3, r3 808ae48: 461a mov r2, r3 808ae4a: 4b15 ldr r3, [pc, #84] ; (808aea0 ) 808ae4c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ae50: 461a mov r2, r3 808ae52: 216a movs r1, #106 ; 0x6a 808ae54: f44f 7083 mov.w r0, #262 ; 0x106 808ae58: f7ca ff80 bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, "."); 808ae5c: 4a11 ldr r2, [pc, #68] ; (808aea4 ) 808ae5e: 216a movs r1, #106 ; 0x6a 808ae60: f44f 708b mov.w r0, #278 ; 0x116 808ae64: f7ca ff7a bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 808ae68: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808ae6c: b2db uxtb r3, r3 808ae6e: 461a mov r2, r3 808ae70: 4b0b ldr r3, [pc, #44] ; (808aea0 ) 808ae72: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ae76: 461a mov r2, r3 808ae78: 216a movs r1, #106 ; 0x6a 808ae7a: f44f 7093 mov.w r0, #294 ; 0x126 808ae7e: f7ca ff6d bl 8055d5c 808ae82: e145 b.n 808b110 808ae84: 20020ea4 .word 0x20020ea4 808ae88: ff0a0f1f .word 0xff0a0f1f 808ae8c: ffd8aa57 .word 0xffd8aa57 808ae90: 20023eb8 .word 0x20023eb8 808ae94: 200206bc .word 0x200206bc 808ae98: 20020070 .word 0x20020070 808ae9c: 200216ac .word 0x200216ac 808aea0: 2002096c .word 0x2002096c 808aea4: 080d6258 .word 0x080d6258 } else if(menupos == DiagMax_IED) 808aea8: 4b62 ldr r3, [pc, #392] ; (808b034 ) 808aeaa: 781b ldrb r3, [r3, #0] 808aeac: b2db uxtb r3, r3 808aeae: 2b08 cmp r3, #8 808aeb0: d15d bne.n 808af6e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808aeb2: 4961 ldr r1, [pc, #388] ; (808b038 ) 808aeb4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808aeb8: f7ca f9a8 bl 805520c if(blk) 808aebc: 4b5f ldr r3, [pc, #380] ; (808b03c ) 808aebe: 681b ldr r3, [r3, #0] 808aec0: 2b00 cmp r3, #0 808aec2: d00b beq.n 808aedc LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 808aec4: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808aec8: b2db uxtb r3, r3 808aeca: 461a mov r2, r3 808aecc: 4b5c ldr r3, [pc, #368] ; (808b040 ) 808aece: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808aed2: 461a mov r2, r3 808aed4: 216a movs r1, #106 ; 0x6a 808aed6: 20f6 movs r0, #246 ; 0xf6 808aed8: f7ca ff40 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808aedc: 4956 ldr r1, [pc, #344] ; (808b038 ) 808aede: 4859 ldr r0, [pc, #356] ; (808b044 ) 808aee0: f7ca f994 bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 808aee4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808aee8: b2db uxtb r3, r3 808aeea: 461a mov r2, r3 808aeec: 4b54 ldr r3, [pc, #336] ; (808b040 ) 808aeee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808aef2: 461a mov r2, r3 808aef4: 216a movs r1, #106 ; 0x6a 808aef6: 20c6 movs r0, #198 ; 0xc6 808aef8: f7ca ff30 bl 8055d5c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 808aefc: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808af00: b2db uxtb r3, r3 808af02: 461a mov r2, r3 808af04: 4b4e ldr r3, [pc, #312] ; (808b040 ) 808af06: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808af0a: 461a mov r2, r3 808af0c: 216a movs r1, #106 ; 0x6a 808af0e: 20d6 movs r0, #214 ; 0xd6 808af10: f7ca ff24 bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 808af14: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808af18: b2db uxtb r3, r3 808af1a: 461a mov r2, r3 808af1c: 4b48 ldr r3, [pc, #288] ; (808b040 ) 808af1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808af22: 461a mov r2, r3 808af24: 216a movs r1, #106 ; 0x6a 808af26: 20e6 movs r0, #230 ; 0xe6 808af28: f7ca ff18 bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 808af2c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808af30: b2db uxtb r3, r3 808af32: 461a mov r2, r3 808af34: 4b42 ldr r3, [pc, #264] ; (808b040 ) 808af36: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808af3a: 461a mov r2, r3 808af3c: 216a movs r1, #106 ; 0x6a 808af3e: f44f 7083 mov.w r0, #262 ; 0x106 808af42: f7ca ff0b bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, "."); 808af46: 4a40 ldr r2, [pc, #256] ; (808b048 ) 808af48: 216a movs r1, #106 ; 0x6a 808af4a: f44f 708b mov.w r0, #278 ; 0x116 808af4e: f7ca ff05 bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 808af52: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808af56: b2db uxtb r3, r3 808af58: 461a mov r2, r3 808af5a: 4b39 ldr r3, [pc, #228] ; (808b040 ) 808af5c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808af60: 461a mov r2, r3 808af62: 216a movs r1, #106 ; 0x6a 808af64: f44f 7093 mov.w r0, #294 ; 0x126 808af68: f7ca fef8 bl 8055d5c 808af6c: e0d0 b.n 808b110 } else if(menupos == DiagMax_IEE) 808af6e: 4b31 ldr r3, [pc, #196] ; (808b034 ) 808af70: 781b ldrb r3, [r3, #0] 808af72: b2db uxtb r3, r3 808af74: 2b09 cmp r3, #9 808af76: d169 bne.n 808b04c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808af78: 492f ldr r1, [pc, #188] ; (808b038 ) 808af7a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808af7e: f7ca f945 bl 805520c if(blk) 808af82: 4b2e ldr r3, [pc, #184] ; (808b03c ) 808af84: 681b ldr r3, [r3, #0] 808af86: 2b00 cmp r3, #0 808af88: d00c beq.n 808afa4 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 808af8a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808af8e: b2db uxtb r3, r3 808af90: 461a mov r2, r3 808af92: 4b2b ldr r3, [pc, #172] ; (808b040 ) 808af94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808af98: 461a mov r2, r3 808af9a: 216a movs r1, #106 ; 0x6a 808af9c: f44f 7083 mov.w r0, #262 ; 0x106 808afa0: f7ca fedc bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808afa4: 4924 ldr r1, [pc, #144] ; (808b038 ) 808afa6: 4827 ldr r0, [pc, #156] ; (808b044 ) 808afa8: f7ca f930 bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 808afac: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808afb0: b2db uxtb r3, r3 808afb2: 461a mov r2, r3 808afb4: 4b22 ldr r3, [pc, #136] ; (808b040 ) 808afb6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808afba: 461a mov r2, r3 808afbc: 216a movs r1, #106 ; 0x6a 808afbe: 20c6 movs r0, #198 ; 0xc6 808afc0: f7ca fecc bl 8055d5c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 808afc4: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808afc8: b2db uxtb r3, r3 808afca: 461a mov r2, r3 808afcc: 4b1c ldr r3, [pc, #112] ; (808b040 ) 808afce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808afd2: 461a mov r2, r3 808afd4: 216a movs r1, #106 ; 0x6a 808afd6: 20d6 movs r0, #214 ; 0xd6 808afd8: f7ca fec0 bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 808afdc: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808afe0: b2db uxtb r3, r3 808afe2: 461a mov r2, r3 808afe4: 4b16 ldr r3, [pc, #88] ; (808b040 ) 808afe6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808afea: 461a mov r2, r3 808afec: 216a movs r1, #106 ; 0x6a 808afee: 20e6 movs r0, #230 ; 0xe6 808aff0: f7ca feb4 bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 808aff4: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808aff8: b2db uxtb r3, r3 808affa: 461a mov r2, r3 808affc: 4b10 ldr r3, [pc, #64] ; (808b040 ) 808affe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b002: 461a mov r2, r3 808b004: 216a movs r1, #106 ; 0x6a 808b006: 20f6 movs r0, #246 ; 0xf6 808b008: f7ca fea8 bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, "."); 808b00c: 4a0e ldr r2, [pc, #56] ; (808b048 ) 808b00e: 216a movs r1, #106 ; 0x6a 808b010: f44f 708b mov.w r0, #278 ; 0x116 808b014: f7ca fea2 bl 8055d5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 808b018: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808b01c: b2db uxtb r3, r3 808b01e: 461a mov r2, r3 808b020: 4b07 ldr r3, [pc, #28] ; (808b040 ) 808b022: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b026: 461a mov r2, r3 808b028: 216a movs r1, #106 ; 0x6a 808b02a: f44f 7093 mov.w r0, #294 ; 0x126 808b02e: f7ca fe95 bl 8055d5c 808b032: e06d b.n 808b110 808b034: 20020070 .word 0x20020070 808b038: ff0a0f1f .word 0xff0a0f1f 808b03c: 200216ac .word 0x200216ac 808b040: 2002096c .word 0x2002096c 808b044: ffd8aa57 .word 0xffd8aa57 808b048: 080d6258 .word 0x080d6258 } else if(menupos == DiagMax_IKD) 808b04c: 4bc4 ldr r3, [pc, #784] ; (808b360 ) 808b04e: 781b ldrb r3, [r3, #0] 808b050: b2db uxtb r3, r3 808b052: 2b0a cmp r3, #10 808b054: d15c bne.n 808b110 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b056: 49c3 ldr r1, [pc, #780] ; (808b364 ) 808b058: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b05c: f7ca f8d6 bl 805520c if(blk) 808b060: 4bc1 ldr r3, [pc, #772] ; (808b368 ) 808b062: 681b ldr r3, [r3, #0] 808b064: 2b00 cmp r3, #0 808b066: d00c beq.n 808b082 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 808b068: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808b06c: b2db uxtb r3, r3 808b06e: 461a mov r2, r3 808b070: 4bbe ldr r3, [pc, #760] ; (808b36c ) 808b072: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b076: 461a mov r2, r3 808b078: 216a movs r1, #106 ; 0x6a 808b07a: f44f 7093 mov.w r0, #294 ; 0x126 808b07e: f7ca fe6d bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b082: 49b8 ldr r1, [pc, #736] ; (808b364 ) 808b084: 48ba ldr r0, [pc, #744] ; (808b370 ) 808b086: f7ca f8c1 bl 805520c LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 808b08a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808b08e: b2db uxtb r3, r3 808b090: 461a mov r2, r3 808b092: 4bb6 ldr r3, [pc, #728] ; (808b36c ) 808b094: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b098: 461a mov r2, r3 808b09a: 216a movs r1, #106 ; 0x6a 808b09c: 20c6 movs r0, #198 ; 0xc6 808b09e: f7ca fe5d bl 8055d5c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 808b0a2: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808b0a6: b2db uxtb r3, r3 808b0a8: 461a mov r2, r3 808b0aa: 4bb0 ldr r3, [pc, #704] ; (808b36c ) 808b0ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b0b0: 461a mov r2, r3 808b0b2: 216a movs r1, #106 ; 0x6a 808b0b4: 20d6 movs r0, #214 ; 0xd6 808b0b6: f7ca fe51 bl 8055d5c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 808b0ba: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808b0be: b2db uxtb r3, r3 808b0c0: 461a mov r2, r3 808b0c2: 4baa ldr r3, [pc, #680] ; (808b36c ) 808b0c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b0c8: 461a mov r2, r3 808b0ca: 216a movs r1, #106 ; 0x6a 808b0cc: 20e6 movs r0, #230 ; 0xe6 808b0ce: f7ca fe45 bl 8055d5c LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 808b0d2: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808b0d6: b2db uxtb r3, r3 808b0d8: 461a mov r2, r3 808b0da: 4ba4 ldr r3, [pc, #656] ; (808b36c ) 808b0dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b0e0: 461a mov r2, r3 808b0e2: 216a movs r1, #106 ; 0x6a 808b0e4: 20f6 movs r0, #246 ; 0xf6 808b0e6: f7ca fe39 bl 8055d5c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 808b0ea: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808b0ee: b2db uxtb r3, r3 808b0f0: 461a mov r2, r3 808b0f2: 4b9e ldr r3, [pc, #632] ; (808b36c ) 808b0f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b0f8: 461a mov r2, r3 808b0fa: 216a movs r1, #106 ; 0x6a 808b0fc: f44f 7083 mov.w r0, #262 ; 0x106 808b100: f7ca fe2c bl 8055d5c LCD_DisplayString(278, LCD_LINE_6, "."); 808b104: 4a9b ldr r2, [pc, #620] ; (808b374 ) 808b106: 216a movs r1, #106 ; 0x6a 808b108: f44f 708b mov.w r0, #278 ; 0x116 808b10c: f7ca fe26 bl 8055d5c } // if(menupos < DiagMax_IDT) 808b110: 4b93 ldr r3, [pc, #588] ; (808b360 ) 808b112: 781b ldrb r3, [r3, #0] 808b114: b2db uxtb r3, r3 808b116: 2b04 cmp r3, #4 808b118: f200 80b9 bhi.w 808b28e { i = 0; 808b11c: 2300 movs r3, #0 808b11e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808b122: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808b126: 223c movs r2, #60 ; 0x3c 808b128: 2100 movs r1, #0 808b12a: 4618 mov r0, r3 808b12c: f046 ff3a bl 80d1fa4 if(idt2 != 0) 808b130: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808b134: b2db uxtb r3, r3 808b136: 2b00 cmp r3, #0 808b138: d00c beq.n 808b154 str2[i++] = idt2 + 48; 808b13a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b13e: 1c5a adds r2, r3, #1 808b140: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b144: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 808b148: b2d2 uxtb r2, r2 808b14a: 3230 adds r2, #48 ; 0x30 808b14c: b2d1 uxtb r1, r2 808b14e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808b152: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 808b154: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808b158: b2db uxtb r3, r3 808b15a: 2b00 cmp r3, #0 808b15c: d104 bne.n 808b168 808b15e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808b162: b2db uxtb r3, r3 808b164: 2b00 cmp r3, #0 808b166: d00c beq.n 808b182 str2[i++] = iet2 + 48; 808b168: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b16c: 1c5a adds r2, r3, #1 808b16e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b172: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 808b176: b2d2 uxtb r2, r2 808b178: 3230 adds r2, #48 ; 0x30 808b17a: b2d1 uxtb r1, r2 808b17c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808b180: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 808b182: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808b186: b2db uxtb r3, r3 808b188: 2b00 cmp r3, #0 808b18a: d109 bne.n 808b1a0 808b18c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808b190: b2db uxtb r3, r3 808b192: 2b00 cmp r3, #0 808b194: d104 bne.n 808b1a0 808b196: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808b19a: b2db uxtb r3, r3 808b19c: 2b00 cmp r3, #0 808b19e: d00c beq.n 808b1ba str2[i++] = ies2 + 48; 808b1a0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b1a4: 1c5a adds r2, r3, #1 808b1a6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b1aa: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 808b1ae: b2d2 uxtb r2, r2 808b1b0: 3230 adds r2, #48 ; 0x30 808b1b2: b2d1 uxtb r1, r2 808b1b4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808b1b8: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 808b1ba: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808b1be: b2db uxtb r3, r3 808b1c0: 2b00 cmp r3, #0 808b1c2: d10e bne.n 808b1e2 808b1c4: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808b1c8: b2db uxtb r3, r3 808b1ca: 2b00 cmp r3, #0 808b1cc: d109 bne.n 808b1e2 808b1ce: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808b1d2: b2db uxtb r3, r3 808b1d4: 2b00 cmp r3, #0 808b1d6: d104 bne.n 808b1e2 808b1d8: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808b1dc: b2db uxtb r3, r3 808b1de: 2b00 cmp r3, #0 808b1e0: d00c beq.n 808b1fc str2[i++] = ied2 + 48; 808b1e2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b1e6: 1c5a adds r2, r3, #1 808b1e8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b1ec: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 808b1f0: b2d2 uxtb r2, r2 808b1f2: 3230 adds r2, #48 ; 0x30 808b1f4: b2d1 uxtb r1, r2 808b1f6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808b1fa: 54d1 strb r1, [r2, r3] str2[i++] = iee2 + 48; 808b1fc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b200: 1c5a adds r2, r3, #1 808b202: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b206: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 808b20a: b2d2 uxtb r2, r2 808b20c: 3230 adds r2, #48 ; 0x30 808b20e: b2d1 uxtb r1, r2 808b210: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808b214: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808b216: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b21a: 1c5a adds r2, r3, #1 808b21c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b220: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808b224: 212e movs r1, #46 ; 0x2e 808b226: 54d1 strb r1, [r2, r3] str2[i++] = ikd2 + 48; 808b228: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b22c: 1c5a adds r2, r3, #1 808b22e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b232: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 808b236: b2d2 uxtb r2, r2 808b238: 3230 adds r2, #48 ; 0x30 808b23a: b2d1 uxtb r1, r2 808b23c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808b240: 54d1 strb r1, [r2, r3] if(pardata.OPTIONS & 0x4) 808b242: 4b4d ldr r3, [pc, #308] ; (808b378 ) 808b244: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808b248: f003 0304 and.w r3, r3, #4 808b24c: 2b00 cmp r3, #0 808b24e: d003 beq.n 808b258 cl2 = LCD_COLOR_GRAY; 808b250: 4b4a ldr r3, [pc, #296] ; (808b37c ) 808b252: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808b256: e002 b.n 808b25e else cl2 = LCD_COLOR_MY_YELLOW; 808b258: 4b45 ldr r3, [pc, #276] ; (808b370 ) 808b25a: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == DiagMax_ALL) 808b25e: 4b40 ldr r3, [pc, #256] ; (808b360 ) 808b260: 781b ldrb r3, [r3, #0] 808b262: b2db uxtb r3, r3 808b264: 2b03 cmp r3, #3 808b266: d105 bne.n 808b274 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b268: 493e ldr r1, [pc, #248] ; (808b364 ) 808b26a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b26e: f7c9 ffcd bl 805520c 808b272: e004 b.n 808b27e else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808b274: 493b ldr r1, [pc, #236] ; (808b364 ) 808b276: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808b27a: f7c9 ffc7 bl 805520c LCD_DisplayStringC(260, LCD_LINE_6, str2); 808b27e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808b282: 461a mov r2, r3 808b284: 216a movs r1, #106 ; 0x6a 808b286: f44f 7082 mov.w r0, #260 ; 0x104 808b28a: f7ca fd7f bl 8055d8c } //asd if(pardata.OPTIONS & 0x4) 808b28e: 4b3a ldr r3, [pc, #232] ; (808b378 ) 808b290: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808b294: f003 0304 and.w r3, r3, #4 808b298: 2b00 cmp r3, #0 808b29a: f00d 87b2 beq.w 8099202 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 808b29e: 4931 ldr r1, [pc, #196] ; (808b364 ) 808b2a0: 4837 ldr r0, [pc, #220] ; (808b380 ) 808b2a2: f7c9 ffb3 bl 805520c BSP_LCD_FillRect(257, CHECKBOX_LINE_5+2, 6, 6); 808b2a6: 2306 movs r3, #6 808b2a8: 2206 movs r2, #6 808b2aa: 215f movs r1, #95 ; 0x5f 808b2ac: f240 1001 movw r0, #257 ; 0x101 808b2b0: f7ca fc3a bl 8055b28 //LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); // BSP_LCD_FillRect(255, CHECKBOX_LINE_5, 10, 10); } break; 808b2b4: f00d bfa5 b.w 8099202 case PARAM_DIAGN_1: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 808b2b8: 492a ldr r1, [pc, #168] ; (808b364 ) 808b2ba: 4832 ldr r0, [pc, #200] ; (808b384 ) 808b2bc: f7c9 ffa6 bl 805520c BSP_LCD_DrawRect(2, 35, 314, 201); 808b2c0: 23c9 movs r3, #201 ; 0xc9 808b2c2: f44f 729d mov.w r2, #314 ; 0x13a 808b2c6: 2123 movs r1, #35 ; 0x23 808b2c8: 2002 movs r0, #2 808b2ca: f7ca faa5 bl 8055818 //**************************************************************** for(i = 0; i < 8; i++) 808b2ce: 2300 movs r3, #0 808b2d0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 808b2d4: e11e b.n 808b514 { memset(str, 0, sizeof(str)); 808b2d6: f507 733b add.w r3, r7, #748 ; 0x2ec 808b2da: 223c movs r2, #60 ; 0x3c 808b2dc: 2100 movs r1, #0 808b2de: 4618 mov r0, r3 808b2e0: f046 fe60 bl 80d1fa4 memset(str1, 0, sizeof(str1)); 808b2e4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808b2e8: f44f 7280 mov.w r2, #256 ; 0x100 808b2ec: 2100 movs r1, #0 808b2ee: 4618 mov r0, r3 808b2f0: f046 fe58 bl 80d1fa4 memset(&s[i][0], 0, 40u); 808b2f4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808b2f8: f107 0114 add.w r1, r7, #20 808b2fc: 4613 mov r3, r2 808b2fe: 009b lsls r3, r3, #2 808b300: 4413 add r3, r2 808b302: 00db lsls r3, r3, #3 808b304: 440b add r3, r1 808b306: 2228 movs r2, #40 ; 0x28 808b308: 2100 movs r1, #0 808b30a: 4618 mov r0, r3 808b30c: f046 fe4a bl 80d1fa4 memcpy(str, (void *) &pardata.DIAGN_NAME[i][0], 40); 808b310: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808b314: 4613 mov r3, r2 808b316: 009b lsls r3, r3, #2 808b318: 4413 add r3, r2 808b31a: 00db lsls r3, r3, #3 808b31c: 33d8 adds r3, #216 ; 0xd8 808b31e: 4a16 ldr r2, [pc, #88] ; (808b378 ) 808b320: 4413 add r3, r2 808b322: 1d19 adds r1, r3, #4 808b324: f507 733b add.w r3, r7, #748 ; 0x2ec 808b328: 2228 movs r2, #40 ; 0x28 808b32a: 4618 mov r0, r3 808b32c: f046 fe2f bl 80d1f8e l = strlen(str); 808b330: f507 733b add.w r3, r7, #748 ; 0x2ec 808b334: 4618 mov r0, r3 808b336: f794 ffed bl 8020314 808b33a: 4603 mov r3, r0 808b33c: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l == 0) 808b340: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808b344: 2b00 cmp r3, #0 808b346: d15f bne.n 808b408 { if(pardata.LANG == RUS) 808b348: 4b0b ldr r3, [pc, #44] ; (808b378 ) 808b34a: 7b1b ldrb r3, [r3, #12] 808b34c: b2db uxtb r3, r3 808b34e: 2b00 cmp r3, #0 808b350: d11c bne.n 808b38c strcpy(str, "Ïðîãðàììà"); 808b352: f507 733b add.w r3, r7, #748 ; 0x2ec 808b356: 4a0c ldr r2, [pc, #48] ; (808b388 ) 808b358: ca07 ldmia r2, {r0, r1, r2} 808b35a: c303 stmia r3!, {r0, r1} 808b35c: 801a strh r2, [r3, #0] 808b35e: e01c b.n 808b39a 808b360: 20020070 .word 0x20020070 808b364: ff0a0f1f .word 0xff0a0f1f 808b368: 200216ac .word 0x200216ac 808b36c: 2002096c .word 0x2002096c 808b370: ffd8aa57 .word 0xffd8aa57 808b374: 080d6258 .word 0x080d6258 808b378: 20023eb8 .word 0x20023eb8 808b37c: ff808080 .word 0xff808080 808b380: ff404040 .word 0xff404040 808b384: ffd3d3d3 .word 0xffd3d3d3 808b388: 080d6af8 .word 0x080d6af8 else strcpy(str, "Program"); 808b38c: f507 733b add.w r3, r7, #748 ; 0x2ec 808b390: 4acd ldr r2, [pc, #820] ; (808b6c8 ) 808b392: e892 0003 ldmia.w r2, {r0, r1} 808b396: e883 0003 stmia.w r3, {r0, r1} l = strlen(str); 808b39a: f507 733b add.w r3, r7, #748 ; 0x2ec 808b39e: 4618 mov r0, r3 808b3a0: f794 ffb8 bl 8020314 808b3a4: 4603 mov r3, r0 808b3a6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l++] = ' '; 808b3aa: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808b3ae: 1c5a adds r2, r3, #1 808b3b0: f8c7 23f4 str.w r2, [r7, #1012] ; 0x3f4 808b3b4: f507 723b add.w r2, r7, #748 ; 0x2ec 808b3b8: 2120 movs r1, #32 808b3ba: 54d1 strb r1, [r2, r3] str[l++] = (char) (i + 49); 808b3bc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808b3c0: 1c5a adds r2, r3, #1 808b3c2: f8c7 23f4 str.w r2, [r7, #1012] ; 0x3f4 808b3c6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808b3ca: b2d2 uxtb r2, r2 808b3cc: 3231 adds r2, #49 ; 0x31 808b3ce: b2d1 uxtb r1, r2 808b3d0: f507 723b add.w r2, r7, #748 ; 0x2ec 808b3d4: 54d1 strb r1, [r2, r3] str[l++] = 0; 808b3d6: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808b3da: 1c5a adds r2, r3, #1 808b3dc: f8c7 23f4 str.w r2, [r7, #1012] ; 0x3f4 808b3e0: f507 723b add.w r2, r7, #748 ; 0x2ec 808b3e4: 2100 movs r1, #0 808b3e6: 54d1 strb r1, [r2, r3] strcpy(&s[i][0], str); 808b3e8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808b3ec: f107 0114 add.w r1, r7, #20 808b3f0: 4613 mov r3, r2 808b3f2: 009b lsls r3, r3, #2 808b3f4: 4413 add r3, r2 808b3f6: 00db lsls r3, r3, #3 808b3f8: 440b add r3, r1 808b3fa: f507 723b add.w r2, r7, #748 ; 0x2ec 808b3fe: 4611 mov r1, r2 808b400: 4618 mov r0, r3 808b402: f046 feec bl 80d21de 808b406: e080 b.n 808b50a } else { if(l < 27) 808b408: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808b40c: 2b1a cmp r3, #26 808b40e: d808 bhi.n 808b422 { strcpy(str1, str); 808b410: f507 723b add.w r2, r7, #748 ; 0x2ec 808b414: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808b418: 4611 mov r1, r2 808b41a: 4618 mov r0, r3 808b41c: f046 fedf bl 80d21de 808b420: e064 b.n 808b4ec } else { memset(str1, 0x20, sizeof(str1)); 808b422: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808b426: f44f 7280 mov.w r2, #256 ; 0x100 808b42a: 2120 movs r1, #32 808b42c: 4618 mov r0, r3 808b42e: f046 fdb9 bl 80d1fa4 if(tme <= l) 808b432: 4ba6 ldr r3, [pc, #664] ; (808b6cc ) 808b434: 681a ldr r2, [r3, #0] 808b436: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808b43a: 429a cmp r2, r3 808b43c: d822 bhi.n 808b484 { if(l - tme >= 26) 808b43e: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808b442: 4ba2 ldr r3, [pc, #648] ; (808b6cc ) 808b444: 681b ldr r3, [r3, #0] 808b446: 1ad3 subs r3, r2, r3 808b448: 2b19 cmp r3, #25 808b44a: d90b bls.n 808b464 memcpy(str1, &str[tme], 26); 808b44c: 4b9f ldr r3, [pc, #636] ; (808b6cc ) 808b44e: 681b ldr r3, [r3, #0] 808b450: f507 723b add.w r2, r7, #748 ; 0x2ec 808b454: 18d1 adds r1, r2, r3 808b456: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808b45a: 221a movs r2, #26 808b45c: 4618 mov r0, r3 808b45e: f046 fd96 bl 80d1f8e 808b462: e022 b.n 808b4aa else memcpy(str1, &str[tme], l - tme); 808b464: 4b99 ldr r3, [pc, #612] ; (808b6cc ) 808b466: 681b ldr r3, [r3, #0] 808b468: f507 723b add.w r2, r7, #748 ; 0x2ec 808b46c: 18d1 adds r1, r2, r3 808b46e: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808b472: 4b96 ldr r3, [pc, #600] ; (808b6cc ) 808b474: 681b ldr r3, [r3, #0] 808b476: 1ad2 subs r2, r2, r3 808b478: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808b47c: 4618 mov r0, r3 808b47e: f046 fd86 bl 80d1f8e 808b482: e012 b.n 808b4aa } else { memcpy(&str1[26 - (tme - l)], str, tme - l); 808b484: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808b488: 4b90 ldr r3, [pc, #576] ; (808b6cc ) 808b48a: 681b ldr r3, [r3, #0] 808b48c: 1ad3 subs r3, r2, r3 808b48e: 331a adds r3, #26 808b490: f507 72f6 add.w r2, r7, #492 ; 0x1ec 808b494: 18d0 adds r0, r2, r3 808b496: 4b8d ldr r3, [pc, #564] ; (808b6cc ) 808b498: 681a ldr r2, [r3, #0] 808b49a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808b49e: 1ad2 subs r2, r2, r3 808b4a0: f507 733b add.w r3, r7, #748 ; 0x2ec 808b4a4: 4619 mov r1, r3 808b4a6: f046 fd72 bl 80d1f8e } str1[27] = '\0'; 808b4aa: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808b4ae: 2200 movs r2, #0 808b4b0: 76da strb r2, [r3, #27] tt++; 808b4b2: 4b87 ldr r3, [pc, #540] ; (808b6d0 ) 808b4b4: 781b ldrb r3, [r3, #0] 808b4b6: 3301 adds r3, #1 808b4b8: b2da uxtb r2, r3 808b4ba: 4b85 ldr r3, [pc, #532] ; (808b6d0 ) 808b4bc: 701a strb r2, [r3, #0] if(tt >= 2) 808b4be: 4b84 ldr r3, [pc, #528] ; (808b6d0 ) 808b4c0: 781b ldrb r3, [r3, #0] 808b4c2: 2b01 cmp r3, #1 808b4c4: d912 bls.n 808b4ec { tt = 0; 808b4c6: 4b82 ldr r3, [pc, #520] ; (808b6d0 ) 808b4c8: 2200 movs r2, #0 808b4ca: 701a strb r2, [r3, #0] tme++; 808b4cc: 4b7f ldr r3, [pc, #508] ; (808b6cc ) 808b4ce: 681b ldr r3, [r3, #0] 808b4d0: 3301 adds r3, #1 808b4d2: 4a7e ldr r2, [pc, #504] ; (808b6cc ) 808b4d4: 6013 str r3, [r2, #0] if(26 - (tme - l) == 0) 808b4d6: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808b4da: 4b7c ldr r3, [pc, #496] ; (808b6cc ) 808b4dc: 681b ldr r3, [r3, #0] 808b4de: 1ad3 subs r3, r2, r3 808b4e0: f113 0f1a cmn.w r3, #26 808b4e4: d102 bne.n 808b4ec { tme = 0; 808b4e6: 4b79 ldr r3, [pc, #484] ; (808b6cc ) 808b4e8: 2200 movs r2, #0 808b4ea: 601a str r2, [r3, #0] } } } strcpy(&s[i][0], str1); 808b4ec: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808b4f0: f107 0114 add.w r1, r7, #20 808b4f4: 4613 mov r3, r2 808b4f6: 009b lsls r3, r3, #2 808b4f8: 4413 add r3, r2 808b4fa: 00db lsls r3, r3, #3 808b4fc: 440b add r3, r1 808b4fe: f507 72f6 add.w r2, r7, #492 ; 0x1ec 808b502: 4611 mov r1, r2 808b504: 4618 mov r0, r3 808b506: f046 fe6a bl 80d21de for(i = 0; i < 8; i++) 808b50a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b50e: 3301 adds r3, #1 808b510: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 808b514: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b518: 2b07 cmp r3, #7 808b51a: f67f aedc bls.w 808b2d6 } } //**************************************************************** k = 0; 808b51e: 2300 movs r3, #0 808b520: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(menupos == Diag1) 808b524: 4b6b ldr r3, [pc, #428] ; (808b6d4 ) 808b526: 781b ldrb r3, [r3, #0] 808b528: b2db uxtb r3, r3 808b52a: 2b00 cmp r3, #0 808b52c: d105 bne.n 808b53a LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b52e: 496a ldr r1, [pc, #424] ; (808b6d8 ) 808b530: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b534: f7c9 fe6a bl 805520c 808b538: e004 b.n 808b544 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808b53a: 4967 ldr r1, [pc, #412] ; (808b6d8 ) 808b53c: f04f 30ff mov.w r0, #4294967295 808b540: f7c9 fe64 bl 805520c LCD_DisplayString(10, LCD_LINE_3, &s[k++][0]); 808b544: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b548: 1c53 adds r3, r2, #1 808b54a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 808b54e: f107 0114 add.w r1, r7, #20 808b552: 4613 mov r3, r2 808b554: 009b lsls r3, r3, #2 808b556: 4413 add r3, r2 808b558: 00db lsls r3, r3, #3 808b55a: 440b add r3, r1 808b55c: 461a mov r2, r3 808b55e: 213a movs r1, #58 ; 0x3a 808b560: 200a movs r0, #10 808b562: f7ca fbfb bl 8055d5c if(menupos == Diag2) 808b566: 4b5b ldr r3, [pc, #364] ; (808b6d4 ) 808b568: 781b ldrb r3, [r3, #0] 808b56a: b2db uxtb r3, r3 808b56c: 2b01 cmp r3, #1 808b56e: d105 bne.n 808b57c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b570: 4959 ldr r1, [pc, #356] ; (808b6d8 ) 808b572: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b576: f7c9 fe49 bl 805520c 808b57a: e004 b.n 808b586 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808b57c: 4956 ldr r1, [pc, #344] ; (808b6d8 ) 808b57e: f04f 30ff mov.w r0, #4294967295 808b582: f7c9 fe43 bl 805520c LCD_DisplayString(10, LCD_LINE_4, &s[k++][0]); 808b586: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b58a: 1c53 adds r3, r2, #1 808b58c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 808b590: f107 0114 add.w r1, r7, #20 808b594: 4613 mov r3, r2 808b596: 009b lsls r3, r3, #2 808b598: 4413 add r3, r2 808b59a: 00db lsls r3, r3, #3 808b59c: 440b add r3, r1 808b59e: 461a mov r2, r3 808b5a0: 214a movs r1, #74 ; 0x4a 808b5a2: 200a movs r0, #10 808b5a4: f7ca fbda bl 8055d5c if(menupos == Diag3) 808b5a8: 4b4a ldr r3, [pc, #296] ; (808b6d4 ) 808b5aa: 781b ldrb r3, [r3, #0] 808b5ac: b2db uxtb r3, r3 808b5ae: 2b02 cmp r3, #2 808b5b0: d105 bne.n 808b5be LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b5b2: 4949 ldr r1, [pc, #292] ; (808b6d8 ) 808b5b4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b5b8: f7c9 fe28 bl 805520c 808b5bc: e004 b.n 808b5c8 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808b5be: 4946 ldr r1, [pc, #280] ; (808b6d8 ) 808b5c0: f04f 30ff mov.w r0, #4294967295 808b5c4: f7c9 fe22 bl 805520c LCD_DisplayString(10, LCD_LINE_5, &s[k++][0]); 808b5c8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b5cc: 1c53 adds r3, r2, #1 808b5ce: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 808b5d2: f107 0114 add.w r1, r7, #20 808b5d6: 4613 mov r3, r2 808b5d8: 009b lsls r3, r3, #2 808b5da: 4413 add r3, r2 808b5dc: 00db lsls r3, r3, #3 808b5de: 440b add r3, r1 808b5e0: 461a mov r2, r3 808b5e2: 215a movs r1, #90 ; 0x5a 808b5e4: 200a movs r0, #10 808b5e6: f7ca fbb9 bl 8055d5c if(menupos == Diag4) 808b5ea: 4b3a ldr r3, [pc, #232] ; (808b6d4 ) 808b5ec: 781b ldrb r3, [r3, #0] 808b5ee: b2db uxtb r3, r3 808b5f0: 2b03 cmp r3, #3 808b5f2: d105 bne.n 808b600 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b5f4: 4938 ldr r1, [pc, #224] ; (808b6d8 ) 808b5f6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b5fa: f7c9 fe07 bl 805520c 808b5fe: e004 b.n 808b60a else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808b600: 4935 ldr r1, [pc, #212] ; (808b6d8 ) 808b602: f04f 30ff mov.w r0, #4294967295 808b606: f7c9 fe01 bl 805520c LCD_DisplayString(10, LCD_LINE_6, &s[k++][0]); 808b60a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b60e: 1c53 adds r3, r2, #1 808b610: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 808b614: f107 0114 add.w r1, r7, #20 808b618: 4613 mov r3, r2 808b61a: 009b lsls r3, r3, #2 808b61c: 4413 add r3, r2 808b61e: 00db lsls r3, r3, #3 808b620: 440b add r3, r1 808b622: 461a mov r2, r3 808b624: 216a movs r1, #106 ; 0x6a 808b626: 200a movs r0, #10 808b628: f7ca fb98 bl 8055d5c if(menupos == Diag5) 808b62c: 4b29 ldr r3, [pc, #164] ; (808b6d4 ) 808b62e: 781b ldrb r3, [r3, #0] 808b630: b2db uxtb r3, r3 808b632: 2b04 cmp r3, #4 808b634: d105 bne.n 808b642 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b636: 4928 ldr r1, [pc, #160] ; (808b6d8 ) 808b638: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b63c: f7c9 fde6 bl 805520c 808b640: e004 b.n 808b64c else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808b642: 4925 ldr r1, [pc, #148] ; (808b6d8 ) 808b644: f04f 30ff mov.w r0, #4294967295 808b648: f7c9 fde0 bl 805520c LCD_DisplayString(10, LCD_LINE_7, &s[k++][0]); 808b64c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b650: 1c53 adds r3, r2, #1 808b652: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 808b656: f107 0114 add.w r1, r7, #20 808b65a: 4613 mov r3, r2 808b65c: 009b lsls r3, r3, #2 808b65e: 4413 add r3, r2 808b660: 00db lsls r3, r3, #3 808b662: 440b add r3, r1 808b664: 461a mov r2, r3 808b666: 217a movs r1, #122 ; 0x7a 808b668: 200a movs r0, #10 808b66a: f7ca fb77 bl 8055d5c if(menupos == Diag6) 808b66e: 4b19 ldr r3, [pc, #100] ; (808b6d4 ) 808b670: 781b ldrb r3, [r3, #0] 808b672: b2db uxtb r3, r3 808b674: 2b05 cmp r3, #5 808b676: d105 bne.n 808b684 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b678: 4917 ldr r1, [pc, #92] ; (808b6d8 ) 808b67a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b67e: f7c9 fdc5 bl 805520c 808b682: e004 b.n 808b68e else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808b684: 4914 ldr r1, [pc, #80] ; (808b6d8 ) 808b686: f04f 30ff mov.w r0, #4294967295 808b68a: f7c9 fdbf bl 805520c LCD_DisplayString(10, LCD_LINE_8, &s[k++][0]); 808b68e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b692: 1c53 adds r3, r2, #1 808b694: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 808b698: f107 0114 add.w r1, r7, #20 808b69c: 4613 mov r3, r2 808b69e: 009b lsls r3, r3, #2 808b6a0: 4413 add r3, r2 808b6a2: 00db lsls r3, r3, #3 808b6a4: 440b add r3, r1 808b6a6: 461a mov r2, r3 808b6a8: 218a movs r1, #138 ; 0x8a 808b6aa: 200a movs r0, #10 808b6ac: f7ca fb56 bl 8055d5c if(menupos == Diag7) 808b6b0: 4b08 ldr r3, [pc, #32] ; (808b6d4 ) 808b6b2: 781b ldrb r3, [r3, #0] 808b6b4: b2db uxtb r3, r3 808b6b6: 2b06 cmp r3, #6 808b6b8: d110 bne.n 808b6dc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b6ba: 4907 ldr r1, [pc, #28] ; (808b6d8 ) 808b6bc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b6c0: f7c9 fda4 bl 805520c 808b6c4: e00f b.n 808b6e6 808b6c6: bf00 nop 808b6c8: 080d6b04 .word 0x080d6b04 808b6cc: 200216b8 .word 0x200216b8 808b6d0: 200216bc .word 0x200216bc 808b6d4: 20020070 .word 0x20020070 808b6d8: ff0a0f1f .word 0xff0a0f1f else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808b6dc: 494d ldr r1, [pc, #308] ; (808b814 ) 808b6de: f04f 30ff mov.w r0, #4294967295 808b6e2: f7c9 fd93 bl 805520c LCD_DisplayString(10, LCD_LINE_9, &s[k++][0]); 808b6e6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b6ea: 1c53 adds r3, r2, #1 808b6ec: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 808b6f0: f107 0114 add.w r1, r7, #20 808b6f4: 4613 mov r3, r2 808b6f6: 009b lsls r3, r3, #2 808b6f8: 4413 add r3, r2 808b6fa: 00db lsls r3, r3, #3 808b6fc: 440b add r3, r1 808b6fe: 461a mov r2, r3 808b700: 219a movs r1, #154 ; 0x9a 808b702: 200a movs r0, #10 808b704: f7ca fb2a bl 8055d5c if(menupos == Diag8) 808b708: 4b43 ldr r3, [pc, #268] ; (808b818 ) 808b70a: 781b ldrb r3, [r3, #0] 808b70c: b2db uxtb r3, r3 808b70e: 2b07 cmp r3, #7 808b710: d105 bne.n 808b71e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b712: 4940 ldr r1, [pc, #256] ; (808b814 ) 808b714: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b718: f7c9 fd78 bl 805520c 808b71c: e004 b.n 808b728 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808b71e: 493d ldr r1, [pc, #244] ; (808b814 ) 808b720: f04f 30ff mov.w r0, #4294967295 808b724: f7c9 fd72 bl 805520c LCD_DisplayString(10, LCD_LINE_10, &s[k++][0]); 808b728: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b72c: 1c53 adds r3, r2, #1 808b72e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 808b732: f107 0114 add.w r1, r7, #20 808b736: 4613 mov r3, r2 808b738: 009b lsls r3, r3, #2 808b73a: 4413 add r3, r2 808b73c: 00db lsls r3, r3, #3 808b73e: 440b add r3, r1 808b740: 461a mov r2, r3 808b742: 21aa movs r1, #170 ; 0xaa 808b744: 200a movs r0, #10 808b746: f7ca fb09 bl 8055d5c break; 808b74a: f00d bd6f b.w 809922c case PARAM_DIAGN_2: //todo LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 808b74e: 4931 ldr r1, [pc, #196] ; (808b814 ) 808b750: 4832 ldr r0, [pc, #200] ; (808b81c ) 808b752: f7c9 fd5b bl 805520c BSP_LCD_DrawRect(2, 35, 314, 201); 808b756: 23c9 movs r3, #201 ; 0xc9 808b758: f44f 729d mov.w r2, #314 ; 0x13a 808b75c: 2123 movs r1, #35 ; 0x23 808b75e: 2002 movs r0, #2 808b760: f7ca f85a bl 8055818 //**************************************************************** memcpy(str, (void *) &pardata.DIAGN_NAME[CURR_POINT][0], 40u); 808b764: 4b2e ldr r3, [pc, #184] ; (808b820 ) 808b766: 781b ldrb r3, [r3, #0] 808b768: b2db uxtb r3, r3 808b76a: 461a mov r2, r3 808b76c: 4613 mov r3, r2 808b76e: 009b lsls r3, r3, #2 808b770: 4413 add r3, r2 808b772: 00db lsls r3, r3, #3 808b774: 33d8 adds r3, #216 ; 0xd8 808b776: 4a2b ldr r2, [pc, #172] ; (808b824 ) 808b778: 4413 add r3, r2 808b77a: 1d19 adds r1, r3, #4 808b77c: f507 733b add.w r3, r7, #748 ; 0x2ec 808b780: 2228 movs r2, #40 ; 0x28 808b782: 4618 mov r0, r3 808b784: f046 fc03 bl 80d1f8e l = strlen(str); 808b788: f507 733b add.w r3, r7, #748 ; 0x2ec 808b78c: 4618 mov r0, r3 808b78e: f794 fdc1 bl 8020314 808b792: 4603 mov r3, r0 808b794: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 808b798: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808b79c: 2b09 cmp r3, #9 808b79e: d808 bhi.n 808b7b2 { strcpy(str1, str); 808b7a0: f507 723b add.w r2, r7, #748 ; 0x2ec 808b7a4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808b7a8: 4611 mov r1, r2 808b7aa: 4618 mov r0, r3 808b7ac: f046 fd17 bl 80d21de 808b7b0: e070 b.n 808b894 } else { memset(str1, 0x20, sizeof(str1)); 808b7b2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808b7b6: f44f 7280 mov.w r2, #256 ; 0x100 808b7ba: 2120 movs r1, #32 808b7bc: 4618 mov r0, r3 808b7be: f046 fbf1 bl 80d1fa4 if(tme <= l) 808b7c2: 4b19 ldr r3, [pc, #100] ; (808b828 ) 808b7c4: 681a ldr r2, [r3, #0] 808b7c6: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808b7ca: 429a cmp r2, r3 808b7cc: d82e bhi.n 808b82c { if(l - tme >= 9) 808b7ce: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808b7d2: 4b15 ldr r3, [pc, #84] ; (808b828 ) 808b7d4: 681b ldr r3, [r3, #0] 808b7d6: 1ad3 subs r3, r2, r3 808b7d8: 2b08 cmp r3, #8 808b7da: d90b bls.n 808b7f4 memcpy(str1, &str[tme], 9); 808b7dc: 4b12 ldr r3, [pc, #72] ; (808b828 ) 808b7de: 681b ldr r3, [r3, #0] 808b7e0: f507 723b add.w r2, r7, #748 ; 0x2ec 808b7e4: 18d1 adds r1, r2, r3 808b7e6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808b7ea: 2209 movs r2, #9 808b7ec: 4618 mov r0, r3 808b7ee: f046 fbce bl 80d1f8e 808b7f2: e02e b.n 808b852 else memcpy(str1, &str[tme], l - tme); 808b7f4: 4b0c ldr r3, [pc, #48] ; (808b828 ) 808b7f6: 681b ldr r3, [r3, #0] 808b7f8: f507 723b add.w r2, r7, #748 ; 0x2ec 808b7fc: 18d1 adds r1, r2, r3 808b7fe: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808b802: 4b09 ldr r3, [pc, #36] ; (808b828 ) 808b804: 681b ldr r3, [r3, #0] 808b806: 1ad2 subs r2, r2, r3 808b808: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808b80c: 4618 mov r0, r3 808b80e: f046 fbbe bl 80d1f8e 808b812: e01e b.n 808b852 808b814: ff0a0f1f .word 0xff0a0f1f 808b818: 20020070 .word 0x20020070 808b81c: ffd3d3d3 .word 0xffd3d3d3 808b820: 2002105d .word 0x2002105d 808b824: 20023eb8 .word 0x20023eb8 808b828: 200216b8 .word 0x200216b8 } else { memcpy(&str1[9 - (tme - l)], str, tme - l); 808b82c: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808b830: 4bb9 ldr r3, [pc, #740] ; (808bb18 ) 808b832: 681b ldr r3, [r3, #0] 808b834: 1ad3 subs r3, r2, r3 808b836: 3309 adds r3, #9 808b838: f507 72f6 add.w r2, r7, #492 ; 0x1ec 808b83c: 18d0 adds r0, r2, r3 808b83e: 4bb6 ldr r3, [pc, #728] ; (808bb18 ) 808b840: 681a ldr r2, [r3, #0] 808b842: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808b846: 1ad2 subs r2, r2, r3 808b848: f507 733b add.w r3, r7, #748 ; 0x2ec 808b84c: 4619 mov r1, r3 808b84e: f046 fb9e bl 80d1f8e } str1[10] = '\0'; 808b852: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808b856: 2200 movs r2, #0 808b858: 729a strb r2, [r3, #10] tt++; 808b85a: 4bb0 ldr r3, [pc, #704] ; (808bb1c ) 808b85c: 781b ldrb r3, [r3, #0] 808b85e: 3301 adds r3, #1 808b860: b2da uxtb r2, r3 808b862: 4bae ldr r3, [pc, #696] ; (808bb1c ) 808b864: 701a strb r2, [r3, #0] if(tt >= 4) 808b866: 4bad ldr r3, [pc, #692] ; (808bb1c ) 808b868: 781b ldrb r3, [r3, #0] 808b86a: 2b03 cmp r3, #3 808b86c: d912 bls.n 808b894 { tt = 0; 808b86e: 4bab ldr r3, [pc, #684] ; (808bb1c ) 808b870: 2200 movs r2, #0 808b872: 701a strb r2, [r3, #0] tme++; 808b874: 4ba8 ldr r3, [pc, #672] ; (808bb18 ) 808b876: 681b ldr r3, [r3, #0] 808b878: 3301 adds r3, #1 808b87a: 4aa7 ldr r2, [pc, #668] ; (808bb18 ) 808b87c: 6013 str r3, [r2, #0] if(9 - (tme - l) == 0) 808b87e: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808b882: 4ba5 ldr r3, [pc, #660] ; (808bb18 ) 808b884: 681b ldr r3, [r3, #0] 808b886: 1ad3 subs r3, r2, r3 808b888: f113 0f09 cmn.w r3, #9 808b88c: d102 bne.n 808b894 { tme = 0; 808b88e: 4ba2 ldr r3, [pc, #648] ; (808bb18 ) 808b890: 2200 movs r2, #0 808b892: 601a str r2, [r3, #0] } } } //**************************************************************** LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808b894: 49a2 ldr r1, [pc, #648] ; (808bb20 ) 808b896: f04f 30ff mov.w r0, #4294967295 808b89a: f7c9 fcb7 bl 805520c LCD_DisplayString(12, LCD_LINE_2, "( )"); 808b89e: 4aa1 ldr r2, [pc, #644] ; (808bb24 ) 808b8a0: 2127 movs r1, #39 ; 0x27 808b8a2: 200c movs r0, #12 808b8a4: f7ca fa5a bl 8055d5c // OP1[12 + 11*4] // OP2[12 + 11*12] // OP3[12 + 11*20] k = (uint32_t) (pardata.DIAGN_HP[CURR_POINT][CURR_USL] * 10.0f); 808b8a8: 4b9f ldr r3, [pc, #636] ; (808bb28 ) 808b8aa: 781b ldrb r3, [r3, #0] 808b8ac: b2db uxtb r3, r3 808b8ae: 4618 mov r0, r3 808b8b0: 4b9e ldr r3, [pc, #632] ; (808bb2c ) 808b8b2: 781b ldrb r3, [r3, #0] 808b8b4: b2db uxtb r3, r3 808b8b6: 4619 mov r1, r3 808b8b8: 4a9d ldr r2, [pc, #628] ; (808bb30 ) 808b8ba: 0083 lsls r3, r0, #2 808b8bc: 440b add r3, r1 808b8be: 3396 adds r3, #150 ; 0x96 808b8c0: 009b lsls r3, r3, #2 808b8c2: 4413 add r3, r2 808b8c4: 3304 adds r3, #4 808b8c6: edd3 7a00 vldr s15, [r3] 808b8ca: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808b8ce: ee67 7a87 vmul.f32 s15, s15, s14 808b8d2: eefc 7ae7 vcvt.u32.f32 s15, s15 808b8d6: ee17 3a90 vmov r3, s15 808b8da: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 808b8de: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808b8e2: 095b lsrs r3, r3, #5 808b8e4: 4a93 ldr r2, [pc, #588] ; (808bb34 ) 808b8e6: fba2 2303 umull r2, r3, r2, r3 808b8ea: 09db lsrs r3, r3, #7 808b8ec: b2db uxtb r3, r3 808b8ee: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 ietHP = (uint8_t) (k % 100000 / 10000); 808b8f2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b8f6: 0953 lsrs r3, r2, #5 808b8f8: 498e ldr r1, [pc, #568] ; (808bb34 ) 808b8fa: fba1 1303 umull r1, r3, r1, r3 808b8fe: 09db lsrs r3, r3, #7 808b900: 498d ldr r1, [pc, #564] ; (808bb38 ) 808b902: fb01 f303 mul.w r3, r1, r3 808b906: 1ad3 subs r3, r2, r3 808b908: 4a8c ldr r2, [pc, #560] ; (808bb3c ) 808b90a: fba2 2303 umull r2, r3, r2, r3 808b90e: 0b5b lsrs r3, r3, #13 808b910: b2db uxtb r3, r3 808b912: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 808b916: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b91a: 0953 lsrs r3, r2, #5 808b91c: 4985 ldr r1, [pc, #532] ; (808bb34 ) 808b91e: fba1 1303 umull r1, r3, r1, r3 808b922: 09db lsrs r3, r3, #7 808b924: 4984 ldr r1, [pc, #528] ; (808bb38 ) 808b926: fb01 f303 mul.w r3, r1, r3 808b92a: 1ad3 subs r3, r2, r3 808b92c: 4a83 ldr r2, [pc, #524] ; (808bb3c ) 808b92e: fba2 1203 umull r1, r2, r2, r3 808b932: 0b52 lsrs r2, r2, #13 808b934: f242 7110 movw r1, #10000 ; 0x2710 808b938: fb01 f202 mul.w r2, r1, r2 808b93c: 1a9a subs r2, r3, r2 808b93e: 4b80 ldr r3, [pc, #512] ; (808bb40 ) 808b940: fba3 2302 umull r2, r3, r3, r2 808b944: 099b lsrs r3, r3, #6 808b946: b2db uxtb r3, r3 808b948: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808b94c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808b950: 095a lsrs r2, r3, #5 808b952: 4978 ldr r1, [pc, #480] ; (808bb34 ) 808b954: fba1 1202 umull r1, r2, r1, r2 808b958: 09d2 lsrs r2, r2, #7 808b95a: 4977 ldr r1, [pc, #476] ; (808bb38 ) 808b95c: fb01 f202 mul.w r2, r1, r2 808b960: 1a9a subs r2, r3, r2 808b962: 4b76 ldr r3, [pc, #472] ; (808bb3c ) 808b964: fba3 1302 umull r1, r3, r3, r2 808b968: 0b5b lsrs r3, r3, #13 808b96a: f242 7110 movw r1, #10000 ; 0x2710 808b96e: fb01 f303 mul.w r3, r1, r3 808b972: 1ad3 subs r3, r2, r3 808b974: 4a72 ldr r2, [pc, #456] ; (808bb40 ) 808b976: fba2 1203 umull r1, r2, r2, r3 808b97a: 0992 lsrs r2, r2, #6 808b97c: f44f 717a mov.w r1, #1000 ; 0x3e8 808b980: fb01 f202 mul.w r2, r1, r2 808b984: 1a9a subs r2, r3, r2 808b986: 4b6f ldr r3, [pc, #444] ; (808bb44 ) 808b988: fba3 2302 umull r2, r3, r3, r2 808b98c: 095b lsrs r3, r3, #5 808b98e: b2db uxtb r3, r3 808b990: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808b994: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b998: 0953 lsrs r3, r2, #5 808b99a: 4966 ldr r1, [pc, #408] ; (808bb34 ) 808b99c: fba1 1303 umull r1, r3, r1, r3 808b9a0: 09db lsrs r3, r3, #7 808b9a2: 4965 ldr r1, [pc, #404] ; (808bb38 ) 808b9a4: fb01 f303 mul.w r3, r1, r3 808b9a8: 1ad3 subs r3, r2, r3 808b9aa: 4a64 ldr r2, [pc, #400] ; (808bb3c ) 808b9ac: fba2 1203 umull r1, r2, r2, r3 808b9b0: 0b52 lsrs r2, r2, #13 808b9b2: f242 7110 movw r1, #10000 ; 0x2710 808b9b6: fb01 f202 mul.w r2, r1, r2 808b9ba: 1a9a subs r2, r3, r2 808b9bc: 4b60 ldr r3, [pc, #384] ; (808bb40 ) 808b9be: fba3 1302 umull r1, r3, r3, r2 808b9c2: 099b lsrs r3, r3, #6 808b9c4: f44f 717a mov.w r1, #1000 ; 0x3e8 808b9c8: fb01 f303 mul.w r3, r1, r3 808b9cc: 1ad3 subs r3, r2, r3 808b9ce: 4a5d ldr r2, [pc, #372] ; (808bb44 ) 808b9d0: fba2 1203 umull r1, r2, r2, r3 808b9d4: 0952 lsrs r2, r2, #5 808b9d6: 2164 movs r1, #100 ; 0x64 808b9d8: fb01 f202 mul.w r2, r1, r2 808b9dc: 1a9a subs r2, r3, r2 808b9de: 4b5a ldr r3, [pc, #360] ; (808bb48 ) 808b9e0: fba3 2302 umull r2, r3, r3, r2 808b9e4: 08db lsrs r3, r3, #3 808b9e6: b2db uxtb r3, r3 808b9e8: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808b9ec: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b9f0: 0953 lsrs r3, r2, #5 808b9f2: 4950 ldr r1, [pc, #320] ; (808bb34 ) 808b9f4: fba1 1303 umull r1, r3, r1, r3 808b9f8: 09db lsrs r3, r3, #7 808b9fa: 494f ldr r1, [pc, #316] ; (808bb38 ) 808b9fc: fb01 f303 mul.w r3, r1, r3 808ba00: 1ad3 subs r3, r2, r3 808ba02: 4a4e ldr r2, [pc, #312] ; (808bb3c ) 808ba04: fba2 1203 umull r1, r2, r2, r3 808ba08: 0b52 lsrs r2, r2, #13 808ba0a: f242 7110 movw r1, #10000 ; 0x2710 808ba0e: fb01 f202 mul.w r2, r1, r2 808ba12: 1a9a subs r2, r3, r2 808ba14: 4b4a ldr r3, [pc, #296] ; (808bb40 ) 808ba16: fba3 1302 umull r1, r3, r3, r2 808ba1a: 099b lsrs r3, r3, #6 808ba1c: f44f 717a mov.w r1, #1000 ; 0x3e8 808ba20: fb01 f303 mul.w r3, r1, r3 808ba24: 1ad3 subs r3, r2, r3 808ba26: 4a47 ldr r2, [pc, #284] ; (808bb44 ) 808ba28: fba2 1203 umull r1, r2, r2, r3 808ba2c: 0952 lsrs r2, r2, #5 808ba2e: 2164 movs r1, #100 ; 0x64 808ba30: fb01 f202 mul.w r2, r1, r2 808ba34: 1a9a subs r2, r3, r2 808ba36: 4b44 ldr r3, [pc, #272] ; (808bb48 ) 808ba38: fba3 1302 umull r1, r3, r3, r2 808ba3c: 08d9 lsrs r1, r3, #3 808ba3e: 460b mov r3, r1 808ba40: 009b lsls r3, r3, #2 808ba42: 440b add r3, r1 808ba44: 005b lsls r3, r3, #1 808ba46: 1ad1 subs r1, r2, r3 808ba48: b2cb uxtb r3, r1 808ba4a: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 808ba4e: 2300 movs r3, #0 808ba50: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 808ba54: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808ba58: 220c movs r2, #12 808ba5a: 2100 movs r1, #0 808ba5c: 4618 mov r0, r3 808ba5e: f046 faa1 bl 80d1fa4 if(idtHP != 0) 808ba62: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808ba66: b2db uxtb r3, r3 808ba68: 2b00 cmp r3, #0 808ba6a: d00c beq.n 808ba86 strHP[i++] = idtHP + 48; 808ba6c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ba70: 1c5a adds r2, r3, #1 808ba72: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ba76: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 808ba7a: b2d2 uxtb r2, r2 808ba7c: 3230 adds r2, #48 ; 0x30 808ba7e: b2d1 uxtb r1, r2 808ba80: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808ba84: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 808ba86: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808ba8a: b2db uxtb r3, r3 808ba8c: 2b00 cmp r3, #0 808ba8e: d104 bne.n 808ba9a 808ba90: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808ba94: b2db uxtb r3, r3 808ba96: 2b00 cmp r3, #0 808ba98: d00c beq.n 808bab4 strHP[i++] = ietHP + 48; 808ba9a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ba9e: 1c5a adds r2, r3, #1 808baa0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808baa4: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 808baa8: b2d2 uxtb r2, r2 808baaa: 3230 adds r2, #48 ; 0x30 808baac: b2d1 uxtb r1, r2 808baae: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808bab2: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808bab4: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808bab8: b2db uxtb r3, r3 808baba: 2b00 cmp r3, #0 808babc: d109 bne.n 808bad2 808babe: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808bac2: b2db uxtb r3, r3 808bac4: 2b00 cmp r3, #0 808bac6: d104 bne.n 808bad2 808bac8: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808bacc: b2db uxtb r3, r3 808bace: 2b00 cmp r3, #0 808bad0: d00c beq.n 808baec strHP[i++] = iesHP + 48; 808bad2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808bad6: 1c5a adds r2, r3, #1 808bad8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808badc: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 808bae0: b2d2 uxtb r2, r2 808bae2: 3230 adds r2, #48 ; 0x30 808bae4: b2d1 uxtb r1, r2 808bae6: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808baea: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808baec: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808baf0: b2db uxtb r3, r3 808baf2: 2b00 cmp r3, #0 808baf4: d12a bne.n 808bb4c 808baf6: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808bafa: b2db uxtb r3, r3 808bafc: 2b00 cmp r3, #0 808bafe: d125 bne.n 808bb4c 808bb00: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808bb04: b2db uxtb r3, r3 808bb06: 2b00 cmp r3, #0 808bb08: d120 bne.n 808bb4c 808bb0a: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808bb0e: b2db uxtb r3, r3 808bb10: 2b00 cmp r3, #0 808bb12: d028 beq.n 808bb66 808bb14: e01a b.n 808bb4c 808bb16: bf00 nop 808bb18: 200216b8 .word 0x200216b8 808bb1c: 200216bc .word 0x200216bc 808bb20: ff0a0f1f .word 0xff0a0f1f 808bb24: 080d6b0c .word 0x080d6b0c 808bb28: 2002105d .word 0x2002105d 808bb2c: 2002105f .word 0x2002105f 808bb30: 20023eb8 .word 0x20023eb8 808bb34: 0a7c5ac5 .word 0x0a7c5ac5 808bb38: 000186a0 .word 0x000186a0 808bb3c: d1b71759 .word 0xd1b71759 808bb40: 10624dd3 .word 0x10624dd3 808bb44: 51eb851f .word 0x51eb851f 808bb48: cccccccd .word 0xcccccccd strHP[i++] = iedHP + 48; 808bb4c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808bb50: 1c5a adds r2, r3, #1 808bb52: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808bb56: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 808bb5a: b2d2 uxtb r2, r2 808bb5c: 3230 adds r2, #48 ; 0x30 808bb5e: b2d1 uxtb r1, r2 808bb60: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808bb64: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 808bb66: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808bb6a: 1c5a adds r2, r3, #1 808bb6c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808bb70: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 808bb74: b2d2 uxtb r2, r2 808bb76: 3230 adds r2, #48 ; 0x30 808bb78: b2d1 uxtb r1, r2 808bb7a: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808bb7e: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 808bb80: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808bb84: 1c5a adds r2, r3, #1 808bb86: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808bb8a: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808bb8e: 212e movs r1, #46 ; 0x2e 808bb90: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 808bb92: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808bb96: 1c5a adds r2, r3, #1 808bb98: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808bb9c: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 808bba0: b2d2 uxtb r2, r2 808bba2: 3230 adds r2, #48 ; 0x30 808bba4: b2d1 uxtb r1, r2 808bba6: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808bbaa: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.DIAGN_LP[CURR_POINT][CURR_USL] * 10.0f); 808bbac: 4bd4 ldr r3, [pc, #848] ; (808bf00 ) 808bbae: 781b ldrb r3, [r3, #0] 808bbb0: b2db uxtb r3, r3 808bbb2: 4618 mov r0, r3 808bbb4: 4bd3 ldr r3, [pc, #844] ; (808bf04 ) 808bbb6: 781b ldrb r3, [r3, #0] 808bbb8: b2db uxtb r3, r3 808bbba: 4619 mov r1, r3 808bbbc: 4ad2 ldr r2, [pc, #840] ; (808bf08 ) 808bbbe: 0083 lsls r3, r0, #2 808bbc0: 440b add r3, r1 808bbc2: 33b6 adds r3, #182 ; 0xb6 808bbc4: 009b lsls r3, r3, #2 808bbc6: 4413 add r3, r2 808bbc8: 3304 adds r3, #4 808bbca: edd3 7a00 vldr s15, [r3] 808bbce: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808bbd2: ee67 7a87 vmul.f32 s15, s15, s14 808bbd6: eefc 7ae7 vcvt.u32.f32 s15, s15 808bbda: ee17 3a90 vmov r3, s15 808bbde: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 808bbe2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808bbe6: 095b lsrs r3, r3, #5 808bbe8: 4ac8 ldr r2, [pc, #800] ; (808bf0c ) 808bbea: fba2 2303 umull r2, r3, r2, r3 808bbee: 09db lsrs r3, r3, #7 808bbf0: b2db uxtb r3, r3 808bbf2: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 808bbf6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808bbfa: 0953 lsrs r3, r2, #5 808bbfc: 49c3 ldr r1, [pc, #780] ; (808bf0c ) 808bbfe: fba1 1303 umull r1, r3, r1, r3 808bc02: 09db lsrs r3, r3, #7 808bc04: 49c2 ldr r1, [pc, #776] ; (808bf10 ) 808bc06: fb01 f303 mul.w r3, r1, r3 808bc0a: 1ad3 subs r3, r2, r3 808bc0c: 4ac1 ldr r2, [pc, #772] ; (808bf14 ) 808bc0e: fba2 2303 umull r2, r3, r2, r3 808bc12: 0b5b lsrs r3, r3, #13 808bc14: b2db uxtb r3, r3 808bc16: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 808bc1a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808bc1e: 0953 lsrs r3, r2, #5 808bc20: 49ba ldr r1, [pc, #744] ; (808bf0c ) 808bc22: fba1 1303 umull r1, r3, r1, r3 808bc26: 09db lsrs r3, r3, #7 808bc28: 49b9 ldr r1, [pc, #740] ; (808bf10 ) 808bc2a: fb01 f303 mul.w r3, r1, r3 808bc2e: 1ad3 subs r3, r2, r3 808bc30: 4ab8 ldr r2, [pc, #736] ; (808bf14 ) 808bc32: fba2 1203 umull r1, r2, r2, r3 808bc36: 0b52 lsrs r2, r2, #13 808bc38: f242 7110 movw r1, #10000 ; 0x2710 808bc3c: fb01 f202 mul.w r2, r1, r2 808bc40: 1a9a subs r2, r3, r2 808bc42: 4bb5 ldr r3, [pc, #724] ; (808bf18 ) 808bc44: fba3 2302 umull r2, r3, r3, r2 808bc48: 099b lsrs r3, r3, #6 808bc4a: b2db uxtb r3, r3 808bc4c: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808bc50: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808bc54: 095a lsrs r2, r3, #5 808bc56: 49ad ldr r1, [pc, #692] ; (808bf0c ) 808bc58: fba1 1202 umull r1, r2, r1, r2 808bc5c: 09d2 lsrs r2, r2, #7 808bc5e: 49ac ldr r1, [pc, #688] ; (808bf10 ) 808bc60: fb01 f202 mul.w r2, r1, r2 808bc64: 1a9a subs r2, r3, r2 808bc66: 4bab ldr r3, [pc, #684] ; (808bf14 ) 808bc68: fba3 1302 umull r1, r3, r3, r2 808bc6c: 0b5b lsrs r3, r3, #13 808bc6e: f242 7110 movw r1, #10000 ; 0x2710 808bc72: fb01 f303 mul.w r3, r1, r3 808bc76: 1ad3 subs r3, r2, r3 808bc78: 4aa7 ldr r2, [pc, #668] ; (808bf18 ) 808bc7a: fba2 1203 umull r1, r2, r2, r3 808bc7e: 0992 lsrs r2, r2, #6 808bc80: f44f 717a mov.w r1, #1000 ; 0x3e8 808bc84: fb01 f202 mul.w r2, r1, r2 808bc88: 1a9a subs r2, r3, r2 808bc8a: 4ba4 ldr r3, [pc, #656] ; (808bf1c ) 808bc8c: fba3 2302 umull r2, r3, r3, r2 808bc90: 095b lsrs r3, r3, #5 808bc92: b2db uxtb r3, r3 808bc94: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808bc98: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808bc9c: 0953 lsrs r3, r2, #5 808bc9e: 499b ldr r1, [pc, #620] ; (808bf0c ) 808bca0: fba1 1303 umull r1, r3, r1, r3 808bca4: 09db lsrs r3, r3, #7 808bca6: 499a ldr r1, [pc, #616] ; (808bf10 ) 808bca8: fb01 f303 mul.w r3, r1, r3 808bcac: 1ad3 subs r3, r2, r3 808bcae: 4a99 ldr r2, [pc, #612] ; (808bf14 ) 808bcb0: fba2 1203 umull r1, r2, r2, r3 808bcb4: 0b52 lsrs r2, r2, #13 808bcb6: f242 7110 movw r1, #10000 ; 0x2710 808bcba: fb01 f202 mul.w r2, r1, r2 808bcbe: 1a9a subs r2, r3, r2 808bcc0: 4b95 ldr r3, [pc, #596] ; (808bf18 ) 808bcc2: fba3 1302 umull r1, r3, r3, r2 808bcc6: 099b lsrs r3, r3, #6 808bcc8: f44f 717a mov.w r1, #1000 ; 0x3e8 808bccc: fb01 f303 mul.w r3, r1, r3 808bcd0: 1ad3 subs r3, r2, r3 808bcd2: 4a92 ldr r2, [pc, #584] ; (808bf1c ) 808bcd4: fba2 1203 umull r1, r2, r2, r3 808bcd8: 0952 lsrs r2, r2, #5 808bcda: 2164 movs r1, #100 ; 0x64 808bcdc: fb01 f202 mul.w r2, r1, r2 808bce0: 1a9a subs r2, r3, r2 808bce2: 4b8f ldr r3, [pc, #572] ; (808bf20 ) 808bce4: fba3 2302 umull r2, r3, r3, r2 808bce8: 08db lsrs r3, r3, #3 808bcea: b2db uxtb r3, r3 808bcec: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808bcf0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808bcf4: 0953 lsrs r3, r2, #5 808bcf6: 4985 ldr r1, [pc, #532] ; (808bf0c ) 808bcf8: fba1 1303 umull r1, r3, r1, r3 808bcfc: 09db lsrs r3, r3, #7 808bcfe: 4984 ldr r1, [pc, #528] ; (808bf10 ) 808bd00: fb01 f303 mul.w r3, r1, r3 808bd04: 1ad3 subs r3, r2, r3 808bd06: 4a83 ldr r2, [pc, #524] ; (808bf14 ) 808bd08: fba2 1203 umull r1, r2, r2, r3 808bd0c: 0b52 lsrs r2, r2, #13 808bd0e: f242 7110 movw r1, #10000 ; 0x2710 808bd12: fb01 f202 mul.w r2, r1, r2 808bd16: 1a9a subs r2, r3, r2 808bd18: 4b7f ldr r3, [pc, #508] ; (808bf18 ) 808bd1a: fba3 1302 umull r1, r3, r3, r2 808bd1e: 099b lsrs r3, r3, #6 808bd20: f44f 717a mov.w r1, #1000 ; 0x3e8 808bd24: fb01 f303 mul.w r3, r1, r3 808bd28: 1ad3 subs r3, r2, r3 808bd2a: 4a7c ldr r2, [pc, #496] ; (808bf1c ) 808bd2c: fba2 1203 umull r1, r2, r2, r3 808bd30: 0952 lsrs r2, r2, #5 808bd32: 2164 movs r1, #100 ; 0x64 808bd34: fb01 f202 mul.w r2, r1, r2 808bd38: 1a9a subs r2, r3, r2 808bd3a: 4b79 ldr r3, [pc, #484] ; (808bf20 ) 808bd3c: fba3 1302 umull r1, r3, r3, r2 808bd40: 08d9 lsrs r1, r3, #3 808bd42: 460b mov r3, r1 808bd44: 009b lsls r3, r3, #2 808bd46: 440b add r3, r1 808bd48: 005b lsls r3, r3, #1 808bd4a: 1ad1 subs r1, r2, r3 808bd4c: b2cb uxtb r3, r1 808bd4e: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 808bd52: 2300 movs r3, #0 808bd54: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 808bd58: f507 73cc add.w r3, r7, #408 ; 0x198 808bd5c: 220c movs r2, #12 808bd5e: 2100 movs r1, #0 808bd60: 4618 mov r0, r3 808bd62: f046 f91f bl 80d1fa4 if(idtLP != 0) 808bd66: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808bd6a: b2db uxtb r3, r3 808bd6c: 2b00 cmp r3, #0 808bd6e: d00c beq.n 808bd8a strLP[i++] = idtLP + 48; 808bd70: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808bd74: 1c5a adds r2, r3, #1 808bd76: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808bd7a: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 808bd7e: b2d2 uxtb r2, r2 808bd80: 3230 adds r2, #48 ; 0x30 808bd82: b2d1 uxtb r1, r2 808bd84: f507 72cc add.w r2, r7, #408 ; 0x198 808bd88: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 808bd8a: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808bd8e: b2db uxtb r3, r3 808bd90: 2b00 cmp r3, #0 808bd92: d104 bne.n 808bd9e 808bd94: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808bd98: b2db uxtb r3, r3 808bd9a: 2b00 cmp r3, #0 808bd9c: d00c beq.n 808bdb8 strLP[i++] = ietLP + 48; 808bd9e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808bda2: 1c5a adds r2, r3, #1 808bda4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808bda8: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 808bdac: b2d2 uxtb r2, r2 808bdae: 3230 adds r2, #48 ; 0x30 808bdb0: b2d1 uxtb r1, r2 808bdb2: f507 72cc add.w r2, r7, #408 ; 0x198 808bdb6: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808bdb8: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808bdbc: b2db uxtb r3, r3 808bdbe: 2b00 cmp r3, #0 808bdc0: d109 bne.n 808bdd6 808bdc2: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808bdc6: b2db uxtb r3, r3 808bdc8: 2b00 cmp r3, #0 808bdca: d104 bne.n 808bdd6 808bdcc: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808bdd0: b2db uxtb r3, r3 808bdd2: 2b00 cmp r3, #0 808bdd4: d00c beq.n 808bdf0 strLP[i++] = iesLP + 48; 808bdd6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808bdda: 1c5a adds r2, r3, #1 808bddc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808bde0: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 808bde4: b2d2 uxtb r2, r2 808bde6: 3230 adds r2, #48 ; 0x30 808bde8: b2d1 uxtb r1, r2 808bdea: f507 72cc add.w r2, r7, #408 ; 0x198 808bdee: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808bdf0: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808bdf4: b2db uxtb r3, r3 808bdf6: 2b00 cmp r3, #0 808bdf8: d10e bne.n 808be18 808bdfa: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808bdfe: b2db uxtb r3, r3 808be00: 2b00 cmp r3, #0 808be02: d109 bne.n 808be18 808be04: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808be08: b2db uxtb r3, r3 808be0a: 2b00 cmp r3, #0 808be0c: d104 bne.n 808be18 808be0e: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808be12: b2db uxtb r3, r3 808be14: 2b00 cmp r3, #0 808be16: d00c beq.n 808be32 strLP[i++] = iedLP + 48; 808be18: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808be1c: 1c5a adds r2, r3, #1 808be1e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808be22: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 808be26: b2d2 uxtb r2, r2 808be28: 3230 adds r2, #48 ; 0x30 808be2a: b2d1 uxtb r1, r2 808be2c: f507 72cc add.w r2, r7, #408 ; 0x198 808be30: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 808be32: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808be36: 1c5a adds r2, r3, #1 808be38: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808be3c: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 808be40: b2d2 uxtb r2, r2 808be42: 3230 adds r2, #48 ; 0x30 808be44: b2d1 uxtb r1, r2 808be46: f507 72cc add.w r2, r7, #408 ; 0x198 808be4a: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 808be4c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808be50: 1c5a adds r2, r3, #1 808be52: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808be56: f507 72cc add.w r2, r7, #408 ; 0x198 808be5a: 212e movs r1, #46 ; 0x2e 808be5c: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 808be5e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808be62: 1c5a adds r2, r3, #1 808be64: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808be68: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 808be6c: b2d2 uxtb r2, r2 808be6e: 3230 adds r2, #48 ; 0x30 808be70: b2d1 uxtb r1, r2 808be72: f507 72cc add.w r2, r7, #408 ; 0x198 808be76: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.DIAGN_W[CURR_POINT][CURR_USL] * 10.0f); 808be78: 4b21 ldr r3, [pc, #132] ; (808bf00 ) 808be7a: 781b ldrb r3, [r3, #0] 808be7c: b2db uxtb r3, r3 808be7e: 4618 mov r0, r3 808be80: 4b20 ldr r3, [pc, #128] ; (808bf04 ) 808be82: 781b ldrb r3, [r3, #0] 808be84: b2db uxtb r3, r3 808be86: 4619 mov r1, r3 808be88: 4a1f ldr r2, [pc, #124] ; (808bf08 ) 808be8a: 0083 lsls r3, r0, #2 808be8c: 440b add r3, r1 808be8e: 33d6 adds r3, #214 ; 0xd6 808be90: 009b lsls r3, r3, #2 808be92: 4413 add r3, r2 808be94: 3304 adds r3, #4 808be96: edd3 7a00 vldr s15, [r3] 808be9a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808be9e: ee67 7a87 vmul.f32 s15, s15, s14 808bea2: eefc 7ae7 vcvt.u32.f32 s15, s15 808bea6: ee17 3a90 vmov r3, s15 808beaa: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt_W = (uint8_t) (k / 100000); 808beae: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808beb2: 095b lsrs r3, r3, #5 808beb4: 4a15 ldr r2, [pc, #84] ; (808bf0c ) 808beb6: fba2 2303 umull r2, r3, r2, r3 808beba: 09db lsrs r3, r3, #7 808bebc: b2db uxtb r3, r3 808bebe: f887 33c3 strb.w r3, [r7, #963] ; 0x3c3 iet_W = (uint8_t) (k % 100000 / 10000); 808bec2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808bec6: 0953 lsrs r3, r2, #5 808bec8: 4910 ldr r1, [pc, #64] ; (808bf0c ) 808beca: fba1 1303 umull r1, r3, r1, r3 808bece: 09db lsrs r3, r3, #7 808bed0: 490f ldr r1, [pc, #60] ; (808bf10 ) 808bed2: fb01 f303 mul.w r3, r1, r3 808bed6: 1ad3 subs r3, r2, r3 808bed8: 4a0e ldr r2, [pc, #56] ; (808bf14 ) 808beda: fba2 2303 umull r2, r3, r2, r3 808bede: 0b5b lsrs r3, r3, #13 808bee0: b2db uxtb r3, r3 808bee2: f887 33c2 strb.w r3, [r7, #962] ; 0x3c2 ies_W = (uint8_t) (k % 100000 % 10000 / 1000); 808bee6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808beea: 0953 lsrs r3, r2, #5 808beec: 4907 ldr r1, [pc, #28] ; (808bf0c ) 808beee: fba1 1303 umull r1, r3, r1, r3 808bef2: 09db lsrs r3, r3, #7 808bef4: 4906 ldr r1, [pc, #24] ; (808bf10 ) 808bef6: fb01 f303 mul.w r3, r1, r3 808befa: 1ad3 subs r3, r2, r3 808befc: e012 b.n 808bf24 808befe: bf00 nop 808bf00: 2002105d .word 0x2002105d 808bf04: 2002105f .word 0x2002105f 808bf08: 20023eb8 .word 0x20023eb8 808bf0c: 0a7c5ac5 .word 0x0a7c5ac5 808bf10: 000186a0 .word 0x000186a0 808bf14: d1b71759 .word 0xd1b71759 808bf18: 10624dd3 .word 0x10624dd3 808bf1c: 51eb851f .word 0x51eb851f 808bf20: cccccccd .word 0xcccccccd 808bf24: 4ad4 ldr r2, [pc, #848] ; (808c278 ) 808bf26: fba2 1203 umull r1, r2, r2, r3 808bf2a: 0b52 lsrs r2, r2, #13 808bf2c: f242 7110 movw r1, #10000 ; 0x2710 808bf30: fb01 f202 mul.w r2, r1, r2 808bf34: 1a9a subs r2, r3, r2 808bf36: 4bd1 ldr r3, [pc, #836] ; (808c27c ) 808bf38: fba3 2302 umull r2, r3, r3, r2 808bf3c: 099b lsrs r3, r3, #6 808bf3e: b2db uxtb r3, r3 808bf40: f887 33c1 strb.w r3, [r7, #961] ; 0x3c1 ied_W = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808bf44: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808bf48: 095a lsrs r2, r3, #5 808bf4a: 49cd ldr r1, [pc, #820] ; (808c280 ) 808bf4c: fba1 1202 umull r1, r2, r1, r2 808bf50: 09d2 lsrs r2, r2, #7 808bf52: 49cc ldr r1, [pc, #816] ; (808c284 ) 808bf54: fb01 f202 mul.w r2, r1, r2 808bf58: 1a9a subs r2, r3, r2 808bf5a: 4bc7 ldr r3, [pc, #796] ; (808c278 ) 808bf5c: fba3 1302 umull r1, r3, r3, r2 808bf60: 0b5b lsrs r3, r3, #13 808bf62: f242 7110 movw r1, #10000 ; 0x2710 808bf66: fb01 f303 mul.w r3, r1, r3 808bf6a: 1ad3 subs r3, r2, r3 808bf6c: 4ac3 ldr r2, [pc, #780] ; (808c27c ) 808bf6e: fba2 1203 umull r1, r2, r2, r3 808bf72: 0992 lsrs r2, r2, #6 808bf74: f44f 717a mov.w r1, #1000 ; 0x3e8 808bf78: fb01 f202 mul.w r2, r1, r2 808bf7c: 1a9a subs r2, r3, r2 808bf7e: 4bc2 ldr r3, [pc, #776] ; (808c288 ) 808bf80: fba3 2302 umull r2, r3, r3, r2 808bf84: 095b lsrs r3, r3, #5 808bf86: b2db uxtb r3, r3 808bf88: f887 33c0 strb.w r3, [r7, #960] ; 0x3c0 iee_W = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808bf8c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808bf90: 0953 lsrs r3, r2, #5 808bf92: 49bb ldr r1, [pc, #748] ; (808c280 ) 808bf94: fba1 1303 umull r1, r3, r1, r3 808bf98: 09db lsrs r3, r3, #7 808bf9a: 49ba ldr r1, [pc, #744] ; (808c284 ) 808bf9c: fb01 f303 mul.w r3, r1, r3 808bfa0: 1ad3 subs r3, r2, r3 808bfa2: 4ab5 ldr r2, [pc, #724] ; (808c278 ) 808bfa4: fba2 1203 umull r1, r2, r2, r3 808bfa8: 0b52 lsrs r2, r2, #13 808bfaa: f242 7110 movw r1, #10000 ; 0x2710 808bfae: fb01 f202 mul.w r2, r1, r2 808bfb2: 1a9a subs r2, r3, r2 808bfb4: 4bb1 ldr r3, [pc, #708] ; (808c27c ) 808bfb6: fba3 1302 umull r1, r3, r3, r2 808bfba: 099b lsrs r3, r3, #6 808bfbc: f44f 717a mov.w r1, #1000 ; 0x3e8 808bfc0: fb01 f303 mul.w r3, r1, r3 808bfc4: 1ad3 subs r3, r2, r3 808bfc6: 4ab0 ldr r2, [pc, #704] ; (808c288 ) 808bfc8: fba2 1203 umull r1, r2, r2, r3 808bfcc: 0952 lsrs r2, r2, #5 808bfce: 2164 movs r1, #100 ; 0x64 808bfd0: fb01 f202 mul.w r2, r1, r2 808bfd4: 1a9a subs r2, r3, r2 808bfd6: 4bad ldr r3, [pc, #692] ; (808c28c ) 808bfd8: fba3 2302 umull r2, r3, r3, r2 808bfdc: 08db lsrs r3, r3, #3 808bfde: b2db uxtb r3, r3 808bfe0: f887 33bf strb.w r3, [r7, #959] ; 0x3bf ikd_W = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808bfe4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808bfe8: 0953 lsrs r3, r2, #5 808bfea: 49a5 ldr r1, [pc, #660] ; (808c280 ) 808bfec: fba1 1303 umull r1, r3, r1, r3 808bff0: 09db lsrs r3, r3, #7 808bff2: 49a4 ldr r1, [pc, #656] ; (808c284 ) 808bff4: fb01 f303 mul.w r3, r1, r3 808bff8: 1ad3 subs r3, r2, r3 808bffa: 4a9f ldr r2, [pc, #636] ; (808c278 ) 808bffc: fba2 1203 umull r1, r2, r2, r3 808c000: 0b52 lsrs r2, r2, #13 808c002: f242 7110 movw r1, #10000 ; 0x2710 808c006: fb01 f202 mul.w r2, r1, r2 808c00a: 1a9a subs r2, r3, r2 808c00c: 4b9b ldr r3, [pc, #620] ; (808c27c ) 808c00e: fba3 1302 umull r1, r3, r3, r2 808c012: 099b lsrs r3, r3, #6 808c014: f44f 717a mov.w r1, #1000 ; 0x3e8 808c018: fb01 f303 mul.w r3, r1, r3 808c01c: 1ad3 subs r3, r2, r3 808c01e: 4a9a ldr r2, [pc, #616] ; (808c288 ) 808c020: fba2 1203 umull r1, r2, r2, r3 808c024: 0952 lsrs r2, r2, #5 808c026: 2164 movs r1, #100 ; 0x64 808c028: fb01 f202 mul.w r2, r1, r2 808c02c: 1a9a subs r2, r3, r2 808c02e: 4b97 ldr r3, [pc, #604] ; (808c28c ) 808c030: fba3 1302 umull r1, r3, r3, r2 808c034: 08d9 lsrs r1, r3, #3 808c036: 460b mov r3, r1 808c038: 009b lsls r3, r3, #2 808c03a: 440b add r3, r1 808c03c: 005b lsls r3, r3, #1 808c03e: 1ad1 subs r1, r2, r3 808c040: b2cb uxtb r3, r1 808c042: f887 33be strb.w r3, [r7, #958] ; 0x3be i = 0; 808c046: 2300 movs r3, #0 808c048: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_W, 0, sizeof(str_W)); 808c04c: f507 73aa add.w r3, r7, #340 ; 0x154 808c050: 220c movs r2, #12 808c052: 2100 movs r1, #0 808c054: 4618 mov r0, r3 808c056: f045 ffa5 bl 80d1fa4 if(idt_W != 0) 808c05a: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808c05e: b2db uxtb r3, r3 808c060: 2b00 cmp r3, #0 808c062: d00c beq.n 808c07e str_W[i++] = idt_W + 48; 808c064: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c068: 1c5a adds r2, r3, #1 808c06a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c06e: f897 23c3 ldrb.w r2, [r7, #963] ; 0x3c3 808c072: b2d2 uxtb r2, r2 808c074: 3230 adds r2, #48 ; 0x30 808c076: b2d1 uxtb r1, r2 808c078: f507 72aa add.w r2, r7, #340 ; 0x154 808c07c: 54d1 strb r1, [r2, r3] if((iet_W != 0) || (idt_W != 0)) 808c07e: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808c082: b2db uxtb r3, r3 808c084: 2b00 cmp r3, #0 808c086: d104 bne.n 808c092 808c088: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808c08c: b2db uxtb r3, r3 808c08e: 2b00 cmp r3, #0 808c090: d00c beq.n 808c0ac str_W[i++] = iet_W + 48; 808c092: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c096: 1c5a adds r2, r3, #1 808c098: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c09c: f897 23c2 ldrb.w r2, [r7, #962] ; 0x3c2 808c0a0: b2d2 uxtb r2, r2 808c0a2: 3230 adds r2, #48 ; 0x30 808c0a4: b2d1 uxtb r1, r2 808c0a6: f507 72aa add.w r2, r7, #340 ; 0x154 808c0aa: 54d1 strb r1, [r2, r3] if((ies_W != 0) || (iet_W != 0) || (idt_W != 0)) 808c0ac: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808c0b0: b2db uxtb r3, r3 808c0b2: 2b00 cmp r3, #0 808c0b4: d109 bne.n 808c0ca 808c0b6: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808c0ba: b2db uxtb r3, r3 808c0bc: 2b00 cmp r3, #0 808c0be: d104 bne.n 808c0ca 808c0c0: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808c0c4: b2db uxtb r3, r3 808c0c6: 2b00 cmp r3, #0 808c0c8: d00c beq.n 808c0e4 str_W[i++] = ies_W + 48; 808c0ca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c0ce: 1c5a adds r2, r3, #1 808c0d0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c0d4: f897 23c1 ldrb.w r2, [r7, #961] ; 0x3c1 808c0d8: b2d2 uxtb r2, r2 808c0da: 3230 adds r2, #48 ; 0x30 808c0dc: b2d1 uxtb r1, r2 808c0de: f507 72aa add.w r2, r7, #340 ; 0x154 808c0e2: 54d1 strb r1, [r2, r3] if((ied_W != 0) || (ies_W != 0) || (iet_W != 0) || (idt_W != 0)) 808c0e4: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808c0e8: b2db uxtb r3, r3 808c0ea: 2b00 cmp r3, #0 808c0ec: d10e bne.n 808c10c 808c0ee: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808c0f2: b2db uxtb r3, r3 808c0f4: 2b00 cmp r3, #0 808c0f6: d109 bne.n 808c10c 808c0f8: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808c0fc: b2db uxtb r3, r3 808c0fe: 2b00 cmp r3, #0 808c100: d104 bne.n 808c10c 808c102: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808c106: b2db uxtb r3, r3 808c108: 2b00 cmp r3, #0 808c10a: d00c beq.n 808c126 str_W[i++] = ied_W + 48; 808c10c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c110: 1c5a adds r2, r3, #1 808c112: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c116: f897 23c0 ldrb.w r2, [r7, #960] ; 0x3c0 808c11a: b2d2 uxtb r2, r2 808c11c: 3230 adds r2, #48 ; 0x30 808c11e: b2d1 uxtb r1, r2 808c120: f507 72aa add.w r2, r7, #340 ; 0x154 808c124: 54d1 strb r1, [r2, r3] str_W[i++] = iee_W + 48; 808c126: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c12a: 1c5a adds r2, r3, #1 808c12c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c130: f897 23bf ldrb.w r2, [r7, #959] ; 0x3bf 808c134: b2d2 uxtb r2, r2 808c136: 3230 adds r2, #48 ; 0x30 808c138: b2d1 uxtb r1, r2 808c13a: f507 72aa add.w r2, r7, #340 ; 0x154 808c13e: 54d1 strb r1, [r2, r3] str_W[i++] = '.'; 808c140: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c144: 1c5a adds r2, r3, #1 808c146: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c14a: f507 72aa add.w r2, r7, #340 ; 0x154 808c14e: 212e movs r1, #46 ; 0x2e 808c150: 54d1 strb r1, [r2, r3] str_W[i++] = ikd_W + 48; 808c152: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c156: 1c5a adds r2, r3, #1 808c158: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c15c: f897 23be ldrb.w r2, [r7, #958] ; 0x3be 808c160: b2d2 uxtb r2, r2 808c162: 3230 adds r2, #48 ; 0x30 808c164: b2d1 uxtb r1, r2 808c166: f507 72aa add.w r2, r7, #340 ; 0x154 808c16a: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.DIAGN_A[CURR_POINT][CURR_USL] * 10.0f); 808c16c: 4b48 ldr r3, [pc, #288] ; (808c290 ) 808c16e: 781b ldrb r3, [r3, #0] 808c170: b2db uxtb r3, r3 808c172: 4618 mov r0, r3 808c174: 4b47 ldr r3, [pc, #284] ; (808c294 ) 808c176: 781b ldrb r3, [r3, #0] 808c178: b2db uxtb r3, r3 808c17a: 4619 mov r1, r3 808c17c: 4a46 ldr r2, [pc, #280] ; (808c298 ) 808c17e: 0083 lsls r3, r0, #2 808c180: 440b add r3, r1 808c182: 33f6 adds r3, #246 ; 0xf6 808c184: 009b lsls r3, r3, #2 808c186: 4413 add r3, r2 808c188: 3304 adds r3, #4 808c18a: edd3 7a00 vldr s15, [r3] 808c18e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808c192: ee67 7a87 vmul.f32 s15, s15, s14 808c196: eefc 7ae7 vcvt.u32.f32 s15, s15 808c19a: ee17 3a90 vmov r3, s15 808c19e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt_A = (uint8_t) (k / 100000); 808c1a2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808c1a6: 095b lsrs r3, r3, #5 808c1a8: 4a35 ldr r2, [pc, #212] ; (808c280 ) 808c1aa: fba2 2303 umull r2, r3, r2, r3 808c1ae: 09db lsrs r3, r3, #7 808c1b0: b2db uxtb r3, r3 808c1b2: f887 33bc strb.w r3, [r7, #956] ; 0x3bc iet_A = (uint8_t) (k % 100000 / 10000); 808c1b6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808c1ba: 0953 lsrs r3, r2, #5 808c1bc: 4930 ldr r1, [pc, #192] ; (808c280 ) 808c1be: fba1 1303 umull r1, r3, r1, r3 808c1c2: 09db lsrs r3, r3, #7 808c1c4: 492f ldr r1, [pc, #188] ; (808c284 ) 808c1c6: fb01 f303 mul.w r3, r1, r3 808c1ca: 1ad3 subs r3, r2, r3 808c1cc: 4a2a ldr r2, [pc, #168] ; (808c278 ) 808c1ce: fba2 2303 umull r2, r3, r2, r3 808c1d2: 0b5b lsrs r3, r3, #13 808c1d4: b2db uxtb r3, r3 808c1d6: f887 33bb strb.w r3, [r7, #955] ; 0x3bb ies_A = (uint8_t) (k % 100000 % 10000 / 1000); 808c1da: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808c1de: 0953 lsrs r3, r2, #5 808c1e0: 4927 ldr r1, [pc, #156] ; (808c280 ) 808c1e2: fba1 1303 umull r1, r3, r1, r3 808c1e6: 09db lsrs r3, r3, #7 808c1e8: 4926 ldr r1, [pc, #152] ; (808c284 ) 808c1ea: fb01 f303 mul.w r3, r1, r3 808c1ee: 1ad3 subs r3, r2, r3 808c1f0: 4a21 ldr r2, [pc, #132] ; (808c278 ) 808c1f2: fba2 1203 umull r1, r2, r2, r3 808c1f6: 0b52 lsrs r2, r2, #13 808c1f8: f242 7110 movw r1, #10000 ; 0x2710 808c1fc: fb01 f202 mul.w r2, r1, r2 808c200: 1a9a subs r2, r3, r2 808c202: 4b1e ldr r3, [pc, #120] ; (808c27c ) 808c204: fba3 2302 umull r2, r3, r3, r2 808c208: 099b lsrs r3, r3, #6 808c20a: b2db uxtb r3, r3 808c20c: f887 33ba strb.w r3, [r7, #954] ; 0x3ba ied_A = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808c210: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808c214: 095a lsrs r2, r3, #5 808c216: 491a ldr r1, [pc, #104] ; (808c280 ) 808c218: fba1 1202 umull r1, r2, r1, r2 808c21c: 09d2 lsrs r2, r2, #7 808c21e: 4919 ldr r1, [pc, #100] ; (808c284 ) 808c220: fb01 f202 mul.w r2, r1, r2 808c224: 1a9a subs r2, r3, r2 808c226: 4b14 ldr r3, [pc, #80] ; (808c278 ) 808c228: fba3 1302 umull r1, r3, r3, r2 808c22c: 0b5b lsrs r3, r3, #13 808c22e: f242 7110 movw r1, #10000 ; 0x2710 808c232: fb01 f303 mul.w r3, r1, r3 808c236: 1ad3 subs r3, r2, r3 808c238: 4a10 ldr r2, [pc, #64] ; (808c27c ) 808c23a: fba2 1203 umull r1, r2, r2, r3 808c23e: 0992 lsrs r2, r2, #6 808c240: f44f 717a mov.w r1, #1000 ; 0x3e8 808c244: fb01 f202 mul.w r2, r1, r2 808c248: 1a9a subs r2, r3, r2 808c24a: 4b0f ldr r3, [pc, #60] ; (808c288 ) 808c24c: fba3 2302 umull r2, r3, r3, r2 808c250: 095b lsrs r3, r3, #5 808c252: b2db uxtb r3, r3 808c254: f887 33b9 strb.w r3, [r7, #953] ; 0x3b9 iee_A = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808c258: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808c25c: 0953 lsrs r3, r2, #5 808c25e: 4908 ldr r1, [pc, #32] ; (808c280 ) 808c260: fba1 1303 umull r1, r3, r1, r3 808c264: 09db lsrs r3, r3, #7 808c266: 4907 ldr r1, [pc, #28] ; (808c284 ) 808c268: fb01 f303 mul.w r3, r1, r3 808c26c: 1ad3 subs r3, r2, r3 808c26e: 4a02 ldr r2, [pc, #8] ; (808c278 ) 808c270: fba2 1203 umull r1, r2, r2, r3 808c274: 0b52 lsrs r2, r2, #13 808c276: e011 b.n 808c29c 808c278: d1b71759 .word 0xd1b71759 808c27c: 10624dd3 .word 0x10624dd3 808c280: 0a7c5ac5 .word 0x0a7c5ac5 808c284: 000186a0 .word 0x000186a0 808c288: 51eb851f .word 0x51eb851f 808c28c: cccccccd .word 0xcccccccd 808c290: 2002105d .word 0x2002105d 808c294: 2002105f .word 0x2002105f 808c298: 20023eb8 .word 0x20023eb8 808c29c: f242 7110 movw r1, #10000 ; 0x2710 808c2a0: fb01 f202 mul.w r2, r1, r2 808c2a4: 1a9a subs r2, r3, r2 808c2a6: 4bc3 ldr r3, [pc, #780] ; (808c5b4 ) 808c2a8: fba3 1302 umull r1, r3, r3, r2 808c2ac: 099b lsrs r3, r3, #6 808c2ae: f44f 717a mov.w r1, #1000 ; 0x3e8 808c2b2: fb01 f303 mul.w r3, r1, r3 808c2b6: 1ad3 subs r3, r2, r3 808c2b8: 4abf ldr r2, [pc, #764] ; (808c5b8 ) 808c2ba: fba2 1203 umull r1, r2, r2, r3 808c2be: 0952 lsrs r2, r2, #5 808c2c0: 2164 movs r1, #100 ; 0x64 808c2c2: fb01 f202 mul.w r2, r1, r2 808c2c6: 1a9a subs r2, r3, r2 808c2c8: 4bbc ldr r3, [pc, #752] ; (808c5bc ) 808c2ca: fba3 2302 umull r2, r3, r3, r2 808c2ce: 08db lsrs r3, r3, #3 808c2d0: b2db uxtb r3, r3 808c2d2: f887 33b8 strb.w r3, [r7, #952] ; 0x3b8 ikd_A = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808c2d6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808c2da: 0953 lsrs r3, r2, #5 808c2dc: 49b8 ldr r1, [pc, #736] ; (808c5c0 ) 808c2de: fba1 1303 umull r1, r3, r1, r3 808c2e2: 09db lsrs r3, r3, #7 808c2e4: 49b7 ldr r1, [pc, #732] ; (808c5c4 ) 808c2e6: fb01 f303 mul.w r3, r1, r3 808c2ea: 1ad3 subs r3, r2, r3 808c2ec: 4ab6 ldr r2, [pc, #728] ; (808c5c8 ) 808c2ee: fba2 1203 umull r1, r2, r2, r3 808c2f2: 0b52 lsrs r2, r2, #13 808c2f4: f242 7110 movw r1, #10000 ; 0x2710 808c2f8: fb01 f202 mul.w r2, r1, r2 808c2fc: 1a9a subs r2, r3, r2 808c2fe: 4bad ldr r3, [pc, #692] ; (808c5b4 ) 808c300: fba3 1302 umull r1, r3, r3, r2 808c304: 099b lsrs r3, r3, #6 808c306: f44f 717a mov.w r1, #1000 ; 0x3e8 808c30a: fb01 f303 mul.w r3, r1, r3 808c30e: 1ad3 subs r3, r2, r3 808c310: 4aa9 ldr r2, [pc, #676] ; (808c5b8 ) 808c312: fba2 1203 umull r1, r2, r2, r3 808c316: 0952 lsrs r2, r2, #5 808c318: 2164 movs r1, #100 ; 0x64 808c31a: fb01 f202 mul.w r2, r1, r2 808c31e: 1a9a subs r2, r3, r2 808c320: 4ba6 ldr r3, [pc, #664] ; (808c5bc ) 808c322: fba3 1302 umull r1, r3, r3, r2 808c326: 08d9 lsrs r1, r3, #3 808c328: 460b mov r3, r1 808c32a: 009b lsls r3, r3, #2 808c32c: 440b add r3, r1 808c32e: 005b lsls r3, r3, #1 808c330: 1ad1 subs r1, r2, r3 808c332: b2cb uxtb r3, r1 808c334: f887 33b7 strb.w r3, [r7, #951] ; 0x3b7 i = 0; 808c338: 2300 movs r3, #0 808c33a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_A, 0, sizeof(str_A)); 808c33e: f507 73b0 add.w r3, r7, #352 ; 0x160 808c342: 220c movs r2, #12 808c344: 2100 movs r1, #0 808c346: 4618 mov r0, r3 808c348: f045 fe2c bl 80d1fa4 if(idt_A != 0) 808c34c: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c350: b2db uxtb r3, r3 808c352: 2b00 cmp r3, #0 808c354: d00c beq.n 808c370 str_A[i++] = idt_A + 48; 808c356: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c35a: 1c5a adds r2, r3, #1 808c35c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c360: f897 23bc ldrb.w r2, [r7, #956] ; 0x3bc 808c364: b2d2 uxtb r2, r2 808c366: 3230 adds r2, #48 ; 0x30 808c368: b2d1 uxtb r1, r2 808c36a: f507 72b0 add.w r2, r7, #352 ; 0x160 808c36e: 54d1 strb r1, [r2, r3] if((iet_A != 0) || (idt_A != 0)) 808c370: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808c374: b2db uxtb r3, r3 808c376: 2b00 cmp r3, #0 808c378: d104 bne.n 808c384 808c37a: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c37e: b2db uxtb r3, r3 808c380: 2b00 cmp r3, #0 808c382: d00c beq.n 808c39e str_A[i++] = iet_A + 48; 808c384: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c388: 1c5a adds r2, r3, #1 808c38a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c38e: f897 23bb ldrb.w r2, [r7, #955] ; 0x3bb 808c392: b2d2 uxtb r2, r2 808c394: 3230 adds r2, #48 ; 0x30 808c396: b2d1 uxtb r1, r2 808c398: f507 72b0 add.w r2, r7, #352 ; 0x160 808c39c: 54d1 strb r1, [r2, r3] if((ies_A != 0) || (iet_A != 0) || (idt_A != 0)) 808c39e: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808c3a2: b2db uxtb r3, r3 808c3a4: 2b00 cmp r3, #0 808c3a6: d109 bne.n 808c3bc 808c3a8: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808c3ac: b2db uxtb r3, r3 808c3ae: 2b00 cmp r3, #0 808c3b0: d104 bne.n 808c3bc 808c3b2: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c3b6: b2db uxtb r3, r3 808c3b8: 2b00 cmp r3, #0 808c3ba: d00c beq.n 808c3d6 str_A[i++] = ies_A + 48; 808c3bc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c3c0: 1c5a adds r2, r3, #1 808c3c2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c3c6: f897 23ba ldrb.w r2, [r7, #954] ; 0x3ba 808c3ca: b2d2 uxtb r2, r2 808c3cc: 3230 adds r2, #48 ; 0x30 808c3ce: b2d1 uxtb r1, r2 808c3d0: f507 72b0 add.w r2, r7, #352 ; 0x160 808c3d4: 54d1 strb r1, [r2, r3] if((ied_A != 0) || (ies_A != 0) || (iet_A != 0) || (idt_A != 0)) 808c3d6: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808c3da: b2db uxtb r3, r3 808c3dc: 2b00 cmp r3, #0 808c3de: d10e bne.n 808c3fe 808c3e0: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808c3e4: b2db uxtb r3, r3 808c3e6: 2b00 cmp r3, #0 808c3e8: d109 bne.n 808c3fe 808c3ea: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808c3ee: b2db uxtb r3, r3 808c3f0: 2b00 cmp r3, #0 808c3f2: d104 bne.n 808c3fe 808c3f4: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c3f8: b2db uxtb r3, r3 808c3fa: 2b00 cmp r3, #0 808c3fc: d00c beq.n 808c418 str_A[i++] = ied_A + 48; 808c3fe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c402: 1c5a adds r2, r3, #1 808c404: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c408: f897 23b9 ldrb.w r2, [r7, #953] ; 0x3b9 808c40c: b2d2 uxtb r2, r2 808c40e: 3230 adds r2, #48 ; 0x30 808c410: b2d1 uxtb r1, r2 808c412: f507 72b0 add.w r2, r7, #352 ; 0x160 808c416: 54d1 strb r1, [r2, r3] str_A[i++] = iee_A + 48; 808c418: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c41c: 1c5a adds r2, r3, #1 808c41e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c422: f897 23b8 ldrb.w r2, [r7, #952] ; 0x3b8 808c426: b2d2 uxtb r2, r2 808c428: 3230 adds r2, #48 ; 0x30 808c42a: b2d1 uxtb r1, r2 808c42c: f507 72b0 add.w r2, r7, #352 ; 0x160 808c430: 54d1 strb r1, [r2, r3] str_A[i++] = '.'; 808c432: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c436: 1c5a adds r2, r3, #1 808c438: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c43c: f507 72b0 add.w r2, r7, #352 ; 0x160 808c440: 212e movs r1, #46 ; 0x2e 808c442: 54d1 strb r1, [r2, r3] str_A[i++] = ikd_A + 48; 808c444: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c448: 1c5a adds r2, r3, #1 808c44a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c44e: f897 23b7 ldrb.w r2, [r7, #951] ; 0x3b7 808c452: b2d2 uxtb r2, r2 808c454: 3230 adds r2, #48 ; 0x30 808c456: b2d1 uxtb r1, r2 808c458: f507 72b0 add.w r2, r7, #352 ; 0x160 808c45c: 54d1 strb r1, [r2, r3] // OP1[12 + 11*4] // OP2[12 + 11*12] // OP3[12 + 11*20] // if(menupos != DiagUs1) 808c45e: 4b5b ldr r3, [pc, #364] ; (808c5cc ) 808c460: 781b ldrb r3, [r3, #0] 808c462: b2db uxtb r3, r3 808c464: 2b01 cmp r3, #1 808c466: d00f beq.n 808c488 { if(CURR_USL == Us1) 808c468: 4b59 ldr r3, [pc, #356] ; (808c5d0 ) 808c46a: 781b ldrb r3, [r3, #0] 808c46c: b2db uxtb r3, r3 808c46e: 2b00 cmp r3, #0 808c470: d104 bne.n 808c47c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c472: 4958 ldr r1, [pc, #352] ; (808c5d4 ) 808c474: 4858 ldr r0, [pc, #352] ; (808c5d8 ) 808c476: f7c8 fec9 bl 805520c 808c47a: e00a b.n 808c492 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808c47c: 4955 ldr r1, [pc, #340] ; (808c5d4 ) 808c47e: f04f 30ff mov.w r0, #4294967295 808c482: f7c8 fec3 bl 805520c 808c486: e004 b.n 808c492 } else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c488: 4952 ldr r1, [pc, #328] ; (808c5d4 ) 808c48a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c48e: f7c8 febd bl 805520c LCD_DisplayString(12 + 11*1, LCD_LINE_2, (char *) pUS[pardata.LANG][Us1]); 808c492: 4b52 ldr r3, [pc, #328] ; (808c5dc ) 808c494: 7b1b ldrb r3, [r3, #12] 808c496: b2db uxtb r3, r3 808c498: 4a51 ldr r2, [pc, #324] ; (808c5e0 ) 808c49a: 011b lsls r3, r3, #4 808c49c: 4413 add r3, r2 808c49e: 681b ldr r3, [r3, #0] 808c4a0: 461a mov r2, r3 808c4a2: 2127 movs r1, #39 ; 0x27 808c4a4: 2017 movs r0, #23 808c4a6: f7c9 fc59 bl 8055d5c // if(menupos != DiagUs2) 808c4aa: 4b48 ldr r3, [pc, #288] ; (808c5cc ) 808c4ac: 781b ldrb r3, [r3, #0] 808c4ae: b2db uxtb r3, r3 808c4b0: 2b03 cmp r3, #3 808c4b2: d00f beq.n 808c4d4 { if(CURR_USL == Us2) 808c4b4: 4b46 ldr r3, [pc, #280] ; (808c5d0 ) 808c4b6: 781b ldrb r3, [r3, #0] 808c4b8: b2db uxtb r3, r3 808c4ba: 2b01 cmp r3, #1 808c4bc: d104 bne.n 808c4c8 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c4be: 4945 ldr r1, [pc, #276] ; (808c5d4 ) 808c4c0: 4845 ldr r0, [pc, #276] ; (808c5d8 ) 808c4c2: f7c8 fea3 bl 805520c 808c4c6: e00a b.n 808c4de else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808c4c8: 4942 ldr r1, [pc, #264] ; (808c5d4 ) 808c4ca: f04f 30ff mov.w r0, #4294967295 808c4ce: f7c8 fe9d bl 805520c 808c4d2: e004 b.n 808c4de } else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c4d4: 493f ldr r1, [pc, #252] ; (808c5d4 ) 808c4d6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c4da: f7c8 fe97 bl 805520c LCD_DisplayString(12 + 11*8, LCD_LINE_2, (char *) pUS[pardata.LANG][Us2]); 808c4de: 4b3f ldr r3, [pc, #252] ; (808c5dc ) 808c4e0: 7b1b ldrb r3, [r3, #12] 808c4e2: b2db uxtb r3, r3 808c4e4: 4a3e ldr r2, [pc, #248] ; (808c5e0 ) 808c4e6: 011b lsls r3, r3, #4 808c4e8: 4413 add r3, r2 808c4ea: 3304 adds r3, #4 808c4ec: 681b ldr r3, [r3, #0] 808c4ee: 461a mov r2, r3 808c4f0: 2127 movs r1, #39 ; 0x27 808c4f2: 2064 movs r0, #100 ; 0x64 808c4f4: f7c9 fc32 bl 8055d5c // if(menupos != DiagUs3) 808c4f8: 4b34 ldr r3, [pc, #208] ; (808c5cc ) 808c4fa: 781b ldrb r3, [r3, #0] 808c4fc: b2db uxtb r3, r3 808c4fe: 2b05 cmp r3, #5 808c500: d00f beq.n 808c522 { if(CURR_USL == Us3) 808c502: 4b33 ldr r3, [pc, #204] ; (808c5d0 ) 808c504: 781b ldrb r3, [r3, #0] 808c506: b2db uxtb r3, r3 808c508: 2b02 cmp r3, #2 808c50a: d104 bne.n 808c516 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c50c: 4931 ldr r1, [pc, #196] ; (808c5d4 ) 808c50e: 4832 ldr r0, [pc, #200] ; (808c5d8 ) 808c510: f7c8 fe7c bl 805520c 808c514: e00a b.n 808c52c else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808c516: 492f ldr r1, [pc, #188] ; (808c5d4 ) 808c518: f04f 30ff mov.w r0, #4294967295 808c51c: f7c8 fe76 bl 805520c 808c520: e004 b.n 808c52c } else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c522: 492c ldr r1, [pc, #176] ; (808c5d4 ) 808c524: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c528: f7c8 fe70 bl 805520c LCD_DisplayString(12 + 11*17, LCD_LINE_2, (char *) pUS[pardata.LANG][Us3]); 808c52c: 4b2b ldr r3, [pc, #172] ; (808c5dc ) 808c52e: 7b1b ldrb r3, [r3, #12] 808c530: b2db uxtb r3, r3 808c532: 4a2b ldr r2, [pc, #172] ; (808c5e0 ) 808c534: 011b lsls r3, r3, #4 808c536: 4413 add r3, r2 808c538: 3308 adds r3, #8 808c53a: 681b ldr r3, [r3, #0] 808c53c: 461a mov r2, r3 808c53e: 2127 movs r1, #39 ; 0x27 808c540: 20c7 movs r0, #199 ; 0xc7 808c542: f7c9 fc0b bl 8055d5c 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) 808c546: 4b21 ldr r3, [pc, #132] ; (808c5cc ) 808c548: 781b ldrb r3, [r3, #0] 808c54a: b2db uxtb r3, r3 808c54c: 2b02 cmp r3, #2 808c54e: d005 beq.n 808c55c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808c550: 4920 ldr r1, [pc, #128] ; (808c5d4 ) 808c552: f04f 30ff mov.w r0, #4294967295 808c556: f7c8 fe59 bl 805520c 808c55a: e004 b.n 808c566 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c55c: 491d ldr r1, [pc, #116] ; (808c5d4 ) 808c55e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c562: f7c8 fe53 bl 805520c if((focused) && (menupos == DiagOp1)) 808c566: 4b1f ldr r3, [pc, #124] ; (808c5e4 ) 808c568: 781b ldrb r3, [r3, #0] 808c56a: b2db uxtb r3, r3 808c56c: 2b00 cmp r3, #0 808c56e: d041 beq.n 808c5f4 808c570: 4b16 ldr r3, [pc, #88] ; (808c5cc ) 808c572: 781b ldrb r3, [r3, #0] 808c574: b2db uxtb r3, r3 808c576: 2b02 cmp r3, #2 808c578: d13c bne.n 808c5f4 { if(blk) 808c57a: 4b1b ldr r3, [pc, #108] ; (808c5e8 ) 808c57c: 681b ldr r3, [r3, #0] 808c57e: 2b00 cmp r3, #0 808c580: d050 beq.n 808c624 { LCD_DisplayString(12 + 11*4, LCD_LINE_2, (char *) pOP[pardata.LANG][pardata.DIAGN_OPER[CURR_POINT][0]]); 808c582: 4b16 ldr r3, [pc, #88] ; (808c5dc ) 808c584: 7b1b ldrb r3, [r3, #12] 808c586: b2db uxtb r3, r3 808c588: 4618 mov r0, r3 808c58a: 4b18 ldr r3, [pc, #96] ; (808c5ec ) 808c58c: 781b ldrb r3, [r3, #0] 808c58e: b2db uxtb r3, r3 808c590: 4a12 ldr r2, [pc, #72] ; (808c5dc ) 808c592: 3386 adds r3, #134 ; 0x86 808c594: 009b lsls r3, r3, #2 808c596: 4413 add r3, r2 808c598: 791b ldrb r3, [r3, #4] 808c59a: b2db uxtb r3, r3 808c59c: 4619 mov r1, r3 808c59e: 4a14 ldr r2, [pc, #80] ; (808c5f0 ) 808c5a0: 0043 lsls r3, r0, #1 808c5a2: 440b add r3, r1 808c5a4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808c5a8: 461a mov r2, r3 808c5aa: 2127 movs r1, #39 ; 0x27 808c5ac: 2038 movs r0, #56 ; 0x38 808c5ae: f7c9 fbd5 bl 8055d5c if(blk) 808c5b2: e037 b.n 808c624 808c5b4: 10624dd3 .word 0x10624dd3 808c5b8: 51eb851f .word 0x51eb851f 808c5bc: cccccccd .word 0xcccccccd 808c5c0: 0a7c5ac5 .word 0x0a7c5ac5 808c5c4: 000186a0 .word 0x000186a0 808c5c8: d1b71759 .word 0xd1b71759 808c5cc: 20020070 .word 0x20020070 808c5d0: 2002105f .word 0x2002105f 808c5d4: ff0a0f1f .word 0xff0a0f1f 808c5d8: ffd8aa57 .word 0xffd8aa57 808c5dc: 20023eb8 .word 0x20023eb8 808c5e0: 200205f4 .word 0x200205f4 808c5e4: 20020fd0 .word 0x20020fd0 808c5e8: 200216ac .word 0x200216ac 808c5ec: 2002105d .word 0x2002105d 808c5f0: 20020614 .word 0x20020614 } } else LCD_DisplayString(12 + 11*4, LCD_LINE_2, (char *) pOP[pardata.LANG][pardata.DIAGN_OPER[CURR_POINT][0]]); 808c5f4: 4bbf ldr r3, [pc, #764] ; (808c8f4 ) 808c5f6: 7b1b ldrb r3, [r3, #12] 808c5f8: b2db uxtb r3, r3 808c5fa: 4618 mov r0, r3 808c5fc: 4bbe ldr r3, [pc, #760] ; (808c8f8 ) 808c5fe: 781b ldrb r3, [r3, #0] 808c600: b2db uxtb r3, r3 808c602: 4abc ldr r2, [pc, #752] ; (808c8f4 ) 808c604: 3386 adds r3, #134 ; 0x86 808c606: 009b lsls r3, r3, #2 808c608: 4413 add r3, r2 808c60a: 791b ldrb r3, [r3, #4] 808c60c: b2db uxtb r3, r3 808c60e: 4619 mov r1, r3 808c610: 4aba ldr r2, [pc, #744] ; (808c8fc ) 808c612: 0043 lsls r3, r0, #1 808c614: 440b add r3, r1 808c616: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808c61a: 461a mov r2, r3 808c61c: 2127 movs r1, #39 ; 0x27 808c61e: 2038 movs r0, #56 ; 0x38 808c620: f7c9 fb9c bl 8055d5c ////// OP2 if(menupos != DiagOp2) 808c624: 4bb6 ldr r3, [pc, #728] ; (808c900 ) 808c626: 781b ldrb r3, [r3, #0] 808c628: b2db uxtb r3, r3 808c62a: 2b04 cmp r3, #4 808c62c: d005 beq.n 808c63a LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808c62e: 49b5 ldr r1, [pc, #724] ; (808c904 ) 808c630: f04f 30ff mov.w r0, #4294967295 808c634: f7c8 fdea bl 805520c 808c638: e004 b.n 808c644 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c63a: 49b2 ldr r1, [pc, #712] ; (808c904 ) 808c63c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c640: f7c8 fde4 bl 805520c if((focused) && (menupos == DiagOp2)) 808c644: 4bb0 ldr r3, [pc, #704] ; (808c908 ) 808c646: 781b ldrb r3, [r3, #0] 808c648: b2db uxtb r3, r3 808c64a: 2b00 cmp r3, #0 808c64c: d021 beq.n 808c692 808c64e: 4bac ldr r3, [pc, #688] ; (808c900 ) 808c650: 781b ldrb r3, [r3, #0] 808c652: b2db uxtb r3, r3 808c654: 2b04 cmp r3, #4 808c656: d11c bne.n 808c692 { if(blk) 808c658: 4bac ldr r3, [pc, #688] ; (808c90c ) 808c65a: 681b ldr r3, [r3, #0] 808c65c: 2b00 cmp r3, #0 808c65e: d030 beq.n 808c6c2 { LCD_DisplayString(12 + 11*12, LCD_LINE_2, (char *) pOP[pardata.LANG][pardata.DIAGN_OPER[CURR_POINT][1]]); 808c660: 4ba4 ldr r3, [pc, #656] ; (808c8f4 ) 808c662: 7b1b ldrb r3, [r3, #12] 808c664: b2db uxtb r3, r3 808c666: 4618 mov r0, r3 808c668: 4ba3 ldr r3, [pc, #652] ; (808c8f8 ) 808c66a: 781b ldrb r3, [r3, #0] 808c66c: b2db uxtb r3, r3 808c66e: 4aa1 ldr r2, [pc, #644] ; (808c8f4 ) 808c670: 009b lsls r3, r3, #2 808c672: 4413 add r3, r2 808c674: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 808c678: b2db uxtb r3, r3 808c67a: 4619 mov r1, r3 808c67c: 4a9f ldr r2, [pc, #636] ; (808c8fc ) 808c67e: 0043 lsls r3, r0, #1 808c680: 440b add r3, r1 808c682: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808c686: 461a mov r2, r3 808c688: 2127 movs r1, #39 ; 0x27 808c68a: 2090 movs r0, #144 ; 0x90 808c68c: f7c9 fb66 bl 8055d5c if(blk) 808c690: e017 b.n 808c6c2 } } else LCD_DisplayString(12 + 11*12, LCD_LINE_2, (char *) pOP[pardata.LANG][pardata.DIAGN_OPER[CURR_POINT][1]]); 808c692: 4b98 ldr r3, [pc, #608] ; (808c8f4 ) 808c694: 7b1b ldrb r3, [r3, #12] 808c696: b2db uxtb r3, r3 808c698: 4618 mov r0, r3 808c69a: 4b97 ldr r3, [pc, #604] ; (808c8f8 ) 808c69c: 781b ldrb r3, [r3, #0] 808c69e: b2db uxtb r3, r3 808c6a0: 4a94 ldr r2, [pc, #592] ; (808c8f4 ) 808c6a2: 009b lsls r3, r3, #2 808c6a4: 4413 add r3, r2 808c6a6: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 808c6aa: b2db uxtb r3, r3 808c6ac: 4619 mov r1, r3 808c6ae: 4a93 ldr r2, [pc, #588] ; (808c8fc ) 808c6b0: 0043 lsls r3, r0, #1 808c6b2: 440b add r3, r1 808c6b4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808c6b8: 461a mov r2, r3 808c6ba: 2127 movs r1, #39 ; 0x27 808c6bc: 2090 movs r0, #144 ; 0x90 808c6be: f7c9 fb4d bl 8055d5c if(pardata.LANG == RUS) 808c6c2: 4b8c ldr r3, [pc, #560] ; (808c8f4 ) 808c6c4: 7b1b ldrb r3, [r3, #12] 808c6c6: b2db uxtb r3, r3 808c6c8: 2b00 cmp r3, #0 808c6ca: f040 808f bne.w 808c7ec { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808c6ce: 498d ldr r1, [pc, #564] ; (808c904 ) 808c6d0: f04f 30ff mov.w r0, #4294967295 808c6d4: f7c8 fd9a bl 805520c LCD_DisplayString(10, LCD_LINE_5, "Âåëè÷èíà"); 808c6d8: 4a8d ldr r2, [pc, #564] ; (808c910 ) 808c6da: 215a movs r1, #90 ; 0x5a 808c6dc: 200a movs r0, #10 808c6de: f7c9 fb3d bl 8055d5c if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808c6e2: 4b85 ldr r3, [pc, #532] ; (808c8f8 ) 808c6e4: 781b ldrb r3, [r3, #0] 808c6e6: b2db uxtb r3, r3 808c6e8: 4618 mov r0, r3 808c6ea: 4b8a ldr r3, [pc, #552] ; (808c914 ) 808c6ec: 781b ldrb r3, [r3, #0] 808c6ee: b2db uxtb r3, r3 808c6f0: 4619 mov r1, r3 808c6f2: 4a80 ldr r2, [pc, #512] ; (808c8f4 ) 808c6f4: 0083 lsls r3, r0, #2 808c6f6: 4413 add r3, r2 808c6f8: 440b add r3, r1 808c6fa: f503 730f add.w r3, r3, #572 ; 0x23c 808c6fe: 781b ldrb r3, [r3, #0] 808c700: b2db uxtb r3, r3 808c702: f003 0307 and.w r3, r3, #7 808c706: 2b00 cmp r3, #0 808c708: d103 bne.n 808c712 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808c70a: 497e ldr r1, [pc, #504] ; (808c904 ) 808c70c: 4882 ldr r0, [pc, #520] ; (808c918 ) 808c70e: f7c8 fd7d bl 805520c LCD_DisplayString(10, LCD_LINE_6, "Çíà÷åíèå"); 808c712: 4a82 ldr r2, [pc, #520] ; (808c91c ) 808c714: 216a movs r1, #106 ; 0x6a 808c716: 200a movs r0, #10 808c718: f7c9 fb20 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Ôèëüòð Â×(Ãö)"); 808c71c: 4a80 ldr r2, [pc, #512] ; (808c920 ) 808c71e: 217a movs r1, #122 ; 0x7a 808c720: 200a movs r0, #10 808c722: f7c9 fb1b bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "Ôèëüòð Í×(Ãö)"); 808c726: 4a7f ldr r2, [pc, #508] ; (808c924 ) 808c728: 218a movs r1, #138 ; 0x8a 808c72a: 200a movs r0, #10 808c72c: f7c9 fb16 bl 8055d5c LCD_DisplayString(10, LCD_LINE_9, "Ïðåäóïðåæäåíèå"); 808c730: 4a7d ldr r2, [pc, #500] ; (808c928 ) 808c732: 219a movs r1, #154 ; 0x9a 808c734: 200a movs r0, #10 808c736: f7c9 fb11 bl 8055d5c LCD_DisplayString(10, LCD_LINE_10, "Àâàðèÿ"); 808c73a: 4a7c ldr r2, [pc, #496] ; (808c92c ) 808c73c: 21aa movs r1, #170 ; 0xaa 808c73e: 200a movs r0, #10 808c740: f7c9 fb0c bl 8055d5c if(menupos == DiagName) 808c744: 4b6e ldr r3, [pc, #440] ; (808c900 ) 808c746: 781b ldrb r3, [r3, #0] 808c748: b2db uxtb r3, r3 808c74a: 2b06 cmp r3, #6 808c74c: d127 bne.n 808c79e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c74e: 496d ldr r1, [pc, #436] ; (808c904 ) 808c750: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c754: f7c8 fd5a bl 805520c if(strlen(str1)) 808c758: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808c75c: 781b ldrb r3, [r3, #0] 808c75e: 2b00 cmp r3, #0 808c760: d017 beq.n 808c792 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c762: 4968 ldr r1, [pc, #416] ; (808c904 ) 808c764: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c768: f7c8 fd50 bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, str1); 808c76c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808c770: 461a mov r2, r3 808c772: 214a movs r1, #74 ; 0x4a 808c774: f44f 7082 mov.w r0, #260 ; 0x104 808c778: f7c9 fb08 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808c77c: 4961 ldr r1, [pc, #388] ; (808c904 ) 808c77e: f04f 30ff mov.w r0, #4294967295 808c782: f7c8 fd43 bl 805520c LCD_DisplayString(10, LCD_LINE_4, "Íàçâàíèå"); 808c786: 4a6a ldr r2, [pc, #424] ; (808c930 ) 808c788: 214a movs r1, #74 ; 0x4a 808c78a: 200a movs r0, #10 808c78c: f7c9 fae6 bl 8055d5c 808c790: e0ea b.n 808c968 } else LCD_DisplayString(10, LCD_LINE_4, "Íàçâàíèå"); 808c792: 4a67 ldr r2, [pc, #412] ; (808c930 ) 808c794: 214a movs r1, #74 ; 0x4a 808c796: 200a movs r0, #10 808c798: f7c9 fae0 bl 8055d5c 808c79c: e0e4 b.n 808c968 } else { if(strlen(str1)) 808c79e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808c7a2: 781b ldrb r3, [r3, #0] 808c7a4: 2b00 cmp r3, #0 808c7a6: d016 beq.n 808c7d6 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c7a8: 4956 ldr r1, [pc, #344] ; (808c904 ) 808c7aa: 4862 ldr r0, [pc, #392] ; (808c934 ) 808c7ac: f7c8 fd2e bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, str1); 808c7b0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808c7b4: 461a mov r2, r3 808c7b6: 214a movs r1, #74 ; 0x4a 808c7b8: f44f 7082 mov.w r0, #260 ; 0x104 808c7bc: f7c9 fae6 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808c7c0: 4950 ldr r1, [pc, #320] ; (808c904 ) 808c7c2: f04f 30ff mov.w r0, #4294967295 808c7c6: f7c8 fd21 bl 805520c LCD_DisplayString(10, LCD_LINE_4, "Íàçâàíèå"); //"Çàïèñü â ôàéë" 808c7ca: 4a59 ldr r2, [pc, #356] ; (808c930 ) 808c7cc: 214a movs r1, #74 ; 0x4a 808c7ce: 200a movs r0, #10 808c7d0: f7c9 fac4 bl 8055d5c 808c7d4: e0c8 b.n 808c968 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808c7d6: 494b ldr r1, [pc, #300] ; (808c904 ) 808c7d8: f04f 30ff mov.w r0, #4294967295 808c7dc: f7c8 fd16 bl 805520c LCD_DisplayString(10, LCD_LINE_4,"Íàçâàíèå"); //"Çàïèñü â ôàéë" 808c7e0: 4a53 ldr r2, [pc, #332] ; (808c930 ) 808c7e2: 214a movs r1, #74 ; 0x4a 808c7e4: 200a movs r0, #10 808c7e6: f7c9 fab9 bl 8055d5c 808c7ea: e0bd b.n 808c968 } } } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808c7ec: 4945 ldr r1, [pc, #276] ; (808c904 ) 808c7ee: f04f 30ff mov.w r0, #4294967295 808c7f2: f7c8 fd0b bl 805520c LCD_DisplayString(10, LCD_LINE_5, "Parameter"); 808c7f6: 4a50 ldr r2, [pc, #320] ; (808c938 ) 808c7f8: 215a movs r1, #90 ; 0x5a 808c7fa: 200a movs r0, #10 808c7fc: f7c9 faae bl 8055d5c if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808c800: 4b3d ldr r3, [pc, #244] ; (808c8f8 ) 808c802: 781b ldrb r3, [r3, #0] 808c804: b2db uxtb r3, r3 808c806: 4618 mov r0, r3 808c808: 4b42 ldr r3, [pc, #264] ; (808c914 ) 808c80a: 781b ldrb r3, [r3, #0] 808c80c: b2db uxtb r3, r3 808c80e: 4619 mov r1, r3 808c810: 4a38 ldr r2, [pc, #224] ; (808c8f4 ) 808c812: 0083 lsls r3, r0, #2 808c814: 4413 add r3, r2 808c816: 440b add r3, r1 808c818: f503 730f add.w r3, r3, #572 ; 0x23c 808c81c: 781b ldrb r3, [r3, #0] 808c81e: b2db uxtb r3, r3 808c820: f003 0307 and.w r3, r3, #7 808c824: 2b00 cmp r3, #0 808c826: d103 bne.n 808c830 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808c828: 4936 ldr r1, [pc, #216] ; (808c904 ) 808c82a: 483b ldr r0, [pc, #236] ; (808c918 ) 808c82c: f7c8 fcee bl 805520c LCD_DisplayString(10, LCD_LINE_6, "Value"); 808c830: 4a42 ldr r2, [pc, #264] ; (808c93c ) 808c832: 216a movs r1, #106 ; 0x6a 808c834: 200a movs r0, #10 808c836: f7c9 fa91 bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "HPF(Hz)"); 808c83a: 4a41 ldr r2, [pc, #260] ; (808c940 ) 808c83c: 217a movs r1, #122 ; 0x7a 808c83e: 200a movs r0, #10 808c840: f7c9 fa8c bl 8055d5c LCD_DisplayString(10, LCD_LINE_8, "LPF(Hz)"); 808c844: 4a3f ldr r2, [pc, #252] ; (808c944 ) 808c846: 218a movs r1, #138 ; 0x8a 808c848: 200a movs r0, #10 808c84a: f7c9 fa87 bl 8055d5c LCD_DisplayString(10, LCD_LINE_9, "Warning lvl"); 808c84e: 4a3e ldr r2, [pc, #248] ; (808c948 ) 808c850: 219a movs r1, #154 ; 0x9a 808c852: 200a movs r0, #10 808c854: f7c9 fa82 bl 8055d5c LCD_DisplayString(10, LCD_LINE_10, "Crash lvl"); 808c858: 4a3c ldr r2, [pc, #240] ; (808c94c ) 808c85a: 21aa movs r1, #170 ; 0xaa 808c85c: 200a movs r0, #10 808c85e: f7c9 fa7d bl 8055d5c if(menupos == DiagName) 808c862: 4b27 ldr r3, [pc, #156] ; (808c900 ) 808c864: 781b ldrb r3, [r3, #0] 808c866: b2db uxtb r3, r3 808c868: 2b06 cmp r3, #6 808c86a: d127 bne.n 808c8bc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c86c: 4925 ldr r1, [pc, #148] ; (808c904 ) 808c86e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c872: f7c8 fccb bl 805520c if(strlen(str1)) 808c876: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808c87a: 781b ldrb r3, [r3, #0] 808c87c: 2b00 cmp r3, #0 808c87e: d017 beq.n 808c8b0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c880: 4920 ldr r1, [pc, #128] ; (808c904 ) 808c882: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c886: f7c8 fcc1 bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, str1); 808c88a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808c88e: 461a mov r2, r3 808c890: 214a movs r1, #74 ; 0x4a 808c892: f44f 7082 mov.w r0, #260 ; 0x104 808c896: f7c9 fa79 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808c89a: 491a ldr r1, [pc, #104] ; (808c904 ) 808c89c: f04f 30ff mov.w r0, #4294967295 808c8a0: f7c8 fcb4 bl 805520c LCD_DisplayString(10, LCD_LINE_4, "Name"); 808c8a4: 4a2a ldr r2, [pc, #168] ; (808c950 ) 808c8a6: 214a movs r1, #74 ; 0x4a 808c8a8: 200a movs r0, #10 808c8aa: f7c9 fa57 bl 8055d5c 808c8ae: e05b b.n 808c968 } else LCD_DisplayString(10, LCD_LINE_4, "Name"); 808c8b0: 4a27 ldr r2, [pc, #156] ; (808c950 ) 808c8b2: 214a movs r1, #74 ; 0x4a 808c8b4: 200a movs r0, #10 808c8b6: f7c9 fa51 bl 8055d5c 808c8ba: e055 b.n 808c968 } else { if(strlen(str1)) 808c8bc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808c8c0: 781b ldrb r3, [r3, #0] 808c8c2: 2b00 cmp r3, #0 808c8c4: d046 beq.n 808c954 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c8c6: 490f ldr r1, [pc, #60] ; (808c904 ) 808c8c8: 481a ldr r0, [pc, #104] ; (808c934 ) 808c8ca: f7c8 fc9f bl 805520c LCD_DisplayStringC(260, LCD_LINE_4, str1); 808c8ce: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808c8d2: 461a mov r2, r3 808c8d4: 214a movs r1, #74 ; 0x4a 808c8d6: f44f 7082 mov.w r0, #260 ; 0x104 808c8da: f7c9 fa57 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808c8de: 4909 ldr r1, [pc, #36] ; (808c904 ) 808c8e0: f04f 30ff mov.w r0, #4294967295 808c8e4: f7c8 fc92 bl 805520c LCD_DisplayString(10, LCD_LINE_4, "Name"); //"Çàïèñü â ôàéë" 808c8e8: 4a19 ldr r2, [pc, #100] ; (808c950 ) 808c8ea: 214a movs r1, #74 ; 0x4a 808c8ec: 200a movs r0, #10 808c8ee: f7c9 fa35 bl 8055d5c 808c8f2: e039 b.n 808c968 808c8f4: 20023eb8 .word 0x20023eb8 808c8f8: 2002105d .word 0x2002105d 808c8fc: 20020614 .word 0x20020614 808c900: 20020070 .word 0x20020070 808c904: ff0a0f1f .word 0xff0a0f1f 808c908: 20020fd0 .word 0x20020fd0 808c90c: 200216ac .word 0x200216ac 808c910: 080d6198 .word 0x080d6198 808c914: 2002105f .word 0x2002105f 808c918: ff808080 .word 0xff808080 808c91c: 080d6b18 .word 0x080d6b18 808c920: 080d5c40 .word 0x080d5c40 808c924: 080d5c50 .word 0x080d5c50 808c928: 080d6b24 .word 0x080d6b24 808c92c: 080d6b34 .word 0x080d6b34 808c930: 080d6b3c .word 0x080d6b3c 808c934: ffd8aa57 .word 0xffd8aa57 808c938: 080d61a4 .word 0x080d61a4 808c93c: 080d6b48 .word 0x080d6b48 808c940: 080d5cf0 .word 0x080d5cf0 808c944: 080d5cf8 .word 0x080d5cf8 808c948: 080d6b50 .word 0x080d6b50 808c94c: 080d6b5c .word 0x080d6b5c 808c950: 080d6b68 .word 0x080d6b68 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808c954: 498c ldr r1, [pc, #560] ; (808cb88 ) 808c956: f04f 30ff mov.w r0, #4294967295 808c95a: f7c8 fc57 bl 805520c LCD_DisplayString(10, LCD_LINE_4,"Name"); //"Çàïèñü â ôàéë" 808c95e: 4a8b ldr r2, [pc, #556] ; (808cb8c ) 808c960: 214a movs r1, #74 ; 0x4a 808c962: 200a movs r0, #10 808c964: f7c9 f9fa bl 8055d5c } } // if(menupos != Ok) 808c968: 4b89 ldr r3, [pc, #548] ; (808cb90 ) 808c96a: 781b ldrb r3, [r3, #0] 808c96c: b2db uxtb r3, r3 808c96e: 2b00 cmp r3, #0 808c970: d005 beq.n 808c97e LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808c972: 4985 ldr r1, [pc, #532] ; (808cb88 ) 808c974: f04f 30ff mov.w r0, #4294967295 808c978: f7c8 fc48 bl 805520c 808c97c: e004 b.n 808c988 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c97e: 4982 ldr r1, [pc, #520] ; (808cb88 ) 808c980: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c984: f7c8 fc42 bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]); 808c988: 4b82 ldr r3, [pc, #520] ; (808cb94 ) 808c98a: 7b1b ldrb r3, [r3, #12] 808c98c: b2db uxtb r3, r3 808c98e: 461a mov r2, r3 808c990: 4b81 ldr r3, [pc, #516] ; (808cb98 ) 808c992: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c996: 461a mov r2, r3 808c998: 213a movs r1, #58 ; 0x3a 808c99a: 200a movs r0, #10 808c99c: f7c9 f9de bl 8055d5c // k = pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7; 808c9a0: 4b7e ldr r3, [pc, #504] ; (808cb9c ) 808c9a2: 781b ldrb r3, [r3, #0] 808c9a4: b2db uxtb r3, r3 808c9a6: 4618 mov r0, r3 808c9a8: 4b7d ldr r3, [pc, #500] ; (808cba0 ) 808c9aa: 781b ldrb r3, [r3, #0] 808c9ac: b2db uxtb r3, r3 808c9ae: 4619 mov r1, r3 808c9b0: 4a78 ldr r2, [pc, #480] ; (808cb94 ) 808c9b2: 0083 lsls r3, r0, #2 808c9b4: 4413 add r3, r2 808c9b6: 440b add r3, r1 808c9b8: f503 730f add.w r3, r3, #572 ; 0x23c 808c9bc: 781b ldrb r3, [r3, #0] 808c9be: b2db uxtb r3, r3 808c9c0: f003 0307 and.w r3, r3, #7 808c9c4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 i = 0; 808c9c8: 2300 movs r3, #0 808c9ca: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 for(j = 0; j < 3; j++) 808c9ce: 2300 movs r3, #0 808c9d0: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 808c9d4: e015 b.n 808ca02 { if(k & (1 << j)) 808c9d6: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808c9da: 2201 movs r2, #1 808c9dc: fa02 f303 lsl.w r3, r2, r3 808c9e0: 461a mov r2, r3 808c9e2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808c9e6: 4013 ands r3, r2 808c9e8: 2b00 cmp r3, #0 808c9ea: d005 beq.n 808c9f8 { i = (j + 1); 808c9ec: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808c9f0: 3301 adds r3, #1 808c9f2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 break; 808c9f6: e008 b.n 808ca0a for(j = 0; j < 3; j++) 808c9f8: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808c9fc: 3301 adds r3, #1 808c9fe: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 808ca02: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808ca06: 2b02 cmp r3, #2 808ca08: d9e5 bls.n 808c9d6 } } if(menupos != DiagAVS) 808ca0a: 4b61 ldr r3, [pc, #388] ; (808cb90 ) 808ca0c: 781b ldrb r3, [r3, #0] 808ca0e: b2db uxtb r3, r3 808ca10: 2b07 cmp r3, #7 808ca12: d004 beq.n 808ca1e LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ca14: 495c ldr r1, [pc, #368] ; (808cb88 ) 808ca16: 4863 ldr r0, [pc, #396] ; (808cba4 ) 808ca18: f7c8 fbf8 bl 805520c 808ca1c: e004 b.n 808ca28 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ca1e: 495a ldr r1, [pc, #360] ; (808cb88 ) 808ca20: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ca24: f7c8 fbf2 bl 805520c if((focused) && (menupos == DiagAVS)) 808ca28: 4b5f ldr r3, [pc, #380] ; (808cba8 ) 808ca2a: 781b ldrb r3, [r3, #0] 808ca2c: b2db uxtb r3, r3 808ca2e: 2b00 cmp r3, #0 808ca30: d01a beq.n 808ca68 808ca32: 4b57 ldr r3, [pc, #348] ; (808cb90 ) 808ca34: 781b ldrb r3, [r3, #0] 808ca36: b2db uxtb r3, r3 808ca38: 2b07 cmp r3, #7 808ca3a: d115 bne.n 808ca68 { if(blk) 808ca3c: 4b5b ldr r3, [pc, #364] ; (808cbac ) 808ca3e: 681b ldr r3, [r3, #0] 808ca40: 2b00 cmp r3, #0 808ca42: d022 beq.n 808ca8a { LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIPR_1[pardata.LANG][i]); 808ca44: 4b53 ldr r3, [pc, #332] ; (808cb94 ) 808ca46: 7b1b ldrb r3, [r3, #12] 808ca48: b2db uxtb r3, r3 808ca4a: 461a mov r2, r3 808ca4c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ca50: 4957 ldr r1, [pc, #348] ; (808cbb0 ) 808ca52: 0092 lsls r2, r2, #2 808ca54: 4413 add r3, r2 808ca56: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808ca5a: 461a mov r2, r3 808ca5c: 215a movs r1, #90 ; 0x5a 808ca5e: f44f 7082 mov.w r0, #260 ; 0x104 808ca62: f7c9 f993 bl 8055d8c if(blk) 808ca66: e010 b.n 808ca8a } } else LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIPR_1[pardata.LANG][i]); 808ca68: 4b4a ldr r3, [pc, #296] ; (808cb94 ) 808ca6a: 7b1b ldrb r3, [r3, #12] 808ca6c: b2db uxtb r3, r3 808ca6e: 461a mov r2, r3 808ca70: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ca74: 494e ldr r1, [pc, #312] ; (808cbb0 ) 808ca76: 0092 lsls r2, r2, #2 808ca78: 4413 add r3, r2 808ca7a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808ca7e: 461a mov r2, r3 808ca80: 215a movs r1, #90 ; 0x5a 808ca82: f44f 7082 mov.w r0, #260 ; 0x104 808ca86: f7c9 f981 bl 8055d8c // k = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 808ca8a: 4b44 ldr r3, [pc, #272] ; (808cb9c ) 808ca8c: 781b ldrb r3, [r3, #0] 808ca8e: b2db uxtb r3, r3 808ca90: 4618 mov r0, r3 808ca92: 4b43 ldr r3, [pc, #268] ; (808cba0 ) 808ca94: 781b ldrb r3, [r3, #0] 808ca96: b2db uxtb r3, r3 808ca98: 4619 mov r1, r3 808ca9a: 4a3e ldr r2, [pc, #248] ; (808cb94 ) 808ca9c: 0083 lsls r3, r0, #2 808ca9e: 4413 add r3, r2 808caa0: 440b add r3, r1 808caa2: f503 730f add.w r3, r3, #572 ; 0x23c 808caa6: 781b ldrb r3, [r3, #0] 808caa8: b2db uxtb r3, r3 808caaa: 08db lsrs r3, r3, #3 808caac: b2db uxtb r3, r3 808caae: f003 031f and.w r3, r3, #31 808cab2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 i = 0; 808cab6: 2300 movs r3, #0 808cab8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 for(j = 0; j < 5; j++) 808cabc: 2300 movs r3, #0 808cabe: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 808cac2: e014 b.n 808caee { if(k & (1 << j)) 808cac4: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808cac8: 2201 movs r2, #1 808caca: fa02 f303 lsl.w r3, r2, r3 808cace: 461a mov r2, r3 808cad0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808cad4: 4013 ands r3, r2 808cad6: 2b00 cmp r3, #0 808cad8: d004 beq.n 808cae4 { i = j; 808cada: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808cade: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 break; 808cae2: e008 b.n 808caf6 for(j = 0; j < 5; j++) 808cae4: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808cae8: 3301 adds r3, #1 808caea: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 808caee: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808caf2: 2b04 cmp r3, #4 808caf4: d9e6 bls.n 808cac4 } } if(menupos != DiagValue) 808caf6: 4b26 ldr r3, [pc, #152] ; (808cb90 ) 808caf8: 781b ldrb r3, [r3, #0] 808cafa: b2db uxtb r3, r3 808cafc: 2b08 cmp r3, #8 808cafe: d004 beq.n 808cb0a LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808cb00: 4921 ldr r1, [pc, #132] ; (808cb88 ) 808cb02: 4828 ldr r0, [pc, #160] ; (808cba4 ) 808cb04: f7c8 fb82 bl 805520c 808cb08: e004 b.n 808cb14 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808cb0a: 491f ldr r1, [pc, #124] ; (808cb88 ) 808cb0c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808cb10: f7c8 fb7c bl 805520c if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808cb14: 4b21 ldr r3, [pc, #132] ; (808cb9c ) 808cb16: 781b ldrb r3, [r3, #0] 808cb18: b2db uxtb r3, r3 808cb1a: 4618 mov r0, r3 808cb1c: 4b20 ldr r3, [pc, #128] ; (808cba0 ) 808cb1e: 781b ldrb r3, [r3, #0] 808cb20: b2db uxtb r3, r3 808cb22: 4619 mov r1, r3 808cb24: 4a1b ldr r2, [pc, #108] ; (808cb94 ) 808cb26: 0083 lsls r3, r0, #2 808cb28: 4413 add r3, r2 808cb2a: 440b add r3, r1 808cb2c: f503 730f add.w r3, r3, #572 ; 0x23c 808cb30: 781b ldrb r3, [r3, #0] 808cb32: b2db uxtb r3, r3 808cb34: f003 0307 and.w r3, r3, #7 808cb38: 2b00 cmp r3, #0 808cb3a: d103 bne.n 808cb44 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808cb3c: 4912 ldr r1, [pc, #72] ; (808cb88 ) 808cb3e: 481d ldr r0, [pc, #116] ; (808cbb4 ) 808cb40: f7c8 fb64 bl 805520c if((focused) && (menupos == DiagValue)) 808cb44: 4b18 ldr r3, [pc, #96] ; (808cba8 ) 808cb46: 781b ldrb r3, [r3, #0] 808cb48: b2db uxtb r3, r3 808cb4a: 2b00 cmp r3, #0 808cb4c: d036 beq.n 808cbbc 808cb4e: 4b10 ldr r3, [pc, #64] ; (808cb90 ) 808cb50: 781b ldrb r3, [r3, #0] 808cb52: b2db uxtb r3, r3 808cb54: 2b08 cmp r3, #8 808cb56: d131 bne.n 808cbbc { if(blk) 808cb58: 4b14 ldr r3, [pc, #80] ; (808cbac ) 808cb5a: 681b ldr r3, [r3, #0] 808cb5c: 2b00 cmp r3, #0 808cb5e: d040 beq.n 808cbe2 { LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][i]); 808cb60: 4b0c ldr r3, [pc, #48] ; (808cb94 ) 808cb62: 7b1b ldrb r3, [r3, #12] 808cb64: b2db uxtb r3, r3 808cb66: 4618 mov r0, r3 808cb68: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808cb6c: 4912 ldr r1, [pc, #72] ; (808cbb8 ) 808cb6e: 4603 mov r3, r0 808cb70: 009b lsls r3, r3, #2 808cb72: 4403 add r3, r0 808cb74: 4413 add r3, r2 808cb76: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808cb7a: 461a mov r2, r3 808cb7c: 216a movs r1, #106 ; 0x6a 808cb7e: f44f 7082 mov.w r0, #260 ; 0x104 808cb82: f7c9 f903 bl 8055d8c if(blk) 808cb86: e02c b.n 808cbe2 808cb88: ff0a0f1f .word 0xff0a0f1f 808cb8c: 080d6b68 .word 0x080d6b68 808cb90: 20020070 .word 0x20020070 808cb94: 20023eb8 .word 0x20023eb8 808cb98: 200205cc .word 0x200205cc 808cb9c: 2002105d .word 0x2002105d 808cba0: 2002105f .word 0x2002105f 808cba4: ffd8aa57 .word 0xffd8aa57 808cba8: 20020fd0 .word 0x20020fd0 808cbac: 200216ac .word 0x200216ac 808cbb0: 20020184 .word 0x20020184 808cbb4: ff808080 .word 0xff808080 808cbb8: 200202c4 .word 0x200202c4 } } else LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][i]); 808cbbc: 4b9d ldr r3, [pc, #628] ; (808ce34 ) 808cbbe: 7b1b ldrb r3, [r3, #12] 808cbc0: b2db uxtb r3, r3 808cbc2: 4618 mov r0, r3 808cbc4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808cbc8: 499b ldr r1, [pc, #620] ; (808ce38 ) 808cbca: 4603 mov r3, r0 808cbcc: 009b lsls r3, r3, #2 808cbce: 4403 add r3, r0 808cbd0: 4413 add r3, r2 808cbd2: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808cbd6: 461a mov r2, r3 808cbd8: 216a movs r1, #106 ; 0x6a 808cbda: f44f 7082 mov.w r0, #260 ; 0x104 808cbde: f7c9 f8d5 bl 8055d8c if(menupos == DiagHP_IDT) 808cbe2: 4b96 ldr r3, [pc, #600] ; (808ce3c ) 808cbe4: 781b ldrb r3, [r3, #0] 808cbe6: b2db uxtb r3, r3 808cbe8: 2b0d cmp r3, #13 808cbea: d15d bne.n 808cca8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808cbec: 4994 ldr r1, [pc, #592] ; (808ce40 ) 808cbee: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808cbf2: f7c8 fb0b bl 805520c if(blk) 808cbf6: 4b93 ldr r3, [pc, #588] ; (808ce44 ) 808cbf8: 681b ldr r3, [r3, #0] 808cbfa: 2b00 cmp r3, #0 808cbfc: d00b beq.n 808cc16 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808cbfe: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808cc02: b2db uxtb r3, r3 808cc04: 461a mov r2, r3 808cc06: 4b90 ldr r3, [pc, #576] ; (808ce48 ) 808cc08: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cc0c: 461a mov r2, r3 808cc0e: 217a movs r1, #122 ; 0x7a 808cc10: 20c6 movs r0, #198 ; 0xc6 808cc12: f7c9 f8a3 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808cc16: 498a ldr r1, [pc, #552] ; (808ce40 ) 808cc18: 488c ldr r0, [pc, #560] ; (808ce4c ) 808cc1a: f7c8 faf7 bl 805520c LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808cc1e: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808cc22: b2db uxtb r3, r3 808cc24: 461a mov r2, r3 808cc26: 4b88 ldr r3, [pc, #544] ; (808ce48 ) 808cc28: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cc2c: 461a mov r2, r3 808cc2e: 217a movs r1, #122 ; 0x7a 808cc30: 20d6 movs r0, #214 ; 0xd6 808cc32: f7c9 f893 bl 8055d5c LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808cc36: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808cc3a: b2db uxtb r3, r3 808cc3c: 461a mov r2, r3 808cc3e: 4b82 ldr r3, [pc, #520] ; (808ce48 ) 808cc40: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cc44: 461a mov r2, r3 808cc46: 217a movs r1, #122 ; 0x7a 808cc48: 20e6 movs r0, #230 ; 0xe6 808cc4a: f7c9 f887 bl 8055d5c LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808cc4e: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808cc52: b2db uxtb r3, r3 808cc54: 461a mov r2, r3 808cc56: 4b7c ldr r3, [pc, #496] ; (808ce48 ) 808cc58: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cc5c: 461a mov r2, r3 808cc5e: 217a movs r1, #122 ; 0x7a 808cc60: 20f6 movs r0, #246 ; 0xf6 808cc62: f7c9 f87b bl 8055d5c LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808cc66: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808cc6a: b2db uxtb r3, r3 808cc6c: 461a mov r2, r3 808cc6e: 4b76 ldr r3, [pc, #472] ; (808ce48 ) 808cc70: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cc74: 461a mov r2, r3 808cc76: 217a movs r1, #122 ; 0x7a 808cc78: f44f 7083 mov.w r0, #262 ; 0x106 808cc7c: f7c9 f86e bl 8055d5c LCD_DisplayString(278, LCD_LINE_7, "."); 808cc80: 4a73 ldr r2, [pc, #460] ; (808ce50 ) 808cc82: 217a movs r1, #122 ; 0x7a 808cc84: f44f 708b mov.w r0, #278 ; 0x116 808cc88: f7c9 f868 bl 8055d5c LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808cc8c: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808cc90: b2db uxtb r3, r3 808cc92: 461a mov r2, r3 808cc94: 4b6c ldr r3, [pc, #432] ; (808ce48 ) 808cc96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cc9a: 461a mov r2, r3 808cc9c: 217a movs r1, #122 ; 0x7a 808cc9e: f44f 7093 mov.w r0, #294 ; 0x126 808cca2: f7c9 f85b bl 8055d5c 808cca6: e1fd b.n 808d0a4 } else if(menupos == DiagHP_IET) 808cca8: 4b64 ldr r3, [pc, #400] ; (808ce3c ) 808ccaa: 781b ldrb r3, [r3, #0] 808ccac: b2db uxtb r3, r3 808ccae: 2b0e cmp r3, #14 808ccb0: d15d bne.n 808cd6e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ccb2: 4963 ldr r1, [pc, #396] ; (808ce40 ) 808ccb4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ccb8: f7c8 faa8 bl 805520c if(blk) 808ccbc: 4b61 ldr r3, [pc, #388] ; (808ce44 ) 808ccbe: 681b ldr r3, [r3, #0] 808ccc0: 2b00 cmp r3, #0 808ccc2: d00b beq.n 808ccdc LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808ccc4: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808ccc8: b2db uxtb r3, r3 808ccca: 461a mov r2, r3 808cccc: 4b5e ldr r3, [pc, #376] ; (808ce48 ) 808ccce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ccd2: 461a mov r2, r3 808ccd4: 217a movs r1, #122 ; 0x7a 808ccd6: 20d6 movs r0, #214 ; 0xd6 808ccd8: f7c9 f840 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ccdc: 4958 ldr r1, [pc, #352] ; (808ce40 ) 808ccde: 485b ldr r0, [pc, #364] ; (808ce4c ) 808cce0: f7c8 fa94 bl 805520c LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808cce4: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808cce8: b2db uxtb r3, r3 808ccea: 461a mov r2, r3 808ccec: 4b56 ldr r3, [pc, #344] ; (808ce48 ) 808ccee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ccf2: 461a mov r2, r3 808ccf4: 217a movs r1, #122 ; 0x7a 808ccf6: 20c6 movs r0, #198 ; 0xc6 808ccf8: f7c9 f830 bl 8055d5c LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808ccfc: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808cd00: b2db uxtb r3, r3 808cd02: 461a mov r2, r3 808cd04: 4b50 ldr r3, [pc, #320] ; (808ce48 ) 808cd06: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cd0a: 461a mov r2, r3 808cd0c: 217a movs r1, #122 ; 0x7a 808cd0e: 20e6 movs r0, #230 ; 0xe6 808cd10: f7c9 f824 bl 8055d5c LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808cd14: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808cd18: b2db uxtb r3, r3 808cd1a: 461a mov r2, r3 808cd1c: 4b4a ldr r3, [pc, #296] ; (808ce48 ) 808cd1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cd22: 461a mov r2, r3 808cd24: 217a movs r1, #122 ; 0x7a 808cd26: 20f6 movs r0, #246 ; 0xf6 808cd28: f7c9 f818 bl 8055d5c LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808cd2c: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808cd30: b2db uxtb r3, r3 808cd32: 461a mov r2, r3 808cd34: 4b44 ldr r3, [pc, #272] ; (808ce48 ) 808cd36: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cd3a: 461a mov r2, r3 808cd3c: 217a movs r1, #122 ; 0x7a 808cd3e: f44f 7083 mov.w r0, #262 ; 0x106 808cd42: f7c9 f80b bl 8055d5c LCD_DisplayString(278, LCD_LINE_7, "."); 808cd46: 4a42 ldr r2, [pc, #264] ; (808ce50 ) 808cd48: 217a movs r1, #122 ; 0x7a 808cd4a: f44f 708b mov.w r0, #278 ; 0x116 808cd4e: f7c9 f805 bl 8055d5c LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808cd52: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808cd56: b2db uxtb r3, r3 808cd58: 461a mov r2, r3 808cd5a: 4b3b ldr r3, [pc, #236] ; (808ce48 ) 808cd5c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cd60: 461a mov r2, r3 808cd62: 217a movs r1, #122 ; 0x7a 808cd64: f44f 7093 mov.w r0, #294 ; 0x126 808cd68: f7c8 fff8 bl 8055d5c 808cd6c: e19a b.n 808d0a4 } else if(menupos == DiagHP_IES) 808cd6e: 4b33 ldr r3, [pc, #204] ; (808ce3c ) 808cd70: 781b ldrb r3, [r3, #0] 808cd72: b2db uxtb r3, r3 808cd74: 2b0f cmp r3, #15 808cd76: d16d bne.n 808ce54 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808cd78: 4931 ldr r1, [pc, #196] ; (808ce40 ) 808cd7a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808cd7e: f7c8 fa45 bl 805520c if(blk) 808cd82: 4b30 ldr r3, [pc, #192] ; (808ce44 ) 808cd84: 681b ldr r3, [r3, #0] 808cd86: 2b00 cmp r3, #0 808cd88: d00b beq.n 808cda2 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808cd8a: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808cd8e: b2db uxtb r3, r3 808cd90: 461a mov r2, r3 808cd92: 4b2d ldr r3, [pc, #180] ; (808ce48 ) 808cd94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cd98: 461a mov r2, r3 808cd9a: 217a movs r1, #122 ; 0x7a 808cd9c: 20e6 movs r0, #230 ; 0xe6 808cd9e: f7c8 ffdd bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808cda2: 4927 ldr r1, [pc, #156] ; (808ce40 ) 808cda4: 4829 ldr r0, [pc, #164] ; (808ce4c ) 808cda6: f7c8 fa31 bl 805520c LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808cdaa: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808cdae: b2db uxtb r3, r3 808cdb0: 461a mov r2, r3 808cdb2: 4b25 ldr r3, [pc, #148] ; (808ce48 ) 808cdb4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cdb8: 461a mov r2, r3 808cdba: 217a movs r1, #122 ; 0x7a 808cdbc: 20c6 movs r0, #198 ; 0xc6 808cdbe: f7c8 ffcd bl 8055d5c LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808cdc2: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808cdc6: b2db uxtb r3, r3 808cdc8: 461a mov r2, r3 808cdca: 4b1f ldr r3, [pc, #124] ; (808ce48 ) 808cdcc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cdd0: 461a mov r2, r3 808cdd2: 217a movs r1, #122 ; 0x7a 808cdd4: 20d6 movs r0, #214 ; 0xd6 808cdd6: f7c8 ffc1 bl 8055d5c LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808cdda: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808cdde: b2db uxtb r3, r3 808cde0: 461a mov r2, r3 808cde2: 4b19 ldr r3, [pc, #100] ; (808ce48 ) 808cde4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cde8: 461a mov r2, r3 808cdea: 217a movs r1, #122 ; 0x7a 808cdec: 20f6 movs r0, #246 ; 0xf6 808cdee: f7c8 ffb5 bl 8055d5c LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808cdf2: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808cdf6: b2db uxtb r3, r3 808cdf8: 461a mov r2, r3 808cdfa: 4b13 ldr r3, [pc, #76] ; (808ce48 ) 808cdfc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ce00: 461a mov r2, r3 808ce02: 217a movs r1, #122 ; 0x7a 808ce04: f44f 7083 mov.w r0, #262 ; 0x106 808ce08: f7c8 ffa8 bl 8055d5c LCD_DisplayString(278, LCD_LINE_7, "."); 808ce0c: 4a10 ldr r2, [pc, #64] ; (808ce50 ) 808ce0e: 217a movs r1, #122 ; 0x7a 808ce10: f44f 708b mov.w r0, #278 ; 0x116 808ce14: f7c8 ffa2 bl 8055d5c LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808ce18: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808ce1c: b2db uxtb r3, r3 808ce1e: 461a mov r2, r3 808ce20: 4b09 ldr r3, [pc, #36] ; (808ce48 ) 808ce22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ce26: 461a mov r2, r3 808ce28: 217a movs r1, #122 ; 0x7a 808ce2a: f44f 7093 mov.w r0, #294 ; 0x126 808ce2e: f7c8 ff95 bl 8055d5c 808ce32: e137 b.n 808d0a4 808ce34: 20023eb8 .word 0x20023eb8 808ce38: 200202c4 .word 0x200202c4 808ce3c: 20020070 .word 0x20020070 808ce40: ff0a0f1f .word 0xff0a0f1f 808ce44: 200216ac .word 0x200216ac 808ce48: 2002096c .word 0x2002096c 808ce4c: ffd8aa57 .word 0xffd8aa57 808ce50: 080d6258 .word 0x080d6258 } else if(menupos == DiagHP_IED) 808ce54: 4bc5 ldr r3, [pc, #788] ; (808d16c ) 808ce56: 781b ldrb r3, [r3, #0] 808ce58: b2db uxtb r3, r3 808ce5a: 2b10 cmp r3, #16 808ce5c: d15d bne.n 808cf1a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ce5e: 49c4 ldr r1, [pc, #784] ; (808d170 ) 808ce60: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ce64: f7c8 f9d2 bl 805520c if(blk) 808ce68: 4bc2 ldr r3, [pc, #776] ; (808d174 ) 808ce6a: 681b ldr r3, [r3, #0] 808ce6c: 2b00 cmp r3, #0 808ce6e: d00b beq.n 808ce88 LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808ce70: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808ce74: b2db uxtb r3, r3 808ce76: 461a mov r2, r3 808ce78: 4bbf ldr r3, [pc, #764] ; (808d178 ) 808ce7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ce7e: 461a mov r2, r3 808ce80: 217a movs r1, #122 ; 0x7a 808ce82: 20f6 movs r0, #246 ; 0xf6 808ce84: f7c8 ff6a bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ce88: 49b9 ldr r1, [pc, #740] ; (808d170 ) 808ce8a: 48bc ldr r0, [pc, #752] ; (808d17c ) 808ce8c: f7c8 f9be bl 805520c LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808ce90: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808ce94: b2db uxtb r3, r3 808ce96: 461a mov r2, r3 808ce98: 4bb7 ldr r3, [pc, #732] ; (808d178 ) 808ce9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ce9e: 461a mov r2, r3 808cea0: 217a movs r1, #122 ; 0x7a 808cea2: 20c6 movs r0, #198 ; 0xc6 808cea4: f7c8 ff5a bl 8055d5c LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808cea8: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808ceac: b2db uxtb r3, r3 808ceae: 461a mov r2, r3 808ceb0: 4bb1 ldr r3, [pc, #708] ; (808d178 ) 808ceb2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ceb6: 461a mov r2, r3 808ceb8: 217a movs r1, #122 ; 0x7a 808ceba: 20d6 movs r0, #214 ; 0xd6 808cebc: f7c8 ff4e bl 8055d5c LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808cec0: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808cec4: b2db uxtb r3, r3 808cec6: 461a mov r2, r3 808cec8: 4bab ldr r3, [pc, #684] ; (808d178 ) 808ceca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cece: 461a mov r2, r3 808ced0: 217a movs r1, #122 ; 0x7a 808ced2: 20e6 movs r0, #230 ; 0xe6 808ced4: f7c8 ff42 bl 8055d5c LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808ced8: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808cedc: b2db uxtb r3, r3 808cede: 461a mov r2, r3 808cee0: 4ba5 ldr r3, [pc, #660] ; (808d178 ) 808cee2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cee6: 461a mov r2, r3 808cee8: 217a movs r1, #122 ; 0x7a 808ceea: f44f 7083 mov.w r0, #262 ; 0x106 808ceee: f7c8 ff35 bl 8055d5c LCD_DisplayString(278, LCD_LINE_7, "."); 808cef2: 4aa3 ldr r2, [pc, #652] ; (808d180 ) 808cef4: 217a movs r1, #122 ; 0x7a 808cef6: f44f 708b mov.w r0, #278 ; 0x116 808cefa: f7c8 ff2f bl 8055d5c LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808cefe: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808cf02: b2db uxtb r3, r3 808cf04: 461a mov r2, r3 808cf06: 4b9c ldr r3, [pc, #624] ; (808d178 ) 808cf08: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cf0c: 461a mov r2, r3 808cf0e: 217a movs r1, #122 ; 0x7a 808cf10: f44f 7093 mov.w r0, #294 ; 0x126 808cf14: f7c8 ff22 bl 8055d5c 808cf18: e0c4 b.n 808d0a4 } else if(menupos == DiagHP_IEE) 808cf1a: 4b94 ldr r3, [pc, #592] ; (808d16c ) 808cf1c: 781b ldrb r3, [r3, #0] 808cf1e: b2db uxtb r3, r3 808cf20: 2b11 cmp r3, #17 808cf22: d15d bne.n 808cfe0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808cf24: 4992 ldr r1, [pc, #584] ; (808d170 ) 808cf26: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808cf2a: f7c8 f96f bl 805520c if(blk) 808cf2e: 4b91 ldr r3, [pc, #580] ; (808d174 ) 808cf30: 681b ldr r3, [r3, #0] 808cf32: 2b00 cmp r3, #0 808cf34: d00c beq.n 808cf50 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808cf36: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808cf3a: b2db uxtb r3, r3 808cf3c: 461a mov r2, r3 808cf3e: 4b8e ldr r3, [pc, #568] ; (808d178 ) 808cf40: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cf44: 461a mov r2, r3 808cf46: 217a movs r1, #122 ; 0x7a 808cf48: f44f 7083 mov.w r0, #262 ; 0x106 808cf4c: f7c8 ff06 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808cf50: 4987 ldr r1, [pc, #540] ; (808d170 ) 808cf52: 488a ldr r0, [pc, #552] ; (808d17c ) 808cf54: f7c8 f95a bl 805520c LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808cf58: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808cf5c: b2db uxtb r3, r3 808cf5e: 461a mov r2, r3 808cf60: 4b85 ldr r3, [pc, #532] ; (808d178 ) 808cf62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cf66: 461a mov r2, r3 808cf68: 217a movs r1, #122 ; 0x7a 808cf6a: 20c6 movs r0, #198 ; 0xc6 808cf6c: f7c8 fef6 bl 8055d5c LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808cf70: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808cf74: b2db uxtb r3, r3 808cf76: 461a mov r2, r3 808cf78: 4b7f ldr r3, [pc, #508] ; (808d178 ) 808cf7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cf7e: 461a mov r2, r3 808cf80: 217a movs r1, #122 ; 0x7a 808cf82: 20d6 movs r0, #214 ; 0xd6 808cf84: f7c8 feea bl 8055d5c LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808cf88: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808cf8c: b2db uxtb r3, r3 808cf8e: 461a mov r2, r3 808cf90: 4b79 ldr r3, [pc, #484] ; (808d178 ) 808cf92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cf96: 461a mov r2, r3 808cf98: 217a movs r1, #122 ; 0x7a 808cf9a: 20e6 movs r0, #230 ; 0xe6 808cf9c: f7c8 fede bl 8055d5c LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808cfa0: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808cfa4: b2db uxtb r3, r3 808cfa6: 461a mov r2, r3 808cfa8: 4b73 ldr r3, [pc, #460] ; (808d178 ) 808cfaa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cfae: 461a mov r2, r3 808cfb0: 217a movs r1, #122 ; 0x7a 808cfb2: 20f6 movs r0, #246 ; 0xf6 808cfb4: f7c8 fed2 bl 8055d5c LCD_DisplayString(278, LCD_LINE_7, "."); 808cfb8: 4a71 ldr r2, [pc, #452] ; (808d180 ) 808cfba: 217a movs r1, #122 ; 0x7a 808cfbc: f44f 708b mov.w r0, #278 ; 0x116 808cfc0: f7c8 fecc bl 8055d5c LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808cfc4: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808cfc8: b2db uxtb r3, r3 808cfca: 461a mov r2, r3 808cfcc: 4b6a ldr r3, [pc, #424] ; (808d178 ) 808cfce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cfd2: 461a mov r2, r3 808cfd4: 217a movs r1, #122 ; 0x7a 808cfd6: f44f 7093 mov.w r0, #294 ; 0x126 808cfda: f7c8 febf bl 8055d5c 808cfde: e061 b.n 808d0a4 } else if(menupos == DiagHP_IKD) 808cfe0: 4b62 ldr r3, [pc, #392] ; (808d16c ) 808cfe2: 781b ldrb r3, [r3, #0] 808cfe4: b2db uxtb r3, r3 808cfe6: 2b12 cmp r3, #18 808cfe8: d15c bne.n 808d0a4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808cfea: 4961 ldr r1, [pc, #388] ; (808d170 ) 808cfec: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808cff0: f7c8 f90c bl 805520c if(blk) 808cff4: 4b5f ldr r3, [pc, #380] ; (808d174 ) 808cff6: 681b ldr r3, [r3, #0] 808cff8: 2b00 cmp r3, #0 808cffa: d00c beq.n 808d016 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808cffc: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808d000: b2db uxtb r3, r3 808d002: 461a mov r2, r3 808d004: 4b5c ldr r3, [pc, #368] ; (808d178 ) 808d006: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d00a: 461a mov r2, r3 808d00c: 217a movs r1, #122 ; 0x7a 808d00e: f44f 7093 mov.w r0, #294 ; 0x126 808d012: f7c8 fea3 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d016: 4956 ldr r1, [pc, #344] ; (808d170 ) 808d018: 4858 ldr r0, [pc, #352] ; (808d17c ) 808d01a: f7c8 f8f7 bl 805520c LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808d01e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808d022: b2db uxtb r3, r3 808d024: 461a mov r2, r3 808d026: 4b54 ldr r3, [pc, #336] ; (808d178 ) 808d028: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d02c: 461a mov r2, r3 808d02e: 217a movs r1, #122 ; 0x7a 808d030: 20c6 movs r0, #198 ; 0xc6 808d032: f7c8 fe93 bl 8055d5c LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808d036: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808d03a: b2db uxtb r3, r3 808d03c: 461a mov r2, r3 808d03e: 4b4e ldr r3, [pc, #312] ; (808d178 ) 808d040: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d044: 461a mov r2, r3 808d046: 217a movs r1, #122 ; 0x7a 808d048: 20d6 movs r0, #214 ; 0xd6 808d04a: f7c8 fe87 bl 8055d5c LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808d04e: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808d052: b2db uxtb r3, r3 808d054: 461a mov r2, r3 808d056: 4b48 ldr r3, [pc, #288] ; (808d178 ) 808d058: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d05c: 461a mov r2, r3 808d05e: 217a movs r1, #122 ; 0x7a 808d060: 20e6 movs r0, #230 ; 0xe6 808d062: f7c8 fe7b bl 8055d5c LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808d066: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808d06a: b2db uxtb r3, r3 808d06c: 461a mov r2, r3 808d06e: 4b42 ldr r3, [pc, #264] ; (808d178 ) 808d070: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d074: 461a mov r2, r3 808d076: 217a movs r1, #122 ; 0x7a 808d078: 20f6 movs r0, #246 ; 0xf6 808d07a: f7c8 fe6f bl 8055d5c LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808d07e: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808d082: b2db uxtb r3, r3 808d084: 461a mov r2, r3 808d086: 4b3c ldr r3, [pc, #240] ; (808d178 ) 808d088: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d08c: 461a mov r2, r3 808d08e: 217a movs r1, #122 ; 0x7a 808d090: f44f 7083 mov.w r0, #262 ; 0x106 808d094: f7c8 fe62 bl 8055d5c LCD_DisplayString(278, LCD_LINE_7, "."); 808d098: 4a39 ldr r2, [pc, #228] ; (808d180 ) 808d09a: 217a movs r1, #122 ; 0x7a 808d09c: f44f 708b mov.w r0, #278 ; 0x116 808d0a0: f7c8 fe5c bl 8055d5c } //LP if(menupos == DiagLP_IDT) 808d0a4: 4b31 ldr r3, [pc, #196] ; (808d16c ) 808d0a6: 781b ldrb r3, [r3, #0] 808d0a8: b2db uxtb r3, r3 808d0aa: 2b13 cmp r3, #19 808d0ac: d16a bne.n 808d184 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d0ae: 4930 ldr r1, [pc, #192] ; (808d170 ) 808d0b0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d0b4: f7c8 f8aa bl 805520c if(blk) 808d0b8: 4b2e ldr r3, [pc, #184] ; (808d174 ) 808d0ba: 681b ldr r3, [r3, #0] 808d0bc: 2b00 cmp r3, #0 808d0be: d00b beq.n 808d0d8 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808d0c0: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808d0c4: b2db uxtb r3, r3 808d0c6: 461a mov r2, r3 808d0c8: 4b2b ldr r3, [pc, #172] ; (808d178 ) 808d0ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d0ce: 461a mov r2, r3 808d0d0: 218a movs r1, #138 ; 0x8a 808d0d2: 20c6 movs r0, #198 ; 0xc6 808d0d4: f7c8 fe42 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d0d8: 4925 ldr r1, [pc, #148] ; (808d170 ) 808d0da: 4828 ldr r0, [pc, #160] ; (808d17c ) 808d0dc: f7c8 f896 bl 805520c LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808d0e0: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808d0e4: b2db uxtb r3, r3 808d0e6: 461a mov r2, r3 808d0e8: 4b23 ldr r3, [pc, #140] ; (808d178 ) 808d0ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d0ee: 461a mov r2, r3 808d0f0: 218a movs r1, #138 ; 0x8a 808d0f2: 20d6 movs r0, #214 ; 0xd6 808d0f4: f7c8 fe32 bl 8055d5c LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808d0f8: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808d0fc: b2db uxtb r3, r3 808d0fe: 461a mov r2, r3 808d100: 4b1d ldr r3, [pc, #116] ; (808d178 ) 808d102: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d106: 461a mov r2, r3 808d108: 218a movs r1, #138 ; 0x8a 808d10a: 20e6 movs r0, #230 ; 0xe6 808d10c: f7c8 fe26 bl 8055d5c LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808d110: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808d114: b2db uxtb r3, r3 808d116: 461a mov r2, r3 808d118: 4b17 ldr r3, [pc, #92] ; (808d178 ) 808d11a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d11e: 461a mov r2, r3 808d120: 218a movs r1, #138 ; 0x8a 808d122: 20f6 movs r0, #246 ; 0xf6 808d124: f7c8 fe1a bl 8055d5c LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808d128: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808d12c: b2db uxtb r3, r3 808d12e: 461a mov r2, r3 808d130: 4b11 ldr r3, [pc, #68] ; (808d178 ) 808d132: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d136: 461a mov r2, r3 808d138: 218a movs r1, #138 ; 0x8a 808d13a: f44f 7083 mov.w r0, #262 ; 0x106 808d13e: f7c8 fe0d bl 8055d5c LCD_DisplayString(278, LCD_LINE_8, "."); 808d142: 4a0f ldr r2, [pc, #60] ; (808d180 ) 808d144: 218a movs r1, #138 ; 0x8a 808d146: f44f 708b mov.w r0, #278 ; 0x116 808d14a: f7c8 fe07 bl 8055d5c LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808d14e: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808d152: b2db uxtb r3, r3 808d154: 461a mov r2, r3 808d156: 4b08 ldr r3, [pc, #32] ; (808d178 ) 808d158: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d15c: 461a mov r2, r3 808d15e: 218a movs r1, #138 ; 0x8a 808d160: f44f 7093 mov.w r0, #294 ; 0x126 808d164: f7c8 fdfa bl 8055d5c 808d168: e206 b.n 808d578 808d16a: bf00 nop 808d16c: 20020070 .word 0x20020070 808d170: ff0a0f1f .word 0xff0a0f1f 808d174: 200216ac .word 0x200216ac 808d178: 2002096c .word 0x2002096c 808d17c: ffd8aa57 .word 0xffd8aa57 808d180: 080d6258 .word 0x080d6258 } else if(menupos == DiagLP_IET) 808d184: 4bc5 ldr r3, [pc, #788] ; (808d49c ) 808d186: 781b ldrb r3, [r3, #0] 808d188: b2db uxtb r3, r3 808d18a: 2b14 cmp r3, #20 808d18c: d15d bne.n 808d24a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d18e: 49c4 ldr r1, [pc, #784] ; (808d4a0 ) 808d190: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d194: f7c8 f83a bl 805520c if(blk) 808d198: 4bc2 ldr r3, [pc, #776] ; (808d4a4 ) 808d19a: 681b ldr r3, [r3, #0] 808d19c: 2b00 cmp r3, #0 808d19e: d00b beq.n 808d1b8 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808d1a0: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808d1a4: b2db uxtb r3, r3 808d1a6: 461a mov r2, r3 808d1a8: 4bbf ldr r3, [pc, #764] ; (808d4a8 ) 808d1aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d1ae: 461a mov r2, r3 808d1b0: 218a movs r1, #138 ; 0x8a 808d1b2: 20d6 movs r0, #214 ; 0xd6 808d1b4: f7c8 fdd2 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d1b8: 49b9 ldr r1, [pc, #740] ; (808d4a0 ) 808d1ba: 48bc ldr r0, [pc, #752] ; (808d4ac ) 808d1bc: f7c8 f826 bl 805520c LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808d1c0: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808d1c4: b2db uxtb r3, r3 808d1c6: 461a mov r2, r3 808d1c8: 4bb7 ldr r3, [pc, #732] ; (808d4a8 ) 808d1ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d1ce: 461a mov r2, r3 808d1d0: 218a movs r1, #138 ; 0x8a 808d1d2: 20c6 movs r0, #198 ; 0xc6 808d1d4: f7c8 fdc2 bl 8055d5c LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808d1d8: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808d1dc: b2db uxtb r3, r3 808d1de: 461a mov r2, r3 808d1e0: 4bb1 ldr r3, [pc, #708] ; (808d4a8 ) 808d1e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d1e6: 461a mov r2, r3 808d1e8: 218a movs r1, #138 ; 0x8a 808d1ea: 20e6 movs r0, #230 ; 0xe6 808d1ec: f7c8 fdb6 bl 8055d5c LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808d1f0: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808d1f4: b2db uxtb r3, r3 808d1f6: 461a mov r2, r3 808d1f8: 4bab ldr r3, [pc, #684] ; (808d4a8 ) 808d1fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d1fe: 461a mov r2, r3 808d200: 218a movs r1, #138 ; 0x8a 808d202: 20f6 movs r0, #246 ; 0xf6 808d204: f7c8 fdaa bl 8055d5c LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808d208: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808d20c: b2db uxtb r3, r3 808d20e: 461a mov r2, r3 808d210: 4ba5 ldr r3, [pc, #660] ; (808d4a8 ) 808d212: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d216: 461a mov r2, r3 808d218: 218a movs r1, #138 ; 0x8a 808d21a: f44f 7083 mov.w r0, #262 ; 0x106 808d21e: f7c8 fd9d bl 8055d5c LCD_DisplayString(278, LCD_LINE_8, "."); 808d222: 4aa3 ldr r2, [pc, #652] ; (808d4b0 ) 808d224: 218a movs r1, #138 ; 0x8a 808d226: f44f 708b mov.w r0, #278 ; 0x116 808d22a: f7c8 fd97 bl 8055d5c LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808d22e: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808d232: b2db uxtb r3, r3 808d234: 461a mov r2, r3 808d236: 4b9c ldr r3, [pc, #624] ; (808d4a8 ) 808d238: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d23c: 461a mov r2, r3 808d23e: 218a movs r1, #138 ; 0x8a 808d240: f44f 7093 mov.w r0, #294 ; 0x126 808d244: f7c8 fd8a bl 8055d5c 808d248: e196 b.n 808d578 } else if(menupos == DiagLP_IES) 808d24a: 4b94 ldr r3, [pc, #592] ; (808d49c ) 808d24c: 781b ldrb r3, [r3, #0] 808d24e: b2db uxtb r3, r3 808d250: 2b15 cmp r3, #21 808d252: d15d bne.n 808d310 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d254: 4992 ldr r1, [pc, #584] ; (808d4a0 ) 808d256: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d25a: f7c7 ffd7 bl 805520c if(blk) 808d25e: 4b91 ldr r3, [pc, #580] ; (808d4a4 ) 808d260: 681b ldr r3, [r3, #0] 808d262: 2b00 cmp r3, #0 808d264: d00b beq.n 808d27e LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808d266: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808d26a: b2db uxtb r3, r3 808d26c: 461a mov r2, r3 808d26e: 4b8e ldr r3, [pc, #568] ; (808d4a8 ) 808d270: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d274: 461a mov r2, r3 808d276: 218a movs r1, #138 ; 0x8a 808d278: 20e6 movs r0, #230 ; 0xe6 808d27a: f7c8 fd6f bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d27e: 4988 ldr r1, [pc, #544] ; (808d4a0 ) 808d280: 488a ldr r0, [pc, #552] ; (808d4ac ) 808d282: f7c7 ffc3 bl 805520c LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808d286: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808d28a: b2db uxtb r3, r3 808d28c: 461a mov r2, r3 808d28e: 4b86 ldr r3, [pc, #536] ; (808d4a8 ) 808d290: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d294: 461a mov r2, r3 808d296: 218a movs r1, #138 ; 0x8a 808d298: 20c6 movs r0, #198 ; 0xc6 808d29a: f7c8 fd5f bl 8055d5c LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808d29e: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808d2a2: b2db uxtb r3, r3 808d2a4: 461a mov r2, r3 808d2a6: 4b80 ldr r3, [pc, #512] ; (808d4a8 ) 808d2a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d2ac: 461a mov r2, r3 808d2ae: 218a movs r1, #138 ; 0x8a 808d2b0: 20d6 movs r0, #214 ; 0xd6 808d2b2: f7c8 fd53 bl 8055d5c LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808d2b6: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808d2ba: b2db uxtb r3, r3 808d2bc: 461a mov r2, r3 808d2be: 4b7a ldr r3, [pc, #488] ; (808d4a8 ) 808d2c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d2c4: 461a mov r2, r3 808d2c6: 218a movs r1, #138 ; 0x8a 808d2c8: 20f6 movs r0, #246 ; 0xf6 808d2ca: f7c8 fd47 bl 8055d5c LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808d2ce: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808d2d2: b2db uxtb r3, r3 808d2d4: 461a mov r2, r3 808d2d6: 4b74 ldr r3, [pc, #464] ; (808d4a8 ) 808d2d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d2dc: 461a mov r2, r3 808d2de: 218a movs r1, #138 ; 0x8a 808d2e0: f44f 7083 mov.w r0, #262 ; 0x106 808d2e4: f7c8 fd3a bl 8055d5c LCD_DisplayString(278, LCD_LINE_8, "."); 808d2e8: 4a71 ldr r2, [pc, #452] ; (808d4b0 ) 808d2ea: 218a movs r1, #138 ; 0x8a 808d2ec: f44f 708b mov.w r0, #278 ; 0x116 808d2f0: f7c8 fd34 bl 8055d5c LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808d2f4: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808d2f8: b2db uxtb r3, r3 808d2fa: 461a mov r2, r3 808d2fc: 4b6a ldr r3, [pc, #424] ; (808d4a8 ) 808d2fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d302: 461a mov r2, r3 808d304: 218a movs r1, #138 ; 0x8a 808d306: f44f 7093 mov.w r0, #294 ; 0x126 808d30a: f7c8 fd27 bl 8055d5c 808d30e: e133 b.n 808d578 } else if(menupos == DiagLP_IED) 808d310: 4b62 ldr r3, [pc, #392] ; (808d49c ) 808d312: 781b ldrb r3, [r3, #0] 808d314: b2db uxtb r3, r3 808d316: 2b16 cmp r3, #22 808d318: d15d bne.n 808d3d6 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d31a: 4961 ldr r1, [pc, #388] ; (808d4a0 ) 808d31c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d320: f7c7 ff74 bl 805520c if(blk) 808d324: 4b5f ldr r3, [pc, #380] ; (808d4a4 ) 808d326: 681b ldr r3, [r3, #0] 808d328: 2b00 cmp r3, #0 808d32a: d00b beq.n 808d344 LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808d32c: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808d330: b2db uxtb r3, r3 808d332: 461a mov r2, r3 808d334: 4b5c ldr r3, [pc, #368] ; (808d4a8 ) 808d336: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d33a: 461a mov r2, r3 808d33c: 218a movs r1, #138 ; 0x8a 808d33e: 20f6 movs r0, #246 ; 0xf6 808d340: f7c8 fd0c bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d344: 4956 ldr r1, [pc, #344] ; (808d4a0 ) 808d346: 4859 ldr r0, [pc, #356] ; (808d4ac ) 808d348: f7c7 ff60 bl 805520c LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808d34c: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808d350: b2db uxtb r3, r3 808d352: 461a mov r2, r3 808d354: 4b54 ldr r3, [pc, #336] ; (808d4a8 ) 808d356: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d35a: 461a mov r2, r3 808d35c: 218a movs r1, #138 ; 0x8a 808d35e: 20c6 movs r0, #198 ; 0xc6 808d360: f7c8 fcfc bl 8055d5c LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808d364: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808d368: b2db uxtb r3, r3 808d36a: 461a mov r2, r3 808d36c: 4b4e ldr r3, [pc, #312] ; (808d4a8 ) 808d36e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d372: 461a mov r2, r3 808d374: 218a movs r1, #138 ; 0x8a 808d376: 20d6 movs r0, #214 ; 0xd6 808d378: f7c8 fcf0 bl 8055d5c LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808d37c: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808d380: b2db uxtb r3, r3 808d382: 461a mov r2, r3 808d384: 4b48 ldr r3, [pc, #288] ; (808d4a8 ) 808d386: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d38a: 461a mov r2, r3 808d38c: 218a movs r1, #138 ; 0x8a 808d38e: 20e6 movs r0, #230 ; 0xe6 808d390: f7c8 fce4 bl 8055d5c LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808d394: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808d398: b2db uxtb r3, r3 808d39a: 461a mov r2, r3 808d39c: 4b42 ldr r3, [pc, #264] ; (808d4a8 ) 808d39e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d3a2: 461a mov r2, r3 808d3a4: 218a movs r1, #138 ; 0x8a 808d3a6: f44f 7083 mov.w r0, #262 ; 0x106 808d3aa: f7c8 fcd7 bl 8055d5c LCD_DisplayString(278, LCD_LINE_8, "."); 808d3ae: 4a40 ldr r2, [pc, #256] ; (808d4b0 ) 808d3b0: 218a movs r1, #138 ; 0x8a 808d3b2: f44f 708b mov.w r0, #278 ; 0x116 808d3b6: f7c8 fcd1 bl 8055d5c LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808d3ba: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808d3be: b2db uxtb r3, r3 808d3c0: 461a mov r2, r3 808d3c2: 4b39 ldr r3, [pc, #228] ; (808d4a8 ) 808d3c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d3c8: 461a mov r2, r3 808d3ca: 218a movs r1, #138 ; 0x8a 808d3cc: f44f 7093 mov.w r0, #294 ; 0x126 808d3d0: f7c8 fcc4 bl 8055d5c 808d3d4: e0d0 b.n 808d578 } else if(menupos == DiagLP_IEE) 808d3d6: 4b31 ldr r3, [pc, #196] ; (808d49c ) 808d3d8: 781b ldrb r3, [r3, #0] 808d3da: b2db uxtb r3, r3 808d3dc: 2b17 cmp r3, #23 808d3de: d169 bne.n 808d4b4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d3e0: 492f ldr r1, [pc, #188] ; (808d4a0 ) 808d3e2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d3e6: f7c7 ff11 bl 805520c if(blk) 808d3ea: 4b2e ldr r3, [pc, #184] ; (808d4a4 ) 808d3ec: 681b ldr r3, [r3, #0] 808d3ee: 2b00 cmp r3, #0 808d3f0: d00c beq.n 808d40c LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808d3f2: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808d3f6: b2db uxtb r3, r3 808d3f8: 461a mov r2, r3 808d3fa: 4b2b ldr r3, [pc, #172] ; (808d4a8 ) 808d3fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d400: 461a mov r2, r3 808d402: 218a movs r1, #138 ; 0x8a 808d404: f44f 7083 mov.w r0, #262 ; 0x106 808d408: f7c8 fca8 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d40c: 4924 ldr r1, [pc, #144] ; (808d4a0 ) 808d40e: 4827 ldr r0, [pc, #156] ; (808d4ac ) 808d410: f7c7 fefc bl 805520c LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808d414: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808d418: b2db uxtb r3, r3 808d41a: 461a mov r2, r3 808d41c: 4b22 ldr r3, [pc, #136] ; (808d4a8 ) 808d41e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d422: 461a mov r2, r3 808d424: 218a movs r1, #138 ; 0x8a 808d426: 20c6 movs r0, #198 ; 0xc6 808d428: f7c8 fc98 bl 8055d5c LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808d42c: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808d430: b2db uxtb r3, r3 808d432: 461a mov r2, r3 808d434: 4b1c ldr r3, [pc, #112] ; (808d4a8 ) 808d436: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d43a: 461a mov r2, r3 808d43c: 218a movs r1, #138 ; 0x8a 808d43e: 20d6 movs r0, #214 ; 0xd6 808d440: f7c8 fc8c bl 8055d5c LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808d444: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808d448: b2db uxtb r3, r3 808d44a: 461a mov r2, r3 808d44c: 4b16 ldr r3, [pc, #88] ; (808d4a8 ) 808d44e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d452: 461a mov r2, r3 808d454: 218a movs r1, #138 ; 0x8a 808d456: 20e6 movs r0, #230 ; 0xe6 808d458: f7c8 fc80 bl 8055d5c LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808d45c: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808d460: b2db uxtb r3, r3 808d462: 461a mov r2, r3 808d464: 4b10 ldr r3, [pc, #64] ; (808d4a8 ) 808d466: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d46a: 461a mov r2, r3 808d46c: 218a movs r1, #138 ; 0x8a 808d46e: 20f6 movs r0, #246 ; 0xf6 808d470: f7c8 fc74 bl 8055d5c LCD_DisplayString(278, LCD_LINE_8, "."); 808d474: 4a0e ldr r2, [pc, #56] ; (808d4b0 ) 808d476: 218a movs r1, #138 ; 0x8a 808d478: f44f 708b mov.w r0, #278 ; 0x116 808d47c: f7c8 fc6e bl 8055d5c LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808d480: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808d484: b2db uxtb r3, r3 808d486: 461a mov r2, r3 808d488: 4b07 ldr r3, [pc, #28] ; (808d4a8 ) 808d48a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d48e: 461a mov r2, r3 808d490: 218a movs r1, #138 ; 0x8a 808d492: f44f 7093 mov.w r0, #294 ; 0x126 808d496: f7c8 fc61 bl 8055d5c 808d49a: e06d b.n 808d578 808d49c: 20020070 .word 0x20020070 808d4a0: ff0a0f1f .word 0xff0a0f1f 808d4a4: 200216ac .word 0x200216ac 808d4a8: 2002096c .word 0x2002096c 808d4ac: ffd8aa57 .word 0xffd8aa57 808d4b0: 080d6258 .word 0x080d6258 } else if(menupos == DiagLP_IKD) 808d4b4: 4bc5 ldr r3, [pc, #788] ; (808d7cc ) 808d4b6: 781b ldrb r3, [r3, #0] 808d4b8: b2db uxtb r3, r3 808d4ba: 2b18 cmp r3, #24 808d4bc: d15c bne.n 808d578 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d4be: 49c4 ldr r1, [pc, #784] ; (808d7d0 ) 808d4c0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d4c4: f7c7 fea2 bl 805520c if(blk) 808d4c8: 4bc2 ldr r3, [pc, #776] ; (808d7d4 ) 808d4ca: 681b ldr r3, [r3, #0] 808d4cc: 2b00 cmp r3, #0 808d4ce: d00c beq.n 808d4ea LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808d4d0: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808d4d4: b2db uxtb r3, r3 808d4d6: 461a mov r2, r3 808d4d8: 4bbf ldr r3, [pc, #764] ; (808d7d8 ) 808d4da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d4de: 461a mov r2, r3 808d4e0: 218a movs r1, #138 ; 0x8a 808d4e2: f44f 7093 mov.w r0, #294 ; 0x126 808d4e6: f7c8 fc39 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d4ea: 49b9 ldr r1, [pc, #740] ; (808d7d0 ) 808d4ec: 48bb ldr r0, [pc, #748] ; (808d7dc ) 808d4ee: f7c7 fe8d bl 805520c LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808d4f2: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808d4f6: b2db uxtb r3, r3 808d4f8: 461a mov r2, r3 808d4fa: 4bb7 ldr r3, [pc, #732] ; (808d7d8 ) 808d4fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d500: 461a mov r2, r3 808d502: 218a movs r1, #138 ; 0x8a 808d504: 20c6 movs r0, #198 ; 0xc6 808d506: f7c8 fc29 bl 8055d5c LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808d50a: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808d50e: b2db uxtb r3, r3 808d510: 461a mov r2, r3 808d512: 4bb1 ldr r3, [pc, #708] ; (808d7d8 ) 808d514: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d518: 461a mov r2, r3 808d51a: 218a movs r1, #138 ; 0x8a 808d51c: 20d6 movs r0, #214 ; 0xd6 808d51e: f7c8 fc1d bl 8055d5c LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808d522: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808d526: b2db uxtb r3, r3 808d528: 461a mov r2, r3 808d52a: 4bab ldr r3, [pc, #684] ; (808d7d8 ) 808d52c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d530: 461a mov r2, r3 808d532: 218a movs r1, #138 ; 0x8a 808d534: 20e6 movs r0, #230 ; 0xe6 808d536: f7c8 fc11 bl 8055d5c LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808d53a: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808d53e: b2db uxtb r3, r3 808d540: 461a mov r2, r3 808d542: 4ba5 ldr r3, [pc, #660] ; (808d7d8 ) 808d544: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d548: 461a mov r2, r3 808d54a: 218a movs r1, #138 ; 0x8a 808d54c: 20f6 movs r0, #246 ; 0xf6 808d54e: f7c8 fc05 bl 8055d5c LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808d552: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808d556: b2db uxtb r3, r3 808d558: 461a mov r2, r3 808d55a: 4b9f ldr r3, [pc, #636] ; (808d7d8 ) 808d55c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d560: 461a mov r2, r3 808d562: 218a movs r1, #138 ; 0x8a 808d564: f44f 7083 mov.w r0, #262 ; 0x106 808d568: f7c8 fbf8 bl 8055d5c LCD_DisplayString(278, LCD_LINE_8, "."); 808d56c: 4a9c ldr r2, [pc, #624] ; (808d7e0 ) 808d56e: 218a movs r1, #138 ; 0x8a 808d570: f44f 708b mov.w r0, #278 ; 0x116 808d574: f7c8 fbf2 bl 8055d5c } //_W if(menupos == DiagW_IDT) 808d578: 4b94 ldr r3, [pc, #592] ; (808d7cc ) 808d57a: 781b ldrb r3, [r3, #0] 808d57c: b2db uxtb r3, r3 808d57e: 2b19 cmp r3, #25 808d580: d15d bne.n 808d63e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d582: 4993 ldr r1, [pc, #588] ; (808d7d0 ) 808d584: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d588: f7c7 fe40 bl 805520c if(blk) 808d58c: 4b91 ldr r3, [pc, #580] ; (808d7d4 ) 808d58e: 681b ldr r3, [r3, #0] 808d590: 2b00 cmp r3, #0 808d592: d00b beq.n 808d5ac LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808d594: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808d598: b2db uxtb r3, r3 808d59a: 461a mov r2, r3 808d59c: 4b8e ldr r3, [pc, #568] ; (808d7d8 ) 808d59e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d5a2: 461a mov r2, r3 808d5a4: 219a movs r1, #154 ; 0x9a 808d5a6: 20c6 movs r0, #198 ; 0xc6 808d5a8: f7c8 fbd8 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d5ac: 4988 ldr r1, [pc, #544] ; (808d7d0 ) 808d5ae: 488b ldr r0, [pc, #556] ; (808d7dc ) 808d5b0: f7c7 fe2c bl 805520c LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808d5b4: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808d5b8: b2db uxtb r3, r3 808d5ba: 461a mov r2, r3 808d5bc: 4b86 ldr r3, [pc, #536] ; (808d7d8 ) 808d5be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d5c2: 461a mov r2, r3 808d5c4: 219a movs r1, #154 ; 0x9a 808d5c6: 20d6 movs r0, #214 ; 0xd6 808d5c8: f7c8 fbc8 bl 8055d5c LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808d5cc: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808d5d0: b2db uxtb r3, r3 808d5d2: 461a mov r2, r3 808d5d4: 4b80 ldr r3, [pc, #512] ; (808d7d8 ) 808d5d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d5da: 461a mov r2, r3 808d5dc: 219a movs r1, #154 ; 0x9a 808d5de: 20e6 movs r0, #230 ; 0xe6 808d5e0: f7c8 fbbc bl 8055d5c LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808d5e4: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808d5e8: b2db uxtb r3, r3 808d5ea: 461a mov r2, r3 808d5ec: 4b7a ldr r3, [pc, #488] ; (808d7d8 ) 808d5ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d5f2: 461a mov r2, r3 808d5f4: 219a movs r1, #154 ; 0x9a 808d5f6: 20f6 movs r0, #246 ; 0xf6 808d5f8: f7c8 fbb0 bl 8055d5c LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808d5fc: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808d600: b2db uxtb r3, r3 808d602: 461a mov r2, r3 808d604: 4b74 ldr r3, [pc, #464] ; (808d7d8 ) 808d606: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d60a: 461a mov r2, r3 808d60c: 219a movs r1, #154 ; 0x9a 808d60e: f44f 7083 mov.w r0, #262 ; 0x106 808d612: f7c8 fba3 bl 8055d5c LCD_DisplayString(278, LCD_LINE_9, "."); 808d616: 4a72 ldr r2, [pc, #456] ; (808d7e0 ) 808d618: 219a movs r1, #154 ; 0x9a 808d61a: f44f 708b mov.w r0, #278 ; 0x116 808d61e: f7c8 fb9d bl 8055d5c LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808d622: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808d626: b2db uxtb r3, r3 808d628: 461a mov r2, r3 808d62a: 4b6b ldr r3, [pc, #428] ; (808d7d8 ) 808d62c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d630: 461a mov r2, r3 808d632: 219a movs r1, #154 ; 0x9a 808d634: f44f 7093 mov.w r0, #294 ; 0x126 808d638: f7c8 fb90 bl 8055d5c 808d63c: e1fa b.n 808da34 } else if(menupos == DiagW_IET) 808d63e: 4b63 ldr r3, [pc, #396] ; (808d7cc ) 808d640: 781b ldrb r3, [r3, #0] 808d642: b2db uxtb r3, r3 808d644: 2b1a cmp r3, #26 808d646: d15d bne.n 808d704 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d648: 4961 ldr r1, [pc, #388] ; (808d7d0 ) 808d64a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d64e: f7c7 fddd bl 805520c if(blk) 808d652: 4b60 ldr r3, [pc, #384] ; (808d7d4 ) 808d654: 681b ldr r3, [r3, #0] 808d656: 2b00 cmp r3, #0 808d658: d00b beq.n 808d672 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808d65a: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808d65e: b2db uxtb r3, r3 808d660: 461a mov r2, r3 808d662: 4b5d ldr r3, [pc, #372] ; (808d7d8 ) 808d664: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d668: 461a mov r2, r3 808d66a: 219a movs r1, #154 ; 0x9a 808d66c: 20d6 movs r0, #214 ; 0xd6 808d66e: f7c8 fb75 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d672: 4957 ldr r1, [pc, #348] ; (808d7d0 ) 808d674: 4859 ldr r0, [pc, #356] ; (808d7dc ) 808d676: f7c7 fdc9 bl 805520c LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808d67a: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808d67e: b2db uxtb r3, r3 808d680: 461a mov r2, r3 808d682: 4b55 ldr r3, [pc, #340] ; (808d7d8 ) 808d684: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d688: 461a mov r2, r3 808d68a: 219a movs r1, #154 ; 0x9a 808d68c: 20c6 movs r0, #198 ; 0xc6 808d68e: f7c8 fb65 bl 8055d5c LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808d692: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808d696: b2db uxtb r3, r3 808d698: 461a mov r2, r3 808d69a: 4b4f ldr r3, [pc, #316] ; (808d7d8 ) 808d69c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d6a0: 461a mov r2, r3 808d6a2: 219a movs r1, #154 ; 0x9a 808d6a4: 20e6 movs r0, #230 ; 0xe6 808d6a6: f7c8 fb59 bl 8055d5c LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808d6aa: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808d6ae: b2db uxtb r3, r3 808d6b0: 461a mov r2, r3 808d6b2: 4b49 ldr r3, [pc, #292] ; (808d7d8 ) 808d6b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d6b8: 461a mov r2, r3 808d6ba: 219a movs r1, #154 ; 0x9a 808d6bc: 20f6 movs r0, #246 ; 0xf6 808d6be: f7c8 fb4d bl 8055d5c LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808d6c2: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808d6c6: b2db uxtb r3, r3 808d6c8: 461a mov r2, r3 808d6ca: 4b43 ldr r3, [pc, #268] ; (808d7d8 ) 808d6cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d6d0: 461a mov r2, r3 808d6d2: 219a movs r1, #154 ; 0x9a 808d6d4: f44f 7083 mov.w r0, #262 ; 0x106 808d6d8: f7c8 fb40 bl 8055d5c LCD_DisplayString(278, LCD_LINE_9, "."); 808d6dc: 4a40 ldr r2, [pc, #256] ; (808d7e0 ) 808d6de: 219a movs r1, #154 ; 0x9a 808d6e0: f44f 708b mov.w r0, #278 ; 0x116 808d6e4: f7c8 fb3a bl 8055d5c LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808d6e8: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808d6ec: b2db uxtb r3, r3 808d6ee: 461a mov r2, r3 808d6f0: 4b39 ldr r3, [pc, #228] ; (808d7d8 ) 808d6f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d6f6: 461a mov r2, r3 808d6f8: 219a movs r1, #154 ; 0x9a 808d6fa: f44f 7093 mov.w r0, #294 ; 0x126 808d6fe: f7c8 fb2d bl 8055d5c 808d702: e197 b.n 808da34 } else if(menupos == DiagW_IES) 808d704: 4b31 ldr r3, [pc, #196] ; (808d7cc ) 808d706: 781b ldrb r3, [r3, #0] 808d708: b2db uxtb r3, r3 808d70a: 2b1b cmp r3, #27 808d70c: d16a bne.n 808d7e4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d70e: 4930 ldr r1, [pc, #192] ; (808d7d0 ) 808d710: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d714: f7c7 fd7a bl 805520c if(blk) 808d718: 4b2e ldr r3, [pc, #184] ; (808d7d4 ) 808d71a: 681b ldr r3, [r3, #0] 808d71c: 2b00 cmp r3, #0 808d71e: d00b beq.n 808d738 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808d720: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808d724: b2db uxtb r3, r3 808d726: 461a mov r2, r3 808d728: 4b2b ldr r3, [pc, #172] ; (808d7d8 ) 808d72a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d72e: 461a mov r2, r3 808d730: 219a movs r1, #154 ; 0x9a 808d732: 20e6 movs r0, #230 ; 0xe6 808d734: f7c8 fb12 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d738: 4925 ldr r1, [pc, #148] ; (808d7d0 ) 808d73a: 4828 ldr r0, [pc, #160] ; (808d7dc ) 808d73c: f7c7 fd66 bl 805520c LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808d740: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808d744: b2db uxtb r3, r3 808d746: 461a mov r2, r3 808d748: 4b23 ldr r3, [pc, #140] ; (808d7d8 ) 808d74a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d74e: 461a mov r2, r3 808d750: 219a movs r1, #154 ; 0x9a 808d752: 20c6 movs r0, #198 ; 0xc6 808d754: f7c8 fb02 bl 8055d5c LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808d758: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808d75c: b2db uxtb r3, r3 808d75e: 461a mov r2, r3 808d760: 4b1d ldr r3, [pc, #116] ; (808d7d8 ) 808d762: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d766: 461a mov r2, r3 808d768: 219a movs r1, #154 ; 0x9a 808d76a: 20d6 movs r0, #214 ; 0xd6 808d76c: f7c8 faf6 bl 8055d5c LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808d770: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808d774: b2db uxtb r3, r3 808d776: 461a mov r2, r3 808d778: 4b17 ldr r3, [pc, #92] ; (808d7d8 ) 808d77a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d77e: 461a mov r2, r3 808d780: 219a movs r1, #154 ; 0x9a 808d782: 20f6 movs r0, #246 ; 0xf6 808d784: f7c8 faea bl 8055d5c LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808d788: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808d78c: b2db uxtb r3, r3 808d78e: 461a mov r2, r3 808d790: 4b11 ldr r3, [pc, #68] ; (808d7d8 ) 808d792: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d796: 461a mov r2, r3 808d798: 219a movs r1, #154 ; 0x9a 808d79a: f44f 7083 mov.w r0, #262 ; 0x106 808d79e: f7c8 fadd bl 8055d5c LCD_DisplayString(278, LCD_LINE_9, "."); 808d7a2: 4a0f ldr r2, [pc, #60] ; (808d7e0 ) 808d7a4: 219a movs r1, #154 ; 0x9a 808d7a6: f44f 708b mov.w r0, #278 ; 0x116 808d7aa: f7c8 fad7 bl 8055d5c LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808d7ae: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808d7b2: b2db uxtb r3, r3 808d7b4: 461a mov r2, r3 808d7b6: 4b08 ldr r3, [pc, #32] ; (808d7d8 ) 808d7b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d7bc: 461a mov r2, r3 808d7be: 219a movs r1, #154 ; 0x9a 808d7c0: f44f 7093 mov.w r0, #294 ; 0x126 808d7c4: f7c8 faca bl 8055d5c 808d7c8: e134 b.n 808da34 808d7ca: bf00 nop 808d7cc: 20020070 .word 0x20020070 808d7d0: ff0a0f1f .word 0xff0a0f1f 808d7d4: 200216ac .word 0x200216ac 808d7d8: 2002096c .word 0x2002096c 808d7dc: ffd8aa57 .word 0xffd8aa57 808d7e0: 080d6258 .word 0x080d6258 } else if(menupos == DiagW_IED) 808d7e4: 4bc5 ldr r3, [pc, #788] ; (808dafc ) 808d7e6: 781b ldrb r3, [r3, #0] 808d7e8: b2db uxtb r3, r3 808d7ea: 2b1c cmp r3, #28 808d7ec: d15d bne.n 808d8aa { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d7ee: 49c4 ldr r1, [pc, #784] ; (808db00 ) 808d7f0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d7f4: f7c7 fd0a bl 805520c if(blk) 808d7f8: 4bc2 ldr r3, [pc, #776] ; (808db04 ) 808d7fa: 681b ldr r3, [r3, #0] 808d7fc: 2b00 cmp r3, #0 808d7fe: d00b beq.n 808d818 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808d800: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808d804: b2db uxtb r3, r3 808d806: 461a mov r2, r3 808d808: 4bbf ldr r3, [pc, #764] ; (808db08 ) 808d80a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d80e: 461a mov r2, r3 808d810: 219a movs r1, #154 ; 0x9a 808d812: 20f6 movs r0, #246 ; 0xf6 808d814: f7c8 faa2 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d818: 49b9 ldr r1, [pc, #740] ; (808db00 ) 808d81a: 48bc ldr r0, [pc, #752] ; (808db0c ) 808d81c: f7c7 fcf6 bl 805520c LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808d820: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808d824: b2db uxtb r3, r3 808d826: 461a mov r2, r3 808d828: 4bb7 ldr r3, [pc, #732] ; (808db08 ) 808d82a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d82e: 461a mov r2, r3 808d830: 219a movs r1, #154 ; 0x9a 808d832: 20c6 movs r0, #198 ; 0xc6 808d834: f7c8 fa92 bl 8055d5c LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808d838: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808d83c: b2db uxtb r3, r3 808d83e: 461a mov r2, r3 808d840: 4bb1 ldr r3, [pc, #708] ; (808db08 ) 808d842: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d846: 461a mov r2, r3 808d848: 219a movs r1, #154 ; 0x9a 808d84a: 20d6 movs r0, #214 ; 0xd6 808d84c: f7c8 fa86 bl 8055d5c LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808d850: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808d854: b2db uxtb r3, r3 808d856: 461a mov r2, r3 808d858: 4bab ldr r3, [pc, #684] ; (808db08 ) 808d85a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d85e: 461a mov r2, r3 808d860: 219a movs r1, #154 ; 0x9a 808d862: 20e6 movs r0, #230 ; 0xe6 808d864: f7c8 fa7a bl 8055d5c LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808d868: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808d86c: b2db uxtb r3, r3 808d86e: 461a mov r2, r3 808d870: 4ba5 ldr r3, [pc, #660] ; (808db08 ) 808d872: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d876: 461a mov r2, r3 808d878: 219a movs r1, #154 ; 0x9a 808d87a: f44f 7083 mov.w r0, #262 ; 0x106 808d87e: f7c8 fa6d bl 8055d5c LCD_DisplayString(278, LCD_LINE_9, "."); 808d882: 4aa3 ldr r2, [pc, #652] ; (808db10 ) 808d884: 219a movs r1, #154 ; 0x9a 808d886: f44f 708b mov.w r0, #278 ; 0x116 808d88a: f7c8 fa67 bl 8055d5c LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808d88e: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808d892: b2db uxtb r3, r3 808d894: 461a mov r2, r3 808d896: 4b9c ldr r3, [pc, #624] ; (808db08 ) 808d898: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d89c: 461a mov r2, r3 808d89e: 219a movs r1, #154 ; 0x9a 808d8a0: f44f 7093 mov.w r0, #294 ; 0x126 808d8a4: f7c8 fa5a bl 8055d5c 808d8a8: e0c4 b.n 808da34 } else if(menupos == DiagW_IEE) 808d8aa: 4b94 ldr r3, [pc, #592] ; (808dafc ) 808d8ac: 781b ldrb r3, [r3, #0] 808d8ae: b2db uxtb r3, r3 808d8b0: 2b1d cmp r3, #29 808d8b2: d15d bne.n 808d970 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d8b4: 4992 ldr r1, [pc, #584] ; (808db00 ) 808d8b6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d8ba: f7c7 fca7 bl 805520c if(blk) 808d8be: 4b91 ldr r3, [pc, #580] ; (808db04 ) 808d8c0: 681b ldr r3, [r3, #0] 808d8c2: 2b00 cmp r3, #0 808d8c4: d00c beq.n 808d8e0 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808d8c6: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808d8ca: b2db uxtb r3, r3 808d8cc: 461a mov r2, r3 808d8ce: 4b8e ldr r3, [pc, #568] ; (808db08 ) 808d8d0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d8d4: 461a mov r2, r3 808d8d6: 219a movs r1, #154 ; 0x9a 808d8d8: f44f 7083 mov.w r0, #262 ; 0x106 808d8dc: f7c8 fa3e bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d8e0: 4987 ldr r1, [pc, #540] ; (808db00 ) 808d8e2: 488a ldr r0, [pc, #552] ; (808db0c ) 808d8e4: f7c7 fc92 bl 805520c LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808d8e8: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808d8ec: b2db uxtb r3, r3 808d8ee: 461a mov r2, r3 808d8f0: 4b85 ldr r3, [pc, #532] ; (808db08 ) 808d8f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d8f6: 461a mov r2, r3 808d8f8: 219a movs r1, #154 ; 0x9a 808d8fa: 20c6 movs r0, #198 ; 0xc6 808d8fc: f7c8 fa2e bl 8055d5c LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808d900: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808d904: b2db uxtb r3, r3 808d906: 461a mov r2, r3 808d908: 4b7f ldr r3, [pc, #508] ; (808db08 ) 808d90a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d90e: 461a mov r2, r3 808d910: 219a movs r1, #154 ; 0x9a 808d912: 20d6 movs r0, #214 ; 0xd6 808d914: f7c8 fa22 bl 8055d5c LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808d918: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808d91c: b2db uxtb r3, r3 808d91e: 461a mov r2, r3 808d920: 4b79 ldr r3, [pc, #484] ; (808db08 ) 808d922: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d926: 461a mov r2, r3 808d928: 219a movs r1, #154 ; 0x9a 808d92a: 20e6 movs r0, #230 ; 0xe6 808d92c: f7c8 fa16 bl 8055d5c LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808d930: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808d934: b2db uxtb r3, r3 808d936: 461a mov r2, r3 808d938: 4b73 ldr r3, [pc, #460] ; (808db08 ) 808d93a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d93e: 461a mov r2, r3 808d940: 219a movs r1, #154 ; 0x9a 808d942: 20f6 movs r0, #246 ; 0xf6 808d944: f7c8 fa0a bl 8055d5c LCD_DisplayString(278, LCD_LINE_9, "."); 808d948: 4a71 ldr r2, [pc, #452] ; (808db10 ) 808d94a: 219a movs r1, #154 ; 0x9a 808d94c: f44f 708b mov.w r0, #278 ; 0x116 808d950: f7c8 fa04 bl 8055d5c LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808d954: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808d958: b2db uxtb r3, r3 808d95a: 461a mov r2, r3 808d95c: 4b6a ldr r3, [pc, #424] ; (808db08 ) 808d95e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d962: 461a mov r2, r3 808d964: 219a movs r1, #154 ; 0x9a 808d966: f44f 7093 mov.w r0, #294 ; 0x126 808d96a: f7c8 f9f7 bl 8055d5c 808d96e: e061 b.n 808da34 } else if(menupos == DiagW_IKD) 808d970: 4b62 ldr r3, [pc, #392] ; (808dafc ) 808d972: 781b ldrb r3, [r3, #0] 808d974: b2db uxtb r3, r3 808d976: 2b1e cmp r3, #30 808d978: d15c bne.n 808da34 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d97a: 4961 ldr r1, [pc, #388] ; (808db00 ) 808d97c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d980: f7c7 fc44 bl 805520c if(blk) 808d984: 4b5f ldr r3, [pc, #380] ; (808db04 ) 808d986: 681b ldr r3, [r3, #0] 808d988: 2b00 cmp r3, #0 808d98a: d00c beq.n 808d9a6 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808d98c: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808d990: b2db uxtb r3, r3 808d992: 461a mov r2, r3 808d994: 4b5c ldr r3, [pc, #368] ; (808db08 ) 808d996: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d99a: 461a mov r2, r3 808d99c: 219a movs r1, #154 ; 0x9a 808d99e: f44f 7093 mov.w r0, #294 ; 0x126 808d9a2: f7c8 f9db bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d9a6: 4956 ldr r1, [pc, #344] ; (808db00 ) 808d9a8: 4858 ldr r0, [pc, #352] ; (808db0c ) 808d9aa: f7c7 fc2f bl 805520c LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808d9ae: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808d9b2: b2db uxtb r3, r3 808d9b4: 461a mov r2, r3 808d9b6: 4b54 ldr r3, [pc, #336] ; (808db08 ) 808d9b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d9bc: 461a mov r2, r3 808d9be: 219a movs r1, #154 ; 0x9a 808d9c0: 20c6 movs r0, #198 ; 0xc6 808d9c2: f7c8 f9cb bl 8055d5c LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808d9c6: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808d9ca: b2db uxtb r3, r3 808d9cc: 461a mov r2, r3 808d9ce: 4b4e ldr r3, [pc, #312] ; (808db08 ) 808d9d0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d9d4: 461a mov r2, r3 808d9d6: 219a movs r1, #154 ; 0x9a 808d9d8: 20d6 movs r0, #214 ; 0xd6 808d9da: f7c8 f9bf bl 8055d5c LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808d9de: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808d9e2: b2db uxtb r3, r3 808d9e4: 461a mov r2, r3 808d9e6: 4b48 ldr r3, [pc, #288] ; (808db08 ) 808d9e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d9ec: 461a mov r2, r3 808d9ee: 219a movs r1, #154 ; 0x9a 808d9f0: 20e6 movs r0, #230 ; 0xe6 808d9f2: f7c8 f9b3 bl 8055d5c LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808d9f6: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808d9fa: b2db uxtb r3, r3 808d9fc: 461a mov r2, r3 808d9fe: 4b42 ldr r3, [pc, #264] ; (808db08 ) 808da00: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808da04: 461a mov r2, r3 808da06: 219a movs r1, #154 ; 0x9a 808da08: 20f6 movs r0, #246 ; 0xf6 808da0a: f7c8 f9a7 bl 8055d5c LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808da0e: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808da12: b2db uxtb r3, r3 808da14: 461a mov r2, r3 808da16: 4b3c ldr r3, [pc, #240] ; (808db08 ) 808da18: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808da1c: 461a mov r2, r3 808da1e: 219a movs r1, #154 ; 0x9a 808da20: f44f 7083 mov.w r0, #262 ; 0x106 808da24: f7c8 f99a bl 8055d5c LCD_DisplayString(278, LCD_LINE_9, "."); 808da28: 4a39 ldr r2, [pc, #228] ; (808db10 ) 808da2a: 219a movs r1, #154 ; 0x9a 808da2c: f44f 708b mov.w r0, #278 ; 0x116 808da30: f7c8 f994 bl 8055d5c } //_A if(menupos == DiagA_IDT) 808da34: 4b31 ldr r3, [pc, #196] ; (808dafc ) 808da36: 781b ldrb r3, [r3, #0] 808da38: b2db uxtb r3, r3 808da3a: 2b1f cmp r3, #31 808da3c: d16a bne.n 808db14 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808da3e: 4930 ldr r1, [pc, #192] ; (808db00 ) 808da40: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808da44: f7c7 fbe2 bl 805520c if(blk) 808da48: 4b2e ldr r3, [pc, #184] ; (808db04 ) 808da4a: 681b ldr r3, [r3, #0] 808da4c: 2b00 cmp r3, #0 808da4e: d00b beq.n 808da68 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808da50: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808da54: b2db uxtb r3, r3 808da56: 461a mov r2, r3 808da58: 4b2b ldr r3, [pc, #172] ; (808db08 ) 808da5a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808da5e: 461a mov r2, r3 808da60: 21aa movs r1, #170 ; 0xaa 808da62: 20c6 movs r0, #198 ; 0xc6 808da64: f7c8 f97a bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808da68: 4925 ldr r1, [pc, #148] ; (808db00 ) 808da6a: 4828 ldr r0, [pc, #160] ; (808db0c ) 808da6c: f7c7 fbce bl 805520c LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808da70: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808da74: b2db uxtb r3, r3 808da76: 461a mov r2, r3 808da78: 4b23 ldr r3, [pc, #140] ; (808db08 ) 808da7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808da7e: 461a mov r2, r3 808da80: 21aa movs r1, #170 ; 0xaa 808da82: 20d6 movs r0, #214 ; 0xd6 808da84: f7c8 f96a bl 8055d5c LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808da88: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808da8c: b2db uxtb r3, r3 808da8e: 461a mov r2, r3 808da90: 4b1d ldr r3, [pc, #116] ; (808db08 ) 808da92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808da96: 461a mov r2, r3 808da98: 21aa movs r1, #170 ; 0xaa 808da9a: 20e6 movs r0, #230 ; 0xe6 808da9c: f7c8 f95e bl 8055d5c LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808daa0: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808daa4: b2db uxtb r3, r3 808daa6: 461a mov r2, r3 808daa8: 4b17 ldr r3, [pc, #92] ; (808db08 ) 808daaa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808daae: 461a mov r2, r3 808dab0: 21aa movs r1, #170 ; 0xaa 808dab2: 20f6 movs r0, #246 ; 0xf6 808dab4: f7c8 f952 bl 8055d5c LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808dab8: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808dabc: b2db uxtb r3, r3 808dabe: 461a mov r2, r3 808dac0: 4b11 ldr r3, [pc, #68] ; (808db08 ) 808dac2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dac6: 461a mov r2, r3 808dac8: 21aa movs r1, #170 ; 0xaa 808daca: f44f 7083 mov.w r0, #262 ; 0x106 808dace: f7c8 f945 bl 8055d5c LCD_DisplayString(278, LCD_LINE_10, "."); 808dad2: 4a0f ldr r2, [pc, #60] ; (808db10 ) 808dad4: 21aa movs r1, #170 ; 0xaa 808dad6: f44f 708b mov.w r0, #278 ; 0x116 808dada: f7c8 f93f bl 8055d5c LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808dade: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808dae2: b2db uxtb r3, r3 808dae4: 461a mov r2, r3 808dae6: 4b08 ldr r3, [pc, #32] ; (808db08 ) 808dae8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808daec: 461a mov r2, r3 808daee: 21aa movs r1, #170 ; 0xaa 808daf0: f44f 7093 mov.w r0, #294 ; 0x126 808daf4: f7c8 f932 bl 8055d5c 808daf8: e206 b.n 808df08 808dafa: bf00 nop 808dafc: 20020070 .word 0x20020070 808db00: ff0a0f1f .word 0xff0a0f1f 808db04: 200216ac .word 0x200216ac 808db08: 2002096c .word 0x2002096c 808db0c: ffd8aa57 .word 0xffd8aa57 808db10: 080d6258 .word 0x080d6258 } else if(menupos == DiagA_IET) 808db14: 4bc5 ldr r3, [pc, #788] ; (808de2c ) 808db16: 781b ldrb r3, [r3, #0] 808db18: b2db uxtb r3, r3 808db1a: 2b20 cmp r3, #32 808db1c: d15d bne.n 808dbda { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808db1e: 49c4 ldr r1, [pc, #784] ; (808de30 ) 808db20: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808db24: f7c7 fb72 bl 805520c if(blk) 808db28: 4bc2 ldr r3, [pc, #776] ; (808de34 ) 808db2a: 681b ldr r3, [r3, #0] 808db2c: 2b00 cmp r3, #0 808db2e: d00b beq.n 808db48 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808db30: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808db34: b2db uxtb r3, r3 808db36: 461a mov r2, r3 808db38: 4bbf ldr r3, [pc, #764] ; (808de38 ) 808db3a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808db3e: 461a mov r2, r3 808db40: 21aa movs r1, #170 ; 0xaa 808db42: 20d6 movs r0, #214 ; 0xd6 808db44: f7c8 f90a bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808db48: 49b9 ldr r1, [pc, #740] ; (808de30 ) 808db4a: 48bc ldr r0, [pc, #752] ; (808de3c ) 808db4c: f7c7 fb5e bl 805520c LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808db50: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808db54: b2db uxtb r3, r3 808db56: 461a mov r2, r3 808db58: 4bb7 ldr r3, [pc, #732] ; (808de38 ) 808db5a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808db5e: 461a mov r2, r3 808db60: 21aa movs r1, #170 ; 0xaa 808db62: 20c6 movs r0, #198 ; 0xc6 808db64: f7c8 f8fa bl 8055d5c LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808db68: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808db6c: b2db uxtb r3, r3 808db6e: 461a mov r2, r3 808db70: 4bb1 ldr r3, [pc, #708] ; (808de38 ) 808db72: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808db76: 461a mov r2, r3 808db78: 21aa movs r1, #170 ; 0xaa 808db7a: 20e6 movs r0, #230 ; 0xe6 808db7c: f7c8 f8ee bl 8055d5c LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808db80: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808db84: b2db uxtb r3, r3 808db86: 461a mov r2, r3 808db88: 4bab ldr r3, [pc, #684] ; (808de38 ) 808db8a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808db8e: 461a mov r2, r3 808db90: 21aa movs r1, #170 ; 0xaa 808db92: 20f6 movs r0, #246 ; 0xf6 808db94: f7c8 f8e2 bl 8055d5c LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808db98: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808db9c: b2db uxtb r3, r3 808db9e: 461a mov r2, r3 808dba0: 4ba5 ldr r3, [pc, #660] ; (808de38 ) 808dba2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dba6: 461a mov r2, r3 808dba8: 21aa movs r1, #170 ; 0xaa 808dbaa: f44f 7083 mov.w r0, #262 ; 0x106 808dbae: f7c8 f8d5 bl 8055d5c LCD_DisplayString(278, LCD_LINE_10, "."); 808dbb2: 4aa3 ldr r2, [pc, #652] ; (808de40 ) 808dbb4: 21aa movs r1, #170 ; 0xaa 808dbb6: f44f 708b mov.w r0, #278 ; 0x116 808dbba: f7c8 f8cf bl 8055d5c LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808dbbe: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808dbc2: b2db uxtb r3, r3 808dbc4: 461a mov r2, r3 808dbc6: 4b9c ldr r3, [pc, #624] ; (808de38 ) 808dbc8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dbcc: 461a mov r2, r3 808dbce: 21aa movs r1, #170 ; 0xaa 808dbd0: f44f 7093 mov.w r0, #294 ; 0x126 808dbd4: f7c8 f8c2 bl 8055d5c 808dbd8: e196 b.n 808df08 } else if(menupos == DiagA_IES) 808dbda: 4b94 ldr r3, [pc, #592] ; (808de2c ) 808dbdc: 781b ldrb r3, [r3, #0] 808dbde: b2db uxtb r3, r3 808dbe0: 2b21 cmp r3, #33 ; 0x21 808dbe2: d15d bne.n 808dca0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808dbe4: 4992 ldr r1, [pc, #584] ; (808de30 ) 808dbe6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808dbea: f7c7 fb0f bl 805520c if(blk) 808dbee: 4b91 ldr r3, [pc, #580] ; (808de34 ) 808dbf0: 681b ldr r3, [r3, #0] 808dbf2: 2b00 cmp r3, #0 808dbf4: d00b beq.n 808dc0e LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808dbf6: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808dbfa: b2db uxtb r3, r3 808dbfc: 461a mov r2, r3 808dbfe: 4b8e ldr r3, [pc, #568] ; (808de38 ) 808dc00: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dc04: 461a mov r2, r3 808dc06: 21aa movs r1, #170 ; 0xaa 808dc08: 20e6 movs r0, #230 ; 0xe6 808dc0a: f7c8 f8a7 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808dc0e: 4988 ldr r1, [pc, #544] ; (808de30 ) 808dc10: 488a ldr r0, [pc, #552] ; (808de3c ) 808dc12: f7c7 fafb bl 805520c LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808dc16: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808dc1a: b2db uxtb r3, r3 808dc1c: 461a mov r2, r3 808dc1e: 4b86 ldr r3, [pc, #536] ; (808de38 ) 808dc20: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dc24: 461a mov r2, r3 808dc26: 21aa movs r1, #170 ; 0xaa 808dc28: 20c6 movs r0, #198 ; 0xc6 808dc2a: f7c8 f897 bl 8055d5c LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808dc2e: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808dc32: b2db uxtb r3, r3 808dc34: 461a mov r2, r3 808dc36: 4b80 ldr r3, [pc, #512] ; (808de38 ) 808dc38: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dc3c: 461a mov r2, r3 808dc3e: 21aa movs r1, #170 ; 0xaa 808dc40: 20d6 movs r0, #214 ; 0xd6 808dc42: f7c8 f88b bl 8055d5c LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808dc46: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808dc4a: b2db uxtb r3, r3 808dc4c: 461a mov r2, r3 808dc4e: 4b7a ldr r3, [pc, #488] ; (808de38 ) 808dc50: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dc54: 461a mov r2, r3 808dc56: 21aa movs r1, #170 ; 0xaa 808dc58: 20f6 movs r0, #246 ; 0xf6 808dc5a: f7c8 f87f bl 8055d5c LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808dc5e: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808dc62: b2db uxtb r3, r3 808dc64: 461a mov r2, r3 808dc66: 4b74 ldr r3, [pc, #464] ; (808de38 ) 808dc68: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dc6c: 461a mov r2, r3 808dc6e: 21aa movs r1, #170 ; 0xaa 808dc70: f44f 7083 mov.w r0, #262 ; 0x106 808dc74: f7c8 f872 bl 8055d5c LCD_DisplayString(278, LCD_LINE_10, "."); 808dc78: 4a71 ldr r2, [pc, #452] ; (808de40 ) 808dc7a: 21aa movs r1, #170 ; 0xaa 808dc7c: f44f 708b mov.w r0, #278 ; 0x116 808dc80: f7c8 f86c bl 8055d5c LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808dc84: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808dc88: b2db uxtb r3, r3 808dc8a: 461a mov r2, r3 808dc8c: 4b6a ldr r3, [pc, #424] ; (808de38 ) 808dc8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dc92: 461a mov r2, r3 808dc94: 21aa movs r1, #170 ; 0xaa 808dc96: f44f 7093 mov.w r0, #294 ; 0x126 808dc9a: f7c8 f85f bl 8055d5c 808dc9e: e133 b.n 808df08 } else if(menupos == DiagA_IED) 808dca0: 4b62 ldr r3, [pc, #392] ; (808de2c ) 808dca2: 781b ldrb r3, [r3, #0] 808dca4: b2db uxtb r3, r3 808dca6: 2b22 cmp r3, #34 ; 0x22 808dca8: d15d bne.n 808dd66 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808dcaa: 4961 ldr r1, [pc, #388] ; (808de30 ) 808dcac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808dcb0: f7c7 faac bl 805520c if(blk) 808dcb4: 4b5f ldr r3, [pc, #380] ; (808de34 ) 808dcb6: 681b ldr r3, [r3, #0] 808dcb8: 2b00 cmp r3, #0 808dcba: d00b beq.n 808dcd4 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808dcbc: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808dcc0: b2db uxtb r3, r3 808dcc2: 461a mov r2, r3 808dcc4: 4b5c ldr r3, [pc, #368] ; (808de38 ) 808dcc6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dcca: 461a mov r2, r3 808dccc: 21aa movs r1, #170 ; 0xaa 808dcce: 20f6 movs r0, #246 ; 0xf6 808dcd0: f7c8 f844 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808dcd4: 4956 ldr r1, [pc, #344] ; (808de30 ) 808dcd6: 4859 ldr r0, [pc, #356] ; (808de3c ) 808dcd8: f7c7 fa98 bl 805520c LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808dcdc: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808dce0: b2db uxtb r3, r3 808dce2: 461a mov r2, r3 808dce4: 4b54 ldr r3, [pc, #336] ; (808de38 ) 808dce6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dcea: 461a mov r2, r3 808dcec: 21aa movs r1, #170 ; 0xaa 808dcee: 20c6 movs r0, #198 ; 0xc6 808dcf0: f7c8 f834 bl 8055d5c LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808dcf4: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808dcf8: b2db uxtb r3, r3 808dcfa: 461a mov r2, r3 808dcfc: 4b4e ldr r3, [pc, #312] ; (808de38 ) 808dcfe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dd02: 461a mov r2, r3 808dd04: 21aa movs r1, #170 ; 0xaa 808dd06: 20d6 movs r0, #214 ; 0xd6 808dd08: f7c8 f828 bl 8055d5c LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808dd0c: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808dd10: b2db uxtb r3, r3 808dd12: 461a mov r2, r3 808dd14: 4b48 ldr r3, [pc, #288] ; (808de38 ) 808dd16: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dd1a: 461a mov r2, r3 808dd1c: 21aa movs r1, #170 ; 0xaa 808dd1e: 20e6 movs r0, #230 ; 0xe6 808dd20: f7c8 f81c bl 8055d5c LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808dd24: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808dd28: b2db uxtb r3, r3 808dd2a: 461a mov r2, r3 808dd2c: 4b42 ldr r3, [pc, #264] ; (808de38 ) 808dd2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dd32: 461a mov r2, r3 808dd34: 21aa movs r1, #170 ; 0xaa 808dd36: f44f 7083 mov.w r0, #262 ; 0x106 808dd3a: f7c8 f80f bl 8055d5c LCD_DisplayString(278, LCD_LINE_10, "."); 808dd3e: 4a40 ldr r2, [pc, #256] ; (808de40 ) 808dd40: 21aa movs r1, #170 ; 0xaa 808dd42: f44f 708b mov.w r0, #278 ; 0x116 808dd46: f7c8 f809 bl 8055d5c LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808dd4a: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808dd4e: b2db uxtb r3, r3 808dd50: 461a mov r2, r3 808dd52: 4b39 ldr r3, [pc, #228] ; (808de38 ) 808dd54: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dd58: 461a mov r2, r3 808dd5a: 21aa movs r1, #170 ; 0xaa 808dd5c: f44f 7093 mov.w r0, #294 ; 0x126 808dd60: f7c7 fffc bl 8055d5c 808dd64: e0d0 b.n 808df08 } else if(menupos == DiagA_IEE) 808dd66: 4b31 ldr r3, [pc, #196] ; (808de2c ) 808dd68: 781b ldrb r3, [r3, #0] 808dd6a: b2db uxtb r3, r3 808dd6c: 2b23 cmp r3, #35 ; 0x23 808dd6e: d169 bne.n 808de44 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808dd70: 492f ldr r1, [pc, #188] ; (808de30 ) 808dd72: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808dd76: f7c7 fa49 bl 805520c if(blk) 808dd7a: 4b2e ldr r3, [pc, #184] ; (808de34 ) 808dd7c: 681b ldr r3, [r3, #0] 808dd7e: 2b00 cmp r3, #0 808dd80: d00c beq.n 808dd9c LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808dd82: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808dd86: b2db uxtb r3, r3 808dd88: 461a mov r2, r3 808dd8a: 4b2b ldr r3, [pc, #172] ; (808de38 ) 808dd8c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dd90: 461a mov r2, r3 808dd92: 21aa movs r1, #170 ; 0xaa 808dd94: f44f 7083 mov.w r0, #262 ; 0x106 808dd98: f7c7 ffe0 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808dd9c: 4924 ldr r1, [pc, #144] ; (808de30 ) 808dd9e: 4827 ldr r0, [pc, #156] ; (808de3c ) 808dda0: f7c7 fa34 bl 805520c LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808dda4: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808dda8: b2db uxtb r3, r3 808ddaa: 461a mov r2, r3 808ddac: 4b22 ldr r3, [pc, #136] ; (808de38 ) 808ddae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ddb2: 461a mov r2, r3 808ddb4: 21aa movs r1, #170 ; 0xaa 808ddb6: 20c6 movs r0, #198 ; 0xc6 808ddb8: f7c7 ffd0 bl 8055d5c LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808ddbc: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808ddc0: b2db uxtb r3, r3 808ddc2: 461a mov r2, r3 808ddc4: 4b1c ldr r3, [pc, #112] ; (808de38 ) 808ddc6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ddca: 461a mov r2, r3 808ddcc: 21aa movs r1, #170 ; 0xaa 808ddce: 20d6 movs r0, #214 ; 0xd6 808ddd0: f7c7 ffc4 bl 8055d5c LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808ddd4: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808ddd8: b2db uxtb r3, r3 808ddda: 461a mov r2, r3 808dddc: 4b16 ldr r3, [pc, #88] ; (808de38 ) 808ddde: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dde2: 461a mov r2, r3 808dde4: 21aa movs r1, #170 ; 0xaa 808dde6: 20e6 movs r0, #230 ; 0xe6 808dde8: f7c7 ffb8 bl 8055d5c LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808ddec: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808ddf0: b2db uxtb r3, r3 808ddf2: 461a mov r2, r3 808ddf4: 4b10 ldr r3, [pc, #64] ; (808de38 ) 808ddf6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ddfa: 461a mov r2, r3 808ddfc: 21aa movs r1, #170 ; 0xaa 808ddfe: 20f6 movs r0, #246 ; 0xf6 808de00: f7c7 ffac bl 8055d5c LCD_DisplayString(278, LCD_LINE_10, "."); 808de04: 4a0e ldr r2, [pc, #56] ; (808de40 ) 808de06: 21aa movs r1, #170 ; 0xaa 808de08: f44f 708b mov.w r0, #278 ; 0x116 808de0c: f7c7 ffa6 bl 8055d5c LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808de10: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808de14: b2db uxtb r3, r3 808de16: 461a mov r2, r3 808de18: 4b07 ldr r3, [pc, #28] ; (808de38 ) 808de1a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808de1e: 461a mov r2, r3 808de20: 21aa movs r1, #170 ; 0xaa 808de22: f44f 7093 mov.w r0, #294 ; 0x126 808de26: f7c7 ff99 bl 8055d5c 808de2a: e06d b.n 808df08 808de2c: 20020070 .word 0x20020070 808de30: ff0a0f1f .word 0xff0a0f1f 808de34: 200216ac .word 0x200216ac 808de38: 2002096c .word 0x2002096c 808de3c: ffd8aa57 .word 0xffd8aa57 808de40: 080d6258 .word 0x080d6258 } else if(menupos == DiagA_IKD) 808de44: 4b92 ldr r3, [pc, #584] ; (808e090 ) 808de46: 781b ldrb r3, [r3, #0] 808de48: b2db uxtb r3, r3 808de4a: 2b24 cmp r3, #36 ; 0x24 808de4c: d15c bne.n 808df08 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808de4e: 4991 ldr r1, [pc, #580] ; (808e094 ) 808de50: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808de54: f7c7 f9da bl 805520c if(blk) 808de58: 4b8f ldr r3, [pc, #572] ; (808e098 ) 808de5a: 681b ldr r3, [r3, #0] 808de5c: 2b00 cmp r3, #0 808de5e: d00c beq.n 808de7a LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808de60: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808de64: b2db uxtb r3, r3 808de66: 461a mov r2, r3 808de68: 4b8c ldr r3, [pc, #560] ; (808e09c ) 808de6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808de6e: 461a mov r2, r3 808de70: 21aa movs r1, #170 ; 0xaa 808de72: f44f 7093 mov.w r0, #294 ; 0x126 808de76: f7c7 ff71 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808de7a: 4986 ldr r1, [pc, #536] ; (808e094 ) 808de7c: 4888 ldr r0, [pc, #544] ; (808e0a0 ) 808de7e: f7c7 f9c5 bl 805520c LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808de82: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808de86: b2db uxtb r3, r3 808de88: 461a mov r2, r3 808de8a: 4b84 ldr r3, [pc, #528] ; (808e09c ) 808de8c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808de90: 461a mov r2, r3 808de92: 21aa movs r1, #170 ; 0xaa 808de94: 20c6 movs r0, #198 ; 0xc6 808de96: f7c7 ff61 bl 8055d5c LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808de9a: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808de9e: b2db uxtb r3, r3 808dea0: 461a mov r2, r3 808dea2: 4b7e ldr r3, [pc, #504] ; (808e09c ) 808dea4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dea8: 461a mov r2, r3 808deaa: 21aa movs r1, #170 ; 0xaa 808deac: 20d6 movs r0, #214 ; 0xd6 808deae: f7c7 ff55 bl 8055d5c LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808deb2: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808deb6: b2db uxtb r3, r3 808deb8: 461a mov r2, r3 808deba: 4b78 ldr r3, [pc, #480] ; (808e09c ) 808debc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dec0: 461a mov r2, r3 808dec2: 21aa movs r1, #170 ; 0xaa 808dec4: 20e6 movs r0, #230 ; 0xe6 808dec6: f7c7 ff49 bl 8055d5c LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808deca: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808dece: b2db uxtb r3, r3 808ded0: 461a mov r2, r3 808ded2: 4b72 ldr r3, [pc, #456] ; (808e09c ) 808ded4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ded8: 461a mov r2, r3 808deda: 21aa movs r1, #170 ; 0xaa 808dedc: 20f6 movs r0, #246 ; 0xf6 808dede: f7c7 ff3d bl 8055d5c LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808dee2: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808dee6: b2db uxtb r3, r3 808dee8: 461a mov r2, r3 808deea: 4b6c ldr r3, [pc, #432] ; (808e09c ) 808deec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808def0: 461a mov r2, r3 808def2: 21aa movs r1, #170 ; 0xaa 808def4: f44f 7083 mov.w r0, #262 ; 0x106 808def8: f7c7 ff30 bl 8055d5c LCD_DisplayString(278, LCD_LINE_10, "."); 808defc: 4a69 ldr r2, [pc, #420] ; (808e0a4 ) 808defe: 21aa movs r1, #170 ; 0xaa 808df00: f44f 708b mov.w r0, #278 ; 0x116 808df04: f7c7 ff2a bl 8055d5c // if((menupos < DiagHP_IDT) || (menupos > DiagHP_IKD)) 808df08: 4b61 ldr r3, [pc, #388] ; (808e090 ) 808df0a: 781b ldrb r3, [r3, #0] 808df0c: b2db uxtb r3, r3 808df0e: 2b0c cmp r3, #12 808df10: d905 bls.n 808df1e 808df12: 4b5f ldr r3, [pc, #380] ; (808e090 ) 808df14: 781b ldrb r3, [r3, #0] 808df16: b2db uxtb r3, r3 808df18: 2b12 cmp r3, #18 808df1a: f240 80da bls.w 808e0d2 { ///////// i = 0; 808df1e: 2300 movs r3, #0 808df20: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808df24: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808df28: 223c movs r2, #60 ; 0x3c 808df2a: 2100 movs r1, #0 808df2c: 4618 mov r0, r3 808df2e: f044 f839 bl 80d1fa4 if(idtHP != 0) 808df32: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808df36: b2db uxtb r3, r3 808df38: 2b00 cmp r3, #0 808df3a: d00c beq.n 808df56 str2[i++] = idtHP + 48; 808df3c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808df40: 1c5a adds r2, r3, #1 808df42: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808df46: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 808df4a: b2d2 uxtb r2, r2 808df4c: 3230 adds r2, #48 ; 0x30 808df4e: b2d1 uxtb r1, r2 808df50: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808df54: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 808df56: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808df5a: b2db uxtb r3, r3 808df5c: 2b00 cmp r3, #0 808df5e: d104 bne.n 808df6a 808df60: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808df64: b2db uxtb r3, r3 808df66: 2b00 cmp r3, #0 808df68: d00c beq.n 808df84 str2[i++] = ietHP + 48; 808df6a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808df6e: 1c5a adds r2, r3, #1 808df70: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808df74: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 808df78: b2d2 uxtb r2, r2 808df7a: 3230 adds r2, #48 ; 0x30 808df7c: b2d1 uxtb r1, r2 808df7e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808df82: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808df84: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808df88: b2db uxtb r3, r3 808df8a: 2b00 cmp r3, #0 808df8c: d109 bne.n 808dfa2 808df8e: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808df92: b2db uxtb r3, r3 808df94: 2b00 cmp r3, #0 808df96: d104 bne.n 808dfa2 808df98: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808df9c: b2db uxtb r3, r3 808df9e: 2b00 cmp r3, #0 808dfa0: d00c beq.n 808dfbc str2[i++] = iesHP + 48; 808dfa2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808dfa6: 1c5a adds r2, r3, #1 808dfa8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808dfac: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 808dfb0: b2d2 uxtb r2, r2 808dfb2: 3230 adds r2, #48 ; 0x30 808dfb4: b2d1 uxtb r1, r2 808dfb6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808dfba: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808dfbc: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808dfc0: b2db uxtb r3, r3 808dfc2: 2b00 cmp r3, #0 808dfc4: d10e bne.n 808dfe4 808dfc6: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808dfca: b2db uxtb r3, r3 808dfcc: 2b00 cmp r3, #0 808dfce: d109 bne.n 808dfe4 808dfd0: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808dfd4: b2db uxtb r3, r3 808dfd6: 2b00 cmp r3, #0 808dfd8: d104 bne.n 808dfe4 808dfda: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808dfde: b2db uxtb r3, r3 808dfe0: 2b00 cmp r3, #0 808dfe2: d00c beq.n 808dffe str2[i++] = iedHP + 48; 808dfe4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808dfe8: 1c5a adds r2, r3, #1 808dfea: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808dfee: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 808dff2: b2d2 uxtb r2, r2 808dff4: 3230 adds r2, #48 ; 0x30 808dff6: b2d1 uxtb r1, r2 808dff8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808dffc: 54d1 strb r1, [r2, r3] str2[i++] = ieeHP + 48; 808dffe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e002: 1c5a adds r2, r3, #1 808e004: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e008: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 808e00c: b2d2 uxtb r2, r2 808e00e: 3230 adds r2, #48 ; 0x30 808e010: b2d1 uxtb r1, r2 808e012: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e016: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808e018: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e01c: 1c5a adds r2, r3, #1 808e01e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e022: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e026: 212e movs r1, #46 ; 0x2e 808e028: 54d1 strb r1, [r2, r3] str2[i++] = ikdHP + 48; 808e02a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e02e: 1c5a adds r2, r3, #1 808e030: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e034: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 808e038: b2d2 uxtb r2, r2 808e03a: 3230 adds r2, #48 ; 0x30 808e03c: b2d1 uxtb r1, r2 808e03e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e042: 54d1 strb r1, [r2, r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808e044: 4b18 ldr r3, [pc, #96] ; (808e0a8 ) 808e046: 781b ldrb r3, [r3, #0] 808e048: b2db uxtb r3, r3 808e04a: 4618 mov r0, r3 808e04c: 4b17 ldr r3, [pc, #92] ; (808e0ac ) 808e04e: 781b ldrb r3, [r3, #0] 808e050: b2db uxtb r3, r3 808e052: 4619 mov r1, r3 808e054: 4a16 ldr r2, [pc, #88] ; (808e0b0 ) 808e056: 0083 lsls r3, r0, #2 808e058: 4413 add r3, r2 808e05a: 440b add r3, r1 808e05c: f503 730f add.w r3, r3, #572 ; 0x23c 808e060: 781b ldrb r3, [r3, #0] 808e062: b2db uxtb r3, r3 808e064: f003 0307 and.w r3, r3, #7 808e068: 2b00 cmp r3, #0 808e06a: d103 bne.n 808e074 cl2 = LCD_COLOR_GRAY; 808e06c: 4b11 ldr r3, [pc, #68] ; (808e0b4 ) 808e06e: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808e072: e002 b.n 808e07a else cl2 = LCD_COLOR_MY_YELLOW; 808e074: 4b0a ldr r3, [pc, #40] ; (808e0a0 ) 808e076: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == DiagHP) 808e07a: 4b05 ldr r3, [pc, #20] ; (808e090 ) 808e07c: 781b ldrb r3, [r3, #0] 808e07e: b2db uxtb r3, r3 808e080: 2b09 cmp r3, #9 808e082: d119 bne.n 808e0b8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e084: 4903 ldr r1, [pc, #12] ; (808e094 ) 808e086: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e08a: f7c7 f8bf bl 805520c 808e08e: e018 b.n 808e0c2 808e090: 20020070 .word 0x20020070 808e094: ff0a0f1f .word 0xff0a0f1f 808e098: 200216ac .word 0x200216ac 808e09c: 2002096c .word 0x2002096c 808e0a0: ffd8aa57 .word 0xffd8aa57 808e0a4: 080d6258 .word 0x080d6258 808e0a8: 2002105d .word 0x2002105d 808e0ac: 2002105f .word 0x2002105f 808e0b0: 20023eb8 .word 0x20023eb8 808e0b4: ff808080 .word 0xff808080 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808e0b8: 49c9 ldr r1, [pc, #804] ; (808e3e0 ) 808e0ba: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808e0be: f7c7 f8a5 bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str2); 808e0c2: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808e0c6: 461a mov r2, r3 808e0c8: 217a movs r1, #122 ; 0x7a 808e0ca: f44f 7082 mov.w r0, #260 ; 0x104 808e0ce: f7c7 fe5d bl 8055d8c } // if((menupos < DiagLP_IDT) || (menupos > DiagLP_IKD)) 808e0d2: 4bc4 ldr r3, [pc, #784] ; (808e3e4 ) 808e0d4: 781b ldrb r3, [r3, #0] 808e0d6: b2db uxtb r3, r3 808e0d8: 2b12 cmp r3, #18 808e0da: d905 bls.n 808e0e8 808e0dc: 4bc1 ldr r3, [pc, #772] ; (808e3e4 ) 808e0de: 781b ldrb r3, [r3, #0] 808e0e0: b2db uxtb r3, r3 808e0e2: 2b18 cmp r3, #24 808e0e4: f240 80c6 bls.w 808e274 { ///////// i = 0; 808e0e8: 2300 movs r3, #0 808e0ea: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808e0ee: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808e0f2: 223c movs r2, #60 ; 0x3c 808e0f4: 2100 movs r1, #0 808e0f6: 4618 mov r0, r3 808e0f8: f043 ff54 bl 80d1fa4 if(idtLP != 0) 808e0fc: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808e100: b2db uxtb r3, r3 808e102: 2b00 cmp r3, #0 808e104: d00c beq.n 808e120 str2[i++] = idtLP + 48; 808e106: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e10a: 1c5a adds r2, r3, #1 808e10c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e110: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 808e114: b2d2 uxtb r2, r2 808e116: 3230 adds r2, #48 ; 0x30 808e118: b2d1 uxtb r1, r2 808e11a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e11e: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 808e120: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808e124: b2db uxtb r3, r3 808e126: 2b00 cmp r3, #0 808e128: d104 bne.n 808e134 808e12a: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808e12e: b2db uxtb r3, r3 808e130: 2b00 cmp r3, #0 808e132: d00c beq.n 808e14e str2[i++] = ietLP + 48; 808e134: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e138: 1c5a adds r2, r3, #1 808e13a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e13e: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 808e142: b2d2 uxtb r2, r2 808e144: 3230 adds r2, #48 ; 0x30 808e146: b2d1 uxtb r1, r2 808e148: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e14c: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808e14e: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808e152: b2db uxtb r3, r3 808e154: 2b00 cmp r3, #0 808e156: d109 bne.n 808e16c 808e158: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808e15c: b2db uxtb r3, r3 808e15e: 2b00 cmp r3, #0 808e160: d104 bne.n 808e16c 808e162: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808e166: b2db uxtb r3, r3 808e168: 2b00 cmp r3, #0 808e16a: d00c beq.n 808e186 str2[i++] = iesLP + 48; 808e16c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e170: 1c5a adds r2, r3, #1 808e172: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e176: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 808e17a: b2d2 uxtb r2, r2 808e17c: 3230 adds r2, #48 ; 0x30 808e17e: b2d1 uxtb r1, r2 808e180: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e184: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808e186: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808e18a: b2db uxtb r3, r3 808e18c: 2b00 cmp r3, #0 808e18e: d10e bne.n 808e1ae 808e190: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808e194: b2db uxtb r3, r3 808e196: 2b00 cmp r3, #0 808e198: d109 bne.n 808e1ae 808e19a: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808e19e: b2db uxtb r3, r3 808e1a0: 2b00 cmp r3, #0 808e1a2: d104 bne.n 808e1ae 808e1a4: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808e1a8: b2db uxtb r3, r3 808e1aa: 2b00 cmp r3, #0 808e1ac: d00c beq.n 808e1c8 str2[i++] = iedLP + 48; 808e1ae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e1b2: 1c5a adds r2, r3, #1 808e1b4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e1b8: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 808e1bc: b2d2 uxtb r2, r2 808e1be: 3230 adds r2, #48 ; 0x30 808e1c0: b2d1 uxtb r1, r2 808e1c2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e1c6: 54d1 strb r1, [r2, r3] str2[i++] = ieeLP + 48; 808e1c8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e1cc: 1c5a adds r2, r3, #1 808e1ce: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e1d2: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 808e1d6: b2d2 uxtb r2, r2 808e1d8: 3230 adds r2, #48 ; 0x30 808e1da: b2d1 uxtb r1, r2 808e1dc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e1e0: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808e1e2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e1e6: 1c5a adds r2, r3, #1 808e1e8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e1ec: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e1f0: 212e movs r1, #46 ; 0x2e 808e1f2: 54d1 strb r1, [r2, r3] str2[i++] = ikdLP + 48; 808e1f4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e1f8: 1c5a adds r2, r3, #1 808e1fa: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e1fe: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 808e202: b2d2 uxtb r2, r2 808e204: 3230 adds r2, #48 ; 0x30 808e206: b2d1 uxtb r1, r2 808e208: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e20c: 54d1 strb r1, [r2, r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808e20e: 4b76 ldr r3, [pc, #472] ; (808e3e8 ) 808e210: 781b ldrb r3, [r3, #0] 808e212: b2db uxtb r3, r3 808e214: 4618 mov r0, r3 808e216: 4b75 ldr r3, [pc, #468] ; (808e3ec ) 808e218: 781b ldrb r3, [r3, #0] 808e21a: b2db uxtb r3, r3 808e21c: 4619 mov r1, r3 808e21e: 4a74 ldr r2, [pc, #464] ; (808e3f0 ) 808e220: 0083 lsls r3, r0, #2 808e222: 4413 add r3, r2 808e224: 440b add r3, r1 808e226: f503 730f add.w r3, r3, #572 ; 0x23c 808e22a: 781b ldrb r3, [r3, #0] 808e22c: b2db uxtb r3, r3 808e22e: f003 0307 and.w r3, r3, #7 808e232: 2b00 cmp r3, #0 808e234: d103 bne.n 808e23e cl2 = LCD_COLOR_GRAY; 808e236: 4b6f ldr r3, [pc, #444] ; (808e3f4 ) 808e238: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808e23c: e002 b.n 808e244 else cl2 = LCD_COLOR_MY_YELLOW; 808e23e: 4b6e ldr r3, [pc, #440] ; (808e3f8 ) 808e240: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == DiagLP) 808e244: 4b67 ldr r3, [pc, #412] ; (808e3e4 ) 808e246: 781b ldrb r3, [r3, #0] 808e248: b2db uxtb r3, r3 808e24a: 2b0a cmp r3, #10 808e24c: d105 bne.n 808e25a LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e24e: 4964 ldr r1, [pc, #400] ; (808e3e0 ) 808e250: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e254: f7c6 ffda bl 805520c 808e258: e004 b.n 808e264 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808e25a: 4961 ldr r1, [pc, #388] ; (808e3e0 ) 808e25c: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808e260: f7c6 ffd4 bl 805520c LCD_DisplayStringC(260, LCD_LINE_8, str2); 808e264: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808e268: 461a mov r2, r3 808e26a: 218a movs r1, #138 ; 0x8a 808e26c: f44f 7082 mov.w r0, #260 ; 0x104 808e270: f7c7 fd8c bl 8055d8c } // if((menupos < DiagW_IDT) || (menupos > DiagW_IKD)) 808e274: 4b5b ldr r3, [pc, #364] ; (808e3e4 ) 808e276: 781b ldrb r3, [r3, #0] 808e278: b2db uxtb r3, r3 808e27a: 2b18 cmp r3, #24 808e27c: d905 bls.n 808e28a 808e27e: 4b59 ldr r3, [pc, #356] ; (808e3e4 ) 808e280: 781b ldrb r3, [r3, #0] 808e282: b2db uxtb r3, r3 808e284: 2b1e cmp r3, #30 808e286: f240 80d4 bls.w 808e432 { ///////// i = 0; 808e28a: 2300 movs r3, #0 808e28c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808e290: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808e294: 223c movs r2, #60 ; 0x3c 808e296: 2100 movs r1, #0 808e298: 4618 mov r0, r3 808e29a: f043 fe83 bl 80d1fa4 if(idt_W != 0) 808e29e: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808e2a2: b2db uxtb r3, r3 808e2a4: 2b00 cmp r3, #0 808e2a6: d00c beq.n 808e2c2 str2[i++] = idt_W + 48; 808e2a8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e2ac: 1c5a adds r2, r3, #1 808e2ae: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e2b2: f897 23c3 ldrb.w r2, [r7, #963] ; 0x3c3 808e2b6: b2d2 uxtb r2, r2 808e2b8: 3230 adds r2, #48 ; 0x30 808e2ba: b2d1 uxtb r1, r2 808e2bc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e2c0: 54d1 strb r1, [r2, r3] if((iet_W != 0) || (idt_W != 0)) 808e2c2: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808e2c6: b2db uxtb r3, r3 808e2c8: 2b00 cmp r3, #0 808e2ca: d104 bne.n 808e2d6 808e2cc: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808e2d0: b2db uxtb r3, r3 808e2d2: 2b00 cmp r3, #0 808e2d4: d00c beq.n 808e2f0 str2[i++] = iet_W + 48; 808e2d6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e2da: 1c5a adds r2, r3, #1 808e2dc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e2e0: f897 23c2 ldrb.w r2, [r7, #962] ; 0x3c2 808e2e4: b2d2 uxtb r2, r2 808e2e6: 3230 adds r2, #48 ; 0x30 808e2e8: b2d1 uxtb r1, r2 808e2ea: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e2ee: 54d1 strb r1, [r2, r3] if((ies_W != 0) || (iet_W != 0) || (idt_W != 0)) 808e2f0: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808e2f4: b2db uxtb r3, r3 808e2f6: 2b00 cmp r3, #0 808e2f8: d109 bne.n 808e30e 808e2fa: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808e2fe: b2db uxtb r3, r3 808e300: 2b00 cmp r3, #0 808e302: d104 bne.n 808e30e 808e304: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808e308: b2db uxtb r3, r3 808e30a: 2b00 cmp r3, #0 808e30c: d00c beq.n 808e328 str2[i++] = ies_W + 48; 808e30e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e312: 1c5a adds r2, r3, #1 808e314: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e318: f897 23c1 ldrb.w r2, [r7, #961] ; 0x3c1 808e31c: b2d2 uxtb r2, r2 808e31e: 3230 adds r2, #48 ; 0x30 808e320: b2d1 uxtb r1, r2 808e322: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e326: 54d1 strb r1, [r2, r3] if((ied_W != 0) || (ies_W != 0) || (iet_W != 0) || (idt_W != 0)) 808e328: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808e32c: b2db uxtb r3, r3 808e32e: 2b00 cmp r3, #0 808e330: d10e bne.n 808e350 808e332: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808e336: b2db uxtb r3, r3 808e338: 2b00 cmp r3, #0 808e33a: d109 bne.n 808e350 808e33c: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808e340: b2db uxtb r3, r3 808e342: 2b00 cmp r3, #0 808e344: d104 bne.n 808e350 808e346: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808e34a: b2db uxtb r3, r3 808e34c: 2b00 cmp r3, #0 808e34e: d00c beq.n 808e36a str2[i++] = ied_W + 48; 808e350: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e354: 1c5a adds r2, r3, #1 808e356: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e35a: f897 23c0 ldrb.w r2, [r7, #960] ; 0x3c0 808e35e: b2d2 uxtb r2, r2 808e360: 3230 adds r2, #48 ; 0x30 808e362: b2d1 uxtb r1, r2 808e364: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e368: 54d1 strb r1, [r2, r3] str2[i++] = iee_W + 48; 808e36a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e36e: 1c5a adds r2, r3, #1 808e370: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e374: f897 23bf ldrb.w r2, [r7, #959] ; 0x3bf 808e378: b2d2 uxtb r2, r2 808e37a: 3230 adds r2, #48 ; 0x30 808e37c: b2d1 uxtb r1, r2 808e37e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e382: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808e384: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e388: 1c5a adds r2, r3, #1 808e38a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e38e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e392: 212e movs r1, #46 ; 0x2e 808e394: 54d1 strb r1, [r2, r3] str2[i++] = ikd_W + 48; 808e396: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e39a: 1c5a adds r2, r3, #1 808e39c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e3a0: f897 23be ldrb.w r2, [r7, #958] ; 0x3be 808e3a4: b2d2 uxtb r2, r2 808e3a6: 3230 adds r2, #48 ; 0x30 808e3a8: b2d1 uxtb r1, r2 808e3aa: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e3ae: 54d1 strb r1, [r2, r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808e3b0: 4b0d ldr r3, [pc, #52] ; (808e3e8 ) 808e3b2: 781b ldrb r3, [r3, #0] 808e3b4: b2db uxtb r3, r3 808e3b6: 4618 mov r0, r3 808e3b8: 4b0c ldr r3, [pc, #48] ; (808e3ec ) 808e3ba: 781b ldrb r3, [r3, #0] 808e3bc: b2db uxtb r3, r3 808e3be: 4619 mov r1, r3 808e3c0: 4a0b ldr r2, [pc, #44] ; (808e3f0 ) 808e3c2: 0083 lsls r3, r0, #2 808e3c4: 4413 add r3, r2 808e3c6: 440b add r3, r1 808e3c8: f503 730f add.w r3, r3, #572 ; 0x23c 808e3cc: 781b ldrb r3, [r3, #0] 808e3ce: b2db uxtb r3, r3 808e3d0: f003 0307 and.w r3, r3, #7 808e3d4: 2b00 cmp r3, #0 808e3d6: d111 bne.n 808e3fc cl2 = LCD_COLOR_GRAY; 808e3d8: 4b06 ldr r3, [pc, #24] ; (808e3f4 ) 808e3da: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808e3de: e010 b.n 808e402 808e3e0: ff0a0f1f .word 0xff0a0f1f 808e3e4: 20020070 .word 0x20020070 808e3e8: 2002105d .word 0x2002105d 808e3ec: 2002105f .word 0x2002105f 808e3f0: 20023eb8 .word 0x20023eb8 808e3f4: ff808080 .word 0xff808080 808e3f8: ffd8aa57 .word 0xffd8aa57 else cl2 = LCD_COLOR_MY_YELLOW; 808e3fc: 4b76 ldr r3, [pc, #472] ; (808e5d8 ) 808e3fe: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == Diag_W) 808e402: 4b76 ldr r3, [pc, #472] ; (808e5dc ) 808e404: 781b ldrb r3, [r3, #0] 808e406: b2db uxtb r3, r3 808e408: 2b0b cmp r3, #11 808e40a: d105 bne.n 808e418 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e40c: 4974 ldr r1, [pc, #464] ; (808e5e0 ) 808e40e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e412: f7c6 fefb bl 805520c 808e416: e004 b.n 808e422 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808e418: 4971 ldr r1, [pc, #452] ; (808e5e0 ) 808e41a: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808e41e: f7c6 fef5 bl 805520c LCD_DisplayStringC(260, LCD_LINE_9, str2); 808e422: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808e426: 461a mov r2, r3 808e428: 219a movs r1, #154 ; 0x9a 808e42a: f44f 7082 mov.w r0, #260 ; 0x104 808e42e: f7c7 fcad bl 8055d8c } // if((menupos < DiagA_IDT) || (menupos > DiagA_IKD)) 808e432: 4b6a ldr r3, [pc, #424] ; (808e5dc ) 808e434: 781b ldrb r3, [r3, #0] 808e436: b2db uxtb r3, r3 808e438: 2b1e cmp r3, #30 808e43a: d905 bls.n 808e448 808e43c: 4b67 ldr r3, [pc, #412] ; (808e5dc ) 808e43e: 781b ldrb r3, [r3, #0] 808e440: b2db uxtb r3, r3 808e442: 2b24 cmp r3, #36 ; 0x24 808e444: f24a 86df bls.w 8099206 { ///////// i = 0; 808e448: 2300 movs r3, #0 808e44a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808e44e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808e452: 223c movs r2, #60 ; 0x3c 808e454: 2100 movs r1, #0 808e456: 4618 mov r0, r3 808e458: f043 fda4 bl 80d1fa4 if(idt_A != 0) 808e45c: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808e460: b2db uxtb r3, r3 808e462: 2b00 cmp r3, #0 808e464: d00c beq.n 808e480 str2[i++] = idt_A + 48; 808e466: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e46a: 1c5a adds r2, r3, #1 808e46c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e470: f897 23bc ldrb.w r2, [r7, #956] ; 0x3bc 808e474: b2d2 uxtb r2, r2 808e476: 3230 adds r2, #48 ; 0x30 808e478: b2d1 uxtb r1, r2 808e47a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e47e: 54d1 strb r1, [r2, r3] if((iet_A != 0) || (idt_A != 0)) 808e480: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808e484: b2db uxtb r3, r3 808e486: 2b00 cmp r3, #0 808e488: d104 bne.n 808e494 808e48a: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808e48e: b2db uxtb r3, r3 808e490: 2b00 cmp r3, #0 808e492: d00c beq.n 808e4ae str2[i++] = iet_A + 48; 808e494: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e498: 1c5a adds r2, r3, #1 808e49a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e49e: f897 23bb ldrb.w r2, [r7, #955] ; 0x3bb 808e4a2: b2d2 uxtb r2, r2 808e4a4: 3230 adds r2, #48 ; 0x30 808e4a6: b2d1 uxtb r1, r2 808e4a8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e4ac: 54d1 strb r1, [r2, r3] if((ies_A != 0) || (iet_A != 0) || (idt_A != 0)) 808e4ae: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808e4b2: b2db uxtb r3, r3 808e4b4: 2b00 cmp r3, #0 808e4b6: d109 bne.n 808e4cc 808e4b8: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808e4bc: b2db uxtb r3, r3 808e4be: 2b00 cmp r3, #0 808e4c0: d104 bne.n 808e4cc 808e4c2: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808e4c6: b2db uxtb r3, r3 808e4c8: 2b00 cmp r3, #0 808e4ca: d00c beq.n 808e4e6 str2[i++] = ies_A + 48; 808e4cc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e4d0: 1c5a adds r2, r3, #1 808e4d2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e4d6: f897 23ba ldrb.w r2, [r7, #954] ; 0x3ba 808e4da: b2d2 uxtb r2, r2 808e4dc: 3230 adds r2, #48 ; 0x30 808e4de: b2d1 uxtb r1, r2 808e4e0: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e4e4: 54d1 strb r1, [r2, r3] if((ied_A != 0) || (ies_A != 0) || (iet_A != 0) || (idt_A != 0)) 808e4e6: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808e4ea: b2db uxtb r3, r3 808e4ec: 2b00 cmp r3, #0 808e4ee: d10e bne.n 808e50e 808e4f0: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808e4f4: b2db uxtb r3, r3 808e4f6: 2b00 cmp r3, #0 808e4f8: d109 bne.n 808e50e 808e4fa: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808e4fe: b2db uxtb r3, r3 808e500: 2b00 cmp r3, #0 808e502: d104 bne.n 808e50e 808e504: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808e508: b2db uxtb r3, r3 808e50a: 2b00 cmp r3, #0 808e50c: d00c beq.n 808e528 str2[i++] = ied_A + 48; 808e50e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e512: 1c5a adds r2, r3, #1 808e514: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e518: f897 23b9 ldrb.w r2, [r7, #953] ; 0x3b9 808e51c: b2d2 uxtb r2, r2 808e51e: 3230 adds r2, #48 ; 0x30 808e520: b2d1 uxtb r1, r2 808e522: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e526: 54d1 strb r1, [r2, r3] str2[i++] = iee_A + 48; 808e528: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e52c: 1c5a adds r2, r3, #1 808e52e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e532: f897 23b8 ldrb.w r2, [r7, #952] ; 0x3b8 808e536: b2d2 uxtb r2, r2 808e538: 3230 adds r2, #48 ; 0x30 808e53a: b2d1 uxtb r1, r2 808e53c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e540: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808e542: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e546: 1c5a adds r2, r3, #1 808e548: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e54c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e550: 212e movs r1, #46 ; 0x2e 808e552: 54d1 strb r1, [r2, r3] str2[i++] = ikd_A + 48; 808e554: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e558: 1c5a adds r2, r3, #1 808e55a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e55e: f897 23b7 ldrb.w r2, [r7, #951] ; 0x3b7 808e562: b2d2 uxtb r2, r2 808e564: 3230 adds r2, #48 ; 0x30 808e566: b2d1 uxtb r1, r2 808e568: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e56c: 54d1 strb r1, [r2, r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808e56e: 4b1d ldr r3, [pc, #116] ; (808e5e4 ) 808e570: 781b ldrb r3, [r3, #0] 808e572: b2db uxtb r3, r3 808e574: 4618 mov r0, r3 808e576: 4b1c ldr r3, [pc, #112] ; (808e5e8 ) 808e578: 781b ldrb r3, [r3, #0] 808e57a: b2db uxtb r3, r3 808e57c: 4619 mov r1, r3 808e57e: 4a1b ldr r2, [pc, #108] ; (808e5ec ) 808e580: 0083 lsls r3, r0, #2 808e582: 4413 add r3, r2 808e584: 440b add r3, r1 808e586: f503 730f add.w r3, r3, #572 ; 0x23c 808e58a: 781b ldrb r3, [r3, #0] 808e58c: b2db uxtb r3, r3 808e58e: f003 0307 and.w r3, r3, #7 808e592: 2b00 cmp r3, #0 808e594: d103 bne.n 808e59e cl2 = LCD_COLOR_GRAY; 808e596: 4b16 ldr r3, [pc, #88] ; (808e5f0 ) 808e598: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808e59c: e002 b.n 808e5a4 else cl2 = LCD_COLOR_MY_YELLOW; 808e59e: 4b0e ldr r3, [pc, #56] ; (808e5d8 ) 808e5a0: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == Diag_A) 808e5a4: 4b0d ldr r3, [pc, #52] ; (808e5dc ) 808e5a6: 781b ldrb r3, [r3, #0] 808e5a8: b2db uxtb r3, r3 808e5aa: 2b0c cmp r3, #12 808e5ac: d105 bne.n 808e5ba LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e5ae: 490c ldr r1, [pc, #48] ; (808e5e0 ) 808e5b0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e5b4: f7c6 fe2a bl 805520c 808e5b8: e004 b.n 808e5c4 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808e5ba: 4909 ldr r1, [pc, #36] ; (808e5e0 ) 808e5bc: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808e5c0: f7c6 fe24 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, str2); 808e5c4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808e5c8: 461a mov r2, r3 808e5ca: 21aa movs r1, #170 ; 0xaa 808e5cc: f44f 7082 mov.w r0, #260 ; 0x104 808e5d0: f7c7 fbdc bl 8055d8c } break; 808e5d4: f00a be17 b.w 8099206 808e5d8: ffd8aa57 .word 0xffd8aa57 808e5dc: 20020070 .word 0x20020070 808e5e0: ff0a0f1f .word 0xff0a0f1f 808e5e4: 2002105d .word 0x2002105d 808e5e8: 2002105f .word 0x2002105f 808e5ec: 20023eb8 .word 0x20023eb8 808e5f0: ff808080 .word 0xff808080 case PARAM_OSC: // LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 808e5f4: 49d9 ldr r1, [pc, #868] ; (808e95c ) 808e5f6: 48da ldr r0, [pc, #872] ; (808e960 ) 808e5f8: f7c6 fe08 bl 805520c BSP_LCD_DrawRect(2, 35, 314, 201); 808e5fc: 23c9 movs r3, #201 ; 0xc9 808e5fe: f44f 729d mov.w r2, #314 ; 0x13a 808e602: 2123 movs r1, #35 ; 0x23 808e604: 2002 movs r0, #2 808e606: f7c7 f907 bl 8055818 k = (uint32_t) (pardata.THR_VAL * 10.0f); 808e60a: 4bd6 ldr r3, [pc, #856] ; (808e964 ) 808e60c: edd3 7a05 vldr s15, [r3, #20] 808e610: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808e614: ee67 7a87 vmul.f32 s15, s15, s14 808e618: eefc 7ae7 vcvt.u32.f32 s15, s15 808e61c: ee17 3a90 vmov r3, s15 808e620: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt = (uint8_t) (k / 100000); 808e624: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808e628: 095b lsrs r3, r3, #5 808e62a: 4acf ldr r2, [pc, #828] ; (808e968 ) 808e62c: fba2 2303 umull r2, r3, r2, r3 808e630: 09db lsrs r3, r3, #7 808e632: b2db uxtb r3, r3 808e634: f887 33e7 strb.w r3, [r7, #999] ; 0x3e7 iet = (uint8_t) (k % 100000 / 10000); 808e638: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808e63c: 0953 lsrs r3, r2, #5 808e63e: 49ca ldr r1, [pc, #808] ; (808e968 ) 808e640: fba1 1303 umull r1, r3, r1, r3 808e644: 09db lsrs r3, r3, #7 808e646: 49c9 ldr r1, [pc, #804] ; (808e96c ) 808e648: fb01 f303 mul.w r3, r1, r3 808e64c: 1ad3 subs r3, r2, r3 808e64e: 4ac8 ldr r2, [pc, #800] ; (808e970 ) 808e650: fba2 2303 umull r2, r3, r2, r3 808e654: 0b5b lsrs r3, r3, #13 808e656: b2db uxtb r3, r3 808e658: f887 33e6 strb.w r3, [r7, #998] ; 0x3e6 ies = (uint8_t) (k % 100000 % 10000 / 1000); 808e65c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808e660: 0953 lsrs r3, r2, #5 808e662: 49c1 ldr r1, [pc, #772] ; (808e968 ) 808e664: fba1 1303 umull r1, r3, r1, r3 808e668: 09db lsrs r3, r3, #7 808e66a: 49c0 ldr r1, [pc, #768] ; (808e96c ) 808e66c: fb01 f303 mul.w r3, r1, r3 808e670: 1ad3 subs r3, r2, r3 808e672: 4abf ldr r2, [pc, #764] ; (808e970 ) 808e674: fba2 1203 umull r1, r2, r2, r3 808e678: 0b52 lsrs r2, r2, #13 808e67a: f242 7110 movw r1, #10000 ; 0x2710 808e67e: fb01 f202 mul.w r2, r1, r2 808e682: 1a9a subs r2, r3, r2 808e684: 4bbb ldr r3, [pc, #748] ; (808e974 ) 808e686: fba3 2302 umull r2, r3, r3, r2 808e68a: 099b lsrs r3, r3, #6 808e68c: b2db uxtb r3, r3 808e68e: f887 33e5 strb.w r3, [r7, #997] ; 0x3e5 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808e692: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808e696: 095a lsrs r2, r3, #5 808e698: 49b3 ldr r1, [pc, #716] ; (808e968 ) 808e69a: fba1 1202 umull r1, r2, r1, r2 808e69e: 09d2 lsrs r2, r2, #7 808e6a0: 49b2 ldr r1, [pc, #712] ; (808e96c ) 808e6a2: fb01 f202 mul.w r2, r1, r2 808e6a6: 1a9a subs r2, r3, r2 808e6a8: 4bb1 ldr r3, [pc, #708] ; (808e970 ) 808e6aa: fba3 1302 umull r1, r3, r3, r2 808e6ae: 0b5b lsrs r3, r3, #13 808e6b0: f242 7110 movw r1, #10000 ; 0x2710 808e6b4: fb01 f303 mul.w r3, r1, r3 808e6b8: 1ad3 subs r3, r2, r3 808e6ba: 4aae ldr r2, [pc, #696] ; (808e974 ) 808e6bc: fba2 1203 umull r1, r2, r2, r3 808e6c0: 0992 lsrs r2, r2, #6 808e6c2: f44f 717a mov.w r1, #1000 ; 0x3e8 808e6c6: fb01 f202 mul.w r2, r1, r2 808e6ca: 1a9a subs r2, r3, r2 808e6cc: 4baa ldr r3, [pc, #680] ; (808e978 ) 808e6ce: fba3 2302 umull r2, r3, r3, r2 808e6d2: 095b lsrs r3, r3, #5 808e6d4: b2db uxtb r3, r3 808e6d6: f887 33e4 strb.w r3, [r7, #996] ; 0x3e4 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808e6da: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808e6de: 0953 lsrs r3, r2, #5 808e6e0: 49a1 ldr r1, [pc, #644] ; (808e968 ) 808e6e2: fba1 1303 umull r1, r3, r1, r3 808e6e6: 09db lsrs r3, r3, #7 808e6e8: 49a0 ldr r1, [pc, #640] ; (808e96c ) 808e6ea: fb01 f303 mul.w r3, r1, r3 808e6ee: 1ad3 subs r3, r2, r3 808e6f0: 4a9f ldr r2, [pc, #636] ; (808e970 ) 808e6f2: fba2 1203 umull r1, r2, r2, r3 808e6f6: 0b52 lsrs r2, r2, #13 808e6f8: f242 7110 movw r1, #10000 ; 0x2710 808e6fc: fb01 f202 mul.w r2, r1, r2 808e700: 1a9a subs r2, r3, r2 808e702: 4b9c ldr r3, [pc, #624] ; (808e974 ) 808e704: fba3 1302 umull r1, r3, r3, r2 808e708: 099b lsrs r3, r3, #6 808e70a: f44f 717a mov.w r1, #1000 ; 0x3e8 808e70e: fb01 f303 mul.w r3, r1, r3 808e712: 1ad3 subs r3, r2, r3 808e714: 4a98 ldr r2, [pc, #608] ; (808e978 ) 808e716: fba2 1203 umull r1, r2, r2, r3 808e71a: 0952 lsrs r2, r2, #5 808e71c: 2164 movs r1, #100 ; 0x64 808e71e: fb01 f202 mul.w r2, r1, r2 808e722: 1a9a subs r2, r3, r2 808e724: 4b95 ldr r3, [pc, #596] ; (808e97c ) 808e726: fba3 2302 umull r2, r3, r3, r2 808e72a: 08db lsrs r3, r3, #3 808e72c: b2db uxtb r3, r3 808e72e: f887 33e3 strb.w r3, [r7, #995] ; 0x3e3 ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808e732: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808e736: 0953 lsrs r3, r2, #5 808e738: 498b ldr r1, [pc, #556] ; (808e968 ) 808e73a: fba1 1303 umull r1, r3, r1, r3 808e73e: 09db lsrs r3, r3, #7 808e740: 498a ldr r1, [pc, #552] ; (808e96c ) 808e742: fb01 f303 mul.w r3, r1, r3 808e746: 1ad3 subs r3, r2, r3 808e748: 4a89 ldr r2, [pc, #548] ; (808e970 ) 808e74a: fba2 1203 umull r1, r2, r2, r3 808e74e: 0b52 lsrs r2, r2, #13 808e750: f242 7110 movw r1, #10000 ; 0x2710 808e754: fb01 f202 mul.w r2, r1, r2 808e758: 1a9a subs r2, r3, r2 808e75a: 4b86 ldr r3, [pc, #536] ; (808e974 ) 808e75c: fba3 1302 umull r1, r3, r3, r2 808e760: 099b lsrs r3, r3, #6 808e762: f44f 717a mov.w r1, #1000 ; 0x3e8 808e766: fb01 f303 mul.w r3, r1, r3 808e76a: 1ad3 subs r3, r2, r3 808e76c: 4a82 ldr r2, [pc, #520] ; (808e978 ) 808e76e: fba2 1203 umull r1, r2, r2, r3 808e772: 0952 lsrs r2, r2, #5 808e774: 2164 movs r1, #100 ; 0x64 808e776: fb01 f202 mul.w r2, r1, r2 808e77a: 1a9a subs r2, r3, r2 808e77c: 4b7f ldr r3, [pc, #508] ; (808e97c ) 808e77e: fba3 1302 umull r1, r3, r3, r2 808e782: 08d9 lsrs r1, r3, #3 808e784: 460b mov r3, r1 808e786: 009b lsls r3, r3, #2 808e788: 440b add r3, r1 808e78a: 005b lsls r3, r3, #1 808e78c: 1ad1 subs r1, r2, r3 808e78e: b2cb uxtb r3, r1 808e790: f887 33e2 strb.w r3, [r7, #994] ; 0x3e2 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 808e794: 4b73 ldr r3, [pc, #460] ; (808e964 ) 808e796: edd3 7a06 vldr s15, [r3, #24] 808e79a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808e79e: ee67 7a87 vmul.f32 s15, s15, s14 808e7a2: eefc 7ae7 vcvt.u32.f32 s15, s15 808e7a6: ee17 3a90 vmov r3, s15 808e7aa: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 808e7ae: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808e7b2: 095b lsrs r3, r3, #5 808e7b4: 4a6c ldr r2, [pc, #432] ; (808e968 ) 808e7b6: fba2 2303 umull r2, r3, r2, r3 808e7ba: 09db lsrs r3, r3, #7 808e7bc: b2db uxtb r3, r3 808e7be: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 808e7c2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808e7c6: 0953 lsrs r3, r2, #5 808e7c8: 4967 ldr r1, [pc, #412] ; (808e968 ) 808e7ca: fba1 1303 umull r1, r3, r1, r3 808e7ce: 09db lsrs r3, r3, #7 808e7d0: 4966 ldr r1, [pc, #408] ; (808e96c ) 808e7d2: fb01 f303 mul.w r3, r1, r3 808e7d6: 1ad3 subs r3, r2, r3 808e7d8: 4a65 ldr r2, [pc, #404] ; (808e970 ) 808e7da: fba2 2303 umull r2, r3, r2, r3 808e7de: 0b5b lsrs r3, r3, #13 808e7e0: b2db uxtb r3, r3 808e7e2: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 808e7e6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808e7ea: 0953 lsrs r3, r2, #5 808e7ec: 495e ldr r1, [pc, #376] ; (808e968 ) 808e7ee: fba1 1303 umull r1, r3, r1, r3 808e7f2: 09db lsrs r3, r3, #7 808e7f4: 495d ldr r1, [pc, #372] ; (808e96c ) 808e7f6: fb01 f303 mul.w r3, r1, r3 808e7fa: 1ad3 subs r3, r2, r3 808e7fc: 4a5c ldr r2, [pc, #368] ; (808e970 ) 808e7fe: fba2 1203 umull r1, r2, r2, r3 808e802: 0b52 lsrs r2, r2, #13 808e804: f242 7110 movw r1, #10000 ; 0x2710 808e808: fb01 f202 mul.w r2, r1, r2 808e80c: 1a9a subs r2, r3, r2 808e80e: 4b59 ldr r3, [pc, #356] ; (808e974 ) 808e810: fba3 2302 umull r2, r3, r3, r2 808e814: 099b lsrs r3, r3, #6 808e816: b2db uxtb r3, r3 808e818: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808e81c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808e820: 095a lsrs r2, r3, #5 808e822: 4951 ldr r1, [pc, #324] ; (808e968 ) 808e824: fba1 1202 umull r1, r2, r1, r2 808e828: 09d2 lsrs r2, r2, #7 808e82a: 4950 ldr r1, [pc, #320] ; (808e96c ) 808e82c: fb01 f202 mul.w r2, r1, r2 808e830: 1a9a subs r2, r3, r2 808e832: 4b4f ldr r3, [pc, #316] ; (808e970 ) 808e834: fba3 1302 umull r1, r3, r3, r2 808e838: 0b5b lsrs r3, r3, #13 808e83a: f242 7110 movw r1, #10000 ; 0x2710 808e83e: fb01 f303 mul.w r3, r1, r3 808e842: 1ad3 subs r3, r2, r3 808e844: 4a4b ldr r2, [pc, #300] ; (808e974 ) 808e846: fba2 1203 umull r1, r2, r2, r3 808e84a: 0992 lsrs r2, r2, #6 808e84c: f44f 717a mov.w r1, #1000 ; 0x3e8 808e850: fb01 f202 mul.w r2, r1, r2 808e854: 1a9a subs r2, r3, r2 808e856: 4b48 ldr r3, [pc, #288] ; (808e978 ) 808e858: fba3 2302 umull r2, r3, r3, r2 808e85c: 095b lsrs r3, r3, #5 808e85e: b2db uxtb r3, r3 808e860: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808e864: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808e868: 0953 lsrs r3, r2, #5 808e86a: 493f ldr r1, [pc, #252] ; (808e968 ) 808e86c: fba1 1303 umull r1, r3, r1, r3 808e870: 09db lsrs r3, r3, #7 808e872: 493e ldr r1, [pc, #248] ; (808e96c ) 808e874: fb01 f303 mul.w r3, r1, r3 808e878: 1ad3 subs r3, r2, r3 808e87a: 4a3d ldr r2, [pc, #244] ; (808e970 ) 808e87c: fba2 1203 umull r1, r2, r2, r3 808e880: 0b52 lsrs r2, r2, #13 808e882: f242 7110 movw r1, #10000 ; 0x2710 808e886: fb01 f202 mul.w r2, r1, r2 808e88a: 1a9a subs r2, r3, r2 808e88c: 4b39 ldr r3, [pc, #228] ; (808e974 ) 808e88e: fba3 1302 umull r1, r3, r3, r2 808e892: 099b lsrs r3, r3, #6 808e894: f44f 717a mov.w r1, #1000 ; 0x3e8 808e898: fb01 f303 mul.w r3, r1, r3 808e89c: 1ad3 subs r3, r2, r3 808e89e: 4a36 ldr r2, [pc, #216] ; (808e978 ) 808e8a0: fba2 1203 umull r1, r2, r2, r3 808e8a4: 0952 lsrs r2, r2, #5 808e8a6: 2164 movs r1, #100 ; 0x64 808e8a8: fb01 f202 mul.w r2, r1, r2 808e8ac: 1a9a subs r2, r3, r2 808e8ae: 4b33 ldr r3, [pc, #204] ; (808e97c ) 808e8b0: fba3 2302 umull r2, r3, r3, r2 808e8b4: 08db lsrs r3, r3, #3 808e8b6: b2db uxtb r3, r3 808e8b8: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808e8bc: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808e8c0: 0953 lsrs r3, r2, #5 808e8c2: 4929 ldr r1, [pc, #164] ; (808e968 ) 808e8c4: fba1 1303 umull r1, r3, r1, r3 808e8c8: 09db lsrs r3, r3, #7 808e8ca: 4928 ldr r1, [pc, #160] ; (808e96c ) 808e8cc: fb01 f303 mul.w r3, r1, r3 808e8d0: 1ad3 subs r3, r2, r3 808e8d2: 4a27 ldr r2, [pc, #156] ; (808e970 ) 808e8d4: fba2 1203 umull r1, r2, r2, r3 808e8d8: 0b52 lsrs r2, r2, #13 808e8da: f242 7110 movw r1, #10000 ; 0x2710 808e8de: fb01 f202 mul.w r2, r1, r2 808e8e2: 1a9a subs r2, r3, r2 808e8e4: 4b23 ldr r3, [pc, #140] ; (808e974 ) 808e8e6: fba3 1302 umull r1, r3, r3, r2 808e8ea: 099b lsrs r3, r3, #6 808e8ec: f44f 717a mov.w r1, #1000 ; 0x3e8 808e8f0: fb01 f303 mul.w r3, r1, r3 808e8f4: 1ad3 subs r3, r2, r3 808e8f6: 4a20 ldr r2, [pc, #128] ; (808e978 ) 808e8f8: fba2 1203 umull r1, r2, r2, r3 808e8fc: 0952 lsrs r2, r2, #5 808e8fe: 2164 movs r1, #100 ; 0x64 808e900: fb01 f202 mul.w r2, r1, r2 808e904: 1a9a subs r2, r3, r2 808e906: 4b1d ldr r3, [pc, #116] ; (808e97c ) 808e908: fba3 1302 umull r1, r3, r3, r2 808e90c: 08d9 lsrs r1, r3, #3 808e90e: 460b mov r3, r1 808e910: 009b lsls r3, r3, #2 808e912: 440b add r3, r1 808e914: 005b lsls r3, r3, #1 808e916: 1ad1 subs r1, r2, r3 808e918: b2cb uxtb r3, r1 808e91a: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 k = (uint32_t) (pardata.HP * 10.0f); 808e91e: 4b11 ldr r3, [pc, #68] ; (808e964 ) 808e920: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 808e924: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808e928: ee67 7a87 vmul.f32 s15, s15, s14 808e92c: eefc 7ae7 vcvt.u32.f32 s15, s15 808e930: ee17 3a90 vmov r3, s15 808e934: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 808e938: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808e93c: 095b lsrs r3, r3, #5 808e93e: 4a0a ldr r2, [pc, #40] ; (808e968 ) 808e940: fba2 2303 umull r2, r3, r2, r3 808e944: 09db lsrs r3, r3, #7 808e946: b2db uxtb r3, r3 808e948: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 ietHP = (uint8_t) (k % 100000 / 10000); 808e94c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808e950: 0953 lsrs r3, r2, #5 808e952: 4905 ldr r1, [pc, #20] ; (808e968 ) 808e954: fba1 1303 umull r1, r3, r1, r3 808e958: 09db lsrs r3, r3, #7 808e95a: e011 b.n 808e980 808e95c: ff0a0f1f .word 0xff0a0f1f 808e960: ffd3d3d3 .word 0xffd3d3d3 808e964: 20023eb8 .word 0x20023eb8 808e968: 0a7c5ac5 .word 0x0a7c5ac5 808e96c: 000186a0 .word 0x000186a0 808e970: d1b71759 .word 0xd1b71759 808e974: 10624dd3 .word 0x10624dd3 808e978: 51eb851f .word 0x51eb851f 808e97c: cccccccd .word 0xcccccccd 808e980: 49d4 ldr r1, [pc, #848] ; (808ecd4 ) 808e982: fb01 f303 mul.w r3, r1, r3 808e986: 1ad3 subs r3, r2, r3 808e988: 4ad3 ldr r2, [pc, #844] ; (808ecd8 ) 808e98a: fba2 2303 umull r2, r3, r2, r3 808e98e: 0b5b lsrs r3, r3, #13 808e990: b2db uxtb r3, r3 808e992: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 808e996: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808e99a: 0953 lsrs r3, r2, #5 808e99c: 49cf ldr r1, [pc, #828] ; (808ecdc ) 808e99e: fba1 1303 umull r1, r3, r1, r3 808e9a2: 09db lsrs r3, r3, #7 808e9a4: 49cb ldr r1, [pc, #812] ; (808ecd4 ) 808e9a6: fb01 f303 mul.w r3, r1, r3 808e9aa: 1ad3 subs r3, r2, r3 808e9ac: 4aca ldr r2, [pc, #808] ; (808ecd8 ) 808e9ae: fba2 1203 umull r1, r2, r2, r3 808e9b2: 0b52 lsrs r2, r2, #13 808e9b4: f242 7110 movw r1, #10000 ; 0x2710 808e9b8: fb01 f202 mul.w r2, r1, r2 808e9bc: 1a9a subs r2, r3, r2 808e9be: 4bc8 ldr r3, [pc, #800] ; (808ece0 ) 808e9c0: fba3 2302 umull r2, r3, r3, r2 808e9c4: 099b lsrs r3, r3, #6 808e9c6: b2db uxtb r3, r3 808e9c8: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808e9cc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808e9d0: 095a lsrs r2, r3, #5 808e9d2: 49c2 ldr r1, [pc, #776] ; (808ecdc ) 808e9d4: fba1 1202 umull r1, r2, r1, r2 808e9d8: 09d2 lsrs r2, r2, #7 808e9da: 49be ldr r1, [pc, #760] ; (808ecd4 ) 808e9dc: fb01 f202 mul.w r2, r1, r2 808e9e0: 1a9a subs r2, r3, r2 808e9e2: 4bbd ldr r3, [pc, #756] ; (808ecd8 ) 808e9e4: fba3 1302 umull r1, r3, r3, r2 808e9e8: 0b5b lsrs r3, r3, #13 808e9ea: f242 7110 movw r1, #10000 ; 0x2710 808e9ee: fb01 f303 mul.w r3, r1, r3 808e9f2: 1ad3 subs r3, r2, r3 808e9f4: 4aba ldr r2, [pc, #744] ; (808ece0 ) 808e9f6: fba2 1203 umull r1, r2, r2, r3 808e9fa: 0992 lsrs r2, r2, #6 808e9fc: f44f 717a mov.w r1, #1000 ; 0x3e8 808ea00: fb01 f202 mul.w r2, r1, r2 808ea04: 1a9a subs r2, r3, r2 808ea06: 4bb7 ldr r3, [pc, #732] ; (808ece4 ) 808ea08: fba3 2302 umull r2, r3, r3, r2 808ea0c: 095b lsrs r3, r3, #5 808ea0e: b2db uxtb r3, r3 808ea10: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808ea14: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808ea18: 0953 lsrs r3, r2, #5 808ea1a: 49b0 ldr r1, [pc, #704] ; (808ecdc ) 808ea1c: fba1 1303 umull r1, r3, r1, r3 808ea20: 09db lsrs r3, r3, #7 808ea22: 49ac ldr r1, [pc, #688] ; (808ecd4 ) 808ea24: fb01 f303 mul.w r3, r1, r3 808ea28: 1ad3 subs r3, r2, r3 808ea2a: 4aab ldr r2, [pc, #684] ; (808ecd8 ) 808ea2c: fba2 1203 umull r1, r2, r2, r3 808ea30: 0b52 lsrs r2, r2, #13 808ea32: f242 7110 movw r1, #10000 ; 0x2710 808ea36: fb01 f202 mul.w r2, r1, r2 808ea3a: 1a9a subs r2, r3, r2 808ea3c: 4ba8 ldr r3, [pc, #672] ; (808ece0 ) 808ea3e: fba3 1302 umull r1, r3, r3, r2 808ea42: 099b lsrs r3, r3, #6 808ea44: f44f 717a mov.w r1, #1000 ; 0x3e8 808ea48: fb01 f303 mul.w r3, r1, r3 808ea4c: 1ad3 subs r3, r2, r3 808ea4e: 4aa5 ldr r2, [pc, #660] ; (808ece4 ) 808ea50: fba2 1203 umull r1, r2, r2, r3 808ea54: 0952 lsrs r2, r2, #5 808ea56: 2164 movs r1, #100 ; 0x64 808ea58: fb01 f202 mul.w r2, r1, r2 808ea5c: 1a9a subs r2, r3, r2 808ea5e: 4ba2 ldr r3, [pc, #648] ; (808ece8 ) 808ea60: fba3 2302 umull r2, r3, r3, r2 808ea64: 08db lsrs r3, r3, #3 808ea66: b2db uxtb r3, r3 808ea68: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808ea6c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808ea70: 0953 lsrs r3, r2, #5 808ea72: 499a ldr r1, [pc, #616] ; (808ecdc ) 808ea74: fba1 1303 umull r1, r3, r1, r3 808ea78: 09db lsrs r3, r3, #7 808ea7a: 4996 ldr r1, [pc, #600] ; (808ecd4 ) 808ea7c: fb01 f303 mul.w r3, r1, r3 808ea80: 1ad3 subs r3, r2, r3 808ea82: 4a95 ldr r2, [pc, #596] ; (808ecd8 ) 808ea84: fba2 1203 umull r1, r2, r2, r3 808ea88: 0b52 lsrs r2, r2, #13 808ea8a: f242 7110 movw r1, #10000 ; 0x2710 808ea8e: fb01 f202 mul.w r2, r1, r2 808ea92: 1a9a subs r2, r3, r2 808ea94: 4b92 ldr r3, [pc, #584] ; (808ece0 ) 808ea96: fba3 1302 umull r1, r3, r3, r2 808ea9a: 099b lsrs r3, r3, #6 808ea9c: f44f 717a mov.w r1, #1000 ; 0x3e8 808eaa0: fb01 f303 mul.w r3, r1, r3 808eaa4: 1ad3 subs r3, r2, r3 808eaa6: 4a8f ldr r2, [pc, #572] ; (808ece4 ) 808eaa8: fba2 1203 umull r1, r2, r2, r3 808eaac: 0952 lsrs r2, r2, #5 808eaae: 2164 movs r1, #100 ; 0x64 808eab0: fb01 f202 mul.w r2, r1, r2 808eab4: 1a9a subs r2, r3, r2 808eab6: 4b8c ldr r3, [pc, #560] ; (808ece8 ) 808eab8: fba3 1302 umull r1, r3, r3, r2 808eabc: 08d9 lsrs r1, r3, #3 808eabe: 460b mov r3, r1 808eac0: 009b lsls r3, r3, #2 808eac2: 440b add r3, r1 808eac4: 005b lsls r3, r3, #1 808eac6: 1ad1 subs r1, r2, r3 808eac8: b2cb uxtb r3, r1 808eaca: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 808eace: 2300 movs r3, #0 808ead0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 808ead4: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808ead8: 220c movs r2, #12 808eada: 2100 movs r1, #0 808eadc: 4618 mov r0, r3 808eade: f043 fa61 bl 80d1fa4 if(idtHP != 0) 808eae2: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808eae6: b2db uxtb r3, r3 808eae8: 2b00 cmp r3, #0 808eaea: d00c beq.n 808eb06 strHP[i++] = idtHP + 48; 808eaec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808eaf0: 1c5a adds r2, r3, #1 808eaf2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808eaf6: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 808eafa: b2d2 uxtb r2, r2 808eafc: 3230 adds r2, #48 ; 0x30 808eafe: b2d1 uxtb r1, r2 808eb00: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808eb04: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 808eb06: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808eb0a: b2db uxtb r3, r3 808eb0c: 2b00 cmp r3, #0 808eb0e: d104 bne.n 808eb1a 808eb10: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808eb14: b2db uxtb r3, r3 808eb16: 2b00 cmp r3, #0 808eb18: d00c beq.n 808eb34 strHP[i++] = ietHP + 48; 808eb1a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808eb1e: 1c5a adds r2, r3, #1 808eb20: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808eb24: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 808eb28: b2d2 uxtb r2, r2 808eb2a: 3230 adds r2, #48 ; 0x30 808eb2c: b2d1 uxtb r1, r2 808eb2e: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808eb32: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808eb34: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808eb38: b2db uxtb r3, r3 808eb3a: 2b00 cmp r3, #0 808eb3c: d109 bne.n 808eb52 808eb3e: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808eb42: b2db uxtb r3, r3 808eb44: 2b00 cmp r3, #0 808eb46: d104 bne.n 808eb52 808eb48: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808eb4c: b2db uxtb r3, r3 808eb4e: 2b00 cmp r3, #0 808eb50: d00c beq.n 808eb6c strHP[i++] = iesHP + 48; 808eb52: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808eb56: 1c5a adds r2, r3, #1 808eb58: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808eb5c: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 808eb60: b2d2 uxtb r2, r2 808eb62: 3230 adds r2, #48 ; 0x30 808eb64: b2d1 uxtb r1, r2 808eb66: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808eb6a: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808eb6c: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808eb70: b2db uxtb r3, r3 808eb72: 2b00 cmp r3, #0 808eb74: d10e bne.n 808eb94 808eb76: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808eb7a: b2db uxtb r3, r3 808eb7c: 2b00 cmp r3, #0 808eb7e: d109 bne.n 808eb94 808eb80: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808eb84: b2db uxtb r3, r3 808eb86: 2b00 cmp r3, #0 808eb88: d104 bne.n 808eb94 808eb8a: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808eb8e: b2db uxtb r3, r3 808eb90: 2b00 cmp r3, #0 808eb92: d00c beq.n 808ebae strHP[i++] = iedHP + 48; 808eb94: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808eb98: 1c5a adds r2, r3, #1 808eb9a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808eb9e: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 808eba2: b2d2 uxtb r2, r2 808eba4: 3230 adds r2, #48 ; 0x30 808eba6: b2d1 uxtb r1, r2 808eba8: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808ebac: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 808ebae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ebb2: 1c5a adds r2, r3, #1 808ebb4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ebb8: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 808ebbc: b2d2 uxtb r2, r2 808ebbe: 3230 adds r2, #48 ; 0x30 808ebc0: b2d1 uxtb r1, r2 808ebc2: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808ebc6: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 808ebc8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ebcc: 1c5a adds r2, r3, #1 808ebce: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ebd2: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808ebd6: 212e movs r1, #46 ; 0x2e 808ebd8: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 808ebda: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ebde: 1c5a adds r2, r3, #1 808ebe0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ebe4: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 808ebe8: b2d2 uxtb r2, r2 808ebea: 3230 adds r2, #48 ; 0x30 808ebec: b2d1 uxtb r1, r2 808ebee: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808ebf2: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.LP * 10.0f); 808ebf4: 4b3d ldr r3, [pc, #244] ; (808ecec ) 808ebf6: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 808ebfa: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808ebfe: ee67 7a87 vmul.f32 s15, s15, s14 808ec02: eefc 7ae7 vcvt.u32.f32 s15, s15 808ec06: ee17 3a90 vmov r3, s15 808ec0a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 808ec0e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808ec12: 095b lsrs r3, r3, #5 808ec14: 4a31 ldr r2, [pc, #196] ; (808ecdc ) 808ec16: fba2 2303 umull r2, r3, r2, r3 808ec1a: 09db lsrs r3, r3, #7 808ec1c: b2db uxtb r3, r3 808ec1e: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 808ec22: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808ec26: 0953 lsrs r3, r2, #5 808ec28: 492c ldr r1, [pc, #176] ; (808ecdc ) 808ec2a: fba1 1303 umull r1, r3, r1, r3 808ec2e: 09db lsrs r3, r3, #7 808ec30: 4928 ldr r1, [pc, #160] ; (808ecd4 ) 808ec32: fb01 f303 mul.w r3, r1, r3 808ec36: 1ad3 subs r3, r2, r3 808ec38: 4a27 ldr r2, [pc, #156] ; (808ecd8 ) 808ec3a: fba2 2303 umull r2, r3, r2, r3 808ec3e: 0b5b lsrs r3, r3, #13 808ec40: b2db uxtb r3, r3 808ec42: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 808ec46: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808ec4a: 0953 lsrs r3, r2, #5 808ec4c: 4923 ldr r1, [pc, #140] ; (808ecdc ) 808ec4e: fba1 1303 umull r1, r3, r1, r3 808ec52: 09db lsrs r3, r3, #7 808ec54: 491f ldr r1, [pc, #124] ; (808ecd4 ) 808ec56: fb01 f303 mul.w r3, r1, r3 808ec5a: 1ad3 subs r3, r2, r3 808ec5c: 4a1e ldr r2, [pc, #120] ; (808ecd8 ) 808ec5e: fba2 1203 umull r1, r2, r2, r3 808ec62: 0b52 lsrs r2, r2, #13 808ec64: f242 7110 movw r1, #10000 ; 0x2710 808ec68: fb01 f202 mul.w r2, r1, r2 808ec6c: 1a9a subs r2, r3, r2 808ec6e: 4b1c ldr r3, [pc, #112] ; (808ece0 ) 808ec70: fba3 2302 umull r2, r3, r3, r2 808ec74: 099b lsrs r3, r3, #6 808ec76: b2db uxtb r3, r3 808ec78: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808ec7c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808ec80: 095a lsrs r2, r3, #5 808ec82: 4916 ldr r1, [pc, #88] ; (808ecdc ) 808ec84: fba1 1202 umull r1, r2, r1, r2 808ec88: 09d2 lsrs r2, r2, #7 808ec8a: 4912 ldr r1, [pc, #72] ; (808ecd4 ) 808ec8c: fb01 f202 mul.w r2, r1, r2 808ec90: 1a9a subs r2, r3, r2 808ec92: 4b11 ldr r3, [pc, #68] ; (808ecd8 ) 808ec94: fba3 1302 umull r1, r3, r3, r2 808ec98: 0b5b lsrs r3, r3, #13 808ec9a: f242 7110 movw r1, #10000 ; 0x2710 808ec9e: fb01 f303 mul.w r3, r1, r3 808eca2: 1ad3 subs r3, r2, r3 808eca4: 4a0e ldr r2, [pc, #56] ; (808ece0 ) 808eca6: fba2 1203 umull r1, r2, r2, r3 808ecaa: 0992 lsrs r2, r2, #6 808ecac: f44f 717a mov.w r1, #1000 ; 0x3e8 808ecb0: fb01 f202 mul.w r2, r1, r2 808ecb4: 1a9a subs r2, r3, r2 808ecb6: 4b0b ldr r3, [pc, #44] ; (808ece4 ) 808ecb8: fba3 2302 umull r2, r3, r3, r2 808ecbc: 095b lsrs r3, r3, #5 808ecbe: b2db uxtb r3, r3 808ecc0: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808ecc4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808ecc8: 0953 lsrs r3, r2, #5 808ecca: 4904 ldr r1, [pc, #16] ; (808ecdc ) 808eccc: fba1 1303 umull r1, r3, r1, r3 808ecd0: 09db lsrs r3, r3, #7 808ecd2: e00d b.n 808ecf0 808ecd4: 000186a0 .word 0x000186a0 808ecd8: d1b71759 .word 0xd1b71759 808ecdc: 0a7c5ac5 .word 0x0a7c5ac5 808ece0: 10624dd3 .word 0x10624dd3 808ece4: 51eb851f .word 0x51eb851f 808ece8: cccccccd .word 0xcccccccd 808ecec: 20023eb8 .word 0x20023eb8 808ecf0: 49bd ldr r1, [pc, #756] ; (808efe8 ) 808ecf2: fb01 f303 mul.w r3, r1, r3 808ecf6: 1ad3 subs r3, r2, r3 808ecf8: 4abc ldr r2, [pc, #752] ; (808efec ) 808ecfa: fba2 1203 umull r1, r2, r2, r3 808ecfe: 0b52 lsrs r2, r2, #13 808ed00: f242 7110 movw r1, #10000 ; 0x2710 808ed04: fb01 f202 mul.w r2, r1, r2 808ed08: 1a9a subs r2, r3, r2 808ed0a: 4bb9 ldr r3, [pc, #740] ; (808eff0 ) 808ed0c: fba3 1302 umull r1, r3, r3, r2 808ed10: 099b lsrs r3, r3, #6 808ed12: f44f 717a mov.w r1, #1000 ; 0x3e8 808ed16: fb01 f303 mul.w r3, r1, r3 808ed1a: 1ad3 subs r3, r2, r3 808ed1c: 4ab5 ldr r2, [pc, #724] ; (808eff4 ) 808ed1e: fba2 1203 umull r1, r2, r2, r3 808ed22: 0952 lsrs r2, r2, #5 808ed24: 2164 movs r1, #100 ; 0x64 808ed26: fb01 f202 mul.w r2, r1, r2 808ed2a: 1a9a subs r2, r3, r2 808ed2c: 4bb2 ldr r3, [pc, #712] ; (808eff8 ) 808ed2e: fba3 2302 umull r2, r3, r3, r2 808ed32: 08db lsrs r3, r3, #3 808ed34: b2db uxtb r3, r3 808ed36: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808ed3a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808ed3e: 0953 lsrs r3, r2, #5 808ed40: 49ae ldr r1, [pc, #696] ; (808effc ) 808ed42: fba1 1303 umull r1, r3, r1, r3 808ed46: 09db lsrs r3, r3, #7 808ed48: 49a7 ldr r1, [pc, #668] ; (808efe8 ) 808ed4a: fb01 f303 mul.w r3, r1, r3 808ed4e: 1ad3 subs r3, r2, r3 808ed50: 4aa6 ldr r2, [pc, #664] ; (808efec ) 808ed52: fba2 1203 umull r1, r2, r2, r3 808ed56: 0b52 lsrs r2, r2, #13 808ed58: f242 7110 movw r1, #10000 ; 0x2710 808ed5c: fb01 f202 mul.w r2, r1, r2 808ed60: 1a9a subs r2, r3, r2 808ed62: 4ba3 ldr r3, [pc, #652] ; (808eff0 ) 808ed64: fba3 1302 umull r1, r3, r3, r2 808ed68: 099b lsrs r3, r3, #6 808ed6a: f44f 717a mov.w r1, #1000 ; 0x3e8 808ed6e: fb01 f303 mul.w r3, r1, r3 808ed72: 1ad3 subs r3, r2, r3 808ed74: 4a9f ldr r2, [pc, #636] ; (808eff4 ) 808ed76: fba2 1203 umull r1, r2, r2, r3 808ed7a: 0952 lsrs r2, r2, #5 808ed7c: 2164 movs r1, #100 ; 0x64 808ed7e: fb01 f202 mul.w r2, r1, r2 808ed82: 1a9a subs r2, r3, r2 808ed84: 4b9c ldr r3, [pc, #624] ; (808eff8 ) 808ed86: fba3 1302 umull r1, r3, r3, r2 808ed8a: 08d9 lsrs r1, r3, #3 808ed8c: 460b mov r3, r1 808ed8e: 009b lsls r3, r3, #2 808ed90: 440b add r3, r1 808ed92: 005b lsls r3, r3, #1 808ed94: 1ad1 subs r1, r2, r3 808ed96: b2cb uxtb r3, r1 808ed98: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 808ed9c: 2300 movs r3, #0 808ed9e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 808eda2: f507 73cc add.w r3, r7, #408 ; 0x198 808eda6: 220c movs r2, #12 808eda8: 2100 movs r1, #0 808edaa: 4618 mov r0, r3 808edac: f043 f8fa bl 80d1fa4 if(idtLP != 0) 808edb0: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808edb4: b2db uxtb r3, r3 808edb6: 2b00 cmp r3, #0 808edb8: d00c beq.n 808edd4 strLP[i++] = idtLP + 48; 808edba: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808edbe: 1c5a adds r2, r3, #1 808edc0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808edc4: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 808edc8: b2d2 uxtb r2, r2 808edca: 3230 adds r2, #48 ; 0x30 808edcc: b2d1 uxtb r1, r2 808edce: f507 72cc add.w r2, r7, #408 ; 0x198 808edd2: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 808edd4: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808edd8: b2db uxtb r3, r3 808edda: 2b00 cmp r3, #0 808eddc: d104 bne.n 808ede8 808edde: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808ede2: b2db uxtb r3, r3 808ede4: 2b00 cmp r3, #0 808ede6: d00c beq.n 808ee02 strLP[i++] = ietLP + 48; 808ede8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808edec: 1c5a adds r2, r3, #1 808edee: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808edf2: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 808edf6: b2d2 uxtb r2, r2 808edf8: 3230 adds r2, #48 ; 0x30 808edfa: b2d1 uxtb r1, r2 808edfc: f507 72cc add.w r2, r7, #408 ; 0x198 808ee00: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808ee02: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808ee06: b2db uxtb r3, r3 808ee08: 2b00 cmp r3, #0 808ee0a: d109 bne.n 808ee20 808ee0c: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808ee10: b2db uxtb r3, r3 808ee12: 2b00 cmp r3, #0 808ee14: d104 bne.n 808ee20 808ee16: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808ee1a: b2db uxtb r3, r3 808ee1c: 2b00 cmp r3, #0 808ee1e: d00c beq.n 808ee3a strLP[i++] = iesLP + 48; 808ee20: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ee24: 1c5a adds r2, r3, #1 808ee26: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ee2a: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 808ee2e: b2d2 uxtb r2, r2 808ee30: 3230 adds r2, #48 ; 0x30 808ee32: b2d1 uxtb r1, r2 808ee34: f507 72cc add.w r2, r7, #408 ; 0x198 808ee38: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808ee3a: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808ee3e: b2db uxtb r3, r3 808ee40: 2b00 cmp r3, #0 808ee42: d10e bne.n 808ee62 808ee44: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808ee48: b2db uxtb r3, r3 808ee4a: 2b00 cmp r3, #0 808ee4c: d109 bne.n 808ee62 808ee4e: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808ee52: b2db uxtb r3, r3 808ee54: 2b00 cmp r3, #0 808ee56: d104 bne.n 808ee62 808ee58: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808ee5c: b2db uxtb r3, r3 808ee5e: 2b00 cmp r3, #0 808ee60: d00c beq.n 808ee7c strLP[i++] = iedLP + 48; 808ee62: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ee66: 1c5a adds r2, r3, #1 808ee68: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ee6c: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 808ee70: b2d2 uxtb r2, r2 808ee72: 3230 adds r2, #48 ; 0x30 808ee74: b2d1 uxtb r1, r2 808ee76: f507 72cc add.w r2, r7, #408 ; 0x198 808ee7a: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 808ee7c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ee80: 1c5a adds r2, r3, #1 808ee82: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ee86: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 808ee8a: b2d2 uxtb r2, r2 808ee8c: 3230 adds r2, #48 ; 0x30 808ee8e: b2d1 uxtb r1, r2 808ee90: f507 72cc add.w r2, r7, #408 ; 0x198 808ee94: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 808ee96: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ee9a: 1c5a adds r2, r3, #1 808ee9c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808eea0: f507 72cc add.w r2, r7, #408 ; 0x198 808eea4: 212e movs r1, #46 ; 0x2e 808eea6: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 808eea8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808eeac: 1c5a adds r2, r3, #1 808eeae: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808eeb2: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 808eeb6: b2d2 uxtb r2, r2 808eeb8: 3230 adds r2, #48 ; 0x30 808eeba: b2d1 uxtb r1, r2 808eebc: f507 72cc add.w r2, r7, #408 ; 0x198 808eec0: 54d1 strb r1, [r2, r3] if(pardata.LANG == RUS) 808eec2: 4b4f ldr r3, [pc, #316] ; (808f000 ) 808eec4: 7b1b ldrb r3, [r3, #12] 808eec6: b2db uxtb r3, r3 808eec8: 2b00 cmp r3, #0 808eeca: d133 bne.n 808ef34 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808eecc: 494d ldr r1, [pc, #308] ; (808f004 ) 808eece: f04f 30ff mov.w r0, #4294967295 808eed2: f7c6 f99b bl 805520c LCD_DisplayString(10, LCD_LINE_3, "Âåëè÷èíà"); 808eed6: 4a4c ldr r2, [pc, #304] ; (808f008 ) 808eed8: 213a movs r1, #58 ; 0x3a 808eeda: 200a movs r0, #10 808eedc: f7c6 ff3e bl 8055d5c LCD_DisplayString(10, LCD_LINE_4, "Ôèëüòð Â×(Ãö)"); 808eee0: 4a4a ldr r2, [pc, #296] ; (808f00c ) 808eee2: 214a movs r1, #74 ; 0x4a 808eee4: 200a movs r0, #10 808eee6: f7c6 ff39 bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, "Ôèëüòð Í×(Ãö)"); 808eeea: 4a49 ldr r2, [pc, #292] ; (808f010 ) 808eeec: 215a movs r1, #90 ; 0x5a 808eeee: 200a movs r0, #10 808eef0: f7c6 ff34 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "×àñòîòà âûáîðêè"); 808eef4: 4a47 ldr r2, [pc, #284] ; (808f014 ) 808eef6: 216a movs r1, #106 ; 0x6a 808eef8: 200a movs r0, #10 808eefa: f7c6 ff2f bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Âðåìÿ âûáîðêè"); 808eefe: 4a46 ldr r2, [pc, #280] ; (808f018 ) 808ef00: 217a movs r1, #122 ; 0x7a 808ef02: 200a movs r0, #10 808ef04: f7c6 ff2a bl 8055d5c if((pardata.IPR > ACC) || (pardata.OPTIONS & 0x4)) 808ef08: 4b3d ldr r3, [pc, #244] ; (808f000 ) 808ef0a: 785b ldrb r3, [r3, #1] 808ef0c: b2db uxtb r3, r3 808ef0e: 2b00 cmp r3, #0 808ef10: d106 bne.n 808ef20 808ef12: 4b3b ldr r3, [pc, #236] ; (808f000 ) 808ef14: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808ef18: f003 0304 and.w r3, r3, #4 808ef1c: 2b00 cmp r3, #0 808ef1e: d003 beq.n 808ef28 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808ef20: 4938 ldr r1, [pc, #224] ; (808f004 ) 808ef22: 483e ldr r0, [pc, #248] ; (808f01c ) 808ef24: f7c6 f972 bl 805520c LCD_DisplayString(10, LCD_LINE_10, "Ñòîï ïî ïîðîãó"); 808ef28: 4a3d ldr r2, [pc, #244] ; (808f020 ) 808ef2a: 21aa movs r1, #170 ; 0xaa 808ef2c: 200a movs r0, #10 808ef2e: f7c6 ff15 bl 8055d5c 808ef32: e032 b.n 808ef9a } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808ef34: 4933 ldr r1, [pc, #204] ; (808f004 ) 808ef36: f04f 30ff mov.w r0, #4294967295 808ef3a: f7c6 f967 bl 805520c LCD_DisplayString(10, LCD_LINE_3, "Parameter"); 808ef3e: 4a39 ldr r2, [pc, #228] ; (808f024 ) 808ef40: 213a movs r1, #58 ; 0x3a 808ef42: 200a movs r0, #10 808ef44: f7c6 ff0a bl 8055d5c LCD_DisplayString(10, LCD_LINE_4, "HPF(Hz)"); 808ef48: 4a37 ldr r2, [pc, #220] ; (808f028 ) 808ef4a: 214a movs r1, #74 ; 0x4a 808ef4c: 200a movs r0, #10 808ef4e: f7c6 ff05 bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, "LPF(Hz)"); 808ef52: 4a36 ldr r2, [pc, #216] ; (808f02c ) 808ef54: 215a movs r1, #90 ; 0x5a 808ef56: 200a movs r0, #10 808ef58: f7c6 ff00 bl 8055d5c LCD_DisplayString(10, LCD_LINE_6, "Sample rate"); 808ef5c: 4a34 ldr r2, [pc, #208] ; (808f030 ) 808ef5e: 216a movs r1, #106 ; 0x6a 808ef60: 200a movs r0, #10 808ef62: f7c6 fefb bl 8055d5c LCD_DisplayString(10, LCD_LINE_7, "Time interval"); 808ef66: 4a33 ldr r2, [pc, #204] ; (808f034 ) 808ef68: 217a movs r1, #122 ; 0x7a 808ef6a: 200a movs r0, #10 808ef6c: f7c6 fef6 bl 8055d5c if((pardata.IPR > ACC) || (pardata.OPTIONS & 0x4)) 808ef70: 4b23 ldr r3, [pc, #140] ; (808f000 ) 808ef72: 785b ldrb r3, [r3, #1] 808ef74: b2db uxtb r3, r3 808ef76: 2b00 cmp r3, #0 808ef78: d106 bne.n 808ef88 808ef7a: 4b21 ldr r3, [pc, #132] ; (808f000 ) 808ef7c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808ef80: f003 0304 and.w r3, r3, #4 808ef84: 2b00 cmp r3, #0 808ef86: d003 beq.n 808ef90 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808ef88: 491e ldr r1, [pc, #120] ; (808f004 ) 808ef8a: 4824 ldr r0, [pc, #144] ; (808f01c ) 808ef8c: f7c6 f93e bl 805520c LCD_DisplayString(10, LCD_LINE_10, "Stop on threshold"); 808ef90: 4a29 ldr r2, [pc, #164] ; (808f038 ) 808ef92: 21aa movs r1, #170 ; 0xaa 808ef94: 200a movs r0, #10 808ef96: f7c6 fee1 bl 8055d5c } if(menupos != Ok) 808ef9a: 4b28 ldr r3, [pc, #160] ; (808f03c ) 808ef9c: 781b ldrb r3, [r3, #0] 808ef9e: b2db uxtb r3, r3 808efa0: 2b00 cmp r3, #0 808efa2: d005 beq.n 808efb0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808efa4: 4917 ldr r1, [pc, #92] ; (808f004 ) 808efa6: f04f 30ff mov.w r0, #4294967295 808efaa: f7c6 f92f bl 805520c 808efae: e004 b.n 808efba else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808efb0: 4914 ldr r1, [pc, #80] ; (808f004 ) 808efb2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808efb6: f7c6 f929 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]); 808efba: 4b11 ldr r3, [pc, #68] ; (808f000 ) 808efbc: 7b1b ldrb r3, [r3, #12] 808efbe: b2db uxtb r3, r3 808efc0: 461a mov r2, r3 808efc2: 4b1f ldr r3, [pc, #124] ; (808f040 ) 808efc4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808efc8: 461a mov r2, r3 808efca: 2127 movs r1, #39 ; 0x27 808efcc: 200a movs r0, #10 808efce: f7c6 fec5 bl 8055d5c if(menupos != OscValue) 808efd2: 4b1a ldr r3, [pc, #104] ; (808f03c ) 808efd4: 781b ldrb r3, [r3, #0] 808efd6: b2db uxtb r3, r3 808efd8: 2b01 cmp r3, #1 808efda: d035 beq.n 808f048 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808efdc: 4909 ldr r1, [pc, #36] ; (808f004 ) 808efde: 4819 ldr r0, [pc, #100] ; (808f044 ) 808efe0: f7c6 f914 bl 805520c 808efe4: e035 b.n 808f052 808efe6: bf00 nop 808efe8: 000186a0 .word 0x000186a0 808efec: d1b71759 .word 0xd1b71759 808eff0: 10624dd3 .word 0x10624dd3 808eff4: 51eb851f .word 0x51eb851f 808eff8: cccccccd .word 0xcccccccd 808effc: 0a7c5ac5 .word 0x0a7c5ac5 808f000: 20023eb8 .word 0x20023eb8 808f004: ff0a0f1f .word 0xff0a0f1f 808f008: 080d6198 .word 0x080d6198 808f00c: 080d5c40 .word 0x080d5c40 808f010: 080d5c50 .word 0x080d5c50 808f014: 080d5e9c .word 0x080d5e9c 808f018: 080d6b70 .word 0x080d6b70 808f01c: ff808080 .word 0xff808080 808f020: 080d6b80 .word 0x080d6b80 808f024: 080d61a4 .word 0x080d61a4 808f028: 080d5cf0 .word 0x080d5cf0 808f02c: 080d5cf8 .word 0x080d5cf8 808f030: 080d5eec .word 0x080d5eec 808f034: 080d6b90 .word 0x080d6b90 808f038: 080d6ba0 .word 0x080d6ba0 808f03c: 20020070 .word 0x20020070 808f040: 200205cc .word 0x200205cc 808f044: ffd8aa57 .word 0xffd8aa57 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f048: 49b8 ldr r1, [pc, #736] ; (808f32c ) 808f04a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f04e: f7c6 f8dd bl 805520c if((focused) && (menupos == OscValue)) 808f052: 4bb7 ldr r3, [pc, #732] ; (808f330 ) 808f054: 781b ldrb r3, [r3, #0] 808f056: b2db uxtb r3, r3 808f058: 2b00 cmp r3, #0 808f05a: d01e beq.n 808f09a 808f05c: 4bb5 ldr r3, [pc, #724] ; (808f334 ) 808f05e: 781b ldrb r3, [r3, #0] 808f060: b2db uxtb r3, r3 808f062: 2b01 cmp r3, #1 808f064: d119 bne.n 808f09a { if(blk) 808f066: 4bb4 ldr r3, [pc, #720] ; (808f338 ) 808f068: 681b ldr r3, [r3, #0] 808f06a: 2b00 cmp r3, #0 808f06c: d02a beq.n 808f0c4 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pIPR[pardata.LANG][pardata.IPR]); 808f06e: 4bb3 ldr r3, [pc, #716] ; (808f33c ) 808f070: 7b1b ldrb r3, [r3, #12] 808f072: b2db uxtb r3, r3 808f074: 4619 mov r1, r3 808f076: 4bb1 ldr r3, [pc, #708] ; (808f33c ) 808f078: 785b ldrb r3, [r3, #1] 808f07a: b2db uxtb r3, r3 808f07c: 4618 mov r0, r3 808f07e: 4ab0 ldr r2, [pc, #704] ; (808f340 ) 808f080: 460b mov r3, r1 808f082: 005b lsls r3, r3, #1 808f084: 440b add r3, r1 808f086: 4403 add r3, r0 808f088: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f08c: 461a mov r2, r3 808f08e: 213a movs r1, #58 ; 0x3a 808f090: f44f 7082 mov.w r0, #260 ; 0x104 808f094: f7c6 fe7a bl 8055d8c if(blk) 808f098: e014 b.n 808f0c4 } else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pIPR[pardata.LANG][pardata.IPR]); 808f09a: 4ba8 ldr r3, [pc, #672] ; (808f33c ) 808f09c: 7b1b ldrb r3, [r3, #12] 808f09e: b2db uxtb r3, r3 808f0a0: 4619 mov r1, r3 808f0a2: 4ba6 ldr r3, [pc, #664] ; (808f33c ) 808f0a4: 785b ldrb r3, [r3, #1] 808f0a6: b2db uxtb r3, r3 808f0a8: 4618 mov r0, r3 808f0aa: 4aa5 ldr r2, [pc, #660] ; (808f340 ) 808f0ac: 460b mov r3, r1 808f0ae: 005b lsls r3, r3, #1 808f0b0: 440b add r3, r1 808f0b2: 4403 add r3, r0 808f0b4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f0b8: 461a mov r2, r3 808f0ba: 213a movs r1, #58 ; 0x3a 808f0bc: f44f 7082 mov.w r0, #260 ; 0x104 808f0c0: f7c6 fe64 bl 8055d8c if(menupos != FilterHP) 808f0c4: 4b9b ldr r3, [pc, #620] ; (808f334 ) 808f0c6: 781b ldrb r3, [r3, #0] 808f0c8: b2db uxtb r3, r3 808f0ca: 2b17 cmp r3, #23 808f0cc: d004 beq.n 808f0d8 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f0ce: 4997 ldr r1, [pc, #604] ; (808f32c ) 808f0d0: 489c ldr r0, [pc, #624] ; (808f344 ) 808f0d2: f7c6 f89b bl 805520c 808f0d6: e004 b.n 808f0e2 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f0d8: 4994 ldr r1, [pc, #592] ; (808f32c ) 808f0da: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f0de: f7c6 f895 bl 805520c if((menupos < FilterHP_IDT) || (menupos > FilterHP_IKD)) 808f0e2: 4b94 ldr r3, [pc, #592] ; (808f334 ) 808f0e4: 781b ldrb r3, [r3, #0] 808f0e6: b2db uxtb r3, r3 808f0e8: 2b18 cmp r3, #24 808f0ea: d904 bls.n 808f0f6 808f0ec: 4b91 ldr r3, [pc, #580] ; (808f334 ) 808f0ee: 781b ldrb r3, [r3, #0] 808f0f0: b2db uxtb r3, r3 808f0f2: 2b1e cmp r3, #30 808f0f4: d907 bls.n 808f106 LCD_DisplayStringC(260, LCD_LINE_4, strHP); 808f0f6: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808f0fa: 461a mov r2, r3 808f0fc: 214a movs r1, #74 ; 0x4a 808f0fe: f44f 7082 mov.w r0, #260 ; 0x104 808f102: f7c6 fe43 bl 8055d8c if(menupos != FilterLP) 808f106: 4b8b ldr r3, [pc, #556] ; (808f334 ) 808f108: 781b ldrb r3, [r3, #0] 808f10a: b2db uxtb r3, r3 808f10c: 2b18 cmp r3, #24 808f10e: d004 beq.n 808f11a LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f110: 4986 ldr r1, [pc, #536] ; (808f32c ) 808f112: 488c ldr r0, [pc, #560] ; (808f344 ) 808f114: f7c6 f87a bl 805520c 808f118: e004 b.n 808f124 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f11a: 4984 ldr r1, [pc, #528] ; (808f32c ) 808f11c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f120: f7c6 f874 bl 805520c if((menupos < FilterLP_IDT) || (menupos > FilterLP_IKD)) 808f124: 4b83 ldr r3, [pc, #524] ; (808f334 ) 808f126: 781b ldrb r3, [r3, #0] 808f128: b2db uxtb r3, r3 808f12a: 2b1e cmp r3, #30 808f12c: d904 bls.n 808f138 808f12e: 4b81 ldr r3, [pc, #516] ; (808f334 ) 808f130: 781b ldrb r3, [r3, #0] 808f132: b2db uxtb r3, r3 808f134: 2b24 cmp r3, #36 ; 0x24 808f136: d907 bls.n 808f148 LCD_DisplayStringC(260, LCD_LINE_5, strLP); 808f138: f507 73cc add.w r3, r7, #408 ; 0x198 808f13c: 461a mov r2, r3 808f13e: 215a movs r1, #90 ; 0x5a 808f140: f44f 7082 mov.w r0, #260 ; 0x104 808f144: f7c6 fe22 bl 8055d8c if(menupos != OscRate) 808f148: 4b7a ldr r3, [pc, #488] ; (808f334 ) 808f14a: 781b ldrb r3, [r3, #0] 808f14c: b2db uxtb r3, r3 808f14e: 2b03 cmp r3, #3 808f150: d004 beq.n 808f15c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f152: 4976 ldr r1, [pc, #472] ; (808f32c ) 808f154: 487b ldr r0, [pc, #492] ; (808f344 ) 808f156: f7c6 f859 bl 805520c 808f15a: e004 b.n 808f166 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f15c: 4973 ldr r1, [pc, #460] ; (808f32c ) 808f15e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f162: f7c6 f853 bl 805520c if((focused) && (menupos == OscRate)) 808f166: 4b72 ldr r3, [pc, #456] ; (808f330 ) 808f168: 781b ldrb r3, [r3, #0] 808f16a: b2db uxtb r3, r3 808f16c: 2b00 cmp r3, #0 808f16e: d01f beq.n 808f1b0 808f170: 4b70 ldr r3, [pc, #448] ; (808f334 ) 808f172: 781b ldrb r3, [r3, #0] 808f174: b2db uxtb r3, r3 808f176: 2b03 cmp r3, #3 808f178: d11a bne.n 808f1b0 { if(blk) 808f17a: 4b6f ldr r3, [pc, #444] ; (808f338 ) 808f17c: 681b ldr r3, [r3, #0] 808f17e: 2b00 cmp r3, #0 808f180: d02c beq.n 808f1dc LCD_DisplayStringC(260, LCD_LINE_6, (char *) pFRQ[pardata.LANG][pardata.FRQ]); 808f182: 4b6e ldr r3, [pc, #440] ; (808f33c ) 808f184: 7b1b ldrb r3, [r3, #12] 808f186: b2db uxtb r3, r3 808f188: 4619 mov r1, r3 808f18a: 4b6c ldr r3, [pc, #432] ; (808f33c ) 808f18c: 7adb ldrb r3, [r3, #11] 808f18e: b2db uxtb r3, r3 808f190: 4618 mov r0, r3 808f192: 4a6d ldr r2, [pc, #436] ; (808f348 ) 808f194: 460b mov r3, r1 808f196: 009b lsls r3, r3, #2 808f198: 440b add r3, r1 808f19a: 005b lsls r3, r3, #1 808f19c: 4403 add r3, r0 808f19e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f1a2: 461a mov r2, r3 808f1a4: 216a movs r1, #106 ; 0x6a 808f1a6: f44f 7082 mov.w r0, #260 ; 0x104 808f1aa: f7c6 fdef bl 8055d8c if(blk) 808f1ae: e015 b.n 808f1dc } else LCD_DisplayStringC(260, LCD_LINE_6, (char *) pFRQ[pardata.LANG][pardata.FRQ]); 808f1b0: 4b62 ldr r3, [pc, #392] ; (808f33c ) 808f1b2: 7b1b ldrb r3, [r3, #12] 808f1b4: b2db uxtb r3, r3 808f1b6: 4619 mov r1, r3 808f1b8: 4b60 ldr r3, [pc, #384] ; (808f33c ) 808f1ba: 7adb ldrb r3, [r3, #11] 808f1bc: b2db uxtb r3, r3 808f1be: 4618 mov r0, r3 808f1c0: 4a61 ldr r2, [pc, #388] ; (808f348 ) 808f1c2: 460b mov r3, r1 808f1c4: 009b lsls r3, r3, #2 808f1c6: 440b add r3, r1 808f1c8: 005b lsls r3, r3, #1 808f1ca: 4403 add r3, r0 808f1cc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f1d0: 461a mov r2, r3 808f1d2: 216a movs r1, #106 ; 0x6a 808f1d4: f44f 7082 mov.w r0, #260 ; 0x104 808f1d8: f7c6 fdd8 bl 8055d8c if(menupos != OscLen) 808f1dc: 4b55 ldr r3, [pc, #340] ; (808f334 ) 808f1de: 781b ldrb r3, [r3, #0] 808f1e0: b2db uxtb r3, r3 808f1e2: 2b04 cmp r3, #4 808f1e4: d004 beq.n 808f1f0 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f1e6: 4951 ldr r1, [pc, #324] ; (808f32c ) 808f1e8: 4856 ldr r0, [pc, #344] ; (808f344 ) 808f1ea: f7c6 f80f bl 805520c 808f1ee: e004 b.n 808f1fa else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f1f0: 494e ldr r1, [pc, #312] ; (808f32c ) 808f1f2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f1f6: f7c6 f809 bl 805520c if((focused) && (menupos == OscLen)) 808f1fa: 4b4d ldr r3, [pc, #308] ; (808f330 ) 808f1fc: 781b ldrb r3, [r3, #0] 808f1fe: b2db uxtb r3, r3 808f200: 2b00 cmp r3, #0 808f202: f000 8135 beq.w 808f470 808f206: 4b4b ldr r3, [pc, #300] ; (808f334 ) 808f208: 781b ldrb r3, [r3, #0] 808f20a: b2db uxtb r3, r3 808f20c: 2b04 cmp r3, #4 808f20e: f040 812f bne.w 808f470 { if(blk) 808f212: 4b49 ldr r3, [pc, #292] ; (808f338 ) 808f214: 681b ldr r3, [r3, #0] 808f216: 2b00 cmp r3, #0 808f218: f000 824f beq.w 808f6ba { if(pardata.FRQ == _125Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_125[pardata.LANG][pardata.LNE]); 808f21c: 4b47 ldr r3, [pc, #284] ; (808f33c ) 808f21e: 7adb ldrb r3, [r3, #11] 808f220: b2db uxtb r3, r3 808f222: 2b00 cmp r3, #0 808f224: d115 bne.n 808f252 808f226: 4b45 ldr r3, [pc, #276] ; (808f33c ) 808f228: 7b1b ldrb r3, [r3, #12] 808f22a: b2db uxtb r3, r3 808f22c: 4619 mov r1, r3 808f22e: 4b43 ldr r3, [pc, #268] ; (808f33c ) 808f230: 79db ldrb r3, [r3, #7] 808f232: b2db uxtb r3, r3 808f234: 4618 mov r0, r3 808f236: 4a45 ldr r2, [pc, #276] ; (808f34c ) 808f238: 460b mov r3, r1 808f23a: 009b lsls r3, r3, #2 808f23c: 440b add r3, r1 808f23e: 4403 add r3, r0 808f240: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f244: 461a mov r2, r3 808f246: 217a movs r1, #122 ; 0x7a 808f248: f44f 7082 mov.w r0, #260 ; 0x104 808f24c: f7c6 fd9e bl 8055d8c if(blk) 808f250: e233 b.n 808f6ba else if(pardata.FRQ == _250Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_250[pardata.LANG][pardata.LNE]); 808f252: 4b3a ldr r3, [pc, #232] ; (808f33c ) 808f254: 7adb ldrb r3, [r3, #11] 808f256: b2db uxtb r3, r3 808f258: 2b01 cmp r3, #1 808f25a: d115 bne.n 808f288 808f25c: 4b37 ldr r3, [pc, #220] ; (808f33c ) 808f25e: 7b1b ldrb r3, [r3, #12] 808f260: b2db uxtb r3, r3 808f262: 4619 mov r1, r3 808f264: 4b35 ldr r3, [pc, #212] ; (808f33c ) 808f266: 79db ldrb r3, [r3, #7] 808f268: b2db uxtb r3, r3 808f26a: 4618 mov r0, r3 808f26c: 4a38 ldr r2, [pc, #224] ; (808f350 ) 808f26e: 460b mov r3, r1 808f270: 009b lsls r3, r3, #2 808f272: 440b add r3, r1 808f274: 4403 add r3, r0 808f276: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f27a: 461a mov r2, r3 808f27c: 217a movs r1, #122 ; 0x7a 808f27e: f44f 7082 mov.w r0, #260 ; 0x104 808f282: f7c6 fd83 bl 8055d8c if(blk) 808f286: e218 b.n 808f6ba else if(pardata.FRQ == _500Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_500[pardata.LANG][pardata.LNE]); 808f288: 4b2c ldr r3, [pc, #176] ; (808f33c ) 808f28a: 7adb ldrb r3, [r3, #11] 808f28c: b2db uxtb r3, r3 808f28e: 2b02 cmp r3, #2 808f290: d115 bne.n 808f2be 808f292: 4b2a ldr r3, [pc, #168] ; (808f33c ) 808f294: 7b1b ldrb r3, [r3, #12] 808f296: b2db uxtb r3, r3 808f298: 4619 mov r1, r3 808f29a: 4b28 ldr r3, [pc, #160] ; (808f33c ) 808f29c: 79db ldrb r3, [r3, #7] 808f29e: b2db uxtb r3, r3 808f2a0: 4618 mov r0, r3 808f2a2: 4a2c ldr r2, [pc, #176] ; (808f354 ) 808f2a4: 460b mov r3, r1 808f2a6: 009b lsls r3, r3, #2 808f2a8: 440b add r3, r1 808f2aa: 4403 add r3, r0 808f2ac: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f2b0: 461a mov r2, r3 808f2b2: 217a movs r1, #122 ; 0x7a 808f2b4: f44f 7082 mov.w r0, #260 ; 0x104 808f2b8: f7c6 fd68 bl 8055d8c if(blk) 808f2bc: e1fd b.n 808f6ba else if(pardata.FRQ == _1000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_1000[pardata.LANG][pardata.LNE]); 808f2be: 4b1f ldr r3, [pc, #124] ; (808f33c ) 808f2c0: 7adb ldrb r3, [r3, #11] 808f2c2: b2db uxtb r3, r3 808f2c4: 2b03 cmp r3, #3 808f2c6: d115 bne.n 808f2f4 808f2c8: 4b1c ldr r3, [pc, #112] ; (808f33c ) 808f2ca: 7b1b ldrb r3, [r3, #12] 808f2cc: b2db uxtb r3, r3 808f2ce: 4619 mov r1, r3 808f2d0: 4b1a ldr r3, [pc, #104] ; (808f33c ) 808f2d2: 79db ldrb r3, [r3, #7] 808f2d4: b2db uxtb r3, r3 808f2d6: 4618 mov r0, r3 808f2d8: 4a1f ldr r2, [pc, #124] ; (808f358 ) 808f2da: 460b mov r3, r1 808f2dc: 009b lsls r3, r3, #2 808f2de: 440b add r3, r1 808f2e0: 4403 add r3, r0 808f2e2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f2e6: 461a mov r2, r3 808f2e8: 217a movs r1, #122 ; 0x7a 808f2ea: f44f 7082 mov.w r0, #260 ; 0x104 808f2ee: f7c6 fd4d bl 8055d8c if(blk) 808f2f2: e1e2 b.n 808f6ba else if(pardata.FRQ == _2000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_2000[pardata.LANG][pardata.LNE]); 808f2f4: 4b11 ldr r3, [pc, #68] ; (808f33c ) 808f2f6: 7adb ldrb r3, [r3, #11] 808f2f8: b2db uxtb r3, r3 808f2fa: 2b04 cmp r3, #4 808f2fc: d130 bne.n 808f360 808f2fe: 4b0f ldr r3, [pc, #60] ; (808f33c ) 808f300: 7b1b ldrb r3, [r3, #12] 808f302: b2db uxtb r3, r3 808f304: 4619 mov r1, r3 808f306: 4b0d ldr r3, [pc, #52] ; (808f33c ) 808f308: 79db ldrb r3, [r3, #7] 808f30a: b2db uxtb r3, r3 808f30c: 4618 mov r0, r3 808f30e: 4a13 ldr r2, [pc, #76] ; (808f35c ) 808f310: 460b mov r3, r1 808f312: 009b lsls r3, r3, #2 808f314: 440b add r3, r1 808f316: 4403 add r3, r0 808f318: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f31c: 461a mov r2, r3 808f31e: 217a movs r1, #122 ; 0x7a 808f320: f44f 7082 mov.w r0, #260 ; 0x104 808f324: f7c6 fd32 bl 8055d8c if(blk) 808f328: e1c7 b.n 808f6ba 808f32a: bf00 nop 808f32c: ff0a0f1f .word 0xff0a0f1f 808f330: 20020fd0 .word 0x20020fd0 808f334: 20020070 .word 0x20020070 808f338: 200216ac .word 0x200216ac 808f33c: 20023eb8 .word 0x20023eb8 808f340: 2002016c .word 0x2002016c 808f344: ffd8aa57 .word 0xffd8aa57 808f348: 200202ec .word 0x200202ec 808f34c: 20020434 .word 0x20020434 808f350: 2002045c .word 0x2002045c 808f354: 20020484 .word 0x20020484 808f358: 200204ac .word 0x200204ac 808f35c: 200204d4 .word 0x200204d4 else if(pardata.FRQ == _4000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_4000[pardata.LANG][pardata.LNE]); 808f360: 4bbd ldr r3, [pc, #756] ; (808f658 ) 808f362: 7adb ldrb r3, [r3, #11] 808f364: b2db uxtb r3, r3 808f366: 2b05 cmp r3, #5 808f368: d115 bne.n 808f396 808f36a: 4bbb ldr r3, [pc, #748] ; (808f658 ) 808f36c: 7b1b ldrb r3, [r3, #12] 808f36e: b2db uxtb r3, r3 808f370: 4619 mov r1, r3 808f372: 4bb9 ldr r3, [pc, #740] ; (808f658 ) 808f374: 79db ldrb r3, [r3, #7] 808f376: b2db uxtb r3, r3 808f378: 4618 mov r0, r3 808f37a: 4ab8 ldr r2, [pc, #736] ; (808f65c ) 808f37c: 460b mov r3, r1 808f37e: 009b lsls r3, r3, #2 808f380: 440b add r3, r1 808f382: 4403 add r3, r0 808f384: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f388: 461a mov r2, r3 808f38a: 217a movs r1, #122 ; 0x7a 808f38c: f44f 7082 mov.w r0, #260 ; 0x104 808f390: f7c6 fcfc bl 8055d8c if(blk) 808f394: e191 b.n 808f6ba else if(pardata.FRQ == _8000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_8000[pardata.LANG][pardata.LNE]); 808f396: 4bb0 ldr r3, [pc, #704] ; (808f658 ) 808f398: 7adb ldrb r3, [r3, #11] 808f39a: b2db uxtb r3, r3 808f39c: 2b06 cmp r3, #6 808f39e: d115 bne.n 808f3cc 808f3a0: 4bad ldr r3, [pc, #692] ; (808f658 ) 808f3a2: 7b1b ldrb r3, [r3, #12] 808f3a4: b2db uxtb r3, r3 808f3a6: 4619 mov r1, r3 808f3a8: 4bab ldr r3, [pc, #684] ; (808f658 ) 808f3aa: 79db ldrb r3, [r3, #7] 808f3ac: b2db uxtb r3, r3 808f3ae: 4618 mov r0, r3 808f3b0: 4aab ldr r2, [pc, #684] ; (808f660 ) 808f3b2: 460b mov r3, r1 808f3b4: 009b lsls r3, r3, #2 808f3b6: 440b add r3, r1 808f3b8: 4403 add r3, r0 808f3ba: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f3be: 461a mov r2, r3 808f3c0: 217a movs r1, #122 ; 0x7a 808f3c2: f44f 7082 mov.w r0, #260 ; 0x104 808f3c6: f7c6 fce1 bl 8055d8c if(blk) 808f3ca: e176 b.n 808f6ba else if(pardata.FRQ == _16000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_16000[pardata.LANG][pardata.LNE]); 808f3cc: 4ba2 ldr r3, [pc, #648] ; (808f658 ) 808f3ce: 7adb ldrb r3, [r3, #11] 808f3d0: b2db uxtb r3, r3 808f3d2: 2b07 cmp r3, #7 808f3d4: d115 bne.n 808f402 808f3d6: 4ba0 ldr r3, [pc, #640] ; (808f658 ) 808f3d8: 7b1b ldrb r3, [r3, #12] 808f3da: b2db uxtb r3, r3 808f3dc: 4619 mov r1, r3 808f3de: 4b9e ldr r3, [pc, #632] ; (808f658 ) 808f3e0: 79db ldrb r3, [r3, #7] 808f3e2: b2db uxtb r3, r3 808f3e4: 4618 mov r0, r3 808f3e6: 4a9f ldr r2, [pc, #636] ; (808f664 ) 808f3e8: 460b mov r3, r1 808f3ea: 009b lsls r3, r3, #2 808f3ec: 440b add r3, r1 808f3ee: 4403 add r3, r0 808f3f0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f3f4: 461a mov r2, r3 808f3f6: 217a movs r1, #122 ; 0x7a 808f3f8: f44f 7082 mov.w r0, #260 ; 0x104 808f3fc: f7c6 fcc6 bl 8055d8c if(blk) 808f400: e15b b.n 808f6ba else if(pardata.FRQ == _32000Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_32000[pardata.LANG][pardata.LNE]); 808f402: 4b95 ldr r3, [pc, #596] ; (808f658 ) 808f404: 7adb ldrb r3, [r3, #11] 808f406: b2db uxtb r3, r3 808f408: 2b08 cmp r3, #8 808f40a: d115 bne.n 808f438 808f40c: 4b92 ldr r3, [pc, #584] ; (808f658 ) 808f40e: 7b1b ldrb r3, [r3, #12] 808f410: b2db uxtb r3, r3 808f412: 4619 mov r1, r3 808f414: 4b90 ldr r3, [pc, #576] ; (808f658 ) 808f416: 79db ldrb r3, [r3, #7] 808f418: b2db uxtb r3, r3 808f41a: 4618 mov r0, r3 808f41c: 4a92 ldr r2, [pc, #584] ; (808f668 ) 808f41e: 460b mov r3, r1 808f420: 009b lsls r3, r3, #2 808f422: 440b add r3, r1 808f424: 4403 add r3, r0 808f426: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f42a: 461a mov r2, r3 808f42c: 217a movs r1, #122 ; 0x7a 808f42e: f44f 7082 mov.w r0, #260 ; 0x104 808f432: f7c6 fcab bl 8055d8c if(blk) 808f436: e140 b.n 808f6ba else if(pardata.FRQ == _64000Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_64000[pardata.LANG][pardata.LNE]); 808f438: 4b87 ldr r3, [pc, #540] ; (808f658 ) 808f43a: 7adb ldrb r3, [r3, #11] 808f43c: b2db uxtb r3, r3 808f43e: 2b09 cmp r3, #9 808f440: f040 813b bne.w 808f6ba 808f444: 4b84 ldr r3, [pc, #528] ; (808f658 ) 808f446: 7b1b ldrb r3, [r3, #12] 808f448: b2db uxtb r3, r3 808f44a: 4619 mov r1, r3 808f44c: 4b82 ldr r3, [pc, #520] ; (808f658 ) 808f44e: 79db ldrb r3, [r3, #7] 808f450: b2db uxtb r3, r3 808f452: 4618 mov r0, r3 808f454: 4a85 ldr r2, [pc, #532] ; (808f66c ) 808f456: 460b mov r3, r1 808f458: 009b lsls r3, r3, #2 808f45a: 440b add r3, r1 808f45c: 4403 add r3, r0 808f45e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f462: 461a mov r2, r3 808f464: 217a movs r1, #122 ; 0x7a 808f466: f44f 7082 mov.w r0, #260 ; 0x104 808f46a: f7c6 fc8f bl 8055d8c if(blk) 808f46e: e124 b.n 808f6ba } } else { if(pardata.FRQ == _125Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_125[pardata.LANG][pardata.LNE]); 808f470: 4b79 ldr r3, [pc, #484] ; (808f658 ) 808f472: 7adb ldrb r3, [r3, #11] 808f474: b2db uxtb r3, r3 808f476: 2b00 cmp r3, #0 808f478: d115 bne.n 808f4a6 808f47a: 4b77 ldr r3, [pc, #476] ; (808f658 ) 808f47c: 7b1b ldrb r3, [r3, #12] 808f47e: b2db uxtb r3, r3 808f480: 4619 mov r1, r3 808f482: 4b75 ldr r3, [pc, #468] ; (808f658 ) 808f484: 79db ldrb r3, [r3, #7] 808f486: b2db uxtb r3, r3 808f488: 4618 mov r0, r3 808f48a: 4a79 ldr r2, [pc, #484] ; (808f670 ) 808f48c: 460b mov r3, r1 808f48e: 009b lsls r3, r3, #2 808f490: 440b add r3, r1 808f492: 4403 add r3, r0 808f494: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f498: 461a mov r2, r3 808f49a: 217a movs r1, #122 ; 0x7a 808f49c: f44f 7082 mov.w r0, #260 ; 0x104 808f4a0: f7c6 fc74 bl 8055d8c 808f4a4: e10a b.n 808f6bc else if(pardata.FRQ == _250Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_250[pardata.LANG][pardata.LNE]); 808f4a6: 4b6c ldr r3, [pc, #432] ; (808f658 ) 808f4a8: 7adb ldrb r3, [r3, #11] 808f4aa: b2db uxtb r3, r3 808f4ac: 2b01 cmp r3, #1 808f4ae: d115 bne.n 808f4dc 808f4b0: 4b69 ldr r3, [pc, #420] ; (808f658 ) 808f4b2: 7b1b ldrb r3, [r3, #12] 808f4b4: b2db uxtb r3, r3 808f4b6: 4619 mov r1, r3 808f4b8: 4b67 ldr r3, [pc, #412] ; (808f658 ) 808f4ba: 79db ldrb r3, [r3, #7] 808f4bc: b2db uxtb r3, r3 808f4be: 4618 mov r0, r3 808f4c0: 4a6c ldr r2, [pc, #432] ; (808f674 ) 808f4c2: 460b mov r3, r1 808f4c4: 009b lsls r3, r3, #2 808f4c6: 440b add r3, r1 808f4c8: 4403 add r3, r0 808f4ca: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f4ce: 461a mov r2, r3 808f4d0: 217a movs r1, #122 ; 0x7a 808f4d2: f44f 7082 mov.w r0, #260 ; 0x104 808f4d6: f7c6 fc59 bl 8055d8c 808f4da: e0ef b.n 808f6bc else if(pardata.FRQ == _500Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_500[pardata.LANG][pardata.LNE]); 808f4dc: 4b5e ldr r3, [pc, #376] ; (808f658 ) 808f4de: 7adb ldrb r3, [r3, #11] 808f4e0: b2db uxtb r3, r3 808f4e2: 2b02 cmp r3, #2 808f4e4: d115 bne.n 808f512 808f4e6: 4b5c ldr r3, [pc, #368] ; (808f658 ) 808f4e8: 7b1b ldrb r3, [r3, #12] 808f4ea: b2db uxtb r3, r3 808f4ec: 4619 mov r1, r3 808f4ee: 4b5a ldr r3, [pc, #360] ; (808f658 ) 808f4f0: 79db ldrb r3, [r3, #7] 808f4f2: b2db uxtb r3, r3 808f4f4: 4618 mov r0, r3 808f4f6: 4a60 ldr r2, [pc, #384] ; (808f678 ) 808f4f8: 460b mov r3, r1 808f4fa: 009b lsls r3, r3, #2 808f4fc: 440b add r3, r1 808f4fe: 4403 add r3, r0 808f500: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f504: 461a mov r2, r3 808f506: 217a movs r1, #122 ; 0x7a 808f508: f44f 7082 mov.w r0, #260 ; 0x104 808f50c: f7c6 fc3e bl 8055d8c 808f510: e0d4 b.n 808f6bc else if(pardata.FRQ == _1000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_1000[pardata.LANG][pardata.LNE]); 808f512: 4b51 ldr r3, [pc, #324] ; (808f658 ) 808f514: 7adb ldrb r3, [r3, #11] 808f516: b2db uxtb r3, r3 808f518: 2b03 cmp r3, #3 808f51a: d115 bne.n 808f548 808f51c: 4b4e ldr r3, [pc, #312] ; (808f658 ) 808f51e: 7b1b ldrb r3, [r3, #12] 808f520: b2db uxtb r3, r3 808f522: 4619 mov r1, r3 808f524: 4b4c ldr r3, [pc, #304] ; (808f658 ) 808f526: 79db ldrb r3, [r3, #7] 808f528: b2db uxtb r3, r3 808f52a: 4618 mov r0, r3 808f52c: 4a53 ldr r2, [pc, #332] ; (808f67c ) 808f52e: 460b mov r3, r1 808f530: 009b lsls r3, r3, #2 808f532: 440b add r3, r1 808f534: 4403 add r3, r0 808f536: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f53a: 461a mov r2, r3 808f53c: 217a movs r1, #122 ; 0x7a 808f53e: f44f 7082 mov.w r0, #260 ; 0x104 808f542: f7c6 fc23 bl 8055d8c 808f546: e0b9 b.n 808f6bc else if(pardata.FRQ == _2000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_2000[pardata.LANG][pardata.LNE]); 808f548: 4b43 ldr r3, [pc, #268] ; (808f658 ) 808f54a: 7adb ldrb r3, [r3, #11] 808f54c: b2db uxtb r3, r3 808f54e: 2b04 cmp r3, #4 808f550: d115 bne.n 808f57e 808f552: 4b41 ldr r3, [pc, #260] ; (808f658 ) 808f554: 7b1b ldrb r3, [r3, #12] 808f556: b2db uxtb r3, r3 808f558: 4619 mov r1, r3 808f55a: 4b3f ldr r3, [pc, #252] ; (808f658 ) 808f55c: 79db ldrb r3, [r3, #7] 808f55e: b2db uxtb r3, r3 808f560: 4618 mov r0, r3 808f562: 4a47 ldr r2, [pc, #284] ; (808f680 ) 808f564: 460b mov r3, r1 808f566: 009b lsls r3, r3, #2 808f568: 440b add r3, r1 808f56a: 4403 add r3, r0 808f56c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f570: 461a mov r2, r3 808f572: 217a movs r1, #122 ; 0x7a 808f574: f44f 7082 mov.w r0, #260 ; 0x104 808f578: f7c6 fc08 bl 8055d8c 808f57c: e09e b.n 808f6bc else if(pardata.FRQ == _4000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_4000[pardata.LANG][pardata.LNE]); 808f57e: 4b36 ldr r3, [pc, #216] ; (808f658 ) 808f580: 7adb ldrb r3, [r3, #11] 808f582: b2db uxtb r3, r3 808f584: 2b05 cmp r3, #5 808f586: d115 bne.n 808f5b4 808f588: 4b33 ldr r3, [pc, #204] ; (808f658 ) 808f58a: 7b1b ldrb r3, [r3, #12] 808f58c: b2db uxtb r3, r3 808f58e: 4619 mov r1, r3 808f590: 4b31 ldr r3, [pc, #196] ; (808f658 ) 808f592: 79db ldrb r3, [r3, #7] 808f594: b2db uxtb r3, r3 808f596: 4618 mov r0, r3 808f598: 4a30 ldr r2, [pc, #192] ; (808f65c ) 808f59a: 460b mov r3, r1 808f59c: 009b lsls r3, r3, #2 808f59e: 440b add r3, r1 808f5a0: 4403 add r3, r0 808f5a2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f5a6: 461a mov r2, r3 808f5a8: 217a movs r1, #122 ; 0x7a 808f5aa: f44f 7082 mov.w r0, #260 ; 0x104 808f5ae: f7c6 fbed bl 8055d8c 808f5b2: e083 b.n 808f6bc else if(pardata.FRQ == _8000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_8000[pardata.LANG][pardata.LNE]); 808f5b4: 4b28 ldr r3, [pc, #160] ; (808f658 ) 808f5b6: 7adb ldrb r3, [r3, #11] 808f5b8: b2db uxtb r3, r3 808f5ba: 2b06 cmp r3, #6 808f5bc: d115 bne.n 808f5ea 808f5be: 4b26 ldr r3, [pc, #152] ; (808f658 ) 808f5c0: 7b1b ldrb r3, [r3, #12] 808f5c2: b2db uxtb r3, r3 808f5c4: 4619 mov r1, r3 808f5c6: 4b24 ldr r3, [pc, #144] ; (808f658 ) 808f5c8: 79db ldrb r3, [r3, #7] 808f5ca: b2db uxtb r3, r3 808f5cc: 4618 mov r0, r3 808f5ce: 4a24 ldr r2, [pc, #144] ; (808f660 ) 808f5d0: 460b mov r3, r1 808f5d2: 009b lsls r3, r3, #2 808f5d4: 440b add r3, r1 808f5d6: 4403 add r3, r0 808f5d8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f5dc: 461a mov r2, r3 808f5de: 217a movs r1, #122 ; 0x7a 808f5e0: f44f 7082 mov.w r0, #260 ; 0x104 808f5e4: f7c6 fbd2 bl 8055d8c 808f5e8: e068 b.n 808f6bc else if(pardata.FRQ == _16000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_16000[pardata.LANG][pardata.LNE]); 808f5ea: 4b1b ldr r3, [pc, #108] ; (808f658 ) 808f5ec: 7adb ldrb r3, [r3, #11] 808f5ee: b2db uxtb r3, r3 808f5f0: 2b07 cmp r3, #7 808f5f2: d115 bne.n 808f620 808f5f4: 4b18 ldr r3, [pc, #96] ; (808f658 ) 808f5f6: 7b1b ldrb r3, [r3, #12] 808f5f8: b2db uxtb r3, r3 808f5fa: 4619 mov r1, r3 808f5fc: 4b16 ldr r3, [pc, #88] ; (808f658 ) 808f5fe: 79db ldrb r3, [r3, #7] 808f600: b2db uxtb r3, r3 808f602: 4618 mov r0, r3 808f604: 4a17 ldr r2, [pc, #92] ; (808f664 ) 808f606: 460b mov r3, r1 808f608: 009b lsls r3, r3, #2 808f60a: 440b add r3, r1 808f60c: 4403 add r3, r0 808f60e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f612: 461a mov r2, r3 808f614: 217a movs r1, #122 ; 0x7a 808f616: f44f 7082 mov.w r0, #260 ; 0x104 808f61a: f7c6 fbb7 bl 8055d8c 808f61e: e04d b.n 808f6bc else if(pardata.FRQ == _32000Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_32000[pardata.LANG][pardata.LNE]); 808f620: 4b0d ldr r3, [pc, #52] ; (808f658 ) 808f622: 7adb ldrb r3, [r3, #11] 808f624: b2db uxtb r3, r3 808f626: 2b08 cmp r3, #8 808f628: d12c bne.n 808f684 808f62a: 4b0b ldr r3, [pc, #44] ; (808f658 ) 808f62c: 7b1b ldrb r3, [r3, #12] 808f62e: b2db uxtb r3, r3 808f630: 4619 mov r1, r3 808f632: 4b09 ldr r3, [pc, #36] ; (808f658 ) 808f634: 79db ldrb r3, [r3, #7] 808f636: b2db uxtb r3, r3 808f638: 4618 mov r0, r3 808f63a: 4a0b ldr r2, [pc, #44] ; (808f668 ) 808f63c: 460b mov r3, r1 808f63e: 009b lsls r3, r3, #2 808f640: 440b add r3, r1 808f642: 4403 add r3, r0 808f644: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f648: 461a mov r2, r3 808f64a: 217a movs r1, #122 ; 0x7a 808f64c: f44f 7082 mov.w r0, #260 ; 0x104 808f650: f7c6 fb9c bl 8055d8c 808f654: e032 b.n 808f6bc 808f656: bf00 nop 808f658: 20023eb8 .word 0x20023eb8 808f65c: 200204fc .word 0x200204fc 808f660: 20020524 .word 0x20020524 808f664: 2002054c .word 0x2002054c 808f668: 20020574 .word 0x20020574 808f66c: 2002059c .word 0x2002059c 808f670: 20020434 .word 0x20020434 808f674: 2002045c .word 0x2002045c 808f678: 20020484 .word 0x20020484 808f67c: 200204ac .word 0x200204ac 808f680: 200204d4 .word 0x200204d4 else if(pardata.FRQ == _64000Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_64000[pardata.LANG][pardata.LNE]); 808f684: 4bb7 ldr r3, [pc, #732] ; (808f964 ) 808f686: 7adb ldrb r3, [r3, #11] 808f688: b2db uxtb r3, r3 808f68a: 2b09 cmp r3, #9 808f68c: d116 bne.n 808f6bc 808f68e: 4bb5 ldr r3, [pc, #724] ; (808f964 ) 808f690: 7b1b ldrb r3, [r3, #12] 808f692: b2db uxtb r3, r3 808f694: 4619 mov r1, r3 808f696: 4bb3 ldr r3, [pc, #716] ; (808f964 ) 808f698: 79db ldrb r3, [r3, #7] 808f69a: b2db uxtb r3, r3 808f69c: 4618 mov r0, r3 808f69e: 4ab2 ldr r2, [pc, #712] ; (808f968 ) 808f6a0: 460b mov r3, r1 808f6a2: 009b lsls r3, r3, #2 808f6a4: 440b add r3, r1 808f6a6: 4403 add r3, r0 808f6a8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808f6ac: 461a mov r2, r3 808f6ae: 217a movs r1, #122 ; 0x7a 808f6b0: f44f 7082 mov.w r0, #260 ; 0x104 808f6b4: f7c6 fb6a bl 8055d8c 808f6b8: e000 b.n 808f6bc if(blk) 808f6ba: bf00 nop } if(menupos == OscThr) 808f6bc: 4bab ldr r3, [pc, #684] ; (808f96c ) 808f6be: 781b ldrb r3, [r3, #0] 808f6c0: b2db uxtb r3, r3 808f6c2: 2b07 cmp r3, #7 808f6c4: d10a bne.n 808f6dc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f6c6: 49aa ldr r1, [pc, #680] ; (808f970 ) 808f6c8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f6cc: f7c5 fd9e bl 805520c BSP_LCD_FillRect(253, CHECKBOX_LINE_10-2, 14, 14); 808f6d0: 230e movs r3, #14 808f6d2: 220e movs r2, #14 808f6d4: 21ab movs r1, #171 ; 0xab 808f6d6: 20fd movs r0, #253 ; 0xfd 808f6d8: f7c6 fa26 bl 8055b28 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808f6dc: 49a4 ldr r1, [pc, #656] ; (808f970 ) 808f6de: f04f 30ff mov.w r0, #4294967295 808f6e2: f7c5 fd93 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 808f6e6: 230a movs r3, #10 808f6e8: 220a movs r2, #10 808f6ea: 21ad movs r1, #173 ; 0xad 808f6ec: 20ff movs r0, #255 ; 0xff 808f6ee: f7c6 fa1b bl 8055b28 if(menupos == OscAutoKu) 808f6f2: 4b9e ldr r3, [pc, #632] ; (808f96c ) 808f6f4: 781b ldrb r3, [r3, #0] 808f6f6: b2db uxtb r3, r3 808f6f8: 2b05 cmp r3, #5 808f6fa: d10a bne.n 808f712 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f6fc: 499c ldr r1, [pc, #624] ; (808f970 ) 808f6fe: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f702: f7c5 fd83 bl 805520c BSP_LCD_FillRect(253, CHECKBOX_LINE_8-2, 14, 14); 808f706: 230e movs r3, #14 808f708: 220e movs r2, #14 808f70a: 218b movs r1, #139 ; 0x8b 808f70c: 20fd movs r0, #253 ; 0xfd 808f70e: f7c6 fa0b bl 8055b28 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808f712: 4997 ldr r1, [pc, #604] ; (808f970 ) 808f714: f04f 30ff mov.w r0, #4294967295 808f718: f7c5 fd78 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 808f71c: 230a movs r3, #10 808f71e: 220a movs r2, #10 808f720: 218d movs r1, #141 ; 0x8d 808f722: 20ff movs r0, #255 ; 0xff 808f724: f7c6 fa00 bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808f728: 4991 ldr r1, [pc, #580] ; (808f970 ) 808f72a: f04f 30ff mov.w r0, #4294967295 808f72e: f7c5 fd6d bl 805520c LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_PARAM_VIB[pardata.LANG][8]);//"Óñèëåíèå" 808f732: 4b8c ldr r3, [pc, #560] ; (808f964 ) 808f734: 7b1b ldrb r3, [r3, #12] 808f736: b2db uxtb r3, r3 808f738: 4619 mov r1, r3 808f73a: 4a8e ldr r2, [pc, #568] ; (808f974 ) 808f73c: 232c movs r3, #44 ; 0x2c 808f73e: fb03 f301 mul.w r3, r3, r1 808f742: 4413 add r3, r2 808f744: 3320 adds r3, #32 808f746: 681b ldr r3, [r3, #0] 808f748: 461a mov r2, r3 808f74a: 218a movs r1, #138 ; 0x8a 808f74c: 200a movs r0, #10 808f74e: f7c6 fb05 bl 8055d5c if(pardata.THR & 0x80) 808f752: 4b84 ldr r3, [pc, #528] ; (808f964 ) 808f754: 7bdb ldrb r3, [r3, #15] 808f756: b2db uxtb r3, r3 808f758: b25b sxtb r3, r3 808f75a: 2b00 cmp r3, #0 808f75c: f280 80cb bge.w 808f8f6 { if(pardata.IPR == ACC) 808f760: 4b80 ldr r3, [pc, #512] ; (808f964 ) 808f762: 785b ldrb r3, [r3, #1] 808f764: b2db uxtb r3, r3 808f766: 2b00 cmp r3, #0 808f768: d151 bne.n 808f80e { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808f76a: 4981 ldr r1, [pc, #516] ; (808f970 ) 808f76c: f04f 30ff mov.w r0, #4294967295 808f770: f7c5 fd4c bl 805520c if(pardata.IIN != VOLTS) 808f774: 4b7b ldr r3, [pc, #492] ; (808f964 ) 808f776: 799b ldrb r3, [r3, #6] 808f778: b2db uxtb r3, r3 808f77a: 2b02 cmp r3, #2 808f77c: d010 beq.n 808f7a0 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808f77e: 4b79 ldr r3, [pc, #484] ; (808f964 ) 808f780: 7b1b ldrb r3, [r3, #12] 808f782: b2db uxtb r3, r3 808f784: 4619 mov r1, r3 808f786: 4a7b ldr r2, [pc, #492] ; (808f974 ) 808f788: 232c movs r3, #44 ; 0x2c 808f78a: fb03 f301 mul.w r3, r3, r1 808f78e: 4413 add r3, r2 808f790: 3324 adds r3, #36 ; 0x24 808f792: 681b ldr r3, [r3, #0] 808f794: 461a mov r2, r3 808f796: 219a movs r1, #154 ; 0x9a 808f798: 200a movs r0, #10 808f79a: f7c6 fadf bl 8055d5c 808f79e: e00f b.n 808f7c0 else LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808f7a0: 4b70 ldr r3, [pc, #448] ; (808f964 ) 808f7a2: 7b1b ldrb r3, [r3, #12] 808f7a4: b2db uxtb r3, r3 808f7a6: 4619 mov r1, r3 808f7a8: 4a73 ldr r2, [pc, #460] ; (808f978 ) 808f7aa: 232c movs r3, #44 ; 0x2c 808f7ac: fb03 f301 mul.w r3, r3, r1 808f7b0: 4413 add r3, r2 808f7b2: 3324 adds r3, #36 ; 0x24 808f7b4: 681b ldr r3, [r3, #0] 808f7b6: 461a mov r2, r3 808f7b8: 219a movs r1, #154 ; 0x9a 808f7ba: 200a movs r0, #10 808f7bc: f7c6 face bl 8055d5c if(pardata.IIN != VOLTS) 808f7c0: 4b68 ldr r3, [pc, #416] ; (808f964 ) 808f7c2: 799b ldrb r3, [r3, #6] 808f7c4: b2db uxtb r3, r3 808f7c6: 2b02 cmp r3, #2 808f7c8: d010 beq.n 808f7ec { if(pardata.LANG == RUS) 808f7ca: 4b66 ldr r3, [pc, #408] ; (808f964 ) 808f7cc: 7b1b ldrb r3, [r3, #12] 808f7ce: b2db uxtb r3, r3 808f7d0: 2b00 cmp r3, #0 808f7d2: d105 bne.n 808f7e0 LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ì/c^)"); 808f7d4: 4a69 ldr r2, [pc, #420] ; (808f97c ) 808f7d6: 21ba movs r1, #186 ; 0xba 808f7d8: 200a movs r0, #10 808f7da: f7c6 fabf bl 8055d5c 808f7de: e115 b.n 808fa0c else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(m/s^)"); 808f7e0: 4a67 ldr r2, [pc, #412] ; (808f980 ) 808f7e2: 21ba movs r1, #186 ; 0xba 808f7e4: 200a movs r0, #10 808f7e6: f7c6 fab9 bl 8055d5c 808f7ea: e10f b.n 808fa0c } else { if(pardata.LANG == RUS) 808f7ec: 4b5d ldr r3, [pc, #372] ; (808f964 ) 808f7ee: 7b1b ldrb r3, [r3, #12] 808f7f0: b2db uxtb r3, r3 808f7f2: 2b00 cmp r3, #0 808f7f4: d105 bne.n 808f802 LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ìÂ)"); 808f7f6: 4a63 ldr r2, [pc, #396] ; (808f984 ) 808f7f8: 21ba movs r1, #186 ; 0xba 808f7fa: 200a movs r0, #10 808f7fc: f7c6 faae bl 8055d5c 808f800: e104 b.n 808fa0c else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(mV)"); 808f802: 4a61 ldr r2, [pc, #388] ; (808f988 ) 808f804: 21ba movs r1, #186 ; 0xba 808f806: 200a movs r0, #10 808f808: f7c6 faa8 bl 8055d5c 808f80c: e0fe b.n 808fa0c } } else { if(pardata.OPTIONS & 0x4) 808f80e: 4b55 ldr r3, [pc, #340] ; (808f964 ) 808f810: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808f814: f003 0304 and.w r3, r3, #4 808f818: 2b00 cmp r3, #0 808f81a: d00a beq.n 808f832 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 808f81c: 4954 ldr r1, [pc, #336] ; (808f970 ) 808f81e: 485b ldr r0, [pc, #364] ; (808f98c ) 808f820: f7c5 fcf4 bl 805520c BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 808f824: 2306 movs r3, #6 808f826: 2206 movs r2, #6 808f828: 218f movs r1, #143 ; 0x8f 808f82a: f240 1001 movw r0, #257 ; 0x101 808f82e: f7c6 f97b bl 8055b28 } LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808f832: 494f ldr r1, [pc, #316] ; (808f970 ) 808f834: 4856 ldr r0, [pc, #344] ; (808f990 ) 808f836: f7c5 fce9 bl 805520c if(pardata.IIN != VOLTS) 808f83a: 4b4a ldr r3, [pc, #296] ; (808f964 ) 808f83c: 799b ldrb r3, [r3, #6] 808f83e: b2db uxtb r3, r3 808f840: 2b02 cmp r3, #2 808f842: d010 beq.n 808f866 { if(pardata.LANG == RUS) 808f844: 4b47 ldr r3, [pc, #284] ; (808f964 ) 808f846: 7b1b ldrb r3, [r3, #12] 808f848: b2db uxtb r3, r3 808f84a: 2b00 cmp r3, #0 808f84c: d105 bne.n 808f85a LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ì/c^)"); 808f84e: 4a4b ldr r2, [pc, #300] ; (808f97c ) 808f850: 21ba movs r1, #186 ; 0xba 808f852: 200a movs r0, #10 808f854: f7c6 fa82 bl 8055d5c 808f858: e015 b.n 808f886 else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(m/s^)"); 808f85a: 4a49 ldr r2, [pc, #292] ; (808f980 ) 808f85c: 21ba movs r1, #186 ; 0xba 808f85e: 200a movs r0, #10 808f860: f7c6 fa7c bl 8055d5c 808f864: e00f b.n 808f886 } else { if(pardata.LANG == RUS) 808f866: 4b3f ldr r3, [pc, #252] ; (808f964 ) 808f868: 7b1b ldrb r3, [r3, #12] 808f86a: b2db uxtb r3, r3 808f86c: 2b00 cmp r3, #0 808f86e: d105 bne.n 808f87c LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ìÂ)"); 808f870: 4a44 ldr r2, [pc, #272] ; (808f984 ) 808f872: 21ba movs r1, #186 ; 0xba 808f874: 200a movs r0, #10 808f876: f7c6 fa71 bl 8055d5c 808f87a: e004 b.n 808f886 else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(mV)"); 808f87c: 4a42 ldr r2, [pc, #264] ; (808f988 ) 808f87e: 21ba movs r1, #186 ; 0xba 808f880: 200a movs r0, #10 808f882: f7c6 fa6b bl 8055d5c } if(pardata.OPTIONS & 0x4) 808f886: 4b37 ldr r3, [pc, #220] ; (808f964 ) 808f888: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808f88c: f003 0304 and.w r3, r3, #4 808f890: 2b00 cmp r3, #0 808f892: d004 beq.n 808f89e LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808f894: 4936 ldr r1, [pc, #216] ; (808f970 ) 808f896: 483e ldr r0, [pc, #248] ; (808f990 ) 808f898: f7c5 fcb8 bl 805520c 808f89c: e004 b.n 808f8a8 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808f89e: 4934 ldr r1, [pc, #208] ; (808f970 ) 808f8a0: f04f 30ff mov.w r0, #4294967295 808f8a4: f7c5 fcb2 bl 805520c if(pardata.IIN != VOLTS) 808f8a8: 4b2e ldr r3, [pc, #184] ; (808f964 ) 808f8aa: 799b ldrb r3, [r3, #6] 808f8ac: b2db uxtb r3, r3 808f8ae: 2b02 cmp r3, #2 808f8b0: d010 beq.n 808f8d4 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808f8b2: 4b2c ldr r3, [pc, #176] ; (808f964 ) 808f8b4: 7b1b ldrb r3, [r3, #12] 808f8b6: b2db uxtb r3, r3 808f8b8: 4619 mov r1, r3 808f8ba: 4a2e ldr r2, [pc, #184] ; (808f974 ) 808f8bc: 232c movs r3, #44 ; 0x2c 808f8be: fb03 f301 mul.w r3, r3, r1 808f8c2: 4413 add r3, r2 808f8c4: 3324 adds r3, #36 ; 0x24 808f8c6: 681b ldr r3, [r3, #0] 808f8c8: 461a mov r2, r3 808f8ca: 219a movs r1, #154 ; 0x9a 808f8cc: 200a movs r0, #10 808f8ce: f7c6 fa45 bl 8055d5c 808f8d2: e09b b.n 808fa0c else LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808f8d4: 4b23 ldr r3, [pc, #140] ; (808f964 ) 808f8d6: 7b1b ldrb r3, [r3, #12] 808f8d8: b2db uxtb r3, r3 808f8da: 4619 mov r1, r3 808f8dc: 4a26 ldr r2, [pc, #152] ; (808f978 ) 808f8de: 232c movs r3, #44 ; 0x2c 808f8e0: fb03 f301 mul.w r3, r3, r1 808f8e4: 4413 add r3, r2 808f8e6: 3324 adds r3, #36 ; 0x24 808f8e8: 681b ldr r3, [r3, #0] 808f8ea: 461a mov r2, r3 808f8ec: 219a movs r1, #154 ; 0x9a 808f8ee: 200a movs r0, #10 808f8f0: f7c6 fa34 bl 8055d5c 808f8f4: e08a b.n 808fa0c } } else { if(pardata.OPTIONS & 0x4) 808f8f6: 4b1b ldr r3, [pc, #108] ; (808f964 ) 808f8f8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808f8fc: f003 0304 and.w r3, r3, #4 808f900: 2b00 cmp r3, #0 808f902: d00a beq.n 808f91a { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 808f904: 491a ldr r1, [pc, #104] ; (808f970 ) 808f906: 4821 ldr r0, [pc, #132] ; (808f98c ) 808f908: f7c5 fc80 bl 805520c BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 808f90c: 2306 movs r3, #6 808f90e: 2206 movs r2, #6 808f910: 218f movs r1, #143 ; 0x8f 808f912: f240 1001 movw r0, #257 ; 0x101 808f916: f7c6 f907 bl 8055b28 } LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808f91a: 4915 ldr r1, [pc, #84] ; (808f970 ) 808f91c: 481c ldr r0, [pc, #112] ; (808f990 ) 808f91e: f7c5 fc75 bl 805520c if(pardata.IIN != VOLTS) 808f922: 4b10 ldr r3, [pc, #64] ; (808f964 ) 808f924: 799b ldrb r3, [r3, #6] 808f926: b2db uxtb r3, r3 808f928: 2b02 cmp r3, #2 808f92a: d010 beq.n 808f94e { if(pardata.LANG == RUS) 808f92c: 4b0d ldr r3, [pc, #52] ; (808f964 ) 808f92e: 7b1b ldrb r3, [r3, #12] 808f930: b2db uxtb r3, r3 808f932: 2b00 cmp r3, #0 808f934: d105 bne.n 808f942 LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ì/c^)"); 808f936: 4a11 ldr r2, [pc, #68] ; (808f97c ) 808f938: 21ba movs r1, #186 ; 0xba 808f93a: 200a movs r0, #10 808f93c: f7c6 fa0e bl 8055d5c 808f940: e02d b.n 808f99e else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(m/s^)"); 808f942: 4a0f ldr r2, [pc, #60] ; (808f980 ) 808f944: 21ba movs r1, #186 ; 0xba 808f946: 200a movs r0, #10 808f948: f7c6 fa08 bl 8055d5c 808f94c: e027 b.n 808f99e } else { if(pardata.LANG == RUS) 808f94e: 4b05 ldr r3, [pc, #20] ; (808f964 ) 808f950: 7b1b ldrb r3, [r3, #12] 808f952: b2db uxtb r3, r3 808f954: 2b00 cmp r3, #0 808f956: d11d bne.n 808f994 LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ìÂ)"); 808f958: 4a0a ldr r2, [pc, #40] ; (808f984 ) 808f95a: 21ba movs r1, #186 ; 0xba 808f95c: 200a movs r0, #10 808f95e: f7c6 f9fd bl 8055d5c 808f962: e01c b.n 808f99e 808f964: 20023eb8 .word 0x20023eb8 808f968: 2002059c .word 0x2002059c 808f96c: 20020070 .word 0x20020070 808f970: ff0a0f1f .word 0xff0a0f1f 808f974: 200206bc .word 0x200206bc 808f978: 20020714 .word 0x20020714 808f97c: 080d5ecc .word 0x080d5ecc 808f980: 080d5f1c .word 0x080d5f1c 808f984: 080d5f38 .word 0x080d5f38 808f988: 080d5f48 .word 0x080d5f48 808f98c: ff404040 .word 0xff404040 808f990: ff808080 .word 0xff808080 else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(mV)"); 808f994: 4ab3 ldr r2, [pc, #716] ; (808fc64 ) 808f996: 21ba movs r1, #186 ; 0xba 808f998: 200a movs r0, #10 808f99a: f7c6 f9df bl 8055d5c } if(pardata.OPTIONS & 0x4) 808f99e: 4bb2 ldr r3, [pc, #712] ; (808fc68 ) 808f9a0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808f9a4: f003 0304 and.w r3, r3, #4 808f9a8: 2b00 cmp r3, #0 808f9aa: d004 beq.n 808f9b6 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808f9ac: 49af ldr r1, [pc, #700] ; (808fc6c ) 808f9ae: 48b0 ldr r0, [pc, #704] ; (808fc70 ) 808f9b0: f7c5 fc2c bl 805520c 808f9b4: e004 b.n 808f9c0 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808f9b6: 49ad ldr r1, [pc, #692] ; (808fc6c ) 808f9b8: f04f 30ff mov.w r0, #4294967295 808f9bc: f7c5 fc26 bl 805520c if(pardata.IIN != VOLTS) 808f9c0: 4ba9 ldr r3, [pc, #676] ; (808fc68 ) 808f9c2: 799b ldrb r3, [r3, #6] 808f9c4: b2db uxtb r3, r3 808f9c6: 2b02 cmp r3, #2 808f9c8: d010 beq.n 808f9ec LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808f9ca: 4ba7 ldr r3, [pc, #668] ; (808fc68 ) 808f9cc: 7b1b ldrb r3, [r3, #12] 808f9ce: b2db uxtb r3, r3 808f9d0: 4619 mov r1, r3 808f9d2: 4aa8 ldr r2, [pc, #672] ; (808fc74 ) 808f9d4: 232c movs r3, #44 ; 0x2c 808f9d6: fb03 f301 mul.w r3, r3, r1 808f9da: 4413 add r3, r2 808f9dc: 3324 adds r3, #36 ; 0x24 808f9de: 681b ldr r3, [r3, #0] 808f9e0: 461a mov r2, r3 808f9e2: 219a movs r1, #154 ; 0x9a 808f9e4: 200a movs r0, #10 808f9e6: f7c6 f9b9 bl 8055d5c 808f9ea: e00f b.n 808fa0c else LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808f9ec: 4b9e ldr r3, [pc, #632] ; (808fc68 ) 808f9ee: 7b1b ldrb r3, [r3, #12] 808f9f0: b2db uxtb r3, r3 808f9f2: 4619 mov r1, r3 808f9f4: 4aa0 ldr r2, [pc, #640] ; (808fc78 ) 808f9f6: 232c movs r3, #44 ; 0x2c 808f9f8: fb03 f301 mul.w r3, r3, r1 808f9fc: 4413 add r3, r2 808f9fe: 3324 adds r3, #36 ; 0x24 808fa00: 681b ldr r3, [r3, #0] 808fa02: 461a mov r2, r3 808fa04: 219a movs r1, #154 ; 0x9a 808fa06: 200a movs r0, #10 808fa08: f7c6 f9a8 bl 8055d5c } if(menupos == OscThr_IDT) 808fa0c: 4b9b ldr r3, [pc, #620] ; (808fc7c ) 808fa0e: 781b ldrb r3, [r3, #0] 808fa10: b2db uxtb r3, r3 808fa12: 2b09 cmp r3, #9 808fa14: d15e bne.n 808fad4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808fa16: 4995 ldr r1, [pc, #596] ; (808fc6c ) 808fa18: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808fa1c: f7c5 fbf6 bl 805520c if(blk) 808fa20: 4b97 ldr r3, [pc, #604] ; (808fc80 ) 808fa22: 681b ldr r3, [r3, #0] 808fa24: 2b00 cmp r3, #0 808fa26: d00b beq.n 808fa40 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808fa28: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808fa2c: b2db uxtb r3, r3 808fa2e: 461a mov r2, r3 808fa30: 4b94 ldr r3, [pc, #592] ; (808fc84 ) 808fa32: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fa36: 461a mov r2, r3 808fa38: 21ba movs r1, #186 ; 0xba 808fa3a: 20c6 movs r0, #198 ; 0xc6 808fa3c: f7c6 f98e bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808fa40: 498a ldr r1, [pc, #552] ; (808fc6c ) 808fa42: 4891 ldr r0, [pc, #580] ; (808fc88 ) 808fa44: f7c5 fbe2 bl 805520c LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808fa48: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808fa4c: b2db uxtb r3, r3 808fa4e: 461a mov r2, r3 808fa50: 4b8c ldr r3, [pc, #560] ; (808fc84 ) 808fa52: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fa56: 461a mov r2, r3 808fa58: 21ba movs r1, #186 ; 0xba 808fa5a: 20d6 movs r0, #214 ; 0xd6 808fa5c: f7c6 f97e bl 8055d5c LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808fa60: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808fa64: b2db uxtb r3, r3 808fa66: 461a mov r2, r3 808fa68: 4b86 ldr r3, [pc, #536] ; (808fc84 ) 808fa6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fa6e: 461a mov r2, r3 808fa70: 21ba movs r1, #186 ; 0xba 808fa72: 20e6 movs r0, #230 ; 0xe6 808fa74: f7c6 f972 bl 8055d5c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808fa78: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808fa7c: b2db uxtb r3, r3 808fa7e: 461a mov r2, r3 808fa80: 4b80 ldr r3, [pc, #512] ; (808fc84 ) 808fa82: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fa86: 461a mov r2, r3 808fa88: 21ba movs r1, #186 ; 0xba 808fa8a: 20f6 movs r0, #246 ; 0xf6 808fa8c: f7c6 f966 bl 8055d5c LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808fa90: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808fa94: b2db uxtb r3, r3 808fa96: 461a mov r2, r3 808fa98: 4b7a ldr r3, [pc, #488] ; (808fc84 ) 808fa9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fa9e: 461a mov r2, r3 808faa0: 21ba movs r1, #186 ; 0xba 808faa2: f44f 7083 mov.w r0, #262 ; 0x106 808faa6: f7c6 f959 bl 8055d5c LCD_DisplayString(278, LCD_LINE_11, "."); 808faaa: 4a78 ldr r2, [pc, #480] ; (808fc8c ) 808faac: 21ba movs r1, #186 ; 0xba 808faae: f44f 708b mov.w r0, #278 ; 0x116 808fab2: f7c6 f953 bl 8055d5c LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808fab6: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808faba: b2db uxtb r3, r3 808fabc: 461a mov r2, r3 808fabe: 4b71 ldr r3, [pc, #452] ; (808fc84 ) 808fac0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fac4: 461a mov r2, r3 808fac6: 21ba movs r1, #186 ; 0xba 808fac8: f44f 7093 mov.w r0, #294 ; 0x126 808facc: f7c6 f946 bl 8055d5c 808fad0: f000 bc70 b.w 80903b4 } else if(menupos == OscThr_IET) 808fad4: 4b69 ldr r3, [pc, #420] ; (808fc7c ) 808fad6: 781b ldrb r3, [r3, #0] 808fad8: b2db uxtb r3, r3 808fada: 2b0a cmp r3, #10 808fadc: d15e bne.n 808fb9c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808fade: 4963 ldr r1, [pc, #396] ; (808fc6c ) 808fae0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808fae4: f7c5 fb92 bl 805520c if(blk) 808fae8: 4b65 ldr r3, [pc, #404] ; (808fc80 ) 808faea: 681b ldr r3, [r3, #0] 808faec: 2b00 cmp r3, #0 808faee: d00b beq.n 808fb08 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808faf0: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808faf4: b2db uxtb r3, r3 808faf6: 461a mov r2, r3 808faf8: 4b62 ldr r3, [pc, #392] ; (808fc84 ) 808fafa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fafe: 461a mov r2, r3 808fb00: 21ba movs r1, #186 ; 0xba 808fb02: 20d6 movs r0, #214 ; 0xd6 808fb04: f7c6 f92a bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808fb08: 4958 ldr r1, [pc, #352] ; (808fc6c ) 808fb0a: 485f ldr r0, [pc, #380] ; (808fc88 ) 808fb0c: f7c5 fb7e bl 805520c LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808fb10: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808fb14: b2db uxtb r3, r3 808fb16: 461a mov r2, r3 808fb18: 4b5a ldr r3, [pc, #360] ; (808fc84 ) 808fb1a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fb1e: 461a mov r2, r3 808fb20: 21ba movs r1, #186 ; 0xba 808fb22: 20c6 movs r0, #198 ; 0xc6 808fb24: f7c6 f91a bl 8055d5c LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808fb28: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808fb2c: b2db uxtb r3, r3 808fb2e: 461a mov r2, r3 808fb30: 4b54 ldr r3, [pc, #336] ; (808fc84 ) 808fb32: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fb36: 461a mov r2, r3 808fb38: 21ba movs r1, #186 ; 0xba 808fb3a: 20e6 movs r0, #230 ; 0xe6 808fb3c: f7c6 f90e bl 8055d5c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808fb40: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808fb44: b2db uxtb r3, r3 808fb46: 461a mov r2, r3 808fb48: 4b4e ldr r3, [pc, #312] ; (808fc84 ) 808fb4a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fb4e: 461a mov r2, r3 808fb50: 21ba movs r1, #186 ; 0xba 808fb52: 20f6 movs r0, #246 ; 0xf6 808fb54: f7c6 f902 bl 8055d5c LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808fb58: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808fb5c: b2db uxtb r3, r3 808fb5e: 461a mov r2, r3 808fb60: 4b48 ldr r3, [pc, #288] ; (808fc84 ) 808fb62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fb66: 461a mov r2, r3 808fb68: 21ba movs r1, #186 ; 0xba 808fb6a: f44f 7083 mov.w r0, #262 ; 0x106 808fb6e: f7c6 f8f5 bl 8055d5c LCD_DisplayString(278, LCD_LINE_11, "."); 808fb72: 4a46 ldr r2, [pc, #280] ; (808fc8c ) 808fb74: 21ba movs r1, #186 ; 0xba 808fb76: f44f 708b mov.w r0, #278 ; 0x116 808fb7a: f7c6 f8ef bl 8055d5c LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808fb7e: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808fb82: b2db uxtb r3, r3 808fb84: 461a mov r2, r3 808fb86: 4b3f ldr r3, [pc, #252] ; (808fc84 ) 808fb88: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fb8c: 461a mov r2, r3 808fb8e: 21ba movs r1, #186 ; 0xba 808fb90: f44f 7093 mov.w r0, #294 ; 0x126 808fb94: f7c6 f8e2 bl 8055d5c 808fb98: f000 bc0c b.w 80903b4 } else if(menupos == OscThr_IES) 808fb9c: 4b37 ldr r3, [pc, #220] ; (808fc7c ) 808fb9e: 781b ldrb r3, [r3, #0] 808fba0: b2db uxtb r3, r3 808fba2: 2b0b cmp r3, #11 808fba4: d174 bne.n 808fc90 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808fba6: 4931 ldr r1, [pc, #196] ; (808fc6c ) 808fba8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808fbac: f7c5 fb2e bl 805520c if(blk) 808fbb0: 4b33 ldr r3, [pc, #204] ; (808fc80 ) 808fbb2: 681b ldr r3, [r3, #0] 808fbb4: 2b00 cmp r3, #0 808fbb6: d00b beq.n 808fbd0 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808fbb8: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808fbbc: b2db uxtb r3, r3 808fbbe: 461a mov r2, r3 808fbc0: 4b30 ldr r3, [pc, #192] ; (808fc84 ) 808fbc2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fbc6: 461a mov r2, r3 808fbc8: 21ba movs r1, #186 ; 0xba 808fbca: 20e6 movs r0, #230 ; 0xe6 808fbcc: f7c6 f8c6 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808fbd0: 4926 ldr r1, [pc, #152] ; (808fc6c ) 808fbd2: 482d ldr r0, [pc, #180] ; (808fc88 ) 808fbd4: f7c5 fb1a bl 805520c LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808fbd8: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808fbdc: b2db uxtb r3, r3 808fbde: 461a mov r2, r3 808fbe0: 4b28 ldr r3, [pc, #160] ; (808fc84 ) 808fbe2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fbe6: 461a mov r2, r3 808fbe8: 21ba movs r1, #186 ; 0xba 808fbea: 20c6 movs r0, #198 ; 0xc6 808fbec: f7c6 f8b6 bl 8055d5c LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808fbf0: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808fbf4: b2db uxtb r3, r3 808fbf6: 461a mov r2, r3 808fbf8: 4b22 ldr r3, [pc, #136] ; (808fc84 ) 808fbfa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fbfe: 461a mov r2, r3 808fc00: 21ba movs r1, #186 ; 0xba 808fc02: 20d6 movs r0, #214 ; 0xd6 808fc04: f7c6 f8aa bl 8055d5c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808fc08: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808fc0c: b2db uxtb r3, r3 808fc0e: 461a mov r2, r3 808fc10: 4b1c ldr r3, [pc, #112] ; (808fc84 ) 808fc12: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fc16: 461a mov r2, r3 808fc18: 21ba movs r1, #186 ; 0xba 808fc1a: 20f6 movs r0, #246 ; 0xf6 808fc1c: f7c6 f89e bl 8055d5c LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808fc20: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808fc24: b2db uxtb r3, r3 808fc26: 461a mov r2, r3 808fc28: 4b16 ldr r3, [pc, #88] ; (808fc84 ) 808fc2a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fc2e: 461a mov r2, r3 808fc30: 21ba movs r1, #186 ; 0xba 808fc32: f44f 7083 mov.w r0, #262 ; 0x106 808fc36: f7c6 f891 bl 8055d5c LCD_DisplayString(278, LCD_LINE_11, "."); 808fc3a: 4a14 ldr r2, [pc, #80] ; (808fc8c ) 808fc3c: 21ba movs r1, #186 ; 0xba 808fc3e: f44f 708b mov.w r0, #278 ; 0x116 808fc42: f7c6 f88b bl 8055d5c LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808fc46: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808fc4a: b2db uxtb r3, r3 808fc4c: 461a mov r2, r3 808fc4e: 4b0d ldr r3, [pc, #52] ; (808fc84 ) 808fc50: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fc54: 461a mov r2, r3 808fc56: 21ba movs r1, #186 ; 0xba 808fc58: f44f 7093 mov.w r0, #294 ; 0x126 808fc5c: f7c6 f87e bl 8055d5c 808fc60: e3a8 b.n 80903b4 808fc62: bf00 nop 808fc64: 080d5f48 .word 0x080d5f48 808fc68: 20023eb8 .word 0x20023eb8 808fc6c: ff0a0f1f .word 0xff0a0f1f 808fc70: ff808080 .word 0xff808080 808fc74: 200206bc .word 0x200206bc 808fc78: 20020714 .word 0x20020714 808fc7c: 20020070 .word 0x20020070 808fc80: 200216ac .word 0x200216ac 808fc84: 2002096c .word 0x2002096c 808fc88: ffd8aa57 .word 0xffd8aa57 808fc8c: 080d6258 .word 0x080d6258 } else if(menupos == OscThr_IED) 808fc90: 4bc5 ldr r3, [pc, #788] ; (808ffa8 ) 808fc92: 781b ldrb r3, [r3, #0] 808fc94: b2db uxtb r3, r3 808fc96: 2b0c cmp r3, #12 808fc98: d15d bne.n 808fd56 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808fc9a: 49c4 ldr r1, [pc, #784] ; (808ffac ) 808fc9c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808fca0: f7c5 fab4 bl 805520c if(blk) 808fca4: 4bc2 ldr r3, [pc, #776] ; (808ffb0 ) 808fca6: 681b ldr r3, [r3, #0] 808fca8: 2b00 cmp r3, #0 808fcaa: d00b beq.n 808fcc4 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808fcac: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808fcb0: b2db uxtb r3, r3 808fcb2: 461a mov r2, r3 808fcb4: 4bbf ldr r3, [pc, #764] ; (808ffb4 ) 808fcb6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fcba: 461a mov r2, r3 808fcbc: 21ba movs r1, #186 ; 0xba 808fcbe: 20f6 movs r0, #246 ; 0xf6 808fcc0: f7c6 f84c bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808fcc4: 49b9 ldr r1, [pc, #740] ; (808ffac ) 808fcc6: 48bc ldr r0, [pc, #752] ; (808ffb8 ) 808fcc8: f7c5 faa0 bl 805520c LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808fccc: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808fcd0: b2db uxtb r3, r3 808fcd2: 461a mov r2, r3 808fcd4: 4bb7 ldr r3, [pc, #732] ; (808ffb4 ) 808fcd6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fcda: 461a mov r2, r3 808fcdc: 21ba movs r1, #186 ; 0xba 808fcde: 20c6 movs r0, #198 ; 0xc6 808fce0: f7c6 f83c bl 8055d5c LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808fce4: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808fce8: b2db uxtb r3, r3 808fcea: 461a mov r2, r3 808fcec: 4bb1 ldr r3, [pc, #708] ; (808ffb4 ) 808fcee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fcf2: 461a mov r2, r3 808fcf4: 21ba movs r1, #186 ; 0xba 808fcf6: 20d6 movs r0, #214 ; 0xd6 808fcf8: f7c6 f830 bl 8055d5c LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808fcfc: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808fd00: b2db uxtb r3, r3 808fd02: 461a mov r2, r3 808fd04: 4bab ldr r3, [pc, #684] ; (808ffb4 ) 808fd06: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fd0a: 461a mov r2, r3 808fd0c: 21ba movs r1, #186 ; 0xba 808fd0e: 20e6 movs r0, #230 ; 0xe6 808fd10: f7c6 f824 bl 8055d5c LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808fd14: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808fd18: b2db uxtb r3, r3 808fd1a: 461a mov r2, r3 808fd1c: 4ba5 ldr r3, [pc, #660] ; (808ffb4 ) 808fd1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fd22: 461a mov r2, r3 808fd24: 21ba movs r1, #186 ; 0xba 808fd26: f44f 7083 mov.w r0, #262 ; 0x106 808fd2a: f7c6 f817 bl 8055d5c LCD_DisplayString(278, LCD_LINE_11, "."); 808fd2e: 4aa3 ldr r2, [pc, #652] ; (808ffbc ) 808fd30: 21ba movs r1, #186 ; 0xba 808fd32: f44f 708b mov.w r0, #278 ; 0x116 808fd36: f7c6 f811 bl 8055d5c LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808fd3a: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808fd3e: b2db uxtb r3, r3 808fd40: 461a mov r2, r3 808fd42: 4b9c ldr r3, [pc, #624] ; (808ffb4 ) 808fd44: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fd48: 461a mov r2, r3 808fd4a: 21ba movs r1, #186 ; 0xba 808fd4c: f44f 7093 mov.w r0, #294 ; 0x126 808fd50: f7c6 f804 bl 8055d5c 808fd54: e32e b.n 80903b4 } else if(menupos == OscThr_IEE) 808fd56: 4b94 ldr r3, [pc, #592] ; (808ffa8 ) 808fd58: 781b ldrb r3, [r3, #0] 808fd5a: b2db uxtb r3, r3 808fd5c: 2b0d cmp r3, #13 808fd5e: d15d bne.n 808fe1c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808fd60: 4992 ldr r1, [pc, #584] ; (808ffac ) 808fd62: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808fd66: f7c5 fa51 bl 805520c if(blk) 808fd6a: 4b91 ldr r3, [pc, #580] ; (808ffb0 ) 808fd6c: 681b ldr r3, [r3, #0] 808fd6e: 2b00 cmp r3, #0 808fd70: d00c beq.n 808fd8c LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808fd72: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808fd76: b2db uxtb r3, r3 808fd78: 461a mov r2, r3 808fd7a: 4b8e ldr r3, [pc, #568] ; (808ffb4 ) 808fd7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fd80: 461a mov r2, r3 808fd82: 21ba movs r1, #186 ; 0xba 808fd84: f44f 7083 mov.w r0, #262 ; 0x106 808fd88: f7c5 ffe8 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808fd8c: 4987 ldr r1, [pc, #540] ; (808ffac ) 808fd8e: 488a ldr r0, [pc, #552] ; (808ffb8 ) 808fd90: f7c5 fa3c bl 805520c LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808fd94: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808fd98: b2db uxtb r3, r3 808fd9a: 461a mov r2, r3 808fd9c: 4b85 ldr r3, [pc, #532] ; (808ffb4 ) 808fd9e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fda2: 461a mov r2, r3 808fda4: 21ba movs r1, #186 ; 0xba 808fda6: 20c6 movs r0, #198 ; 0xc6 808fda8: f7c5 ffd8 bl 8055d5c LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808fdac: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808fdb0: b2db uxtb r3, r3 808fdb2: 461a mov r2, r3 808fdb4: 4b7f ldr r3, [pc, #508] ; (808ffb4 ) 808fdb6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fdba: 461a mov r2, r3 808fdbc: 21ba movs r1, #186 ; 0xba 808fdbe: 20d6 movs r0, #214 ; 0xd6 808fdc0: f7c5 ffcc bl 8055d5c LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808fdc4: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808fdc8: b2db uxtb r3, r3 808fdca: 461a mov r2, r3 808fdcc: 4b79 ldr r3, [pc, #484] ; (808ffb4 ) 808fdce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fdd2: 461a mov r2, r3 808fdd4: 21ba movs r1, #186 ; 0xba 808fdd6: 20e6 movs r0, #230 ; 0xe6 808fdd8: f7c5 ffc0 bl 8055d5c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808fddc: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808fde0: b2db uxtb r3, r3 808fde2: 461a mov r2, r3 808fde4: 4b73 ldr r3, [pc, #460] ; (808ffb4 ) 808fde6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fdea: 461a mov r2, r3 808fdec: 21ba movs r1, #186 ; 0xba 808fdee: 20f6 movs r0, #246 ; 0xf6 808fdf0: f7c5 ffb4 bl 8055d5c LCD_DisplayString(278, LCD_LINE_11, "."); 808fdf4: 4a71 ldr r2, [pc, #452] ; (808ffbc ) 808fdf6: 21ba movs r1, #186 ; 0xba 808fdf8: f44f 708b mov.w r0, #278 ; 0x116 808fdfc: f7c5 ffae bl 8055d5c LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808fe00: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808fe04: b2db uxtb r3, r3 808fe06: 461a mov r2, r3 808fe08: 4b6a ldr r3, [pc, #424] ; (808ffb4 ) 808fe0a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fe0e: 461a mov r2, r3 808fe10: 21ba movs r1, #186 ; 0xba 808fe12: f44f 7093 mov.w r0, #294 ; 0x126 808fe16: f7c5 ffa1 bl 8055d5c 808fe1a: e2cb b.n 80903b4 } else if(menupos == OscThr_IKD) 808fe1c: 4b62 ldr r3, [pc, #392] ; (808ffa8 ) 808fe1e: 781b ldrb r3, [r3, #0] 808fe20: b2db uxtb r3, r3 808fe22: 2b0e cmp r3, #14 808fe24: d15d bne.n 808fee2 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808fe26: 4961 ldr r1, [pc, #388] ; (808ffac ) 808fe28: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808fe2c: f7c5 f9ee bl 805520c if(blk) 808fe30: 4b5f ldr r3, [pc, #380] ; (808ffb0 ) 808fe32: 681b ldr r3, [r3, #0] 808fe34: 2b00 cmp r3, #0 808fe36: d00c beq.n 808fe52 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808fe38: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808fe3c: b2db uxtb r3, r3 808fe3e: 461a mov r2, r3 808fe40: 4b5c ldr r3, [pc, #368] ; (808ffb4 ) 808fe42: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fe46: 461a mov r2, r3 808fe48: 21ba movs r1, #186 ; 0xba 808fe4a: f44f 7093 mov.w r0, #294 ; 0x126 808fe4e: f7c5 ff85 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808fe52: 4956 ldr r1, [pc, #344] ; (808ffac ) 808fe54: 4858 ldr r0, [pc, #352] ; (808ffb8 ) 808fe56: f7c5 f9d9 bl 805520c LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808fe5a: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808fe5e: b2db uxtb r3, r3 808fe60: 461a mov r2, r3 808fe62: 4b54 ldr r3, [pc, #336] ; (808ffb4 ) 808fe64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fe68: 461a mov r2, r3 808fe6a: 21ba movs r1, #186 ; 0xba 808fe6c: 20c6 movs r0, #198 ; 0xc6 808fe6e: f7c5 ff75 bl 8055d5c LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808fe72: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808fe76: b2db uxtb r3, r3 808fe78: 461a mov r2, r3 808fe7a: 4b4e ldr r3, [pc, #312] ; (808ffb4 ) 808fe7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fe80: 461a mov r2, r3 808fe82: 21ba movs r1, #186 ; 0xba 808fe84: 20d6 movs r0, #214 ; 0xd6 808fe86: f7c5 ff69 bl 8055d5c LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808fe8a: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808fe8e: b2db uxtb r3, r3 808fe90: 461a mov r2, r3 808fe92: 4b48 ldr r3, [pc, #288] ; (808ffb4 ) 808fe94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fe98: 461a mov r2, r3 808fe9a: 21ba movs r1, #186 ; 0xba 808fe9c: 20e6 movs r0, #230 ; 0xe6 808fe9e: f7c5 ff5d bl 8055d5c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808fea2: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808fea6: b2db uxtb r3, r3 808fea8: 461a mov r2, r3 808feaa: 4b42 ldr r3, [pc, #264] ; (808ffb4 ) 808feac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808feb0: 461a mov r2, r3 808feb2: 21ba movs r1, #186 ; 0xba 808feb4: 20f6 movs r0, #246 ; 0xf6 808feb6: f7c5 ff51 bl 8055d5c LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808feba: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808febe: b2db uxtb r3, r3 808fec0: 461a mov r2, r3 808fec2: 4b3c ldr r3, [pc, #240] ; (808ffb4 ) 808fec4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fec8: 461a mov r2, r3 808feca: 21ba movs r1, #186 ; 0xba 808fecc: f44f 7083 mov.w r0, #262 ; 0x106 808fed0: f7c5 ff44 bl 8055d5c LCD_DisplayString(278, LCD_LINE_11, "."); 808fed4: 4a39 ldr r2, [pc, #228] ; (808ffbc ) 808fed6: 21ba movs r1, #186 ; 0xba 808fed8: f44f 708b mov.w r0, #278 ; 0x116 808fedc: f7c5 ff3e bl 8055d5c 808fee0: e268 b.n 80903b4 } else if(menupos == OscMax_IDT) 808fee2: 4b31 ldr r3, [pc, #196] ; (808ffa8 ) 808fee4: 781b ldrb r3, [r3, #0] 808fee6: b2db uxtb r3, r3 808fee8: 2b0f cmp r3, #15 808feea: d169 bne.n 808ffc0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808feec: 492f ldr r1, [pc, #188] ; (808ffac ) 808feee: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808fef2: f7c5 f98b bl 805520c if(blk) 808fef6: 4b2e ldr r3, [pc, #184] ; (808ffb0 ) 808fef8: 681b ldr r3, [r3, #0] 808fefa: 2b00 cmp r3, #0 808fefc: d00b beq.n 808ff16 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808fefe: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808ff02: b2db uxtb r3, r3 808ff04: 461a mov r2, r3 808ff06: 4b2b ldr r3, [pc, #172] ; (808ffb4 ) 808ff08: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ff0c: 461a mov r2, r3 808ff0e: 219a movs r1, #154 ; 0x9a 808ff10: 20c6 movs r0, #198 ; 0xc6 808ff12: f7c5 ff23 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ff16: 4925 ldr r1, [pc, #148] ; (808ffac ) 808ff18: 4827 ldr r0, [pc, #156] ; (808ffb8 ) 808ff1a: f7c5 f977 bl 805520c LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808ff1e: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808ff22: b2db uxtb r3, r3 808ff24: 461a mov r2, r3 808ff26: 4b23 ldr r3, [pc, #140] ; (808ffb4 ) 808ff28: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ff2c: 461a mov r2, r3 808ff2e: 219a movs r1, #154 ; 0x9a 808ff30: 20d6 movs r0, #214 ; 0xd6 808ff32: f7c5 ff13 bl 8055d5c LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808ff36: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808ff3a: b2db uxtb r3, r3 808ff3c: 461a mov r2, r3 808ff3e: 4b1d ldr r3, [pc, #116] ; (808ffb4 ) 808ff40: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ff44: 461a mov r2, r3 808ff46: 219a movs r1, #154 ; 0x9a 808ff48: 20e6 movs r0, #230 ; 0xe6 808ff4a: f7c5 ff07 bl 8055d5c LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808ff4e: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808ff52: b2db uxtb r3, r3 808ff54: 461a mov r2, r3 808ff56: 4b17 ldr r3, [pc, #92] ; (808ffb4 ) 808ff58: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ff5c: 461a mov r2, r3 808ff5e: 219a movs r1, #154 ; 0x9a 808ff60: 20f6 movs r0, #246 ; 0xf6 808ff62: f7c5 fefb bl 8055d5c LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808ff66: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808ff6a: b2db uxtb r3, r3 808ff6c: 461a mov r2, r3 808ff6e: 4b11 ldr r3, [pc, #68] ; (808ffb4 ) 808ff70: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ff74: 461a mov r2, r3 808ff76: 219a movs r1, #154 ; 0x9a 808ff78: f44f 7083 mov.w r0, #262 ; 0x106 808ff7c: f7c5 feee bl 8055d5c LCD_DisplayString(278, LCD_LINE_9, "."); 808ff80: 4a0e ldr r2, [pc, #56] ; (808ffbc ) 808ff82: 219a movs r1, #154 ; 0x9a 808ff84: f44f 708b mov.w r0, #278 ; 0x116 808ff88: f7c5 fee8 bl 8055d5c LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808ff8c: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808ff90: b2db uxtb r3, r3 808ff92: 461a mov r2, r3 808ff94: 4b07 ldr r3, [pc, #28] ; (808ffb4 ) 808ff96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ff9a: 461a mov r2, r3 808ff9c: 219a movs r1, #154 ; 0x9a 808ff9e: f44f 7093 mov.w r0, #294 ; 0x126 808ffa2: f7c5 fedb bl 8055d5c 808ffa6: e205 b.n 80903b4 808ffa8: 20020070 .word 0x20020070 808ffac: ff0a0f1f .word 0xff0a0f1f 808ffb0: 200216ac .word 0x200216ac 808ffb4: 2002096c .word 0x2002096c 808ffb8: ffd8aa57 .word 0xffd8aa57 808ffbc: 080d6258 .word 0x080d6258 } else if(menupos == OscMax_IET) 808ffc0: 4bc5 ldr r3, [pc, #788] ; (80902d8 ) 808ffc2: 781b ldrb r3, [r3, #0] 808ffc4: b2db uxtb r3, r3 808ffc6: 2b10 cmp r3, #16 808ffc8: d15d bne.n 8090086 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ffca: 49c4 ldr r1, [pc, #784] ; (80902dc ) 808ffcc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ffd0: f7c5 f91c bl 805520c if(blk) 808ffd4: 4bc2 ldr r3, [pc, #776] ; (80902e0 ) 808ffd6: 681b ldr r3, [r3, #0] 808ffd8: 2b00 cmp r3, #0 808ffda: d00b beq.n 808fff4 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808ffdc: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808ffe0: b2db uxtb r3, r3 808ffe2: 461a mov r2, r3 808ffe4: 4bbf ldr r3, [pc, #764] ; (80902e4 ) 808ffe6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ffea: 461a mov r2, r3 808ffec: 219a movs r1, #154 ; 0x9a 808ffee: 20d6 movs r0, #214 ; 0xd6 808fff0: f7c5 feb4 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808fff4: 49b9 ldr r1, [pc, #740] ; (80902dc ) 808fff6: 48bc ldr r0, [pc, #752] ; (80902e8 ) 808fff8: f7c5 f908 bl 805520c LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808fffc: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8090000: b2db uxtb r3, r3 8090002: 461a mov r2, r3 8090004: 4bb7 ldr r3, [pc, #732] ; (80902e4 ) 8090006: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809000a: 461a mov r2, r3 809000c: 219a movs r1, #154 ; 0x9a 809000e: 20c6 movs r0, #198 ; 0xc6 8090010: f7c5 fea4 bl 8055d5c LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 8090014: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8090018: b2db uxtb r3, r3 809001a: 461a mov r2, r3 809001c: 4bb1 ldr r3, [pc, #708] ; (80902e4 ) 809001e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090022: 461a mov r2, r3 8090024: 219a movs r1, #154 ; 0x9a 8090026: 20e6 movs r0, #230 ; 0xe6 8090028: f7c5 fe98 bl 8055d5c LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 809002c: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8090030: b2db uxtb r3, r3 8090032: 461a mov r2, r3 8090034: 4bab ldr r3, [pc, #684] ; (80902e4 ) 8090036: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809003a: 461a mov r2, r3 809003c: 219a movs r1, #154 ; 0x9a 809003e: 20f6 movs r0, #246 ; 0xf6 8090040: f7c5 fe8c bl 8055d5c LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 8090044: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8090048: b2db uxtb r3, r3 809004a: 461a mov r2, r3 809004c: 4ba5 ldr r3, [pc, #660] ; (80902e4 ) 809004e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090052: 461a mov r2, r3 8090054: 219a movs r1, #154 ; 0x9a 8090056: f44f 7083 mov.w r0, #262 ; 0x106 809005a: f7c5 fe7f bl 8055d5c LCD_DisplayString(278, LCD_LINE_9, "."); 809005e: 4aa3 ldr r2, [pc, #652] ; (80902ec ) 8090060: 219a movs r1, #154 ; 0x9a 8090062: f44f 708b mov.w r0, #278 ; 0x116 8090066: f7c5 fe79 bl 8055d5c LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 809006a: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 809006e: b2db uxtb r3, r3 8090070: 461a mov r2, r3 8090072: 4b9c ldr r3, [pc, #624] ; (80902e4 ) 8090074: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090078: 461a mov r2, r3 809007a: 219a movs r1, #154 ; 0x9a 809007c: f44f 7093 mov.w r0, #294 ; 0x126 8090080: f7c5 fe6c bl 8055d5c 8090084: e196 b.n 80903b4 } else if(menupos == OscMax_IES) 8090086: 4b94 ldr r3, [pc, #592] ; (80902d8 ) 8090088: 781b ldrb r3, [r3, #0] 809008a: b2db uxtb r3, r3 809008c: 2b11 cmp r3, #17 809008e: d15d bne.n 809014c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090090: 4992 ldr r1, [pc, #584] ; (80902dc ) 8090092: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090096: f7c5 f8b9 bl 805520c if(blk) 809009a: 4b91 ldr r3, [pc, #580] ; (80902e0 ) 809009c: 681b ldr r3, [r3, #0] 809009e: 2b00 cmp r3, #0 80900a0: d00b beq.n 80900ba LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 80900a2: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80900a6: b2db uxtb r3, r3 80900a8: 461a mov r2, r3 80900aa: 4b8e ldr r3, [pc, #568] ; (80902e4 ) 80900ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80900b0: 461a mov r2, r3 80900b2: 219a movs r1, #154 ; 0x9a 80900b4: 20e6 movs r0, #230 ; 0xe6 80900b6: f7c5 fe51 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80900ba: 4988 ldr r1, [pc, #544] ; (80902dc ) 80900bc: 488a ldr r0, [pc, #552] ; (80902e8 ) 80900be: f7c5 f8a5 bl 805520c LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 80900c2: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80900c6: b2db uxtb r3, r3 80900c8: 461a mov r2, r3 80900ca: 4b86 ldr r3, [pc, #536] ; (80902e4 ) 80900cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80900d0: 461a mov r2, r3 80900d2: 219a movs r1, #154 ; 0x9a 80900d4: 20c6 movs r0, #198 ; 0xc6 80900d6: f7c5 fe41 bl 8055d5c LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 80900da: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80900de: b2db uxtb r3, r3 80900e0: 461a mov r2, r3 80900e2: 4b80 ldr r3, [pc, #512] ; (80902e4 ) 80900e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80900e8: 461a mov r2, r3 80900ea: 219a movs r1, #154 ; 0x9a 80900ec: 20d6 movs r0, #214 ; 0xd6 80900ee: f7c5 fe35 bl 8055d5c LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 80900f2: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80900f6: b2db uxtb r3, r3 80900f8: 461a mov r2, r3 80900fa: 4b7a ldr r3, [pc, #488] ; (80902e4 ) 80900fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090100: 461a mov r2, r3 8090102: 219a movs r1, #154 ; 0x9a 8090104: 20f6 movs r0, #246 ; 0xf6 8090106: f7c5 fe29 bl 8055d5c LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 809010a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 809010e: b2db uxtb r3, r3 8090110: 461a mov r2, r3 8090112: 4b74 ldr r3, [pc, #464] ; (80902e4 ) 8090114: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090118: 461a mov r2, r3 809011a: 219a movs r1, #154 ; 0x9a 809011c: f44f 7083 mov.w r0, #262 ; 0x106 8090120: f7c5 fe1c bl 8055d5c LCD_DisplayString(278, LCD_LINE_9, "."); 8090124: 4a71 ldr r2, [pc, #452] ; (80902ec ) 8090126: 219a movs r1, #154 ; 0x9a 8090128: f44f 708b mov.w r0, #278 ; 0x116 809012c: f7c5 fe16 bl 8055d5c LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 8090130: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8090134: b2db uxtb r3, r3 8090136: 461a mov r2, r3 8090138: 4b6a ldr r3, [pc, #424] ; (80902e4 ) 809013a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809013e: 461a mov r2, r3 8090140: 219a movs r1, #154 ; 0x9a 8090142: f44f 7093 mov.w r0, #294 ; 0x126 8090146: f7c5 fe09 bl 8055d5c 809014a: e133 b.n 80903b4 } else if(menupos == OscMax_IED) 809014c: 4b62 ldr r3, [pc, #392] ; (80902d8 ) 809014e: 781b ldrb r3, [r3, #0] 8090150: b2db uxtb r3, r3 8090152: 2b12 cmp r3, #18 8090154: d15d bne.n 8090212 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090156: 4961 ldr r1, [pc, #388] ; (80902dc ) 8090158: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809015c: f7c5 f856 bl 805520c if(blk) 8090160: 4b5f ldr r3, [pc, #380] ; (80902e0 ) 8090162: 681b ldr r3, [r3, #0] 8090164: 2b00 cmp r3, #0 8090166: d00b beq.n 8090180 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 8090168: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 809016c: b2db uxtb r3, r3 809016e: 461a mov r2, r3 8090170: 4b5c ldr r3, [pc, #368] ; (80902e4 ) 8090172: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090176: 461a mov r2, r3 8090178: 219a movs r1, #154 ; 0x9a 809017a: 20f6 movs r0, #246 ; 0xf6 809017c: f7c5 fdee bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090180: 4956 ldr r1, [pc, #344] ; (80902dc ) 8090182: 4859 ldr r0, [pc, #356] ; (80902e8 ) 8090184: f7c5 f842 bl 805520c LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 8090188: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 809018c: b2db uxtb r3, r3 809018e: 461a mov r2, r3 8090190: 4b54 ldr r3, [pc, #336] ; (80902e4 ) 8090192: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090196: 461a mov r2, r3 8090198: 219a movs r1, #154 ; 0x9a 809019a: 20c6 movs r0, #198 ; 0xc6 809019c: f7c5 fdde bl 8055d5c LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 80901a0: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80901a4: b2db uxtb r3, r3 80901a6: 461a mov r2, r3 80901a8: 4b4e ldr r3, [pc, #312] ; (80902e4 ) 80901aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80901ae: 461a mov r2, r3 80901b0: 219a movs r1, #154 ; 0x9a 80901b2: 20d6 movs r0, #214 ; 0xd6 80901b4: f7c5 fdd2 bl 8055d5c LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 80901b8: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80901bc: b2db uxtb r3, r3 80901be: 461a mov r2, r3 80901c0: 4b48 ldr r3, [pc, #288] ; (80902e4 ) 80901c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80901c6: 461a mov r2, r3 80901c8: 219a movs r1, #154 ; 0x9a 80901ca: 20e6 movs r0, #230 ; 0xe6 80901cc: f7c5 fdc6 bl 8055d5c LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 80901d0: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80901d4: b2db uxtb r3, r3 80901d6: 461a mov r2, r3 80901d8: 4b42 ldr r3, [pc, #264] ; (80902e4 ) 80901da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80901de: 461a mov r2, r3 80901e0: 219a movs r1, #154 ; 0x9a 80901e2: f44f 7083 mov.w r0, #262 ; 0x106 80901e6: f7c5 fdb9 bl 8055d5c LCD_DisplayString(278, LCD_LINE_9, "."); 80901ea: 4a40 ldr r2, [pc, #256] ; (80902ec ) 80901ec: 219a movs r1, #154 ; 0x9a 80901ee: f44f 708b mov.w r0, #278 ; 0x116 80901f2: f7c5 fdb3 bl 8055d5c LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 80901f6: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80901fa: b2db uxtb r3, r3 80901fc: 461a mov r2, r3 80901fe: 4b39 ldr r3, [pc, #228] ; (80902e4 ) 8090200: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090204: 461a mov r2, r3 8090206: 219a movs r1, #154 ; 0x9a 8090208: f44f 7093 mov.w r0, #294 ; 0x126 809020c: f7c5 fda6 bl 8055d5c 8090210: e0d0 b.n 80903b4 } else if(menupos == OscMax_IEE) 8090212: 4b31 ldr r3, [pc, #196] ; (80902d8 ) 8090214: 781b ldrb r3, [r3, #0] 8090216: b2db uxtb r3, r3 8090218: 2b13 cmp r3, #19 809021a: d169 bne.n 80902f0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809021c: 492f ldr r1, [pc, #188] ; (80902dc ) 809021e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090222: f7c4 fff3 bl 805520c if(blk) 8090226: 4b2e ldr r3, [pc, #184] ; (80902e0 ) 8090228: 681b ldr r3, [r3, #0] 809022a: 2b00 cmp r3, #0 809022c: d00c beq.n 8090248 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 809022e: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8090232: b2db uxtb r3, r3 8090234: 461a mov r2, r3 8090236: 4b2b ldr r3, [pc, #172] ; (80902e4 ) 8090238: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809023c: 461a mov r2, r3 809023e: 219a movs r1, #154 ; 0x9a 8090240: f44f 7083 mov.w r0, #262 ; 0x106 8090244: f7c5 fd8a bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090248: 4924 ldr r1, [pc, #144] ; (80902dc ) 809024a: 4827 ldr r0, [pc, #156] ; (80902e8 ) 809024c: f7c4 ffde bl 805520c LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 8090250: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8090254: b2db uxtb r3, r3 8090256: 461a mov r2, r3 8090258: 4b22 ldr r3, [pc, #136] ; (80902e4 ) 809025a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809025e: 461a mov r2, r3 8090260: 219a movs r1, #154 ; 0x9a 8090262: 20c6 movs r0, #198 ; 0xc6 8090264: f7c5 fd7a bl 8055d5c LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 8090268: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 809026c: b2db uxtb r3, r3 809026e: 461a mov r2, r3 8090270: 4b1c ldr r3, [pc, #112] ; (80902e4 ) 8090272: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090276: 461a mov r2, r3 8090278: 219a movs r1, #154 ; 0x9a 809027a: 20d6 movs r0, #214 ; 0xd6 809027c: f7c5 fd6e bl 8055d5c LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 8090280: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8090284: b2db uxtb r3, r3 8090286: 461a mov r2, r3 8090288: 4b16 ldr r3, [pc, #88] ; (80902e4 ) 809028a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809028e: 461a mov r2, r3 8090290: 219a movs r1, #154 ; 0x9a 8090292: 20e6 movs r0, #230 ; 0xe6 8090294: f7c5 fd62 bl 8055d5c LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 8090298: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 809029c: b2db uxtb r3, r3 809029e: 461a mov r2, r3 80902a0: 4b10 ldr r3, [pc, #64] ; (80902e4 ) 80902a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80902a6: 461a mov r2, r3 80902a8: 219a movs r1, #154 ; 0x9a 80902aa: 20f6 movs r0, #246 ; 0xf6 80902ac: f7c5 fd56 bl 8055d5c LCD_DisplayString(278, LCD_LINE_9, "."); 80902b0: 4a0e ldr r2, [pc, #56] ; (80902ec ) 80902b2: 219a movs r1, #154 ; 0x9a 80902b4: f44f 708b mov.w r0, #278 ; 0x116 80902b8: f7c5 fd50 bl 8055d5c LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 80902bc: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80902c0: b2db uxtb r3, r3 80902c2: 461a mov r2, r3 80902c4: 4b07 ldr r3, [pc, #28] ; (80902e4 ) 80902c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80902ca: 461a mov r2, r3 80902cc: 219a movs r1, #154 ; 0x9a 80902ce: f44f 7093 mov.w r0, #294 ; 0x126 80902d2: f7c5 fd43 bl 8055d5c 80902d6: e06d b.n 80903b4 80902d8: 20020070 .word 0x20020070 80902dc: ff0a0f1f .word 0xff0a0f1f 80902e0: 200216ac .word 0x200216ac 80902e4: 2002096c .word 0x2002096c 80902e8: ffd8aa57 .word 0xffd8aa57 80902ec: 080d6258 .word 0x080d6258 } else if(menupos == OscMax_IKD) 80902f0: 4b8e ldr r3, [pc, #568] ; (809052c ) 80902f2: 781b ldrb r3, [r3, #0] 80902f4: b2db uxtb r3, r3 80902f6: 2b14 cmp r3, #20 80902f8: d15c bne.n 80903b4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80902fa: 498d ldr r1, [pc, #564] ; (8090530 ) 80902fc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090300: f7c4 ff84 bl 805520c if(blk) 8090304: 4b8b ldr r3, [pc, #556] ; (8090534 ) 8090306: 681b ldr r3, [r3, #0] 8090308: 2b00 cmp r3, #0 809030a: d00c beq.n 8090326 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 809030c: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8090310: b2db uxtb r3, r3 8090312: 461a mov r2, r3 8090314: 4b88 ldr r3, [pc, #544] ; (8090538 ) 8090316: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809031a: 461a mov r2, r3 809031c: 219a movs r1, #154 ; 0x9a 809031e: f44f 7093 mov.w r0, #294 ; 0x126 8090322: f7c5 fd1b bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090326: 4982 ldr r1, [pc, #520] ; (8090530 ) 8090328: 4884 ldr r0, [pc, #528] ; (809053c ) 809032a: f7c4 ff6f bl 805520c LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 809032e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8090332: b2db uxtb r3, r3 8090334: 461a mov r2, r3 8090336: 4b80 ldr r3, [pc, #512] ; (8090538 ) 8090338: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809033c: 461a mov r2, r3 809033e: 219a movs r1, #154 ; 0x9a 8090340: 20c6 movs r0, #198 ; 0xc6 8090342: f7c5 fd0b bl 8055d5c LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 8090346: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 809034a: b2db uxtb r3, r3 809034c: 461a mov r2, r3 809034e: 4b7a ldr r3, [pc, #488] ; (8090538 ) 8090350: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090354: 461a mov r2, r3 8090356: 219a movs r1, #154 ; 0x9a 8090358: 20d6 movs r0, #214 ; 0xd6 809035a: f7c5 fcff bl 8055d5c LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 809035e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8090362: b2db uxtb r3, r3 8090364: 461a mov r2, r3 8090366: 4b74 ldr r3, [pc, #464] ; (8090538 ) 8090368: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809036c: 461a mov r2, r3 809036e: 219a movs r1, #154 ; 0x9a 8090370: 20e6 movs r0, #230 ; 0xe6 8090372: f7c5 fcf3 bl 8055d5c LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 8090376: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 809037a: b2db uxtb r3, r3 809037c: 461a mov r2, r3 809037e: 4b6e ldr r3, [pc, #440] ; (8090538 ) 8090380: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090384: 461a mov r2, r3 8090386: 219a movs r1, #154 ; 0x9a 8090388: 20f6 movs r0, #246 ; 0xf6 809038a: f7c5 fce7 bl 8055d5c LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 809038e: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8090392: b2db uxtb r3, r3 8090394: 461a mov r2, r3 8090396: 4b68 ldr r3, [pc, #416] ; (8090538 ) 8090398: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809039c: 461a mov r2, r3 809039e: 219a movs r1, #154 ; 0x9a 80903a0: f44f 7083 mov.w r0, #262 ; 0x106 80903a4: f7c5 fcda bl 8055d5c LCD_DisplayString(278, LCD_LINE_9, "."); 80903a8: 4a65 ldr r2, [pc, #404] ; (8090540 ) 80903aa: 219a movs r1, #154 ; 0x9a 80903ac: f44f 708b mov.w r0, #278 ; 0x116 80903b0: f7c5 fcd4 bl 8055d5c } if((menupos < OscThr_IDT) || (menupos > OscThr_IKD)) 80903b4: 4b5d ldr r3, [pc, #372] ; (809052c ) 80903b6: 781b ldrb r3, [r3, #0] 80903b8: b2db uxtb r3, r3 80903ba: 2b08 cmp r3, #8 80903bc: d905 bls.n 80903ca 80903be: 4b5b ldr r3, [pc, #364] ; (809052c ) 80903c0: 781b ldrb r3, [r3, #0] 80903c2: b2db uxtb r3, r3 80903c4: 2b0e cmp r3, #14 80903c6: f240 80ce bls.w 8090566 { i = 0; 80903ca: 2300 movs r3, #0 80903cc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str, 0, sizeof(str)); 80903d0: f507 733b add.w r3, r7, #748 ; 0x2ec 80903d4: 223c movs r2, #60 ; 0x3c 80903d6: 2100 movs r1, #0 80903d8: 4618 mov r0, r3 80903da: f041 fde3 bl 80d1fa4 if(idt != 0) 80903de: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 80903e2: b2db uxtb r3, r3 80903e4: 2b00 cmp r3, #0 80903e6: d00c beq.n 8090402 str[i++] = idt + 48; 80903e8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80903ec: 1c5a adds r2, r3, #1 80903ee: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80903f2: f897 23e7 ldrb.w r2, [r7, #999] ; 0x3e7 80903f6: b2d2 uxtb r2, r2 80903f8: 3230 adds r2, #48 ; 0x30 80903fa: b2d1 uxtb r1, r2 80903fc: f507 723b add.w r2, r7, #748 ; 0x2ec 8090400: 54d1 strb r1, [r2, r3] if((iet != 0) || (idt != 0)) 8090402: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8090406: b2db uxtb r3, r3 8090408: 2b00 cmp r3, #0 809040a: d104 bne.n 8090416 809040c: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8090410: b2db uxtb r3, r3 8090412: 2b00 cmp r3, #0 8090414: d00c beq.n 8090430 str[i++] = iet + 48; 8090416: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809041a: 1c5a adds r2, r3, #1 809041c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090420: f897 23e6 ldrb.w r2, [r7, #998] ; 0x3e6 8090424: b2d2 uxtb r2, r2 8090426: 3230 adds r2, #48 ; 0x30 8090428: b2d1 uxtb r1, r2 809042a: f507 723b add.w r2, r7, #748 ; 0x2ec 809042e: 54d1 strb r1, [r2, r3] if((ies != 0) || (iet != 0) || (idt != 0)) 8090430: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8090434: b2db uxtb r3, r3 8090436: 2b00 cmp r3, #0 8090438: d109 bne.n 809044e 809043a: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 809043e: b2db uxtb r3, r3 8090440: 2b00 cmp r3, #0 8090442: d104 bne.n 809044e 8090444: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8090448: b2db uxtb r3, r3 809044a: 2b00 cmp r3, #0 809044c: d00c beq.n 8090468 str[i++] = ies + 48; 809044e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090452: 1c5a adds r2, r3, #1 8090454: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090458: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 809045c: b2d2 uxtb r2, r2 809045e: 3230 adds r2, #48 ; 0x30 8090460: b2d1 uxtb r1, r2 8090462: f507 723b add.w r2, r7, #748 ; 0x2ec 8090466: 54d1 strb r1, [r2, r3] if((ied != 0) || (ies != 0) || (iet != 0) || (idt != 0)) 8090468: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 809046c: b2db uxtb r3, r3 809046e: 2b00 cmp r3, #0 8090470: d10e bne.n 8090490 8090472: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8090476: b2db uxtb r3, r3 8090478: 2b00 cmp r3, #0 809047a: d109 bne.n 8090490 809047c: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8090480: b2db uxtb r3, r3 8090482: 2b00 cmp r3, #0 8090484: d104 bne.n 8090490 8090486: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 809048a: b2db uxtb r3, r3 809048c: 2b00 cmp r3, #0 809048e: d00c beq.n 80904aa str[i++] = ied + 48; 8090490: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090494: 1c5a adds r2, r3, #1 8090496: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 809049a: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 809049e: b2d2 uxtb r2, r2 80904a0: 3230 adds r2, #48 ; 0x30 80904a2: b2d1 uxtb r1, r2 80904a4: f507 723b add.w r2, r7, #748 ; 0x2ec 80904a8: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 80904aa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80904ae: 1c5a adds r2, r3, #1 80904b0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80904b4: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 80904b8: b2d2 uxtb r2, r2 80904ba: 3230 adds r2, #48 ; 0x30 80904bc: b2d1 uxtb r1, r2 80904be: f507 723b add.w r2, r7, #748 ; 0x2ec 80904c2: 54d1 strb r1, [r2, r3] str[i++] = '.'; 80904c4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80904c8: 1c5a adds r2, r3, #1 80904ca: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80904ce: f507 723b add.w r2, r7, #748 ; 0x2ec 80904d2: 212e movs r1, #46 ; 0x2e 80904d4: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 80904d6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80904da: 1c5a adds r2, r3, #1 80904dc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80904e0: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 80904e4: b2d2 uxtb r2, r2 80904e6: 3230 adds r2, #48 ; 0x30 80904e8: b2d1 uxtb r1, r2 80904ea: f507 723b add.w r2, r7, #748 ; 0x2ec 80904ee: 54d1 strb r1, [r2, r3] if((pardata.THR & 0x80) && (pardata.IPR == ACC)) 80904f0: 4b14 ldr r3, [pc, #80] ; (8090544 ) 80904f2: 7bdb ldrb r3, [r3, #15] 80904f4: b2db uxtb r3, r3 80904f6: b25b sxtb r3, r3 80904f8: 2b00 cmp r3, #0 80904fa: da08 bge.n 809050e 80904fc: 4b11 ldr r3, [pc, #68] ; (8090544 ) 80904fe: 785b ldrb r3, [r3, #1] 8090500: b2db uxtb r3, r3 8090502: 2b00 cmp r3, #0 8090504: d103 bne.n 809050e cl2 = LCD_COLOR_MY_YELLOW; 8090506: 4b0d ldr r3, [pc, #52] ; (809053c ) 8090508: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 809050c: e002 b.n 8090514 else cl2 = LCD_COLOR_GRAY; 809050e: 4b0e ldr r3, [pc, #56] ; (8090548 ) 8090510: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == OscThr_ALL) 8090514: 4b05 ldr r3, [pc, #20] ; (809052c ) 8090516: 781b ldrb r3, [r3, #0] 8090518: b2db uxtb r3, r3 809051a: 2b08 cmp r3, #8 809051c: d116 bne.n 809054c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809051e: 4904 ldr r1, [pc, #16] ; (8090530 ) 8090520: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090524: f7c4 fe72 bl 805520c 8090528: e015 b.n 8090556 809052a: bf00 nop 809052c: 20020070 .word 0x20020070 8090530: ff0a0f1f .word 0xff0a0f1f 8090534: 200216ac .word 0x200216ac 8090538: 2002096c .word 0x2002096c 809053c: ffd8aa57 .word 0xffd8aa57 8090540: 080d6258 .word 0x080d6258 8090544: 20023eb8 .word 0x20023eb8 8090548: ff808080 .word 0xff808080 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 809054c: 49a4 ldr r1, [pc, #656] ; (80907e0 ) 809054e: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 8090552: f7c4 fe5b bl 805520c LCD_DisplayStringC(260, LCD_LINE_11, str); 8090556: f507 733b add.w r3, r7, #748 ; 0x2ec 809055a: 461a mov r2, r3 809055c: 21ba movs r1, #186 ; 0xba 809055e: f44f 7082 mov.w r0, #260 ; 0x104 8090562: f7c5 fc13 bl 8055d8c } if((menupos < OscMax_IDT) || (menupos == Ok) || (menupos >= FilterHP)) 8090566: 4b9f ldr r3, [pc, #636] ; (80907e4 ) 8090568: 781b ldrb r3, [r3, #0] 809056a: b2db uxtb r3, r3 809056c: 2b0e cmp r3, #14 809056e: d90a bls.n 8090586 8090570: 4b9c ldr r3, [pc, #624] ; (80907e4 ) 8090572: 781b ldrb r3, [r3, #0] 8090574: b2db uxtb r3, r3 8090576: 2b00 cmp r3, #0 8090578: d005 beq.n 8090586 809057a: 4b9a ldr r3, [pc, #616] ; (80907e4 ) 809057c: 781b ldrb r3, [r3, #0] 809057e: b2db uxtb r3, r3 8090580: 2b16 cmp r3, #22 8090582: f240 80b9 bls.w 80906f8 { i = 0; 8090586: 2300 movs r3, #0 8090588: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 809058c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8090590: 223c movs r2, #60 ; 0x3c 8090592: 2100 movs r1, #0 8090594: 4618 mov r0, r3 8090596: f041 fd05 bl 80d1fa4 if(idt2 != 0) 809059a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 809059e: b2db uxtb r3, r3 80905a0: 2b00 cmp r3, #0 80905a2: d00c beq.n 80905be str2[i++] = idt2 + 48; 80905a4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80905a8: 1c5a adds r2, r3, #1 80905aa: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80905ae: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 80905b2: b2d2 uxtb r2, r2 80905b4: 3230 adds r2, #48 ; 0x30 80905b6: b2d1 uxtb r1, r2 80905b8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80905bc: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 80905be: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80905c2: b2db uxtb r3, r3 80905c4: 2b00 cmp r3, #0 80905c6: d104 bne.n 80905d2 80905c8: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80905cc: b2db uxtb r3, r3 80905ce: 2b00 cmp r3, #0 80905d0: d00c beq.n 80905ec str2[i++] = iet2 + 48; 80905d2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80905d6: 1c5a adds r2, r3, #1 80905d8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80905dc: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 80905e0: b2d2 uxtb r2, r2 80905e2: 3230 adds r2, #48 ; 0x30 80905e4: b2d1 uxtb r1, r2 80905e6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80905ea: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 80905ec: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80905f0: b2db uxtb r3, r3 80905f2: 2b00 cmp r3, #0 80905f4: d109 bne.n 809060a 80905f6: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80905fa: b2db uxtb r3, r3 80905fc: 2b00 cmp r3, #0 80905fe: d104 bne.n 809060a 8090600: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8090604: b2db uxtb r3, r3 8090606: 2b00 cmp r3, #0 8090608: d00c beq.n 8090624 str2[i++] = ies2 + 48; 809060a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809060e: 1c5a adds r2, r3, #1 8090610: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090614: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 8090618: b2d2 uxtb r2, r2 809061a: 3230 adds r2, #48 ; 0x30 809061c: b2d1 uxtb r1, r2 809061e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8090622: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 8090624: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8090628: b2db uxtb r3, r3 809062a: 2b00 cmp r3, #0 809062c: d10e bne.n 809064c 809062e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8090632: b2db uxtb r3, r3 8090634: 2b00 cmp r3, #0 8090636: d109 bne.n 809064c 8090638: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 809063c: b2db uxtb r3, r3 809063e: 2b00 cmp r3, #0 8090640: d104 bne.n 809064c 8090642: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8090646: b2db uxtb r3, r3 8090648: 2b00 cmp r3, #0 809064a: d00c beq.n 8090666 str2[i++] = ied2 + 48; 809064c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090650: 1c5a adds r2, r3, #1 8090652: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090656: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 809065a: b2d2 uxtb r2, r2 809065c: 3230 adds r2, #48 ; 0x30 809065e: b2d1 uxtb r1, r2 8090660: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8090664: 54d1 strb r1, [r2, r3] str2[i++] = iee2 + 48; 8090666: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809066a: 1c5a adds r2, r3, #1 809066c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090670: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 8090674: b2d2 uxtb r2, r2 8090676: 3230 adds r2, #48 ; 0x30 8090678: b2d1 uxtb r1, r2 809067a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 809067e: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 8090680: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090684: 1c5a adds r2, r3, #1 8090686: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 809068a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 809068e: 212e movs r1, #46 ; 0x2e 8090690: 54d1 strb r1, [r2, r3] str2[i++] = ikd2 + 48; 8090692: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090696: 1c5a adds r2, r3, #1 8090698: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 809069c: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 80906a0: b2d2 uxtb r2, r2 80906a2: 3230 adds r2, #48 ; 0x30 80906a4: b2d1 uxtb r1, r2 80906a6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80906aa: 54d1 strb r1, [r2, r3] if(pardata.OPTIONS & 0x4) 80906ac: 4b4e ldr r3, [pc, #312] ; (80907e8 ) 80906ae: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80906b2: f003 0304 and.w r3, r3, #4 80906b6: 2b00 cmp r3, #0 80906b8: d003 beq.n 80906c2 cl2 = LCD_COLOR_GRAY; 80906ba: 4b4c ldr r3, [pc, #304] ; (80907ec ) 80906bc: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 80906c0: e002 b.n 80906c8 else cl2 = LCD_COLOR_MY_YELLOW; 80906c2: 4b4b ldr r3, [pc, #300] ; (80907f0 ) 80906c4: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == OscMax_ALL) 80906c8: 4b46 ldr r3, [pc, #280] ; (80907e4 ) 80906ca: 781b ldrb r3, [r3, #0] 80906cc: b2db uxtb r3, r3 80906ce: 2b06 cmp r3, #6 80906d0: d105 bne.n 80906de LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80906d2: 4943 ldr r1, [pc, #268] ; (80907e0 ) 80906d4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80906d8: f7c4 fd98 bl 805520c 80906dc: e004 b.n 80906e8 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 80906de: 4940 ldr r1, [pc, #256] ; (80907e0 ) 80906e0: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 80906e4: f7c4 fd92 bl 805520c LCD_DisplayStringC(260, LCD_LINE_9, str2); 80906e8: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80906ec: 461a mov r2, r3 80906ee: 219a movs r1, #154 ; 0x9a 80906f0: f44f 7082 mov.w r0, #260 ; 0x104 80906f4: f7c5 fb4a bl 8055d8c } if(pardata.THR & 0x80) // Åñëè ïîðîã åíåéáëåä // 80906f8: 4b3b ldr r3, [pc, #236] ; (80907e8 ) 80906fa: 7bdb ldrb r3, [r3, #15] 80906fc: b2db uxtb r3, r3 80906fe: b25b sxtb r3, r3 8090700: 2b00 cmp r3, #0 8090702: da0a bge.n 809071a { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8090704: 4936 ldr r1, [pc, #216] ; (80907e0 ) 8090706: 483b ldr r0, [pc, #236] ; (80907f4 ) 8090708: f7c4 fd80 bl 805520c BSP_LCD_FillRect(257, CHECKBOX_LINE_10+2, 6, 6); 809070c: 2306 movs r3, #6 809070e: 2206 movs r2, #6 8090710: 21af movs r1, #175 ; 0xaf 8090712: f240 1001 movw r0, #257 ; 0x101 8090716: f7c5 fa07 bl 8055b28 } if(menupos == FilterHP_IDT) 809071a: 4b32 ldr r3, [pc, #200] ; (80907e4 ) 809071c: 781b ldrb r3, [r3, #0] 809071e: b2db uxtb r3, r3 8090720: 2b19 cmp r3, #25 8090722: d16f bne.n 8090804 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090724: 492e ldr r1, [pc, #184] ; (80907e0 ) 8090726: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809072a: f7c4 fd6f bl 805520c if(blk) 809072e: 4b32 ldr r3, [pc, #200] ; (80907f8 ) 8090730: 681b ldr r3, [r3, #0] 8090732: 2b00 cmp r3, #0 8090734: d00b beq.n 809074e LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 8090736: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 809073a: b2db uxtb r3, r3 809073c: 461a mov r2, r3 809073e: 4b2f ldr r3, [pc, #188] ; (80907fc ) 8090740: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090744: 461a mov r2, r3 8090746: 214a movs r1, #74 ; 0x4a 8090748: 20c6 movs r0, #198 ; 0xc6 809074a: f7c5 fb07 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809074e: 4924 ldr r1, [pc, #144] ; (80907e0 ) 8090750: 4827 ldr r0, [pc, #156] ; (80907f0 ) 8090752: f7c4 fd5b bl 805520c LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 8090756: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 809075a: b2db uxtb r3, r3 809075c: 461a mov r2, r3 809075e: 4b27 ldr r3, [pc, #156] ; (80907fc ) 8090760: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090764: 461a mov r2, r3 8090766: 214a movs r1, #74 ; 0x4a 8090768: 20d6 movs r0, #214 ; 0xd6 809076a: f7c5 faf7 bl 8055d5c LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 809076e: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8090772: b2db uxtb r3, r3 8090774: 461a mov r2, r3 8090776: 4b21 ldr r3, [pc, #132] ; (80907fc ) 8090778: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809077c: 461a mov r2, r3 809077e: 214a movs r1, #74 ; 0x4a 8090780: 20e6 movs r0, #230 ; 0xe6 8090782: f7c5 faeb bl 8055d5c LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 8090786: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 809078a: b2db uxtb r3, r3 809078c: 461a mov r2, r3 809078e: 4b1b ldr r3, [pc, #108] ; (80907fc ) 8090790: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090794: 461a mov r2, r3 8090796: 214a movs r1, #74 ; 0x4a 8090798: 20f6 movs r0, #246 ; 0xf6 809079a: f7c5 fadf bl 8055d5c LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 809079e: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 80907a2: b2db uxtb r3, r3 80907a4: 461a mov r2, r3 80907a6: 4b15 ldr r3, [pc, #84] ; (80907fc ) 80907a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80907ac: 461a mov r2, r3 80907ae: 214a movs r1, #74 ; 0x4a 80907b0: f44f 7083 mov.w r0, #262 ; 0x106 80907b4: f7c5 fad2 bl 8055d5c LCD_DisplayString(278, LCD_LINE_4, "."); 80907b8: 4a11 ldr r2, [pc, #68] ; (8090800 ) 80907ba: 214a movs r1, #74 ; 0x4a 80907bc: f44f 708b mov.w r0, #278 ; 0x116 80907c0: f7c5 facc bl 8055d5c LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 80907c4: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 80907c8: b2db uxtb r3, r3 80907ca: 461a mov r2, r3 80907cc: 4b0b ldr r3, [pc, #44] ; (80907fc ) 80907ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80907d2: 461a mov r2, r3 80907d4: 214a movs r1, #74 ; 0x4a 80907d6: f44f 7093 mov.w r0, #294 ; 0x126 80907da: f7c5 fabf bl 8055d5c 80907de: e20b b.n 8090bf8 80907e0: ff0a0f1f .word 0xff0a0f1f 80907e4: 20020070 .word 0x20020070 80907e8: 20023eb8 .word 0x20023eb8 80907ec: ff808080 .word 0xff808080 80907f0: ffd8aa57 .word 0xffd8aa57 80907f4: ff404040 .word 0xff404040 80907f8: 200216ac .word 0x200216ac 80907fc: 2002096c .word 0x2002096c 8090800: 080d6258 .word 0x080d6258 } else if(menupos == FilterHP_IET) 8090804: 4bc5 ldr r3, [pc, #788] ; (8090b1c ) 8090806: 781b ldrb r3, [r3, #0] 8090808: b2db uxtb r3, r3 809080a: 2b1a cmp r3, #26 809080c: d15d bne.n 80908ca { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809080e: 49c4 ldr r1, [pc, #784] ; (8090b20 ) 8090810: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090814: f7c4 fcfa bl 805520c if(blk) 8090818: 4bc2 ldr r3, [pc, #776] ; (8090b24 ) 809081a: 681b ldr r3, [r3, #0] 809081c: 2b00 cmp r3, #0 809081e: d00b beq.n 8090838 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 8090820: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8090824: b2db uxtb r3, r3 8090826: 461a mov r2, r3 8090828: 4bbf ldr r3, [pc, #764] ; (8090b28 ) 809082a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809082e: 461a mov r2, r3 8090830: 214a movs r1, #74 ; 0x4a 8090832: 20d6 movs r0, #214 ; 0xd6 8090834: f7c5 fa92 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090838: 49b9 ldr r1, [pc, #740] ; (8090b20 ) 809083a: 48bc ldr r0, [pc, #752] ; (8090b2c ) 809083c: f7c4 fce6 bl 805520c LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 8090840: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8090844: b2db uxtb r3, r3 8090846: 461a mov r2, r3 8090848: 4bb7 ldr r3, [pc, #732] ; (8090b28 ) 809084a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809084e: 461a mov r2, r3 8090850: 214a movs r1, #74 ; 0x4a 8090852: 20c6 movs r0, #198 ; 0xc6 8090854: f7c5 fa82 bl 8055d5c LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 8090858: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 809085c: b2db uxtb r3, r3 809085e: 461a mov r2, r3 8090860: 4bb1 ldr r3, [pc, #708] ; (8090b28 ) 8090862: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090866: 461a mov r2, r3 8090868: 214a movs r1, #74 ; 0x4a 809086a: 20e6 movs r0, #230 ; 0xe6 809086c: f7c5 fa76 bl 8055d5c LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 8090870: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8090874: b2db uxtb r3, r3 8090876: 461a mov r2, r3 8090878: 4bab ldr r3, [pc, #684] ; (8090b28 ) 809087a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809087e: 461a mov r2, r3 8090880: 214a movs r1, #74 ; 0x4a 8090882: 20f6 movs r0, #246 ; 0xf6 8090884: f7c5 fa6a bl 8055d5c LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 8090888: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 809088c: b2db uxtb r3, r3 809088e: 461a mov r2, r3 8090890: 4ba5 ldr r3, [pc, #660] ; (8090b28 ) 8090892: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090896: 461a mov r2, r3 8090898: 214a movs r1, #74 ; 0x4a 809089a: f44f 7083 mov.w r0, #262 ; 0x106 809089e: f7c5 fa5d bl 8055d5c LCD_DisplayString(278, LCD_LINE_4, "."); 80908a2: 4aa3 ldr r2, [pc, #652] ; (8090b30 ) 80908a4: 214a movs r1, #74 ; 0x4a 80908a6: f44f 708b mov.w r0, #278 ; 0x116 80908aa: f7c5 fa57 bl 8055d5c LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 80908ae: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 80908b2: b2db uxtb r3, r3 80908b4: 461a mov r2, r3 80908b6: 4b9c ldr r3, [pc, #624] ; (8090b28 ) 80908b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80908bc: 461a mov r2, r3 80908be: 214a movs r1, #74 ; 0x4a 80908c0: f44f 7093 mov.w r0, #294 ; 0x126 80908c4: f7c5 fa4a bl 8055d5c 80908c8: e196 b.n 8090bf8 } else if(menupos == FilterHP_IES) 80908ca: 4b94 ldr r3, [pc, #592] ; (8090b1c ) 80908cc: 781b ldrb r3, [r3, #0] 80908ce: b2db uxtb r3, r3 80908d0: 2b1b cmp r3, #27 80908d2: d15d bne.n 8090990 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80908d4: 4992 ldr r1, [pc, #584] ; (8090b20 ) 80908d6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80908da: f7c4 fc97 bl 805520c if(blk) 80908de: 4b91 ldr r3, [pc, #580] ; (8090b24 ) 80908e0: 681b ldr r3, [r3, #0] 80908e2: 2b00 cmp r3, #0 80908e4: d00b beq.n 80908fe LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 80908e6: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 80908ea: b2db uxtb r3, r3 80908ec: 461a mov r2, r3 80908ee: 4b8e ldr r3, [pc, #568] ; (8090b28 ) 80908f0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80908f4: 461a mov r2, r3 80908f6: 214a movs r1, #74 ; 0x4a 80908f8: 20e6 movs r0, #230 ; 0xe6 80908fa: f7c5 fa2f bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80908fe: 4988 ldr r1, [pc, #544] ; (8090b20 ) 8090900: 488a ldr r0, [pc, #552] ; (8090b2c ) 8090902: f7c4 fc83 bl 805520c LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 8090906: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 809090a: b2db uxtb r3, r3 809090c: 461a mov r2, r3 809090e: 4b86 ldr r3, [pc, #536] ; (8090b28 ) 8090910: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090914: 461a mov r2, r3 8090916: 214a movs r1, #74 ; 0x4a 8090918: 20c6 movs r0, #198 ; 0xc6 809091a: f7c5 fa1f bl 8055d5c LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 809091e: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8090922: b2db uxtb r3, r3 8090924: 461a mov r2, r3 8090926: 4b80 ldr r3, [pc, #512] ; (8090b28 ) 8090928: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809092c: 461a mov r2, r3 809092e: 214a movs r1, #74 ; 0x4a 8090930: 20d6 movs r0, #214 ; 0xd6 8090932: f7c5 fa13 bl 8055d5c LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 8090936: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 809093a: b2db uxtb r3, r3 809093c: 461a mov r2, r3 809093e: 4b7a ldr r3, [pc, #488] ; (8090b28 ) 8090940: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090944: 461a mov r2, r3 8090946: 214a movs r1, #74 ; 0x4a 8090948: 20f6 movs r0, #246 ; 0xf6 809094a: f7c5 fa07 bl 8055d5c LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 809094e: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8090952: b2db uxtb r3, r3 8090954: 461a mov r2, r3 8090956: 4b74 ldr r3, [pc, #464] ; (8090b28 ) 8090958: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809095c: 461a mov r2, r3 809095e: 214a movs r1, #74 ; 0x4a 8090960: f44f 7083 mov.w r0, #262 ; 0x106 8090964: f7c5 f9fa bl 8055d5c LCD_DisplayString(278, LCD_LINE_4, "."); 8090968: 4a71 ldr r2, [pc, #452] ; (8090b30 ) 809096a: 214a movs r1, #74 ; 0x4a 809096c: f44f 708b mov.w r0, #278 ; 0x116 8090970: f7c5 f9f4 bl 8055d5c LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 8090974: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8090978: b2db uxtb r3, r3 809097a: 461a mov r2, r3 809097c: 4b6a ldr r3, [pc, #424] ; (8090b28 ) 809097e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090982: 461a mov r2, r3 8090984: 214a movs r1, #74 ; 0x4a 8090986: f44f 7093 mov.w r0, #294 ; 0x126 809098a: f7c5 f9e7 bl 8055d5c 809098e: e133 b.n 8090bf8 } else if(menupos == FilterHP_IED) 8090990: 4b62 ldr r3, [pc, #392] ; (8090b1c ) 8090992: 781b ldrb r3, [r3, #0] 8090994: b2db uxtb r3, r3 8090996: 2b1c cmp r3, #28 8090998: d15d bne.n 8090a56 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809099a: 4961 ldr r1, [pc, #388] ; (8090b20 ) 809099c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80909a0: f7c4 fc34 bl 805520c if(blk) 80909a4: 4b5f ldr r3, [pc, #380] ; (8090b24 ) 80909a6: 681b ldr r3, [r3, #0] 80909a8: 2b00 cmp r3, #0 80909aa: d00b beq.n 80909c4 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 80909ac: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 80909b0: b2db uxtb r3, r3 80909b2: 461a mov r2, r3 80909b4: 4b5c ldr r3, [pc, #368] ; (8090b28 ) 80909b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80909ba: 461a mov r2, r3 80909bc: 214a movs r1, #74 ; 0x4a 80909be: 20f6 movs r0, #246 ; 0xf6 80909c0: f7c5 f9cc bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80909c4: 4956 ldr r1, [pc, #344] ; (8090b20 ) 80909c6: 4859 ldr r0, [pc, #356] ; (8090b2c ) 80909c8: f7c4 fc20 bl 805520c LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 80909cc: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 80909d0: b2db uxtb r3, r3 80909d2: 461a mov r2, r3 80909d4: 4b54 ldr r3, [pc, #336] ; (8090b28 ) 80909d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80909da: 461a mov r2, r3 80909dc: 214a movs r1, #74 ; 0x4a 80909de: 20c6 movs r0, #198 ; 0xc6 80909e0: f7c5 f9bc bl 8055d5c LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 80909e4: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 80909e8: b2db uxtb r3, r3 80909ea: 461a mov r2, r3 80909ec: 4b4e ldr r3, [pc, #312] ; (8090b28 ) 80909ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80909f2: 461a mov r2, r3 80909f4: 214a movs r1, #74 ; 0x4a 80909f6: 20d6 movs r0, #214 ; 0xd6 80909f8: f7c5 f9b0 bl 8055d5c LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 80909fc: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8090a00: b2db uxtb r3, r3 8090a02: 461a mov r2, r3 8090a04: 4b48 ldr r3, [pc, #288] ; (8090b28 ) 8090a06: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090a0a: 461a mov r2, r3 8090a0c: 214a movs r1, #74 ; 0x4a 8090a0e: 20e6 movs r0, #230 ; 0xe6 8090a10: f7c5 f9a4 bl 8055d5c LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 8090a14: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8090a18: b2db uxtb r3, r3 8090a1a: 461a mov r2, r3 8090a1c: 4b42 ldr r3, [pc, #264] ; (8090b28 ) 8090a1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090a22: 461a mov r2, r3 8090a24: 214a movs r1, #74 ; 0x4a 8090a26: f44f 7083 mov.w r0, #262 ; 0x106 8090a2a: f7c5 f997 bl 8055d5c LCD_DisplayString(278, LCD_LINE_4, "."); 8090a2e: 4a40 ldr r2, [pc, #256] ; (8090b30 ) 8090a30: 214a movs r1, #74 ; 0x4a 8090a32: f44f 708b mov.w r0, #278 ; 0x116 8090a36: f7c5 f991 bl 8055d5c LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 8090a3a: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8090a3e: b2db uxtb r3, r3 8090a40: 461a mov r2, r3 8090a42: 4b39 ldr r3, [pc, #228] ; (8090b28 ) 8090a44: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090a48: 461a mov r2, r3 8090a4a: 214a movs r1, #74 ; 0x4a 8090a4c: f44f 7093 mov.w r0, #294 ; 0x126 8090a50: f7c5 f984 bl 8055d5c 8090a54: e0d0 b.n 8090bf8 } else if(menupos == FilterHP_IEE) 8090a56: 4b31 ldr r3, [pc, #196] ; (8090b1c ) 8090a58: 781b ldrb r3, [r3, #0] 8090a5a: b2db uxtb r3, r3 8090a5c: 2b1d cmp r3, #29 8090a5e: d169 bne.n 8090b34 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090a60: 492f ldr r1, [pc, #188] ; (8090b20 ) 8090a62: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090a66: f7c4 fbd1 bl 805520c if(blk) 8090a6a: 4b2e ldr r3, [pc, #184] ; (8090b24 ) 8090a6c: 681b ldr r3, [r3, #0] 8090a6e: 2b00 cmp r3, #0 8090a70: d00c beq.n 8090a8c LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 8090a72: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8090a76: b2db uxtb r3, r3 8090a78: 461a mov r2, r3 8090a7a: 4b2b ldr r3, [pc, #172] ; (8090b28 ) 8090a7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090a80: 461a mov r2, r3 8090a82: 214a movs r1, #74 ; 0x4a 8090a84: f44f 7083 mov.w r0, #262 ; 0x106 8090a88: f7c5 f968 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090a8c: 4924 ldr r1, [pc, #144] ; (8090b20 ) 8090a8e: 4827 ldr r0, [pc, #156] ; (8090b2c ) 8090a90: f7c4 fbbc bl 805520c LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 8090a94: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8090a98: b2db uxtb r3, r3 8090a9a: 461a mov r2, r3 8090a9c: 4b22 ldr r3, [pc, #136] ; (8090b28 ) 8090a9e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090aa2: 461a mov r2, r3 8090aa4: 214a movs r1, #74 ; 0x4a 8090aa6: 20c6 movs r0, #198 ; 0xc6 8090aa8: f7c5 f958 bl 8055d5c LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 8090aac: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8090ab0: b2db uxtb r3, r3 8090ab2: 461a mov r2, r3 8090ab4: 4b1c ldr r3, [pc, #112] ; (8090b28 ) 8090ab6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090aba: 461a mov r2, r3 8090abc: 214a movs r1, #74 ; 0x4a 8090abe: 20d6 movs r0, #214 ; 0xd6 8090ac0: f7c5 f94c bl 8055d5c LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 8090ac4: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8090ac8: b2db uxtb r3, r3 8090aca: 461a mov r2, r3 8090acc: 4b16 ldr r3, [pc, #88] ; (8090b28 ) 8090ace: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090ad2: 461a mov r2, r3 8090ad4: 214a movs r1, #74 ; 0x4a 8090ad6: 20e6 movs r0, #230 ; 0xe6 8090ad8: f7c5 f940 bl 8055d5c LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 8090adc: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8090ae0: b2db uxtb r3, r3 8090ae2: 461a mov r2, r3 8090ae4: 4b10 ldr r3, [pc, #64] ; (8090b28 ) 8090ae6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090aea: 461a mov r2, r3 8090aec: 214a movs r1, #74 ; 0x4a 8090aee: 20f6 movs r0, #246 ; 0xf6 8090af0: f7c5 f934 bl 8055d5c LCD_DisplayString(278, LCD_LINE_4, "."); 8090af4: 4a0e ldr r2, [pc, #56] ; (8090b30 ) 8090af6: 214a movs r1, #74 ; 0x4a 8090af8: f44f 708b mov.w r0, #278 ; 0x116 8090afc: f7c5 f92e bl 8055d5c LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 8090b00: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8090b04: b2db uxtb r3, r3 8090b06: 461a mov r2, r3 8090b08: 4b07 ldr r3, [pc, #28] ; (8090b28 ) 8090b0a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090b0e: 461a mov r2, r3 8090b10: 214a movs r1, #74 ; 0x4a 8090b12: f44f 7093 mov.w r0, #294 ; 0x126 8090b16: f7c5 f921 bl 8055d5c 8090b1a: e06d b.n 8090bf8 8090b1c: 20020070 .word 0x20020070 8090b20: ff0a0f1f .word 0xff0a0f1f 8090b24: 200216ac .word 0x200216ac 8090b28: 2002096c .word 0x2002096c 8090b2c: ffd8aa57 .word 0xffd8aa57 8090b30: 080d6258 .word 0x080d6258 } else if(menupos == FilterHP_IKD) 8090b34: 4bc6 ldr r3, [pc, #792] ; (8090e50 ) 8090b36: 781b ldrb r3, [r3, #0] 8090b38: b2db uxtb r3, r3 8090b3a: 2b1e cmp r3, #30 8090b3c: d15c bne.n 8090bf8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090b3e: 49c5 ldr r1, [pc, #788] ; (8090e54 ) 8090b40: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090b44: f7c4 fb62 bl 805520c if(blk) 8090b48: 4bc3 ldr r3, [pc, #780] ; (8090e58 ) 8090b4a: 681b ldr r3, [r3, #0] 8090b4c: 2b00 cmp r3, #0 8090b4e: d00c beq.n 8090b6a LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 8090b50: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8090b54: b2db uxtb r3, r3 8090b56: 461a mov r2, r3 8090b58: 4bc0 ldr r3, [pc, #768] ; (8090e5c ) 8090b5a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090b5e: 461a mov r2, r3 8090b60: 214a movs r1, #74 ; 0x4a 8090b62: f44f 7093 mov.w r0, #294 ; 0x126 8090b66: f7c5 f8f9 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090b6a: 49ba ldr r1, [pc, #744] ; (8090e54 ) 8090b6c: 48bc ldr r0, [pc, #752] ; (8090e60 ) 8090b6e: f7c4 fb4d bl 805520c LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 8090b72: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8090b76: b2db uxtb r3, r3 8090b78: 461a mov r2, r3 8090b7a: 4bb8 ldr r3, [pc, #736] ; (8090e5c ) 8090b7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090b80: 461a mov r2, r3 8090b82: 214a movs r1, #74 ; 0x4a 8090b84: 20c6 movs r0, #198 ; 0xc6 8090b86: f7c5 f8e9 bl 8055d5c LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 8090b8a: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8090b8e: b2db uxtb r3, r3 8090b90: 461a mov r2, r3 8090b92: 4bb2 ldr r3, [pc, #712] ; (8090e5c ) 8090b94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090b98: 461a mov r2, r3 8090b9a: 214a movs r1, #74 ; 0x4a 8090b9c: 20d6 movs r0, #214 ; 0xd6 8090b9e: f7c5 f8dd bl 8055d5c LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 8090ba2: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8090ba6: b2db uxtb r3, r3 8090ba8: 461a mov r2, r3 8090baa: 4bac ldr r3, [pc, #688] ; (8090e5c ) 8090bac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090bb0: 461a mov r2, r3 8090bb2: 214a movs r1, #74 ; 0x4a 8090bb4: 20e6 movs r0, #230 ; 0xe6 8090bb6: f7c5 f8d1 bl 8055d5c LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 8090bba: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8090bbe: b2db uxtb r3, r3 8090bc0: 461a mov r2, r3 8090bc2: 4ba6 ldr r3, [pc, #664] ; (8090e5c ) 8090bc4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090bc8: 461a mov r2, r3 8090bca: 214a movs r1, #74 ; 0x4a 8090bcc: 20f6 movs r0, #246 ; 0xf6 8090bce: f7c5 f8c5 bl 8055d5c LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 8090bd2: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8090bd6: b2db uxtb r3, r3 8090bd8: 461a mov r2, r3 8090bda: 4ba0 ldr r3, [pc, #640] ; (8090e5c ) 8090bdc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090be0: 461a mov r2, r3 8090be2: 214a movs r1, #74 ; 0x4a 8090be4: f44f 7083 mov.w r0, #262 ; 0x106 8090be8: f7c5 f8b8 bl 8055d5c LCD_DisplayString(278, LCD_LINE_4, "."); 8090bec: 4a9d ldr r2, [pc, #628] ; (8090e64 ) 8090bee: 214a movs r1, #74 ; 0x4a 8090bf0: f44f 708b mov.w r0, #278 ; 0x116 8090bf4: f7c5 f8b2 bl 8055d5c if(menupos == FilterLP_IDT) 8090bf8: 4b95 ldr r3, [pc, #596] ; (8090e50 ) 8090bfa: 781b ldrb r3, [r3, #0] 8090bfc: b2db uxtb r3, r3 8090bfe: 2b1f cmp r3, #31 8090c00: d15e bne.n 8090cc0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090c02: 4994 ldr r1, [pc, #592] ; (8090e54 ) 8090c04: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090c08: f7c4 fb00 bl 805520c if(blk) 8090c0c: 4b92 ldr r3, [pc, #584] ; (8090e58 ) 8090c0e: 681b ldr r3, [r3, #0] 8090c10: 2b00 cmp r3, #0 8090c12: d00b beq.n 8090c2c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 8090c14: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8090c18: b2db uxtb r3, r3 8090c1a: 461a mov r2, r3 8090c1c: 4b8f ldr r3, [pc, #572] ; (8090e5c ) 8090c1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090c22: 461a mov r2, r3 8090c24: 215a movs r1, #90 ; 0x5a 8090c26: 20c6 movs r0, #198 ; 0xc6 8090c28: f7c5 f898 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090c2c: 4989 ldr r1, [pc, #548] ; (8090e54 ) 8090c2e: 488c ldr r0, [pc, #560] ; (8090e60 ) 8090c30: f7c4 faec bl 805520c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 8090c34: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8090c38: b2db uxtb r3, r3 8090c3a: 461a mov r2, r3 8090c3c: 4b87 ldr r3, [pc, #540] ; (8090e5c ) 8090c3e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090c42: 461a mov r2, r3 8090c44: 215a movs r1, #90 ; 0x5a 8090c46: 20d6 movs r0, #214 ; 0xd6 8090c48: f7c5 f888 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 8090c4c: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8090c50: b2db uxtb r3, r3 8090c52: 461a mov r2, r3 8090c54: 4b81 ldr r3, [pc, #516] ; (8090e5c ) 8090c56: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090c5a: 461a mov r2, r3 8090c5c: 215a movs r1, #90 ; 0x5a 8090c5e: 20e6 movs r0, #230 ; 0xe6 8090c60: f7c5 f87c bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 8090c64: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8090c68: b2db uxtb r3, r3 8090c6a: 461a mov r2, r3 8090c6c: 4b7b ldr r3, [pc, #492] ; (8090e5c ) 8090c6e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090c72: 461a mov r2, r3 8090c74: 215a movs r1, #90 ; 0x5a 8090c76: 20f6 movs r0, #246 ; 0xf6 8090c78: f7c5 f870 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 8090c7c: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8090c80: b2db uxtb r3, r3 8090c82: 461a mov r2, r3 8090c84: 4b75 ldr r3, [pc, #468] ; (8090e5c ) 8090c86: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090c8a: 461a mov r2, r3 8090c8c: 215a movs r1, #90 ; 0x5a 8090c8e: f44f 7083 mov.w r0, #262 ; 0x106 8090c92: f7c5 f863 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, "."); 8090c96: 4a73 ldr r2, [pc, #460] ; (8090e64 ) 8090c98: 215a movs r1, #90 ; 0x5a 8090c9a: f44f 708b mov.w r0, #278 ; 0x116 8090c9e: f7c5 f85d bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 8090ca2: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8090ca6: b2db uxtb r3, r3 8090ca8: 461a mov r2, r3 8090caa: 4b6c ldr r3, [pc, #432] ; (8090e5c ) 8090cac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090cb0: 461a mov r2, r3 8090cb2: 215a movs r1, #90 ; 0x5a 8090cb4: f44f 7093 mov.w r0, #294 ; 0x126 8090cb8: f7c5 f850 bl 8055d5c 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; 8090cbc: f008 baa5 b.w 809920a if(menupos == FilterLP_IET) 8090cc0: 4b63 ldr r3, [pc, #396] ; (8090e50 ) 8090cc2: 781b ldrb r3, [r3, #0] 8090cc4: b2db uxtb r3, r3 8090cc6: 2b20 cmp r3, #32 8090cc8: d15e bne.n 8090d88 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090cca: 4962 ldr r1, [pc, #392] ; (8090e54 ) 8090ccc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090cd0: f7c4 fa9c bl 805520c if(blk) 8090cd4: 4b60 ldr r3, [pc, #384] ; (8090e58 ) 8090cd6: 681b ldr r3, [r3, #0] 8090cd8: 2b00 cmp r3, #0 8090cda: d00b beq.n 8090cf4 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 8090cdc: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8090ce0: b2db uxtb r3, r3 8090ce2: 461a mov r2, r3 8090ce4: 4b5d ldr r3, [pc, #372] ; (8090e5c ) 8090ce6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090cea: 461a mov r2, r3 8090cec: 215a movs r1, #90 ; 0x5a 8090cee: 20d6 movs r0, #214 ; 0xd6 8090cf0: f7c5 f834 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090cf4: 4957 ldr r1, [pc, #348] ; (8090e54 ) 8090cf6: 485a ldr r0, [pc, #360] ; (8090e60 ) 8090cf8: f7c4 fa88 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 8090cfc: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8090d00: b2db uxtb r3, r3 8090d02: 461a mov r2, r3 8090d04: 4b55 ldr r3, [pc, #340] ; (8090e5c ) 8090d06: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090d0a: 461a mov r2, r3 8090d0c: 215a movs r1, #90 ; 0x5a 8090d0e: 20c6 movs r0, #198 ; 0xc6 8090d10: f7c5 f824 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 8090d14: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8090d18: b2db uxtb r3, r3 8090d1a: 461a mov r2, r3 8090d1c: 4b4f ldr r3, [pc, #316] ; (8090e5c ) 8090d1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090d22: 461a mov r2, r3 8090d24: 215a movs r1, #90 ; 0x5a 8090d26: 20e6 movs r0, #230 ; 0xe6 8090d28: f7c5 f818 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 8090d2c: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8090d30: b2db uxtb r3, r3 8090d32: 461a mov r2, r3 8090d34: 4b49 ldr r3, [pc, #292] ; (8090e5c ) 8090d36: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090d3a: 461a mov r2, r3 8090d3c: 215a movs r1, #90 ; 0x5a 8090d3e: 20f6 movs r0, #246 ; 0xf6 8090d40: f7c5 f80c bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 8090d44: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8090d48: b2db uxtb r3, r3 8090d4a: 461a mov r2, r3 8090d4c: 4b43 ldr r3, [pc, #268] ; (8090e5c ) 8090d4e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090d52: 461a mov r2, r3 8090d54: 215a movs r1, #90 ; 0x5a 8090d56: f44f 7083 mov.w r0, #262 ; 0x106 8090d5a: f7c4 ffff bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, "."); 8090d5e: 4a41 ldr r2, [pc, #260] ; (8090e64 ) 8090d60: 215a movs r1, #90 ; 0x5a 8090d62: f44f 708b mov.w r0, #278 ; 0x116 8090d66: f7c4 fff9 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 8090d6a: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8090d6e: b2db uxtb r3, r3 8090d70: 461a mov r2, r3 8090d72: 4b3a ldr r3, [pc, #232] ; (8090e5c ) 8090d74: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090d78: 461a mov r2, r3 8090d7a: 215a movs r1, #90 ; 0x5a 8090d7c: f44f 7093 mov.w r0, #294 ; 0x126 8090d80: f7c4 ffec bl 8055d5c break; 8090d84: f008 ba41 b.w 809920a if(menupos == FilterLP_IES) 8090d88: 4b31 ldr r3, [pc, #196] ; (8090e50 ) 8090d8a: 781b ldrb r3, [r3, #0] 8090d8c: b2db uxtb r3, r3 8090d8e: 2b21 cmp r3, #33 ; 0x21 8090d90: d16a bne.n 8090e68 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090d92: 4930 ldr r1, [pc, #192] ; (8090e54 ) 8090d94: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090d98: f7c4 fa38 bl 805520c if(blk) 8090d9c: 4b2e ldr r3, [pc, #184] ; (8090e58 ) 8090d9e: 681b ldr r3, [r3, #0] 8090da0: 2b00 cmp r3, #0 8090da2: d00b beq.n 8090dbc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 8090da4: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8090da8: b2db uxtb r3, r3 8090daa: 461a mov r2, r3 8090dac: 4b2b ldr r3, [pc, #172] ; (8090e5c ) 8090dae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090db2: 461a mov r2, r3 8090db4: 215a movs r1, #90 ; 0x5a 8090db6: 20e6 movs r0, #230 ; 0xe6 8090db8: f7c4 ffd0 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090dbc: 4925 ldr r1, [pc, #148] ; (8090e54 ) 8090dbe: 4828 ldr r0, [pc, #160] ; (8090e60 ) 8090dc0: f7c4 fa24 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 8090dc4: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8090dc8: b2db uxtb r3, r3 8090dca: 461a mov r2, r3 8090dcc: 4b23 ldr r3, [pc, #140] ; (8090e5c ) 8090dce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090dd2: 461a mov r2, r3 8090dd4: 215a movs r1, #90 ; 0x5a 8090dd6: 20c6 movs r0, #198 ; 0xc6 8090dd8: f7c4 ffc0 bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 8090ddc: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8090de0: b2db uxtb r3, r3 8090de2: 461a mov r2, r3 8090de4: 4b1d ldr r3, [pc, #116] ; (8090e5c ) 8090de6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090dea: 461a mov r2, r3 8090dec: 215a movs r1, #90 ; 0x5a 8090dee: 20d6 movs r0, #214 ; 0xd6 8090df0: f7c4 ffb4 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 8090df4: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8090df8: b2db uxtb r3, r3 8090dfa: 461a mov r2, r3 8090dfc: 4b17 ldr r3, [pc, #92] ; (8090e5c ) 8090dfe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090e02: 461a mov r2, r3 8090e04: 215a movs r1, #90 ; 0x5a 8090e06: 20f6 movs r0, #246 ; 0xf6 8090e08: f7c4 ffa8 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 8090e0c: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8090e10: b2db uxtb r3, r3 8090e12: 461a mov r2, r3 8090e14: 4b11 ldr r3, [pc, #68] ; (8090e5c ) 8090e16: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090e1a: 461a mov r2, r3 8090e1c: 215a movs r1, #90 ; 0x5a 8090e1e: f44f 7083 mov.w r0, #262 ; 0x106 8090e22: f7c4 ff9b bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, "."); 8090e26: 4a0f ldr r2, [pc, #60] ; (8090e64 ) 8090e28: 215a movs r1, #90 ; 0x5a 8090e2a: f44f 708b mov.w r0, #278 ; 0x116 8090e2e: f7c4 ff95 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 8090e32: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8090e36: b2db uxtb r3, r3 8090e38: 461a mov r2, r3 8090e3a: 4b08 ldr r3, [pc, #32] ; (8090e5c ) 8090e3c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090e40: 461a mov r2, r3 8090e42: 215a movs r1, #90 ; 0x5a 8090e44: f44f 7093 mov.w r0, #294 ; 0x126 8090e48: f7c4 ff88 bl 8055d5c break; 8090e4c: f008 b9dd b.w 809920a 8090e50: 20020070 .word 0x20020070 8090e54: ff0a0f1f .word 0xff0a0f1f 8090e58: 200216ac .word 0x200216ac 8090e5c: 2002096c .word 0x2002096c 8090e60: ffd8aa57 .word 0xffd8aa57 8090e64: 080d6258 .word 0x080d6258 if(menupos == FilterLP_IED) 8090e68: 4b96 ldr r3, [pc, #600] ; (80910c4 ) 8090e6a: 781b ldrb r3, [r3, #0] 8090e6c: b2db uxtb r3, r3 8090e6e: 2b22 cmp r3, #34 ; 0x22 8090e70: d15e bne.n 8090f30 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090e72: 4995 ldr r1, [pc, #596] ; (80910c8 ) 8090e74: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090e78: f7c4 f9c8 bl 805520c if(blk) 8090e7c: 4b93 ldr r3, [pc, #588] ; (80910cc ) 8090e7e: 681b ldr r3, [r3, #0] 8090e80: 2b00 cmp r3, #0 8090e82: d00b beq.n 8090e9c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 8090e84: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8090e88: b2db uxtb r3, r3 8090e8a: 461a mov r2, r3 8090e8c: 4b90 ldr r3, [pc, #576] ; (80910d0 ) 8090e8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090e92: 461a mov r2, r3 8090e94: 215a movs r1, #90 ; 0x5a 8090e96: 20f6 movs r0, #246 ; 0xf6 8090e98: f7c4 ff60 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090e9c: 498a ldr r1, [pc, #552] ; (80910c8 ) 8090e9e: 488d ldr r0, [pc, #564] ; (80910d4 ) 8090ea0: f7c4 f9b4 bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 8090ea4: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8090ea8: b2db uxtb r3, r3 8090eaa: 461a mov r2, r3 8090eac: 4b88 ldr r3, [pc, #544] ; (80910d0 ) 8090eae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090eb2: 461a mov r2, r3 8090eb4: 215a movs r1, #90 ; 0x5a 8090eb6: 20c6 movs r0, #198 ; 0xc6 8090eb8: f7c4 ff50 bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 8090ebc: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8090ec0: b2db uxtb r3, r3 8090ec2: 461a mov r2, r3 8090ec4: 4b82 ldr r3, [pc, #520] ; (80910d0 ) 8090ec6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090eca: 461a mov r2, r3 8090ecc: 215a movs r1, #90 ; 0x5a 8090ece: 20d6 movs r0, #214 ; 0xd6 8090ed0: f7c4 ff44 bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 8090ed4: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8090ed8: b2db uxtb r3, r3 8090eda: 461a mov r2, r3 8090edc: 4b7c ldr r3, [pc, #496] ; (80910d0 ) 8090ede: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090ee2: 461a mov r2, r3 8090ee4: 215a movs r1, #90 ; 0x5a 8090ee6: 20e6 movs r0, #230 ; 0xe6 8090ee8: f7c4 ff38 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 8090eec: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8090ef0: b2db uxtb r3, r3 8090ef2: 461a mov r2, r3 8090ef4: 4b76 ldr r3, [pc, #472] ; (80910d0 ) 8090ef6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090efa: 461a mov r2, r3 8090efc: 215a movs r1, #90 ; 0x5a 8090efe: f44f 7083 mov.w r0, #262 ; 0x106 8090f02: f7c4 ff2b bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, "."); 8090f06: 4a74 ldr r2, [pc, #464] ; (80910d8 ) 8090f08: 215a movs r1, #90 ; 0x5a 8090f0a: f44f 708b mov.w r0, #278 ; 0x116 8090f0e: f7c4 ff25 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 8090f12: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8090f16: b2db uxtb r3, r3 8090f18: 461a mov r2, r3 8090f1a: 4b6d ldr r3, [pc, #436] ; (80910d0 ) 8090f1c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090f20: 461a mov r2, r3 8090f22: 215a movs r1, #90 ; 0x5a 8090f24: f44f 7093 mov.w r0, #294 ; 0x126 8090f28: f7c4 ff18 bl 8055d5c break; 8090f2c: f008 b96d b.w 809920a if(menupos == FilterLP_IEE) 8090f30: 4b64 ldr r3, [pc, #400] ; (80910c4 ) 8090f32: 781b ldrb r3, [r3, #0] 8090f34: b2db uxtb r3, r3 8090f36: 2b23 cmp r3, #35 ; 0x23 8090f38: d15e bne.n 8090ff8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090f3a: 4963 ldr r1, [pc, #396] ; (80910c8 ) 8090f3c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090f40: f7c4 f964 bl 805520c if(blk) 8090f44: 4b61 ldr r3, [pc, #388] ; (80910cc ) 8090f46: 681b ldr r3, [r3, #0] 8090f48: 2b00 cmp r3, #0 8090f4a: d00c beq.n 8090f66 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 8090f4c: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8090f50: b2db uxtb r3, r3 8090f52: 461a mov r2, r3 8090f54: 4b5e ldr r3, [pc, #376] ; (80910d0 ) 8090f56: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090f5a: 461a mov r2, r3 8090f5c: 215a movs r1, #90 ; 0x5a 8090f5e: f44f 7083 mov.w r0, #262 ; 0x106 8090f62: f7c4 fefb bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090f66: 4958 ldr r1, [pc, #352] ; (80910c8 ) 8090f68: 485a ldr r0, [pc, #360] ; (80910d4 ) 8090f6a: f7c4 f94f bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 8090f6e: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8090f72: b2db uxtb r3, r3 8090f74: 461a mov r2, r3 8090f76: 4b56 ldr r3, [pc, #344] ; (80910d0 ) 8090f78: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090f7c: 461a mov r2, r3 8090f7e: 215a movs r1, #90 ; 0x5a 8090f80: 20c6 movs r0, #198 ; 0xc6 8090f82: f7c4 feeb bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 8090f86: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8090f8a: b2db uxtb r3, r3 8090f8c: 461a mov r2, r3 8090f8e: 4b50 ldr r3, [pc, #320] ; (80910d0 ) 8090f90: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090f94: 461a mov r2, r3 8090f96: 215a movs r1, #90 ; 0x5a 8090f98: 20d6 movs r0, #214 ; 0xd6 8090f9a: f7c4 fedf bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 8090f9e: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8090fa2: b2db uxtb r3, r3 8090fa4: 461a mov r2, r3 8090fa6: 4b4a ldr r3, [pc, #296] ; (80910d0 ) 8090fa8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090fac: 461a mov r2, r3 8090fae: 215a movs r1, #90 ; 0x5a 8090fb0: 20e6 movs r0, #230 ; 0xe6 8090fb2: f7c4 fed3 bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 8090fb6: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8090fba: b2db uxtb r3, r3 8090fbc: 461a mov r2, r3 8090fbe: 4b44 ldr r3, [pc, #272] ; (80910d0 ) 8090fc0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090fc4: 461a mov r2, r3 8090fc6: 215a movs r1, #90 ; 0x5a 8090fc8: 20f6 movs r0, #246 ; 0xf6 8090fca: f7c4 fec7 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, "."); 8090fce: 4a42 ldr r2, [pc, #264] ; (80910d8 ) 8090fd0: 215a movs r1, #90 ; 0x5a 8090fd2: f44f 708b mov.w r0, #278 ; 0x116 8090fd6: f7c4 fec1 bl 8055d5c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 8090fda: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8090fde: b2db uxtb r3, r3 8090fe0: 461a mov r2, r3 8090fe2: 4b3b ldr r3, [pc, #236] ; (80910d0 ) 8090fe4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090fe8: 461a mov r2, r3 8090fea: 215a movs r1, #90 ; 0x5a 8090fec: f44f 7093 mov.w r0, #294 ; 0x126 8090ff0: f7c4 feb4 bl 8055d5c break; 8090ff4: f008 b909 b.w 809920a if(menupos == FilterLP_IKD) 8090ff8: 4b32 ldr r3, [pc, #200] ; (80910c4 ) 8090ffa: 781b ldrb r3, [r3, #0] 8090ffc: b2db uxtb r3, r3 8090ffe: 2b24 cmp r3, #36 ; 0x24 8091000: f048 8103 bne.w 809920a LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091004: 4930 ldr r1, [pc, #192] ; (80910c8 ) 8091006: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809100a: f7c4 f8ff bl 805520c if(blk) 809100e: 4b2f ldr r3, [pc, #188] ; (80910cc ) 8091010: 681b ldr r3, [r3, #0] 8091012: 2b00 cmp r3, #0 8091014: d00c beq.n 8091030 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 8091016: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 809101a: b2db uxtb r3, r3 809101c: 461a mov r2, r3 809101e: 4b2c ldr r3, [pc, #176] ; (80910d0 ) 8091020: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091024: 461a mov r2, r3 8091026: 215a movs r1, #90 ; 0x5a 8091028: f44f 7093 mov.w r0, #294 ; 0x126 809102c: f7c4 fe96 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091030: 4925 ldr r1, [pc, #148] ; (80910c8 ) 8091032: 4828 ldr r0, [pc, #160] ; (80910d4 ) 8091034: f7c4 f8ea bl 805520c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 8091038: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 809103c: b2db uxtb r3, r3 809103e: 461a mov r2, r3 8091040: 4b23 ldr r3, [pc, #140] ; (80910d0 ) 8091042: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091046: 461a mov r2, r3 8091048: 215a movs r1, #90 ; 0x5a 809104a: 20c6 movs r0, #198 ; 0xc6 809104c: f7c4 fe86 bl 8055d5c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 8091050: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8091054: b2db uxtb r3, r3 8091056: 461a mov r2, r3 8091058: 4b1d ldr r3, [pc, #116] ; (80910d0 ) 809105a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809105e: 461a mov r2, r3 8091060: 215a movs r1, #90 ; 0x5a 8091062: 20d6 movs r0, #214 ; 0xd6 8091064: f7c4 fe7a bl 8055d5c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 8091068: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 809106c: b2db uxtb r3, r3 809106e: 461a mov r2, r3 8091070: 4b17 ldr r3, [pc, #92] ; (80910d0 ) 8091072: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091076: 461a mov r2, r3 8091078: 215a movs r1, #90 ; 0x5a 809107a: 20e6 movs r0, #230 ; 0xe6 809107c: f7c4 fe6e bl 8055d5c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 8091080: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8091084: b2db uxtb r3, r3 8091086: 461a mov r2, r3 8091088: 4b11 ldr r3, [pc, #68] ; (80910d0 ) 809108a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809108e: 461a mov r2, r3 8091090: 215a movs r1, #90 ; 0x5a 8091092: 20f6 movs r0, #246 ; 0xf6 8091094: f7c4 fe62 bl 8055d5c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 8091098: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 809109c: b2db uxtb r3, r3 809109e: 461a mov r2, r3 80910a0: 4b0b ldr r3, [pc, #44] ; (80910d0 ) 80910a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80910a6: 461a mov r2, r3 80910a8: 215a movs r1, #90 ; 0x5a 80910aa: f44f 7083 mov.w r0, #262 ; 0x106 80910ae: f7c4 fe55 bl 8055d5c LCD_DisplayString(278, LCD_LINE_5, "."); 80910b2: 4a09 ldr r2, [pc, #36] ; (80910d8 ) 80910b4: 215a movs r1, #90 ; 0x5a 80910b6: f44f 708b mov.w r0, #278 ; 0x116 80910ba: f7c4 fe4f bl 8055d5c break; 80910be: f008 b8a4 b.w 809920a 80910c2: bf00 nop 80910c4: 20020070 .word 0x20020070 80910c8: ff0a0f1f .word 0xff0a0f1f 80910cc: 200216ac .word 0x200216ac 80910d0: 2002096c .word 0x2002096c 80910d4: ffd8aa57 .word 0xffd8aa57 80910d8: 080d6258 .word 0x080d6258 case PARAM_WAVE: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80910dc: 49d5 ldr r1, [pc, #852] ; (8091434 ) 80910de: 48d6 ldr r0, [pc, #856] ; (8091438 ) 80910e0: f7c4 f894 bl 805520c BSP_LCD_DrawRect(2, 35, 314, 201); 80910e4: 23c9 movs r3, #201 ; 0xc9 80910e6: f44f 729d mov.w r2, #314 ; 0x13a 80910ea: 2123 movs r1, #35 ; 0x23 80910ec: 2002 movs r0, #2 80910ee: f7c4 fb93 bl 8055818 k = (uint32_t) (pardata.THR_VAL * 10.0f); 80910f2: 4bd2 ldr r3, [pc, #840] ; (809143c ) 80910f4: edd3 7a05 vldr s15, [r3, #20] 80910f8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80910fc: ee67 7a87 vmul.f32 s15, s15, s14 8091100: eefc 7ae7 vcvt.u32.f32 s15, s15 8091104: ee17 3a90 vmov r3, s15 8091108: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt = (uint8_t) (k / 100000); 809110c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8091110: 095b lsrs r3, r3, #5 8091112: 4acb ldr r2, [pc, #812] ; (8091440 ) 8091114: fba2 2303 umull r2, r3, r2, r3 8091118: 09db lsrs r3, r3, #7 809111a: b2db uxtb r3, r3 809111c: f887 33e7 strb.w r3, [r7, #999] ; 0x3e7 iet = (uint8_t) (k % 100000 / 10000); 8091120: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8091124: 0953 lsrs r3, r2, #5 8091126: 49c6 ldr r1, [pc, #792] ; (8091440 ) 8091128: fba1 1303 umull r1, r3, r1, r3 809112c: 09db lsrs r3, r3, #7 809112e: 49c5 ldr r1, [pc, #788] ; (8091444 ) 8091130: fb01 f303 mul.w r3, r1, r3 8091134: 1ad3 subs r3, r2, r3 8091136: 4ac4 ldr r2, [pc, #784] ; (8091448 ) 8091138: fba2 2303 umull r2, r3, r2, r3 809113c: 0b5b lsrs r3, r3, #13 809113e: b2db uxtb r3, r3 8091140: f887 33e6 strb.w r3, [r7, #998] ; 0x3e6 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8091144: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8091148: 0953 lsrs r3, r2, #5 809114a: 49bd ldr r1, [pc, #756] ; (8091440 ) 809114c: fba1 1303 umull r1, r3, r1, r3 8091150: 09db lsrs r3, r3, #7 8091152: 49bc ldr r1, [pc, #752] ; (8091444 ) 8091154: fb01 f303 mul.w r3, r1, r3 8091158: 1ad3 subs r3, r2, r3 809115a: 4abb ldr r2, [pc, #748] ; (8091448 ) 809115c: fba2 1203 umull r1, r2, r2, r3 8091160: 0b52 lsrs r2, r2, #13 8091162: f242 7110 movw r1, #10000 ; 0x2710 8091166: fb01 f202 mul.w r2, r1, r2 809116a: 1a9a subs r2, r3, r2 809116c: 4bb7 ldr r3, [pc, #732] ; (809144c ) 809116e: fba3 2302 umull r2, r3, r3, r2 8091172: 099b lsrs r3, r3, #6 8091174: b2db uxtb r3, r3 8091176: f887 33e5 strb.w r3, [r7, #997] ; 0x3e5 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 809117a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809117e: 095a lsrs r2, r3, #5 8091180: 49af ldr r1, [pc, #700] ; (8091440 ) 8091182: fba1 1202 umull r1, r2, r1, r2 8091186: 09d2 lsrs r2, r2, #7 8091188: 49ae ldr r1, [pc, #696] ; (8091444 ) 809118a: fb01 f202 mul.w r2, r1, r2 809118e: 1a9a subs r2, r3, r2 8091190: 4bad ldr r3, [pc, #692] ; (8091448 ) 8091192: fba3 1302 umull r1, r3, r3, r2 8091196: 0b5b lsrs r3, r3, #13 8091198: f242 7110 movw r1, #10000 ; 0x2710 809119c: fb01 f303 mul.w r3, r1, r3 80911a0: 1ad3 subs r3, r2, r3 80911a2: 4aaa ldr r2, [pc, #680] ; (809144c ) 80911a4: fba2 1203 umull r1, r2, r2, r3 80911a8: 0992 lsrs r2, r2, #6 80911aa: f44f 717a mov.w r1, #1000 ; 0x3e8 80911ae: fb01 f202 mul.w r2, r1, r2 80911b2: 1a9a subs r2, r3, r2 80911b4: 4ba6 ldr r3, [pc, #664] ; (8091450 ) 80911b6: fba3 2302 umull r2, r3, r3, r2 80911ba: 095b lsrs r3, r3, #5 80911bc: b2db uxtb r3, r3 80911be: f887 33e4 strb.w r3, [r7, #996] ; 0x3e4 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80911c2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80911c6: 0953 lsrs r3, r2, #5 80911c8: 499d ldr r1, [pc, #628] ; (8091440 ) 80911ca: fba1 1303 umull r1, r3, r1, r3 80911ce: 09db lsrs r3, r3, #7 80911d0: 499c ldr r1, [pc, #624] ; (8091444 ) 80911d2: fb01 f303 mul.w r3, r1, r3 80911d6: 1ad3 subs r3, r2, r3 80911d8: 4a9b ldr r2, [pc, #620] ; (8091448 ) 80911da: fba2 1203 umull r1, r2, r2, r3 80911de: 0b52 lsrs r2, r2, #13 80911e0: f242 7110 movw r1, #10000 ; 0x2710 80911e4: fb01 f202 mul.w r2, r1, r2 80911e8: 1a9a subs r2, r3, r2 80911ea: 4b98 ldr r3, [pc, #608] ; (809144c ) 80911ec: fba3 1302 umull r1, r3, r3, r2 80911f0: 099b lsrs r3, r3, #6 80911f2: f44f 717a mov.w r1, #1000 ; 0x3e8 80911f6: fb01 f303 mul.w r3, r1, r3 80911fa: 1ad3 subs r3, r2, r3 80911fc: 4a94 ldr r2, [pc, #592] ; (8091450 ) 80911fe: fba2 1203 umull r1, r2, r2, r3 8091202: 0952 lsrs r2, r2, #5 8091204: 2164 movs r1, #100 ; 0x64 8091206: fb01 f202 mul.w r2, r1, r2 809120a: 1a9a subs r2, r3, r2 809120c: 4b91 ldr r3, [pc, #580] ; (8091454 ) 809120e: fba3 2302 umull r2, r3, r3, r2 8091212: 08db lsrs r3, r3, #3 8091214: b2db uxtb r3, r3 8091216: f887 33e3 strb.w r3, [r7, #995] ; 0x3e3 ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 809121a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 809121e: 0953 lsrs r3, r2, #5 8091220: 4987 ldr r1, [pc, #540] ; (8091440 ) 8091222: fba1 1303 umull r1, r3, r1, r3 8091226: 09db lsrs r3, r3, #7 8091228: 4986 ldr r1, [pc, #536] ; (8091444 ) 809122a: fb01 f303 mul.w r3, r1, r3 809122e: 1ad3 subs r3, r2, r3 8091230: 4a85 ldr r2, [pc, #532] ; (8091448 ) 8091232: fba2 1203 umull r1, r2, r2, r3 8091236: 0b52 lsrs r2, r2, #13 8091238: f242 7110 movw r1, #10000 ; 0x2710 809123c: fb01 f202 mul.w r2, r1, r2 8091240: 1a9a subs r2, r3, r2 8091242: 4b82 ldr r3, [pc, #520] ; (809144c ) 8091244: fba3 1302 umull r1, r3, r3, r2 8091248: 099b lsrs r3, r3, #6 809124a: f44f 717a mov.w r1, #1000 ; 0x3e8 809124e: fb01 f303 mul.w r3, r1, r3 8091252: 1ad3 subs r3, r2, r3 8091254: 4a7e ldr r2, [pc, #504] ; (8091450 ) 8091256: fba2 1203 umull r1, r2, r2, r3 809125a: 0952 lsrs r2, r2, #5 809125c: 2164 movs r1, #100 ; 0x64 809125e: fb01 f202 mul.w r2, r1, r2 8091262: 1a9a subs r2, r3, r2 8091264: 4b7b ldr r3, [pc, #492] ; (8091454 ) 8091266: fba3 1302 umull r1, r3, r3, r2 809126a: 08d9 lsrs r1, r3, #3 809126c: 460b mov r3, r1 809126e: 009b lsls r3, r3, #2 8091270: 440b add r3, r1 8091272: 005b lsls r3, r3, #1 8091274: 1ad1 subs r1, r2, r3 8091276: b2cb uxtb r3, r1 8091278: f887 33e2 strb.w r3, [r7, #994] ; 0x3e2 i = 0; 809127c: 2300 movs r3, #0 809127e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strThr, 0, sizeof(strThr)); 8091282: f507 73c6 add.w r3, r7, #396 ; 0x18c 8091286: 220c movs r2, #12 8091288: 2100 movs r1, #0 809128a: 4618 mov r0, r3 809128c: f040 fe8a bl 80d1fa4 if(idt != 0) 8091290: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8091294: b2db uxtb r3, r3 8091296: 2b00 cmp r3, #0 8091298: d00c beq.n 80912b4 strThr[i++] = idt + 48; 809129a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809129e: 1c5a adds r2, r3, #1 80912a0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80912a4: f897 23e7 ldrb.w r2, [r7, #999] ; 0x3e7 80912a8: b2d2 uxtb r2, r2 80912aa: 3230 adds r2, #48 ; 0x30 80912ac: b2d1 uxtb r1, r2 80912ae: f507 72c6 add.w r2, r7, #396 ; 0x18c 80912b2: 54d1 strb r1, [r2, r3] if((iet != 0) || (idt != 0)) 80912b4: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 80912b8: b2db uxtb r3, r3 80912ba: 2b00 cmp r3, #0 80912bc: d104 bne.n 80912c8 80912be: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 80912c2: b2db uxtb r3, r3 80912c4: 2b00 cmp r3, #0 80912c6: d00c beq.n 80912e2 strThr[i++] = iet + 48; 80912c8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80912cc: 1c5a adds r2, r3, #1 80912ce: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80912d2: f897 23e6 ldrb.w r2, [r7, #998] ; 0x3e6 80912d6: b2d2 uxtb r2, r2 80912d8: 3230 adds r2, #48 ; 0x30 80912da: b2d1 uxtb r1, r2 80912dc: f507 72c6 add.w r2, r7, #396 ; 0x18c 80912e0: 54d1 strb r1, [r2, r3] if((ies != 0) || (iet != 0) || (idt != 0)) 80912e2: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80912e6: b2db uxtb r3, r3 80912e8: 2b00 cmp r3, #0 80912ea: d109 bne.n 8091300 80912ec: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 80912f0: b2db uxtb r3, r3 80912f2: 2b00 cmp r3, #0 80912f4: d104 bne.n 8091300 80912f6: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 80912fa: b2db uxtb r3, r3 80912fc: 2b00 cmp r3, #0 80912fe: d00c beq.n 809131a strThr[i++] = ies + 48; 8091300: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8091304: 1c5a adds r2, r3, #1 8091306: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 809130a: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 809130e: b2d2 uxtb r2, r2 8091310: 3230 adds r2, #48 ; 0x30 8091312: b2d1 uxtb r1, r2 8091314: f507 72c6 add.w r2, r7, #396 ; 0x18c 8091318: 54d1 strb r1, [r2, r3] if((ied != 0) || (ies != 0) || (iet != 0) || (idt != 0)) 809131a: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 809131e: b2db uxtb r3, r3 8091320: 2b00 cmp r3, #0 8091322: d10e bne.n 8091342 8091324: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8091328: b2db uxtb r3, r3 809132a: 2b00 cmp r3, #0 809132c: d109 bne.n 8091342 809132e: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8091332: b2db uxtb r3, r3 8091334: 2b00 cmp r3, #0 8091336: d104 bne.n 8091342 8091338: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 809133c: b2db uxtb r3, r3 809133e: 2b00 cmp r3, #0 8091340: d00c beq.n 809135c strThr[i++] = ied + 48; 8091342: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8091346: 1c5a adds r2, r3, #1 8091348: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 809134c: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8091350: b2d2 uxtb r2, r2 8091352: 3230 adds r2, #48 ; 0x30 8091354: b2d1 uxtb r1, r2 8091356: f507 72c6 add.w r2, r7, #396 ; 0x18c 809135a: 54d1 strb r1, [r2, r3] strThr[i++] = iee + 48; 809135c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8091360: 1c5a adds r2, r3, #1 8091362: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8091366: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 809136a: b2d2 uxtb r2, r2 809136c: 3230 adds r2, #48 ; 0x30 809136e: b2d1 uxtb r1, r2 8091370: f507 72c6 add.w r2, r7, #396 ; 0x18c 8091374: 54d1 strb r1, [r2, r3] strThr[i++] = '.'; 8091376: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809137a: 1c5a adds r2, r3, #1 809137c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8091380: f507 72c6 add.w r2, r7, #396 ; 0x18c 8091384: 212e movs r1, #46 ; 0x2e 8091386: 54d1 strb r1, [r2, r3] strThr[i++] = ikd + 48; 8091388: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809138c: 1c5a adds r2, r3, #1 809138e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8091392: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8091396: b2d2 uxtb r2, r2 8091398: 3230 adds r2, #48 ; 0x30 809139a: b2d1 uxtb r1, r2 809139c: f507 72c6 add.w r2, r7, #396 ; 0x18c 80913a0: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.MAX_VAL * 10.0f); 80913a2: 4b26 ldr r3, [pc, #152] ; (809143c ) 80913a4: edd3 7a06 vldr s15, [r3, #24] 80913a8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80913ac: ee67 7a87 vmul.f32 s15, s15, s14 80913b0: eefc 7ae7 vcvt.u32.f32 s15, s15 80913b4: ee17 3a90 vmov r3, s15 80913b8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 80913bc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80913c0: 095b lsrs r3, r3, #5 80913c2: 4a1f ldr r2, [pc, #124] ; (8091440 ) 80913c4: fba2 2303 umull r2, r3, r2, r3 80913c8: 09db lsrs r3, r3, #7 80913ca: b2db uxtb r3, r3 80913cc: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 80913d0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80913d4: 0953 lsrs r3, r2, #5 80913d6: 491a ldr r1, [pc, #104] ; (8091440 ) 80913d8: fba1 1303 umull r1, r3, r1, r3 80913dc: 09db lsrs r3, r3, #7 80913de: 4919 ldr r1, [pc, #100] ; (8091444 ) 80913e0: fb01 f303 mul.w r3, r1, r3 80913e4: 1ad3 subs r3, r2, r3 80913e6: 4a18 ldr r2, [pc, #96] ; (8091448 ) 80913e8: fba2 2303 umull r2, r3, r2, r3 80913ec: 0b5b lsrs r3, r3, #13 80913ee: b2db uxtb r3, r3 80913f0: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 80913f4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80913f8: 0953 lsrs r3, r2, #5 80913fa: 4911 ldr r1, [pc, #68] ; (8091440 ) 80913fc: fba1 1303 umull r1, r3, r1, r3 8091400: 09db lsrs r3, r3, #7 8091402: 4910 ldr r1, [pc, #64] ; (8091444 ) 8091404: fb01 f303 mul.w r3, r1, r3 8091408: 1ad3 subs r3, r2, r3 809140a: 4a0f ldr r2, [pc, #60] ; (8091448 ) 809140c: fba2 1203 umull r1, r2, r2, r3 8091410: 0b52 lsrs r2, r2, #13 8091412: f242 7110 movw r1, #10000 ; 0x2710 8091416: fb01 f202 mul.w r2, r1, r2 809141a: 1a9a subs r2, r3, r2 809141c: 4b0b ldr r3, [pc, #44] ; (809144c ) 809141e: fba3 2302 umull r2, r3, r3, r2 8091422: 099b lsrs r3, r3, #6 8091424: b2db uxtb r3, r3 8091426: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 809142a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809142e: 095a lsrs r2, r3, #5 8091430: e012 b.n 8091458 8091432: bf00 nop 8091434: ff0a0f1f .word 0xff0a0f1f 8091438: ffd3d3d3 .word 0xffd3d3d3 809143c: 20023eb8 .word 0x20023eb8 8091440: 0a7c5ac5 .word 0x0a7c5ac5 8091444: 000186a0 .word 0x000186a0 8091448: d1b71759 .word 0xd1b71759 809144c: 10624dd3 .word 0x10624dd3 8091450: 51eb851f .word 0x51eb851f 8091454: cccccccd .word 0xcccccccd 8091458: 49d5 ldr r1, [pc, #852] ; (80917b0 ) 809145a: fba1 1202 umull r1, r2, r1, r2 809145e: 09d2 lsrs r2, r2, #7 8091460: 49d4 ldr r1, [pc, #848] ; (80917b4 ) 8091462: fb01 f202 mul.w r2, r1, r2 8091466: 1a9a subs r2, r3, r2 8091468: 4bd3 ldr r3, [pc, #844] ; (80917b8 ) 809146a: fba3 1302 umull r1, r3, r3, r2 809146e: 0b5b lsrs r3, r3, #13 8091470: f242 7110 movw r1, #10000 ; 0x2710 8091474: fb01 f303 mul.w r3, r1, r3 8091478: 1ad3 subs r3, r2, r3 809147a: 4ad0 ldr r2, [pc, #832] ; (80917bc ) 809147c: fba2 1203 umull r1, r2, r2, r3 8091480: 0992 lsrs r2, r2, #6 8091482: f44f 717a mov.w r1, #1000 ; 0x3e8 8091486: fb01 f202 mul.w r2, r1, r2 809148a: 1a9a subs r2, r3, r2 809148c: 4bcc ldr r3, [pc, #816] ; (80917c0 ) 809148e: fba3 2302 umull r2, r3, r3, r2 8091492: 095b lsrs r3, r3, #5 8091494: b2db uxtb r3, r3 8091496: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 809149a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 809149e: 0953 lsrs r3, r2, #5 80914a0: 49c3 ldr r1, [pc, #780] ; (80917b0 ) 80914a2: fba1 1303 umull r1, r3, r1, r3 80914a6: 09db lsrs r3, r3, #7 80914a8: 49c2 ldr r1, [pc, #776] ; (80917b4 ) 80914aa: fb01 f303 mul.w r3, r1, r3 80914ae: 1ad3 subs r3, r2, r3 80914b0: 4ac1 ldr r2, [pc, #772] ; (80917b8 ) 80914b2: fba2 1203 umull r1, r2, r2, r3 80914b6: 0b52 lsrs r2, r2, #13 80914b8: f242 7110 movw r1, #10000 ; 0x2710 80914bc: fb01 f202 mul.w r2, r1, r2 80914c0: 1a9a subs r2, r3, r2 80914c2: 4bbe ldr r3, [pc, #760] ; (80917bc ) 80914c4: fba3 1302 umull r1, r3, r3, r2 80914c8: 099b lsrs r3, r3, #6 80914ca: f44f 717a mov.w r1, #1000 ; 0x3e8 80914ce: fb01 f303 mul.w r3, r1, r3 80914d2: 1ad3 subs r3, r2, r3 80914d4: 4aba ldr r2, [pc, #744] ; (80917c0 ) 80914d6: fba2 1203 umull r1, r2, r2, r3 80914da: 0952 lsrs r2, r2, #5 80914dc: 2164 movs r1, #100 ; 0x64 80914de: fb01 f202 mul.w r2, r1, r2 80914e2: 1a9a subs r2, r3, r2 80914e4: 4bb7 ldr r3, [pc, #732] ; (80917c4 ) 80914e6: fba3 2302 umull r2, r3, r3, r2 80914ea: 08db lsrs r3, r3, #3 80914ec: b2db uxtb r3, r3 80914ee: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80914f2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80914f6: 0953 lsrs r3, r2, #5 80914f8: 49ad ldr r1, [pc, #692] ; (80917b0 ) 80914fa: fba1 1303 umull r1, r3, r1, r3 80914fe: 09db lsrs r3, r3, #7 8091500: 49ac ldr r1, [pc, #688] ; (80917b4 ) 8091502: fb01 f303 mul.w r3, r1, r3 8091506: 1ad3 subs r3, r2, r3 8091508: 4aab ldr r2, [pc, #684] ; (80917b8 ) 809150a: fba2 1203 umull r1, r2, r2, r3 809150e: 0b52 lsrs r2, r2, #13 8091510: f242 7110 movw r1, #10000 ; 0x2710 8091514: fb01 f202 mul.w r2, r1, r2 8091518: 1a9a subs r2, r3, r2 809151a: 4ba8 ldr r3, [pc, #672] ; (80917bc ) 809151c: fba3 1302 umull r1, r3, r3, r2 8091520: 099b lsrs r3, r3, #6 8091522: f44f 717a mov.w r1, #1000 ; 0x3e8 8091526: fb01 f303 mul.w r3, r1, r3 809152a: 1ad3 subs r3, r2, r3 809152c: 4aa4 ldr r2, [pc, #656] ; (80917c0 ) 809152e: fba2 1203 umull r1, r2, r2, r3 8091532: 0952 lsrs r2, r2, #5 8091534: 2164 movs r1, #100 ; 0x64 8091536: fb01 f202 mul.w r2, r1, r2 809153a: 1a9a subs r2, r3, r2 809153c: 4ba1 ldr r3, [pc, #644] ; (80917c4 ) 809153e: fba3 1302 umull r1, r3, r3, r2 8091542: 08d9 lsrs r1, r3, #3 8091544: 460b mov r3, r1 8091546: 009b lsls r3, r3, #2 8091548: 440b add r3, r1 809154a: 005b lsls r3, r3, #1 809154c: 1ad1 subs r1, r2, r3 809154e: b2cb uxtb r3, r1 8091550: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 8091554: 2300 movs r3, #0 8091556: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strMax, 0, sizeof(strMax)); 809155a: f507 73c0 add.w r3, r7, #384 ; 0x180 809155e: 220c movs r2, #12 8091560: 2100 movs r1, #0 8091562: 4618 mov r0, r3 8091564: f040 fd1e bl 80d1fa4 if(idt2 != 0) 8091568: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 809156c: b2db uxtb r3, r3 809156e: 2b00 cmp r3, #0 8091570: d00c beq.n 809158c strMax[i++] = idt2 + 48; 8091572: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8091576: 1c5a adds r2, r3, #1 8091578: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 809157c: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 8091580: b2d2 uxtb r2, r2 8091582: 3230 adds r2, #48 ; 0x30 8091584: b2d1 uxtb r1, r2 8091586: f507 72c0 add.w r2, r7, #384 ; 0x180 809158a: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 809158c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8091590: b2db uxtb r3, r3 8091592: 2b00 cmp r3, #0 8091594: d104 bne.n 80915a0 8091596: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 809159a: b2db uxtb r3, r3 809159c: 2b00 cmp r3, #0 809159e: d00c beq.n 80915ba strMax[i++] = iet2 + 48; 80915a0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80915a4: 1c5a adds r2, r3, #1 80915a6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80915aa: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 80915ae: b2d2 uxtb r2, r2 80915b0: 3230 adds r2, #48 ; 0x30 80915b2: b2d1 uxtb r1, r2 80915b4: f507 72c0 add.w r2, r7, #384 ; 0x180 80915b8: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 80915ba: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80915be: b2db uxtb r3, r3 80915c0: 2b00 cmp r3, #0 80915c2: d109 bne.n 80915d8 80915c4: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80915c8: b2db uxtb r3, r3 80915ca: 2b00 cmp r3, #0 80915cc: d104 bne.n 80915d8 80915ce: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80915d2: b2db uxtb r3, r3 80915d4: 2b00 cmp r3, #0 80915d6: d00c beq.n 80915f2 strMax[i++] = ies2 + 48; 80915d8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80915dc: 1c5a adds r2, r3, #1 80915de: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80915e2: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 80915e6: b2d2 uxtb r2, r2 80915e8: 3230 adds r2, #48 ; 0x30 80915ea: b2d1 uxtb r1, r2 80915ec: f507 72c0 add.w r2, r7, #384 ; 0x180 80915f0: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 80915f2: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80915f6: b2db uxtb r3, r3 80915f8: 2b00 cmp r3, #0 80915fa: d10e bne.n 809161a 80915fc: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8091600: b2db uxtb r3, r3 8091602: 2b00 cmp r3, #0 8091604: d109 bne.n 809161a 8091606: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 809160a: b2db uxtb r3, r3 809160c: 2b00 cmp r3, #0 809160e: d104 bne.n 809161a 8091610: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8091614: b2db uxtb r3, r3 8091616: 2b00 cmp r3, #0 8091618: d00c beq.n 8091634 strMax[i++] = ied2 + 48; 809161a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809161e: 1c5a adds r2, r3, #1 8091620: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8091624: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 8091628: b2d2 uxtb r2, r2 809162a: 3230 adds r2, #48 ; 0x30 809162c: b2d1 uxtb r1, r2 809162e: f507 72c0 add.w r2, r7, #384 ; 0x180 8091632: 54d1 strb r1, [r2, r3] strMax[i++] = iee2 + 48; 8091634: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8091638: 1c5a adds r2, r3, #1 809163a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 809163e: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 8091642: b2d2 uxtb r2, r2 8091644: 3230 adds r2, #48 ; 0x30 8091646: b2d1 uxtb r1, r2 8091648: f507 72c0 add.w r2, r7, #384 ; 0x180 809164c: 54d1 strb r1, [r2, r3] strMax[i++] = '.'; 809164e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8091652: 1c5a adds r2, r3, #1 8091654: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8091658: f507 72c0 add.w r2, r7, #384 ; 0x180 809165c: 212e movs r1, #46 ; 0x2e 809165e: 54d1 strb r1, [r2, r3] strMax[i++] = ikd2 + 48; 8091660: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8091664: 1c5a adds r2, r3, #1 8091666: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 809166a: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 809166e: b2d2 uxtb r2, r2 8091670: 3230 adds r2, #48 ; 0x30 8091672: b2d1 uxtb r1, r2 8091674: f507 72c0 add.w r2, r7, #384 ; 0x180 8091678: 54d1 strb r1, [r2, r3] k = (uint32_t) (0.5000011f * 10.0f); 809167a: 2305 movs r3, #5 809167c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 8091680: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8091684: 095b lsrs r3, r3, #5 8091686: 4a4a ldr r2, [pc, #296] ; (80917b0 ) 8091688: fba2 2303 umull r2, r3, r2, r3 809168c: 09db lsrs r3, r3, #7 809168e: b2db uxtb r3, r3 8091690: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 ietHP = (uint8_t) (k % 100000 / 10000); 8091694: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8091698: 0953 lsrs r3, r2, #5 809169a: 4945 ldr r1, [pc, #276] ; (80917b0 ) 809169c: fba1 1303 umull r1, r3, r1, r3 80916a0: 09db lsrs r3, r3, #7 80916a2: 4944 ldr r1, [pc, #272] ; (80917b4 ) 80916a4: fb01 f303 mul.w r3, r1, r3 80916a8: 1ad3 subs r3, r2, r3 80916aa: 4a43 ldr r2, [pc, #268] ; (80917b8 ) 80916ac: fba2 2303 umull r2, r3, r2, r3 80916b0: 0b5b lsrs r3, r3, #13 80916b2: b2db uxtb r3, r3 80916b4: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 80916b8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80916bc: 0953 lsrs r3, r2, #5 80916be: 493c ldr r1, [pc, #240] ; (80917b0 ) 80916c0: fba1 1303 umull r1, r3, r1, r3 80916c4: 09db lsrs r3, r3, #7 80916c6: 493b ldr r1, [pc, #236] ; (80917b4 ) 80916c8: fb01 f303 mul.w r3, r1, r3 80916cc: 1ad3 subs r3, r2, r3 80916ce: 4a3a ldr r2, [pc, #232] ; (80917b8 ) 80916d0: fba2 1203 umull r1, r2, r2, r3 80916d4: 0b52 lsrs r2, r2, #13 80916d6: f242 7110 movw r1, #10000 ; 0x2710 80916da: fb01 f202 mul.w r2, r1, r2 80916de: 1a9a subs r2, r3, r2 80916e0: 4b36 ldr r3, [pc, #216] ; (80917bc ) 80916e2: fba3 2302 umull r2, r3, r3, r2 80916e6: 099b lsrs r3, r3, #6 80916e8: b2db uxtb r3, r3 80916ea: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80916ee: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80916f2: 095a lsrs r2, r3, #5 80916f4: 492e ldr r1, [pc, #184] ; (80917b0 ) 80916f6: fba1 1202 umull r1, r2, r1, r2 80916fa: 09d2 lsrs r2, r2, #7 80916fc: 492d ldr r1, [pc, #180] ; (80917b4 ) 80916fe: fb01 f202 mul.w r2, r1, r2 8091702: 1a9a subs r2, r3, r2 8091704: 4b2c ldr r3, [pc, #176] ; (80917b8 ) 8091706: fba3 1302 umull r1, r3, r3, r2 809170a: 0b5b lsrs r3, r3, #13 809170c: f242 7110 movw r1, #10000 ; 0x2710 8091710: fb01 f303 mul.w r3, r1, r3 8091714: 1ad3 subs r3, r2, r3 8091716: 4a29 ldr r2, [pc, #164] ; (80917bc ) 8091718: fba2 1203 umull r1, r2, r2, r3 809171c: 0992 lsrs r2, r2, #6 809171e: f44f 717a mov.w r1, #1000 ; 0x3e8 8091722: fb01 f202 mul.w r2, r1, r2 8091726: 1a9a subs r2, r3, r2 8091728: 4b25 ldr r3, [pc, #148] ; (80917c0 ) 809172a: fba3 2302 umull r2, r3, r3, r2 809172e: 095b lsrs r3, r3, #5 8091730: b2db uxtb r3, r3 8091732: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8091736: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 809173a: 0953 lsrs r3, r2, #5 809173c: 491c ldr r1, [pc, #112] ; (80917b0 ) 809173e: fba1 1303 umull r1, r3, r1, r3 8091742: 09db lsrs r3, r3, #7 8091744: 491b ldr r1, [pc, #108] ; (80917b4 ) 8091746: fb01 f303 mul.w r3, r1, r3 809174a: 1ad3 subs r3, r2, r3 809174c: 4a1a ldr r2, [pc, #104] ; (80917b8 ) 809174e: fba2 1203 umull r1, r2, r2, r3 8091752: 0b52 lsrs r2, r2, #13 8091754: f242 7110 movw r1, #10000 ; 0x2710 8091758: fb01 f202 mul.w r2, r1, r2 809175c: 1a9a subs r2, r3, r2 809175e: 4b17 ldr r3, [pc, #92] ; (80917bc ) 8091760: fba3 1302 umull r1, r3, r3, r2 8091764: 099b lsrs r3, r3, #6 8091766: f44f 717a mov.w r1, #1000 ; 0x3e8 809176a: fb01 f303 mul.w r3, r1, r3 809176e: 1ad3 subs r3, r2, r3 8091770: 4a13 ldr r2, [pc, #76] ; (80917c0 ) 8091772: fba2 1203 umull r1, r2, r2, r3 8091776: 0952 lsrs r2, r2, #5 8091778: 2164 movs r1, #100 ; 0x64 809177a: fb01 f202 mul.w r2, r1, r2 809177e: 1a9a subs r2, r3, r2 8091780: 4b10 ldr r3, [pc, #64] ; (80917c4 ) 8091782: fba3 2302 umull r2, r3, r3, r2 8091786: 08db lsrs r3, r3, #3 8091788: b2db uxtb r3, r3 809178a: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 809178e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8091792: 0953 lsrs r3, r2, #5 8091794: 4906 ldr r1, [pc, #24] ; (80917b0 ) 8091796: fba1 1303 umull r1, r3, r1, r3 809179a: 09db lsrs r3, r3, #7 809179c: 4905 ldr r1, [pc, #20] ; (80917b4 ) 809179e: fb01 f303 mul.w r3, r1, r3 80917a2: 1ad3 subs r3, r2, r3 80917a4: 4a04 ldr r2, [pc, #16] ; (80917b8 ) 80917a6: fba2 1203 umull r1, r2, r2, r3 80917aa: 0b52 lsrs r2, r2, #13 80917ac: e00c b.n 80917c8 80917ae: bf00 nop 80917b0: 0a7c5ac5 .word 0x0a7c5ac5 80917b4: 000186a0 .word 0x000186a0 80917b8: d1b71759 .word 0xd1b71759 80917bc: 10624dd3 .word 0x10624dd3 80917c0: 51eb851f .word 0x51eb851f 80917c4: cccccccd .word 0xcccccccd 80917c8: f242 7110 movw r1, #10000 ; 0x2710 80917cc: fb01 f202 mul.w r2, r1, r2 80917d0: 1a9a subs r2, r3, r2 80917d2: 4bc9 ldr r3, [pc, #804] ; (8091af8 ) 80917d4: fba3 1302 umull r1, r3, r3, r2 80917d8: 099b lsrs r3, r3, #6 80917da: f44f 717a mov.w r1, #1000 ; 0x3e8 80917de: fb01 f303 mul.w r3, r1, r3 80917e2: 1ad3 subs r3, r2, r3 80917e4: 4ac5 ldr r2, [pc, #788] ; (8091afc ) 80917e6: fba2 1203 umull r1, r2, r2, r3 80917ea: 0952 lsrs r2, r2, #5 80917ec: 2164 movs r1, #100 ; 0x64 80917ee: fb01 f202 mul.w r2, r1, r2 80917f2: 1a9a subs r2, r3, r2 80917f4: 4bc2 ldr r3, [pc, #776] ; (8091b00 ) 80917f6: fba3 1302 umull r1, r3, r3, r2 80917fa: 08d9 lsrs r1, r3, #3 80917fc: 460b mov r3, r1 80917fe: 009b lsls r3, r3, #2 8091800: 440b add r3, r1 8091802: 005b lsls r3, r3, #1 8091804: 1ad1 subs r1, r2, r3 8091806: b2cb uxtb r3, r1 8091808: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 809180c: 2300 movs r3, #0 809180e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 8091812: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8091816: 220c movs r2, #12 8091818: 2100 movs r1, #0 809181a: 4618 mov r0, r3 809181c: f040 fbc2 bl 80d1fa4 if(idtHP != 0) 8091820: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8091824: b2db uxtb r3, r3 8091826: 2b00 cmp r3, #0 8091828: d00c beq.n 8091844 strHP[i++] = idtHP + 48; 809182a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809182e: 1c5a adds r2, r3, #1 8091830: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8091834: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 8091838: b2d2 uxtb r2, r2 809183a: 3230 adds r2, #48 ; 0x30 809183c: b2d1 uxtb r1, r2 809183e: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8091842: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 8091844: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8091848: b2db uxtb r3, r3 809184a: 2b00 cmp r3, #0 809184c: d104 bne.n 8091858 809184e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8091852: b2db uxtb r3, r3 8091854: 2b00 cmp r3, #0 8091856: d00c beq.n 8091872 strHP[i++] = ietHP + 48; 8091858: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809185c: 1c5a adds r2, r3, #1 809185e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8091862: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 8091866: b2d2 uxtb r2, r2 8091868: 3230 adds r2, #48 ; 0x30 809186a: b2d1 uxtb r1, r2 809186c: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8091870: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 8091872: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8091876: b2db uxtb r3, r3 8091878: 2b00 cmp r3, #0 809187a: d109 bne.n 8091890 809187c: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8091880: b2db uxtb r3, r3 8091882: 2b00 cmp r3, #0 8091884: d104 bne.n 8091890 8091886: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 809188a: b2db uxtb r3, r3 809188c: 2b00 cmp r3, #0 809188e: d00c beq.n 80918aa strHP[i++] = iesHP + 48; 8091890: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8091894: 1c5a adds r2, r3, #1 8091896: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 809189a: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 809189e: b2d2 uxtb r2, r2 80918a0: 3230 adds r2, #48 ; 0x30 80918a2: b2d1 uxtb r1, r2 80918a4: f507 72d2 add.w r2, r7, #420 ; 0x1a4 80918a8: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 80918aa: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 80918ae: b2db uxtb r3, r3 80918b0: 2b00 cmp r3, #0 80918b2: d10e bne.n 80918d2 80918b4: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 80918b8: b2db uxtb r3, r3 80918ba: 2b00 cmp r3, #0 80918bc: d109 bne.n 80918d2 80918be: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 80918c2: b2db uxtb r3, r3 80918c4: 2b00 cmp r3, #0 80918c6: d104 bne.n 80918d2 80918c8: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 80918cc: b2db uxtb r3, r3 80918ce: 2b00 cmp r3, #0 80918d0: d00c beq.n 80918ec strHP[i++] = iedHP + 48; 80918d2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80918d6: 1c5a adds r2, r3, #1 80918d8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80918dc: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 80918e0: b2d2 uxtb r2, r2 80918e2: 3230 adds r2, #48 ; 0x30 80918e4: b2d1 uxtb r1, r2 80918e6: f507 72d2 add.w r2, r7, #420 ; 0x1a4 80918ea: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 80918ec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80918f0: 1c5a adds r2, r3, #1 80918f2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80918f6: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 80918fa: b2d2 uxtb r2, r2 80918fc: 3230 adds r2, #48 ; 0x30 80918fe: b2d1 uxtb r1, r2 8091900: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8091904: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 8091906: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809190a: 1c5a adds r2, r3, #1 809190c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8091910: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8091914: 212e movs r1, #46 ; 0x2e 8091916: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 8091918: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809191c: 1c5a adds r2, r3, #1 809191e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8091922: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 8091926: b2d2 uxtb r2, r2 8091928: 3230 adds r2, #48 ; 0x30 809192a: b2d1 uxtb r1, r2 809192c: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8091930: 54d1 strb r1, [r2, r3] k = (uint32_t) (12800.000011f * 10.0f); 8091932: f44f 33fa mov.w r3, #128000 ; 0x1f400 8091936: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 809193a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809193e: 095b lsrs r3, r3, #5 8091940: 4a70 ldr r2, [pc, #448] ; (8091b04 ) 8091942: fba2 2303 umull r2, r3, r2, r3 8091946: 09db lsrs r3, r3, #7 8091948: b2db uxtb r3, r3 809194a: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 809194e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8091952: 0953 lsrs r3, r2, #5 8091954: 496b ldr r1, [pc, #428] ; (8091b04 ) 8091956: fba1 1303 umull r1, r3, r1, r3 809195a: 09db lsrs r3, r3, #7 809195c: 496a ldr r1, [pc, #424] ; (8091b08 ) 809195e: fb01 f303 mul.w r3, r1, r3 8091962: 1ad3 subs r3, r2, r3 8091964: 4a69 ldr r2, [pc, #420] ; (8091b0c ) 8091966: fba2 2303 umull r2, r3, r2, r3 809196a: 0b5b lsrs r3, r3, #13 809196c: b2db uxtb r3, r3 809196e: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 8091972: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8091976: 0953 lsrs r3, r2, #5 8091978: 4962 ldr r1, [pc, #392] ; (8091b04 ) 809197a: fba1 1303 umull r1, r3, r1, r3 809197e: 09db lsrs r3, r3, #7 8091980: 4961 ldr r1, [pc, #388] ; (8091b08 ) 8091982: fb01 f303 mul.w r3, r1, r3 8091986: 1ad3 subs r3, r2, r3 8091988: 4a60 ldr r2, [pc, #384] ; (8091b0c ) 809198a: fba2 1203 umull r1, r2, r2, r3 809198e: 0b52 lsrs r2, r2, #13 8091990: f242 7110 movw r1, #10000 ; 0x2710 8091994: fb01 f202 mul.w r2, r1, r2 8091998: 1a9a subs r2, r3, r2 809199a: 4b57 ldr r3, [pc, #348] ; (8091af8 ) 809199c: fba3 2302 umull r2, r3, r3, r2 80919a0: 099b lsrs r3, r3, #6 80919a2: b2db uxtb r3, r3 80919a4: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80919a8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80919ac: 095a lsrs r2, r3, #5 80919ae: 4955 ldr r1, [pc, #340] ; (8091b04 ) 80919b0: fba1 1202 umull r1, r2, r1, r2 80919b4: 09d2 lsrs r2, r2, #7 80919b6: 4954 ldr r1, [pc, #336] ; (8091b08 ) 80919b8: fb01 f202 mul.w r2, r1, r2 80919bc: 1a9a subs r2, r3, r2 80919be: 4b53 ldr r3, [pc, #332] ; (8091b0c ) 80919c0: fba3 1302 umull r1, r3, r3, r2 80919c4: 0b5b lsrs r3, r3, #13 80919c6: f242 7110 movw r1, #10000 ; 0x2710 80919ca: fb01 f303 mul.w r3, r1, r3 80919ce: 1ad3 subs r3, r2, r3 80919d0: 4a49 ldr r2, [pc, #292] ; (8091af8 ) 80919d2: fba2 1203 umull r1, r2, r2, r3 80919d6: 0992 lsrs r2, r2, #6 80919d8: f44f 717a mov.w r1, #1000 ; 0x3e8 80919dc: fb01 f202 mul.w r2, r1, r2 80919e0: 1a9a subs r2, r3, r2 80919e2: 4b46 ldr r3, [pc, #280] ; (8091afc ) 80919e4: fba3 2302 umull r2, r3, r3, r2 80919e8: 095b lsrs r3, r3, #5 80919ea: b2db uxtb r3, r3 80919ec: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80919f0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80919f4: 0953 lsrs r3, r2, #5 80919f6: 4943 ldr r1, [pc, #268] ; (8091b04 ) 80919f8: fba1 1303 umull r1, r3, r1, r3 80919fc: 09db lsrs r3, r3, #7 80919fe: 4942 ldr r1, [pc, #264] ; (8091b08 ) 8091a00: fb01 f303 mul.w r3, r1, r3 8091a04: 1ad3 subs r3, r2, r3 8091a06: 4a41 ldr r2, [pc, #260] ; (8091b0c ) 8091a08: fba2 1203 umull r1, r2, r2, r3 8091a0c: 0b52 lsrs r2, r2, #13 8091a0e: f242 7110 movw r1, #10000 ; 0x2710 8091a12: fb01 f202 mul.w r2, r1, r2 8091a16: 1a9a subs r2, r3, r2 8091a18: 4b37 ldr r3, [pc, #220] ; (8091af8 ) 8091a1a: fba3 1302 umull r1, r3, r3, r2 8091a1e: 099b lsrs r3, r3, #6 8091a20: f44f 717a mov.w r1, #1000 ; 0x3e8 8091a24: fb01 f303 mul.w r3, r1, r3 8091a28: 1ad3 subs r3, r2, r3 8091a2a: 4a34 ldr r2, [pc, #208] ; (8091afc ) 8091a2c: fba2 1203 umull r1, r2, r2, r3 8091a30: 0952 lsrs r2, r2, #5 8091a32: 2164 movs r1, #100 ; 0x64 8091a34: fb01 f202 mul.w r2, r1, r2 8091a38: 1a9a subs r2, r3, r2 8091a3a: 4b31 ldr r3, [pc, #196] ; (8091b00 ) 8091a3c: fba3 2302 umull r2, r3, r3, r2 8091a40: 08db lsrs r3, r3, #3 8091a42: b2db uxtb r3, r3 8091a44: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8091a48: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8091a4c: 0953 lsrs r3, r2, #5 8091a4e: 492d ldr r1, [pc, #180] ; (8091b04 ) 8091a50: fba1 1303 umull r1, r3, r1, r3 8091a54: 09db lsrs r3, r3, #7 8091a56: 492c ldr r1, [pc, #176] ; (8091b08 ) 8091a58: fb01 f303 mul.w r3, r1, r3 8091a5c: 1ad3 subs r3, r2, r3 8091a5e: 4a2b ldr r2, [pc, #172] ; (8091b0c ) 8091a60: fba2 1203 umull r1, r2, r2, r3 8091a64: 0b52 lsrs r2, r2, #13 8091a66: f242 7110 movw r1, #10000 ; 0x2710 8091a6a: fb01 f202 mul.w r2, r1, r2 8091a6e: 1a9a subs r2, r3, r2 8091a70: 4b21 ldr r3, [pc, #132] ; (8091af8 ) 8091a72: fba3 1302 umull r1, r3, r3, r2 8091a76: 099b lsrs r3, r3, #6 8091a78: f44f 717a mov.w r1, #1000 ; 0x3e8 8091a7c: fb01 f303 mul.w r3, r1, r3 8091a80: 1ad3 subs r3, r2, r3 8091a82: 4a1e ldr r2, [pc, #120] ; (8091afc ) 8091a84: fba2 1203 umull r1, r2, r2, r3 8091a88: 0952 lsrs r2, r2, #5 8091a8a: 2164 movs r1, #100 ; 0x64 8091a8c: fb01 f202 mul.w r2, r1, r2 8091a90: 1a9a subs r2, r3, r2 8091a92: 4b1b ldr r3, [pc, #108] ; (8091b00 ) 8091a94: fba3 1302 umull r1, r3, r3, r2 8091a98: 08d9 lsrs r1, r3, #3 8091a9a: 460b mov r3, r1 8091a9c: 009b lsls r3, r3, #2 8091a9e: 440b add r3, r1 8091aa0: 005b lsls r3, r3, #1 8091aa2: 1ad1 subs r1, r2, r3 8091aa4: b2cb uxtb r3, r1 8091aa6: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 8091aaa: 2300 movs r3, #0 8091aac: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 8091ab0: f507 73cc add.w r3, r7, #408 ; 0x198 8091ab4: 220c movs r2, #12 8091ab6: 2100 movs r1, #0 8091ab8: 4618 mov r0, r3 8091aba: f040 fa73 bl 80d1fa4 if(idtLP != 0) 8091abe: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8091ac2: b2db uxtb r3, r3 8091ac4: 2b00 cmp r3, #0 8091ac6: d00c beq.n 8091ae2 strLP[i++] = idtLP + 48; 8091ac8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8091acc: 1c5a adds r2, r3, #1 8091ace: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8091ad2: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 8091ad6: b2d2 uxtb r2, r2 8091ad8: 3230 adds r2, #48 ; 0x30 8091ada: b2d1 uxtb r1, r2 8091adc: f507 72cc add.w r2, r7, #408 ; 0x198 8091ae0: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 8091ae2: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8091ae6: b2db uxtb r3, r3 8091ae8: 2b00 cmp r3, #0 8091aea: d111 bne.n 8091b10 8091aec: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8091af0: b2db uxtb r3, r3 8091af2: 2b00 cmp r3, #0 8091af4: d019 beq.n 8091b2a 8091af6: e00b b.n 8091b10 8091af8: 10624dd3 .word 0x10624dd3 8091afc: 51eb851f .word 0x51eb851f 8091b00: cccccccd .word 0xcccccccd 8091b04: 0a7c5ac5 .word 0x0a7c5ac5 8091b08: 000186a0 .word 0x000186a0 8091b0c: d1b71759 .word 0xd1b71759 strLP[i++] = ietLP + 48; 8091b10: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8091b14: 1c5a adds r2, r3, #1 8091b16: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8091b1a: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 8091b1e: b2d2 uxtb r2, r2 8091b20: 3230 adds r2, #48 ; 0x30 8091b22: b2d1 uxtb r1, r2 8091b24: f507 72cc add.w r2, r7, #408 ; 0x198 8091b28: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 8091b2a: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8091b2e: b2db uxtb r3, r3 8091b30: 2b00 cmp r3, #0 8091b32: d109 bne.n 8091b48 8091b34: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8091b38: b2db uxtb r3, r3 8091b3a: 2b00 cmp r3, #0 8091b3c: d104 bne.n 8091b48 8091b3e: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8091b42: b2db uxtb r3, r3 8091b44: 2b00 cmp r3, #0 8091b46: d00c beq.n 8091b62 strLP[i++] = iesLP + 48; 8091b48: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8091b4c: 1c5a adds r2, r3, #1 8091b4e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8091b52: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 8091b56: b2d2 uxtb r2, r2 8091b58: 3230 adds r2, #48 ; 0x30 8091b5a: b2d1 uxtb r1, r2 8091b5c: f507 72cc add.w r2, r7, #408 ; 0x198 8091b60: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 8091b62: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8091b66: b2db uxtb r3, r3 8091b68: 2b00 cmp r3, #0 8091b6a: d10e bne.n 8091b8a 8091b6c: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8091b70: b2db uxtb r3, r3 8091b72: 2b00 cmp r3, #0 8091b74: d109 bne.n 8091b8a 8091b76: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8091b7a: b2db uxtb r3, r3 8091b7c: 2b00 cmp r3, #0 8091b7e: d104 bne.n 8091b8a 8091b80: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8091b84: b2db uxtb r3, r3 8091b86: 2b00 cmp r3, #0 8091b88: d00c beq.n 8091ba4 strLP[i++] = iedLP + 48; 8091b8a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8091b8e: 1c5a adds r2, r3, #1 8091b90: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8091b94: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 8091b98: b2d2 uxtb r2, r2 8091b9a: 3230 adds r2, #48 ; 0x30 8091b9c: b2d1 uxtb r1, r2 8091b9e: f507 72cc add.w r2, r7, #408 ; 0x198 8091ba2: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 8091ba4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8091ba8: 1c5a adds r2, r3, #1 8091baa: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8091bae: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 8091bb2: b2d2 uxtb r2, r2 8091bb4: 3230 adds r2, #48 ; 0x30 8091bb6: b2d1 uxtb r1, r2 8091bb8: f507 72cc add.w r2, r7, #408 ; 0x198 8091bbc: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 8091bbe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8091bc2: 1c5a adds r2, r3, #1 8091bc4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8091bc8: f507 72cc add.w r2, r7, #408 ; 0x198 8091bcc: 212e movs r1, #46 ; 0x2e 8091bce: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 8091bd0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8091bd4: 1c5a adds r2, r3, #1 8091bd6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8091bda: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 8091bde: b2d2 uxtb r2, r2 8091be0: 3230 adds r2, #48 ; 0x30 8091be2: b2d1 uxtb r1, r2 8091be4: f507 72cc add.w r2, r7, #408 ; 0x198 8091be8: 54d1 strb r1, [r2, r3] //**************************************************************** strcpy(str, WavFileName); 8091bea: f507 733b add.w r3, r7, #748 ; 0x2ec 8091bee: 49b2 ldr r1, [pc, #712] ; (8091eb8 ) 8091bf0: 4618 mov r0, r3 8091bf2: f040 faf4 bl 80d21de l = strlen(str); 8091bf6: f507 733b add.w r3, r7, #748 ; 0x2ec 8091bfa: 4618 mov r0, r3 8091bfc: f78e fb8a bl 8020314 8091c00: 4603 mov r3, r0 8091c02: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if((l >= 4) && (str[l - 4] == '.')) 8091c06: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8091c0a: 2b03 cmp r3, #3 8091c0c: d90e bls.n 8091c2c 8091c0e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8091c12: 3b04 subs r3, #4 8091c14: f507 723b add.w r2, r7, #748 ; 0x2ec 8091c18: 5cd3 ldrb r3, [r2, r3] 8091c1a: 2b2e cmp r3, #46 ; 0x2e 8091c1c: d106 bne.n 8091c2c str[l - 4] = '\0'; 8091c1e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8091c22: 3b04 subs r3, #4 8091c24: f507 723b add.w r2, r7, #748 ; 0x2ec 8091c28: 2100 movs r1, #0 8091c2a: 54d1 strb r1, [r2, r3] static uint8_t tw = 0; l = strlen(str); 8091c2c: f507 733b add.w r3, r7, #748 ; 0x2ec 8091c30: 4618 mov r0, r3 8091c32: f78e fb6f bl 8020314 8091c36: 4603 mov r3, r0 8091c38: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 8091c3c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8091c40: 2b09 cmp r3, #9 8091c42: d808 bhi.n 8091c56 { strcpy(str1, str); 8091c44: f507 723b add.w r2, r7, #748 ; 0x2ec 8091c48: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091c4c: 4611 mov r1, r2 8091c4e: 4618 mov r0, r3 8091c50: f040 fac5 bl 80d21de 8091c54: e064 b.n 8091d20 } else { static uint32_t tmw = 0; memset(str1, 0x20, sizeof(str1)); 8091c56: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091c5a: f44f 7280 mov.w r2, #256 ; 0x100 8091c5e: 2120 movs r1, #32 8091c60: 4618 mov r0, r3 8091c62: f040 f99f bl 80d1fa4 if(tmw <= l) 8091c66: 4b95 ldr r3, [pc, #596] ; (8091ebc ) 8091c68: 681a ldr r2, [r3, #0] 8091c6a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8091c6e: 429a cmp r2, r3 8091c70: d822 bhi.n 8091cb8 { if(l - tmw >= 9) 8091c72: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8091c76: 4b91 ldr r3, [pc, #580] ; (8091ebc ) 8091c78: 681b ldr r3, [r3, #0] 8091c7a: 1ad3 subs r3, r2, r3 8091c7c: 2b08 cmp r3, #8 8091c7e: d90b bls.n 8091c98 memcpy(str1, &str[tmw], 9); 8091c80: 4b8e ldr r3, [pc, #568] ; (8091ebc ) 8091c82: 681b ldr r3, [r3, #0] 8091c84: f507 723b add.w r2, r7, #748 ; 0x2ec 8091c88: 18d1 adds r1, r2, r3 8091c8a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091c8e: 2209 movs r2, #9 8091c90: 4618 mov r0, r3 8091c92: f040 f97c bl 80d1f8e 8091c96: e022 b.n 8091cde else memcpy(str1, &str[tmw], l - tmw); 8091c98: 4b88 ldr r3, [pc, #544] ; (8091ebc ) 8091c9a: 681b ldr r3, [r3, #0] 8091c9c: f507 723b add.w r2, r7, #748 ; 0x2ec 8091ca0: 18d1 adds r1, r2, r3 8091ca2: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8091ca6: 4b85 ldr r3, [pc, #532] ; (8091ebc ) 8091ca8: 681b ldr r3, [r3, #0] 8091caa: 1ad2 subs r2, r2, r3 8091cac: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091cb0: 4618 mov r0, r3 8091cb2: f040 f96c bl 80d1f8e 8091cb6: e012 b.n 8091cde } else { memcpy(&str1[9 - (tmw - l)], str, tmw - l); 8091cb8: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8091cbc: 4b7f ldr r3, [pc, #508] ; (8091ebc ) 8091cbe: 681b ldr r3, [r3, #0] 8091cc0: 1ad3 subs r3, r2, r3 8091cc2: 3309 adds r3, #9 8091cc4: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8091cc8: 18d0 adds r0, r2, r3 8091cca: 4b7c ldr r3, [pc, #496] ; (8091ebc ) 8091ccc: 681a ldr r2, [r3, #0] 8091cce: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8091cd2: 1ad2 subs r2, r2, r3 8091cd4: f507 733b add.w r3, r7, #748 ; 0x2ec 8091cd8: 4619 mov r1, r3 8091cda: f040 f958 bl 80d1f8e } str1[10] = '\0'; 8091cde: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091ce2: 2200 movs r2, #0 8091ce4: 729a strb r2, [r3, #10] tw++; 8091ce6: 4b76 ldr r3, [pc, #472] ; (8091ec0 ) 8091ce8: 781b ldrb r3, [r3, #0] 8091cea: 3301 adds r3, #1 8091cec: b2da uxtb r2, r3 8091cee: 4b74 ldr r3, [pc, #464] ; (8091ec0 ) 8091cf0: 701a strb r2, [r3, #0] if(tw >= 2) 8091cf2: 4b73 ldr r3, [pc, #460] ; (8091ec0 ) 8091cf4: 781b ldrb r3, [r3, #0] 8091cf6: 2b01 cmp r3, #1 8091cf8: d912 bls.n 8091d20 { tw = 0; 8091cfa: 4b71 ldr r3, [pc, #452] ; (8091ec0 ) 8091cfc: 2200 movs r2, #0 8091cfe: 701a strb r2, [r3, #0] tmw++; 8091d00: 4b6e ldr r3, [pc, #440] ; (8091ebc ) 8091d02: 681b ldr r3, [r3, #0] 8091d04: 3301 adds r3, #1 8091d06: 4a6d ldr r2, [pc, #436] ; (8091ebc ) 8091d08: 6013 str r3, [r2, #0] if(9 - (tmw - l) == 0) 8091d0a: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8091d0e: 4b6b ldr r3, [pc, #428] ; (8091ebc ) 8091d10: 681b ldr r3, [r3, #0] 8091d12: 1ad3 subs r3, r2, r3 8091d14: f113 0f09 cmn.w r3, #9 8091d18: d102 bne.n 8091d20 { tmw = 0; 8091d1a: 4b68 ldr r3, [pc, #416] ; (8091ebc ) 8091d1c: 2200 movs r2, #0 8091d1e: 601a str r2, [r3, #0] } } } //**************************************************************** LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091d20: 4968 ldr r1, [pc, #416] ; (8091ec4 ) 8091d22: 4869 ldr r0, [pc, #420] ; (8091ec8 ) 8091d24: f7c3 fa72 bl 805520c LCD_DisplayString(10, LCD_LINE_3, (char *) TEXT_PARAM_WAV[pardata.LANG][0]); //FVH 8091d28: 4b68 ldr r3, [pc, #416] ; (8091ecc ) 8091d2a: 7b1b ldrb r3, [r3, #12] 8091d2c: b2db uxtb r3, r3 8091d2e: 4619 mov r1, r3 8091d30: 4a67 ldr r2, [pc, #412] ; (8091ed0 ) 8091d32: 460b mov r3, r1 8091d34: 009b lsls r3, r3, #2 8091d36: 440b add r3, r1 8091d38: 00db lsls r3, r3, #3 8091d3a: 4413 add r3, r2 8091d3c: 681b ldr r3, [r3, #0] 8091d3e: 461a mov r2, r3 8091d40: 213a movs r1, #58 ; 0x3a 8091d42: 200a movs r0, #10 8091d44: f7c4 f80a bl 8055d5c LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_PARAM_WAV[pardata.LANG][1]); //FNH 8091d48: 4b60 ldr r3, [pc, #384] ; (8091ecc ) 8091d4a: 7b1b ldrb r3, [r3, #12] 8091d4c: b2db uxtb r3, r3 8091d4e: 4619 mov r1, r3 8091d50: 4a5f ldr r2, [pc, #380] ; (8091ed0 ) 8091d52: 460b mov r3, r1 8091d54: 009b lsls r3, r3, #2 8091d56: 440b add r3, r1 8091d58: 00db lsls r3, r3, #3 8091d5a: 4413 add r3, r2 8091d5c: 3304 adds r3, #4 8091d5e: 681b ldr r3, [r3, #0] 8091d60: 461a mov r2, r3 8091d62: 214a movs r1, #74 ; 0x4a 8091d64: 200a movs r0, #10 8091d66: f7c3 fff9 bl 8055d5c LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_PARAM_WAV[pardata.LANG][2]); //×àñòîòà âûáîðêè 8091d6a: 4b58 ldr r3, [pc, #352] ; (8091ecc ) 8091d6c: 7b1b ldrb r3, [r3, #12] 8091d6e: b2db uxtb r3, r3 8091d70: 4619 mov r1, r3 8091d72: 4a57 ldr r2, [pc, #348] ; (8091ed0 ) 8091d74: 460b mov r3, r1 8091d76: 009b lsls r3, r3, #2 8091d78: 440b add r3, r1 8091d7a: 00db lsls r3, r3, #3 8091d7c: 4413 add r3, r2 8091d7e: 3308 adds r3, #8 8091d80: 681b ldr r3, [r3, #0] 8091d82: 461a mov r2, r3 8091d84: 215a movs r1, #90 ; 0x5a 8091d86: 200a movs r0, #10 8091d88: f7c3 ffe8 bl 8055d5c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pFRQ[pardata.LANG][pardata.FRQ]); 8091d8c: 4b4f ldr r3, [pc, #316] ; (8091ecc ) 8091d8e: 7b1b ldrb r3, [r3, #12] 8091d90: b2db uxtb r3, r3 8091d92: 4619 mov r1, r3 8091d94: 4b4d ldr r3, [pc, #308] ; (8091ecc ) 8091d96: 7adb ldrb r3, [r3, #11] 8091d98: b2db uxtb r3, r3 8091d9a: 4618 mov r0, r3 8091d9c: 4a4d ldr r2, [pc, #308] ; (8091ed4 ) 8091d9e: 460b mov r3, r1 8091da0: 009b lsls r3, r3, #2 8091da2: 440b add r3, r1 8091da4: 005b lsls r3, r3, #1 8091da6: 4403 add r3, r0 8091da8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8091dac: 461a mov r2, r3 8091dae: 215a movs r1, #90 ; 0x5a 8091db0: f44f 7082 mov.w r0, #260 ; 0x104 8091db4: f7c3 ffea bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_3, strHP); 8091db8: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8091dbc: 461a mov r2, r3 8091dbe: 213a movs r1, #58 ; 0x3a 8091dc0: f44f 7082 mov.w r0, #260 ; 0x104 8091dc4: f7c3 ffe2 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 8091dc8: f507 73cc add.w r3, r7, #408 ; 0x198 8091dcc: 461a mov r2, r3 8091dce: 214a movs r1, #74 ; 0x4a 8091dd0: f44f 7082 mov.w r0, #260 ; 0x104 8091dd4: f7c3 ffda bl 8055d8c #ifndef USE_D101 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091dd8: 493a ldr r1, [pc, #232] ; (8091ec4 ) 8091dda: f04f 30ff mov.w r0, #4294967295 8091dde: f7c3 fa15 bl 805520c LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_WAV[pardata.LANG][9]); //Âðåìÿ çàïèñè 8091de2: 4b3a ldr r3, [pc, #232] ; (8091ecc ) 8091de4: 7b1b ldrb r3, [r3, #12] 8091de6: b2db uxtb r3, r3 8091de8: 4619 mov r1, r3 8091dea: 4a39 ldr r2, [pc, #228] ; (8091ed0 ) 8091dec: 460b mov r3, r1 8091dee: 009b lsls r3, r3, #2 8091df0: 440b add r3, r1 8091df2: 00db lsls r3, r3, #3 8091df4: 4413 add r3, r2 8091df6: 3324 adds r3, #36 ; 0x24 8091df8: 681b ldr r3, [r3, #0] 8091dfa: 461a mov r2, r3 8091dfc: 216a movs r1, #106 ; 0x6a 8091dfe: 200a movs r0, #10 8091e00: f7c3 ffac bl 8055d5c #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); 8091e04: 492f ldr r1, [pc, #188] ; (8091ec4 ) 8091e06: f04f 30ff mov.w r0, #4294967295 8091e0a: f7c3 f9ff bl 805520c LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_PARAM_WAV[pardata.LANG][4]); //Âðåìÿ çàïèñè 8091e0e: 4b2f ldr r3, [pc, #188] ; (8091ecc ) 8091e10: 7b1b ldrb r3, [r3, #12] 8091e12: b2db uxtb r3, r3 8091e14: 4619 mov r1, r3 8091e16: 4a2e ldr r2, [pc, #184] ; (8091ed0 ) 8091e18: 460b mov r3, r1 8091e1a: 009b lsls r3, r3, #2 8091e1c: 440b add r3, r1 8091e1e: 00db lsls r3, r3, #3 8091e20: 4413 add r3, r2 8091e22: 3310 adds r3, #16 8091e24: 681b ldr r3, [r3, #0] 8091e26: 461a mov r2, r3 8091e28: 218a movs r1, #138 ; 0x8a 8091e2a: 200a movs r0, #10 8091e2c: f7c3 ff96 bl 8055d5c LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_WAV[pardata.LANG][5]); //Àâòîóñèëåíèå 8091e30: 4b26 ldr r3, [pc, #152] ; (8091ecc ) 8091e32: 7b1b ldrb r3, [r3, #12] 8091e34: b2db uxtb r3, r3 8091e36: 4619 mov r1, r3 8091e38: 4a25 ldr r2, [pc, #148] ; (8091ed0 ) 8091e3a: 460b mov r3, r1 8091e3c: 009b lsls r3, r3, #2 8091e3e: 440b add r3, r1 8091e40: 00db lsls r3, r3, #3 8091e42: 4413 add r3, r2 8091e44: 3314 adds r3, #20 8091e46: 681b ldr r3, [r3, #0] 8091e48: 461a mov r2, r3 8091e4a: 219a movs r1, #154 ; 0x9a 8091e4c: 200a movs r0, #10 8091e4e: f7c3 ff85 bl 8055d5c LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_WAV[pardata.LANG][7]); //Çàïèñü ïî ïîðîãó 8091e52: 4b1e ldr r3, [pc, #120] ; (8091ecc ) 8091e54: 7b1b ldrb r3, [r3, #12] 8091e56: b2db uxtb r3, r3 8091e58: 4619 mov r1, r3 8091e5a: 4a1d ldr r2, [pc, #116] ; (8091ed0 ) 8091e5c: 460b mov r3, r1 8091e5e: 009b lsls r3, r3, #2 8091e60: 440b add r3, r1 8091e62: 00db lsls r3, r3, #3 8091e64: 4413 add r3, r2 8091e66: 331c adds r3, #28 8091e68: 681b ldr r3, [r3, #0] 8091e6a: 461a mov r2, r3 8091e6c: 21ba movs r1, #186 ; 0xba 8091e6e: 200a movs r0, #10 8091e70: f7c3 ff74 bl 8055d5c if(menupos != WaveName) 8091e74: 4b18 ldr r3, [pc, #96] ; (8091ed8 ) 8091e76: 781b ldrb r3, [r3, #0] 8091e78: b2db uxtb r3, r3 8091e7a: 2b04 cmp r3, #4 8091e7c: d011 beq.n 8091ea2 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_PARAM_WAV[pardata.LANG][3]); //Äèðåêòîðèÿ 8091e7e: 4b13 ldr r3, [pc, #76] ; (8091ecc ) 8091e80: 7b1b ldrb r3, [r3, #12] 8091e82: b2db uxtb r3, r3 8091e84: 4619 mov r1, r3 8091e86: 4a12 ldr r2, [pc, #72] ; (8091ed0 ) 8091e88: 460b mov r3, r1 8091e8a: 009b lsls r3, r3, #2 8091e8c: 440b add r3, r1 8091e8e: 00db lsls r3, r3, #3 8091e90: 4413 add r3, r2 8091e92: 330c adds r3, #12 8091e94: 681b ldr r3, [r3, #0] 8091e96: 461a mov r2, r3 8091e98: 217a movs r1, #122 ; 0x7a 8091e9a: 200a movs r0, #10 8091e9c: f7c3 ff5e bl 8055d5c 8091ea0: e032 b.n 8091f08 else { if(!strlen(WavFileName)) 8091ea2: 4b05 ldr r3, [pc, #20] ; (8091eb8 ) 8091ea4: 781b ldrb r3, [r3, #0] 8091ea6: 2b00 cmp r3, #0 8091ea8: d118 bne.n 8091edc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091eaa: 4906 ldr r1, [pc, #24] ; (8091ec4 ) 8091eac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091eb0: f7c3 f9ac bl 805520c 8091eb4: e017 b.n 8091ee6 8091eb6: bf00 nop 8091eb8: 20020e5c .word 0x20020e5c 8091ebc: 200216c0 .word 0x200216c0 8091ec0: 200216c4 .word 0x200216c4 8091ec4: ff0a0f1f .word 0xff0a0f1f 8091ec8: ff808080 .word 0xff808080 8091ecc: 20023eb8 .word 0x20023eb8 8091ed0: 20020844 .word 0x20020844 8091ed4: 200202ec .word 0x200202ec 8091ed8: 20020070 .word 0x20020070 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091edc: 49c9 ldr r1, [pc, #804] ; (8092204 ) 8091ede: f04f 30ff mov.w r0, #4294967295 8091ee2: f7c3 f993 bl 805520c LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_PARAM_WAV[pardata.LANG][3]); //Äèðåêòîðèÿ 8091ee6: 4bc8 ldr r3, [pc, #800] ; (8092208 ) 8091ee8: 7b1b ldrb r3, [r3, #12] 8091eea: b2db uxtb r3, r3 8091eec: 4619 mov r1, r3 8091eee: 4ac7 ldr r2, [pc, #796] ; (809220c ) 8091ef0: 460b mov r3, r1 8091ef2: 009b lsls r3, r3, #2 8091ef4: 440b add r3, r1 8091ef6: 00db lsls r3, r3, #3 8091ef8: 4413 add r3, r2 8091efa: 330c adds r3, #12 8091efc: 681b ldr r3, [r3, #0] 8091efe: 461a mov r2, r3 8091f00: 217a movs r1, #122 ; 0x7a 8091f02: 200a movs r0, #10 8091f04: f7c3 ff2a bl 8055d5c } if(pardata.THR & 0x80) 8091f08: 4bbf ldr r3, [pc, #764] ; (8092208 ) 8091f0a: 7bdb ldrb r3, [r3, #15] 8091f0c: b2db uxtb r3, r3 8091f0e: b25b sxtb r3, r3 8091f10: 2b00 cmp r3, #0 8091f12: da4f bge.n 8091fb4 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091f14: 49bb ldr r1, [pc, #748] ; (8092204 ) 8091f16: f04f 30ff mov.w r0, #4294967295 8091f1a: f7c3 f977 bl 805520c if(pardata.IIN != VOLTS) 8091f1e: 4bba ldr r3, [pc, #744] ; (8092208 ) 8091f20: 799b ldrb r3, [r3, #6] 8091f22: b2db uxtb r3, r3 8091f24: 2b02 cmp r3, #2 8091f26: d022 beq.n 8091f6e { LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV[pardata.LANG][6]); //Ìax.àìïë.(ì/c^) 8091f28: 4bb7 ldr r3, [pc, #732] ; (8092208 ) 8091f2a: 7b1b ldrb r3, [r3, #12] 8091f2c: b2db uxtb r3, r3 8091f2e: 4619 mov r1, r3 8091f30: 4ab6 ldr r2, [pc, #728] ; (809220c ) 8091f32: 460b mov r3, r1 8091f34: 009b lsls r3, r3, #2 8091f36: 440b add r3, r1 8091f38: 00db lsls r3, r3, #3 8091f3a: 4413 add r3, r2 8091f3c: 3318 adds r3, #24 8091f3e: 681b ldr r3, [r3, #0] 8091f40: 461a mov r2, r3 8091f42: 21aa movs r1, #170 ; 0xaa 8091f44: 200a movs r0, #10 8091f46: f7c3 ff09 bl 8055d5c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_WAV[pardata.LANG][8]); //Ïîðîã(ïèê)(ì/c^) 8091f4a: 4baf ldr r3, [pc, #700] ; (8092208 ) 8091f4c: 7b1b ldrb r3, [r3, #12] 8091f4e: b2db uxtb r3, r3 8091f50: 4619 mov r1, r3 8091f52: 4aae ldr r2, [pc, #696] ; (809220c ) 8091f54: 460b mov r3, r1 8091f56: 009b lsls r3, r3, #2 8091f58: 440b add r3, r1 8091f5a: 00db lsls r3, r3, #3 8091f5c: 4413 add r3, r2 8091f5e: 3320 adds r3, #32 8091f60: 681b ldr r3, [r3, #0] 8091f62: 461a mov r2, r3 8091f64: 21ca movs r1, #202 ; 0xca 8091f66: 200a movs r0, #10 8091f68: f7c3 fef8 bl 8055d5c 8091f6c: e087 b.n 809207e } else { LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV_mV[pardata.LANG][6]); //Ìax.àìïë.(ìÂ) 8091f6e: 4ba6 ldr r3, [pc, #664] ; (8092208 ) 8091f70: 7b1b ldrb r3, [r3, #12] 8091f72: b2db uxtb r3, r3 8091f74: 4619 mov r1, r3 8091f76: 4aa6 ldr r2, [pc, #664] ; (8092210 ) 8091f78: 460b mov r3, r1 8091f7a: 009b lsls r3, r3, #2 8091f7c: 440b add r3, r1 8091f7e: 00db lsls r3, r3, #3 8091f80: 4413 add r3, r2 8091f82: 3318 adds r3, #24 8091f84: 681b ldr r3, [r3, #0] 8091f86: 461a mov r2, r3 8091f88: 21aa movs r1, #170 ; 0xaa 8091f8a: 200a movs r0, #10 8091f8c: f7c3 fee6 bl 8055d5c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_WAV_mV[pardata.LANG][8]); //Ïîðîã(ïèê)(ìV) 8091f90: 4b9d ldr r3, [pc, #628] ; (8092208 ) 8091f92: 7b1b ldrb r3, [r3, #12] 8091f94: b2db uxtb r3, r3 8091f96: 4619 mov r1, r3 8091f98: 4a9d ldr r2, [pc, #628] ; (8092210 ) 8091f9a: 460b mov r3, r1 8091f9c: 009b lsls r3, r3, #2 8091f9e: 440b add r3, r1 8091fa0: 00db lsls r3, r3, #3 8091fa2: 4413 add r3, r2 8091fa4: 3320 adds r3, #32 8091fa6: 681b ldr r3, [r3, #0] 8091fa8: 461a mov r2, r3 8091faa: 21ca movs r1, #202 ; 0xca 8091fac: 200a movs r0, #10 8091fae: f7c3 fed5 bl 8055d5c 8091fb2: e064 b.n 809207e } } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091fb4: 4993 ldr r1, [pc, #588] ; (8092204 ) 8091fb6: 4897 ldr r0, [pc, #604] ; (8092214 ) 8091fb8: f7c3 f928 bl 805520c if(pardata.IIN != VOLTS) 8091fbc: 4b92 ldr r3, [pc, #584] ; (8092208 ) 8091fbe: 799b ldrb r3, [r3, #6] 8091fc0: b2db uxtb r3, r3 8091fc2: 2b02 cmp r3, #2 8091fc4: d011 beq.n 8091fea LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_WAV[pardata.LANG][8]); //Ïîðîã(ïèê)(ì/c^) 8091fc6: 4b90 ldr r3, [pc, #576] ; (8092208 ) 8091fc8: 7b1b ldrb r3, [r3, #12] 8091fca: b2db uxtb r3, r3 8091fcc: 4619 mov r1, r3 8091fce: 4a8f ldr r2, [pc, #572] ; (809220c ) 8091fd0: 460b mov r3, r1 8091fd2: 009b lsls r3, r3, #2 8091fd4: 440b add r3, r1 8091fd6: 00db lsls r3, r3, #3 8091fd8: 4413 add r3, r2 8091fda: 3320 adds r3, #32 8091fdc: 681b ldr r3, [r3, #0] 8091fde: 461a mov r2, r3 8091fe0: 21ca movs r1, #202 ; 0xca 8091fe2: 200a movs r0, #10 8091fe4: f7c3 feba bl 8055d5c 8091fe8: e010 b.n 809200c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_WAV_mV[pardata.LANG][8]); //Ïîðîã(ïèê)(ìÂ) 8091fea: 4b87 ldr r3, [pc, #540] ; (8092208 ) 8091fec: 7b1b ldrb r3, [r3, #12] 8091fee: b2db uxtb r3, r3 8091ff0: 4619 mov r1, r3 8091ff2: 4a87 ldr r2, [pc, #540] ; (8092210 ) 8091ff4: 460b mov r3, r1 8091ff6: 009b lsls r3, r3, #2 8091ff8: 440b add r3, r1 8091ffa: 00db lsls r3, r3, #3 8091ffc: 4413 add r3, r2 8091ffe: 3320 adds r3, #32 8092000: 681b ldr r3, [r3, #0] 8092002: 461a mov r2, r3 8092004: 21ca movs r1, #202 ; 0xca 8092006: 200a movs r0, #10 8092008: f7c3 fea8 bl 8055d5c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 809200c: 4b7e ldr r3, [pc, #504] ; (8092208 ) 809200e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8092012: f003 0304 and.w r3, r3, #4 8092016: 2b00 cmp r3, #0 8092018: d105 bne.n 8092026 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809201a: 497a ldr r1, [pc, #488] ; (8092204 ) 809201c: f04f 30ff mov.w r0, #4294967295 8092020: f7c3 f8f4 bl 805520c 8092024: e003 b.n 809202e else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8092026: 4977 ldr r1, [pc, #476] ; (8092204 ) 8092028: 487a ldr r0, [pc, #488] ; (8092214 ) 809202a: f7c3 f8ef bl 805520c if(pardata.IIN != VOLTS) 809202e: 4b76 ldr r3, [pc, #472] ; (8092208 ) 8092030: 799b ldrb r3, [r3, #6] 8092032: b2db uxtb r3, r3 8092034: 2b02 cmp r3, #2 8092036: d011 beq.n 809205c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV[pardata.LANG][6]); //Ìax.àìïë.(ì/c^) 8092038: 4b73 ldr r3, [pc, #460] ; (8092208 ) 809203a: 7b1b ldrb r3, [r3, #12] 809203c: b2db uxtb r3, r3 809203e: 4619 mov r1, r3 8092040: 4a72 ldr r2, [pc, #456] ; (809220c ) 8092042: 460b mov r3, r1 8092044: 009b lsls r3, r3, #2 8092046: 440b add r3, r1 8092048: 00db lsls r3, r3, #3 809204a: 4413 add r3, r2 809204c: 3318 adds r3, #24 809204e: 681b ldr r3, [r3, #0] 8092050: 461a mov r2, r3 8092052: 21aa movs r1, #170 ; 0xaa 8092054: 200a movs r0, #10 8092056: f7c3 fe81 bl 8055d5c 809205a: e010 b.n 809207e else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV_mV[pardata.LANG][6]); //Ìax.àìïë.(ìV) 809205c: 4b6a ldr r3, [pc, #424] ; (8092208 ) 809205e: 7b1b ldrb r3, [r3, #12] 8092060: b2db uxtb r3, r3 8092062: 4619 mov r1, r3 8092064: 4a6a ldr r2, [pc, #424] ; (8092210 ) 8092066: 460b mov r3, r1 8092068: 009b lsls r3, r3, #2 809206a: 440b add r3, r1 809206c: 00db lsls r3, r3, #3 809206e: 4413 add r3, r2 8092070: 3318 adds r3, #24 8092072: 681b ldr r3, [r3, #0] 8092074: 461a mov r2, r3 8092076: 21aa movs r1, #170 ; 0xaa 8092078: 200a movs r0, #10 809207a: f7c3 fe6f bl 8055d5c switch(menupos) 809207e: 4b66 ldr r3, [pc, #408] ; (8092218 ) 8092080: 781b ldrb r3, [r3, #0] 8092082: b2db uxtb r3, r3 8092084: 2b15 cmp r3, #21 8092086: f201 8746 bhi.w 8093f16 809208a: a201 add r2, pc, #4 ; (adr r2, 8092090 ) 809208c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8092090: 080920e9 .word 0x080920e9 8092094: 08093f17 .word 0x08093f17 8092098: 08093f17 .word 0x08093f17 809209c: 08093de1 .word 0x08093de1 80920a0: 08092229 .word 0x08092229 80920a4: 0809234d .word 0x0809234d 80920a8: 080924d5 .word 0x080924d5 80920ac: 08092735 .word 0x08092735 80920b0: 08092605 .word 0x08092605 80920b4: 0809285b .word 0x0809285b 80920b8: 08092981 .word 0x08092981 80920bc: 08092b39 .word 0x08092b39 80920c0: 08092ccb .word 0x08092ccb 80920c4: 08092e81 .word 0x08092e81 80920c8: 08093013 .word 0x08093013 80920cc: 080931c9 .word 0x080931c9 80920d0: 0809335b .word 0x0809335b 80920d4: 08093529 .word 0x08093529 80920d8: 080936d3 .word 0x080936d3 80920dc: 080938a1 .word 0x080938a1 80920e0: 08093a49 .word 0x08093a49 80920e4: 08093c15 .word 0x08093c15 { case Ok: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80920e8: 4946 ldr r1, [pc, #280] ; (8092204 ) 80920ea: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80920ee: f7c3 f88d bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80920f2: 4b45 ldr r3, [pc, #276] ; (8092208 ) 80920f4: 7b1b ldrb r3, [r3, #12] 80920f6: b2db uxtb r3, r3 80920f8: 461a mov r2, r3 80920fa: 4b48 ldr r3, [pc, #288] ; (809221c ) 80920fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092100: 461a mov r2, r3 8092102: 2127 movs r1, #39 ; 0x27 8092104: 200a movs r0, #10 8092106: f7c3 fe29 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809210a: 493e ldr r1, [pc, #248] ; (8092204 ) 809210c: 4844 ldr r0, [pc, #272] ; (8092220 ) 809210e: f7c3 f87d bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 8092112: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092116: 461a mov r2, r3 8092118: 217a movs r1, #122 ; 0x7a 809211a: f44f 7082 mov.w r0, #260 ; 0x104 809211e: f7c3 fe35 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8092122: 4b39 ldr r3, [pc, #228] ; (8092208 ) 8092124: 7b1b ldrb r3, [r3, #12] 8092126: b2db uxtb r3, r3 8092128: 461a mov r2, r3 809212a: 4b37 ldr r3, [pc, #220] ; (8092208 ) 809212c: 7b9b ldrb r3, [r3, #14] 809212e: b2db uxtb r3, r3 8092130: 4618 mov r0, r3 8092132: 493c ldr r1, [pc, #240] ; (8092224 ) 8092134: 4613 mov r3, r2 8092136: 009b lsls r3, r3, #2 8092138: 4413 add r3, r2 809213a: 005b lsls r3, r3, #1 809213c: 4413 add r3, r2 809213e: 4403 add r3, r0 8092140: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8092144: 461a mov r2, r3 8092146: 218a movs r1, #138 ; 0x8a 8092148: f44f 7082 mov.w r0, #260 ; 0x104 809214c: f7c3 fe1e bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092150: 492c ldr r1, [pc, #176] ; (8092204 ) 8092152: f04f 30ff mov.w r0, #4294967295 8092156: f7c3 f859 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 809215a: 230a movs r3, #10 809215c: 220a movs r2, #10 809215e: 219d movs r1, #157 ; 0x9d 8092160: 20ff movs r0, #255 ; 0xff 8092162: f7c3 fce1 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8092166: 230a movs r3, #10 8092168: 220a movs r2, #10 809216a: 21bd movs r1, #189 ; 0xbd 809216c: 20ff movs r0, #255 ; 0xff 809216e: f7c3 fcdb bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8092172: 230a movs r3, #10 8092174: 220a movs r2, #10 8092176: 216d movs r1, #109 ; 0x6d 8092178: 20ff movs r0, #255 ; 0xff 809217a: f7c3 fcd5 bl 8055b28 if(pardata.THR & 0x80) 809217e: 4b22 ldr r3, [pc, #136] ; (8092208 ) 8092180: 7bdb ldrb r3, [r3, #15] 8092182: b2db uxtb r3, r3 8092184: b25b sxtb r3, r3 8092186: 2b00 cmp r3, #0 8092188: da15 bge.n 80921b6 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809218a: 491e ldr r1, [pc, #120] ; (8092204 ) 809218c: 4824 ldr r0, [pc, #144] ; (8092220 ) 809218e: f7c3 f83d bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8092192: f507 73c0 add.w r3, r7, #384 ; 0x180 8092196: 461a mov r2, r3 8092198: 21aa movs r1, #170 ; 0xaa 809219a: f44f 7082 mov.w r0, #260 ; 0x104 809219e: f7c3 fdf5 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80921a2: f507 73c6 add.w r3, r7, #396 ; 0x18c 80921a6: 461a mov r2, r3 80921a8: 21ca movs r1, #202 ; 0xca 80921aa: f44f 7082 mov.w r0, #260 ; 0x104 80921ae: f7c3 fded bl 8055d8c 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; 80921b2: f001 beb0 b.w 8093f16 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80921b6: 4913 ldr r1, [pc, #76] ; (8092204 ) 80921b8: 4816 ldr r0, [pc, #88] ; (8092214 ) 80921ba: f7c3 f827 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80921be: f507 73c6 add.w r3, r7, #396 ; 0x18c 80921c2: 461a mov r2, r3 80921c4: 21ca movs r1, #202 ; 0xca 80921c6: f44f 7082 mov.w r0, #260 ; 0x104 80921ca: f7c3 fddf bl 8055d8c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80921ce: 4b0e ldr r3, [pc, #56] ; (8092208 ) 80921d0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80921d4: f003 0304 and.w r3, r3, #4 80921d8: 2b00 cmp r3, #0 80921da: d104 bne.n 80921e6 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80921dc: 4909 ldr r1, [pc, #36] ; (8092204 ) 80921de: 4810 ldr r0, [pc, #64] ; (8092220 ) 80921e0: f7c3 f814 bl 805520c 80921e4: e003 b.n 80921ee else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80921e6: 4907 ldr r1, [pc, #28] ; (8092204 ) 80921e8: 480a ldr r0, [pc, #40] ; (8092214 ) 80921ea: f7c3 f80f bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80921ee: f507 73c0 add.w r3, r7, #384 ; 0x180 80921f2: 461a mov r2, r3 80921f4: 21aa movs r1, #170 ; 0xaa 80921f6: f44f 7082 mov.w r0, #260 ; 0x104 80921fa: f7c3 fdc7 bl 8055d8c break; 80921fe: f001 be8a b.w 8093f16 8092202: bf00 nop 8092204: ff0a0f1f .word 0xff0a0f1f 8092208: 20023eb8 .word 0x20023eb8 809220c: 20020844 .word 0x20020844 8092210: 20020894 .word 0x20020894 8092214: ff808080 .word 0xff808080 8092218: 20020070 .word 0x20020070 809221c: 200205cc .word 0x200205cc 8092220: ffd8aa57 .word 0xffd8aa57 8092224: 2002033c .word 0x2002033c case WaveName: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8092228: 49a2 ldr r1, [pc, #648] ; (80924b4 ) 809222a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809222e: f7c2 ffed bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 8092232: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092236: 461a mov r2, r3 8092238: 217a movs r1, #122 ; 0x7a 809223a: f44f 7082 mov.w r0, #260 ; 0x104 809223e: f7c3 fda5 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092242: 499c ldr r1, [pc, #624] ; (80924b4 ) 8092244: f04f 30ff mov.w r0, #4294967295 8092248: f7c2 ffe0 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 809224c: 4b9a ldr r3, [pc, #616] ; (80924b8 ) 809224e: 7b1b ldrb r3, [r3, #12] 8092250: b2db uxtb r3, r3 8092252: 461a mov r2, r3 8092254: 4b99 ldr r3, [pc, #612] ; (80924bc ) 8092256: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809225a: 461a mov r2, r3 809225c: 2127 movs r1, #39 ; 0x27 809225e: 200a movs r0, #10 8092260: f7c3 fd7c bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092264: 4993 ldr r1, [pc, #588] ; (80924b4 ) 8092266: 4896 ldr r0, [pc, #600] ; (80924c0 ) 8092268: f7c2 ffd0 bl 805520c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 809226c: 4b92 ldr r3, [pc, #584] ; (80924b8 ) 809226e: 7b1b ldrb r3, [r3, #12] 8092270: b2db uxtb r3, r3 8092272: 461a mov r2, r3 8092274: 4b90 ldr r3, [pc, #576] ; (80924b8 ) 8092276: 7b9b ldrb r3, [r3, #14] 8092278: b2db uxtb r3, r3 809227a: 4618 mov r0, r3 809227c: 4991 ldr r1, [pc, #580] ; (80924c4 ) 809227e: 4613 mov r3, r2 8092280: 009b lsls r3, r3, #2 8092282: 4413 add r3, r2 8092284: 005b lsls r3, r3, #1 8092286: 4413 add r3, r2 8092288: 4403 add r3, r0 809228a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 809228e: 461a mov r2, r3 8092290: 218a movs r1, #138 ; 0x8a 8092292: f44f 7082 mov.w r0, #260 ; 0x104 8092296: f7c3 fd79 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809229a: 4986 ldr r1, [pc, #536] ; (80924b4 ) 809229c: f04f 30ff mov.w r0, #4294967295 80922a0: f7c2 ffb4 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 80922a4: 230a movs r3, #10 80922a6: 220a movs r2, #10 80922a8: 219d movs r1, #157 ; 0x9d 80922aa: 20ff movs r0, #255 ; 0xff 80922ac: f7c3 fc3c bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80922b0: 230a movs r3, #10 80922b2: 220a movs r2, #10 80922b4: 21bd movs r1, #189 ; 0xbd 80922b6: 20ff movs r0, #255 ; 0xff 80922b8: f7c3 fc36 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 80922bc: 230a movs r3, #10 80922be: 220a movs r2, #10 80922c0: 216d movs r1, #109 ; 0x6d 80922c2: 20ff movs r0, #255 ; 0xff 80922c4: f7c3 fc30 bl 8055b28 if(pardata.THR & 0x80) 80922c8: 4b7b ldr r3, [pc, #492] ; (80924b8 ) 80922ca: 7bdb ldrb r3, [r3, #15] 80922cc: b2db uxtb r3, r3 80922ce: b25b sxtb r3, r3 80922d0: 2b00 cmp r3, #0 80922d2: da15 bge.n 8092300 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80922d4: 4977 ldr r1, [pc, #476] ; (80924b4 ) 80922d6: 487a ldr r0, [pc, #488] ; (80924c0 ) 80922d8: f7c2 ff98 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80922dc: f507 73c0 add.w r3, r7, #384 ; 0x180 80922e0: 461a mov r2, r3 80922e2: 21aa movs r1, #170 ; 0xaa 80922e4: f44f 7082 mov.w r0, #260 ; 0x104 80922e8: f7c3 fd50 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80922ec: f507 73c6 add.w r3, r7, #396 ; 0x18c 80922f0: 461a mov r2, r3 80922f2: 21ca movs r1, #202 ; 0xca 80922f4: f44f 7082 mov.w r0, #260 ; 0x104 80922f8: f7c3 fd48 bl 8055d8c 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; 80922fc: f001 be0b b.w 8093f16 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8092300: 496c ldr r1, [pc, #432] ; (80924b4 ) 8092302: 4871 ldr r0, [pc, #452] ; (80924c8 ) 8092304: f7c2 ff82 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8092308: f507 73c6 add.w r3, r7, #396 ; 0x18c 809230c: 461a mov r2, r3 809230e: 21ca movs r1, #202 ; 0xca 8092310: f44f 7082 mov.w r0, #260 ; 0x104 8092314: f7c3 fd3a bl 8055d8c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8092318: 4b67 ldr r3, [pc, #412] ; (80924b8 ) 809231a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 809231e: f003 0304 and.w r3, r3, #4 8092322: 2b00 cmp r3, #0 8092324: d104 bne.n 8092330 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092326: 4963 ldr r1, [pc, #396] ; (80924b4 ) 8092328: 4865 ldr r0, [pc, #404] ; (80924c0 ) 809232a: f7c2 ff6f bl 805520c 809232e: e003 b.n 8092338 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8092330: 4960 ldr r1, [pc, #384] ; (80924b4 ) 8092332: 4865 ldr r0, [pc, #404] ; (80924c8 ) 8092334: f7c2 ff6a bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8092338: f507 73c0 add.w r3, r7, #384 ; 0x180 809233c: 461a mov r2, r3 809233e: 21aa movs r1, #170 ; 0xaa 8092340: f44f 7082 mov.w r0, #260 ; 0x104 8092344: f7c3 fd22 bl 8055d8c break; 8092348: f001 bde5 b.w 8093f16 case WaveTime: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809234c: 4959 ldr r1, [pc, #356] ; (80924b4 ) 809234e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8092352: f7c2 ff5b bl 805520c if(focused) 8092356: 4b5d ldr r3, [pc, #372] ; (80924cc ) 8092358: 781b ldrb r3, [r3, #0] 809235a: b2db uxtb r3, r3 809235c: 2b00 cmp r3, #0 809235e: d01b beq.n 8092398 { if(blk) 8092360: 4b5b ldr r3, [pc, #364] ; (80924d0 ) 8092362: 681b ldr r3, [r3, #0] 8092364: 2b00 cmp r3, #0 8092366: d02e beq.n 80923c6 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8092368: 4b53 ldr r3, [pc, #332] ; (80924b8 ) 809236a: 7b1b ldrb r3, [r3, #12] 809236c: b2db uxtb r3, r3 809236e: 461a mov r2, r3 8092370: 4b51 ldr r3, [pc, #324] ; (80924b8 ) 8092372: 7b9b ldrb r3, [r3, #14] 8092374: b2db uxtb r3, r3 8092376: 4618 mov r0, r3 8092378: 4952 ldr r1, [pc, #328] ; (80924c4 ) 809237a: 4613 mov r3, r2 809237c: 009b lsls r3, r3, #2 809237e: 4413 add r3, r2 8092380: 005b lsls r3, r3, #1 8092382: 4413 add r3, r2 8092384: 4403 add r3, r0 8092386: f851 3023 ldr.w r3, [r1, r3, lsl #2] 809238a: 461a mov r2, r3 809238c: 218a movs r1, #138 ; 0x8a 809238e: f44f 7082 mov.w r0, #260 ; 0x104 8092392: f7c3 fcfb bl 8055d8c 8092396: e016 b.n 80923c6 } else LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8092398: 4b47 ldr r3, [pc, #284] ; (80924b8 ) 809239a: 7b1b ldrb r3, [r3, #12] 809239c: b2db uxtb r3, r3 809239e: 461a mov r2, r3 80923a0: 4b45 ldr r3, [pc, #276] ; (80924b8 ) 80923a2: 7b9b ldrb r3, [r3, #14] 80923a4: b2db uxtb r3, r3 80923a6: 4618 mov r0, r3 80923a8: 4946 ldr r1, [pc, #280] ; (80924c4 ) 80923aa: 4613 mov r3, r2 80923ac: 009b lsls r3, r3, #2 80923ae: 4413 add r3, r2 80923b0: 005b lsls r3, r3, #1 80923b2: 4413 add r3, r2 80923b4: 4403 add r3, r0 80923b6: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80923ba: 461a mov r2, r3 80923bc: 218a movs r1, #138 ; 0x8a 80923be: f44f 7082 mov.w r0, #260 ; 0x104 80923c2: f7c3 fce3 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80923c6: 493b ldr r1, [pc, #236] ; (80924b4 ) 80923c8: f04f 30ff mov.w r0, #4294967295 80923cc: f7c2 ff1e bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80923d0: 4b39 ldr r3, [pc, #228] ; (80924b8 ) 80923d2: 7b1b ldrb r3, [r3, #12] 80923d4: b2db uxtb r3, r3 80923d6: 461a mov r2, r3 80923d8: 4b38 ldr r3, [pc, #224] ; (80924bc ) 80923da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80923de: 461a mov r2, r3 80923e0: 2127 movs r1, #39 ; 0x27 80923e2: 200a movs r0, #10 80923e4: f7c3 fcba bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80923e8: 4932 ldr r1, [pc, #200] ; (80924b4 ) 80923ea: 4835 ldr r0, [pc, #212] ; (80924c0 ) 80923ec: f7c2 ff0e bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 80923f0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80923f4: 461a mov r2, r3 80923f6: 217a movs r1, #122 ; 0x7a 80923f8: f44f 7082 mov.w r0, #260 ; 0x104 80923fc: f7c3 fcc6 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092400: 492c ldr r1, [pc, #176] ; (80924b4 ) 8092402: f04f 30ff mov.w r0, #4294967295 8092406: f7c2 ff01 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 809240a: 230a movs r3, #10 809240c: 220a movs r2, #10 809240e: 219d movs r1, #157 ; 0x9d 8092410: 20ff movs r0, #255 ; 0xff 8092412: f7c3 fb89 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8092416: 230a movs r3, #10 8092418: 220a movs r2, #10 809241a: 21bd movs r1, #189 ; 0xbd 809241c: 20ff movs r0, #255 ; 0xff 809241e: f7c3 fb83 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8092422: 230a movs r3, #10 8092424: 220a movs r2, #10 8092426: 216d movs r1, #109 ; 0x6d 8092428: 20ff movs r0, #255 ; 0xff 809242a: f7c3 fb7d bl 8055b28 if(pardata.THR & 0x80) 809242e: 4b22 ldr r3, [pc, #136] ; (80924b8 ) 8092430: 7bdb ldrb r3, [r3, #15] 8092432: b2db uxtb r3, r3 8092434: b25b sxtb r3, r3 8092436: 2b00 cmp r3, #0 8092438: da15 bge.n 8092466 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809243a: 491e ldr r1, [pc, #120] ; (80924b4 ) 809243c: 4820 ldr r0, [pc, #128] ; (80924c0 ) 809243e: f7c2 fee5 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8092442: f507 73c0 add.w r3, r7, #384 ; 0x180 8092446: 461a mov r2, r3 8092448: 21aa movs r1, #170 ; 0xaa 809244a: f44f 7082 mov.w r0, #260 ; 0x104 809244e: f7c3 fc9d bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8092452: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092456: 461a mov r2, r3 8092458: 21ca movs r1, #202 ; 0xca 809245a: f44f 7082 mov.w r0, #260 ; 0x104 809245e: f7c3 fc95 bl 8055d8c 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; 8092462: f001 bd58 b.w 8093f16 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8092466: 4913 ldr r1, [pc, #76] ; (80924b4 ) 8092468: 4817 ldr r0, [pc, #92] ; (80924c8 ) 809246a: f7c2 fecf bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 809246e: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092472: 461a mov r2, r3 8092474: 21ca movs r1, #202 ; 0xca 8092476: f44f 7082 mov.w r0, #260 ; 0x104 809247a: f7c3 fc87 bl 8055d8c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 809247e: 4b0e ldr r3, [pc, #56] ; (80924b8 ) 8092480: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8092484: f003 0304 and.w r3, r3, #4 8092488: 2b00 cmp r3, #0 809248a: d104 bne.n 8092496 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809248c: 4909 ldr r1, [pc, #36] ; (80924b4 ) 809248e: 480c ldr r0, [pc, #48] ; (80924c0 ) 8092490: f7c2 febc bl 805520c 8092494: e003 b.n 809249e else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8092496: 4907 ldr r1, [pc, #28] ; (80924b4 ) 8092498: 480b ldr r0, [pc, #44] ; (80924c8 ) 809249a: f7c2 feb7 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 809249e: f507 73c0 add.w r3, r7, #384 ; 0x180 80924a2: 461a mov r2, r3 80924a4: 21aa movs r1, #170 ; 0xaa 80924a6: f44f 7082 mov.w r0, #260 ; 0x104 80924aa: f7c3 fc6f bl 8055d8c break; 80924ae: f001 bd32 b.w 8093f16 80924b2: bf00 nop 80924b4: ff0a0f1f .word 0xff0a0f1f 80924b8: 20023eb8 .word 0x20023eb8 80924bc: 200205cc .word 0x200205cc 80924c0: ffd8aa57 .word 0xffd8aa57 80924c4: 2002033c .word 0x2002033c 80924c8: ff808080 .word 0xff808080 80924cc: 20020fd0 .word 0x20020fd0 80924d0: 200216ac .word 0x200216ac case WaveAutoKu: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80924d4: 49cd ldr r1, [pc, #820] ; (809280c ) 80924d6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80924da: f7c2 fe97 bl 805520c BSP_LCD_FillRect(253, CHECKBOX_LINE_9-2, 14, 14); 80924de: 230e movs r3, #14 80924e0: 220e movs r2, #14 80924e2: 219b movs r1, #155 ; 0x9b 80924e4: 20fd movs r0, #253 ; 0xfd 80924e6: f7c3 fb1f bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80924ea: 49c8 ldr r1, [pc, #800] ; (809280c ) 80924ec: f04f 30ff mov.w r0, #4294967295 80924f0: f7c2 fe8c bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80924f4: 4bc6 ldr r3, [pc, #792] ; (8092810 ) 80924f6: 7b1b ldrb r3, [r3, #12] 80924f8: b2db uxtb r3, r3 80924fa: 461a mov r2, r3 80924fc: 4bc5 ldr r3, [pc, #788] ; (8092814 ) 80924fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092502: 461a mov r2, r3 8092504: 2127 movs r1, #39 ; 0x27 8092506: 200a movs r0, #10 8092508: f7c3 fc28 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809250c: 49bf ldr r1, [pc, #764] ; (809280c ) 809250e: 48c2 ldr r0, [pc, #776] ; (8092818 ) 8092510: f7c2 fe7c bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 8092514: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092518: 461a mov r2, r3 809251a: 217a movs r1, #122 ; 0x7a 809251c: f44f 7082 mov.w r0, #260 ; 0x104 8092520: f7c3 fc34 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8092524: 4bba ldr r3, [pc, #744] ; (8092810 ) 8092526: 7b1b ldrb r3, [r3, #12] 8092528: b2db uxtb r3, r3 809252a: 461a mov r2, r3 809252c: 4bb8 ldr r3, [pc, #736] ; (8092810 ) 809252e: 7b9b ldrb r3, [r3, #14] 8092530: b2db uxtb r3, r3 8092532: 4618 mov r0, r3 8092534: 49b9 ldr r1, [pc, #740] ; (809281c ) 8092536: 4613 mov r3, r2 8092538: 009b lsls r3, r3, #2 809253a: 4413 add r3, r2 809253c: 005b lsls r3, r3, #1 809253e: 4413 add r3, r2 8092540: 4403 add r3, r0 8092542: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8092546: 461a mov r2, r3 8092548: 218a movs r1, #138 ; 0x8a 809254a: f44f 7082 mov.w r0, #260 ; 0x104 809254e: f7c3 fc1d bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092552: 49ae ldr r1, [pc, #696] ; (809280c ) 8092554: f04f 30ff mov.w r0, #4294967295 8092558: f7c2 fe58 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 809255c: 230a movs r3, #10 809255e: 220a movs r2, #10 8092560: 219d movs r1, #157 ; 0x9d 8092562: 20ff movs r0, #255 ; 0xff 8092564: f7c3 fae0 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8092568: 230a movs r3, #10 809256a: 220a movs r2, #10 809256c: 21bd movs r1, #189 ; 0xbd 809256e: 20ff movs r0, #255 ; 0xff 8092570: f7c3 fada bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8092574: 230a movs r3, #10 8092576: 220a movs r2, #10 8092578: 216d movs r1, #109 ; 0x6d 809257a: 20ff movs r0, #255 ; 0xff 809257c: f7c3 fad4 bl 8055b28 if(pardata.THR & 0x80) 8092580: 4ba3 ldr r3, [pc, #652] ; (8092810 ) 8092582: 7bdb ldrb r3, [r3, #15] 8092584: b2db uxtb r3, r3 8092586: b25b sxtb r3, r3 8092588: 2b00 cmp r3, #0 809258a: da15 bge.n 80925b8 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809258c: 499f ldr r1, [pc, #636] ; (809280c ) 809258e: 48a2 ldr r0, [pc, #648] ; (8092818 ) 8092590: f7c2 fe3c bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8092594: f507 73c0 add.w r3, r7, #384 ; 0x180 8092598: 461a mov r2, r3 809259a: 21aa movs r1, #170 ; 0xaa 809259c: f44f 7082 mov.w r0, #260 ; 0x104 80925a0: f7c3 fbf4 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80925a4: f507 73c6 add.w r3, r7, #396 ; 0x18c 80925a8: 461a mov r2, r3 80925aa: 21ca movs r1, #202 ; 0xca 80925ac: f44f 7082 mov.w r0, #260 ; 0x104 80925b0: f7c3 fbec bl 8055d8c 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; 80925b4: f001 bcaf b.w 8093f16 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80925b8: 4994 ldr r1, [pc, #592] ; (809280c ) 80925ba: 4899 ldr r0, [pc, #612] ; (8092820 ) 80925bc: f7c2 fe26 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80925c0: f507 73c6 add.w r3, r7, #396 ; 0x18c 80925c4: 461a mov r2, r3 80925c6: 21ca movs r1, #202 ; 0xca 80925c8: f44f 7082 mov.w r0, #260 ; 0x104 80925cc: f7c3 fbde bl 8055d8c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80925d0: 4b8f ldr r3, [pc, #572] ; (8092810 ) 80925d2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80925d6: f003 0304 and.w r3, r3, #4 80925da: 2b00 cmp r3, #0 80925dc: d104 bne.n 80925e8 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80925de: 498b ldr r1, [pc, #556] ; (809280c ) 80925e0: 488d ldr r0, [pc, #564] ; (8092818 ) 80925e2: f7c2 fe13 bl 805520c 80925e6: e003 b.n 80925f0 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80925e8: 4988 ldr r1, [pc, #544] ; (809280c ) 80925ea: 488d ldr r0, [pc, #564] ; (8092820 ) 80925ec: f7c2 fe0e bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80925f0: f507 73c0 add.w r3, r7, #384 ; 0x180 80925f4: 461a mov r2, r3 80925f6: 21aa movs r1, #170 ; 0xaa 80925f8: f44f 7082 mov.w r0, #260 ; 0x104 80925fc: f7c3 fbc6 bl 8055d8c break; 8092600: f001 bc89 b.w 8093f16 case WaveThr: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8092604: 4981 ldr r1, [pc, #516] ; (809280c ) 8092606: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809260a: f7c2 fdff bl 805520c BSP_LCD_FillRect(253, CHECKBOX_LINE_11-2, 14, 14); 809260e: 230e movs r3, #14 8092610: 220e movs r2, #14 8092612: 21bb movs r1, #187 ; 0xbb 8092614: 20fd movs r0, #253 ; 0xfd 8092616: f7c3 fa87 bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809261a: 497c ldr r1, [pc, #496] ; (809280c ) 809261c: f04f 30ff mov.w r0, #4294967295 8092620: f7c2 fdf4 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8092624: 4b7a ldr r3, [pc, #488] ; (8092810 ) 8092626: 7b1b ldrb r3, [r3, #12] 8092628: b2db uxtb r3, r3 809262a: 461a mov r2, r3 809262c: 4b79 ldr r3, [pc, #484] ; (8092814 ) 809262e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092632: 461a mov r2, r3 8092634: 2127 movs r1, #39 ; 0x27 8092636: 200a movs r0, #10 8092638: f7c3 fb90 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809263c: 4973 ldr r1, [pc, #460] ; (809280c ) 809263e: 4876 ldr r0, [pc, #472] ; (8092818 ) 8092640: f7c2 fde4 bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 8092644: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092648: 461a mov r2, r3 809264a: 217a movs r1, #122 ; 0x7a 809264c: f44f 7082 mov.w r0, #260 ; 0x104 8092650: f7c3 fb9c bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8092654: 4b6e ldr r3, [pc, #440] ; (8092810 ) 8092656: 7b1b ldrb r3, [r3, #12] 8092658: b2db uxtb r3, r3 809265a: 461a mov r2, r3 809265c: 4b6c ldr r3, [pc, #432] ; (8092810 ) 809265e: 7b9b ldrb r3, [r3, #14] 8092660: b2db uxtb r3, r3 8092662: 4618 mov r0, r3 8092664: 496d ldr r1, [pc, #436] ; (809281c ) 8092666: 4613 mov r3, r2 8092668: 009b lsls r3, r3, #2 809266a: 4413 add r3, r2 809266c: 005b lsls r3, r3, #1 809266e: 4413 add r3, r2 8092670: 4403 add r3, r0 8092672: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8092676: 461a mov r2, r3 8092678: 218a movs r1, #138 ; 0x8a 809267a: f44f 7082 mov.w r0, #260 ; 0x104 809267e: f7c3 fb85 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092682: 4962 ldr r1, [pc, #392] ; (809280c ) 8092684: f04f 30ff mov.w r0, #4294967295 8092688: f7c2 fdc0 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 809268c: 230a movs r3, #10 809268e: 220a movs r2, #10 8092690: 219d movs r1, #157 ; 0x9d 8092692: 20ff movs r0, #255 ; 0xff 8092694: f7c3 fa48 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8092698: 230a movs r3, #10 809269a: 220a movs r2, #10 809269c: 21bd movs r1, #189 ; 0xbd 809269e: 20ff movs r0, #255 ; 0xff 80926a0: f7c3 fa42 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 80926a4: 230a movs r3, #10 80926a6: 220a movs r2, #10 80926a8: 216d movs r1, #109 ; 0x6d 80926aa: 20ff movs r0, #255 ; 0xff 80926ac: f7c3 fa3c bl 8055b28 if(pardata.THR & 0x80) 80926b0: 4b57 ldr r3, [pc, #348] ; (8092810 ) 80926b2: 7bdb ldrb r3, [r3, #15] 80926b4: b2db uxtb r3, r3 80926b6: b25b sxtb r3, r3 80926b8: 2b00 cmp r3, #0 80926ba: da15 bge.n 80926e8 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80926bc: 4953 ldr r1, [pc, #332] ; (809280c ) 80926be: 4856 ldr r0, [pc, #344] ; (8092818 ) 80926c0: f7c2 fda4 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80926c4: f507 73c0 add.w r3, r7, #384 ; 0x180 80926c8: 461a mov r2, r3 80926ca: 21aa movs r1, #170 ; 0xaa 80926cc: f44f 7082 mov.w r0, #260 ; 0x104 80926d0: f7c3 fb5c bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80926d4: f507 73c6 add.w r3, r7, #396 ; 0x18c 80926d8: 461a mov r2, r3 80926da: 21ca movs r1, #202 ; 0xca 80926dc: f44f 7082 mov.w r0, #260 ; 0x104 80926e0: f7c3 fb54 bl 8055d8c 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; 80926e4: f001 bc17 b.w 8093f16 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80926e8: 4948 ldr r1, [pc, #288] ; (809280c ) 80926ea: 484d ldr r0, [pc, #308] ; (8092820 ) 80926ec: f7c2 fd8e bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80926f0: f507 73c6 add.w r3, r7, #396 ; 0x18c 80926f4: 461a mov r2, r3 80926f6: 21ca movs r1, #202 ; 0xca 80926f8: f44f 7082 mov.w r0, #260 ; 0x104 80926fc: f7c3 fb46 bl 8055d8c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8092700: 4b43 ldr r3, [pc, #268] ; (8092810 ) 8092702: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8092706: f003 0304 and.w r3, r3, #4 809270a: 2b00 cmp r3, #0 809270c: d104 bne.n 8092718 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809270e: 493f ldr r1, [pc, #252] ; (809280c ) 8092710: 4841 ldr r0, [pc, #260] ; (8092818 ) 8092712: f7c2 fd7b bl 805520c 8092716: e003 b.n 8092720 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8092718: 493c ldr r1, [pc, #240] ; (809280c ) 809271a: 4841 ldr r0, [pc, #260] ; (8092820 ) 809271c: f7c2 fd76 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8092720: f507 73c0 add.w r3, r7, #384 ; 0x180 8092724: 461a mov r2, r3 8092726: 21aa movs r1, #170 ; 0xaa 8092728: f44f 7082 mov.w r0, #260 ; 0x104 809272c: f7c3 fb2e bl 8055d8c break; 8092730: f001 bbf1 b.w 8093f16 case WaveMax_ALL: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092734: 4935 ldr r1, [pc, #212] ; (809280c ) 8092736: f04f 30ff mov.w r0, #4294967295 809273a: f7c2 fd67 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 809273e: 4b34 ldr r3, [pc, #208] ; (8092810 ) 8092740: 7b1b ldrb r3, [r3, #12] 8092742: b2db uxtb r3, r3 8092744: 461a mov r2, r3 8092746: 4b33 ldr r3, [pc, #204] ; (8092814 ) 8092748: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809274c: 461a mov r2, r3 809274e: 2127 movs r1, #39 ; 0x27 8092750: 200a movs r0, #10 8092752: f7c3 fb03 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092756: 492d ldr r1, [pc, #180] ; (809280c ) 8092758: 482f ldr r0, [pc, #188] ; (8092818 ) 809275a: f7c2 fd57 bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 809275e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092762: 461a mov r2, r3 8092764: 217a movs r1, #122 ; 0x7a 8092766: f44f 7082 mov.w r0, #260 ; 0x104 809276a: f7c3 fb0f bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 809276e: 4b28 ldr r3, [pc, #160] ; (8092810 ) 8092770: 7b1b ldrb r3, [r3, #12] 8092772: b2db uxtb r3, r3 8092774: 461a mov r2, r3 8092776: 4b26 ldr r3, [pc, #152] ; (8092810 ) 8092778: 7b9b ldrb r3, [r3, #14] 809277a: b2db uxtb r3, r3 809277c: 4618 mov r0, r3 809277e: 4927 ldr r1, [pc, #156] ; (809281c ) 8092780: 4613 mov r3, r2 8092782: 009b lsls r3, r3, #2 8092784: 4413 add r3, r2 8092786: 005b lsls r3, r3, #1 8092788: 4413 add r3, r2 809278a: 4403 add r3, r0 809278c: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8092790: 461a mov r2, r3 8092792: 218a movs r1, #138 ; 0x8a 8092794: f44f 7082 mov.w r0, #260 ; 0x104 8092798: f7c3 faf8 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809279c: 491b ldr r1, [pc, #108] ; (809280c ) 809279e: f04f 30ff mov.w r0, #4294967295 80927a2: f7c2 fd33 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 80927a6: 230a movs r3, #10 80927a8: 220a movs r2, #10 80927aa: 219d movs r1, #157 ; 0x9d 80927ac: 20ff movs r0, #255 ; 0xff 80927ae: f7c3 f9bb bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80927b2: 230a movs r3, #10 80927b4: 220a movs r2, #10 80927b6: 21bd movs r1, #189 ; 0xbd 80927b8: 20ff movs r0, #255 ; 0xff 80927ba: f7c3 f9b5 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 80927be: 230a movs r3, #10 80927c0: 220a movs r2, #10 80927c2: 216d movs r1, #109 ; 0x6d 80927c4: 20ff movs r0, #255 ; 0xff 80927c6: f7c3 f9af bl 8055b28 if(pardata.THR & 0x80) 80927ca: 4b11 ldr r3, [pc, #68] ; (8092810 ) 80927cc: 7bdb ldrb r3, [r3, #15] 80927ce: b2db uxtb r3, r3 80927d0: b25b sxtb r3, r3 80927d2: 2b00 cmp r3, #0 80927d4: da26 bge.n 8092824 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80927d6: 490d ldr r1, [pc, #52] ; (809280c ) 80927d8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80927dc: f7c2 fd16 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80927e0: f507 73c0 add.w r3, r7, #384 ; 0x180 80927e4: 461a mov r2, r3 80927e6: 21aa movs r1, #170 ; 0xaa 80927e8: f44f 7082 mov.w r0, #260 ; 0x104 80927ec: f7c3 face bl 8055d8c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80927f0: 4906 ldr r1, [pc, #24] ; (809280c ) 80927f2: 4809 ldr r0, [pc, #36] ; (8092818 ) 80927f4: f7c2 fd0a bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80927f8: f507 73c6 add.w r3, r7, #396 ; 0x18c 80927fc: 461a mov r2, r3 80927fe: 21ca movs r1, #202 ; 0xca 8092800: f44f 7082 mov.w r0, #260 ; 0x104 8092804: f7c3 fac2 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_12, strThr); LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); LCD_DisplayStringC(260, LCD_LINE_10, strMax); } break; 8092808: f001 bb85 b.w 8093f16 809280c: ff0a0f1f .word 0xff0a0f1f 8092810: 20023eb8 .word 0x20023eb8 8092814: 200205cc .word 0x200205cc 8092818: ffd8aa57 .word 0xffd8aa57 809281c: 2002033c .word 0x2002033c 8092820: ff808080 .word 0xff808080 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8092824: 49bb ldr r1, [pc, #748] ; (8092b14 ) 8092826: 48bc ldr r0, [pc, #752] ; (8092b18 ) 8092828: f7c2 fcf0 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 809282c: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092830: 461a mov r2, r3 8092832: 21ca movs r1, #202 ; 0xca 8092834: f44f 7082 mov.w r0, #260 ; 0x104 8092838: f7c3 faa8 bl 8055d8c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809283c: 49b5 ldr r1, [pc, #724] ; (8092b14 ) 809283e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8092842: f7c2 fce3 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8092846: f507 73c0 add.w r3, r7, #384 ; 0x180 809284a: 461a mov r2, r3 809284c: 21aa movs r1, #170 ; 0xaa 809284e: f44f 7082 mov.w r0, #260 ; 0x104 8092852: f7c3 fa9b bl 8055d8c break; 8092856: f001 bb5e b.w 8093f16 case WaveThr_ALL: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809285a: 49ae ldr r1, [pc, #696] ; (8092b14 ) 809285c: f04f 30ff mov.w r0, #4294967295 8092860: f7c2 fcd4 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8092864: 4bad ldr r3, [pc, #692] ; (8092b1c ) 8092866: 7b1b ldrb r3, [r3, #12] 8092868: b2db uxtb r3, r3 809286a: 461a mov r2, r3 809286c: 4bac ldr r3, [pc, #688] ; (8092b20 ) 809286e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092872: 461a mov r2, r3 8092874: 2127 movs r1, #39 ; 0x27 8092876: 200a movs r0, #10 8092878: f7c3 fa70 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809287c: 49a5 ldr r1, [pc, #660] ; (8092b14 ) 809287e: 48a9 ldr r0, [pc, #676] ; (8092b24 ) 8092880: f7c2 fcc4 bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 8092884: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092888: 461a mov r2, r3 809288a: 217a movs r1, #122 ; 0x7a 809288c: f44f 7082 mov.w r0, #260 ; 0x104 8092890: f7c3 fa7c bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8092894: 4ba1 ldr r3, [pc, #644] ; (8092b1c ) 8092896: 7b1b ldrb r3, [r3, #12] 8092898: b2db uxtb r3, r3 809289a: 461a mov r2, r3 809289c: 4b9f ldr r3, [pc, #636] ; (8092b1c ) 809289e: 7b9b ldrb r3, [r3, #14] 80928a0: b2db uxtb r3, r3 80928a2: 4618 mov r0, r3 80928a4: 49a0 ldr r1, [pc, #640] ; (8092b28 ) 80928a6: 4613 mov r3, r2 80928a8: 009b lsls r3, r3, #2 80928aa: 4413 add r3, r2 80928ac: 005b lsls r3, r3, #1 80928ae: 4413 add r3, r2 80928b0: 4403 add r3, r0 80928b2: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80928b6: 461a mov r2, r3 80928b8: 218a movs r1, #138 ; 0x8a 80928ba: f44f 7082 mov.w r0, #260 ; 0x104 80928be: f7c3 fa65 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80928c2: 4994 ldr r1, [pc, #592] ; (8092b14 ) 80928c4: f04f 30ff mov.w r0, #4294967295 80928c8: f7c2 fca0 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 80928cc: 230a movs r3, #10 80928ce: 220a movs r2, #10 80928d0: 219d movs r1, #157 ; 0x9d 80928d2: 20ff movs r0, #255 ; 0xff 80928d4: f7c3 f928 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80928d8: 230a movs r3, #10 80928da: 220a movs r2, #10 80928dc: 21bd movs r1, #189 ; 0xbd 80928de: 20ff movs r0, #255 ; 0xff 80928e0: f7c3 f922 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 80928e4: 230a movs r3, #10 80928e6: 220a movs r2, #10 80928e8: 216d movs r1, #109 ; 0x6d 80928ea: 20ff movs r0, #255 ; 0xff 80928ec: f7c3 f91c bl 8055b28 if(pardata.THR & 0x80) 80928f0: 4b8a ldr r3, [pc, #552] ; (8092b1c ) 80928f2: 7bdb ldrb r3, [r3, #15] 80928f4: b2db uxtb r3, r3 80928f6: b25b sxtb r3, r3 80928f8: 2b00 cmp r3, #0 80928fa: da1a bge.n 8092932 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80928fc: 4985 ldr r1, [pc, #532] ; (8092b14 ) 80928fe: 4889 ldr r0, [pc, #548] ; (8092b24 ) 8092900: f7c2 fc84 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8092904: f507 73c0 add.w r3, r7, #384 ; 0x180 8092908: 461a mov r2, r3 809290a: 21aa movs r1, #170 ; 0xaa 809290c: f44f 7082 mov.w r0, #260 ; 0x104 8092910: f7c3 fa3c bl 8055d8c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8092914: 497f ldr r1, [pc, #508] ; (8092b14 ) 8092916: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809291a: f7c2 fc77 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 809291e: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092922: 461a mov r2, r3 8092924: 21ca movs r1, #202 ; 0xca 8092926: f44f 7082 mov.w r0, #260 ; 0x104 809292a: f7c3 fa2f bl 8055d8c 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; 809292e: f001 baf2 b.w 8093f16 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8092932: 4978 ldr r1, [pc, #480] ; (8092b14 ) 8092934: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8092938: f7c2 fc68 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 809293c: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092940: 461a mov r2, r3 8092942: 21ca movs r1, #202 ; 0xca 8092944: f44f 7082 mov.w r0, #260 ; 0x104 8092948: f7c3 fa20 bl 8055d8c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 809294c: 4b73 ldr r3, [pc, #460] ; (8092b1c ) 809294e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8092952: f003 0304 and.w r3, r3, #4 8092956: 2b00 cmp r3, #0 8092958: d104 bne.n 8092964 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809295a: 496e ldr r1, [pc, #440] ; (8092b14 ) 809295c: 4871 ldr r0, [pc, #452] ; (8092b24 ) 809295e: f7c2 fc55 bl 805520c 8092962: e003 b.n 809296c else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8092964: 496b ldr r1, [pc, #428] ; (8092b14 ) 8092966: 486c ldr r0, [pc, #432] ; (8092b18 ) 8092968: f7c2 fc50 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 809296c: f507 73c0 add.w r3, r7, #384 ; 0x180 8092970: 461a mov r2, r3 8092972: 21aa movs r1, #170 ; 0xaa 8092974: f44f 7082 mov.w r0, #260 ; 0x104 8092978: f7c3 fa08 bl 8055d8c break; 809297c: f001 bacb b.w 8093f16 case WaveMax_IDT: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092980: 4964 ldr r1, [pc, #400] ; (8092b14 ) 8092982: f04f 30ff mov.w r0, #4294967295 8092986: f7c2 fc41 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 809298a: 4b64 ldr r3, [pc, #400] ; (8092b1c ) 809298c: 7b1b ldrb r3, [r3, #12] 809298e: b2db uxtb r3, r3 8092990: 461a mov r2, r3 8092992: 4b63 ldr r3, [pc, #396] ; (8092b20 ) 8092994: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092998: 461a mov r2, r3 809299a: 2127 movs r1, #39 ; 0x27 809299c: 200a movs r0, #10 809299e: f7c3 f9dd bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80929a2: 495c ldr r1, [pc, #368] ; (8092b14 ) 80929a4: 485f ldr r0, [pc, #380] ; (8092b24 ) 80929a6: f7c2 fc31 bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 80929aa: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80929ae: 461a mov r2, r3 80929b0: 217a movs r1, #122 ; 0x7a 80929b2: f44f 7082 mov.w r0, #260 ; 0x104 80929b6: f7c3 f9e9 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 80929ba: 4b58 ldr r3, [pc, #352] ; (8092b1c ) 80929bc: 7b1b ldrb r3, [r3, #12] 80929be: b2db uxtb r3, r3 80929c0: 461a mov r2, r3 80929c2: 4b56 ldr r3, [pc, #344] ; (8092b1c ) 80929c4: 7b9b ldrb r3, [r3, #14] 80929c6: b2db uxtb r3, r3 80929c8: 4618 mov r0, r3 80929ca: 4957 ldr r1, [pc, #348] ; (8092b28 ) 80929cc: 4613 mov r3, r2 80929ce: 009b lsls r3, r3, #2 80929d0: 4413 add r3, r2 80929d2: 005b lsls r3, r3, #1 80929d4: 4413 add r3, r2 80929d6: 4403 add r3, r0 80929d8: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80929dc: 461a mov r2, r3 80929de: 218a movs r1, #138 ; 0x8a 80929e0: f44f 7082 mov.w r0, #260 ; 0x104 80929e4: f7c3 f9d2 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80929e8: 494a ldr r1, [pc, #296] ; (8092b14 ) 80929ea: f04f 30ff mov.w r0, #4294967295 80929ee: f7c2 fc0d bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 80929f2: 230a movs r3, #10 80929f4: 220a movs r2, #10 80929f6: 219d movs r1, #157 ; 0x9d 80929f8: 20ff movs r0, #255 ; 0xff 80929fa: f7c3 f895 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80929fe: 230a movs r3, #10 8092a00: 220a movs r2, #10 8092a02: 21bd movs r1, #189 ; 0xbd 8092a04: 20ff movs r0, #255 ; 0xff 8092a06: f7c3 f88f bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8092a0a: 230a movs r3, #10 8092a0c: 220a movs r2, #10 8092a0e: 216d movs r1, #109 ; 0x6d 8092a10: 20ff movs r0, #255 ; 0xff 8092a12: f7c3 f889 bl 8055b28 if(pardata.THR & 0x80) 8092a16: 4b41 ldr r3, [pc, #260] ; (8092b1c ) 8092a18: 7bdb ldrb r3, [r3, #15] 8092a1a: b2db uxtb r3, r3 8092a1c: b25b sxtb r3, r3 8092a1e: 2b00 cmp r3, #0 8092a20: da0c bge.n 8092a3c { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092a22: 493c ldr r1, [pc, #240] ; (8092b14 ) 8092a24: 483f ldr r0, [pc, #252] ; (8092b24 ) 8092a26: f7c2 fbf1 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8092a2a: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092a2e: 461a mov r2, r3 8092a30: 21ca movs r1, #202 ; 0xca 8092a32: f44f 7082 mov.w r0, #260 ; 0x104 8092a36: f7c3 f9a9 bl 8055d8c 8092a3a: e00b b.n 8092a54 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8092a3c: 4935 ldr r1, [pc, #212] ; (8092b14 ) 8092a3e: 4836 ldr r0, [pc, #216] ; (8092b18 ) 8092a40: f7c2 fbe4 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8092a44: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092a48: 461a mov r2, r3 8092a4a: 21ca movs r1, #202 ; 0xca 8092a4c: f44f 7082 mov.w r0, #260 ; 0x104 8092a50: f7c3 f99c bl 8055d8c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8092a54: 492f ldr r1, [pc, #188] ; (8092b14 ) 8092a56: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8092a5a: f7c2 fbd7 bl 805520c if(blk) 8092a5e: 4b33 ldr r3, [pc, #204] ; (8092b2c ) 8092a60: 681b ldr r3, [r3, #0] 8092a62: 2b00 cmp r3, #0 8092a64: d00b beq.n 8092a7e LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8092a66: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8092a6a: b2db uxtb r3, r3 8092a6c: 461a mov r2, r3 8092a6e: 4b30 ldr r3, [pc, #192] ; (8092b30 ) 8092a70: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092a74: 461a mov r2, r3 8092a76: 21aa movs r1, #170 ; 0xaa 8092a78: 20c6 movs r0, #198 ; 0xc6 8092a7a: f7c3 f96f bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092a7e: 4925 ldr r1, [pc, #148] ; (8092b14 ) 8092a80: 4828 ldr r0, [pc, #160] ; (8092b24 ) 8092a82: f7c2 fbc3 bl 805520c LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8092a86: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8092a8a: b2db uxtb r3, r3 8092a8c: 461a mov r2, r3 8092a8e: 4b28 ldr r3, [pc, #160] ; (8092b30 ) 8092a90: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092a94: 461a mov r2, r3 8092a96: 21aa movs r1, #170 ; 0xaa 8092a98: 20d6 movs r0, #214 ; 0xd6 8092a9a: f7c3 f95f bl 8055d5c LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8092a9e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8092aa2: b2db uxtb r3, r3 8092aa4: 461a mov r2, r3 8092aa6: 4b22 ldr r3, [pc, #136] ; (8092b30 ) 8092aa8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092aac: 461a mov r2, r3 8092aae: 21aa movs r1, #170 ; 0xaa 8092ab0: 20e6 movs r0, #230 ; 0xe6 8092ab2: f7c3 f953 bl 8055d5c LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8092ab6: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8092aba: b2db uxtb r3, r3 8092abc: 461a mov r2, r3 8092abe: 4b1c ldr r3, [pc, #112] ; (8092b30 ) 8092ac0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092ac4: 461a mov r2, r3 8092ac6: 21aa movs r1, #170 ; 0xaa 8092ac8: 20f6 movs r0, #246 ; 0xf6 8092aca: f7c3 f947 bl 8055d5c LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8092ace: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8092ad2: b2db uxtb r3, r3 8092ad4: 461a mov r2, r3 8092ad6: 4b16 ldr r3, [pc, #88] ; (8092b30 ) 8092ad8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092adc: 461a mov r2, r3 8092ade: 21aa movs r1, #170 ; 0xaa 8092ae0: f44f 7083 mov.w r0, #262 ; 0x106 8092ae4: f7c3 f93a bl 8055d5c LCD_DisplayString(278, LCD_LINE_10, "."); 8092ae8: 4a12 ldr r2, [pc, #72] ; (8092b34 ) 8092aea: 21aa movs r1, #170 ; 0xaa 8092aec: f44f 708b mov.w r0, #278 ; 0x116 8092af0: f7c3 f934 bl 8055d5c LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8092af4: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8092af8: b2db uxtb r3, r3 8092afa: 461a mov r2, r3 8092afc: 4b0c ldr r3, [pc, #48] ; (8092b30 ) 8092afe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092b02: 461a mov r2, r3 8092b04: 21aa movs r1, #170 ; 0xaa 8092b06: f44f 7093 mov.w r0, #294 ; 0x126 8092b0a: f7c3 f927 bl 8055d5c break; 8092b0e: f001 ba02 b.w 8093f16 8092b12: bf00 nop 8092b14: ff0a0f1f .word 0xff0a0f1f 8092b18: ff808080 .word 0xff808080 8092b1c: 20023eb8 .word 0x20023eb8 8092b20: 200205cc .word 0x200205cc 8092b24: ffd8aa57 .word 0xffd8aa57 8092b28: 2002033c .word 0x2002033c 8092b2c: 200216ac .word 0x200216ac 8092b30: 2002096c .word 0x2002096c 8092b34: 080d6258 .word 0x080d6258 case WaveMax_IET: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092b38: 49c8 ldr r1, [pc, #800] ; (8092e5c ) 8092b3a: f04f 30ff mov.w r0, #4294967295 8092b3e: f7c2 fb65 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8092b42: 4bc7 ldr r3, [pc, #796] ; (8092e60 ) 8092b44: 7b1b ldrb r3, [r3, #12] 8092b46: b2db uxtb r3, r3 8092b48: 461a mov r2, r3 8092b4a: 4bc6 ldr r3, [pc, #792] ; (8092e64 ) 8092b4c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092b50: 461a mov r2, r3 8092b52: 2127 movs r1, #39 ; 0x27 8092b54: 200a movs r0, #10 8092b56: f7c3 f901 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092b5a: 49c0 ldr r1, [pc, #768] ; (8092e5c ) 8092b5c: 48c2 ldr r0, [pc, #776] ; (8092e68 ) 8092b5e: f7c2 fb55 bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 8092b62: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092b66: 461a mov r2, r3 8092b68: 217a movs r1, #122 ; 0x7a 8092b6a: f44f 7082 mov.w r0, #260 ; 0x104 8092b6e: f7c3 f90d bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8092b72: 4bbb ldr r3, [pc, #748] ; (8092e60 ) 8092b74: 7b1b ldrb r3, [r3, #12] 8092b76: b2db uxtb r3, r3 8092b78: 461a mov r2, r3 8092b7a: 4bb9 ldr r3, [pc, #740] ; (8092e60 ) 8092b7c: 7b9b ldrb r3, [r3, #14] 8092b7e: b2db uxtb r3, r3 8092b80: 4618 mov r0, r3 8092b82: 49ba ldr r1, [pc, #744] ; (8092e6c ) 8092b84: 4613 mov r3, r2 8092b86: 009b lsls r3, r3, #2 8092b88: 4413 add r3, r2 8092b8a: 005b lsls r3, r3, #1 8092b8c: 4413 add r3, r2 8092b8e: 4403 add r3, r0 8092b90: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8092b94: 461a mov r2, r3 8092b96: 218a movs r1, #138 ; 0x8a 8092b98: f44f 7082 mov.w r0, #260 ; 0x104 8092b9c: f7c3 f8f6 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092ba0: 49ae ldr r1, [pc, #696] ; (8092e5c ) 8092ba2: f04f 30ff mov.w r0, #4294967295 8092ba6: f7c2 fb31 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8092baa: 230a movs r3, #10 8092bac: 220a movs r2, #10 8092bae: 219d movs r1, #157 ; 0x9d 8092bb0: 20ff movs r0, #255 ; 0xff 8092bb2: f7c2 ffb9 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8092bb6: 230a movs r3, #10 8092bb8: 220a movs r2, #10 8092bba: 21bd movs r1, #189 ; 0xbd 8092bbc: 20ff movs r0, #255 ; 0xff 8092bbe: f7c2 ffb3 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8092bc2: 230a movs r3, #10 8092bc4: 220a movs r2, #10 8092bc6: 216d movs r1, #109 ; 0x6d 8092bc8: 20ff movs r0, #255 ; 0xff 8092bca: f7c2 ffad bl 8055b28 if(pardata.THR & 0x80) 8092bce: 4ba4 ldr r3, [pc, #656] ; (8092e60 ) 8092bd0: 7bdb ldrb r3, [r3, #15] 8092bd2: b2db uxtb r3, r3 8092bd4: b25b sxtb r3, r3 8092bd6: 2b00 cmp r3, #0 8092bd8: da0c bge.n 8092bf4 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092bda: 49a0 ldr r1, [pc, #640] ; (8092e5c ) 8092bdc: 48a2 ldr r0, [pc, #648] ; (8092e68 ) 8092bde: f7c2 fb15 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8092be2: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092be6: 461a mov r2, r3 8092be8: 21ca movs r1, #202 ; 0xca 8092bea: f44f 7082 mov.w r0, #260 ; 0x104 8092bee: f7c3 f8cd bl 8055d8c 8092bf2: e00b b.n 8092c0c } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8092bf4: 4999 ldr r1, [pc, #612] ; (8092e5c ) 8092bf6: 489e ldr r0, [pc, #632] ; (8092e70 ) 8092bf8: f7c2 fb08 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8092bfc: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092c00: 461a mov r2, r3 8092c02: 21ca movs r1, #202 ; 0xca 8092c04: f44f 7082 mov.w r0, #260 ; 0x104 8092c08: f7c3 f8c0 bl 8055d8c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8092c0c: 4993 ldr r1, [pc, #588] ; (8092e5c ) 8092c0e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8092c12: f7c2 fafb bl 805520c if(blk) 8092c16: 4b97 ldr r3, [pc, #604] ; (8092e74 ) 8092c18: 681b ldr r3, [r3, #0] 8092c1a: 2b00 cmp r3, #0 8092c1c: d00b beq.n 8092c36 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8092c1e: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8092c22: b2db uxtb r3, r3 8092c24: 461a mov r2, r3 8092c26: 4b94 ldr r3, [pc, #592] ; (8092e78 ) 8092c28: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092c2c: 461a mov r2, r3 8092c2e: 21aa movs r1, #170 ; 0xaa 8092c30: 20d6 movs r0, #214 ; 0xd6 8092c32: f7c3 f893 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092c36: 4989 ldr r1, [pc, #548] ; (8092e5c ) 8092c38: 488b ldr r0, [pc, #556] ; (8092e68 ) 8092c3a: f7c2 fae7 bl 805520c LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8092c3e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8092c42: b2db uxtb r3, r3 8092c44: 461a mov r2, r3 8092c46: 4b8c ldr r3, [pc, #560] ; (8092e78 ) 8092c48: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092c4c: 461a mov r2, r3 8092c4e: 21aa movs r1, #170 ; 0xaa 8092c50: 20c6 movs r0, #198 ; 0xc6 8092c52: f7c3 f883 bl 8055d5c LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8092c56: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8092c5a: b2db uxtb r3, r3 8092c5c: 461a mov r2, r3 8092c5e: 4b86 ldr r3, [pc, #536] ; (8092e78 ) 8092c60: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092c64: 461a mov r2, r3 8092c66: 21aa movs r1, #170 ; 0xaa 8092c68: 20e6 movs r0, #230 ; 0xe6 8092c6a: f7c3 f877 bl 8055d5c LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8092c6e: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8092c72: b2db uxtb r3, r3 8092c74: 461a mov r2, r3 8092c76: 4b80 ldr r3, [pc, #512] ; (8092e78 ) 8092c78: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092c7c: 461a mov r2, r3 8092c7e: 21aa movs r1, #170 ; 0xaa 8092c80: 20f6 movs r0, #246 ; 0xf6 8092c82: f7c3 f86b bl 8055d5c LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8092c86: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8092c8a: b2db uxtb r3, r3 8092c8c: 461a mov r2, r3 8092c8e: 4b7a ldr r3, [pc, #488] ; (8092e78 ) 8092c90: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092c94: 461a mov r2, r3 8092c96: 21aa movs r1, #170 ; 0xaa 8092c98: f44f 7083 mov.w r0, #262 ; 0x106 8092c9c: f7c3 f85e bl 8055d5c LCD_DisplayString(278, LCD_LINE_10, "."); 8092ca0: 4a76 ldr r2, [pc, #472] ; (8092e7c ) 8092ca2: 21aa movs r1, #170 ; 0xaa 8092ca4: f44f 708b mov.w r0, #278 ; 0x116 8092ca8: f7c3 f858 bl 8055d5c LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8092cac: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8092cb0: b2db uxtb r3, r3 8092cb2: 461a mov r2, r3 8092cb4: 4b70 ldr r3, [pc, #448] ; (8092e78 ) 8092cb6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092cba: 461a mov r2, r3 8092cbc: 21aa movs r1, #170 ; 0xaa 8092cbe: f44f 7093 mov.w r0, #294 ; 0x126 8092cc2: f7c3 f84b bl 8055d5c break; 8092cc6: f001 b926 b.w 8093f16 case WaveMax_IES: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092cca: 4964 ldr r1, [pc, #400] ; (8092e5c ) 8092ccc: f04f 30ff mov.w r0, #4294967295 8092cd0: f7c2 fa9c bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8092cd4: 4b62 ldr r3, [pc, #392] ; (8092e60 ) 8092cd6: 7b1b ldrb r3, [r3, #12] 8092cd8: b2db uxtb r3, r3 8092cda: 461a mov r2, r3 8092cdc: 4b61 ldr r3, [pc, #388] ; (8092e64 ) 8092cde: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092ce2: 461a mov r2, r3 8092ce4: 2127 movs r1, #39 ; 0x27 8092ce6: 200a movs r0, #10 8092ce8: f7c3 f838 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092cec: 495b ldr r1, [pc, #364] ; (8092e5c ) 8092cee: 485e ldr r0, [pc, #376] ; (8092e68 ) 8092cf0: f7c2 fa8c bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 8092cf4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092cf8: 461a mov r2, r3 8092cfa: 217a movs r1, #122 ; 0x7a 8092cfc: f44f 7082 mov.w r0, #260 ; 0x104 8092d00: f7c3 f844 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8092d04: 4b56 ldr r3, [pc, #344] ; (8092e60 ) 8092d06: 7b1b ldrb r3, [r3, #12] 8092d08: b2db uxtb r3, r3 8092d0a: 461a mov r2, r3 8092d0c: 4b54 ldr r3, [pc, #336] ; (8092e60 ) 8092d0e: 7b9b ldrb r3, [r3, #14] 8092d10: b2db uxtb r3, r3 8092d12: 4618 mov r0, r3 8092d14: 4955 ldr r1, [pc, #340] ; (8092e6c ) 8092d16: 4613 mov r3, r2 8092d18: 009b lsls r3, r3, #2 8092d1a: 4413 add r3, r2 8092d1c: 005b lsls r3, r3, #1 8092d1e: 4413 add r3, r2 8092d20: 4403 add r3, r0 8092d22: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8092d26: 461a mov r2, r3 8092d28: 218a movs r1, #138 ; 0x8a 8092d2a: f44f 7082 mov.w r0, #260 ; 0x104 8092d2e: f7c3 f82d bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092d32: 494a ldr r1, [pc, #296] ; (8092e5c ) 8092d34: f04f 30ff mov.w r0, #4294967295 8092d38: f7c2 fa68 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8092d3c: 230a movs r3, #10 8092d3e: 220a movs r2, #10 8092d40: 219d movs r1, #157 ; 0x9d 8092d42: 20ff movs r0, #255 ; 0xff 8092d44: f7c2 fef0 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8092d48: 230a movs r3, #10 8092d4a: 220a movs r2, #10 8092d4c: 21bd movs r1, #189 ; 0xbd 8092d4e: 20ff movs r0, #255 ; 0xff 8092d50: f7c2 feea bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8092d54: 230a movs r3, #10 8092d56: 220a movs r2, #10 8092d58: 216d movs r1, #109 ; 0x6d 8092d5a: 20ff movs r0, #255 ; 0xff 8092d5c: f7c2 fee4 bl 8055b28 if(pardata.THR & 0x80) 8092d60: 4b3f ldr r3, [pc, #252] ; (8092e60 ) 8092d62: 7bdb ldrb r3, [r3, #15] 8092d64: b2db uxtb r3, r3 8092d66: b25b sxtb r3, r3 8092d68: 2b00 cmp r3, #0 8092d6a: da0c bge.n 8092d86 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092d6c: 493b ldr r1, [pc, #236] ; (8092e5c ) 8092d6e: 483e ldr r0, [pc, #248] ; (8092e68 ) 8092d70: f7c2 fa4c bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8092d74: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092d78: 461a mov r2, r3 8092d7a: 21ca movs r1, #202 ; 0xca 8092d7c: f44f 7082 mov.w r0, #260 ; 0x104 8092d80: f7c3 f804 bl 8055d8c 8092d84: e00b b.n 8092d9e } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8092d86: 4935 ldr r1, [pc, #212] ; (8092e5c ) 8092d88: 4839 ldr r0, [pc, #228] ; (8092e70 ) 8092d8a: f7c2 fa3f bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8092d8e: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092d92: 461a mov r2, r3 8092d94: 21ca movs r1, #202 ; 0xca 8092d96: f44f 7082 mov.w r0, #260 ; 0x104 8092d9a: f7c2 fff7 bl 8055d8c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8092d9e: 492f ldr r1, [pc, #188] ; (8092e5c ) 8092da0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8092da4: f7c2 fa32 bl 805520c if(blk) 8092da8: 4b32 ldr r3, [pc, #200] ; (8092e74 ) 8092daa: 681b ldr r3, [r3, #0] 8092dac: 2b00 cmp r3, #0 8092dae: d00b beq.n 8092dc8 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8092db0: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8092db4: b2db uxtb r3, r3 8092db6: 461a mov r2, r3 8092db8: 4b2f ldr r3, [pc, #188] ; (8092e78 ) 8092dba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092dbe: 461a mov r2, r3 8092dc0: 21aa movs r1, #170 ; 0xaa 8092dc2: 20e6 movs r0, #230 ; 0xe6 8092dc4: f7c2 ffca bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092dc8: 4924 ldr r1, [pc, #144] ; (8092e5c ) 8092dca: 4827 ldr r0, [pc, #156] ; (8092e68 ) 8092dcc: f7c2 fa1e bl 805520c LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8092dd0: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8092dd4: b2db uxtb r3, r3 8092dd6: 461a mov r2, r3 8092dd8: 4b27 ldr r3, [pc, #156] ; (8092e78 ) 8092dda: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092dde: 461a mov r2, r3 8092de0: 21aa movs r1, #170 ; 0xaa 8092de2: 20c6 movs r0, #198 ; 0xc6 8092de4: f7c2 ffba bl 8055d5c LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8092de8: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8092dec: b2db uxtb r3, r3 8092dee: 461a mov r2, r3 8092df0: 4b21 ldr r3, [pc, #132] ; (8092e78 ) 8092df2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092df6: 461a mov r2, r3 8092df8: 21aa movs r1, #170 ; 0xaa 8092dfa: 20d6 movs r0, #214 ; 0xd6 8092dfc: f7c2 ffae bl 8055d5c LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8092e00: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8092e04: b2db uxtb r3, r3 8092e06: 461a mov r2, r3 8092e08: 4b1b ldr r3, [pc, #108] ; (8092e78 ) 8092e0a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092e0e: 461a mov r2, r3 8092e10: 21aa movs r1, #170 ; 0xaa 8092e12: 20f6 movs r0, #246 ; 0xf6 8092e14: f7c2 ffa2 bl 8055d5c LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8092e18: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8092e1c: b2db uxtb r3, r3 8092e1e: 461a mov r2, r3 8092e20: 4b15 ldr r3, [pc, #84] ; (8092e78 ) 8092e22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092e26: 461a mov r2, r3 8092e28: 21aa movs r1, #170 ; 0xaa 8092e2a: f44f 7083 mov.w r0, #262 ; 0x106 8092e2e: f7c2 ff95 bl 8055d5c LCD_DisplayString(278, LCD_LINE_10, "."); 8092e32: 4a12 ldr r2, [pc, #72] ; (8092e7c ) 8092e34: 21aa movs r1, #170 ; 0xaa 8092e36: f44f 708b mov.w r0, #278 ; 0x116 8092e3a: f7c2 ff8f bl 8055d5c LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8092e3e: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8092e42: b2db uxtb r3, r3 8092e44: 461a mov r2, r3 8092e46: 4b0c ldr r3, [pc, #48] ; (8092e78 ) 8092e48: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092e4c: 461a mov r2, r3 8092e4e: 21aa movs r1, #170 ; 0xaa 8092e50: f44f 7093 mov.w r0, #294 ; 0x126 8092e54: f7c2 ff82 bl 8055d5c break; 8092e58: f001 b85d b.w 8093f16 8092e5c: ff0a0f1f .word 0xff0a0f1f 8092e60: 20023eb8 .word 0x20023eb8 8092e64: 200205cc .word 0x200205cc 8092e68: ffd8aa57 .word 0xffd8aa57 8092e6c: 2002033c .word 0x2002033c 8092e70: ff808080 .word 0xff808080 8092e74: 200216ac .word 0x200216ac 8092e78: 2002096c .word 0x2002096c 8092e7c: 080d6258 .word 0x080d6258 case WaveMax_IED: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092e80: 49c8 ldr r1, [pc, #800] ; (80931a4 ) 8092e82: f04f 30ff mov.w r0, #4294967295 8092e86: f7c2 f9c1 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8092e8a: 4bc7 ldr r3, [pc, #796] ; (80931a8 ) 8092e8c: 7b1b ldrb r3, [r3, #12] 8092e8e: b2db uxtb r3, r3 8092e90: 461a mov r2, r3 8092e92: 4bc6 ldr r3, [pc, #792] ; (80931ac ) 8092e94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092e98: 461a mov r2, r3 8092e9a: 2127 movs r1, #39 ; 0x27 8092e9c: 200a movs r0, #10 8092e9e: f7c2 ff5d bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092ea2: 49c0 ldr r1, [pc, #768] ; (80931a4 ) 8092ea4: 48c2 ldr r0, [pc, #776] ; (80931b0 ) 8092ea6: f7c2 f9b1 bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 8092eaa: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092eae: 461a mov r2, r3 8092eb0: 217a movs r1, #122 ; 0x7a 8092eb2: f44f 7082 mov.w r0, #260 ; 0x104 8092eb6: f7c2 ff69 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8092eba: 4bbb ldr r3, [pc, #748] ; (80931a8 ) 8092ebc: 7b1b ldrb r3, [r3, #12] 8092ebe: b2db uxtb r3, r3 8092ec0: 461a mov r2, r3 8092ec2: 4bb9 ldr r3, [pc, #740] ; (80931a8 ) 8092ec4: 7b9b ldrb r3, [r3, #14] 8092ec6: b2db uxtb r3, r3 8092ec8: 4618 mov r0, r3 8092eca: 49ba ldr r1, [pc, #744] ; (80931b4 ) 8092ecc: 4613 mov r3, r2 8092ece: 009b lsls r3, r3, #2 8092ed0: 4413 add r3, r2 8092ed2: 005b lsls r3, r3, #1 8092ed4: 4413 add r3, r2 8092ed6: 4403 add r3, r0 8092ed8: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8092edc: 461a mov r2, r3 8092ede: 218a movs r1, #138 ; 0x8a 8092ee0: f44f 7082 mov.w r0, #260 ; 0x104 8092ee4: f7c2 ff52 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092ee8: 49ae ldr r1, [pc, #696] ; (80931a4 ) 8092eea: f04f 30ff mov.w r0, #4294967295 8092eee: f7c2 f98d bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8092ef2: 230a movs r3, #10 8092ef4: 220a movs r2, #10 8092ef6: 219d movs r1, #157 ; 0x9d 8092ef8: 20ff movs r0, #255 ; 0xff 8092efa: f7c2 fe15 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8092efe: 230a movs r3, #10 8092f00: 220a movs r2, #10 8092f02: 21bd movs r1, #189 ; 0xbd 8092f04: 20ff movs r0, #255 ; 0xff 8092f06: f7c2 fe0f bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8092f0a: 230a movs r3, #10 8092f0c: 220a movs r2, #10 8092f0e: 216d movs r1, #109 ; 0x6d 8092f10: 20ff movs r0, #255 ; 0xff 8092f12: f7c2 fe09 bl 8055b28 if(pardata.THR & 0x80) 8092f16: 4ba4 ldr r3, [pc, #656] ; (80931a8 ) 8092f18: 7bdb ldrb r3, [r3, #15] 8092f1a: b2db uxtb r3, r3 8092f1c: b25b sxtb r3, r3 8092f1e: 2b00 cmp r3, #0 8092f20: da0c bge.n 8092f3c { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092f22: 49a0 ldr r1, [pc, #640] ; (80931a4 ) 8092f24: 48a2 ldr r0, [pc, #648] ; (80931b0 ) 8092f26: f7c2 f971 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8092f2a: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092f2e: 461a mov r2, r3 8092f30: 21ca movs r1, #202 ; 0xca 8092f32: f44f 7082 mov.w r0, #260 ; 0x104 8092f36: f7c2 ff29 bl 8055d8c 8092f3a: e00b b.n 8092f54 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8092f3c: 4999 ldr r1, [pc, #612] ; (80931a4 ) 8092f3e: 489e ldr r0, [pc, #632] ; (80931b8 ) 8092f40: f7c2 f964 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8092f44: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092f48: 461a mov r2, r3 8092f4a: 21ca movs r1, #202 ; 0xca 8092f4c: f44f 7082 mov.w r0, #260 ; 0x104 8092f50: f7c2 ff1c bl 8055d8c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8092f54: 4993 ldr r1, [pc, #588] ; (80931a4 ) 8092f56: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8092f5a: f7c2 f957 bl 805520c if(blk) 8092f5e: 4b97 ldr r3, [pc, #604] ; (80931bc ) 8092f60: 681b ldr r3, [r3, #0] 8092f62: 2b00 cmp r3, #0 8092f64: d00b beq.n 8092f7e LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8092f66: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8092f6a: b2db uxtb r3, r3 8092f6c: 461a mov r2, r3 8092f6e: 4b94 ldr r3, [pc, #592] ; (80931c0 ) 8092f70: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092f74: 461a mov r2, r3 8092f76: 21aa movs r1, #170 ; 0xaa 8092f78: 20f6 movs r0, #246 ; 0xf6 8092f7a: f7c2 feef bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092f7e: 4989 ldr r1, [pc, #548] ; (80931a4 ) 8092f80: 488b ldr r0, [pc, #556] ; (80931b0 ) 8092f82: f7c2 f943 bl 805520c LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8092f86: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8092f8a: b2db uxtb r3, r3 8092f8c: 461a mov r2, r3 8092f8e: 4b8c ldr r3, [pc, #560] ; (80931c0 ) 8092f90: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092f94: 461a mov r2, r3 8092f96: 21aa movs r1, #170 ; 0xaa 8092f98: 20c6 movs r0, #198 ; 0xc6 8092f9a: f7c2 fedf bl 8055d5c LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8092f9e: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8092fa2: b2db uxtb r3, r3 8092fa4: 461a mov r2, r3 8092fa6: 4b86 ldr r3, [pc, #536] ; (80931c0 ) 8092fa8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092fac: 461a mov r2, r3 8092fae: 21aa movs r1, #170 ; 0xaa 8092fb0: 20d6 movs r0, #214 ; 0xd6 8092fb2: f7c2 fed3 bl 8055d5c LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8092fb6: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8092fba: b2db uxtb r3, r3 8092fbc: 461a mov r2, r3 8092fbe: 4b80 ldr r3, [pc, #512] ; (80931c0 ) 8092fc0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092fc4: 461a mov r2, r3 8092fc6: 21aa movs r1, #170 ; 0xaa 8092fc8: 20e6 movs r0, #230 ; 0xe6 8092fca: f7c2 fec7 bl 8055d5c LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8092fce: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8092fd2: b2db uxtb r3, r3 8092fd4: 461a mov r2, r3 8092fd6: 4b7a ldr r3, [pc, #488] ; (80931c0 ) 8092fd8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092fdc: 461a mov r2, r3 8092fde: 21aa movs r1, #170 ; 0xaa 8092fe0: f44f 7083 mov.w r0, #262 ; 0x106 8092fe4: f7c2 feba bl 8055d5c LCD_DisplayString(278, LCD_LINE_10, "."); 8092fe8: 4a76 ldr r2, [pc, #472] ; (80931c4 ) 8092fea: 21aa movs r1, #170 ; 0xaa 8092fec: f44f 708b mov.w r0, #278 ; 0x116 8092ff0: f7c2 feb4 bl 8055d5c LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8092ff4: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8092ff8: b2db uxtb r3, r3 8092ffa: 461a mov r2, r3 8092ffc: 4b70 ldr r3, [pc, #448] ; (80931c0 ) 8092ffe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093002: 461a mov r2, r3 8093004: 21aa movs r1, #170 ; 0xaa 8093006: f44f 7093 mov.w r0, #294 ; 0x126 809300a: f7c2 fea7 bl 8055d5c break; 809300e: f000 bf82 b.w 8093f16 case WaveMax_IEE: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093012: 4964 ldr r1, [pc, #400] ; (80931a4 ) 8093014: f04f 30ff mov.w r0, #4294967295 8093018: f7c2 f8f8 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 809301c: 4b62 ldr r3, [pc, #392] ; (80931a8 ) 809301e: 7b1b ldrb r3, [r3, #12] 8093020: b2db uxtb r3, r3 8093022: 461a mov r2, r3 8093024: 4b61 ldr r3, [pc, #388] ; (80931ac ) 8093026: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809302a: 461a mov r2, r3 809302c: 2127 movs r1, #39 ; 0x27 809302e: 200a movs r0, #10 8093030: f7c2 fe94 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8093034: 495b ldr r1, [pc, #364] ; (80931a4 ) 8093036: 485e ldr r0, [pc, #376] ; (80931b0 ) 8093038: f7c2 f8e8 bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 809303c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093040: 461a mov r2, r3 8093042: 217a movs r1, #122 ; 0x7a 8093044: f44f 7082 mov.w r0, #260 ; 0x104 8093048: f7c2 fea0 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 809304c: 4b56 ldr r3, [pc, #344] ; (80931a8 ) 809304e: 7b1b ldrb r3, [r3, #12] 8093050: b2db uxtb r3, r3 8093052: 461a mov r2, r3 8093054: 4b54 ldr r3, [pc, #336] ; (80931a8 ) 8093056: 7b9b ldrb r3, [r3, #14] 8093058: b2db uxtb r3, r3 809305a: 4618 mov r0, r3 809305c: 4955 ldr r1, [pc, #340] ; (80931b4 ) 809305e: 4613 mov r3, r2 8093060: 009b lsls r3, r3, #2 8093062: 4413 add r3, r2 8093064: 005b lsls r3, r3, #1 8093066: 4413 add r3, r2 8093068: 4403 add r3, r0 809306a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 809306e: 461a mov r2, r3 8093070: 218a movs r1, #138 ; 0x8a 8093072: f44f 7082 mov.w r0, #260 ; 0x104 8093076: f7c2 fe89 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809307a: 494a ldr r1, [pc, #296] ; (80931a4 ) 809307c: f04f 30ff mov.w r0, #4294967295 8093080: f7c2 f8c4 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8093084: 230a movs r3, #10 8093086: 220a movs r2, #10 8093088: 219d movs r1, #157 ; 0x9d 809308a: 20ff movs r0, #255 ; 0xff 809308c: f7c2 fd4c bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8093090: 230a movs r3, #10 8093092: 220a movs r2, #10 8093094: 21bd movs r1, #189 ; 0xbd 8093096: 20ff movs r0, #255 ; 0xff 8093098: f7c2 fd46 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 809309c: 230a movs r3, #10 809309e: 220a movs r2, #10 80930a0: 216d movs r1, #109 ; 0x6d 80930a2: 20ff movs r0, #255 ; 0xff 80930a4: f7c2 fd40 bl 8055b28 if(pardata.THR & 0x80) 80930a8: 4b3f ldr r3, [pc, #252] ; (80931a8 ) 80930aa: 7bdb ldrb r3, [r3, #15] 80930ac: b2db uxtb r3, r3 80930ae: b25b sxtb r3, r3 80930b0: 2b00 cmp r3, #0 80930b2: da0c bge.n 80930ce { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80930b4: 493b ldr r1, [pc, #236] ; (80931a4 ) 80930b6: 483e ldr r0, [pc, #248] ; (80931b0 ) 80930b8: f7c2 f8a8 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80930bc: f507 73c6 add.w r3, r7, #396 ; 0x18c 80930c0: 461a mov r2, r3 80930c2: 21ca movs r1, #202 ; 0xca 80930c4: f44f 7082 mov.w r0, #260 ; 0x104 80930c8: f7c2 fe60 bl 8055d8c 80930cc: e00b b.n 80930e6 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80930ce: 4935 ldr r1, [pc, #212] ; (80931a4 ) 80930d0: 4839 ldr r0, [pc, #228] ; (80931b8 ) 80930d2: f7c2 f89b bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80930d6: f507 73c6 add.w r3, r7, #396 ; 0x18c 80930da: 461a mov r2, r3 80930dc: 21ca movs r1, #202 ; 0xca 80930de: f44f 7082 mov.w r0, #260 ; 0x104 80930e2: f7c2 fe53 bl 8055d8c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80930e6: 492f ldr r1, [pc, #188] ; (80931a4 ) 80930e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80930ec: f7c2 f88e bl 805520c if(blk) 80930f0: 4b32 ldr r3, [pc, #200] ; (80931bc ) 80930f2: 681b ldr r3, [r3, #0] 80930f4: 2b00 cmp r3, #0 80930f6: d00c beq.n 8093112 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 80930f8: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80930fc: b2db uxtb r3, r3 80930fe: 461a mov r2, r3 8093100: 4b2f ldr r3, [pc, #188] ; (80931c0 ) 8093102: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093106: 461a mov r2, r3 8093108: 21aa movs r1, #170 ; 0xaa 809310a: f44f 7083 mov.w r0, #262 ; 0x106 809310e: f7c2 fe25 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8093112: 4924 ldr r1, [pc, #144] ; (80931a4 ) 8093114: 4826 ldr r0, [pc, #152] ; (80931b0 ) 8093116: f7c2 f879 bl 805520c LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 809311a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 809311e: b2db uxtb r3, r3 8093120: 461a mov r2, r3 8093122: 4b27 ldr r3, [pc, #156] ; (80931c0 ) 8093124: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093128: 461a mov r2, r3 809312a: 21aa movs r1, #170 ; 0xaa 809312c: 20c6 movs r0, #198 ; 0xc6 809312e: f7c2 fe15 bl 8055d5c LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8093132: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8093136: b2db uxtb r3, r3 8093138: 461a mov r2, r3 809313a: 4b21 ldr r3, [pc, #132] ; (80931c0 ) 809313c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093140: 461a mov r2, r3 8093142: 21aa movs r1, #170 ; 0xaa 8093144: 20d6 movs r0, #214 ; 0xd6 8093146: f7c2 fe09 bl 8055d5c LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 809314a: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 809314e: b2db uxtb r3, r3 8093150: 461a mov r2, r3 8093152: 4b1b ldr r3, [pc, #108] ; (80931c0 ) 8093154: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093158: 461a mov r2, r3 809315a: 21aa movs r1, #170 ; 0xaa 809315c: 20e6 movs r0, #230 ; 0xe6 809315e: f7c2 fdfd bl 8055d5c LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8093162: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8093166: b2db uxtb r3, r3 8093168: 461a mov r2, r3 809316a: 4b15 ldr r3, [pc, #84] ; (80931c0 ) 809316c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093170: 461a mov r2, r3 8093172: 21aa movs r1, #170 ; 0xaa 8093174: 20f6 movs r0, #246 ; 0xf6 8093176: f7c2 fdf1 bl 8055d5c LCD_DisplayString(278, LCD_LINE_10, "."); 809317a: 4a12 ldr r2, [pc, #72] ; (80931c4 ) 809317c: 21aa movs r1, #170 ; 0xaa 809317e: f44f 708b mov.w r0, #278 ; 0x116 8093182: f7c2 fdeb bl 8055d5c LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8093186: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 809318a: b2db uxtb r3, r3 809318c: 461a mov r2, r3 809318e: 4b0c ldr r3, [pc, #48] ; (80931c0 ) 8093190: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093194: 461a mov r2, r3 8093196: 21aa movs r1, #170 ; 0xaa 8093198: f44f 7093 mov.w r0, #294 ; 0x126 809319c: f7c2 fdde bl 8055d5c break; 80931a0: f000 beb9 b.w 8093f16 80931a4: ff0a0f1f .word 0xff0a0f1f 80931a8: 20023eb8 .word 0x20023eb8 80931ac: 200205cc .word 0x200205cc 80931b0: ffd8aa57 .word 0xffd8aa57 80931b4: 2002033c .word 0x2002033c 80931b8: ff808080 .word 0xff808080 80931bc: 200216ac .word 0x200216ac 80931c0: 2002096c .word 0x2002096c 80931c4: 080d6258 .word 0x080d6258 case WaveMax_IKD: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80931c8: 49ce ldr r1, [pc, #824] ; (8093504 ) 80931ca: f04f 30ff mov.w r0, #4294967295 80931ce: f7c2 f81d bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80931d2: 4bcd ldr r3, [pc, #820] ; (8093508 ) 80931d4: 7b1b ldrb r3, [r3, #12] 80931d6: b2db uxtb r3, r3 80931d8: 461a mov r2, r3 80931da: 4bcc ldr r3, [pc, #816] ; (809350c ) 80931dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80931e0: 461a mov r2, r3 80931e2: 2127 movs r1, #39 ; 0x27 80931e4: 200a movs r0, #10 80931e6: f7c2 fdb9 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80931ea: 49c6 ldr r1, [pc, #792] ; (8093504 ) 80931ec: 48c8 ldr r0, [pc, #800] ; (8093510 ) 80931ee: f7c2 f80d bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 80931f2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80931f6: 461a mov r2, r3 80931f8: 217a movs r1, #122 ; 0x7a 80931fa: f44f 7082 mov.w r0, #260 ; 0x104 80931fe: f7c2 fdc5 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8093202: 4bc1 ldr r3, [pc, #772] ; (8093508 ) 8093204: 7b1b ldrb r3, [r3, #12] 8093206: b2db uxtb r3, r3 8093208: 461a mov r2, r3 809320a: 4bbf ldr r3, [pc, #764] ; (8093508 ) 809320c: 7b9b ldrb r3, [r3, #14] 809320e: b2db uxtb r3, r3 8093210: 4618 mov r0, r3 8093212: 49c0 ldr r1, [pc, #768] ; (8093514 ) 8093214: 4613 mov r3, r2 8093216: 009b lsls r3, r3, #2 8093218: 4413 add r3, r2 809321a: 005b lsls r3, r3, #1 809321c: 4413 add r3, r2 809321e: 4403 add r3, r0 8093220: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8093224: 461a mov r2, r3 8093226: 218a movs r1, #138 ; 0x8a 8093228: f44f 7082 mov.w r0, #260 ; 0x104 809322c: f7c2 fdae bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093230: 49b4 ldr r1, [pc, #720] ; (8093504 ) 8093232: f04f 30ff mov.w r0, #4294967295 8093236: f7c1 ffe9 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 809323a: 230a movs r3, #10 809323c: 220a movs r2, #10 809323e: 219d movs r1, #157 ; 0x9d 8093240: 20ff movs r0, #255 ; 0xff 8093242: f7c2 fc71 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8093246: 230a movs r3, #10 8093248: 220a movs r2, #10 809324a: 21bd movs r1, #189 ; 0xbd 809324c: 20ff movs r0, #255 ; 0xff 809324e: f7c2 fc6b bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8093252: 230a movs r3, #10 8093254: 220a movs r2, #10 8093256: 216d movs r1, #109 ; 0x6d 8093258: 20ff movs r0, #255 ; 0xff 809325a: f7c2 fc65 bl 8055b28 if(pardata.THR & 0x80) 809325e: 4baa ldr r3, [pc, #680] ; (8093508 ) 8093260: 7bdb ldrb r3, [r3, #15] 8093262: b2db uxtb r3, r3 8093264: b25b sxtb r3, r3 8093266: 2b00 cmp r3, #0 8093268: da0c bge.n 8093284 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809326a: 49a6 ldr r1, [pc, #664] ; (8093504 ) 809326c: 48a8 ldr r0, [pc, #672] ; (8093510 ) 809326e: f7c1 ffcd bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8093272: f507 73c6 add.w r3, r7, #396 ; 0x18c 8093276: 461a mov r2, r3 8093278: 21ca movs r1, #202 ; 0xca 809327a: f44f 7082 mov.w r0, #260 ; 0x104 809327e: f7c2 fd85 bl 8055d8c 8093282: e00b b.n 809329c } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8093284: 499f ldr r1, [pc, #636] ; (8093504 ) 8093286: 48a4 ldr r0, [pc, #656] ; (8093518 ) 8093288: f7c1 ffc0 bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 809328c: f507 73c6 add.w r3, r7, #396 ; 0x18c 8093290: 461a mov r2, r3 8093292: 21ca movs r1, #202 ; 0xca 8093294: f44f 7082 mov.w r0, #260 ; 0x104 8093298: f7c2 fd78 bl 8055d8c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809329c: 4999 ldr r1, [pc, #612] ; (8093504 ) 809329e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80932a2: f7c1 ffb3 bl 805520c if(blk) 80932a6: 4b9d ldr r3, [pc, #628] ; (809351c ) 80932a8: 681b ldr r3, [r3, #0] 80932aa: 2b00 cmp r3, #0 80932ac: d00c beq.n 80932c8 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 80932ae: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80932b2: b2db uxtb r3, r3 80932b4: 461a mov r2, r3 80932b6: 4b9a ldr r3, [pc, #616] ; (8093520 ) 80932b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80932bc: 461a mov r2, r3 80932be: 21aa movs r1, #170 ; 0xaa 80932c0: f44f 7093 mov.w r0, #294 ; 0x126 80932c4: f7c2 fd4a bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80932c8: 498e ldr r1, [pc, #568] ; (8093504 ) 80932ca: 4891 ldr r0, [pc, #580] ; (8093510 ) 80932cc: f7c1 ff9e bl 805520c LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 80932d0: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80932d4: b2db uxtb r3, r3 80932d6: 461a mov r2, r3 80932d8: 4b91 ldr r3, [pc, #580] ; (8093520 ) 80932da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80932de: 461a mov r2, r3 80932e0: 21aa movs r1, #170 ; 0xaa 80932e2: 20c6 movs r0, #198 ; 0xc6 80932e4: f7c2 fd3a bl 8055d5c LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 80932e8: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80932ec: b2db uxtb r3, r3 80932ee: 461a mov r2, r3 80932f0: 4b8b ldr r3, [pc, #556] ; (8093520 ) 80932f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80932f6: 461a mov r2, r3 80932f8: 21aa movs r1, #170 ; 0xaa 80932fa: 20d6 movs r0, #214 ; 0xd6 80932fc: f7c2 fd2e bl 8055d5c LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8093300: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8093304: b2db uxtb r3, r3 8093306: 461a mov r2, r3 8093308: 4b85 ldr r3, [pc, #532] ; (8093520 ) 809330a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809330e: 461a mov r2, r3 8093310: 21aa movs r1, #170 ; 0xaa 8093312: 20e6 movs r0, #230 ; 0xe6 8093314: f7c2 fd22 bl 8055d5c LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8093318: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 809331c: b2db uxtb r3, r3 809331e: 461a mov r2, r3 8093320: 4b7f ldr r3, [pc, #508] ; (8093520 ) 8093322: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093326: 461a mov r2, r3 8093328: 21aa movs r1, #170 ; 0xaa 809332a: 20f6 movs r0, #246 ; 0xf6 809332c: f7c2 fd16 bl 8055d5c LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8093330: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8093334: b2db uxtb r3, r3 8093336: 461a mov r2, r3 8093338: 4b79 ldr r3, [pc, #484] ; (8093520 ) 809333a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809333e: 461a mov r2, r3 8093340: 21aa movs r1, #170 ; 0xaa 8093342: f44f 7083 mov.w r0, #262 ; 0x106 8093346: f7c2 fd09 bl 8055d5c LCD_DisplayString(278, LCD_LINE_10, "."); 809334a: 4a76 ldr r2, [pc, #472] ; (8093524 ) 809334c: 21aa movs r1, #170 ; 0xaa 809334e: f44f 708b mov.w r0, #278 ; 0x116 8093352: f7c2 fd03 bl 8055d5c break; 8093356: f000 bdde b.w 8093f16 case WaveThr_IDT: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809335a: 496a ldr r1, [pc, #424] ; (8093504 ) 809335c: f04f 30ff mov.w r0, #4294967295 8093360: f7c1 ff54 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8093364: 4b68 ldr r3, [pc, #416] ; (8093508 ) 8093366: 7b1b ldrb r3, [r3, #12] 8093368: b2db uxtb r3, r3 809336a: 461a mov r2, r3 809336c: 4b67 ldr r3, [pc, #412] ; (809350c ) 809336e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093372: 461a mov r2, r3 8093374: 2127 movs r1, #39 ; 0x27 8093376: 200a movs r0, #10 8093378: f7c2 fcf0 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809337c: 4961 ldr r1, [pc, #388] ; (8093504 ) 809337e: 4864 ldr r0, [pc, #400] ; (8093510 ) 8093380: f7c1 ff44 bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 8093384: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093388: 461a mov r2, r3 809338a: 217a movs r1, #122 ; 0x7a 809338c: f44f 7082 mov.w r0, #260 ; 0x104 8093390: f7c2 fcfc bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8093394: 4b5c ldr r3, [pc, #368] ; (8093508 ) 8093396: 7b1b ldrb r3, [r3, #12] 8093398: b2db uxtb r3, r3 809339a: 461a mov r2, r3 809339c: 4b5a ldr r3, [pc, #360] ; (8093508 ) 809339e: 7b9b ldrb r3, [r3, #14] 80933a0: b2db uxtb r3, r3 80933a2: 4618 mov r0, r3 80933a4: 495b ldr r1, [pc, #364] ; (8093514 ) 80933a6: 4613 mov r3, r2 80933a8: 009b lsls r3, r3, #2 80933aa: 4413 add r3, r2 80933ac: 005b lsls r3, r3, #1 80933ae: 4413 add r3, r2 80933b0: 4403 add r3, r0 80933b2: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80933b6: 461a mov r2, r3 80933b8: 218a movs r1, #138 ; 0x8a 80933ba: f44f 7082 mov.w r0, #260 ; 0x104 80933be: f7c2 fce5 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80933c2: 4950 ldr r1, [pc, #320] ; (8093504 ) 80933c4: f04f 30ff mov.w r0, #4294967295 80933c8: f7c1 ff20 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 80933cc: 230a movs r3, #10 80933ce: 220a movs r2, #10 80933d0: 219d movs r1, #157 ; 0x9d 80933d2: 20ff movs r0, #255 ; 0xff 80933d4: f7c2 fba8 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80933d8: 230a movs r3, #10 80933da: 220a movs r2, #10 80933dc: 21bd movs r1, #189 ; 0xbd 80933de: 20ff movs r0, #255 ; 0xff 80933e0: f7c2 fba2 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 80933e4: 230a movs r3, #10 80933e6: 220a movs r2, #10 80933e8: 216d movs r1, #109 ; 0x6d 80933ea: 20ff movs r0, #255 ; 0xff 80933ec: f7c2 fb9c bl 8055b28 if(pardata.THR & 0x80) 80933f0: 4b45 ldr r3, [pc, #276] ; (8093508 ) 80933f2: 7bdb ldrb r3, [r3, #15] 80933f4: b2db uxtb r3, r3 80933f6: b25b sxtb r3, r3 80933f8: 2b00 cmp r3, #0 80933fa: da0c bge.n 8093416 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80933fc: 4941 ldr r1, [pc, #260] ; (8093504 ) 80933fe: 4844 ldr r0, [pc, #272] ; (8093510 ) 8093400: f7c1 ff04 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8093404: f507 73c0 add.w r3, r7, #384 ; 0x180 8093408: 461a mov r2, r3 809340a: 21aa movs r1, #170 ; 0xaa 809340c: f44f 7082 mov.w r0, #260 ; 0x104 8093410: f7c2 fcbc bl 8055d8c 8093414: e017 b.n 8093446 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8093416: 4b3c ldr r3, [pc, #240] ; (8093508 ) 8093418: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 809341c: f003 0304 and.w r3, r3, #4 8093420: 2b00 cmp r3, #0 8093422: d104 bne.n 809342e LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8093424: 4937 ldr r1, [pc, #220] ; (8093504 ) 8093426: 483a ldr r0, [pc, #232] ; (8093510 ) 8093428: f7c1 fef0 bl 805520c 809342c: e003 b.n 8093436 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 809342e: 4935 ldr r1, [pc, #212] ; (8093504 ) 8093430: 4839 ldr r0, [pc, #228] ; (8093518 ) 8093432: f7c1 feeb bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8093436: f507 73c0 add.w r3, r7, #384 ; 0x180 809343a: 461a mov r2, r3 809343c: 21aa movs r1, #170 ; 0xaa 809343e: f44f 7082 mov.w r0, #260 ; 0x104 8093442: f7c2 fca3 bl 8055d8c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8093446: 492f ldr r1, [pc, #188] ; (8093504 ) 8093448: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809344c: f7c1 fede bl 805520c if(blk) 8093450: 4b32 ldr r3, [pc, #200] ; (809351c ) 8093452: 681b ldr r3, [r3, #0] 8093454: 2b00 cmp r3, #0 8093456: d00b beq.n 8093470 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8093458: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 809345c: b2db uxtb r3, r3 809345e: 461a mov r2, r3 8093460: 4b2f ldr r3, [pc, #188] ; (8093520 ) 8093462: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093466: 461a mov r2, r3 8093468: 21ca movs r1, #202 ; 0xca 809346a: 20c6 movs r0, #198 ; 0xc6 809346c: f7c2 fc76 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8093470: 4924 ldr r1, [pc, #144] ; (8093504 ) 8093472: 4827 ldr r0, [pc, #156] ; (8093510 ) 8093474: f7c1 feca bl 805520c LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8093478: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 809347c: b2db uxtb r3, r3 809347e: 461a mov r2, r3 8093480: 4b27 ldr r3, [pc, #156] ; (8093520 ) 8093482: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093486: 461a mov r2, r3 8093488: 21ca movs r1, #202 ; 0xca 809348a: 20d6 movs r0, #214 ; 0xd6 809348c: f7c2 fc66 bl 8055d5c LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8093490: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8093494: b2db uxtb r3, r3 8093496: 461a mov r2, r3 8093498: 4b21 ldr r3, [pc, #132] ; (8093520 ) 809349a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809349e: 461a mov r2, r3 80934a0: 21ca movs r1, #202 ; 0xca 80934a2: 20e6 movs r0, #230 ; 0xe6 80934a4: f7c2 fc5a bl 8055d5c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 80934a8: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 80934ac: b2db uxtb r3, r3 80934ae: 461a mov r2, r3 80934b0: 4b1b ldr r3, [pc, #108] ; (8093520 ) 80934b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80934b6: 461a mov r2, r3 80934b8: 21ca movs r1, #202 ; 0xca 80934ba: 20f6 movs r0, #246 ; 0xf6 80934bc: f7c2 fc4e bl 8055d5c LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 80934c0: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 80934c4: b2db uxtb r3, r3 80934c6: 461a mov r2, r3 80934c8: 4b15 ldr r3, [pc, #84] ; (8093520 ) 80934ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80934ce: 461a mov r2, r3 80934d0: 21ca movs r1, #202 ; 0xca 80934d2: f44f 7083 mov.w r0, #262 ; 0x106 80934d6: f7c2 fc41 bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, "."); 80934da: 4a12 ldr r2, [pc, #72] ; (8093524 ) 80934dc: 21ca movs r1, #202 ; 0xca 80934de: f44f 708b mov.w r0, #278 ; 0x116 80934e2: f7c2 fc3b bl 8055d5c LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 80934e6: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 80934ea: b2db uxtb r3, r3 80934ec: 461a mov r2, r3 80934ee: 4b0c ldr r3, [pc, #48] ; (8093520 ) 80934f0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80934f4: 461a mov r2, r3 80934f6: 21ca movs r1, #202 ; 0xca 80934f8: f44f 7093 mov.w r0, #294 ; 0x126 80934fc: f7c2 fc2e bl 8055d5c break; 8093500: f000 bd09 b.w 8093f16 8093504: ff0a0f1f .word 0xff0a0f1f 8093508: 20023eb8 .word 0x20023eb8 809350c: 200205cc .word 0x200205cc 8093510: ffd8aa57 .word 0xffd8aa57 8093514: 2002033c .word 0x2002033c 8093518: ff808080 .word 0xff808080 809351c: 200216ac .word 0x200216ac 8093520: 2002096c .word 0x2002096c 8093524: 080d6258 .word 0x080d6258 case WaveThr_IET: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093528: 499f ldr r1, [pc, #636] ; (80937a8 ) 809352a: f04f 30ff mov.w r0, #4294967295 809352e: f7c1 fe6d bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8093532: 4b9e ldr r3, [pc, #632] ; (80937ac ) 8093534: 7b1b ldrb r3, [r3, #12] 8093536: b2db uxtb r3, r3 8093538: 461a mov r2, r3 809353a: 4b9d ldr r3, [pc, #628] ; (80937b0 ) 809353c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093540: 461a mov r2, r3 8093542: 2127 movs r1, #39 ; 0x27 8093544: 200a movs r0, #10 8093546: f7c2 fc09 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809354a: 4997 ldr r1, [pc, #604] ; (80937a8 ) 809354c: 4899 ldr r0, [pc, #612] ; (80937b4 ) 809354e: f7c1 fe5d bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 8093552: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093556: 461a mov r2, r3 8093558: 217a movs r1, #122 ; 0x7a 809355a: f44f 7082 mov.w r0, #260 ; 0x104 809355e: f7c2 fc15 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8093562: 4b92 ldr r3, [pc, #584] ; (80937ac ) 8093564: 7b1b ldrb r3, [r3, #12] 8093566: b2db uxtb r3, r3 8093568: 461a mov r2, r3 809356a: 4b90 ldr r3, [pc, #576] ; (80937ac ) 809356c: 7b9b ldrb r3, [r3, #14] 809356e: b2db uxtb r3, r3 8093570: 4618 mov r0, r3 8093572: 4991 ldr r1, [pc, #580] ; (80937b8 ) 8093574: 4613 mov r3, r2 8093576: 009b lsls r3, r3, #2 8093578: 4413 add r3, r2 809357a: 005b lsls r3, r3, #1 809357c: 4413 add r3, r2 809357e: 4403 add r3, r0 8093580: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8093584: 461a mov r2, r3 8093586: 218a movs r1, #138 ; 0x8a 8093588: f44f 7082 mov.w r0, #260 ; 0x104 809358c: f7c2 fbfe bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093590: 4985 ldr r1, [pc, #532] ; (80937a8 ) 8093592: f04f 30ff mov.w r0, #4294967295 8093596: f7c1 fe39 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 809359a: 230a movs r3, #10 809359c: 220a movs r2, #10 809359e: 219d movs r1, #157 ; 0x9d 80935a0: 20ff movs r0, #255 ; 0xff 80935a2: f7c2 fac1 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80935a6: 230a movs r3, #10 80935a8: 220a movs r2, #10 80935aa: 21bd movs r1, #189 ; 0xbd 80935ac: 20ff movs r0, #255 ; 0xff 80935ae: f7c2 fabb bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 80935b2: 230a movs r3, #10 80935b4: 220a movs r2, #10 80935b6: 216d movs r1, #109 ; 0x6d 80935b8: 20ff movs r0, #255 ; 0xff 80935ba: f7c2 fab5 bl 8055b28 if(pardata.THR & 0x80) 80935be: 4b7b ldr r3, [pc, #492] ; (80937ac ) 80935c0: 7bdb ldrb r3, [r3, #15] 80935c2: b2db uxtb r3, r3 80935c4: b25b sxtb r3, r3 80935c6: 2b00 cmp r3, #0 80935c8: da0c bge.n 80935e4 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80935ca: 4977 ldr r1, [pc, #476] ; (80937a8 ) 80935cc: 4879 ldr r0, [pc, #484] ; (80937b4 ) 80935ce: f7c1 fe1d bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80935d2: f507 73c0 add.w r3, r7, #384 ; 0x180 80935d6: 461a mov r2, r3 80935d8: 21aa movs r1, #170 ; 0xaa 80935da: f44f 7082 mov.w r0, #260 ; 0x104 80935de: f7c2 fbd5 bl 8055d8c 80935e2: e017 b.n 8093614 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80935e4: 4b71 ldr r3, [pc, #452] ; (80937ac ) 80935e6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80935ea: f003 0304 and.w r3, r3, #4 80935ee: 2b00 cmp r3, #0 80935f0: d104 bne.n 80935fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80935f2: 496d ldr r1, [pc, #436] ; (80937a8 ) 80935f4: 486f ldr r0, [pc, #444] ; (80937b4 ) 80935f6: f7c1 fe09 bl 805520c 80935fa: e003 b.n 8093604 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80935fc: 496a ldr r1, [pc, #424] ; (80937a8 ) 80935fe: 486f ldr r0, [pc, #444] ; (80937bc ) 8093600: f7c1 fe04 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8093604: f507 73c0 add.w r3, r7, #384 ; 0x180 8093608: 461a mov r2, r3 809360a: 21aa movs r1, #170 ; 0xaa 809360c: f44f 7082 mov.w r0, #260 ; 0x104 8093610: f7c2 fbbc bl 8055d8c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8093614: 4964 ldr r1, [pc, #400] ; (80937a8 ) 8093616: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809361a: f7c1 fdf7 bl 805520c if(blk) 809361e: 4b68 ldr r3, [pc, #416] ; (80937c0 ) 8093620: 681b ldr r3, [r3, #0] 8093622: 2b00 cmp r3, #0 8093624: d00b beq.n 809363e LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8093626: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 809362a: b2db uxtb r3, r3 809362c: 461a mov r2, r3 809362e: 4b65 ldr r3, [pc, #404] ; (80937c4 ) 8093630: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093634: 461a mov r2, r3 8093636: 21ca movs r1, #202 ; 0xca 8093638: 20d6 movs r0, #214 ; 0xd6 809363a: f7c2 fb8f bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809363e: 495a ldr r1, [pc, #360] ; (80937a8 ) 8093640: 485c ldr r0, [pc, #368] ; (80937b4 ) 8093642: f7c1 fde3 bl 805520c LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8093646: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 809364a: b2db uxtb r3, r3 809364c: 461a mov r2, r3 809364e: 4b5d ldr r3, [pc, #372] ; (80937c4 ) 8093650: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093654: 461a mov r2, r3 8093656: 21ca movs r1, #202 ; 0xca 8093658: 20c6 movs r0, #198 ; 0xc6 809365a: f7c2 fb7f bl 8055d5c LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 809365e: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8093662: b2db uxtb r3, r3 8093664: 461a mov r2, r3 8093666: 4b57 ldr r3, [pc, #348] ; (80937c4 ) 8093668: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809366c: 461a mov r2, r3 809366e: 21ca movs r1, #202 ; 0xca 8093670: 20e6 movs r0, #230 ; 0xe6 8093672: f7c2 fb73 bl 8055d5c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 8093676: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 809367a: b2db uxtb r3, r3 809367c: 461a mov r2, r3 809367e: 4b51 ldr r3, [pc, #324] ; (80937c4 ) 8093680: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093684: 461a mov r2, r3 8093686: 21ca movs r1, #202 ; 0xca 8093688: 20f6 movs r0, #246 ; 0xf6 809368a: f7c2 fb67 bl 8055d5c LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 809368e: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8093692: b2db uxtb r3, r3 8093694: 461a mov r2, r3 8093696: 4b4b ldr r3, [pc, #300] ; (80937c4 ) 8093698: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809369c: 461a mov r2, r3 809369e: 21ca movs r1, #202 ; 0xca 80936a0: f44f 7083 mov.w r0, #262 ; 0x106 80936a4: f7c2 fb5a bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, "."); 80936a8: 4a47 ldr r2, [pc, #284] ; (80937c8 ) 80936aa: 21ca movs r1, #202 ; 0xca 80936ac: f44f 708b mov.w r0, #278 ; 0x116 80936b0: f7c2 fb54 bl 8055d5c LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 80936b4: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 80936b8: b2db uxtb r3, r3 80936ba: 461a mov r2, r3 80936bc: 4b41 ldr r3, [pc, #260] ; (80937c4 ) 80936be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80936c2: 461a mov r2, r3 80936c4: 21ca movs r1, #202 ; 0xca 80936c6: f44f 7093 mov.w r0, #294 ; 0x126 80936ca: f7c2 fb47 bl 8055d5c break; 80936ce: f000 bc22 b.w 8093f16 case WaveThr_IES: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80936d2: 4935 ldr r1, [pc, #212] ; (80937a8 ) 80936d4: f04f 30ff mov.w r0, #4294967295 80936d8: f7c1 fd98 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80936dc: 4b33 ldr r3, [pc, #204] ; (80937ac ) 80936de: 7b1b ldrb r3, [r3, #12] 80936e0: b2db uxtb r3, r3 80936e2: 461a mov r2, r3 80936e4: 4b32 ldr r3, [pc, #200] ; (80937b0 ) 80936e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80936ea: 461a mov r2, r3 80936ec: 2127 movs r1, #39 ; 0x27 80936ee: 200a movs r0, #10 80936f0: f7c2 fb34 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80936f4: 492c ldr r1, [pc, #176] ; (80937a8 ) 80936f6: 482f ldr r0, [pc, #188] ; (80937b4 ) 80936f8: f7c1 fd88 bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 80936fc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093700: 461a mov r2, r3 8093702: 217a movs r1, #122 ; 0x7a 8093704: f44f 7082 mov.w r0, #260 ; 0x104 8093708: f7c2 fb40 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 809370c: 4b27 ldr r3, [pc, #156] ; (80937ac ) 809370e: 7b1b ldrb r3, [r3, #12] 8093710: b2db uxtb r3, r3 8093712: 461a mov r2, r3 8093714: 4b25 ldr r3, [pc, #148] ; (80937ac ) 8093716: 7b9b ldrb r3, [r3, #14] 8093718: b2db uxtb r3, r3 809371a: 4618 mov r0, r3 809371c: 4926 ldr r1, [pc, #152] ; (80937b8 ) 809371e: 4613 mov r3, r2 8093720: 009b lsls r3, r3, #2 8093722: 4413 add r3, r2 8093724: 005b lsls r3, r3, #1 8093726: 4413 add r3, r2 8093728: 4403 add r3, r0 809372a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 809372e: 461a mov r2, r3 8093730: 218a movs r1, #138 ; 0x8a 8093732: f44f 7082 mov.w r0, #260 ; 0x104 8093736: f7c2 fb29 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809373a: 491b ldr r1, [pc, #108] ; (80937a8 ) 809373c: f04f 30ff mov.w r0, #4294967295 8093740: f7c1 fd64 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8093744: 230a movs r3, #10 8093746: 220a movs r2, #10 8093748: 219d movs r1, #157 ; 0x9d 809374a: 20ff movs r0, #255 ; 0xff 809374c: f7c2 f9ec bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8093750: 230a movs r3, #10 8093752: 220a movs r2, #10 8093754: 21bd movs r1, #189 ; 0xbd 8093756: 20ff movs r0, #255 ; 0xff 8093758: f7c2 f9e6 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 809375c: 230a movs r3, #10 809375e: 220a movs r2, #10 8093760: 216d movs r1, #109 ; 0x6d 8093762: 20ff movs r0, #255 ; 0xff 8093764: f7c2 f9e0 bl 8055b28 if(pardata.THR & 0x80) 8093768: 4b10 ldr r3, [pc, #64] ; (80937ac ) 809376a: 7bdb ldrb r3, [r3, #15] 809376c: b2db uxtb r3, r3 809376e: b25b sxtb r3, r3 8093770: 2b00 cmp r3, #0 8093772: da0c bge.n 809378e { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8093774: 490c ldr r1, [pc, #48] ; (80937a8 ) 8093776: 480f ldr r0, [pc, #60] ; (80937b4 ) 8093778: f7c1 fd48 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 809377c: f507 73c0 add.w r3, r7, #384 ; 0x180 8093780: 461a mov r2, r3 8093782: 21aa movs r1, #170 ; 0xaa 8093784: f44f 7082 mov.w r0, #260 ; 0x104 8093788: f7c2 fb00 bl 8055d8c 809378c: e02a b.n 80937e4 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 809378e: 4b07 ldr r3, [pc, #28] ; (80937ac ) 8093790: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8093794: f003 0304 and.w r3, r3, #4 8093798: 2b00 cmp r3, #0 809379a: d117 bne.n 80937cc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809379c: 4902 ldr r1, [pc, #8] ; (80937a8 ) 809379e: 4805 ldr r0, [pc, #20] ; (80937b4 ) 80937a0: f7c1 fd34 bl 805520c 80937a4: e016 b.n 80937d4 80937a6: bf00 nop 80937a8: ff0a0f1f .word 0xff0a0f1f 80937ac: 20023eb8 .word 0x20023eb8 80937b0: 200205cc .word 0x200205cc 80937b4: ffd8aa57 .word 0xffd8aa57 80937b8: 2002033c .word 0x2002033c 80937bc: ff808080 .word 0xff808080 80937c0: 200216ac .word 0x200216ac 80937c4: 2002096c .word 0x2002096c 80937c8: 080d6258 .word 0x080d6258 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80937cc: 49cd ldr r1, [pc, #820] ; (8093b04 ) 80937ce: 48ce ldr r0, [pc, #824] ; (8093b08 ) 80937d0: f7c1 fd1c bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80937d4: f507 73c0 add.w r3, r7, #384 ; 0x180 80937d8: 461a mov r2, r3 80937da: 21aa movs r1, #170 ; 0xaa 80937dc: f44f 7082 mov.w r0, #260 ; 0x104 80937e0: f7c2 fad4 bl 8055d8c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80937e4: 49c7 ldr r1, [pc, #796] ; (8093b04 ) 80937e6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80937ea: f7c1 fd0f bl 805520c if(blk) 80937ee: 4bc7 ldr r3, [pc, #796] ; (8093b0c ) 80937f0: 681b ldr r3, [r3, #0] 80937f2: 2b00 cmp r3, #0 80937f4: d00b beq.n 809380e LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 80937f6: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80937fa: b2db uxtb r3, r3 80937fc: 461a mov r2, r3 80937fe: 4bc4 ldr r3, [pc, #784] ; (8093b10 ) 8093800: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093804: 461a mov r2, r3 8093806: 21ca movs r1, #202 ; 0xca 8093808: 20e6 movs r0, #230 ; 0xe6 809380a: f7c2 faa7 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809380e: 49bd ldr r1, [pc, #756] ; (8093b04 ) 8093810: 48c0 ldr r0, [pc, #768] ; (8093b14 ) 8093812: f7c1 fcfb bl 805520c LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8093816: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 809381a: b2db uxtb r3, r3 809381c: 461a mov r2, r3 809381e: 4bbc ldr r3, [pc, #752] ; (8093b10 ) 8093820: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093824: 461a mov r2, r3 8093826: 21ca movs r1, #202 ; 0xca 8093828: 20c6 movs r0, #198 ; 0xc6 809382a: f7c2 fa97 bl 8055d5c LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 809382e: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8093832: b2db uxtb r3, r3 8093834: 461a mov r2, r3 8093836: 4bb6 ldr r3, [pc, #728] ; (8093b10 ) 8093838: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809383c: 461a mov r2, r3 809383e: 21ca movs r1, #202 ; 0xca 8093840: 20d6 movs r0, #214 ; 0xd6 8093842: f7c2 fa8b bl 8055d5c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 8093846: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 809384a: b2db uxtb r3, r3 809384c: 461a mov r2, r3 809384e: 4bb0 ldr r3, [pc, #704] ; (8093b10 ) 8093850: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093854: 461a mov r2, r3 8093856: 21ca movs r1, #202 ; 0xca 8093858: 20f6 movs r0, #246 ; 0xf6 809385a: f7c2 fa7f bl 8055d5c LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 809385e: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8093862: b2db uxtb r3, r3 8093864: 461a mov r2, r3 8093866: 4baa ldr r3, [pc, #680] ; (8093b10 ) 8093868: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809386c: 461a mov r2, r3 809386e: 21ca movs r1, #202 ; 0xca 8093870: f44f 7083 mov.w r0, #262 ; 0x106 8093874: f7c2 fa72 bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, "."); 8093878: 4aa7 ldr r2, [pc, #668] ; (8093b18 ) 809387a: 21ca movs r1, #202 ; 0xca 809387c: f44f 708b mov.w r0, #278 ; 0x116 8093880: f7c2 fa6c bl 8055d5c LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 8093884: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8093888: b2db uxtb r3, r3 809388a: 461a mov r2, r3 809388c: 4ba0 ldr r3, [pc, #640] ; (8093b10 ) 809388e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093892: 461a mov r2, r3 8093894: 21ca movs r1, #202 ; 0xca 8093896: f44f 7093 mov.w r0, #294 ; 0x126 809389a: f7c2 fa5f bl 8055d5c break; 809389e: e33a b.n 8093f16 case WaveThr_IED: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80938a0: 4998 ldr r1, [pc, #608] ; (8093b04 ) 80938a2: f04f 30ff mov.w r0, #4294967295 80938a6: f7c1 fcb1 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80938aa: 4b9c ldr r3, [pc, #624] ; (8093b1c ) 80938ac: 7b1b ldrb r3, [r3, #12] 80938ae: b2db uxtb r3, r3 80938b0: 461a mov r2, r3 80938b2: 4b9b ldr r3, [pc, #620] ; (8093b20 ) 80938b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80938b8: 461a mov r2, r3 80938ba: 2127 movs r1, #39 ; 0x27 80938bc: 200a movs r0, #10 80938be: f7c2 fa4d bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80938c2: 4990 ldr r1, [pc, #576] ; (8093b04 ) 80938c4: 4893 ldr r0, [pc, #588] ; (8093b14 ) 80938c6: f7c1 fca1 bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 80938ca: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80938ce: 461a mov r2, r3 80938d0: 217a movs r1, #122 ; 0x7a 80938d2: f44f 7082 mov.w r0, #260 ; 0x104 80938d6: f7c2 fa59 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 80938da: 4b90 ldr r3, [pc, #576] ; (8093b1c ) 80938dc: 7b1b ldrb r3, [r3, #12] 80938de: b2db uxtb r3, r3 80938e0: 461a mov r2, r3 80938e2: 4b8e ldr r3, [pc, #568] ; (8093b1c ) 80938e4: 7b9b ldrb r3, [r3, #14] 80938e6: b2db uxtb r3, r3 80938e8: 4618 mov r0, r3 80938ea: 498e ldr r1, [pc, #568] ; (8093b24 ) 80938ec: 4613 mov r3, r2 80938ee: 009b lsls r3, r3, #2 80938f0: 4413 add r3, r2 80938f2: 005b lsls r3, r3, #1 80938f4: 4413 add r3, r2 80938f6: 4403 add r3, r0 80938f8: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80938fc: 461a mov r2, r3 80938fe: 218a movs r1, #138 ; 0x8a 8093900: f44f 7082 mov.w r0, #260 ; 0x104 8093904: f7c2 fa42 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093908: 497e ldr r1, [pc, #504] ; (8093b04 ) 809390a: f04f 30ff mov.w r0, #4294967295 809390e: f7c1 fc7d bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8093912: 230a movs r3, #10 8093914: 220a movs r2, #10 8093916: 219d movs r1, #157 ; 0x9d 8093918: 20ff movs r0, #255 ; 0xff 809391a: f7c2 f905 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 809391e: 230a movs r3, #10 8093920: 220a movs r2, #10 8093922: 21bd movs r1, #189 ; 0xbd 8093924: 20ff movs r0, #255 ; 0xff 8093926: f7c2 f8ff bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 809392a: 230a movs r3, #10 809392c: 220a movs r2, #10 809392e: 216d movs r1, #109 ; 0x6d 8093930: 20ff movs r0, #255 ; 0xff 8093932: f7c2 f8f9 bl 8055b28 if(pardata.THR & 0x80) 8093936: 4b79 ldr r3, [pc, #484] ; (8093b1c ) 8093938: 7bdb ldrb r3, [r3, #15] 809393a: b2db uxtb r3, r3 809393c: b25b sxtb r3, r3 809393e: 2b00 cmp r3, #0 8093940: da0c bge.n 809395c { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8093942: 4970 ldr r1, [pc, #448] ; (8093b04 ) 8093944: 4873 ldr r0, [pc, #460] ; (8093b14 ) 8093946: f7c1 fc61 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 809394a: f507 73c0 add.w r3, r7, #384 ; 0x180 809394e: 461a mov r2, r3 8093950: 21aa movs r1, #170 ; 0xaa 8093952: f44f 7082 mov.w r0, #260 ; 0x104 8093956: f7c2 fa19 bl 8055d8c 809395a: e017 b.n 809398c } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 809395c: 4b6f ldr r3, [pc, #444] ; (8093b1c ) 809395e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8093962: f003 0304 and.w r3, r3, #4 8093966: 2b00 cmp r3, #0 8093968: d104 bne.n 8093974 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809396a: 4966 ldr r1, [pc, #408] ; (8093b04 ) 809396c: 4869 ldr r0, [pc, #420] ; (8093b14 ) 809396e: f7c1 fc4d bl 805520c 8093972: e003 b.n 809397c else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8093974: 4963 ldr r1, [pc, #396] ; (8093b04 ) 8093976: 4864 ldr r0, [pc, #400] ; (8093b08 ) 8093978: f7c1 fc48 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 809397c: f507 73c0 add.w r3, r7, #384 ; 0x180 8093980: 461a mov r2, r3 8093982: 21aa movs r1, #170 ; 0xaa 8093984: f44f 7082 mov.w r0, #260 ; 0x104 8093988: f7c2 fa00 bl 8055d8c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809398c: 495d ldr r1, [pc, #372] ; (8093b04 ) 809398e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8093992: f7c1 fc3b bl 805520c if(blk) 8093996: 4b5d ldr r3, [pc, #372] ; (8093b0c ) 8093998: 681b ldr r3, [r3, #0] 809399a: 2b00 cmp r3, #0 809399c: d00b beq.n 80939b6 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 809399e: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 80939a2: b2db uxtb r3, r3 80939a4: 461a mov r2, r3 80939a6: 4b5a ldr r3, [pc, #360] ; (8093b10 ) 80939a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80939ac: 461a mov r2, r3 80939ae: 21ca movs r1, #202 ; 0xca 80939b0: 20f6 movs r0, #246 ; 0xf6 80939b2: f7c2 f9d3 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80939b6: 4953 ldr r1, [pc, #332] ; (8093b04 ) 80939b8: 4856 ldr r0, [pc, #344] ; (8093b14 ) 80939ba: f7c1 fc27 bl 805520c LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 80939be: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 80939c2: b2db uxtb r3, r3 80939c4: 461a mov r2, r3 80939c6: 4b52 ldr r3, [pc, #328] ; (8093b10 ) 80939c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80939cc: 461a mov r2, r3 80939ce: 21ca movs r1, #202 ; 0xca 80939d0: 20c6 movs r0, #198 ; 0xc6 80939d2: f7c2 f9c3 bl 8055d5c LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 80939d6: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 80939da: b2db uxtb r3, r3 80939dc: 461a mov r2, r3 80939de: 4b4c ldr r3, [pc, #304] ; (8093b10 ) 80939e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80939e4: 461a mov r2, r3 80939e6: 21ca movs r1, #202 ; 0xca 80939e8: 20d6 movs r0, #214 ; 0xd6 80939ea: f7c2 f9b7 bl 8055d5c LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 80939ee: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80939f2: b2db uxtb r3, r3 80939f4: 461a mov r2, r3 80939f6: 4b46 ldr r3, [pc, #280] ; (8093b10 ) 80939f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80939fc: 461a mov r2, r3 80939fe: 21ca movs r1, #202 ; 0xca 8093a00: 20e6 movs r0, #230 ; 0xe6 8093a02: f7c2 f9ab bl 8055d5c LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8093a06: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8093a0a: b2db uxtb r3, r3 8093a0c: 461a mov r2, r3 8093a0e: 4b40 ldr r3, [pc, #256] ; (8093b10 ) 8093a10: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093a14: 461a mov r2, r3 8093a16: 21ca movs r1, #202 ; 0xca 8093a18: f44f 7083 mov.w r0, #262 ; 0x106 8093a1c: f7c2 f99e bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, "."); 8093a20: 4a3d ldr r2, [pc, #244] ; (8093b18 ) 8093a22: 21ca movs r1, #202 ; 0xca 8093a24: f44f 708b mov.w r0, #278 ; 0x116 8093a28: f7c2 f998 bl 8055d5c LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 8093a2c: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8093a30: b2db uxtb r3, r3 8093a32: 461a mov r2, r3 8093a34: 4b36 ldr r3, [pc, #216] ; (8093b10 ) 8093a36: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093a3a: 461a mov r2, r3 8093a3c: 21ca movs r1, #202 ; 0xca 8093a3e: f44f 7093 mov.w r0, #294 ; 0x126 8093a42: f7c2 f98b bl 8055d5c break; 8093a46: e266 b.n 8093f16 case WaveThr_IEE: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093a48: 492e ldr r1, [pc, #184] ; (8093b04 ) 8093a4a: f04f 30ff mov.w r0, #4294967295 8093a4e: f7c1 fbdd bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8093a52: 4b32 ldr r3, [pc, #200] ; (8093b1c ) 8093a54: 7b1b ldrb r3, [r3, #12] 8093a56: b2db uxtb r3, r3 8093a58: 461a mov r2, r3 8093a5a: 4b31 ldr r3, [pc, #196] ; (8093b20 ) 8093a5c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093a60: 461a mov r2, r3 8093a62: 2127 movs r1, #39 ; 0x27 8093a64: 200a movs r0, #10 8093a66: f7c2 f979 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8093a6a: 4926 ldr r1, [pc, #152] ; (8093b04 ) 8093a6c: 4829 ldr r0, [pc, #164] ; (8093b14 ) 8093a6e: f7c1 fbcd bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 8093a72: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093a76: 461a mov r2, r3 8093a78: 217a movs r1, #122 ; 0x7a 8093a7a: f44f 7082 mov.w r0, #260 ; 0x104 8093a7e: f7c2 f985 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8093a82: 4b26 ldr r3, [pc, #152] ; (8093b1c ) 8093a84: 7b1b ldrb r3, [r3, #12] 8093a86: b2db uxtb r3, r3 8093a88: 461a mov r2, r3 8093a8a: 4b24 ldr r3, [pc, #144] ; (8093b1c ) 8093a8c: 7b9b ldrb r3, [r3, #14] 8093a8e: b2db uxtb r3, r3 8093a90: 4618 mov r0, r3 8093a92: 4924 ldr r1, [pc, #144] ; (8093b24 ) 8093a94: 4613 mov r3, r2 8093a96: 009b lsls r3, r3, #2 8093a98: 4413 add r3, r2 8093a9a: 005b lsls r3, r3, #1 8093a9c: 4413 add r3, r2 8093a9e: 4403 add r3, r0 8093aa0: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8093aa4: 461a mov r2, r3 8093aa6: 218a movs r1, #138 ; 0x8a 8093aa8: f44f 7082 mov.w r0, #260 ; 0x104 8093aac: f7c2 f96e bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093ab0: 4914 ldr r1, [pc, #80] ; (8093b04 ) 8093ab2: f04f 30ff mov.w r0, #4294967295 8093ab6: f7c1 fba9 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8093aba: 230a movs r3, #10 8093abc: 220a movs r2, #10 8093abe: 219d movs r1, #157 ; 0x9d 8093ac0: 20ff movs r0, #255 ; 0xff 8093ac2: f7c2 f831 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8093ac6: 230a movs r3, #10 8093ac8: 220a movs r2, #10 8093aca: 21bd movs r1, #189 ; 0xbd 8093acc: 20ff movs r0, #255 ; 0xff 8093ace: f7c2 f82b bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8093ad2: 230a movs r3, #10 8093ad4: 220a movs r2, #10 8093ad6: 216d movs r1, #109 ; 0x6d 8093ad8: 20ff movs r0, #255 ; 0xff 8093ada: f7c2 f825 bl 8055b28 if(pardata.THR & 0x80) 8093ade: 4b0f ldr r3, [pc, #60] ; (8093b1c ) 8093ae0: 7bdb ldrb r3, [r3, #15] 8093ae2: b2db uxtb r3, r3 8093ae4: b25b sxtb r3, r3 8093ae6: 2b00 cmp r3, #0 8093ae8: da1e bge.n 8093b28 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8093aea: 4906 ldr r1, [pc, #24] ; (8093b04 ) 8093aec: 4809 ldr r0, [pc, #36] ; (8093b14 ) 8093aee: f7c1 fb8d bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8093af2: f507 73c0 add.w r3, r7, #384 ; 0x180 8093af6: 461a mov r2, r3 8093af8: 21aa movs r1, #170 ; 0xaa 8093afa: f44f 7082 mov.w r0, #260 ; 0x104 8093afe: f7c2 f945 bl 8055d8c 8093b02: e029 b.n 8093b58 8093b04: ff0a0f1f .word 0xff0a0f1f 8093b08: ff808080 .word 0xff808080 8093b0c: 200216ac .word 0x200216ac 8093b10: 2002096c .word 0x2002096c 8093b14: ffd8aa57 .word 0xffd8aa57 8093b18: 080d6258 .word 0x080d6258 8093b1c: 20023eb8 .word 0x20023eb8 8093b20: 200205cc .word 0x200205cc 8093b24: 2002033c .word 0x2002033c } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8093b28: 4ba4 ldr r3, [pc, #656] ; (8093dbc ) 8093b2a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8093b2e: f003 0304 and.w r3, r3, #4 8093b32: 2b00 cmp r3, #0 8093b34: d104 bne.n 8093b40 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8093b36: 49a2 ldr r1, [pc, #648] ; (8093dc0 ) 8093b38: 48a2 ldr r0, [pc, #648] ; (8093dc4 ) 8093b3a: f7c1 fb67 bl 805520c 8093b3e: e003 b.n 8093b48 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8093b40: 499f ldr r1, [pc, #636] ; (8093dc0 ) 8093b42: 48a1 ldr r0, [pc, #644] ; (8093dc8 ) 8093b44: f7c1 fb62 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8093b48: f507 73c0 add.w r3, r7, #384 ; 0x180 8093b4c: 461a mov r2, r3 8093b4e: 21aa movs r1, #170 ; 0xaa 8093b50: f44f 7082 mov.w r0, #260 ; 0x104 8093b54: f7c2 f91a bl 8055d8c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8093b58: 4999 ldr r1, [pc, #612] ; (8093dc0 ) 8093b5a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8093b5e: f7c1 fb55 bl 805520c if(blk) 8093b62: 4b9a ldr r3, [pc, #616] ; (8093dcc ) 8093b64: 681b ldr r3, [r3, #0] 8093b66: 2b00 cmp r3, #0 8093b68: d00c beq.n 8093b84 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8093b6a: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8093b6e: b2db uxtb r3, r3 8093b70: 461a mov r2, r3 8093b72: 4b97 ldr r3, [pc, #604] ; (8093dd0 ) 8093b74: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093b78: 461a mov r2, r3 8093b7a: 21ca movs r1, #202 ; 0xca 8093b7c: f44f 7083 mov.w r0, #262 ; 0x106 8093b80: f7c2 f8ec bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8093b84: 498e ldr r1, [pc, #568] ; (8093dc0 ) 8093b86: 488f ldr r0, [pc, #572] ; (8093dc4 ) 8093b88: f7c1 fb40 bl 805520c LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8093b8c: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8093b90: b2db uxtb r3, r3 8093b92: 461a mov r2, r3 8093b94: 4b8e ldr r3, [pc, #568] ; (8093dd0 ) 8093b96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093b9a: 461a mov r2, r3 8093b9c: 21ca movs r1, #202 ; 0xca 8093b9e: 20c6 movs r0, #198 ; 0xc6 8093ba0: f7c2 f8dc bl 8055d5c LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8093ba4: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8093ba8: b2db uxtb r3, r3 8093baa: 461a mov r2, r3 8093bac: 4b88 ldr r3, [pc, #544] ; (8093dd0 ) 8093bae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093bb2: 461a mov r2, r3 8093bb4: 21ca movs r1, #202 ; 0xca 8093bb6: 20d6 movs r0, #214 ; 0xd6 8093bb8: f7c2 f8d0 bl 8055d5c LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8093bbc: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8093bc0: b2db uxtb r3, r3 8093bc2: 461a mov r2, r3 8093bc4: 4b82 ldr r3, [pc, #520] ; (8093dd0 ) 8093bc6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093bca: 461a mov r2, r3 8093bcc: 21ca movs r1, #202 ; 0xca 8093bce: 20e6 movs r0, #230 ; 0xe6 8093bd0: f7c2 f8c4 bl 8055d5c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 8093bd4: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8093bd8: b2db uxtb r3, r3 8093bda: 461a mov r2, r3 8093bdc: 4b7c ldr r3, [pc, #496] ; (8093dd0 ) 8093bde: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093be2: 461a mov r2, r3 8093be4: 21ca movs r1, #202 ; 0xca 8093be6: 20f6 movs r0, #246 ; 0xf6 8093be8: f7c2 f8b8 bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, "."); 8093bec: 4a79 ldr r2, [pc, #484] ; (8093dd4 ) 8093bee: 21ca movs r1, #202 ; 0xca 8093bf0: f44f 708b mov.w r0, #278 ; 0x116 8093bf4: f7c2 f8b2 bl 8055d5c LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 8093bf8: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8093bfc: b2db uxtb r3, r3 8093bfe: 461a mov r2, r3 8093c00: 4b73 ldr r3, [pc, #460] ; (8093dd0 ) 8093c02: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093c06: 461a mov r2, r3 8093c08: 21ca movs r1, #202 ; 0xca 8093c0a: f44f 7093 mov.w r0, #294 ; 0x126 8093c0e: f7c2 f8a5 bl 8055d5c break; 8093c12: e180 b.n 8093f16 case WaveThr_IKD: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093c14: 496a ldr r1, [pc, #424] ; (8093dc0 ) 8093c16: f04f 30ff mov.w r0, #4294967295 8093c1a: f7c1 faf7 bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8093c1e: 4b67 ldr r3, [pc, #412] ; (8093dbc ) 8093c20: 7b1b ldrb r3, [r3, #12] 8093c22: b2db uxtb r3, r3 8093c24: 461a mov r2, r3 8093c26: 4b6c ldr r3, [pc, #432] ; (8093dd8 ) 8093c28: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093c2c: 461a mov r2, r3 8093c2e: 2127 movs r1, #39 ; 0x27 8093c30: 200a movs r0, #10 8093c32: f7c2 f893 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8093c36: 4962 ldr r1, [pc, #392] ; (8093dc0 ) 8093c38: 4862 ldr r0, [pc, #392] ; (8093dc4 ) 8093c3a: f7c1 fae7 bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 8093c3e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093c42: 461a mov r2, r3 8093c44: 217a movs r1, #122 ; 0x7a 8093c46: f44f 7082 mov.w r0, #260 ; 0x104 8093c4a: f7c2 f89f bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8093c4e: 4b5b ldr r3, [pc, #364] ; (8093dbc ) 8093c50: 7b1b ldrb r3, [r3, #12] 8093c52: b2db uxtb r3, r3 8093c54: 461a mov r2, r3 8093c56: 4b59 ldr r3, [pc, #356] ; (8093dbc ) 8093c58: 7b9b ldrb r3, [r3, #14] 8093c5a: b2db uxtb r3, r3 8093c5c: 4618 mov r0, r3 8093c5e: 495f ldr r1, [pc, #380] ; (8093ddc ) 8093c60: 4613 mov r3, r2 8093c62: 009b lsls r3, r3, #2 8093c64: 4413 add r3, r2 8093c66: 005b lsls r3, r3, #1 8093c68: 4413 add r3, r2 8093c6a: 4403 add r3, r0 8093c6c: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8093c70: 461a mov r2, r3 8093c72: 218a movs r1, #138 ; 0x8a 8093c74: f44f 7082 mov.w r0, #260 ; 0x104 8093c78: f7c2 f888 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093c7c: 4950 ldr r1, [pc, #320] ; (8093dc0 ) 8093c7e: f04f 30ff mov.w r0, #4294967295 8093c82: f7c1 fac3 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8093c86: 230a movs r3, #10 8093c88: 220a movs r2, #10 8093c8a: 219d movs r1, #157 ; 0x9d 8093c8c: 20ff movs r0, #255 ; 0xff 8093c8e: f7c1 ff4b bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8093c92: 230a movs r3, #10 8093c94: 220a movs r2, #10 8093c96: 21bd movs r1, #189 ; 0xbd 8093c98: 20ff movs r0, #255 ; 0xff 8093c9a: f7c1 ff45 bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8093c9e: 230a movs r3, #10 8093ca0: 220a movs r2, #10 8093ca2: 216d movs r1, #109 ; 0x6d 8093ca4: 20ff movs r0, #255 ; 0xff 8093ca6: f7c1 ff3f bl 8055b28 if(pardata.THR & 0x80) 8093caa: 4b44 ldr r3, [pc, #272] ; (8093dbc ) 8093cac: 7bdb ldrb r3, [r3, #15] 8093cae: b2db uxtb r3, r3 8093cb0: b25b sxtb r3, r3 8093cb2: 2b00 cmp r3, #0 8093cb4: da0c bge.n 8093cd0 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8093cb6: 4942 ldr r1, [pc, #264] ; (8093dc0 ) 8093cb8: 4842 ldr r0, [pc, #264] ; (8093dc4 ) 8093cba: f7c1 faa7 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8093cbe: f507 73c0 add.w r3, r7, #384 ; 0x180 8093cc2: 461a mov r2, r3 8093cc4: 21aa movs r1, #170 ; 0xaa 8093cc6: f44f 7082 mov.w r0, #260 ; 0x104 8093cca: f7c2 f85f bl 8055d8c 8093cce: e017 b.n 8093d00 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8093cd0: 4b3a ldr r3, [pc, #232] ; (8093dbc ) 8093cd2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8093cd6: f003 0304 and.w r3, r3, #4 8093cda: 2b00 cmp r3, #0 8093cdc: d104 bne.n 8093ce8 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8093cde: 4938 ldr r1, [pc, #224] ; (8093dc0 ) 8093ce0: 4838 ldr r0, [pc, #224] ; (8093dc4 ) 8093ce2: f7c1 fa93 bl 805520c 8093ce6: e003 b.n 8093cf0 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8093ce8: 4935 ldr r1, [pc, #212] ; (8093dc0 ) 8093cea: 4837 ldr r0, [pc, #220] ; (8093dc8 ) 8093cec: f7c1 fa8e bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8093cf0: f507 73c0 add.w r3, r7, #384 ; 0x180 8093cf4: 461a mov r2, r3 8093cf6: 21aa movs r1, #170 ; 0xaa 8093cf8: f44f 7082 mov.w r0, #260 ; 0x104 8093cfc: f7c2 f846 bl 8055d8c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8093d00: 492f ldr r1, [pc, #188] ; (8093dc0 ) 8093d02: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8093d06: f7c1 fa81 bl 805520c if(blk) 8093d0a: 4b30 ldr r3, [pc, #192] ; (8093dcc ) 8093d0c: 681b ldr r3, [r3, #0] 8093d0e: 2b00 cmp r3, #0 8093d10: d00c beq.n 8093d2c LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 8093d12: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8093d16: b2db uxtb r3, r3 8093d18: 461a mov r2, r3 8093d1a: 4b2d ldr r3, [pc, #180] ; (8093dd0 ) 8093d1c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093d20: 461a mov r2, r3 8093d22: 21ca movs r1, #202 ; 0xca 8093d24: f44f 7093 mov.w r0, #294 ; 0x126 8093d28: f7c2 f818 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8093d2c: 4924 ldr r1, [pc, #144] ; (8093dc0 ) 8093d2e: 4825 ldr r0, [pc, #148] ; (8093dc4 ) 8093d30: f7c1 fa6c bl 805520c LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8093d34: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8093d38: b2db uxtb r3, r3 8093d3a: 461a mov r2, r3 8093d3c: 4b24 ldr r3, [pc, #144] ; (8093dd0 ) 8093d3e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093d42: 461a mov r2, r3 8093d44: 21ca movs r1, #202 ; 0xca 8093d46: 20c6 movs r0, #198 ; 0xc6 8093d48: f7c2 f808 bl 8055d5c LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8093d4c: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8093d50: b2db uxtb r3, r3 8093d52: 461a mov r2, r3 8093d54: 4b1e ldr r3, [pc, #120] ; (8093dd0 ) 8093d56: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093d5a: 461a mov r2, r3 8093d5c: 21ca movs r1, #202 ; 0xca 8093d5e: 20d6 movs r0, #214 ; 0xd6 8093d60: f7c1 fffc bl 8055d5c LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8093d64: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8093d68: b2db uxtb r3, r3 8093d6a: 461a mov r2, r3 8093d6c: 4b18 ldr r3, [pc, #96] ; (8093dd0 ) 8093d6e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093d72: 461a mov r2, r3 8093d74: 21ca movs r1, #202 ; 0xca 8093d76: 20e6 movs r0, #230 ; 0xe6 8093d78: f7c1 fff0 bl 8055d5c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 8093d7c: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8093d80: b2db uxtb r3, r3 8093d82: 461a mov r2, r3 8093d84: 4b12 ldr r3, [pc, #72] ; (8093dd0 ) 8093d86: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093d8a: 461a mov r2, r3 8093d8c: 21ca movs r1, #202 ; 0xca 8093d8e: 20f6 movs r0, #246 ; 0xf6 8093d90: f7c1 ffe4 bl 8055d5c LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8093d94: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8093d98: b2db uxtb r3, r3 8093d9a: 461a mov r2, r3 8093d9c: 4b0c ldr r3, [pc, #48] ; (8093dd0 ) 8093d9e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093da2: 461a mov r2, r3 8093da4: 21ca movs r1, #202 ; 0xca 8093da6: f44f 7083 mov.w r0, #262 ; 0x106 8093daa: f7c1 ffd7 bl 8055d5c LCD_DisplayString(278, LCD_LINE_12, "."); 8093dae: 4a09 ldr r2, [pc, #36] ; (8093dd4 ) 8093db0: 21ca movs r1, #202 ; 0xca 8093db2: f44f 708b mov.w r0, #278 ; 0x116 8093db6: f7c1 ffd1 bl 8055d5c break; 8093dba: e0ac b.n 8093f16 8093dbc: 20023eb8 .word 0x20023eb8 8093dc0: ff0a0f1f .word 0xff0a0f1f 8093dc4: ffd8aa57 .word 0xffd8aa57 8093dc8: ff808080 .word 0xff808080 8093dcc: 200216ac .word 0x200216ac 8093dd0: 2002096c .word 0x2002096c 8093dd4: 080d6258 .word 0x080d6258 8093dd8: 200205cc .word 0x200205cc 8093ddc: 2002033c .word 0x2002033c case WaveTacho: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8093de0: 49ad ldr r1, [pc, #692] ; (8094098 ) 8093de2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8093de6: f7c1 fa11 bl 805520c BSP_LCD_FillRect(253, CHECKBOX_LINE_6-2, 14, 14); 8093dea: 230e movs r3, #14 8093dec: 220e movs r2, #14 8093dee: 216b movs r1, #107 ; 0x6b 8093df0: 20fd movs r0, #253 ; 0xfd 8093df2: f7c1 fe99 bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093df6: 49a8 ldr r1, [pc, #672] ; (8094098 ) 8093df8: f04f 30ff mov.w r0, #4294967295 8093dfc: f7c1 fa06 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8093e00: 230a movs r3, #10 8093e02: 220a movs r2, #10 8093e04: 216d movs r1, #109 ; 0x6d 8093e06: 20ff movs r0, #255 ; 0xff 8093e08: f7c1 fe8e bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093e0c: 49a2 ldr r1, [pc, #648] ; (8094098 ) 8093e0e: f04f 30ff mov.w r0, #4294967295 8093e12: f7c1 f9fb bl 805520c LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8093e16: 4ba1 ldr r3, [pc, #644] ; (809409c ) 8093e18: 7b1b ldrb r3, [r3, #12] 8093e1a: b2db uxtb r3, r3 8093e1c: 461a mov r2, r3 8093e1e: 4ba0 ldr r3, [pc, #640] ; (80940a0 ) 8093e20: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093e24: 461a mov r2, r3 8093e26: 2127 movs r1, #39 ; 0x27 8093e28: 200a movs r0, #10 8093e2a: f7c1 ff97 bl 8055d5c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8093e2e: 499a ldr r1, [pc, #616] ; (8094098 ) 8093e30: 489c ldr r0, [pc, #624] ; (80940a4 ) 8093e32: f7c1 f9eb bl 805520c LCD_DisplayStringC(260, LCD_LINE_7, str1); 8093e36: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093e3a: 461a mov r2, r3 8093e3c: 217a movs r1, #122 ; 0x7a 8093e3e: f44f 7082 mov.w r0, #260 ; 0x104 8093e42: f7c1 ffa3 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8093e46: 4b95 ldr r3, [pc, #596] ; (809409c ) 8093e48: 7b1b ldrb r3, [r3, #12] 8093e4a: b2db uxtb r3, r3 8093e4c: 461a mov r2, r3 8093e4e: 4b93 ldr r3, [pc, #588] ; (809409c ) 8093e50: 7b9b ldrb r3, [r3, #14] 8093e52: b2db uxtb r3, r3 8093e54: 4618 mov r0, r3 8093e56: 4994 ldr r1, [pc, #592] ; (80940a8 ) 8093e58: 4613 mov r3, r2 8093e5a: 009b lsls r3, r3, #2 8093e5c: 4413 add r3, r2 8093e5e: 005b lsls r3, r3, #1 8093e60: 4413 add r3, r2 8093e62: 4403 add r3, r0 8093e64: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8093e68: 461a mov r2, r3 8093e6a: 218a movs r1, #138 ; 0x8a 8093e6c: f44f 7082 mov.w r0, #260 ; 0x104 8093e70: f7c1 ff8c bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093e74: 4988 ldr r1, [pc, #544] ; (8094098 ) 8093e76: f04f 30ff mov.w r0, #4294967295 8093e7a: f7c1 f9c7 bl 805520c BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8093e7e: 230a movs r3, #10 8093e80: 220a movs r2, #10 8093e82: 219d movs r1, #157 ; 0x9d 8093e84: 20ff movs r0, #255 ; 0xff 8093e86: f7c1 fe4f bl 8055b28 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8093e8a: 230a movs r3, #10 8093e8c: 220a movs r2, #10 8093e8e: 21bd movs r1, #189 ; 0xbd 8093e90: 20ff movs r0, #255 ; 0xff 8093e92: f7c1 fe49 bl 8055b28 if(pardata.THR & 0x80) 8093e96: 4b81 ldr r3, [pc, #516] ; (809409c ) 8093e98: 7bdb ldrb r3, [r3, #15] 8093e9a: b2db uxtb r3, r3 8093e9c: b25b sxtb r3, r3 8093e9e: 2b00 cmp r3, #0 8093ea0: da14 bge.n 8093ecc { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8093ea2: 497d ldr r1, [pc, #500] ; (8094098 ) 8093ea4: 487f ldr r0, [pc, #508] ; (80940a4 ) 8093ea6: f7c1 f9b1 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8093eaa: f507 73c0 add.w r3, r7, #384 ; 0x180 8093eae: 461a mov r2, r3 8093eb0: 21aa movs r1, #170 ; 0xaa 8093eb2: f44f 7082 mov.w r0, #260 ; 0x104 8093eb6: f7c1 ff69 bl 8055d8c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8093eba: f507 73c6 add.w r3, r7, #396 ; 0x18c 8093ebe: 461a mov r2, r3 8093ec0: 21ca movs r1, #202 ; 0xca 8093ec2: f44f 7082 mov.w r0, #260 ; 0x104 8093ec6: f7c1 ff61 bl 8055d8c 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; 8093eca: e023 b.n 8093f14 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8093ecc: 4972 ldr r1, [pc, #456] ; (8094098 ) 8093ece: 4877 ldr r0, [pc, #476] ; (80940ac ) 8093ed0: f7c1 f99c bl 805520c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8093ed4: f507 73c6 add.w r3, r7, #396 ; 0x18c 8093ed8: 461a mov r2, r3 8093eda: 21ca movs r1, #202 ; 0xca 8093edc: f44f 7082 mov.w r0, #260 ; 0x104 8093ee0: f7c1 ff54 bl 8055d8c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8093ee4: 4b6d ldr r3, [pc, #436] ; (809409c ) 8093ee6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8093eea: f003 0304 and.w r3, r3, #4 8093eee: 2b00 cmp r3, #0 8093ef0: d104 bne.n 8093efc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8093ef2: 4969 ldr r1, [pc, #420] ; (8094098 ) 8093ef4: 486b ldr r0, [pc, #428] ; (80940a4 ) 8093ef6: f7c1 f989 bl 805520c 8093efa: e003 b.n 8093f04 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8093efc: 4966 ldr r1, [pc, #408] ; (8094098 ) 8093efe: 486b ldr r0, [pc, #428] ; (80940ac ) 8093f00: f7c1 f984 bl 805520c LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8093f04: f507 73c0 add.w r3, r7, #384 ; 0x180 8093f08: 461a mov r2, r3 8093f0a: 21aa movs r1, #170 ; 0xaa 8093f0c: f44f 7082 mov.w r0, #260 ; 0x104 8093f10: f7c1 ff3c bl 8055d8c break; 8093f14: bf00 nop } if(pardata.OPTIONS & 0x4) // Åñëè àâòîóñèëåíèå 8093f16: 4b61 ldr r3, [pc, #388] ; (809409c ) 8093f18: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8093f1c: f003 0304 and.w r3, r3, #4 8093f20: 2b00 cmp r3, #0 8093f22: d00a beq.n 8093f3a { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8093f24: 495c ldr r1, [pc, #368] ; (8094098 ) 8093f26: 4862 ldr r0, [pc, #392] ; (80940b0 ) 8093f28: f7c1 f970 bl 805520c BSP_LCD_FillRect(257, CHECKBOX_LINE_9+2, 6, 6); 8093f2c: 2306 movs r3, #6 8093f2e: 2206 movs r2, #6 8093f30: 219f movs r1, #159 ; 0x9f 8093f32: f240 1001 movw r0, #257 ; 0x101 8093f36: f7c1 fdf7 bl 8055b28 } if(pardata.OPTIONS & BIT7) 8093f3a: 4b58 ldr r3, [pc, #352] ; (809409c ) 8093f3c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8093f40: f003 0380 and.w r3, r3, #128 ; 0x80 8093f44: 2b00 cmp r3, #0 8093f46: d00a beq.n 8093f5e { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8093f48: 4953 ldr r1, [pc, #332] ; (8094098 ) 8093f4a: 4859 ldr r0, [pc, #356] ; (80940b0 ) 8093f4c: f7c1 f95e bl 805520c BSP_LCD_FillRect(257, CHECKBOX_LINE_6+2, 6, 6); 8093f50: 2306 movs r3, #6 8093f52: 2206 movs r2, #6 8093f54: 216f movs r1, #111 ; 0x6f 8093f56: f240 1001 movw r0, #257 ; 0x101 8093f5a: f7c1 fde5 bl 8055b28 } if(pardata.THR & 0x80) // Åñëè ïîðîã åíåéáëåä 8093f5e: 4b4f ldr r3, [pc, #316] ; (809409c ) 8093f60: 7bdb ldrb r3, [r3, #15] 8093f62: b2db uxtb r3, r3 8093f64: b25b sxtb r3, r3 8093f66: 2b00 cmp r3, #0 8093f68: f285 8151 bge.w 809920e { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8093f6c: 494a ldr r1, [pc, #296] ; (8094098 ) 8093f6e: 4850 ldr r0, [pc, #320] ; (80940b0 ) 8093f70: f7c1 f94c bl 805520c BSP_LCD_FillRect(257, CHECKBOX_LINE_11+2, 6, 6); 8093f74: 2306 movs r3, #6 8093f76: 2206 movs r2, #6 8093f78: 21bf movs r1, #191 ; 0xbf 8093f7a: f240 1001 movw r0, #257 ; 0x101 8093f7e: f7c1 fdd3 bl 8055b28 } break; 8093f82: f005 b944 b.w 809920e case EXPLORER: if(pardata.LANG == RUS) 8093f86: 4b45 ldr r3, [pc, #276] ; (809409c ) 8093f88: 7b1b ldrb r3, [r3, #12] 8093f8a: b2db uxtb r3, r3 8093f8c: 2b00 cmp r3, #0 8093f8e: d105 bne.n 8093f9c DrawImage(&bmLEGEND_PTM_RUS, 0, 45); 8093f90: 222d movs r2, #45 ; 0x2d 8093f92: 2100 movs r1, #0 8093f94: 4847 ldr r0, [pc, #284] ; (80940b4 ) 8093f96: f7c2 f82d bl 8055ff4 8093f9a: e004 b.n 8093fa6 else DrawImage(&bmLEGEND_PTM_ENG, 0, 45); 8093f9c: 222d movs r2, #45 ; 0x2d 8093f9e: 2100 movs r1, #0 8093fa0: 4845 ldr r0, [pc, #276] ; (80940b8 ) 8093fa2: f7c2 f827 bl 8055ff4 if(menupos == NoFilesPTM) 8093fa6: 4b45 ldr r3, [pc, #276] ; (80940bc ) 8093fa8: 781b ldrb r3, [r3, #0] 8093faa: b2db uxtb r3, r3 8093fac: 2b01 cmp r3, #1 8093fae: d13a bne.n 8094026 { BSP_LCD_SetFont(&Font12); 8093fb0: 4843 ldr r0, [pc, #268] ; (80940c0 ) 8093fb2: f7c1 f967 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093fb6: 4938 ldr r1, [pc, #224] ; (8094098 ) 8093fb8: f04f 30ff mov.w r0, #4294967295 8093fbc: f7c1 f926 bl 805520c if(pardata.LANG == RUS) 8093fc0: 4b36 ldr r3, [pc, #216] ; (809409c ) 8093fc2: 7b1b ldrb r3, [r3, #12] 8093fc4: b2db uxtb r3, r3 8093fc6: 2b00 cmp r3, #0 8093fc8: d113 bne.n 8093ff2 { BSP_LCD_DisplayStringAt(160, 111, "Ôàéëû èçìåðåíèé îòñóòñòâóþò.", CENTER_MODE); 8093fca: 2301 movs r3, #1 8093fcc: 4a3d ldr r2, [pc, #244] ; (80940c4 ) 8093fce: 216f movs r1, #111 ; 0x6f 8093fd0: 20a0 movs r0, #160 ; 0xa0 8093fd2: f7c1 f9e1 bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "Äëÿ ñîõðàíåíèÿ ðåçóëüòàòîâ", CENTER_MODE); 8093fd6: 2301 movs r3, #1 8093fd8: 4a3b ldr r2, [pc, #236] ; (80940c8 ) 8093fda: 217e movs r1, #126 ; 0x7e 8093fdc: 20a0 movs r0, #160 ; 0xa0 8093fde: f7c1 f9db bl 8055398 BSP_LCD_DisplayStringAt(160, 111+30, "èçìåðåíèé ñîçäàéòå íîâûé ôàéë.", CENTER_MODE); 8093fe2: 2301 movs r3, #1 8093fe4: 4a39 ldr r2, [pc, #228] ; (80940cc ) 8093fe6: 218d movs r1, #141 ; 0x8d 8093fe8: 20a0 movs r0, #160 ; 0xa0 8093fea: f7c1 f9d5 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); } } } break; 8093fee: f005 b910 b.w 8099212 BSP_LCD_DisplayStringAt(160, 111, "The file measurements are not", CENTER_MODE); 8093ff2: 2301 movs r3, #1 8093ff4: 4a36 ldr r2, [pc, #216] ; (80940d0 ) 8093ff6: 216f movs r1, #111 ; 0x6f 8093ff8: 20a0 movs r0, #160 ; 0xa0 8093ffa: f7c1 f9cd bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "available. To save the", CENTER_MODE); 8093ffe: 2301 movs r3, #1 8094000: 4a34 ldr r2, [pc, #208] ; (80940d4 ) 8094002: 217e movs r1, #126 ; 0x7e 8094004: 20a0 movs r0, #160 ; 0xa0 8094006: f7c1 f9c7 bl 8055398 BSP_LCD_DisplayStringAt(160, 111+30, "measurement results, create", CENTER_MODE); 809400a: 2301 movs r3, #1 809400c: 4a32 ldr r2, [pc, #200] ; (80940d8 ) 809400e: 218d movs r1, #141 ; 0x8d 8094010: 20a0 movs r0, #160 ; 0xa0 8094012: f7c1 f9c1 bl 8055398 BSP_LCD_DisplayStringAt(160, 111+45, "a new file.", CENTER_MODE); 8094016: 2301 movs r3, #1 8094018: 4a30 ldr r2, [pc, #192] ; (80940dc ) 809401a: 219c movs r1, #156 ; 0x9c 809401c: 20a0 movs r0, #160 ; 0xa0 809401e: f7c1 f9bb bl 8055398 break; 8094022: f005 b8f6 b.w 8099212 if((menupos == FilesPTM) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) 8094026: 4b25 ldr r3, [pc, #148] ; (80940bc ) 8094028: 781b ldrb r3, [r3, #0] 809402a: b2db uxtb r3, r3 809402c: 2b02 cmp r3, #2 809402e: d00f beq.n 8094050 8094030: 4b22 ldr r3, [pc, #136] ; (80940bc ) 8094032: 781b ldrb r3, [r3, #0] 8094034: b2db uxtb r3, r3 8094036: 2b06 cmp r3, #6 8094038: d00a beq.n 8094050 809403a: 4b20 ldr r3, [pc, #128] ; (80940bc ) 809403c: 781b ldrb r3, [r3, #0] 809403e: b2db uxtb r3, r3 8094040: 2b07 cmp r3, #7 8094042: d005 beq.n 8094050 8094044: 4b1d ldr r3, [pc, #116] ; (80940bc ) 8094046: 781b ldrb r3, [r3, #0] 8094048: b2db uxtb r3, r3 809404a: 2b0a cmp r3, #10 809404c: f045 80e1 bne.w 8099212 BSP_LCD_SetFont(&Font12); 8094050: 481b ldr r0, [pc, #108] ; (80940c0 ) 8094052: f7c1 f917 bl 8055284 for(i = 0; i < VIEW_FILES; i++) 8094056: 2300 movs r3, #0 8094058: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 809405c: e1a8 b.n 80943b0 if(CursorIndex == i) 809405e: 4b20 ldr r3, [pc, #128] ; (80940e0 ) 8094060: 681a ldr r2, [r3, #0] 8094062: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094066: 429a cmp r2, r3 8094068: d142 bne.n 80940f0 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 809406a: 491e ldr r1, [pc, #120] ; (80940e4 ) 809406c: 481d ldr r0, [pc, #116] ; (80940e4 ) 809406e: f7c1 f8cd bl 805520c BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 8094072: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094076: 4a1c ldr r2, [pc, #112] ; (80940e8 ) 8094078: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 809407c: 4b1b ldr r3, [pc, #108] ; (80940ec ) 809407e: 681b ldr r3, [r3, #0] 8094080: 88db ldrh r3, [r3, #6] 8094082: f44f 729c mov.w r2, #312 ; 0x138 8094086: 2003 movs r0, #3 8094088: f7c1 fd4e bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809408c: 4915 ldr r1, [pc, #84] ; (80940e4 ) 809408e: f04f 30ff mov.w r0, #4294967295 8094092: f7c1 f8bb bl 805520c 8094096: e030 b.n 80940fa 8094098: ff0a0f1f .word 0xff0a0f1f 809409c: 20023eb8 .word 0x20023eb8 80940a0: 200205cc .word 0x200205cc 80940a4: ffd8aa57 .word 0xffd8aa57 80940a8: 2002033c .word 0x2002033c 80940ac: ff808080 .word 0xff808080 80940b0: ff404040 .word 0xff404040 80940b4: 081347e8 .word 0x081347e8 80940b8: 0812fcdc .word 0x0812fcdc 80940bc: 20020070 .word 0x20020070 80940c0: 20020038 .word 0x20020038 80940c4: 080d6bb4 .word 0x080d6bb4 80940c8: 080d6bd4 .word 0x080d6bd4 80940cc: 080d6bf0 .word 0x080d6bf0 80940d0: 080d6c10 .word 0x080d6c10 80940d4: 080d6c30 .word 0x080d6c30 80940d8: 080d6c48 .word 0x080d6c48 80940dc: 080d6c64 .word 0x080d6c64 80940e0: 20020e00 .word 0x20020e00 80940e4: ff606060 .word 0xff606060 80940e8: 080f5e78 .word 0x080f5e78 80940ec: 20025d7c .word 0x20025d7c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80940f0: 499e ldr r1, [pc, #632] ; (809436c ) 80940f2: f04f 30ff mov.w r0, #4294967295 80940f6: f7c1 f889 bl 805520c if(ExplorerFiles[i].fname[0] != 0) 80940fa: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80940fe: 499c ldr r1, [pc, #624] ; (8094370 ) 8094100: 4613 mov r3, r2 8094102: 00db lsls r3, r3, #3 8094104: 1a9b subs r3, r3, r2 8094106: 00db lsls r3, r3, #3 8094108: 440b add r3, r1 809410a: 330c adds r3, #12 809410c: 781b ldrb r3, [r3, #0] 809410e: 2b00 cmp r3, #0 8094110: f000 8149 beq.w 80943a6 BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 8094114: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094118: 4a96 ldr r2, [pc, #600] ; (8094374 ) 809411a: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 809411e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8094122: 4613 mov r3, r2 8094124: 00db lsls r3, r3, #3 8094126: 1a9b subs r3, r3, r2 8094128: 00db lsls r3, r3, #3 809412a: 3308 adds r3, #8 809412c: 4a90 ldr r2, [pc, #576] ; (8094370 ) 809412e: 4413 add r3, r2 8094130: 1d1a adds r2, r3, #4 8094132: 2303 movs r3, #3 8094134: 2005 movs r0, #5 8094136: f7c1 f92f bl 8055398 k = 0; 809413a: 2300 movs r3, #0 809413c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 GetDateTimeFromUnix(&FatTime, ExplorerFiles[i].datetime); 8094140: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8094144: 498a ldr r1, [pc, #552] ; (8094370 ) 8094146: 4613 mov r3, r2 8094148: 00db lsls r3, r3, #3 809414a: 1a9b subs r3, r3, r2 809414c: 00db lsls r3, r3, #3 809414e: 440b add r3, r1 8094150: 3308 adds r3, #8 8094152: 681a ldr r2, [r3, #0] 8094154: f107 030c add.w r3, r7, #12 8094158: 4611 mov r1, r2 809415a: 4618 mov r0, r3 809415c: f7d4 ff46 bl 8068fec str1[k++] = (FatTime.Date / 10) + 48; 8094160: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094164: 1c5a adds r2, r3, #1 8094166: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809416a: f107 020c add.w r2, r7, #12 809416e: 7852 ldrb r2, [r2, #1] 8094170: 4981 ldr r1, [pc, #516] ; (8094378 ) 8094172: fba1 1202 umull r1, r2, r1, r2 8094176: 08d2 lsrs r2, r2, #3 8094178: b2d2 uxtb r2, r2 809417a: 3230 adds r2, #48 ; 0x30 809417c: b2d1 uxtb r1, r2 809417e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094182: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Date % 10) + 48; 8094184: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8094188: 1c53 adds r3, r2, #1 809418a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809418e: f107 030c add.w r3, r7, #12 8094192: 7859 ldrb r1, [r3, #1] 8094194: 4b78 ldr r3, [pc, #480] ; (8094378 ) 8094196: fba3 0301 umull r0, r3, r3, r1 809419a: 08d8 lsrs r0, r3, #3 809419c: 4603 mov r3, r0 809419e: 009b lsls r3, r3, #2 80941a0: 4403 add r3, r0 80941a2: 005b lsls r3, r3, #1 80941a4: 1acb subs r3, r1, r3 80941a6: b2db uxtb r3, r3 80941a8: 3330 adds r3, #48 ; 0x30 80941aa: b2d9 uxtb r1, r3 80941ac: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80941b0: 5499 strb r1, [r3, r2] str1[k++] = '.'; 80941b2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80941b6: 1c5a adds r2, r3, #1 80941b8: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80941bc: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80941c0: 212e movs r1, #46 ; 0x2e 80941c2: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month / 10) + 48; 80941c4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80941c8: 1c5a adds r2, r3, #1 80941ca: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80941ce: f107 020c add.w r2, r7, #12 80941d2: 7812 ldrb r2, [r2, #0] 80941d4: 4968 ldr r1, [pc, #416] ; (8094378 ) 80941d6: fba1 1202 umull r1, r2, r1, r2 80941da: 08d2 lsrs r2, r2, #3 80941dc: b2d2 uxtb r2, r2 80941de: 3230 adds r2, #48 ; 0x30 80941e0: b2d1 uxtb r1, r2 80941e2: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80941e6: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month % 10) + 48; 80941e8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80941ec: 1c53 adds r3, r2, #1 80941ee: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80941f2: f107 030c add.w r3, r7, #12 80941f6: 7819 ldrb r1, [r3, #0] 80941f8: 4b5f ldr r3, [pc, #380] ; (8094378 ) 80941fa: fba3 0301 umull r0, r3, r3, r1 80941fe: 08d8 lsrs r0, r3, #3 8094200: 4603 mov r3, r0 8094202: 009b lsls r3, r3, #2 8094204: 4403 add r3, r0 8094206: 005b lsls r3, r3, #1 8094208: 1acb subs r3, r1, r3 809420a: b2db uxtb r3, r3 809420c: 3330 adds r3, #48 ; 0x30 809420e: b2d9 uxtb r1, r3 8094210: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094214: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8094216: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809421a: 1c5a adds r2, r3, #1 809421c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094220: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094224: 212e movs r1, #46 ; 0x2e 8094226: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year / 10) + 48; 8094228: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809422c: 1c5a adds r2, r3, #1 809422e: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094232: f107 020c add.w r2, r7, #12 8094236: 7892 ldrb r2, [r2, #2] 8094238: 494f ldr r1, [pc, #316] ; (8094378 ) 809423a: fba1 1202 umull r1, r2, r1, r2 809423e: 08d2 lsrs r2, r2, #3 8094240: b2d2 uxtb r2, r2 8094242: 3230 adds r2, #48 ; 0x30 8094244: b2d1 uxtb r1, r2 8094246: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809424a: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year % 10) + 48; 809424c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8094250: 1c53 adds r3, r2, #1 8094252: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094256: f107 030c add.w r3, r7, #12 809425a: 7899 ldrb r1, [r3, #2] 809425c: 4b46 ldr r3, [pc, #280] ; (8094378 ) 809425e: fba3 0301 umull r0, r3, r3, r1 8094262: 08d8 lsrs r0, r3, #3 8094264: 4603 mov r3, r0 8094266: 009b lsls r3, r3, #2 8094268: 4403 add r3, r0 809426a: 005b lsls r3, r3, #1 809426c: 1acb subs r3, r1, r3 809426e: b2db uxtb r3, r3 8094270: 3330 adds r3, #48 ; 0x30 8094272: b2d9 uxtb r1, r3 8094274: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094278: 5499 strb r1, [r3, r2] str1[k++] = ' '; 809427a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809427e: 1c5a adds r2, r3, #1 8094280: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094284: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094288: 2120 movs r1, #32 809428a: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours / 10) + 48; 809428c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094290: 1c5a adds r2, r3, #1 8094292: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094296: f107 020c add.w r2, r7, #12 809429a: 78d2 ldrb r2, [r2, #3] 809429c: 4936 ldr r1, [pc, #216] ; (8094378 ) 809429e: fba1 1202 umull r1, r2, r1, r2 80942a2: 08d2 lsrs r2, r2, #3 80942a4: b2d2 uxtb r2, r2 80942a6: 3230 adds r2, #48 ; 0x30 80942a8: b2d1 uxtb r1, r2 80942aa: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80942ae: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours % 10) + 48; 80942b0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80942b4: 1c53 adds r3, r2, #1 80942b6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80942ba: f107 030c add.w r3, r7, #12 80942be: 78d9 ldrb r1, [r3, #3] 80942c0: 4b2d ldr r3, [pc, #180] ; (8094378 ) 80942c2: fba3 0301 umull r0, r3, r3, r1 80942c6: 08d8 lsrs r0, r3, #3 80942c8: 4603 mov r3, r0 80942ca: 009b lsls r3, r3, #2 80942cc: 4403 add r3, r0 80942ce: 005b lsls r3, r3, #1 80942d0: 1acb subs r3, r1, r3 80942d2: b2db uxtb r3, r3 80942d4: 3330 adds r3, #48 ; 0x30 80942d6: b2d9 uxtb r1, r3 80942d8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80942dc: 5499 strb r1, [r3, r2] str1[k++] = ':'; 80942de: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80942e2: 1c5a adds r2, r3, #1 80942e4: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80942e8: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80942ec: 213a movs r1, #58 ; 0x3a 80942ee: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes / 10) + 48; 80942f0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80942f4: 1c5a adds r2, r3, #1 80942f6: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80942fa: f107 020c add.w r2, r7, #12 80942fe: 7912 ldrb r2, [r2, #4] 8094300: 491d ldr r1, [pc, #116] ; (8094378 ) 8094302: fba1 1202 umull r1, r2, r1, r2 8094306: 08d2 lsrs r2, r2, #3 8094308: b2d2 uxtb r2, r2 809430a: 3230 adds r2, #48 ; 0x30 809430c: b2d1 uxtb r1, r2 809430e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094312: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes % 10) + 48; 8094314: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8094318: 1c53 adds r3, r2, #1 809431a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809431e: f107 030c add.w r3, r7, #12 8094322: 7919 ldrb r1, [r3, #4] 8094324: 4b14 ldr r3, [pc, #80] ; (8094378 ) 8094326: fba3 0301 umull r0, r3, r3, r1 809432a: 08d8 lsrs r0, r3, #3 809432c: 4603 mov r3, r0 809432e: 009b lsls r3, r3, #2 8094330: 4403 add r3, r0 8094332: 005b lsls r3, r3, #1 8094334: 1acb subs r3, r1, r3 8094336: b2db uxtb r3, r3 8094338: 3330 adds r3, #48 ; 0x30 809433a: b2d9 uxtb r1, r3 809433c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094340: 5499 strb r1, [r3, r2] str1[k++] = '\0'; 8094342: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094346: 1c5a adds r2, r3, #1 8094348: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809434c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094350: 2100 movs r1, #0 8094352: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 8094354: 4b09 ldr r3, [pc, #36] ; (809437c ) 8094356: 681a ldr r2, [r3, #0] 8094358: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809435c: 429a cmp r2, r3 809435e: d111 bne.n 8094384 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094360: 4907 ldr r1, [pc, #28] ; (8094380 ) 8094362: f04f 30ff mov.w r0, #4294967295 8094366: f7c0 ff51 bl 805520c 809436a: e010 b.n 809438e 809436c: ff0a0f1f .word 0xff0a0f1f 8094370: 200223a0 .word 0x200223a0 8094374: 080f5e78 .word 0x080f5e78 8094378: cccccccd .word 0xcccccccd 809437c: 20020e00 .word 0x20020e00 8094380: ff606060 .word 0xff606060 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094384: 49c0 ldr r1, [pc, #768] ; (8094688 ) 8094386: f04f 30ff mov.w r0, #4294967295 809438a: f7c0 ff3f bl 805520c BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 809438e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094392: 4abe ldr r2, [pc, #760] ; (809468c ) 8094394: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8094398: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809439c: 2302 movs r3, #2 809439e: f44f 709c mov.w r0, #312 ; 0x138 80943a2: f7c0 fff9 bl 8055398 for(i = 0; i < VIEW_FILES; i++) 80943a6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80943aa: 3301 adds r3, #1 80943ac: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 80943b0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80943b4: 2b0b cmp r3, #11 80943b6: f67f ae52 bls.w 809405e if(NumFilesPTM > VIEW_FILES) 80943ba: 4bb5 ldr r3, [pc, #724] ; (8094690 ) 80943bc: 681b ldr r3, [r3, #0] 80943be: 2b0c cmp r3, #12 80943c0: d95f bls.n 8094482 k = (140 * VIEW_FILES) / NumFilesPTM; //äëèíà ïîëçóíêà 80943c2: 4bb3 ldr r3, [pc, #716] ; (8094690 ) 80943c4: 681b ldr r3, [r3, #0] 80943c6: f44f 62d2 mov.w r2, #1680 ; 0x690 80943ca: fbb2 f3f3 udiv r3, r2, r3 80943ce: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 80943d2: 4bb0 ldr r3, [pc, #704] ; (8094694 ) 80943d4: 681b ldr r3, [r3, #0] 80943d6: 228c movs r2, #140 ; 0x8c 80943d8: fb02 f303 mul.w r3, r2, r3 80943dc: ee07 3a90 vmov s15, r3 80943e0: eef8 7a67 vcvt.f32.u32 s15, s15 80943e4: f507 638b add.w r3, r7, #1112 ; 0x458 80943e8: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesPTM) + 96.0f; 80943ec: 4ba8 ldr r3, [pc, #672] ; (8094690 ) 80943ee: 681b ldr r3, [r3, #0] 80943f0: ee07 3a90 vmov s15, r3 80943f4: eeb8 7a67 vcvt.f32.u32 s14, s15 80943f8: f507 638b add.w r3, r7, #1112 ; 0x458 80943fc: edd3 6a00 vldr s13, [r3] 8094400: eec6 7a87 vdiv.f32 s15, s13, s14 8094404: ed9f 7aa4 vldr s14, [pc, #656] ; 8094698 8094408: ee77 7a87 vadd.f32 s15, s15, s14 809440c: f507 638b add.w r3, r7, #1112 ; 0x458 8094410: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 8094414: f507 638b add.w r3, r7, #1112 ; 0x458 8094418: edd3 7a00 vldr s15, [r3] 809441c: eefc 7ae7 vcvt.u32.f32 s15, s15 8094420: edc7 7a01 vstr s15, [r7, #4] 8094424: 88bb ldrh r3, [r7, #4] 8094426: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 809442a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809442e: b29a uxth r2, r3 8094430: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8094434: 4413 add r3, r2 8094436: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 809443a: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 809443e: 2bec cmp r3, #236 ; 0xec 8094440: d905 bls.n 809444e k = 236 - y0; 8094442: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8094446: f1c3 03ec rsb r3, r3, #236 ; 0xec 809444a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809444e: 498e ldr r1, [pc, #568] ; (8094688 ) 8094450: 4892 ldr r0, [pc, #584] ; (809469c ) 8094452: f7c0 fedb bl 805520c BSP_LCD_DrawRect(314, 94, 5, 143); 8094456: 238f movs r3, #143 ; 0x8f 8094458: 2205 movs r2, #5 809445a: 215e movs r1, #94 ; 0x5e 809445c: f44f 709d mov.w r0, #314 ; 0x13a 8094460: f7c1 f9da bl 8055818 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094464: 4988 ldr r1, [pc, #544] ; (8094688 ) 8094466: f04f 30ff mov.w r0, #4294967295 809446a: f7c0 fecf bl 805520c BSP_LCD_FillRect(316, y0, 2, k); 809446e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094472: b29b uxth r3, r3 8094474: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 8094478: 2202 movs r2, #2 809447a: f44f 709e mov.w r0, #316 ; 0x13c 809447e: f7c1 fb53 bl 8055b28 if((menupos != NoFilesGTR) && (menupos != FilesGTR)) 8094482: 4b87 ldr r3, [pc, #540] ; (80946a0 ) 8094484: 781b ldrb r3, [r3, #0] 8094486: b2db uxtb r3, r3 8094488: 2b01 cmp r3, #1 809448a: f004 86c2 beq.w 8099212 809448e: 4b84 ldr r3, [pc, #528] ; (80946a0 ) 8094490: 781b ldrb r3, [r3, #0] 8094492: b2db uxtb r3, r3 8094494: 2b02 cmp r3, #2 8094496: f004 86bc beq.w 8099212 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809449a: 497b ldr r1, [pc, #492] ; (8094688 ) 809449c: 487f ldr r0, [pc, #508] ; (809469c ) 809449e: f7c0 feb5 bl 805520c BSP_LCD_FillRect(60, 73, 200, 124); 80944a2: 237c movs r3, #124 ; 0x7c 80944a4: 22c8 movs r2, #200 ; 0xc8 80944a6: 2149 movs r1, #73 ; 0x49 80944a8: 203c movs r0, #60 ; 0x3c 80944aa: f7c1 fb3d bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80944ae: 4976 ldr r1, [pc, #472] ; (8094688 ) 80944b0: 4875 ldr r0, [pc, #468] ; (8094688 ) 80944b2: f7c0 feab bl 805520c BSP_LCD_FillRect(61, 74, 198, 122); 80944b6: 237a movs r3, #122 ; 0x7a 80944b8: 22c6 movs r2, #198 ; 0xc6 80944ba: 214a movs r1, #74 ; 0x4a 80944bc: 203d movs r0, #61 ; 0x3d 80944be: f7c1 fb33 bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80944c2: 4971 ldr r1, [pc, #452] ; (8094688 ) 80944c4: f04f 30ff mov.w r0, #4294967295 80944c8: f7c0 fea0 bl 805520c BSP_LCD_SetFont(&Font12); 80944cc: 4875 ldr r0, [pc, #468] ; (80946a4 ) 80944ce: f7c0 fed9 bl 8055284 if((menupos == UpNo) || (menupos == UpYes)) 80944d2: 4b73 ldr r3, [pc, #460] ; (80946a0 ) 80944d4: 781b ldrb r3, [r3, #0] 80944d6: b2db uxtb r3, r3 80944d8: 2b06 cmp r3, #6 80944da: d004 beq.n 80944e6 80944dc: 4b70 ldr r3, [pc, #448] ; (80946a0 ) 80944de: 781b ldrb r3, [r3, #0] 80944e0: b2db uxtb r3, r3 80944e2: 2b07 cmp r3, #7 80944e4: d179 bne.n 80945da if(pardata.LANG == RUS) 80944e6: 4b70 ldr r3, [pc, #448] ; (80946a8 ) 80944e8: 7b1b ldrb r3, [r3, #12] 80944ea: b2db uxtb r3, r3 80944ec: 2b00 cmp r3, #0 80944ee: d10c bne.n 809450a BSP_LCD_DisplayStringAt(160, 111, "Âûáðàííûé ôàéë áóäåò", CENTER_MODE); 80944f0: 2301 movs r3, #1 80944f2: 4a6e ldr r2, [pc, #440] ; (80946ac ) 80944f4: 216f movs r1, #111 ; 0x6f 80944f6: 20a0 movs r0, #160 ; 0xa0 80944f8: f7c0 ff4e bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíû. Ïðîäîëæèòü?", CENTER_MODE); 80944fc: 2301 movs r3, #1 80944fe: 4a6c ldr r2, [pc, #432] ; (80946b0 ) 8094500: 217e movs r1, #126 ; 0x7e 8094502: 20a0 movs r0, #160 ; 0xa0 8094504: f7c0 ff48 bl 8055398 8094508: e00b b.n 8094522 BSP_LCD_DisplayStringAt(160, 111, "The selected file will", CENTER_MODE); 809450a: 2301 movs r3, #1 809450c: 4a69 ldr r2, [pc, #420] ; (80946b4 ) 809450e: 216f movs r1, #111 ; 0x6f 8094510: 20a0 movs r0, #160 ; 0xa0 8094512: f7c0 ff41 bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "be deleted. Continue?", CENTER_MODE); 8094516: 2301 movs r3, #1 8094518: 4a67 ldr r2, [pc, #412] ; (80946b8 ) 809451a: 217e movs r1, #126 ; 0x7e 809451c: 20a0 movs r0, #160 ; 0xa0 809451e: f7c0 ff3b bl 8055398 if(menupos == UpNo) 8094522: 4b5f ldr r3, [pc, #380] ; (80946a0 ) 8094524: 781b ldrb r3, [r3, #0] 8094526: b2db uxtb r3, r3 8094528: 2b06 cmp r3, #6 809452a: d128 bne.n 809457e if(pardata.LANG == RUS) 809452c: 4b5e ldr r3, [pc, #376] ; (80946a8 ) 809452e: 7b1b ldrb r3, [r3, #12] 8094530: b2db uxtb r3, r3 8094532: 2b00 cmp r3, #0 8094534: d111 bne.n 809455a BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 8094536: 2301 movs r3, #1 8094538: 4a60 ldr r2, [pc, #384] ; (80946bc ) 809453a: 21af movs r1, #175 ; 0xaf 809453c: 20e6 movs r0, #230 ; 0xe6 809453e: f7c0 ff2b bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094542: 495f ldr r1, [pc, #380] ; (80946c0 ) 8094544: f04f 30ff mov.w r0, #4294967295 8094548: f7c0 fe60 bl 805520c BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 809454c: 2301 movs r3, #1 809454e: 4a5d ldr r2, [pc, #372] ; (80946c4 ) 8094550: 21af movs r1, #175 ; 0xaf 8094552: 205a movs r0, #90 ; 0x5a 8094554: f7c0 ff20 bl 8055398 if(menupos == UpNo) 8094558: e088 b.n 809466c BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 809455a: 2301 movs r3, #1 809455c: 4a5a ldr r2, [pc, #360] ; (80946c8 ) 809455e: 21af movs r1, #175 ; 0xaf 8094560: 20e6 movs r0, #230 ; 0xe6 8094562: f7c0 ff19 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094566: 4956 ldr r1, [pc, #344] ; (80946c0 ) 8094568: f04f 30ff mov.w r0, #4294967295 809456c: f7c0 fe4e bl 805520c BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 8094570: 2301 movs r3, #1 8094572: 4a56 ldr r2, [pc, #344] ; (80946cc ) 8094574: 21af movs r1, #175 ; 0xaf 8094576: 205a movs r0, #90 ; 0x5a 8094578: f7c0 ff0e bl 8055398 if(menupos == UpNo) 809457c: e076 b.n 809466c if(menupos == UpYes) 809457e: 4b48 ldr r3, [pc, #288] ; (80946a0 ) 8094580: 781b ldrb r3, [r3, #0] 8094582: b2db uxtb r3, r3 8094584: 2b07 cmp r3, #7 8094586: d171 bne.n 809466c if(pardata.LANG == RUS) 8094588: 4b47 ldr r3, [pc, #284] ; (80946a8 ) 809458a: 7b1b ldrb r3, [r3, #12] 809458c: b2db uxtb r3, r3 809458e: 2b00 cmp r3, #0 8094590: d111 bne.n 80945b6 BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8094592: 2301 movs r3, #1 8094594: 4a4b ldr r2, [pc, #300] ; (80946c4 ) 8094596: 21af movs r1, #175 ; 0xaf 8094598: 205a movs r0, #90 ; 0x5a 809459a: f7c0 fefd bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809459e: 4948 ldr r1, [pc, #288] ; (80946c0 ) 80945a0: f04f 30ff mov.w r0, #4294967295 80945a4: f7c0 fe32 bl 805520c BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 80945a8: 2301 movs r3, #1 80945aa: 4a44 ldr r2, [pc, #272] ; (80946bc ) 80945ac: 21af movs r1, #175 ; 0xaf 80945ae: 20e6 movs r0, #230 ; 0xe6 80945b0: f7c0 fef2 bl 8055398 if(menupos == UpNo) 80945b4: e05a b.n 809466c BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 80945b6: 2301 movs r3, #1 80945b8: 4a44 ldr r2, [pc, #272] ; (80946cc ) 80945ba: 21af movs r1, #175 ; 0xaf 80945bc: 205a movs r0, #90 ; 0x5a 80945be: f7c0 feeb bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80945c2: 493f ldr r1, [pc, #252] ; (80946c0 ) 80945c4: f04f 30ff mov.w r0, #4294967295 80945c8: f7c0 fe20 bl 805520c BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 80945cc: 2301 movs r3, #1 80945ce: 4a3e ldr r2, [pc, #248] ; (80946c8 ) 80945d0: 21af movs r1, #175 ; 0xaf 80945d2: 20e6 movs r0, #230 ; 0xe6 80945d4: f7c0 fee0 bl 8055398 if(menupos == UpNo) 80945d8: e048 b.n 809466c if(menupos == CleanUpResult) 80945da: 4b31 ldr r3, [pc, #196] ; (80946a0 ) 80945dc: 781b ldrb r3, [r3, #0] 80945de: b2db uxtb r3, r3 80945e0: 2b0a cmp r3, #10 80945e2: f044 8616 bne.w 8099212 if(CleanStatus == AP_OK) 80945e6: 4b3a ldr r3, [pc, #232] ; (80946d0 ) 80945e8: 781b ldrb r3, [r3, #0] 80945ea: b2db uxtb r3, r3 80945ec: 2b00 cmp r3, #0 80945ee: d118 bne.n 8094622 if(pardata.LANG == RUS) 80945f0: 4b2d ldr r3, [pc, #180] ; (80946a8 ) 80945f2: 7b1b ldrb r3, [r3, #12] 80945f4: b2db uxtb r3, r3 80945f6: 2b00 cmp r3, #0 80945f8: d10c bne.n 8094614 BSP_LCD_DisplayStringAt(160, 111, "Óäàëåíèå çàâåðøåíî", CENTER_MODE); 80945fa: 2301 movs r3, #1 80945fc: 4a35 ldr r2, [pc, #212] ; (80946d4 ) 80945fe: 216f movs r1, #111 ; 0x6f 8094600: 20a0 movs r0, #160 ; 0xa0 8094602: f7c0 fec9 bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "óñïåøíî!", CENTER_MODE); 8094606: 2301 movs r3, #1 8094608: 4a33 ldr r2, [pc, #204] ; (80946d8 ) 809460a: 217e movs r1, #126 ; 0x7e 809460c: 20a0 movs r0, #160 ; 0xa0 809460e: f7c0 fec3 bl 8055398 8094612: e01e b.n 8094652 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting successful!", CENTER_MODE); 8094614: 2301 movs r3, #1 8094616: 4a31 ldr r2, [pc, #196] ; (80946dc ) 8094618: 217e movs r1, #126 ; 0x7e 809461a: 20a0 movs r0, #160 ; 0xa0 809461c: f7c0 febc bl 8055398 8094620: e017 b.n 8094652 if(pardata.LANG == RUS) 8094622: 4b21 ldr r3, [pc, #132] ; (80946a8 ) 8094624: 7b1b ldrb r3, [r3, #12] 8094626: b2db uxtb r3, r3 8094628: 2b00 cmp r3, #0 809462a: d10c bne.n 8094646 BSP_LCD_DisplayStringAt(160, 111, "Îøèáêà â ïðîöåññå", CENTER_MODE); 809462c: 2301 movs r3, #1 809462e: 4a2c ldr r2, [pc, #176] ; (80946e0 ) 8094630: 216f movs r1, #111 ; 0x6f 8094632: 20a0 movs r0, #160 ; 0xa0 8094634: f7c0 feb0 bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíèÿ...", CENTER_MODE); 8094638: 2301 movs r3, #1 809463a: 4a2a ldr r2, [pc, #168] ; (80946e4 ) 809463c: 217e movs r1, #126 ; 0x7e 809463e: 20a0 movs r0, #160 ; 0xa0 8094640: f7c0 feaa bl 8055398 8094644: e005 b.n 8094652 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting error!", CENTER_MODE); 8094646: 2301 movs r3, #1 8094648: 4a27 ldr r2, [pc, #156] ; (80946e8 ) 809464a: 217e movs r1, #126 ; 0x7e 809464c: 20a0 movs r0, #160 ; 0xa0 809464e: f7c0 fea3 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094652: 491b ldr r1, [pc, #108] ; (80946c0 ) 8094654: f04f 30ff mov.w r0, #4294967295 8094658: f7c0 fdd8 bl 805520c BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); 809465c: 2301 movs r3, #1 809465e: 4a23 ldr r2, [pc, #140] ; (80946ec ) 8094660: 21af movs r1, #175 ; 0xaf 8094662: 20a0 movs r0, #160 ; 0xa0 8094664: f7c0 fe98 bl 8055398 break; 8094668: f004 bdd3 b.w 8099212 if(menupos == UpNo) 809466c: bf00 nop break; 809466e: f004 bdd0 b.w 8099212 case EXPLORER_DIAGN: if(pardata.LANG == RUS) 8094672: 4b0d ldr r3, [pc, #52] ; (80946a8 ) 8094674: 7b1b ldrb r3, [r3, #12] 8094676: b2db uxtb r3, r3 8094678: 2b00 cmp r3, #0 809467a: d13b bne.n 80946f4 DrawImage(&bmLEGEND_PTM_RUS, 0, 45); 809467c: 222d movs r2, #45 ; 0x2d 809467e: 2100 movs r1, #0 8094680: 481b ldr r0, [pc, #108] ; (80946f0 ) 8094682: f7c1 fcb7 bl 8055ff4 8094686: e03a b.n 80946fe 8094688: ff0a0f1f .word 0xff0a0f1f 809468c: 080f5e78 .word 0x080f5e78 8094690: 20020e14 .word 0x20020e14 8094694: 20020e04 .word 0x20020e04 8094698: 42c00000 .word 0x42c00000 809469c: ffd3d3d3 .word 0xffd3d3d3 80946a0: 20020070 .word 0x20020070 80946a4: 20020038 .word 0x20020038 80946a8: 20023eb8 .word 0x20023eb8 80946ac: 080d6c70 .word 0x080d6c70 80946b0: 080d6c88 .word 0x080d6c88 80946b4: 080d6ca0 .word 0x080d6ca0 80946b8: 080d6cb8 .word 0x080d6cb8 80946bc: 080d6cd0 .word 0x080d6cd0 80946c0: ff606060 .word 0xff606060 80946c4: 080d6cd4 .word 0x080d6cd4 80946c8: 080d6cd8 .word 0x080d6cd8 80946cc: 080d6cdc .word 0x080d6cdc 80946d0: 20020df0 .word 0x20020df0 80946d4: 080d6ce0 .word 0x080d6ce0 80946d8: 080d6a68 .word 0x080d6a68 80946dc: 080d6cf4 .word 0x080d6cf4 80946e0: 080d6a74 .word 0x080d6a74 80946e4: 080d6d0c .word 0x080d6d0c 80946e8: 080d6d18 .word 0x080d6d18 80946ec: 080d6d28 .word 0x080d6d28 80946f0: 081347e8 .word 0x081347e8 else DrawImage(&bmLEGEND_PTM_ENG, 0, 45); 80946f4: 222d movs r2, #45 ; 0x2d 80946f6: 2100 movs r1, #0 80946f8: 483d ldr r0, [pc, #244] ; (80947f0 ) 80946fa: f7c1 fc7b bl 8055ff4 if(menupos == NoFilesDGN) 80946fe: 4b3d ldr r3, [pc, #244] ; (80947f4 ) 8094700: 781b ldrb r3, [r3, #0] 8094702: b2db uxtb r3, r3 8094704: 2b01 cmp r3, #1 8094706: d13a bne.n 809477e { BSP_LCD_SetFont(&Font12); 8094708: 483b ldr r0, [pc, #236] ; (80947f8 ) 809470a: f7c0 fdbb bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809470e: 493b ldr r1, [pc, #236] ; (80947fc ) 8094710: f04f 30ff mov.w r0, #4294967295 8094714: f7c0 fd7a bl 805520c if(pardata.LANG == RUS) 8094718: 4b39 ldr r3, [pc, #228] ; (8094800 ) 809471a: 7b1b ldrb r3, [r3, #12] 809471c: b2db uxtb r3, r3 809471e: 2b00 cmp r3, #0 8094720: d113 bne.n 809474a { BSP_LCD_DisplayStringAt(160, 111, "Ôàéëû èçìåðåíèé îòñóòñòâóþò.", CENTER_MODE); 8094722: 2301 movs r3, #1 8094724: 4a37 ldr r2, [pc, #220] ; (8094804 ) 8094726: 216f movs r1, #111 ; 0x6f 8094728: 20a0 movs r0, #160 ; 0xa0 809472a: f7c0 fe35 bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "Äëÿ ñîõðàíåíèÿ ðåçóëüòàòîâ", CENTER_MODE); 809472e: 2301 movs r3, #1 8094730: 4a35 ldr r2, [pc, #212] ; (8094808 ) 8094732: 217e movs r1, #126 ; 0x7e 8094734: 20a0 movs r0, #160 ; 0xa0 8094736: f7c0 fe2f bl 8055398 BSP_LCD_DisplayStringAt(160, 111+30, "èçìåðåíèé ñîçäàéòå íîâûé ôàéë.", CENTER_MODE); 809473a: 2301 movs r3, #1 809473c: 4a33 ldr r2, [pc, #204] ; (809480c ) 809473e: 218d movs r1, #141 ; 0x8d 8094740: 20a0 movs r0, #160 ; 0xa0 8094742: f7c0 fe29 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); } } } break; 8094746: f004 bd66 b.w 8099216 BSP_LCD_DisplayStringAt(160, 111, "The file measurements are not", CENTER_MODE); 809474a: 2301 movs r3, #1 809474c: 4a30 ldr r2, [pc, #192] ; (8094810 ) 809474e: 216f movs r1, #111 ; 0x6f 8094750: 20a0 movs r0, #160 ; 0xa0 8094752: f7c0 fe21 bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "available. To save the", CENTER_MODE); 8094756: 2301 movs r3, #1 8094758: 4a2e ldr r2, [pc, #184] ; (8094814 ) 809475a: 217e movs r1, #126 ; 0x7e 809475c: 20a0 movs r0, #160 ; 0xa0 809475e: f7c0 fe1b bl 8055398 BSP_LCD_DisplayStringAt(160, 111+30, "measurement results, create", CENTER_MODE); 8094762: 2301 movs r3, #1 8094764: 4a2c ldr r2, [pc, #176] ; (8094818 ) 8094766: 218d movs r1, #141 ; 0x8d 8094768: 20a0 movs r0, #160 ; 0xa0 809476a: f7c0 fe15 bl 8055398 BSP_LCD_DisplayStringAt(160, 111+45, "a new file.", CENTER_MODE); 809476e: 2301 movs r3, #1 8094770: 4a2a ldr r2, [pc, #168] ; (809481c ) 8094772: 219c movs r1, #156 ; 0x9c 8094774: 20a0 movs r0, #160 ; 0xa0 8094776: f7c0 fe0f bl 8055398 break; 809477a: f004 bd4c b.w 8099216 if((menupos == FilesDGN) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) 809477e: 4b1d ldr r3, [pc, #116] ; (80947f4 ) 8094780: 781b ldrb r3, [r3, #0] 8094782: b2db uxtb r3, r3 8094784: 2b02 cmp r3, #2 8094786: d00f beq.n 80947a8 8094788: 4b1a ldr r3, [pc, #104] ; (80947f4 ) 809478a: 781b ldrb r3, [r3, #0] 809478c: b2db uxtb r3, r3 809478e: 2b06 cmp r3, #6 8094790: d00a beq.n 80947a8 8094792: 4b18 ldr r3, [pc, #96] ; (80947f4 ) 8094794: 781b ldrb r3, [r3, #0] 8094796: b2db uxtb r3, r3 8094798: 2b07 cmp r3, #7 809479a: d005 beq.n 80947a8 809479c: 4b15 ldr r3, [pc, #84] ; (80947f4 ) 809479e: 781b ldrb r3, [r3, #0] 80947a0: b2db uxtb r3, r3 80947a2: 2b0a cmp r3, #10 80947a4: f044 8537 bne.w 8099216 BSP_LCD_SetFont(&Font12); 80947a8: 4813 ldr r0, [pc, #76] ; (80947f8 ) 80947aa: f7c0 fd6b bl 8055284 for(i = 0; i < VIEW_FILES; i++) 80947ae: 2300 movs r3, #0 80947b0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 80947b4: e19c b.n 8094af0 if(CursorIndex == i) 80947b6: 4b1a ldr r3, [pc, #104] ; (8094820 ) 80947b8: 681a ldr r2, [r3, #0] 80947ba: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80947be: 429a cmp r2, r3 80947c0: d136 bne.n 8094830 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 80947c2: 4918 ldr r1, [pc, #96] ; (8094824 ) 80947c4: 4817 ldr r0, [pc, #92] ; (8094824 ) 80947c6: f7c0 fd21 bl 805520c BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 80947ca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80947ce: 4a16 ldr r2, [pc, #88] ; (8094828 ) 80947d0: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 80947d4: 4b15 ldr r3, [pc, #84] ; (809482c ) 80947d6: 681b ldr r3, [r3, #0] 80947d8: 88db ldrh r3, [r3, #6] 80947da: f44f 729c mov.w r2, #312 ; 0x138 80947de: 2003 movs r0, #3 80947e0: f7c1 f9a2 bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80947e4: 490f ldr r1, [pc, #60] ; (8094824 ) 80947e6: f04f 30ff mov.w r0, #4294967295 80947ea: f7c0 fd0f bl 805520c 80947ee: e024 b.n 809483a 80947f0: 0812fcdc .word 0x0812fcdc 80947f4: 20020070 .word 0x20020070 80947f8: 20020038 .word 0x20020038 80947fc: ff0a0f1f .word 0xff0a0f1f 8094800: 20023eb8 .word 0x20023eb8 8094804: 080d6bb4 .word 0x080d6bb4 8094808: 080d6bd4 .word 0x080d6bd4 809480c: 080d6bf0 .word 0x080d6bf0 8094810: 080d6c10 .word 0x080d6c10 8094814: 080d6c30 .word 0x080d6c30 8094818: 080d6c48 .word 0x080d6c48 809481c: 080d6c64 .word 0x080d6c64 8094820: 20020e00 .word 0x20020e00 8094824: ff606060 .word 0xff606060 8094828: 080f5e78 .word 0x080f5e78 809482c: 20025d7c .word 0x20025d7c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094830: 499e ldr r1, [pc, #632] ; (8094aac ) 8094832: f04f 30ff mov.w r0, #4294967295 8094836: f7c0 fce9 bl 805520c if(ExplorerFiles[i].fname[0] != 0) 809483a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 809483e: 499c ldr r1, [pc, #624] ; (8094ab0 ) 8094840: 4613 mov r3, r2 8094842: 00db lsls r3, r3, #3 8094844: 1a9b subs r3, r3, r2 8094846: 00db lsls r3, r3, #3 8094848: 440b add r3, r1 809484a: 330c adds r3, #12 809484c: 781b ldrb r3, [r3, #0] 809484e: 2b00 cmp r3, #0 8094850: f000 8149 beq.w 8094ae6 BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 8094854: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094858: 4a96 ldr r2, [pc, #600] ; (8094ab4 ) 809485a: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 809485e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8094862: 4613 mov r3, r2 8094864: 00db lsls r3, r3, #3 8094866: 1a9b subs r3, r3, r2 8094868: 00db lsls r3, r3, #3 809486a: 3308 adds r3, #8 809486c: 4a90 ldr r2, [pc, #576] ; (8094ab0 ) 809486e: 4413 add r3, r2 8094870: 1d1a adds r2, r3, #4 8094872: 2303 movs r3, #3 8094874: 2005 movs r0, #5 8094876: f7c0 fd8f bl 8055398 k = 0; 809487a: 2300 movs r3, #0 809487c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 GetDateTimeFromUnix(&FatTime, ExplorerFiles[i].datetime); 8094880: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8094884: 498a ldr r1, [pc, #552] ; (8094ab0 ) 8094886: 4613 mov r3, r2 8094888: 00db lsls r3, r3, #3 809488a: 1a9b subs r3, r3, r2 809488c: 00db lsls r3, r3, #3 809488e: 440b add r3, r1 8094890: 3308 adds r3, #8 8094892: 681a ldr r2, [r3, #0] 8094894: f107 030c add.w r3, r7, #12 8094898: 4611 mov r1, r2 809489a: 4618 mov r0, r3 809489c: f7d4 fba6 bl 8068fec str1[k++] = (FatTime.Date / 10) + 48; 80948a0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80948a4: 1c5a adds r2, r3, #1 80948a6: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80948aa: f107 020c add.w r2, r7, #12 80948ae: 7852 ldrb r2, [r2, #1] 80948b0: 4981 ldr r1, [pc, #516] ; (8094ab8 ) 80948b2: fba1 1202 umull r1, r2, r1, r2 80948b6: 08d2 lsrs r2, r2, #3 80948b8: b2d2 uxtb r2, r2 80948ba: 3230 adds r2, #48 ; 0x30 80948bc: b2d1 uxtb r1, r2 80948be: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80948c2: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Date % 10) + 48; 80948c4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80948c8: 1c53 adds r3, r2, #1 80948ca: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80948ce: f107 030c add.w r3, r7, #12 80948d2: 7859 ldrb r1, [r3, #1] 80948d4: 4b78 ldr r3, [pc, #480] ; (8094ab8 ) 80948d6: fba3 0301 umull r0, r3, r3, r1 80948da: 08d8 lsrs r0, r3, #3 80948dc: 4603 mov r3, r0 80948de: 009b lsls r3, r3, #2 80948e0: 4403 add r3, r0 80948e2: 005b lsls r3, r3, #1 80948e4: 1acb subs r3, r1, r3 80948e6: b2db uxtb r3, r3 80948e8: 3330 adds r3, #48 ; 0x30 80948ea: b2d9 uxtb r1, r3 80948ec: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80948f0: 5499 strb r1, [r3, r2] str1[k++] = '.'; 80948f2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80948f6: 1c5a adds r2, r3, #1 80948f8: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80948fc: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094900: 212e movs r1, #46 ; 0x2e 8094902: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month / 10) + 48; 8094904: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094908: 1c5a adds r2, r3, #1 809490a: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809490e: f107 020c add.w r2, r7, #12 8094912: 7812 ldrb r2, [r2, #0] 8094914: 4968 ldr r1, [pc, #416] ; (8094ab8 ) 8094916: fba1 1202 umull r1, r2, r1, r2 809491a: 08d2 lsrs r2, r2, #3 809491c: b2d2 uxtb r2, r2 809491e: 3230 adds r2, #48 ; 0x30 8094920: b2d1 uxtb r1, r2 8094922: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094926: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month % 10) + 48; 8094928: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 809492c: 1c53 adds r3, r2, #1 809492e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094932: f107 030c add.w r3, r7, #12 8094936: 7819 ldrb r1, [r3, #0] 8094938: 4b5f ldr r3, [pc, #380] ; (8094ab8 ) 809493a: fba3 0301 umull r0, r3, r3, r1 809493e: 08d8 lsrs r0, r3, #3 8094940: 4603 mov r3, r0 8094942: 009b lsls r3, r3, #2 8094944: 4403 add r3, r0 8094946: 005b lsls r3, r3, #1 8094948: 1acb subs r3, r1, r3 809494a: b2db uxtb r3, r3 809494c: 3330 adds r3, #48 ; 0x30 809494e: b2d9 uxtb r1, r3 8094950: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094954: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8094956: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809495a: 1c5a adds r2, r3, #1 809495c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094960: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094964: 212e movs r1, #46 ; 0x2e 8094966: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year / 10) + 48; 8094968: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809496c: 1c5a adds r2, r3, #1 809496e: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094972: f107 020c add.w r2, r7, #12 8094976: 7892 ldrb r2, [r2, #2] 8094978: 494f ldr r1, [pc, #316] ; (8094ab8 ) 809497a: fba1 1202 umull r1, r2, r1, r2 809497e: 08d2 lsrs r2, r2, #3 8094980: b2d2 uxtb r2, r2 8094982: 3230 adds r2, #48 ; 0x30 8094984: b2d1 uxtb r1, r2 8094986: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809498a: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year % 10) + 48; 809498c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8094990: 1c53 adds r3, r2, #1 8094992: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094996: f107 030c add.w r3, r7, #12 809499a: 7899 ldrb r1, [r3, #2] 809499c: 4b46 ldr r3, [pc, #280] ; (8094ab8 ) 809499e: fba3 0301 umull r0, r3, r3, r1 80949a2: 08d8 lsrs r0, r3, #3 80949a4: 4603 mov r3, r0 80949a6: 009b lsls r3, r3, #2 80949a8: 4403 add r3, r0 80949aa: 005b lsls r3, r3, #1 80949ac: 1acb subs r3, r1, r3 80949ae: b2db uxtb r3, r3 80949b0: 3330 adds r3, #48 ; 0x30 80949b2: b2d9 uxtb r1, r3 80949b4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80949b8: 5499 strb r1, [r3, r2] str1[k++] = ' '; 80949ba: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80949be: 1c5a adds r2, r3, #1 80949c0: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80949c4: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80949c8: 2120 movs r1, #32 80949ca: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours / 10) + 48; 80949cc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80949d0: 1c5a adds r2, r3, #1 80949d2: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80949d6: f107 020c add.w r2, r7, #12 80949da: 78d2 ldrb r2, [r2, #3] 80949dc: 4936 ldr r1, [pc, #216] ; (8094ab8 ) 80949de: fba1 1202 umull r1, r2, r1, r2 80949e2: 08d2 lsrs r2, r2, #3 80949e4: b2d2 uxtb r2, r2 80949e6: 3230 adds r2, #48 ; 0x30 80949e8: b2d1 uxtb r1, r2 80949ea: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80949ee: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours % 10) + 48; 80949f0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80949f4: 1c53 adds r3, r2, #1 80949f6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80949fa: f107 030c add.w r3, r7, #12 80949fe: 78d9 ldrb r1, [r3, #3] 8094a00: 4b2d ldr r3, [pc, #180] ; (8094ab8 ) 8094a02: fba3 0301 umull r0, r3, r3, r1 8094a06: 08d8 lsrs r0, r3, #3 8094a08: 4603 mov r3, r0 8094a0a: 009b lsls r3, r3, #2 8094a0c: 4403 add r3, r0 8094a0e: 005b lsls r3, r3, #1 8094a10: 1acb subs r3, r1, r3 8094a12: b2db uxtb r3, r3 8094a14: 3330 adds r3, #48 ; 0x30 8094a16: b2d9 uxtb r1, r3 8094a18: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094a1c: 5499 strb r1, [r3, r2] str1[k++] = ':'; 8094a1e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094a22: 1c5a adds r2, r3, #1 8094a24: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094a28: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094a2c: 213a movs r1, #58 ; 0x3a 8094a2e: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes / 10) + 48; 8094a30: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094a34: 1c5a adds r2, r3, #1 8094a36: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094a3a: f107 020c add.w r2, r7, #12 8094a3e: 7912 ldrb r2, [r2, #4] 8094a40: 491d ldr r1, [pc, #116] ; (8094ab8 ) 8094a42: fba1 1202 umull r1, r2, r1, r2 8094a46: 08d2 lsrs r2, r2, #3 8094a48: b2d2 uxtb r2, r2 8094a4a: 3230 adds r2, #48 ; 0x30 8094a4c: b2d1 uxtb r1, r2 8094a4e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094a52: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes % 10) + 48; 8094a54: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8094a58: 1c53 adds r3, r2, #1 8094a5a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094a5e: f107 030c add.w r3, r7, #12 8094a62: 7919 ldrb r1, [r3, #4] 8094a64: 4b14 ldr r3, [pc, #80] ; (8094ab8 ) 8094a66: fba3 0301 umull r0, r3, r3, r1 8094a6a: 08d8 lsrs r0, r3, #3 8094a6c: 4603 mov r3, r0 8094a6e: 009b lsls r3, r3, #2 8094a70: 4403 add r3, r0 8094a72: 005b lsls r3, r3, #1 8094a74: 1acb subs r3, r1, r3 8094a76: b2db uxtb r3, r3 8094a78: 3330 adds r3, #48 ; 0x30 8094a7a: b2d9 uxtb r1, r3 8094a7c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094a80: 5499 strb r1, [r3, r2] str1[k++] = '\0'; 8094a82: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094a86: 1c5a adds r2, r3, #1 8094a88: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094a8c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094a90: 2100 movs r1, #0 8094a92: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 8094a94: 4b09 ldr r3, [pc, #36] ; (8094abc ) 8094a96: 681a ldr r2, [r3, #0] 8094a98: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094a9c: 429a cmp r2, r3 8094a9e: d111 bne.n 8094ac4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094aa0: 4907 ldr r1, [pc, #28] ; (8094ac0 ) 8094aa2: f04f 30ff mov.w r0, #4294967295 8094aa6: f7c0 fbb1 bl 805520c 8094aaa: e010 b.n 8094ace 8094aac: ff0a0f1f .word 0xff0a0f1f 8094ab0: 200223a0 .word 0x200223a0 8094ab4: 080f5e78 .word 0x080f5e78 8094ab8: cccccccd .word 0xcccccccd 8094abc: 20020e00 .word 0x20020e00 8094ac0: ff606060 .word 0xff606060 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094ac4: 49bb ldr r1, [pc, #748] ; (8094db4 ) 8094ac6: f04f 30ff mov.w r0, #4294967295 8094aca: f7c0 fb9f bl 805520c BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 8094ace: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094ad2: 4ab9 ldr r2, [pc, #740] ; (8094db8 ) 8094ad4: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8094ad8: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094adc: 2302 movs r3, #2 8094ade: f44f 709c mov.w r0, #312 ; 0x138 8094ae2: f7c0 fc59 bl 8055398 for(i = 0; i < VIEW_FILES; i++) 8094ae6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094aea: 3301 adds r3, #1 8094aec: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8094af0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094af4: 2b0b cmp r3, #11 8094af6: f67f ae5e bls.w 80947b6 if(NumFilesDGN > VIEW_FILES) 8094afa: 4bb0 ldr r3, [pc, #704] ; (8094dbc ) 8094afc: 681b ldr r3, [r3, #0] 8094afe: 2b0c cmp r3, #12 8094b00: d95f bls.n 8094bc2 k = (140 * VIEW_FILES) / NumFilesDGN; //äëèíà ïîëçóíêà 8094b02: 4bae ldr r3, [pc, #696] ; (8094dbc ) 8094b04: 681b ldr r3, [r3, #0] 8094b06: f44f 62d2 mov.w r2, #1680 ; 0x690 8094b0a: fbb2 f3f3 udiv r3, r2, r3 8094b0e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 8094b12: 4bab ldr r3, [pc, #684] ; (8094dc0 ) 8094b14: 681b ldr r3, [r3, #0] 8094b16: 228c movs r2, #140 ; 0x8c 8094b18: fb02 f303 mul.w r3, r2, r3 8094b1c: ee07 3a90 vmov s15, r3 8094b20: eef8 7a67 vcvt.f32.u32 s15, s15 8094b24: f507 638b add.w r3, r7, #1112 ; 0x458 8094b28: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesDGN) + 96.0f; 8094b2c: 4ba3 ldr r3, [pc, #652] ; (8094dbc ) 8094b2e: 681b ldr r3, [r3, #0] 8094b30: ee07 3a90 vmov s15, r3 8094b34: eeb8 7a67 vcvt.f32.u32 s14, s15 8094b38: f507 638b add.w r3, r7, #1112 ; 0x458 8094b3c: edd3 6a00 vldr s13, [r3] 8094b40: eec6 7a87 vdiv.f32 s15, s13, s14 8094b44: ed9f 7a9f vldr s14, [pc, #636] ; 8094dc4 8094b48: ee77 7a87 vadd.f32 s15, s15, s14 8094b4c: f507 638b add.w r3, r7, #1112 ; 0x458 8094b50: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 8094b54: f507 638b add.w r3, r7, #1112 ; 0x458 8094b58: edd3 7a00 vldr s15, [r3] 8094b5c: eefc 7ae7 vcvt.u32.f32 s15, s15 8094b60: edc7 7a01 vstr s15, [r7, #4] 8094b64: 88bb ldrh r3, [r7, #4] 8094b66: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 8094b6a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094b6e: b29a uxth r2, r3 8094b70: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8094b74: 4413 add r3, r2 8094b76: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 8094b7a: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8094b7e: 2bec cmp r3, #236 ; 0xec 8094b80: d905 bls.n 8094b8e k = 236 - y0; 8094b82: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8094b86: f1c3 03ec rsb r3, r3, #236 ; 0xec 8094b8a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8094b8e: 4989 ldr r1, [pc, #548] ; (8094db4 ) 8094b90: 488d ldr r0, [pc, #564] ; (8094dc8 ) 8094b92: f7c0 fb3b bl 805520c BSP_LCD_DrawRect(314, 94, 5, 143); 8094b96: 238f movs r3, #143 ; 0x8f 8094b98: 2205 movs r2, #5 8094b9a: 215e movs r1, #94 ; 0x5e 8094b9c: f44f 709d mov.w r0, #314 ; 0x13a 8094ba0: f7c0 fe3a bl 8055818 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094ba4: 4983 ldr r1, [pc, #524] ; (8094db4 ) 8094ba6: f04f 30ff mov.w r0, #4294967295 8094baa: f7c0 fb2f bl 805520c BSP_LCD_FillRect(316, y0, 2, k); 8094bae: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094bb2: b29b uxth r3, r3 8094bb4: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 8094bb8: 2202 movs r2, #2 8094bba: f44f 709e mov.w r0, #316 ; 0x13c 8094bbe: f7c0 ffb3 bl 8055b28 if((menupos != NoFilesDGN) && (menupos != FilesDGN)) 8094bc2: 4b82 ldr r3, [pc, #520] ; (8094dcc ) 8094bc4: 781b ldrb r3, [r3, #0] 8094bc6: b2db uxtb r3, r3 8094bc8: 2b01 cmp r3, #1 8094bca: f004 8324 beq.w 8099216 8094bce: 4b7f ldr r3, [pc, #508] ; (8094dcc ) 8094bd0: 781b ldrb r3, [r3, #0] 8094bd2: b2db uxtb r3, r3 8094bd4: 2b02 cmp r3, #2 8094bd6: f004 831e beq.w 8099216 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8094bda: 4976 ldr r1, [pc, #472] ; (8094db4 ) 8094bdc: 487a ldr r0, [pc, #488] ; (8094dc8 ) 8094bde: f7c0 fb15 bl 805520c BSP_LCD_FillRect(60, 73, 200, 124); 8094be2: 237c movs r3, #124 ; 0x7c 8094be4: 22c8 movs r2, #200 ; 0xc8 8094be6: 2149 movs r1, #73 ; 0x49 8094be8: 203c movs r0, #60 ; 0x3c 8094bea: f7c0 ff9d bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8094bee: 4971 ldr r1, [pc, #452] ; (8094db4 ) 8094bf0: 4870 ldr r0, [pc, #448] ; (8094db4 ) 8094bf2: f7c0 fb0b bl 805520c BSP_LCD_FillRect(61, 74, 198, 122); 8094bf6: 237a movs r3, #122 ; 0x7a 8094bf8: 22c6 movs r2, #198 ; 0xc6 8094bfa: 214a movs r1, #74 ; 0x4a 8094bfc: 203d movs r0, #61 ; 0x3d 8094bfe: f7c0 ff93 bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094c02: 496c ldr r1, [pc, #432] ; (8094db4 ) 8094c04: f04f 30ff mov.w r0, #4294967295 8094c08: f7c0 fb00 bl 805520c BSP_LCD_SetFont(&Font12); 8094c0c: 4870 ldr r0, [pc, #448] ; (8094dd0 ) 8094c0e: f7c0 fb39 bl 8055284 if((menupos == UpNo) || (menupos == UpYes)) 8094c12: 4b6e ldr r3, [pc, #440] ; (8094dcc ) 8094c14: 781b ldrb r3, [r3, #0] 8094c16: b2db uxtb r3, r3 8094c18: 2b06 cmp r3, #6 8094c1a: d004 beq.n 8094c26 8094c1c: 4b6b ldr r3, [pc, #428] ; (8094dcc ) 8094c1e: 781b ldrb r3, [r3, #0] 8094c20: b2db uxtb r3, r3 8094c22: 2b07 cmp r3, #7 8094c24: d179 bne.n 8094d1a if(pardata.LANG == RUS) 8094c26: 4b6b ldr r3, [pc, #428] ; (8094dd4 ) 8094c28: 7b1b ldrb r3, [r3, #12] 8094c2a: b2db uxtb r3, r3 8094c2c: 2b00 cmp r3, #0 8094c2e: d10c bne.n 8094c4a BSP_LCD_DisplayStringAt(160, 111, "Âûáðàííûé ôàéë áóäåò", CENTER_MODE); 8094c30: 2301 movs r3, #1 8094c32: 4a69 ldr r2, [pc, #420] ; (8094dd8 ) 8094c34: 216f movs r1, #111 ; 0x6f 8094c36: 20a0 movs r0, #160 ; 0xa0 8094c38: f7c0 fbae bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíû. Ïðîäîëæèòü?", CENTER_MODE); 8094c3c: 2301 movs r3, #1 8094c3e: 4a67 ldr r2, [pc, #412] ; (8094ddc ) 8094c40: 217e movs r1, #126 ; 0x7e 8094c42: 20a0 movs r0, #160 ; 0xa0 8094c44: f7c0 fba8 bl 8055398 8094c48: e00b b.n 8094c62 BSP_LCD_DisplayStringAt(160, 111, "The selected file will", CENTER_MODE); 8094c4a: 2301 movs r3, #1 8094c4c: 4a64 ldr r2, [pc, #400] ; (8094de0 ) 8094c4e: 216f movs r1, #111 ; 0x6f 8094c50: 20a0 movs r0, #160 ; 0xa0 8094c52: f7c0 fba1 bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "be deleted. Continue?", CENTER_MODE); 8094c56: 2301 movs r3, #1 8094c58: 4a62 ldr r2, [pc, #392] ; (8094de4 ) 8094c5a: 217e movs r1, #126 ; 0x7e 8094c5c: 20a0 movs r0, #160 ; 0xa0 8094c5e: f7c0 fb9b bl 8055398 if(menupos == UpNo) 8094c62: 4b5a ldr r3, [pc, #360] ; (8094dcc ) 8094c64: 781b ldrb r3, [r3, #0] 8094c66: b2db uxtb r3, r3 8094c68: 2b06 cmp r3, #6 8094c6a: d128 bne.n 8094cbe if(pardata.LANG == RUS) 8094c6c: 4b59 ldr r3, [pc, #356] ; (8094dd4 ) 8094c6e: 7b1b ldrb r3, [r3, #12] 8094c70: b2db uxtb r3, r3 8094c72: 2b00 cmp r3, #0 8094c74: d111 bne.n 8094c9a BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 8094c76: 2301 movs r3, #1 8094c78: 4a5b ldr r2, [pc, #364] ; (8094de8 ) 8094c7a: 21af movs r1, #175 ; 0xaf 8094c7c: 20e6 movs r0, #230 ; 0xe6 8094c7e: f7c0 fb8b bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094c82: 495a ldr r1, [pc, #360] ; (8094dec ) 8094c84: f04f 30ff mov.w r0, #4294967295 8094c88: f7c0 fac0 bl 805520c BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8094c8c: 2301 movs r3, #1 8094c8e: 4a58 ldr r2, [pc, #352] ; (8094df0 ) 8094c90: 21af movs r1, #175 ; 0xaf 8094c92: 205a movs r0, #90 ; 0x5a 8094c94: f7c0 fb80 bl 8055398 if(menupos == UpNo) 8094c98: e088 b.n 8094dac BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 8094c9a: 2301 movs r3, #1 8094c9c: 4a55 ldr r2, [pc, #340] ; (8094df4 ) 8094c9e: 21af movs r1, #175 ; 0xaf 8094ca0: 20e6 movs r0, #230 ; 0xe6 8094ca2: f7c0 fb79 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094ca6: 4951 ldr r1, [pc, #324] ; (8094dec ) 8094ca8: f04f 30ff mov.w r0, #4294967295 8094cac: f7c0 faae bl 805520c BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 8094cb0: 2301 movs r3, #1 8094cb2: 4a51 ldr r2, [pc, #324] ; (8094df8 ) 8094cb4: 21af movs r1, #175 ; 0xaf 8094cb6: 205a movs r0, #90 ; 0x5a 8094cb8: f7c0 fb6e bl 8055398 if(menupos == UpNo) 8094cbc: e076 b.n 8094dac if(menupos == UpYes) 8094cbe: 4b43 ldr r3, [pc, #268] ; (8094dcc ) 8094cc0: 781b ldrb r3, [r3, #0] 8094cc2: b2db uxtb r3, r3 8094cc4: 2b07 cmp r3, #7 8094cc6: d171 bne.n 8094dac if(pardata.LANG == RUS) 8094cc8: 4b42 ldr r3, [pc, #264] ; (8094dd4 ) 8094cca: 7b1b ldrb r3, [r3, #12] 8094ccc: b2db uxtb r3, r3 8094cce: 2b00 cmp r3, #0 8094cd0: d111 bne.n 8094cf6 BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8094cd2: 2301 movs r3, #1 8094cd4: 4a46 ldr r2, [pc, #280] ; (8094df0 ) 8094cd6: 21af movs r1, #175 ; 0xaf 8094cd8: 205a movs r0, #90 ; 0x5a 8094cda: f7c0 fb5d bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094cde: 4943 ldr r1, [pc, #268] ; (8094dec ) 8094ce0: f04f 30ff mov.w r0, #4294967295 8094ce4: f7c0 fa92 bl 805520c BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 8094ce8: 2301 movs r3, #1 8094cea: 4a3f ldr r2, [pc, #252] ; (8094de8 ) 8094cec: 21af movs r1, #175 ; 0xaf 8094cee: 20e6 movs r0, #230 ; 0xe6 8094cf0: f7c0 fb52 bl 8055398 if(menupos == UpNo) 8094cf4: e05a b.n 8094dac BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 8094cf6: 2301 movs r3, #1 8094cf8: 4a3f ldr r2, [pc, #252] ; (8094df8 ) 8094cfa: 21af movs r1, #175 ; 0xaf 8094cfc: 205a movs r0, #90 ; 0x5a 8094cfe: f7c0 fb4b bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094d02: 493a ldr r1, [pc, #232] ; (8094dec ) 8094d04: f04f 30ff mov.w r0, #4294967295 8094d08: f7c0 fa80 bl 805520c BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 8094d0c: 2301 movs r3, #1 8094d0e: 4a39 ldr r2, [pc, #228] ; (8094df4 ) 8094d10: 21af movs r1, #175 ; 0xaf 8094d12: 20e6 movs r0, #230 ; 0xe6 8094d14: f7c0 fb40 bl 8055398 if(menupos == UpNo) 8094d18: e048 b.n 8094dac if(menupos == CleanUpResult) 8094d1a: 4b2c ldr r3, [pc, #176] ; (8094dcc ) 8094d1c: 781b ldrb r3, [r3, #0] 8094d1e: b2db uxtb r3, r3 8094d20: 2b0a cmp r3, #10 8094d22: f044 8278 bne.w 8099216 if(CleanStatus == AP_OK) 8094d26: 4b35 ldr r3, [pc, #212] ; (8094dfc ) 8094d28: 781b ldrb r3, [r3, #0] 8094d2a: b2db uxtb r3, r3 8094d2c: 2b00 cmp r3, #0 8094d2e: d118 bne.n 8094d62 if(pardata.LANG == RUS) 8094d30: 4b28 ldr r3, [pc, #160] ; (8094dd4 ) 8094d32: 7b1b ldrb r3, [r3, #12] 8094d34: b2db uxtb r3, r3 8094d36: 2b00 cmp r3, #0 8094d38: d10c bne.n 8094d54 BSP_LCD_DisplayStringAt(160, 111, "Óäàëåíèå çàâåðøåíî", CENTER_MODE); 8094d3a: 2301 movs r3, #1 8094d3c: 4a30 ldr r2, [pc, #192] ; (8094e00 ) 8094d3e: 216f movs r1, #111 ; 0x6f 8094d40: 20a0 movs r0, #160 ; 0xa0 8094d42: f7c0 fb29 bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "óñïåøíî!", CENTER_MODE); 8094d46: 2301 movs r3, #1 8094d48: 4a2e ldr r2, [pc, #184] ; (8094e04 ) 8094d4a: 217e movs r1, #126 ; 0x7e 8094d4c: 20a0 movs r0, #160 ; 0xa0 8094d4e: f7c0 fb23 bl 8055398 8094d52: e01e b.n 8094d92 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting successful!", CENTER_MODE); 8094d54: 2301 movs r3, #1 8094d56: 4a2c ldr r2, [pc, #176] ; (8094e08 ) 8094d58: 217e movs r1, #126 ; 0x7e 8094d5a: 20a0 movs r0, #160 ; 0xa0 8094d5c: f7c0 fb1c bl 8055398 8094d60: e017 b.n 8094d92 if(pardata.LANG == RUS) 8094d62: 4b1c ldr r3, [pc, #112] ; (8094dd4 ) 8094d64: 7b1b ldrb r3, [r3, #12] 8094d66: b2db uxtb r3, r3 8094d68: 2b00 cmp r3, #0 8094d6a: d10c bne.n 8094d86 BSP_LCD_DisplayStringAt(160, 111, "Îøèáêà â ïðîöåññå", CENTER_MODE); 8094d6c: 2301 movs r3, #1 8094d6e: 4a27 ldr r2, [pc, #156] ; (8094e0c ) 8094d70: 216f movs r1, #111 ; 0x6f 8094d72: 20a0 movs r0, #160 ; 0xa0 8094d74: f7c0 fb10 bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíèÿ...", CENTER_MODE); 8094d78: 2301 movs r3, #1 8094d7a: 4a25 ldr r2, [pc, #148] ; (8094e10 ) 8094d7c: 217e movs r1, #126 ; 0x7e 8094d7e: 20a0 movs r0, #160 ; 0xa0 8094d80: f7c0 fb0a bl 8055398 8094d84: e005 b.n 8094d92 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting error!", CENTER_MODE); 8094d86: 2301 movs r3, #1 8094d88: 4a22 ldr r2, [pc, #136] ; (8094e14 ) 8094d8a: 217e movs r1, #126 ; 0x7e 8094d8c: 20a0 movs r0, #160 ; 0xa0 8094d8e: f7c0 fb03 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094d92: 4916 ldr r1, [pc, #88] ; (8094dec ) 8094d94: f04f 30ff mov.w r0, #4294967295 8094d98: f7c0 fa38 bl 805520c BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); 8094d9c: 2301 movs r3, #1 8094d9e: 4a1e ldr r2, [pc, #120] ; (8094e18 ) 8094da0: 21af movs r1, #175 ; 0xaf 8094da2: 20a0 movs r0, #160 ; 0xa0 8094da4: f7c0 faf8 bl 8055398 break; 8094da8: f004 ba35 b.w 8099216 if(menupos == UpNo) 8094dac: bf00 nop break; 8094dae: f004 ba32 b.w 8099216 8094db2: bf00 nop 8094db4: ff0a0f1f .word 0xff0a0f1f 8094db8: 080f5e78 .word 0x080f5e78 8094dbc: 20020e18 .word 0x20020e18 8094dc0: 20020e04 .word 0x20020e04 8094dc4: 42c00000 .word 0x42c00000 8094dc8: ffd3d3d3 .word 0xffd3d3d3 8094dcc: 20020070 .word 0x20020070 8094dd0: 20020038 .word 0x20020038 8094dd4: 20023eb8 .word 0x20023eb8 8094dd8: 080d6c70 .word 0x080d6c70 8094ddc: 080d6c88 .word 0x080d6c88 8094de0: 080d6ca0 .word 0x080d6ca0 8094de4: 080d6cb8 .word 0x080d6cb8 8094de8: 080d6cd0 .word 0x080d6cd0 8094dec: ff606060 .word 0xff606060 8094df0: 080d6cd4 .word 0x080d6cd4 8094df4: 080d6cd8 .word 0x080d6cd8 8094df8: 080d6cdc .word 0x080d6cdc 8094dfc: 20020df0 .word 0x20020df0 8094e00: 080d6ce0 .word 0x080d6ce0 8094e04: 080d6a68 .word 0x080d6a68 8094e08: 080d6cf4 .word 0x080d6cf4 8094e0c: 080d6a74 .word 0x080d6a74 8094e10: 080d6d0c .word 0x080d6d0c 8094e14: 080d6d18 .word 0x080d6d18 8094e18: 080d6d28 .word 0x080d6d28 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); 8094e1c: 49b4 ldr r1, [pc, #720] ; (80950f0 ) 8094e1e: 48b5 ldr r0, [pc, #724] ; (80950f4 ) 8094e20: f7c0 f9f4 bl 805520c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094e24: 49b2 ldr r1, [pc, #712] ; (80950f0 ) 8094e26: f04f 30ff mov.w r0, #4294967295 8094e2a: f7c0 f9ef bl 805520c BSP_LCD_DrawRect(10, 60, 300, 175); 8094e2e: 23af movs r3, #175 ; 0xaf 8094e30: f44f 7296 mov.w r2, #300 ; 0x12c 8094e34: 213c movs r1, #60 ; 0x3c 8094e36: 200a movs r0, #10 8094e38: f7c0 fcee bl 8055818 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8094e3c: 49ac ldr r1, [pc, #688] ; (80950f0 ) 8094e3e: 48ac ldr r0, [pc, #688] ; (80950f0 ) 8094e40: f7c0 f9e4 bl 805520c BSP_LCD_DrawRect(12, 62, 296, 171); 8094e44: 23ab movs r3, #171 ; 0xab 8094e46: f44f 7294 mov.w r2, #296 ; 0x128 8094e4a: 213e movs r1, #62 ; 0x3e 8094e4c: 200c movs r0, #12 8094e4e: f7c0 fce3 bl 8055818 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8094e52: 49a7 ldr r1, [pc, #668] ; (80950f0 ) 8094e54: 48a7 ldr r0, [pc, #668] ; (80950f4 ) 8094e56: f7c0 f9d9 bl 805520c if(menu == INPUT_NAME_GTR) 8094e5a: 4ba7 ldr r3, [pc, #668] ; (80950f8 ) 8094e5c: 781b ldrb r3, [r3, #0] 8094e5e: b2db uxtb r3, r3 8094e60: 2b30 cmp r3, #48 ; 0x30 8094e62: d110 bne.n 8094e86 { if(pardata.LANG == RUS) 8094e64: 4ba5 ldr r3, [pc, #660] ; (80950fc ) 8094e66: 7b1b ldrb r3, [r3, #12] 8094e68: b2db uxtb r3, r3 8094e6a: 2b00 cmp r3, #0 8094e6c: d105 bne.n 8094e7a LCD_DisplayStringC(164, 70, "Èìÿ äèðåêòîðèè:"); 8094e6e: 4aa4 ldr r2, [pc, #656] ; (8095100 ) 8094e70: 2146 movs r1, #70 ; 0x46 8094e72: 20a4 movs r0, #164 ; 0xa4 8094e74: f7c0 ff8a bl 8055d8c 8094e78: e046 b.n 8094f08 else LCD_DisplayStringC(164, 70, "Enter a folder name:"); 8094e7a: 4aa2 ldr r2, [pc, #648] ; (8095104 ) 8094e7c: 2146 movs r1, #70 ; 0x46 8094e7e: 20a4 movs r0, #164 ; 0xa4 8094e80: f7c0 ff84 bl 8055d8c 8094e84: e040 b.n 8094f08 } else if(menu == INPUT_NAME) 8094e86: 4b9c ldr r3, [pc, #624] ; (80950f8 ) 8094e88: 781b ldrb r3, [r3, #0] 8094e8a: b2db uxtb r3, r3 8094e8c: 2b33 cmp r3, #51 ; 0x33 8094e8e: d110 bne.n 8094eb2 { if(pardata.LANG == RUS) 8094e90: 4b9a ldr r3, [pc, #616] ; (80950fc ) 8094e92: 7b1b ldrb r3, [r3, #12] 8094e94: b2db uxtb r3, r3 8094e96: 2b00 cmp r3, #0 8094e98: d105 bne.n 8094ea6 LCD_DisplayStringC(164, 70, "Èìÿ:"); 8094e9a: 4a9b ldr r2, [pc, #620] ; (8095108 ) 8094e9c: 2146 movs r1, #70 ; 0x46 8094e9e: 20a4 movs r0, #164 ; 0xa4 8094ea0: f7c0 ff74 bl 8055d8c 8094ea4: e030 b.n 8094f08 else LCD_DisplayStringC(164, 70, "Enter a name:"); 8094ea6: 4a99 ldr r2, [pc, #612] ; (809510c ) 8094ea8: 2146 movs r1, #70 ; 0x46 8094eaa: 20a4 movs r0, #164 ; 0xa4 8094eac: f7c0 ff6e bl 8055d8c 8094eb0: e02a b.n 8094f08 } else if((menu == INPUT_COMMENT) || (menu == INPUT_COMMENT_DIAGN)) 8094eb2: 4b91 ldr r3, [pc, #580] ; (80950f8 ) 8094eb4: 781b ldrb r3, [r3, #0] 8094eb6: b2db uxtb r3, r3 8094eb8: 2b31 cmp r3, #49 ; 0x31 8094eba: d004 beq.n 8094ec6 8094ebc: 4b8e ldr r3, [pc, #568] ; (80950f8 ) 8094ebe: 781b ldrb r3, [r3, #0] 8094ec0: b2db uxtb r3, r3 8094ec2: 2b32 cmp r3, #50 ; 0x32 8094ec4: d110 bne.n 8094ee8 { if(pardata.LANG == RUS) 8094ec6: 4b8d ldr r3, [pc, #564] ; (80950fc ) 8094ec8: 7b1b ldrb r3, [r3, #12] 8094eca: b2db uxtb r3, r3 8094ecc: 2b00 cmp r3, #0 8094ece: d105 bne.n 8094edc LCD_DisplayStringC(164, 70, "Íàçâàíèå òî÷êè èçìåðåíèé"); 8094ed0: 4a8f ldr r2, [pc, #572] ; (8095110 ) 8094ed2: 2146 movs r1, #70 ; 0x46 8094ed4: 20a4 movs r0, #164 ; 0xa4 8094ed6: f7c0 ff59 bl 8055d8c if(pardata.LANG == RUS) 8094eda: e015 b.n 8094f08 else LCD_DisplayStringC(164, 70, "Point description"); 8094edc: 4a8d ldr r2, [pc, #564] ; (8095114 ) 8094ede: 2146 movs r1, #70 ; 0x46 8094ee0: 20a4 movs r0, #164 ; 0xa4 8094ee2: f7c0 ff53 bl 8055d8c if(pardata.LANG == RUS) 8094ee6: e00f b.n 8094f08 } else { if(pardata.LANG == RUS) 8094ee8: 4b84 ldr r3, [pc, #528] ; (80950fc ) 8094eea: 7b1b ldrb r3, [r3, #12] 8094eec: b2db uxtb r3, r3 8094eee: 2b00 cmp r3, #0 8094ef0: d105 bne.n 8094efe LCD_DisplayStringC (164, 70, "Ââåäèòå èìÿ ôàéëà:"); 8094ef2: 4a89 ldr r2, [pc, #548] ; (8095118 ) 8094ef4: 2146 movs r1, #70 ; 0x46 8094ef6: 20a4 movs r0, #164 ; 0xa4 8094ef8: f7c0 ff48 bl 8055d8c 8094efc: e004 b.n 8094f08 else LCD_DisplayStringC (164, 70, "Enter a file name:"); 8094efe: 4a87 ldr r2, [pc, #540] ; (809511c ) 8094f00: 2146 movs r1, #70 ; 0x46 8094f02: 20a4 movs r0, #164 ; 0xa4 8094f04: f7c0 ff42 bl 8055d8c } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094f08: 4979 ldr r1, [pc, #484] ; (80950f0 ) 8094f0a: f04f 30ff mov.w r0, #4294967295 8094f0e: f7c0 f97d bl 805520c BSP_LCD_DrawHLine(115, 110, 79); 8094f12: 224f movs r2, #79 ; 0x4f 8094f14: 216e movs r1, #110 ; 0x6e 8094f16: 2073 movs r0, #115 ; 0x73 8094f18: f7c0 faf2 bl 8055500 DrawKeyboard(); 8094f1c: f01d f8ce bl 80b20bc if(DrawStatus) 8094f20: 4b7f ldr r3, [pc, #508] ; (8095120 ) 8094f22: 781b ldrb r3, [r3, #0] 8094f24: b2db uxtb r3, r3 8094f26: 2b00 cmp r3, #0 8094f28: d00e beq.n 8094f48 { if(STATUS == AP_FILE_EXIST) 8094f2a: 4b7e ldr r3, [pc, #504] ; (8095124 ) 8094f2c: 681b ldr r3, [r3, #0] 8094f2e: 2b06 cmp r3, #6 8094f30: d104 bne.n 8094f3c LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 8094f32: 496f ldr r1, [pc, #444] ; (80950f0 ) 8094f34: 487c ldr r0, [pc, #496] ; (8095128 ) 8094f36: f7c0 f969 bl 805520c 8094f3a: e00a b.n 8094f52 else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK);//GUI_SetColor(GUI_YELLOW); 8094f3c: 496c ldr r1, [pc, #432] ; (80950f0 ) 8094f3e: f06f 00ff mvn.w r0, #255 ; 0xff 8094f42: f7c0 f963 bl 805520c 8094f46: e004 b.n 8094f52 } else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8094f48: 4969 ldr r1, [pc, #420] ; (80950f0 ) 8094f4a: f06f 00ff mvn.w r0, #255 ; 0xff 8094f4e: f7c0 f95d bl 805520c memset(str1, 0, sizeof(str1)); 8094f52: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094f56: f44f 7280 mov.w r2, #256 ; 0x100 8094f5a: 2100 movs r1, #0 8094f5c: 4618 mov r0, r3 8094f5e: f03d f821 bl 80d1fa4 if(menu == INPUT_NAME_GTR) 8094f62: 4b65 ldr r3, [pc, #404] ; (80950f8 ) 8094f64: 781b ldrb r3, [r3, #0] 8094f66: b2db uxtb r3, r3 8094f68: 2b30 cmp r3, #48 ; 0x30 8094f6a: d106 bne.n 8094f7a { strcpy(str1, TEMP_WavFileName); 8094f6c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094f70: 496e ldr r1, [pc, #440] ; (809512c ) 8094f72: 4618 mov r0, r3 8094f74: f03d f933 bl 80d21de 8094f78: e02e b.n 8094fd8 } else if(menu == INPUT_NAME_DGN) 8094f7a: 4b5f ldr r3, [pc, #380] ; (80950f8 ) 8094f7c: 781b ldrb r3, [r3, #0] 8094f7e: b2db uxtb r3, r3 8094f80: 2b2c cmp r3, #44 ; 0x2c 8094f82: d106 bne.n 8094f92 { strcpy(str1, TEMP_DiagFileName); 8094f84: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094f88: 4969 ldr r1, [pc, #420] ; (8095130 ) 8094f8a: 4618 mov r0, r3 8094f8c: f03d f927 bl 80d21de 8094f90: e022 b.n 8094fd8 } else if(menu == INPUT_NAME) 8094f92: 4b59 ldr r3, [pc, #356] ; (80950f8 ) 8094f94: 781b ldrb r3, [r3, #0] 8094f96: b2db uxtb r3, r3 8094f98: 2b33 cmp r3, #51 ; 0x33 8094f9a: d106 bne.n 8094faa { strcpy(str1, TEMP_Name); 8094f9c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094fa0: 4964 ldr r1, [pc, #400] ; (8095134 ) 8094fa2: 4618 mov r0, r3 8094fa4: f03d f91b bl 80d21de 8094fa8: e016 b.n 8094fd8 } else if((menu == INPUT_COMMENT) || (menu == INPUT_COMMENT_DIAGN)) 8094faa: 4b53 ldr r3, [pc, #332] ; (80950f8 ) 8094fac: 781b ldrb r3, [r3, #0] 8094fae: b2db uxtb r3, r3 8094fb0: 2b31 cmp r3, #49 ; 0x31 8094fb2: d004 beq.n 8094fbe 8094fb4: 4b50 ldr r3, [pc, #320] ; (80950f8 ) 8094fb6: 781b ldrb r3, [r3, #0] 8094fb8: b2db uxtb r3, r3 8094fba: 2b32 cmp r3, #50 ; 0x32 8094fbc: d106 bne.n 8094fcc { strcpy(str1, TEMP_Comment); 8094fbe: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094fc2: 495d ldr r1, [pc, #372] ; (8095138 ) 8094fc4: 4618 mov r0, r3 8094fc6: f03d f90a bl 80d21de 8094fca: e005 b.n 8094fd8 } else strcpy(str1, TEMP_MeasFileName); 8094fcc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094fd0: 495a ldr r1, [pc, #360] ; (809513c ) 8094fd2: 4618 mov r0, r3 8094fd4: f03d f903 bl 80d21de if(blink) 8094fd8: 4b59 ldr r3, [pc, #356] ; (8095140 ) 8094fda: 681b ldr r3, [r3, #0] 8094fdc: 2b00 cmp r3, #0 8094fde: d00a beq.n 8094ff6 str1[strlen(str1)] = '|'; 8094fe0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094fe4: 4618 mov r0, r3 8094fe6: f78b f995 bl 8020314 8094fea: 4602 mov r2, r0 8094fec: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094ff0: 217c movs r1, #124 ; 0x7c 8094ff2: 5499 strb r1, [r3, r2] 8094ff4: e009 b.n 809500a else str1[strlen(str1)] = ' '; 8094ff6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094ffa: 4618 mov r0, r3 8094ffc: f78b f98a bl 8020314 8095000: 4602 mov r2, r0 8095002: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095006: 2120 movs r1, #32 8095008: 5499 strb r1, [r3, r2] BSP_LCD_SetFont(&Font12); 809500a: 484e ldr r0, [pc, #312] ; (8095144 ) 809500c: f7c0 f93a bl 8055284 BSP_LCD_DisplayStringAt(160, 95, str1, CENTER_MODE); 8095010: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095014: 2301 movs r3, #1 8095016: 215f movs r1, #95 ; 0x5f 8095018: 20a0 movs r0, #160 ; 0xa0 809501a: f7c0 f9bd bl 8055398 break; 809501e: f004 b905 b.w 809922c case ARCHIVE_SPEC: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8095022: 4933 ldr r1, [pc, #204] ; (80950f0 ) 8095024: 4848 ldr r0, [pc, #288] ; (8095148 ) 8095026: f7c0 f8f1 bl 805520c BSP_LCD_DrawHLine(7, 52, 308); 809502a: f44f 729a mov.w r2, #308 ; 0x134 809502e: 2134 movs r1, #52 ; 0x34 8095030: 2007 movs r0, #7 8095032: f7c0 fa65 bl 8055500 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8095036: 492e ldr r1, [pc, #184] ; (80950f0 ) 8095038: 482e ldr r0, [pc, #184] ; (80950f4 ) 809503a: f7c0 f8e7 bl 805520c if(pardata.LANG == RUS) 809503e: 4b2f ldr r3, [pc, #188] ; (80950fc ) 8095040: 7b1b ldrb r3, [r3, #12] 8095042: b2db uxtb r3, r3 8095044: 2b00 cmp r3, #0 8095046: d105 bne.n 8095054 LCD_DisplayString(7, LCD_LINE_2, "..|Îòêðûòü ôàéë"); 8095048: 4a40 ldr r2, [pc, #256] ; (809514c ) 809504a: 2127 movs r1, #39 ; 0x27 809504c: 2007 movs r0, #7 809504e: f7c0 fe85 bl 8055d5c 8095052: e004 b.n 809505e else LCD_DisplayString(7, LCD_LINE_2, "..|Open file"); 8095054: 4a3e ldr r2, [pc, #248] ; (8095150 ) 8095056: 2127 movs r1, #39 ; 0x27 8095058: 2007 movs r0, #7 809505a: f7c0 fe7f bl 8055d5c if(pardata.LANG == RUS) 809505e: 4b27 ldr r3, [pc, #156] ; (80950fc ) 8095060: 7b1b ldrb r3, [r3, #12] 8095062: b2db uxtb r3, r3 8095064: 2b00 cmp r3, #0 8095066: d105 bne.n 8095074 DrawImage(&bmLEGEND_CLEAN, 0, 65); 8095068: 2241 movs r2, #65 ; 0x41 809506a: 2100 movs r1, #0 809506c: 4839 ldr r0, [pc, #228] ; (8095154 ) 809506e: f7c0 ffc1 bl 8055ff4 8095072: e004 b.n 809507e else DrawImage(&bmLEGEND_CLEAN_ENG, 0, 65); 8095074: 2241 movs r2, #65 ; 0x41 8095076: 2100 movs r1, #0 8095078: 4837 ldr r0, [pc, #220] ; (8095158 ) 809507a: f7c0 ffbb bl 8055ff4 if(menupos == NoFilesSPEC) 809507e: 4b37 ldr r3, [pc, #220] ; (809515c ) 8095080: 781b ldrb r3, [r3, #0] 8095082: b2db uxtb r3, r3 8095084: 2b01 cmp r3, #1 8095086: d117 bne.n 80950b8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095088: 4919 ldr r1, [pc, #100] ; (80950f0 ) 809508a: f04f 30ff mov.w r0, #4294967295 809508e: f7c0 f8bd bl 805520c if(pardata.LANG == RUS) 8095092: 4b1a ldr r3, [pc, #104] ; (80950fc ) 8095094: 7b1b ldrb r3, [r3, #12] 8095096: b2db uxtb r3, r3 8095098: 2b00 cmp r3, #0 809509a: d106 bne.n 80950aa LCD_DisplayStringC(160, LCD_LINE_8, "Ôàéëû îòñóòñòâóþò."); 809509c: 4a30 ldr r2, [pc, #192] ; (8095160 ) 809509e: 218a movs r1, #138 ; 0x8a 80950a0: 20a0 movs r0, #160 ; 0xa0 80950a2: f7c0 fe73 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); LCD_DisplayStringC(160, 170, "Ok"); } } } break; 80950a6: f004 b8b8 b.w 809921a else LCD_DisplayStringC(160, LCD_LINE_8, "No files..."); 80950aa: 4a2e ldr r2, [pc, #184] ; (8095164 ) 80950ac: 218a movs r1, #138 ; 0x8a 80950ae: 20a0 movs r0, #160 ; 0xa0 80950b0: f7c0 fe6c bl 8055d8c break; 80950b4: f004 b8b1 b.w 809921a if((menupos == FilesSPEC) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) 80950b8: 4b28 ldr r3, [pc, #160] ; (809515c ) 80950ba: 781b ldrb r3, [r3, #0] 80950bc: b2db uxtb r3, r3 80950be: 2b02 cmp r3, #2 80950c0: d00f beq.n 80950e2 80950c2: 4b26 ldr r3, [pc, #152] ; (809515c ) 80950c4: 781b ldrb r3, [r3, #0] 80950c6: b2db uxtb r3, r3 80950c8: 2b06 cmp r3, #6 80950ca: d00a beq.n 80950e2 80950cc: 4b23 ldr r3, [pc, #140] ; (809515c ) 80950ce: 781b ldrb r3, [r3, #0] 80950d0: b2db uxtb r3, r3 80950d2: 2b07 cmp r3, #7 80950d4: d005 beq.n 80950e2 80950d6: 4b21 ldr r3, [pc, #132] ; (809515c ) 80950d8: 781b ldrb r3, [r3, #0] 80950da: b2db uxtb r3, r3 80950dc: 2b0a cmp r3, #10 80950de: f044 809c bne.w 809921a BSP_LCD_SetFont(&Font12); 80950e2: 4818 ldr r0, [pc, #96] ; (8095144 ) 80950e4: f7c0 f8ce bl 8055284 for(i = 0; i < VIEW_FILES; i++) 80950e8: 2300 movs r3, #0 80950ea: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 80950ee: e1bb b.n 8095468 80950f0: ff0a0f1f .word 0xff0a0f1f 80950f4: ff808080 .word 0xff808080 80950f8: 20020fc5 .word 0x20020fc5 80950fc: 20023eb8 .word 0x20023eb8 8095100: 080d6d2c .word 0x080d6d2c 8095104: 080d6d3c .word 0x080d6d3c 8095108: 080d6d54 .word 0x080d6d54 809510c: 080d6d5c .word 0x080d6d5c 8095110: 080d6d6c .word 0x080d6d6c 8095114: 080d6d88 .word 0x080d6d88 8095118: 080d6d9c .word 0x080d6d9c 809511c: 080d6db0 .word 0x080d6db0 8095120: 20020df2 .word 0x20020df2 8095124: 20020dec .word 0x20020dec 8095128: ffff0000 .word 0xffff0000 809512c: 20025cfc .word 0x20025cfc 8095130: 20025d20 .word 0x20025d20 8095134: 20025d4c .word 0x20025d4c 8095138: 20025c98 .word 0x20025c98 809513c: 20025cd8 .word 0x20025cd8 8095140: 200216b0 .word 0x200216b0 8095144: 20020038 .word 0x20020038 8095148: ffd3d3d3 .word 0xffd3d3d3 809514c: 080d6dc4 .word 0x080d6dc4 8095150: 080d6dd4 .word 0x080d6dd4 8095154: 0811e9ac .word 0x0811e9ac 8095158: 08121bb8 .word 0x08121bb8 809515c: 20020070 .word 0x20020070 8095160: 080d6de4 .word 0x080d6de4 8095164: 080d6df8 .word 0x080d6df8 if(CursorIndex == i) 8095168: 4bad ldr r3, [pc, #692] ; (8095420 ) 809516a: 681a ldr r2, [r3, #0] 809516c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095170: 429a cmp r2, r3 8095172: d116 bne.n 80951a2 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 8095174: 49ab ldr r1, [pc, #684] ; (8095424 ) 8095176: 48ab ldr r0, [pc, #684] ; (8095424 ) 8095178: f7c0 f848 bl 805520c BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 809517c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095180: 4aa9 ldr r2, [pc, #676] ; (8095428 ) 8095182: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8095186: 4ba9 ldr r3, [pc, #676] ; (809542c ) 8095188: 681b ldr r3, [r3, #0] 809518a: 88db ldrh r3, [r3, #6] 809518c: f44f 729c mov.w r2, #312 ; 0x138 8095190: 2003 movs r0, #3 8095192: f7c0 fcc9 bl 8055b28 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_CURSOR); 8095196: 49a3 ldr r1, [pc, #652] ; (8095424 ) 8095198: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809519c: f7c0 f836 bl 805520c 80951a0: e004 b.n 80951ac LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80951a2: 49a3 ldr r1, [pc, #652] ; (8095430 ) 80951a4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80951a8: f7c0 f830 bl 805520c if(ExplorerFiles[i].fname[0] != 0) 80951ac: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80951b0: 49a0 ldr r1, [pc, #640] ; (8095434 ) 80951b2: 4613 mov r3, r2 80951b4: 00db lsls r3, r3, #3 80951b6: 1a9b subs r3, r3, r2 80951b8: 00db lsls r3, r3, #3 80951ba: 440b add r3, r1 80951bc: 330c adds r3, #12 80951be: 781b ldrb r3, [r3, #0] 80951c0: 2b00 cmp r3, #0 80951c2: f000 814c beq.w 809545e BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 80951c6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80951ca: 4a97 ldr r2, [pc, #604] ; (8095428 ) 80951cc: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 80951d0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80951d4: 4613 mov r3, r2 80951d6: 00db lsls r3, r3, #3 80951d8: 1a9b subs r3, r3, r2 80951da: 00db lsls r3, r3, #3 80951dc: 3308 adds r3, #8 80951de: 4a95 ldr r2, [pc, #596] ; (8095434 ) 80951e0: 4413 add r3, r2 80951e2: 1d1a adds r2, r3, #4 80951e4: 2303 movs r3, #3 80951e6: 2005 movs r0, #5 80951e8: f7c0 f8d6 bl 8055398 k = 0; 80951ec: 2300 movs r3, #0 80951ee: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 GetDateTimeFromUnix(&FatTime, ExplorerFiles[i].datetime); 80951f2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80951f6: 498f ldr r1, [pc, #572] ; (8095434 ) 80951f8: 4613 mov r3, r2 80951fa: 00db lsls r3, r3, #3 80951fc: 1a9b subs r3, r3, r2 80951fe: 00db lsls r3, r3, #3 8095200: 440b add r3, r1 8095202: 3308 adds r3, #8 8095204: 681a ldr r2, [r3, #0] 8095206: f107 030c add.w r3, r7, #12 809520a: 4611 mov r1, r2 809520c: 4618 mov r0, r3 809520e: f7d3 feed bl 8068fec str1[k++] = (FatTime.Date / 10) + 48; 8095212: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095216: 1c5a adds r2, r3, #1 8095218: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809521c: f107 020c add.w r2, r7, #12 8095220: 7852 ldrb r2, [r2, #1] 8095222: 4985 ldr r1, [pc, #532] ; (8095438 ) 8095224: fba1 1202 umull r1, r2, r1, r2 8095228: 08d2 lsrs r2, r2, #3 809522a: b2d2 uxtb r2, r2 809522c: 3230 adds r2, #48 ; 0x30 809522e: b2d1 uxtb r1, r2 8095230: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095234: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Date % 10) + 48; 8095236: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 809523a: 1c53 adds r3, r2, #1 809523c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095240: f107 030c add.w r3, r7, #12 8095244: 7859 ldrb r1, [r3, #1] 8095246: 4b7c ldr r3, [pc, #496] ; (8095438 ) 8095248: fba3 0301 umull r0, r3, r3, r1 809524c: 08d8 lsrs r0, r3, #3 809524e: 4603 mov r3, r0 8095250: 009b lsls r3, r3, #2 8095252: 4403 add r3, r0 8095254: 005b lsls r3, r3, #1 8095256: 1acb subs r3, r1, r3 8095258: b2db uxtb r3, r3 809525a: 3330 adds r3, #48 ; 0x30 809525c: b2d9 uxtb r1, r3 809525e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095262: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8095264: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095268: 1c5a adds r2, r3, #1 809526a: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809526e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095272: 212e movs r1, #46 ; 0x2e 8095274: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month / 10) + 48; 8095276: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809527a: 1c5a adds r2, r3, #1 809527c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8095280: f107 020c add.w r2, r7, #12 8095284: 7812 ldrb r2, [r2, #0] 8095286: 496c ldr r1, [pc, #432] ; (8095438 ) 8095288: fba1 1202 umull r1, r2, r1, r2 809528c: 08d2 lsrs r2, r2, #3 809528e: b2d2 uxtb r2, r2 8095290: 3230 adds r2, #48 ; 0x30 8095292: b2d1 uxtb r1, r2 8095294: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095298: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month % 10) + 48; 809529a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 809529e: 1c53 adds r3, r2, #1 80952a0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80952a4: f107 030c add.w r3, r7, #12 80952a8: 7819 ldrb r1, [r3, #0] 80952aa: 4b63 ldr r3, [pc, #396] ; (8095438 ) 80952ac: fba3 0301 umull r0, r3, r3, r1 80952b0: 08d8 lsrs r0, r3, #3 80952b2: 4603 mov r3, r0 80952b4: 009b lsls r3, r3, #2 80952b6: 4403 add r3, r0 80952b8: 005b lsls r3, r3, #1 80952ba: 1acb subs r3, r1, r3 80952bc: b2db uxtb r3, r3 80952be: 3330 adds r3, #48 ; 0x30 80952c0: b2d9 uxtb r1, r3 80952c2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80952c6: 5499 strb r1, [r3, r2] str1[k++] = '.'; 80952c8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80952cc: 1c5a adds r2, r3, #1 80952ce: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80952d2: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80952d6: 212e movs r1, #46 ; 0x2e 80952d8: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year / 10) + 48; 80952da: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80952de: 1c5a adds r2, r3, #1 80952e0: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80952e4: f107 020c add.w r2, r7, #12 80952e8: 7892 ldrb r2, [r2, #2] 80952ea: 4953 ldr r1, [pc, #332] ; (8095438 ) 80952ec: fba1 1202 umull r1, r2, r1, r2 80952f0: 08d2 lsrs r2, r2, #3 80952f2: b2d2 uxtb r2, r2 80952f4: 3230 adds r2, #48 ; 0x30 80952f6: b2d1 uxtb r1, r2 80952f8: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80952fc: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year % 10) + 48; 80952fe: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8095302: 1c53 adds r3, r2, #1 8095304: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095308: f107 030c add.w r3, r7, #12 809530c: 7899 ldrb r1, [r3, #2] 809530e: 4b4a ldr r3, [pc, #296] ; (8095438 ) 8095310: fba3 0301 umull r0, r3, r3, r1 8095314: 08d8 lsrs r0, r3, #3 8095316: 4603 mov r3, r0 8095318: 009b lsls r3, r3, #2 809531a: 4403 add r3, r0 809531c: 005b lsls r3, r3, #1 809531e: 1acb subs r3, r1, r3 8095320: b2db uxtb r3, r3 8095322: 3330 adds r3, #48 ; 0x30 8095324: b2d9 uxtb r1, r3 8095326: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809532a: 5499 strb r1, [r3, r2] str1[k++] = ' '; 809532c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095330: 1c5a adds r2, r3, #1 8095332: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8095336: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809533a: 2120 movs r1, #32 809533c: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours / 10) + 48; 809533e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095342: 1c5a adds r2, r3, #1 8095344: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8095348: f107 020c add.w r2, r7, #12 809534c: 78d2 ldrb r2, [r2, #3] 809534e: 493a ldr r1, [pc, #232] ; (8095438 ) 8095350: fba1 1202 umull r1, r2, r1, r2 8095354: 08d2 lsrs r2, r2, #3 8095356: b2d2 uxtb r2, r2 8095358: 3230 adds r2, #48 ; 0x30 809535a: b2d1 uxtb r1, r2 809535c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095360: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours % 10) + 48; 8095362: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8095366: 1c53 adds r3, r2, #1 8095368: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809536c: f107 030c add.w r3, r7, #12 8095370: 78d9 ldrb r1, [r3, #3] 8095372: 4b31 ldr r3, [pc, #196] ; (8095438 ) 8095374: fba3 0301 umull r0, r3, r3, r1 8095378: 08d8 lsrs r0, r3, #3 809537a: 4603 mov r3, r0 809537c: 009b lsls r3, r3, #2 809537e: 4403 add r3, r0 8095380: 005b lsls r3, r3, #1 8095382: 1acb subs r3, r1, r3 8095384: b2db uxtb r3, r3 8095386: 3330 adds r3, #48 ; 0x30 8095388: b2d9 uxtb r1, r3 809538a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809538e: 5499 strb r1, [r3, r2] str1[k++] = ':'; 8095390: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095394: 1c5a adds r2, r3, #1 8095396: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809539a: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809539e: 213a movs r1, #58 ; 0x3a 80953a0: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes / 10) + 48; 80953a2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80953a6: 1c5a adds r2, r3, #1 80953a8: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80953ac: f107 020c add.w r2, r7, #12 80953b0: 7912 ldrb r2, [r2, #4] 80953b2: 4921 ldr r1, [pc, #132] ; (8095438 ) 80953b4: fba1 1202 umull r1, r2, r1, r2 80953b8: 08d2 lsrs r2, r2, #3 80953ba: b2d2 uxtb r2, r2 80953bc: 3230 adds r2, #48 ; 0x30 80953be: b2d1 uxtb r1, r2 80953c0: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80953c4: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes % 10) + 48; 80953c6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80953ca: 1c53 adds r3, r2, #1 80953cc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80953d0: f107 030c add.w r3, r7, #12 80953d4: 7919 ldrb r1, [r3, #4] 80953d6: 4b18 ldr r3, [pc, #96] ; (8095438 ) 80953d8: fba3 0301 umull r0, r3, r3, r1 80953dc: 08d8 lsrs r0, r3, #3 80953de: 4603 mov r3, r0 80953e0: 009b lsls r3, r3, #2 80953e2: 4403 add r3, r0 80953e4: 005b lsls r3, r3, #1 80953e6: 1acb subs r3, r1, r3 80953e8: b2db uxtb r3, r3 80953ea: 3330 adds r3, #48 ; 0x30 80953ec: b2d9 uxtb r1, r3 80953ee: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80953f2: 5499 strb r1, [r3, r2] str1[k++] = '\0'; 80953f4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80953f8: 1c5a adds r2, r3, #1 80953fa: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80953fe: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095402: 2100 movs r1, #0 8095404: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 8095406: 4b06 ldr r3, [pc, #24] ; (8095420 ) 8095408: 681a ldr r2, [r3, #0] 809540a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809540e: 429a cmp r2, r3 8095410: d114 bne.n 809543c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095412: 4904 ldr r1, [pc, #16] ; (8095424 ) 8095414: f04f 30ff mov.w r0, #4294967295 8095418: f7bf fef8 bl 805520c 809541c: e013 b.n 8095446 809541e: bf00 nop 8095420: 20020e00 .word 0x20020e00 8095424: ff606060 .word 0xff606060 8095428: 080f5e78 .word 0x080f5e78 809542c: 20025d7c .word 0x20025d7c 8095430: ff0a0f1f .word 0xff0a0f1f 8095434: 200223a0 .word 0x200223a0 8095438: cccccccd .word 0xcccccccd else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809543c: 49bc ldr r1, [pc, #752] ; (8095730 ) 809543e: f04f 30ff mov.w r0, #4294967295 8095442: f7bf fee3 bl 805520c BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 8095446: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809544a: 4aba ldr r2, [pc, #744] ; (8095734 ) 809544c: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8095450: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095454: 2302 movs r3, #2 8095456: f44f 709c mov.w r0, #312 ; 0x138 809545a: f7bf ff9d bl 8055398 for(i = 0; i < VIEW_FILES; i++) 809545e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095462: 3301 adds r3, #1 8095464: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8095468: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809546c: 2b0b cmp r3, #11 809546e: f67f ae7b bls.w 8095168 if(NumFilesSPEC > VIEW_FILES) 8095472: 4bb1 ldr r3, [pc, #708] ; (8095738 ) 8095474: 681b ldr r3, [r3, #0] 8095476: 2b0c cmp r3, #12 8095478: d95f bls.n 809553a k = (140 * VIEW_FILES) / NumFilesSPEC; //äëèíà ïîëçóíêà 809547a: 4baf ldr r3, [pc, #700] ; (8095738 ) 809547c: 681b ldr r3, [r3, #0] 809547e: f44f 62d2 mov.w r2, #1680 ; 0x690 8095482: fbb2 f3f3 udiv r3, r2, r3 8095486: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 809548a: 4bac ldr r3, [pc, #688] ; (809573c ) 809548c: 681b ldr r3, [r3, #0] 809548e: 228c movs r2, #140 ; 0x8c 8095490: fb02 f303 mul.w r3, r2, r3 8095494: ee07 3a90 vmov s15, r3 8095498: eef8 7a67 vcvt.f32.u32 s15, s15 809549c: f507 638b add.w r3, r7, #1112 ; 0x458 80954a0: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesSPEC) + 96.0f; 80954a4: 4ba4 ldr r3, [pc, #656] ; (8095738 ) 80954a6: 681b ldr r3, [r3, #0] 80954a8: ee07 3a90 vmov s15, r3 80954ac: eeb8 7a67 vcvt.f32.u32 s14, s15 80954b0: f507 638b add.w r3, r7, #1112 ; 0x458 80954b4: edd3 6a00 vldr s13, [r3] 80954b8: eec6 7a87 vdiv.f32 s15, s13, s14 80954bc: ed9f 7aa0 vldr s14, [pc, #640] ; 8095740 80954c0: ee77 7a87 vadd.f32 s15, s15, s14 80954c4: f507 638b add.w r3, r7, #1112 ; 0x458 80954c8: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 80954cc: f507 638b add.w r3, r7, #1112 ; 0x458 80954d0: edd3 7a00 vldr s15, [r3] 80954d4: eefc 7ae7 vcvt.u32.f32 s15, s15 80954d8: edc7 7a01 vstr s15, [r7, #4] 80954dc: 88bb ldrh r3, [r7, #4] 80954de: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 80954e2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80954e6: b29a uxth r2, r3 80954e8: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80954ec: 4413 add r3, r2 80954ee: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 80954f2: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80954f6: 2bec cmp r3, #236 ; 0xec 80954f8: d905 bls.n 8095506 k = 236 - y0; 80954fa: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80954fe: f1c3 03ec rsb r3, r3, #236 ; 0xec 8095502: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8095506: 498a ldr r1, [pc, #552] ; (8095730 ) 8095508: 488e ldr r0, [pc, #568] ; (8095744 ) 809550a: f7bf fe7f bl 805520c BSP_LCD_DrawRect(314, 94, 5, 143); 809550e: 238f movs r3, #143 ; 0x8f 8095510: 2205 movs r2, #5 8095512: 215e movs r1, #94 ; 0x5e 8095514: f44f 709d mov.w r0, #314 ; 0x13a 8095518: f7c0 f97e bl 8055818 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809551c: 4984 ldr r1, [pc, #528] ; (8095730 ) 809551e: f04f 30ff mov.w r0, #4294967295 8095522: f7bf fe73 bl 805520c BSP_LCD_FillRect(316, y0, 2, k); 8095526: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809552a: b29b uxth r3, r3 809552c: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 8095530: 2202 movs r2, #2 8095532: f44f 709e mov.w r0, #316 ; 0x13c 8095536: f7c0 faf7 bl 8055b28 if((menupos != NoFilesSPEC) && (menupos != FilesSPEC)) 809553a: 4b83 ldr r3, [pc, #524] ; (8095748 ) 809553c: 781b ldrb r3, [r3, #0] 809553e: b2db uxtb r3, r3 8095540: 2b01 cmp r3, #1 8095542: f003 866a beq.w 809921a 8095546: 4b80 ldr r3, [pc, #512] ; (8095748 ) 8095548: 781b ldrb r3, [r3, #0] 809554a: b2db uxtb r3, r3 809554c: 2b02 cmp r3, #2 809554e: f003 8664 beq.w 809921a LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8095552: 4977 ldr r1, [pc, #476] ; (8095730 ) 8095554: 487b ldr r0, [pc, #492] ; (8095744 ) 8095556: f7bf fe59 bl 805520c BSP_LCD_FillRect(60, 73, 200, 124); 809555a: 237c movs r3, #124 ; 0x7c 809555c: 22c8 movs r2, #200 ; 0xc8 809555e: 2149 movs r1, #73 ; 0x49 8095560: 203c movs r0, #60 ; 0x3c 8095562: f7c0 fae1 bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8095566: 4972 ldr r1, [pc, #456] ; (8095730 ) 8095568: 4871 ldr r0, [pc, #452] ; (8095730 ) 809556a: f7bf fe4f bl 805520c BSP_LCD_FillRect(61, 74, 198, 122); 809556e: 237a movs r3, #122 ; 0x7a 8095570: 22c6 movs r2, #198 ; 0xc6 8095572: 214a movs r1, #74 ; 0x4a 8095574: 203d movs r0, #61 ; 0x3d 8095576: f7c0 fad7 bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809557a: 496d ldr r1, [pc, #436] ; (8095730 ) 809557c: f04f 30ff mov.w r0, #4294967295 8095580: f7bf fe44 bl 805520c if((menupos == UpNo) || (menupos == UpYes)) 8095584: 4b70 ldr r3, [pc, #448] ; (8095748 ) 8095586: 781b ldrb r3, [r3, #0] 8095588: b2db uxtb r3, r3 809558a: 2b06 cmp r3, #6 809558c: d004 beq.n 8095598 809558e: 4b6e ldr r3, [pc, #440] ; (8095748 ) 8095590: 781b ldrb r3, [r3, #0] 8095592: b2db uxtb r3, r3 8095594: 2b07 cmp r3, #7 8095596: d172 bne.n 809567e if(pardata.LANG == RUS) 8095598: 4b6c ldr r3, [pc, #432] ; (809574c ) 809559a: 7b1b ldrb r3, [r3, #12] 809559c: b2db uxtb r3, r3 809559e: 2b00 cmp r3, #0 80955a0: d10f bne.n 80955c2 LCD_DisplayStringC(160, LCD_LINE_6, "Ôàéë áóäåò"); 80955a2: 4a6b ldr r2, [pc, #428] ; (8095750 ) 80955a4: 216a movs r1, #106 ; 0x6a 80955a6: 20a0 movs r0, #160 ; 0xa0 80955a8: f7c0 fbf0 bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_7, "óäàëåí."); 80955ac: 4a69 ldr r2, [pc, #420] ; (8095754 ) 80955ae: 217a movs r1, #122 ; 0x7a 80955b0: 20a0 movs r0, #160 ; 0xa0 80955b2: f7c0 fbeb bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_8, "Ïðîäîëæèòü?"); 80955b6: 4a68 ldr r2, [pc, #416] ; (8095758 ) 80955b8: 218a movs r1, #138 ; 0x8a 80955ba: 20a0 movs r0, #160 ; 0xa0 80955bc: f7c0 fbe6 bl 8055d8c 80955c0: e00e b.n 80955e0 LCD_DisplayStringC(160, LCD_LINE_6, "The selected file"); 80955c2: 4a66 ldr r2, [pc, #408] ; (809575c ) 80955c4: 216a movs r1, #106 ; 0x6a 80955c6: 20a0 movs r0, #160 ; 0xa0 80955c8: f7c0 fbe0 bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_7, "will be deleted."); 80955cc: 4a64 ldr r2, [pc, #400] ; (8095760 ) 80955ce: 217a movs r1, #122 ; 0x7a 80955d0: 20a0 movs r0, #160 ; 0xa0 80955d2: f7c0 fbdb bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_8, "Continue?"); 80955d6: 4a63 ldr r2, [pc, #396] ; (8095764 ) 80955d8: 218a movs r1, #138 ; 0x8a 80955da: 20a0 movs r0, #160 ; 0xa0 80955dc: f7c0 fbd6 bl 8055d8c if(menupos == UpNo) 80955e0: 4b59 ldr r3, [pc, #356] ; (8095748 ) 80955e2: 781b ldrb r3, [r3, #0] 80955e4: b2db uxtb r3, r3 80955e6: 2b06 cmp r3, #6 80955e8: d124 bne.n 8095634 if(pardata.LANG == RUS) 80955ea: 4b58 ldr r3, [pc, #352] ; (809574c ) 80955ec: 7b1b ldrb r3, [r3, #12] 80955ee: b2db uxtb r3, r3 80955f0: 2b00 cmp r3, #0 80955f2: d10f bne.n 8095614 LCD_DisplayString(210, 170, "Äà"); 80955f4: 4a5c ldr r2, [pc, #368] ; (8095768 ) 80955f6: 21aa movs r1, #170 ; 0xaa 80955f8: 20d2 movs r0, #210 ; 0xd2 80955fa: f7c0 fbaf bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80955fe: 495b ldr r1, [pc, #364] ; (809576c ) 8095600: f04f 30ff mov.w r0, #4294967295 8095604: f7bf fe02 bl 805520c LCD_DisplayString(70, 170, "Íåò"); 8095608: 4a59 ldr r2, [pc, #356] ; (8095770 ) 809560a: 21aa movs r1, #170 ; 0xaa 809560c: 2046 movs r0, #70 ; 0x46 809560e: f7c0 fba5 bl 8055d5c if(menupos == UpNo) 8095612: e08a b.n 809572a LCD_DisplayString(210, 170, "Yes"); 8095614: 4a57 ldr r2, [pc, #348] ; (8095774 ) 8095616: 21aa movs r1, #170 ; 0xaa 8095618: 20d2 movs r0, #210 ; 0xd2 809561a: f7c0 fb9f bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809561e: 4953 ldr r1, [pc, #332] ; (809576c ) 8095620: f04f 30ff mov.w r0, #4294967295 8095624: f7bf fdf2 bl 805520c LCD_DisplayString(70, 170, "No"); 8095628: 4a53 ldr r2, [pc, #332] ; (8095778 ) 809562a: 21aa movs r1, #170 ; 0xaa 809562c: 2046 movs r0, #70 ; 0x46 809562e: f7c0 fb95 bl 8055d5c if(menupos == UpNo) 8095632: e07a b.n 809572a if(menupos == UpYes) 8095634: 4b44 ldr r3, [pc, #272] ; (8095748 ) 8095636: 781b ldrb r3, [r3, #0] 8095638: b2db uxtb r3, r3 809563a: 2b07 cmp r3, #7 809563c: d175 bne.n 809572a if(pardata.LANG == RUS) 809563e: 4b43 ldr r3, [pc, #268] ; (809574c ) 8095640: 7b1b ldrb r3, [r3, #12] 8095642: b2db uxtb r3, r3 8095644: 2b00 cmp r3, #0 8095646: d10f bne.n 8095668 LCD_DisplayString(70, 170, "Íåò"); 8095648: 4a49 ldr r2, [pc, #292] ; (8095770 ) 809564a: 21aa movs r1, #170 ; 0xaa 809564c: 2046 movs r0, #70 ; 0x46 809564e: f7c0 fb85 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095652: 4946 ldr r1, [pc, #280] ; (809576c ) 8095654: f04f 30ff mov.w r0, #4294967295 8095658: f7bf fdd8 bl 805520c LCD_DisplayString(210, 170, "Äà"); 809565c: 4a42 ldr r2, [pc, #264] ; (8095768 ) 809565e: 21aa movs r1, #170 ; 0xaa 8095660: 20d2 movs r0, #210 ; 0xd2 8095662: f7c0 fb7b bl 8055d5c if(menupos == UpNo) 8095666: e060 b.n 809572a LCD_DisplayString(70, 170, "No"); 8095668: 4a43 ldr r2, [pc, #268] ; (8095778 ) 809566a: 21aa movs r1, #170 ; 0xaa 809566c: 2046 movs r0, #70 ; 0x46 809566e: f7c0 fb75 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095672: 493e ldr r1, [pc, #248] ; (809576c ) 8095674: f04f 30ff mov.w r0, #4294967295 8095678: f7bf fdc8 bl 805520c if(menupos == UpNo) 809567c: e055 b.n 809572a if(menupos == CleanUpResult) 809567e: 4b32 ldr r3, [pc, #200] ; (8095748 ) 8095680: 781b ldrb r3, [r3, #0] 8095682: b2db uxtb r3, r3 8095684: 2b0a cmp r3, #10 8095686: f043 85c8 bne.w 809921a if(CleanStatus == AP_OK) 809568a: 4b3c ldr r3, [pc, #240] ; (809577c ) 809568c: 781b ldrb r3, [r3, #0] 809568e: b2db uxtb r3, r3 8095690: 2b00 cmp r3, #0 8095692: d11f bne.n 80956d4 if(pardata.LANG == RUS) 8095694: 4b2d ldr r3, [pc, #180] ; (809574c ) 8095696: 7b1b ldrb r3, [r3, #12] 8095698: b2db uxtb r3, r3 809569a: 2b00 cmp r3, #0 809569c: d10f bne.n 80956be LCD_DisplayStringC(160, LCD_LINE_6, "Óäàëåíèå"); 809569e: 4a38 ldr r2, [pc, #224] ; (8095780 ) 80956a0: 216a movs r1, #106 ; 0x6a 80956a2: 20a0 movs r0, #160 ; 0xa0 80956a4: f7c0 fb72 bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_7, "çàâåðøåíî"); 80956a8: 4a36 ldr r2, [pc, #216] ; (8095784 ) 80956aa: 217a movs r1, #122 ; 0x7a 80956ac: 20a0 movs r0, #160 ; 0xa0 80956ae: f7c0 fb6d bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_8, "óñïåøíî!"); 80956b2: 4a35 ldr r2, [pc, #212] ; (8095788 ) 80956b4: 218a movs r1, #138 ; 0x8a 80956b6: 20a0 movs r0, #160 ; 0xa0 80956b8: f7c0 fb68 bl 8055d8c 80956bc: e029 b.n 8095712 LCD_DisplayStringC(160, LCD_LINE_6, "Deleting"); 80956be: 4a33 ldr r2, [pc, #204] ; (809578c ) 80956c0: 216a movs r1, #106 ; 0x6a 80956c2: 20a0 movs r0, #160 ; 0xa0 80956c4: f7c0 fb62 bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_7, "successful!"); 80956c8: 4a31 ldr r2, [pc, #196] ; (8095790 ) 80956ca: 217a movs r1, #122 ; 0x7a 80956cc: 20a0 movs r0, #160 ; 0xa0 80956ce: f7c0 fb5d bl 8055d8c 80956d2: e01e b.n 8095712 if(pardata.LANG == RUS) 80956d4: 4b1d ldr r3, [pc, #116] ; (809574c ) 80956d6: 7b1b ldrb r3, [r3, #12] 80956d8: b2db uxtb r3, r3 80956da: 2b00 cmp r3, #0 80956dc: d10f bne.n 80956fe LCD_DisplayStringC(160, LCD_LINE_6, "Îøèáêà â"); 80956de: 4a2d ldr r2, [pc, #180] ; (8095794 ) 80956e0: 216a movs r1, #106 ; 0x6a 80956e2: 20a0 movs r0, #160 ; 0xa0 80956e4: f7c0 fb52 bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_7, "ïðîöåññå"); 80956e8: 4a2b ldr r2, [pc, #172] ; (8095798 ) 80956ea: 217a movs r1, #122 ; 0x7a 80956ec: 20a0 movs r0, #160 ; 0xa0 80956ee: f7c0 fb4d bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_8, "óäàëåíèÿ..."); 80956f2: 4a2a ldr r2, [pc, #168] ; (809579c ) 80956f4: 218a movs r1, #138 ; 0x8a 80956f6: 20a0 movs r0, #160 ; 0xa0 80956f8: f7c0 fb48 bl 8055d8c 80956fc: e009 b.n 8095712 LCD_DisplayStringC(160, LCD_LINE_6, "Deleting"); 80956fe: 4a23 ldr r2, [pc, #140] ; (809578c ) 8095700: 216a movs r1, #106 ; 0x6a 8095702: 20a0 movs r0, #160 ; 0xa0 8095704: f7c0 fb42 bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_7, "error!"); 8095708: 4a25 ldr r2, [pc, #148] ; (80957a0 ) 809570a: 217a movs r1, #122 ; 0x7a 809570c: 20a0 movs r0, #160 ; 0xa0 809570e: f7c0 fb3d bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095712: 4916 ldr r1, [pc, #88] ; (809576c ) 8095714: f04f 30ff mov.w r0, #4294967295 8095718: f7bf fd78 bl 805520c LCD_DisplayStringC(160, 170, "Ok"); 809571c: 4a21 ldr r2, [pc, #132] ; (80957a4 ) 809571e: 21aa movs r1, #170 ; 0xaa 8095720: 20a0 movs r0, #160 ; 0xa0 8095722: f7c0 fb33 bl 8055d8c break; 8095726: f003 bd78 b.w 809921a if(menupos == UpNo) 809572a: bf00 nop break; 809572c: f003 bd75 b.w 809921a 8095730: ff0a0f1f .word 0xff0a0f1f 8095734: 080f5e78 .word 0x080f5e78 8095738: 20020e1c .word 0x20020e1c 809573c: 20020e04 .word 0x20020e04 8095740: 42c00000 .word 0x42c00000 8095744: ffd3d3d3 .word 0xffd3d3d3 8095748: 20020070 .word 0x20020070 809574c: 20023eb8 .word 0x20023eb8 8095750: 080d6e04 .word 0x080d6e04 8095754: 080d6e10 .word 0x080d6e10 8095758: 080d6e18 .word 0x080d6e18 809575c: 080d6e24 .word 0x080d6e24 8095760: 080d6e38 .word 0x080d6e38 8095764: 080d6e4c .word 0x080d6e4c 8095768: 080d62c8 .word 0x080d62c8 809576c: ff606060 .word 0xff606060 8095770: 080d5118 .word 0x080d5118 8095774: 080d6834 .word 0x080d6834 8095778: 080d6838 .word 0x080d6838 809577c: 20020df0 .word 0x20020df0 8095780: 080d6e58 .word 0x080d6e58 8095784: 080d6e64 .word 0x080d6e64 8095788: 080d6a68 .word 0x080d6a68 809578c: 080d6e70 .word 0x080d6e70 8095790: 080d6e7c .word 0x080d6e7c 8095794: 080d6e88 .word 0x080d6e88 8095798: 080d6e94 .word 0x080d6e94 809579c: 080d6d0c .word 0x080d6d0c 80957a0: 080d6ea0 .word 0x080d6ea0 80957a4: 080d6914 .word 0x080d6914 case ARCHIVE_FRAN: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80957a8: 4941 ldr r1, [pc, #260] ; (80958b0 ) 80957aa: 4842 ldr r0, [pc, #264] ; (80958b4 ) 80957ac: f7bf fd2e bl 805520c BSP_LCD_DrawHLine(7, 52, 308); 80957b0: f44f 729a mov.w r2, #308 ; 0x134 80957b4: 2134 movs r1, #52 ; 0x34 80957b6: 2007 movs r0, #7 80957b8: f7bf fea2 bl 8055500 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80957bc: 493c ldr r1, [pc, #240] ; (80958b0 ) 80957be: 483e ldr r0, [pc, #248] ; (80958b8 ) 80957c0: f7bf fd24 bl 805520c if(pardata.LANG == RUS) 80957c4: 4b3d ldr r3, [pc, #244] ; (80958bc ) 80957c6: 7b1b ldrb r3, [r3, #12] 80957c8: b2db uxtb r3, r3 80957ca: 2b00 cmp r3, #0 80957cc: d105 bne.n 80957da LCD_DisplayString(7, LCD_LINE_2, "..|Îòêðûòü ôàéë"); 80957ce: 4a3c ldr r2, [pc, #240] ; (80958c0 ) 80957d0: 2127 movs r1, #39 ; 0x27 80957d2: 2007 movs r0, #7 80957d4: f7c0 fac2 bl 8055d5c 80957d8: e004 b.n 80957e4 else LCD_DisplayString(7, LCD_LINE_2, "..|Open file"); 80957da: 4a3a ldr r2, [pc, #232] ; (80958c4 ) 80957dc: 2127 movs r1, #39 ; 0x27 80957de: 2007 movs r0, #7 80957e0: f7c0 fabc bl 8055d5c if(pardata.LANG == RUS) 80957e4: 4b35 ldr r3, [pc, #212] ; (80958bc ) 80957e6: 7b1b ldrb r3, [r3, #12] 80957e8: b2db uxtb r3, r3 80957ea: 2b00 cmp r3, #0 80957ec: d105 bne.n 80957fa DrawImage(&bmLEGEND_CLEAN, 0, 65); 80957ee: 2241 movs r2, #65 ; 0x41 80957f0: 2100 movs r1, #0 80957f2: 4835 ldr r0, [pc, #212] ; (80958c8 ) 80957f4: f7c0 fbfe bl 8055ff4 80957f8: e004 b.n 8095804 else DrawImage(&bmLEGEND_CLEAN_ENG, 0, 65); 80957fa: 2241 movs r2, #65 ; 0x41 80957fc: 2100 movs r1, #0 80957fe: 4833 ldr r0, [pc, #204] ; (80958cc ) 8095800: f7c0 fbf8 bl 8055ff4 if(menupos == NoFilesFRAN) 8095804: 4b32 ldr r3, [pc, #200] ; (80958d0 ) 8095806: 781b ldrb r3, [r3, #0] 8095808: b2db uxtb r3, r3 809580a: 2b01 cmp r3, #1 809580c: d117 bne.n 809583e { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809580e: 4928 ldr r1, [pc, #160] ; (80958b0 ) 8095810: f04f 30ff mov.w r0, #4294967295 8095814: f7bf fcfa bl 805520c if(pardata.LANG == RUS) 8095818: 4b28 ldr r3, [pc, #160] ; (80958bc ) 809581a: 7b1b ldrb r3, [r3, #12] 809581c: b2db uxtb r3, r3 809581e: 2b00 cmp r3, #0 8095820: d106 bne.n 8095830 LCD_DisplayStringC(160, LCD_LINE_8, "Ôàéëû îòñóòñòâóþò."); 8095822: 4a2c ldr r2, [pc, #176] ; (80958d4 ) 8095824: 218a movs r1, #138 ; 0x8a 8095826: 20a0 movs r0, #160 ; 0xa0 8095828: f7c0 fab0 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); LCD_DisplayStringC(160, 170, "Ok"); } } } break; 809582c: f003 bcf7 b.w 809921e else LCD_DisplayStringC(160, LCD_LINE_8, "No files..."); 8095830: 4a29 ldr r2, [pc, #164] ; (80958d8 ) 8095832: 218a movs r1, #138 ; 0x8a 8095834: 20a0 movs r0, #160 ; 0xa0 8095836: f7c0 faa9 bl 8055d8c break; 809583a: f003 bcf0 b.w 809921e if((menupos == FilesFRAN) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) 809583e: 4b24 ldr r3, [pc, #144] ; (80958d0 ) 8095840: 781b ldrb r3, [r3, #0] 8095842: b2db uxtb r3, r3 8095844: 2b02 cmp r3, #2 8095846: d00f beq.n 8095868 8095848: 4b21 ldr r3, [pc, #132] ; (80958d0 ) 809584a: 781b ldrb r3, [r3, #0] 809584c: b2db uxtb r3, r3 809584e: 2b06 cmp r3, #6 8095850: d00a beq.n 8095868 8095852: 4b1f ldr r3, [pc, #124] ; (80958d0 ) 8095854: 781b ldrb r3, [r3, #0] 8095856: b2db uxtb r3, r3 8095858: 2b07 cmp r3, #7 809585a: d005 beq.n 8095868 809585c: 4b1c ldr r3, [pc, #112] ; (80958d0 ) 809585e: 781b ldrb r3, [r3, #0] 8095860: b2db uxtb r3, r3 8095862: 2b0a cmp r3, #10 8095864: f043 84db bne.w 809921e BSP_LCD_SetFont(&Font12); 8095868: 481c ldr r0, [pc, #112] ; (80958dc ) 809586a: f7bf fd0b bl 8055284 for(i = 0; i < VIEW_FILES; i++) 809586e: 2300 movs r3, #0 8095870: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8095874: e19c b.n 8095bb0 if(CursorIndex == i) 8095876: 4b1a ldr r3, [pc, #104] ; (80958e0 ) 8095878: 681a ldr r2, [r3, #0] 809587a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809587e: 429a cmp r2, r3 8095880: d136 bne.n 80958f0 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 8095882: 4918 ldr r1, [pc, #96] ; (80958e4 ) 8095884: 4817 ldr r0, [pc, #92] ; (80958e4 ) 8095886: f7bf fcc1 bl 805520c BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 809588a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809588e: 4a16 ldr r2, [pc, #88] ; (80958e8 ) 8095890: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8095894: 4b15 ldr r3, [pc, #84] ; (80958ec ) 8095896: 681b ldr r3, [r3, #0] 8095898: 88db ldrh r3, [r3, #6] 809589a: f44f 729c mov.w r2, #312 ; 0x138 809589e: 2003 movs r0, #3 80958a0: f7c0 f942 bl 8055b28 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_CURSOR); 80958a4: 490f ldr r1, [pc, #60] ; (80958e4 ) 80958a6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80958aa: f7bf fcaf bl 805520c 80958ae: e024 b.n 80958fa 80958b0: ff0a0f1f .word 0xff0a0f1f 80958b4: ffd3d3d3 .word 0xffd3d3d3 80958b8: ff808080 .word 0xff808080 80958bc: 20023eb8 .word 0x20023eb8 80958c0: 080d6dc4 .word 0x080d6dc4 80958c4: 080d6dd4 .word 0x080d6dd4 80958c8: 0811e9ac .word 0x0811e9ac 80958cc: 08121bb8 .word 0x08121bb8 80958d0: 20020070 .word 0x20020070 80958d4: 080d6de4 .word 0x080d6de4 80958d8: 080d6df8 .word 0x080d6df8 80958dc: 20020038 .word 0x20020038 80958e0: 20020e00 .word 0x20020e00 80958e4: ff606060 .word 0xff606060 80958e8: 080f5e78 .word 0x080f5e78 80958ec: 20025d7c .word 0x20025d7c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80958f0: 499e ldr r1, [pc, #632] ; (8095b6c ) 80958f2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80958f6: f7bf fc89 bl 805520c if(ExplorerFiles[i].fname[0] != 0) 80958fa: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80958fe: 499c ldr r1, [pc, #624] ; (8095b70 ) 8095900: 4613 mov r3, r2 8095902: 00db lsls r3, r3, #3 8095904: 1a9b subs r3, r3, r2 8095906: 00db lsls r3, r3, #3 8095908: 440b add r3, r1 809590a: 330c adds r3, #12 809590c: 781b ldrb r3, [r3, #0] 809590e: 2b00 cmp r3, #0 8095910: f000 8149 beq.w 8095ba6 BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 8095914: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095918: 4a96 ldr r2, [pc, #600] ; (8095b74 ) 809591a: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 809591e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8095922: 4613 mov r3, r2 8095924: 00db lsls r3, r3, #3 8095926: 1a9b subs r3, r3, r2 8095928: 00db lsls r3, r3, #3 809592a: 3308 adds r3, #8 809592c: 4a90 ldr r2, [pc, #576] ; (8095b70 ) 809592e: 4413 add r3, r2 8095930: 1d1a adds r2, r3, #4 8095932: 2303 movs r3, #3 8095934: 2005 movs r0, #5 8095936: f7bf fd2f bl 8055398 k = 0; 809593a: 2300 movs r3, #0 809593c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 GetDateTimeFromUnix(&FatTime, ExplorerFiles[i].datetime); 8095940: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8095944: 498a ldr r1, [pc, #552] ; (8095b70 ) 8095946: 4613 mov r3, r2 8095948: 00db lsls r3, r3, #3 809594a: 1a9b subs r3, r3, r2 809594c: 00db lsls r3, r3, #3 809594e: 440b add r3, r1 8095950: 3308 adds r3, #8 8095952: 681a ldr r2, [r3, #0] 8095954: f107 030c add.w r3, r7, #12 8095958: 4611 mov r1, r2 809595a: 4618 mov r0, r3 809595c: f7d3 fb46 bl 8068fec str1[k++] = (FatTime.Date / 10) + 48; 8095960: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095964: 1c5a adds r2, r3, #1 8095966: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809596a: f107 020c add.w r2, r7, #12 809596e: 7852 ldrb r2, [r2, #1] 8095970: 4981 ldr r1, [pc, #516] ; (8095b78 ) 8095972: fba1 1202 umull r1, r2, r1, r2 8095976: 08d2 lsrs r2, r2, #3 8095978: b2d2 uxtb r2, r2 809597a: 3230 adds r2, #48 ; 0x30 809597c: b2d1 uxtb r1, r2 809597e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095982: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Date % 10) + 48; 8095984: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8095988: 1c53 adds r3, r2, #1 809598a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809598e: f107 030c add.w r3, r7, #12 8095992: 7859 ldrb r1, [r3, #1] 8095994: 4b78 ldr r3, [pc, #480] ; (8095b78 ) 8095996: fba3 0301 umull r0, r3, r3, r1 809599a: 08d8 lsrs r0, r3, #3 809599c: 4603 mov r3, r0 809599e: 009b lsls r3, r3, #2 80959a0: 4403 add r3, r0 80959a2: 005b lsls r3, r3, #1 80959a4: 1acb subs r3, r1, r3 80959a6: b2db uxtb r3, r3 80959a8: 3330 adds r3, #48 ; 0x30 80959aa: b2d9 uxtb r1, r3 80959ac: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80959b0: 5499 strb r1, [r3, r2] str1[k++] = '.'; 80959b2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80959b6: 1c5a adds r2, r3, #1 80959b8: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80959bc: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80959c0: 212e movs r1, #46 ; 0x2e 80959c2: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month / 10) + 48; 80959c4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80959c8: 1c5a adds r2, r3, #1 80959ca: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80959ce: f107 020c add.w r2, r7, #12 80959d2: 7812 ldrb r2, [r2, #0] 80959d4: 4968 ldr r1, [pc, #416] ; (8095b78 ) 80959d6: fba1 1202 umull r1, r2, r1, r2 80959da: 08d2 lsrs r2, r2, #3 80959dc: b2d2 uxtb r2, r2 80959de: 3230 adds r2, #48 ; 0x30 80959e0: b2d1 uxtb r1, r2 80959e2: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80959e6: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month % 10) + 48; 80959e8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80959ec: 1c53 adds r3, r2, #1 80959ee: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80959f2: f107 030c add.w r3, r7, #12 80959f6: 7819 ldrb r1, [r3, #0] 80959f8: 4b5f ldr r3, [pc, #380] ; (8095b78 ) 80959fa: fba3 0301 umull r0, r3, r3, r1 80959fe: 08d8 lsrs r0, r3, #3 8095a00: 4603 mov r3, r0 8095a02: 009b lsls r3, r3, #2 8095a04: 4403 add r3, r0 8095a06: 005b lsls r3, r3, #1 8095a08: 1acb subs r3, r1, r3 8095a0a: b2db uxtb r3, r3 8095a0c: 3330 adds r3, #48 ; 0x30 8095a0e: b2d9 uxtb r1, r3 8095a10: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095a14: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8095a16: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095a1a: 1c5a adds r2, r3, #1 8095a1c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8095a20: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095a24: 212e movs r1, #46 ; 0x2e 8095a26: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year / 10) + 48; 8095a28: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095a2c: 1c5a adds r2, r3, #1 8095a2e: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8095a32: f107 020c add.w r2, r7, #12 8095a36: 7892 ldrb r2, [r2, #2] 8095a38: 494f ldr r1, [pc, #316] ; (8095b78 ) 8095a3a: fba1 1202 umull r1, r2, r1, r2 8095a3e: 08d2 lsrs r2, r2, #3 8095a40: b2d2 uxtb r2, r2 8095a42: 3230 adds r2, #48 ; 0x30 8095a44: b2d1 uxtb r1, r2 8095a46: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095a4a: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year % 10) + 48; 8095a4c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8095a50: 1c53 adds r3, r2, #1 8095a52: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095a56: f107 030c add.w r3, r7, #12 8095a5a: 7899 ldrb r1, [r3, #2] 8095a5c: 4b46 ldr r3, [pc, #280] ; (8095b78 ) 8095a5e: fba3 0301 umull r0, r3, r3, r1 8095a62: 08d8 lsrs r0, r3, #3 8095a64: 4603 mov r3, r0 8095a66: 009b lsls r3, r3, #2 8095a68: 4403 add r3, r0 8095a6a: 005b lsls r3, r3, #1 8095a6c: 1acb subs r3, r1, r3 8095a6e: b2db uxtb r3, r3 8095a70: 3330 adds r3, #48 ; 0x30 8095a72: b2d9 uxtb r1, r3 8095a74: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095a78: 5499 strb r1, [r3, r2] str1[k++] = ' '; 8095a7a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095a7e: 1c5a adds r2, r3, #1 8095a80: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8095a84: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095a88: 2120 movs r1, #32 8095a8a: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours / 10) + 48; 8095a8c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095a90: 1c5a adds r2, r3, #1 8095a92: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8095a96: f107 020c add.w r2, r7, #12 8095a9a: 78d2 ldrb r2, [r2, #3] 8095a9c: 4936 ldr r1, [pc, #216] ; (8095b78 ) 8095a9e: fba1 1202 umull r1, r2, r1, r2 8095aa2: 08d2 lsrs r2, r2, #3 8095aa4: b2d2 uxtb r2, r2 8095aa6: 3230 adds r2, #48 ; 0x30 8095aa8: b2d1 uxtb r1, r2 8095aaa: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095aae: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours % 10) + 48; 8095ab0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8095ab4: 1c53 adds r3, r2, #1 8095ab6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095aba: f107 030c add.w r3, r7, #12 8095abe: 78d9 ldrb r1, [r3, #3] 8095ac0: 4b2d ldr r3, [pc, #180] ; (8095b78 ) 8095ac2: fba3 0301 umull r0, r3, r3, r1 8095ac6: 08d8 lsrs r0, r3, #3 8095ac8: 4603 mov r3, r0 8095aca: 009b lsls r3, r3, #2 8095acc: 4403 add r3, r0 8095ace: 005b lsls r3, r3, #1 8095ad0: 1acb subs r3, r1, r3 8095ad2: b2db uxtb r3, r3 8095ad4: 3330 adds r3, #48 ; 0x30 8095ad6: b2d9 uxtb r1, r3 8095ad8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095adc: 5499 strb r1, [r3, r2] str1[k++] = ':'; 8095ade: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095ae2: 1c5a adds r2, r3, #1 8095ae4: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8095ae8: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095aec: 213a movs r1, #58 ; 0x3a 8095aee: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes / 10) + 48; 8095af0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095af4: 1c5a adds r2, r3, #1 8095af6: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8095afa: f107 020c add.w r2, r7, #12 8095afe: 7912 ldrb r2, [r2, #4] 8095b00: 491d ldr r1, [pc, #116] ; (8095b78 ) 8095b02: fba1 1202 umull r1, r2, r1, r2 8095b06: 08d2 lsrs r2, r2, #3 8095b08: b2d2 uxtb r2, r2 8095b0a: 3230 adds r2, #48 ; 0x30 8095b0c: b2d1 uxtb r1, r2 8095b0e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095b12: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes % 10) + 48; 8095b14: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8095b18: 1c53 adds r3, r2, #1 8095b1a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095b1e: f107 030c add.w r3, r7, #12 8095b22: 7919 ldrb r1, [r3, #4] 8095b24: 4b14 ldr r3, [pc, #80] ; (8095b78 ) 8095b26: fba3 0301 umull r0, r3, r3, r1 8095b2a: 08d8 lsrs r0, r3, #3 8095b2c: 4603 mov r3, r0 8095b2e: 009b lsls r3, r3, #2 8095b30: 4403 add r3, r0 8095b32: 005b lsls r3, r3, #1 8095b34: 1acb subs r3, r1, r3 8095b36: b2db uxtb r3, r3 8095b38: 3330 adds r3, #48 ; 0x30 8095b3a: b2d9 uxtb r1, r3 8095b3c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095b40: 5499 strb r1, [r3, r2] str1[k++] = '\0'; 8095b42: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095b46: 1c5a adds r2, r3, #1 8095b48: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8095b4c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095b50: 2100 movs r1, #0 8095b52: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 8095b54: 4b09 ldr r3, [pc, #36] ; (8095b7c ) 8095b56: 681a ldr r2, [r3, #0] 8095b58: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095b5c: 429a cmp r2, r3 8095b5e: d111 bne.n 8095b84 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095b60: 4907 ldr r1, [pc, #28] ; (8095b80 ) 8095b62: f04f 30ff mov.w r0, #4294967295 8095b66: f7bf fb51 bl 805520c 8095b6a: e010 b.n 8095b8e 8095b6c: ff0a0f1f .word 0xff0a0f1f 8095b70: 200223a0 .word 0x200223a0 8095b74: 080f5e78 .word 0x080f5e78 8095b78: cccccccd .word 0xcccccccd 8095b7c: 20020e00 .word 0x20020e00 8095b80: ff606060 .word 0xff606060 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095b84: 49c2 ldr r1, [pc, #776] ; (8095e90 ) 8095b86: f04f 30ff mov.w r0, #4294967295 8095b8a: f7bf fb3f bl 805520c BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 8095b8e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095b92: 4ac0 ldr r2, [pc, #768] ; (8095e94 ) 8095b94: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8095b98: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095b9c: 2302 movs r3, #2 8095b9e: f44f 709c mov.w r0, #312 ; 0x138 8095ba2: f7bf fbf9 bl 8055398 for(i = 0; i < VIEW_FILES; i++) 8095ba6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095baa: 3301 adds r3, #1 8095bac: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8095bb0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095bb4: 2b0b cmp r3, #11 8095bb6: f67f ae5e bls.w 8095876 if(NumFilesFRAN > VIEW_FILES) 8095bba: 4bb7 ldr r3, [pc, #732] ; (8095e98 ) 8095bbc: 681b ldr r3, [r3, #0] 8095bbe: 2b0c cmp r3, #12 8095bc0: d95f bls.n 8095c82 k = (140 * VIEW_FILES) / NumFilesFRAN; //äëèíà ïîëçóíêà 8095bc2: 4bb5 ldr r3, [pc, #724] ; (8095e98 ) 8095bc4: 681b ldr r3, [r3, #0] 8095bc6: f44f 62d2 mov.w r2, #1680 ; 0x690 8095bca: fbb2 f3f3 udiv r3, r2, r3 8095bce: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 8095bd2: 4bb2 ldr r3, [pc, #712] ; (8095e9c ) 8095bd4: 681b ldr r3, [r3, #0] 8095bd6: 228c movs r2, #140 ; 0x8c 8095bd8: fb02 f303 mul.w r3, r2, r3 8095bdc: ee07 3a90 vmov s15, r3 8095be0: eef8 7a67 vcvt.f32.u32 s15, s15 8095be4: f507 638b add.w r3, r7, #1112 ; 0x458 8095be8: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesFRAN) + 96.0f; 8095bec: 4baa ldr r3, [pc, #680] ; (8095e98 ) 8095bee: 681b ldr r3, [r3, #0] 8095bf0: ee07 3a90 vmov s15, r3 8095bf4: eeb8 7a67 vcvt.f32.u32 s14, s15 8095bf8: f507 638b add.w r3, r7, #1112 ; 0x458 8095bfc: edd3 6a00 vldr s13, [r3] 8095c00: eec6 7a87 vdiv.f32 s15, s13, s14 8095c04: ed9f 7aa6 vldr s14, [pc, #664] ; 8095ea0 8095c08: ee77 7a87 vadd.f32 s15, s15, s14 8095c0c: f507 638b add.w r3, r7, #1112 ; 0x458 8095c10: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 8095c14: f507 638b add.w r3, r7, #1112 ; 0x458 8095c18: edd3 7a00 vldr s15, [r3] 8095c1c: eefc 7ae7 vcvt.u32.f32 s15, s15 8095c20: edc7 7a01 vstr s15, [r7, #4] 8095c24: 88bb ldrh r3, [r7, #4] 8095c26: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 8095c2a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095c2e: b29a uxth r2, r3 8095c30: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8095c34: 4413 add r3, r2 8095c36: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 8095c3a: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8095c3e: 2bec cmp r3, #236 ; 0xec 8095c40: d905 bls.n 8095c4e k = 236 - y0; 8095c42: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8095c46: f1c3 03ec rsb r3, r3, #236 ; 0xec 8095c4a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8095c4e: 4990 ldr r1, [pc, #576] ; (8095e90 ) 8095c50: 4894 ldr r0, [pc, #592] ; (8095ea4 ) 8095c52: f7bf fadb bl 805520c BSP_LCD_DrawRect(314, 94, 5, 143); 8095c56: 238f movs r3, #143 ; 0x8f 8095c58: 2205 movs r2, #5 8095c5a: 215e movs r1, #94 ; 0x5e 8095c5c: f44f 709d mov.w r0, #314 ; 0x13a 8095c60: f7bf fdda bl 8055818 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095c64: 498a ldr r1, [pc, #552] ; (8095e90 ) 8095c66: f04f 30ff mov.w r0, #4294967295 8095c6a: f7bf facf bl 805520c BSP_LCD_FillRect(316, y0, 2, k); 8095c6e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095c72: b29b uxth r3, r3 8095c74: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 8095c78: 2202 movs r2, #2 8095c7a: f44f 709e mov.w r0, #316 ; 0x13c 8095c7e: f7bf ff53 bl 8055b28 if((menupos != NoFilesFRAN) && (menupos != FilesFRAN)) 8095c82: 4b89 ldr r3, [pc, #548] ; (8095ea8 ) 8095c84: 781b ldrb r3, [r3, #0] 8095c86: b2db uxtb r3, r3 8095c88: 2b01 cmp r3, #1 8095c8a: f003 82c8 beq.w 809921e 8095c8e: 4b86 ldr r3, [pc, #536] ; (8095ea8 ) 8095c90: 781b ldrb r3, [r3, #0] 8095c92: b2db uxtb r3, r3 8095c94: 2b02 cmp r3, #2 8095c96: f003 82c2 beq.w 809921e LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8095c9a: 497d ldr r1, [pc, #500] ; (8095e90 ) 8095c9c: 4881 ldr r0, [pc, #516] ; (8095ea4 ) 8095c9e: f7bf fab5 bl 805520c BSP_LCD_FillRect(60, 73, 200, 124); 8095ca2: 237c movs r3, #124 ; 0x7c 8095ca4: 22c8 movs r2, #200 ; 0xc8 8095ca6: 2149 movs r1, #73 ; 0x49 8095ca8: 203c movs r0, #60 ; 0x3c 8095caa: f7bf ff3d bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8095cae: 4978 ldr r1, [pc, #480] ; (8095e90 ) 8095cb0: 4877 ldr r0, [pc, #476] ; (8095e90 ) 8095cb2: f7bf faab bl 805520c BSP_LCD_FillRect(61, 74, 198, 122); 8095cb6: 237a movs r3, #122 ; 0x7a 8095cb8: 22c6 movs r2, #198 ; 0xc6 8095cba: 214a movs r1, #74 ; 0x4a 8095cbc: 203d movs r0, #61 ; 0x3d 8095cbe: f7bf ff33 bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095cc2: 4973 ldr r1, [pc, #460] ; (8095e90 ) 8095cc4: f04f 30ff mov.w r0, #4294967295 8095cc8: f7bf faa0 bl 805520c if((menupos == UpNo) || (menupos == UpYes)) 8095ccc: 4b76 ldr r3, [pc, #472] ; (8095ea8 ) 8095cce: 781b ldrb r3, [r3, #0] 8095cd0: b2db uxtb r3, r3 8095cd2: 2b06 cmp r3, #6 8095cd4: d004 beq.n 8095ce0 8095cd6: 4b74 ldr r3, [pc, #464] ; (8095ea8 ) 8095cd8: 781b ldrb r3, [r3, #0] 8095cda: b2db uxtb r3, r3 8095cdc: 2b07 cmp r3, #7 8095cde: d172 bne.n 8095dc6 if(pardata.LANG == RUS) 8095ce0: 4b72 ldr r3, [pc, #456] ; (8095eac ) 8095ce2: 7b1b ldrb r3, [r3, #12] 8095ce4: b2db uxtb r3, r3 8095ce6: 2b00 cmp r3, #0 8095ce8: d10f bne.n 8095d0a LCD_DisplayStringC(160, LCD_LINE_6, "Ôàéë áóäåò"); 8095cea: 4a71 ldr r2, [pc, #452] ; (8095eb0 ) 8095cec: 216a movs r1, #106 ; 0x6a 8095cee: 20a0 movs r0, #160 ; 0xa0 8095cf0: f7c0 f84c bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_7, "óäàëåí."); 8095cf4: 4a6f ldr r2, [pc, #444] ; (8095eb4 ) 8095cf6: 217a movs r1, #122 ; 0x7a 8095cf8: 20a0 movs r0, #160 ; 0xa0 8095cfa: f7c0 f847 bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_8, "Ïðîäîëæèòü?"); 8095cfe: 4a6e ldr r2, [pc, #440] ; (8095eb8 ) 8095d00: 218a movs r1, #138 ; 0x8a 8095d02: 20a0 movs r0, #160 ; 0xa0 8095d04: f7c0 f842 bl 8055d8c 8095d08: e00e b.n 8095d28 LCD_DisplayStringC(160, LCD_LINE_6, "The selected file"); 8095d0a: 4a6c ldr r2, [pc, #432] ; (8095ebc ) 8095d0c: 216a movs r1, #106 ; 0x6a 8095d0e: 20a0 movs r0, #160 ; 0xa0 8095d10: f7c0 f83c bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_7, "will be deleted."); 8095d14: 4a6a ldr r2, [pc, #424] ; (8095ec0 ) 8095d16: 217a movs r1, #122 ; 0x7a 8095d18: 20a0 movs r0, #160 ; 0xa0 8095d1a: f7c0 f837 bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_8, "Continue?"); 8095d1e: 4a69 ldr r2, [pc, #420] ; (8095ec4 ) 8095d20: 218a movs r1, #138 ; 0x8a 8095d22: 20a0 movs r0, #160 ; 0xa0 8095d24: f7c0 f832 bl 8055d8c if(menupos == UpNo) 8095d28: 4b5f ldr r3, [pc, #380] ; (8095ea8 ) 8095d2a: 781b ldrb r3, [r3, #0] 8095d2c: b2db uxtb r3, r3 8095d2e: 2b06 cmp r3, #6 8095d30: d124 bne.n 8095d7c if(pardata.LANG == RUS) 8095d32: 4b5e ldr r3, [pc, #376] ; (8095eac ) 8095d34: 7b1b ldrb r3, [r3, #12] 8095d36: b2db uxtb r3, r3 8095d38: 2b00 cmp r3, #0 8095d3a: d10f bne.n 8095d5c LCD_DisplayString(210, 170, "Äà"); 8095d3c: 4a62 ldr r2, [pc, #392] ; (8095ec8 ) 8095d3e: 21aa movs r1, #170 ; 0xaa 8095d40: 20d2 movs r0, #210 ; 0xd2 8095d42: f7c0 f80b bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095d46: 4961 ldr r1, [pc, #388] ; (8095ecc ) 8095d48: f04f 30ff mov.w r0, #4294967295 8095d4c: f7bf fa5e bl 805520c LCD_DisplayString(70, 170, "Íåò"); 8095d50: 4a5f ldr r2, [pc, #380] ; (8095ed0 ) 8095d52: 21aa movs r1, #170 ; 0xaa 8095d54: 2046 movs r0, #70 ; 0x46 8095d56: f7c0 f801 bl 8055d5c if(menupos == UpNo) 8095d5a: e08a b.n 8095e72 LCD_DisplayString(210, 170, "Yes"); 8095d5c: 4a5d ldr r2, [pc, #372] ; (8095ed4 ) 8095d5e: 21aa movs r1, #170 ; 0xaa 8095d60: 20d2 movs r0, #210 ; 0xd2 8095d62: f7bf fffb bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095d66: 4959 ldr r1, [pc, #356] ; (8095ecc ) 8095d68: f04f 30ff mov.w r0, #4294967295 8095d6c: f7bf fa4e bl 805520c LCD_DisplayString(70, 170, "No"); 8095d70: 4a59 ldr r2, [pc, #356] ; (8095ed8 ) 8095d72: 21aa movs r1, #170 ; 0xaa 8095d74: 2046 movs r0, #70 ; 0x46 8095d76: f7bf fff1 bl 8055d5c if(menupos == UpNo) 8095d7a: e07a b.n 8095e72 if(menupos == UpYes) 8095d7c: 4b4a ldr r3, [pc, #296] ; (8095ea8 ) 8095d7e: 781b ldrb r3, [r3, #0] 8095d80: b2db uxtb r3, r3 8095d82: 2b07 cmp r3, #7 8095d84: d175 bne.n 8095e72 if(pardata.LANG == RUS) 8095d86: 4b49 ldr r3, [pc, #292] ; (8095eac ) 8095d88: 7b1b ldrb r3, [r3, #12] 8095d8a: b2db uxtb r3, r3 8095d8c: 2b00 cmp r3, #0 8095d8e: d10f bne.n 8095db0 LCD_DisplayString(70, 170, "Íåò"); 8095d90: 4a4f ldr r2, [pc, #316] ; (8095ed0 ) 8095d92: 21aa movs r1, #170 ; 0xaa 8095d94: 2046 movs r0, #70 ; 0x46 8095d96: f7bf ffe1 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095d9a: 494c ldr r1, [pc, #304] ; (8095ecc ) 8095d9c: f04f 30ff mov.w r0, #4294967295 8095da0: f7bf fa34 bl 805520c LCD_DisplayString(210, 170, "Äà"); 8095da4: 4a48 ldr r2, [pc, #288] ; (8095ec8 ) 8095da6: 21aa movs r1, #170 ; 0xaa 8095da8: 20d2 movs r0, #210 ; 0xd2 8095daa: f7bf ffd7 bl 8055d5c if(menupos == UpNo) 8095dae: e060 b.n 8095e72 LCD_DisplayString(70, 170, "No"); 8095db0: 4a49 ldr r2, [pc, #292] ; (8095ed8 ) 8095db2: 21aa movs r1, #170 ; 0xaa 8095db4: 2046 movs r0, #70 ; 0x46 8095db6: f7bf ffd1 bl 8055d5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095dba: 4944 ldr r1, [pc, #272] ; (8095ecc ) 8095dbc: f04f 30ff mov.w r0, #4294967295 8095dc0: f7bf fa24 bl 805520c if(menupos == UpNo) 8095dc4: e055 b.n 8095e72 if(menupos == CleanUpResult) 8095dc6: 4b38 ldr r3, [pc, #224] ; (8095ea8 ) 8095dc8: 781b ldrb r3, [r3, #0] 8095dca: b2db uxtb r3, r3 8095dcc: 2b0a cmp r3, #10 8095dce: f043 8226 bne.w 809921e if(CleanStatus == AP_OK) 8095dd2: 4b42 ldr r3, [pc, #264] ; (8095edc ) 8095dd4: 781b ldrb r3, [r3, #0] 8095dd6: b2db uxtb r3, r3 8095dd8: 2b00 cmp r3, #0 8095dda: d11f bne.n 8095e1c if(pardata.LANG == RUS) 8095ddc: 4b33 ldr r3, [pc, #204] ; (8095eac ) 8095dde: 7b1b ldrb r3, [r3, #12] 8095de0: b2db uxtb r3, r3 8095de2: 2b00 cmp r3, #0 8095de4: d10f bne.n 8095e06 LCD_DisplayStringC(160, LCD_LINE_6, "Óäàëåíèå"); 8095de6: 4a3e ldr r2, [pc, #248] ; (8095ee0 ) 8095de8: 216a movs r1, #106 ; 0x6a 8095dea: 20a0 movs r0, #160 ; 0xa0 8095dec: f7bf ffce bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_7, "çàâåðøåíî"); 8095df0: 4a3c ldr r2, [pc, #240] ; (8095ee4 ) 8095df2: 217a movs r1, #122 ; 0x7a 8095df4: 20a0 movs r0, #160 ; 0xa0 8095df6: f7bf ffc9 bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_8, "óñïåøíî!"); 8095dfa: 4a3b ldr r2, [pc, #236] ; (8095ee8 ) 8095dfc: 218a movs r1, #138 ; 0x8a 8095dfe: 20a0 movs r0, #160 ; 0xa0 8095e00: f7bf ffc4 bl 8055d8c 8095e04: e029 b.n 8095e5a LCD_DisplayStringC(160, LCD_LINE_6, "Deleting"); 8095e06: 4a39 ldr r2, [pc, #228] ; (8095eec ) 8095e08: 216a movs r1, #106 ; 0x6a 8095e0a: 20a0 movs r0, #160 ; 0xa0 8095e0c: f7bf ffbe bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_7, "successful!"); 8095e10: 4a37 ldr r2, [pc, #220] ; (8095ef0 ) 8095e12: 217a movs r1, #122 ; 0x7a 8095e14: 20a0 movs r0, #160 ; 0xa0 8095e16: f7bf ffb9 bl 8055d8c 8095e1a: e01e b.n 8095e5a if(pardata.LANG == RUS) 8095e1c: 4b23 ldr r3, [pc, #140] ; (8095eac ) 8095e1e: 7b1b ldrb r3, [r3, #12] 8095e20: b2db uxtb r3, r3 8095e22: 2b00 cmp r3, #0 8095e24: d10f bne.n 8095e46 LCD_DisplayStringC(160, LCD_LINE_6, "Îøèáêà â"); 8095e26: 4a33 ldr r2, [pc, #204] ; (8095ef4 ) 8095e28: 216a movs r1, #106 ; 0x6a 8095e2a: 20a0 movs r0, #160 ; 0xa0 8095e2c: f7bf ffae bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_7, "ïðîöåññå"); 8095e30: 4a31 ldr r2, [pc, #196] ; (8095ef8 ) 8095e32: 217a movs r1, #122 ; 0x7a 8095e34: 20a0 movs r0, #160 ; 0xa0 8095e36: f7bf ffa9 bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_8, "óäàëåíèÿ..."); 8095e3a: 4a30 ldr r2, [pc, #192] ; (8095efc ) 8095e3c: 218a movs r1, #138 ; 0x8a 8095e3e: 20a0 movs r0, #160 ; 0xa0 8095e40: f7bf ffa4 bl 8055d8c 8095e44: e009 b.n 8095e5a LCD_DisplayStringC(160, LCD_LINE_6, "Deleting"); 8095e46: 4a29 ldr r2, [pc, #164] ; (8095eec ) 8095e48: 216a movs r1, #106 ; 0x6a 8095e4a: 20a0 movs r0, #160 ; 0xa0 8095e4c: f7bf ff9e bl 8055d8c LCD_DisplayStringC(160, LCD_LINE_7, "error!"); 8095e50: 4a2b ldr r2, [pc, #172] ; (8095f00 ) 8095e52: 217a movs r1, #122 ; 0x7a 8095e54: 20a0 movs r0, #160 ; 0xa0 8095e56: f7bf ff99 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095e5a: 491c ldr r1, [pc, #112] ; (8095ecc ) 8095e5c: f04f 30ff mov.w r0, #4294967295 8095e60: f7bf f9d4 bl 805520c LCD_DisplayStringC(160, 170, "Ok"); 8095e64: 4a27 ldr r2, [pc, #156] ; (8095f04 ) 8095e66: 21aa movs r1, #170 ; 0xaa 8095e68: 20a0 movs r0, #160 ; 0xa0 8095e6a: f7bf ff8f bl 8055d8c break; 8095e6e: f003 b9d6 b.w 809921e if(menupos == UpNo) 8095e72: bf00 nop break; 8095e74: f003 b9d3 b.w 809921e case ARCHIVE_WAVE: if(pardata.LANG == RUS) 8095e78: 4b0c ldr r3, [pc, #48] ; (8095eac ) 8095e7a: 7b1b ldrb r3, [r3, #12] 8095e7c: b2db uxtb r3, r3 8095e7e: 2b00 cmp r3, #0 8095e80: d144 bne.n 8095f0c DrawImage(&bmLEGEND_GTR_RUS, 0, 45); 8095e82: 222d movs r2, #45 ; 0x2d 8095e84: 2100 movs r1, #0 8095e86: 4820 ldr r0, [pc, #128] ; (8095f08 ) 8095e88: f7c0 f8b4 bl 8055ff4 8095e8c: e043 b.n 8095f16 8095e8e: bf00 nop 8095e90: ff0a0f1f .word 0xff0a0f1f 8095e94: 080f5e78 .word 0x080f5e78 8095e98: 20020e20 .word 0x20020e20 8095e9c: 20020e04 .word 0x20020e04 8095ea0: 42c00000 .word 0x42c00000 8095ea4: ffd3d3d3 .word 0xffd3d3d3 8095ea8: 20020070 .word 0x20020070 8095eac: 20023eb8 .word 0x20023eb8 8095eb0: 080d6e04 .word 0x080d6e04 8095eb4: 080d6e10 .word 0x080d6e10 8095eb8: 080d6e18 .word 0x080d6e18 8095ebc: 080d6e24 .word 0x080d6e24 8095ec0: 080d6e38 .word 0x080d6e38 8095ec4: 080d6e4c .word 0x080d6e4c 8095ec8: 080d62c8 .word 0x080d62c8 8095ecc: ff606060 .word 0xff606060 8095ed0: 080d5118 .word 0x080d5118 8095ed4: 080d6834 .word 0x080d6834 8095ed8: 080d6838 .word 0x080d6838 8095edc: 20020df0 .word 0x20020df0 8095ee0: 080d6e58 .word 0x080d6e58 8095ee4: 080d6e64 .word 0x080d6e64 8095ee8: 080d6a68 .word 0x080d6a68 8095eec: 080d6e70 .word 0x080d6e70 8095ef0: 080d6e7c .word 0x080d6e7c 8095ef4: 080d6e88 .word 0x080d6e88 8095ef8: 080d6e94 .word 0x080d6e94 8095efc: 080d6d0c .word 0x080d6d0c 8095f00: 080d6ea0 .word 0x080d6ea0 8095f04: 080d6914 .word 0x080d6914 8095f08: 0812b1d0 .word 0x0812b1d0 else DrawImage(&bmLEGEND_GTR_ENG, 0, 45); 8095f0c: 222d movs r2, #45 ; 0x2d 8095f0e: 2100 movs r1, #0 8095f10: 48c3 ldr r0, [pc, #780] ; (8096220 ) 8095f12: f7c0 f86f bl 8055ff4 if(menupos == NoFilesGTR) 8095f16: 4bc3 ldr r3, [pc, #780] ; (8096224 ) 8095f18: 781b ldrb r3, [r3, #0] 8095f1a: b2db uxtb r3, r3 8095f1c: 2b01 cmp r3, #1 8095f1e: d11c bne.n 8095f5a { BSP_LCD_SetFont(&Font12); 8095f20: 48c1 ldr r0, [pc, #772] ; (8096228 ) 8095f22: f7bf f9af bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095f26: 49c1 ldr r1, [pc, #772] ; (809622c ) 8095f28: f04f 30ff mov.w r0, #4294967295 8095f2c: f7bf f96e bl 805520c if(pardata.LANG == RUS) 8095f30: 4bbf ldr r3, [pc, #764] ; (8096230 ) 8095f32: 7b1b ldrb r3, [r3, #12] 8095f34: b2db uxtb r3, r3 8095f36: 2b00 cmp r3, #0 8095f38: d107 bne.n 8095f4a BSP_LCD_DisplayStringAt(160, 111+15, "Ôàéëû îòñóòñòâóþò...", CENTER_MODE); 8095f3a: 2301 movs r3, #1 8095f3c: 4abd ldr r2, [pc, #756] ; (8096234 ) 8095f3e: 217e movs r1, #126 ; 0x7e 8095f40: 20a0 movs r0, #160 ; 0xa0 8095f42: f7bf fa29 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); } } } break; 8095f46: f003 b96c b.w 8099222 else BSP_LCD_DisplayStringAt(160, 111+15, "No files...", CENTER_MODE); 8095f4a: 2301 movs r3, #1 8095f4c: 4aba ldr r2, [pc, #744] ; (8096238 ) 8095f4e: 217e movs r1, #126 ; 0x7e 8095f50: 20a0 movs r0, #160 ; 0xa0 8095f52: f7bf fa21 bl 8055398 break; 8095f56: f003 b964 b.w 8099222 if((menupos == FilesGTR) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) // 8095f5a: 4bb2 ldr r3, [pc, #712] ; (8096224 ) 8095f5c: 781b ldrb r3, [r3, #0] 8095f5e: b2db uxtb r3, r3 8095f60: 2b02 cmp r3, #2 8095f62: d00f beq.n 8095f84 8095f64: 4baf ldr r3, [pc, #700] ; (8096224 ) 8095f66: 781b ldrb r3, [r3, #0] 8095f68: b2db uxtb r3, r3 8095f6a: 2b06 cmp r3, #6 8095f6c: d00a beq.n 8095f84 8095f6e: 4bad ldr r3, [pc, #692] ; (8096224 ) 8095f70: 781b ldrb r3, [r3, #0] 8095f72: b2db uxtb r3, r3 8095f74: 2b07 cmp r3, #7 8095f76: d005 beq.n 8095f84 8095f78: 4baa ldr r3, [pc, #680] ; (8096224 ) 8095f7a: 781b ldrb r3, [r3, #0] 8095f7c: b2db uxtb r3, r3 8095f7e: 2b0a cmp r3, #10 8095f80: f043 814f bne.w 8099222 BSP_LCD_SetFont(&Font12); 8095f84: 48a8 ldr r0, [pc, #672] ; (8096228 ) 8095f86: f7bf f97d bl 8055284 for(i = 0; i < VIEW_FILES; i++) 8095f8a: 2300 movs r3, #0 8095f8c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8095f90: f000 bffc b.w 8096f8c if(CursorIndex == i) 8095f94: 4ba9 ldr r3, [pc, #676] ; (809623c ) 8095f96: 681a ldr r2, [r3, #0] 8095f98: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095f9c: 429a cmp r2, r3 8095f9e: d119 bne.n 8095fd4 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 8095fa0: 49a7 ldr r1, [pc, #668] ; (8096240 ) 8095fa2: 48a7 ldr r0, [pc, #668] ; (8096240 ) 8095fa4: f7bf f932 bl 805520c BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 8095fa8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095fac: 4aa5 ldr r2, [pc, #660] ; (8096244 ) 8095fae: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8095fb2: 4ba5 ldr r3, [pc, #660] ; (8096248 ) 8095fb4: 681b ldr r3, [r3, #0] 8095fb6: 88db ldrh r3, [r3, #6] 8095fb8: f44f 729c mov.w r2, #312 ; 0x138 8095fbc: 2003 movs r0, #3 8095fbe: f7bf fdb3 bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095fc2: 499f ldr r1, [pc, #636] ; (8096240 ) 8095fc4: f04f 30ff mov.w r0, #4294967295 8095fc8: f7bf f920 bl 805520c j = LCD_COLOR_CURSOR; 8095fcc: 4b9c ldr r3, [pc, #624] ; (8096240 ) 8095fce: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 8095fd2: e007 b.n 8095fe4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095fd4: 4995 ldr r1, [pc, #596] ; (809622c ) 8095fd6: f04f 30ff mov.w r0, #4294967295 8095fda: f7bf f917 bl 805520c j = LCD_COLOR_BLACK; 8095fde: 4b93 ldr r3, [pc, #588] ; (809622c ) 8095fe0: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc if(ExplorerFiles[i].fname[0] != 0) 8095fe4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8095fe8: 4998 ldr r1, [pc, #608] ; (809624c ) 8095fea: 4613 mov r3, r2 8095fec: 00db lsls r3, r3, #3 8095fee: 1a9b subs r3, r3, r2 8095ff0: 00db lsls r3, r3, #3 8095ff2: 440b add r3, r1 8095ff4: 330c adds r3, #12 8095ff6: 781b ldrb r3, [r3, #0] 8095ff8: 2b00 cmp r3, #0 8095ffa: f000 87c2 beq.w 8096f82 if(NumFilesDelete != 0) 8095ffe: 4b94 ldr r3, [pc, #592] ; (8096250 ) 8096000: 681b ldr r3, [r3, #0] 8096002: 2b00 cmp r3, #0 8096004: d02e beq.n 8096064 for(k = 0; k < MAX_CHECKED_FILES; k++) 8096006: 2300 movs r3, #0 8096008: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809600c: e025 b.n 809605a if(strcmp(ExplorerFiles[i].fname, &StrRAM(k, 0)) == 0) 809600e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8096012: 4613 mov r3, r2 8096014: 00db lsls r3, r3, #3 8096016: 1a9b subs r3, r3, r2 8096018: 00db lsls r3, r3, #3 809601a: 3308 adds r3, #8 809601c: 4a8b ldr r2, [pc, #556] ; (809624c ) 809601e: 4413 add r3, r2 8096020: 1d18 adds r0, r3, #4 8096022: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8096026: 4613 mov r3, r2 8096028: 009b lsls r3, r3, #2 809602a: 4413 add r3, r2 809602c: 00db lsls r3, r3, #3 809602e: 461a mov r2, r3 8096030: 4b88 ldr r3, [pc, #544] ; (8096254 ) 8096032: 4413 add r3, r2 8096034: 4619 mov r1, r3 8096036: f78a f963 bl 8020300 809603a: 4603 mov r3, r0 809603c: 2b00 cmp r3, #0 809603e: d107 bne.n 8096050 LCD_SetColors(LCD_COLOR_GREEN, j); 8096040: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8096044: 4619 mov r1, r3 8096046: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809604a: f7bf f8df bl 805520c break; 809604e: e009 b.n 8096064 for(k = 0; k < MAX_CHECKED_FILES; k++) 8096050: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8096054: 3301 adds r3, #1 8096056: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809605a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809605e: f5b3 7f00 cmp.w r3, #512 ; 0x200 8096062: d3d4 bcc.n 809600e BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 8096064: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8096068: 4a76 ldr r2, [pc, #472] ; (8096244 ) 809606a: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 809606e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8096072: 4613 mov r3, r2 8096074: 00db lsls r3, r3, #3 8096076: 1a9b subs r3, r3, r2 8096078: 00db lsls r3, r3, #3 809607a: 3308 adds r3, #8 809607c: 4a73 ldr r2, [pc, #460] ; (809624c ) 809607e: 4413 add r3, r2 8096080: 1d1a adds r2, r3, #4 8096082: 2303 movs r3, #3 8096084: 2005 movs r0, #5 8096086: f7bf f987 bl 8055398 k = 0; 809608a: 2300 movs r3, #0 809608c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Size = ExplorerFiles[i].size; 8096090: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8096094: 496d ldr r1, [pc, #436] ; (809624c ) 8096096: 4613 mov r3, r2 8096098: 00db lsls r3, r3, #3 809609a: 1a9b subs r3, r3, r2 809609c: 00db lsls r3, r3, #3 809609e: 440b add r3, r1 80960a0: e9d3 2300 ldrd r2, r3, [r3] 80960a4: f507 717a add.w r1, r7, #1000 ; 0x3e8 80960a8: e9c1 2300 strd r2, r3, [r1] if(Size < 1024) // If size below 1KB 80960ac: f507 737a add.w r3, r7, #1000 ; 0x3e8 80960b0: e9d3 2300 ldrd r2, r3, [r3] 80960b4: f240 30ff movw r0, #1023 ; 0x3ff 80960b8: f04f 0100 mov.w r1, #0 80960bc: 4299 cmp r1, r3 80960be: bf08 it eq 80960c0: 4290 cmpeq r0, r2 80960c2: f0c0 815f bcc.w 8096384 if(Size < 10) 80960c6: f507 737a add.w r3, r7, #1000 ; 0x3e8 80960ca: e9d3 2300 ldrd r2, r3, [r3] 80960ce: 2b00 cmp r3, #0 80960d0: bf08 it eq 80960d2: 2a0a cmpeq r2, #10 80960d4: d20e bcs.n 80960f4 str1[k++] = Size + 48; 80960d6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80960da: 1c5a adds r2, r3, #1 80960dc: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80960e0: f507 727a add.w r2, r7, #1000 ; 0x3e8 80960e4: ca06 ldmia r2, {r1, r2} 80960e6: b2ca uxtb r2, r1 80960e8: 3230 adds r2, #48 ; 0x30 80960ea: b2d1 uxtb r1, r2 80960ec: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80960f0: 54d1 strb r1, [r2, r3] 80960f2: e133 b.n 809635c if(Size < 100) 80960f4: f507 737a add.w r3, r7, #1000 ; 0x3e8 80960f8: e9d3 2300 ldrd r2, r3, [r3] 80960fc: 2b00 cmp r3, #0 80960fe: bf08 it eq 8096100: 2a64 cmpeq r2, #100 ; 0x64 8096102: d22c bcs.n 809615e str1[k++] = (Size / 10) + 48; 8096104: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096108: 1c73 adds r3, r6, #1 809610a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809610e: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096112: e9d3 0100 ldrd r0, r1, [r3] 8096116: f04f 020a mov.w r2, #10 809611a: f04f 0300 mov.w r3, #0 809611e: f78a fa65 bl 80205ec <__aeabi_uldivmod> 8096122: 4602 mov r2, r0 8096124: 460b mov r3, r1 8096126: b2d3 uxtb r3, r2 8096128: 3330 adds r3, #48 ; 0x30 809612a: b2da uxtb r2, r3 809612c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096130: 559a strb r2, [r3, r6] str1[k++] = (Size % 10) + 48; 8096132: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096136: 1c73 adds r3, r6, #1 8096138: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809613c: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096140: e9d3 0100 ldrd r0, r1, [r3] 8096144: f04f 020a mov.w r2, #10 8096148: f04f 0300 mov.w r3, #0 809614c: f78a fa4e bl 80205ec <__aeabi_uldivmod> 8096150: b2d3 uxtb r3, r2 8096152: 3330 adds r3, #48 ; 0x30 8096154: b2da uxtb r2, r3 8096156: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809615a: 559a strb r2, [r3, r6] 809615c: e0fe b.n 809635c if(Size < 1000) 809615e: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096162: e9d3 2300 ldrd r2, r3, [r3] 8096166: f240 30e7 movw r0, #999 ; 0x3e7 809616a: f04f 0100 mov.w r1, #0 809616e: 4299 cmp r1, r3 8096170: bf08 it eq 8096172: 4290 cmpeq r0, r2 8096174: d370 bcc.n 8096258 str1[k++] = (Size / 100) + 48; 8096176: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809617a: 1c73 adds r3, r6, #1 809617c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096180: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096184: e9d3 0100 ldrd r0, r1, [r3] 8096188: f04f 0264 mov.w r2, #100 ; 0x64 809618c: f04f 0300 mov.w r3, #0 8096190: f78a fa2c bl 80205ec <__aeabi_uldivmod> 8096194: 4602 mov r2, r0 8096196: 460b mov r3, r1 8096198: b2d3 uxtb r3, r2 809619a: 3330 adds r3, #48 ; 0x30 809619c: b2da uxtb r2, r3 809619e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80961a2: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 / 10) + 48; 80961a4: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80961a8: 1c73 adds r3, r6, #1 80961aa: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80961ae: f507 737a add.w r3, r7, #1000 ; 0x3e8 80961b2: e9d3 0100 ldrd r0, r1, [r3] 80961b6: f04f 0264 mov.w r2, #100 ; 0x64 80961ba: f04f 0300 mov.w r3, #0 80961be: f78a fa15 bl 80205ec <__aeabi_uldivmod> 80961c2: 4610 mov r0, r2 80961c4: 4619 mov r1, r3 80961c6: f04f 020a mov.w r2, #10 80961ca: f04f 0300 mov.w r3, #0 80961ce: f78a fa0d bl 80205ec <__aeabi_uldivmod> 80961d2: 4602 mov r2, r0 80961d4: 460b mov r3, r1 80961d6: b2d3 uxtb r3, r2 80961d8: 3330 adds r3, #48 ; 0x30 80961da: b2da uxtb r2, r3 80961dc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80961e0: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 % 10) + 48; 80961e2: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80961e6: 1c73 adds r3, r6, #1 80961e8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80961ec: f507 737a add.w r3, r7, #1000 ; 0x3e8 80961f0: e9d3 0100 ldrd r0, r1, [r3] 80961f4: f04f 0264 mov.w r2, #100 ; 0x64 80961f8: f04f 0300 mov.w r3, #0 80961fc: f78a f9f6 bl 80205ec <__aeabi_uldivmod> 8096200: 4610 mov r0, r2 8096202: 4619 mov r1, r3 8096204: f04f 020a mov.w r2, #10 8096208: f04f 0300 mov.w r3, #0 809620c: f78a f9ee bl 80205ec <__aeabi_uldivmod> 8096210: b2d3 uxtb r3, r2 8096212: 3330 adds r3, #48 ; 0x30 8096214: b2da uxtb r2, r3 8096216: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809621a: 559a strb r2, [r3, r6] 809621c: e09e b.n 809635c 809621e: bf00 nop 8096220: 081266c4 .word 0x081266c4 8096224: 20020070 .word 0x20020070 8096228: 20020038 .word 0x20020038 809622c: ff0a0f1f .word 0xff0a0f1f 8096230: 20023eb8 .word 0x20023eb8 8096234: 080d6ea8 .word 0x080d6ea8 8096238: 080d6df8 .word 0x080d6df8 809623c: 20020e00 .word 0x20020e00 8096240: ff606060 .word 0xff606060 8096244: 080f5e78 .word 0x080f5e78 8096248: 20025d7c .word 0x20025d7c 809624c: 200223a0 .word 0x200223a0 8096250: 20020e30 .word 0x20020e30 8096254: 6404b000 .word 0x6404b000 str1[k++] = (Size / 1000) + 48; 8096258: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809625c: 1c73 adds r3, r6, #1 809625e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096262: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096266: e9d3 0100 ldrd r0, r1, [r3] 809626a: f44f 727a mov.w r2, #1000 ; 0x3e8 809626e: f04f 0300 mov.w r3, #0 8096272: f78a f9bb bl 80205ec <__aeabi_uldivmod> 8096276: 4602 mov r2, r0 8096278: 460b mov r3, r1 809627a: b2d3 uxtb r3, r2 809627c: 3330 adds r3, #48 ; 0x30 809627e: b2da uxtb r2, r3 8096280: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096284: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 / 100) + 48; 8096286: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809628a: 1c73 adds r3, r6, #1 809628c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096290: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096294: e9d3 0100 ldrd r0, r1, [r3] 8096298: f44f 727a mov.w r2, #1000 ; 0x3e8 809629c: f04f 0300 mov.w r3, #0 80962a0: f78a f9a4 bl 80205ec <__aeabi_uldivmod> 80962a4: 4610 mov r0, r2 80962a6: 4619 mov r1, r3 80962a8: f04f 0264 mov.w r2, #100 ; 0x64 80962ac: f04f 0300 mov.w r3, #0 80962b0: f78a f99c bl 80205ec <__aeabi_uldivmod> 80962b4: 4602 mov r2, r0 80962b6: 460b mov r3, r1 80962b8: b2d3 uxtb r3, r2 80962ba: 3330 adds r3, #48 ; 0x30 80962bc: b2da uxtb r2, r3 80962be: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80962c2: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 / 10) + 48; 80962c4: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80962c8: 1c73 adds r3, r6, #1 80962ca: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80962ce: f507 737a add.w r3, r7, #1000 ; 0x3e8 80962d2: e9d3 0100 ldrd r0, r1, [r3] 80962d6: f44f 727a mov.w r2, #1000 ; 0x3e8 80962da: f04f 0300 mov.w r3, #0 80962de: f78a f985 bl 80205ec <__aeabi_uldivmod> 80962e2: 4610 mov r0, r2 80962e4: 4619 mov r1, r3 80962e6: f04f 0264 mov.w r2, #100 ; 0x64 80962ea: f04f 0300 mov.w r3, #0 80962ee: f78a f97d bl 80205ec <__aeabi_uldivmod> 80962f2: 4610 mov r0, r2 80962f4: 4619 mov r1, r3 80962f6: f04f 020a mov.w r2, #10 80962fa: f04f 0300 mov.w r3, #0 80962fe: f78a f975 bl 80205ec <__aeabi_uldivmod> 8096302: 4602 mov r2, r0 8096304: 460b mov r3, r1 8096306: b2d3 uxtb r3, r2 8096308: 3330 adds r3, #48 ; 0x30 809630a: b2da uxtb r2, r3 809630c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096310: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 % 10) + 48; 8096312: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096316: 1c73 adds r3, r6, #1 8096318: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809631c: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096320: e9d3 0100 ldrd r0, r1, [r3] 8096324: f44f 727a mov.w r2, #1000 ; 0x3e8 8096328: f04f 0300 mov.w r3, #0 809632c: f78a f95e bl 80205ec <__aeabi_uldivmod> 8096330: 4610 mov r0, r2 8096332: 4619 mov r1, r3 8096334: f04f 0264 mov.w r2, #100 ; 0x64 8096338: f04f 0300 mov.w r3, #0 809633c: f78a f956 bl 80205ec <__aeabi_uldivmod> 8096340: 4610 mov r0, r2 8096342: 4619 mov r1, r3 8096344: f04f 020a mov.w r2, #10 8096348: f04f 0300 mov.w r3, #0 809634c: f78a f94e bl 80205ec <__aeabi_uldivmod> 8096350: b2d3 uxtb r3, r2 8096352: 3330 adds r3, #48 ; 0x30 8096354: b2da uxtb r2, r3 8096356: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809635a: 559a strb r2, [r3, r6] str1[k++] = 'B'; 809635c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8096360: 1c5a adds r2, r3, #1 8096362: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8096366: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809636a: 2142 movs r1, #66 ; 0x42 809636c: 54d1 strb r1, [r2, r3] str1[k++] = '\0'; 809636e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8096372: 1c5a adds r2, r3, #1 8096374: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8096378: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809637c: 2100 movs r1, #0 809637e: 54d1 strb r1, [r2, r3] 8096380: f000 bdd5 b.w 8096f2e if(Size < 1048576) // If size below 1MB 8096384: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096388: e9d3 2300 ldrd r2, r3, [r3] 809638c: 48c2 ldr r0, [pc, #776] ; (8096698 ) 809638e: f04f 0100 mov.w r1, #0 8096392: 4299 cmp r1, r3 8096394: bf08 it eq 8096396: 4290 cmpeq r0, r2 8096398: f0c0 8157 bcc.w 809664a Size /= 1024; 809639c: f507 737a add.w r3, r7, #1000 ; 0x3e8 80963a0: e9d3 2300 ldrd r2, r3, [r3] 80963a4: 0a94 lsrs r4, r2, #10 80963a6: ea44 5483 orr.w r4, r4, r3, lsl #22 80963aa: 0a9d lsrs r5, r3, #10 80963ac: f507 737a add.w r3, r7, #1000 ; 0x3e8 80963b0: e9c3 4500 strd r4, r5, [r3] if(Size < 10) 80963b4: f507 737a add.w r3, r7, #1000 ; 0x3e8 80963b8: e9d3 2300 ldrd r2, r3, [r3] 80963bc: 2b00 cmp r3, #0 80963be: bf08 it eq 80963c0: 2a0a cmpeq r2, #10 80963c2: d20e bcs.n 80963e2 str1[k++] = Size + 48; 80963c4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80963c8: 1c5a adds r2, r3, #1 80963ca: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80963ce: f507 727a add.w r2, r7, #1000 ; 0x3e8 80963d2: ca06 ldmia r2, {r1, r2} 80963d4: b2ca uxtb r2, r1 80963d6: 3230 adds r2, #48 ; 0x30 80963d8: b2d1 uxtb r1, r2 80963da: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80963de: 54d1 strb r1, [r2, r3] 80963e0: e116 b.n 8096610 if(Size < 100) 80963e2: f507 737a add.w r3, r7, #1000 ; 0x3e8 80963e6: e9d3 2300 ldrd r2, r3, [r3] 80963ea: 2b00 cmp r3, #0 80963ec: bf08 it eq 80963ee: 2a64 cmpeq r2, #100 ; 0x64 80963f0: d22c bcs.n 809644c str1[k++] = (Size / 10) + 48; 80963f2: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80963f6: 1c73 adds r3, r6, #1 80963f8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80963fc: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096400: e9d3 0100 ldrd r0, r1, [r3] 8096404: f04f 020a mov.w r2, #10 8096408: f04f 0300 mov.w r3, #0 809640c: f78a f8ee bl 80205ec <__aeabi_uldivmod> 8096410: 4602 mov r2, r0 8096412: 460b mov r3, r1 8096414: b2d3 uxtb r3, r2 8096416: 3330 adds r3, #48 ; 0x30 8096418: b2da uxtb r2, r3 809641a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809641e: 559a strb r2, [r3, r6] str1[k++] = (Size % 10) + 48; 8096420: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096424: 1c73 adds r3, r6, #1 8096426: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809642a: f507 737a add.w r3, r7, #1000 ; 0x3e8 809642e: e9d3 0100 ldrd r0, r1, [r3] 8096432: f04f 020a mov.w r2, #10 8096436: f04f 0300 mov.w r3, #0 809643a: f78a f8d7 bl 80205ec <__aeabi_uldivmod> 809643e: b2d3 uxtb r3, r2 8096440: 3330 adds r3, #48 ; 0x30 8096442: b2da uxtb r2, r3 8096444: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096448: 559a strb r2, [r3, r6] 809644a: e0e1 b.n 8096610 if(Size < 1000) 809644c: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096450: e9d3 2300 ldrd r2, r3, [r3] 8096454: f240 30e7 movw r0, #999 ; 0x3e7 8096458: f04f 0100 mov.w r1, #0 809645c: 4299 cmp r1, r3 809645e: bf08 it eq 8096460: 4290 cmpeq r0, r2 8096462: d353 bcc.n 809650c str1[k++] = (Size / 100) + 48; 8096464: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096468: 1c73 adds r3, r6, #1 809646a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809646e: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096472: e9d3 0100 ldrd r0, r1, [r3] 8096476: f04f 0264 mov.w r2, #100 ; 0x64 809647a: f04f 0300 mov.w r3, #0 809647e: f78a f8b5 bl 80205ec <__aeabi_uldivmod> 8096482: 4602 mov r2, r0 8096484: 460b mov r3, r1 8096486: b2d3 uxtb r3, r2 8096488: 3330 adds r3, #48 ; 0x30 809648a: b2da uxtb r2, r3 809648c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096490: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 / 10) + 48; 8096492: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096496: 1c73 adds r3, r6, #1 8096498: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809649c: f507 737a add.w r3, r7, #1000 ; 0x3e8 80964a0: e9d3 0100 ldrd r0, r1, [r3] 80964a4: f04f 0264 mov.w r2, #100 ; 0x64 80964a8: f04f 0300 mov.w r3, #0 80964ac: f78a f89e bl 80205ec <__aeabi_uldivmod> 80964b0: 4610 mov r0, r2 80964b2: 4619 mov r1, r3 80964b4: f04f 020a mov.w r2, #10 80964b8: f04f 0300 mov.w r3, #0 80964bc: f78a f896 bl 80205ec <__aeabi_uldivmod> 80964c0: 4602 mov r2, r0 80964c2: 460b mov r3, r1 80964c4: b2d3 uxtb r3, r2 80964c6: 3330 adds r3, #48 ; 0x30 80964c8: b2da uxtb r2, r3 80964ca: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80964ce: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 % 10) + 48; 80964d0: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80964d4: 1c73 adds r3, r6, #1 80964d6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80964da: f507 737a add.w r3, r7, #1000 ; 0x3e8 80964de: e9d3 0100 ldrd r0, r1, [r3] 80964e2: f04f 0264 mov.w r2, #100 ; 0x64 80964e6: f04f 0300 mov.w r3, #0 80964ea: f78a f87f bl 80205ec <__aeabi_uldivmod> 80964ee: 4610 mov r0, r2 80964f0: 4619 mov r1, r3 80964f2: f04f 020a mov.w r2, #10 80964f6: f04f 0300 mov.w r3, #0 80964fa: f78a f877 bl 80205ec <__aeabi_uldivmod> 80964fe: b2d3 uxtb r3, r2 8096500: 3330 adds r3, #48 ; 0x30 8096502: b2da uxtb r2, r3 8096504: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096508: 559a strb r2, [r3, r6] 809650a: e081 b.n 8096610 str1[k++] = (Size / 1000) + 48; 809650c: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096510: 1c73 adds r3, r6, #1 8096512: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096516: f507 737a add.w r3, r7, #1000 ; 0x3e8 809651a: e9d3 0100 ldrd r0, r1, [r3] 809651e: f44f 727a mov.w r2, #1000 ; 0x3e8 8096522: f04f 0300 mov.w r3, #0 8096526: f78a f861 bl 80205ec <__aeabi_uldivmod> 809652a: 4602 mov r2, r0 809652c: 460b mov r3, r1 809652e: b2d3 uxtb r3, r2 8096530: 3330 adds r3, #48 ; 0x30 8096532: b2da uxtb r2, r3 8096534: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096538: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 / 100) + 48; 809653a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809653e: 1c73 adds r3, r6, #1 8096540: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096544: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096548: e9d3 0100 ldrd r0, r1, [r3] 809654c: f44f 727a mov.w r2, #1000 ; 0x3e8 8096550: f04f 0300 mov.w r3, #0 8096554: f78a f84a bl 80205ec <__aeabi_uldivmod> 8096558: 4610 mov r0, r2 809655a: 4619 mov r1, r3 809655c: f04f 0264 mov.w r2, #100 ; 0x64 8096560: f04f 0300 mov.w r3, #0 8096564: f78a f842 bl 80205ec <__aeabi_uldivmod> 8096568: 4602 mov r2, r0 809656a: 460b mov r3, r1 809656c: b2d3 uxtb r3, r2 809656e: 3330 adds r3, #48 ; 0x30 8096570: b2da uxtb r2, r3 8096572: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096576: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 / 10) + 48; 8096578: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809657c: 1c73 adds r3, r6, #1 809657e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096582: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096586: e9d3 0100 ldrd r0, r1, [r3] 809658a: f44f 727a mov.w r2, #1000 ; 0x3e8 809658e: f04f 0300 mov.w r3, #0 8096592: f78a f82b bl 80205ec <__aeabi_uldivmod> 8096596: 4610 mov r0, r2 8096598: 4619 mov r1, r3 809659a: f04f 0264 mov.w r2, #100 ; 0x64 809659e: f04f 0300 mov.w r3, #0 80965a2: f78a f823 bl 80205ec <__aeabi_uldivmod> 80965a6: 4610 mov r0, r2 80965a8: 4619 mov r1, r3 80965aa: f04f 020a mov.w r2, #10 80965ae: f04f 0300 mov.w r3, #0 80965b2: f78a f81b bl 80205ec <__aeabi_uldivmod> 80965b6: 4602 mov r2, r0 80965b8: 460b mov r3, r1 80965ba: b2d3 uxtb r3, r2 80965bc: 3330 adds r3, #48 ; 0x30 80965be: b2da uxtb r2, r3 80965c0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80965c4: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 % 10) + 48; 80965c6: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80965ca: 1c73 adds r3, r6, #1 80965cc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80965d0: f507 737a add.w r3, r7, #1000 ; 0x3e8 80965d4: e9d3 0100 ldrd r0, r1, [r3] 80965d8: f44f 727a mov.w r2, #1000 ; 0x3e8 80965dc: f04f 0300 mov.w r3, #0 80965e0: f78a f804 bl 80205ec <__aeabi_uldivmod> 80965e4: 4610 mov r0, r2 80965e6: 4619 mov r1, r3 80965e8: f04f 0264 mov.w r2, #100 ; 0x64 80965ec: f04f 0300 mov.w r3, #0 80965f0: f789 fffc bl 80205ec <__aeabi_uldivmod> 80965f4: 4610 mov r0, r2 80965f6: 4619 mov r1, r3 80965f8: f04f 020a mov.w r2, #10 80965fc: f04f 0300 mov.w r3, #0 8096600: f789 fff4 bl 80205ec <__aeabi_uldivmod> 8096604: b2d3 uxtb r3, r2 8096606: 3330 adds r3, #48 ; 0x30 8096608: b2da uxtb r2, r3 809660a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809660e: 559a strb r2, [r3, r6] str1[k++] = 'K'; 8096610: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8096614: 1c5a adds r2, r3, #1 8096616: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809661a: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809661e: 214b movs r1, #75 ; 0x4b 8096620: 54d1 strb r1, [r2, r3] str1[k++] = 'B'; 8096622: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8096626: 1c5a adds r2, r3, #1 8096628: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809662c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8096630: 2142 movs r1, #66 ; 0x42 8096632: 54d1 strb r1, [r2, r3] str1[k++] = '\0'; 8096634: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8096638: 1c5a adds r2, r3, #1 809663a: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809663e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8096642: 2100 movs r1, #0 8096644: 54d1 strb r1, [r2, r3] 8096646: f000 bc72 b.w 8096f2e Size /= 1048576; 809664a: f507 737a add.w r3, r7, #1000 ; 0x3e8 809664e: e9d3 2300 ldrd r2, r3, [r3] 8096652: ea4f 5812 mov.w r8, r2, lsr #20 8096656: ea48 3803 orr.w r8, r8, r3, lsl #12 809665a: ea4f 5913 mov.w r9, r3, lsr #20 809665e: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096662: e9c3 8900 strd r8, r9, [r3] if(Size < 10) 8096666: f507 737a add.w r3, r7, #1000 ; 0x3e8 809666a: e9d3 2300 ldrd r2, r3, [r3] 809666e: 2b00 cmp r3, #0 8096670: bf08 it eq 8096672: 2a0a cmpeq r2, #10 8096674: d212 bcs.n 809669c str1[k++] = Size + 48; 8096676: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809667a: 1c5a adds r2, r3, #1 809667c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8096680: f507 727a add.w r2, r7, #1000 ; 0x3e8 8096684: ca06 ldmia r2, {r1, r2} 8096686: b2ca uxtb r2, r1 8096688: 3230 adds r2, #48 ; 0x30 809668a: b2d1 uxtb r1, r2 809668c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8096690: 54d1 strb r1, [r2, r3] 8096692: f000 bc31 b.w 8096ef8 8096696: bf00 nop 8096698: 000fffff .word 0x000fffff if(Size < 100) 809669c: f507 737a add.w r3, r7, #1000 ; 0x3e8 80966a0: e9d3 2300 ldrd r2, r3, [r3] 80966a4: 2b00 cmp r3, #0 80966a6: bf08 it eq 80966a8: 2a64 cmpeq r2, #100 ; 0x64 80966aa: d22c bcs.n 8096706 str1[k++] = (Size / 10) + 48; 80966ac: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80966b0: 1c73 adds r3, r6, #1 80966b2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80966b6: f507 737a add.w r3, r7, #1000 ; 0x3e8 80966ba: e9d3 0100 ldrd r0, r1, [r3] 80966be: f04f 020a mov.w r2, #10 80966c2: f04f 0300 mov.w r3, #0 80966c6: f789 ff91 bl 80205ec <__aeabi_uldivmod> 80966ca: 4602 mov r2, r0 80966cc: 460b mov r3, r1 80966ce: b2d3 uxtb r3, r2 80966d0: 3330 adds r3, #48 ; 0x30 80966d2: b2da uxtb r2, r3 80966d4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80966d8: 559a strb r2, [r3, r6] str1[k++] = (Size % 10) + 48; 80966da: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80966de: 1c73 adds r3, r6, #1 80966e0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80966e4: f507 737a add.w r3, r7, #1000 ; 0x3e8 80966e8: e9d3 0100 ldrd r0, r1, [r3] 80966ec: f04f 020a mov.w r2, #10 80966f0: f04f 0300 mov.w r3, #0 80966f4: f789 ff7a bl 80205ec <__aeabi_uldivmod> 80966f8: b2d3 uxtb r3, r2 80966fa: 3330 adds r3, #48 ; 0x30 80966fc: b2da uxtb r2, r3 80966fe: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096702: 559a strb r2, [r3, r6] 8096704: e3f8 b.n 8096ef8 if(Size < 1000) 8096706: f507 737a add.w r3, r7, #1000 ; 0x3e8 809670a: e9d3 2300 ldrd r2, r3, [r3] 809670e: f240 30e7 movw r0, #999 ; 0x3e7 8096712: f04f 0100 mov.w r1, #0 8096716: 4299 cmp r1, r3 8096718: bf08 it eq 809671a: 4290 cmpeq r0, r2 809671c: d353 bcc.n 80967c6 str1[k++] = (Size / 100) + 48; 809671e: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096722: 1c73 adds r3, r6, #1 8096724: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096728: f507 737a add.w r3, r7, #1000 ; 0x3e8 809672c: e9d3 0100 ldrd r0, r1, [r3] 8096730: f04f 0264 mov.w r2, #100 ; 0x64 8096734: f04f 0300 mov.w r3, #0 8096738: f789 ff58 bl 80205ec <__aeabi_uldivmod> 809673c: 4602 mov r2, r0 809673e: 460b mov r3, r1 8096740: b2d3 uxtb r3, r2 8096742: 3330 adds r3, #48 ; 0x30 8096744: b2da uxtb r2, r3 8096746: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809674a: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 / 10) + 48; 809674c: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096750: 1c73 adds r3, r6, #1 8096752: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096756: f507 737a add.w r3, r7, #1000 ; 0x3e8 809675a: e9d3 0100 ldrd r0, r1, [r3] 809675e: f04f 0264 mov.w r2, #100 ; 0x64 8096762: f04f 0300 mov.w r3, #0 8096766: f789 ff41 bl 80205ec <__aeabi_uldivmod> 809676a: 4610 mov r0, r2 809676c: 4619 mov r1, r3 809676e: f04f 020a mov.w r2, #10 8096772: f04f 0300 mov.w r3, #0 8096776: f789 ff39 bl 80205ec <__aeabi_uldivmod> 809677a: 4602 mov r2, r0 809677c: 460b mov r3, r1 809677e: b2d3 uxtb r3, r2 8096780: 3330 adds r3, #48 ; 0x30 8096782: b2da uxtb r2, r3 8096784: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096788: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 % 10) + 48; 809678a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809678e: 1c73 adds r3, r6, #1 8096790: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096794: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096798: e9d3 0100 ldrd r0, r1, [r3] 809679c: f04f 0264 mov.w r2, #100 ; 0x64 80967a0: f04f 0300 mov.w r3, #0 80967a4: f789 ff22 bl 80205ec <__aeabi_uldivmod> 80967a8: 4610 mov r0, r2 80967aa: 4619 mov r1, r3 80967ac: f04f 020a mov.w r2, #10 80967b0: f04f 0300 mov.w r3, #0 80967b4: f789 ff1a bl 80205ec <__aeabi_uldivmod> 80967b8: b2d3 uxtb r3, r2 80967ba: 3330 adds r3, #48 ; 0x30 80967bc: b2da uxtb r2, r3 80967be: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80967c2: 559a strb r2, [r3, r6] 80967c4: e398 b.n 8096ef8 if(Size < 10000) 80967c6: f507 737a add.w r3, r7, #1000 ; 0x3e8 80967ca: e9d3 2300 ldrd r2, r3, [r3] 80967ce: f242 700f movw r0, #9999 ; 0x270f 80967d2: f04f 0100 mov.w r1, #0 80967d6: 4299 cmp r1, r3 80967d8: bf08 it eq 80967da: 4290 cmpeq r0, r2 80967dc: f0c0 8083 bcc.w 80968e6 str1[k++] = (Size / 1000) + 48; 80967e0: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80967e4: 1c73 adds r3, r6, #1 80967e6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80967ea: f507 737a add.w r3, r7, #1000 ; 0x3e8 80967ee: e9d3 0100 ldrd r0, r1, [r3] 80967f2: f44f 727a mov.w r2, #1000 ; 0x3e8 80967f6: f04f 0300 mov.w r3, #0 80967fa: f789 fef7 bl 80205ec <__aeabi_uldivmod> 80967fe: 4602 mov r2, r0 8096800: 460b mov r3, r1 8096802: b2d3 uxtb r3, r2 8096804: 3330 adds r3, #48 ; 0x30 8096806: b2da uxtb r2, r3 8096808: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809680c: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 / 100) + 48; 809680e: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096812: 1c73 adds r3, r6, #1 8096814: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096818: f507 737a add.w r3, r7, #1000 ; 0x3e8 809681c: e9d3 0100 ldrd r0, r1, [r3] 8096820: f44f 727a mov.w r2, #1000 ; 0x3e8 8096824: f04f 0300 mov.w r3, #0 8096828: f789 fee0 bl 80205ec <__aeabi_uldivmod> 809682c: 4610 mov r0, r2 809682e: 4619 mov r1, r3 8096830: f04f 0264 mov.w r2, #100 ; 0x64 8096834: f04f 0300 mov.w r3, #0 8096838: f789 fed8 bl 80205ec <__aeabi_uldivmod> 809683c: 4602 mov r2, r0 809683e: 460b mov r3, r1 8096840: b2d3 uxtb r3, r2 8096842: 3330 adds r3, #48 ; 0x30 8096844: b2da uxtb r2, r3 8096846: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809684a: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 / 10) + 48; 809684c: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096850: 1c73 adds r3, r6, #1 8096852: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096856: f507 737a add.w r3, r7, #1000 ; 0x3e8 809685a: e9d3 0100 ldrd r0, r1, [r3] 809685e: f44f 727a mov.w r2, #1000 ; 0x3e8 8096862: f04f 0300 mov.w r3, #0 8096866: f789 fec1 bl 80205ec <__aeabi_uldivmod> 809686a: 4610 mov r0, r2 809686c: 4619 mov r1, r3 809686e: f04f 0264 mov.w r2, #100 ; 0x64 8096872: f04f 0300 mov.w r3, #0 8096876: f789 feb9 bl 80205ec <__aeabi_uldivmod> 809687a: 4610 mov r0, r2 809687c: 4619 mov r1, r3 809687e: f04f 020a mov.w r2, #10 8096882: f04f 0300 mov.w r3, #0 8096886: f789 feb1 bl 80205ec <__aeabi_uldivmod> 809688a: 4602 mov r2, r0 809688c: 460b mov r3, r1 809688e: b2d3 uxtb r3, r2 8096890: 3330 adds r3, #48 ; 0x30 8096892: b2da uxtb r2, r3 8096894: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096898: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 % 10) + 48; 809689a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809689e: 1c73 adds r3, r6, #1 80968a0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80968a4: f507 737a add.w r3, r7, #1000 ; 0x3e8 80968a8: e9d3 0100 ldrd r0, r1, [r3] 80968ac: f44f 727a mov.w r2, #1000 ; 0x3e8 80968b0: f04f 0300 mov.w r3, #0 80968b4: f789 fe9a bl 80205ec <__aeabi_uldivmod> 80968b8: 4610 mov r0, r2 80968ba: 4619 mov r1, r3 80968bc: f04f 0264 mov.w r2, #100 ; 0x64 80968c0: f04f 0300 mov.w r3, #0 80968c4: f789 fe92 bl 80205ec <__aeabi_uldivmod> 80968c8: 4610 mov r0, r2 80968ca: 4619 mov r1, r3 80968cc: f04f 020a mov.w r2, #10 80968d0: f04f 0300 mov.w r3, #0 80968d4: f789 fe8a bl 80205ec <__aeabi_uldivmod> 80968d8: b2d3 uxtb r3, r2 80968da: 3330 adds r3, #48 ; 0x30 80968dc: b2da uxtb r2, r3 80968de: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80968e2: 559a strb r2, [r3, r6] 80968e4: e308 b.n 8096ef8 if(Size < 100000) 80968e6: f507 737a add.w r3, r7, #1000 ; 0x3e8 80968ea: e9d3 2300 ldrd r2, r3, [r3] 80968ee: 48e0 ldr r0, [pc, #896] ; (8096c70 ) 80968f0: f04f 0100 mov.w r1, #0 80968f4: 4299 cmp r1, r3 80968f6: bf08 it eq 80968f8: 4290 cmpeq r0, r2 80968fa: f0c0 80ba bcc.w 8096a72 str1[k++] = (Size / 10000) + 48; 80968fe: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096902: 1c73 adds r3, r6, #1 8096904: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096908: f507 737a add.w r3, r7, #1000 ; 0x3e8 809690c: e9d3 0100 ldrd r0, r1, [r3] 8096910: f242 7210 movw r2, #10000 ; 0x2710 8096914: f04f 0300 mov.w r3, #0 8096918: f789 fe68 bl 80205ec <__aeabi_uldivmod> 809691c: 4602 mov r2, r0 809691e: 460b mov r3, r1 8096920: b2d3 uxtb r3, r2 8096922: 3330 adds r3, #48 ; 0x30 8096924: b2da uxtb r2, r3 8096926: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809692a: 559a strb r2, [r3, r6] str1[k++] = (Size % 10000 / 1000) + 48; 809692c: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096930: 1c73 adds r3, r6, #1 8096932: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096936: f507 737a add.w r3, r7, #1000 ; 0x3e8 809693a: e9d3 0100 ldrd r0, r1, [r3] 809693e: f242 7210 movw r2, #10000 ; 0x2710 8096942: f04f 0300 mov.w r3, #0 8096946: f789 fe51 bl 80205ec <__aeabi_uldivmod> 809694a: 4610 mov r0, r2 809694c: 4619 mov r1, r3 809694e: f44f 727a mov.w r2, #1000 ; 0x3e8 8096952: f04f 0300 mov.w r3, #0 8096956: f789 fe49 bl 80205ec <__aeabi_uldivmod> 809695a: 4602 mov r2, r0 809695c: 460b mov r3, r1 809695e: b2d3 uxtb r3, r2 8096960: 3330 adds r3, #48 ; 0x30 8096962: b2da uxtb r2, r3 8096964: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096968: 559a strb r2, [r3, r6] str1[k++] = (Size % 10000 % 1000 / 100) + 48; 809696a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809696e: 1c73 adds r3, r6, #1 8096970: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096974: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096978: e9d3 0100 ldrd r0, r1, [r3] 809697c: f242 7210 movw r2, #10000 ; 0x2710 8096980: f04f 0300 mov.w r3, #0 8096984: f789 fe32 bl 80205ec <__aeabi_uldivmod> 8096988: 4610 mov r0, r2 809698a: 4619 mov r1, r3 809698c: f44f 727a mov.w r2, #1000 ; 0x3e8 8096990: f04f 0300 mov.w r3, #0 8096994: f789 fe2a bl 80205ec <__aeabi_uldivmod> 8096998: 4610 mov r0, r2 809699a: 4619 mov r1, r3 809699c: f04f 0264 mov.w r2, #100 ; 0x64 80969a0: f04f 0300 mov.w r3, #0 80969a4: f789 fe22 bl 80205ec <__aeabi_uldivmod> 80969a8: 4602 mov r2, r0 80969aa: 460b mov r3, r1 80969ac: b2d3 uxtb r3, r2 80969ae: 3330 adds r3, #48 ; 0x30 80969b0: b2da uxtb r2, r3 80969b2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80969b6: 559a strb r2, [r3, r6] str1[k++] = (Size % 10000 % 1000 % 100 / 10) + 48; 80969b8: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80969bc: 1c73 adds r3, r6, #1 80969be: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80969c2: f507 737a add.w r3, r7, #1000 ; 0x3e8 80969c6: e9d3 0100 ldrd r0, r1, [r3] 80969ca: f242 7210 movw r2, #10000 ; 0x2710 80969ce: f04f 0300 mov.w r3, #0 80969d2: f789 fe0b bl 80205ec <__aeabi_uldivmod> 80969d6: 4610 mov r0, r2 80969d8: 4619 mov r1, r3 80969da: f44f 727a mov.w r2, #1000 ; 0x3e8 80969de: f04f 0300 mov.w r3, #0 80969e2: f789 fe03 bl 80205ec <__aeabi_uldivmod> 80969e6: 4610 mov r0, r2 80969e8: 4619 mov r1, r3 80969ea: f04f 0264 mov.w r2, #100 ; 0x64 80969ee: f04f 0300 mov.w r3, #0 80969f2: f789 fdfb bl 80205ec <__aeabi_uldivmod> 80969f6: 4610 mov r0, r2 80969f8: 4619 mov r1, r3 80969fa: f04f 020a mov.w r2, #10 80969fe: f04f 0300 mov.w r3, #0 8096a02: f789 fdf3 bl 80205ec <__aeabi_uldivmod> 8096a06: 4602 mov r2, r0 8096a08: 460b mov r3, r1 8096a0a: b2d3 uxtb r3, r2 8096a0c: 3330 adds r3, #48 ; 0x30 8096a0e: b2da uxtb r2, r3 8096a10: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096a14: 559a strb r2, [r3, r6] str1[k++] = (Size % 10000 % 1000 % 100 % 10) + 48; 8096a16: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096a1a: 1c73 adds r3, r6, #1 8096a1c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096a20: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096a24: e9d3 0100 ldrd r0, r1, [r3] 8096a28: f242 7210 movw r2, #10000 ; 0x2710 8096a2c: f04f 0300 mov.w r3, #0 8096a30: f789 fddc bl 80205ec <__aeabi_uldivmod> 8096a34: 4610 mov r0, r2 8096a36: 4619 mov r1, r3 8096a38: f44f 727a mov.w r2, #1000 ; 0x3e8 8096a3c: f04f 0300 mov.w r3, #0 8096a40: f789 fdd4 bl 80205ec <__aeabi_uldivmod> 8096a44: 4610 mov r0, r2 8096a46: 4619 mov r1, r3 8096a48: f04f 0264 mov.w r2, #100 ; 0x64 8096a4c: f04f 0300 mov.w r3, #0 8096a50: f789 fdcc bl 80205ec <__aeabi_uldivmod> 8096a54: 4610 mov r0, r2 8096a56: 4619 mov r1, r3 8096a58: f04f 020a mov.w r2, #10 8096a5c: f04f 0300 mov.w r3, #0 8096a60: f789 fdc4 bl 80205ec <__aeabi_uldivmod> 8096a64: b2d3 uxtb r3, r2 8096a66: 3330 adds r3, #48 ; 0x30 8096a68: b2da uxtb r2, r3 8096a6a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096a6e: 559a strb r2, [r3, r6] 8096a70: e242 b.n 8096ef8 if(Size < 1000000) 8096a72: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096a76: e9d3 2300 ldrd r2, r3, [r3] 8096a7a: 487e ldr r0, [pc, #504] ; (8096c74 ) 8096a7c: f04f 0100 mov.w r1, #0 8096a80: 4299 cmp r1, r3 8096a82: bf08 it eq 8096a84: 4290 cmpeq r0, r2 8096a86: f0c0 80f9 bcc.w 8096c7c str1[k++] = (Size / 100000) + 48; 8096a8a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096a8e: 1c73 adds r3, r6, #1 8096a90: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096a94: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096a98: e9d3 0100 ldrd r0, r1, [r3] 8096a9c: 4a76 ldr r2, [pc, #472] ; (8096c78 ) 8096a9e: f04f 0300 mov.w r3, #0 8096aa2: f789 fda3 bl 80205ec <__aeabi_uldivmod> 8096aa6: 4602 mov r2, r0 8096aa8: 460b mov r3, r1 8096aaa: b2d3 uxtb r3, r2 8096aac: 3330 adds r3, #48 ; 0x30 8096aae: b2da uxtb r2, r3 8096ab0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096ab4: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 / 10000) + 48; 8096ab6: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096aba: 1c73 adds r3, r6, #1 8096abc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096ac0: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096ac4: e9d3 0100 ldrd r0, r1, [r3] 8096ac8: 4a6b ldr r2, [pc, #428] ; (8096c78 ) 8096aca: f04f 0300 mov.w r3, #0 8096ace: f789 fd8d bl 80205ec <__aeabi_uldivmod> 8096ad2: 4610 mov r0, r2 8096ad4: 4619 mov r1, r3 8096ad6: f242 7210 movw r2, #10000 ; 0x2710 8096ada: f04f 0300 mov.w r3, #0 8096ade: f789 fd85 bl 80205ec <__aeabi_uldivmod> 8096ae2: 4602 mov r2, r0 8096ae4: 460b mov r3, r1 8096ae6: b2d3 uxtb r3, r2 8096ae8: 3330 adds r3, #48 ; 0x30 8096aea: b2da uxtb r2, r3 8096aec: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096af0: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 % 10000 / 1000) + 48; 8096af2: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096af6: 1c73 adds r3, r6, #1 8096af8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096afc: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096b00: e9d3 0100 ldrd r0, r1, [r3] 8096b04: 4a5c ldr r2, [pc, #368] ; (8096c78 ) 8096b06: f04f 0300 mov.w r3, #0 8096b0a: f789 fd6f bl 80205ec <__aeabi_uldivmod> 8096b0e: 4610 mov r0, r2 8096b10: 4619 mov r1, r3 8096b12: f242 7210 movw r2, #10000 ; 0x2710 8096b16: f04f 0300 mov.w r3, #0 8096b1a: f789 fd67 bl 80205ec <__aeabi_uldivmod> 8096b1e: 4610 mov r0, r2 8096b20: 4619 mov r1, r3 8096b22: f44f 727a mov.w r2, #1000 ; 0x3e8 8096b26: f04f 0300 mov.w r3, #0 8096b2a: f789 fd5f bl 80205ec <__aeabi_uldivmod> 8096b2e: 4602 mov r2, r0 8096b30: 460b mov r3, r1 8096b32: b2d3 uxtb r3, r2 8096b34: 3330 adds r3, #48 ; 0x30 8096b36: b2da uxtb r2, r3 8096b38: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096b3c: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 % 10000 % 1000 / 100) + 48; 8096b3e: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096b42: 1c73 adds r3, r6, #1 8096b44: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096b48: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096b4c: e9d3 0100 ldrd r0, r1, [r3] 8096b50: 4a49 ldr r2, [pc, #292] ; (8096c78 ) 8096b52: f04f 0300 mov.w r3, #0 8096b56: f789 fd49 bl 80205ec <__aeabi_uldivmod> 8096b5a: 4610 mov r0, r2 8096b5c: 4619 mov r1, r3 8096b5e: f242 7210 movw r2, #10000 ; 0x2710 8096b62: f04f 0300 mov.w r3, #0 8096b66: f789 fd41 bl 80205ec <__aeabi_uldivmod> 8096b6a: 4610 mov r0, r2 8096b6c: 4619 mov r1, r3 8096b6e: f44f 727a mov.w r2, #1000 ; 0x3e8 8096b72: f04f 0300 mov.w r3, #0 8096b76: f789 fd39 bl 80205ec <__aeabi_uldivmod> 8096b7a: 4610 mov r0, r2 8096b7c: 4619 mov r1, r3 8096b7e: f04f 0264 mov.w r2, #100 ; 0x64 8096b82: f04f 0300 mov.w r3, #0 8096b86: f789 fd31 bl 80205ec <__aeabi_uldivmod> 8096b8a: 4602 mov r2, r0 8096b8c: 460b mov r3, r1 8096b8e: b2d3 uxtb r3, r2 8096b90: 3330 adds r3, #48 ; 0x30 8096b92: b2da uxtb r2, r3 8096b94: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096b98: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 % 10000 % 1000 % 100 / 10) + 48; 8096b9a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096b9e: 1c73 adds r3, r6, #1 8096ba0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096ba4: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096ba8: e9d3 0100 ldrd r0, r1, [r3] 8096bac: 4a32 ldr r2, [pc, #200] ; (8096c78 ) 8096bae: f04f 0300 mov.w r3, #0 8096bb2: f789 fd1b bl 80205ec <__aeabi_uldivmod> 8096bb6: 4610 mov r0, r2 8096bb8: 4619 mov r1, r3 8096bba: f242 7210 movw r2, #10000 ; 0x2710 8096bbe: f04f 0300 mov.w r3, #0 8096bc2: f789 fd13 bl 80205ec <__aeabi_uldivmod> 8096bc6: 4610 mov r0, r2 8096bc8: 4619 mov r1, r3 8096bca: f44f 727a mov.w r2, #1000 ; 0x3e8 8096bce: f04f 0300 mov.w r3, #0 8096bd2: f789 fd0b bl 80205ec <__aeabi_uldivmod> 8096bd6: 4610 mov r0, r2 8096bd8: 4619 mov r1, r3 8096bda: f04f 0264 mov.w r2, #100 ; 0x64 8096bde: f04f 0300 mov.w r3, #0 8096be2: f789 fd03 bl 80205ec <__aeabi_uldivmod> 8096be6: 4610 mov r0, r2 8096be8: 4619 mov r1, r3 8096bea: f04f 020a mov.w r2, #10 8096bee: f04f 0300 mov.w r3, #0 8096bf2: f789 fcfb bl 80205ec <__aeabi_uldivmod> 8096bf6: 4602 mov r2, r0 8096bf8: 460b mov r3, r1 8096bfa: b2d3 uxtb r3, r2 8096bfc: 3330 adds r3, #48 ; 0x30 8096bfe: b2da uxtb r2, r3 8096c00: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096c04: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 % 10000 % 1000 % 100 % 10) + 48; 8096c06: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096c0a: 1c73 adds r3, r6, #1 8096c0c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096c10: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096c14: e9d3 0100 ldrd r0, r1, [r3] 8096c18: 4a17 ldr r2, [pc, #92] ; (8096c78 ) 8096c1a: f04f 0300 mov.w r3, #0 8096c1e: f789 fce5 bl 80205ec <__aeabi_uldivmod> 8096c22: 4610 mov r0, r2 8096c24: 4619 mov r1, r3 8096c26: f242 7210 movw r2, #10000 ; 0x2710 8096c2a: f04f 0300 mov.w r3, #0 8096c2e: f789 fcdd bl 80205ec <__aeabi_uldivmod> 8096c32: 4610 mov r0, r2 8096c34: 4619 mov r1, r3 8096c36: f44f 727a mov.w r2, #1000 ; 0x3e8 8096c3a: f04f 0300 mov.w r3, #0 8096c3e: f789 fcd5 bl 80205ec <__aeabi_uldivmod> 8096c42: 4610 mov r0, r2 8096c44: 4619 mov r1, r3 8096c46: f04f 0264 mov.w r2, #100 ; 0x64 8096c4a: f04f 0300 mov.w r3, #0 8096c4e: f789 fccd bl 80205ec <__aeabi_uldivmod> 8096c52: 4610 mov r0, r2 8096c54: 4619 mov r1, r3 8096c56: f04f 020a mov.w r2, #10 8096c5a: f04f 0300 mov.w r3, #0 8096c5e: f789 fcc5 bl 80205ec <__aeabi_uldivmod> 8096c62: b2d3 uxtb r3, r2 8096c64: 3330 adds r3, #48 ; 0x30 8096c66: b2da uxtb r2, r3 8096c68: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096c6c: 559a strb r2, [r3, r6] 8096c6e: e143 b.n 8096ef8 8096c70: 0001869f .word 0x0001869f 8096c74: 000f423f .word 0x000f423f 8096c78: 000186a0 .word 0x000186a0 if(Size < 10000000) 8096c7c: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096c80: e9d3 2300 ldrd r2, r3, [r3] 8096c84: a1b4 add r1, pc, #720 ; (adr r1, 8096f58 ) 8096c86: e9d1 0100 ldrd r0, r1, [r1] 8096c8a: 4299 cmp r1, r3 8096c8c: bf08 it eq 8096c8e: 4290 cmpeq r0, r2 8096c90: f0c0 8132 bcc.w 8096ef8 str1[k++] = (Size / 1000000) + 48; 8096c94: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096c98: 1c73 adds r3, r6, #1 8096c9a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096c9e: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096ca2: e9d3 0100 ldrd r0, r1, [r3] 8096ca6: 4aa8 ldr r2, [pc, #672] ; (8096f48 ) 8096ca8: f04f 0300 mov.w r3, #0 8096cac: f789 fc9e bl 80205ec <__aeabi_uldivmod> 8096cb0: 4602 mov r2, r0 8096cb2: 460b mov r3, r1 8096cb4: b2d3 uxtb r3, r2 8096cb6: 3330 adds r3, #48 ; 0x30 8096cb8: b2da uxtb r2, r3 8096cba: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096cbe: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 / 100000) + 48; 8096cc0: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096cc4: 1c73 adds r3, r6, #1 8096cc6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096cca: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096cce: e9d3 0100 ldrd r0, r1, [r3] 8096cd2: 4a9d ldr r2, [pc, #628] ; (8096f48 ) 8096cd4: f04f 0300 mov.w r3, #0 8096cd8: f789 fc88 bl 80205ec <__aeabi_uldivmod> 8096cdc: 4610 mov r0, r2 8096cde: 4619 mov r1, r3 8096ce0: 4a9a ldr r2, [pc, #616] ; (8096f4c ) 8096ce2: f04f 0300 mov.w r3, #0 8096ce6: f789 fc81 bl 80205ec <__aeabi_uldivmod> 8096cea: 4602 mov r2, r0 8096cec: 460b mov r3, r1 8096cee: b2d3 uxtb r3, r2 8096cf0: 3330 adds r3, #48 ; 0x30 8096cf2: b2da uxtb r2, r3 8096cf4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096cf8: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 / 10000) + 48; 8096cfa: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096cfe: 1c73 adds r3, r6, #1 8096d00: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096d04: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096d08: e9d3 0100 ldrd r0, r1, [r3] 8096d0c: 4a8e ldr r2, [pc, #568] ; (8096f48 ) 8096d0e: f04f 0300 mov.w r3, #0 8096d12: f789 fc6b bl 80205ec <__aeabi_uldivmod> 8096d16: 4610 mov r0, r2 8096d18: 4619 mov r1, r3 8096d1a: 4a8c ldr r2, [pc, #560] ; (8096f4c ) 8096d1c: f04f 0300 mov.w r3, #0 8096d20: f789 fc64 bl 80205ec <__aeabi_uldivmod> 8096d24: 4610 mov r0, r2 8096d26: 4619 mov r1, r3 8096d28: f242 7210 movw r2, #10000 ; 0x2710 8096d2c: f04f 0300 mov.w r3, #0 8096d30: f789 fc5c bl 80205ec <__aeabi_uldivmod> 8096d34: 4602 mov r2, r0 8096d36: 460b mov r3, r1 8096d38: b2d3 uxtb r3, r2 8096d3a: 3330 adds r3, #48 ; 0x30 8096d3c: b2da uxtb r2, r3 8096d3e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096d42: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 % 10000 / 1000) + 48; 8096d44: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096d48: 1c73 adds r3, r6, #1 8096d4a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096d4e: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096d52: e9d3 0100 ldrd r0, r1, [r3] 8096d56: 4a7c ldr r2, [pc, #496] ; (8096f48 ) 8096d58: f04f 0300 mov.w r3, #0 8096d5c: f789 fc46 bl 80205ec <__aeabi_uldivmod> 8096d60: 4610 mov r0, r2 8096d62: 4619 mov r1, r3 8096d64: 4a79 ldr r2, [pc, #484] ; (8096f4c ) 8096d66: f04f 0300 mov.w r3, #0 8096d6a: f789 fc3f bl 80205ec <__aeabi_uldivmod> 8096d6e: 4610 mov r0, r2 8096d70: 4619 mov r1, r3 8096d72: f242 7210 movw r2, #10000 ; 0x2710 8096d76: f04f 0300 mov.w r3, #0 8096d7a: f789 fc37 bl 80205ec <__aeabi_uldivmod> 8096d7e: 4610 mov r0, r2 8096d80: 4619 mov r1, r3 8096d82: f44f 727a mov.w r2, #1000 ; 0x3e8 8096d86: f04f 0300 mov.w r3, #0 8096d8a: f789 fc2f bl 80205ec <__aeabi_uldivmod> 8096d8e: 4602 mov r2, r0 8096d90: 460b mov r3, r1 8096d92: b2d3 uxtb r3, r2 8096d94: 3330 adds r3, #48 ; 0x30 8096d96: b2da uxtb r2, r3 8096d98: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096d9c: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 % 10000 % 1000 / 100) + 48; 8096d9e: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096da2: 1c73 adds r3, r6, #1 8096da4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096da8: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096dac: e9d3 0100 ldrd r0, r1, [r3] 8096db0: 4a65 ldr r2, [pc, #404] ; (8096f48 ) 8096db2: f04f 0300 mov.w r3, #0 8096db6: f789 fc19 bl 80205ec <__aeabi_uldivmod> 8096dba: 4610 mov r0, r2 8096dbc: 4619 mov r1, r3 8096dbe: 4a63 ldr r2, [pc, #396] ; (8096f4c ) 8096dc0: f04f 0300 mov.w r3, #0 8096dc4: f789 fc12 bl 80205ec <__aeabi_uldivmod> 8096dc8: 4610 mov r0, r2 8096dca: 4619 mov r1, r3 8096dcc: f242 7210 movw r2, #10000 ; 0x2710 8096dd0: f04f 0300 mov.w r3, #0 8096dd4: f789 fc0a bl 80205ec <__aeabi_uldivmod> 8096dd8: 4610 mov r0, r2 8096dda: 4619 mov r1, r3 8096ddc: f44f 727a mov.w r2, #1000 ; 0x3e8 8096de0: f04f 0300 mov.w r3, #0 8096de4: f789 fc02 bl 80205ec <__aeabi_uldivmod> 8096de8: 4610 mov r0, r2 8096dea: 4619 mov r1, r3 8096dec: f04f 0264 mov.w r2, #100 ; 0x64 8096df0: f04f 0300 mov.w r3, #0 8096df4: f789 fbfa bl 80205ec <__aeabi_uldivmod> 8096df8: 4602 mov r2, r0 8096dfa: 460b mov r3, r1 8096dfc: b2d3 uxtb r3, r2 8096dfe: 3330 adds r3, #48 ; 0x30 8096e00: b2da uxtb r2, r3 8096e02: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096e06: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 % 10000 % 1000 % 100 / 10) + 48; 8096e08: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096e0c: 1c73 adds r3, r6, #1 8096e0e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096e12: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096e16: e9d3 0100 ldrd r0, r1, [r3] 8096e1a: 4a4b ldr r2, [pc, #300] ; (8096f48 ) 8096e1c: f04f 0300 mov.w r3, #0 8096e20: f789 fbe4 bl 80205ec <__aeabi_uldivmod> 8096e24: 4610 mov r0, r2 8096e26: 4619 mov r1, r3 8096e28: 4a48 ldr r2, [pc, #288] ; (8096f4c ) 8096e2a: f04f 0300 mov.w r3, #0 8096e2e: f789 fbdd bl 80205ec <__aeabi_uldivmod> 8096e32: 4610 mov r0, r2 8096e34: 4619 mov r1, r3 8096e36: f242 7210 movw r2, #10000 ; 0x2710 8096e3a: f04f 0300 mov.w r3, #0 8096e3e: f789 fbd5 bl 80205ec <__aeabi_uldivmod> 8096e42: 4610 mov r0, r2 8096e44: 4619 mov r1, r3 8096e46: f44f 727a mov.w r2, #1000 ; 0x3e8 8096e4a: f04f 0300 mov.w r3, #0 8096e4e: f789 fbcd bl 80205ec <__aeabi_uldivmod> 8096e52: 4610 mov r0, r2 8096e54: 4619 mov r1, r3 8096e56: f04f 0264 mov.w r2, #100 ; 0x64 8096e5a: f04f 0300 mov.w r3, #0 8096e5e: f789 fbc5 bl 80205ec <__aeabi_uldivmod> 8096e62: 4610 mov r0, r2 8096e64: 4619 mov r1, r3 8096e66: f04f 020a mov.w r2, #10 8096e6a: f04f 0300 mov.w r3, #0 8096e6e: f789 fbbd bl 80205ec <__aeabi_uldivmod> 8096e72: 4602 mov r2, r0 8096e74: 460b mov r3, r1 8096e76: b2d3 uxtb r3, r2 8096e78: 3330 adds r3, #48 ; 0x30 8096e7a: b2da uxtb r2, r3 8096e7c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096e80: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 % 10000 % 1000 % 100 % 10) + 48; 8096e82: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096e86: 1c73 adds r3, r6, #1 8096e88: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096e8c: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096e90: e9d3 0100 ldrd r0, r1, [r3] 8096e94: 4a2c ldr r2, [pc, #176] ; (8096f48 ) 8096e96: f04f 0300 mov.w r3, #0 8096e9a: f789 fba7 bl 80205ec <__aeabi_uldivmod> 8096e9e: 4610 mov r0, r2 8096ea0: 4619 mov r1, r3 8096ea2: 4a2a ldr r2, [pc, #168] ; (8096f4c ) 8096ea4: f04f 0300 mov.w r3, #0 8096ea8: f789 fba0 bl 80205ec <__aeabi_uldivmod> 8096eac: 4610 mov r0, r2 8096eae: 4619 mov r1, r3 8096eb0: f242 7210 movw r2, #10000 ; 0x2710 8096eb4: f04f 0300 mov.w r3, #0 8096eb8: f789 fb98 bl 80205ec <__aeabi_uldivmod> 8096ebc: 4610 mov r0, r2 8096ebe: 4619 mov r1, r3 8096ec0: f44f 727a mov.w r2, #1000 ; 0x3e8 8096ec4: f04f 0300 mov.w r3, #0 8096ec8: f789 fb90 bl 80205ec <__aeabi_uldivmod> 8096ecc: 4610 mov r0, r2 8096ece: 4619 mov r1, r3 8096ed0: f04f 0264 mov.w r2, #100 ; 0x64 8096ed4: f04f 0300 mov.w r3, #0 8096ed8: f789 fb88 bl 80205ec <__aeabi_uldivmod> 8096edc: 4610 mov r0, r2 8096ede: 4619 mov r1, r3 8096ee0: f04f 020a mov.w r2, #10 8096ee4: f04f 0300 mov.w r3, #0 8096ee8: f789 fb80 bl 80205ec <__aeabi_uldivmod> 8096eec: b2d3 uxtb r3, r2 8096eee: 3330 adds r3, #48 ; 0x30 8096ef0: b2da uxtb r2, r3 8096ef2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096ef6: 559a strb r2, [r3, r6] str1[k++] = 'M'; 8096ef8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8096efc: 1c5a adds r2, r3, #1 8096efe: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8096f02: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8096f06: 214d movs r1, #77 ; 0x4d 8096f08: 54d1 strb r1, [r2, r3] str1[k++] = 'B'; 8096f0a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8096f0e: 1c5a adds r2, r3, #1 8096f10: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8096f14: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8096f18: 2142 movs r1, #66 ; 0x42 8096f1a: 54d1 strb r1, [r2, r3] str1[k++] = '\0'; 8096f1c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8096f20: 1c5a adds r2, r3, #1 8096f22: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8096f26: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8096f2a: 2100 movs r1, #0 8096f2c: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 8096f2e: 4b08 ldr r3, [pc, #32] ; (8096f50 ) 8096f30: 681a ldr r2, [r3, #0] 8096f32: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8096f36: 429a cmp r2, r3 8096f38: d112 bne.n 8096f60 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096f3a: 4906 ldr r1, [pc, #24] ; (8096f54 ) 8096f3c: f04f 30ff mov.w r0, #4294967295 8096f40: f7be f964 bl 805520c 8096f44: e011 b.n 8096f6a 8096f46: bf00 nop 8096f48: 000f4240 .word 0x000f4240 8096f4c: 000186a0 .word 0x000186a0 8096f50: 20020e00 .word 0x20020e00 8096f54: ff606060 .word 0xff606060 8096f58: 0098967f .word 0x0098967f 8096f5c: 00000000 .word 0x00000000 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096f60: 49c0 ldr r1, [pc, #768] ; (8097264 ) 8096f62: f04f 30ff mov.w r0, #4294967295 8096f66: f7be f951 bl 805520c BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 8096f6a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8096f6e: 4abe ldr r2, [pc, #760] ; (8097268 ) 8096f70: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8096f74: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8096f78: 2302 movs r3, #2 8096f7a: f44f 709c mov.w r0, #312 ; 0x138 8096f7e: f7be fa0b bl 8055398 for(i = 0; i < VIEW_FILES; i++) 8096f82: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8096f86: 3301 adds r3, #1 8096f88: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8096f8c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8096f90: 2b0b cmp r3, #11 8096f92: f67e afff bls.w 8095f94 if(NumFilesGTR > VIEW_FILES) 8096f96: 4bb5 ldr r3, [pc, #724] ; (809726c ) 8096f98: 681b ldr r3, [r3, #0] 8096f9a: 2b0c cmp r3, #12 8096f9c: d95f bls.n 809705e k = (140 * VIEW_FILES) / NumFilesGTR; //äëèíà ïîëçóíêà 8096f9e: 4bb3 ldr r3, [pc, #716] ; (809726c ) 8096fa0: 681b ldr r3, [r3, #0] 8096fa2: f44f 62d2 mov.w r2, #1680 ; 0x690 8096fa6: fbb2 f3f3 udiv r3, r2, r3 8096faa: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 8096fae: 4bb0 ldr r3, [pc, #704] ; (8097270 ) 8096fb0: 681b ldr r3, [r3, #0] 8096fb2: 228c movs r2, #140 ; 0x8c 8096fb4: fb02 f303 mul.w r3, r2, r3 8096fb8: ee07 3a90 vmov s15, r3 8096fbc: eef8 7a67 vcvt.f32.u32 s15, s15 8096fc0: f507 638b add.w r3, r7, #1112 ; 0x458 8096fc4: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesGTR) + 96.0f; 8096fc8: 4ba8 ldr r3, [pc, #672] ; (809726c ) 8096fca: 681b ldr r3, [r3, #0] 8096fcc: ee07 3a90 vmov s15, r3 8096fd0: eeb8 7a67 vcvt.f32.u32 s14, s15 8096fd4: f507 638b add.w r3, r7, #1112 ; 0x458 8096fd8: edd3 6a00 vldr s13, [r3] 8096fdc: eec6 7a87 vdiv.f32 s15, s13, s14 8096fe0: ed9f 7aa4 vldr s14, [pc, #656] ; 8097274 8096fe4: ee77 7a87 vadd.f32 s15, s15, s14 8096fe8: f507 638b add.w r3, r7, #1112 ; 0x458 8096fec: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 8096ff0: f507 638b add.w r3, r7, #1112 ; 0x458 8096ff4: edd3 7a00 vldr s15, [r3] 8096ff8: eefc 7ae7 vcvt.u32.f32 s15, s15 8096ffc: edc7 7a01 vstr s15, [r7, #4] 8097000: 88bb ldrh r3, [r7, #4] 8097002: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 8097006: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809700a: b29a uxth r2, r3 809700c: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8097010: 4413 add r3, r2 8097012: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 8097016: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 809701a: 2bec cmp r3, #236 ; 0xec 809701c: d905 bls.n 809702a k = 236 - y0; 809701e: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8097022: f1c3 03ec rsb r3, r3, #236 ; 0xec 8097026: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809702a: 498e ldr r1, [pc, #568] ; (8097264 ) 809702c: 4892 ldr r0, [pc, #584] ; (8097278 ) 809702e: f7be f8ed bl 805520c BSP_LCD_DrawRect(314, 94, 5, 143); 8097032: 238f movs r3, #143 ; 0x8f 8097034: 2205 movs r2, #5 8097036: 215e movs r1, #94 ; 0x5e 8097038: f44f 709d mov.w r0, #314 ; 0x13a 809703c: f7be fbec bl 8055818 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097040: 4988 ldr r1, [pc, #544] ; (8097264 ) 8097042: f04f 30ff mov.w r0, #4294967295 8097046: f7be f8e1 bl 805520c BSP_LCD_FillRect(316, y0, 2, k); 809704a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809704e: b29b uxth r3, r3 8097050: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 8097054: 2202 movs r2, #2 8097056: f44f 709e mov.w r0, #316 ; 0x13c 809705a: f7be fd65 bl 8055b28 if((menupos != NoFilesGTR) && (menupos != FilesGTR)) 809705e: 4b87 ldr r3, [pc, #540] ; (809727c ) 8097060: 781b ldrb r3, [r3, #0] 8097062: b2db uxtb r3, r3 8097064: 2b01 cmp r3, #1 8097066: f002 80dc beq.w 8099222 809706a: 4b84 ldr r3, [pc, #528] ; (809727c ) 809706c: 781b ldrb r3, [r3, #0] 809706e: b2db uxtb r3, r3 8097070: 2b02 cmp r3, #2 8097072: f002 80d6 beq.w 8099222 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8097076: 497b ldr r1, [pc, #492] ; (8097264 ) 8097078: 487f ldr r0, [pc, #508] ; (8097278 ) 809707a: f7be f8c7 bl 805520c BSP_LCD_FillRect(60, 73, 200, 124); 809707e: 237c movs r3, #124 ; 0x7c 8097080: 22c8 movs r2, #200 ; 0xc8 8097082: 2149 movs r1, #73 ; 0x49 8097084: 203c movs r0, #60 ; 0x3c 8097086: f7be fd4f bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 809708a: 4976 ldr r1, [pc, #472] ; (8097264 ) 809708c: 4875 ldr r0, [pc, #468] ; (8097264 ) 809708e: f7be f8bd bl 805520c BSP_LCD_FillRect(61, 74, 198, 122); 8097092: 237a movs r3, #122 ; 0x7a 8097094: 22c6 movs r2, #198 ; 0xc6 8097096: 214a movs r1, #74 ; 0x4a 8097098: 203d movs r0, #61 ; 0x3d 809709a: f7be fd45 bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809709e: 4971 ldr r1, [pc, #452] ; (8097264 ) 80970a0: f04f 30ff mov.w r0, #4294967295 80970a4: f7be f8b2 bl 805520c BSP_LCD_SetFont(&Font12); 80970a8: 4875 ldr r0, [pc, #468] ; (8097280 ) 80970aa: f7be f8eb bl 8055284 if((menupos == UpNo) || (menupos == UpYes)) 80970ae: 4b73 ldr r3, [pc, #460] ; (809727c ) 80970b0: 781b ldrb r3, [r3, #0] 80970b2: b2db uxtb r3, r3 80970b4: 2b06 cmp r3, #6 80970b6: d004 beq.n 80970c2 80970b8: 4b70 ldr r3, [pc, #448] ; (809727c ) 80970ba: 781b ldrb r3, [r3, #0] 80970bc: b2db uxtb r3, r3 80970be: 2b07 cmp r3, #7 80970c0: d179 bne.n 80971b6 if(pardata.LANG == RUS) 80970c2: 4b70 ldr r3, [pc, #448] ; (8097284 ) 80970c4: 7b1b ldrb r3, [r3, #12] 80970c6: b2db uxtb r3, r3 80970c8: 2b00 cmp r3, #0 80970ca: d10c bne.n 80970e6 BSP_LCD_DisplayStringAt(160, 111, "Âûáðàííûå ôàéëû áóäóò", CENTER_MODE); 80970cc: 2301 movs r3, #1 80970ce: 4a6e ldr r2, [pc, #440] ; (8097288 ) 80970d0: 216f movs r1, #111 ; 0x6f 80970d2: 20a0 movs r0, #160 ; 0xa0 80970d4: f7be f960 bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíû. Ïðîäîëæèòü?", CENTER_MODE); 80970d8: 2301 movs r3, #1 80970da: 4a6c ldr r2, [pc, #432] ; (809728c ) 80970dc: 217e movs r1, #126 ; 0x7e 80970de: 20a0 movs r0, #160 ; 0xa0 80970e0: f7be f95a bl 8055398 80970e4: e00b b.n 80970fe BSP_LCD_DisplayStringAt(160, 111, "The selected files will", CENTER_MODE); 80970e6: 2301 movs r3, #1 80970e8: 4a69 ldr r2, [pc, #420] ; (8097290 ) 80970ea: 216f movs r1, #111 ; 0x6f 80970ec: 20a0 movs r0, #160 ; 0xa0 80970ee: f7be f953 bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "be deleted. Continue?", CENTER_MODE); 80970f2: 2301 movs r3, #1 80970f4: 4a67 ldr r2, [pc, #412] ; (8097294 ) 80970f6: 217e movs r1, #126 ; 0x7e 80970f8: 20a0 movs r0, #160 ; 0xa0 80970fa: f7be f94d bl 8055398 if(menupos == UpNo) 80970fe: 4b5f ldr r3, [pc, #380] ; (809727c ) 8097100: 781b ldrb r3, [r3, #0] 8097102: b2db uxtb r3, r3 8097104: 2b06 cmp r3, #6 8097106: d128 bne.n 809715a if(pardata.LANG == RUS) 8097108: 4b5e ldr r3, [pc, #376] ; (8097284 ) 809710a: 7b1b ldrb r3, [r3, #12] 809710c: b2db uxtb r3, r3 809710e: 2b00 cmp r3, #0 8097110: d111 bne.n 8097136 BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 8097112: 2301 movs r3, #1 8097114: 4a60 ldr r2, [pc, #384] ; (8097298 ) 8097116: 21af movs r1, #175 ; 0xaf 8097118: 20e6 movs r0, #230 ; 0xe6 809711a: f7be f93d bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809711e: 495f ldr r1, [pc, #380] ; (809729c ) 8097120: f04f 30ff mov.w r0, #4294967295 8097124: f7be f872 bl 805520c BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8097128: 2301 movs r3, #1 809712a: 4a5d ldr r2, [pc, #372] ; (80972a0 ) 809712c: 21af movs r1, #175 ; 0xaf 809712e: 205a movs r0, #90 ; 0x5a 8097130: f7be f932 bl 8055398 if(menupos == UpNo) 8097134: e088 b.n 8097248 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 8097136: 2301 movs r3, #1 8097138: 4a5a ldr r2, [pc, #360] ; (80972a4 ) 809713a: 21af movs r1, #175 ; 0xaf 809713c: 20e6 movs r0, #230 ; 0xe6 809713e: f7be f92b bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097142: 4956 ldr r1, [pc, #344] ; (809729c ) 8097144: f04f 30ff mov.w r0, #4294967295 8097148: f7be f860 bl 805520c BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 809714c: 2301 movs r3, #1 809714e: 4a56 ldr r2, [pc, #344] ; (80972a8 ) 8097150: 21af movs r1, #175 ; 0xaf 8097152: 205a movs r0, #90 ; 0x5a 8097154: f7be f920 bl 8055398 if(menupos == UpNo) 8097158: e076 b.n 8097248 if(menupos == UpYes) 809715a: 4b48 ldr r3, [pc, #288] ; (809727c ) 809715c: 781b ldrb r3, [r3, #0] 809715e: b2db uxtb r3, r3 8097160: 2b07 cmp r3, #7 8097162: d171 bne.n 8097248 if(pardata.LANG == RUS) 8097164: 4b47 ldr r3, [pc, #284] ; (8097284 ) 8097166: 7b1b ldrb r3, [r3, #12] 8097168: b2db uxtb r3, r3 809716a: 2b00 cmp r3, #0 809716c: d111 bne.n 8097192 BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 809716e: 2301 movs r3, #1 8097170: 4a4b ldr r2, [pc, #300] ; (80972a0 ) 8097172: 21af movs r1, #175 ; 0xaf 8097174: 205a movs r0, #90 ; 0x5a 8097176: f7be f90f bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809717a: 4948 ldr r1, [pc, #288] ; (809729c ) 809717c: f04f 30ff mov.w r0, #4294967295 8097180: f7be f844 bl 805520c BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 8097184: 2301 movs r3, #1 8097186: 4a44 ldr r2, [pc, #272] ; (8097298 ) 8097188: 21af movs r1, #175 ; 0xaf 809718a: 20e6 movs r0, #230 ; 0xe6 809718c: f7be f904 bl 8055398 if(menupos == UpNo) 8097190: e05a b.n 8097248 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 8097192: 2301 movs r3, #1 8097194: 4a44 ldr r2, [pc, #272] ; (80972a8 ) 8097196: 21af movs r1, #175 ; 0xaf 8097198: 205a movs r0, #90 ; 0x5a 809719a: f7be f8fd bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809719e: 493f ldr r1, [pc, #252] ; (809729c ) 80971a0: f04f 30ff mov.w r0, #4294967295 80971a4: f7be f832 bl 805520c BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 80971a8: 2301 movs r3, #1 80971aa: 4a3e ldr r2, [pc, #248] ; (80972a4 ) 80971ac: 21af movs r1, #175 ; 0xaf 80971ae: 20e6 movs r0, #230 ; 0xe6 80971b0: f7be f8f2 bl 8055398 if(menupos == UpNo) 80971b4: e048 b.n 8097248 if(menupos == CleanUpResult) 80971b6: 4b31 ldr r3, [pc, #196] ; (809727c ) 80971b8: 781b ldrb r3, [r3, #0] 80971ba: b2db uxtb r3, r3 80971bc: 2b0a cmp r3, #10 80971be: f042 8030 bne.w 8099222 if(CleanStatus == AP_OK) 80971c2: 4b3a ldr r3, [pc, #232] ; (80972ac ) 80971c4: 781b ldrb r3, [r3, #0] 80971c6: b2db uxtb r3, r3 80971c8: 2b00 cmp r3, #0 80971ca: d118 bne.n 80971fe if(pardata.LANG == RUS) 80971cc: 4b2d ldr r3, [pc, #180] ; (8097284 ) 80971ce: 7b1b ldrb r3, [r3, #12] 80971d0: b2db uxtb r3, r3 80971d2: 2b00 cmp r3, #0 80971d4: d10c bne.n 80971f0 BSP_LCD_DisplayStringAt(160, 111, "Óäàëåíèå çàâåðøåíî", CENTER_MODE); 80971d6: 2301 movs r3, #1 80971d8: 4a35 ldr r2, [pc, #212] ; (80972b0 ) 80971da: 216f movs r1, #111 ; 0x6f 80971dc: 20a0 movs r0, #160 ; 0xa0 80971de: f7be f8db bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "óñïåøíî!", CENTER_MODE); 80971e2: 2301 movs r3, #1 80971e4: 4a33 ldr r2, [pc, #204] ; (80972b4 ) 80971e6: 217e movs r1, #126 ; 0x7e 80971e8: 20a0 movs r0, #160 ; 0xa0 80971ea: f7be f8d5 bl 8055398 80971ee: e01e b.n 809722e BSP_LCD_DisplayStringAt(160, 111+15, "Deleting successful!", CENTER_MODE); 80971f0: 2301 movs r3, #1 80971f2: 4a31 ldr r2, [pc, #196] ; (80972b8 ) 80971f4: 217e movs r1, #126 ; 0x7e 80971f6: 20a0 movs r0, #160 ; 0xa0 80971f8: f7be f8ce bl 8055398 80971fc: e017 b.n 809722e if(pardata.LANG == RUS) 80971fe: 4b21 ldr r3, [pc, #132] ; (8097284 ) 8097200: 7b1b ldrb r3, [r3, #12] 8097202: b2db uxtb r3, r3 8097204: 2b00 cmp r3, #0 8097206: d10c bne.n 8097222 BSP_LCD_DisplayStringAt(160, 111, "Îøèáêà â ïðîöåññå", CENTER_MODE); 8097208: 2301 movs r3, #1 809720a: 4a2c ldr r2, [pc, #176] ; (80972bc ) 809720c: 216f movs r1, #111 ; 0x6f 809720e: 20a0 movs r0, #160 ; 0xa0 8097210: f7be f8c2 bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíèÿ...", CENTER_MODE); 8097214: 2301 movs r3, #1 8097216: 4a2a ldr r2, [pc, #168] ; (80972c0 ) 8097218: 217e movs r1, #126 ; 0x7e 809721a: 20a0 movs r0, #160 ; 0xa0 809721c: f7be f8bc bl 8055398 8097220: e005 b.n 809722e BSP_LCD_DisplayStringAt(160, 111+15, "Deleting error!", CENTER_MODE); 8097222: 2301 movs r3, #1 8097224: 4a27 ldr r2, [pc, #156] ; (80972c4 ) 8097226: 217e movs r1, #126 ; 0x7e 8097228: 20a0 movs r0, #160 ; 0xa0 809722a: f7be f8b5 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809722e: 491b ldr r1, [pc, #108] ; (809729c ) 8097230: f04f 30ff mov.w r0, #4294967295 8097234: f7bd ffea bl 805520c BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); 8097238: 2301 movs r3, #1 809723a: 4a23 ldr r2, [pc, #140] ; (80972c8 ) 809723c: 21af movs r1, #175 ; 0xaf 809723e: 20a0 movs r0, #160 ; 0xa0 8097240: f7be f8aa bl 8055398 break; 8097244: f001 bfed b.w 8099222 if(menupos == UpNo) 8097248: bf00 nop break; 809724a: f001 bfea b.w 8099222 case ROUTE: if(pardata.LANG == RUS) 809724e: 4b0d ldr r3, [pc, #52] ; (8097284 ) 8097250: 7b1b ldrb r3, [r3, #12] 8097252: b2db uxtb r3, r3 8097254: 2b00 cmp r3, #0 8097256: d13b bne.n 80972d0 DrawImage(&bmLEGEND_GTR_RUS, 0, 45); 8097258: 222d movs r2, #45 ; 0x2d 809725a: 2100 movs r1, #0 809725c: 481b ldr r0, [pc, #108] ; (80972cc ) 809725e: f7be fec9 bl 8055ff4 8097262: e03a b.n 80972da 8097264: ff0a0f1f .word 0xff0a0f1f 8097268: 080f5e78 .word 0x080f5e78 809726c: 20020e24 .word 0x20020e24 8097270: 20020e04 .word 0x20020e04 8097274: 42c00000 .word 0x42c00000 8097278: ffd3d3d3 .word 0xffd3d3d3 809727c: 20020070 .word 0x20020070 8097280: 20020038 .word 0x20020038 8097284: 20023eb8 .word 0x20023eb8 8097288: 080d6ec0 .word 0x080d6ec0 809728c: 080d6c88 .word 0x080d6c88 8097290: 080d6ed8 .word 0x080d6ed8 8097294: 080d6cb8 .word 0x080d6cb8 8097298: 080d6cd0 .word 0x080d6cd0 809729c: ff606060 .word 0xff606060 80972a0: 080d6cd4 .word 0x080d6cd4 80972a4: 080d6cd8 .word 0x080d6cd8 80972a8: 080d6cdc .word 0x080d6cdc 80972ac: 20020df0 .word 0x20020df0 80972b0: 080d6ce0 .word 0x080d6ce0 80972b4: 080d6a68 .word 0x080d6a68 80972b8: 080d6cf4 .word 0x080d6cf4 80972bc: 080d6a74 .word 0x080d6a74 80972c0: 080d6d0c .word 0x080d6d0c 80972c4: 080d6d18 .word 0x080d6d18 80972c8: 080d6d28 .word 0x080d6d28 80972cc: 0812b1d0 .word 0x0812b1d0 else DrawImage(&bmLEGEND_GTR_ENG, 0, 45); 80972d0: 222d movs r2, #45 ; 0x2d 80972d2: 2100 movs r1, #0 80972d4: 48b6 ldr r0, [pc, #728] ; (80975b0 ) 80972d6: f7be fe8d bl 8055ff4 if(menupos == NoFilesCSV) 80972da: 4bb6 ldr r3, [pc, #728] ; (80975b4 ) 80972dc: 781b ldrb r3, [r3, #0] 80972de: b2db uxtb r3, r3 80972e0: 2b01 cmp r3, #1 80972e2: d11c bne.n 809731e { BSP_LCD_SetFont(&Font12); 80972e4: 48b4 ldr r0, [pc, #720] ; (80975b8 ) 80972e6: f7bd ffcd bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80972ea: 49b4 ldr r1, [pc, #720] ; (80975bc ) 80972ec: f04f 30ff mov.w r0, #4294967295 80972f0: f7bd ff8c bl 805520c if(pardata.LANG == RUS) 80972f4: 4bb2 ldr r3, [pc, #712] ; (80975c0 ) 80972f6: 7b1b ldrb r3, [r3, #12] 80972f8: b2db uxtb r3, r3 80972fa: 2b00 cmp r3, #0 80972fc: d107 bne.n 809730e BSP_LCD_DisplayStringAt(160, 111+15, "Ôàéëû îòñóòñòâóþò...", CENTER_MODE); 80972fe: 2301 movs r3, #1 8097300: 4ab0 ldr r2, [pc, #704] ; (80975c4 ) 8097302: 217e movs r1, #126 ; 0x7e 8097304: 20a0 movs r0, #160 ; 0xa0 8097306: f7be f847 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); } } } break; 809730a: f001 bf8c b.w 8099226 else BSP_LCD_DisplayStringAt(160, 111+15, "No files...", CENTER_MODE); 809730e: 2301 movs r3, #1 8097310: 4aad ldr r2, [pc, #692] ; (80975c8 ) 8097312: 217e movs r1, #126 ; 0x7e 8097314: 20a0 movs r0, #160 ; 0xa0 8097316: f7be f83f bl 8055398 break; 809731a: f001 bf84 b.w 8099226 if((menupos == FilesCSV) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) // 809731e: 4ba5 ldr r3, [pc, #660] ; (80975b4 ) 8097320: 781b ldrb r3, [r3, #0] 8097322: b2db uxtb r3, r3 8097324: 2b02 cmp r3, #2 8097326: d00f beq.n 8097348 8097328: 4ba2 ldr r3, [pc, #648] ; (80975b4 ) 809732a: 781b ldrb r3, [r3, #0] 809732c: b2db uxtb r3, r3 809732e: 2b06 cmp r3, #6 8097330: d00a beq.n 8097348 8097332: 4ba0 ldr r3, [pc, #640] ; (80975b4 ) 8097334: 781b ldrb r3, [r3, #0] 8097336: b2db uxtb r3, r3 8097338: 2b07 cmp r3, #7 809733a: d005 beq.n 8097348 809733c: 4b9d ldr r3, [pc, #628] ; (80975b4 ) 809733e: 781b ldrb r3, [r3, #0] 8097340: b2db uxtb r3, r3 8097342: 2b0a cmp r3, #10 8097344: f041 876f bne.w 8099226 BSP_LCD_SetFont(&Font12); 8097348: 489b ldr r0, [pc, #620] ; (80975b8 ) 809734a: f7bd ff9b bl 8055284 for(i = 0; i < VIEW_FILES; i++) 809734e: 2300 movs r3, #0 8097350: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8097354: e07e b.n 8097454 if(CursorIndex == i) 8097356: 4b9d ldr r3, [pc, #628] ; (80975cc ) 8097358: 681a ldr r2, [r3, #0] 809735a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809735e: 429a cmp r2, r3 8097360: d119 bne.n 8097396 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 8097362: 499b ldr r1, [pc, #620] ; (80975d0 ) 8097364: 489a ldr r0, [pc, #616] ; (80975d0 ) 8097366: f7bd ff51 bl 805520c BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 809736a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809736e: 4a99 ldr r2, [pc, #612] ; (80975d4 ) 8097370: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8097374: 4b98 ldr r3, [pc, #608] ; (80975d8 ) 8097376: 681b ldr r3, [r3, #0] 8097378: 88db ldrh r3, [r3, #6] 809737a: f44f 729c mov.w r2, #312 ; 0x138 809737e: 2003 movs r0, #3 8097380: f7be fbd2 bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097384: 4992 ldr r1, [pc, #584] ; (80975d0 ) 8097386: f04f 30ff mov.w r0, #4294967295 809738a: f7bd ff3f bl 805520c j = LCD_COLOR_CURSOR; 809738e: 4b90 ldr r3, [pc, #576] ; (80975d0 ) 8097390: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 8097394: e007 b.n 80973a6 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097396: 4989 ldr r1, [pc, #548] ; (80975bc ) 8097398: f04f 30ff mov.w r0, #4294967295 809739c: f7bd ff36 bl 805520c j = LCD_COLOR_BLACK; 80973a0: 4b86 ldr r3, [pc, #536] ; (80975bc ) 80973a2: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc if(ExplorerFiles[i].fname[0] != 0) 80973a6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80973aa: 498c ldr r1, [pc, #560] ; (80975dc ) 80973ac: 4613 mov r3, r2 80973ae: 00db lsls r3, r3, #3 80973b0: 1a9b subs r3, r3, r2 80973b2: 00db lsls r3, r3, #3 80973b4: 440b add r3, r1 80973b6: 330c adds r3, #12 80973b8: 781b ldrb r3, [r3, #0] 80973ba: 2b00 cmp r3, #0 80973bc: d045 beq.n 809744a if(NumFilesDelete != 0) 80973be: 4b88 ldr r3, [pc, #544] ; (80975e0 ) 80973c0: 681b ldr r3, [r3, #0] 80973c2: 2b00 cmp r3, #0 80973c4: d02e beq.n 8097424 for(k = 0; k < MAX_CHECKED_FILES; k++) 80973c6: 2300 movs r3, #0 80973c8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80973cc: e025 b.n 809741a if(strcmp(ExplorerFiles[i].fname, &StrRAM(k, 0)) == 0) 80973ce: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80973d2: 4613 mov r3, r2 80973d4: 00db lsls r3, r3, #3 80973d6: 1a9b subs r3, r3, r2 80973d8: 00db lsls r3, r3, #3 80973da: 3308 adds r3, #8 80973dc: 4a7f ldr r2, [pc, #508] ; (80975dc ) 80973de: 4413 add r3, r2 80973e0: 1d18 adds r0, r3, #4 80973e2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80973e6: 4613 mov r3, r2 80973e8: 009b lsls r3, r3, #2 80973ea: 4413 add r3, r2 80973ec: 00db lsls r3, r3, #3 80973ee: 461a mov r2, r3 80973f0: 4b7c ldr r3, [pc, #496] ; (80975e4 ) 80973f2: 4413 add r3, r2 80973f4: 4619 mov r1, r3 80973f6: f788 ff83 bl 8020300 80973fa: 4603 mov r3, r0 80973fc: 2b00 cmp r3, #0 80973fe: d107 bne.n 8097410 LCD_SetColors(LCD_COLOR_GREEN, j); 8097400: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8097404: 4619 mov r1, r3 8097406: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809740a: f7bd feff bl 805520c break; 809740e: e009 b.n 8097424 for(k = 0; k < MAX_CHECKED_FILES; k++) 8097410: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8097414: 3301 adds r3, #1 8097416: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809741a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809741e: f5b3 7f00 cmp.w r3, #512 ; 0x200 8097422: d3d4 bcc.n 80973ce BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 8097424: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8097428: 4a6a ldr r2, [pc, #424] ; (80975d4 ) 809742a: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 809742e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8097432: 4613 mov r3, r2 8097434: 00db lsls r3, r3, #3 8097436: 1a9b subs r3, r3, r2 8097438: 00db lsls r3, r3, #3 809743a: 3308 adds r3, #8 809743c: 4a67 ldr r2, [pc, #412] ; (80975dc ) 809743e: 4413 add r3, r2 8097440: 1d1a adds r2, r3, #4 8097442: 2303 movs r3, #3 8097444: 2005 movs r0, #5 8097446: f7bd ffa7 bl 8055398 for(i = 0; i < VIEW_FILES; i++) 809744a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809744e: 3301 adds r3, #1 8097450: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8097454: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8097458: 2b0b cmp r3, #11 809745a: f67f af7c bls.w 8097356 if(NumFilesCSV > VIEW_FILES) 809745e: 4b62 ldr r3, [pc, #392] ; (80975e8 ) 8097460: 681b ldr r3, [r3, #0] 8097462: 2b0c cmp r3, #12 8097464: d95f bls.n 8097526 k = (140 * VIEW_FILES) / NumFilesCSV; //äëèíà ïîëçóíêà 8097466: 4b60 ldr r3, [pc, #384] ; (80975e8 ) 8097468: 681b ldr r3, [r3, #0] 809746a: f44f 62d2 mov.w r2, #1680 ; 0x690 809746e: fbb2 f3f3 udiv r3, r2, r3 8097472: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 8097476: 4b5d ldr r3, [pc, #372] ; (80975ec ) 8097478: 681b ldr r3, [r3, #0] 809747a: 228c movs r2, #140 ; 0x8c 809747c: fb02 f303 mul.w r3, r2, r3 8097480: ee07 3a90 vmov s15, r3 8097484: eef8 7a67 vcvt.f32.u32 s15, s15 8097488: f507 638b add.w r3, r7, #1112 ; 0x458 809748c: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesCSV) + 96.0f; 8097490: 4b55 ldr r3, [pc, #340] ; (80975e8 ) 8097492: 681b ldr r3, [r3, #0] 8097494: ee07 3a90 vmov s15, r3 8097498: eeb8 7a67 vcvt.f32.u32 s14, s15 809749c: f507 638b add.w r3, r7, #1112 ; 0x458 80974a0: edd3 6a00 vldr s13, [r3] 80974a4: eec6 7a87 vdiv.f32 s15, s13, s14 80974a8: ed9f 7a51 vldr s14, [pc, #324] ; 80975f0 80974ac: ee77 7a87 vadd.f32 s15, s15, s14 80974b0: f507 638b add.w r3, r7, #1112 ; 0x458 80974b4: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 80974b8: f507 638b add.w r3, r7, #1112 ; 0x458 80974bc: edd3 7a00 vldr s15, [r3] 80974c0: eefc 7ae7 vcvt.u32.f32 s15, s15 80974c4: edc7 7a01 vstr s15, [r7, #4] 80974c8: 88bb ldrh r3, [r7, #4] 80974ca: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 80974ce: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80974d2: b29a uxth r2, r3 80974d4: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80974d8: 4413 add r3, r2 80974da: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 80974de: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80974e2: 2bec cmp r3, #236 ; 0xec 80974e4: d905 bls.n 80974f2 k = 236 - y0; 80974e6: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80974ea: f1c3 03ec rsb r3, r3, #236 ; 0xec 80974ee: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80974f2: 4932 ldr r1, [pc, #200] ; (80975bc ) 80974f4: 483f ldr r0, [pc, #252] ; (80975f4 ) 80974f6: f7bd fe89 bl 805520c BSP_LCD_DrawRect(314, 94, 5, 143); 80974fa: 238f movs r3, #143 ; 0x8f 80974fc: 2205 movs r2, #5 80974fe: 215e movs r1, #94 ; 0x5e 8097500: f44f 709d mov.w r0, #314 ; 0x13a 8097504: f7be f988 bl 8055818 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097508: 492c ldr r1, [pc, #176] ; (80975bc ) 809750a: f04f 30ff mov.w r0, #4294967295 809750e: f7bd fe7d bl 805520c BSP_LCD_FillRect(316, y0, 2, k); 8097512: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8097516: b29b uxth r3, r3 8097518: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 809751c: 2202 movs r2, #2 809751e: f44f 709e mov.w r0, #316 ; 0x13c 8097522: f7be fb01 bl 8055b28 if((menupos != NoFilesCSV) && (menupos != FilesCSV)) 8097526: 4b23 ldr r3, [pc, #140] ; (80975b4 ) 8097528: 781b ldrb r3, [r3, #0] 809752a: b2db uxtb r3, r3 809752c: 2b01 cmp r3, #1 809752e: f001 867a beq.w 8099226 8097532: 4b20 ldr r3, [pc, #128] ; (80975b4 ) 8097534: 781b ldrb r3, [r3, #0] 8097536: b2db uxtb r3, r3 8097538: 2b02 cmp r3, #2 809753a: f001 8674 beq.w 8099226 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809753e: 491f ldr r1, [pc, #124] ; (80975bc ) 8097540: 482c ldr r0, [pc, #176] ; (80975f4 ) 8097542: f7bd fe63 bl 805520c BSP_LCD_FillRect(60, 73, 200, 124); 8097546: 237c movs r3, #124 ; 0x7c 8097548: 22c8 movs r2, #200 ; 0xc8 809754a: 2149 movs r1, #73 ; 0x49 809754c: 203c movs r0, #60 ; 0x3c 809754e: f7be faeb bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8097552: 491a ldr r1, [pc, #104] ; (80975bc ) 8097554: 4819 ldr r0, [pc, #100] ; (80975bc ) 8097556: f7bd fe59 bl 805520c BSP_LCD_FillRect(61, 74, 198, 122); 809755a: 237a movs r3, #122 ; 0x7a 809755c: 22c6 movs r2, #198 ; 0xc6 809755e: 214a movs r1, #74 ; 0x4a 8097560: 203d movs r0, #61 ; 0x3d 8097562: f7be fae1 bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097566: 4915 ldr r1, [pc, #84] ; (80975bc ) 8097568: f04f 30ff mov.w r0, #4294967295 809756c: f7bd fe4e bl 805520c BSP_LCD_SetFont(&Font12); 8097570: 4811 ldr r0, [pc, #68] ; (80975b8 ) 8097572: f7bd fe87 bl 8055284 if((menupos == UpNo) || (menupos == UpYes)) 8097576: 4b0f ldr r3, [pc, #60] ; (80975b4 ) 8097578: 781b ldrb r3, [r3, #0] 809757a: b2db uxtb r3, r3 809757c: 2b06 cmp r3, #6 809757e: d005 beq.n 809758c 8097580: 4b0c ldr r3, [pc, #48] ; (80975b4 ) 8097582: 781b ldrb r3, [r3, #0] 8097584: b2db uxtb r3, r3 8097586: 2b07 cmp r3, #7 8097588: f040 80a2 bne.w 80976d0 if(pardata.LANG == RUS) 809758c: 4b0c ldr r3, [pc, #48] ; (80975c0 ) 809758e: 7b1b ldrb r3, [r3, #12] 8097590: b2db uxtb r3, r3 8097592: 2b00 cmp r3, #0 8097594: d134 bne.n 8097600 BSP_LCD_DisplayStringAt(160, 111, "Âûáðàííûå ôàéëû áóäóò", CENTER_MODE); 8097596: 2301 movs r3, #1 8097598: 4a17 ldr r2, [pc, #92] ; (80975f8 ) 809759a: 216f movs r1, #111 ; 0x6f 809759c: 20a0 movs r0, #160 ; 0xa0 809759e: f7bd fefb bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíû. Ïðîäîëæèòü?", CENTER_MODE); 80975a2: 2301 movs r3, #1 80975a4: 4a15 ldr r2, [pc, #84] ; (80975fc ) 80975a6: 217e movs r1, #126 ; 0x7e 80975a8: 20a0 movs r0, #160 ; 0xa0 80975aa: f7bd fef5 bl 8055398 80975ae: e033 b.n 8097618 80975b0: 081266c4 .word 0x081266c4 80975b4: 20020070 .word 0x20020070 80975b8: 20020038 .word 0x20020038 80975bc: ff0a0f1f .word 0xff0a0f1f 80975c0: 20023eb8 .word 0x20023eb8 80975c4: 080d6ea8 .word 0x080d6ea8 80975c8: 080d6df8 .word 0x080d6df8 80975cc: 20020e00 .word 0x20020e00 80975d0: ff606060 .word 0xff606060 80975d4: 080f5e78 .word 0x080f5e78 80975d8: 20025d7c .word 0x20025d7c 80975dc: 200223a0 .word 0x200223a0 80975e0: 20020e30 .word 0x20020e30 80975e4: 6404b000 .word 0x6404b000 80975e8: 20020e2c .word 0x20020e2c 80975ec: 20020e04 .word 0x20020e04 80975f0: 42c00000 .word 0x42c00000 80975f4: ffd3d3d3 .word 0xffd3d3d3 80975f8: 080d6ec0 .word 0x080d6ec0 80975fc: 080d6c88 .word 0x080d6c88 BSP_LCD_DisplayStringAt(160, 111, "The selected files will", CENTER_MODE); 8097600: 2301 movs r3, #1 8097602: 4ac8 ldr r2, [pc, #800] ; (8097924 ) 8097604: 216f movs r1, #111 ; 0x6f 8097606: 20a0 movs r0, #160 ; 0xa0 8097608: f7bd fec6 bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "be deleted. Continue?", CENTER_MODE); 809760c: 2301 movs r3, #1 809760e: 4ac6 ldr r2, [pc, #792] ; (8097928 ) 8097610: 217e movs r1, #126 ; 0x7e 8097612: 20a0 movs r0, #160 ; 0xa0 8097614: f7bd fec0 bl 8055398 if(menupos == UpNo) 8097618: 4bc4 ldr r3, [pc, #784] ; (809792c ) 809761a: 781b ldrb r3, [r3, #0] 809761c: b2db uxtb r3, r3 809761e: 2b06 cmp r3, #6 8097620: d128 bne.n 8097674 if(pardata.LANG == RUS) 8097622: 4bc3 ldr r3, [pc, #780] ; (8097930 ) 8097624: 7b1b ldrb r3, [r3, #12] 8097626: b2db uxtb r3, r3 8097628: 2b00 cmp r3, #0 809762a: d111 bne.n 8097650 BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 809762c: 2301 movs r3, #1 809762e: 4ac1 ldr r2, [pc, #772] ; (8097934 ) 8097630: 21af movs r1, #175 ; 0xaf 8097632: 20e6 movs r0, #230 ; 0xe6 8097634: f7bd feb0 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097638: 49bf ldr r1, [pc, #764] ; (8097938 ) 809763a: f04f 30ff mov.w r0, #4294967295 809763e: f7bd fde5 bl 805520c BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8097642: 2301 movs r3, #1 8097644: 4abd ldr r2, [pc, #756] ; (809793c ) 8097646: 21af movs r1, #175 ; 0xaf 8097648: 205a movs r0, #90 ; 0x5a 809764a: f7bd fea5 bl 8055398 if(menupos == UpNo) 809764e: e088 b.n 8097762 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 8097650: 2301 movs r3, #1 8097652: 4abb ldr r2, [pc, #748] ; (8097940 ) 8097654: 21af movs r1, #175 ; 0xaf 8097656: 20e6 movs r0, #230 ; 0xe6 8097658: f7bd fe9e bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809765c: 49b6 ldr r1, [pc, #728] ; (8097938 ) 809765e: f04f 30ff mov.w r0, #4294967295 8097662: f7bd fdd3 bl 805520c BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 8097666: 2301 movs r3, #1 8097668: 4ab6 ldr r2, [pc, #728] ; (8097944 ) 809766a: 21af movs r1, #175 ; 0xaf 809766c: 205a movs r0, #90 ; 0x5a 809766e: f7bd fe93 bl 8055398 if(menupos == UpNo) 8097672: e076 b.n 8097762 if(menupos == UpYes) 8097674: 4bad ldr r3, [pc, #692] ; (809792c ) 8097676: 781b ldrb r3, [r3, #0] 8097678: b2db uxtb r3, r3 809767a: 2b07 cmp r3, #7 809767c: d171 bne.n 8097762 if(pardata.LANG == RUS) 809767e: 4bac ldr r3, [pc, #688] ; (8097930 ) 8097680: 7b1b ldrb r3, [r3, #12] 8097682: b2db uxtb r3, r3 8097684: 2b00 cmp r3, #0 8097686: d111 bne.n 80976ac BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8097688: 2301 movs r3, #1 809768a: 4aac ldr r2, [pc, #688] ; (809793c ) 809768c: 21af movs r1, #175 ; 0xaf 809768e: 205a movs r0, #90 ; 0x5a 8097690: f7bd fe82 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097694: 49a8 ldr r1, [pc, #672] ; (8097938 ) 8097696: f04f 30ff mov.w r0, #4294967295 809769a: f7bd fdb7 bl 805520c BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 809769e: 2301 movs r3, #1 80976a0: 4aa4 ldr r2, [pc, #656] ; (8097934 ) 80976a2: 21af movs r1, #175 ; 0xaf 80976a4: 20e6 movs r0, #230 ; 0xe6 80976a6: f7bd fe77 bl 8055398 if(menupos == UpNo) 80976aa: e05a b.n 8097762 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 80976ac: 2301 movs r3, #1 80976ae: 4aa5 ldr r2, [pc, #660] ; (8097944 ) 80976b0: 21af movs r1, #175 ; 0xaf 80976b2: 205a movs r0, #90 ; 0x5a 80976b4: f7bd fe70 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80976b8: 499f ldr r1, [pc, #636] ; (8097938 ) 80976ba: f04f 30ff mov.w r0, #4294967295 80976be: f7bd fda5 bl 805520c BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 80976c2: 2301 movs r3, #1 80976c4: 4a9e ldr r2, [pc, #632] ; (8097940 ) 80976c6: 21af movs r1, #175 ; 0xaf 80976c8: 20e6 movs r0, #230 ; 0xe6 80976ca: f7bd fe65 bl 8055398 if(menupos == UpNo) 80976ce: e048 b.n 8097762 if(menupos == CleanUpResult) 80976d0: 4b96 ldr r3, [pc, #600] ; (809792c ) 80976d2: 781b ldrb r3, [r3, #0] 80976d4: b2db uxtb r3, r3 80976d6: 2b0a cmp r3, #10 80976d8: f041 85a5 bne.w 8099226 if(CleanStatus == AP_OK) 80976dc: 4b9a ldr r3, [pc, #616] ; (8097948 ) 80976de: 781b ldrb r3, [r3, #0] 80976e0: b2db uxtb r3, r3 80976e2: 2b00 cmp r3, #0 80976e4: d118 bne.n 8097718 if(pardata.LANG == RUS) 80976e6: 4b92 ldr r3, [pc, #584] ; (8097930 ) 80976e8: 7b1b ldrb r3, [r3, #12] 80976ea: b2db uxtb r3, r3 80976ec: 2b00 cmp r3, #0 80976ee: d10c bne.n 809770a BSP_LCD_DisplayStringAt(160, 111, "Óäàëåíèå çàâåðøåíî", CENTER_MODE); 80976f0: 2301 movs r3, #1 80976f2: 4a96 ldr r2, [pc, #600] ; (809794c ) 80976f4: 216f movs r1, #111 ; 0x6f 80976f6: 20a0 movs r0, #160 ; 0xa0 80976f8: f7bd fe4e bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "óñïåøíî!", CENTER_MODE); 80976fc: 2301 movs r3, #1 80976fe: 4a94 ldr r2, [pc, #592] ; (8097950 ) 8097700: 217e movs r1, #126 ; 0x7e 8097702: 20a0 movs r0, #160 ; 0xa0 8097704: f7bd fe48 bl 8055398 8097708: e01e b.n 8097748 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting successful!", CENTER_MODE); 809770a: 2301 movs r3, #1 809770c: 4a91 ldr r2, [pc, #580] ; (8097954 ) 809770e: 217e movs r1, #126 ; 0x7e 8097710: 20a0 movs r0, #160 ; 0xa0 8097712: f7bd fe41 bl 8055398 8097716: e017 b.n 8097748 if(pardata.LANG == RUS) 8097718: 4b85 ldr r3, [pc, #532] ; (8097930 ) 809771a: 7b1b ldrb r3, [r3, #12] 809771c: b2db uxtb r3, r3 809771e: 2b00 cmp r3, #0 8097720: d10c bne.n 809773c BSP_LCD_DisplayStringAt(160, 111, "Îøèáêà â ïðîöåññå", CENTER_MODE); 8097722: 2301 movs r3, #1 8097724: 4a8c ldr r2, [pc, #560] ; (8097958 ) 8097726: 216f movs r1, #111 ; 0x6f 8097728: 20a0 movs r0, #160 ; 0xa0 809772a: f7bd fe35 bl 8055398 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíèÿ...", CENTER_MODE); 809772e: 2301 movs r3, #1 8097730: 4a8a ldr r2, [pc, #552] ; (809795c ) 8097732: 217e movs r1, #126 ; 0x7e 8097734: 20a0 movs r0, #160 ; 0xa0 8097736: f7bd fe2f bl 8055398 809773a: e005 b.n 8097748 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting error!", CENTER_MODE); 809773c: 2301 movs r3, #1 809773e: 4a88 ldr r2, [pc, #544] ; (8097960 ) 8097740: 217e movs r1, #126 ; 0x7e 8097742: 20a0 movs r0, #160 ; 0xa0 8097744: f7bd fe28 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097748: 497b ldr r1, [pc, #492] ; (8097938 ) 809774a: f04f 30ff mov.w r0, #4294967295 809774e: f7bd fd5d bl 805520c BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); 8097752: 2301 movs r3, #1 8097754: 4a83 ldr r2, [pc, #524] ; (8097964 ) 8097756: 21af movs r1, #175 ; 0xaf 8097758: 20a0 movs r0, #160 ; 0xa0 809775a: f7bd fe1d bl 8055398 break; 809775e: f001 bd62 b.w 8099226 if(menupos == UpNo) 8097762: bf00 nop break; 8097764: f001 bd5f b.w 8099226 /******************************************************************************************************************************/ case CALIBR_00: // Êàëèáðîâêà 0, ââîä ñåðèéíîãî íîìåðà LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8097768: 497f ldr r1, [pc, #508] ; (8097968 ) 809776a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809776e: f7bd fd4d bl 805520c LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8097772: 4a7e ldr r2, [pc, #504] ; (809796c ) 8097774: 2128 movs r1, #40 ; 0x28 8097776: 20a5 movs r0, #165 ; 0xa5 8097778: f7be fb08 bl 8055d8c BSP_LCD_DrawLine(2, 59, 317, 59); 809777c: 233b movs r3, #59 ; 0x3b 809777e: f240 123d movw r2, #317 ; 0x13d 8097782: 213b movs r1, #59 ; 0x3b 8097784: 2002 movs r0, #2 8097786: f7bd ff7b bl 8055680 BSP_LCD_SetFont(&Font12); 809778a: 4879 ldr r0, [pc, #484] ; (8097970 ) 809778c: f7bd fd7a bl 8055284 BSP_LCD_DisplayStringAt(310, 36, "[1 / 13]", RIGHT_MODE); 8097790: 2302 movs r3, #2 8097792: 4a78 ldr r2, [pc, #480] ; (8097974 ) 8097794: 2124 movs r1, #36 ; 0x24 8097796: f44f 709b mov.w r0, #310 ; 0x136 809779a: f7bd fdfd bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809779e: 4972 ldr r1, [pc, #456] ; (8097968 ) 80977a0: f04f 30ff mov.w r0, #4294967295 80977a4: f7bd fd32 bl 805520c LCD_DisplayString(5, 70, "Ââåäèòå ñåðèéíûé íîìåð"); 80977a8: 4a73 ldr r2, [pc, #460] ; (8097978 ) 80977aa: 2146 movs r1, #70 ; 0x46 80977ac: 2005 movs r0, #5 80977ae: f7be fad5 bl 8055d5c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80977b2: 496d ldr r1, [pc, #436] ; (8097968 ) 80977b4: f06f 00ff mvn.w r0, #255 ; 0xff 80977b8: f7bd fd28 bl 805520c LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 80977bc: 4b6f ldr r3, [pc, #444] ; (809797c ) 80977be: edd3 7a00 vldr s15, [r3] 80977c2: f06f 0002 mvn.w r0, #2 80977c6: eeb0 0a67 vmov.f32 s0, s15 80977ca: f7d0 fce9 bl 80681a0 80977ce: 4603 mov r3, r0 80977d0: 461a mov r2, r3 80977d2: 2128 movs r1, #40 ; 0x28 80977d4: 204b movs r0, #75 ; 0x4b 80977d6: f7be faf1 bl 8055dbc str[1] = '\0'; 80977da: f507 733b add.w r3, r7, #748 ; 0x2ec 80977de: 2200 movs r2, #0 80977e0: 705a strb r2, [r3, #1] switch(menupos) 80977e2: 4b52 ldr r3, [pc, #328] ; (809792c ) 80977e4: 781b ldrb r3, [r3, #0] 80977e6: b2db uxtb r3, r3 80977e8: 2b04 cmp r3, #4 80977ea: f201 851e bhi.w 809922a 80977ee: a201 add r2, pc, #4 ; (adr r2, 80977f4 ) 80977f0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80977f4: 08097809 .word 0x08097809 80977f8: 08097897 .word 0x08097897 80977fc: 08097985 .word 0x08097985 8097800: 08097a13 .word 0x08097a13 8097804: 08097aa1 .word 0x08097aa1 { case 0: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8097808: 494b ldr r1, [pc, #300] ; (8097938 ) 809780a: f06f 00ff mvn.w r0, #255 ; 0xff 809780e: f7bd fcfd bl 805520c str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 8097812: 4b5b ldr r3, [pc, #364] ; (8097980 ) 8097814: 781a ldrb r2, [r3, #0] 8097816: f507 733b add.w r3, r7, #748 ; 0x2ec 809781a: 701a strb r2, [r3, #0] 809781c: f507 733b add.w r3, r7, #748 ; 0x2ec 8097820: 461a mov r2, r3 8097822: 216e movs r1, #110 ; 0x6e 8097824: 2078 movs r0, #120 ; 0x78 8097826: f7be fa99 bl 8055d5c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809782a: 494f ldr r1, [pc, #316] ; (8097968 ) 809782c: f06f 00ff mvn.w r0, #255 ; 0xff 8097830: f7bd fcec bl 805520c str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 8097834: 4b52 ldr r3, [pc, #328] ; (8097980 ) 8097836: 785a ldrb r2, [r3, #1] 8097838: f507 733b add.w r3, r7, #748 ; 0x2ec 809783c: 701a strb r2, [r3, #0] 809783e: f507 733b add.w r3, r7, #748 ; 0x2ec 8097842: 461a mov r2, r3 8097844: 216e movs r1, #110 ; 0x6e 8097846: 208c movs r0, #140 ; 0x8c 8097848: f7be fa88 bl 8055d5c str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 809784c: 4b4c ldr r3, [pc, #304] ; (8097980 ) 809784e: 789a ldrb r2, [r3, #2] 8097850: f507 733b add.w r3, r7, #748 ; 0x2ec 8097854: 701a strb r2, [r3, #0] 8097856: f507 733b add.w r3, r7, #748 ; 0x2ec 809785a: 461a mov r2, r3 809785c: 216e movs r1, #110 ; 0x6e 809785e: 20a0 movs r0, #160 ; 0xa0 8097860: f7be fa7c bl 8055d5c str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 8097864: 4b46 ldr r3, [pc, #280] ; (8097980 ) 8097866: 78da ldrb r2, [r3, #3] 8097868: f507 733b add.w r3, r7, #748 ; 0x2ec 809786c: 701a strb r2, [r3, #0] 809786e: f507 733b add.w r3, r7, #748 ; 0x2ec 8097872: 461a mov r2, r3 8097874: 216e movs r1, #110 ; 0x6e 8097876: 20b4 movs r0, #180 ; 0xb4 8097878: f7be fa70 bl 8055d5c str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 809787c: 4b40 ldr r3, [pc, #256] ; (8097980 ) 809787e: 791a ldrb r2, [r3, #4] 8097880: f507 733b add.w r3, r7, #748 ; 0x2ec 8097884: 701a strb r2, [r3, #0] 8097886: f507 733b add.w r3, r7, #748 ; 0x2ec 809788a: 461a mov r2, r3 809788c: 216e movs r1, #110 ; 0x6e 809788e: 20c8 movs r0, #200 ; 0xc8 8097890: f7be fa64 bl 8055d5c break; 8097894: e14b b.n 8097b2e case 1: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8097896: 4928 ldr r1, [pc, #160] ; (8097938 ) 8097898: f06f 00ff mvn.w r0, #255 ; 0xff 809789c: f7bd fcb6 bl 805520c str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 80978a0: 4b37 ldr r3, [pc, #220] ; (8097980 ) 80978a2: 785a ldrb r2, [r3, #1] 80978a4: f507 733b add.w r3, r7, #748 ; 0x2ec 80978a8: 701a strb r2, [r3, #0] 80978aa: f507 733b add.w r3, r7, #748 ; 0x2ec 80978ae: 461a mov r2, r3 80978b0: 216e movs r1, #110 ; 0x6e 80978b2: 208c movs r0, #140 ; 0x8c 80978b4: f7be fa52 bl 8055d5c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80978b8: 492b ldr r1, [pc, #172] ; (8097968 ) 80978ba: f06f 00ff mvn.w r0, #255 ; 0xff 80978be: f7bd fca5 bl 805520c str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 80978c2: 4b2f ldr r3, [pc, #188] ; (8097980 ) 80978c4: 781a ldrb r2, [r3, #0] 80978c6: f507 733b add.w r3, r7, #748 ; 0x2ec 80978ca: 701a strb r2, [r3, #0] 80978cc: f507 733b add.w r3, r7, #748 ; 0x2ec 80978d0: 461a mov r2, r3 80978d2: 216e movs r1, #110 ; 0x6e 80978d4: 2078 movs r0, #120 ; 0x78 80978d6: f7be fa41 bl 8055d5c str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 80978da: 4b29 ldr r3, [pc, #164] ; (8097980 ) 80978dc: 789a ldrb r2, [r3, #2] 80978de: f507 733b add.w r3, r7, #748 ; 0x2ec 80978e2: 701a strb r2, [r3, #0] 80978e4: f507 733b add.w r3, r7, #748 ; 0x2ec 80978e8: 461a mov r2, r3 80978ea: 216e movs r1, #110 ; 0x6e 80978ec: 20a0 movs r0, #160 ; 0xa0 80978ee: f7be fa35 bl 8055d5c str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 80978f2: 4b23 ldr r3, [pc, #140] ; (8097980 ) 80978f4: 78da ldrb r2, [r3, #3] 80978f6: f507 733b add.w r3, r7, #748 ; 0x2ec 80978fa: 701a strb r2, [r3, #0] 80978fc: f507 733b add.w r3, r7, #748 ; 0x2ec 8097900: 461a mov r2, r3 8097902: 216e movs r1, #110 ; 0x6e 8097904: 20b4 movs r0, #180 ; 0xb4 8097906: f7be fa29 bl 8055d5c str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 809790a: 4b1d ldr r3, [pc, #116] ; (8097980 ) 809790c: 791a ldrb r2, [r3, #4] 809790e: f507 733b add.w r3, r7, #748 ; 0x2ec 8097912: 701a strb r2, [r3, #0] 8097914: f507 733b add.w r3, r7, #748 ; 0x2ec 8097918: 461a mov r2, r3 809791a: 216e movs r1, #110 ; 0x6e 809791c: 20c8 movs r0, #200 ; 0xc8 809791e: f7be fa1d bl 8055d5c break; 8097922: e104 b.n 8097b2e 8097924: 080d6ed8 .word 0x080d6ed8 8097928: 080d6cb8 .word 0x080d6cb8 809792c: 20020070 .word 0x20020070 8097930: 20023eb8 .word 0x20023eb8 8097934: 080d6cd0 .word 0x080d6cd0 8097938: ff606060 .word 0xff606060 809793c: 080d6cd4 .word 0x080d6cd4 8097940: 080d6cd8 .word 0x080d6cd8 8097944: 080d6cdc .word 0x080d6cdc 8097948: 20020df0 .word 0x20020df0 809794c: 080d6ce0 .word 0x080d6ce0 8097950: 080d6a68 .word 0x080d6a68 8097954: 080d6cf4 .word 0x080d6cf4 8097958: 080d6a74 .word 0x080d6a74 809795c: 080d6d0c .word 0x080d6d0c 8097960: 080d6d18 .word 0x080d6d18 8097964: 080d6d28 .word 0x080d6d28 8097968: ff0a0f1f .word 0xff0a0f1f 809796c: 080d6ef0 .word 0x080d6ef0 8097970: 20020038 .word 0x20020038 8097974: 080d6efc .word 0x080d6efc 8097978: 080d6f08 .word 0x080d6f08 809797c: 20020000 .word 0x20020000 8097980: 20026d64 .word 0x20026d64 case 2: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8097984: 49cf ldr r1, [pc, #828] ; (8097cc4 ) 8097986: f06f 00ff mvn.w r0, #255 ; 0xff 809798a: f7bd fc3f bl 805520c str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 809798e: 4bce ldr r3, [pc, #824] ; (8097cc8 ) 8097990: 789a ldrb r2, [r3, #2] 8097992: f507 733b add.w r3, r7, #748 ; 0x2ec 8097996: 701a strb r2, [r3, #0] 8097998: f507 733b add.w r3, r7, #748 ; 0x2ec 809799c: 461a mov r2, r3 809799e: 216e movs r1, #110 ; 0x6e 80979a0: 20a0 movs r0, #160 ; 0xa0 80979a2: f7be f9db bl 8055d5c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80979a6: 49c9 ldr r1, [pc, #804] ; (8097ccc ) 80979a8: f06f 00ff mvn.w r0, #255 ; 0xff 80979ac: f7bd fc2e bl 805520c str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 80979b0: 4bc5 ldr r3, [pc, #788] ; (8097cc8 ) 80979b2: 781a ldrb r2, [r3, #0] 80979b4: f507 733b add.w r3, r7, #748 ; 0x2ec 80979b8: 701a strb r2, [r3, #0] 80979ba: f507 733b add.w r3, r7, #748 ; 0x2ec 80979be: 461a mov r2, r3 80979c0: 216e movs r1, #110 ; 0x6e 80979c2: 2078 movs r0, #120 ; 0x78 80979c4: f7be f9ca bl 8055d5c str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 80979c8: 4bbf ldr r3, [pc, #764] ; (8097cc8 ) 80979ca: 785a ldrb r2, [r3, #1] 80979cc: f507 733b add.w r3, r7, #748 ; 0x2ec 80979d0: 701a strb r2, [r3, #0] 80979d2: f507 733b add.w r3, r7, #748 ; 0x2ec 80979d6: 461a mov r2, r3 80979d8: 216e movs r1, #110 ; 0x6e 80979da: 208c movs r0, #140 ; 0x8c 80979dc: f7be f9be bl 8055d5c str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 80979e0: 4bb9 ldr r3, [pc, #740] ; (8097cc8 ) 80979e2: 78da ldrb r2, [r3, #3] 80979e4: f507 733b add.w r3, r7, #748 ; 0x2ec 80979e8: 701a strb r2, [r3, #0] 80979ea: f507 733b add.w r3, r7, #748 ; 0x2ec 80979ee: 461a mov r2, r3 80979f0: 216e movs r1, #110 ; 0x6e 80979f2: 20b4 movs r0, #180 ; 0xb4 80979f4: f7be f9b2 bl 8055d5c str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 80979f8: 4bb3 ldr r3, [pc, #716] ; (8097cc8 ) 80979fa: 791a ldrb r2, [r3, #4] 80979fc: f507 733b add.w r3, r7, #748 ; 0x2ec 8097a00: 701a strb r2, [r3, #0] 8097a02: f507 733b add.w r3, r7, #748 ; 0x2ec 8097a06: 461a mov r2, r3 8097a08: 216e movs r1, #110 ; 0x6e 8097a0a: 20c8 movs r0, #200 ; 0xc8 8097a0c: f7be f9a6 bl 8055d5c break; 8097a10: e08d b.n 8097b2e case 3: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8097a12: 49ac ldr r1, [pc, #688] ; (8097cc4 ) 8097a14: f06f 00ff mvn.w r0, #255 ; 0xff 8097a18: f7bd fbf8 bl 805520c str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 8097a1c: 4baa ldr r3, [pc, #680] ; (8097cc8 ) 8097a1e: 78da ldrb r2, [r3, #3] 8097a20: f507 733b add.w r3, r7, #748 ; 0x2ec 8097a24: 701a strb r2, [r3, #0] 8097a26: f507 733b add.w r3, r7, #748 ; 0x2ec 8097a2a: 461a mov r2, r3 8097a2c: 216e movs r1, #110 ; 0x6e 8097a2e: 20b4 movs r0, #180 ; 0xb4 8097a30: f7be f994 bl 8055d5c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8097a34: 49a5 ldr r1, [pc, #660] ; (8097ccc ) 8097a36: f06f 00ff mvn.w r0, #255 ; 0xff 8097a3a: f7bd fbe7 bl 805520c str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 8097a3e: 4ba2 ldr r3, [pc, #648] ; (8097cc8 ) 8097a40: 781a ldrb r2, [r3, #0] 8097a42: f507 733b add.w r3, r7, #748 ; 0x2ec 8097a46: 701a strb r2, [r3, #0] 8097a48: f507 733b add.w r3, r7, #748 ; 0x2ec 8097a4c: 461a mov r2, r3 8097a4e: 216e movs r1, #110 ; 0x6e 8097a50: 2078 movs r0, #120 ; 0x78 8097a52: f7be f983 bl 8055d5c str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 8097a56: 4b9c ldr r3, [pc, #624] ; (8097cc8 ) 8097a58: 785a ldrb r2, [r3, #1] 8097a5a: f507 733b add.w r3, r7, #748 ; 0x2ec 8097a5e: 701a strb r2, [r3, #0] 8097a60: f507 733b add.w r3, r7, #748 ; 0x2ec 8097a64: 461a mov r2, r3 8097a66: 216e movs r1, #110 ; 0x6e 8097a68: 208c movs r0, #140 ; 0x8c 8097a6a: f7be f977 bl 8055d5c str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 8097a6e: 4b96 ldr r3, [pc, #600] ; (8097cc8 ) 8097a70: 789a ldrb r2, [r3, #2] 8097a72: f507 733b add.w r3, r7, #748 ; 0x2ec 8097a76: 701a strb r2, [r3, #0] 8097a78: f507 733b add.w r3, r7, #748 ; 0x2ec 8097a7c: 461a mov r2, r3 8097a7e: 216e movs r1, #110 ; 0x6e 8097a80: 20a0 movs r0, #160 ; 0xa0 8097a82: f7be f96b bl 8055d5c str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 8097a86: 4b90 ldr r3, [pc, #576] ; (8097cc8 ) 8097a88: 791a ldrb r2, [r3, #4] 8097a8a: f507 733b add.w r3, r7, #748 ; 0x2ec 8097a8e: 701a strb r2, [r3, #0] 8097a90: f507 733b add.w r3, r7, #748 ; 0x2ec 8097a94: 461a mov r2, r3 8097a96: 216e movs r1, #110 ; 0x6e 8097a98: 20c8 movs r0, #200 ; 0xc8 8097a9a: f7be f95f bl 8055d5c break; 8097a9e: e046 b.n 8097b2e case 4: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8097aa0: 4988 ldr r1, [pc, #544] ; (8097cc4 ) 8097aa2: f06f 00ff mvn.w r0, #255 ; 0xff 8097aa6: f7bd fbb1 bl 805520c str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 8097aaa: 4b87 ldr r3, [pc, #540] ; (8097cc8 ) 8097aac: 791a ldrb r2, [r3, #4] 8097aae: f507 733b add.w r3, r7, #748 ; 0x2ec 8097ab2: 701a strb r2, [r3, #0] 8097ab4: f507 733b add.w r3, r7, #748 ; 0x2ec 8097ab8: 461a mov r2, r3 8097aba: 216e movs r1, #110 ; 0x6e 8097abc: 20c8 movs r0, #200 ; 0xc8 8097abe: f7be f94d bl 8055d5c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8097ac2: 4982 ldr r1, [pc, #520] ; (8097ccc ) 8097ac4: f06f 00ff mvn.w r0, #255 ; 0xff 8097ac8: f7bd fba0 bl 805520c str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 8097acc: 4b7e ldr r3, [pc, #504] ; (8097cc8 ) 8097ace: 781a ldrb r2, [r3, #0] 8097ad0: f507 733b add.w r3, r7, #748 ; 0x2ec 8097ad4: 701a strb r2, [r3, #0] 8097ad6: f507 733b add.w r3, r7, #748 ; 0x2ec 8097ada: 461a mov r2, r3 8097adc: 216e movs r1, #110 ; 0x6e 8097ade: 2078 movs r0, #120 ; 0x78 8097ae0: f7be f93c bl 8055d5c str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 8097ae4: 4b78 ldr r3, [pc, #480] ; (8097cc8 ) 8097ae6: 785a ldrb r2, [r3, #1] 8097ae8: f507 733b add.w r3, r7, #748 ; 0x2ec 8097aec: 701a strb r2, [r3, #0] 8097aee: f507 733b add.w r3, r7, #748 ; 0x2ec 8097af2: 461a mov r2, r3 8097af4: 216e movs r1, #110 ; 0x6e 8097af6: 208c movs r0, #140 ; 0x8c 8097af8: f7be f930 bl 8055d5c str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 8097afc: 4b72 ldr r3, [pc, #456] ; (8097cc8 ) 8097afe: 789a ldrb r2, [r3, #2] 8097b00: f507 733b add.w r3, r7, #748 ; 0x2ec 8097b04: 701a strb r2, [r3, #0] 8097b06: f507 733b add.w r3, r7, #748 ; 0x2ec 8097b0a: 461a mov r2, r3 8097b0c: 216e movs r1, #110 ; 0x6e 8097b0e: 20a0 movs r0, #160 ; 0xa0 8097b10: f7be f924 bl 8055d5c str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 8097b14: 4b6c ldr r3, [pc, #432] ; (8097cc8 ) 8097b16: 78da ldrb r2, [r3, #3] 8097b18: f507 733b add.w r3, r7, #748 ; 0x2ec 8097b1c: 701a strb r2, [r3, #0] 8097b1e: f507 733b add.w r3, r7, #748 ; 0x2ec 8097b22: 461a mov r2, r3 8097b24: 216e movs r1, #110 ; 0x6e 8097b26: 20b4 movs r0, #180 ; 0xb4 8097b28: f7be f918 bl 8055d5c break; 8097b2c: bf00 nop } break; 8097b2e: f001 bb7c b.w 809922a case CALIBR_0: /* Êàëèáðîâêà Êcorr[1] (ÇÀÐßÄ, Êâõ = 1, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8097b32: 4966 ldr r1, [pc, #408] ; (8097ccc ) 8097b34: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8097b38: f7bd fb68 bl 805520c LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8097b3c: 4a64 ldr r2, [pc, #400] ; (8097cd0 ) 8097b3e: 2128 movs r1, #40 ; 0x28 8097b40: 20a5 movs r0, #165 ; 0xa5 8097b42: f7be f923 bl 8055d8c BSP_LCD_DrawLine(2, 59, 317, 59); 8097b46: 233b movs r3, #59 ; 0x3b 8097b48: f240 123d movw r2, #317 ; 0x13d 8097b4c: 213b movs r1, #59 ; 0x3b 8097b4e: 2002 movs r0, #2 8097b50: f7bd fd96 bl 8055680 BSP_LCD_SetFont(&Font12); 8097b54: 485f ldr r0, [pc, #380] ; (8097cd4 ) 8097b56: f7bd fb95 bl 8055284 BSP_LCD_DisplayStringAt(310, 36, "[2 / 13]", RIGHT_MODE); 8097b5a: 2302 movs r3, #2 8097b5c: 4a5e ldr r2, [pc, #376] ; (8097cd8 ) 8097b5e: 2124 movs r1, #36 ; 0x24 8097b60: f44f 709b mov.w r0, #310 ; 0x136 8097b64: f7bd fc18 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097b68: 4958 ldr r1, [pc, #352] ; (8097ccc ) 8097b6a: f04f 30ff mov.w r0, #4294967295 8097b6e: f7bd fb4d bl 805520c LCD_DisplayString(5, 70, "[ICP 1] [Êó 1]"); 8097b72: 4a5a ldr r2, [pc, #360] ; (8097cdc ) 8097b74: 2146 movs r1, #70 ; 0x46 8097b76: 2005 movs r0, #5 8097b78: f7be f8f0 bl 8055d5c LCD_DisplayString(5, 95, "Input:RMS=1024ìÂ,1êÃö"); 8097b7c: 4a58 ldr r2, [pc, #352] ; (8097ce0 ) 8097b7e: 215f movs r1, #95 ; 0x5f 8097b80: 2005 movs r0, #5 8097b82: f7be f8eb bl 8055d5c LCD_DisplayString(15, 145, "Output="); 8097b86: 4a57 ldr r2, [pc, #348] ; (8097ce4 ) 8097b88: 2191 movs r1, #145 ; 0x91 8097b8a: 200f movs r0, #15 8097b8c: f7be f8e6 bl 8055d5c LCD_DisplayString(15, 170, "Kcorr="); 8097b90: 4a55 ldr r2, [pc, #340] ; (8097ce8 ) 8097b92: 21aa movs r1, #170 ; 0xaa 8097b94: 200f movs r0, #15 8097b96: f7be f8e1 bl 8055d5c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8097b9a: 494c ldr r1, [pc, #304] ; (8097ccc ) 8097b9c: f06f 00ff mvn.w r0, #255 ; 0xff 8097ba0: f7bd fb34 bl 805520c LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8097ba4: 4b51 ldr r3, [pc, #324] ; (8097cec ) 8097ba6: edd3 7a00 vldr s15, [r3] 8097baa: f06f 0003 mvn.w r0, #3 8097bae: eeb0 0a67 vmov.f32 s0, s15 8097bb2: f7d0 faf5 bl 80681a0 8097bb6: 4603 mov r3, r0 8097bb8: 461a mov r2, r3 8097bba: 2191 movs r1, #145 ; 0x91 8097bbc: 207d movs r0, #125 ; 0x7d 8097bbe: f7be f8cd bl 8055d5c LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8097bc2: 4b4b ldr r3, [pc, #300] ; (8097cf0 ) 8097bc4: 781b ldrb r3, [r3, #0] 8097bc6: b2db uxtb r3, r3 8097bc8: 3b35 subs r3, #53 ; 0x35 8097bca: 4a4a ldr r2, [pc, #296] ; (8097cf4 ) 8097bcc: 009b lsls r3, r3, #2 8097bce: 4413 add r3, r2 8097bd0: edd3 7a00 vldr s15, [r3] 8097bd4: f06f 0007 mvn.w r0, #7 8097bd8: eeb0 0a67 vmov.f32 s0, s15 8097bdc: f7d0 fae0 bl 80681a0 8097be0: 4603 mov r3, r0 8097be2: 461a mov r2, r3 8097be4: 21aa movs r1, #170 ; 0xaa 8097be6: 207d movs r0, #125 ; 0x7d 8097be8: f7be f8b8 bl 8055d5c LCD_DisplayString(80, 40, "V"); 8097bec: 4a42 ldr r2, [pc, #264] ; (8097cf8 ) 8097bee: 2128 movs r1, #40 ; 0x28 8097bf0: 2050 movs r0, #80 ; 0x50 8097bf2: f7be f8b3 bl 8055d5c LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8097bf6: 4b41 ldr r3, [pc, #260] ; (8097cfc ) 8097bf8: edd3 7a00 vldr s15, [r3] 8097bfc: f06f 0002 mvn.w r0, #2 8097c00: eeb0 0a67 vmov.f32 s0, s15 8097c04: f7d0 facc bl 80681a0 8097c08: 4603 mov r3, r0 8097c0a: 461a mov r2, r3 8097c0c: 2128 movs r1, #40 ; 0x28 8097c0e: 204b movs r0, #75 ; 0x4b 8097c10: f7be f8d4 bl 8055dbc switch(menupos) 8097c14: 4b3a ldr r3, [pc, #232] ; (8097d00 ) 8097c16: 781b ldrb r3, [r3, #0] 8097c18: b2db uxtb r3, r3 8097c1a: 2b01 cmp r3, #1 8097c1c: d02b beq.n 8097c76 8097c1e: 2b02 cmp r3, #2 8097c20: d07a beq.n 8097d18 8097c22: 2b00 cmp r3, #0 8097c24: d001 beq.n 8097c2a else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Âûõîä"); break; } break; 8097c26: f001 bb01 b.w 809922c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097c2a: 4926 ldr r1, [pc, #152] ; (8097cc4 ) 8097c2c: f04f 30ff mov.w r0, #4294967295 8097c30: f7bd faec bl 805520c LCD_DisplayStringC(50, 210, "Âûõîä"); 8097c34: 4a33 ldr r2, [pc, #204] ; (8097d04 ) 8097c36: 21d2 movs r1, #210 ; 0xd2 8097c38: 2032 movs r0, #50 ; 0x32 8097c3a: f7be f8a7 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097c3e: 4923 ldr r1, [pc, #140] ; (8097ccc ) 8097c40: f04f 30ff mov.w r0, #4294967295 8097c44: f7bd fae2 bl 805520c if(measuring) 8097c48: 4b2f ldr r3, [pc, #188] ; (8097d08 ) 8097c4a: 781b ldrb r3, [r3, #0] 8097c4c: b2db uxtb r3, r3 8097c4e: 2b00 cmp r3, #0 8097c50: d005 beq.n 8097c5e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097c52: 4a2e ldr r2, [pc, #184] ; (8097d0c ) 8097c54: 21d2 movs r1, #210 ; 0xd2 8097c56: 20a5 movs r0, #165 ; 0xa5 8097c58: f7be f898 bl 8055d8c 8097c5c: e004 b.n 8097c68 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097c5e: 4a2c ldr r2, [pc, #176] ; (8097d10 ) 8097c60: 21d2 movs r1, #210 ; 0xd2 8097c62: 20a5 movs r0, #165 ; 0xa5 8097c64: f7be f892 bl 8055d8c LCD_DisplayStringC(270, 210, "Äàëåå"); 8097c68: 4a2a ldr r2, [pc, #168] ; (8097d14 ) 8097c6a: 21d2 movs r1, #210 ; 0xd2 8097c6c: f44f 7087 mov.w r0, #270 ; 0x10e 8097c70: f7be f88c bl 8055d8c break; 8097c74: e076 b.n 8097d64 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097c76: 4913 ldr r1, [pc, #76] ; (8097cc4 ) 8097c78: f04f 30ff mov.w r0, #4294967295 8097c7c: f7bd fac6 bl 805520c if(measuring) 8097c80: 4b21 ldr r3, [pc, #132] ; (8097d08 ) 8097c82: 781b ldrb r3, [r3, #0] 8097c84: b2db uxtb r3, r3 8097c86: 2b00 cmp r3, #0 8097c88: d005 beq.n 8097c96 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097c8a: 4a20 ldr r2, [pc, #128] ; (8097d0c ) 8097c8c: 21d2 movs r1, #210 ; 0xd2 8097c8e: 20a5 movs r0, #165 ; 0xa5 8097c90: f7be f87c bl 8055d8c 8097c94: e004 b.n 8097ca0 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097c96: 4a1e ldr r2, [pc, #120] ; (8097d10 ) 8097c98: 21d2 movs r1, #210 ; 0xd2 8097c9a: 20a5 movs r0, #165 ; 0xa5 8097c9c: f7be f876 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097ca0: 490a ldr r1, [pc, #40] ; (8097ccc ) 8097ca2: f04f 30ff mov.w r0, #4294967295 8097ca6: f7bd fab1 bl 805520c LCD_DisplayStringC(50, 210, "Âûõîä"); 8097caa: 4a16 ldr r2, [pc, #88] ; (8097d04 ) 8097cac: 21d2 movs r1, #210 ; 0xd2 8097cae: 2032 movs r0, #50 ; 0x32 8097cb0: f7be f86c bl 8055d8c LCD_DisplayStringC(270, 210, "Äàëåå"); 8097cb4: 4a17 ldr r2, [pc, #92] ; (8097d14 ) 8097cb6: 21d2 movs r1, #210 ; 0xd2 8097cb8: f44f 7087 mov.w r0, #270 ; 0x10e 8097cbc: f7be f866 bl 8055d8c break; 8097cc0: e050 b.n 8097d64 8097cc2: bf00 nop 8097cc4: ff606060 .word 0xff606060 8097cc8: 20026d64 .word 0x20026d64 8097ccc: ff0a0f1f .word 0xff0a0f1f 8097cd0: 080d6ef0 .word 0x080d6ef0 8097cd4: 20020038 .word 0x20020038 8097cd8: 080d6f20 .word 0x080d6f20 8097cdc: 080d6f2c .word 0x080d6f2c 8097ce0: 080d6f3c .word 0x080d6f3c 8097ce4: 080d6f54 .word 0x080d6f54 8097ce8: 080d6f5c .word 0x080d6f5c 8097cec: 20021590 .word 0x20021590 8097cf0: 20020fc5 .word 0x20020fc5 8097cf4: 200261f4 .word 0x200261f4 8097cf8: 080d5110 .word 0x080d5110 8097cfc: 20020000 .word 0x20020000 8097d00: 20020070 .word 0x20020070 8097d04: 080d5814 .word 0x080d5814 8097d08: 20020dcf .word 0x20020dcf 8097d0c: 080d6f64 .word 0x080d6f64 8097d10: 080d6f70 .word 0x080d6f70 8097d14: 080d5804 .word 0x080d5804 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097d18: 49c9 ldr r1, [pc, #804] ; (8098040 ) 8097d1a: f04f 30ff mov.w r0, #4294967295 8097d1e: f7bd fa75 bl 805520c LCD_DisplayStringC(270, 210, "Äàëåå"); 8097d22: 4ac8 ldr r2, [pc, #800] ; (8098044 ) 8097d24: 21d2 movs r1, #210 ; 0xd2 8097d26: f44f 7087 mov.w r0, #270 ; 0x10e 8097d2a: f7be f82f bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097d2e: 49c6 ldr r1, [pc, #792] ; (8098048 ) 8097d30: f04f 30ff mov.w r0, #4294967295 8097d34: f7bd fa6a bl 805520c if(measuring) 8097d38: 4bc4 ldr r3, [pc, #784] ; (809804c ) 8097d3a: 781b ldrb r3, [r3, #0] 8097d3c: b2db uxtb r3, r3 8097d3e: 2b00 cmp r3, #0 8097d40: d005 beq.n 8097d4e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097d42: 4ac3 ldr r2, [pc, #780] ; (8098050 ) 8097d44: 21d2 movs r1, #210 ; 0xd2 8097d46: 20a5 movs r0, #165 ; 0xa5 8097d48: f7be f820 bl 8055d8c 8097d4c: e004 b.n 8097d58 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097d4e: 4ac1 ldr r2, [pc, #772] ; (8098054 ) 8097d50: 21d2 movs r1, #210 ; 0xd2 8097d52: 20a5 movs r0, #165 ; 0xa5 8097d54: f7be f81a bl 8055d8c LCD_DisplayStringC(50, 210, "Âûõîä"); 8097d58: 4abf ldr r2, [pc, #764] ; (8098058 ) 8097d5a: 21d2 movs r1, #210 ; 0xd2 8097d5c: 2032 movs r0, #50 ; 0x32 8097d5e: f7be f815 bl 8055d8c break; 8097d62: bf00 nop break; 8097d64: f001 ba62 b.w 809922c case CALIBR_1: /* Êàëèáðîâêà Êcorr[5] (ÇÀÐßÄ 1, Êóñ = 2) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8097d68: 49b7 ldr r1, [pc, #732] ; (8098048 ) 8097d6a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8097d6e: f7bd fa4d bl 805520c LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8097d72: 4aba ldr r2, [pc, #744] ; (809805c ) 8097d74: 2128 movs r1, #40 ; 0x28 8097d76: 20a5 movs r0, #165 ; 0xa5 8097d78: f7be f808 bl 8055d8c BSP_LCD_DrawLine(2, 59, 317, 59); 8097d7c: 233b movs r3, #59 ; 0x3b 8097d7e: f240 123d movw r2, #317 ; 0x13d 8097d82: 213b movs r1, #59 ; 0x3b 8097d84: 2002 movs r0, #2 8097d86: f7bd fc7b bl 8055680 BSP_LCD_SetFont(&Font12); 8097d8a: 48b5 ldr r0, [pc, #724] ; (8098060 ) 8097d8c: f7bd fa7a bl 8055284 BSP_LCD_DisplayStringAt(310, 36, "[3 / 13]", RIGHT_MODE); 8097d90: 2302 movs r3, #2 8097d92: 4ab4 ldr r2, [pc, #720] ; (8098064 ) 8097d94: 2124 movs r1, #36 ; 0x24 8097d96: f44f 709b mov.w r0, #310 ; 0x136 8097d9a: f7bd fafd bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097d9e: 49aa ldr r1, [pc, #680] ; (8098048 ) 8097da0: f04f 30ff mov.w r0, #4294967295 8097da4: f7bd fa32 bl 805520c LCD_DisplayString(5, 70, "[ICP 2] [Ky 1]"); 8097da8: 4aaf ldr r2, [pc, #700] ; (8098068 ) 8097daa: 2146 movs r1, #70 ; 0x46 8097dac: 2005 movs r0, #5 8097dae: f7bd ffd5 bl 8055d5c LCD_DisplayString(5, 95, "Input:RMS=512ìÂ,1êÃö"); 8097db2: 4aae ldr r2, [pc, #696] ; (809806c ) 8097db4: 215f movs r1, #95 ; 0x5f 8097db6: 2005 movs r0, #5 8097db8: f7bd ffd0 bl 8055d5c LCD_DisplayString(5, 145, "Output="); 8097dbc: 4aac ldr r2, [pc, #688] ; (8098070 ) 8097dbe: 2191 movs r1, #145 ; 0x91 8097dc0: 2005 movs r0, #5 8097dc2: f7bd ffcb bl 8055d5c LCD_DisplayString(5, 170, "Kcorr="); 8097dc6: 4aab ldr r2, [pc, #684] ; (8098074 ) 8097dc8: 21aa movs r1, #170 ; 0xaa 8097dca: 2005 movs r0, #5 8097dcc: f7bd ffc6 bl 8055d5c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8097dd0: 499d ldr r1, [pc, #628] ; (8098048 ) 8097dd2: f06f 00ff mvn.w r0, #255 ; 0xff 8097dd6: f7bd fa19 bl 805520c LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8097dda: 4ba7 ldr r3, [pc, #668] ; (8098078 ) 8097ddc: edd3 7a00 vldr s15, [r3] 8097de0: f06f 0003 mvn.w r0, #3 8097de4: eeb0 0a67 vmov.f32 s0, s15 8097de8: f7d0 f9da bl 80681a0 8097dec: 4603 mov r3, r0 8097dee: 461a mov r2, r3 8097df0: 2191 movs r1, #145 ; 0x91 8097df2: 207d movs r0, #125 ; 0x7d 8097df4: f7bd ffb2 bl 8055d5c LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8097df8: 4ba0 ldr r3, [pc, #640] ; (809807c ) 8097dfa: 781b ldrb r3, [r3, #0] 8097dfc: b2db uxtb r3, r3 8097dfe: 3b35 subs r3, #53 ; 0x35 8097e00: 4a9f ldr r2, [pc, #636] ; (8098080 ) 8097e02: 009b lsls r3, r3, #2 8097e04: 4413 add r3, r2 8097e06: edd3 7a00 vldr s15, [r3] 8097e0a: f06f 0007 mvn.w r0, #7 8097e0e: eeb0 0a67 vmov.f32 s0, s15 8097e12: f7d0 f9c5 bl 80681a0 8097e16: 4603 mov r3, r0 8097e18: 461a mov r2, r3 8097e1a: 21aa movs r1, #170 ; 0xaa 8097e1c: 207d movs r0, #125 ; 0x7d 8097e1e: f7bd ff9d bl 8055d5c LCD_DisplayString(80, 40, "V"); 8097e22: 4a98 ldr r2, [pc, #608] ; (8098084 ) 8097e24: 2128 movs r1, #40 ; 0x28 8097e26: 2050 movs r0, #80 ; 0x50 8097e28: f7bd ff98 bl 8055d5c LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8097e2c: 4b96 ldr r3, [pc, #600] ; (8098088 ) 8097e2e: edd3 7a00 vldr s15, [r3] 8097e32: f06f 0002 mvn.w r0, #2 8097e36: eeb0 0a67 vmov.f32 s0, s15 8097e3a: f7d0 f9b1 bl 80681a0 8097e3e: 4603 mov r3, r0 8097e40: 461a mov r2, r3 8097e42: 2128 movs r1, #40 ; 0x28 8097e44: 204b movs r0, #75 ; 0x4b 8097e46: f7bd ffb9 bl 8055dbc switch(menupos) 8097e4a: 4b90 ldr r3, [pc, #576] ; (809808c ) 8097e4c: 781b ldrb r3, [r3, #0] 8097e4e: b2db uxtb r3, r3 8097e50: 2b01 cmp r3, #1 8097e52: d02b beq.n 8097eac 8097e54: 2b02 cmp r3, #2 8097e56: d04f beq.n 8097ef8 8097e58: 2b00 cmp r3, #0 8097e5a: d001 beq.n 8097e60 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8097e5c: f001 b9e6 b.w 809922c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097e60: 4977 ldr r1, [pc, #476] ; (8098040 ) 8097e62: f04f 30ff mov.w r0, #4294967295 8097e66: f7bd f9d1 bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 8097e6a: 4a89 ldr r2, [pc, #548] ; (8098090 ) 8097e6c: 21d2 movs r1, #210 ; 0xd2 8097e6e: 2032 movs r0, #50 ; 0x32 8097e70: f7bd ff8c bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097e74: 4974 ldr r1, [pc, #464] ; (8098048 ) 8097e76: f04f 30ff mov.w r0, #4294967295 8097e7a: f7bd f9c7 bl 805520c if(measuring) 8097e7e: 4b73 ldr r3, [pc, #460] ; (809804c ) 8097e80: 781b ldrb r3, [r3, #0] 8097e82: b2db uxtb r3, r3 8097e84: 2b00 cmp r3, #0 8097e86: d005 beq.n 8097e94 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097e88: 4a71 ldr r2, [pc, #452] ; (8098050 ) 8097e8a: 21d2 movs r1, #210 ; 0xd2 8097e8c: 20a5 movs r0, #165 ; 0xa5 8097e8e: f7bd ff7d bl 8055d8c 8097e92: e004 b.n 8097e9e else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097e94: 4a6f ldr r2, [pc, #444] ; (8098054 ) 8097e96: 21d2 movs r1, #210 ; 0xd2 8097e98: 20a5 movs r0, #165 ; 0xa5 8097e9a: f7bd ff77 bl 8055d8c LCD_DisplayStringC(270, 210, "Äàëåå"); 8097e9e: 4a69 ldr r2, [pc, #420] ; (8098044 ) 8097ea0: 21d2 movs r1, #210 ; 0xd2 8097ea2: f44f 7087 mov.w r0, #270 ; 0x10e 8097ea6: f7bd ff71 bl 8055d8c break; 8097eaa: e04b b.n 8097f44 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097eac: 4964 ldr r1, [pc, #400] ; (8098040 ) 8097eae: f04f 30ff mov.w r0, #4294967295 8097eb2: f7bd f9ab bl 805520c if(measuring) 8097eb6: 4b65 ldr r3, [pc, #404] ; (809804c ) 8097eb8: 781b ldrb r3, [r3, #0] 8097eba: b2db uxtb r3, r3 8097ebc: 2b00 cmp r3, #0 8097ebe: d005 beq.n 8097ecc LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097ec0: 4a63 ldr r2, [pc, #396] ; (8098050 ) 8097ec2: 21d2 movs r1, #210 ; 0xd2 8097ec4: 20a5 movs r0, #165 ; 0xa5 8097ec6: f7bd ff61 bl 8055d8c 8097eca: e004 b.n 8097ed6 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097ecc: 4a61 ldr r2, [pc, #388] ; (8098054 ) 8097ece: 21d2 movs r1, #210 ; 0xd2 8097ed0: 20a5 movs r0, #165 ; 0xa5 8097ed2: f7bd ff5b bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097ed6: 495c ldr r1, [pc, #368] ; (8098048 ) 8097ed8: f04f 30ff mov.w r0, #4294967295 8097edc: f7bd f996 bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 8097ee0: 4a6b ldr r2, [pc, #428] ; (8098090 ) 8097ee2: 21d2 movs r1, #210 ; 0xd2 8097ee4: 2032 movs r0, #50 ; 0x32 8097ee6: f7bd ff51 bl 8055d8c LCD_DisplayStringC(270, 210, "Äàëåå"); 8097eea: 4a56 ldr r2, [pc, #344] ; (8098044 ) 8097eec: 21d2 movs r1, #210 ; 0xd2 8097eee: f44f 7087 mov.w r0, #270 ; 0x10e 8097ef2: f7bd ff4b bl 8055d8c break; 8097ef6: e025 b.n 8097f44 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097ef8: 4951 ldr r1, [pc, #324] ; (8098040 ) 8097efa: f04f 30ff mov.w r0, #4294967295 8097efe: f7bd f985 bl 805520c LCD_DisplayStringC(270, 210, "Äàëåå"); 8097f02: 4a50 ldr r2, [pc, #320] ; (8098044 ) 8097f04: 21d2 movs r1, #210 ; 0xd2 8097f06: f44f 7087 mov.w r0, #270 ; 0x10e 8097f0a: f7bd ff3f bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097f0e: 494e ldr r1, [pc, #312] ; (8098048 ) 8097f10: f04f 30ff mov.w r0, #4294967295 8097f14: f7bd f97a bl 805520c if(measuring) 8097f18: 4b4c ldr r3, [pc, #304] ; (809804c ) 8097f1a: 781b ldrb r3, [r3, #0] 8097f1c: b2db uxtb r3, r3 8097f1e: 2b00 cmp r3, #0 8097f20: d005 beq.n 8097f2e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097f22: 4a4b ldr r2, [pc, #300] ; (8098050 ) 8097f24: 21d2 movs r1, #210 ; 0xd2 8097f26: 20a5 movs r0, #165 ; 0xa5 8097f28: f7bd ff30 bl 8055d8c 8097f2c: e004 b.n 8097f38 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097f2e: 4a49 ldr r2, [pc, #292] ; (8098054 ) 8097f30: 21d2 movs r1, #210 ; 0xd2 8097f32: 20a5 movs r0, #165 ; 0xa5 8097f34: f7bd ff2a bl 8055d8c LCD_DisplayStringC(50, 210, "Íàçàä"); 8097f38: 4a55 ldr r2, [pc, #340] ; (8098090 ) 8097f3a: 21d2 movs r1, #210 ; 0xd2 8097f3c: 2032 movs r0, #50 ; 0x32 8097f3e: f7bd ff25 bl 8055d8c break; 8097f42: bf00 nop break; 8097f44: f001 b972 b.w 809922c case CALIBR_2: /* Êàëèáðîâêà Êcorr[6] (ÇÀÐßÄ 1, Êóñ = 5) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8097f48: 493f ldr r1, [pc, #252] ; (8098048 ) 8097f4a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8097f4e: f7bd f95d bl 805520c LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8097f52: 4a42 ldr r2, [pc, #264] ; (809805c ) 8097f54: 2128 movs r1, #40 ; 0x28 8097f56: 20a5 movs r0, #165 ; 0xa5 8097f58: f7bd ff18 bl 8055d8c BSP_LCD_DrawLine(2, 59, 317, 59); 8097f5c: 233b movs r3, #59 ; 0x3b 8097f5e: f240 123d movw r2, #317 ; 0x13d 8097f62: 213b movs r1, #59 ; 0x3b 8097f64: 2002 movs r0, #2 8097f66: f7bd fb8b bl 8055680 BSP_LCD_SetFont(&Font12); 8097f6a: 483d ldr r0, [pc, #244] ; (8098060 ) 8097f6c: f7bd f98a bl 8055284 BSP_LCD_DisplayStringAt(310, 36, "[4 / 13]", RIGHT_MODE); 8097f70: 2302 movs r3, #2 8097f72: 4a48 ldr r2, [pc, #288] ; (8098094 ) 8097f74: 2124 movs r1, #36 ; 0x24 8097f76: f44f 709b mov.w r0, #310 ; 0x136 8097f7a: f7bd fa0d bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097f7e: 4932 ldr r1, [pc, #200] ; (8098048 ) 8097f80: f04f 30ff mov.w r0, #4294967295 8097f84: f7bd f942 bl 805520c LCD_DisplayString(5, 70, "[ICP 4] [Ky 1]"); 8097f88: 4a43 ldr r2, [pc, #268] ; (8098098 ) 8097f8a: 2146 movs r1, #70 ; 0x46 8097f8c: 2005 movs r0, #5 8097f8e: f7bd fee5 bl 8055d5c LCD_DisplayString(5, 95, "Input:RMS=256ìÂ,1êÃö"); 8097f92: 4a42 ldr r2, [pc, #264] ; (809809c ) 8097f94: 215f movs r1, #95 ; 0x5f 8097f96: 2005 movs r0, #5 8097f98: f7bd fee0 bl 8055d5c LCD_DisplayString(5, 145, "Output="); 8097f9c: 4a34 ldr r2, [pc, #208] ; (8098070 ) 8097f9e: 2191 movs r1, #145 ; 0x91 8097fa0: 2005 movs r0, #5 8097fa2: f7bd fedb bl 8055d5c LCD_DisplayString(5, 170, "Kcorr="); 8097fa6: 4a33 ldr r2, [pc, #204] ; (8098074 ) 8097fa8: 21aa movs r1, #170 ; 0xaa 8097faa: 2005 movs r0, #5 8097fac: f7bd fed6 bl 8055d5c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8097fb0: 4925 ldr r1, [pc, #148] ; (8098048 ) 8097fb2: f06f 00ff mvn.w r0, #255 ; 0xff 8097fb6: f7bd f929 bl 805520c LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8097fba: 4b2f ldr r3, [pc, #188] ; (8098078 ) 8097fbc: edd3 7a00 vldr s15, [r3] 8097fc0: f06f 0003 mvn.w r0, #3 8097fc4: eeb0 0a67 vmov.f32 s0, s15 8097fc8: f7d0 f8ea bl 80681a0 8097fcc: 4603 mov r3, r0 8097fce: 461a mov r2, r3 8097fd0: 2191 movs r1, #145 ; 0x91 8097fd2: 207d movs r0, #125 ; 0x7d 8097fd4: f7bd fec2 bl 8055d5c LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8097fd8: 4b28 ldr r3, [pc, #160] ; (809807c ) 8097fda: 781b ldrb r3, [r3, #0] 8097fdc: b2db uxtb r3, r3 8097fde: 3b35 subs r3, #53 ; 0x35 8097fe0: 4a27 ldr r2, [pc, #156] ; (8098080 ) 8097fe2: 009b lsls r3, r3, #2 8097fe4: 4413 add r3, r2 8097fe6: edd3 7a00 vldr s15, [r3] 8097fea: f06f 0007 mvn.w r0, #7 8097fee: eeb0 0a67 vmov.f32 s0, s15 8097ff2: f7d0 f8d5 bl 80681a0 8097ff6: 4603 mov r3, r0 8097ff8: 461a mov r2, r3 8097ffa: 21aa movs r1, #170 ; 0xaa 8097ffc: 207d movs r0, #125 ; 0x7d 8097ffe: f7bd fead bl 8055d5c LCD_DisplayString(80, 40, "V"); 8098002: 4a20 ldr r2, [pc, #128] ; (8098084 ) 8098004: 2128 movs r1, #40 ; 0x28 8098006: 2050 movs r0, #80 ; 0x50 8098008: f7bd fea8 bl 8055d5c LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 809800c: 4b1e ldr r3, [pc, #120] ; (8098088 ) 809800e: edd3 7a00 vldr s15, [r3] 8098012: f06f 0002 mvn.w r0, #2 8098016: eeb0 0a67 vmov.f32 s0, s15 809801a: f7d0 f8c1 bl 80681a0 809801e: 4603 mov r3, r0 8098020: 461a mov r2, r3 8098022: 2128 movs r1, #40 ; 0x28 8098024: 204b movs r0, #75 ; 0x4b 8098026: f7bd fec9 bl 8055dbc switch(menupos) 809802a: 4b18 ldr r3, [pc, #96] ; (809808c ) 809802c: 781b ldrb r3, [r3, #0] 809802e: b2db uxtb r3, r3 8098030: 2b01 cmp r3, #1 8098032: d05b beq.n 80980ec 8098034: 2b02 cmp r3, #2 8098036: d07f beq.n 8098138 8098038: 2b00 cmp r3, #0 809803a: d031 beq.n 80980a0 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 809803c: f001 b8f6 b.w 809922c 8098040: ff606060 .word 0xff606060 8098044: 080d5804 .word 0x080d5804 8098048: ff0a0f1f .word 0xff0a0f1f 809804c: 20020dcf .word 0x20020dcf 8098050: 080d6f64 .word 0x080d6f64 8098054: 080d6f70 .word 0x080d6f70 8098058: 080d5814 .word 0x080d5814 809805c: 080d6ef0 .word 0x080d6ef0 8098060: 20020038 .word 0x20020038 8098064: 080d6f7c .word 0x080d6f7c 8098068: 080d6f88 .word 0x080d6f88 809806c: 080d6f98 .word 0x080d6f98 8098070: 080d6f54 .word 0x080d6f54 8098074: 080d6f5c .word 0x080d6f5c 8098078: 20021590 .word 0x20021590 809807c: 20020fc5 .word 0x20020fc5 8098080: 200261f4 .word 0x200261f4 8098084: 080d5110 .word 0x080d5110 8098088: 20020000 .word 0x20020000 809808c: 20020070 .word 0x20020070 8098090: 080d6fb0 .word 0x080d6fb0 8098094: 080d6fb8 .word 0x080d6fb8 8098098: 080d6fc4 .word 0x080d6fc4 809809c: 080d6fd4 .word 0x080d6fd4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80980a0: 49b1 ldr r1, [pc, #708] ; (8098368 ) 80980a2: f04f 30ff mov.w r0, #4294967295 80980a6: f7bd f8b1 bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 80980aa: 4ab0 ldr r2, [pc, #704] ; (809836c ) 80980ac: 21d2 movs r1, #210 ; 0xd2 80980ae: 2032 movs r0, #50 ; 0x32 80980b0: f7bd fe6c bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80980b4: 49ae ldr r1, [pc, #696] ; (8098370 ) 80980b6: f04f 30ff mov.w r0, #4294967295 80980ba: f7bd f8a7 bl 805520c if(measuring) 80980be: 4bad ldr r3, [pc, #692] ; (8098374 ) 80980c0: 781b ldrb r3, [r3, #0] 80980c2: b2db uxtb r3, r3 80980c4: 2b00 cmp r3, #0 80980c6: d005 beq.n 80980d4 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80980c8: 4aab ldr r2, [pc, #684] ; (8098378 ) 80980ca: 21d2 movs r1, #210 ; 0xd2 80980cc: 20a5 movs r0, #165 ; 0xa5 80980ce: f7bd fe5d bl 8055d8c 80980d2: e004 b.n 80980de else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80980d4: 4aa9 ldr r2, [pc, #676] ; (809837c ) 80980d6: 21d2 movs r1, #210 ; 0xd2 80980d8: 20a5 movs r0, #165 ; 0xa5 80980da: f7bd fe57 bl 8055d8c LCD_DisplayStringC(270, 210, "Äàëåå"); 80980de: 4aa8 ldr r2, [pc, #672] ; (8098380 ) 80980e0: 21d2 movs r1, #210 ; 0xd2 80980e2: f44f 7087 mov.w r0, #270 ; 0x10e 80980e6: f7bd fe51 bl 8055d8c break; 80980ea: e04b b.n 8098184 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80980ec: 499e ldr r1, [pc, #632] ; (8098368 ) 80980ee: f04f 30ff mov.w r0, #4294967295 80980f2: f7bd f88b bl 805520c if(measuring) 80980f6: 4b9f ldr r3, [pc, #636] ; (8098374 ) 80980f8: 781b ldrb r3, [r3, #0] 80980fa: b2db uxtb r3, r3 80980fc: 2b00 cmp r3, #0 80980fe: d005 beq.n 809810c LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8098100: 4a9d ldr r2, [pc, #628] ; (8098378 ) 8098102: 21d2 movs r1, #210 ; 0xd2 8098104: 20a5 movs r0, #165 ; 0xa5 8098106: f7bd fe41 bl 8055d8c 809810a: e004 b.n 8098116 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809810c: 4a9b ldr r2, [pc, #620] ; (809837c ) 809810e: 21d2 movs r1, #210 ; 0xd2 8098110: 20a5 movs r0, #165 ; 0xa5 8098112: f7bd fe3b bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098116: 4996 ldr r1, [pc, #600] ; (8098370 ) 8098118: f04f 30ff mov.w r0, #4294967295 809811c: f7bd f876 bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 8098120: 4a92 ldr r2, [pc, #584] ; (809836c ) 8098122: 21d2 movs r1, #210 ; 0xd2 8098124: 2032 movs r0, #50 ; 0x32 8098126: f7bd fe31 bl 8055d8c LCD_DisplayStringC(270, 210, "Äàëåå"); 809812a: 4a95 ldr r2, [pc, #596] ; (8098380 ) 809812c: 21d2 movs r1, #210 ; 0xd2 809812e: f44f 7087 mov.w r0, #270 ; 0x10e 8098132: f7bd fe2b bl 8055d8c break; 8098136: e025 b.n 8098184 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098138: 498b ldr r1, [pc, #556] ; (8098368 ) 809813a: f04f 30ff mov.w r0, #4294967295 809813e: f7bd f865 bl 805520c LCD_DisplayStringC(270, 210, "Äàëåå"); 8098142: 4a8f ldr r2, [pc, #572] ; (8098380 ) 8098144: 21d2 movs r1, #210 ; 0xd2 8098146: f44f 7087 mov.w r0, #270 ; 0x10e 809814a: f7bd fe1f bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809814e: 4988 ldr r1, [pc, #544] ; (8098370 ) 8098150: f04f 30ff mov.w r0, #4294967295 8098154: f7bd f85a bl 805520c if(measuring) 8098158: 4b86 ldr r3, [pc, #536] ; (8098374 ) 809815a: 781b ldrb r3, [r3, #0] 809815c: b2db uxtb r3, r3 809815e: 2b00 cmp r3, #0 8098160: d005 beq.n 809816e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8098162: 4a85 ldr r2, [pc, #532] ; (8098378 ) 8098164: 21d2 movs r1, #210 ; 0xd2 8098166: 20a5 movs r0, #165 ; 0xa5 8098168: f7bd fe10 bl 8055d8c 809816c: e004 b.n 8098178 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809816e: 4a83 ldr r2, [pc, #524] ; (809837c ) 8098170: 21d2 movs r1, #210 ; 0xd2 8098172: 20a5 movs r0, #165 ; 0xa5 8098174: f7bd fe0a bl 8055d8c LCD_DisplayStringC(50, 210, "Íàçàä"); 8098178: 4a7c ldr r2, [pc, #496] ; (809836c ) 809817a: 21d2 movs r1, #210 ; 0xd2 809817c: 2032 movs r0, #50 ; 0x32 809817e: f7bd fe05 bl 8055d8c break; 8098182: bf00 nop break; 8098184: f001 b852 b.w 809922c case CALIBR_3: /* Êàëèáðîâêà Êcorr[7] (ÇÀÐßÄ 1, Êóñ = 10) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8098188: 4979 ldr r1, [pc, #484] ; (8098370 ) 809818a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809818e: f7bd f83d bl 805520c LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8098192: 4a7c ldr r2, [pc, #496] ; (8098384 ) 8098194: 2128 movs r1, #40 ; 0x28 8098196: 20a5 movs r0, #165 ; 0xa5 8098198: f7bd fdf8 bl 8055d8c BSP_LCD_DrawLine(2, 59, 317, 59); 809819c: 233b movs r3, #59 ; 0x3b 809819e: f240 123d movw r2, #317 ; 0x13d 80981a2: 213b movs r1, #59 ; 0x3b 80981a4: 2002 movs r0, #2 80981a6: f7bd fa6b bl 8055680 BSP_LCD_SetFont(&Font12); 80981aa: 4877 ldr r0, [pc, #476] ; (8098388 ) 80981ac: f7bd f86a bl 8055284 BSP_LCD_DisplayStringAt(310, 36, "[5 / 13]", RIGHT_MODE); 80981b0: 2302 movs r3, #2 80981b2: 4a76 ldr r2, [pc, #472] ; (809838c ) 80981b4: 2124 movs r1, #36 ; 0x24 80981b6: f44f 709b mov.w r0, #310 ; 0x136 80981ba: f7bd f8ed bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80981be: 496c ldr r1, [pc, #432] ; (8098370 ) 80981c0: f04f 30ff mov.w r0, #4294967295 80981c4: f7bd f822 bl 805520c LCD_DisplayString(5, 70, "[ICP 8] [Ky 1]"); 80981c8: 4a71 ldr r2, [pc, #452] ; (8098390 ) 80981ca: 2146 movs r1, #70 ; 0x46 80981cc: 2005 movs r0, #5 80981ce: f7bd fdc5 bl 8055d5c LCD_DisplayString(5, 95, "Input:RMS=128ìÂ,1êÃö"); 80981d2: 4a70 ldr r2, [pc, #448] ; (8098394 ) 80981d4: 215f movs r1, #95 ; 0x5f 80981d6: 2005 movs r0, #5 80981d8: f7bd fdc0 bl 8055d5c LCD_DisplayString(5, 145, "Output="); 80981dc: 4a6e ldr r2, [pc, #440] ; (8098398 ) 80981de: 2191 movs r1, #145 ; 0x91 80981e0: 2005 movs r0, #5 80981e2: f7bd fdbb bl 8055d5c LCD_DisplayString(5, 170, "Kcorr="); 80981e6: 4a6d ldr r2, [pc, #436] ; (809839c ) 80981e8: 21aa movs r1, #170 ; 0xaa 80981ea: 2005 movs r0, #5 80981ec: f7bd fdb6 bl 8055d5c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80981f0: 495f ldr r1, [pc, #380] ; (8098370 ) 80981f2: f06f 00ff mvn.w r0, #255 ; 0xff 80981f6: f7bd f809 bl 805520c LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 80981fa: 4b69 ldr r3, [pc, #420] ; (80983a0 ) 80981fc: edd3 7a00 vldr s15, [r3] 8098200: f06f 0003 mvn.w r0, #3 8098204: eeb0 0a67 vmov.f32 s0, s15 8098208: f7cf ffca bl 80681a0 809820c: 4603 mov r3, r0 809820e: 461a mov r2, r3 8098210: 2191 movs r1, #145 ; 0x91 8098212: 207d movs r0, #125 ; 0x7d 8098214: f7bd fda2 bl 8055d5c LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8098218: 4b62 ldr r3, [pc, #392] ; (80983a4 ) 809821a: 781b ldrb r3, [r3, #0] 809821c: b2db uxtb r3, r3 809821e: 3b35 subs r3, #53 ; 0x35 8098220: 4a61 ldr r2, [pc, #388] ; (80983a8 ) 8098222: 009b lsls r3, r3, #2 8098224: 4413 add r3, r2 8098226: edd3 7a00 vldr s15, [r3] 809822a: f06f 0007 mvn.w r0, #7 809822e: eeb0 0a67 vmov.f32 s0, s15 8098232: f7cf ffb5 bl 80681a0 8098236: 4603 mov r3, r0 8098238: 461a mov r2, r3 809823a: 21aa movs r1, #170 ; 0xaa 809823c: 207d movs r0, #125 ; 0x7d 809823e: f7bd fd8d bl 8055d5c LCD_DisplayString(80, 40, "V"); 8098242: 4a5a ldr r2, [pc, #360] ; (80983ac ) 8098244: 2128 movs r1, #40 ; 0x28 8098246: 2050 movs r0, #80 ; 0x50 8098248: f7bd fd88 bl 8055d5c LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 809824c: 4b58 ldr r3, [pc, #352] ; (80983b0 ) 809824e: edd3 7a00 vldr s15, [r3] 8098252: f06f 0002 mvn.w r0, #2 8098256: eeb0 0a67 vmov.f32 s0, s15 809825a: f7cf ffa1 bl 80681a0 809825e: 4603 mov r3, r0 8098260: 461a mov r2, r3 8098262: 2128 movs r1, #40 ; 0x28 8098264: 204b movs r0, #75 ; 0x4b 8098266: f7bd fda9 bl 8055dbc switch(menupos) 809826a: 4b52 ldr r3, [pc, #328] ; (80983b4 ) 809826c: 781b ldrb r3, [r3, #0] 809826e: b2db uxtb r3, r3 8098270: 2b01 cmp r3, #1 8098272: d02b beq.n 80982cc 8098274: 2b02 cmp r3, #2 8098276: d04f beq.n 8098318 8098278: 2b00 cmp r3, #0 809827a: d001 beq.n 8098280 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 809827c: f000 bfd6 b.w 809922c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098280: 4939 ldr r1, [pc, #228] ; (8098368 ) 8098282: f04f 30ff mov.w r0, #4294967295 8098286: f7bc ffc1 bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 809828a: 4a38 ldr r2, [pc, #224] ; (809836c ) 809828c: 21d2 movs r1, #210 ; 0xd2 809828e: 2032 movs r0, #50 ; 0x32 8098290: f7bd fd7c bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098294: 4936 ldr r1, [pc, #216] ; (8098370 ) 8098296: f04f 30ff mov.w r0, #4294967295 809829a: f7bc ffb7 bl 805520c if(measuring) 809829e: 4b35 ldr r3, [pc, #212] ; (8098374 ) 80982a0: 781b ldrb r3, [r3, #0] 80982a2: b2db uxtb r3, r3 80982a4: 2b00 cmp r3, #0 80982a6: d005 beq.n 80982b4 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80982a8: 4a33 ldr r2, [pc, #204] ; (8098378 ) 80982aa: 21d2 movs r1, #210 ; 0xd2 80982ac: 20a5 movs r0, #165 ; 0xa5 80982ae: f7bd fd6d bl 8055d8c 80982b2: e004 b.n 80982be else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80982b4: 4a31 ldr r2, [pc, #196] ; (809837c ) 80982b6: 21d2 movs r1, #210 ; 0xd2 80982b8: 20a5 movs r0, #165 ; 0xa5 80982ba: f7bd fd67 bl 8055d8c LCD_DisplayStringC(270, 210, "Äàëåå"); 80982be: 4a30 ldr r2, [pc, #192] ; (8098380 ) 80982c0: 21d2 movs r1, #210 ; 0xd2 80982c2: f44f 7087 mov.w r0, #270 ; 0x10e 80982c6: f7bd fd61 bl 8055d8c break; 80982ca: e04b b.n 8098364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80982cc: 4926 ldr r1, [pc, #152] ; (8098368 ) 80982ce: f04f 30ff mov.w r0, #4294967295 80982d2: f7bc ff9b bl 805520c if(measuring) 80982d6: 4b27 ldr r3, [pc, #156] ; (8098374 ) 80982d8: 781b ldrb r3, [r3, #0] 80982da: b2db uxtb r3, r3 80982dc: 2b00 cmp r3, #0 80982de: d005 beq.n 80982ec LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80982e0: 4a25 ldr r2, [pc, #148] ; (8098378 ) 80982e2: 21d2 movs r1, #210 ; 0xd2 80982e4: 20a5 movs r0, #165 ; 0xa5 80982e6: f7bd fd51 bl 8055d8c 80982ea: e004 b.n 80982f6 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80982ec: 4a23 ldr r2, [pc, #140] ; (809837c ) 80982ee: 21d2 movs r1, #210 ; 0xd2 80982f0: 20a5 movs r0, #165 ; 0xa5 80982f2: f7bd fd4b bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80982f6: 491e ldr r1, [pc, #120] ; (8098370 ) 80982f8: f04f 30ff mov.w r0, #4294967295 80982fc: f7bc ff86 bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 8098300: 4a1a ldr r2, [pc, #104] ; (809836c ) 8098302: 21d2 movs r1, #210 ; 0xd2 8098304: 2032 movs r0, #50 ; 0x32 8098306: f7bd fd41 bl 8055d8c LCD_DisplayStringC(270, 210, "Äàëåå"); 809830a: 4a1d ldr r2, [pc, #116] ; (8098380 ) 809830c: 21d2 movs r1, #210 ; 0xd2 809830e: f44f 7087 mov.w r0, #270 ; 0x10e 8098312: f7bd fd3b bl 8055d8c break; 8098316: e025 b.n 8098364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098318: 4913 ldr r1, [pc, #76] ; (8098368 ) 809831a: f04f 30ff mov.w r0, #4294967295 809831e: f7bc ff75 bl 805520c LCD_DisplayStringC(270, 210, "Äàëåå"); 8098322: 4a17 ldr r2, [pc, #92] ; (8098380 ) 8098324: 21d2 movs r1, #210 ; 0xd2 8098326: f44f 7087 mov.w r0, #270 ; 0x10e 809832a: f7bd fd2f bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809832e: 4910 ldr r1, [pc, #64] ; (8098370 ) 8098330: f04f 30ff mov.w r0, #4294967295 8098334: f7bc ff6a bl 805520c if(measuring) 8098338: 4b0e ldr r3, [pc, #56] ; (8098374 ) 809833a: 781b ldrb r3, [r3, #0] 809833c: b2db uxtb r3, r3 809833e: 2b00 cmp r3, #0 8098340: d005 beq.n 809834e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8098342: 4a0d ldr r2, [pc, #52] ; (8098378 ) 8098344: 21d2 movs r1, #210 ; 0xd2 8098346: 20a5 movs r0, #165 ; 0xa5 8098348: f7bd fd20 bl 8055d8c 809834c: e004 b.n 8098358 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809834e: 4a0b ldr r2, [pc, #44] ; (809837c ) 8098350: 21d2 movs r1, #210 ; 0xd2 8098352: 20a5 movs r0, #165 ; 0xa5 8098354: f7bd fd1a bl 8055d8c LCD_DisplayStringC(50, 210, "Íàçàä"); 8098358: 4a04 ldr r2, [pc, #16] ; (809836c ) 809835a: 21d2 movs r1, #210 ; 0xd2 809835c: 2032 movs r0, #50 ; 0x32 809835e: f7bd fd15 bl 8055d8c break; 8098362: bf00 nop break; 8098364: f000 bf62 b.w 809922c 8098368: ff606060 .word 0xff606060 809836c: 080d6fb0 .word 0x080d6fb0 8098370: ff0a0f1f .word 0xff0a0f1f 8098374: 20020dcf .word 0x20020dcf 8098378: 080d6f64 .word 0x080d6f64 809837c: 080d6f70 .word 0x080d6f70 8098380: 080d5804 .word 0x080d5804 8098384: 080d6ef0 .word 0x080d6ef0 8098388: 20020038 .word 0x20020038 809838c: 080d6fec .word 0x080d6fec 8098390: 080d6ff8 .word 0x080d6ff8 8098394: 080d7008 .word 0x080d7008 8098398: 080d6f54 .word 0x080d6f54 809839c: 080d6f5c .word 0x080d6f5c 80983a0: 20021590 .word 0x20021590 80983a4: 20020fc5 .word 0x20020fc5 80983a8: 200261f4 .word 0x200261f4 80983ac: 080d5110 .word 0x080d5110 80983b0: 20020000 .word 0x20020000 80983b4: 20020070 .word 0x20020070 case CALIBR_4: /* Êàëèáðîâêà Êcorr[2] (ÇÀÐßÄ 10, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80983b8: 49c8 ldr r1, [pc, #800] ; (80986dc ) 80983ba: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80983be: f7bc ff25 bl 805520c LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 80983c2: 4ac7 ldr r2, [pc, #796] ; (80986e0 ) 80983c4: 2128 movs r1, #40 ; 0x28 80983c6: 20a5 movs r0, #165 ; 0xa5 80983c8: f7bd fce0 bl 8055d8c BSP_LCD_DrawLine(2, 59, 317, 59); 80983cc: 233b movs r3, #59 ; 0x3b 80983ce: f240 123d movw r2, #317 ; 0x13d 80983d2: 213b movs r1, #59 ; 0x3b 80983d4: 2002 movs r0, #2 80983d6: f7bd f953 bl 8055680 BSP_LCD_SetFont(&Font12); 80983da: 48c2 ldr r0, [pc, #776] ; (80986e4 ) 80983dc: f7bc ff52 bl 8055284 BSP_LCD_DisplayStringAt(310, 36, "[6 / 13]", RIGHT_MODE); 80983e0: 2302 movs r3, #2 80983e2: 4ac1 ldr r2, [pc, #772] ; (80986e8 ) 80983e4: 2124 movs r1, #36 ; 0x24 80983e6: f44f 709b mov.w r0, #310 ; 0x136 80983ea: f7bc ffd5 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80983ee: 49bb ldr r1, [pc, #748] ; (80986dc ) 80983f0: f04f 30ff mov.w r0, #4294967295 80983f4: f7bc ff0a bl 805520c LCD_DisplayString(5, 70, "[ICP 16] [Ky 1]"); 80983f8: 4abc ldr r2, [pc, #752] ; (80986ec ) 80983fa: 2146 movs r1, #70 ; 0x46 80983fc: 2005 movs r0, #5 80983fe: f7bd fcad bl 8055d5c LCD_DisplayString(5, 95, "Input:RMS=64ìÂ,1êÃö"); 8098402: 4abb ldr r2, [pc, #748] ; (80986f0 ) 8098404: 215f movs r1, #95 ; 0x5f 8098406: 2005 movs r0, #5 8098408: f7bd fca8 bl 8055d5c LCD_DisplayString(5, 145, "Output="); 809840c: 4ab9 ldr r2, [pc, #740] ; (80986f4 ) 809840e: 2191 movs r1, #145 ; 0x91 8098410: 2005 movs r0, #5 8098412: f7bd fca3 bl 8055d5c LCD_DisplayString(5, 170, "Kcorr="); 8098416: 4ab8 ldr r2, [pc, #736] ; (80986f8 ) 8098418: 21aa movs r1, #170 ; 0xaa 809841a: 2005 movs r0, #5 809841c: f7bd fc9e bl 8055d5c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8098420: 49ae ldr r1, [pc, #696] ; (80986dc ) 8098422: f06f 00ff mvn.w r0, #255 ; 0xff 8098426: f7bc fef1 bl 805520c LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 809842a: 4bb4 ldr r3, [pc, #720] ; (80986fc ) 809842c: edd3 7a00 vldr s15, [r3] 8098430: f06f 0003 mvn.w r0, #3 8098434: eeb0 0a67 vmov.f32 s0, s15 8098438: f7cf feb2 bl 80681a0 809843c: 4603 mov r3, r0 809843e: 461a mov r2, r3 8098440: 2191 movs r1, #145 ; 0x91 8098442: 207d movs r0, #125 ; 0x7d 8098444: f7bd fc8a bl 8055d5c LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8098448: 4bad ldr r3, [pc, #692] ; (8098700 ) 809844a: 781b ldrb r3, [r3, #0] 809844c: b2db uxtb r3, r3 809844e: 3b35 subs r3, #53 ; 0x35 8098450: 4aac ldr r2, [pc, #688] ; (8098704 ) 8098452: 009b lsls r3, r3, #2 8098454: 4413 add r3, r2 8098456: edd3 7a00 vldr s15, [r3] 809845a: f06f 0007 mvn.w r0, #7 809845e: eeb0 0a67 vmov.f32 s0, s15 8098462: f7cf fe9d bl 80681a0 8098466: 4603 mov r3, r0 8098468: 461a mov r2, r3 809846a: 21aa movs r1, #170 ; 0xaa 809846c: 207d movs r0, #125 ; 0x7d 809846e: f7bd fc75 bl 8055d5c LCD_DisplayString(80, 40, "V"); 8098472: 4aa5 ldr r2, [pc, #660] ; (8098708 ) 8098474: 2128 movs r1, #40 ; 0x28 8098476: 2050 movs r0, #80 ; 0x50 8098478: f7bd fc70 bl 8055d5c LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 809847c: 4ba3 ldr r3, [pc, #652] ; (809870c ) 809847e: edd3 7a00 vldr s15, [r3] 8098482: f06f 0002 mvn.w r0, #2 8098486: eeb0 0a67 vmov.f32 s0, s15 809848a: f7cf fe89 bl 80681a0 809848e: 4603 mov r3, r0 8098490: 461a mov r2, r3 8098492: 2128 movs r1, #40 ; 0x28 8098494: 204b movs r0, #75 ; 0x4b 8098496: f7bd fc91 bl 8055dbc switch(menupos) 809849a: 4b9d ldr r3, [pc, #628] ; (8098710 ) 809849c: 781b ldrb r3, [r3, #0] 809849e: b2db uxtb r3, r3 80984a0: 2b01 cmp r3, #1 80984a2: d02b beq.n 80984fc 80984a4: 2b02 cmp r3, #2 80984a6: d04f beq.n 8098548 80984a8: 2b00 cmp r3, #0 80984aa: d001 beq.n 80984b0 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 80984ac: f000 bebe b.w 809922c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80984b0: 4998 ldr r1, [pc, #608] ; (8098714 ) 80984b2: f04f 30ff mov.w r0, #4294967295 80984b6: f7bc fea9 bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 80984ba: 4a97 ldr r2, [pc, #604] ; (8098718 ) 80984bc: 21d2 movs r1, #210 ; 0xd2 80984be: 2032 movs r0, #50 ; 0x32 80984c0: f7bd fc64 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80984c4: 4985 ldr r1, [pc, #532] ; (80986dc ) 80984c6: f04f 30ff mov.w r0, #4294967295 80984ca: f7bc fe9f bl 805520c if(measuring) 80984ce: 4b93 ldr r3, [pc, #588] ; (809871c ) 80984d0: 781b ldrb r3, [r3, #0] 80984d2: b2db uxtb r3, r3 80984d4: 2b00 cmp r3, #0 80984d6: d005 beq.n 80984e4 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80984d8: 4a91 ldr r2, [pc, #580] ; (8098720 ) 80984da: 21d2 movs r1, #210 ; 0xd2 80984dc: 20a5 movs r0, #165 ; 0xa5 80984de: f7bd fc55 bl 8055d8c 80984e2: e004 b.n 80984ee else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80984e4: 4a8f ldr r2, [pc, #572] ; (8098724 ) 80984e6: 21d2 movs r1, #210 ; 0xd2 80984e8: 20a5 movs r0, #165 ; 0xa5 80984ea: f7bd fc4f bl 8055d8c LCD_DisplayStringC(270, 210, "Äàëåå"); 80984ee: 4a8e ldr r2, [pc, #568] ; (8098728 ) 80984f0: 21d2 movs r1, #210 ; 0xd2 80984f2: f44f 7087 mov.w r0, #270 ; 0x10e 80984f6: f7bd fc49 bl 8055d8c break; 80984fa: e04b b.n 8098594 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80984fc: 4985 ldr r1, [pc, #532] ; (8098714 ) 80984fe: f04f 30ff mov.w r0, #4294967295 8098502: f7bc fe83 bl 805520c if(measuring) 8098506: 4b85 ldr r3, [pc, #532] ; (809871c ) 8098508: 781b ldrb r3, [r3, #0] 809850a: b2db uxtb r3, r3 809850c: 2b00 cmp r3, #0 809850e: d005 beq.n 809851c LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8098510: 4a83 ldr r2, [pc, #524] ; (8098720 ) 8098512: 21d2 movs r1, #210 ; 0xd2 8098514: 20a5 movs r0, #165 ; 0xa5 8098516: f7bd fc39 bl 8055d8c 809851a: e004 b.n 8098526 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809851c: 4a81 ldr r2, [pc, #516] ; (8098724 ) 809851e: 21d2 movs r1, #210 ; 0xd2 8098520: 20a5 movs r0, #165 ; 0xa5 8098522: f7bd fc33 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098526: 496d ldr r1, [pc, #436] ; (80986dc ) 8098528: f04f 30ff mov.w r0, #4294967295 809852c: f7bc fe6e bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 8098530: 4a79 ldr r2, [pc, #484] ; (8098718 ) 8098532: 21d2 movs r1, #210 ; 0xd2 8098534: 2032 movs r0, #50 ; 0x32 8098536: f7bd fc29 bl 8055d8c LCD_DisplayStringC(270, 210, "Äàëåå"); 809853a: 4a7b ldr r2, [pc, #492] ; (8098728 ) 809853c: 21d2 movs r1, #210 ; 0xd2 809853e: f44f 7087 mov.w r0, #270 ; 0x10e 8098542: f7bd fc23 bl 8055d8c break; 8098546: e025 b.n 8098594 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098548: 4972 ldr r1, [pc, #456] ; (8098714 ) 809854a: f04f 30ff mov.w r0, #4294967295 809854e: f7bc fe5d bl 805520c LCD_DisplayStringC(270, 210, "Äàëåå"); 8098552: 4a75 ldr r2, [pc, #468] ; (8098728 ) 8098554: 21d2 movs r1, #210 ; 0xd2 8098556: f44f 7087 mov.w r0, #270 ; 0x10e 809855a: f7bd fc17 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809855e: 495f ldr r1, [pc, #380] ; (80986dc ) 8098560: f04f 30ff mov.w r0, #4294967295 8098564: f7bc fe52 bl 805520c if(measuring) 8098568: 4b6c ldr r3, [pc, #432] ; (809871c ) 809856a: 781b ldrb r3, [r3, #0] 809856c: b2db uxtb r3, r3 809856e: 2b00 cmp r3, #0 8098570: d005 beq.n 809857e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8098572: 4a6b ldr r2, [pc, #428] ; (8098720 ) 8098574: 21d2 movs r1, #210 ; 0xd2 8098576: 20a5 movs r0, #165 ; 0xa5 8098578: f7bd fc08 bl 8055d8c 809857c: e004 b.n 8098588 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809857e: 4a69 ldr r2, [pc, #420] ; (8098724 ) 8098580: 21d2 movs r1, #210 ; 0xd2 8098582: 20a5 movs r0, #165 ; 0xa5 8098584: f7bd fc02 bl 8055d8c LCD_DisplayStringC(50, 210, "Íàçàä"); 8098588: 4a63 ldr r2, [pc, #396] ; (8098718 ) 809858a: 21d2 movs r1, #210 ; 0xd2 809858c: 2032 movs r0, #50 ; 0x32 809858e: f7bd fbfd bl 8055d8c break; 8098592: bf00 nop break; 8098594: f000 be4a b.w 809922c case CALIBR_5: /* Êàëèáðîâêà Êcorr[0] (ÇÀÐßÄ 0.1, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8098598: 4950 ldr r1, [pc, #320] ; (80986dc ) 809859a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809859e: f7bc fe35 bl 805520c LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 80985a2: 4a4f ldr r2, [pc, #316] ; (80986e0 ) 80985a4: 2128 movs r1, #40 ; 0x28 80985a6: 20a5 movs r0, #165 ; 0xa5 80985a8: f7bd fbf0 bl 8055d8c BSP_LCD_DrawLine(2, 59, 317, 59); 80985ac: 233b movs r3, #59 ; 0x3b 80985ae: f240 123d movw r2, #317 ; 0x13d 80985b2: 213b movs r1, #59 ; 0x3b 80985b4: 2002 movs r0, #2 80985b6: f7bd f863 bl 8055680 BSP_LCD_SetFont(&Font12); 80985ba: 484a ldr r0, [pc, #296] ; (80986e4 ) 80985bc: f7bc fe62 bl 8055284 BSP_LCD_DisplayStringAt(310, 36, "[7 / 13]", RIGHT_MODE); 80985c0: 2302 movs r3, #2 80985c2: 4a5a ldr r2, [pc, #360] ; (809872c ) 80985c4: 2124 movs r1, #36 ; 0x24 80985c6: f44f 709b mov.w r0, #310 ; 0x136 80985ca: f7bc fee5 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80985ce: 4943 ldr r1, [pc, #268] ; (80986dc ) 80985d0: f04f 30ff mov.w r0, #4294967295 80985d4: f7bc fe1a bl 805520c LCD_DisplayString(5, 70, "[ICP 32] [Ky 1]"); 80985d8: 4a55 ldr r2, [pc, #340] ; (8098730 ) 80985da: 2146 movs r1, #70 ; 0x46 80985dc: 2005 movs r0, #5 80985de: f7bd fbbd bl 8055d5c LCD_DisplayString(5, 95, "Input:RMS=32ìÂ,1êÃö"); 80985e2: 4a54 ldr r2, [pc, #336] ; (8098734 ) 80985e4: 215f movs r1, #95 ; 0x5f 80985e6: 2005 movs r0, #5 80985e8: f7bd fbb8 bl 8055d5c LCD_DisplayString(5, 145, "Output="); 80985ec: 4a41 ldr r2, [pc, #260] ; (80986f4 ) 80985ee: 2191 movs r1, #145 ; 0x91 80985f0: 2005 movs r0, #5 80985f2: f7bd fbb3 bl 8055d5c LCD_DisplayString(5, 170, "Kcorr="); 80985f6: 4a40 ldr r2, [pc, #256] ; (80986f8 ) 80985f8: 21aa movs r1, #170 ; 0xaa 80985fa: 2005 movs r0, #5 80985fc: f7bd fbae bl 8055d5c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8098600: 4936 ldr r1, [pc, #216] ; (80986dc ) 8098602: f06f 00ff mvn.w r0, #255 ; 0xff 8098606: f7bc fe01 bl 805520c LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 809860a: 4b3c ldr r3, [pc, #240] ; (80986fc ) 809860c: edd3 7a00 vldr s15, [r3] 8098610: f06f 0003 mvn.w r0, #3 8098614: eeb0 0a67 vmov.f32 s0, s15 8098618: f7cf fdc2 bl 80681a0 809861c: 4603 mov r3, r0 809861e: 461a mov r2, r3 8098620: 2191 movs r1, #145 ; 0x91 8098622: 207d movs r0, #125 ; 0x7d 8098624: f7bd fb9a bl 8055d5c LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8098628: 4b35 ldr r3, [pc, #212] ; (8098700 ) 809862a: 781b ldrb r3, [r3, #0] 809862c: b2db uxtb r3, r3 809862e: 3b35 subs r3, #53 ; 0x35 8098630: 4a34 ldr r2, [pc, #208] ; (8098704 ) 8098632: 009b lsls r3, r3, #2 8098634: 4413 add r3, r2 8098636: edd3 7a00 vldr s15, [r3] 809863a: f06f 0007 mvn.w r0, #7 809863e: eeb0 0a67 vmov.f32 s0, s15 8098642: f7cf fdad bl 80681a0 8098646: 4603 mov r3, r0 8098648: 461a mov r2, r3 809864a: 21aa movs r1, #170 ; 0xaa 809864c: 207d movs r0, #125 ; 0x7d 809864e: f7bd fb85 bl 8055d5c LCD_DisplayString(80, 40, "V"); 8098652: 4a2d ldr r2, [pc, #180] ; (8098708 ) 8098654: 2128 movs r1, #40 ; 0x28 8098656: 2050 movs r0, #80 ; 0x50 8098658: f7bd fb80 bl 8055d5c LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 809865c: 4b2b ldr r3, [pc, #172] ; (809870c ) 809865e: edd3 7a00 vldr s15, [r3] 8098662: f06f 0002 mvn.w r0, #2 8098666: eeb0 0a67 vmov.f32 s0, s15 809866a: f7cf fd99 bl 80681a0 809866e: 4603 mov r3, r0 8098670: 461a mov r2, r3 8098672: 2128 movs r1, #40 ; 0x28 8098674: 204b movs r0, #75 ; 0x4b 8098676: f7bd fba1 bl 8055dbc switch(menupos) 809867a: 4b25 ldr r3, [pc, #148] ; (8098710 ) 809867c: 781b ldrb r3, [r3, #0] 809867e: b2db uxtb r3, r3 8098680: 2b01 cmp r3, #1 8098682: d059 beq.n 8098738 8098684: 2b02 cmp r3, #2 8098686: d07d beq.n 8098784 8098688: 2b00 cmp r3, #0 809868a: d001 beq.n 8098690 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 809868c: f000 bdce b.w 809922c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098690: 4920 ldr r1, [pc, #128] ; (8098714 ) 8098692: f04f 30ff mov.w r0, #4294967295 8098696: f7bc fdb9 bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 809869a: 4a1f ldr r2, [pc, #124] ; (8098718 ) 809869c: 21d2 movs r1, #210 ; 0xd2 809869e: 2032 movs r0, #50 ; 0x32 80986a0: f7bd fb74 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80986a4: 490d ldr r1, [pc, #52] ; (80986dc ) 80986a6: f04f 30ff mov.w r0, #4294967295 80986aa: f7bc fdaf bl 805520c if(measuring) 80986ae: 4b1b ldr r3, [pc, #108] ; (809871c ) 80986b0: 781b ldrb r3, [r3, #0] 80986b2: b2db uxtb r3, r3 80986b4: 2b00 cmp r3, #0 80986b6: d005 beq.n 80986c4 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80986b8: 4a19 ldr r2, [pc, #100] ; (8098720 ) 80986ba: 21d2 movs r1, #210 ; 0xd2 80986bc: 20a5 movs r0, #165 ; 0xa5 80986be: f7bd fb65 bl 8055d8c 80986c2: e004 b.n 80986ce else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80986c4: 4a17 ldr r2, [pc, #92] ; (8098724 ) 80986c6: 21d2 movs r1, #210 ; 0xd2 80986c8: 20a5 movs r0, #165 ; 0xa5 80986ca: f7bd fb5f bl 8055d8c LCD_DisplayStringC(270, 210, "Äàëåå"); 80986ce: 4a16 ldr r2, [pc, #88] ; (8098728 ) 80986d0: 21d2 movs r1, #210 ; 0xd2 80986d2: f44f 7087 mov.w r0, #270 ; 0x10e 80986d6: f7bd fb59 bl 8055d8c break; 80986da: e079 b.n 80987d0 80986dc: ff0a0f1f .word 0xff0a0f1f 80986e0: 080d6ef0 .word 0x080d6ef0 80986e4: 20020038 .word 0x20020038 80986e8: 080d7020 .word 0x080d7020 80986ec: 080d702c .word 0x080d702c 80986f0: 080d703c .word 0x080d703c 80986f4: 080d6f54 .word 0x080d6f54 80986f8: 080d6f5c .word 0x080d6f5c 80986fc: 20021590 .word 0x20021590 8098700: 20020fc5 .word 0x20020fc5 8098704: 200261f4 .word 0x200261f4 8098708: 080d5110 .word 0x080d5110 809870c: 20020000 .word 0x20020000 8098710: 20020070 .word 0x20020070 8098714: ff606060 .word 0xff606060 8098718: 080d6fb0 .word 0x080d6fb0 809871c: 20020dcf .word 0x20020dcf 8098720: 080d6f64 .word 0x080d6f64 8098724: 080d6f70 .word 0x080d6f70 8098728: 080d5804 .word 0x080d5804 809872c: 080d7050 .word 0x080d7050 8098730: 080d705c .word 0x080d705c 8098734: 080d706c .word 0x080d706c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098738: 499e ldr r1, [pc, #632] ; (80989b4 ) 809873a: f04f 30ff mov.w r0, #4294967295 809873e: f7bc fd65 bl 805520c if(measuring) 8098742: 4b9d ldr r3, [pc, #628] ; (80989b8 ) 8098744: 781b ldrb r3, [r3, #0] 8098746: b2db uxtb r3, r3 8098748: 2b00 cmp r3, #0 809874a: d005 beq.n 8098758 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 809874c: 4a9b ldr r2, [pc, #620] ; (80989bc ) 809874e: 21d2 movs r1, #210 ; 0xd2 8098750: 20a5 movs r0, #165 ; 0xa5 8098752: f7bd fb1b bl 8055d8c 8098756: e004 b.n 8098762 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8098758: 4a99 ldr r2, [pc, #612] ; (80989c0 ) 809875a: 21d2 movs r1, #210 ; 0xd2 809875c: 20a5 movs r0, #165 ; 0xa5 809875e: f7bd fb15 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098762: 4998 ldr r1, [pc, #608] ; (80989c4 ) 8098764: f04f 30ff mov.w r0, #4294967295 8098768: f7bc fd50 bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 809876c: 4a96 ldr r2, [pc, #600] ; (80989c8 ) 809876e: 21d2 movs r1, #210 ; 0xd2 8098770: 2032 movs r0, #50 ; 0x32 8098772: f7bd fb0b bl 8055d8c LCD_DisplayStringC(270, 210, "Äàëåå"); 8098776: 4a95 ldr r2, [pc, #596] ; (80989cc ) 8098778: 21d2 movs r1, #210 ; 0xd2 809877a: f44f 7087 mov.w r0, #270 ; 0x10e 809877e: f7bd fb05 bl 8055d8c break; 8098782: e025 b.n 80987d0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098784: 498b ldr r1, [pc, #556] ; (80989b4 ) 8098786: f04f 30ff mov.w r0, #4294967295 809878a: f7bc fd3f bl 805520c LCD_DisplayStringC(270, 210, "Äàëåå"); 809878e: 4a8f ldr r2, [pc, #572] ; (80989cc ) 8098790: 21d2 movs r1, #210 ; 0xd2 8098792: f44f 7087 mov.w r0, #270 ; 0x10e 8098796: f7bd faf9 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809879a: 498a ldr r1, [pc, #552] ; (80989c4 ) 809879c: f04f 30ff mov.w r0, #4294967295 80987a0: f7bc fd34 bl 805520c if(measuring) 80987a4: 4b84 ldr r3, [pc, #528] ; (80989b8 ) 80987a6: 781b ldrb r3, [r3, #0] 80987a8: b2db uxtb r3, r3 80987aa: 2b00 cmp r3, #0 80987ac: d005 beq.n 80987ba LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80987ae: 4a83 ldr r2, [pc, #524] ; (80989bc ) 80987b0: 21d2 movs r1, #210 ; 0xd2 80987b2: 20a5 movs r0, #165 ; 0xa5 80987b4: f7bd faea bl 8055d8c 80987b8: e004 b.n 80987c4 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80987ba: 4a81 ldr r2, [pc, #516] ; (80989c0 ) 80987bc: 21d2 movs r1, #210 ; 0xd2 80987be: 20a5 movs r0, #165 ; 0xa5 80987c0: f7bd fae4 bl 8055d8c LCD_DisplayStringC(50, 210, "Íàçàä"); 80987c4: 4a80 ldr r2, [pc, #512] ; (80989c8 ) 80987c6: 21d2 movs r1, #210 ; 0xd2 80987c8: 2032 movs r0, #50 ; 0x32 80987ca: f7bd fadf bl 8055d8c break; 80987ce: bf00 nop break; 80987d0: f000 bd2c b.w 809922c case CALIBR_6: /* Êàëèáðîâêà Êcorr[3] (IEPE 1, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80987d4: 497b ldr r1, [pc, #492] ; (80989c4 ) 80987d6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80987da: f7bc fd17 bl 805520c LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 80987de: 4a7c ldr r2, [pc, #496] ; (80989d0 ) 80987e0: 2128 movs r1, #40 ; 0x28 80987e2: 20a5 movs r0, #165 ; 0xa5 80987e4: f7bd fad2 bl 8055d8c BSP_LCD_DrawLine(2, 59, 317, 59); 80987e8: 233b movs r3, #59 ; 0x3b 80987ea: f240 123d movw r2, #317 ; 0x13d 80987ee: 213b movs r1, #59 ; 0x3b 80987f0: 2002 movs r0, #2 80987f2: f7bc ff45 bl 8055680 BSP_LCD_SetFont(&Font12); 80987f6: 4877 ldr r0, [pc, #476] ; (80989d4 ) 80987f8: f7bc fd44 bl 8055284 BSP_LCD_DisplayStringAt(310, 36, "[8 / 13]", RIGHT_MODE); 80987fc: 2302 movs r3, #2 80987fe: 4a76 ldr r2, [pc, #472] ; (80989d8 ) 8098800: 2124 movs r1, #36 ; 0x24 8098802: f44f 709b mov.w r0, #310 ; 0x136 8098806: f7bc fdc7 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809880a: 496e ldr r1, [pc, #440] ; (80989c4 ) 809880c: f04f 30ff mov.w r0, #4294967295 8098810: f7bc fcfc bl 805520c LCD_DisplayString(5, 70, "[ICP 64] [Ky 1]"); 8098814: 4a71 ldr r2, [pc, #452] ; (80989dc ) 8098816: 2146 movs r1, #70 ; 0x46 8098818: 2005 movs r0, #5 809881a: f7bd fa9f bl 8055d5c LCD_DisplayString(5, 95, "Input:RMS=16ìÂ,1êÃö"); 809881e: 4a70 ldr r2, [pc, #448] ; (80989e0 ) 8098820: 215f movs r1, #95 ; 0x5f 8098822: 2005 movs r0, #5 8098824: f7bd fa9a bl 8055d5c LCD_DisplayString(5, 145, "Output="); 8098828: 4a6e ldr r2, [pc, #440] ; (80989e4 ) 809882a: 2191 movs r1, #145 ; 0x91 809882c: 2005 movs r0, #5 809882e: f7bd fa95 bl 8055d5c LCD_DisplayString(5, 170, "Kcorr="); 8098832: 4a6d ldr r2, [pc, #436] ; (80989e8 ) 8098834: 21aa movs r1, #170 ; 0xaa 8098836: 2005 movs r0, #5 8098838: f7bd fa90 bl 8055d5c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809883c: 4961 ldr r1, [pc, #388] ; (80989c4 ) 809883e: f06f 00ff mvn.w r0, #255 ; 0xff 8098842: f7bc fce3 bl 805520c LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8098846: 4b69 ldr r3, [pc, #420] ; (80989ec ) 8098848: edd3 7a00 vldr s15, [r3] 809884c: f06f 0003 mvn.w r0, #3 8098850: eeb0 0a67 vmov.f32 s0, s15 8098854: f7cf fca4 bl 80681a0 8098858: 4603 mov r3, r0 809885a: 461a mov r2, r3 809885c: 2191 movs r1, #145 ; 0x91 809885e: 207d movs r0, #125 ; 0x7d 8098860: f7bd fa7c bl 8055d5c LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8098864: 4b62 ldr r3, [pc, #392] ; (80989f0 ) 8098866: 781b ldrb r3, [r3, #0] 8098868: b2db uxtb r3, r3 809886a: 3b35 subs r3, #53 ; 0x35 809886c: 4a61 ldr r2, [pc, #388] ; (80989f4 ) 809886e: 009b lsls r3, r3, #2 8098870: 4413 add r3, r2 8098872: edd3 7a00 vldr s15, [r3] 8098876: f06f 0007 mvn.w r0, #7 809887a: eeb0 0a67 vmov.f32 s0, s15 809887e: f7cf fc8f bl 80681a0 8098882: 4603 mov r3, r0 8098884: 461a mov r2, r3 8098886: 21aa movs r1, #170 ; 0xaa 8098888: 207d movs r0, #125 ; 0x7d 809888a: f7bd fa67 bl 8055d5c LCD_DisplayString(80, 40, "V"); 809888e: 4a5a ldr r2, [pc, #360] ; (80989f8 ) 8098890: 2128 movs r1, #40 ; 0x28 8098892: 2050 movs r0, #80 ; 0x50 8098894: f7bd fa62 bl 8055d5c LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8098898: 4b58 ldr r3, [pc, #352] ; (80989fc ) 809889a: edd3 7a00 vldr s15, [r3] 809889e: f06f 0002 mvn.w r0, #2 80988a2: eeb0 0a67 vmov.f32 s0, s15 80988a6: f7cf fc7b bl 80681a0 80988aa: 4603 mov r3, r0 80988ac: 461a mov r2, r3 80988ae: 2128 movs r1, #40 ; 0x28 80988b0: 204b movs r0, #75 ; 0x4b 80988b2: f7bd fa83 bl 8055dbc switch(menupos) 80988b6: 4b52 ldr r3, [pc, #328] ; (8098a00 ) 80988b8: 781b ldrb r3, [r3, #0] 80988ba: b2db uxtb r3, r3 80988bc: 2b01 cmp r3, #1 80988be: d02b beq.n 8098918 80988c0: 2b02 cmp r3, #2 80988c2: d04f beq.n 8098964 80988c4: 2b00 cmp r3, #0 80988c6: d001 beq.n 80988cc else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 80988c8: f000 bcb0 b.w 809922c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80988cc: 4939 ldr r1, [pc, #228] ; (80989b4 ) 80988ce: f04f 30ff mov.w r0, #4294967295 80988d2: f7bc fc9b bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 80988d6: 4a3c ldr r2, [pc, #240] ; (80989c8 ) 80988d8: 21d2 movs r1, #210 ; 0xd2 80988da: 2032 movs r0, #50 ; 0x32 80988dc: f7bd fa56 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80988e0: 4938 ldr r1, [pc, #224] ; (80989c4 ) 80988e2: f04f 30ff mov.w r0, #4294967295 80988e6: f7bc fc91 bl 805520c if(measuring) 80988ea: 4b33 ldr r3, [pc, #204] ; (80989b8 ) 80988ec: 781b ldrb r3, [r3, #0] 80988ee: b2db uxtb r3, r3 80988f0: 2b00 cmp r3, #0 80988f2: d005 beq.n 8098900 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80988f4: 4a31 ldr r2, [pc, #196] ; (80989bc ) 80988f6: 21d2 movs r1, #210 ; 0xd2 80988f8: 20a5 movs r0, #165 ; 0xa5 80988fa: f7bd fa47 bl 8055d8c 80988fe: e004 b.n 809890a else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8098900: 4a2f ldr r2, [pc, #188] ; (80989c0 ) 8098902: 21d2 movs r1, #210 ; 0xd2 8098904: 20a5 movs r0, #165 ; 0xa5 8098906: f7bd fa41 bl 8055d8c LCD_DisplayStringC(270, 210, "Äàëåå"); 809890a: 4a30 ldr r2, [pc, #192] ; (80989cc ) 809890c: 21d2 movs r1, #210 ; 0xd2 809890e: f44f 7087 mov.w r0, #270 ; 0x10e 8098912: f7bd fa3b bl 8055d8c break; 8098916: e04b b.n 80989b0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098918: 4926 ldr r1, [pc, #152] ; (80989b4 ) 809891a: f04f 30ff mov.w r0, #4294967295 809891e: f7bc fc75 bl 805520c if(measuring) 8098922: 4b25 ldr r3, [pc, #148] ; (80989b8 ) 8098924: 781b ldrb r3, [r3, #0] 8098926: b2db uxtb r3, r3 8098928: 2b00 cmp r3, #0 809892a: d005 beq.n 8098938 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 809892c: 4a23 ldr r2, [pc, #140] ; (80989bc ) 809892e: 21d2 movs r1, #210 ; 0xd2 8098930: 20a5 movs r0, #165 ; 0xa5 8098932: f7bd fa2b bl 8055d8c 8098936: e004 b.n 8098942 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8098938: 4a21 ldr r2, [pc, #132] ; (80989c0 ) 809893a: 21d2 movs r1, #210 ; 0xd2 809893c: 20a5 movs r0, #165 ; 0xa5 809893e: f7bd fa25 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098942: 4920 ldr r1, [pc, #128] ; (80989c4 ) 8098944: f04f 30ff mov.w r0, #4294967295 8098948: f7bc fc60 bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 809894c: 4a1e ldr r2, [pc, #120] ; (80989c8 ) 809894e: 21d2 movs r1, #210 ; 0xd2 8098950: 2032 movs r0, #50 ; 0x32 8098952: f7bd fa1b bl 8055d8c LCD_DisplayStringC(270, 210, "Äàëåå"); 8098956: 4a1d ldr r2, [pc, #116] ; (80989cc ) 8098958: 21d2 movs r1, #210 ; 0xd2 809895a: f44f 7087 mov.w r0, #270 ; 0x10e 809895e: f7bd fa15 bl 8055d8c break; 8098962: e025 b.n 80989b0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098964: 4913 ldr r1, [pc, #76] ; (80989b4 ) 8098966: f04f 30ff mov.w r0, #4294967295 809896a: f7bc fc4f bl 805520c LCD_DisplayStringC(270, 210, "Äàëåå"); 809896e: 4a17 ldr r2, [pc, #92] ; (80989cc ) 8098970: 21d2 movs r1, #210 ; 0xd2 8098972: f44f 7087 mov.w r0, #270 ; 0x10e 8098976: f7bd fa09 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809897a: 4912 ldr r1, [pc, #72] ; (80989c4 ) 809897c: f04f 30ff mov.w r0, #4294967295 8098980: f7bc fc44 bl 805520c if(measuring) 8098984: 4b0c ldr r3, [pc, #48] ; (80989b8 ) 8098986: 781b ldrb r3, [r3, #0] 8098988: b2db uxtb r3, r3 809898a: 2b00 cmp r3, #0 809898c: d005 beq.n 809899a LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 809898e: 4a0b ldr r2, [pc, #44] ; (80989bc ) 8098990: 21d2 movs r1, #210 ; 0xd2 8098992: 20a5 movs r0, #165 ; 0xa5 8098994: f7bd f9fa bl 8055d8c 8098998: e004 b.n 80989a4 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809899a: 4a09 ldr r2, [pc, #36] ; (80989c0 ) 809899c: 21d2 movs r1, #210 ; 0xd2 809899e: 20a5 movs r0, #165 ; 0xa5 80989a0: f7bd f9f4 bl 8055d8c LCD_DisplayStringC(50, 210, "Íàçàä"); 80989a4: 4a08 ldr r2, [pc, #32] ; (80989c8 ) 80989a6: 21d2 movs r1, #210 ; 0xd2 80989a8: 2032 movs r0, #50 ; 0x32 80989aa: f7bd f9ef bl 8055d8c break; 80989ae: bf00 nop break; 80989b0: f000 bc3c b.w 809922c 80989b4: ff606060 .word 0xff606060 80989b8: 20020dcf .word 0x20020dcf 80989bc: 080d6f64 .word 0x080d6f64 80989c0: 080d6f70 .word 0x080d6f70 80989c4: ff0a0f1f .word 0xff0a0f1f 80989c8: 080d6fb0 .word 0x080d6fb0 80989cc: 080d5804 .word 0x080d5804 80989d0: 080d6ef0 .word 0x080d6ef0 80989d4: 20020038 .word 0x20020038 80989d8: 080d7080 .word 0x080d7080 80989dc: 080d708c .word 0x080d708c 80989e0: 080d709c .word 0x080d709c 80989e4: 080d6f54 .word 0x080d6f54 80989e8: 080d6f5c .word 0x080d6f5c 80989ec: 20021590 .word 0x20021590 80989f0: 20020fc5 .word 0x20020fc5 80989f4: 200261f4 .word 0x200261f4 80989f8: 080d5110 .word 0x080d5110 80989fc: 20020000 .word 0x20020000 8098a00: 20020070 .word 0x20020070 case CALIBR_7: /* Êàëèáðîâêà Êcorr[4] (IEPE 10, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8098a04: 49c7 ldr r1, [pc, #796] ; (8098d24 ) 8098a06: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8098a0a: f7bc fbff bl 805520c LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8098a0e: 4ac6 ldr r2, [pc, #792] ; (8098d28 ) 8098a10: 2128 movs r1, #40 ; 0x28 8098a12: 20a5 movs r0, #165 ; 0xa5 8098a14: f7bd f9ba bl 8055d8c BSP_LCD_DrawLine(2, 59, 317, 59); 8098a18: 233b movs r3, #59 ; 0x3b 8098a1a: f240 123d movw r2, #317 ; 0x13d 8098a1e: 213b movs r1, #59 ; 0x3b 8098a20: 2002 movs r0, #2 8098a22: f7bc fe2d bl 8055680 BSP_LCD_SetFont(&Font12); 8098a26: 48c1 ldr r0, [pc, #772] ; (8098d2c ) 8098a28: f7bc fc2c bl 8055284 BSP_LCD_DisplayStringAt(310, 36, "[9 / 13]", RIGHT_MODE); 8098a2c: 2302 movs r3, #2 8098a2e: 4ac0 ldr r2, [pc, #768] ; (8098d30 ) 8098a30: 2124 movs r1, #36 ; 0x24 8098a32: f44f 709b mov.w r0, #310 ; 0x136 8098a36: f7bc fcaf bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098a3a: 49ba ldr r1, [pc, #744] ; (8098d24 ) 8098a3c: f04f 30ff mov.w r0, #4294967295 8098a40: f7bc fbe4 bl 805520c LCD_DisplayString(5, 70, "[ICP 1] [Ky 10]"); 8098a44: 4abb ldr r2, [pc, #748] ; (8098d34 ) 8098a46: 2146 movs r1, #70 ; 0x46 8098a48: 2005 movs r0, #5 8098a4a: f7bd f987 bl 8055d5c LCD_DisplayString(5, 95, "Input:RMS=100ìÂ,1êÃö"); 8098a4e: 4aba ldr r2, [pc, #744] ; (8098d38 ) 8098a50: 215f movs r1, #95 ; 0x5f 8098a52: 2005 movs r0, #5 8098a54: f7bd f982 bl 8055d5c LCD_DisplayString(5, 145, "Output="); 8098a58: 4ab8 ldr r2, [pc, #736] ; (8098d3c ) 8098a5a: 2191 movs r1, #145 ; 0x91 8098a5c: 2005 movs r0, #5 8098a5e: f7bd f97d bl 8055d5c LCD_DisplayString(5, 170, "Kcorr="); 8098a62: 4ab7 ldr r2, [pc, #732] ; (8098d40 ) 8098a64: 21aa movs r1, #170 ; 0xaa 8098a66: 2005 movs r0, #5 8098a68: f7bd f978 bl 8055d5c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8098a6c: 49ad ldr r1, [pc, #692] ; (8098d24 ) 8098a6e: f06f 00ff mvn.w r0, #255 ; 0xff 8098a72: f7bc fbcb bl 805520c LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8098a76: 4bb3 ldr r3, [pc, #716] ; (8098d44 ) 8098a78: edd3 7a00 vldr s15, [r3] 8098a7c: f06f 0003 mvn.w r0, #3 8098a80: eeb0 0a67 vmov.f32 s0, s15 8098a84: f7cf fb8c bl 80681a0 8098a88: 4603 mov r3, r0 8098a8a: 461a mov r2, r3 8098a8c: 2191 movs r1, #145 ; 0x91 8098a8e: 207d movs r0, #125 ; 0x7d 8098a90: f7bd f964 bl 8055d5c LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8098a94: 4bac ldr r3, [pc, #688] ; (8098d48 ) 8098a96: 781b ldrb r3, [r3, #0] 8098a98: b2db uxtb r3, r3 8098a9a: 3b35 subs r3, #53 ; 0x35 8098a9c: 4aab ldr r2, [pc, #684] ; (8098d4c ) 8098a9e: 009b lsls r3, r3, #2 8098aa0: 4413 add r3, r2 8098aa2: edd3 7a00 vldr s15, [r3] 8098aa6: f06f 0007 mvn.w r0, #7 8098aaa: eeb0 0a67 vmov.f32 s0, s15 8098aae: f7cf fb77 bl 80681a0 8098ab2: 4603 mov r3, r0 8098ab4: 461a mov r2, r3 8098ab6: 21aa movs r1, #170 ; 0xaa 8098ab8: 207d movs r0, #125 ; 0x7d 8098aba: f7bd f94f bl 8055d5c LCD_DisplayString(80, 40, "V"); 8098abe: 4aa4 ldr r2, [pc, #656] ; (8098d50 ) 8098ac0: 2128 movs r1, #40 ; 0x28 8098ac2: 2050 movs r0, #80 ; 0x50 8098ac4: f7bd f94a bl 8055d5c LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8098ac8: 4ba2 ldr r3, [pc, #648] ; (8098d54 ) 8098aca: edd3 7a00 vldr s15, [r3] 8098ace: f06f 0002 mvn.w r0, #2 8098ad2: eeb0 0a67 vmov.f32 s0, s15 8098ad6: f7cf fb63 bl 80681a0 8098ada: 4603 mov r3, r0 8098adc: 461a mov r2, r3 8098ade: 2128 movs r1, #40 ; 0x28 8098ae0: 204b movs r0, #75 ; 0x4b 8098ae2: f7bd f96b bl 8055dbc switch(menupos) 8098ae6: 4b9c ldr r3, [pc, #624] ; (8098d58 ) 8098ae8: 781b ldrb r3, [r3, #0] 8098aea: b2db uxtb r3, r3 8098aec: 2b01 cmp r3, #1 8098aee: d02a beq.n 8098b46 8098af0: 2b02 cmp r3, #2 8098af2: d04e beq.n 8098b92 8098af4: 2b00 cmp r3, #0 8098af6: d000 beq.n 8098afa else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8098af8: e398 b.n 809922c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098afa: 4998 ldr r1, [pc, #608] ; (8098d5c ) 8098afc: f04f 30ff mov.w r0, #4294967295 8098b00: f7bc fb84 bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 8098b04: 4a96 ldr r2, [pc, #600] ; (8098d60 ) 8098b06: 21d2 movs r1, #210 ; 0xd2 8098b08: 2032 movs r0, #50 ; 0x32 8098b0a: f7bd f93f bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098b0e: 4985 ldr r1, [pc, #532] ; (8098d24 ) 8098b10: f04f 30ff mov.w r0, #4294967295 8098b14: f7bc fb7a bl 805520c if(measuring) 8098b18: 4b92 ldr r3, [pc, #584] ; (8098d64 ) 8098b1a: 781b ldrb r3, [r3, #0] 8098b1c: b2db uxtb r3, r3 8098b1e: 2b00 cmp r3, #0 8098b20: d005 beq.n 8098b2e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8098b22: 4a91 ldr r2, [pc, #580] ; (8098d68 ) 8098b24: 21d2 movs r1, #210 ; 0xd2 8098b26: 20a5 movs r0, #165 ; 0xa5 8098b28: f7bd f930 bl 8055d8c 8098b2c: e004 b.n 8098b38 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8098b2e: 4a8f ldr r2, [pc, #572] ; (8098d6c ) 8098b30: 21d2 movs r1, #210 ; 0xd2 8098b32: 20a5 movs r0, #165 ; 0xa5 8098b34: f7bd f92a bl 8055d8c LCD_DisplayStringC(270, 210, "Äàëåå"); 8098b38: 4a8d ldr r2, [pc, #564] ; (8098d70 ) 8098b3a: 21d2 movs r1, #210 ; 0xd2 8098b3c: f44f 7087 mov.w r0, #270 ; 0x10e 8098b40: f7bd f924 bl 8055d8c break; 8098b44: e04b b.n 8098bde LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098b46: 4985 ldr r1, [pc, #532] ; (8098d5c ) 8098b48: f04f 30ff mov.w r0, #4294967295 8098b4c: f7bc fb5e bl 805520c if(measuring) 8098b50: 4b84 ldr r3, [pc, #528] ; (8098d64 ) 8098b52: 781b ldrb r3, [r3, #0] 8098b54: b2db uxtb r3, r3 8098b56: 2b00 cmp r3, #0 8098b58: d005 beq.n 8098b66 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8098b5a: 4a83 ldr r2, [pc, #524] ; (8098d68 ) 8098b5c: 21d2 movs r1, #210 ; 0xd2 8098b5e: 20a5 movs r0, #165 ; 0xa5 8098b60: f7bd f914 bl 8055d8c 8098b64: e004 b.n 8098b70 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8098b66: 4a81 ldr r2, [pc, #516] ; (8098d6c ) 8098b68: 21d2 movs r1, #210 ; 0xd2 8098b6a: 20a5 movs r0, #165 ; 0xa5 8098b6c: f7bd f90e bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098b70: 496c ldr r1, [pc, #432] ; (8098d24 ) 8098b72: f04f 30ff mov.w r0, #4294967295 8098b76: f7bc fb49 bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 8098b7a: 4a79 ldr r2, [pc, #484] ; (8098d60 ) 8098b7c: 21d2 movs r1, #210 ; 0xd2 8098b7e: 2032 movs r0, #50 ; 0x32 8098b80: f7bd f904 bl 8055d8c LCD_DisplayStringC(270, 210, "Äàëåå"); 8098b84: 4a7a ldr r2, [pc, #488] ; (8098d70 ) 8098b86: 21d2 movs r1, #210 ; 0xd2 8098b88: f44f 7087 mov.w r0, #270 ; 0x10e 8098b8c: f7bd f8fe bl 8055d8c break; 8098b90: e025 b.n 8098bde LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098b92: 4972 ldr r1, [pc, #456] ; (8098d5c ) 8098b94: f04f 30ff mov.w r0, #4294967295 8098b98: f7bc fb38 bl 805520c LCD_DisplayStringC(270, 210, "Äàëåå"); 8098b9c: 4a74 ldr r2, [pc, #464] ; (8098d70 ) 8098b9e: 21d2 movs r1, #210 ; 0xd2 8098ba0: f44f 7087 mov.w r0, #270 ; 0x10e 8098ba4: f7bd f8f2 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098ba8: 495e ldr r1, [pc, #376] ; (8098d24 ) 8098baa: f04f 30ff mov.w r0, #4294967295 8098bae: f7bc fb2d bl 805520c if(measuring) 8098bb2: 4b6c ldr r3, [pc, #432] ; (8098d64 ) 8098bb4: 781b ldrb r3, [r3, #0] 8098bb6: b2db uxtb r3, r3 8098bb8: 2b00 cmp r3, #0 8098bba: d005 beq.n 8098bc8 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8098bbc: 4a6a ldr r2, [pc, #424] ; (8098d68 ) 8098bbe: 21d2 movs r1, #210 ; 0xd2 8098bc0: 20a5 movs r0, #165 ; 0xa5 8098bc2: f7bd f8e3 bl 8055d8c 8098bc6: e004 b.n 8098bd2 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8098bc8: 4a68 ldr r2, [pc, #416] ; (8098d6c ) 8098bca: 21d2 movs r1, #210 ; 0xd2 8098bcc: 20a5 movs r0, #165 ; 0xa5 8098bce: f7bd f8dd bl 8055d8c LCD_DisplayStringC(50, 210, "Íàçàä"); 8098bd2: 4a63 ldr r2, [pc, #396] ; (8098d60 ) 8098bd4: 21d2 movs r1, #210 ; 0xd2 8098bd6: 2032 movs r0, #50 ; 0x32 8098bd8: f7bd f8d8 bl 8055d8c break; 8098bdc: bf00 nop break; 8098bde: e325 b.n 809922c case CALIBR_8: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8098be0: 4950 ldr r1, [pc, #320] ; (8098d24 ) 8098be2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8098be6: f7bc fb11 bl 805520c LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8098bea: 4a4f ldr r2, [pc, #316] ; (8098d28 ) 8098bec: 2128 movs r1, #40 ; 0x28 8098bee: 20a5 movs r0, #165 ; 0xa5 8098bf0: f7bd f8cc bl 8055d8c BSP_LCD_DrawLine(2, 59, 317, 59); 8098bf4: 233b movs r3, #59 ; 0x3b 8098bf6: f240 123d movw r2, #317 ; 0x13d 8098bfa: 213b movs r1, #59 ; 0x3b 8098bfc: 2002 movs r0, #2 8098bfe: f7bc fd3f bl 8055680 BSP_LCD_SetFont(&Font12); 8098c02: 484a ldr r0, [pc, #296] ; (8098d2c ) 8098c04: f7bc fb3e bl 8055284 BSP_LCD_DisplayStringAt(310, 36, "[10 / 13]", RIGHT_MODE); 8098c08: 2302 movs r3, #2 8098c0a: 4a5a ldr r2, [pc, #360] ; (8098d74 ) 8098c0c: 2124 movs r1, #36 ; 0x24 8098c0e: f44f 709b mov.w r0, #310 ; 0x136 8098c12: f7bc fbc1 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098c16: 4943 ldr r1, [pc, #268] ; (8098d24 ) 8098c18: f04f 30ff mov.w r0, #4294967295 8098c1c: f7bc faf6 bl 805520c LCD_DisplayString(5, 70, "[ZAR 1] [Ky 1]"); 8098c20: 4a55 ldr r2, [pc, #340] ; (8098d78 ) 8098c22: 2146 movs r1, #70 ; 0x46 8098c24: 2005 movs r0, #5 8098c26: f7bd f899 bl 8055d5c LCD_DisplayString(5, 95, "Input:RMS=1024ìÂ,1êÃö"); 8098c2a: 4a54 ldr r2, [pc, #336] ; (8098d7c ) 8098c2c: 215f movs r1, #95 ; 0x5f 8098c2e: 2005 movs r0, #5 8098c30: f7bd f894 bl 8055d5c LCD_DisplayString(5, 145, "Output="); 8098c34: 4a41 ldr r2, [pc, #260] ; (8098d3c ) 8098c36: 2191 movs r1, #145 ; 0x91 8098c38: 2005 movs r0, #5 8098c3a: f7bd f88f bl 8055d5c LCD_DisplayString(5, 170, "Kcorr="); 8098c3e: 4a40 ldr r2, [pc, #256] ; (8098d40 ) 8098c40: 21aa movs r1, #170 ; 0xaa 8098c42: 2005 movs r0, #5 8098c44: f7bd f88a bl 8055d5c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8098c48: 4936 ldr r1, [pc, #216] ; (8098d24 ) 8098c4a: f06f 00ff mvn.w r0, #255 ; 0xff 8098c4e: f7bc fadd bl 805520c LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8098c52: 4b3c ldr r3, [pc, #240] ; (8098d44 ) 8098c54: edd3 7a00 vldr s15, [r3] 8098c58: f06f 0003 mvn.w r0, #3 8098c5c: eeb0 0a67 vmov.f32 s0, s15 8098c60: f7cf fa9e bl 80681a0 8098c64: 4603 mov r3, r0 8098c66: 461a mov r2, r3 8098c68: 2191 movs r1, #145 ; 0x91 8098c6a: 207d movs r0, #125 ; 0x7d 8098c6c: f7bd f876 bl 8055d5c LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8098c70: 4b35 ldr r3, [pc, #212] ; (8098d48 ) 8098c72: 781b ldrb r3, [r3, #0] 8098c74: b2db uxtb r3, r3 8098c76: 3b35 subs r3, #53 ; 0x35 8098c78: 4a34 ldr r2, [pc, #208] ; (8098d4c ) 8098c7a: 009b lsls r3, r3, #2 8098c7c: 4413 add r3, r2 8098c7e: edd3 7a00 vldr s15, [r3] 8098c82: f06f 0007 mvn.w r0, #7 8098c86: eeb0 0a67 vmov.f32 s0, s15 8098c8a: f7cf fa89 bl 80681a0 8098c8e: 4603 mov r3, r0 8098c90: 461a mov r2, r3 8098c92: 21aa movs r1, #170 ; 0xaa 8098c94: 207d movs r0, #125 ; 0x7d 8098c96: f7bd f861 bl 8055d5c LCD_DisplayString(80, 40, "V"); 8098c9a: 4a2d ldr r2, [pc, #180] ; (8098d50 ) 8098c9c: 2128 movs r1, #40 ; 0x28 8098c9e: 2050 movs r0, #80 ; 0x50 8098ca0: f7bd f85c bl 8055d5c LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8098ca4: 4b2b ldr r3, [pc, #172] ; (8098d54 ) 8098ca6: edd3 7a00 vldr s15, [r3] 8098caa: f06f 0002 mvn.w r0, #2 8098cae: eeb0 0a67 vmov.f32 s0, s15 8098cb2: f7cf fa75 bl 80681a0 8098cb6: 4603 mov r3, r0 8098cb8: 461a mov r2, r3 8098cba: 2128 movs r1, #40 ; 0x28 8098cbc: 204b movs r0, #75 ; 0x4b 8098cbe: f7bd f87d bl 8055dbc switch(menupos) 8098cc2: 4b25 ldr r3, [pc, #148] ; (8098d58 ) 8098cc4: 781b ldrb r3, [r3, #0] 8098cc6: b2db uxtb r3, r3 8098cc8: 2b01 cmp r3, #1 8098cca: d059 beq.n 8098d80 8098ccc: 2b02 cmp r3, #2 8098cce: d07d beq.n 8098dcc 8098cd0: 2b00 cmp r3, #0 8098cd2: d000 beq.n 8098cd6 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8098cd4: e2aa b.n 809922c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098cd6: 4921 ldr r1, [pc, #132] ; (8098d5c ) 8098cd8: f04f 30ff mov.w r0, #4294967295 8098cdc: f7bc fa96 bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 8098ce0: 4a1f ldr r2, [pc, #124] ; (8098d60 ) 8098ce2: 21d2 movs r1, #210 ; 0xd2 8098ce4: 2032 movs r0, #50 ; 0x32 8098ce6: f7bd f851 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098cea: 490e ldr r1, [pc, #56] ; (8098d24 ) 8098cec: f04f 30ff mov.w r0, #4294967295 8098cf0: f7bc fa8c bl 805520c if(measuring) 8098cf4: 4b1b ldr r3, [pc, #108] ; (8098d64 ) 8098cf6: 781b ldrb r3, [r3, #0] 8098cf8: b2db uxtb r3, r3 8098cfa: 2b00 cmp r3, #0 8098cfc: d005 beq.n 8098d0a LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8098cfe: 4a1a ldr r2, [pc, #104] ; (8098d68 ) 8098d00: 21d2 movs r1, #210 ; 0xd2 8098d02: 20a5 movs r0, #165 ; 0xa5 8098d04: f7bd f842 bl 8055d8c 8098d08: e004 b.n 8098d14 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8098d0a: 4a18 ldr r2, [pc, #96] ; (8098d6c ) 8098d0c: 21d2 movs r1, #210 ; 0xd2 8098d0e: 20a5 movs r0, #165 ; 0xa5 8098d10: f7bd f83c bl 8055d8c LCD_DisplayStringC(270, 210, "Äàëåå"); 8098d14: 4a16 ldr r2, [pc, #88] ; (8098d70 ) 8098d16: 21d2 movs r1, #210 ; 0xd2 8098d18: f44f 7087 mov.w r0, #270 ; 0x10e 8098d1c: f7bd f836 bl 8055d8c break; 8098d20: e07a b.n 8098e18 8098d22: bf00 nop 8098d24: ff0a0f1f .word 0xff0a0f1f 8098d28: 080d6ef0 .word 0x080d6ef0 8098d2c: 20020038 .word 0x20020038 8098d30: 080d70b0 .word 0x080d70b0 8098d34: 080d70bc .word 0x080d70bc 8098d38: 080d70cc .word 0x080d70cc 8098d3c: 080d6f54 .word 0x080d6f54 8098d40: 080d6f5c .word 0x080d6f5c 8098d44: 20021590 .word 0x20021590 8098d48: 20020fc5 .word 0x20020fc5 8098d4c: 200261f4 .word 0x200261f4 8098d50: 080d5110 .word 0x080d5110 8098d54: 20020000 .word 0x20020000 8098d58: 20020070 .word 0x20020070 8098d5c: ff606060 .word 0xff606060 8098d60: 080d6fb0 .word 0x080d6fb0 8098d64: 20020dcf .word 0x20020dcf 8098d68: 080d6f64 .word 0x080d6f64 8098d6c: 080d6f70 .word 0x080d6f70 8098d70: 080d5804 .word 0x080d5804 8098d74: 080d70e4 .word 0x080d70e4 8098d78: 080d70f0 .word 0x080d70f0 8098d7c: 080d6f3c .word 0x080d6f3c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098d80: 49c7 ldr r1, [pc, #796] ; (80990a0 ) 8098d82: f04f 30ff mov.w r0, #4294967295 8098d86: f7bc fa41 bl 805520c if(measuring) 8098d8a: 4bc6 ldr r3, [pc, #792] ; (80990a4 ) 8098d8c: 781b ldrb r3, [r3, #0] 8098d8e: b2db uxtb r3, r3 8098d90: 2b00 cmp r3, #0 8098d92: d005 beq.n 8098da0 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8098d94: 4ac4 ldr r2, [pc, #784] ; (80990a8 ) 8098d96: 21d2 movs r1, #210 ; 0xd2 8098d98: 20a5 movs r0, #165 ; 0xa5 8098d9a: f7bc fff7 bl 8055d8c 8098d9e: e004 b.n 8098daa else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8098da0: 4ac2 ldr r2, [pc, #776] ; (80990ac ) 8098da2: 21d2 movs r1, #210 ; 0xd2 8098da4: 20a5 movs r0, #165 ; 0xa5 8098da6: f7bc fff1 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098daa: 49c1 ldr r1, [pc, #772] ; (80990b0 ) 8098dac: f04f 30ff mov.w r0, #4294967295 8098db0: f7bc fa2c bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 8098db4: 4abf ldr r2, [pc, #764] ; (80990b4 ) 8098db6: 21d2 movs r1, #210 ; 0xd2 8098db8: 2032 movs r0, #50 ; 0x32 8098dba: f7bc ffe7 bl 8055d8c LCD_DisplayStringC(270, 210, "Äàëåå"); 8098dbe: 4abe ldr r2, [pc, #760] ; (80990b8 ) 8098dc0: 21d2 movs r1, #210 ; 0xd2 8098dc2: f44f 7087 mov.w r0, #270 ; 0x10e 8098dc6: f7bc ffe1 bl 8055d8c break; 8098dca: e025 b.n 8098e18 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098dcc: 49b4 ldr r1, [pc, #720] ; (80990a0 ) 8098dce: f04f 30ff mov.w r0, #4294967295 8098dd2: f7bc fa1b bl 805520c LCD_DisplayStringC(270, 210, "Äàëåå"); 8098dd6: 4ab8 ldr r2, [pc, #736] ; (80990b8 ) 8098dd8: 21d2 movs r1, #210 ; 0xd2 8098dda: f44f 7087 mov.w r0, #270 ; 0x10e 8098dde: f7bc ffd5 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098de2: 49b3 ldr r1, [pc, #716] ; (80990b0 ) 8098de4: f04f 30ff mov.w r0, #4294967295 8098de8: f7bc fa10 bl 805520c if(measuring) 8098dec: 4bad ldr r3, [pc, #692] ; (80990a4 ) 8098dee: 781b ldrb r3, [r3, #0] 8098df0: b2db uxtb r3, r3 8098df2: 2b00 cmp r3, #0 8098df4: d005 beq.n 8098e02 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8098df6: 4aac ldr r2, [pc, #688] ; (80990a8 ) 8098df8: 21d2 movs r1, #210 ; 0xd2 8098dfa: 20a5 movs r0, #165 ; 0xa5 8098dfc: f7bc ffc6 bl 8055d8c 8098e00: e004 b.n 8098e0c else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8098e02: 4aaa ldr r2, [pc, #680] ; (80990ac ) 8098e04: 21d2 movs r1, #210 ; 0xd2 8098e06: 20a5 movs r0, #165 ; 0xa5 8098e08: f7bc ffc0 bl 8055d8c LCD_DisplayStringC(50, 210, "Íàçàä"); 8098e0c: 4aa9 ldr r2, [pc, #676] ; (80990b4 ) 8098e0e: 21d2 movs r1, #210 ; 0xd2 8098e10: 2032 movs r0, #50 ; 0x32 8098e12: f7bc ffbb bl 8055d8c break; 8098e16: bf00 nop break; 8098e18: e208 b.n 809922c case CALIBR_9: // LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8098e1a: 49a5 ldr r1, [pc, #660] ; (80990b0 ) 8098e1c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8098e20: f7bc f9f4 bl 805520c LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8098e24: 4aa5 ldr r2, [pc, #660] ; (80990bc ) 8098e26: 2128 movs r1, #40 ; 0x28 8098e28: 20a5 movs r0, #165 ; 0xa5 8098e2a: f7bc ffaf bl 8055d8c BSP_LCD_DrawLine(2, 59, 317, 59); 8098e2e: 233b movs r3, #59 ; 0x3b 8098e30: f240 123d movw r2, #317 ; 0x13d 8098e34: 213b movs r1, #59 ; 0x3b 8098e36: 2002 movs r0, #2 8098e38: f7bc fc22 bl 8055680 BSP_LCD_SetFont(&Font12); 8098e3c: 48a0 ldr r0, [pc, #640] ; (80990c0 ) 8098e3e: f7bc fa21 bl 8055284 BSP_LCD_DisplayStringAt(310, 36, "[11 / 13]", RIGHT_MODE); 8098e42: 2302 movs r3, #2 8098e44: 4a9f ldr r2, [pc, #636] ; (80990c4 ) 8098e46: 2124 movs r1, #36 ; 0x24 8098e48: f44f 709b mov.w r0, #310 ; 0x136 8098e4c: f7bc faa4 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098e50: 4997 ldr r1, [pc, #604] ; (80990b0 ) 8098e52: f04f 30ff mov.w r0, #4294967295 8098e56: f7bc f9d9 bl 805520c LCD_DisplayString(5, 70, "Óñòàíîâèòü íàïðÿæåíèå"); 8098e5a: 4a9b ldr r2, [pc, #620] ; (80990c8 ) 8098e5c: 2146 movs r1, #70 ; 0x46 8098e5e: 2005 movs r0, #5 8098e60: f7bc ff7c bl 8055d5c LCD_DisplayString(5, 95, "íà áàòàðåå 3.50 Â"); 8098e64: 4a99 ldr r2, [pc, #612] ; (80990cc ) 8098e66: 215f movs r1, #95 ; 0x5f 8098e68: 2005 movs r0, #5 8098e6a: f7bc ff77 bl 8055d5c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8098e6e: 4990 ldr r1, [pc, #576] ; (80990b0 ) 8098e70: f06f 00ff mvn.w r0, #255 ; 0xff 8098e74: f7bc f9ca bl 805520c LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8098e78: 4b95 ldr r3, [pc, #596] ; (80990d0 ) 8098e7a: edd3 7a00 vldr s15, [r3] 8098e7e: f06f 0002 mvn.w r0, #2 8098e82: eeb0 0a67 vmov.f32 s0, s15 8098e86: f7cf f98b bl 80681a0 8098e8a: 4603 mov r3, r0 8098e8c: 461a mov r2, r3 8098e8e: 2128 movs r1, #40 ; 0x28 8098e90: 204b movs r0, #75 ; 0x4b 8098e92: f7bc ff93 bl 8055dbc switch(menupos) 8098e96: 4b8f ldr r3, [pc, #572] ; (80990d4 ) 8098e98: 781b ldrb r3, [r3, #0] 8098e9a: b2db uxtb r3, r3 8098e9c: 2b00 cmp r3, #0 8098e9e: d002 beq.n 8098ea6 8098ea0: 2b01 cmp r3, #1 8098ea2: d016 beq.n 8098ed2 LCD_DisplayStringC(270, 210, "Äàëåå"); LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8098ea4: e1c2 b.n 809922c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098ea6: 497e ldr r1, [pc, #504] ; (80990a0 ) 8098ea8: f04f 30ff mov.w r0, #4294967295 8098eac: f7bc f9ae bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 8098eb0: 4a80 ldr r2, [pc, #512] ; (80990b4 ) 8098eb2: 21d2 movs r1, #210 ; 0xd2 8098eb4: 2032 movs r0, #50 ; 0x32 8098eb6: f7bc ff69 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098eba: 497d ldr r1, [pc, #500] ; (80990b0 ) 8098ebc: f04f 30ff mov.w r0, #4294967295 8098ec0: f7bc f9a4 bl 805520c LCD_DisplayStringC(270, 210, "Äàëåå"); 8098ec4: 4a7c ldr r2, [pc, #496] ; (80990b8 ) 8098ec6: 21d2 movs r1, #210 ; 0xd2 8098ec8: f44f 7087 mov.w r0, #270 ; 0x10e 8098ecc: f7bc ff5e bl 8055d8c break; 8098ed0: e015 b.n 8098efe LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098ed2: 4973 ldr r1, [pc, #460] ; (80990a0 ) 8098ed4: f04f 30ff mov.w r0, #4294967295 8098ed8: f7bc f998 bl 805520c LCD_DisplayStringC(270, 210, "Äàëåå"); 8098edc: 4a76 ldr r2, [pc, #472] ; (80990b8 ) 8098ede: 21d2 movs r1, #210 ; 0xd2 8098ee0: f44f 7087 mov.w r0, #270 ; 0x10e 8098ee4: f7bc ff52 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098ee8: 4971 ldr r1, [pc, #452] ; (80990b0 ) 8098eea: f04f 30ff mov.w r0, #4294967295 8098eee: f7bc f98d bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 8098ef2: 4a70 ldr r2, [pc, #448] ; (80990b4 ) 8098ef4: 21d2 movs r1, #210 ; 0xd2 8098ef6: 2032 movs r0, #50 ; 0x32 8098ef8: f7bc ff48 bl 8055d8c break; 8098efc: bf00 nop break; 8098efe: e195 b.n 809922c case CALIBR_10: // LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8098f00: 496b ldr r1, [pc, #428] ; (80990b0 ) 8098f02: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8098f06: f7bc f981 bl 805520c LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8098f0a: 4a6c ldr r2, [pc, #432] ; (80990bc ) 8098f0c: 2128 movs r1, #40 ; 0x28 8098f0e: 20a5 movs r0, #165 ; 0xa5 8098f10: f7bc ff3c bl 8055d8c BSP_LCD_DrawLine(2, 59, 317, 59); 8098f14: 233b movs r3, #59 ; 0x3b 8098f16: f240 123d movw r2, #317 ; 0x13d 8098f1a: 213b movs r1, #59 ; 0x3b 8098f1c: 2002 movs r0, #2 8098f1e: f7bc fbaf bl 8055680 BSP_LCD_SetFont(&Font12); 8098f22: 4867 ldr r0, [pc, #412] ; (80990c0 ) 8098f24: f7bc f9ae bl 8055284 BSP_LCD_DisplayStringAt(310, 36, "[12 / 13]", RIGHT_MODE); 8098f28: 2302 movs r3, #2 8098f2a: 4a6b ldr r2, [pc, #428] ; (80990d8 ) 8098f2c: 2124 movs r1, #36 ; 0x24 8098f2e: f44f 709b mov.w r0, #310 ; 0x136 8098f32: f7bc fa31 bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098f36: 495e ldr r1, [pc, #376] ; (80990b0 ) 8098f38: f04f 30ff mov.w r0, #4294967295 8098f3c: f7bc f966 bl 805520c LCD_DisplayString(5, 70, "Óñòàíîâèòü íàïðÿæåíèå"); 8098f40: 4a61 ldr r2, [pc, #388] ; (80990c8 ) 8098f42: 2146 movs r1, #70 ; 0x46 8098f44: 2005 movs r0, #5 8098f46: f7bc ff09 bl 8055d5c LCD_DisplayString(5, 95, "íà áàòàðåå 4.20 Â"); 8098f4a: 4a64 ldr r2, [pc, #400] ; (80990dc ) 8098f4c: 215f movs r1, #95 ; 0x5f 8098f4e: 2005 movs r0, #5 8098f50: f7bc ff04 bl 8055d5c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8098f54: 4956 ldr r1, [pc, #344] ; (80990b0 ) 8098f56: f06f 00ff mvn.w r0, #255 ; 0xff 8098f5a: f7bc f957 bl 805520c LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8098f5e: 4b5c ldr r3, [pc, #368] ; (80990d0 ) 8098f60: edd3 7a00 vldr s15, [r3] 8098f64: f06f 0002 mvn.w r0, #2 8098f68: eeb0 0a67 vmov.f32 s0, s15 8098f6c: f7cf f918 bl 80681a0 8098f70: 4603 mov r3, r0 8098f72: 461a mov r2, r3 8098f74: 2128 movs r1, #40 ; 0x28 8098f76: 204b movs r0, #75 ; 0x4b 8098f78: f7bc ff20 bl 8055dbc switch(menupos) 8098f7c: 4b55 ldr r3, [pc, #340] ; (80990d4 ) 8098f7e: 781b ldrb r3, [r3, #0] 8098f80: b2db uxtb r3, r3 8098f82: 2b00 cmp r3, #0 8098f84: d002 beq.n 8098f8c 8098f86: 2b01 cmp r3, #1 8098f88: d016 beq.n 8098fb8 LCD_DisplayStringC(270, 210, "Äàëåå"); LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8098f8a: e14f b.n 809922c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098f8c: 4944 ldr r1, [pc, #272] ; (80990a0 ) 8098f8e: f04f 30ff mov.w r0, #4294967295 8098f92: f7bc f93b bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 8098f96: 4a47 ldr r2, [pc, #284] ; (80990b4 ) 8098f98: 21d2 movs r1, #210 ; 0xd2 8098f9a: 2032 movs r0, #50 ; 0x32 8098f9c: f7bc fef6 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098fa0: 4943 ldr r1, [pc, #268] ; (80990b0 ) 8098fa2: f04f 30ff mov.w r0, #4294967295 8098fa6: f7bc f931 bl 805520c LCD_DisplayStringC(270, 210, "Äàëåå"); 8098faa: 4a43 ldr r2, [pc, #268] ; (80990b8 ) 8098fac: 21d2 movs r1, #210 ; 0xd2 8098fae: f44f 7087 mov.w r0, #270 ; 0x10e 8098fb2: f7bc feeb bl 8055d8c break; 8098fb6: e015 b.n 8098fe4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098fb8: 4939 ldr r1, [pc, #228] ; (80990a0 ) 8098fba: f04f 30ff mov.w r0, #4294967295 8098fbe: f7bc f925 bl 805520c LCD_DisplayStringC(270, 210, "Äàëåå"); 8098fc2: 4a3d ldr r2, [pc, #244] ; (80990b8 ) 8098fc4: 21d2 movs r1, #210 ; 0xd2 8098fc6: f44f 7087 mov.w r0, #270 ; 0x10e 8098fca: f7bc fedf bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098fce: 4938 ldr r1, [pc, #224] ; (80990b0 ) 8098fd0: f04f 30ff mov.w r0, #4294967295 8098fd4: f7bc f91a bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 8098fd8: 4a36 ldr r2, [pc, #216] ; (80990b4 ) 8098fda: 21d2 movs r1, #210 ; 0xd2 8098fdc: 2032 movs r0, #50 ; 0x32 8098fde: f7bc fed5 bl 8055d8c break; 8098fe2: bf00 nop break; 8098fe4: e122 b.n 809922c case CALIBR_11: // LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8098fe6: 4932 ldr r1, [pc, #200] ; (80990b0 ) 8098fe8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8098fec: f7bc f90e bl 805520c LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8098ff0: 4a32 ldr r2, [pc, #200] ; (80990bc ) 8098ff2: 2128 movs r1, #40 ; 0x28 8098ff4: 20a5 movs r0, #165 ; 0xa5 8098ff6: f7bc fec9 bl 8055d8c BSP_LCD_DrawLine(2, 59, 317, 59); 8098ffa: 233b movs r3, #59 ; 0x3b 8098ffc: f240 123d movw r2, #317 ; 0x13d 8099000: 213b movs r1, #59 ; 0x3b 8099002: 2002 movs r0, #2 8099004: f7bc fb3c bl 8055680 BSP_LCD_SetFont(&Font12); 8099008: 482d ldr r0, [pc, #180] ; (80990c0 ) 809900a: f7bc f93b bl 8055284 BSP_LCD_DisplayStringAt(310, 36, "[13 / 13]", RIGHT_MODE); 809900e: 2302 movs r3, #2 8099010: 4a33 ldr r2, [pc, #204] ; (80990e0 ) 8099012: 2124 movs r1, #36 ; 0x24 8099014: f44f 709b mov.w r0, #310 ; 0x136 8099018: f7bc f9be bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809901c: 4924 ldr r1, [pc, #144] ; (80990b0 ) 809901e: f04f 30ff mov.w r0, #4294967295 8099022: f7bc f8f3 bl 805520c LCD_DisplayString(5, 70, "Êàëèáðîâêà îêîí÷åíà!"); 8099026: 4a2f ldr r2, [pc, #188] ; (80990e4 ) 8099028: 2146 movs r1, #70 ; 0x46 809902a: 2005 movs r0, #5 809902c: f7bc fe96 bl 8055d5c LCD_DisplayString(5, 95, "Íå çàáóäü ñîõðàíèòü!"); 8099030: 4a2d ldr r2, [pc, #180] ; (80990e8 ) 8099032: 215f movs r1, #95 ; 0x5f 8099034: 2005 movs r0, #5 8099036: f7bc fe91 bl 8055d5c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809903a: 491d ldr r1, [pc, #116] ; (80990b0 ) 809903c: f06f 00ff mvn.w r0, #255 ; 0xff 8099040: f7bc f8e4 bl 805520c LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8099044: 4b22 ldr r3, [pc, #136] ; (80990d0 ) 8099046: edd3 7a00 vldr s15, [r3] 809904a: f06f 0002 mvn.w r0, #2 809904e: eeb0 0a67 vmov.f32 s0, s15 8099052: f7cf f8a5 bl 80681a0 8099056: 4603 mov r3, r0 8099058: 461a mov r2, r3 809905a: 2128 movs r1, #40 ; 0x28 809905c: 204b movs r0, #75 ; 0x4b 809905e: f7bc fead bl 8055dbc switch(menupos) 8099062: 4b1c ldr r3, [pc, #112] ; (80990d4 ) 8099064: 781b ldrb r3, [r3, #0] 8099066: b2db uxtb r3, r3 8099068: 2b00 cmp r3, #0 809906a: d002 beq.n 8099072 809906c: 2b01 cmp r3, #1 809906e: d03f beq.n 80990f0 LCD_DisplayStringC(270, 210, "Ñîõð"); LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8099070: e0dc b.n 809922c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8099072: 490b ldr r1, [pc, #44] ; (80990a0 ) 8099074: f04f 30ff mov.w r0, #4294967295 8099078: f7bc f8c8 bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 809907c: 4a0d ldr r2, [pc, #52] ; (80990b4 ) 809907e: 21d2 movs r1, #210 ; 0xd2 8099080: 2032 movs r0, #50 ; 0x32 8099082: f7bc fe83 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8099086: 490a ldr r1, [pc, #40] ; (80990b0 ) 8099088: f04f 30ff mov.w r0, #4294967295 809908c: f7bc f8be bl 805520c LCD_DisplayStringC(270, 210, "Ñîõð"); 8099090: 4a16 ldr r2, [pc, #88] ; (80990ec ) 8099092: 21d2 movs r1, #210 ; 0xd2 8099094: f44f 7087 mov.w r0, #270 ; 0x10e 8099098: f7bc fe78 bl 8055d8c break; 809909c: e03e b.n 809911c 809909e: bf00 nop 80990a0: ff606060 .word 0xff606060 80990a4: 20020dcf .word 0x20020dcf 80990a8: 080d6f64 .word 0x080d6f64 80990ac: 080d6f70 .word 0x080d6f70 80990b0: ff0a0f1f .word 0xff0a0f1f 80990b4: 080d6fb0 .word 0x080d6fb0 80990b8: 080d5804 .word 0x080d5804 80990bc: 080d6ef0 .word 0x080d6ef0 80990c0: 20020038 .word 0x20020038 80990c4: 080d7100 .word 0x080d7100 80990c8: 080d710c .word 0x080d710c 80990cc: 080d7124 .word 0x080d7124 80990d0: 20020000 .word 0x20020000 80990d4: 20020070 .word 0x20020070 80990d8: 080d7138 .word 0x080d7138 80990dc: 080d7144 .word 0x080d7144 80990e0: 080d7158 .word 0x080d7158 80990e4: 080d7164 .word 0x080d7164 80990e8: 080d717c .word 0x080d717c 80990ec: 080d7194 .word 0x080d7194 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80990f0: 495b ldr r1, [pc, #364] ; (8099260 ) 80990f2: f04f 30ff mov.w r0, #4294967295 80990f6: f7bc f889 bl 805520c LCD_DisplayStringC(270, 210, "Ñîõð"); 80990fa: 4a5a ldr r2, [pc, #360] ; (8099264 ) 80990fc: 21d2 movs r1, #210 ; 0xd2 80990fe: f44f 7087 mov.w r0, #270 ; 0x10e 8099102: f7bc fe43 bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8099106: 4958 ldr r1, [pc, #352] ; (8099268 ) 8099108: f04f 30ff mov.w r0, #4294967295 809910c: f7bc f87e bl 805520c LCD_DisplayStringC(50, 210, "Íàçàä"); 8099110: 4a56 ldr r2, [pc, #344] ; (809926c ) 8099112: 21d2 movs r1, #210 ; 0xd2 8099114: 2032 movs r0, #50 ; 0x32 8099116: f7bc fe39 bl 8055d8c break; 809911a: bf00 nop break; 809911c: e086 b.n 809922c case CALIBR_OFFSET: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809911e: 4952 ldr r1, [pc, #328] ; (8099268 ) 8099120: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8099124: f7bc f872 bl 805520c LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ ÍÓËß"); 8099128: 4a51 ldr r2, [pc, #324] ; (8099270 ) 809912a: 2128 movs r1, #40 ; 0x28 809912c: 20a5 movs r0, #165 ; 0xa5 809912e: f7bc fe2d bl 8055d8c BSP_LCD_DrawLine(2, 59, 317, 59); 8099132: 233b movs r3, #59 ; 0x3b 8099134: f240 123d movw r2, #317 ; 0x13d 8099138: 213b movs r1, #59 ; 0x3b 809913a: 2002 movs r0, #2 809913c: f7bc faa0 bl 8055680 BSP_LCD_SetFont(&Font12); 8099140: 484c ldr r0, [pc, #304] ; (8099274 ) 8099142: f7bc f89f bl 8055284 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8099146: 4948 ldr r1, [pc, #288] ; (8099268 ) 8099148: f06f 00ff mvn.w r0, #255 ; 0xff 809914c: f7bc f85e bl 805520c LCD_DisplayStringC(165, 120, (char *) FloatToASCII(MEAN_TEMP, -3)); 8099150: 4b49 ldr r3, [pc, #292] ; (8099278 ) 8099152: edd3 7a00 vldr s15, [r3] 8099156: f06f 0002 mvn.w r0, #2 809915a: eeb0 0a67 vmov.f32 s0, s15 809915e: f7cf f81f bl 80681a0 8099162: 4603 mov r3, r0 8099164: 461a mov r2, r3 8099166: 2178 movs r1, #120 ; 0x78 8099168: 20a5 movs r0, #165 ; 0xa5 809916a: f7bc fe0f bl 8055d8c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809916e: 493c ldr r1, [pc, #240] ; (8099260 ) 8099170: f04f 30ff mov.w r0, #4294967295 8099174: f7bc f84a bl 805520c LCD_DisplayStringC(165, 210, "Ñîõðàíèòü"); 8099178: 4a40 ldr r2, [pc, #256] ; (809927c ) 809917a: 21d2 movs r1, #210 ; 0xd2 809917c: 20a5 movs r0, #165 ; 0xa5 809917e: f7bc fe05 bl 8055d8c break; 8099182: e053 b.n 809922c case LINK_PC: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8099184: 4938 ldr r1, [pc, #224] ; (8099268 ) 8099186: f04f 30ff mov.w r0, #4294967295 809918a: f7bc f83f bl 805520c BSP_LCD_SetFont(&Font12); 809918e: 4839 ldr r0, [pc, #228] ; (8099274 ) 8099190: f7bc f878 bl 8055284 if(pardata.LANG == RUS) 8099194: 4b3a ldr r3, [pc, #232] ; (8099280 ) 8099196: 7b1b ldrb r3, [r3, #12] 8099198: b2db uxtb r3, r3 809919a: 2b00 cmp r3, #0 809919c: d106 bne.n 80991ac BSP_LCD_DisplayStringAt(160, 120, "[USB ñîåäèíåíèå óñòàíîâëåíî]", CENTER_MODE); 809919e: 2301 movs r3, #1 80991a0: 4a38 ldr r2, [pc, #224] ; (8099284 ) 80991a2: 2178 movs r1, #120 ; 0x78 80991a4: 20a0 movs r0, #160 ; 0xa0 80991a6: f7bc f8f7 bl 8055398 80991aa: e005 b.n 80991b8 else BSP_LCD_DisplayStringAt(160, 120, "[USB connection is done]", CENTER_MODE); 80991ac: 2301 movs r3, #1 80991ae: 4a36 ldr r2, [pc, #216] ; (8099288 ) 80991b0: 2178 movs r1, #120 ; 0x78 80991b2: 20a0 movs r0, #160 ; 0xa0 80991b4: f7bc f8f0 bl 8055398 DrawImage(&bmLINK_PC, 225, 5); 80991b8: 2205 movs r2, #5 80991ba: 21e1 movs r1, #225 ; 0xe1 80991bc: 4833 ldr r0, [pc, #204] ; (809928c ) 80991be: f7bc ff19 bl 8055ff4 break; 80991c2: e033 b.n 809922c case POWER_OFF: BSP_LCD_Clear(0xFF000000); 80991c4: f04f 407f mov.w r0, #4278190080 ; 0xff000000 80991c8: f7bc f87a bl 80552c0 DrawBat(); 80991cc: f7d0 fd2c bl 8069c28 break; 80991d0: e02c b.n 809922c break; 80991d2: bf00 nop 80991d4: e02a b.n 809922c break; 80991d6: bf00 nop 80991d8: e028 b.n 809922c break; 80991da: bf00 nop 80991dc: e026 b.n 809922c break; 80991de: bf00 nop 80991e0: e024 b.n 809922c break; 80991e2: bf00 nop 80991e4: e022 b.n 809922c break; 80991e6: bf00 nop 80991e8: e020 b.n 809922c break; 80991ea: bf00 nop 80991ec: e01e b.n 809922c break; 80991ee: bf00 nop 80991f0: e01c b.n 809922c break; 80991f2: bf00 nop 80991f4: e01a b.n 809922c break; 80991f6: bf00 nop 80991f8: e018 b.n 809922c break; 80991fa: bf00 nop 80991fc: e016 b.n 809922c break; 80991fe: bf00 nop 8099200: e014 b.n 809922c break; 8099202: bf00 nop 8099204: e012 b.n 809922c break; 8099206: bf00 nop 8099208: e010 b.n 809922c break; 809920a: bf00 nop 809920c: e00e b.n 809922c break; 809920e: bf00 nop 8099210: e00c b.n 809922c break; 8099212: bf00 nop 8099214: e00a b.n 809922c break; 8099216: bf00 nop 8099218: e008 b.n 809922c break; 809921a: bf00 nop 809921c: e006 b.n 809922c break; 809921e: bf00 nop 8099220: e004 b.n 809922c break; 8099222: bf00 nop 8099224: e002 b.n 809922c break; 8099226: bf00 nop 8099228: e000 b.n 809922c break; 809922a: bf00 nop //******************************************************************************************************************************** } if(menu != LOW_BAT) 809922c: 4b18 ldr r3, [pc, #96] ; (8099290 ) 809922e: 781b ldrb r3, [r3, #0] 8099230: b2db uxtb r3, r3 8099232: 2b48 cmp r3, #72 ; 0x48 8099234: d003 beq.n 809923e { DrawSpinner(); 8099236: f000 fb4f bl 80998d8 DisplayStatus(); 809923a: f000 fc91 bl 8099b60 } Redrawing = false; 809923e: 4b15 ldr r3, [pc, #84] ; (8099294 ) 8099240: 2200 movs r2, #0 8099242: 701a strb r2, [r3, #0] RefreshScreen = true; 8099244: 4b14 ldr r3, [pc, #80] ; (8099298 ) 8099246: 2201 movs r2, #1 8099248: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 809924a: 2100 movs r1, #0 809924c: 4813 ldr r0, [pc, #76] ; (809929c ) 809924e: f021 fa9d bl 80ba78c 8099252: e000 b.n 8099256 return; 8099254: bf00 nop //************************************************************************************************************** //************************************************************************************************************** } 8099256: f207 4774 addw r7, r7, #1140 ; 0x474 809925a: 46bd mov sp, r7 809925c: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 8099260: ff606060 .word 0xff606060 8099264: 080d7194 .word 0x080d7194 8099268: ff0a0f1f .word 0xff0a0f1f 809926c: 080d6fb0 .word 0x080d6fb0 8099270: 080d719c .word 0x080d719c 8099274: 20020038 .word 0x20020038 8099278: 200209dc .word 0x200209dc 809927c: 080d71ac .word 0x080d71ac 8099280: 20023eb8 .word 0x20023eb8 8099284: 080d71b8 .word 0x080d71b8 8099288: 080d71d8 .word 0x080d71d8 809928c: 08134e14 .word 0x08134e14 8099290: 20020fc5 .word 0x20020fc5 8099294: 20021688 .word 0x20021688 8099298: 2002104c .word 0x2002104c 809929c: 20025d80 .word 0x20025d80 080992a0 : void DrawMySpinner(uint16_t x, uint16_t y) // { 80992a0: b580 push {r7, lr} 80992a2: b082 sub sp, #8 80992a4: af00 add r7, sp, #0 80992a6: 4603 mov r3, r0 80992a8: 460a mov r2, r1 80992aa: 80fb strh r3, [r7, #6] 80992ac: 4613 mov r3, r2 80992ae: 80bb strh r3, [r7, #4] static uint32_t rotate = 0; switch(rotate) 80992b0: 4b92 ldr r3, [pc, #584] ; (80994fc ) 80992b2: 681b ldr r3, [r3, #0] 80992b4: 2b07 cmp r3, #7 80992b6: f200 82f5 bhi.w 80998a4 80992ba: a201 add r2, pc, #4 ; (adr r2, 80992c0 ) 80992bc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80992c0: 080992e1 .word 0x080992e1 80992c4: 08099395 .word 0x08099395 80992c8: 08099449 .word 0x08099449 80992cc: 08099511 .word 0x08099511 80992d0: 080995c5 .word 0x080995c5 80992d4: 08099679 .word 0x08099679 80992d8: 0809972d .word 0x0809972d 80992dc: 080997f1 .word 0x080997f1 { case 0: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80992e0: 4987 ldr r1, [pc, #540] ; (8099500 ) 80992e2: f04f 30ff mov.w r0, #4294967295 80992e6: f7bb ff91 bl 805520c BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 80992ea: 88bb ldrh r3, [r7, #4] 80992ec: 330a adds r3, #10 80992ee: b299 uxth r1, r3 80992f0: 88fb ldrh r3, [r7, #6] 80992f2: 2203 movs r2, #3 80992f4: 4618 mov r0, r3 80992f6: f7bc fc91 bl 8055c1c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80992fa: 4981 ldr r1, [pc, #516] ; (8099500 ) 80992fc: 4881 ldr r0, [pc, #516] ; (8099504 ) 80992fe: f7bb ff85 bl 805520c BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 8099302: 88fb ldrh r3, [r7, #6] 8099304: 3307 adds r3, #7 8099306: b298 uxth r0, r3 8099308: 88bb ldrh r3, [r7, #4] 809930a: 3307 adds r3, #7 809930c: b29b uxth r3, r3 809930e: 2203 movs r2, #3 8099310: 4619 mov r1, r3 8099312: f7bc fc83 bl 8055c1c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8099316: 497a ldr r1, [pc, #488] ; (8099500 ) 8099318: 487b ldr r0, [pc, #492] ; (8099508 ) 809931a: f7bb ff77 bl 805520c BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 809931e: 88fb ldrh r3, [r7, #6] 8099320: 330a adds r3, #10 8099322: b29b uxth r3, r3 8099324: 88b9 ldrh r1, [r7, #4] 8099326: 2203 movs r2, #3 8099328: 4618 mov r0, r3 809932a: f7bc fc77 bl 8055c1c LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 809932e: 4974 ldr r1, [pc, #464] ; (8099500 ) 8099330: 4876 ldr r0, [pc, #472] ; (809950c ) 8099332: f7bb ff6b bl 805520c BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8099336: 88fb ldrh r3, [r7, #6] 8099338: 3b07 subs r3, #7 809933a: b298 uxth r0, r3 809933c: 88bb ldrh r3, [r7, #4] 809933e: 3307 adds r3, #7 8099340: b29b uxth r3, r3 8099342: 2203 movs r2, #3 8099344: 4619 mov r1, r3 8099346: f7bc fc69 bl 8055c1c BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 809934a: 88fb ldrh r3, [r7, #6] 809934c: 3b0a subs r3, #10 809934e: b29b uxth r3, r3 8099350: 88b9 ldrh r1, [r7, #4] 8099352: 2203 movs r2, #3 8099354: 4618 mov r0, r3 8099356: f7bc fc61 bl 8055c1c BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 809935a: 88fb ldrh r3, [r7, #6] 809935c: 3b07 subs r3, #7 809935e: b298 uxth r0, r3 8099360: 88bb ldrh r3, [r7, #4] 8099362: 3b07 subs r3, #7 8099364: b29b uxth r3, r3 8099366: 2203 movs r2, #3 8099368: 4619 mov r1, r3 809936a: f7bc fc57 bl 8055c1c BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 809936e: 88bb ldrh r3, [r7, #4] 8099370: 3b0a subs r3, #10 8099372: b299 uxth r1, r3 8099374: 88fb ldrh r3, [r7, #6] 8099376: 2203 movs r2, #3 8099378: 4618 mov r0, r3 809937a: f7bc fc4f bl 8055c1c BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 809937e: 88fb ldrh r3, [r7, #6] 8099380: 3307 adds r3, #7 8099382: b298 uxth r0, r3 8099384: 88bb ldrh r3, [r7, #4] 8099386: 3b07 subs r3, #7 8099388: b29b uxth r3, r3 809938a: 2203 movs r2, #3 809938c: 4619 mov r1, r3 809938e: f7bc fc45 bl 8055c1c break; 8099392: e287 b.n 80998a4 case 1: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8099394: 495a ldr r1, [pc, #360] ; (8099500 ) 8099396: f04f 30ff mov.w r0, #4294967295 809939a: f7bb ff37 bl 805520c BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 809939e: 88fb ldrh r3, [r7, #6] 80993a0: 3b07 subs r3, #7 80993a2: b298 uxth r0, r3 80993a4: 88bb ldrh r3, [r7, #4] 80993a6: 3307 adds r3, #7 80993a8: b29b uxth r3, r3 80993aa: 2203 movs r2, #3 80993ac: 4619 mov r1, r3 80993ae: f7bc fc35 bl 8055c1c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80993b2: 4953 ldr r1, [pc, #332] ; (8099500 ) 80993b4: 4853 ldr r0, [pc, #332] ; (8099504 ) 80993b6: f7bb ff29 bl 805520c BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 80993ba: 88bb ldrh r3, [r7, #4] 80993bc: 330a adds r3, #10 80993be: b299 uxth r1, r3 80993c0: 88fb ldrh r3, [r7, #6] 80993c2: 2203 movs r2, #3 80993c4: 4618 mov r0, r3 80993c6: f7bc fc29 bl 8055c1c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80993ca: 494d ldr r1, [pc, #308] ; (8099500 ) 80993cc: 484e ldr r0, [pc, #312] ; (8099508 ) 80993ce: f7bb ff1d bl 805520c BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 80993d2: 88fb ldrh r3, [r7, #6] 80993d4: 3307 adds r3, #7 80993d6: b298 uxth r0, r3 80993d8: 88bb ldrh r3, [r7, #4] 80993da: 3307 adds r3, #7 80993dc: b29b uxth r3, r3 80993de: 2203 movs r2, #3 80993e0: 4619 mov r1, r3 80993e2: f7bc fc1b bl 8055c1c LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80993e6: 4946 ldr r1, [pc, #280] ; (8099500 ) 80993e8: 4848 ldr r0, [pc, #288] ; (809950c ) 80993ea: f7bb ff0f bl 805520c BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 80993ee: 88fb ldrh r3, [r7, #6] 80993f0: 3b0a subs r3, #10 80993f2: b29b uxth r3, r3 80993f4: 88b9 ldrh r1, [r7, #4] 80993f6: 2203 movs r2, #3 80993f8: 4618 mov r0, r3 80993fa: f7bc fc0f bl 8055c1c BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 80993fe: 88fb ldrh r3, [r7, #6] 8099400: 3b07 subs r3, #7 8099402: b298 uxth r0, r3 8099404: 88bb ldrh r3, [r7, #4] 8099406: 3b07 subs r3, #7 8099408: b29b uxth r3, r3 809940a: 2203 movs r2, #3 809940c: 4619 mov r1, r3 809940e: f7bc fc05 bl 8055c1c BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 8099412: 88bb ldrh r3, [r7, #4] 8099414: 3b0a subs r3, #10 8099416: b299 uxth r1, r3 8099418: 88fb ldrh r3, [r7, #6] 809941a: 2203 movs r2, #3 809941c: 4618 mov r0, r3 809941e: f7bc fbfd bl 8055c1c BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 8099422: 88fb ldrh r3, [r7, #6] 8099424: 3307 adds r3, #7 8099426: b298 uxth r0, r3 8099428: 88bb ldrh r3, [r7, #4] 809942a: 3b07 subs r3, #7 809942c: b29b uxth r3, r3 809942e: 2203 movs r2, #3 8099430: 4619 mov r1, r3 8099432: f7bc fbf3 bl 8055c1c BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 8099436: 88fb ldrh r3, [r7, #6] 8099438: 330a adds r3, #10 809943a: b29b uxth r3, r3 809943c: 88b9 ldrh r1, [r7, #4] 809943e: 2203 movs r2, #3 8099440: 4618 mov r0, r3 8099442: f7bc fbeb bl 8055c1c break; 8099446: e22d b.n 80998a4 case 2: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8099448: 492d ldr r1, [pc, #180] ; (8099500 ) 809944a: f04f 30ff mov.w r0, #4294967295 809944e: f7bb fedd bl 805520c BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8099452: 88fb ldrh r3, [r7, #6] 8099454: 3b0a subs r3, #10 8099456: b29b uxth r3, r3 8099458: 88b9 ldrh r1, [r7, #4] 809945a: 2203 movs r2, #3 809945c: 4618 mov r0, r3 809945e: f7bc fbdd bl 8055c1c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8099462: 4927 ldr r1, [pc, #156] ; (8099500 ) 8099464: 4827 ldr r0, [pc, #156] ; (8099504 ) 8099466: f7bb fed1 bl 805520c BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 809946a: 88fb ldrh r3, [r7, #6] 809946c: 3b07 subs r3, #7 809946e: b298 uxth r0, r3 8099470: 88bb ldrh r3, [r7, #4] 8099472: 3307 adds r3, #7 8099474: b29b uxth r3, r3 8099476: 2203 movs r2, #3 8099478: 4619 mov r1, r3 809947a: f7bc fbcf bl 8055c1c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 809947e: 4920 ldr r1, [pc, #128] ; (8099500 ) 8099480: 4821 ldr r0, [pc, #132] ; (8099508 ) 8099482: f7bb fec3 bl 805520c BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 8099486: 88bb ldrh r3, [r7, #4] 8099488: 330a adds r3, #10 809948a: b299 uxth r1, r3 809948c: 88fb ldrh r3, [r7, #6] 809948e: 2203 movs r2, #3 8099490: 4618 mov r0, r3 8099492: f7bc fbc3 bl 8055c1c LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8099496: 491a ldr r1, [pc, #104] ; (8099500 ) 8099498: 481c ldr r0, [pc, #112] ; (809950c ) 809949a: f7bb feb7 bl 805520c BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 809949e: 88fb ldrh r3, [r7, #6] 80994a0: 3b07 subs r3, #7 80994a2: b298 uxth r0, r3 80994a4: 88bb ldrh r3, [r7, #4] 80994a6: 3b07 subs r3, #7 80994a8: b29b uxth r3, r3 80994aa: 2203 movs r2, #3 80994ac: 4619 mov r1, r3 80994ae: f7bc fbb5 bl 8055c1c BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 80994b2: 88bb ldrh r3, [r7, #4] 80994b4: 3b0a subs r3, #10 80994b6: b299 uxth r1, r3 80994b8: 88fb ldrh r3, [r7, #6] 80994ba: 2203 movs r2, #3 80994bc: 4618 mov r0, r3 80994be: f7bc fbad bl 8055c1c BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 80994c2: 88fb ldrh r3, [r7, #6] 80994c4: 3307 adds r3, #7 80994c6: b298 uxth r0, r3 80994c8: 88bb ldrh r3, [r7, #4] 80994ca: 3b07 subs r3, #7 80994cc: b29b uxth r3, r3 80994ce: 2203 movs r2, #3 80994d0: 4619 mov r1, r3 80994d2: f7bc fba3 bl 8055c1c BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 80994d6: 88fb ldrh r3, [r7, #6] 80994d8: 330a adds r3, #10 80994da: b29b uxth r3, r3 80994dc: 88b9 ldrh r1, [r7, #4] 80994de: 2203 movs r2, #3 80994e0: 4618 mov r0, r3 80994e2: f7bc fb9b bl 8055c1c BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 80994e6: 88fb ldrh r3, [r7, #6] 80994e8: 3307 adds r3, #7 80994ea: b298 uxth r0, r3 80994ec: 88bb ldrh r3, [r7, #4] 80994ee: 3307 adds r3, #7 80994f0: b29b uxth r3, r3 80994f2: 2203 movs r2, #3 80994f4: 4619 mov r1, r3 80994f6: f7bc fb91 bl 8055c1c break; 80994fa: e1d3 b.n 80998a4 80994fc: 200216c8 .word 0x200216c8 8099500: ff0a0f1f .word 0xff0a0f1f 8099504: ffd3d3d3 .word 0xffd3d3d3 8099508: ff808080 .word 0xff808080 809950c: ff404040 .word 0xff404040 case 3: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8099510: 49b3 ldr r1, [pc, #716] ; (80997e0 ) 8099512: f04f 30ff mov.w r0, #4294967295 8099516: f7bb fe79 bl 805520c BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 809951a: 88fb ldrh r3, [r7, #6] 809951c: 3b07 subs r3, #7 809951e: b298 uxth r0, r3 8099520: 88bb ldrh r3, [r7, #4] 8099522: 3b07 subs r3, #7 8099524: b29b uxth r3, r3 8099526: 2203 movs r2, #3 8099528: 4619 mov r1, r3 809952a: f7bc fb77 bl 8055c1c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809952e: 49ac ldr r1, [pc, #688] ; (80997e0 ) 8099530: 48ac ldr r0, [pc, #688] ; (80997e4 ) 8099532: f7bb fe6b bl 805520c BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8099536: 88fb ldrh r3, [r7, #6] 8099538: 3b0a subs r3, #10 809953a: b29b uxth r3, r3 809953c: 88b9 ldrh r1, [r7, #4] 809953e: 2203 movs r2, #3 8099540: 4618 mov r0, r3 8099542: f7bc fb6b bl 8055c1c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8099546: 49a6 ldr r1, [pc, #664] ; (80997e0 ) 8099548: 48a7 ldr r0, [pc, #668] ; (80997e8 ) 809954a: f7bb fe5f bl 805520c BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 809954e: 88fb ldrh r3, [r7, #6] 8099550: 3b07 subs r3, #7 8099552: b298 uxth r0, r3 8099554: 88bb ldrh r3, [r7, #4] 8099556: 3307 adds r3, #7 8099558: b29b uxth r3, r3 809955a: 2203 movs r2, #3 809955c: 4619 mov r1, r3 809955e: f7bc fb5d bl 8055c1c LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8099562: 499f ldr r1, [pc, #636] ; (80997e0 ) 8099564: 48a1 ldr r0, [pc, #644] ; (80997ec ) 8099566: f7bb fe51 bl 805520c BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 809956a: 88bb ldrh r3, [r7, #4] 809956c: 3b0a subs r3, #10 809956e: b299 uxth r1, r3 8099570: 88fb ldrh r3, [r7, #6] 8099572: 2203 movs r2, #3 8099574: 4618 mov r0, r3 8099576: f7bc fb51 bl 8055c1c BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 809957a: 88fb ldrh r3, [r7, #6] 809957c: 3307 adds r3, #7 809957e: b298 uxth r0, r3 8099580: 88bb ldrh r3, [r7, #4] 8099582: 3b07 subs r3, #7 8099584: b29b uxth r3, r3 8099586: 2203 movs r2, #3 8099588: 4619 mov r1, r3 809958a: f7bc fb47 bl 8055c1c BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 809958e: 88fb ldrh r3, [r7, #6] 8099590: 330a adds r3, #10 8099592: b29b uxth r3, r3 8099594: 88b9 ldrh r1, [r7, #4] 8099596: 2203 movs r2, #3 8099598: 4618 mov r0, r3 809959a: f7bc fb3f bl 8055c1c BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 809959e: 88fb ldrh r3, [r7, #6] 80995a0: 3307 adds r3, #7 80995a2: b298 uxth r0, r3 80995a4: 88bb ldrh r3, [r7, #4] 80995a6: 3307 adds r3, #7 80995a8: b29b uxth r3, r3 80995aa: 2203 movs r2, #3 80995ac: 4619 mov r1, r3 80995ae: f7bc fb35 bl 8055c1c BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 80995b2: 88bb ldrh r3, [r7, #4] 80995b4: 330a adds r3, #10 80995b6: b299 uxth r1, r3 80995b8: 88fb ldrh r3, [r7, #6] 80995ba: 2203 movs r2, #3 80995bc: 4618 mov r0, r3 80995be: f7bc fb2d bl 8055c1c break; 80995c2: e16f b.n 80998a4 case 4: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80995c4: 4986 ldr r1, [pc, #536] ; (80997e0 ) 80995c6: f04f 30ff mov.w r0, #4294967295 80995ca: f7bb fe1f bl 805520c BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 80995ce: 88bb ldrh r3, [r7, #4] 80995d0: 3b0a subs r3, #10 80995d2: b299 uxth r1, r3 80995d4: 88fb ldrh r3, [r7, #6] 80995d6: 2203 movs r2, #3 80995d8: 4618 mov r0, r3 80995da: f7bc fb1f bl 8055c1c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80995de: 4980 ldr r1, [pc, #512] ; (80997e0 ) 80995e0: 4880 ldr r0, [pc, #512] ; (80997e4 ) 80995e2: f7bb fe13 bl 805520c BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 80995e6: 88fb ldrh r3, [r7, #6] 80995e8: 3b07 subs r3, #7 80995ea: b298 uxth r0, r3 80995ec: 88bb ldrh r3, [r7, #4] 80995ee: 3b07 subs r3, #7 80995f0: b29b uxth r3, r3 80995f2: 2203 movs r2, #3 80995f4: 4619 mov r1, r3 80995f6: f7bc fb11 bl 8055c1c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80995fa: 4979 ldr r1, [pc, #484] ; (80997e0 ) 80995fc: 487a ldr r0, [pc, #488] ; (80997e8 ) 80995fe: f7bb fe05 bl 805520c BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8099602: 88fb ldrh r3, [r7, #6] 8099604: 3b0a subs r3, #10 8099606: b29b uxth r3, r3 8099608: 88b9 ldrh r1, [r7, #4] 809960a: 2203 movs r2, #3 809960c: 4618 mov r0, r3 809960e: f7bc fb05 bl 8055c1c LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8099612: 4973 ldr r1, [pc, #460] ; (80997e0 ) 8099614: 4875 ldr r0, [pc, #468] ; (80997ec ) 8099616: f7bb fdf9 bl 805520c BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 809961a: 88fb ldrh r3, [r7, #6] 809961c: 3307 adds r3, #7 809961e: b298 uxth r0, r3 8099620: 88bb ldrh r3, [r7, #4] 8099622: 3b07 subs r3, #7 8099624: b29b uxth r3, r3 8099626: 2203 movs r2, #3 8099628: 4619 mov r1, r3 809962a: f7bc faf7 bl 8055c1c BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 809962e: 88fb ldrh r3, [r7, #6] 8099630: 330a adds r3, #10 8099632: b29b uxth r3, r3 8099634: 88b9 ldrh r1, [r7, #4] 8099636: 2203 movs r2, #3 8099638: 4618 mov r0, r3 809963a: f7bc faef bl 8055c1c BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 809963e: 88fb ldrh r3, [r7, #6] 8099640: 3307 adds r3, #7 8099642: b298 uxth r0, r3 8099644: 88bb ldrh r3, [r7, #4] 8099646: 3307 adds r3, #7 8099648: b29b uxth r3, r3 809964a: 2203 movs r2, #3 809964c: 4619 mov r1, r3 809964e: f7bc fae5 bl 8055c1c BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 8099652: 88bb ldrh r3, [r7, #4] 8099654: 330a adds r3, #10 8099656: b299 uxth r1, r3 8099658: 88fb ldrh r3, [r7, #6] 809965a: 2203 movs r2, #3 809965c: 4618 mov r0, r3 809965e: f7bc fadd bl 8055c1c BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8099662: 88fb ldrh r3, [r7, #6] 8099664: 3b07 subs r3, #7 8099666: b298 uxth r0, r3 8099668: 88bb ldrh r3, [r7, #4] 809966a: 3307 adds r3, #7 809966c: b29b uxth r3, r3 809966e: 2203 movs r2, #3 8099670: 4619 mov r1, r3 8099672: f7bc fad3 bl 8055c1c break; 8099676: e115 b.n 80998a4 case 5: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8099678: 4959 ldr r1, [pc, #356] ; (80997e0 ) 809967a: f04f 30ff mov.w r0, #4294967295 809967e: f7bb fdc5 bl 805520c BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 8099682: 88fb ldrh r3, [r7, #6] 8099684: 3307 adds r3, #7 8099686: b298 uxth r0, r3 8099688: 88bb ldrh r3, [r7, #4] 809968a: 3b07 subs r3, #7 809968c: b29b uxth r3, r3 809968e: 2203 movs r2, #3 8099690: 4619 mov r1, r3 8099692: f7bc fac3 bl 8055c1c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8099696: 4952 ldr r1, [pc, #328] ; (80997e0 ) 8099698: 4852 ldr r0, [pc, #328] ; (80997e4 ) 809969a: f7bb fdb7 bl 805520c BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 809969e: 88bb ldrh r3, [r7, #4] 80996a0: 3b0a subs r3, #10 80996a2: b299 uxth r1, r3 80996a4: 88fb ldrh r3, [r7, #6] 80996a6: 2203 movs r2, #3 80996a8: 4618 mov r0, r3 80996aa: f7bc fab7 bl 8055c1c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80996ae: 494c ldr r1, [pc, #304] ; (80997e0 ) 80996b0: 484d ldr r0, [pc, #308] ; (80997e8 ) 80996b2: f7bb fdab bl 805520c BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 80996b6: 88fb ldrh r3, [r7, #6] 80996b8: 3b07 subs r3, #7 80996ba: b298 uxth r0, r3 80996bc: 88bb ldrh r3, [r7, #4] 80996be: 3b07 subs r3, #7 80996c0: b29b uxth r3, r3 80996c2: 2203 movs r2, #3 80996c4: 4619 mov r1, r3 80996c6: f7bc faa9 bl 8055c1c LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80996ca: 4945 ldr r1, [pc, #276] ; (80997e0 ) 80996cc: 4847 ldr r0, [pc, #284] ; (80997ec ) 80996ce: f7bb fd9d bl 805520c BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 80996d2: 88fb ldrh r3, [r7, #6] 80996d4: 330a adds r3, #10 80996d6: b29b uxth r3, r3 80996d8: 88b9 ldrh r1, [r7, #4] 80996da: 2203 movs r2, #3 80996dc: 4618 mov r0, r3 80996de: f7bc fa9d bl 8055c1c BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 80996e2: 88fb ldrh r3, [r7, #6] 80996e4: 3307 adds r3, #7 80996e6: b298 uxth r0, r3 80996e8: 88bb ldrh r3, [r7, #4] 80996ea: 3307 adds r3, #7 80996ec: b29b uxth r3, r3 80996ee: 2203 movs r2, #3 80996f0: 4619 mov r1, r3 80996f2: f7bc fa93 bl 8055c1c BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 80996f6: 88bb ldrh r3, [r7, #4] 80996f8: 330a adds r3, #10 80996fa: b299 uxth r1, r3 80996fc: 88fb ldrh r3, [r7, #6] 80996fe: 2203 movs r2, #3 8099700: 4618 mov r0, r3 8099702: f7bc fa8b bl 8055c1c BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8099706: 88fb ldrh r3, [r7, #6] 8099708: 3b07 subs r3, #7 809970a: b298 uxth r0, r3 809970c: 88bb ldrh r3, [r7, #4] 809970e: 3307 adds r3, #7 8099710: b29b uxth r3, r3 8099712: 2203 movs r2, #3 8099714: 4619 mov r1, r3 8099716: f7bc fa81 bl 8055c1c BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 809971a: 88fb ldrh r3, [r7, #6] 809971c: 3b0a subs r3, #10 809971e: b29b uxth r3, r3 8099720: 88b9 ldrh r1, [r7, #4] 8099722: 2203 movs r2, #3 8099724: 4618 mov r0, r3 8099726: f7bc fa79 bl 8055c1c break; 809972a: e0bb b.n 80998a4 case 6: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809972c: 492c ldr r1, [pc, #176] ; (80997e0 ) 809972e: f04f 30ff mov.w r0, #4294967295 8099732: f7bb fd6b bl 805520c BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 8099736: 88fb ldrh r3, [r7, #6] 8099738: 330a adds r3, #10 809973a: b29b uxth r3, r3 809973c: 88b9 ldrh r1, [r7, #4] 809973e: 2203 movs r2, #3 8099740: 4618 mov r0, r3 8099742: f7bc fa6b bl 8055c1c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8099746: 4926 ldr r1, [pc, #152] ; (80997e0 ) 8099748: 4826 ldr r0, [pc, #152] ; (80997e4 ) 809974a: f7bb fd5f bl 805520c BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 809974e: 88fb ldrh r3, [r7, #6] 8099750: 3307 adds r3, #7 8099752: b298 uxth r0, r3 8099754: 88bb ldrh r3, [r7, #4] 8099756: 3b07 subs r3, #7 8099758: b29b uxth r3, r3 809975a: 2203 movs r2, #3 809975c: 4619 mov r1, r3 809975e: f7bc fa5d bl 8055c1c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8099762: 491f ldr r1, [pc, #124] ; (80997e0 ) 8099764: 4820 ldr r0, [pc, #128] ; (80997e8 ) 8099766: f7bb fd51 bl 805520c BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 809976a: 88bb ldrh r3, [r7, #4] 809976c: 3b0a subs r3, #10 809976e: b299 uxth r1, r3 8099770: 88fb ldrh r3, [r7, #6] 8099772: 2203 movs r2, #3 8099774: 4618 mov r0, r3 8099776: f7bc fa51 bl 8055c1c LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 809977a: 4919 ldr r1, [pc, #100] ; (80997e0 ) 809977c: 481b ldr r0, [pc, #108] ; (80997ec ) 809977e: f7bb fd45 bl 805520c BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 8099782: 88fb ldrh r3, [r7, #6] 8099784: 3307 adds r3, #7 8099786: b298 uxth r0, r3 8099788: 88bb ldrh r3, [r7, #4] 809978a: 3307 adds r3, #7 809978c: b29b uxth r3, r3 809978e: 2203 movs r2, #3 8099790: 4619 mov r1, r3 8099792: f7bc fa43 bl 8055c1c BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 8099796: 88bb ldrh r3, [r7, #4] 8099798: 330a adds r3, #10 809979a: b299 uxth r1, r3 809979c: 88fb ldrh r3, [r7, #6] 809979e: 2203 movs r2, #3 80997a0: 4618 mov r0, r3 80997a2: f7bc fa3b bl 8055c1c BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 80997a6: 88fb ldrh r3, [r7, #6] 80997a8: 3b07 subs r3, #7 80997aa: b298 uxth r0, r3 80997ac: 88bb ldrh r3, [r7, #4] 80997ae: 3307 adds r3, #7 80997b0: b29b uxth r3, r3 80997b2: 2203 movs r2, #3 80997b4: 4619 mov r1, r3 80997b6: f7bc fa31 bl 8055c1c BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 80997ba: 88fb ldrh r3, [r7, #6] 80997bc: 3b0a subs r3, #10 80997be: b29b uxth r3, r3 80997c0: 88b9 ldrh r1, [r7, #4] 80997c2: 2203 movs r2, #3 80997c4: 4618 mov r0, r3 80997c6: f7bc fa29 bl 8055c1c BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 80997ca: 88fb ldrh r3, [r7, #6] 80997cc: 3b07 subs r3, #7 80997ce: b298 uxth r0, r3 80997d0: 88bb ldrh r3, [r7, #4] 80997d2: 3b07 subs r3, #7 80997d4: b29b uxth r3, r3 80997d6: 2203 movs r2, #3 80997d8: 4619 mov r1, r3 80997da: f7bc fa1f bl 8055c1c break; 80997de: e061 b.n 80998a4 80997e0: ff0a0f1f .word 0xff0a0f1f 80997e4: ffd3d3d3 .word 0xffd3d3d3 80997e8: ff808080 .word 0xff808080 80997ec: ff404040 .word 0xff404040 case 7: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80997f0: 4934 ldr r1, [pc, #208] ; (80998c4 ) 80997f2: f04f 30ff mov.w r0, #4294967295 80997f6: f7bb fd09 bl 805520c BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 80997fa: 88fb ldrh r3, [r7, #6] 80997fc: 3307 adds r3, #7 80997fe: b298 uxth r0, r3 8099800: 88bb ldrh r3, [r7, #4] 8099802: 3307 adds r3, #7 8099804: b29b uxth r3, r3 8099806: 2203 movs r2, #3 8099808: 4619 mov r1, r3 809980a: f7bc fa07 bl 8055c1c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809980e: 492d ldr r1, [pc, #180] ; (80998c4 ) 8099810: 482d ldr r0, [pc, #180] ; (80998c8 ) 8099812: f7bb fcfb bl 805520c BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 8099816: 88fb ldrh r3, [r7, #6] 8099818: 330a adds r3, #10 809981a: b29b uxth r3, r3 809981c: 88b9 ldrh r1, [r7, #4] 809981e: 2203 movs r2, #3 8099820: 4618 mov r0, r3 8099822: f7bc f9fb bl 8055c1c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8099826: 4927 ldr r1, [pc, #156] ; (80998c4 ) 8099828: 4828 ldr r0, [pc, #160] ; (80998cc ) 809982a: f7bb fcef bl 805520c BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 809982e: 88fb ldrh r3, [r7, #6] 8099830: 3307 adds r3, #7 8099832: b298 uxth r0, r3 8099834: 88bb ldrh r3, [r7, #4] 8099836: 3b07 subs r3, #7 8099838: b29b uxth r3, r3 809983a: 2203 movs r2, #3 809983c: 4619 mov r1, r3 809983e: f7bc f9ed bl 8055c1c LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8099842: 4920 ldr r1, [pc, #128] ; (80998c4 ) 8099844: 4822 ldr r0, [pc, #136] ; (80998d0 ) 8099846: f7bb fce1 bl 805520c BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 809984a: 88bb ldrh r3, [r7, #4] 809984c: 330a adds r3, #10 809984e: b299 uxth r1, r3 8099850: 88fb ldrh r3, [r7, #6] 8099852: 2203 movs r2, #3 8099854: 4618 mov r0, r3 8099856: f7bc f9e1 bl 8055c1c BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 809985a: 88fb ldrh r3, [r7, #6] 809985c: 3b07 subs r3, #7 809985e: b298 uxth r0, r3 8099860: 88bb ldrh r3, [r7, #4] 8099862: 3307 adds r3, #7 8099864: b29b uxth r3, r3 8099866: 2203 movs r2, #3 8099868: 4619 mov r1, r3 809986a: f7bc f9d7 bl 8055c1c BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 809986e: 88fb ldrh r3, [r7, #6] 8099870: 3b0a subs r3, #10 8099872: b29b uxth r3, r3 8099874: 88b9 ldrh r1, [r7, #4] 8099876: 2203 movs r2, #3 8099878: 4618 mov r0, r3 809987a: f7bc f9cf bl 8055c1c BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 809987e: 88fb ldrh r3, [r7, #6] 8099880: 3b07 subs r3, #7 8099882: b298 uxth r0, r3 8099884: 88bb ldrh r3, [r7, #4] 8099886: 3b07 subs r3, #7 8099888: b29b uxth r3, r3 809988a: 2203 movs r2, #3 809988c: 4619 mov r1, r3 809988e: f7bc f9c5 bl 8055c1c BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 8099892: 88bb ldrh r3, [r7, #4] 8099894: 3b0a subs r3, #10 8099896: b299 uxth r1, r3 8099898: 88fb ldrh r3, [r7, #6] 809989a: 2203 movs r2, #3 809989c: 4618 mov r0, r3 809989e: f7bc f9bd bl 8055c1c break; 80998a2: bf00 nop } rotate++; 80998a4: 4b0b ldr r3, [pc, #44] ; (80998d4 ) 80998a6: 681b ldr r3, [r3, #0] 80998a8: 3301 adds r3, #1 80998aa: 4a0a ldr r2, [pc, #40] ; (80998d4 ) 80998ac: 6013 str r3, [r2, #0] if(rotate >= 8) 80998ae: 4b09 ldr r3, [pc, #36] ; (80998d4 ) 80998b0: 681b ldr r3, [r3, #0] 80998b2: 2b07 cmp r3, #7 80998b4: d902 bls.n 80998bc rotate = 0; 80998b6: 4b07 ldr r3, [pc, #28] ; (80998d4 ) 80998b8: 2200 movs r2, #0 80998ba: 601a str r2, [r3, #0] } 80998bc: bf00 nop 80998be: 3708 adds r7, #8 80998c0: 46bd mov sp, r7 80998c2: bd80 pop {r7, pc} 80998c4: ff0a0f1f .word 0xff0a0f1f 80998c8: ffd3d3d3 .word 0xffd3d3d3 80998cc: ff808080 .word 0xff808080 80998d0: ff404040 .word 0xff404040 80998d4: 200216c8 .word 0x200216c8 080998d8 : void DrawSpinner(void) { 80998d8: b580 push {r7, lr} 80998da: af00 add r7, sp, #0 if(!clbr) 80998dc: 4b94 ldr r3, [pc, #592] ; (8099b30 ) 80998de: 781b ldrb r3, [r3, #0] 80998e0: b2db uxtb r3, r3 80998e2: f083 0301 eor.w r3, r3, #1 80998e6: b2db uxtb r3, r3 80998e8: 2b00 cmp r3, #0 80998ea: f000 811f beq.w 8099b2c { //if(pardata.SYG != WAVE) //{ if(measuring) 80998ee: 4b91 ldr r3, [pc, #580] ; (8099b34 ) 80998f0: 781b ldrb r3, [r3, #0] 80998f2: b2db uxtb r3, r3 80998f4: 2b00 cmp r3, #0 80998f6: f000 8119 beq.w 8099b2c { spinner++; 80998fa: 4b8f ldr r3, [pc, #572] ; (8099b38 ) 80998fc: 781b ldrb r3, [r3, #0] 80998fe: 3301 adds r3, #1 8099900: b2da uxtb r2, r3 8099902: 4b8d ldr r3, [pc, #564] ; (8099b38 ) 8099904: 701a strb r2, [r3, #0] if(spinner >= 10) 8099906: 4b8c ldr r3, [pc, #560] ; (8099b38 ) 8099908: 781b ldrb r3, [r3, #0] 809990a: 2b09 cmp r3, #9 809990c: d902 bls.n 8099914 spinner = 0; 809990e: 4b8a ldr r3, [pc, #552] ; (8099b38 ) 8099910: 2200 movs r2, #0 8099912: 701a strb r2, [r3, #0] if(pardata.SYG == WAVE) 8099914: 4b89 ldr r3, [pc, #548] ; (8099b3c ) 8099916: 781b ldrb r3, [r3, #0] 8099918: b2db uxtb r3, r3 809991a: 2b04 cmp r3, #4 809991c: d113 bne.n 8099946 { if((CALC_FREQ) && (FreqFran == 0.0f)) 809991e: 4b88 ldr r3, [pc, #544] ; (8099b40 ) 8099920: 781b ldrb r3, [r3, #0] 8099922: b2db uxtb r3, r3 8099924: 2b00 cmp r3, #0 8099926: f000 8101 beq.w 8099b2c 809992a: 4b86 ldr r3, [pc, #536] ; (8099b44 ) 809992c: edd3 7a00 vldr s15, [r3] 8099930: eef5 7a40 vcmp.f32 s15, #0.0 8099934: eef1 fa10 vmrs APSR_nzcv, fpscr 8099938: f040 80f8 bne.w 8099b2c DrawMySpinner(165, 124); 809993c: 217c movs r1, #124 ; 0x7c 809993e: 20a5 movs r0, #165 ; 0xa5 8099940: f7ff fcae bl 80992a0 } } } } } 8099944: e0f2 b.n 8099b2c if(RepeatKm) 8099946: 4b80 ldr r3, [pc, #512] ; (8099b48 ) 8099948: 781b ldrb r3, [r3, #0] 809994a: b2db uxtb r3, r3 809994c: 2b00 cmp r3, #0 809994e: d01a beq.n 8099986 if(pardata.SYG == FRAN) 8099950: 4b7a ldr r3, [pc, #488] ; (8099b3c ) 8099952: 781b ldrb r3, [r3, #0] 8099954: b2db uxtb r3, r3 8099956: 2b03 cmp r3, #3 8099958: d110 bne.n 809997c if(pardata.OPTIONS & 0x2) 809995a: 4b78 ldr r3, [pc, #480] ; (8099b3c ) 809995c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8099960: f003 0302 and.w r3, r3, #2 8099964: 2b00 cmp r3, #0 8099966: d004 beq.n 8099972 DrawMySpinner(69, 125); 8099968: 217d movs r1, #125 ; 0x7d 809996a: 2045 movs r0, #69 ; 0x45 809996c: f7ff fc98 bl 80992a0 } 8099970: e0dc b.n 8099b2c else DrawMySpinner(189, 141); 8099972: 218d movs r1, #141 ; 0x8d 8099974: 20bd movs r0, #189 ; 0xbd 8099976: f7ff fc93 bl 80992a0 } 809997a: e0d7 b.n 8099b2c DrawMySpinner(189, 141); 809997c: 218d movs r1, #141 ; 0x8d 809997e: 20bd movs r0, #189 ; 0xbd 8099980: f7ff fc8e bl 80992a0 } 8099984: e0d2 b.n 8099b2c if((pardata.SYG == VIB) && (timeRelax)) 8099986: 4b6d ldr r3, [pc, #436] ; (8099b3c ) 8099988: 781b ldrb r3, [r3, #0] 809998a: b2db uxtb r3, r3 809998c: 2b00 cmp r3, #0 809998e: d108 bne.n 80999a2 8099990: 4b6e ldr r3, [pc, #440] ; (8099b4c ) 8099992: 681b ldr r3, [r3, #0] 8099994: 2b00 cmp r3, #0 8099996: d004 beq.n 80999a2 DrawMySpinner(189, 141); 8099998: 218d movs r1, #141 ; 0x8d 809999a: 20bd movs r0, #189 ; 0xbd 809999c: f7ff fc80 bl 80992a0 80999a0: e0c4 b.n 8099b2c if((pardata.SYG == VIB) && (Stability <= (Nr * 4))) 80999a2: 4b66 ldr r3, [pc, #408] ; (8099b3c ) 80999a4: 781b ldrb r3, [r3, #0] 80999a6: b2db uxtb r3, r3 80999a8: 2b00 cmp r3, #0 80999aa: d10d bne.n 80999c8 80999ac: 4b68 ldr r3, [pc, #416] ; (8099b50 ) 80999ae: 881b ldrh r3, [r3, #0] 80999b0: b29b uxth r3, r3 80999b2: 009b lsls r3, r3, #2 80999b4: 461a mov r2, r3 80999b6: 4b67 ldr r3, [pc, #412] ; (8099b54 ) 80999b8: 681b ldr r3, [r3, #0] 80999ba: 429a cmp r2, r3 80999bc: d304 bcc.n 80999c8 DrawMySpinner(189, 141); 80999be: 218d movs r1, #141 ; 0x8d 80999c0: 20bd movs r0, #189 ; 0xbd 80999c2: f7ff fc6d bl 80992a0 80999c6: e0b1 b.n 8099b2c if((pardata.SYG == DIAGN) && ((Stability <= (Nr * 4)) || (timeRelax))) 80999c8: 4b5c ldr r3, [pc, #368] ; (8099b3c ) 80999ca: 781b ldrb r3, [r3, #0] 80999cc: b2db uxtb r3, r3 80999ce: 2b0a cmp r3, #10 80999d0: d111 bne.n 80999f6 80999d2: 4b5f ldr r3, [pc, #380] ; (8099b50 ) 80999d4: 881b ldrh r3, [r3, #0] 80999d6: b29b uxth r3, r3 80999d8: 009b lsls r3, r3, #2 80999da: 461a mov r2, r3 80999dc: 4b5d ldr r3, [pc, #372] ; (8099b54 ) 80999de: 681b ldr r3, [r3, #0] 80999e0: 429a cmp r2, r3 80999e2: d203 bcs.n 80999ec 80999e4: 4b59 ldr r3, [pc, #356] ; (8099b4c ) 80999e6: 681b ldr r3, [r3, #0] 80999e8: 2b00 cmp r3, #0 80999ea: d004 beq.n 80999f6 DrawMySpinner(189, 141); 80999ec: 218d movs r1, #141 ; 0x8d 80999ee: 20bd movs r0, #189 ; 0xbd 80999f0: f7ff fc56 bl 80992a0 80999f4: e09a b.n 8099b2c if((pardata.SYG == FRAN) && (timeRelax)) 80999f6: 4b51 ldr r3, [pc, #324] ; (8099b3c ) 80999f8: 781b ldrb r3, [r3, #0] 80999fa: b2db uxtb r3, r3 80999fc: 2b03 cmp r3, #3 80999fe: d108 bne.n 8099a12 8099a00: 4b52 ldr r3, [pc, #328] ; (8099b4c ) 8099a02: 681b ldr r3, [r3, #0] 8099a04: 2b00 cmp r3, #0 8099a06: d004 beq.n 8099a12 DrawMySpinner(189, 141); 8099a08: 218d movs r1, #141 ; 0x8d 8099a0a: 20bd movs r0, #189 ; 0xbd 8099a0c: f7ff fc48 bl 80992a0 8099a10: e08c b.n 8099b2c if((pardata.SYG == FRAN) && (Stability <= (Nr * 4))) 8099a12: 4b4a ldr r3, [pc, #296] ; (8099b3c ) 8099a14: 781b ldrb r3, [r3, #0] 8099a16: b2db uxtb r3, r3 8099a18: 2b03 cmp r3, #3 8099a1a: d10d bne.n 8099a38 8099a1c: 4b4c ldr r3, [pc, #304] ; (8099b50 ) 8099a1e: 881b ldrh r3, [r3, #0] 8099a20: b29b uxth r3, r3 8099a22: 009b lsls r3, r3, #2 8099a24: 461a mov r2, r3 8099a26: 4b4b ldr r3, [pc, #300] ; (8099b54 ) 8099a28: 681b ldr r3, [r3, #0] 8099a2a: 429a cmp r2, r3 8099a2c: d304 bcc.n 8099a38 DrawMySpinner(189, 141); 8099a2e: 218d movs r1, #141 ; 0x8d 8099a30: 20bd movs r0, #189 ; 0xbd 8099a32: f7ff fc35 bl 80992a0 8099a36: e079 b.n 8099b2c if((pardata.SYG == OSC) && (timeRelax)) 8099a38: 4b40 ldr r3, [pc, #256] ; (8099b3c ) 8099a3a: 781b ldrb r3, [r3, #0] 8099a3c: b2db uxtb r3, r3 8099a3e: 2b02 cmp r3, #2 8099a40: d108 bne.n 8099a54 8099a42: 4b42 ldr r3, [pc, #264] ; (8099b4c ) 8099a44: 681b ldr r3, [r3, #0] 8099a46: 2b00 cmp r3, #0 8099a48: d004 beq.n 8099a54 DrawMySpinner(189, 141); 8099a4a: 218d movs r1, #141 ; 0x8d 8099a4c: 20bd movs r0, #189 ; 0xbd 8099a4e: f7ff fc27 bl 80992a0 8099a52: e06b b.n 8099b2c if((pardata.SYG == UDAR) && (timeRelax)) 8099a54: 4b39 ldr r3, [pc, #228] ; (8099b3c ) 8099a56: 781b ldrb r3, [r3, #0] 8099a58: b2db uxtb r3, r3 8099a5a: 2b09 cmp r3, #9 8099a5c: d108 bne.n 8099a70 8099a5e: 4b3b ldr r3, [pc, #236] ; (8099b4c ) 8099a60: 681b ldr r3, [r3, #0] 8099a62: 2b00 cmp r3, #0 8099a64: d004 beq.n 8099a70 DrawMySpinner(160, 120); 8099a66: 2178 movs r1, #120 ; 0x78 8099a68: 20a0 movs r0, #160 ; 0xa0 8099a6a: f7ff fc19 bl 80992a0 8099a6e: e05d b.n 8099b2c if((pardata.SYG == OSC) && (!Threshold) && (Stability <= (Nr * 4))) 8099a70: 4b32 ldr r3, [pc, #200] ; (8099b3c ) 8099a72: 781b ldrb r3, [r3, #0] 8099a74: b2db uxtb r3, r3 8099a76: 2b02 cmp r3, #2 8099a78: d115 bne.n 8099aa6 8099a7a: 4b37 ldr r3, [pc, #220] ; (8099b58 ) 8099a7c: 781b ldrb r3, [r3, #0] 8099a7e: b2db uxtb r3, r3 8099a80: f083 0301 eor.w r3, r3, #1 8099a84: b2db uxtb r3, r3 8099a86: 2b00 cmp r3, #0 8099a88: d00d beq.n 8099aa6 8099a8a: 4b31 ldr r3, [pc, #196] ; (8099b50 ) 8099a8c: 881b ldrh r3, [r3, #0] 8099a8e: b29b uxth r3, r3 8099a90: 009b lsls r3, r3, #2 8099a92: 461a mov r2, r3 8099a94: 4b2f ldr r3, [pc, #188] ; (8099b54 ) 8099a96: 681b ldr r3, [r3, #0] 8099a98: 429a cmp r2, r3 8099a9a: d304 bcc.n 8099aa6 DrawMySpinner(189, 141); 8099a9c: 218d movs r1, #141 ; 0x8d 8099a9e: 20bd movs r0, #189 ; 0xbd 8099aa0: f7ff fbfe bl 80992a0 8099aa4: e042 b.n 8099b2c 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))) 8099aa6: 4b25 ldr r3, [pc, #148] ; (8099b3c ) 8099aa8: 781b ldrb r3, [r3, #0] 8099aaa: b2db uxtb r3, r3 8099aac: 2b01 cmp r3, #1 8099aae: d018 beq.n 8099ae2 8099ab0: 4b22 ldr r3, [pc, #136] ; (8099b3c ) 8099ab2: 781b ldrb r3, [r3, #0] 8099ab4: b2db uxtb r3, r3 8099ab6: 2b08 cmp r3, #8 8099ab8: d013 beq.n 8099ae2 8099aba: 4b20 ldr r3, [pc, #128] ; (8099b3c ) 8099abc: 781b ldrb r3, [r3, #0] 8099abe: b2db uxtb r3, r3 8099ac0: 2b05 cmp r3, #5 8099ac2: d00e beq.n 8099ae2 8099ac4: 4b1d ldr r3, [pc, #116] ; (8099b3c ) 8099ac6: 781b ldrb r3, [r3, #0] 8099ac8: b2db uxtb r3, r3 8099aca: 2b06 cmp r3, #6 8099acc: d009 beq.n 8099ae2 8099ace: 4b1b ldr r3, [pc, #108] ; (8099b3c ) 8099ad0: 781b ldrb r3, [r3, #0] 8099ad2: b2db uxtb r3, r3 8099ad4: 2b07 cmp r3, #7 8099ad6: d004 beq.n 8099ae2 8099ad8: 4b18 ldr r3, [pc, #96] ; (8099b3c ) 8099ada: 781b ldrb r3, [r3, #0] 8099adc: b2db uxtb r3, r3 8099ade: 2b09 cmp r3, #9 8099ae0: d10d bne.n 8099afe 8099ae2: 4b1b ldr r3, [pc, #108] ; (8099b50 ) 8099ae4: 881b ldrh r3, [r3, #0] 8099ae6: b29b uxth r3, r3 8099ae8: 009b lsls r3, r3, #2 8099aea: 461a mov r2, r3 8099aec: 4b19 ldr r3, [pc, #100] ; (8099b54 ) 8099aee: 681b ldr r3, [r3, #0] 8099af0: 429a cmp r2, r3 8099af2: d304 bcc.n 8099afe DrawMySpinner(189, 141); 8099af4: 218d movs r1, #141 ; 0x8d 8099af6: 20bd movs r0, #189 ; 0xbd 8099af8: f7ff fbd2 bl 80992a0 8099afc: e016 b.n 8099b2c if((pardata.SYG == ROLL) && (NSamples < 20) && (Stability > (Nr * 4))) 8099afe: 4b0f ldr r3, [pc, #60] ; (8099b3c ) 8099b00: 781b ldrb r3, [r3, #0] 8099b02: b2db uxtb r3, r3 8099b04: 2b08 cmp r3, #8 8099b06: d111 bne.n 8099b2c 8099b08: 4b14 ldr r3, [pc, #80] ; (8099b5c ) 8099b0a: 681b ldr r3, [r3, #0] 8099b0c: 2b13 cmp r3, #19 8099b0e: d80d bhi.n 8099b2c 8099b10: 4b0f ldr r3, [pc, #60] ; (8099b50 ) 8099b12: 881b ldrh r3, [r3, #0] 8099b14: b29b uxth r3, r3 8099b16: 009b lsls r3, r3, #2 8099b18: 461a mov r2, r3 8099b1a: 4b0e ldr r3, [pc, #56] ; (8099b54 ) 8099b1c: 681b ldr r3, [r3, #0] 8099b1e: 429a cmp r2, r3 8099b20: d204 bcs.n 8099b2c DrawMySpinner(189, 141); 8099b22: 218d movs r1, #141 ; 0x8d 8099b24: 20bd movs r0, #189 ; 0xbd 8099b26: f7ff fbbb bl 80992a0 } 8099b2a: e7ff b.n 8099b2c 8099b2c: bf00 nop 8099b2e: bd80 pop {r7, pc} 8099b30: 20020f90 .word 0x20020f90 8099b34: 20020dcf .word 0x20020dcf 8099b38: 200216a8 .word 0x200216a8 8099b3c: 20023eb8 .word 0x20023eb8 8099b40: 2002105c .word 0x2002105c 8099b44: 200215b4 .word 0x200215b4 8099b48: 20020dcc .word 0x20020dcc 8099b4c: 20020d8c .word 0x20020d8c 8099b50: 20021d70 .word 0x20021d70 8099b54: 20020dc8 .word 0x20020dc8 8099b58: 20020dd1 .word 0x20020dd1 8099b5c: 20020da8 .word 0x20020da8 08099b60 : void DisplayStatus(void) { 8099b60: b580 push {r7, lr} 8099b62: af00 add r7, sp, #0 if(DrawStatus) 8099b64: 4baa ldr r3, [pc, #680] ; (8099e10 ) 8099b66: 781b ldrb r3, [r3, #0] 8099b68: b2db uxtb r3, r3 8099b6a: 2b00 cmp r3, #0 8099b6c: f000 814d beq.w 8099e0a { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8099b70: 49a8 ldr r1, [pc, #672] ; (8099e14 ) 8099b72: f04f 30ff mov.w r0, #4294967295 8099b76: f7bb fb49 bl 805520c BSP_LCD_FillRect(60, 73, 200, 124); 8099b7a: 237c movs r3, #124 ; 0x7c 8099b7c: 22c8 movs r2, #200 ; 0xc8 8099b7e: 2149 movs r1, #73 ; 0x49 8099b80: 203c movs r0, #60 ; 0x3c 8099b82: f7bb ffd1 bl 8055b28 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8099b86: 49a3 ldr r1, [pc, #652] ; (8099e14 ) 8099b88: 48a2 ldr r0, [pc, #648] ; (8099e14 ) 8099b8a: f7bb fb3f bl 805520c BSP_LCD_FillRect(61, 74, 198, 122); 8099b8e: 237a movs r3, #122 ; 0x7a 8099b90: 22c6 movs r2, #198 ; 0xc6 8099b92: 214a movs r1, #74 ; 0x4a 8099b94: 203d movs r0, #61 ; 0x3d 8099b96: f7bb ffc7 bl 8055b28 BSP_LCD_SetFont(&Font12); 8099b9a: 489f ldr r0, [pc, #636] ; (8099e18 ) 8099b9c: f7bb fb72 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8099ba0: 499c ldr r1, [pc, #624] ; (8099e14 ) 8099ba2: f04f 30ff mov.w r0, #4294967295 8099ba6: f7bb fb31 bl 805520c switch(STATUS) 8099baa: 4b9c ldr r3, [pc, #624] ; (8099e1c ) 8099bac: 681b ldr r3, [r3, #0] 8099bae: 2b12 cmp r3, #18 8099bb0: f200 812b bhi.w 8099e0a 8099bb4: a201 add r2, pc, #4 ; (adr r2, 8099bbc ) 8099bb6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8099bba: bf00 nop 8099bbc: 08099e09 .word 0x08099e09 8099bc0: 08099e0b .word 0x08099e0b 8099bc4: 08099d0d .word 0x08099d0d 8099bc8: 08099d89 .word 0x08099d89 8099bcc: 08099e0b .word 0x08099e0b 8099bd0: 08099e0b .word 0x08099e0b 8099bd4: 08099c53 .word 0x08099c53 8099bd8: 08099c91 .word 0x08099c91 8099bdc: 08099ccf .word 0x08099ccf 8099be0: 08099e0b .word 0x08099e0b 8099be4: 08099e0b .word 0x08099e0b 8099be8: 08099dc7 .word 0x08099dc7 8099bec: 08099e0b .word 0x08099e0b 8099bf0: 08099e0b .word 0x08099e0b 8099bf4: 08099e0b .word 0x08099e0b 8099bf8: 08099e0b .word 0x08099e0b 8099bfc: 08099e0b .word 0x08099e0b 8099c00: 08099d4b .word 0x08099d4b 8099c04: 08099c09 .word 0x08099c09 { case AP_ADC_FAIL: if(pardata.LANG == RUS) 8099c08: 4b85 ldr r3, [pc, #532] ; (8099e20 ) 8099c0a: 7b1b ldrb r3, [r3, #12] 8099c0c: b2db uxtb r3, r3 8099c0e: 2b00 cmp r3, #0 8099c10: d10c bne.n 8099c2c { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Îøèáêà ÀÖÏ!", CENTER_MODE); 8099c12: 2301 movs r3, #1 8099c14: 4a83 ldr r2, [pc, #524] ; (8099e24 ) 8099c16: 217a movs r1, #122 ; 0x7a 8099c18: 20a0 movs r0, #160 ; 0xa0 8099c1a: f7bb fbbd bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Ïåðåçàãðóçèòå ïðèáîð...", CENTER_MODE); 8099c1e: 2301 movs r3, #1 8099c20: 4a81 ldr r2, [pc, #516] ; (8099e28 ) 8099c22: 218a movs r1, #138 ; 0x8a 8099c24: 20a0 movs r0, #160 ; 0xa0 8099c26: f7bb fbb7 bl 8055398 { 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; 8099c2a: e0ee b.n 8099e0a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "ADC Error!", CENTER_MODE); 8099c2c: 2301 movs r3, #1 8099c2e: 4a7f ldr r2, [pc, #508] ; (8099e2c ) 8099c30: 217a movs r1, #122 ; 0x7a 8099c32: 20a0 movs r0, #160 ; 0xa0 8099c34: f7bb fbb0 bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Please,", CENTER_MODE); 8099c38: 2301 movs r3, #1 8099c3a: 4a7d ldr r2, [pc, #500] ; (8099e30 ) 8099c3c: 218a movs r1, #138 ; 0x8a 8099c3e: 20a0 movs r0, #160 ; 0xa0 8099c40: f7bb fbaa bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_9, "reboot device.", CENTER_MODE); 8099c44: 2301 movs r3, #1 8099c46: 4a7b ldr r2, [pc, #492] ; (8099e34 ) 8099c48: 219a movs r1, #154 ; 0x9a 8099c4a: 20a0 movs r0, #160 ; 0xa0 8099c4c: f7bb fba4 bl 8055398 break; 8099c50: e0db b.n 8099e0a case AP_OK: break; case AP_FILE_EXIST: if(pardata.LANG == RUS) 8099c52: 4b73 ldr r3, [pc, #460] ; (8099e20 ) 8099c54: 7b1b ldrb r3, [r3, #12] 8099c56: b2db uxtb r3, r3 8099c58: 2b00 cmp r3, #0 8099c5a: d10c bne.n 8099c76 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôàéë óæå", CENTER_MODE); 8099c5c: 2301 movs r3, #1 8099c5e: 4a76 ldr r2, [pc, #472] ; (8099e38 ) 8099c60: 217a movs r1, #122 ; 0x7a 8099c62: 20a0 movs r0, #160 ; 0xa0 8099c64: f7bb fb98 bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "ñóùåñòâóåò!", CENTER_MODE); 8099c68: 2301 movs r3, #1 8099c6a: 4a74 ldr r2, [pc, #464] ; (8099e3c ) 8099c6c: 218a movs r1, #138 ; 0x8a 8099c6e: 20a0 movs r0, #160 ; 0xa0 8099c70: f7bb fb92 bl 8055398 else { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "File already ", CENTER_MODE); BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "exists!", CENTER_MODE); } break; 8099c74: e0c9 b.n 8099e0a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "File already ", CENTER_MODE); 8099c76: 2301 movs r3, #1 8099c78: 4a71 ldr r2, [pc, #452] ; (8099e40 ) 8099c7a: 217a movs r1, #122 ; 0x7a 8099c7c: 20a0 movs r0, #160 ; 0xa0 8099c7e: f7bb fb8b bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "exists!", CENTER_MODE); 8099c82: 2301 movs r3, #1 8099c84: 4a6f ldr r2, [pc, #444] ; (8099e44 ) 8099c86: 218a movs r1, #138 ; 0x8a 8099c88: 20a0 movs r0, #160 ; 0xa0 8099c8a: f7bb fb85 bl 8055398 break; 8099c8e: e0bc b.n 8099e0a case AP_SAVING_SUCCESS: if(pardata.LANG == RUS) 8099c90: 4b63 ldr r3, [pc, #396] ; (8099e20 ) 8099c92: 7b1b ldrb r3, [r3, #12] 8099c94: b2db uxtb r3, r3 8099c96: 2b00 cmp r3, #0 8099c98: d10c bne.n 8099cb4 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ñîõðàíåíèå", CENTER_MODE); 8099c9a: 2301 movs r3, #1 8099c9c: 4a6a ldr r2, [pc, #424] ; (8099e48 ) 8099c9e: 217a movs r1, #122 ; 0x7a 8099ca0: 20a0 movs r0, #160 ; 0xa0 8099ca2: f7bb fb79 bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "óñïåøíî!", CENTER_MODE); 8099ca6: 2301 movs r3, #1 8099ca8: 4a68 ldr r2, [pc, #416] ; (8099e4c ) 8099caa: 218a movs r1, #138 ; 0x8a 8099cac: 20a0 movs r0, #160 ; 0xa0 8099cae: f7bb fb73 bl 8055398 else { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Saving", CENTER_MODE); BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "done!", CENTER_MODE); } break; 8099cb2: e0aa b.n 8099e0a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Saving", CENTER_MODE); 8099cb4: 2301 movs r3, #1 8099cb6: 4a66 ldr r2, [pc, #408] ; (8099e50 ) 8099cb8: 217a movs r1, #122 ; 0x7a 8099cba: 20a0 movs r0, #160 ; 0xa0 8099cbc: f7bb fb6c bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "done!", CENTER_MODE); 8099cc0: 2301 movs r3, #1 8099cc2: 4a64 ldr r2, [pc, #400] ; (8099e54 ) 8099cc4: 218a movs r1, #138 ; 0x8a 8099cc6: 20a0 movs r0, #160 ; 0xa0 8099cc8: f7bb fb66 bl 8055398 break; 8099ccc: e09d b.n 8099e0a case AP_SAVING_ERROR: if(pardata.LANG == RUS) 8099cce: 4b54 ldr r3, [pc, #336] ; (8099e20 ) 8099cd0: 7b1b ldrb r3, [r3, #12] 8099cd2: b2db uxtb r3, r3 8099cd4: 2b00 cmp r3, #0 8099cd6: d10c bne.n 8099cf2 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Îøèáêà", CENTER_MODE); 8099cd8: 2301 movs r3, #1 8099cda: 4a5f ldr r2, [pc, #380] ; (8099e58 ) 8099cdc: 217a movs r1, #122 ; 0x7a 8099cde: 20a0 movs r0, #160 ; 0xa0 8099ce0: f7bb fb5a bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "ñîõðàíåíèÿ!", CENTER_MODE); 8099ce4: 2301 movs r3, #1 8099ce6: 4a5d ldr r2, [pc, #372] ; (8099e5c ) 8099ce8: 218a movs r1, #138 ; 0x8a 8099cea: 20a0 movs r0, #160 ; 0xa0 8099cec: f7bb fb54 bl 8055398 { 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; 8099cf0: e08b b.n 8099e0a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Saving", CENTER_MODE); 8099cf2: 2301 movs r3, #1 8099cf4: 4a56 ldr r2, [pc, #344] ; (8099e50 ) 8099cf6: 217a movs r1, #122 ; 0x7a 8099cf8: 20a0 movs r0, #160 ; 0xa0 8099cfa: f7bb fb4d bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "failed!", CENTER_MODE); 8099cfe: 2301 movs r3, #1 8099d00: 4a57 ldr r2, [pc, #348] ; (8099e60 ) 8099d02: 218a movs r1, #138 ; 0x8a 8099d04: 20a0 movs r0, #160 ; 0xa0 8099d06: f7bb fb47 bl 8055398 break; 8099d0a: e07e b.n 8099e0a case AP_INVALID_FILE: if(pardata.LANG == RUS) 8099d0c: 4b44 ldr r3, [pc, #272] ; (8099e20 ) 8099d0e: 7b1b ldrb r3, [r3, #12] 8099d10: b2db uxtb r3, r3 8099d12: 2b00 cmp r3, #0 8099d14: d10c bne.n 8099d30 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôàéë ïîâðåæäåí", CENTER_MODE); 8099d16: 2301 movs r3, #1 8099d18: 4a52 ldr r2, [pc, #328] ; (8099e64 ) 8099d1a: 217a movs r1, #122 ; 0x7a 8099d1c: 20a0 movs r0, #160 ; 0xa0 8099d1e: f7bb fb3b bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "èëè îòñóòñòâóåò!", CENTER_MODE); 8099d22: 2301 movs r3, #1 8099d24: 4a50 ldr r2, [pc, #320] ; (8099e68 ) 8099d26: 217a movs r1, #122 ; 0x7a 8099d28: 20a0 movs r0, #160 ; 0xa0 8099d2a: f7bb fb35 bl 8055398 { 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; 8099d2e: e06c b.n 8099e0a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "File is damaged", CENTER_MODE); 8099d30: 2301 movs r3, #1 8099d32: 4a4e ldr r2, [pc, #312] ; (8099e6c ) 8099d34: 217a movs r1, #122 ; 0x7a 8099d36: 20a0 movs r0, #160 ; 0xa0 8099d38: f7bb fb2e bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "or missing!", CENTER_MODE); 8099d3c: 2301 movs r3, #1 8099d3e: 4a4c ldr r2, [pc, #304] ; (8099e70 ) 8099d40: 218a movs r1, #138 ; 0x8a 8099d42: 20a0 movs r0, #160 ; 0xa0 8099d44: f7bb fb28 bl 8055398 break; 8099d48: e05f b.n 8099e0a case AP_NO_CARD: if(pardata.LANG == RUS) 8099d4a: 4b35 ldr r3, [pc, #212] ; (8099e20 ) 8099d4c: 7b1b ldrb r3, [r3, #12] 8099d4e: b2db uxtb r3, r3 8099d50: 2b00 cmp r3, #0 8099d52: d10c bne.n 8099d6e { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Íàêîïèòåëü", CENTER_MODE); 8099d54: 2301 movs r3, #1 8099d56: 4a47 ldr r2, [pc, #284] ; (8099e74 ) 8099d58: 217a movs r1, #122 ; 0x7a 8099d5a: 20a0 movs r0, #160 ; 0xa0 8099d5c: f7bb fb1c bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "îòñóòñòâóåò!", CENTER_MODE); 8099d60: 2301 movs r3, #1 8099d62: 4a45 ldr r2, [pc, #276] ; (8099e78 ) 8099d64: 218a movs r1, #138 ; 0x8a 8099d66: 20a0 movs r0, #160 ; 0xa0 8099d68: f7bb fb16 bl 8055398 { 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; 8099d6c: e04d b.n 8099e0a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Drive is", CENTER_MODE); 8099d6e: 2301 movs r3, #1 8099d70: 4a42 ldr r2, [pc, #264] ; (8099e7c ) 8099d72: 217a movs r1, #122 ; 0x7a 8099d74: 20a0 movs r0, #160 ; 0xa0 8099d76: f7bb fb0f bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "not present!", CENTER_MODE); 8099d7a: 2301 movs r3, #1 8099d7c: 4a40 ldr r2, [pc, #256] ; (8099e80 ) 8099d7e: 218a movs r1, #138 ; 0x8a 8099d80: 20a0 movs r0, #160 ; 0xa0 8099d82: f7bb fb09 bl 8055398 break; 8099d86: e040 b.n 8099e0a case AP_BAD_DATA: if(pardata.LANG == RUS) 8099d88: 4b25 ldr r3, [pc, #148] ; (8099e20 ) 8099d8a: 7b1b ldrb r3, [r3, #12] 8099d8c: b2db uxtb r3, r3 8099d8e: 2b00 cmp r3, #0 8099d90: d10c bne.n 8099dac { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Íåâåðíûå", CENTER_MODE); 8099d92: 2301 movs r3, #1 8099d94: 4a3b ldr r2, [pc, #236] ; (8099e84 ) 8099d96: 217a movs r1, #122 ; 0x7a 8099d98: 20a0 movs r0, #160 ; 0xa0 8099d9a: f7bb fafd bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "äàííûå!", CENTER_MODE); 8099d9e: 2301 movs r3, #1 8099da0: 4a39 ldr r2, [pc, #228] ; (8099e88 ) 8099da2: 218a movs r1, #138 ; 0x8a 8099da4: 20a0 movs r0, #160 ; 0xa0 8099da6: f7bb faf7 bl 8055398 { 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; 8099daa: e02e b.n 8099e0a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Incorrect", CENTER_MODE); 8099dac: 2301 movs r3, #1 8099dae: 4a37 ldr r2, [pc, #220] ; (8099e8c ) 8099db0: 217a movs r1, #122 ; 0x7a 8099db2: 20a0 movs r0, #160 ; 0xa0 8099db4: f7bb faf0 bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "data!", CENTER_MODE); 8099db8: 2301 movs r3, #1 8099dba: 4a35 ldr r2, [pc, #212] ; (8099e90 ) 8099dbc: 218a movs r1, #138 ; 0x8a 8099dbe: 20a0 movs r0, #160 ; 0xa0 8099dc0: f7bb faea bl 8055398 break; 8099dc4: e021 b.n 8099e0a case AP_DISK_ERROR: if(pardata.LANG == RUS) 8099dc6: 4b16 ldr r3, [pc, #88] ; (8099e20 ) 8099dc8: 7b1b ldrb r3, [r3, #12] 8099dca: b2db uxtb r3, r3 8099dcc: 2b00 cmp r3, #0 8099dce: d10c bne.n 8099dea { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Êàðòà ïàìÿòè", CENTER_MODE); 8099dd0: 2301 movs r3, #1 8099dd2: 4a30 ldr r2, [pc, #192] ; (8099e94 ) 8099dd4: 217a movs r1, #122 ; 0x7a 8099dd6: 20a0 movs r0, #160 ; 0xa0 8099dd8: f7bb fade bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "íå ÷èòàåòñÿ!", CENTER_MODE); 8099ddc: 2301 movs r3, #1 8099dde: 4a2e ldr r2, [pc, #184] ; (8099e98 ) 8099de0: 218a movs r1, #138 ; 0x8a 8099de2: 20a0 movs r0, #160 ; 0xa0 8099de4: f7bb fad8 bl 8055398 8099de8: e00b b.n 8099e02 } else { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "SD card not", CENTER_MODE); 8099dea: 2301 movs r3, #1 8099dec: 4a2b ldr r2, [pc, #172] ; (8099e9c ) 8099dee: 217a movs r1, #122 ; 0x7a 8099df0: 20a0 movs r0, #160 ; 0xa0 8099df2: f7bb fad1 bl 8055398 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "responding!", CENTER_MODE); 8099df6: 2301 movs r3, #1 8099df8: 4a29 ldr r2, [pc, #164] ; (8099ea0 ) 8099dfa: 218a movs r1, #138 ; 0x8a 8099dfc: 20a0 movs r0, #160 ; 0xa0 8099dfe: f7bb facb bl 8055398 } BSP_SD_Init(); 8099e02: f02a fc6b bl 80c46dc break; 8099e06: e000 b.n 8099e0a break; 8099e08: bf00 nop } } } 8099e0a: bf00 nop 8099e0c: bd80 pop {r7, pc} 8099e0e: bf00 nop 8099e10: 20020df2 .word 0x20020df2 8099e14: ff0a0f1f .word 0xff0a0f1f 8099e18: 20020038 .word 0x20020038 8099e1c: 20020dec .word 0x20020dec 8099e20: 20023eb8 .word 0x20023eb8 8099e24: 080d71f4 .word 0x080d71f4 8099e28: 080d7200 .word 0x080d7200 8099e2c: 080d7218 .word 0x080d7218 8099e30: 080d7224 .word 0x080d7224 8099e34: 080d722c .word 0x080d722c 8099e38: 080d723c .word 0x080d723c 8099e3c: 080d7248 .word 0x080d7248 8099e40: 080d7254 .word 0x080d7254 8099e44: 080d7264 .word 0x080d7264 8099e48: 080d726c .word 0x080d726c 8099e4c: 080d6a68 .word 0x080d6a68 8099e50: 080d7278 .word 0x080d7278 8099e54: 080d7280 .word 0x080d7280 8099e58: 080d7288 .word 0x080d7288 8099e5c: 080d7290 .word 0x080d7290 8099e60: 080d729c .word 0x080d729c 8099e64: 080d72a4 .word 0x080d72a4 8099e68: 080d72b4 .word 0x080d72b4 8099e6c: 080d72c8 .word 0x080d72c8 8099e70: 080d72d8 .word 0x080d72d8 8099e74: 080d72e4 .word 0x080d72e4 8099e78: 080d72f0 .word 0x080d72f0 8099e7c: 080d7300 .word 0x080d7300 8099e80: 080d730c .word 0x080d730c 8099e84: 080d731c .word 0x080d731c 8099e88: 080d7328 .word 0x080d7328 8099e8c: 080d7330 .word 0x080d7330 8099e90: 080d733c .word 0x080d733c 8099e94: 080d7344 .word 0x080d7344 8099e98: 080d7354 .word 0x080d7354 8099e9c: 080d7364 .word 0x080d7364 8099ea0: 080d7370 .word 0x080d7370 08099ea4 : void DrawDetectorType(void) { 8099ea4: b580 push {r7, lr} 8099ea6: af00 add r7, sp, #0 if((DrawSavedData) || (NextIndexMeas < IndexMeas[NextIndexPoint])) 8099ea8: 4ba8 ldr r3, [pc, #672] ; (809a14c ) 8099eaa: 781b ldrb r3, [r3, #0] 8099eac: b2db uxtb r3, r3 8099eae: 2b00 cmp r3, #0 8099eb0: d109 bne.n 8099ec6 8099eb2: 4ba7 ldr r3, [pc, #668] ; (809a150 ) 8099eb4: 681b ldr r3, [r3, #0] 8099eb6: 4aa7 ldr r2, [pc, #668] ; (809a154 ) 8099eb8: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8099ebc: 4ba6 ldr r3, [pc, #664] ; (809a158 ) 8099ebe: 681b ldr r3, [r3, #0] 8099ec0: 429a cmp r2, r3 8099ec2: f240 818d bls.w 809a1e0 { if((ReadFileData.Aivs == 'P') || (ReadFileData.Aivs == 'Ï')) 8099ec6: 4ba5 ldr r3, [pc, #660] ; (809a15c ) 8099ec8: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8099ecc: b2db uxtb r3, r3 8099ece: 2b50 cmp r3, #80 ; 0x50 8099ed0: d005 beq.n 8099ede 8099ed2: 4ba2 ldr r3, [pc, #648] ; (809a15c ) 8099ed4: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8099ed8: b2db uxtb r3, r3 8099eda: 2bcf cmp r3, #207 ; 0xcf 8099edc: d10c bne.n 8099ef8 DrawImage(BM_PEAK[pardata.LANG], 46, 65+18); 8099ede: 4ba0 ldr r3, [pc, #640] ; (809a160 ) 8099ee0: 7b1b ldrb r3, [r3, #12] 8099ee2: b2db uxtb r3, r3 8099ee4: 461a mov r2, r3 8099ee6: 4b9f ldr r3, [pc, #636] ; (809a164 ) 8099ee8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8099eec: 2253 movs r2, #83 ; 0x53 8099eee: 212e movs r1, #46 ; 0x2e 8099ef0: 4618 mov r0, r3 8099ef2: f7bc f87f bl 8055ff4 8099ef6: e062 b.n 8099fbe else if((ReadFileData.Aivs == 'S') || (ReadFileData.Aivs == 'Ñ')) 8099ef8: 4b98 ldr r3, [pc, #608] ; (809a15c ) 8099efa: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8099efe: b2db uxtb r3, r3 8099f00: 2b53 cmp r3, #83 ; 0x53 8099f02: d005 beq.n 8099f10 8099f04: 4b95 ldr r3, [pc, #596] ; (809a15c ) 8099f06: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8099f0a: b2db uxtb r3, r3 8099f0c: 2bd1 cmp r3, #209 ; 0xd1 8099f0e: d10c bne.n 8099f2a DrawImage(BM_RMS[pardata.LANG], 46, 65+18); 8099f10: 4b93 ldr r3, [pc, #588] ; (809a160 ) 8099f12: 7b1b ldrb r3, [r3, #12] 8099f14: b2db uxtb r3, r3 8099f16: 461a mov r2, r3 8099f18: 4b93 ldr r3, [pc, #588] ; (809a168 ) 8099f1a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8099f1e: 2253 movs r2, #83 ; 0x53 8099f20: 212e movs r1, #46 ; 0x2e 8099f22: 4618 mov r0, r3 8099f24: f7bc f866 bl 8055ff4 8099f28: e049 b.n 8099fbe else if((ReadFileData.Aivs == 'R') || (ReadFileData.Aivs == 'Ð')) 8099f2a: 4b8c ldr r3, [pc, #560] ; (809a15c ) 8099f2c: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8099f30: b2db uxtb r3, r3 8099f32: 2b52 cmp r3, #82 ; 0x52 8099f34: d005 beq.n 8099f42 8099f36: 4b89 ldr r3, [pc, #548] ; (809a15c ) 8099f38: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8099f3c: b2db uxtb r3, r3 8099f3e: 2bd0 cmp r3, #208 ; 0xd0 8099f40: d10c bne.n 8099f5c DrawImage(BM_RAZMAH[pardata.LANG], 46, 65+18); 8099f42: 4b87 ldr r3, [pc, #540] ; (809a160 ) 8099f44: 7b1b ldrb r3, [r3, #12] 8099f46: b2db uxtb r3, r3 8099f48: 461a mov r2, r3 8099f4a: 4b88 ldr r3, [pc, #544] ; (809a16c ) 8099f4c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8099f50: 2253 movs r2, #83 ; 0x53 8099f52: 212e movs r1, #46 ; 0x2e 8099f54: 4618 mov r0, r3 8099f56: f7bc f84d bl 8055ff4 8099f5a: e030 b.n 8099fbe else if((ReadFileData.Aivs == 'F') || (ReadFileData.Aivs == 'Ô')) 8099f5c: 4b7f ldr r3, [pc, #508] ; (809a15c ) 8099f5e: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8099f62: b2db uxtb r3, r3 8099f64: 2b46 cmp r3, #70 ; 0x46 8099f66: d005 beq.n 8099f74 8099f68: 4b7c ldr r3, [pc, #496] ; (809a15c ) 8099f6a: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8099f6e: b2db uxtb r3, r3 8099f70: 2bd4 cmp r3, #212 ; 0xd4 8099f72: d10c bne.n 8099f8e DrawImage(BM_FACTOR[pardata.LANG], 46, 65+18); 8099f74: 4b7a ldr r3, [pc, #488] ; (809a160 ) 8099f76: 7b1b ldrb r3, [r3, #12] 8099f78: b2db uxtb r3, r3 8099f7a: 461a mov r2, r3 8099f7c: 4b7c ldr r3, [pc, #496] ; (809a170 ) 8099f7e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8099f82: 2253 movs r2, #83 ; 0x53 8099f84: 212e movs r1, #46 ; 0x2e 8099f86: 4618 mov r0, r3 8099f88: f7bc f834 bl 8055ff4 8099f8c: e017 b.n 8099fbe else if((ReadFileData.Aivs == 'E') || (ReadFileData.Aivs == 'Ý')) 8099f8e: 4b73 ldr r3, [pc, #460] ; (809a15c ) 8099f90: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8099f94: b2db uxtb r3, r3 8099f96: 2b45 cmp r3, #69 ; 0x45 8099f98: d005 beq.n 8099fa6 8099f9a: 4b70 ldr r3, [pc, #448] ; (809a15c ) 8099f9c: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8099fa0: b2db uxtb r3, r3 8099fa2: 2bdd cmp r3, #221 ; 0xdd 8099fa4: d10b bne.n 8099fbe DrawImage(BM_EXCESS[pardata.LANG], 46, 65+18); 8099fa6: 4b6e ldr r3, [pc, #440] ; (809a160 ) 8099fa8: 7b1b ldrb r3, [r3, #12] 8099faa: b2db uxtb r3, r3 8099fac: 461a mov r2, r3 8099fae: 4b71 ldr r3, [pc, #452] ; (809a174 ) 8099fb0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8099fb4: 2253 movs r2, #83 ; 0x53 8099fb6: 212e movs r1, #46 ; 0x2e 8099fb8: 4618 mov r0, r3 8099fba: f7bc f81b bl 8055ff4 if((ReadFileData.Vivs == 'P') || (ReadFileData.Vivs == 'Ï')) 8099fbe: 4b67 ldr r3, [pc, #412] ; (809a15c ) 8099fc0: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8099fc4: b2db uxtb r3, r3 8099fc6: 2b50 cmp r3, #80 ; 0x50 8099fc8: d005 beq.n 8099fd6 8099fca: 4b64 ldr r3, [pc, #400] ; (809a15c ) 8099fcc: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8099fd0: b2db uxtb r3, r3 8099fd2: 2bcf cmp r3, #207 ; 0xcf 8099fd4: d10c bne.n 8099ff0 DrawImage(BM_PEAK[pardata.LANG], 46, 119+8); 8099fd6: 4b62 ldr r3, [pc, #392] ; (809a160 ) 8099fd8: 7b1b ldrb r3, [r3, #12] 8099fda: b2db uxtb r3, r3 8099fdc: 461a mov r2, r3 8099fde: 4b61 ldr r3, [pc, #388] ; (809a164 ) 8099fe0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8099fe4: 227f movs r2, #127 ; 0x7f 8099fe6: 212e movs r1, #46 ; 0x2e 8099fe8: 4618 mov r0, r3 8099fea: f7bc f803 bl 8055ff4 8099fee: e062 b.n 809a0b6 else if((ReadFileData.Vivs == 'S') || (ReadFileData.Vivs == 'Ñ')) 8099ff0: 4b5a ldr r3, [pc, #360] ; (809a15c ) 8099ff2: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8099ff6: b2db uxtb r3, r3 8099ff8: 2b53 cmp r3, #83 ; 0x53 8099ffa: d005 beq.n 809a008 8099ffc: 4b57 ldr r3, [pc, #348] ; (809a15c ) 8099ffe: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809a002: b2db uxtb r3, r3 809a004: 2bd1 cmp r3, #209 ; 0xd1 809a006: d10c bne.n 809a022 DrawImage(BM_RMS[pardata.LANG], 46, 119+8); 809a008: 4b55 ldr r3, [pc, #340] ; (809a160 ) 809a00a: 7b1b ldrb r3, [r3, #12] 809a00c: b2db uxtb r3, r3 809a00e: 461a mov r2, r3 809a010: 4b55 ldr r3, [pc, #340] ; (809a168 ) 809a012: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a016: 227f movs r2, #127 ; 0x7f 809a018: 212e movs r1, #46 ; 0x2e 809a01a: 4618 mov r0, r3 809a01c: f7bb ffea bl 8055ff4 809a020: e049 b.n 809a0b6 else if((ReadFileData.Vivs == 'R') || (ReadFileData.Vivs == 'Ð')) 809a022: 4b4e ldr r3, [pc, #312] ; (809a15c ) 809a024: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809a028: b2db uxtb r3, r3 809a02a: 2b52 cmp r3, #82 ; 0x52 809a02c: d005 beq.n 809a03a 809a02e: 4b4b ldr r3, [pc, #300] ; (809a15c ) 809a030: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809a034: b2db uxtb r3, r3 809a036: 2bd0 cmp r3, #208 ; 0xd0 809a038: d10c bne.n 809a054 DrawImage(BM_RAZMAH[pardata.LANG], 46, 119+8); 809a03a: 4b49 ldr r3, [pc, #292] ; (809a160 ) 809a03c: 7b1b ldrb r3, [r3, #12] 809a03e: b2db uxtb r3, r3 809a040: 461a mov r2, r3 809a042: 4b4a ldr r3, [pc, #296] ; (809a16c ) 809a044: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a048: 227f movs r2, #127 ; 0x7f 809a04a: 212e movs r1, #46 ; 0x2e 809a04c: 4618 mov r0, r3 809a04e: f7bb ffd1 bl 8055ff4 809a052: e030 b.n 809a0b6 else if((ReadFileData.Vivs == 'F') || (ReadFileData.Vivs == 'Ô')) 809a054: 4b41 ldr r3, [pc, #260] ; (809a15c ) 809a056: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809a05a: b2db uxtb r3, r3 809a05c: 2b46 cmp r3, #70 ; 0x46 809a05e: d005 beq.n 809a06c 809a060: 4b3e ldr r3, [pc, #248] ; (809a15c ) 809a062: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809a066: b2db uxtb r3, r3 809a068: 2bd4 cmp r3, #212 ; 0xd4 809a06a: d10c bne.n 809a086 DrawImage(BM_FACTOR[pardata.LANG], 46, 119+8); 809a06c: 4b3c ldr r3, [pc, #240] ; (809a160 ) 809a06e: 7b1b ldrb r3, [r3, #12] 809a070: b2db uxtb r3, r3 809a072: 461a mov r2, r3 809a074: 4b3e ldr r3, [pc, #248] ; (809a170 ) 809a076: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a07a: 227f movs r2, #127 ; 0x7f 809a07c: 212e movs r1, #46 ; 0x2e 809a07e: 4618 mov r0, r3 809a080: f7bb ffb8 bl 8055ff4 809a084: e017 b.n 809a0b6 else if((ReadFileData.Vivs == 'E') || (ReadFileData.Vivs == 'Ý')) 809a086: 4b35 ldr r3, [pc, #212] ; (809a15c ) 809a088: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809a08c: b2db uxtb r3, r3 809a08e: 2b45 cmp r3, #69 ; 0x45 809a090: d005 beq.n 809a09e 809a092: 4b32 ldr r3, [pc, #200] ; (809a15c ) 809a094: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809a098: b2db uxtb r3, r3 809a09a: 2bdd cmp r3, #221 ; 0xdd 809a09c: d10b bne.n 809a0b6 DrawImage(BM_EXCESS[pardata.LANG], 46, 119+8); 809a09e: 4b30 ldr r3, [pc, #192] ; (809a160 ) 809a0a0: 7b1b ldrb r3, [r3, #12] 809a0a2: b2db uxtb r3, r3 809a0a4: 461a mov r2, r3 809a0a6: 4b33 ldr r3, [pc, #204] ; (809a174 ) 809a0a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a0ac: 227f movs r2, #127 ; 0x7f 809a0ae: 212e movs r1, #46 ; 0x2e 809a0b0: 4618 mov r0, r3 809a0b2: f7bb ff9f bl 8055ff4 if((ReadFileData.Sivs == 'P') || (ReadFileData.Sivs == 'Ï')) 809a0b6: 4b29 ldr r3, [pc, #164] ; (809a15c ) 809a0b8: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809a0bc: b2db uxtb r3, r3 809a0be: 2b50 cmp r3, #80 ; 0x50 809a0c0: d005 beq.n 809a0ce 809a0c2: 4b26 ldr r3, [pc, #152] ; (809a15c ) 809a0c4: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809a0c8: b2db uxtb r3, r3 809a0ca: 2bcf cmp r3, #207 ; 0xcf 809a0cc: d10c bne.n 809a0e8 DrawImage(BM_PEAK[pardata.LANG], 46, 169); 809a0ce: 4b24 ldr r3, [pc, #144] ; (809a160 ) 809a0d0: 7b1b ldrb r3, [r3, #12] 809a0d2: b2db uxtb r3, r3 809a0d4: 461a mov r2, r3 809a0d6: 4b23 ldr r3, [pc, #140] ; (809a164 ) 809a0d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a0dc: 22a9 movs r2, #169 ; 0xa9 809a0de: 212e movs r1, #46 ; 0x2e 809a0e0: 4618 mov r0, r3 809a0e2: f7bb ff87 bl 8055ff4 809a0e6: e07a b.n 809a1de else if((ReadFileData.Sivs == 'S') || (ReadFileData.Sivs == 'Ñ')) 809a0e8: 4b1c ldr r3, [pc, #112] ; (809a15c ) 809a0ea: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809a0ee: b2db uxtb r3, r3 809a0f0: 2b53 cmp r3, #83 ; 0x53 809a0f2: d005 beq.n 809a100 809a0f4: 4b19 ldr r3, [pc, #100] ; (809a15c ) 809a0f6: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809a0fa: b2db uxtb r3, r3 809a0fc: 2bd1 cmp r3, #209 ; 0xd1 809a0fe: d10c bne.n 809a11a DrawImage(BM_RMS[pardata.LANG], 46, 169); 809a100: 4b17 ldr r3, [pc, #92] ; (809a160 ) 809a102: 7b1b ldrb r3, [r3, #12] 809a104: b2db uxtb r3, r3 809a106: 461a mov r2, r3 809a108: 4b17 ldr r3, [pc, #92] ; (809a168 ) 809a10a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a10e: 22a9 movs r2, #169 ; 0xa9 809a110: 212e movs r1, #46 ; 0x2e 809a112: 4618 mov r0, r3 809a114: f7bb ff6e bl 8055ff4 809a118: e061 b.n 809a1de else if((ReadFileData.Sivs == 'R') || (ReadFileData.Sivs == 'Ð')) 809a11a: 4b10 ldr r3, [pc, #64] ; (809a15c ) 809a11c: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809a120: b2db uxtb r3, r3 809a122: 2b52 cmp r3, #82 ; 0x52 809a124: d005 beq.n 809a132 809a126: 4b0d ldr r3, [pc, #52] ; (809a15c ) 809a128: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809a12c: b2db uxtb r3, r3 809a12e: 2bd0 cmp r3, #208 ; 0xd0 809a130: d122 bne.n 809a178 DrawImage(BM_RAZMAH[pardata.LANG], 46, 169); 809a132: 4b0b ldr r3, [pc, #44] ; (809a160 ) 809a134: 7b1b ldrb r3, [r3, #12] 809a136: b2db uxtb r3, r3 809a138: 461a mov r2, r3 809a13a: 4b0c ldr r3, [pc, #48] ; (809a16c ) 809a13c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a140: 22a9 movs r2, #169 ; 0xa9 809a142: 212e movs r1, #46 ; 0x2e 809a144: 4618 mov r0, r3 809a146: f7bb ff55 bl 8055ff4 809a14a: e048 b.n 809a1de 809a14c: 20020dea .word 0x20020dea 809a150: 20021fec .word 0x20021fec 809a154: 20022ef8 .word 0x20022ef8 809a158: 20022360 .word 0x20022360 809a15c: 200226f0 .word 0x200226f0 809a160: 20023eb8 .word 0x20023eb8 809a164: 200200cc .word 0x200200cc 809a168: 200200d4 .word 0x200200d4 809a16c: 200200dc .word 0x200200dc 809a170: 200200e4 .word 0x200200e4 809a174: 200200ec .word 0x200200ec else if((ReadFileData.Sivs == 'F') || (ReadFileData.Sivs == 'Ô')) 809a178: 4ba1 ldr r3, [pc, #644] ; (809a400 ) 809a17a: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809a17e: b2db uxtb r3, r3 809a180: 2b46 cmp r3, #70 ; 0x46 809a182: d005 beq.n 809a190 809a184: 4b9e ldr r3, [pc, #632] ; (809a400 ) 809a186: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809a18a: b2db uxtb r3, r3 809a18c: 2bd4 cmp r3, #212 ; 0xd4 809a18e: d10c bne.n 809a1aa DrawImage(BM_FACTOR[pardata.LANG], 46, 169); 809a190: 4b9c ldr r3, [pc, #624] ; (809a404 ) 809a192: 7b1b ldrb r3, [r3, #12] 809a194: b2db uxtb r3, r3 809a196: 461a mov r2, r3 809a198: 4b9b ldr r3, [pc, #620] ; (809a408 ) 809a19a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a19e: 22a9 movs r2, #169 ; 0xa9 809a1a0: 212e movs r1, #46 ; 0x2e 809a1a2: 4618 mov r0, r3 809a1a4: f7bb ff26 bl 8055ff4 809a1a8: e019 b.n 809a1de else if((ReadFileData.Sivs == 'E') || (ReadFileData.Sivs == 'Ý')) 809a1aa: 4b95 ldr r3, [pc, #596] ; (809a400 ) 809a1ac: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809a1b0: b2db uxtb r3, r3 809a1b2: 2b45 cmp r3, #69 ; 0x45 809a1b4: d006 beq.n 809a1c4 809a1b6: 4b92 ldr r3, [pc, #584] ; (809a400 ) 809a1b8: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809a1bc: b2db uxtb r3, r3 809a1be: 2bdd cmp r3, #221 ; 0xdd 809a1c0: f040 811a bne.w 809a3f8 DrawImage(BM_EXCESS[pardata.LANG], 46, 169); 809a1c4: 4b8f ldr r3, [pc, #572] ; (809a404 ) 809a1c6: 7b1b ldrb r3, [r3, #12] 809a1c8: b2db uxtb r3, r3 809a1ca: 461a mov r2, r3 809a1cc: 4b8f ldr r3, [pc, #572] ; (809a40c ) 809a1ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a1d2: 22a9 movs r2, #169 ; 0xa9 809a1d4: 212e movs r1, #46 ; 0x2e 809a1d6: 4618 mov r0, r3 809a1d8: f7bb ff0c bl 8055ff4 if((ReadFileData.Sivs == 'P') || (ReadFileData.Sivs == 'Ï')) 809a1dc: e10c b.n 809a3f8 809a1de: e10b b.n 809a3f8 } else { if(pardata.IVS[ACC] == PEAK) DrawImage(BM_PEAK[pardata.LANG], 46, 65+18); 809a1e0: 4b88 ldr r3, [pc, #544] ; (809a404 ) 809a1e2: 789b ldrb r3, [r3, #2] 809a1e4: b2db uxtb r3, r3 809a1e6: 2b00 cmp r3, #0 809a1e8: d10c bne.n 809a204 809a1ea: 4b86 ldr r3, [pc, #536] ; (809a404 ) 809a1ec: 7b1b ldrb r3, [r3, #12] 809a1ee: b2db uxtb r3, r3 809a1f0: 461a mov r2, r3 809a1f2: 4b87 ldr r3, [pc, #540] ; (809a410 ) 809a1f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a1f8: 2253 movs r2, #83 ; 0x53 809a1fa: 212e movs r1, #46 ; 0x2e 809a1fc: 4618 mov r0, r3 809a1fe: f7bb fef9 bl 8055ff4 809a202: e046 b.n 809a292 else if(pardata.IVS[ACC] == RMS) DrawImage(BM_RMS[pardata.LANG], 46, 65+18); 809a204: 4b7f ldr r3, [pc, #508] ; (809a404 ) 809a206: 789b ldrb r3, [r3, #2] 809a208: b2db uxtb r3, r3 809a20a: 2b01 cmp r3, #1 809a20c: d10c bne.n 809a228 809a20e: 4b7d ldr r3, [pc, #500] ; (809a404 ) 809a210: 7b1b ldrb r3, [r3, #12] 809a212: b2db uxtb r3, r3 809a214: 461a mov r2, r3 809a216: 4b7f ldr r3, [pc, #508] ; (809a414 ) 809a218: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a21c: 2253 movs r2, #83 ; 0x53 809a21e: 212e movs r1, #46 ; 0x2e 809a220: 4618 mov r0, r3 809a222: f7bb fee7 bl 8055ff4 809a226: e034 b.n 809a292 else if(pardata.IVS[ACC] == PEAK_TO_PEAK) DrawImage(BM_RAZMAH[pardata.LANG], 46, 65+18); 809a228: 4b76 ldr r3, [pc, #472] ; (809a404 ) 809a22a: 789b ldrb r3, [r3, #2] 809a22c: b2db uxtb r3, r3 809a22e: 2b02 cmp r3, #2 809a230: d10c bne.n 809a24c 809a232: 4b74 ldr r3, [pc, #464] ; (809a404 ) 809a234: 7b1b ldrb r3, [r3, #12] 809a236: b2db uxtb r3, r3 809a238: 461a mov r2, r3 809a23a: 4b77 ldr r3, [pc, #476] ; (809a418 ) 809a23c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a240: 2253 movs r2, #83 ; 0x53 809a242: 212e movs r1, #46 ; 0x2e 809a244: 4618 mov r0, r3 809a246: f7bb fed5 bl 8055ff4 809a24a: e022 b.n 809a292 else if(pardata.IVS[ACC] == PEAK_FACTOR) DrawImage(BM_FACTOR[pardata.LANG], 46, 65+18); 809a24c: 4b6d ldr r3, [pc, #436] ; (809a404 ) 809a24e: 789b ldrb r3, [r3, #2] 809a250: b2db uxtb r3, r3 809a252: 2b03 cmp r3, #3 809a254: d10c bne.n 809a270 809a256: 4b6b ldr r3, [pc, #428] ; (809a404 ) 809a258: 7b1b ldrb r3, [r3, #12] 809a25a: b2db uxtb r3, r3 809a25c: 461a mov r2, r3 809a25e: 4b6a ldr r3, [pc, #424] ; (809a408 ) 809a260: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a264: 2253 movs r2, #83 ; 0x53 809a266: 212e movs r1, #46 ; 0x2e 809a268: 4618 mov r0, r3 809a26a: f7bb fec3 bl 8055ff4 809a26e: e010 b.n 809a292 else if(pardata.IVS[ACC] == EXCESS ) DrawImage(BM_EXCESS[pardata.LANG], 46, 65+18); 809a270: 4b64 ldr r3, [pc, #400] ; (809a404 ) 809a272: 789b ldrb r3, [r3, #2] 809a274: b2db uxtb r3, r3 809a276: 2b04 cmp r3, #4 809a278: d10b bne.n 809a292 809a27a: 4b62 ldr r3, [pc, #392] ; (809a404 ) 809a27c: 7b1b ldrb r3, [r3, #12] 809a27e: b2db uxtb r3, r3 809a280: 461a mov r2, r3 809a282: 4b62 ldr r3, [pc, #392] ; (809a40c ) 809a284: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a288: 2253 movs r2, #83 ; 0x53 809a28a: 212e movs r1, #46 ; 0x2e 809a28c: 4618 mov r0, r3 809a28e: f7bb feb1 bl 8055ff4 if(pardata.IVS[VEL] == PEAK) DrawImage(BM_PEAK[pardata.LANG], 46, 119+8); 809a292: 4b5c ldr r3, [pc, #368] ; (809a404 ) 809a294: 78db ldrb r3, [r3, #3] 809a296: b2db uxtb r3, r3 809a298: 2b00 cmp r3, #0 809a29a: d10c bne.n 809a2b6 809a29c: 4b59 ldr r3, [pc, #356] ; (809a404 ) 809a29e: 7b1b ldrb r3, [r3, #12] 809a2a0: b2db uxtb r3, r3 809a2a2: 461a mov r2, r3 809a2a4: 4b5a ldr r3, [pc, #360] ; (809a410 ) 809a2a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a2aa: 227f movs r2, #127 ; 0x7f 809a2ac: 212e movs r1, #46 ; 0x2e 809a2ae: 4618 mov r0, r3 809a2b0: f7bb fea0 bl 8055ff4 809a2b4: e046 b.n 809a344 else if(pardata.IVS[VEL] == RMS) DrawImage(BM_RMS[pardata.LANG], 46, 119+8); 809a2b6: 4b53 ldr r3, [pc, #332] ; (809a404 ) 809a2b8: 78db ldrb r3, [r3, #3] 809a2ba: b2db uxtb r3, r3 809a2bc: 2b01 cmp r3, #1 809a2be: d10c bne.n 809a2da 809a2c0: 4b50 ldr r3, [pc, #320] ; (809a404 ) 809a2c2: 7b1b ldrb r3, [r3, #12] 809a2c4: b2db uxtb r3, r3 809a2c6: 461a mov r2, r3 809a2c8: 4b52 ldr r3, [pc, #328] ; (809a414 ) 809a2ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a2ce: 227f movs r2, #127 ; 0x7f 809a2d0: 212e movs r1, #46 ; 0x2e 809a2d2: 4618 mov r0, r3 809a2d4: f7bb fe8e bl 8055ff4 809a2d8: e034 b.n 809a344 else if(pardata.IVS[VEL] == PEAK_TO_PEAK) DrawImage(BM_RAZMAH[pardata.LANG], 46, 119+8); 809a2da: 4b4a ldr r3, [pc, #296] ; (809a404 ) 809a2dc: 78db ldrb r3, [r3, #3] 809a2de: b2db uxtb r3, r3 809a2e0: 2b02 cmp r3, #2 809a2e2: d10c bne.n 809a2fe 809a2e4: 4b47 ldr r3, [pc, #284] ; (809a404 ) 809a2e6: 7b1b ldrb r3, [r3, #12] 809a2e8: b2db uxtb r3, r3 809a2ea: 461a mov r2, r3 809a2ec: 4b4a ldr r3, [pc, #296] ; (809a418 ) 809a2ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a2f2: 227f movs r2, #127 ; 0x7f 809a2f4: 212e movs r1, #46 ; 0x2e 809a2f6: 4618 mov r0, r3 809a2f8: f7bb fe7c bl 8055ff4 809a2fc: e022 b.n 809a344 else if(pardata.IVS[VEL] == PEAK_FACTOR) DrawImage(BM_FACTOR[pardata.LANG], 46, 119+8); 809a2fe: 4b41 ldr r3, [pc, #260] ; (809a404 ) 809a300: 78db ldrb r3, [r3, #3] 809a302: b2db uxtb r3, r3 809a304: 2b03 cmp r3, #3 809a306: d10c bne.n 809a322 809a308: 4b3e ldr r3, [pc, #248] ; (809a404 ) 809a30a: 7b1b ldrb r3, [r3, #12] 809a30c: b2db uxtb r3, r3 809a30e: 461a mov r2, r3 809a310: 4b3d ldr r3, [pc, #244] ; (809a408 ) 809a312: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a316: 227f movs r2, #127 ; 0x7f 809a318: 212e movs r1, #46 ; 0x2e 809a31a: 4618 mov r0, r3 809a31c: f7bb fe6a bl 8055ff4 809a320: e010 b.n 809a344 else if(pardata.IVS[VEL] == EXCESS) DrawImage(BM_EXCESS[pardata.LANG], 46, 119+8); 809a322: 4b38 ldr r3, [pc, #224] ; (809a404 ) 809a324: 78db ldrb r3, [r3, #3] 809a326: b2db uxtb r3, r3 809a328: 2b04 cmp r3, #4 809a32a: d10b bne.n 809a344 809a32c: 4b35 ldr r3, [pc, #212] ; (809a404 ) 809a32e: 7b1b ldrb r3, [r3, #12] 809a330: b2db uxtb r3, r3 809a332: 461a mov r2, r3 809a334: 4b35 ldr r3, [pc, #212] ; (809a40c ) 809a336: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a33a: 227f movs r2, #127 ; 0x7f 809a33c: 212e movs r1, #46 ; 0x2e 809a33e: 4618 mov r0, r3 809a340: f7bb fe58 bl 8055ff4 if(pardata.IVS[DIS] == PEAK) DrawImage(BM_PEAK[pardata.LANG], 46, 169); 809a344: 4b2f ldr r3, [pc, #188] ; (809a404 ) 809a346: 791b ldrb r3, [r3, #4] 809a348: b2db uxtb r3, r3 809a34a: 2b00 cmp r3, #0 809a34c: d10c bne.n 809a368 809a34e: 4b2d ldr r3, [pc, #180] ; (809a404 ) 809a350: 7b1b ldrb r3, [r3, #12] 809a352: b2db uxtb r3, r3 809a354: 461a mov r2, r3 809a356: 4b2e ldr r3, [pc, #184] ; (809a410 ) 809a358: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a35c: 22a9 movs r2, #169 ; 0xa9 809a35e: 212e movs r1, #46 ; 0x2e 809a360: 4618 mov r0, r3 809a362: f7bb fe47 bl 8055ff4 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); } } 809a366: e048 b.n 809a3fa else if(pardata.IVS[DIS] == RMS) DrawImage(BM_RMS[pardata.LANG], 46, 169); 809a368: 4b26 ldr r3, [pc, #152] ; (809a404 ) 809a36a: 791b ldrb r3, [r3, #4] 809a36c: b2db uxtb r3, r3 809a36e: 2b01 cmp r3, #1 809a370: d10c bne.n 809a38c 809a372: 4b24 ldr r3, [pc, #144] ; (809a404 ) 809a374: 7b1b ldrb r3, [r3, #12] 809a376: b2db uxtb r3, r3 809a378: 461a mov r2, r3 809a37a: 4b26 ldr r3, [pc, #152] ; (809a414 ) 809a37c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a380: 22a9 movs r2, #169 ; 0xa9 809a382: 212e movs r1, #46 ; 0x2e 809a384: 4618 mov r0, r3 809a386: f7bb fe35 bl 8055ff4 } 809a38a: e036 b.n 809a3fa else if(pardata.IVS[DIS] == PEAK_TO_PEAK) DrawImage(BM_RAZMAH[pardata.LANG], 46, 169); 809a38c: 4b1d ldr r3, [pc, #116] ; (809a404 ) 809a38e: 791b ldrb r3, [r3, #4] 809a390: b2db uxtb r3, r3 809a392: 2b02 cmp r3, #2 809a394: d10c bne.n 809a3b0 809a396: 4b1b ldr r3, [pc, #108] ; (809a404 ) 809a398: 7b1b ldrb r3, [r3, #12] 809a39a: b2db uxtb r3, r3 809a39c: 461a mov r2, r3 809a39e: 4b1e ldr r3, [pc, #120] ; (809a418 ) 809a3a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a3a4: 22a9 movs r2, #169 ; 0xa9 809a3a6: 212e movs r1, #46 ; 0x2e 809a3a8: 4618 mov r0, r3 809a3aa: f7bb fe23 bl 8055ff4 } 809a3ae: e024 b.n 809a3fa else if(pardata.IVS[DIS] == PEAK_FACTOR) DrawImage(BM_FACTOR[pardata.LANG], 46, 169); 809a3b0: 4b14 ldr r3, [pc, #80] ; (809a404 ) 809a3b2: 791b ldrb r3, [r3, #4] 809a3b4: b2db uxtb r3, r3 809a3b6: 2b03 cmp r3, #3 809a3b8: d10c bne.n 809a3d4 809a3ba: 4b12 ldr r3, [pc, #72] ; (809a404 ) 809a3bc: 7b1b ldrb r3, [r3, #12] 809a3be: b2db uxtb r3, r3 809a3c0: 461a mov r2, r3 809a3c2: 4b11 ldr r3, [pc, #68] ; (809a408 ) 809a3c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a3c8: 22a9 movs r2, #169 ; 0xa9 809a3ca: 212e movs r1, #46 ; 0x2e 809a3cc: 4618 mov r0, r3 809a3ce: f7bb fe11 bl 8055ff4 } 809a3d2: e012 b.n 809a3fa else if(pardata.IVS[DIS] == EXCESS) DrawImage(BM_EXCESS[pardata.LANG], 46, 169); 809a3d4: 4b0b ldr r3, [pc, #44] ; (809a404 ) 809a3d6: 791b ldrb r3, [r3, #4] 809a3d8: b2db uxtb r3, r3 809a3da: 2b04 cmp r3, #4 809a3dc: d10d bne.n 809a3fa 809a3de: 4b09 ldr r3, [pc, #36] ; (809a404 ) 809a3e0: 7b1b ldrb r3, [r3, #12] 809a3e2: b2db uxtb r3, r3 809a3e4: 461a mov r2, r3 809a3e6: 4b09 ldr r3, [pc, #36] ; (809a40c ) 809a3e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809a3ec: 22a9 movs r2, #169 ; 0xa9 809a3ee: 212e movs r1, #46 ; 0x2e 809a3f0: 4618 mov r0, r3 809a3f2: f7bb fdff bl 8055ff4 } 809a3f6: e000 b.n 809a3fa if((ReadFileData.Sivs == 'P') || (ReadFileData.Sivs == 'Ï')) 809a3f8: bf00 nop } 809a3fa: bf00 nop 809a3fc: bd80 pop {r7, pc} 809a3fe: bf00 nop 809a400: 200226f0 .word 0x200226f0 809a404: 20023eb8 .word 0x20023eb8 809a408: 200200e4 .word 0x200200e4 809a40c: 200200ec .word 0x200200ec 809a410: 200200cc .word 0x200200cc 809a414: 200200d4 .word 0x200200d4 809a418: 200200dc .word 0x200200dc 0809a41c : void RedrawNums(void) //TODO { 809a41c: b580 push {r7, lr} 809a41e: b09a sub sp, #104 ; 0x68 809a420: af00 add r7, sp, #0 char *p8; TimeDate_TypeDef FatTime; uint8_t ivs[3]; bool log; log = SeeLog; 809a422: 4bbd ldr r3, [pc, #756] ; (809a718 ) 809a424: 781b ldrb r3, [r3, #0] 809a426: f887 3067 strb.w r3, [r7, #103] ; 0x67 switch(menu) 809a42a: 4bbc ldr r3, [pc, #752] ; (809a71c ) 809a42c: 781b ldrb r3, [r3, #0] 809a42e: b2db uxtb r3, r3 809a430: 2b1f cmp r3, #31 809a432: f006 8706 beq.w 80a1242 809a436: 2b26 cmp r3, #38 ; 0x26 809a438: d004 beq.n 809a444 809a43a: 2b00 cmp r3, #0 809a43c: f002 857c beq.w 809cf38 } } } break; } } 809a440: f00b b93b b.w 80a56ba if(DrawSavedData) //todo 809a444: 4bb6 ldr r3, [pc, #728] ; (809a720 ) 809a446: 781b ldrb r3, [r3, #0] 809a448: b2db uxtb r3, r3 809a44a: 2b00 cmp r3, #0 809a44c: f001 8223 beq.w 809b896 DrawImage(&bmSAVED, 298, 39); 809a450: 2227 movs r2, #39 ; 0x27 809a452: f44f 7195 mov.w r1, #298 ; 0x12a 809a456: 48b3 ldr r0, [pc, #716] ; (809a724 ) 809a458: f7bb fdcc bl 8055ff4 memset(str, 0, sizeof(str)); 809a45c: f107 030c add.w r3, r7, #12 809a460: 2228 movs r2, #40 ; 0x28 809a462: 2100 movs r1, #0 809a464: 4618 mov r0, r3 809a466: f037 fd9d bl 80d1fa4 BSP_LCD_SetFont(&Font8); 809a46a: 48af ldr r0, [pc, #700] ; (809a728 ) 809a46c: f7ba ff0a bl 8055284 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809a470: 49ae ldr r1, [pc, #696] ; (809a72c ) 809a472: 48af ldr r0, [pc, #700] ; (809a730 ) 809a474: f7ba feca bl 805520c str[0] = (DateFileData.Date / 10) + 48; 809a478: 4bae ldr r3, [pc, #696] ; (809a734 ) 809a47a: 789b ldrb r3, [r3, #2] 809a47c: b2db uxtb r3, r3 809a47e: 4aae ldr r2, [pc, #696] ; (809a738 ) 809a480: fba2 2303 umull r2, r3, r2, r3 809a484: 08db lsrs r3, r3, #3 809a486: b2db uxtb r3, r3 809a488: 3330 adds r3, #48 ; 0x30 809a48a: b2db uxtb r3, r3 809a48c: 733b strb r3, [r7, #12] str[1] = (DateFileData.Date % 10) + 48; 809a48e: 4ba9 ldr r3, [pc, #676] ; (809a734 ) 809a490: 789b ldrb r3, [r3, #2] 809a492: b2da uxtb r2, r3 809a494: 4ba8 ldr r3, [pc, #672] ; (809a738 ) 809a496: fba3 1302 umull r1, r3, r3, r2 809a49a: 08d9 lsrs r1, r3, #3 809a49c: 460b mov r3, r1 809a49e: 009b lsls r3, r3, #2 809a4a0: 440b add r3, r1 809a4a2: 005b lsls r3, r3, #1 809a4a4: 1ad3 subs r3, r2, r3 809a4a6: b2db uxtb r3, r3 809a4a8: 3330 adds r3, #48 ; 0x30 809a4aa: b2db uxtb r3, r3 809a4ac: 737b strb r3, [r7, #13] str[2] = '.'; 809a4ae: 232e movs r3, #46 ; 0x2e 809a4b0: 73bb strb r3, [r7, #14] str[3] = (DateFileData.Month / 10) + 48; 809a4b2: 4ba0 ldr r3, [pc, #640] ; (809a734 ) 809a4b4: 785b ldrb r3, [r3, #1] 809a4b6: b2db uxtb r3, r3 809a4b8: 4a9f ldr r2, [pc, #636] ; (809a738 ) 809a4ba: fba2 2303 umull r2, r3, r2, r3 809a4be: 08db lsrs r3, r3, #3 809a4c0: b2db uxtb r3, r3 809a4c2: 3330 adds r3, #48 ; 0x30 809a4c4: b2db uxtb r3, r3 809a4c6: 73fb strb r3, [r7, #15] str[4] = (DateFileData.Month % 10) + 48; 809a4c8: 4b9a ldr r3, [pc, #616] ; (809a734 ) 809a4ca: 785b ldrb r3, [r3, #1] 809a4cc: b2da uxtb r2, r3 809a4ce: 4b9a ldr r3, [pc, #616] ; (809a738 ) 809a4d0: fba3 1302 umull r1, r3, r3, r2 809a4d4: 08d9 lsrs r1, r3, #3 809a4d6: 460b mov r3, r1 809a4d8: 009b lsls r3, r3, #2 809a4da: 440b add r3, r1 809a4dc: 005b lsls r3, r3, #1 809a4de: 1ad3 subs r3, r2, r3 809a4e0: b2db uxtb r3, r3 809a4e2: 3330 adds r3, #48 ; 0x30 809a4e4: b2db uxtb r3, r3 809a4e6: 743b strb r3, [r7, #16] str[5] = '.'; 809a4e8: 232e movs r3, #46 ; 0x2e 809a4ea: 747b strb r3, [r7, #17] str[6] = '2'; 809a4ec: 2332 movs r3, #50 ; 0x32 809a4ee: 74bb strb r3, [r7, #18] str[7] = '0'; 809a4f0: 2330 movs r3, #48 ; 0x30 809a4f2: 74fb strb r3, [r7, #19] str[8] = (DateFileData.Year / 10) + 48; 809a4f4: 4b8f ldr r3, [pc, #572] ; (809a734 ) 809a4f6: 78db ldrb r3, [r3, #3] 809a4f8: b2db uxtb r3, r3 809a4fa: 4a8f ldr r2, [pc, #572] ; (809a738 ) 809a4fc: fba2 2303 umull r2, r3, r2, r3 809a500: 08db lsrs r3, r3, #3 809a502: b2db uxtb r3, r3 809a504: 3330 adds r3, #48 ; 0x30 809a506: b2db uxtb r3, r3 809a508: 753b strb r3, [r7, #20] str[9] = (DateFileData.Year % 10) + 48; 809a50a: 4b8a ldr r3, [pc, #552] ; (809a734 ) 809a50c: 78db ldrb r3, [r3, #3] 809a50e: b2da uxtb r2, r3 809a510: 4b89 ldr r3, [pc, #548] ; (809a738 ) 809a512: fba3 1302 umull r1, r3, r3, r2 809a516: 08d9 lsrs r1, r3, #3 809a518: 460b mov r3, r1 809a51a: 009b lsls r3, r3, #2 809a51c: 440b add r3, r1 809a51e: 005b lsls r3, r3, #1 809a520: 1ad3 subs r3, r2, r3 809a522: b2db uxtb r3, r3 809a524: 3330 adds r3, #48 ; 0x30 809a526: b2db uxtb r3, r3 809a528: 757b strb r3, [r7, #21] BSP_LCD_DisplayStringAt(295, 42, str, RIGHT_MODE); 809a52a: f107 020c add.w r2, r7, #12 809a52e: 2302 movs r3, #2 809a530: 212a movs r1, #42 ; 0x2a 809a532: f240 1027 movw r0, #295 ; 0x127 809a536: f7ba ff2f bl 8055398 memset(str, 0, sizeof(str)); 809a53a: f107 030c add.w r3, r7, #12 809a53e: 2228 movs r2, #40 ; 0x28 809a540: 2100 movs r1, #0 809a542: 4618 mov r0, r3 809a544: f037 fd2e bl 80d1fa4 str[0] = (TimeFileData.Hours / 10) + 48; 809a548: 4b7c ldr r3, [pc, #496] ; (809a73c ) 809a54a: 781b ldrb r3, [r3, #0] 809a54c: b2db uxtb r3, r3 809a54e: 4a7a ldr r2, [pc, #488] ; (809a738 ) 809a550: fba2 2303 umull r2, r3, r2, r3 809a554: 08db lsrs r3, r3, #3 809a556: b2db uxtb r3, r3 809a558: 3330 adds r3, #48 ; 0x30 809a55a: b2db uxtb r3, r3 809a55c: 733b strb r3, [r7, #12] str[1] = (TimeFileData.Hours % 10) + 48; 809a55e: 4b77 ldr r3, [pc, #476] ; (809a73c ) 809a560: 781b ldrb r3, [r3, #0] 809a562: b2da uxtb r2, r3 809a564: 4b74 ldr r3, [pc, #464] ; (809a738 ) 809a566: fba3 1302 umull r1, r3, r3, r2 809a56a: 08d9 lsrs r1, r3, #3 809a56c: 460b mov r3, r1 809a56e: 009b lsls r3, r3, #2 809a570: 440b add r3, r1 809a572: 005b lsls r3, r3, #1 809a574: 1ad3 subs r3, r2, r3 809a576: b2db uxtb r3, r3 809a578: 3330 adds r3, #48 ; 0x30 809a57a: b2db uxtb r3, r3 809a57c: 737b strb r3, [r7, #13] str[2] = ':'; 809a57e: 233a movs r3, #58 ; 0x3a 809a580: 73bb strb r3, [r7, #14] str[3] = (TimeFileData.Minutes / 10) + 48; 809a582: 4b6e ldr r3, [pc, #440] ; (809a73c ) 809a584: 785b ldrb r3, [r3, #1] 809a586: b2db uxtb r3, r3 809a588: 4a6b ldr r2, [pc, #428] ; (809a738 ) 809a58a: fba2 2303 umull r2, r3, r2, r3 809a58e: 08db lsrs r3, r3, #3 809a590: b2db uxtb r3, r3 809a592: 3330 adds r3, #48 ; 0x30 809a594: b2db uxtb r3, r3 809a596: 73fb strb r3, [r7, #15] str[4] = (TimeFileData.Minutes % 10) + 48; 809a598: 4b68 ldr r3, [pc, #416] ; (809a73c ) 809a59a: 785b ldrb r3, [r3, #1] 809a59c: b2da uxtb r2, r3 809a59e: 4b66 ldr r3, [pc, #408] ; (809a738 ) 809a5a0: fba3 1302 umull r1, r3, r3, r2 809a5a4: 08d9 lsrs r1, r3, #3 809a5a6: 460b mov r3, r1 809a5a8: 009b lsls r3, r3, #2 809a5aa: 440b add r3, r1 809a5ac: 005b lsls r3, r3, #1 809a5ae: 1ad3 subs r3, r2, r3 809a5b0: b2db uxtb r3, r3 809a5b2: 3330 adds r3, #48 ; 0x30 809a5b4: b2db uxtb r3, r3 809a5b6: 743b strb r3, [r7, #16] str[5] = ':'; 809a5b8: 233a movs r3, #58 ; 0x3a 809a5ba: 747b strb r3, [r7, #17] str[6] = (TimeFileData.Seconds / 10) + 48; 809a5bc: 4b5f ldr r3, [pc, #380] ; (809a73c ) 809a5be: 789b ldrb r3, [r3, #2] 809a5c0: b2db uxtb r3, r3 809a5c2: 4a5d ldr r2, [pc, #372] ; (809a738 ) 809a5c4: fba2 2303 umull r2, r3, r2, r3 809a5c8: 08db lsrs r3, r3, #3 809a5ca: b2db uxtb r3, r3 809a5cc: 3330 adds r3, #48 ; 0x30 809a5ce: b2db uxtb r3, r3 809a5d0: 74bb strb r3, [r7, #18] str[7] = (TimeFileData.Seconds % 10) + 48; 809a5d2: 4b5a ldr r3, [pc, #360] ; (809a73c ) 809a5d4: 789b ldrb r3, [r3, #2] 809a5d6: b2da uxtb r2, r3 809a5d8: 4b57 ldr r3, [pc, #348] ; (809a738 ) 809a5da: fba3 1302 umull r1, r3, r3, r2 809a5de: 08d9 lsrs r1, r3, #3 809a5e0: 460b mov r3, r1 809a5e2: 009b lsls r3, r3, #2 809a5e4: 440b add r3, r1 809a5e6: 005b lsls r3, r3, #1 809a5e8: 1ad3 subs r3, r2, r3 809a5ea: b2db uxtb r3, r3 809a5ec: 3330 adds r3, #48 ; 0x30 809a5ee: b2db uxtb r3, r3 809a5f0: 74fb strb r3, [r7, #19] BSP_LCD_DisplayStringAt(295, 52, str, RIGHT_MODE); 809a5f2: f107 020c add.w r2, r7, #12 809a5f6: 2302 movs r3, #2 809a5f8: 2134 movs r1, #52 ; 0x34 809a5fa: f240 1027 movw r0, #295 ; 0x127 809a5fe: f7ba fecb bl 8055398 BSP_LCD_SetFont(&Font12); 809a602: 484f ldr r0, [pc, #316] ; (809a740 ) 809a604: f7ba fe3e bl 8055284 if((DrawSavedData) || (NextIndexMeas < IndexMeas[NextIndexPoint])) 809a608: 4b45 ldr r3, [pc, #276] ; (809a720 ) 809a60a: 781b ldrb r3, [r3, #0] 809a60c: b2db uxtb r3, r3 809a60e: 2b00 cmp r3, #0 809a610: d109 bne.n 809a626 809a612: 4b4c ldr r3, [pc, #304] ; (809a744 ) 809a614: 681b ldr r3, [r3, #0] 809a616: 4a4c ldr r2, [pc, #304] ; (809a748 ) 809a618: f852 2023 ldr.w r2, [r2, r3, lsl #2] 809a61c: 4b4b ldr r3, [pc, #300] ; (809a74c ) 809a61e: 681b ldr r3, [r3, #0] 809a620: 429a cmp r2, r3 809a622: f24b 8045 bls.w 80a56b0 memset(str, 0, sizeof(str)); 809a626: f107 030c add.w r3, r7, #12 809a62a: 2228 movs r2, #40 ; 0x28 809a62c: 2100 movs r1, #0 809a62e: 4618 mov r0, r3 809a630: f037 fcb8 bl 80d1fa4 if(DiagnFileData.d_Op1_ipr) 809a634: 4b46 ldr r3, [pc, #280] ; (809a750 ) 809a636: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809a63a: b2db uxtb r3, r3 809a63c: 2b00 cmp r3, #0 809a63e: f000 8101 beq.w 809a844 switch(DiagnFileData.d_Op1_ipr) 809a642: 4b43 ldr r3, [pc, #268] ; (809a750 ) 809a644: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809a648: b2db uxtb r3, r3 809a64a: 2b02 cmp r3, #2 809a64c: d049 beq.n 809a6e2 809a64e: 2b04 cmp r3, #4 809a650: f000 80b3 beq.w 809a7ba 809a654: 2b01 cmp r3, #1 809a656: f040 80fb bne.w 809a850 switch(DiagnFileData.d_Op1_ivs) 809a65a: 4b3d ldr r3, [pc, #244] ; (809a750 ) 809a65c: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 809a660: b2db uxtb r3, r3 809a662: 2b53 cmp r3, #83 ; 0x53 809a664: d020 beq.n 809a6a8 809a666: 2b53 cmp r3, #83 ; 0x53 809a668: dc0b bgt.n 809a682 809a66a: 2b46 cmp r3, #70 ; 0x46 809a66c: d02a beq.n 809a6c4 809a66e: 2b46 cmp r3, #70 ; 0x46 809a670: dc02 bgt.n 809a678 809a672: 2b45 cmp r3, #69 ; 0x45 809a674: d02d beq.n 809a6d2 break; 809a676: e0eb b.n 809a850 switch(DiagnFileData.d_Op1_ivs) 809a678: 2b50 cmp r3, #80 ; 0x50 809a67a: d00e beq.n 809a69a 809a67c: 2b52 cmp r3, #82 ; 0x52 809a67e: d01a beq.n 809a6b6 break; 809a680: e0e6 b.n 809a850 switch(DiagnFileData.d_Op1_ivs) 809a682: 2bd0 cmp r3, #208 ; 0xd0 809a684: d017 beq.n 809a6b6 809a686: 2bd0 cmp r3, #208 ; 0xd0 809a688: dc02 bgt.n 809a690 809a68a: 2bcf cmp r3, #207 ; 0xcf 809a68c: d005 beq.n 809a69a break; 809a68e: e0df b.n 809a850 switch(DiagnFileData.d_Op1_ivs) 809a690: 2bd1 cmp r3, #209 ; 0xd1 809a692: d009 beq.n 809a6a8 809a694: 2bd4 cmp r3, #212 ; 0xd4 809a696: d015 beq.n 809a6c4 break; 809a698: e0da b.n 809a850 BSP_LCD_DisplayStringAt( 30, 101, "A[ïèê]", LEFT_MODE); 809a69a: 2303 movs r3, #3 809a69c: 4a2d ldr r2, [pc, #180] ; (809a754 ) 809a69e: 2165 movs r1, #101 ; 0x65 809a6a0: 201e movs r0, #30 809a6a2: f7ba fe79 bl 8055398 break; 809a6a6: e01b b.n 809a6e0 BSP_LCD_DisplayStringAt( 30, 101, "A[ñêç]", LEFT_MODE); 809a6a8: 2303 movs r3, #3 809a6aa: 4a2b ldr r2, [pc, #172] ; (809a758 ) 809a6ac: 2165 movs r1, #101 ; 0x65 809a6ae: 201e movs r0, #30 809a6b0: f7ba fe72 bl 8055398 break; 809a6b4: e014 b.n 809a6e0 BSP_LCD_DisplayStringAt( 30, 101, "A[ïèê-ïèê]", LEFT_MODE); 809a6b6: 2303 movs r3, #3 809a6b8: 4a28 ldr r2, [pc, #160] ; (809a75c ) 809a6ba: 2165 movs r1, #101 ; 0x65 809a6bc: 201e movs r0, #30 809a6be: f7ba fe6b bl 8055398 break; 809a6c2: e00d b.n 809a6e0 BSP_LCD_DisplayStringAt( 30, 101, "A[ïô]", LEFT_MODE); 809a6c4: 2303 movs r3, #3 809a6c6: 4a26 ldr r2, [pc, #152] ; (809a760 ) 809a6c8: 2165 movs r1, #101 ; 0x65 809a6ca: 201e movs r0, #30 809a6cc: f7ba fe64 bl 8055398 break; 809a6d0: e006 b.n 809a6e0 BSP_LCD_DisplayStringAt( 30, 101, "A[ýêñö]", LEFT_MODE); 809a6d2: 2303 movs r3, #3 809a6d4: 4a23 ldr r2, [pc, #140] ; (809a764 ) 809a6d6: 2165 movs r1, #101 ; 0x65 809a6d8: 201e movs r0, #30 809a6da: f7ba fe5d bl 8055398 break; 809a6de: bf00 nop break; 809a6e0: e0b6 b.n 809a850 switch(DiagnFileData.d_Op1_ivs) 809a6e2: 4b1b ldr r3, [pc, #108] ; (809a750 ) 809a6e4: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 809a6e8: b2db uxtb r3, r3 809a6ea: 2b53 cmp r3, #83 ; 0x53 809a6ec: d048 beq.n 809a780 809a6ee: 2b53 cmp r3, #83 ; 0x53 809a6f0: dc0b bgt.n 809a70a 809a6f2: 2b46 cmp r3, #70 ; 0x46 809a6f4: d052 beq.n 809a79c 809a6f6: 2b46 cmp r3, #70 ; 0x46 809a6f8: dc02 bgt.n 809a700 809a6fa: 2b45 cmp r3, #69 ; 0x45 809a6fc: d055 beq.n 809a7aa break; 809a6fe: e0a7 b.n 809a850 switch(DiagnFileData.d_Op1_ivs) 809a700: 2b50 cmp r3, #80 ; 0x50 809a702: d036 beq.n 809a772 809a704: 2b52 cmp r3, #82 ; 0x52 809a706: d042 beq.n 809a78e break; 809a708: e0a2 b.n 809a850 switch(DiagnFileData.d_Op1_ivs) 809a70a: 2bd0 cmp r3, #208 ; 0xd0 809a70c: d03f beq.n 809a78e 809a70e: 2bd0 cmp r3, #208 ; 0xd0 809a710: dc2a bgt.n 809a768 809a712: 2bcf cmp r3, #207 ; 0xcf 809a714: d02d beq.n 809a772 break; 809a716: e09b b.n 809a850 809a718: 20020fc4 .word 0x20020fc4 809a71c: 20020fc5 .word 0x20020fc5 809a720: 20020dea .word 0x20020dea 809a724: 0814e4ac .word 0x0814e4ac 809a728: 20020060 .word 0x20020060 809a72c: ff0a0f1f .word 0xff0a0f1f 809a730: ffd3d3d3 .word 0xffd3d3d3 809a734: 20022640 .word 0x20022640 809a738: cccccccd .word 0xcccccccd 809a73c: 200229c0 .word 0x200229c0 809a740: 20020038 .word 0x20020038 809a744: 20021fec .word 0x20021fec 809a748: 20022ef8 .word 0x20022ef8 809a74c: 20022360 .word 0x20022360 809a750: 20022644 .word 0x20022644 809a754: 080d737c .word 0x080d737c 809a758: 080d7384 .word 0x080d7384 809a75c: 080d738c .word 0x080d738c 809a760: 080d7398 .word 0x080d7398 809a764: 080d73a0 .word 0x080d73a0 switch(DiagnFileData.d_Op1_ivs) 809a768: 2bd1 cmp r3, #209 ; 0xd1 809a76a: d009 beq.n 809a780 809a76c: 2bd4 cmp r3, #212 ; 0xd4 809a76e: d015 beq.n 809a79c break; 809a770: e06e b.n 809a850 BSP_LCD_DisplayStringAt( 30, 101, "V[ïèê]", LEFT_MODE); 809a772: 2303 movs r3, #3 809a774: 4aaa ldr r2, [pc, #680] ; (809aa20 ) 809a776: 2165 movs r1, #101 ; 0x65 809a778: 201e movs r0, #30 809a77a: f7ba fe0d bl 8055398 break; 809a77e: e01b b.n 809a7b8 BSP_LCD_DisplayStringAt( 30, 101, "V[ñêç]", LEFT_MODE); 809a780: 2303 movs r3, #3 809a782: 4aa8 ldr r2, [pc, #672] ; (809aa24 ) 809a784: 2165 movs r1, #101 ; 0x65 809a786: 201e movs r0, #30 809a788: f7ba fe06 bl 8055398 break; 809a78c: e014 b.n 809a7b8 BSP_LCD_DisplayStringAt( 30, 101, "V[ïèê-ïèê]", LEFT_MODE); 809a78e: 2303 movs r3, #3 809a790: 4aa5 ldr r2, [pc, #660] ; (809aa28 ) 809a792: 2165 movs r1, #101 ; 0x65 809a794: 201e movs r0, #30 809a796: f7ba fdff bl 8055398 break; 809a79a: e00d b.n 809a7b8 BSP_LCD_DisplayStringAt( 30, 101, "V[ïô]", LEFT_MODE); 809a79c: 2303 movs r3, #3 809a79e: 4aa3 ldr r2, [pc, #652] ; (809aa2c ) 809a7a0: 2165 movs r1, #101 ; 0x65 809a7a2: 201e movs r0, #30 809a7a4: f7ba fdf8 bl 8055398 break; 809a7a8: e006 b.n 809a7b8 BSP_LCD_DisplayStringAt( 30, 101, "V[ýêñö]", LEFT_MODE); 809a7aa: 2303 movs r3, #3 809a7ac: 4aa0 ldr r2, [pc, #640] ; (809aa30 ) 809a7ae: 2165 movs r1, #101 ; 0x65 809a7b0: 201e movs r0, #30 809a7b2: f7ba fdf1 bl 8055398 break; 809a7b6: bf00 nop break; 809a7b8: e04a b.n 809a850 switch(DiagnFileData.d_Op1_ivs) 809a7ba: 4b9e ldr r3, [pc, #632] ; (809aa34 ) 809a7bc: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 809a7c0: b2db uxtb r3, r3 809a7c2: 2b53 cmp r3, #83 ; 0x53 809a7c4: d020 beq.n 809a808 809a7c6: 2b53 cmp r3, #83 ; 0x53 809a7c8: dc0b bgt.n 809a7e2 809a7ca: 2b46 cmp r3, #70 ; 0x46 809a7cc: d02a beq.n 809a824 809a7ce: 2b46 cmp r3, #70 ; 0x46 809a7d0: dc02 bgt.n 809a7d8 809a7d2: 2b45 cmp r3, #69 ; 0x45 809a7d4: d02d beq.n 809a832 break; 809a7d6: e03b b.n 809a850 switch(DiagnFileData.d_Op1_ivs) 809a7d8: 2b50 cmp r3, #80 ; 0x50 809a7da: d00e beq.n 809a7fa 809a7dc: 2b52 cmp r3, #82 ; 0x52 809a7de: d01a beq.n 809a816 break; 809a7e0: e036 b.n 809a850 switch(DiagnFileData.d_Op1_ivs) 809a7e2: 2bd0 cmp r3, #208 ; 0xd0 809a7e4: d017 beq.n 809a816 809a7e6: 2bd0 cmp r3, #208 ; 0xd0 809a7e8: dc02 bgt.n 809a7f0 809a7ea: 2bcf cmp r3, #207 ; 0xcf 809a7ec: d005 beq.n 809a7fa break; 809a7ee: e02f b.n 809a850 switch(DiagnFileData.d_Op1_ivs) 809a7f0: 2bd1 cmp r3, #209 ; 0xd1 809a7f2: d009 beq.n 809a808 809a7f4: 2bd4 cmp r3, #212 ; 0xd4 809a7f6: d015 beq.n 809a824 break; 809a7f8: e02a b.n 809a850 BSP_LCD_DisplayStringAt( 30, 101, "S[ïèê]", LEFT_MODE); 809a7fa: 2303 movs r3, #3 809a7fc: 4a8e ldr r2, [pc, #568] ; (809aa38 ) 809a7fe: 2165 movs r1, #101 ; 0x65 809a800: 201e movs r0, #30 809a802: f7ba fdc9 bl 8055398 break; 809a806: e01b b.n 809a840 BSP_LCD_DisplayStringAt( 30, 101, "S[ñêç]", LEFT_MODE); 809a808: 2303 movs r3, #3 809a80a: 4a8c ldr r2, [pc, #560] ; (809aa3c ) 809a80c: 2165 movs r1, #101 ; 0x65 809a80e: 201e movs r0, #30 809a810: f7ba fdc2 bl 8055398 break; 809a814: e014 b.n 809a840 BSP_LCD_DisplayStringAt( 30, 101, "S[ïèê-ïèê]", LEFT_MODE); 809a816: 2303 movs r3, #3 809a818: 4a89 ldr r2, [pc, #548] ; (809aa40 ) 809a81a: 2165 movs r1, #101 ; 0x65 809a81c: 201e movs r0, #30 809a81e: f7ba fdbb bl 8055398 break; 809a822: e00d b.n 809a840 BSP_LCD_DisplayStringAt( 30, 101, "S[ïô]", LEFT_MODE); 809a824: 2303 movs r3, #3 809a826: 4a87 ldr r2, [pc, #540] ; (809aa44 ) 809a828: 2165 movs r1, #101 ; 0x65 809a82a: 201e movs r0, #30 809a82c: f7ba fdb4 bl 8055398 break; 809a830: e006 b.n 809a840 BSP_LCD_DisplayStringAt( 30, 101, "S[ýêñö]", LEFT_MODE); 809a832: 2303 movs r3, #3 809a834: 4a84 ldr r2, [pc, #528] ; (809aa48 ) 809a836: 2165 movs r1, #101 ; 0x65 809a838: 201e movs r0, #30 809a83a: f7ba fdad bl 8055398 break; 809a83e: bf00 nop break; 809a840: bf00 nop 809a842: e005 b.n 809a850 BSP_LCD_DisplayStringAt(30, 101, "----", LEFT_MODE); 809a844: 2303 movs r3, #3 809a846: 4a81 ldr r2, [pc, #516] ; (809aa4c ) 809a848: 2165 movs r1, #101 ; 0x65 809a84a: 201e movs r0, #30 809a84c: f7ba fda4 bl 8055398 memset(str, 0, sizeof(str)); 809a850: f107 030c add.w r3, r7, #12 809a854: 2228 movs r2, #40 ; 0x28 809a856: 2100 movs r1, #0 809a858: 4618 mov r0, r3 809a85a: f037 fba3 bl 80d1fa4 if(DiagnFileData.d_Op2_ipr) 809a85e: 4b75 ldr r3, [pc, #468] ; (809aa34 ) 809a860: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809a864: b2db uxtb r3, r3 809a866: 2b00 cmp r3, #0 809a868: f000 80fc beq.w 809aa64 switch(DiagnFileData.d_Op2_ipr) 809a86c: 4b71 ldr r3, [pc, #452] ; (809aa34 ) 809a86e: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809a872: b2db uxtb r3, r3 809a874: 2b02 cmp r3, #2 809a876: d049 beq.n 809a90c 809a878: 2b04 cmp r3, #4 809a87a: f000 808b beq.w 809a994 809a87e: 2b01 cmp r3, #1 809a880: f040 80f6 bne.w 809aa70 switch(DiagnFileData.d_Op2_ivs) 809a884: 4b6b ldr r3, [pc, #428] ; (809aa34 ) 809a886: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809a88a: b2db uxtb r3, r3 809a88c: 2b53 cmp r3, #83 ; 0x53 809a88e: d020 beq.n 809a8d2 809a890: 2b53 cmp r3, #83 ; 0x53 809a892: dc0b bgt.n 809a8ac 809a894: 2b46 cmp r3, #70 ; 0x46 809a896: d02a beq.n 809a8ee 809a898: 2b46 cmp r3, #70 ; 0x46 809a89a: dc02 bgt.n 809a8a2 809a89c: 2b45 cmp r3, #69 ; 0x45 809a89e: d02d beq.n 809a8fc break; 809a8a0: e0e6 b.n 809aa70 switch(DiagnFileData.d_Op2_ivs) 809a8a2: 2b50 cmp r3, #80 ; 0x50 809a8a4: d00e beq.n 809a8c4 809a8a6: 2b52 cmp r3, #82 ; 0x52 809a8a8: d01a beq.n 809a8e0 break; 809a8aa: e0e1 b.n 809aa70 switch(DiagnFileData.d_Op2_ivs) 809a8ac: 2bd0 cmp r3, #208 ; 0xd0 809a8ae: d017 beq.n 809a8e0 809a8b0: 2bd0 cmp r3, #208 ; 0xd0 809a8b2: dc02 bgt.n 809a8ba 809a8b4: 2bcf cmp r3, #207 ; 0xcf 809a8b6: d005 beq.n 809a8c4 break; 809a8b8: e0da b.n 809aa70 switch(DiagnFileData.d_Op2_ivs) 809a8ba: 2bd1 cmp r3, #209 ; 0xd1 809a8bc: d009 beq.n 809a8d2 809a8be: 2bd4 cmp r3, #212 ; 0xd4 809a8c0: d015 beq.n 809a8ee break; 809a8c2: e0d5 b.n 809aa70 BSP_LCD_DisplayStringAt( 30, 137, "A[ïèê]", LEFT_MODE); 809a8c4: 2303 movs r3, #3 809a8c6: 4a62 ldr r2, [pc, #392] ; (809aa50 ) 809a8c8: 2189 movs r1, #137 ; 0x89 809a8ca: 201e movs r0, #30 809a8cc: f7ba fd64 bl 8055398 break; 809a8d0: e01b b.n 809a90a BSP_LCD_DisplayStringAt( 30, 137, "A[ñêç]", LEFT_MODE); 809a8d2: 2303 movs r3, #3 809a8d4: 4a5f ldr r2, [pc, #380] ; (809aa54 ) 809a8d6: 2189 movs r1, #137 ; 0x89 809a8d8: 201e movs r0, #30 809a8da: f7ba fd5d bl 8055398 break; 809a8de: e014 b.n 809a90a BSP_LCD_DisplayStringAt( 30, 137, "A[ïèê-ïèê]", LEFT_MODE); 809a8e0: 2303 movs r3, #3 809a8e2: 4a5d ldr r2, [pc, #372] ; (809aa58 ) 809a8e4: 2189 movs r1, #137 ; 0x89 809a8e6: 201e movs r0, #30 809a8e8: f7ba fd56 bl 8055398 break; 809a8ec: e00d b.n 809a90a BSP_LCD_DisplayStringAt( 30, 137, "A[ïô]", LEFT_MODE); 809a8ee: 2303 movs r3, #3 809a8f0: 4a5a ldr r2, [pc, #360] ; (809aa5c ) 809a8f2: 2189 movs r1, #137 ; 0x89 809a8f4: 201e movs r0, #30 809a8f6: f7ba fd4f bl 8055398 break; 809a8fa: e006 b.n 809a90a BSP_LCD_DisplayStringAt( 30, 137, "A[ýêñö]", LEFT_MODE); 809a8fc: 2303 movs r3, #3 809a8fe: 4a58 ldr r2, [pc, #352] ; (809aa60 ) 809a900: 2189 movs r1, #137 ; 0x89 809a902: 201e movs r0, #30 809a904: f7ba fd48 bl 8055398 break; 809a908: bf00 nop break; 809a90a: e0b1 b.n 809aa70 switch(DiagnFileData.d_Op2_ivs) 809a90c: 4b49 ldr r3, [pc, #292] ; (809aa34 ) 809a90e: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809a912: b2db uxtb r3, r3 809a914: 2b53 cmp r3, #83 ; 0x53 809a916: d020 beq.n 809a95a 809a918: 2b53 cmp r3, #83 ; 0x53 809a91a: dc0b bgt.n 809a934 809a91c: 2b46 cmp r3, #70 ; 0x46 809a91e: d02a beq.n 809a976 809a920: 2b46 cmp r3, #70 ; 0x46 809a922: dc02 bgt.n 809a92a 809a924: 2b45 cmp r3, #69 ; 0x45 809a926: d02d beq.n 809a984 break; 809a928: e0a2 b.n 809aa70 switch(DiagnFileData.d_Op2_ivs) 809a92a: 2b50 cmp r3, #80 ; 0x50 809a92c: d00e beq.n 809a94c 809a92e: 2b52 cmp r3, #82 ; 0x52 809a930: d01a beq.n 809a968 break; 809a932: e09d b.n 809aa70 switch(DiagnFileData.d_Op2_ivs) 809a934: 2bd0 cmp r3, #208 ; 0xd0 809a936: d017 beq.n 809a968 809a938: 2bd0 cmp r3, #208 ; 0xd0 809a93a: dc02 bgt.n 809a942 809a93c: 2bcf cmp r3, #207 ; 0xcf 809a93e: d005 beq.n 809a94c break; 809a940: e096 b.n 809aa70 switch(DiagnFileData.d_Op2_ivs) 809a942: 2bd1 cmp r3, #209 ; 0xd1 809a944: d009 beq.n 809a95a 809a946: 2bd4 cmp r3, #212 ; 0xd4 809a948: d015 beq.n 809a976 break; 809a94a: e091 b.n 809aa70 BSP_LCD_DisplayStringAt( 30, 137, "V[ïèê]", LEFT_MODE); 809a94c: 2303 movs r3, #3 809a94e: 4a34 ldr r2, [pc, #208] ; (809aa20 ) 809a950: 2189 movs r1, #137 ; 0x89 809a952: 201e movs r0, #30 809a954: f7ba fd20 bl 8055398 break; 809a958: e01b b.n 809a992 BSP_LCD_DisplayStringAt( 30, 137, "V[ñêç]", LEFT_MODE); 809a95a: 2303 movs r3, #3 809a95c: 4a31 ldr r2, [pc, #196] ; (809aa24 ) 809a95e: 2189 movs r1, #137 ; 0x89 809a960: 201e movs r0, #30 809a962: f7ba fd19 bl 8055398 break; 809a966: e014 b.n 809a992 BSP_LCD_DisplayStringAt( 30, 137, "V[ïèê-ïèê]", LEFT_MODE); 809a968: 2303 movs r3, #3 809a96a: 4a2f ldr r2, [pc, #188] ; (809aa28 ) 809a96c: 2189 movs r1, #137 ; 0x89 809a96e: 201e movs r0, #30 809a970: f7ba fd12 bl 8055398 break; 809a974: e00d b.n 809a992 BSP_LCD_DisplayStringAt( 30, 137, "V[ïô]", LEFT_MODE); 809a976: 2303 movs r3, #3 809a978: 4a2c ldr r2, [pc, #176] ; (809aa2c ) 809a97a: 2189 movs r1, #137 ; 0x89 809a97c: 201e movs r0, #30 809a97e: f7ba fd0b bl 8055398 break; 809a982: e006 b.n 809a992 BSP_LCD_DisplayStringAt( 30, 137, "V[ýêñö]", LEFT_MODE); 809a984: 2303 movs r3, #3 809a986: 4a2a ldr r2, [pc, #168] ; (809aa30 ) 809a988: 2189 movs r1, #137 ; 0x89 809a98a: 201e movs r0, #30 809a98c: f7ba fd04 bl 8055398 break; 809a990: bf00 nop break; 809a992: e06d b.n 809aa70 switch(DiagnFileData.d_Op2_ivs) 809a994: 4b27 ldr r3, [pc, #156] ; (809aa34 ) 809a996: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809a99a: b2db uxtb r3, r3 809a99c: 2b53 cmp r3, #83 ; 0x53 809a99e: d020 beq.n 809a9e2 809a9a0: 2b53 cmp r3, #83 ; 0x53 809a9a2: dc0b bgt.n 809a9bc 809a9a4: 2b46 cmp r3, #70 ; 0x46 809a9a6: d02a beq.n 809a9fe 809a9a8: 2b46 cmp r3, #70 ; 0x46 809a9aa: dc02 bgt.n 809a9b2 809a9ac: 2b45 cmp r3, #69 ; 0x45 809a9ae: d02d beq.n 809aa0c break; 809a9b0: e05e b.n 809aa70 switch(DiagnFileData.d_Op2_ivs) 809a9b2: 2b50 cmp r3, #80 ; 0x50 809a9b4: d00e beq.n 809a9d4 809a9b6: 2b52 cmp r3, #82 ; 0x52 809a9b8: d01a beq.n 809a9f0 break; 809a9ba: e059 b.n 809aa70 switch(DiagnFileData.d_Op2_ivs) 809a9bc: 2bd0 cmp r3, #208 ; 0xd0 809a9be: d017 beq.n 809a9f0 809a9c0: 2bd0 cmp r3, #208 ; 0xd0 809a9c2: dc02 bgt.n 809a9ca 809a9c4: 2bcf cmp r3, #207 ; 0xcf 809a9c6: d005 beq.n 809a9d4 break; 809a9c8: e052 b.n 809aa70 switch(DiagnFileData.d_Op2_ivs) 809a9ca: 2bd1 cmp r3, #209 ; 0xd1 809a9cc: d009 beq.n 809a9e2 809a9ce: 2bd4 cmp r3, #212 ; 0xd4 809a9d0: d015 beq.n 809a9fe break; 809a9d2: e04d b.n 809aa70 BSP_LCD_DisplayStringAt( 30, 137, "S[ïèê]", LEFT_MODE); 809a9d4: 2303 movs r3, #3 809a9d6: 4a18 ldr r2, [pc, #96] ; (809aa38 ) 809a9d8: 2189 movs r1, #137 ; 0x89 809a9da: 201e movs r0, #30 809a9dc: f7ba fcdc bl 8055398 break; 809a9e0: e01b b.n 809aa1a BSP_LCD_DisplayStringAt( 30, 137, "S[ñêç]", LEFT_MODE); 809a9e2: 2303 movs r3, #3 809a9e4: 4a15 ldr r2, [pc, #84] ; (809aa3c ) 809a9e6: 2189 movs r1, #137 ; 0x89 809a9e8: 201e movs r0, #30 809a9ea: f7ba fcd5 bl 8055398 break; 809a9ee: e014 b.n 809aa1a BSP_LCD_DisplayStringAt( 30, 137, "S[ïèê-ïèê]", LEFT_MODE); 809a9f0: 2303 movs r3, #3 809a9f2: 4a13 ldr r2, [pc, #76] ; (809aa40 ) 809a9f4: 2189 movs r1, #137 ; 0x89 809a9f6: 201e movs r0, #30 809a9f8: f7ba fcce bl 8055398 break; 809a9fc: e00d b.n 809aa1a BSP_LCD_DisplayStringAt( 30, 137, "S[ïô]", LEFT_MODE); 809a9fe: 2303 movs r3, #3 809aa00: 4a10 ldr r2, [pc, #64] ; (809aa44 ) 809aa02: 2189 movs r1, #137 ; 0x89 809aa04: 201e movs r0, #30 809aa06: f7ba fcc7 bl 8055398 break; 809aa0a: e006 b.n 809aa1a BSP_LCD_DisplayStringAt( 30, 137, "S[ýêñö]", LEFT_MODE); 809aa0c: 2303 movs r3, #3 809aa0e: 4a0e ldr r2, [pc, #56] ; (809aa48 ) 809aa10: 2189 movs r1, #137 ; 0x89 809aa12: 201e movs r0, #30 809aa14: f7ba fcc0 bl 8055398 break; 809aa18: bf00 nop break; 809aa1a: bf00 nop 809aa1c: e028 b.n 809aa70 809aa1e: bf00 nop 809aa20: 080d73a8 .word 0x080d73a8 809aa24: 080d73b0 .word 0x080d73b0 809aa28: 080d73b8 .word 0x080d73b8 809aa2c: 080d73c4 .word 0x080d73c4 809aa30: 080d73cc .word 0x080d73cc 809aa34: 20022644 .word 0x20022644 809aa38: 080d73d4 .word 0x080d73d4 809aa3c: 080d73dc .word 0x080d73dc 809aa40: 080d73e4 .word 0x080d73e4 809aa44: 080d73f0 .word 0x080d73f0 809aa48: 080d73f8 .word 0x080d73f8 809aa4c: 080d7400 .word 0x080d7400 809aa50: 080d737c .word 0x080d737c 809aa54: 080d7384 .word 0x080d7384 809aa58: 080d738c .word 0x080d738c 809aa5c: 080d7398 .word 0x080d7398 809aa60: 080d73a0 .word 0x080d73a0 BSP_LCD_DisplayStringAt(30, 137, "----", LEFT_MODE); 809aa64: 2303 movs r3, #3 809aa66: 4aba ldr r2, [pc, #744] ; (809ad50 ) 809aa68: 2189 movs r1, #137 ; 0x89 809aa6a: 201e movs r0, #30 809aa6c: f7ba fc94 bl 8055398 memset(str, 0, sizeof(str)); 809aa70: f107 030c add.w r3, r7, #12 809aa74: 2228 movs r2, #40 ; 0x28 809aa76: 2100 movs r1, #0 809aa78: 4618 mov r0, r3 809aa7a: f037 fa93 bl 80d1fa4 if(DiagnFileData.d_Op3_ipr) 809aa7e: 4bb5 ldr r3, [pc, #724] ; (809ad54 ) 809aa80: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809aa84: b2db uxtb r3, r3 809aa86: 2b00 cmp r3, #0 809aa88: f000 80d9 beq.w 809ac3e switch(DiagnFileData.d_Op3_ipr) 809aa8c: 4bb1 ldr r3, [pc, #708] ; (809ad54 ) 809aa8e: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809aa92: b2db uxtb r3, r3 809aa94: 2b02 cmp r3, #2 809aa96: d049 beq.n 809ab2c 809aa98: 2b04 cmp r3, #4 809aa9a: f000 808b beq.w 809abb4 809aa9e: 2b01 cmp r3, #1 809aaa0: f040 80d3 bne.w 809ac4a switch(DiagnFileData.d_Op3_ivs) 809aaa4: 4bab ldr r3, [pc, #684] ; (809ad54 ) 809aaa6: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809aaaa: b2db uxtb r3, r3 809aaac: 2b53 cmp r3, #83 ; 0x53 809aaae: d020 beq.n 809aaf2 809aab0: 2b53 cmp r3, #83 ; 0x53 809aab2: dc0b bgt.n 809aacc 809aab4: 2b46 cmp r3, #70 ; 0x46 809aab6: d02a beq.n 809ab0e 809aab8: 2b46 cmp r3, #70 ; 0x46 809aaba: dc02 bgt.n 809aac2 809aabc: 2b45 cmp r3, #69 ; 0x45 809aabe: d02d beq.n 809ab1c break; 809aac0: e0c3 b.n 809ac4a switch(DiagnFileData.d_Op3_ivs) 809aac2: 2b50 cmp r3, #80 ; 0x50 809aac4: d00e beq.n 809aae4 809aac6: 2b52 cmp r3, #82 ; 0x52 809aac8: d01a beq.n 809ab00 break; 809aaca: e0be b.n 809ac4a switch(DiagnFileData.d_Op3_ivs) 809aacc: 2bd0 cmp r3, #208 ; 0xd0 809aace: d017 beq.n 809ab00 809aad0: 2bd0 cmp r3, #208 ; 0xd0 809aad2: dc02 bgt.n 809aada 809aad4: 2bcf cmp r3, #207 ; 0xcf 809aad6: d005 beq.n 809aae4 break; 809aad8: e0b7 b.n 809ac4a switch(DiagnFileData.d_Op3_ivs) 809aada: 2bd1 cmp r3, #209 ; 0xd1 809aadc: d009 beq.n 809aaf2 809aade: 2bd4 cmp r3, #212 ; 0xd4 809aae0: d015 beq.n 809ab0e break; 809aae2: e0b2 b.n 809ac4a BSP_LCD_DisplayStringAt( 30, 173, "A[ïèê]", LEFT_MODE); 809aae4: 2303 movs r3, #3 809aae6: 4a9c ldr r2, [pc, #624] ; (809ad58 ) 809aae8: 21ad movs r1, #173 ; 0xad 809aaea: 201e movs r0, #30 809aaec: f7ba fc54 bl 8055398 break; 809aaf0: e01b b.n 809ab2a BSP_LCD_DisplayStringAt( 30, 173, "A[ñêç]", LEFT_MODE); 809aaf2: 2303 movs r3, #3 809aaf4: 4a99 ldr r2, [pc, #612] ; (809ad5c ) 809aaf6: 21ad movs r1, #173 ; 0xad 809aaf8: 201e movs r0, #30 809aafa: f7ba fc4d bl 8055398 break; 809aafe: e014 b.n 809ab2a BSP_LCD_DisplayStringAt( 30, 173, "A[ïèê-ïèê]", LEFT_MODE); 809ab00: 2303 movs r3, #3 809ab02: 4a97 ldr r2, [pc, #604] ; (809ad60 ) 809ab04: 21ad movs r1, #173 ; 0xad 809ab06: 201e movs r0, #30 809ab08: f7ba fc46 bl 8055398 break; 809ab0c: e00d b.n 809ab2a BSP_LCD_DisplayStringAt( 30, 173, "A[ïô]", LEFT_MODE); 809ab0e: 2303 movs r3, #3 809ab10: 4a94 ldr r2, [pc, #592] ; (809ad64 ) 809ab12: 21ad movs r1, #173 ; 0xad 809ab14: 201e movs r0, #30 809ab16: f7ba fc3f bl 8055398 break; 809ab1a: e006 b.n 809ab2a BSP_LCD_DisplayStringAt( 30, 173, "A[ýêñö]", LEFT_MODE); 809ab1c: 2303 movs r3, #3 809ab1e: 4a92 ldr r2, [pc, #584] ; (809ad68 ) 809ab20: 21ad movs r1, #173 ; 0xad 809ab22: 201e movs r0, #30 809ab24: f7ba fc38 bl 8055398 break; 809ab28: bf00 nop break; 809ab2a: e08e b.n 809ac4a switch(DiagnFileData.d_Op3_ivs) 809ab2c: 4b89 ldr r3, [pc, #548] ; (809ad54 ) 809ab2e: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809ab32: b2db uxtb r3, r3 809ab34: 2b53 cmp r3, #83 ; 0x53 809ab36: d020 beq.n 809ab7a 809ab38: 2b53 cmp r3, #83 ; 0x53 809ab3a: dc0b bgt.n 809ab54 809ab3c: 2b46 cmp r3, #70 ; 0x46 809ab3e: d02a beq.n 809ab96 809ab40: 2b46 cmp r3, #70 ; 0x46 809ab42: dc02 bgt.n 809ab4a 809ab44: 2b45 cmp r3, #69 ; 0x45 809ab46: d02d beq.n 809aba4 break; 809ab48: e07f b.n 809ac4a switch(DiagnFileData.d_Op3_ivs) 809ab4a: 2b50 cmp r3, #80 ; 0x50 809ab4c: d00e beq.n 809ab6c 809ab4e: 2b52 cmp r3, #82 ; 0x52 809ab50: d01a beq.n 809ab88 break; 809ab52: e07a b.n 809ac4a switch(DiagnFileData.d_Op3_ivs) 809ab54: 2bd0 cmp r3, #208 ; 0xd0 809ab56: d017 beq.n 809ab88 809ab58: 2bd0 cmp r3, #208 ; 0xd0 809ab5a: dc02 bgt.n 809ab62 809ab5c: 2bcf cmp r3, #207 ; 0xcf 809ab5e: d005 beq.n 809ab6c break; 809ab60: e073 b.n 809ac4a switch(DiagnFileData.d_Op3_ivs) 809ab62: 2bd1 cmp r3, #209 ; 0xd1 809ab64: d009 beq.n 809ab7a 809ab66: 2bd4 cmp r3, #212 ; 0xd4 809ab68: d015 beq.n 809ab96 break; 809ab6a: e06e b.n 809ac4a BSP_LCD_DisplayStringAt( 30, 173, "V[ïèê]", LEFT_MODE); 809ab6c: 2303 movs r3, #3 809ab6e: 4a7f ldr r2, [pc, #508] ; (809ad6c ) 809ab70: 21ad movs r1, #173 ; 0xad 809ab72: 201e movs r0, #30 809ab74: f7ba fc10 bl 8055398 break; 809ab78: e01b b.n 809abb2 BSP_LCD_DisplayStringAt( 30, 173, "V[ñêç]", LEFT_MODE); 809ab7a: 2303 movs r3, #3 809ab7c: 4a7c ldr r2, [pc, #496] ; (809ad70 ) 809ab7e: 21ad movs r1, #173 ; 0xad 809ab80: 201e movs r0, #30 809ab82: f7ba fc09 bl 8055398 break; 809ab86: e014 b.n 809abb2 BSP_LCD_DisplayStringAt( 30, 173, "V[ïèê-ïèê]", LEFT_MODE); 809ab88: 2303 movs r3, #3 809ab8a: 4a7a ldr r2, [pc, #488] ; (809ad74 ) 809ab8c: 21ad movs r1, #173 ; 0xad 809ab8e: 201e movs r0, #30 809ab90: f7ba fc02 bl 8055398 break; 809ab94: e00d b.n 809abb2 BSP_LCD_DisplayStringAt( 30, 173, "V[ïô]", LEFT_MODE); 809ab96: 2303 movs r3, #3 809ab98: 4a77 ldr r2, [pc, #476] ; (809ad78 ) 809ab9a: 21ad movs r1, #173 ; 0xad 809ab9c: 201e movs r0, #30 809ab9e: f7ba fbfb bl 8055398 break; 809aba2: e006 b.n 809abb2 BSP_LCD_DisplayStringAt( 30, 173, "V[ýêñö]", LEFT_MODE); 809aba4: 2303 movs r3, #3 809aba6: 4a75 ldr r2, [pc, #468] ; (809ad7c ) 809aba8: 21ad movs r1, #173 ; 0xad 809abaa: 201e movs r0, #30 809abac: f7ba fbf4 bl 8055398 break; 809abb0: bf00 nop break; 809abb2: e04a b.n 809ac4a switch(DiagnFileData.d_Op3_ivs) 809abb4: 4b67 ldr r3, [pc, #412] ; (809ad54 ) 809abb6: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809abba: b2db uxtb r3, r3 809abbc: 2b53 cmp r3, #83 ; 0x53 809abbe: d020 beq.n 809ac02 809abc0: 2b53 cmp r3, #83 ; 0x53 809abc2: dc0b bgt.n 809abdc 809abc4: 2b46 cmp r3, #70 ; 0x46 809abc6: d02a beq.n 809ac1e 809abc8: 2b46 cmp r3, #70 ; 0x46 809abca: dc02 bgt.n 809abd2 809abcc: 2b45 cmp r3, #69 ; 0x45 809abce: d02d beq.n 809ac2c break; 809abd0: e03b b.n 809ac4a switch(DiagnFileData.d_Op3_ivs) 809abd2: 2b50 cmp r3, #80 ; 0x50 809abd4: d00e beq.n 809abf4 809abd6: 2b52 cmp r3, #82 ; 0x52 809abd8: d01a beq.n 809ac10 break; 809abda: e036 b.n 809ac4a switch(DiagnFileData.d_Op3_ivs) 809abdc: 2bd0 cmp r3, #208 ; 0xd0 809abde: d017 beq.n 809ac10 809abe0: 2bd0 cmp r3, #208 ; 0xd0 809abe2: dc02 bgt.n 809abea 809abe4: 2bcf cmp r3, #207 ; 0xcf 809abe6: d005 beq.n 809abf4 break; 809abe8: e02f b.n 809ac4a switch(DiagnFileData.d_Op3_ivs) 809abea: 2bd1 cmp r3, #209 ; 0xd1 809abec: d009 beq.n 809ac02 809abee: 2bd4 cmp r3, #212 ; 0xd4 809abf0: d015 beq.n 809ac1e break; 809abf2: e02a b.n 809ac4a BSP_LCD_DisplayStringAt( 30, 173, "S[ïèê]", LEFT_MODE); 809abf4: 2303 movs r3, #3 809abf6: 4a62 ldr r2, [pc, #392] ; (809ad80 ) 809abf8: 21ad movs r1, #173 ; 0xad 809abfa: 201e movs r0, #30 809abfc: f7ba fbcc bl 8055398 break; 809ac00: e01b b.n 809ac3a BSP_LCD_DisplayStringAt( 30, 173, "S[ñêç]", LEFT_MODE); 809ac02: 2303 movs r3, #3 809ac04: 4a5f ldr r2, [pc, #380] ; (809ad84 ) 809ac06: 21ad movs r1, #173 ; 0xad 809ac08: 201e movs r0, #30 809ac0a: f7ba fbc5 bl 8055398 break; 809ac0e: e014 b.n 809ac3a BSP_LCD_DisplayStringAt( 30, 173, "S[ïèê-ïèê]", LEFT_MODE); 809ac10: 2303 movs r3, #3 809ac12: 4a5d ldr r2, [pc, #372] ; (809ad88 ) 809ac14: 21ad movs r1, #173 ; 0xad 809ac16: 201e movs r0, #30 809ac18: f7ba fbbe bl 8055398 break; 809ac1c: e00d b.n 809ac3a BSP_LCD_DisplayStringAt( 30, 173, "S[ïô]", LEFT_MODE); 809ac1e: 2303 movs r3, #3 809ac20: 4a5a ldr r2, [pc, #360] ; (809ad8c ) 809ac22: 21ad movs r1, #173 ; 0xad 809ac24: 201e movs r0, #30 809ac26: f7ba fbb7 bl 8055398 break; 809ac2a: e006 b.n 809ac3a BSP_LCD_DisplayStringAt( 30, 173, "S[ýêñö]", LEFT_MODE); 809ac2c: 2303 movs r3, #3 809ac2e: 4a58 ldr r2, [pc, #352] ; (809ad90 ) 809ac30: 21ad movs r1, #173 ; 0xad 809ac32: 201e movs r0, #30 809ac34: f7ba fbb0 bl 8055398 break; 809ac38: bf00 nop break; 809ac3a: bf00 nop 809ac3c: e005 b.n 809ac4a BSP_LCD_DisplayStringAt(30, 173, "----", LEFT_MODE); 809ac3e: 2303 movs r3, #3 809ac40: 4a43 ldr r2, [pc, #268] ; (809ad50 ) 809ac42: 21ad movs r1, #173 ; 0xad 809ac44: 201e movs r0, #30 809ac46: f7ba fba7 bl 8055398 if((DiagnFileData.d_Op1_ipr!= DIAGN_NO) && (DiagnFileData.Op_1.fl != -1.0f)) 809ac4a: 4b42 ldr r3, [pc, #264] ; (809ad54 ) 809ac4c: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809ac50: b2db uxtb r3, r3 809ac52: 2b00 cmp r3, #0 809ac54: f000 81e9 beq.w 809b02a 809ac58: 4b3e ldr r3, [pc, #248] ; (809ad54 ) 809ac5a: edd3 7a00 vldr s15, [r3] 809ac5e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809ac62: eef4 7a47 vcmp.f32 s15, s14 809ac66: eef1 fa10 vmrs APSR_nzcv, fpscr 809ac6a: f000 81de beq.w 809b02a if(DiagnFileData.d_Op1_Color == 0) LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809ac6e: 4b39 ldr r3, [pc, #228] ; (809ad54 ) 809ac70: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809ac74: b2db uxtb r3, r3 809ac76: 2b00 cmp r3, #0 809ac78: d105 bne.n 809ac86 809ac7a: 4946 ldr r1, [pc, #280] ; (809ad94 ) 809ac7c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809ac80: f7ba fac4 bl 805520c 809ac84: e015 b.n 809acb2 else if(DiagnFileData.d_Op1_Color == 1) LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809ac86: 4b33 ldr r3, [pc, #204] ; (809ad54 ) 809ac88: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809ac8c: b2db uxtb r3, r3 809ac8e: 2b01 cmp r3, #1 809ac90: d105 bne.n 809ac9e 809ac92: 4940 ldr r1, [pc, #256] ; (809ad94 ) 809ac94: f06f 00ff mvn.w r0, #255 ; 0xff 809ac98: f7ba fab8 bl 805520c 809ac9c: e009 b.n 809acb2 else if(DiagnFileData.d_Op1_Color == 2) LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809ac9e: 4b2d ldr r3, [pc, #180] ; (809ad54 ) 809aca0: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809aca4: b2db uxtb r3, r3 809aca6: 2b02 cmp r3, #2 809aca8: d103 bne.n 809acb2 809acaa: 493a ldr r1, [pc, #232] ; (809ad94 ) 809acac: 483a ldr r0, [pc, #232] ; (809ad98 ) 809acae: f7ba faad bl 805520c f = DiagnFileData.Op_1.fl; 809acb2: 4b28 ldr r3, [pc, #160] ; (809ad54 ) 809acb4: 681b ldr r3, [r3, #0] 809acb6: 647b str r3, [r7, #68] ; 0x44 if((DiagnFileData.d_Op1_ivs != 'E') && (DiagnFileData.d_Op1_ivs != 'F')) 809acb8: 4b26 ldr r3, [pc, #152] ; (809ad54 ) 809acba: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 809acbe: b2db uxtb r3, r3 809acc0: 2b45 cmp r3, #69 ; 0x45 809acc2: f000 813c beq.w 809af3e 809acc6: 4b23 ldr r3, [pc, #140] ; (809ad54 ) 809acc8: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 809accc: b2db uxtb r3, r3 809acce: 2b46 cmp r3, #70 ; 0x46 809acd0: f000 8135 beq.w 809af3e if(f >= 1000.0f) 809acd4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809acd8: ed9f 7a30 vldr s14, [pc, #192] ; 809ad9c 809acdc: eef4 7ac7 vcmpe.f32 s15, s14 809ace0: eef1 fa10 vmrs APSR_nzcv, fpscr 809ace4: f2c0 8087 blt.w 809adf6 f *= 0.001f; 809ace8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809acec: ed9f 7a2c vldr s14, [pc, #176] ; 809ada0 809acf0: ee67 7a87 vmul.f32 s15, s15, s14 809acf4: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op1_ipr == DIAGN_ACC) 809acf8: 4b16 ldr r3, [pc, #88] ; (809ad54 ) 809acfa: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809acfe: b2db uxtb r3, r3 809ad00: 2b01 cmp r3, #1 809ad02: d112 bne.n 809ad2a if(pardata.LANG == RUS) 809ad04: 4b27 ldr r3, [pc, #156] ; (809ada4 ) 809ad06: 7b1b ldrb r3, [r3, #12] 809ad08: b2db uxtb r3, r3 809ad0a: 2b00 cmp r3, #0 809ad0c: d106 bne.n 809ad1c BSP_LCD_DisplayStringAt(170, 101, "kì/c^", LEFT_MODE); 809ad0e: 2303 movs r3, #3 809ad10: 4a25 ldr r2, [pc, #148] ; (809ada8 ) 809ad12: 2165 movs r1, #101 ; 0x65 809ad14: 20aa movs r0, #170 ; 0xaa 809ad16: f7ba fb3f bl 8055398 809ad1a: e110 b.n 809af3e else BSP_LCD_DisplayStringAt(170, 101, "km/s^", LEFT_MODE); 809ad1c: 2303 movs r3, #3 809ad1e: 4a23 ldr r2, [pc, #140] ; (809adac ) 809ad20: 2165 movs r1, #101 ; 0x65 809ad22: 20aa movs r0, #170 ; 0xaa 809ad24: f7ba fb38 bl 8055398 809ad28: e109 b.n 809af3e if(DiagnFileData.d_Op1_ipr == DIAGN_VEL) 809ad2a: 4b0a ldr r3, [pc, #40] ; (809ad54 ) 809ad2c: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809ad30: b2db uxtb r3, r3 809ad32: 2b02 cmp r3, #2 809ad34: d145 bne.n 809adc2 if(pardata.LANG == RUS) 809ad36: 4b1b ldr r3, [pc, #108] ; (809ada4 ) 809ad38: 7b1b ldrb r3, [r3, #12] 809ad3a: b2db uxtb r3, r3 809ad3c: 2b00 cmp r3, #0 809ad3e: d139 bne.n 809adb4 BSP_LCD_DisplayStringAt(170, 101, "ì/c", LEFT_MODE); 809ad40: 2303 movs r3, #3 809ad42: 4a1b ldr r2, [pc, #108] ; (809adb0 ) 809ad44: 2165 movs r1, #101 ; 0x65 809ad46: 20aa movs r0, #170 ; 0xaa 809ad48: f7ba fb26 bl 8055398 809ad4c: e0f7 b.n 809af3e 809ad4e: bf00 nop 809ad50: 080d7400 .word 0x080d7400 809ad54: 20022644 .word 0x20022644 809ad58: 080d737c .word 0x080d737c 809ad5c: 080d7384 .word 0x080d7384 809ad60: 080d738c .word 0x080d738c 809ad64: 080d7398 .word 0x080d7398 809ad68: 080d73a0 .word 0x080d73a0 809ad6c: 080d73a8 .word 0x080d73a8 809ad70: 080d73b0 .word 0x080d73b0 809ad74: 080d73b8 .word 0x080d73b8 809ad78: 080d73c4 .word 0x080d73c4 809ad7c: 080d73cc .word 0x080d73cc 809ad80: 080d73d4 .word 0x080d73d4 809ad84: 080d73dc .word 0x080d73dc 809ad88: 080d73e4 .word 0x080d73e4 809ad8c: 080d73f0 .word 0x080d73f0 809ad90: 080d73f8 .word 0x080d73f8 809ad94: ff0a0f1f .word 0xff0a0f1f 809ad98: ffff0000 .word 0xffff0000 809ad9c: 447a0000 .word 0x447a0000 809ada0: 3a83126f .word 0x3a83126f 809ada4: 20023eb8 .word 0x20023eb8 809ada8: 080d7408 .word 0x080d7408 809adac: 080d7410 .word 0x080d7410 809adb0: 080d7418 .word 0x080d7418 else BSP_LCD_DisplayStringAt(170, 101, "m/s", LEFT_MODE); 809adb4: 2303 movs r3, #3 809adb6: 4ab2 ldr r2, [pc, #712] ; (809b080 ) 809adb8: 2165 movs r1, #101 ; 0x65 809adba: 20aa movs r0, #170 ; 0xaa 809adbc: f7ba faec bl 8055398 809adc0: e0bd b.n 809af3e if(DiagnFileData.d_Op1_ipr == DIAGN_DIS) 809adc2: 4bb0 ldr r3, [pc, #704] ; (809b084 ) 809adc4: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809adc8: b2db uxtb r3, r3 809adca: 2b04 cmp r3, #4 809adcc: f040 80b7 bne.w 809af3e if(pardata.LANG == RUS) 809add0: 4bad ldr r3, [pc, #692] ; (809b088 ) 809add2: 7b1b ldrb r3, [r3, #12] 809add4: b2db uxtb r3, r3 809add6: 2b00 cmp r3, #0 809add8: d106 bne.n 809ade8 BSP_LCD_DisplayStringAt(170, 101, "ìì", LEFT_MODE); 809adda: 2303 movs r3, #3 809addc: 4aab ldr r2, [pc, #684] ; (809b08c ) 809adde: 2165 movs r1, #101 ; 0x65 809ade0: 20aa movs r0, #170 ; 0xaa 809ade2: f7ba fad9 bl 8055398 809ade6: e0aa b.n 809af3e else BSP_LCD_DisplayStringAt(170, 101, "mm", LEFT_MODE); 809ade8: 2303 movs r3, #3 809adea: 4aa9 ldr r2, [pc, #676] ; (809b090 ) 809adec: 2165 movs r1, #101 ; 0x65 809adee: 20aa movs r0, #170 ; 0xaa 809adf0: f7ba fad2 bl 8055398 809adf4: e0a3 b.n 809af3e if(f >= 0.1f) 809adf6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809adfa: ed9f 7aa6 vldr s14, [pc, #664] ; 809b094 809adfe: eef4 7ac7 vcmpe.f32 s15, s14 809ae02: eef1 fa10 vmrs APSR_nzcv, fpscr 809ae06: db48 blt.n 809ae9a if(DiagnFileData.d_Op1_ipr == DIAGN_ACC) 809ae08: 4b9e ldr r3, [pc, #632] ; (809b084 ) 809ae0a: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809ae0e: b2db uxtb r3, r3 809ae10: 2b01 cmp r3, #1 809ae12: d111 bne.n 809ae38 if(pardata.LANG == RUS) 809ae14: 4b9c ldr r3, [pc, #624] ; (809b088 ) 809ae16: 7b1b ldrb r3, [r3, #12] 809ae18: b2db uxtb r3, r3 809ae1a: 2b00 cmp r3, #0 809ae1c: d106 bne.n 809ae2c BSP_LCD_DisplayStringAt(170, 101, "ì/c^", LEFT_MODE); 809ae1e: 2303 movs r3, #3 809ae20: 4a9d ldr r2, [pc, #628] ; (809b098 ) 809ae22: 2165 movs r1, #101 ; 0x65 809ae24: 20aa movs r0, #170 ; 0xaa 809ae26: f7ba fab7 bl 8055398 809ae2a: e005 b.n 809ae38 else BSP_LCD_DisplayStringAt(170, 101, "m/s^", LEFT_MODE); 809ae2c: 2303 movs r3, #3 809ae2e: 4a9b ldr r2, [pc, #620] ; (809b09c ) 809ae30: 2165 movs r1, #101 ; 0x65 809ae32: 20aa movs r0, #170 ; 0xaa 809ae34: f7ba fab0 bl 8055398 if(DiagnFileData.d_Op1_ipr == DIAGN_VEL) 809ae38: 4b92 ldr r3, [pc, #584] ; (809b084 ) 809ae3a: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809ae3e: b2db uxtb r3, r3 809ae40: 2b02 cmp r3, #2 809ae42: d111 bne.n 809ae68 if(pardata.LANG == RUS) 809ae44: 4b90 ldr r3, [pc, #576] ; (809b088 ) 809ae46: 7b1b ldrb r3, [r3, #12] 809ae48: b2db uxtb r3, r3 809ae4a: 2b00 cmp r3, #0 809ae4c: d106 bne.n 809ae5c BSP_LCD_DisplayStringAt(170, 101, "ìì/c", LEFT_MODE); 809ae4e: 2303 movs r3, #3 809ae50: 4a93 ldr r2, [pc, #588] ; (809b0a0 ) 809ae52: 2165 movs r1, #101 ; 0x65 809ae54: 20aa movs r0, #170 ; 0xaa 809ae56: f7ba fa9f bl 8055398 809ae5a: e005 b.n 809ae68 else BSP_LCD_DisplayStringAt(170, 101, "mm/s", LEFT_MODE); 809ae5c: 2303 movs r3, #3 809ae5e: 4a91 ldr r2, [pc, #580] ; (809b0a4 ) 809ae60: 2165 movs r1, #101 ; 0x65 809ae62: 20aa movs r0, #170 ; 0xaa 809ae64: f7ba fa98 bl 8055398 if(DiagnFileData.d_Op1_ipr == DIAGN_DIS) 809ae68: 4b86 ldr r3, [pc, #536] ; (809b084 ) 809ae6a: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809ae6e: b2db uxtb r3, r3 809ae70: 2b04 cmp r3, #4 809ae72: d164 bne.n 809af3e if(pardata.LANG == RUS) 809ae74: 4b84 ldr r3, [pc, #528] ; (809b088 ) 809ae76: 7b1b ldrb r3, [r3, #12] 809ae78: b2db uxtb r3, r3 809ae7a: 2b00 cmp r3, #0 809ae7c: d106 bne.n 809ae8c BSP_LCD_DisplayStringAt(170, 101, "ìkì", LEFT_MODE); 809ae7e: 2303 movs r3, #3 809ae80: 4a89 ldr r2, [pc, #548] ; (809b0a8 ) 809ae82: 2165 movs r1, #101 ; 0x65 809ae84: 20aa movs r0, #170 ; 0xaa 809ae86: f7ba fa87 bl 8055398 809ae8a: e058 b.n 809af3e else BSP_LCD_DisplayStringAt(170, 101, "um", LEFT_MODE); 809ae8c: 2303 movs r3, #3 809ae8e: 4a87 ldr r2, [pc, #540] ; (809b0ac ) 809ae90: 2165 movs r1, #101 ; 0x65 809ae92: 20aa movs r0, #170 ; 0xaa 809ae94: f7ba fa80 bl 8055398 809ae98: e051 b.n 809af3e f *= 1000.0f; 809ae9a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ae9e: ed9f 7a84 vldr s14, [pc, #528] ; 809b0b0 809aea2: ee67 7a87 vmul.f32 s15, s15, s14 809aea6: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op1_ipr == DIAGN_ACC) 809aeaa: 4b76 ldr r3, [pc, #472] ; (809b084 ) 809aeac: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809aeb0: b2db uxtb r3, r3 809aeb2: 2b01 cmp r3, #1 809aeb4: d112 bne.n 809aedc if(pardata.LANG == RUS) 809aeb6: 4b74 ldr r3, [pc, #464] ; (809b088 ) 809aeb8: 7b1b ldrb r3, [r3, #12] 809aeba: b2db uxtb r3, r3 809aebc: 2b00 cmp r3, #0 809aebe: d106 bne.n 809aece BSP_LCD_DisplayStringAt(170, 101, "ìì/c^", LEFT_MODE); 809aec0: 2303 movs r3, #3 809aec2: 4a7c ldr r2, [pc, #496] ; (809b0b4 ) 809aec4: 2165 movs r1, #101 ; 0x65 809aec6: 20aa movs r0, #170 ; 0xaa 809aec8: f7ba fa66 bl 8055398 809aecc: e037 b.n 809af3e else BSP_LCD_DisplayStringAt(170, 101, "mm/s^", LEFT_MODE); 809aece: 2303 movs r3, #3 809aed0: 4a79 ldr r2, [pc, #484] ; (809b0b8 ) 809aed2: 2165 movs r1, #101 ; 0x65 809aed4: 20aa movs r0, #170 ; 0xaa 809aed6: f7ba fa5f bl 8055398 809aeda: e030 b.n 809af3e if(DiagnFileData.d_Op1_ipr== DIAGN_VEL) 809aedc: 4b69 ldr r3, [pc, #420] ; (809b084 ) 809aede: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809aee2: b2db uxtb r3, r3 809aee4: 2b02 cmp r3, #2 809aee6: d112 bne.n 809af0e if(pardata.LANG == RUS) 809aee8: 4b67 ldr r3, [pc, #412] ; (809b088 ) 809aeea: 7b1b ldrb r3, [r3, #12] 809aeec: b2db uxtb r3, r3 809aeee: 2b00 cmp r3, #0 809aef0: d106 bne.n 809af00 BSP_LCD_DisplayStringAt(170, 101, "ìêì/c", LEFT_MODE); 809aef2: 2303 movs r3, #3 809aef4: 4a71 ldr r2, [pc, #452] ; (809b0bc ) 809aef6: 2165 movs r1, #101 ; 0x65 809aef8: 20aa movs r0, #170 ; 0xaa 809aefa: f7ba fa4d bl 8055398 809aefe: e01e b.n 809af3e else BSP_LCD_DisplayStringAt(170, 101, "mkm/s", LEFT_MODE); 809af00: 2303 movs r3, #3 809af02: 4a6f ldr r2, [pc, #444] ; (809b0c0 ) 809af04: 2165 movs r1, #101 ; 0x65 809af06: 20aa movs r0, #170 ; 0xaa 809af08: f7ba fa46 bl 8055398 809af0c: e017 b.n 809af3e if(DiagnFileData.d_Op1_ipr == DIAGN_DIS) 809af0e: 4b5d ldr r3, [pc, #372] ; (809b084 ) 809af10: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809af14: b2db uxtb r3, r3 809af16: 2b04 cmp r3, #4 809af18: d111 bne.n 809af3e if(pardata.LANG == RUS) 809af1a: 4b5b ldr r3, [pc, #364] ; (809b088 ) 809af1c: 7b1b ldrb r3, [r3, #12] 809af1e: b2db uxtb r3, r3 809af20: 2b00 cmp r3, #0 809af22: d106 bne.n 809af32 BSP_LCD_DisplayStringAt(170, 101, "íì", LEFT_MODE); 809af24: 2303 movs r3, #3 809af26: 4a67 ldr r2, [pc, #412] ; (809b0c4 ) 809af28: 2165 movs r1, #101 ; 0x65 809af2a: 20aa movs r0, #170 ; 0xaa 809af2c: f7ba fa34 bl 8055398 809af30: e005 b.n 809af3e else BSP_LCD_DisplayStringAt(170, 101, "nm", LEFT_MODE); 809af32: 2303 movs r3, #3 809af34: 4a64 ldr r2, [pc, #400] ; (809b0c8 ) 809af36: 2165 movs r1, #101 ; 0x65 809af38: 20aa movs r0, #170 ; 0xaa 809af3a: f7ba fa2d bl 8055398 if(f < 10.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -4), RIGHT_MODE); 809af3e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809af42: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809af46: eef4 7ac7 vcmpe.f32 s15, s14 809af4a: eef1 fa10 vmrs APSR_nzcv, fpscr 809af4e: d50e bpl.n 809af6e 809af50: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809af54: f06f 0003 mvn.w r0, #3 809af58: eeb0 0a67 vmov.f32 s0, s15 809af5c: f7cd f920 bl 80681a0 809af60: 4602 mov r2, r0 809af62: 2302 movs r3, #2 809af64: 2165 movs r1, #101 ; 0x65 809af66: 20a0 movs r0, #160 ; 0xa0 809af68: f7ba fa16 bl 8055398 809af6c: e05d b.n 809b02a else if(f < 100.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809af6e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809af72: ed9f 7a56 vldr s14, [pc, #344] ; 809b0cc 809af76: eef4 7ac7 vcmpe.f32 s15, s14 809af7a: eef1 fa10 vmrs APSR_nzcv, fpscr 809af7e: d50e bpl.n 809af9e 809af80: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809af84: f06f 0002 mvn.w r0, #2 809af88: eeb0 0a67 vmov.f32 s0, s15 809af8c: f7cd f908 bl 80681a0 809af90: 4602 mov r2, r0 809af92: 2302 movs r3, #2 809af94: 2165 movs r1, #101 ; 0x65 809af96: 20a0 movs r0, #160 ; 0xa0 809af98: f7ba f9fe bl 8055398 809af9c: e045 b.n 809b02a else if(f < 1000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809af9e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809afa2: ed9f 7a43 vldr s14, [pc, #268] ; 809b0b0 809afa6: eef4 7ac7 vcmpe.f32 s15, s14 809afaa: eef1 fa10 vmrs APSR_nzcv, fpscr 809afae: d50e bpl.n 809afce 809afb0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809afb4: f06f 0001 mvn.w r0, #1 809afb8: eeb0 0a67 vmov.f32 s0, s15 809afbc: f7cd f8f0 bl 80681a0 809afc0: 4602 mov r2, r0 809afc2: 2302 movs r3, #2 809afc4: 2165 movs r1, #101 ; 0x65 809afc6: 20a0 movs r0, #160 ; 0xa0 809afc8: f7ba f9e6 bl 8055398 809afcc: e02d b.n 809b02a else if(f < 10000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -1), RIGHT_MODE); 809afce: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809afd2: ed9f 7a3f vldr s14, [pc, #252] ; 809b0d0 809afd6: eef4 7ac7 vcmpe.f32 s15, s14 809afda: eef1 fa10 vmrs APSR_nzcv, fpscr 809afde: d50e bpl.n 809affe 809afe0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809afe4: f04f 30ff mov.w r0, #4294967295 809afe8: eeb0 0a67 vmov.f32 s0, s15 809afec: f7cd f8d8 bl 80681a0 809aff0: 4602 mov r2, r0 809aff2: 2302 movs r3, #2 809aff4: 2165 movs r1, #101 ; 0x65 809aff6: 20a0 movs r0, #160 ; 0xa0 809aff8: f7ba f9ce bl 8055398 809affc: e015 b.n 809b02a else if(f < 100000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, 0), RIGHT_MODE); 809affe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b002: ed9f 7a34 vldr s14, [pc, #208] ; 809b0d4 809b006: eef4 7ac7 vcmpe.f32 s15, s14 809b00a: eef1 fa10 vmrs APSR_nzcv, fpscr 809b00e: d50c bpl.n 809b02a 809b010: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b014: 2000 movs r0, #0 809b016: eeb0 0a67 vmov.f32 s0, s15 809b01a: f7cd f8c1 bl 80681a0 809b01e: 4602 mov r2, r0 809b020: 2302 movs r3, #2 809b022: 2165 movs r1, #101 ; 0x65 809b024: 20a0 movs r0, #160 ; 0xa0 809b026: f7ba f9b7 bl 8055398 if((DiagnFileData.d_Op2_ipr != DIAGN_NO) && (DiagnFileData.Op_2.fl != -1.0f)) 809b02a: 4b16 ldr r3, [pc, #88] ; (809b084 ) 809b02c: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809b030: b2db uxtb r3, r3 809b032: 2b00 cmp r3, #0 809b034: f000 821e beq.w 809b474 809b038: 4b12 ldr r3, [pc, #72] ; (809b084 ) 809b03a: edd3 7a01 vldr s15, [r3, #4] 809b03e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809b042: eef4 7a47 vcmp.f32 s15, s14 809b046: eef1 fa10 vmrs APSR_nzcv, fpscr 809b04a: f000 8213 beq.w 809b474 if(DiagnFileData.d_Op2_Color == 0) LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809b04e: 4b0d ldr r3, [pc, #52] ; (809b084 ) 809b050: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 809b054: b2db uxtb r3, r3 809b056: 2b00 cmp r3, #0 809b058: d105 bne.n 809b066 809b05a: 491f ldr r1, [pc, #124] ; (809b0d8 ) 809b05c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809b060: f7ba f8d4 bl 805520c 809b064: e044 b.n 809b0f0 else if(DiagnFileData.d_Op2_Color == 1) LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809b066: 4b07 ldr r3, [pc, #28] ; (809b084 ) 809b068: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 809b06c: b2db uxtb r3, r3 809b06e: 2b01 cmp r3, #1 809b070: d134 bne.n 809b0dc 809b072: 4919 ldr r1, [pc, #100] ; (809b0d8 ) 809b074: f06f 00ff mvn.w r0, #255 ; 0xff 809b078: f7ba f8c8 bl 805520c 809b07c: e038 b.n 809b0f0 809b07e: bf00 nop 809b080: 080d741c .word 0x080d741c 809b084: 20022644 .word 0x20022644 809b088: 20023eb8 .word 0x20023eb8 809b08c: 080d7420 .word 0x080d7420 809b090: 080d7424 .word 0x080d7424 809b094: 3dcccccd .word 0x3dcccccd 809b098: 080d7428 .word 0x080d7428 809b09c: 080d7430 .word 0x080d7430 809b0a0: 080d7438 .word 0x080d7438 809b0a4: 080d7440 .word 0x080d7440 809b0a8: 080d7448 .word 0x080d7448 809b0ac: 080d744c .word 0x080d744c 809b0b0: 447a0000 .word 0x447a0000 809b0b4: 080d7450 .word 0x080d7450 809b0b8: 080d7458 .word 0x080d7458 809b0bc: 080d7460 .word 0x080d7460 809b0c0: 080d7468 .word 0x080d7468 809b0c4: 080d7470 .word 0x080d7470 809b0c8: 080d7474 .word 0x080d7474 809b0cc: 42c80000 .word 0x42c80000 809b0d0: 461c4000 .word 0x461c4000 809b0d4: 47c35000 .word 0x47c35000 809b0d8: ff0a0f1f .word 0xff0a0f1f else if(DiagnFileData.d_Op2_Color == 2) LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809b0dc: 4bbe ldr r3, [pc, #760] ; (809b3d8 ) 809b0de: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 809b0e2: b2db uxtb r3, r3 809b0e4: 2b02 cmp r3, #2 809b0e6: d103 bne.n 809b0f0 809b0e8: 49bc ldr r1, [pc, #752] ; (809b3dc ) 809b0ea: 48bd ldr r0, [pc, #756] ; (809b3e0 ) 809b0ec: f7ba f88e bl 805520c f = DiagnFileData.Op_2.fl; 809b0f0: 4bb9 ldr r3, [pc, #740] ; (809b3d8 ) 809b0f2: 685b ldr r3, [r3, #4] 809b0f4: 647b str r3, [r7, #68] ; 0x44 if((DiagnFileData.d_Op2_ivs != 'E') && (DiagnFileData.d_Op2_ivs != 'F')) 809b0f6: 4bb8 ldr r3, [pc, #736] ; (809b3d8 ) 809b0f8: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809b0fc: b2db uxtb r3, r3 809b0fe: 2b45 cmp r3, #69 ; 0x45 809b100: f000 810a beq.w 809b318 809b104: 4bb4 ldr r3, [pc, #720] ; (809b3d8 ) 809b106: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809b10a: b2db uxtb r3, r3 809b10c: 2b46 cmp r3, #70 ; 0x46 809b10e: f000 8103 beq.w 809b318 if(f >= 1000.0f) 809b112: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b116: ed9f 7ab3 vldr s14, [pc, #716] ; 809b3e4 809b11a: eef4 7ac7 vcmpe.f32 s15, s14 809b11e: eef1 fa10 vmrs APSR_nzcv, fpscr 809b122: db53 blt.n 809b1cc f *= 0.001f; 809b124: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b128: ed9f 7aaf vldr s14, [pc, #700] ; 809b3e8 809b12c: ee67 7a87 vmul.f32 s15, s15, s14 809b130: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op2_ipr == DIAGN_ACC) 809b134: 4ba8 ldr r3, [pc, #672] ; (809b3d8 ) 809b136: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809b13a: b2db uxtb r3, r3 809b13c: 2b01 cmp r3, #1 809b13e: d112 bne.n 809b166 if(pardata.LANG == RUS) 809b140: 4baa ldr r3, [pc, #680] ; (809b3ec ) 809b142: 7b1b ldrb r3, [r3, #12] 809b144: b2db uxtb r3, r3 809b146: 2b00 cmp r3, #0 809b148: d106 bne.n 809b158 BSP_LCD_DisplayStringAt(170, 137, "kì/c^", LEFT_MODE); 809b14a: 2303 movs r3, #3 809b14c: 4aa8 ldr r2, [pc, #672] ; (809b3f0 ) 809b14e: 2189 movs r1, #137 ; 0x89 809b150: 20aa movs r0, #170 ; 0xaa 809b152: f7ba f921 bl 8055398 809b156: e0df b.n 809b318 else BSP_LCD_DisplayStringAt(170, 137, "km/s^", LEFT_MODE); 809b158: 2303 movs r3, #3 809b15a: 4aa6 ldr r2, [pc, #664] ; (809b3f4 ) 809b15c: 2189 movs r1, #137 ; 0x89 809b15e: 20aa movs r0, #170 ; 0xaa 809b160: f7ba f91a bl 8055398 809b164: e0d8 b.n 809b318 if(DiagnFileData.d_Op2_ipr == DIAGN_VEL) 809b166: 4b9c ldr r3, [pc, #624] ; (809b3d8 ) 809b168: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809b16c: b2db uxtb r3, r3 809b16e: 2b02 cmp r3, #2 809b170: d112 bne.n 809b198 if(pardata.LANG == RUS) 809b172: 4b9e ldr r3, [pc, #632] ; (809b3ec ) 809b174: 7b1b ldrb r3, [r3, #12] 809b176: b2db uxtb r3, r3 809b178: 2b00 cmp r3, #0 809b17a: d106 bne.n 809b18a BSP_LCD_DisplayStringAt(170, 137, "ì/c", LEFT_MODE); 809b17c: 2303 movs r3, #3 809b17e: 4a9e ldr r2, [pc, #632] ; (809b3f8 ) 809b180: 2189 movs r1, #137 ; 0x89 809b182: 20aa movs r0, #170 ; 0xaa 809b184: f7ba f908 bl 8055398 809b188: e0c6 b.n 809b318 else BSP_LCD_DisplayStringAt(170, 137, "m/s", LEFT_MODE); 809b18a: 2303 movs r3, #3 809b18c: 4a9b ldr r2, [pc, #620] ; (809b3fc ) 809b18e: 2189 movs r1, #137 ; 0x89 809b190: 20aa movs r0, #170 ; 0xaa 809b192: f7ba f901 bl 8055398 809b196: e0bf b.n 809b318 if(DiagnFileData.d_Op2_ipr== DIAGN_DIS) 809b198: 4b8f ldr r3, [pc, #572] ; (809b3d8 ) 809b19a: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809b19e: b2db uxtb r3, r3 809b1a0: 2b04 cmp r3, #4 809b1a2: f040 80b9 bne.w 809b318 if(pardata.LANG == RUS) 809b1a6: 4b91 ldr r3, [pc, #580] ; (809b3ec ) 809b1a8: 7b1b ldrb r3, [r3, #12] 809b1aa: b2db uxtb r3, r3 809b1ac: 2b00 cmp r3, #0 809b1ae: d106 bne.n 809b1be BSP_LCD_DisplayStringAt(170, 137, "ìì", LEFT_MODE); 809b1b0: 2303 movs r3, #3 809b1b2: 4a93 ldr r2, [pc, #588] ; (809b400 ) 809b1b4: 2189 movs r1, #137 ; 0x89 809b1b6: 20aa movs r0, #170 ; 0xaa 809b1b8: f7ba f8ee bl 8055398 809b1bc: e0ac b.n 809b318 else BSP_LCD_DisplayStringAt(170, 137, "mm", LEFT_MODE); 809b1be: 2303 movs r3, #3 809b1c0: 4a90 ldr r2, [pc, #576] ; (809b404 ) 809b1c2: 2189 movs r1, #137 ; 0x89 809b1c4: 20aa movs r0, #170 ; 0xaa 809b1c6: f7ba f8e7 bl 8055398 809b1ca: e0a5 b.n 809b318 if(f >= 0.1f) 809b1cc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b1d0: ed9f 7a8d vldr s14, [pc, #564] ; 809b408 809b1d4: eef4 7ac7 vcmpe.f32 s15, s14 809b1d8: eef1 fa10 vmrs APSR_nzcv, fpscr 809b1dc: db4a blt.n 809b274 if(DiagnFileData.d_Op2_ipr == DIAGN_ACC) 809b1de: 4b7e ldr r3, [pc, #504] ; (809b3d8 ) 809b1e0: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809b1e4: b2db uxtb r3, r3 809b1e6: 2b01 cmp r3, #1 809b1e8: d112 bne.n 809b210 if(pardata.LANG == RUS) 809b1ea: 4b80 ldr r3, [pc, #512] ; (809b3ec ) 809b1ec: 7b1b ldrb r3, [r3, #12] 809b1ee: b2db uxtb r3, r3 809b1f0: 2b00 cmp r3, #0 809b1f2: d106 bne.n 809b202 BSP_LCD_DisplayStringAt(170, 137, "ì/c^", LEFT_MODE); 809b1f4: 2303 movs r3, #3 809b1f6: 4a85 ldr r2, [pc, #532] ; (809b40c ) 809b1f8: 2189 movs r1, #137 ; 0x89 809b1fa: 20aa movs r0, #170 ; 0xaa 809b1fc: f7ba f8cc bl 8055398 809b200: e08a b.n 809b318 else BSP_LCD_DisplayStringAt(170, 137, "m/s^", LEFT_MODE); 809b202: 2303 movs r3, #3 809b204: 4a82 ldr r2, [pc, #520] ; (809b410 ) 809b206: 2189 movs r1, #137 ; 0x89 809b208: 20aa movs r0, #170 ; 0xaa 809b20a: f7ba f8c5 bl 8055398 809b20e: e083 b.n 809b318 else if(DiagnFileData.d_Op2_ipr == DIAGN_VEL) 809b210: 4b71 ldr r3, [pc, #452] ; (809b3d8 ) 809b212: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809b216: b2db uxtb r3, r3 809b218: 2b02 cmp r3, #2 809b21a: d112 bne.n 809b242 if(pardata.LANG == RUS) 809b21c: 4b73 ldr r3, [pc, #460] ; (809b3ec ) 809b21e: 7b1b ldrb r3, [r3, #12] 809b220: b2db uxtb r3, r3 809b222: 2b00 cmp r3, #0 809b224: d106 bne.n 809b234 BSP_LCD_DisplayStringAt(170, 137, "ìì/c", LEFT_MODE); 809b226: 2303 movs r3, #3 809b228: 4a7a ldr r2, [pc, #488] ; (809b414 ) 809b22a: 2189 movs r1, #137 ; 0x89 809b22c: 20aa movs r0, #170 ; 0xaa 809b22e: f7ba f8b3 bl 8055398 809b232: e071 b.n 809b318 else BSP_LCD_DisplayStringAt(170, 137, "mm/s", LEFT_MODE); 809b234: 2303 movs r3, #3 809b236: 4a78 ldr r2, [pc, #480] ; (809b418 ) 809b238: 2189 movs r1, #137 ; 0x89 809b23a: 20aa movs r0, #170 ; 0xaa 809b23c: f7ba f8ac bl 8055398 809b240: e06a b.n 809b318 else if(DiagnFileData.d_Op2_ipr == DIAGN_DIS) 809b242: 4b65 ldr r3, [pc, #404] ; (809b3d8 ) 809b244: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809b248: b2db uxtb r3, r3 809b24a: 2b04 cmp r3, #4 809b24c: d164 bne.n 809b318 if(pardata.LANG == RUS) 809b24e: 4b67 ldr r3, [pc, #412] ; (809b3ec ) 809b250: 7b1b ldrb r3, [r3, #12] 809b252: b2db uxtb r3, r3 809b254: 2b00 cmp r3, #0 809b256: d106 bne.n 809b266 BSP_LCD_DisplayStringAt(170, 137, "ìkì", LEFT_MODE); 809b258: 2303 movs r3, #3 809b25a: 4a70 ldr r2, [pc, #448] ; (809b41c ) 809b25c: 2189 movs r1, #137 ; 0x89 809b25e: 20aa movs r0, #170 ; 0xaa 809b260: f7ba f89a bl 8055398 809b264: e058 b.n 809b318 else BSP_LCD_DisplayStringAt(170, 137, "um", LEFT_MODE); 809b266: 2303 movs r3, #3 809b268: 4a6d ldr r2, [pc, #436] ; (809b420 ) 809b26a: 2189 movs r1, #137 ; 0x89 809b26c: 20aa movs r0, #170 ; 0xaa 809b26e: f7ba f893 bl 8055398 809b272: e051 b.n 809b318 f *= 1000.0f; 809b274: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b278: ed9f 7a5a vldr s14, [pc, #360] ; 809b3e4 809b27c: ee67 7a87 vmul.f32 s15, s15, s14 809b280: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op2_ipr == DIAGN_ACC) 809b284: 4b54 ldr r3, [pc, #336] ; (809b3d8 ) 809b286: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809b28a: b2db uxtb r3, r3 809b28c: 2b01 cmp r3, #1 809b28e: d112 bne.n 809b2b6 if(pardata.LANG == RUS) 809b290: 4b56 ldr r3, [pc, #344] ; (809b3ec ) 809b292: 7b1b ldrb r3, [r3, #12] 809b294: b2db uxtb r3, r3 809b296: 2b00 cmp r3, #0 809b298: d106 bne.n 809b2a8 BSP_LCD_DisplayStringAt(170, 137, "ìì/c^", LEFT_MODE); 809b29a: 2303 movs r3, #3 809b29c: 4a61 ldr r2, [pc, #388] ; (809b424 ) 809b29e: 2189 movs r1, #137 ; 0x89 809b2a0: 20aa movs r0, #170 ; 0xaa 809b2a2: f7ba f879 bl 8055398 809b2a6: e037 b.n 809b318 else BSP_LCD_DisplayStringAt(170, 137, "mm/s^", LEFT_MODE); 809b2a8: 2303 movs r3, #3 809b2aa: 4a5f ldr r2, [pc, #380] ; (809b428 ) 809b2ac: 2189 movs r1, #137 ; 0x89 809b2ae: 20aa movs r0, #170 ; 0xaa 809b2b0: f7ba f872 bl 8055398 809b2b4: e030 b.n 809b318 else if(DiagnFileData.d_Op2_ipr == DIAGN_VEL) 809b2b6: 4b48 ldr r3, [pc, #288] ; (809b3d8 ) 809b2b8: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809b2bc: b2db uxtb r3, r3 809b2be: 2b02 cmp r3, #2 809b2c0: d112 bne.n 809b2e8 if(pardata.LANG == RUS) 809b2c2: 4b4a ldr r3, [pc, #296] ; (809b3ec ) 809b2c4: 7b1b ldrb r3, [r3, #12] 809b2c6: b2db uxtb r3, r3 809b2c8: 2b00 cmp r3, #0 809b2ca: d106 bne.n 809b2da BSP_LCD_DisplayStringAt(170, 137, "ìêì/c", LEFT_MODE); 809b2cc: 2303 movs r3, #3 809b2ce: 4a57 ldr r2, [pc, #348] ; (809b42c ) 809b2d0: 2189 movs r1, #137 ; 0x89 809b2d2: 20aa movs r0, #170 ; 0xaa 809b2d4: f7ba f860 bl 8055398 809b2d8: e01e b.n 809b318 else BSP_LCD_DisplayStringAt(170, 137, "mkm/s", LEFT_MODE); 809b2da: 2303 movs r3, #3 809b2dc: 4a54 ldr r2, [pc, #336] ; (809b430 ) 809b2de: 2189 movs r1, #137 ; 0x89 809b2e0: 20aa movs r0, #170 ; 0xaa 809b2e2: f7ba f859 bl 8055398 809b2e6: e017 b.n 809b318 else if(DiagnFileData.d_Op2_ipr == DIAGN_DIS) 809b2e8: 4b3b ldr r3, [pc, #236] ; (809b3d8 ) 809b2ea: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809b2ee: b2db uxtb r3, r3 809b2f0: 2b04 cmp r3, #4 809b2f2: d111 bne.n 809b318 if(pardata.LANG == RUS) 809b2f4: 4b3d ldr r3, [pc, #244] ; (809b3ec ) 809b2f6: 7b1b ldrb r3, [r3, #12] 809b2f8: b2db uxtb r3, r3 809b2fa: 2b00 cmp r3, #0 809b2fc: d106 bne.n 809b30c BSP_LCD_DisplayStringAt(170, 137, "íì", LEFT_MODE); 809b2fe: 2303 movs r3, #3 809b300: 4a4c ldr r2, [pc, #304] ; (809b434 ) 809b302: 2189 movs r1, #137 ; 0x89 809b304: 20aa movs r0, #170 ; 0xaa 809b306: f7ba f847 bl 8055398 809b30a: e005 b.n 809b318 else BSP_LCD_DisplayStringAt(170, 137, "nm", LEFT_MODE); 809b30c: 2303 movs r3, #3 809b30e: 4a4a ldr r2, [pc, #296] ; (809b438 ) 809b310: 2189 movs r1, #137 ; 0x89 809b312: 20aa movs r0, #170 ; 0xaa 809b314: f7ba f840 bl 8055398 if(f < 10.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -4), RIGHT_MODE); 809b318: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b31c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809b320: eef4 7ac7 vcmpe.f32 s15, s14 809b324: eef1 fa10 vmrs APSR_nzcv, fpscr 809b328: d50e bpl.n 809b348 809b32a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b32e: f06f 0003 mvn.w r0, #3 809b332: eeb0 0a67 vmov.f32 s0, s15 809b336: f7cc ff33 bl 80681a0 809b33a: 4602 mov r2, r0 809b33c: 2302 movs r3, #2 809b33e: 2189 movs r1, #137 ; 0x89 809b340: 20a0 movs r0, #160 ; 0xa0 809b342: f7ba f829 bl 8055398 809b346: e095 b.n 809b474 else if(f < 100.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809b348: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b34c: ed9f 7a3b vldr s14, [pc, #236] ; 809b43c 809b350: eef4 7ac7 vcmpe.f32 s15, s14 809b354: eef1 fa10 vmrs APSR_nzcv, fpscr 809b358: d50e bpl.n 809b378 809b35a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b35e: f06f 0002 mvn.w r0, #2 809b362: eeb0 0a67 vmov.f32 s0, s15 809b366: f7cc ff1b bl 80681a0 809b36a: 4602 mov r2, r0 809b36c: 2302 movs r3, #2 809b36e: 2189 movs r1, #137 ; 0x89 809b370: 20a0 movs r0, #160 ; 0xa0 809b372: f7ba f811 bl 8055398 809b376: e07d b.n 809b474 else if(f < 1000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809b378: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b37c: ed9f 7a19 vldr s14, [pc, #100] ; 809b3e4 809b380: eef4 7ac7 vcmpe.f32 s15, s14 809b384: eef1 fa10 vmrs APSR_nzcv, fpscr 809b388: d50e bpl.n 809b3a8 809b38a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b38e: f06f 0001 mvn.w r0, #1 809b392: eeb0 0a67 vmov.f32 s0, s15 809b396: f7cc ff03 bl 80681a0 809b39a: 4602 mov r2, r0 809b39c: 2302 movs r3, #2 809b39e: 2189 movs r1, #137 ; 0x89 809b3a0: 20a0 movs r0, #160 ; 0xa0 809b3a2: f7b9 fff9 bl 8055398 809b3a6: e065 b.n 809b474 else if(f < 10000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -1), RIGHT_MODE); 809b3a8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b3ac: ed9f 7a24 vldr s14, [pc, #144] ; 809b440 809b3b0: eef4 7ac7 vcmpe.f32 s15, s14 809b3b4: eef1 fa10 vmrs APSR_nzcv, fpscr 809b3b8: d546 bpl.n 809b448 809b3ba: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b3be: f04f 30ff mov.w r0, #4294967295 809b3c2: eeb0 0a67 vmov.f32 s0, s15 809b3c6: f7cc feeb bl 80681a0 809b3ca: 4602 mov r2, r0 809b3cc: 2302 movs r3, #2 809b3ce: 2189 movs r1, #137 ; 0x89 809b3d0: 20a0 movs r0, #160 ; 0xa0 809b3d2: f7b9 ffe1 bl 8055398 809b3d6: e04d b.n 809b474 809b3d8: 20022644 .word 0x20022644 809b3dc: ff0a0f1f .word 0xff0a0f1f 809b3e0: ffff0000 .word 0xffff0000 809b3e4: 447a0000 .word 0x447a0000 809b3e8: 3a83126f .word 0x3a83126f 809b3ec: 20023eb8 .word 0x20023eb8 809b3f0: 080d7408 .word 0x080d7408 809b3f4: 080d7410 .word 0x080d7410 809b3f8: 080d7418 .word 0x080d7418 809b3fc: 080d741c .word 0x080d741c 809b400: 080d7420 .word 0x080d7420 809b404: 080d7424 .word 0x080d7424 809b408: 3dcccccd .word 0x3dcccccd 809b40c: 080d7428 .word 0x080d7428 809b410: 080d7430 .word 0x080d7430 809b414: 080d7438 .word 0x080d7438 809b418: 080d7440 .word 0x080d7440 809b41c: 080d7448 .word 0x080d7448 809b420: 080d744c .word 0x080d744c 809b424: 080d7450 .word 0x080d7450 809b428: 080d7458 .word 0x080d7458 809b42c: 080d7460 .word 0x080d7460 809b430: 080d7468 .word 0x080d7468 809b434: 080d7470 .word 0x080d7470 809b438: 080d7474 .word 0x080d7474 809b43c: 42c80000 .word 0x42c80000 809b440: 461c4000 .word 0x461c4000 809b444: 47c35000 .word 0x47c35000 else if(f < 100000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, 0), RIGHT_MODE); 809b448: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b44c: ed1f 7a03 vldr s14, [pc, #-12] ; 809b444 809b450: eef4 7ac7 vcmpe.f32 s15, s14 809b454: eef1 fa10 vmrs APSR_nzcv, fpscr 809b458: d50c bpl.n 809b474 809b45a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b45e: 2000 movs r0, #0 809b460: eeb0 0a67 vmov.f32 s0, s15 809b464: f7cc fe9c bl 80681a0 809b468: 4602 mov r2, r0 809b46a: 2302 movs r3, #2 809b46c: 2189 movs r1, #137 ; 0x89 809b46e: 20a0 movs r0, #160 ; 0xa0 809b470: f7b9 ff92 bl 8055398 if((DiagnFileData.d_Op3_ipr != DIAGN_NO) && (DiagnFileData.Op_3.fl != -1.0f)) 809b474: 4bbb ldr r3, [pc, #748] ; (809b764 ) 809b476: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809b47a: b2db uxtb r3, r3 809b47c: 2b00 cmp r3, #0 809b47e: f000 81ef beq.w 809b860 809b482: 4bb8 ldr r3, [pc, #736] ; (809b764 ) 809b484: edd3 7a02 vldr s15, [r3, #8] 809b488: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809b48c: eef4 7a47 vcmp.f32 s15, s14 809b490: eef1 fa10 vmrs APSR_nzcv, fpscr 809b494: f000 81e4 beq.w 809b860 if(DiagnFileData.d_Op3_Color == 0) LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809b498: 4bb2 ldr r3, [pc, #712] ; (809b764 ) 809b49a: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 809b49e: b2db uxtb r3, r3 809b4a0: 2b00 cmp r3, #0 809b4a2: d105 bne.n 809b4b0 809b4a4: 49b0 ldr r1, [pc, #704] ; (809b768 ) 809b4a6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809b4aa: f7b9 feaf bl 805520c 809b4ae: e015 b.n 809b4dc else if(DiagnFileData.d_Op3_Color == 1) LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809b4b0: 4bac ldr r3, [pc, #688] ; (809b764 ) 809b4b2: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 809b4b6: b2db uxtb r3, r3 809b4b8: 2b01 cmp r3, #1 809b4ba: d105 bne.n 809b4c8 809b4bc: 49aa ldr r1, [pc, #680] ; (809b768 ) 809b4be: f06f 00ff mvn.w r0, #255 ; 0xff 809b4c2: f7b9 fea3 bl 805520c 809b4c6: e009 b.n 809b4dc else if(DiagnFileData.d_Op3_Color == 2) LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809b4c8: 4ba6 ldr r3, [pc, #664] ; (809b764 ) 809b4ca: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 809b4ce: b2db uxtb r3, r3 809b4d0: 2b02 cmp r3, #2 809b4d2: d103 bne.n 809b4dc 809b4d4: 49a4 ldr r1, [pc, #656] ; (809b768 ) 809b4d6: 48a5 ldr r0, [pc, #660] ; (809b76c ) 809b4d8: f7b9 fe98 bl 805520c f = DiagnFileData.Op_3.fl; 809b4dc: 4ba1 ldr r3, [pc, #644] ; (809b764 ) 809b4de: 689b ldr r3, [r3, #8] 809b4e0: 647b str r3, [r7, #68] ; 0x44 if((DiagnFileData.d_Op3_ivs != 'E') && (DiagnFileData.d_Op3_ivs != 'F')) 809b4e2: 4ba0 ldr r3, [pc, #640] ; (809b764 ) 809b4e4: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809b4e8: b2db uxtb r3, r3 809b4ea: 2b45 cmp r3, #69 ; 0x45 809b4ec: f000 810a beq.w 809b704 809b4f0: 4b9c ldr r3, [pc, #624] ; (809b764 ) 809b4f2: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809b4f6: b2db uxtb r3, r3 809b4f8: 2b46 cmp r3, #70 ; 0x46 809b4fa: f000 8103 beq.w 809b704 if(f >= 1000.0f) 809b4fe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b502: ed9f 7ab1 vldr s14, [pc, #708] ; 809b7c8 809b506: eef4 7ac7 vcmpe.f32 s15, s14 809b50a: eef1 fa10 vmrs APSR_nzcv, fpscr 809b50e: db53 blt.n 809b5b8 f *= 0.001f; 809b510: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b514: ed9f 7a96 vldr s14, [pc, #600] ; 809b770 809b518: ee67 7a87 vmul.f32 s15, s15, s14 809b51c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op3_ipr == DIAGN_ACC) 809b520: 4b90 ldr r3, [pc, #576] ; (809b764 ) 809b522: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809b526: b2db uxtb r3, r3 809b528: 2b01 cmp r3, #1 809b52a: d112 bne.n 809b552 if(pardata.LANG == RUS) 809b52c: 4b91 ldr r3, [pc, #580] ; (809b774 ) 809b52e: 7b1b ldrb r3, [r3, #12] 809b530: b2db uxtb r3, r3 809b532: 2b00 cmp r3, #0 809b534: d106 bne.n 809b544 BSP_LCD_DisplayStringAt(170, 173, "kì/c^", LEFT_MODE); 809b536: 2303 movs r3, #3 809b538: 4a8f ldr r2, [pc, #572] ; (809b778 ) 809b53a: 21ad movs r1, #173 ; 0xad 809b53c: 20aa movs r0, #170 ; 0xaa 809b53e: f7b9 ff2b bl 8055398 809b542: e0df b.n 809b704 else BSP_LCD_DisplayStringAt(170, 173, "km/s^", LEFT_MODE); 809b544: 2303 movs r3, #3 809b546: 4a8d ldr r2, [pc, #564] ; (809b77c ) 809b548: 21ad movs r1, #173 ; 0xad 809b54a: 20aa movs r0, #170 ; 0xaa 809b54c: f7b9 ff24 bl 8055398 809b550: e0d8 b.n 809b704 else if(DiagnFileData.d_Op3_ipr == DIAGN_VEL) 809b552: 4b84 ldr r3, [pc, #528] ; (809b764 ) 809b554: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809b558: b2db uxtb r3, r3 809b55a: 2b02 cmp r3, #2 809b55c: d112 bne.n 809b584 if(pardata.LANG == RUS) 809b55e: 4b85 ldr r3, [pc, #532] ; (809b774 ) 809b560: 7b1b ldrb r3, [r3, #12] 809b562: b2db uxtb r3, r3 809b564: 2b00 cmp r3, #0 809b566: d106 bne.n 809b576 BSP_LCD_DisplayStringAt(170, 173, "ì/c", LEFT_MODE); 809b568: 2303 movs r3, #3 809b56a: 4a85 ldr r2, [pc, #532] ; (809b780 ) 809b56c: 21ad movs r1, #173 ; 0xad 809b56e: 20aa movs r0, #170 ; 0xaa 809b570: f7b9 ff12 bl 8055398 809b574: e0c6 b.n 809b704 else BSP_LCD_DisplayStringAt(170, 173, "m/s", LEFT_MODE); 809b576: 2303 movs r3, #3 809b578: 4a82 ldr r2, [pc, #520] ; (809b784 ) 809b57a: 21ad movs r1, #173 ; 0xad 809b57c: 20aa movs r0, #170 ; 0xaa 809b57e: f7b9 ff0b bl 8055398 809b582: e0bf b.n 809b704 else if(DiagnFileData.d_Op3_ipr == DIAGN_DIS) 809b584: 4b77 ldr r3, [pc, #476] ; (809b764 ) 809b586: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809b58a: b2db uxtb r3, r3 809b58c: 2b04 cmp r3, #4 809b58e: f040 80b9 bne.w 809b704 if(pardata.LANG == RUS) 809b592: 4b78 ldr r3, [pc, #480] ; (809b774 ) 809b594: 7b1b ldrb r3, [r3, #12] 809b596: b2db uxtb r3, r3 809b598: 2b00 cmp r3, #0 809b59a: d106 bne.n 809b5aa BSP_LCD_DisplayStringAt(170, 173, "ìì", LEFT_MODE); 809b59c: 2303 movs r3, #3 809b59e: 4a7a ldr r2, [pc, #488] ; (809b788 ) 809b5a0: 21ad movs r1, #173 ; 0xad 809b5a2: 20aa movs r0, #170 ; 0xaa 809b5a4: f7b9 fef8 bl 8055398 809b5a8: e0ac b.n 809b704 else BSP_LCD_DisplayStringAt(170, 173, "mm", LEFT_MODE); 809b5aa: 2303 movs r3, #3 809b5ac: 4a77 ldr r2, [pc, #476] ; (809b78c ) 809b5ae: 21ad movs r1, #173 ; 0xad 809b5b0: 20aa movs r0, #170 ; 0xaa 809b5b2: f7b9 fef1 bl 8055398 809b5b6: e0a5 b.n 809b704 if(f >= 0.1f) 809b5b8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b5bc: ed9f 7a74 vldr s14, [pc, #464] ; 809b790 809b5c0: eef4 7ac7 vcmpe.f32 s15, s14 809b5c4: eef1 fa10 vmrs APSR_nzcv, fpscr 809b5c8: db4a blt.n 809b660 if(DiagnFileData.d_Op3_ipr == DIAGN_ACC) 809b5ca: 4b66 ldr r3, [pc, #408] ; (809b764 ) 809b5cc: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809b5d0: b2db uxtb r3, r3 809b5d2: 2b01 cmp r3, #1 809b5d4: d112 bne.n 809b5fc if(pardata.LANG == RUS) 809b5d6: 4b67 ldr r3, [pc, #412] ; (809b774 ) 809b5d8: 7b1b ldrb r3, [r3, #12] 809b5da: b2db uxtb r3, r3 809b5dc: 2b00 cmp r3, #0 809b5de: d106 bne.n 809b5ee BSP_LCD_DisplayStringAt(170, 173, "ì/c^", LEFT_MODE); 809b5e0: 2303 movs r3, #3 809b5e2: 4a6c ldr r2, [pc, #432] ; (809b794 ) 809b5e4: 21ad movs r1, #173 ; 0xad 809b5e6: 20aa movs r0, #170 ; 0xaa 809b5e8: f7b9 fed6 bl 8055398 809b5ec: e08a b.n 809b704 else BSP_LCD_DisplayStringAt(170, 173, "m/s^", LEFT_MODE); 809b5ee: 2303 movs r3, #3 809b5f0: 4a69 ldr r2, [pc, #420] ; (809b798 ) 809b5f2: 21ad movs r1, #173 ; 0xad 809b5f4: 20aa movs r0, #170 ; 0xaa 809b5f6: f7b9 fecf bl 8055398 809b5fa: e083 b.n 809b704 else if(DiagnFileData.d_Op3_ipr == DIAGN_VEL) 809b5fc: 4b59 ldr r3, [pc, #356] ; (809b764 ) 809b5fe: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809b602: b2db uxtb r3, r3 809b604: 2b02 cmp r3, #2 809b606: d112 bne.n 809b62e if(pardata.LANG == RUS) 809b608: 4b5a ldr r3, [pc, #360] ; (809b774 ) 809b60a: 7b1b ldrb r3, [r3, #12] 809b60c: b2db uxtb r3, r3 809b60e: 2b00 cmp r3, #0 809b610: d106 bne.n 809b620 BSP_LCD_DisplayStringAt(170, 173, "ìì/c", LEFT_MODE); 809b612: 2303 movs r3, #3 809b614: 4a61 ldr r2, [pc, #388] ; (809b79c ) 809b616: 21ad movs r1, #173 ; 0xad 809b618: 20aa movs r0, #170 ; 0xaa 809b61a: f7b9 febd bl 8055398 809b61e: e071 b.n 809b704 else BSP_LCD_DisplayStringAt(170, 173, "mm/s", LEFT_MODE); 809b620: 2303 movs r3, #3 809b622: 4a5f ldr r2, [pc, #380] ; (809b7a0 ) 809b624: 21ad movs r1, #173 ; 0xad 809b626: 20aa movs r0, #170 ; 0xaa 809b628: f7b9 feb6 bl 8055398 809b62c: e06a b.n 809b704 else if(DiagnFileData.d_Op3_ipr == DIAGN_DIS) 809b62e: 4b4d ldr r3, [pc, #308] ; (809b764 ) 809b630: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809b634: b2db uxtb r3, r3 809b636: 2b04 cmp r3, #4 809b638: d164 bne.n 809b704 if(pardata.LANG == RUS) 809b63a: 4b4e ldr r3, [pc, #312] ; (809b774 ) 809b63c: 7b1b ldrb r3, [r3, #12] 809b63e: b2db uxtb r3, r3 809b640: 2b00 cmp r3, #0 809b642: d106 bne.n 809b652 BSP_LCD_DisplayStringAt(170, 173, "ìkì", LEFT_MODE); 809b644: 2303 movs r3, #3 809b646: 4a57 ldr r2, [pc, #348] ; (809b7a4 ) 809b648: 21ad movs r1, #173 ; 0xad 809b64a: 20aa movs r0, #170 ; 0xaa 809b64c: f7b9 fea4 bl 8055398 809b650: e058 b.n 809b704 else BSP_LCD_DisplayStringAt(170, 173, "um", LEFT_MODE); 809b652: 2303 movs r3, #3 809b654: 4a54 ldr r2, [pc, #336] ; (809b7a8 ) 809b656: 21ad movs r1, #173 ; 0xad 809b658: 20aa movs r0, #170 ; 0xaa 809b65a: f7b9 fe9d bl 8055398 809b65e: e051 b.n 809b704 f *= 1000.0f; 809b660: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b664: ed9f 7a58 vldr s14, [pc, #352] ; 809b7c8 809b668: ee67 7a87 vmul.f32 s15, s15, s14 809b66c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op3_ipr == DIAGN_ACC) 809b670: 4b3c ldr r3, [pc, #240] ; (809b764 ) 809b672: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809b676: b2db uxtb r3, r3 809b678: 2b01 cmp r3, #1 809b67a: d112 bne.n 809b6a2 if(pardata.LANG == RUS) 809b67c: 4b3d ldr r3, [pc, #244] ; (809b774 ) 809b67e: 7b1b ldrb r3, [r3, #12] 809b680: b2db uxtb r3, r3 809b682: 2b00 cmp r3, #0 809b684: d106 bne.n 809b694 BSP_LCD_DisplayStringAt(170, 173, "ìì/c^", LEFT_MODE); 809b686: 2303 movs r3, #3 809b688: 4a48 ldr r2, [pc, #288] ; (809b7ac ) 809b68a: 21ad movs r1, #173 ; 0xad 809b68c: 20aa movs r0, #170 ; 0xaa 809b68e: f7b9 fe83 bl 8055398 809b692: e037 b.n 809b704 else BSP_LCD_DisplayStringAt(170, 173, "mm/s^", LEFT_MODE); 809b694: 2303 movs r3, #3 809b696: 4a46 ldr r2, [pc, #280] ; (809b7b0 ) 809b698: 21ad movs r1, #173 ; 0xad 809b69a: 20aa movs r0, #170 ; 0xaa 809b69c: f7b9 fe7c bl 8055398 809b6a0: e030 b.n 809b704 else if(DiagnFileData.d_Op3_ipr == DIAGN_VEL) 809b6a2: 4b30 ldr r3, [pc, #192] ; (809b764 ) 809b6a4: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809b6a8: b2db uxtb r3, r3 809b6aa: 2b02 cmp r3, #2 809b6ac: d112 bne.n 809b6d4 if(pardata.LANG == RUS) 809b6ae: 4b31 ldr r3, [pc, #196] ; (809b774 ) 809b6b0: 7b1b ldrb r3, [r3, #12] 809b6b2: b2db uxtb r3, r3 809b6b4: 2b00 cmp r3, #0 809b6b6: d106 bne.n 809b6c6 BSP_LCD_DisplayStringAt(170, 173, "ìêì/c", LEFT_MODE); 809b6b8: 2303 movs r3, #3 809b6ba: 4a3e ldr r2, [pc, #248] ; (809b7b4 ) 809b6bc: 21ad movs r1, #173 ; 0xad 809b6be: 20aa movs r0, #170 ; 0xaa 809b6c0: f7b9 fe6a bl 8055398 809b6c4: e01e b.n 809b704 else BSP_LCD_DisplayStringAt(170, 173, "mkm/s", LEFT_MODE); 809b6c6: 2303 movs r3, #3 809b6c8: 4a3b ldr r2, [pc, #236] ; (809b7b8 ) 809b6ca: 21ad movs r1, #173 ; 0xad 809b6cc: 20aa movs r0, #170 ; 0xaa 809b6ce: f7b9 fe63 bl 8055398 809b6d2: e017 b.n 809b704 else if(DiagnFileData.d_Op3_ipr == DIAGN_DIS) 809b6d4: 4b23 ldr r3, [pc, #140] ; (809b764 ) 809b6d6: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809b6da: b2db uxtb r3, r3 809b6dc: 2b04 cmp r3, #4 809b6de: d111 bne.n 809b704 if(pardata.LANG == RUS) 809b6e0: 4b24 ldr r3, [pc, #144] ; (809b774 ) 809b6e2: 7b1b ldrb r3, [r3, #12] 809b6e4: b2db uxtb r3, r3 809b6e6: 2b00 cmp r3, #0 809b6e8: d106 bne.n 809b6f8 BSP_LCD_DisplayStringAt(170, 173, "íì", LEFT_MODE); 809b6ea: 2303 movs r3, #3 809b6ec: 4a33 ldr r2, [pc, #204] ; (809b7bc ) 809b6ee: 21ad movs r1, #173 ; 0xad 809b6f0: 20aa movs r0, #170 ; 0xaa 809b6f2: f7b9 fe51 bl 8055398 809b6f6: e005 b.n 809b704 else BSP_LCD_DisplayStringAt(170, 173, "nm", LEFT_MODE); 809b6f8: 2303 movs r3, #3 809b6fa: 4a31 ldr r2, [pc, #196] ; (809b7c0 ) 809b6fc: 21ad movs r1, #173 ; 0xad 809b6fe: 20aa movs r0, #170 ; 0xaa 809b700: f7b9 fe4a bl 8055398 if(f < 10.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -4), RIGHT_MODE); 809b704: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b708: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809b70c: eef4 7ac7 vcmpe.f32 s15, s14 809b710: eef1 fa10 vmrs APSR_nzcv, fpscr 809b714: d50e bpl.n 809b734 809b716: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b71a: f06f 0003 mvn.w r0, #3 809b71e: eeb0 0a67 vmov.f32 s0, s15 809b722: f7cc fd3d bl 80681a0 809b726: 4602 mov r2, r0 809b728: 2302 movs r3, #2 809b72a: 21ad movs r1, #173 ; 0xad 809b72c: 20a0 movs r0, #160 ; 0xa0 809b72e: f7b9 fe33 bl 8055398 809b732: e095 b.n 809b860 else if(f < 100.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809b734: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b738: ed9f 7a22 vldr s14, [pc, #136] ; 809b7c4 809b73c: eef4 7ac7 vcmpe.f32 s15, s14 809b740: eef1 fa10 vmrs APSR_nzcv, fpscr 809b744: d546 bpl.n 809b7d4 809b746: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b74a: f06f 0002 mvn.w r0, #2 809b74e: eeb0 0a67 vmov.f32 s0, s15 809b752: f7cc fd25 bl 80681a0 809b756: 4602 mov r2, r0 809b758: 2302 movs r3, #2 809b75a: 21ad movs r1, #173 ; 0xad 809b75c: 20a0 movs r0, #160 ; 0xa0 809b75e: f7b9 fe1b bl 8055398 809b762: e07d b.n 809b860 809b764: 20022644 .word 0x20022644 809b768: ff0a0f1f .word 0xff0a0f1f 809b76c: ffff0000 .word 0xffff0000 809b770: 3a83126f .word 0x3a83126f 809b774: 20023eb8 .word 0x20023eb8 809b778: 080d7408 .word 0x080d7408 809b77c: 080d7410 .word 0x080d7410 809b780: 080d7418 .word 0x080d7418 809b784: 080d741c .word 0x080d741c 809b788: 080d7420 .word 0x080d7420 809b78c: 080d7424 .word 0x080d7424 809b790: 3dcccccd .word 0x3dcccccd 809b794: 080d7428 .word 0x080d7428 809b798: 080d7430 .word 0x080d7430 809b79c: 080d7438 .word 0x080d7438 809b7a0: 080d7440 .word 0x080d7440 809b7a4: 080d7448 .word 0x080d7448 809b7a8: 080d744c .word 0x080d744c 809b7ac: 080d7450 .word 0x080d7450 809b7b0: 080d7458 .word 0x080d7458 809b7b4: 080d7460 .word 0x080d7460 809b7b8: 080d7468 .word 0x080d7468 809b7bc: 080d7470 .word 0x080d7470 809b7c0: 080d7474 .word 0x080d7474 809b7c4: 42c80000 .word 0x42c80000 809b7c8: 447a0000 .word 0x447a0000 809b7cc: 461c4000 .word 0x461c4000 809b7d0: 47c35000 .word 0x47c35000 else if(f < 1000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809b7d4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b7d8: ed1f 7a05 vldr s14, [pc, #-20] ; 809b7c8 809b7dc: eef4 7ac7 vcmpe.f32 s15, s14 809b7e0: eef1 fa10 vmrs APSR_nzcv, fpscr 809b7e4: d50e bpl.n 809b804 809b7e6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b7ea: f06f 0001 mvn.w r0, #1 809b7ee: eeb0 0a67 vmov.f32 s0, s15 809b7f2: f7cc fcd5 bl 80681a0 809b7f6: 4602 mov r2, r0 809b7f8: 2302 movs r3, #2 809b7fa: 21ad movs r1, #173 ; 0xad 809b7fc: 20a0 movs r0, #160 ; 0xa0 809b7fe: f7b9 fdcb bl 8055398 809b802: e02d b.n 809b860 else if(f < 10000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -1), RIGHT_MODE); 809b804: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b808: ed1f 7a10 vldr s14, [pc, #-64] ; 809b7cc 809b80c: eef4 7ac7 vcmpe.f32 s15, s14 809b810: eef1 fa10 vmrs APSR_nzcv, fpscr 809b814: d50e bpl.n 809b834 809b816: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b81a: f04f 30ff mov.w r0, #4294967295 809b81e: eeb0 0a67 vmov.f32 s0, s15 809b822: f7cc fcbd bl 80681a0 809b826: 4602 mov r2, r0 809b828: 2302 movs r3, #2 809b82a: 21ad movs r1, #173 ; 0xad 809b82c: 20a0 movs r0, #160 ; 0xa0 809b82e: f7b9 fdb3 bl 8055398 809b832: e015 b.n 809b860 else if(f < 100000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, 0), RIGHT_MODE); 809b834: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b838: ed1f 7a1b vldr s14, [pc, #-108] ; 809b7d0 809b83c: eef4 7ac7 vcmpe.f32 s15, s14 809b840: eef1 fa10 vmrs APSR_nzcv, fpscr 809b844: d50c bpl.n 809b860 809b846: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b84a: 2000 movs r0, #0 809b84c: eeb0 0a67 vmov.f32 s0, s15 809b850: f7cc fca6 bl 80681a0 809b854: 4602 mov r2, r0 809b856: 2302 movs r3, #2 809b858: 21ad movs r1, #173 ; 0xad 809b85a: 20a0 movs r0, #160 ; 0xa0 809b85c: f7b9 fd9c bl 8055398 if(DiagnFileData.d_Alarm) 809b860: 4bc8 ldr r3, [pc, #800] ; (809bb84 ) 809b862: f893 3032 ldrb.w r3, [r3, #50] ; 0x32 809b866: b2db uxtb r3, r3 809b868: 2b00 cmp r3, #0 809b86a: d006 beq.n 809b87a DrawImage(&bmmy_A, 316-65, 121); 809b86c: 2279 movs r2, #121 ; 0x79 809b86e: 21fb movs r1, #251 ; 0xfb 809b870: 48c5 ldr r0, [pc, #788] ; (809bb88 ) 809b872: f7ba fbbf bl 8055ff4 break; 809b876: f009 bf1b b.w 80a56b0 if(DiagnFileData.d_Warning) 809b87a: 4bc2 ldr r3, [pc, #776] ; (809bb84 ) 809b87c: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 809b880: b2db uxtb r3, r3 809b882: 2b00 cmp r3, #0 809b884: f009 8714 beq.w 80a56b0 DrawImage(&bmmy_W, 316-65, 121); 809b888: 2279 movs r2, #121 ; 0x79 809b88a: 21fb movs r1, #251 ; 0xfb 809b88c: 48bf ldr r0, [pc, #764] ; (809bb8c ) 809b88e: f7ba fbb1 bl 8055ff4 break; 809b892: f009 bf0d b.w 80a56b0 if(NextIndexMeas < IndexMeas[NextIndexPoint]) 809b896: 4bbe ldr r3, [pc, #760] ; (809bb90 ) 809b898: 681b ldr r3, [r3, #0] 809b89a: 4abe ldr r2, [pc, #760] ; (809bb94 ) 809b89c: f852 2023 ldr.w r2, [r2, r3, lsl #2] 809b8a0: 4bbd ldr r3, [pc, #756] ; (809bb98 ) 809b8a2: 681b ldr r3, [r3, #0] 809b8a4: 429a cmp r2, r3 809b8a6: d905 bls.n 809b8b4 DrawImage(&bmSAVED, 298, 39); 809b8a8: 2227 movs r2, #39 ; 0x27 809b8aa: f44f 7195 mov.w r1, #298 ; 0x12a 809b8ae: 48bb ldr r0, [pc, #748] ; (809bb9c ) 809b8b0: f7ba fba0 bl 8055ff4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809b8b4: 49ba ldr r1, [pc, #744] ; (809bba0 ) 809b8b6: f04f 30ff mov.w r0, #4294967295 809b8ba: f7b9 fca7 bl 805520c memset(str, 0, sizeof(str)); 809b8be: f107 030c add.w r3, r7, #12 809b8c2: 2228 movs r2, #40 ; 0x28 809b8c4: 2100 movs r1, #0 809b8c6: 4618 mov r0, r3 809b8c8: f036 fb6c bl 80d1fa4 switch(pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) 809b8cc: 4bb5 ldr r3, [pc, #724] ; (809bba4 ) 809b8ce: 781b ldrb r3, [r3, #0] 809b8d0: b2db uxtb r3, r3 809b8d2: 4ab5 ldr r2, [pc, #724] ; (809bba8 ) 809b8d4: 338e adds r3, #142 ; 0x8e 809b8d6: 009b lsls r3, r3, #2 809b8d8: 4413 add r3, r2 809b8da: 791b ldrb r3, [r3, #4] 809b8dc: b2db uxtb r3, r3 809b8de: f003 0307 and.w r3, r3, #7 809b8e2: 2b04 cmp r3, #4 809b8e4: f200 8123 bhi.w 809bb2e 809b8e8: a201 add r2, pc, #4 ; (adr r2, 809b8f0 ) 809b8ea: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809b8ee: bf00 nop 809b8f0: 0809b905 .word 0x0809b905 809b8f4: 0809b913 .word 0x0809b913 809b8f8: 0809b9c5 .word 0x0809b9c5 809b8fc: 0809bb2f .word 0x0809bb2f 809b900: 0809ba75 .word 0x0809ba75 case DIAGN_NO: BSP_LCD_DisplayStringAt(30, 101, "----", LEFT_MODE); break; 809b904: 2303 movs r3, #3 809b906: 4aa9 ldr r2, [pc, #676] ; (809bbac ) 809b908: 2165 movs r1, #101 ; 0x65 809b90a: 201e movs r0, #30 809b90c: f7b9 fd44 bl 8055398 809b910: e10d b.n 809bb2e switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 809b912: 4ba4 ldr r3, [pc, #656] ; (809bba4 ) 809b914: 781b ldrb r3, [r3, #0] 809b916: b2db uxtb r3, r3 809b918: 4aa3 ldr r2, [pc, #652] ; (809bba8 ) 809b91a: 338e adds r3, #142 ; 0x8e 809b91c: 009b lsls r3, r3, #2 809b91e: 4413 add r3, r2 809b920: 791b ldrb r3, [r3, #4] 809b922: b2db uxtb r3, r3 809b924: 08db lsrs r3, r3, #3 809b926: b2db uxtb r3, r3 809b928: f003 031f and.w r3, r3, #31 809b92c: 3b01 subs r3, #1 809b92e: 2b0f cmp r3, #15 809b930: f200 80f8 bhi.w 809bb24 809b934: a201 add r2, pc, #4 ; (adr r2, 809b93c ) 809b936: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809b93a: bf00 nop 809b93c: 0809b97d .word 0x0809b97d 809b940: 0809b98b .word 0x0809b98b 809b944: 0809bb25 .word 0x0809bb25 809b948: 0809b999 .word 0x0809b999 809b94c: 0809bb25 .word 0x0809bb25 809b950: 0809bb25 .word 0x0809bb25 809b954: 0809bb25 .word 0x0809bb25 809b958: 0809b9a7 .word 0x0809b9a7 809b95c: 0809bb25 .word 0x0809bb25 809b960: 0809bb25 .word 0x0809bb25 809b964: 0809bb25 .word 0x0809bb25 809b968: 0809bb25 .word 0x0809bb25 809b96c: 0809bb25 .word 0x0809bb25 809b970: 0809bb25 .word 0x0809bb25 809b974: 0809bb25 .word 0x0809bb25 809b978: 0809b9b5 .word 0x0809b9b5 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "A[ïèê]", LEFT_MODE); break; 809b97c: 2303 movs r3, #3 809b97e: 4a8c ldr r2, [pc, #560] ; (809bbb0 ) 809b980: 2165 movs r1, #101 ; 0x65 809b982: 201e movs r0, #30 809b984: f7b9 fd08 bl 8055398 809b988: e01b b.n 809b9c2 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 101, "A[ñêç]", LEFT_MODE); break; 809b98a: 2303 movs r3, #3 809b98c: 4a89 ldr r2, [pc, #548] ; (809bbb4 ) 809b98e: 2165 movs r1, #101 ; 0x65 809b990: 201e movs r0, #30 809b992: f7b9 fd01 bl 8055398 809b996: e014 b.n 809b9c2 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "A[ïèê-ïèê]", LEFT_MODE); break; 809b998: 2303 movs r3, #3 809b99a: 4a87 ldr r2, [pc, #540] ; (809bbb8 ) 809b99c: 2165 movs r1, #101 ; 0x65 809b99e: 201e movs r0, #30 809b9a0: f7b9 fcfa bl 8055398 809b9a4: e00d b.n 809b9c2 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 101, "A[ïô]", LEFT_MODE); break; 809b9a6: 2303 movs r3, #3 809b9a8: 4a84 ldr r2, [pc, #528] ; (809bbbc ) 809b9aa: 2165 movs r1, #101 ; 0x65 809b9ac: 201e movs r0, #30 809b9ae: f7b9 fcf3 bl 8055398 809b9b2: e006 b.n 809b9c2 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 101, "A[ýêñö]", LEFT_MODE); break; 809b9b4: 2303 movs r3, #3 809b9b6: 4a82 ldr r2, [pc, #520] ; (809bbc0 ) 809b9b8: 2165 movs r1, #101 ; 0x65 809b9ba: 201e movs r0, #30 809b9bc: f7b9 fcec bl 8055398 809b9c0: bf00 nop break; 809b9c2: e0af b.n 809bb24 switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 809b9c4: 4b77 ldr r3, [pc, #476] ; (809bba4 ) 809b9c6: 781b ldrb r3, [r3, #0] 809b9c8: b2db uxtb r3, r3 809b9ca: 4a77 ldr r2, [pc, #476] ; (809bba8 ) 809b9cc: 338e adds r3, #142 ; 0x8e 809b9ce: 009b lsls r3, r3, #2 809b9d0: 4413 add r3, r2 809b9d2: 791b ldrb r3, [r3, #4] 809b9d4: b2db uxtb r3, r3 809b9d6: 08db lsrs r3, r3, #3 809b9d8: b2db uxtb r3, r3 809b9da: f003 031f and.w r3, r3, #31 809b9de: 3b01 subs r3, #1 809b9e0: 2b0f cmp r3, #15 809b9e2: f200 80a1 bhi.w 809bb28 809b9e6: a201 add r2, pc, #4 ; (adr r2, 809b9ec ) 809b9e8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809b9ec: 0809ba2d .word 0x0809ba2d 809b9f0: 0809ba3b .word 0x0809ba3b 809b9f4: 0809bb29 .word 0x0809bb29 809b9f8: 0809ba49 .word 0x0809ba49 809b9fc: 0809bb29 .word 0x0809bb29 809ba00: 0809bb29 .word 0x0809bb29 809ba04: 0809bb29 .word 0x0809bb29 809ba08: 0809ba57 .word 0x0809ba57 809ba0c: 0809bb29 .word 0x0809bb29 809ba10: 0809bb29 .word 0x0809bb29 809ba14: 0809bb29 .word 0x0809bb29 809ba18: 0809bb29 .word 0x0809bb29 809ba1c: 0809bb29 .word 0x0809bb29 809ba20: 0809bb29 .word 0x0809bb29 809ba24: 0809bb29 .word 0x0809bb29 809ba28: 0809ba65 .word 0x0809ba65 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "V[ïèê]", LEFT_MODE); break; 809ba2c: 2303 movs r3, #3 809ba2e: 4a65 ldr r2, [pc, #404] ; (809bbc4 ) 809ba30: 2165 movs r1, #101 ; 0x65 809ba32: 201e movs r0, #30 809ba34: f7b9 fcb0 bl 8055398 809ba38: e01b b.n 809ba72 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 101, "V[ñêç]", LEFT_MODE); break; 809ba3a: 2303 movs r3, #3 809ba3c: 4a62 ldr r2, [pc, #392] ; (809bbc8 ) 809ba3e: 2165 movs r1, #101 ; 0x65 809ba40: 201e movs r0, #30 809ba42: f7b9 fca9 bl 8055398 809ba46: e014 b.n 809ba72 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "V[ïèê-ïèê]", LEFT_MODE); break; 809ba48: 2303 movs r3, #3 809ba4a: 4a60 ldr r2, [pc, #384] ; (809bbcc ) 809ba4c: 2165 movs r1, #101 ; 0x65 809ba4e: 201e movs r0, #30 809ba50: f7b9 fca2 bl 8055398 809ba54: e00d b.n 809ba72 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 101, "V[ïô]", LEFT_MODE); break; 809ba56: 2303 movs r3, #3 809ba58: 4a5d ldr r2, [pc, #372] ; (809bbd0 ) 809ba5a: 2165 movs r1, #101 ; 0x65 809ba5c: 201e movs r0, #30 809ba5e: f7b9 fc9b bl 8055398 809ba62: e006 b.n 809ba72 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 101, "V[ýêñö]", LEFT_MODE); break; 809ba64: 2303 movs r3, #3 809ba66: 4a5b ldr r2, [pc, #364] ; (809bbd4 ) 809ba68: 2165 movs r1, #101 ; 0x65 809ba6a: 201e movs r0, #30 809ba6c: f7b9 fc94 bl 8055398 809ba70: bf00 nop break; 809ba72: e059 b.n 809bb28 switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 809ba74: 4b4b ldr r3, [pc, #300] ; (809bba4 ) 809ba76: 781b ldrb r3, [r3, #0] 809ba78: b2db uxtb r3, r3 809ba7a: 4a4b ldr r2, [pc, #300] ; (809bba8 ) 809ba7c: 338e adds r3, #142 ; 0x8e 809ba7e: 009b lsls r3, r3, #2 809ba80: 4413 add r3, r2 809ba82: 791b ldrb r3, [r3, #4] 809ba84: b2db uxtb r3, r3 809ba86: 08db lsrs r3, r3, #3 809ba88: b2db uxtb r3, r3 809ba8a: f003 031f and.w r3, r3, #31 809ba8e: 3b01 subs r3, #1 809ba90: 2b0f cmp r3, #15 809ba92: d84b bhi.n 809bb2c 809ba94: a201 add r2, pc, #4 ; (adr r2, 809ba9c ) 809ba96: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809ba9a: bf00 nop 809ba9c: 0809badd .word 0x0809badd 809baa0: 0809baeb .word 0x0809baeb 809baa4: 0809bb2d .word 0x0809bb2d 809baa8: 0809baf9 .word 0x0809baf9 809baac: 0809bb2d .word 0x0809bb2d 809bab0: 0809bb2d .word 0x0809bb2d 809bab4: 0809bb2d .word 0x0809bb2d 809bab8: 0809bb07 .word 0x0809bb07 809babc: 0809bb2d .word 0x0809bb2d 809bac0: 0809bb2d .word 0x0809bb2d 809bac4: 0809bb2d .word 0x0809bb2d 809bac8: 0809bb2d .word 0x0809bb2d 809bacc: 0809bb2d .word 0x0809bb2d 809bad0: 0809bb2d .word 0x0809bb2d 809bad4: 0809bb2d .word 0x0809bb2d 809bad8: 0809bb15 .word 0x0809bb15 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "S[ïèê]", LEFT_MODE); break; 809badc: 2303 movs r3, #3 809bade: 4a3e ldr r2, [pc, #248] ; (809bbd8 ) 809bae0: 2165 movs r1, #101 ; 0x65 809bae2: 201e movs r0, #30 809bae4: f7b9 fc58 bl 8055398 809bae8: e01b b.n 809bb22 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 101, "S[ñêç]", LEFT_MODE); break; 809baea: 2303 movs r3, #3 809baec: 4a3b ldr r2, [pc, #236] ; (809bbdc ) 809baee: 2165 movs r1, #101 ; 0x65 809baf0: 201e movs r0, #30 809baf2: f7b9 fc51 bl 8055398 809baf6: e014 b.n 809bb22 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "S[ïèê-ïèê]", LEFT_MODE); break; 809baf8: 2303 movs r3, #3 809bafa: 4a39 ldr r2, [pc, #228] ; (809bbe0 ) 809bafc: 2165 movs r1, #101 ; 0x65 809bafe: 201e movs r0, #30 809bb00: f7b9 fc4a bl 8055398 809bb04: e00d b.n 809bb22 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 101, "S[ïô]", LEFT_MODE); break; 809bb06: 2303 movs r3, #3 809bb08: 4a36 ldr r2, [pc, #216] ; (809bbe4 ) 809bb0a: 2165 movs r1, #101 ; 0x65 809bb0c: 201e movs r0, #30 809bb0e: f7b9 fc43 bl 8055398 809bb12: e006 b.n 809bb22 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 101, "S[ýêñö]", LEFT_MODE); break; 809bb14: 2303 movs r3, #3 809bb16: 4a34 ldr r2, [pc, #208] ; (809bbe8 ) 809bb18: 2165 movs r1, #101 ; 0x65 809bb1a: 201e movs r0, #30 809bb1c: f7b9 fc3c bl 8055398 809bb20: bf00 nop break; 809bb22: e003 b.n 809bb2c break; 809bb24: bf00 nop 809bb26: e002 b.n 809bb2e break; 809bb28: bf00 nop 809bb2a: e000 b.n 809bb2e break; 809bb2c: bf00 nop memset(str, 0, sizeof(str)); 809bb2e: f107 030c add.w r3, r7, #12 809bb32: 2228 movs r2, #40 ; 0x28 809bb34: 2100 movs r1, #0 809bb36: 4618 mov r0, r3 809bb38: f036 fa34 bl 80d1fa4 switch(pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) 809bb3c: 4b19 ldr r3, [pc, #100] ; (809bba4 ) 809bb3e: 781b ldrb r3, [r3, #0] 809bb40: b2db uxtb r3, r3 809bb42: 4a19 ldr r2, [pc, #100] ; (809bba8 ) 809bb44: 009b lsls r3, r3, #2 809bb46: 4413 add r3, r2 809bb48: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809bb4c: b2db uxtb r3, r3 809bb4e: f003 0307 and.w r3, r3, #7 809bb52: 2b04 cmp r3, #4 809bb54: f200 8157 bhi.w 809be06 809bb58: a201 add r2, pc, #4 ; (adr r2, 809bb60 ) 809bb5a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809bb5e: bf00 nop 809bb60: 0809bb75 .word 0x0809bb75 809bb64: 0809bbed .word 0x0809bbed 809bb68: 0809bc9d .word 0x0809bc9d 809bb6c: 0809be07 .word 0x0809be07 809bb70: 0809bd4d .word 0x0809bd4d case DIAGN_NO: BSP_LCD_DisplayStringAt(197, 137, "----", LEFT_MODE); break; 809bb74: 2303 movs r3, #3 809bb76: 4a0d ldr r2, [pc, #52] ; (809bbac ) 809bb78: 2189 movs r1, #137 ; 0x89 809bb7a: 20c5 movs r0, #197 ; 0xc5 809bb7c: f7b9 fc0c bl 8055398 809bb80: e141 b.n 809be06 809bb82: bf00 nop 809bb84: 20022644 .word 0x20022644 809bb88: 0816f558 .word 0x0816f558 809bb8c: 08170630 .word 0x08170630 809bb90: 20021fec .word 0x20021fec 809bb94: 20022ef8 .word 0x20022ef8 809bb98: 20022360 .word 0x20022360 809bb9c: 0814e4ac .word 0x0814e4ac 809bba0: ff0a0f1f .word 0xff0a0f1f 809bba4: 2002105d .word 0x2002105d 809bba8: 20023eb8 .word 0x20023eb8 809bbac: 080d7400 .word 0x080d7400 809bbb0: 080d737c .word 0x080d737c 809bbb4: 080d7384 .word 0x080d7384 809bbb8: 080d738c .word 0x080d738c 809bbbc: 080d7398 .word 0x080d7398 809bbc0: 080d73a0 .word 0x080d73a0 809bbc4: 080d73a8 .word 0x080d73a8 809bbc8: 080d73b0 .word 0x080d73b0 809bbcc: 080d73b8 .word 0x080d73b8 809bbd0: 080d73c4 .word 0x080d73c4 809bbd4: 080d73cc .word 0x080d73cc 809bbd8: 080d73d4 .word 0x080d73d4 809bbdc: 080d73dc .word 0x080d73dc 809bbe0: 080d73e4 .word 0x080d73e4 809bbe4: 080d73f0 .word 0x080d73f0 809bbe8: 080d73f8 .word 0x080d73f8 switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 809bbec: 4bc7 ldr r3, [pc, #796] ; (809bf0c ) 809bbee: 781b ldrb r3, [r3, #0] 809bbf0: b2db uxtb r3, r3 809bbf2: 4ac7 ldr r2, [pc, #796] ; (809bf10 ) 809bbf4: 009b lsls r3, r3, #2 809bbf6: 4413 add r3, r2 809bbf8: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809bbfc: b2db uxtb r3, r3 809bbfe: 08db lsrs r3, r3, #3 809bc00: b2db uxtb r3, r3 809bc02: f003 031f and.w r3, r3, #31 809bc06: 3b01 subs r3, #1 809bc08: 2b0f cmp r3, #15 809bc0a: f200 80f7 bhi.w 809bdfc 809bc0e: a201 add r2, pc, #4 ; (adr r2, 809bc14 ) 809bc10: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809bc14: 0809bc55 .word 0x0809bc55 809bc18: 0809bc63 .word 0x0809bc63 809bc1c: 0809bdfd .word 0x0809bdfd 809bc20: 0809bc71 .word 0x0809bc71 809bc24: 0809bdfd .word 0x0809bdfd 809bc28: 0809bdfd .word 0x0809bdfd 809bc2c: 0809bdfd .word 0x0809bdfd 809bc30: 0809bc7f .word 0x0809bc7f 809bc34: 0809bdfd .word 0x0809bdfd 809bc38: 0809bdfd .word 0x0809bdfd 809bc3c: 0809bdfd .word 0x0809bdfd 809bc40: 0809bdfd .word 0x0809bdfd 809bc44: 0809bdfd .word 0x0809bdfd 809bc48: 0809bdfd .word 0x0809bdfd 809bc4c: 0809bdfd .word 0x0809bdfd 809bc50: 0809bc8d .word 0x0809bc8d case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "A[ïèê]", LEFT_MODE); break; 809bc54: 2303 movs r3, #3 809bc56: 4aaf ldr r2, [pc, #700] ; (809bf14 ) 809bc58: 2189 movs r1, #137 ; 0x89 809bc5a: 201e movs r0, #30 809bc5c: f7b9 fb9c bl 8055398 809bc60: e01b b.n 809bc9a case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 137, "A[ñêç]", LEFT_MODE); break; 809bc62: 2303 movs r3, #3 809bc64: 4aac ldr r2, [pc, #688] ; (809bf18 ) 809bc66: 2189 movs r1, #137 ; 0x89 809bc68: 201e movs r0, #30 809bc6a: f7b9 fb95 bl 8055398 809bc6e: e014 b.n 809bc9a case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "A[ïèê-ïèê]", LEFT_MODE); break; 809bc70: 2303 movs r3, #3 809bc72: 4aaa ldr r2, [pc, #680] ; (809bf1c ) 809bc74: 2189 movs r1, #137 ; 0x89 809bc76: 201e movs r0, #30 809bc78: f7b9 fb8e bl 8055398 809bc7c: e00d b.n 809bc9a case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 137, "A[ïô]", LEFT_MODE); break; 809bc7e: 2303 movs r3, #3 809bc80: 4aa7 ldr r2, [pc, #668] ; (809bf20 ) 809bc82: 2189 movs r1, #137 ; 0x89 809bc84: 201e movs r0, #30 809bc86: f7b9 fb87 bl 8055398 809bc8a: e006 b.n 809bc9a case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 137, "A[ýêñö]", LEFT_MODE); break; 809bc8c: 2303 movs r3, #3 809bc8e: 4aa5 ldr r2, [pc, #660] ; (809bf24 ) 809bc90: 2189 movs r1, #137 ; 0x89 809bc92: 201e movs r0, #30 809bc94: f7b9 fb80 bl 8055398 809bc98: bf00 nop break; 809bc9a: e0af b.n 809bdfc switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 809bc9c: 4b9b ldr r3, [pc, #620] ; (809bf0c ) 809bc9e: 781b ldrb r3, [r3, #0] 809bca0: b2db uxtb r3, r3 809bca2: 4a9b ldr r2, [pc, #620] ; (809bf10 ) 809bca4: 009b lsls r3, r3, #2 809bca6: 4413 add r3, r2 809bca8: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809bcac: b2db uxtb r3, r3 809bcae: 08db lsrs r3, r3, #3 809bcb0: b2db uxtb r3, r3 809bcb2: f003 031f and.w r3, r3, #31 809bcb6: 3b01 subs r3, #1 809bcb8: 2b0f cmp r3, #15 809bcba: f200 80a1 bhi.w 809be00 809bcbe: a201 add r2, pc, #4 ; (adr r2, 809bcc4 ) 809bcc0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809bcc4: 0809bd05 .word 0x0809bd05 809bcc8: 0809bd13 .word 0x0809bd13 809bccc: 0809be01 .word 0x0809be01 809bcd0: 0809bd21 .word 0x0809bd21 809bcd4: 0809be01 .word 0x0809be01 809bcd8: 0809be01 .word 0x0809be01 809bcdc: 0809be01 .word 0x0809be01 809bce0: 0809bd2f .word 0x0809bd2f 809bce4: 0809be01 .word 0x0809be01 809bce8: 0809be01 .word 0x0809be01 809bcec: 0809be01 .word 0x0809be01 809bcf0: 0809be01 .word 0x0809be01 809bcf4: 0809be01 .word 0x0809be01 809bcf8: 0809be01 .word 0x0809be01 809bcfc: 0809be01 .word 0x0809be01 809bd00: 0809bd3d .word 0x0809bd3d case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "V[ïèê]", LEFT_MODE); break; 809bd04: 2303 movs r3, #3 809bd06: 4a88 ldr r2, [pc, #544] ; (809bf28 ) 809bd08: 2189 movs r1, #137 ; 0x89 809bd0a: 201e movs r0, #30 809bd0c: f7b9 fb44 bl 8055398 809bd10: e01b b.n 809bd4a case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 137, "V[ñêç]", LEFT_MODE); break; 809bd12: 2303 movs r3, #3 809bd14: 4a85 ldr r2, [pc, #532] ; (809bf2c ) 809bd16: 2189 movs r1, #137 ; 0x89 809bd18: 201e movs r0, #30 809bd1a: f7b9 fb3d bl 8055398 809bd1e: e014 b.n 809bd4a case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "V[ïèê-ïèê]", LEFT_MODE); break; 809bd20: 2303 movs r3, #3 809bd22: 4a83 ldr r2, [pc, #524] ; (809bf30 ) 809bd24: 2189 movs r1, #137 ; 0x89 809bd26: 201e movs r0, #30 809bd28: f7b9 fb36 bl 8055398 809bd2c: e00d b.n 809bd4a case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 137, "V[ïô]", LEFT_MODE); break; 809bd2e: 2303 movs r3, #3 809bd30: 4a80 ldr r2, [pc, #512] ; (809bf34 ) 809bd32: 2189 movs r1, #137 ; 0x89 809bd34: 201e movs r0, #30 809bd36: f7b9 fb2f bl 8055398 809bd3a: e006 b.n 809bd4a case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 137, "V[ýêñö]", LEFT_MODE); break; 809bd3c: 2303 movs r3, #3 809bd3e: 4a7e ldr r2, [pc, #504] ; (809bf38 ) 809bd40: 2189 movs r1, #137 ; 0x89 809bd42: 201e movs r0, #30 809bd44: f7b9 fb28 bl 8055398 809bd48: bf00 nop break; 809bd4a: e059 b.n 809be00 switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 809bd4c: 4b6f ldr r3, [pc, #444] ; (809bf0c ) 809bd4e: 781b ldrb r3, [r3, #0] 809bd50: b2db uxtb r3, r3 809bd52: 4a6f ldr r2, [pc, #444] ; (809bf10 ) 809bd54: 009b lsls r3, r3, #2 809bd56: 4413 add r3, r2 809bd58: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809bd5c: b2db uxtb r3, r3 809bd5e: 08db lsrs r3, r3, #3 809bd60: b2db uxtb r3, r3 809bd62: f003 031f and.w r3, r3, #31 809bd66: 3b01 subs r3, #1 809bd68: 2b0f cmp r3, #15 809bd6a: d84b bhi.n 809be04 809bd6c: a201 add r2, pc, #4 ; (adr r2, 809bd74 ) 809bd6e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809bd72: bf00 nop 809bd74: 0809bdb5 .word 0x0809bdb5 809bd78: 0809bdc3 .word 0x0809bdc3 809bd7c: 0809be05 .word 0x0809be05 809bd80: 0809bdd1 .word 0x0809bdd1 809bd84: 0809be05 .word 0x0809be05 809bd88: 0809be05 .word 0x0809be05 809bd8c: 0809be05 .word 0x0809be05 809bd90: 0809bddf .word 0x0809bddf 809bd94: 0809be05 .word 0x0809be05 809bd98: 0809be05 .word 0x0809be05 809bd9c: 0809be05 .word 0x0809be05 809bda0: 0809be05 .word 0x0809be05 809bda4: 0809be05 .word 0x0809be05 809bda8: 0809be05 .word 0x0809be05 809bdac: 0809be05 .word 0x0809be05 809bdb0: 0809bded .word 0x0809bded case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "S[ïèê]", LEFT_MODE); break; 809bdb4: 2303 movs r3, #3 809bdb6: 4a61 ldr r2, [pc, #388] ; (809bf3c ) 809bdb8: 2189 movs r1, #137 ; 0x89 809bdba: 201e movs r0, #30 809bdbc: f7b9 faec bl 8055398 809bdc0: e01b b.n 809bdfa case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 137, "S[ñêç]", LEFT_MODE); break; 809bdc2: 2303 movs r3, #3 809bdc4: 4a5e ldr r2, [pc, #376] ; (809bf40 ) 809bdc6: 2189 movs r1, #137 ; 0x89 809bdc8: 201e movs r0, #30 809bdca: f7b9 fae5 bl 8055398 809bdce: e014 b.n 809bdfa case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "S[ïèê-ïèê]", LEFT_MODE); break; 809bdd0: 2303 movs r3, #3 809bdd2: 4a5c ldr r2, [pc, #368] ; (809bf44 ) 809bdd4: 2189 movs r1, #137 ; 0x89 809bdd6: 201e movs r0, #30 809bdd8: f7b9 fade bl 8055398 809bddc: e00d b.n 809bdfa case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 137, "S[ïô]", LEFT_MODE); break; 809bdde: 2303 movs r3, #3 809bde0: 4a59 ldr r2, [pc, #356] ; (809bf48 ) 809bde2: 2189 movs r1, #137 ; 0x89 809bde4: 201e movs r0, #30 809bde6: f7b9 fad7 bl 8055398 809bdea: e006 b.n 809bdfa case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 137, "S[ýêñö]", LEFT_MODE); break; 809bdec: 2303 movs r3, #3 809bdee: 4a57 ldr r2, [pc, #348] ; (809bf4c ) 809bdf0: 2189 movs r1, #137 ; 0x89 809bdf2: 201e movs r0, #30 809bdf4: f7b9 fad0 bl 8055398 809bdf8: bf00 nop break; 809bdfa: e003 b.n 809be04 break; 809bdfc: bf00 nop 809bdfe: e002 b.n 809be06 break; 809be00: bf00 nop 809be02: e000 b.n 809be06 break; 809be04: bf00 nop memset(str, 0, sizeof(str)); 809be06: f107 030c add.w r3, r7, #12 809be0a: 2228 movs r2, #40 ; 0x28 809be0c: 2100 movs r1, #0 809be0e: 4618 mov r0, r3 809be10: f036 f8c8 bl 80d1fa4 switch(pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) 809be14: 4b3d ldr r3, [pc, #244] ; (809bf0c ) 809be16: 781b ldrb r3, [r3, #0] 809be18: b2db uxtb r3, r3 809be1a: 4a3d ldr r2, [pc, #244] ; (809bf10 ) 809be1c: 009b lsls r3, r3, #2 809be1e: 4413 add r3, r2 809be20: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809be24: b2db uxtb r3, r3 809be26: f003 0307 and.w r3, r3, #7 809be2a: 2b04 cmp r3, #4 809be2c: f200 8147 bhi.w 809c0be 809be30: a201 add r2, pc, #4 ; (adr r2, 809be38 ) 809be32: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809be36: bf00 nop 809be38: 0809be4d .word 0x0809be4d 809be3c: 0809be5b .word 0x0809be5b 809be40: 0809bf55 .word 0x0809bf55 809be44: 0809c0bf .word 0x0809c0bf 809be48: 0809c005 .word 0x0809c005 case DIAGN_NO: BSP_LCD_DisplayStringAt(72, 173, "----", LEFT_MODE); break; 809be4c: 2303 movs r3, #3 809be4e: 4a40 ldr r2, [pc, #256] ; (809bf50 ) 809be50: 21ad movs r1, #173 ; 0xad 809be52: 2048 movs r0, #72 ; 0x48 809be54: f7b9 faa0 bl 8055398 809be58: e131 b.n 809c0be switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 809be5a: 4b2c ldr r3, [pc, #176] ; (809bf0c ) 809be5c: 781b ldrb r3, [r3, #0] 809be5e: b2db uxtb r3, r3 809be60: 4a2b ldr r2, [pc, #172] ; (809bf10 ) 809be62: 009b lsls r3, r3, #2 809be64: 4413 add r3, r2 809be66: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809be6a: b2db uxtb r3, r3 809be6c: 08db lsrs r3, r3, #3 809be6e: b2db uxtb r3, r3 809be70: f003 031f and.w r3, r3, #31 809be74: 3b01 subs r3, #1 809be76: 2b0f cmp r3, #15 809be78: f200 811c bhi.w 809c0b4 809be7c: a201 add r2, pc, #4 ; (adr r2, 809be84 ) 809be7e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809be82: bf00 nop 809be84: 0809bec5 .word 0x0809bec5 809be88: 0809bed3 .word 0x0809bed3 809be8c: 0809c0b5 .word 0x0809c0b5 809be90: 0809bee1 .word 0x0809bee1 809be94: 0809c0b5 .word 0x0809c0b5 809be98: 0809c0b5 .word 0x0809c0b5 809be9c: 0809c0b5 .word 0x0809c0b5 809bea0: 0809beef .word 0x0809beef 809bea4: 0809c0b5 .word 0x0809c0b5 809bea8: 0809c0b5 .word 0x0809c0b5 809beac: 0809c0b5 .word 0x0809c0b5 809beb0: 0809c0b5 .word 0x0809c0b5 809beb4: 0809c0b5 .word 0x0809c0b5 809beb8: 0809c0b5 .word 0x0809c0b5 809bebc: 0809c0b5 .word 0x0809c0b5 809bec0: 0809befd .word 0x0809befd case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "A[ïèê]", LEFT_MODE); break; 809bec4: 2303 movs r3, #3 809bec6: 4a13 ldr r2, [pc, #76] ; (809bf14 ) 809bec8: 21ad movs r1, #173 ; 0xad 809beca: 201e movs r0, #30 809becc: f7b9 fa64 bl 8055398 809bed0: e01b b.n 809bf0a case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 173, "A[ñêç]", LEFT_MODE); break; 809bed2: 2303 movs r3, #3 809bed4: 4a10 ldr r2, [pc, #64] ; (809bf18 ) 809bed6: 21ad movs r1, #173 ; 0xad 809bed8: 201e movs r0, #30 809beda: f7b9 fa5d bl 8055398 809bede: e014 b.n 809bf0a case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "A[ïèê-ïèê]", LEFT_MODE); break; 809bee0: 2303 movs r3, #3 809bee2: 4a0e ldr r2, [pc, #56] ; (809bf1c ) 809bee4: 21ad movs r1, #173 ; 0xad 809bee6: 201e movs r0, #30 809bee8: f7b9 fa56 bl 8055398 809beec: e00d b.n 809bf0a case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 173, "A[ïô]", LEFT_MODE); break; 809beee: 2303 movs r3, #3 809bef0: 4a0b ldr r2, [pc, #44] ; (809bf20 ) 809bef2: 21ad movs r1, #173 ; 0xad 809bef4: 201e movs r0, #30 809bef6: f7b9 fa4f bl 8055398 809befa: e006 b.n 809bf0a case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 173, "A[ýêñö]", LEFT_MODE); break; 809befc: 2303 movs r3, #3 809befe: 4a09 ldr r2, [pc, #36] ; (809bf24 ) 809bf00: 21ad movs r1, #173 ; 0xad 809bf02: 201e movs r0, #30 809bf04: f7b9 fa48 bl 8055398 809bf08: bf00 nop break; 809bf0a: e0d3 b.n 809c0b4 809bf0c: 2002105d .word 0x2002105d 809bf10: 20023eb8 .word 0x20023eb8 809bf14: 080d737c .word 0x080d737c 809bf18: 080d7384 .word 0x080d7384 809bf1c: 080d738c .word 0x080d738c 809bf20: 080d7398 .word 0x080d7398 809bf24: 080d73a0 .word 0x080d73a0 809bf28: 080d73a8 .word 0x080d73a8 809bf2c: 080d73b0 .word 0x080d73b0 809bf30: 080d73b8 .word 0x080d73b8 809bf34: 080d73c4 .word 0x080d73c4 809bf38: 080d73cc .word 0x080d73cc 809bf3c: 080d73d4 .word 0x080d73d4 809bf40: 080d73dc .word 0x080d73dc 809bf44: 080d73e4 .word 0x080d73e4 809bf48: 080d73f0 .word 0x080d73f0 809bf4c: 080d73f8 .word 0x080d73f8 809bf50: 080d7400 .word 0x080d7400 switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 809bf54: 4bc3 ldr r3, [pc, #780] ; (809c264 ) 809bf56: 781b ldrb r3, [r3, #0] 809bf58: b2db uxtb r3, r3 809bf5a: 4ac3 ldr r2, [pc, #780] ; (809c268 ) 809bf5c: 009b lsls r3, r3, #2 809bf5e: 4413 add r3, r2 809bf60: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809bf64: b2db uxtb r3, r3 809bf66: 08db lsrs r3, r3, #3 809bf68: b2db uxtb r3, r3 809bf6a: f003 031f and.w r3, r3, #31 809bf6e: 3b01 subs r3, #1 809bf70: 2b0f cmp r3, #15 809bf72: f200 80a1 bhi.w 809c0b8 809bf76: a201 add r2, pc, #4 ; (adr r2, 809bf7c ) 809bf78: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809bf7c: 0809bfbd .word 0x0809bfbd 809bf80: 0809bfcb .word 0x0809bfcb 809bf84: 0809c0b9 .word 0x0809c0b9 809bf88: 0809bfd9 .word 0x0809bfd9 809bf8c: 0809c0b9 .word 0x0809c0b9 809bf90: 0809c0b9 .word 0x0809c0b9 809bf94: 0809c0b9 .word 0x0809c0b9 809bf98: 0809bfe7 .word 0x0809bfe7 809bf9c: 0809c0b9 .word 0x0809c0b9 809bfa0: 0809c0b9 .word 0x0809c0b9 809bfa4: 0809c0b9 .word 0x0809c0b9 809bfa8: 0809c0b9 .word 0x0809c0b9 809bfac: 0809c0b9 .word 0x0809c0b9 809bfb0: 0809c0b9 .word 0x0809c0b9 809bfb4: 0809c0b9 .word 0x0809c0b9 809bfb8: 0809bff5 .word 0x0809bff5 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "V[ïèê]", LEFT_MODE); break; 809bfbc: 2303 movs r3, #3 809bfbe: 4aab ldr r2, [pc, #684] ; (809c26c ) 809bfc0: 21ad movs r1, #173 ; 0xad 809bfc2: 201e movs r0, #30 809bfc4: f7b9 f9e8 bl 8055398 809bfc8: e01b b.n 809c002 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 173, "V[ñêç]", LEFT_MODE); break; 809bfca: 2303 movs r3, #3 809bfcc: 4aa8 ldr r2, [pc, #672] ; (809c270 ) 809bfce: 21ad movs r1, #173 ; 0xad 809bfd0: 201e movs r0, #30 809bfd2: f7b9 f9e1 bl 8055398 809bfd6: e014 b.n 809c002 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "V[ïèê-ïèê]", LEFT_MODE); break; 809bfd8: 2303 movs r3, #3 809bfda: 4aa6 ldr r2, [pc, #664] ; (809c274 ) 809bfdc: 21ad movs r1, #173 ; 0xad 809bfde: 201e movs r0, #30 809bfe0: f7b9 f9da bl 8055398 809bfe4: e00d b.n 809c002 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 173, "V[ïô]", LEFT_MODE); break; 809bfe6: 2303 movs r3, #3 809bfe8: 4aa3 ldr r2, [pc, #652] ; (809c278 ) 809bfea: 21ad movs r1, #173 ; 0xad 809bfec: 201e movs r0, #30 809bfee: f7b9 f9d3 bl 8055398 809bff2: e006 b.n 809c002 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 173, "V[ýêñö]", LEFT_MODE); break; 809bff4: 2303 movs r3, #3 809bff6: 4aa1 ldr r2, [pc, #644] ; (809c27c ) 809bff8: 21ad movs r1, #173 ; 0xad 809bffa: 201e movs r0, #30 809bffc: f7b9 f9cc bl 8055398 809c000: bf00 nop break; 809c002: e059 b.n 809c0b8 switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 809c004: 4b97 ldr r3, [pc, #604] ; (809c264 ) 809c006: 781b ldrb r3, [r3, #0] 809c008: b2db uxtb r3, r3 809c00a: 4a97 ldr r2, [pc, #604] ; (809c268 ) 809c00c: 009b lsls r3, r3, #2 809c00e: 4413 add r3, r2 809c010: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809c014: b2db uxtb r3, r3 809c016: 08db lsrs r3, r3, #3 809c018: b2db uxtb r3, r3 809c01a: f003 031f and.w r3, r3, #31 809c01e: 3b01 subs r3, #1 809c020: 2b0f cmp r3, #15 809c022: d84b bhi.n 809c0bc 809c024: a201 add r2, pc, #4 ; (adr r2, 809c02c ) 809c026: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809c02a: bf00 nop 809c02c: 0809c06d .word 0x0809c06d 809c030: 0809c07b .word 0x0809c07b 809c034: 0809c0bd .word 0x0809c0bd 809c038: 0809c089 .word 0x0809c089 809c03c: 0809c0bd .word 0x0809c0bd 809c040: 0809c0bd .word 0x0809c0bd 809c044: 0809c0bd .word 0x0809c0bd 809c048: 0809c097 .word 0x0809c097 809c04c: 0809c0bd .word 0x0809c0bd 809c050: 0809c0bd .word 0x0809c0bd 809c054: 0809c0bd .word 0x0809c0bd 809c058: 0809c0bd .word 0x0809c0bd 809c05c: 0809c0bd .word 0x0809c0bd 809c060: 0809c0bd .word 0x0809c0bd 809c064: 0809c0bd .word 0x0809c0bd 809c068: 0809c0a5 .word 0x0809c0a5 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "S[ïèê]", LEFT_MODE); break; 809c06c: 2303 movs r3, #3 809c06e: 4a84 ldr r2, [pc, #528] ; (809c280 ) 809c070: 21ad movs r1, #173 ; 0xad 809c072: 201e movs r0, #30 809c074: f7b9 f990 bl 8055398 809c078: e01b b.n 809c0b2 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 173, "S[ñêç]", LEFT_MODE); break; 809c07a: 2303 movs r3, #3 809c07c: 4a81 ldr r2, [pc, #516] ; (809c284 ) 809c07e: 21ad movs r1, #173 ; 0xad 809c080: 201e movs r0, #30 809c082: f7b9 f989 bl 8055398 809c086: e014 b.n 809c0b2 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "S[ïèê-ïèê]", LEFT_MODE); break; 809c088: 2303 movs r3, #3 809c08a: 4a7f ldr r2, [pc, #508] ; (809c288 ) 809c08c: 21ad movs r1, #173 ; 0xad 809c08e: 201e movs r0, #30 809c090: f7b9 f982 bl 8055398 809c094: e00d b.n 809c0b2 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 173, "S[ïô]", LEFT_MODE); break; 809c096: 2303 movs r3, #3 809c098: 4a7c ldr r2, [pc, #496] ; (809c28c ) 809c09a: 21ad movs r1, #173 ; 0xad 809c09c: 201e movs r0, #30 809c09e: f7b9 f97b bl 8055398 809c0a2: e006 b.n 809c0b2 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 173, "S[ýêñö]", LEFT_MODE); break; 809c0a4: 2303 movs r3, #3 809c0a6: 4a7a ldr r2, [pc, #488] ; (809c290 ) 809c0a8: 21ad movs r1, #173 ; 0xad 809c0aa: 201e movs r0, #30 809c0ac: f7b9 f974 bl 8055398 809c0b0: bf00 nop break; 809c0b2: e003 b.n 809c0bc break; 809c0b4: bf00 nop 809c0b6: e002 b.n 809c0be break; 809c0b8: bf00 nop 809c0ba: e000 b.n 809c0be break; 809c0bc: bf00 nop if((!FIRST) && (!RepeatKm) && (Stability > (Nr * 4)) && (!timeRelax)) 809c0be: 4b75 ldr r3, [pc, #468] ; (809c294 ) 809c0c0: 781b ldrb r3, [r3, #0] 809c0c2: b2db uxtb r3, r3 809c0c4: f083 0301 eor.w r3, r3, #1 809c0c8: b2db uxtb r3, r3 809c0ca: 2b00 cmp r3, #0 809c0cc: f009 82f0 beq.w 80a56b0 809c0d0: 4b71 ldr r3, [pc, #452] ; (809c298 ) 809c0d2: 781b ldrb r3, [r3, #0] 809c0d4: b2db uxtb r3, r3 809c0d6: f083 0301 eor.w r3, r3, #1 809c0da: b2db uxtb r3, r3 809c0dc: 2b00 cmp r3, #0 809c0de: f009 82e7 beq.w 80a56b0 809c0e2: 4b6e ldr r3, [pc, #440] ; (809c29c ) 809c0e4: 881b ldrh r3, [r3, #0] 809c0e6: b29b uxth r3, r3 809c0e8: 009b lsls r3, r3, #2 809c0ea: 461a mov r2, r3 809c0ec: 4b6c ldr r3, [pc, #432] ; (809c2a0 ) 809c0ee: 681b ldr r3, [r3, #0] 809c0f0: 429a cmp r2, r3 809c0f2: f089 82dd bcs.w 80a56b0 809c0f6: 4b6b ldr r3, [pc, #428] ; (809c2a4 ) 809c0f8: 681b ldr r3, [r3, #0] 809c0fa: 2b00 cmp r3, #0 809c0fc: f049 82d8 bne.w 80a56b0 if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) != DIAGN_NO) && (operand[Us1] != -1.0f)) 809c100: 4b58 ldr r3, [pc, #352] ; (809c264 ) 809c102: 781b ldrb r3, [r3, #0] 809c104: b2db uxtb r3, r3 809c106: 4a58 ldr r2, [pc, #352] ; (809c268 ) 809c108: 338e adds r3, #142 ; 0x8e 809c10a: 009b lsls r3, r3, #2 809c10c: 4413 add r3, r2 809c10e: 791b ldrb r3, [r3, #4] 809c110: b2db uxtb r3, r3 809c112: f003 0307 and.w r3, r3, #7 809c116: 2b00 cmp r3, #0 809c118: f000 8268 beq.w 809c5ec 809c11c: 4b62 ldr r3, [pc, #392] ; (809c2a8 ) 809c11e: edd3 7a00 vldr s15, [r3] 809c122: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809c126: eef4 7a47 vcmp.f32 s15, s14 809c12a: eef1 fa10 vmrs APSR_nzcv, fpscr 809c12e: f000 825d beq.w 809c5ec if(operand[Us1] < pardata.DIAGN_A[CURR_POINT][Us1]) 809c132: 4b5d ldr r3, [pc, #372] ; (809c2a8 ) 809c134: ed93 7a00 vldr s14, [r3] 809c138: 4b4a ldr r3, [pc, #296] ; (809c264 ) 809c13a: 781b ldrb r3, [r3, #0] 809c13c: b2db uxtb r3, r3 809c13e: 4a4a ldr r2, [pc, #296] ; (809c268 ) 809c140: 011b lsls r3, r3, #4 809c142: 4413 add r3, r2 809c144: f503 7377 add.w r3, r3, #988 ; 0x3dc 809c148: edd3 7a00 vldr s15, [r3] 809c14c: eeb4 7ae7 vcmpe.f32 s14, s15 809c150: eef1 fa10 vmrs APSR_nzcv, fpscr 809c154: d51d bpl.n 809c192 if(operand[Us1] < pardata.DIAGN_W[CURR_POINT][Us1]) 809c156: 4b54 ldr r3, [pc, #336] ; (809c2a8 ) 809c158: ed93 7a00 vldr s14, [r3] 809c15c: 4b41 ldr r3, [pc, #260] ; (809c264 ) 809c15e: 781b ldrb r3, [r3, #0] 809c160: b2db uxtb r3, r3 809c162: 4a41 ldr r2, [pc, #260] ; (809c268 ) 809c164: 011b lsls r3, r3, #4 809c166: 4413 add r3, r2 809c168: f503 7357 add.w r3, r3, #860 ; 0x35c 809c16c: edd3 7a00 vldr s15, [r3] 809c170: eeb4 7ae7 vcmpe.f32 s14, s15 809c174: eef1 fa10 vmrs APSR_nzcv, fpscr 809c178: d505 bpl.n 809c186 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809c17a: 494c ldr r1, [pc, #304] ; (809c2ac ) 809c17c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809c180: f7b9 f844 bl 805520c 809c184: e009 b.n 809c19a else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809c186: 4949 ldr r1, [pc, #292] ; (809c2ac ) 809c188: f06f 00ff mvn.w r0, #255 ; 0xff 809c18c: f7b9 f83e bl 805520c 809c190: e003 b.n 809c19a LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809c192: 4946 ldr r1, [pc, #280] ; (809c2ac ) 809c194: 4846 ldr r0, [pc, #280] ; (809c2b0 ) 809c196: f7b9 f839 bl 805520c f = operand[Us1]; 809c19a: 4b43 ldr r3, [pc, #268] ; (809c2a8 ) 809c19c: 681b ldr r3, [r3, #0] 809c19e: 647b str r3, [r7, #68] ; 0x44 if(((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) >= DIAGN_PEAK_FACTOR) 809c1a0: 4b30 ldr r3, [pc, #192] ; (809c264 ) 809c1a2: 781b ldrb r3, [r3, #0] 809c1a4: b2db uxtb r3, r3 809c1a6: 4a30 ldr r2, [pc, #192] ; (809c268 ) 809c1a8: 338e adds r3, #142 ; 0x8e 809c1aa: 009b lsls r3, r3, #2 809c1ac: 4413 add r3, r2 809c1ae: 791b ldrb r3, [r3, #4] 809c1b0: b2db uxtb r3, r3 809c1b2: 08db lsrs r3, r3, #3 809c1b4: b2db uxtb r3, r3 809c1b6: f003 031f and.w r3, r3, #31 809c1ba: 2b07 cmp r3, #7 809c1bc: f300 8175 bgt.w 809c4aa if(f >= 1000.0f) 809c1c0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c1c4: ed9f 7a3b vldr s14, [pc, #236] ; 809c2b4 809c1c8: eef4 7ac7 vcmpe.f32 s15, s14 809c1cc: eef1 fa10 vmrs APSR_nzcv, fpscr 809c1d0: f2c0 809d blt.w 809c30e f *= 0.001f; 809c1d4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c1d8: ed9f 7a37 vldr s14, [pc, #220] ; 809c2b8 809c1dc: ee67 7a87 vmul.f32 s15, s15, s14 809c1e0: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_ACC) 809c1e4: 4b1f ldr r3, [pc, #124] ; (809c264 ) 809c1e6: 781b ldrb r3, [r3, #0] 809c1e8: b2db uxtb r3, r3 809c1ea: 4a1f ldr r2, [pc, #124] ; (809c268 ) 809c1ec: 338e adds r3, #142 ; 0x8e 809c1ee: 009b lsls r3, r3, #2 809c1f0: 4413 add r3, r2 809c1f2: 791b ldrb r3, [r3, #4] 809c1f4: b2db uxtb r3, r3 809c1f6: f003 0307 and.w r3, r3, #7 809c1fa: 2b01 cmp r3, #1 809c1fc: d112 bne.n 809c224 if(pardata.LANG == RUS) 809c1fe: 4b1a ldr r3, [pc, #104] ; (809c268 ) 809c200: 7b1b ldrb r3, [r3, #12] 809c202: b2db uxtb r3, r3 809c204: 2b00 cmp r3, #0 809c206: d106 bne.n 809c216 BSP_LCD_DisplayStringAt(170, 101, "kì/c^", LEFT_MODE); 809c208: 2303 movs r3, #3 809c20a: 4a2c ldr r2, [pc, #176] ; (809c2bc ) 809c20c: 2165 movs r1, #101 ; 0x65 809c20e: 20aa movs r0, #170 ; 0xaa 809c210: f7b9 f8c2 bl 8055398 809c214: e149 b.n 809c4aa else BSP_LCD_DisplayStringAt(170, 101, "km/s^", LEFT_MODE); 809c216: 2303 movs r3, #3 809c218: 4a29 ldr r2, [pc, #164] ; (809c2c0 ) 809c21a: 2165 movs r1, #101 ; 0x65 809c21c: 20aa movs r0, #170 ; 0xaa 809c21e: f7b9 f8bb bl 8055398 809c222: e142 b.n 809c4aa if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_VEL) 809c224: 4b0f ldr r3, [pc, #60] ; (809c264 ) 809c226: 781b ldrb r3, [r3, #0] 809c228: b2db uxtb r3, r3 809c22a: 4a0f ldr r2, [pc, #60] ; (809c268 ) 809c22c: 338e adds r3, #142 ; 0x8e 809c22e: 009b lsls r3, r3, #2 809c230: 4413 add r3, r2 809c232: 791b ldrb r3, [r3, #4] 809c234: b2db uxtb r3, r3 809c236: f003 0307 and.w r3, r3, #7 809c23a: 2b02 cmp r3, #2 809c23c: d146 bne.n 809c2cc if(pardata.LANG == RUS) 809c23e: 4b0a ldr r3, [pc, #40] ; (809c268 ) 809c240: 7b1b ldrb r3, [r3, #12] 809c242: b2db uxtb r3, r3 809c244: 2b00 cmp r3, #0 809c246: d106 bne.n 809c256 BSP_LCD_DisplayStringAt(170, 101, "ì/c", LEFT_MODE); 809c248: 2303 movs r3, #3 809c24a: 4a1e ldr r2, [pc, #120] ; (809c2c4 ) 809c24c: 2165 movs r1, #101 ; 0x65 809c24e: 20aa movs r0, #170 ; 0xaa 809c250: f7b9 f8a2 bl 8055398 809c254: e129 b.n 809c4aa else BSP_LCD_DisplayStringAt(170, 101, "m/s", LEFT_MODE); 809c256: 2303 movs r3, #3 809c258: 4a1b ldr r2, [pc, #108] ; (809c2c8 ) 809c25a: 2165 movs r1, #101 ; 0x65 809c25c: 20aa movs r0, #170 ; 0xaa 809c25e: f7b9 f89b bl 8055398 809c262: e122 b.n 809c4aa 809c264: 2002105d .word 0x2002105d 809c268: 20023eb8 .word 0x20023eb8 809c26c: 080d73a8 .word 0x080d73a8 809c270: 080d73b0 .word 0x080d73b0 809c274: 080d73b8 .word 0x080d73b8 809c278: 080d73c4 .word 0x080d73c4 809c27c: 080d73cc .word 0x080d73cc 809c280: 080d73d4 .word 0x080d73d4 809c284: 080d73dc .word 0x080d73dc 809c288: 080d73e4 .word 0x080d73e4 809c28c: 080d73f0 .word 0x080d73f0 809c290: 080d73f8 .word 0x080d73f8 809c294: 20020dd2 .word 0x20020dd2 809c298: 20020dcc .word 0x20020dcc 809c29c: 20021d70 .word 0x20021d70 809c2a0: 20020dc8 .word 0x20020dc8 809c2a4: 20020d8c .word 0x20020d8c 809c2a8: 20026938 .word 0x20026938 809c2ac: ff0a0f1f .word 0xff0a0f1f 809c2b0: ffff0000 .word 0xffff0000 809c2b4: 447a0000 .word 0x447a0000 809c2b8: 3a83126f .word 0x3a83126f 809c2bc: 080d7408 .word 0x080d7408 809c2c0: 080d7410 .word 0x080d7410 809c2c4: 080d7418 .word 0x080d7418 809c2c8: 080d741c .word 0x080d741c if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_DIS) 809c2cc: 4ba7 ldr r3, [pc, #668] ; (809c56c ) 809c2ce: 781b ldrb r3, [r3, #0] 809c2d0: b2db uxtb r3, r3 809c2d2: 4aa7 ldr r2, [pc, #668] ; (809c570 ) 809c2d4: 338e adds r3, #142 ; 0x8e 809c2d6: 009b lsls r3, r3, #2 809c2d8: 4413 add r3, r2 809c2da: 791b ldrb r3, [r3, #4] 809c2dc: b2db uxtb r3, r3 809c2de: f003 0307 and.w r3, r3, #7 809c2e2: 2b04 cmp r3, #4 809c2e4: f040 80e1 bne.w 809c4aa if(pardata.LANG == RUS) 809c2e8: 4ba1 ldr r3, [pc, #644] ; (809c570 ) 809c2ea: 7b1b ldrb r3, [r3, #12] 809c2ec: b2db uxtb r3, r3 809c2ee: 2b00 cmp r3, #0 809c2f0: d106 bne.n 809c300 BSP_LCD_DisplayStringAt(170, 101, "ìì", LEFT_MODE); 809c2f2: 2303 movs r3, #3 809c2f4: 4a9f ldr r2, [pc, #636] ; (809c574 ) 809c2f6: 2165 movs r1, #101 ; 0x65 809c2f8: 20aa movs r0, #170 ; 0xaa 809c2fa: f7b9 f84d bl 8055398 809c2fe: e0d4 b.n 809c4aa else BSP_LCD_DisplayStringAt(170, 101, "mm", LEFT_MODE); 809c300: 2303 movs r3, #3 809c302: 4a9d ldr r2, [pc, #628] ; (809c578 ) 809c304: 2165 movs r1, #101 ; 0x65 809c306: 20aa movs r0, #170 ; 0xaa 809c308: f7b9 f846 bl 8055398 809c30c: e0cd b.n 809c4aa if(f >= 0.1f) 809c30e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c312: ed9f 7a9a vldr s14, [pc, #616] ; 809c57c 809c316: eef4 7ac7 vcmpe.f32 s15, s14 809c31a: eef1 fa10 vmrs APSR_nzcv, fpscr 809c31e: db5d blt.n 809c3dc if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_ACC) 809c320: 4b92 ldr r3, [pc, #584] ; (809c56c ) 809c322: 781b ldrb r3, [r3, #0] 809c324: b2db uxtb r3, r3 809c326: 4a92 ldr r2, [pc, #584] ; (809c570 ) 809c328: 338e adds r3, #142 ; 0x8e 809c32a: 009b lsls r3, r3, #2 809c32c: 4413 add r3, r2 809c32e: 791b ldrb r3, [r3, #4] 809c330: b2db uxtb r3, r3 809c332: f003 0307 and.w r3, r3, #7 809c336: 2b01 cmp r3, #1 809c338: d111 bne.n 809c35e if(pardata.LANG == RUS) 809c33a: 4b8d ldr r3, [pc, #564] ; (809c570 ) 809c33c: 7b1b ldrb r3, [r3, #12] 809c33e: b2db uxtb r3, r3 809c340: 2b00 cmp r3, #0 809c342: d106 bne.n 809c352 BSP_LCD_DisplayStringAt(170, 101, "ì/c^", LEFT_MODE); 809c344: 2303 movs r3, #3 809c346: 4a8e ldr r2, [pc, #568] ; (809c580 ) 809c348: 2165 movs r1, #101 ; 0x65 809c34a: 20aa movs r0, #170 ; 0xaa 809c34c: f7b9 f824 bl 8055398 809c350: e005 b.n 809c35e else BSP_LCD_DisplayStringAt(170, 101, "m/s^", LEFT_MODE); 809c352: 2303 movs r3, #3 809c354: 4a8b ldr r2, [pc, #556] ; (809c584 ) 809c356: 2165 movs r1, #101 ; 0x65 809c358: 20aa movs r0, #170 ; 0xaa 809c35a: f7b9 f81d bl 8055398 if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_VEL) 809c35e: 4b83 ldr r3, [pc, #524] ; (809c56c ) 809c360: 781b ldrb r3, [r3, #0] 809c362: b2db uxtb r3, r3 809c364: 4a82 ldr r2, [pc, #520] ; (809c570 ) 809c366: 338e adds r3, #142 ; 0x8e 809c368: 009b lsls r3, r3, #2 809c36a: 4413 add r3, r2 809c36c: 791b ldrb r3, [r3, #4] 809c36e: b2db uxtb r3, r3 809c370: f003 0307 and.w r3, r3, #7 809c374: 2b02 cmp r3, #2 809c376: d111 bne.n 809c39c if(pardata.LANG == RUS) 809c378: 4b7d ldr r3, [pc, #500] ; (809c570 ) 809c37a: 7b1b ldrb r3, [r3, #12] 809c37c: b2db uxtb r3, r3 809c37e: 2b00 cmp r3, #0 809c380: d106 bne.n 809c390 BSP_LCD_DisplayStringAt(170, 101, "ìì/c", LEFT_MODE); 809c382: 2303 movs r3, #3 809c384: 4a80 ldr r2, [pc, #512] ; (809c588 ) 809c386: 2165 movs r1, #101 ; 0x65 809c388: 20aa movs r0, #170 ; 0xaa 809c38a: f7b9 f805 bl 8055398 809c38e: e005 b.n 809c39c else BSP_LCD_DisplayStringAt(170, 101, "mm/s", LEFT_MODE); 809c390: 2303 movs r3, #3 809c392: 4a7e ldr r2, [pc, #504] ; (809c58c ) 809c394: 2165 movs r1, #101 ; 0x65 809c396: 20aa movs r0, #170 ; 0xaa 809c398: f7b8 fffe bl 8055398 if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_DIS) 809c39c: 4b73 ldr r3, [pc, #460] ; (809c56c ) 809c39e: 781b ldrb r3, [r3, #0] 809c3a0: b2db uxtb r3, r3 809c3a2: 4a73 ldr r2, [pc, #460] ; (809c570 ) 809c3a4: 338e adds r3, #142 ; 0x8e 809c3a6: 009b lsls r3, r3, #2 809c3a8: 4413 add r3, r2 809c3aa: 791b ldrb r3, [r3, #4] 809c3ac: b2db uxtb r3, r3 809c3ae: f003 0307 and.w r3, r3, #7 809c3b2: 2b04 cmp r3, #4 809c3b4: d179 bne.n 809c4aa if(pardata.LANG == RUS) 809c3b6: 4b6e ldr r3, [pc, #440] ; (809c570 ) 809c3b8: 7b1b ldrb r3, [r3, #12] 809c3ba: b2db uxtb r3, r3 809c3bc: 2b00 cmp r3, #0 809c3be: d106 bne.n 809c3ce BSP_LCD_DisplayStringAt(170, 101, "ìkì", LEFT_MODE); 809c3c0: 2303 movs r3, #3 809c3c2: 4a73 ldr r2, [pc, #460] ; (809c590 ) 809c3c4: 2165 movs r1, #101 ; 0x65 809c3c6: 20aa movs r0, #170 ; 0xaa 809c3c8: f7b8 ffe6 bl 8055398 809c3cc: e06d b.n 809c4aa else BSP_LCD_DisplayStringAt(170, 101, "um", LEFT_MODE); 809c3ce: 2303 movs r3, #3 809c3d0: 4a70 ldr r2, [pc, #448] ; (809c594 ) 809c3d2: 2165 movs r1, #101 ; 0x65 809c3d4: 20aa movs r0, #170 ; 0xaa 809c3d6: f7b8 ffdf bl 8055398 809c3da: e066 b.n 809c4aa f *= 1000.0f; 809c3dc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c3e0: ed9f 7a6d vldr s14, [pc, #436] ; 809c598 809c3e4: ee67 7a87 vmul.f32 s15, s15, s14 809c3e8: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_ACC) 809c3ec: 4b5f ldr r3, [pc, #380] ; (809c56c ) 809c3ee: 781b ldrb r3, [r3, #0] 809c3f0: b2db uxtb r3, r3 809c3f2: 4a5f ldr r2, [pc, #380] ; (809c570 ) 809c3f4: 338e adds r3, #142 ; 0x8e 809c3f6: 009b lsls r3, r3, #2 809c3f8: 4413 add r3, r2 809c3fa: 791b ldrb r3, [r3, #4] 809c3fc: b2db uxtb r3, r3 809c3fe: f003 0307 and.w r3, r3, #7 809c402: 2b01 cmp r3, #1 809c404: d112 bne.n 809c42c if(pardata.LANG == RUS) 809c406: 4b5a ldr r3, [pc, #360] ; (809c570 ) 809c408: 7b1b ldrb r3, [r3, #12] 809c40a: b2db uxtb r3, r3 809c40c: 2b00 cmp r3, #0 809c40e: d106 bne.n 809c41e BSP_LCD_DisplayStringAt(170, 101, "ìì/c^", LEFT_MODE); 809c410: 2303 movs r3, #3 809c412: 4a62 ldr r2, [pc, #392] ; (809c59c ) 809c414: 2165 movs r1, #101 ; 0x65 809c416: 20aa movs r0, #170 ; 0xaa 809c418: f7b8 ffbe bl 8055398 809c41c: e045 b.n 809c4aa else BSP_LCD_DisplayStringAt(170, 101, "mm/s^", LEFT_MODE); 809c41e: 2303 movs r3, #3 809c420: 4a5f ldr r2, [pc, #380] ; (809c5a0 ) 809c422: 2165 movs r1, #101 ; 0x65 809c424: 20aa movs r0, #170 ; 0xaa 809c426: f7b8 ffb7 bl 8055398 809c42a: e03e b.n 809c4aa else if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_VEL) 809c42c: 4b4f ldr r3, [pc, #316] ; (809c56c ) 809c42e: 781b ldrb r3, [r3, #0] 809c430: b2db uxtb r3, r3 809c432: 4a4f ldr r2, [pc, #316] ; (809c570 ) 809c434: 338e adds r3, #142 ; 0x8e 809c436: 009b lsls r3, r3, #2 809c438: 4413 add r3, r2 809c43a: 791b ldrb r3, [r3, #4] 809c43c: b2db uxtb r3, r3 809c43e: f003 0307 and.w r3, r3, #7 809c442: 2b02 cmp r3, #2 809c444: d112 bne.n 809c46c if(pardata.LANG == RUS) 809c446: 4b4a ldr r3, [pc, #296] ; (809c570 ) 809c448: 7b1b ldrb r3, [r3, #12] 809c44a: b2db uxtb r3, r3 809c44c: 2b00 cmp r3, #0 809c44e: d106 bne.n 809c45e BSP_LCD_DisplayStringAt(170, 101, "ìêì/c", LEFT_MODE); 809c450: 2303 movs r3, #3 809c452: 4a54 ldr r2, [pc, #336] ; (809c5a4 ) 809c454: 2165 movs r1, #101 ; 0x65 809c456: 20aa movs r0, #170 ; 0xaa 809c458: f7b8 ff9e bl 8055398 809c45c: e025 b.n 809c4aa else BSP_LCD_DisplayStringAt(170, 101, "mkm/s", LEFT_MODE); 809c45e: 2303 movs r3, #3 809c460: 4a51 ldr r2, [pc, #324] ; (809c5a8 ) 809c462: 2165 movs r1, #101 ; 0x65 809c464: 20aa movs r0, #170 ; 0xaa 809c466: f7b8 ff97 bl 8055398 809c46a: e01e b.n 809c4aa else if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_DIS) 809c46c: 4b3f ldr r3, [pc, #252] ; (809c56c ) 809c46e: 781b ldrb r3, [r3, #0] 809c470: b2db uxtb r3, r3 809c472: 4a3f ldr r2, [pc, #252] ; (809c570 ) 809c474: 338e adds r3, #142 ; 0x8e 809c476: 009b lsls r3, r3, #2 809c478: 4413 add r3, r2 809c47a: 791b ldrb r3, [r3, #4] 809c47c: b2db uxtb r3, r3 809c47e: f003 0307 and.w r3, r3, #7 809c482: 2b04 cmp r3, #4 809c484: d111 bne.n 809c4aa if(pardata.LANG == RUS) 809c486: 4b3a ldr r3, [pc, #232] ; (809c570 ) 809c488: 7b1b ldrb r3, [r3, #12] 809c48a: b2db uxtb r3, r3 809c48c: 2b00 cmp r3, #0 809c48e: d106 bne.n 809c49e BSP_LCD_DisplayStringAt(170, 101, "íì", LEFT_MODE); 809c490: 2303 movs r3, #3 809c492: 4a46 ldr r2, [pc, #280] ; (809c5ac ) 809c494: 2165 movs r1, #101 ; 0x65 809c496: 20aa movs r0, #170 ; 0xaa 809c498: f7b8 ff7e bl 8055398 809c49c: e005 b.n 809c4aa else BSP_LCD_DisplayStringAt(170, 101, "nm", LEFT_MODE); 809c49e: 2303 movs r3, #3 809c4a0: 4a43 ldr r2, [pc, #268] ; (809c5b0 ) 809c4a2: 2165 movs r1, #101 ; 0x65 809c4a4: 20aa movs r0, #170 ; 0xaa 809c4a6: f7b8 ff77 bl 8055398 if(f < 10.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -4), RIGHT_MODE); 809c4aa: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c4ae: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809c4b2: eef4 7ac7 vcmpe.f32 s15, s14 809c4b6: eef1 fa10 vmrs APSR_nzcv, fpscr 809c4ba: d50e bpl.n 809c4da 809c4bc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c4c0: f06f 0003 mvn.w r0, #3 809c4c4: eeb0 0a67 vmov.f32 s0, s15 809c4c8: f7cb fe6a bl 80681a0 809c4cc: 4602 mov r2, r0 809c4ce: 2302 movs r3, #2 809c4d0: 2165 movs r1, #101 ; 0x65 809c4d2: 20a0 movs r0, #160 ; 0xa0 809c4d4: f7b8 ff60 bl 8055398 809c4d8: e088 b.n 809c5ec else if(f < 100.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809c4da: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c4de: ed9f 7a35 vldr s14, [pc, #212] ; 809c5b4 809c4e2: eef4 7ac7 vcmpe.f32 s15, s14 809c4e6: eef1 fa10 vmrs APSR_nzcv, fpscr 809c4ea: d50e bpl.n 809c50a 809c4ec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c4f0: f06f 0002 mvn.w r0, #2 809c4f4: eeb0 0a67 vmov.f32 s0, s15 809c4f8: f7cb fe52 bl 80681a0 809c4fc: 4602 mov r2, r0 809c4fe: 2302 movs r3, #2 809c500: 2165 movs r1, #101 ; 0x65 809c502: 20a0 movs r0, #160 ; 0xa0 809c504: f7b8 ff48 bl 8055398 809c508: e070 b.n 809c5ec else if(f < 1000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809c50a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c50e: ed9f 7a22 vldr s14, [pc, #136] ; 809c598 809c512: eef4 7ac7 vcmpe.f32 s15, s14 809c516: eef1 fa10 vmrs APSR_nzcv, fpscr 809c51a: d50e bpl.n 809c53a 809c51c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c520: f06f 0001 mvn.w r0, #1 809c524: eeb0 0a67 vmov.f32 s0, s15 809c528: f7cb fe3a bl 80681a0 809c52c: 4602 mov r2, r0 809c52e: 2302 movs r3, #2 809c530: 2165 movs r1, #101 ; 0x65 809c532: 20a0 movs r0, #160 ; 0xa0 809c534: f7b8 ff30 bl 8055398 809c538: e058 b.n 809c5ec else if(f < 10000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -1), RIGHT_MODE); 809c53a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c53e: ed9f 7a1e vldr s14, [pc, #120] ; 809c5b8 809c542: eef4 7ac7 vcmpe.f32 s15, s14 809c546: eef1 fa10 vmrs APSR_nzcv, fpscr 809c54a: d539 bpl.n 809c5c0 809c54c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c550: f04f 30ff mov.w r0, #4294967295 809c554: eeb0 0a67 vmov.f32 s0, s15 809c558: f7cb fe22 bl 80681a0 809c55c: 4602 mov r2, r0 809c55e: 2302 movs r3, #2 809c560: 2165 movs r1, #101 ; 0x65 809c562: 20a0 movs r0, #160 ; 0xa0 809c564: f7b8 ff18 bl 8055398 809c568: e040 b.n 809c5ec 809c56a: bf00 nop 809c56c: 2002105d .word 0x2002105d 809c570: 20023eb8 .word 0x20023eb8 809c574: 080d7420 .word 0x080d7420 809c578: 080d7424 .word 0x080d7424 809c57c: 3dcccccd .word 0x3dcccccd 809c580: 080d7428 .word 0x080d7428 809c584: 080d7430 .word 0x080d7430 809c588: 080d7438 .word 0x080d7438 809c58c: 080d7440 .word 0x080d7440 809c590: 080d7448 .word 0x080d7448 809c594: 080d744c .word 0x080d744c 809c598: 447a0000 .word 0x447a0000 809c59c: 080d7450 .word 0x080d7450 809c5a0: 080d7458 .word 0x080d7458 809c5a4: 080d7460 .word 0x080d7460 809c5a8: 080d7468 .word 0x080d7468 809c5ac: 080d7470 .word 0x080d7470 809c5b0: 080d7474 .word 0x080d7474 809c5b4: 42c80000 .word 0x42c80000 809c5b8: 461c4000 .word 0x461c4000 809c5bc: 47c35000 .word 0x47c35000 else if(f < 100000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, 0), RIGHT_MODE); 809c5c0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c5c4: ed1f 7a03 vldr s14, [pc, #-12] ; 809c5bc 809c5c8: eef4 7ac7 vcmpe.f32 s15, s14 809c5cc: eef1 fa10 vmrs APSR_nzcv, fpscr 809c5d0: d50c bpl.n 809c5ec 809c5d2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c5d6: 2000 movs r0, #0 809c5d8: eeb0 0a67 vmov.f32 s0, s15 809c5dc: f7cb fde0 bl 80681a0 809c5e0: 4602 mov r2, r0 809c5e2: 2302 movs r3, #2 809c5e4: 2165 movs r1, #101 ; 0x65 809c5e6: 20a0 movs r0, #160 ; 0xa0 809c5e8: f7b8 fed6 bl 8055398 if(((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) != DIAGN_NO) && (operand[Us2] != -1.0f)) 809c5ec: 4bbe ldr r3, [pc, #760] ; (809c8e8 ) 809c5ee: 781b ldrb r3, [r3, #0] 809c5f0: b2db uxtb r3, r3 809c5f2: 4abe ldr r2, [pc, #760] ; (809c8ec ) 809c5f4: 009b lsls r3, r3, #2 809c5f6: 4413 add r3, r2 809c5f8: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809c5fc: b2db uxtb r3, r3 809c5fe: f003 0307 and.w r3, r3, #7 809c602: 2b00 cmp r3, #0 809c604: f000 823a beq.w 809ca7c 809c608: 4bb9 ldr r3, [pc, #740] ; (809c8f0 ) 809c60a: edd3 7a01 vldr s15, [r3, #4] 809c60e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809c612: eef4 7a47 vcmp.f32 s15, s14 809c616: eef1 fa10 vmrs APSR_nzcv, fpscr 809c61a: f000 822f beq.w 809ca7c if(operand[Us2] < pardata.DIAGN_A[CURR_POINT][Us2]) 809c61e: 4bb4 ldr r3, [pc, #720] ; (809c8f0 ) 809c620: ed93 7a01 vldr s14, [r3, #4] 809c624: 4bb0 ldr r3, [pc, #704] ; (809c8e8 ) 809c626: 781b ldrb r3, [r3, #0] 809c628: b2db uxtb r3, r3 809c62a: 4ab0 ldr r2, [pc, #704] ; (809c8ec ) 809c62c: 011b lsls r3, r3, #4 809c62e: 4413 add r3, r2 809c630: f503 7378 add.w r3, r3, #992 ; 0x3e0 809c634: edd3 7a00 vldr s15, [r3] 809c638: eeb4 7ae7 vcmpe.f32 s14, s15 809c63c: eef1 fa10 vmrs APSR_nzcv, fpscr 809c640: d51d bpl.n 809c67e if(operand[Us2] < pardata.DIAGN_W[CURR_POINT][Us2]) 809c642: 4bab ldr r3, [pc, #684] ; (809c8f0 ) 809c644: ed93 7a01 vldr s14, [r3, #4] 809c648: 4ba7 ldr r3, [pc, #668] ; (809c8e8 ) 809c64a: 781b ldrb r3, [r3, #0] 809c64c: b2db uxtb r3, r3 809c64e: 4aa7 ldr r2, [pc, #668] ; (809c8ec ) 809c650: 011b lsls r3, r3, #4 809c652: 4413 add r3, r2 809c654: f503 7358 add.w r3, r3, #864 ; 0x360 809c658: edd3 7a00 vldr s15, [r3] 809c65c: eeb4 7ae7 vcmpe.f32 s14, s15 809c660: eef1 fa10 vmrs APSR_nzcv, fpscr 809c664: d505 bpl.n 809c672 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809c666: 49a3 ldr r1, [pc, #652] ; (809c8f4 ) 809c668: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809c66c: f7b8 fdce bl 805520c 809c670: e009 b.n 809c686 else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809c672: 49a0 ldr r1, [pc, #640] ; (809c8f4 ) 809c674: f06f 00ff mvn.w r0, #255 ; 0xff 809c678: f7b8 fdc8 bl 805520c 809c67c: e003 b.n 809c686 LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809c67e: 499d ldr r1, [pc, #628] ; (809c8f4 ) 809c680: 489d ldr r0, [pc, #628] ; (809c8f8 ) 809c682: f7b8 fdc3 bl 805520c f = operand[Us2]; 809c686: 4b9a ldr r3, [pc, #616] ; (809c8f0 ) 809c688: 685b ldr r3, [r3, #4] 809c68a: 647b str r3, [r7, #68] ; 0x44 if(((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) >= DIAGN_PEAK_FACTOR) 809c68c: 4b96 ldr r3, [pc, #600] ; (809c8e8 ) 809c68e: 781b ldrb r3, [r3, #0] 809c690: b2db uxtb r3, r3 809c692: 4a96 ldr r2, [pc, #600] ; (809c8ec ) 809c694: 009b lsls r3, r3, #2 809c696: 4413 add r3, r2 809c698: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809c69c: b2db uxtb r3, r3 809c69e: 08db lsrs r3, r3, #3 809c6a0: b2db uxtb r3, r3 809c6a2: f003 031f and.w r3, r3, #31 809c6a6: 2b07 cmp r3, #7 809c6a8: f300 8172 bgt.w 809c990 if(f >= 1000.0f) 809c6ac: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c6b0: ed9f 7a92 vldr s14, [pc, #584] ; 809c8fc 809c6b4: eef4 7ac7 vcmpe.f32 s15, s14 809c6b8: eef1 fa10 vmrs APSR_nzcv, fpscr 809c6bc: db68 blt.n 809c790 f *= 0.001f; 809c6be: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c6c2: ed9f 7a8f vldr s14, [pc, #572] ; 809c900 809c6c6: ee67 7a87 vmul.f32 s15, s15, s14 809c6ca: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_ACC) 809c6ce: 4b86 ldr r3, [pc, #536] ; (809c8e8 ) 809c6d0: 781b ldrb r3, [r3, #0] 809c6d2: b2db uxtb r3, r3 809c6d4: 4a85 ldr r2, [pc, #532] ; (809c8ec ) 809c6d6: 009b lsls r3, r3, #2 809c6d8: 4413 add r3, r2 809c6da: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809c6de: b2db uxtb r3, r3 809c6e0: f003 0307 and.w r3, r3, #7 809c6e4: 2b01 cmp r3, #1 809c6e6: d112 bne.n 809c70e if(pardata.LANG == RUS) 809c6e8: 4b80 ldr r3, [pc, #512] ; (809c8ec ) 809c6ea: 7b1b ldrb r3, [r3, #12] 809c6ec: b2db uxtb r3, r3 809c6ee: 2b00 cmp r3, #0 809c6f0: d106 bne.n 809c700 BSP_LCD_DisplayStringAt(170, 137, "kì/c^", LEFT_MODE); 809c6f2: 2303 movs r3, #3 809c6f4: 4a83 ldr r2, [pc, #524] ; (809c904 ) 809c6f6: 2189 movs r1, #137 ; 0x89 809c6f8: 20aa movs r0, #170 ; 0xaa 809c6fa: f7b8 fe4d bl 8055398 809c6fe: e147 b.n 809c990 else BSP_LCD_DisplayStringAt(170, 137, "km/s^", LEFT_MODE); 809c700: 2303 movs r3, #3 809c702: 4a81 ldr r2, [pc, #516] ; (809c908 ) 809c704: 2189 movs r1, #137 ; 0x89 809c706: 20aa movs r0, #170 ; 0xaa 809c708: f7b8 fe46 bl 8055398 809c70c: e140 b.n 809c990 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_VEL) 809c70e: 4b76 ldr r3, [pc, #472] ; (809c8e8 ) 809c710: 781b ldrb r3, [r3, #0] 809c712: b2db uxtb r3, r3 809c714: 4a75 ldr r2, [pc, #468] ; (809c8ec ) 809c716: 009b lsls r3, r3, #2 809c718: 4413 add r3, r2 809c71a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809c71e: b2db uxtb r3, r3 809c720: f003 0307 and.w r3, r3, #7 809c724: 2b02 cmp r3, #2 809c726: d112 bne.n 809c74e if(pardata.LANG == RUS) 809c728: 4b70 ldr r3, [pc, #448] ; (809c8ec ) 809c72a: 7b1b ldrb r3, [r3, #12] 809c72c: b2db uxtb r3, r3 809c72e: 2b00 cmp r3, #0 809c730: d106 bne.n 809c740 BSP_LCD_DisplayStringAt(170, 137, "ì/c", LEFT_MODE); 809c732: 2303 movs r3, #3 809c734: 4a75 ldr r2, [pc, #468] ; (809c90c ) 809c736: 2189 movs r1, #137 ; 0x89 809c738: 20aa movs r0, #170 ; 0xaa 809c73a: f7b8 fe2d bl 8055398 809c73e: e127 b.n 809c990 else BSP_LCD_DisplayStringAt(170, 137, "m/s", LEFT_MODE); 809c740: 2303 movs r3, #3 809c742: 4a73 ldr r2, [pc, #460] ; (809c910 ) 809c744: 2189 movs r1, #137 ; 0x89 809c746: 20aa movs r0, #170 ; 0xaa 809c748: f7b8 fe26 bl 8055398 809c74c: e120 b.n 809c990 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_DIS) 809c74e: 4b66 ldr r3, [pc, #408] ; (809c8e8 ) 809c750: 781b ldrb r3, [r3, #0] 809c752: b2db uxtb r3, r3 809c754: 4a65 ldr r2, [pc, #404] ; (809c8ec ) 809c756: 009b lsls r3, r3, #2 809c758: 4413 add r3, r2 809c75a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809c75e: b2db uxtb r3, r3 809c760: f003 0307 and.w r3, r3, #7 809c764: 2b04 cmp r3, #4 809c766: f040 8113 bne.w 809c990 if(pardata.LANG == RUS) 809c76a: 4b60 ldr r3, [pc, #384] ; (809c8ec ) 809c76c: 7b1b ldrb r3, [r3, #12] 809c76e: b2db uxtb r3, r3 809c770: 2b00 cmp r3, #0 809c772: d106 bne.n 809c782 BSP_LCD_DisplayStringAt(170, 137, "ìì", LEFT_MODE); 809c774: 2303 movs r3, #3 809c776: 4a67 ldr r2, [pc, #412] ; (809c914 ) 809c778: 2189 movs r1, #137 ; 0x89 809c77a: 20aa movs r0, #170 ; 0xaa 809c77c: f7b8 fe0c bl 8055398 809c780: e106 b.n 809c990 else BSP_LCD_DisplayStringAt(170, 137, "mm", LEFT_MODE); 809c782: 2303 movs r3, #3 809c784: 4a64 ldr r2, [pc, #400] ; (809c918 ) 809c786: 2189 movs r1, #137 ; 0x89 809c788: 20aa movs r0, #170 ; 0xaa 809c78a: f7b8 fe05 bl 8055398 809c78e: e0ff b.n 809c990 if(f >= 0.1f) 809c790: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c794: ed9f 7a61 vldr s14, [pc, #388] ; 809c91c 809c798: eef4 7ac7 vcmpe.f32 s15, s14 809c79c: eef1 fa10 vmrs APSR_nzcv, fpscr 809c7a0: db60 blt.n 809c864 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_ACC) 809c7a2: 4b51 ldr r3, [pc, #324] ; (809c8e8 ) 809c7a4: 781b ldrb r3, [r3, #0] 809c7a6: b2db uxtb r3, r3 809c7a8: 4a50 ldr r2, [pc, #320] ; (809c8ec ) 809c7aa: 009b lsls r3, r3, #2 809c7ac: 4413 add r3, r2 809c7ae: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809c7b2: b2db uxtb r3, r3 809c7b4: f003 0307 and.w r3, r3, #7 809c7b8: 2b01 cmp r3, #1 809c7ba: d112 bne.n 809c7e2 if(pardata.LANG == RUS) 809c7bc: 4b4b ldr r3, [pc, #300] ; (809c8ec ) 809c7be: 7b1b ldrb r3, [r3, #12] 809c7c0: b2db uxtb r3, r3 809c7c2: 2b00 cmp r3, #0 809c7c4: d106 bne.n 809c7d4 BSP_LCD_DisplayStringAt(170, 137, "ì/c^", LEFT_MODE); 809c7c6: 2303 movs r3, #3 809c7c8: 4a55 ldr r2, [pc, #340] ; (809c920 ) 809c7ca: 2189 movs r1, #137 ; 0x89 809c7cc: 20aa movs r0, #170 ; 0xaa 809c7ce: f7b8 fde3 bl 8055398 809c7d2: e0dd b.n 809c990 else BSP_LCD_DisplayStringAt(170, 137, "m/s^", LEFT_MODE); 809c7d4: 2303 movs r3, #3 809c7d6: 4a53 ldr r2, [pc, #332] ; (809c924 ) 809c7d8: 2189 movs r1, #137 ; 0x89 809c7da: 20aa movs r0, #170 ; 0xaa 809c7dc: f7b8 fddc bl 8055398 809c7e0: e0d6 b.n 809c990 else if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_VEL) 809c7e2: 4b41 ldr r3, [pc, #260] ; (809c8e8 ) 809c7e4: 781b ldrb r3, [r3, #0] 809c7e6: b2db uxtb r3, r3 809c7e8: 4a40 ldr r2, [pc, #256] ; (809c8ec ) 809c7ea: 009b lsls r3, r3, #2 809c7ec: 4413 add r3, r2 809c7ee: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809c7f2: b2db uxtb r3, r3 809c7f4: f003 0307 and.w r3, r3, #7 809c7f8: 2b02 cmp r3, #2 809c7fa: d112 bne.n 809c822 if(pardata.LANG == RUS) 809c7fc: 4b3b ldr r3, [pc, #236] ; (809c8ec ) 809c7fe: 7b1b ldrb r3, [r3, #12] 809c800: b2db uxtb r3, r3 809c802: 2b00 cmp r3, #0 809c804: d106 bne.n 809c814 BSP_LCD_DisplayStringAt(170, 137, "ìì/c", LEFT_MODE); 809c806: 2303 movs r3, #3 809c808: 4a47 ldr r2, [pc, #284] ; (809c928 ) 809c80a: 2189 movs r1, #137 ; 0x89 809c80c: 20aa movs r0, #170 ; 0xaa 809c80e: f7b8 fdc3 bl 8055398 809c812: e0bd b.n 809c990 else BSP_LCD_DisplayStringAt(170, 137, "mm/s", LEFT_MODE); 809c814: 2303 movs r3, #3 809c816: 4a45 ldr r2, [pc, #276] ; (809c92c ) 809c818: 2189 movs r1, #137 ; 0x89 809c81a: 20aa movs r0, #170 ; 0xaa 809c81c: f7b8 fdbc bl 8055398 809c820: e0b6 b.n 809c990 else if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_DIS) 809c822: 4b31 ldr r3, [pc, #196] ; (809c8e8 ) 809c824: 781b ldrb r3, [r3, #0] 809c826: b2db uxtb r3, r3 809c828: 4a30 ldr r2, [pc, #192] ; (809c8ec ) 809c82a: 009b lsls r3, r3, #2 809c82c: 4413 add r3, r2 809c82e: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809c832: b2db uxtb r3, r3 809c834: f003 0307 and.w r3, r3, #7 809c838: 2b04 cmp r3, #4 809c83a: f040 80a9 bne.w 809c990 if(pardata.LANG == RUS) 809c83e: 4b2b ldr r3, [pc, #172] ; (809c8ec ) 809c840: 7b1b ldrb r3, [r3, #12] 809c842: b2db uxtb r3, r3 809c844: 2b00 cmp r3, #0 809c846: d106 bne.n 809c856 BSP_LCD_DisplayStringAt(170, 137, "ìkì", LEFT_MODE); 809c848: 2303 movs r3, #3 809c84a: 4a39 ldr r2, [pc, #228] ; (809c930 ) 809c84c: 2189 movs r1, #137 ; 0x89 809c84e: 20aa movs r0, #170 ; 0xaa 809c850: f7b8 fda2 bl 8055398 809c854: e09c b.n 809c990 else BSP_LCD_DisplayStringAt(170, 137, "um", LEFT_MODE); 809c856: 2303 movs r3, #3 809c858: 4a36 ldr r2, [pc, #216] ; (809c934 ) 809c85a: 2189 movs r1, #137 ; 0x89 809c85c: 20aa movs r0, #170 ; 0xaa 809c85e: f7b8 fd9b bl 8055398 809c862: e095 b.n 809c990 f *= 1000.0f; 809c864: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c868: ed9f 7a24 vldr s14, [pc, #144] ; 809c8fc 809c86c: ee67 7a87 vmul.f32 s15, s15, s14 809c870: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_ACC) 809c874: 4b1c ldr r3, [pc, #112] ; (809c8e8 ) 809c876: 781b ldrb r3, [r3, #0] 809c878: b2db uxtb r3, r3 809c87a: 4a1c ldr r2, [pc, #112] ; (809c8ec ) 809c87c: 009b lsls r3, r3, #2 809c87e: 4413 add r3, r2 809c880: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809c884: b2db uxtb r3, r3 809c886: f003 0307 and.w r3, r3, #7 809c88a: 2b01 cmp r3, #1 809c88c: d112 bne.n 809c8b4 if(pardata.LANG == RUS) 809c88e: 4b17 ldr r3, [pc, #92] ; (809c8ec ) 809c890: 7b1b ldrb r3, [r3, #12] 809c892: b2db uxtb r3, r3 809c894: 2b00 cmp r3, #0 809c896: d106 bne.n 809c8a6 BSP_LCD_DisplayStringAt(170, 137, "ìì/c^", LEFT_MODE); 809c898: 2303 movs r3, #3 809c89a: 4a27 ldr r2, [pc, #156] ; (809c938 ) 809c89c: 2189 movs r1, #137 ; 0x89 809c89e: 20aa movs r0, #170 ; 0xaa 809c8a0: f7b8 fd7a bl 8055398 809c8a4: e074 b.n 809c990 else BSP_LCD_DisplayStringAt(170, 137, "mm/s^", LEFT_MODE); 809c8a6: 2303 movs r3, #3 809c8a8: 4a24 ldr r2, [pc, #144] ; (809c93c ) 809c8aa: 2189 movs r1, #137 ; 0x89 809c8ac: 20aa movs r0, #170 ; 0xaa 809c8ae: f7b8 fd73 bl 8055398 809c8b2: e06d b.n 809c990 else if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_VEL) 809c8b4: 4b0c ldr r3, [pc, #48] ; (809c8e8 ) 809c8b6: 781b ldrb r3, [r3, #0] 809c8b8: b2db uxtb r3, r3 809c8ba: 4a0c ldr r2, [pc, #48] ; (809c8ec ) 809c8bc: 009b lsls r3, r3, #2 809c8be: 4413 add r3, r2 809c8c0: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809c8c4: b2db uxtb r3, r3 809c8c6: f003 0307 and.w r3, r3, #7 809c8ca: 2b02 cmp r3, #2 809c8cc: d141 bne.n 809c952 if(pardata.LANG == RUS) 809c8ce: 4b07 ldr r3, [pc, #28] ; (809c8ec ) 809c8d0: 7b1b ldrb r3, [r3, #12] 809c8d2: b2db uxtb r3, r3 809c8d4: 2b00 cmp r3, #0 809c8d6: d135 bne.n 809c944 BSP_LCD_DisplayStringAt(170, 137, "ìêì/c", LEFT_MODE); 809c8d8: 2303 movs r3, #3 809c8da: 4a19 ldr r2, [pc, #100] ; (809c940 ) 809c8dc: 2189 movs r1, #137 ; 0x89 809c8de: 20aa movs r0, #170 ; 0xaa 809c8e0: f7b8 fd5a bl 8055398 809c8e4: e054 b.n 809c990 809c8e6: bf00 nop 809c8e8: 2002105d .word 0x2002105d 809c8ec: 20023eb8 .word 0x20023eb8 809c8f0: 20026938 .word 0x20026938 809c8f4: ff0a0f1f .word 0xff0a0f1f 809c8f8: ffff0000 .word 0xffff0000 809c8fc: 447a0000 .word 0x447a0000 809c900: 3a83126f .word 0x3a83126f 809c904: 080d7408 .word 0x080d7408 809c908: 080d7410 .word 0x080d7410 809c90c: 080d7418 .word 0x080d7418 809c910: 080d741c .word 0x080d741c 809c914: 080d7420 .word 0x080d7420 809c918: 080d7424 .word 0x080d7424 809c91c: 3dcccccd .word 0x3dcccccd 809c920: 080d7428 .word 0x080d7428 809c924: 080d7430 .word 0x080d7430 809c928: 080d7438 .word 0x080d7438 809c92c: 080d7440 .word 0x080d7440 809c930: 080d7448 .word 0x080d7448 809c934: 080d744c .word 0x080d744c 809c938: 080d7450 .word 0x080d7450 809c93c: 080d7458 .word 0x080d7458 809c940: 080d7460 .word 0x080d7460 else BSP_LCD_DisplayStringAt(170, 137, "mkm/s", LEFT_MODE); 809c944: 2303 movs r3, #3 809c946: 4acb ldr r2, [pc, #812] ; (809cc74 ) 809c948: 2189 movs r1, #137 ; 0x89 809c94a: 20aa movs r0, #170 ; 0xaa 809c94c: f7b8 fd24 bl 8055398 809c950: e01e b.n 809c990 else if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_DIS) 809c952: 4bc9 ldr r3, [pc, #804] ; (809cc78 ) 809c954: 781b ldrb r3, [r3, #0] 809c956: b2db uxtb r3, r3 809c958: 4ac8 ldr r2, [pc, #800] ; (809cc7c ) 809c95a: 009b lsls r3, r3, #2 809c95c: 4413 add r3, r2 809c95e: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809c962: b2db uxtb r3, r3 809c964: f003 0307 and.w r3, r3, #7 809c968: 2b04 cmp r3, #4 809c96a: d111 bne.n 809c990 if(pardata.LANG == RUS) 809c96c: 4bc3 ldr r3, [pc, #780] ; (809cc7c ) 809c96e: 7b1b ldrb r3, [r3, #12] 809c970: b2db uxtb r3, r3 809c972: 2b00 cmp r3, #0 809c974: d106 bne.n 809c984 BSP_LCD_DisplayStringAt(170, 137, "íì", LEFT_MODE); 809c976: 2303 movs r3, #3 809c978: 4ac1 ldr r2, [pc, #772] ; (809cc80 ) 809c97a: 2189 movs r1, #137 ; 0x89 809c97c: 20aa movs r0, #170 ; 0xaa 809c97e: f7b8 fd0b bl 8055398 809c982: e005 b.n 809c990 else BSP_LCD_DisplayStringAt(170, 137, "nm", LEFT_MODE); 809c984: 2303 movs r3, #3 809c986: 4abf ldr r2, [pc, #764] ; (809cc84 ) 809c988: 2189 movs r1, #137 ; 0x89 809c98a: 20aa movs r0, #170 ; 0xaa 809c98c: f7b8 fd04 bl 8055398 if(f < 10.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -4), RIGHT_MODE); 809c990: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c994: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809c998: eef4 7ac7 vcmpe.f32 s15, s14 809c99c: eef1 fa10 vmrs APSR_nzcv, fpscr 809c9a0: d50e bpl.n 809c9c0 809c9a2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c9a6: f06f 0003 mvn.w r0, #3 809c9aa: eeb0 0a67 vmov.f32 s0, s15 809c9ae: f7cb fbf7 bl 80681a0 809c9b2: 4602 mov r2, r0 809c9b4: 2302 movs r3, #2 809c9b6: 2189 movs r1, #137 ; 0x89 809c9b8: 20a0 movs r0, #160 ; 0xa0 809c9ba: f7b8 fced bl 8055398 809c9be: e05d b.n 809ca7c else if(f < 100.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809c9c0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c9c4: ed9f 7ab0 vldr s14, [pc, #704] ; 809cc88 809c9c8: eef4 7ac7 vcmpe.f32 s15, s14 809c9cc: eef1 fa10 vmrs APSR_nzcv, fpscr 809c9d0: d50e bpl.n 809c9f0 809c9d2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c9d6: f06f 0002 mvn.w r0, #2 809c9da: eeb0 0a67 vmov.f32 s0, s15 809c9de: f7cb fbdf bl 80681a0 809c9e2: 4602 mov r2, r0 809c9e4: 2302 movs r3, #2 809c9e6: 2189 movs r1, #137 ; 0x89 809c9e8: 20a0 movs r0, #160 ; 0xa0 809c9ea: f7b8 fcd5 bl 8055398 809c9ee: e045 b.n 809ca7c else if(f < 1000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809c9f0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c9f4: ed9f 7aa5 vldr s14, [pc, #660] ; 809cc8c 809c9f8: eef4 7ac7 vcmpe.f32 s15, s14 809c9fc: eef1 fa10 vmrs APSR_nzcv, fpscr 809ca00: d50e bpl.n 809ca20 809ca02: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ca06: f06f 0001 mvn.w r0, #1 809ca0a: eeb0 0a67 vmov.f32 s0, s15 809ca0e: f7cb fbc7 bl 80681a0 809ca12: 4602 mov r2, r0 809ca14: 2302 movs r3, #2 809ca16: 2189 movs r1, #137 ; 0x89 809ca18: 20a0 movs r0, #160 ; 0xa0 809ca1a: f7b8 fcbd bl 8055398 809ca1e: e02d b.n 809ca7c else if(f < 10000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -1), RIGHT_MODE); 809ca20: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ca24: ed9f 7a9a vldr s14, [pc, #616] ; 809cc90 809ca28: eef4 7ac7 vcmpe.f32 s15, s14 809ca2c: eef1 fa10 vmrs APSR_nzcv, fpscr 809ca30: d50e bpl.n 809ca50 809ca32: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ca36: f04f 30ff mov.w r0, #4294967295 809ca3a: eeb0 0a67 vmov.f32 s0, s15 809ca3e: f7cb fbaf bl 80681a0 809ca42: 4602 mov r2, r0 809ca44: 2302 movs r3, #2 809ca46: 2189 movs r1, #137 ; 0x89 809ca48: 20a0 movs r0, #160 ; 0xa0 809ca4a: f7b8 fca5 bl 8055398 809ca4e: e015 b.n 809ca7c else if(f < 100000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, 0), RIGHT_MODE); 809ca50: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ca54: ed9f 7a8f vldr s14, [pc, #572] ; 809cc94 809ca58: eef4 7ac7 vcmpe.f32 s15, s14 809ca5c: eef1 fa10 vmrs APSR_nzcv, fpscr 809ca60: d50c bpl.n 809ca7c 809ca62: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ca66: 2000 movs r0, #0 809ca68: eeb0 0a67 vmov.f32 s0, s15 809ca6c: f7cb fb98 bl 80681a0 809ca70: 4602 mov r2, r0 809ca72: 2302 movs r3, #2 809ca74: 2189 movs r1, #137 ; 0x89 809ca76: 20a0 movs r0, #160 ; 0xa0 809ca78: f7b8 fc8e bl 8055398 if(((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) != DIAGN_NO) && (operand[Us3] != -1.0f)) 809ca7c: 4b7e ldr r3, [pc, #504] ; (809cc78 ) 809ca7e: 781b ldrb r3, [r3, #0] 809ca80: b2db uxtb r3, r3 809ca82: 4a7e ldr r2, [pc, #504] ; (809cc7c ) 809ca84: 009b lsls r3, r3, #2 809ca86: 4413 add r3, r2 809ca88: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809ca8c: b2db uxtb r3, r3 809ca8e: f003 0307 and.w r3, r3, #7 809ca92: 2b00 cmp r3, #0 809ca94: f000 8237 beq.w 809cf06 809ca98: 4b7f ldr r3, [pc, #508] ; (809cc98 ) 809ca9a: edd3 7a02 vldr s15, [r3, #8] 809ca9e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809caa2: eef4 7a47 vcmp.f32 s15, s14 809caa6: eef1 fa10 vmrs APSR_nzcv, fpscr 809caaa: f000 822c beq.w 809cf06 if(operand[Us3] < pardata.DIAGN_A[CURR_POINT][Us3]) 809caae: 4b7a ldr r3, [pc, #488] ; (809cc98 ) 809cab0: ed93 7a02 vldr s14, [r3, #8] 809cab4: 4b70 ldr r3, [pc, #448] ; (809cc78 ) 809cab6: 781b ldrb r3, [r3, #0] 809cab8: b2db uxtb r3, r3 809caba: 4a70 ldr r2, [pc, #448] ; (809cc7c ) 809cabc: 333e adds r3, #62 ; 0x3e 809cabe: 011b lsls r3, r3, #4 809cac0: 4413 add r3, r2 809cac2: 3304 adds r3, #4 809cac4: edd3 7a00 vldr s15, [r3] 809cac8: eeb4 7ae7 vcmpe.f32 s14, s15 809cacc: eef1 fa10 vmrs APSR_nzcv, fpscr 809cad0: d51d bpl.n 809cb0e if(operand[Us3] < pardata.DIAGN_W[CURR_POINT][Us3]) 809cad2: 4b71 ldr r3, [pc, #452] ; (809cc98 ) 809cad4: ed93 7a02 vldr s14, [r3, #8] 809cad8: 4b67 ldr r3, [pc, #412] ; (809cc78 ) 809cada: 781b ldrb r3, [r3, #0] 809cadc: b2db uxtb r3, r3 809cade: 4a67 ldr r2, [pc, #412] ; (809cc7c ) 809cae0: 3336 adds r3, #54 ; 0x36 809cae2: 011b lsls r3, r3, #4 809cae4: 4413 add r3, r2 809cae6: 3304 adds r3, #4 809cae8: edd3 7a00 vldr s15, [r3] 809caec: eeb4 7ae7 vcmpe.f32 s14, s15 809caf0: eef1 fa10 vmrs APSR_nzcv, fpscr 809caf4: d505 bpl.n 809cb02 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809caf6: 4969 ldr r1, [pc, #420] ; (809cc9c ) 809caf8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809cafc: f7b8 fb86 bl 805520c 809cb00: e009 b.n 809cb16 else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809cb02: 4966 ldr r1, [pc, #408] ; (809cc9c ) 809cb04: f06f 00ff mvn.w r0, #255 ; 0xff 809cb08: f7b8 fb80 bl 805520c 809cb0c: e003 b.n 809cb16 LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809cb0e: 4963 ldr r1, [pc, #396] ; (809cc9c ) 809cb10: 4863 ldr r0, [pc, #396] ; (809cca0 ) 809cb12: f7b8 fb7b bl 805520c f = operand[Us3]; 809cb16: 4b60 ldr r3, [pc, #384] ; (809cc98 ) 809cb18: 689b ldr r3, [r3, #8] 809cb1a: 647b str r3, [r7, #68] ; 0x44 if(((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) >= DIAGN_PEAK_FACTOR) 809cb1c: 4b56 ldr r3, [pc, #344] ; (809cc78 ) 809cb1e: 781b ldrb r3, [r3, #0] 809cb20: b2db uxtb r3, r3 809cb22: 4a56 ldr r2, [pc, #344] ; (809cc7c ) 809cb24: 009b lsls r3, r3, #2 809cb26: 4413 add r3, r2 809cb28: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809cb2c: b2db uxtb r3, r3 809cb2e: 08db lsrs r3, r3, #3 809cb30: b2db uxtb r3, r3 809cb32: f003 031f and.w r3, r3, #31 809cb36: 2b07 cmp r3, #7 809cb38: f300 816f bgt.w 809ce1a if(f >= 1000.0f) 809cb3c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cb40: ed9f 7a52 vldr s14, [pc, #328] ; 809cc8c 809cb44: eef4 7ac7 vcmpe.f32 s15, s14 809cb48: eef1 fa10 vmrs APSR_nzcv, fpscr 809cb4c: db68 blt.n 809cc20 f *= 0.001f; 809cb4e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cb52: ed9f 7a54 vldr s14, [pc, #336] ; 809cca4 809cb56: ee67 7a87 vmul.f32 s15, s15, s14 809cb5a: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_ACC) 809cb5e: 4b46 ldr r3, [pc, #280] ; (809cc78 ) 809cb60: 781b ldrb r3, [r3, #0] 809cb62: b2db uxtb r3, r3 809cb64: 4a45 ldr r2, [pc, #276] ; (809cc7c ) 809cb66: 009b lsls r3, r3, #2 809cb68: 4413 add r3, r2 809cb6a: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809cb6e: b2db uxtb r3, r3 809cb70: f003 0307 and.w r3, r3, #7 809cb74: 2b01 cmp r3, #1 809cb76: d112 bne.n 809cb9e if(pardata.LANG == RUS) 809cb78: 4b40 ldr r3, [pc, #256] ; (809cc7c ) 809cb7a: 7b1b ldrb r3, [r3, #12] 809cb7c: b2db uxtb r3, r3 809cb7e: 2b00 cmp r3, #0 809cb80: d106 bne.n 809cb90 BSP_LCD_DisplayStringAt(170, 173, "kì/c^", LEFT_MODE); 809cb82: 2303 movs r3, #3 809cb84: 4a48 ldr r2, [pc, #288] ; (809cca8 ) 809cb86: 21ad movs r1, #173 ; 0xad 809cb88: 20aa movs r0, #170 ; 0xaa 809cb8a: f7b8 fc05 bl 8055398 809cb8e: e144 b.n 809ce1a else BSP_LCD_DisplayStringAt(170, 173, "km/s^", LEFT_MODE); 809cb90: 2303 movs r3, #3 809cb92: 4a46 ldr r2, [pc, #280] ; (809ccac ) 809cb94: 21ad movs r1, #173 ; 0xad 809cb96: 20aa movs r0, #170 ; 0xaa 809cb98: f7b8 fbfe bl 8055398 809cb9c: e13d b.n 809ce1a if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_VEL) 809cb9e: 4b36 ldr r3, [pc, #216] ; (809cc78 ) 809cba0: 781b ldrb r3, [r3, #0] 809cba2: b2db uxtb r3, r3 809cba4: 4a35 ldr r2, [pc, #212] ; (809cc7c ) 809cba6: 009b lsls r3, r3, #2 809cba8: 4413 add r3, r2 809cbaa: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809cbae: b2db uxtb r3, r3 809cbb0: f003 0307 and.w r3, r3, #7 809cbb4: 2b02 cmp r3, #2 809cbb6: d112 bne.n 809cbde if(pardata.LANG == RUS) 809cbb8: 4b30 ldr r3, [pc, #192] ; (809cc7c ) 809cbba: 7b1b ldrb r3, [r3, #12] 809cbbc: b2db uxtb r3, r3 809cbbe: 2b00 cmp r3, #0 809cbc0: d106 bne.n 809cbd0 BSP_LCD_DisplayStringAt(170, 173, "ì/c", LEFT_MODE); 809cbc2: 2303 movs r3, #3 809cbc4: 4a3a ldr r2, [pc, #232] ; (809ccb0 ) 809cbc6: 21ad movs r1, #173 ; 0xad 809cbc8: 20aa movs r0, #170 ; 0xaa 809cbca: f7b8 fbe5 bl 8055398 809cbce: e124 b.n 809ce1a else BSP_LCD_DisplayStringAt(170, 173, "m/s", LEFT_MODE); 809cbd0: 2303 movs r3, #3 809cbd2: 4a38 ldr r2, [pc, #224] ; (809ccb4 ) 809cbd4: 21ad movs r1, #173 ; 0xad 809cbd6: 20aa movs r0, #170 ; 0xaa 809cbd8: f7b8 fbde bl 8055398 809cbdc: e11d b.n 809ce1a if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_DIS) 809cbde: 4b26 ldr r3, [pc, #152] ; (809cc78 ) 809cbe0: 781b ldrb r3, [r3, #0] 809cbe2: b2db uxtb r3, r3 809cbe4: 4a25 ldr r2, [pc, #148] ; (809cc7c ) 809cbe6: 009b lsls r3, r3, #2 809cbe8: 4413 add r3, r2 809cbea: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809cbee: b2db uxtb r3, r3 809cbf0: f003 0307 and.w r3, r3, #7 809cbf4: 2b04 cmp r3, #4 809cbf6: f040 8110 bne.w 809ce1a if(pardata.LANG == RUS) 809cbfa: 4b20 ldr r3, [pc, #128] ; (809cc7c ) 809cbfc: 7b1b ldrb r3, [r3, #12] 809cbfe: b2db uxtb r3, r3 809cc00: 2b00 cmp r3, #0 809cc02: d106 bne.n 809cc12 BSP_LCD_DisplayStringAt(170, 173, "ìì", LEFT_MODE); 809cc04: 2303 movs r3, #3 809cc06: 4a2c ldr r2, [pc, #176] ; (809ccb8 ) 809cc08: 21ad movs r1, #173 ; 0xad 809cc0a: 20aa movs r0, #170 ; 0xaa 809cc0c: f7b8 fbc4 bl 8055398 809cc10: e103 b.n 809ce1a else BSP_LCD_DisplayStringAt(170, 173, "mm", LEFT_MODE); 809cc12: 2303 movs r3, #3 809cc14: 4a29 ldr r2, [pc, #164] ; (809ccbc ) 809cc16: 21ad movs r1, #173 ; 0xad 809cc18: 20aa movs r0, #170 ; 0xaa 809cc1a: f7b8 fbbd bl 8055398 809cc1e: e0fc b.n 809ce1a if(f >= 0.1f) 809cc20: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cc24: ed9f 7a26 vldr s14, [pc, #152] ; 809ccc0 809cc28: eef4 7ac7 vcmpe.f32 s15, s14 809cc2c: eef1 fa10 vmrs APSR_nzcv, fpscr 809cc30: f2c0 808c blt.w 809cd4c if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_ACC) 809cc34: 4b10 ldr r3, [pc, #64] ; (809cc78 ) 809cc36: 781b ldrb r3, [r3, #0] 809cc38: b2db uxtb r3, r3 809cc3a: 4a10 ldr r2, [pc, #64] ; (809cc7c ) 809cc3c: 009b lsls r3, r3, #2 809cc3e: 4413 add r3, r2 809cc40: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809cc44: b2db uxtb r3, r3 809cc46: f003 0307 and.w r3, r3, #7 809cc4a: 2b01 cmp r3, #1 809cc4c: d13e bne.n 809cccc if(pardata.LANG == RUS) 809cc4e: 4b0b ldr r3, [pc, #44] ; (809cc7c ) 809cc50: 7b1b ldrb r3, [r3, #12] 809cc52: b2db uxtb r3, r3 809cc54: 2b00 cmp r3, #0 809cc56: d106 bne.n 809cc66 BSP_LCD_DisplayStringAt(170, 173, "ì/c^", LEFT_MODE); 809cc58: 2303 movs r3, #3 809cc5a: 4a1a ldr r2, [pc, #104] ; (809ccc4 ) 809cc5c: 21ad movs r1, #173 ; 0xad 809cc5e: 20aa movs r0, #170 ; 0xaa 809cc60: f7b8 fb9a bl 8055398 809cc64: e0d9 b.n 809ce1a else BSP_LCD_DisplayStringAt(170, 173, "m/s^", LEFT_MODE); 809cc66: 2303 movs r3, #3 809cc68: 4a17 ldr r2, [pc, #92] ; (809ccc8 ) 809cc6a: 21ad movs r1, #173 ; 0xad 809cc6c: 20aa movs r0, #170 ; 0xaa 809cc6e: f7b8 fb93 bl 8055398 809cc72: e0d2 b.n 809ce1a 809cc74: 080d7468 .word 0x080d7468 809cc78: 2002105d .word 0x2002105d 809cc7c: 20023eb8 .word 0x20023eb8 809cc80: 080d7470 .word 0x080d7470 809cc84: 080d7474 .word 0x080d7474 809cc88: 42c80000 .word 0x42c80000 809cc8c: 447a0000 .word 0x447a0000 809cc90: 461c4000 .word 0x461c4000 809cc94: 47c35000 .word 0x47c35000 809cc98: 20026938 .word 0x20026938 809cc9c: ff0a0f1f .word 0xff0a0f1f 809cca0: ffff0000 .word 0xffff0000 809cca4: 3a83126f .word 0x3a83126f 809cca8: 080d7408 .word 0x080d7408 809ccac: 080d7410 .word 0x080d7410 809ccb0: 080d7418 .word 0x080d7418 809ccb4: 080d741c .word 0x080d741c 809ccb8: 080d7420 .word 0x080d7420 809ccbc: 080d7424 .word 0x080d7424 809ccc0: 3dcccccd .word 0x3dcccccd 809ccc4: 080d7428 .word 0x080d7428 809ccc8: 080d7430 .word 0x080d7430 else if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_VEL) 809cccc: 4bbc ldr r3, [pc, #752] ; (809cfc0 ) 809ccce: 781b ldrb r3, [r3, #0] 809ccd0: b2db uxtb r3, r3 809ccd2: 4abc ldr r2, [pc, #752] ; (809cfc4 ) 809ccd4: 009b lsls r3, r3, #2 809ccd6: 4413 add r3, r2 809ccd8: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809ccdc: b2db uxtb r3, r3 809ccde: f003 0307 and.w r3, r3, #7 809cce2: 2b02 cmp r3, #2 809cce4: d112 bne.n 809cd0c if(pardata.LANG == RUS) 809cce6: 4bb7 ldr r3, [pc, #732] ; (809cfc4 ) 809cce8: 7b1b ldrb r3, [r3, #12] 809ccea: b2db uxtb r3, r3 809ccec: 2b00 cmp r3, #0 809ccee: d106 bne.n 809ccfe BSP_LCD_DisplayStringAt(170, 173, "ìì/c", LEFT_MODE); 809ccf0: 2303 movs r3, #3 809ccf2: 4ab5 ldr r2, [pc, #724] ; (809cfc8 ) 809ccf4: 21ad movs r1, #173 ; 0xad 809ccf6: 20aa movs r0, #170 ; 0xaa 809ccf8: f7b8 fb4e bl 8055398 809ccfc: e08d b.n 809ce1a else BSP_LCD_DisplayStringAt(170, 173, "mm/s", LEFT_MODE); 809ccfe: 2303 movs r3, #3 809cd00: 4ab2 ldr r2, [pc, #712] ; (809cfcc ) 809cd02: 21ad movs r1, #173 ; 0xad 809cd04: 20aa movs r0, #170 ; 0xaa 809cd06: f7b8 fb47 bl 8055398 809cd0a: e086 b.n 809ce1a else if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_DIS) 809cd0c: 4bac ldr r3, [pc, #688] ; (809cfc0 ) 809cd0e: 781b ldrb r3, [r3, #0] 809cd10: b2db uxtb r3, r3 809cd12: 4aac ldr r2, [pc, #688] ; (809cfc4 ) 809cd14: 009b lsls r3, r3, #2 809cd16: 4413 add r3, r2 809cd18: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809cd1c: b2db uxtb r3, r3 809cd1e: f003 0307 and.w r3, r3, #7 809cd22: 2b04 cmp r3, #4 809cd24: d179 bne.n 809ce1a if(pardata.LANG == RUS) 809cd26: 4ba7 ldr r3, [pc, #668] ; (809cfc4 ) 809cd28: 7b1b ldrb r3, [r3, #12] 809cd2a: b2db uxtb r3, r3 809cd2c: 2b00 cmp r3, #0 809cd2e: d106 bne.n 809cd3e BSP_LCD_DisplayStringAt(170, 173, "ìkì", LEFT_MODE); 809cd30: 2303 movs r3, #3 809cd32: 4aa7 ldr r2, [pc, #668] ; (809cfd0 ) 809cd34: 21ad movs r1, #173 ; 0xad 809cd36: 20aa movs r0, #170 ; 0xaa 809cd38: f7b8 fb2e bl 8055398 809cd3c: e06d b.n 809ce1a else BSP_LCD_DisplayStringAt(170, 173, "um", LEFT_MODE); 809cd3e: 2303 movs r3, #3 809cd40: 4aa4 ldr r2, [pc, #656] ; (809cfd4 ) 809cd42: 21ad movs r1, #173 ; 0xad 809cd44: 20aa movs r0, #170 ; 0xaa 809cd46: f7b8 fb27 bl 8055398 809cd4a: e066 b.n 809ce1a f *= 1000.0f; 809cd4c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cd50: ed9f 7aa1 vldr s14, [pc, #644] ; 809cfd8 809cd54: ee67 7a87 vmul.f32 s15, s15, s14 809cd58: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_ACC) 809cd5c: 4b98 ldr r3, [pc, #608] ; (809cfc0 ) 809cd5e: 781b ldrb r3, [r3, #0] 809cd60: b2db uxtb r3, r3 809cd62: 4a98 ldr r2, [pc, #608] ; (809cfc4 ) 809cd64: 009b lsls r3, r3, #2 809cd66: 4413 add r3, r2 809cd68: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809cd6c: b2db uxtb r3, r3 809cd6e: f003 0307 and.w r3, r3, #7 809cd72: 2b01 cmp r3, #1 809cd74: d112 bne.n 809cd9c if(pardata.LANG == RUS) 809cd76: 4b93 ldr r3, [pc, #588] ; (809cfc4 ) 809cd78: 7b1b ldrb r3, [r3, #12] 809cd7a: b2db uxtb r3, r3 809cd7c: 2b00 cmp r3, #0 809cd7e: d106 bne.n 809cd8e BSP_LCD_DisplayStringAt(170, 173, "ìêÂ", LEFT_MODE); 809cd80: 2303 movs r3, #3 809cd82: 4a96 ldr r2, [pc, #600] ; (809cfdc ) 809cd84: 21ad movs r1, #173 ; 0xad 809cd86: 20aa movs r0, #170 ; 0xaa 809cd88: f7b8 fb06 bl 8055398 809cd8c: e045 b.n 809ce1a else BSP_LCD_DisplayStringAt(170, 173, "uV", LEFT_MODE); 809cd8e: 2303 movs r3, #3 809cd90: 4a93 ldr r2, [pc, #588] ; (809cfe0 ) 809cd92: 21ad movs r1, #173 ; 0xad 809cd94: 20aa movs r0, #170 ; 0xaa 809cd96: f7b8 faff bl 8055398 809cd9a: e03e b.n 809ce1a else if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_VEL) 809cd9c: 4b88 ldr r3, [pc, #544] ; (809cfc0 ) 809cd9e: 781b ldrb r3, [r3, #0] 809cda0: b2db uxtb r3, r3 809cda2: 4a88 ldr r2, [pc, #544] ; (809cfc4 ) 809cda4: 009b lsls r3, r3, #2 809cda6: 4413 add r3, r2 809cda8: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809cdac: b2db uxtb r3, r3 809cdae: f003 0307 and.w r3, r3, #7 809cdb2: 2b02 cmp r3, #2 809cdb4: d112 bne.n 809cddc if(pardata.LANG == RUS) 809cdb6: 4b83 ldr r3, [pc, #524] ; (809cfc4 ) 809cdb8: 7b1b ldrb r3, [r3, #12] 809cdba: b2db uxtb r3, r3 809cdbc: 2b00 cmp r3, #0 809cdbe: d106 bne.n 809cdce BSP_LCD_DisplayStringAt(170, 173, "ìêì/c", LEFT_MODE); 809cdc0: 2303 movs r3, #3 809cdc2: 4a88 ldr r2, [pc, #544] ; (809cfe4 ) 809cdc4: 21ad movs r1, #173 ; 0xad 809cdc6: 20aa movs r0, #170 ; 0xaa 809cdc8: f7b8 fae6 bl 8055398 809cdcc: e025 b.n 809ce1a else BSP_LCD_DisplayStringAt(170, 173, "mkm/s", LEFT_MODE); 809cdce: 2303 movs r3, #3 809cdd0: 4a85 ldr r2, [pc, #532] ; (809cfe8 ) 809cdd2: 21ad movs r1, #173 ; 0xad 809cdd4: 20aa movs r0, #170 ; 0xaa 809cdd6: f7b8 fadf bl 8055398 809cdda: e01e b.n 809ce1a else if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_DIS) 809cddc: 4b78 ldr r3, [pc, #480] ; (809cfc0 ) 809cdde: 781b ldrb r3, [r3, #0] 809cde0: b2db uxtb r3, r3 809cde2: 4a78 ldr r2, [pc, #480] ; (809cfc4 ) 809cde4: 009b lsls r3, r3, #2 809cde6: 4413 add r3, r2 809cde8: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809cdec: b2db uxtb r3, r3 809cdee: f003 0307 and.w r3, r3, #7 809cdf2: 2b04 cmp r3, #4 809cdf4: d111 bne.n 809ce1a if(pardata.LANG == RUS) 809cdf6: 4b73 ldr r3, [pc, #460] ; (809cfc4 ) 809cdf8: 7b1b ldrb r3, [r3, #12] 809cdfa: b2db uxtb r3, r3 809cdfc: 2b00 cmp r3, #0 809cdfe: d106 bne.n 809ce0e BSP_LCD_DisplayStringAt(170, 173, "íì", LEFT_MODE); 809ce00: 2303 movs r3, #3 809ce02: 4a7a ldr r2, [pc, #488] ; (809cfec ) 809ce04: 21ad movs r1, #173 ; 0xad 809ce06: 20aa movs r0, #170 ; 0xaa 809ce08: f7b8 fac6 bl 8055398 809ce0c: e005 b.n 809ce1a else BSP_LCD_DisplayStringAt(170, 173, "nm", LEFT_MODE); 809ce0e: 2303 movs r3, #3 809ce10: 4a77 ldr r2, [pc, #476] ; (809cff0 ) 809ce12: 21ad movs r1, #173 ; 0xad 809ce14: 20aa movs r0, #170 ; 0xaa 809ce16: f7b8 fabf bl 8055398 if(f < 10.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -4), RIGHT_MODE); 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: d50e bpl.n 809ce4a 809ce2c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ce30: f06f 0003 mvn.w r0, #3 809ce34: eeb0 0a67 vmov.f32 s0, s15 809ce38: f7cb f9b2 bl 80681a0 809ce3c: 4602 mov r2, r0 809ce3e: 2302 movs r3, #2 809ce40: 21ad movs r1, #173 ; 0xad 809ce42: 20a0 movs r0, #160 ; 0xa0 809ce44: f7b8 faa8 bl 8055398 809ce48: e05d b.n 809cf06 else if(f < 100.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809ce4a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ce4e: ed9f 7a69 vldr s14, [pc, #420] ; 809cff4 809ce52: eef4 7ac7 vcmpe.f32 s15, s14 809ce56: eef1 fa10 vmrs APSR_nzcv, fpscr 809ce5a: d50e bpl.n 809ce7a 809ce5c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ce60: f06f 0002 mvn.w r0, #2 809ce64: eeb0 0a67 vmov.f32 s0, s15 809ce68: f7cb f99a bl 80681a0 809ce6c: 4602 mov r2, r0 809ce6e: 2302 movs r3, #2 809ce70: 21ad movs r1, #173 ; 0xad 809ce72: 20a0 movs r0, #160 ; 0xa0 809ce74: f7b8 fa90 bl 8055398 809ce78: e045 b.n 809cf06 else if(f < 1000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809ce7a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ce7e: ed9f 7a56 vldr s14, [pc, #344] ; 809cfd8 809ce82: eef4 7ac7 vcmpe.f32 s15, s14 809ce86: eef1 fa10 vmrs APSR_nzcv, fpscr 809ce8a: d50e bpl.n 809ceaa 809ce8c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ce90: f06f 0001 mvn.w r0, #1 809ce94: eeb0 0a67 vmov.f32 s0, s15 809ce98: f7cb f982 bl 80681a0 809ce9c: 4602 mov r2, r0 809ce9e: 2302 movs r3, #2 809cea0: 21ad movs r1, #173 ; 0xad 809cea2: 20a0 movs r0, #160 ; 0xa0 809cea4: f7b8 fa78 bl 8055398 809cea8: e02d b.n 809cf06 else if(f < 10000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -1), RIGHT_MODE); 809ceaa: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ceae: ed9f 7a52 vldr s14, [pc, #328] ; 809cff8 809ceb2: eef4 7ac7 vcmpe.f32 s15, s14 809ceb6: eef1 fa10 vmrs APSR_nzcv, fpscr 809ceba: d50e bpl.n 809ceda 809cebc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cec0: f04f 30ff mov.w r0, #4294967295 809cec4: eeb0 0a67 vmov.f32 s0, s15 809cec8: f7cb f96a bl 80681a0 809cecc: 4602 mov r2, r0 809cece: 2302 movs r3, #2 809ced0: 21ad movs r1, #173 ; 0xad 809ced2: 20a0 movs r0, #160 ; 0xa0 809ced4: f7b8 fa60 bl 8055398 809ced8: e015 b.n 809cf06 else if(f < 100000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, 0), RIGHT_MODE); 809ceda: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cede: ed9f 7a47 vldr s14, [pc, #284] ; 809cffc 809cee2: eef4 7ac7 vcmpe.f32 s15, s14 809cee6: eef1 fa10 vmrs APSR_nzcv, fpscr 809ceea: d50c bpl.n 809cf06 809ceec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cef0: 2000 movs r0, #0 809cef2: eeb0 0a67 vmov.f32 s0, s15 809cef6: f7cb f953 bl 80681a0 809cefa: 4602 mov r2, r0 809cefc: 2302 movs r3, #2 809cefe: 21ad movs r1, #173 ; 0xad 809cf00: 20a0 movs r0, #160 ; 0xa0 809cf02: f7b8 fa49 bl 8055398 if(ALARM) 809cf06: 4b3e ldr r3, [pc, #248] ; (809d000 ) 809cf08: 781b ldrb r3, [r3, #0] 809cf0a: b2db uxtb r3, r3 809cf0c: 2b00 cmp r3, #0 809cf0e: d006 beq.n 809cf1e DrawImage(&bmmy_A, 316-65, 121); 809cf10: 2279 movs r2, #121 ; 0x79 809cf12: 21fb movs r1, #251 ; 0xfb 809cf14: 483b ldr r0, [pc, #236] ; (809d004 ) 809cf16: f7b9 f86d bl 8055ff4 break; 809cf1a: f008 bbc9 b.w 80a56b0 if(WARNING) 809cf1e: 4b3a ldr r3, [pc, #232] ; (809d008 ) 809cf20: 781b ldrb r3, [r3, #0] 809cf22: b2db uxtb r3, r3 809cf24: 2b00 cmp r3, #0 809cf26: f008 83c3 beq.w 80a56b0 DrawImage(&bmmy_W, 316-65, 121); 809cf2a: 2279 movs r2, #121 ; 0x79 809cf2c: 21fb movs r1, #251 ; 0xfb 809cf2e: 4837 ldr r0, [pc, #220] ; (809d00c ) 809cf30: f7b9 f860 bl 8055ff4 break; 809cf34: f008 bbbc b.w 80a56b0 DrawImage(&bmAVS, 8, 84); 809cf38: 2254 movs r2, #84 ; 0x54 809cf3a: 2108 movs r1, #8 809cf3c: 4834 ldr r0, [pc, #208] ; (809d010 ) 809cf3e: f7b9 f859 bl 8055ff4 if(DrawSavedData) 809cf42: 4b34 ldr r3, [pc, #208] ; (809d014 ) 809cf44: 781b ldrb r3, [r3, #0] 809cf46: b2db uxtb r3, r3 809cf48: 2b00 cmp r3, #0 809cf4a: f002 8179 beq.w 809f240 ivs[ACC] = ReadFileData.Aivs; 809cf4e: 4b32 ldr r3, [pc, #200] ; (809d018 ) 809cf50: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809cf54: b2db uxtb r3, r3 809cf56: 703b strb r3, [r7, #0] ivs[VEL] = ReadFileData.Vivs; 809cf58: 4b2f ldr r3, [pc, #188] ; (809d018 ) 809cf5a: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809cf5e: b2db uxtb r3, r3 809cf60: 707b strb r3, [r7, #1] ivs[DIS] = ReadFileData.Sivs; 809cf62: 4b2d ldr r3, [pc, #180] ; (809d018 ) 809cf64: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809cf68: b2db uxtb r3, r3 809cf6a: 70bb strb r3, [r7, #2] if(((!ReadFileData.Aivs) && (!ReadFileData.Vivs) && (!ReadFileData.Sivs)) || (ReadFileData.Aval.fl == -1.0f)) 809cf6c: 4b2a ldr r3, [pc, #168] ; (809d018 ) 809cf6e: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809cf72: b2db uxtb r3, r3 809cf74: 2b00 cmp r3, #0 809cf76: d10b bne.n 809cf90 809cf78: 4b27 ldr r3, [pc, #156] ; (809d018 ) 809cf7a: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809cf7e: b2db uxtb r3, r3 809cf80: 2b00 cmp r3, #0 809cf82: d105 bne.n 809cf90 809cf84: 4b24 ldr r3, [pc, #144] ; (809d018 ) 809cf86: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809cf8a: b2db uxtb r3, r3 809cf8c: 2b00 cmp r3, #0 809cf8e: d009 beq.n 809cfa4 809cf90: 4b21 ldr r3, [pc, #132] ; (809d018 ) 809cf92: edd3 7a00 vldr s15, [r3] 809cf96: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809cf9a: eef4 7a47 vcmp.f32 s15, s14 809cf9e: eef1 fa10 vmrs APSR_nzcv, fpscr 809cfa2: d141 bne.n 809d028 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 809cfa4: 4b1d ldr r3, [pc, #116] ; (809d01c ) 809cfa6: 681b ldr r3, [r3, #0] 809cfa8: 4a1d ldr r2, [pc, #116] ; (809d020 ) 809cfaa: f852 2023 ldr.w r2, [r2, r3, lsl #2] 809cfae: 4b1d ldr r3, [pc, #116] ; (809d024 ) 809cfb0: 681b ldr r3, [r3, #0] 809cfb2: 429a cmp r2, r3 809cfb4: f044 8143 bne.w 80a123e DrawDetectorType(); 809cfb8: f7fc ff74 bl 8099ea4 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 809cfbc: f004 b93f b.w 80a123e 809cfc0: 2002105d .word 0x2002105d 809cfc4: 20023eb8 .word 0x20023eb8 809cfc8: 080d7438 .word 0x080d7438 809cfcc: 080d7440 .word 0x080d7440 809cfd0: 080d7448 .word 0x080d7448 809cfd4: 080d744c .word 0x080d744c 809cfd8: 447a0000 .word 0x447a0000 809cfdc: 080d7478 .word 0x080d7478 809cfe0: 080d747c .word 0x080d747c 809cfe4: 080d7460 .word 0x080d7460 809cfe8: 080d7468 .word 0x080d7468 809cfec: 080d7470 .word 0x080d7470 809cff0: 080d7474 .word 0x080d7474 809cff4: 42c80000 .word 0x42c80000 809cff8: 461c4000 .word 0x461c4000 809cffc: 47c35000 .word 0x47c35000 809d000: 20021061 .word 0x20021061 809d004: 0816f558 .word 0x0816f558 809d008: 20021060 .word 0x20021060 809d00c: 08170630 .word 0x08170630 809d010: 0810a724 .word 0x0810a724 809d014: 20020dea .word 0x20020dea 809d018: 200226f0 .word 0x200226f0 809d01c: 20021fec .word 0x20021fec 809d020: 20022ef8 .word 0x20022ef8 809d024: 20022360 .word 0x20022360 DrawImage(&bmSAVED, 298, 39); 809d028: 2227 movs r2, #39 ; 0x27 809d02a: f44f 7195 mov.w r1, #298 ; 0x12a 809d02e: 48bc ldr r0, [pc, #752] ; (809d320 ) 809d030: f7b8 ffe0 bl 8055ff4 memset(str, 0, sizeof(str)); 809d034: f107 030c add.w r3, r7, #12 809d038: 2228 movs r2, #40 ; 0x28 809d03a: 2100 movs r1, #0 809d03c: 4618 mov r0, r3 809d03e: f034 ffb1 bl 80d1fa4 BSP_LCD_SetFont(&Font8); 809d042: 48b8 ldr r0, [pc, #736] ; (809d324 ) 809d044: f7b8 f91e bl 8055284 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809d048: 49b7 ldr r1, [pc, #732] ; (809d328 ) 809d04a: 48b8 ldr r0, [pc, #736] ; (809d32c ) 809d04c: f7b8 f8de bl 805520c str[0] = (DateFileData.Date / 10) + 48; 809d050: 4bb7 ldr r3, [pc, #732] ; (809d330 ) 809d052: 789b ldrb r3, [r3, #2] 809d054: b2db uxtb r3, r3 809d056: 4ab7 ldr r2, [pc, #732] ; (809d334 ) 809d058: fba2 2303 umull r2, r3, r2, r3 809d05c: 08db lsrs r3, r3, #3 809d05e: b2db uxtb r3, r3 809d060: 3330 adds r3, #48 ; 0x30 809d062: b2db uxtb r3, r3 809d064: 733b strb r3, [r7, #12] str[1] = (DateFileData.Date % 10) + 48; 809d066: 4bb2 ldr r3, [pc, #712] ; (809d330 ) 809d068: 789b ldrb r3, [r3, #2] 809d06a: b2da uxtb r2, r3 809d06c: 4bb1 ldr r3, [pc, #708] ; (809d334 ) 809d06e: fba3 1302 umull r1, r3, r3, r2 809d072: 08d9 lsrs r1, r3, #3 809d074: 460b mov r3, r1 809d076: 009b lsls r3, r3, #2 809d078: 440b add r3, r1 809d07a: 005b lsls r3, r3, #1 809d07c: 1ad3 subs r3, r2, r3 809d07e: b2db uxtb r3, r3 809d080: 3330 adds r3, #48 ; 0x30 809d082: b2db uxtb r3, r3 809d084: 737b strb r3, [r7, #13] str[2] = '.'; 809d086: 232e movs r3, #46 ; 0x2e 809d088: 73bb strb r3, [r7, #14] str[3] = (DateFileData.Month / 10) + 48; 809d08a: 4ba9 ldr r3, [pc, #676] ; (809d330 ) 809d08c: 785b ldrb r3, [r3, #1] 809d08e: b2db uxtb r3, r3 809d090: 4aa8 ldr r2, [pc, #672] ; (809d334 ) 809d092: fba2 2303 umull r2, r3, r2, r3 809d096: 08db lsrs r3, r3, #3 809d098: b2db uxtb r3, r3 809d09a: 3330 adds r3, #48 ; 0x30 809d09c: b2db uxtb r3, r3 809d09e: 73fb strb r3, [r7, #15] str[4] = (DateFileData.Month % 10) + 48; 809d0a0: 4ba3 ldr r3, [pc, #652] ; (809d330 ) 809d0a2: 785b ldrb r3, [r3, #1] 809d0a4: b2da uxtb r2, r3 809d0a6: 4ba3 ldr r3, [pc, #652] ; (809d334 ) 809d0a8: fba3 1302 umull r1, r3, r3, r2 809d0ac: 08d9 lsrs r1, r3, #3 809d0ae: 460b mov r3, r1 809d0b0: 009b lsls r3, r3, #2 809d0b2: 440b add r3, r1 809d0b4: 005b lsls r3, r3, #1 809d0b6: 1ad3 subs r3, r2, r3 809d0b8: b2db uxtb r3, r3 809d0ba: 3330 adds r3, #48 ; 0x30 809d0bc: b2db uxtb r3, r3 809d0be: 743b strb r3, [r7, #16] str[5] = '.'; 809d0c0: 232e movs r3, #46 ; 0x2e 809d0c2: 747b strb r3, [r7, #17] str[6] = '2'; 809d0c4: 2332 movs r3, #50 ; 0x32 809d0c6: 74bb strb r3, [r7, #18] str[7] = '0'; 809d0c8: 2330 movs r3, #48 ; 0x30 809d0ca: 74fb strb r3, [r7, #19] str[8] = (DateFileData.Year / 10) + 48; 809d0cc: 4b98 ldr r3, [pc, #608] ; (809d330 ) 809d0ce: 78db ldrb r3, [r3, #3] 809d0d0: b2db uxtb r3, r3 809d0d2: 4a98 ldr r2, [pc, #608] ; (809d334 ) 809d0d4: fba2 2303 umull r2, r3, r2, r3 809d0d8: 08db lsrs r3, r3, #3 809d0da: b2db uxtb r3, r3 809d0dc: 3330 adds r3, #48 ; 0x30 809d0de: b2db uxtb r3, r3 809d0e0: 753b strb r3, [r7, #20] str[9] = (DateFileData.Year % 10) + 48; 809d0e2: 4b93 ldr r3, [pc, #588] ; (809d330 ) 809d0e4: 78db ldrb r3, [r3, #3] 809d0e6: b2da uxtb r2, r3 809d0e8: 4b92 ldr r3, [pc, #584] ; (809d334 ) 809d0ea: fba3 1302 umull r1, r3, r3, r2 809d0ee: 08d9 lsrs r1, r3, #3 809d0f0: 460b mov r3, r1 809d0f2: 009b lsls r3, r3, #2 809d0f4: 440b add r3, r1 809d0f6: 005b lsls r3, r3, #1 809d0f8: 1ad3 subs r3, r2, r3 809d0fa: b2db uxtb r3, r3 809d0fc: 3330 adds r3, #48 ; 0x30 809d0fe: b2db uxtb r3, r3 809d100: 757b strb r3, [r7, #21] BSP_LCD_DisplayStringAt(295, 42, str, RIGHT_MODE); 809d102: f107 020c add.w r2, r7, #12 809d106: 2302 movs r3, #2 809d108: 212a movs r1, #42 ; 0x2a 809d10a: f240 1027 movw r0, #295 ; 0x127 809d10e: f7b8 f943 bl 8055398 memset(str, 0, sizeof(str)); 809d112: f107 030c add.w r3, r7, #12 809d116: 2228 movs r2, #40 ; 0x28 809d118: 2100 movs r1, #0 809d11a: 4618 mov r0, r3 809d11c: f034 ff42 bl 80d1fa4 str[0] = (TimeFileData.Hours / 10) + 48; 809d120: 4b85 ldr r3, [pc, #532] ; (809d338 ) 809d122: 781b ldrb r3, [r3, #0] 809d124: b2db uxtb r3, r3 809d126: 4a83 ldr r2, [pc, #524] ; (809d334 ) 809d128: fba2 2303 umull r2, r3, r2, r3 809d12c: 08db lsrs r3, r3, #3 809d12e: b2db uxtb r3, r3 809d130: 3330 adds r3, #48 ; 0x30 809d132: b2db uxtb r3, r3 809d134: 733b strb r3, [r7, #12] str[1] = (TimeFileData.Hours % 10) + 48; 809d136: 4b80 ldr r3, [pc, #512] ; (809d338 ) 809d138: 781b ldrb r3, [r3, #0] 809d13a: b2da uxtb r2, r3 809d13c: 4b7d ldr r3, [pc, #500] ; (809d334 ) 809d13e: fba3 1302 umull r1, r3, r3, r2 809d142: 08d9 lsrs r1, r3, #3 809d144: 460b mov r3, r1 809d146: 009b lsls r3, r3, #2 809d148: 440b add r3, r1 809d14a: 005b lsls r3, r3, #1 809d14c: 1ad3 subs r3, r2, r3 809d14e: b2db uxtb r3, r3 809d150: 3330 adds r3, #48 ; 0x30 809d152: b2db uxtb r3, r3 809d154: 737b strb r3, [r7, #13] str[2] = ':'; 809d156: 233a movs r3, #58 ; 0x3a 809d158: 73bb strb r3, [r7, #14] str[3] = (TimeFileData.Minutes / 10) + 48; 809d15a: 4b77 ldr r3, [pc, #476] ; (809d338 ) 809d15c: 785b ldrb r3, [r3, #1] 809d15e: b2db uxtb r3, r3 809d160: 4a74 ldr r2, [pc, #464] ; (809d334 ) 809d162: fba2 2303 umull r2, r3, r2, r3 809d166: 08db lsrs r3, r3, #3 809d168: b2db uxtb r3, r3 809d16a: 3330 adds r3, #48 ; 0x30 809d16c: b2db uxtb r3, r3 809d16e: 73fb strb r3, [r7, #15] str[4] = (TimeFileData.Minutes % 10) + 48; 809d170: 4b71 ldr r3, [pc, #452] ; (809d338 ) 809d172: 785b ldrb r3, [r3, #1] 809d174: b2da uxtb r2, r3 809d176: 4b6f ldr r3, [pc, #444] ; (809d334 ) 809d178: fba3 1302 umull r1, r3, r3, r2 809d17c: 08d9 lsrs r1, r3, #3 809d17e: 460b mov r3, r1 809d180: 009b lsls r3, r3, #2 809d182: 440b add r3, r1 809d184: 005b lsls r3, r3, #1 809d186: 1ad3 subs r3, r2, r3 809d188: b2db uxtb r3, r3 809d18a: 3330 adds r3, #48 ; 0x30 809d18c: b2db uxtb r3, r3 809d18e: 743b strb r3, [r7, #16] str[5] = ':'; 809d190: 233a movs r3, #58 ; 0x3a 809d192: 747b strb r3, [r7, #17] str[6] = (TimeFileData.Seconds / 10) + 48; 809d194: 4b68 ldr r3, [pc, #416] ; (809d338 ) 809d196: 789b ldrb r3, [r3, #2] 809d198: b2db uxtb r3, r3 809d19a: 4a66 ldr r2, [pc, #408] ; (809d334 ) 809d19c: fba2 2303 umull r2, r3, r2, r3 809d1a0: 08db lsrs r3, r3, #3 809d1a2: b2db uxtb r3, r3 809d1a4: 3330 adds r3, #48 ; 0x30 809d1a6: b2db uxtb r3, r3 809d1a8: 74bb strb r3, [r7, #18] str[7] = (TimeFileData.Seconds % 10) + 48; 809d1aa: 4b63 ldr r3, [pc, #396] ; (809d338 ) 809d1ac: 789b ldrb r3, [r3, #2] 809d1ae: b2da uxtb r2, r3 809d1b0: 4b60 ldr r3, [pc, #384] ; (809d334 ) 809d1b2: fba3 1302 umull r1, r3, r3, r2 809d1b6: 08d9 lsrs r1, r3, #3 809d1b8: 460b mov r3, r1 809d1ba: 009b lsls r3, r3, #2 809d1bc: 440b add r3, r1 809d1be: 005b lsls r3, r3, #1 809d1c0: 1ad3 subs r3, r2, r3 809d1c2: b2db uxtb r3, r3 809d1c4: 3330 adds r3, #48 ; 0x30 809d1c6: b2db uxtb r3, r3 809d1c8: 74fb strb r3, [r7, #19] BSP_LCD_DisplayStringAt(295, 52, str, RIGHT_MODE); 809d1ca: f107 020c add.w r2, r7, #12 809d1ce: 2302 movs r3, #2 809d1d0: 2134 movs r1, #52 ; 0x34 809d1d2: f240 1027 movw r0, #295 ; 0x127 809d1d6: f7b8 f8df bl 8055398 DrawDetectorType(); 809d1da: f7fc fe63 bl 8099ea4 if(ReadFileData.Fval.fl != -1.0f) 809d1de: 4b57 ldr r3, [pc, #348] ; (809d33c ) 809d1e0: edd3 7a03 vldr s15, [r3, #12] 809d1e4: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809d1e8: eef4 7a47 vcmp.f32 s15, s14 809d1ec: eef1 fa10 vmrs APSR_nzcv, fpscr 809d1f0: f000 80fc beq.w 809d3ec DrawImage(&bmf, 100, 57); 809d1f4: 2239 movs r2, #57 ; 0x39 809d1f6: 2164 movs r1, #100 ; 0x64 809d1f8: 4851 ldr r0, [pc, #324] ; (809d340 ) 809d1fa: f7b8 fefb bl 8055ff4 BSP_LCD_SetFont(&Font15); 809d1fe: 4851 ldr r0, [pc, #324] ; (809d344 ) 809d200: f7b8 f840 bl 8055284 f = ReadFileData.Fval.fl; 809d204: 4b4d ldr r3, [pc, #308] ; (809d33c ) 809d206: 68db ldr r3, [r3, #12] 809d208: 647b str r3, [r7, #68] ; 0x44 LCD_SetColors(LCD_COLOR_WHITE/*0xFFFBFF1C*/, LCD_COLOR_BLACK); 809d20a: 4947 ldr r1, [pc, #284] ; (809d328 ) 809d20c: f04f 30ff mov.w r0, #4294967295 809d210: f7b7 fffc bl 805520c memset(str, 0, sizeof(str)); 809d214: f107 030c add.w r3, r7, #12 809d218: 2228 movs r2, #40 ; 0x28 809d21a: 2100 movs r1, #0 809d21c: 4618 mov r0, r3 809d21e: f034 fec1 bl 80d1fa4 if(f >= 1000.0f) 809d222: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d226: ed9f 7a4f vldr s14, [pc, #316] ; 809d364 809d22a: eef4 7ac7 vcmpe.f32 s15, s14 809d22e: eef1 fa10 vmrs APSR_nzcv, fpscr 809d232: db3b blt.n 809d2ac f *= 0.001f; 809d234: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d238: ed9f 7a43 vldr s14, [pc, #268] ; 809d348 809d23c: ee67 7a87 vmul.f32 s15, s15, s14 809d240: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -4); 809d244: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d248: f06f 0003 mvn.w r0, #3 809d24c: eeb0 0a67 vmov.f32 s0, s15 809d250: f7ca ffa6 bl 80681a0 809d254: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 809d256: f107 030c add.w r3, r7, #12 809d25a: 6e39 ldr r1, [r7, #96] ; 0x60 809d25c: 4618 mov r0, r3 809d25e: f034 ffbe bl 80d21de if(pardata.LANG == RUS) strcat(str, " êÃö"); 809d262: 4b3a ldr r3, [pc, #232] ; (809d34c ) 809d264: 7b1b ldrb r3, [r3, #12] 809d266: b2db uxtb r3, r3 809d268: 2b00 cmp r3, #0 809d26a: d10f bne.n 809d28c 809d26c: f107 030c add.w r3, r7, #12 809d270: 4618 mov r0, r3 809d272: f783 f84f bl 8020314 809d276: 4603 mov r3, r0 809d278: 461a mov r2, r3 809d27a: f107 030c add.w r3, r7, #12 809d27e: 4413 add r3, r2 809d280: 4a33 ldr r2, [pc, #204] ; (809d350 ) 809d282: 6810 ldr r0, [r2, #0] 809d284: 6018 str r0, [r3, #0] 809d286: 7912 ldrb r2, [r2, #4] 809d288: 711a strb r2, [r3, #4] 809d28a: e0a8 b.n 809d3de else strcat(str, " kHz"); 809d28c: f107 030c add.w r3, r7, #12 809d290: 4618 mov r0, r3 809d292: f783 f83f bl 8020314 809d296: 4603 mov r3, r0 809d298: 461a mov r2, r3 809d29a: f107 030c add.w r3, r7, #12 809d29e: 4413 add r3, r2 809d2a0: 4a2c ldr r2, [pc, #176] ; (809d354 ) 809d2a2: 6810 ldr r0, [r2, #0] 809d2a4: 6018 str r0, [r3, #0] 809d2a6: 7912 ldrb r2, [r2, #4] 809d2a8: 711a strb r2, [r3, #4] 809d2aa: e098 b.n 809d3de if(f >= 0.1f) 809d2ac: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d2b0: ed9f 7a29 vldr s14, [pc, #164] ; 809d358 809d2b4: eef4 7ac7 vcmpe.f32 s15, s14 809d2b8: eef1 fa10 vmrs APSR_nzcv, fpscr 809d2bc: db54 blt.n 809d368 p8 = (char *) FloatToASCII(f, -3); 809d2be: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d2c2: f06f 0002 mvn.w r0, #2 809d2c6: eeb0 0a67 vmov.f32 s0, s15 809d2ca: f7ca ff69 bl 80681a0 809d2ce: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 809d2d0: f107 030c add.w r3, r7, #12 809d2d4: 6e39 ldr r1, [r7, #96] ; 0x60 809d2d6: 4618 mov r0, r3 809d2d8: f034 ff81 bl 80d21de if(pardata.LANG == RUS) strcat(str, " Ãö"); 809d2dc: 4b1b ldr r3, [pc, #108] ; (809d34c ) 809d2de: 7b1b ldrb r3, [r3, #12] 809d2e0: b2db uxtb r3, r3 809d2e2: 2b00 cmp r3, #0 809d2e4: d10d bne.n 809d302 809d2e6: f107 030c add.w r3, r7, #12 809d2ea: 4618 mov r0, r3 809d2ec: f783 f812 bl 8020314 809d2f0: 4603 mov r3, r0 809d2f2: 461a mov r2, r3 809d2f4: f107 030c add.w r3, r7, #12 809d2f8: 4413 add r3, r2 809d2fa: 4a18 ldr r2, [pc, #96] ; (809d35c ) 809d2fc: 6810 ldr r0, [r2, #0] 809d2fe: 6018 str r0, [r3, #0] 809d300: e06d b.n 809d3de else strcat(str, " Hz"); 809d302: f107 030c add.w r3, r7, #12 809d306: 4618 mov r0, r3 809d308: f783 f804 bl 8020314 809d30c: 4603 mov r3, r0 809d30e: 461a mov r2, r3 809d310: f107 030c add.w r3, r7, #12 809d314: 4413 add r3, r2 809d316: 4a12 ldr r2, [pc, #72] ; (809d360 ) 809d318: 6810 ldr r0, [r2, #0] 809d31a: 6018 str r0, [r3, #0] 809d31c: e05f b.n 809d3de 809d31e: bf00 nop 809d320: 0814e4ac .word 0x0814e4ac 809d324: 20020060 .word 0x20020060 809d328: ff0a0f1f .word 0xff0a0f1f 809d32c: ffd3d3d3 .word 0xffd3d3d3 809d330: 20022640 .word 0x20022640 809d334: cccccccd .word 0xcccccccd 809d338: 200229c0 .word 0x200229c0 809d33c: 200226f0 .word 0x200226f0 809d340: 0816421c .word 0x0816421c 809d344: 20020040 .word 0x20020040 809d348: 3a83126f .word 0x3a83126f 809d34c: 20023eb8 .word 0x20023eb8 809d350: 080d7480 .word 0x080d7480 809d354: 080d7488 .word 0x080d7488 809d358: 3dcccccd .word 0x3dcccccd 809d35c: 080d7490 .word 0x080d7490 809d360: 080d7494 .word 0x080d7494 809d364: 447a0000 .word 0x447a0000 f *= 1000.0f; 809d368: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d36c: ed1f 7a03 vldr s14, [pc, #-12] ; 809d364 809d370: ee67 7a87 vmul.f32 s15, s15, s14 809d374: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -3); 809d378: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d37c: f06f 0002 mvn.w r0, #2 809d380: eeb0 0a67 vmov.f32 s0, s15 809d384: f7ca ff0c bl 80681a0 809d388: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 809d38a: f107 030c add.w r3, r7, #12 809d38e: 6e39 ldr r1, [r7, #96] ; 0x60 809d390: 4618 mov r0, r3 809d392: f034 ff24 bl 80d21de if(pardata.LANG == RUS) strcat(str, " ìÃö"); 809d396: 4bcd ldr r3, [pc, #820] ; (809d6cc ) 809d398: 7b1b ldrb r3, [r3, #12] 809d39a: b2db uxtb r3, r3 809d39c: 2b00 cmp r3, #0 809d39e: d10f bne.n 809d3c0 809d3a0: f107 030c add.w r3, r7, #12 809d3a4: 4618 mov r0, r3 809d3a6: f782 ffb5 bl 8020314 809d3aa: 4603 mov r3, r0 809d3ac: 461a mov r2, r3 809d3ae: f107 030c add.w r3, r7, #12 809d3b2: 4413 add r3, r2 809d3b4: 4ac6 ldr r2, [pc, #792] ; (809d6d0 ) 809d3b6: 6810 ldr r0, [r2, #0] 809d3b8: 6018 str r0, [r3, #0] 809d3ba: 7912 ldrb r2, [r2, #4] 809d3bc: 711a strb r2, [r3, #4] 809d3be: e00e b.n 809d3de else strcat(str, " mHz"); 809d3c0: f107 030c add.w r3, r7, #12 809d3c4: 4618 mov r0, r3 809d3c6: f782 ffa5 bl 8020314 809d3ca: 4603 mov r3, r0 809d3cc: 461a mov r2, r3 809d3ce: f107 030c add.w r3, r7, #12 809d3d2: 4413 add r3, r2 809d3d4: 4abf ldr r2, [pc, #764] ; (809d6d4 ) 809d3d6: 6810 ldr r0, [r2, #0] 809d3d8: 6018 str r0, [r3, #0] 809d3da: 7912 ldrb r2, [r2, #4] 809d3dc: 711a strb r2, [r3, #4] BSP_LCD_DisplayStringAt(132, 61, str, LEFT_MODE); 809d3de: f107 020c add.w r2, r7, #12 809d3e2: 2303 movs r3, #3 809d3e4: 213d movs r1, #61 ; 0x3d 809d3e6: 2084 movs r0, #132 ; 0x84 809d3e8: f7b7 ffd6 bl 8055398 if(log == false) //Åñëè â ìåòðè÷åñêèõ âåëè÷èíàõ 809d3ec: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 809d3f0: f083 0301 eor.w r3, r3, #1 809d3f4: b2db uxtb r3, r3 809d3f6: 2b00 cmp r3, #0 809d3f8: f000 8594 beq.w 809df24 for(ipr = ACC; ipr <= DIS; ipr++) 809d3fc: 2300 movs r3, #0 809d3fe: 653b str r3, [r7, #80] ; 0x50 809d400: f000 bd8a b.w 809df18 if(ipr == ACC) f = ABS(ReadFileData.Aval.fl); 809d404: 6d3b ldr r3, [r7, #80] ; 0x50 809d406: 2b00 cmp r3, #0 809d408: d113 bne.n 809d432 809d40a: 4bb3 ldr r3, [pc, #716] ; (809d6d8 ) 809d40c: edd3 7a00 vldr s15, [r3] 809d410: eef5 7ac0 vcmpe.f32 s15, #0.0 809d414: eef1 fa10 vmrs APSR_nzcv, fpscr 809d418: dd03 ble.n 809d422 809d41a: 4baf ldr r3, [pc, #700] ; (809d6d8 ) 809d41c: edd3 7a00 vldr s15, [r3] 809d420: e004 b.n 809d42c 809d422: 4bad ldr r3, [pc, #692] ; (809d6d8 ) 809d424: edd3 7a00 vldr s15, [r3] 809d428: eef1 7a67 vneg.f32 s15, s15 809d42c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 809d430: e02c b.n 809d48c else if(ipr == VEL) f = ABS(ReadFileData.Vval.fl); 809d432: 6d3b ldr r3, [r7, #80] ; 0x50 809d434: 2b01 cmp r3, #1 809d436: d113 bne.n 809d460 809d438: 4ba7 ldr r3, [pc, #668] ; (809d6d8 ) 809d43a: edd3 7a01 vldr s15, [r3, #4] 809d43e: eef5 7ac0 vcmpe.f32 s15, #0.0 809d442: eef1 fa10 vmrs APSR_nzcv, fpscr 809d446: dd03 ble.n 809d450 809d448: 4ba3 ldr r3, [pc, #652] ; (809d6d8 ) 809d44a: edd3 7a01 vldr s15, [r3, #4] 809d44e: e004 b.n 809d45a 809d450: 4ba1 ldr r3, [pc, #644] ; (809d6d8 ) 809d452: edd3 7a01 vldr s15, [r3, #4] 809d456: eef1 7a67 vneg.f32 s15, s15 809d45a: edc7 7a11 vstr s15, [r7, #68] ; 0x44 809d45e: e015 b.n 809d48c else if(ipr == DIS) f = ABS(ReadFileData.Sval.fl); 809d460: 6d3b ldr r3, [r7, #80] ; 0x50 809d462: 2b02 cmp r3, #2 809d464: d112 bne.n 809d48c 809d466: 4b9c ldr r3, [pc, #624] ; (809d6d8 ) 809d468: edd3 7a02 vldr s15, [r3, #8] 809d46c: eef5 7ac0 vcmpe.f32 s15, #0.0 809d470: eef1 fa10 vmrs APSR_nzcv, fpscr 809d474: dd03 ble.n 809d47e 809d476: 4b98 ldr r3, [pc, #608] ; (809d6d8 ) 809d478: edd3 7a02 vldr s15, [r3, #8] 809d47c: e004 b.n 809d488 809d47e: 4b96 ldr r3, [pc, #600] ; (809d6d8 ) 809d480: edd3 7a02 vldr s15, [r3, #8] 809d484: eef1 7a67 vneg.f32 s15, s15 809d488: edc7 7a11 vstr s15, [r7, #68] ; 0x44 memset(str, 0, sizeof(str)); 809d48c: f107 030c add.w r3, r7, #12 809d490: 2228 movs r2, #40 ; 0x28 809d492: 2100 movs r1, #0 809d494: 4618 mov r0, r3 809d496: f034 fd85 bl 80d1fa4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809d49a: 4990 ldr r1, [pc, #576] ; (809d6dc ) 809d49c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809d4a0: f7b7 feb4 bl 805520c BSP_LCD_SetFont(&Font12); 809d4a4: 488e ldr r0, [pc, #568] ; (809d6e0 ) 809d4a6: f7b7 feed bl 8055284 if(ipr < DIS) 809d4aa: 6d3b ldr r3, [r7, #80] ; 0x50 809d4ac: 2b01 cmp r3, #1 809d4ae: f200 80af bhi.w 809d610 if(f < 10.0f) 809d4b2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d4b6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809d4ba: eef4 7ac7 vcmpe.f32 s15, s14 809d4be: eef1 fa10 vmrs APSR_nzcv, fpscr 809d4c2: d513 bpl.n 809d4ec k = (uint32_t) (roundf(f * 10000)); 809d4c4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d4c8: ed9f 7a8a vldr s14, [pc, #552] ; 809d6f4 809d4cc: ee67 7a87 vmul.f32 s15, s15, s14 809d4d0: eeb0 0a67 vmov.f32 s0, s15 809d4d4: f032 fb66 bl 80cfba4 809d4d8: eef0 7a40 vmov.f32 s15, s0 809d4dc: eefc 7ae7 vcvt.u32.f32 s15, s15 809d4e0: ee17 3a90 vmov r3, s15 809d4e4: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809d4e6: 2301 movs r3, #1 809d4e8: 657b str r3, [r7, #84] ; 0x54 809d4ea: e1cc b.n 809d886 if(f < 100.0f) 809d4ec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d4f0: ed9f 7a7c vldr s14, [pc, #496] ; 809d6e4 809d4f4: eef4 7ac7 vcmpe.f32 s15, s14 809d4f8: eef1 fa10 vmrs APSR_nzcv, fpscr 809d4fc: d513 bpl.n 809d526 k = (uint32_t) (roundf(f * 1000)); 809d4fe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d502: ed9f 7a79 vldr s14, [pc, #484] ; 809d6e8 809d506: ee67 7a87 vmul.f32 s15, s15, s14 809d50a: eeb0 0a67 vmov.f32 s0, s15 809d50e: f032 fb49 bl 80cfba4 809d512: eef0 7a40 vmov.f32 s15, s0 809d516: eefc 7ae7 vcvt.u32.f32 s15, s15 809d51a: ee17 3a90 vmov r3, s15 809d51e: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809d520: 2302 movs r3, #2 809d522: 657b str r3, [r7, #84] ; 0x54 809d524: e1af b.n 809d886 if(f < 1000.0f) 809d526: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d52a: ed9f 7a6f vldr s14, [pc, #444] ; 809d6e8 809d52e: eef4 7ac7 vcmpe.f32 s15, s14 809d532: eef1 fa10 vmrs APSR_nzcv, fpscr 809d536: d513 bpl.n 809d560 k = (uint32_t) (roundf(f * 100)); 809d538: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d53c: ed9f 7a69 vldr s14, [pc, #420] ; 809d6e4 809d540: ee67 7a87 vmul.f32 s15, s15, s14 809d544: eeb0 0a67 vmov.f32 s0, s15 809d548: f032 fb2c bl 80cfba4 809d54c: eef0 7a40 vmov.f32 s15, s0 809d550: eefc 7ae7 vcvt.u32.f32 s15, s15 809d554: ee17 3a90 vmov r3, s15 809d558: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809d55a: 2303 movs r3, #3 809d55c: 657b str r3, [r7, #84] ; 0x54 809d55e: e192 b.n 809d886 if(f < 10000.0f) 809d560: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d564: ed9f 7a63 vldr s14, [pc, #396] ; 809d6f4 809d568: eef4 7ac7 vcmpe.f32 s15, s14 809d56c: eef1 fa10 vmrs APSR_nzcv, fpscr 809d570: d513 bpl.n 809d59a k = (uint32_t) (roundf(f * 10)); 809d572: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d576: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809d57a: ee67 7a87 vmul.f32 s15, s15, s14 809d57e: eeb0 0a67 vmov.f32 s0, s15 809d582: f032 fb0f bl 80cfba4 809d586: eef0 7a40 vmov.f32 s15, s0 809d58a: eefc 7ae7 vcvt.u32.f32 s15, s15 809d58e: ee17 3a90 vmov r3, s15 809d592: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809d594: 2304 movs r3, #4 809d596: 657b str r3, [r7, #84] ; 0x54 809d598: e175 b.n 809d886 if(f < 100000.0f) 809d59a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d59e: ed9f 7a56 vldr s14, [pc, #344] ; 809d6f8 809d5a2: eef4 7ac7 vcmpe.f32 s15, s14 809d5a6: eef1 fa10 vmrs APSR_nzcv, fpscr 809d5aa: d515 bpl.n 809d5d8 k = (uint32_t) (roundf(f)); 809d5ac: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d5b0: eeb0 0a67 vmov.f32 s0, s15 809d5b4: f032 faf6 bl 80cfba4 809d5b8: eef0 7a40 vmov.f32 s15, s0 809d5bc: eefc 7ae7 vcvt.u32.f32 s15, s15 809d5c0: ee17 3a90 vmov r3, s15 809d5c4: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809d5c6: 6dbb ldr r3, [r7, #88] ; 0x58 809d5c8: 4a48 ldr r2, [pc, #288] ; (809d6ec ) 809d5ca: 4293 cmp r3, r2 809d5cc: d901 bls.n 809d5d2 k = 99999; 809d5ce: 4b47 ldr r3, [pc, #284] ; (809d6ec ) 809d5d0: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809d5d2: 2300 movs r3, #0 809d5d4: 657b str r3, [r7, #84] ; 0x54 809d5d6: e156 b.n 809d886 if(f >= 100000.0f) 809d5d8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d5dc: ed9f 7a46 vldr s14, [pc, #280] ; 809d6f8 809d5e0: eef4 7ac7 vcmpe.f32 s15, s14 809d5e4: eef1 fa10 vmrs APSR_nzcv, fpscr 809d5e8: f2c0 814d blt.w 809d886 f = 99999.0f; 809d5ec: 4b40 ldr r3, [pc, #256] ; (809d6f0 ) 809d5ee: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809d5f0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d5f4: eeb0 0a67 vmov.f32 s0, s15 809d5f8: f032 fad4 bl 80cfba4 809d5fc: eef0 7a40 vmov.f32 s15, s0 809d600: eefc 7ae7 vcvt.u32.f32 s15, s15 809d604: ee17 3a90 vmov r3, s15 809d608: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809d60a: 2300 movs r3, #0 809d60c: 657b str r3, [r7, #84] ; 0x54 809d60e: e13a b.n 809d886 if(f < 10.0f) 809d610: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d614: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809d618: eef4 7ac7 vcmpe.f32 s15, s14 809d61c: eef1 fa10 vmrs APSR_nzcv, fpscr 809d620: d515 bpl.n 809d64e k = (uint32_t) (roundf(f * 10000)); 809d622: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d626: ed9f 7a33 vldr s14, [pc, #204] ; 809d6f4 809d62a: ee67 7a87 vmul.f32 s15, s15, s14 809d62e: eeb0 0a67 vmov.f32 s0, s15 809d632: f032 fab7 bl 80cfba4 809d636: eef0 7a40 vmov.f32 s15, s0 809d63a: eefc 7ae7 vcvt.u32.f32 s15, s15 809d63e: ee17 3a90 vmov r3, s15 809d642: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809d644: 2301 movs r3, #1 809d646: 657b str r3, [r7, #84] ; 0x54 m = 0; 809d648: 2300 movs r3, #0 809d64a: 64fb str r3, [r7, #76] ; 0x4c 809d64c: e11b b.n 809d886 if(f < 100.0f) 809d64e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d652: ed9f 7a24 vldr s14, [pc, #144] ; 809d6e4 809d656: eef4 7ac7 vcmpe.f32 s15, s14 809d65a: eef1 fa10 vmrs APSR_nzcv, fpscr 809d65e: d515 bpl.n 809d68c k = (uint32_t) (roundf(f * 1000)); 809d660: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d664: ed9f 7a20 vldr s14, [pc, #128] ; 809d6e8 809d668: ee67 7a87 vmul.f32 s15, s15, s14 809d66c: eeb0 0a67 vmov.f32 s0, s15 809d670: f032 fa98 bl 80cfba4 809d674: eef0 7a40 vmov.f32 s15, s0 809d678: eefc 7ae7 vcvt.u32.f32 s15, s15 809d67c: ee17 3a90 vmov r3, s15 809d680: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809d682: 2302 movs r3, #2 809d684: 657b str r3, [r7, #84] ; 0x54 m = 0; 809d686: 2300 movs r3, #0 809d688: 64fb str r3, [r7, #76] ; 0x4c 809d68a: e0fc b.n 809d886 if(f < 1000.0f) 809d68c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d690: ed9f 7a15 vldr s14, [pc, #84] ; 809d6e8 809d694: eef4 7ac7 vcmpe.f32 s15, s14 809d698: eef1 fa10 vmrs APSR_nzcv, fpscr 809d69c: d53a bpl.n 809d714 k = (uint32_t) (roundf(f * 100)); 809d69e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d6a2: ed9f 7a10 vldr s14, [pc, #64] ; 809d6e4 809d6a6: ee67 7a87 vmul.f32 s15, s15, s14 809d6aa: eeb0 0a67 vmov.f32 s0, s15 809d6ae: f032 fa79 bl 80cfba4 809d6b2: eef0 7a40 vmov.f32 s15, s0 809d6b6: eefc 7ae7 vcvt.u32.f32 s15, s15 809d6ba: ee17 3a90 vmov r3, s15 809d6be: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809d6c0: 2303 movs r3, #3 809d6c2: 657b str r3, [r7, #84] ; 0x54 m = 0; 809d6c4: 2300 movs r3, #0 809d6c6: 64fb str r3, [r7, #76] ; 0x4c 809d6c8: e0dd b.n 809d886 809d6ca: bf00 nop 809d6cc: 20023eb8 .word 0x20023eb8 809d6d0: 080d7498 .word 0x080d7498 809d6d4: 080d74a0 .word 0x080d74a0 809d6d8: 200226f0 .word 0x200226f0 809d6dc: ff0a0f1f .word 0xff0a0f1f 809d6e0: 20020038 .word 0x20020038 809d6e4: 42c80000 .word 0x42c80000 809d6e8: 447a0000 .word 0x447a0000 809d6ec: 0001869f .word 0x0001869f 809d6f0: 47c34f80 .word 0x47c34f80 809d6f4: 461c4000 .word 0x461c4000 809d6f8: 47c35000 .word 0x47c35000 809d6fc: 49742400 .word 0x49742400 809d700: 3dcccccd .word 0x3dcccccd 809d704: 4b189680 .word 0x4b189680 809d708: 3c23d70a .word 0x3c23d70a 809d70c: 4cbebc20 .word 0x4cbebc20 809d710: 3a83126f .word 0x3a83126f if(f < 10000.0f) 809d714: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d718: ed1f 7a0a vldr s14, [pc, #-40] ; 809d6f4 809d71c: eef4 7ac7 vcmpe.f32 s15, s14 809d720: eef1 fa10 vmrs APSR_nzcv, fpscr 809d724: d515 bpl.n 809d752 k = (uint32_t) (roundf(f * 10)); 809d726: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d72a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809d72e: ee67 7a87 vmul.f32 s15, s15, s14 809d732: eeb0 0a67 vmov.f32 s0, s15 809d736: f032 fa35 bl 80cfba4 809d73a: eef0 7a40 vmov.f32 s15, s0 809d73e: eefc 7ae7 vcvt.u32.f32 s15, s15 809d742: ee17 3a90 vmov r3, s15 809d746: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809d748: 2301 movs r3, #1 809d74a: 657b str r3, [r7, #84] ; 0x54 m = 1; 809d74c: 2301 movs r3, #1 809d74e: 64fb str r3, [r7, #76] ; 0x4c 809d750: e099 b.n 809d886 if(f < 100000.0f) 809d752: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d756: ed1f 7a18 vldr s14, [pc, #-96] ; 809d6f8 809d75a: eef4 7ac7 vcmpe.f32 s15, s14 809d75e: eef1 fa10 vmrs APSR_nzcv, fpscr 809d762: d511 bpl.n 809d788 k = (uint32_t) (roundf(f)); 809d764: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d768: eeb0 0a67 vmov.f32 s0, s15 809d76c: f032 fa1a bl 80cfba4 809d770: eef0 7a40 vmov.f32 s15, s0 809d774: eefc 7ae7 vcvt.u32.f32 s15, s15 809d778: ee17 3a90 vmov r3, s15 809d77c: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809d77e: 2302 movs r3, #2 809d780: 657b str r3, [r7, #84] ; 0x54 m = 1; 809d782: 2301 movs r3, #1 809d784: 64fb str r3, [r7, #76] ; 0x4c 809d786: e07e b.n 809d886 if(f < 1000000.0f) 809d788: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d78c: ed1f 7a25 vldr s14, [pc, #-148] ; 809d6fc 809d790: eef4 7ac7 vcmpe.f32 s15, s14 809d794: eef1 fa10 vmrs APSR_nzcv, fpscr 809d798: d515 bpl.n 809d7c6 k = (uint32_t) (roundf(f * 0.1f)); 809d79a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d79e: ed1f 7a28 vldr s14, [pc, #-160] ; 809d700 809d7a2: ee67 7a87 vmul.f32 s15, s15, s14 809d7a6: eeb0 0a67 vmov.f32 s0, s15 809d7aa: f032 f9fb bl 80cfba4 809d7ae: eef0 7a40 vmov.f32 s15, s0 809d7b2: eefc 7ae7 vcvt.u32.f32 s15, s15 809d7b6: ee17 3a90 vmov r3, s15 809d7ba: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809d7bc: 2303 movs r3, #3 809d7be: 657b str r3, [r7, #84] ; 0x54 m = 1; 809d7c0: 2301 movs r3, #1 809d7c2: 64fb str r3, [r7, #76] ; 0x4c 809d7c4: e05f b.n 809d886 if(f < 10000000.0f) 809d7c6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d7ca: ed1f 7a32 vldr s14, [pc, #-200] ; 809d704 809d7ce: eef4 7ac7 vcmpe.f32 s15, s14 809d7d2: eef1 fa10 vmrs APSR_nzcv, fpscr 809d7d6: d515 bpl.n 809d804 k = (uint32_t) (roundf(f * 0.01f)); 809d7d8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d7dc: ed1f 7a36 vldr s14, [pc, #-216] ; 809d708 809d7e0: ee67 7a87 vmul.f32 s15, s15, s14 809d7e4: eeb0 0a67 vmov.f32 s0, s15 809d7e8: f032 f9dc bl 80cfba4 809d7ec: eef0 7a40 vmov.f32 s15, s0 809d7f0: eefc 7ae7 vcvt.u32.f32 s15, s15 809d7f4: ee17 3a90 vmov r3, s15 809d7f8: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809d7fa: 2304 movs r3, #4 809d7fc: 657b str r3, [r7, #84] ; 0x54 m = 1; 809d7fe: 2301 movs r3, #1 809d800: 64fb str r3, [r7, #76] ; 0x4c 809d802: e040 b.n 809d886 if(f < 100000000.0f) 809d804: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d808: ed1f 7a40 vldr s14, [pc, #-256] ; 809d70c 809d80c: eef4 7ac7 vcmpe.f32 s15, s14 809d810: eef1 fa10 vmrs APSR_nzcv, fpscr 809d814: d51b bpl.n 809d84e k = (uint32_t) (roundf(f * 0.001f)); 809d816: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d81a: ed1f 7a43 vldr s14, [pc, #-268] ; 809d710 809d81e: ee67 7a87 vmul.f32 s15, s15, s14 809d822: eeb0 0a67 vmov.f32 s0, s15 809d826: f032 f9bd bl 80cfba4 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 if(k >= 100000) 809d838: 6dbb ldr r3, [r7, #88] ; 0x58 809d83a: 4abf ldr r2, [pc, #764] ; (809db38 ) 809d83c: 4293 cmp r3, r2 809d83e: d901 bls.n 809d844 k = 99999; 809d840: 4bbd ldr r3, [pc, #756] ; (809db38 ) 809d842: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809d844: 2300 movs r3, #0 809d846: 657b str r3, [r7, #84] ; 0x54 m = 1; 809d848: 2301 movs r3, #1 809d84a: 64fb str r3, [r7, #76] ; 0x4c 809d84c: e01b b.n 809d886 if(f >= 100000000.0f) 809d84e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d852: ed9f 7aba vldr s14, [pc, #744] ; 809db3c 809d856: eef4 7ac7 vcmpe.f32 s15, s14 809d85a: eef1 fa10 vmrs APSR_nzcv, fpscr 809d85e: db12 blt.n 809d886 f = 99999.0f; 809d860: 4bb7 ldr r3, [pc, #732] ; (809db40 ) 809d862: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809d864: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d868: eeb0 0a67 vmov.f32 s0, s15 809d86c: f032 f99a bl 80cfba4 809d870: eef0 7a40 vmov.f32 s15, s0 809d874: eefc 7ae7 vcvt.u32.f32 s15, s15 809d878: ee17 3a90 vmov r3, s15 809d87c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809d87e: 2300 movs r3, #0 809d880: 657b str r3, [r7, #84] ; 0x54 m = 1; 809d882: 2301 movs r3, #1 809d884: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 809d886: 6d3a ldr r2, [r7, #80] ; 0x50 809d888: 6dbb ldr r3, [r7, #88] ; 0x58 809d88a: 49ae ldr r1, [pc, #696] ; (809db44 ) 809d88c: fba1 1303 umull r1, r3, r1, r3 809d890: 0b5b lsrs r3, r3, #13 809d892: b2d9 uxtb r1, r3 809d894: 4613 mov r3, r2 809d896: 009b lsls r3, r3, #2 809d898: 4413 add r3, r2 809d89a: f107 0268 add.w r2, r7, #104 ; 0x68 809d89e: 4413 add r3, r2 809d8a0: 3b34 subs r3, #52 ; 0x34 809d8a2: 460a mov r2, r1 809d8a4: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 809d8a6: 6d39 ldr r1, [r7, #80] ; 0x50 809d8a8: 6dba ldr r2, [r7, #88] ; 0x58 809d8aa: 4ba6 ldr r3, [pc, #664] ; (809db44 ) 809d8ac: fba3 0302 umull r0, r3, r3, r2 809d8b0: 0b5b lsrs r3, r3, #13 809d8b2: f242 7010 movw r0, #10000 ; 0x2710 809d8b6: fb00 f303 mul.w r3, r0, r3 809d8ba: 1ad3 subs r3, r2, r3 809d8bc: 4aa2 ldr r2, [pc, #648] ; (809db48 ) 809d8be: fba2 2303 umull r2, r3, r2, r3 809d8c2: 099b lsrs r3, r3, #6 809d8c4: b2da uxtb r2, r3 809d8c6: 460b mov r3, r1 809d8c8: 009b lsls r3, r3, #2 809d8ca: 440b add r3, r1 809d8cc: f107 0168 add.w r1, r7, #104 ; 0x68 809d8d0: 440b add r3, r1 809d8d2: 3b33 subs r3, #51 ; 0x33 809d8d4: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 809d8d6: 6d39 ldr r1, [r7, #80] ; 0x50 809d8d8: 6dba ldr r2, [r7, #88] ; 0x58 809d8da: 4b9a ldr r3, [pc, #616] ; (809db44 ) 809d8dc: fba3 0302 umull r0, r3, r3, r2 809d8e0: 0b5b lsrs r3, r3, #13 809d8e2: f242 7010 movw r0, #10000 ; 0x2710 809d8e6: fb00 f303 mul.w r3, r0, r3 809d8ea: 1ad3 subs r3, r2, r3 809d8ec: 4a96 ldr r2, [pc, #600] ; (809db48 ) 809d8ee: fba2 0203 umull r0, r2, r2, r3 809d8f2: 0992 lsrs r2, r2, #6 809d8f4: f44f 707a mov.w r0, #1000 ; 0x3e8 809d8f8: fb00 f202 mul.w r2, r0, r2 809d8fc: 1a9a subs r2, r3, r2 809d8fe: 4b93 ldr r3, [pc, #588] ; (809db4c ) 809d900: fba3 2302 umull r2, r3, r3, r2 809d904: 095b lsrs r3, r3, #5 809d906: b2da uxtb r2, r3 809d908: 460b mov r3, r1 809d90a: 009b lsls r3, r3, #2 809d90c: 440b add r3, r1 809d90e: f107 0168 add.w r1, r7, #104 ; 0x68 809d912: 440b add r3, r1 809d914: 3b32 subs r3, #50 ; 0x32 809d916: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 809d918: 6d39 ldr r1, [r7, #80] ; 0x50 809d91a: 6dbb ldr r3, [r7, #88] ; 0x58 809d91c: 4a89 ldr r2, [pc, #548] ; (809db44 ) 809d91e: fba2 0203 umull r0, r2, r2, r3 809d922: 0b52 lsrs r2, r2, #13 809d924: f242 7010 movw r0, #10000 ; 0x2710 809d928: fb00 f202 mul.w r2, r0, r2 809d92c: 1a9a subs r2, r3, r2 809d92e: 4b86 ldr r3, [pc, #536] ; (809db48 ) 809d930: fba3 0302 umull r0, r3, r3, r2 809d934: 099b lsrs r3, r3, #6 809d936: f44f 707a mov.w r0, #1000 ; 0x3e8 809d93a: fb00 f303 mul.w r3, r0, r3 809d93e: 1ad3 subs r3, r2, r3 809d940: 4a82 ldr r2, [pc, #520] ; (809db4c ) 809d942: fba2 0203 umull r0, r2, r2, r3 809d946: 0952 lsrs r2, r2, #5 809d948: 2064 movs r0, #100 ; 0x64 809d94a: fb00 f202 mul.w r2, r0, r2 809d94e: 1a9a subs r2, r3, r2 809d950: 4b7f ldr r3, [pc, #508] ; (809db50 ) 809d952: fba3 2302 umull r2, r3, r3, r2 809d956: 08db lsrs r3, r3, #3 809d958: b2da uxtb r2, r3 809d95a: 460b mov r3, r1 809d95c: 009b lsls r3, r3, #2 809d95e: 440b add r3, r1 809d960: f107 0168 add.w r1, r7, #104 ; 0x68 809d964: 440b add r3, r1 809d966: 3b31 subs r3, #49 ; 0x31 809d968: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 809d96a: 6d38 ldr r0, [r7, #80] ; 0x50 809d96c: 6dbb ldr r3, [r7, #88] ; 0x58 809d96e: 4a75 ldr r2, [pc, #468] ; (809db44 ) 809d970: fba2 1203 umull r1, r2, r2, r3 809d974: 0b52 lsrs r2, r2, #13 809d976: f242 7110 movw r1, #10000 ; 0x2710 809d97a: fb01 f202 mul.w r2, r1, r2 809d97e: 1a9a subs r2, r3, r2 809d980: 4b71 ldr r3, [pc, #452] ; (809db48 ) 809d982: fba3 1302 umull r1, r3, r3, r2 809d986: 099b lsrs r3, r3, #6 809d988: f44f 717a mov.w r1, #1000 ; 0x3e8 809d98c: fb01 f303 mul.w r3, r1, r3 809d990: 1ad3 subs r3, r2, r3 809d992: 4a6e ldr r2, [pc, #440] ; (809db4c ) 809d994: fba2 1203 umull r1, r2, r2, r3 809d998: 0952 lsrs r2, r2, #5 809d99a: 2164 movs r1, #100 ; 0x64 809d99c: fb01 f202 mul.w r2, r1, r2 809d9a0: 1a9a subs r2, r3, r2 809d9a2: 4b6b ldr r3, [pc, #428] ; (809db50 ) 809d9a4: fba3 1302 umull r1, r3, r3, r2 809d9a8: 08d9 lsrs r1, r3, #3 809d9aa: 460b mov r3, r1 809d9ac: 009b lsls r3, r3, #2 809d9ae: 440b add r3, r1 809d9b0: 005b lsls r3, r3, #1 809d9b2: 1ad1 subs r1, r2, r3 809d9b4: b2ca uxtb r2, r1 809d9b6: 4603 mov r3, r0 809d9b8: 009b lsls r3, r3, #2 809d9ba: 4403 add r3, r0 809d9bc: f107 0168 add.w r1, r7, #104 ; 0x68 809d9c0: 440b add r3, r1 809d9c2: 3b30 subs r3, #48 ; 0x30 809d9c4: 701a strb r2, [r3, #0] if(ipr == ACC) 809d9c6: 6d3b ldr r3, [r7, #80] ; 0x50 809d9c8: 2b00 cmp r3, #0 809d9ca: f040 80cf bne.w 809db6c if(!t) 809d9ce: 6d7b ldr r3, [r7, #84] ; 0x54 809d9d0: 2b00 cmp r3, #0 809d9d2: d126 bne.n 809da22 for(i = 0; i < 5; i++) 809d9d4: 2300 movs r3, #0 809d9d6: 65fb str r3, [r7, #92] ; 0x5c 809d9d8: e01f b.n 809da1a DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809d9da: 6d3a ldr r2, [r7, #80] ; 0x50 809d9dc: 6df9 ldr r1, [r7, #92] ; 0x5c 809d9de: 4613 mov r3, r2 809d9e0: 009b lsls r3, r3, #2 809d9e2: 4413 add r3, r2 809d9e4: f107 0268 add.w r2, r7, #104 ; 0x68 809d9e8: 4413 add r3, r2 809d9ea: 440b add r3, r1 809d9ec: 3b34 subs r3, #52 ; 0x34 809d9ee: 781b ldrb r3, [r3, #0] 809d9f0: b2db uxtb r3, r3 809d9f2: 461a mov r2, r3 809d9f4: 4b57 ldr r3, [pc, #348] ; (809db54 ) 809d9f6: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809d9fa: 6dfb ldr r3, [r7, #92] ; 0x5c 809d9fc: b29b uxth r3, r3 809d9fe: 461a mov r2, r3 809da00: 0112 lsls r2, r2, #4 809da02: 1ad3 subs r3, r2, r3 809da04: 005b lsls r3, r3, #1 809da06: b29b uxth r3, r3 809da08: 335a adds r3, #90 ; 0x5a 809da0a: b29b uxth r3, r3 809da0c: 2256 movs r2, #86 ; 0x56 809da0e: 4619 mov r1, r3 809da10: f7b8 faf0 bl 8055ff4 for(i = 0; i < 5; i++) 809da14: 6dfb ldr r3, [r7, #92] ; 0x5c 809da16: 3301 adds r3, #1 809da18: 65fb str r3, [r7, #92] ; 0x5c 809da1a: 6dfb ldr r3, [r7, #92] ; 0x5c 809da1c: 2b04 cmp r3, #4 809da1e: d9dc bls.n 809d9da 809da20: e05a b.n 809dad8 for(i = 0; i < t; i++) 809da22: 2300 movs r3, #0 809da24: 65fb str r3, [r7, #92] ; 0x5c 809da26: e01f b.n 809da68 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809da28: 6d3a ldr r2, [r7, #80] ; 0x50 809da2a: 6df9 ldr r1, [r7, #92] ; 0x5c 809da2c: 4613 mov r3, r2 809da2e: 009b lsls r3, r3, #2 809da30: 4413 add r3, r2 809da32: f107 0268 add.w r2, r7, #104 ; 0x68 809da36: 4413 add r3, r2 809da38: 440b add r3, r1 809da3a: 3b34 subs r3, #52 ; 0x34 809da3c: 781b ldrb r3, [r3, #0] 809da3e: b2db uxtb r3, r3 809da40: 461a mov r2, r3 809da42: 4b44 ldr r3, [pc, #272] ; (809db54 ) 809da44: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809da48: 6dfb ldr r3, [r7, #92] ; 0x5c 809da4a: b29b uxth r3, r3 809da4c: 461a mov r2, r3 809da4e: 0112 lsls r2, r2, #4 809da50: 1ad3 subs r3, r2, r3 809da52: 005b lsls r3, r3, #1 809da54: b29b uxth r3, r3 809da56: 335a adds r3, #90 ; 0x5a 809da58: b29b uxth r3, r3 809da5a: 2256 movs r2, #86 ; 0x56 809da5c: 4619 mov r1, r3 809da5e: f7b8 fac9 bl 8055ff4 for(i = 0; i < t; i++) 809da62: 6dfb ldr r3, [r7, #92] ; 0x5c 809da64: 3301 adds r3, #1 809da66: 65fb str r3, [r7, #92] ; 0x5c 809da68: 6dfa ldr r2, [r7, #92] ; 0x5c 809da6a: 6d7b ldr r3, [r7, #84] ; 0x54 809da6c: 429a cmp r2, r3 809da6e: d3db bcc.n 809da28 DrawImage(&bmgpt, 95 + 30*t, 92+18); 809da70: 6d7b ldr r3, [r7, #84] ; 0x54 809da72: b29b uxth r3, r3 809da74: 461a mov r2, r3 809da76: 0112 lsls r2, r2, #4 809da78: 1ad3 subs r3, r2, r3 809da7a: 005b lsls r3, r3, #1 809da7c: b29b uxth r3, r3 809da7e: 335f adds r3, #95 ; 0x5f 809da80: b29b uxth r3, r3 809da82: 226e movs r2, #110 ; 0x6e 809da84: 4619 mov r1, r3 809da86: 4834 ldr r0, [pc, #208] ; (809db58 ) 809da88: f7b8 fab4 bl 8055ff4 for(i = t; i < 5; i++) 809da8c: 6d7b ldr r3, [r7, #84] ; 0x54 809da8e: 65fb str r3, [r7, #92] ; 0x5c 809da90: e01f b.n 809dad2 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 809da92: 6d3a ldr r2, [r7, #80] ; 0x50 809da94: 6df9 ldr r1, [r7, #92] ; 0x5c 809da96: 4613 mov r3, r2 809da98: 009b lsls r3, r3, #2 809da9a: 4413 add r3, r2 809da9c: f107 0268 add.w r2, r7, #104 ; 0x68 809daa0: 4413 add r3, r2 809daa2: 440b add r3, r1 809daa4: 3b34 subs r3, #52 ; 0x34 809daa6: 781b ldrb r3, [r3, #0] 809daa8: b2db uxtb r3, r3 809daaa: 461a mov r2, r3 809daac: 4b29 ldr r3, [pc, #164] ; (809db54 ) 809daae: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809dab2: 6dfb ldr r3, [r7, #92] ; 0x5c 809dab4: b29b uxth r3, r3 809dab6: 461a mov r2, r3 809dab8: 0112 lsls r2, r2, #4 809daba: 1ad3 subs r3, r2, r3 809dabc: 005b lsls r3, r3, #1 809dabe: b29b uxth r3, r3 809dac0: 336e adds r3, #110 ; 0x6e 809dac2: b29b uxth r3, r3 809dac4: 2256 movs r2, #86 ; 0x56 809dac6: 4619 mov r1, r3 809dac8: f7b8 fa94 bl 8055ff4 for(i = t; i < 5; i++) 809dacc: 6dfb ldr r3, [r7, #92] ; 0x5c 809dace: 3301 adds r3, #1 809dad0: 65fb str r3, [r7, #92] ; 0x5c 809dad2: 6dfb ldr r3, [r7, #92] ; 0x5c 809dad4: 2b04 cmp r3, #4 809dad6: d9dc bls.n 809da92 if((ReadFileData.Aivs != 'E') && (ReadFileData.Aivs != 'F')) 809dad8: 4b20 ldr r3, [pc, #128] ; (809db5c ) 809dada: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809dade: b2db uxtb r3, r3 809dae0: 2b45 cmp r3, #69 ; 0x45 809dae2: d012 beq.n 809db0a 809dae4: 4b1d ldr r3, [pc, #116] ; (809db5c ) 809dae6: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809daea: b2db uxtb r3, r3 809daec: 2b46 cmp r3, #70 ; 0x46 809daee: d00c beq.n 809db0a DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 809daf0: 4b1b ldr r3, [pc, #108] ; (809db60 ) 809daf2: 7b1b ldrb r3, [r3, #12] 809daf4: b2db uxtb r3, r3 809daf6: 461a mov r2, r3 809daf8: 4b1a ldr r3, [pc, #104] ; (809db64 ) 809dafa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809dafe: 225c movs r2, #92 ; 0x5c 809db00: f240 1109 movw r1, #265 ; 0x109 809db04: 4618 mov r0, r3 809db06: f7b8 fa75 bl 8055ff4 if(ReadFileData.Aivs == 'E') 809db0a: 4b14 ldr r3, [pc, #80] ; (809db5c ) 809db0c: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809db10: b2db uxtb r3, r3 809db12: 2b45 cmp r3, #69 ; 0x45 809db14: f040 81fd bne.w 809df12 if(ReadFileData.Aval.fl < 0.0f) { 809db18: 4b10 ldr r3, [pc, #64] ; (809db5c ) 809db1a: edd3 7a00 vldr s15, [r3] 809db1e: eef5 7ac0 vcmpe.f32 s15, #0.0 809db22: eef1 fa10 vmrs APSR_nzcv, fpscr 809db26: f140 81f4 bpl.w 809df12 DrawImage(&bmgminus, 78, 84+18); 809db2a: 2266 movs r2, #102 ; 0x66 809db2c: 214e movs r1, #78 ; 0x4e 809db2e: 480e ldr r0, [pc, #56] ; (809db68 ) 809db30: f7b8 fa60 bl 8055ff4 809db34: e1ed b.n 809df12 809db36: bf00 nop 809db38: 0001869f .word 0x0001869f 809db3c: 4cbebc20 .word 0x4cbebc20 809db40: 47c34f80 .word 0x47c34f80 809db44: d1b71759 .word 0xd1b71759 809db48: 10624dd3 .word 0x10624dd3 809db4c: 51eb851f .word 0x51eb851f 809db50: cccccccd .word 0xcccccccd 809db54: 20020124 .word 0x20020124 809db58: 0816e480 .word 0x0816e480 809db5c: 200226f0 .word 0x200226f0 809db60: 20023eb8 .word 0x20023eb8 809db64: 200200f4 .word 0x200200f4 809db68: 0816e3f4 .word 0x0816e3f4 if(ipr == VEL) 809db6c: 6d3b ldr r3, [r7, #80] ; 0x50 809db6e: 2b01 cmp r3, #1 809db70: f040 80d4 bne.w 809dd1c if(ReadFileData.Vval.fl != -1.0f) 809db74: 4ba2 ldr r3, [pc, #648] ; (809de00 ) 809db76: edd3 7a01 vldr s15, [r3, #4] 809db7a: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809db7e: eef4 7a47 vcmp.f32 s15, s14 809db82: eef1 fa10 vmrs APSR_nzcv, fpscr 809db86: f000 80b4 beq.w 809dcf2 if(!t) 809db8a: 6d7b ldr r3, [r7, #84] ; 0x54 809db8c: 2b00 cmp r3, #0 809db8e: d126 bne.n 809dbde for(i = 0; i < 5; i++) 809db90: 2300 movs r3, #0 809db92: 65fb str r3, [r7, #92] ; 0x5c 809db94: e01f b.n 809dbd6 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809db96: 6d3a ldr r2, [r7, #80] ; 0x50 809db98: 6df9 ldr r1, [r7, #92] ; 0x5c 809db9a: 4613 mov r3, r2 809db9c: 009b lsls r3, r3, #2 809db9e: 4413 add r3, r2 809dba0: f107 0268 add.w r2, r7, #104 ; 0x68 809dba4: 4413 add r3, r2 809dba6: 440b add r3, r1 809dba8: 3b34 subs r3, #52 ; 0x34 809dbaa: 781b ldrb r3, [r3, #0] 809dbac: b2db uxtb r3, r3 809dbae: 461a mov r2, r3 809dbb0: 4b94 ldr r3, [pc, #592] ; (809de04 ) 809dbb2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809dbb6: 6dfb ldr r3, [r7, #92] ; 0x5c 809dbb8: b29b uxth r3, r3 809dbba: 461a mov r2, r3 809dbbc: 0112 lsls r2, r2, #4 809dbbe: 1ad3 subs r3, r2, r3 809dbc0: 005b lsls r3, r3, #1 809dbc2: b29b uxth r3, r3 809dbc4: 335a adds r3, #90 ; 0x5a 809dbc6: b29b uxth r3, r3 809dbc8: 2282 movs r2, #130 ; 0x82 809dbca: 4619 mov r1, r3 809dbcc: f7b8 fa12 bl 8055ff4 for(i = 0; i < 5; i++) 809dbd0: 6dfb ldr r3, [r7, #92] ; 0x5c 809dbd2: 3301 adds r3, #1 809dbd4: 65fb str r3, [r7, #92] ; 0x5c 809dbd6: 6dfb ldr r3, [r7, #92] ; 0x5c 809dbd8: 2b04 cmp r3, #4 809dbda: d9dc bls.n 809db96 809dbdc: e05a b.n 809dc94 for(i = 0; i < t; i++) 809dbde: 2300 movs r3, #0 809dbe0: 65fb str r3, [r7, #92] ; 0x5c 809dbe2: e01f b.n 809dc24 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809dbe4: 6d3a ldr r2, [r7, #80] ; 0x50 809dbe6: 6df9 ldr r1, [r7, #92] ; 0x5c 809dbe8: 4613 mov r3, r2 809dbea: 009b lsls r3, r3, #2 809dbec: 4413 add r3, r2 809dbee: f107 0268 add.w r2, r7, #104 ; 0x68 809dbf2: 4413 add r3, r2 809dbf4: 440b add r3, r1 809dbf6: 3b34 subs r3, #52 ; 0x34 809dbf8: 781b ldrb r3, [r3, #0] 809dbfa: b2db uxtb r3, r3 809dbfc: 461a mov r2, r3 809dbfe: 4b81 ldr r3, [pc, #516] ; (809de04 ) 809dc00: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809dc04: 6dfb ldr r3, [r7, #92] ; 0x5c 809dc06: b29b uxth r3, r3 809dc08: 461a mov r2, r3 809dc0a: 0112 lsls r2, r2, #4 809dc0c: 1ad3 subs r3, r2, r3 809dc0e: 005b lsls r3, r3, #1 809dc10: b29b uxth r3, r3 809dc12: 335a adds r3, #90 ; 0x5a 809dc14: b29b uxth r3, r3 809dc16: 2282 movs r2, #130 ; 0x82 809dc18: 4619 mov r1, r3 809dc1a: f7b8 f9eb bl 8055ff4 for(i = 0; i < t; i++) 809dc1e: 6dfb ldr r3, [r7, #92] ; 0x5c 809dc20: 3301 adds r3, #1 809dc22: 65fb str r3, [r7, #92] ; 0x5c 809dc24: 6dfa ldr r2, [r7, #92] ; 0x5c 809dc26: 6d7b ldr r3, [r7, #84] ; 0x54 809dc28: 429a cmp r2, r3 809dc2a: d3db bcc.n 809dbe4 DrawImage(&bmgpt, 95 + 30*t, 145+9); 809dc2c: 6d7b ldr r3, [r7, #84] ; 0x54 809dc2e: b29b uxth r3, r3 809dc30: 461a mov r2, r3 809dc32: 0112 lsls r2, r2, #4 809dc34: 1ad3 subs r3, r2, r3 809dc36: 005b lsls r3, r3, #1 809dc38: b29b uxth r3, r3 809dc3a: 335f adds r3, #95 ; 0x5f 809dc3c: b29b uxth r3, r3 809dc3e: 229a movs r2, #154 ; 0x9a 809dc40: 4619 mov r1, r3 809dc42: 4871 ldr r0, [pc, #452] ; (809de08 ) 809dc44: f7b8 f9d6 bl 8055ff4 for(i = t; i < 5; i++) 809dc48: 6d7b ldr r3, [r7, #84] ; 0x54 809dc4a: 65fb str r3, [r7, #92] ; 0x5c 809dc4c: e01f b.n 809dc8e DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 809dc4e: 6d3a ldr r2, [r7, #80] ; 0x50 809dc50: 6df9 ldr r1, [r7, #92] ; 0x5c 809dc52: 4613 mov r3, r2 809dc54: 009b lsls r3, r3, #2 809dc56: 4413 add r3, r2 809dc58: f107 0268 add.w r2, r7, #104 ; 0x68 809dc5c: 4413 add r3, r2 809dc5e: 440b add r3, r1 809dc60: 3b34 subs r3, #52 ; 0x34 809dc62: 781b ldrb r3, [r3, #0] 809dc64: b2db uxtb r3, r3 809dc66: 461a mov r2, r3 809dc68: 4b66 ldr r3, [pc, #408] ; (809de04 ) 809dc6a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809dc6e: 6dfb ldr r3, [r7, #92] ; 0x5c 809dc70: b29b uxth r3, r3 809dc72: 461a mov r2, r3 809dc74: 0112 lsls r2, r2, #4 809dc76: 1ad3 subs r3, r2, r3 809dc78: 005b lsls r3, r3, #1 809dc7a: b29b uxth r3, r3 809dc7c: 336e adds r3, #110 ; 0x6e 809dc7e: b29b uxth r3, r3 809dc80: 2282 movs r2, #130 ; 0x82 809dc82: 4619 mov r1, r3 809dc84: f7b8 f9b6 bl 8055ff4 for(i = t; i < 5; i++) 809dc88: 6dfb ldr r3, [r7, #92] ; 0x5c 809dc8a: 3301 adds r3, #1 809dc8c: 65fb str r3, [r7, #92] ; 0x5c 809dc8e: 6dfb ldr r3, [r7, #92] ; 0x5c 809dc90: 2b04 cmp r3, #4 809dc92: d9dc bls.n 809dc4e if((ReadFileData.Vivs != 'E') && (ReadFileData.Vivs != 'F')) 809dc94: 4b5a ldr r3, [pc, #360] ; (809de00 ) 809dc96: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809dc9a: b2db uxtb r3, r3 809dc9c: 2b45 cmp r3, #69 ; 0x45 809dc9e: d012 beq.n 809dcc6 809dca0: 4b57 ldr r3, [pc, #348] ; (809de00 ) 809dca2: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809dca6: b2db uxtb r3, r3 809dca8: 2b46 cmp r3, #70 ; 0x46 809dcaa: d00c beq.n 809dcc6 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 809dcac: 4b57 ldr r3, [pc, #348] ; (809de0c ) 809dcae: 7b1b ldrb r3, [r3, #12] 809dcb0: b2db uxtb r3, r3 809dcb2: 461a mov r2, r3 809dcb4: 4b56 ldr r3, [pc, #344] ; (809de10 ) 809dcb6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809dcba: 2289 movs r2, #137 ; 0x89 809dcbc: f240 1109 movw r1, #265 ; 0x109 809dcc0: 4618 mov r0, r3 809dcc2: f7b8 f997 bl 8055ff4 if(ReadFileData.Vivs == 'E') 809dcc6: 4b4e ldr r3, [pc, #312] ; (809de00 ) 809dcc8: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809dccc: b2db uxtb r3, r3 809dcce: 2b45 cmp r3, #69 ; 0x45 809dcd0: f040 811f bne.w 809df12 if(ReadFileData.Vval.fl < 0.0f) { 809dcd4: 4b4a ldr r3, [pc, #296] ; (809de00 ) 809dcd6: edd3 7a01 vldr s15, [r3, #4] 809dcda: eef5 7ac0 vcmpe.f32 s15, #0.0 809dcde: eef1 fa10 vmrs APSR_nzcv, fpscr 809dce2: f140 8116 bpl.w 809df12 DrawImage(&bmgminus, 78, 138+9); 809dce6: 2293 movs r2, #147 ; 0x93 809dce8: 214e movs r1, #78 ; 0x4e 809dcea: 484a ldr r0, [pc, #296] ; (809de14 ) 809dcec: f7b8 f982 bl 8055ff4 809dcf0: e10f b.n 809df12 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809dcf2: 4949 ldr r1, [pc, #292] ; (809de18 ) 809dcf4: 4849 ldr r0, [pc, #292] ; (809de1c ) 809dcf6: f7b7 fa89 bl 805520c if(pardata.LANG == RUS) 809dcfa: 4b44 ldr r3, [pc, #272] ; (809de0c ) 809dcfc: 7b1b ldrb r3, [r3, #12] 809dcfe: b2db uxtb r3, r3 809dd00: 2b00 cmp r3, #0 809dd02: d105 bne.n 809dd10 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809dd04: 4a46 ldr r2, [pc, #280] ; (809de20 ) 809dd06: 2187 movs r1, #135 ; 0x87 809dd08: 20a7 movs r0, #167 ; 0xa7 809dd0a: f7b8 f83f bl 8055d8c 809dd0e: e100 b.n 809df12 else LCD_DisplayStringC(167, 135, "NO DATA"); 809dd10: 4a44 ldr r2, [pc, #272] ; (809de24 ) 809dd12: 2187 movs r1, #135 ; 0x87 809dd14: 20a7 movs r0, #167 ; 0xa7 809dd16: f7b8 f839 bl 8055d8c 809dd1a: e0fa b.n 809df12 if(ipr == DIS) 809dd1c: 6d3b ldr r3, [r7, #80] ; 0x50 809dd1e: 2b02 cmp r3, #2 809dd20: f040 80f7 bne.w 809df12 if(ReadFileData.Sval.fl != -1.0f) 809dd24: 4b36 ldr r3, [pc, #216] ; (809de00 ) 809dd26: edd3 7a02 vldr s15, [r3, #8] 809dd2a: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809dd2e: eef4 7a47 vcmp.f32 s15, s14 809dd32: eef1 fa10 vmrs APSR_nzcv, fpscr 809dd36: f000 80d8 beq.w 809deea if(!t) 809dd3a: 6d7b ldr r3, [r7, #84] ; 0x54 809dd3c: 2b00 cmp r3, #0 809dd3e: d126 bne.n 809dd8e for(i = 0; i < 5; i++) 809dd40: 2300 movs r3, #0 809dd42: 65fb str r3, [r7, #92] ; 0x5c 809dd44: e01f b.n 809dd86 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809dd46: 6d3a ldr r2, [r7, #80] ; 0x50 809dd48: 6df9 ldr r1, [r7, #92] ; 0x5c 809dd4a: 4613 mov r3, r2 809dd4c: 009b lsls r3, r3, #2 809dd4e: 4413 add r3, r2 809dd50: f107 0268 add.w r2, r7, #104 ; 0x68 809dd54: 4413 add r3, r2 809dd56: 440b add r3, r1 809dd58: 3b34 subs r3, #52 ; 0x34 809dd5a: 781b ldrb r3, [r3, #0] 809dd5c: b2db uxtb r3, r3 809dd5e: 461a mov r2, r3 809dd60: 4b28 ldr r3, [pc, #160] ; (809de04 ) 809dd62: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809dd66: 6dfb ldr r3, [r7, #92] ; 0x5c 809dd68: b29b uxth r3, r3 809dd6a: 461a mov r2, r3 809dd6c: 0112 lsls r2, r2, #4 809dd6e: 1ad3 subs r3, r2, r3 809dd70: 005b lsls r3, r3, #1 809dd72: b29b uxth r3, r3 809dd74: 335a adds r3, #90 ; 0x5a 809dd76: b29b uxth r3, r3 809dd78: 22ae movs r2, #174 ; 0xae 809dd7a: 4619 mov r1, r3 809dd7c: f7b8 f93a bl 8055ff4 for(i = 0; i < 5; i++) 809dd80: 6dfb ldr r3, [r7, #92] ; 0x5c 809dd82: 3301 adds r3, #1 809dd84: 65fb str r3, [r7, #92] ; 0x5c 809dd86: 6dfb ldr r3, [r7, #92] ; 0x5c 809dd88: 2b04 cmp r3, #4 809dd8a: d9dc bls.n 809dd46 809dd8c: e06f b.n 809de6e for(i = 0; i < t; i++) 809dd8e: 2300 movs r3, #0 809dd90: 65fb str r3, [r7, #92] ; 0x5c 809dd92: e01f b.n 809ddd4 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809dd94: 6d3a ldr r2, [r7, #80] ; 0x50 809dd96: 6df9 ldr r1, [r7, #92] ; 0x5c 809dd98: 4613 mov r3, r2 809dd9a: 009b lsls r3, r3, #2 809dd9c: 4413 add r3, r2 809dd9e: f107 0268 add.w r2, r7, #104 ; 0x68 809dda2: 4413 add r3, r2 809dda4: 440b add r3, r1 809dda6: 3b34 subs r3, #52 ; 0x34 809dda8: 781b ldrb r3, [r3, #0] 809ddaa: b2db uxtb r3, r3 809ddac: 461a mov r2, r3 809ddae: 4b15 ldr r3, [pc, #84] ; (809de04 ) 809ddb0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809ddb4: 6dfb ldr r3, [r7, #92] ; 0x5c 809ddb6: b29b uxth r3, r3 809ddb8: 461a mov r2, r3 809ddba: 0112 lsls r2, r2, #4 809ddbc: 1ad3 subs r3, r2, r3 809ddbe: 005b lsls r3, r3, #1 809ddc0: b29b uxth r3, r3 809ddc2: 335a adds r3, #90 ; 0x5a 809ddc4: b29b uxth r3, r3 809ddc6: 22ae movs r2, #174 ; 0xae 809ddc8: 4619 mov r1, r3 809ddca: f7b8 f913 bl 8055ff4 for(i = 0; i < t; i++) 809ddce: 6dfb ldr r3, [r7, #92] ; 0x5c 809ddd0: 3301 adds r3, #1 809ddd2: 65fb str r3, [r7, #92] ; 0x5c 809ddd4: 6dfa ldr r2, [r7, #92] ; 0x5c 809ddd6: 6d7b ldr r3, [r7, #84] ; 0x54 809ddd8: 429a cmp r2, r3 809ddda: d3db bcc.n 809dd94 DrawImage(&bmgpt, 95 + 30*t, 198); 809dddc: 6d7b ldr r3, [r7, #84] ; 0x54 809ddde: b29b uxth r3, r3 809dde0: 461a mov r2, r3 809dde2: 0112 lsls r2, r2, #4 809dde4: 1ad3 subs r3, r2, r3 809dde6: 005b lsls r3, r3, #1 809dde8: b29b uxth r3, r3 809ddea: 335f adds r3, #95 ; 0x5f 809ddec: b29b uxth r3, r3 809ddee: 22c6 movs r2, #198 ; 0xc6 809ddf0: 4619 mov r1, r3 809ddf2: 4805 ldr r0, [pc, #20] ; (809de08 ) 809ddf4: f7b8 f8fe bl 8055ff4 for(i = t; i < 5; i++) 809ddf8: 6d7b ldr r3, [r7, #84] ; 0x54 809ddfa: 65fb str r3, [r7, #92] ; 0x5c 809ddfc: e034 b.n 809de68 809ddfe: bf00 nop 809de00: 200226f0 .word 0x200226f0 809de04: 20020124 .word 0x20020124 809de08: 0816e480 .word 0x0816e480 809de0c: 20023eb8 .word 0x20023eb8 809de10: 200200fc .word 0x200200fc 809de14: 0816e3f4 .word 0x0816e3f4 809de18: ff0a0f1f .word 0xff0a0f1f 809de1c: ffb8e828 .word 0xffb8e828 809de20: 080d6564 .word 0x080d6564 809de24: 080d6570 .word 0x080d6570 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 809de28: 6d3a ldr r2, [r7, #80] ; 0x50 809de2a: 6df9 ldr r1, [r7, #92] ; 0x5c 809de2c: 4613 mov r3, r2 809de2e: 009b lsls r3, r3, #2 809de30: 4413 add r3, r2 809de32: f107 0268 add.w r2, r7, #104 ; 0x68 809de36: 4413 add r3, r2 809de38: 440b add r3, r1 809de3a: 3b34 subs r3, #52 ; 0x34 809de3c: 781b ldrb r3, [r3, #0] 809de3e: b2db uxtb r3, r3 809de40: 461a mov r2, r3 809de42: 4bc5 ldr r3, [pc, #788] ; (809e158 ) 809de44: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809de48: 6dfb ldr r3, [r7, #92] ; 0x5c 809de4a: b29b uxth r3, r3 809de4c: 461a mov r2, r3 809de4e: 0112 lsls r2, r2, #4 809de50: 1ad3 subs r3, r2, r3 809de52: 005b lsls r3, r3, #1 809de54: b29b uxth r3, r3 809de56: 336e adds r3, #110 ; 0x6e 809de58: b29b uxth r3, r3 809de5a: 22ae movs r2, #174 ; 0xae 809de5c: 4619 mov r1, r3 809de5e: f7b8 f8c9 bl 8055ff4 for(i = t; i < 5; i++) 809de62: 6dfb ldr r3, [r7, #92] ; 0x5c 809de64: 3301 adds r3, #1 809de66: 65fb str r3, [r7, #92] ; 0x5c 809de68: 6dfb ldr r3, [r7, #92] ; 0x5c 809de6a: 2b04 cmp r3, #4 809de6c: d9dc bls.n 809de28 if((ReadFileData.Sivs != 'E') && (ReadFileData.Sivs != 'F')) 809de6e: 4bbb ldr r3, [pc, #748] ; (809e15c ) 809de70: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809de74: b2db uxtb r3, r3 809de76: 2b45 cmp r3, #69 ; 0x45 809de78: d023 beq.n 809dec2 809de7a: 4bb8 ldr r3, [pc, #736] ; (809e15c ) 809de7c: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809de80: b2db uxtb r3, r3 809de82: 2b46 cmp r3, #70 ; 0x46 809de84: d01d beq.n 809dec2 if(m == 0) 809de86: 6cfb ldr r3, [r7, #76] ; 0x4c 809de88: 2b00 cmp r3, #0 809de8a: d10d bne.n 809dea8 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 809de8c: 4bb4 ldr r3, [pc, #720] ; (809e160 ) 809de8e: 7b1b ldrb r3, [r3, #12] 809de90: b2db uxtb r3, r3 809de92: 461a mov r2, r3 809de94: 4bb3 ldr r3, [pc, #716] ; (809e164 ) 809de96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809de9a: 22b4 movs r2, #180 ; 0xb4 809de9c: f240 1109 movw r1, #265 ; 0x109 809dea0: 4618 mov r0, r3 809dea2: f7b8 f8a7 bl 8055ff4 809dea6: e00c b.n 809dec2 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 809dea8: 4bad ldr r3, [pc, #692] ; (809e160 ) 809deaa: 7b1b ldrb r3, [r3, #12] 809deac: b2db uxtb r3, r3 809deae: 461a mov r2, r3 809deb0: 4bad ldr r3, [pc, #692] ; (809e168 ) 809deb2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809deb6: 22b4 movs r2, #180 ; 0xb4 809deb8: f240 1109 movw r1, #265 ; 0x109 809debc: 4618 mov r0, r3 809debe: f7b8 f899 bl 8055ff4 if(ReadFileData.Sivs == 'E') 809dec2: 4ba6 ldr r3, [pc, #664] ; (809e15c ) 809dec4: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809dec8: b2db uxtb r3, r3 809deca: 2b45 cmp r3, #69 ; 0x45 809decc: d121 bne.n 809df12 if(ReadFileData.Sval.fl < 0.0f) { 809dece: 4ba3 ldr r3, [pc, #652] ; (809e15c ) 809ded0: edd3 7a02 vldr s15, [r3, #8] 809ded4: eef5 7ac0 vcmpe.f32 s15, #0.0 809ded8: eef1 fa10 vmrs APSR_nzcv, fpscr 809dedc: d519 bpl.n 809df12 DrawImage(&bmgminus, 78, 190); 809dede: 22be movs r2, #190 ; 0xbe 809dee0: 214e movs r1, #78 ; 0x4e 809dee2: 48a2 ldr r0, [pc, #648] ; (809e16c ) 809dee4: f7b8 f886 bl 8055ff4 809dee8: e013 b.n 809df12 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809deea: 49a1 ldr r1, [pc, #644] ; (809e170 ) 809deec: 48a1 ldr r0, [pc, #644] ; (809e174 ) 809deee: f7b7 f98d bl 805520c if(pardata.LANG == RUS) 809def2: 4b9b ldr r3, [pc, #620] ; (809e160 ) 809def4: 7b1b ldrb r3, [r3, #12] 809def6: b2db uxtb r3, r3 809def8: 2b00 cmp r3, #0 809defa: d105 bne.n 809df08 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809defc: 4a9e ldr r2, [pc, #632] ; (809e178 ) 809defe: 21b9 movs r1, #185 ; 0xb9 809df00: 20a7 movs r0, #167 ; 0xa7 809df02: f7b7 ff43 bl 8055d8c 809df06: e004 b.n 809df12 else LCD_DisplayStringC(167, 185, "NO DATA"); 809df08: 4a9c ldr r2, [pc, #624] ; (809e17c ) 809df0a: 21b9 movs r1, #185 ; 0xb9 809df0c: 20a7 movs r0, #167 ; 0xa7 809df0e: f7b7 ff3d bl 8055d8c for(ipr = ACC; ipr <= DIS; ipr++) 809df12: 6d3b ldr r3, [r7, #80] ; 0x50 809df14: 3301 adds r3, #1 809df16: 653b str r3, [r7, #80] ; 0x50 809df18: 6d3b ldr r3, [r7, #80] ; 0x50 809df1a: 2b02 cmp r3, #2 809df1c: f67f aa72 bls.w 809d404 break; 809df20: f007 bbc8 b.w 80a56b4 for(ipr = ACC; ipr <= DIS; ipr++) 809df24: 2300 movs r3, #0 809df26: 653b str r3, [r7, #80] ; 0x50 809df28: f001 b984 b.w 809f234 if(ipr == ACC) f = ReadFileData.Aval.fl; 809df2c: 6d3b ldr r3, [r7, #80] ; 0x50 809df2e: 2b00 cmp r3, #0 809df30: d103 bne.n 809df3a 809df32: 4b8a ldr r3, [pc, #552] ; (809e15c ) 809df34: 681b ldr r3, [r3, #0] 809df36: 647b str r3, [r7, #68] ; 0x44 809df38: e00c b.n 809df54 else if(ipr == VEL) f = ReadFileData.Vval.fl; 809df3a: 6d3b ldr r3, [r7, #80] ; 0x50 809df3c: 2b01 cmp r3, #1 809df3e: d103 bne.n 809df48 809df40: 4b86 ldr r3, [pc, #536] ; (809e15c ) 809df42: 685b ldr r3, [r3, #4] 809df44: 647b str r3, [r7, #68] ; 0x44 809df46: e005 b.n 809df54 else if(ipr == DIS) f = ReadFileData.Sval.fl; 809df48: 6d3b ldr r3, [r7, #80] ; 0x50 809df4a: 2b02 cmp r3, #2 809df4c: d102 bne.n 809df54 809df4e: 4b83 ldr r3, [pc, #524] ; (809e15c ) 809df50: 689b ldr r3, [r3, #8] 809df52: 647b str r3, [r7, #68] ; 0x44 if((ivs[ipr] == 'F') || (ivs[ipr] == 'E')) 809df54: 6d3b ldr r3, [r7, #80] ; 0x50 809df56: f107 0268 add.w r2, r7, #104 ; 0x68 809df5a: 4413 add r3, r2 809df5c: f813 3c68 ldrb.w r3, [r3, #-104] 809df60: 2b46 cmp r3, #70 ; 0x46 809df62: d008 beq.n 809df76 809df64: 6d3b ldr r3, [r7, #80] ; 0x50 809df66: f107 0268 add.w r2, r7, #104 ; 0x68 809df6a: 4413 add r3, r2 809df6c: f813 3c68 ldrb.w r3, [r3, #-104] 809df70: 2b45 cmp r3, #69 ; 0x45 809df72: f040 8547 bne.w 809ea04 if(ipr < DIS) 809df76: 6d3b ldr r3, [r7, #80] ; 0x50 809df78: 2b01 cmp r3, #1 809df7a: f200 80af bhi.w 809e0dc if(f < 10.0f) 809df7e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809df82: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809df86: eef4 7ac7 vcmpe.f32 s15, s14 809df8a: eef1 fa10 vmrs APSR_nzcv, fpscr 809df8e: d513 bpl.n 809dfb8 k = (uint32_t) (roundf(f * 10000)); 809df90: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809df94: ed9f 7a7e vldr s14, [pc, #504] ; 809e190 809df98: ee67 7a87 vmul.f32 s15, s15, s14 809df9c: eeb0 0a67 vmov.f32 s0, s15 809dfa0: f031 fe00 bl 80cfba4 809dfa4: eef0 7a40 vmov.f32 s15, s0 809dfa8: eefc 7ae7 vcvt.u32.f32 s15, s15 809dfac: ee17 3a90 vmov r3, s15 809dfb0: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809dfb2: 2301 movs r3, #1 809dfb4: 657b str r3, [r7, #84] ; 0x54 809dfb6: e1d3 b.n 809e360 if(f < 100.0f) 809dfb8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809dfbc: ed9f 7a73 vldr s14, [pc, #460] ; 809e18c 809dfc0: eef4 7ac7 vcmpe.f32 s15, s14 809dfc4: eef1 fa10 vmrs APSR_nzcv, fpscr 809dfc8: d513 bpl.n 809dff2 k = (uint32_t) (roundf(f * 1000)); 809dfca: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809dfce: ed9f 7a6e vldr s14, [pc, #440] ; 809e188 809dfd2: ee67 7a87 vmul.f32 s15, s15, s14 809dfd6: eeb0 0a67 vmov.f32 s0, s15 809dfda: f031 fde3 bl 80cfba4 809dfde: eef0 7a40 vmov.f32 s15, s0 809dfe2: eefc 7ae7 vcvt.u32.f32 s15, s15 809dfe6: ee17 3a90 vmov r3, s15 809dfea: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809dfec: 2302 movs r3, #2 809dfee: 657b str r3, [r7, #84] ; 0x54 809dff0: e1b6 b.n 809e360 if(f < 1000.0f) 809dff2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809dff6: ed9f 7a64 vldr s14, [pc, #400] ; 809e188 809dffa: eef4 7ac7 vcmpe.f32 s15, s14 809dffe: eef1 fa10 vmrs APSR_nzcv, fpscr 809e002: d513 bpl.n 809e02c k = (uint32_t) (roundf(f * 100)); 809e004: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e008: ed9f 7a60 vldr s14, [pc, #384] ; 809e18c 809e00c: ee67 7a87 vmul.f32 s15, s15, s14 809e010: eeb0 0a67 vmov.f32 s0, s15 809e014: f031 fdc6 bl 80cfba4 809e018: eef0 7a40 vmov.f32 s15, s0 809e01c: eefc 7ae7 vcvt.u32.f32 s15, s15 809e020: ee17 3a90 vmov r3, s15 809e024: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809e026: 2303 movs r3, #3 809e028: 657b str r3, [r7, #84] ; 0x54 809e02a: e199 b.n 809e360 if(f < 10000.0f) 809e02c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e030: ed9f 7a57 vldr s14, [pc, #348] ; 809e190 809e034: eef4 7ac7 vcmpe.f32 s15, s14 809e038: eef1 fa10 vmrs APSR_nzcv, fpscr 809e03c: d513 bpl.n 809e066 k = (uint32_t) (roundf(f * 10)); 809e03e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e042: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809e046: ee67 7a87 vmul.f32 s15, s15, s14 809e04a: eeb0 0a67 vmov.f32 s0, s15 809e04e: f031 fda9 bl 80cfba4 809e052: eef0 7a40 vmov.f32 s15, s0 809e056: eefc 7ae7 vcvt.u32.f32 s15, s15 809e05a: ee17 3a90 vmov r3, s15 809e05e: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809e060: 2304 movs r3, #4 809e062: 657b str r3, [r7, #84] ; 0x54 809e064: e17c b.n 809e360 if(f < 100000.0f) 809e066: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e06a: ed9f 7a4a vldr s14, [pc, #296] ; 809e194 809e06e: eef4 7ac7 vcmpe.f32 s15, s14 809e072: eef1 fa10 vmrs APSR_nzcv, fpscr 809e076: d515 bpl.n 809e0a4 k = (uint32_t) (roundf(f)); 809e078: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e07c: eeb0 0a67 vmov.f32 s0, s15 809e080: f031 fd90 bl 80cfba4 809e084: eef0 7a40 vmov.f32 s15, s0 809e088: eefc 7ae7 vcvt.u32.f32 s15, s15 809e08c: ee17 3a90 vmov r3, s15 809e090: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809e092: 6dbb ldr r3, [r7, #88] ; 0x58 809e094: 4a3a ldr r2, [pc, #232] ; (809e180 ) 809e096: 4293 cmp r3, r2 809e098: d901 bls.n 809e09e k = 99999; 809e09a: 4b39 ldr r3, [pc, #228] ; (809e180 ) 809e09c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809e09e: 2300 movs r3, #0 809e0a0: 657b str r3, [r7, #84] ; 0x54 809e0a2: e15d b.n 809e360 if(f >= 100000.0f) 809e0a4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e0a8: ed9f 7a3a vldr s14, [pc, #232] ; 809e194 809e0ac: eef4 7ac7 vcmpe.f32 s15, s14 809e0b0: eef1 fa10 vmrs APSR_nzcv, fpscr 809e0b4: f2c0 8154 blt.w 809e360 f = 99999.0f; 809e0b8: 4b32 ldr r3, [pc, #200] ; (809e184 ) 809e0ba: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809e0bc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e0c0: eeb0 0a67 vmov.f32 s0, s15 809e0c4: f031 fd6e bl 80cfba4 809e0c8: eef0 7a40 vmov.f32 s15, s0 809e0cc: eefc 7ae7 vcvt.u32.f32 s15, s15 809e0d0: ee17 3a90 vmov r3, s15 809e0d4: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809e0d6: 2300 movs r3, #0 809e0d8: 657b str r3, [r7, #84] ; 0x54 809e0da: e141 b.n 809e360 if(f < 10.0f) 809e0dc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e0e0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809e0e4: eef4 7ac7 vcmpe.f32 s15, s14 809e0e8: eef1 fa10 vmrs APSR_nzcv, fpscr 809e0ec: d515 bpl.n 809e11a k = (uint32_t) (roundf(f * 10000)); 809e0ee: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e0f2: ed9f 7a27 vldr s14, [pc, #156] ; 809e190 809e0f6: ee67 7a87 vmul.f32 s15, s15, s14 809e0fa: eeb0 0a67 vmov.f32 s0, s15 809e0fe: f031 fd51 bl 80cfba4 809e102: eef0 7a40 vmov.f32 s15, s0 809e106: eefc 7ae7 vcvt.u32.f32 s15, s15 809e10a: ee17 3a90 vmov r3, s15 809e10e: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809e110: 2301 movs r3, #1 809e112: 657b str r3, [r7, #84] ; 0x54 m = 0; 809e114: 2300 movs r3, #0 809e116: 64fb str r3, [r7, #76] ; 0x4c 809e118: e122 b.n 809e360 if(f < 100.0f) 809e11a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e11e: ed9f 7a1b vldr s14, [pc, #108] ; 809e18c 809e122: eef4 7ac7 vcmpe.f32 s15, s14 809e126: eef1 fa10 vmrs APSR_nzcv, fpscr 809e12a: d541 bpl.n 809e1b0 k = (uint32_t) (roundf(f * 1000)); 809e12c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e130: ed9f 7a15 vldr s14, [pc, #84] ; 809e188 809e134: ee67 7a87 vmul.f32 s15, s15, s14 809e138: eeb0 0a67 vmov.f32 s0, s15 809e13c: f031 fd32 bl 80cfba4 809e140: eef0 7a40 vmov.f32 s15, s0 809e144: eefc 7ae7 vcvt.u32.f32 s15, s15 809e148: ee17 3a90 vmov r3, s15 809e14c: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809e14e: 2302 movs r3, #2 809e150: 657b str r3, [r7, #84] ; 0x54 m = 0; 809e152: 2300 movs r3, #0 809e154: 64fb str r3, [r7, #76] ; 0x4c 809e156: e103 b.n 809e360 809e158: 20020124 .word 0x20020124 809e15c: 200226f0 .word 0x200226f0 809e160: 20023eb8 .word 0x20023eb8 809e164: 20020104 .word 0x20020104 809e168: 2002010c .word 0x2002010c 809e16c: 0816e3f4 .word 0x0816e3f4 809e170: ff0a0f1f .word 0xff0a0f1f 809e174: ffb8e828 .word 0xffb8e828 809e178: 080d6564 .word 0x080d6564 809e17c: 080d6570 .word 0x080d6570 809e180: 0001869f .word 0x0001869f 809e184: 47c34f80 .word 0x47c34f80 809e188: 447a0000 .word 0x447a0000 809e18c: 42c80000 .word 0x42c80000 809e190: 461c4000 .word 0x461c4000 809e194: 47c35000 .word 0x47c35000 809e198: 49742400 .word 0x49742400 809e19c: 3dcccccd .word 0x3dcccccd 809e1a0: 4b189680 .word 0x4b189680 809e1a4: 3c23d70a .word 0x3c23d70a 809e1a8: 4cbebc20 .word 0x4cbebc20 809e1ac: 3a83126f .word 0x3a83126f if(f < 1000.0f) 809e1b0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e1b4: ed1f 7a0c vldr s14, [pc, #-48] ; 809e188 809e1b8: eef4 7ac7 vcmpe.f32 s15, s14 809e1bc: eef1 fa10 vmrs APSR_nzcv, fpscr 809e1c0: d515 bpl.n 809e1ee k = (uint32_t) (roundf(f * 100)); 809e1c2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e1c6: ed1f 7a0f vldr s14, [pc, #-60] ; 809e18c 809e1ca: ee67 7a87 vmul.f32 s15, s15, s14 809e1ce: eeb0 0a67 vmov.f32 s0, s15 809e1d2: f031 fce7 bl 80cfba4 809e1d6: eef0 7a40 vmov.f32 s15, s0 809e1da: eefc 7ae7 vcvt.u32.f32 s15, s15 809e1de: ee17 3a90 vmov r3, s15 809e1e2: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809e1e4: 2303 movs r3, #3 809e1e6: 657b str r3, [r7, #84] ; 0x54 m = 0; 809e1e8: 2300 movs r3, #0 809e1ea: 64fb str r3, [r7, #76] ; 0x4c 809e1ec: e0b8 b.n 809e360 if(f < 10000.0f) 809e1ee: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e1f2: ed1f 7a19 vldr s14, [pc, #-100] ; 809e190 809e1f6: eef4 7ac7 vcmpe.f32 s15, s14 809e1fa: eef1 fa10 vmrs APSR_nzcv, fpscr 809e1fe: d515 bpl.n 809e22c k = (uint32_t) (roundf(f * 10)); 809e200: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e204: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809e208: ee67 7a87 vmul.f32 s15, s15, s14 809e20c: eeb0 0a67 vmov.f32 s0, s15 809e210: f031 fcc8 bl 80cfba4 809e214: eef0 7a40 vmov.f32 s15, s0 809e218: eefc 7ae7 vcvt.u32.f32 s15, s15 809e21c: ee17 3a90 vmov r3, s15 809e220: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809e222: 2301 movs r3, #1 809e224: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e226: 2301 movs r3, #1 809e228: 64fb str r3, [r7, #76] ; 0x4c 809e22a: e099 b.n 809e360 if(f < 100000.0f) 809e22c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e230: ed1f 7a28 vldr s14, [pc, #-160] ; 809e194 809e234: eef4 7ac7 vcmpe.f32 s15, s14 809e238: eef1 fa10 vmrs APSR_nzcv, fpscr 809e23c: d511 bpl.n 809e262 k = (uint32_t) (roundf(f)); 809e23e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e242: eeb0 0a67 vmov.f32 s0, s15 809e246: f031 fcad bl 80cfba4 809e24a: eef0 7a40 vmov.f32 s15, s0 809e24e: eefc 7ae7 vcvt.u32.f32 s15, s15 809e252: ee17 3a90 vmov r3, s15 809e256: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809e258: 2302 movs r3, #2 809e25a: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e25c: 2301 movs r3, #1 809e25e: 64fb str r3, [r7, #76] ; 0x4c 809e260: e07e b.n 809e360 if(f < 1000000.0f) 809e262: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e266: ed1f 7a34 vldr s14, [pc, #-208] ; 809e198 809e26a: eef4 7ac7 vcmpe.f32 s15, s14 809e26e: eef1 fa10 vmrs APSR_nzcv, fpscr 809e272: d515 bpl.n 809e2a0 k = (uint32_t) (roundf(f * 0.1f)); 809e274: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e278: ed1f 7a38 vldr s14, [pc, #-224] ; 809e19c 809e27c: ee67 7a87 vmul.f32 s15, s15, s14 809e280: eeb0 0a67 vmov.f32 s0, s15 809e284: f031 fc8e bl 80cfba4 809e288: eef0 7a40 vmov.f32 s15, s0 809e28c: eefc 7ae7 vcvt.u32.f32 s15, s15 809e290: ee17 3a90 vmov r3, s15 809e294: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809e296: 2303 movs r3, #3 809e298: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e29a: 2301 movs r3, #1 809e29c: 64fb str r3, [r7, #76] ; 0x4c 809e29e: e05f b.n 809e360 if(f < 10000000.0f) 809e2a0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e2a4: ed1f 7a42 vldr s14, [pc, #-264] ; 809e1a0 809e2a8: eef4 7ac7 vcmpe.f32 s15, s14 809e2ac: eef1 fa10 vmrs APSR_nzcv, fpscr 809e2b0: d515 bpl.n 809e2de k = (uint32_t) (roundf(f * 0.01f)); 809e2b2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e2b6: ed1f 7a45 vldr s14, [pc, #-276] ; 809e1a4 809e2ba: ee67 7a87 vmul.f32 s15, s15, s14 809e2be: eeb0 0a67 vmov.f32 s0, s15 809e2c2: f031 fc6f bl 80cfba4 809e2c6: eef0 7a40 vmov.f32 s15, s0 809e2ca: eefc 7ae7 vcvt.u32.f32 s15, s15 809e2ce: ee17 3a90 vmov r3, s15 809e2d2: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809e2d4: 2304 movs r3, #4 809e2d6: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e2d8: 2301 movs r3, #1 809e2da: 64fb str r3, [r7, #76] ; 0x4c 809e2dc: e040 b.n 809e360 if(f < 100000000.0f) 809e2de: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e2e2: ed1f 7a4f vldr s14, [pc, #-316] ; 809e1a8 809e2e6: eef4 7ac7 vcmpe.f32 s15, s14 809e2ea: eef1 fa10 vmrs APSR_nzcv, fpscr 809e2ee: d51b bpl.n 809e328 k = (uint32_t) (roundf(f * 0.001f)); 809e2f0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e2f4: ed1f 7a53 vldr s14, [pc, #-332] ; 809e1ac 809e2f8: ee67 7a87 vmul.f32 s15, s15, s14 809e2fc: eeb0 0a67 vmov.f32 s0, s15 809e300: f031 fc50 bl 80cfba4 809e304: eef0 7a40 vmov.f32 s15, s0 809e308: eefc 7ae7 vcvt.u32.f32 s15, s15 809e30c: ee17 3a90 vmov r3, s15 809e310: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809e312: 6dbb ldr r3, [r7, #88] ; 0x58 809e314: 4abf ldr r2, [pc, #764] ; (809e614 ) 809e316: 4293 cmp r3, r2 809e318: d901 bls.n 809e31e k = 99999; 809e31a: 4bbe ldr r3, [pc, #760] ; (809e614 ) 809e31c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809e31e: 2300 movs r3, #0 809e320: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e322: 2301 movs r3, #1 809e324: 64fb str r3, [r7, #76] ; 0x4c 809e326: e01b b.n 809e360 if(f >= 100000000.0f) 809e328: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e32c: ed9f 7aba vldr s14, [pc, #744] ; 809e618 809e330: eef4 7ac7 vcmpe.f32 s15, s14 809e334: eef1 fa10 vmrs APSR_nzcv, fpscr 809e338: db12 blt.n 809e360 f = 99999.0f; 809e33a: 4bb8 ldr r3, [pc, #736] ; (809e61c ) 809e33c: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809e33e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e342: eeb0 0a67 vmov.f32 s0, s15 809e346: f031 fc2d bl 80cfba4 809e34a: eef0 7a40 vmov.f32 s15, s0 809e34e: eefc 7ae7 vcvt.u32.f32 s15, s15 809e352: ee17 3a90 vmov r3, s15 809e356: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809e358: 2300 movs r3, #0 809e35a: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e35c: 2301 movs r3, #1 809e35e: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 809e360: 6d3a ldr r2, [r7, #80] ; 0x50 809e362: 6dbb ldr r3, [r7, #88] ; 0x58 809e364: 49ae ldr r1, [pc, #696] ; (809e620 ) 809e366: fba1 1303 umull r1, r3, r1, r3 809e36a: 0b5b lsrs r3, r3, #13 809e36c: b2d9 uxtb r1, r3 809e36e: 4613 mov r3, r2 809e370: 009b lsls r3, r3, #2 809e372: 4413 add r3, r2 809e374: f107 0268 add.w r2, r7, #104 ; 0x68 809e378: 4413 add r3, r2 809e37a: 3b34 subs r3, #52 ; 0x34 809e37c: 460a mov r2, r1 809e37e: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 809e380: 6d39 ldr r1, [r7, #80] ; 0x50 809e382: 6dba ldr r2, [r7, #88] ; 0x58 809e384: 4ba6 ldr r3, [pc, #664] ; (809e620 ) 809e386: fba3 0302 umull r0, r3, r3, r2 809e38a: 0b5b lsrs r3, r3, #13 809e38c: f242 7010 movw r0, #10000 ; 0x2710 809e390: fb00 f303 mul.w r3, r0, r3 809e394: 1ad3 subs r3, r2, r3 809e396: 4aa3 ldr r2, [pc, #652] ; (809e624 ) 809e398: fba2 2303 umull r2, r3, r2, r3 809e39c: 099b lsrs r3, r3, #6 809e39e: b2da uxtb r2, r3 809e3a0: 460b mov r3, r1 809e3a2: 009b lsls r3, r3, #2 809e3a4: 440b add r3, r1 809e3a6: f107 0168 add.w r1, r7, #104 ; 0x68 809e3aa: 440b add r3, r1 809e3ac: 3b33 subs r3, #51 ; 0x33 809e3ae: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 809e3b0: 6d39 ldr r1, [r7, #80] ; 0x50 809e3b2: 6dba ldr r2, [r7, #88] ; 0x58 809e3b4: 4b9a ldr r3, [pc, #616] ; (809e620 ) 809e3b6: fba3 0302 umull r0, r3, r3, r2 809e3ba: 0b5b lsrs r3, r3, #13 809e3bc: f242 7010 movw r0, #10000 ; 0x2710 809e3c0: fb00 f303 mul.w r3, r0, r3 809e3c4: 1ad3 subs r3, r2, r3 809e3c6: 4a97 ldr r2, [pc, #604] ; (809e624 ) 809e3c8: fba2 0203 umull r0, r2, r2, r3 809e3cc: 0992 lsrs r2, r2, #6 809e3ce: f44f 707a mov.w r0, #1000 ; 0x3e8 809e3d2: fb00 f202 mul.w r2, r0, r2 809e3d6: 1a9a subs r2, r3, r2 809e3d8: 4b93 ldr r3, [pc, #588] ; (809e628 ) 809e3da: fba3 2302 umull r2, r3, r3, r2 809e3de: 095b lsrs r3, r3, #5 809e3e0: b2da uxtb r2, r3 809e3e2: 460b mov r3, r1 809e3e4: 009b lsls r3, r3, #2 809e3e6: 440b add r3, r1 809e3e8: f107 0168 add.w r1, r7, #104 ; 0x68 809e3ec: 440b add r3, r1 809e3ee: 3b32 subs r3, #50 ; 0x32 809e3f0: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 809e3f2: 6d39 ldr r1, [r7, #80] ; 0x50 809e3f4: 6dbb ldr r3, [r7, #88] ; 0x58 809e3f6: 4a8a ldr r2, [pc, #552] ; (809e620 ) 809e3f8: fba2 0203 umull r0, r2, r2, r3 809e3fc: 0b52 lsrs r2, r2, #13 809e3fe: f242 7010 movw r0, #10000 ; 0x2710 809e402: fb00 f202 mul.w r2, r0, r2 809e406: 1a9a subs r2, r3, r2 809e408: 4b86 ldr r3, [pc, #536] ; (809e624 ) 809e40a: fba3 0302 umull r0, r3, r3, r2 809e40e: 099b lsrs r3, r3, #6 809e410: f44f 707a mov.w r0, #1000 ; 0x3e8 809e414: fb00 f303 mul.w r3, r0, r3 809e418: 1ad3 subs r3, r2, r3 809e41a: 4a83 ldr r2, [pc, #524] ; (809e628 ) 809e41c: fba2 0203 umull r0, r2, r2, r3 809e420: 0952 lsrs r2, r2, #5 809e422: 2064 movs r0, #100 ; 0x64 809e424: fb00 f202 mul.w r2, r0, r2 809e428: 1a9a subs r2, r3, r2 809e42a: 4b80 ldr r3, [pc, #512] ; (809e62c ) 809e42c: fba3 2302 umull r2, r3, r3, r2 809e430: 08db lsrs r3, r3, #3 809e432: b2da uxtb r2, r3 809e434: 460b mov r3, r1 809e436: 009b lsls r3, r3, #2 809e438: 440b add r3, r1 809e43a: f107 0168 add.w r1, r7, #104 ; 0x68 809e43e: 440b add r3, r1 809e440: 3b31 subs r3, #49 ; 0x31 809e442: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 809e444: 6d38 ldr r0, [r7, #80] ; 0x50 809e446: 6dbb ldr r3, [r7, #88] ; 0x58 809e448: 4a75 ldr r2, [pc, #468] ; (809e620 ) 809e44a: fba2 1203 umull r1, r2, r2, r3 809e44e: 0b52 lsrs r2, r2, #13 809e450: f242 7110 movw r1, #10000 ; 0x2710 809e454: fb01 f202 mul.w r2, r1, r2 809e458: 1a9a subs r2, r3, r2 809e45a: 4b72 ldr r3, [pc, #456] ; (809e624 ) 809e45c: fba3 1302 umull r1, r3, r3, r2 809e460: 099b lsrs r3, r3, #6 809e462: f44f 717a mov.w r1, #1000 ; 0x3e8 809e466: fb01 f303 mul.w r3, r1, r3 809e46a: 1ad3 subs r3, r2, r3 809e46c: 4a6e ldr r2, [pc, #440] ; (809e628 ) 809e46e: fba2 1203 umull r1, r2, r2, r3 809e472: 0952 lsrs r2, r2, #5 809e474: 2164 movs r1, #100 ; 0x64 809e476: fb01 f202 mul.w r2, r1, r2 809e47a: 1a9a subs r2, r3, r2 809e47c: 4b6b ldr r3, [pc, #428] ; (809e62c ) 809e47e: fba3 1302 umull r1, r3, r3, r2 809e482: 08d9 lsrs r1, r3, #3 809e484: 460b mov r3, r1 809e486: 009b lsls r3, r3, #2 809e488: 440b add r3, r1 809e48a: 005b lsls r3, r3, #1 809e48c: 1ad1 subs r1, r2, r3 809e48e: b2ca uxtb r2, r1 809e490: 4603 mov r3, r0 809e492: 009b lsls r3, r3, #2 809e494: 4403 add r3, r0 809e496: f107 0168 add.w r1, r7, #104 ; 0x68 809e49a: 440b add r3, r1 809e49c: 3b30 subs r3, #48 ; 0x30 809e49e: 701a strb r2, [r3, #0] if(ipr == ACC) 809e4a0: 6d3b ldr r3, [r7, #80] ; 0x50 809e4a2: 2b00 cmp r3, #0 809e4a4: f040 80d0 bne.w 809e648 if(!t) 809e4a8: 6d7b ldr r3, [r7, #84] ; 0x54 809e4aa: 2b00 cmp r3, #0 809e4ac: d126 bne.n 809e4fc for(i = 0; i < 5; i++) 809e4ae: 2300 movs r3, #0 809e4b0: 65fb str r3, [r7, #92] ; 0x5c 809e4b2: e01f b.n 809e4f4 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809e4b4: 6d3a ldr r2, [r7, #80] ; 0x50 809e4b6: 6df9 ldr r1, [r7, #92] ; 0x5c 809e4b8: 4613 mov r3, r2 809e4ba: 009b lsls r3, r3, #2 809e4bc: 4413 add r3, r2 809e4be: f107 0268 add.w r2, r7, #104 ; 0x68 809e4c2: 4413 add r3, r2 809e4c4: 440b add r3, r1 809e4c6: 3b34 subs r3, #52 ; 0x34 809e4c8: 781b ldrb r3, [r3, #0] 809e4ca: b2db uxtb r3, r3 809e4cc: 461a mov r2, r3 809e4ce: 4b58 ldr r3, [pc, #352] ; (809e630 ) 809e4d0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e4d4: 6dfb ldr r3, [r7, #92] ; 0x5c 809e4d6: b29b uxth r3, r3 809e4d8: 461a mov r2, r3 809e4da: 0112 lsls r2, r2, #4 809e4dc: 1ad3 subs r3, r2, r3 809e4de: 005b lsls r3, r3, #1 809e4e0: b29b uxth r3, r3 809e4e2: 335a adds r3, #90 ; 0x5a 809e4e4: b29b uxth r3, r3 809e4e6: 2256 movs r2, #86 ; 0x56 809e4e8: 4619 mov r1, r3 809e4ea: f7b7 fd83 bl 8055ff4 for(i = 0; i < 5; i++) 809e4ee: 6dfb ldr r3, [r7, #92] ; 0x5c 809e4f0: 3301 adds r3, #1 809e4f2: 65fb str r3, [r7, #92] ; 0x5c 809e4f4: 6dfb ldr r3, [r7, #92] ; 0x5c 809e4f6: 2b04 cmp r3, #4 809e4f8: d9dc bls.n 809e4b4 809e4fa: e05a b.n 809e5b2 for(i = 0; i < t; i++) 809e4fc: 2300 movs r3, #0 809e4fe: 65fb str r3, [r7, #92] ; 0x5c 809e500: e01f b.n 809e542 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809e502: 6d3a ldr r2, [r7, #80] ; 0x50 809e504: 6df9 ldr r1, [r7, #92] ; 0x5c 809e506: 4613 mov r3, r2 809e508: 009b lsls r3, r3, #2 809e50a: 4413 add r3, r2 809e50c: f107 0268 add.w r2, r7, #104 ; 0x68 809e510: 4413 add r3, r2 809e512: 440b add r3, r1 809e514: 3b34 subs r3, #52 ; 0x34 809e516: 781b ldrb r3, [r3, #0] 809e518: b2db uxtb r3, r3 809e51a: 461a mov r2, r3 809e51c: 4b44 ldr r3, [pc, #272] ; (809e630 ) 809e51e: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e522: 6dfb ldr r3, [r7, #92] ; 0x5c 809e524: b29b uxth r3, r3 809e526: 461a mov r2, r3 809e528: 0112 lsls r2, r2, #4 809e52a: 1ad3 subs r3, r2, r3 809e52c: 005b lsls r3, r3, #1 809e52e: b29b uxth r3, r3 809e530: 335a adds r3, #90 ; 0x5a 809e532: b29b uxth r3, r3 809e534: 2256 movs r2, #86 ; 0x56 809e536: 4619 mov r1, r3 809e538: f7b7 fd5c bl 8055ff4 for(i = 0; i < t; i++) 809e53c: 6dfb ldr r3, [r7, #92] ; 0x5c 809e53e: 3301 adds r3, #1 809e540: 65fb str r3, [r7, #92] ; 0x5c 809e542: 6dfa ldr r2, [r7, #92] ; 0x5c 809e544: 6d7b ldr r3, [r7, #84] ; 0x54 809e546: 429a cmp r2, r3 809e548: d3db bcc.n 809e502 DrawImage(&bmgpt, 95 + 30*t, 92+18); 809e54a: 6d7b ldr r3, [r7, #84] ; 0x54 809e54c: b29b uxth r3, r3 809e54e: 461a mov r2, r3 809e550: 0112 lsls r2, r2, #4 809e552: 1ad3 subs r3, r2, r3 809e554: 005b lsls r3, r3, #1 809e556: b29b uxth r3, r3 809e558: 335f adds r3, #95 ; 0x5f 809e55a: b29b uxth r3, r3 809e55c: 226e movs r2, #110 ; 0x6e 809e55e: 4619 mov r1, r3 809e560: 4834 ldr r0, [pc, #208] ; (809e634 ) 809e562: f7b7 fd47 bl 8055ff4 for(i = t; i < 5; i++) 809e566: 6d7b ldr r3, [r7, #84] ; 0x54 809e568: 65fb str r3, [r7, #92] ; 0x5c 809e56a: e01f b.n 809e5ac DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 809e56c: 6d3a ldr r2, [r7, #80] ; 0x50 809e56e: 6df9 ldr r1, [r7, #92] ; 0x5c 809e570: 4613 mov r3, r2 809e572: 009b lsls r3, r3, #2 809e574: 4413 add r3, r2 809e576: f107 0268 add.w r2, r7, #104 ; 0x68 809e57a: 4413 add r3, r2 809e57c: 440b add r3, r1 809e57e: 3b34 subs r3, #52 ; 0x34 809e580: 781b ldrb r3, [r3, #0] 809e582: b2db uxtb r3, r3 809e584: 461a mov r2, r3 809e586: 4b2a ldr r3, [pc, #168] ; (809e630 ) 809e588: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e58c: 6dfb ldr r3, [r7, #92] ; 0x5c 809e58e: b29b uxth r3, r3 809e590: 461a mov r2, r3 809e592: 0112 lsls r2, r2, #4 809e594: 1ad3 subs r3, r2, r3 809e596: 005b lsls r3, r3, #1 809e598: b29b uxth r3, r3 809e59a: 336e adds r3, #110 ; 0x6e 809e59c: b29b uxth r3, r3 809e59e: 2256 movs r2, #86 ; 0x56 809e5a0: 4619 mov r1, r3 809e5a2: f7b7 fd27 bl 8055ff4 for(i = t; i < 5; i++) 809e5a6: 6dfb ldr r3, [r7, #92] ; 0x5c 809e5a8: 3301 adds r3, #1 809e5aa: 65fb str r3, [r7, #92] ; 0x5c 809e5ac: 6dfb ldr r3, [r7, #92] ; 0x5c 809e5ae: 2b04 cmp r3, #4 809e5b0: d9dc bls.n 809e56c if((ReadFileData.Aivs != 'E') && (ReadFileData.Aivs != 'F')) 809e5b2: 4b21 ldr r3, [pc, #132] ; (809e638 ) 809e5b4: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809e5b8: b2db uxtb r3, r3 809e5ba: 2b45 cmp r3, #69 ; 0x45 809e5bc: d012 beq.n 809e5e4 809e5be: 4b1e ldr r3, [pc, #120] ; (809e638 ) 809e5c0: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809e5c4: b2db uxtb r3, r3 809e5c6: 2b46 cmp r3, #70 ; 0x46 809e5c8: d00c beq.n 809e5e4 DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 809e5ca: 4b1c ldr r3, [pc, #112] ; (809e63c ) 809e5cc: 7b1b ldrb r3, [r3, #12] 809e5ce: b2db uxtb r3, r3 809e5d0: 461a mov r2, r3 809e5d2: 4b1b ldr r3, [pc, #108] ; (809e640 ) 809e5d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e5d8: 225c movs r2, #92 ; 0x5c 809e5da: f240 1109 movw r1, #265 ; 0x109 809e5de: 4618 mov r0, r3 809e5e0: f7b7 fd08 bl 8055ff4 if(ReadFileData.Aivs == 'E') 809e5e4: 4b14 ldr r3, [pc, #80] ; (809e638 ) 809e5e6: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809e5ea: b2db uxtb r3, r3 809e5ec: 2b45 cmp r3, #69 ; 0x45 809e5ee: f040 861d bne.w 809f22c if(ReadFileData.Aval.fl < 0.0f) { 809e5f2: 4b11 ldr r3, [pc, #68] ; (809e638 ) 809e5f4: edd3 7a00 vldr s15, [r3] 809e5f8: eef5 7ac0 vcmpe.f32 s15, #0.0 809e5fc: eef1 fa10 vmrs APSR_nzcv, fpscr 809e600: d401 bmi.n 809e606 if(ipr == ACC) 809e602: f000 be13 b.w 809f22c DrawImage(&bmgminus, 78, 84+18); 809e606: 2266 movs r2, #102 ; 0x66 809e608: 214e movs r1, #78 ; 0x4e 809e60a: 480e ldr r0, [pc, #56] ; (809e644 ) 809e60c: f7b7 fcf2 bl 8055ff4 if(ipr == ACC) 809e610: f000 be0c b.w 809f22c 809e614: 0001869f .word 0x0001869f 809e618: 4cbebc20 .word 0x4cbebc20 809e61c: 47c34f80 .word 0x47c34f80 809e620: d1b71759 .word 0xd1b71759 809e624: 10624dd3 .word 0x10624dd3 809e628: 51eb851f .word 0x51eb851f 809e62c: cccccccd .word 0xcccccccd 809e630: 20020124 .word 0x20020124 809e634: 0816e480 .word 0x0816e480 809e638: 200226f0 .word 0x200226f0 809e63c: 20023eb8 .word 0x20023eb8 809e640: 200200f4 .word 0x200200f4 809e644: 0816e3f4 .word 0x0816e3f4 if(ipr == VEL) 809e648: 6d3b ldr r3, [r7, #80] ; 0x50 809e64a: 2b01 cmp r3, #1 809e64c: f040 80d8 bne.w 809e800 if(ReadFileData.Vval.fl != -1.0f) 809e650: 4ba4 ldr r3, [pc, #656] ; (809e8e4 ) 809e652: edd3 7a01 vldr s15, [r3, #4] 809e656: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809e65a: eef4 7a47 vcmp.f32 s15, s14 809e65e: eef1 fa10 vmrs APSR_nzcv, fpscr 809e662: f000 80b6 beq.w 809e7d2 if(!t) 809e666: 6d7b ldr r3, [r7, #84] ; 0x54 809e668: 2b00 cmp r3, #0 809e66a: d126 bne.n 809e6ba for(i = 0; i < 5; i++) 809e66c: 2300 movs r3, #0 809e66e: 65fb str r3, [r7, #92] ; 0x5c 809e670: e01f b.n 809e6b2 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809e672: 6d3a ldr r2, [r7, #80] ; 0x50 809e674: 6df9 ldr r1, [r7, #92] ; 0x5c 809e676: 4613 mov r3, r2 809e678: 009b lsls r3, r3, #2 809e67a: 4413 add r3, r2 809e67c: f107 0268 add.w r2, r7, #104 ; 0x68 809e680: 4413 add r3, r2 809e682: 440b add r3, r1 809e684: 3b34 subs r3, #52 ; 0x34 809e686: 781b ldrb r3, [r3, #0] 809e688: b2db uxtb r3, r3 809e68a: 461a mov r2, r3 809e68c: 4b96 ldr r3, [pc, #600] ; (809e8e8 ) 809e68e: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e692: 6dfb ldr r3, [r7, #92] ; 0x5c 809e694: b29b uxth r3, r3 809e696: 461a mov r2, r3 809e698: 0112 lsls r2, r2, #4 809e69a: 1ad3 subs r3, r2, r3 809e69c: 005b lsls r3, r3, #1 809e69e: b29b uxth r3, r3 809e6a0: 335a adds r3, #90 ; 0x5a 809e6a2: b29b uxth r3, r3 809e6a4: 2282 movs r2, #130 ; 0x82 809e6a6: 4619 mov r1, r3 809e6a8: f7b7 fca4 bl 8055ff4 for(i = 0; i < 5; i++) 809e6ac: 6dfb ldr r3, [r7, #92] ; 0x5c 809e6ae: 3301 adds r3, #1 809e6b0: 65fb str r3, [r7, #92] ; 0x5c 809e6b2: 6dfb ldr r3, [r7, #92] ; 0x5c 809e6b4: 2b04 cmp r3, #4 809e6b6: d9dc bls.n 809e672 809e6b8: e05a b.n 809e770 for(i = 0; i < t; i++) 809e6ba: 2300 movs r3, #0 809e6bc: 65fb str r3, [r7, #92] ; 0x5c 809e6be: e01f b.n 809e700 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809e6c0: 6d3a ldr r2, [r7, #80] ; 0x50 809e6c2: 6df9 ldr r1, [r7, #92] ; 0x5c 809e6c4: 4613 mov r3, r2 809e6c6: 009b lsls r3, r3, #2 809e6c8: 4413 add r3, r2 809e6ca: f107 0268 add.w r2, r7, #104 ; 0x68 809e6ce: 4413 add r3, r2 809e6d0: 440b add r3, r1 809e6d2: 3b34 subs r3, #52 ; 0x34 809e6d4: 781b ldrb r3, [r3, #0] 809e6d6: b2db uxtb r3, r3 809e6d8: 461a mov r2, r3 809e6da: 4b83 ldr r3, [pc, #524] ; (809e8e8 ) 809e6dc: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e6e0: 6dfb ldr r3, [r7, #92] ; 0x5c 809e6e2: b29b uxth r3, r3 809e6e4: 461a mov r2, r3 809e6e6: 0112 lsls r2, r2, #4 809e6e8: 1ad3 subs r3, r2, r3 809e6ea: 005b lsls r3, r3, #1 809e6ec: b29b uxth r3, r3 809e6ee: 335a adds r3, #90 ; 0x5a 809e6f0: b29b uxth r3, r3 809e6f2: 2282 movs r2, #130 ; 0x82 809e6f4: 4619 mov r1, r3 809e6f6: f7b7 fc7d bl 8055ff4 for(i = 0; i < t; i++) 809e6fa: 6dfb ldr r3, [r7, #92] ; 0x5c 809e6fc: 3301 adds r3, #1 809e6fe: 65fb str r3, [r7, #92] ; 0x5c 809e700: 6dfa ldr r2, [r7, #92] ; 0x5c 809e702: 6d7b ldr r3, [r7, #84] ; 0x54 809e704: 429a cmp r2, r3 809e706: d3db bcc.n 809e6c0 DrawImage(&bmgpt, 95 + 30*t, 145+9); 809e708: 6d7b ldr r3, [r7, #84] ; 0x54 809e70a: b29b uxth r3, r3 809e70c: 461a mov r2, r3 809e70e: 0112 lsls r2, r2, #4 809e710: 1ad3 subs r3, r2, r3 809e712: 005b lsls r3, r3, #1 809e714: b29b uxth r3, r3 809e716: 335f adds r3, #95 ; 0x5f 809e718: b29b uxth r3, r3 809e71a: 229a movs r2, #154 ; 0x9a 809e71c: 4619 mov r1, r3 809e71e: 4873 ldr r0, [pc, #460] ; (809e8ec ) 809e720: f7b7 fc68 bl 8055ff4 for(i = t; i < 5; i++) 809e724: 6d7b ldr r3, [r7, #84] ; 0x54 809e726: 65fb str r3, [r7, #92] ; 0x5c 809e728: e01f b.n 809e76a DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 809e72a: 6d3a ldr r2, [r7, #80] ; 0x50 809e72c: 6df9 ldr r1, [r7, #92] ; 0x5c 809e72e: 4613 mov r3, r2 809e730: 009b lsls r3, r3, #2 809e732: 4413 add r3, r2 809e734: f107 0268 add.w r2, r7, #104 ; 0x68 809e738: 4413 add r3, r2 809e73a: 440b add r3, r1 809e73c: 3b34 subs r3, #52 ; 0x34 809e73e: 781b ldrb r3, [r3, #0] 809e740: b2db uxtb r3, r3 809e742: 461a mov r2, r3 809e744: 4b68 ldr r3, [pc, #416] ; (809e8e8 ) 809e746: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e74a: 6dfb ldr r3, [r7, #92] ; 0x5c 809e74c: b29b uxth r3, r3 809e74e: 461a mov r2, r3 809e750: 0112 lsls r2, r2, #4 809e752: 1ad3 subs r3, r2, r3 809e754: 005b lsls r3, r3, #1 809e756: b29b uxth r3, r3 809e758: 336e adds r3, #110 ; 0x6e 809e75a: b29b uxth r3, r3 809e75c: 2282 movs r2, #130 ; 0x82 809e75e: 4619 mov r1, r3 809e760: f7b7 fc48 bl 8055ff4 for(i = t; i < 5; i++) 809e764: 6dfb ldr r3, [r7, #92] ; 0x5c 809e766: 3301 adds r3, #1 809e768: 65fb str r3, [r7, #92] ; 0x5c 809e76a: 6dfb ldr r3, [r7, #92] ; 0x5c 809e76c: 2b04 cmp r3, #4 809e76e: d9dc bls.n 809e72a if((ReadFileData.Vivs != 'E') && (ReadFileData.Vivs != 'F')) 809e770: 4b5c ldr r3, [pc, #368] ; (809e8e4 ) 809e772: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809e776: b2db uxtb r3, r3 809e778: 2b45 cmp r3, #69 ; 0x45 809e77a: d012 beq.n 809e7a2 809e77c: 4b59 ldr r3, [pc, #356] ; (809e8e4 ) 809e77e: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809e782: b2db uxtb r3, r3 809e784: 2b46 cmp r3, #70 ; 0x46 809e786: d00c beq.n 809e7a2 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 809e788: 4b59 ldr r3, [pc, #356] ; (809e8f0 ) 809e78a: 7b1b ldrb r3, [r3, #12] 809e78c: b2db uxtb r3, r3 809e78e: 461a mov r2, r3 809e790: 4b58 ldr r3, [pc, #352] ; (809e8f4 ) 809e792: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e796: 2289 movs r2, #137 ; 0x89 809e798: f240 1109 movw r1, #265 ; 0x109 809e79c: 4618 mov r0, r3 809e79e: f7b7 fc29 bl 8055ff4 if(ReadFileData.Vivs == 'E') 809e7a2: 4b50 ldr r3, [pc, #320] ; (809e8e4 ) 809e7a4: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809e7a8: b2db uxtb r3, r3 809e7aa: 2b45 cmp r3, #69 ; 0x45 809e7ac: f040 853e bne.w 809f22c if(ReadFileData.Vval.fl < 0.0f) { 809e7b0: 4b4c ldr r3, [pc, #304] ; (809e8e4 ) 809e7b2: edd3 7a01 vldr s15, [r3, #4] 809e7b6: eef5 7ac0 vcmpe.f32 s15, #0.0 809e7ba: eef1 fa10 vmrs APSR_nzcv, fpscr 809e7be: d401 bmi.n 809e7c4 if(ipr == ACC) 809e7c0: f000 bd34 b.w 809f22c DrawImage(&bmgminus, 78, 138+9); 809e7c4: 2293 movs r2, #147 ; 0x93 809e7c6: 214e movs r1, #78 ; 0x4e 809e7c8: 484b ldr r0, [pc, #300] ; (809e8f8 ) 809e7ca: f7b7 fc13 bl 8055ff4 if(ipr == ACC) 809e7ce: f000 bd2d b.w 809f22c LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809e7d2: 494a ldr r1, [pc, #296] ; (809e8fc ) 809e7d4: 484a ldr r0, [pc, #296] ; (809e900 ) 809e7d6: f7b6 fd19 bl 805520c if(pardata.LANG == RUS) 809e7da: 4b45 ldr r3, [pc, #276] ; (809e8f0 ) 809e7dc: 7b1b ldrb r3, [r3, #12] 809e7de: b2db uxtb r3, r3 809e7e0: 2b00 cmp r3, #0 809e7e2: d106 bne.n 809e7f2 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809e7e4: 4a47 ldr r2, [pc, #284] ; (809e904 ) 809e7e6: 2187 movs r1, #135 ; 0x87 809e7e8: 20a7 movs r0, #167 ; 0xa7 809e7ea: f7b7 facf bl 8055d8c if(ipr == ACC) 809e7ee: f000 bd1d b.w 809f22c else LCD_DisplayStringC(167, 135, "NO DATA"); 809e7f2: 4a45 ldr r2, [pc, #276] ; (809e908 ) 809e7f4: 2187 movs r1, #135 ; 0x87 809e7f6: 20a7 movs r0, #167 ; 0xa7 809e7f8: f7b7 fac8 bl 8055d8c if(ipr == ACC) 809e7fc: f000 bd16 b.w 809f22c if(ipr == DIS) 809e800: 6d3b ldr r3, [r7, #80] ; 0x50 809e802: 2b02 cmp r3, #2 809e804: f040 8512 bne.w 809f22c if(ReadFileData.Sval.fl != -1.0f) 809e808: 4b36 ldr r3, [pc, #216] ; (809e8e4 ) 809e80a: edd3 7a02 vldr s15, [r3, #8] 809e80e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809e812: eef4 7a47 vcmp.f32 s15, s14 809e816: eef1 fa10 vmrs APSR_nzcv, fpscr 809e81a: f000 80dc beq.w 809e9d6 if(!t) 809e81e: 6d7b ldr r3, [r7, #84] ; 0x54 809e820: 2b00 cmp r3, #0 809e822: d126 bne.n 809e872 for(i = 0; i < 5; i++) 809e824: 2300 movs r3, #0 809e826: 65fb str r3, [r7, #92] ; 0x5c 809e828: e01f b.n 809e86a DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809e82a: 6d3a ldr r2, [r7, #80] ; 0x50 809e82c: 6df9 ldr r1, [r7, #92] ; 0x5c 809e82e: 4613 mov r3, r2 809e830: 009b lsls r3, r3, #2 809e832: 4413 add r3, r2 809e834: f107 0268 add.w r2, r7, #104 ; 0x68 809e838: 4413 add r3, r2 809e83a: 440b add r3, r1 809e83c: 3b34 subs r3, #52 ; 0x34 809e83e: 781b ldrb r3, [r3, #0] 809e840: b2db uxtb r3, r3 809e842: 461a mov r2, r3 809e844: 4b28 ldr r3, [pc, #160] ; (809e8e8 ) 809e846: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e84a: 6dfb ldr r3, [r7, #92] ; 0x5c 809e84c: b29b uxth r3, r3 809e84e: 461a mov r2, r3 809e850: 0112 lsls r2, r2, #4 809e852: 1ad3 subs r3, r2, r3 809e854: 005b lsls r3, r3, #1 809e856: b29b uxth r3, r3 809e858: 335a adds r3, #90 ; 0x5a 809e85a: b29b uxth r3, r3 809e85c: 22ae movs r2, #174 ; 0xae 809e85e: 4619 mov r1, r3 809e860: f7b7 fbc8 bl 8055ff4 for(i = 0; i < 5; i++) 809e864: 6dfb ldr r3, [r7, #92] ; 0x5c 809e866: 3301 adds r3, #1 809e868: 65fb str r3, [r7, #92] ; 0x5c 809e86a: 6dfb ldr r3, [r7, #92] ; 0x5c 809e86c: 2b04 cmp r3, #4 809e86e: d9dc bls.n 809e82a 809e870: e06f b.n 809e952 for(i = 0; i < t; i++) 809e872: 2300 movs r3, #0 809e874: 65fb str r3, [r7, #92] ; 0x5c 809e876: e01f b.n 809e8b8 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809e878: 6d3a ldr r2, [r7, #80] ; 0x50 809e87a: 6df9 ldr r1, [r7, #92] ; 0x5c 809e87c: 4613 mov r3, r2 809e87e: 009b lsls r3, r3, #2 809e880: 4413 add r3, r2 809e882: f107 0268 add.w r2, r7, #104 ; 0x68 809e886: 4413 add r3, r2 809e888: 440b add r3, r1 809e88a: 3b34 subs r3, #52 ; 0x34 809e88c: 781b ldrb r3, [r3, #0] 809e88e: b2db uxtb r3, r3 809e890: 461a mov r2, r3 809e892: 4b15 ldr r3, [pc, #84] ; (809e8e8 ) 809e894: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e898: 6dfb ldr r3, [r7, #92] ; 0x5c 809e89a: b29b uxth r3, r3 809e89c: 461a mov r2, r3 809e89e: 0112 lsls r2, r2, #4 809e8a0: 1ad3 subs r3, r2, r3 809e8a2: 005b lsls r3, r3, #1 809e8a4: b29b uxth r3, r3 809e8a6: 335a adds r3, #90 ; 0x5a 809e8a8: b29b uxth r3, r3 809e8aa: 22ae movs r2, #174 ; 0xae 809e8ac: 4619 mov r1, r3 809e8ae: f7b7 fba1 bl 8055ff4 for(i = 0; i < t; i++) 809e8b2: 6dfb ldr r3, [r7, #92] ; 0x5c 809e8b4: 3301 adds r3, #1 809e8b6: 65fb str r3, [r7, #92] ; 0x5c 809e8b8: 6dfa ldr r2, [r7, #92] ; 0x5c 809e8ba: 6d7b ldr r3, [r7, #84] ; 0x54 809e8bc: 429a cmp r2, r3 809e8be: d3db bcc.n 809e878 DrawImage(&bmgpt, 95 + 30*t, 198); 809e8c0: 6d7b ldr r3, [r7, #84] ; 0x54 809e8c2: b29b uxth r3, r3 809e8c4: 461a mov r2, r3 809e8c6: 0112 lsls r2, r2, #4 809e8c8: 1ad3 subs r3, r2, r3 809e8ca: 005b lsls r3, r3, #1 809e8cc: b29b uxth r3, r3 809e8ce: 335f adds r3, #95 ; 0x5f 809e8d0: b29b uxth r3, r3 809e8d2: 22c6 movs r2, #198 ; 0xc6 809e8d4: 4619 mov r1, r3 809e8d6: 4805 ldr r0, [pc, #20] ; (809e8ec ) 809e8d8: f7b7 fb8c bl 8055ff4 for(i = t; i < 5; i++) 809e8dc: 6d7b ldr r3, [r7, #84] ; 0x54 809e8de: 65fb str r3, [r7, #92] ; 0x5c 809e8e0: e034 b.n 809e94c 809e8e2: bf00 nop 809e8e4: 200226f0 .word 0x200226f0 809e8e8: 20020124 .word 0x20020124 809e8ec: 0816e480 .word 0x0816e480 809e8f0: 20023eb8 .word 0x20023eb8 809e8f4: 200200fc .word 0x200200fc 809e8f8: 0816e3f4 .word 0x0816e3f4 809e8fc: ff0a0f1f .word 0xff0a0f1f 809e900: ffb8e828 .word 0xffb8e828 809e904: 080d6564 .word 0x080d6564 809e908: 080d6570 .word 0x080d6570 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 809e90c: 6d3a ldr r2, [r7, #80] ; 0x50 809e90e: 6df9 ldr r1, [r7, #92] ; 0x5c 809e910: 4613 mov r3, r2 809e912: 009b lsls r3, r3, #2 809e914: 4413 add r3, r2 809e916: f107 0268 add.w r2, r7, #104 ; 0x68 809e91a: 4413 add r3, r2 809e91c: 440b add r3, r1 809e91e: 3b34 subs r3, #52 ; 0x34 809e920: 781b ldrb r3, [r3, #0] 809e922: b2db uxtb r3, r3 809e924: 461a mov r2, r3 809e926: 4bb2 ldr r3, [pc, #712] ; (809ebf0 ) 809e928: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e92c: 6dfb ldr r3, [r7, #92] ; 0x5c 809e92e: b29b uxth r3, r3 809e930: 461a mov r2, r3 809e932: 0112 lsls r2, r2, #4 809e934: 1ad3 subs r3, r2, r3 809e936: 005b lsls r3, r3, #1 809e938: b29b uxth r3, r3 809e93a: 336e adds r3, #110 ; 0x6e 809e93c: b29b uxth r3, r3 809e93e: 22ae movs r2, #174 ; 0xae 809e940: 4619 mov r1, r3 809e942: f7b7 fb57 bl 8055ff4 for(i = t; i < 5; i++) 809e946: 6dfb ldr r3, [r7, #92] ; 0x5c 809e948: 3301 adds r3, #1 809e94a: 65fb str r3, [r7, #92] ; 0x5c 809e94c: 6dfb ldr r3, [r7, #92] ; 0x5c 809e94e: 2b04 cmp r3, #4 809e950: d9dc bls.n 809e90c if((ReadFileData.Sivs != 'E') && (ReadFileData.Sivs != 'F')) 809e952: 4ba8 ldr r3, [pc, #672] ; (809ebf4 ) 809e954: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809e958: b2db uxtb r3, r3 809e95a: 2b45 cmp r3, #69 ; 0x45 809e95c: d023 beq.n 809e9a6 809e95e: 4ba5 ldr r3, [pc, #660] ; (809ebf4 ) 809e960: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809e964: b2db uxtb r3, r3 809e966: 2b46 cmp r3, #70 ; 0x46 809e968: d01d beq.n 809e9a6 if(m == 0) 809e96a: 6cfb ldr r3, [r7, #76] ; 0x4c 809e96c: 2b00 cmp r3, #0 809e96e: d10d bne.n 809e98c DrawImage(BMG_MKM[pardata.LANG], 265, 180); 809e970: 4ba1 ldr r3, [pc, #644] ; (809ebf8 ) 809e972: 7b1b ldrb r3, [r3, #12] 809e974: b2db uxtb r3, r3 809e976: 461a mov r2, r3 809e978: 4ba0 ldr r3, [pc, #640] ; (809ebfc ) 809e97a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e97e: 22b4 movs r2, #180 ; 0xb4 809e980: f240 1109 movw r1, #265 ; 0x109 809e984: 4618 mov r0, r3 809e986: f7b7 fb35 bl 8055ff4 809e98a: e00c b.n 809e9a6 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 809e98c: 4b9a ldr r3, [pc, #616] ; (809ebf8 ) 809e98e: 7b1b ldrb r3, [r3, #12] 809e990: b2db uxtb r3, r3 809e992: 461a mov r2, r3 809e994: 4b9a ldr r3, [pc, #616] ; (809ec00 ) 809e996: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e99a: 22b4 movs r2, #180 ; 0xb4 809e99c: f240 1109 movw r1, #265 ; 0x109 809e9a0: 4618 mov r0, r3 809e9a2: f7b7 fb27 bl 8055ff4 if(ReadFileData.Sivs == 'E') 809e9a6: 4b93 ldr r3, [pc, #588] ; (809ebf4 ) 809e9a8: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809e9ac: b2db uxtb r3, r3 809e9ae: 2b45 cmp r3, #69 ; 0x45 809e9b0: f040 843c bne.w 809f22c if(ReadFileData.Sval.fl < 0.0f) { 809e9b4: 4b8f ldr r3, [pc, #572] ; (809ebf4 ) 809e9b6: edd3 7a02 vldr s15, [r3, #8] 809e9ba: eef5 7ac0 vcmpe.f32 s15, #0.0 809e9be: eef1 fa10 vmrs APSR_nzcv, fpscr 809e9c2: d401 bmi.n 809e9c8 if(ipr == ACC) 809e9c4: f000 bc32 b.w 809f22c DrawImage(&bmgminus, 78, 190); 809e9c8: 22be movs r2, #190 ; 0xbe 809e9ca: 214e movs r1, #78 ; 0x4e 809e9cc: 488d ldr r0, [pc, #564] ; (809ec04 ) 809e9ce: f7b7 fb11 bl 8055ff4 if(ipr == ACC) 809e9d2: f000 bc2b b.w 809f22c LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809e9d6: 498c ldr r1, [pc, #560] ; (809ec08 ) 809e9d8: 488c ldr r0, [pc, #560] ; (809ec0c ) 809e9da: f7b6 fc17 bl 805520c if(pardata.LANG == RUS) 809e9de: 4b86 ldr r3, [pc, #536] ; (809ebf8 ) 809e9e0: 7b1b ldrb r3, [r3, #12] 809e9e2: b2db uxtb r3, r3 809e9e4: 2b00 cmp r3, #0 809e9e6: d106 bne.n 809e9f6 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809e9e8: 4a89 ldr r2, [pc, #548] ; (809ec10 ) 809e9ea: 21b9 movs r1, #185 ; 0xb9 809e9ec: 20a7 movs r0, #167 ; 0xa7 809e9ee: f7b7 f9cd bl 8055d8c if(ipr == ACC) 809e9f2: f000 bc1b b.w 809f22c else LCD_DisplayStringC(167, 185, "NO DATA"); 809e9f6: 4a87 ldr r2, [pc, #540] ; (809ec14 ) 809e9f8: 21b9 movs r1, #185 ; 0xb9 809e9fa: 20a7 movs r0, #167 ; 0xa7 809e9fc: f7b7 f9c6 bl 8055d8c if(ipr == ACC) 809ea00: f000 bc14 b.w 809f22c if(f != -1.0f) 809ea04: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ea08: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809ea0c: eef4 7a47 vcmp.f32 s15, s14 809ea10: eef1 fa10 vmrs APSR_nzcv, fpscr 809ea14: f000 83c3 beq.w 809f19e LinToLog(&f, &f); 809ea18: f107 0244 add.w r2, r7, #68 ; 0x44 809ea1c: f107 0344 add.w r3, r7, #68 ; 0x44 809ea20: 4611 mov r1, r2 809ea22: 4618 mov r0, r3 809ea24: f7c7 ff90 bl 8066948 k = (uint32_t) (roundf(f * 10 + 0.5f)); 809ea28: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ea2c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809ea30: ee67 7a87 vmul.f32 s15, s15, s14 809ea34: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 809ea38: ee77 7a87 vadd.f32 s15, s15, s14 809ea3c: eeb0 0a67 vmov.f32 s0, s15 809ea40: f031 f8b0 bl 80cfba4 809ea44: eef0 7a40 vmov.f32 s15, s0 809ea48: eefc 7ae7 vcvt.u32.f32 s15, s15 809ea4c: ee17 3a90 vmov r3, s15 809ea50: 65bb str r3, [r7, #88] ; 0x58 if(f < 10.0f) 809ea52: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ea56: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809ea5a: eef4 7ac7 vcmpe.f32 s15, s14 809ea5e: eef1 fa10 vmrs APSR_nzcv, fpscr 809ea62: f140 80e1 bpl.w 809ec28 ik[ipr][0] = (uint8_t) (k / 10); 809ea66: 6d3a ldr r2, [r7, #80] ; 0x50 809ea68: 6dbb ldr r3, [r7, #88] ; 0x58 809ea6a: 496b ldr r1, [pc, #428] ; (809ec18 ) 809ea6c: fba1 1303 umull r1, r3, r1, r3 809ea70: 08db lsrs r3, r3, #3 809ea72: b2d9 uxtb r1, r3 809ea74: 4613 mov r3, r2 809ea76: 009b lsls r3, r3, #2 809ea78: 4413 add r3, r2 809ea7a: f107 0268 add.w r2, r7, #104 ; 0x68 809ea7e: 4413 add r3, r2 809ea80: 3b34 subs r3, #52 ; 0x34 809ea82: 460a mov r2, r1 809ea84: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10); 809ea86: 6d38 ldr r0, [r7, #80] ; 0x50 809ea88: 6db9 ldr r1, [r7, #88] ; 0x58 809ea8a: 4b63 ldr r3, [pc, #396] ; (809ec18 ) 809ea8c: fba3 2301 umull r2, r3, r3, r1 809ea90: 08da lsrs r2, r3, #3 809ea92: 4613 mov r3, r2 809ea94: 009b lsls r3, r3, #2 809ea96: 4413 add r3, r2 809ea98: 005b lsls r3, r3, #1 809ea9a: 1aca subs r2, r1, r3 809ea9c: b2d2 uxtb r2, r2 809ea9e: 4603 mov r3, r0 809eaa0: 009b lsls r3, r3, #2 809eaa2: 4403 add r3, r0 809eaa4: f107 0168 add.w r1, r7, #104 ; 0x68 809eaa8: 440b add r3, r1 809eaaa: 3b33 subs r3, #51 ; 0x33 809eaac: 701a strb r2, [r3, #0] if(ipr == ACC) 809eaae: 6d3b ldr r3, [r7, #80] ; 0x50 809eab0: 2b00 cmp r3, #0 809eab2: d131 bne.n 809eb18 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 68+18); 809eab4: 6d3a ldr r2, [r7, #80] ; 0x50 809eab6: 4613 mov r3, r2 809eab8: 009b lsls r3, r3, #2 809eaba: 4413 add r3, r2 809eabc: f107 0268 add.w r2, r7, #104 ; 0x68 809eac0: 4413 add r3, r2 809eac2: 3b33 subs r3, #51 ; 0x33 809eac4: 781b ldrb r3, [r3, #0] 809eac6: b2db uxtb r3, r3 809eac8: 461a mov r2, r3 809eaca: 4b49 ldr r3, [pc, #292] ; (809ebf0 ) 809eacc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ead0: 2256 movs r2, #86 ; 0x56 809ead2: 21e6 movs r1, #230 ; 0xe6 809ead4: 4618 mov r0, r3 809ead6: f7b7 fa8d bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 92+18); 809eada: 226e movs r2, #110 ; 0x6e 809eadc: 21d7 movs r1, #215 ; 0xd7 809eade: 484f ldr r0, [pc, #316] ; (809ec1c ) 809eae0: f7b7 fa88 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 68+18); 809eae4: 6d3a ldr r2, [r7, #80] ; 0x50 809eae6: 4613 mov r3, r2 809eae8: 009b lsls r3, r3, #2 809eaea: 4413 add r3, r2 809eaec: f107 0268 add.w r2, r7, #104 ; 0x68 809eaf0: 4413 add r3, r2 809eaf2: 3b34 subs r3, #52 ; 0x34 809eaf4: 781b ldrb r3, [r3, #0] 809eaf6: b2db uxtb r3, r3 809eaf8: 461a mov r2, r3 809eafa: 4b3d ldr r3, [pc, #244] ; (809ebf0 ) 809eafc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809eb00: 2256 movs r2, #86 ; 0x56 809eb02: 21b4 movs r1, #180 ; 0xb4 809eb04: 4618 mov r0, r3 809eb06: f7b7 fa75 bl 8055ff4 DrawImage(&bmg_dB, 265, 74+18); 809eb0a: 225c movs r2, #92 ; 0x5c 809eb0c: f240 1109 movw r1, #265 ; 0x109 809eb10: 4843 ldr r0, [pc, #268] ; (809ec20 ) 809eb12: f7b7 fa6f bl 8055ff4 809eb16: e38a b.n 809f22e if(ipr == VEL) 809eb18: 6d3b ldr r3, [r7, #80] ; 0x50 809eb1a: 2b01 cmp r3, #1 809eb1c: d131 bne.n 809eb82 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 121+9); 809eb1e: 6d3a ldr r2, [r7, #80] ; 0x50 809eb20: 4613 mov r3, r2 809eb22: 009b lsls r3, r3, #2 809eb24: 4413 add r3, r2 809eb26: f107 0268 add.w r2, r7, #104 ; 0x68 809eb2a: 4413 add r3, r2 809eb2c: 3b33 subs r3, #51 ; 0x33 809eb2e: 781b ldrb r3, [r3, #0] 809eb30: b2db uxtb r3, r3 809eb32: 461a mov r2, r3 809eb34: 4b2e ldr r3, [pc, #184] ; (809ebf0 ) 809eb36: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809eb3a: 2282 movs r2, #130 ; 0x82 809eb3c: 21e6 movs r1, #230 ; 0xe6 809eb3e: 4618 mov r0, r3 809eb40: f7b7 fa58 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 145+9); 809eb44: 229a movs r2, #154 ; 0x9a 809eb46: 21d7 movs r1, #215 ; 0xd7 809eb48: 4834 ldr r0, [pc, #208] ; (809ec1c ) 809eb4a: f7b7 fa53 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 121+9); 809eb4e: 6d3a ldr r2, [r7, #80] ; 0x50 809eb50: 4613 mov r3, r2 809eb52: 009b lsls r3, r3, #2 809eb54: 4413 add r3, r2 809eb56: f107 0268 add.w r2, r7, #104 ; 0x68 809eb5a: 4413 add r3, r2 809eb5c: 3b34 subs r3, #52 ; 0x34 809eb5e: 781b ldrb r3, [r3, #0] 809eb60: b2db uxtb r3, r3 809eb62: 461a mov r2, r3 809eb64: 4b22 ldr r3, [pc, #136] ; (809ebf0 ) 809eb66: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809eb6a: 2282 movs r2, #130 ; 0x82 809eb6c: 21b4 movs r1, #180 ; 0xb4 809eb6e: 4618 mov r0, r3 809eb70: f7b7 fa40 bl 8055ff4 DrawImage(&bmg_dB, 265, 128+9); 809eb74: 2289 movs r2, #137 ; 0x89 809eb76: f240 1109 movw r1, #265 ; 0x109 809eb7a: 4829 ldr r0, [pc, #164] ; (809ec20 ) 809eb7c: f7b7 fa3a bl 8055ff4 809eb80: e355 b.n 809f22e if(ipr == DIS) 809eb82: 6d3b ldr r3, [r7, #80] ; 0x50 809eb84: 2b02 cmp r3, #2 809eb86: f040 8352 bne.w 809f22e DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 174); 809eb8a: 6d3a ldr r2, [r7, #80] ; 0x50 809eb8c: 4613 mov r3, r2 809eb8e: 009b lsls r3, r3, #2 809eb90: 4413 add r3, r2 809eb92: f107 0268 add.w r2, r7, #104 ; 0x68 809eb96: 4413 add r3, r2 809eb98: 3b33 subs r3, #51 ; 0x33 809eb9a: 781b ldrb r3, [r3, #0] 809eb9c: b2db uxtb r3, r3 809eb9e: 461a mov r2, r3 809eba0: 4b13 ldr r3, [pc, #76] ; (809ebf0 ) 809eba2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809eba6: 22ae movs r2, #174 ; 0xae 809eba8: 21e6 movs r1, #230 ; 0xe6 809ebaa: 4618 mov r0, r3 809ebac: f7b7 fa22 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 198); 809ebb0: 22c6 movs r2, #198 ; 0xc6 809ebb2: 21d7 movs r1, #215 ; 0xd7 809ebb4: 4819 ldr r0, [pc, #100] ; (809ec1c ) 809ebb6: f7b7 fa1d bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 174); 809ebba: 6d3a ldr r2, [r7, #80] ; 0x50 809ebbc: 4613 mov r3, r2 809ebbe: 009b lsls r3, r3, #2 809ebc0: 4413 add r3, r2 809ebc2: f107 0268 add.w r2, r7, #104 ; 0x68 809ebc6: 4413 add r3, r2 809ebc8: 3b34 subs r3, #52 ; 0x34 809ebca: 781b ldrb r3, [r3, #0] 809ebcc: b2db uxtb r3, r3 809ebce: 461a mov r2, r3 809ebd0: 4b07 ldr r3, [pc, #28] ; (809ebf0 ) 809ebd2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ebd6: 22ae movs r2, #174 ; 0xae 809ebd8: 21b4 movs r1, #180 ; 0xb4 809ebda: 4618 mov r0, r3 809ebdc: f7b7 fa0a bl 8055ff4 DrawImage(&bmg_dB, 265, 180); 809ebe0: 22b4 movs r2, #180 ; 0xb4 809ebe2: f240 1109 movw r1, #265 ; 0x109 809ebe6: 480e ldr r0, [pc, #56] ; (809ec20 ) 809ebe8: f7b7 fa04 bl 8055ff4 809ebec: e31f b.n 809f22e 809ebee: bf00 nop 809ebf0: 20020124 .word 0x20020124 809ebf4: 200226f0 .word 0x200226f0 809ebf8: 20023eb8 .word 0x20023eb8 809ebfc: 20020104 .word 0x20020104 809ec00: 2002010c .word 0x2002010c 809ec04: 0816e3f4 .word 0x0816e3f4 809ec08: ff0a0f1f .word 0xff0a0f1f 809ec0c: ffb8e828 .word 0xffb8e828 809ec10: 080d6564 .word 0x080d6564 809ec14: 080d6570 .word 0x080d6570 809ec18: cccccccd .word 0xcccccccd 809ec1c: 0816e480 .word 0x0816e480 809ec20: 081696cc .word 0x081696cc 809ec24: 42c80000 .word 0x42c80000 if(f < 100.0f) 809ec28: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ec2c: ed1f 7a03 vldr s14, [pc, #-12] ; 809ec24 809ec30: eef4 7ac7 vcmpe.f32 s15, s14 809ec34: eef1 fa10 vmrs APSR_nzcv, fpscr 809ec38: f140 8128 bpl.w 809ee8c ik[ipr][0] = (uint8_t) (k / 100); 809ec3c: 6d3a ldr r2, [r7, #80] ; 0x50 809ec3e: 6dbb ldr r3, [r7, #88] ; 0x58 809ec40: 498c ldr r1, [pc, #560] ; (809ee74 ) 809ec42: fba1 1303 umull r1, r3, r1, r3 809ec46: 095b lsrs r3, r3, #5 809ec48: b2d9 uxtb r1, r3 809ec4a: 4613 mov r3, r2 809ec4c: 009b lsls r3, r3, #2 809ec4e: 4413 add r3, r2 809ec50: f107 0268 add.w r2, r7, #104 ; 0x68 809ec54: 4413 add r3, r2 809ec56: 3b34 subs r3, #52 ; 0x34 809ec58: 460a mov r2, r1 809ec5a: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 100 / 10); 809ec5c: 6d39 ldr r1, [r7, #80] ; 0x50 809ec5e: 6dba ldr r2, [r7, #88] ; 0x58 809ec60: 4b84 ldr r3, [pc, #528] ; (809ee74 ) 809ec62: fba3 0302 umull r0, r3, r3, r2 809ec66: 095b lsrs r3, r3, #5 809ec68: 2064 movs r0, #100 ; 0x64 809ec6a: fb00 f303 mul.w r3, r0, r3 809ec6e: 1ad3 subs r3, r2, r3 809ec70: 4a81 ldr r2, [pc, #516] ; (809ee78 ) 809ec72: fba2 2303 umull r2, r3, r2, r3 809ec76: 08db lsrs r3, r3, #3 809ec78: b2da uxtb r2, r3 809ec7a: 460b mov r3, r1 809ec7c: 009b lsls r3, r3, #2 809ec7e: 440b add r3, r1 809ec80: f107 0168 add.w r1, r7, #104 ; 0x68 809ec84: 440b add r3, r1 809ec86: 3b33 subs r3, #51 ; 0x33 809ec88: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 100 % 10); 809ec8a: 6d38 ldr r0, [r7, #80] ; 0x50 809ec8c: 6dbb ldr r3, [r7, #88] ; 0x58 809ec8e: 4a79 ldr r2, [pc, #484] ; (809ee74 ) 809ec90: fba2 1203 umull r1, r2, r2, r3 809ec94: 0952 lsrs r2, r2, #5 809ec96: 2164 movs r1, #100 ; 0x64 809ec98: fb01 f202 mul.w r2, r1, r2 809ec9c: 1a9a subs r2, r3, r2 809ec9e: 4b76 ldr r3, [pc, #472] ; (809ee78 ) 809eca0: fba3 1302 umull r1, r3, r3, r2 809eca4: 08d9 lsrs r1, r3, #3 809eca6: 460b mov r3, r1 809eca8: 009b lsls r3, r3, #2 809ecaa: 440b add r3, r1 809ecac: 005b lsls r3, r3, #1 809ecae: 1ad1 subs r1, r2, r3 809ecb0: b2ca uxtb r2, r1 809ecb2: 4603 mov r3, r0 809ecb4: 009b lsls r3, r3, #2 809ecb6: 4403 add r3, r0 809ecb8: f107 0168 add.w r1, r7, #104 ; 0x68 809ecbc: 440b add r3, r1 809ecbe: 3b32 subs r3, #50 ; 0x32 809ecc0: 701a strb r2, [r3, #0] if(ipr == ACC) 809ecc2: 6d3b ldr r3, [r7, #80] ; 0x50 809ecc4: 2b00 cmp r3, #0 809ecc6: d144 bne.n 809ed52 DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 68+18); 809ecc8: 6d3a ldr r2, [r7, #80] ; 0x50 809ecca: 4613 mov r3, r2 809eccc: 009b lsls r3, r3, #2 809ecce: 4413 add r3, r2 809ecd0: f107 0268 add.w r2, r7, #104 ; 0x68 809ecd4: 4413 add r3, r2 809ecd6: 3b32 subs r3, #50 ; 0x32 809ecd8: 781b ldrb r3, [r3, #0] 809ecda: b2db uxtb r3, r3 809ecdc: 461a mov r2, r3 809ecde: 4b67 ldr r3, [pc, #412] ; (809ee7c ) 809ece0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ece4: 2256 movs r2, #86 ; 0x56 809ece6: 21e6 movs r1, #230 ; 0xe6 809ece8: 4618 mov r0, r3 809ecea: f7b7 f983 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 92+18); 809ecee: 226e movs r2, #110 ; 0x6e 809ecf0: 21d7 movs r1, #215 ; 0xd7 809ecf2: 4863 ldr r0, [pc, #396] ; (809ee80 ) 809ecf4: f7b7 f97e bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 68+18); 809ecf8: 6d3a ldr r2, [r7, #80] ; 0x50 809ecfa: 4613 mov r3, r2 809ecfc: 009b lsls r3, r3, #2 809ecfe: 4413 add r3, r2 809ed00: f107 0268 add.w r2, r7, #104 ; 0x68 809ed04: 4413 add r3, r2 809ed06: 3b33 subs r3, #51 ; 0x33 809ed08: 781b ldrb r3, [r3, #0] 809ed0a: b2db uxtb r3, r3 809ed0c: 461a mov r2, r3 809ed0e: 4b5b ldr r3, [pc, #364] ; (809ee7c ) 809ed10: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ed14: 2256 movs r2, #86 ; 0x56 809ed16: 21b4 movs r1, #180 ; 0xb4 809ed18: 4618 mov r0, r3 809ed1a: f7b7 f96b bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 68+18); 809ed1e: 6d3a ldr r2, [r7, #80] ; 0x50 809ed20: 4613 mov r3, r2 809ed22: 009b lsls r3, r3, #2 809ed24: 4413 add r3, r2 809ed26: f107 0268 add.w r2, r7, #104 ; 0x68 809ed2a: 4413 add r3, r2 809ed2c: 3b34 subs r3, #52 ; 0x34 809ed2e: 781b ldrb r3, [r3, #0] 809ed30: b2db uxtb r3, r3 809ed32: 461a mov r2, r3 809ed34: 4b51 ldr r3, [pc, #324] ; (809ee7c ) 809ed36: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ed3a: 2256 movs r2, #86 ; 0x56 809ed3c: 2196 movs r1, #150 ; 0x96 809ed3e: 4618 mov r0, r3 809ed40: f7b7 f958 bl 8055ff4 DrawImage(&bmg_dB, 265, 74+18); 809ed44: 225c movs r2, #92 ; 0x5c 809ed46: f240 1109 movw r1, #265 ; 0x109 809ed4a: 484e ldr r0, [pc, #312] ; (809ee84 ) 809ed4c: f7b7 f952 bl 8055ff4 809ed50: e26d b.n 809f22e if(ipr == VEL) 809ed52: 6d3b ldr r3, [r7, #80] ; 0x50 809ed54: 2b01 cmp r3, #1 809ed56: d144 bne.n 809ede2 DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 121+9); 809ed58: 6d3a ldr r2, [r7, #80] ; 0x50 809ed5a: 4613 mov r3, r2 809ed5c: 009b lsls r3, r3, #2 809ed5e: 4413 add r3, r2 809ed60: f107 0268 add.w r2, r7, #104 ; 0x68 809ed64: 4413 add r3, r2 809ed66: 3b32 subs r3, #50 ; 0x32 809ed68: 781b ldrb r3, [r3, #0] 809ed6a: b2db uxtb r3, r3 809ed6c: 461a mov r2, r3 809ed6e: 4b43 ldr r3, [pc, #268] ; (809ee7c ) 809ed70: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ed74: 2282 movs r2, #130 ; 0x82 809ed76: 21e6 movs r1, #230 ; 0xe6 809ed78: 4618 mov r0, r3 809ed7a: f7b7 f93b bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 145+9); 809ed7e: 229a movs r2, #154 ; 0x9a 809ed80: 21d7 movs r1, #215 ; 0xd7 809ed82: 483f ldr r0, [pc, #252] ; (809ee80 ) 809ed84: f7b7 f936 bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 121+9); 809ed88: 6d3a ldr r2, [r7, #80] ; 0x50 809ed8a: 4613 mov r3, r2 809ed8c: 009b lsls r3, r3, #2 809ed8e: 4413 add r3, r2 809ed90: f107 0268 add.w r2, r7, #104 ; 0x68 809ed94: 4413 add r3, r2 809ed96: 3b33 subs r3, #51 ; 0x33 809ed98: 781b ldrb r3, [r3, #0] 809ed9a: b2db uxtb r3, r3 809ed9c: 461a mov r2, r3 809ed9e: 4b37 ldr r3, [pc, #220] ; (809ee7c ) 809eda0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809eda4: 2282 movs r2, #130 ; 0x82 809eda6: 21b4 movs r1, #180 ; 0xb4 809eda8: 4618 mov r0, r3 809edaa: f7b7 f923 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 121+9); 809edae: 6d3a ldr r2, [r7, #80] ; 0x50 809edb0: 4613 mov r3, r2 809edb2: 009b lsls r3, r3, #2 809edb4: 4413 add r3, r2 809edb6: f107 0268 add.w r2, r7, #104 ; 0x68 809edba: 4413 add r3, r2 809edbc: 3b34 subs r3, #52 ; 0x34 809edbe: 781b ldrb r3, [r3, #0] 809edc0: b2db uxtb r3, r3 809edc2: 461a mov r2, r3 809edc4: 4b2d ldr r3, [pc, #180] ; (809ee7c ) 809edc6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809edca: 2282 movs r2, #130 ; 0x82 809edcc: 2196 movs r1, #150 ; 0x96 809edce: 4618 mov r0, r3 809edd0: f7b7 f910 bl 8055ff4 DrawImage(&bmg_dB, 265, 128+9); 809edd4: 2289 movs r2, #137 ; 0x89 809edd6: f240 1109 movw r1, #265 ; 0x109 809edda: 482a ldr r0, [pc, #168] ; (809ee84 ) 809eddc: f7b7 f90a bl 8055ff4 809ede0: e225 b.n 809f22e if(ipr == DIS) 809ede2: 6d3b ldr r3, [r7, #80] ; 0x50 809ede4: 2b02 cmp r3, #2 809ede6: f040 8222 bne.w 809f22e DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 174); 809edea: 6d3a ldr r2, [r7, #80] ; 0x50 809edec: 4613 mov r3, r2 809edee: 009b lsls r3, r3, #2 809edf0: 4413 add r3, r2 809edf2: f107 0268 add.w r2, r7, #104 ; 0x68 809edf6: 4413 add r3, r2 809edf8: 3b32 subs r3, #50 ; 0x32 809edfa: 781b ldrb r3, [r3, #0] 809edfc: b2db uxtb r3, r3 809edfe: 461a mov r2, r3 809ee00: 4b1e ldr r3, [pc, #120] ; (809ee7c ) 809ee02: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ee06: 22ae movs r2, #174 ; 0xae 809ee08: 21e6 movs r1, #230 ; 0xe6 809ee0a: 4618 mov r0, r3 809ee0c: f7b7 f8f2 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 198); 809ee10: 22c6 movs r2, #198 ; 0xc6 809ee12: 21d7 movs r1, #215 ; 0xd7 809ee14: 481a ldr r0, [pc, #104] ; (809ee80 ) 809ee16: f7b7 f8ed bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 174); 809ee1a: 6d3a ldr r2, [r7, #80] ; 0x50 809ee1c: 4613 mov r3, r2 809ee1e: 009b lsls r3, r3, #2 809ee20: 4413 add r3, r2 809ee22: f107 0268 add.w r2, r7, #104 ; 0x68 809ee26: 4413 add r3, r2 809ee28: 3b33 subs r3, #51 ; 0x33 809ee2a: 781b ldrb r3, [r3, #0] 809ee2c: b2db uxtb r3, r3 809ee2e: 461a mov r2, r3 809ee30: 4b12 ldr r3, [pc, #72] ; (809ee7c ) 809ee32: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ee36: 22ae movs r2, #174 ; 0xae 809ee38: 21b4 movs r1, #180 ; 0xb4 809ee3a: 4618 mov r0, r3 809ee3c: f7b7 f8da bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 174); 809ee40: 6d3a ldr r2, [r7, #80] ; 0x50 809ee42: 4613 mov r3, r2 809ee44: 009b lsls r3, r3, #2 809ee46: 4413 add r3, r2 809ee48: f107 0268 add.w r2, r7, #104 ; 0x68 809ee4c: 4413 add r3, r2 809ee4e: 3b34 subs r3, #52 ; 0x34 809ee50: 781b ldrb r3, [r3, #0] 809ee52: b2db uxtb r3, r3 809ee54: 461a mov r2, r3 809ee56: 4b09 ldr r3, [pc, #36] ; (809ee7c ) 809ee58: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ee5c: 22ae movs r2, #174 ; 0xae 809ee5e: 2196 movs r1, #150 ; 0x96 809ee60: 4618 mov r0, r3 809ee62: f7b7 f8c7 bl 8055ff4 DrawImage(&bmg_dB, 265, 180); 809ee66: 22b4 movs r2, #180 ; 0xb4 809ee68: f240 1109 movw r1, #265 ; 0x109 809ee6c: 4805 ldr r0, [pc, #20] ; (809ee84 ) 809ee6e: f7b7 f8c1 bl 8055ff4 809ee72: e1dc b.n 809f22e 809ee74: 51eb851f .word 0x51eb851f 809ee78: cccccccd .word 0xcccccccd 809ee7c: 20020124 .word 0x20020124 809ee80: 0816e480 .word 0x0816e480 809ee84: 081696cc .word 0x081696cc 809ee88: 447a0000 .word 0x447a0000 if(f < 1000.0f) 809ee8c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ee90: ed1f 7a03 vldr s14, [pc, #-12] ; 809ee88 809ee94: eef4 7ac7 vcmpe.f32 s15, s14 809ee98: eef1 fa10 vmrs APSR_nzcv, fpscr 809ee9c: f140 81c7 bpl.w 809f22e ik[ipr][0] = (uint8_t) (k / 1000); 809eea0: 6d3a ldr r2, [r7, #80] ; 0x50 809eea2: 6dbb ldr r3, [r7, #88] ; 0x58 809eea4: 49ca ldr r1, [pc, #808] ; (809f1d0 ) 809eea6: fba1 1303 umull r1, r3, r1, r3 809eeaa: 099b lsrs r3, r3, #6 809eeac: b2d9 uxtb r1, r3 809eeae: 4613 mov r3, r2 809eeb0: 009b lsls r3, r3, #2 809eeb2: 4413 add r3, r2 809eeb4: f107 0268 add.w r2, r7, #104 ; 0x68 809eeb8: 4413 add r3, r2 809eeba: 3b34 subs r3, #52 ; 0x34 809eebc: 460a mov r2, r1 809eebe: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 1000 / 100); 809eec0: 6d39 ldr r1, [r7, #80] ; 0x50 809eec2: 6dba ldr r2, [r7, #88] ; 0x58 809eec4: 4bc2 ldr r3, [pc, #776] ; (809f1d0 ) 809eec6: fba3 0302 umull r0, r3, r3, r2 809eeca: 099b lsrs r3, r3, #6 809eecc: f44f 707a mov.w r0, #1000 ; 0x3e8 809eed0: fb00 f303 mul.w r3, r0, r3 809eed4: 1ad3 subs r3, r2, r3 809eed6: 4abf ldr r2, [pc, #764] ; (809f1d4 ) 809eed8: fba2 2303 umull r2, r3, r2, r3 809eedc: 095b lsrs r3, r3, #5 809eede: b2da uxtb r2, r3 809eee0: 460b mov r3, r1 809eee2: 009b lsls r3, r3, #2 809eee4: 440b add r3, r1 809eee6: f107 0168 add.w r1, r7, #104 ; 0x68 809eeea: 440b add r3, r1 809eeec: 3b33 subs r3, #51 ; 0x33 809eeee: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 1000 % 100 / 10); 809eef0: 6d39 ldr r1, [r7, #80] ; 0x50 809eef2: 6dba ldr r2, [r7, #88] ; 0x58 809eef4: 4bb6 ldr r3, [pc, #728] ; (809f1d0 ) 809eef6: fba3 0302 umull r0, r3, r3, r2 809eefa: 099b lsrs r3, r3, #6 809eefc: f44f 707a mov.w r0, #1000 ; 0x3e8 809ef00: fb00 f303 mul.w r3, r0, r3 809ef04: 1ad3 subs r3, r2, r3 809ef06: 4ab3 ldr r2, [pc, #716] ; (809f1d4 ) 809ef08: fba2 0203 umull r0, r2, r2, r3 809ef0c: 0952 lsrs r2, r2, #5 809ef0e: 2064 movs r0, #100 ; 0x64 809ef10: fb00 f202 mul.w r2, r0, r2 809ef14: 1a9a subs r2, r3, r2 809ef16: 4bb0 ldr r3, [pc, #704] ; (809f1d8 ) 809ef18: fba3 2302 umull r2, r3, r3, r2 809ef1c: 08db lsrs r3, r3, #3 809ef1e: b2da uxtb r2, r3 809ef20: 460b mov r3, r1 809ef22: 009b lsls r3, r3, #2 809ef24: 440b add r3, r1 809ef26: f107 0168 add.w r1, r7, #104 ; 0x68 809ef2a: 440b add r3, r1 809ef2c: 3b32 subs r3, #50 ; 0x32 809ef2e: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 1000 % 100 % 10); 809ef30: 6d38 ldr r0, [r7, #80] ; 0x50 809ef32: 6dba ldr r2, [r7, #88] ; 0x58 809ef34: 4ba6 ldr r3, [pc, #664] ; (809f1d0 ) 809ef36: fba3 1302 umull r1, r3, r3, r2 809ef3a: 099b lsrs r3, r3, #6 809ef3c: f44f 717a mov.w r1, #1000 ; 0x3e8 809ef40: fb01 f303 mul.w r3, r1, r3 809ef44: 1ad3 subs r3, r2, r3 809ef46: 4aa3 ldr r2, [pc, #652] ; (809f1d4 ) 809ef48: fba2 1203 umull r1, r2, r2, r3 809ef4c: 0952 lsrs r2, r2, #5 809ef4e: 2164 movs r1, #100 ; 0x64 809ef50: fb01 f202 mul.w r2, r1, r2 809ef54: 1a9a subs r2, r3, r2 809ef56: 4ba0 ldr r3, [pc, #640] ; (809f1d8 ) 809ef58: fba3 1302 umull r1, r3, r3, r2 809ef5c: 08d9 lsrs r1, r3, #3 809ef5e: 460b mov r3, r1 809ef60: 009b lsls r3, r3, #2 809ef62: 440b add r3, r1 809ef64: 005b lsls r3, r3, #1 809ef66: 1ad1 subs r1, r2, r3 809ef68: b2ca uxtb r2, r1 809ef6a: 4603 mov r3, r0 809ef6c: 009b lsls r3, r3, #2 809ef6e: 4403 add r3, r0 809ef70: f107 0168 add.w r1, r7, #104 ; 0x68 809ef74: 440b add r3, r1 809ef76: 3b31 subs r3, #49 ; 0x31 809ef78: 701a strb r2, [r3, #0] if(ipr == ACC) 809ef7a: 6d3b ldr r3, [r7, #80] ; 0x50 809ef7c: 2b00 cmp r3, #0 809ef7e: d157 bne.n 809f030 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 68+18); 809ef80: 6d3a ldr r2, [r7, #80] ; 0x50 809ef82: 4613 mov r3, r2 809ef84: 009b lsls r3, r3, #2 809ef86: 4413 add r3, r2 809ef88: f107 0268 add.w r2, r7, #104 ; 0x68 809ef8c: 4413 add r3, r2 809ef8e: 3b31 subs r3, #49 ; 0x31 809ef90: 781b ldrb r3, [r3, #0] 809ef92: b2db uxtb r3, r3 809ef94: 461a mov r2, r3 809ef96: 4b91 ldr r3, [pc, #580] ; (809f1dc ) 809ef98: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ef9c: 2256 movs r2, #86 ; 0x56 809ef9e: 21e6 movs r1, #230 ; 0xe6 809efa0: 4618 mov r0, r3 809efa2: f7b7 f827 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 92+18); 809efa6: 226e movs r2, #110 ; 0x6e 809efa8: 21d7 movs r1, #215 ; 0xd7 809efaa: 488d ldr r0, [pc, #564] ; (809f1e0 ) 809efac: f7b7 f822 bl 8055ff4 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 68+18); 809efb0: 6d3a ldr r2, [r7, #80] ; 0x50 809efb2: 4613 mov r3, r2 809efb4: 009b lsls r3, r3, #2 809efb6: 4413 add r3, r2 809efb8: f107 0268 add.w r2, r7, #104 ; 0x68 809efbc: 4413 add r3, r2 809efbe: 3b32 subs r3, #50 ; 0x32 809efc0: 781b ldrb r3, [r3, #0] 809efc2: b2db uxtb r3, r3 809efc4: 461a mov r2, r3 809efc6: 4b85 ldr r3, [pc, #532] ; (809f1dc ) 809efc8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809efcc: 2256 movs r2, #86 ; 0x56 809efce: 21b4 movs r1, #180 ; 0xb4 809efd0: 4618 mov r0, r3 809efd2: f7b7 f80f bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 68+18); 809efd6: 6d3a ldr r2, [r7, #80] ; 0x50 809efd8: 4613 mov r3, r2 809efda: 009b lsls r3, r3, #2 809efdc: 4413 add r3, r2 809efde: f107 0268 add.w r2, r7, #104 ; 0x68 809efe2: 4413 add r3, r2 809efe4: 3b33 subs r3, #51 ; 0x33 809efe6: 781b ldrb r3, [r3, #0] 809efe8: b2db uxtb r3, r3 809efea: 461a mov r2, r3 809efec: 4b7b ldr r3, [pc, #492] ; (809f1dc ) 809efee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809eff2: 2256 movs r2, #86 ; 0x56 809eff4: 2196 movs r1, #150 ; 0x96 809eff6: 4618 mov r0, r3 809eff8: f7b6 fffc bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 68+18); 809effc: 6d3a ldr r2, [r7, #80] ; 0x50 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: 781b ldrb r3, [r3, #0] 809f00e: b2db uxtb r3, r3 809f010: 461a mov r2, r3 809f012: 4b72 ldr r3, [pc, #456] ; (809f1dc ) 809f014: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f018: 2256 movs r2, #86 ; 0x56 809f01a: 2178 movs r1, #120 ; 0x78 809f01c: 4618 mov r0, r3 809f01e: f7b6 ffe9 bl 8055ff4 DrawImage(&bmg_dB, 265, 74+18); 809f022: 225c movs r2, #92 ; 0x5c 809f024: f240 1109 movw r1, #265 ; 0x109 809f028: 486e ldr r0, [pc, #440] ; (809f1e4 ) 809f02a: f7b6 ffe3 bl 8055ff4 809f02e: e0fe b.n 809f22e if(ipr == VEL) 809f030: 6d3b ldr r3, [r7, #80] ; 0x50 809f032: 2b01 cmp r3, #1 809f034: d157 bne.n 809f0e6 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 121+9); 809f036: 6d3a ldr r2, [r7, #80] ; 0x50 809f038: 4613 mov r3, r2 809f03a: 009b lsls r3, r3, #2 809f03c: 4413 add r3, r2 809f03e: f107 0268 add.w r2, r7, #104 ; 0x68 809f042: 4413 add r3, r2 809f044: 3b31 subs r3, #49 ; 0x31 809f046: 781b ldrb r3, [r3, #0] 809f048: b2db uxtb r3, r3 809f04a: 461a mov r2, r3 809f04c: 4b63 ldr r3, [pc, #396] ; (809f1dc ) 809f04e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f052: 2282 movs r2, #130 ; 0x82 809f054: 21e6 movs r1, #230 ; 0xe6 809f056: 4618 mov r0, r3 809f058: f7b6 ffcc bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 145+9); 809f05c: 229a movs r2, #154 ; 0x9a 809f05e: 21d7 movs r1, #215 ; 0xd7 809f060: 485f ldr r0, [pc, #380] ; (809f1e0 ) 809f062: f7b6 ffc7 bl 8055ff4 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 121+9); 809f066: 6d3a ldr r2, [r7, #80] ; 0x50 809f068: 4613 mov r3, r2 809f06a: 009b lsls r3, r3, #2 809f06c: 4413 add r3, r2 809f06e: f107 0268 add.w r2, r7, #104 ; 0x68 809f072: 4413 add r3, r2 809f074: 3b32 subs r3, #50 ; 0x32 809f076: 781b ldrb r3, [r3, #0] 809f078: b2db uxtb r3, r3 809f07a: 461a mov r2, r3 809f07c: 4b57 ldr r3, [pc, #348] ; (809f1dc ) 809f07e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f082: 2282 movs r2, #130 ; 0x82 809f084: 21b4 movs r1, #180 ; 0xb4 809f086: 4618 mov r0, r3 809f088: f7b6 ffb4 bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 121+9); 809f08c: 6d3a ldr r2, [r7, #80] ; 0x50 809f08e: 4613 mov r3, r2 809f090: 009b lsls r3, r3, #2 809f092: 4413 add r3, r2 809f094: f107 0268 add.w r2, r7, #104 ; 0x68 809f098: 4413 add r3, r2 809f09a: 3b33 subs r3, #51 ; 0x33 809f09c: 781b ldrb r3, [r3, #0] 809f09e: b2db uxtb r3, r3 809f0a0: 461a mov r2, r3 809f0a2: 4b4e ldr r3, [pc, #312] ; (809f1dc ) 809f0a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f0a8: 2282 movs r2, #130 ; 0x82 809f0aa: 2196 movs r1, #150 ; 0x96 809f0ac: 4618 mov r0, r3 809f0ae: f7b6 ffa1 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 121+9); 809f0b2: 6d3a ldr r2, [r7, #80] ; 0x50 809f0b4: 4613 mov r3, r2 809f0b6: 009b lsls r3, r3, #2 809f0b8: 4413 add r3, r2 809f0ba: f107 0268 add.w r2, r7, #104 ; 0x68 809f0be: 4413 add r3, r2 809f0c0: 3b34 subs r3, #52 ; 0x34 809f0c2: 781b ldrb r3, [r3, #0] 809f0c4: b2db uxtb r3, r3 809f0c6: 461a mov r2, r3 809f0c8: 4b44 ldr r3, [pc, #272] ; (809f1dc ) 809f0ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f0ce: 2282 movs r2, #130 ; 0x82 809f0d0: 2178 movs r1, #120 ; 0x78 809f0d2: 4618 mov r0, r3 809f0d4: f7b6 ff8e bl 8055ff4 DrawImage(&bmg_dB, 265, 128+9); 809f0d8: 2289 movs r2, #137 ; 0x89 809f0da: f240 1109 movw r1, #265 ; 0x109 809f0de: 4841 ldr r0, [pc, #260] ; (809f1e4 ) 809f0e0: f7b6 ff88 bl 8055ff4 809f0e4: e0a3 b.n 809f22e if(ipr == DIS) 809f0e6: 6d3b ldr r3, [r7, #80] ; 0x50 809f0e8: 2b02 cmp r3, #2 809f0ea: f040 80a0 bne.w 809f22e DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 174); 809f0ee: 6d3a ldr r2, [r7, #80] ; 0x50 809f0f0: 4613 mov r3, r2 809f0f2: 009b lsls r3, r3, #2 809f0f4: 4413 add r3, r2 809f0f6: f107 0268 add.w r2, r7, #104 ; 0x68 809f0fa: 4413 add r3, r2 809f0fc: 3b31 subs r3, #49 ; 0x31 809f0fe: 781b ldrb r3, [r3, #0] 809f100: b2db uxtb r3, r3 809f102: 461a mov r2, r3 809f104: 4b35 ldr r3, [pc, #212] ; (809f1dc ) 809f106: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f10a: 22ae movs r2, #174 ; 0xae 809f10c: 21e6 movs r1, #230 ; 0xe6 809f10e: 4618 mov r0, r3 809f110: f7b6 ff70 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 198); 809f114: 22c6 movs r2, #198 ; 0xc6 809f116: 21d7 movs r1, #215 ; 0xd7 809f118: 4831 ldr r0, [pc, #196] ; (809f1e0 ) 809f11a: f7b6 ff6b bl 8055ff4 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 174); 809f11e: 6d3a ldr r2, [r7, #80] ; 0x50 809f120: 4613 mov r3, r2 809f122: 009b lsls r3, r3, #2 809f124: 4413 add r3, r2 809f126: f107 0268 add.w r2, r7, #104 ; 0x68 809f12a: 4413 add r3, r2 809f12c: 3b32 subs r3, #50 ; 0x32 809f12e: 781b ldrb r3, [r3, #0] 809f130: b2db uxtb r3, r3 809f132: 461a mov r2, r3 809f134: 4b29 ldr r3, [pc, #164] ; (809f1dc ) 809f136: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f13a: 22ae movs r2, #174 ; 0xae 809f13c: 21b4 movs r1, #180 ; 0xb4 809f13e: 4618 mov r0, r3 809f140: f7b6 ff58 bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 174); 809f144: 6d3a ldr r2, [r7, #80] ; 0x50 809f146: 4613 mov r3, r2 809f148: 009b lsls r3, r3, #2 809f14a: 4413 add r3, r2 809f14c: f107 0268 add.w r2, r7, #104 ; 0x68 809f150: 4413 add r3, r2 809f152: 3b33 subs r3, #51 ; 0x33 809f154: 781b ldrb r3, [r3, #0] 809f156: b2db uxtb r3, r3 809f158: 461a mov r2, r3 809f15a: 4b20 ldr r3, [pc, #128] ; (809f1dc ) 809f15c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f160: 22ae movs r2, #174 ; 0xae 809f162: 2196 movs r1, #150 ; 0x96 809f164: 4618 mov r0, r3 809f166: f7b6 ff45 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 174); 809f16a: 6d3a ldr r2, [r7, #80] ; 0x50 809f16c: 4613 mov r3, r2 809f16e: 009b lsls r3, r3, #2 809f170: 4413 add r3, r2 809f172: f107 0268 add.w r2, r7, #104 ; 0x68 809f176: 4413 add r3, r2 809f178: 3b34 subs r3, #52 ; 0x34 809f17a: 781b ldrb r3, [r3, #0] 809f17c: b2db uxtb r3, r3 809f17e: 461a mov r2, r3 809f180: 4b16 ldr r3, [pc, #88] ; (809f1dc ) 809f182: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f186: 22ae movs r2, #174 ; 0xae 809f188: 2178 movs r1, #120 ; 0x78 809f18a: 4618 mov r0, r3 809f18c: f7b6 ff32 bl 8055ff4 DrawImage(&bmg_dB, 265, 180); 809f190: 22b4 movs r2, #180 ; 0xb4 809f192: f240 1109 movw r1, #265 ; 0x109 809f196: 4813 ldr r0, [pc, #76] ; (809f1e4 ) 809f198: f7b6 ff2c bl 8055ff4 809f19c: e047 b.n 809f22e if(ipr == VEL) 809f19e: 6d3b ldr r3, [r7, #80] ; 0x50 809f1a0: 2b01 cmp r3, #1 809f1a2: d12b bne.n 809f1fc LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809f1a4: 4910 ldr r1, [pc, #64] ; (809f1e8 ) 809f1a6: 4811 ldr r0, [pc, #68] ; (809f1ec ) 809f1a8: f7b6 f830 bl 805520c if(pardata.LANG == RUS) 809f1ac: 4b10 ldr r3, [pc, #64] ; (809f1f0 ) 809f1ae: 7b1b ldrb r3, [r3, #12] 809f1b0: b2db uxtb r3, r3 809f1b2: 2b00 cmp r3, #0 809f1b4: d105 bne.n 809f1c2 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809f1b6: 4a0f ldr r2, [pc, #60] ; (809f1f4 ) 809f1b8: 2187 movs r1, #135 ; 0x87 809f1ba: 20a7 movs r0, #167 ; 0xa7 809f1bc: f7b6 fde6 bl 8055d8c 809f1c0: e035 b.n 809f22e else LCD_DisplayStringC(167, 135, "NO DATA"); 809f1c2: 4a0d ldr r2, [pc, #52] ; (809f1f8 ) 809f1c4: 2187 movs r1, #135 ; 0x87 809f1c6: 20a7 movs r0, #167 ; 0xa7 809f1c8: f7b6 fde0 bl 8055d8c 809f1cc: e02f b.n 809f22e 809f1ce: bf00 nop 809f1d0: 10624dd3 .word 0x10624dd3 809f1d4: 51eb851f .word 0x51eb851f 809f1d8: cccccccd .word 0xcccccccd 809f1dc: 20020124 .word 0x20020124 809f1e0: 0816e480 .word 0x0816e480 809f1e4: 081696cc .word 0x081696cc 809f1e8: ff0a0f1f .word 0xff0a0f1f 809f1ec: ffb8e828 .word 0xffb8e828 809f1f0: 20023eb8 .word 0x20023eb8 809f1f4: 080d6564 .word 0x080d6564 809f1f8: 080d6570 .word 0x080d6570 if(ipr == DIS) 809f1fc: 6d3b ldr r3, [r7, #80] ; 0x50 809f1fe: 2b02 cmp r3, #2 809f200: d115 bne.n 809f22e LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809f202: 49cb ldr r1, [pc, #812] ; (809f530 ) 809f204: 48cb ldr r0, [pc, #812] ; (809f534 ) 809f206: f7b6 f801 bl 805520c if(pardata.LANG == RUS) 809f20a: 4bcb ldr r3, [pc, #812] ; (809f538 ) 809f20c: 7b1b ldrb r3, [r3, #12] 809f20e: b2db uxtb r3, r3 809f210: 2b00 cmp r3, #0 809f212: d105 bne.n 809f220 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809f214: 4ac9 ldr r2, [pc, #804] ; (809f53c ) 809f216: 21b9 movs r1, #185 ; 0xb9 809f218: 20a7 movs r0, #167 ; 0xa7 809f21a: f7b6 fdb7 bl 8055d8c 809f21e: e006 b.n 809f22e else LCD_DisplayStringC(167, 185, "NO DATA"); 809f220: 4ac7 ldr r2, [pc, #796] ; (809f540 ) 809f222: 21b9 movs r1, #185 ; 0xb9 809f224: 20a7 movs r0, #167 ; 0xa7 809f226: f7b6 fdb1 bl 8055d8c 809f22a: e000 b.n 809f22e if(ipr == ACC) 809f22c: bf00 nop for(ipr = ACC; ipr <= DIS; ipr++) 809f22e: 6d3b ldr r3, [r7, #80] ; 0x50 809f230: 3301 adds r3, #1 809f232: 653b str r3, [r7, #80] ; 0x50 809f234: 6d3b ldr r3, [r7, #80] ; 0x50 809f236: 2b02 cmp r3, #2 809f238: f67e ae78 bls.w 809df2c break; 809f23c: f006 ba3a b.w 80a56b4 if(NextIndexMeas < IndexMeas[NextIndexPoint]) 809f240: 4bc0 ldr r3, [pc, #768] ; (809f544 ) 809f242: 681b ldr r3, [r3, #0] 809f244: 4ac0 ldr r2, [pc, #768] ; (809f548 ) 809f246: f852 2023 ldr.w r2, [r2, r3, lsl #2] 809f24a: 4bc0 ldr r3, [pc, #768] ; (809f54c ) 809f24c: 681b ldr r3, [r3, #0] 809f24e: 429a cmp r2, r3 809f250: d905 bls.n 809f25e DrawImage(&bmSAVED, 298, 39); 809f252: 2227 movs r2, #39 ; 0x27 809f254: f44f 7195 mov.w r1, #298 ; 0x12a 809f258: 48bd ldr r0, [pc, #756] ; (809f550 ) 809f25a: f7b6 fecb bl 8055ff4 DrawDetectorType(); //TODO 809f25e: f7fa fe21 bl 8099ea4 if((!FIRST) && (!RepeatKm) && (Stability > (Nr * 4)) && (!timeRelax)) // 809f262: 4bbc ldr r3, [pc, #752] ; (809f554 ) 809f264: 781b ldrb r3, [r3, #0] 809f266: b2db uxtb r3, r3 809f268: f083 0301 eor.w r3, r3, #1 809f26c: b2db uxtb r3, r3 809f26e: 2b00 cmp r3, #0 809f270: f006 8220 beq.w 80a56b4 809f274: 4bb8 ldr r3, [pc, #736] ; (809f558 ) 809f276: 781b ldrb r3, [r3, #0] 809f278: b2db uxtb r3, r3 809f27a: f083 0301 eor.w r3, r3, #1 809f27e: b2db uxtb r3, r3 809f280: 2b00 cmp r3, #0 809f282: f006 8217 beq.w 80a56b4 809f286: 4bb5 ldr r3, [pc, #724] ; (809f55c ) 809f288: 881b ldrh r3, [r3, #0] 809f28a: b29b uxth r3, r3 809f28c: 009b lsls r3, r3, #2 809f28e: 461a mov r2, r3 809f290: 4bb3 ldr r3, [pc, #716] ; (809f560 ) 809f292: 681b ldr r3, [r3, #0] 809f294: 429a cmp r2, r3 809f296: f086 820d bcs.w 80a56b4 809f29a: 4bb2 ldr r3, [pc, #712] ; (809f564 ) 809f29c: 681b ldr r3, [r3, #0] 809f29e: 2b00 cmp r3, #0 809f2a0: f046 8208 bne.w 80a56b4 switch(pardata.SYG) 809f2a4: 4ba4 ldr r3, [pc, #656] ; (809f538 ) 809f2a6: 781b ldrb r3, [r3, #0] 809f2a8: b2db uxtb r3, r3 809f2aa: 2b00 cmp r3, #0 809f2ac: d001 beq.n 809f2b2 break; 809f2ae: f006 ba01 b.w 80a56b4 if(log == false) // Åñëè â ìåòðè÷åñêèõ âåëè÷èíàõ 809f2b2: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 809f2b6: f083 0301 eor.w r3, r3, #1 809f2ba: b2db uxtb r3, r3 809f2bc: 2b00 cmp r3, #0 809f2be: f000 85b5 beq.w 809fe2c for(ipr = ACC; ipr <= DIS; ipr++) 809f2c2: 2300 movs r3, #0 809f2c4: 653b str r3, [r7, #80] ; 0x50 809f2c6: f000 bdab b.w 809fe20 memset(str, 0, sizeof(str)); 809f2ca: f107 030c add.w r3, r7, #12 809f2ce: 2228 movs r2, #40 ; 0x28 809f2d0: 2100 movs r1, #0 809f2d2: 4618 mov r0, r3 809f2d4: f032 fe66 bl 80d1fa4 f = ABS(skz[ipr]); 809f2d8: 6d3b ldr r3, [r7, #80] ; 0x50 809f2da: 4aa3 ldr r2, [pc, #652] ; (809f568 ) 809f2dc: 009b lsls r3, r3, #2 809f2de: 4413 add r3, r2 809f2e0: edd3 7a00 vldr s15, [r3] 809f2e4: eef5 7ac0 vcmpe.f32 s15, #0.0 809f2e8: eef1 fa10 vmrs APSR_nzcv, fpscr 809f2ec: dd06 ble.n 809f2fc 809f2ee: 6d3b ldr r3, [r7, #80] ; 0x50 809f2f0: 4a9d ldr r2, [pc, #628] ; (809f568 ) 809f2f2: 009b lsls r3, r3, #2 809f2f4: 4413 add r3, r2 809f2f6: edd3 7a00 vldr s15, [r3] 809f2fa: e007 b.n 809f30c 809f2fc: 6d3b ldr r3, [r7, #80] ; 0x50 809f2fe: 4a9a ldr r2, [pc, #616] ; (809f568 ) 809f300: 009b lsls r3, r3, #2 809f302: 4413 add r3, r2 809f304: edd3 7a00 vldr s15, [r3] 809f308: eef1 7a67 vneg.f32 s15, s15 809f30c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(ipr < DIS) 809f310: 6d3b ldr r3, [r7, #80] ; 0x50 809f312: 2b01 cmp r3, #1 809f314: f200 80af bhi.w 809f476 if(f < 10.0f) 809f318: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f31c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809f320: eef4 7ac7 vcmpe.f32 s15, s14 809f324: eef1 fa10 vmrs APSR_nzcv, fpscr 809f328: d513 bpl.n 809f352 k = (uint32_t) (roundf(f * 10000)); 809f32a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f32e: ed9f 7a93 vldr s14, [pc, #588] ; 809f57c 809f332: ee67 7a87 vmul.f32 s15, s15, s14 809f336: eeb0 0a67 vmov.f32 s0, s15 809f33a: f030 fc33 bl 80cfba4 809f33e: eef0 7a40 vmov.f32 s15, s0 809f342: eefc 7ae7 vcvt.u32.f32 s15, s15 809f346: ee17 3a90 vmov r3, s15 809f34a: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809f34c: 2301 movs r3, #1 809f34e: 657b str r3, [r7, #84] ; 0x54 809f350: e1dd b.n 809f70e if(f < 100.0f) 809f352: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f356: ed9f 7a85 vldr s14, [pc, #532] ; 809f56c 809f35a: eef4 7ac7 vcmpe.f32 s15, s14 809f35e: eef1 fa10 vmrs APSR_nzcv, fpscr 809f362: d513 bpl.n 809f38c k = (uint32_t) (roundf(f * 1000)); 809f364: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f368: ed9f 7a81 vldr s14, [pc, #516] ; 809f570 809f36c: ee67 7a87 vmul.f32 s15, s15, s14 809f370: eeb0 0a67 vmov.f32 s0, s15 809f374: f030 fc16 bl 80cfba4 809f378: eef0 7a40 vmov.f32 s15, s0 809f37c: eefc 7ae7 vcvt.u32.f32 s15, s15 809f380: ee17 3a90 vmov r3, s15 809f384: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809f386: 2302 movs r3, #2 809f388: 657b str r3, [r7, #84] ; 0x54 809f38a: e1c0 b.n 809f70e if(f < 1000.0f) 809f38c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f390: ed9f 7a77 vldr s14, [pc, #476] ; 809f570 809f394: eef4 7ac7 vcmpe.f32 s15, s14 809f398: eef1 fa10 vmrs APSR_nzcv, fpscr 809f39c: d513 bpl.n 809f3c6 k = (uint32_t) (roundf(f * 100)); 809f39e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f3a2: ed9f 7a72 vldr s14, [pc, #456] ; 809f56c 809f3a6: ee67 7a87 vmul.f32 s15, s15, s14 809f3aa: eeb0 0a67 vmov.f32 s0, s15 809f3ae: f030 fbf9 bl 80cfba4 809f3b2: eef0 7a40 vmov.f32 s15, s0 809f3b6: eefc 7ae7 vcvt.u32.f32 s15, s15 809f3ba: ee17 3a90 vmov r3, s15 809f3be: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809f3c0: 2303 movs r3, #3 809f3c2: 657b str r3, [r7, #84] ; 0x54 809f3c4: e1a3 b.n 809f70e if(f < 10000.0f) 809f3c6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f3ca: ed9f 7a6c vldr s14, [pc, #432] ; 809f57c 809f3ce: eef4 7ac7 vcmpe.f32 s15, s14 809f3d2: eef1 fa10 vmrs APSR_nzcv, fpscr 809f3d6: d513 bpl.n 809f400 k = (uint32_t) (roundf(f * 10)); 809f3d8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f3dc: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809f3e0: ee67 7a87 vmul.f32 s15, s15, s14 809f3e4: eeb0 0a67 vmov.f32 s0, s15 809f3e8: f030 fbdc bl 80cfba4 809f3ec: eef0 7a40 vmov.f32 s15, s0 809f3f0: eefc 7ae7 vcvt.u32.f32 s15, s15 809f3f4: ee17 3a90 vmov r3, s15 809f3f8: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809f3fa: 2304 movs r3, #4 809f3fc: 657b str r3, [r7, #84] ; 0x54 809f3fe: e186 b.n 809f70e if(f < 100000.0f) 809f400: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f404: ed9f 7a5e vldr s14, [pc, #376] ; 809f580 809f408: eef4 7ac7 vcmpe.f32 s15, s14 809f40c: eef1 fa10 vmrs APSR_nzcv, fpscr 809f410: d515 bpl.n 809f43e k = (uint32_t) (roundf(f)); 809f412: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f416: eeb0 0a67 vmov.f32 s0, s15 809f41a: f030 fbc3 bl 80cfba4 809f41e: eef0 7a40 vmov.f32 s15, s0 809f422: eefc 7ae7 vcvt.u32.f32 s15, s15 809f426: ee17 3a90 vmov r3, s15 809f42a: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809f42c: 6dbb ldr r3, [r7, #88] ; 0x58 809f42e: 4a51 ldr r2, [pc, #324] ; (809f574 ) 809f430: 4293 cmp r3, r2 809f432: d901 bls.n 809f438 k = 99999; 809f434: 4b4f ldr r3, [pc, #316] ; (809f574 ) 809f436: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809f438: 2300 movs r3, #0 809f43a: 657b str r3, [r7, #84] ; 0x54 809f43c: e167 b.n 809f70e if(f >= 100000.0f) 809f43e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f442: ed9f 7a4f vldr s14, [pc, #316] ; 809f580 809f446: eef4 7ac7 vcmpe.f32 s15, s14 809f44a: eef1 fa10 vmrs APSR_nzcv, fpscr 809f44e: f2c0 815e blt.w 809f70e f = 99999.0f; 809f452: 4b49 ldr r3, [pc, #292] ; (809f578 ) 809f454: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809f456: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f45a: eeb0 0a67 vmov.f32 s0, s15 809f45e: f030 fba1 bl 80cfba4 809f462: eef0 7a40 vmov.f32 s15, s0 809f466: eefc 7ae7 vcvt.u32.f32 s15, s15 809f46a: ee17 3a90 vmov r3, s15 809f46e: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809f470: 2300 movs r3, #0 809f472: 657b str r3, [r7, #84] ; 0x54 809f474: e14b b.n 809f70e if(f < 10.0f) 809f476: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f47a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809f47e: eef4 7ac7 vcmpe.f32 s15, s14 809f482: eef1 fa10 vmrs APSR_nzcv, fpscr 809f486: d515 bpl.n 809f4b4 k = (uint32_t) (roundf(f * 10000)); 809f488: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f48c: ed9f 7a3b vldr s14, [pc, #236] ; 809f57c 809f490: ee67 7a87 vmul.f32 s15, s15, s14 809f494: eeb0 0a67 vmov.f32 s0, s15 809f498: f030 fb84 bl 80cfba4 809f49c: eef0 7a40 vmov.f32 s15, s0 809f4a0: eefc 7ae7 vcvt.u32.f32 s15, s15 809f4a4: ee17 3a90 vmov r3, s15 809f4a8: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809f4aa: 2301 movs r3, #1 809f4ac: 657b str r3, [r7, #84] ; 0x54 m = 0; 809f4ae: 2300 movs r3, #0 809f4b0: 64fb str r3, [r7, #76] ; 0x4c 809f4b2: e12c b.n 809f70e if(f < 100.0f) 809f4b4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f4b8: ed9f 7a2c vldr s14, [pc, #176] ; 809f56c 809f4bc: eef4 7ac7 vcmpe.f32 s15, s14 809f4c0: eef1 fa10 vmrs APSR_nzcv, fpscr 809f4c4: d515 bpl.n 809f4f2 k = (uint32_t) (roundf(f * 1000)); 809f4c6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f4ca: ed9f 7a29 vldr s14, [pc, #164] ; 809f570 809f4ce: ee67 7a87 vmul.f32 s15, s15, s14 809f4d2: eeb0 0a67 vmov.f32 s0, s15 809f4d6: f030 fb65 bl 80cfba4 809f4da: eef0 7a40 vmov.f32 s15, s0 809f4de: eefc 7ae7 vcvt.u32.f32 s15, s15 809f4e2: ee17 3a90 vmov r3, s15 809f4e6: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809f4e8: 2302 movs r3, #2 809f4ea: 657b str r3, [r7, #84] ; 0x54 m = 0; 809f4ec: 2300 movs r3, #0 809f4ee: 64fb str r3, [r7, #76] ; 0x4c 809f4f0: e10d b.n 809f70e if(f < 1000.0f) 809f4f2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f4f6: ed9f 7a1e vldr s14, [pc, #120] ; 809f570 809f4fa: eef4 7ac7 vcmpe.f32 s15, s14 809f4fe: eef1 fa10 vmrs APSR_nzcv, fpscr 809f502: d54b bpl.n 809f59c k = (uint32_t) (roundf(f * 100)); 809f504: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f508: ed9f 7a18 vldr s14, [pc, #96] ; 809f56c 809f50c: ee67 7a87 vmul.f32 s15, s15, s14 809f510: eeb0 0a67 vmov.f32 s0, s15 809f514: f030 fb46 bl 80cfba4 809f518: eef0 7a40 vmov.f32 s15, s0 809f51c: eefc 7ae7 vcvt.u32.f32 s15, s15 809f520: ee17 3a90 vmov r3, s15 809f524: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809f526: 2303 movs r3, #3 809f528: 657b str r3, [r7, #84] ; 0x54 m = 0; 809f52a: 2300 movs r3, #0 809f52c: 64fb str r3, [r7, #76] ; 0x4c 809f52e: e0ee b.n 809f70e 809f530: ff0a0f1f .word 0xff0a0f1f 809f534: ffb8e828 .word 0xffb8e828 809f538: 20023eb8 .word 0x20023eb8 809f53c: 080d6564 .word 0x080d6564 809f540: 080d6570 .word 0x080d6570 809f544: 20021fec .word 0x20021fec 809f548: 20022ef8 .word 0x20022ef8 809f54c: 20022360 .word 0x20022360 809f550: 0814e4ac .word 0x0814e4ac 809f554: 20020dd2 .word 0x20020dd2 809f558: 20020dcc .word 0x20020dcc 809f55c: 20021d70 .word 0x20021d70 809f560: 20020dc8 .word 0x20020dc8 809f564: 20020d8c .word 0x20020d8c 809f568: 20021590 .word 0x20021590 809f56c: 42c80000 .word 0x42c80000 809f570: 447a0000 .word 0x447a0000 809f574: 0001869f .word 0x0001869f 809f578: 47c34f80 .word 0x47c34f80 809f57c: 461c4000 .word 0x461c4000 809f580: 47c35000 .word 0x47c35000 809f584: 49742400 .word 0x49742400 809f588: 3dcccccd .word 0x3dcccccd 809f58c: 4b189680 .word 0x4b189680 809f590: 3c23d70a .word 0x3c23d70a 809f594: 4cbebc20 .word 0x4cbebc20 809f598: 3a83126f .word 0x3a83126f if(f < 10000.0f) 809f59c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f5a0: ed1f 7a0a vldr s14, [pc, #-40] ; 809f57c 809f5a4: eef4 7ac7 vcmpe.f32 s15, s14 809f5a8: eef1 fa10 vmrs APSR_nzcv, fpscr 809f5ac: d515 bpl.n 809f5da k = (uint32_t) (roundf(f * 10)); 809f5ae: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f5b2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809f5b6: ee67 7a87 vmul.f32 s15, s15, s14 809f5ba: eeb0 0a67 vmov.f32 s0, s15 809f5be: f030 faf1 bl 80cfba4 809f5c2: eef0 7a40 vmov.f32 s15, s0 809f5c6: eefc 7ae7 vcvt.u32.f32 s15, s15 809f5ca: ee17 3a90 vmov r3, s15 809f5ce: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809f5d0: 2301 movs r3, #1 809f5d2: 657b str r3, [r7, #84] ; 0x54 m = 1; 809f5d4: 2301 movs r3, #1 809f5d6: 64fb str r3, [r7, #76] ; 0x4c 809f5d8: e099 b.n 809f70e if(f < 100000.0f) 809f5da: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f5de: ed1f 7a18 vldr s14, [pc, #-96] ; 809f580 809f5e2: eef4 7ac7 vcmpe.f32 s15, s14 809f5e6: eef1 fa10 vmrs APSR_nzcv, fpscr 809f5ea: d511 bpl.n 809f610 k = (uint32_t) (roundf(f)); 809f5ec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f5f0: eeb0 0a67 vmov.f32 s0, s15 809f5f4: f030 fad6 bl 80cfba4 809f5f8: eef0 7a40 vmov.f32 s15, s0 809f5fc: eefc 7ae7 vcvt.u32.f32 s15, s15 809f600: ee17 3a90 vmov r3, s15 809f604: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809f606: 2302 movs r3, #2 809f608: 657b str r3, [r7, #84] ; 0x54 m = 1; 809f60a: 2301 movs r3, #1 809f60c: 64fb str r3, [r7, #76] ; 0x4c 809f60e: e07e b.n 809f70e if(f < 1000000.0f) 809f610: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f614: ed1f 7a25 vldr s14, [pc, #-148] ; 809f584 809f618: eef4 7ac7 vcmpe.f32 s15, s14 809f61c: eef1 fa10 vmrs APSR_nzcv, fpscr 809f620: d515 bpl.n 809f64e k = (uint32_t) (roundf(f * 0.1f)); 809f622: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f626: ed1f 7a28 vldr s14, [pc, #-160] ; 809f588 809f62a: ee67 7a87 vmul.f32 s15, s15, s14 809f62e: eeb0 0a67 vmov.f32 s0, s15 809f632: f030 fab7 bl 80cfba4 809f636: eef0 7a40 vmov.f32 s15, s0 809f63a: eefc 7ae7 vcvt.u32.f32 s15, s15 809f63e: ee17 3a90 vmov r3, s15 809f642: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809f644: 2303 movs r3, #3 809f646: 657b str r3, [r7, #84] ; 0x54 m = 1; 809f648: 2301 movs r3, #1 809f64a: 64fb str r3, [r7, #76] ; 0x4c 809f64c: e05f b.n 809f70e if(f < 10000000.0f) 809f64e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f652: ed1f 7a32 vldr s14, [pc, #-200] ; 809f58c 809f656: eef4 7ac7 vcmpe.f32 s15, s14 809f65a: eef1 fa10 vmrs APSR_nzcv, fpscr 809f65e: d515 bpl.n 809f68c k = (uint32_t) (roundf(f * 0.01f)); 809f660: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f664: ed1f 7a36 vldr s14, [pc, #-216] ; 809f590 809f668: ee67 7a87 vmul.f32 s15, s15, s14 809f66c: eeb0 0a67 vmov.f32 s0, s15 809f670: f030 fa98 bl 80cfba4 809f674: eef0 7a40 vmov.f32 s15, s0 809f678: eefc 7ae7 vcvt.u32.f32 s15, s15 809f67c: ee17 3a90 vmov r3, s15 809f680: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809f682: 2304 movs r3, #4 809f684: 657b str r3, [r7, #84] ; 0x54 m = 1; 809f686: 2301 movs r3, #1 809f688: 64fb str r3, [r7, #76] ; 0x4c 809f68a: e040 b.n 809f70e if(f < 100000000.0f) 809f68c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f690: ed1f 7a40 vldr s14, [pc, #-256] ; 809f594 809f694: eef4 7ac7 vcmpe.f32 s15, s14 809f698: eef1 fa10 vmrs APSR_nzcv, fpscr 809f69c: d51b bpl.n 809f6d6 k = (uint32_t) (roundf(f * 0.001f)); 809f69e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f6a2: ed1f 7a43 vldr s14, [pc, #-268] ; 809f598 809f6a6: ee67 7a87 vmul.f32 s15, s15, s14 809f6aa: eeb0 0a67 vmov.f32 s0, s15 809f6ae: f030 fa79 bl 80cfba4 809f6b2: eef0 7a40 vmov.f32 s15, s0 809f6b6: eefc 7ae7 vcvt.u32.f32 s15, s15 809f6ba: ee17 3a90 vmov r3, s15 809f6be: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809f6c0: 6dbb ldr r3, [r7, #88] ; 0x58 809f6c2: 4aba ldr r2, [pc, #744] ; (809f9ac ) 809f6c4: 4293 cmp r3, r2 809f6c6: d901 bls.n 809f6cc k = 99999; 809f6c8: 4bb8 ldr r3, [pc, #736] ; (809f9ac ) 809f6ca: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809f6cc: 2300 movs r3, #0 809f6ce: 657b str r3, [r7, #84] ; 0x54 m = 1; 809f6d0: 2301 movs r3, #1 809f6d2: 64fb str r3, [r7, #76] ; 0x4c 809f6d4: e01b b.n 809f70e if(f >= 100000000.0f) 809f6d6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f6da: ed9f 7ab5 vldr s14, [pc, #724] ; 809f9b0 809f6de: eef4 7ac7 vcmpe.f32 s15, s14 809f6e2: eef1 fa10 vmrs APSR_nzcv, fpscr 809f6e6: db12 blt.n 809f70e f = 99999.0f; 809f6e8: 4bb2 ldr r3, [pc, #712] ; (809f9b4 ) 809f6ea: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809f6ec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f6f0: eeb0 0a67 vmov.f32 s0, s15 809f6f4: f030 fa56 bl 80cfba4 809f6f8: eef0 7a40 vmov.f32 s15, s0 809f6fc: eefc 7ae7 vcvt.u32.f32 s15, s15 809f700: ee17 3a90 vmov r3, s15 809f704: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809f706: 2300 movs r3, #0 809f708: 657b str r3, [r7, #84] ; 0x54 m = 1; 809f70a: 2301 movs r3, #1 809f70c: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 809f70e: 6d3a ldr r2, [r7, #80] ; 0x50 809f710: 6dbb ldr r3, [r7, #88] ; 0x58 809f712: 49a9 ldr r1, [pc, #676] ; (809f9b8 ) 809f714: fba1 1303 umull r1, r3, r1, r3 809f718: 0b5b lsrs r3, r3, #13 809f71a: b2d9 uxtb r1, r3 809f71c: 4613 mov r3, r2 809f71e: 009b lsls r3, r3, #2 809f720: 4413 add r3, r2 809f722: f107 0268 add.w r2, r7, #104 ; 0x68 809f726: 4413 add r3, r2 809f728: 3b34 subs r3, #52 ; 0x34 809f72a: 460a mov r2, r1 809f72c: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 809f72e: 6d39 ldr r1, [r7, #80] ; 0x50 809f730: 6dba ldr r2, [r7, #88] ; 0x58 809f732: 4ba1 ldr r3, [pc, #644] ; (809f9b8 ) 809f734: fba3 0302 umull r0, r3, r3, r2 809f738: 0b5b lsrs r3, r3, #13 809f73a: f242 7010 movw r0, #10000 ; 0x2710 809f73e: fb00 f303 mul.w r3, r0, r3 809f742: 1ad3 subs r3, r2, r3 809f744: 4a9d ldr r2, [pc, #628] ; (809f9bc ) 809f746: fba2 2303 umull r2, r3, r2, r3 809f74a: 099b lsrs r3, r3, #6 809f74c: b2da uxtb r2, r3 809f74e: 460b mov r3, r1 809f750: 009b lsls r3, r3, #2 809f752: 440b add r3, r1 809f754: f107 0168 add.w r1, r7, #104 ; 0x68 809f758: 440b add r3, r1 809f75a: 3b33 subs r3, #51 ; 0x33 809f75c: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 809f75e: 6d39 ldr r1, [r7, #80] ; 0x50 809f760: 6dba ldr r2, [r7, #88] ; 0x58 809f762: 4b95 ldr r3, [pc, #596] ; (809f9b8 ) 809f764: fba3 0302 umull r0, r3, r3, r2 809f768: 0b5b lsrs r3, r3, #13 809f76a: f242 7010 movw r0, #10000 ; 0x2710 809f76e: fb00 f303 mul.w r3, r0, r3 809f772: 1ad3 subs r3, r2, r3 809f774: 4a91 ldr r2, [pc, #580] ; (809f9bc ) 809f776: fba2 0203 umull r0, r2, r2, r3 809f77a: 0992 lsrs r2, r2, #6 809f77c: f44f 707a mov.w r0, #1000 ; 0x3e8 809f780: fb00 f202 mul.w r2, r0, r2 809f784: 1a9a subs r2, r3, r2 809f786: 4b8e ldr r3, [pc, #568] ; (809f9c0 ) 809f788: fba3 2302 umull r2, r3, r3, r2 809f78c: 095b lsrs r3, r3, #5 809f78e: b2da uxtb r2, r3 809f790: 460b mov r3, r1 809f792: 009b lsls r3, r3, #2 809f794: 440b add r3, r1 809f796: f107 0168 add.w r1, r7, #104 ; 0x68 809f79a: 440b add r3, r1 809f79c: 3b32 subs r3, #50 ; 0x32 809f79e: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 809f7a0: 6d39 ldr r1, [r7, #80] ; 0x50 809f7a2: 6dbb ldr r3, [r7, #88] ; 0x58 809f7a4: 4a84 ldr r2, [pc, #528] ; (809f9b8 ) 809f7a6: fba2 0203 umull r0, r2, r2, r3 809f7aa: 0b52 lsrs r2, r2, #13 809f7ac: f242 7010 movw r0, #10000 ; 0x2710 809f7b0: fb00 f202 mul.w r2, r0, r2 809f7b4: 1a9a subs r2, r3, r2 809f7b6: 4b81 ldr r3, [pc, #516] ; (809f9bc ) 809f7b8: fba3 0302 umull r0, r3, r3, r2 809f7bc: 099b lsrs r3, r3, #6 809f7be: f44f 707a mov.w r0, #1000 ; 0x3e8 809f7c2: fb00 f303 mul.w r3, r0, r3 809f7c6: 1ad3 subs r3, r2, r3 809f7c8: 4a7d ldr r2, [pc, #500] ; (809f9c0 ) 809f7ca: fba2 0203 umull r0, r2, r2, r3 809f7ce: 0952 lsrs r2, r2, #5 809f7d0: 2064 movs r0, #100 ; 0x64 809f7d2: fb00 f202 mul.w r2, r0, r2 809f7d6: 1a9a subs r2, r3, r2 809f7d8: 4b7a ldr r3, [pc, #488] ; (809f9c4 ) 809f7da: fba3 2302 umull r2, r3, r3, r2 809f7de: 08db lsrs r3, r3, #3 809f7e0: b2da uxtb r2, r3 809f7e2: 460b mov r3, r1 809f7e4: 009b lsls r3, r3, #2 809f7e6: 440b add r3, r1 809f7e8: f107 0168 add.w r1, r7, #104 ; 0x68 809f7ec: 440b add r3, r1 809f7ee: 3b31 subs r3, #49 ; 0x31 809f7f0: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 809f7f2: 6d38 ldr r0, [r7, #80] ; 0x50 809f7f4: 6dbb ldr r3, [r7, #88] ; 0x58 809f7f6: 4a70 ldr r2, [pc, #448] ; (809f9b8 ) 809f7f8: fba2 1203 umull r1, r2, r2, r3 809f7fc: 0b52 lsrs r2, r2, #13 809f7fe: f242 7110 movw r1, #10000 ; 0x2710 809f802: fb01 f202 mul.w r2, r1, r2 809f806: 1a9a subs r2, r3, r2 809f808: 4b6c ldr r3, [pc, #432] ; (809f9bc ) 809f80a: fba3 1302 umull r1, r3, r3, r2 809f80e: 099b lsrs r3, r3, #6 809f810: f44f 717a mov.w r1, #1000 ; 0x3e8 809f814: fb01 f303 mul.w r3, r1, r3 809f818: 1ad3 subs r3, r2, r3 809f81a: 4a69 ldr r2, [pc, #420] ; (809f9c0 ) 809f81c: fba2 1203 umull r1, r2, r2, r3 809f820: 0952 lsrs r2, r2, #5 809f822: 2164 movs r1, #100 ; 0x64 809f824: fb01 f202 mul.w r2, r1, r2 809f828: 1a9a subs r2, r3, r2 809f82a: 4b66 ldr r3, [pc, #408] ; (809f9c4 ) 809f82c: fba3 1302 umull r1, r3, r3, r2 809f830: 08d9 lsrs r1, r3, #3 809f832: 460b mov r3, r1 809f834: 009b lsls r3, r3, #2 809f836: 440b add r3, r1 809f838: 005b lsls r3, r3, #1 809f83a: 1ad1 subs r1, r2, r3 809f83c: b2ca uxtb r2, r1 809f83e: 4603 mov r3, r0 809f840: 009b lsls r3, r3, #2 809f842: 4403 add r3, r0 809f844: f107 0168 add.w r1, r7, #104 ; 0x68 809f848: 440b add r3, r1 809f84a: 3b30 subs r3, #48 ; 0x30 809f84c: 701a strb r2, [r3, #0] if(skz[ipr] != -1.0f) // 809f84e: 6d3b ldr r3, [r7, #80] ; 0x50 809f850: 4a5d ldr r2, [pc, #372] ; (809f9c8 ) 809f852: 009b lsls r3, r3, #2 809f854: 4413 add r3, r2 809f856: edd3 7a00 vldr s15, [r3] 809f85a: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809f85e: eef4 7a47 vcmp.f32 s15, s14 809f862: eef1 fa10 vmrs APSR_nzcv, fpscr 809f866: f000 829f beq.w 809fda8 if(ipr == ACC) 809f86a: 6d3b ldr r3, [r7, #80] ; 0x50 809f86c: 2b00 cmp r3, #0 809f86e: f040 80dc bne.w 809fa2a if(!t) 809f872: 6d7b ldr r3, [r7, #84] ; 0x54 809f874: 2b00 cmp r3, #0 809f876: d126 bne.n 809f8c6 for(i = 0; i < 5; i++) 809f878: 2300 movs r3, #0 809f87a: 65fb str r3, [r7, #92] ; 0x5c 809f87c: e01f b.n 809f8be DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809f87e: 6d3a ldr r2, [r7, #80] ; 0x50 809f880: 6df9 ldr r1, [r7, #92] ; 0x5c 809f882: 4613 mov r3, r2 809f884: 009b lsls r3, r3, #2 809f886: 4413 add r3, r2 809f888: f107 0268 add.w r2, r7, #104 ; 0x68 809f88c: 4413 add r3, r2 809f88e: 440b add r3, r1 809f890: 3b34 subs r3, #52 ; 0x34 809f892: 781b ldrb r3, [r3, #0] 809f894: b2db uxtb r3, r3 809f896: 461a mov r2, r3 809f898: 4b4c ldr r3, [pc, #304] ; (809f9cc ) 809f89a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809f89e: 6dfb ldr r3, [r7, #92] ; 0x5c 809f8a0: b29b uxth r3, r3 809f8a2: 461a mov r2, r3 809f8a4: 0112 lsls r2, r2, #4 809f8a6: 1ad3 subs r3, r2, r3 809f8a8: 005b lsls r3, r3, #1 809f8aa: b29b uxth r3, r3 809f8ac: 335a adds r3, #90 ; 0x5a 809f8ae: b29b uxth r3, r3 809f8b0: 2256 movs r2, #86 ; 0x56 809f8b2: 4619 mov r1, r3 809f8b4: f7b6 fb9e bl 8055ff4 for(i = 0; i < 5; i++) 809f8b8: 6dfb ldr r3, [r7, #92] ; 0x5c 809f8ba: 3301 adds r3, #1 809f8bc: 65fb str r3, [r7, #92] ; 0x5c 809f8be: 6dfb ldr r3, [r7, #92] ; 0x5c 809f8c0: 2b04 cmp r3, #4 809f8c2: d9dc bls.n 809f87e 809f8c4: e05a b.n 809f97c for(i = 0; i < t; i++) 809f8c6: 2300 movs r3, #0 809f8c8: 65fb str r3, [r7, #92] ; 0x5c 809f8ca: e01f b.n 809f90c DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809f8cc: 6d3a ldr r2, [r7, #80] ; 0x50 809f8ce: 6df9 ldr r1, [r7, #92] ; 0x5c 809f8d0: 4613 mov r3, r2 809f8d2: 009b lsls r3, r3, #2 809f8d4: 4413 add r3, r2 809f8d6: f107 0268 add.w r2, r7, #104 ; 0x68 809f8da: 4413 add r3, r2 809f8dc: 440b add r3, r1 809f8de: 3b34 subs r3, #52 ; 0x34 809f8e0: 781b ldrb r3, [r3, #0] 809f8e2: b2db uxtb r3, r3 809f8e4: 461a mov r2, r3 809f8e6: 4b39 ldr r3, [pc, #228] ; (809f9cc ) 809f8e8: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809f8ec: 6dfb ldr r3, [r7, #92] ; 0x5c 809f8ee: b29b uxth r3, r3 809f8f0: 461a mov r2, r3 809f8f2: 0112 lsls r2, r2, #4 809f8f4: 1ad3 subs r3, r2, r3 809f8f6: 005b lsls r3, r3, #1 809f8f8: b29b uxth r3, r3 809f8fa: 335a adds r3, #90 ; 0x5a 809f8fc: b29b uxth r3, r3 809f8fe: 2256 movs r2, #86 ; 0x56 809f900: 4619 mov r1, r3 809f902: f7b6 fb77 bl 8055ff4 for(i = 0; i < t; i++) 809f906: 6dfb ldr r3, [r7, #92] ; 0x5c 809f908: 3301 adds r3, #1 809f90a: 65fb str r3, [r7, #92] ; 0x5c 809f90c: 6dfa ldr r2, [r7, #92] ; 0x5c 809f90e: 6d7b ldr r3, [r7, #84] ; 0x54 809f910: 429a cmp r2, r3 809f912: d3db bcc.n 809f8cc DrawImage(&bmgpt, 95 + 30*t, 92+18); 809f914: 6d7b ldr r3, [r7, #84] ; 0x54 809f916: b29b uxth r3, r3 809f918: 461a mov r2, r3 809f91a: 0112 lsls r2, r2, #4 809f91c: 1ad3 subs r3, r2, r3 809f91e: 005b lsls r3, r3, #1 809f920: b29b uxth r3, r3 809f922: 335f adds r3, #95 ; 0x5f 809f924: b29b uxth r3, r3 809f926: 226e movs r2, #110 ; 0x6e 809f928: 4619 mov r1, r3 809f92a: 4829 ldr r0, [pc, #164] ; (809f9d0 ) 809f92c: f7b6 fb62 bl 8055ff4 for(i = t; i < 5; i++) 809f930: 6d7b ldr r3, [r7, #84] ; 0x54 809f932: 65fb str r3, [r7, #92] ; 0x5c 809f934: e01f b.n 809f976 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 809f936: 6d3a ldr r2, [r7, #80] ; 0x50 809f938: 6df9 ldr r1, [r7, #92] ; 0x5c 809f93a: 4613 mov r3, r2 809f93c: 009b lsls r3, r3, #2 809f93e: 4413 add r3, r2 809f940: f107 0268 add.w r2, r7, #104 ; 0x68 809f944: 4413 add r3, r2 809f946: 440b add r3, r1 809f948: 3b34 subs r3, #52 ; 0x34 809f94a: 781b ldrb r3, [r3, #0] 809f94c: b2db uxtb r3, r3 809f94e: 461a mov r2, r3 809f950: 4b1e ldr r3, [pc, #120] ; (809f9cc ) 809f952: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809f956: 6dfb ldr r3, [r7, #92] ; 0x5c 809f958: b29b uxth r3, r3 809f95a: 461a mov r2, r3 809f95c: 0112 lsls r2, r2, #4 809f95e: 1ad3 subs r3, r2, r3 809f960: 005b lsls r3, r3, #1 809f962: b29b uxth r3, r3 809f964: 336e adds r3, #110 ; 0x6e 809f966: b29b uxth r3, r3 809f968: 2256 movs r2, #86 ; 0x56 809f96a: 4619 mov r1, r3 809f96c: f7b6 fb42 bl 8055ff4 for(i = t; i < 5; i++) 809f970: 6dfb ldr r3, [r7, #92] ; 0x5c 809f972: 3301 adds r3, #1 809f974: 65fb str r3, [r7, #92] ; 0x5c 809f976: 6dfb ldr r3, [r7, #92] ; 0x5c 809f978: 2b04 cmp r3, #4 809f97a: d9dc bls.n 809f936 if(pardata.IVS[ACC] < PEAK_FACTOR) 809f97c: 4b15 ldr r3, [pc, #84] ; (809f9d4 ) 809f97e: 789b ldrb r3, [r3, #2] 809f980: b2db uxtb r3, r3 809f982: 2b02 cmp r3, #2 809f984: d837 bhi.n 809f9f6 if(pardata.IIN != VOLTS) 809f986: 4b13 ldr r3, [pc, #76] ; (809f9d4 ) 809f988: 799b ldrb r3, [r3, #6] 809f98a: b2db uxtb r3, r3 809f98c: 2b02 cmp r3, #2 809f98e: d025 beq.n 809f9dc DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 809f990: 4b10 ldr r3, [pc, #64] ; (809f9d4 ) 809f992: 7b1b ldrb r3, [r3, #12] 809f994: b2db uxtb r3, r3 809f996: 461a mov r2, r3 809f998: 4b0f ldr r3, [pc, #60] ; (809f9d8 ) 809f99a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f99e: 225c movs r2, #92 ; 0x5c 809f9a0: f240 1109 movw r1, #265 ; 0x109 809f9a4: 4618 mov r0, r3 809f9a6: f7b6 fb25 bl 8055ff4 809f9aa: e024 b.n 809f9f6 809f9ac: 0001869f .word 0x0001869f 809f9b0: 4cbebc20 .word 0x4cbebc20 809f9b4: 47c34f80 .word 0x47c34f80 809f9b8: d1b71759 .word 0xd1b71759 809f9bc: 10624dd3 .word 0x10624dd3 809f9c0: 51eb851f .word 0x51eb851f 809f9c4: cccccccd .word 0xcccccccd 809f9c8: 20021590 .word 0x20021590 809f9cc: 20020124 .word 0x20020124 809f9d0: 0816e480 .word 0x0816e480 809f9d4: 20023eb8 .word 0x20023eb8 809f9d8: 200200f4 .word 0x200200f4 else DrawImage(BMG_MV[pardata.LANG], 265, 74+18); 809f9dc: 4baa ldr r3, [pc, #680] ; (809fc88 ) 809f9de: 7b1b ldrb r3, [r3, #12] 809f9e0: b2db uxtb r3, r3 809f9e2: 461a mov r2, r3 809f9e4: 4ba9 ldr r3, [pc, #676] ; (809fc8c ) 809f9e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f9ea: 225c movs r2, #92 ; 0x5c 809f9ec: f240 1109 movw r1, #265 ; 0x109 809f9f0: 4618 mov r0, r3 809f9f2: f7b6 faff bl 8055ff4 if(pardata.IVS[ipr] == EXCESS) 809f9f6: 6d3b ldr r3, [r7, #80] ; 0x50 809f9f8: 4aa3 ldr r2, [pc, #652] ; (809fc88 ) 809f9fa: 4413 add r3, r2 809f9fc: 789b ldrb r3, [r3, #2] 809f9fe: b2db uxtb r3, r3 809fa00: 2b04 cmp r3, #4 809fa02: f040 820a bne.w 809fe1a if(skz[ipr] < 0.0f) { 809fa06: 6d3b ldr r3, [r7, #80] ; 0x50 809fa08: 4aa1 ldr r2, [pc, #644] ; (809fc90 ) 809fa0a: 009b lsls r3, r3, #2 809fa0c: 4413 add r3, r2 809fa0e: edd3 7a00 vldr s15, [r3] 809fa12: eef5 7ac0 vcmpe.f32 s15, #0.0 809fa16: eef1 fa10 vmrs APSR_nzcv, fpscr 809fa1a: f140 81fe bpl.w 809fe1a DrawImage(&bmgminus, 78, 84+18); 809fa1e: 2266 movs r2, #102 ; 0x66 809fa20: 214e movs r1, #78 ; 0x4e 809fa22: 489c ldr r0, [pc, #624] ; (809fc94 ) 809fa24: f7b6 fae6 bl 8055ff4 809fa28: e1f7 b.n 809fe1a if(ipr == VEL) 809fa2a: 6d3b ldr r3, [r7, #80] ; 0x50 809fa2c: 2b01 cmp r3, #1 809fa2e: f040 80c4 bne.w 809fbba if(!t) 809fa32: 6d7b ldr r3, [r7, #84] ; 0x54 809fa34: 2b00 cmp r3, #0 809fa36: d126 bne.n 809fa86 for(i = 0; i < 5; i++) 809fa38: 2300 movs r3, #0 809fa3a: 65fb str r3, [r7, #92] ; 0x5c 809fa3c: e01f b.n 809fa7e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809fa3e: 6d3a ldr r2, [r7, #80] ; 0x50 809fa40: 6df9 ldr r1, [r7, #92] ; 0x5c 809fa42: 4613 mov r3, r2 809fa44: 009b lsls r3, r3, #2 809fa46: 4413 add r3, r2 809fa48: f107 0268 add.w r2, r7, #104 ; 0x68 809fa4c: 4413 add r3, r2 809fa4e: 440b add r3, r1 809fa50: 3b34 subs r3, #52 ; 0x34 809fa52: 781b ldrb r3, [r3, #0] 809fa54: b2db uxtb r3, r3 809fa56: 461a mov r2, r3 809fa58: 4b8f ldr r3, [pc, #572] ; (809fc98 ) 809fa5a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809fa5e: 6dfb ldr r3, [r7, #92] ; 0x5c 809fa60: b29b uxth r3, r3 809fa62: 461a mov r2, r3 809fa64: 0112 lsls r2, r2, #4 809fa66: 1ad3 subs r3, r2, r3 809fa68: 005b lsls r3, r3, #1 809fa6a: b29b uxth r3, r3 809fa6c: 335a adds r3, #90 ; 0x5a 809fa6e: b29b uxth r3, r3 809fa70: 2282 movs r2, #130 ; 0x82 809fa72: 4619 mov r1, r3 809fa74: f7b6 fabe bl 8055ff4 for(i = 0; i < 5; i++) 809fa78: 6dfb ldr r3, [r7, #92] ; 0x5c 809fa7a: 3301 adds r3, #1 809fa7c: 65fb str r3, [r7, #92] ; 0x5c 809fa7e: 6dfb ldr r3, [r7, #92] ; 0x5c 809fa80: 2b04 cmp r3, #4 809fa82: d9dc bls.n 809fa3e 809fa84: e05a b.n 809fb3c for(i = 0; i < t; i++) 809fa86: 2300 movs r3, #0 809fa88: 65fb str r3, [r7, #92] ; 0x5c 809fa8a: e01f b.n 809facc DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809fa8c: 6d3a ldr r2, [r7, #80] ; 0x50 809fa8e: 6df9 ldr r1, [r7, #92] ; 0x5c 809fa90: 4613 mov r3, r2 809fa92: 009b lsls r3, r3, #2 809fa94: 4413 add r3, r2 809fa96: f107 0268 add.w r2, r7, #104 ; 0x68 809fa9a: 4413 add r3, r2 809fa9c: 440b add r3, r1 809fa9e: 3b34 subs r3, #52 ; 0x34 809faa0: 781b ldrb r3, [r3, #0] 809faa2: b2db uxtb r3, r3 809faa4: 461a mov r2, r3 809faa6: 4b7c ldr r3, [pc, #496] ; (809fc98 ) 809faa8: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809faac: 6dfb ldr r3, [r7, #92] ; 0x5c 809faae: b29b uxth r3, r3 809fab0: 461a mov r2, r3 809fab2: 0112 lsls r2, r2, #4 809fab4: 1ad3 subs r3, r2, r3 809fab6: 005b lsls r3, r3, #1 809fab8: b29b uxth r3, r3 809faba: 335a adds r3, #90 ; 0x5a 809fabc: b29b uxth r3, r3 809fabe: 2282 movs r2, #130 ; 0x82 809fac0: 4619 mov r1, r3 809fac2: f7b6 fa97 bl 8055ff4 for(i = 0; i < t; i++) 809fac6: 6dfb ldr r3, [r7, #92] ; 0x5c 809fac8: 3301 adds r3, #1 809faca: 65fb str r3, [r7, #92] ; 0x5c 809facc: 6dfa ldr r2, [r7, #92] ; 0x5c 809face: 6d7b ldr r3, [r7, #84] ; 0x54 809fad0: 429a cmp r2, r3 809fad2: d3db bcc.n 809fa8c DrawImage(&bmgpt, 95 + 30*t, 145+9); 809fad4: 6d7b ldr r3, [r7, #84] ; 0x54 809fad6: b29b uxth r3, r3 809fad8: 461a mov r2, r3 809fada: 0112 lsls r2, r2, #4 809fadc: 1ad3 subs r3, r2, r3 809fade: 005b lsls r3, r3, #1 809fae0: b29b uxth r3, r3 809fae2: 335f adds r3, #95 ; 0x5f 809fae4: b29b uxth r3, r3 809fae6: 229a movs r2, #154 ; 0x9a 809fae8: 4619 mov r1, r3 809faea: 486c ldr r0, [pc, #432] ; (809fc9c ) 809faec: f7b6 fa82 bl 8055ff4 for(i = t; i < 5; i++) 809faf0: 6d7b ldr r3, [r7, #84] ; 0x54 809faf2: 65fb str r3, [r7, #92] ; 0x5c 809faf4: e01f b.n 809fb36 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 809faf6: 6d3a ldr r2, [r7, #80] ; 0x50 809faf8: 6df9 ldr r1, [r7, #92] ; 0x5c 809fafa: 4613 mov r3, r2 809fafc: 009b lsls r3, r3, #2 809fafe: 4413 add r3, r2 809fb00: f107 0268 add.w r2, r7, #104 ; 0x68 809fb04: 4413 add r3, r2 809fb06: 440b add r3, r1 809fb08: 3b34 subs r3, #52 ; 0x34 809fb0a: 781b ldrb r3, [r3, #0] 809fb0c: b2db uxtb r3, r3 809fb0e: 461a mov r2, r3 809fb10: 4b61 ldr r3, [pc, #388] ; (809fc98 ) 809fb12: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809fb16: 6dfb ldr r3, [r7, #92] ; 0x5c 809fb18: b29b uxth r3, r3 809fb1a: 461a mov r2, r3 809fb1c: 0112 lsls r2, r2, #4 809fb1e: 1ad3 subs r3, r2, r3 809fb20: 005b lsls r3, r3, #1 809fb22: b29b uxth r3, r3 809fb24: 336e adds r3, #110 ; 0x6e 809fb26: b29b uxth r3, r3 809fb28: 2282 movs r2, #130 ; 0x82 809fb2a: 4619 mov r1, r3 809fb2c: f7b6 fa62 bl 8055ff4 for(i = t; i < 5; i++) 809fb30: 6dfb ldr r3, [r7, #92] ; 0x5c 809fb32: 3301 adds r3, #1 809fb34: 65fb str r3, [r7, #92] ; 0x5c 809fb36: 6dfb ldr r3, [r7, #92] ; 0x5c 809fb38: 2b04 cmp r3, #4 809fb3a: d9dc bls.n 809faf6 if(pardata.IVS[VEL] < PEAK_FACTOR) 809fb3c: 4b52 ldr r3, [pc, #328] ; (809fc88 ) 809fb3e: 78db ldrb r3, [r3, #3] 809fb40: b2db uxtb r3, r3 809fb42: 2b02 cmp r3, #2 809fb44: d81f bhi.n 809fb86 if(pardata.IIN != VOLTS) 809fb46: 4b50 ldr r3, [pc, #320] ; (809fc88 ) 809fb48: 799b ldrb r3, [r3, #6] 809fb4a: b2db uxtb r3, r3 809fb4c: 2b02 cmp r3, #2 809fb4e: d00d beq.n 809fb6c DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 809fb50: 4b4d ldr r3, [pc, #308] ; (809fc88 ) 809fb52: 7b1b ldrb r3, [r3, #12] 809fb54: b2db uxtb r3, r3 809fb56: 461a mov r2, r3 809fb58: 4b51 ldr r3, [pc, #324] ; (809fca0 ) 809fb5a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809fb5e: 2289 movs r2, #137 ; 0x89 809fb60: f240 1109 movw r1, #265 ; 0x109 809fb64: 4618 mov r0, r3 809fb66: f7b6 fa45 bl 8055ff4 809fb6a: e00c b.n 809fb86 else DrawImage(BMG_MV[pardata.LANG], 265, 128+9); 809fb6c: 4b46 ldr r3, [pc, #280] ; (809fc88 ) 809fb6e: 7b1b ldrb r3, [r3, #12] 809fb70: b2db uxtb r3, r3 809fb72: 461a mov r2, r3 809fb74: 4b45 ldr r3, [pc, #276] ; (809fc8c ) 809fb76: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809fb7a: 2289 movs r2, #137 ; 0x89 809fb7c: f240 1109 movw r1, #265 ; 0x109 809fb80: 4618 mov r0, r3 809fb82: f7b6 fa37 bl 8055ff4 if(pardata.IVS[ipr] == EXCESS) 809fb86: 6d3b ldr r3, [r7, #80] ; 0x50 809fb88: 4a3f ldr r2, [pc, #252] ; (809fc88 ) 809fb8a: 4413 add r3, r2 809fb8c: 789b ldrb r3, [r3, #2] 809fb8e: b2db uxtb r3, r3 809fb90: 2b04 cmp r3, #4 809fb92: f040 8142 bne.w 809fe1a if(skz[ipr] < 0.0f) { 809fb96: 6d3b ldr r3, [r7, #80] ; 0x50 809fb98: 4a3d ldr r2, [pc, #244] ; (809fc90 ) 809fb9a: 009b lsls r3, r3, #2 809fb9c: 4413 add r3, r2 809fb9e: edd3 7a00 vldr s15, [r3] 809fba2: eef5 7ac0 vcmpe.f32 s15, #0.0 809fba6: eef1 fa10 vmrs APSR_nzcv, fpscr 809fbaa: f140 8136 bpl.w 809fe1a DrawImage(&bmgminus, 78, 138+9); 809fbae: 2293 movs r2, #147 ; 0x93 809fbb0: 214e movs r1, #78 ; 0x4e 809fbb2: 4838 ldr r0, [pc, #224] ; (809fc94 ) 809fbb4: f7b6 fa1e bl 8055ff4 809fbb8: e12f b.n 809fe1a if(ipr == DIS) 809fbba: 6d3b ldr r3, [r7, #80] ; 0x50 809fbbc: 2b02 cmp r3, #2 809fbbe: f040 812c bne.w 809fe1a if(!t) 809fbc2: 6d7b ldr r3, [r7, #84] ; 0x54 809fbc4: 2b00 cmp r3, #0 809fbc6: d126 bne.n 809fc16 for(i = 0; i < 5; i++) 809fbc8: 2300 movs r3, #0 809fbca: 65fb str r3, [r7, #92] ; 0x5c 809fbcc: e01f b.n 809fc0e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809fbce: 6d3a ldr r2, [r7, #80] ; 0x50 809fbd0: 6df9 ldr r1, [r7, #92] ; 0x5c 809fbd2: 4613 mov r3, r2 809fbd4: 009b lsls r3, r3, #2 809fbd6: 4413 add r3, r2 809fbd8: f107 0268 add.w r2, r7, #104 ; 0x68 809fbdc: 4413 add r3, r2 809fbde: 440b add r3, r1 809fbe0: 3b34 subs r3, #52 ; 0x34 809fbe2: 781b ldrb r3, [r3, #0] 809fbe4: b2db uxtb r3, r3 809fbe6: 461a mov r2, r3 809fbe8: 4b2b ldr r3, [pc, #172] ; (809fc98 ) 809fbea: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809fbee: 6dfb ldr r3, [r7, #92] ; 0x5c 809fbf0: b29b uxth r3, r3 809fbf2: 461a mov r2, r3 809fbf4: 0112 lsls r2, r2, #4 809fbf6: 1ad3 subs r3, r2, r3 809fbf8: 005b lsls r3, r3, #1 809fbfa: b29b uxth r3, r3 809fbfc: 335a adds r3, #90 ; 0x5a 809fbfe: b29b uxth r3, r3 809fc00: 22ae movs r2, #174 ; 0xae 809fc02: 4619 mov r1, r3 809fc04: f7b6 f9f6 bl 8055ff4 for(i = 0; i < 5; i++) 809fc08: 6dfb ldr r3, [r7, #92] ; 0x5c 809fc0a: 3301 adds r3, #1 809fc0c: 65fb str r3, [r7, #92] ; 0x5c 809fc0e: 6dfb ldr r3, [r7, #92] ; 0x5c 809fc10: 2b04 cmp r3, #4 809fc12: d9dc bls.n 809fbce 809fc14: e069 b.n 809fcea for(i = 0; i < t; i++) 809fc16: 2300 movs r3, #0 809fc18: 65fb str r3, [r7, #92] ; 0x5c 809fc1a: e01f b.n 809fc5c DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809fc1c: 6d3a ldr r2, [r7, #80] ; 0x50 809fc1e: 6df9 ldr r1, [r7, #92] ; 0x5c 809fc20: 4613 mov r3, r2 809fc22: 009b lsls r3, r3, #2 809fc24: 4413 add r3, r2 809fc26: f107 0268 add.w r2, r7, #104 ; 0x68 809fc2a: 4413 add r3, r2 809fc2c: 440b add r3, r1 809fc2e: 3b34 subs r3, #52 ; 0x34 809fc30: 781b ldrb r3, [r3, #0] 809fc32: b2db uxtb r3, r3 809fc34: 461a mov r2, r3 809fc36: 4b18 ldr r3, [pc, #96] ; (809fc98 ) 809fc38: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809fc3c: 6dfb ldr r3, [r7, #92] ; 0x5c 809fc3e: b29b uxth r3, r3 809fc40: 461a mov r2, r3 809fc42: 0112 lsls r2, r2, #4 809fc44: 1ad3 subs r3, r2, r3 809fc46: 005b lsls r3, r3, #1 809fc48: b29b uxth r3, r3 809fc4a: 335a adds r3, #90 ; 0x5a 809fc4c: b29b uxth r3, r3 809fc4e: 22ae movs r2, #174 ; 0xae 809fc50: 4619 mov r1, r3 809fc52: f7b6 f9cf bl 8055ff4 for(i = 0; i < t; i++) 809fc56: 6dfb ldr r3, [r7, #92] ; 0x5c 809fc58: 3301 adds r3, #1 809fc5a: 65fb str r3, [r7, #92] ; 0x5c 809fc5c: 6dfa ldr r2, [r7, #92] ; 0x5c 809fc5e: 6d7b ldr r3, [r7, #84] ; 0x54 809fc60: 429a cmp r2, r3 809fc62: d3db bcc.n 809fc1c DrawImage(&bmgpt, 95 + 30*t, 198); 809fc64: 6d7b ldr r3, [r7, #84] ; 0x54 809fc66: b29b uxth r3, r3 809fc68: 461a mov r2, r3 809fc6a: 0112 lsls r2, r2, #4 809fc6c: 1ad3 subs r3, r2, r3 809fc6e: 005b lsls r3, r3, #1 809fc70: b29b uxth r3, r3 809fc72: 335f adds r3, #95 ; 0x5f 809fc74: b29b uxth r3, r3 809fc76: 22c6 movs r2, #198 ; 0xc6 809fc78: 4619 mov r1, r3 809fc7a: 4808 ldr r0, [pc, #32] ; (809fc9c ) 809fc7c: f7b6 f9ba bl 8055ff4 for(i = t; i < 5; i++) 809fc80: 6d7b ldr r3, [r7, #84] ; 0x54 809fc82: 65fb str r3, [r7, #92] ; 0x5c 809fc84: e02e b.n 809fce4 809fc86: bf00 nop 809fc88: 20023eb8 .word 0x20023eb8 809fc8c: 20020114 .word 0x20020114 809fc90: 20021590 .word 0x20021590 809fc94: 0816e3f4 .word 0x0816e3f4 809fc98: 20020124 .word 0x20020124 809fc9c: 0816e480 .word 0x0816e480 809fca0: 200200fc .word 0x200200fc DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 809fca4: 6d3a ldr r2, [r7, #80] ; 0x50 809fca6: 6df9 ldr r1, [r7, #92] ; 0x5c 809fca8: 4613 mov r3, r2 809fcaa: 009b lsls r3, r3, #2 809fcac: 4413 add r3, r2 809fcae: f107 0268 add.w r2, r7, #104 ; 0x68 809fcb2: 4413 add r3, r2 809fcb4: 440b add r3, r1 809fcb6: 3b34 subs r3, #52 ; 0x34 809fcb8: 781b ldrb r3, [r3, #0] 809fcba: b2db uxtb r3, r3 809fcbc: 461a mov r2, r3 809fcbe: 4bbe ldr r3, [pc, #760] ; (809ffb8 ) 809fcc0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809fcc4: 6dfb ldr r3, [r7, #92] ; 0x5c 809fcc6: b29b uxth r3, r3 809fcc8: 461a mov r2, r3 809fcca: 0112 lsls r2, r2, #4 809fccc: 1ad3 subs r3, r2, r3 809fcce: 005b lsls r3, r3, #1 809fcd0: b29b uxth r3, r3 809fcd2: 336e adds r3, #110 ; 0x6e 809fcd4: b29b uxth r3, r3 809fcd6: 22ae movs r2, #174 ; 0xae 809fcd8: 4619 mov r1, r3 809fcda: f7b6 f98b bl 8055ff4 for(i = t; i < 5; i++) 809fcde: 6dfb ldr r3, [r7, #92] ; 0x5c 809fce0: 3301 adds r3, #1 809fce2: 65fb str r3, [r7, #92] ; 0x5c 809fce4: 6dfb ldr r3, [r7, #92] ; 0x5c 809fce6: 2b04 cmp r3, #4 809fce8: d9dc bls.n 809fca4 if(pardata.IVS[DIS] < PEAK_FACTOR) 809fcea: 4bb4 ldr r3, [pc, #720] ; (809ffbc ) 809fcec: 791b ldrb r3, [r3, #4] 809fcee: b2db uxtb r3, r3 809fcf0: 2b02 cmp r3, #2 809fcf2: d841 bhi.n 809fd78 if(pardata.IIN != VOLTS) 809fcf4: 4bb1 ldr r3, [pc, #708] ; (809ffbc ) 809fcf6: 799b ldrb r3, [r3, #6] 809fcf8: b2db uxtb r3, r3 809fcfa: 2b02 cmp r3, #2 809fcfc: d01e beq.n 809fd3c if(m == 0) 809fcfe: 6cfb ldr r3, [r7, #76] ; 0x4c 809fd00: 2b00 cmp r3, #0 809fd02: d10d bne.n 809fd20 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 809fd04: 4bad ldr r3, [pc, #692] ; (809ffbc ) 809fd06: 7b1b ldrb r3, [r3, #12] 809fd08: b2db uxtb r3, r3 809fd0a: 461a mov r2, r3 809fd0c: 4bac ldr r3, [pc, #688] ; (809ffc0 ) 809fd0e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809fd12: 22b4 movs r2, #180 ; 0xb4 809fd14: f240 1109 movw r1, #265 ; 0x109 809fd18: 4618 mov r0, r3 809fd1a: f7b6 f96b bl 8055ff4 809fd1e: e02b b.n 809fd78 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 809fd20: 4ba6 ldr r3, [pc, #664] ; (809ffbc ) 809fd22: 7b1b ldrb r3, [r3, #12] 809fd24: b2db uxtb r3, r3 809fd26: 461a mov r2, r3 809fd28: 4ba6 ldr r3, [pc, #664] ; (809ffc4 ) 809fd2a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809fd2e: 22b4 movs r2, #180 ; 0xb4 809fd30: f240 1109 movw r1, #265 ; 0x109 809fd34: 4618 mov r0, r3 809fd36: f7b6 f95d bl 8055ff4 809fd3a: e01d b.n 809fd78 if(m == 0) 809fd3c: 6cfb ldr r3, [r7, #76] ; 0x4c 809fd3e: 2b00 cmp r3, #0 809fd40: d10d bne.n 809fd5e DrawImage(BMG_MV[pardata.LANG], 265, 180); 809fd42: 4b9e ldr r3, [pc, #632] ; (809ffbc ) 809fd44: 7b1b ldrb r3, [r3, #12] 809fd46: b2db uxtb r3, r3 809fd48: 461a mov r2, r3 809fd4a: 4b9f ldr r3, [pc, #636] ; (809ffc8 ) 809fd4c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809fd50: 22b4 movs r2, #180 ; 0xb4 809fd52: f240 1109 movw r1, #265 ; 0x109 809fd56: 4618 mov r0, r3 809fd58: f7b6 f94c bl 8055ff4 809fd5c: e00c b.n 809fd78 else DrawImage(BMG_V[pardata.LANG], 265, 180); 809fd5e: 4b97 ldr r3, [pc, #604] ; (809ffbc ) 809fd60: 7b1b ldrb r3, [r3, #12] 809fd62: b2db uxtb r3, r3 809fd64: 461a mov r2, r3 809fd66: 4b99 ldr r3, [pc, #612] ; (809ffcc ) 809fd68: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809fd6c: 22b4 movs r2, #180 ; 0xb4 809fd6e: f240 1109 movw r1, #265 ; 0x109 809fd72: 4618 mov r0, r3 809fd74: f7b6 f93e bl 8055ff4 if(pardata.IVS[ipr] == EXCESS) 809fd78: 6d3b ldr r3, [r7, #80] ; 0x50 809fd7a: 4a90 ldr r2, [pc, #576] ; (809ffbc ) 809fd7c: 4413 add r3, r2 809fd7e: 789b ldrb r3, [r3, #2] 809fd80: b2db uxtb r3, r3 809fd82: 2b04 cmp r3, #4 809fd84: d149 bne.n 809fe1a if(skz[ipr] < 0.0f) { 809fd86: 6d3b ldr r3, [r7, #80] ; 0x50 809fd88: 4a91 ldr r2, [pc, #580] ; (809ffd0 ) 809fd8a: 009b lsls r3, r3, #2 809fd8c: 4413 add r3, r2 809fd8e: edd3 7a00 vldr s15, [r3] 809fd92: eef5 7ac0 vcmpe.f32 s15, #0.0 809fd96: eef1 fa10 vmrs APSR_nzcv, fpscr 809fd9a: d53e bpl.n 809fe1a DrawImage(&bmgminus, 78, 190); 809fd9c: 22be movs r2, #190 ; 0xbe 809fd9e: 214e movs r1, #78 ; 0x4e 809fda0: 488c ldr r0, [pc, #560] ; (809ffd4 ) 809fda2: f7b6 f927 bl 8055ff4 809fda6: e038 b.n 809fe1a if(skz[ACC] != -1.0f) 809fda8: 4b89 ldr r3, [pc, #548] ; (809ffd0 ) 809fdaa: edd3 7a00 vldr s15, [r3] 809fdae: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809fdb2: eef4 7a47 vcmp.f32 s15, s14 809fdb6: eef1 fa10 vmrs APSR_nzcv, fpscr 809fdba: d02e beq.n 809fe1a if(ipr == VEL) 809fdbc: 6d3b ldr r3, [r7, #80] ; 0x50 809fdbe: 2b01 cmp r3, #1 809fdc0: d114 bne.n 809fdec LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809fdc2: 4985 ldr r1, [pc, #532] ; (809ffd8 ) 809fdc4: 4885 ldr r0, [pc, #532] ; (809ffdc ) 809fdc6: f7b5 fa21 bl 805520c if(pardata.LANG == RUS) 809fdca: 4b7c ldr r3, [pc, #496] ; (809ffbc ) 809fdcc: 7b1b ldrb r3, [r3, #12] 809fdce: b2db uxtb r3, r3 809fdd0: 2b00 cmp r3, #0 809fdd2: d105 bne.n 809fde0 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809fdd4: 4a82 ldr r2, [pc, #520] ; (809ffe0 ) 809fdd6: 2187 movs r1, #135 ; 0x87 809fdd8: 20a7 movs r0, #167 ; 0xa7 809fdda: f7b5 ffd7 bl 8055d8c 809fdde: e01c b.n 809fe1a else LCD_DisplayStringC(167, 135, "NO DATA"); 809fde0: 4a80 ldr r2, [pc, #512] ; (809ffe4 ) 809fde2: 2187 movs r1, #135 ; 0x87 809fde4: 20a7 movs r0, #167 ; 0xa7 809fde6: f7b5 ffd1 bl 8055d8c 809fdea: e016 b.n 809fe1a if(ipr == DIS) 809fdec: 6d3b ldr r3, [r7, #80] ; 0x50 809fdee: 2b02 cmp r3, #2 809fdf0: d113 bne.n 809fe1a LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809fdf2: 4979 ldr r1, [pc, #484] ; (809ffd8 ) 809fdf4: 4879 ldr r0, [pc, #484] ; (809ffdc ) 809fdf6: f7b5 fa09 bl 805520c if(pardata.LANG == RUS) 809fdfa: 4b70 ldr r3, [pc, #448] ; (809ffbc ) 809fdfc: 7b1b ldrb r3, [r3, #12] 809fdfe: b2db uxtb r3, r3 809fe00: 2b00 cmp r3, #0 809fe02: d105 bne.n 809fe10 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809fe04: 4a76 ldr r2, [pc, #472] ; (809ffe0 ) 809fe06: 21b9 movs r1, #185 ; 0xb9 809fe08: 20a7 movs r0, #167 ; 0xa7 809fe0a: f7b5 ffbf bl 8055d8c 809fe0e: e004 b.n 809fe1a else LCD_DisplayStringC(167, 185, "NO DATA"); 809fe10: 4a74 ldr r2, [pc, #464] ; (809ffe4 ) 809fe12: 21b9 movs r1, #185 ; 0xb9 809fe14: 20a7 movs r0, #167 ; 0xa7 809fe16: f7b5 ffb9 bl 8055d8c for(ipr = ACC; ipr <= DIS; ipr++) 809fe1a: 6d3b ldr r3, [r7, #80] ; 0x50 809fe1c: 3301 adds r3, #1 809fe1e: 653b str r3, [r7, #80] ; 0x50 809fe20: 6d3b ldr r3, [r7, #80] ; 0x50 809fe22: 2b02 cmp r3, #2 809fe24: f67f aa51 bls.w 809f2ca break; 809fe28: f001 ba08 b.w 80a123c for(ipr = ACC; ipr <= DIS; ipr++) 809fe2c: 2300 movs r3, #0 809fe2e: 653b str r3, [r7, #80] ; 0x50 809fe30: f001 ba00 b.w 80a1234 if(pardata.IVS[ipr] >= PEAK_FACTOR) 809fe34: 6d3b ldr r3, [r7, #80] ; 0x50 809fe36: 4a61 ldr r2, [pc, #388] ; (809ffbc ) 809fe38: 4413 add r3, r2 809fe3a: 789b ldrb r3, [r3, #2] 809fe3c: b2db uxtb r3, r3 809fe3e: 2b02 cmp r3, #2 809fe40: f240 85bd bls.w 80a09be memset(str, 0, sizeof(str)); 809fe44: f107 030c add.w r3, r7, #12 809fe48: 2228 movs r2, #40 ; 0x28 809fe4a: 2100 movs r1, #0 809fe4c: 4618 mov r0, r3 809fe4e: f032 f8a9 bl 80d1fa4 f = ABS(skz[ipr]); 809fe52: 6d3b ldr r3, [r7, #80] ; 0x50 809fe54: 4a5e ldr r2, [pc, #376] ; (809ffd0 ) 809fe56: 009b lsls r3, r3, #2 809fe58: 4413 add r3, r2 809fe5a: edd3 7a00 vldr s15, [r3] 809fe5e: eef5 7ac0 vcmpe.f32 s15, #0.0 809fe62: eef1 fa10 vmrs APSR_nzcv, fpscr 809fe66: dd06 ble.n 809fe76 809fe68: 6d3b ldr r3, [r7, #80] ; 0x50 809fe6a: 4a59 ldr r2, [pc, #356] ; (809ffd0 ) 809fe6c: 009b lsls r3, r3, #2 809fe6e: 4413 add r3, r2 809fe70: edd3 7a00 vldr s15, [r3] 809fe74: e007 b.n 809fe86 809fe76: 6d3b ldr r3, [r7, #80] ; 0x50 809fe78: 4a55 ldr r2, [pc, #340] ; (809ffd0 ) 809fe7a: 009b lsls r3, r3, #2 809fe7c: 4413 add r3, r2 809fe7e: edd3 7a00 vldr s15, [r3] 809fe82: eef1 7a67 vneg.f32 s15, s15 809fe86: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(ipr < DIS) 809fe8a: 6d3b ldr r3, [r7, #80] ; 0x50 809fe8c: 2b01 cmp r3, #1 809fe8e: f200 80d1 bhi.w 80a0034 if(f < 10.0f) 809fe92: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fe96: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809fe9a: eef4 7ac7 vcmpe.f32 s15, s14 809fe9e: eef1 fa10 vmrs APSR_nzcv, fpscr 809fea2: d513 bpl.n 809fecc k = (uint32_t) (roundf(f * 10000)); 809fea4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fea8: ed9f 7a4f vldr s14, [pc, #316] ; 809ffe8 809feac: ee67 7a87 vmul.f32 s15, s15, s14 809feb0: eeb0 0a67 vmov.f32 s0, s15 809feb4: f02f fe76 bl 80cfba4 809feb8: eef0 7a40 vmov.f32 s15, s0 809febc: eefc 7ae7 vcvt.u32.f32 s15, s15 809fec0: ee17 3a90 vmov r3, s15 809fec4: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809fec6: 2301 movs r3, #1 809fec8: 657b str r3, [r7, #84] ; 0x54 809feca: e1e1 b.n 80a0290 if(f < 100.0f) 809fecc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fed0: ed9f 7a46 vldr s14, [pc, #280] ; 809ffec 809fed4: eef4 7ac7 vcmpe.f32 s15, s14 809fed8: eef1 fa10 vmrs APSR_nzcv, fpscr 809fedc: d513 bpl.n 809ff06 k = (uint32_t) (roundf(f * 1000)); 809fede: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fee2: ed9f 7a43 vldr s14, [pc, #268] ; 809fff0 809fee6: ee67 7a87 vmul.f32 s15, s15, s14 809feea: eeb0 0a67 vmov.f32 s0, s15 809feee: f02f fe59 bl 80cfba4 809fef2: eef0 7a40 vmov.f32 s15, s0 809fef6: eefc 7ae7 vcvt.u32.f32 s15, s15 809fefa: ee17 3a90 vmov r3, s15 809fefe: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809ff00: 2302 movs r3, #2 809ff02: 657b str r3, [r7, #84] ; 0x54 809ff04: e1c4 b.n 80a0290 if(f < 1000.0f) 809ff06: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ff0a: ed9f 7a39 vldr s14, [pc, #228] ; 809fff0 809ff0e: eef4 7ac7 vcmpe.f32 s15, s14 809ff12: eef1 fa10 vmrs APSR_nzcv, fpscr 809ff16: d513 bpl.n 809ff40 k = (uint32_t) (roundf(f * 100)); 809ff18: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ff1c: ed9f 7a33 vldr s14, [pc, #204] ; 809ffec 809ff20: ee67 7a87 vmul.f32 s15, s15, s14 809ff24: eeb0 0a67 vmov.f32 s0, s15 809ff28: f02f fe3c bl 80cfba4 809ff2c: eef0 7a40 vmov.f32 s15, s0 809ff30: eefc 7ae7 vcvt.u32.f32 s15, s15 809ff34: ee17 3a90 vmov r3, s15 809ff38: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809ff3a: 2303 movs r3, #3 809ff3c: 657b str r3, [r7, #84] ; 0x54 809ff3e: e1a7 b.n 80a0290 if(f < 10000.0f) 809ff40: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ff44: ed9f 7a28 vldr s14, [pc, #160] ; 809ffe8 809ff48: eef4 7ac7 vcmpe.f32 s15, s14 809ff4c: eef1 fa10 vmrs APSR_nzcv, fpscr 809ff50: d513 bpl.n 809ff7a k = (uint32_t) (roundf(f * 10)); 809ff52: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ff56: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809ff5a: ee67 7a87 vmul.f32 s15, s15, s14 809ff5e: eeb0 0a67 vmov.f32 s0, s15 809ff62: f02f fe1f bl 80cfba4 809ff66: eef0 7a40 vmov.f32 s15, s0 809ff6a: eefc 7ae7 vcvt.u32.f32 s15, s15 809ff6e: ee17 3a90 vmov r3, s15 809ff72: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809ff74: 2304 movs r3, #4 809ff76: 657b str r3, [r7, #84] ; 0x54 809ff78: e18a b.n 80a0290 if(f < 100000.0f) 809ff7a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ff7e: ed9f 7a1e vldr s14, [pc, #120] ; 809fff8 809ff82: eef4 7ac7 vcmpe.f32 s15, s14 809ff86: eef1 fa10 vmrs APSR_nzcv, fpscr 809ff8a: d537 bpl.n 809fffc k = (uint32_t) (roundf(f)); 809ff8c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ff90: eeb0 0a67 vmov.f32 s0, s15 809ff94: f02f fe06 bl 80cfba4 809ff98: eef0 7a40 vmov.f32 s15, s0 809ff9c: eefc 7ae7 vcvt.u32.f32 s15, s15 809ffa0: ee17 3a90 vmov r3, s15 809ffa4: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809ffa6: 6dbb ldr r3, [r7, #88] ; 0x58 809ffa8: 4a12 ldr r2, [pc, #72] ; (809fff4 ) 809ffaa: 4293 cmp r3, r2 809ffac: d901 bls.n 809ffb2 k = 99999; 809ffae: 4b11 ldr r3, [pc, #68] ; (809fff4 ) 809ffb0: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809ffb2: 2300 movs r3, #0 809ffb4: 657b str r3, [r7, #84] ; 0x54 809ffb6: e16b b.n 80a0290 809ffb8: 20020124 .word 0x20020124 809ffbc: 20023eb8 .word 0x20023eb8 809ffc0: 20020104 .word 0x20020104 809ffc4: 2002010c .word 0x2002010c 809ffc8: 20020114 .word 0x20020114 809ffcc: 2002011c .word 0x2002011c 809ffd0: 20021590 .word 0x20021590 809ffd4: 0816e3f4 .word 0x0816e3f4 809ffd8: ff0a0f1f .word 0xff0a0f1f 809ffdc: ffb8e828 .word 0xffb8e828 809ffe0: 080d6564 .word 0x080d6564 809ffe4: 080d6570 .word 0x080d6570 809ffe8: 461c4000 .word 0x461c4000 809ffec: 42c80000 .word 0x42c80000 809fff0: 447a0000 .word 0x447a0000 809fff4: 0001869f .word 0x0001869f 809fff8: 47c35000 .word 0x47c35000 if(f >= 100000.0f) 809fffc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0000: ed1f 7a03 vldr s14, [pc, #-12] ; 809fff8 80a0004: eef4 7ac7 vcmpe.f32 s15, s14 80a0008: eef1 fa10 vmrs APSR_nzcv, fpscr 80a000c: f2c0 8140 blt.w 80a0290 f = 99999.0f; 80a0010: 4b85 ldr r3, [pc, #532] ; (80a0228 ) 80a0012: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a0014: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0018: eeb0 0a67 vmov.f32 s0, s15 80a001c: f02f fdc2 bl 80cfba4 80a0020: eef0 7a40 vmov.f32 s15, s0 80a0024: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0028: ee17 3a90 vmov r3, s15 80a002c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a002e: 2300 movs r3, #0 80a0030: 657b str r3, [r7, #84] ; 0x54 80a0032: e12d b.n 80a0290 if(f < 10.0f) 80a0034: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0038: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a003c: eef4 7ac7 vcmpe.f32 s15, s14 80a0040: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0044: d515 bpl.n 80a0072 k = (uint32_t) (roundf(f * 10000)); 80a0046: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a004a: ed9f 7a78 vldr s14, [pc, #480] ; 80a022c 80a004e: ee67 7a87 vmul.f32 s15, s15, s14 80a0052: eeb0 0a67 vmov.f32 s0, s15 80a0056: f02f fda5 bl 80cfba4 80a005a: eef0 7a40 vmov.f32 s15, s0 80a005e: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0062: ee17 3a90 vmov r3, s15 80a0066: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a0068: 2301 movs r3, #1 80a006a: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a006c: 2300 movs r3, #0 80a006e: 64fb str r3, [r7, #76] ; 0x4c 80a0070: e10e b.n 80a0290 if(f < 100.0f) 80a0072: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0076: ed9f 7a6e vldr s14, [pc, #440] ; 80a0230 80a007a: eef4 7ac7 vcmpe.f32 s15, s14 80a007e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0082: d515 bpl.n 80a00b0 k = (uint32_t) (roundf(f * 1000)); 80a0084: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0088: ed9f 7a6a vldr s14, [pc, #424] ; 80a0234 80a008c: ee67 7a87 vmul.f32 s15, s15, s14 80a0090: eeb0 0a67 vmov.f32 s0, s15 80a0094: f02f fd86 bl 80cfba4 80a0098: eef0 7a40 vmov.f32 s15, s0 80a009c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a00a0: ee17 3a90 vmov r3, s15 80a00a4: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a00a6: 2302 movs r3, #2 80a00a8: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a00aa: 2300 movs r3, #0 80a00ac: 64fb str r3, [r7, #76] ; 0x4c 80a00ae: e0ef b.n 80a0290 if(f < 1000.0f) 80a00b0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a00b4: ed9f 7a5f vldr s14, [pc, #380] ; 80a0234 80a00b8: eef4 7ac7 vcmpe.f32 s15, s14 80a00bc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a00c0: d515 bpl.n 80a00ee k = (uint32_t) (roundf(f * 100)); 80a00c2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a00c6: ed9f 7a5a vldr s14, [pc, #360] ; 80a0230 80a00ca: ee67 7a87 vmul.f32 s15, s15, s14 80a00ce: eeb0 0a67 vmov.f32 s0, s15 80a00d2: f02f fd67 bl 80cfba4 80a00d6: eef0 7a40 vmov.f32 s15, s0 80a00da: eefc 7ae7 vcvt.u32.f32 s15, s15 80a00de: ee17 3a90 vmov r3, s15 80a00e2: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a00e4: 2303 movs r3, #3 80a00e6: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a00e8: 2300 movs r3, #0 80a00ea: 64fb str r3, [r7, #76] ; 0x4c 80a00ec: e0d0 b.n 80a0290 if(f < 10000.0f) 80a00ee: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a00f2: ed9f 7a4e vldr s14, [pc, #312] ; 80a022c 80a00f6: eef4 7ac7 vcmpe.f32 s15, s14 80a00fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80a00fe: d515 bpl.n 80a012c k = (uint32_t) (roundf(f * 10)); 80a0100: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0104: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a0108: ee67 7a87 vmul.f32 s15, s15, s14 80a010c: eeb0 0a67 vmov.f32 s0, s15 80a0110: f02f fd48 bl 80cfba4 80a0114: eef0 7a40 vmov.f32 s15, s0 80a0118: eefc 7ae7 vcvt.u32.f32 s15, s15 80a011c: ee17 3a90 vmov r3, s15 80a0120: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a0122: 2301 movs r3, #1 80a0124: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a0126: 2301 movs r3, #1 80a0128: 64fb str r3, [r7, #76] ; 0x4c 80a012a: e0b1 b.n 80a0290 if(f < 100000.0f) 80a012c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0130: ed9f 7a41 vldr s14, [pc, #260] ; 80a0238 80a0134: eef4 7ac7 vcmpe.f32 s15, s14 80a0138: eef1 fa10 vmrs APSR_nzcv, fpscr 80a013c: d511 bpl.n 80a0162 k = (uint32_t) (roundf(f)); 80a013e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0142: eeb0 0a67 vmov.f32 s0, s15 80a0146: f02f fd2d bl 80cfba4 80a014a: eef0 7a40 vmov.f32 s15, s0 80a014e: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0152: ee17 3a90 vmov r3, s15 80a0156: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a0158: 2302 movs r3, #2 80a015a: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a015c: 2301 movs r3, #1 80a015e: 64fb str r3, [r7, #76] ; 0x4c 80a0160: e096 b.n 80a0290 if(f < 1000000.0f) 80a0162: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0166: ed9f 7a35 vldr s14, [pc, #212] ; 80a023c 80a016a: eef4 7ac7 vcmpe.f32 s15, s14 80a016e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0172: d515 bpl.n 80a01a0 k = (uint32_t) (roundf(f * 0.1f)); 80a0174: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0178: ed9f 7a31 vldr s14, [pc, #196] ; 80a0240 80a017c: ee67 7a87 vmul.f32 s15, s15, s14 80a0180: eeb0 0a67 vmov.f32 s0, s15 80a0184: f02f fd0e bl 80cfba4 80a0188: eef0 7a40 vmov.f32 s15, s0 80a018c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0190: ee17 3a90 vmov r3, s15 80a0194: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a0196: 2303 movs r3, #3 80a0198: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a019a: 2301 movs r3, #1 80a019c: 64fb str r3, [r7, #76] ; 0x4c 80a019e: e077 b.n 80a0290 if(f < 10000000.0f) 80a01a0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a01a4: ed9f 7a27 vldr s14, [pc, #156] ; 80a0244 80a01a8: eef4 7ac7 vcmpe.f32 s15, s14 80a01ac: eef1 fa10 vmrs APSR_nzcv, fpscr 80a01b0: d515 bpl.n 80a01de k = (uint32_t) (roundf(f * 0.01f)); 80a01b2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a01b6: ed9f 7a24 vldr s14, [pc, #144] ; 80a0248 80a01ba: ee67 7a87 vmul.f32 s15, s15, s14 80a01be: eeb0 0a67 vmov.f32 s0, s15 80a01c2: f02f fcef bl 80cfba4 80a01c6: eef0 7a40 vmov.f32 s15, s0 80a01ca: eefc 7ae7 vcvt.u32.f32 s15, s15 80a01ce: ee17 3a90 vmov r3, s15 80a01d2: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a01d4: 2304 movs r3, #4 80a01d6: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a01d8: 2301 movs r3, #1 80a01da: 64fb str r3, [r7, #76] ; 0x4c 80a01dc: e058 b.n 80a0290 if(f < 100000000.0f) 80a01de: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a01e2: ed9f 7a1c vldr s14, [pc, #112] ; 80a0254 80a01e6: eef4 7ac7 vcmpe.f32 s15, s14 80a01ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80a01ee: d533 bpl.n 80a0258 k = (uint32_t) (roundf(f * 0.001f)); 80a01f0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a01f4: ed9f 7a15 vldr s14, [pc, #84] ; 80a024c 80a01f8: ee67 7a87 vmul.f32 s15, s15, s14 80a01fc: eeb0 0a67 vmov.f32 s0, s15 80a0200: f02f fcd0 bl 80cfba4 80a0204: eef0 7a40 vmov.f32 s15, s0 80a0208: eefc 7ae7 vcvt.u32.f32 s15, s15 80a020c: ee17 3a90 vmov r3, s15 80a0210: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a0212: 6dbb ldr r3, [r7, #88] ; 0x58 80a0214: 4a0e ldr r2, [pc, #56] ; (80a0250 ) 80a0216: 4293 cmp r3, r2 80a0218: d901 bls.n 80a021e k = 99999; 80a021a: 4b0d ldr r3, [pc, #52] ; (80a0250 ) 80a021c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a021e: 2300 movs r3, #0 80a0220: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a0222: 2301 movs r3, #1 80a0224: 64fb str r3, [r7, #76] ; 0x4c 80a0226: e033 b.n 80a0290 80a0228: 47c34f80 .word 0x47c34f80 80a022c: 461c4000 .word 0x461c4000 80a0230: 42c80000 .word 0x42c80000 80a0234: 447a0000 .word 0x447a0000 80a0238: 47c35000 .word 0x47c35000 80a023c: 49742400 .word 0x49742400 80a0240: 3dcccccd .word 0x3dcccccd 80a0244: 4b189680 .word 0x4b189680 80a0248: 3c23d70a .word 0x3c23d70a 80a024c: 3a83126f .word 0x3a83126f 80a0250: 0001869f .word 0x0001869f 80a0254: 4cbebc20 .word 0x4cbebc20 if(f >= 100000000.0f) 80a0258: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a025c: ed1f 7a03 vldr s14, [pc, #-12] ; 80a0254 80a0260: eef4 7ac7 vcmpe.f32 s15, s14 80a0264: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0268: db12 blt.n 80a0290 f = 99999.0f; 80a026a: 4bc5 ldr r3, [pc, #788] ; (80a0580 ) 80a026c: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a026e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0272: eeb0 0a67 vmov.f32 s0, s15 80a0276: f02f fc95 bl 80cfba4 80a027a: eef0 7a40 vmov.f32 s15, s0 80a027e: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0282: ee17 3a90 vmov r3, s15 80a0286: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a0288: 2300 movs r3, #0 80a028a: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a028c: 2301 movs r3, #1 80a028e: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 80a0290: 6d3a ldr r2, [r7, #80] ; 0x50 80a0292: 6dbb ldr r3, [r7, #88] ; 0x58 80a0294: 49bb ldr r1, [pc, #748] ; (80a0584 ) 80a0296: fba1 1303 umull r1, r3, r1, r3 80a029a: 0b5b lsrs r3, r3, #13 80a029c: b2d9 uxtb r1, r3 80a029e: 4613 mov r3, r2 80a02a0: 009b lsls r3, r3, #2 80a02a2: 4413 add r3, r2 80a02a4: f107 0268 add.w r2, r7, #104 ; 0x68 80a02a8: 4413 add r3, r2 80a02aa: 3b34 subs r3, #52 ; 0x34 80a02ac: 460a mov r2, r1 80a02ae: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 80a02b0: 6d39 ldr r1, [r7, #80] ; 0x50 80a02b2: 6dba ldr r2, [r7, #88] ; 0x58 80a02b4: 4bb3 ldr r3, [pc, #716] ; (80a0584 ) 80a02b6: fba3 0302 umull r0, r3, r3, r2 80a02ba: 0b5b lsrs r3, r3, #13 80a02bc: f242 7010 movw r0, #10000 ; 0x2710 80a02c0: fb00 f303 mul.w r3, r0, r3 80a02c4: 1ad3 subs r3, r2, r3 80a02c6: 4ab0 ldr r2, [pc, #704] ; (80a0588 ) 80a02c8: fba2 2303 umull r2, r3, r2, r3 80a02cc: 099b lsrs r3, r3, #6 80a02ce: b2da uxtb r2, r3 80a02d0: 460b mov r3, r1 80a02d2: 009b lsls r3, r3, #2 80a02d4: 440b add r3, r1 80a02d6: f107 0168 add.w r1, r7, #104 ; 0x68 80a02da: 440b add r3, r1 80a02dc: 3b33 subs r3, #51 ; 0x33 80a02de: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 80a02e0: 6d39 ldr r1, [r7, #80] ; 0x50 80a02e2: 6dba ldr r2, [r7, #88] ; 0x58 80a02e4: 4ba7 ldr r3, [pc, #668] ; (80a0584 ) 80a02e6: fba3 0302 umull r0, r3, r3, r2 80a02ea: 0b5b lsrs r3, r3, #13 80a02ec: f242 7010 movw r0, #10000 ; 0x2710 80a02f0: fb00 f303 mul.w r3, r0, r3 80a02f4: 1ad3 subs r3, r2, r3 80a02f6: 4aa4 ldr r2, [pc, #656] ; (80a0588 ) 80a02f8: fba2 0203 umull r0, r2, r2, r3 80a02fc: 0992 lsrs r2, r2, #6 80a02fe: f44f 707a mov.w r0, #1000 ; 0x3e8 80a0302: fb00 f202 mul.w r2, r0, r2 80a0306: 1a9a subs r2, r3, r2 80a0308: 4ba0 ldr r3, [pc, #640] ; (80a058c ) 80a030a: fba3 2302 umull r2, r3, r3, r2 80a030e: 095b lsrs r3, r3, #5 80a0310: b2da uxtb r2, r3 80a0312: 460b mov r3, r1 80a0314: 009b lsls r3, r3, #2 80a0316: 440b add r3, r1 80a0318: f107 0168 add.w r1, r7, #104 ; 0x68 80a031c: 440b add r3, r1 80a031e: 3b32 subs r3, #50 ; 0x32 80a0320: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 80a0322: 6d39 ldr r1, [r7, #80] ; 0x50 80a0324: 6dbb ldr r3, [r7, #88] ; 0x58 80a0326: 4a97 ldr r2, [pc, #604] ; (80a0584 ) 80a0328: fba2 0203 umull r0, r2, r2, r3 80a032c: 0b52 lsrs r2, r2, #13 80a032e: f242 7010 movw r0, #10000 ; 0x2710 80a0332: fb00 f202 mul.w r2, r0, r2 80a0336: 1a9a subs r2, r3, r2 80a0338: 4b93 ldr r3, [pc, #588] ; (80a0588 ) 80a033a: fba3 0302 umull r0, r3, r3, r2 80a033e: 099b lsrs r3, r3, #6 80a0340: f44f 707a mov.w r0, #1000 ; 0x3e8 80a0344: fb00 f303 mul.w r3, r0, r3 80a0348: 1ad3 subs r3, r2, r3 80a034a: 4a90 ldr r2, [pc, #576] ; (80a058c ) 80a034c: fba2 0203 umull r0, r2, r2, r3 80a0350: 0952 lsrs r2, r2, #5 80a0352: 2064 movs r0, #100 ; 0x64 80a0354: fb00 f202 mul.w r2, r0, r2 80a0358: 1a9a subs r2, r3, r2 80a035a: 4b8d ldr r3, [pc, #564] ; (80a0590 ) 80a035c: fba3 2302 umull r2, r3, r3, r2 80a0360: 08db lsrs r3, r3, #3 80a0362: b2da uxtb r2, r3 80a0364: 460b mov r3, r1 80a0366: 009b lsls r3, r3, #2 80a0368: 440b add r3, r1 80a036a: f107 0168 add.w r1, r7, #104 ; 0x68 80a036e: 440b add r3, r1 80a0370: 3b31 subs r3, #49 ; 0x31 80a0372: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 80a0374: 6d38 ldr r0, [r7, #80] ; 0x50 80a0376: 6dbb ldr r3, [r7, #88] ; 0x58 80a0378: 4a82 ldr r2, [pc, #520] ; (80a0584 ) 80a037a: fba2 1203 umull r1, r2, r2, r3 80a037e: 0b52 lsrs r2, r2, #13 80a0380: f242 7110 movw r1, #10000 ; 0x2710 80a0384: fb01 f202 mul.w r2, r1, r2 80a0388: 1a9a subs r2, r3, r2 80a038a: 4b7f ldr r3, [pc, #508] ; (80a0588 ) 80a038c: fba3 1302 umull r1, r3, r3, r2 80a0390: 099b lsrs r3, r3, #6 80a0392: f44f 717a mov.w r1, #1000 ; 0x3e8 80a0396: fb01 f303 mul.w r3, r1, r3 80a039a: 1ad3 subs r3, r2, r3 80a039c: 4a7b ldr r2, [pc, #492] ; (80a058c ) 80a039e: fba2 1203 umull r1, r2, r2, r3 80a03a2: 0952 lsrs r2, r2, #5 80a03a4: 2164 movs r1, #100 ; 0x64 80a03a6: fb01 f202 mul.w r2, r1, r2 80a03aa: 1a9a subs r2, r3, r2 80a03ac: 4b78 ldr r3, [pc, #480] ; (80a0590 ) 80a03ae: fba3 1302 umull r1, r3, r3, r2 80a03b2: 08d9 lsrs r1, r3, #3 80a03b4: 460b mov r3, r1 80a03b6: 009b lsls r3, r3, #2 80a03b8: 440b add r3, r1 80a03ba: 005b lsls r3, r3, #1 80a03bc: 1ad1 subs r1, r2, r3 80a03be: b2ca uxtb r2, r1 80a03c0: 4603 mov r3, r0 80a03c2: 009b lsls r3, r3, #2 80a03c4: 4403 add r3, r0 80a03c6: f107 0168 add.w r1, r7, #104 ; 0x68 80a03ca: 440b add r3, r1 80a03cc: 3b30 subs r3, #48 ; 0x30 80a03ce: 701a strb r2, [r3, #0] if(skz[ipr] != -1.0f) // 80a03d0: 6d3b ldr r3, [r7, #80] ; 0x50 80a03d2: 4a70 ldr r2, [pc, #448] ; (80a0594 ) 80a03d4: 009b lsls r3, r3, #2 80a03d6: 4413 add r3, r2 80a03d8: edd3 7a00 vldr s15, [r3] 80a03dc: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a03e0: eef4 7a47 vcmp.f32 s15, s14 80a03e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a03e8: f000 82a9 beq.w 80a093e if(ipr == ACC) 80a03ec: 6d3b ldr r3, [r7, #80] ; 0x50 80a03ee: 2b00 cmp r3, #0 80a03f0: f040 80de bne.w 80a05b0 if(!t) 80a03f4: 6d7b ldr r3, [r7, #84] ; 0x54 80a03f6: 2b00 cmp r3, #0 80a03f8: d126 bne.n 80a0448 for(i = 0; i < 5; i++) 80a03fa: 2300 movs r3, #0 80a03fc: 65fb str r3, [r7, #92] ; 0x5c 80a03fe: e01f b.n 80a0440 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a0400: 6d3a ldr r2, [r7, #80] ; 0x50 80a0402: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0404: 4613 mov r3, r2 80a0406: 009b lsls r3, r3, #2 80a0408: 4413 add r3, r2 80a040a: f107 0268 add.w r2, r7, #104 ; 0x68 80a040e: 4413 add r3, r2 80a0410: 440b add r3, r1 80a0412: 3b34 subs r3, #52 ; 0x34 80a0414: 781b ldrb r3, [r3, #0] 80a0416: b2db uxtb r3, r3 80a0418: 461a mov r2, r3 80a041a: 4b5f ldr r3, [pc, #380] ; (80a0598 ) 80a041c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0420: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0422: b29b uxth r3, r3 80a0424: 461a mov r2, r3 80a0426: 0112 lsls r2, r2, #4 80a0428: 1ad3 subs r3, r2, r3 80a042a: 005b lsls r3, r3, #1 80a042c: b29b uxth r3, r3 80a042e: 335a adds r3, #90 ; 0x5a 80a0430: b29b uxth r3, r3 80a0432: 2256 movs r2, #86 ; 0x56 80a0434: 4619 mov r1, r3 80a0436: f7b5 fddd bl 8055ff4 for(i = 0; i < 5; i++) 80a043a: 6dfb ldr r3, [r7, #92] ; 0x5c 80a043c: 3301 adds r3, #1 80a043e: 65fb str r3, [r7, #92] ; 0x5c 80a0440: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0442: 2b04 cmp r3, #4 80a0444: d9dc bls.n 80a0400 80a0446: e05a b.n 80a04fe for(i = 0; i < t; i++) 80a0448: 2300 movs r3, #0 80a044a: 65fb str r3, [r7, #92] ; 0x5c 80a044c: e01f b.n 80a048e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a044e: 6d3a ldr r2, [r7, #80] ; 0x50 80a0450: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0452: 4613 mov r3, r2 80a0454: 009b lsls r3, r3, #2 80a0456: 4413 add r3, r2 80a0458: f107 0268 add.w r2, r7, #104 ; 0x68 80a045c: 4413 add r3, r2 80a045e: 440b add r3, r1 80a0460: 3b34 subs r3, #52 ; 0x34 80a0462: 781b ldrb r3, [r3, #0] 80a0464: b2db uxtb r3, r3 80a0466: 461a mov r2, r3 80a0468: 4b4b ldr r3, [pc, #300] ; (80a0598 ) 80a046a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a046e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0470: b29b uxth r3, r3 80a0472: 461a mov r2, r3 80a0474: 0112 lsls r2, r2, #4 80a0476: 1ad3 subs r3, r2, r3 80a0478: 005b lsls r3, r3, #1 80a047a: b29b uxth r3, r3 80a047c: 335a adds r3, #90 ; 0x5a 80a047e: b29b uxth r3, r3 80a0480: 2256 movs r2, #86 ; 0x56 80a0482: 4619 mov r1, r3 80a0484: f7b5 fdb6 bl 8055ff4 for(i = 0; i < t; i++) 80a0488: 6dfb ldr r3, [r7, #92] ; 0x5c 80a048a: 3301 adds r3, #1 80a048c: 65fb str r3, [r7, #92] ; 0x5c 80a048e: 6dfa ldr r2, [r7, #92] ; 0x5c 80a0490: 6d7b ldr r3, [r7, #84] ; 0x54 80a0492: 429a cmp r2, r3 80a0494: d3db bcc.n 80a044e DrawImage(&bmgpt, 95 + 30*t, 92+18); 80a0496: 6d7b ldr r3, [r7, #84] ; 0x54 80a0498: b29b uxth r3, r3 80a049a: 461a mov r2, r3 80a049c: 0112 lsls r2, r2, #4 80a049e: 1ad3 subs r3, r2, r3 80a04a0: 005b lsls r3, r3, #1 80a04a2: b29b uxth r3, r3 80a04a4: 335f adds r3, #95 ; 0x5f 80a04a6: b29b uxth r3, r3 80a04a8: 226e movs r2, #110 ; 0x6e 80a04aa: 4619 mov r1, r3 80a04ac: 483b ldr r0, [pc, #236] ; (80a059c ) 80a04ae: f7b5 fda1 bl 8055ff4 for(i = t; i < 5; i++) 80a04b2: 6d7b ldr r3, [r7, #84] ; 0x54 80a04b4: 65fb str r3, [r7, #92] ; 0x5c 80a04b6: e01f b.n 80a04f8 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 80a04b8: 6d3a ldr r2, [r7, #80] ; 0x50 80a04ba: 6df9 ldr r1, [r7, #92] ; 0x5c 80a04bc: 4613 mov r3, r2 80a04be: 009b lsls r3, r3, #2 80a04c0: 4413 add r3, r2 80a04c2: f107 0268 add.w r2, r7, #104 ; 0x68 80a04c6: 4413 add r3, r2 80a04c8: 440b add r3, r1 80a04ca: 3b34 subs r3, #52 ; 0x34 80a04cc: 781b ldrb r3, [r3, #0] 80a04ce: b2db uxtb r3, r3 80a04d0: 461a mov r2, r3 80a04d2: 4b31 ldr r3, [pc, #196] ; (80a0598 ) 80a04d4: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a04d8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a04da: b29b uxth r3, r3 80a04dc: 461a mov r2, r3 80a04de: 0112 lsls r2, r2, #4 80a04e0: 1ad3 subs r3, r2, r3 80a04e2: 005b lsls r3, r3, #1 80a04e4: b29b uxth r3, r3 80a04e6: 336e adds r3, #110 ; 0x6e 80a04e8: b29b uxth r3, r3 80a04ea: 2256 movs r2, #86 ; 0x56 80a04ec: 4619 mov r1, r3 80a04ee: f7b5 fd81 bl 8055ff4 for(i = t; i < 5; i++) 80a04f2: 6dfb ldr r3, [r7, #92] ; 0x5c 80a04f4: 3301 adds r3, #1 80a04f6: 65fb str r3, [r7, #92] ; 0x5c 80a04f8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a04fa: 2b04 cmp r3, #4 80a04fc: d9dc bls.n 80a04b8 if(pardata.IVS[ACC] < PEAK_FACTOR) 80a04fe: 4b28 ldr r3, [pc, #160] ; (80a05a0 ) 80a0500: 789b ldrb r3, [r3, #2] 80a0502: b2db uxtb r3, r3 80a0504: 2b02 cmp r3, #2 80a0506: d81f bhi.n 80a0548 if(pardata.IIN != VOLTS) 80a0508: 4b25 ldr r3, [pc, #148] ; (80a05a0 ) 80a050a: 799b ldrb r3, [r3, #6] 80a050c: b2db uxtb r3, r3 80a050e: 2b02 cmp r3, #2 80a0510: d00d beq.n 80a052e DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 80a0512: 4b23 ldr r3, [pc, #140] ; (80a05a0 ) 80a0514: 7b1b ldrb r3, [r3, #12] 80a0516: b2db uxtb r3, r3 80a0518: 461a mov r2, r3 80a051a: 4b22 ldr r3, [pc, #136] ; (80a05a4 ) 80a051c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0520: 225c movs r2, #92 ; 0x5c 80a0522: f240 1109 movw r1, #265 ; 0x109 80a0526: 4618 mov r0, r3 80a0528: f7b5 fd64 bl 8055ff4 80a052c: e00c b.n 80a0548 else DrawImage(BMG_MV[pardata.LANG], 265, 74+18); 80a052e: 4b1c ldr r3, [pc, #112] ; (80a05a0 ) 80a0530: 7b1b ldrb r3, [r3, #12] 80a0532: b2db uxtb r3, r3 80a0534: 461a mov r2, r3 80a0536: 4b1c ldr r3, [pc, #112] ; (80a05a8 ) 80a0538: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a053c: 225c movs r2, #92 ; 0x5c 80a053e: f240 1109 movw r1, #265 ; 0x109 80a0542: 4618 mov r0, r3 80a0544: f7b5 fd56 bl 8055ff4 if(pardata.IVS[ipr] == EXCESS) 80a0548: 6d3b ldr r3, [r7, #80] ; 0x50 80a054a: 4a15 ldr r2, [pc, #84] ; (80a05a0 ) 80a054c: 4413 add r3, r2 80a054e: 789b ldrb r3, [r3, #2] 80a0550: b2db uxtb r3, r3 80a0552: 2b04 cmp r3, #4 80a0554: f040 866b bne.w 80a122e if(skz[ipr] < 0.0f) { 80a0558: 6d3b ldr r3, [r7, #80] ; 0x50 80a055a: 4a0e ldr r2, [pc, #56] ; (80a0594 ) 80a055c: 009b lsls r3, r3, #2 80a055e: 4413 add r3, r2 80a0560: edd3 7a00 vldr s15, [r3] 80a0564: eef5 7ac0 vcmpe.f32 s15, #0.0 80a0568: eef1 fa10 vmrs APSR_nzcv, fpscr 80a056c: f140 865f bpl.w 80a122e DrawImage(&bmgminus, 78, 84+18); 80a0570: 2266 movs r2, #102 ; 0x66 80a0572: 214e movs r1, #78 ; 0x4e 80a0574: 480d ldr r0, [pc, #52] ; (80a05ac ) 80a0576: f7b5 fd3d bl 8055ff4 80a057a: f000 be58 b.w 80a122e 80a057e: bf00 nop 80a0580: 47c34f80 .word 0x47c34f80 80a0584: d1b71759 .word 0xd1b71759 80a0588: 10624dd3 .word 0x10624dd3 80a058c: 51eb851f .word 0x51eb851f 80a0590: cccccccd .word 0xcccccccd 80a0594: 20021590 .word 0x20021590 80a0598: 20020124 .word 0x20020124 80a059c: 0816e480 .word 0x0816e480 80a05a0: 20023eb8 .word 0x20023eb8 80a05a4: 200200f4 .word 0x200200f4 80a05a8: 20020114 .word 0x20020114 80a05ac: 0816e3f4 .word 0x0816e3f4 if(ipr == VEL) 80a05b0: 6d3b ldr r3, [r7, #80] ; 0x50 80a05b2: 2b01 cmp r3, #1 80a05b4: f040 80c5 bne.w 80a0742 if(!t) 80a05b8: 6d7b ldr r3, [r7, #84] ; 0x54 80a05ba: 2b00 cmp r3, #0 80a05bc: d126 bne.n 80a060c for(i = 0; i < 5; i++) 80a05be: 2300 movs r3, #0 80a05c0: 65fb str r3, [r7, #92] ; 0x5c 80a05c2: e01f b.n 80a0604 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a05c4: 6d3a ldr r2, [r7, #80] ; 0x50 80a05c6: 6df9 ldr r1, [r7, #92] ; 0x5c 80a05c8: 4613 mov r3, r2 80a05ca: 009b lsls r3, r3, #2 80a05cc: 4413 add r3, r2 80a05ce: f107 0268 add.w r2, r7, #104 ; 0x68 80a05d2: 4413 add r3, r2 80a05d4: 440b add r3, r1 80a05d6: 3b34 subs r3, #52 ; 0x34 80a05d8: 781b ldrb r3, [r3, #0] 80a05da: b2db uxtb r3, r3 80a05dc: 461a mov r2, r3 80a05de: 4bb2 ldr r3, [pc, #712] ; (80a08a8 ) 80a05e0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a05e4: 6dfb ldr r3, [r7, #92] ; 0x5c 80a05e6: b29b uxth r3, r3 80a05e8: 461a mov r2, r3 80a05ea: 0112 lsls r2, r2, #4 80a05ec: 1ad3 subs r3, r2, r3 80a05ee: 005b lsls r3, r3, #1 80a05f0: b29b uxth r3, r3 80a05f2: 335a adds r3, #90 ; 0x5a 80a05f4: b29b uxth r3, r3 80a05f6: 2282 movs r2, #130 ; 0x82 80a05f8: 4619 mov r1, r3 80a05fa: f7b5 fcfb bl 8055ff4 for(i = 0; i < 5; i++) 80a05fe: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0600: 3301 adds r3, #1 80a0602: 65fb str r3, [r7, #92] ; 0x5c 80a0604: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0606: 2b04 cmp r3, #4 80a0608: d9dc bls.n 80a05c4 80a060a: e05a b.n 80a06c2 for(i = 0; i < t; i++) 80a060c: 2300 movs r3, #0 80a060e: 65fb str r3, [r7, #92] ; 0x5c 80a0610: e01f b.n 80a0652 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a0612: 6d3a ldr r2, [r7, #80] ; 0x50 80a0614: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0616: 4613 mov r3, r2 80a0618: 009b lsls r3, r3, #2 80a061a: 4413 add r3, r2 80a061c: f107 0268 add.w r2, r7, #104 ; 0x68 80a0620: 4413 add r3, r2 80a0622: 440b add r3, r1 80a0624: 3b34 subs r3, #52 ; 0x34 80a0626: 781b ldrb r3, [r3, #0] 80a0628: b2db uxtb r3, r3 80a062a: 461a mov r2, r3 80a062c: 4b9e ldr r3, [pc, #632] ; (80a08a8 ) 80a062e: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0632: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0634: b29b uxth r3, r3 80a0636: 461a mov r2, r3 80a0638: 0112 lsls r2, r2, #4 80a063a: 1ad3 subs r3, r2, r3 80a063c: 005b lsls r3, r3, #1 80a063e: b29b uxth r3, r3 80a0640: 335a adds r3, #90 ; 0x5a 80a0642: b29b uxth r3, r3 80a0644: 2282 movs r2, #130 ; 0x82 80a0646: 4619 mov r1, r3 80a0648: f7b5 fcd4 bl 8055ff4 for(i = 0; i < t; i++) 80a064c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a064e: 3301 adds r3, #1 80a0650: 65fb str r3, [r7, #92] ; 0x5c 80a0652: 6dfa ldr r2, [r7, #92] ; 0x5c 80a0654: 6d7b ldr r3, [r7, #84] ; 0x54 80a0656: 429a cmp r2, r3 80a0658: d3db bcc.n 80a0612 DrawImage(&bmgpt, 95 + 30*t, 145+9); 80a065a: 6d7b ldr r3, [r7, #84] ; 0x54 80a065c: b29b uxth r3, r3 80a065e: 461a mov r2, r3 80a0660: 0112 lsls r2, r2, #4 80a0662: 1ad3 subs r3, r2, r3 80a0664: 005b lsls r3, r3, #1 80a0666: b29b uxth r3, r3 80a0668: 335f adds r3, #95 ; 0x5f 80a066a: b29b uxth r3, r3 80a066c: 229a movs r2, #154 ; 0x9a 80a066e: 4619 mov r1, r3 80a0670: 488e ldr r0, [pc, #568] ; (80a08ac ) 80a0672: f7b5 fcbf bl 8055ff4 for(i = t; i < 5; i++) 80a0676: 6d7b ldr r3, [r7, #84] ; 0x54 80a0678: 65fb str r3, [r7, #92] ; 0x5c 80a067a: e01f b.n 80a06bc DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 80a067c: 6d3a ldr r2, [r7, #80] ; 0x50 80a067e: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0680: 4613 mov r3, r2 80a0682: 009b lsls r3, r3, #2 80a0684: 4413 add r3, r2 80a0686: f107 0268 add.w r2, r7, #104 ; 0x68 80a068a: 4413 add r3, r2 80a068c: 440b add r3, r1 80a068e: 3b34 subs r3, #52 ; 0x34 80a0690: 781b ldrb r3, [r3, #0] 80a0692: b2db uxtb r3, r3 80a0694: 461a mov r2, r3 80a0696: 4b84 ldr r3, [pc, #528] ; (80a08a8 ) 80a0698: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a069c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a069e: b29b uxth r3, r3 80a06a0: 461a mov r2, r3 80a06a2: 0112 lsls r2, r2, #4 80a06a4: 1ad3 subs r3, r2, r3 80a06a6: 005b lsls r3, r3, #1 80a06a8: b29b uxth r3, r3 80a06aa: 336e adds r3, #110 ; 0x6e 80a06ac: b29b uxth r3, r3 80a06ae: 2282 movs r2, #130 ; 0x82 80a06b0: 4619 mov r1, r3 80a06b2: f7b5 fc9f bl 8055ff4 for(i = t; i < 5; i++) 80a06b6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a06b8: 3301 adds r3, #1 80a06ba: 65fb str r3, [r7, #92] ; 0x5c 80a06bc: 6dfb ldr r3, [r7, #92] ; 0x5c 80a06be: 2b04 cmp r3, #4 80a06c0: d9dc bls.n 80a067c if(pardata.IVS[VEL] < PEAK_FACTOR) 80a06c2: 4b7b ldr r3, [pc, #492] ; (80a08b0 ) 80a06c4: 78db ldrb r3, [r3, #3] 80a06c6: b2db uxtb r3, r3 80a06c8: 2b02 cmp r3, #2 80a06ca: d81f bhi.n 80a070c if(pardata.IIN != VOLTS) 80a06cc: 4b78 ldr r3, [pc, #480] ; (80a08b0 ) 80a06ce: 799b ldrb r3, [r3, #6] 80a06d0: b2db uxtb r3, r3 80a06d2: 2b02 cmp r3, #2 80a06d4: d00d beq.n 80a06f2 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 80a06d6: 4b76 ldr r3, [pc, #472] ; (80a08b0 ) 80a06d8: 7b1b ldrb r3, [r3, #12] 80a06da: b2db uxtb r3, r3 80a06dc: 461a mov r2, r3 80a06de: 4b75 ldr r3, [pc, #468] ; (80a08b4 ) 80a06e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a06e4: 2289 movs r2, #137 ; 0x89 80a06e6: f240 1109 movw r1, #265 ; 0x109 80a06ea: 4618 mov r0, r3 80a06ec: f7b5 fc82 bl 8055ff4 80a06f0: e00c b.n 80a070c else DrawImage(BMG_MV[pardata.LANG], 265, 128+9); 80a06f2: 4b6f ldr r3, [pc, #444] ; (80a08b0 ) 80a06f4: 7b1b ldrb r3, [r3, #12] 80a06f6: b2db uxtb r3, r3 80a06f8: 461a mov r2, r3 80a06fa: 4b6f ldr r3, [pc, #444] ; (80a08b8 ) 80a06fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0700: 2289 movs r2, #137 ; 0x89 80a0702: f240 1109 movw r1, #265 ; 0x109 80a0706: 4618 mov r0, r3 80a0708: f7b5 fc74 bl 8055ff4 if(pardata.IVS[ipr] == EXCESS) 80a070c: 6d3b ldr r3, [r7, #80] ; 0x50 80a070e: 4a68 ldr r2, [pc, #416] ; (80a08b0 ) 80a0710: 4413 add r3, r2 80a0712: 789b ldrb r3, [r3, #2] 80a0714: b2db uxtb r3, r3 80a0716: 2b04 cmp r3, #4 80a0718: f040 8589 bne.w 80a122e if(skz[ipr] < 0.0f) { 80a071c: 6d3b ldr r3, [r7, #80] ; 0x50 80a071e: 4a67 ldr r2, [pc, #412] ; (80a08bc ) 80a0720: 009b lsls r3, r3, #2 80a0722: 4413 add r3, r2 80a0724: edd3 7a00 vldr s15, [r3] 80a0728: eef5 7ac0 vcmpe.f32 s15, #0.0 80a072c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0730: f140 857d bpl.w 80a122e DrawImage(&bmgminus, 78, 138+9); 80a0734: 2293 movs r2, #147 ; 0x93 80a0736: 214e movs r1, #78 ; 0x4e 80a0738: 4861 ldr r0, [pc, #388] ; (80a08c0 ) 80a073a: f7b5 fc5b bl 8055ff4 80a073e: f000 bd76 b.w 80a122e if(ipr == DIS) 80a0742: 6d3b ldr r3, [r7, #80] ; 0x50 80a0744: 2b02 cmp r3, #2 80a0746: f040 8572 bne.w 80a122e if(!t) 80a074a: 6d7b ldr r3, [r7, #84] ; 0x54 80a074c: 2b00 cmp r3, #0 80a074e: d126 bne.n 80a079e for(i = 0; i < 5; i++) 80a0750: 2300 movs r3, #0 80a0752: 65fb str r3, [r7, #92] ; 0x5c 80a0754: e01f b.n 80a0796 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a0756: 6d3a ldr r2, [r7, #80] ; 0x50 80a0758: 6df9 ldr r1, [r7, #92] ; 0x5c 80a075a: 4613 mov r3, r2 80a075c: 009b lsls r3, r3, #2 80a075e: 4413 add r3, r2 80a0760: f107 0268 add.w r2, r7, #104 ; 0x68 80a0764: 4413 add r3, r2 80a0766: 440b add r3, r1 80a0768: 3b34 subs r3, #52 ; 0x34 80a076a: 781b ldrb r3, [r3, #0] 80a076c: b2db uxtb r3, r3 80a076e: 461a mov r2, r3 80a0770: 4b4d ldr r3, [pc, #308] ; (80a08a8 ) 80a0772: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0776: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0778: b29b uxth r3, r3 80a077a: 461a mov r2, r3 80a077c: 0112 lsls r2, r2, #4 80a077e: 1ad3 subs r3, r2, r3 80a0780: 005b lsls r3, r3, #1 80a0782: b29b uxth r3, r3 80a0784: 335a adds r3, #90 ; 0x5a 80a0786: b29b uxth r3, r3 80a0788: 22ae movs r2, #174 ; 0xae 80a078a: 4619 mov r1, r3 80a078c: f7b5 fc32 bl 8055ff4 for(i = 0; i < 5; i++) 80a0790: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0792: 3301 adds r3, #1 80a0794: 65fb str r3, [r7, #92] ; 0x5c 80a0796: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0798: 2b04 cmp r3, #4 80a079a: d9dc bls.n 80a0756 80a079c: e05a b.n 80a0854 for(i = 0; i < t; i++) 80a079e: 2300 movs r3, #0 80a07a0: 65fb str r3, [r7, #92] ; 0x5c 80a07a2: e01f b.n 80a07e4 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a07a4: 6d3a ldr r2, [r7, #80] ; 0x50 80a07a6: 6df9 ldr r1, [r7, #92] ; 0x5c 80a07a8: 4613 mov r3, r2 80a07aa: 009b lsls r3, r3, #2 80a07ac: 4413 add r3, r2 80a07ae: f107 0268 add.w r2, r7, #104 ; 0x68 80a07b2: 4413 add r3, r2 80a07b4: 440b add r3, r1 80a07b6: 3b34 subs r3, #52 ; 0x34 80a07b8: 781b ldrb r3, [r3, #0] 80a07ba: b2db uxtb r3, r3 80a07bc: 461a mov r2, r3 80a07be: 4b3a ldr r3, [pc, #232] ; (80a08a8 ) 80a07c0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a07c4: 6dfb ldr r3, [r7, #92] ; 0x5c 80a07c6: b29b uxth r3, r3 80a07c8: 461a mov r2, r3 80a07ca: 0112 lsls r2, r2, #4 80a07cc: 1ad3 subs r3, r2, r3 80a07ce: 005b lsls r3, r3, #1 80a07d0: b29b uxth r3, r3 80a07d2: 335a adds r3, #90 ; 0x5a 80a07d4: b29b uxth r3, r3 80a07d6: 22ae movs r2, #174 ; 0xae 80a07d8: 4619 mov r1, r3 80a07da: f7b5 fc0b bl 8055ff4 for(i = 0; i < t; i++) 80a07de: 6dfb ldr r3, [r7, #92] ; 0x5c 80a07e0: 3301 adds r3, #1 80a07e2: 65fb str r3, [r7, #92] ; 0x5c 80a07e4: 6dfa ldr r2, [r7, #92] ; 0x5c 80a07e6: 6d7b ldr r3, [r7, #84] ; 0x54 80a07e8: 429a cmp r2, r3 80a07ea: d3db bcc.n 80a07a4 DrawImage(&bmgpt, 95 + 30*t, 198); 80a07ec: 6d7b ldr r3, [r7, #84] ; 0x54 80a07ee: b29b uxth r3, r3 80a07f0: 461a mov r2, r3 80a07f2: 0112 lsls r2, r2, #4 80a07f4: 1ad3 subs r3, r2, r3 80a07f6: 005b lsls r3, r3, #1 80a07f8: b29b uxth r3, r3 80a07fa: 335f adds r3, #95 ; 0x5f 80a07fc: b29b uxth r3, r3 80a07fe: 22c6 movs r2, #198 ; 0xc6 80a0800: 4619 mov r1, r3 80a0802: 482a ldr r0, [pc, #168] ; (80a08ac ) 80a0804: f7b5 fbf6 bl 8055ff4 for(i = t; i < 5; i++) 80a0808: 6d7b ldr r3, [r7, #84] ; 0x54 80a080a: 65fb str r3, [r7, #92] ; 0x5c 80a080c: e01f b.n 80a084e DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 80a080e: 6d3a ldr r2, [r7, #80] ; 0x50 80a0810: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0812: 4613 mov r3, r2 80a0814: 009b lsls r3, r3, #2 80a0816: 4413 add r3, r2 80a0818: f107 0268 add.w r2, r7, #104 ; 0x68 80a081c: 4413 add r3, r2 80a081e: 440b add r3, r1 80a0820: 3b34 subs r3, #52 ; 0x34 80a0822: 781b ldrb r3, [r3, #0] 80a0824: b2db uxtb r3, r3 80a0826: 461a mov r2, r3 80a0828: 4b1f ldr r3, [pc, #124] ; (80a08a8 ) 80a082a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a082e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0830: b29b uxth r3, r3 80a0832: 461a mov r2, r3 80a0834: 0112 lsls r2, r2, #4 80a0836: 1ad3 subs r3, r2, r3 80a0838: 005b lsls r3, r3, #1 80a083a: b29b uxth r3, r3 80a083c: 336e adds r3, #110 ; 0x6e 80a083e: b29b uxth r3, r3 80a0840: 22ae movs r2, #174 ; 0xae 80a0842: 4619 mov r1, r3 80a0844: f7b5 fbd6 bl 8055ff4 for(i = t; i < 5; i++) 80a0848: 6dfb ldr r3, [r7, #92] ; 0x5c 80a084a: 3301 adds r3, #1 80a084c: 65fb str r3, [r7, #92] ; 0x5c 80a084e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0850: 2b04 cmp r3, #4 80a0852: d9dc bls.n 80a080e if(pardata.IVS[DIS] < PEAK_FACTOR) 80a0854: 4b16 ldr r3, [pc, #88] ; (80a08b0 ) 80a0856: 791b ldrb r3, [r3, #4] 80a0858: b2db uxtb r3, r3 80a085a: 2b02 cmp r3, #2 80a085c: d854 bhi.n 80a0908 if(pardata.IIN != VOLTS) 80a085e: 4b14 ldr r3, [pc, #80] ; (80a08b0 ) 80a0860: 799b ldrb r3, [r3, #6] 80a0862: b2db uxtb r3, r3 80a0864: 2b02 cmp r3, #2 80a0866: d031 beq.n 80a08cc if(m == 0) 80a0868: 6cfb ldr r3, [r7, #76] ; 0x4c 80a086a: 2b00 cmp r3, #0 80a086c: d10d bne.n 80a088a DrawImage(BMG_MKM[pardata.LANG], 265, 180); 80a086e: 4b10 ldr r3, [pc, #64] ; (80a08b0 ) 80a0870: 7b1b ldrb r3, [r3, #12] 80a0872: b2db uxtb r3, r3 80a0874: 461a mov r2, r3 80a0876: 4b13 ldr r3, [pc, #76] ; (80a08c4 ) 80a0878: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a087c: 22b4 movs r2, #180 ; 0xb4 80a087e: f240 1109 movw r1, #265 ; 0x109 80a0882: 4618 mov r0, r3 80a0884: f7b5 fbb6 bl 8055ff4 80a0888: e03e b.n 80a0908 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 80a088a: 4b09 ldr r3, [pc, #36] ; (80a08b0 ) 80a088c: 7b1b ldrb r3, [r3, #12] 80a088e: b2db uxtb r3, r3 80a0890: 461a mov r2, r3 80a0892: 4b0d ldr r3, [pc, #52] ; (80a08c8 ) 80a0894: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0898: 22b4 movs r2, #180 ; 0xb4 80a089a: f240 1109 movw r1, #265 ; 0x109 80a089e: 4618 mov r0, r3 80a08a0: f7b5 fba8 bl 8055ff4 80a08a4: e030 b.n 80a0908 80a08a6: bf00 nop 80a08a8: 20020124 .word 0x20020124 80a08ac: 0816e480 .word 0x0816e480 80a08b0: 20023eb8 .word 0x20023eb8 80a08b4: 200200fc .word 0x200200fc 80a08b8: 20020114 .word 0x20020114 80a08bc: 20021590 .word 0x20021590 80a08c0: 0816e3f4 .word 0x0816e3f4 80a08c4: 20020104 .word 0x20020104 80a08c8: 2002010c .word 0x2002010c if(m == 0) 80a08cc: 6cfb ldr r3, [r7, #76] ; 0x4c 80a08ce: 2b00 cmp r3, #0 80a08d0: d10d bne.n 80a08ee DrawImage(BMG_MV[pardata.LANG], 265, 180); 80a08d2: 4bc1 ldr r3, [pc, #772] ; (80a0bd8 ) 80a08d4: 7b1b ldrb r3, [r3, #12] 80a08d6: b2db uxtb r3, r3 80a08d8: 461a mov r2, r3 80a08da: 4bc0 ldr r3, [pc, #768] ; (80a0bdc ) 80a08dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a08e0: 22b4 movs r2, #180 ; 0xb4 80a08e2: f240 1109 movw r1, #265 ; 0x109 80a08e6: 4618 mov r0, r3 80a08e8: f7b5 fb84 bl 8055ff4 80a08ec: e00c b.n 80a0908 else DrawImage(BMG_V[pardata.LANG], 265, 180); 80a08ee: 4bba ldr r3, [pc, #744] ; (80a0bd8 ) 80a08f0: 7b1b ldrb r3, [r3, #12] 80a08f2: b2db uxtb r3, r3 80a08f4: 461a mov r2, r3 80a08f6: 4bba ldr r3, [pc, #744] ; (80a0be0 ) 80a08f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a08fc: 22b4 movs r2, #180 ; 0xb4 80a08fe: f240 1109 movw r1, #265 ; 0x109 80a0902: 4618 mov r0, r3 80a0904: f7b5 fb76 bl 8055ff4 if(pardata.IVS[ipr] == EXCESS) 80a0908: 6d3b ldr r3, [r7, #80] ; 0x50 80a090a: 4ab3 ldr r2, [pc, #716] ; (80a0bd8 ) 80a090c: 4413 add r3, r2 80a090e: 789b ldrb r3, [r3, #2] 80a0910: b2db uxtb r3, r3 80a0912: 2b04 cmp r3, #4 80a0914: f040 848b bne.w 80a122e if(skz[ipr] < 0.0f) { 80a0918: 6d3b ldr r3, [r7, #80] ; 0x50 80a091a: 4ab2 ldr r2, [pc, #712] ; (80a0be4 ) 80a091c: 009b lsls r3, r3, #2 80a091e: 4413 add r3, r2 80a0920: edd3 7a00 vldr s15, [r3] 80a0924: eef5 7ac0 vcmpe.f32 s15, #0.0 80a0928: eef1 fa10 vmrs APSR_nzcv, fpscr 80a092c: f140 847f bpl.w 80a122e DrawImage(&bmgminus, 78, 190); 80a0930: 22be movs r2, #190 ; 0xbe 80a0932: 214e movs r1, #78 ; 0x4e 80a0934: 48ac ldr r0, [pc, #688] ; (80a0be8 ) 80a0936: f7b5 fb5d bl 8055ff4 80a093a: f000 bc78 b.w 80a122e if(skz[ACC] != -1.0f) 80a093e: 4ba9 ldr r3, [pc, #676] ; (80a0be4 ) 80a0940: edd3 7a00 vldr s15, [r3] 80a0944: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a0948: eef4 7a47 vcmp.f32 s15, s14 80a094c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0950: f000 846d beq.w 80a122e if(ipr == VEL) 80a0954: 6d3b ldr r3, [r7, #80] ; 0x50 80a0956: 2b01 cmp r3, #1 80a0958: d116 bne.n 80a0988 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a095a: 49a4 ldr r1, [pc, #656] ; (80a0bec ) 80a095c: 48a4 ldr r0, [pc, #656] ; (80a0bf0 ) 80a095e: f7b4 fc55 bl 805520c if(pardata.LANG == RUS) 80a0962: 4b9d ldr r3, [pc, #628] ; (80a0bd8 ) 80a0964: 7b1b ldrb r3, [r3, #12] 80a0966: b2db uxtb r3, r3 80a0968: 2b00 cmp r3, #0 80a096a: d106 bne.n 80a097a LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a096c: 4aa1 ldr r2, [pc, #644] ; (80a0bf4 ) 80a096e: 2187 movs r1, #135 ; 0x87 80a0970: 20a7 movs r0, #167 ; 0xa7 80a0972: f7b5 fa0b bl 8055d8c 80a0976: f000 bc5a b.w 80a122e else LCD_DisplayStringC(167, 135, "NO DATA"); 80a097a: 4a9f ldr r2, [pc, #636] ; (80a0bf8 ) 80a097c: 2187 movs r1, #135 ; 0x87 80a097e: 20a7 movs r0, #167 ; 0xa7 80a0980: f7b5 fa04 bl 8055d8c 80a0984: f000 bc53 b.w 80a122e if(ipr == DIS) 80a0988: 6d3b ldr r3, [r7, #80] ; 0x50 80a098a: 2b02 cmp r3, #2 80a098c: f040 844f bne.w 80a122e LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a0990: 4996 ldr r1, [pc, #600] ; (80a0bec ) 80a0992: 4897 ldr r0, [pc, #604] ; (80a0bf0 ) 80a0994: f7b4 fc3a bl 805520c if(pardata.LANG == RUS) 80a0998: 4b8f ldr r3, [pc, #572] ; (80a0bd8 ) 80a099a: 7b1b ldrb r3, [r3, #12] 80a099c: b2db uxtb r3, r3 80a099e: 2b00 cmp r3, #0 80a09a0: d106 bne.n 80a09b0 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a09a2: 4a94 ldr r2, [pc, #592] ; (80a0bf4 ) 80a09a4: 21b9 movs r1, #185 ; 0xb9 80a09a6: 20a7 movs r0, #167 ; 0xa7 80a09a8: f7b5 f9f0 bl 8055d8c 80a09ac: f000 bc3f b.w 80a122e else LCD_DisplayStringC(167, 185, "NO DATA"); 80a09b0: 4a91 ldr r2, [pc, #580] ; (80a0bf8 ) 80a09b2: 21b9 movs r1, #185 ; 0xb9 80a09b4: 20a7 movs r0, #167 ; 0xa7 80a09b6: f7b5 f9e9 bl 8055d8c 80a09ba: f000 bc38 b.w 80a122e if(skz[ipr] != -1.0f) 80a09be: 6d3b ldr r3, [r7, #80] ; 0x50 80a09c0: 4a88 ldr r2, [pc, #544] ; (80a0be4 ) 80a09c2: 009b lsls r3, r3, #2 80a09c4: 4413 add r3, r2 80a09c6: edd3 7a00 vldr s15, [r3] 80a09ca: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a09ce: eef4 7a47 vcmp.f32 s15, s14 80a09d2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a09d6: f000 83d8 beq.w 80a118a f = ABS(skzDB[ipr]); 80a09da: 6d3b ldr r3, [r7, #80] ; 0x50 80a09dc: 4a87 ldr r2, [pc, #540] ; (80a0bfc ) 80a09de: 009b lsls r3, r3, #2 80a09e0: 4413 add r3, r2 80a09e2: edd3 7a00 vldr s15, [r3] 80a09e6: eef5 7ac0 vcmpe.f32 s15, #0.0 80a09ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80a09ee: dd06 ble.n 80a09fe 80a09f0: 6d3b ldr r3, [r7, #80] ; 0x50 80a09f2: 4a82 ldr r2, [pc, #520] ; (80a0bfc ) 80a09f4: 009b lsls r3, r3, #2 80a09f6: 4413 add r3, r2 80a09f8: edd3 7a00 vldr s15, [r3] 80a09fc: e007 b.n 80a0a0e 80a09fe: 6d3b ldr r3, [r7, #80] ; 0x50 80a0a00: 4a7e ldr r2, [pc, #504] ; (80a0bfc ) 80a0a02: 009b lsls r3, r3, #2 80a0a04: 4413 add r3, r2 80a0a06: edd3 7a00 vldr s15, [r3] 80a0a0a: eef1 7a67 vneg.f32 s15, s15 80a0a0e: edc7 7a11 vstr s15, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f * 10 + 0.5f)); 80a0a12: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0a16: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a0a1a: ee67 7a87 vmul.f32 s15, s15, s14 80a0a1e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a0a22: ee77 7a87 vadd.f32 s15, s15, s14 80a0a26: eeb0 0a67 vmov.f32 s0, s15 80a0a2a: f02f f8bb bl 80cfba4 80a0a2e: eef0 7a40 vmov.f32 s15, s0 80a0a32: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0a36: ee17 3a90 vmov r3, s15 80a0a3a: 65bb str r3, [r7, #88] ; 0x58 if(f < 10.0f) 80a0a3c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0a40: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a0a44: eef4 7ac7 vcmpe.f32 s15, s14 80a0a48: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0a4c: f140 80e2 bpl.w 80a0c14 ik[ipr][0] = (uint8_t) (k / 10); 80a0a50: 6d3a ldr r2, [r7, #80] ; 0x50 80a0a52: 6dbb ldr r3, [r7, #88] ; 0x58 80a0a54: 496a ldr r1, [pc, #424] ; (80a0c00 ) 80a0a56: fba1 1303 umull r1, r3, r1, r3 80a0a5a: 08db lsrs r3, r3, #3 80a0a5c: b2d9 uxtb r1, r3 80a0a5e: 4613 mov r3, r2 80a0a60: 009b lsls r3, r3, #2 80a0a62: 4413 add r3, r2 80a0a64: f107 0268 add.w r2, r7, #104 ; 0x68 80a0a68: 4413 add r3, r2 80a0a6a: 3b34 subs r3, #52 ; 0x34 80a0a6c: 460a mov r2, r1 80a0a6e: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10); 80a0a70: 6d38 ldr r0, [r7, #80] ; 0x50 80a0a72: 6db9 ldr r1, [r7, #88] ; 0x58 80a0a74: 4b62 ldr r3, [pc, #392] ; (80a0c00 ) 80a0a76: fba3 2301 umull r2, r3, r3, r1 80a0a7a: 08da lsrs r2, r3, #3 80a0a7c: 4613 mov r3, r2 80a0a7e: 009b lsls r3, r3, #2 80a0a80: 4413 add r3, r2 80a0a82: 005b lsls r3, r3, #1 80a0a84: 1aca subs r2, r1, r3 80a0a86: b2d2 uxtb r2, r2 80a0a88: 4603 mov r3, r0 80a0a8a: 009b lsls r3, r3, #2 80a0a8c: 4403 add r3, r0 80a0a8e: f107 0168 add.w r1, r7, #104 ; 0x68 80a0a92: 440b add r3, r1 80a0a94: 3b33 subs r3, #51 ; 0x33 80a0a96: 701a strb r2, [r3, #0] if(ipr == ACC) 80a0a98: 6d3b ldr r3, [r7, #80] ; 0x50 80a0a9a: 2b00 cmp r3, #0 80a0a9c: d131 bne.n 80a0b02 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 68+18); 80a0a9e: 6d3a ldr r2, [r7, #80] ; 0x50 80a0aa0: 4613 mov r3, r2 80a0aa2: 009b lsls r3, r3, #2 80a0aa4: 4413 add r3, r2 80a0aa6: f107 0268 add.w r2, r7, #104 ; 0x68 80a0aaa: 4413 add r3, r2 80a0aac: 3b33 subs r3, #51 ; 0x33 80a0aae: 781b ldrb r3, [r3, #0] 80a0ab0: b2db uxtb r3, r3 80a0ab2: 461a mov r2, r3 80a0ab4: 4b53 ldr r3, [pc, #332] ; (80a0c04 ) 80a0ab6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0aba: 2256 movs r2, #86 ; 0x56 80a0abc: 21e6 movs r1, #230 ; 0xe6 80a0abe: 4618 mov r0, r3 80a0ac0: f7b5 fa98 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a0ac4: 226e movs r2, #110 ; 0x6e 80a0ac6: 21d7 movs r1, #215 ; 0xd7 80a0ac8: 484f ldr r0, [pc, #316] ; (80a0c08 ) 80a0aca: f7b5 fa93 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 68+18); 80a0ace: 6d3a ldr r2, [r7, #80] ; 0x50 80a0ad0: 4613 mov r3, r2 80a0ad2: 009b lsls r3, r3, #2 80a0ad4: 4413 add r3, r2 80a0ad6: f107 0268 add.w r2, r7, #104 ; 0x68 80a0ada: 4413 add r3, r2 80a0adc: 3b34 subs r3, #52 ; 0x34 80a0ade: 781b ldrb r3, [r3, #0] 80a0ae0: b2db uxtb r3, r3 80a0ae2: 461a mov r2, r3 80a0ae4: 4b47 ldr r3, [pc, #284] ; (80a0c04 ) 80a0ae6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0aea: 2256 movs r2, #86 ; 0x56 80a0aec: 21b4 movs r1, #180 ; 0xb4 80a0aee: 4618 mov r0, r3 80a0af0: f7b5 fa80 bl 8055ff4 DrawImage(&bmg_dB, 265, 74+18); 80a0af4: 225c movs r2, #92 ; 0x5c 80a0af6: f240 1109 movw r1, #265 ; 0x109 80a0afa: 4844 ldr r0, [pc, #272] ; (80a0c0c ) 80a0afc: f7b5 fa7a bl 8055ff4 80a0b00: e395 b.n 80a122e if(ipr == VEL) 80a0b02: 6d3b ldr r3, [r7, #80] ; 0x50 80a0b04: 2b01 cmp r3, #1 80a0b06: d131 bne.n 80a0b6c DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 121+9); 80a0b08: 6d3a ldr r2, [r7, #80] ; 0x50 80a0b0a: 4613 mov r3, r2 80a0b0c: 009b lsls r3, r3, #2 80a0b0e: 4413 add r3, r2 80a0b10: f107 0268 add.w r2, r7, #104 ; 0x68 80a0b14: 4413 add r3, r2 80a0b16: 3b33 subs r3, #51 ; 0x33 80a0b18: 781b ldrb r3, [r3, #0] 80a0b1a: b2db uxtb r3, r3 80a0b1c: 461a mov r2, r3 80a0b1e: 4b39 ldr r3, [pc, #228] ; (80a0c04 ) 80a0b20: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0b24: 2282 movs r2, #130 ; 0x82 80a0b26: 21e6 movs r1, #230 ; 0xe6 80a0b28: 4618 mov r0, r3 80a0b2a: f7b5 fa63 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a0b2e: 229a movs r2, #154 ; 0x9a 80a0b30: 21d7 movs r1, #215 ; 0xd7 80a0b32: 4835 ldr r0, [pc, #212] ; (80a0c08 ) 80a0b34: f7b5 fa5e bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 121+9); 80a0b38: 6d3a ldr r2, [r7, #80] ; 0x50 80a0b3a: 4613 mov r3, r2 80a0b3c: 009b lsls r3, r3, #2 80a0b3e: 4413 add r3, r2 80a0b40: f107 0268 add.w r2, r7, #104 ; 0x68 80a0b44: 4413 add r3, r2 80a0b46: 3b34 subs r3, #52 ; 0x34 80a0b48: 781b ldrb r3, [r3, #0] 80a0b4a: b2db uxtb r3, r3 80a0b4c: 461a mov r2, r3 80a0b4e: 4b2d ldr r3, [pc, #180] ; (80a0c04 ) 80a0b50: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0b54: 2282 movs r2, #130 ; 0x82 80a0b56: 21b4 movs r1, #180 ; 0xb4 80a0b58: 4618 mov r0, r3 80a0b5a: f7b5 fa4b bl 8055ff4 DrawImage(&bmg_dB, 265, 128+9); 80a0b5e: 2289 movs r2, #137 ; 0x89 80a0b60: f240 1109 movw r1, #265 ; 0x109 80a0b64: 4829 ldr r0, [pc, #164] ; (80a0c0c ) 80a0b66: f7b5 fa45 bl 8055ff4 80a0b6a: e360 b.n 80a122e if(ipr == DIS) 80a0b6c: 6d3b ldr r3, [r7, #80] ; 0x50 80a0b6e: 2b02 cmp r3, #2 80a0b70: f040 835d bne.w 80a122e DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 174); 80a0b74: 6d3a ldr r2, [r7, #80] ; 0x50 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: 3b33 subs r3, #51 ; 0x33 80a0b84: 781b ldrb r3, [r3, #0] 80a0b86: b2db uxtb r3, r3 80a0b88: 461a mov r2, r3 80a0b8a: 4b1e ldr r3, [pc, #120] ; (80a0c04 ) 80a0b8c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0b90: 22ae movs r2, #174 ; 0xae 80a0b92: 21e6 movs r1, #230 ; 0xe6 80a0b94: 4618 mov r0, r3 80a0b96: f7b5 fa2d bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 198); 80a0b9a: 22c6 movs r2, #198 ; 0xc6 80a0b9c: 21d7 movs r1, #215 ; 0xd7 80a0b9e: 481a ldr r0, [pc, #104] ; (80a0c08 ) 80a0ba0: f7b5 fa28 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 174); 80a0ba4: 6d3a ldr r2, [r7, #80] ; 0x50 80a0ba6: 4613 mov r3, r2 80a0ba8: 009b lsls r3, r3, #2 80a0baa: 4413 add r3, r2 80a0bac: f107 0268 add.w r2, r7, #104 ; 0x68 80a0bb0: 4413 add r3, r2 80a0bb2: 3b34 subs r3, #52 ; 0x34 80a0bb4: 781b ldrb r3, [r3, #0] 80a0bb6: b2db uxtb r3, r3 80a0bb8: 461a mov r2, r3 80a0bba: 4b12 ldr r3, [pc, #72] ; (80a0c04 ) 80a0bbc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0bc0: 22ae movs r2, #174 ; 0xae 80a0bc2: 21b4 movs r1, #180 ; 0xb4 80a0bc4: 4618 mov r0, r3 80a0bc6: f7b5 fa15 bl 8055ff4 DrawImage(&bmg_dB, 265, 180); 80a0bca: 22b4 movs r2, #180 ; 0xb4 80a0bcc: f240 1109 movw r1, #265 ; 0x109 80a0bd0: 480e ldr r0, [pc, #56] ; (80a0c0c ) 80a0bd2: f7b5 fa0f bl 8055ff4 80a0bd6: e32a b.n 80a122e 80a0bd8: 20023eb8 .word 0x20023eb8 80a0bdc: 20020114 .word 0x20020114 80a0be0: 2002011c .word 0x2002011c 80a0be4: 20021590 .word 0x20021590 80a0be8: 0816e3f4 .word 0x0816e3f4 80a0bec: ff0a0f1f .word 0xff0a0f1f 80a0bf0: ffb8e828 .word 0xffb8e828 80a0bf4: 080d6564 .word 0x080d6564 80a0bf8: 080d6570 .word 0x080d6570 80a0bfc: 2002159c .word 0x2002159c 80a0c00: cccccccd .word 0xcccccccd 80a0c04: 20020124 .word 0x20020124 80a0c08: 0816e480 .word 0x0816e480 80a0c0c: 081696cc .word 0x081696cc 80a0c10: 42c80000 .word 0x42c80000 if(f < 100.0f) 80a0c14: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0c18: ed1f 7a03 vldr s14, [pc, #-12] ; 80a0c10 80a0c1c: eef4 7ac7 vcmpe.f32 s15, s14 80a0c20: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0c24: f140 8128 bpl.w 80a0e78 ik[ipr][0] = (uint8_t) (k / 100); 80a0c28: 6d3a ldr r2, [r7, #80] ; 0x50 80a0c2a: 6dbb ldr r3, [r7, #88] ; 0x58 80a0c2c: 498c ldr r1, [pc, #560] ; (80a0e60 ) 80a0c2e: fba1 1303 umull r1, r3, r1, r3 80a0c32: 095b lsrs r3, r3, #5 80a0c34: b2d9 uxtb r1, r3 80a0c36: 4613 mov r3, r2 80a0c38: 009b lsls r3, r3, #2 80a0c3a: 4413 add r3, r2 80a0c3c: f107 0268 add.w r2, r7, #104 ; 0x68 80a0c40: 4413 add r3, r2 80a0c42: 3b34 subs r3, #52 ; 0x34 80a0c44: 460a mov r2, r1 80a0c46: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 100 / 10); 80a0c48: 6d39 ldr r1, [r7, #80] ; 0x50 80a0c4a: 6dba ldr r2, [r7, #88] ; 0x58 80a0c4c: 4b84 ldr r3, [pc, #528] ; (80a0e60 ) 80a0c4e: fba3 0302 umull r0, r3, r3, r2 80a0c52: 095b lsrs r3, r3, #5 80a0c54: 2064 movs r0, #100 ; 0x64 80a0c56: fb00 f303 mul.w r3, r0, r3 80a0c5a: 1ad3 subs r3, r2, r3 80a0c5c: 4a81 ldr r2, [pc, #516] ; (80a0e64 ) 80a0c5e: fba2 2303 umull r2, r3, r2, r3 80a0c62: 08db lsrs r3, r3, #3 80a0c64: b2da uxtb r2, r3 80a0c66: 460b mov r3, r1 80a0c68: 009b lsls r3, r3, #2 80a0c6a: 440b add r3, r1 80a0c6c: f107 0168 add.w r1, r7, #104 ; 0x68 80a0c70: 440b add r3, r1 80a0c72: 3b33 subs r3, #51 ; 0x33 80a0c74: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 100 % 10); 80a0c76: 6d38 ldr r0, [r7, #80] ; 0x50 80a0c78: 6dbb ldr r3, [r7, #88] ; 0x58 80a0c7a: 4a79 ldr r2, [pc, #484] ; (80a0e60 ) 80a0c7c: fba2 1203 umull r1, r2, r2, r3 80a0c80: 0952 lsrs r2, r2, #5 80a0c82: 2164 movs r1, #100 ; 0x64 80a0c84: fb01 f202 mul.w r2, r1, r2 80a0c88: 1a9a subs r2, r3, r2 80a0c8a: 4b76 ldr r3, [pc, #472] ; (80a0e64 ) 80a0c8c: fba3 1302 umull r1, r3, r3, r2 80a0c90: 08d9 lsrs r1, r3, #3 80a0c92: 460b mov r3, r1 80a0c94: 009b lsls r3, r3, #2 80a0c96: 440b add r3, r1 80a0c98: 005b lsls r3, r3, #1 80a0c9a: 1ad1 subs r1, r2, r3 80a0c9c: b2ca uxtb r2, r1 80a0c9e: 4603 mov r3, r0 80a0ca0: 009b lsls r3, r3, #2 80a0ca2: 4403 add r3, r0 80a0ca4: f107 0168 add.w r1, r7, #104 ; 0x68 80a0ca8: 440b add r3, r1 80a0caa: 3b32 subs r3, #50 ; 0x32 80a0cac: 701a strb r2, [r3, #0] if(ipr == ACC) 80a0cae: 6d3b ldr r3, [r7, #80] ; 0x50 80a0cb0: 2b00 cmp r3, #0 80a0cb2: d144 bne.n 80a0d3e DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 68+18); 80a0cb4: 6d3a ldr r2, [r7, #80] ; 0x50 80a0cb6: 4613 mov r3, r2 80a0cb8: 009b lsls r3, r3, #2 80a0cba: 4413 add r3, r2 80a0cbc: f107 0268 add.w r2, r7, #104 ; 0x68 80a0cc0: 4413 add r3, r2 80a0cc2: 3b32 subs r3, #50 ; 0x32 80a0cc4: 781b ldrb r3, [r3, #0] 80a0cc6: b2db uxtb r3, r3 80a0cc8: 461a mov r2, r3 80a0cca: 4b67 ldr r3, [pc, #412] ; (80a0e68 ) 80a0ccc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0cd0: 2256 movs r2, #86 ; 0x56 80a0cd2: 21e6 movs r1, #230 ; 0xe6 80a0cd4: 4618 mov r0, r3 80a0cd6: f7b5 f98d bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a0cda: 226e movs r2, #110 ; 0x6e 80a0cdc: 21d7 movs r1, #215 ; 0xd7 80a0cde: 4863 ldr r0, [pc, #396] ; (80a0e6c ) 80a0ce0: f7b5 f988 bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 68+18); 80a0ce4: 6d3a ldr r2, [r7, #80] ; 0x50 80a0ce6: 4613 mov r3, r2 80a0ce8: 009b lsls r3, r3, #2 80a0cea: 4413 add r3, r2 80a0cec: f107 0268 add.w r2, r7, #104 ; 0x68 80a0cf0: 4413 add r3, r2 80a0cf2: 3b33 subs r3, #51 ; 0x33 80a0cf4: 781b ldrb r3, [r3, #0] 80a0cf6: b2db uxtb r3, r3 80a0cf8: 461a mov r2, r3 80a0cfa: 4b5b ldr r3, [pc, #364] ; (80a0e68 ) 80a0cfc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0d00: 2256 movs r2, #86 ; 0x56 80a0d02: 21b4 movs r1, #180 ; 0xb4 80a0d04: 4618 mov r0, r3 80a0d06: f7b5 f975 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 68+18); 80a0d0a: 6d3a ldr r2, [r7, #80] ; 0x50 80a0d0c: 4613 mov r3, r2 80a0d0e: 009b lsls r3, r3, #2 80a0d10: 4413 add r3, r2 80a0d12: f107 0268 add.w r2, r7, #104 ; 0x68 80a0d16: 4413 add r3, r2 80a0d18: 3b34 subs r3, #52 ; 0x34 80a0d1a: 781b ldrb r3, [r3, #0] 80a0d1c: b2db uxtb r3, r3 80a0d1e: 461a mov r2, r3 80a0d20: 4b51 ldr r3, [pc, #324] ; (80a0e68 ) 80a0d22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0d26: 2256 movs r2, #86 ; 0x56 80a0d28: 2196 movs r1, #150 ; 0x96 80a0d2a: 4618 mov r0, r3 80a0d2c: f7b5 f962 bl 8055ff4 DrawImage(&bmg_dB, 265, 74+18); 80a0d30: 225c movs r2, #92 ; 0x5c 80a0d32: f240 1109 movw r1, #265 ; 0x109 80a0d36: 484e ldr r0, [pc, #312] ; (80a0e70 ) 80a0d38: f7b5 f95c bl 8055ff4 80a0d3c: e277 b.n 80a122e if(ipr == VEL) 80a0d3e: 6d3b ldr r3, [r7, #80] ; 0x50 80a0d40: 2b01 cmp r3, #1 80a0d42: d144 bne.n 80a0dce DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 121+9); 80a0d44: 6d3a ldr r2, [r7, #80] ; 0x50 80a0d46: 4613 mov r3, r2 80a0d48: 009b lsls r3, r3, #2 80a0d4a: 4413 add r3, r2 80a0d4c: f107 0268 add.w r2, r7, #104 ; 0x68 80a0d50: 4413 add r3, r2 80a0d52: 3b32 subs r3, #50 ; 0x32 80a0d54: 781b ldrb r3, [r3, #0] 80a0d56: b2db uxtb r3, r3 80a0d58: 461a mov r2, r3 80a0d5a: 4b43 ldr r3, [pc, #268] ; (80a0e68 ) 80a0d5c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0d60: 2282 movs r2, #130 ; 0x82 80a0d62: 21e6 movs r1, #230 ; 0xe6 80a0d64: 4618 mov r0, r3 80a0d66: f7b5 f945 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a0d6a: 229a movs r2, #154 ; 0x9a 80a0d6c: 21d7 movs r1, #215 ; 0xd7 80a0d6e: 483f ldr r0, [pc, #252] ; (80a0e6c ) 80a0d70: f7b5 f940 bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 121+9); 80a0d74: 6d3a ldr r2, [r7, #80] ; 0x50 80a0d76: 4613 mov r3, r2 80a0d78: 009b lsls r3, r3, #2 80a0d7a: 4413 add r3, r2 80a0d7c: f107 0268 add.w r2, r7, #104 ; 0x68 80a0d80: 4413 add r3, r2 80a0d82: 3b33 subs r3, #51 ; 0x33 80a0d84: 781b ldrb r3, [r3, #0] 80a0d86: b2db uxtb r3, r3 80a0d88: 461a mov r2, r3 80a0d8a: 4b37 ldr r3, [pc, #220] ; (80a0e68 ) 80a0d8c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0d90: 2282 movs r2, #130 ; 0x82 80a0d92: 21b4 movs r1, #180 ; 0xb4 80a0d94: 4618 mov r0, r3 80a0d96: f7b5 f92d bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 121+9); 80a0d9a: 6d3a ldr r2, [r7, #80] ; 0x50 80a0d9c: 4613 mov r3, r2 80a0d9e: 009b lsls r3, r3, #2 80a0da0: 4413 add r3, r2 80a0da2: f107 0268 add.w r2, r7, #104 ; 0x68 80a0da6: 4413 add r3, r2 80a0da8: 3b34 subs r3, #52 ; 0x34 80a0daa: 781b ldrb r3, [r3, #0] 80a0dac: b2db uxtb r3, r3 80a0dae: 461a mov r2, r3 80a0db0: 4b2d ldr r3, [pc, #180] ; (80a0e68 ) 80a0db2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0db6: 2282 movs r2, #130 ; 0x82 80a0db8: 2196 movs r1, #150 ; 0x96 80a0dba: 4618 mov r0, r3 80a0dbc: f7b5 f91a bl 8055ff4 DrawImage(&bmg_dB, 265, 128+9); 80a0dc0: 2289 movs r2, #137 ; 0x89 80a0dc2: f240 1109 movw r1, #265 ; 0x109 80a0dc6: 482a ldr r0, [pc, #168] ; (80a0e70 ) 80a0dc8: f7b5 f914 bl 8055ff4 80a0dcc: e22f b.n 80a122e if(ipr == DIS) 80a0dce: 6d3b ldr r3, [r7, #80] ; 0x50 80a0dd0: 2b02 cmp r3, #2 80a0dd2: f040 822c bne.w 80a122e DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 174); 80a0dd6: 6d3a ldr r2, [r7, #80] ; 0x50 80a0dd8: 4613 mov r3, r2 80a0dda: 009b lsls r3, r3, #2 80a0ddc: 4413 add r3, r2 80a0dde: f107 0268 add.w r2, r7, #104 ; 0x68 80a0de2: 4413 add r3, r2 80a0de4: 3b32 subs r3, #50 ; 0x32 80a0de6: 781b ldrb r3, [r3, #0] 80a0de8: b2db uxtb r3, r3 80a0dea: 461a mov r2, r3 80a0dec: 4b1e ldr r3, [pc, #120] ; (80a0e68 ) 80a0dee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0df2: 22ae movs r2, #174 ; 0xae 80a0df4: 21e6 movs r1, #230 ; 0xe6 80a0df6: 4618 mov r0, r3 80a0df8: f7b5 f8fc bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 198); 80a0dfc: 22c6 movs r2, #198 ; 0xc6 80a0dfe: 21d7 movs r1, #215 ; 0xd7 80a0e00: 481a ldr r0, [pc, #104] ; (80a0e6c ) 80a0e02: f7b5 f8f7 bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 174); 80a0e06: 6d3a ldr r2, [r7, #80] ; 0x50 80a0e08: 4613 mov r3, r2 80a0e0a: 009b lsls r3, r3, #2 80a0e0c: 4413 add r3, r2 80a0e0e: f107 0268 add.w r2, r7, #104 ; 0x68 80a0e12: 4413 add r3, r2 80a0e14: 3b33 subs r3, #51 ; 0x33 80a0e16: 781b ldrb r3, [r3, #0] 80a0e18: b2db uxtb r3, r3 80a0e1a: 461a mov r2, r3 80a0e1c: 4b12 ldr r3, [pc, #72] ; (80a0e68 ) 80a0e1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0e22: 22ae movs r2, #174 ; 0xae 80a0e24: 21b4 movs r1, #180 ; 0xb4 80a0e26: 4618 mov r0, r3 80a0e28: f7b5 f8e4 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 174); 80a0e2c: 6d3a ldr r2, [r7, #80] ; 0x50 80a0e2e: 4613 mov r3, r2 80a0e30: 009b lsls r3, r3, #2 80a0e32: 4413 add r3, r2 80a0e34: f107 0268 add.w r2, r7, #104 ; 0x68 80a0e38: 4413 add r3, r2 80a0e3a: 3b34 subs r3, #52 ; 0x34 80a0e3c: 781b ldrb r3, [r3, #0] 80a0e3e: b2db uxtb r3, r3 80a0e40: 461a mov r2, r3 80a0e42: 4b09 ldr r3, [pc, #36] ; (80a0e68 ) 80a0e44: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0e48: 22ae movs r2, #174 ; 0xae 80a0e4a: 2196 movs r1, #150 ; 0x96 80a0e4c: 4618 mov r0, r3 80a0e4e: f7b5 f8d1 bl 8055ff4 DrawImage(&bmg_dB, 265, 180); 80a0e52: 22b4 movs r2, #180 ; 0xb4 80a0e54: f240 1109 movw r1, #265 ; 0x109 80a0e58: 4805 ldr r0, [pc, #20] ; (80a0e70 ) 80a0e5a: f7b5 f8cb bl 8055ff4 80a0e5e: e1e6 b.n 80a122e 80a0e60: 51eb851f .word 0x51eb851f 80a0e64: cccccccd .word 0xcccccccd 80a0e68: 20020124 .word 0x20020124 80a0e6c: 0816e480 .word 0x0816e480 80a0e70: 081696cc .word 0x081696cc 80a0e74: 447a0000 .word 0x447a0000 if(f < 1000.0f) 80a0e78: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0e7c: ed1f 7a03 vldr s14, [pc, #-12] ; 80a0e74 80a0e80: eef4 7ac7 vcmpe.f32 s15, s14 80a0e84: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0e88: f140 81d1 bpl.w 80a122e ik[ipr][0] = (uint8_t) (k / 1000); 80a0e8c: 6d3a ldr r2, [r7, #80] ; 0x50 80a0e8e: 6dbb ldr r3, [r7, #88] ; 0x58 80a0e90: 49cf ldr r1, [pc, #828] ; (80a11d0 ) 80a0e92: fba1 1303 umull r1, r3, r1, r3 80a0e96: 099b lsrs r3, r3, #6 80a0e98: b2d9 uxtb r1, r3 80a0e9a: 4613 mov r3, r2 80a0e9c: 009b lsls r3, r3, #2 80a0e9e: 4413 add r3, r2 80a0ea0: f107 0268 add.w r2, r7, #104 ; 0x68 80a0ea4: 4413 add r3, r2 80a0ea6: 3b34 subs r3, #52 ; 0x34 80a0ea8: 460a mov r2, r1 80a0eaa: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 1000 / 100); 80a0eac: 6d39 ldr r1, [r7, #80] ; 0x50 80a0eae: 6dba ldr r2, [r7, #88] ; 0x58 80a0eb0: 4bc7 ldr r3, [pc, #796] ; (80a11d0 ) 80a0eb2: fba3 0302 umull r0, r3, r3, r2 80a0eb6: 099b lsrs r3, r3, #6 80a0eb8: f44f 707a mov.w r0, #1000 ; 0x3e8 80a0ebc: fb00 f303 mul.w r3, r0, r3 80a0ec0: 1ad3 subs r3, r2, r3 80a0ec2: 4ac4 ldr r2, [pc, #784] ; (80a11d4 ) 80a0ec4: fba2 2303 umull r2, r3, r2, r3 80a0ec8: 095b lsrs r3, r3, #5 80a0eca: b2da uxtb r2, r3 80a0ecc: 460b mov r3, r1 80a0ece: 009b lsls r3, r3, #2 80a0ed0: 440b add r3, r1 80a0ed2: f107 0168 add.w r1, r7, #104 ; 0x68 80a0ed6: 440b add r3, r1 80a0ed8: 3b33 subs r3, #51 ; 0x33 80a0eda: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 1000 % 100 / 10); 80a0edc: 6d39 ldr r1, [r7, #80] ; 0x50 80a0ede: 6dba ldr r2, [r7, #88] ; 0x58 80a0ee0: 4bbb ldr r3, [pc, #748] ; (80a11d0 ) 80a0ee2: fba3 0302 umull r0, r3, r3, r2 80a0ee6: 099b lsrs r3, r3, #6 80a0ee8: f44f 707a mov.w r0, #1000 ; 0x3e8 80a0eec: fb00 f303 mul.w r3, r0, r3 80a0ef0: 1ad3 subs r3, r2, r3 80a0ef2: 4ab8 ldr r2, [pc, #736] ; (80a11d4 ) 80a0ef4: fba2 0203 umull r0, r2, r2, r3 80a0ef8: 0952 lsrs r2, r2, #5 80a0efa: 2064 movs r0, #100 ; 0x64 80a0efc: fb00 f202 mul.w r2, r0, r2 80a0f00: 1a9a subs r2, r3, r2 80a0f02: 4bb5 ldr r3, [pc, #724] ; (80a11d8 ) 80a0f04: fba3 2302 umull r2, r3, r3, r2 80a0f08: 08db lsrs r3, r3, #3 80a0f0a: b2da uxtb r2, r3 80a0f0c: 460b mov r3, r1 80a0f0e: 009b lsls r3, r3, #2 80a0f10: 440b add r3, r1 80a0f12: f107 0168 add.w r1, r7, #104 ; 0x68 80a0f16: 440b add r3, r1 80a0f18: 3b32 subs r3, #50 ; 0x32 80a0f1a: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 1000 % 100 % 10); 80a0f1c: 6d38 ldr r0, [r7, #80] ; 0x50 80a0f1e: 6dba ldr r2, [r7, #88] ; 0x58 80a0f20: 4bab ldr r3, [pc, #684] ; (80a11d0 ) 80a0f22: fba3 1302 umull r1, r3, r3, r2 80a0f26: 099b lsrs r3, r3, #6 80a0f28: f44f 717a mov.w r1, #1000 ; 0x3e8 80a0f2c: fb01 f303 mul.w r3, r1, r3 80a0f30: 1ad3 subs r3, r2, r3 80a0f32: 4aa8 ldr r2, [pc, #672] ; (80a11d4 ) 80a0f34: fba2 1203 umull r1, r2, r2, r3 80a0f38: 0952 lsrs r2, r2, #5 80a0f3a: 2164 movs r1, #100 ; 0x64 80a0f3c: fb01 f202 mul.w r2, r1, r2 80a0f40: 1a9a subs r2, r3, r2 80a0f42: 4ba5 ldr r3, [pc, #660] ; (80a11d8 ) 80a0f44: fba3 1302 umull r1, r3, r3, r2 80a0f48: 08d9 lsrs r1, r3, #3 80a0f4a: 460b mov r3, r1 80a0f4c: 009b lsls r3, r3, #2 80a0f4e: 440b add r3, r1 80a0f50: 005b lsls r3, r3, #1 80a0f52: 1ad1 subs r1, r2, r3 80a0f54: b2ca uxtb r2, r1 80a0f56: 4603 mov r3, r0 80a0f58: 009b lsls r3, r3, #2 80a0f5a: 4403 add r3, r0 80a0f5c: f107 0168 add.w r1, r7, #104 ; 0x68 80a0f60: 440b add r3, r1 80a0f62: 3b31 subs r3, #49 ; 0x31 80a0f64: 701a strb r2, [r3, #0] if(ipr == ACC) 80a0f66: 6d3b ldr r3, [r7, #80] ; 0x50 80a0f68: 2b00 cmp r3, #0 80a0f6a: d157 bne.n 80a101c DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 68+18); 80a0f6c: 6d3a ldr r2, [r7, #80] ; 0x50 80a0f6e: 4613 mov r3, r2 80a0f70: 009b lsls r3, r3, #2 80a0f72: 4413 add r3, r2 80a0f74: f107 0268 add.w r2, r7, #104 ; 0x68 80a0f78: 4413 add r3, r2 80a0f7a: 3b31 subs r3, #49 ; 0x31 80a0f7c: 781b ldrb r3, [r3, #0] 80a0f7e: b2db uxtb r3, r3 80a0f80: 461a mov r2, r3 80a0f82: 4b96 ldr r3, [pc, #600] ; (80a11dc ) 80a0f84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0f88: 2256 movs r2, #86 ; 0x56 80a0f8a: 21e6 movs r1, #230 ; 0xe6 80a0f8c: 4618 mov r0, r3 80a0f8e: f7b5 f831 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a0f92: 226e movs r2, #110 ; 0x6e 80a0f94: 21d7 movs r1, #215 ; 0xd7 80a0f96: 4892 ldr r0, [pc, #584] ; (80a11e0 ) 80a0f98: f7b5 f82c bl 8055ff4 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 68+18); 80a0f9c: 6d3a ldr r2, [r7, #80] ; 0x50 80a0f9e: 4613 mov r3, r2 80a0fa0: 009b lsls r3, r3, #2 80a0fa2: 4413 add r3, r2 80a0fa4: f107 0268 add.w r2, r7, #104 ; 0x68 80a0fa8: 4413 add r3, r2 80a0faa: 3b32 subs r3, #50 ; 0x32 80a0fac: 781b ldrb r3, [r3, #0] 80a0fae: b2db uxtb r3, r3 80a0fb0: 461a mov r2, r3 80a0fb2: 4b8a ldr r3, [pc, #552] ; (80a11dc ) 80a0fb4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0fb8: 2256 movs r2, #86 ; 0x56 80a0fba: 21b4 movs r1, #180 ; 0xb4 80a0fbc: 4618 mov r0, r3 80a0fbe: f7b5 f819 bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 68+18); 80a0fc2: 6d3a ldr r2, [r7, #80] ; 0x50 80a0fc4: 4613 mov r3, r2 80a0fc6: 009b lsls r3, r3, #2 80a0fc8: 4413 add r3, r2 80a0fca: f107 0268 add.w r2, r7, #104 ; 0x68 80a0fce: 4413 add r3, r2 80a0fd0: 3b33 subs r3, #51 ; 0x33 80a0fd2: 781b ldrb r3, [r3, #0] 80a0fd4: b2db uxtb r3, r3 80a0fd6: 461a mov r2, r3 80a0fd8: 4b80 ldr r3, [pc, #512] ; (80a11dc ) 80a0fda: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0fde: 2256 movs r2, #86 ; 0x56 80a0fe0: 2196 movs r1, #150 ; 0x96 80a0fe2: 4618 mov r0, r3 80a0fe4: f7b5 f806 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 68+18); 80a0fe8: 6d3a ldr r2, [r7, #80] ; 0x50 80a0fea: 4613 mov r3, r2 80a0fec: 009b lsls r3, r3, #2 80a0fee: 4413 add r3, r2 80a0ff0: f107 0268 add.w r2, r7, #104 ; 0x68 80a0ff4: 4413 add r3, r2 80a0ff6: 3b34 subs r3, #52 ; 0x34 80a0ff8: 781b ldrb r3, [r3, #0] 80a0ffa: b2db uxtb r3, r3 80a0ffc: 461a mov r2, r3 80a0ffe: 4b77 ldr r3, [pc, #476] ; (80a11dc ) 80a1000: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1004: 2256 movs r2, #86 ; 0x56 80a1006: 2178 movs r1, #120 ; 0x78 80a1008: 4618 mov r0, r3 80a100a: f7b4 fff3 bl 8055ff4 DrawImage(&bmg_dB, 265, 74+18); 80a100e: 225c movs r2, #92 ; 0x5c 80a1010: f240 1109 movw r1, #265 ; 0x109 80a1014: 4873 ldr r0, [pc, #460] ; (80a11e4 ) 80a1016: f7b4 ffed bl 8055ff4 80a101a: e108 b.n 80a122e if(ipr == VEL) 80a101c: 6d3b ldr r3, [r7, #80] ; 0x50 80a101e: 2b01 cmp r3, #1 80a1020: d157 bne.n 80a10d2 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 121+9); 80a1022: 6d3a ldr r2, [r7, #80] ; 0x50 80a1024: 4613 mov r3, r2 80a1026: 009b lsls r3, r3, #2 80a1028: 4413 add r3, r2 80a102a: f107 0268 add.w r2, r7, #104 ; 0x68 80a102e: 4413 add r3, r2 80a1030: 3b31 subs r3, #49 ; 0x31 80a1032: 781b ldrb r3, [r3, #0] 80a1034: b2db uxtb r3, r3 80a1036: 461a mov r2, r3 80a1038: 4b68 ldr r3, [pc, #416] ; (80a11dc ) 80a103a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a103e: 2282 movs r2, #130 ; 0x82 80a1040: 21e6 movs r1, #230 ; 0xe6 80a1042: 4618 mov r0, r3 80a1044: f7b4 ffd6 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a1048: 229a movs r2, #154 ; 0x9a 80a104a: 21d7 movs r1, #215 ; 0xd7 80a104c: 4864 ldr r0, [pc, #400] ; (80a11e0 ) 80a104e: f7b4 ffd1 bl 8055ff4 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 121+9); 80a1052: 6d3a ldr r2, [r7, #80] ; 0x50 80a1054: 4613 mov r3, r2 80a1056: 009b lsls r3, r3, #2 80a1058: 4413 add r3, r2 80a105a: f107 0268 add.w r2, r7, #104 ; 0x68 80a105e: 4413 add r3, r2 80a1060: 3b32 subs r3, #50 ; 0x32 80a1062: 781b ldrb r3, [r3, #0] 80a1064: b2db uxtb r3, r3 80a1066: 461a mov r2, r3 80a1068: 4b5c ldr r3, [pc, #368] ; (80a11dc ) 80a106a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a106e: 2282 movs r2, #130 ; 0x82 80a1070: 21b4 movs r1, #180 ; 0xb4 80a1072: 4618 mov r0, r3 80a1074: f7b4 ffbe bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 121+9); 80a1078: 6d3a ldr r2, [r7, #80] ; 0x50 80a107a: 4613 mov r3, r2 80a107c: 009b lsls r3, r3, #2 80a107e: 4413 add r3, r2 80a1080: f107 0268 add.w r2, r7, #104 ; 0x68 80a1084: 4413 add r3, r2 80a1086: 3b33 subs r3, #51 ; 0x33 80a1088: 781b ldrb r3, [r3, #0] 80a108a: b2db uxtb r3, r3 80a108c: 461a mov r2, r3 80a108e: 4b53 ldr r3, [pc, #332] ; (80a11dc ) 80a1090: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1094: 2282 movs r2, #130 ; 0x82 80a1096: 2196 movs r1, #150 ; 0x96 80a1098: 4618 mov r0, r3 80a109a: f7b4 ffab bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 121+9); 80a109e: 6d3a ldr r2, [r7, #80] ; 0x50 80a10a0: 4613 mov r3, r2 80a10a2: 009b lsls r3, r3, #2 80a10a4: 4413 add r3, r2 80a10a6: f107 0268 add.w r2, r7, #104 ; 0x68 80a10aa: 4413 add r3, r2 80a10ac: 3b34 subs r3, #52 ; 0x34 80a10ae: 781b ldrb r3, [r3, #0] 80a10b0: b2db uxtb r3, r3 80a10b2: 461a mov r2, r3 80a10b4: 4b49 ldr r3, [pc, #292] ; (80a11dc ) 80a10b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a10ba: 2282 movs r2, #130 ; 0x82 80a10bc: 2178 movs r1, #120 ; 0x78 80a10be: 4618 mov r0, r3 80a10c0: f7b4 ff98 bl 8055ff4 DrawImage(&bmg_dB, 265, 128+9); 80a10c4: 2289 movs r2, #137 ; 0x89 80a10c6: f240 1109 movw r1, #265 ; 0x109 80a10ca: 4846 ldr r0, [pc, #280] ; (80a11e4 ) 80a10cc: f7b4 ff92 bl 8055ff4 80a10d0: e0ad b.n 80a122e if(ipr == DIS) 80a10d2: 6d3b ldr r3, [r7, #80] ; 0x50 80a10d4: 2b02 cmp r3, #2 80a10d6: f040 80aa bne.w 80a122e DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 174); 80a10da: 6d3a ldr r2, [r7, #80] ; 0x50 80a10dc: 4613 mov r3, r2 80a10de: 009b lsls r3, r3, #2 80a10e0: 4413 add r3, r2 80a10e2: f107 0268 add.w r2, r7, #104 ; 0x68 80a10e6: 4413 add r3, r2 80a10e8: 3b31 subs r3, #49 ; 0x31 80a10ea: 781b ldrb r3, [r3, #0] 80a10ec: b2db uxtb r3, r3 80a10ee: 461a mov r2, r3 80a10f0: 4b3a ldr r3, [pc, #232] ; (80a11dc ) 80a10f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a10f6: 22ae movs r2, #174 ; 0xae 80a10f8: 21e6 movs r1, #230 ; 0xe6 80a10fa: 4618 mov r0, r3 80a10fc: f7b4 ff7a bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 198); 80a1100: 22c6 movs r2, #198 ; 0xc6 80a1102: 21d7 movs r1, #215 ; 0xd7 80a1104: 4836 ldr r0, [pc, #216] ; (80a11e0 ) 80a1106: f7b4 ff75 bl 8055ff4 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 174); 80a110a: 6d3a ldr r2, [r7, #80] ; 0x50 80a110c: 4613 mov r3, r2 80a110e: 009b lsls r3, r3, #2 80a1110: 4413 add r3, r2 80a1112: f107 0268 add.w r2, r7, #104 ; 0x68 80a1116: 4413 add r3, r2 80a1118: 3b32 subs r3, #50 ; 0x32 80a111a: 781b ldrb r3, [r3, #0] 80a111c: b2db uxtb r3, r3 80a111e: 461a mov r2, r3 80a1120: 4b2e ldr r3, [pc, #184] ; (80a11dc ) 80a1122: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1126: 22ae movs r2, #174 ; 0xae 80a1128: 21b4 movs r1, #180 ; 0xb4 80a112a: 4618 mov r0, r3 80a112c: f7b4 ff62 bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 174); 80a1130: 6d3a ldr r2, [r7, #80] ; 0x50 80a1132: 4613 mov r3, r2 80a1134: 009b lsls r3, r3, #2 80a1136: 4413 add r3, r2 80a1138: f107 0268 add.w r2, r7, #104 ; 0x68 80a113c: 4413 add r3, r2 80a113e: 3b33 subs r3, #51 ; 0x33 80a1140: 781b ldrb r3, [r3, #0] 80a1142: b2db uxtb r3, r3 80a1144: 461a mov r2, r3 80a1146: 4b25 ldr r3, [pc, #148] ; (80a11dc ) 80a1148: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a114c: 22ae movs r2, #174 ; 0xae 80a114e: 2196 movs r1, #150 ; 0x96 80a1150: 4618 mov r0, r3 80a1152: f7b4 ff4f bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 174); 80a1156: 6d3a ldr r2, [r7, #80] ; 0x50 80a1158: 4613 mov r3, r2 80a115a: 009b lsls r3, r3, #2 80a115c: 4413 add r3, r2 80a115e: f107 0268 add.w r2, r7, #104 ; 0x68 80a1162: 4413 add r3, r2 80a1164: 3b34 subs r3, #52 ; 0x34 80a1166: 781b ldrb r3, [r3, #0] 80a1168: b2db uxtb r3, r3 80a116a: 461a mov r2, r3 80a116c: 4b1b ldr r3, [pc, #108] ; (80a11dc ) 80a116e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1172: 22ae movs r2, #174 ; 0xae 80a1174: 2178 movs r1, #120 ; 0x78 80a1176: 4618 mov r0, r3 80a1178: f7b4 ff3c bl 8055ff4 DrawImage(&bmg_dB, 265, 180); 80a117c: 22b4 movs r2, #180 ; 0xb4 80a117e: f240 1109 movw r1, #265 ; 0x109 80a1182: 4818 ldr r0, [pc, #96] ; (80a11e4 ) 80a1184: f7b4 ff36 bl 8055ff4 80a1188: e051 b.n 80a122e if(skz[ACC] != -1.0f) 80a118a: 4b17 ldr r3, [pc, #92] ; (80a11e8 ) 80a118c: edd3 7a00 vldr s15, [r3] 80a1190: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a1194: eef4 7a47 vcmp.f32 s15, s14 80a1198: eef1 fa10 vmrs APSR_nzcv, fpscr 80a119c: d047 beq.n 80a122e if(ipr == VEL) 80a119e: 6d3b ldr r3, [r7, #80] ; 0x50 80a11a0: 2b01 cmp r3, #1 80a11a2: d12d bne.n 80a1200 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a11a4: 4911 ldr r1, [pc, #68] ; (80a11ec ) 80a11a6: 4812 ldr r0, [pc, #72] ; (80a11f0 ) 80a11a8: f7b4 f830 bl 805520c if(pardata.LANG == RUS) 80a11ac: 4b11 ldr r3, [pc, #68] ; (80a11f4 ) 80a11ae: 7b1b ldrb r3, [r3, #12] 80a11b0: b2db uxtb r3, r3 80a11b2: 2b00 cmp r3, #0 80a11b4: d105 bne.n 80a11c2 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a11b6: 4a10 ldr r2, [pc, #64] ; (80a11f8 ) 80a11b8: 2187 movs r1, #135 ; 0x87 80a11ba: 20a7 movs r0, #167 ; 0xa7 80a11bc: f7b4 fde6 bl 8055d8c 80a11c0: e035 b.n 80a122e else LCD_DisplayStringC(167, 135, "NO DATA"); 80a11c2: 4a0e ldr r2, [pc, #56] ; (80a11fc ) 80a11c4: 2187 movs r1, #135 ; 0x87 80a11c6: 20a7 movs r0, #167 ; 0xa7 80a11c8: f7b4 fde0 bl 8055d8c 80a11cc: e02f b.n 80a122e 80a11ce: bf00 nop 80a11d0: 10624dd3 .word 0x10624dd3 80a11d4: 51eb851f .word 0x51eb851f 80a11d8: cccccccd .word 0xcccccccd 80a11dc: 20020124 .word 0x20020124 80a11e0: 0816e480 .word 0x0816e480 80a11e4: 081696cc .word 0x081696cc 80a11e8: 20021590 .word 0x20021590 80a11ec: ff0a0f1f .word 0xff0a0f1f 80a11f0: ffb8e828 .word 0xffb8e828 80a11f4: 20023eb8 .word 0x20023eb8 80a11f8: 080d6564 .word 0x080d6564 80a11fc: 080d6570 .word 0x080d6570 if(ipr == DIS) 80a1200: 6d3b ldr r3, [r7, #80] ; 0x50 80a1202: 2b02 cmp r3, #2 80a1204: d113 bne.n 80a122e LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a1206: 4933 ldr r1, [pc, #204] ; (80a12d4 ) 80a1208: 4833 ldr r0, [pc, #204] ; (80a12d8 ) 80a120a: f7b3 ffff bl 805520c if(pardata.LANG == RUS) 80a120e: 4b33 ldr r3, [pc, #204] ; (80a12dc ) 80a1210: 7b1b ldrb r3, [r3, #12] 80a1212: b2db uxtb r3, r3 80a1214: 2b00 cmp r3, #0 80a1216: d105 bne.n 80a1224 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a1218: 4a31 ldr r2, [pc, #196] ; (80a12e0 ) 80a121a: 21b9 movs r1, #185 ; 0xb9 80a121c: 20a7 movs r0, #167 ; 0xa7 80a121e: f7b4 fdb5 bl 8055d8c 80a1222: e004 b.n 80a122e else LCD_DisplayStringC(167, 185, "NO DATA"); 80a1224: 4a2f ldr r2, [pc, #188] ; (80a12e4 ) 80a1226: 21b9 movs r1, #185 ; 0xb9 80a1228: 20a7 movs r0, #167 ; 0xa7 80a122a: f7b4 fdaf bl 8055d8c for(ipr = ACC; ipr <= DIS; ipr++) 80a122e: 6d3b ldr r3, [r7, #80] ; 0x50 80a1230: 3301 adds r3, #1 80a1232: 653b str r3, [r7, #80] ; 0x50 80a1234: 6d3b ldr r3, [r7, #80] ; 0x50 80a1236: 2b02 cmp r3, #2 80a1238: f67e adfc bls.w 809fe34 break; 80a123c: bf00 nop break; 80a123e: f004 ba39 b.w 80a56b4 DrawImage(&bmAVS, 8, 84); 80a1242: 2254 movs r2, #84 ; 0x54 80a1244: 2108 movs r1, #8 80a1246: 4828 ldr r0, [pc, #160] ; (80a12e8 ) 80a1248: f7b4 fed4 bl 8055ff4 if(DrawSavedData) 80a124c: 4b27 ldr r3, [pc, #156] ; (80a12ec ) 80a124e: 781b ldrb r3, [r3, #0] 80a1250: b2db uxtb r3, r3 80a1252: 2b00 cmp r3, #0 80a1254: f002 8130 beq.w 80a34b8 ivs[ACC] = ReadFileData.Aivs; 80a1258: 4b25 ldr r3, [pc, #148] ; (80a12f0 ) 80a125a: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a125e: b2db uxtb r3, r3 80a1260: 703b strb r3, [r7, #0] ivs[VEL] = ReadFileData.Vivs; 80a1262: 4b23 ldr r3, [pc, #140] ; (80a12f0 ) 80a1264: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a1268: b2db uxtb r3, r3 80a126a: 707b strb r3, [r7, #1] ivs[DIS] = ReadFileData.Sivs; 80a126c: 4b20 ldr r3, [pc, #128] ; (80a12f0 ) 80a126e: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a1272: b2db uxtb r3, r3 80a1274: 70bb strb r3, [r7, #2] if(((!ReadFileData.Aivs) && (!ReadFileData.Vivs) && (!ReadFileData.Sivs)) || (ReadFileData.Aval.fl == -1.0f)) 80a1276: 4b1e ldr r3, [pc, #120] ; (80a12f0 ) 80a1278: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a127c: b2db uxtb r3, r3 80a127e: 2b00 cmp r3, #0 80a1280: d10b bne.n 80a129a 80a1282: 4b1b ldr r3, [pc, #108] ; (80a12f0 ) 80a1284: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a1288: b2db uxtb r3, r3 80a128a: 2b00 cmp r3, #0 80a128c: d105 bne.n 80a129a 80a128e: 4b18 ldr r3, [pc, #96] ; (80a12f0 ) 80a1290: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a1294: b2db uxtb r3, r3 80a1296: 2b00 cmp r3, #0 80a1298: d009 beq.n 80a12ae 80a129a: 4b15 ldr r3, [pc, #84] ; (80a12f0 ) 80a129c: edd3 7a00 vldr s15, [r3] 80a12a0: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a12a4: eef4 7a47 vcmp.f32 s15, s14 80a12a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a12ac: d12a bne.n 80a1304 DrawImage(&bmf, 100, 57+3); 80a12ae: 223c movs r2, #60 ; 0x3c 80a12b0: 2164 movs r1, #100 ; 0x64 80a12b2: 4810 ldr r0, [pc, #64] ; (80a12f4 ) 80a12b4: f7b4 fe9e bl 8055ff4 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 80a12b8: 4b0f ldr r3, [pc, #60] ; (80a12f8 ) 80a12ba: 681b ldr r3, [r3, #0] 80a12bc: 4a0f ldr r2, [pc, #60] ; (80a12fc ) 80a12be: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80a12c2: 4b0f ldr r3, [pc, #60] ; (80a1300 ) 80a12c4: 681b ldr r3, [r3, #0] 80a12c6: 429a cmp r2, r3 80a12c8: f044 81f1 bne.w 80a56ae DrawDetectorType(); 80a12cc: f7f8 fdea bl 8099ea4 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 80a12d0: f004 b9ed b.w 80a56ae 80a12d4: ff0a0f1f .word 0xff0a0f1f 80a12d8: ffb8e828 .word 0xffb8e828 80a12dc: 20023eb8 .word 0x20023eb8 80a12e0: 080d6564 .word 0x080d6564 80a12e4: 080d6570 .word 0x080d6570 80a12e8: 0810a724 .word 0x0810a724 80a12ec: 20020dea .word 0x20020dea 80a12f0: 200226f0 .word 0x200226f0 80a12f4: 0816421c .word 0x0816421c 80a12f8: 20021fec .word 0x20021fec 80a12fc: 20022ef8 .word 0x20022ef8 80a1300: 20022360 .word 0x20022360 DrawImage(&bmSAVED, 298, 39); 80a1304: 2227 movs r2, #39 ; 0x27 80a1306: f44f 7195 mov.w r1, #298 ; 0x12a 80a130a: 48bc ldr r0, [pc, #752] ; (80a15fc ) 80a130c: f7b4 fe72 bl 8055ff4 memset(str, 0, sizeof(str)); 80a1310: f107 030c add.w r3, r7, #12 80a1314: 2228 movs r2, #40 ; 0x28 80a1316: 2100 movs r1, #0 80a1318: 4618 mov r0, r3 80a131a: f030 fe43 bl 80d1fa4 BSP_LCD_SetFont(&Font8); 80a131e: 48b8 ldr r0, [pc, #736] ; (80a1600 ) 80a1320: f7b3 ffb0 bl 8055284 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80a1324: 49b7 ldr r1, [pc, #732] ; (80a1604 ) 80a1326: 48b8 ldr r0, [pc, #736] ; (80a1608 ) 80a1328: f7b3 ff70 bl 805520c str[0] = (DateFileData.Date / 10) + 48; 80a132c: 4bb7 ldr r3, [pc, #732] ; (80a160c ) 80a132e: 789b ldrb r3, [r3, #2] 80a1330: b2db uxtb r3, r3 80a1332: 4ab7 ldr r2, [pc, #732] ; (80a1610 ) 80a1334: fba2 2303 umull r2, r3, r2, r3 80a1338: 08db lsrs r3, r3, #3 80a133a: b2db uxtb r3, r3 80a133c: 3330 adds r3, #48 ; 0x30 80a133e: b2db uxtb r3, r3 80a1340: 733b strb r3, [r7, #12] str[1] = (DateFileData.Date % 10) + 48; 80a1342: 4bb2 ldr r3, [pc, #712] ; (80a160c ) 80a1344: 789b ldrb r3, [r3, #2] 80a1346: b2da uxtb r2, r3 80a1348: 4bb1 ldr r3, [pc, #708] ; (80a1610 ) 80a134a: fba3 1302 umull r1, r3, r3, r2 80a134e: 08d9 lsrs r1, r3, #3 80a1350: 460b mov r3, r1 80a1352: 009b lsls r3, r3, #2 80a1354: 440b add r3, r1 80a1356: 005b lsls r3, r3, #1 80a1358: 1ad3 subs r3, r2, r3 80a135a: b2db uxtb r3, r3 80a135c: 3330 adds r3, #48 ; 0x30 80a135e: b2db uxtb r3, r3 80a1360: 737b strb r3, [r7, #13] str[2] = '.'; 80a1362: 232e movs r3, #46 ; 0x2e 80a1364: 73bb strb r3, [r7, #14] str[3] = (DateFileData.Month / 10) + 48; 80a1366: 4ba9 ldr r3, [pc, #676] ; (80a160c ) 80a1368: 785b ldrb r3, [r3, #1] 80a136a: b2db uxtb r3, r3 80a136c: 4aa8 ldr r2, [pc, #672] ; (80a1610 ) 80a136e: fba2 2303 umull r2, r3, r2, r3 80a1372: 08db lsrs r3, r3, #3 80a1374: b2db uxtb r3, r3 80a1376: 3330 adds r3, #48 ; 0x30 80a1378: b2db uxtb r3, r3 80a137a: 73fb strb r3, [r7, #15] str[4] = (DateFileData.Month % 10) + 48; 80a137c: 4ba3 ldr r3, [pc, #652] ; (80a160c ) 80a137e: 785b ldrb r3, [r3, #1] 80a1380: b2da uxtb r2, r3 80a1382: 4ba3 ldr r3, [pc, #652] ; (80a1610 ) 80a1384: fba3 1302 umull r1, r3, r3, r2 80a1388: 08d9 lsrs r1, r3, #3 80a138a: 460b mov r3, r1 80a138c: 009b lsls r3, r3, #2 80a138e: 440b add r3, r1 80a1390: 005b lsls r3, r3, #1 80a1392: 1ad3 subs r3, r2, r3 80a1394: b2db uxtb r3, r3 80a1396: 3330 adds r3, #48 ; 0x30 80a1398: b2db uxtb r3, r3 80a139a: 743b strb r3, [r7, #16] str[5] = '.'; 80a139c: 232e movs r3, #46 ; 0x2e 80a139e: 747b strb r3, [r7, #17] str[6] = '2'; 80a13a0: 2332 movs r3, #50 ; 0x32 80a13a2: 74bb strb r3, [r7, #18] str[7] = '0'; 80a13a4: 2330 movs r3, #48 ; 0x30 80a13a6: 74fb strb r3, [r7, #19] str[8] = (DateFileData.Year / 10) + 48; 80a13a8: 4b98 ldr r3, [pc, #608] ; (80a160c ) 80a13aa: 78db ldrb r3, [r3, #3] 80a13ac: b2db uxtb r3, r3 80a13ae: 4a98 ldr r2, [pc, #608] ; (80a1610 ) 80a13b0: fba2 2303 umull r2, r3, r2, r3 80a13b4: 08db lsrs r3, r3, #3 80a13b6: b2db uxtb r3, r3 80a13b8: 3330 adds r3, #48 ; 0x30 80a13ba: b2db uxtb r3, r3 80a13bc: 753b strb r3, [r7, #20] str[9] = (DateFileData.Year % 10) + 48; 80a13be: 4b93 ldr r3, [pc, #588] ; (80a160c ) 80a13c0: 78db ldrb r3, [r3, #3] 80a13c2: b2da uxtb r2, r3 80a13c4: 4b92 ldr r3, [pc, #584] ; (80a1610 ) 80a13c6: fba3 1302 umull r1, r3, r3, r2 80a13ca: 08d9 lsrs r1, r3, #3 80a13cc: 460b mov r3, r1 80a13ce: 009b lsls r3, r3, #2 80a13d0: 440b add r3, r1 80a13d2: 005b lsls r3, r3, #1 80a13d4: 1ad3 subs r3, r2, r3 80a13d6: b2db uxtb r3, r3 80a13d8: 3330 adds r3, #48 ; 0x30 80a13da: b2db uxtb r3, r3 80a13dc: 757b strb r3, [r7, #21] BSP_LCD_DisplayStringAt(295, 42, str, RIGHT_MODE); 80a13de: f107 020c add.w r2, r7, #12 80a13e2: 2302 movs r3, #2 80a13e4: 212a movs r1, #42 ; 0x2a 80a13e6: f240 1027 movw r0, #295 ; 0x127 80a13ea: f7b3 ffd5 bl 8055398 memset(str, 0, sizeof(str)); 80a13ee: f107 030c add.w r3, r7, #12 80a13f2: 2228 movs r2, #40 ; 0x28 80a13f4: 2100 movs r1, #0 80a13f6: 4618 mov r0, r3 80a13f8: f030 fdd4 bl 80d1fa4 str[0] = (TimeFileData.Hours / 10) + 48; 80a13fc: 4b85 ldr r3, [pc, #532] ; (80a1614 ) 80a13fe: 781b ldrb r3, [r3, #0] 80a1400: b2db uxtb r3, r3 80a1402: 4a83 ldr r2, [pc, #524] ; (80a1610 ) 80a1404: fba2 2303 umull r2, r3, r2, r3 80a1408: 08db lsrs r3, r3, #3 80a140a: b2db uxtb r3, r3 80a140c: 3330 adds r3, #48 ; 0x30 80a140e: b2db uxtb r3, r3 80a1410: 733b strb r3, [r7, #12] str[1] = (TimeFileData.Hours % 10) + 48; 80a1412: 4b80 ldr r3, [pc, #512] ; (80a1614 ) 80a1414: 781b ldrb r3, [r3, #0] 80a1416: b2da uxtb r2, r3 80a1418: 4b7d ldr r3, [pc, #500] ; (80a1610 ) 80a141a: fba3 1302 umull r1, r3, r3, r2 80a141e: 08d9 lsrs r1, r3, #3 80a1420: 460b mov r3, r1 80a1422: 009b lsls r3, r3, #2 80a1424: 440b add r3, r1 80a1426: 005b lsls r3, r3, #1 80a1428: 1ad3 subs r3, r2, r3 80a142a: b2db uxtb r3, r3 80a142c: 3330 adds r3, #48 ; 0x30 80a142e: b2db uxtb r3, r3 80a1430: 737b strb r3, [r7, #13] str[2] = ':'; 80a1432: 233a movs r3, #58 ; 0x3a 80a1434: 73bb strb r3, [r7, #14] str[3] = (TimeFileData.Minutes / 10) + 48; 80a1436: 4b77 ldr r3, [pc, #476] ; (80a1614 ) 80a1438: 785b ldrb r3, [r3, #1] 80a143a: b2db uxtb r3, r3 80a143c: 4a74 ldr r2, [pc, #464] ; (80a1610 ) 80a143e: fba2 2303 umull r2, r3, r2, r3 80a1442: 08db lsrs r3, r3, #3 80a1444: b2db uxtb r3, r3 80a1446: 3330 adds r3, #48 ; 0x30 80a1448: b2db uxtb r3, r3 80a144a: 73fb strb r3, [r7, #15] str[4] = (TimeFileData.Minutes % 10) + 48; 80a144c: 4b71 ldr r3, [pc, #452] ; (80a1614 ) 80a144e: 785b ldrb r3, [r3, #1] 80a1450: b2da uxtb r2, r3 80a1452: 4b6f ldr r3, [pc, #444] ; (80a1610 ) 80a1454: fba3 1302 umull r1, r3, r3, r2 80a1458: 08d9 lsrs r1, r3, #3 80a145a: 460b mov r3, r1 80a145c: 009b lsls r3, r3, #2 80a145e: 440b add r3, r1 80a1460: 005b lsls r3, r3, #1 80a1462: 1ad3 subs r3, r2, r3 80a1464: b2db uxtb r3, r3 80a1466: 3330 adds r3, #48 ; 0x30 80a1468: b2db uxtb r3, r3 80a146a: 743b strb r3, [r7, #16] str[5] = ':'; 80a146c: 233a movs r3, #58 ; 0x3a 80a146e: 747b strb r3, [r7, #17] str[6] = (TimeFileData.Seconds / 10) + 48; 80a1470: 4b68 ldr r3, [pc, #416] ; (80a1614 ) 80a1472: 789b ldrb r3, [r3, #2] 80a1474: b2db uxtb r3, r3 80a1476: 4a66 ldr r2, [pc, #408] ; (80a1610 ) 80a1478: fba2 2303 umull r2, r3, r2, r3 80a147c: 08db lsrs r3, r3, #3 80a147e: b2db uxtb r3, r3 80a1480: 3330 adds r3, #48 ; 0x30 80a1482: b2db uxtb r3, r3 80a1484: 74bb strb r3, [r7, #18] str[7] = (TimeFileData.Seconds % 10) + 48; 80a1486: 4b63 ldr r3, [pc, #396] ; (80a1614 ) 80a1488: 789b ldrb r3, [r3, #2] 80a148a: b2da uxtb r2, r3 80a148c: 4b60 ldr r3, [pc, #384] ; (80a1610 ) 80a148e: fba3 1302 umull r1, r3, r3, r2 80a1492: 08d9 lsrs r1, r3, #3 80a1494: 460b mov r3, r1 80a1496: 009b lsls r3, r3, #2 80a1498: 440b add r3, r1 80a149a: 005b lsls r3, r3, #1 80a149c: 1ad3 subs r3, r2, r3 80a149e: b2db uxtb r3, r3 80a14a0: 3330 adds r3, #48 ; 0x30 80a14a2: b2db uxtb r3, r3 80a14a4: 74fb strb r3, [r7, #19] BSP_LCD_DisplayStringAt(295, 52, str, RIGHT_MODE); 80a14a6: f107 020c add.w r2, r7, #12 80a14aa: 2302 movs r3, #2 80a14ac: 2134 movs r1, #52 ; 0x34 80a14ae: f240 1027 movw r0, #295 ; 0x127 80a14b2: f7b3 ff71 bl 8055398 DrawDetectorType(); 80a14b6: f7f8 fcf5 bl 8099ea4 if(ReadFileData.Fval.fl != -1.0f) 80a14ba: 4b57 ldr r3, [pc, #348] ; (80a1618 ) 80a14bc: edd3 7a03 vldr s15, [r3, #12] 80a14c0: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a14c4: eef4 7a47 vcmp.f32 s15, s14 80a14c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a14cc: f000 80fc beq.w 80a16c8 DrawImage(&bmf, 100, 57+3); 80a14d0: 223c movs r2, #60 ; 0x3c 80a14d2: 2164 movs r1, #100 ; 0x64 80a14d4: 4851 ldr r0, [pc, #324] ; (80a161c ) 80a14d6: f7b4 fd8d bl 8055ff4 BSP_LCD_SetFont(&Font15); 80a14da: 4851 ldr r0, [pc, #324] ; (80a1620 ) 80a14dc: f7b3 fed2 bl 8055284 f = ReadFileData.Fval.fl; 80a14e0: 4b4d ldr r3, [pc, #308] ; (80a1618 ) 80a14e2: 68db ldr r3, [r3, #12] 80a14e4: 647b str r3, [r7, #68] ; 0x44 LCD_SetColors(LCD_COLOR_WHITE/*0xFFFBFF1C*/, LCD_COLOR_BLACK); 80a14e6: 4947 ldr r1, [pc, #284] ; (80a1604 ) 80a14e8: f04f 30ff mov.w r0, #4294967295 80a14ec: f7b3 fe8e bl 805520c memset(str, 0, sizeof(str)); 80a14f0: f107 030c add.w r3, r7, #12 80a14f4: 2228 movs r2, #40 ; 0x28 80a14f6: 2100 movs r1, #0 80a14f8: 4618 mov r0, r3 80a14fa: f030 fd53 bl 80d1fa4 if(f >= 1000.0f) 80a14fe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1502: ed9f 7a4f vldr s14, [pc, #316] ; 80a1640 80a1506: eef4 7ac7 vcmpe.f32 s15, s14 80a150a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a150e: db3b blt.n 80a1588 f *= 0.001f; 80a1510: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1514: ed9f 7a43 vldr s14, [pc, #268] ; 80a1624 80a1518: ee67 7a87 vmul.f32 s15, s15, s14 80a151c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -4); 80a1520: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1524: f06f 0003 mvn.w r0, #3 80a1528: eeb0 0a67 vmov.f32 s0, s15 80a152c: f7c6 fe38 bl 80681a0 80a1530: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 80a1532: f107 030c add.w r3, r7, #12 80a1536: 6e39 ldr r1, [r7, #96] ; 0x60 80a1538: 4618 mov r0, r3 80a153a: f030 fe50 bl 80d21de if(pardata.LANG == RUS) strcat(str, " êÃö"); 80a153e: 4b3a ldr r3, [pc, #232] ; (80a1628 ) 80a1540: 7b1b ldrb r3, [r3, #12] 80a1542: b2db uxtb r3, r3 80a1544: 2b00 cmp r3, #0 80a1546: d10f bne.n 80a1568 80a1548: f107 030c add.w r3, r7, #12 80a154c: 4618 mov r0, r3 80a154e: f77e fee1 bl 8020314 80a1552: 4603 mov r3, r0 80a1554: 461a mov r2, r3 80a1556: f107 030c add.w r3, r7, #12 80a155a: 4413 add r3, r2 80a155c: 4a33 ldr r2, [pc, #204] ; (80a162c ) 80a155e: 6810 ldr r0, [r2, #0] 80a1560: 6018 str r0, [r3, #0] 80a1562: 7912 ldrb r2, [r2, #4] 80a1564: 711a strb r2, [r3, #4] 80a1566: e0a8 b.n 80a16ba else strcat(str, " kHz"); 80a1568: f107 030c add.w r3, r7, #12 80a156c: 4618 mov r0, r3 80a156e: f77e fed1 bl 8020314 80a1572: 4603 mov r3, r0 80a1574: 461a mov r2, r3 80a1576: f107 030c add.w r3, r7, #12 80a157a: 4413 add r3, r2 80a157c: 4a2c ldr r2, [pc, #176] ; (80a1630 ) 80a157e: 6810 ldr r0, [r2, #0] 80a1580: 6018 str r0, [r3, #0] 80a1582: 7912 ldrb r2, [r2, #4] 80a1584: 711a strb r2, [r3, #4] 80a1586: e098 b.n 80a16ba if(f >= 0.1f) 80a1588: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a158c: ed9f 7a29 vldr s14, [pc, #164] ; 80a1634 80a1590: eef4 7ac7 vcmpe.f32 s15, s14 80a1594: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1598: db54 blt.n 80a1644 p8 = (char *) FloatToASCII(f, -3); 80a159a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a159e: f06f 0002 mvn.w r0, #2 80a15a2: eeb0 0a67 vmov.f32 s0, s15 80a15a6: f7c6 fdfb bl 80681a0 80a15aa: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 80a15ac: f107 030c add.w r3, r7, #12 80a15b0: 6e39 ldr r1, [r7, #96] ; 0x60 80a15b2: 4618 mov r0, r3 80a15b4: f030 fe13 bl 80d21de if(pardata.LANG == RUS) strcat(str, " Ãö"); 80a15b8: 4b1b ldr r3, [pc, #108] ; (80a1628 ) 80a15ba: 7b1b ldrb r3, [r3, #12] 80a15bc: b2db uxtb r3, r3 80a15be: 2b00 cmp r3, #0 80a15c0: d10d bne.n 80a15de 80a15c2: f107 030c add.w r3, r7, #12 80a15c6: 4618 mov r0, r3 80a15c8: f77e fea4 bl 8020314 80a15cc: 4603 mov r3, r0 80a15ce: 461a mov r2, r3 80a15d0: f107 030c add.w r3, r7, #12 80a15d4: 4413 add r3, r2 80a15d6: 4a18 ldr r2, [pc, #96] ; (80a1638 ) 80a15d8: 6810 ldr r0, [r2, #0] 80a15da: 6018 str r0, [r3, #0] 80a15dc: e06d b.n 80a16ba else strcat(str, " Hz"); 80a15de: f107 030c add.w r3, r7, #12 80a15e2: 4618 mov r0, r3 80a15e4: f77e fe96 bl 8020314 80a15e8: 4603 mov r3, r0 80a15ea: 461a mov r2, r3 80a15ec: f107 030c add.w r3, r7, #12 80a15f0: 4413 add r3, r2 80a15f2: 4a12 ldr r2, [pc, #72] ; (80a163c ) 80a15f4: 6810 ldr r0, [r2, #0] 80a15f6: 6018 str r0, [r3, #0] 80a15f8: e05f b.n 80a16ba 80a15fa: bf00 nop 80a15fc: 0814e4ac .word 0x0814e4ac 80a1600: 20020060 .word 0x20020060 80a1604: ff0a0f1f .word 0xff0a0f1f 80a1608: ffd3d3d3 .word 0xffd3d3d3 80a160c: 20022640 .word 0x20022640 80a1610: cccccccd .word 0xcccccccd 80a1614: 200229c0 .word 0x200229c0 80a1618: 200226f0 .word 0x200226f0 80a161c: 0816421c .word 0x0816421c 80a1620: 20020040 .word 0x20020040 80a1624: 3a83126f .word 0x3a83126f 80a1628: 20023eb8 .word 0x20023eb8 80a162c: 080d7480 .word 0x080d7480 80a1630: 080d7488 .word 0x080d7488 80a1634: 3dcccccd .word 0x3dcccccd 80a1638: 080d7490 .word 0x080d7490 80a163c: 080d7494 .word 0x080d7494 80a1640: 447a0000 .word 0x447a0000 f *= 1000.0f; 80a1644: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1648: ed1f 7a03 vldr s14, [pc, #-12] ; 80a1640 80a164c: ee67 7a87 vmul.f32 s15, s15, s14 80a1650: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -3); 80a1654: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1658: f06f 0002 mvn.w r0, #2 80a165c: eeb0 0a67 vmov.f32 s0, s15 80a1660: f7c6 fd9e bl 80681a0 80a1664: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 80a1666: f107 030c add.w r3, r7, #12 80a166a: 6e39 ldr r1, [r7, #96] ; 0x60 80a166c: 4618 mov r0, r3 80a166e: f030 fdb6 bl 80d21de if(pardata.LANG == RUS) strcat(str, " ìÃö"); 80a1672: 4bcd ldr r3, [pc, #820] ; (80a19a8 ) 80a1674: 7b1b ldrb r3, [r3, #12] 80a1676: b2db uxtb r3, r3 80a1678: 2b00 cmp r3, #0 80a167a: d10f bne.n 80a169c 80a167c: f107 030c add.w r3, r7, #12 80a1680: 4618 mov r0, r3 80a1682: f77e fe47 bl 8020314 80a1686: 4603 mov r3, r0 80a1688: 461a mov r2, r3 80a168a: f107 030c add.w r3, r7, #12 80a168e: 4413 add r3, r2 80a1690: 4ac6 ldr r2, [pc, #792] ; (80a19ac ) 80a1692: 6810 ldr r0, [r2, #0] 80a1694: 6018 str r0, [r3, #0] 80a1696: 7912 ldrb r2, [r2, #4] 80a1698: 711a strb r2, [r3, #4] 80a169a: e00e b.n 80a16ba else strcat(str, " mHz"); 80a169c: f107 030c add.w r3, r7, #12 80a16a0: 4618 mov r0, r3 80a16a2: f77e fe37 bl 8020314 80a16a6: 4603 mov r3, r0 80a16a8: 461a mov r2, r3 80a16aa: f107 030c add.w r3, r7, #12 80a16ae: 4413 add r3, r2 80a16b0: 4abf ldr r2, [pc, #764] ; (80a19b0 ) 80a16b2: 6810 ldr r0, [r2, #0] 80a16b4: 6018 str r0, [r3, #0] 80a16b6: 7912 ldrb r2, [r2, #4] 80a16b8: 711a strb r2, [r3, #4] BSP_LCD_DisplayStringAt(132, 61+3, str, LEFT_MODE); 80a16ba: f107 020c add.w r2, r7, #12 80a16be: 2303 movs r3, #3 80a16c0: 2140 movs r1, #64 ; 0x40 80a16c2: 2084 movs r0, #132 ; 0x84 80a16c4: f7b3 fe68 bl 8055398 if(log == false) // Åñëè â ìåòðè÷åñêèõ âåëè÷èíàõ 80a16c8: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80a16cc: f083 0301 eor.w r3, r3, #1 80a16d0: b2db uxtb r3, r3 80a16d2: 2b00 cmp r3, #0 80a16d4: f000 8582 beq.w 80a21dc for(ipr = ACC; ipr <= DIS; ipr++) 80a16d8: 2300 movs r3, #0 80a16da: 653b str r3, [r7, #80] ; 0x50 80a16dc: f000 bd78 b.w 80a21d0 if(ipr == ACC) f = ABS(ReadFileData.Aval.fl); 80a16e0: 6d3b ldr r3, [r7, #80] ; 0x50 80a16e2: 2b00 cmp r3, #0 80a16e4: d113 bne.n 80a170e 80a16e6: 4bb3 ldr r3, [pc, #716] ; (80a19b4 ) 80a16e8: edd3 7a00 vldr s15, [r3] 80a16ec: eef5 7ac0 vcmpe.f32 s15, #0.0 80a16f0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a16f4: dd03 ble.n 80a16fe 80a16f6: 4baf ldr r3, [pc, #700] ; (80a19b4 ) 80a16f8: edd3 7a00 vldr s15, [r3] 80a16fc: e004 b.n 80a1708 80a16fe: 4bad ldr r3, [pc, #692] ; (80a19b4 ) 80a1700: edd3 7a00 vldr s15, [r3] 80a1704: eef1 7a67 vneg.f32 s15, s15 80a1708: edc7 7a11 vstr s15, [r7, #68] ; 0x44 80a170c: e02c b.n 80a1768 else if(ipr == VEL) f = ABS(ReadFileData.Vval.fl); 80a170e: 6d3b ldr r3, [r7, #80] ; 0x50 80a1710: 2b01 cmp r3, #1 80a1712: d113 bne.n 80a173c 80a1714: 4ba7 ldr r3, [pc, #668] ; (80a19b4 ) 80a1716: edd3 7a01 vldr s15, [r3, #4] 80a171a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a171e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1722: dd03 ble.n 80a172c 80a1724: 4ba3 ldr r3, [pc, #652] ; (80a19b4 ) 80a1726: edd3 7a01 vldr s15, [r3, #4] 80a172a: e004 b.n 80a1736 80a172c: 4ba1 ldr r3, [pc, #644] ; (80a19b4 ) 80a172e: edd3 7a01 vldr s15, [r3, #4] 80a1732: eef1 7a67 vneg.f32 s15, s15 80a1736: edc7 7a11 vstr s15, [r7, #68] ; 0x44 80a173a: e015 b.n 80a1768 else if(ipr == DIS) f = ABS(ReadFileData.Sval.fl); 80a173c: 6d3b ldr r3, [r7, #80] ; 0x50 80a173e: 2b02 cmp r3, #2 80a1740: d112 bne.n 80a1768 80a1742: 4b9c ldr r3, [pc, #624] ; (80a19b4 ) 80a1744: edd3 7a02 vldr s15, [r3, #8] 80a1748: eef5 7ac0 vcmpe.f32 s15, #0.0 80a174c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1750: dd03 ble.n 80a175a 80a1752: 4b98 ldr r3, [pc, #608] ; (80a19b4 ) 80a1754: edd3 7a02 vldr s15, [r3, #8] 80a1758: e004 b.n 80a1764 80a175a: 4b96 ldr r3, [pc, #600] ; (80a19b4 ) 80a175c: edd3 7a02 vldr s15, [r3, #8] 80a1760: eef1 7a67 vneg.f32 s15, s15 80a1764: edc7 7a11 vstr s15, [r7, #68] ; 0x44 memset(str, 0, sizeof(str)); 80a1768: f107 030c add.w r3, r7, #12 80a176c: 2228 movs r2, #40 ; 0x28 80a176e: 2100 movs r1, #0 80a1770: 4618 mov r0, r3 80a1772: f030 fc17 bl 80d1fa4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80a1776: 4990 ldr r1, [pc, #576] ; (80a19b8 ) 80a1778: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80a177c: f7b3 fd46 bl 805520c BSP_LCD_SetFont(&Font12); 80a1780: 488e ldr r0, [pc, #568] ; (80a19bc ) 80a1782: f7b3 fd7f bl 8055284 if(ipr < DIS) 80a1786: 6d3b ldr r3, [r7, #80] ; 0x50 80a1788: 2b01 cmp r3, #1 80a178a: f200 80af bhi.w 80a18ec if(f < 10.0f) 80a178e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1792: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a1796: eef4 7ac7 vcmpe.f32 s15, s14 80a179a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a179e: d513 bpl.n 80a17c8 k = (uint32_t) (roundf(f * 10000)); 80a17a0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a17a4: ed9f 7a8a vldr s14, [pc, #552] ; 80a19d0 80a17a8: ee67 7a87 vmul.f32 s15, s15, s14 80a17ac: eeb0 0a67 vmov.f32 s0, s15 80a17b0: f02e f9f8 bl 80cfba4 80a17b4: eef0 7a40 vmov.f32 s15, s0 80a17b8: eefc 7ae7 vcvt.u32.f32 s15, s15 80a17bc: ee17 3a90 vmov r3, s15 80a17c0: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a17c2: 2301 movs r3, #1 80a17c4: 657b str r3, [r7, #84] ; 0x54 80a17c6: e1cc b.n 80a1b62 if(f < 100.0f) 80a17c8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a17cc: ed9f 7a7c vldr s14, [pc, #496] ; 80a19c0 80a17d0: eef4 7ac7 vcmpe.f32 s15, s14 80a17d4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a17d8: d513 bpl.n 80a1802 k = (uint32_t) (roundf(f * 1000)); 80a17da: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a17de: ed9f 7a79 vldr s14, [pc, #484] ; 80a19c4 80a17e2: ee67 7a87 vmul.f32 s15, s15, s14 80a17e6: eeb0 0a67 vmov.f32 s0, s15 80a17ea: f02e f9db bl 80cfba4 80a17ee: eef0 7a40 vmov.f32 s15, s0 80a17f2: eefc 7ae7 vcvt.u32.f32 s15, s15 80a17f6: ee17 3a90 vmov r3, s15 80a17fa: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a17fc: 2302 movs r3, #2 80a17fe: 657b str r3, [r7, #84] ; 0x54 80a1800: e1af b.n 80a1b62 if(f < 1000.0f) 80a1802: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1806: ed9f 7a6f vldr s14, [pc, #444] ; 80a19c4 80a180a: eef4 7ac7 vcmpe.f32 s15, s14 80a180e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1812: d513 bpl.n 80a183c k = (uint32_t) (roundf(f * 100)); 80a1814: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1818: ed9f 7a69 vldr s14, [pc, #420] ; 80a19c0 80a181c: ee67 7a87 vmul.f32 s15, s15, s14 80a1820: eeb0 0a67 vmov.f32 s0, s15 80a1824: f02e f9be bl 80cfba4 80a1828: eef0 7a40 vmov.f32 s15, s0 80a182c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1830: ee17 3a90 vmov r3, s15 80a1834: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a1836: 2303 movs r3, #3 80a1838: 657b str r3, [r7, #84] ; 0x54 80a183a: e192 b.n 80a1b62 if(f < 10000.0f) 80a183c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1840: ed9f 7a63 vldr s14, [pc, #396] ; 80a19d0 80a1844: eef4 7ac7 vcmpe.f32 s15, s14 80a1848: eef1 fa10 vmrs APSR_nzcv, fpscr 80a184c: d513 bpl.n 80a1876 k = (uint32_t) (roundf(f * 10)); 80a184e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1852: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a1856: ee67 7a87 vmul.f32 s15, s15, s14 80a185a: eeb0 0a67 vmov.f32 s0, s15 80a185e: f02e f9a1 bl 80cfba4 80a1862: eef0 7a40 vmov.f32 s15, s0 80a1866: eefc 7ae7 vcvt.u32.f32 s15, s15 80a186a: ee17 3a90 vmov r3, s15 80a186e: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a1870: 2304 movs r3, #4 80a1872: 657b str r3, [r7, #84] ; 0x54 80a1874: e175 b.n 80a1b62 if(f < 100000.0f) 80a1876: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a187a: ed9f 7a56 vldr s14, [pc, #344] ; 80a19d4 80a187e: eef4 7ac7 vcmpe.f32 s15, s14 80a1882: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1886: d515 bpl.n 80a18b4 k = (uint32_t) (roundf(f)); 80a1888: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a188c: eeb0 0a67 vmov.f32 s0, s15 80a1890: f02e f988 bl 80cfba4 80a1894: eef0 7a40 vmov.f32 s15, s0 80a1898: eefc 7ae7 vcvt.u32.f32 s15, s15 80a189c: ee17 3a90 vmov r3, s15 80a18a0: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a18a2: 6dbb ldr r3, [r7, #88] ; 0x58 80a18a4: 4a48 ldr r2, [pc, #288] ; (80a19c8 ) 80a18a6: 4293 cmp r3, r2 80a18a8: d901 bls.n 80a18ae k = 99999; 80a18aa: 4b47 ldr r3, [pc, #284] ; (80a19c8 ) 80a18ac: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a18ae: 2300 movs r3, #0 80a18b0: 657b str r3, [r7, #84] ; 0x54 80a18b2: e156 b.n 80a1b62 if(f >= 100000.0f) 80a18b4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a18b8: ed9f 7a46 vldr s14, [pc, #280] ; 80a19d4 80a18bc: eef4 7ac7 vcmpe.f32 s15, s14 80a18c0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a18c4: f2c0 814d blt.w 80a1b62 f = 99999.0f; 80a18c8: 4b40 ldr r3, [pc, #256] ; (80a19cc ) 80a18ca: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a18cc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a18d0: eeb0 0a67 vmov.f32 s0, s15 80a18d4: f02e f966 bl 80cfba4 80a18d8: eef0 7a40 vmov.f32 s15, s0 80a18dc: eefc 7ae7 vcvt.u32.f32 s15, s15 80a18e0: ee17 3a90 vmov r3, s15 80a18e4: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a18e6: 2300 movs r3, #0 80a18e8: 657b str r3, [r7, #84] ; 0x54 80a18ea: e13a b.n 80a1b62 if(f < 10.0f) 80a18ec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a18f0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a18f4: eef4 7ac7 vcmpe.f32 s15, s14 80a18f8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a18fc: d515 bpl.n 80a192a k = (uint32_t) (roundf(f * 10000)); 80a18fe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1902: ed9f 7a33 vldr s14, [pc, #204] ; 80a19d0 80a1906: ee67 7a87 vmul.f32 s15, s15, s14 80a190a: eeb0 0a67 vmov.f32 s0, s15 80a190e: f02e f949 bl 80cfba4 80a1912: eef0 7a40 vmov.f32 s15, s0 80a1916: eefc 7ae7 vcvt.u32.f32 s15, s15 80a191a: ee17 3a90 vmov r3, s15 80a191e: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a1920: 2301 movs r3, #1 80a1922: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a1924: 2300 movs r3, #0 80a1926: 64fb str r3, [r7, #76] ; 0x4c 80a1928: e11b b.n 80a1b62 if(f < 100.0f) 80a192a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a192e: ed9f 7a24 vldr s14, [pc, #144] ; 80a19c0 80a1932: eef4 7ac7 vcmpe.f32 s15, s14 80a1936: eef1 fa10 vmrs APSR_nzcv, fpscr 80a193a: d515 bpl.n 80a1968 k = (uint32_t) (roundf(f * 1000)); 80a193c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1940: ed9f 7a20 vldr s14, [pc, #128] ; 80a19c4 80a1944: ee67 7a87 vmul.f32 s15, s15, s14 80a1948: eeb0 0a67 vmov.f32 s0, s15 80a194c: f02e f92a bl 80cfba4 80a1950: eef0 7a40 vmov.f32 s15, s0 80a1954: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1958: ee17 3a90 vmov r3, s15 80a195c: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a195e: 2302 movs r3, #2 80a1960: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a1962: 2300 movs r3, #0 80a1964: 64fb str r3, [r7, #76] ; 0x4c 80a1966: e0fc b.n 80a1b62 if(f < 1000.0f) 80a1968: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a196c: ed9f 7a15 vldr s14, [pc, #84] ; 80a19c4 80a1970: eef4 7ac7 vcmpe.f32 s15, s14 80a1974: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1978: d53a bpl.n 80a19f0 k = (uint32_t) (roundf(f * 100)); 80a197a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a197e: ed9f 7a10 vldr s14, [pc, #64] ; 80a19c0 80a1982: ee67 7a87 vmul.f32 s15, s15, s14 80a1986: eeb0 0a67 vmov.f32 s0, s15 80a198a: f02e f90b bl 80cfba4 80a198e: eef0 7a40 vmov.f32 s15, s0 80a1992: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1996: ee17 3a90 vmov r3, s15 80a199a: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a199c: 2303 movs r3, #3 80a199e: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a19a0: 2300 movs r3, #0 80a19a2: 64fb str r3, [r7, #76] ; 0x4c 80a19a4: e0dd b.n 80a1b62 80a19a6: bf00 nop 80a19a8: 20023eb8 .word 0x20023eb8 80a19ac: 080d7498 .word 0x080d7498 80a19b0: 080d74a0 .word 0x080d74a0 80a19b4: 200226f0 .word 0x200226f0 80a19b8: ff0a0f1f .word 0xff0a0f1f 80a19bc: 20020038 .word 0x20020038 80a19c0: 42c80000 .word 0x42c80000 80a19c4: 447a0000 .word 0x447a0000 80a19c8: 0001869f .word 0x0001869f 80a19cc: 47c34f80 .word 0x47c34f80 80a19d0: 461c4000 .word 0x461c4000 80a19d4: 47c35000 .word 0x47c35000 80a19d8: 49742400 .word 0x49742400 80a19dc: 3dcccccd .word 0x3dcccccd 80a19e0: 4b189680 .word 0x4b189680 80a19e4: 3c23d70a .word 0x3c23d70a 80a19e8: 4cbebc20 .word 0x4cbebc20 80a19ec: 3a83126f .word 0x3a83126f if(f < 10000.0f) 80a19f0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a19f4: ed1f 7a0a vldr s14, [pc, #-40] ; 80a19d0 80a19f8: eef4 7ac7 vcmpe.f32 s15, s14 80a19fc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1a00: d515 bpl.n 80a1a2e k = (uint32_t) (roundf(f * 10)); 80a1a02: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1a06: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a1a0a: ee67 7a87 vmul.f32 s15, s15, s14 80a1a0e: eeb0 0a67 vmov.f32 s0, s15 80a1a12: f02e f8c7 bl 80cfba4 80a1a16: eef0 7a40 vmov.f32 s15, s0 80a1a1a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1a1e: ee17 3a90 vmov r3, s15 80a1a22: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a1a24: 2301 movs r3, #1 80a1a26: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1a28: 2301 movs r3, #1 80a1a2a: 64fb str r3, [r7, #76] ; 0x4c 80a1a2c: e099 b.n 80a1b62 if(f < 100000.0f) 80a1a2e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1a32: ed1f 7a18 vldr s14, [pc, #-96] ; 80a19d4 80a1a36: eef4 7ac7 vcmpe.f32 s15, s14 80a1a3a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1a3e: d511 bpl.n 80a1a64 k = (uint32_t) (roundf(f)); 80a1a40: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1a44: eeb0 0a67 vmov.f32 s0, s15 80a1a48: f02e f8ac bl 80cfba4 80a1a4c: eef0 7a40 vmov.f32 s15, s0 80a1a50: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1a54: ee17 3a90 vmov r3, s15 80a1a58: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a1a5a: 2302 movs r3, #2 80a1a5c: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1a5e: 2301 movs r3, #1 80a1a60: 64fb str r3, [r7, #76] ; 0x4c 80a1a62: e07e b.n 80a1b62 if(f < 1000000.0f) 80a1a64: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1a68: ed1f 7a25 vldr s14, [pc, #-148] ; 80a19d8 80a1a6c: eef4 7ac7 vcmpe.f32 s15, s14 80a1a70: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1a74: d515 bpl.n 80a1aa2 k = (uint32_t) (roundf(f * 0.1f)); 80a1a76: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1a7a: ed1f 7a28 vldr s14, [pc, #-160] ; 80a19dc 80a1a7e: ee67 7a87 vmul.f32 s15, s15, s14 80a1a82: eeb0 0a67 vmov.f32 s0, s15 80a1a86: f02e f88d bl 80cfba4 80a1a8a: eef0 7a40 vmov.f32 s15, s0 80a1a8e: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1a92: ee17 3a90 vmov r3, s15 80a1a96: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a1a98: 2303 movs r3, #3 80a1a9a: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1a9c: 2301 movs r3, #1 80a1a9e: 64fb str r3, [r7, #76] ; 0x4c 80a1aa0: e05f b.n 80a1b62 if(f < 10000000.0f) 80a1aa2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1aa6: ed1f 7a32 vldr s14, [pc, #-200] ; 80a19e0 80a1aaa: eef4 7ac7 vcmpe.f32 s15, s14 80a1aae: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1ab2: d515 bpl.n 80a1ae0 k = (uint32_t) (roundf(f * 0.01f)); 80a1ab4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1ab8: ed1f 7a36 vldr s14, [pc, #-216] ; 80a19e4 80a1abc: ee67 7a87 vmul.f32 s15, s15, s14 80a1ac0: eeb0 0a67 vmov.f32 s0, s15 80a1ac4: f02e f86e bl 80cfba4 80a1ac8: eef0 7a40 vmov.f32 s15, s0 80a1acc: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1ad0: ee17 3a90 vmov r3, s15 80a1ad4: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a1ad6: 2304 movs r3, #4 80a1ad8: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1ada: 2301 movs r3, #1 80a1adc: 64fb str r3, [r7, #76] ; 0x4c 80a1ade: e040 b.n 80a1b62 if(f < 100000000.0f) 80a1ae0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1ae4: ed1f 7a40 vldr s14, [pc, #-256] ; 80a19e8 80a1ae8: eef4 7ac7 vcmpe.f32 s15, s14 80a1aec: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1af0: d51b bpl.n 80a1b2a k = (uint32_t) (roundf(f * 0.001f)); 80a1af2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1af6: ed1f 7a43 vldr s14, [pc, #-268] ; 80a19ec 80a1afa: ee67 7a87 vmul.f32 s15, s15, s14 80a1afe: eeb0 0a67 vmov.f32 s0, s15 80a1b02: f02e f84f bl 80cfba4 80a1b06: eef0 7a40 vmov.f32 s15, s0 80a1b0a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1b0e: ee17 3a90 vmov r3, s15 80a1b12: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a1b14: 6dbb ldr r3, [r7, #88] ; 0x58 80a1b16: 4abc ldr r2, [pc, #752] ; (80a1e08 ) 80a1b18: 4293 cmp r3, r2 80a1b1a: d901 bls.n 80a1b20 k = 99999; 80a1b1c: 4bba ldr r3, [pc, #744] ; (80a1e08 ) 80a1b1e: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a1b20: 2300 movs r3, #0 80a1b22: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1b24: 2301 movs r3, #1 80a1b26: 64fb str r3, [r7, #76] ; 0x4c 80a1b28: e01b b.n 80a1b62 if(f >= 100000000.0f) 80a1b2a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1b2e: ed9f 7ab7 vldr s14, [pc, #732] ; 80a1e0c 80a1b32: eef4 7ac7 vcmpe.f32 s15, s14 80a1b36: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1b3a: db12 blt.n 80a1b62 f = 99999.0f; 80a1b3c: 4bb4 ldr r3, [pc, #720] ; (80a1e10 ) 80a1b3e: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a1b40: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1b44: eeb0 0a67 vmov.f32 s0, s15 80a1b48: f02e f82c bl 80cfba4 80a1b4c: eef0 7a40 vmov.f32 s15, s0 80a1b50: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1b54: ee17 3a90 vmov r3, s15 80a1b58: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a1b5a: 2300 movs r3, #0 80a1b5c: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1b5e: 2301 movs r3, #1 80a1b60: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 80a1b62: 6d3a ldr r2, [r7, #80] ; 0x50 80a1b64: 6dbb ldr r3, [r7, #88] ; 0x58 80a1b66: 49ab ldr r1, [pc, #684] ; (80a1e14 ) 80a1b68: fba1 1303 umull r1, r3, r1, r3 80a1b6c: 0b5b lsrs r3, r3, #13 80a1b6e: b2d9 uxtb r1, r3 80a1b70: 4613 mov r3, r2 80a1b72: 009b lsls r3, r3, #2 80a1b74: 4413 add r3, r2 80a1b76: f107 0268 add.w r2, r7, #104 ; 0x68 80a1b7a: 4413 add r3, r2 80a1b7c: 3b34 subs r3, #52 ; 0x34 80a1b7e: 460a mov r2, r1 80a1b80: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 80a1b82: 6d39 ldr r1, [r7, #80] ; 0x50 80a1b84: 6dba ldr r2, [r7, #88] ; 0x58 80a1b86: 4ba3 ldr r3, [pc, #652] ; (80a1e14 ) 80a1b88: fba3 0302 umull r0, r3, r3, r2 80a1b8c: 0b5b lsrs r3, r3, #13 80a1b8e: f242 7010 movw r0, #10000 ; 0x2710 80a1b92: fb00 f303 mul.w r3, r0, r3 80a1b96: 1ad3 subs r3, r2, r3 80a1b98: 4a9f ldr r2, [pc, #636] ; (80a1e18 ) 80a1b9a: fba2 2303 umull r2, r3, r2, r3 80a1b9e: 099b lsrs r3, r3, #6 80a1ba0: b2da uxtb r2, r3 80a1ba2: 460b mov r3, r1 80a1ba4: 009b lsls r3, r3, #2 80a1ba6: 440b add r3, r1 80a1ba8: f107 0168 add.w r1, r7, #104 ; 0x68 80a1bac: 440b add r3, r1 80a1bae: 3b33 subs r3, #51 ; 0x33 80a1bb0: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 80a1bb2: 6d39 ldr r1, [r7, #80] ; 0x50 80a1bb4: 6dba ldr r2, [r7, #88] ; 0x58 80a1bb6: 4b97 ldr r3, [pc, #604] ; (80a1e14 ) 80a1bb8: fba3 0302 umull r0, r3, r3, r2 80a1bbc: 0b5b lsrs r3, r3, #13 80a1bbe: f242 7010 movw r0, #10000 ; 0x2710 80a1bc2: fb00 f303 mul.w r3, r0, r3 80a1bc6: 1ad3 subs r3, r2, r3 80a1bc8: 4a93 ldr r2, [pc, #588] ; (80a1e18 ) 80a1bca: fba2 0203 umull r0, r2, r2, r3 80a1bce: 0992 lsrs r2, r2, #6 80a1bd0: f44f 707a mov.w r0, #1000 ; 0x3e8 80a1bd4: fb00 f202 mul.w r2, r0, r2 80a1bd8: 1a9a subs r2, r3, r2 80a1bda: 4b90 ldr r3, [pc, #576] ; (80a1e1c ) 80a1bdc: fba3 2302 umull r2, r3, r3, r2 80a1be0: 095b lsrs r3, r3, #5 80a1be2: b2da uxtb r2, r3 80a1be4: 460b mov r3, r1 80a1be6: 009b lsls r3, r3, #2 80a1be8: 440b add r3, r1 80a1bea: f107 0168 add.w r1, r7, #104 ; 0x68 80a1bee: 440b add r3, r1 80a1bf0: 3b32 subs r3, #50 ; 0x32 80a1bf2: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 80a1bf4: 6d39 ldr r1, [r7, #80] ; 0x50 80a1bf6: 6dbb ldr r3, [r7, #88] ; 0x58 80a1bf8: 4a86 ldr r2, [pc, #536] ; (80a1e14 ) 80a1bfa: fba2 0203 umull r0, r2, r2, r3 80a1bfe: 0b52 lsrs r2, r2, #13 80a1c00: f242 7010 movw r0, #10000 ; 0x2710 80a1c04: fb00 f202 mul.w r2, r0, r2 80a1c08: 1a9a subs r2, r3, r2 80a1c0a: 4b83 ldr r3, [pc, #524] ; (80a1e18 ) 80a1c0c: fba3 0302 umull r0, r3, r3, r2 80a1c10: 099b lsrs r3, r3, #6 80a1c12: f44f 707a mov.w r0, #1000 ; 0x3e8 80a1c16: fb00 f303 mul.w r3, r0, r3 80a1c1a: 1ad3 subs r3, r2, r3 80a1c1c: 4a7f ldr r2, [pc, #508] ; (80a1e1c ) 80a1c1e: fba2 0203 umull r0, r2, r2, r3 80a1c22: 0952 lsrs r2, r2, #5 80a1c24: 2064 movs r0, #100 ; 0x64 80a1c26: fb00 f202 mul.w r2, r0, r2 80a1c2a: 1a9a subs r2, r3, r2 80a1c2c: 4b7c ldr r3, [pc, #496] ; (80a1e20 ) 80a1c2e: fba3 2302 umull r2, r3, r3, r2 80a1c32: 08db lsrs r3, r3, #3 80a1c34: b2da uxtb r2, r3 80a1c36: 460b mov r3, r1 80a1c38: 009b lsls r3, r3, #2 80a1c3a: 440b add r3, r1 80a1c3c: f107 0168 add.w r1, r7, #104 ; 0x68 80a1c40: 440b add r3, r1 80a1c42: 3b31 subs r3, #49 ; 0x31 80a1c44: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 80a1c46: 6d38 ldr r0, [r7, #80] ; 0x50 80a1c48: 6dbb ldr r3, [r7, #88] ; 0x58 80a1c4a: 4a72 ldr r2, [pc, #456] ; (80a1e14 ) 80a1c4c: fba2 1203 umull r1, r2, r2, r3 80a1c50: 0b52 lsrs r2, r2, #13 80a1c52: f242 7110 movw r1, #10000 ; 0x2710 80a1c56: fb01 f202 mul.w r2, r1, r2 80a1c5a: 1a9a subs r2, r3, r2 80a1c5c: 4b6e ldr r3, [pc, #440] ; (80a1e18 ) 80a1c5e: fba3 1302 umull r1, r3, r3, r2 80a1c62: 099b lsrs r3, r3, #6 80a1c64: f44f 717a mov.w r1, #1000 ; 0x3e8 80a1c68: fb01 f303 mul.w r3, r1, r3 80a1c6c: 1ad3 subs r3, r2, r3 80a1c6e: 4a6b ldr r2, [pc, #428] ; (80a1e1c ) 80a1c70: fba2 1203 umull r1, r2, r2, r3 80a1c74: 0952 lsrs r2, r2, #5 80a1c76: 2164 movs r1, #100 ; 0x64 80a1c78: fb01 f202 mul.w r2, r1, r2 80a1c7c: 1a9a subs r2, r3, r2 80a1c7e: 4b68 ldr r3, [pc, #416] ; (80a1e20 ) 80a1c80: fba3 1302 umull r1, r3, r3, r2 80a1c84: 08d9 lsrs r1, r3, #3 80a1c86: 460b mov r3, r1 80a1c88: 009b lsls r3, r3, #2 80a1c8a: 440b add r3, r1 80a1c8c: 005b lsls r3, r3, #1 80a1c8e: 1ad1 subs r1, r2, r3 80a1c90: b2ca uxtb r2, r1 80a1c92: 4603 mov r3, r0 80a1c94: 009b lsls r3, r3, #2 80a1c96: 4403 add r3, r0 80a1c98: f107 0168 add.w r1, r7, #104 ; 0x68 80a1c9c: 440b add r3, r1 80a1c9e: 3b30 subs r3, #48 ; 0x30 80a1ca0: 701a strb r2, [r3, #0] if(ipr == ACC) 80a1ca2: 6d3b ldr r3, [r7, #80] ; 0x50 80a1ca4: 2b00 cmp r3, #0 80a1ca6: f040 80c9 bne.w 80a1e3c if(!t) 80a1caa: 6d7b ldr r3, [r7, #84] ; 0x54 80a1cac: 2b00 cmp r3, #0 80a1cae: d126 bne.n 80a1cfe for(i = 0; i < 5; i++) 80a1cb0: 2300 movs r3, #0 80a1cb2: 65fb str r3, [r7, #92] ; 0x5c 80a1cb4: e01f b.n 80a1cf6 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a1cb6: 6d3a ldr r2, [r7, #80] ; 0x50 80a1cb8: 6df9 ldr r1, [r7, #92] ; 0x5c 80a1cba: 4613 mov r3, r2 80a1cbc: 009b lsls r3, r3, #2 80a1cbe: 4413 add r3, r2 80a1cc0: f107 0268 add.w r2, r7, #104 ; 0x68 80a1cc4: 4413 add r3, r2 80a1cc6: 440b add r3, r1 80a1cc8: 3b34 subs r3, #52 ; 0x34 80a1cca: 781b ldrb r3, [r3, #0] 80a1ccc: b2db uxtb r3, r3 80a1cce: 461a mov r2, r3 80a1cd0: 4b54 ldr r3, [pc, #336] ; (80a1e24 ) 80a1cd2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a1cd6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1cd8: b29b uxth r3, r3 80a1cda: 461a mov r2, r3 80a1cdc: 0112 lsls r2, r2, #4 80a1cde: 1ad3 subs r3, r2, r3 80a1ce0: 005b lsls r3, r3, #1 80a1ce2: b29b uxth r3, r3 80a1ce4: 335a adds r3, #90 ; 0x5a 80a1ce6: b29b uxth r3, r3 80a1ce8: 2256 movs r2, #86 ; 0x56 80a1cea: 4619 mov r1, r3 80a1cec: f7b4 f982 bl 8055ff4 for(i = 0; i < 5; i++) 80a1cf0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1cf2: 3301 adds r3, #1 80a1cf4: 65fb str r3, [r7, #92] ; 0x5c 80a1cf6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1cf8: 2b04 cmp r3, #4 80a1cfa: d9dc bls.n 80a1cb6 80a1cfc: e05a b.n 80a1db4 for(i = 0; i < t; i++) 80a1cfe: 2300 movs r3, #0 80a1d00: 65fb str r3, [r7, #92] ; 0x5c 80a1d02: e01f b.n 80a1d44 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a1d04: 6d3a ldr r2, [r7, #80] ; 0x50 80a1d06: 6df9 ldr r1, [r7, #92] ; 0x5c 80a1d08: 4613 mov r3, r2 80a1d0a: 009b lsls r3, r3, #2 80a1d0c: 4413 add r3, r2 80a1d0e: f107 0268 add.w r2, r7, #104 ; 0x68 80a1d12: 4413 add r3, r2 80a1d14: 440b add r3, r1 80a1d16: 3b34 subs r3, #52 ; 0x34 80a1d18: 781b ldrb r3, [r3, #0] 80a1d1a: b2db uxtb r3, r3 80a1d1c: 461a mov r2, r3 80a1d1e: 4b41 ldr r3, [pc, #260] ; (80a1e24 ) 80a1d20: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a1d24: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1d26: b29b uxth r3, r3 80a1d28: 461a mov r2, r3 80a1d2a: 0112 lsls r2, r2, #4 80a1d2c: 1ad3 subs r3, r2, r3 80a1d2e: 005b lsls r3, r3, #1 80a1d30: b29b uxth r3, r3 80a1d32: 335a adds r3, #90 ; 0x5a 80a1d34: b29b uxth r3, r3 80a1d36: 2256 movs r2, #86 ; 0x56 80a1d38: 4619 mov r1, r3 80a1d3a: f7b4 f95b bl 8055ff4 for(i = 0; i < t; i++) 80a1d3e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1d40: 3301 adds r3, #1 80a1d42: 65fb str r3, [r7, #92] ; 0x5c 80a1d44: 6dfa ldr r2, [r7, #92] ; 0x5c 80a1d46: 6d7b ldr r3, [r7, #84] ; 0x54 80a1d48: 429a cmp r2, r3 80a1d4a: d3db bcc.n 80a1d04 DrawImage(&bmgpt, 95 + 30*t, 92+18); 80a1d4c: 6d7b ldr r3, [r7, #84] ; 0x54 80a1d4e: b29b uxth r3, r3 80a1d50: 461a mov r2, r3 80a1d52: 0112 lsls r2, r2, #4 80a1d54: 1ad3 subs r3, r2, r3 80a1d56: 005b lsls r3, r3, #1 80a1d58: b29b uxth r3, r3 80a1d5a: 335f adds r3, #95 ; 0x5f 80a1d5c: b29b uxth r3, r3 80a1d5e: 226e movs r2, #110 ; 0x6e 80a1d60: 4619 mov r1, r3 80a1d62: 4831 ldr r0, [pc, #196] ; (80a1e28 ) 80a1d64: f7b4 f946 bl 8055ff4 for(i = t; i < 5; i++) 80a1d68: 6d7b ldr r3, [r7, #84] ; 0x54 80a1d6a: 65fb str r3, [r7, #92] ; 0x5c 80a1d6c: e01f b.n 80a1dae DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 80a1d6e: 6d3a ldr r2, [r7, #80] ; 0x50 80a1d70: 6df9 ldr r1, [r7, #92] ; 0x5c 80a1d72: 4613 mov r3, r2 80a1d74: 009b lsls r3, r3, #2 80a1d76: 4413 add r3, r2 80a1d78: f107 0268 add.w r2, r7, #104 ; 0x68 80a1d7c: 4413 add r3, r2 80a1d7e: 440b add r3, r1 80a1d80: 3b34 subs r3, #52 ; 0x34 80a1d82: 781b ldrb r3, [r3, #0] 80a1d84: b2db uxtb r3, r3 80a1d86: 461a mov r2, r3 80a1d88: 4b26 ldr r3, [pc, #152] ; (80a1e24 ) 80a1d8a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a1d8e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1d90: b29b uxth r3, r3 80a1d92: 461a mov r2, r3 80a1d94: 0112 lsls r2, r2, #4 80a1d96: 1ad3 subs r3, r2, r3 80a1d98: 005b lsls r3, r3, #1 80a1d9a: b29b uxth r3, r3 80a1d9c: 336e adds r3, #110 ; 0x6e 80a1d9e: b29b uxth r3, r3 80a1da0: 2256 movs r2, #86 ; 0x56 80a1da2: 4619 mov r1, r3 80a1da4: f7b4 f926 bl 8055ff4 for(i = t; i < 5; i++) 80a1da8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1daa: 3301 adds r3, #1 80a1dac: 65fb str r3, [r7, #92] ; 0x5c 80a1dae: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1db0: 2b04 cmp r3, #4 80a1db2: d9dc bls.n 80a1d6e if(ReadFileData.Aivs < 'E') 80a1db4: 4b1d ldr r3, [pc, #116] ; (80a1e2c ) 80a1db6: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a1dba: b2db uxtb r3, r3 80a1dbc: 2b44 cmp r3, #68 ; 0x44 80a1dbe: d80c bhi.n 80a1dda DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 80a1dc0: 4b1b ldr r3, [pc, #108] ; (80a1e30 ) 80a1dc2: 7b1b ldrb r3, [r3, #12] 80a1dc4: b2db uxtb r3, r3 80a1dc6: 461a mov r2, r3 80a1dc8: 4b1a ldr r3, [pc, #104] ; (80a1e34 ) 80a1dca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1dce: 225c movs r2, #92 ; 0x5c 80a1dd0: f240 1109 movw r1, #265 ; 0x109 80a1dd4: 4618 mov r0, r3 80a1dd6: f7b4 f90d bl 8055ff4 if(ReadFileData.Aivs == 'E') 80a1dda: 4b14 ldr r3, [pc, #80] ; (80a1e2c ) 80a1ddc: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a1de0: b2db uxtb r3, r3 80a1de2: 2b45 cmp r3, #69 ; 0x45 80a1de4: f040 81f1 bne.w 80a21ca if(ReadFileData.Vval.fl < 0.0f) { 80a1de8: 4b10 ldr r3, [pc, #64] ; (80a1e2c ) 80a1dea: edd3 7a01 vldr s15, [r3, #4] 80a1dee: eef5 7ac0 vcmpe.f32 s15, #0.0 80a1df2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1df6: f140 81e8 bpl.w 80a21ca DrawImage(&bmgminus, 78, 84+18); 80a1dfa: 2266 movs r2, #102 ; 0x66 80a1dfc: 214e movs r1, #78 ; 0x4e 80a1dfe: 480e ldr r0, [pc, #56] ; (80a1e38 ) 80a1e00: f7b4 f8f8 bl 8055ff4 80a1e04: e1e1 b.n 80a21ca 80a1e06: bf00 nop 80a1e08: 0001869f .word 0x0001869f 80a1e0c: 4cbebc20 .word 0x4cbebc20 80a1e10: 47c34f80 .word 0x47c34f80 80a1e14: d1b71759 .word 0xd1b71759 80a1e18: 10624dd3 .word 0x10624dd3 80a1e1c: 51eb851f .word 0x51eb851f 80a1e20: cccccccd .word 0xcccccccd 80a1e24: 20020124 .word 0x20020124 80a1e28: 0816e480 .word 0x0816e480 80a1e2c: 200226f0 .word 0x200226f0 80a1e30: 20023eb8 .word 0x20023eb8 80a1e34: 200200f4 .word 0x200200f4 80a1e38: 0816e3f4 .word 0x0816e3f4 if(ipr == VEL) 80a1e3c: 6d3b ldr r3, [r7, #80] ; 0x50 80a1e3e: 2b01 cmp r3, #1 80a1e40: f040 80ce bne.w 80a1fe0 if(ReadFileData.Vval.fl != -1.0f) 80a1e44: 4b9f ldr r3, [pc, #636] ; (80a20c4 ) 80a1e46: edd3 7a01 vldr s15, [r3, #4] 80a1e4a: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a1e4e: eef4 7a47 vcmp.f32 s15, s14 80a1e52: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1e56: f000 80ae beq.w 80a1fb6 if(!t) 80a1e5a: 6d7b ldr r3, [r7, #84] ; 0x54 80a1e5c: 2b00 cmp r3, #0 80a1e5e: d126 bne.n 80a1eae for(i = 0; i < 5; i++) 80a1e60: 2300 movs r3, #0 80a1e62: 65fb str r3, [r7, #92] ; 0x5c 80a1e64: e01f b.n 80a1ea6 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a1e66: 6d3a ldr r2, [r7, #80] ; 0x50 80a1e68: 6df9 ldr r1, [r7, #92] ; 0x5c 80a1e6a: 4613 mov r3, r2 80a1e6c: 009b lsls r3, r3, #2 80a1e6e: 4413 add r3, r2 80a1e70: f107 0268 add.w r2, r7, #104 ; 0x68 80a1e74: 4413 add r3, r2 80a1e76: 440b add r3, r1 80a1e78: 3b34 subs r3, #52 ; 0x34 80a1e7a: 781b ldrb r3, [r3, #0] 80a1e7c: b2db uxtb r3, r3 80a1e7e: 461a mov r2, r3 80a1e80: 4b91 ldr r3, [pc, #580] ; (80a20c8 ) 80a1e82: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a1e86: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1e88: b29b uxth r3, r3 80a1e8a: 461a mov r2, r3 80a1e8c: 0112 lsls r2, r2, #4 80a1e8e: 1ad3 subs r3, r2, r3 80a1e90: 005b lsls r3, r3, #1 80a1e92: b29b uxth r3, r3 80a1e94: 335a adds r3, #90 ; 0x5a 80a1e96: b29b uxth r3, r3 80a1e98: 2282 movs r2, #130 ; 0x82 80a1e9a: 4619 mov r1, r3 80a1e9c: f7b4 f8aa bl 8055ff4 for(i = 0; i < 5; i++) 80a1ea0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1ea2: 3301 adds r3, #1 80a1ea4: 65fb str r3, [r7, #92] ; 0x5c 80a1ea6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1ea8: 2b04 cmp r3, #4 80a1eaa: d9dc bls.n 80a1e66 80a1eac: e05a b.n 80a1f64 for(i = 0; i < t; i++) 80a1eae: 2300 movs r3, #0 80a1eb0: 65fb str r3, [r7, #92] ; 0x5c 80a1eb2: e01f b.n 80a1ef4 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a1eb4: 6d3a ldr r2, [r7, #80] ; 0x50 80a1eb6: 6df9 ldr r1, [r7, #92] ; 0x5c 80a1eb8: 4613 mov r3, r2 80a1eba: 009b lsls r3, r3, #2 80a1ebc: 4413 add r3, r2 80a1ebe: f107 0268 add.w r2, r7, #104 ; 0x68 80a1ec2: 4413 add r3, r2 80a1ec4: 440b add r3, r1 80a1ec6: 3b34 subs r3, #52 ; 0x34 80a1ec8: 781b ldrb r3, [r3, #0] 80a1eca: b2db uxtb r3, r3 80a1ecc: 461a mov r2, r3 80a1ece: 4b7e ldr r3, [pc, #504] ; (80a20c8 ) 80a1ed0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a1ed4: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1ed6: b29b uxth r3, r3 80a1ed8: 461a mov r2, r3 80a1eda: 0112 lsls r2, r2, #4 80a1edc: 1ad3 subs r3, r2, r3 80a1ede: 005b lsls r3, r3, #1 80a1ee0: b29b uxth r3, r3 80a1ee2: 335a adds r3, #90 ; 0x5a 80a1ee4: b29b uxth r3, r3 80a1ee6: 2282 movs r2, #130 ; 0x82 80a1ee8: 4619 mov r1, r3 80a1eea: f7b4 f883 bl 8055ff4 for(i = 0; i < t; i++) 80a1eee: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1ef0: 3301 adds r3, #1 80a1ef2: 65fb str r3, [r7, #92] ; 0x5c 80a1ef4: 6dfa ldr r2, [r7, #92] ; 0x5c 80a1ef6: 6d7b ldr r3, [r7, #84] ; 0x54 80a1ef8: 429a cmp r2, r3 80a1efa: d3db bcc.n 80a1eb4 DrawImage(&bmgpt, 95 + 30*t, 145+9); 80a1efc: 6d7b ldr r3, [r7, #84] ; 0x54 80a1efe: b29b uxth r3, r3 80a1f00: 461a mov r2, r3 80a1f02: 0112 lsls r2, r2, #4 80a1f04: 1ad3 subs r3, r2, r3 80a1f06: 005b lsls r3, r3, #1 80a1f08: b29b uxth r3, r3 80a1f0a: 335f adds r3, #95 ; 0x5f 80a1f0c: b29b uxth r3, r3 80a1f0e: 229a movs r2, #154 ; 0x9a 80a1f10: 4619 mov r1, r3 80a1f12: 486e ldr r0, [pc, #440] ; (80a20cc ) 80a1f14: f7b4 f86e bl 8055ff4 for(i = t; i < 5; i++) 80a1f18: 6d7b ldr r3, [r7, #84] ; 0x54 80a1f1a: 65fb str r3, [r7, #92] ; 0x5c 80a1f1c: e01f b.n 80a1f5e DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 80a1f1e: 6d3a ldr r2, [r7, #80] ; 0x50 80a1f20: 6df9 ldr r1, [r7, #92] ; 0x5c 80a1f22: 4613 mov r3, r2 80a1f24: 009b lsls r3, r3, #2 80a1f26: 4413 add r3, r2 80a1f28: f107 0268 add.w r2, r7, #104 ; 0x68 80a1f2c: 4413 add r3, r2 80a1f2e: 440b add r3, r1 80a1f30: 3b34 subs r3, #52 ; 0x34 80a1f32: 781b ldrb r3, [r3, #0] 80a1f34: b2db uxtb r3, r3 80a1f36: 461a mov r2, r3 80a1f38: 4b63 ldr r3, [pc, #396] ; (80a20c8 ) 80a1f3a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a1f3e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1f40: b29b uxth r3, r3 80a1f42: 461a mov r2, r3 80a1f44: 0112 lsls r2, r2, #4 80a1f46: 1ad3 subs r3, r2, r3 80a1f48: 005b lsls r3, r3, #1 80a1f4a: b29b uxth r3, r3 80a1f4c: 336e adds r3, #110 ; 0x6e 80a1f4e: b29b uxth r3, r3 80a1f50: 2282 movs r2, #130 ; 0x82 80a1f52: 4619 mov r1, r3 80a1f54: f7b4 f84e bl 8055ff4 for(i = t; i < 5; i++) 80a1f58: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1f5a: 3301 adds r3, #1 80a1f5c: 65fb str r3, [r7, #92] ; 0x5c 80a1f5e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1f60: 2b04 cmp r3, #4 80a1f62: d9dc bls.n 80a1f1e if(ReadFileData.Vivs < 'E') 80a1f64: 4b57 ldr r3, [pc, #348] ; (80a20c4 ) 80a1f66: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a1f6a: b2db uxtb r3, r3 80a1f6c: 2b44 cmp r3, #68 ; 0x44 80a1f6e: d80c bhi.n 80a1f8a DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 80a1f70: 4b57 ldr r3, [pc, #348] ; (80a20d0 ) 80a1f72: 7b1b ldrb r3, [r3, #12] 80a1f74: b2db uxtb r3, r3 80a1f76: 461a mov r2, r3 80a1f78: 4b56 ldr r3, [pc, #344] ; (80a20d4 ) 80a1f7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1f7e: 2289 movs r2, #137 ; 0x89 80a1f80: f240 1109 movw r1, #265 ; 0x109 80a1f84: 4618 mov r0, r3 80a1f86: f7b4 f835 bl 8055ff4 if(ReadFileData.Vivs == 'E') 80a1f8a: 4b4e ldr r3, [pc, #312] ; (80a20c4 ) 80a1f8c: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a1f90: b2db uxtb r3, r3 80a1f92: 2b45 cmp r3, #69 ; 0x45 80a1f94: f040 8119 bne.w 80a21ca if(ReadFileData.Vval.fl < 0.0f) { 80a1f98: 4b4a ldr r3, [pc, #296] ; (80a20c4 ) 80a1f9a: edd3 7a01 vldr s15, [r3, #4] 80a1f9e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a1fa2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1fa6: f140 8110 bpl.w 80a21ca DrawImage(&bmgminus, 78, 138+9); 80a1faa: 2293 movs r2, #147 ; 0x93 80a1fac: 214e movs r1, #78 ; 0x4e 80a1fae: 484a ldr r0, [pc, #296] ; (80a20d8 ) 80a1fb0: f7b4 f820 bl 8055ff4 80a1fb4: e109 b.n 80a21ca LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a1fb6: 4949 ldr r1, [pc, #292] ; (80a20dc ) 80a1fb8: 4849 ldr r0, [pc, #292] ; (80a20e0 ) 80a1fba: f7b3 f927 bl 805520c if(pardata.LANG == RUS) 80a1fbe: 4b44 ldr r3, [pc, #272] ; (80a20d0 ) 80a1fc0: 7b1b ldrb r3, [r3, #12] 80a1fc2: b2db uxtb r3, r3 80a1fc4: 2b00 cmp r3, #0 80a1fc6: d105 bne.n 80a1fd4 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a1fc8: 4a46 ldr r2, [pc, #280] ; (80a20e4 ) 80a1fca: 2187 movs r1, #135 ; 0x87 80a1fcc: 20a7 movs r0, #167 ; 0xa7 80a1fce: f7b3 fedd bl 8055d8c 80a1fd2: e0fa b.n 80a21ca else LCD_DisplayStringC(167, 135, "NO DATA"); 80a1fd4: 4a44 ldr r2, [pc, #272] ; (80a20e8 ) 80a1fd6: 2187 movs r1, #135 ; 0x87 80a1fd8: 20a7 movs r0, #167 ; 0xa7 80a1fda: f7b3 fed7 bl 8055d8c 80a1fde: e0f4 b.n 80a21ca if(ipr == DIS) 80a1fe0: 6d3b ldr r3, [r7, #80] ; 0x50 80a1fe2: 2b02 cmp r3, #2 80a1fe4: f040 80f1 bne.w 80a21ca if(ReadFileData.Sval.fl != -1.0f) 80a1fe8: 4b36 ldr r3, [pc, #216] ; (80a20c4 ) 80a1fea: edd3 7a02 vldr s15, [r3, #8] 80a1fee: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a1ff2: eef4 7a47 vcmp.f32 s15, s14 80a1ff6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1ffa: f000 80d2 beq.w 80a21a2 if(!t) 80a1ffe: 6d7b ldr r3, [r7, #84] ; 0x54 80a2000: 2b00 cmp r3, #0 80a2002: d126 bne.n 80a2052 for(i = 0; i < 5; i++) 80a2004: 2300 movs r3, #0 80a2006: 65fb str r3, [r7, #92] ; 0x5c 80a2008: e01f b.n 80a204a DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a200a: 6d3a ldr r2, [r7, #80] ; 0x50 80a200c: 6df9 ldr r1, [r7, #92] ; 0x5c 80a200e: 4613 mov r3, r2 80a2010: 009b lsls r3, r3, #2 80a2012: 4413 add r3, r2 80a2014: f107 0268 add.w r2, r7, #104 ; 0x68 80a2018: 4413 add r3, r2 80a201a: 440b add r3, r1 80a201c: 3b34 subs r3, #52 ; 0x34 80a201e: 781b ldrb r3, [r3, #0] 80a2020: b2db uxtb r3, r3 80a2022: 461a mov r2, r3 80a2024: 4b28 ldr r3, [pc, #160] ; (80a20c8 ) 80a2026: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a202a: 6dfb ldr r3, [r7, #92] ; 0x5c 80a202c: b29b uxth r3, r3 80a202e: 461a mov r2, r3 80a2030: 0112 lsls r2, r2, #4 80a2032: 1ad3 subs r3, r2, r3 80a2034: 005b lsls r3, r3, #1 80a2036: b29b uxth r3, r3 80a2038: 335a adds r3, #90 ; 0x5a 80a203a: b29b uxth r3, r3 80a203c: 22ae movs r2, #174 ; 0xae 80a203e: 4619 mov r1, r3 80a2040: f7b3 ffd8 bl 8055ff4 for(i = 0; i < 5; i++) 80a2044: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2046: 3301 adds r3, #1 80a2048: 65fb str r3, [r7, #92] ; 0x5c 80a204a: 6dfb ldr r3, [r7, #92] ; 0x5c 80a204c: 2b04 cmp r3, #4 80a204e: d9dc bls.n 80a200a 80a2050: e06f b.n 80a2132 for(i = 0; i < t; i++) 80a2052: 2300 movs r3, #0 80a2054: 65fb str r3, [r7, #92] ; 0x5c 80a2056: e01f b.n 80a2098 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a2058: 6d3a ldr r2, [r7, #80] ; 0x50 80a205a: 6df9 ldr r1, [r7, #92] ; 0x5c 80a205c: 4613 mov r3, r2 80a205e: 009b lsls r3, r3, #2 80a2060: 4413 add r3, r2 80a2062: f107 0268 add.w r2, r7, #104 ; 0x68 80a2066: 4413 add r3, r2 80a2068: 440b add r3, r1 80a206a: 3b34 subs r3, #52 ; 0x34 80a206c: 781b ldrb r3, [r3, #0] 80a206e: b2db uxtb r3, r3 80a2070: 461a mov r2, r3 80a2072: 4b15 ldr r3, [pc, #84] ; (80a20c8 ) 80a2074: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2078: 6dfb ldr r3, [r7, #92] ; 0x5c 80a207a: b29b uxth r3, r3 80a207c: 461a mov r2, r3 80a207e: 0112 lsls r2, r2, #4 80a2080: 1ad3 subs r3, r2, r3 80a2082: 005b lsls r3, r3, #1 80a2084: b29b uxth r3, r3 80a2086: 335a adds r3, #90 ; 0x5a 80a2088: b29b uxth r3, r3 80a208a: 22ae movs r2, #174 ; 0xae 80a208c: 4619 mov r1, r3 80a208e: f7b3 ffb1 bl 8055ff4 for(i = 0; i < t; i++) 80a2092: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2094: 3301 adds r3, #1 80a2096: 65fb str r3, [r7, #92] ; 0x5c 80a2098: 6dfa ldr r2, [r7, #92] ; 0x5c 80a209a: 6d7b ldr r3, [r7, #84] ; 0x54 80a209c: 429a cmp r2, r3 80a209e: d3db bcc.n 80a2058 DrawImage(&bmgpt, 95 + 30*t, 198); 80a20a0: 6d7b ldr r3, [r7, #84] ; 0x54 80a20a2: b29b uxth r3, r3 80a20a4: 461a mov r2, r3 80a20a6: 0112 lsls r2, r2, #4 80a20a8: 1ad3 subs r3, r2, r3 80a20aa: 005b lsls r3, r3, #1 80a20ac: b29b uxth r3, r3 80a20ae: 335f adds r3, #95 ; 0x5f 80a20b0: b29b uxth r3, r3 80a20b2: 22c6 movs r2, #198 ; 0xc6 80a20b4: 4619 mov r1, r3 80a20b6: 4805 ldr r0, [pc, #20] ; (80a20cc ) 80a20b8: f7b3 ff9c bl 8055ff4 for(i = t; i < 5; i++) 80a20bc: 6d7b ldr r3, [r7, #84] ; 0x54 80a20be: 65fb str r3, [r7, #92] ; 0x5c 80a20c0: e034 b.n 80a212c 80a20c2: bf00 nop 80a20c4: 200226f0 .word 0x200226f0 80a20c8: 20020124 .word 0x20020124 80a20cc: 0816e480 .word 0x0816e480 80a20d0: 20023eb8 .word 0x20023eb8 80a20d4: 200200fc .word 0x200200fc 80a20d8: 0816e3f4 .word 0x0816e3f4 80a20dc: ff0a0f1f .word 0xff0a0f1f 80a20e0: ffb8e828 .word 0xffb8e828 80a20e4: 080d6564 .word 0x080d6564 80a20e8: 080d6570 .word 0x080d6570 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 80a20ec: 6d3a ldr r2, [r7, #80] ; 0x50 80a20ee: 6df9 ldr r1, [r7, #92] ; 0x5c 80a20f0: 4613 mov r3, r2 80a20f2: 009b lsls r3, r3, #2 80a20f4: 4413 add r3, r2 80a20f6: f107 0268 add.w r2, r7, #104 ; 0x68 80a20fa: 4413 add r3, r2 80a20fc: 440b add r3, r1 80a20fe: 3b34 subs r3, #52 ; 0x34 80a2100: 781b ldrb r3, [r3, #0] 80a2102: b2db uxtb r3, r3 80a2104: 461a mov r2, r3 80a2106: 4bbe ldr r3, [pc, #760] ; (80a2400 ) 80a2108: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a210c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a210e: b29b uxth r3, r3 80a2110: 461a mov r2, r3 80a2112: 0112 lsls r2, r2, #4 80a2114: 1ad3 subs r3, r2, r3 80a2116: 005b lsls r3, r3, #1 80a2118: b29b uxth r3, r3 80a211a: 336e adds r3, #110 ; 0x6e 80a211c: b29b uxth r3, r3 80a211e: 22ae movs r2, #174 ; 0xae 80a2120: 4619 mov r1, r3 80a2122: f7b3 ff67 bl 8055ff4 for(i = t; i < 5; i++) 80a2126: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2128: 3301 adds r3, #1 80a212a: 65fb str r3, [r7, #92] ; 0x5c 80a212c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a212e: 2b04 cmp r3, #4 80a2130: d9dc bls.n 80a20ec if(ReadFileData.Sivs < 'E') 80a2132: 4bb4 ldr r3, [pc, #720] ; (80a2404 ) 80a2134: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a2138: b2db uxtb r3, r3 80a213a: 2b44 cmp r3, #68 ; 0x44 80a213c: d81d bhi.n 80a217a if(m == 0) 80a213e: 6cfb ldr r3, [r7, #76] ; 0x4c 80a2140: 2b00 cmp r3, #0 80a2142: d10d bne.n 80a2160 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 80a2144: 4bb0 ldr r3, [pc, #704] ; (80a2408 ) 80a2146: 7b1b ldrb r3, [r3, #12] 80a2148: b2db uxtb r3, r3 80a214a: 461a mov r2, r3 80a214c: 4baf ldr r3, [pc, #700] ; (80a240c ) 80a214e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2152: 22b4 movs r2, #180 ; 0xb4 80a2154: f240 1109 movw r1, #265 ; 0x109 80a2158: 4618 mov r0, r3 80a215a: f7b3 ff4b bl 8055ff4 80a215e: e00c b.n 80a217a else DrawImage(BMG_MM[pardata.LANG], 265, 180); 80a2160: 4ba9 ldr r3, [pc, #676] ; (80a2408 ) 80a2162: 7b1b ldrb r3, [r3, #12] 80a2164: b2db uxtb r3, r3 80a2166: 461a mov r2, r3 80a2168: 4ba9 ldr r3, [pc, #676] ; (80a2410 ) 80a216a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a216e: 22b4 movs r2, #180 ; 0xb4 80a2170: f240 1109 movw r1, #265 ; 0x109 80a2174: 4618 mov r0, r3 80a2176: f7b3 ff3d bl 8055ff4 if(ReadFileData.Sivs == 'E') 80a217a: 4ba2 ldr r3, [pc, #648] ; (80a2404 ) 80a217c: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a2180: b2db uxtb r3, r3 80a2182: 2b45 cmp r3, #69 ; 0x45 80a2184: d121 bne.n 80a21ca if(ReadFileData.Sval.fl < 0.0f) { 80a2186: 4b9f ldr r3, [pc, #636] ; (80a2404 ) 80a2188: edd3 7a02 vldr s15, [r3, #8] 80a218c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a2190: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2194: d519 bpl.n 80a21ca DrawImage(&bmgminus, 78, 190); 80a2196: 22be movs r2, #190 ; 0xbe 80a2198: 214e movs r1, #78 ; 0x4e 80a219a: 489e ldr r0, [pc, #632] ; (80a2414 ) 80a219c: f7b3 ff2a bl 8055ff4 80a21a0: e013 b.n 80a21ca LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a21a2: 499d ldr r1, [pc, #628] ; (80a2418 ) 80a21a4: 489d ldr r0, [pc, #628] ; (80a241c ) 80a21a6: f7b3 f831 bl 805520c if(pardata.LANG == RUS) 80a21aa: 4b97 ldr r3, [pc, #604] ; (80a2408 ) 80a21ac: 7b1b ldrb r3, [r3, #12] 80a21ae: b2db uxtb r3, r3 80a21b0: 2b00 cmp r3, #0 80a21b2: d105 bne.n 80a21c0 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a21b4: 4a9a ldr r2, [pc, #616] ; (80a2420 ) 80a21b6: 21b9 movs r1, #185 ; 0xb9 80a21b8: 20a7 movs r0, #167 ; 0xa7 80a21ba: f7b3 fde7 bl 8055d8c 80a21be: e004 b.n 80a21ca else LCD_DisplayStringC(167, 185, "NO DATA"); 80a21c0: 4a98 ldr r2, [pc, #608] ; (80a2424 ) 80a21c2: 21b9 movs r1, #185 ; 0xb9 80a21c4: 20a7 movs r0, #167 ; 0xa7 80a21c6: f7b3 fde1 bl 8055d8c for(ipr = ACC; ipr <= DIS; ipr++) 80a21ca: 6d3b ldr r3, [r7, #80] ; 0x50 80a21cc: 3301 adds r3, #1 80a21ce: 653b str r3, [r7, #80] ; 0x50 80a21d0: 6d3b ldr r3, [r7, #80] ; 0x50 80a21d2: 2b02 cmp r3, #2 80a21d4: f67f aa84 bls.w 80a16e0 break; 80a21d8: f003 ba6e b.w 80a56b8 for(ipr = ACC; ipr <= DIS; ipr++) 80a21dc: 2300 movs r3, #0 80a21de: 653b str r3, [r7, #80] ; 0x50 80a21e0: f001 b964 b.w 80a34ac if(ipr == ACC) f = ReadFileData.Aval.fl; 80a21e4: 6d3b ldr r3, [r7, #80] ; 0x50 80a21e6: 2b00 cmp r3, #0 80a21e8: d103 bne.n 80a21f2 80a21ea: 4b86 ldr r3, [pc, #536] ; (80a2404 ) 80a21ec: 681b ldr r3, [r3, #0] 80a21ee: 647b str r3, [r7, #68] ; 0x44 80a21f0: e00c b.n 80a220c else if(ipr == VEL) f = ReadFileData.Vval.fl; 80a21f2: 6d3b ldr r3, [r7, #80] ; 0x50 80a21f4: 2b01 cmp r3, #1 80a21f6: d103 bne.n 80a2200 80a21f8: 4b82 ldr r3, [pc, #520] ; (80a2404 ) 80a21fa: 685b ldr r3, [r3, #4] 80a21fc: 647b str r3, [r7, #68] ; 0x44 80a21fe: e005 b.n 80a220c else if(ipr == DIS) f = ReadFileData.Sval.fl; 80a2200: 6d3b ldr r3, [r7, #80] ; 0x50 80a2202: 2b02 cmp r3, #2 80a2204: d102 bne.n 80a220c 80a2206: 4b7f ldr r3, [pc, #508] ; (80a2404 ) 80a2208: 689b ldr r3, [r3, #8] 80a220a: 647b str r3, [r7, #68] ; 0x44 if(ivs[ipr] >= 'F') 80a220c: 6d3b ldr r3, [r7, #80] ; 0x50 80a220e: f107 0268 add.w r2, r7, #104 ; 0x68 80a2212: 4413 add r3, r2 80a2214: f813 3c68 ldrb.w r3, [r3, #-104] 80a2218: 2b45 cmp r3, #69 ; 0x45 80a221a: f240 8532 bls.w 80a2c82 if(ipr < DIS) 80a221e: 6d3b ldr r3, [r7, #80] ; 0x50 80a2220: 2b01 cmp r3, #1 80a2222: f200 80af bhi.w 80a2384 if(f < 10.0f) 80a2226: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a222a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a222e: eef4 7ac7 vcmpe.f32 s15, s14 80a2232: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2236: d513 bpl.n 80a2260 k = (uint32_t) (roundf(f * 10000)); 80a2238: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a223c: ed9f 7a7e vldr s14, [pc, #504] ; 80a2438 80a2240: ee67 7a87 vmul.f32 s15, s15, s14 80a2244: eeb0 0a67 vmov.f32 s0, s15 80a2248: f02d fcac bl 80cfba4 80a224c: eef0 7a40 vmov.f32 s15, s0 80a2250: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2254: ee17 3a90 vmov r3, s15 80a2258: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a225a: 2301 movs r3, #1 80a225c: 657b str r3, [r7, #84] ; 0x54 80a225e: e1d3 b.n 80a2608 if(f < 100.0f) 80a2260: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2264: ed9f 7a73 vldr s14, [pc, #460] ; 80a2434 80a2268: eef4 7ac7 vcmpe.f32 s15, s14 80a226c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2270: d513 bpl.n 80a229a k = (uint32_t) (roundf(f * 1000)); 80a2272: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2276: ed9f 7a6e vldr s14, [pc, #440] ; 80a2430 80a227a: ee67 7a87 vmul.f32 s15, s15, s14 80a227e: eeb0 0a67 vmov.f32 s0, s15 80a2282: f02d fc8f bl 80cfba4 80a2286: eef0 7a40 vmov.f32 s15, s0 80a228a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a228e: ee17 3a90 vmov r3, s15 80a2292: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a2294: 2302 movs r3, #2 80a2296: 657b str r3, [r7, #84] ; 0x54 80a2298: e1b6 b.n 80a2608 if(f < 1000.0f) 80a229a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a229e: ed9f 7a64 vldr s14, [pc, #400] ; 80a2430 80a22a2: eef4 7ac7 vcmpe.f32 s15, s14 80a22a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a22aa: d513 bpl.n 80a22d4 k = (uint32_t) (roundf(f * 100)); 80a22ac: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a22b0: ed9f 7a60 vldr s14, [pc, #384] ; 80a2434 80a22b4: ee67 7a87 vmul.f32 s15, s15, s14 80a22b8: eeb0 0a67 vmov.f32 s0, s15 80a22bc: f02d fc72 bl 80cfba4 80a22c0: eef0 7a40 vmov.f32 s15, s0 80a22c4: eefc 7ae7 vcvt.u32.f32 s15, s15 80a22c8: ee17 3a90 vmov r3, s15 80a22cc: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a22ce: 2303 movs r3, #3 80a22d0: 657b str r3, [r7, #84] ; 0x54 80a22d2: e199 b.n 80a2608 if(f < 10000.0f) 80a22d4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a22d8: ed9f 7a57 vldr s14, [pc, #348] ; 80a2438 80a22dc: eef4 7ac7 vcmpe.f32 s15, s14 80a22e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a22e4: d513 bpl.n 80a230e k = (uint32_t) (roundf(f * 10)); 80a22e6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a22ea: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a22ee: ee67 7a87 vmul.f32 s15, s15, s14 80a22f2: eeb0 0a67 vmov.f32 s0, s15 80a22f6: f02d fc55 bl 80cfba4 80a22fa: eef0 7a40 vmov.f32 s15, s0 80a22fe: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2302: ee17 3a90 vmov r3, s15 80a2306: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a2308: 2304 movs r3, #4 80a230a: 657b str r3, [r7, #84] ; 0x54 80a230c: e17c b.n 80a2608 if(f < 100000.0f) 80a230e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2312: ed9f 7a4a vldr s14, [pc, #296] ; 80a243c 80a2316: eef4 7ac7 vcmpe.f32 s15, s14 80a231a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a231e: d515 bpl.n 80a234c k = (uint32_t) (roundf(f)); 80a2320: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2324: eeb0 0a67 vmov.f32 s0, s15 80a2328: f02d fc3c bl 80cfba4 80a232c: eef0 7a40 vmov.f32 s15, s0 80a2330: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2334: ee17 3a90 vmov r3, s15 80a2338: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a233a: 6dbb ldr r3, [r7, #88] ; 0x58 80a233c: 4a3a ldr r2, [pc, #232] ; (80a2428 ) 80a233e: 4293 cmp r3, r2 80a2340: d901 bls.n 80a2346 k = 99999; 80a2342: 4b39 ldr r3, [pc, #228] ; (80a2428 ) 80a2344: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a2346: 2300 movs r3, #0 80a2348: 657b str r3, [r7, #84] ; 0x54 80a234a: e15d b.n 80a2608 if(f >= 100000.0f) 80a234c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2350: ed9f 7a3a vldr s14, [pc, #232] ; 80a243c 80a2354: eef4 7ac7 vcmpe.f32 s15, s14 80a2358: eef1 fa10 vmrs APSR_nzcv, fpscr 80a235c: f2c0 8154 blt.w 80a2608 f = 99999.0f; 80a2360: 4b32 ldr r3, [pc, #200] ; (80a242c ) 80a2362: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a2364: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2368: eeb0 0a67 vmov.f32 s0, s15 80a236c: f02d fc1a bl 80cfba4 80a2370: eef0 7a40 vmov.f32 s15, s0 80a2374: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2378: ee17 3a90 vmov r3, s15 80a237c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a237e: 2300 movs r3, #0 80a2380: 657b str r3, [r7, #84] ; 0x54 80a2382: e141 b.n 80a2608 if(f < 10.0f) 80a2384: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2388: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a238c: eef4 7ac7 vcmpe.f32 s15, s14 80a2390: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2394: d515 bpl.n 80a23c2 k = (uint32_t) (roundf(f * 10000)); 80a2396: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a239a: ed9f 7a27 vldr s14, [pc, #156] ; 80a2438 80a239e: ee67 7a87 vmul.f32 s15, s15, s14 80a23a2: eeb0 0a67 vmov.f32 s0, s15 80a23a6: f02d fbfd bl 80cfba4 80a23aa: eef0 7a40 vmov.f32 s15, s0 80a23ae: eefc 7ae7 vcvt.u32.f32 s15, s15 80a23b2: ee17 3a90 vmov r3, s15 80a23b6: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a23b8: 2301 movs r3, #1 80a23ba: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a23bc: 2300 movs r3, #0 80a23be: 64fb str r3, [r7, #76] ; 0x4c 80a23c0: e122 b.n 80a2608 if(f < 100.0f) 80a23c2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a23c6: ed9f 7a1b vldr s14, [pc, #108] ; 80a2434 80a23ca: eef4 7ac7 vcmpe.f32 s15, s14 80a23ce: eef1 fa10 vmrs APSR_nzcv, fpscr 80a23d2: d541 bpl.n 80a2458 k = (uint32_t) (roundf(f * 1000)); 80a23d4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a23d8: ed9f 7a15 vldr s14, [pc, #84] ; 80a2430 80a23dc: ee67 7a87 vmul.f32 s15, s15, s14 80a23e0: eeb0 0a67 vmov.f32 s0, s15 80a23e4: f02d fbde bl 80cfba4 80a23e8: eef0 7a40 vmov.f32 s15, s0 80a23ec: eefc 7ae7 vcvt.u32.f32 s15, s15 80a23f0: ee17 3a90 vmov r3, s15 80a23f4: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a23f6: 2302 movs r3, #2 80a23f8: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a23fa: 2300 movs r3, #0 80a23fc: 64fb str r3, [r7, #76] ; 0x4c 80a23fe: e103 b.n 80a2608 80a2400: 20020124 .word 0x20020124 80a2404: 200226f0 .word 0x200226f0 80a2408: 20023eb8 .word 0x20023eb8 80a240c: 20020104 .word 0x20020104 80a2410: 2002010c .word 0x2002010c 80a2414: 0816e3f4 .word 0x0816e3f4 80a2418: ff0a0f1f .word 0xff0a0f1f 80a241c: ffb8e828 .word 0xffb8e828 80a2420: 080d6564 .word 0x080d6564 80a2424: 080d6570 .word 0x080d6570 80a2428: 0001869f .word 0x0001869f 80a242c: 47c34f80 .word 0x47c34f80 80a2430: 447a0000 .word 0x447a0000 80a2434: 42c80000 .word 0x42c80000 80a2438: 461c4000 .word 0x461c4000 80a243c: 47c35000 .word 0x47c35000 80a2440: 49742400 .word 0x49742400 80a2444: 3dcccccd .word 0x3dcccccd 80a2448: 4b189680 .word 0x4b189680 80a244c: 3c23d70a .word 0x3c23d70a 80a2450: 4cbebc20 .word 0x4cbebc20 80a2454: 3a83126f .word 0x3a83126f if(f < 1000.0f) 80a2458: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a245c: ed1f 7a0c vldr s14, [pc, #-48] ; 80a2430 80a2460: eef4 7ac7 vcmpe.f32 s15, s14 80a2464: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2468: d515 bpl.n 80a2496 k = (uint32_t) (roundf(f * 100)); 80a246a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a246e: ed1f 7a0f vldr s14, [pc, #-60] ; 80a2434 80a2472: ee67 7a87 vmul.f32 s15, s15, s14 80a2476: eeb0 0a67 vmov.f32 s0, s15 80a247a: f02d fb93 bl 80cfba4 80a247e: eef0 7a40 vmov.f32 s15, s0 80a2482: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2486: ee17 3a90 vmov r3, s15 80a248a: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a248c: 2303 movs r3, #3 80a248e: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a2490: 2300 movs r3, #0 80a2492: 64fb str r3, [r7, #76] ; 0x4c 80a2494: e0b8 b.n 80a2608 if(f < 10000.0f) 80a2496: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a249a: ed1f 7a19 vldr s14, [pc, #-100] ; 80a2438 80a249e: eef4 7ac7 vcmpe.f32 s15, s14 80a24a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a24a6: d515 bpl.n 80a24d4 k = (uint32_t) (roundf(f * 10)); 80a24a8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a24ac: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a24b0: ee67 7a87 vmul.f32 s15, s15, s14 80a24b4: eeb0 0a67 vmov.f32 s0, s15 80a24b8: f02d fb74 bl 80cfba4 80a24bc: eef0 7a40 vmov.f32 s15, s0 80a24c0: eefc 7ae7 vcvt.u32.f32 s15, s15 80a24c4: ee17 3a90 vmov r3, s15 80a24c8: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a24ca: 2301 movs r3, #1 80a24cc: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a24ce: 2301 movs r3, #1 80a24d0: 64fb str r3, [r7, #76] ; 0x4c 80a24d2: e099 b.n 80a2608 if(f < 100000.0f) 80a24d4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a24d8: ed1f 7a28 vldr s14, [pc, #-160] ; 80a243c 80a24dc: eef4 7ac7 vcmpe.f32 s15, s14 80a24e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a24e4: d511 bpl.n 80a250a k = (uint32_t) (roundf(f)); 80a24e6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a24ea: eeb0 0a67 vmov.f32 s0, s15 80a24ee: f02d fb59 bl 80cfba4 80a24f2: eef0 7a40 vmov.f32 s15, s0 80a24f6: eefc 7ae7 vcvt.u32.f32 s15, s15 80a24fa: ee17 3a90 vmov r3, s15 80a24fe: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a2500: 2302 movs r3, #2 80a2502: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a2504: 2301 movs r3, #1 80a2506: 64fb str r3, [r7, #76] ; 0x4c 80a2508: e07e b.n 80a2608 if(f < 1000000.0f) 80a250a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a250e: ed1f 7a34 vldr s14, [pc, #-208] ; 80a2440 80a2512: eef4 7ac7 vcmpe.f32 s15, s14 80a2516: eef1 fa10 vmrs APSR_nzcv, fpscr 80a251a: d515 bpl.n 80a2548 k = (uint32_t) (roundf(f * 0.1f)); 80a251c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2520: ed1f 7a38 vldr s14, [pc, #-224] ; 80a2444 80a2524: ee67 7a87 vmul.f32 s15, s15, s14 80a2528: eeb0 0a67 vmov.f32 s0, s15 80a252c: f02d fb3a bl 80cfba4 80a2530: eef0 7a40 vmov.f32 s15, s0 80a2534: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2538: ee17 3a90 vmov r3, s15 80a253c: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a253e: 2303 movs r3, #3 80a2540: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a2542: 2301 movs r3, #1 80a2544: 64fb str r3, [r7, #76] ; 0x4c 80a2546: e05f b.n 80a2608 if(f < 10000000.0f) 80a2548: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a254c: ed1f 7a42 vldr s14, [pc, #-264] ; 80a2448 80a2550: eef4 7ac7 vcmpe.f32 s15, s14 80a2554: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2558: d515 bpl.n 80a2586 k = (uint32_t) (roundf(f * 0.01f)); 80a255a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a255e: ed1f 7a45 vldr s14, [pc, #-276] ; 80a244c 80a2562: ee67 7a87 vmul.f32 s15, s15, s14 80a2566: eeb0 0a67 vmov.f32 s0, s15 80a256a: f02d fb1b bl 80cfba4 80a256e: eef0 7a40 vmov.f32 s15, s0 80a2572: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2576: ee17 3a90 vmov r3, s15 80a257a: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a257c: 2304 movs r3, #4 80a257e: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a2580: 2301 movs r3, #1 80a2582: 64fb str r3, [r7, #76] ; 0x4c 80a2584: e040 b.n 80a2608 if(f < 100000000.0f) 80a2586: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a258a: ed1f 7a4f vldr s14, [pc, #-316] ; 80a2450 80a258e: eef4 7ac7 vcmpe.f32 s15, s14 80a2592: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2596: d51b bpl.n 80a25d0 k = (uint32_t) (roundf(f * 0.001f)); 80a2598: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a259c: ed1f 7a53 vldr s14, [pc, #-332] ; 80a2454 80a25a0: ee67 7a87 vmul.f32 s15, s15, s14 80a25a4: eeb0 0a67 vmov.f32 s0, s15 80a25a8: f02d fafc bl 80cfba4 80a25ac: eef0 7a40 vmov.f32 s15, s0 80a25b0: eefc 7ae7 vcvt.u32.f32 s15, s15 80a25b4: ee17 3a90 vmov r3, s15 80a25b8: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a25ba: 6dbb ldr r3, [r7, #88] ; 0x58 80a25bc: 4abc ldr r2, [pc, #752] ; (80a28b0 ) 80a25be: 4293 cmp r3, r2 80a25c0: d901 bls.n 80a25c6 k = 99999; 80a25c2: 4bbb ldr r3, [pc, #748] ; (80a28b0 ) 80a25c4: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a25c6: 2300 movs r3, #0 80a25c8: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a25ca: 2301 movs r3, #1 80a25cc: 64fb str r3, [r7, #76] ; 0x4c 80a25ce: e01b b.n 80a2608 if(f >= 100000000.0f) 80a25d0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a25d4: ed9f 7ab7 vldr s14, [pc, #732] ; 80a28b4 80a25d8: eef4 7ac7 vcmpe.f32 s15, s14 80a25dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a25e0: db12 blt.n 80a2608 f = 99999.0f; 80a25e2: 4bb5 ldr r3, [pc, #724] ; (80a28b8 ) 80a25e4: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a25e6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a25ea: eeb0 0a67 vmov.f32 s0, s15 80a25ee: f02d fad9 bl 80cfba4 80a25f2: eef0 7a40 vmov.f32 s15, s0 80a25f6: eefc 7ae7 vcvt.u32.f32 s15, s15 80a25fa: ee17 3a90 vmov r3, s15 80a25fe: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a2600: 2300 movs r3, #0 80a2602: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a2604: 2301 movs r3, #1 80a2606: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 80a2608: 6d3a ldr r2, [r7, #80] ; 0x50 80a260a: 6dbb ldr r3, [r7, #88] ; 0x58 80a260c: 49ab ldr r1, [pc, #684] ; (80a28bc ) 80a260e: fba1 1303 umull r1, r3, r1, r3 80a2612: 0b5b lsrs r3, r3, #13 80a2614: b2d9 uxtb r1, r3 80a2616: 4613 mov r3, r2 80a2618: 009b lsls r3, r3, #2 80a261a: 4413 add r3, r2 80a261c: f107 0268 add.w r2, r7, #104 ; 0x68 80a2620: 4413 add r3, r2 80a2622: 3b34 subs r3, #52 ; 0x34 80a2624: 460a mov r2, r1 80a2626: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 80a2628: 6d39 ldr r1, [r7, #80] ; 0x50 80a262a: 6dba ldr r2, [r7, #88] ; 0x58 80a262c: 4ba3 ldr r3, [pc, #652] ; (80a28bc ) 80a262e: fba3 0302 umull r0, r3, r3, r2 80a2632: 0b5b lsrs r3, r3, #13 80a2634: f242 7010 movw r0, #10000 ; 0x2710 80a2638: fb00 f303 mul.w r3, r0, r3 80a263c: 1ad3 subs r3, r2, r3 80a263e: 4aa0 ldr r2, [pc, #640] ; (80a28c0 ) 80a2640: fba2 2303 umull r2, r3, r2, r3 80a2644: 099b lsrs r3, r3, #6 80a2646: b2da uxtb r2, r3 80a2648: 460b mov r3, r1 80a264a: 009b lsls r3, r3, #2 80a264c: 440b add r3, r1 80a264e: f107 0168 add.w r1, r7, #104 ; 0x68 80a2652: 440b add r3, r1 80a2654: 3b33 subs r3, #51 ; 0x33 80a2656: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 80a2658: 6d39 ldr r1, [r7, #80] ; 0x50 80a265a: 6dba ldr r2, [r7, #88] ; 0x58 80a265c: 4b97 ldr r3, [pc, #604] ; (80a28bc ) 80a265e: fba3 0302 umull r0, r3, r3, r2 80a2662: 0b5b lsrs r3, r3, #13 80a2664: f242 7010 movw r0, #10000 ; 0x2710 80a2668: fb00 f303 mul.w r3, r0, r3 80a266c: 1ad3 subs r3, r2, r3 80a266e: 4a94 ldr r2, [pc, #592] ; (80a28c0 ) 80a2670: fba2 0203 umull r0, r2, r2, r3 80a2674: 0992 lsrs r2, r2, #6 80a2676: f44f 707a mov.w r0, #1000 ; 0x3e8 80a267a: fb00 f202 mul.w r2, r0, r2 80a267e: 1a9a subs r2, r3, r2 80a2680: 4b90 ldr r3, [pc, #576] ; (80a28c4 ) 80a2682: fba3 2302 umull r2, r3, r3, r2 80a2686: 095b lsrs r3, r3, #5 80a2688: b2da uxtb r2, r3 80a268a: 460b mov r3, r1 80a268c: 009b lsls r3, r3, #2 80a268e: 440b add r3, r1 80a2690: f107 0168 add.w r1, r7, #104 ; 0x68 80a2694: 440b add r3, r1 80a2696: 3b32 subs r3, #50 ; 0x32 80a2698: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 80a269a: 6d39 ldr r1, [r7, #80] ; 0x50 80a269c: 6dbb ldr r3, [r7, #88] ; 0x58 80a269e: 4a87 ldr r2, [pc, #540] ; (80a28bc ) 80a26a0: fba2 0203 umull r0, r2, r2, r3 80a26a4: 0b52 lsrs r2, r2, #13 80a26a6: f242 7010 movw r0, #10000 ; 0x2710 80a26aa: fb00 f202 mul.w r2, r0, r2 80a26ae: 1a9a subs r2, r3, r2 80a26b0: 4b83 ldr r3, [pc, #524] ; (80a28c0 ) 80a26b2: fba3 0302 umull r0, r3, r3, r2 80a26b6: 099b lsrs r3, r3, #6 80a26b8: f44f 707a mov.w r0, #1000 ; 0x3e8 80a26bc: fb00 f303 mul.w r3, r0, r3 80a26c0: 1ad3 subs r3, r2, r3 80a26c2: 4a80 ldr r2, [pc, #512] ; (80a28c4 ) 80a26c4: fba2 0203 umull r0, r2, r2, r3 80a26c8: 0952 lsrs r2, r2, #5 80a26ca: 2064 movs r0, #100 ; 0x64 80a26cc: fb00 f202 mul.w r2, r0, r2 80a26d0: 1a9a subs r2, r3, r2 80a26d2: 4b7d ldr r3, [pc, #500] ; (80a28c8 ) 80a26d4: fba3 2302 umull r2, r3, r3, r2 80a26d8: 08db lsrs r3, r3, #3 80a26da: b2da uxtb r2, r3 80a26dc: 460b mov r3, r1 80a26de: 009b lsls r3, r3, #2 80a26e0: 440b add r3, r1 80a26e2: f107 0168 add.w r1, r7, #104 ; 0x68 80a26e6: 440b add r3, r1 80a26e8: 3b31 subs r3, #49 ; 0x31 80a26ea: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 80a26ec: 6d38 ldr r0, [r7, #80] ; 0x50 80a26ee: 6dbb ldr r3, [r7, #88] ; 0x58 80a26f0: 4a72 ldr r2, [pc, #456] ; (80a28bc ) 80a26f2: fba2 1203 umull r1, r2, r2, r3 80a26f6: 0b52 lsrs r2, r2, #13 80a26f8: f242 7110 movw r1, #10000 ; 0x2710 80a26fc: fb01 f202 mul.w r2, r1, r2 80a2700: 1a9a subs r2, r3, r2 80a2702: 4b6f ldr r3, [pc, #444] ; (80a28c0 ) 80a2704: fba3 1302 umull r1, r3, r3, r2 80a2708: 099b lsrs r3, r3, #6 80a270a: f44f 717a mov.w r1, #1000 ; 0x3e8 80a270e: fb01 f303 mul.w r3, r1, r3 80a2712: 1ad3 subs r3, r2, r3 80a2714: 4a6b ldr r2, [pc, #428] ; (80a28c4 ) 80a2716: fba2 1203 umull r1, r2, r2, r3 80a271a: 0952 lsrs r2, r2, #5 80a271c: 2164 movs r1, #100 ; 0x64 80a271e: fb01 f202 mul.w r2, r1, r2 80a2722: 1a9a subs r2, r3, r2 80a2724: 4b68 ldr r3, [pc, #416] ; (80a28c8 ) 80a2726: fba3 1302 umull r1, r3, r3, r2 80a272a: 08d9 lsrs r1, r3, #3 80a272c: 460b mov r3, r1 80a272e: 009b lsls r3, r3, #2 80a2730: 440b add r3, r1 80a2732: 005b lsls r3, r3, #1 80a2734: 1ad1 subs r1, r2, r3 80a2736: b2ca uxtb r2, r1 80a2738: 4603 mov r3, r0 80a273a: 009b lsls r3, r3, #2 80a273c: 4403 add r3, r0 80a273e: f107 0168 add.w r1, r7, #104 ; 0x68 80a2742: 440b add r3, r1 80a2744: 3b30 subs r3, #48 ; 0x30 80a2746: 701a strb r2, [r3, #0] if(ipr == ACC) 80a2748: 6d3b ldr r3, [r7, #80] ; 0x50 80a274a: 2b00 cmp r3, #0 80a274c: f040 80ca bne.w 80a28e4 if(!t) 80a2750: 6d7b ldr r3, [r7, #84] ; 0x54 80a2752: 2b00 cmp r3, #0 80a2754: d126 bne.n 80a27a4 for(i = 0; i < 5; i++) 80a2756: 2300 movs r3, #0 80a2758: 65fb str r3, [r7, #92] ; 0x5c 80a275a: e01f b.n 80a279c DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a275c: 6d3a ldr r2, [r7, #80] ; 0x50 80a275e: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2760: 4613 mov r3, r2 80a2762: 009b lsls r3, r3, #2 80a2764: 4413 add r3, r2 80a2766: f107 0268 add.w r2, r7, #104 ; 0x68 80a276a: 4413 add r3, r2 80a276c: 440b add r3, r1 80a276e: 3b34 subs r3, #52 ; 0x34 80a2770: 781b ldrb r3, [r3, #0] 80a2772: b2db uxtb r3, r3 80a2774: 461a mov r2, r3 80a2776: 4b55 ldr r3, [pc, #340] ; (80a28cc ) 80a2778: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a277c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a277e: b29b uxth r3, r3 80a2780: 461a mov r2, r3 80a2782: 0112 lsls r2, r2, #4 80a2784: 1ad3 subs r3, r2, r3 80a2786: 005b lsls r3, r3, #1 80a2788: b29b uxth r3, r3 80a278a: 335a adds r3, #90 ; 0x5a 80a278c: b29b uxth r3, r3 80a278e: 2256 movs r2, #86 ; 0x56 80a2790: 4619 mov r1, r3 80a2792: f7b3 fc2f bl 8055ff4 for(i = 0; i < 5; i++) 80a2796: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2798: 3301 adds r3, #1 80a279a: 65fb str r3, [r7, #92] ; 0x5c 80a279c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a279e: 2b04 cmp r3, #4 80a27a0: d9dc bls.n 80a275c 80a27a2: e05a b.n 80a285a for(i = 0; i < t; i++) 80a27a4: 2300 movs r3, #0 80a27a6: 65fb str r3, [r7, #92] ; 0x5c 80a27a8: e01f b.n 80a27ea DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a27aa: 6d3a ldr r2, [r7, #80] ; 0x50 80a27ac: 6df9 ldr r1, [r7, #92] ; 0x5c 80a27ae: 4613 mov r3, r2 80a27b0: 009b lsls r3, r3, #2 80a27b2: 4413 add r3, r2 80a27b4: f107 0268 add.w r2, r7, #104 ; 0x68 80a27b8: 4413 add r3, r2 80a27ba: 440b add r3, r1 80a27bc: 3b34 subs r3, #52 ; 0x34 80a27be: 781b ldrb r3, [r3, #0] 80a27c0: b2db uxtb r3, r3 80a27c2: 461a mov r2, r3 80a27c4: 4b41 ldr r3, [pc, #260] ; (80a28cc ) 80a27c6: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a27ca: 6dfb ldr r3, [r7, #92] ; 0x5c 80a27cc: b29b uxth r3, r3 80a27ce: 461a mov r2, r3 80a27d0: 0112 lsls r2, r2, #4 80a27d2: 1ad3 subs r3, r2, r3 80a27d4: 005b lsls r3, r3, #1 80a27d6: b29b uxth r3, r3 80a27d8: 335a adds r3, #90 ; 0x5a 80a27da: b29b uxth r3, r3 80a27dc: 2256 movs r2, #86 ; 0x56 80a27de: 4619 mov r1, r3 80a27e0: f7b3 fc08 bl 8055ff4 for(i = 0; i < t; i++) 80a27e4: 6dfb ldr r3, [r7, #92] ; 0x5c 80a27e6: 3301 adds r3, #1 80a27e8: 65fb str r3, [r7, #92] ; 0x5c 80a27ea: 6dfa ldr r2, [r7, #92] ; 0x5c 80a27ec: 6d7b ldr r3, [r7, #84] ; 0x54 80a27ee: 429a cmp r2, r3 80a27f0: d3db bcc.n 80a27aa DrawImage(&bmgpt, 95 + 30*t, 92+18); 80a27f2: 6d7b ldr r3, [r7, #84] ; 0x54 80a27f4: b29b uxth r3, r3 80a27f6: 461a mov r2, r3 80a27f8: 0112 lsls r2, r2, #4 80a27fa: 1ad3 subs r3, r2, r3 80a27fc: 005b lsls r3, r3, #1 80a27fe: b29b uxth r3, r3 80a2800: 335f adds r3, #95 ; 0x5f 80a2802: b29b uxth r3, r3 80a2804: 226e movs r2, #110 ; 0x6e 80a2806: 4619 mov r1, r3 80a2808: 4831 ldr r0, [pc, #196] ; (80a28d0 ) 80a280a: f7b3 fbf3 bl 8055ff4 for(i = t; i < 5; i++) 80a280e: 6d7b ldr r3, [r7, #84] ; 0x54 80a2810: 65fb str r3, [r7, #92] ; 0x5c 80a2812: e01f b.n 80a2854 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 80a2814: 6d3a ldr r2, [r7, #80] ; 0x50 80a2816: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2818: 4613 mov r3, r2 80a281a: 009b lsls r3, r3, #2 80a281c: 4413 add r3, r2 80a281e: f107 0268 add.w r2, r7, #104 ; 0x68 80a2822: 4413 add r3, r2 80a2824: 440b add r3, r1 80a2826: 3b34 subs r3, #52 ; 0x34 80a2828: 781b ldrb r3, [r3, #0] 80a282a: b2db uxtb r3, r3 80a282c: 461a mov r2, r3 80a282e: 4b27 ldr r3, [pc, #156] ; (80a28cc ) 80a2830: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2834: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2836: b29b uxth r3, r3 80a2838: 461a mov r2, r3 80a283a: 0112 lsls r2, r2, #4 80a283c: 1ad3 subs r3, r2, r3 80a283e: 005b lsls r3, r3, #1 80a2840: b29b uxth r3, r3 80a2842: 336e adds r3, #110 ; 0x6e 80a2844: b29b uxth r3, r3 80a2846: 2256 movs r2, #86 ; 0x56 80a2848: 4619 mov r1, r3 80a284a: f7b3 fbd3 bl 8055ff4 for(i = t; i < 5; i++) 80a284e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2850: 3301 adds r3, #1 80a2852: 65fb str r3, [r7, #92] ; 0x5c 80a2854: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2856: 2b04 cmp r3, #4 80a2858: d9dc bls.n 80a2814 if(ReadFileData.Aivs < 'E') 80a285a: 4b1e ldr r3, [pc, #120] ; (80a28d4 ) 80a285c: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a2860: b2db uxtb r3, r3 80a2862: 2b44 cmp r3, #68 ; 0x44 80a2864: d80c bhi.n 80a2880 DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 80a2866: 4b1c ldr r3, [pc, #112] ; (80a28d8 ) 80a2868: 7b1b ldrb r3, [r3, #12] 80a286a: b2db uxtb r3, r3 80a286c: 461a mov r2, r3 80a286e: 4b1b ldr r3, [pc, #108] ; (80a28dc ) 80a2870: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2874: 225c movs r2, #92 ; 0x5c 80a2876: f240 1109 movw r1, #265 ; 0x109 80a287a: 4618 mov r0, r3 80a287c: f7b3 fbba bl 8055ff4 if(ReadFileData.Aivs == 'E') 80a2880: 4b14 ldr r3, [pc, #80] ; (80a28d4 ) 80a2882: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a2886: b2db uxtb r3, r3 80a2888: 2b45 cmp r3, #69 ; 0x45 80a288a: f040 860c bne.w 80a34a6 if(ReadFileData.Aval.fl < 0.0f) { 80a288e: 4b11 ldr r3, [pc, #68] ; (80a28d4 ) 80a2890: edd3 7a00 vldr s15, [r3] 80a2894: eef5 7ac0 vcmpe.f32 s15, #0.0 80a2898: eef1 fa10 vmrs APSR_nzcv, fpscr 80a289c: f140 8603 bpl.w 80a34a6 DrawImage(&bmgminus, 78, 84+18); 80a28a0: 2266 movs r2, #102 ; 0x66 80a28a2: 214e movs r1, #78 ; 0x4e 80a28a4: 480e ldr r0, [pc, #56] ; (80a28e0 ) 80a28a6: f7b3 fba5 bl 8055ff4 80a28aa: f000 bdfc b.w 80a34a6 80a28ae: bf00 nop 80a28b0: 0001869f .word 0x0001869f 80a28b4: 4cbebc20 .word 0x4cbebc20 80a28b8: 47c34f80 .word 0x47c34f80 80a28bc: d1b71759 .word 0xd1b71759 80a28c0: 10624dd3 .word 0x10624dd3 80a28c4: 51eb851f .word 0x51eb851f 80a28c8: cccccccd .word 0xcccccccd 80a28cc: 20020124 .word 0x20020124 80a28d0: 0816e480 .word 0x0816e480 80a28d4: 200226f0 .word 0x200226f0 80a28d8: 20023eb8 .word 0x20023eb8 80a28dc: 200200f4 .word 0x200200f4 80a28e0: 0816e3f4 .word 0x0816e3f4 if(ipr == VEL) 80a28e4: 6d3b ldr r3, [r7, #80] ; 0x50 80a28e6: 2b01 cmp r3, #1 80a28e8: f040 80d1 bne.w 80a2a8e if(ReadFileData.Vval.fl != -1.0f) 80a28ec: 4ba0 ldr r3, [pc, #640] ; (80a2b70 ) 80a28ee: edd3 7a01 vldr s15, [r3, #4] 80a28f2: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a28f6: eef4 7a47 vcmp.f32 s15, s14 80a28fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80a28fe: f000 80af beq.w 80a2a60 if(!t) 80a2902: 6d7b ldr r3, [r7, #84] ; 0x54 80a2904: 2b00 cmp r3, #0 80a2906: d126 bne.n 80a2956 for(i = 0; i < 5; i++) 80a2908: 2300 movs r3, #0 80a290a: 65fb str r3, [r7, #92] ; 0x5c 80a290c: e01f b.n 80a294e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a290e: 6d3a ldr r2, [r7, #80] ; 0x50 80a2910: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2912: 4613 mov r3, r2 80a2914: 009b lsls r3, r3, #2 80a2916: 4413 add r3, r2 80a2918: f107 0268 add.w r2, r7, #104 ; 0x68 80a291c: 4413 add r3, r2 80a291e: 440b add r3, r1 80a2920: 3b34 subs r3, #52 ; 0x34 80a2922: 781b ldrb r3, [r3, #0] 80a2924: b2db uxtb r3, r3 80a2926: 461a mov r2, r3 80a2928: 4b92 ldr r3, [pc, #584] ; (80a2b74 ) 80a292a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a292e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2930: b29b uxth r3, r3 80a2932: 461a mov r2, r3 80a2934: 0112 lsls r2, r2, #4 80a2936: 1ad3 subs r3, r2, r3 80a2938: 005b lsls r3, r3, #1 80a293a: b29b uxth r3, r3 80a293c: 335a adds r3, #90 ; 0x5a 80a293e: b29b uxth r3, r3 80a2940: 2282 movs r2, #130 ; 0x82 80a2942: 4619 mov r1, r3 80a2944: f7b3 fb56 bl 8055ff4 for(i = 0; i < 5; i++) 80a2948: 6dfb ldr r3, [r7, #92] ; 0x5c 80a294a: 3301 adds r3, #1 80a294c: 65fb str r3, [r7, #92] ; 0x5c 80a294e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2950: 2b04 cmp r3, #4 80a2952: d9dc bls.n 80a290e 80a2954: e05a b.n 80a2a0c for(i = 0; i < t; i++) 80a2956: 2300 movs r3, #0 80a2958: 65fb str r3, [r7, #92] ; 0x5c 80a295a: e01f b.n 80a299c DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a295c: 6d3a ldr r2, [r7, #80] ; 0x50 80a295e: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2960: 4613 mov r3, r2 80a2962: 009b lsls r3, r3, #2 80a2964: 4413 add r3, r2 80a2966: f107 0268 add.w r2, r7, #104 ; 0x68 80a296a: 4413 add r3, r2 80a296c: 440b add r3, r1 80a296e: 3b34 subs r3, #52 ; 0x34 80a2970: 781b ldrb r3, [r3, #0] 80a2972: b2db uxtb r3, r3 80a2974: 461a mov r2, r3 80a2976: 4b7f ldr r3, [pc, #508] ; (80a2b74 ) 80a2978: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a297c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a297e: b29b uxth r3, r3 80a2980: 461a mov r2, r3 80a2982: 0112 lsls r2, r2, #4 80a2984: 1ad3 subs r3, r2, r3 80a2986: 005b lsls r3, r3, #1 80a2988: b29b uxth r3, r3 80a298a: 335a adds r3, #90 ; 0x5a 80a298c: b29b uxth r3, r3 80a298e: 2282 movs r2, #130 ; 0x82 80a2990: 4619 mov r1, r3 80a2992: f7b3 fb2f bl 8055ff4 for(i = 0; i < t; i++) 80a2996: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2998: 3301 adds r3, #1 80a299a: 65fb str r3, [r7, #92] ; 0x5c 80a299c: 6dfa ldr r2, [r7, #92] ; 0x5c 80a299e: 6d7b ldr r3, [r7, #84] ; 0x54 80a29a0: 429a cmp r2, r3 80a29a2: d3db bcc.n 80a295c DrawImage(&bmgpt, 95 + 30*t, 145+9); 80a29a4: 6d7b ldr r3, [r7, #84] ; 0x54 80a29a6: b29b uxth r3, r3 80a29a8: 461a mov r2, r3 80a29aa: 0112 lsls r2, r2, #4 80a29ac: 1ad3 subs r3, r2, r3 80a29ae: 005b lsls r3, r3, #1 80a29b0: b29b uxth r3, r3 80a29b2: 335f adds r3, #95 ; 0x5f 80a29b4: b29b uxth r3, r3 80a29b6: 229a movs r2, #154 ; 0x9a 80a29b8: 4619 mov r1, r3 80a29ba: 486f ldr r0, [pc, #444] ; (80a2b78 ) 80a29bc: f7b3 fb1a bl 8055ff4 for(i = t; i < 5; i++) 80a29c0: 6d7b ldr r3, [r7, #84] ; 0x54 80a29c2: 65fb str r3, [r7, #92] ; 0x5c 80a29c4: e01f b.n 80a2a06 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 80a29c6: 6d3a ldr r2, [r7, #80] ; 0x50 80a29c8: 6df9 ldr r1, [r7, #92] ; 0x5c 80a29ca: 4613 mov r3, r2 80a29cc: 009b lsls r3, r3, #2 80a29ce: 4413 add r3, r2 80a29d0: f107 0268 add.w r2, r7, #104 ; 0x68 80a29d4: 4413 add r3, r2 80a29d6: 440b add r3, r1 80a29d8: 3b34 subs r3, #52 ; 0x34 80a29da: 781b ldrb r3, [r3, #0] 80a29dc: b2db uxtb r3, r3 80a29de: 461a mov r2, r3 80a29e0: 4b64 ldr r3, [pc, #400] ; (80a2b74 ) 80a29e2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a29e6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a29e8: b29b uxth r3, r3 80a29ea: 461a mov r2, r3 80a29ec: 0112 lsls r2, r2, #4 80a29ee: 1ad3 subs r3, r2, r3 80a29f0: 005b lsls r3, r3, #1 80a29f2: b29b uxth r3, r3 80a29f4: 336e adds r3, #110 ; 0x6e 80a29f6: b29b uxth r3, r3 80a29f8: 2282 movs r2, #130 ; 0x82 80a29fa: 4619 mov r1, r3 80a29fc: f7b3 fafa bl 8055ff4 for(i = t; i < 5; i++) 80a2a00: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2a02: 3301 adds r3, #1 80a2a04: 65fb str r3, [r7, #92] ; 0x5c 80a2a06: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2a08: 2b04 cmp r3, #4 80a2a0a: d9dc bls.n 80a29c6 if(ReadFileData.Vivs < 'E') 80a2a0c: 4b58 ldr r3, [pc, #352] ; (80a2b70 ) 80a2a0e: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a2a12: b2db uxtb r3, r3 80a2a14: 2b44 cmp r3, #68 ; 0x44 80a2a16: d80c bhi.n 80a2a32 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 80a2a18: 4b58 ldr r3, [pc, #352] ; (80a2b7c ) 80a2a1a: 7b1b ldrb r3, [r3, #12] 80a2a1c: b2db uxtb r3, r3 80a2a1e: 461a mov r2, r3 80a2a20: 4b57 ldr r3, [pc, #348] ; (80a2b80 ) 80a2a22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2a26: 2289 movs r2, #137 ; 0x89 80a2a28: f240 1109 movw r1, #265 ; 0x109 80a2a2c: 4618 mov r0, r3 80a2a2e: f7b3 fae1 bl 8055ff4 if(ReadFileData.Vivs == 'E') 80a2a32: 4b4f ldr r3, [pc, #316] ; (80a2b70 ) 80a2a34: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a2a38: b2db uxtb r3, r3 80a2a3a: 2b45 cmp r3, #69 ; 0x45 80a2a3c: f040 8533 bne.w 80a34a6 if(ReadFileData.Vval.fl < 0.0f) { 80a2a40: 4b4b ldr r3, [pc, #300] ; (80a2b70 ) 80a2a42: edd3 7a01 vldr s15, [r3, #4] 80a2a46: eef5 7ac0 vcmpe.f32 s15, #0.0 80a2a4a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2a4e: f140 852a bpl.w 80a34a6 DrawImage(&bmgminus, 78, 138+9); 80a2a52: 2293 movs r2, #147 ; 0x93 80a2a54: 214e movs r1, #78 ; 0x4e 80a2a56: 484b ldr r0, [pc, #300] ; (80a2b84 ) 80a2a58: f7b3 facc bl 8055ff4 80a2a5c: f000 bd23 b.w 80a34a6 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a2a60: 4949 ldr r1, [pc, #292] ; (80a2b88 ) 80a2a62: 484a ldr r0, [pc, #296] ; (80a2b8c ) 80a2a64: f7b2 fbd2 bl 805520c if(pardata.LANG == RUS) 80a2a68: 4b44 ldr r3, [pc, #272] ; (80a2b7c ) 80a2a6a: 7b1b ldrb r3, [r3, #12] 80a2a6c: b2db uxtb r3, r3 80a2a6e: 2b00 cmp r3, #0 80a2a70: d106 bne.n 80a2a80 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a2a72: 4a47 ldr r2, [pc, #284] ; (80a2b90 ) 80a2a74: 2187 movs r1, #135 ; 0x87 80a2a76: 20a7 movs r0, #167 ; 0xa7 80a2a78: f7b3 f988 bl 8055d8c 80a2a7c: f000 bd13 b.w 80a34a6 else LCD_DisplayStringC(167, 135, "NO DATA"); 80a2a80: 4a44 ldr r2, [pc, #272] ; (80a2b94 ) 80a2a82: 2187 movs r1, #135 ; 0x87 80a2a84: 20a7 movs r0, #167 ; 0xa7 80a2a86: f7b3 f981 bl 8055d8c 80a2a8a: f000 bd0c b.w 80a34a6 if(ipr == DIS) 80a2a8e: 6d3b ldr r3, [r7, #80] ; 0x50 80a2a90: 2b02 cmp r3, #2 80a2a92: f040 8508 bne.w 80a34a6 if(ReadFileData.Sval.fl != -1.0f) 80a2a96: 4b36 ldr r3, [pc, #216] ; (80a2b70 ) 80a2a98: edd3 7a02 vldr s15, [r3, #8] 80a2a9c: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a2aa0: eef4 7a47 vcmp.f32 s15, s14 80a2aa4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2aa8: f000 80d4 beq.w 80a2c54 if(!t) 80a2aac: 6d7b ldr r3, [r7, #84] ; 0x54 80a2aae: 2b00 cmp r3, #0 80a2ab0: d126 bne.n 80a2b00 for(i = 0; i < 5; i++) 80a2ab2: 2300 movs r3, #0 80a2ab4: 65fb str r3, [r7, #92] ; 0x5c 80a2ab6: e01f b.n 80a2af8 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a2ab8: 6d3a ldr r2, [r7, #80] ; 0x50 80a2aba: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2abc: 4613 mov r3, r2 80a2abe: 009b lsls r3, r3, #2 80a2ac0: 4413 add r3, r2 80a2ac2: f107 0268 add.w r2, r7, #104 ; 0x68 80a2ac6: 4413 add r3, r2 80a2ac8: 440b add r3, r1 80a2aca: 3b34 subs r3, #52 ; 0x34 80a2acc: 781b ldrb r3, [r3, #0] 80a2ace: b2db uxtb r3, r3 80a2ad0: 461a mov r2, r3 80a2ad2: 4b28 ldr r3, [pc, #160] ; (80a2b74 ) 80a2ad4: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2ad8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2ada: b29b uxth r3, r3 80a2adc: 461a mov r2, r3 80a2ade: 0112 lsls r2, r2, #4 80a2ae0: 1ad3 subs r3, r2, r3 80a2ae2: 005b lsls r3, r3, #1 80a2ae4: b29b uxth r3, r3 80a2ae6: 335a adds r3, #90 ; 0x5a 80a2ae8: b29b uxth r3, r3 80a2aea: 22ae movs r2, #174 ; 0xae 80a2aec: 4619 mov r1, r3 80a2aee: f7b3 fa81 bl 8055ff4 for(i = 0; i < 5; i++) 80a2af2: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2af4: 3301 adds r3, #1 80a2af6: 65fb str r3, [r7, #92] ; 0x5c 80a2af8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2afa: 2b04 cmp r3, #4 80a2afc: d9dc bls.n 80a2ab8 80a2afe: e06e b.n 80a2bde for(i = 0; i < t; i++) 80a2b00: 2300 movs r3, #0 80a2b02: 65fb str r3, [r7, #92] ; 0x5c 80a2b04: e01f b.n 80a2b46 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a2b06: 6d3a ldr r2, [r7, #80] ; 0x50 80a2b08: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2b0a: 4613 mov r3, r2 80a2b0c: 009b lsls r3, r3, #2 80a2b0e: 4413 add r3, r2 80a2b10: f107 0268 add.w r2, r7, #104 ; 0x68 80a2b14: 4413 add r3, r2 80a2b16: 440b add r3, r1 80a2b18: 3b34 subs r3, #52 ; 0x34 80a2b1a: 781b ldrb r3, [r3, #0] 80a2b1c: b2db uxtb r3, r3 80a2b1e: 461a mov r2, r3 80a2b20: 4b14 ldr r3, [pc, #80] ; (80a2b74 ) 80a2b22: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2b26: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2b28: b29b uxth r3, r3 80a2b2a: 461a mov r2, r3 80a2b2c: 0112 lsls r2, r2, #4 80a2b2e: 1ad3 subs r3, r2, r3 80a2b30: 005b lsls r3, r3, #1 80a2b32: b29b uxth r3, r3 80a2b34: 335a adds r3, #90 ; 0x5a 80a2b36: b29b uxth r3, r3 80a2b38: 22ae movs r2, #174 ; 0xae 80a2b3a: 4619 mov r1, r3 80a2b3c: f7b3 fa5a bl 8055ff4 for(i = 0; i < t; i++) 80a2b40: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2b42: 3301 adds r3, #1 80a2b44: 65fb str r3, [r7, #92] ; 0x5c 80a2b46: 6dfa ldr r2, [r7, #92] ; 0x5c 80a2b48: 6d7b ldr r3, [r7, #84] ; 0x54 80a2b4a: 429a cmp r2, r3 80a2b4c: d3db bcc.n 80a2b06 DrawImage(&bmgpt, 95 + 30*t, 198); 80a2b4e: 6d7b ldr r3, [r7, #84] ; 0x54 80a2b50: b29b uxth r3, r3 80a2b52: 461a mov r2, r3 80a2b54: 0112 lsls r2, r2, #4 80a2b56: 1ad3 subs r3, r2, r3 80a2b58: 005b lsls r3, r3, #1 80a2b5a: b29b uxth r3, r3 80a2b5c: 335f adds r3, #95 ; 0x5f 80a2b5e: b29b uxth r3, r3 80a2b60: 22c6 movs r2, #198 ; 0xc6 80a2b62: 4619 mov r1, r3 80a2b64: 4804 ldr r0, [pc, #16] ; (80a2b78 ) 80a2b66: f7b3 fa45 bl 8055ff4 for(i = t; i < 5; i++) 80a2b6a: 6d7b ldr r3, [r7, #84] ; 0x54 80a2b6c: 65fb str r3, [r7, #92] ; 0x5c 80a2b6e: e033 b.n 80a2bd8 80a2b70: 200226f0 .word 0x200226f0 80a2b74: 20020124 .word 0x20020124 80a2b78: 0816e480 .word 0x0816e480 80a2b7c: 20023eb8 .word 0x20023eb8 80a2b80: 200200fc .word 0x200200fc 80a2b84: 0816e3f4 .word 0x0816e3f4 80a2b88: ff0a0f1f .word 0xff0a0f1f 80a2b8c: ffb8e828 .word 0xffb8e828 80a2b90: 080d6564 .word 0x080d6564 80a2b94: 080d6570 .word 0x080d6570 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 80a2b98: 6d3a ldr r2, [r7, #80] ; 0x50 80a2b9a: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2b9c: 4613 mov r3, r2 80a2b9e: 009b lsls r3, r3, #2 80a2ba0: 4413 add r3, r2 80a2ba2: f107 0268 add.w r2, r7, #104 ; 0x68 80a2ba6: 4413 add r3, r2 80a2ba8: 440b add r3, r1 80a2baa: 3b34 subs r3, #52 ; 0x34 80a2bac: 781b ldrb r3, [r3, #0] 80a2bae: b2db uxtb r3, r3 80a2bb0: 461a mov r2, r3 80a2bb2: 4bae ldr r3, [pc, #696] ; (80a2e6c ) 80a2bb4: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2bb8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2bba: b29b uxth r3, r3 80a2bbc: 461a mov r2, r3 80a2bbe: 0112 lsls r2, r2, #4 80a2bc0: 1ad3 subs r3, r2, r3 80a2bc2: 005b lsls r3, r3, #1 80a2bc4: b29b uxth r3, r3 80a2bc6: 336e adds r3, #110 ; 0x6e 80a2bc8: b29b uxth r3, r3 80a2bca: 22ae movs r2, #174 ; 0xae 80a2bcc: 4619 mov r1, r3 80a2bce: f7b3 fa11 bl 8055ff4 for(i = t; i < 5; i++) 80a2bd2: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2bd4: 3301 adds r3, #1 80a2bd6: 65fb str r3, [r7, #92] ; 0x5c 80a2bd8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2bda: 2b04 cmp r3, #4 80a2bdc: d9dc bls.n 80a2b98 if(ReadFileData.Sivs < 'E') 80a2bde: 4ba4 ldr r3, [pc, #656] ; (80a2e70 ) 80a2be0: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a2be4: b2db uxtb r3, r3 80a2be6: 2b44 cmp r3, #68 ; 0x44 80a2be8: d81d bhi.n 80a2c26 if(m == 0) 80a2bea: 6cfb ldr r3, [r7, #76] ; 0x4c 80a2bec: 2b00 cmp r3, #0 80a2bee: d10d bne.n 80a2c0c DrawImage(BMG_MKM[pardata.LANG], 265, 180); 80a2bf0: 4ba0 ldr r3, [pc, #640] ; (80a2e74 ) 80a2bf2: 7b1b ldrb r3, [r3, #12] 80a2bf4: b2db uxtb r3, r3 80a2bf6: 461a mov r2, r3 80a2bf8: 4b9f ldr r3, [pc, #636] ; (80a2e78 ) 80a2bfa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2bfe: 22b4 movs r2, #180 ; 0xb4 80a2c00: f240 1109 movw r1, #265 ; 0x109 80a2c04: 4618 mov r0, r3 80a2c06: f7b3 f9f5 bl 8055ff4 80a2c0a: e00c b.n 80a2c26 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 80a2c0c: 4b99 ldr r3, [pc, #612] ; (80a2e74 ) 80a2c0e: 7b1b ldrb r3, [r3, #12] 80a2c10: b2db uxtb r3, r3 80a2c12: 461a mov r2, r3 80a2c14: 4b99 ldr r3, [pc, #612] ; (80a2e7c ) 80a2c16: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2c1a: 22b4 movs r2, #180 ; 0xb4 80a2c1c: f240 1109 movw r1, #265 ; 0x109 80a2c20: 4618 mov r0, r3 80a2c22: f7b3 f9e7 bl 8055ff4 if(ReadFileData.Sivs == 'E') 80a2c26: 4b92 ldr r3, [pc, #584] ; (80a2e70 ) 80a2c28: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a2c2c: b2db uxtb r3, r3 80a2c2e: 2b45 cmp r3, #69 ; 0x45 80a2c30: f040 8439 bne.w 80a34a6 if(ReadFileData.Sval.fl < 0.0f) { 80a2c34: 4b8e ldr r3, [pc, #568] ; (80a2e70 ) 80a2c36: edd3 7a02 vldr s15, [r3, #8] 80a2c3a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a2c3e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2c42: f140 8430 bpl.w 80a34a6 DrawImage(&bmgminus, 78, 190); 80a2c46: 22be movs r2, #190 ; 0xbe 80a2c48: 214e movs r1, #78 ; 0x4e 80a2c4a: 488d ldr r0, [pc, #564] ; (80a2e80 ) 80a2c4c: f7b3 f9d2 bl 8055ff4 80a2c50: f000 bc29 b.w 80a34a6 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a2c54: 498b ldr r1, [pc, #556] ; (80a2e84 ) 80a2c56: 488c ldr r0, [pc, #560] ; (80a2e88 ) 80a2c58: f7b2 fad8 bl 805520c if(pardata.LANG == RUS) 80a2c5c: 4b85 ldr r3, [pc, #532] ; (80a2e74 ) 80a2c5e: 7b1b ldrb r3, [r3, #12] 80a2c60: b2db uxtb r3, r3 80a2c62: 2b00 cmp r3, #0 80a2c64: d106 bne.n 80a2c74 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a2c66: 4a89 ldr r2, [pc, #548] ; (80a2e8c ) 80a2c68: 21b9 movs r1, #185 ; 0xb9 80a2c6a: 20a7 movs r0, #167 ; 0xa7 80a2c6c: f7b3 f88e bl 8055d8c 80a2c70: f000 bc19 b.w 80a34a6 else LCD_DisplayStringC(167, 185, "NO DATA"); 80a2c74: 4a86 ldr r2, [pc, #536] ; (80a2e90 ) 80a2c76: 21b9 movs r1, #185 ; 0xb9 80a2c78: 20a7 movs r0, #167 ; 0xa7 80a2c7a: f7b3 f887 bl 8055d8c 80a2c7e: f000 bc12 b.w 80a34a6 if(f != -1.0f) 80a2c82: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2c86: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a2c8a: eef4 7a47 vcmp.f32 s15, s14 80a2c8e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2c92: f000 83c2 beq.w 80a341a LinToLog(&f, &f); 80a2c96: f107 0244 add.w r2, r7, #68 ; 0x44 80a2c9a: f107 0344 add.w r3, r7, #68 ; 0x44 80a2c9e: 4611 mov r1, r2 80a2ca0: 4618 mov r0, r3 80a2ca2: f7c3 fe51 bl 8066948 k = (uint32_t) (roundf(f * 10 + 0.5f)); 80a2ca6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2caa: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a2cae: ee67 7a87 vmul.f32 s15, s15, s14 80a2cb2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a2cb6: ee77 7a87 vadd.f32 s15, s15, s14 80a2cba: eeb0 0a67 vmov.f32 s0, s15 80a2cbe: f02c ff71 bl 80cfba4 80a2cc2: eef0 7a40 vmov.f32 s15, s0 80a2cc6: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2cca: ee17 3a90 vmov r3, s15 80a2cce: 65bb str r3, [r7, #88] ; 0x58 if(f < 10.0f) 80a2cd0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2cd4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a2cd8: eef4 7ac7 vcmpe.f32 s15, s14 80a2cdc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2ce0: f140 80e0 bpl.w 80a2ea4 ik[ipr][0] = (uint8_t) (k / 10); 80a2ce4: 6d3a ldr r2, [r7, #80] ; 0x50 80a2ce6: 6dbb ldr r3, [r7, #88] ; 0x58 80a2ce8: 496a ldr r1, [pc, #424] ; (80a2e94 ) 80a2cea: fba1 1303 umull r1, r3, r1, r3 80a2cee: 08db lsrs r3, r3, #3 80a2cf0: b2d9 uxtb r1, r3 80a2cf2: 4613 mov r3, r2 80a2cf4: 009b lsls r3, r3, #2 80a2cf6: 4413 add r3, r2 80a2cf8: f107 0268 add.w r2, r7, #104 ; 0x68 80a2cfc: 4413 add r3, r2 80a2cfe: 3b34 subs r3, #52 ; 0x34 80a2d00: 460a mov r2, r1 80a2d02: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10); 80a2d04: 6d38 ldr r0, [r7, #80] ; 0x50 80a2d06: 6db9 ldr r1, [r7, #88] ; 0x58 80a2d08: 4b62 ldr r3, [pc, #392] ; (80a2e94 ) 80a2d0a: fba3 2301 umull r2, r3, r3, r1 80a2d0e: 08da lsrs r2, r3, #3 80a2d10: 4613 mov r3, r2 80a2d12: 009b lsls r3, r3, #2 80a2d14: 4413 add r3, r2 80a2d16: 005b lsls r3, r3, #1 80a2d18: 1aca subs r2, r1, r3 80a2d1a: b2d2 uxtb r2, r2 80a2d1c: 4603 mov r3, r0 80a2d1e: 009b lsls r3, r3, #2 80a2d20: 4403 add r3, r0 80a2d22: f107 0168 add.w r1, r7, #104 ; 0x68 80a2d26: 440b add r3, r1 80a2d28: 3b33 subs r3, #51 ; 0x33 80a2d2a: 701a strb r2, [r3, #0] if(ipr == ACC) 80a2d2c: 6d3b ldr r3, [r7, #80] ; 0x50 80a2d2e: 2b00 cmp r3, #0 80a2d30: d131 bne.n 80a2d96 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 68+18); 80a2d32: 6d3a ldr r2, [r7, #80] ; 0x50 80a2d34: 4613 mov r3, r2 80a2d36: 009b lsls r3, r3, #2 80a2d38: 4413 add r3, r2 80a2d3a: f107 0268 add.w r2, r7, #104 ; 0x68 80a2d3e: 4413 add r3, r2 80a2d40: 3b33 subs r3, #51 ; 0x33 80a2d42: 781b ldrb r3, [r3, #0] 80a2d44: b2db uxtb r3, r3 80a2d46: 461a mov r2, r3 80a2d48: 4b48 ldr r3, [pc, #288] ; (80a2e6c ) 80a2d4a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2d4e: 2256 movs r2, #86 ; 0x56 80a2d50: 21e6 movs r1, #230 ; 0xe6 80a2d52: 4618 mov r0, r3 80a2d54: f7b3 f94e bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a2d58: 226e movs r2, #110 ; 0x6e 80a2d5a: 21d7 movs r1, #215 ; 0xd7 80a2d5c: 484e ldr r0, [pc, #312] ; (80a2e98 ) 80a2d5e: f7b3 f949 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 68+18); 80a2d62: 6d3a ldr r2, [r7, #80] ; 0x50 80a2d64: 4613 mov r3, r2 80a2d66: 009b lsls r3, r3, #2 80a2d68: 4413 add r3, r2 80a2d6a: f107 0268 add.w r2, r7, #104 ; 0x68 80a2d6e: 4413 add r3, r2 80a2d70: 3b34 subs r3, #52 ; 0x34 80a2d72: 781b ldrb r3, [r3, #0] 80a2d74: b2db uxtb r3, r3 80a2d76: 461a mov r2, r3 80a2d78: 4b3c ldr r3, [pc, #240] ; (80a2e6c ) 80a2d7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2d7e: 2256 movs r2, #86 ; 0x56 80a2d80: 21b4 movs r1, #180 ; 0xb4 80a2d82: 4618 mov r0, r3 80a2d84: f7b3 f936 bl 8055ff4 DrawImage(&bmg_dB, 265, 74+18); 80a2d88: 225c movs r2, #92 ; 0x5c 80a2d8a: f240 1109 movw r1, #265 ; 0x109 80a2d8e: 4843 ldr r0, [pc, #268] ; (80a2e9c ) 80a2d90: f7b3 f930 bl 8055ff4 80a2d94: e387 b.n 80a34a6 if(ipr == VEL) 80a2d96: 6d3b ldr r3, [r7, #80] ; 0x50 80a2d98: 2b01 cmp r3, #1 80a2d9a: d131 bne.n 80a2e00 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 121+9); 80a2d9c: 6d3a ldr r2, [r7, #80] ; 0x50 80a2d9e: 4613 mov r3, r2 80a2da0: 009b lsls r3, r3, #2 80a2da2: 4413 add r3, r2 80a2da4: f107 0268 add.w r2, r7, #104 ; 0x68 80a2da8: 4413 add r3, r2 80a2daa: 3b33 subs r3, #51 ; 0x33 80a2dac: 781b ldrb r3, [r3, #0] 80a2dae: b2db uxtb r3, r3 80a2db0: 461a mov r2, r3 80a2db2: 4b2e ldr r3, [pc, #184] ; (80a2e6c ) 80a2db4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2db8: 2282 movs r2, #130 ; 0x82 80a2dba: 21e6 movs r1, #230 ; 0xe6 80a2dbc: 4618 mov r0, r3 80a2dbe: f7b3 f919 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a2dc2: 229a movs r2, #154 ; 0x9a 80a2dc4: 21d7 movs r1, #215 ; 0xd7 80a2dc6: 4834 ldr r0, [pc, #208] ; (80a2e98 ) 80a2dc8: f7b3 f914 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 121+9); 80a2dcc: 6d3a ldr r2, [r7, #80] ; 0x50 80a2dce: 4613 mov r3, r2 80a2dd0: 009b lsls r3, r3, #2 80a2dd2: 4413 add r3, r2 80a2dd4: f107 0268 add.w r2, r7, #104 ; 0x68 80a2dd8: 4413 add r3, r2 80a2dda: 3b34 subs r3, #52 ; 0x34 80a2ddc: 781b ldrb r3, [r3, #0] 80a2dde: b2db uxtb r3, r3 80a2de0: 461a mov r2, r3 80a2de2: 4b22 ldr r3, [pc, #136] ; (80a2e6c ) 80a2de4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2de8: 2282 movs r2, #130 ; 0x82 80a2dea: 21b4 movs r1, #180 ; 0xb4 80a2dec: 4618 mov r0, r3 80a2dee: f7b3 f901 bl 8055ff4 DrawImage(&bmg_dB, 265, 128+9); 80a2df2: 2289 movs r2, #137 ; 0x89 80a2df4: f240 1109 movw r1, #265 ; 0x109 80a2df8: 4828 ldr r0, [pc, #160] ; (80a2e9c ) 80a2dfa: f7b3 f8fb bl 8055ff4 80a2dfe: e352 b.n 80a34a6 if(ipr == DIS) 80a2e00: 6d3b ldr r3, [r7, #80] ; 0x50 80a2e02: 2b02 cmp r3, #2 80a2e04: f040 834f bne.w 80a34a6 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 174); 80a2e08: 6d3a ldr r2, [r7, #80] ; 0x50 80a2e0a: 4613 mov r3, r2 80a2e0c: 009b lsls r3, r3, #2 80a2e0e: 4413 add r3, r2 80a2e10: f107 0268 add.w r2, r7, #104 ; 0x68 80a2e14: 4413 add r3, r2 80a2e16: 3b33 subs r3, #51 ; 0x33 80a2e18: 781b ldrb r3, [r3, #0] 80a2e1a: b2db uxtb r3, r3 80a2e1c: 461a mov r2, r3 80a2e1e: 4b13 ldr r3, [pc, #76] ; (80a2e6c ) 80a2e20: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2e24: 22ae movs r2, #174 ; 0xae 80a2e26: 21e6 movs r1, #230 ; 0xe6 80a2e28: 4618 mov r0, r3 80a2e2a: f7b3 f8e3 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 198); 80a2e2e: 22c6 movs r2, #198 ; 0xc6 80a2e30: 21d7 movs r1, #215 ; 0xd7 80a2e32: 4819 ldr r0, [pc, #100] ; (80a2e98 ) 80a2e34: f7b3 f8de bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 174); 80a2e38: 6d3a ldr r2, [r7, #80] ; 0x50 80a2e3a: 4613 mov r3, r2 80a2e3c: 009b lsls r3, r3, #2 80a2e3e: 4413 add r3, r2 80a2e40: f107 0268 add.w r2, r7, #104 ; 0x68 80a2e44: 4413 add r3, r2 80a2e46: 3b34 subs r3, #52 ; 0x34 80a2e48: 781b ldrb r3, [r3, #0] 80a2e4a: b2db uxtb r3, r3 80a2e4c: 461a mov r2, r3 80a2e4e: 4b07 ldr r3, [pc, #28] ; (80a2e6c ) 80a2e50: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2e54: 22ae movs r2, #174 ; 0xae 80a2e56: 21b4 movs r1, #180 ; 0xb4 80a2e58: 4618 mov r0, r3 80a2e5a: f7b3 f8cb bl 8055ff4 DrawImage(&bmg_dB, 265, 180); 80a2e5e: 22b4 movs r2, #180 ; 0xb4 80a2e60: f240 1109 movw r1, #265 ; 0x109 80a2e64: 480d ldr r0, [pc, #52] ; (80a2e9c ) 80a2e66: f7b3 f8c5 bl 8055ff4 80a2e6a: e31c b.n 80a34a6 80a2e6c: 20020124 .word 0x20020124 80a2e70: 200226f0 .word 0x200226f0 80a2e74: 20023eb8 .word 0x20023eb8 80a2e78: 20020104 .word 0x20020104 80a2e7c: 2002010c .word 0x2002010c 80a2e80: 0816e3f4 .word 0x0816e3f4 80a2e84: ff0a0f1f .word 0xff0a0f1f 80a2e88: ffb8e828 .word 0xffb8e828 80a2e8c: 080d6564 .word 0x080d6564 80a2e90: 080d6570 .word 0x080d6570 80a2e94: cccccccd .word 0xcccccccd 80a2e98: 0816e480 .word 0x0816e480 80a2e9c: 081696cc .word 0x081696cc 80a2ea0: 42c80000 .word 0x42c80000 if(f < 100.0f) 80a2ea4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2ea8: ed1f 7a03 vldr s14, [pc, #-12] ; 80a2ea0 80a2eac: eef4 7ac7 vcmpe.f32 s15, s14 80a2eb0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2eb4: f140 8128 bpl.w 80a3108 ik[ipr][0] = (uint8_t) (k / 100); 80a2eb8: 6d3a ldr r2, [r7, #80] ; 0x50 80a2eba: 6dbb ldr r3, [r7, #88] ; 0x58 80a2ebc: 498c ldr r1, [pc, #560] ; (80a30f0 ) 80a2ebe: fba1 1303 umull r1, r3, r1, r3 80a2ec2: 095b lsrs r3, r3, #5 80a2ec4: b2d9 uxtb r1, r3 80a2ec6: 4613 mov r3, r2 80a2ec8: 009b lsls r3, r3, #2 80a2eca: 4413 add r3, r2 80a2ecc: f107 0268 add.w r2, r7, #104 ; 0x68 80a2ed0: 4413 add r3, r2 80a2ed2: 3b34 subs r3, #52 ; 0x34 80a2ed4: 460a mov r2, r1 80a2ed6: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 100 / 10); 80a2ed8: 6d39 ldr r1, [r7, #80] ; 0x50 80a2eda: 6dba ldr r2, [r7, #88] ; 0x58 80a2edc: 4b84 ldr r3, [pc, #528] ; (80a30f0 ) 80a2ede: fba3 0302 umull r0, r3, r3, r2 80a2ee2: 095b lsrs r3, r3, #5 80a2ee4: 2064 movs r0, #100 ; 0x64 80a2ee6: fb00 f303 mul.w r3, r0, r3 80a2eea: 1ad3 subs r3, r2, r3 80a2eec: 4a81 ldr r2, [pc, #516] ; (80a30f4 ) 80a2eee: fba2 2303 umull r2, r3, r2, r3 80a2ef2: 08db lsrs r3, r3, #3 80a2ef4: b2da uxtb r2, r3 80a2ef6: 460b mov r3, r1 80a2ef8: 009b lsls r3, r3, #2 80a2efa: 440b add r3, r1 80a2efc: f107 0168 add.w r1, r7, #104 ; 0x68 80a2f00: 440b add r3, r1 80a2f02: 3b33 subs r3, #51 ; 0x33 80a2f04: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 100 % 10); 80a2f06: 6d38 ldr r0, [r7, #80] ; 0x50 80a2f08: 6dbb ldr r3, [r7, #88] ; 0x58 80a2f0a: 4a79 ldr r2, [pc, #484] ; (80a30f0 ) 80a2f0c: fba2 1203 umull r1, r2, r2, r3 80a2f10: 0952 lsrs r2, r2, #5 80a2f12: 2164 movs r1, #100 ; 0x64 80a2f14: fb01 f202 mul.w r2, r1, r2 80a2f18: 1a9a subs r2, r3, r2 80a2f1a: 4b76 ldr r3, [pc, #472] ; (80a30f4 ) 80a2f1c: fba3 1302 umull r1, r3, r3, r2 80a2f20: 08d9 lsrs r1, r3, #3 80a2f22: 460b mov r3, r1 80a2f24: 009b lsls r3, r3, #2 80a2f26: 440b add r3, r1 80a2f28: 005b lsls r3, r3, #1 80a2f2a: 1ad1 subs r1, r2, r3 80a2f2c: b2ca uxtb r2, r1 80a2f2e: 4603 mov r3, r0 80a2f30: 009b lsls r3, r3, #2 80a2f32: 4403 add r3, r0 80a2f34: f107 0168 add.w r1, r7, #104 ; 0x68 80a2f38: 440b add r3, r1 80a2f3a: 3b32 subs r3, #50 ; 0x32 80a2f3c: 701a strb r2, [r3, #0] if(ipr == ACC) 80a2f3e: 6d3b ldr r3, [r7, #80] ; 0x50 80a2f40: 2b00 cmp r3, #0 80a2f42: d144 bne.n 80a2fce DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 68+18); 80a2f44: 6d3a ldr r2, [r7, #80] ; 0x50 80a2f46: 4613 mov r3, r2 80a2f48: 009b lsls r3, r3, #2 80a2f4a: 4413 add r3, r2 80a2f4c: f107 0268 add.w r2, r7, #104 ; 0x68 80a2f50: 4413 add r3, r2 80a2f52: 3b32 subs r3, #50 ; 0x32 80a2f54: 781b ldrb r3, [r3, #0] 80a2f56: b2db uxtb r3, r3 80a2f58: 461a mov r2, r3 80a2f5a: 4b67 ldr r3, [pc, #412] ; (80a30f8 ) 80a2f5c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2f60: 2256 movs r2, #86 ; 0x56 80a2f62: 21e6 movs r1, #230 ; 0xe6 80a2f64: 4618 mov r0, r3 80a2f66: f7b3 f845 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a2f6a: 226e movs r2, #110 ; 0x6e 80a2f6c: 21d7 movs r1, #215 ; 0xd7 80a2f6e: 4863 ldr r0, [pc, #396] ; (80a30fc ) 80a2f70: f7b3 f840 bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 68+18); 80a2f74: 6d3a ldr r2, [r7, #80] ; 0x50 80a2f76: 4613 mov r3, r2 80a2f78: 009b lsls r3, r3, #2 80a2f7a: 4413 add r3, r2 80a2f7c: f107 0268 add.w r2, r7, #104 ; 0x68 80a2f80: 4413 add r3, r2 80a2f82: 3b33 subs r3, #51 ; 0x33 80a2f84: 781b ldrb r3, [r3, #0] 80a2f86: b2db uxtb r3, r3 80a2f88: 461a mov r2, r3 80a2f8a: 4b5b ldr r3, [pc, #364] ; (80a30f8 ) 80a2f8c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2f90: 2256 movs r2, #86 ; 0x56 80a2f92: 21b4 movs r1, #180 ; 0xb4 80a2f94: 4618 mov r0, r3 80a2f96: f7b3 f82d bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 68+18); 80a2f9a: 6d3a ldr r2, [r7, #80] ; 0x50 80a2f9c: 4613 mov r3, r2 80a2f9e: 009b lsls r3, r3, #2 80a2fa0: 4413 add r3, r2 80a2fa2: f107 0268 add.w r2, r7, #104 ; 0x68 80a2fa6: 4413 add r3, r2 80a2fa8: 3b34 subs r3, #52 ; 0x34 80a2faa: 781b ldrb r3, [r3, #0] 80a2fac: b2db uxtb r3, r3 80a2fae: 461a mov r2, r3 80a2fb0: 4b51 ldr r3, [pc, #324] ; (80a30f8 ) 80a2fb2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2fb6: 2256 movs r2, #86 ; 0x56 80a2fb8: 2196 movs r1, #150 ; 0x96 80a2fba: 4618 mov r0, r3 80a2fbc: f7b3 f81a bl 8055ff4 DrawImage(&bmg_dB, 265, 74+18); 80a2fc0: 225c movs r2, #92 ; 0x5c 80a2fc2: f240 1109 movw r1, #265 ; 0x109 80a2fc6: 484e ldr r0, [pc, #312] ; (80a3100 ) 80a2fc8: f7b3 f814 bl 8055ff4 80a2fcc: e26b b.n 80a34a6 if(ipr == VEL) 80a2fce: 6d3b ldr r3, [r7, #80] ; 0x50 80a2fd0: 2b01 cmp r3, #1 80a2fd2: d144 bne.n 80a305e DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 121+9); 80a2fd4: 6d3a ldr r2, [r7, #80] ; 0x50 80a2fd6: 4613 mov r3, r2 80a2fd8: 009b lsls r3, r3, #2 80a2fda: 4413 add r3, r2 80a2fdc: f107 0268 add.w r2, r7, #104 ; 0x68 80a2fe0: 4413 add r3, r2 80a2fe2: 3b32 subs r3, #50 ; 0x32 80a2fe4: 781b ldrb r3, [r3, #0] 80a2fe6: b2db uxtb r3, r3 80a2fe8: 461a mov r2, r3 80a2fea: 4b43 ldr r3, [pc, #268] ; (80a30f8 ) 80a2fec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2ff0: 2282 movs r2, #130 ; 0x82 80a2ff2: 21e6 movs r1, #230 ; 0xe6 80a2ff4: 4618 mov r0, r3 80a2ff6: f7b2 fffd bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a2ffa: 229a movs r2, #154 ; 0x9a 80a2ffc: 21d7 movs r1, #215 ; 0xd7 80a2ffe: 483f ldr r0, [pc, #252] ; (80a30fc ) 80a3000: f7b2 fff8 bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 121+9); 80a3004: 6d3a ldr r2, [r7, #80] ; 0x50 80a3006: 4613 mov r3, r2 80a3008: 009b lsls r3, r3, #2 80a300a: 4413 add r3, r2 80a300c: f107 0268 add.w r2, r7, #104 ; 0x68 80a3010: 4413 add r3, r2 80a3012: 3b33 subs r3, #51 ; 0x33 80a3014: 781b ldrb r3, [r3, #0] 80a3016: b2db uxtb r3, r3 80a3018: 461a mov r2, r3 80a301a: 4b37 ldr r3, [pc, #220] ; (80a30f8 ) 80a301c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3020: 2282 movs r2, #130 ; 0x82 80a3022: 21b4 movs r1, #180 ; 0xb4 80a3024: 4618 mov r0, r3 80a3026: f7b2 ffe5 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 121+9); 80a302a: 6d3a ldr r2, [r7, #80] ; 0x50 80a302c: 4613 mov r3, r2 80a302e: 009b lsls r3, r3, #2 80a3030: 4413 add r3, r2 80a3032: f107 0268 add.w r2, r7, #104 ; 0x68 80a3036: 4413 add r3, r2 80a3038: 3b34 subs r3, #52 ; 0x34 80a303a: 781b ldrb r3, [r3, #0] 80a303c: b2db uxtb r3, r3 80a303e: 461a mov r2, r3 80a3040: 4b2d ldr r3, [pc, #180] ; (80a30f8 ) 80a3042: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3046: 2282 movs r2, #130 ; 0x82 80a3048: 2196 movs r1, #150 ; 0x96 80a304a: 4618 mov r0, r3 80a304c: f7b2 ffd2 bl 8055ff4 DrawImage(&bmg_dB, 265, 128+9); 80a3050: 2289 movs r2, #137 ; 0x89 80a3052: f240 1109 movw r1, #265 ; 0x109 80a3056: 482a ldr r0, [pc, #168] ; (80a3100 ) 80a3058: f7b2 ffcc bl 8055ff4 80a305c: e223 b.n 80a34a6 if(ipr == DIS) 80a305e: 6d3b ldr r3, [r7, #80] ; 0x50 80a3060: 2b02 cmp r3, #2 80a3062: f040 8220 bne.w 80a34a6 DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 174); 80a3066: 6d3a ldr r2, [r7, #80] ; 0x50 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: 3b32 subs r3, #50 ; 0x32 80a3076: 781b ldrb r3, [r3, #0] 80a3078: b2db uxtb r3, r3 80a307a: 461a mov r2, r3 80a307c: 4b1e ldr r3, [pc, #120] ; (80a30f8 ) 80a307e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3082: 22ae movs r2, #174 ; 0xae 80a3084: 21e6 movs r1, #230 ; 0xe6 80a3086: 4618 mov r0, r3 80a3088: f7b2 ffb4 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 198); 80a308c: 22c6 movs r2, #198 ; 0xc6 80a308e: 21d7 movs r1, #215 ; 0xd7 80a3090: 481a ldr r0, [pc, #104] ; (80a30fc ) 80a3092: f7b2 ffaf bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 174); 80a3096: 6d3a ldr r2, [r7, #80] ; 0x50 80a3098: 4613 mov r3, r2 80a309a: 009b lsls r3, r3, #2 80a309c: 4413 add r3, r2 80a309e: f107 0268 add.w r2, r7, #104 ; 0x68 80a30a2: 4413 add r3, r2 80a30a4: 3b33 subs r3, #51 ; 0x33 80a30a6: 781b ldrb r3, [r3, #0] 80a30a8: b2db uxtb r3, r3 80a30aa: 461a mov r2, r3 80a30ac: 4b12 ldr r3, [pc, #72] ; (80a30f8 ) 80a30ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a30b2: 22ae movs r2, #174 ; 0xae 80a30b4: 21b4 movs r1, #180 ; 0xb4 80a30b6: 4618 mov r0, r3 80a30b8: f7b2 ff9c bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 174); 80a30bc: 6d3a ldr r2, [r7, #80] ; 0x50 80a30be: 4613 mov r3, r2 80a30c0: 009b lsls r3, r3, #2 80a30c2: 4413 add r3, r2 80a30c4: f107 0268 add.w r2, r7, #104 ; 0x68 80a30c8: 4413 add r3, r2 80a30ca: 3b34 subs r3, #52 ; 0x34 80a30cc: 781b ldrb r3, [r3, #0] 80a30ce: b2db uxtb r3, r3 80a30d0: 461a mov r2, r3 80a30d2: 4b09 ldr r3, [pc, #36] ; (80a30f8 ) 80a30d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a30d8: 22ae movs r2, #174 ; 0xae 80a30da: 2196 movs r1, #150 ; 0x96 80a30dc: 4618 mov r0, r3 80a30de: f7b2 ff89 bl 8055ff4 DrawImage(&bmg_dB, 265, 180); 80a30e2: 22b4 movs r2, #180 ; 0xb4 80a30e4: f240 1109 movw r1, #265 ; 0x109 80a30e8: 4805 ldr r0, [pc, #20] ; (80a3100 ) 80a30ea: f7b2 ff83 bl 8055ff4 80a30ee: e1da b.n 80a34a6 80a30f0: 51eb851f .word 0x51eb851f 80a30f4: cccccccd .word 0xcccccccd 80a30f8: 20020124 .word 0x20020124 80a30fc: 0816e480 .word 0x0816e480 80a3100: 081696cc .word 0x081696cc 80a3104: 447a0000 .word 0x447a0000 if(f < 1000.0f) 80a3108: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a310c: ed1f 7a03 vldr s14, [pc, #-12] ; 80a3104 80a3110: eef4 7ac7 vcmpe.f32 s15, s14 80a3114: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3118: f140 81c5 bpl.w 80a34a6 ik[ipr][0] = (uint8_t) (k / 1000); 80a311c: 6d3a ldr r2, [r7, #80] ; 0x50 80a311e: 6dbb ldr r3, [r7, #88] ; 0x58 80a3120: 49ca ldr r1, [pc, #808] ; (80a344c ) 80a3122: fba1 1303 umull r1, r3, r1, r3 80a3126: 099b lsrs r3, r3, #6 80a3128: b2d9 uxtb r1, r3 80a312a: 4613 mov r3, r2 80a312c: 009b lsls r3, r3, #2 80a312e: 4413 add r3, r2 80a3130: f107 0268 add.w r2, r7, #104 ; 0x68 80a3134: 4413 add r3, r2 80a3136: 3b34 subs r3, #52 ; 0x34 80a3138: 460a mov r2, r1 80a313a: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 1000 / 100); 80a313c: 6d39 ldr r1, [r7, #80] ; 0x50 80a313e: 6dba ldr r2, [r7, #88] ; 0x58 80a3140: 4bc2 ldr r3, [pc, #776] ; (80a344c ) 80a3142: fba3 0302 umull r0, r3, r3, r2 80a3146: 099b lsrs r3, r3, #6 80a3148: f44f 707a mov.w r0, #1000 ; 0x3e8 80a314c: fb00 f303 mul.w r3, r0, r3 80a3150: 1ad3 subs r3, r2, r3 80a3152: 4abf ldr r2, [pc, #764] ; (80a3450 ) 80a3154: fba2 2303 umull r2, r3, r2, r3 80a3158: 095b lsrs r3, r3, #5 80a315a: b2da uxtb r2, r3 80a315c: 460b mov r3, r1 80a315e: 009b lsls r3, r3, #2 80a3160: 440b add r3, r1 80a3162: f107 0168 add.w r1, r7, #104 ; 0x68 80a3166: 440b add r3, r1 80a3168: 3b33 subs r3, #51 ; 0x33 80a316a: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 1000 % 100 / 10); 80a316c: 6d39 ldr r1, [r7, #80] ; 0x50 80a316e: 6dba ldr r2, [r7, #88] ; 0x58 80a3170: 4bb6 ldr r3, [pc, #728] ; (80a344c ) 80a3172: fba3 0302 umull r0, r3, r3, r2 80a3176: 099b lsrs r3, r3, #6 80a3178: f44f 707a mov.w r0, #1000 ; 0x3e8 80a317c: fb00 f303 mul.w r3, r0, r3 80a3180: 1ad3 subs r3, r2, r3 80a3182: 4ab3 ldr r2, [pc, #716] ; (80a3450 ) 80a3184: fba2 0203 umull r0, r2, r2, r3 80a3188: 0952 lsrs r2, r2, #5 80a318a: 2064 movs r0, #100 ; 0x64 80a318c: fb00 f202 mul.w r2, r0, r2 80a3190: 1a9a subs r2, r3, r2 80a3192: 4bb0 ldr r3, [pc, #704] ; (80a3454 ) 80a3194: fba3 2302 umull r2, r3, r3, r2 80a3198: 08db lsrs r3, r3, #3 80a319a: b2da uxtb r2, r3 80a319c: 460b mov r3, r1 80a319e: 009b lsls r3, r3, #2 80a31a0: 440b add r3, r1 80a31a2: f107 0168 add.w r1, r7, #104 ; 0x68 80a31a6: 440b add r3, r1 80a31a8: 3b32 subs r3, #50 ; 0x32 80a31aa: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 1000 % 100 % 10); 80a31ac: 6d38 ldr r0, [r7, #80] ; 0x50 80a31ae: 6dba ldr r2, [r7, #88] ; 0x58 80a31b0: 4ba6 ldr r3, [pc, #664] ; (80a344c ) 80a31b2: fba3 1302 umull r1, r3, r3, r2 80a31b6: 099b lsrs r3, r3, #6 80a31b8: f44f 717a mov.w r1, #1000 ; 0x3e8 80a31bc: fb01 f303 mul.w r3, r1, r3 80a31c0: 1ad3 subs r3, r2, r3 80a31c2: 4aa3 ldr r2, [pc, #652] ; (80a3450 ) 80a31c4: fba2 1203 umull r1, r2, r2, r3 80a31c8: 0952 lsrs r2, r2, #5 80a31ca: 2164 movs r1, #100 ; 0x64 80a31cc: fb01 f202 mul.w r2, r1, r2 80a31d0: 1a9a subs r2, r3, r2 80a31d2: 4ba0 ldr r3, [pc, #640] ; (80a3454 ) 80a31d4: fba3 1302 umull r1, r3, r3, r2 80a31d8: 08d9 lsrs r1, r3, #3 80a31da: 460b mov r3, r1 80a31dc: 009b lsls r3, r3, #2 80a31de: 440b add r3, r1 80a31e0: 005b lsls r3, r3, #1 80a31e2: 1ad1 subs r1, r2, r3 80a31e4: b2ca uxtb r2, r1 80a31e6: 4603 mov r3, r0 80a31e8: 009b lsls r3, r3, #2 80a31ea: 4403 add r3, r0 80a31ec: f107 0168 add.w r1, r7, #104 ; 0x68 80a31f0: 440b add r3, r1 80a31f2: 3b31 subs r3, #49 ; 0x31 80a31f4: 701a strb r2, [r3, #0] if(ipr == ACC) 80a31f6: 6d3b ldr r3, [r7, #80] ; 0x50 80a31f8: 2b00 cmp r3, #0 80a31fa: d157 bne.n 80a32ac DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 68+18); 80a31fc: 6d3a ldr r2, [r7, #80] ; 0x50 80a31fe: 4613 mov r3, r2 80a3200: 009b lsls r3, r3, #2 80a3202: 4413 add r3, r2 80a3204: f107 0268 add.w r2, r7, #104 ; 0x68 80a3208: 4413 add r3, r2 80a320a: 3b31 subs r3, #49 ; 0x31 80a320c: 781b ldrb r3, [r3, #0] 80a320e: b2db uxtb r3, r3 80a3210: 461a mov r2, r3 80a3212: 4b91 ldr r3, [pc, #580] ; (80a3458 ) 80a3214: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3218: 2256 movs r2, #86 ; 0x56 80a321a: 21e6 movs r1, #230 ; 0xe6 80a321c: 4618 mov r0, r3 80a321e: f7b2 fee9 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a3222: 226e movs r2, #110 ; 0x6e 80a3224: 21d7 movs r1, #215 ; 0xd7 80a3226: 488d ldr r0, [pc, #564] ; (80a345c ) 80a3228: f7b2 fee4 bl 8055ff4 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 68+18); 80a322c: 6d3a ldr r2, [r7, #80] ; 0x50 80a322e: 4613 mov r3, r2 80a3230: 009b lsls r3, r3, #2 80a3232: 4413 add r3, r2 80a3234: f107 0268 add.w r2, r7, #104 ; 0x68 80a3238: 4413 add r3, r2 80a323a: 3b32 subs r3, #50 ; 0x32 80a323c: 781b ldrb r3, [r3, #0] 80a323e: b2db uxtb r3, r3 80a3240: 461a mov r2, r3 80a3242: 4b85 ldr r3, [pc, #532] ; (80a3458 ) 80a3244: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3248: 2256 movs r2, #86 ; 0x56 80a324a: 21b4 movs r1, #180 ; 0xb4 80a324c: 4618 mov r0, r3 80a324e: f7b2 fed1 bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 68+18); 80a3252: 6d3a ldr r2, [r7, #80] ; 0x50 80a3254: 4613 mov r3, r2 80a3256: 009b lsls r3, r3, #2 80a3258: 4413 add r3, r2 80a325a: f107 0268 add.w r2, r7, #104 ; 0x68 80a325e: 4413 add r3, r2 80a3260: 3b33 subs r3, #51 ; 0x33 80a3262: 781b ldrb r3, [r3, #0] 80a3264: b2db uxtb r3, r3 80a3266: 461a mov r2, r3 80a3268: 4b7b ldr r3, [pc, #492] ; (80a3458 ) 80a326a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a326e: 2256 movs r2, #86 ; 0x56 80a3270: 2196 movs r1, #150 ; 0x96 80a3272: 4618 mov r0, r3 80a3274: f7b2 febe bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 68+18); 80a3278: 6d3a ldr r2, [r7, #80] ; 0x50 80a327a: 4613 mov r3, r2 80a327c: 009b lsls r3, r3, #2 80a327e: 4413 add r3, r2 80a3280: f107 0268 add.w r2, r7, #104 ; 0x68 80a3284: 4413 add r3, r2 80a3286: 3b34 subs r3, #52 ; 0x34 80a3288: 781b ldrb r3, [r3, #0] 80a328a: b2db uxtb r3, r3 80a328c: 461a mov r2, r3 80a328e: 4b72 ldr r3, [pc, #456] ; (80a3458 ) 80a3290: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3294: 2256 movs r2, #86 ; 0x56 80a3296: 2178 movs r1, #120 ; 0x78 80a3298: 4618 mov r0, r3 80a329a: f7b2 feab bl 8055ff4 DrawImage(&bmg_dB, 265, 74+18); 80a329e: 225c movs r2, #92 ; 0x5c 80a32a0: f240 1109 movw r1, #265 ; 0x109 80a32a4: 486e ldr r0, [pc, #440] ; (80a3460 ) 80a32a6: f7b2 fea5 bl 8055ff4 80a32aa: e0fc b.n 80a34a6 if(ipr == VEL) 80a32ac: 6d3b ldr r3, [r7, #80] ; 0x50 80a32ae: 2b01 cmp r3, #1 80a32b0: d157 bne.n 80a3362 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 121+9); 80a32b2: 6d3a ldr r2, [r7, #80] ; 0x50 80a32b4: 4613 mov r3, r2 80a32b6: 009b lsls r3, r3, #2 80a32b8: 4413 add r3, r2 80a32ba: f107 0268 add.w r2, r7, #104 ; 0x68 80a32be: 4413 add r3, r2 80a32c0: 3b31 subs r3, #49 ; 0x31 80a32c2: 781b ldrb r3, [r3, #0] 80a32c4: b2db uxtb r3, r3 80a32c6: 461a mov r2, r3 80a32c8: 4b63 ldr r3, [pc, #396] ; (80a3458 ) 80a32ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a32ce: 2282 movs r2, #130 ; 0x82 80a32d0: 21e6 movs r1, #230 ; 0xe6 80a32d2: 4618 mov r0, r3 80a32d4: f7b2 fe8e bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a32d8: 229a movs r2, #154 ; 0x9a 80a32da: 21d7 movs r1, #215 ; 0xd7 80a32dc: 485f ldr r0, [pc, #380] ; (80a345c ) 80a32de: f7b2 fe89 bl 8055ff4 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 121+9); 80a32e2: 6d3a ldr r2, [r7, #80] ; 0x50 80a32e4: 4613 mov r3, r2 80a32e6: 009b lsls r3, r3, #2 80a32e8: 4413 add r3, r2 80a32ea: f107 0268 add.w r2, r7, #104 ; 0x68 80a32ee: 4413 add r3, r2 80a32f0: 3b32 subs r3, #50 ; 0x32 80a32f2: 781b ldrb r3, [r3, #0] 80a32f4: b2db uxtb r3, r3 80a32f6: 461a mov r2, r3 80a32f8: 4b57 ldr r3, [pc, #348] ; (80a3458 ) 80a32fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a32fe: 2282 movs r2, #130 ; 0x82 80a3300: 21b4 movs r1, #180 ; 0xb4 80a3302: 4618 mov r0, r3 80a3304: f7b2 fe76 bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 121+9); 80a3308: 6d3a ldr r2, [r7, #80] ; 0x50 80a330a: 4613 mov r3, r2 80a330c: 009b lsls r3, r3, #2 80a330e: 4413 add r3, r2 80a3310: f107 0268 add.w r2, r7, #104 ; 0x68 80a3314: 4413 add r3, r2 80a3316: 3b33 subs r3, #51 ; 0x33 80a3318: 781b ldrb r3, [r3, #0] 80a331a: b2db uxtb r3, r3 80a331c: 461a mov r2, r3 80a331e: 4b4e ldr r3, [pc, #312] ; (80a3458 ) 80a3320: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3324: 2282 movs r2, #130 ; 0x82 80a3326: 2196 movs r1, #150 ; 0x96 80a3328: 4618 mov r0, r3 80a332a: f7b2 fe63 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 121+9); 80a332e: 6d3a ldr r2, [r7, #80] ; 0x50 80a3330: 4613 mov r3, r2 80a3332: 009b lsls r3, r3, #2 80a3334: 4413 add r3, r2 80a3336: f107 0268 add.w r2, r7, #104 ; 0x68 80a333a: 4413 add r3, r2 80a333c: 3b34 subs r3, #52 ; 0x34 80a333e: 781b ldrb r3, [r3, #0] 80a3340: b2db uxtb r3, r3 80a3342: 461a mov r2, r3 80a3344: 4b44 ldr r3, [pc, #272] ; (80a3458 ) 80a3346: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a334a: 2282 movs r2, #130 ; 0x82 80a334c: 2178 movs r1, #120 ; 0x78 80a334e: 4618 mov r0, r3 80a3350: f7b2 fe50 bl 8055ff4 DrawImage(&bmg_dB, 265, 128+9); 80a3354: 2289 movs r2, #137 ; 0x89 80a3356: f240 1109 movw r1, #265 ; 0x109 80a335a: 4841 ldr r0, [pc, #260] ; (80a3460 ) 80a335c: f7b2 fe4a bl 8055ff4 80a3360: e0a1 b.n 80a34a6 if(ipr == DIS) 80a3362: 6d3b ldr r3, [r7, #80] ; 0x50 80a3364: 2b02 cmp r3, #2 80a3366: f040 809e bne.w 80a34a6 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 174); 80a336a: 6d3a ldr r2, [r7, #80] ; 0x50 80a336c: 4613 mov r3, r2 80a336e: 009b lsls r3, r3, #2 80a3370: 4413 add r3, r2 80a3372: f107 0268 add.w r2, r7, #104 ; 0x68 80a3376: 4413 add r3, r2 80a3378: 3b31 subs r3, #49 ; 0x31 80a337a: 781b ldrb r3, [r3, #0] 80a337c: b2db uxtb r3, r3 80a337e: 461a mov r2, r3 80a3380: 4b35 ldr r3, [pc, #212] ; (80a3458 ) 80a3382: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3386: 22ae movs r2, #174 ; 0xae 80a3388: 21e6 movs r1, #230 ; 0xe6 80a338a: 4618 mov r0, r3 80a338c: f7b2 fe32 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 198); 80a3390: 22c6 movs r2, #198 ; 0xc6 80a3392: 21d7 movs r1, #215 ; 0xd7 80a3394: 4831 ldr r0, [pc, #196] ; (80a345c ) 80a3396: f7b2 fe2d bl 8055ff4 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 174); 80a339a: 6d3a ldr r2, [r7, #80] ; 0x50 80a339c: 4613 mov r3, r2 80a339e: 009b lsls r3, r3, #2 80a33a0: 4413 add r3, r2 80a33a2: f107 0268 add.w r2, r7, #104 ; 0x68 80a33a6: 4413 add r3, r2 80a33a8: 3b32 subs r3, #50 ; 0x32 80a33aa: 781b ldrb r3, [r3, #0] 80a33ac: b2db uxtb r3, r3 80a33ae: 461a mov r2, r3 80a33b0: 4b29 ldr r3, [pc, #164] ; (80a3458 ) 80a33b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a33b6: 22ae movs r2, #174 ; 0xae 80a33b8: 21b4 movs r1, #180 ; 0xb4 80a33ba: 4618 mov r0, r3 80a33bc: f7b2 fe1a bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 174); 80a33c0: 6d3a ldr r2, [r7, #80] ; 0x50 80a33c2: 4613 mov r3, r2 80a33c4: 009b lsls r3, r3, #2 80a33c6: 4413 add r3, r2 80a33c8: f107 0268 add.w r2, r7, #104 ; 0x68 80a33cc: 4413 add r3, r2 80a33ce: 3b33 subs r3, #51 ; 0x33 80a33d0: 781b ldrb r3, [r3, #0] 80a33d2: b2db uxtb r3, r3 80a33d4: 461a mov r2, r3 80a33d6: 4b20 ldr r3, [pc, #128] ; (80a3458 ) 80a33d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a33dc: 22ae movs r2, #174 ; 0xae 80a33de: 2196 movs r1, #150 ; 0x96 80a33e0: 4618 mov r0, r3 80a33e2: f7b2 fe07 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 174); 80a33e6: 6d3a ldr r2, [r7, #80] ; 0x50 80a33e8: 4613 mov r3, r2 80a33ea: 009b lsls r3, r3, #2 80a33ec: 4413 add r3, r2 80a33ee: f107 0268 add.w r2, r7, #104 ; 0x68 80a33f2: 4413 add r3, r2 80a33f4: 3b34 subs r3, #52 ; 0x34 80a33f6: 781b ldrb r3, [r3, #0] 80a33f8: b2db uxtb r3, r3 80a33fa: 461a mov r2, r3 80a33fc: 4b16 ldr r3, [pc, #88] ; (80a3458 ) 80a33fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3402: 22ae movs r2, #174 ; 0xae 80a3404: 2178 movs r1, #120 ; 0x78 80a3406: 4618 mov r0, r3 80a3408: f7b2 fdf4 bl 8055ff4 DrawImage(&bmg_dB, 265, 180); 80a340c: 22b4 movs r2, #180 ; 0xb4 80a340e: f240 1109 movw r1, #265 ; 0x109 80a3412: 4813 ldr r0, [pc, #76] ; (80a3460 ) 80a3414: f7b2 fdee bl 8055ff4 80a3418: e045 b.n 80a34a6 if(ipr == VEL) 80a341a: 6d3b ldr r3, [r7, #80] ; 0x50 80a341c: 2b01 cmp r3, #1 80a341e: d12b bne.n 80a3478 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a3420: 4910 ldr r1, [pc, #64] ; (80a3464 ) 80a3422: 4811 ldr r0, [pc, #68] ; (80a3468 ) 80a3424: f7b1 fef2 bl 805520c if(pardata.LANG == RUS) 80a3428: 4b10 ldr r3, [pc, #64] ; (80a346c ) 80a342a: 7b1b ldrb r3, [r3, #12] 80a342c: b2db uxtb r3, r3 80a342e: 2b00 cmp r3, #0 80a3430: d105 bne.n 80a343e LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a3432: 4a0f ldr r2, [pc, #60] ; (80a3470 ) 80a3434: 2187 movs r1, #135 ; 0x87 80a3436: 20a7 movs r0, #167 ; 0xa7 80a3438: f7b2 fca8 bl 8055d8c 80a343c: e033 b.n 80a34a6 else LCD_DisplayStringC(167, 135, "NO DATA"); 80a343e: 4a0d ldr r2, [pc, #52] ; (80a3474 ) 80a3440: 2187 movs r1, #135 ; 0x87 80a3442: 20a7 movs r0, #167 ; 0xa7 80a3444: f7b2 fca2 bl 8055d8c 80a3448: e02d b.n 80a34a6 80a344a: bf00 nop 80a344c: 10624dd3 .word 0x10624dd3 80a3450: 51eb851f .word 0x51eb851f 80a3454: cccccccd .word 0xcccccccd 80a3458: 20020124 .word 0x20020124 80a345c: 0816e480 .word 0x0816e480 80a3460: 081696cc .word 0x081696cc 80a3464: ff0a0f1f .word 0xff0a0f1f 80a3468: ffb8e828 .word 0xffb8e828 80a346c: 20023eb8 .word 0x20023eb8 80a3470: 080d6564 .word 0x080d6564 80a3474: 080d6570 .word 0x080d6570 if(ipr == DIS) 80a3478: 6d3b ldr r3, [r7, #80] ; 0x50 80a347a: 2b02 cmp r3, #2 80a347c: d113 bne.n 80a34a6 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a347e: 49c8 ldr r1, [pc, #800] ; (80a37a0 ) 80a3480: 48c8 ldr r0, [pc, #800] ; (80a37a4 ) 80a3482: f7b1 fec3 bl 805520c if(pardata.LANG == RUS) 80a3486: 4bc8 ldr r3, [pc, #800] ; (80a37a8 ) 80a3488: 7b1b ldrb r3, [r3, #12] 80a348a: b2db uxtb r3, r3 80a348c: 2b00 cmp r3, #0 80a348e: d105 bne.n 80a349c LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a3490: 4ac6 ldr r2, [pc, #792] ; (80a37ac ) 80a3492: 21b9 movs r1, #185 ; 0xb9 80a3494: 20a7 movs r0, #167 ; 0xa7 80a3496: f7b2 fc79 bl 8055d8c 80a349a: e004 b.n 80a34a6 else LCD_DisplayStringC(167, 185, "NO DATA"); 80a349c: 4ac4 ldr r2, [pc, #784] ; (80a37b0 ) 80a349e: 21b9 movs r1, #185 ; 0xb9 80a34a0: 20a7 movs r0, #167 ; 0xa7 80a34a2: f7b2 fc73 bl 8055d8c for(ipr = ACC; ipr <= DIS; ipr++) 80a34a6: 6d3b ldr r3, [r7, #80] ; 0x50 80a34a8: 3301 adds r3, #1 80a34aa: 653b str r3, [r7, #80] ; 0x50 80a34ac: 6d3b ldr r3, [r7, #80] ; 0x50 80a34ae: 2b02 cmp r3, #2 80a34b0: f67e ae98 bls.w 80a21e4 break; 80a34b4: f002 b900 b.w 80a56b8 DrawImage(&bmf, 100, 57+3); 80a34b8: 223c movs r2, #60 ; 0x3c 80a34ba: 2164 movs r1, #100 ; 0x64 80a34bc: 48bd ldr r0, [pc, #756] ; (80a37b4 ) 80a34be: f7b2 fd99 bl 8055ff4 if(NextIndexMeas < IndexMeas[NextIndexPoint]) 80a34c2: 4bbd ldr r3, [pc, #756] ; (80a37b8 ) 80a34c4: 681b ldr r3, [r3, #0] 80a34c6: 4abd ldr r2, [pc, #756] ; (80a37bc ) 80a34c8: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80a34cc: 4bbc ldr r3, [pc, #752] ; (80a37c0 ) 80a34ce: 681b ldr r3, [r3, #0] 80a34d0: 429a cmp r2, r3 80a34d2: d905 bls.n 80a34e0 DrawImage(&bmSAVED, 298, 39); 80a34d4: 2227 movs r2, #39 ; 0x27 80a34d6: f44f 7195 mov.w r1, #298 ; 0x12a 80a34da: 48ba ldr r0, [pc, #744] ; (80a37c4 ) 80a34dc: f7b2 fd8a bl 8055ff4 DrawDetectorType(); 80a34e0: f7f6 fce0 bl 8099ea4 if((!FIRST) && (!RepeatKm) && (Stability > (Nr * 4)) && (FreqFran >= 0.0f) && (!timeRelax)) // 80a34e4: 4bb8 ldr r3, [pc, #736] ; (80a37c8 ) 80a34e6: 781b ldrb r3, [r3, #0] 80a34e8: b2db uxtb r3, r3 80a34ea: f083 0301 eor.w r3, r3, #1 80a34ee: b2db uxtb r3, r3 80a34f0: 2b00 cmp r3, #0 80a34f2: f002 80e1 beq.w 80a56b8 80a34f6: 4bb5 ldr r3, [pc, #724] ; (80a37cc ) 80a34f8: 781b ldrb r3, [r3, #0] 80a34fa: b2db uxtb r3, r3 80a34fc: f083 0301 eor.w r3, r3, #1 80a3500: b2db uxtb r3, r3 80a3502: 2b00 cmp r3, #0 80a3504: f002 80d8 beq.w 80a56b8 80a3508: 4bb1 ldr r3, [pc, #708] ; (80a37d0 ) 80a350a: 881b ldrh r3, [r3, #0] 80a350c: b29b uxth r3, r3 80a350e: 009b lsls r3, r3, #2 80a3510: 461a mov r2, r3 80a3512: 4bb0 ldr r3, [pc, #704] ; (80a37d4 ) 80a3514: 681b ldr r3, [r3, #0] 80a3516: 429a cmp r2, r3 80a3518: f082 80ce bcs.w 80a56b8 80a351c: 4bae ldr r3, [pc, #696] ; (80a37d8 ) 80a351e: edd3 7a00 vldr s15, [r3] 80a3522: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3526: eef1 fa10 vmrs APSR_nzcv, fpscr 80a352a: da01 bge.n 80a3530 break; 80a352c: f002 b8c4 b.w 80a56b8 if((!FIRST) && (!RepeatKm) && (Stability > (Nr * 4)) && (FreqFran >= 0.0f) && (!timeRelax)) // 80a3530: 4baa ldr r3, [pc, #680] ; (80a37dc ) 80a3532: 681b ldr r3, [r3, #0] 80a3534: 2b00 cmp r3, #0 80a3536: f042 80bf bne.w 80a56b8 BSP_LCD_SetFont(&Font15); 80a353a: 48a9 ldr r0, [pc, #676] ; (80a37e0 ) 80a353c: f7b1 fea2 bl 8055284 f = FreqFran; 80a3540: 4ba5 ldr r3, [pc, #660] ; (80a37d8 ) 80a3542: 681b ldr r3, [r3, #0] 80a3544: 647b str r3, [r7, #68] ; 0x44 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80a3546: 4996 ldr r1, [pc, #600] ; (80a37a0 ) 80a3548: f04f 30ff mov.w r0, #4294967295 80a354c: f7b1 fe5e bl 805520c memset(str, 0, sizeof(str)); 80a3550: f107 030c add.w r3, r7, #12 80a3554: 2228 movs r2, #40 ; 0x28 80a3556: 2100 movs r1, #0 80a3558: 4618 mov r0, r3 80a355a: f02e fd23 bl 80d1fa4 if(f <= 0.0f) 80a355e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3562: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3566: eef1 fa10 vmrs APSR_nzcv, fpscr 80a356a: d808 bhi.n 80a357e strcpy(str, "--?--"); 80a356c: f107 030c add.w r3, r7, #12 80a3570: 4a9c ldr r2, [pc, #624] ; (80a37e4 ) 80a3572: e892 0003 ldmia.w r2, {r0, r1} 80a3576: 6018 str r0, [r3, #0] 80a3578: 3304 adds r3, #4 80a357a: 8019 strh r1, [r3, #0] 80a357c: e0b8 b.n 80a36f0 if(f >= 1000.0f) 80a357e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3582: ed9f 7aa1 vldr s14, [pc, #644] ; 80a3808 80a3586: eef4 7ac7 vcmpe.f32 s15, s14 80a358a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a358e: db3b blt.n 80a3608 f *= 0.001f; 80a3590: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3594: ed9f 7a94 vldr s14, [pc, #592] ; 80a37e8 80a3598: ee67 7a87 vmul.f32 s15, s15, s14 80a359c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -2); 80a35a0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a35a4: f06f 0001 mvn.w r0, #1 80a35a8: eeb0 0a67 vmov.f32 s0, s15 80a35ac: f7c4 fdf8 bl 80681a0 80a35b0: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 80a35b2: f107 030c add.w r3, r7, #12 80a35b6: 6e39 ldr r1, [r7, #96] ; 0x60 80a35b8: 4618 mov r0, r3 80a35ba: f02e fe10 bl 80d21de if(pardata.LANG == RUS) strcat(str, " êÃö"); 80a35be: 4b7a ldr r3, [pc, #488] ; (80a37a8 ) 80a35c0: 7b1b ldrb r3, [r3, #12] 80a35c2: b2db uxtb r3, r3 80a35c4: 2b00 cmp r3, #0 80a35c6: d10f bne.n 80a35e8 80a35c8: f107 030c add.w r3, r7, #12 80a35cc: 4618 mov r0, r3 80a35ce: f77c fea1 bl 8020314 80a35d2: 4603 mov r3, r0 80a35d4: 461a mov r2, r3 80a35d6: f107 030c add.w r3, r7, #12 80a35da: 4413 add r3, r2 80a35dc: 4a83 ldr r2, [pc, #524] ; (80a37ec ) 80a35de: 6810 ldr r0, [r2, #0] 80a35e0: 6018 str r0, [r3, #0] 80a35e2: 7912 ldrb r2, [r2, #4] 80a35e4: 711a strb r2, [r3, #4] 80a35e6: e083 b.n 80a36f0 else strcat(str, " kHz"); 80a35e8: f107 030c add.w r3, r7, #12 80a35ec: 4618 mov r0, r3 80a35ee: f77c fe91 bl 8020314 80a35f2: 4603 mov r3, r0 80a35f4: 461a mov r2, r3 80a35f6: f107 030c add.w r3, r7, #12 80a35fa: 4413 add r3, r2 80a35fc: 4a7c ldr r2, [pc, #496] ; (80a37f0 ) 80a35fe: 6810 ldr r0, [r2, #0] 80a3600: 6018 str r0, [r3, #0] 80a3602: 7912 ldrb r2, [r2, #4] 80a3604: 711a strb r2, [r3, #4] 80a3606: e073 b.n 80a36f0 if(f >= 1.0f) 80a3608: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a360c: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80a3610: eef4 7ac7 vcmpe.f32 s15, s14 80a3614: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3618: db2f blt.n 80a367a p8 = (char *) FloatToASCII(f, -2); 80a361a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a361e: f06f 0001 mvn.w r0, #1 80a3622: eeb0 0a67 vmov.f32 s0, s15 80a3626: f7c4 fdbb bl 80681a0 80a362a: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 80a362c: f107 030c add.w r3, r7, #12 80a3630: 6e39 ldr r1, [r7, #96] ; 0x60 80a3632: 4618 mov r0, r3 80a3634: f02e fdd3 bl 80d21de if(pardata.LANG == RUS) strcat(str, " Ãö"); 80a3638: 4b5b ldr r3, [pc, #364] ; (80a37a8 ) 80a363a: 7b1b ldrb r3, [r3, #12] 80a363c: b2db uxtb r3, r3 80a363e: 2b00 cmp r3, #0 80a3640: d10d bne.n 80a365e 80a3642: f107 030c add.w r3, r7, #12 80a3646: 4618 mov r0, r3 80a3648: f77c fe64 bl 8020314 80a364c: 4603 mov r3, r0 80a364e: 461a mov r2, r3 80a3650: f107 030c add.w r3, r7, #12 80a3654: 4413 add r3, r2 80a3656: 4a67 ldr r2, [pc, #412] ; (80a37f4 ) 80a3658: 6810 ldr r0, [r2, #0] 80a365a: 6018 str r0, [r3, #0] 80a365c: e048 b.n 80a36f0 else strcat(str, " Hz"); 80a365e: f107 030c add.w r3, r7, #12 80a3662: 4618 mov r0, r3 80a3664: f77c fe56 bl 8020314 80a3668: 4603 mov r3, r0 80a366a: 461a mov r2, r3 80a366c: f107 030c add.w r3, r7, #12 80a3670: 4413 add r3, r2 80a3672: 4a61 ldr r2, [pc, #388] ; (80a37f8 ) 80a3674: 6810 ldr r0, [r2, #0] 80a3676: 6018 str r0, [r3, #0] 80a3678: e03a b.n 80a36f0 f *= 1000.0f; 80a367a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a367e: ed9f 7a62 vldr s14, [pc, #392] ; 80a3808 80a3682: ee67 7a87 vmul.f32 s15, s15, s14 80a3686: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -3); 80a368a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a368e: f06f 0002 mvn.w r0, #2 80a3692: eeb0 0a67 vmov.f32 s0, s15 80a3696: f7c4 fd83 bl 80681a0 80a369a: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 80a369c: f107 030c add.w r3, r7, #12 80a36a0: 6e39 ldr r1, [r7, #96] ; 0x60 80a36a2: 4618 mov r0, r3 80a36a4: f02e fd9b bl 80d21de if(pardata.LANG == RUS) strcat(str, " ìÃö"); 80a36a8: 4b3f ldr r3, [pc, #252] ; (80a37a8 ) 80a36aa: 7b1b ldrb r3, [r3, #12] 80a36ac: b2db uxtb r3, r3 80a36ae: 2b00 cmp r3, #0 80a36b0: d10f bne.n 80a36d2 80a36b2: f107 030c add.w r3, r7, #12 80a36b6: 4618 mov r0, r3 80a36b8: f77c fe2c bl 8020314 80a36bc: 4603 mov r3, r0 80a36be: 461a mov r2, r3 80a36c0: f107 030c add.w r3, r7, #12 80a36c4: 4413 add r3, r2 80a36c6: 4a4d ldr r2, [pc, #308] ; (80a37fc ) 80a36c8: 6810 ldr r0, [r2, #0] 80a36ca: 6018 str r0, [r3, #0] 80a36cc: 7912 ldrb r2, [r2, #4] 80a36ce: 711a strb r2, [r3, #4] 80a36d0: e00e b.n 80a36f0 else strcat(str, " mHz"); 80a36d2: f107 030c add.w r3, r7, #12 80a36d6: 4618 mov r0, r3 80a36d8: f77c fe1c bl 8020314 80a36dc: 4603 mov r3, r0 80a36de: 461a mov r2, r3 80a36e0: f107 030c add.w r3, r7, #12 80a36e4: 4413 add r3, r2 80a36e6: 4a46 ldr r2, [pc, #280] ; (80a3800 ) 80a36e8: 6810 ldr r0, [r2, #0] 80a36ea: 6018 str r0, [r3, #0] 80a36ec: 7912 ldrb r2, [r2, #4] 80a36ee: 711a strb r2, [r3, #4] BSP_LCD_DisplayStringAt(132, 61+3, str, LEFT_MODE); 80a36f0: f107 020c add.w r2, r7, #12 80a36f4: 2303 movs r3, #3 80a36f6: 2140 movs r1, #64 ; 0x40 80a36f8: 2084 movs r0, #132 ; 0x84 80a36fa: f7b1 fe4d bl 8055398 if(log == false) // Åñëè â ìåòðè÷åñêèõ âåëè÷èíàõ 80a36fe: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80a3702: f083 0301 eor.w r3, r3, #1 80a3706: b2db uxtb r3, r3 80a3708: 2b00 cmp r3, #0 80a370a: f000 85d7 beq.w 80a42bc for(ipr = ACC; ipr <= DIS; ipr++) 80a370e: 2300 movs r3, #0 80a3710: 653b str r3, [r7, #80] ; 0x50 80a3712: f000 bdcd b.w 80a42b0 memset(str, 0, sizeof(str)); 80a3716: f107 030c add.w r3, r7, #12 80a371a: 2228 movs r2, #40 ; 0x28 80a371c: 2100 movs r1, #0 80a371e: 4618 mov r0, r3 80a3720: f02e fc40 bl 80d1fa4 f = ABS(skz[ipr]); 80a3724: 6d3b ldr r3, [r7, #80] ; 0x50 80a3726: 4a37 ldr r2, [pc, #220] ; (80a3804 ) 80a3728: 009b lsls r3, r3, #2 80a372a: 4413 add r3, r2 80a372c: edd3 7a00 vldr s15, [r3] 80a3730: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3734: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3738: dd06 ble.n 80a3748 80a373a: 6d3b ldr r3, [r7, #80] ; 0x50 80a373c: 4a31 ldr r2, [pc, #196] ; (80a3804 ) 80a373e: 009b lsls r3, r3, #2 80a3740: 4413 add r3, r2 80a3742: edd3 7a00 vldr s15, [r3] 80a3746: e007 b.n 80a3758 80a3748: 6d3b ldr r3, [r7, #80] ; 0x50 80a374a: 4a2e ldr r2, [pc, #184] ; (80a3804 ) 80a374c: 009b lsls r3, r3, #2 80a374e: 4413 add r3, r2 80a3750: edd3 7a00 vldr s15, [r3] 80a3754: eef1 7a67 vneg.f32 s15, s15 80a3758: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(ipr < DIS) 80a375c: 6d3b ldr r3, [r7, #80] ; 0x50 80a375e: 2b01 cmp r3, #1 80a3760: f200 80ec bhi.w 80a393c if(f < 10.0f) 80a3764: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3768: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a376c: eef4 7ac7 vcmpe.f32 s15, s14 80a3770: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3774: d550 bpl.n 80a3818 k = (uint32_t) (roundf(f * 10000)); 80a3776: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a377a: ed9f 7a25 vldr s14, [pc, #148] ; 80a3810 80a377e: ee67 7a87 vmul.f32 s15, s15, s14 80a3782: eeb0 0a67 vmov.f32 s0, s15 80a3786: f02c fa0d bl 80cfba4 80a378a: eef0 7a40 vmov.f32 s15, s0 80a378e: eefc 7ae7 vcvt.u32.f32 s15, s15 80a3792: ee17 3a90 vmov r3, s15 80a3796: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a3798: 2301 movs r3, #1 80a379a: 657b str r3, [r7, #84] ; 0x54 80a379c: e1fc b.n 80a3b98 80a379e: bf00 nop 80a37a0: ff0a0f1f .word 0xff0a0f1f 80a37a4: ffb8e828 .word 0xffb8e828 80a37a8: 20023eb8 .word 0x20023eb8 80a37ac: 080d6564 .word 0x080d6564 80a37b0: 080d6570 .word 0x080d6570 80a37b4: 0816421c .word 0x0816421c 80a37b8: 20021fec .word 0x20021fec 80a37bc: 20022ef8 .word 0x20022ef8 80a37c0: 20022360 .word 0x20022360 80a37c4: 0814e4ac .word 0x0814e4ac 80a37c8: 20020dd2 .word 0x20020dd2 80a37cc: 20020dcc .word 0x20020dcc 80a37d0: 20021d70 .word 0x20021d70 80a37d4: 20020dc8 .word 0x20020dc8 80a37d8: 200215b4 .word 0x200215b4 80a37dc: 20020d8c .word 0x20020d8c 80a37e0: 20020040 .word 0x20020040 80a37e4: 080d74a8 .word 0x080d74a8 80a37e8: 3a83126f .word 0x3a83126f 80a37ec: 080d7480 .word 0x080d7480 80a37f0: 080d7488 .word 0x080d7488 80a37f4: 080d7490 .word 0x080d7490 80a37f8: 080d7494 .word 0x080d7494 80a37fc: 080d7498 .word 0x080d7498 80a3800: 080d74a0 .word 0x080d74a0 80a3804: 20021590 .word 0x20021590 80a3808: 447a0000 .word 0x447a0000 80a380c: 42c80000 .word 0x42c80000 80a3810: 461c4000 .word 0x461c4000 80a3814: 47c35000 .word 0x47c35000 if(f < 100.0f) 80a3818: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a381c: ed1f 7a05 vldr s14, [pc, #-20] ; 80a380c 80a3820: eef4 7ac7 vcmpe.f32 s15, s14 80a3824: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3828: d513 bpl.n 80a3852 k = (uint32_t) (roundf(f * 1000)); 80a382a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a382e: ed1f 7a0a vldr s14, [pc, #-40] ; 80a3808 80a3832: ee67 7a87 vmul.f32 s15, s15, s14 80a3836: eeb0 0a67 vmov.f32 s0, s15 80a383a: f02c f9b3 bl 80cfba4 80a383e: eef0 7a40 vmov.f32 s15, s0 80a3842: eefc 7ae7 vcvt.u32.f32 s15, s15 80a3846: ee17 3a90 vmov r3, s15 80a384a: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a384c: 2302 movs r3, #2 80a384e: 657b str r3, [r7, #84] ; 0x54 80a3850: e1a2 b.n 80a3b98 if(f < 1000.0f) 80a3852: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3856: ed1f 7a14 vldr s14, [pc, #-80] ; 80a3808 80a385a: eef4 7ac7 vcmpe.f32 s15, s14 80a385e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3862: d513 bpl.n 80a388c k = (uint32_t) (roundf(f * 100)); 80a3864: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3868: ed1f 7a18 vldr s14, [pc, #-96] ; 80a380c 80a386c: ee67 7a87 vmul.f32 s15, s15, s14 80a3870: eeb0 0a67 vmov.f32 s0, s15 80a3874: f02c f996 bl 80cfba4 80a3878: eef0 7a40 vmov.f32 s15, s0 80a387c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a3880: ee17 3a90 vmov r3, s15 80a3884: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a3886: 2303 movs r3, #3 80a3888: 657b str r3, [r7, #84] ; 0x54 80a388a: e185 b.n 80a3b98 if(f < 10000.0f) 80a388c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3890: ed1f 7a21 vldr s14, [pc, #-132] ; 80a3810 80a3894: eef4 7ac7 vcmpe.f32 s15, s14 80a3898: eef1 fa10 vmrs APSR_nzcv, fpscr 80a389c: d513 bpl.n 80a38c6 k = (uint32_t) (roundf(f * 10)); 80a389e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a38a2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a38a6: ee67 7a87 vmul.f32 s15, s15, s14 80a38aa: eeb0 0a67 vmov.f32 s0, s15 80a38ae: f02c f979 bl 80cfba4 80a38b2: eef0 7a40 vmov.f32 s15, s0 80a38b6: eefc 7ae7 vcvt.u32.f32 s15, s15 80a38ba: ee17 3a90 vmov r3, s15 80a38be: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a38c0: 2304 movs r3, #4 80a38c2: 657b str r3, [r7, #84] ; 0x54 80a38c4: e168 b.n 80a3b98 if(f < 100000.0f) 80a38c6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a38ca: ed1f 7a2e vldr s14, [pc, #-184] ; 80a3814 80a38ce: eef4 7ac7 vcmpe.f32 s15, s14 80a38d2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a38d6: d515 bpl.n 80a3904 k = (uint32_t) (roundf(f)); 80a38d8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a38dc: eeb0 0a67 vmov.f32 s0, s15 80a38e0: f02c f960 bl 80cfba4 80a38e4: eef0 7a40 vmov.f32 s15, s0 80a38e8: eefc 7ae7 vcvt.u32.f32 s15, s15 80a38ec: ee17 3a90 vmov r3, s15 80a38f0: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a38f2: 6dbb ldr r3, [r7, #88] ; 0x58 80a38f4: 4a8e ldr r2, [pc, #568] ; (80a3b30 ) 80a38f6: 4293 cmp r3, r2 80a38f8: d901 bls.n 80a38fe k = 99999; 80a38fa: 4b8d ldr r3, [pc, #564] ; (80a3b30 ) 80a38fc: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a38fe: 2300 movs r3, #0 80a3900: 657b str r3, [r7, #84] ; 0x54 80a3902: e149 b.n 80a3b98 if(f >= 100000.0f) 80a3904: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3908: ed9f 7a8a vldr s14, [pc, #552] ; 80a3b34 80a390c: eef4 7ac7 vcmpe.f32 s15, s14 80a3910: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3914: f2c0 8140 blt.w 80a3b98 f = 99999.0f; 80a3918: 4b87 ldr r3, [pc, #540] ; (80a3b38 ) 80a391a: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a391c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3920: eeb0 0a67 vmov.f32 s0, s15 80a3924: f02c f93e bl 80cfba4 80a3928: eef0 7a40 vmov.f32 s15, s0 80a392c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a3930: ee17 3a90 vmov r3, s15 80a3934: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a3936: 2300 movs r3, #0 80a3938: 657b str r3, [r7, #84] ; 0x54 80a393a: e12d b.n 80a3b98 if(f < 10.0f) 80a393c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3940: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a3944: eef4 7ac7 vcmpe.f32 s15, s14 80a3948: eef1 fa10 vmrs APSR_nzcv, fpscr 80a394c: d515 bpl.n 80a397a k = (uint32_t) (roundf(f * 10000)); 80a394e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3952: ed9f 7a7a vldr s14, [pc, #488] ; 80a3b3c 80a3956: ee67 7a87 vmul.f32 s15, s15, s14 80a395a: eeb0 0a67 vmov.f32 s0, s15 80a395e: f02c f921 bl 80cfba4 80a3962: eef0 7a40 vmov.f32 s15, s0 80a3966: eefc 7ae7 vcvt.u32.f32 s15, s15 80a396a: ee17 3a90 vmov r3, s15 80a396e: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a3970: 2301 movs r3, #1 80a3972: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a3974: 2300 movs r3, #0 80a3976: 64fb str r3, [r7, #76] ; 0x4c 80a3978: e10e b.n 80a3b98 if(f < 100.0f) 80a397a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a397e: ed9f 7a70 vldr s14, [pc, #448] ; 80a3b40 80a3982: eef4 7ac7 vcmpe.f32 s15, s14 80a3986: eef1 fa10 vmrs APSR_nzcv, fpscr 80a398a: d515 bpl.n 80a39b8 k = (uint32_t) (roundf(f * 1000)); 80a398c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3990: ed9f 7a6c vldr s14, [pc, #432] ; 80a3b44 80a3994: ee67 7a87 vmul.f32 s15, s15, s14 80a3998: eeb0 0a67 vmov.f32 s0, s15 80a399c: f02c f902 bl 80cfba4 80a39a0: eef0 7a40 vmov.f32 s15, s0 80a39a4: eefc 7ae7 vcvt.u32.f32 s15, s15 80a39a8: ee17 3a90 vmov r3, s15 80a39ac: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a39ae: 2302 movs r3, #2 80a39b0: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a39b2: 2300 movs r3, #0 80a39b4: 64fb str r3, [r7, #76] ; 0x4c 80a39b6: e0ef b.n 80a3b98 if(f < 1000.0f) 80a39b8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a39bc: ed9f 7a61 vldr s14, [pc, #388] ; 80a3b44 80a39c0: eef4 7ac7 vcmpe.f32 s15, s14 80a39c4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a39c8: d515 bpl.n 80a39f6 k = (uint32_t) (roundf(f * 100)); 80a39ca: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a39ce: ed9f 7a5c vldr s14, [pc, #368] ; 80a3b40 80a39d2: ee67 7a87 vmul.f32 s15, s15, s14 80a39d6: eeb0 0a67 vmov.f32 s0, s15 80a39da: f02c f8e3 bl 80cfba4 80a39de: eef0 7a40 vmov.f32 s15, s0 80a39e2: eefc 7ae7 vcvt.u32.f32 s15, s15 80a39e6: ee17 3a90 vmov r3, s15 80a39ea: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a39ec: 2303 movs r3, #3 80a39ee: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a39f0: 2300 movs r3, #0 80a39f2: 64fb str r3, [r7, #76] ; 0x4c 80a39f4: e0d0 b.n 80a3b98 if(f < 10000.0f) 80a39f6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a39fa: ed9f 7a50 vldr s14, [pc, #320] ; 80a3b3c 80a39fe: eef4 7ac7 vcmpe.f32 s15, s14 80a3a02: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3a06: d515 bpl.n 80a3a34 k = (uint32_t) (roundf(f * 10)); 80a3a08: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3a0c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a3a10: ee67 7a87 vmul.f32 s15, s15, s14 80a3a14: eeb0 0a67 vmov.f32 s0, s15 80a3a18: f02c f8c4 bl 80cfba4 80a3a1c: eef0 7a40 vmov.f32 s15, s0 80a3a20: eefc 7ae7 vcvt.u32.f32 s15, s15 80a3a24: ee17 3a90 vmov r3, s15 80a3a28: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a3a2a: 2301 movs r3, #1 80a3a2c: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a3a2e: 2301 movs r3, #1 80a3a30: 64fb str r3, [r7, #76] ; 0x4c 80a3a32: e0b1 b.n 80a3b98 if(f < 100000.0f) 80a3a34: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3a38: ed9f 7a3e vldr s14, [pc, #248] ; 80a3b34 80a3a3c: eef4 7ac7 vcmpe.f32 s15, s14 80a3a40: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3a44: d511 bpl.n 80a3a6a k = (uint32_t) (roundf(f)); 80a3a46: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3a4a: eeb0 0a67 vmov.f32 s0, s15 80a3a4e: f02c f8a9 bl 80cfba4 80a3a52: eef0 7a40 vmov.f32 s15, s0 80a3a56: eefc 7ae7 vcvt.u32.f32 s15, s15 80a3a5a: ee17 3a90 vmov r3, s15 80a3a5e: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a3a60: 2302 movs r3, #2 80a3a62: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a3a64: 2301 movs r3, #1 80a3a66: 64fb str r3, [r7, #76] ; 0x4c 80a3a68: e096 b.n 80a3b98 if(f < 1000000.0f) 80a3a6a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3a6e: ed9f 7a36 vldr s14, [pc, #216] ; 80a3b48 80a3a72: eef4 7ac7 vcmpe.f32 s15, s14 80a3a76: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3a7a: d515 bpl.n 80a3aa8 k = (uint32_t) (roundf(f * 0.1f)); 80a3a7c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3a80: ed9f 7a32 vldr s14, [pc, #200] ; 80a3b4c 80a3a84: ee67 7a87 vmul.f32 s15, s15, s14 80a3a88: eeb0 0a67 vmov.f32 s0, s15 80a3a8c: f02c f88a bl 80cfba4 80a3a90: eef0 7a40 vmov.f32 s15, s0 80a3a94: eefc 7ae7 vcvt.u32.f32 s15, s15 80a3a98: ee17 3a90 vmov r3, s15 80a3a9c: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a3a9e: 2303 movs r3, #3 80a3aa0: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a3aa2: 2301 movs r3, #1 80a3aa4: 64fb str r3, [r7, #76] ; 0x4c 80a3aa6: e077 b.n 80a3b98 if(f < 10000000.0f) 80a3aa8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3aac: ed9f 7a28 vldr s14, [pc, #160] ; 80a3b50 80a3ab0: eef4 7ac7 vcmpe.f32 s15, s14 80a3ab4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3ab8: d515 bpl.n 80a3ae6 k = (uint32_t) (roundf(f * 0.01f)); 80a3aba: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3abe: ed9f 7a25 vldr s14, [pc, #148] ; 80a3b54 80a3ac2: ee67 7a87 vmul.f32 s15, s15, s14 80a3ac6: eeb0 0a67 vmov.f32 s0, s15 80a3aca: f02c f86b bl 80cfba4 80a3ace: eef0 7a40 vmov.f32 s15, s0 80a3ad2: eefc 7ae7 vcvt.u32.f32 s15, s15 80a3ad6: ee17 3a90 vmov r3, s15 80a3ada: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a3adc: 2304 movs r3, #4 80a3ade: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a3ae0: 2301 movs r3, #1 80a3ae2: 64fb str r3, [r7, #76] ; 0x4c 80a3ae4: e058 b.n 80a3b98 if(f < 100000000.0f) 80a3ae6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3aea: ed9f 7a1c vldr s14, [pc, #112] ; 80a3b5c 80a3aee: eef4 7ac7 vcmpe.f32 s15, s14 80a3af2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3af6: d533 bpl.n 80a3b60 k = (uint32_t) (roundf(f * 0.001f)); 80a3af8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3afc: ed9f 7a16 vldr s14, [pc, #88] ; 80a3b58 80a3b00: ee67 7a87 vmul.f32 s15, s15, s14 80a3b04: eeb0 0a67 vmov.f32 s0, s15 80a3b08: f02c f84c bl 80cfba4 80a3b0c: eef0 7a40 vmov.f32 s15, s0 80a3b10: eefc 7ae7 vcvt.u32.f32 s15, s15 80a3b14: ee17 3a90 vmov r3, s15 80a3b18: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a3b1a: 6dbb ldr r3, [r7, #88] ; 0x58 80a3b1c: 4a04 ldr r2, [pc, #16] ; (80a3b30 ) 80a3b1e: 4293 cmp r3, r2 80a3b20: d901 bls.n 80a3b26 k = 99999; 80a3b22: 4b03 ldr r3, [pc, #12] ; (80a3b30 ) 80a3b24: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a3b26: 2300 movs r3, #0 80a3b28: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a3b2a: 2301 movs r3, #1 80a3b2c: 64fb str r3, [r7, #76] ; 0x4c 80a3b2e: e033 b.n 80a3b98 80a3b30: 0001869f .word 0x0001869f 80a3b34: 47c35000 .word 0x47c35000 80a3b38: 47c34f80 .word 0x47c34f80 80a3b3c: 461c4000 .word 0x461c4000 80a3b40: 42c80000 .word 0x42c80000 80a3b44: 447a0000 .word 0x447a0000 80a3b48: 49742400 .word 0x49742400 80a3b4c: 3dcccccd .word 0x3dcccccd 80a3b50: 4b189680 .word 0x4b189680 80a3b54: 3c23d70a .word 0x3c23d70a 80a3b58: 3a83126f .word 0x3a83126f 80a3b5c: 4cbebc20 .word 0x4cbebc20 if(f >= 100000000.0f) 80a3b60: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3b64: ed1f 7a03 vldr s14, [pc, #-12] ; 80a3b5c 80a3b68: eef4 7ac7 vcmpe.f32 s15, s14 80a3b6c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3b70: db12 blt.n 80a3b98 f = 99999.0f; 80a3b72: 4bc4 ldr r3, [pc, #784] ; (80a3e84 ) 80a3b74: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a3b76: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3b7a: eeb0 0a67 vmov.f32 s0, s15 80a3b7e: f02c f811 bl 80cfba4 80a3b82: eef0 7a40 vmov.f32 s15, s0 80a3b86: eefc 7ae7 vcvt.u32.f32 s15, s15 80a3b8a: ee17 3a90 vmov r3, s15 80a3b8e: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a3b90: 2300 movs r3, #0 80a3b92: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a3b94: 2301 movs r3, #1 80a3b96: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 80a3b98: 6d3a ldr r2, [r7, #80] ; 0x50 80a3b9a: 6dbb ldr r3, [r7, #88] ; 0x58 80a3b9c: 49ba ldr r1, [pc, #744] ; (80a3e88 ) 80a3b9e: fba1 1303 umull r1, r3, r1, r3 80a3ba2: 0b5b lsrs r3, r3, #13 80a3ba4: b2d9 uxtb r1, r3 80a3ba6: 4613 mov r3, r2 80a3ba8: 009b lsls r3, r3, #2 80a3baa: 4413 add r3, r2 80a3bac: f107 0268 add.w r2, r7, #104 ; 0x68 80a3bb0: 4413 add r3, r2 80a3bb2: 3b34 subs r3, #52 ; 0x34 80a3bb4: 460a mov r2, r1 80a3bb6: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 80a3bb8: 6d39 ldr r1, [r7, #80] ; 0x50 80a3bba: 6dba ldr r2, [r7, #88] ; 0x58 80a3bbc: 4bb2 ldr r3, [pc, #712] ; (80a3e88 ) 80a3bbe: fba3 0302 umull r0, r3, r3, r2 80a3bc2: 0b5b lsrs r3, r3, #13 80a3bc4: f242 7010 movw r0, #10000 ; 0x2710 80a3bc8: fb00 f303 mul.w r3, r0, r3 80a3bcc: 1ad3 subs r3, r2, r3 80a3bce: 4aaf ldr r2, [pc, #700] ; (80a3e8c ) 80a3bd0: fba2 2303 umull r2, r3, r2, r3 80a3bd4: 099b lsrs r3, r3, #6 80a3bd6: b2da uxtb r2, r3 80a3bd8: 460b mov r3, r1 80a3bda: 009b lsls r3, r3, #2 80a3bdc: 440b add r3, r1 80a3bde: f107 0168 add.w r1, r7, #104 ; 0x68 80a3be2: 440b add r3, r1 80a3be4: 3b33 subs r3, #51 ; 0x33 80a3be6: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 80a3be8: 6d39 ldr r1, [r7, #80] ; 0x50 80a3bea: 6dba ldr r2, [r7, #88] ; 0x58 80a3bec: 4ba6 ldr r3, [pc, #664] ; (80a3e88 ) 80a3bee: fba3 0302 umull r0, r3, r3, r2 80a3bf2: 0b5b lsrs r3, r3, #13 80a3bf4: f242 7010 movw r0, #10000 ; 0x2710 80a3bf8: fb00 f303 mul.w r3, r0, r3 80a3bfc: 1ad3 subs r3, r2, r3 80a3bfe: 4aa3 ldr r2, [pc, #652] ; (80a3e8c ) 80a3c00: fba2 0203 umull r0, r2, r2, r3 80a3c04: 0992 lsrs r2, r2, #6 80a3c06: f44f 707a mov.w r0, #1000 ; 0x3e8 80a3c0a: fb00 f202 mul.w r2, r0, r2 80a3c0e: 1a9a subs r2, r3, r2 80a3c10: 4b9f ldr r3, [pc, #636] ; (80a3e90 ) 80a3c12: fba3 2302 umull r2, r3, r3, r2 80a3c16: 095b lsrs r3, r3, #5 80a3c18: b2da uxtb r2, r3 80a3c1a: 460b mov r3, r1 80a3c1c: 009b lsls r3, r3, #2 80a3c1e: 440b add r3, r1 80a3c20: f107 0168 add.w r1, r7, #104 ; 0x68 80a3c24: 440b add r3, r1 80a3c26: 3b32 subs r3, #50 ; 0x32 80a3c28: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 80a3c2a: 6d39 ldr r1, [r7, #80] ; 0x50 80a3c2c: 6dbb ldr r3, [r7, #88] ; 0x58 80a3c2e: 4a96 ldr r2, [pc, #600] ; (80a3e88 ) 80a3c30: fba2 0203 umull r0, r2, r2, r3 80a3c34: 0b52 lsrs r2, r2, #13 80a3c36: f242 7010 movw r0, #10000 ; 0x2710 80a3c3a: fb00 f202 mul.w r2, r0, r2 80a3c3e: 1a9a subs r2, r3, r2 80a3c40: 4b92 ldr r3, [pc, #584] ; (80a3e8c ) 80a3c42: fba3 0302 umull r0, r3, r3, r2 80a3c46: 099b lsrs r3, r3, #6 80a3c48: f44f 707a mov.w r0, #1000 ; 0x3e8 80a3c4c: fb00 f303 mul.w r3, r0, r3 80a3c50: 1ad3 subs r3, r2, r3 80a3c52: 4a8f ldr r2, [pc, #572] ; (80a3e90 ) 80a3c54: fba2 0203 umull r0, r2, r2, r3 80a3c58: 0952 lsrs r2, r2, #5 80a3c5a: 2064 movs r0, #100 ; 0x64 80a3c5c: fb00 f202 mul.w r2, r0, r2 80a3c60: 1a9a subs r2, r3, r2 80a3c62: 4b8c ldr r3, [pc, #560] ; (80a3e94 ) 80a3c64: fba3 2302 umull r2, r3, r3, r2 80a3c68: 08db lsrs r3, r3, #3 80a3c6a: b2da uxtb r2, r3 80a3c6c: 460b mov r3, r1 80a3c6e: 009b lsls r3, r3, #2 80a3c70: 440b add r3, r1 80a3c72: f107 0168 add.w r1, r7, #104 ; 0x68 80a3c76: 440b add r3, r1 80a3c78: 3b31 subs r3, #49 ; 0x31 80a3c7a: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 80a3c7c: 6d38 ldr r0, [r7, #80] ; 0x50 80a3c7e: 6dbb ldr r3, [r7, #88] ; 0x58 80a3c80: 4a81 ldr r2, [pc, #516] ; (80a3e88 ) 80a3c82: fba2 1203 umull r1, r2, r2, r3 80a3c86: 0b52 lsrs r2, r2, #13 80a3c88: f242 7110 movw r1, #10000 ; 0x2710 80a3c8c: fb01 f202 mul.w r2, r1, r2 80a3c90: 1a9a subs r2, r3, r2 80a3c92: 4b7e ldr r3, [pc, #504] ; (80a3e8c ) 80a3c94: fba3 1302 umull r1, r3, r3, r2 80a3c98: 099b lsrs r3, r3, #6 80a3c9a: f44f 717a mov.w r1, #1000 ; 0x3e8 80a3c9e: fb01 f303 mul.w r3, r1, r3 80a3ca2: 1ad3 subs r3, r2, r3 80a3ca4: 4a7a ldr r2, [pc, #488] ; (80a3e90 ) 80a3ca6: fba2 1203 umull r1, r2, r2, r3 80a3caa: 0952 lsrs r2, r2, #5 80a3cac: 2164 movs r1, #100 ; 0x64 80a3cae: fb01 f202 mul.w r2, r1, r2 80a3cb2: 1a9a subs r2, r3, r2 80a3cb4: 4b77 ldr r3, [pc, #476] ; (80a3e94 ) 80a3cb6: fba3 1302 umull r1, r3, r3, r2 80a3cba: 08d9 lsrs r1, r3, #3 80a3cbc: 460b mov r3, r1 80a3cbe: 009b lsls r3, r3, #2 80a3cc0: 440b add r3, r1 80a3cc2: 005b lsls r3, r3, #1 80a3cc4: 1ad1 subs r1, r2, r3 80a3cc6: b2ca uxtb r2, r1 80a3cc8: 4603 mov r3, r0 80a3cca: 009b lsls r3, r3, #2 80a3ccc: 4403 add r3, r0 80a3cce: f107 0168 add.w r1, r7, #104 ; 0x68 80a3cd2: 440b add r3, r1 80a3cd4: 3b30 subs r3, #48 ; 0x30 80a3cd6: 701a strb r2, [r3, #0] if(skz[ipr] != -1.0f) // 80a3cd8: 6d3b ldr r3, [r7, #80] ; 0x50 80a3cda: 4a6f ldr r2, [pc, #444] ; (80a3e98 ) 80a3cdc: 009b lsls r3, r3, #2 80a3cde: 4413 add r3, r2 80a3ce0: edd3 7a00 vldr s15, [r3] 80a3ce4: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a3ce8: eef4 7a47 vcmp.f32 s15, s14 80a3cec: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3cf0: f000 82a2 beq.w 80a4238 if(ipr == ACC) 80a3cf4: 6d3b ldr r3, [r7, #80] ; 0x50 80a3cf6: 2b00 cmp r3, #0 80a3cf8: f040 80dc bne.w 80a3eb4 if(!t) 80a3cfc: 6d7b ldr r3, [r7, #84] ; 0x54 80a3cfe: 2b00 cmp r3, #0 80a3d00: d126 bne.n 80a3d50 for(i = 0; i < 5; i++) 80a3d02: 2300 movs r3, #0 80a3d04: 65fb str r3, [r7, #92] ; 0x5c 80a3d06: e01f b.n 80a3d48 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a3d08: 6d3a ldr r2, [r7, #80] ; 0x50 80a3d0a: 6df9 ldr r1, [r7, #92] ; 0x5c 80a3d0c: 4613 mov r3, r2 80a3d0e: 009b lsls r3, r3, #2 80a3d10: 4413 add r3, r2 80a3d12: f107 0268 add.w r2, r7, #104 ; 0x68 80a3d16: 4413 add r3, r2 80a3d18: 440b add r3, r1 80a3d1a: 3b34 subs r3, #52 ; 0x34 80a3d1c: 781b ldrb r3, [r3, #0] 80a3d1e: b2db uxtb r3, r3 80a3d20: 461a mov r2, r3 80a3d22: 4b5e ldr r3, [pc, #376] ; (80a3e9c ) 80a3d24: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3d28: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3d2a: b29b uxth r3, r3 80a3d2c: 461a mov r2, r3 80a3d2e: 0112 lsls r2, r2, #4 80a3d30: 1ad3 subs r3, r2, r3 80a3d32: 005b lsls r3, r3, #1 80a3d34: b29b uxth r3, r3 80a3d36: 335a adds r3, #90 ; 0x5a 80a3d38: b29b uxth r3, r3 80a3d3a: 2256 movs r2, #86 ; 0x56 80a3d3c: 4619 mov r1, r3 80a3d3e: f7b2 f959 bl 8055ff4 for(i = 0; i < 5; i++) 80a3d42: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3d44: 3301 adds r3, #1 80a3d46: 65fb str r3, [r7, #92] ; 0x5c 80a3d48: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3d4a: 2b04 cmp r3, #4 80a3d4c: d9dc bls.n 80a3d08 80a3d4e: e05a b.n 80a3e06 for(i = 0; i < t; i++) 80a3d50: 2300 movs r3, #0 80a3d52: 65fb str r3, [r7, #92] ; 0x5c 80a3d54: e01f b.n 80a3d96 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a3d56: 6d3a ldr r2, [r7, #80] ; 0x50 80a3d58: 6df9 ldr r1, [r7, #92] ; 0x5c 80a3d5a: 4613 mov r3, r2 80a3d5c: 009b lsls r3, r3, #2 80a3d5e: 4413 add r3, r2 80a3d60: f107 0268 add.w r2, r7, #104 ; 0x68 80a3d64: 4413 add r3, r2 80a3d66: 440b add r3, r1 80a3d68: 3b34 subs r3, #52 ; 0x34 80a3d6a: 781b ldrb r3, [r3, #0] 80a3d6c: b2db uxtb r3, r3 80a3d6e: 461a mov r2, r3 80a3d70: 4b4a ldr r3, [pc, #296] ; (80a3e9c ) 80a3d72: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3d76: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3d78: b29b uxth r3, r3 80a3d7a: 461a mov r2, r3 80a3d7c: 0112 lsls r2, r2, #4 80a3d7e: 1ad3 subs r3, r2, r3 80a3d80: 005b lsls r3, r3, #1 80a3d82: b29b uxth r3, r3 80a3d84: 335a adds r3, #90 ; 0x5a 80a3d86: b29b uxth r3, r3 80a3d88: 2256 movs r2, #86 ; 0x56 80a3d8a: 4619 mov r1, r3 80a3d8c: f7b2 f932 bl 8055ff4 for(i = 0; i < t; i++) 80a3d90: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3d92: 3301 adds r3, #1 80a3d94: 65fb str r3, [r7, #92] ; 0x5c 80a3d96: 6dfa ldr r2, [r7, #92] ; 0x5c 80a3d98: 6d7b ldr r3, [r7, #84] ; 0x54 80a3d9a: 429a cmp r2, r3 80a3d9c: d3db bcc.n 80a3d56 DrawImage(&bmgpt, 95 + 30*t, 92+18); 80a3d9e: 6d7b ldr r3, [r7, #84] ; 0x54 80a3da0: b29b uxth r3, r3 80a3da2: 461a mov r2, r3 80a3da4: 0112 lsls r2, r2, #4 80a3da6: 1ad3 subs r3, r2, r3 80a3da8: 005b lsls r3, r3, #1 80a3daa: b29b uxth r3, r3 80a3dac: 335f adds r3, #95 ; 0x5f 80a3dae: b29b uxth r3, r3 80a3db0: 226e movs r2, #110 ; 0x6e 80a3db2: 4619 mov r1, r3 80a3db4: 483a ldr r0, [pc, #232] ; (80a3ea0 ) 80a3db6: f7b2 f91d bl 8055ff4 for(i = t; i < 5; i++) 80a3dba: 6d7b ldr r3, [r7, #84] ; 0x54 80a3dbc: 65fb str r3, [r7, #92] ; 0x5c 80a3dbe: e01f b.n 80a3e00 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 80a3dc0: 6d3a ldr r2, [r7, #80] ; 0x50 80a3dc2: 6df9 ldr r1, [r7, #92] ; 0x5c 80a3dc4: 4613 mov r3, r2 80a3dc6: 009b lsls r3, r3, #2 80a3dc8: 4413 add r3, r2 80a3dca: f107 0268 add.w r2, r7, #104 ; 0x68 80a3dce: 4413 add r3, r2 80a3dd0: 440b add r3, r1 80a3dd2: 3b34 subs r3, #52 ; 0x34 80a3dd4: 781b ldrb r3, [r3, #0] 80a3dd6: b2db uxtb r3, r3 80a3dd8: 461a mov r2, r3 80a3dda: 4b30 ldr r3, [pc, #192] ; (80a3e9c ) 80a3ddc: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3de0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3de2: b29b uxth r3, r3 80a3de4: 461a mov r2, r3 80a3de6: 0112 lsls r2, r2, #4 80a3de8: 1ad3 subs r3, r2, r3 80a3dea: 005b lsls r3, r3, #1 80a3dec: b29b uxth r3, r3 80a3dee: 336e adds r3, #110 ; 0x6e 80a3df0: b29b uxth r3, r3 80a3df2: 2256 movs r2, #86 ; 0x56 80a3df4: 4619 mov r1, r3 80a3df6: f7b2 f8fd bl 8055ff4 for(i = t; i < 5; i++) 80a3dfa: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3dfc: 3301 adds r3, #1 80a3dfe: 65fb str r3, [r7, #92] ; 0x5c 80a3e00: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3e02: 2b04 cmp r3, #4 80a3e04: d9dc bls.n 80a3dc0 if(pardata.IVS[ACC] < PEAK_FACTOR) 80a3e06: 4b27 ldr r3, [pc, #156] ; (80a3ea4 ) 80a3e08: 789b ldrb r3, [r3, #2] 80a3e0a: b2db uxtb r3, r3 80a3e0c: 2b02 cmp r3, #2 80a3e0e: d81f bhi.n 80a3e50 if(pardata.IIN != VOLTS) 80a3e10: 4b24 ldr r3, [pc, #144] ; (80a3ea4 ) 80a3e12: 799b ldrb r3, [r3, #6] 80a3e14: b2db uxtb r3, r3 80a3e16: 2b02 cmp r3, #2 80a3e18: d00d beq.n 80a3e36 DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 80a3e1a: 4b22 ldr r3, [pc, #136] ; (80a3ea4 ) 80a3e1c: 7b1b ldrb r3, [r3, #12] 80a3e1e: b2db uxtb r3, r3 80a3e20: 461a mov r2, r3 80a3e22: 4b21 ldr r3, [pc, #132] ; (80a3ea8 ) 80a3e24: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3e28: 225c movs r2, #92 ; 0x5c 80a3e2a: f240 1109 movw r1, #265 ; 0x109 80a3e2e: 4618 mov r0, r3 80a3e30: f7b2 f8e0 bl 8055ff4 80a3e34: e00c b.n 80a3e50 else DrawImage(BMG_MV[pardata.LANG], 265, 74+18); 80a3e36: 4b1b ldr r3, [pc, #108] ; (80a3ea4 ) 80a3e38: 7b1b ldrb r3, [r3, #12] 80a3e3a: b2db uxtb r3, r3 80a3e3c: 461a mov r2, r3 80a3e3e: 4b1b ldr r3, [pc, #108] ; (80a3eac ) 80a3e40: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3e44: 225c movs r2, #92 ; 0x5c 80a3e46: f240 1109 movw r1, #265 ; 0x109 80a3e4a: 4618 mov r0, r3 80a3e4c: f7b2 f8d2 bl 8055ff4 if(pardata.IVS[ipr] == EXCESS) 80a3e50: 6d3b ldr r3, [r7, #80] ; 0x50 80a3e52: 4a14 ldr r2, [pc, #80] ; (80a3ea4 ) 80a3e54: 4413 add r3, r2 80a3e56: 789b ldrb r3, [r3, #2] 80a3e58: b2db uxtb r3, r3 80a3e5a: 2b04 cmp r3, #4 80a3e5c: f040 8225 bne.w 80a42aa if(skz[ipr] < 0.0f) { 80a3e60: 6d3b ldr r3, [r7, #80] ; 0x50 80a3e62: 4a0d ldr r2, [pc, #52] ; (80a3e98 ) 80a3e64: 009b lsls r3, r3, #2 80a3e66: 4413 add r3, r2 80a3e68: edd3 7a00 vldr s15, [r3] 80a3e6c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3e70: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3e74: f140 8219 bpl.w 80a42aa DrawImage(&bmgminus, 78, 84+18); 80a3e78: 2266 movs r2, #102 ; 0x66 80a3e7a: 214e movs r1, #78 ; 0x4e 80a3e7c: 480c ldr r0, [pc, #48] ; (80a3eb0 ) 80a3e7e: f7b2 f8b9 bl 8055ff4 80a3e82: e212 b.n 80a42aa 80a3e84: 47c34f80 .word 0x47c34f80 80a3e88: d1b71759 .word 0xd1b71759 80a3e8c: 10624dd3 .word 0x10624dd3 80a3e90: 51eb851f .word 0x51eb851f 80a3e94: cccccccd .word 0xcccccccd 80a3e98: 20021590 .word 0x20021590 80a3e9c: 20020124 .word 0x20020124 80a3ea0: 0816e480 .word 0x0816e480 80a3ea4: 20023eb8 .word 0x20023eb8 80a3ea8: 200200f4 .word 0x200200f4 80a3eac: 20020114 .word 0x20020114 80a3eb0: 0816e3f4 .word 0x0816e3f4 if(ipr == VEL) 80a3eb4: 6d3b ldr r3, [r7, #80] ; 0x50 80a3eb6: 2b01 cmp r3, #1 80a3eb8: f040 80c4 bne.w 80a4044 if(!t) 80a3ebc: 6d7b ldr r3, [r7, #84] ; 0x54 80a3ebe: 2b00 cmp r3, #0 80a3ec0: d126 bne.n 80a3f10 for(i = 0; i < 5; i++) 80a3ec2: 2300 movs r3, #0 80a3ec4: 65fb str r3, [r7, #92] ; 0x5c 80a3ec6: e01f b.n 80a3f08 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a3ec8: 6d3a ldr r2, [r7, #80] ; 0x50 80a3eca: 6df9 ldr r1, [r7, #92] ; 0x5c 80a3ecc: 4613 mov r3, r2 80a3ece: 009b lsls r3, r3, #2 80a3ed0: 4413 add r3, r2 80a3ed2: f107 0268 add.w r2, r7, #104 ; 0x68 80a3ed6: 4413 add r3, r2 80a3ed8: 440b add r3, r1 80a3eda: 3b34 subs r3, #52 ; 0x34 80a3edc: 781b ldrb r3, [r3, #0] 80a3ede: b2db uxtb r3, r3 80a3ee0: 461a mov r2, r3 80a3ee2: 4bb1 ldr r3, [pc, #708] ; (80a41a8 ) 80a3ee4: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3ee8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3eea: b29b uxth r3, r3 80a3eec: 461a mov r2, r3 80a3eee: 0112 lsls r2, r2, #4 80a3ef0: 1ad3 subs r3, r2, r3 80a3ef2: 005b lsls r3, r3, #1 80a3ef4: b29b uxth r3, r3 80a3ef6: 335a adds r3, #90 ; 0x5a 80a3ef8: b29b uxth r3, r3 80a3efa: 2282 movs r2, #130 ; 0x82 80a3efc: 4619 mov r1, r3 80a3efe: f7b2 f879 bl 8055ff4 for(i = 0; i < 5; i++) 80a3f02: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3f04: 3301 adds r3, #1 80a3f06: 65fb str r3, [r7, #92] ; 0x5c 80a3f08: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3f0a: 2b04 cmp r3, #4 80a3f0c: d9dc bls.n 80a3ec8 80a3f0e: e05a b.n 80a3fc6 for(i = 0; i < t; i++) 80a3f10: 2300 movs r3, #0 80a3f12: 65fb str r3, [r7, #92] ; 0x5c 80a3f14: e01f b.n 80a3f56 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a3f16: 6d3a ldr r2, [r7, #80] ; 0x50 80a3f18: 6df9 ldr r1, [r7, #92] ; 0x5c 80a3f1a: 4613 mov r3, r2 80a3f1c: 009b lsls r3, r3, #2 80a3f1e: 4413 add r3, r2 80a3f20: f107 0268 add.w r2, r7, #104 ; 0x68 80a3f24: 4413 add r3, r2 80a3f26: 440b add r3, r1 80a3f28: 3b34 subs r3, #52 ; 0x34 80a3f2a: 781b ldrb r3, [r3, #0] 80a3f2c: b2db uxtb r3, r3 80a3f2e: 461a mov r2, r3 80a3f30: 4b9d ldr r3, [pc, #628] ; (80a41a8 ) 80a3f32: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3f36: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3f38: b29b uxth r3, r3 80a3f3a: 461a mov r2, r3 80a3f3c: 0112 lsls r2, r2, #4 80a3f3e: 1ad3 subs r3, r2, r3 80a3f40: 005b lsls r3, r3, #1 80a3f42: b29b uxth r3, r3 80a3f44: 335a adds r3, #90 ; 0x5a 80a3f46: b29b uxth r3, r3 80a3f48: 2282 movs r2, #130 ; 0x82 80a3f4a: 4619 mov r1, r3 80a3f4c: f7b2 f852 bl 8055ff4 for(i = 0; i < t; i++) 80a3f50: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3f52: 3301 adds r3, #1 80a3f54: 65fb str r3, [r7, #92] ; 0x5c 80a3f56: 6dfa ldr r2, [r7, #92] ; 0x5c 80a3f58: 6d7b ldr r3, [r7, #84] ; 0x54 80a3f5a: 429a cmp r2, r3 80a3f5c: d3db bcc.n 80a3f16 DrawImage(&bmgpt, 95 + 30*t, 145+9); 80a3f5e: 6d7b ldr r3, [r7, #84] ; 0x54 80a3f60: b29b uxth r3, r3 80a3f62: 461a mov r2, r3 80a3f64: 0112 lsls r2, r2, #4 80a3f66: 1ad3 subs r3, r2, r3 80a3f68: 005b lsls r3, r3, #1 80a3f6a: b29b uxth r3, r3 80a3f6c: 335f adds r3, #95 ; 0x5f 80a3f6e: b29b uxth r3, r3 80a3f70: 229a movs r2, #154 ; 0x9a 80a3f72: 4619 mov r1, r3 80a3f74: 488d ldr r0, [pc, #564] ; (80a41ac ) 80a3f76: f7b2 f83d bl 8055ff4 for(i = t; i < 5; i++) 80a3f7a: 6d7b ldr r3, [r7, #84] ; 0x54 80a3f7c: 65fb str r3, [r7, #92] ; 0x5c 80a3f7e: e01f b.n 80a3fc0 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 80a3f80: 6d3a ldr r2, [r7, #80] ; 0x50 80a3f82: 6df9 ldr r1, [r7, #92] ; 0x5c 80a3f84: 4613 mov r3, r2 80a3f86: 009b lsls r3, r3, #2 80a3f88: 4413 add r3, r2 80a3f8a: f107 0268 add.w r2, r7, #104 ; 0x68 80a3f8e: 4413 add r3, r2 80a3f90: 440b add r3, r1 80a3f92: 3b34 subs r3, #52 ; 0x34 80a3f94: 781b ldrb r3, [r3, #0] 80a3f96: b2db uxtb r3, r3 80a3f98: 461a mov r2, r3 80a3f9a: 4b83 ldr r3, [pc, #524] ; (80a41a8 ) 80a3f9c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3fa0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3fa2: b29b uxth r3, r3 80a3fa4: 461a mov r2, r3 80a3fa6: 0112 lsls r2, r2, #4 80a3fa8: 1ad3 subs r3, r2, r3 80a3faa: 005b lsls r3, r3, #1 80a3fac: b29b uxth r3, r3 80a3fae: 336e adds r3, #110 ; 0x6e 80a3fb0: b29b uxth r3, r3 80a3fb2: 2282 movs r2, #130 ; 0x82 80a3fb4: 4619 mov r1, r3 80a3fb6: f7b2 f81d bl 8055ff4 for(i = t; i < 5; i++) 80a3fba: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3fbc: 3301 adds r3, #1 80a3fbe: 65fb str r3, [r7, #92] ; 0x5c 80a3fc0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3fc2: 2b04 cmp r3, #4 80a3fc4: d9dc bls.n 80a3f80 if(pardata.IVS[VEL] < PEAK_FACTOR) 80a3fc6: 4b7a ldr r3, [pc, #488] ; (80a41b0 ) 80a3fc8: 78db ldrb r3, [r3, #3] 80a3fca: b2db uxtb r3, r3 80a3fcc: 2b02 cmp r3, #2 80a3fce: d81f bhi.n 80a4010 if(pardata.IIN != VOLTS) 80a3fd0: 4b77 ldr r3, [pc, #476] ; (80a41b0 ) 80a3fd2: 799b ldrb r3, [r3, #6] 80a3fd4: b2db uxtb r3, r3 80a3fd6: 2b02 cmp r3, #2 80a3fd8: d00d beq.n 80a3ff6 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 80a3fda: 4b75 ldr r3, [pc, #468] ; (80a41b0 ) 80a3fdc: 7b1b ldrb r3, [r3, #12] 80a3fde: b2db uxtb r3, r3 80a3fe0: 461a mov r2, r3 80a3fe2: 4b74 ldr r3, [pc, #464] ; (80a41b4 ) 80a3fe4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3fe8: 2289 movs r2, #137 ; 0x89 80a3fea: f240 1109 movw r1, #265 ; 0x109 80a3fee: 4618 mov r0, r3 80a3ff0: f7b2 f800 bl 8055ff4 80a3ff4: e00c b.n 80a4010 else DrawImage(BMG_MV[pardata.LANG], 265, 128+9); 80a3ff6: 4b6e ldr r3, [pc, #440] ; (80a41b0 ) 80a3ff8: 7b1b ldrb r3, [r3, #12] 80a3ffa: b2db uxtb r3, r3 80a3ffc: 461a mov r2, r3 80a3ffe: 4b6e ldr r3, [pc, #440] ; (80a41b8 ) 80a4000: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4004: 2289 movs r2, #137 ; 0x89 80a4006: f240 1109 movw r1, #265 ; 0x109 80a400a: 4618 mov r0, r3 80a400c: f7b1 fff2 bl 8055ff4 if(pardata.IVS[ipr] == EXCESS) 80a4010: 6d3b ldr r3, [r7, #80] ; 0x50 80a4012: 4a67 ldr r2, [pc, #412] ; (80a41b0 ) 80a4014: 4413 add r3, r2 80a4016: 789b ldrb r3, [r3, #2] 80a4018: b2db uxtb r3, r3 80a401a: 2b04 cmp r3, #4 80a401c: f040 8145 bne.w 80a42aa if(skz[ipr] < 0.0f) { 80a4020: 6d3b ldr r3, [r7, #80] ; 0x50 80a4022: 4a66 ldr r2, [pc, #408] ; (80a41bc ) 80a4024: 009b lsls r3, r3, #2 80a4026: 4413 add r3, r2 80a4028: edd3 7a00 vldr s15, [r3] 80a402c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4030: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4034: f140 8139 bpl.w 80a42aa DrawImage(&bmgminus, 78, 138+9); 80a4038: 2293 movs r2, #147 ; 0x93 80a403a: 214e movs r1, #78 ; 0x4e 80a403c: 4860 ldr r0, [pc, #384] ; (80a41c0 ) 80a403e: f7b1 ffd9 bl 8055ff4 80a4042: e132 b.n 80a42aa if(ipr == DIS) 80a4044: 6d3b ldr r3, [r7, #80] ; 0x50 80a4046: 2b02 cmp r3, #2 80a4048: f040 812f bne.w 80a42aa if(!t) 80a404c: 6d7b ldr r3, [r7, #84] ; 0x54 80a404e: 2b00 cmp r3, #0 80a4050: d126 bne.n 80a40a0 for(i = 0; i < 5; i++) 80a4052: 2300 movs r3, #0 80a4054: 65fb str r3, [r7, #92] ; 0x5c 80a4056: e01f b.n 80a4098 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a4058: 6d3a ldr r2, [r7, #80] ; 0x50 80a405a: 6df9 ldr r1, [r7, #92] ; 0x5c 80a405c: 4613 mov r3, r2 80a405e: 009b lsls r3, r3, #2 80a4060: 4413 add r3, r2 80a4062: f107 0268 add.w r2, r7, #104 ; 0x68 80a4066: 4413 add r3, r2 80a4068: 440b add r3, r1 80a406a: 3b34 subs r3, #52 ; 0x34 80a406c: 781b ldrb r3, [r3, #0] 80a406e: b2db uxtb r3, r3 80a4070: 461a mov r2, r3 80a4072: 4b4d ldr r3, [pc, #308] ; (80a41a8 ) 80a4074: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a4078: 6dfb ldr r3, [r7, #92] ; 0x5c 80a407a: b29b uxth r3, r3 80a407c: 461a mov r2, r3 80a407e: 0112 lsls r2, r2, #4 80a4080: 1ad3 subs r3, r2, r3 80a4082: 005b lsls r3, r3, #1 80a4084: b29b uxth r3, r3 80a4086: 335a adds r3, #90 ; 0x5a 80a4088: b29b uxth r3, r3 80a408a: 22ae movs r2, #174 ; 0xae 80a408c: 4619 mov r1, r3 80a408e: f7b1 ffb1 bl 8055ff4 for(i = 0; i < 5; i++) 80a4092: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4094: 3301 adds r3, #1 80a4096: 65fb str r3, [r7, #92] ; 0x5c 80a4098: 6dfb ldr r3, [r7, #92] ; 0x5c 80a409a: 2b04 cmp r3, #4 80a409c: d9dc bls.n 80a4058 80a409e: e05a b.n 80a4156 for(i = 0; i < t; i++) 80a40a0: 2300 movs r3, #0 80a40a2: 65fb str r3, [r7, #92] ; 0x5c 80a40a4: e01f b.n 80a40e6 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a40a6: 6d3a ldr r2, [r7, #80] ; 0x50 80a40a8: 6df9 ldr r1, [r7, #92] ; 0x5c 80a40aa: 4613 mov r3, r2 80a40ac: 009b lsls r3, r3, #2 80a40ae: 4413 add r3, r2 80a40b0: f107 0268 add.w r2, r7, #104 ; 0x68 80a40b4: 4413 add r3, r2 80a40b6: 440b add r3, r1 80a40b8: 3b34 subs r3, #52 ; 0x34 80a40ba: 781b ldrb r3, [r3, #0] 80a40bc: b2db uxtb r3, r3 80a40be: 461a mov r2, r3 80a40c0: 4b39 ldr r3, [pc, #228] ; (80a41a8 ) 80a40c2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a40c6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a40c8: b29b uxth r3, r3 80a40ca: 461a mov r2, r3 80a40cc: 0112 lsls r2, r2, #4 80a40ce: 1ad3 subs r3, r2, r3 80a40d0: 005b lsls r3, r3, #1 80a40d2: b29b uxth r3, r3 80a40d4: 335a adds r3, #90 ; 0x5a 80a40d6: b29b uxth r3, r3 80a40d8: 22ae movs r2, #174 ; 0xae 80a40da: 4619 mov r1, r3 80a40dc: f7b1 ff8a bl 8055ff4 for(i = 0; i < t; i++) 80a40e0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a40e2: 3301 adds r3, #1 80a40e4: 65fb str r3, [r7, #92] ; 0x5c 80a40e6: 6dfa ldr r2, [r7, #92] ; 0x5c 80a40e8: 6d7b ldr r3, [r7, #84] ; 0x54 80a40ea: 429a cmp r2, r3 80a40ec: d3db bcc.n 80a40a6 DrawImage(&bmgpt, 95 + 30*t, 198); 80a40ee: 6d7b ldr r3, [r7, #84] ; 0x54 80a40f0: b29b uxth r3, r3 80a40f2: 461a mov r2, r3 80a40f4: 0112 lsls r2, r2, #4 80a40f6: 1ad3 subs r3, r2, r3 80a40f8: 005b lsls r3, r3, #1 80a40fa: b29b uxth r3, r3 80a40fc: 335f adds r3, #95 ; 0x5f 80a40fe: b29b uxth r3, r3 80a4100: 22c6 movs r2, #198 ; 0xc6 80a4102: 4619 mov r1, r3 80a4104: 4829 ldr r0, [pc, #164] ; (80a41ac ) 80a4106: f7b1 ff75 bl 8055ff4 for(i = t; i < 5; i++) 80a410a: 6d7b ldr r3, [r7, #84] ; 0x54 80a410c: 65fb str r3, [r7, #92] ; 0x5c 80a410e: e01f b.n 80a4150 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 80a4110: 6d3a ldr r2, [r7, #80] ; 0x50 80a4112: 6df9 ldr r1, [r7, #92] ; 0x5c 80a4114: 4613 mov r3, r2 80a4116: 009b lsls r3, r3, #2 80a4118: 4413 add r3, r2 80a411a: f107 0268 add.w r2, r7, #104 ; 0x68 80a411e: 4413 add r3, r2 80a4120: 440b add r3, r1 80a4122: 3b34 subs r3, #52 ; 0x34 80a4124: 781b ldrb r3, [r3, #0] 80a4126: b2db uxtb r3, r3 80a4128: 461a mov r2, r3 80a412a: 4b1f ldr r3, [pc, #124] ; (80a41a8 ) 80a412c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a4130: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4132: b29b uxth r3, r3 80a4134: 461a mov r2, r3 80a4136: 0112 lsls r2, r2, #4 80a4138: 1ad3 subs r3, r2, r3 80a413a: 005b lsls r3, r3, #1 80a413c: b29b uxth r3, r3 80a413e: 336e adds r3, #110 ; 0x6e 80a4140: b29b uxth r3, r3 80a4142: 22ae movs r2, #174 ; 0xae 80a4144: 4619 mov r1, r3 80a4146: f7b1 ff55 bl 8055ff4 for(i = t; i < 5; i++) 80a414a: 6dfb ldr r3, [r7, #92] ; 0x5c 80a414c: 3301 adds r3, #1 80a414e: 65fb str r3, [r7, #92] ; 0x5c 80a4150: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4152: 2b04 cmp r3, #4 80a4154: d9dc bls.n 80a4110 if(pardata.IVS[DIS] < PEAK_FACTOR) 80a4156: 4b16 ldr r3, [pc, #88] ; (80a41b0 ) 80a4158: 791b ldrb r3, [r3, #4] 80a415a: b2db uxtb r3, r3 80a415c: 2b02 cmp r3, #2 80a415e: d853 bhi.n 80a4208 if(pardata.IIN != VOLTS) 80a4160: 4b13 ldr r3, [pc, #76] ; (80a41b0 ) 80a4162: 799b ldrb r3, [r3, #6] 80a4164: b2db uxtb r3, r3 80a4166: 2b02 cmp r3, #2 80a4168: d030 beq.n 80a41cc if(m == 0) 80a416a: 6cfb ldr r3, [r7, #76] ; 0x4c 80a416c: 2b00 cmp r3, #0 80a416e: d10d bne.n 80a418c DrawImage(BMG_MKM[pardata.LANG], 265, 180); 80a4170: 4b0f ldr r3, [pc, #60] ; (80a41b0 ) 80a4172: 7b1b ldrb r3, [r3, #12] 80a4174: b2db uxtb r3, r3 80a4176: 461a mov r2, r3 80a4178: 4b12 ldr r3, [pc, #72] ; (80a41c4 ) 80a417a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a417e: 22b4 movs r2, #180 ; 0xb4 80a4180: f240 1109 movw r1, #265 ; 0x109 80a4184: 4618 mov r0, r3 80a4186: f7b1 ff35 bl 8055ff4 80a418a: e03d b.n 80a4208 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 80a418c: 4b08 ldr r3, [pc, #32] ; (80a41b0 ) 80a418e: 7b1b ldrb r3, [r3, #12] 80a4190: b2db uxtb r3, r3 80a4192: 461a mov r2, r3 80a4194: 4b0c ldr r3, [pc, #48] ; (80a41c8 ) 80a4196: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a419a: 22b4 movs r2, #180 ; 0xb4 80a419c: f240 1109 movw r1, #265 ; 0x109 80a41a0: 4618 mov r0, r3 80a41a2: f7b1 ff27 bl 8055ff4 80a41a6: e02f b.n 80a4208 80a41a8: 20020124 .word 0x20020124 80a41ac: 0816e480 .word 0x0816e480 80a41b0: 20023eb8 .word 0x20023eb8 80a41b4: 200200fc .word 0x200200fc 80a41b8: 20020114 .word 0x20020114 80a41bc: 20021590 .word 0x20021590 80a41c0: 0816e3f4 .word 0x0816e3f4 80a41c4: 20020104 .word 0x20020104 80a41c8: 2002010c .word 0x2002010c if(m == 0) 80a41cc: 6cfb ldr r3, [r7, #76] ; 0x4c 80a41ce: 2b00 cmp r3, #0 80a41d0: d10d bne.n 80a41ee DrawImage(BMG_MV[pardata.LANG], 265, 180); 80a41d2: 4bca ldr r3, [pc, #808] ; (80a44fc ) 80a41d4: 7b1b ldrb r3, [r3, #12] 80a41d6: b2db uxtb r3, r3 80a41d8: 461a mov r2, r3 80a41da: 4bc9 ldr r3, [pc, #804] ; (80a4500 ) 80a41dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a41e0: 22b4 movs r2, #180 ; 0xb4 80a41e2: f240 1109 movw r1, #265 ; 0x109 80a41e6: 4618 mov r0, r3 80a41e8: f7b1 ff04 bl 8055ff4 80a41ec: e00c b.n 80a4208 else DrawImage(BMG_V[pardata.LANG], 265, 180); 80a41ee: 4bc3 ldr r3, [pc, #780] ; (80a44fc ) 80a41f0: 7b1b ldrb r3, [r3, #12] 80a41f2: b2db uxtb r3, r3 80a41f4: 461a mov r2, r3 80a41f6: 4bc3 ldr r3, [pc, #780] ; (80a4504 ) 80a41f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a41fc: 22b4 movs r2, #180 ; 0xb4 80a41fe: f240 1109 movw r1, #265 ; 0x109 80a4202: 4618 mov r0, r3 80a4204: f7b1 fef6 bl 8055ff4 if(pardata.IVS[ipr] == EXCESS) 80a4208: 6d3b ldr r3, [r7, #80] ; 0x50 80a420a: 4abc ldr r2, [pc, #752] ; (80a44fc ) 80a420c: 4413 add r3, r2 80a420e: 789b ldrb r3, [r3, #2] 80a4210: b2db uxtb r3, r3 80a4212: 2b04 cmp r3, #4 80a4214: d149 bne.n 80a42aa if(skz[ipr] < 0.0f) { 80a4216: 6d3b ldr r3, [r7, #80] ; 0x50 80a4218: 4abb ldr r2, [pc, #748] ; (80a4508 ) 80a421a: 009b lsls r3, r3, #2 80a421c: 4413 add r3, r2 80a421e: edd3 7a00 vldr s15, [r3] 80a4222: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4226: eef1 fa10 vmrs APSR_nzcv, fpscr 80a422a: d53e bpl.n 80a42aa DrawImage(&bmgminus, 78, 190); 80a422c: 22be movs r2, #190 ; 0xbe 80a422e: 214e movs r1, #78 ; 0x4e 80a4230: 48b6 ldr r0, [pc, #728] ; (80a450c ) 80a4232: f7b1 fedf bl 8055ff4 80a4236: e038 b.n 80a42aa if(skz[ACC] != -1.0f) 80a4238: 4bb3 ldr r3, [pc, #716] ; (80a4508 ) 80a423a: edd3 7a00 vldr s15, [r3] 80a423e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a4242: eef4 7a47 vcmp.f32 s15, s14 80a4246: eef1 fa10 vmrs APSR_nzcv, fpscr 80a424a: d02e beq.n 80a42aa if(ipr == VEL) 80a424c: 6d3b ldr r3, [r7, #80] ; 0x50 80a424e: 2b01 cmp r3, #1 80a4250: d114 bne.n 80a427c LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a4252: 49af ldr r1, [pc, #700] ; (80a4510 ) 80a4254: 48af ldr r0, [pc, #700] ; (80a4514 ) 80a4256: f7b0 ffd9 bl 805520c if(pardata.LANG == RUS) 80a425a: 4ba8 ldr r3, [pc, #672] ; (80a44fc ) 80a425c: 7b1b ldrb r3, [r3, #12] 80a425e: b2db uxtb r3, r3 80a4260: 2b00 cmp r3, #0 80a4262: d105 bne.n 80a4270 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a4264: 4aac ldr r2, [pc, #688] ; (80a4518 ) 80a4266: 2187 movs r1, #135 ; 0x87 80a4268: 20a7 movs r0, #167 ; 0xa7 80a426a: f7b1 fd8f bl 8055d8c 80a426e: e01c b.n 80a42aa else LCD_DisplayStringC(167, 135, "NO DATA"); 80a4270: 4aaa ldr r2, [pc, #680] ; (80a451c ) 80a4272: 2187 movs r1, #135 ; 0x87 80a4274: 20a7 movs r0, #167 ; 0xa7 80a4276: f7b1 fd89 bl 8055d8c 80a427a: e016 b.n 80a42aa if(ipr == DIS) 80a427c: 6d3b ldr r3, [r7, #80] ; 0x50 80a427e: 2b02 cmp r3, #2 80a4280: d113 bne.n 80a42aa LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a4282: 49a3 ldr r1, [pc, #652] ; (80a4510 ) 80a4284: 48a3 ldr r0, [pc, #652] ; (80a4514 ) 80a4286: f7b0 ffc1 bl 805520c if(pardata.LANG == RUS) 80a428a: 4b9c ldr r3, [pc, #624] ; (80a44fc ) 80a428c: 7b1b ldrb r3, [r3, #12] 80a428e: b2db uxtb r3, r3 80a4290: 2b00 cmp r3, #0 80a4292: d105 bne.n 80a42a0 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a4294: 4aa0 ldr r2, [pc, #640] ; (80a4518 ) 80a4296: 21b9 movs r1, #185 ; 0xb9 80a4298: 20a7 movs r0, #167 ; 0xa7 80a429a: f7b1 fd77 bl 8055d8c 80a429e: e004 b.n 80a42aa else LCD_DisplayStringC(167, 185, "NO DATA"); 80a42a0: 4a9e ldr r2, [pc, #632] ; (80a451c ) 80a42a2: 21b9 movs r1, #185 ; 0xb9 80a42a4: 20a7 movs r0, #167 ; 0xa7 80a42a6: f7b1 fd71 bl 8055d8c for(ipr = ACC; ipr <= DIS; ipr++) 80a42aa: 6d3b ldr r3, [r7, #80] ; 0x50 80a42ac: 3301 adds r3, #1 80a42ae: 653b str r3, [r7, #80] ; 0x50 80a42b0: 6d3b ldr r3, [r7, #80] ; 0x50 80a42b2: 2b02 cmp r3, #2 80a42b4: f67f aa2f bls.w 80a3716 break; 80a42b8: f001 b9fe b.w 80a56b8 for(ipr = ACC; ipr <= DIS; ipr++) 80a42bc: 2300 movs r3, #0 80a42be: 653b str r3, [r7, #80] ; 0x50 80a42c0: f001 b9f0 b.w 80a56a4 if(pardata.IVS[ipr] >= PEAK_FACTOR) 80a42c4: 6d3b ldr r3, [r7, #80] ; 0x50 80a42c6: 4a8d ldr r2, [pc, #564] ; (80a44fc ) 80a42c8: 4413 add r3, r2 80a42ca: 789b ldrb r3, [r3, #2] 80a42cc: b2db uxtb r3, r3 80a42ce: 2b02 cmp r3, #2 80a42d0: f240 85a9 bls.w 80a4e26 memset(str, 0, sizeof(str)); 80a42d4: f107 030c add.w r3, r7, #12 80a42d8: 2228 movs r2, #40 ; 0x28 80a42da: 2100 movs r1, #0 80a42dc: 4618 mov r0, r3 80a42de: f02d fe61 bl 80d1fa4 f = ABS(skz[ipr]); 80a42e2: 6d3b ldr r3, [r7, #80] ; 0x50 80a42e4: 4a88 ldr r2, [pc, #544] ; (80a4508 ) 80a42e6: 009b lsls r3, r3, #2 80a42e8: 4413 add r3, r2 80a42ea: edd3 7a00 vldr s15, [r3] 80a42ee: eef5 7ac0 vcmpe.f32 s15, #0.0 80a42f2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a42f6: dd06 ble.n 80a4306 80a42f8: 6d3b ldr r3, [r7, #80] ; 0x50 80a42fa: 4a83 ldr r2, [pc, #524] ; (80a4508 ) 80a42fc: 009b lsls r3, r3, #2 80a42fe: 4413 add r3, r2 80a4300: edd3 7a00 vldr s15, [r3] 80a4304: e007 b.n 80a4316 80a4306: 6d3b ldr r3, [r7, #80] ; 0x50 80a4308: 4a7f ldr r2, [pc, #508] ; (80a4508 ) 80a430a: 009b lsls r3, r3, #2 80a430c: 4413 add r3, r2 80a430e: edd3 7a00 vldr s15, [r3] 80a4312: eef1 7a67 vneg.f32 s15, s15 80a4316: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(ipr < DIS) 80a431a: 6d3b ldr r3, [r7, #80] ; 0x50 80a431c: 2b01 cmp r3, #1 80a431e: f200 80af bhi.w 80a4480 if(f < 10.0f) 80a4322: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4326: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a432a: eef4 7ac7 vcmpe.f32 s15, s14 80a432e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4332: d513 bpl.n 80a435c k = (uint32_t) (roundf(f * 10000)); 80a4334: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4338: ed9f 7a7d vldr s14, [pc, #500] ; 80a4530 80a433c: ee67 7a87 vmul.f32 s15, s15, s14 80a4340: eeb0 0a67 vmov.f32 s0, s15 80a4344: f02b fc2e bl 80cfba4 80a4348: eef0 7a40 vmov.f32 s15, s0 80a434c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a4350: ee17 3a90 vmov r3, s15 80a4354: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a4356: 2301 movs r3, #1 80a4358: 657b str r3, [r7, #84] ; 0x54 80a435a: e1d1 b.n 80a4700 if(f < 100.0f) 80a435c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4360: ed9f 7a72 vldr s14, [pc, #456] ; 80a452c 80a4364: eef4 7ac7 vcmpe.f32 s15, s14 80a4368: eef1 fa10 vmrs APSR_nzcv, fpscr 80a436c: d513 bpl.n 80a4396 k = (uint32_t) (roundf(f * 1000)); 80a436e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4372: ed9f 7a6d vldr s14, [pc, #436] ; 80a4528 80a4376: ee67 7a87 vmul.f32 s15, s15, s14 80a437a: eeb0 0a67 vmov.f32 s0, s15 80a437e: f02b fc11 bl 80cfba4 80a4382: eef0 7a40 vmov.f32 s15, s0 80a4386: eefc 7ae7 vcvt.u32.f32 s15, s15 80a438a: ee17 3a90 vmov r3, s15 80a438e: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a4390: 2302 movs r3, #2 80a4392: 657b str r3, [r7, #84] ; 0x54 80a4394: e1b4 b.n 80a4700 if(f < 1000.0f) 80a4396: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a439a: ed9f 7a63 vldr s14, [pc, #396] ; 80a4528 80a439e: eef4 7ac7 vcmpe.f32 s15, s14 80a43a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a43a6: d513 bpl.n 80a43d0 k = (uint32_t) (roundf(f * 100)); 80a43a8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a43ac: ed9f 7a5f vldr s14, [pc, #380] ; 80a452c 80a43b0: ee67 7a87 vmul.f32 s15, s15, s14 80a43b4: eeb0 0a67 vmov.f32 s0, s15 80a43b8: f02b fbf4 bl 80cfba4 80a43bc: eef0 7a40 vmov.f32 s15, s0 80a43c0: eefc 7ae7 vcvt.u32.f32 s15, s15 80a43c4: ee17 3a90 vmov r3, s15 80a43c8: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a43ca: 2303 movs r3, #3 80a43cc: 657b str r3, [r7, #84] ; 0x54 80a43ce: e197 b.n 80a4700 if(f < 10000.0f) 80a43d0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a43d4: ed9f 7a56 vldr s14, [pc, #344] ; 80a4530 80a43d8: eef4 7ac7 vcmpe.f32 s15, s14 80a43dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a43e0: d513 bpl.n 80a440a k = (uint32_t) (roundf(f * 10)); 80a43e2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a43e6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a43ea: ee67 7a87 vmul.f32 s15, s15, s14 80a43ee: eeb0 0a67 vmov.f32 s0, s15 80a43f2: f02b fbd7 bl 80cfba4 80a43f6: eef0 7a40 vmov.f32 s15, s0 80a43fa: eefc 7ae7 vcvt.u32.f32 s15, s15 80a43fe: ee17 3a90 vmov r3, s15 80a4402: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a4404: 2304 movs r3, #4 80a4406: 657b str r3, [r7, #84] ; 0x54 80a4408: e17a b.n 80a4700 if(f < 100000.0f) 80a440a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a440e: ed9f 7a49 vldr s14, [pc, #292] ; 80a4534 80a4412: eef4 7ac7 vcmpe.f32 s15, s14 80a4416: eef1 fa10 vmrs APSR_nzcv, fpscr 80a441a: d515 bpl.n 80a4448 k = (uint32_t) (roundf(f)); 80a441c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4420: eeb0 0a67 vmov.f32 s0, s15 80a4424: f02b fbbe bl 80cfba4 80a4428: eef0 7a40 vmov.f32 s15, s0 80a442c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a4430: ee17 3a90 vmov r3, s15 80a4434: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a4436: 6dbb ldr r3, [r7, #88] ; 0x58 80a4438: 4a39 ldr r2, [pc, #228] ; (80a4520 ) 80a443a: 4293 cmp r3, r2 80a443c: d901 bls.n 80a4442 k = 99999; 80a443e: 4b38 ldr r3, [pc, #224] ; (80a4520 ) 80a4440: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a4442: 2300 movs r3, #0 80a4444: 657b str r3, [r7, #84] ; 0x54 80a4446: e15b b.n 80a4700 if(f >= 100000.0f) 80a4448: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a444c: ed9f 7a39 vldr s14, [pc, #228] ; 80a4534 80a4450: eef4 7ac7 vcmpe.f32 s15, s14 80a4454: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4458: f2c0 8152 blt.w 80a4700 f = 99999.0f; 80a445c: 4b31 ldr r3, [pc, #196] ; (80a4524 ) 80a445e: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a4460: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4464: eeb0 0a67 vmov.f32 s0, s15 80a4468: f02b fb9c bl 80cfba4 80a446c: eef0 7a40 vmov.f32 s15, s0 80a4470: eefc 7ae7 vcvt.u32.f32 s15, s15 80a4474: ee17 3a90 vmov r3, s15 80a4478: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a447a: 2300 movs r3, #0 80a447c: 657b str r3, [r7, #84] ; 0x54 80a447e: e13f b.n 80a4700 if(f < 10.0f) 80a4480: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4484: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a4488: eef4 7ac7 vcmpe.f32 s15, s14 80a448c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4490: d515 bpl.n 80a44be k = (uint32_t) (roundf(f * 10000)); 80a4492: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4496: ed9f 7a26 vldr s14, [pc, #152] ; 80a4530 80a449a: ee67 7a87 vmul.f32 s15, s15, s14 80a449e: eeb0 0a67 vmov.f32 s0, s15 80a44a2: f02b fb7f bl 80cfba4 80a44a6: eef0 7a40 vmov.f32 s15, s0 80a44aa: eefc 7ae7 vcvt.u32.f32 s15, s15 80a44ae: ee17 3a90 vmov r3, s15 80a44b2: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a44b4: 2301 movs r3, #1 80a44b6: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a44b8: 2300 movs r3, #0 80a44ba: 64fb str r3, [r7, #76] ; 0x4c 80a44bc: e120 b.n 80a4700 if(f < 100.0f) 80a44be: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a44c2: ed9f 7a1a vldr s14, [pc, #104] ; 80a452c 80a44c6: eef4 7ac7 vcmpe.f32 s15, s14 80a44ca: eef1 fa10 vmrs APSR_nzcv, fpscr 80a44ce: d53f bpl.n 80a4550 k = (uint32_t) (roundf(f * 1000)); 80a44d0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a44d4: ed9f 7a14 vldr s14, [pc, #80] ; 80a4528 80a44d8: ee67 7a87 vmul.f32 s15, s15, s14 80a44dc: eeb0 0a67 vmov.f32 s0, s15 80a44e0: f02b fb60 bl 80cfba4 80a44e4: eef0 7a40 vmov.f32 s15, s0 80a44e8: eefc 7ae7 vcvt.u32.f32 s15, s15 80a44ec: ee17 3a90 vmov r3, s15 80a44f0: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a44f2: 2302 movs r3, #2 80a44f4: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a44f6: 2300 movs r3, #0 80a44f8: 64fb str r3, [r7, #76] ; 0x4c 80a44fa: e101 b.n 80a4700 80a44fc: 20023eb8 .word 0x20023eb8 80a4500: 20020114 .word 0x20020114 80a4504: 2002011c .word 0x2002011c 80a4508: 20021590 .word 0x20021590 80a450c: 0816e3f4 .word 0x0816e3f4 80a4510: ff0a0f1f .word 0xff0a0f1f 80a4514: ffb8e828 .word 0xffb8e828 80a4518: 080d6564 .word 0x080d6564 80a451c: 080d6570 .word 0x080d6570 80a4520: 0001869f .word 0x0001869f 80a4524: 47c34f80 .word 0x47c34f80 80a4528: 447a0000 .word 0x447a0000 80a452c: 42c80000 .word 0x42c80000 80a4530: 461c4000 .word 0x461c4000 80a4534: 47c35000 .word 0x47c35000 80a4538: 49742400 .word 0x49742400 80a453c: 3dcccccd .word 0x3dcccccd 80a4540: 4b189680 .word 0x4b189680 80a4544: 3c23d70a .word 0x3c23d70a 80a4548: 4cbebc20 .word 0x4cbebc20 80a454c: 3a83126f .word 0x3a83126f if(f < 1000.0f) 80a4550: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4554: ed1f 7a0c vldr s14, [pc, #-48] ; 80a4528 80a4558: eef4 7ac7 vcmpe.f32 s15, s14 80a455c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4560: d515 bpl.n 80a458e k = (uint32_t) (roundf(f * 100)); 80a4562: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4566: ed1f 7a0f vldr s14, [pc, #-60] ; 80a452c 80a456a: ee67 7a87 vmul.f32 s15, s15, s14 80a456e: eeb0 0a67 vmov.f32 s0, s15 80a4572: f02b fb17 bl 80cfba4 80a4576: eef0 7a40 vmov.f32 s15, s0 80a457a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a457e: ee17 3a90 vmov r3, s15 80a4582: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a4584: 2303 movs r3, #3 80a4586: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a4588: 2300 movs r3, #0 80a458a: 64fb str r3, [r7, #76] ; 0x4c 80a458c: e0b8 b.n 80a4700 if(f < 10000.0f) 80a458e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4592: ed1f 7a19 vldr s14, [pc, #-100] ; 80a4530 80a4596: eef4 7ac7 vcmpe.f32 s15, s14 80a459a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a459e: d515 bpl.n 80a45cc k = (uint32_t) (roundf(f * 10)); 80a45a0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a45a4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a45a8: ee67 7a87 vmul.f32 s15, s15, s14 80a45ac: eeb0 0a67 vmov.f32 s0, s15 80a45b0: f02b faf8 bl 80cfba4 80a45b4: eef0 7a40 vmov.f32 s15, s0 80a45b8: eefc 7ae7 vcvt.u32.f32 s15, s15 80a45bc: ee17 3a90 vmov r3, s15 80a45c0: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a45c2: 2301 movs r3, #1 80a45c4: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a45c6: 2301 movs r3, #1 80a45c8: 64fb str r3, [r7, #76] ; 0x4c 80a45ca: e099 b.n 80a4700 if(f < 100000.0f) 80a45cc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a45d0: ed1f 7a28 vldr s14, [pc, #-160] ; 80a4534 80a45d4: eef4 7ac7 vcmpe.f32 s15, s14 80a45d8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a45dc: d511 bpl.n 80a4602 k = (uint32_t) (roundf(f)); 80a45de: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a45e2: eeb0 0a67 vmov.f32 s0, s15 80a45e6: f02b fadd bl 80cfba4 80a45ea: eef0 7a40 vmov.f32 s15, s0 80a45ee: eefc 7ae7 vcvt.u32.f32 s15, s15 80a45f2: ee17 3a90 vmov r3, s15 80a45f6: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a45f8: 2302 movs r3, #2 80a45fa: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a45fc: 2301 movs r3, #1 80a45fe: 64fb str r3, [r7, #76] ; 0x4c 80a4600: e07e b.n 80a4700 if(f < 1000000.0f) 80a4602: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4606: ed1f 7a34 vldr s14, [pc, #-208] ; 80a4538 80a460a: eef4 7ac7 vcmpe.f32 s15, s14 80a460e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4612: d515 bpl.n 80a4640 k = (uint32_t) (roundf(f * 0.1f)); 80a4614: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4618: ed1f 7a38 vldr s14, [pc, #-224] ; 80a453c 80a461c: ee67 7a87 vmul.f32 s15, s15, s14 80a4620: eeb0 0a67 vmov.f32 s0, s15 80a4624: f02b fabe bl 80cfba4 80a4628: eef0 7a40 vmov.f32 s15, s0 80a462c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a4630: ee17 3a90 vmov r3, s15 80a4634: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a4636: 2303 movs r3, #3 80a4638: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a463a: 2301 movs r3, #1 80a463c: 64fb str r3, [r7, #76] ; 0x4c 80a463e: e05f b.n 80a4700 if(f < 10000000.0f) 80a4640: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4644: ed1f 7a42 vldr s14, [pc, #-264] ; 80a4540 80a4648: eef4 7ac7 vcmpe.f32 s15, s14 80a464c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4650: d515 bpl.n 80a467e k = (uint32_t) (roundf(f * 0.01f)); 80a4652: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4656: ed1f 7a45 vldr s14, [pc, #-276] ; 80a4544 80a465a: ee67 7a87 vmul.f32 s15, s15, s14 80a465e: eeb0 0a67 vmov.f32 s0, s15 80a4662: f02b fa9f bl 80cfba4 80a4666: eef0 7a40 vmov.f32 s15, s0 80a466a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a466e: ee17 3a90 vmov r3, s15 80a4672: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a4674: 2304 movs r3, #4 80a4676: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a4678: 2301 movs r3, #1 80a467a: 64fb str r3, [r7, #76] ; 0x4c 80a467c: e040 b.n 80a4700 if(f < 100000000.0f) 80a467e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4682: ed1f 7a4f vldr s14, [pc, #-316] ; 80a4548 80a4686: eef4 7ac7 vcmpe.f32 s15, s14 80a468a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a468e: d51b bpl.n 80a46c8 k = (uint32_t) (roundf(f * 0.001f)); 80a4690: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4694: ed1f 7a53 vldr s14, [pc, #-332] ; 80a454c 80a4698: ee67 7a87 vmul.f32 s15, s15, s14 80a469c: eeb0 0a67 vmov.f32 s0, s15 80a46a0: f02b fa80 bl 80cfba4 80a46a4: eef0 7a40 vmov.f32 s15, s0 80a46a8: eefc 7ae7 vcvt.u32.f32 s15, s15 80a46ac: ee17 3a90 vmov r3, s15 80a46b0: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a46b2: 6dbb ldr r3, [r7, #88] ; 0x58 80a46b4: 4aba ldr r2, [pc, #744] ; (80a49a0 ) 80a46b6: 4293 cmp r3, r2 80a46b8: d901 bls.n 80a46be k = 99999; 80a46ba: 4bb9 ldr r3, [pc, #740] ; (80a49a0 ) 80a46bc: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a46be: 2300 movs r3, #0 80a46c0: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a46c2: 2301 movs r3, #1 80a46c4: 64fb str r3, [r7, #76] ; 0x4c 80a46c6: e01b b.n 80a4700 if(f >= 100000000.0f) 80a46c8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a46cc: ed9f 7ab5 vldr s14, [pc, #724] ; 80a49a4 80a46d0: eef4 7ac7 vcmpe.f32 s15, s14 80a46d4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a46d8: db12 blt.n 80a4700 f = 99999.0f; 80a46da: 4bb3 ldr r3, [pc, #716] ; (80a49a8 ) 80a46dc: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a46de: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a46e2: eeb0 0a67 vmov.f32 s0, s15 80a46e6: f02b fa5d bl 80cfba4 80a46ea: eef0 7a40 vmov.f32 s15, s0 80a46ee: eefc 7ae7 vcvt.u32.f32 s15, s15 80a46f2: ee17 3a90 vmov r3, s15 80a46f6: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a46f8: 2300 movs r3, #0 80a46fa: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a46fc: 2301 movs r3, #1 80a46fe: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 80a4700: 6d3a ldr r2, [r7, #80] ; 0x50 80a4702: 6dbb ldr r3, [r7, #88] ; 0x58 80a4704: 49a9 ldr r1, [pc, #676] ; (80a49ac ) 80a4706: fba1 1303 umull r1, r3, r1, r3 80a470a: 0b5b lsrs r3, r3, #13 80a470c: b2d9 uxtb r1, r3 80a470e: 4613 mov r3, r2 80a4710: 009b lsls r3, r3, #2 80a4712: 4413 add r3, r2 80a4714: f107 0268 add.w r2, r7, #104 ; 0x68 80a4718: 4413 add r3, r2 80a471a: 3b34 subs r3, #52 ; 0x34 80a471c: 460a mov r2, r1 80a471e: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 80a4720: 6d39 ldr r1, [r7, #80] ; 0x50 80a4722: 6dba ldr r2, [r7, #88] ; 0x58 80a4724: 4ba1 ldr r3, [pc, #644] ; (80a49ac ) 80a4726: fba3 0302 umull r0, r3, r3, r2 80a472a: 0b5b lsrs r3, r3, #13 80a472c: f242 7010 movw r0, #10000 ; 0x2710 80a4730: fb00 f303 mul.w r3, r0, r3 80a4734: 1ad3 subs r3, r2, r3 80a4736: 4a9e ldr r2, [pc, #632] ; (80a49b0 ) 80a4738: fba2 2303 umull r2, r3, r2, r3 80a473c: 099b lsrs r3, r3, #6 80a473e: b2da uxtb r2, r3 80a4740: 460b mov r3, r1 80a4742: 009b lsls r3, r3, #2 80a4744: 440b add r3, r1 80a4746: f107 0168 add.w r1, r7, #104 ; 0x68 80a474a: 440b add r3, r1 80a474c: 3b33 subs r3, #51 ; 0x33 80a474e: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 80a4750: 6d39 ldr r1, [r7, #80] ; 0x50 80a4752: 6dba ldr r2, [r7, #88] ; 0x58 80a4754: 4b95 ldr r3, [pc, #596] ; (80a49ac ) 80a4756: fba3 0302 umull r0, r3, r3, r2 80a475a: 0b5b lsrs r3, r3, #13 80a475c: f242 7010 movw r0, #10000 ; 0x2710 80a4760: fb00 f303 mul.w r3, r0, r3 80a4764: 1ad3 subs r3, r2, r3 80a4766: 4a92 ldr r2, [pc, #584] ; (80a49b0 ) 80a4768: fba2 0203 umull r0, r2, r2, r3 80a476c: 0992 lsrs r2, r2, #6 80a476e: f44f 707a mov.w r0, #1000 ; 0x3e8 80a4772: fb00 f202 mul.w r2, r0, r2 80a4776: 1a9a subs r2, r3, r2 80a4778: 4b8e ldr r3, [pc, #568] ; (80a49b4 ) 80a477a: fba3 2302 umull r2, r3, r3, r2 80a477e: 095b lsrs r3, r3, #5 80a4780: b2da uxtb r2, r3 80a4782: 460b mov r3, r1 80a4784: 009b lsls r3, r3, #2 80a4786: 440b add r3, r1 80a4788: f107 0168 add.w r1, r7, #104 ; 0x68 80a478c: 440b add r3, r1 80a478e: 3b32 subs r3, #50 ; 0x32 80a4790: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 80a4792: 6d39 ldr r1, [r7, #80] ; 0x50 80a4794: 6dbb ldr r3, [r7, #88] ; 0x58 80a4796: 4a85 ldr r2, [pc, #532] ; (80a49ac ) 80a4798: fba2 0203 umull r0, r2, r2, r3 80a479c: 0b52 lsrs r2, r2, #13 80a479e: f242 7010 movw r0, #10000 ; 0x2710 80a47a2: fb00 f202 mul.w r2, r0, r2 80a47a6: 1a9a subs r2, r3, r2 80a47a8: 4b81 ldr r3, [pc, #516] ; (80a49b0 ) 80a47aa: fba3 0302 umull r0, r3, r3, r2 80a47ae: 099b lsrs r3, r3, #6 80a47b0: f44f 707a mov.w r0, #1000 ; 0x3e8 80a47b4: fb00 f303 mul.w r3, r0, r3 80a47b8: 1ad3 subs r3, r2, r3 80a47ba: 4a7e ldr r2, [pc, #504] ; (80a49b4 ) 80a47bc: fba2 0203 umull r0, r2, r2, r3 80a47c0: 0952 lsrs r2, r2, #5 80a47c2: 2064 movs r0, #100 ; 0x64 80a47c4: fb00 f202 mul.w r2, r0, r2 80a47c8: 1a9a subs r2, r3, r2 80a47ca: 4b7b ldr r3, [pc, #492] ; (80a49b8 ) 80a47cc: fba3 2302 umull r2, r3, r3, r2 80a47d0: 08db lsrs r3, r3, #3 80a47d2: b2da uxtb r2, r3 80a47d4: 460b mov r3, r1 80a47d6: 009b lsls r3, r3, #2 80a47d8: 440b add r3, r1 80a47da: f107 0168 add.w r1, r7, #104 ; 0x68 80a47de: 440b add r3, r1 80a47e0: 3b31 subs r3, #49 ; 0x31 80a47e2: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 80a47e4: 6d38 ldr r0, [r7, #80] ; 0x50 80a47e6: 6dbb ldr r3, [r7, #88] ; 0x58 80a47e8: 4a70 ldr r2, [pc, #448] ; (80a49ac ) 80a47ea: fba2 1203 umull r1, r2, r2, r3 80a47ee: 0b52 lsrs r2, r2, #13 80a47f0: f242 7110 movw r1, #10000 ; 0x2710 80a47f4: fb01 f202 mul.w r2, r1, r2 80a47f8: 1a9a subs r2, r3, r2 80a47fa: 4b6d ldr r3, [pc, #436] ; (80a49b0 ) 80a47fc: fba3 1302 umull r1, r3, r3, r2 80a4800: 099b lsrs r3, r3, #6 80a4802: f44f 717a mov.w r1, #1000 ; 0x3e8 80a4806: fb01 f303 mul.w r3, r1, r3 80a480a: 1ad3 subs r3, r2, r3 80a480c: 4a69 ldr r2, [pc, #420] ; (80a49b4 ) 80a480e: fba2 1203 umull r1, r2, r2, r3 80a4812: 0952 lsrs r2, r2, #5 80a4814: 2164 movs r1, #100 ; 0x64 80a4816: fb01 f202 mul.w r2, r1, r2 80a481a: 1a9a subs r2, r3, r2 80a481c: 4b66 ldr r3, [pc, #408] ; (80a49b8 ) 80a481e: fba3 1302 umull r1, r3, r3, r2 80a4822: 08d9 lsrs r1, r3, #3 80a4824: 460b mov r3, r1 80a4826: 009b lsls r3, r3, #2 80a4828: 440b add r3, r1 80a482a: 005b lsls r3, r3, #1 80a482c: 1ad1 subs r1, r2, r3 80a482e: b2ca uxtb r2, r1 80a4830: 4603 mov r3, r0 80a4832: 009b lsls r3, r3, #2 80a4834: 4403 add r3, r0 80a4836: f107 0168 add.w r1, r7, #104 ; 0x68 80a483a: 440b add r3, r1 80a483c: 3b30 subs r3, #48 ; 0x30 80a483e: 701a strb r2, [r3, #0] if(skz[ipr] != -1.0f) // 80a4840: 6d3b ldr r3, [r7, #80] ; 0x50 80a4842: 4a5e ldr r2, [pc, #376] ; (80a49bc ) 80a4844: 009b lsls r3, r3, #2 80a4846: 4413 add r3, r2 80a4848: edd3 7a00 vldr s15, [r3] 80a484c: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a4850: eef4 7a47 vcmp.f32 s15, s14 80a4854: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4858: f000 82a5 beq.w 80a4da6 if(ipr == ACC) 80a485c: 6d3b ldr r3, [r7, #80] ; 0x50 80a485e: 2b00 cmp r3, #0 80a4860: f040 80de bne.w 80a4a20 if(!t) 80a4864: 6d7b ldr r3, [r7, #84] ; 0x54 80a4866: 2b00 cmp r3, #0 80a4868: d126 bne.n 80a48b8 for(i = 0; i < 5; i++) 80a486a: 2300 movs r3, #0 80a486c: 65fb str r3, [r7, #92] ; 0x5c 80a486e: e01f b.n 80a48b0 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a4870: 6d3a ldr r2, [r7, #80] ; 0x50 80a4872: 6df9 ldr r1, [r7, #92] ; 0x5c 80a4874: 4613 mov r3, r2 80a4876: 009b lsls r3, r3, #2 80a4878: 4413 add r3, r2 80a487a: f107 0268 add.w r2, r7, #104 ; 0x68 80a487e: 4413 add r3, r2 80a4880: 440b add r3, r1 80a4882: 3b34 subs r3, #52 ; 0x34 80a4884: 781b ldrb r3, [r3, #0] 80a4886: b2db uxtb r3, r3 80a4888: 461a mov r2, r3 80a488a: 4b4d ldr r3, [pc, #308] ; (80a49c0 ) 80a488c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a4890: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4892: b29b uxth r3, r3 80a4894: 461a mov r2, r3 80a4896: 0112 lsls r2, r2, #4 80a4898: 1ad3 subs r3, r2, r3 80a489a: 005b lsls r3, r3, #1 80a489c: b29b uxth r3, r3 80a489e: 335a adds r3, #90 ; 0x5a 80a48a0: b29b uxth r3, r3 80a48a2: 2256 movs r2, #86 ; 0x56 80a48a4: 4619 mov r1, r3 80a48a6: f7b1 fba5 bl 8055ff4 for(i = 0; i < 5; i++) 80a48aa: 6dfb ldr r3, [r7, #92] ; 0x5c 80a48ac: 3301 adds r3, #1 80a48ae: 65fb str r3, [r7, #92] ; 0x5c 80a48b0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a48b2: 2b04 cmp r3, #4 80a48b4: d9dc bls.n 80a4870 80a48b6: e05a b.n 80a496e for(i = 0; i < t; i++) 80a48b8: 2300 movs r3, #0 80a48ba: 65fb str r3, [r7, #92] ; 0x5c 80a48bc: e01f b.n 80a48fe DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a48be: 6d3a ldr r2, [r7, #80] ; 0x50 80a48c0: 6df9 ldr r1, [r7, #92] ; 0x5c 80a48c2: 4613 mov r3, r2 80a48c4: 009b lsls r3, r3, #2 80a48c6: 4413 add r3, r2 80a48c8: f107 0268 add.w r2, r7, #104 ; 0x68 80a48cc: 4413 add r3, r2 80a48ce: 440b add r3, r1 80a48d0: 3b34 subs r3, #52 ; 0x34 80a48d2: 781b ldrb r3, [r3, #0] 80a48d4: b2db uxtb r3, r3 80a48d6: 461a mov r2, r3 80a48d8: 4b39 ldr r3, [pc, #228] ; (80a49c0 ) 80a48da: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a48de: 6dfb ldr r3, [r7, #92] ; 0x5c 80a48e0: b29b uxth r3, r3 80a48e2: 461a mov r2, r3 80a48e4: 0112 lsls r2, r2, #4 80a48e6: 1ad3 subs r3, r2, r3 80a48e8: 005b lsls r3, r3, #1 80a48ea: b29b uxth r3, r3 80a48ec: 335a adds r3, #90 ; 0x5a 80a48ee: b29b uxth r3, r3 80a48f0: 2256 movs r2, #86 ; 0x56 80a48f2: 4619 mov r1, r3 80a48f4: f7b1 fb7e bl 8055ff4 for(i = 0; i < t; i++) 80a48f8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a48fa: 3301 adds r3, #1 80a48fc: 65fb str r3, [r7, #92] ; 0x5c 80a48fe: 6dfa ldr r2, [r7, #92] ; 0x5c 80a4900: 6d7b ldr r3, [r7, #84] ; 0x54 80a4902: 429a cmp r2, r3 80a4904: d3db bcc.n 80a48be DrawImage(&bmgpt, 95 + 30*t, 92+18); 80a4906: 6d7b ldr r3, [r7, #84] ; 0x54 80a4908: b29b uxth r3, r3 80a490a: 461a mov r2, r3 80a490c: 0112 lsls r2, r2, #4 80a490e: 1ad3 subs r3, r2, r3 80a4910: 005b lsls r3, r3, #1 80a4912: b29b uxth r3, r3 80a4914: 335f adds r3, #95 ; 0x5f 80a4916: b29b uxth r3, r3 80a4918: 226e movs r2, #110 ; 0x6e 80a491a: 4619 mov r1, r3 80a491c: 4829 ldr r0, [pc, #164] ; (80a49c4 ) 80a491e: f7b1 fb69 bl 8055ff4 for(i = t; i < 5; i++) 80a4922: 6d7b ldr r3, [r7, #84] ; 0x54 80a4924: 65fb str r3, [r7, #92] ; 0x5c 80a4926: e01f b.n 80a4968 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 80a4928: 6d3a ldr r2, [r7, #80] ; 0x50 80a492a: 6df9 ldr r1, [r7, #92] ; 0x5c 80a492c: 4613 mov r3, r2 80a492e: 009b lsls r3, r3, #2 80a4930: 4413 add r3, r2 80a4932: f107 0268 add.w r2, r7, #104 ; 0x68 80a4936: 4413 add r3, r2 80a4938: 440b add r3, r1 80a493a: 3b34 subs r3, #52 ; 0x34 80a493c: 781b ldrb r3, [r3, #0] 80a493e: b2db uxtb r3, r3 80a4940: 461a mov r2, r3 80a4942: 4b1f ldr r3, [pc, #124] ; (80a49c0 ) 80a4944: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a4948: 6dfb ldr r3, [r7, #92] ; 0x5c 80a494a: b29b uxth r3, r3 80a494c: 461a mov r2, r3 80a494e: 0112 lsls r2, r2, #4 80a4950: 1ad3 subs r3, r2, r3 80a4952: 005b lsls r3, r3, #1 80a4954: b29b uxth r3, r3 80a4956: 336e adds r3, #110 ; 0x6e 80a4958: b29b uxth r3, r3 80a495a: 2256 movs r2, #86 ; 0x56 80a495c: 4619 mov r1, r3 80a495e: f7b1 fb49 bl 8055ff4 for(i = t; i < 5; i++) 80a4962: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4964: 3301 adds r3, #1 80a4966: 65fb str r3, [r7, #92] ; 0x5c 80a4968: 6dfb ldr r3, [r7, #92] ; 0x5c 80a496a: 2b04 cmp r3, #4 80a496c: d9dc bls.n 80a4928 if(pardata.IVS[ACC] < PEAK_FACTOR) 80a496e: 4b16 ldr r3, [pc, #88] ; (80a49c8 ) 80a4970: 789b ldrb r3, [r3, #2] 80a4972: b2db uxtb r3, r3 80a4974: 2b02 cmp r3, #2 80a4976: d838 bhi.n 80a49ea if(pardata.IIN != VOLTS) 80a4978: 4b13 ldr r3, [pc, #76] ; (80a49c8 ) 80a497a: 799b ldrb r3, [r3, #6] 80a497c: b2db uxtb r3, r3 80a497e: 2b02 cmp r3, #2 80a4980: d026 beq.n 80a49d0 DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 80a4982: 4b11 ldr r3, [pc, #68] ; (80a49c8 ) 80a4984: 7b1b ldrb r3, [r3, #12] 80a4986: b2db uxtb r3, r3 80a4988: 461a mov r2, r3 80a498a: 4b10 ldr r3, [pc, #64] ; (80a49cc ) 80a498c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4990: 225c movs r2, #92 ; 0x5c 80a4992: f240 1109 movw r1, #265 ; 0x109 80a4996: 4618 mov r0, r3 80a4998: f7b1 fb2c bl 8055ff4 80a499c: e025 b.n 80a49ea 80a499e: bf00 nop 80a49a0: 0001869f .word 0x0001869f 80a49a4: 4cbebc20 .word 0x4cbebc20 80a49a8: 47c34f80 .word 0x47c34f80 80a49ac: d1b71759 .word 0xd1b71759 80a49b0: 10624dd3 .word 0x10624dd3 80a49b4: 51eb851f .word 0x51eb851f 80a49b8: cccccccd .word 0xcccccccd 80a49bc: 20021590 .word 0x20021590 80a49c0: 20020124 .word 0x20020124 80a49c4: 0816e480 .word 0x0816e480 80a49c8: 20023eb8 .word 0x20023eb8 80a49cc: 200200f4 .word 0x200200f4 else DrawImage(BMG_MV[pardata.LANG], 265, 74+18); 80a49d0: 4bab ldr r3, [pc, #684] ; (80a4c80 ) 80a49d2: 7b1b ldrb r3, [r3, #12] 80a49d4: b2db uxtb r3, r3 80a49d6: 461a mov r2, r3 80a49d8: 4baa ldr r3, [pc, #680] ; (80a4c84 ) 80a49da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a49de: 225c movs r2, #92 ; 0x5c 80a49e0: f240 1109 movw r1, #265 ; 0x109 80a49e4: 4618 mov r0, r3 80a49e6: f7b1 fb05 bl 8055ff4 if(pardata.IVS[ipr] == EXCESS) 80a49ea: 6d3b ldr r3, [r7, #80] ; 0x50 80a49ec: 4aa4 ldr r2, [pc, #656] ; (80a4c80 ) 80a49ee: 4413 add r3, r2 80a49f0: 789b ldrb r3, [r3, #2] 80a49f2: b2db uxtb r3, r3 80a49f4: 2b04 cmp r3, #4 80a49f6: f040 8652 bne.w 80a569e if(skz[ipr] < 0.0f) { 80a49fa: 6d3b ldr r3, [r7, #80] ; 0x50 80a49fc: 4aa2 ldr r2, [pc, #648] ; (80a4c88 ) 80a49fe: 009b lsls r3, r3, #2 80a4a00: 4413 add r3, r2 80a4a02: edd3 7a00 vldr s15, [r3] 80a4a06: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4a0a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4a0e: f140 8646 bpl.w 80a569e DrawImage(&bmgminus, 78, 84+18); 80a4a12: 2266 movs r2, #102 ; 0x66 80a4a14: 214e movs r1, #78 ; 0x4e 80a4a16: 489d ldr r0, [pc, #628] ; (80a4c8c ) 80a4a18: f7b1 faec bl 8055ff4 80a4a1c: f000 be3f b.w 80a569e if(ipr == VEL) 80a4a20: 6d3b ldr r3, [r7, #80] ; 0x50 80a4a22: 2b01 cmp r3, #1 80a4a24: f040 80c5 bne.w 80a4bb2 if(!t) 80a4a28: 6d7b ldr r3, [r7, #84] ; 0x54 80a4a2a: 2b00 cmp r3, #0 80a4a2c: d126 bne.n 80a4a7c for(i = 0; i < 5; i++) 80a4a2e: 2300 movs r3, #0 80a4a30: 65fb str r3, [r7, #92] ; 0x5c 80a4a32: e01f b.n 80a4a74 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a4a34: 6d3a ldr r2, [r7, #80] ; 0x50 80a4a36: 6df9 ldr r1, [r7, #92] ; 0x5c 80a4a38: 4613 mov r3, r2 80a4a3a: 009b lsls r3, r3, #2 80a4a3c: 4413 add r3, r2 80a4a3e: f107 0268 add.w r2, r7, #104 ; 0x68 80a4a42: 4413 add r3, r2 80a4a44: 440b add r3, r1 80a4a46: 3b34 subs r3, #52 ; 0x34 80a4a48: 781b ldrb r3, [r3, #0] 80a4a4a: b2db uxtb r3, r3 80a4a4c: 461a mov r2, r3 80a4a4e: 4b90 ldr r3, [pc, #576] ; (80a4c90 ) 80a4a50: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a4a54: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4a56: b29b uxth r3, r3 80a4a58: 461a mov r2, r3 80a4a5a: 0112 lsls r2, r2, #4 80a4a5c: 1ad3 subs r3, r2, r3 80a4a5e: 005b lsls r3, r3, #1 80a4a60: b29b uxth r3, r3 80a4a62: 335a adds r3, #90 ; 0x5a 80a4a64: b29b uxth r3, r3 80a4a66: 2282 movs r2, #130 ; 0x82 80a4a68: 4619 mov r1, r3 80a4a6a: f7b1 fac3 bl 8055ff4 for(i = 0; i < 5; i++) 80a4a6e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4a70: 3301 adds r3, #1 80a4a72: 65fb str r3, [r7, #92] ; 0x5c 80a4a74: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4a76: 2b04 cmp r3, #4 80a4a78: d9dc bls.n 80a4a34 80a4a7a: e05a b.n 80a4b32 for(i = 0; i < t; i++) 80a4a7c: 2300 movs r3, #0 80a4a7e: 65fb str r3, [r7, #92] ; 0x5c 80a4a80: e01f b.n 80a4ac2 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a4a82: 6d3a ldr r2, [r7, #80] ; 0x50 80a4a84: 6df9 ldr r1, [r7, #92] ; 0x5c 80a4a86: 4613 mov r3, r2 80a4a88: 009b lsls r3, r3, #2 80a4a8a: 4413 add r3, r2 80a4a8c: f107 0268 add.w r2, r7, #104 ; 0x68 80a4a90: 4413 add r3, r2 80a4a92: 440b add r3, r1 80a4a94: 3b34 subs r3, #52 ; 0x34 80a4a96: 781b ldrb r3, [r3, #0] 80a4a98: b2db uxtb r3, r3 80a4a9a: 461a mov r2, r3 80a4a9c: 4b7c ldr r3, [pc, #496] ; (80a4c90 ) 80a4a9e: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a4aa2: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4aa4: b29b uxth r3, r3 80a4aa6: 461a mov r2, r3 80a4aa8: 0112 lsls r2, r2, #4 80a4aaa: 1ad3 subs r3, r2, r3 80a4aac: 005b lsls r3, r3, #1 80a4aae: b29b uxth r3, r3 80a4ab0: 335a adds r3, #90 ; 0x5a 80a4ab2: b29b uxth r3, r3 80a4ab4: 2282 movs r2, #130 ; 0x82 80a4ab6: 4619 mov r1, r3 80a4ab8: f7b1 fa9c bl 8055ff4 for(i = 0; i < t; i++) 80a4abc: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4abe: 3301 adds r3, #1 80a4ac0: 65fb str r3, [r7, #92] ; 0x5c 80a4ac2: 6dfa ldr r2, [r7, #92] ; 0x5c 80a4ac4: 6d7b ldr r3, [r7, #84] ; 0x54 80a4ac6: 429a cmp r2, r3 80a4ac8: d3db bcc.n 80a4a82 DrawImage(&bmgpt, 95 + 30*t, 145+9); 80a4aca: 6d7b ldr r3, [r7, #84] ; 0x54 80a4acc: b29b uxth r3, r3 80a4ace: 461a mov r2, r3 80a4ad0: 0112 lsls r2, r2, #4 80a4ad2: 1ad3 subs r3, r2, r3 80a4ad4: 005b lsls r3, r3, #1 80a4ad6: b29b uxth r3, r3 80a4ad8: 335f adds r3, #95 ; 0x5f 80a4ada: b29b uxth r3, r3 80a4adc: 229a movs r2, #154 ; 0x9a 80a4ade: 4619 mov r1, r3 80a4ae0: 486c ldr r0, [pc, #432] ; (80a4c94 ) 80a4ae2: f7b1 fa87 bl 8055ff4 for(i = t; i < 5; i++) 80a4ae6: 6d7b ldr r3, [r7, #84] ; 0x54 80a4ae8: 65fb str r3, [r7, #92] ; 0x5c 80a4aea: e01f b.n 80a4b2c DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 80a4aec: 6d3a ldr r2, [r7, #80] ; 0x50 80a4aee: 6df9 ldr r1, [r7, #92] ; 0x5c 80a4af0: 4613 mov r3, r2 80a4af2: 009b lsls r3, r3, #2 80a4af4: 4413 add r3, r2 80a4af6: f107 0268 add.w r2, r7, #104 ; 0x68 80a4afa: 4413 add r3, r2 80a4afc: 440b add r3, r1 80a4afe: 3b34 subs r3, #52 ; 0x34 80a4b00: 781b ldrb r3, [r3, #0] 80a4b02: b2db uxtb r3, r3 80a4b04: 461a mov r2, r3 80a4b06: 4b62 ldr r3, [pc, #392] ; (80a4c90 ) 80a4b08: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a4b0c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4b0e: b29b uxth r3, r3 80a4b10: 461a mov r2, r3 80a4b12: 0112 lsls r2, r2, #4 80a4b14: 1ad3 subs r3, r2, r3 80a4b16: 005b lsls r3, r3, #1 80a4b18: b29b uxth r3, r3 80a4b1a: 336e adds r3, #110 ; 0x6e 80a4b1c: b29b uxth r3, r3 80a4b1e: 2282 movs r2, #130 ; 0x82 80a4b20: 4619 mov r1, r3 80a4b22: f7b1 fa67 bl 8055ff4 for(i = t; i < 5; i++) 80a4b26: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4b28: 3301 adds r3, #1 80a4b2a: 65fb str r3, [r7, #92] ; 0x5c 80a4b2c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4b2e: 2b04 cmp r3, #4 80a4b30: d9dc bls.n 80a4aec if(pardata.IVS[VEL] < PEAK_FACTOR) 80a4b32: 4b53 ldr r3, [pc, #332] ; (80a4c80 ) 80a4b34: 78db ldrb r3, [r3, #3] 80a4b36: b2db uxtb r3, r3 80a4b38: 2b02 cmp r3, #2 80a4b3a: d81f bhi.n 80a4b7c if(pardata.IIN != VOLTS) 80a4b3c: 4b50 ldr r3, [pc, #320] ; (80a4c80 ) 80a4b3e: 799b ldrb r3, [r3, #6] 80a4b40: b2db uxtb r3, r3 80a4b42: 2b02 cmp r3, #2 80a4b44: d00d beq.n 80a4b62 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 80a4b46: 4b4e ldr r3, [pc, #312] ; (80a4c80 ) 80a4b48: 7b1b ldrb r3, [r3, #12] 80a4b4a: b2db uxtb r3, r3 80a4b4c: 461a mov r2, r3 80a4b4e: 4b52 ldr r3, [pc, #328] ; (80a4c98 ) 80a4b50: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4b54: 2289 movs r2, #137 ; 0x89 80a4b56: f240 1109 movw r1, #265 ; 0x109 80a4b5a: 4618 mov r0, r3 80a4b5c: f7b1 fa4a bl 8055ff4 80a4b60: e00c b.n 80a4b7c else DrawImage(BMG_MV[pardata.LANG], 265, 128+9); 80a4b62: 4b47 ldr r3, [pc, #284] ; (80a4c80 ) 80a4b64: 7b1b ldrb r3, [r3, #12] 80a4b66: b2db uxtb r3, r3 80a4b68: 461a mov r2, r3 80a4b6a: 4b46 ldr r3, [pc, #280] ; (80a4c84 ) 80a4b6c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4b70: 2289 movs r2, #137 ; 0x89 80a4b72: f240 1109 movw r1, #265 ; 0x109 80a4b76: 4618 mov r0, r3 80a4b78: f7b1 fa3c bl 8055ff4 if(pardata.IVS[ipr] == EXCESS) 80a4b7c: 6d3b ldr r3, [r7, #80] ; 0x50 80a4b7e: 4a40 ldr r2, [pc, #256] ; (80a4c80 ) 80a4b80: 4413 add r3, r2 80a4b82: 789b ldrb r3, [r3, #2] 80a4b84: b2db uxtb r3, r3 80a4b86: 2b04 cmp r3, #4 80a4b88: f040 8589 bne.w 80a569e if(skz[ipr] < 0.0f) { 80a4b8c: 6d3b ldr r3, [r7, #80] ; 0x50 80a4b8e: 4a3e ldr r2, [pc, #248] ; (80a4c88 ) 80a4b90: 009b lsls r3, r3, #2 80a4b92: 4413 add r3, r2 80a4b94: edd3 7a00 vldr s15, [r3] 80a4b98: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4b9c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4ba0: f140 857d bpl.w 80a569e DrawImage(&bmgminus, 78, 138+9); 80a4ba4: 2293 movs r2, #147 ; 0x93 80a4ba6: 214e movs r1, #78 ; 0x4e 80a4ba8: 4838 ldr r0, [pc, #224] ; (80a4c8c ) 80a4baa: f7b1 fa23 bl 8055ff4 80a4bae: f000 bd76 b.w 80a569e if(ipr == DIS) 80a4bb2: 6d3b ldr r3, [r7, #80] ; 0x50 80a4bb4: 2b02 cmp r3, #2 80a4bb6: f040 8572 bne.w 80a569e if(!t) 80a4bba: 6d7b ldr r3, [r7, #84] ; 0x54 80a4bbc: 2b00 cmp r3, #0 80a4bbe: d126 bne.n 80a4c0e for(i = 0; i < 5; i++) 80a4bc0: 2300 movs r3, #0 80a4bc2: 65fb str r3, [r7, #92] ; 0x5c 80a4bc4: e01f b.n 80a4c06 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a4bc6: 6d3a ldr r2, [r7, #80] ; 0x50 80a4bc8: 6df9 ldr r1, [r7, #92] ; 0x5c 80a4bca: 4613 mov r3, r2 80a4bcc: 009b lsls r3, r3, #2 80a4bce: 4413 add r3, r2 80a4bd0: f107 0268 add.w r2, r7, #104 ; 0x68 80a4bd4: 4413 add r3, r2 80a4bd6: 440b add r3, r1 80a4bd8: 3b34 subs r3, #52 ; 0x34 80a4bda: 781b ldrb r3, [r3, #0] 80a4bdc: b2db uxtb r3, r3 80a4bde: 461a mov r2, r3 80a4be0: 4b2b ldr r3, [pc, #172] ; (80a4c90 ) 80a4be2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a4be6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4be8: b29b uxth r3, r3 80a4bea: 461a mov r2, r3 80a4bec: 0112 lsls r2, r2, #4 80a4bee: 1ad3 subs r3, r2, r3 80a4bf0: 005b lsls r3, r3, #1 80a4bf2: b29b uxth r3, r3 80a4bf4: 335a adds r3, #90 ; 0x5a 80a4bf6: b29b uxth r3, r3 80a4bf8: 22ae movs r2, #174 ; 0xae 80a4bfa: 4619 mov r1, r3 80a4bfc: f7b1 f9fa bl 8055ff4 for(i = 0; i < 5; i++) 80a4c00: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4c02: 3301 adds r3, #1 80a4c04: 65fb str r3, [r7, #92] ; 0x5c 80a4c06: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4c08: 2b04 cmp r3, #4 80a4c0a: d9dc bls.n 80a4bc6 80a4c0c: e069 b.n 80a4ce2 for(i = 0; i < t; i++) 80a4c0e: 2300 movs r3, #0 80a4c10: 65fb str r3, [r7, #92] ; 0x5c 80a4c12: e01f b.n 80a4c54 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a4c14: 6d3a ldr r2, [r7, #80] ; 0x50 80a4c16: 6df9 ldr r1, [r7, #92] ; 0x5c 80a4c18: 4613 mov r3, r2 80a4c1a: 009b lsls r3, r3, #2 80a4c1c: 4413 add r3, r2 80a4c1e: f107 0268 add.w r2, r7, #104 ; 0x68 80a4c22: 4413 add r3, r2 80a4c24: 440b add r3, r1 80a4c26: 3b34 subs r3, #52 ; 0x34 80a4c28: 781b ldrb r3, [r3, #0] 80a4c2a: b2db uxtb r3, r3 80a4c2c: 461a mov r2, r3 80a4c2e: 4b18 ldr r3, [pc, #96] ; (80a4c90 ) 80a4c30: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a4c34: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4c36: b29b uxth r3, r3 80a4c38: 461a mov r2, r3 80a4c3a: 0112 lsls r2, r2, #4 80a4c3c: 1ad3 subs r3, r2, r3 80a4c3e: 005b lsls r3, r3, #1 80a4c40: b29b uxth r3, r3 80a4c42: 335a adds r3, #90 ; 0x5a 80a4c44: b29b uxth r3, r3 80a4c46: 22ae movs r2, #174 ; 0xae 80a4c48: 4619 mov r1, r3 80a4c4a: f7b1 f9d3 bl 8055ff4 for(i = 0; i < t; i++) 80a4c4e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4c50: 3301 adds r3, #1 80a4c52: 65fb str r3, [r7, #92] ; 0x5c 80a4c54: 6dfa ldr r2, [r7, #92] ; 0x5c 80a4c56: 6d7b ldr r3, [r7, #84] ; 0x54 80a4c58: 429a cmp r2, r3 80a4c5a: d3db bcc.n 80a4c14 DrawImage(&bmgpt, 95 + 30*t, 198); 80a4c5c: 6d7b ldr r3, [r7, #84] ; 0x54 80a4c5e: b29b uxth r3, r3 80a4c60: 461a mov r2, r3 80a4c62: 0112 lsls r2, r2, #4 80a4c64: 1ad3 subs r3, r2, r3 80a4c66: 005b lsls r3, r3, #1 80a4c68: b29b uxth r3, r3 80a4c6a: 335f adds r3, #95 ; 0x5f 80a4c6c: b29b uxth r3, r3 80a4c6e: 22c6 movs r2, #198 ; 0xc6 80a4c70: 4619 mov r1, r3 80a4c72: 4808 ldr r0, [pc, #32] ; (80a4c94 ) 80a4c74: f7b1 f9be bl 8055ff4 for(i = t; i < 5; i++) 80a4c78: 6d7b ldr r3, [r7, #84] ; 0x54 80a4c7a: 65fb str r3, [r7, #92] ; 0x5c 80a4c7c: e02e b.n 80a4cdc 80a4c7e: bf00 nop 80a4c80: 20023eb8 .word 0x20023eb8 80a4c84: 20020114 .word 0x20020114 80a4c88: 20021590 .word 0x20021590 80a4c8c: 0816e3f4 .word 0x0816e3f4 80a4c90: 20020124 .word 0x20020124 80a4c94: 0816e480 .word 0x0816e480 80a4c98: 200200fc .word 0x200200fc DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 80a4c9c: 6d3a ldr r2, [r7, #80] ; 0x50 80a4c9e: 6df9 ldr r1, [r7, #92] ; 0x5c 80a4ca0: 4613 mov r3, r2 80a4ca2: 009b lsls r3, r3, #2 80a4ca4: 4413 add r3, r2 80a4ca6: f107 0268 add.w r2, r7, #104 ; 0x68 80a4caa: 4413 add r3, r2 80a4cac: 440b add r3, r1 80a4cae: 3b34 subs r3, #52 ; 0x34 80a4cb0: 781b ldrb r3, [r3, #0] 80a4cb2: b2db uxtb r3, r3 80a4cb4: 461a mov r2, r3 80a4cb6: 4bc7 ldr r3, [pc, #796] ; (80a4fd4 ) 80a4cb8: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a4cbc: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4cbe: b29b uxth r3, r3 80a4cc0: 461a mov r2, r3 80a4cc2: 0112 lsls r2, r2, #4 80a4cc4: 1ad3 subs r3, r2, r3 80a4cc6: 005b lsls r3, r3, #1 80a4cc8: b29b uxth r3, r3 80a4cca: 336e adds r3, #110 ; 0x6e 80a4ccc: b29b uxth r3, r3 80a4cce: 22ae movs r2, #174 ; 0xae 80a4cd0: 4619 mov r1, r3 80a4cd2: f7b1 f98f bl 8055ff4 for(i = t; i < 5; i++) 80a4cd6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4cd8: 3301 adds r3, #1 80a4cda: 65fb str r3, [r7, #92] ; 0x5c 80a4cdc: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4cde: 2b04 cmp r3, #4 80a4ce0: d9dc bls.n 80a4c9c if(pardata.IVS[DIS] < PEAK_FACTOR) 80a4ce2: 4bbd ldr r3, [pc, #756] ; (80a4fd8 ) 80a4ce4: 791b ldrb r3, [r3, #4] 80a4ce6: b2db uxtb r3, r3 80a4ce8: 2b02 cmp r3, #2 80a4cea: d841 bhi.n 80a4d70 if(pardata.IIN != VOLTS) 80a4cec: 4bba ldr r3, [pc, #744] ; (80a4fd8 ) 80a4cee: 799b ldrb r3, [r3, #6] 80a4cf0: b2db uxtb r3, r3 80a4cf2: 2b02 cmp r3, #2 80a4cf4: d01e beq.n 80a4d34 if(m == 0) 80a4cf6: 6cfb ldr r3, [r7, #76] ; 0x4c 80a4cf8: 2b00 cmp r3, #0 80a4cfa: d10d bne.n 80a4d18 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 80a4cfc: 4bb6 ldr r3, [pc, #728] ; (80a4fd8 ) 80a4cfe: 7b1b ldrb r3, [r3, #12] 80a4d00: b2db uxtb r3, r3 80a4d02: 461a mov r2, r3 80a4d04: 4bb5 ldr r3, [pc, #724] ; (80a4fdc ) 80a4d06: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4d0a: 22b4 movs r2, #180 ; 0xb4 80a4d0c: f240 1109 movw r1, #265 ; 0x109 80a4d10: 4618 mov r0, r3 80a4d12: f7b1 f96f bl 8055ff4 80a4d16: e02b b.n 80a4d70 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 80a4d18: 4baf ldr r3, [pc, #700] ; (80a4fd8 ) 80a4d1a: 7b1b ldrb r3, [r3, #12] 80a4d1c: b2db uxtb r3, r3 80a4d1e: 461a mov r2, r3 80a4d20: 4baf ldr r3, [pc, #700] ; (80a4fe0 ) 80a4d22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4d26: 22b4 movs r2, #180 ; 0xb4 80a4d28: f240 1109 movw r1, #265 ; 0x109 80a4d2c: 4618 mov r0, r3 80a4d2e: f7b1 f961 bl 8055ff4 80a4d32: e01d b.n 80a4d70 if(m == 0) 80a4d34: 6cfb ldr r3, [r7, #76] ; 0x4c 80a4d36: 2b00 cmp r3, #0 80a4d38: d10d bne.n 80a4d56 DrawImage(BMG_MV[pardata.LANG], 265, 180); 80a4d3a: 4ba7 ldr r3, [pc, #668] ; (80a4fd8 ) 80a4d3c: 7b1b ldrb r3, [r3, #12] 80a4d3e: b2db uxtb r3, r3 80a4d40: 461a mov r2, r3 80a4d42: 4ba8 ldr r3, [pc, #672] ; (80a4fe4 ) 80a4d44: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4d48: 22b4 movs r2, #180 ; 0xb4 80a4d4a: f240 1109 movw r1, #265 ; 0x109 80a4d4e: 4618 mov r0, r3 80a4d50: f7b1 f950 bl 8055ff4 80a4d54: e00c b.n 80a4d70 else DrawImage(BMG_V[pardata.LANG], 265, 180); 80a4d56: 4ba0 ldr r3, [pc, #640] ; (80a4fd8 ) 80a4d58: 7b1b ldrb r3, [r3, #12] 80a4d5a: b2db uxtb r3, r3 80a4d5c: 461a mov r2, r3 80a4d5e: 4ba2 ldr r3, [pc, #648] ; (80a4fe8 ) 80a4d60: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4d64: 22b4 movs r2, #180 ; 0xb4 80a4d66: f240 1109 movw r1, #265 ; 0x109 80a4d6a: 4618 mov r0, r3 80a4d6c: f7b1 f942 bl 8055ff4 if(pardata.IVS[ipr] == EXCESS) 80a4d70: 6d3b ldr r3, [r7, #80] ; 0x50 80a4d72: 4a99 ldr r2, [pc, #612] ; (80a4fd8 ) 80a4d74: 4413 add r3, r2 80a4d76: 789b ldrb r3, [r3, #2] 80a4d78: b2db uxtb r3, r3 80a4d7a: 2b04 cmp r3, #4 80a4d7c: f040 848f bne.w 80a569e if(skz[ipr] < 0.0f) { 80a4d80: 6d3b ldr r3, [r7, #80] ; 0x50 80a4d82: 4a9a ldr r2, [pc, #616] ; (80a4fec ) 80a4d84: 009b lsls r3, r3, #2 80a4d86: 4413 add r3, r2 80a4d88: edd3 7a00 vldr s15, [r3] 80a4d8c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4d90: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4d94: f140 8483 bpl.w 80a569e DrawImage(&bmgminus, 78, 190); 80a4d98: 22be movs r2, #190 ; 0xbe 80a4d9a: 214e movs r1, #78 ; 0x4e 80a4d9c: 4894 ldr r0, [pc, #592] ; (80a4ff0 ) 80a4d9e: f7b1 f929 bl 8055ff4 80a4da2: f000 bc7c b.w 80a569e if(skz[ACC] != -1.0f) 80a4da6: 4b91 ldr r3, [pc, #580] ; (80a4fec ) 80a4da8: edd3 7a00 vldr s15, [r3] 80a4dac: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a4db0: eef4 7a47 vcmp.f32 s15, s14 80a4db4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4db8: f000 8471 beq.w 80a569e if(ipr == VEL) 80a4dbc: 6d3b ldr r3, [r7, #80] ; 0x50 80a4dbe: 2b01 cmp r3, #1 80a4dc0: d116 bne.n 80a4df0 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a4dc2: 498c ldr r1, [pc, #560] ; (80a4ff4 ) 80a4dc4: 488c ldr r0, [pc, #560] ; (80a4ff8 ) 80a4dc6: f7b0 fa21 bl 805520c if(pardata.LANG == RUS) 80a4dca: 4b83 ldr r3, [pc, #524] ; (80a4fd8 ) 80a4dcc: 7b1b ldrb r3, [r3, #12] 80a4dce: b2db uxtb r3, r3 80a4dd0: 2b00 cmp r3, #0 80a4dd2: d106 bne.n 80a4de2 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a4dd4: 4a89 ldr r2, [pc, #548] ; (80a4ffc ) 80a4dd6: 2187 movs r1, #135 ; 0x87 80a4dd8: 20a7 movs r0, #167 ; 0xa7 80a4dda: f7b0 ffd7 bl 8055d8c 80a4dde: f000 bc5e b.w 80a569e else LCD_DisplayStringC(167, 135, "NO DATA"); 80a4de2: 4a87 ldr r2, [pc, #540] ; (80a5000 ) 80a4de4: 2187 movs r1, #135 ; 0x87 80a4de6: 20a7 movs r0, #167 ; 0xa7 80a4de8: f7b0 ffd0 bl 8055d8c 80a4dec: f000 bc57 b.w 80a569e if(ipr == DIS) 80a4df0: 6d3b ldr r3, [r7, #80] ; 0x50 80a4df2: 2b02 cmp r3, #2 80a4df4: f040 8453 bne.w 80a569e LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a4df8: 497e ldr r1, [pc, #504] ; (80a4ff4 ) 80a4dfa: 487f ldr r0, [pc, #508] ; (80a4ff8 ) 80a4dfc: f7b0 fa06 bl 805520c if(pardata.LANG == RUS) 80a4e00: 4b75 ldr r3, [pc, #468] ; (80a4fd8 ) 80a4e02: 7b1b ldrb r3, [r3, #12] 80a4e04: b2db uxtb r3, r3 80a4e06: 2b00 cmp r3, #0 80a4e08: d106 bne.n 80a4e18 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a4e0a: 4a7c ldr r2, [pc, #496] ; (80a4ffc ) 80a4e0c: 21b9 movs r1, #185 ; 0xb9 80a4e0e: 20a7 movs r0, #167 ; 0xa7 80a4e10: f7b0 ffbc bl 8055d8c 80a4e14: f000 bc43 b.w 80a569e else LCD_DisplayStringC(167, 185, "NO DATA"); 80a4e18: 4a79 ldr r2, [pc, #484] ; (80a5000 ) 80a4e1a: 21b9 movs r1, #185 ; 0xb9 80a4e1c: 20a7 movs r0, #167 ; 0xa7 80a4e1e: f7b0 ffb5 bl 8055d8c 80a4e22: f000 bc3c b.w 80a569e if(skz[ipr] != -1.0f) 80a4e26: 6d3b ldr r3, [r7, #80] ; 0x50 80a4e28: 4a70 ldr r2, [pc, #448] ; (80a4fec ) 80a4e2a: 009b lsls r3, r3, #2 80a4e2c: 4413 add r3, r2 80a4e2e: edd3 7a00 vldr s15, [r3] 80a4e32: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a4e36: eef4 7a47 vcmp.f32 s15, s14 80a4e3a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4e3e: f000 83dc beq.w 80a55fa f = ABS(skzDB[ipr]); 80a4e42: 6d3b ldr r3, [r7, #80] ; 0x50 80a4e44: 4a6f ldr r2, [pc, #444] ; (80a5004 ) 80a4e46: 009b lsls r3, r3, #2 80a4e48: 4413 add r3, r2 80a4e4a: edd3 7a00 vldr s15, [r3] 80a4e4e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4e52: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4e56: dd06 ble.n 80a4e66 80a4e58: 6d3b ldr r3, [r7, #80] ; 0x50 80a4e5a: 4a6a ldr r2, [pc, #424] ; (80a5004 ) 80a4e5c: 009b lsls r3, r3, #2 80a4e5e: 4413 add r3, r2 80a4e60: edd3 7a00 vldr s15, [r3] 80a4e64: e007 b.n 80a4e76 80a4e66: 6d3b ldr r3, [r7, #80] ; 0x50 80a4e68: 4a66 ldr r2, [pc, #408] ; (80a5004 ) 80a4e6a: 009b lsls r3, r3, #2 80a4e6c: 4413 add r3, r2 80a4e6e: edd3 7a00 vldr s15, [r3] 80a4e72: eef1 7a67 vneg.f32 s15, s15 80a4e76: edc7 7a11 vstr s15, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f * 10 + 0.5f)); 80a4e7a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4e7e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a4e82: ee67 7a87 vmul.f32 s15, s15, s14 80a4e86: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a4e8a: ee77 7a87 vadd.f32 s15, s15, s14 80a4e8e: eeb0 0a67 vmov.f32 s0, s15 80a4e92: f02a fe87 bl 80cfba4 80a4e96: eef0 7a40 vmov.f32 s15, s0 80a4e9a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a4e9e: ee17 3a90 vmov r3, s15 80a4ea2: 65bb str r3, [r7, #88] ; 0x58 if(f < 10.0f) 80a4ea4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4ea8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a4eac: eef4 7ac7 vcmpe.f32 s15, s14 80a4eb0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4eb4: f140 80e4 bpl.w 80a5080 ik[ipr][0] = (uint8_t) (k / 10); 80a4eb8: 6d3a ldr r2, [r7, #80] ; 0x50 80a4eba: 6dbb ldr r3, [r7, #88] ; 0x58 80a4ebc: 4952 ldr r1, [pc, #328] ; (80a5008 ) 80a4ebe: fba1 1303 umull r1, r3, r1, r3 80a4ec2: 08db lsrs r3, r3, #3 80a4ec4: b2d9 uxtb r1, r3 80a4ec6: 4613 mov r3, r2 80a4ec8: 009b lsls r3, r3, #2 80a4eca: 4413 add r3, r2 80a4ecc: f107 0268 add.w r2, r7, #104 ; 0x68 80a4ed0: 4413 add r3, r2 80a4ed2: 3b34 subs r3, #52 ; 0x34 80a4ed4: 460a mov r2, r1 80a4ed6: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10); 80a4ed8: 6d38 ldr r0, [r7, #80] ; 0x50 80a4eda: 6db9 ldr r1, [r7, #88] ; 0x58 80a4edc: 4b4a ldr r3, [pc, #296] ; (80a5008 ) 80a4ede: fba3 2301 umull r2, r3, r3, r1 80a4ee2: 08da lsrs r2, r3, #3 80a4ee4: 4613 mov r3, r2 80a4ee6: 009b lsls r3, r3, #2 80a4ee8: 4413 add r3, r2 80a4eea: 005b lsls r3, r3, #1 80a4eec: 1aca subs r2, r1, r3 80a4eee: b2d2 uxtb r2, r2 80a4ef0: 4603 mov r3, r0 80a4ef2: 009b lsls r3, r3, #2 80a4ef4: 4403 add r3, r0 80a4ef6: f107 0168 add.w r1, r7, #104 ; 0x68 80a4efa: 440b add r3, r1 80a4efc: 3b33 subs r3, #51 ; 0x33 80a4efe: 701a strb r2, [r3, #0] if(ipr == ACC) 80a4f00: 6d3b ldr r3, [r7, #80] ; 0x50 80a4f02: 2b00 cmp r3, #0 80a4f04: d131 bne.n 80a4f6a DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 68+18); 80a4f06: 6d3a ldr r2, [r7, #80] ; 0x50 80a4f08: 4613 mov r3, r2 80a4f0a: 009b lsls r3, r3, #2 80a4f0c: 4413 add r3, r2 80a4f0e: f107 0268 add.w r2, r7, #104 ; 0x68 80a4f12: 4413 add r3, r2 80a4f14: 3b33 subs r3, #51 ; 0x33 80a4f16: 781b ldrb r3, [r3, #0] 80a4f18: b2db uxtb r3, r3 80a4f1a: 461a mov r2, r3 80a4f1c: 4b2d ldr r3, [pc, #180] ; (80a4fd4 ) 80a4f1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4f22: 2256 movs r2, #86 ; 0x56 80a4f24: 21e6 movs r1, #230 ; 0xe6 80a4f26: 4618 mov r0, r3 80a4f28: f7b1 f864 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a4f2c: 226e movs r2, #110 ; 0x6e 80a4f2e: 21d7 movs r1, #215 ; 0xd7 80a4f30: 4836 ldr r0, [pc, #216] ; (80a500c ) 80a4f32: f7b1 f85f bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 68+18); 80a4f36: 6d3a ldr r2, [r7, #80] ; 0x50 80a4f38: 4613 mov r3, r2 80a4f3a: 009b lsls r3, r3, #2 80a4f3c: 4413 add r3, r2 80a4f3e: f107 0268 add.w r2, r7, #104 ; 0x68 80a4f42: 4413 add r3, r2 80a4f44: 3b34 subs r3, #52 ; 0x34 80a4f46: 781b ldrb r3, [r3, #0] 80a4f48: b2db uxtb r3, r3 80a4f4a: 461a mov r2, r3 80a4f4c: 4b21 ldr r3, [pc, #132] ; (80a4fd4 ) 80a4f4e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4f52: 2256 movs r2, #86 ; 0x56 80a4f54: 21b4 movs r1, #180 ; 0xb4 80a4f56: 4618 mov r0, r3 80a4f58: f7b1 f84c bl 8055ff4 DrawImage(&bmg_dB, 265, 74+18); 80a4f5c: 225c movs r2, #92 ; 0x5c 80a4f5e: f240 1109 movw r1, #265 ; 0x109 80a4f62: 482b ldr r0, [pc, #172] ; (80a5010 ) 80a4f64: f7b1 f846 bl 8055ff4 80a4f68: e399 b.n 80a569e if(ipr == VEL) 80a4f6a: 6d3b ldr r3, [r7, #80] ; 0x50 80a4f6c: 2b01 cmp r3, #1 80a4f6e: d151 bne.n 80a5014 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 121+9); 80a4f70: 6d3a ldr r2, [r7, #80] ; 0x50 80a4f72: 4613 mov r3, r2 80a4f74: 009b lsls r3, r3, #2 80a4f76: 4413 add r3, r2 80a4f78: f107 0268 add.w r2, r7, #104 ; 0x68 80a4f7c: 4413 add r3, r2 80a4f7e: 3b33 subs r3, #51 ; 0x33 80a4f80: 781b ldrb r3, [r3, #0] 80a4f82: b2db uxtb r3, r3 80a4f84: 461a mov r2, r3 80a4f86: 4b13 ldr r3, [pc, #76] ; (80a4fd4 ) 80a4f88: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4f8c: 2282 movs r2, #130 ; 0x82 80a4f8e: 21e6 movs r1, #230 ; 0xe6 80a4f90: 4618 mov r0, r3 80a4f92: f7b1 f82f bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a4f96: 229a movs r2, #154 ; 0x9a 80a4f98: 21d7 movs r1, #215 ; 0xd7 80a4f9a: 481c ldr r0, [pc, #112] ; (80a500c ) 80a4f9c: f7b1 f82a bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 121+9); 80a4fa0: 6d3a ldr r2, [r7, #80] ; 0x50 80a4fa2: 4613 mov r3, r2 80a4fa4: 009b lsls r3, r3, #2 80a4fa6: 4413 add r3, r2 80a4fa8: f107 0268 add.w r2, r7, #104 ; 0x68 80a4fac: 4413 add r3, r2 80a4fae: 3b34 subs r3, #52 ; 0x34 80a4fb0: 781b ldrb r3, [r3, #0] 80a4fb2: b2db uxtb r3, r3 80a4fb4: 461a mov r2, r3 80a4fb6: 4b07 ldr r3, [pc, #28] ; (80a4fd4 ) 80a4fb8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4fbc: 2282 movs r2, #130 ; 0x82 80a4fbe: 21b4 movs r1, #180 ; 0xb4 80a4fc0: 4618 mov r0, r3 80a4fc2: f7b1 f817 bl 8055ff4 DrawImage(&bmg_dB, 265, 128+9); 80a4fc6: 2289 movs r2, #137 ; 0x89 80a4fc8: f240 1109 movw r1, #265 ; 0x109 80a4fcc: 4810 ldr r0, [pc, #64] ; (80a5010 ) 80a4fce: f7b1 f811 bl 8055ff4 80a4fd2: e364 b.n 80a569e 80a4fd4: 20020124 .word 0x20020124 80a4fd8: 20023eb8 .word 0x20023eb8 80a4fdc: 20020104 .word 0x20020104 80a4fe0: 2002010c .word 0x2002010c 80a4fe4: 20020114 .word 0x20020114 80a4fe8: 2002011c .word 0x2002011c 80a4fec: 20021590 .word 0x20021590 80a4ff0: 0816e3f4 .word 0x0816e3f4 80a4ff4: ff0a0f1f .word 0xff0a0f1f 80a4ff8: ffb8e828 .word 0xffb8e828 80a4ffc: 080d6564 .word 0x080d6564 80a5000: 080d6570 .word 0x080d6570 80a5004: 2002159c .word 0x2002159c 80a5008: cccccccd .word 0xcccccccd 80a500c: 0816e480 .word 0x0816e480 80a5010: 081696cc .word 0x081696cc if(ipr == DIS) 80a5014: 6d3b ldr r3, [r7, #80] ; 0x50 80a5016: 2b02 cmp r3, #2 80a5018: f040 8341 bne.w 80a569e DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 174); 80a501c: 6d3a ldr r2, [r7, #80] ; 0x50 80a501e: 4613 mov r3, r2 80a5020: 009b lsls r3, r3, #2 80a5022: 4413 add r3, r2 80a5024: f107 0268 add.w r2, r7, #104 ; 0x68 80a5028: 4413 add r3, r2 80a502a: 3b33 subs r3, #51 ; 0x33 80a502c: 781b ldrb r3, [r3, #0] 80a502e: b2db uxtb r3, r3 80a5030: 461a mov r2, r3 80a5032: 4ba6 ldr r3, [pc, #664] ; (80a52cc ) 80a5034: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a5038: 22ae movs r2, #174 ; 0xae 80a503a: 21e6 movs r1, #230 ; 0xe6 80a503c: 4618 mov r0, r3 80a503e: f7b0 ffd9 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 198); 80a5042: 22c6 movs r2, #198 ; 0xc6 80a5044: 21d7 movs r1, #215 ; 0xd7 80a5046: 48a2 ldr r0, [pc, #648] ; (80a52d0 ) 80a5048: f7b0 ffd4 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 174); 80a504c: 6d3a ldr r2, [r7, #80] ; 0x50 80a504e: 4613 mov r3, r2 80a5050: 009b lsls r3, r3, #2 80a5052: 4413 add r3, r2 80a5054: f107 0268 add.w r2, r7, #104 ; 0x68 80a5058: 4413 add r3, r2 80a505a: 3b34 subs r3, #52 ; 0x34 80a505c: 781b ldrb r3, [r3, #0] 80a505e: b2db uxtb r3, r3 80a5060: 461a mov r2, r3 80a5062: 4b9a ldr r3, [pc, #616] ; (80a52cc ) 80a5064: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a5068: 22ae movs r2, #174 ; 0xae 80a506a: 21b4 movs r1, #180 ; 0xb4 80a506c: 4618 mov r0, r3 80a506e: f7b0 ffc1 bl 8055ff4 DrawImage(&bmg_dB, 265, 180); 80a5072: 22b4 movs r2, #180 ; 0xb4 80a5074: f240 1109 movw r1, #265 ; 0x109 80a5078: 4896 ldr r0, [pc, #600] ; (80a52d4 ) 80a507a: f7b0 ffbb bl 8055ff4 80a507e: e30e b.n 80a569e if(f < 100.0f) 80a5080: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5084: ed9f 7a94 vldr s14, [pc, #592] ; 80a52d8 80a5088: eef4 7ac7 vcmpe.f32 s15, s14 80a508c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5090: f140 812a bpl.w 80a52e8 ik[ipr][0] = (uint8_t) (k / 100); 80a5094: 6d3a ldr r2, [r7, #80] ; 0x50 80a5096: 6dbb ldr r3, [r7, #88] ; 0x58 80a5098: 4990 ldr r1, [pc, #576] ; (80a52dc ) 80a509a: fba1 1303 umull r1, r3, r1, r3 80a509e: 095b lsrs r3, r3, #5 80a50a0: b2d9 uxtb r1, r3 80a50a2: 4613 mov r3, r2 80a50a4: 009b lsls r3, r3, #2 80a50a6: 4413 add r3, r2 80a50a8: f107 0268 add.w r2, r7, #104 ; 0x68 80a50ac: 4413 add r3, r2 80a50ae: 3b34 subs r3, #52 ; 0x34 80a50b0: 460a mov r2, r1 80a50b2: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 100 / 10); 80a50b4: 6d39 ldr r1, [r7, #80] ; 0x50 80a50b6: 6dba ldr r2, [r7, #88] ; 0x58 80a50b8: 4b88 ldr r3, [pc, #544] ; (80a52dc ) 80a50ba: fba3 0302 umull r0, r3, r3, r2 80a50be: 095b lsrs r3, r3, #5 80a50c0: 2064 movs r0, #100 ; 0x64 80a50c2: fb00 f303 mul.w r3, r0, r3 80a50c6: 1ad3 subs r3, r2, r3 80a50c8: 4a85 ldr r2, [pc, #532] ; (80a52e0 ) 80a50ca: fba2 2303 umull r2, r3, r2, r3 80a50ce: 08db lsrs r3, r3, #3 80a50d0: b2da uxtb r2, r3 80a50d2: 460b mov r3, r1 80a50d4: 009b lsls r3, r3, #2 80a50d6: 440b add r3, r1 80a50d8: f107 0168 add.w r1, r7, #104 ; 0x68 80a50dc: 440b add r3, r1 80a50de: 3b33 subs r3, #51 ; 0x33 80a50e0: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 100 % 10); 80a50e2: 6d38 ldr r0, [r7, #80] ; 0x50 80a50e4: 6dbb ldr r3, [r7, #88] ; 0x58 80a50e6: 4a7d ldr r2, [pc, #500] ; (80a52dc ) 80a50e8: fba2 1203 umull r1, r2, r2, r3 80a50ec: 0952 lsrs r2, r2, #5 80a50ee: 2164 movs r1, #100 ; 0x64 80a50f0: fb01 f202 mul.w r2, r1, r2 80a50f4: 1a9a subs r2, r3, r2 80a50f6: 4b7a ldr r3, [pc, #488] ; (80a52e0 ) 80a50f8: fba3 1302 umull r1, r3, r3, r2 80a50fc: 08d9 lsrs r1, r3, #3 80a50fe: 460b mov r3, r1 80a5100: 009b lsls r3, r3, #2 80a5102: 440b add r3, r1 80a5104: 005b lsls r3, r3, #1 80a5106: 1ad1 subs r1, r2, r3 80a5108: b2ca uxtb r2, r1 80a510a: 4603 mov r3, r0 80a510c: 009b lsls r3, r3, #2 80a510e: 4403 add r3, r0 80a5110: f107 0168 add.w r1, r7, #104 ; 0x68 80a5114: 440b add r3, r1 80a5116: 3b32 subs r3, #50 ; 0x32 80a5118: 701a strb r2, [r3, #0] if(ipr == ACC) 80a511a: 6d3b ldr r3, [r7, #80] ; 0x50 80a511c: 2b00 cmp r3, #0 80a511e: d144 bne.n 80a51aa DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 68+18); 80a5120: 6d3a ldr r2, [r7, #80] ; 0x50 80a5122: 4613 mov r3, r2 80a5124: 009b lsls r3, r3, #2 80a5126: 4413 add r3, r2 80a5128: f107 0268 add.w r2, r7, #104 ; 0x68 80a512c: 4413 add r3, r2 80a512e: 3b32 subs r3, #50 ; 0x32 80a5130: 781b ldrb r3, [r3, #0] 80a5132: b2db uxtb r3, r3 80a5134: 461a mov r2, r3 80a5136: 4b65 ldr r3, [pc, #404] ; (80a52cc ) 80a5138: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a513c: 2256 movs r2, #86 ; 0x56 80a513e: 21e6 movs r1, #230 ; 0xe6 80a5140: 4618 mov r0, r3 80a5142: f7b0 ff57 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a5146: 226e movs r2, #110 ; 0x6e 80a5148: 21d7 movs r1, #215 ; 0xd7 80a514a: 4861 ldr r0, [pc, #388] ; (80a52d0 ) 80a514c: f7b0 ff52 bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 68+18); 80a5150: 6d3a ldr r2, [r7, #80] ; 0x50 80a5152: 4613 mov r3, r2 80a5154: 009b lsls r3, r3, #2 80a5156: 4413 add r3, r2 80a5158: f107 0268 add.w r2, r7, #104 ; 0x68 80a515c: 4413 add r3, r2 80a515e: 3b33 subs r3, #51 ; 0x33 80a5160: 781b ldrb r3, [r3, #0] 80a5162: b2db uxtb r3, r3 80a5164: 461a mov r2, r3 80a5166: 4b59 ldr r3, [pc, #356] ; (80a52cc ) 80a5168: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a516c: 2256 movs r2, #86 ; 0x56 80a516e: 21b4 movs r1, #180 ; 0xb4 80a5170: 4618 mov r0, r3 80a5172: f7b0 ff3f bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 68+18); 80a5176: 6d3a ldr r2, [r7, #80] ; 0x50 80a5178: 4613 mov r3, r2 80a517a: 009b lsls r3, r3, #2 80a517c: 4413 add r3, r2 80a517e: f107 0268 add.w r2, r7, #104 ; 0x68 80a5182: 4413 add r3, r2 80a5184: 3b34 subs r3, #52 ; 0x34 80a5186: 781b ldrb r3, [r3, #0] 80a5188: b2db uxtb r3, r3 80a518a: 461a mov r2, r3 80a518c: 4b4f ldr r3, [pc, #316] ; (80a52cc ) 80a518e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a5192: 2256 movs r2, #86 ; 0x56 80a5194: 2196 movs r1, #150 ; 0x96 80a5196: 4618 mov r0, r3 80a5198: f7b0 ff2c bl 8055ff4 DrawImage(&bmg_dB, 265, 74+18); 80a519c: 225c movs r2, #92 ; 0x5c 80a519e: f240 1109 movw r1, #265 ; 0x109 80a51a2: 484c ldr r0, [pc, #304] ; (80a52d4 ) 80a51a4: f7b0 ff26 bl 8055ff4 80a51a8: e279 b.n 80a569e if(ipr == VEL) 80a51aa: 6d3b ldr r3, [r7, #80] ; 0x50 80a51ac: 2b01 cmp r3, #1 80a51ae: d144 bne.n 80a523a DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 121+9); 80a51b0: 6d3a ldr r2, [r7, #80] ; 0x50 80a51b2: 4613 mov r3, r2 80a51b4: 009b lsls r3, r3, #2 80a51b6: 4413 add r3, r2 80a51b8: f107 0268 add.w r2, r7, #104 ; 0x68 80a51bc: 4413 add r3, r2 80a51be: 3b32 subs r3, #50 ; 0x32 80a51c0: 781b ldrb r3, [r3, #0] 80a51c2: b2db uxtb r3, r3 80a51c4: 461a mov r2, r3 80a51c6: 4b41 ldr r3, [pc, #260] ; (80a52cc ) 80a51c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a51cc: 2282 movs r2, #130 ; 0x82 80a51ce: 21e6 movs r1, #230 ; 0xe6 80a51d0: 4618 mov r0, r3 80a51d2: f7b0 ff0f bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a51d6: 229a movs r2, #154 ; 0x9a 80a51d8: 21d7 movs r1, #215 ; 0xd7 80a51da: 483d ldr r0, [pc, #244] ; (80a52d0 ) 80a51dc: f7b0 ff0a bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 121+9); 80a51e0: 6d3a ldr r2, [r7, #80] ; 0x50 80a51e2: 4613 mov r3, r2 80a51e4: 009b lsls r3, r3, #2 80a51e6: 4413 add r3, r2 80a51e8: f107 0268 add.w r2, r7, #104 ; 0x68 80a51ec: 4413 add r3, r2 80a51ee: 3b33 subs r3, #51 ; 0x33 80a51f0: 781b ldrb r3, [r3, #0] 80a51f2: b2db uxtb r3, r3 80a51f4: 461a mov r2, r3 80a51f6: 4b35 ldr r3, [pc, #212] ; (80a52cc ) 80a51f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a51fc: 2282 movs r2, #130 ; 0x82 80a51fe: 21b4 movs r1, #180 ; 0xb4 80a5200: 4618 mov r0, r3 80a5202: f7b0 fef7 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 121+9); 80a5206: 6d3a ldr r2, [r7, #80] ; 0x50 80a5208: 4613 mov r3, r2 80a520a: 009b lsls r3, r3, #2 80a520c: 4413 add r3, r2 80a520e: f107 0268 add.w r2, r7, #104 ; 0x68 80a5212: 4413 add r3, r2 80a5214: 3b34 subs r3, #52 ; 0x34 80a5216: 781b ldrb r3, [r3, #0] 80a5218: b2db uxtb r3, r3 80a521a: 461a mov r2, r3 80a521c: 4b2b ldr r3, [pc, #172] ; (80a52cc ) 80a521e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a5222: 2282 movs r2, #130 ; 0x82 80a5224: 2196 movs r1, #150 ; 0x96 80a5226: 4618 mov r0, r3 80a5228: f7b0 fee4 bl 8055ff4 DrawImage(&bmg_dB, 265, 128+9); 80a522c: 2289 movs r2, #137 ; 0x89 80a522e: f240 1109 movw r1, #265 ; 0x109 80a5232: 4828 ldr r0, [pc, #160] ; (80a52d4 ) 80a5234: f7b0 fede bl 8055ff4 80a5238: e231 b.n 80a569e if(ipr == DIS) 80a523a: 6d3b ldr r3, [r7, #80] ; 0x50 80a523c: 2b02 cmp r3, #2 80a523e: f040 822e bne.w 80a569e DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 174); 80a5242: 6d3a ldr r2, [r7, #80] ; 0x50 80a5244: 4613 mov r3, r2 80a5246: 009b lsls r3, r3, #2 80a5248: 4413 add r3, r2 80a524a: f107 0268 add.w r2, r7, #104 ; 0x68 80a524e: 4413 add r3, r2 80a5250: 3b32 subs r3, #50 ; 0x32 80a5252: 781b ldrb r3, [r3, #0] 80a5254: b2db uxtb r3, r3 80a5256: 461a mov r2, r3 80a5258: 4b1c ldr r3, [pc, #112] ; (80a52cc ) 80a525a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a525e: 22ae movs r2, #174 ; 0xae 80a5260: 21e6 movs r1, #230 ; 0xe6 80a5262: 4618 mov r0, r3 80a5264: f7b0 fec6 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 198); 80a5268: 22c6 movs r2, #198 ; 0xc6 80a526a: 21d7 movs r1, #215 ; 0xd7 80a526c: 4818 ldr r0, [pc, #96] ; (80a52d0 ) 80a526e: f7b0 fec1 bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 174); 80a5272: 6d3a ldr r2, [r7, #80] ; 0x50 80a5274: 4613 mov r3, r2 80a5276: 009b lsls r3, r3, #2 80a5278: 4413 add r3, r2 80a527a: f107 0268 add.w r2, r7, #104 ; 0x68 80a527e: 4413 add r3, r2 80a5280: 3b33 subs r3, #51 ; 0x33 80a5282: 781b ldrb r3, [r3, #0] 80a5284: b2db uxtb r3, r3 80a5286: 461a mov r2, r3 80a5288: 4b10 ldr r3, [pc, #64] ; (80a52cc ) 80a528a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a528e: 22ae movs r2, #174 ; 0xae 80a5290: 21b4 movs r1, #180 ; 0xb4 80a5292: 4618 mov r0, r3 80a5294: f7b0 feae bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 174); 80a5298: 6d3a ldr r2, [r7, #80] ; 0x50 80a529a: 4613 mov r3, r2 80a529c: 009b lsls r3, r3, #2 80a529e: 4413 add r3, r2 80a52a0: f107 0268 add.w r2, r7, #104 ; 0x68 80a52a4: 4413 add r3, r2 80a52a6: 3b34 subs r3, #52 ; 0x34 80a52a8: 781b ldrb r3, [r3, #0] 80a52aa: b2db uxtb r3, r3 80a52ac: 461a mov r2, r3 80a52ae: 4b07 ldr r3, [pc, #28] ; (80a52cc ) 80a52b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a52b4: 22ae movs r2, #174 ; 0xae 80a52b6: 2196 movs r1, #150 ; 0x96 80a52b8: 4618 mov r0, r3 80a52ba: f7b0 fe9b bl 8055ff4 DrawImage(&bmg_dB, 265, 180); 80a52be: 22b4 movs r2, #180 ; 0xb4 80a52c0: f240 1109 movw r1, #265 ; 0x109 80a52c4: 4803 ldr r0, [pc, #12] ; (80a52d4 ) 80a52c6: f7b0 fe95 bl 8055ff4 80a52ca: e1e8 b.n 80a569e 80a52cc: 20020124 .word 0x20020124 80a52d0: 0816e480 .word 0x0816e480 80a52d4: 081696cc .word 0x081696cc 80a52d8: 42c80000 .word 0x42c80000 80a52dc: 51eb851f .word 0x51eb851f 80a52e0: cccccccd .word 0xcccccccd 80a52e4: 447a0000 .word 0x447a0000 if(f < 1000.0f) 80a52e8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a52ec: ed1f 7a03 vldr s14, [pc, #-12] ; 80a52e4 80a52f0: eef4 7ac7 vcmpe.f32 s15, s14 80a52f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a52f8: f140 81d1 bpl.w 80a569e ik[ipr][0] = (uint8_t) (k / 1000); 80a52fc: 6d3a ldr r2, [r7, #80] ; 0x50 80a52fe: 6dbb ldr r3, [r7, #88] ; 0x58 80a5300: 49cf ldr r1, [pc, #828] ; (80a5640 ) 80a5302: fba1 1303 umull r1, r3, r1, r3 80a5306: 099b lsrs r3, r3, #6 80a5308: b2d9 uxtb r1, r3 80a530a: 4613 mov r3, r2 80a530c: 009b lsls r3, r3, #2 80a530e: 4413 add r3, r2 80a5310: f107 0268 add.w r2, r7, #104 ; 0x68 80a5314: 4413 add r3, r2 80a5316: 3b34 subs r3, #52 ; 0x34 80a5318: 460a mov r2, r1 80a531a: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 1000 / 100); 80a531c: 6d39 ldr r1, [r7, #80] ; 0x50 80a531e: 6dba ldr r2, [r7, #88] ; 0x58 80a5320: 4bc7 ldr r3, [pc, #796] ; (80a5640 ) 80a5322: fba3 0302 umull r0, r3, r3, r2 80a5326: 099b lsrs r3, r3, #6 80a5328: f44f 707a mov.w r0, #1000 ; 0x3e8 80a532c: fb00 f303 mul.w r3, r0, r3 80a5330: 1ad3 subs r3, r2, r3 80a5332: 4ac4 ldr r2, [pc, #784] ; (80a5644 ) 80a5334: fba2 2303 umull r2, r3, r2, r3 80a5338: 095b lsrs r3, r3, #5 80a533a: b2da uxtb r2, r3 80a533c: 460b mov r3, r1 80a533e: 009b lsls r3, r3, #2 80a5340: 440b add r3, r1 80a5342: f107 0168 add.w r1, r7, #104 ; 0x68 80a5346: 440b add r3, r1 80a5348: 3b33 subs r3, #51 ; 0x33 80a534a: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 1000 % 100 / 10); 80a534c: 6d39 ldr r1, [r7, #80] ; 0x50 80a534e: 6dba ldr r2, [r7, #88] ; 0x58 80a5350: 4bbb ldr r3, [pc, #748] ; (80a5640 ) 80a5352: fba3 0302 umull r0, r3, r3, r2 80a5356: 099b lsrs r3, r3, #6 80a5358: f44f 707a mov.w r0, #1000 ; 0x3e8 80a535c: fb00 f303 mul.w r3, r0, r3 80a5360: 1ad3 subs r3, r2, r3 80a5362: 4ab8 ldr r2, [pc, #736] ; (80a5644 ) 80a5364: fba2 0203 umull r0, r2, r2, r3 80a5368: 0952 lsrs r2, r2, #5 80a536a: 2064 movs r0, #100 ; 0x64 80a536c: fb00 f202 mul.w r2, r0, r2 80a5370: 1a9a subs r2, r3, r2 80a5372: 4bb5 ldr r3, [pc, #724] ; (80a5648 ) 80a5374: fba3 2302 umull r2, r3, r3, r2 80a5378: 08db lsrs r3, r3, #3 80a537a: b2da uxtb r2, r3 80a537c: 460b mov r3, r1 80a537e: 009b lsls r3, r3, #2 80a5380: 440b add r3, r1 80a5382: f107 0168 add.w r1, r7, #104 ; 0x68 80a5386: 440b add r3, r1 80a5388: 3b32 subs r3, #50 ; 0x32 80a538a: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 1000 % 100 % 10); 80a538c: 6d38 ldr r0, [r7, #80] ; 0x50 80a538e: 6dba ldr r2, [r7, #88] ; 0x58 80a5390: 4bab ldr r3, [pc, #684] ; (80a5640 ) 80a5392: fba3 1302 umull r1, r3, r3, r2 80a5396: 099b lsrs r3, r3, #6 80a5398: f44f 717a mov.w r1, #1000 ; 0x3e8 80a539c: fb01 f303 mul.w r3, r1, r3 80a53a0: 1ad3 subs r3, r2, r3 80a53a2: 4aa8 ldr r2, [pc, #672] ; (80a5644 ) 80a53a4: fba2 1203 umull r1, r2, r2, r3 80a53a8: 0952 lsrs r2, r2, #5 80a53aa: 2164 movs r1, #100 ; 0x64 80a53ac: fb01 f202 mul.w r2, r1, r2 80a53b0: 1a9a subs r2, r3, r2 80a53b2: 4ba5 ldr r3, [pc, #660] ; (80a5648 ) 80a53b4: fba3 1302 umull r1, r3, r3, r2 80a53b8: 08d9 lsrs r1, r3, #3 80a53ba: 460b mov r3, r1 80a53bc: 009b lsls r3, r3, #2 80a53be: 440b add r3, r1 80a53c0: 005b lsls r3, r3, #1 80a53c2: 1ad1 subs r1, r2, r3 80a53c4: b2ca uxtb r2, r1 80a53c6: 4603 mov r3, r0 80a53c8: 009b lsls r3, r3, #2 80a53ca: 4403 add r3, r0 80a53cc: f107 0168 add.w r1, r7, #104 ; 0x68 80a53d0: 440b add r3, r1 80a53d2: 3b31 subs r3, #49 ; 0x31 80a53d4: 701a strb r2, [r3, #0] if(ipr == ACC) 80a53d6: 6d3b ldr r3, [r7, #80] ; 0x50 80a53d8: 2b00 cmp r3, #0 80a53da: d157 bne.n 80a548c DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 68+18); 80a53dc: 6d3a ldr r2, [r7, #80] ; 0x50 80a53de: 4613 mov r3, r2 80a53e0: 009b lsls r3, r3, #2 80a53e2: 4413 add r3, r2 80a53e4: f107 0268 add.w r2, r7, #104 ; 0x68 80a53e8: 4413 add r3, r2 80a53ea: 3b31 subs r3, #49 ; 0x31 80a53ec: 781b ldrb r3, [r3, #0] 80a53ee: b2db uxtb r3, r3 80a53f0: 461a mov r2, r3 80a53f2: 4b96 ldr r3, [pc, #600] ; (80a564c ) 80a53f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a53f8: 2256 movs r2, #86 ; 0x56 80a53fa: 21e6 movs r1, #230 ; 0xe6 80a53fc: 4618 mov r0, r3 80a53fe: f7b0 fdf9 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a5402: 226e movs r2, #110 ; 0x6e 80a5404: 21d7 movs r1, #215 ; 0xd7 80a5406: 4892 ldr r0, [pc, #584] ; (80a5650 ) 80a5408: f7b0 fdf4 bl 8055ff4 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 68+18); 80a540c: 6d3a ldr r2, [r7, #80] ; 0x50 80a540e: 4613 mov r3, r2 80a5410: 009b lsls r3, r3, #2 80a5412: 4413 add r3, r2 80a5414: f107 0268 add.w r2, r7, #104 ; 0x68 80a5418: 4413 add r3, r2 80a541a: 3b32 subs r3, #50 ; 0x32 80a541c: 781b ldrb r3, [r3, #0] 80a541e: b2db uxtb r3, r3 80a5420: 461a mov r2, r3 80a5422: 4b8a ldr r3, [pc, #552] ; (80a564c ) 80a5424: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a5428: 2256 movs r2, #86 ; 0x56 80a542a: 21b4 movs r1, #180 ; 0xb4 80a542c: 4618 mov r0, r3 80a542e: f7b0 fde1 bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 68+18); 80a5432: 6d3a ldr r2, [r7, #80] ; 0x50 80a5434: 4613 mov r3, r2 80a5436: 009b lsls r3, r3, #2 80a5438: 4413 add r3, r2 80a543a: f107 0268 add.w r2, r7, #104 ; 0x68 80a543e: 4413 add r3, r2 80a5440: 3b33 subs r3, #51 ; 0x33 80a5442: 781b ldrb r3, [r3, #0] 80a5444: b2db uxtb r3, r3 80a5446: 461a mov r2, r3 80a5448: 4b80 ldr r3, [pc, #512] ; (80a564c ) 80a544a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a544e: 2256 movs r2, #86 ; 0x56 80a5450: 2196 movs r1, #150 ; 0x96 80a5452: 4618 mov r0, r3 80a5454: f7b0 fdce bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 68+18); 80a5458: 6d3a ldr r2, [r7, #80] ; 0x50 80a545a: 4613 mov r3, r2 80a545c: 009b lsls r3, r3, #2 80a545e: 4413 add r3, r2 80a5460: f107 0268 add.w r2, r7, #104 ; 0x68 80a5464: 4413 add r3, r2 80a5466: 3b34 subs r3, #52 ; 0x34 80a5468: 781b ldrb r3, [r3, #0] 80a546a: b2db uxtb r3, r3 80a546c: 461a mov r2, r3 80a546e: 4b77 ldr r3, [pc, #476] ; (80a564c ) 80a5470: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a5474: 2256 movs r2, #86 ; 0x56 80a5476: 2178 movs r1, #120 ; 0x78 80a5478: 4618 mov r0, r3 80a547a: f7b0 fdbb bl 8055ff4 DrawImage(&bmg_dB, 265, 74+18); 80a547e: 225c movs r2, #92 ; 0x5c 80a5480: f240 1109 movw r1, #265 ; 0x109 80a5484: 4873 ldr r0, [pc, #460] ; (80a5654 ) 80a5486: f7b0 fdb5 bl 8055ff4 80a548a: e108 b.n 80a569e if(ipr == VEL) 80a548c: 6d3b ldr r3, [r7, #80] ; 0x50 80a548e: 2b01 cmp r3, #1 80a5490: d157 bne.n 80a5542 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 121+9); 80a5492: 6d3a ldr r2, [r7, #80] ; 0x50 80a5494: 4613 mov r3, r2 80a5496: 009b lsls r3, r3, #2 80a5498: 4413 add r3, r2 80a549a: f107 0268 add.w r2, r7, #104 ; 0x68 80a549e: 4413 add r3, r2 80a54a0: 3b31 subs r3, #49 ; 0x31 80a54a2: 781b ldrb r3, [r3, #0] 80a54a4: b2db uxtb r3, r3 80a54a6: 461a mov r2, r3 80a54a8: 4b68 ldr r3, [pc, #416] ; (80a564c ) 80a54aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a54ae: 2282 movs r2, #130 ; 0x82 80a54b0: 21e6 movs r1, #230 ; 0xe6 80a54b2: 4618 mov r0, r3 80a54b4: f7b0 fd9e bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a54b8: 229a movs r2, #154 ; 0x9a 80a54ba: 21d7 movs r1, #215 ; 0xd7 80a54bc: 4864 ldr r0, [pc, #400] ; (80a5650 ) 80a54be: f7b0 fd99 bl 8055ff4 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 121+9); 80a54c2: 6d3a ldr r2, [r7, #80] ; 0x50 80a54c4: 4613 mov r3, r2 80a54c6: 009b lsls r3, r3, #2 80a54c8: 4413 add r3, r2 80a54ca: f107 0268 add.w r2, r7, #104 ; 0x68 80a54ce: 4413 add r3, r2 80a54d0: 3b32 subs r3, #50 ; 0x32 80a54d2: 781b ldrb r3, [r3, #0] 80a54d4: b2db uxtb r3, r3 80a54d6: 461a mov r2, r3 80a54d8: 4b5c ldr r3, [pc, #368] ; (80a564c ) 80a54da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a54de: 2282 movs r2, #130 ; 0x82 80a54e0: 21b4 movs r1, #180 ; 0xb4 80a54e2: 4618 mov r0, r3 80a54e4: f7b0 fd86 bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 121+9); 80a54e8: 6d3a ldr r2, [r7, #80] ; 0x50 80a54ea: 4613 mov r3, r2 80a54ec: 009b lsls r3, r3, #2 80a54ee: 4413 add r3, r2 80a54f0: f107 0268 add.w r2, r7, #104 ; 0x68 80a54f4: 4413 add r3, r2 80a54f6: 3b33 subs r3, #51 ; 0x33 80a54f8: 781b ldrb r3, [r3, #0] 80a54fa: b2db uxtb r3, r3 80a54fc: 461a mov r2, r3 80a54fe: 4b53 ldr r3, [pc, #332] ; (80a564c ) 80a5500: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a5504: 2282 movs r2, #130 ; 0x82 80a5506: 2196 movs r1, #150 ; 0x96 80a5508: 4618 mov r0, r3 80a550a: f7b0 fd73 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 121+9); 80a550e: 6d3a ldr r2, [r7, #80] ; 0x50 80a5510: 4613 mov r3, r2 80a5512: 009b lsls r3, r3, #2 80a5514: 4413 add r3, r2 80a5516: f107 0268 add.w r2, r7, #104 ; 0x68 80a551a: 4413 add r3, r2 80a551c: 3b34 subs r3, #52 ; 0x34 80a551e: 781b ldrb r3, [r3, #0] 80a5520: b2db uxtb r3, r3 80a5522: 461a mov r2, r3 80a5524: 4b49 ldr r3, [pc, #292] ; (80a564c ) 80a5526: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a552a: 2282 movs r2, #130 ; 0x82 80a552c: 2178 movs r1, #120 ; 0x78 80a552e: 4618 mov r0, r3 80a5530: f7b0 fd60 bl 8055ff4 DrawImage(&bmg_dB, 265, 128+9); 80a5534: 2289 movs r2, #137 ; 0x89 80a5536: f240 1109 movw r1, #265 ; 0x109 80a553a: 4846 ldr r0, [pc, #280] ; (80a5654 ) 80a553c: f7b0 fd5a bl 8055ff4 80a5540: e0ad b.n 80a569e if(ipr == DIS) 80a5542: 6d3b ldr r3, [r7, #80] ; 0x50 80a5544: 2b02 cmp r3, #2 80a5546: f040 80aa bne.w 80a569e DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 174); 80a554a: 6d3a ldr r2, [r7, #80] ; 0x50 80a554c: 4613 mov r3, r2 80a554e: 009b lsls r3, r3, #2 80a5550: 4413 add r3, r2 80a5552: f107 0268 add.w r2, r7, #104 ; 0x68 80a5556: 4413 add r3, r2 80a5558: 3b31 subs r3, #49 ; 0x31 80a555a: 781b ldrb r3, [r3, #0] 80a555c: b2db uxtb r3, r3 80a555e: 461a mov r2, r3 80a5560: 4b3a ldr r3, [pc, #232] ; (80a564c ) 80a5562: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a5566: 22ae movs r2, #174 ; 0xae 80a5568: 21e6 movs r1, #230 ; 0xe6 80a556a: 4618 mov r0, r3 80a556c: f7b0 fd42 bl 8055ff4 DrawImage(&bmgpt, 95 + 30*4, 198); 80a5570: 22c6 movs r2, #198 ; 0xc6 80a5572: 21d7 movs r1, #215 ; 0xd7 80a5574: 4836 ldr r0, [pc, #216] ; (80a5650 ) 80a5576: f7b0 fd3d bl 8055ff4 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 174); 80a557a: 6d3a ldr r2, [r7, #80] ; 0x50 80a557c: 4613 mov r3, r2 80a557e: 009b lsls r3, r3, #2 80a5580: 4413 add r3, r2 80a5582: f107 0268 add.w r2, r7, #104 ; 0x68 80a5586: 4413 add r3, r2 80a5588: 3b32 subs r3, #50 ; 0x32 80a558a: 781b ldrb r3, [r3, #0] 80a558c: b2db uxtb r3, r3 80a558e: 461a mov r2, r3 80a5590: 4b2e ldr r3, [pc, #184] ; (80a564c ) 80a5592: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a5596: 22ae movs r2, #174 ; 0xae 80a5598: 21b4 movs r1, #180 ; 0xb4 80a559a: 4618 mov r0, r3 80a559c: f7b0 fd2a bl 8055ff4 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 174); 80a55a0: 6d3a ldr r2, [r7, #80] ; 0x50 80a55a2: 4613 mov r3, r2 80a55a4: 009b lsls r3, r3, #2 80a55a6: 4413 add r3, r2 80a55a8: f107 0268 add.w r2, r7, #104 ; 0x68 80a55ac: 4413 add r3, r2 80a55ae: 3b33 subs r3, #51 ; 0x33 80a55b0: 781b ldrb r3, [r3, #0] 80a55b2: b2db uxtb r3, r3 80a55b4: 461a mov r2, r3 80a55b6: 4b25 ldr r3, [pc, #148] ; (80a564c ) 80a55b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a55bc: 22ae movs r2, #174 ; 0xae 80a55be: 2196 movs r1, #150 ; 0x96 80a55c0: 4618 mov r0, r3 80a55c2: f7b0 fd17 bl 8055ff4 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 174); 80a55c6: 6d3a ldr r2, [r7, #80] ; 0x50 80a55c8: 4613 mov r3, r2 80a55ca: 009b lsls r3, r3, #2 80a55cc: 4413 add r3, r2 80a55ce: f107 0268 add.w r2, r7, #104 ; 0x68 80a55d2: 4413 add r3, r2 80a55d4: 3b34 subs r3, #52 ; 0x34 80a55d6: 781b ldrb r3, [r3, #0] 80a55d8: b2db uxtb r3, r3 80a55da: 461a mov r2, r3 80a55dc: 4b1b ldr r3, [pc, #108] ; (80a564c ) 80a55de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a55e2: 22ae movs r2, #174 ; 0xae 80a55e4: 2178 movs r1, #120 ; 0x78 80a55e6: 4618 mov r0, r3 80a55e8: f7b0 fd04 bl 8055ff4 DrawImage(&bmg_dB, 265, 180); 80a55ec: 22b4 movs r2, #180 ; 0xb4 80a55ee: f240 1109 movw r1, #265 ; 0x109 80a55f2: 4818 ldr r0, [pc, #96] ; (80a5654 ) 80a55f4: f7b0 fcfe bl 8055ff4 80a55f8: e051 b.n 80a569e if(skz[ACC] != -1.0f) 80a55fa: 4b17 ldr r3, [pc, #92] ; (80a5658 ) 80a55fc: edd3 7a00 vldr s15, [r3] 80a5600: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a5604: eef4 7a47 vcmp.f32 s15, s14 80a5608: eef1 fa10 vmrs APSR_nzcv, fpscr 80a560c: d047 beq.n 80a569e if(ipr == VEL) 80a560e: 6d3b ldr r3, [r7, #80] ; 0x50 80a5610: 2b01 cmp r3, #1 80a5612: d12d bne.n 80a5670 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a5614: 4911 ldr r1, [pc, #68] ; (80a565c ) 80a5616: 4812 ldr r0, [pc, #72] ; (80a5660 ) 80a5618: f7af fdf8 bl 805520c if(pardata.LANG == RUS) 80a561c: 4b11 ldr r3, [pc, #68] ; (80a5664 ) 80a561e: 7b1b ldrb r3, [r3, #12] 80a5620: b2db uxtb r3, r3 80a5622: 2b00 cmp r3, #0 80a5624: d105 bne.n 80a5632 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a5626: 4a10 ldr r2, [pc, #64] ; (80a5668 ) 80a5628: 2187 movs r1, #135 ; 0x87 80a562a: 20a7 movs r0, #167 ; 0xa7 80a562c: f7b0 fbae bl 8055d8c 80a5630: e035 b.n 80a569e else LCD_DisplayStringC(167, 135, "NO DATA"); 80a5632: 4a0e ldr r2, [pc, #56] ; (80a566c ) 80a5634: 2187 movs r1, #135 ; 0x87 80a5636: 20a7 movs r0, #167 ; 0xa7 80a5638: f7b0 fba8 bl 8055d8c 80a563c: e02f b.n 80a569e 80a563e: bf00 nop 80a5640: 10624dd3 .word 0x10624dd3 80a5644: 51eb851f .word 0x51eb851f 80a5648: cccccccd .word 0xcccccccd 80a564c: 20020124 .word 0x20020124 80a5650: 0816e480 .word 0x0816e480 80a5654: 081696cc .word 0x081696cc 80a5658: 20021590 .word 0x20021590 80a565c: ff0a0f1f .word 0xff0a0f1f 80a5660: ffb8e828 .word 0xffb8e828 80a5664: 20023eb8 .word 0x20023eb8 80a5668: 080d6564 .word 0x080d6564 80a566c: 080d6570 .word 0x080d6570 if(ipr == DIS) 80a5670: 6d3b ldr r3, [r7, #80] ; 0x50 80a5672: 2b02 cmp r3, #2 80a5674: d113 bne.n 80a569e LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a5676: 4913 ldr r1, [pc, #76] ; (80a56c4 ) 80a5678: 4813 ldr r0, [pc, #76] ; (80a56c8 ) 80a567a: f7af fdc7 bl 805520c if(pardata.LANG == RUS) 80a567e: 4b13 ldr r3, [pc, #76] ; (80a56cc ) 80a5680: 7b1b ldrb r3, [r3, #12] 80a5682: b2db uxtb r3, r3 80a5684: 2b00 cmp r3, #0 80a5686: d105 bne.n 80a5694 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a5688: 4a11 ldr r2, [pc, #68] ; (80a56d0 ) 80a568a: 21b9 movs r1, #185 ; 0xb9 80a568c: 20a7 movs r0, #167 ; 0xa7 80a568e: f7b0 fb7d bl 8055d8c 80a5692: e004 b.n 80a569e else LCD_DisplayStringC(167, 185, "NO DATA"); 80a5694: 4a0f ldr r2, [pc, #60] ; (80a56d4 ) 80a5696: 21b9 movs r1, #185 ; 0xb9 80a5698: 20a7 movs r0, #167 ; 0xa7 80a569a: f7b0 fb77 bl 8055d8c for(ipr = ACC; ipr <= DIS; ipr++) 80a569e: 6d3b ldr r3, [r7, #80] ; 0x50 80a56a0: 3301 adds r3, #1 80a56a2: 653b str r3, [r7, #80] ; 0x50 80a56a4: 6d3b ldr r3, [r7, #80] ; 0x50 80a56a6: 2b02 cmp r3, #2 80a56a8: f67e ae0c bls.w 80a42c4 break; 80a56ac: e004 b.n 80a56b8 80a56ae: e003 b.n 80a56b8 break; 80a56b0: bf00 nop 80a56b2: e002 b.n 80a56ba break; 80a56b4: bf00 nop 80a56b6: e000 b.n 80a56ba break; 80a56b8: bf00 nop } 80a56ba: bf00 nop 80a56bc: 3768 adds r7, #104 ; 0x68 80a56be: 46bd mov sp, r7 80a56c0: bd80 pop {r7, pc} 80a56c2: bf00 nop 80a56c4: ff0a0f1f .word 0xff0a0f1f 80a56c8: ffb8e828 .word 0xffb8e828 80a56cc: 20023eb8 .word 0x20023eb8 80a56d0: 080d6564 .word 0x080d6564 80a56d4: 080d6570 .word 0x080d6570 080a56d8 : void DrawCursorData(void) //TODO { 80a56d8: b590 push {r4, r7, lr} 80a56da: b09d sub sp, #116 ; 0x74 80a56dc: af00 add r7, sp, #0 #ifdef SMALL_NUMS_GRAF BSP_LCD_SetFont(&Font8); 80a56de: 48bc ldr r0, [pc, #752] ; (80a59d0 ) 80a56e0: f7af fdd0 bl 8055284 if(menu == MAIN_SYGNAL) 80a56e4: 4bbb ldr r3, [pc, #748] ; (80a59d4 ) 80a56e6: 781b ldrb r3, [r3, #0] 80a56e8: b2db uxtb r3, r3 80a56ea: 2b20 cmp r3, #32 80a56ec: f040 85ea bne.w 80a62c4 { if(menupos == Cursor) 80a56f0: 4bb9 ldr r3, [pc, #740] ; (80a59d8 ) 80a56f2: 781b ldrb r3, [r3, #0] 80a56f4: b2db uxtb r3, r3 80a56f6: 2b06 cmp r3, #6 80a56f8: d105 bne.n 80a5706 LCD_SetColors(LCD_COLOR_RED, 0xFF000000); 80a56fa: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a56fe: 48b7 ldr r0, [pc, #732] ; (80a59dc ) 80a5700: f7af fd84 bl 805520c 80a5704: e004 b.n 80a5710 else LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a5706: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a570a: 48b5 ldr r0, [pc, #724] ; (80a59e0 ) 80a570c: f7af fd7e bl 805520c delta = PlayingState.FrameSize / 256; 80a5710: 4bb4 ldr r3, [pc, #720] ; (80a59e4 ) 80a5712: 689b ldr r3, [r3, #8] 80a5714: 0a1b lsrs r3, r3, #8 80a5716: 66bb str r3, [r7, #104] ; 0x68 pos = CURSOR * delta; 80a5718: 4bb3 ldr r3, [pc, #716] ; (80a59e8 ) 80a571a: 681b ldr r3, [r3, #0] 80a571c: 6eba ldr r2, [r7, #104] ; 0x68 80a571e: fb02 f303 mul.w r3, r2, r3 80a5722: 667b str r3, [r7, #100] ; 0x64 arm_max_f32(&ScrA_f32(pos), delta, &maxf, &n2); 80a5724: 6e7b ldr r3, [r7, #100] ; 0x64 80a5726: 009a lsls r2, r3, #2 80a5728: 4bb0 ldr r3, [pc, #704] ; (80a59ec ) 80a572a: 4413 add r3, r2 80a572c: 4618 mov r0, r3 80a572e: f107 0348 add.w r3, r7, #72 ; 0x48 80a5732: f107 0240 add.w r2, r7, #64 ; 0x40 80a5736: 6eb9 ldr r1, [r7, #104] ; 0x68 80a5738: f029 fc6c bl 80cf014 arm_min_f32(&ScrA_f32(pos), delta, &minf, &n1); 80a573c: 6e7b ldr r3, [r7, #100] ; 0x64 80a573e: 009a lsls r2, r3, #2 80a5740: 4baa ldr r3, [pc, #680] ; (80a59ec ) 80a5742: 4413 add r3, r2 80a5744: 4618 mov r0, r3 80a5746: f107 034c add.w r3, r7, #76 ; 0x4c 80a574a: f107 0244 add.w r2, r7, #68 ; 0x44 80a574e: 6eb9 ldr r1, [r7, #104] ; 0x68 80a5750: f029 fbc4 bl 80ceedc if((maxf > 0) && (minf < 0)) 80a5754: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5758: eef5 7ac0 vcmpe.f32 s15, #0.0 80a575c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5760: dd33 ble.n 80a57ca 80a5762: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5766: eef5 7ac0 vcmpe.f32 s15, #0.0 80a576a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a576e: d52c bpl.n 80a57ca { if(ABS(maxf) < ABS(minf)) 80a5770: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5774: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5778: eef1 fa10 vmrs APSR_nzcv, fpscr 80a577c: dd02 ble.n 80a5784 80a577e: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80a5782: e003 b.n 80a578c 80a5784: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5788: eeb1 7a67 vneg.f32 s14, s15 80a578c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5790: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5794: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5798: dd02 ble.n 80a57a0 80a579a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a579e: e003 b.n 80a57a8 80a57a0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a57a4: eef1 7a67 vneg.f32 s15, s15 80a57a8: eeb4 7ae7 vcmpe.f32 s14, s15 80a57ac: eef1 fa10 vmrs APSR_nzcv, fpscr 80a57b0: d505 bpl.n 80a57be { CurVal = minf; 80a57b2: 6c7b ldr r3, [r7, #68] ; 0x44 80a57b4: 4a8e ldr r2, [pc, #568] ; (80a59f0 ) 80a57b6: 6013 str r3, [r2, #0] l = n1; 80a57b8: 6cfb ldr r3, [r7, #76] ; 0x4c 80a57ba: 653b str r3, [r7, #80] ; 0x50 if(ABS(maxf) < ABS(minf)) 80a57bc: e054 b.n 80a5868 } else { CurVal = maxf; 80a57be: 6c3b ldr r3, [r7, #64] ; 0x40 80a57c0: 4a8b ldr r2, [pc, #556] ; (80a59f0 ) 80a57c2: 6013 str r3, [r2, #0] l = n2; 80a57c4: 6cbb ldr r3, [r7, #72] ; 0x48 80a57c6: 653b str r3, [r7, #80] ; 0x50 if(ABS(maxf) < ABS(minf)) 80a57c8: e04e b.n 80a5868 } } else if((maxf > 0) && (minf > 0)) 80a57ca: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a57ce: eef5 7ac0 vcmpe.f32 s15, #0.0 80a57d2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a57d6: dd0c ble.n 80a57f2 80a57d8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a57dc: eef5 7ac0 vcmpe.f32 s15, #0.0 80a57e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a57e4: dd05 ble.n 80a57f2 { CurVal = maxf; 80a57e6: 6c3b ldr r3, [r7, #64] ; 0x40 80a57e8: 4a81 ldr r2, [pc, #516] ; (80a59f0 ) 80a57ea: 6013 str r3, [r2, #0] l = n2; 80a57ec: 6cbb ldr r3, [r7, #72] ; 0x48 80a57ee: 653b str r3, [r7, #80] ; 0x50 80a57f0: e03a b.n 80a5868 } else if((maxf < 0) && (minf < 0)) 80a57f2: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a57f6: eef5 7ac0 vcmpe.f32 s15, #0.0 80a57fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80a57fe: d50c bpl.n 80a581a 80a5800: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5804: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5808: eef1 fa10 vmrs APSR_nzcv, fpscr 80a580c: d505 bpl.n 80a581a { CurVal = minf; 80a580e: 6c7b ldr r3, [r7, #68] ; 0x44 80a5810: 4a77 ldr r2, [pc, #476] ; (80a59f0 ) 80a5812: 6013 str r3, [r2, #0] l = n1; 80a5814: 6cfb ldr r3, [r7, #76] ; 0x4c 80a5816: 653b str r3, [r7, #80] ; 0x50 80a5818: e026 b.n 80a5868 } else if((maxf >= 0) && (minf == 0)) 80a581a: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a581e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5822: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5826: db0c blt.n 80a5842 80a5828: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a582c: eef5 7a40 vcmp.f32 s15, #0.0 80a5830: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5834: d105 bne.n 80a5842 { CurVal = maxf; 80a5836: 6c3b ldr r3, [r7, #64] ; 0x40 80a5838: 4a6d ldr r2, [pc, #436] ; (80a59f0 ) 80a583a: 6013 str r3, [r2, #0] l = n2; 80a583c: 6cbb ldr r3, [r7, #72] ; 0x48 80a583e: 653b str r3, [r7, #80] ; 0x50 80a5840: e012 b.n 80a5868 } else if((maxf == 0) && (minf <= 0)) 80a5842: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5846: eef5 7a40 vcmp.f32 s15, #0.0 80a584a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a584e: d10b bne.n 80a5868 80a5850: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5854: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5858: eef1 fa10 vmrs APSR_nzcv, fpscr 80a585c: d804 bhi.n 80a5868 { CurVal = minf; 80a585e: 6c7b ldr r3, [r7, #68] ; 0x44 80a5860: 4a63 ldr r2, [pc, #396] ; (80a59f0 ) 80a5862: 6013 str r3, [r2, #0] l = n1; 80a5864: 6cfb ldr r3, [r7, #76] ; 0x4c 80a5866: 653b str r3, [r7, #80] ; 0x50 } fineMpos = Mpos + l; 80a5868: 6d3b ldr r3, [r7, #80] ; 0x50 80a586a: b29a uxth r2, r3 80a586c: 4b61 ldr r3, [pc, #388] ; (80a59f4 ) 80a586e: 881b ldrh r3, [r3, #0] 80a5870: b29b uxth r3, r3 80a5872: 4413 add r3, r2 80a5874: b29a uxth r2, r3 80a5876: 4b60 ldr r3, [pc, #384] ; (80a59f8 ) 80a5878: 801a strh r2, [r3, #0] Val = CurVal; 80a587a: 4b5d ldr r3, [pc, #372] ; (80a59f0 ) 80a587c: 681b ldr r3, [r3, #0] 80a587e: 63fb str r3, [r7, #60] ; 0x3c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a5880: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a5884: 485d ldr r0, [pc, #372] ; (80a59fc ) 80a5886: f7af fcc1 bl 805520c if(ABS(Val) >= 1000.0f) 80a588a: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a588e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5892: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5896: dd0c ble.n 80a58b2 80a5898: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a589c: ed9f 7a58 vldr s14, [pc, #352] ; 80a5a00 80a58a0: eef4 7ac7 vcmpe.f32 s15, s14 80a58a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a58a8: bfac ite ge 80a58aa: 2301 movge r3, #1 80a58ac: 2300 movlt r3, #0 80a58ae: b2db uxtb r3, r3 80a58b0: e00b b.n 80a58ca 80a58b2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a58b6: ed9f 7a53 vldr s14, [pc, #332] ; 80a5a04 80a58ba: eef4 7ac7 vcmpe.f32 s15, s14 80a58be: eef1 fa10 vmrs APSR_nzcv, fpscr 80a58c2: bf94 ite ls 80a58c4: 2301 movls r3, #1 80a58c6: 2300 movhi r3, #0 80a58c8: b2db uxtb r3, r3 80a58ca: 2b00 cmp r3, #0 80a58cc: d028 beq.n 80a5920 { Val *= 0.001f; 80a58ce: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a58d2: ed9f 7a4d vldr s14, [pc, #308] ; 80a5a08 80a58d6: ee67 7a87 vmul.f32 s15, s15, s14 80a58da: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.LANG == RUS) 80a58de: 4b4b ldr r3, [pc, #300] ; (80a5a0c ) 80a58e0: 7b1b ldrb r3, [r3, #12] 80a58e2: b2db uxtb r3, r3 80a58e4: 2b00 cmp r3, #0 80a58e6: d106 bne.n 80a58f6 BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a58e8: 2303 movs r3, #3 80a58ea: 4a49 ldr r2, [pc, #292] ; (80a5a10 ) 80a58ec: 212d movs r1, #45 ; 0x2d 80a58ee: 20dc movs r0, #220 ; 0xdc 80a58f0: f7af fd52 bl 8055398 80a58f4: e005 b.n 80a5902 else BSP_LCD_DisplayStringAt(220, 45, "km/c^", LEFT_MODE); 80a58f6: 2303 movs r3, #3 80a58f8: 4a46 ldr r2, [pc, #280] ; (80a5a14 ) 80a58fa: 212d movs r1, #45 ; 0x2d 80a58fc: 20dc movs r0, #220 ; 0xdc 80a58fe: f7af fd4b bl 8055398 BSP_LCD_DisplayStringAt(220-3, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a5902: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5906: f06f 0002 mvn.w r0, #2 80a590a: eeb0 0a67 vmov.f32 s0, s15 80a590e: f7c2 fc47 bl 80681a0 80a5912: 4602 mov r2, r0 80a5914: 2302 movs r3, #2 80a5916: 212d movs r1, #45 ; 0x2d 80a5918: 20d9 movs r0, #217 ; 0xd9 80a591a: f7af fd3d bl 8055398 80a591e: e099 b.n 80a5a54 } else if(ABS(Val) >= 0.1f) 80a5920: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5924: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5928: eef1 fa10 vmrs APSR_nzcv, fpscr 80a592c: dd0c ble.n 80a5948 80a592e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5932: ed9f 7a39 vldr s14, [pc, #228] ; 80a5a18 80a5936: eef4 7ac7 vcmpe.f32 s15, s14 80a593a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a593e: bfac ite ge 80a5940: 2301 movge r3, #1 80a5942: 2300 movlt r3, #0 80a5944: b2db uxtb r3, r3 80a5946: e00b b.n 80a5960 80a5948: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a594c: ed9f 7a33 vldr s14, [pc, #204] ; 80a5a1c 80a5950: eef4 7ac7 vcmpe.f32 s15, s14 80a5954: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5958: bf94 ite ls 80a595a: 2301 movls r3, #1 80a595c: 2300 movhi r3, #0 80a595e: b2db uxtb r3, r3 80a5960: 2b00 cmp r3, #0 80a5962: d020 beq.n 80a59a6 { if(pardata.LANG == RUS) 80a5964: 4b29 ldr r3, [pc, #164] ; (80a5a0c ) 80a5966: 7b1b ldrb r3, [r3, #12] 80a5968: b2db uxtb r3, r3 80a596a: 2b00 cmp r3, #0 80a596c: d106 bne.n 80a597c BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a596e: 2303 movs r3, #3 80a5970: 4a2b ldr r2, [pc, #172] ; (80a5a20 ) 80a5972: 212d movs r1, #45 ; 0x2d 80a5974: 20dc movs r0, #220 ; 0xdc 80a5976: f7af fd0f bl 8055398 80a597a: e005 b.n 80a5988 else BSP_LCD_DisplayStringAt(220, 45, "m/c^", LEFT_MODE); 80a597c: 2303 movs r3, #3 80a597e: 4a29 ldr r2, [pc, #164] ; (80a5a24 ) 80a5980: 212d movs r1, #45 ; 0x2d 80a5982: 20dc movs r0, #220 ; 0xdc 80a5984: f7af fd08 bl 8055398 BSP_LCD_DisplayStringAt(220-3, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a5988: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a598c: f06f 0002 mvn.w r0, #2 80a5990: eeb0 0a67 vmov.f32 s0, s15 80a5994: f7c2 fc04 bl 80681a0 80a5998: 4602 mov r2, r0 80a599a: 2302 movs r3, #2 80a599c: 212d movs r1, #45 ; 0x2d 80a599e: 20d9 movs r0, #217 ; 0xd9 80a59a0: f7af fcfa bl 8055398 80a59a4: e056 b.n 80a5a54 } else { Val *= 1000.0f; 80a59a6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a59aa: ed9f 7a15 vldr s14, [pc, #84] ; 80a5a00 80a59ae: ee67 7a87 vmul.f32 s15, s15, s14 80a59b2: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.LANG == RUS) 80a59b6: 4b15 ldr r3, [pc, #84] ; (80a5a0c ) 80a59b8: 7b1b ldrb r3, [r3, #12] 80a59ba: b2db uxtb r3, r3 80a59bc: 2b00 cmp r3, #0 80a59be: d135 bne.n 80a5a2c BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a59c0: 2303 movs r3, #3 80a59c2: 4a19 ldr r2, [pc, #100] ; (80a5a28 ) 80a59c4: 212d movs r1, #45 ; 0x2d 80a59c6: 20dc movs r0, #220 ; 0xdc 80a59c8: f7af fce6 bl 8055398 80a59cc: e034 b.n 80a5a38 80a59ce: bf00 nop 80a59d0: 20020060 .word 0x20020060 80a59d4: 20020fc5 .word 0x20020fc5 80a59d8: 20020070 .word 0x20020070 80a59dc: ffff0000 .word 0xffff0000 80a59e0: ff808080 .word 0xff808080 80a59e4: 20022928 .word 0x20022928 80a59e8: 2002006c .word 0x2002006c 80a59ec: 64080000 .word 0x64080000 80a59f0: 200215bc .word 0x200215bc 80a59f4: 20025d6e .word 0x20025d6e 80a59f8: 20025d74 .word 0x20025d74 80a59fc: ff26a01f .word 0xff26a01f 80a5a00: 447a0000 .word 0x447a0000 80a5a04: c47a0000 .word 0xc47a0000 80a5a08: 3a83126f .word 0x3a83126f 80a5a0c: 20023eb8 .word 0x20023eb8 80a5a10: 080d74b0 .word 0x080d74b0 80a5a14: 080d74b8 .word 0x080d74b8 80a5a18: 3dcccccd .word 0x3dcccccd 80a5a1c: bdcccccd .word 0xbdcccccd 80a5a20: 080d74c0 .word 0x080d74c0 80a5a24: 080d74c8 .word 0x080d74c8 80a5a28: 080d74d0 .word 0x080d74d0 else BSP_LCD_DisplayStringAt(220, 45, "mm/c^", LEFT_MODE); 80a5a2c: 2303 movs r3, #3 80a5a2e: 4ac4 ldr r2, [pc, #784] ; (80a5d40 ) 80a5a30: 212d movs r1, #45 ; 0x2d 80a5a32: 20dc movs r0, #220 ; 0xdc 80a5a34: f7af fcb0 bl 8055398 BSP_LCD_DisplayStringAt(220-3, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a5a38: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5a3c: f06f 0002 mvn.w r0, #2 80a5a40: eeb0 0a67 vmov.f32 s0, s15 80a5a44: f7c2 fbac bl 80681a0 80a5a48: 4602 mov r2, r0 80a5a4a: 2302 movs r3, #2 80a5a4c: 212d movs r1, #45 ; 0x2d 80a5a4e: 20d9 movs r0, #217 ; 0xd9 80a5a50: f7af fca2 bl 8055398 } //************************************************************************************************************** step = PlayingState.FrameSize >> 8; 80a5a54: 4bbb ldr r3, [pc, #748] ; (80a5d44 ) 80a5a56: 689b ldr r3, [r3, #8] 80a5a58: 0a1b lsrs r3, r3, #8 80a5a5a: 663b str r3, [r7, #96] ; 0x60 dt = (PlayingState.TimeLength / (float32_t) PlayingState.NumFrames) / ((float32_t) PlayingState.FrameSize); 80a5a5c: 4bb9 ldr r3, [pc, #740] ; (80a5d44 ) 80a5a5e: ed93 7a07 vldr s14, [r3, #28] 80a5a62: 4bb8 ldr r3, [pc, #736] ; (80a5d44 ) 80a5a64: 685b ldr r3, [r3, #4] 80a5a66: ee07 3a90 vmov s15, r3 80a5a6a: eef8 7a67 vcvt.f32.u32 s15, s15 80a5a6e: eec7 6a27 vdiv.f32 s13, s14, s15 80a5a72: 4bb4 ldr r3, [pc, #720] ; (80a5d44 ) 80a5a74: 689b ldr r3, [r3, #8] 80a5a76: ee07 3a90 vmov s15, r3 80a5a7a: eeb8 7a67 vcvt.f32.u32 s14, s15 80a5a7e: eec6 7a87 vdiv.f32 s15, s13, s14 80a5a82: edc7 7a17 vstr s15, [r7, #92] ; 0x5c curtime = ((float32_t)(CURSOR + 1)) * (float32_t)step; 80a5a86: 4bb0 ldr r3, [pc, #704] ; (80a5d48 ) 80a5a88: 681b ldr r3, [r3, #0] 80a5a8a: 3301 adds r3, #1 80a5a8c: ee07 3a90 vmov s15, r3 80a5a90: eeb8 7a67 vcvt.f32.u32 s14, s15 80a5a94: 6e3b ldr r3, [r7, #96] ; 0x60 80a5a96: ee07 3a90 vmov s15, r3 80a5a9a: eef8 7a67 vcvt.f32.u32 s15, s15 80a5a9e: ee67 7a27 vmul.f32 s15, s14, s15 80a5aa2: edc7 7a16 vstr s15, [r7, #88] ; 0x58 curtime *= dt; 80a5aa6: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80a5aaa: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80a5aae: ee67 7a27 vmul.f32 s15, s14, s15 80a5ab2: edc7 7a16 vstr s15, [r7, #88] ; 0x58 curtime += (((float32_t)(PlayingState.FrameSize * PlayingState.CurrentFrame)) * dt); 80a5ab6: 4ba3 ldr r3, [pc, #652] ; (80a5d44 ) 80a5ab8: 689b ldr r3, [r3, #8] 80a5aba: 4aa2 ldr r2, [pc, #648] ; (80a5d44 ) 80a5abc: 6812 ldr r2, [r2, #0] 80a5abe: fb02 f303 mul.w r3, r2, r3 80a5ac2: ee07 3a90 vmov s15, r3 80a5ac6: eeb8 7a67 vcvt.f32.u32 s14, s15 80a5aca: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80a5ace: ee67 7a27 vmul.f32 s15, s14, s15 80a5ad2: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80a5ad6: ee77 7a27 vadd.f32 s15, s14, s15 80a5ada: edc7 7a16 vstr s15, [r7, #88] ; 0x58 TF = curtime * 1000; 80a5ade: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a5ae2: ed9f 7a9a vldr s14, [pc, #616] ; 80a5d4c 80a5ae6: ee67 7a87 vmul.f32 s15, s15, s14 80a5aea: 4b99 ldr r3, [pc, #612] ; (80a5d50 ) 80a5aec: edc3 7a00 vstr s15, [r3] LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a5af0: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a5af4: 4897 ldr r0, [pc, #604] ; (80a5d54 ) 80a5af6: f7af fb89 bl 805520c tmpF = TF; 80a5afa: 4b95 ldr r3, [pc, #596] ; (80a5d50 ) 80a5afc: 681b ldr r3, [r3, #0] 80a5afe: 657b str r3, [r7, #84] ; 0x54 if(tmpF >= 1000.0f) 80a5b00: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a5b04: ed9f 7a91 vldr s14, [pc, #580] ; 80a5d4c 80a5b08: eef4 7ac7 vcmpe.f32 s15, s14 80a5b0c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5b10: db29 blt.n 80a5b66 { tmpF *= 0.001f; 80a5b12: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a5b16: ed9f 7a90 vldr s14, [pc, #576] ; 80a5d58 80a5b1a: ee67 7a87 vmul.f32 s15, s15, s14 80a5b1e: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a5b22: 4b8e ldr r3, [pc, #568] ; (80a5d5c ) 80a5b24: 7b1b ldrb r3, [r3, #12] 80a5b26: b2db uxtb r3, r3 80a5b28: 2b00 cmp r3, #0 80a5b2a: d107 bne.n 80a5b3c BSP_LCD_DisplayStringAt(302, 45, "c", LEFT_MODE); 80a5b2c: 2303 movs r3, #3 80a5b2e: 4a8c ldr r2, [pc, #560] ; (80a5d60 ) 80a5b30: 212d movs r1, #45 ; 0x2d 80a5b32: f44f 7097 mov.w r0, #302 ; 0x12e 80a5b36: f7af fc2f bl 8055398 80a5b3a: e006 b.n 80a5b4a else BSP_LCD_DisplayStringAt(302, 45, "s", LEFT_MODE); 80a5b3c: 2303 movs r3, #3 80a5b3e: 4a89 ldr r2, [pc, #548] ; (80a5d64 ) 80a5b40: 212d movs r1, #45 ; 0x2d 80a5b42: f44f 7097 mov.w r0, #302 ; 0x12e 80a5b46: f7af fc27 bl 8055398 BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -5), RIGHT_MODE); 80a5b4a: f06f 0004 mvn.w r0, #4 80a5b4e: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a5b52: f7c2 fb25 bl 80681a0 80a5b56: 4602 mov r2, r0 80a5b58: 2302 movs r3, #2 80a5b5a: 212d movs r1, #45 ; 0x2d 80a5b5c: f240 102b movw r0, #299 ; 0x12b 80a5b60: f7af fc1a bl 8055398 80a5b64: e053 b.n 80a5c0e } else if(tmpF < 0.1f) 80a5b66: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a5b6a: ed9f 7a7f vldr s14, [pc, #508] ; 80a5d68 80a5b6e: eef4 7ac7 vcmpe.f32 s15, s14 80a5b72: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5b76: d529 bpl.n 80a5bcc { tmpF *= 1000.0f; 80a5b78: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a5b7c: ed9f 7a73 vldr s14, [pc, #460] ; 80a5d4c 80a5b80: ee67 7a87 vmul.f32 s15, s15, s14 80a5b84: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a5b88: 4b74 ldr r3, [pc, #464] ; (80a5d5c ) 80a5b8a: 7b1b ldrb r3, [r3, #12] 80a5b8c: b2db uxtb r3, r3 80a5b8e: 2b00 cmp r3, #0 80a5b90: d107 bne.n 80a5ba2 BSP_LCD_DisplayStringAt(302, 45, "&kc", LEFT_MODE); 80a5b92: 2303 movs r3, #3 80a5b94: 4a75 ldr r2, [pc, #468] ; (80a5d6c ) 80a5b96: 212d movs r1, #45 ; 0x2d 80a5b98: f44f 7097 mov.w r0, #302 ; 0x12e 80a5b9c: f7af fbfc bl 8055398 80a5ba0: e006 b.n 80a5bb0 else BSP_LCD_DisplayStringAt(302, 45, "us", LEFT_MODE); 80a5ba2: 2303 movs r3, #3 80a5ba4: 4a72 ldr r2, [pc, #456] ; (80a5d70 ) 80a5ba6: 212d movs r1, #45 ; 0x2d 80a5ba8: f44f 7097 mov.w r0, #302 ; 0x12e 80a5bac: f7af fbf4 bl 8055398 BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -5), RIGHT_MODE); 80a5bb0: f06f 0004 mvn.w r0, #4 80a5bb4: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a5bb8: f7c2 faf2 bl 80681a0 80a5bbc: 4602 mov r2, r0 80a5bbe: 2302 movs r3, #2 80a5bc0: 212d movs r1, #45 ; 0x2d 80a5bc2: f240 102b movw r0, #299 ; 0x12b 80a5bc6: f7af fbe7 bl 8055398 80a5bca: e020 b.n 80a5c0e } else { if(pardata.LANG == RUS) 80a5bcc: 4b63 ldr r3, [pc, #396] ; (80a5d5c ) 80a5bce: 7b1b ldrb r3, [r3, #12] 80a5bd0: b2db uxtb r3, r3 80a5bd2: 2b00 cmp r3, #0 80a5bd4: d107 bne.n 80a5be6 BSP_LCD_DisplayStringAt(302, 45, "&c", LEFT_MODE); 80a5bd6: 2303 movs r3, #3 80a5bd8: 4a66 ldr r2, [pc, #408] ; (80a5d74 ) 80a5bda: 212d movs r1, #45 ; 0x2d 80a5bdc: f44f 7097 mov.w r0, #302 ; 0x12e 80a5be0: f7af fbda bl 8055398 80a5be4: e006 b.n 80a5bf4 else BSP_LCD_DisplayStringAt(302, 45, "ms", LEFT_MODE); 80a5be6: 2303 movs r3, #3 80a5be8: 4a63 ldr r2, [pc, #396] ; (80a5d78 ) 80a5bea: 212d movs r1, #45 ; 0x2d 80a5bec: f44f 7097 mov.w r0, #302 ; 0x12e 80a5bf0: f7af fbd2 bl 8055398 BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -5), RIGHT_MODE); 80a5bf4: f06f 0004 mvn.w r0, #4 80a5bf8: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a5bfc: f7c2 fad0 bl 80681a0 80a5c00: 4602 mov r2, r0 80a5c02: 2302 movs r3, #2 80a5c04: 212d movs r1, #45 ; 0x2d 80a5c06: f240 102b movw r0, #299 ; 0x12b 80a5c0a: f7af fbc5 bl 8055398 } ///////////////////////////////////////////////////////////////////////////////////// /////////////////////////////// DynamicCursor SYGNAL //////////////////////////////// for(i = 0; i < 2; i++) 80a5c0e: 2300 movs r3, #0 80a5c10: 66fb str r3, [r7, #108] ; 0x6c 80a5c12: e333 b.n 80a627c { if(DynamicCursor[i].Enabled) 80a5c14: 4a59 ldr r2, [pc, #356] ; (80a5d7c ) 80a5c16: 6efb ldr r3, [r7, #108] ; 0x6c 80a5c18: 011b lsls r3, r3, #4 80a5c1a: 4413 add r3, r2 80a5c1c: 781b ldrb r3, [r3, #0] 80a5c1e: 2b00 cmp r3, #0 80a5c20: f000 8329 beq.w 80a6276 { LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a5c24: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a5c28: 484a ldr r0, [pc, #296] ; (80a5d54 ) 80a5c2a: f7af faef bl 805520c delta = PlayingState.FrameSize / 256; 80a5c2e: 4b45 ldr r3, [pc, #276] ; (80a5d44 ) 80a5c30: 689b ldr r3, [r3, #8] 80a5c32: 0a1b lsrs r3, r3, #8 80a5c34: 66bb str r3, [r7, #104] ; 0x68 DynamicCursor[i].Mpos = DynamicCursor[i].CURSOR * delta; 80a5c36: 4a51 ldr r2, [pc, #324] ; (80a5d7c ) 80a5c38: 6efb ldr r3, [r7, #108] ; 0x6c 80a5c3a: 011b lsls r3, r3, #4 80a5c3c: 4413 add r3, r2 80a5c3e: 3302 adds r3, #2 80a5c40: 881a ldrh r2, [r3, #0] 80a5c42: 6ebb ldr r3, [r7, #104] ; 0x68 80a5c44: b29b uxth r3, r3 80a5c46: fb12 f303 smulbb r3, r2, r3 80a5c4a: b299 uxth r1, r3 80a5c4c: 4a4b ldr r2, [pc, #300] ; (80a5d7c ) 80a5c4e: 6efb ldr r3, [r7, #108] ; 0x6c 80a5c50: 011b lsls r3, r3, #4 80a5c52: 4413 add r3, r2 80a5c54: 3304 adds r3, #4 80a5c56: 460a mov r2, r1 80a5c58: 801a strh r2, [r3, #0] arm_max_f32(&ScrA_f32(DynamicCursor[i].Mpos), delta, &maxf, &n2); 80a5c5a: 4a48 ldr r2, [pc, #288] ; (80a5d7c ) 80a5c5c: 6efb ldr r3, [r7, #108] ; 0x6c 80a5c5e: 011b lsls r3, r3, #4 80a5c60: 4413 add r3, r2 80a5c62: 3304 adds r3, #4 80a5c64: 881b ldrh r3, [r3, #0] 80a5c66: 009b lsls r3, r3, #2 80a5c68: 461a mov r2, r3 80a5c6a: 4b45 ldr r3, [pc, #276] ; (80a5d80 ) 80a5c6c: 4413 add r3, r2 80a5c6e: 4618 mov r0, r3 80a5c70: f107 0348 add.w r3, r7, #72 ; 0x48 80a5c74: f107 0240 add.w r2, r7, #64 ; 0x40 80a5c78: 6eb9 ldr r1, [r7, #104] ; 0x68 80a5c7a: f029 f9cb bl 80cf014 arm_min_f32(&ScrA_f32(DynamicCursor[i].Mpos), delta, &minf, &n1); 80a5c7e: 4a3f ldr r2, [pc, #252] ; (80a5d7c ) 80a5c80: 6efb ldr r3, [r7, #108] ; 0x6c 80a5c82: 011b lsls r3, r3, #4 80a5c84: 4413 add r3, r2 80a5c86: 3304 adds r3, #4 80a5c88: 881b ldrh r3, [r3, #0] 80a5c8a: 009b lsls r3, r3, #2 80a5c8c: 461a mov r2, r3 80a5c8e: 4b3c ldr r3, [pc, #240] ; (80a5d80 ) 80a5c90: 4413 add r3, r2 80a5c92: 4618 mov r0, r3 80a5c94: f107 034c add.w r3, r7, #76 ; 0x4c 80a5c98: f107 0244 add.w r2, r7, #68 ; 0x44 80a5c9c: 6eb9 ldr r1, [r7, #104] ; 0x68 80a5c9e: f029 f91d bl 80ceedc if((maxf > 0) && (minf < 0)) 80a5ca2: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5ca6: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5caa: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5cae: dd33 ble.n 80a5d18 80a5cb0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5cb4: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5cb8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5cbc: d52c bpl.n 80a5d18 { if(ABS(maxf) < ABS(minf)) 80a5cbe: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5cc2: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5cc6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5cca: dd02 ble.n 80a5cd2 80a5ccc: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80a5cd0: e003 b.n 80a5cda 80a5cd2: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5cd6: eeb1 7a67 vneg.f32 s14, s15 80a5cda: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5cde: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5ce2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5ce6: dd02 ble.n 80a5cee 80a5ce8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5cec: e003 b.n 80a5cf6 80a5cee: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5cf2: eef1 7a67 vneg.f32 s15, s15 80a5cf6: eeb4 7ae7 vcmpe.f32 s14, s15 80a5cfa: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5cfe: d505 bpl.n 80a5d0c { CurVal = minf; 80a5d00: 6c7b ldr r3, [r7, #68] ; 0x44 80a5d02: 4a20 ldr r2, [pc, #128] ; (80a5d84 ) 80a5d04: 6013 str r3, [r2, #0] l = n1; 80a5d06: 6cfb ldr r3, [r7, #76] ; 0x4c 80a5d08: 653b str r3, [r7, #80] ; 0x50 if(ABS(maxf) < ABS(minf)) 80a5d0a: e078 b.n 80a5dfe } else { CurVal = maxf; 80a5d0c: 6c3b ldr r3, [r7, #64] ; 0x40 80a5d0e: 4a1d ldr r2, [pc, #116] ; (80a5d84 ) 80a5d10: 6013 str r3, [r2, #0] l = n2; 80a5d12: 6cbb ldr r3, [r7, #72] ; 0x48 80a5d14: 653b str r3, [r7, #80] ; 0x50 if(ABS(maxf) < ABS(minf)) 80a5d16: e072 b.n 80a5dfe } } else if((maxf > 0) && (minf > 0)) 80a5d18: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5d1c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5d20: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5d24: dd30 ble.n 80a5d88 80a5d26: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5d2a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5d2e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5d32: dd29 ble.n 80a5d88 { CurVal = maxf; 80a5d34: 6c3b ldr r3, [r7, #64] ; 0x40 80a5d36: 4a13 ldr r2, [pc, #76] ; (80a5d84 ) 80a5d38: 6013 str r3, [r2, #0] l = n2; 80a5d3a: 6cbb ldr r3, [r7, #72] ; 0x48 80a5d3c: 653b str r3, [r7, #80] ; 0x50 80a5d3e: e05e b.n 80a5dfe 80a5d40: 080d74d8 .word 0x080d74d8 80a5d44: 20022928 .word 0x20022928 80a5d48: 2002006c .word 0x2002006c 80a5d4c: 447a0000 .word 0x447a0000 80a5d50: 200215c0 .word 0x200215c0 80a5d54: ff808080 .word 0xff808080 80a5d58: 3a83126f .word 0x3a83126f 80a5d5c: 20023eb8 .word 0x20023eb8 80a5d60: 080d74e0 .word 0x080d74e0 80a5d64: 080d74e4 .word 0x080d74e4 80a5d68: 3dcccccd .word 0x3dcccccd 80a5d6c: 080d74e8 .word 0x080d74e8 80a5d70: 080d74ec .word 0x080d74ec 80a5d74: 080d74f0 .word 0x080d74f0 80a5d78: 080d74f4 .word 0x080d74f4 80a5d7c: 20020f94 .word 0x20020f94 80a5d80: 64080000 .word 0x64080000 80a5d84: 200215bc .word 0x200215bc } else if((maxf < 0) && (minf < 0)) 80a5d88: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5d8c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5d90: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5d94: d50c bpl.n 80a5db0 80a5d96: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5d9a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5d9e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5da2: d505 bpl.n 80a5db0 { CurVal = minf; 80a5da4: 6c7b ldr r3, [r7, #68] ; 0x44 80a5da6: 4a8a ldr r2, [pc, #552] ; (80a5fd0 ) 80a5da8: 6013 str r3, [r2, #0] l = n1; 80a5daa: 6cfb ldr r3, [r7, #76] ; 0x4c 80a5dac: 653b str r3, [r7, #80] ; 0x50 80a5dae: e026 b.n 80a5dfe } else if((maxf >= 0) && (minf == 0)) 80a5db0: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5db4: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5db8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5dbc: db0c blt.n 80a5dd8 80a5dbe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5dc2: eef5 7a40 vcmp.f32 s15, #0.0 80a5dc6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5dca: d105 bne.n 80a5dd8 { CurVal = maxf; 80a5dcc: 6c3b ldr r3, [r7, #64] ; 0x40 80a5dce: 4a80 ldr r2, [pc, #512] ; (80a5fd0 ) 80a5dd0: 6013 str r3, [r2, #0] l = n2; 80a5dd2: 6cbb ldr r3, [r7, #72] ; 0x48 80a5dd4: 653b str r3, [r7, #80] ; 0x50 80a5dd6: e012 b.n 80a5dfe } else if((maxf == 0) && (minf <= 0)) 80a5dd8: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5ddc: eef5 7a40 vcmp.f32 s15, #0.0 80a5de0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5de4: d10b bne.n 80a5dfe 80a5de6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5dea: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5dee: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5df2: d804 bhi.n 80a5dfe { CurVal = minf; 80a5df4: 6c7b ldr r3, [r7, #68] ; 0x44 80a5df6: 4a76 ldr r2, [pc, #472] ; (80a5fd0 ) 80a5df8: 6013 str r3, [r2, #0] l = n1; 80a5dfa: 6cfb ldr r3, [r7, #76] ; 0x4c 80a5dfc: 653b str r3, [r7, #80] ; 0x50 } DynamicCursor[i].fineMpos = DynamicCursor[i].Mpos + l; 80a5dfe: 4a75 ldr r2, [pc, #468] ; (80a5fd4 ) 80a5e00: 6efb ldr r3, [r7, #108] ; 0x6c 80a5e02: 011b lsls r3, r3, #4 80a5e04: 4413 add r3, r2 80a5e06: 3304 adds r3, #4 80a5e08: 881a ldrh r2, [r3, #0] 80a5e0a: 6d3b ldr r3, [r7, #80] ; 0x50 80a5e0c: b29b uxth r3, r3 80a5e0e: 4413 add r3, r2 80a5e10: b299 uxth r1, r3 80a5e12: 4a70 ldr r2, [pc, #448] ; (80a5fd4 ) 80a5e14: 6efb ldr r3, [r7, #108] ; 0x6c 80a5e16: 011b lsls r3, r3, #4 80a5e18: 4413 add r3, r2 80a5e1a: 3306 adds r3, #6 80a5e1c: 460a mov r2, r1 80a5e1e: 801a strh r2, [r3, #0] DynamicCursor[i].val_Y = CurVal; 80a5e20: 4b6b ldr r3, [pc, #428] ; (80a5fd0 ) 80a5e22: 681a ldr r2, [r3, #0] 80a5e24: 496b ldr r1, [pc, #428] ; (80a5fd4 ) 80a5e26: 6efb ldr r3, [r7, #108] ; 0x6c 80a5e28: 011b lsls r3, r3, #4 80a5e2a: 440b add r3, r1 80a5e2c: 330c adds r3, #12 80a5e2e: 601a str r2, [r3, #0] Val = CurVal; 80a5e30: 4b67 ldr r3, [pc, #412] ; (80a5fd0 ) 80a5e32: 681b ldr r3, [r3, #0] 80a5e34: 63fb str r3, [r7, #60] ; 0x3c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a5e36: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a5e3a: 4867 ldr r0, [pc, #412] ; (80a5fd8 ) 80a5e3c: f7af f9e6 bl 805520c if(ABS(Val) >= 1000.0f) 80a5e40: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5e44: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5e48: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5e4c: dd0c ble.n 80a5e68 80a5e4e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5e52: ed9f 7a62 vldr s14, [pc, #392] ; 80a5fdc 80a5e56: eef4 7ac7 vcmpe.f32 s15, s14 80a5e5a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5e5e: bfac ite ge 80a5e60: 2301 movge r3, #1 80a5e62: 2300 movlt r3, #0 80a5e64: b2db uxtb r3, r3 80a5e66: e00b b.n 80a5e80 80a5e68: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5e6c: ed9f 7a5c vldr s14, [pc, #368] ; 80a5fe0 80a5e70: eef4 7ac7 vcmpe.f32 s15, s14 80a5e74: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5e78: bf94 ite ls 80a5e7a: 2301 movls r3, #1 80a5e7c: 2300 movhi r3, #0 80a5e7e: b2db uxtb r3, r3 80a5e80: 2b00 cmp r3, #0 80a5e82: d038 beq.n 80a5ef6 { Val *= 0.001f; 80a5e84: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5e88: ed9f 7a56 vldr s14, [pc, #344] ; 80a5fe4 80a5e8c: ee67 7a87 vmul.f32 s15, s15, s14 80a5e90: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.LANG == RUS) 80a5e94: 4b54 ldr r3, [pc, #336] ; (80a5fe8 ) 80a5e96: 7b1b ldrb r3, [r3, #12] 80a5e98: b2db uxtb r3, r3 80a5e9a: 2b00 cmp r3, #0 80a5e9c: d10b bne.n 80a5eb6 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "k&/c^", LEFT_MODE); 80a5e9e: 6efb ldr r3, [r7, #108] ; 0x6c 80a5ea0: b29b uxth r3, r3 80a5ea2: 00db lsls r3, r3, #3 80a5ea4: b29b uxth r3, r3 80a5ea6: 3335 adds r3, #53 ; 0x35 80a5ea8: b299 uxth r1, r3 80a5eaa: 2303 movs r3, #3 80a5eac: 4a4f ldr r2, [pc, #316] ; (80a5fec ) 80a5eae: 20dc movs r0, #220 ; 0xdc 80a5eb0: f7af fa72 bl 8055398 80a5eb4: e00a b.n 80a5ecc else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "km/c^", LEFT_MODE); 80a5eb6: 6efb ldr r3, [r7, #108] ; 0x6c 80a5eb8: b29b uxth r3, r3 80a5eba: 00db lsls r3, r3, #3 80a5ebc: b29b uxth r3, r3 80a5ebe: 3335 adds r3, #53 ; 0x35 80a5ec0: b299 uxth r1, r3 80a5ec2: 2303 movs r3, #3 80a5ec4: 4a4a ldr r2, [pc, #296] ; (80a5ff0 ) 80a5ec6: 20dc movs r0, #220 ; 0xdc 80a5ec8: f7af fa66 bl 8055398 BSP_LCD_DisplayStringAt(220-3, 53 + 8 * i, (char *) FloatToASCII(Val, -3), RIGHT_MODE); 80a5ecc: 6efb ldr r3, [r7, #108] ; 0x6c 80a5ece: b29b uxth r3, r3 80a5ed0: 00db lsls r3, r3, #3 80a5ed2: b29b uxth r3, r3 80a5ed4: 3335 adds r3, #53 ; 0x35 80a5ed6: b29c uxth r4, r3 80a5ed8: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5edc: f06f 0002 mvn.w r0, #2 80a5ee0: eeb0 0a67 vmov.f32 s0, s15 80a5ee4: f7c2 f95c bl 80681a0 80a5ee8: 4602 mov r2, r0 80a5eea: 2302 movs r3, #2 80a5eec: 4621 mov r1, r4 80a5eee: 20d9 movs r0, #217 ; 0xd9 80a5ef0: f7af fa52 bl 8055398 80a5ef4: e0a7 b.n 80a6046 } else if(ABS(Val) >= 0.1f) 80a5ef6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5efa: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5efe: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5f02: dd0c ble.n 80a5f1e 80a5f04: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5f08: ed9f 7a3a vldr s14, [pc, #232] ; 80a5ff4 80a5f0c: eef4 7ac7 vcmpe.f32 s15, s14 80a5f10: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5f14: bfac ite ge 80a5f16: 2301 movge r3, #1 80a5f18: 2300 movlt r3, #0 80a5f1a: b2db uxtb r3, r3 80a5f1c: e00b b.n 80a5f36 80a5f1e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5f22: ed9f 7a35 vldr s14, [pc, #212] ; 80a5ff8 80a5f26: eef4 7ac7 vcmpe.f32 s15, s14 80a5f2a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5f2e: bf94 ite ls 80a5f30: 2301 movls r3, #1 80a5f32: 2300 movhi r3, #0 80a5f34: b2db uxtb r3, r3 80a5f36: 2b00 cmp r3, #0 80a5f38: d030 beq.n 80a5f9c { if(pardata.LANG == RUS) 80a5f3a: 4b2b ldr r3, [pc, #172] ; (80a5fe8 ) 80a5f3c: 7b1b ldrb r3, [r3, #12] 80a5f3e: b2db uxtb r3, r3 80a5f40: 2b00 cmp r3, #0 80a5f42: d10b bne.n 80a5f5c BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&/c^", LEFT_MODE); 80a5f44: 6efb ldr r3, [r7, #108] ; 0x6c 80a5f46: b29b uxth r3, r3 80a5f48: 00db lsls r3, r3, #3 80a5f4a: b29b uxth r3, r3 80a5f4c: 3335 adds r3, #53 ; 0x35 80a5f4e: b299 uxth r1, r3 80a5f50: 2303 movs r3, #3 80a5f52: 4a2a ldr r2, [pc, #168] ; (80a5ffc ) 80a5f54: 20dc movs r0, #220 ; 0xdc 80a5f56: f7af fa1f bl 8055398 80a5f5a: e00a b.n 80a5f72 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "m/c^", LEFT_MODE); 80a5f5c: 6efb ldr r3, [r7, #108] ; 0x6c 80a5f5e: b29b uxth r3, r3 80a5f60: 00db lsls r3, r3, #3 80a5f62: b29b uxth r3, r3 80a5f64: 3335 adds r3, #53 ; 0x35 80a5f66: b299 uxth r1, r3 80a5f68: 2303 movs r3, #3 80a5f6a: 4a25 ldr r2, [pc, #148] ; (80a6000 ) 80a5f6c: 20dc movs r0, #220 ; 0xdc 80a5f6e: f7af fa13 bl 8055398 BSP_LCD_DisplayStringAt(220-3, 53 + 8 * i, (char *) FloatToASCII(Val, -3), RIGHT_MODE); 80a5f72: 6efb ldr r3, [r7, #108] ; 0x6c 80a5f74: b29b uxth r3, r3 80a5f76: 00db lsls r3, r3, #3 80a5f78: b29b uxth r3, r3 80a5f7a: 3335 adds r3, #53 ; 0x35 80a5f7c: b29c uxth r4, r3 80a5f7e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5f82: f06f 0002 mvn.w r0, #2 80a5f86: eeb0 0a67 vmov.f32 s0, s15 80a5f8a: f7c2 f909 bl 80681a0 80a5f8e: 4602 mov r2, r0 80a5f90: 2302 movs r3, #2 80a5f92: 4621 mov r1, r4 80a5f94: 20d9 movs r0, #217 ; 0xd9 80a5f96: f7af f9ff bl 8055398 80a5f9a: e054 b.n 80a6046 } else { Val *= 1000.0f; 80a5f9c: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5fa0: ed9f 7a0e vldr s14, [pc, #56] ; 80a5fdc 80a5fa4: ee67 7a87 vmul.f32 s15, s15, s14 80a5fa8: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.LANG == RUS) 80a5fac: 4b0e ldr r3, [pc, #56] ; (80a5fe8 ) 80a5fae: 7b1b ldrb r3, [r3, #12] 80a5fb0: b2db uxtb r3, r3 80a5fb2: 2b00 cmp r3, #0 80a5fb4: d128 bne.n 80a6008 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&&/c^", LEFT_MODE); 80a5fb6: 6efb ldr r3, [r7, #108] ; 0x6c 80a5fb8: b29b uxth r3, r3 80a5fba: 00db lsls r3, r3, #3 80a5fbc: b29b uxth r3, r3 80a5fbe: 3335 adds r3, #53 ; 0x35 80a5fc0: b299 uxth r1, r3 80a5fc2: 2303 movs r3, #3 80a5fc4: 4a0f ldr r2, [pc, #60] ; (80a6004 ) 80a5fc6: 20dc movs r0, #220 ; 0xdc 80a5fc8: f7af f9e6 bl 8055398 80a5fcc: e027 b.n 80a601e 80a5fce: bf00 nop 80a5fd0: 200215bc .word 0x200215bc 80a5fd4: 20020f94 .word 0x20020f94 80a5fd8: ff26a01f .word 0xff26a01f 80a5fdc: 447a0000 .word 0x447a0000 80a5fe0: c47a0000 .word 0xc47a0000 80a5fe4: 3a83126f .word 0x3a83126f 80a5fe8: 20023eb8 .word 0x20023eb8 80a5fec: 080d74b0 .word 0x080d74b0 80a5ff0: 080d74b8 .word 0x080d74b8 80a5ff4: 3dcccccd .word 0x3dcccccd 80a5ff8: bdcccccd .word 0xbdcccccd 80a5ffc: 080d74c0 .word 0x080d74c0 80a6000: 080d74c8 .word 0x080d74c8 80a6004: 080d74d0 .word 0x080d74d0 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mm/c^", LEFT_MODE); 80a6008: 6efb ldr r3, [r7, #108] ; 0x6c 80a600a: b29b uxth r3, r3 80a600c: 00db lsls r3, r3, #3 80a600e: b29b uxth r3, r3 80a6010: 3335 adds r3, #53 ; 0x35 80a6012: b299 uxth r1, r3 80a6014: 2303 movs r3, #3 80a6016: 4a9c ldr r2, [pc, #624] ; (80a6288 ) 80a6018: 20dc movs r0, #220 ; 0xdc 80a601a: f7af f9bd bl 8055398 BSP_LCD_DisplayStringAt(220-3, 53 + 8 * i, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a601e: 6efb ldr r3, [r7, #108] ; 0x6c 80a6020: b29b uxth r3, r3 80a6022: 00db lsls r3, r3, #3 80a6024: b29b uxth r3, r3 80a6026: 3335 adds r3, #53 ; 0x35 80a6028: b29c uxth r4, r3 80a602a: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a602e: f06f 0002 mvn.w r0, #2 80a6032: eeb0 0a67 vmov.f32 s0, s15 80a6036: f7c2 f8b3 bl 80681a0 80a603a: 4602 mov r2, r0 80a603c: 2302 movs r3, #2 80a603e: 4621 mov r1, r4 80a6040: 20d9 movs r0, #217 ; 0xd9 80a6042: f7af f9a9 bl 8055398 } //************************************************************************************************************** step = PlayingState.FrameSize >> 8; 80a6046: 4b91 ldr r3, [pc, #580] ; (80a628c ) 80a6048: 689b ldr r3, [r3, #8] 80a604a: 0a1b lsrs r3, r3, #8 80a604c: 663b str r3, [r7, #96] ; 0x60 dt = (PlayingState.TimeLength / (float32_t) PlayingState.NumFrames) / ((float32_t) PlayingState.FrameSize); 80a604e: 4b8f ldr r3, [pc, #572] ; (80a628c ) 80a6050: ed93 7a07 vldr s14, [r3, #28] 80a6054: 4b8d ldr r3, [pc, #564] ; (80a628c ) 80a6056: 685b ldr r3, [r3, #4] 80a6058: ee07 3a90 vmov s15, r3 80a605c: eef8 7a67 vcvt.f32.u32 s15, s15 80a6060: eec7 6a27 vdiv.f32 s13, s14, s15 80a6064: 4b89 ldr r3, [pc, #548] ; (80a628c ) 80a6066: 689b ldr r3, [r3, #8] 80a6068: ee07 3a90 vmov s15, r3 80a606c: eeb8 7a67 vcvt.f32.u32 s14, s15 80a6070: eec6 7a87 vdiv.f32 s15, s13, s14 80a6074: edc7 7a17 vstr s15, [r7, #92] ; 0x5c curtime = ((float32_t)(DynamicCursor[i].CURSOR + 1)) * (float32_t)step; 80a6078: 4a85 ldr r2, [pc, #532] ; (80a6290 ) 80a607a: 6efb ldr r3, [r7, #108] ; 0x6c 80a607c: 011b lsls r3, r3, #4 80a607e: 4413 add r3, r2 80a6080: 3302 adds r3, #2 80a6082: 881b ldrh r3, [r3, #0] 80a6084: 3301 adds r3, #1 80a6086: ee07 3a90 vmov s15, r3 80a608a: eeb8 7ae7 vcvt.f32.s32 s14, s15 80a608e: 6e3b ldr r3, [r7, #96] ; 0x60 80a6090: ee07 3a90 vmov s15, r3 80a6094: eef8 7a67 vcvt.f32.u32 s15, s15 80a6098: ee67 7a27 vmul.f32 s15, s14, s15 80a609c: edc7 7a16 vstr s15, [r7, #88] ; 0x58 curtime *= dt; 80a60a0: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80a60a4: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80a60a8: ee67 7a27 vmul.f32 s15, s14, s15 80a60ac: edc7 7a16 vstr s15, [r7, #88] ; 0x58 curtime += (((float32_t)(PlayingState.FrameSize * PlayingState.CurrentFrame)) * dt); 80a60b0: 4b76 ldr r3, [pc, #472] ; (80a628c ) 80a60b2: 689b ldr r3, [r3, #8] 80a60b4: 4a75 ldr r2, [pc, #468] ; (80a628c ) 80a60b6: 6812 ldr r2, [r2, #0] 80a60b8: fb02 f303 mul.w r3, r2, r3 80a60bc: ee07 3a90 vmov s15, r3 80a60c0: eeb8 7a67 vcvt.f32.u32 s14, s15 80a60c4: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80a60c8: ee67 7a27 vmul.f32 s15, s14, s15 80a60cc: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80a60d0: ee77 7a27 vadd.f32 s15, s14, s15 80a60d4: edc7 7a16 vstr s15, [r7, #88] ; 0x58 TF = curtime * 1000; 80a60d8: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a60dc: ed9f 7a6d vldr s14, [pc, #436] ; 80a6294 80a60e0: ee67 7a87 vmul.f32 s15, s15, s14 80a60e4: 4b6c ldr r3, [pc, #432] ; (80a6298 ) 80a60e6: edc3 7a00 vstr s15, [r3] tmpF = TF; 80a60ea: 4b6b ldr r3, [pc, #428] ; (80a6298 ) 80a60ec: 681b ldr r3, [r3, #0] 80a60ee: 657b str r3, [r7, #84] ; 0x54 DynamicCursor[i].val_X = tmpF; 80a60f0: 4a67 ldr r2, [pc, #412] ; (80a6290 ) 80a60f2: 6efb ldr r3, [r7, #108] ; 0x6c 80a60f4: 011b lsls r3, r3, #4 80a60f6: 4413 add r3, r2 80a60f8: 3308 adds r3, #8 80a60fa: 6d7a ldr r2, [r7, #84] ; 0x54 80a60fc: 601a str r2, [r3, #0] LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a60fe: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a6102: 4866 ldr r0, [pc, #408] ; (80a629c ) 80a6104: f7af f882 bl 805520c if(tmpF >= 1000.0f) 80a6108: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a610c: ed9f 7a61 vldr s14, [pc, #388] ; 80a6294 80a6110: eef4 7ac7 vcmpe.f32 s15, s14 80a6114: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6118: db39 blt.n 80a618e { tmpF *= 0.001f; 80a611a: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a611e: ed9f 7a60 vldr s14, [pc, #384] ; 80a62a0 80a6122: ee67 7a87 vmul.f32 s15, s15, s14 80a6126: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a612a: 4b5e ldr r3, [pc, #376] ; (80a62a4 ) 80a612c: 7b1b ldrb r3, [r3, #12] 80a612e: b2db uxtb r3, r3 80a6130: 2b00 cmp r3, #0 80a6132: d10c bne.n 80a614e BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "c", LEFT_MODE); 80a6134: 6efb ldr r3, [r7, #108] ; 0x6c 80a6136: b29b uxth r3, r3 80a6138: 00db lsls r3, r3, #3 80a613a: b29b uxth r3, r3 80a613c: 3335 adds r3, #53 ; 0x35 80a613e: b299 uxth r1, r3 80a6140: 2303 movs r3, #3 80a6142: 4a59 ldr r2, [pc, #356] ; (80a62a8 ) 80a6144: f44f 7097 mov.w r0, #302 ; 0x12e 80a6148: f7af f926 bl 8055398 80a614c: e00b b.n 80a6166 else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "s", LEFT_MODE); 80a614e: 6efb ldr r3, [r7, #108] ; 0x6c 80a6150: b29b uxth r3, r3 80a6152: 00db lsls r3, r3, #3 80a6154: b29b uxth r3, r3 80a6156: 3335 adds r3, #53 ; 0x35 80a6158: b299 uxth r1, r3 80a615a: 2303 movs r3, #3 80a615c: 4a53 ldr r2, [pc, #332] ; (80a62ac ) 80a615e: f44f 7097 mov.w r0, #302 ; 0x12e 80a6162: f7af f919 bl 8055398 BSP_LCD_DisplayStringAt(299, 53 + 8 * i, (char *) FloatToASCII(tmpF, -5), RIGHT_MODE); 80a6166: 6efb ldr r3, [r7, #108] ; 0x6c 80a6168: b29b uxth r3, r3 80a616a: 00db lsls r3, r3, #3 80a616c: b29b uxth r3, r3 80a616e: 3335 adds r3, #53 ; 0x35 80a6170: b29c uxth r4, r3 80a6172: f06f 0004 mvn.w r0, #4 80a6176: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a617a: f7c2 f811 bl 80681a0 80a617e: 4602 mov r2, r0 80a6180: 2302 movs r3, #2 80a6182: 4621 mov r1, r4 80a6184: f240 102b movw r0, #299 ; 0x12b 80a6188: f7af f906 bl 8055398 80a618c: e073 b.n 80a6276 } else if(tmpF < 0.1f) 80a618e: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a6192: ed9f 7a47 vldr s14, [pc, #284] ; 80a62b0 80a6196: eef4 7ac7 vcmpe.f32 s15, s14 80a619a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a619e: d539 bpl.n 80a6214 { tmpF *= 1000.0f; 80a61a0: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a61a4: ed9f 7a3b vldr s14, [pc, #236] ; 80a6294 80a61a8: ee67 7a87 vmul.f32 s15, s15, s14 80a61ac: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a61b0: 4b3c ldr r3, [pc, #240] ; (80a62a4 ) 80a61b2: 7b1b ldrb r3, [r3, #12] 80a61b4: b2db uxtb r3, r3 80a61b6: 2b00 cmp r3, #0 80a61b8: d10c bne.n 80a61d4 BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "&kc", LEFT_MODE); 80a61ba: 6efb ldr r3, [r7, #108] ; 0x6c 80a61bc: b29b uxth r3, r3 80a61be: 00db lsls r3, r3, #3 80a61c0: b29b uxth r3, r3 80a61c2: 3335 adds r3, #53 ; 0x35 80a61c4: b299 uxth r1, r3 80a61c6: 2303 movs r3, #3 80a61c8: 4a3a ldr r2, [pc, #232] ; (80a62b4 ) 80a61ca: f44f 7097 mov.w r0, #302 ; 0x12e 80a61ce: f7af f8e3 bl 8055398 80a61d2: e00b b.n 80a61ec else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "us", LEFT_MODE); 80a61d4: 6efb ldr r3, [r7, #108] ; 0x6c 80a61d6: b29b uxth r3, r3 80a61d8: 00db lsls r3, r3, #3 80a61da: b29b uxth r3, r3 80a61dc: 3335 adds r3, #53 ; 0x35 80a61de: b299 uxth r1, r3 80a61e0: 2303 movs r3, #3 80a61e2: 4a35 ldr r2, [pc, #212] ; (80a62b8 ) 80a61e4: f44f 7097 mov.w r0, #302 ; 0x12e 80a61e8: f7af f8d6 bl 8055398 BSP_LCD_DisplayStringAt(299, 53 + 8 * i, (char *) FloatToASCII(tmpF, -5), RIGHT_MODE); 80a61ec: 6efb ldr r3, [r7, #108] ; 0x6c 80a61ee: b29b uxth r3, r3 80a61f0: 00db lsls r3, r3, #3 80a61f2: b29b uxth r3, r3 80a61f4: 3335 adds r3, #53 ; 0x35 80a61f6: b29c uxth r4, r3 80a61f8: f06f 0004 mvn.w r0, #4 80a61fc: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a6200: f7c1 ffce bl 80681a0 80a6204: 4602 mov r2, r0 80a6206: 2302 movs r3, #2 80a6208: 4621 mov r1, r4 80a620a: f240 102b movw r0, #299 ; 0x12b 80a620e: f7af f8c3 bl 8055398 80a6212: e030 b.n 80a6276 } else { if(pardata.LANG == RUS) 80a6214: 4b23 ldr r3, [pc, #140] ; (80a62a4 ) 80a6216: 7b1b ldrb r3, [r3, #12] 80a6218: b2db uxtb r3, r3 80a621a: 2b00 cmp r3, #0 80a621c: d10c bne.n 80a6238 BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "&c", LEFT_MODE); 80a621e: 6efb ldr r3, [r7, #108] ; 0x6c 80a6220: b29b uxth r3, r3 80a6222: 00db lsls r3, r3, #3 80a6224: b29b uxth r3, r3 80a6226: 3335 adds r3, #53 ; 0x35 80a6228: b299 uxth r1, r3 80a622a: 2303 movs r3, #3 80a622c: 4a23 ldr r2, [pc, #140] ; (80a62bc ) 80a622e: f44f 7097 mov.w r0, #302 ; 0x12e 80a6232: f7af f8b1 bl 8055398 80a6236: e00b b.n 80a6250 else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "ms", LEFT_MODE); 80a6238: 6efb ldr r3, [r7, #108] ; 0x6c 80a623a: b29b uxth r3, r3 80a623c: 00db lsls r3, r3, #3 80a623e: b29b uxth r3, r3 80a6240: 3335 adds r3, #53 ; 0x35 80a6242: b299 uxth r1, r3 80a6244: 2303 movs r3, #3 80a6246: 4a1e ldr r2, [pc, #120] ; (80a62c0 ) 80a6248: f44f 7097 mov.w r0, #302 ; 0x12e 80a624c: f7af f8a4 bl 8055398 BSP_LCD_DisplayStringAt(299, 53 + 8 * i, (char *) FloatToASCII(tmpF, -5), RIGHT_MODE); 80a6250: 6efb ldr r3, [r7, #108] ; 0x6c 80a6252: b29b uxth r3, r3 80a6254: 00db lsls r3, r3, #3 80a6256: b29b uxth r3, r3 80a6258: 3335 adds r3, #53 ; 0x35 80a625a: b29c uxth r4, r3 80a625c: f06f 0004 mvn.w r0, #4 80a6260: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a6264: f7c1 ff9c bl 80681a0 80a6268: 4602 mov r2, r0 80a626a: 2302 movs r3, #2 80a626c: 4621 mov r1, r4 80a626e: f240 102b movw r0, #299 ; 0x12b 80a6272: f7af f891 bl 8055398 for(i = 0; i < 2; i++) 80a6276: 6efb ldr r3, [r7, #108] ; 0x6c 80a6278: 3301 adds r3, #1 80a627a: 66fb str r3, [r7, #108] ; 0x6c 80a627c: 6efb ldr r3, [r7, #108] ; 0x6c 80a627e: 2b01 cmp r3, #1 80a6280: f67f acc8 bls.w 80a5c14 #else #endif } 80a6284: f004 b8b6 b.w 80aa3f4 80a6288: 080d74d8 .word 0x080d74d8 80a628c: 20022928 .word 0x20022928 80a6290: 20020f94 .word 0x20020f94 80a6294: 447a0000 .word 0x447a0000 80a6298: 200215c0 .word 0x200215c0 80a629c: ff808080 .word 0xff808080 80a62a0: 3a83126f .word 0x3a83126f 80a62a4: 20023eb8 .word 0x20023eb8 80a62a8: 080d74e0 .word 0x080d74e0 80a62ac: 080d74e4 .word 0x080d74e4 80a62b0: 3dcccccd .word 0x3dcccccd 80a62b4: 080d74e8 .word 0x080d74e8 80a62b8: 080d74ec .word 0x080d74ec 80a62bc: 080d74f0 .word 0x080d74f0 80a62c0: 080d74f4 .word 0x080d74f4 if(!FIRST) 80a62c4: 4bc0 ldr r3, [pc, #768] ; (80a65c8 ) 80a62c6: 781b ldrb r3, [r3, #0] 80a62c8: b2db uxtb r3, r3 80a62ca: f083 0301 eor.w r3, r3, #1 80a62ce: b2db uxtb r3, r3 80a62d0: 2b00 cmp r3, #0 80a62d2: f004 808f beq.w 80aa3f4 BSP_LCD_SetFont(&Font8); 80a62d6: 48bd ldr r0, [pc, #756] ; (80a65cc ) 80a62d8: f7ae ffd4 bl 8055284 if(pardata.SYG == ROLL) 80a62dc: 4bbc ldr r3, [pc, #752] ; (80a65d0 ) 80a62de: 781b ldrb r3, [r3, #0] 80a62e0: b2db uxtb r3, r3 80a62e2: 2b08 cmp r3, #8 80a62e4: f040 83bf bne.w 80a6a66 LCD_SetColors(LCD_COLOR_WHITE, 0xFF000000); 80a62e8: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a62ec: f04f 30ff mov.w r0, #4294967295 80a62f0: f7ae ff8c bl 805520c arm_max_f32(&CmplxA_f32(Mpos), avgSPC[ViewLevel][pardata.LNE], &Val, &l); 80a62f4: 4bb7 ldr r3, [pc, #732] ; (80a65d4 ) 80a62f6: 881b ldrh r3, [r3, #0] 80a62f8: b29b uxth r3, r3 80a62fa: 009b lsls r3, r3, #2 80a62fc: 461a mov r2, r3 80a62fe: 4bb6 ldr r3, [pc, #728] ; (80a65d8 ) 80a6300: 4413 add r3, r2 80a6302: 461c mov r4, r3 80a6304: 4bb5 ldr r3, [pc, #724] ; (80a65dc ) 80a6306: 781b ldrb r3, [r3, #0] 80a6308: b2db uxtb r3, r3 80a630a: 4618 mov r0, r3 80a630c: 4bb0 ldr r3, [pc, #704] ; (80a65d0 ) 80a630e: 79db ldrb r3, [r3, #7] 80a6310: b2db uxtb r3, r3 80a6312: 4619 mov r1, r3 80a6314: 4ab2 ldr r2, [pc, #712] ; (80a65e0 ) 80a6316: 0083 lsls r3, r0, #2 80a6318: 4413 add r3, r2 80a631a: 440b add r3, r1 80a631c: 781b ldrb r3, [r3, #0] 80a631e: 4619 mov r1, r3 80a6320: f107 0350 add.w r3, r7, #80 ; 0x50 80a6324: f107 023c add.w r2, r7, #60 ; 0x3c 80a6328: 4620 mov r0, r4 80a632a: f028 fe73 bl 80cf014 BSP_LCD_DisplayStringAt(220, 45, "dB", LEFT_MODE); 80a632e: 2303 movs r3, #3 80a6330: 4aac ldr r2, [pc, #688] ; (80a65e4 ) 80a6332: 212d movs r1, #45 ; 0x2d 80a6334: 20dc movs r0, #220 ; 0xdc 80a6336: f7af f82f bl 8055398 BSP_LCD_DisplayStringAt(220-3, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a633a: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a633e: f04f 30ff mov.w r0, #4294967295 80a6342: eeb0 0a67 vmov.f32 s0, s15 80a6346: f7c1 ff2b bl 80681a0 80a634a: 4602 mov r2, r0 80a634c: 2302 movs r3, #2 80a634e: 212d movs r1, #45 ; 0x2d 80a6350: 20d9 movs r0, #217 ; 0xd9 80a6352: f7af f821 bl 8055398 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a6356: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a635a: 48a3 ldr r0, [pc, #652] ; (80a65e8 ) 80a635c: f7ae ff56 bl 805520c arm_max_f32(&ScrA_f32(Mpos), avgSPC[ViewLevel][pardata.LNE], &Val, &l); 80a6360: 4b9c ldr r3, [pc, #624] ; (80a65d4 ) 80a6362: 881b ldrh r3, [r3, #0] 80a6364: b29b uxth r3, r3 80a6366: 009b lsls r3, r3, #2 80a6368: 461a mov r2, r3 80a636a: 4ba0 ldr r3, [pc, #640] ; (80a65ec ) 80a636c: 4413 add r3, r2 80a636e: 461c mov r4, r3 80a6370: 4b9a ldr r3, [pc, #616] ; (80a65dc ) 80a6372: 781b ldrb r3, [r3, #0] 80a6374: b2db uxtb r3, r3 80a6376: 4618 mov r0, r3 80a6378: 4b95 ldr r3, [pc, #596] ; (80a65d0 ) 80a637a: 79db ldrb r3, [r3, #7] 80a637c: b2db uxtb r3, r3 80a637e: 4619 mov r1, r3 80a6380: 4a97 ldr r2, [pc, #604] ; (80a65e0 ) 80a6382: 0083 lsls r3, r0, #2 80a6384: 4413 add r3, r2 80a6386: 440b add r3, r1 80a6388: 781b ldrb r3, [r3, #0] 80a638a: 4619 mov r1, r3 80a638c: f107 0350 add.w r3, r7, #80 ; 0x50 80a6390: f107 023c add.w r2, r7, #60 ; 0x3c 80a6394: 4620 mov r0, r4 80a6396: f028 fe3d bl 80cf014 BSP_LCD_DisplayStringAt(160, 45, "dB", LEFT_MODE); 80a639a: 2303 movs r3, #3 80a639c: 4a91 ldr r2, [pc, #580] ; (80a65e4 ) 80a639e: 212d movs r1, #45 ; 0x2d 80a63a0: 20a0 movs r0, #160 ; 0xa0 80a63a2: f7ae fff9 bl 8055398 BSP_LCD_DisplayStringAt(160-3, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a63a6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a63aa: f04f 30ff mov.w r0, #4294967295 80a63ae: eeb0 0a67 vmov.f32 s0, s15 80a63b2: f7c1 fef5 bl 80681a0 80a63b6: 4602 mov r2, r0 80a63b8: 2302 movs r3, #2 80a63ba: 212d movs r1, #45 ; 0x2d 80a63bc: 209d movs r0, #157 ; 0x9d 80a63be: f7ae ffeb bl 8055398 fineMpos = Mpos + l; 80a63c2: 6d3b ldr r3, [r7, #80] ; 0x50 80a63c4: b29a uxth r2, r3 80a63c6: 4b83 ldr r3, [pc, #524] ; (80a65d4 ) 80a63c8: 881b ldrh r3, [r3, #0] 80a63ca: b29b uxth r3, r3 80a63cc: 4413 add r3, r2 80a63ce: b29a uxth r2, r3 80a63d0: 4b87 ldr r3, [pc, #540] ; (80a65f0 ) 80a63d2: 801a strh r2, [r3, #0] tmpF = (float32_t) fineMpos; 80a63d4: 4b86 ldr r3, [pc, #536] ; (80a65f0 ) 80a63d6: 881b ldrh r3, [r3, #0] 80a63d8: b29b uxth r3, r3 80a63da: ee07 3a90 vmov s15, r3 80a63de: eef8 7a67 vcvt.f32.u32 s15, s15 80a63e2: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(tmpF != TF) 80a63e6: 4b83 ldr r3, [pc, #524] ; (80a65f4 ) 80a63e8: edd3 7a00 vldr s15, [r3] 80a63ec: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80a63f0: eeb4 7a67 vcmp.f32 s14, s15 80a63f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a63f8: d01d beq.n 80a6436 TF = tmpF; 80a63fa: 4a7e ldr r2, [pc, #504] ; (80a65f4 ) 80a63fc: 6d7b ldr r3, [r7, #84] ; 0x54 80a63fe: 6013 str r3, [r2, #0] TF *= Delta_SPC[pardata.FRQ][pardata.LNE]; 80a6400: 4b73 ldr r3, [pc, #460] ; (80a65d0 ) 80a6402: 7adb ldrb r3, [r3, #11] 80a6404: b2db uxtb r3, r3 80a6406: 4618 mov r0, r3 80a6408: 4b71 ldr r3, [pc, #452] ; (80a65d0 ) 80a640a: 79db ldrb r3, [r3, #7] 80a640c: b2db uxtb r3, r3 80a640e: 4619 mov r1, r3 80a6410: 4a79 ldr r2, [pc, #484] ; (80a65f8 ) 80a6412: 0083 lsls r3, r0, #2 80a6414: 440b add r3, r1 80a6416: 009b lsls r3, r3, #2 80a6418: 4413 add r3, r2 80a641a: ed93 7a00 vldr s14, [r3] 80a641e: 4b75 ldr r3, [pc, #468] ; (80a65f4 ) 80a6420: edd3 7a00 vldr s15, [r3] 80a6424: ee67 7a27 vmul.f32 s15, s14, s15 80a6428: 4b72 ldr r3, [pc, #456] ; (80a65f4 ) 80a642a: edc3 7a00 vstr s15, [r3] oldTF = TF; 80a642e: 4b71 ldr r3, [pc, #452] ; (80a65f4 ) 80a6430: 681b ldr r3, [r3, #0] 80a6432: 4a72 ldr r2, [pc, #456] ; (80a65fc ) 80a6434: 6013 str r3, [r2, #0] tmpF = TF; 80a6436: 4b6f ldr r3, [pc, #444] ; (80a65f4 ) 80a6438: 681b ldr r3, [r3, #0] 80a643a: 657b str r3, [r7, #84] ; 0x54 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a643c: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a6440: 486f ldr r0, [pc, #444] ; (80a6600 ) 80a6442: f7ae fee3 bl 805520c if(pardata.LANG == RUS) 80a6446: 4b62 ldr r3, [pc, #392] ; (80a65d0 ) 80a6448: 7b1b ldrb r3, [r3, #12] 80a644a: b2db uxtb r3, r3 80a644c: 2b00 cmp r3, #0 80a644e: d107 bne.n 80a6460 BSP_LCD_DisplayStringAt(305, 45, "$%", LEFT_MODE); 80a6450: 2303 movs r3, #3 80a6452: 4a6c ldr r2, [pc, #432] ; (80a6604 ) 80a6454: 212d movs r1, #45 ; 0x2d 80a6456: f240 1031 movw r0, #305 ; 0x131 80a645a: f7ae ff9d bl 8055398 80a645e: e006 b.n 80a646e else BSP_LCD_DisplayStringAt(305, 45, "Hz", LEFT_MODE); 80a6460: 2303 movs r3, #3 80a6462: 4a69 ldr r2, [pc, #420] ; (80a6608 ) 80a6464: 212d movs r1, #45 ; 0x2d 80a6466: f240 1031 movw r0, #305 ; 0x131 80a646a: f7ae ff95 bl 8055398 if(tmpF < 10.0f) BSP_LCD_DisplayStringAt(302, 45, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a646e: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a6472: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a6476: eef4 7ac7 vcmpe.f32 s15, s14 80a647a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a647e: d50d bpl.n 80a649c 80a6480: f06f 0003 mvn.w r0, #3 80a6484: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a6488: f7c1 fe8a bl 80681a0 80a648c: 4602 mov r2, r0 80a648e: 2302 movs r3, #2 80a6490: 212d movs r1, #45 ; 0x2d 80a6492: f44f 7097 mov.w r0, #302 ; 0x12e 80a6496: f7ae ff7f bl 8055398 80a649a: e023 b.n 80a64e4 else if(tmpF < 100.0f) BSP_LCD_DisplayStringAt(302, 45, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a649c: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a64a0: ed9f 7a5a vldr s14, [pc, #360] ; 80a660c 80a64a4: eef4 7ac7 vcmpe.f32 s15, s14 80a64a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a64ac: d50d bpl.n 80a64ca 80a64ae: f06f 0002 mvn.w r0, #2 80a64b2: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a64b6: f7c1 fe73 bl 80681a0 80a64ba: 4602 mov r2, r0 80a64bc: 2302 movs r3, #2 80a64be: 212d movs r1, #45 ; 0x2d 80a64c0: f44f 7097 mov.w r0, #302 ; 0x12e 80a64c4: f7ae ff68 bl 8055398 80a64c8: e00c b.n 80a64e4 else BSP_LCD_DisplayStringAt(302, 45, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a64ca: f06f 0001 mvn.w r0, #1 80a64ce: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a64d2: f7c1 fe65 bl 80681a0 80a64d6: 4602 mov r2, r0 80a64d8: 2302 movs r3, #2 80a64da: 212d movs r1, #45 ; 0x2d 80a64dc: f44f 7097 mov.w r0, #302 ; 0x12e 80a64e0: f7ae ff5a bl 8055398 for(i = 0; i < 2; i++) 80a64e4: 2300 movs r3, #0 80a64e6: 66fb str r3, [r7, #108] ; 0x6c 80a64e8: e2b7 b.n 80a6a5a if(DynamicCursor[i].Enabled) 80a64ea: 4a49 ldr r2, [pc, #292] ; (80a6610 ) 80a64ec: 6efb ldr r3, [r7, #108] ; 0x6c 80a64ee: 011b lsls r3, r3, #4 80a64f0: 4413 add r3, r2 80a64f2: 781b ldrb r3, [r3, #0] 80a64f4: 2b00 cmp r3, #0 80a64f6: f000 82ad beq.w 80a6a54 arm_max_f32(&ScrA_f32(DynamicCursor[i].Mpos), avgSPC[ViewLevel][pardata.LNE], &maxf, &n2); 80a64fa: 4a45 ldr r2, [pc, #276] ; (80a6610 ) 80a64fc: 6efb ldr r3, [r7, #108] ; 0x6c 80a64fe: 011b lsls r3, r3, #4 80a6500: 4413 add r3, r2 80a6502: 3304 adds r3, #4 80a6504: 881b ldrh r3, [r3, #0] 80a6506: 009b lsls r3, r3, #2 80a6508: 461a mov r2, r3 80a650a: 4b38 ldr r3, [pc, #224] ; (80a65ec ) 80a650c: 4413 add r3, r2 80a650e: 461c mov r4, r3 80a6510: 4b32 ldr r3, [pc, #200] ; (80a65dc ) 80a6512: 781b ldrb r3, [r3, #0] 80a6514: b2db uxtb r3, r3 80a6516: 4618 mov r0, r3 80a6518: 4b2d ldr r3, [pc, #180] ; (80a65d0 ) 80a651a: 79db ldrb r3, [r3, #7] 80a651c: b2db uxtb r3, r3 80a651e: 4619 mov r1, r3 80a6520: 4a2f ldr r2, [pc, #188] ; (80a65e0 ) 80a6522: 0083 lsls r3, r0, #2 80a6524: 4413 add r3, r2 80a6526: 440b add r3, r1 80a6528: 781b ldrb r3, [r3, #0] 80a652a: 4619 mov r1, r3 80a652c: f107 0348 add.w r3, r7, #72 ; 0x48 80a6530: f107 0240 add.w r2, r7, #64 ; 0x40 80a6534: 4620 mov r0, r4 80a6536: f028 fd6d bl 80cf014 arm_min_f32(&ScrA_f32(DynamicCursor[i].Mpos), avgSPC[ViewLevel][pardata.LNE], &minf, &n1); 80a653a: 4a35 ldr r2, [pc, #212] ; (80a6610 ) 80a653c: 6efb ldr r3, [r7, #108] ; 0x6c 80a653e: 011b lsls r3, r3, #4 80a6540: 4413 add r3, r2 80a6542: 3304 adds r3, #4 80a6544: 881b ldrh r3, [r3, #0] 80a6546: 009b lsls r3, r3, #2 80a6548: 461a mov r2, r3 80a654a: 4b28 ldr r3, [pc, #160] ; (80a65ec ) 80a654c: 4413 add r3, r2 80a654e: 461c mov r4, r3 80a6550: 4b22 ldr r3, [pc, #136] ; (80a65dc ) 80a6552: 781b ldrb r3, [r3, #0] 80a6554: b2db uxtb r3, r3 80a6556: 4618 mov r0, r3 80a6558: 4b1d ldr r3, [pc, #116] ; (80a65d0 ) 80a655a: 79db ldrb r3, [r3, #7] 80a655c: b2db uxtb r3, r3 80a655e: 4619 mov r1, r3 80a6560: 4a1f ldr r2, [pc, #124] ; (80a65e0 ) 80a6562: 0083 lsls r3, r0, #2 80a6564: 4413 add r3, r2 80a6566: 440b add r3, r1 80a6568: 781b ldrb r3, [r3, #0] 80a656a: 4619 mov r1, r3 80a656c: f107 034c add.w r3, r7, #76 ; 0x4c 80a6570: f107 0244 add.w r2, r7, #68 ; 0x44 80a6574: 4620 mov r0, r4 80a6576: f028 fcb1 bl 80ceedc if(ABS(maxf) < ABS(minf)) 80a657a: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a657e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a6582: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6586: dd02 ble.n 80a658e 80a6588: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80a658c: e003 b.n 80a6596 80a658e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a6592: eeb1 7a67 vneg.f32 s14, s15 80a6596: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a659a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a659e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a65a2: dd02 ble.n 80a65aa 80a65a4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a65a8: e003 b.n 80a65b2 80a65aa: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a65ae: eef1 7a67 vneg.f32 s15, s15 80a65b2: eeb4 7ae7 vcmpe.f32 s14, s15 80a65b6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a65ba: d52d bpl.n 80a6618 CurVal = minf; 80a65bc: 6c7b ldr r3, [r7, #68] ; 0x44 80a65be: 4a15 ldr r2, [pc, #84] ; (80a6614 ) 80a65c0: 6013 str r3, [r2, #0] l = n1; 80a65c2: 6cfb ldr r3, [r7, #76] ; 0x4c 80a65c4: 653b str r3, [r7, #80] ; 0x50 80a65c6: e02c b.n 80a6622 80a65c8: 20020dd2 .word 0x20020dd2 80a65cc: 20020060 .word 0x20020060 80a65d0: 20023eb8 .word 0x20023eb8 80a65d4: 20025d6e .word 0x20025d6e 80a65d8: 64090000 .word 0x64090000 80a65dc: 20020fc0 .word 0x20020fc0 80a65e0: 080f5fec .word 0x080f5fec 80a65e4: 080d74f8 .word 0x080d74f8 80a65e8: ff26a01f .word 0xff26a01f 80a65ec: 64080000 .word 0x64080000 80a65f0: 20025d74 .word 0x20025d74 80a65f4: 200215c0 .word 0x200215c0 80a65f8: 080f60cc .word 0x080f60cc 80a65fc: 20021698 .word 0x20021698 80a6600: ff808080 .word 0xff808080 80a6604: 080d74fc .word 0x080d74fc 80a6608: 080d7500 .word 0x080d7500 80a660c: 42c80000 .word 0x42c80000 80a6610: 20020f94 .word 0x20020f94 80a6614: 200215bc .word 0x200215bc CurVal = maxf; 80a6618: 6c3b ldr r3, [r7, #64] ; 0x40 80a661a: 4a81 ldr r2, [pc, #516] ; (80a6820 ) 80a661c: 6013 str r3, [r2, #0] l = n2; 80a661e: 6cbb ldr r3, [r7, #72] ; 0x48 80a6620: 653b str r3, [r7, #80] ; 0x50 DynamicCursor[i].fineMpos = DynamicCursor[i].Mpos + l; 80a6622: 4a80 ldr r2, [pc, #512] ; (80a6824 ) 80a6624: 6efb ldr r3, [r7, #108] ; 0x6c 80a6626: 011b lsls r3, r3, #4 80a6628: 4413 add r3, r2 80a662a: 3304 adds r3, #4 80a662c: 881a ldrh r2, [r3, #0] 80a662e: 6d3b ldr r3, [r7, #80] ; 0x50 80a6630: b29b uxth r3, r3 80a6632: 4413 add r3, r2 80a6634: b299 uxth r1, r3 80a6636: 4a7b ldr r2, [pc, #492] ; (80a6824 ) 80a6638: 6efb ldr r3, [r7, #108] ; 0x6c 80a663a: 011b lsls r3, r3, #4 80a663c: 4413 add r3, r2 80a663e: 3306 adds r3, #6 80a6640: 460a mov r2, r1 80a6642: 801a strh r2, [r3, #0] tmpF = (float32_t) DynamicCursor[i].fineMpos; 80a6644: 4a77 ldr r2, [pc, #476] ; (80a6824 ) 80a6646: 6efb ldr r3, [r7, #108] ; 0x6c 80a6648: 011b lsls r3, r3, #4 80a664a: 4413 add r3, r2 80a664c: 3306 adds r3, #6 80a664e: 881b ldrh r3, [r3, #0] 80a6650: ee07 3a90 vmov s15, r3 80a6654: eef8 7a67 vcvt.f32.u32 s15, s15 80a6658: edc7 7a15 vstr s15, [r7, #84] ; 0x54 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a665c: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a6660: 4871 ldr r0, [pc, #452] ; (80a6828 ) 80a6662: f7ae fdd3 bl 805520c DynamicCursor[i].val_Y = CurVal; 80a6666: 4b6e ldr r3, [pc, #440] ; (80a6820 ) 80a6668: 681a ldr r2, [r3, #0] 80a666a: 496e ldr r1, [pc, #440] ; (80a6824 ) 80a666c: 6efb ldr r3, [r7, #108] ; 0x6c 80a666e: 011b lsls r3, r3, #4 80a6670: 440b add r3, r1 80a6672: 330c adds r3, #12 80a6674: 601a str r2, [r3, #0] Val = DynamicCursor[i].val_Y; 80a6676: 4a6b ldr r2, [pc, #428] ; (80a6824 ) 80a6678: 6efb ldr r3, [r7, #108] ; 0x6c 80a667a: 011b lsls r3, r3, #4 80a667c: 4413 add r3, r2 80a667e: 330c adds r3, #12 80a6680: 681b ldr r3, [r3, #0] 80a6682: 63fb str r3, [r7, #60] ; 0x3c BSP_LCD_DisplayStringAt(160, 53 + 8 * i, "dB", LEFT_MODE); 80a6684: 6efb ldr r3, [r7, #108] ; 0x6c 80a6686: b29b uxth r3, r3 80a6688: 00db lsls r3, r3, #3 80a668a: b29b uxth r3, r3 80a668c: 3335 adds r3, #53 ; 0x35 80a668e: b299 uxth r1, r3 80a6690: 2303 movs r3, #3 80a6692: 4a66 ldr r2, [pc, #408] ; (80a682c ) 80a6694: 20a0 movs r0, #160 ; 0xa0 80a6696: f7ae fe7f bl 8055398 BSP_LCD_DisplayStringAt(160-3, 53 + 8 * i, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a669a: 6efb ldr r3, [r7, #108] ; 0x6c 80a669c: b29b uxth r3, r3 80a669e: 00db lsls r3, r3, #3 80a66a0: b29b uxth r3, r3 80a66a2: 3335 adds r3, #53 ; 0x35 80a66a4: b29c uxth r4, r3 80a66a6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a66aa: f04f 30ff mov.w r0, #4294967295 80a66ae: eeb0 0a67 vmov.f32 s0, s15 80a66b2: f7c1 fd75 bl 80681a0 80a66b6: 4602 mov r2, r0 80a66b8: 2302 movs r3, #2 80a66ba: 4621 mov r1, r4 80a66bc: 209d movs r0, #157 ; 0x9d 80a66be: f7ae fe6b bl 8055398 l = strlen((char *)FloatToASCII(Val, -3)); 80a66c2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a66c6: f06f 0002 mvn.w r0, #2 80a66ca: eeb0 0a67 vmov.f32 s0, s15 80a66ce: f7c1 fd67 bl 80681a0 80a66d2: 4603 mov r3, r0 80a66d4: 4618 mov r0, r3 80a66d6: f779 fe1d bl 8020314 80a66da: 4603 mov r3, r0 80a66dc: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a66de: 6d3a ldr r2, [r7, #80] ; 0x50 80a66e0: 4613 mov r3, r2 80a66e2: 009b lsls r3, r3, #2 80a66e4: 4413 add r3, r2 80a66e6: 3306 adds r3, #6 80a66e8: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a66ea: 4b51 ldr r3, [pc, #324] ; (80a6830 ) 80a66ec: 781b ldrb r3, [r3, #0] 80a66ee: 2b2d cmp r3, #45 ; 0x2d 80a66f0: d102 bne.n 80a66f8 80a66f2: 6d3b ldr r3, [r7, #80] ; 0x50 80a66f4: 3b05 subs r3, #5 80a66f6: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80a66f8: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a66fc: 484d ldr r0, [pc, #308] ; (80a6834 ) 80a66fe: f7ae fd85 bl 805520c if(!i) BSP_LCD_DisplayStringAt(157 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80a6702: 6efb ldr r3, [r7, #108] ; 0x6c 80a6704: 2b00 cmp r3, #0 80a6706: d10f bne.n 80a6728 80a6708: 6d3b ldr r3, [r7, #80] ; 0x50 80a670a: b29b uxth r3, r3 80a670c: f1c3 039d rsb r3, r3, #157 ; 0x9d 80a6710: b298 uxth r0, r3 80a6712: 6efb ldr r3, [r7, #108] ; 0x6c 80a6714: b29b uxth r3, r3 80a6716: 00db lsls r3, r3, #3 80a6718: b29b uxth r3, r3 80a671a: 3335 adds r3, #53 ; 0x35 80a671c: b299 uxth r1, r3 80a671e: 2302 movs r3, #2 80a6720: 4a45 ldr r2, [pc, #276] ; (80a6838 ) 80a6722: f7ae fe39 bl 8055398 80a6726: e00e b.n 80a6746 else BSP_LCD_DisplayStringAt(157 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80a6728: 6d3b ldr r3, [r7, #80] ; 0x50 80a672a: b29b uxth r3, r3 80a672c: f1c3 039d rsb r3, r3, #157 ; 0x9d 80a6730: b298 uxth r0, r3 80a6732: 6efb ldr r3, [r7, #108] ; 0x6c 80a6734: b29b uxth r3, r3 80a6736: 00db lsls r3, r3, #3 80a6738: b29b uxth r3, r3 80a673a: 3335 adds r3, #53 ; 0x35 80a673c: b299 uxth r1, r3 80a673e: 2302 movs r3, #2 80a6740: 4a3e ldr r2, [pc, #248] ; (80a683c ) 80a6742: f7ae fe29 bl 8055398 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a6746: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a674a: 4837 ldr r0, [pc, #220] ; (80a6828 ) 80a674c: f7ae fd5e bl 805520c arm_max_f32(&CmplxA_f32(DynamicCursor[i].Mpos), avgSPC[ViewLevel][pardata.LNE], &maxf, &n2); 80a6750: 4a34 ldr r2, [pc, #208] ; (80a6824 ) 80a6752: 6efb ldr r3, [r7, #108] ; 0x6c 80a6754: 011b lsls r3, r3, #4 80a6756: 4413 add r3, r2 80a6758: 3304 adds r3, #4 80a675a: 881b ldrh r3, [r3, #0] 80a675c: 009b lsls r3, r3, #2 80a675e: 461a mov r2, r3 80a6760: 4b37 ldr r3, [pc, #220] ; (80a6840 ) 80a6762: 4413 add r3, r2 80a6764: 461c mov r4, r3 80a6766: 4b37 ldr r3, [pc, #220] ; (80a6844 ) 80a6768: 781b ldrb r3, [r3, #0] 80a676a: b2db uxtb r3, r3 80a676c: 4618 mov r0, r3 80a676e: 4b36 ldr r3, [pc, #216] ; (80a6848 ) 80a6770: 79db ldrb r3, [r3, #7] 80a6772: b2db uxtb r3, r3 80a6774: 4619 mov r1, r3 80a6776: 4a35 ldr r2, [pc, #212] ; (80a684c ) 80a6778: 0083 lsls r3, r0, #2 80a677a: 4413 add r3, r2 80a677c: 440b add r3, r1 80a677e: 781b ldrb r3, [r3, #0] 80a6780: 4619 mov r1, r3 80a6782: f107 0348 add.w r3, r7, #72 ; 0x48 80a6786: f107 0240 add.w r2, r7, #64 ; 0x40 80a678a: 4620 mov r0, r4 80a678c: f028 fc42 bl 80cf014 arm_min_f32(&CmplxA_f32(DynamicCursor[i].Mpos), avgSPC[ViewLevel][pardata.LNE], &minf, &n1); 80a6790: 4a24 ldr r2, [pc, #144] ; (80a6824 ) 80a6792: 6efb ldr r3, [r7, #108] ; 0x6c 80a6794: 011b lsls r3, r3, #4 80a6796: 4413 add r3, r2 80a6798: 3304 adds r3, #4 80a679a: 881b ldrh r3, [r3, #0] 80a679c: 009b lsls r3, r3, #2 80a679e: 461a mov r2, r3 80a67a0: 4b27 ldr r3, [pc, #156] ; (80a6840 ) 80a67a2: 4413 add r3, r2 80a67a4: 461c mov r4, r3 80a67a6: 4b27 ldr r3, [pc, #156] ; (80a6844 ) 80a67a8: 781b ldrb r3, [r3, #0] 80a67aa: b2db uxtb r3, r3 80a67ac: 4618 mov r0, r3 80a67ae: 4b26 ldr r3, [pc, #152] ; (80a6848 ) 80a67b0: 79db ldrb r3, [r3, #7] 80a67b2: b2db uxtb r3, r3 80a67b4: 4619 mov r1, r3 80a67b6: 4a25 ldr r2, [pc, #148] ; (80a684c ) 80a67b8: 0083 lsls r3, r0, #2 80a67ba: 4413 add r3, r2 80a67bc: 440b add r3, r1 80a67be: 781b ldrb r3, [r3, #0] 80a67c0: 4619 mov r1, r3 80a67c2: f107 034c add.w r3, r7, #76 ; 0x4c 80a67c6: f107 0244 add.w r2, r7, #68 ; 0x44 80a67ca: 4620 mov r0, r4 80a67cc: f028 fb86 bl 80ceedc if(ABS(maxf) < ABS(minf)) 80a67d0: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a67d4: eef5 7ac0 vcmpe.f32 s15, #0.0 80a67d8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a67dc: dd02 ble.n 80a67e4 80a67de: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80a67e2: e003 b.n 80a67ec 80a67e4: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a67e8: eeb1 7a67 vneg.f32 s14, s15 80a67ec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a67f0: eef5 7ac0 vcmpe.f32 s15, #0.0 80a67f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a67f8: dd02 ble.n 80a6800 80a67fa: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a67fe: e003 b.n 80a6808 80a6800: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a6804: eef1 7a67 vneg.f32 s15, s15 80a6808: eeb4 7ae7 vcmpe.f32 s14, s15 80a680c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6810: d51e bpl.n 80a6850 CurVal = minf; 80a6812: 6c7b ldr r3, [r7, #68] ; 0x44 80a6814: 4a02 ldr r2, [pc, #8] ; (80a6820 ) 80a6816: 6013 str r3, [r2, #0] l = n1; 80a6818: 6cfb ldr r3, [r7, #76] ; 0x4c 80a681a: 653b str r3, [r7, #80] ; 0x50 80a681c: e01d b.n 80a685a 80a681e: bf00 nop 80a6820: 200215bc .word 0x200215bc 80a6824: 20020f94 .word 0x20020f94 80a6828: ff26a01f .word 0xff26a01f 80a682c: 080d74f8 .word 0x080d74f8 80a6830: 20026d18 .word 0x20026d18 80a6834: ffffa500 .word 0xffffa500 80a6838: 080d7504 .word 0x080d7504 80a683c: 080d7508 .word 0x080d7508 80a6840: 64090000 .word 0x64090000 80a6844: 20020fc0 .word 0x20020fc0 80a6848: 20023eb8 .word 0x20023eb8 80a684c: 080f5fec .word 0x080f5fec CurVal = maxf; 80a6850: 6c3b ldr r3, [r7, #64] ; 0x40 80a6852: 4abb ldr r2, [pc, #748] ; (80a6b40 ) 80a6854: 6013 str r3, [r2, #0] l = n2; 80a6856: 6cbb ldr r3, [r7, #72] ; 0x48 80a6858: 653b str r3, [r7, #80] ; 0x50 DynamicCursor[i].fineMpos = DynamicCursor[i].Mpos + l; 80a685a: 4aba ldr r2, [pc, #744] ; (80a6b44 ) 80a685c: 6efb ldr r3, [r7, #108] ; 0x6c 80a685e: 011b lsls r3, r3, #4 80a6860: 4413 add r3, r2 80a6862: 3304 adds r3, #4 80a6864: 881a ldrh r2, [r3, #0] 80a6866: 6d3b ldr r3, [r7, #80] ; 0x50 80a6868: b29b uxth r3, r3 80a686a: 4413 add r3, r2 80a686c: b299 uxth r1, r3 80a686e: 4ab5 ldr r2, [pc, #724] ; (80a6b44 ) 80a6870: 6efb ldr r3, [r7, #108] ; 0x6c 80a6872: 011b lsls r3, r3, #4 80a6874: 4413 add r3, r2 80a6876: 3306 adds r3, #6 80a6878: 460a mov r2, r1 80a687a: 801a strh r2, [r3, #0] tmpF = (float32_t) DynamicCursor[i].fineMpos; 80a687c: 4ab1 ldr r2, [pc, #708] ; (80a6b44 ) 80a687e: 6efb ldr r3, [r7, #108] ; 0x6c 80a6880: 011b lsls r3, r3, #4 80a6882: 4413 add r3, r2 80a6884: 3306 adds r3, #6 80a6886: 881b ldrh r3, [r3, #0] 80a6888: ee07 3a90 vmov s15, r3 80a688c: eef8 7a67 vcvt.f32.u32 s15, s15 80a6890: edc7 7a15 vstr s15, [r7, #84] ; 0x54 LCD_SetColors(LCD_COLOR_WHITE, 0xFF000000); 80a6894: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a6898: f04f 30ff mov.w r0, #4294967295 80a689c: f7ae fcb6 bl 805520c DynamicCursor[i].val_Y = CurVal; 80a68a0: 4ba7 ldr r3, [pc, #668] ; (80a6b40 ) 80a68a2: 681a ldr r2, [r3, #0] 80a68a4: 49a7 ldr r1, [pc, #668] ; (80a6b44 ) 80a68a6: 6efb ldr r3, [r7, #108] ; 0x6c 80a68a8: 011b lsls r3, r3, #4 80a68aa: 440b add r3, r1 80a68ac: 330c adds r3, #12 80a68ae: 601a str r2, [r3, #0] Val = DynamicCursor[i].val_Y; 80a68b0: 4aa4 ldr r2, [pc, #656] ; (80a6b44 ) 80a68b2: 6efb ldr r3, [r7, #108] ; 0x6c 80a68b4: 011b lsls r3, r3, #4 80a68b6: 4413 add r3, r2 80a68b8: 330c adds r3, #12 80a68ba: 681b ldr r3, [r3, #0] 80a68bc: 63fb str r3, [r7, #60] ; 0x3c BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "dB", LEFT_MODE); 80a68be: 6efb ldr r3, [r7, #108] ; 0x6c 80a68c0: b29b uxth r3, r3 80a68c2: 00db lsls r3, r3, #3 80a68c4: b29b uxth r3, r3 80a68c6: 3335 adds r3, #53 ; 0x35 80a68c8: b299 uxth r1, r3 80a68ca: 2303 movs r3, #3 80a68cc: 4a9e ldr r2, [pc, #632] ; (80a6b48 ) 80a68ce: 20dc movs r0, #220 ; 0xdc 80a68d0: f7ae fd62 bl 8055398 BSP_LCD_DisplayStringAt(220-3, 53 + 8 * i, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a68d4: 6efb ldr r3, [r7, #108] ; 0x6c 80a68d6: b29b uxth r3, r3 80a68d8: 00db lsls r3, r3, #3 80a68da: b29b uxth r3, r3 80a68dc: 3335 adds r3, #53 ; 0x35 80a68de: b29c uxth r4, r3 80a68e0: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a68e4: f04f 30ff mov.w r0, #4294967295 80a68e8: eeb0 0a67 vmov.f32 s0, s15 80a68ec: f7c1 fc58 bl 80681a0 80a68f0: 4602 mov r2, r0 80a68f2: 2302 movs r3, #2 80a68f4: 4621 mov r1, r4 80a68f6: 20d9 movs r0, #217 ; 0xd9 80a68f8: f7ae fd4e bl 8055398 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a68fc: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a6900: 4892 ldr r0, [pc, #584] ; (80a6b4c ) 80a6902: f7ae fc83 bl 805520c tmpF = (float32_t) DynamicCursor[i].fineMpos; 80a6906: 4a8f ldr r2, [pc, #572] ; (80a6b44 ) 80a6908: 6efb ldr r3, [r7, #108] ; 0x6c 80a690a: 011b lsls r3, r3, #4 80a690c: 4413 add r3, r2 80a690e: 3306 adds r3, #6 80a6910: 881b ldrh r3, [r3, #0] 80a6912: ee07 3a90 vmov s15, r3 80a6916: eef8 7a67 vcvt.f32.u32 s15, s15 80a691a: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(tmpF != TF) 80a691e: 4b8c ldr r3, [pc, #560] ; (80a6b50 ) 80a6920: edd3 7a00 vldr s15, [r3] 80a6924: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80a6928: eeb4 7a67 vcmp.f32 s14, s15 80a692c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6930: d01d beq.n 80a696e TF = tmpF; 80a6932: 4a87 ldr r2, [pc, #540] ; (80a6b50 ) 80a6934: 6d7b ldr r3, [r7, #84] ; 0x54 80a6936: 6013 str r3, [r2, #0] TF *= Delta_SPC[pardata.FRQ][pardata.LNE]; 80a6938: 4b86 ldr r3, [pc, #536] ; (80a6b54 ) 80a693a: 7adb ldrb r3, [r3, #11] 80a693c: b2db uxtb r3, r3 80a693e: 4618 mov r0, r3 80a6940: 4b84 ldr r3, [pc, #528] ; (80a6b54 ) 80a6942: 79db ldrb r3, [r3, #7] 80a6944: b2db uxtb r3, r3 80a6946: 4619 mov r1, r3 80a6948: 4a83 ldr r2, [pc, #524] ; (80a6b58 ) 80a694a: 0083 lsls r3, r0, #2 80a694c: 440b add r3, r1 80a694e: 009b lsls r3, r3, #2 80a6950: 4413 add r3, r2 80a6952: ed93 7a00 vldr s14, [r3] 80a6956: 4b7e ldr r3, [pc, #504] ; (80a6b50 ) 80a6958: edd3 7a00 vldr s15, [r3] 80a695c: ee67 7a27 vmul.f32 s15, s14, s15 80a6960: 4b7b ldr r3, [pc, #492] ; (80a6b50 ) 80a6962: edc3 7a00 vstr s15, [r3] oldTF = TF; 80a6966: 4b7a ldr r3, [pc, #488] ; (80a6b50 ) 80a6968: 681b ldr r3, [r3, #0] 80a696a: 4a7c ldr r2, [pc, #496] ; (80a6b5c ) 80a696c: 6013 str r3, [r2, #0] tmpF = TF; 80a696e: 4b78 ldr r3, [pc, #480] ; (80a6b50 ) 80a6970: 681b ldr r3, [r3, #0] 80a6972: 657b str r3, [r7, #84] ; 0x54 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a6974: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a6978: 4874 ldr r0, [pc, #464] ; (80a6b4c ) 80a697a: f7ae fc47 bl 805520c if(pardata.LANG == RUS) 80a697e: 4b75 ldr r3, [pc, #468] ; (80a6b54 ) 80a6980: 7b1b ldrb r3, [r3, #12] 80a6982: b2db uxtb r3, r3 80a6984: 2b00 cmp r3, #0 80a6986: d10c bne.n 80a69a2 BSP_LCD_DisplayStringAt(305, 53 + 8 * i, "$%", LEFT_MODE); 80a6988: 6efb ldr r3, [r7, #108] ; 0x6c 80a698a: b29b uxth r3, r3 80a698c: 00db lsls r3, r3, #3 80a698e: b29b uxth r3, r3 80a6990: 3335 adds r3, #53 ; 0x35 80a6992: b299 uxth r1, r3 80a6994: 2303 movs r3, #3 80a6996: 4a72 ldr r2, [pc, #456] ; (80a6b60 ) 80a6998: f240 1031 movw r0, #305 ; 0x131 80a699c: f7ae fcfc bl 8055398 80a69a0: e00b b.n 80a69ba else BSP_LCD_DisplayStringAt(305, 53 + 8 * i, "Hz", LEFT_MODE); 80a69a2: 6efb ldr r3, [r7, #108] ; 0x6c 80a69a4: b29b uxth r3, r3 80a69a6: 00db lsls r3, r3, #3 80a69a8: b29b uxth r3, r3 80a69aa: 3335 adds r3, #53 ; 0x35 80a69ac: b299 uxth r1, r3 80a69ae: 2303 movs r3, #3 80a69b0: 4a6c ldr r2, [pc, #432] ; (80a6b64 ) 80a69b2: f240 1031 movw r0, #305 ; 0x131 80a69b6: f7ae fcef bl 8055398 if(tmpF < 10.0f) BSP_LCD_DisplayStringAt(302, 53 + 8 * i, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a69ba: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a69be: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a69c2: eef4 7ac7 vcmpe.f32 s15, s14 80a69c6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a69ca: d513 bpl.n 80a69f4 80a69cc: 6efb ldr r3, [r7, #108] ; 0x6c 80a69ce: b29b uxth r3, r3 80a69d0: 00db lsls r3, r3, #3 80a69d2: b29b uxth r3, r3 80a69d4: 3335 adds r3, #53 ; 0x35 80a69d6: b29c uxth r4, r3 80a69d8: f06f 0003 mvn.w r0, #3 80a69dc: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a69e0: f7c1 fbde bl 80681a0 80a69e4: 4602 mov r2, r0 80a69e6: 2302 movs r3, #2 80a69e8: 4621 mov r1, r4 80a69ea: f44f 7097 mov.w r0, #302 ; 0x12e 80a69ee: f7ae fcd3 bl 8055398 80a69f2: e02f b.n 80a6a54 else if(tmpF < 100.0f) BSP_LCD_DisplayStringAt(302, 53 + 8 * i, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a69f4: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a69f8: ed9f 7a5b vldr s14, [pc, #364] ; 80a6b68 80a69fc: eef4 7ac7 vcmpe.f32 s15, s14 80a6a00: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6a04: d513 bpl.n 80a6a2e 80a6a06: 6efb ldr r3, [r7, #108] ; 0x6c 80a6a08: b29b uxth r3, r3 80a6a0a: 00db lsls r3, r3, #3 80a6a0c: b29b uxth r3, r3 80a6a0e: 3335 adds r3, #53 ; 0x35 80a6a10: b29c uxth r4, r3 80a6a12: f06f 0002 mvn.w r0, #2 80a6a16: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a6a1a: f7c1 fbc1 bl 80681a0 80a6a1e: 4602 mov r2, r0 80a6a20: 2302 movs r3, #2 80a6a22: 4621 mov r1, r4 80a6a24: f44f 7097 mov.w r0, #302 ; 0x12e 80a6a28: f7ae fcb6 bl 8055398 80a6a2c: e012 b.n 80a6a54 else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a6a2e: 6efb ldr r3, [r7, #108] ; 0x6c 80a6a30: b29b uxth r3, r3 80a6a32: 00db lsls r3, r3, #3 80a6a34: b29b uxth r3, r3 80a6a36: 3335 adds r3, #53 ; 0x35 80a6a38: b29c uxth r4, r3 80a6a3a: f06f 0001 mvn.w r0, #1 80a6a3e: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a6a42: f7c1 fbad bl 80681a0 80a6a46: 4602 mov r2, r0 80a6a48: 2302 movs r3, #2 80a6a4a: 4621 mov r1, r4 80a6a4c: f44f 7097 mov.w r0, #302 ; 0x12e 80a6a50: f7ae fca2 bl 8055398 for(i = 0; i < 2; i++) 80a6a54: 6efb ldr r3, [r7, #108] ; 0x6c 80a6a56: 3301 adds r3, #1 80a6a58: 66fb str r3, [r7, #108] ; 0x6c 80a6a5a: 6efb ldr r3, [r7, #108] ; 0x6c 80a6a5c: 2b01 cmp r3, #1 80a6a5e: f67f ad44 bls.w 80a64ea } 80a6a62: f003 bcc7 b.w 80aa3f4 if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB)) 80a6a66: 4b3b ldr r3, [pc, #236] ; (80a6b54 ) 80a6a68: 781b ldrb r3, [r3, #0] 80a6a6a: b2db uxtb r3, r3 80a6a6c: 2b01 cmp r3, #1 80a6a6e: d005 beq.n 80a6a7c 80a6a70: 4b38 ldr r3, [pc, #224] ; (80a6b54 ) 80a6a72: 781b ldrb r3, [r3, #0] 80a6a74: b2db uxtb r3, r3 80a6a76: 2b05 cmp r3, #5 80a6a78: f041 82b8 bne.w 80a7fec arm_max_f32(&ScrA_f32(Mpos), avgSPC[ViewLevel][pardata.LNE], &maxf, &n2); 80a6a7c: 4b3b ldr r3, [pc, #236] ; (80a6b6c ) 80a6a7e: 881b ldrh r3, [r3, #0] 80a6a80: b29b uxth r3, r3 80a6a82: 009b lsls r3, r3, #2 80a6a84: 461a mov r2, r3 80a6a86: 4b3a ldr r3, [pc, #232] ; (80a6b70 ) 80a6a88: 4413 add r3, r2 80a6a8a: 461c mov r4, r3 80a6a8c: 4b39 ldr r3, [pc, #228] ; (80a6b74 ) 80a6a8e: 781b ldrb r3, [r3, #0] 80a6a90: b2db uxtb r3, r3 80a6a92: 4618 mov r0, r3 80a6a94: 4b2f ldr r3, [pc, #188] ; (80a6b54 ) 80a6a96: 79db ldrb r3, [r3, #7] 80a6a98: b2db uxtb r3, r3 80a6a9a: 4619 mov r1, r3 80a6a9c: 4a36 ldr r2, [pc, #216] ; (80a6b78 ) 80a6a9e: 0083 lsls r3, r0, #2 80a6aa0: 4413 add r3, r2 80a6aa2: 440b add r3, r1 80a6aa4: 781b ldrb r3, [r3, #0] 80a6aa6: 4619 mov r1, r3 80a6aa8: f107 0348 add.w r3, r7, #72 ; 0x48 80a6aac: f107 0240 add.w r2, r7, #64 ; 0x40 80a6ab0: 4620 mov r0, r4 80a6ab2: f028 faaf bl 80cf014 arm_min_f32(&ScrA_f32(Mpos), avgSPC[ViewLevel][pardata.LNE], &minf, &n1); 80a6ab6: 4b2d ldr r3, [pc, #180] ; (80a6b6c ) 80a6ab8: 881b ldrh r3, [r3, #0] 80a6aba: b29b uxth r3, r3 80a6abc: 009b lsls r3, r3, #2 80a6abe: 461a mov r2, r3 80a6ac0: 4b2b ldr r3, [pc, #172] ; (80a6b70 ) 80a6ac2: 4413 add r3, r2 80a6ac4: 461c mov r4, r3 80a6ac6: 4b2b ldr r3, [pc, #172] ; (80a6b74 ) 80a6ac8: 781b ldrb r3, [r3, #0] 80a6aca: b2db uxtb r3, r3 80a6acc: 4618 mov r0, r3 80a6ace: 4b21 ldr r3, [pc, #132] ; (80a6b54 ) 80a6ad0: 79db ldrb r3, [r3, #7] 80a6ad2: b2db uxtb r3, r3 80a6ad4: 4619 mov r1, r3 80a6ad6: 4a28 ldr r2, [pc, #160] ; (80a6b78 ) 80a6ad8: 0083 lsls r3, r0, #2 80a6ada: 4413 add r3, r2 80a6adc: 440b add r3, r1 80a6ade: 781b ldrb r3, [r3, #0] 80a6ae0: 4619 mov r1, r3 80a6ae2: f107 034c add.w r3, r7, #76 ; 0x4c 80a6ae6: f107 0244 add.w r2, r7, #68 ; 0x44 80a6aea: 4620 mov r0, r4 80a6aec: f028 f9f6 bl 80ceedc if(ABS(maxf) < ABS(minf)) 80a6af0: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a6af4: eef5 7ac0 vcmpe.f32 s15, #0.0 80a6af8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6afc: dd02 ble.n 80a6b04 80a6afe: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80a6b02: e003 b.n 80a6b0c 80a6b04: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a6b08: eeb1 7a67 vneg.f32 s14, s15 80a6b0c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a6b10: eef5 7ac0 vcmpe.f32 s15, #0.0 80a6b14: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6b18: dd02 ble.n 80a6b20 80a6b1a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a6b1e: e003 b.n 80a6b28 80a6b20: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a6b24: eef1 7a67 vneg.f32 s15, s15 80a6b28: eeb4 7ae7 vcmpe.f32 s14, s15 80a6b2c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6b30: d524 bpl.n 80a6b7c CurVal = minf; 80a6b32: 6c7b ldr r3, [r7, #68] ; 0x44 80a6b34: 4a02 ldr r2, [pc, #8] ; (80a6b40 ) 80a6b36: 6013 str r3, [r2, #0] l = n1; 80a6b38: 6cfb ldr r3, [r7, #76] ; 0x4c 80a6b3a: 653b str r3, [r7, #80] ; 0x50 80a6b3c: e023 b.n 80a6b86 80a6b3e: bf00 nop 80a6b40: 200215bc .word 0x200215bc 80a6b44: 20020f94 .word 0x20020f94 80a6b48: 080d74f8 .word 0x080d74f8 80a6b4c: ff808080 .word 0xff808080 80a6b50: 200215c0 .word 0x200215c0 80a6b54: 20023eb8 .word 0x20023eb8 80a6b58: 080f60cc .word 0x080f60cc 80a6b5c: 20021698 .word 0x20021698 80a6b60: 080d74fc .word 0x080d74fc 80a6b64: 080d7500 .word 0x080d7500 80a6b68: 42c80000 .word 0x42c80000 80a6b6c: 20025d6e .word 0x20025d6e 80a6b70: 64080000 .word 0x64080000 80a6b74: 20020fc0 .word 0x20020fc0 80a6b78: 080f5fec .word 0x080f5fec CurVal = maxf; 80a6b7c: 6c3b ldr r3, [r7, #64] ; 0x40 80a6b7e: 4ab2 ldr r2, [pc, #712] ; (80a6e48 ) 80a6b80: 6013 str r3, [r2, #0] l = n2; 80a6b82: 6cbb ldr r3, [r7, #72] ; 0x48 80a6b84: 653b str r3, [r7, #80] ; 0x50 fineMpos = Mpos + l; 80a6b86: 6d3b ldr r3, [r7, #80] ; 0x50 80a6b88: b29a uxth r2, r3 80a6b8a: 4bb0 ldr r3, [pc, #704] ; (80a6e4c ) 80a6b8c: 881b ldrh r3, [r3, #0] 80a6b8e: b29b uxth r3, r3 80a6b90: 4413 add r3, r2 80a6b92: b29a uxth r2, r3 80a6b94: 4bae ldr r3, [pc, #696] ; (80a6e50 ) 80a6b96: 801a strh r2, [r3, #0] tmpF = (float32_t) fineMpos; 80a6b98: 4bad ldr r3, [pc, #692] ; (80a6e50 ) 80a6b9a: 881b ldrh r3, [r3, #0] 80a6b9c: b29b uxth r3, r3 80a6b9e: ee07 3a90 vmov s15, r3 80a6ba2: eef8 7a67 vcvt.f32.u32 s15, s15 80a6ba6: edc7 7a15 vstr s15, [r7, #84] ; 0x54 CurVal *= 0.70710678f; 80a6baa: 4ba7 ldr r3, [pc, #668] ; (80a6e48 ) 80a6bac: edd3 7a00 vldr s15, [r3] 80a6bb0: ed9f 7aa8 vldr s14, [pc, #672] ; 80a6e54 80a6bb4: ee67 7a87 vmul.f32 s15, s15, s14 80a6bb8: 4ba3 ldr r3, [pc, #652] ; (80a6e48 ) 80a6bba: edc3 7a00 vstr s15, [r3] if(pardata.WIN == HANN) 80a6bbe: 4ba6 ldr r3, [pc, #664] ; (80a6e58 ) 80a6bc0: 7a5b ldrb r3, [r3, #9] 80a6bc2: b2db uxtb r3, r3 80a6bc4: 2b01 cmp r3, #1 80a6bc6: d107 bne.n 80a6bd8 CurVal *= 2.0f; 80a6bc8: 4b9f ldr r3, [pc, #636] ; (80a6e48 ) 80a6bca: edd3 7a00 vldr s15, [r3] 80a6bce: ee77 7aa7 vadd.f32 s15, s15, s15 80a6bd2: 4b9d ldr r3, [pc, #628] ; (80a6e48 ) 80a6bd4: edc3 7a00 vstr s15, [r3] if(pardata.IVS[pardata.IPR] == PEAK) 80a6bd8: 4b9f ldr r3, [pc, #636] ; (80a6e58 ) 80a6bda: 785b ldrb r3, [r3, #1] 80a6bdc: b2db uxtb r3, r3 80a6bde: 461a mov r2, r3 80a6be0: 4b9d ldr r3, [pc, #628] ; (80a6e58 ) 80a6be2: 4413 add r3, r2 80a6be4: 789b ldrb r3, [r3, #2] 80a6be6: b2db uxtb r3, r3 80a6be8: 2b00 cmp r3, #0 80a6bea: d109 bne.n 80a6c00 CurVal *= 1.414213562373f; 80a6bec: 4b96 ldr r3, [pc, #600] ; (80a6e48 ) 80a6bee: edd3 7a00 vldr s15, [r3] 80a6bf2: ed9f 7a9a vldr s14, [pc, #616] ; 80a6e5c 80a6bf6: ee67 7a87 vmul.f32 s15, s15, s14 80a6bfa: 4b93 ldr r3, [pc, #588] ; (80a6e48 ) 80a6bfc: edc3 7a00 vstr s15, [r3] if(pardata.MSH == LOG) 80a6c00: 4b95 ldr r3, [pc, #596] ; (80a6e58 ) 80a6c02: 7a9b ldrb r3, [r3, #10] 80a6c04: b2db uxtb r3, r3 80a6c06: 2b01 cmp r3, #1 80a6c08: d111 bne.n 80a6c2e if(pardata.IIN != VOLTS) 80a6c0a: 4b93 ldr r3, [pc, #588] ; (80a6e58 ) 80a6c0c: 799b ldrb r3, [r3, #6] 80a6c0e: b2db uxtb r3, r3 80a6c10: 2b02 cmp r3, #2 80a6c12: d004 beq.n 80a6c1e LinToLog(&CurVal, &CurVal); 80a6c14: 498c ldr r1, [pc, #560] ; (80a6e48 ) 80a6c16: 488c ldr r0, [pc, #560] ; (80a6e48 ) 80a6c18: f7bf fe96 bl 8066948 80a6c1c: e007 b.n 80a6c2e else LinToLog_mV(&CurVal, &CurVal, pardata.IPR); 80a6c1e: 4b8e ldr r3, [pc, #568] ; (80a6e58 ) 80a6c20: 785b ldrb r3, [r3, #1] 80a6c22: b2db uxtb r3, r3 80a6c24: 461a mov r2, r3 80a6c26: 4988 ldr r1, [pc, #544] ; (80a6e48 ) 80a6c28: 4887 ldr r0, [pc, #540] ; (80a6e48 ) 80a6c2a: f7bf febd bl 80669a8 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a6c2e: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a6c32: 488b ldr r0, [pc, #556] ; (80a6e60 ) 80a6c34: f7ae faea bl 805520c Val = CurVal; 80a6c38: 4b83 ldr r3, [pc, #524] ; (80a6e48 ) 80a6c3a: 681b ldr r3, [r3, #0] 80a6c3c: 63fb str r3, [r7, #60] ; 0x3c if(pardata.MSH == LOG) 80a6c3e: 4b86 ldr r3, [pc, #536] ; (80a6e58 ) 80a6c40: 7a9b ldrb r3, [r3, #10] 80a6c42: b2db uxtb r3, r3 80a6c44: 2b01 cmp r3, #1 80a6c46: d114 bne.n 80a6c72 BSP_LCD_DisplayStringAt(220, 45, "dB", LEFT_MODE); 80a6c48: 2303 movs r3, #3 80a6c4a: 4a86 ldr r2, [pc, #536] ; (80a6e64 ) 80a6c4c: 212d movs r1, #45 ; 0x2d 80a6c4e: 20dc movs r0, #220 ; 0xdc 80a6c50: f7ae fba2 bl 8055398 BSP_LCD_DisplayStringAt(217, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a6c54: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6c58: f04f 30ff mov.w r0, #4294967295 80a6c5c: eeb0 0a67 vmov.f32 s0, s15 80a6c60: f7c1 fa9e bl 80681a0 80a6c64: 4602 mov r2, r0 80a6c66: 2302 movs r3, #2 80a6c68: 212d movs r1, #45 ; 0x2d 80a6c6a: 20d9 movs r0, #217 ; 0xd9 80a6c6c: f7ae fb94 bl 8055398 80a6c70: e22b b.n 80a70ca if(Val >= 1000.0f) 80a6c72: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6c76: ed9f 7a7c vldr s14, [pc, #496] ; 80a6e68 80a6c7a: eef4 7ac7 vcmpe.f32 s15, s14 80a6c7e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6c82: f2c0 80a6 blt.w 80a6dd2 Val *= 0.001f; 80a6c86: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6c8a: ed9f 7a78 vldr s14, [pc, #480] ; 80a6e6c 80a6c8e: ee67 7a87 vmul.f32 s15, s15, s14 80a6c92: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IPR == ACC) 80a6c96: 4b70 ldr r3, [pc, #448] ; (80a6e58 ) 80a6c98: 785b ldrb r3, [r3, #1] 80a6c9a: b2db uxtb r3, r3 80a6c9c: 2b00 cmp r3, #0 80a6c9e: d12a bne.n 80a6cf6 if(pardata.IIN != VOLTS) 80a6ca0: 4b6d ldr r3, [pc, #436] ; (80a6e58 ) 80a6ca2: 799b ldrb r3, [r3, #6] 80a6ca4: b2db uxtb r3, r3 80a6ca6: 2b02 cmp r3, #2 80a6ca8: d012 beq.n 80a6cd0 if(pardata.LANG == RUS) 80a6caa: 4b6b ldr r3, [pc, #428] ; (80a6e58 ) 80a6cac: 7b1b ldrb r3, [r3, #12] 80a6cae: b2db uxtb r3, r3 80a6cb0: 2b00 cmp r3, #0 80a6cb2: d106 bne.n 80a6cc2 BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a6cb4: 2303 movs r3, #3 80a6cb6: 4a6e ldr r2, [pc, #440] ; (80a6e70 ) 80a6cb8: 212d movs r1, #45 ; 0x2d 80a6cba: 20dc movs r0, #220 ; 0xdc 80a6cbc: f7ae fb6c bl 8055398 80a6cc0: e078 b.n 80a6db4 else BSP_LCD_DisplayStringAt(220, 45, "km/s^", LEFT_MODE); 80a6cc2: 2303 movs r3, #3 80a6cc4: 4a6b ldr r2, [pc, #428] ; (80a6e74 ) 80a6cc6: 212d movs r1, #45 ; 0x2d 80a6cc8: 20dc movs r0, #220 ; 0xdc 80a6cca: f7ae fb65 bl 8055398 80a6cce: e071 b.n 80a6db4 if(pardata.LANG == RUS) 80a6cd0: 4b61 ldr r3, [pc, #388] ; (80a6e58 ) 80a6cd2: 7b1b ldrb r3, [r3, #12] 80a6cd4: b2db uxtb r3, r3 80a6cd6: 2b00 cmp r3, #0 80a6cd8: d106 bne.n 80a6ce8 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a6cda: 2303 movs r3, #3 80a6cdc: 4a66 ldr r2, [pc, #408] ; (80a6e78 ) 80a6cde: 212d movs r1, #45 ; 0x2d 80a6ce0: 20dc movs r0, #220 ; 0xdc 80a6ce2: f7ae fb59 bl 8055398 80a6ce6: e065 b.n 80a6db4 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a6ce8: 2303 movs r3, #3 80a6cea: 4a64 ldr r2, [pc, #400] ; (80a6e7c ) 80a6cec: 212d movs r1, #45 ; 0x2d 80a6cee: 20dc movs r0, #220 ; 0xdc 80a6cf0: f7ae fb52 bl 8055398 80a6cf4: e05e b.n 80a6db4 if(pardata.IPR == VEL) 80a6cf6: 4b58 ldr r3, [pc, #352] ; (80a6e58 ) 80a6cf8: 785b ldrb r3, [r3, #1] 80a6cfa: b2db uxtb r3, r3 80a6cfc: 2b01 cmp r3, #1 80a6cfe: d12a bne.n 80a6d56 if(pardata.IIN != VOLTS) 80a6d00: 4b55 ldr r3, [pc, #340] ; (80a6e58 ) 80a6d02: 799b ldrb r3, [r3, #6] 80a6d04: b2db uxtb r3, r3 80a6d06: 2b02 cmp r3, #2 80a6d08: d012 beq.n 80a6d30 if(pardata.LANG == RUS) 80a6d0a: 4b53 ldr r3, [pc, #332] ; (80a6e58 ) 80a6d0c: 7b1b ldrb r3, [r3, #12] 80a6d0e: b2db uxtb r3, r3 80a6d10: 2b00 cmp r3, #0 80a6d12: d106 bne.n 80a6d22 BSP_LCD_DisplayStringAt(220, 45, "&/c", LEFT_MODE); 80a6d14: 2303 movs r3, #3 80a6d16: 4a5a ldr r2, [pc, #360] ; (80a6e80 ) 80a6d18: 212d movs r1, #45 ; 0x2d 80a6d1a: 20dc movs r0, #220 ; 0xdc 80a6d1c: f7ae fb3c bl 8055398 80a6d20: e048 b.n 80a6db4 else BSP_LCD_DisplayStringAt(220, 45, "m/s", LEFT_MODE); 80a6d22: 2303 movs r3, #3 80a6d24: 4a57 ldr r2, [pc, #348] ; (80a6e84 ) 80a6d26: 212d movs r1, #45 ; 0x2d 80a6d28: 20dc movs r0, #220 ; 0xdc 80a6d2a: f7ae fb35 bl 8055398 80a6d2e: e041 b.n 80a6db4 if(pardata.LANG == RUS) 80a6d30: 4b49 ldr r3, [pc, #292] ; (80a6e58 ) 80a6d32: 7b1b ldrb r3, [r3, #12] 80a6d34: b2db uxtb r3, r3 80a6d36: 2b00 cmp r3, #0 80a6d38: d106 bne.n 80a6d48 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a6d3a: 2303 movs r3, #3 80a6d3c: 4a4e ldr r2, [pc, #312] ; (80a6e78 ) 80a6d3e: 212d movs r1, #45 ; 0x2d 80a6d40: 20dc movs r0, #220 ; 0xdc 80a6d42: f7ae fb29 bl 8055398 80a6d46: e035 b.n 80a6db4 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a6d48: 2303 movs r3, #3 80a6d4a: 4a4c ldr r2, [pc, #304] ; (80a6e7c ) 80a6d4c: 212d movs r1, #45 ; 0x2d 80a6d4e: 20dc movs r0, #220 ; 0xdc 80a6d50: f7ae fb22 bl 8055398 80a6d54: e02e b.n 80a6db4 if(pardata.IPR == DIS) 80a6d56: 4b40 ldr r3, [pc, #256] ; (80a6e58 ) 80a6d58: 785b ldrb r3, [r3, #1] 80a6d5a: b2db uxtb r3, r3 80a6d5c: 2b02 cmp r3, #2 80a6d5e: d129 bne.n 80a6db4 if(pardata.IIN != VOLTS) 80a6d60: 4b3d ldr r3, [pc, #244] ; (80a6e58 ) 80a6d62: 799b ldrb r3, [r3, #6] 80a6d64: b2db uxtb r3, r3 80a6d66: 2b02 cmp r3, #2 80a6d68: d012 beq.n 80a6d90 if(pardata.LANG == RUS) 80a6d6a: 4b3b ldr r3, [pc, #236] ; (80a6e58 ) 80a6d6c: 7b1b ldrb r3, [r3, #12] 80a6d6e: b2db uxtb r3, r3 80a6d70: 2b00 cmp r3, #0 80a6d72: d106 bne.n 80a6d82 BSP_LCD_DisplayStringAt(220, 45, "&&", LEFT_MODE); 80a6d74: 2303 movs r3, #3 80a6d76: 4a44 ldr r2, [pc, #272] ; (80a6e88 ) 80a6d78: 212d movs r1, #45 ; 0x2d 80a6d7a: 20dc movs r0, #220 ; 0xdc 80a6d7c: f7ae fb0c bl 8055398 80a6d80: e018 b.n 80a6db4 else BSP_LCD_DisplayStringAt(220, 45, "mm", LEFT_MODE); 80a6d82: 2303 movs r3, #3 80a6d84: 4a41 ldr r2, [pc, #260] ; (80a6e8c ) 80a6d86: 212d movs r1, #45 ; 0x2d 80a6d88: 20dc movs r0, #220 ; 0xdc 80a6d8a: f7ae fb05 bl 8055398 80a6d8e: e011 b.n 80a6db4 if(pardata.LANG == RUS) 80a6d90: 4b31 ldr r3, [pc, #196] ; (80a6e58 ) 80a6d92: 7b1b ldrb r3, [r3, #12] 80a6d94: b2db uxtb r3, r3 80a6d96: 2b00 cmp r3, #0 80a6d98: d106 bne.n 80a6da8 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a6d9a: 2303 movs r3, #3 80a6d9c: 4a36 ldr r2, [pc, #216] ; (80a6e78 ) 80a6d9e: 212d movs r1, #45 ; 0x2d 80a6da0: 20dc movs r0, #220 ; 0xdc 80a6da2: f7ae faf9 bl 8055398 80a6da6: e005 b.n 80a6db4 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a6da8: 2303 movs r3, #3 80a6daa: 4a34 ldr r2, [pc, #208] ; (80a6e7c ) 80a6dac: 212d movs r1, #45 ; 0x2d 80a6dae: 20dc movs r0, #220 ; 0xdc 80a6db0: f7ae faf2 bl 8055398 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a6db4: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6db8: f06f 0003 mvn.w r0, #3 80a6dbc: eeb0 0a67 vmov.f32 s0, s15 80a6dc0: f7c1 f9ee bl 80681a0 80a6dc4: 4602 mov r2, r0 80a6dc6: 2302 movs r3, #2 80a6dc8: 212d movs r1, #45 ; 0x2d 80a6dca: 20d9 movs r0, #217 ; 0xd9 80a6dcc: f7ae fae4 bl 8055398 80a6dd0: e17b b.n 80a70ca if(Val >= 0.1f) 80a6dd2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6dd6: ed9f 7a2e vldr s14, [pc, #184] ; 80a6e90 80a6dda: eef4 7ac7 vcmpe.f32 s15, s14 80a6dde: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6de2: f2c0 80cd blt.w 80a6f80 if(pardata.IPR == ACC) 80a6de6: 4b1c ldr r3, [pc, #112] ; (80a6e58 ) 80a6de8: 785b ldrb r3, [r3, #1] 80a6dea: b2db uxtb r3, r3 80a6dec: 2b00 cmp r3, #0 80a6dee: d159 bne.n 80a6ea4 if(pardata.IIN != VOLTS) 80a6df0: 4b19 ldr r3, [pc, #100] ; (80a6e58 ) 80a6df2: 799b ldrb r3, [r3, #6] 80a6df4: b2db uxtb r3, r3 80a6df6: 2b02 cmp r3, #2 80a6df8: d012 beq.n 80a6e20 if(pardata.LANG == RUS) 80a6dfa: 4b17 ldr r3, [pc, #92] ; (80a6e58 ) 80a6dfc: 7b1b ldrb r3, [r3, #12] 80a6dfe: b2db uxtb r3, r3 80a6e00: 2b00 cmp r3, #0 80a6e02: d106 bne.n 80a6e12 BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a6e04: 2303 movs r3, #3 80a6e06: 4a23 ldr r2, [pc, #140] ; (80a6e94 ) 80a6e08: 212d movs r1, #45 ; 0x2d 80a6e0a: 20dc movs r0, #220 ; 0xdc 80a6e0c: f7ae fac4 bl 8055398 80a6e10: e0a7 b.n 80a6f62 else BSP_LCD_DisplayStringAt(220, 45, "m/s^", LEFT_MODE); 80a6e12: 2303 movs r3, #3 80a6e14: 4a20 ldr r2, [pc, #128] ; (80a6e98 ) 80a6e16: 212d movs r1, #45 ; 0x2d 80a6e18: 20dc movs r0, #220 ; 0xdc 80a6e1a: f7ae fabd bl 8055398 80a6e1e: e0a0 b.n 80a6f62 if(pardata.LANG == RUS) 80a6e20: 4b0d ldr r3, [pc, #52] ; (80a6e58 ) 80a6e22: 7b1b ldrb r3, [r3, #12] 80a6e24: b2db uxtb r3, r3 80a6e26: 2b00 cmp r3, #0 80a6e28: d106 bne.n 80a6e38 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a6e2a: 2303 movs r3, #3 80a6e2c: 4a1b ldr r2, [pc, #108] ; (80a6e9c ) 80a6e2e: 212d movs r1, #45 ; 0x2d 80a6e30: 20dc movs r0, #220 ; 0xdc 80a6e32: f7ae fab1 bl 8055398 80a6e36: e094 b.n 80a6f62 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a6e38: 2303 movs r3, #3 80a6e3a: 4a19 ldr r2, [pc, #100] ; (80a6ea0 ) 80a6e3c: 212d movs r1, #45 ; 0x2d 80a6e3e: 20dc movs r0, #220 ; 0xdc 80a6e40: f7ae faaa bl 8055398 80a6e44: e08d b.n 80a6f62 80a6e46: bf00 nop 80a6e48: 200215bc .word 0x200215bc 80a6e4c: 20025d6e .word 0x20025d6e 80a6e50: 20025d74 .word 0x20025d74 80a6e54: 3f3504f3 .word 0x3f3504f3 80a6e58: 20023eb8 .word 0x20023eb8 80a6e5c: 3fb504f3 .word 0x3fb504f3 80a6e60: ff26a01f .word 0xff26a01f 80a6e64: 080d74f8 .word 0x080d74f8 80a6e68: 447a0000 .word 0x447a0000 80a6e6c: 3a83126f .word 0x3a83126f 80a6e70: 080d74b0 .word 0x080d74b0 80a6e74: 080d7410 .word 0x080d7410 80a6e78: 080d750c .word 0x080d750c 80a6e7c: 080d5110 .word 0x080d5110 80a6e80: 080d7510 .word 0x080d7510 80a6e84: 080d741c .word 0x080d741c 80a6e88: 080d7514 .word 0x080d7514 80a6e8c: 080d7424 .word 0x080d7424 80a6e90: 3dcccccd .word 0x3dcccccd 80a6e94: 080d74c0 .word 0x080d74c0 80a6e98: 080d7430 .word 0x080d7430 80a6e9c: 080d7518 .word 0x080d7518 80a6ea0: 080d751c .word 0x080d751c else if(pardata.IPR == VEL) 80a6ea4: 4bb4 ldr r3, [pc, #720] ; (80a7178 ) 80a6ea6: 785b ldrb r3, [r3, #1] 80a6ea8: b2db uxtb r3, r3 80a6eaa: 2b01 cmp r3, #1 80a6eac: d12a bne.n 80a6f04 if(pardata.IIN != VOLTS) 80a6eae: 4bb2 ldr r3, [pc, #712] ; (80a7178 ) 80a6eb0: 799b ldrb r3, [r3, #6] 80a6eb2: b2db uxtb r3, r3 80a6eb4: 2b02 cmp r3, #2 80a6eb6: d012 beq.n 80a6ede if(pardata.LANG == RUS) 80a6eb8: 4baf ldr r3, [pc, #700] ; (80a7178 ) 80a6eba: 7b1b ldrb r3, [r3, #12] 80a6ebc: b2db uxtb r3, r3 80a6ebe: 2b00 cmp r3, #0 80a6ec0: d106 bne.n 80a6ed0 BSP_LCD_DisplayStringAt(220, 45, "&&/c", LEFT_MODE); 80a6ec2: 2303 movs r3, #3 80a6ec4: 4aad ldr r2, [pc, #692] ; (80a717c ) 80a6ec6: 212d movs r1, #45 ; 0x2d 80a6ec8: 20dc movs r0, #220 ; 0xdc 80a6eca: f7ae fa65 bl 8055398 80a6ece: e048 b.n 80a6f62 else BSP_LCD_DisplayStringAt(220, 45, "mm/s", LEFT_MODE); 80a6ed0: 2303 movs r3, #3 80a6ed2: 4aab ldr r2, [pc, #684] ; (80a7180 ) 80a6ed4: 212d movs r1, #45 ; 0x2d 80a6ed6: 20dc movs r0, #220 ; 0xdc 80a6ed8: f7ae fa5e bl 8055398 80a6edc: e041 b.n 80a6f62 if(pardata.LANG == RUS) 80a6ede: 4ba6 ldr r3, [pc, #664] ; (80a7178 ) 80a6ee0: 7b1b ldrb r3, [r3, #12] 80a6ee2: b2db uxtb r3, r3 80a6ee4: 2b00 cmp r3, #0 80a6ee6: d106 bne.n 80a6ef6 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a6ee8: 2303 movs r3, #3 80a6eea: 4aa6 ldr r2, [pc, #664] ; (80a7184 ) 80a6eec: 212d movs r1, #45 ; 0x2d 80a6eee: 20dc movs r0, #220 ; 0xdc 80a6ef0: f7ae fa52 bl 8055398 80a6ef4: e035 b.n 80a6f62 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a6ef6: 2303 movs r3, #3 80a6ef8: 4aa3 ldr r2, [pc, #652] ; (80a7188 ) 80a6efa: 212d movs r1, #45 ; 0x2d 80a6efc: 20dc movs r0, #220 ; 0xdc 80a6efe: f7ae fa4b bl 8055398 80a6f02: e02e b.n 80a6f62 else if(pardata.IPR == DIS) 80a6f04: 4b9c ldr r3, [pc, #624] ; (80a7178 ) 80a6f06: 785b ldrb r3, [r3, #1] 80a6f08: b2db uxtb r3, r3 80a6f0a: 2b02 cmp r3, #2 80a6f0c: d129 bne.n 80a6f62 if(pardata.IIN != VOLTS) 80a6f0e: 4b9a ldr r3, [pc, #616] ; (80a7178 ) 80a6f10: 799b ldrb r3, [r3, #6] 80a6f12: b2db uxtb r3, r3 80a6f14: 2b02 cmp r3, #2 80a6f16: d012 beq.n 80a6f3e if(pardata.LANG == RUS) 80a6f18: 4b97 ldr r3, [pc, #604] ; (80a7178 ) 80a6f1a: 7b1b ldrb r3, [r3, #12] 80a6f1c: b2db uxtb r3, r3 80a6f1e: 2b00 cmp r3, #0 80a6f20: d106 bne.n 80a6f30 BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a6f22: 2303 movs r3, #3 80a6f24: 4a99 ldr r2, [pc, #612] ; (80a718c ) 80a6f26: 212d movs r1, #45 ; 0x2d 80a6f28: 20dc movs r0, #220 ; 0xdc 80a6f2a: f7ae fa35 bl 8055398 80a6f2e: e018 b.n 80a6f62 else BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a6f30: 2303 movs r3, #3 80a6f32: 4a97 ldr r2, [pc, #604] ; (80a7190 ) 80a6f34: 212d movs r1, #45 ; 0x2d 80a6f36: 20dc movs r0, #220 ; 0xdc 80a6f38: f7ae fa2e bl 8055398 80a6f3c: e011 b.n 80a6f62 if(pardata.LANG == RUS) 80a6f3e: 4b8e ldr r3, [pc, #568] ; (80a7178 ) 80a6f40: 7b1b ldrb r3, [r3, #12] 80a6f42: b2db uxtb r3, r3 80a6f44: 2b00 cmp r3, #0 80a6f46: d106 bne.n 80a6f56 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a6f48: 2303 movs r3, #3 80a6f4a: 4a8e ldr r2, [pc, #568] ; (80a7184 ) 80a6f4c: 212d movs r1, #45 ; 0x2d 80a6f4e: 20dc movs r0, #220 ; 0xdc 80a6f50: f7ae fa22 bl 8055398 80a6f54: e005 b.n 80a6f62 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a6f56: 2303 movs r3, #3 80a6f58: 4a8b ldr r2, [pc, #556] ; (80a7188 ) 80a6f5a: 212d movs r1, #45 ; 0x2d 80a6f5c: 20dc movs r0, #220 ; 0xdc 80a6f5e: f7ae fa1b bl 8055398 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a6f62: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6f66: f06f 0002 mvn.w r0, #2 80a6f6a: eeb0 0a67 vmov.f32 s0, s15 80a6f6e: f7c1 f917 bl 80681a0 80a6f72: 4602 mov r2, r0 80a6f74: 2302 movs r3, #2 80a6f76: 212d movs r1, #45 ; 0x2d 80a6f78: 20d9 movs r0, #217 ; 0xd9 80a6f7a: f7ae fa0d bl 8055398 80a6f7e: e0a4 b.n 80a70ca Val *= 1000.0f; 80a6f80: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6f84: ed9f 7a83 vldr s14, [pc, #524] ; 80a7194 80a6f88: ee67 7a87 vmul.f32 s15, s15, s14 80a6f8c: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IPR == ACC) 80a6f90: 4b79 ldr r3, [pc, #484] ; (80a7178 ) 80a6f92: 785b ldrb r3, [r3, #1] 80a6f94: b2db uxtb r3, r3 80a6f96: 2b00 cmp r3, #0 80a6f98: d12a bne.n 80a6ff0 if(pardata.IIN != VOLTS) 80a6f9a: 4b77 ldr r3, [pc, #476] ; (80a7178 ) 80a6f9c: 799b ldrb r3, [r3, #6] 80a6f9e: b2db uxtb r3, r3 80a6fa0: 2b02 cmp r3, #2 80a6fa2: d012 beq.n 80a6fca if(pardata.LANG == RUS) 80a6fa4: 4b74 ldr r3, [pc, #464] ; (80a7178 ) 80a6fa6: 7b1b ldrb r3, [r3, #12] 80a6fa8: b2db uxtb r3, r3 80a6faa: 2b00 cmp r3, #0 80a6fac: d106 bne.n 80a6fbc BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a6fae: 2303 movs r3, #3 80a6fb0: 4a79 ldr r2, [pc, #484] ; (80a7198 ) 80a6fb2: 212d movs r1, #45 ; 0x2d 80a6fb4: 20dc movs r0, #220 ; 0xdc 80a6fb6: f7ae f9ef bl 8055398 80a6fba: e078 b.n 80a70ae else BSP_LCD_DisplayStringAt(220, 45, "mm/s^", LEFT_MODE); 80a6fbc: 2303 movs r3, #3 80a6fbe: 4a77 ldr r2, [pc, #476] ; (80a719c ) 80a6fc0: 212d movs r1, #45 ; 0x2d 80a6fc2: 20dc movs r0, #220 ; 0xdc 80a6fc4: f7ae f9e8 bl 8055398 80a6fc8: e071 b.n 80a70ae if(pardata.LANG == RUS) 80a6fca: 4b6b ldr r3, [pc, #428] ; (80a7178 ) 80a6fcc: 7b1b ldrb r3, [r3, #12] 80a6fce: b2db uxtb r3, r3 80a6fd0: 2b00 cmp r3, #0 80a6fd2: d106 bne.n 80a6fe2 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a6fd4: 2303 movs r3, #3 80a6fd6: 4a72 ldr r2, [pc, #456] ; (80a71a0 ) 80a6fd8: 212d movs r1, #45 ; 0x2d 80a6fda: 20dc movs r0, #220 ; 0xdc 80a6fdc: f7ae f9dc bl 8055398 80a6fe0: e065 b.n 80a70ae else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a6fe2: 2303 movs r3, #3 80a6fe4: 4a6f ldr r2, [pc, #444] ; (80a71a4 ) 80a6fe6: 212d movs r1, #45 ; 0x2d 80a6fe8: 20dc movs r0, #220 ; 0xdc 80a6fea: f7ae f9d5 bl 8055398 80a6fee: e05e b.n 80a70ae else if(pardata.IPR == VEL) 80a6ff0: 4b61 ldr r3, [pc, #388] ; (80a7178 ) 80a6ff2: 785b ldrb r3, [r3, #1] 80a6ff4: b2db uxtb r3, r3 80a6ff6: 2b01 cmp r3, #1 80a6ff8: d12a bne.n 80a7050 if(pardata.IIN != VOLTS) 80a6ffa: 4b5f ldr r3, [pc, #380] ; (80a7178 ) 80a6ffc: 799b ldrb r3, [r3, #6] 80a6ffe: b2db uxtb r3, r3 80a7000: 2b02 cmp r3, #2 80a7002: d012 beq.n 80a702a if(pardata.LANG == RUS) 80a7004: 4b5c ldr r3, [pc, #368] ; (80a7178 ) 80a7006: 7b1b ldrb r3, [r3, #12] 80a7008: b2db uxtb r3, r3 80a700a: 2b00 cmp r3, #0 80a700c: d106 bne.n 80a701c BSP_LCD_DisplayStringAt(220, 45, "&k&/c", LEFT_MODE); 80a700e: 2303 movs r3, #3 80a7010: 4a65 ldr r2, [pc, #404] ; (80a71a8 ) 80a7012: 212d movs r1, #45 ; 0x2d 80a7014: 20dc movs r0, #220 ; 0xdc 80a7016: f7ae f9bf bl 8055398 80a701a: e048 b.n 80a70ae else BSP_LCD_DisplayStringAt(220, 45, "mkm/s", LEFT_MODE); 80a701c: 2303 movs r3, #3 80a701e: 4a63 ldr r2, [pc, #396] ; (80a71ac ) 80a7020: 212d movs r1, #45 ; 0x2d 80a7022: 20dc movs r0, #220 ; 0xdc 80a7024: f7ae f9b8 bl 8055398 80a7028: e041 b.n 80a70ae if(pardata.LANG == RUS) 80a702a: 4b53 ldr r3, [pc, #332] ; (80a7178 ) 80a702c: 7b1b ldrb r3, [r3, #12] 80a702e: b2db uxtb r3, r3 80a7030: 2b00 cmp r3, #0 80a7032: d106 bne.n 80a7042 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a7034: 2303 movs r3, #3 80a7036: 4a5a ldr r2, [pc, #360] ; (80a71a0 ) 80a7038: 212d movs r1, #45 ; 0x2d 80a703a: 20dc movs r0, #220 ; 0xdc 80a703c: f7ae f9ac bl 8055398 80a7040: e035 b.n 80a70ae else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a7042: 2303 movs r3, #3 80a7044: 4a57 ldr r2, [pc, #348] ; (80a71a4 ) 80a7046: 212d movs r1, #45 ; 0x2d 80a7048: 20dc movs r0, #220 ; 0xdc 80a704a: f7ae f9a5 bl 8055398 80a704e: e02e b.n 80a70ae else if(pardata.IPR == DIS) 80a7050: 4b49 ldr r3, [pc, #292] ; (80a7178 ) 80a7052: 785b ldrb r3, [r3, #1] 80a7054: b2db uxtb r3, r3 80a7056: 2b02 cmp r3, #2 80a7058: d129 bne.n 80a70ae if(pardata.IIN != VOLTS) 80a705a: 4b47 ldr r3, [pc, #284] ; (80a7178 ) 80a705c: 799b ldrb r3, [r3, #6] 80a705e: b2db uxtb r3, r3 80a7060: 2b02 cmp r3, #2 80a7062: d012 beq.n 80a708a if(pardata.LANG == RUS) 80a7064: 4b44 ldr r3, [pc, #272] ; (80a7178 ) 80a7066: 7b1b ldrb r3, [r3, #12] 80a7068: b2db uxtb r3, r3 80a706a: 2b00 cmp r3, #0 80a706c: d106 bne.n 80a707c BSP_LCD_DisplayStringAt(220, 45, "#&", LEFT_MODE); 80a706e: 2303 movs r3, #3 80a7070: 4a4f ldr r2, [pc, #316] ; (80a71b0 ) 80a7072: 212d movs r1, #45 ; 0x2d 80a7074: 20dc movs r0, #220 ; 0xdc 80a7076: f7ae f98f bl 8055398 80a707a: e018 b.n 80a70ae else BSP_LCD_DisplayStringAt(220, 45, "nm", LEFT_MODE); 80a707c: 2303 movs r3, #3 80a707e: 4a4d ldr r2, [pc, #308] ; (80a71b4 ) 80a7080: 212d movs r1, #45 ; 0x2d 80a7082: 20dc movs r0, #220 ; 0xdc 80a7084: f7ae f988 bl 8055398 80a7088: e011 b.n 80a70ae if(pardata.LANG == RUS) 80a708a: 4b3b ldr r3, [pc, #236] ; (80a7178 ) 80a708c: 7b1b ldrb r3, [r3, #12] 80a708e: b2db uxtb r3, r3 80a7090: 2b00 cmp r3, #0 80a7092: d106 bne.n 80a70a2 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a7094: 2303 movs r3, #3 80a7096: 4a42 ldr r2, [pc, #264] ; (80a71a0 ) 80a7098: 212d movs r1, #45 ; 0x2d 80a709a: 20dc movs r0, #220 ; 0xdc 80a709c: f7ae f97c bl 8055398 80a70a0: e005 b.n 80a70ae else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a70a2: 2303 movs r3, #3 80a70a4: 4a3f ldr r2, [pc, #252] ; (80a71a4 ) 80a70a6: 212d movs r1, #45 ; 0x2d 80a70a8: 20dc movs r0, #220 ; 0xdc 80a70aa: f7ae f975 bl 8055398 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a70ae: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a70b2: f06f 0003 mvn.w r0, #3 80a70b6: eeb0 0a67 vmov.f32 s0, s15 80a70ba: f7c1 f871 bl 80681a0 80a70be: 4602 mov r2, r0 80a70c0: 2302 movs r3, #2 80a70c2: 212d movs r1, #45 ; 0x2d 80a70c4: 20d9 movs r0, #217 ; 0xd9 80a70c6: f7ae f967 bl 8055398 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a70ca: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a70ce: 483a ldr r0, [pc, #232] ; (80a71b8 ) 80a70d0: f7ae f89c bl 805520c tmpF = (float32_t) fineMpos; 80a70d4: 4b39 ldr r3, [pc, #228] ; (80a71bc ) 80a70d6: 881b ldrh r3, [r3, #0] 80a70d8: b29b uxth r3, r3 80a70da: ee07 3a90 vmov s15, r3 80a70de: eef8 7a67 vcvt.f32.u32 s15, s15 80a70e2: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(tmpF != TF) 80a70e6: 4b36 ldr r3, [pc, #216] ; (80a71c0 ) 80a70e8: edd3 7a00 vldr s15, [r3] 80a70ec: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80a70f0: eeb4 7a67 vcmp.f32 s14, s15 80a70f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a70f8: d01d beq.n 80a7136 TF = tmpF; 80a70fa: 4a31 ldr r2, [pc, #196] ; (80a71c0 ) 80a70fc: 6d7b ldr r3, [r7, #84] ; 0x54 80a70fe: 6013 str r3, [r2, #0] TF *= Delta_SPC[pardata.FRQ][pardata.LNE]; 80a7100: 4b1d ldr r3, [pc, #116] ; (80a7178 ) 80a7102: 7adb ldrb r3, [r3, #11] 80a7104: b2db uxtb r3, r3 80a7106: 4618 mov r0, r3 80a7108: 4b1b ldr r3, [pc, #108] ; (80a7178 ) 80a710a: 79db ldrb r3, [r3, #7] 80a710c: b2db uxtb r3, r3 80a710e: 4619 mov r1, r3 80a7110: 4a2c ldr r2, [pc, #176] ; (80a71c4 ) 80a7112: 0083 lsls r3, r0, #2 80a7114: 440b add r3, r1 80a7116: 009b lsls r3, r3, #2 80a7118: 4413 add r3, r2 80a711a: ed93 7a00 vldr s14, [r3] 80a711e: 4b28 ldr r3, [pc, #160] ; (80a71c0 ) 80a7120: edd3 7a00 vldr s15, [r3] 80a7124: ee67 7a27 vmul.f32 s15, s14, s15 80a7128: 4b25 ldr r3, [pc, #148] ; (80a71c0 ) 80a712a: edc3 7a00 vstr s15, [r3] oldTF = TF; 80a712e: 4b24 ldr r3, [pc, #144] ; (80a71c0 ) 80a7130: 681b ldr r3, [r3, #0] 80a7132: 4a25 ldr r2, [pc, #148] ; (80a71c8 ) 80a7134: 6013 str r3, [r2, #0] tmpF = TF; 80a7136: 4b22 ldr r3, [pc, #136] ; (80a71c0 ) 80a7138: 681b ldr r3, [r3, #0] 80a713a: 657b str r3, [r7, #84] ; 0x54 if(tmpF >= 1000.0f) 80a713c: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a7140: ed9f 7a14 vldr s14, [pc, #80] ; 80a7194 80a7144: eef4 7ac7 vcmpe.f32 s15, s14 80a7148: eef1 fa10 vmrs APSR_nzcv, fpscr 80a714c: db57 blt.n 80a71fe tmpF *= 0.001f; 80a714e: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a7152: ed9f 7a1e vldr s14, [pc, #120] ; 80a71cc 80a7156: ee67 7a87 vmul.f32 s15, s15, s14 80a715a: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a715e: 4b06 ldr r3, [pc, #24] ; (80a7178 ) 80a7160: 7b1b ldrb r3, [r3, #12] 80a7162: b2db uxtb r3, r3 80a7164: 2b00 cmp r3, #0 80a7166: d135 bne.n 80a71d4 BSP_LCD_DisplayStringAt(302, 45, "k$%", LEFT_MODE); 80a7168: 2303 movs r3, #3 80a716a: 4a19 ldr r2, [pc, #100] ; (80a71d0 ) 80a716c: 212d movs r1, #45 ; 0x2d 80a716e: f44f 7097 mov.w r0, #302 ; 0x12e 80a7172: f7ae f911 bl 8055398 80a7176: e034 b.n 80a71e2 80a7178: 20023eb8 .word 0x20023eb8 80a717c: 080d7520 .word 0x080d7520 80a7180: 080d7440 .word 0x080d7440 80a7184: 080d7518 .word 0x080d7518 80a7188: 080d751c .word 0x080d751c 80a718c: 080d7528 .word 0x080d7528 80a7190: 080d744c .word 0x080d744c 80a7194: 447a0000 .word 0x447a0000 80a7198: 080d74d0 .word 0x080d74d0 80a719c: 080d7458 .word 0x080d7458 80a71a0: 080d752c .word 0x080d752c 80a71a4: 080d747c .word 0x080d747c 80a71a8: 080d7530 .word 0x080d7530 80a71ac: 080d7468 .word 0x080d7468 80a71b0: 080d7538 .word 0x080d7538 80a71b4: 080d7474 .word 0x080d7474 80a71b8: ff808080 .word 0xff808080 80a71bc: 20025d74 .word 0x20025d74 80a71c0: 200215c0 .word 0x200215c0 80a71c4: 080f60cc .word 0x080f60cc 80a71c8: 20021698 .word 0x20021698 80a71cc: 3a83126f .word 0x3a83126f 80a71d0: 080d753c .word 0x080d753c else BSP_LCD_DisplayStringAt(302, 45, "kHz", LEFT_MODE); 80a71d4: 2303 movs r3, #3 80a71d6: 4a9b ldr r2, [pc, #620] ; (80a7444 ) 80a71d8: 212d movs r1, #45 ; 0x2d 80a71da: f44f 7097 mov.w r0, #302 ; 0x12e 80a71de: f7ae f8db bl 8055398 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a71e2: f06f 0003 mvn.w r0, #3 80a71e6: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a71ea: f7c0 ffd9 bl 80681a0 80a71ee: 4602 mov r2, r0 80a71f0: 2302 movs r3, #2 80a71f2: 212d movs r1, #45 ; 0x2d 80a71f4: f240 102b movw r0, #299 ; 0x12b 80a71f8: f7ae f8ce bl 8055398 80a71fc: e053 b.n 80a72a6 if(tmpF >= 0.1f) 80a71fe: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a7202: ed9f 7a91 vldr s14, [pc, #580] ; 80a7448 80a7206: eef4 7ac7 vcmpe.f32 s15, s14 80a720a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a720e: db21 blt.n 80a7254 if(pardata.LANG == RUS) 80a7210: 4b8e ldr r3, [pc, #568] ; (80a744c ) 80a7212: 7b1b ldrb r3, [r3, #12] 80a7214: b2db uxtb r3, r3 80a7216: 2b00 cmp r3, #0 80a7218: d107 bne.n 80a722a BSP_LCD_DisplayStringAt(302, 45, "$%", LEFT_MODE); 80a721a: 2303 movs r3, #3 80a721c: 4a8c ldr r2, [pc, #560] ; (80a7450 ) 80a721e: 212d movs r1, #45 ; 0x2d 80a7220: f44f 7097 mov.w r0, #302 ; 0x12e 80a7224: f7ae f8b8 bl 8055398 80a7228: e006 b.n 80a7238 else BSP_LCD_DisplayStringAt(302, 45, "Hz", LEFT_MODE); 80a722a: 2303 movs r3, #3 80a722c: 4a89 ldr r2, [pc, #548] ; (80a7454 ) 80a722e: 212d movs r1, #45 ; 0x2d 80a7230: f44f 7097 mov.w r0, #302 ; 0x12e 80a7234: f7ae f8b0 bl 8055398 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a7238: f06f 0002 mvn.w r0, #2 80a723c: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a7240: f7c0 ffae bl 80681a0 80a7244: 4602 mov r2, r0 80a7246: 2302 movs r3, #2 80a7248: 212d movs r1, #45 ; 0x2d 80a724a: f240 102b movw r0, #299 ; 0x12b 80a724e: f7ae f8a3 bl 8055398 80a7252: e028 b.n 80a72a6 tmpF *= 1000.0f; 80a7254: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a7258: ed9f 7a7f vldr s14, [pc, #508] ; 80a7458 80a725c: ee67 7a87 vmul.f32 s15, s15, s14 80a7260: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a7264: 4b79 ldr r3, [pc, #484] ; (80a744c ) 80a7266: 7b1b ldrb r3, [r3, #12] 80a7268: b2db uxtb r3, r3 80a726a: 2b00 cmp r3, #0 80a726c: d107 bne.n 80a727e BSP_LCD_DisplayStringAt(302, 45, "&$%", LEFT_MODE); 80a726e: 2303 movs r3, #3 80a7270: 4a7a ldr r2, [pc, #488] ; (80a745c ) 80a7272: 212d movs r1, #45 ; 0x2d 80a7274: f44f 7097 mov.w r0, #302 ; 0x12e 80a7278: f7ae f88e bl 8055398 80a727c: e006 b.n 80a728c else BSP_LCD_DisplayStringAt(302, 45, "mHz", LEFT_MODE); 80a727e: 2303 movs r3, #3 80a7280: 4a77 ldr r2, [pc, #476] ; (80a7460 ) 80a7282: 212d movs r1, #45 ; 0x2d 80a7284: f44f 7097 mov.w r0, #302 ; 0x12e 80a7288: f7ae f886 bl 8055398 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a728c: f06f 0001 mvn.w r0, #1 80a7290: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a7294: f7c0 ff84 bl 80681a0 80a7298: 4602 mov r2, r0 80a729a: 2302 movs r3, #2 80a729c: 212d movs r1, #45 ; 0x2d 80a729e: f240 102b movw r0, #299 ; 0x12b 80a72a2: f7ae f879 bl 8055398 for(i = 0; i < 2; i++) 80a72a6: 2300 movs r3, #0 80a72a8: 66fb str r3, [r7, #108] ; 0x6c 80a72aa: f000 be6e b.w 80a7f8a if(DynamicCursor[i].Enabled) 80a72ae: 4a6d ldr r2, [pc, #436] ; (80a7464 ) 80a72b0: 6efb ldr r3, [r7, #108] ; 0x6c 80a72b2: 011b lsls r3, r3, #4 80a72b4: 4413 add r3, r2 80a72b6: 781b ldrb r3, [r3, #0] 80a72b8: 2b00 cmp r3, #0 80a72ba: f000 8663 beq.w 80a7f84 arm_max_f32(&ScrA_f32(DynamicCursor[i].Mpos), avgSPC[ViewLevel][pardata.LNE], &maxf, &n2); 80a72be: 4a69 ldr r2, [pc, #420] ; (80a7464 ) 80a72c0: 6efb ldr r3, [r7, #108] ; 0x6c 80a72c2: 011b lsls r3, r3, #4 80a72c4: 4413 add r3, r2 80a72c6: 3304 adds r3, #4 80a72c8: 881b ldrh r3, [r3, #0] 80a72ca: 009b lsls r3, r3, #2 80a72cc: 461a mov r2, r3 80a72ce: 4b66 ldr r3, [pc, #408] ; (80a7468 ) 80a72d0: 4413 add r3, r2 80a72d2: 461c mov r4, r3 80a72d4: 4b65 ldr r3, [pc, #404] ; (80a746c ) 80a72d6: 781b ldrb r3, [r3, #0] 80a72d8: b2db uxtb r3, r3 80a72da: 4618 mov r0, r3 80a72dc: 4b5b ldr r3, [pc, #364] ; (80a744c ) 80a72de: 79db ldrb r3, [r3, #7] 80a72e0: b2db uxtb r3, r3 80a72e2: 4619 mov r1, r3 80a72e4: 4a62 ldr r2, [pc, #392] ; (80a7470 ) 80a72e6: 0083 lsls r3, r0, #2 80a72e8: 4413 add r3, r2 80a72ea: 440b add r3, r1 80a72ec: 781b ldrb r3, [r3, #0] 80a72ee: 4619 mov r1, r3 80a72f0: f107 0348 add.w r3, r7, #72 ; 0x48 80a72f4: f107 0240 add.w r2, r7, #64 ; 0x40 80a72f8: 4620 mov r0, r4 80a72fa: f027 fe8b bl 80cf014 arm_min_f32(&ScrA_f32(DynamicCursor[i].Mpos), avgSPC[ViewLevel][pardata.LNE], &minf, &n1); 80a72fe: 4a59 ldr r2, [pc, #356] ; (80a7464 ) 80a7300: 6efb ldr r3, [r7, #108] ; 0x6c 80a7302: 011b lsls r3, r3, #4 80a7304: 4413 add r3, r2 80a7306: 3304 adds r3, #4 80a7308: 881b ldrh r3, [r3, #0] 80a730a: 009b lsls r3, r3, #2 80a730c: 461a mov r2, r3 80a730e: 4b56 ldr r3, [pc, #344] ; (80a7468 ) 80a7310: 4413 add r3, r2 80a7312: 461c mov r4, r3 80a7314: 4b55 ldr r3, [pc, #340] ; (80a746c ) 80a7316: 781b ldrb r3, [r3, #0] 80a7318: b2db uxtb r3, r3 80a731a: 4618 mov r0, r3 80a731c: 4b4b ldr r3, [pc, #300] ; (80a744c ) 80a731e: 79db ldrb r3, [r3, #7] 80a7320: b2db uxtb r3, r3 80a7322: 4619 mov r1, r3 80a7324: 4a52 ldr r2, [pc, #328] ; (80a7470 ) 80a7326: 0083 lsls r3, r0, #2 80a7328: 4413 add r3, r2 80a732a: 440b add r3, r1 80a732c: 781b ldrb r3, [r3, #0] 80a732e: 4619 mov r1, r3 80a7330: f107 034c add.w r3, r7, #76 ; 0x4c 80a7334: f107 0244 add.w r2, r7, #68 ; 0x44 80a7338: 4620 mov r0, r4 80a733a: f027 fdcf bl 80ceedc if(ABS(maxf) < ABS(minf)) 80a733e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a7342: eef5 7ac0 vcmpe.f32 s15, #0.0 80a7346: eef1 fa10 vmrs APSR_nzcv, fpscr 80a734a: dd02 ble.n 80a7352 80a734c: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80a7350: e003 b.n 80a735a 80a7352: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a7356: eeb1 7a67 vneg.f32 s14, s15 80a735a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a735e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a7362: eef1 fa10 vmrs APSR_nzcv, fpscr 80a7366: dd02 ble.n 80a736e 80a7368: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a736c: e003 b.n 80a7376 80a736e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a7372: eef1 7a67 vneg.f32 s15, s15 80a7376: eeb4 7ae7 vcmpe.f32 s14, s15 80a737a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a737e: d505 bpl.n 80a738c CurVal = minf; 80a7380: 6c7b ldr r3, [r7, #68] ; 0x44 80a7382: 4a3c ldr r2, [pc, #240] ; (80a7474 ) 80a7384: 6013 str r3, [r2, #0] l = n1; 80a7386: 6cfb ldr r3, [r7, #76] ; 0x4c 80a7388: 653b str r3, [r7, #80] ; 0x50 80a738a: e004 b.n 80a7396 CurVal = maxf; 80a738c: 6c3b ldr r3, [r7, #64] ; 0x40 80a738e: 4a39 ldr r2, [pc, #228] ; (80a7474 ) 80a7390: 6013 str r3, [r2, #0] l = n2; 80a7392: 6cbb ldr r3, [r7, #72] ; 0x48 80a7394: 653b str r3, [r7, #80] ; 0x50 DynamicCursor[i].fineMpos = DynamicCursor[i].Mpos + l; 80a7396: 4a33 ldr r2, [pc, #204] ; (80a7464 ) 80a7398: 6efb ldr r3, [r7, #108] ; 0x6c 80a739a: 011b lsls r3, r3, #4 80a739c: 4413 add r3, r2 80a739e: 3304 adds r3, #4 80a73a0: 881a ldrh r2, [r3, #0] 80a73a2: 6d3b ldr r3, [r7, #80] ; 0x50 80a73a4: b29b uxth r3, r3 80a73a6: 4413 add r3, r2 80a73a8: b299 uxth r1, r3 80a73aa: 4a2e ldr r2, [pc, #184] ; (80a7464 ) 80a73ac: 6efb ldr r3, [r7, #108] ; 0x6c 80a73ae: 011b lsls r3, r3, #4 80a73b0: 4413 add r3, r2 80a73b2: 3306 adds r3, #6 80a73b4: 460a mov r2, r1 80a73b6: 801a strh r2, [r3, #0] tmpF = (float32_t) DynamicCursor[i].fineMpos; 80a73b8: 4a2a ldr r2, [pc, #168] ; (80a7464 ) 80a73ba: 6efb ldr r3, [r7, #108] ; 0x6c 80a73bc: 011b lsls r3, r3, #4 80a73be: 4413 add r3, r2 80a73c0: 3306 adds r3, #6 80a73c2: 881b ldrh r3, [r3, #0] 80a73c4: ee07 3a90 vmov s15, r3 80a73c8: eef8 7a67 vcvt.f32.u32 s15, s15 80a73cc: edc7 7a15 vstr s15, [r7, #84] ; 0x54 CurVal *= 0.70710678f; 80a73d0: 4b28 ldr r3, [pc, #160] ; (80a7474 ) 80a73d2: edd3 7a00 vldr s15, [r3] 80a73d6: ed9f 7a28 vldr s14, [pc, #160] ; 80a7478 80a73da: ee67 7a87 vmul.f32 s15, s15, s14 80a73de: 4b25 ldr r3, [pc, #148] ; (80a7474 ) 80a73e0: edc3 7a00 vstr s15, [r3] if(pardata.WIN == HANN) 80a73e4: 4b19 ldr r3, [pc, #100] ; (80a744c ) 80a73e6: 7a5b ldrb r3, [r3, #9] 80a73e8: b2db uxtb r3, r3 80a73ea: 2b01 cmp r3, #1 80a73ec: d107 bne.n 80a73fe CurVal *= 2.0f; 80a73ee: 4b21 ldr r3, [pc, #132] ; (80a7474 ) 80a73f0: edd3 7a00 vldr s15, [r3] 80a73f4: ee77 7aa7 vadd.f32 s15, s15, s15 80a73f8: 4b1e ldr r3, [pc, #120] ; (80a7474 ) 80a73fa: edc3 7a00 vstr s15, [r3] if(pardata.IVS[pardata.IPR] == PEAK) 80a73fe: 4b13 ldr r3, [pc, #76] ; (80a744c ) 80a7400: 785b ldrb r3, [r3, #1] 80a7402: b2db uxtb r3, r3 80a7404: 461a mov r2, r3 80a7406: 4b11 ldr r3, [pc, #68] ; (80a744c ) 80a7408: 4413 add r3, r2 80a740a: 789b ldrb r3, [r3, #2] 80a740c: b2db uxtb r3, r3 80a740e: 2b00 cmp r3, #0 80a7410: d109 bne.n 80a7426 CurVal *= 1.414213562373f; 80a7412: 4b18 ldr r3, [pc, #96] ; (80a7474 ) 80a7414: edd3 7a00 vldr s15, [r3] 80a7418: ed9f 7a18 vldr s14, [pc, #96] ; 80a747c 80a741c: ee67 7a87 vmul.f32 s15, s15, s14 80a7420: 4b14 ldr r3, [pc, #80] ; (80a7474 ) 80a7422: edc3 7a00 vstr s15, [r3] if(pardata.MSH == LOG) 80a7426: 4b09 ldr r3, [pc, #36] ; (80a744c ) 80a7428: 7a9b ldrb r3, [r3, #10] 80a742a: b2db uxtb r3, r3 80a742c: 2b01 cmp r3, #1 80a742e: d12f bne.n 80a7490 if(pardata.IIN != VOLTS) 80a7430: 4b06 ldr r3, [pc, #24] ; (80a744c ) 80a7432: 799b ldrb r3, [r3, #6] 80a7434: b2db uxtb r3, r3 80a7436: 2b02 cmp r3, #2 80a7438: d022 beq.n 80a7480 LinToLog(&CurVal, &CurVal); 80a743a: 490e ldr r1, [pc, #56] ; (80a7474 ) 80a743c: 480d ldr r0, [pc, #52] ; (80a7474 ) 80a743e: f7bf fa83 bl 8066948 80a7442: e025 b.n 80a7490 80a7444: 080d7540 .word 0x080d7540 80a7448: 3dcccccd .word 0x3dcccccd 80a744c: 20023eb8 .word 0x20023eb8 80a7450: 080d74fc .word 0x080d74fc 80a7454: 080d7500 .word 0x080d7500 80a7458: 447a0000 .word 0x447a0000 80a745c: 080d7544 .word 0x080d7544 80a7460: 080d7548 .word 0x080d7548 80a7464: 20020f94 .word 0x20020f94 80a7468: 64080000 .word 0x64080000 80a746c: 20020fc0 .word 0x20020fc0 80a7470: 080f5fec .word 0x080f5fec 80a7474: 200215bc .word 0x200215bc 80a7478: 3f3504f3 .word 0x3f3504f3 80a747c: 3fb504f3 .word 0x3fb504f3 else LinToLog_mV(&CurVal, &CurVal, pardata.IPR); 80a7480: 4bac ldr r3, [pc, #688] ; (80a7734 ) 80a7482: 785b ldrb r3, [r3, #1] 80a7484: b2db uxtb r3, r3 80a7486: 461a mov r2, r3 80a7488: 49ab ldr r1, [pc, #684] ; (80a7738 ) 80a748a: 48ab ldr r0, [pc, #684] ; (80a7738 ) 80a748c: f7bf fa8c bl 80669a8 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a7490: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a7494: 48a9 ldr r0, [pc, #676] ; (80a773c ) 80a7496: f7ad feb9 bl 805520c DynamicCursor[i].val_Y = CurVal; 80a749a: 4ba7 ldr r3, [pc, #668] ; (80a7738 ) 80a749c: 681a ldr r2, [r3, #0] 80a749e: 49a8 ldr r1, [pc, #672] ; (80a7740 ) 80a74a0: 6efb ldr r3, [r7, #108] ; 0x6c 80a74a2: 011b lsls r3, r3, #4 80a74a4: 440b add r3, r1 80a74a6: 330c adds r3, #12 80a74a8: 601a str r2, [r3, #0] Val = DynamicCursor[i].val_Y; 80a74aa: 4aa5 ldr r2, [pc, #660] ; (80a7740 ) 80a74ac: 6efb ldr r3, [r7, #108] ; 0x6c 80a74ae: 011b lsls r3, r3, #4 80a74b0: 4413 add r3, r2 80a74b2: 330c adds r3, #12 80a74b4: 681b ldr r3, [r3, #0] 80a74b6: 63fb str r3, [r7, #60] ; 0x3c if(pardata.MSH == LOG) 80a74b8: 4b9e ldr r3, [pc, #632] ; (80a7734 ) 80a74ba: 7a9b ldrb r3, [r3, #10] 80a74bc: b2db uxtb r3, r3 80a74be: 2b01 cmp r3, #1 80a74c0: d166 bne.n 80a7590 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "dB", LEFT_MODE); 80a74c2: 6efb ldr r3, [r7, #108] ; 0x6c 80a74c4: b29b uxth r3, r3 80a74c6: 00db lsls r3, r3, #3 80a74c8: b29b uxth r3, r3 80a74ca: 3335 adds r3, #53 ; 0x35 80a74cc: b299 uxth r1, r3 80a74ce: 2303 movs r3, #3 80a74d0: 4a9c ldr r2, [pc, #624] ; (80a7744 ) 80a74d2: 20dc movs r0, #220 ; 0xdc 80a74d4: f7ad ff60 bl 8055398 BSP_LCD_DisplayStringAt(217, 53 + 8 * i, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a74d8: 6efb ldr r3, [r7, #108] ; 0x6c 80a74da: b29b uxth r3, r3 80a74dc: 00db lsls r3, r3, #3 80a74de: b29b uxth r3, r3 80a74e0: 3335 adds r3, #53 ; 0x35 80a74e2: b29c uxth r4, r3 80a74e4: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a74e8: f04f 30ff mov.w r0, #4294967295 80a74ec: eeb0 0a67 vmov.f32 s0, s15 80a74f0: f7c0 fe56 bl 80681a0 80a74f4: 4602 mov r2, r0 80a74f6: 2302 movs r3, #2 80a74f8: 4621 mov r1, r4 80a74fa: 20d9 movs r0, #217 ; 0xd9 80a74fc: f7ad ff4c bl 8055398 l = strlen((char *)FloatToASCII(Val, -3)); 80a7500: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7504: f06f 0002 mvn.w r0, #2 80a7508: eeb0 0a67 vmov.f32 s0, s15 80a750c: f7c0 fe48 bl 80681a0 80a7510: 4603 mov r3, r0 80a7512: 4618 mov r0, r3 80a7514: f778 fefe bl 8020314 80a7518: 4603 mov r3, r0 80a751a: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a751c: 6d3a ldr r2, [r7, #80] ; 0x50 80a751e: 4613 mov r3, r2 80a7520: 009b lsls r3, r3, #2 80a7522: 4413 add r3, r2 80a7524: 3306 adds r3, #6 80a7526: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a7528: 4b87 ldr r3, [pc, #540] ; (80a7748 ) 80a752a: 781b ldrb r3, [r3, #0] 80a752c: 2b2d cmp r3, #45 ; 0x2d 80a752e: d102 bne.n 80a7536 80a7530: 6d3b ldr r3, [r7, #80] ; 0x50 80a7532: 3b05 subs r3, #5 80a7534: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80a7536: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a753a: 4884 ldr r0, [pc, #528] ; (80a774c ) 80a753c: f7ad fe66 bl 805520c if(!i) BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80a7540: 6efb ldr r3, [r7, #108] ; 0x6c 80a7542: 2b00 cmp r3, #0 80a7544: d10f bne.n 80a7566 80a7546: 6d3b ldr r3, [r7, #80] ; 0x50 80a7548: b29b uxth r3, r3 80a754a: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a754e: b298 uxth r0, r3 80a7550: 6efb ldr r3, [r7, #108] ; 0x6c 80a7552: b29b uxth r3, r3 80a7554: 00db lsls r3, r3, #3 80a7556: b29b uxth r3, r3 80a7558: 3335 adds r3, #53 ; 0x35 80a755a: b299 uxth r1, r3 80a755c: 2302 movs r3, #2 80a755e: 4a7c ldr r2, [pc, #496] ; (80a7750 ) 80a7560: f7ad ff1a bl 8055398 80a7564: e00e b.n 80a7584 else BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80a7566: 6d3b ldr r3, [r7, #80] ; 0x50 80a7568: b29b uxth r3, r3 80a756a: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a756e: b298 uxth r0, r3 80a7570: 6efb ldr r3, [r7, #108] ; 0x6c 80a7572: b29b uxth r3, r3 80a7574: 00db lsls r3, r3, #3 80a7576: b29b uxth r3, r3 80a7578: 3335 adds r3, #53 ; 0x35 80a757a: b299 uxth r1, r3 80a757c: 2302 movs r3, #2 80a757e: 4a75 ldr r2, [pc, #468] ; (80a7754 ) 80a7580: f7ad ff0a bl 8055398 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a7584: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a7588: 486c ldr r0, [pc, #432] ; (80a773c ) 80a758a: f7ad fe3f bl 805520c 80a758e: e3ff b.n 80a7d90 if(Val >= 1000.0f) 80a7590: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7594: ed9f 7a70 vldr s14, [pc, #448] ; 80a7758 80a7598: eef4 7ac7 vcmpe.f32 s15, s14 80a759c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a75a0: f2c0 8155 blt.w 80a784e Val *= 0.001f; 80a75a4: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a75a8: ed9f 7a6c vldr s14, [pc, #432] ; 80a775c 80a75ac: ee67 7a87 vmul.f32 s15, s15, s14 80a75b0: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IPR == ACC) 80a75b4: 4b5f ldr r3, [pc, #380] ; (80a7734 ) 80a75b6: 785b ldrb r3, [r3, #1] 80a75b8: b2db uxtb r3, r3 80a75ba: 2b00 cmp r3, #0 80a75bc: d13e bne.n 80a763c if(pardata.IIN != VOLTS) 80a75be: 4b5d ldr r3, [pc, #372] ; (80a7734 ) 80a75c0: 799b ldrb r3, [r3, #6] 80a75c2: b2db uxtb r3, r3 80a75c4: 2b02 cmp r3, #2 80a75c6: d01c beq.n 80a7602 if(pardata.LANG == RUS) 80a75c8: 4b5a ldr r3, [pc, #360] ; (80a7734 ) 80a75ca: 7b1b ldrb r3, [r3, #12] 80a75cc: b2db uxtb r3, r3 80a75ce: 2b00 cmp r3, #0 80a75d0: d10b bne.n 80a75ea BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "k&/c^", LEFT_MODE); 80a75d2: 6efb ldr r3, [r7, #108] ; 0x6c 80a75d4: b29b uxth r3, r3 80a75d6: 00db lsls r3, r3, #3 80a75d8: b29b uxth r3, r3 80a75da: 3335 adds r3, #53 ; 0x35 80a75dc: b299 uxth r1, r3 80a75de: 2303 movs r3, #3 80a75e0: 4a5f ldr r2, [pc, #380] ; (80a7760 ) 80a75e2: 20dc movs r0, #220 ; 0xdc 80a75e4: f7ad fed8 bl 8055398 80a75e8: e0d5 b.n 80a7796 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "km/s^", LEFT_MODE); 80a75ea: 6efb ldr r3, [r7, #108] ; 0x6c 80a75ec: b29b uxth r3, r3 80a75ee: 00db lsls r3, r3, #3 80a75f0: b29b uxth r3, r3 80a75f2: 3335 adds r3, #53 ; 0x35 80a75f4: b299 uxth r1, r3 80a75f6: 2303 movs r3, #3 80a75f8: 4a5a ldr r2, [pc, #360] ; (80a7764 ) 80a75fa: 20dc movs r0, #220 ; 0xdc 80a75fc: f7ad fecc bl 8055398 80a7600: e0c9 b.n 80a7796 if(pardata.LANG == RUS) 80a7602: 4b4c ldr r3, [pc, #304] ; (80a7734 ) 80a7604: 7b1b ldrb r3, [r3, #12] 80a7606: b2db uxtb r3, r3 80a7608: 2b00 cmp r3, #0 80a760a: d10b bne.n 80a7624 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "B", LEFT_MODE); 80a760c: 6efb ldr r3, [r7, #108] ; 0x6c 80a760e: b29b uxth r3, r3 80a7610: 00db lsls r3, r3, #3 80a7612: b29b uxth r3, r3 80a7614: 3335 adds r3, #53 ; 0x35 80a7616: b299 uxth r1, r3 80a7618: 2303 movs r3, #3 80a761a: 4a53 ldr r2, [pc, #332] ; (80a7768 ) 80a761c: 20dc movs r0, #220 ; 0xdc 80a761e: f7ad febb bl 8055398 80a7622: e0b8 b.n 80a7796 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "V", LEFT_MODE); 80a7624: 6efb ldr r3, [r7, #108] ; 0x6c 80a7626: b29b uxth r3, r3 80a7628: 00db lsls r3, r3, #3 80a762a: b29b uxth r3, r3 80a762c: 3335 adds r3, #53 ; 0x35 80a762e: b299 uxth r1, r3 80a7630: 2303 movs r3, #3 80a7632: 4a4e ldr r2, [pc, #312] ; (80a776c ) 80a7634: 20dc movs r0, #220 ; 0xdc 80a7636: f7ad feaf bl 8055398 80a763a: e0ac b.n 80a7796 if(pardata.IPR == VEL) 80a763c: 4b3d ldr r3, [pc, #244] ; (80a7734 ) 80a763e: 785b ldrb r3, [r3, #1] 80a7640: b2db uxtb r3, r3 80a7642: 2b01 cmp r3, #1 80a7644: d13e bne.n 80a76c4 if(pardata.IIN != VOLTS) 80a7646: 4b3b ldr r3, [pc, #236] ; (80a7734 ) 80a7648: 799b ldrb r3, [r3, #6] 80a764a: b2db uxtb r3, r3 80a764c: 2b02 cmp r3, #2 80a764e: d01c beq.n 80a768a if(pardata.LANG == RUS) 80a7650: 4b38 ldr r3, [pc, #224] ; (80a7734 ) 80a7652: 7b1b ldrb r3, [r3, #12] 80a7654: b2db uxtb r3, r3 80a7656: 2b00 cmp r3, #0 80a7658: d10b bne.n 80a7672 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&/c", LEFT_MODE); 80a765a: 6efb ldr r3, [r7, #108] ; 0x6c 80a765c: b29b uxth r3, r3 80a765e: 00db lsls r3, r3, #3 80a7660: b29b uxth r3, r3 80a7662: 3335 adds r3, #53 ; 0x35 80a7664: b299 uxth r1, r3 80a7666: 2303 movs r3, #3 80a7668: 4a41 ldr r2, [pc, #260] ; (80a7770 ) 80a766a: 20dc movs r0, #220 ; 0xdc 80a766c: f7ad fe94 bl 8055398 80a7670: e091 b.n 80a7796 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "m/s", LEFT_MODE); 80a7672: 6efb ldr r3, [r7, #108] ; 0x6c 80a7674: b29b uxth r3, r3 80a7676: 00db lsls r3, r3, #3 80a7678: b29b uxth r3, r3 80a767a: 3335 adds r3, #53 ; 0x35 80a767c: b299 uxth r1, r3 80a767e: 2303 movs r3, #3 80a7680: 4a3c ldr r2, [pc, #240] ; (80a7774 ) 80a7682: 20dc movs r0, #220 ; 0xdc 80a7684: f7ad fe88 bl 8055398 80a7688: e085 b.n 80a7796 if(pardata.LANG == RUS) 80a768a: 4b2a ldr r3, [pc, #168] ; (80a7734 ) 80a768c: 7b1b ldrb r3, [r3, #12] 80a768e: b2db uxtb r3, r3 80a7690: 2b00 cmp r3, #0 80a7692: d10b bne.n 80a76ac BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "B", LEFT_MODE); 80a7694: 6efb ldr r3, [r7, #108] ; 0x6c 80a7696: b29b uxth r3, r3 80a7698: 00db lsls r3, r3, #3 80a769a: b29b uxth r3, r3 80a769c: 3335 adds r3, #53 ; 0x35 80a769e: b299 uxth r1, r3 80a76a0: 2303 movs r3, #3 80a76a2: 4a31 ldr r2, [pc, #196] ; (80a7768 ) 80a76a4: 20dc movs r0, #220 ; 0xdc 80a76a6: f7ad fe77 bl 8055398 80a76aa: e074 b.n 80a7796 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "V", LEFT_MODE); 80a76ac: 6efb ldr r3, [r7, #108] ; 0x6c 80a76ae: b29b uxth r3, r3 80a76b0: 00db lsls r3, r3, #3 80a76b2: b29b uxth r3, r3 80a76b4: 3335 adds r3, #53 ; 0x35 80a76b6: b299 uxth r1, r3 80a76b8: 2303 movs r3, #3 80a76ba: 4a2c ldr r2, [pc, #176] ; (80a776c ) 80a76bc: 20dc movs r0, #220 ; 0xdc 80a76be: f7ad fe6b bl 8055398 80a76c2: e068 b.n 80a7796 if(pardata.IPR == DIS) 80a76c4: 4b1b ldr r3, [pc, #108] ; (80a7734 ) 80a76c6: 785b ldrb r3, [r3, #1] 80a76c8: b2db uxtb r3, r3 80a76ca: 2b02 cmp r3, #2 80a76cc: d163 bne.n 80a7796 if(pardata.IIN != VOLTS) 80a76ce: 4b19 ldr r3, [pc, #100] ; (80a7734 ) 80a76d0: 799b ldrb r3, [r3, #6] 80a76d2: b2db uxtb r3, r3 80a76d4: 2b02 cmp r3, #2 80a76d6: d01c beq.n 80a7712 if(pardata.LANG == RUS) 80a76d8: 4b16 ldr r3, [pc, #88] ; (80a7734 ) 80a76da: 7b1b ldrb r3, [r3, #12] 80a76dc: b2db uxtb r3, r3 80a76de: 2b00 cmp r3, #0 80a76e0: d10b bne.n 80a76fa BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&&", LEFT_MODE); 80a76e2: 6efb ldr r3, [r7, #108] ; 0x6c 80a76e4: b29b uxth r3, r3 80a76e6: 00db lsls r3, r3, #3 80a76e8: b29b uxth r3, r3 80a76ea: 3335 adds r3, #53 ; 0x35 80a76ec: b299 uxth r1, r3 80a76ee: 2303 movs r3, #3 80a76f0: 4a21 ldr r2, [pc, #132] ; (80a7778 ) 80a76f2: 20dc movs r0, #220 ; 0xdc 80a76f4: f7ad fe50 bl 8055398 80a76f8: e04d b.n 80a7796 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mm", LEFT_MODE); 80a76fa: 6efb ldr r3, [r7, #108] ; 0x6c 80a76fc: b29b uxth r3, r3 80a76fe: 00db lsls r3, r3, #3 80a7700: b29b uxth r3, r3 80a7702: 3335 adds r3, #53 ; 0x35 80a7704: b299 uxth r1, r3 80a7706: 2303 movs r3, #3 80a7708: 4a1c ldr r2, [pc, #112] ; (80a777c ) 80a770a: 20dc movs r0, #220 ; 0xdc 80a770c: f7ad fe44 bl 8055398 80a7710: e041 b.n 80a7796 if(pardata.LANG == RUS) 80a7712: 4b08 ldr r3, [pc, #32] ; (80a7734 ) 80a7714: 7b1b ldrb r3, [r3, #12] 80a7716: b2db uxtb r3, r3 80a7718: 2b00 cmp r3, #0 80a771a: d131 bne.n 80a7780 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "B", LEFT_MODE); 80a771c: 6efb ldr r3, [r7, #108] ; 0x6c 80a771e: b29b uxth r3, r3 80a7720: 00db lsls r3, r3, #3 80a7722: b29b uxth r3, r3 80a7724: 3335 adds r3, #53 ; 0x35 80a7726: b299 uxth r1, r3 80a7728: 2303 movs r3, #3 80a772a: 4a0f ldr r2, [pc, #60] ; (80a7768 ) 80a772c: 20dc movs r0, #220 ; 0xdc 80a772e: f7ad fe33 bl 8055398 80a7732: e030 b.n 80a7796 80a7734: 20023eb8 .word 0x20023eb8 80a7738: 200215bc .word 0x200215bc 80a773c: ff26a01f .word 0xff26a01f 80a7740: 20020f94 .word 0x20020f94 80a7744: 080d74f8 .word 0x080d74f8 80a7748: 20026d18 .word 0x20026d18 80a774c: ffffa500 .word 0xffffa500 80a7750: 080d7504 .word 0x080d7504 80a7754: 080d7508 .word 0x080d7508 80a7758: 447a0000 .word 0x447a0000 80a775c: 3a83126f .word 0x3a83126f 80a7760: 080d74b0 .word 0x080d74b0 80a7764: 080d7410 .word 0x080d7410 80a7768: 080d750c .word 0x080d750c 80a776c: 080d5110 .word 0x080d5110 80a7770: 080d7510 .word 0x080d7510 80a7774: 080d741c .word 0x080d741c 80a7778: 080d7514 .word 0x080d7514 80a777c: 080d7424 .word 0x080d7424 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "V", LEFT_MODE); 80a7780: 6efb ldr r3, [r7, #108] ; 0x6c 80a7782: b29b uxth r3, r3 80a7784: 00db lsls r3, r3, #3 80a7786: b29b uxth r3, r3 80a7788: 3335 adds r3, #53 ; 0x35 80a778a: b299 uxth r1, r3 80a778c: 2303 movs r3, #3 80a778e: 4a95 ldr r2, [pc, #596] ; (80a79e4 ) 80a7790: 20dc movs r0, #220 ; 0xdc 80a7792: f7ad fe01 bl 8055398 BSP_LCD_DisplayStringAt(217, 53 + 8 * i, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a7796: 6efb ldr r3, [r7, #108] ; 0x6c 80a7798: b29b uxth r3, r3 80a779a: 00db lsls r3, r3, #3 80a779c: b29b uxth r3, r3 80a779e: 3335 adds r3, #53 ; 0x35 80a77a0: b29c uxth r4, r3 80a77a2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a77a6: f06f 0003 mvn.w r0, #3 80a77aa: eeb0 0a67 vmov.f32 s0, s15 80a77ae: f7c0 fcf7 bl 80681a0 80a77b2: 4602 mov r2, r0 80a77b4: 2302 movs r3, #2 80a77b6: 4621 mov r1, r4 80a77b8: 20d9 movs r0, #217 ; 0xd9 80a77ba: f7ad fded bl 8055398 l = strlen((char *)FloatToASCII(Val, -3)); 80a77be: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a77c2: f06f 0002 mvn.w r0, #2 80a77c6: eeb0 0a67 vmov.f32 s0, s15 80a77ca: f7c0 fce9 bl 80681a0 80a77ce: 4603 mov r3, r0 80a77d0: 4618 mov r0, r3 80a77d2: f778 fd9f bl 8020314 80a77d6: 4603 mov r3, r0 80a77d8: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a77da: 6d3a ldr r2, [r7, #80] ; 0x50 80a77dc: 4613 mov r3, r2 80a77de: 009b lsls r3, r3, #2 80a77e0: 4413 add r3, r2 80a77e2: 3306 adds r3, #6 80a77e4: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a77e6: 4b80 ldr r3, [pc, #512] ; (80a79e8 ) 80a77e8: 781b ldrb r3, [r3, #0] 80a77ea: 2b2d cmp r3, #45 ; 0x2d 80a77ec: d102 bne.n 80a77f4 80a77ee: 6d3b ldr r3, [r7, #80] ; 0x50 80a77f0: 3b05 subs r3, #5 80a77f2: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80a77f4: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a77f8: 487c ldr r0, [pc, #496] ; (80a79ec ) 80a77fa: f7ad fd07 bl 805520c if(!i) BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80a77fe: 6efb ldr r3, [r7, #108] ; 0x6c 80a7800: 2b00 cmp r3, #0 80a7802: d10f bne.n 80a7824 80a7804: 6d3b ldr r3, [r7, #80] ; 0x50 80a7806: b29b uxth r3, r3 80a7808: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a780c: b298 uxth r0, r3 80a780e: 6efb ldr r3, [r7, #108] ; 0x6c 80a7810: b29b uxth r3, r3 80a7812: 00db lsls r3, r3, #3 80a7814: b29b uxth r3, r3 80a7816: 3335 adds r3, #53 ; 0x35 80a7818: b299 uxth r1, r3 80a781a: 2302 movs r3, #2 80a781c: 4a74 ldr r2, [pc, #464] ; (80a79f0 ) 80a781e: f7ad fdbb bl 8055398 80a7822: e00e b.n 80a7842 else BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80a7824: 6d3b ldr r3, [r7, #80] ; 0x50 80a7826: b29b uxth r3, r3 80a7828: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a782c: b298 uxth r0, r3 80a782e: 6efb ldr r3, [r7, #108] ; 0x6c 80a7830: b29b uxth r3, r3 80a7832: 00db lsls r3, r3, #3 80a7834: b29b uxth r3, r3 80a7836: 3335 adds r3, #53 ; 0x35 80a7838: b299 uxth r1, r3 80a783a: 2302 movs r3, #2 80a783c: 4a6d ldr r2, [pc, #436] ; (80a79f4 ) 80a783e: f7ad fdab bl 8055398 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a7842: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a7846: 486c ldr r0, [pc, #432] ; (80a79f8 ) 80a7848: f7ad fce0 bl 805520c 80a784c: e2a0 b.n 80a7d90 if(Val >= 0.1f) 80a784e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7852: ed9f 7a6a vldr s14, [pc, #424] ; 80a79fc 80a7856: eef4 7ac7 vcmpe.f32 s15, s14 80a785a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a785e: f2c0 8148 blt.w 80a7af2 if(pardata.IPR == ACC) 80a7862: 4b67 ldr r3, [pc, #412] ; (80a7a00 ) 80a7864: 785b ldrb r3, [r3, #1] 80a7866: b2db uxtb r3, r3 80a7868: 2b00 cmp r3, #0 80a786a: d13e bne.n 80a78ea if(pardata.IIN != VOLTS) 80a786c: 4b64 ldr r3, [pc, #400] ; (80a7a00 ) 80a786e: 799b ldrb r3, [r3, #6] 80a7870: b2db uxtb r3, r3 80a7872: 2b02 cmp r3, #2 80a7874: d01c beq.n 80a78b0 if(pardata.LANG == RUS) 80a7876: 4b62 ldr r3, [pc, #392] ; (80a7a00 ) 80a7878: 7b1b ldrb r3, [r3, #12] 80a787a: b2db uxtb r3, r3 80a787c: 2b00 cmp r3, #0 80a787e: d10b bne.n 80a7898 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&/c^", LEFT_MODE); 80a7880: 6efb ldr r3, [r7, #108] ; 0x6c 80a7882: b29b uxth r3, r3 80a7884: 00db lsls r3, r3, #3 80a7886: b29b uxth r3, r3 80a7888: 3335 adds r3, #53 ; 0x35 80a788a: b299 uxth r1, r3 80a788c: 2303 movs r3, #3 80a788e: 4a5d ldr r2, [pc, #372] ; (80a7a04 ) 80a7890: 20dc movs r0, #220 ; 0xdc 80a7892: f7ad fd81 bl 8055398 80a7896: e0d0 b.n 80a7a3a else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "m/s^", LEFT_MODE); 80a7898: 6efb ldr r3, [r7, #108] ; 0x6c 80a789a: b29b uxth r3, r3 80a789c: 00db lsls r3, r3, #3 80a789e: b29b uxth r3, r3 80a78a0: 3335 adds r3, #53 ; 0x35 80a78a2: b299 uxth r1, r3 80a78a4: 2303 movs r3, #3 80a78a6: 4a58 ldr r2, [pc, #352] ; (80a7a08 ) 80a78a8: 20dc movs r0, #220 ; 0xdc 80a78aa: f7ad fd75 bl 8055398 80a78ae: e0c4 b.n 80a7a3a if(pardata.LANG == RUS) 80a78b0: 4b53 ldr r3, [pc, #332] ; (80a7a00 ) 80a78b2: 7b1b ldrb r3, [r3, #12] 80a78b4: b2db uxtb r3, r3 80a78b6: 2b00 cmp r3, #0 80a78b8: d10b bne.n 80a78d2 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&B", LEFT_MODE); 80a78ba: 6efb ldr r3, [r7, #108] ; 0x6c 80a78bc: b29b uxth r3, r3 80a78be: 00db lsls r3, r3, #3 80a78c0: b29b uxth r3, r3 80a78c2: 3335 adds r3, #53 ; 0x35 80a78c4: b299 uxth r1, r3 80a78c6: 2303 movs r3, #3 80a78c8: 4a50 ldr r2, [pc, #320] ; (80a7a0c ) 80a78ca: 20dc movs r0, #220 ; 0xdc 80a78cc: f7ad fd64 bl 8055398 80a78d0: e0b3 b.n 80a7a3a else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mV", LEFT_MODE); 80a78d2: 6efb ldr r3, [r7, #108] ; 0x6c 80a78d4: b29b uxth r3, r3 80a78d6: 00db lsls r3, r3, #3 80a78d8: b29b uxth r3, r3 80a78da: 3335 adds r3, #53 ; 0x35 80a78dc: b299 uxth r1, r3 80a78de: 2303 movs r3, #3 80a78e0: 4a4b ldr r2, [pc, #300] ; (80a7a10 ) 80a78e2: 20dc movs r0, #220 ; 0xdc 80a78e4: f7ad fd58 bl 8055398 80a78e8: e0a7 b.n 80a7a3a else if(pardata.IPR == VEL) 80a78ea: 4b45 ldr r3, [pc, #276] ; (80a7a00 ) 80a78ec: 785b ldrb r3, [r3, #1] 80a78ee: b2db uxtb r3, r3 80a78f0: 2b01 cmp r3, #1 80a78f2: d13e bne.n 80a7972 if(pardata.IIN != VOLTS) 80a78f4: 4b42 ldr r3, [pc, #264] ; (80a7a00 ) 80a78f6: 799b ldrb r3, [r3, #6] 80a78f8: b2db uxtb r3, r3 80a78fa: 2b02 cmp r3, #2 80a78fc: d01c beq.n 80a7938 if(pardata.LANG == RUS) 80a78fe: 4b40 ldr r3, [pc, #256] ; (80a7a00 ) 80a7900: 7b1b ldrb r3, [r3, #12] 80a7902: b2db uxtb r3, r3 80a7904: 2b00 cmp r3, #0 80a7906: d10b bne.n 80a7920 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&&/c", LEFT_MODE); 80a7908: 6efb ldr r3, [r7, #108] ; 0x6c 80a790a: b29b uxth r3, r3 80a790c: 00db lsls r3, r3, #3 80a790e: b29b uxth r3, r3 80a7910: 3335 adds r3, #53 ; 0x35 80a7912: b299 uxth r1, r3 80a7914: 2303 movs r3, #3 80a7916: 4a3f ldr r2, [pc, #252] ; (80a7a14 ) 80a7918: 20dc movs r0, #220 ; 0xdc 80a791a: f7ad fd3d bl 8055398 80a791e: e08c b.n 80a7a3a else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mm/s", LEFT_MODE); 80a7920: 6efb ldr r3, [r7, #108] ; 0x6c 80a7922: b29b uxth r3, r3 80a7924: 00db lsls r3, r3, #3 80a7926: b29b uxth r3, r3 80a7928: 3335 adds r3, #53 ; 0x35 80a792a: b299 uxth r1, r3 80a792c: 2303 movs r3, #3 80a792e: 4a3a ldr r2, [pc, #232] ; (80a7a18 ) 80a7930: 20dc movs r0, #220 ; 0xdc 80a7932: f7ad fd31 bl 8055398 80a7936: e080 b.n 80a7a3a if(pardata.LANG == RUS) 80a7938: 4b31 ldr r3, [pc, #196] ; (80a7a00 ) 80a793a: 7b1b ldrb r3, [r3, #12] 80a793c: b2db uxtb r3, r3 80a793e: 2b00 cmp r3, #0 80a7940: d10b bne.n 80a795a BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&B", LEFT_MODE); 80a7942: 6efb ldr r3, [r7, #108] ; 0x6c 80a7944: b29b uxth r3, r3 80a7946: 00db lsls r3, r3, #3 80a7948: b29b uxth r3, r3 80a794a: 3335 adds r3, #53 ; 0x35 80a794c: b299 uxth r1, r3 80a794e: 2303 movs r3, #3 80a7950: 4a2e ldr r2, [pc, #184] ; (80a7a0c ) 80a7952: 20dc movs r0, #220 ; 0xdc 80a7954: f7ad fd20 bl 8055398 80a7958: e06f b.n 80a7a3a else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mV", LEFT_MODE); 80a795a: 6efb ldr r3, [r7, #108] ; 0x6c 80a795c: b29b uxth r3, r3 80a795e: 00db lsls r3, r3, #3 80a7960: b29b uxth r3, r3 80a7962: 3335 adds r3, #53 ; 0x35 80a7964: b299 uxth r1, r3 80a7966: 2303 movs r3, #3 80a7968: 4a29 ldr r2, [pc, #164] ; (80a7a10 ) 80a796a: 20dc movs r0, #220 ; 0xdc 80a796c: f7ad fd14 bl 8055398 80a7970: e063 b.n 80a7a3a else if(pardata.IPR == DIS) 80a7972: 4b23 ldr r3, [pc, #140] ; (80a7a00 ) 80a7974: 785b ldrb r3, [r3, #1] 80a7976: b2db uxtb r3, r3 80a7978: 2b02 cmp r3, #2 80a797a: d15e bne.n 80a7a3a if(pardata.IIN != VOLTS) 80a797c: 4b20 ldr r3, [pc, #128] ; (80a7a00 ) 80a797e: 799b ldrb r3, [r3, #6] 80a7980: b2db uxtb r3, r3 80a7982: 2b02 cmp r3, #2 80a7984: d01c beq.n 80a79c0 if(pardata.LANG == RUS) 80a7986: 4b1e ldr r3, [pc, #120] ; (80a7a00 ) 80a7988: 7b1b ldrb r3, [r3, #12] 80a798a: b2db uxtb r3, r3 80a798c: 2b00 cmp r3, #0 80a798e: d10b bne.n 80a79a8 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&k&", LEFT_MODE); 80a7990: 6efb ldr r3, [r7, #108] ; 0x6c 80a7992: b29b uxth r3, r3 80a7994: 00db lsls r3, r3, #3 80a7996: b29b uxth r3, r3 80a7998: 3335 adds r3, #53 ; 0x35 80a799a: b299 uxth r1, r3 80a799c: 2303 movs r3, #3 80a799e: 4a1f ldr r2, [pc, #124] ; (80a7a1c ) 80a79a0: 20dc movs r0, #220 ; 0xdc 80a79a2: f7ad fcf9 bl 8055398 80a79a6: e048 b.n 80a7a3a else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "um", LEFT_MODE); 80a79a8: 6efb ldr r3, [r7, #108] ; 0x6c 80a79aa: b29b uxth r3, r3 80a79ac: 00db lsls r3, r3, #3 80a79ae: b29b uxth r3, r3 80a79b0: 3335 adds r3, #53 ; 0x35 80a79b2: b299 uxth r1, r3 80a79b4: 2303 movs r3, #3 80a79b6: 4a1a ldr r2, [pc, #104] ; (80a7a20 ) 80a79b8: 20dc movs r0, #220 ; 0xdc 80a79ba: f7ad fced bl 8055398 80a79be: e03c b.n 80a7a3a if(pardata.LANG == RUS) 80a79c0: 4b0f ldr r3, [pc, #60] ; (80a7a00 ) 80a79c2: 7b1b ldrb r3, [r3, #12] 80a79c4: b2db uxtb r3, r3 80a79c6: 2b00 cmp r3, #0 80a79c8: d12c bne.n 80a7a24 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&B", LEFT_MODE); 80a79ca: 6efb ldr r3, [r7, #108] ; 0x6c 80a79cc: b29b uxth r3, r3 80a79ce: 00db lsls r3, r3, #3 80a79d0: b29b uxth r3, r3 80a79d2: 3335 adds r3, #53 ; 0x35 80a79d4: b299 uxth r1, r3 80a79d6: 2303 movs r3, #3 80a79d8: 4a0c ldr r2, [pc, #48] ; (80a7a0c ) 80a79da: 20dc movs r0, #220 ; 0xdc 80a79dc: f7ad fcdc bl 8055398 80a79e0: e02b b.n 80a7a3a 80a79e2: bf00 nop 80a79e4: 080d5110 .word 0x080d5110 80a79e8: 20026d18 .word 0x20026d18 80a79ec: ffffa500 .word 0xffffa500 80a79f0: 080d7504 .word 0x080d7504 80a79f4: 080d7508 .word 0x080d7508 80a79f8: ff26a01f .word 0xff26a01f 80a79fc: 3dcccccd .word 0x3dcccccd 80a7a00: 20023eb8 .word 0x20023eb8 80a7a04: 080d74c0 .word 0x080d74c0 80a7a08: 080d7430 .word 0x080d7430 80a7a0c: 080d7518 .word 0x080d7518 80a7a10: 080d751c .word 0x080d751c 80a7a14: 080d7520 .word 0x080d7520 80a7a18: 080d7440 .word 0x080d7440 80a7a1c: 080d7528 .word 0x080d7528 80a7a20: 080d744c .word 0x080d744c else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mV", LEFT_MODE); 80a7a24: 6efb ldr r3, [r7, #108] ; 0x6c 80a7a26: b29b uxth r3, r3 80a7a28: 00db lsls r3, r3, #3 80a7a2a: b29b uxth r3, r3 80a7a2c: 3335 adds r3, #53 ; 0x35 80a7a2e: b299 uxth r1, r3 80a7a30: 2303 movs r3, #3 80a7a32: 4a94 ldr r2, [pc, #592] ; (80a7c84 ) 80a7a34: 20dc movs r0, #220 ; 0xdc 80a7a36: f7ad fcaf bl 8055398 BSP_LCD_DisplayStringAt(217, 53 + 8 * i, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a7a3a: 6efb ldr r3, [r7, #108] ; 0x6c 80a7a3c: b29b uxth r3, r3 80a7a3e: 00db lsls r3, r3, #3 80a7a40: b29b uxth r3, r3 80a7a42: 3335 adds r3, #53 ; 0x35 80a7a44: b29c uxth r4, r3 80a7a46: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7a4a: f06f 0002 mvn.w r0, #2 80a7a4e: eeb0 0a67 vmov.f32 s0, s15 80a7a52: f7c0 fba5 bl 80681a0 80a7a56: 4602 mov r2, r0 80a7a58: 2302 movs r3, #2 80a7a5a: 4621 mov r1, r4 80a7a5c: 20d9 movs r0, #217 ; 0xd9 80a7a5e: f7ad fc9b bl 8055398 l = strlen((char *)FloatToASCII(Val, -3)); 80a7a62: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7a66: f06f 0002 mvn.w r0, #2 80a7a6a: eeb0 0a67 vmov.f32 s0, s15 80a7a6e: f7c0 fb97 bl 80681a0 80a7a72: 4603 mov r3, r0 80a7a74: 4618 mov r0, r3 80a7a76: f778 fc4d bl 8020314 80a7a7a: 4603 mov r3, r0 80a7a7c: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a7a7e: 6d3a ldr r2, [r7, #80] ; 0x50 80a7a80: 4613 mov r3, r2 80a7a82: 009b lsls r3, r3, #2 80a7a84: 4413 add r3, r2 80a7a86: 3306 adds r3, #6 80a7a88: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a7a8a: 4b7f ldr r3, [pc, #508] ; (80a7c88 ) 80a7a8c: 781b ldrb r3, [r3, #0] 80a7a8e: 2b2d cmp r3, #45 ; 0x2d 80a7a90: d102 bne.n 80a7a98 80a7a92: 6d3b ldr r3, [r7, #80] ; 0x50 80a7a94: 3b05 subs r3, #5 80a7a96: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80a7a98: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a7a9c: 487b ldr r0, [pc, #492] ; (80a7c8c ) 80a7a9e: f7ad fbb5 bl 805520c if(!i) BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80a7aa2: 6efb ldr r3, [r7, #108] ; 0x6c 80a7aa4: 2b00 cmp r3, #0 80a7aa6: d10f bne.n 80a7ac8 80a7aa8: 6d3b ldr r3, [r7, #80] ; 0x50 80a7aaa: b29b uxth r3, r3 80a7aac: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a7ab0: b298 uxth r0, r3 80a7ab2: 6efb ldr r3, [r7, #108] ; 0x6c 80a7ab4: b29b uxth r3, r3 80a7ab6: 00db lsls r3, r3, #3 80a7ab8: b29b uxth r3, r3 80a7aba: 3335 adds r3, #53 ; 0x35 80a7abc: b299 uxth r1, r3 80a7abe: 2302 movs r3, #2 80a7ac0: 4a73 ldr r2, [pc, #460] ; (80a7c90 ) 80a7ac2: f7ad fc69 bl 8055398 80a7ac6: e00e b.n 80a7ae6 else BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80a7ac8: 6d3b ldr r3, [r7, #80] ; 0x50 80a7aca: b29b uxth r3, r3 80a7acc: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a7ad0: b298 uxth r0, r3 80a7ad2: 6efb ldr r3, [r7, #108] ; 0x6c 80a7ad4: b29b uxth r3, r3 80a7ad6: 00db lsls r3, r3, #3 80a7ad8: b29b uxth r3, r3 80a7ada: 3335 adds r3, #53 ; 0x35 80a7adc: b299 uxth r1, r3 80a7ade: 2302 movs r3, #2 80a7ae0: 4a6c ldr r2, [pc, #432] ; (80a7c94 ) 80a7ae2: f7ad fc59 bl 8055398 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a7ae6: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a7aea: 486b ldr r0, [pc, #428] ; (80a7c98 ) 80a7aec: f7ad fb8e bl 805520c 80a7af0: e14e b.n 80a7d90 Val *= 1000.0f; 80a7af2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7af6: ed9f 7a69 vldr s14, [pc, #420] ; 80a7c9c 80a7afa: ee67 7a87 vmul.f32 s15, s15, s14 80a7afe: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IPR == ACC) 80a7b02: 4b67 ldr r3, [pc, #412] ; (80a7ca0 ) 80a7b04: 785b ldrb r3, [r3, #1] 80a7b06: b2db uxtb r3, r3 80a7b08: 2b00 cmp r3, #0 80a7b0a: d13e bne.n 80a7b8a if(pardata.IIN != VOLTS) 80a7b0c: 4b64 ldr r3, [pc, #400] ; (80a7ca0 ) 80a7b0e: 799b ldrb r3, [r3, #6] 80a7b10: b2db uxtb r3, r3 80a7b12: 2b02 cmp r3, #2 80a7b14: d01c beq.n 80a7b50 if(pardata.LANG == RUS) 80a7b16: 4b62 ldr r3, [pc, #392] ; (80a7ca0 ) 80a7b18: 7b1b ldrb r3, [r3, #12] 80a7b1a: b2db uxtb r3, r3 80a7b1c: 2b00 cmp r3, #0 80a7b1e: d10b bne.n 80a7b38 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&&/c^", LEFT_MODE); 80a7b20: 6efb ldr r3, [r7, #108] ; 0x6c 80a7b22: b29b uxth r3, r3 80a7b24: 00db lsls r3, r3, #3 80a7b26: b29b uxth r3, r3 80a7b28: 3335 adds r3, #53 ; 0x35 80a7b2a: b299 uxth r1, r3 80a7b2c: 2303 movs r3, #3 80a7b2e: 4a5d ldr r2, [pc, #372] ; (80a7ca4 ) 80a7b30: 20dc movs r0, #220 ; 0xdc 80a7b32: f7ad fc31 bl 8055398 80a7b36: e0d0 b.n 80a7cda else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mm/s^", LEFT_MODE); 80a7b38: 6efb ldr r3, [r7, #108] ; 0x6c 80a7b3a: b29b uxth r3, r3 80a7b3c: 00db lsls r3, r3, #3 80a7b3e: b29b uxth r3, r3 80a7b40: 3335 adds r3, #53 ; 0x35 80a7b42: b299 uxth r1, r3 80a7b44: 2303 movs r3, #3 80a7b46: 4a58 ldr r2, [pc, #352] ; (80a7ca8 ) 80a7b48: 20dc movs r0, #220 ; 0xdc 80a7b4a: f7ad fc25 bl 8055398 80a7b4e: e0c4 b.n 80a7cda if(pardata.LANG == RUS) 80a7b50: 4b53 ldr r3, [pc, #332] ; (80a7ca0 ) 80a7b52: 7b1b ldrb r3, [r3, #12] 80a7b54: b2db uxtb r3, r3 80a7b56: 2b00 cmp r3, #0 80a7b58: d10b bne.n 80a7b72 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&kB", LEFT_MODE); 80a7b5a: 6efb ldr r3, [r7, #108] ; 0x6c 80a7b5c: b29b uxth r3, r3 80a7b5e: 00db lsls r3, r3, #3 80a7b60: b29b uxth r3, r3 80a7b62: 3335 adds r3, #53 ; 0x35 80a7b64: b299 uxth r1, r3 80a7b66: 2303 movs r3, #3 80a7b68: 4a50 ldr r2, [pc, #320] ; (80a7cac ) 80a7b6a: 20dc movs r0, #220 ; 0xdc 80a7b6c: f7ad fc14 bl 8055398 80a7b70: e0b3 b.n 80a7cda else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "uV", LEFT_MODE); 80a7b72: 6efb ldr r3, [r7, #108] ; 0x6c 80a7b74: b29b uxth r3, r3 80a7b76: 00db lsls r3, r3, #3 80a7b78: b29b uxth r3, r3 80a7b7a: 3335 adds r3, #53 ; 0x35 80a7b7c: b299 uxth r1, r3 80a7b7e: 2303 movs r3, #3 80a7b80: 4a4b ldr r2, [pc, #300] ; (80a7cb0 ) 80a7b82: 20dc movs r0, #220 ; 0xdc 80a7b84: f7ad fc08 bl 8055398 80a7b88: e0a7 b.n 80a7cda else if(pardata.IPR == VEL) 80a7b8a: 4b45 ldr r3, [pc, #276] ; (80a7ca0 ) 80a7b8c: 785b ldrb r3, [r3, #1] 80a7b8e: b2db uxtb r3, r3 80a7b90: 2b01 cmp r3, #1 80a7b92: d13e bne.n 80a7c12 if(pardata.IIN != VOLTS) 80a7b94: 4b42 ldr r3, [pc, #264] ; (80a7ca0 ) 80a7b96: 799b ldrb r3, [r3, #6] 80a7b98: b2db uxtb r3, r3 80a7b9a: 2b02 cmp r3, #2 80a7b9c: d01c beq.n 80a7bd8 if(pardata.LANG == RUS) 80a7b9e: 4b40 ldr r3, [pc, #256] ; (80a7ca0 ) 80a7ba0: 7b1b ldrb r3, [r3, #12] 80a7ba2: b2db uxtb r3, r3 80a7ba4: 2b00 cmp r3, #0 80a7ba6: d10b bne.n 80a7bc0 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&k&/c", LEFT_MODE); 80a7ba8: 6efb ldr r3, [r7, #108] ; 0x6c 80a7baa: b29b uxth r3, r3 80a7bac: 00db lsls r3, r3, #3 80a7bae: b29b uxth r3, r3 80a7bb0: 3335 adds r3, #53 ; 0x35 80a7bb2: b299 uxth r1, r3 80a7bb4: 2303 movs r3, #3 80a7bb6: 4a3f ldr r2, [pc, #252] ; (80a7cb4 ) 80a7bb8: 20dc movs r0, #220 ; 0xdc 80a7bba: f7ad fbed bl 8055398 80a7bbe: e08c b.n 80a7cda else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mkm/s", LEFT_MODE); 80a7bc0: 6efb ldr r3, [r7, #108] ; 0x6c 80a7bc2: b29b uxth r3, r3 80a7bc4: 00db lsls r3, r3, #3 80a7bc6: b29b uxth r3, r3 80a7bc8: 3335 adds r3, #53 ; 0x35 80a7bca: b299 uxth r1, r3 80a7bcc: 2303 movs r3, #3 80a7bce: 4a3a ldr r2, [pc, #232] ; (80a7cb8 ) 80a7bd0: 20dc movs r0, #220 ; 0xdc 80a7bd2: f7ad fbe1 bl 8055398 80a7bd6: e080 b.n 80a7cda if(pardata.LANG == RUS) 80a7bd8: 4b31 ldr r3, [pc, #196] ; (80a7ca0 ) 80a7bda: 7b1b ldrb r3, [r3, #12] 80a7bdc: b2db uxtb r3, r3 80a7bde: 2b00 cmp r3, #0 80a7be0: d10b bne.n 80a7bfa BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&kB", LEFT_MODE); 80a7be2: 6efb ldr r3, [r7, #108] ; 0x6c 80a7be4: b29b uxth r3, r3 80a7be6: 00db lsls r3, r3, #3 80a7be8: b29b uxth r3, r3 80a7bea: 3335 adds r3, #53 ; 0x35 80a7bec: b299 uxth r1, r3 80a7bee: 2303 movs r3, #3 80a7bf0: 4a2e ldr r2, [pc, #184] ; (80a7cac ) 80a7bf2: 20dc movs r0, #220 ; 0xdc 80a7bf4: f7ad fbd0 bl 8055398 80a7bf8: e06f b.n 80a7cda else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "uV", LEFT_MODE); 80a7bfa: 6efb ldr r3, [r7, #108] ; 0x6c 80a7bfc: b29b uxth r3, r3 80a7bfe: 00db lsls r3, r3, #3 80a7c00: b29b uxth r3, r3 80a7c02: 3335 adds r3, #53 ; 0x35 80a7c04: b299 uxth r1, r3 80a7c06: 2303 movs r3, #3 80a7c08: 4a29 ldr r2, [pc, #164] ; (80a7cb0 ) 80a7c0a: 20dc movs r0, #220 ; 0xdc 80a7c0c: f7ad fbc4 bl 8055398 80a7c10: e063 b.n 80a7cda else if(pardata.IPR == DIS) 80a7c12: 4b23 ldr r3, [pc, #140] ; (80a7ca0 ) 80a7c14: 785b ldrb r3, [r3, #1] 80a7c16: b2db uxtb r3, r3 80a7c18: 2b02 cmp r3, #2 80a7c1a: d15e bne.n 80a7cda if(pardata.IIN != VOLTS) 80a7c1c: 4b20 ldr r3, [pc, #128] ; (80a7ca0 ) 80a7c1e: 799b ldrb r3, [r3, #6] 80a7c20: b2db uxtb r3, r3 80a7c22: 2b02 cmp r3, #2 80a7c24: d01c beq.n 80a7c60 if(pardata.LANG == RUS) 80a7c26: 4b1e ldr r3, [pc, #120] ; (80a7ca0 ) 80a7c28: 7b1b ldrb r3, [r3, #12] 80a7c2a: b2db uxtb r3, r3 80a7c2c: 2b00 cmp r3, #0 80a7c2e: d10b bne.n 80a7c48 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "#&", LEFT_MODE); 80a7c30: 6efb ldr r3, [r7, #108] ; 0x6c 80a7c32: b29b uxth r3, r3 80a7c34: 00db lsls r3, r3, #3 80a7c36: b29b uxth r3, r3 80a7c38: 3335 adds r3, #53 ; 0x35 80a7c3a: b299 uxth r1, r3 80a7c3c: 2303 movs r3, #3 80a7c3e: 4a1f ldr r2, [pc, #124] ; (80a7cbc ) 80a7c40: 20dc movs r0, #220 ; 0xdc 80a7c42: f7ad fba9 bl 8055398 80a7c46: e048 b.n 80a7cda else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "nm", LEFT_MODE); 80a7c48: 6efb ldr r3, [r7, #108] ; 0x6c 80a7c4a: b29b uxth r3, r3 80a7c4c: 00db lsls r3, r3, #3 80a7c4e: b29b uxth r3, r3 80a7c50: 3335 adds r3, #53 ; 0x35 80a7c52: b299 uxth r1, r3 80a7c54: 2303 movs r3, #3 80a7c56: 4a1a ldr r2, [pc, #104] ; (80a7cc0 ) 80a7c58: 20dc movs r0, #220 ; 0xdc 80a7c5a: f7ad fb9d bl 8055398 80a7c5e: e03c b.n 80a7cda if(pardata.LANG == RUS) 80a7c60: 4b0f ldr r3, [pc, #60] ; (80a7ca0 ) 80a7c62: 7b1b ldrb r3, [r3, #12] 80a7c64: b2db uxtb r3, r3 80a7c66: 2b00 cmp r3, #0 80a7c68: d12c bne.n 80a7cc4 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&kB", LEFT_MODE); 80a7c6a: 6efb ldr r3, [r7, #108] ; 0x6c 80a7c6c: b29b uxth r3, r3 80a7c6e: 00db lsls r3, r3, #3 80a7c70: b29b uxth r3, r3 80a7c72: 3335 adds r3, #53 ; 0x35 80a7c74: b299 uxth r1, r3 80a7c76: 2303 movs r3, #3 80a7c78: 4a0c ldr r2, [pc, #48] ; (80a7cac ) 80a7c7a: 20dc movs r0, #220 ; 0xdc 80a7c7c: f7ad fb8c bl 8055398 80a7c80: e02b b.n 80a7cda 80a7c82: bf00 nop 80a7c84: 080d751c .word 0x080d751c 80a7c88: 20026d18 .word 0x20026d18 80a7c8c: ffffa500 .word 0xffffa500 80a7c90: 080d7504 .word 0x080d7504 80a7c94: 080d7508 .word 0x080d7508 80a7c98: ff26a01f .word 0xff26a01f 80a7c9c: 447a0000 .word 0x447a0000 80a7ca0: 20023eb8 .word 0x20023eb8 80a7ca4: 080d74d0 .word 0x080d74d0 80a7ca8: 080d7458 .word 0x080d7458 80a7cac: 080d752c .word 0x080d752c 80a7cb0: 080d747c .word 0x080d747c 80a7cb4: 080d7530 .word 0x080d7530 80a7cb8: 080d7468 .word 0x080d7468 80a7cbc: 080d7538 .word 0x080d7538 80a7cc0: 080d7474 .word 0x080d7474 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "uV", LEFT_MODE); 80a7cc4: 6efb ldr r3, [r7, #108] ; 0x6c 80a7cc6: b29b uxth r3, r3 80a7cc8: 00db lsls r3, r3, #3 80a7cca: b29b uxth r3, r3 80a7ccc: 3335 adds r3, #53 ; 0x35 80a7cce: b299 uxth r1, r3 80a7cd0: 2303 movs r3, #3 80a7cd2: 4ab1 ldr r2, [pc, #708] ; (80a7f98 ) 80a7cd4: 20dc movs r0, #220 ; 0xdc 80a7cd6: f7ad fb5f bl 8055398 BSP_LCD_DisplayStringAt(217, 53 + 8 * i, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a7cda: 6efb ldr r3, [r7, #108] ; 0x6c 80a7cdc: b29b uxth r3, r3 80a7cde: 00db lsls r3, r3, #3 80a7ce0: b29b uxth r3, r3 80a7ce2: 3335 adds r3, #53 ; 0x35 80a7ce4: b29c uxth r4, r3 80a7ce6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7cea: f06f 0003 mvn.w r0, #3 80a7cee: eeb0 0a67 vmov.f32 s0, s15 80a7cf2: f7c0 fa55 bl 80681a0 80a7cf6: 4602 mov r2, r0 80a7cf8: 2302 movs r3, #2 80a7cfa: 4621 mov r1, r4 80a7cfc: 20d9 movs r0, #217 ; 0xd9 80a7cfe: f7ad fb4b bl 8055398 l = strlen((char *)FloatToASCII(Val, -3)); 80a7d02: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7d06: f06f 0002 mvn.w r0, #2 80a7d0a: eeb0 0a67 vmov.f32 s0, s15 80a7d0e: f7c0 fa47 bl 80681a0 80a7d12: 4603 mov r3, r0 80a7d14: 4618 mov r0, r3 80a7d16: f778 fafd bl 8020314 80a7d1a: 4603 mov r3, r0 80a7d1c: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a7d1e: 6d3a ldr r2, [r7, #80] ; 0x50 80a7d20: 4613 mov r3, r2 80a7d22: 009b lsls r3, r3, #2 80a7d24: 4413 add r3, r2 80a7d26: 3306 adds r3, #6 80a7d28: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a7d2a: 4b9c ldr r3, [pc, #624] ; (80a7f9c ) 80a7d2c: 781b ldrb r3, [r3, #0] 80a7d2e: 2b2d cmp r3, #45 ; 0x2d 80a7d30: d102 bne.n 80a7d38 80a7d32: 6d3b ldr r3, [r7, #80] ; 0x50 80a7d34: 3b05 subs r3, #5 80a7d36: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80a7d38: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a7d3c: 4898 ldr r0, [pc, #608] ; (80a7fa0 ) 80a7d3e: f7ad fa65 bl 805520c if(!i) BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80a7d42: 6efb ldr r3, [r7, #108] ; 0x6c 80a7d44: 2b00 cmp r3, #0 80a7d46: d10f bne.n 80a7d68 80a7d48: 6d3b ldr r3, [r7, #80] ; 0x50 80a7d4a: b29b uxth r3, r3 80a7d4c: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a7d50: b298 uxth r0, r3 80a7d52: 6efb ldr r3, [r7, #108] ; 0x6c 80a7d54: b29b uxth r3, r3 80a7d56: 00db lsls r3, r3, #3 80a7d58: b29b uxth r3, r3 80a7d5a: 3335 adds r3, #53 ; 0x35 80a7d5c: b299 uxth r1, r3 80a7d5e: 2302 movs r3, #2 80a7d60: 4a90 ldr r2, [pc, #576] ; (80a7fa4 ) 80a7d62: f7ad fb19 bl 8055398 80a7d66: e00e b.n 80a7d86 else BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80a7d68: 6d3b ldr r3, [r7, #80] ; 0x50 80a7d6a: b29b uxth r3, r3 80a7d6c: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a7d70: b298 uxth r0, r3 80a7d72: 6efb ldr r3, [r7, #108] ; 0x6c 80a7d74: b29b uxth r3, r3 80a7d76: 00db lsls r3, r3, #3 80a7d78: b29b uxth r3, r3 80a7d7a: 3335 adds r3, #53 ; 0x35 80a7d7c: b299 uxth r1, r3 80a7d7e: 2302 movs r3, #2 80a7d80: 4a89 ldr r2, [pc, #548] ; (80a7fa8 ) 80a7d82: f7ad fb09 bl 8055398 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a7d86: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a7d8a: 4888 ldr r0, [pc, #544] ; (80a7fac ) 80a7d8c: f7ad fa3e bl 805520c LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a7d90: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a7d94: 4886 ldr r0, [pc, #536] ; (80a7fb0 ) 80a7d96: f7ad fa39 bl 805520c tmpF = (float32_t) DynamicCursor[i].fineMpos; 80a7d9a: 4a86 ldr r2, [pc, #536] ; (80a7fb4 ) 80a7d9c: 6efb ldr r3, [r7, #108] ; 0x6c 80a7d9e: 011b lsls r3, r3, #4 80a7da0: 4413 add r3, r2 80a7da2: 3306 adds r3, #6 80a7da4: 881b ldrh r3, [r3, #0] 80a7da6: ee07 3a90 vmov s15, r3 80a7daa: eef8 7a67 vcvt.f32.u32 s15, s15 80a7dae: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(tmpF != TF) 80a7db2: 4b81 ldr r3, [pc, #516] ; (80a7fb8 ) 80a7db4: edd3 7a00 vldr s15, [r3] 80a7db8: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80a7dbc: eeb4 7a67 vcmp.f32 s14, s15 80a7dc0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a7dc4: d01d beq.n 80a7e02 TF = tmpF; 80a7dc6: 4a7c ldr r2, [pc, #496] ; (80a7fb8 ) 80a7dc8: 6d7b ldr r3, [r7, #84] ; 0x54 80a7dca: 6013 str r3, [r2, #0] TF *= Delta_SPC[pardata.FRQ][pardata.LNE]; 80a7dcc: 4b7b ldr r3, [pc, #492] ; (80a7fbc ) 80a7dce: 7adb ldrb r3, [r3, #11] 80a7dd0: b2db uxtb r3, r3 80a7dd2: 4618 mov r0, r3 80a7dd4: 4b79 ldr r3, [pc, #484] ; (80a7fbc ) 80a7dd6: 79db ldrb r3, [r3, #7] 80a7dd8: b2db uxtb r3, r3 80a7dda: 4619 mov r1, r3 80a7ddc: 4a78 ldr r2, [pc, #480] ; (80a7fc0 ) 80a7dde: 0083 lsls r3, r0, #2 80a7de0: 440b add r3, r1 80a7de2: 009b lsls r3, r3, #2 80a7de4: 4413 add r3, r2 80a7de6: ed93 7a00 vldr s14, [r3] 80a7dea: 4b73 ldr r3, [pc, #460] ; (80a7fb8 ) 80a7dec: edd3 7a00 vldr s15, [r3] 80a7df0: ee67 7a27 vmul.f32 s15, s14, s15 80a7df4: 4b70 ldr r3, [pc, #448] ; (80a7fb8 ) 80a7df6: edc3 7a00 vstr s15, [r3] oldTF = TF; 80a7dfa: 4b6f ldr r3, [pc, #444] ; (80a7fb8 ) 80a7dfc: 681b ldr r3, [r3, #0] 80a7dfe: 4a71 ldr r2, [pc, #452] ; (80a7fc4 ) 80a7e00: 6013 str r3, [r2, #0] tmpF = TF; 80a7e02: 4b6d ldr r3, [pc, #436] ; (80a7fb8 ) 80a7e04: 681b ldr r3, [r3, #0] 80a7e06: 657b str r3, [r7, #84] ; 0x54 DynamicCursor[i].val_X = tmpF; 80a7e08: 4a6a ldr r2, [pc, #424] ; (80a7fb4 ) 80a7e0a: 6efb ldr r3, [r7, #108] ; 0x6c 80a7e0c: 011b lsls r3, r3, #4 80a7e0e: 4413 add r3, r2 80a7e10: 3308 adds r3, #8 80a7e12: 6d7a ldr r2, [r7, #84] ; 0x54 80a7e14: 601a str r2, [r3, #0] if(tmpF >= 1000.0f) 80a7e16: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a7e1a: ed9f 7a6b vldr s14, [pc, #428] ; 80a7fc8 80a7e1e: eef4 7ac7 vcmpe.f32 s15, s14 80a7e22: eef1 fa10 vmrs APSR_nzcv, fpscr 80a7e26: db39 blt.n 80a7e9c tmpF *= 0.001f; 80a7e28: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a7e2c: ed9f 7a67 vldr s14, [pc, #412] ; 80a7fcc 80a7e30: ee67 7a87 vmul.f32 s15, s15, s14 80a7e34: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a7e38: 4b60 ldr r3, [pc, #384] ; (80a7fbc ) 80a7e3a: 7b1b ldrb r3, [r3, #12] 80a7e3c: b2db uxtb r3, r3 80a7e3e: 2b00 cmp r3, #0 80a7e40: d10c bne.n 80a7e5c BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "k$%", LEFT_MODE); 80a7e42: 6efb ldr r3, [r7, #108] ; 0x6c 80a7e44: b29b uxth r3, r3 80a7e46: 00db lsls r3, r3, #3 80a7e48: b29b uxth r3, r3 80a7e4a: 3335 adds r3, #53 ; 0x35 80a7e4c: b299 uxth r1, r3 80a7e4e: 2303 movs r3, #3 80a7e50: 4a5f ldr r2, [pc, #380] ; (80a7fd0 ) 80a7e52: f44f 7097 mov.w r0, #302 ; 0x12e 80a7e56: f7ad fa9f bl 8055398 80a7e5a: e00b b.n 80a7e74 else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "kHz", LEFT_MODE); 80a7e5c: 6efb ldr r3, [r7, #108] ; 0x6c 80a7e5e: b29b uxth r3, r3 80a7e60: 00db lsls r3, r3, #3 80a7e62: b29b uxth r3, r3 80a7e64: 3335 adds r3, #53 ; 0x35 80a7e66: b299 uxth r1, r3 80a7e68: 2303 movs r3, #3 80a7e6a: 4a5a ldr r2, [pc, #360] ; (80a7fd4 ) 80a7e6c: f44f 7097 mov.w r0, #302 ; 0x12e 80a7e70: f7ad fa92 bl 8055398 BSP_LCD_DisplayStringAt(299, 53 + 8 * i, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a7e74: 6efb ldr r3, [r7, #108] ; 0x6c 80a7e76: b29b uxth r3, r3 80a7e78: 00db lsls r3, r3, #3 80a7e7a: b29b uxth r3, r3 80a7e7c: 3335 adds r3, #53 ; 0x35 80a7e7e: b29c uxth r4, r3 80a7e80: f06f 0003 mvn.w r0, #3 80a7e84: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a7e88: f7c0 f98a bl 80681a0 80a7e8c: 4602 mov r2, r0 80a7e8e: 2302 movs r3, #2 80a7e90: 4621 mov r1, r4 80a7e92: f240 102b movw r0, #299 ; 0x12b 80a7e96: f7ad fa7f bl 8055398 80a7e9a: e073 b.n 80a7f84 if(tmpF >= 0.1f) 80a7e9c: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a7ea0: ed9f 7a4d vldr s14, [pc, #308] ; 80a7fd8 80a7ea4: eef4 7ac7 vcmpe.f32 s15, s14 80a7ea8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a7eac: db31 blt.n 80a7f12 if(pardata.LANG == RUS) 80a7eae: 4b43 ldr r3, [pc, #268] ; (80a7fbc ) 80a7eb0: 7b1b ldrb r3, [r3, #12] 80a7eb2: b2db uxtb r3, r3 80a7eb4: 2b00 cmp r3, #0 80a7eb6: d10c bne.n 80a7ed2 BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "$%", LEFT_MODE); 80a7eb8: 6efb ldr r3, [r7, #108] ; 0x6c 80a7eba: b29b uxth r3, r3 80a7ebc: 00db lsls r3, r3, #3 80a7ebe: b29b uxth r3, r3 80a7ec0: 3335 adds r3, #53 ; 0x35 80a7ec2: b299 uxth r1, r3 80a7ec4: 2303 movs r3, #3 80a7ec6: 4a45 ldr r2, [pc, #276] ; (80a7fdc ) 80a7ec8: f44f 7097 mov.w r0, #302 ; 0x12e 80a7ecc: f7ad fa64 bl 8055398 80a7ed0: e00b b.n 80a7eea else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "Hz", LEFT_MODE); 80a7ed2: 6efb ldr r3, [r7, #108] ; 0x6c 80a7ed4: b29b uxth r3, r3 80a7ed6: 00db lsls r3, r3, #3 80a7ed8: b29b uxth r3, r3 80a7eda: 3335 adds r3, #53 ; 0x35 80a7edc: b299 uxth r1, r3 80a7ede: 2303 movs r3, #3 80a7ee0: 4a3f ldr r2, [pc, #252] ; (80a7fe0 ) 80a7ee2: f44f 7097 mov.w r0, #302 ; 0x12e 80a7ee6: f7ad fa57 bl 8055398 BSP_LCD_DisplayStringAt(299, 53 + 8 * i, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a7eea: 6efb ldr r3, [r7, #108] ; 0x6c 80a7eec: b29b uxth r3, r3 80a7eee: 00db lsls r3, r3, #3 80a7ef0: b29b uxth r3, r3 80a7ef2: 3335 adds r3, #53 ; 0x35 80a7ef4: b29c uxth r4, r3 80a7ef6: f06f 0002 mvn.w r0, #2 80a7efa: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a7efe: f7c0 f94f bl 80681a0 80a7f02: 4602 mov r2, r0 80a7f04: 2302 movs r3, #2 80a7f06: 4621 mov r1, r4 80a7f08: f240 102b movw r0, #299 ; 0x12b 80a7f0c: f7ad fa44 bl 8055398 80a7f10: e038 b.n 80a7f84 tmpF *= 1000.0f; 80a7f12: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a7f16: ed9f 7a2c vldr s14, [pc, #176] ; 80a7fc8 80a7f1a: ee67 7a87 vmul.f32 s15, s15, s14 80a7f1e: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a7f22: 4b26 ldr r3, [pc, #152] ; (80a7fbc ) 80a7f24: 7b1b ldrb r3, [r3, #12] 80a7f26: b2db uxtb r3, r3 80a7f28: 2b00 cmp r3, #0 80a7f2a: d10c bne.n 80a7f46 BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "&$%", LEFT_MODE); 80a7f2c: 6efb ldr r3, [r7, #108] ; 0x6c 80a7f2e: b29b uxth r3, r3 80a7f30: 00db lsls r3, r3, #3 80a7f32: b29b uxth r3, r3 80a7f34: 3335 adds r3, #53 ; 0x35 80a7f36: b299 uxth r1, r3 80a7f38: 2303 movs r3, #3 80a7f3a: 4a2a ldr r2, [pc, #168] ; (80a7fe4 ) 80a7f3c: f44f 7097 mov.w r0, #302 ; 0x12e 80a7f40: f7ad fa2a bl 8055398 80a7f44: e00b b.n 80a7f5e else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "mHz", LEFT_MODE); 80a7f46: 6efb ldr r3, [r7, #108] ; 0x6c 80a7f48: b29b uxth r3, r3 80a7f4a: 00db lsls r3, r3, #3 80a7f4c: b29b uxth r3, r3 80a7f4e: 3335 adds r3, #53 ; 0x35 80a7f50: b299 uxth r1, r3 80a7f52: 2303 movs r3, #3 80a7f54: 4a24 ldr r2, [pc, #144] ; (80a7fe8 ) 80a7f56: f44f 7097 mov.w r0, #302 ; 0x12e 80a7f5a: f7ad fa1d bl 8055398 BSP_LCD_DisplayStringAt(299, 53 + 8 * i, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a7f5e: 6efb ldr r3, [r7, #108] ; 0x6c 80a7f60: b29b uxth r3, r3 80a7f62: 00db lsls r3, r3, #3 80a7f64: b29b uxth r3, r3 80a7f66: 3335 adds r3, #53 ; 0x35 80a7f68: b29c uxth r4, r3 80a7f6a: f06f 0001 mvn.w r0, #1 80a7f6e: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a7f72: f7c0 f915 bl 80681a0 80a7f76: 4602 mov r2, r0 80a7f78: 2302 movs r3, #2 80a7f7a: 4621 mov r1, r4 80a7f7c: f240 102b movw r0, #299 ; 0x12b 80a7f80: f7ad fa0a bl 8055398 for(i = 0; i < 2; i++) 80a7f84: 6efb ldr r3, [r7, #108] ; 0x6c 80a7f86: 3301 adds r3, #1 80a7f88: 66fb str r3, [r7, #108] ; 0x6c 80a7f8a: 6efb ldr r3, [r7, #108] ; 0x6c 80a7f8c: 2b01 cmp r3, #1 80a7f8e: f67f a98e bls.w 80a72ae if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB)) 80a7f92: f002 ba2f b.w 80aa3f4 80a7f96: bf00 nop 80a7f98: 080d747c .word 0x080d747c 80a7f9c: 20026d18 .word 0x20026d18 80a7fa0: ffffa500 .word 0xffffa500 80a7fa4: 080d7504 .word 0x080d7504 80a7fa8: 080d7508 .word 0x080d7508 80a7fac: ff26a01f .word 0xff26a01f 80a7fb0: ff808080 .word 0xff808080 80a7fb4: 20020f94 .word 0x20020f94 80a7fb8: 200215c0 .word 0x200215c0 80a7fbc: 20023eb8 .word 0x20023eb8 80a7fc0: 080f60cc .word 0x080f60cc 80a7fc4: 20021698 .word 0x20021698 80a7fc8: 447a0000 .word 0x447a0000 80a7fcc: 3a83126f .word 0x3a83126f 80a7fd0: 080d753c .word 0x080d753c 80a7fd4: 080d7540 .word 0x080d7540 80a7fd8: 3dcccccd .word 0x3dcccccd 80a7fdc: 080d74fc .word 0x080d74fc 80a7fe0: 080d7500 .word 0x080d7500 80a7fe4: 080d7544 .word 0x080d7544 80a7fe8: 080d7548 .word 0x080d7548 if(pardata.SYG == SPEC_OKT) 80a7fec: 4bb0 ldr r3, [pc, #704] ; (80a82b0 ) 80a7fee: 781b ldrb r3, [r3, #0] 80a7ff0: b2db uxtb r3, r3 80a7ff2: 2b06 cmp r3, #6 80a7ff4: f040 8336 bne.w 80a8664 CurVal = ScrA_f32(CURSOR); 80a7ff8: 4bae ldr r3, [pc, #696] ; (80a82b4 ) 80a7ffa: 681b ldr r3, [r3, #0] 80a7ffc: 009a lsls r2, r3, #2 80a7ffe: 4bae ldr r3, [pc, #696] ; (80a82b8 ) 80a8000: 4413 add r3, r2 80a8002: 681b ldr r3, [r3, #0] 80a8004: 4aad ldr r2, [pc, #692] ; (80a82bc ) 80a8006: 6013 str r3, [r2, #0] if(pardata.MSH == LOG) 80a8008: 4ba9 ldr r3, [pc, #676] ; (80a82b0 ) 80a800a: 7a9b ldrb r3, [r3, #10] 80a800c: b2db uxtb r3, r3 80a800e: 2b01 cmp r3, #1 80a8010: d111 bne.n 80a8036 if(pardata.IIN != VOLTS) 80a8012: 4ba7 ldr r3, [pc, #668] ; (80a82b0 ) 80a8014: 799b ldrb r3, [r3, #6] 80a8016: b2db uxtb r3, r3 80a8018: 2b02 cmp r3, #2 80a801a: d004 beq.n 80a8026 LinToLog(&CurVal, &CurVal); 80a801c: 49a7 ldr r1, [pc, #668] ; (80a82bc ) 80a801e: 48a7 ldr r0, [pc, #668] ; (80a82bc ) 80a8020: f7be fc92 bl 8066948 80a8024: e007 b.n 80a8036 else LinToLog_mV(&CurVal, &CurVal, pardata.IPR); 80a8026: 4ba2 ldr r3, [pc, #648] ; (80a82b0 ) 80a8028: 785b ldrb r3, [r3, #1] 80a802a: b2db uxtb r3, r3 80a802c: 461a mov r2, r3 80a802e: 49a3 ldr r1, [pc, #652] ; (80a82bc ) 80a8030: 48a2 ldr r0, [pc, #648] ; (80a82bc ) 80a8032: f7be fcb9 bl 80669a8 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a8036: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a803a: 48a1 ldr r0, [pc, #644] ; (80a82c0 ) 80a803c: f7ad f8e6 bl 805520c Val = CurVal; 80a8040: 4b9e ldr r3, [pc, #632] ; (80a82bc ) 80a8042: 681b ldr r3, [r3, #0] 80a8044: 63fb str r3, [r7, #60] ; 0x3c if(pardata.MSH == LOG) 80a8046: 4b9a ldr r3, [pc, #616] ; (80a82b0 ) 80a8048: 7a9b ldrb r3, [r3, #10] 80a804a: b2db uxtb r3, r3 80a804c: 2b01 cmp r3, #1 80a804e: d114 bne.n 80a807a BSP_LCD_DisplayStringAt(220, 45, "dB", LEFT_MODE); 80a8050: 2303 movs r3, #3 80a8052: 4a9c ldr r2, [pc, #624] ; (80a82c4 ) 80a8054: 212d movs r1, #45 ; 0x2d 80a8056: 20dc movs r0, #220 ; 0xdc 80a8058: f7ad f99e bl 8055398 BSP_LCD_DisplayStringAt(217, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a805c: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8060: f04f 30ff mov.w r0, #4294967295 80a8064: eeb0 0a67 vmov.f32 s0, s15 80a8068: f7c0 f89a bl 80681a0 80a806c: 4602 mov r2, r0 80a806e: 2302 movs r3, #2 80a8070: 212d movs r1, #45 ; 0x2d 80a8072: 20d9 movs r0, #217 ; 0xd9 80a8074: f7ad f990 bl 8055398 80a8078: e22b b.n 80a84d2 if(Val >= 1000.0f) 80a807a: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a807e: ed9f 7a92 vldr s14, [pc, #584] ; 80a82c8 80a8082: eef4 7ac7 vcmpe.f32 s15, s14 80a8086: eef1 fa10 vmrs APSR_nzcv, fpscr 80a808a: f2c0 80a6 blt.w 80a81da Val *= 0.001f; 80a808e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8092: ed9f 7a8e vldr s14, [pc, #568] ; 80a82cc 80a8096: ee67 7a87 vmul.f32 s15, s15, s14 80a809a: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IPR == ACC) 80a809e: 4b84 ldr r3, [pc, #528] ; (80a82b0 ) 80a80a0: 785b ldrb r3, [r3, #1] 80a80a2: b2db uxtb r3, r3 80a80a4: 2b00 cmp r3, #0 80a80a6: d12a bne.n 80a80fe if(pardata.IIN != VOLTS) 80a80a8: 4b81 ldr r3, [pc, #516] ; (80a82b0 ) 80a80aa: 799b ldrb r3, [r3, #6] 80a80ac: b2db uxtb r3, r3 80a80ae: 2b02 cmp r3, #2 80a80b0: d012 beq.n 80a80d8 if(pardata.LANG == RUS) 80a80b2: 4b7f ldr r3, [pc, #508] ; (80a82b0 ) 80a80b4: 7b1b ldrb r3, [r3, #12] 80a80b6: b2db uxtb r3, r3 80a80b8: 2b00 cmp r3, #0 80a80ba: d106 bne.n 80a80ca BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a80bc: 2303 movs r3, #3 80a80be: 4a84 ldr r2, [pc, #528] ; (80a82d0 ) 80a80c0: 212d movs r1, #45 ; 0x2d 80a80c2: 20dc movs r0, #220 ; 0xdc 80a80c4: f7ad f968 bl 8055398 80a80c8: e078 b.n 80a81bc else BSP_LCD_DisplayStringAt(220, 45, "km/s^", LEFT_MODE); 80a80ca: 2303 movs r3, #3 80a80cc: 4a81 ldr r2, [pc, #516] ; (80a82d4 ) 80a80ce: 212d movs r1, #45 ; 0x2d 80a80d0: 20dc movs r0, #220 ; 0xdc 80a80d2: f7ad f961 bl 8055398 80a80d6: e071 b.n 80a81bc if(pardata.LANG == RUS) 80a80d8: 4b75 ldr r3, [pc, #468] ; (80a82b0 ) 80a80da: 7b1b ldrb r3, [r3, #12] 80a80dc: b2db uxtb r3, r3 80a80de: 2b00 cmp r3, #0 80a80e0: d106 bne.n 80a80f0 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a80e2: 2303 movs r3, #3 80a80e4: 4a7c ldr r2, [pc, #496] ; (80a82d8 ) 80a80e6: 212d movs r1, #45 ; 0x2d 80a80e8: 20dc movs r0, #220 ; 0xdc 80a80ea: f7ad f955 bl 8055398 80a80ee: e065 b.n 80a81bc else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a80f0: 2303 movs r3, #3 80a80f2: 4a7a ldr r2, [pc, #488] ; (80a82dc ) 80a80f4: 212d movs r1, #45 ; 0x2d 80a80f6: 20dc movs r0, #220 ; 0xdc 80a80f8: f7ad f94e bl 8055398 80a80fc: e05e b.n 80a81bc if(pardata.IPR == VEL) 80a80fe: 4b6c ldr r3, [pc, #432] ; (80a82b0 ) 80a8100: 785b ldrb r3, [r3, #1] 80a8102: b2db uxtb r3, r3 80a8104: 2b01 cmp r3, #1 80a8106: d12a bne.n 80a815e if(pardata.IIN != VOLTS) 80a8108: 4b69 ldr r3, [pc, #420] ; (80a82b0 ) 80a810a: 799b ldrb r3, [r3, #6] 80a810c: b2db uxtb r3, r3 80a810e: 2b02 cmp r3, #2 80a8110: d012 beq.n 80a8138 if(pardata.LANG == RUS) 80a8112: 4b67 ldr r3, [pc, #412] ; (80a82b0 ) 80a8114: 7b1b ldrb r3, [r3, #12] 80a8116: b2db uxtb r3, r3 80a8118: 2b00 cmp r3, #0 80a811a: d106 bne.n 80a812a BSP_LCD_DisplayStringAt(220, 45, "&/c", LEFT_MODE); 80a811c: 2303 movs r3, #3 80a811e: 4a70 ldr r2, [pc, #448] ; (80a82e0 ) 80a8120: 212d movs r1, #45 ; 0x2d 80a8122: 20dc movs r0, #220 ; 0xdc 80a8124: f7ad f938 bl 8055398 80a8128: e048 b.n 80a81bc else BSP_LCD_DisplayStringAt(220, 45, "m/s", LEFT_MODE); 80a812a: 2303 movs r3, #3 80a812c: 4a6d ldr r2, [pc, #436] ; (80a82e4 ) 80a812e: 212d movs r1, #45 ; 0x2d 80a8130: 20dc movs r0, #220 ; 0xdc 80a8132: f7ad f931 bl 8055398 80a8136: e041 b.n 80a81bc if(pardata.LANG == RUS) 80a8138: 4b5d ldr r3, [pc, #372] ; (80a82b0 ) 80a813a: 7b1b ldrb r3, [r3, #12] 80a813c: b2db uxtb r3, r3 80a813e: 2b00 cmp r3, #0 80a8140: d106 bne.n 80a8150 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a8142: 2303 movs r3, #3 80a8144: 4a64 ldr r2, [pc, #400] ; (80a82d8 ) 80a8146: 212d movs r1, #45 ; 0x2d 80a8148: 20dc movs r0, #220 ; 0xdc 80a814a: f7ad f925 bl 8055398 80a814e: e035 b.n 80a81bc else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a8150: 2303 movs r3, #3 80a8152: 4a62 ldr r2, [pc, #392] ; (80a82dc ) 80a8154: 212d movs r1, #45 ; 0x2d 80a8156: 20dc movs r0, #220 ; 0xdc 80a8158: f7ad f91e bl 8055398 80a815c: e02e b.n 80a81bc if(pardata.IPR == DIS) 80a815e: 4b54 ldr r3, [pc, #336] ; (80a82b0 ) 80a8160: 785b ldrb r3, [r3, #1] 80a8162: b2db uxtb r3, r3 80a8164: 2b02 cmp r3, #2 80a8166: d129 bne.n 80a81bc if(pardata.IIN != VOLTS) 80a8168: 4b51 ldr r3, [pc, #324] ; (80a82b0 ) 80a816a: 799b ldrb r3, [r3, #6] 80a816c: b2db uxtb r3, r3 80a816e: 2b02 cmp r3, #2 80a8170: d012 beq.n 80a8198 if(pardata.LANG == RUS) 80a8172: 4b4f ldr r3, [pc, #316] ; (80a82b0 ) 80a8174: 7b1b ldrb r3, [r3, #12] 80a8176: b2db uxtb r3, r3 80a8178: 2b00 cmp r3, #0 80a817a: d106 bne.n 80a818a BSP_LCD_DisplayStringAt(220, 45, "&&", LEFT_MODE); 80a817c: 2303 movs r3, #3 80a817e: 4a5a ldr r2, [pc, #360] ; (80a82e8 ) 80a8180: 212d movs r1, #45 ; 0x2d 80a8182: 20dc movs r0, #220 ; 0xdc 80a8184: f7ad f908 bl 8055398 80a8188: e018 b.n 80a81bc else BSP_LCD_DisplayStringAt(220, 45, "mm", LEFT_MODE); 80a818a: 2303 movs r3, #3 80a818c: 4a57 ldr r2, [pc, #348] ; (80a82ec ) 80a818e: 212d movs r1, #45 ; 0x2d 80a8190: 20dc movs r0, #220 ; 0xdc 80a8192: f7ad f901 bl 8055398 80a8196: e011 b.n 80a81bc if(pardata.LANG == RUS) 80a8198: 4b45 ldr r3, [pc, #276] ; (80a82b0 ) 80a819a: 7b1b ldrb r3, [r3, #12] 80a819c: b2db uxtb r3, r3 80a819e: 2b00 cmp r3, #0 80a81a0: d106 bne.n 80a81b0 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a81a2: 2303 movs r3, #3 80a81a4: 4a4c ldr r2, [pc, #304] ; (80a82d8 ) 80a81a6: 212d movs r1, #45 ; 0x2d 80a81a8: 20dc movs r0, #220 ; 0xdc 80a81aa: f7ad f8f5 bl 8055398 80a81ae: e005 b.n 80a81bc else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a81b0: 2303 movs r3, #3 80a81b2: 4a4a ldr r2, [pc, #296] ; (80a82dc ) 80a81b4: 212d movs r1, #45 ; 0x2d 80a81b6: 20dc movs r0, #220 ; 0xdc 80a81b8: f7ad f8ee bl 8055398 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a81bc: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a81c0: f06f 0003 mvn.w r0, #3 80a81c4: eeb0 0a67 vmov.f32 s0, s15 80a81c8: f7bf ffea bl 80681a0 80a81cc: 4602 mov r2, r0 80a81ce: 2302 movs r3, #2 80a81d0: 212d movs r1, #45 ; 0x2d 80a81d2: 20d9 movs r0, #217 ; 0xd9 80a81d4: f7ad f8e0 bl 8055398 80a81d8: e17b b.n 80a84d2 if(Val >= 0.1f) 80a81da: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a81de: ed9f 7a44 vldr s14, [pc, #272] ; 80a82f0 80a81e2: eef4 7ac7 vcmpe.f32 s15, s14 80a81e6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a81ea: f2c0 80cd blt.w 80a8388 if(pardata.IPR == ACC) 80a81ee: 4b30 ldr r3, [pc, #192] ; (80a82b0 ) 80a81f0: 785b ldrb r3, [r3, #1] 80a81f2: b2db uxtb r3, r3 80a81f4: 2b00 cmp r3, #0 80a81f6: d12a bne.n 80a824e if(pardata.IIN != VOLTS) 80a81f8: 4b2d ldr r3, [pc, #180] ; (80a82b0 ) 80a81fa: 799b ldrb r3, [r3, #6] 80a81fc: b2db uxtb r3, r3 80a81fe: 2b02 cmp r3, #2 80a8200: d012 beq.n 80a8228 if(pardata.LANG == RUS) 80a8202: 4b2b ldr r3, [pc, #172] ; (80a82b0 ) 80a8204: 7b1b ldrb r3, [r3, #12] 80a8206: b2db uxtb r3, r3 80a8208: 2b00 cmp r3, #0 80a820a: d106 bne.n 80a821a BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a820c: 2303 movs r3, #3 80a820e: 4a39 ldr r2, [pc, #228] ; (80a82f4 ) 80a8210: 212d movs r1, #45 ; 0x2d 80a8212: 20dc movs r0, #220 ; 0xdc 80a8214: f7ad f8c0 bl 8055398 80a8218: e0a7 b.n 80a836a else BSP_LCD_DisplayStringAt(220, 45, "m/s^", LEFT_MODE); 80a821a: 2303 movs r3, #3 80a821c: 4a36 ldr r2, [pc, #216] ; (80a82f8 ) 80a821e: 212d movs r1, #45 ; 0x2d 80a8220: 20dc movs r0, #220 ; 0xdc 80a8222: f7ad f8b9 bl 8055398 80a8226: e0a0 b.n 80a836a if(pardata.LANG == RUS) 80a8228: 4b21 ldr r3, [pc, #132] ; (80a82b0 ) 80a822a: 7b1b ldrb r3, [r3, #12] 80a822c: b2db uxtb r3, r3 80a822e: 2b00 cmp r3, #0 80a8230: d106 bne.n 80a8240 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a8232: 2303 movs r3, #3 80a8234: 4a31 ldr r2, [pc, #196] ; (80a82fc ) 80a8236: 212d movs r1, #45 ; 0x2d 80a8238: 20dc movs r0, #220 ; 0xdc 80a823a: f7ad f8ad bl 8055398 80a823e: e094 b.n 80a836a else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a8240: 2303 movs r3, #3 80a8242: 4a2f ldr r2, [pc, #188] ; (80a8300 ) 80a8244: 212d movs r1, #45 ; 0x2d 80a8246: 20dc movs r0, #220 ; 0xdc 80a8248: f7ad f8a6 bl 8055398 80a824c: e08d b.n 80a836a else if(pardata.IPR == VEL) 80a824e: 4b18 ldr r3, [pc, #96] ; (80a82b0 ) 80a8250: 785b ldrb r3, [r3, #1] 80a8252: b2db uxtb r3, r3 80a8254: 2b01 cmp r3, #1 80a8256: d159 bne.n 80a830c if(pardata.IIN != VOLTS) 80a8258: 4b15 ldr r3, [pc, #84] ; (80a82b0 ) 80a825a: 799b ldrb r3, [r3, #6] 80a825c: b2db uxtb r3, r3 80a825e: 2b02 cmp r3, #2 80a8260: d012 beq.n 80a8288 if(pardata.LANG == RUS) 80a8262: 4b13 ldr r3, [pc, #76] ; (80a82b0 ) 80a8264: 7b1b ldrb r3, [r3, #12] 80a8266: b2db uxtb r3, r3 80a8268: 2b00 cmp r3, #0 80a826a: d106 bne.n 80a827a BSP_LCD_DisplayStringAt(220, 45, "&&/c", LEFT_MODE); 80a826c: 2303 movs r3, #3 80a826e: 4a25 ldr r2, [pc, #148] ; (80a8304 ) 80a8270: 212d movs r1, #45 ; 0x2d 80a8272: 20dc movs r0, #220 ; 0xdc 80a8274: f7ad f890 bl 8055398 80a8278: e077 b.n 80a836a else BSP_LCD_DisplayStringAt(220, 45, "mm/s", LEFT_MODE); 80a827a: 2303 movs r3, #3 80a827c: 4a22 ldr r2, [pc, #136] ; (80a8308 ) 80a827e: 212d movs r1, #45 ; 0x2d 80a8280: 20dc movs r0, #220 ; 0xdc 80a8282: f7ad f889 bl 8055398 80a8286: e070 b.n 80a836a if(pardata.LANG == RUS) 80a8288: 4b09 ldr r3, [pc, #36] ; (80a82b0 ) 80a828a: 7b1b ldrb r3, [r3, #12] 80a828c: b2db uxtb r3, r3 80a828e: 2b00 cmp r3, #0 80a8290: d106 bne.n 80a82a0 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a8292: 2303 movs r3, #3 80a8294: 4a19 ldr r2, [pc, #100] ; (80a82fc ) 80a8296: 212d movs r1, #45 ; 0x2d 80a8298: 20dc movs r0, #220 ; 0xdc 80a829a: f7ad f87d bl 8055398 80a829e: e064 b.n 80a836a else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a82a0: 2303 movs r3, #3 80a82a2: 4a17 ldr r2, [pc, #92] ; (80a8300 ) 80a82a4: 212d movs r1, #45 ; 0x2d 80a82a6: 20dc movs r0, #220 ; 0xdc 80a82a8: f7ad f876 bl 8055398 80a82ac: e05d b.n 80a836a 80a82ae: bf00 nop 80a82b0: 20023eb8 .word 0x20023eb8 80a82b4: 2002006c .word 0x2002006c 80a82b8: 64080000 .word 0x64080000 80a82bc: 200215bc .word 0x200215bc 80a82c0: ff26a01f .word 0xff26a01f 80a82c4: 080d74f8 .word 0x080d74f8 80a82c8: 447a0000 .word 0x447a0000 80a82cc: 3a83126f .word 0x3a83126f 80a82d0: 080d74b0 .word 0x080d74b0 80a82d4: 080d7410 .word 0x080d7410 80a82d8: 080d750c .word 0x080d750c 80a82dc: 080d5110 .word 0x080d5110 80a82e0: 080d7510 .word 0x080d7510 80a82e4: 080d741c .word 0x080d741c 80a82e8: 080d7514 .word 0x080d7514 80a82ec: 080d7424 .word 0x080d7424 80a82f0: 3dcccccd .word 0x3dcccccd 80a82f4: 080d74c0 .word 0x080d74c0 80a82f8: 080d7430 .word 0x080d7430 80a82fc: 080d7518 .word 0x080d7518 80a8300: 080d751c .word 0x080d751c 80a8304: 080d7520 .word 0x080d7520 80a8308: 080d7440 .word 0x080d7440 else if(pardata.IPR == DIS) 80a830c: 4bbc ldr r3, [pc, #752] ; (80a8600 ) 80a830e: 785b ldrb r3, [r3, #1] 80a8310: b2db uxtb r3, r3 80a8312: 2b02 cmp r3, #2 80a8314: d129 bne.n 80a836a if(pardata.IIN != VOLTS) 80a8316: 4bba ldr r3, [pc, #744] ; (80a8600 ) 80a8318: 799b ldrb r3, [r3, #6] 80a831a: b2db uxtb r3, r3 80a831c: 2b02 cmp r3, #2 80a831e: d012 beq.n 80a8346 if(pardata.LANG == RUS) 80a8320: 4bb7 ldr r3, [pc, #732] ; (80a8600 ) 80a8322: 7b1b ldrb r3, [r3, #12] 80a8324: b2db uxtb r3, r3 80a8326: 2b00 cmp r3, #0 80a8328: d106 bne.n 80a8338 BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a832a: 2303 movs r3, #3 80a832c: 4ab5 ldr r2, [pc, #724] ; (80a8604 ) 80a832e: 212d movs r1, #45 ; 0x2d 80a8330: 20dc movs r0, #220 ; 0xdc 80a8332: f7ad f831 bl 8055398 80a8336: e018 b.n 80a836a else BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a8338: 2303 movs r3, #3 80a833a: 4ab3 ldr r2, [pc, #716] ; (80a8608 ) 80a833c: 212d movs r1, #45 ; 0x2d 80a833e: 20dc movs r0, #220 ; 0xdc 80a8340: f7ad f82a bl 8055398 80a8344: e011 b.n 80a836a if(pardata.LANG == RUS) 80a8346: 4bae ldr r3, [pc, #696] ; (80a8600 ) 80a8348: 7b1b ldrb r3, [r3, #12] 80a834a: b2db uxtb r3, r3 80a834c: 2b00 cmp r3, #0 80a834e: d106 bne.n 80a835e BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a8350: 2303 movs r3, #3 80a8352: 4aae ldr r2, [pc, #696] ; (80a860c ) 80a8354: 212d movs r1, #45 ; 0x2d 80a8356: 20dc movs r0, #220 ; 0xdc 80a8358: f7ad f81e bl 8055398 80a835c: e005 b.n 80a836a else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a835e: 2303 movs r3, #3 80a8360: 4aab ldr r2, [pc, #684] ; (80a8610 ) 80a8362: 212d movs r1, #45 ; 0x2d 80a8364: 20dc movs r0, #220 ; 0xdc 80a8366: f7ad f817 bl 8055398 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a836a: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a836e: f06f 0002 mvn.w r0, #2 80a8372: eeb0 0a67 vmov.f32 s0, s15 80a8376: f7bf ff13 bl 80681a0 80a837a: 4602 mov r2, r0 80a837c: 2302 movs r3, #2 80a837e: 212d movs r1, #45 ; 0x2d 80a8380: 20d9 movs r0, #217 ; 0xd9 80a8382: f7ad f809 bl 8055398 80a8386: e0a4 b.n 80a84d2 Val *= 1000.0f; 80a8388: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a838c: ed9f 7aa1 vldr s14, [pc, #644] ; 80a8614 80a8390: ee67 7a87 vmul.f32 s15, s15, s14 80a8394: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IPR == ACC) 80a8398: 4b99 ldr r3, [pc, #612] ; (80a8600 ) 80a839a: 785b ldrb r3, [r3, #1] 80a839c: b2db uxtb r3, r3 80a839e: 2b00 cmp r3, #0 80a83a0: d12a bne.n 80a83f8 if(pardata.IIN != VOLTS) 80a83a2: 4b97 ldr r3, [pc, #604] ; (80a8600 ) 80a83a4: 799b ldrb r3, [r3, #6] 80a83a6: b2db uxtb r3, r3 80a83a8: 2b02 cmp r3, #2 80a83aa: d012 beq.n 80a83d2 if(pardata.LANG == RUS) 80a83ac: 4b94 ldr r3, [pc, #592] ; (80a8600 ) 80a83ae: 7b1b ldrb r3, [r3, #12] 80a83b0: b2db uxtb r3, r3 80a83b2: 2b00 cmp r3, #0 80a83b4: d106 bne.n 80a83c4 BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a83b6: 2303 movs r3, #3 80a83b8: 4a97 ldr r2, [pc, #604] ; (80a8618 ) 80a83ba: 212d movs r1, #45 ; 0x2d 80a83bc: 20dc movs r0, #220 ; 0xdc 80a83be: f7ac ffeb bl 8055398 80a83c2: e078 b.n 80a84b6 else BSP_LCD_DisplayStringAt(220, 45, "mm/s^", LEFT_MODE); 80a83c4: 2303 movs r3, #3 80a83c6: 4a95 ldr r2, [pc, #596] ; (80a861c ) 80a83c8: 212d movs r1, #45 ; 0x2d 80a83ca: 20dc movs r0, #220 ; 0xdc 80a83cc: f7ac ffe4 bl 8055398 80a83d0: e071 b.n 80a84b6 if(pardata.LANG == RUS) 80a83d2: 4b8b ldr r3, [pc, #556] ; (80a8600 ) 80a83d4: 7b1b ldrb r3, [r3, #12] 80a83d6: b2db uxtb r3, r3 80a83d8: 2b00 cmp r3, #0 80a83da: d106 bne.n 80a83ea BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a83dc: 2303 movs r3, #3 80a83de: 4a90 ldr r2, [pc, #576] ; (80a8620 ) 80a83e0: 212d movs r1, #45 ; 0x2d 80a83e2: 20dc movs r0, #220 ; 0xdc 80a83e4: f7ac ffd8 bl 8055398 80a83e8: e065 b.n 80a84b6 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a83ea: 2303 movs r3, #3 80a83ec: 4a8d ldr r2, [pc, #564] ; (80a8624 ) 80a83ee: 212d movs r1, #45 ; 0x2d 80a83f0: 20dc movs r0, #220 ; 0xdc 80a83f2: f7ac ffd1 bl 8055398 80a83f6: e05e b.n 80a84b6 else if(pardata.IPR == VEL) 80a83f8: 4b81 ldr r3, [pc, #516] ; (80a8600 ) 80a83fa: 785b ldrb r3, [r3, #1] 80a83fc: b2db uxtb r3, r3 80a83fe: 2b01 cmp r3, #1 80a8400: d12a bne.n 80a8458 if(pardata.IIN != VOLTS) 80a8402: 4b7f ldr r3, [pc, #508] ; (80a8600 ) 80a8404: 799b ldrb r3, [r3, #6] 80a8406: b2db uxtb r3, r3 80a8408: 2b02 cmp r3, #2 80a840a: d012 beq.n 80a8432 if(pardata.LANG == RUS) 80a840c: 4b7c ldr r3, [pc, #496] ; (80a8600 ) 80a840e: 7b1b ldrb r3, [r3, #12] 80a8410: b2db uxtb r3, r3 80a8412: 2b00 cmp r3, #0 80a8414: d106 bne.n 80a8424 BSP_LCD_DisplayStringAt(220, 45, "&k&/c", LEFT_MODE); 80a8416: 2303 movs r3, #3 80a8418: 4a83 ldr r2, [pc, #524] ; (80a8628 ) 80a841a: 212d movs r1, #45 ; 0x2d 80a841c: 20dc movs r0, #220 ; 0xdc 80a841e: f7ac ffbb bl 8055398 80a8422: e048 b.n 80a84b6 else BSP_LCD_DisplayStringAt(220, 45, "mkm/s", LEFT_MODE); 80a8424: 2303 movs r3, #3 80a8426: 4a81 ldr r2, [pc, #516] ; (80a862c ) 80a8428: 212d movs r1, #45 ; 0x2d 80a842a: 20dc movs r0, #220 ; 0xdc 80a842c: f7ac ffb4 bl 8055398 80a8430: e041 b.n 80a84b6 if(pardata.LANG == RUS) 80a8432: 4b73 ldr r3, [pc, #460] ; (80a8600 ) 80a8434: 7b1b ldrb r3, [r3, #12] 80a8436: b2db uxtb r3, r3 80a8438: 2b00 cmp r3, #0 80a843a: d106 bne.n 80a844a BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a843c: 2303 movs r3, #3 80a843e: 4a78 ldr r2, [pc, #480] ; (80a8620 ) 80a8440: 212d movs r1, #45 ; 0x2d 80a8442: 20dc movs r0, #220 ; 0xdc 80a8444: f7ac ffa8 bl 8055398 80a8448: e035 b.n 80a84b6 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a844a: 2303 movs r3, #3 80a844c: 4a75 ldr r2, [pc, #468] ; (80a8624 ) 80a844e: 212d movs r1, #45 ; 0x2d 80a8450: 20dc movs r0, #220 ; 0xdc 80a8452: f7ac ffa1 bl 8055398 80a8456: e02e b.n 80a84b6 else if(pardata.IPR == DIS) 80a8458: 4b69 ldr r3, [pc, #420] ; (80a8600 ) 80a845a: 785b ldrb r3, [r3, #1] 80a845c: b2db uxtb r3, r3 80a845e: 2b02 cmp r3, #2 80a8460: d129 bne.n 80a84b6 if(pardata.IIN != VOLTS) 80a8462: 4b67 ldr r3, [pc, #412] ; (80a8600 ) 80a8464: 799b ldrb r3, [r3, #6] 80a8466: b2db uxtb r3, r3 80a8468: 2b02 cmp r3, #2 80a846a: d012 beq.n 80a8492 if(pardata.LANG == RUS) 80a846c: 4b64 ldr r3, [pc, #400] ; (80a8600 ) 80a846e: 7b1b ldrb r3, [r3, #12] 80a8470: b2db uxtb r3, r3 80a8472: 2b00 cmp r3, #0 80a8474: d106 bne.n 80a8484 BSP_LCD_DisplayStringAt(220, 45, "#&", LEFT_MODE); 80a8476: 2303 movs r3, #3 80a8478: 4a6d ldr r2, [pc, #436] ; (80a8630 ) 80a847a: 212d movs r1, #45 ; 0x2d 80a847c: 20dc movs r0, #220 ; 0xdc 80a847e: f7ac ff8b bl 8055398 80a8482: e018 b.n 80a84b6 else BSP_LCD_DisplayStringAt(220, 45, "nm", LEFT_MODE); 80a8484: 2303 movs r3, #3 80a8486: 4a6b ldr r2, [pc, #428] ; (80a8634 ) 80a8488: 212d movs r1, #45 ; 0x2d 80a848a: 20dc movs r0, #220 ; 0xdc 80a848c: f7ac ff84 bl 8055398 80a8490: e011 b.n 80a84b6 if(pardata.LANG == RUS) 80a8492: 4b5b ldr r3, [pc, #364] ; (80a8600 ) 80a8494: 7b1b ldrb r3, [r3, #12] 80a8496: b2db uxtb r3, r3 80a8498: 2b00 cmp r3, #0 80a849a: d106 bne.n 80a84aa BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a849c: 2303 movs r3, #3 80a849e: 4a60 ldr r2, [pc, #384] ; (80a8620 ) 80a84a0: 212d movs r1, #45 ; 0x2d 80a84a2: 20dc movs r0, #220 ; 0xdc 80a84a4: f7ac ff78 bl 8055398 80a84a8: e005 b.n 80a84b6 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a84aa: 2303 movs r3, #3 80a84ac: 4a5d ldr r2, [pc, #372] ; (80a8624 ) 80a84ae: 212d movs r1, #45 ; 0x2d 80a84b0: 20dc movs r0, #220 ; 0xdc 80a84b2: f7ac ff71 bl 8055398 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a84b6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a84ba: f06f 0003 mvn.w r0, #3 80a84be: eeb0 0a67 vmov.f32 s0, s15 80a84c2: f7bf fe6d bl 80681a0 80a84c6: 4602 mov r2, r0 80a84c8: 2302 movs r3, #2 80a84ca: 212d movs r1, #45 ; 0x2d 80a84cc: 20d9 movs r0, #217 ; 0xd9 80a84ce: f7ac ff63 bl 8055398 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a84d2: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a84d6: 4858 ldr r0, [pc, #352] ; (80a8638 ) 80a84d8: f7ac fe98 bl 805520c tmpF = OCTAVES[CURSOR]; 80a84dc: 4b57 ldr r3, [pc, #348] ; (80a863c ) 80a84de: 681b ldr r3, [r3, #0] 80a84e0: 4a57 ldr r2, [pc, #348] ; (80a8640 ) 80a84e2: 009b lsls r3, r3, #2 80a84e4: 4413 add r3, r2 80a84e6: 681b ldr r3, [r3, #0] 80a84e8: 657b str r3, [r7, #84] ; 0x54 if(tmpF >= 1000.0f) 80a84ea: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a84ee: ed9f 7a49 vldr s14, [pc, #292] ; 80a8614 80a84f2: eef4 7ac7 vcmpe.f32 s15, s14 80a84f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a84fa: db2a blt.n 80a8552 tmpF *= 0.001f; 80a84fc: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a8500: ed9f 7a50 vldr s14, [pc, #320] ; 80a8644 80a8504: ee67 7a87 vmul.f32 s15, s15, s14 80a8508: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a850c: 4b3c ldr r3, [pc, #240] ; (80a8600 ) 80a850e: 7b1b ldrb r3, [r3, #12] 80a8510: b2db uxtb r3, r3 80a8512: 2b00 cmp r3, #0 80a8514: d107 bne.n 80a8526 BSP_LCD_DisplayStringAt(302, 45, "k$%", LEFT_MODE); 80a8516: 2303 movs r3, #3 80a8518: 4a4b ldr r2, [pc, #300] ; (80a8648 ) 80a851a: 212d movs r1, #45 ; 0x2d 80a851c: f44f 7097 mov.w r0, #302 ; 0x12e 80a8520: f7ac ff3a bl 8055398 80a8524: e006 b.n 80a8534 else BSP_LCD_DisplayStringAt(302, 45, "kHz", LEFT_MODE); 80a8526: 2303 movs r3, #3 80a8528: 4a48 ldr r2, [pc, #288] ; (80a864c ) 80a852a: 212d movs r1, #45 ; 0x2d 80a852c: f44f 7097 mov.w r0, #302 ; 0x12e 80a8530: f7ac ff32 bl 8055398 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a8534: f06f 0003 mvn.w r0, #3 80a8538: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a853c: f7bf fe30 bl 80681a0 80a8540: 4602 mov r2, r0 80a8542: 2302 movs r3, #2 80a8544: 212d movs r1, #45 ; 0x2d 80a8546: f240 102b movw r0, #299 ; 0x12b 80a854a: f7ac ff25 bl 8055398 } 80a854e: f001 bf51 b.w 80aa3f4 if(tmpF >= 0.1f) 80a8552: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a8556: ed9f 7a3e vldr s14, [pc, #248] ; 80a8650 80a855a: eef4 7ac7 vcmpe.f32 s15, s14 80a855e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8562: db22 blt.n 80a85aa if(pardata.LANG == RUS) 80a8564: 4b26 ldr r3, [pc, #152] ; (80a8600 ) 80a8566: 7b1b ldrb r3, [r3, #12] 80a8568: b2db uxtb r3, r3 80a856a: 2b00 cmp r3, #0 80a856c: d107 bne.n 80a857e BSP_LCD_DisplayStringAt(302, 45, "$%", LEFT_MODE); 80a856e: 2303 movs r3, #3 80a8570: 4a38 ldr r2, [pc, #224] ; (80a8654 ) 80a8572: 212d movs r1, #45 ; 0x2d 80a8574: f44f 7097 mov.w r0, #302 ; 0x12e 80a8578: f7ac ff0e bl 8055398 80a857c: e006 b.n 80a858c else BSP_LCD_DisplayStringAt(302, 45, "Hz", LEFT_MODE); 80a857e: 2303 movs r3, #3 80a8580: 4a35 ldr r2, [pc, #212] ; (80a8658 ) 80a8582: 212d movs r1, #45 ; 0x2d 80a8584: f44f 7097 mov.w r0, #302 ; 0x12e 80a8588: f7ac ff06 bl 8055398 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a858c: f06f 0002 mvn.w r0, #2 80a8590: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a8594: f7bf fe04 bl 80681a0 80a8598: 4602 mov r2, r0 80a859a: 2302 movs r3, #2 80a859c: 212d movs r1, #45 ; 0x2d 80a859e: f240 102b movw r0, #299 ; 0x12b 80a85a2: f7ac fef9 bl 8055398 } 80a85a6: f001 bf25 b.w 80aa3f4 tmpF *= 1000.0f; 80a85aa: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a85ae: ed9f 7a19 vldr s14, [pc, #100] ; 80a8614 80a85b2: ee67 7a87 vmul.f32 s15, s15, s14 80a85b6: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a85ba: 4b11 ldr r3, [pc, #68] ; (80a8600 ) 80a85bc: 7b1b ldrb r3, [r3, #12] 80a85be: b2db uxtb r3, r3 80a85c0: 2b00 cmp r3, #0 80a85c2: d107 bne.n 80a85d4 BSP_LCD_DisplayStringAt(302, 45, "&$%", LEFT_MODE); 80a85c4: 2303 movs r3, #3 80a85c6: 4a25 ldr r2, [pc, #148] ; (80a865c ) 80a85c8: 212d movs r1, #45 ; 0x2d 80a85ca: f44f 7097 mov.w r0, #302 ; 0x12e 80a85ce: f7ac fee3 bl 8055398 80a85d2: e006 b.n 80a85e2 else BSP_LCD_DisplayStringAt(302, 45, "mHz", LEFT_MODE); 80a85d4: 2303 movs r3, #3 80a85d6: 4a22 ldr r2, [pc, #136] ; (80a8660 ) 80a85d8: 212d movs r1, #45 ; 0x2d 80a85da: f44f 7097 mov.w r0, #302 ; 0x12e 80a85de: f7ac fedb bl 8055398 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a85e2: f06f 0001 mvn.w r0, #1 80a85e6: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a85ea: f7bf fdd9 bl 80681a0 80a85ee: 4602 mov r2, r0 80a85f0: 2302 movs r3, #2 80a85f2: 212d movs r1, #45 ; 0x2d 80a85f4: f240 102b movw r0, #299 ; 0x12b 80a85f8: f7ac fece bl 8055398 } 80a85fc: f001 befa b.w 80aa3f4 80a8600: 20023eb8 .word 0x20023eb8 80a8604: 080d7528 .word 0x080d7528 80a8608: 080d744c .word 0x080d744c 80a860c: 080d7518 .word 0x080d7518 80a8610: 080d751c .word 0x080d751c 80a8614: 447a0000 .word 0x447a0000 80a8618: 080d74d0 .word 0x080d74d0 80a861c: 080d7458 .word 0x080d7458 80a8620: 080d752c .word 0x080d752c 80a8624: 080d747c .word 0x080d747c 80a8628: 080d7530 .word 0x080d7530 80a862c: 080d7468 .word 0x080d7468 80a8630: 080d7538 .word 0x080d7538 80a8634: 080d7474 .word 0x080d7474 80a8638: ff808080 .word 0xff808080 80a863c: 2002006c .word 0x2002006c 80a8640: 080f616c .word 0x080f616c 80a8644: 3a83126f .word 0x3a83126f 80a8648: 080d753c .word 0x080d753c 80a864c: 080d7540 .word 0x080d7540 80a8650: 3dcccccd .word 0x3dcccccd 80a8654: 080d74fc .word 0x080d74fc 80a8658: 080d7500 .word 0x080d7500 80a865c: 080d7544 .word 0x080d7544 80a8660: 080d7548 .word 0x080d7548 if(pardata.SYG == SPEC_THIRD) 80a8664: 4bb0 ldr r3, [pc, #704] ; (80a8928 ) 80a8666: 781b ldrb r3, [r3, #0] 80a8668: b2db uxtb r3, r3 80a866a: 2b07 cmp r3, #7 80a866c: f040 8336 bne.w 80a8cdc CurVal = ScrA_f32(CURSOR); 80a8670: 4bae ldr r3, [pc, #696] ; (80a892c ) 80a8672: 681b ldr r3, [r3, #0] 80a8674: 009a lsls r2, r3, #2 80a8676: 4bae ldr r3, [pc, #696] ; (80a8930 ) 80a8678: 4413 add r3, r2 80a867a: 681b ldr r3, [r3, #0] 80a867c: 4aad ldr r2, [pc, #692] ; (80a8934 ) 80a867e: 6013 str r3, [r2, #0] if(pardata.MSH == LOG) 80a8680: 4ba9 ldr r3, [pc, #676] ; (80a8928 ) 80a8682: 7a9b ldrb r3, [r3, #10] 80a8684: b2db uxtb r3, r3 80a8686: 2b01 cmp r3, #1 80a8688: d111 bne.n 80a86ae if(pardata.IIN != VOLTS) 80a868a: 4ba7 ldr r3, [pc, #668] ; (80a8928 ) 80a868c: 799b ldrb r3, [r3, #6] 80a868e: b2db uxtb r3, r3 80a8690: 2b02 cmp r3, #2 80a8692: d004 beq.n 80a869e LinToLog(&CurVal, &CurVal); 80a8694: 49a7 ldr r1, [pc, #668] ; (80a8934 ) 80a8696: 48a7 ldr r0, [pc, #668] ; (80a8934 ) 80a8698: f7be f956 bl 8066948 80a869c: e007 b.n 80a86ae else LinToLog_mV(&CurVal, &CurVal, pardata.IPR); 80a869e: 4ba2 ldr r3, [pc, #648] ; (80a8928 ) 80a86a0: 785b ldrb r3, [r3, #1] 80a86a2: b2db uxtb r3, r3 80a86a4: 461a mov r2, r3 80a86a6: 49a3 ldr r1, [pc, #652] ; (80a8934 ) 80a86a8: 48a2 ldr r0, [pc, #648] ; (80a8934 ) 80a86aa: f7be f97d bl 80669a8 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a86ae: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a86b2: 48a1 ldr r0, [pc, #644] ; (80a8938 ) 80a86b4: f7ac fdaa bl 805520c Val = CurVal; 80a86b8: 4b9e ldr r3, [pc, #632] ; (80a8934 ) 80a86ba: 681b ldr r3, [r3, #0] 80a86bc: 63fb str r3, [r7, #60] ; 0x3c if(pardata.MSH == LOG) 80a86be: 4b9a ldr r3, [pc, #616] ; (80a8928 ) 80a86c0: 7a9b ldrb r3, [r3, #10] 80a86c2: b2db uxtb r3, r3 80a86c4: 2b01 cmp r3, #1 80a86c6: d114 bne.n 80a86f2 BSP_LCD_DisplayStringAt(220, 45, "dB", LEFT_MODE); 80a86c8: 2303 movs r3, #3 80a86ca: 4a9c ldr r2, [pc, #624] ; (80a893c ) 80a86cc: 212d movs r1, #45 ; 0x2d 80a86ce: 20dc movs r0, #220 ; 0xdc 80a86d0: f7ac fe62 bl 8055398 BSP_LCD_DisplayStringAt(217, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a86d4: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a86d8: f04f 30ff mov.w r0, #4294967295 80a86dc: eeb0 0a67 vmov.f32 s0, s15 80a86e0: f7bf fd5e bl 80681a0 80a86e4: 4602 mov r2, r0 80a86e6: 2302 movs r3, #2 80a86e8: 212d movs r1, #45 ; 0x2d 80a86ea: 20d9 movs r0, #217 ; 0xd9 80a86ec: f7ac fe54 bl 8055398 80a86f0: e22b b.n 80a8b4a if(Val >= 1000.0f) 80a86f2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a86f6: ed9f 7a92 vldr s14, [pc, #584] ; 80a8940 80a86fa: eef4 7ac7 vcmpe.f32 s15, s14 80a86fe: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8702: f2c0 80a6 blt.w 80a8852 Val *= 0.001f; 80a8706: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a870a: ed9f 7a8e vldr s14, [pc, #568] ; 80a8944 80a870e: ee67 7a87 vmul.f32 s15, s15, s14 80a8712: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IPR == ACC) 80a8716: 4b84 ldr r3, [pc, #528] ; (80a8928 ) 80a8718: 785b ldrb r3, [r3, #1] 80a871a: b2db uxtb r3, r3 80a871c: 2b00 cmp r3, #0 80a871e: d12a bne.n 80a8776 if(pardata.IIN != VOLTS) 80a8720: 4b81 ldr r3, [pc, #516] ; (80a8928 ) 80a8722: 799b ldrb r3, [r3, #6] 80a8724: b2db uxtb r3, r3 80a8726: 2b02 cmp r3, #2 80a8728: d012 beq.n 80a8750 if(pardata.LANG == RUS) 80a872a: 4b7f ldr r3, [pc, #508] ; (80a8928 ) 80a872c: 7b1b ldrb r3, [r3, #12] 80a872e: b2db uxtb r3, r3 80a8730: 2b00 cmp r3, #0 80a8732: d106 bne.n 80a8742 BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a8734: 2303 movs r3, #3 80a8736: 4a84 ldr r2, [pc, #528] ; (80a8948 ) 80a8738: 212d movs r1, #45 ; 0x2d 80a873a: 20dc movs r0, #220 ; 0xdc 80a873c: f7ac fe2c bl 8055398 80a8740: e078 b.n 80a8834 else BSP_LCD_DisplayStringAt(220, 45, "km/s^", LEFT_MODE); 80a8742: 2303 movs r3, #3 80a8744: 4a81 ldr r2, [pc, #516] ; (80a894c ) 80a8746: 212d movs r1, #45 ; 0x2d 80a8748: 20dc movs r0, #220 ; 0xdc 80a874a: f7ac fe25 bl 8055398 80a874e: e071 b.n 80a8834 if(pardata.LANG == RUS) 80a8750: 4b75 ldr r3, [pc, #468] ; (80a8928 ) 80a8752: 7b1b ldrb r3, [r3, #12] 80a8754: b2db uxtb r3, r3 80a8756: 2b00 cmp r3, #0 80a8758: d106 bne.n 80a8768 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a875a: 2303 movs r3, #3 80a875c: 4a7c ldr r2, [pc, #496] ; (80a8950 ) 80a875e: 212d movs r1, #45 ; 0x2d 80a8760: 20dc movs r0, #220 ; 0xdc 80a8762: f7ac fe19 bl 8055398 80a8766: e065 b.n 80a8834 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a8768: 2303 movs r3, #3 80a876a: 4a7a ldr r2, [pc, #488] ; (80a8954 ) 80a876c: 212d movs r1, #45 ; 0x2d 80a876e: 20dc movs r0, #220 ; 0xdc 80a8770: f7ac fe12 bl 8055398 80a8774: e05e b.n 80a8834 if(pardata.IPR == VEL) 80a8776: 4b6c ldr r3, [pc, #432] ; (80a8928 ) 80a8778: 785b ldrb r3, [r3, #1] 80a877a: b2db uxtb r3, r3 80a877c: 2b01 cmp r3, #1 80a877e: d12a bne.n 80a87d6 if(pardata.IIN != VOLTS) 80a8780: 4b69 ldr r3, [pc, #420] ; (80a8928 ) 80a8782: 799b ldrb r3, [r3, #6] 80a8784: b2db uxtb r3, r3 80a8786: 2b02 cmp r3, #2 80a8788: d012 beq.n 80a87b0 if(pardata.LANG == RUS) 80a878a: 4b67 ldr r3, [pc, #412] ; (80a8928 ) 80a878c: 7b1b ldrb r3, [r3, #12] 80a878e: b2db uxtb r3, r3 80a8790: 2b00 cmp r3, #0 80a8792: d106 bne.n 80a87a2 BSP_LCD_DisplayStringAt(220, 45, "&/c", LEFT_MODE); 80a8794: 2303 movs r3, #3 80a8796: 4a70 ldr r2, [pc, #448] ; (80a8958 ) 80a8798: 212d movs r1, #45 ; 0x2d 80a879a: 20dc movs r0, #220 ; 0xdc 80a879c: f7ac fdfc bl 8055398 80a87a0: e048 b.n 80a8834 else BSP_LCD_DisplayStringAt(220, 45, "m/s", LEFT_MODE); 80a87a2: 2303 movs r3, #3 80a87a4: 4a6d ldr r2, [pc, #436] ; (80a895c ) 80a87a6: 212d movs r1, #45 ; 0x2d 80a87a8: 20dc movs r0, #220 ; 0xdc 80a87aa: f7ac fdf5 bl 8055398 80a87ae: e041 b.n 80a8834 if(pardata.LANG == RUS) 80a87b0: 4b5d ldr r3, [pc, #372] ; (80a8928 ) 80a87b2: 7b1b ldrb r3, [r3, #12] 80a87b4: b2db uxtb r3, r3 80a87b6: 2b00 cmp r3, #0 80a87b8: d106 bne.n 80a87c8 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a87ba: 2303 movs r3, #3 80a87bc: 4a64 ldr r2, [pc, #400] ; (80a8950 ) 80a87be: 212d movs r1, #45 ; 0x2d 80a87c0: 20dc movs r0, #220 ; 0xdc 80a87c2: f7ac fde9 bl 8055398 80a87c6: e035 b.n 80a8834 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a87c8: 2303 movs r3, #3 80a87ca: 4a62 ldr r2, [pc, #392] ; (80a8954 ) 80a87cc: 212d movs r1, #45 ; 0x2d 80a87ce: 20dc movs r0, #220 ; 0xdc 80a87d0: f7ac fde2 bl 8055398 80a87d4: e02e b.n 80a8834 if(pardata.IPR == DIS) 80a87d6: 4b54 ldr r3, [pc, #336] ; (80a8928 ) 80a87d8: 785b ldrb r3, [r3, #1] 80a87da: b2db uxtb r3, r3 80a87dc: 2b02 cmp r3, #2 80a87de: d129 bne.n 80a8834 if(pardata.IIN != VOLTS) 80a87e0: 4b51 ldr r3, [pc, #324] ; (80a8928 ) 80a87e2: 799b ldrb r3, [r3, #6] 80a87e4: b2db uxtb r3, r3 80a87e6: 2b02 cmp r3, #2 80a87e8: d012 beq.n 80a8810 if(pardata.LANG == RUS) 80a87ea: 4b4f ldr r3, [pc, #316] ; (80a8928 ) 80a87ec: 7b1b ldrb r3, [r3, #12] 80a87ee: b2db uxtb r3, r3 80a87f0: 2b00 cmp r3, #0 80a87f2: d106 bne.n 80a8802 BSP_LCD_DisplayStringAt(220, 45, "&&", LEFT_MODE); 80a87f4: 2303 movs r3, #3 80a87f6: 4a5a ldr r2, [pc, #360] ; (80a8960 ) 80a87f8: 212d movs r1, #45 ; 0x2d 80a87fa: 20dc movs r0, #220 ; 0xdc 80a87fc: f7ac fdcc bl 8055398 80a8800: e018 b.n 80a8834 else BSP_LCD_DisplayStringAt(220, 45, "mm", LEFT_MODE); 80a8802: 2303 movs r3, #3 80a8804: 4a57 ldr r2, [pc, #348] ; (80a8964 ) 80a8806: 212d movs r1, #45 ; 0x2d 80a8808: 20dc movs r0, #220 ; 0xdc 80a880a: f7ac fdc5 bl 8055398 80a880e: e011 b.n 80a8834 if(pardata.LANG == RUS) 80a8810: 4b45 ldr r3, [pc, #276] ; (80a8928 ) 80a8812: 7b1b ldrb r3, [r3, #12] 80a8814: b2db uxtb r3, r3 80a8816: 2b00 cmp r3, #0 80a8818: d106 bne.n 80a8828 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a881a: 2303 movs r3, #3 80a881c: 4a4c ldr r2, [pc, #304] ; (80a8950 ) 80a881e: 212d movs r1, #45 ; 0x2d 80a8820: 20dc movs r0, #220 ; 0xdc 80a8822: f7ac fdb9 bl 8055398 80a8826: e005 b.n 80a8834 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a8828: 2303 movs r3, #3 80a882a: 4a4a ldr r2, [pc, #296] ; (80a8954 ) 80a882c: 212d movs r1, #45 ; 0x2d 80a882e: 20dc movs r0, #220 ; 0xdc 80a8830: f7ac fdb2 bl 8055398 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a8834: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8838: f06f 0003 mvn.w r0, #3 80a883c: eeb0 0a67 vmov.f32 s0, s15 80a8840: f7bf fcae bl 80681a0 80a8844: 4602 mov r2, r0 80a8846: 2302 movs r3, #2 80a8848: 212d movs r1, #45 ; 0x2d 80a884a: 20d9 movs r0, #217 ; 0xd9 80a884c: f7ac fda4 bl 8055398 80a8850: e17b b.n 80a8b4a if(Val >= 0.1f) 80a8852: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8856: ed9f 7a44 vldr s14, [pc, #272] ; 80a8968 80a885a: eef4 7ac7 vcmpe.f32 s15, s14 80a885e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8862: f2c0 80cd blt.w 80a8a00 if(pardata.IPR == ACC) 80a8866: 4b30 ldr r3, [pc, #192] ; (80a8928 ) 80a8868: 785b ldrb r3, [r3, #1] 80a886a: b2db uxtb r3, r3 80a886c: 2b00 cmp r3, #0 80a886e: d12a bne.n 80a88c6 if(pardata.IIN != VOLTS) 80a8870: 4b2d ldr r3, [pc, #180] ; (80a8928 ) 80a8872: 799b ldrb r3, [r3, #6] 80a8874: b2db uxtb r3, r3 80a8876: 2b02 cmp r3, #2 80a8878: d012 beq.n 80a88a0 if(pardata.LANG == RUS) 80a887a: 4b2b ldr r3, [pc, #172] ; (80a8928 ) 80a887c: 7b1b ldrb r3, [r3, #12] 80a887e: b2db uxtb r3, r3 80a8880: 2b00 cmp r3, #0 80a8882: d106 bne.n 80a8892 BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a8884: 2303 movs r3, #3 80a8886: 4a39 ldr r2, [pc, #228] ; (80a896c ) 80a8888: 212d movs r1, #45 ; 0x2d 80a888a: 20dc movs r0, #220 ; 0xdc 80a888c: f7ac fd84 bl 8055398 80a8890: e0a7 b.n 80a89e2 else BSP_LCD_DisplayStringAt(220, 45, "m/s^", LEFT_MODE); 80a8892: 2303 movs r3, #3 80a8894: 4a36 ldr r2, [pc, #216] ; (80a8970 ) 80a8896: 212d movs r1, #45 ; 0x2d 80a8898: 20dc movs r0, #220 ; 0xdc 80a889a: f7ac fd7d bl 8055398 80a889e: e0a0 b.n 80a89e2 if(pardata.LANG == RUS) 80a88a0: 4b21 ldr r3, [pc, #132] ; (80a8928 ) 80a88a2: 7b1b ldrb r3, [r3, #12] 80a88a4: b2db uxtb r3, r3 80a88a6: 2b00 cmp r3, #0 80a88a8: d106 bne.n 80a88b8 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a88aa: 2303 movs r3, #3 80a88ac: 4a31 ldr r2, [pc, #196] ; (80a8974 ) 80a88ae: 212d movs r1, #45 ; 0x2d 80a88b0: 20dc movs r0, #220 ; 0xdc 80a88b2: f7ac fd71 bl 8055398 80a88b6: e094 b.n 80a89e2 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a88b8: 2303 movs r3, #3 80a88ba: 4a2f ldr r2, [pc, #188] ; (80a8978 ) 80a88bc: 212d movs r1, #45 ; 0x2d 80a88be: 20dc movs r0, #220 ; 0xdc 80a88c0: f7ac fd6a bl 8055398 80a88c4: e08d b.n 80a89e2 else if(pardata.IPR == VEL) 80a88c6: 4b18 ldr r3, [pc, #96] ; (80a8928 ) 80a88c8: 785b ldrb r3, [r3, #1] 80a88ca: b2db uxtb r3, r3 80a88cc: 2b01 cmp r3, #1 80a88ce: d159 bne.n 80a8984 if(pardata.IIN != VOLTS) 80a88d0: 4b15 ldr r3, [pc, #84] ; (80a8928 ) 80a88d2: 799b ldrb r3, [r3, #6] 80a88d4: b2db uxtb r3, r3 80a88d6: 2b02 cmp r3, #2 80a88d8: d012 beq.n 80a8900 if(pardata.LANG == RUS) 80a88da: 4b13 ldr r3, [pc, #76] ; (80a8928 ) 80a88dc: 7b1b ldrb r3, [r3, #12] 80a88de: b2db uxtb r3, r3 80a88e0: 2b00 cmp r3, #0 80a88e2: d106 bne.n 80a88f2 BSP_LCD_DisplayStringAt(220, 45, "&&/c", LEFT_MODE); 80a88e4: 2303 movs r3, #3 80a88e6: 4a25 ldr r2, [pc, #148] ; (80a897c ) 80a88e8: 212d movs r1, #45 ; 0x2d 80a88ea: 20dc movs r0, #220 ; 0xdc 80a88ec: f7ac fd54 bl 8055398 80a88f0: e077 b.n 80a89e2 else BSP_LCD_DisplayStringAt(220, 45, "mm/s", LEFT_MODE); 80a88f2: 2303 movs r3, #3 80a88f4: 4a22 ldr r2, [pc, #136] ; (80a8980 ) 80a88f6: 212d movs r1, #45 ; 0x2d 80a88f8: 20dc movs r0, #220 ; 0xdc 80a88fa: f7ac fd4d bl 8055398 80a88fe: e070 b.n 80a89e2 if(pardata.LANG == RUS) 80a8900: 4b09 ldr r3, [pc, #36] ; (80a8928 ) 80a8902: 7b1b ldrb r3, [r3, #12] 80a8904: b2db uxtb r3, r3 80a8906: 2b00 cmp r3, #0 80a8908: d106 bne.n 80a8918 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a890a: 2303 movs r3, #3 80a890c: 4a19 ldr r2, [pc, #100] ; (80a8974 ) 80a890e: 212d movs r1, #45 ; 0x2d 80a8910: 20dc movs r0, #220 ; 0xdc 80a8912: f7ac fd41 bl 8055398 80a8916: e064 b.n 80a89e2 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a8918: 2303 movs r3, #3 80a891a: 4a17 ldr r2, [pc, #92] ; (80a8978 ) 80a891c: 212d movs r1, #45 ; 0x2d 80a891e: 20dc movs r0, #220 ; 0xdc 80a8920: f7ac fd3a bl 8055398 80a8924: e05d b.n 80a89e2 80a8926: bf00 nop 80a8928: 20023eb8 .word 0x20023eb8 80a892c: 2002006c .word 0x2002006c 80a8930: 64080000 .word 0x64080000 80a8934: 200215bc .word 0x200215bc 80a8938: ff26a01f .word 0xff26a01f 80a893c: 080d74f8 .word 0x080d74f8 80a8940: 447a0000 .word 0x447a0000 80a8944: 3a83126f .word 0x3a83126f 80a8948: 080d74b0 .word 0x080d74b0 80a894c: 080d7410 .word 0x080d7410 80a8950: 080d750c .word 0x080d750c 80a8954: 080d5110 .word 0x080d5110 80a8958: 080d7510 .word 0x080d7510 80a895c: 080d741c .word 0x080d741c 80a8960: 080d7514 .word 0x080d7514 80a8964: 080d7424 .word 0x080d7424 80a8968: 3dcccccd .word 0x3dcccccd 80a896c: 080d74c0 .word 0x080d74c0 80a8970: 080d7430 .word 0x080d7430 80a8974: 080d7518 .word 0x080d7518 80a8978: 080d751c .word 0x080d751c 80a897c: 080d7520 .word 0x080d7520 80a8980: 080d7440 .word 0x080d7440 else if(pardata.IPR == DIS) 80a8984: 4bbc ldr r3, [pc, #752] ; (80a8c78 ) 80a8986: 785b ldrb r3, [r3, #1] 80a8988: b2db uxtb r3, r3 80a898a: 2b02 cmp r3, #2 80a898c: d129 bne.n 80a89e2 if(pardata.IIN != VOLTS) 80a898e: 4bba ldr r3, [pc, #744] ; (80a8c78 ) 80a8990: 799b ldrb r3, [r3, #6] 80a8992: b2db uxtb r3, r3 80a8994: 2b02 cmp r3, #2 80a8996: d012 beq.n 80a89be if(pardata.LANG == RUS) 80a8998: 4bb7 ldr r3, [pc, #732] ; (80a8c78 ) 80a899a: 7b1b ldrb r3, [r3, #12] 80a899c: b2db uxtb r3, r3 80a899e: 2b00 cmp r3, #0 80a89a0: d106 bne.n 80a89b0 BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a89a2: 2303 movs r3, #3 80a89a4: 4ab5 ldr r2, [pc, #724] ; (80a8c7c ) 80a89a6: 212d movs r1, #45 ; 0x2d 80a89a8: 20dc movs r0, #220 ; 0xdc 80a89aa: f7ac fcf5 bl 8055398 80a89ae: e018 b.n 80a89e2 else BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a89b0: 2303 movs r3, #3 80a89b2: 4ab3 ldr r2, [pc, #716] ; (80a8c80 ) 80a89b4: 212d movs r1, #45 ; 0x2d 80a89b6: 20dc movs r0, #220 ; 0xdc 80a89b8: f7ac fcee bl 8055398 80a89bc: e011 b.n 80a89e2 if(pardata.LANG == RUS) 80a89be: 4bae ldr r3, [pc, #696] ; (80a8c78 ) 80a89c0: 7b1b ldrb r3, [r3, #12] 80a89c2: b2db uxtb r3, r3 80a89c4: 2b00 cmp r3, #0 80a89c6: d106 bne.n 80a89d6 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a89c8: 2303 movs r3, #3 80a89ca: 4aae ldr r2, [pc, #696] ; (80a8c84 ) 80a89cc: 212d movs r1, #45 ; 0x2d 80a89ce: 20dc movs r0, #220 ; 0xdc 80a89d0: f7ac fce2 bl 8055398 80a89d4: e005 b.n 80a89e2 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a89d6: 2303 movs r3, #3 80a89d8: 4aab ldr r2, [pc, #684] ; (80a8c88 ) 80a89da: 212d movs r1, #45 ; 0x2d 80a89dc: 20dc movs r0, #220 ; 0xdc 80a89de: f7ac fcdb bl 8055398 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a89e2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a89e6: f06f 0002 mvn.w r0, #2 80a89ea: eeb0 0a67 vmov.f32 s0, s15 80a89ee: f7bf fbd7 bl 80681a0 80a89f2: 4602 mov r2, r0 80a89f4: 2302 movs r3, #2 80a89f6: 212d movs r1, #45 ; 0x2d 80a89f8: 20d9 movs r0, #217 ; 0xd9 80a89fa: f7ac fccd bl 8055398 80a89fe: e0a4 b.n 80a8b4a Val *= 1000.0f; 80a8a00: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8a04: ed9f 7aa1 vldr s14, [pc, #644] ; 80a8c8c 80a8a08: ee67 7a87 vmul.f32 s15, s15, s14 80a8a0c: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IPR == ACC) 80a8a10: 4b99 ldr r3, [pc, #612] ; (80a8c78 ) 80a8a12: 785b ldrb r3, [r3, #1] 80a8a14: b2db uxtb r3, r3 80a8a16: 2b00 cmp r3, #0 80a8a18: d12a bne.n 80a8a70 if(pardata.IIN != VOLTS) 80a8a1a: 4b97 ldr r3, [pc, #604] ; (80a8c78 ) 80a8a1c: 799b ldrb r3, [r3, #6] 80a8a1e: b2db uxtb r3, r3 80a8a20: 2b02 cmp r3, #2 80a8a22: d012 beq.n 80a8a4a if(pardata.LANG == RUS) 80a8a24: 4b94 ldr r3, [pc, #592] ; (80a8c78 ) 80a8a26: 7b1b ldrb r3, [r3, #12] 80a8a28: b2db uxtb r3, r3 80a8a2a: 2b00 cmp r3, #0 80a8a2c: d106 bne.n 80a8a3c BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a8a2e: 2303 movs r3, #3 80a8a30: 4a97 ldr r2, [pc, #604] ; (80a8c90 ) 80a8a32: 212d movs r1, #45 ; 0x2d 80a8a34: 20dc movs r0, #220 ; 0xdc 80a8a36: f7ac fcaf bl 8055398 80a8a3a: e078 b.n 80a8b2e else BSP_LCD_DisplayStringAt(220, 45, "mm/s^", LEFT_MODE); 80a8a3c: 2303 movs r3, #3 80a8a3e: 4a95 ldr r2, [pc, #596] ; (80a8c94 ) 80a8a40: 212d movs r1, #45 ; 0x2d 80a8a42: 20dc movs r0, #220 ; 0xdc 80a8a44: f7ac fca8 bl 8055398 80a8a48: e071 b.n 80a8b2e if(pardata.LANG == RUS) 80a8a4a: 4b8b ldr r3, [pc, #556] ; (80a8c78 ) 80a8a4c: 7b1b ldrb r3, [r3, #12] 80a8a4e: b2db uxtb r3, r3 80a8a50: 2b00 cmp r3, #0 80a8a52: d106 bne.n 80a8a62 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a8a54: 2303 movs r3, #3 80a8a56: 4a90 ldr r2, [pc, #576] ; (80a8c98 ) 80a8a58: 212d movs r1, #45 ; 0x2d 80a8a5a: 20dc movs r0, #220 ; 0xdc 80a8a5c: f7ac fc9c bl 8055398 80a8a60: e065 b.n 80a8b2e else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a8a62: 2303 movs r3, #3 80a8a64: 4a8d ldr r2, [pc, #564] ; (80a8c9c ) 80a8a66: 212d movs r1, #45 ; 0x2d 80a8a68: 20dc movs r0, #220 ; 0xdc 80a8a6a: f7ac fc95 bl 8055398 80a8a6e: e05e b.n 80a8b2e else if(pardata.IPR == VEL) 80a8a70: 4b81 ldr r3, [pc, #516] ; (80a8c78 ) 80a8a72: 785b ldrb r3, [r3, #1] 80a8a74: b2db uxtb r3, r3 80a8a76: 2b01 cmp r3, #1 80a8a78: d12a bne.n 80a8ad0 if(pardata.IIN != VOLTS) 80a8a7a: 4b7f ldr r3, [pc, #508] ; (80a8c78 ) 80a8a7c: 799b ldrb r3, [r3, #6] 80a8a7e: b2db uxtb r3, r3 80a8a80: 2b02 cmp r3, #2 80a8a82: d012 beq.n 80a8aaa if(pardata.LANG == RUS) 80a8a84: 4b7c ldr r3, [pc, #496] ; (80a8c78 ) 80a8a86: 7b1b ldrb r3, [r3, #12] 80a8a88: b2db uxtb r3, r3 80a8a8a: 2b00 cmp r3, #0 80a8a8c: d106 bne.n 80a8a9c BSP_LCD_DisplayStringAt(220, 45, "&k&/c", LEFT_MODE); 80a8a8e: 2303 movs r3, #3 80a8a90: 4a83 ldr r2, [pc, #524] ; (80a8ca0 ) 80a8a92: 212d movs r1, #45 ; 0x2d 80a8a94: 20dc movs r0, #220 ; 0xdc 80a8a96: f7ac fc7f bl 8055398 80a8a9a: e048 b.n 80a8b2e else BSP_LCD_DisplayStringAt(220, 45, "mkm/s", LEFT_MODE); 80a8a9c: 2303 movs r3, #3 80a8a9e: 4a81 ldr r2, [pc, #516] ; (80a8ca4 ) 80a8aa0: 212d movs r1, #45 ; 0x2d 80a8aa2: 20dc movs r0, #220 ; 0xdc 80a8aa4: f7ac fc78 bl 8055398 80a8aa8: e041 b.n 80a8b2e if(pardata.LANG == RUS) 80a8aaa: 4b73 ldr r3, [pc, #460] ; (80a8c78 ) 80a8aac: 7b1b ldrb r3, [r3, #12] 80a8aae: b2db uxtb r3, r3 80a8ab0: 2b00 cmp r3, #0 80a8ab2: d106 bne.n 80a8ac2 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a8ab4: 2303 movs r3, #3 80a8ab6: 4a78 ldr r2, [pc, #480] ; (80a8c98 ) 80a8ab8: 212d movs r1, #45 ; 0x2d 80a8aba: 20dc movs r0, #220 ; 0xdc 80a8abc: f7ac fc6c bl 8055398 80a8ac0: e035 b.n 80a8b2e else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a8ac2: 2303 movs r3, #3 80a8ac4: 4a75 ldr r2, [pc, #468] ; (80a8c9c ) 80a8ac6: 212d movs r1, #45 ; 0x2d 80a8ac8: 20dc movs r0, #220 ; 0xdc 80a8aca: f7ac fc65 bl 8055398 80a8ace: e02e b.n 80a8b2e else if(pardata.IPR == DIS) 80a8ad0: 4b69 ldr r3, [pc, #420] ; (80a8c78 ) 80a8ad2: 785b ldrb r3, [r3, #1] 80a8ad4: b2db uxtb r3, r3 80a8ad6: 2b02 cmp r3, #2 80a8ad8: d129 bne.n 80a8b2e if(pardata.IIN != VOLTS) 80a8ada: 4b67 ldr r3, [pc, #412] ; (80a8c78 ) 80a8adc: 799b ldrb r3, [r3, #6] 80a8ade: b2db uxtb r3, r3 80a8ae0: 2b02 cmp r3, #2 80a8ae2: d012 beq.n 80a8b0a if(pardata.LANG == RUS) 80a8ae4: 4b64 ldr r3, [pc, #400] ; (80a8c78 ) 80a8ae6: 7b1b ldrb r3, [r3, #12] 80a8ae8: b2db uxtb r3, r3 80a8aea: 2b00 cmp r3, #0 80a8aec: d106 bne.n 80a8afc BSP_LCD_DisplayStringAt(220, 45, "#&", LEFT_MODE); 80a8aee: 2303 movs r3, #3 80a8af0: 4a6d ldr r2, [pc, #436] ; (80a8ca8 ) 80a8af2: 212d movs r1, #45 ; 0x2d 80a8af4: 20dc movs r0, #220 ; 0xdc 80a8af6: f7ac fc4f bl 8055398 80a8afa: e018 b.n 80a8b2e else BSP_LCD_DisplayStringAt(220, 45, "nm", LEFT_MODE); 80a8afc: 2303 movs r3, #3 80a8afe: 4a6b ldr r2, [pc, #428] ; (80a8cac ) 80a8b00: 212d movs r1, #45 ; 0x2d 80a8b02: 20dc movs r0, #220 ; 0xdc 80a8b04: f7ac fc48 bl 8055398 80a8b08: e011 b.n 80a8b2e if(pardata.LANG == RUS) 80a8b0a: 4b5b ldr r3, [pc, #364] ; (80a8c78 ) 80a8b0c: 7b1b ldrb r3, [r3, #12] 80a8b0e: b2db uxtb r3, r3 80a8b10: 2b00 cmp r3, #0 80a8b12: d106 bne.n 80a8b22 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a8b14: 2303 movs r3, #3 80a8b16: 4a60 ldr r2, [pc, #384] ; (80a8c98 ) 80a8b18: 212d movs r1, #45 ; 0x2d 80a8b1a: 20dc movs r0, #220 ; 0xdc 80a8b1c: f7ac fc3c bl 8055398 80a8b20: e005 b.n 80a8b2e else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a8b22: 2303 movs r3, #3 80a8b24: 4a5d ldr r2, [pc, #372] ; (80a8c9c ) 80a8b26: 212d movs r1, #45 ; 0x2d 80a8b28: 20dc movs r0, #220 ; 0xdc 80a8b2a: f7ac fc35 bl 8055398 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a8b2e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8b32: f06f 0003 mvn.w r0, #3 80a8b36: eeb0 0a67 vmov.f32 s0, s15 80a8b3a: f7bf fb31 bl 80681a0 80a8b3e: 4602 mov r2, r0 80a8b40: 2302 movs r3, #2 80a8b42: 212d movs r1, #45 ; 0x2d 80a8b44: 20d9 movs r0, #217 ; 0xd9 80a8b46: f7ac fc27 bl 8055398 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a8b4a: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a8b4e: 4858 ldr r0, [pc, #352] ; (80a8cb0 ) 80a8b50: f7ac fb5c bl 805520c tmpF = THIRD[CURSOR]; 80a8b54: 4b57 ldr r3, [pc, #348] ; (80a8cb4 ) 80a8b56: 681b ldr r3, [r3, #0] 80a8b58: 4a57 ldr r2, [pc, #348] ; (80a8cb8 ) 80a8b5a: 009b lsls r3, r3, #2 80a8b5c: 4413 add r3, r2 80a8b5e: 681b ldr r3, [r3, #0] 80a8b60: 657b str r3, [r7, #84] ; 0x54 if(tmpF >= 1000.0f) 80a8b62: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a8b66: ed9f 7a49 vldr s14, [pc, #292] ; 80a8c8c 80a8b6a: eef4 7ac7 vcmpe.f32 s15, s14 80a8b6e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8b72: db2a blt.n 80a8bca tmpF *= 0.001f; 80a8b74: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a8b78: ed9f 7a50 vldr s14, [pc, #320] ; 80a8cbc 80a8b7c: ee67 7a87 vmul.f32 s15, s15, s14 80a8b80: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a8b84: 4b3c ldr r3, [pc, #240] ; (80a8c78 ) 80a8b86: 7b1b ldrb r3, [r3, #12] 80a8b88: b2db uxtb r3, r3 80a8b8a: 2b00 cmp r3, #0 80a8b8c: d107 bne.n 80a8b9e BSP_LCD_DisplayStringAt(302, 45, "k$%", LEFT_MODE); 80a8b8e: 2303 movs r3, #3 80a8b90: 4a4b ldr r2, [pc, #300] ; (80a8cc0 ) 80a8b92: 212d movs r1, #45 ; 0x2d 80a8b94: f44f 7097 mov.w r0, #302 ; 0x12e 80a8b98: f7ac fbfe bl 8055398 80a8b9c: e006 b.n 80a8bac else BSP_LCD_DisplayStringAt(302, 45, "kHz", LEFT_MODE); 80a8b9e: 2303 movs r3, #3 80a8ba0: 4a48 ldr r2, [pc, #288] ; (80a8cc4 ) 80a8ba2: 212d movs r1, #45 ; 0x2d 80a8ba4: f44f 7097 mov.w r0, #302 ; 0x12e 80a8ba8: f7ac fbf6 bl 8055398 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a8bac: f06f 0003 mvn.w r0, #3 80a8bb0: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a8bb4: f7bf faf4 bl 80681a0 80a8bb8: 4602 mov r2, r0 80a8bba: 2302 movs r3, #2 80a8bbc: 212d movs r1, #45 ; 0x2d 80a8bbe: f240 102b movw r0, #299 ; 0x12b 80a8bc2: f7ac fbe9 bl 8055398 } 80a8bc6: f001 bc15 b.w 80aa3f4 if(tmpF >= 0.1f) 80a8bca: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a8bce: ed9f 7a3e vldr s14, [pc, #248] ; 80a8cc8 80a8bd2: eef4 7ac7 vcmpe.f32 s15, s14 80a8bd6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8bda: db22 blt.n 80a8c22 if(pardata.LANG == RUS) 80a8bdc: 4b26 ldr r3, [pc, #152] ; (80a8c78 ) 80a8bde: 7b1b ldrb r3, [r3, #12] 80a8be0: b2db uxtb r3, r3 80a8be2: 2b00 cmp r3, #0 80a8be4: d107 bne.n 80a8bf6 BSP_LCD_DisplayStringAt(302, 45, "$%", LEFT_MODE); 80a8be6: 2303 movs r3, #3 80a8be8: 4a38 ldr r2, [pc, #224] ; (80a8ccc ) 80a8bea: 212d movs r1, #45 ; 0x2d 80a8bec: f44f 7097 mov.w r0, #302 ; 0x12e 80a8bf0: f7ac fbd2 bl 8055398 80a8bf4: e006 b.n 80a8c04 else BSP_LCD_DisplayStringAt(302, 45, "Hz", LEFT_MODE); 80a8bf6: 2303 movs r3, #3 80a8bf8: 4a35 ldr r2, [pc, #212] ; (80a8cd0 ) 80a8bfa: 212d movs r1, #45 ; 0x2d 80a8bfc: f44f 7097 mov.w r0, #302 ; 0x12e 80a8c00: f7ac fbca bl 8055398 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a8c04: f06f 0002 mvn.w r0, #2 80a8c08: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a8c0c: f7bf fac8 bl 80681a0 80a8c10: 4602 mov r2, r0 80a8c12: 2302 movs r3, #2 80a8c14: 212d movs r1, #45 ; 0x2d 80a8c16: f240 102b movw r0, #299 ; 0x12b 80a8c1a: f7ac fbbd bl 8055398 } 80a8c1e: f001 bbe9 b.w 80aa3f4 tmpF *= 1000.0f; 80a8c22: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a8c26: ed9f 7a19 vldr s14, [pc, #100] ; 80a8c8c 80a8c2a: ee67 7a87 vmul.f32 s15, s15, s14 80a8c2e: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a8c32: 4b11 ldr r3, [pc, #68] ; (80a8c78 ) 80a8c34: 7b1b ldrb r3, [r3, #12] 80a8c36: b2db uxtb r3, r3 80a8c38: 2b00 cmp r3, #0 80a8c3a: d107 bne.n 80a8c4c BSP_LCD_DisplayStringAt(302, 45, "&$%", LEFT_MODE); 80a8c3c: 2303 movs r3, #3 80a8c3e: 4a25 ldr r2, [pc, #148] ; (80a8cd4 ) 80a8c40: 212d movs r1, #45 ; 0x2d 80a8c42: f44f 7097 mov.w r0, #302 ; 0x12e 80a8c46: f7ac fba7 bl 8055398 80a8c4a: e006 b.n 80a8c5a else BSP_LCD_DisplayStringAt(302, 45, "mHz", LEFT_MODE); 80a8c4c: 2303 movs r3, #3 80a8c4e: 4a22 ldr r2, [pc, #136] ; (80a8cd8 ) 80a8c50: 212d movs r1, #45 ; 0x2d 80a8c52: f44f 7097 mov.w r0, #302 ; 0x12e 80a8c56: f7ac fb9f bl 8055398 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a8c5a: f06f 0001 mvn.w r0, #1 80a8c5e: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a8c62: f7bf fa9d bl 80681a0 80a8c66: 4602 mov r2, r0 80a8c68: 2302 movs r3, #2 80a8c6a: 212d movs r1, #45 ; 0x2d 80a8c6c: f240 102b movw r0, #299 ; 0x12b 80a8c70: f7ac fb92 bl 8055398 } 80a8c74: f001 bbbe b.w 80aa3f4 80a8c78: 20023eb8 .word 0x20023eb8 80a8c7c: 080d7528 .word 0x080d7528 80a8c80: 080d744c .word 0x080d744c 80a8c84: 080d7518 .word 0x080d7518 80a8c88: 080d751c .word 0x080d751c 80a8c8c: 447a0000 .word 0x447a0000 80a8c90: 080d74d0 .word 0x080d74d0 80a8c94: 080d7458 .word 0x080d7458 80a8c98: 080d752c .word 0x080d752c 80a8c9c: 080d747c .word 0x080d747c 80a8ca0: 080d7530 .word 0x080d7530 80a8ca4: 080d7468 .word 0x080d7468 80a8ca8: 080d7538 .word 0x080d7538 80a8cac: 080d7474 .word 0x080d7474 80a8cb0: ff808080 .word 0xff808080 80a8cb4: 2002006c .word 0x2002006c 80a8cb8: 080f61a8 .word 0x080f61a8 80a8cbc: 3a83126f .word 0x3a83126f 80a8cc0: 080d753c .word 0x080d753c 80a8cc4: 080d7540 .word 0x080d7540 80a8cc8: 3dcccccd .word 0x3dcccccd 80a8ccc: 080d74fc .word 0x080d74fc 80a8cd0: 080d7500 .word 0x080d7500 80a8cd4: 080d7544 .word 0x080d7544 80a8cd8: 080d7548 .word 0x080d7548 arm_max_f32(&ScrA_f32(Mpos), avgOSC[ViewLevel][pardata.LNE], &maxf, &n2); 80a8cdc: 4bb4 ldr r3, [pc, #720] ; (80a8fb0 ) 80a8cde: 881b ldrh r3, [r3, #0] 80a8ce0: b29b uxth r3, r3 80a8ce2: 009b lsls r3, r3, #2 80a8ce4: 461a mov r2, r3 80a8ce6: 4bb3 ldr r3, [pc, #716] ; (80a8fb4 ) 80a8ce8: 4413 add r3, r2 80a8cea: 461c mov r4, r3 80a8cec: 4bb2 ldr r3, [pc, #712] ; (80a8fb8 ) 80a8cee: 781b ldrb r3, [r3, #0] 80a8cf0: b2db uxtb r3, r3 80a8cf2: 4619 mov r1, r3 80a8cf4: 4bb1 ldr r3, [pc, #708] ; (80a8fbc ) 80a8cf6: 79db ldrb r3, [r3, #7] 80a8cf8: b2db uxtb r3, r3 80a8cfa: 4618 mov r0, r3 80a8cfc: 4ab0 ldr r2, [pc, #704] ; (80a8fc0 ) 80a8cfe: 460b mov r3, r1 80a8d00: 009b lsls r3, r3, #2 80a8d02: 440b add r3, r1 80a8d04: 4413 add r3, r2 80a8d06: 4403 add r3, r0 80a8d08: 781b ldrb r3, [r3, #0] 80a8d0a: 4619 mov r1, r3 80a8d0c: f107 0348 add.w r3, r7, #72 ; 0x48 80a8d10: f107 0240 add.w r2, r7, #64 ; 0x40 80a8d14: 4620 mov r0, r4 80a8d16: f026 f97d bl 80cf014 arm_min_f32(&ScrA_f32(Mpos), avgOSC[ViewLevel][pardata.LNE], &minf, &n1); 80a8d1a: 4ba5 ldr r3, [pc, #660] ; (80a8fb0 ) 80a8d1c: 881b ldrh r3, [r3, #0] 80a8d1e: b29b uxth r3, r3 80a8d20: 009b lsls r3, r3, #2 80a8d22: 461a mov r2, r3 80a8d24: 4ba3 ldr r3, [pc, #652] ; (80a8fb4 ) 80a8d26: 4413 add r3, r2 80a8d28: 461c mov r4, r3 80a8d2a: 4ba3 ldr r3, [pc, #652] ; (80a8fb8 ) 80a8d2c: 781b ldrb r3, [r3, #0] 80a8d2e: b2db uxtb r3, r3 80a8d30: 4619 mov r1, r3 80a8d32: 4ba2 ldr r3, [pc, #648] ; (80a8fbc ) 80a8d34: 79db ldrb r3, [r3, #7] 80a8d36: b2db uxtb r3, r3 80a8d38: 4618 mov r0, r3 80a8d3a: 4aa1 ldr r2, [pc, #644] ; (80a8fc0 ) 80a8d3c: 460b mov r3, r1 80a8d3e: 009b lsls r3, r3, #2 80a8d40: 440b add r3, r1 80a8d42: 4413 add r3, r2 80a8d44: 4403 add r3, r0 80a8d46: 781b ldrb r3, [r3, #0] 80a8d48: 4619 mov r1, r3 80a8d4a: f107 034c add.w r3, r7, #76 ; 0x4c 80a8d4e: f107 0244 add.w r2, r7, #68 ; 0x44 80a8d52: 4620 mov r0, r4 80a8d54: f026 f8c2 bl 80ceedc if((maxf > 0) && (minf < 0)) 80a8d58: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a8d5c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8d60: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8d64: dd33 ble.n 80a8dce 80a8d66: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8d6a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8d6e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8d72: d52c bpl.n 80a8dce if(ABS(maxf) < ABS(minf)) 80a8d74: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a8d78: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8d7c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8d80: dd02 ble.n 80a8d88 80a8d82: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80a8d86: e003 b.n 80a8d90 80a8d88: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a8d8c: eeb1 7a67 vneg.f32 s14, s15 80a8d90: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8d94: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8d98: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8d9c: dd02 ble.n 80a8da4 80a8d9e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8da2: e003 b.n 80a8dac 80a8da4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8da8: eef1 7a67 vneg.f32 s15, s15 80a8dac: eeb4 7ae7 vcmpe.f32 s14, s15 80a8db0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8db4: d505 bpl.n 80a8dc2 CurVal = minf; 80a8db6: 6c7b ldr r3, [r7, #68] ; 0x44 80a8db8: 4a82 ldr r2, [pc, #520] ; (80a8fc4 ) 80a8dba: 6013 str r3, [r2, #0] l = n1; 80a8dbc: 6cfb ldr r3, [r7, #76] ; 0x4c 80a8dbe: 653b str r3, [r7, #80] ; 0x50 if(ABS(maxf) < ABS(minf)) 80a8dc0: e054 b.n 80a8e6c CurVal = maxf; 80a8dc2: 6c3b ldr r3, [r7, #64] ; 0x40 80a8dc4: 4a7f ldr r2, [pc, #508] ; (80a8fc4 ) 80a8dc6: 6013 str r3, [r2, #0] l = n2; 80a8dc8: 6cbb ldr r3, [r7, #72] ; 0x48 80a8dca: 653b str r3, [r7, #80] ; 0x50 if(ABS(maxf) < ABS(minf)) 80a8dcc: e04e b.n 80a8e6c if((maxf > 0) && (minf > 0)) 80a8dce: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a8dd2: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8dd6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8dda: dd0c ble.n 80a8df6 80a8ddc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8de0: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8de4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8de8: dd05 ble.n 80a8df6 CurVal = maxf; 80a8dea: 6c3b ldr r3, [r7, #64] ; 0x40 80a8dec: 4a75 ldr r2, [pc, #468] ; (80a8fc4 ) 80a8dee: 6013 str r3, [r2, #0] l = n2; 80a8df0: 6cbb ldr r3, [r7, #72] ; 0x48 80a8df2: 653b str r3, [r7, #80] ; 0x50 80a8df4: e03a b.n 80a8e6c if((maxf < 0) && (minf < 0)) 80a8df6: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a8dfa: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8dfe: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8e02: d50c bpl.n 80a8e1e 80a8e04: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8e08: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8e0c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8e10: d505 bpl.n 80a8e1e CurVal = minf; 80a8e12: 6c7b ldr r3, [r7, #68] ; 0x44 80a8e14: 4a6b ldr r2, [pc, #428] ; (80a8fc4 ) 80a8e16: 6013 str r3, [r2, #0] l = n1; 80a8e18: 6cfb ldr r3, [r7, #76] ; 0x4c 80a8e1a: 653b str r3, [r7, #80] ; 0x50 80a8e1c: e026 b.n 80a8e6c if((maxf >= 0) && (minf == 0)) 80a8e1e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a8e22: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8e26: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8e2a: db0c blt.n 80a8e46 80a8e2c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8e30: eef5 7a40 vcmp.f32 s15, #0.0 80a8e34: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8e38: d105 bne.n 80a8e46 CurVal = maxf; 80a8e3a: 6c3b ldr r3, [r7, #64] ; 0x40 80a8e3c: 4a61 ldr r2, [pc, #388] ; (80a8fc4 ) 80a8e3e: 6013 str r3, [r2, #0] l = n2; 80a8e40: 6cbb ldr r3, [r7, #72] ; 0x48 80a8e42: 653b str r3, [r7, #80] ; 0x50 80a8e44: e012 b.n 80a8e6c if((maxf == 0) && (minf <= 0)) 80a8e46: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a8e4a: eef5 7a40 vcmp.f32 s15, #0.0 80a8e4e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8e52: d10b bne.n 80a8e6c 80a8e54: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8e58: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8e5c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8e60: d804 bhi.n 80a8e6c CurVal = minf; 80a8e62: 6c7b ldr r3, [r7, #68] ; 0x44 80a8e64: 4a57 ldr r2, [pc, #348] ; (80a8fc4 ) 80a8e66: 6013 str r3, [r2, #0] l = n1; 80a8e68: 6cfb ldr r3, [r7, #76] ; 0x4c 80a8e6a: 653b str r3, [r7, #80] ; 0x50 fineMpos = Mpos + l; 80a8e6c: 6d3b ldr r3, [r7, #80] ; 0x50 80a8e6e: b29a uxth r2, r3 80a8e70: 4b4f ldr r3, [pc, #316] ; (80a8fb0 ) 80a8e72: 881b ldrh r3, [r3, #0] 80a8e74: b29b uxth r3, r3 80a8e76: 4413 add r3, r2 80a8e78: b29a uxth r2, r3 80a8e7a: 4b53 ldr r3, [pc, #332] ; (80a8fc8 ) 80a8e7c: 801a strh r2, [r3, #0] Val = CurVal; 80a8e7e: 4b51 ldr r3, [pc, #324] ; (80a8fc4 ) 80a8e80: 681b ldr r3, [r3, #0] 80a8e82: 63fb str r3, [r7, #60] ; 0x3c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a8e84: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a8e88: 4850 ldr r0, [pc, #320] ; (80a8fcc ) 80a8e8a: f7ac f9bf bl 805520c if(ABS(Val) >= 1000.0f) 80a8e8e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8e92: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8e96: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8e9a: dd0c ble.n 80a8eb6 80a8e9c: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8ea0: ed9f 7a4b vldr s14, [pc, #300] ; 80a8fd0 80a8ea4: eef4 7ac7 vcmpe.f32 s15, s14 80a8ea8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8eac: bfac ite ge 80a8eae: 2301 movge r3, #1 80a8eb0: 2300 movlt r3, #0 80a8eb2: b2db uxtb r3, r3 80a8eb4: e00b b.n 80a8ece 80a8eb6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8eba: ed9f 7a46 vldr s14, [pc, #280] ; 80a8fd4 80a8ebe: eef4 7ac7 vcmpe.f32 s15, s14 80a8ec2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8ec6: bf94 ite ls 80a8ec8: 2301 movls r3, #1 80a8eca: 2300 movhi r3, #0 80a8ecc: b2db uxtb r3, r3 80a8ece: 2b00 cmp r3, #0 80a8ed0: f000 80ce beq.w 80a9070 Val *= 0.001f; 80a8ed4: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8ed8: ed9f 7a3f vldr s14, [pc, #252] ; 80a8fd8 80a8edc: ee67 7a87 vmul.f32 s15, s15, s14 80a8ee0: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.LANG == RUS) 80a8ee4: 4b35 ldr r3, [pc, #212] ; (80a8fbc ) 80a8ee6: 7b1b ldrb r3, [r3, #12] 80a8ee8: b2db uxtb r3, r3 80a8eea: 2b00 cmp r3, #0 80a8eec: d147 bne.n 80a8f7e if(pardata.IPR == ACC) 80a8eee: 4b33 ldr r3, [pc, #204] ; (80a8fbc ) 80a8ef0: 785b ldrb r3, [r3, #1] 80a8ef2: b2db uxtb r3, r3 80a8ef4: 2b00 cmp r3, #0 80a8ef6: d112 bne.n 80a8f1e if(pardata.IIN != VOLTS) 80a8ef8: 4b30 ldr r3, [pc, #192] ; (80a8fbc ) 80a8efa: 799b ldrb r3, [r3, #6] 80a8efc: b2db uxtb r3, r3 80a8efe: 2b02 cmp r3, #2 80a8f00: d006 beq.n 80a8f10 BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a8f02: 2303 movs r3, #3 80a8f04: 4a35 ldr r2, [pc, #212] ; (80a8fdc ) 80a8f06: 212d movs r1, #45 ; 0x2d 80a8f08: 20dc movs r0, #220 ; 0xdc 80a8f0a: f7ac fa45 bl 8055398 80a8f0e: e0a0 b.n 80a9052 else BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a8f10: 2303 movs r3, #3 80a8f12: 4a33 ldr r2, [pc, #204] ; (80a8fe0 ) 80a8f14: 212d movs r1, #45 ; 0x2d 80a8f16: 20dc movs r0, #220 ; 0xdc 80a8f18: f7ac fa3e bl 8055398 80a8f1c: e099 b.n 80a9052 if(pardata.IPR == VEL) 80a8f1e: 4b27 ldr r3, [pc, #156] ; (80a8fbc ) 80a8f20: 785b ldrb r3, [r3, #1] 80a8f22: b2db uxtb r3, r3 80a8f24: 2b01 cmp r3, #1 80a8f26: d112 bne.n 80a8f4e if(pardata.IIN != VOLTS) 80a8f28: 4b24 ldr r3, [pc, #144] ; (80a8fbc ) 80a8f2a: 799b ldrb r3, [r3, #6] 80a8f2c: b2db uxtb r3, r3 80a8f2e: 2b02 cmp r3, #2 80a8f30: d006 beq.n 80a8f40 BSP_LCD_DisplayStringAt(220, 45, "&/c", LEFT_MODE); 80a8f32: 2303 movs r3, #3 80a8f34: 4a2b ldr r2, [pc, #172] ; (80a8fe4 ) 80a8f36: 212d movs r1, #45 ; 0x2d 80a8f38: 20dc movs r0, #220 ; 0xdc 80a8f3a: f7ac fa2d bl 8055398 80a8f3e: e088 b.n 80a9052 else BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a8f40: 2303 movs r3, #3 80a8f42: 4a27 ldr r2, [pc, #156] ; (80a8fe0 ) 80a8f44: 212d movs r1, #45 ; 0x2d 80a8f46: 20dc movs r0, #220 ; 0xdc 80a8f48: f7ac fa26 bl 8055398 80a8f4c: e081 b.n 80a9052 if(pardata.IPR == DIS) 80a8f4e: 4b1b ldr r3, [pc, #108] ; (80a8fbc ) 80a8f50: 785b ldrb r3, [r3, #1] 80a8f52: b2db uxtb r3, r3 80a8f54: 2b02 cmp r3, #2 80a8f56: d17c bne.n 80a9052 if(pardata.IIN != VOLTS) 80a8f58: 4b18 ldr r3, [pc, #96] ; (80a8fbc ) 80a8f5a: 799b ldrb r3, [r3, #6] 80a8f5c: b2db uxtb r3, r3 80a8f5e: 2b02 cmp r3, #2 80a8f60: d006 beq.n 80a8f70 BSP_LCD_DisplayStringAt(220, 45, "&&", LEFT_MODE); 80a8f62: 2303 movs r3, #3 80a8f64: 4a20 ldr r2, [pc, #128] ; (80a8fe8 ) 80a8f66: 212d movs r1, #45 ; 0x2d 80a8f68: 20dc movs r0, #220 ; 0xdc 80a8f6a: f7ac fa15 bl 8055398 80a8f6e: e070 b.n 80a9052 else BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a8f70: 2303 movs r3, #3 80a8f72: 4a1b ldr r2, [pc, #108] ; (80a8fe0 ) 80a8f74: 212d movs r1, #45 ; 0x2d 80a8f76: 20dc movs r0, #220 ; 0xdc 80a8f78: f7ac fa0e bl 8055398 80a8f7c: e069 b.n 80a9052 if(pardata.IPR == ACC) 80a8f7e: 4b0f ldr r3, [pc, #60] ; (80a8fbc ) 80a8f80: 785b ldrb r3, [r3, #1] 80a8f82: b2db uxtb r3, r3 80a8f84: 2b00 cmp r3, #0 80a8f86: d135 bne.n 80a8ff4 if(pardata.IIN != VOLTS) 80a8f88: 4b0c ldr r3, [pc, #48] ; (80a8fbc ) 80a8f8a: 799b ldrb r3, [r3, #6] 80a8f8c: b2db uxtb r3, r3 80a8f8e: 2b02 cmp r3, #2 80a8f90: d006 beq.n 80a8fa0 BSP_LCD_DisplayStringAt(220, 45, "km/c^", LEFT_MODE); 80a8f92: 2303 movs r3, #3 80a8f94: 4a15 ldr r2, [pc, #84] ; (80a8fec ) 80a8f96: 212d movs r1, #45 ; 0x2d 80a8f98: 20dc movs r0, #220 ; 0xdc 80a8f9a: f7ac f9fd bl 8055398 80a8f9e: e058 b.n 80a9052 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a8fa0: 2303 movs r3, #3 80a8fa2: 4a13 ldr r2, [pc, #76] ; (80a8ff0 ) 80a8fa4: 212d movs r1, #45 ; 0x2d 80a8fa6: 20dc movs r0, #220 ; 0xdc 80a8fa8: f7ac f9f6 bl 8055398 80a8fac: e051 b.n 80a9052 80a8fae: bf00 nop 80a8fb0: 20025d6e .word 0x20025d6e 80a8fb4: 64080000 .word 0x64080000 80a8fb8: 20020fc0 .word 0x20020fc0 80a8fbc: 20023eb8 .word 0x20023eb8 80a8fc0: 080f5fc8 .word 0x080f5fc8 80a8fc4: 200215bc .word 0x200215bc 80a8fc8: 20025d74 .word 0x20025d74 80a8fcc: ff26a01f .word 0xff26a01f 80a8fd0: 447a0000 .word 0x447a0000 80a8fd4: c47a0000 .word 0xc47a0000 80a8fd8: 3a83126f .word 0x3a83126f 80a8fdc: 080d74b0 .word 0x080d74b0 80a8fe0: 080d750c .word 0x080d750c 80a8fe4: 080d7510 .word 0x080d7510 80a8fe8: 080d7514 .word 0x080d7514 80a8fec: 080d74b8 .word 0x080d74b8 80a8ff0: 080d5110 .word 0x080d5110 if(pardata.IPR == VEL) 80a8ff4: 4bb7 ldr r3, [pc, #732] ; (80a92d4 ) 80a8ff6: 785b ldrb r3, [r3, #1] 80a8ff8: b2db uxtb r3, r3 80a8ffa: 2b01 cmp r3, #1 80a8ffc: d112 bne.n 80a9024 if(pardata.IIN != VOLTS) 80a8ffe: 4bb5 ldr r3, [pc, #724] ; (80a92d4 ) 80a9000: 799b ldrb r3, [r3, #6] 80a9002: b2db uxtb r3, r3 80a9004: 2b02 cmp r3, #2 80a9006: d006 beq.n 80a9016 BSP_LCD_DisplayStringAt(220, 45, "m/c", LEFT_MODE); 80a9008: 2303 movs r3, #3 80a900a: 4ab3 ldr r2, [pc, #716] ; (80a92d8 ) 80a900c: 212d movs r1, #45 ; 0x2d 80a900e: 20dc movs r0, #220 ; 0xdc 80a9010: f7ac f9c2 bl 8055398 80a9014: e01d b.n 80a9052 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a9016: 2303 movs r3, #3 80a9018: 4ab0 ldr r2, [pc, #704] ; (80a92dc ) 80a901a: 212d movs r1, #45 ; 0x2d 80a901c: 20dc movs r0, #220 ; 0xdc 80a901e: f7ac f9bb bl 8055398 80a9022: e016 b.n 80a9052 if(pardata.IPR == DIS) 80a9024: 4bab ldr r3, [pc, #684] ; (80a92d4 ) 80a9026: 785b ldrb r3, [r3, #1] 80a9028: b2db uxtb r3, r3 80a902a: 2b02 cmp r3, #2 80a902c: d111 bne.n 80a9052 if(pardata.IIN != VOLTS) 80a902e: 4ba9 ldr r3, [pc, #676] ; (80a92d4 ) 80a9030: 799b ldrb r3, [r3, #6] 80a9032: b2db uxtb r3, r3 80a9034: 2b02 cmp r3, #2 80a9036: d006 beq.n 80a9046 BSP_LCD_DisplayStringAt(220, 45, "mm", LEFT_MODE); 80a9038: 2303 movs r3, #3 80a903a: 4aa9 ldr r2, [pc, #676] ; (80a92e0 ) 80a903c: 212d movs r1, #45 ; 0x2d 80a903e: 20dc movs r0, #220 ; 0xdc 80a9040: f7ac f9aa bl 8055398 80a9044: e005 b.n 80a9052 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a9046: 2303 movs r3, #3 80a9048: 4aa4 ldr r2, [pc, #656] ; (80a92dc ) 80a904a: 212d movs r1, #45 ; 0x2d 80a904c: 20dc movs r0, #220 ; 0xdc 80a904e: f7ac f9a3 bl 8055398 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a9052: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9056: f06f 0002 mvn.w r0, #2 80a905a: eeb0 0a67 vmov.f32 s0, s15 80a905e: f7bf f89f bl 80681a0 80a9062: 4602 mov r2, r0 80a9064: 2302 movs r3, #2 80a9066: 212d movs r1, #45 ; 0x2d 80a9068: 20d9 movs r0, #217 ; 0xd9 80a906a: f7ac f995 bl 8055398 80a906e: e1c1 b.n 80a93f4 if(ABS(Val) >= 0.1f) 80a9070: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9074: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9078: eef1 fa10 vmrs APSR_nzcv, fpscr 80a907c: dd0c ble.n 80a9098 80a907e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9082: ed9f 7a98 vldr s14, [pc, #608] ; 80a92e4 80a9086: eef4 7ac7 vcmpe.f32 s15, s14 80a908a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a908e: bfac ite ge 80a9090: 2301 movge r3, #1 80a9092: 2300 movlt r3, #0 80a9094: b2db uxtb r3, r3 80a9096: e00b b.n 80a90b0 80a9098: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a909c: ed9f 7a92 vldr s14, [pc, #584] ; 80a92e8 80a90a0: eef4 7ac7 vcmpe.f32 s15, s14 80a90a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a90a8: bf94 ite ls 80a90aa: 2301 movls r3, #1 80a90ac: 2300 movhi r3, #0 80a90ae: b2db uxtb r3, r3 80a90b0: 2b00 cmp r3, #0 80a90b2: f000 80a3 beq.w 80a91fc if(pardata.LANG == RUS) 80a90b6: 4b87 ldr r3, [pc, #540] ; (80a92d4 ) 80a90b8: 7b1b ldrb r3, [r3, #12] 80a90ba: b2db uxtb r3, r3 80a90bc: 2b00 cmp r3, #0 80a90be: d147 bne.n 80a9150 if(pardata.IPR == ACC) 80a90c0: 4b84 ldr r3, [pc, #528] ; (80a92d4 ) 80a90c2: 785b ldrb r3, [r3, #1] 80a90c4: b2db uxtb r3, r3 80a90c6: 2b00 cmp r3, #0 80a90c8: d112 bne.n 80a90f0 if(pardata.IIN != VOLTS) 80a90ca: 4b82 ldr r3, [pc, #520] ; (80a92d4 ) 80a90cc: 799b ldrb r3, [r3, #6] 80a90ce: b2db uxtb r3, r3 80a90d0: 2b02 cmp r3, #2 80a90d2: d006 beq.n 80a90e2 BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a90d4: 2303 movs r3, #3 80a90d6: 4a85 ldr r2, [pc, #532] ; (80a92ec ) 80a90d8: 212d movs r1, #45 ; 0x2d 80a90da: 20dc movs r0, #220 ; 0xdc 80a90dc: f7ac f95c bl 8055398 80a90e0: e07d b.n 80a91de else BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a90e2: 2303 movs r3, #3 80a90e4: 4a82 ldr r2, [pc, #520] ; (80a92f0 ) 80a90e6: 212d movs r1, #45 ; 0x2d 80a90e8: 20dc movs r0, #220 ; 0xdc 80a90ea: f7ac f955 bl 8055398 80a90ee: e076 b.n 80a91de if(pardata.IPR == VEL) 80a90f0: 4b78 ldr r3, [pc, #480] ; (80a92d4 ) 80a90f2: 785b ldrb r3, [r3, #1] 80a90f4: b2db uxtb r3, r3 80a90f6: 2b01 cmp r3, #1 80a90f8: d112 bne.n 80a9120 if(pardata.IIN != VOLTS) 80a90fa: 4b76 ldr r3, [pc, #472] ; (80a92d4 ) 80a90fc: 799b ldrb r3, [r3, #6] 80a90fe: b2db uxtb r3, r3 80a9100: 2b02 cmp r3, #2 80a9102: d006 beq.n 80a9112 BSP_LCD_DisplayStringAt(220, 45, "&&/c", LEFT_MODE); 80a9104: 2303 movs r3, #3 80a9106: 4a7b ldr r2, [pc, #492] ; (80a92f4 ) 80a9108: 212d movs r1, #45 ; 0x2d 80a910a: 20dc movs r0, #220 ; 0xdc 80a910c: f7ac f944 bl 8055398 80a9110: e065 b.n 80a91de else BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a9112: 2303 movs r3, #3 80a9114: 4a76 ldr r2, [pc, #472] ; (80a92f0 ) 80a9116: 212d movs r1, #45 ; 0x2d 80a9118: 20dc movs r0, #220 ; 0xdc 80a911a: f7ac f93d bl 8055398 80a911e: e05e b.n 80a91de if(pardata.IPR == DIS) 80a9120: 4b6c ldr r3, [pc, #432] ; (80a92d4 ) 80a9122: 785b ldrb r3, [r3, #1] 80a9124: b2db uxtb r3, r3 80a9126: 2b02 cmp r3, #2 80a9128: d159 bne.n 80a91de if(pardata.IIN != VOLTS) 80a912a: 4b6a ldr r3, [pc, #424] ; (80a92d4 ) 80a912c: 799b ldrb r3, [r3, #6] 80a912e: b2db uxtb r3, r3 80a9130: 2b02 cmp r3, #2 80a9132: d006 beq.n 80a9142 BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a9134: 2303 movs r3, #3 80a9136: 4a70 ldr r2, [pc, #448] ; (80a92f8 ) 80a9138: 212d movs r1, #45 ; 0x2d 80a913a: 20dc movs r0, #220 ; 0xdc 80a913c: f7ac f92c bl 8055398 80a9140: e04d b.n 80a91de else BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a9142: 2303 movs r3, #3 80a9144: 4a6a ldr r2, [pc, #424] ; (80a92f0 ) 80a9146: 212d movs r1, #45 ; 0x2d 80a9148: 20dc movs r0, #220 ; 0xdc 80a914a: f7ac f925 bl 8055398 80a914e: e046 b.n 80a91de if(pardata.IPR == ACC) 80a9150: 4b60 ldr r3, [pc, #384] ; (80a92d4 ) 80a9152: 785b ldrb r3, [r3, #1] 80a9154: b2db uxtb r3, r3 80a9156: 2b00 cmp r3, #0 80a9158: d112 bne.n 80a9180 if(pardata.IIN != VOLTS) 80a915a: 4b5e ldr r3, [pc, #376] ; (80a92d4 ) 80a915c: 799b ldrb r3, [r3, #6] 80a915e: b2db uxtb r3, r3 80a9160: 2b02 cmp r3, #2 80a9162: d006 beq.n 80a9172 BSP_LCD_DisplayStringAt(220, 45, "m/c^", LEFT_MODE); 80a9164: 2303 movs r3, #3 80a9166: 4a65 ldr r2, [pc, #404] ; (80a92fc ) 80a9168: 212d movs r1, #45 ; 0x2d 80a916a: 20dc movs r0, #220 ; 0xdc 80a916c: f7ac f914 bl 8055398 80a9170: e035 b.n 80a91de else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a9172: 2303 movs r3, #3 80a9174: 4a62 ldr r2, [pc, #392] ; (80a9300 ) 80a9176: 212d movs r1, #45 ; 0x2d 80a9178: 20dc movs r0, #220 ; 0xdc 80a917a: f7ac f90d bl 8055398 80a917e: e02e b.n 80a91de if(pardata.IPR == VEL) 80a9180: 4b54 ldr r3, [pc, #336] ; (80a92d4 ) 80a9182: 785b ldrb r3, [r3, #1] 80a9184: b2db uxtb r3, r3 80a9186: 2b01 cmp r3, #1 80a9188: d112 bne.n 80a91b0 if(pardata.IIN != VOLTS) 80a918a: 4b52 ldr r3, [pc, #328] ; (80a92d4 ) 80a918c: 799b ldrb r3, [r3, #6] 80a918e: b2db uxtb r3, r3 80a9190: 2b02 cmp r3, #2 80a9192: d006 beq.n 80a91a2 BSP_LCD_DisplayStringAt(220, 45, "mm/c", LEFT_MODE); 80a9194: 2303 movs r3, #3 80a9196: 4a5b ldr r2, [pc, #364] ; (80a9304 ) 80a9198: 212d movs r1, #45 ; 0x2d 80a919a: 20dc movs r0, #220 ; 0xdc 80a919c: f7ac f8fc bl 8055398 80a91a0: e01d b.n 80a91de else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a91a2: 2303 movs r3, #3 80a91a4: 4a56 ldr r2, [pc, #344] ; (80a9300 ) 80a91a6: 212d movs r1, #45 ; 0x2d 80a91a8: 20dc movs r0, #220 ; 0xdc 80a91aa: f7ac f8f5 bl 8055398 80a91ae: e016 b.n 80a91de if(pardata.IPR == DIS) 80a91b0: 4b48 ldr r3, [pc, #288] ; (80a92d4 ) 80a91b2: 785b ldrb r3, [r3, #1] 80a91b4: b2db uxtb r3, r3 80a91b6: 2b02 cmp r3, #2 80a91b8: d111 bne.n 80a91de if(pardata.IIN != VOLTS) 80a91ba: 4b46 ldr r3, [pc, #280] ; (80a92d4 ) 80a91bc: 799b ldrb r3, [r3, #6] 80a91be: b2db uxtb r3, r3 80a91c0: 2b02 cmp r3, #2 80a91c2: d006 beq.n 80a91d2 BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a91c4: 2303 movs r3, #3 80a91c6: 4a50 ldr r2, [pc, #320] ; (80a9308 ) 80a91c8: 212d movs r1, #45 ; 0x2d 80a91ca: 20dc movs r0, #220 ; 0xdc 80a91cc: f7ac f8e4 bl 8055398 80a91d0: e005 b.n 80a91de else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a91d2: 2303 movs r3, #3 80a91d4: 4a4a ldr r2, [pc, #296] ; (80a9300 ) 80a91d6: 212d movs r1, #45 ; 0x2d 80a91d8: 20dc movs r0, #220 ; 0xdc 80a91da: f7ac f8dd bl 8055398 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a91de: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a91e2: f06f 0002 mvn.w r0, #2 80a91e6: eeb0 0a67 vmov.f32 s0, s15 80a91ea: f7be ffd9 bl 80681a0 80a91ee: 4602 mov r2, r0 80a91f0: 2302 movs r3, #2 80a91f2: 212d movs r1, #45 ; 0x2d 80a91f4: 20d9 movs r0, #217 ; 0xd9 80a91f6: f7ac f8cf bl 8055398 80a91fa: e0fb b.n 80a93f4 if(pardata.IPR == ACC) 80a91fc: 4b35 ldr r3, [pc, #212] ; (80a92d4 ) 80a91fe: 785b ldrb r3, [r3, #1] 80a9200: b2db uxtb r3, r3 80a9202: 2b00 cmp r3, #0 80a9204: d140 bne.n 80a9288 Val *= 1000.0f; 80a9206: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a920a: ed9f 7a40 vldr s14, [pc, #256] ; 80a930c 80a920e: ee67 7a87 vmul.f32 s15, s15, s14 80a9212: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IIN != VOLTS) 80a9216: 4b2f ldr r3, [pc, #188] ; (80a92d4 ) 80a9218: 799b ldrb r3, [r3, #6] 80a921a: b2db uxtb r3, r3 80a921c: 2b02 cmp r3, #2 80a921e: d012 beq.n 80a9246 if(pardata.LANG == RUS) 80a9220: 4b2c ldr r3, [pc, #176] ; (80a92d4 ) 80a9222: 7b1b ldrb r3, [r3, #12] 80a9224: b2db uxtb r3, r3 80a9226: 2b00 cmp r3, #0 80a9228: d106 bne.n 80a9238 BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a922a: 2303 movs r3, #3 80a922c: 4a38 ldr r2, [pc, #224] ; (80a9310 ) 80a922e: 212d movs r1, #45 ; 0x2d 80a9230: 20dc movs r0, #220 ; 0xdc 80a9232: f7ac f8b1 bl 8055398 80a9236: e018 b.n 80a926a else BSP_LCD_DisplayStringAt(220, 45, "mm/c^", LEFT_MODE); 80a9238: 2303 movs r3, #3 80a923a: 4a36 ldr r2, [pc, #216] ; (80a9314 ) 80a923c: 212d movs r1, #45 ; 0x2d 80a923e: 20dc movs r0, #220 ; 0xdc 80a9240: f7ac f8aa bl 8055398 80a9244: e011 b.n 80a926a if(pardata.LANG == RUS) 80a9246: 4b23 ldr r3, [pc, #140] ; (80a92d4 ) 80a9248: 7b1b ldrb r3, [r3, #12] 80a924a: b2db uxtb r3, r3 80a924c: 2b00 cmp r3, #0 80a924e: d106 bne.n 80a925e BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a9250: 2303 movs r3, #3 80a9252: 4a31 ldr r2, [pc, #196] ; (80a9318 ) 80a9254: 212d movs r1, #45 ; 0x2d 80a9256: 20dc movs r0, #220 ; 0xdc 80a9258: f7ac f89e bl 8055398 80a925c: e005 b.n 80a926a else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a925e: 2303 movs r3, #3 80a9260: 4a2e ldr r2, [pc, #184] ; (80a931c ) 80a9262: 212d movs r1, #45 ; 0x2d 80a9264: 20dc movs r0, #220 ; 0xdc 80a9266: f7ac f897 bl 8055398 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a926a: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a926e: f06f 0002 mvn.w r0, #2 80a9272: eeb0 0a67 vmov.f32 s0, s15 80a9276: f7be ff93 bl 80681a0 80a927a: 4602 mov r2, r0 80a927c: 2302 movs r3, #2 80a927e: 212d movs r1, #45 ; 0x2d 80a9280: 20d9 movs r0, #217 ; 0xd9 80a9282: f7ac f889 bl 8055398 80a9286: e0b5 b.n 80a93f4 if(pardata.IPR == VEL) 80a9288: 4b12 ldr r3, [pc, #72] ; (80a92d4 ) 80a928a: 785b ldrb r3, [r3, #1] 80a928c: b2db uxtb r3, r3 80a928e: 2b01 cmp r3, #1 80a9290: d16b bne.n 80a936a Val *= 1000.0f; 80a9292: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9296: ed9f 7a1d vldr s14, [pc, #116] ; 80a930c 80a929a: ee67 7a87 vmul.f32 s15, s15, s14 80a929e: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IIN != VOLTS) 80a92a2: 4b0c ldr r3, [pc, #48] ; (80a92d4 ) 80a92a4: 799b ldrb r3, [r3, #6] 80a92a6: b2db uxtb r3, r3 80a92a8: 2b02 cmp r3, #2 80a92aa: d03d beq.n 80a9328 if(pardata.LANG == RUS) 80a92ac: 4b09 ldr r3, [pc, #36] ; (80a92d4 ) 80a92ae: 7b1b ldrb r3, [r3, #12] 80a92b0: b2db uxtb r3, r3 80a92b2: 2b00 cmp r3, #0 80a92b4: d106 bne.n 80a92c4 BSP_LCD_DisplayStringAt(220, 45, "&k&/c", LEFT_MODE); 80a92b6: 2303 movs r3, #3 80a92b8: 4a19 ldr r2, [pc, #100] ; (80a9320 ) 80a92ba: 212d movs r1, #45 ; 0x2d 80a92bc: 20dc movs r0, #220 ; 0xdc 80a92be: f7ac f86b bl 8055398 80a92c2: e043 b.n 80a934c else BSP_LCD_DisplayStringAt(220, 45, "um/c", LEFT_MODE); 80a92c4: 2303 movs r3, #3 80a92c6: 4a17 ldr r2, [pc, #92] ; (80a9324 ) 80a92c8: 212d movs r1, #45 ; 0x2d 80a92ca: 20dc movs r0, #220 ; 0xdc 80a92cc: f7ac f864 bl 8055398 80a92d0: e03c b.n 80a934c 80a92d2: bf00 nop 80a92d4: 20023eb8 .word 0x20023eb8 80a92d8: 080d754c .word 0x080d754c 80a92dc: 080d5110 .word 0x080d5110 80a92e0: 080d7424 .word 0x080d7424 80a92e4: 3dcccccd .word 0x3dcccccd 80a92e8: bdcccccd .word 0xbdcccccd 80a92ec: 080d74c0 .word 0x080d74c0 80a92f0: 080d7518 .word 0x080d7518 80a92f4: 080d7520 .word 0x080d7520 80a92f8: 080d7528 .word 0x080d7528 80a92fc: 080d74c8 .word 0x080d74c8 80a9300: 080d751c .word 0x080d751c 80a9304: 080d7550 .word 0x080d7550 80a9308: 080d744c .word 0x080d744c 80a930c: 447a0000 .word 0x447a0000 80a9310: 080d74d0 .word 0x080d74d0 80a9314: 080d74d8 .word 0x080d74d8 80a9318: 080d752c .word 0x080d752c 80a931c: 080d747c .word 0x080d747c 80a9320: 080d7530 .word 0x080d7530 80a9324: 080d7558 .word 0x080d7558 if(pardata.LANG == RUS) 80a9328: 4bca ldr r3, [pc, #808] ; (80a9654 ) 80a932a: 7b1b ldrb r3, [r3, #12] 80a932c: b2db uxtb r3, r3 80a932e: 2b00 cmp r3, #0 80a9330: d106 bne.n 80a9340 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a9332: 2303 movs r3, #3 80a9334: 4ac8 ldr r2, [pc, #800] ; (80a9658 ) 80a9336: 212d movs r1, #45 ; 0x2d 80a9338: 20dc movs r0, #220 ; 0xdc 80a933a: f7ac f82d bl 8055398 80a933e: e005 b.n 80a934c else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a9340: 2303 movs r3, #3 80a9342: 4ac6 ldr r2, [pc, #792] ; (80a965c ) 80a9344: 212d movs r1, #45 ; 0x2d 80a9346: 20dc movs r0, #220 ; 0xdc 80a9348: f7ac f826 bl 8055398 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a934c: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9350: f06f 0002 mvn.w r0, #2 80a9354: eeb0 0a67 vmov.f32 s0, s15 80a9358: f7be ff22 bl 80681a0 80a935c: 4602 mov r2, r0 80a935e: 2302 movs r3, #2 80a9360: 212d movs r1, #45 ; 0x2d 80a9362: 20d9 movs r0, #217 ; 0xd9 80a9364: f7ac f818 bl 8055398 80a9368: e044 b.n 80a93f4 if(pardata.IPR == DIS) 80a936a: 4bba ldr r3, [pc, #744] ; (80a9654 ) 80a936c: 785b ldrb r3, [r3, #1] 80a936e: b2db uxtb r3, r3 80a9370: 2b02 cmp r3, #2 80a9372: d13f bne.n 80a93f4 if(pardata.IIN != VOLTS) 80a9374: 4bb7 ldr r3, [pc, #732] ; (80a9654 ) 80a9376: 799b ldrb r3, [r3, #6] 80a9378: b2db uxtb r3, r3 80a937a: 2b02 cmp r3, #2 80a937c: d012 beq.n 80a93a4 if(pardata.LANG == RUS) 80a937e: 4bb5 ldr r3, [pc, #724] ; (80a9654 ) 80a9380: 7b1b ldrb r3, [r3, #12] 80a9382: b2db uxtb r3, r3 80a9384: 2b00 cmp r3, #0 80a9386: d106 bne.n 80a9396 BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a9388: 2303 movs r3, #3 80a938a: 4ab5 ldr r2, [pc, #724] ; (80a9660 ) 80a938c: 212d movs r1, #45 ; 0x2d 80a938e: 20dc movs r0, #220 ; 0xdc 80a9390: f7ac f802 bl 8055398 80a9394: e020 b.n 80a93d8 else BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a9396: 2303 movs r3, #3 80a9398: 4ab2 ldr r2, [pc, #712] ; (80a9664 ) 80a939a: 212d movs r1, #45 ; 0x2d 80a939c: 20dc movs r0, #220 ; 0xdc 80a939e: f7ab fffb bl 8055398 80a93a2: e019 b.n 80a93d8 Val *= 1000.0f; 80a93a4: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a93a8: ed9f 7aaf vldr s14, [pc, #700] ; 80a9668 80a93ac: ee67 7a87 vmul.f32 s15, s15, s14 80a93b0: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.LANG == RUS) 80a93b4: 4ba7 ldr r3, [pc, #668] ; (80a9654 ) 80a93b6: 7b1b ldrb r3, [r3, #12] 80a93b8: b2db uxtb r3, r3 80a93ba: 2b00 cmp r3, #0 80a93bc: d106 bne.n 80a93cc BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a93be: 2303 movs r3, #3 80a93c0: 4aa5 ldr r2, [pc, #660] ; (80a9658 ) 80a93c2: 212d movs r1, #45 ; 0x2d 80a93c4: 20dc movs r0, #220 ; 0xdc 80a93c6: f7ab ffe7 bl 8055398 80a93ca: e005 b.n 80a93d8 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a93cc: 2303 movs r3, #3 80a93ce: 4aa3 ldr r2, [pc, #652] ; (80a965c ) 80a93d0: 212d movs r1, #45 ; 0x2d 80a93d2: 20dc movs r0, #220 ; 0xdc 80a93d4: f7ab ffe0 bl 8055398 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a93d8: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a93dc: f06f 0002 mvn.w r0, #2 80a93e0: eeb0 0a67 vmov.f32 s0, s15 80a93e4: f7be fedc bl 80681a0 80a93e8: 4602 mov r2, r0 80a93ea: 2302 movs r3, #2 80a93ec: 212d movs r1, #45 ; 0x2d 80a93ee: 20d9 movs r0, #217 ; 0xd9 80a93f0: f7ab ffd2 bl 8055398 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a93f4: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a93f8: 489c ldr r0, [pc, #624] ; (80a966c ) 80a93fa: f7ab ff07 bl 805520c tmpF = (float32_t) (fineMpos + 1); 80a93fe: 4b9c ldr r3, [pc, #624] ; (80a9670 ) 80a9400: 881b ldrh r3, [r3, #0] 80a9402: b29b uxth r3, r3 80a9404: 3301 adds r3, #1 80a9406: ee07 3a90 vmov s15, r3 80a940a: eef8 7ae7 vcvt.f32.s32 s15, s15 80a940e: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(tmpF != TF) 80a9412: 4b98 ldr r3, [pc, #608] ; (80a9674 ) 80a9414: edd3 7a00 vldr s15, [r3] 80a9418: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80a941c: eeb4 7a67 vcmp.f32 s14, s15 80a9420: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9424: d016 beq.n 80a9454 TF = tmpF; 80a9426: 4a93 ldr r2, [pc, #588] ; (80a9674 ) 80a9428: 6d7b ldr r3, [r7, #84] ; 0x54 80a942a: 6013 str r3, [r2, #0] TF *= Delta_OSC[pardata.FRQ]; 80a942c: 4b89 ldr r3, [pc, #548] ; (80a9654 ) 80a942e: 7adb ldrb r3, [r3, #11] 80a9430: b2db uxtb r3, r3 80a9432: 4a91 ldr r2, [pc, #580] ; (80a9678 ) 80a9434: 009b lsls r3, r3, #2 80a9436: 4413 add r3, r2 80a9438: ed93 7a00 vldr s14, [r3] 80a943c: 4b8d ldr r3, [pc, #564] ; (80a9674 ) 80a943e: edd3 7a00 vldr s15, [r3] 80a9442: ee67 7a27 vmul.f32 s15, s14, s15 80a9446: 4b8b ldr r3, [pc, #556] ; (80a9674 ) 80a9448: edc3 7a00 vstr s15, [r3] oldTF = TF; 80a944c: 4b89 ldr r3, [pc, #548] ; (80a9674 ) 80a944e: 681b ldr r3, [r3, #0] 80a9450: 4a8a ldr r2, [pc, #552] ; (80a967c ) 80a9452: 6013 str r3, [r2, #0] tmpF = TF; 80a9454: 4b87 ldr r3, [pc, #540] ; (80a9674 ) 80a9456: 681b ldr r3, [r3, #0] 80a9458: 657b str r3, [r7, #84] ; 0x54 if(tmpF >= 1000.0f) 80a945a: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a945e: ed9f 7a82 vldr s14, [pc, #520] ; 80a9668 80a9462: eef4 7ac7 vcmpe.f32 s15, s14 80a9466: eef1 fa10 vmrs APSR_nzcv, fpscr 80a946a: db29 blt.n 80a94c0 tmpF *= 0.001f; 80a946c: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a9470: ed9f 7a83 vldr s14, [pc, #524] ; 80a9680 80a9474: ee67 7a87 vmul.f32 s15, s15, s14 80a9478: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a947c: 4b75 ldr r3, [pc, #468] ; (80a9654 ) 80a947e: 7b1b ldrb r3, [r3, #12] 80a9480: b2db uxtb r3, r3 80a9482: 2b00 cmp r3, #0 80a9484: d107 bne.n 80a9496 BSP_LCD_DisplayStringAt(302, 45, "c", LEFT_MODE); 80a9486: 2303 movs r3, #3 80a9488: 4a7e ldr r2, [pc, #504] ; (80a9684 ) 80a948a: 212d movs r1, #45 ; 0x2d 80a948c: f44f 7097 mov.w r0, #302 ; 0x12e 80a9490: f7ab ff82 bl 8055398 80a9494: e006 b.n 80a94a4 else BSP_LCD_DisplayStringAt(302, 45, "s", LEFT_MODE); 80a9496: 2303 movs r3, #3 80a9498: 4a7b ldr r2, [pc, #492] ; (80a9688 ) 80a949a: 212d movs r1, #45 ; 0x2d 80a949c: f44f 7097 mov.w r0, #302 ; 0x12e 80a94a0: f7ab ff7a bl 8055398 BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -4), RIGHT_MODE); 80a94a4: f06f 0003 mvn.w r0, #3 80a94a8: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a94ac: f7be fe78 bl 80681a0 80a94b0: 4602 mov r2, r0 80a94b2: 2302 movs r3, #2 80a94b4: 212d movs r1, #45 ; 0x2d 80a94b6: f240 102b movw r0, #299 ; 0x12b 80a94ba: f7ab ff6d bl 8055398 80a94be: e053 b.n 80a9568 if(tmpF < 0.1f) 80a94c0: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a94c4: ed9f 7a71 vldr s14, [pc, #452] ; 80a968c 80a94c8: eef4 7ac7 vcmpe.f32 s15, s14 80a94cc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a94d0: d529 bpl.n 80a9526 tmpF *= 1000.0f; 80a94d2: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a94d6: ed9f 7a64 vldr s14, [pc, #400] ; 80a9668 80a94da: ee67 7a87 vmul.f32 s15, s15, s14 80a94de: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a94e2: 4b5c ldr r3, [pc, #368] ; (80a9654 ) 80a94e4: 7b1b ldrb r3, [r3, #12] 80a94e6: b2db uxtb r3, r3 80a94e8: 2b00 cmp r3, #0 80a94ea: d107 bne.n 80a94fc BSP_LCD_DisplayStringAt(302, 45, "&kc", LEFT_MODE); 80a94ec: 2303 movs r3, #3 80a94ee: 4a68 ldr r2, [pc, #416] ; (80a9690 ) 80a94f0: 212d movs r1, #45 ; 0x2d 80a94f2: f44f 7097 mov.w r0, #302 ; 0x12e 80a94f6: f7ab ff4f bl 8055398 80a94fa: e006 b.n 80a950a else BSP_LCD_DisplayStringAt(302, 45, "us", LEFT_MODE); 80a94fc: 2303 movs r3, #3 80a94fe: 4a65 ldr r2, [pc, #404] ; (80a9694 ) 80a9500: 212d movs r1, #45 ; 0x2d 80a9502: f44f 7097 mov.w r0, #302 ; 0x12e 80a9506: f7ab ff47 bl 8055398 BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -2), RIGHT_MODE); 80a950a: f06f 0001 mvn.w r0, #1 80a950e: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a9512: f7be fe45 bl 80681a0 80a9516: 4602 mov r2, r0 80a9518: 2302 movs r3, #2 80a951a: 212d movs r1, #45 ; 0x2d 80a951c: f240 102b movw r0, #299 ; 0x12b 80a9520: f7ab ff3a bl 8055398 80a9524: e020 b.n 80a9568 if(pardata.LANG == RUS) 80a9526: 4b4b ldr r3, [pc, #300] ; (80a9654 ) 80a9528: 7b1b ldrb r3, [r3, #12] 80a952a: b2db uxtb r3, r3 80a952c: 2b00 cmp r3, #0 80a952e: d107 bne.n 80a9540 BSP_LCD_DisplayStringAt(302, 45, "&c", LEFT_MODE); 80a9530: 2303 movs r3, #3 80a9532: 4a59 ldr r2, [pc, #356] ; (80a9698 ) 80a9534: 212d movs r1, #45 ; 0x2d 80a9536: f44f 7097 mov.w r0, #302 ; 0x12e 80a953a: f7ab ff2d bl 8055398 80a953e: e006 b.n 80a954e else BSP_LCD_DisplayStringAt(302, 45, "ms", LEFT_MODE); 80a9540: 2303 movs r3, #3 80a9542: 4a56 ldr r2, [pc, #344] ; (80a969c ) 80a9544: 212d movs r1, #45 ; 0x2d 80a9546: f44f 7097 mov.w r0, #302 ; 0x12e 80a954a: f7ab ff25 bl 8055398 BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -3), RIGHT_MODE); 80a954e: f06f 0002 mvn.w r0, #2 80a9552: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a9556: f7be fe23 bl 80681a0 80a955a: 4602 mov r2, r0 80a955c: 2302 movs r3, #2 80a955e: 212d movs r1, #45 ; 0x2d 80a9560: f240 102b movw r0, #299 ; 0x12b 80a9564: f7ab ff18 bl 8055398 for(i = 0; i < 2; i++) 80a9568: 2300 movs r3, #0 80a956a: 66fb str r3, [r7, #108] ; 0x6c 80a956c: f000 bf3d b.w 80aa3ea if(DynamicCursor[i].Enabled) 80a9570: 4a4b ldr r2, [pc, #300] ; (80a96a0 ) 80a9572: 6efb ldr r3, [r7, #108] ; 0x6c 80a9574: 011b lsls r3, r3, #4 80a9576: 4413 add r3, r2 80a9578: 781b ldrb r3, [r3, #0] 80a957a: 2b00 cmp r3, #0 80a957c: f000 8732 beq.w 80aa3e4 arm_max_f32(&ScrA_f32(DynamicCursor[i].Mpos), avgOSC[ViewLevel][pardata.LNE], &maxf, &n2); 80a9580: 4a47 ldr r2, [pc, #284] ; (80a96a0 ) 80a9582: 6efb ldr r3, [r7, #108] ; 0x6c 80a9584: 011b lsls r3, r3, #4 80a9586: 4413 add r3, r2 80a9588: 3304 adds r3, #4 80a958a: 881b ldrh r3, [r3, #0] 80a958c: 009b lsls r3, r3, #2 80a958e: 461a mov r2, r3 80a9590: 4b44 ldr r3, [pc, #272] ; (80a96a4 ) 80a9592: 4413 add r3, r2 80a9594: 461c mov r4, r3 80a9596: 4b44 ldr r3, [pc, #272] ; (80a96a8 ) 80a9598: 781b ldrb r3, [r3, #0] 80a959a: b2db uxtb r3, r3 80a959c: 4619 mov r1, r3 80a959e: 4b2d ldr r3, [pc, #180] ; (80a9654 ) 80a95a0: 79db ldrb r3, [r3, #7] 80a95a2: b2db uxtb r3, r3 80a95a4: 4618 mov r0, r3 80a95a6: 4a41 ldr r2, [pc, #260] ; (80a96ac ) 80a95a8: 460b mov r3, r1 80a95aa: 009b lsls r3, r3, #2 80a95ac: 440b add r3, r1 80a95ae: 4413 add r3, r2 80a95b0: 4403 add r3, r0 80a95b2: 781b ldrb r3, [r3, #0] 80a95b4: 4619 mov r1, r3 80a95b6: f107 0348 add.w r3, r7, #72 ; 0x48 80a95ba: f107 0240 add.w r2, r7, #64 ; 0x40 80a95be: 4620 mov r0, r4 80a95c0: f025 fd28 bl 80cf014 arm_min_f32(&ScrA_f32(DynamicCursor[i].Mpos), avgOSC[ViewLevel][pardata.LNE], &minf, &n1); 80a95c4: 4a36 ldr r2, [pc, #216] ; (80a96a0 ) 80a95c6: 6efb ldr r3, [r7, #108] ; 0x6c 80a95c8: 011b lsls r3, r3, #4 80a95ca: 4413 add r3, r2 80a95cc: 3304 adds r3, #4 80a95ce: 881b ldrh r3, [r3, #0] 80a95d0: 009b lsls r3, r3, #2 80a95d2: 461a mov r2, r3 80a95d4: 4b33 ldr r3, [pc, #204] ; (80a96a4 ) 80a95d6: 4413 add r3, r2 80a95d8: 461c mov r4, r3 80a95da: 4b33 ldr r3, [pc, #204] ; (80a96a8 ) 80a95dc: 781b ldrb r3, [r3, #0] 80a95de: b2db uxtb r3, r3 80a95e0: 4619 mov r1, r3 80a95e2: 4b1c ldr r3, [pc, #112] ; (80a9654 ) 80a95e4: 79db ldrb r3, [r3, #7] 80a95e6: b2db uxtb r3, r3 80a95e8: 4618 mov r0, r3 80a95ea: 4a30 ldr r2, [pc, #192] ; (80a96ac ) 80a95ec: 460b mov r3, r1 80a95ee: 009b lsls r3, r3, #2 80a95f0: 440b add r3, r1 80a95f2: 4413 add r3, r2 80a95f4: 4403 add r3, r0 80a95f6: 781b ldrb r3, [r3, #0] 80a95f8: 4619 mov r1, r3 80a95fa: f107 034c add.w r3, r7, #76 ; 0x4c 80a95fe: f107 0244 add.w r2, r7, #68 ; 0x44 80a9602: 4620 mov r0, r4 80a9604: f025 fc6a bl 80ceedc if((maxf > 0) && (minf < 0)) 80a9608: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a960c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9610: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9614: dd61 ble.n 80a96da 80a9616: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a961a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a961e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9622: d55a bpl.n 80a96da if(ABS(maxf) < ABS(minf)) 80a9624: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a9628: eef5 7ac0 vcmpe.f32 s15, #0.0 80a962c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9630: dd02 ble.n 80a9638 80a9632: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80a9636: e003 b.n 80a9640 80a9638: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a963c: eeb1 7a67 vneg.f32 s14, s15 80a9640: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a9644: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9648: eef1 fa10 vmrs APSR_nzcv, fpscr 80a964c: dd30 ble.n 80a96b0 80a964e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a9652: e031 b.n 80a96b8 80a9654: 20023eb8 .word 0x20023eb8 80a9658: 080d752c .word 0x080d752c 80a965c: 080d747c .word 0x080d747c 80a9660: 080d7528 .word 0x080d7528 80a9664: 080d744c .word 0x080d744c 80a9668: 447a0000 .word 0x447a0000 80a966c: ff808080 .word 0xff808080 80a9670: 20025d74 .word 0x20025d74 80a9674: 200215c0 .word 0x200215c0 80a9678: 080f60a4 .word 0x080f60a4 80a967c: 20021698 .word 0x20021698 80a9680: 3a83126f .word 0x3a83126f 80a9684: 080d74e0 .word 0x080d74e0 80a9688: 080d74e4 .word 0x080d74e4 80a968c: 3dcccccd .word 0x3dcccccd 80a9690: 080d74e8 .word 0x080d74e8 80a9694: 080d74ec .word 0x080d74ec 80a9698: 080d74f0 .word 0x080d74f0 80a969c: 080d74f4 .word 0x080d74f4 80a96a0: 20020f94 .word 0x20020f94 80a96a4: 64080000 .word 0x64080000 80a96a8: 20020fc0 .word 0x20020fc0 80a96ac: 080f5fc8 .word 0x080f5fc8 80a96b0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a96b4: eef1 7a67 vneg.f32 s15, s15 80a96b8: eeb4 7ae7 vcmpe.f32 s14, s15 80a96bc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a96c0: d505 bpl.n 80a96ce CurVal = minf; 80a96c2: 6c7b ldr r3, [r7, #68] ; 0x44 80a96c4: 4aaa ldr r2, [pc, #680] ; (80a9970 ) 80a96c6: 6013 str r3, [r2, #0] l = n1; 80a96c8: 6cfb ldr r3, [r7, #76] ; 0x4c 80a96ca: 653b str r3, [r7, #80] ; 0x50 if(ABS(maxf) < ABS(minf)) 80a96cc: e054 b.n 80a9778 CurVal = maxf; 80a96ce: 6c3b ldr r3, [r7, #64] ; 0x40 80a96d0: 4aa7 ldr r2, [pc, #668] ; (80a9970 ) 80a96d2: 6013 str r3, [r2, #0] l = n2; 80a96d4: 6cbb ldr r3, [r7, #72] ; 0x48 80a96d6: 653b str r3, [r7, #80] ; 0x50 if(ABS(maxf) < ABS(minf)) 80a96d8: e04e b.n 80a9778 if((maxf > 0) && (minf > 0)) 80a96da: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a96de: eef5 7ac0 vcmpe.f32 s15, #0.0 80a96e2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a96e6: dd0c ble.n 80a9702 80a96e8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a96ec: eef5 7ac0 vcmpe.f32 s15, #0.0 80a96f0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a96f4: dd05 ble.n 80a9702 CurVal = maxf; 80a96f6: 6c3b ldr r3, [r7, #64] ; 0x40 80a96f8: 4a9d ldr r2, [pc, #628] ; (80a9970 ) 80a96fa: 6013 str r3, [r2, #0] l = n2; 80a96fc: 6cbb ldr r3, [r7, #72] ; 0x48 80a96fe: 653b str r3, [r7, #80] ; 0x50 80a9700: e03a b.n 80a9778 if((maxf < 0) && (minf < 0)) 80a9702: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a9706: eef5 7ac0 vcmpe.f32 s15, #0.0 80a970a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a970e: d50c bpl.n 80a972a 80a9710: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a9714: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9718: eef1 fa10 vmrs APSR_nzcv, fpscr 80a971c: d505 bpl.n 80a972a CurVal = minf; 80a971e: 6c7b ldr r3, [r7, #68] ; 0x44 80a9720: 4a93 ldr r2, [pc, #588] ; (80a9970 ) 80a9722: 6013 str r3, [r2, #0] l = n1; 80a9724: 6cfb ldr r3, [r7, #76] ; 0x4c 80a9726: 653b str r3, [r7, #80] ; 0x50 80a9728: e026 b.n 80a9778 if((maxf >= 0) && (minf == 0)) 80a972a: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a972e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9732: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9736: db0c blt.n 80a9752 80a9738: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a973c: eef5 7a40 vcmp.f32 s15, #0.0 80a9740: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9744: d105 bne.n 80a9752 CurVal = maxf; 80a9746: 6c3b ldr r3, [r7, #64] ; 0x40 80a9748: 4a89 ldr r2, [pc, #548] ; (80a9970 ) 80a974a: 6013 str r3, [r2, #0] l = n2; 80a974c: 6cbb ldr r3, [r7, #72] ; 0x48 80a974e: 653b str r3, [r7, #80] ; 0x50 80a9750: e012 b.n 80a9778 if((maxf == 0) && (minf <= 0)) 80a9752: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a9756: eef5 7a40 vcmp.f32 s15, #0.0 80a975a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a975e: d10b bne.n 80a9778 80a9760: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a9764: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9768: eef1 fa10 vmrs APSR_nzcv, fpscr 80a976c: d804 bhi.n 80a9778 CurVal = minf; 80a976e: 6c7b ldr r3, [r7, #68] ; 0x44 80a9770: 4a7f ldr r2, [pc, #508] ; (80a9970 ) 80a9772: 6013 str r3, [r2, #0] l = n1; 80a9774: 6cfb ldr r3, [r7, #76] ; 0x4c 80a9776: 653b str r3, [r7, #80] ; 0x50 DynamicCursor[i].fineMpos = DynamicCursor[i].Mpos + l; 80a9778: 4a7e ldr r2, [pc, #504] ; (80a9974 ) 80a977a: 6efb ldr r3, [r7, #108] ; 0x6c 80a977c: 011b lsls r3, r3, #4 80a977e: 4413 add r3, r2 80a9780: 3304 adds r3, #4 80a9782: 881a ldrh r2, [r3, #0] 80a9784: 6d3b ldr r3, [r7, #80] ; 0x50 80a9786: b29b uxth r3, r3 80a9788: 4413 add r3, r2 80a978a: b299 uxth r1, r3 80a978c: 4a79 ldr r2, [pc, #484] ; (80a9974 ) 80a978e: 6efb ldr r3, [r7, #108] ; 0x6c 80a9790: 011b lsls r3, r3, #4 80a9792: 4413 add r3, r2 80a9794: 3306 adds r3, #6 80a9796: 460a mov r2, r1 80a9798: 801a strh r2, [r3, #0] DynamicCursor[i].val_Y = CurVal; 80a979a: 4b75 ldr r3, [pc, #468] ; (80a9970 ) 80a979c: 681a ldr r2, [r3, #0] 80a979e: 4975 ldr r1, [pc, #468] ; (80a9974 ) 80a97a0: 6efb ldr r3, [r7, #108] ; 0x6c 80a97a2: 011b lsls r3, r3, #4 80a97a4: 440b add r3, r1 80a97a6: 330c adds r3, #12 80a97a8: 601a str r2, [r3, #0] Val = CurVal; 80a97aa: 4b71 ldr r3, [pc, #452] ; (80a9970 ) 80a97ac: 681b ldr r3, [r3, #0] 80a97ae: 63fb str r3, [r7, #60] ; 0x3c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a97b0: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a97b4: 4870 ldr r0, [pc, #448] ; (80a9978 ) 80a97b6: f7ab fd29 bl 805520c if(ABS(Val) >= 1000.0f) 80a97ba: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a97be: eef5 7ac0 vcmpe.f32 s15, #0.0 80a97c2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a97c6: dd0c ble.n 80a97e2 80a97c8: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a97cc: ed9f 7a6b vldr s14, [pc, #428] ; 80a997c 80a97d0: eef4 7ac7 vcmpe.f32 s15, s14 80a97d4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a97d8: bfac ite ge 80a97da: 2301 movge r3, #1 80a97dc: 2300 movlt r3, #0 80a97de: b2db uxtb r3, r3 80a97e0: e00b b.n 80a97fa 80a97e2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a97e6: ed9f 7a66 vldr s14, [pc, #408] ; 80a9980 80a97ea: eef4 7ac7 vcmpe.f32 s15, s14 80a97ee: eef1 fa10 vmrs APSR_nzcv, fpscr 80a97f2: bf94 ite ls 80a97f4: 2301 movls r3, #1 80a97f6: 2300 movhi r3, #0 80a97f8: b2db uxtb r3, r3 80a97fa: 2b00 cmp r3, #0 80a97fc: f000 8151 beq.w 80a9aa2 Val *= 0.001f; 80a9800: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9804: ed9f 7a5f vldr s14, [pc, #380] ; 80a9984 80a9808: ee67 7a87 vmul.f32 s15, s15, s14 80a980c: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.LANG == RUS) 80a9810: 4b5d ldr r3, [pc, #372] ; (80a9988 ) 80a9812: 7b1b ldrb r3, [r3, #12] 80a9814: b2db uxtb r3, r3 80a9816: 2b00 cmp r3, #0 80a9818: d166 bne.n 80a98e8 if(pardata.IPR == ACC) 80a981a: 4b5b ldr r3, [pc, #364] ; (80a9988 ) 80a981c: 785b ldrb r3, [r3, #1] 80a981e: b2db uxtb r3, r3 80a9820: 2b00 cmp r3, #0 80a9822: d11c bne.n 80a985e if(pardata.IIN != VOLTS) 80a9824: 4b58 ldr r3, [pc, #352] ; (80a9988 ) 80a9826: 799b ldrb r3, [r3, #6] 80a9828: b2db uxtb r3, r3 80a982a: 2b02 cmp r3, #2 80a982c: d00b beq.n 80a9846 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "k&/c^", LEFT_MODE); 80a982e: 6efb ldr r3, [r7, #108] ; 0x6c 80a9830: b29b uxth r3, r3 80a9832: 00db lsls r3, r3, #3 80a9834: b29b uxth r3, r3 80a9836: 3335 adds r3, #53 ; 0x35 80a9838: b299 uxth r1, r3 80a983a: 2303 movs r3, #3 80a983c: 4a53 ldr r2, [pc, #332] ; (80a998c ) 80a983e: 20dc movs r0, #220 ; 0xdc 80a9840: f7ab fdaa bl 8055398 80a9844: e0d1 b.n 80a99ea else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "B", LEFT_MODE); 80a9846: 6efb ldr r3, [r7, #108] ; 0x6c 80a9848: b29b uxth r3, r3 80a984a: 00db lsls r3, r3, #3 80a984c: b29b uxth r3, r3 80a984e: 3335 adds r3, #53 ; 0x35 80a9850: b299 uxth r1, r3 80a9852: 2303 movs r3, #3 80a9854: 4a4e ldr r2, [pc, #312] ; (80a9990 ) 80a9856: 20dc movs r0, #220 ; 0xdc 80a9858: f7ab fd9e bl 8055398 80a985c: e0c5 b.n 80a99ea if(pardata.IPR == VEL) 80a985e: 4b4a ldr r3, [pc, #296] ; (80a9988 ) 80a9860: 785b ldrb r3, [r3, #1] 80a9862: b2db uxtb r3, r3 80a9864: 2b01 cmp r3, #1 80a9866: d11c bne.n 80a98a2 if(pardata.IIN != VOLTS) 80a9868: 4b47 ldr r3, [pc, #284] ; (80a9988 ) 80a986a: 799b ldrb r3, [r3, #6] 80a986c: b2db uxtb r3, r3 80a986e: 2b02 cmp r3, #2 80a9870: d00b beq.n 80a988a BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&/c", LEFT_MODE); 80a9872: 6efb ldr r3, [r7, #108] ; 0x6c 80a9874: b29b uxth r3, r3 80a9876: 00db lsls r3, r3, #3 80a9878: b29b uxth r3, r3 80a987a: 3335 adds r3, #53 ; 0x35 80a987c: b299 uxth r1, r3 80a987e: 2303 movs r3, #3 80a9880: 4a44 ldr r2, [pc, #272] ; (80a9994 ) 80a9882: 20dc movs r0, #220 ; 0xdc 80a9884: f7ab fd88 bl 8055398 80a9888: e0af b.n 80a99ea else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "B", LEFT_MODE); 80a988a: 6efb ldr r3, [r7, #108] ; 0x6c 80a988c: b29b uxth r3, r3 80a988e: 00db lsls r3, r3, #3 80a9890: b29b uxth r3, r3 80a9892: 3335 adds r3, #53 ; 0x35 80a9894: b299 uxth r1, r3 80a9896: 2303 movs r3, #3 80a9898: 4a3d ldr r2, [pc, #244] ; (80a9990 ) 80a989a: 20dc movs r0, #220 ; 0xdc 80a989c: f7ab fd7c bl 8055398 80a98a0: e0a3 b.n 80a99ea if(pardata.IPR == DIS) 80a98a2: 4b39 ldr r3, [pc, #228] ; (80a9988 ) 80a98a4: 785b ldrb r3, [r3, #1] 80a98a6: b2db uxtb r3, r3 80a98a8: 2b02 cmp r3, #2 80a98aa: f040 809e bne.w 80a99ea if(pardata.IIN != VOLTS) 80a98ae: 4b36 ldr r3, [pc, #216] ; (80a9988 ) 80a98b0: 799b ldrb r3, [r3, #6] 80a98b2: b2db uxtb r3, r3 80a98b4: 2b02 cmp r3, #2 80a98b6: d00b beq.n 80a98d0 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&&", LEFT_MODE); 80a98b8: 6efb ldr r3, [r7, #108] ; 0x6c 80a98ba: b29b uxth r3, r3 80a98bc: 00db lsls r3, r3, #3 80a98be: b29b uxth r3, r3 80a98c0: 3335 adds r3, #53 ; 0x35 80a98c2: b299 uxth r1, r3 80a98c4: 2303 movs r3, #3 80a98c6: 4a34 ldr r2, [pc, #208] ; (80a9998 ) 80a98c8: 20dc movs r0, #220 ; 0xdc 80a98ca: f7ab fd65 bl 8055398 80a98ce: e08c b.n 80a99ea else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "B", LEFT_MODE); 80a98d0: 6efb ldr r3, [r7, #108] ; 0x6c 80a98d2: b29b uxth r3, r3 80a98d4: 00db lsls r3, r3, #3 80a98d6: b29b uxth r3, r3 80a98d8: 3335 adds r3, #53 ; 0x35 80a98da: b299 uxth r1, r3 80a98dc: 2303 movs r3, #3 80a98de: 4a2c ldr r2, [pc, #176] ; (80a9990 ) 80a98e0: 20dc movs r0, #220 ; 0xdc 80a98e2: f7ab fd59 bl 8055398 80a98e6: e080 b.n 80a99ea if(pardata.IPR == ACC) 80a98e8: 4b27 ldr r3, [pc, #156] ; (80a9988 ) 80a98ea: 785b ldrb r3, [r3, #1] 80a98ec: b2db uxtb r3, r3 80a98ee: 2b00 cmp r3, #0 80a98f0: d11c bne.n 80a992c if(pardata.IIN != VOLTS) 80a98f2: 4b25 ldr r3, [pc, #148] ; (80a9988 ) 80a98f4: 799b ldrb r3, [r3, #6] 80a98f6: b2db uxtb r3, r3 80a98f8: 2b02 cmp r3, #2 80a98fa: d00b beq.n 80a9914 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "km/c^", LEFT_MODE); 80a98fc: 6efb ldr r3, [r7, #108] ; 0x6c 80a98fe: b29b uxth r3, r3 80a9900: 00db lsls r3, r3, #3 80a9902: b29b uxth r3, r3 80a9904: 3335 adds r3, #53 ; 0x35 80a9906: b299 uxth r1, r3 80a9908: 2303 movs r3, #3 80a990a: 4a24 ldr r2, [pc, #144] ; (80a999c ) 80a990c: 20dc movs r0, #220 ; 0xdc 80a990e: f7ab fd43 bl 8055398 80a9912: e06a b.n 80a99ea else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "V", LEFT_MODE); 80a9914: 6efb ldr r3, [r7, #108] ; 0x6c 80a9916: b29b uxth r3, r3 80a9918: 00db lsls r3, r3, #3 80a991a: b29b uxth r3, r3 80a991c: 3335 adds r3, #53 ; 0x35 80a991e: b299 uxth r1, r3 80a9920: 2303 movs r3, #3 80a9922: 4a1f ldr r2, [pc, #124] ; (80a99a0 ) 80a9924: 20dc movs r0, #220 ; 0xdc 80a9926: f7ab fd37 bl 8055398 80a992a: e05e b.n 80a99ea if(pardata.IPR == VEL) 80a992c: 4b16 ldr r3, [pc, #88] ; (80a9988 ) 80a992e: 785b ldrb r3, [r3, #1] 80a9930: b2db uxtb r3, r3 80a9932: 2b01 cmp r3, #1 80a9934: d138 bne.n 80a99a8 if(pardata.IIN != VOLTS) 80a9936: 4b14 ldr r3, [pc, #80] ; (80a9988 ) 80a9938: 799b ldrb r3, [r3, #6] 80a993a: b2db uxtb r3, r3 80a993c: 2b02 cmp r3, #2 80a993e: d00b beq.n 80a9958 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "m/c", LEFT_MODE); 80a9940: 6efb ldr r3, [r7, #108] ; 0x6c 80a9942: b29b uxth r3, r3 80a9944: 00db lsls r3, r3, #3 80a9946: b29b uxth r3, r3 80a9948: 3335 adds r3, #53 ; 0x35 80a994a: b299 uxth r1, r3 80a994c: 2303 movs r3, #3 80a994e: 4a15 ldr r2, [pc, #84] ; (80a99a4 ) 80a9950: 20dc movs r0, #220 ; 0xdc 80a9952: f7ab fd21 bl 8055398 80a9956: e048 b.n 80a99ea else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "V", LEFT_MODE); 80a9958: 6efb ldr r3, [r7, #108] ; 0x6c 80a995a: b29b uxth r3, r3 80a995c: 00db lsls r3, r3, #3 80a995e: b29b uxth r3, r3 80a9960: 3335 adds r3, #53 ; 0x35 80a9962: b299 uxth r1, r3 80a9964: 2303 movs r3, #3 80a9966: 4a0e ldr r2, [pc, #56] ; (80a99a0 ) 80a9968: 20dc movs r0, #220 ; 0xdc 80a996a: f7ab fd15 bl 8055398 80a996e: e03c b.n 80a99ea 80a9970: 200215bc .word 0x200215bc 80a9974: 20020f94 .word 0x20020f94 80a9978: ff26a01f .word 0xff26a01f 80a997c: 447a0000 .word 0x447a0000 80a9980: c47a0000 .word 0xc47a0000 80a9984: 3a83126f .word 0x3a83126f 80a9988: 20023eb8 .word 0x20023eb8 80a998c: 080d74b0 .word 0x080d74b0 80a9990: 080d750c .word 0x080d750c 80a9994: 080d7510 .word 0x080d7510 80a9998: 080d7514 .word 0x080d7514 80a999c: 080d74b8 .word 0x080d74b8 80a99a0: 080d5110 .word 0x080d5110 80a99a4: 080d754c .word 0x080d754c if(pardata.IPR == DIS) 80a99a8: 4ba7 ldr r3, [pc, #668] ; (80a9c48 ) 80a99aa: 785b ldrb r3, [r3, #1] 80a99ac: b2db uxtb r3, r3 80a99ae: 2b02 cmp r3, #2 80a99b0: d11b bne.n 80a99ea if(pardata.IIN != VOLTS) 80a99b2: 4ba5 ldr r3, [pc, #660] ; (80a9c48 ) 80a99b4: 799b ldrb r3, [r3, #6] 80a99b6: b2db uxtb r3, r3 80a99b8: 2b02 cmp r3, #2 80a99ba: d00b beq.n 80a99d4 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mm", LEFT_MODE); 80a99bc: 6efb ldr r3, [r7, #108] ; 0x6c 80a99be: b29b uxth r3, r3 80a99c0: 00db lsls r3, r3, #3 80a99c2: b29b uxth r3, r3 80a99c4: 3335 adds r3, #53 ; 0x35 80a99c6: b299 uxth r1, r3 80a99c8: 2303 movs r3, #3 80a99ca: 4aa0 ldr r2, [pc, #640] ; (80a9c4c ) 80a99cc: 20dc movs r0, #220 ; 0xdc 80a99ce: f7ab fce3 bl 8055398 80a99d2: e00a b.n 80a99ea else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "V", LEFT_MODE); 80a99d4: 6efb ldr r3, [r7, #108] ; 0x6c 80a99d6: b29b uxth r3, r3 80a99d8: 00db lsls r3, r3, #3 80a99da: b29b uxth r3, r3 80a99dc: 3335 adds r3, #53 ; 0x35 80a99de: b299 uxth r1, r3 80a99e0: 2303 movs r3, #3 80a99e2: 4a9b ldr r2, [pc, #620] ; (80a9c50 ) 80a99e4: 20dc movs r0, #220 ; 0xdc 80a99e6: f7ab fcd7 bl 8055398 BSP_LCD_DisplayStringAt(217, 53 + 8 * i, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a99ea: 6efb ldr r3, [r7, #108] ; 0x6c 80a99ec: b29b uxth r3, r3 80a99ee: 00db lsls r3, r3, #3 80a99f0: b29b uxth r3, r3 80a99f2: 3335 adds r3, #53 ; 0x35 80a99f4: b29c uxth r4, r3 80a99f6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a99fa: f06f 0002 mvn.w r0, #2 80a99fe: eeb0 0a67 vmov.f32 s0, s15 80a9a02: f7be fbcd bl 80681a0 80a9a06: 4602 mov r2, r0 80a9a08: 2302 movs r3, #2 80a9a0a: 4621 mov r1, r4 80a9a0c: 20d9 movs r0, #217 ; 0xd9 80a9a0e: f7ab fcc3 bl 8055398 l = strlen((char *)FloatToASCII(Val, -3)); 80a9a12: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9a16: f06f 0002 mvn.w r0, #2 80a9a1a: eeb0 0a67 vmov.f32 s0, s15 80a9a1e: f7be fbbf bl 80681a0 80a9a22: 4603 mov r3, r0 80a9a24: 4618 mov r0, r3 80a9a26: f776 fc75 bl 8020314 80a9a2a: 4603 mov r3, r0 80a9a2c: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a9a2e: 6d3a ldr r2, [r7, #80] ; 0x50 80a9a30: 4613 mov r3, r2 80a9a32: 009b lsls r3, r3, #2 80a9a34: 4413 add r3, r2 80a9a36: 3306 adds r3, #6 80a9a38: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a9a3a: 4b86 ldr r3, [pc, #536] ; (80a9c54 ) 80a9a3c: 781b ldrb r3, [r3, #0] 80a9a3e: 2b2d cmp r3, #45 ; 0x2d 80a9a40: d102 bne.n 80a9a48 80a9a42: 6d3b ldr r3, [r7, #80] ; 0x50 80a9a44: 3b05 subs r3, #5 80a9a46: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80a9a48: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a9a4c: 4882 ldr r0, [pc, #520] ; (80a9c58 ) 80a9a4e: f7ab fbdd bl 805520c if(!i) BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80a9a52: 6efb ldr r3, [r7, #108] ; 0x6c 80a9a54: 2b00 cmp r3, #0 80a9a56: d10f bne.n 80a9a78 80a9a58: 6d3b ldr r3, [r7, #80] ; 0x50 80a9a5a: b29b uxth r3, r3 80a9a5c: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a9a60: b298 uxth r0, r3 80a9a62: 6efb ldr r3, [r7, #108] ; 0x6c 80a9a64: b29b uxth r3, r3 80a9a66: 00db lsls r3, r3, #3 80a9a68: b29b uxth r3, r3 80a9a6a: 3335 adds r3, #53 ; 0x35 80a9a6c: b299 uxth r1, r3 80a9a6e: 2302 movs r3, #2 80a9a70: 4a7a ldr r2, [pc, #488] ; (80a9c5c ) 80a9a72: f7ab fc91 bl 8055398 80a9a76: e00e b.n 80a9a96 else BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80a9a78: 6d3b ldr r3, [r7, #80] ; 0x50 80a9a7a: b29b uxth r3, r3 80a9a7c: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a9a80: b298 uxth r0, r3 80a9a82: 6efb ldr r3, [r7, #108] ; 0x6c 80a9a84: b29b uxth r3, r3 80a9a86: 00db lsls r3, r3, #3 80a9a88: b29b uxth r3, r3 80a9a8a: 3335 adds r3, #53 ; 0x35 80a9a8c: b299 uxth r1, r3 80a9a8e: 2302 movs r3, #2 80a9a90: 4a73 ldr r2, [pc, #460] ; (80a9c60 ) 80a9a92: f7ab fc81 bl 8055398 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a9a96: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a9a9a: 4872 ldr r0, [pc, #456] ; (80a9c64 ) 80a9a9c: f7ab fbb6 bl 805520c 80a9aa0: e386 b.n 80aa1b0 if(ABS(Val) >= 0.1f) 80a9aa2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9aa6: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9aaa: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9aae: dd0c ble.n 80a9aca 80a9ab0: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9ab4: ed9f 7a6c vldr s14, [pc, #432] ; 80a9c68 80a9ab8: eef4 7ac7 vcmpe.f32 s15, s14 80a9abc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9ac0: bfac ite ge 80a9ac2: 2301 movge r3, #1 80a9ac4: 2300 movlt r3, #0 80a9ac6: b2db uxtb r3, r3 80a9ac8: e00b b.n 80a9ae2 80a9aca: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9ace: ed9f 7a67 vldr s14, [pc, #412] ; 80a9c6c 80a9ad2: eef4 7ac7 vcmpe.f32 s15, s14 80a9ad6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9ada: bf94 ite ls 80a9adc: 2301 movls r3, #1 80a9ade: 2300 movhi r3, #0 80a9ae0: b2db uxtb r3, r3 80a9ae2: 2b00 cmp r3, #0 80a9ae4: f000 814f beq.w 80a9d86 if(pardata.LANG == RUS) 80a9ae8: 4b57 ldr r3, [pc, #348] ; (80a9c48 ) 80a9aea: 7b1b ldrb r3, [r3, #12] 80a9aec: b2db uxtb r3, r3 80a9aee: 2b00 cmp r3, #0 80a9af0: d166 bne.n 80a9bc0 if(pardata.IPR == ACC) 80a9af2: 4b55 ldr r3, [pc, #340] ; (80a9c48 ) 80a9af4: 785b ldrb r3, [r3, #1] 80a9af6: b2db uxtb r3, r3 80a9af8: 2b00 cmp r3, #0 80a9afa: d11c bne.n 80a9b36 if(pardata.IIN != VOLTS) 80a9afc: 4b52 ldr r3, [pc, #328] ; (80a9c48 ) 80a9afe: 799b ldrb r3, [r3, #6] 80a9b00: b2db uxtb r3, r3 80a9b02: 2b02 cmp r3, #2 80a9b04: d00b beq.n 80a9b1e BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&/c^", LEFT_MODE); 80a9b06: 6efb ldr r3, [r7, #108] ; 0x6c 80a9b08: b29b uxth r3, r3 80a9b0a: 00db lsls r3, r3, #3 80a9b0c: b29b uxth r3, r3 80a9b0e: 3335 adds r3, #53 ; 0x35 80a9b10: b299 uxth r1, r3 80a9b12: 2303 movs r3, #3 80a9b14: 4a56 ldr r2, [pc, #344] ; (80a9c70 ) 80a9b16: 20dc movs r0, #220 ; 0xdc 80a9b18: f7ab fc3e bl 8055398 80a9b1c: e0d7 b.n 80a9cce else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&B", LEFT_MODE); 80a9b1e: 6efb ldr r3, [r7, #108] ; 0x6c 80a9b20: b29b uxth r3, r3 80a9b22: 00db lsls r3, r3, #3 80a9b24: b29b uxth r3, r3 80a9b26: 3335 adds r3, #53 ; 0x35 80a9b28: b299 uxth r1, r3 80a9b2a: 2303 movs r3, #3 80a9b2c: 4a51 ldr r2, [pc, #324] ; (80a9c74 ) 80a9b2e: 20dc movs r0, #220 ; 0xdc 80a9b30: f7ab fc32 bl 8055398 80a9b34: e0cb b.n 80a9cce if(pardata.IPR == VEL) 80a9b36: 4b44 ldr r3, [pc, #272] ; (80a9c48 ) 80a9b38: 785b ldrb r3, [r3, #1] 80a9b3a: b2db uxtb r3, r3 80a9b3c: 2b01 cmp r3, #1 80a9b3e: d11c bne.n 80a9b7a if(pardata.IIN != VOLTS) 80a9b40: 4b41 ldr r3, [pc, #260] ; (80a9c48 ) 80a9b42: 799b ldrb r3, [r3, #6] 80a9b44: b2db uxtb r3, r3 80a9b46: 2b02 cmp r3, #2 80a9b48: d00b beq.n 80a9b62 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&&/c", LEFT_MODE); 80a9b4a: 6efb ldr r3, [r7, #108] ; 0x6c 80a9b4c: b29b uxth r3, r3 80a9b4e: 00db lsls r3, r3, #3 80a9b50: b29b uxth r3, r3 80a9b52: 3335 adds r3, #53 ; 0x35 80a9b54: b299 uxth r1, r3 80a9b56: 2303 movs r3, #3 80a9b58: 4a47 ldr r2, [pc, #284] ; (80a9c78 ) 80a9b5a: 20dc movs r0, #220 ; 0xdc 80a9b5c: f7ab fc1c bl 8055398 80a9b60: e0b5 b.n 80a9cce else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&B", LEFT_MODE); 80a9b62: 6efb ldr r3, [r7, #108] ; 0x6c 80a9b64: b29b uxth r3, r3 80a9b66: 00db lsls r3, r3, #3 80a9b68: b29b uxth r3, r3 80a9b6a: 3335 adds r3, #53 ; 0x35 80a9b6c: b299 uxth r1, r3 80a9b6e: 2303 movs r3, #3 80a9b70: 4a40 ldr r2, [pc, #256] ; (80a9c74 ) 80a9b72: 20dc movs r0, #220 ; 0xdc 80a9b74: f7ab fc10 bl 8055398 80a9b78: e0a9 b.n 80a9cce if(pardata.IPR == DIS) 80a9b7a: 4b33 ldr r3, [pc, #204] ; (80a9c48 ) 80a9b7c: 785b ldrb r3, [r3, #1] 80a9b7e: b2db uxtb r3, r3 80a9b80: 2b02 cmp r3, #2 80a9b82: f040 80a4 bne.w 80a9cce if(pardata.IIN != VOLTS) 80a9b86: 4b30 ldr r3, [pc, #192] ; (80a9c48 ) 80a9b88: 799b ldrb r3, [r3, #6] 80a9b8a: b2db uxtb r3, r3 80a9b8c: 2b02 cmp r3, #2 80a9b8e: d00b beq.n 80a9ba8 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&k&", LEFT_MODE); 80a9b90: 6efb ldr r3, [r7, #108] ; 0x6c 80a9b92: b29b uxth r3, r3 80a9b94: 00db lsls r3, r3, #3 80a9b96: b29b uxth r3, r3 80a9b98: 3335 adds r3, #53 ; 0x35 80a9b9a: b299 uxth r1, r3 80a9b9c: 2303 movs r3, #3 80a9b9e: 4a37 ldr r2, [pc, #220] ; (80a9c7c ) 80a9ba0: 20dc movs r0, #220 ; 0xdc 80a9ba2: f7ab fbf9 bl 8055398 80a9ba6: e092 b.n 80a9cce else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&B", LEFT_MODE); 80a9ba8: 6efb ldr r3, [r7, #108] ; 0x6c 80a9baa: b29b uxth r3, r3 80a9bac: 00db lsls r3, r3, #3 80a9bae: b29b uxth r3, r3 80a9bb0: 3335 adds r3, #53 ; 0x35 80a9bb2: b299 uxth r1, r3 80a9bb4: 2303 movs r3, #3 80a9bb6: 4a2f ldr r2, [pc, #188] ; (80a9c74 ) 80a9bb8: 20dc movs r0, #220 ; 0xdc 80a9bba: f7ab fbed bl 8055398 80a9bbe: e086 b.n 80a9cce if(pardata.IPR == ACC) 80a9bc0: 4b21 ldr r3, [pc, #132] ; (80a9c48 ) 80a9bc2: 785b ldrb r3, [r3, #1] 80a9bc4: b2db uxtb r3, r3 80a9bc6: 2b00 cmp r3, #0 80a9bc8: d11c bne.n 80a9c04 if(pardata.IIN != VOLTS) 80a9bca: 4b1f ldr r3, [pc, #124] ; (80a9c48 ) 80a9bcc: 799b ldrb r3, [r3, #6] 80a9bce: b2db uxtb r3, r3 80a9bd0: 2b02 cmp r3, #2 80a9bd2: d00b beq.n 80a9bec BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "m/c^", LEFT_MODE); 80a9bd4: 6efb ldr r3, [r7, #108] ; 0x6c 80a9bd6: b29b uxth r3, r3 80a9bd8: 00db lsls r3, r3, #3 80a9bda: b29b uxth r3, r3 80a9bdc: 3335 adds r3, #53 ; 0x35 80a9bde: b299 uxth r1, r3 80a9be0: 2303 movs r3, #3 80a9be2: 4a27 ldr r2, [pc, #156] ; (80a9c80 ) 80a9be4: 20dc movs r0, #220 ; 0xdc 80a9be6: f7ab fbd7 bl 8055398 80a9bea: e070 b.n 80a9cce else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mV", LEFT_MODE); 80a9bec: 6efb ldr r3, [r7, #108] ; 0x6c 80a9bee: b29b uxth r3, r3 80a9bf0: 00db lsls r3, r3, #3 80a9bf2: b29b uxth r3, r3 80a9bf4: 3335 adds r3, #53 ; 0x35 80a9bf6: b299 uxth r1, r3 80a9bf8: 2303 movs r3, #3 80a9bfa: 4a22 ldr r2, [pc, #136] ; (80a9c84 ) 80a9bfc: 20dc movs r0, #220 ; 0xdc 80a9bfe: f7ab fbcb bl 8055398 80a9c02: e064 b.n 80a9cce if(pardata.IPR == VEL) 80a9c04: 4b10 ldr r3, [pc, #64] ; (80a9c48 ) 80a9c06: 785b ldrb r3, [r3, #1] 80a9c08: b2db uxtb r3, r3 80a9c0a: 2b01 cmp r3, #1 80a9c0c: d13e bne.n 80a9c8c if(pardata.IIN != VOLTS) 80a9c0e: 4b0e ldr r3, [pc, #56] ; (80a9c48 ) 80a9c10: 799b ldrb r3, [r3, #6] 80a9c12: b2db uxtb r3, r3 80a9c14: 2b02 cmp r3, #2 80a9c16: d00b beq.n 80a9c30 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mm/c", LEFT_MODE); 80a9c18: 6efb ldr r3, [r7, #108] ; 0x6c 80a9c1a: b29b uxth r3, r3 80a9c1c: 00db lsls r3, r3, #3 80a9c1e: b29b uxth r3, r3 80a9c20: 3335 adds r3, #53 ; 0x35 80a9c22: b299 uxth r1, r3 80a9c24: 2303 movs r3, #3 80a9c26: 4a18 ldr r2, [pc, #96] ; (80a9c88 ) 80a9c28: 20dc movs r0, #220 ; 0xdc 80a9c2a: f7ab fbb5 bl 8055398 80a9c2e: e04e b.n 80a9cce else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mV", LEFT_MODE); 80a9c30: 6efb ldr r3, [r7, #108] ; 0x6c 80a9c32: b29b uxth r3, r3 80a9c34: 00db lsls r3, r3, #3 80a9c36: b29b uxth r3, r3 80a9c38: 3335 adds r3, #53 ; 0x35 80a9c3a: b299 uxth r1, r3 80a9c3c: 2303 movs r3, #3 80a9c3e: 4a11 ldr r2, [pc, #68] ; (80a9c84 ) 80a9c40: 20dc movs r0, #220 ; 0xdc 80a9c42: f7ab fba9 bl 8055398 80a9c46: e042 b.n 80a9cce 80a9c48: 20023eb8 .word 0x20023eb8 80a9c4c: 080d7424 .word 0x080d7424 80a9c50: 080d5110 .word 0x080d5110 80a9c54: 20026d18 .word 0x20026d18 80a9c58: ffffa500 .word 0xffffa500 80a9c5c: 080d7504 .word 0x080d7504 80a9c60: 080d7508 .word 0x080d7508 80a9c64: ff26a01f .word 0xff26a01f 80a9c68: 3dcccccd .word 0x3dcccccd 80a9c6c: bdcccccd .word 0xbdcccccd 80a9c70: 080d74c0 .word 0x080d74c0 80a9c74: 080d7518 .word 0x080d7518 80a9c78: 080d7520 .word 0x080d7520 80a9c7c: 080d7528 .word 0x080d7528 80a9c80: 080d74c8 .word 0x080d74c8 80a9c84: 080d751c .word 0x080d751c 80a9c88: 080d7550 .word 0x080d7550 if(pardata.IPR == DIS) 80a9c8c: 4bb2 ldr r3, [pc, #712] ; (80a9f58 ) 80a9c8e: 785b ldrb r3, [r3, #1] 80a9c90: b2db uxtb r3, r3 80a9c92: 2b02 cmp r3, #2 80a9c94: d11b bne.n 80a9cce if(pardata.IIN != VOLTS) 80a9c96: 4bb0 ldr r3, [pc, #704] ; (80a9f58 ) 80a9c98: 799b ldrb r3, [r3, #6] 80a9c9a: b2db uxtb r3, r3 80a9c9c: 2b02 cmp r3, #2 80a9c9e: d00b beq.n 80a9cb8 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "um", LEFT_MODE); 80a9ca0: 6efb ldr r3, [r7, #108] ; 0x6c 80a9ca2: b29b uxth r3, r3 80a9ca4: 00db lsls r3, r3, #3 80a9ca6: b29b uxth r3, r3 80a9ca8: 3335 adds r3, #53 ; 0x35 80a9caa: b299 uxth r1, r3 80a9cac: 2303 movs r3, #3 80a9cae: 4aab ldr r2, [pc, #684] ; (80a9f5c ) 80a9cb0: 20dc movs r0, #220 ; 0xdc 80a9cb2: f7ab fb71 bl 8055398 80a9cb6: e00a b.n 80a9cce else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mV", LEFT_MODE); 80a9cb8: 6efb ldr r3, [r7, #108] ; 0x6c 80a9cba: b29b uxth r3, r3 80a9cbc: 00db lsls r3, r3, #3 80a9cbe: b29b uxth r3, r3 80a9cc0: 3335 adds r3, #53 ; 0x35 80a9cc2: b299 uxth r1, r3 80a9cc4: 2303 movs r3, #3 80a9cc6: 4aa6 ldr r2, [pc, #664] ; (80a9f60 ) 80a9cc8: 20dc movs r0, #220 ; 0xdc 80a9cca: f7ab fb65 bl 8055398 BSP_LCD_DisplayStringAt(217, 53 + 8 * i, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a9cce: 6efb ldr r3, [r7, #108] ; 0x6c 80a9cd0: b29b uxth r3, r3 80a9cd2: 00db lsls r3, r3, #3 80a9cd4: b29b uxth r3, r3 80a9cd6: 3335 adds r3, #53 ; 0x35 80a9cd8: b29c uxth r4, r3 80a9cda: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9cde: f06f 0002 mvn.w r0, #2 80a9ce2: eeb0 0a67 vmov.f32 s0, s15 80a9ce6: f7be fa5b bl 80681a0 80a9cea: 4602 mov r2, r0 80a9cec: 2302 movs r3, #2 80a9cee: 4621 mov r1, r4 80a9cf0: 20d9 movs r0, #217 ; 0xd9 80a9cf2: f7ab fb51 bl 8055398 l = strlen((char *)FloatToASCII(Val, -3)); 80a9cf6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9cfa: f06f 0002 mvn.w r0, #2 80a9cfe: eeb0 0a67 vmov.f32 s0, s15 80a9d02: f7be fa4d bl 80681a0 80a9d06: 4603 mov r3, r0 80a9d08: 4618 mov r0, r3 80a9d0a: f776 fb03 bl 8020314 80a9d0e: 4603 mov r3, r0 80a9d10: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a9d12: 6d3a ldr r2, [r7, #80] ; 0x50 80a9d14: 4613 mov r3, r2 80a9d16: 009b lsls r3, r3, #2 80a9d18: 4413 add r3, r2 80a9d1a: 3306 adds r3, #6 80a9d1c: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a9d1e: 4b91 ldr r3, [pc, #580] ; (80a9f64 ) 80a9d20: 781b ldrb r3, [r3, #0] 80a9d22: 2b2d cmp r3, #45 ; 0x2d 80a9d24: d102 bne.n 80a9d2c 80a9d26: 6d3b ldr r3, [r7, #80] ; 0x50 80a9d28: 3b05 subs r3, #5 80a9d2a: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80a9d2c: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a9d30: 488d ldr r0, [pc, #564] ; (80a9f68 ) 80a9d32: f7ab fa6b bl 805520c if(!i) BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80a9d36: 6efb ldr r3, [r7, #108] ; 0x6c 80a9d38: 2b00 cmp r3, #0 80a9d3a: d10f bne.n 80a9d5c 80a9d3c: 6d3b ldr r3, [r7, #80] ; 0x50 80a9d3e: b29b uxth r3, r3 80a9d40: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a9d44: b298 uxth r0, r3 80a9d46: 6efb ldr r3, [r7, #108] ; 0x6c 80a9d48: b29b uxth r3, r3 80a9d4a: 00db lsls r3, r3, #3 80a9d4c: b29b uxth r3, r3 80a9d4e: 3335 adds r3, #53 ; 0x35 80a9d50: b299 uxth r1, r3 80a9d52: 2302 movs r3, #2 80a9d54: 4a85 ldr r2, [pc, #532] ; (80a9f6c ) 80a9d56: f7ab fb1f bl 8055398 80a9d5a: e00e b.n 80a9d7a else BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80a9d5c: 6d3b ldr r3, [r7, #80] ; 0x50 80a9d5e: b29b uxth r3, r3 80a9d60: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a9d64: b298 uxth r0, r3 80a9d66: 6efb ldr r3, [r7, #108] ; 0x6c 80a9d68: b29b uxth r3, r3 80a9d6a: 00db lsls r3, r3, #3 80a9d6c: b29b uxth r3, r3 80a9d6e: 3335 adds r3, #53 ; 0x35 80a9d70: b299 uxth r1, r3 80a9d72: 2302 movs r3, #2 80a9d74: 4a7e ldr r2, [pc, #504] ; (80a9f70 ) 80a9d76: f7ab fb0f bl 8055398 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a9d7a: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a9d7e: 487d ldr r0, [pc, #500] ; (80a9f74 ) 80a9d80: f7ab fa44 bl 805520c 80a9d84: e214 b.n 80aa1b0 if(pardata.IPR == ACC) 80a9d86: 4b74 ldr r3, [pc, #464] ; (80a9f58 ) 80a9d88: 785b ldrb r3, [r3, #1] 80a9d8a: b2db uxtb r3, r3 80a9d8c: 2b00 cmp r3, #0 80a9d8e: f040 80a2 bne.w 80a9ed6 Val *= 1000.0f; 80a9d92: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9d96: ed9f 7a78 vldr s14, [pc, #480] ; 80a9f78 80a9d9a: ee67 7a87 vmul.f32 s15, s15, s14 80a9d9e: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IIN != VOLTS) 80a9da2: 4b6d ldr r3, [pc, #436] ; (80a9f58 ) 80a9da4: 799b ldrb r3, [r3, #6] 80a9da6: b2db uxtb r3, r3 80a9da8: 2b02 cmp r3, #2 80a9daa: d01c beq.n 80a9de6 if(pardata.LANG == RUS) 80a9dac: 4b6a ldr r3, [pc, #424] ; (80a9f58 ) 80a9dae: 7b1b ldrb r3, [r3, #12] 80a9db0: b2db uxtb r3, r3 80a9db2: 2b00 cmp r3, #0 80a9db4: d10b bne.n 80a9dce BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&&/c^", LEFT_MODE); 80a9db6: 6efb ldr r3, [r7, #108] ; 0x6c 80a9db8: b29b uxth r3, r3 80a9dba: 00db lsls r3, r3, #3 80a9dbc: b29b uxth r3, r3 80a9dbe: 3335 adds r3, #53 ; 0x35 80a9dc0: b299 uxth r1, r3 80a9dc2: 2303 movs r3, #3 80a9dc4: 4a6d ldr r2, [pc, #436] ; (80a9f7c ) 80a9dc6: 20dc movs r0, #220 ; 0xdc 80a9dc8: f7ab fae6 bl 8055398 80a9dcc: e027 b.n 80a9e1e else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mm/c^", LEFT_MODE); 80a9dce: 6efb ldr r3, [r7, #108] ; 0x6c 80a9dd0: b29b uxth r3, r3 80a9dd2: 00db lsls r3, r3, #3 80a9dd4: b29b uxth r3, r3 80a9dd6: 3335 adds r3, #53 ; 0x35 80a9dd8: b299 uxth r1, r3 80a9dda: 2303 movs r3, #3 80a9ddc: 4a68 ldr r2, [pc, #416] ; (80a9f80 ) 80a9dde: 20dc movs r0, #220 ; 0xdc 80a9de0: f7ab fada bl 8055398 80a9de4: e01b b.n 80a9e1e if(pardata.LANG == RUS) 80a9de6: 4b5c ldr r3, [pc, #368] ; (80a9f58 ) 80a9de8: 7b1b ldrb r3, [r3, #12] 80a9dea: b2db uxtb r3, r3 80a9dec: 2b00 cmp r3, #0 80a9dee: d10b bne.n 80a9e08 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&kB", LEFT_MODE); 80a9df0: 6efb ldr r3, [r7, #108] ; 0x6c 80a9df2: b29b uxth r3, r3 80a9df4: 00db lsls r3, r3, #3 80a9df6: b29b uxth r3, r3 80a9df8: 3335 adds r3, #53 ; 0x35 80a9dfa: b299 uxth r1, r3 80a9dfc: 2303 movs r3, #3 80a9dfe: 4a61 ldr r2, [pc, #388] ; (80a9f84 ) 80a9e00: 20dc movs r0, #220 ; 0xdc 80a9e02: f7ab fac9 bl 8055398 80a9e06: e00a b.n 80a9e1e else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "uV", LEFT_MODE); 80a9e08: 6efb ldr r3, [r7, #108] ; 0x6c 80a9e0a: b29b uxth r3, r3 80a9e0c: 00db lsls r3, r3, #3 80a9e0e: b29b uxth r3, r3 80a9e10: 3335 adds r3, #53 ; 0x35 80a9e12: b299 uxth r1, r3 80a9e14: 2303 movs r3, #3 80a9e16: 4a5c ldr r2, [pc, #368] ; (80a9f88 ) 80a9e18: 20dc movs r0, #220 ; 0xdc 80a9e1a: f7ab fabd bl 8055398 BSP_LCD_DisplayStringAt(217, 53 + 8 * i, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a9e1e: 6efb ldr r3, [r7, #108] ; 0x6c 80a9e20: b29b uxth r3, r3 80a9e22: 00db lsls r3, r3, #3 80a9e24: b29b uxth r3, r3 80a9e26: 3335 adds r3, #53 ; 0x35 80a9e28: b29c uxth r4, r3 80a9e2a: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9e2e: f06f 0002 mvn.w r0, #2 80a9e32: eeb0 0a67 vmov.f32 s0, s15 80a9e36: f7be f9b3 bl 80681a0 80a9e3a: 4602 mov r2, r0 80a9e3c: 2302 movs r3, #2 80a9e3e: 4621 mov r1, r4 80a9e40: 20d9 movs r0, #217 ; 0xd9 80a9e42: f7ab faa9 bl 8055398 l = strlen((char *)FloatToASCII(Val, -3)); 80a9e46: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9e4a: f06f 0002 mvn.w r0, #2 80a9e4e: eeb0 0a67 vmov.f32 s0, s15 80a9e52: f7be f9a5 bl 80681a0 80a9e56: 4603 mov r3, r0 80a9e58: 4618 mov r0, r3 80a9e5a: f776 fa5b bl 8020314 80a9e5e: 4603 mov r3, r0 80a9e60: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a9e62: 6d3a ldr r2, [r7, #80] ; 0x50 80a9e64: 4613 mov r3, r2 80a9e66: 009b lsls r3, r3, #2 80a9e68: 4413 add r3, r2 80a9e6a: 3306 adds r3, #6 80a9e6c: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a9e6e: 4b3d ldr r3, [pc, #244] ; (80a9f64 ) 80a9e70: 781b ldrb r3, [r3, #0] 80a9e72: 2b2d cmp r3, #45 ; 0x2d 80a9e74: d102 bne.n 80a9e7c 80a9e76: 6d3b ldr r3, [r7, #80] ; 0x50 80a9e78: 3b05 subs r3, #5 80a9e7a: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80a9e7c: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a9e80: 4839 ldr r0, [pc, #228] ; (80a9f68 ) 80a9e82: f7ab f9c3 bl 805520c if(!i) BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80a9e86: 6efb ldr r3, [r7, #108] ; 0x6c 80a9e88: 2b00 cmp r3, #0 80a9e8a: d10f bne.n 80a9eac 80a9e8c: 6d3b ldr r3, [r7, #80] ; 0x50 80a9e8e: b29b uxth r3, r3 80a9e90: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a9e94: b298 uxth r0, r3 80a9e96: 6efb ldr r3, [r7, #108] ; 0x6c 80a9e98: b29b uxth r3, r3 80a9e9a: 00db lsls r3, r3, #3 80a9e9c: b29b uxth r3, r3 80a9e9e: 3335 adds r3, #53 ; 0x35 80a9ea0: b299 uxth r1, r3 80a9ea2: 2302 movs r3, #2 80a9ea4: 4a31 ldr r2, [pc, #196] ; (80a9f6c ) 80a9ea6: f7ab fa77 bl 8055398 80a9eaa: e00e b.n 80a9eca else BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80a9eac: 6d3b ldr r3, [r7, #80] ; 0x50 80a9eae: b29b uxth r3, r3 80a9eb0: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a9eb4: b298 uxth r0, r3 80a9eb6: 6efb ldr r3, [r7, #108] ; 0x6c 80a9eb8: b29b uxth r3, r3 80a9eba: 00db lsls r3, r3, #3 80a9ebc: b29b uxth r3, r3 80a9ebe: 3335 adds r3, #53 ; 0x35 80a9ec0: b299 uxth r1, r3 80a9ec2: 2302 movs r3, #2 80a9ec4: 4a2a ldr r2, [pc, #168] ; (80a9f70 ) 80a9ec6: f7ab fa67 bl 8055398 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a9eca: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a9ece: 4829 ldr r0, [pc, #164] ; (80a9f74 ) 80a9ed0: f7ab f99c bl 805520c 80a9ed4: e16c b.n 80aa1b0 if(pardata.IPR == VEL) 80a9ed6: 4b20 ldr r3, [pc, #128] ; (80a9f58 ) 80a9ed8: 785b ldrb r3, [r3, #1] 80a9eda: b2db uxtb r3, r3 80a9edc: 2b01 cmp r3, #1 80a9ede: f040 80c0 bne.w 80aa062 Val *= 1000.0f; 80a9ee2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9ee6: ed9f 7a24 vldr s14, [pc, #144] ; 80a9f78 80a9eea: ee67 7a87 vmul.f32 s15, s15, s14 80a9eee: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IIN != VOLTS) 80a9ef2: 4b19 ldr r3, [pc, #100] ; (80a9f58 ) 80a9ef4: 799b ldrb r3, [r3, #6] 80a9ef6: b2db uxtb r3, r3 80a9ef8: 2b02 cmp r3, #2 80a9efa: d01c beq.n 80a9f36 if(pardata.LANG == RUS) 80a9efc: 4b16 ldr r3, [pc, #88] ; (80a9f58 ) 80a9efe: 7b1b ldrb r3, [r3, #12] 80a9f00: b2db uxtb r3, r3 80a9f02: 2b00 cmp r3, #0 80a9f04: d10b bne.n 80a9f1e BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&k&/c", LEFT_MODE); 80a9f06: 6efb ldr r3, [r7, #108] ; 0x6c 80a9f08: b29b uxth r3, r3 80a9f0a: 00db lsls r3, r3, #3 80a9f0c: b29b uxth r3, r3 80a9f0e: 3335 adds r3, #53 ; 0x35 80a9f10: b299 uxth r1, r3 80a9f12: 2303 movs r3, #3 80a9f14: 4a1d ldr r2, [pc, #116] ; (80a9f8c ) 80a9f16: 20dc movs r0, #220 ; 0xdc 80a9f18: f7ab fa3e bl 8055398 80a9f1c: e045 b.n 80a9faa else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "um/c", LEFT_MODE); 80a9f1e: 6efb ldr r3, [r7, #108] ; 0x6c 80a9f20: b29b uxth r3, r3 80a9f22: 00db lsls r3, r3, #3 80a9f24: b29b uxth r3, r3 80a9f26: 3335 adds r3, #53 ; 0x35 80a9f28: b299 uxth r1, r3 80a9f2a: 2303 movs r3, #3 80a9f2c: 4a18 ldr r2, [pc, #96] ; (80a9f90 ) 80a9f2e: 20dc movs r0, #220 ; 0xdc 80a9f30: f7ab fa32 bl 8055398 80a9f34: e039 b.n 80a9faa if(pardata.LANG == RUS) 80a9f36: 4b08 ldr r3, [pc, #32] ; (80a9f58 ) 80a9f38: 7b1b ldrb r3, [r3, #12] 80a9f3a: b2db uxtb r3, r3 80a9f3c: 2b00 cmp r3, #0 80a9f3e: d129 bne.n 80a9f94 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&kB", LEFT_MODE); 80a9f40: 6efb ldr r3, [r7, #108] ; 0x6c 80a9f42: b29b uxth r3, r3 80a9f44: 00db lsls r3, r3, #3 80a9f46: b29b uxth r3, r3 80a9f48: 3335 adds r3, #53 ; 0x35 80a9f4a: b299 uxth r1, r3 80a9f4c: 2303 movs r3, #3 80a9f4e: 4a0d ldr r2, [pc, #52] ; (80a9f84 ) 80a9f50: 20dc movs r0, #220 ; 0xdc 80a9f52: f7ab fa21 bl 8055398 80a9f56: e028 b.n 80a9faa 80a9f58: 20023eb8 .word 0x20023eb8 80a9f5c: 080d744c .word 0x080d744c 80a9f60: 080d751c .word 0x080d751c 80a9f64: 20026d18 .word 0x20026d18 80a9f68: ffffa500 .word 0xffffa500 80a9f6c: 080d7504 .word 0x080d7504 80a9f70: 080d7508 .word 0x080d7508 80a9f74: ff26a01f .word 0xff26a01f 80a9f78: 447a0000 .word 0x447a0000 80a9f7c: 080d74d0 .word 0x080d74d0 80a9f80: 080d74d8 .word 0x080d74d8 80a9f84: 080d752c .word 0x080d752c 80a9f88: 080d747c .word 0x080d747c 80a9f8c: 080d7530 .word 0x080d7530 80a9f90: 080d7558 .word 0x080d7558 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "uV", LEFT_MODE); 80a9f94: 6efb ldr r3, [r7, #108] ; 0x6c 80a9f96: b29b uxth r3, r3 80a9f98: 00db lsls r3, r3, #3 80a9f9a: b29b uxth r3, r3 80a9f9c: 3335 adds r3, #53 ; 0x35 80a9f9e: b299 uxth r1, r3 80a9fa0: 2303 movs r3, #3 80a9fa2: 4ab4 ldr r2, [pc, #720] ; (80aa274 ) 80a9fa4: 20dc movs r0, #220 ; 0xdc 80a9fa6: f7ab f9f7 bl 8055398 BSP_LCD_DisplayStringAt(217, 53 + 8 * i, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a9faa: 6efb ldr r3, [r7, #108] ; 0x6c 80a9fac: b29b uxth r3, r3 80a9fae: 00db lsls r3, r3, #3 80a9fb0: b29b uxth r3, r3 80a9fb2: 3335 adds r3, #53 ; 0x35 80a9fb4: b29c uxth r4, r3 80a9fb6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9fba: f06f 0002 mvn.w r0, #2 80a9fbe: eeb0 0a67 vmov.f32 s0, s15 80a9fc2: f7be f8ed bl 80681a0 80a9fc6: 4602 mov r2, r0 80a9fc8: 2302 movs r3, #2 80a9fca: 4621 mov r1, r4 80a9fcc: 20d9 movs r0, #217 ; 0xd9 80a9fce: f7ab f9e3 bl 8055398 l = strlen((char *)FloatToASCII(Val, -3)); 80a9fd2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9fd6: f06f 0002 mvn.w r0, #2 80a9fda: eeb0 0a67 vmov.f32 s0, s15 80a9fde: f7be f8df bl 80681a0 80a9fe2: 4603 mov r3, r0 80a9fe4: 4618 mov r0, r3 80a9fe6: f776 f995 bl 8020314 80a9fea: 4603 mov r3, r0 80a9fec: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a9fee: 6d3a ldr r2, [r7, #80] ; 0x50 80a9ff0: 4613 mov r3, r2 80a9ff2: 009b lsls r3, r3, #2 80a9ff4: 4413 add r3, r2 80a9ff6: 3306 adds r3, #6 80a9ff8: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a9ffa: 4b9f ldr r3, [pc, #636] ; (80aa278 ) 80a9ffc: 781b ldrb r3, [r3, #0] 80a9ffe: 2b2d cmp r3, #45 ; 0x2d 80aa000: d102 bne.n 80aa008 80aa002: 6d3b ldr r3, [r7, #80] ; 0x50 80aa004: 3b05 subs r3, #5 80aa006: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80aa008: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80aa00c: 489b ldr r0, [pc, #620] ; (80aa27c ) 80aa00e: f7ab f8fd bl 805520c if(!i) BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80aa012: 6efb ldr r3, [r7, #108] ; 0x6c 80aa014: 2b00 cmp r3, #0 80aa016: d10f bne.n 80aa038 80aa018: 6d3b ldr r3, [r7, #80] ; 0x50 80aa01a: b29b uxth r3, r3 80aa01c: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80aa020: b298 uxth r0, r3 80aa022: 6efb ldr r3, [r7, #108] ; 0x6c 80aa024: b29b uxth r3, r3 80aa026: 00db lsls r3, r3, #3 80aa028: b29b uxth r3, r3 80aa02a: 3335 adds r3, #53 ; 0x35 80aa02c: b299 uxth r1, r3 80aa02e: 2302 movs r3, #2 80aa030: 4a93 ldr r2, [pc, #588] ; (80aa280 ) 80aa032: f7ab f9b1 bl 8055398 80aa036: e00e b.n 80aa056 else BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80aa038: 6d3b ldr r3, [r7, #80] ; 0x50 80aa03a: b29b uxth r3, r3 80aa03c: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80aa040: b298 uxth r0, r3 80aa042: 6efb ldr r3, [r7, #108] ; 0x6c 80aa044: b29b uxth r3, r3 80aa046: 00db lsls r3, r3, #3 80aa048: b29b uxth r3, r3 80aa04a: 3335 adds r3, #53 ; 0x35 80aa04c: b299 uxth r1, r3 80aa04e: 2302 movs r3, #2 80aa050: 4a8c ldr r2, [pc, #560] ; (80aa284 ) 80aa052: f7ab f9a1 bl 8055398 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80aa056: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80aa05a: 488b ldr r0, [pc, #556] ; (80aa288 ) 80aa05c: f7ab f8d6 bl 805520c 80aa060: e0a6 b.n 80aa1b0 if(pardata.IPR == DIS) 80aa062: 4b8a ldr r3, [pc, #552] ; (80aa28c ) 80aa064: 785b ldrb r3, [r3, #1] 80aa066: b2db uxtb r3, r3 80aa068: 2b02 cmp r3, #2 80aa06a: f040 80a1 bne.w 80aa1b0 if(pardata.IIN != VOLTS) 80aa06e: 4b87 ldr r3, [pc, #540] ; (80aa28c ) 80aa070: 799b ldrb r3, [r3, #6] 80aa072: b2db uxtb r3, r3 80aa074: 2b02 cmp r3, #2 80aa076: d01c beq.n 80aa0b2 if(pardata.LANG == RUS) 80aa078: 4b84 ldr r3, [pc, #528] ; (80aa28c ) 80aa07a: 7b1b ldrb r3, [r3, #12] 80aa07c: b2db uxtb r3, r3 80aa07e: 2b00 cmp r3, #0 80aa080: d10b bne.n 80aa09a BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&k&", LEFT_MODE); 80aa082: 6efb ldr r3, [r7, #108] ; 0x6c 80aa084: b29b uxth r3, r3 80aa086: 00db lsls r3, r3, #3 80aa088: b29b uxth r3, r3 80aa08a: 3335 adds r3, #53 ; 0x35 80aa08c: b299 uxth r1, r3 80aa08e: 2303 movs r3, #3 80aa090: 4a7f ldr r2, [pc, #508] ; (80aa290 ) 80aa092: 20dc movs r0, #220 ; 0xdc 80aa094: f7ab f980 bl 8055398 80aa098: e02f b.n 80aa0fa else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "um", LEFT_MODE); 80aa09a: 6efb ldr r3, [r7, #108] ; 0x6c 80aa09c: b29b uxth r3, r3 80aa09e: 00db lsls r3, r3, #3 80aa0a0: b29b uxth r3, r3 80aa0a2: 3335 adds r3, #53 ; 0x35 80aa0a4: b299 uxth r1, r3 80aa0a6: 2303 movs r3, #3 80aa0a8: 4a7a ldr r2, [pc, #488] ; (80aa294 ) 80aa0aa: 20dc movs r0, #220 ; 0xdc 80aa0ac: f7ab f974 bl 8055398 80aa0b0: e023 b.n 80aa0fa Val *= 1000.0f; 80aa0b2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80aa0b6: ed9f 7a78 vldr s14, [pc, #480] ; 80aa298 80aa0ba: ee67 7a87 vmul.f32 s15, s15, s14 80aa0be: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.LANG == RUS) 80aa0c2: 4b72 ldr r3, [pc, #456] ; (80aa28c ) 80aa0c4: 7b1b ldrb r3, [r3, #12] 80aa0c6: b2db uxtb r3, r3 80aa0c8: 2b00 cmp r3, #0 80aa0ca: d10b bne.n 80aa0e4 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&kB", LEFT_MODE); 80aa0cc: 6efb ldr r3, [r7, #108] ; 0x6c 80aa0ce: b29b uxth r3, r3 80aa0d0: 00db lsls r3, r3, #3 80aa0d2: b29b uxth r3, r3 80aa0d4: 3335 adds r3, #53 ; 0x35 80aa0d6: b299 uxth r1, r3 80aa0d8: 2303 movs r3, #3 80aa0da: 4a70 ldr r2, [pc, #448] ; (80aa29c ) 80aa0dc: 20dc movs r0, #220 ; 0xdc 80aa0de: f7ab f95b bl 8055398 80aa0e2: e00a b.n 80aa0fa else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "uV", LEFT_MODE); 80aa0e4: 6efb ldr r3, [r7, #108] ; 0x6c 80aa0e6: b29b uxth r3, r3 80aa0e8: 00db lsls r3, r3, #3 80aa0ea: b29b uxth r3, r3 80aa0ec: 3335 adds r3, #53 ; 0x35 80aa0ee: b299 uxth r1, r3 80aa0f0: 2303 movs r3, #3 80aa0f2: 4a60 ldr r2, [pc, #384] ; (80aa274 ) 80aa0f4: 20dc movs r0, #220 ; 0xdc 80aa0f6: f7ab f94f bl 8055398 BSP_LCD_DisplayStringAt(217, 53 + 8 * i, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80aa0fa: 6efb ldr r3, [r7, #108] ; 0x6c 80aa0fc: b29b uxth r3, r3 80aa0fe: 00db lsls r3, r3, #3 80aa100: b29b uxth r3, r3 80aa102: 3335 adds r3, #53 ; 0x35 80aa104: b29c uxth r4, r3 80aa106: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80aa10a: f06f 0002 mvn.w r0, #2 80aa10e: eeb0 0a67 vmov.f32 s0, s15 80aa112: f7be f845 bl 80681a0 80aa116: 4602 mov r2, r0 80aa118: 2302 movs r3, #2 80aa11a: 4621 mov r1, r4 80aa11c: 20d9 movs r0, #217 ; 0xd9 80aa11e: f7ab f93b bl 8055398 l = strlen((char *)FloatToASCII(Val, -3)); 80aa122: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80aa126: f06f 0002 mvn.w r0, #2 80aa12a: eeb0 0a67 vmov.f32 s0, s15 80aa12e: f7be f837 bl 80681a0 80aa132: 4603 mov r3, r0 80aa134: 4618 mov r0, r3 80aa136: f776 f8ed bl 8020314 80aa13a: 4603 mov r3, r0 80aa13c: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80aa13e: 6d3a ldr r2, [r7, #80] ; 0x50 80aa140: 4613 mov r3, r2 80aa142: 009b lsls r3, r3, #2 80aa144: 4413 add r3, r2 80aa146: 3306 adds r3, #6 80aa148: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80aa14a: 4b4b ldr r3, [pc, #300] ; (80aa278 ) 80aa14c: 781b ldrb r3, [r3, #0] 80aa14e: 2b2d cmp r3, #45 ; 0x2d 80aa150: d102 bne.n 80aa158 80aa152: 6d3b ldr r3, [r7, #80] ; 0x50 80aa154: 3b05 subs r3, #5 80aa156: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80aa158: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80aa15c: 4847 ldr r0, [pc, #284] ; (80aa27c ) 80aa15e: f7ab f855 bl 805520c if(!i) BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80aa162: 6efb ldr r3, [r7, #108] ; 0x6c 80aa164: 2b00 cmp r3, #0 80aa166: d10f bne.n 80aa188 80aa168: 6d3b ldr r3, [r7, #80] ; 0x50 80aa16a: b29b uxth r3, r3 80aa16c: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80aa170: b298 uxth r0, r3 80aa172: 6efb ldr r3, [r7, #108] ; 0x6c 80aa174: b29b uxth r3, r3 80aa176: 00db lsls r3, r3, #3 80aa178: b29b uxth r3, r3 80aa17a: 3335 adds r3, #53 ; 0x35 80aa17c: b299 uxth r1, r3 80aa17e: 2302 movs r3, #2 80aa180: 4a3f ldr r2, [pc, #252] ; (80aa280 ) 80aa182: f7ab f909 bl 8055398 80aa186: e00e b.n 80aa1a6 else BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80aa188: 6d3b ldr r3, [r7, #80] ; 0x50 80aa18a: b29b uxth r3, r3 80aa18c: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80aa190: b298 uxth r0, r3 80aa192: 6efb ldr r3, [r7, #108] ; 0x6c 80aa194: b29b uxth r3, r3 80aa196: 00db lsls r3, r3, #3 80aa198: b29b uxth r3, r3 80aa19a: 3335 adds r3, #53 ; 0x35 80aa19c: b299 uxth r1, r3 80aa19e: 2302 movs r3, #2 80aa1a0: 4a38 ldr r2, [pc, #224] ; (80aa284 ) 80aa1a2: f7ab f8f9 bl 8055398 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80aa1a6: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80aa1aa: 4837 ldr r0, [pc, #220] ; (80aa288 ) 80aa1ac: f7ab f82e bl 805520c LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80aa1b0: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80aa1b4: 483a ldr r0, [pc, #232] ; (80aa2a0 ) 80aa1b6: f7ab f829 bl 805520c tmpF = (float32_t) (DynamicCursor[i].fineMpos + 1); 80aa1ba: 4a3a ldr r2, [pc, #232] ; (80aa2a4 ) 80aa1bc: 6efb ldr r3, [r7, #108] ; 0x6c 80aa1be: 011b lsls r3, r3, #4 80aa1c0: 4413 add r3, r2 80aa1c2: 3306 adds r3, #6 80aa1c4: 881b ldrh r3, [r3, #0] 80aa1c6: 3301 adds r3, #1 80aa1c8: ee07 3a90 vmov s15, r3 80aa1cc: eef8 7ae7 vcvt.f32.s32 s15, s15 80aa1d0: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(tmpF != TF) 80aa1d4: 4b34 ldr r3, [pc, #208] ; (80aa2a8 ) 80aa1d6: edd3 7a00 vldr s15, [r3] 80aa1da: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80aa1de: eeb4 7a67 vcmp.f32 s14, s15 80aa1e2: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa1e6: d016 beq.n 80aa216 TF = tmpF; 80aa1e8: 4a2f ldr r2, [pc, #188] ; (80aa2a8 ) 80aa1ea: 6d7b ldr r3, [r7, #84] ; 0x54 80aa1ec: 6013 str r3, [r2, #0] TF *= Delta_OSC[pardata.FRQ]; 80aa1ee: 4b27 ldr r3, [pc, #156] ; (80aa28c ) 80aa1f0: 7adb ldrb r3, [r3, #11] 80aa1f2: b2db uxtb r3, r3 80aa1f4: 4a2d ldr r2, [pc, #180] ; (80aa2ac ) 80aa1f6: 009b lsls r3, r3, #2 80aa1f8: 4413 add r3, r2 80aa1fa: ed93 7a00 vldr s14, [r3] 80aa1fe: 4b2a ldr r3, [pc, #168] ; (80aa2a8 ) 80aa200: edd3 7a00 vldr s15, [r3] 80aa204: ee67 7a27 vmul.f32 s15, s14, s15 80aa208: 4b27 ldr r3, [pc, #156] ; (80aa2a8 ) 80aa20a: edc3 7a00 vstr s15, [r3] oldTF = TF; 80aa20e: 4b26 ldr r3, [pc, #152] ; (80aa2a8 ) 80aa210: 681b ldr r3, [r3, #0] 80aa212: 4a27 ldr r2, [pc, #156] ; (80aa2b0 ) 80aa214: 6013 str r3, [r2, #0] DynamicCursor[i].val_X = TF; 80aa216: 4b24 ldr r3, [pc, #144] ; (80aa2a8 ) 80aa218: 681a ldr r2, [r3, #0] 80aa21a: 4922 ldr r1, [pc, #136] ; (80aa2a4 ) 80aa21c: 6efb ldr r3, [r7, #108] ; 0x6c 80aa21e: 011b lsls r3, r3, #4 80aa220: 440b add r3, r1 80aa222: 3308 adds r3, #8 80aa224: 601a str r2, [r3, #0] tmpF = TF; 80aa226: 4b20 ldr r3, [pc, #128] ; (80aa2a8 ) 80aa228: 681b ldr r3, [r3, #0] 80aa22a: 657b str r3, [r7, #84] ; 0x54 if(tmpF >= 1000.0f) 80aa22c: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80aa230: ed9f 7a19 vldr s14, [pc, #100] ; 80aa298 80aa234: eef4 7ac7 vcmpe.f32 s15, s14 80aa238: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa23c: db5e blt.n 80aa2fc tmpF *= 0.001f; 80aa23e: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80aa242: ed9f 7a1c vldr s14, [pc, #112] ; 80aa2b4 80aa246: ee67 7a87 vmul.f32 s15, s15, s14 80aa24a: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80aa24e: 4b0f ldr r3, [pc, #60] ; (80aa28c ) 80aa250: 7b1b ldrb r3, [r3, #12] 80aa252: b2db uxtb r3, r3 80aa254: 2b00 cmp r3, #0 80aa256: d131 bne.n 80aa2bc BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "c", LEFT_MODE); 80aa258: 6efb ldr r3, [r7, #108] ; 0x6c 80aa25a: b29b uxth r3, r3 80aa25c: 00db lsls r3, r3, #3 80aa25e: b29b uxth r3, r3 80aa260: 3335 adds r3, #53 ; 0x35 80aa262: b299 uxth r1, r3 80aa264: 2303 movs r3, #3 80aa266: 4a14 ldr r2, [pc, #80] ; (80aa2b8 ) 80aa268: f44f 7097 mov.w r0, #302 ; 0x12e 80aa26c: f7ab f894 bl 8055398 80aa270: e030 b.n 80aa2d4 80aa272: bf00 nop 80aa274: 080d747c .word 0x080d747c 80aa278: 20026d18 .word 0x20026d18 80aa27c: ffffa500 .word 0xffffa500 80aa280: 080d7504 .word 0x080d7504 80aa284: 080d7508 .word 0x080d7508 80aa288: ff26a01f .word 0xff26a01f 80aa28c: 20023eb8 .word 0x20023eb8 80aa290: 080d7528 .word 0x080d7528 80aa294: 080d744c .word 0x080d744c 80aa298: 447a0000 .word 0x447a0000 80aa29c: 080d752c .word 0x080d752c 80aa2a0: ff808080 .word 0xff808080 80aa2a4: 20020f94 .word 0x20020f94 80aa2a8: 200215c0 .word 0x200215c0 80aa2ac: 080f60a4 .word 0x080f60a4 80aa2b0: 20021698 .word 0x20021698 80aa2b4: 3a83126f .word 0x3a83126f 80aa2b8: 080d74e0 .word 0x080d74e0 else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "s", LEFT_MODE); 80aa2bc: 6efb ldr r3, [r7, #108] ; 0x6c 80aa2be: b29b uxth r3, r3 80aa2c0: 00db lsls r3, r3, #3 80aa2c2: b29b uxth r3, r3 80aa2c4: 3335 adds r3, #53 ; 0x35 80aa2c6: b299 uxth r1, r3 80aa2c8: 2303 movs r3, #3 80aa2ca: 4a4c ldr r2, [pc, #304] ; (80aa3fc ) 80aa2cc: f44f 7097 mov.w r0, #302 ; 0x12e 80aa2d0: f7ab f862 bl 8055398 BSP_LCD_DisplayStringAt(299, 53 + 8 * i, (char *) FloatToASCII(tmpF, -4), RIGHT_MODE); 80aa2d4: 6efb ldr r3, [r7, #108] ; 0x6c 80aa2d6: b29b uxth r3, r3 80aa2d8: 00db lsls r3, r3, #3 80aa2da: b29b uxth r3, r3 80aa2dc: 3335 adds r3, #53 ; 0x35 80aa2de: b29c uxth r4, r3 80aa2e0: f06f 0003 mvn.w r0, #3 80aa2e4: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80aa2e8: f7bd ff5a bl 80681a0 80aa2ec: 4602 mov r2, r0 80aa2ee: 2302 movs r3, #2 80aa2f0: 4621 mov r1, r4 80aa2f2: f240 102b movw r0, #299 ; 0x12b 80aa2f6: f7ab f84f bl 8055398 80aa2fa: e073 b.n 80aa3e4 if(tmpF < 0.1f) 80aa2fc: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80aa300: ed9f 7a3f vldr s14, [pc, #252] ; 80aa400 80aa304: eef4 7ac7 vcmpe.f32 s15, s14 80aa308: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa30c: d539 bpl.n 80aa382 tmpF *= 1000.0f; 80aa30e: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80aa312: ed9f 7a3c vldr s14, [pc, #240] ; 80aa404 80aa316: ee67 7a87 vmul.f32 s15, s15, s14 80aa31a: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80aa31e: 4b3a ldr r3, [pc, #232] ; (80aa408 ) 80aa320: 7b1b ldrb r3, [r3, #12] 80aa322: b2db uxtb r3, r3 80aa324: 2b00 cmp r3, #0 80aa326: d10c bne.n 80aa342 BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "&kc", LEFT_MODE); 80aa328: 6efb ldr r3, [r7, #108] ; 0x6c 80aa32a: b29b uxth r3, r3 80aa32c: 00db lsls r3, r3, #3 80aa32e: b29b uxth r3, r3 80aa330: 3335 adds r3, #53 ; 0x35 80aa332: b299 uxth r1, r3 80aa334: 2303 movs r3, #3 80aa336: 4a35 ldr r2, [pc, #212] ; (80aa40c ) 80aa338: f44f 7097 mov.w r0, #302 ; 0x12e 80aa33c: f7ab f82c bl 8055398 80aa340: e00b b.n 80aa35a else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "us", LEFT_MODE); 80aa342: 6efb ldr r3, [r7, #108] ; 0x6c 80aa344: b29b uxth r3, r3 80aa346: 00db lsls r3, r3, #3 80aa348: b29b uxth r3, r3 80aa34a: 3335 adds r3, #53 ; 0x35 80aa34c: b299 uxth r1, r3 80aa34e: 2303 movs r3, #3 80aa350: 4a2f ldr r2, [pc, #188] ; (80aa410 ) 80aa352: f44f 7097 mov.w r0, #302 ; 0x12e 80aa356: f7ab f81f bl 8055398 BSP_LCD_DisplayStringAt(299, 53 + 8 * i, (char *) FloatToASCII(tmpF, -2), RIGHT_MODE); 80aa35a: 6efb ldr r3, [r7, #108] ; 0x6c 80aa35c: b29b uxth r3, r3 80aa35e: 00db lsls r3, r3, #3 80aa360: b29b uxth r3, r3 80aa362: 3335 adds r3, #53 ; 0x35 80aa364: b29c uxth r4, r3 80aa366: f06f 0001 mvn.w r0, #1 80aa36a: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80aa36e: f7bd ff17 bl 80681a0 80aa372: 4602 mov r2, r0 80aa374: 2302 movs r3, #2 80aa376: 4621 mov r1, r4 80aa378: f240 102b movw r0, #299 ; 0x12b 80aa37c: f7ab f80c bl 8055398 80aa380: e030 b.n 80aa3e4 if(pardata.LANG == RUS) 80aa382: 4b21 ldr r3, [pc, #132] ; (80aa408 ) 80aa384: 7b1b ldrb r3, [r3, #12] 80aa386: b2db uxtb r3, r3 80aa388: 2b00 cmp r3, #0 80aa38a: d10c bne.n 80aa3a6 BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "&c", LEFT_MODE); 80aa38c: 6efb ldr r3, [r7, #108] ; 0x6c 80aa38e: b29b uxth r3, r3 80aa390: 00db lsls r3, r3, #3 80aa392: b29b uxth r3, r3 80aa394: 3335 adds r3, #53 ; 0x35 80aa396: b299 uxth r1, r3 80aa398: 2303 movs r3, #3 80aa39a: 4a1e ldr r2, [pc, #120] ; (80aa414 ) 80aa39c: f44f 7097 mov.w r0, #302 ; 0x12e 80aa3a0: f7aa fffa bl 8055398 80aa3a4: e00b b.n 80aa3be else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "ms", LEFT_MODE); 80aa3a6: 6efb ldr r3, [r7, #108] ; 0x6c 80aa3a8: b29b uxth r3, r3 80aa3aa: 00db lsls r3, r3, #3 80aa3ac: b29b uxth r3, r3 80aa3ae: 3335 adds r3, #53 ; 0x35 80aa3b0: b299 uxth r1, r3 80aa3b2: 2303 movs r3, #3 80aa3b4: 4a18 ldr r2, [pc, #96] ; (80aa418 ) 80aa3b6: f44f 7097 mov.w r0, #302 ; 0x12e 80aa3ba: f7aa ffed bl 8055398 BSP_LCD_DisplayStringAt(299, 53 + 8 * i, (char *) FloatToASCII(tmpF, -3), RIGHT_MODE); 80aa3be: 6efb ldr r3, [r7, #108] ; 0x6c 80aa3c0: b29b uxth r3, r3 80aa3c2: 00db lsls r3, r3, #3 80aa3c4: b29b uxth r3, r3 80aa3c6: 3335 adds r3, #53 ; 0x35 80aa3c8: b29c uxth r4, r3 80aa3ca: f06f 0002 mvn.w r0, #2 80aa3ce: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80aa3d2: f7bd fee5 bl 80681a0 80aa3d6: 4602 mov r2, r0 80aa3d8: 2302 movs r3, #2 80aa3da: 4621 mov r1, r4 80aa3dc: f240 102b movw r0, #299 ; 0x12b 80aa3e0: f7aa ffda bl 8055398 for(i = 0; i < 2; i++) 80aa3e4: 6efb ldr r3, [r7, #108] ; 0x6c 80aa3e6: 3301 adds r3, #1 80aa3e8: 66fb str r3, [r7, #108] ; 0x6c 80aa3ea: 6efb ldr r3, [r7, #108] ; 0x6c 80aa3ec: 2b01 cmp r3, #1 80aa3ee: f67f a8bf bls.w 80a9570 } 80aa3f2: e7ff b.n 80aa3f4 80aa3f4: bf00 nop 80aa3f6: 3774 adds r7, #116 ; 0x74 80aa3f8: 46bd mov sp, r7 80aa3fa: bd90 pop {r4, r7, pc} 80aa3fc: 080d74e4 .word 0x080d74e4 80aa400: 3dcccccd .word 0x3dcccccd 80aa404: 447a0000 .word 0x447a0000 80aa408: 20023eb8 .word 0x20023eb8 80aa40c: 080d74e8 .word 0x080d74e8 80aa410: 080d74ec .word 0x080d74ec 80aa414: 080d74f0 .word 0x080d74f0 80aa418: 080d74f4 .word 0x080d74f4 80aa41c: 00000000 .word 0x00000000 080aa420 : void DrawGraph(void) // TODO { 80aa420: b590 push {r4, r7, lr} 80aa422: f5ad 7d2f sub.w sp, sp, #700 ; 0x2bc 80aa426: 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; 80aa428: 2300 movs r3, #0 80aa42a: f887 329f strb.w r3, [r7, #671] ; 0x29f Minimum = 32767; 80aa42e: f647 73ff movw r3, #32767 ; 0x7fff 80aa432: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 Maximum = -32767; 80aa436: f248 0301 movw r3, #32769 ; 0x8001 80aa43a: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(menu == MAIN_SYGNAL) 80aa43e: 4bc5 ldr r3, [pc, #788] ; (80aa754 ) 80aa440: 781b ldrb r3, [r3, #0] 80aa442: b2db uxtb r3, r3 80aa444: 2b20 cmp r3, #32 80aa446: f041 8011 bne.w 80ab46c { if(!FIRST) 80aa44a: 4bc3 ldr r3, [pc, #780] ; (80aa758 ) 80aa44c: 781b ldrb r3, [r3, #0] 80aa44e: b2db uxtb r3, r3 80aa450: f083 0301 eor.w r3, r3, #1 80aa454: b2db uxtb r3, r3 80aa456: 2b00 cmp r3, #0 80aa458: f005 86a4 beq.w 80b01a4 { if(NUM_CHANNELS == 1) 80aa45c: 4bbf ldr r3, [pc, #764] ; (80aa75c ) 80aa45e: 681b ldr r3, [r3, #0] 80aa460: 2b01 cmp r3, #1 80aa462: f040 82d1 bne.w 80aaa08 { if(AUTOZOOM) 80aa466: 4bbe ldr r3, [pc, #760] ; (80aa760 ) 80aa468: 781b ldrb r3, [r3, #0] 80aa46a: b2db uxtb r3, r3 80aa46c: 2b00 cmp r3, #0 80aa46e: d060 beq.n 80aa532 { arm_max_f32(&ScrA_f32(0), PlayingState.FrameSize, &max, &idx); 80aa470: 4bbc ldr r3, [pc, #752] ; (80aa764 ) 80aa472: 6899 ldr r1, [r3, #8] 80aa474: f507 731a add.w r3, r7, #616 ; 0x268 80aa478: f507 721d add.w r2, r7, #628 ; 0x274 80aa47c: 48ba ldr r0, [pc, #744] ; (80aa768 ) 80aa47e: f024 fdc9 bl 80cf014 arm_min_f32(&ScrA_f32(0), PlayingState.FrameSize, &min, &idx); 80aa482: 4bb8 ldr r3, [pc, #736] ; (80aa764 ) 80aa484: 6899 ldr r1, [r3, #8] 80aa486: f507 731a add.w r3, r7, #616 ; 0x268 80aa48a: f507 721c add.w r2, r7, #624 ; 0x270 80aa48e: 48b6 ldr r0, [pc, #728] ; (80aa768 ) 80aa490: f024 fd24 bl 80ceedc if(ABS(max) > ABS(min)) 80aa494: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aa498: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa49c: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa4a0: dd02 ble.n 80aa4a8 80aa4a2: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80aa4a6: e003 b.n 80aa4b0 80aa4a8: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aa4ac: eeb1 7a67 vneg.f32 s14, s15 80aa4b0: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa4b4: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa4b8: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa4bc: dd02 ble.n 80aa4c4 80aa4be: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa4c2: e003 b.n 80aa4cc 80aa4c4: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa4c8: eef1 7a67 vneg.f32 s15, s15 80aa4cc: eeb4 7ae7 vcmpe.f32 s14, s15 80aa4d0: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa4d4: dd10 ble.n 80aa4f8 f = ABS(max); 80aa4d6: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aa4da: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa4de: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa4e2: dd02 ble.n 80aa4ea 80aa4e4: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aa4e8: e003 b.n 80aa4f2 80aa4ea: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aa4ee: eef1 7a67 vneg.f32 s15, s15 80aa4f2: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80aa4f6: e00f b.n 80aa518 else f = ABS(min); 80aa4f8: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa4fc: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa500: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa504: dd02 ble.n 80aa50c 80aa506: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa50a: e003 b.n 80aa514 80aa50c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa510: eef1 7a67 vneg.f32 s15, s15 80aa514: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 60.0f / f; 80aa518: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80aa51c: eddf 6a93 vldr s13, [pc, #588] ; 80aa76c 80aa520: eec6 7a87 vdiv.f32 s15, s13, s14 80aa524: 4b92 ldr r3, [pc, #584] ; (80aa770 ) 80aa526: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80aa52a: 4b8d ldr r3, [pc, #564] ; (80aa760 ) 80aa52c: 2200 movs r2, #0 80aa52e: 701a strb r2, [r3, #0] 80aa530: e024 b.n 80aa57c } else { if(ZOOM_IN) 80aa532: 4b90 ldr r3, [pc, #576] ; (80aa774 ) 80aa534: 781b ldrb r3, [r3, #0] 80aa536: b2db uxtb r3, r3 80aa538: 2b00 cmp r3, #0 80aa53a: d00d beq.n 80aa558 { ZOOM_IN = false; 80aa53c: 4b8d ldr r3, [pc, #564] ; (80aa774 ) 80aa53e: 2200 movs r2, #0 80aa540: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80aa542: 4b8b ldr r3, [pc, #556] ; (80aa770 ) 80aa544: edd3 7a00 vldr s15, [r3] 80aa548: ed9f 7a8b vldr s14, [pc, #556] ; 80aa778 80aa54c: ee67 7a87 vmul.f32 s15, s15, s14 80aa550: 4b87 ldr r3, [pc, #540] ; (80aa770 ) 80aa552: edc3 7a00 vstr s15, [r3] 80aa556: e011 b.n 80aa57c } else if(ZOOM_OUT) 80aa558: 4b88 ldr r3, [pc, #544] ; (80aa77c ) 80aa55a: 781b ldrb r3, [r3, #0] 80aa55c: b2db uxtb r3, r3 80aa55e: 2b00 cmp r3, #0 80aa560: d00c beq.n 80aa57c { ZOOM_OUT = false; 80aa562: 4b86 ldr r3, [pc, #536] ; (80aa77c ) 80aa564: 2200 movs r2, #0 80aa566: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80aa568: 4b81 ldr r3, [pc, #516] ; (80aa770 ) 80aa56a: edd3 7a00 vldr s15, [r3] 80aa56e: ed9f 7a84 vldr s14, [pc, #528] ; 80aa780 80aa572: ee67 7a87 vmul.f32 s15, s15, s14 80aa576: 4b7e ldr r3, [pc, #504] ; (80aa770 ) 80aa578: edc3 7a00 vstr s15, [r3] } } step = PlayingState.FrameSize >> 8; 80aa57c: 4b79 ldr r3, [pc, #484] ; (80aa764 ) 80aa57e: 689b ldr r3, [r3, #8] 80aa580: 0a1b lsrs r3, r3, #8 80aa582: f8c7 3298 str.w r3, [r7, #664] ; 0x298 NumOverdrives = 0; 80aa586: 4b7f ldr r3, [pc, #508] ; (80aa784 ) 80aa588: 2200 movs r2, #0 80aa58a: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80aa58c: 497e ldr r1, [pc, #504] ; (80aa788 ) 80aa58e: 487f ldr r0, [pc, #508] ; (80aa78c ) 80aa590: f7aa fe3c bl 805520c for(i = 0; i < 256; i++) 80aa594: 2300 movs r3, #0 80aa596: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aa59a: e215 b.n 80aa9c8 { if(PlayingState.FrameSize == 256) 80aa59c: 4b71 ldr r3, [pc, #452] ; (80aa764 ) 80aa59e: 689b ldr r3, [r3, #8] 80aa5a0: f5b3 7f80 cmp.w r3, #256 ; 0x100 80aa5a4: f040 80fe bne.w 80aa7a4 { mF[MAXY] = ScrA_f32(i); 80aa5a8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa5ac: 009a lsls r2, r3, #2 80aa5ae: 4b6e ldr r3, [pc, #440] ; (80aa768 ) 80aa5b0: 4413 add r3, r2 80aa5b2: 681b ldr r3, [r3, #0] 80aa5b4: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(i > 0) 80aa5b8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa5bc: 2b00 cmp r3, #0 80aa5be: d004 beq.n 80aa5ca mF[MINY] = lastPointOSC[MAXY]; 80aa5c0: 4b73 ldr r3, [pc, #460] ; (80aa790 ) 80aa5c2: 685b ldr r3, [r3, #4] 80aa5c4: f8c7 3278 str.w r3, [r7, #632] ; 0x278 80aa5c8: e003 b.n 80aa5d2 else mF[MINY] = mF[MAXY]; 80aa5ca: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80aa5ce: f8c7 3278 str.w r3, [r7, #632] ; 0x278 lastPointOSC[MAXY] = mF[MAXY]; 80aa5d2: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80aa5d6: 4a6e ldr r2, [pc, #440] ; (80aa790 ) 80aa5d8: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80aa5da: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80aa5de: 4b64 ldr r3, [pc, #400] ; (80aa770 ) 80aa5e0: edd3 7a00 vldr s15, [r3] 80aa5e4: ee67 7a27 vmul.f32 s15, s14, s15 80aa5e8: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80aa5ec: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aa5f0: 4b5f ldr r3, [pc, #380] ; (80aa770 ) 80aa5f2: edd3 7a00 vldr s15, [r3] 80aa5f6: ee67 7a27 vmul.f32 s15, s14, s15 80aa5fa: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aa5fe: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa602: ed9f 7a64 vldr s14, [pc, #400] ; 80aa794 80aa606: eef4 7ac7 vcmpe.f32 s15, s14 80aa60a: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa60e: dd02 ble.n 80aa616 80aa610: 4b61 ldr r3, [pc, #388] ; (80aa798 ) 80aa612: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aa616: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa61a: ed9f 7a60 vldr s14, [pc, #384] ; 80aa79c 80aa61e: eef4 7ac7 vcmpe.f32 s15, s14 80aa622: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa626: d502 bpl.n 80aa62e 80aa628: 4b5d ldr r3, [pc, #372] ; (80aa7a0 ) 80aa62a: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80aa62e: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aa632: ed9f 7a58 vldr s14, [pc, #352] ; 80aa794 80aa636: eef4 7ac7 vcmpe.f32 s15, s14 80aa63a: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa63e: dd02 ble.n 80aa646 80aa640: 4b55 ldr r3, [pc, #340] ; (80aa798 ) 80aa642: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80aa646: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aa64a: ed9f 7a54 vldr s14, [pc, #336] ; 80aa79c 80aa64e: eef4 7ac7 vcmpe.f32 s15, s14 80aa652: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa656: d502 bpl.n 80aa65e 80aa658: 4b51 ldr r3, [pc, #324] ; (80aa7a0 ) 80aa65a: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80aa65e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa662: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa666: edc7 7a01 vstr s15, [r7, #4] 80aa66a: 88bb ldrh r3, [r7, #4] 80aa66c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80aa670: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aa674: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa678: edc7 7a01 vstr s15, [r7, #4] 80aa67c: 88bb ldrh r3, [r7, #4] 80aa67e: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 80) 80aa682: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80aa686: 2b50 cmp r3, #80 ; 0x50 80aa688: dd08 ble.n 80aa69c { pMin = 80; 80aa68a: 2350 movs r3, #80 ; 0x50 80aa68c: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80aa690: 4b3c ldr r3, [pc, #240] ; (80aa784 ) 80aa692: 781b ldrb r3, [r3, #0] 80aa694: 3301 adds r3, #1 80aa696: b2da uxtb r2, r3 80aa698: 4b3a ldr r3, [pc, #232] ; (80aa784 ) 80aa69a: 701a strb r2, [r3, #0] } if(pMin < -80) 80aa69c: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80aa6a0: f113 0f50 cmn.w r3, #80 ; 0x50 80aa6a4: da09 bge.n 80aa6ba { pMin = -80; 80aa6a6: f64f 73b0 movw r3, #65456 ; 0xffb0 80aa6aa: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80aa6ae: 4b35 ldr r3, [pc, #212] ; (80aa784 ) 80aa6b0: 781b ldrb r3, [r3, #0] 80aa6b2: 3301 adds r3, #1 80aa6b4: b2da uxtb r2, r3 80aa6b6: 4b33 ldr r3, [pc, #204] ; (80aa784 ) 80aa6b8: 701a strb r2, [r3, #0] } if(pMax > 80) 80aa6ba: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aa6be: 2b50 cmp r3, #80 ; 0x50 80aa6c0: dd08 ble.n 80aa6d4 { pMax = 80; 80aa6c2: 2350 movs r3, #80 ; 0x50 80aa6c4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aa6c8: 4b2e ldr r3, [pc, #184] ; (80aa784 ) 80aa6ca: 781b ldrb r3, [r3, #0] 80aa6cc: 3301 adds r3, #1 80aa6ce: b2da uxtb r2, r3 80aa6d0: 4b2c ldr r3, [pc, #176] ; (80aa784 ) 80aa6d2: 701a strb r2, [r3, #0] } if(pMax < -80) 80aa6d4: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aa6d8: f113 0f50 cmn.w r3, #80 ; 0x50 80aa6dc: da09 bge.n 80aa6f2 { pMax = -80; 80aa6de: f64f 73b0 movw r3, #65456 ; 0xffb0 80aa6e2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aa6e6: 4b27 ldr r3, [pc, #156] ; (80aa784 ) 80aa6e8: 781b ldrb r3, [r3, #0] 80aa6ea: 3301 adds r3, #1 80aa6ec: b2da uxtb r2, r3 80aa6ee: 4b25 ldr r3, [pc, #148] ; (80aa784 ) 80aa6f0: 701a strb r2, [r3, #0] } x = 62 + i; 80aa6f2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa6f6: 333e adds r3, #62 ; 0x3e 80aa6f8: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == 0) 80aa6fc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa700: 2b00 cmp r3, #0 80aa702: d112 bne.n 80aa72a BSP_LCD_DrawLine(x, 141 - pMin, x, 141 - pMax); 80aa704: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa708: b298 uxth r0, r3 80aa70a: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aa70e: f1c3 038d rsb r3, r3, #141 ; 0x8d 80aa712: b299 uxth r1, r3 80aa714: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa718: b29a uxth r2, r3 80aa71a: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa71e: f1c3 038d rsb r3, r3, #141 ; 0x8d 80aa722: b29b uxth r3, r3 80aa724: f7aa ffac bl 8055680 80aa728: e135 b.n 80aa996 else BSP_LCD_DrawLine(x - 1, 141 - pMin, x, 141 - pMax); 80aa72a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa72e: b29b uxth r3, r3 80aa730: 3b01 subs r3, #1 80aa732: b298 uxth r0, r3 80aa734: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aa738: f1c3 038d rsb r3, r3, #141 ; 0x8d 80aa73c: b299 uxth r1, r3 80aa73e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa742: b29a uxth r2, r3 80aa744: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa748: f1c3 038d rsb r3, r3, #141 ; 0x8d 80aa74c: b29b uxth r3, r3 80aa74e: f7aa ff97 bl 8055680 80aa752: e120 b.n 80aa996 80aa754: 20020fc5 .word 0x20020fc5 80aa758: 20020dd2 .word 0x20020dd2 80aa75c: 20020030 .word 0x20020030 80aa760: 20020994 .word 0x20020994 80aa764: 20022928 .word 0x20022928 80aa768: 64080000 .word 0x64080000 80aa76c: 42700000 .word 0x42700000 80aa770: 20020998 .word 0x20020998 80aa774: 20020fb5 .word 0x20020fb5 80aa778: 40000005 .word 0x40000005 80aa77c: 20020fb4 .word 0x20020fb4 80aa780: 3f000012 .word 0x3f000012 80aa784: 2002169e .word 0x2002169e 80aa788: ff0a0f1f .word 0xff0a0f1f 80aa78c: ff26a01f .word 0xff26a01f 80aa790: 200216a0 .word 0x200216a0 80aa794: 46fffe00 .word 0x46fffe00 80aa798: 46fffe00 .word 0x46fffe00 80aa79c: c6fffe00 .word 0xc6fffe00 80aa7a0: c6fffe00 .word 0xc6fffe00 } else { arm_max_f32(&ScrA_f32(i * step), step, &mF[MAXY], &idx); 80aa7a4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa7a8: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80aa7ac: fb02 f303 mul.w r3, r2, r3 80aa7b0: 009a lsls r2, r3, #2 80aa7b2: 4bcb ldr r3, [pc, #812] ; (80aaae0 ) 80aa7b4: 4413 add r3, r2 80aa7b6: 4618 mov r0, r3 80aa7b8: f507 711a add.w r1, r7, #616 ; 0x268 80aa7bc: f507 731e add.w r3, r7, #632 ; 0x278 80aa7c0: 1d1a adds r2, r3, #4 80aa7c2: 460b mov r3, r1 80aa7c4: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80aa7c8: f024 fc24 bl 80cf014 arm_min_f32(&ScrA_f32(i * step), step, &mF[MINY], &idx); 80aa7cc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa7d0: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80aa7d4: fb02 f303 mul.w r3, r2, r3 80aa7d8: 009a lsls r2, r3, #2 80aa7da: 4bc1 ldr r3, [pc, #772] ; (80aaae0 ) 80aa7dc: 4413 add r3, r2 80aa7de: 4618 mov r0, r3 80aa7e0: f507 731a add.w r3, r7, #616 ; 0x268 80aa7e4: f507 721e add.w r2, r7, #632 ; 0x278 80aa7e8: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80aa7ec: f024 fb76 bl 80ceedc if(i > 0) 80aa7f0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa7f4: 2b00 cmp r3, #0 80aa7f6: d01b beq.n 80aa830 { if(mF[MINY] > lastPointOSC[MAXY]) 80aa7f8: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80aa7fc: 4bb9 ldr r3, [pc, #740] ; (80aaae4 ) 80aa7fe: edd3 7a01 vldr s15, [r3, #4] 80aa802: eeb4 7ae7 vcmpe.f32 s14, s15 80aa806: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa80a: dd03 ble.n 80aa814 mF[MINY] = lastPointOSC[MAXY]; 80aa80c: 4bb5 ldr r3, [pc, #724] ; (80aaae4 ) 80aa80e: 685b ldr r3, [r3, #4] 80aa810: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MAXY] < lastPointOSC[MINY]) 80aa814: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aa818: 4bb2 ldr r3, [pc, #712] ; (80aaae4 ) 80aa81a: edd3 7a00 vldr s15, [r3] 80aa81e: eeb4 7ae7 vcmpe.f32 s14, s15 80aa822: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa826: d503 bpl.n 80aa830 mF[MAXY] = lastPointOSC[MINY]; 80aa828: 4bae ldr r3, [pc, #696] ; (80aaae4 ) 80aa82a: 681b ldr r3, [r3, #0] 80aa82c: f8c7 327c str.w r3, [r7, #636] ; 0x27c } ft[0] = mF[MINY]; ft[1] = mF[MAXY]; 80aa830: f8d7 3278 ldr.w r3, [r7, #632] ; 0x278 80aa834: f8c7 3280 str.w r3, [r7, #640] ; 0x280 80aa838: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80aa83c: f8c7 3284 str.w r3, [r7, #644] ; 0x284 lastPointOSC[MINY] = ft[0]; lastPointOSC[MAXY] = ft[1]; 80aa840: f8d7 3280 ldr.w r3, [r7, #640] ; 0x280 80aa844: 4aa7 ldr r2, [pc, #668] ; (80aaae4 ) 80aa846: 6013 str r3, [r2, #0] 80aa848: f8d7 3284 ldr.w r3, [r7, #644] ; 0x284 80aa84c: 4aa5 ldr r2, [pc, #660] ; (80aaae4 ) 80aa84e: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80aa850: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80aa854: 4ba4 ldr r3, [pc, #656] ; (80aaae8 ) 80aa856: edd3 7a00 vldr s15, [r3] 80aa85a: ee67 7a27 vmul.f32 s15, s14, s15 80aa85e: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80aa862: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aa866: 4ba0 ldr r3, [pc, #640] ; (80aaae8 ) 80aa868: edd3 7a00 vldr s15, [r3] 80aa86c: ee67 7a27 vmul.f32 s15, s14, s15 80aa870: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aa874: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa878: ed9f 7a9c vldr s14, [pc, #624] ; 80aaaec 80aa87c: eef4 7ac7 vcmpe.f32 s15, s14 80aa880: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa884: dd02 ble.n 80aa88c 80aa886: 4b9a ldr r3, [pc, #616] ; (80aaaf0 ) 80aa888: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aa88c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa890: ed9f 7a98 vldr s14, [pc, #608] ; 80aaaf4 80aa894: eef4 7ac7 vcmpe.f32 s15, s14 80aa898: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa89c: d502 bpl.n 80aa8a4 80aa89e: 4b96 ldr r3, [pc, #600] ; (80aaaf8 ) 80aa8a0: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80aa8a4: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aa8a8: ed9f 7a90 vldr s14, [pc, #576] ; 80aaaec 80aa8ac: eef4 7ac7 vcmpe.f32 s15, s14 80aa8b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa8b4: dd02 ble.n 80aa8bc 80aa8b6: 4b8e ldr r3, [pc, #568] ; (80aaaf0 ) 80aa8b8: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80aa8bc: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aa8c0: ed9f 7a8c vldr s14, [pc, #560] ; 80aaaf4 80aa8c4: eef4 7ac7 vcmpe.f32 s15, s14 80aa8c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa8cc: d502 bpl.n 80aa8d4 80aa8ce: 4b8a ldr r3, [pc, #552] ; (80aaaf8 ) 80aa8d0: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80aa8d4: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa8d8: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa8dc: edc7 7a01 vstr s15, [r7, #4] 80aa8e0: 88bb ldrh r3, [r7, #4] 80aa8e2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80aa8e6: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aa8ea: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa8ee: edc7 7a01 vstr s15, [r7, #4] 80aa8f2: 88bb ldrh r3, [r7, #4] 80aa8f4: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 80) 80aa8f8: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80aa8fc: 2b50 cmp r3, #80 ; 0x50 80aa8fe: dd08 ble.n 80aa912 { pMin = 80; 80aa900: 2350 movs r3, #80 ; 0x50 80aa902: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80aa906: 4b7d ldr r3, [pc, #500] ; (80aaafc ) 80aa908: 781b ldrb r3, [r3, #0] 80aa90a: 3301 adds r3, #1 80aa90c: b2da uxtb r2, r3 80aa90e: 4b7b ldr r3, [pc, #492] ; (80aaafc ) 80aa910: 701a strb r2, [r3, #0] } if(pMin < -80) 80aa912: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80aa916: f113 0f50 cmn.w r3, #80 ; 0x50 80aa91a: da09 bge.n 80aa930 { pMin = -80; 80aa91c: f64f 73b0 movw r3, #65456 ; 0xffb0 80aa920: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80aa924: 4b75 ldr r3, [pc, #468] ; (80aaafc ) 80aa926: 781b ldrb r3, [r3, #0] 80aa928: 3301 adds r3, #1 80aa92a: b2da uxtb r2, r3 80aa92c: 4b73 ldr r3, [pc, #460] ; (80aaafc ) 80aa92e: 701a strb r2, [r3, #0] } if(pMax > 80) 80aa930: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aa934: 2b50 cmp r3, #80 ; 0x50 80aa936: dd08 ble.n 80aa94a { pMax = 80; 80aa938: 2350 movs r3, #80 ; 0x50 80aa93a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aa93e: 4b6f ldr r3, [pc, #444] ; (80aaafc ) 80aa940: 781b ldrb r3, [r3, #0] 80aa942: 3301 adds r3, #1 80aa944: b2da uxtb r2, r3 80aa946: 4b6d ldr r3, [pc, #436] ; (80aaafc ) 80aa948: 701a strb r2, [r3, #0] } if(pMax < -80) 80aa94a: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aa94e: f113 0f50 cmn.w r3, #80 ; 0x50 80aa952: da09 bge.n 80aa968 { pMax = -80; 80aa954: f64f 73b0 movw r3, #65456 ; 0xffb0 80aa958: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aa95c: 4b67 ldr r3, [pc, #412] ; (80aaafc ) 80aa95e: 781b ldrb r3, [r3, #0] 80aa960: 3301 adds r3, #1 80aa962: b2da uxtb r2, r3 80aa964: 4b65 ldr r3, [pc, #404] ; (80aaafc ) 80aa966: 701a strb r2, [r3, #0] } x = 62 + i; 80aa968: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa96c: 333e adds r3, #62 ; 0x3e 80aa96e: f8c7 3294 str.w r3, [r7, #660] ; 0x294 BSP_LCD_DrawLine(x, 141 - pMin, x, 141 - pMax); 80aa972: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa976: b298 uxth r0, r3 80aa978: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aa97c: f1c3 038d rsb r3, r3, #141 ; 0x8d 80aa980: b299 uxth r1, r3 80aa982: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa986: b29a uxth r2, r3 80aa988: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa98c: f1c3 038d rsb r3, r3, #141 ; 0x8d 80aa990: b29b uxth r3, r3 80aa992: f7aa fe75 bl 8055680 } if(pMax > Maximum) Maximum = pMax; 80aa996: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80aa99a: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aa99e: 429a cmp r2, r3 80aa9a0: dd03 ble.n 80aa9aa 80aa9a2: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa9a6: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(pMin < Minimum) Minimum = pMin; 80aa9aa: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80aa9ae: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80aa9b2: 429a cmp r2, r3 80aa9b4: da03 bge.n 80aa9be 80aa9b6: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aa9ba: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 for(i = 0; i < 256; i++) 80aa9be: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa9c2: 3301 adds r3, #1 80aa9c4: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aa9c8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa9cc: 2bff cmp r3, #255 ; 0xff 80aa9ce: f67f ade5 bls.w 80aa59c } Maximum = ABS(Maximum); 80aa9d2: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aa9d6: 2b00 cmp r3, #0 80aa9d8: bfb8 it lt 80aa9da: 425b neglt r3, r3 80aa9dc: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 Minimum = ABS(Minimum); 80aa9e0: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80aa9e4: 2b00 cmp r3, #0 80aa9e6: bfb8 it lt 80aa9e8: 425b neglt r3, r3 80aa9ea: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 if(Minimum > Maximum) { 80aa9ee: f9b7 22b0 ldrsh.w r2, [r7, #688] ; 0x2b0 80aa9f2: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aa9f6: 429a cmp r2, r3 80aa9f8: f345 83d4 ble.w 80b01a4 Maximum = Minimum; 80aa9fc: f8b7 32b0 ldrh.w r3, [r7, #688] ; 0x2b0 80aaa00: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } } } } } } 80aaa04: f005 bbce b.w 80b01a4 if(NUM_CHANNELS == 2) 80aaa08: 4b3d ldr r3, [pc, #244] ; (80aab00 ) 80aaa0a: 681b ldr r3, [r3, #0] 80aaa0c: 2b02 cmp r3, #2 80aaa0e: f045 83c9 bne.w 80b01a4 if(AUTOZOOM) 80aaa12: 4b3c ldr r3, [pc, #240] ; (80aab04 ) 80aaa14: 781b ldrb r3, [r3, #0] 80aaa16: b2db uxtb r3, r3 80aaa18: 2b00 cmp r3, #0 80aaa1a: d077 beq.n 80aab0c arm_max_f32(&ScrA_f32(0), PlayingState.FrameSize, &max, &idx); 80aaa1c: 4b3a ldr r3, [pc, #232] ; (80aab08 ) 80aaa1e: 6899 ldr r1, [r3, #8] 80aaa20: f507 731a add.w r3, r7, #616 ; 0x268 80aaa24: f507 721d add.w r2, r7, #628 ; 0x274 80aaa28: 482d ldr r0, [pc, #180] ; (80aaae0 ) 80aaa2a: f024 faf3 bl 80cf014 arm_min_f32(&ScrA_f32(0), PlayingState.FrameSize, &min, &idx); 80aaa2e: 4b36 ldr r3, [pc, #216] ; (80aab08 ) 80aaa30: 6899 ldr r1, [r3, #8] 80aaa32: f507 731a add.w r3, r7, #616 ; 0x268 80aaa36: f507 721c add.w r2, r7, #624 ; 0x270 80aaa3a: 4829 ldr r0, [pc, #164] ; (80aaae0 ) 80aaa3c: f024 fa4e bl 80ceedc if(ABS(max) > ABS(min)) 80aaa40: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aaa44: eef5 7ac0 vcmpe.f32 s15, #0.0 80aaa48: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaa4c: dd02 ble.n 80aaa54 80aaa4e: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80aaa52: e003 b.n 80aaa5c 80aaa54: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aaa58: eeb1 7a67 vneg.f32 s14, s15 80aaa5c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aaa60: eef5 7ac0 vcmpe.f32 s15, #0.0 80aaa64: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaa68: dd02 ble.n 80aaa70 80aaa6a: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aaa6e: e003 b.n 80aaa78 80aaa70: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aaa74: eef1 7a67 vneg.f32 s15, s15 80aaa78: eeb4 7ae7 vcmpe.f32 s14, s15 80aaa7c: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaa80: dd10 ble.n 80aaaa4 f = ABS(max); 80aaa82: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aaa86: eef5 7ac0 vcmpe.f32 s15, #0.0 80aaa8a: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaa8e: dd02 ble.n 80aaa96 80aaa90: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aaa94: e003 b.n 80aaa9e 80aaa96: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aaa9a: eef1 7a67 vneg.f32 s15, s15 80aaa9e: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80aaaa2: e00f b.n 80aaac4 else f = ABS(min); 80aaaa4: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aaaa8: eef5 7ac0 vcmpe.f32 s15, #0.0 80aaaac: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaab0: dd02 ble.n 80aaab8 80aaab2: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aaab6: e003 b.n 80aaac0 80aaab8: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aaabc: eef1 7a67 vneg.f32 s15, s15 80aaac0: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 30.0f / f; 80aaac4: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80aaac8: eef3 6a0e vmov.f32 s13, #62 ; 0x41f00000 30.0 80aaacc: eec6 7a87 vdiv.f32 s15, s13, s14 80aaad0: 4b05 ldr r3, [pc, #20] ; (80aaae8 ) 80aaad2: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80aaad6: 4b0b ldr r3, [pc, #44] ; (80aab04 ) 80aaad8: 2200 movs r2, #0 80aaada: 701a strb r2, [r3, #0] 80aaadc: e03b b.n 80aab56 80aaade: bf00 nop 80aaae0: 64080000 .word 0x64080000 80aaae4: 200216a0 .word 0x200216a0 80aaae8: 20020998 .word 0x20020998 80aaaec: 46fffe00 .word 0x46fffe00 80aaaf0: 46fffe00 .word 0x46fffe00 80aaaf4: c6fffe00 .word 0xc6fffe00 80aaaf8: c6fffe00 .word 0xc6fffe00 80aaafc: 2002169e .word 0x2002169e 80aab00: 20020030 .word 0x20020030 80aab04: 20020994 .word 0x20020994 80aab08: 20022928 .word 0x20022928 if(ZOOM_IN) 80aab0c: 4b88 ldr r3, [pc, #544] ; (80aad30 ) 80aab0e: 781b ldrb r3, [r3, #0] 80aab10: b2db uxtb r3, r3 80aab12: 2b00 cmp r3, #0 80aab14: d00d beq.n 80aab32 ZOOM_IN = false; 80aab16: 4b86 ldr r3, [pc, #536] ; (80aad30 ) 80aab18: 2200 movs r2, #0 80aab1a: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80aab1c: 4b85 ldr r3, [pc, #532] ; (80aad34 ) 80aab1e: edd3 7a00 vldr s15, [r3] 80aab22: ed9f 7a85 vldr s14, [pc, #532] ; 80aad38 80aab26: ee67 7a87 vmul.f32 s15, s15, s14 80aab2a: 4b82 ldr r3, [pc, #520] ; (80aad34 ) 80aab2c: edc3 7a00 vstr s15, [r3] 80aab30: e011 b.n 80aab56 if(ZOOM_OUT) 80aab32: 4b82 ldr r3, [pc, #520] ; (80aad3c ) 80aab34: 781b ldrb r3, [r3, #0] 80aab36: b2db uxtb r3, r3 80aab38: 2b00 cmp r3, #0 80aab3a: d00c beq.n 80aab56 ZOOM_OUT = false; 80aab3c: 4b7f ldr r3, [pc, #508] ; (80aad3c ) 80aab3e: 2200 movs r2, #0 80aab40: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80aab42: 4b7c ldr r3, [pc, #496] ; (80aad34 ) 80aab44: edd3 7a00 vldr s15, [r3] 80aab48: ed9f 7a7d vldr s14, [pc, #500] ; 80aad40 80aab4c: ee67 7a87 vmul.f32 s15, s15, s14 80aab50: 4b78 ldr r3, [pc, #480] ; (80aad34 ) 80aab52: edc3 7a00 vstr s15, [r3] step = PlayingState.FrameSize >> 8; 80aab56: 4b7b ldr r3, [pc, #492] ; (80aad44 ) 80aab58: 689b ldr r3, [r3, #8] 80aab5a: 0a1b lsrs r3, r3, #8 80aab5c: f8c7 3298 str.w r3, [r7, #664] ; 0x298 NumOverdrives = 0; 80aab60: 4b79 ldr r3, [pc, #484] ; (80aad48 ) 80aab62: 2200 movs r2, #0 80aab64: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80aab66: 4979 ldr r1, [pc, #484] ; (80aad4c ) 80aab68: 4879 ldr r0, [pc, #484] ; (80aad50 ) 80aab6a: f7aa fb4f bl 805520c for(i = 0; i < 256; i++) 80aab6e: 2300 movs r3, #0 80aab70: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aab74: e20c b.n 80aaf90 if(PlayingState.FrameSize == 256) 80aab76: 4b73 ldr r3, [pc, #460] ; (80aad44 ) 80aab78: 689b ldr r3, [r3, #8] 80aab7a: f5b3 7f80 cmp.w r3, #256 ; 0x100 80aab7e: f040 80f5 bne.w 80aad6c mF[MAXY] = ScrA_f32(i); 80aab82: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aab86: 009a lsls r2, r3, #2 80aab88: 4b72 ldr r3, [pc, #456] ; (80aad54 ) 80aab8a: 4413 add r3, r2 80aab8c: 681b ldr r3, [r3, #0] 80aab8e: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(i > 0) 80aab92: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aab96: 2b00 cmp r3, #0 80aab98: d004 beq.n 80aaba4 mF[MINY] = lastPointOSC[MAXY]; 80aab9a: 4b6f ldr r3, [pc, #444] ; (80aad58 ) 80aab9c: 685b ldr r3, [r3, #4] 80aab9e: f8c7 3278 str.w r3, [r7, #632] ; 0x278 80aaba2: e003 b.n 80aabac else mF[MINY] = mF[MAXY]; 80aaba4: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80aaba8: f8c7 3278 str.w r3, [r7, #632] ; 0x278 lastPointOSC[MAXY] = mF[MAXY]; 80aabac: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80aabb0: 4a69 ldr r2, [pc, #420] ; (80aad58 ) 80aabb2: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80aabb4: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80aabb8: 4b5e ldr r3, [pc, #376] ; (80aad34 ) 80aabba: edd3 7a00 vldr s15, [r3] 80aabbe: ee67 7a27 vmul.f32 s15, s14, s15 80aabc2: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80aabc6: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aabca: 4b5a ldr r3, [pc, #360] ; (80aad34 ) 80aabcc: edd3 7a00 vldr s15, [r3] 80aabd0: ee67 7a27 vmul.f32 s15, s14, s15 80aabd4: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aabd8: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aabdc: ed9f 7a5f vldr s14, [pc, #380] ; 80aad5c 80aabe0: eef4 7ac7 vcmpe.f32 s15, s14 80aabe4: eef1 fa10 vmrs APSR_nzcv, fpscr 80aabe8: dd02 ble.n 80aabf0 80aabea: 4b5d ldr r3, [pc, #372] ; (80aad60 ) 80aabec: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aabf0: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aabf4: ed9f 7a5b vldr s14, [pc, #364] ; 80aad64 80aabf8: eef4 7ac7 vcmpe.f32 s15, s14 80aabfc: eef1 fa10 vmrs APSR_nzcv, fpscr 80aac00: d502 bpl.n 80aac08 80aac02: 4b59 ldr r3, [pc, #356] ; (80aad68 ) 80aac04: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80aac08: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aac0c: ed9f 7a53 vldr s14, [pc, #332] ; 80aad5c 80aac10: eef4 7ac7 vcmpe.f32 s15, s14 80aac14: eef1 fa10 vmrs APSR_nzcv, fpscr 80aac18: dd02 ble.n 80aac20 80aac1a: 4b51 ldr r3, [pc, #324] ; (80aad60 ) 80aac1c: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80aac20: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aac24: ed9f 7a4f vldr s14, [pc, #316] ; 80aad64 80aac28: eef4 7ac7 vcmpe.f32 s15, s14 80aac2c: eef1 fa10 vmrs APSR_nzcv, fpscr 80aac30: d502 bpl.n 80aac38 80aac32: 4b4d ldr r3, [pc, #308] ; (80aad68 ) 80aac34: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80aac38: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aac3c: eefd 7ae7 vcvt.s32.f32 s15, s15 80aac40: edc7 7a01 vstr s15, [r7, #4] 80aac44: 88bb ldrh r3, [r7, #4] 80aac46: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80aac4a: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aac4e: eefd 7ae7 vcvt.s32.f32 s15, s15 80aac52: edc7 7a01 vstr s15, [r7, #4] 80aac56: 88bb ldrh r3, [r7, #4] 80aac58: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 40) 80aac5c: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80aac60: 2b28 cmp r3, #40 ; 0x28 80aac62: dd08 ble.n 80aac76 pMin = 40; 80aac64: 2328 movs r3, #40 ; 0x28 80aac66: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80aac6a: 4b37 ldr r3, [pc, #220] ; (80aad48 ) 80aac6c: 781b ldrb r3, [r3, #0] 80aac6e: 3301 adds r3, #1 80aac70: b2da uxtb r2, r3 80aac72: 4b35 ldr r3, [pc, #212] ; (80aad48 ) 80aac74: 701a strb r2, [r3, #0] if(pMin < -40) 80aac76: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80aac7a: f113 0f28 cmn.w r3, #40 ; 0x28 80aac7e: da09 bge.n 80aac94 pMin = -40; 80aac80: f64f 73d8 movw r3, #65496 ; 0xffd8 80aac84: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80aac88: 4b2f ldr r3, [pc, #188] ; (80aad48 ) 80aac8a: 781b ldrb r3, [r3, #0] 80aac8c: 3301 adds r3, #1 80aac8e: b2da uxtb r2, r3 80aac90: 4b2d ldr r3, [pc, #180] ; (80aad48 ) 80aac92: 701a strb r2, [r3, #0] if(pMax > 40) 80aac94: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aac98: 2b28 cmp r3, #40 ; 0x28 80aac9a: dd08 ble.n 80aacae pMax = 40; 80aac9c: 2328 movs r3, #40 ; 0x28 80aac9e: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aaca2: 4b29 ldr r3, [pc, #164] ; (80aad48 ) 80aaca4: 781b ldrb r3, [r3, #0] 80aaca6: 3301 adds r3, #1 80aaca8: b2da uxtb r2, r3 80aacaa: 4b27 ldr r3, [pc, #156] ; (80aad48 ) 80aacac: 701a strb r2, [r3, #0] if(pMax < -40) 80aacae: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aacb2: f113 0f28 cmn.w r3, #40 ; 0x28 80aacb6: da09 bge.n 80aaccc pMax = -40; 80aacb8: f64f 73d8 movw r3, #65496 ; 0xffd8 80aacbc: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aacc0: 4b21 ldr r3, [pc, #132] ; (80aad48 ) 80aacc2: 781b ldrb r3, [r3, #0] 80aacc4: 3301 adds r3, #1 80aacc6: b2da uxtb r2, r3 80aacc8: 4b1f ldr r3, [pc, #124] ; (80aad48 ) 80aacca: 701a strb r2, [r3, #0] x = 62 + i; 80aaccc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aacd0: 333e adds r3, #62 ; 0x3e 80aacd2: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == 0) 80aacd6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aacda: 2b00 cmp r3, #0 80aacdc: d112 bne.n 80aad04 BSP_LCD_DrawLine(x, 181 - pMin, x, 181 - pMax); 80aacde: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aace2: b298 uxth r0, r3 80aace4: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aace8: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80aacec: b299 uxth r1, r3 80aacee: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aacf2: b29a uxth r2, r3 80aacf4: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aacf8: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80aacfc: b29b uxth r3, r3 80aacfe: f7aa fcbf bl 8055680 80aad02: e12c b.n 80aaf5e else BSP_LCD_DrawLine(x - 1, 181 - pMin, x, 181 - pMax); 80aad04: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aad08: b29b uxth r3, r3 80aad0a: 3b01 subs r3, #1 80aad0c: b298 uxth r0, r3 80aad0e: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aad12: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80aad16: b299 uxth r1, r3 80aad18: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aad1c: b29a uxth r2, r3 80aad1e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aad22: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80aad26: b29b uxth r3, r3 80aad28: f7aa fcaa bl 8055680 80aad2c: e117 b.n 80aaf5e 80aad2e: bf00 nop 80aad30: 20020fb5 .word 0x20020fb5 80aad34: 20020998 .word 0x20020998 80aad38: 40000005 .word 0x40000005 80aad3c: 20020fb4 .word 0x20020fb4 80aad40: 3f000012 .word 0x3f000012 80aad44: 20022928 .word 0x20022928 80aad48: 2002169e .word 0x2002169e 80aad4c: ff0a0f1f .word 0xff0a0f1f 80aad50: ff26a01f .word 0xff26a01f 80aad54: 64080000 .word 0x64080000 80aad58: 200216a0 .word 0x200216a0 80aad5c: 46fffe00 .word 0x46fffe00 80aad60: 46fffe00 .word 0x46fffe00 80aad64: c6fffe00 .word 0xc6fffe00 80aad68: c6fffe00 .word 0xc6fffe00 arm_max_f32(&ScrA_f32(i * step), step, &mF[MAXY], &idx); 80aad6c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aad70: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80aad74: fb02 f303 mul.w r3, r2, r3 80aad78: 009a lsls r2, r3, #2 80aad7a: 4ba5 ldr r3, [pc, #660] ; (80ab010 ) 80aad7c: 4413 add r3, r2 80aad7e: 4618 mov r0, r3 80aad80: f507 711a add.w r1, r7, #616 ; 0x268 80aad84: f507 731e add.w r3, r7, #632 ; 0x278 80aad88: 1d1a adds r2, r3, #4 80aad8a: 460b mov r3, r1 80aad8c: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80aad90: f024 f940 bl 80cf014 arm_min_f32(&ScrA_f32(i * step), step, &mF[MINY], &idx); 80aad94: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aad98: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80aad9c: fb02 f303 mul.w r3, r2, r3 80aada0: 009a lsls r2, r3, #2 80aada2: 4b9b ldr r3, [pc, #620] ; (80ab010 ) 80aada4: 4413 add r3, r2 80aada6: 4618 mov r0, r3 80aada8: f507 731a add.w r3, r7, #616 ; 0x268 80aadac: f507 721e add.w r2, r7, #632 ; 0x278 80aadb0: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80aadb4: f024 f892 bl 80ceedc if(i > 0) 80aadb8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aadbc: 2b00 cmp r3, #0 80aadbe: d01b beq.n 80aadf8 if(mF[MINY] > lastPointOSC[MAXY]) 80aadc0: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80aadc4: 4b93 ldr r3, [pc, #588] ; (80ab014 ) 80aadc6: edd3 7a01 vldr s15, [r3, #4] 80aadca: eeb4 7ae7 vcmpe.f32 s14, s15 80aadce: eef1 fa10 vmrs APSR_nzcv, fpscr 80aadd2: dd03 ble.n 80aaddc mF[MINY] = lastPointOSC[MAXY]; 80aadd4: 4b8f ldr r3, [pc, #572] ; (80ab014 ) 80aadd6: 685b ldr r3, [r3, #4] 80aadd8: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MAXY] < lastPointOSC[MINY]) 80aaddc: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aade0: 4b8c ldr r3, [pc, #560] ; (80ab014 ) 80aade2: edd3 7a00 vldr s15, [r3] 80aade6: eeb4 7ae7 vcmpe.f32 s14, s15 80aadea: eef1 fa10 vmrs APSR_nzcv, fpscr 80aadee: d503 bpl.n 80aadf8 mF[MAXY] = lastPointOSC[MINY]; 80aadf0: 4b88 ldr r3, [pc, #544] ; (80ab014 ) 80aadf2: 681b ldr r3, [r3, #0] 80aadf4: f8c7 327c str.w r3, [r7, #636] ; 0x27c ft[0] = mF[MINY]; ft[1] = mF[MAXY]; 80aadf8: f8d7 3278 ldr.w r3, [r7, #632] ; 0x278 80aadfc: f8c7 3280 str.w r3, [r7, #640] ; 0x280 80aae00: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80aae04: f8c7 3284 str.w r3, [r7, #644] ; 0x284 lastPointOSC[MINY] = ft[0]; lastPointOSC[MAXY] = ft[1]; 80aae08: f8d7 3280 ldr.w r3, [r7, #640] ; 0x280 80aae0c: 4a81 ldr r2, [pc, #516] ; (80ab014 ) 80aae0e: 6013 str r3, [r2, #0] 80aae10: f8d7 3284 ldr.w r3, [r7, #644] ; 0x284 80aae14: 4a7f ldr r2, [pc, #508] ; (80ab014 ) 80aae16: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80aae18: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80aae1c: 4b7e ldr r3, [pc, #504] ; (80ab018 ) 80aae1e: edd3 7a00 vldr s15, [r3] 80aae22: ee67 7a27 vmul.f32 s15, s14, s15 80aae26: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80aae2a: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aae2e: 4b7a ldr r3, [pc, #488] ; (80ab018 ) 80aae30: edd3 7a00 vldr s15, [r3] 80aae34: ee67 7a27 vmul.f32 s15, s14, s15 80aae38: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aae3c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aae40: ed9f 7a76 vldr s14, [pc, #472] ; 80ab01c 80aae44: eef4 7ac7 vcmpe.f32 s15, s14 80aae48: eef1 fa10 vmrs APSR_nzcv, fpscr 80aae4c: dd02 ble.n 80aae54 80aae4e: 4b74 ldr r3, [pc, #464] ; (80ab020 ) 80aae50: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aae54: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aae58: ed9f 7a72 vldr s14, [pc, #456] ; 80ab024 80aae5c: eef4 7ac7 vcmpe.f32 s15, s14 80aae60: eef1 fa10 vmrs APSR_nzcv, fpscr 80aae64: d502 bpl.n 80aae6c 80aae66: 4b70 ldr r3, [pc, #448] ; (80ab028 ) 80aae68: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80aae6c: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aae70: ed9f 7a6a vldr s14, [pc, #424] ; 80ab01c 80aae74: eef4 7ac7 vcmpe.f32 s15, s14 80aae78: eef1 fa10 vmrs APSR_nzcv, fpscr 80aae7c: dd02 ble.n 80aae84 80aae7e: 4b68 ldr r3, [pc, #416] ; (80ab020 ) 80aae80: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80aae84: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aae88: ed9f 7a66 vldr s14, [pc, #408] ; 80ab024 80aae8c: eef4 7ac7 vcmpe.f32 s15, s14 80aae90: eef1 fa10 vmrs APSR_nzcv, fpscr 80aae94: d502 bpl.n 80aae9c 80aae96: 4b64 ldr r3, [pc, #400] ; (80ab028 ) 80aae98: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80aae9c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aaea0: eefd 7ae7 vcvt.s32.f32 s15, s15 80aaea4: edc7 7a01 vstr s15, [r7, #4] 80aaea8: 88bb ldrh r3, [r7, #4] 80aaeaa: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80aaeae: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aaeb2: eefd 7ae7 vcvt.s32.f32 s15, s15 80aaeb6: edc7 7a01 vstr s15, [r7, #4] 80aaeba: 88bb ldrh r3, [r7, #4] 80aaebc: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 40) 80aaec0: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80aaec4: 2b28 cmp r3, #40 ; 0x28 80aaec6: dd08 ble.n 80aaeda pMin = 40; 80aaec8: 2328 movs r3, #40 ; 0x28 80aaeca: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80aaece: 4b57 ldr r3, [pc, #348] ; (80ab02c ) 80aaed0: 781b ldrb r3, [r3, #0] 80aaed2: 3301 adds r3, #1 80aaed4: b2da uxtb r2, r3 80aaed6: 4b55 ldr r3, [pc, #340] ; (80ab02c ) 80aaed8: 701a strb r2, [r3, #0] if(pMin < -40) 80aaeda: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80aaede: f113 0f28 cmn.w r3, #40 ; 0x28 80aaee2: da09 bge.n 80aaef8 pMin = -40; 80aaee4: f64f 73d8 movw r3, #65496 ; 0xffd8 80aaee8: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80aaeec: 4b4f ldr r3, [pc, #316] ; (80ab02c ) 80aaeee: 781b ldrb r3, [r3, #0] 80aaef0: 3301 adds r3, #1 80aaef2: b2da uxtb r2, r3 80aaef4: 4b4d ldr r3, [pc, #308] ; (80ab02c ) 80aaef6: 701a strb r2, [r3, #0] if(pMax > 40) 80aaef8: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aaefc: 2b28 cmp r3, #40 ; 0x28 80aaefe: dd08 ble.n 80aaf12 pMax = 40; 80aaf00: 2328 movs r3, #40 ; 0x28 80aaf02: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aaf06: 4b49 ldr r3, [pc, #292] ; (80ab02c ) 80aaf08: 781b ldrb r3, [r3, #0] 80aaf0a: 3301 adds r3, #1 80aaf0c: b2da uxtb r2, r3 80aaf0e: 4b47 ldr r3, [pc, #284] ; (80ab02c ) 80aaf10: 701a strb r2, [r3, #0] if(pMax < -40) 80aaf12: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aaf16: f113 0f28 cmn.w r3, #40 ; 0x28 80aaf1a: da09 bge.n 80aaf30 pMax = -40; 80aaf1c: f64f 73d8 movw r3, #65496 ; 0xffd8 80aaf20: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aaf24: 4b41 ldr r3, [pc, #260] ; (80ab02c ) 80aaf26: 781b ldrb r3, [r3, #0] 80aaf28: 3301 adds r3, #1 80aaf2a: b2da uxtb r2, r3 80aaf2c: 4b3f ldr r3, [pc, #252] ; (80ab02c ) 80aaf2e: 701a strb r2, [r3, #0] x = 62 + i; 80aaf30: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aaf34: 333e adds r3, #62 ; 0x3e 80aaf36: f8c7 3294 str.w r3, [r7, #660] ; 0x294 BSP_LCD_DrawLine(x, 181 - pMin, x, 181 - pMax); 80aaf3a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aaf3e: b298 uxth r0, r3 80aaf40: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aaf44: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80aaf48: b299 uxth r1, r3 80aaf4a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aaf4e: b29a uxth r2, r3 80aaf50: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aaf54: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80aaf58: b29b uxth r3, r3 80aaf5a: f7aa fb91 bl 8055680 if(pMax > Maximum) Maximum = pMax; 80aaf5e: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80aaf62: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aaf66: 429a cmp r2, r3 80aaf68: dd03 ble.n 80aaf72 80aaf6a: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aaf6e: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(pMin < Minimum) Minimum = pMin; 80aaf72: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80aaf76: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80aaf7a: 429a cmp r2, r3 80aaf7c: da03 bge.n 80aaf86 80aaf7e: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aaf82: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 for(i = 0; i < 256; i++) 80aaf86: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aaf8a: 3301 adds r3, #1 80aaf8c: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aaf90: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aaf94: 2bff cmp r3, #255 ; 0xff 80aaf96: f67f adee bls.w 80aab76 Maximum = ABS(Maximum); 80aaf9a: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aaf9e: 2b00 cmp r3, #0 80aafa0: bfb8 it lt 80aafa2: 425b neglt r3, r3 80aafa4: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 Minimum = ABS(Minimum); 80aafa8: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80aafac: 2b00 cmp r3, #0 80aafae: bfb8 it lt 80aafb0: 425b neglt r3, r3 80aafb2: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 if(Minimum > Maximum) { 80aafb6: f9b7 22b0 ldrsh.w r2, [r7, #688] ; 0x2b0 80aafba: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aafbe: 429a cmp r2, r3 80aafc0: dd03 ble.n 80aafca Maximum = Minimum; 80aafc2: f8b7 32b0 ldrh.w r3, [r7, #688] ; 0x2b0 80aafc6: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 NumOverdrives = 0; 80aafca: 4b18 ldr r3, [pc, #96] ; (80ab02c ) 80aafcc: 2200 movs r2, #0 80aafce: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80aafd0: 4917 ldr r1, [pc, #92] ; (80ab030 ) 80aafd2: 4818 ldr r0, [pc, #96] ; (80ab034 ) 80aafd4: f7aa f91a bl 805520c for(i = 0; i < 256; i++) 80aafd8: 2300 movs r3, #0 80aafda: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aafde: e215 b.n 80ab40c if(PlayingState.FrameSize == 256) 80aafe0: 4b15 ldr r3, [pc, #84] ; (80ab038 ) 80aafe2: 689b ldr r3, [r3, #8] 80aafe4: f5b3 7f80 cmp.w r3, #256 ; 0x100 80aafe8: f040 80fe bne.w 80ab1e8 mF[MAXY] = ScrB_f32(i); 80aafec: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aaff0: 009a lsls r2, r3, #2 80aaff2: 4b12 ldr r3, [pc, #72] ; (80ab03c ) 80aaff4: 4413 add r3, r2 80aaff6: 681b ldr r3, [r3, #0] 80aaff8: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(i > 0) 80aaffc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab000: 2b00 cmp r3, #0 80ab002: d01d beq.n 80ab040 mF[MINY] = lastPointOSC[MAXY]; 80ab004: 4b03 ldr r3, [pc, #12] ; (80ab014 ) 80ab006: 685b ldr r3, [r3, #4] 80ab008: f8c7 3278 str.w r3, [r7, #632] ; 0x278 80ab00c: e01c b.n 80ab048 80ab00e: bf00 nop 80ab010: 64080000 .word 0x64080000 80ab014: 200216a0 .word 0x200216a0 80ab018: 20020998 .word 0x20020998 80ab01c: 46fffe00 .word 0x46fffe00 80ab020: 46fffe00 .word 0x46fffe00 80ab024: c6fffe00 .word 0xc6fffe00 80ab028: c6fffe00 .word 0xc6fffe00 80ab02c: 2002169e .word 0x2002169e 80ab030: ff0a0f1f .word 0xff0a0f1f 80ab034: ffd3d3d3 .word 0xffd3d3d3 80ab038: 20022928 .word 0x20022928 80ab03c: 640b0000 .word 0x640b0000 else mF[MINY] = mF[MAXY]; 80ab040: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80ab044: f8c7 3278 str.w r3, [r7, #632] ; 0x278 lastPointOSC[MAXY] = mF[MAXY]; 80ab048: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80ab04c: 4a5f ldr r2, [pc, #380] ; (80ab1cc ) 80ab04e: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80ab050: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80ab054: 4b5e ldr r3, [pc, #376] ; (80ab1d0 ) 80ab056: edd3 7a00 vldr s15, [r3] 80ab05a: ee67 7a27 vmul.f32 s15, s14, s15 80ab05e: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80ab062: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ab066: 4b5a ldr r3, [pc, #360] ; (80ab1d0 ) 80ab068: edd3 7a00 vldr s15, [r3] 80ab06c: ee67 7a27 vmul.f32 s15, s14, s15 80ab070: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ab074: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab078: ed9f 7a56 vldr s14, [pc, #344] ; 80ab1d4 80ab07c: eef4 7ac7 vcmpe.f32 s15, s14 80ab080: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab084: dd02 ble.n 80ab08c 80ab086: 4b54 ldr r3, [pc, #336] ; (80ab1d8 ) 80ab088: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ab08c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab090: ed9f 7a52 vldr s14, [pc, #328] ; 80ab1dc 80ab094: eef4 7ac7 vcmpe.f32 s15, s14 80ab098: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab09c: d502 bpl.n 80ab0a4 80ab09e: 4b50 ldr r3, [pc, #320] ; (80ab1e0 ) 80ab0a0: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80ab0a4: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80ab0a8: ed9f 7a4a vldr s14, [pc, #296] ; 80ab1d4 80ab0ac: eef4 7ac7 vcmpe.f32 s15, s14 80ab0b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab0b4: dd02 ble.n 80ab0bc 80ab0b6: 4b48 ldr r3, [pc, #288] ; (80ab1d8 ) 80ab0b8: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80ab0bc: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80ab0c0: ed9f 7a46 vldr s14, [pc, #280] ; 80ab1dc 80ab0c4: eef4 7ac7 vcmpe.f32 s15, s14 80ab0c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab0cc: d502 bpl.n 80ab0d4 80ab0ce: 4b44 ldr r3, [pc, #272] ; (80ab1e0 ) 80ab0d0: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80ab0d4: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab0d8: eefd 7ae7 vcvt.s32.f32 s15, s15 80ab0dc: edc7 7a01 vstr s15, [r7, #4] 80ab0e0: 88bb ldrh r3, [r7, #4] 80ab0e2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80ab0e6: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80ab0ea: eefd 7ae7 vcvt.s32.f32 s15, s15 80ab0ee: edc7 7a01 vstr s15, [r7, #4] 80ab0f2: 88bb ldrh r3, [r7, #4] 80ab0f4: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 40) 80ab0f8: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80ab0fc: 2b28 cmp r3, #40 ; 0x28 80ab0fe: dd08 ble.n 80ab112 pMin = 40; 80ab100: 2328 movs r3, #40 ; 0x28 80ab102: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80ab106: 4b37 ldr r3, [pc, #220] ; (80ab1e4 ) 80ab108: 781b ldrb r3, [r3, #0] 80ab10a: 3301 adds r3, #1 80ab10c: b2da uxtb r2, r3 80ab10e: 4b35 ldr r3, [pc, #212] ; (80ab1e4 ) 80ab110: 701a strb r2, [r3, #0] if(pMin < -40) 80ab112: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80ab116: f113 0f28 cmn.w r3, #40 ; 0x28 80ab11a: da09 bge.n 80ab130 pMin = -40; 80ab11c: f64f 73d8 movw r3, #65496 ; 0xffd8 80ab120: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80ab124: 4b2f ldr r3, [pc, #188] ; (80ab1e4 ) 80ab126: 781b ldrb r3, [r3, #0] 80ab128: 3301 adds r3, #1 80ab12a: b2da uxtb r2, r3 80ab12c: 4b2d ldr r3, [pc, #180] ; (80ab1e4 ) 80ab12e: 701a strb r2, [r3, #0] if(pMax > 40) 80ab130: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ab134: 2b28 cmp r3, #40 ; 0x28 80ab136: dd08 ble.n 80ab14a pMax = 40; 80ab138: 2328 movs r3, #40 ; 0x28 80ab13a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ab13e: 4b29 ldr r3, [pc, #164] ; (80ab1e4 ) 80ab140: 781b ldrb r3, [r3, #0] 80ab142: 3301 adds r3, #1 80ab144: b2da uxtb r2, r3 80ab146: 4b27 ldr r3, [pc, #156] ; (80ab1e4 ) 80ab148: 701a strb r2, [r3, #0] if(pMax < -40) 80ab14a: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ab14e: f113 0f28 cmn.w r3, #40 ; 0x28 80ab152: da09 bge.n 80ab168 pMax = -40; 80ab154: f64f 73d8 movw r3, #65496 ; 0xffd8 80ab158: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ab15c: 4b21 ldr r3, [pc, #132] ; (80ab1e4 ) 80ab15e: 781b ldrb r3, [r3, #0] 80ab160: 3301 adds r3, #1 80ab162: b2da uxtb r2, r3 80ab164: 4b1f ldr r3, [pc, #124] ; (80ab1e4 ) 80ab166: 701a strb r2, [r3, #0] x = 62 + i; 80ab168: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab16c: 333e adds r3, #62 ; 0x3e 80ab16e: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == 0) 80ab172: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab176: 2b00 cmp r3, #0 80ab178: d112 bne.n 80ab1a0 BSP_LCD_DrawLine(x, 101 - pMin, x, 101 - pMax); 80ab17a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab17e: b298 uxth r0, r3 80ab180: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80ab184: f1c3 0365 rsb r3, r3, #101 ; 0x65 80ab188: b299 uxth r1, r3 80ab18a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab18e: b29a uxth r2, r3 80ab190: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab194: f1c3 0365 rsb r3, r3, #101 ; 0x65 80ab198: b29b uxth r3, r3 80ab19a: f7aa fa71 bl 8055680 80ab19e: e11c b.n 80ab3da else BSP_LCD_DrawLine(x - 1, 101 - pMin, x, 101 - pMax); 80ab1a0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab1a4: b29b uxth r3, r3 80ab1a6: 3b01 subs r3, #1 80ab1a8: b298 uxth r0, r3 80ab1aa: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80ab1ae: f1c3 0365 rsb r3, r3, #101 ; 0x65 80ab1b2: b299 uxth r1, r3 80ab1b4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab1b8: b29a uxth r2, r3 80ab1ba: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab1be: f1c3 0365 rsb r3, r3, #101 ; 0x65 80ab1c2: b29b uxth r3, r3 80ab1c4: f7aa fa5c bl 8055680 80ab1c8: e107 b.n 80ab3da 80ab1ca: bf00 nop 80ab1cc: 200216a0 .word 0x200216a0 80ab1d0: 20020998 .word 0x20020998 80ab1d4: 46fffe00 .word 0x46fffe00 80ab1d8: 46fffe00 .word 0x46fffe00 80ab1dc: c6fffe00 .word 0xc6fffe00 80ab1e0: c6fffe00 .word 0xc6fffe00 80ab1e4: 2002169e .word 0x2002169e arm_max_f32(&ScrB_f32(i * step), step, &mF[MAXY], &idx); 80ab1e8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab1ec: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80ab1f0: fb02 f303 mul.w r3, r2, r3 80ab1f4: 009a lsls r2, r3, #2 80ab1f6: 4b95 ldr r3, [pc, #596] ; (80ab44c ) 80ab1f8: 4413 add r3, r2 80ab1fa: 4618 mov r0, r3 80ab1fc: f507 711a add.w r1, r7, #616 ; 0x268 80ab200: f507 731e add.w r3, r7, #632 ; 0x278 80ab204: 1d1a adds r2, r3, #4 80ab206: 460b mov r3, r1 80ab208: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80ab20c: f023 ff02 bl 80cf014 arm_min_f32(&ScrB_f32(i * step), step, &mF[MINY], &idx); 80ab210: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab214: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80ab218: fb02 f303 mul.w r3, r2, r3 80ab21c: 009a lsls r2, r3, #2 80ab21e: 4b8b ldr r3, [pc, #556] ; (80ab44c ) 80ab220: 4413 add r3, r2 80ab222: 4618 mov r0, r3 80ab224: f507 731a add.w r3, r7, #616 ; 0x268 80ab228: f507 721e add.w r2, r7, #632 ; 0x278 80ab22c: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80ab230: f023 fe54 bl 80ceedc if(i > 0) 80ab234: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab238: 2b00 cmp r3, #0 80ab23a: d01b beq.n 80ab274 if(mF[MINY] > lastPointOSC[MAXY]) 80ab23c: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80ab240: 4b83 ldr r3, [pc, #524] ; (80ab450 ) 80ab242: edd3 7a01 vldr s15, [r3, #4] 80ab246: eeb4 7ae7 vcmpe.f32 s14, s15 80ab24a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab24e: dd03 ble.n 80ab258 mF[MINY] = lastPointOSC[MAXY]; 80ab250: 4b7f ldr r3, [pc, #508] ; (80ab450 ) 80ab252: 685b ldr r3, [r3, #4] 80ab254: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MAXY] < lastPointOSC[MINY]) 80ab258: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ab25c: 4b7c ldr r3, [pc, #496] ; (80ab450 ) 80ab25e: edd3 7a00 vldr s15, [r3] 80ab262: eeb4 7ae7 vcmpe.f32 s14, s15 80ab266: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab26a: d503 bpl.n 80ab274 mF[MAXY] = lastPointOSC[MINY]; 80ab26c: 4b78 ldr r3, [pc, #480] ; (80ab450 ) 80ab26e: 681b ldr r3, [r3, #0] 80ab270: f8c7 327c str.w r3, [r7, #636] ; 0x27c ft[0] = mF[MINY]; ft[1] = mF[MAXY]; 80ab274: f8d7 3278 ldr.w r3, [r7, #632] ; 0x278 80ab278: f8c7 3280 str.w r3, [r7, #640] ; 0x280 80ab27c: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80ab280: f8c7 3284 str.w r3, [r7, #644] ; 0x284 lastPointOSC[MINY] = ft[0]; lastPointOSC[MAXY] = ft[1]; 80ab284: f8d7 3280 ldr.w r3, [r7, #640] ; 0x280 80ab288: 4a71 ldr r2, [pc, #452] ; (80ab450 ) 80ab28a: 6013 str r3, [r2, #0] 80ab28c: f8d7 3284 ldr.w r3, [r7, #644] ; 0x284 80ab290: 4a6f ldr r2, [pc, #444] ; (80ab450 ) 80ab292: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80ab294: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80ab298: 4b6e ldr r3, [pc, #440] ; (80ab454 ) 80ab29a: edd3 7a00 vldr s15, [r3] 80ab29e: ee67 7a27 vmul.f32 s15, s14, s15 80ab2a2: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80ab2a6: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ab2aa: 4b6a ldr r3, [pc, #424] ; (80ab454 ) 80ab2ac: edd3 7a00 vldr s15, [r3] 80ab2b0: ee67 7a27 vmul.f32 s15, s14, s15 80ab2b4: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ab2b8: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab2bc: ed9f 7a66 vldr s14, [pc, #408] ; 80ab458 80ab2c0: eef4 7ac7 vcmpe.f32 s15, s14 80ab2c4: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab2c8: dd02 ble.n 80ab2d0 80ab2ca: 4b64 ldr r3, [pc, #400] ; (80ab45c ) 80ab2cc: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ab2d0: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab2d4: ed9f 7a62 vldr s14, [pc, #392] ; 80ab460 80ab2d8: eef4 7ac7 vcmpe.f32 s15, s14 80ab2dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab2e0: d502 bpl.n 80ab2e8 80ab2e2: 4b60 ldr r3, [pc, #384] ; (80ab464 ) 80ab2e4: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80ab2e8: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80ab2ec: ed9f 7a5a vldr s14, [pc, #360] ; 80ab458 80ab2f0: eef4 7ac7 vcmpe.f32 s15, s14 80ab2f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab2f8: dd02 ble.n 80ab300 80ab2fa: 4b58 ldr r3, [pc, #352] ; (80ab45c ) 80ab2fc: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80ab300: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80ab304: ed9f 7a56 vldr s14, [pc, #344] ; 80ab460 80ab308: eef4 7ac7 vcmpe.f32 s15, s14 80ab30c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab310: d502 bpl.n 80ab318 80ab312: 4b54 ldr r3, [pc, #336] ; (80ab464 ) 80ab314: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80ab318: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab31c: eefd 7ae7 vcvt.s32.f32 s15, s15 80ab320: edc7 7a01 vstr s15, [r7, #4] 80ab324: 88bb ldrh r3, [r7, #4] 80ab326: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80ab32a: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80ab32e: eefd 7ae7 vcvt.s32.f32 s15, s15 80ab332: edc7 7a01 vstr s15, [r7, #4] 80ab336: 88bb ldrh r3, [r7, #4] 80ab338: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 40) 80ab33c: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80ab340: 2b28 cmp r3, #40 ; 0x28 80ab342: dd08 ble.n 80ab356 pMin = 40; 80ab344: 2328 movs r3, #40 ; 0x28 80ab346: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80ab34a: 4b47 ldr r3, [pc, #284] ; (80ab468 ) 80ab34c: 781b ldrb r3, [r3, #0] 80ab34e: 3301 adds r3, #1 80ab350: b2da uxtb r2, r3 80ab352: 4b45 ldr r3, [pc, #276] ; (80ab468 ) 80ab354: 701a strb r2, [r3, #0] if(pMin < -40) 80ab356: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80ab35a: f113 0f28 cmn.w r3, #40 ; 0x28 80ab35e: da09 bge.n 80ab374 pMin = -40; 80ab360: f64f 73d8 movw r3, #65496 ; 0xffd8 80ab364: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80ab368: 4b3f ldr r3, [pc, #252] ; (80ab468 ) 80ab36a: 781b ldrb r3, [r3, #0] 80ab36c: 3301 adds r3, #1 80ab36e: b2da uxtb r2, r3 80ab370: 4b3d ldr r3, [pc, #244] ; (80ab468 ) 80ab372: 701a strb r2, [r3, #0] if(pMax > 40) 80ab374: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ab378: 2b28 cmp r3, #40 ; 0x28 80ab37a: dd08 ble.n 80ab38e pMax = 40; 80ab37c: 2328 movs r3, #40 ; 0x28 80ab37e: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ab382: 4b39 ldr r3, [pc, #228] ; (80ab468 ) 80ab384: 781b ldrb r3, [r3, #0] 80ab386: 3301 adds r3, #1 80ab388: b2da uxtb r2, r3 80ab38a: 4b37 ldr r3, [pc, #220] ; (80ab468 ) 80ab38c: 701a strb r2, [r3, #0] if(pMax < -40) 80ab38e: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ab392: f113 0f28 cmn.w r3, #40 ; 0x28 80ab396: da09 bge.n 80ab3ac pMax = -40; 80ab398: f64f 73d8 movw r3, #65496 ; 0xffd8 80ab39c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ab3a0: 4b31 ldr r3, [pc, #196] ; (80ab468 ) 80ab3a2: 781b ldrb r3, [r3, #0] 80ab3a4: 3301 adds r3, #1 80ab3a6: b2da uxtb r2, r3 80ab3a8: 4b2f ldr r3, [pc, #188] ; (80ab468 ) 80ab3aa: 701a strb r2, [r3, #0] x = 62 + i; 80ab3ac: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab3b0: 333e adds r3, #62 ; 0x3e 80ab3b2: f8c7 3294 str.w r3, [r7, #660] ; 0x294 BSP_LCD_DrawLine(x, 101 - pMin, x, 101 - pMax); 80ab3b6: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab3ba: b298 uxth r0, r3 80ab3bc: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80ab3c0: f1c3 0365 rsb r3, r3, #101 ; 0x65 80ab3c4: b299 uxth r1, r3 80ab3c6: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab3ca: b29a uxth r2, r3 80ab3cc: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab3d0: f1c3 0365 rsb r3, r3, #101 ; 0x65 80ab3d4: b29b uxth r3, r3 80ab3d6: f7aa f953 bl 8055680 if(pMax > Maximum) Maximum = pMax; 80ab3da: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ab3de: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ab3e2: 429a cmp r2, r3 80ab3e4: dd03 ble.n 80ab3ee 80ab3e6: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab3ea: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(pMin < Minimum) Minimum = pMin; 80ab3ee: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80ab3f2: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80ab3f6: 429a cmp r2, r3 80ab3f8: da03 bge.n 80ab402 80ab3fa: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80ab3fe: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 for(i = 0; i < 256; i++) 80ab402: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab406: 3301 adds r3, #1 80ab408: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab40c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab410: 2bff cmp r3, #255 ; 0xff 80ab412: f67f ade5 bls.w 80aafe0 Maximum = ABS(Maximum); 80ab416: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ab41a: 2b00 cmp r3, #0 80ab41c: bfb8 it lt 80ab41e: 425b neglt r3, r3 80ab420: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 Minimum = ABS(Minimum); 80ab424: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80ab428: 2b00 cmp r3, #0 80ab42a: bfb8 it lt 80ab42c: 425b neglt r3, r3 80ab42e: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 if(Minimum > Maximum) { 80ab432: f9b7 22b0 ldrsh.w r2, [r7, #688] ; 0x2b0 80ab436: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ab43a: 429a cmp r2, r3 80ab43c: f344 86b2 ble.w 80b01a4 Maximum = Minimum; 80ab440: f8b7 32b0 ldrh.w r3, [r7, #688] ; 0x2b0 80ab444: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } 80ab448: f004 beac b.w 80b01a4 80ab44c: 640b0000 .word 0x640b0000 80ab450: 200216a0 .word 0x200216a0 80ab454: 20020998 .word 0x20020998 80ab458: 46fffe00 .word 0x46fffe00 80ab45c: 46fffe00 .word 0x46fffe00 80ab460: c6fffe00 .word 0xc6fffe00 80ab464: c6fffe00 .word 0xc6fffe00 80ab468: 2002169e .word 0x2002169e if(pardata.SYG == FRAN) 80ab46c: 4bce ldr r3, [pc, #824] ; (80ab7a8 ) 80ab46e: 781b ldrb r3, [r3, #0] 80ab470: b2db uxtb r3, r3 80ab472: 2b03 cmp r3, #3 80ab474: f004 8696 beq.w 80b01a4 if(!FIRST) 80ab478: 4bcc ldr r3, [pc, #816] ; (80ab7ac ) 80ab47a: 781b ldrb r3, [r3, #0] 80ab47c: b2db uxtb r3, r3 80ab47e: f083 0301 eor.w r3, r3, #1 80ab482: b2db uxtb r3, r3 80ab484: 2b00 cmp r3, #0 80ab486: f004 868d beq.w 80b01a4 if(pardata.SYG == ROLL) 80ab48a: 4bc7 ldr r3, [pc, #796] ; (80ab7a8 ) 80ab48c: 781b ldrb r3, [r3, #0] 80ab48e: b2db uxtb r3, r3 80ab490: 2b08 cmp r3, #8 80ab492: f042 82c5 bne.w 80ada20 if(READY_TO_SEE) 80ab496: 4bc6 ldr r3, [pc, #792] ; (80ab7b0 ) 80ab498: 781b ldrb r3, [r3, #0] 80ab49a: b2db uxtb r3, r3 80ab49c: 2b00 cmp r3, #0 80ab49e: f004 8681 beq.w 80b01a4 k = 0; 80ab4a2: 2300 movs r3, #0 80ab4a4: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80ab4a8: 4bc2 ldr r3, [pc, #776] ; (80ab7b4 ) 80ab4aa: 881b ldrh r3, [r3, #0] 80ab4ac: b29b uxth r3, r3 80ab4ae: 461a mov r2, r3 80ab4b0: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ab4b4: 4413 add r3, r2 80ab4b6: 009a lsls r2, r3, #2 80ab4b8: 4bbf ldr r3, [pc, #764] ; (80ab7b8 ) 80ab4ba: 4413 add r3, r2 80ab4bc: 681b ldr r3, [r3, #0] 80ab4be: f8c7 326c str.w r3, [r7, #620] ; 0x26c LinToLog(&f, &f); 80ab4c2: f507 721b add.w r2, r7, #620 ; 0x26c 80ab4c6: f507 731b add.w r3, r7, #620 ; 0x26c 80ab4ca: 4611 mov r1, r2 80ab4cc: 4618 mov r0, r3 80ab4ce: f7bb fa3b bl 8066948 if(f <= 0.0f) k++; 80ab4d2: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ab4d6: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab4da: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab4de: d942 bls.n 80ab566 else break; 80ab4e0: bf00 nop arm_max_f32(&ScrA_f32(lX + k), rX-lX-k-1, &max, &idx); 80ab4e2: 4bb4 ldr r3, [pc, #720] ; (80ab7b4 ) 80ab4e4: 881b ldrh r3, [r3, #0] 80ab4e6: b29b uxth r3, r3 80ab4e8: 461a mov r2, r3 80ab4ea: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ab4ee: 4413 add r3, r2 80ab4f0: 009a lsls r2, r3, #2 80ab4f2: 4bb1 ldr r3, [pc, #708] ; (80ab7b8 ) 80ab4f4: 4413 add r3, r2 80ab4f6: 4618 mov r0, r3 80ab4f8: 4bb0 ldr r3, [pc, #704] ; (80ab7bc ) 80ab4fa: 881b ldrh r3, [r3, #0] 80ab4fc: b29b uxth r3, r3 80ab4fe: 461a mov r2, r3 80ab500: 4bac ldr r3, [pc, #688] ; (80ab7b4 ) 80ab502: 881b ldrh r3, [r3, #0] 80ab504: b29b uxth r3, r3 80ab506: 1ad3 subs r3, r2, r3 80ab508: 461a mov r2, r3 80ab50a: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ab50e: 1ad3 subs r3, r2, r3 80ab510: 1e59 subs r1, r3, #1 80ab512: f507 731a add.w r3, r7, #616 ; 0x268 80ab516: f507 721d add.w r2, r7, #628 ; 0x274 80ab51a: f023 fd7b bl 80cf014 arm_min_f32(&ScrA_f32(lX + k), rX-lX-k-1, &min, &idx); 80ab51e: 4ba5 ldr r3, [pc, #660] ; (80ab7b4 ) 80ab520: 881b ldrh r3, [r3, #0] 80ab522: b29b uxth r3, r3 80ab524: 461a mov r2, r3 80ab526: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ab52a: 4413 add r3, r2 80ab52c: 009a lsls r2, r3, #2 80ab52e: 4ba2 ldr r3, [pc, #648] ; (80ab7b8 ) 80ab530: 4413 add r3, r2 80ab532: 4618 mov r0, r3 80ab534: 4ba1 ldr r3, [pc, #644] ; (80ab7bc ) 80ab536: 881b ldrh r3, [r3, #0] 80ab538: b29b uxth r3, r3 80ab53a: 461a mov r2, r3 80ab53c: 4b9d ldr r3, [pc, #628] ; (80ab7b4 ) 80ab53e: 881b ldrh r3, [r3, #0] 80ab540: b29b uxth r3, r3 80ab542: 1ad3 subs r3, r2, r3 80ab544: 461a mov r2, r3 80ab546: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ab54a: 1ad3 subs r3, r2, r3 80ab54c: 1e59 subs r1, r3, #1 80ab54e: f507 731a add.w r3, r7, #616 ; 0x268 80ab552: f507 721c add.w r2, r7, #624 ; 0x270 80ab556: f023 fcc1 bl 80ceedc if(AUTOZOOM) 80ab55a: 4b99 ldr r3, [pc, #612] ; (80ab7c0 ) 80ab55c: 781b ldrb r3, [r3, #0] 80ab55e: b2db uxtb r3, r3 80ab560: 2b00 cmp r3, #0 80ab562: d025 beq.n 80ab5b0 80ab564: e005 b.n 80ab572 if(f <= 0.0f) k++; 80ab566: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ab56a: 3301 adds r3, #1 80ab56c: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80ab570: e79a b.n 80ab4a8 f = (max - min); 80ab572: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80ab576: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab57a: ee77 7a67 vsub.f32 s15, s14, s15 80ab57e: edc7 7a9b vstr s15, [r7, #620] ; 0x26c if(f <= 0.0f) { 80ab582: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ab586: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab58a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab58e: d802 bhi.n 80ab596 f = 80.0f; 80ab590: 4b8c ldr r3, [pc, #560] ; (80ab7c4 ) 80ab592: f8c7 326c str.w r3, [r7, #620] ; 0x26c ZoomVal = 97.0f / f; 80ab596: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80ab59a: eddf 6a8b vldr s13, [pc, #556] ; 80ab7c8 80ab59e: eec6 7a87 vdiv.f32 s15, s13, s14 80ab5a2: 4b8a ldr r3, [pc, #552] ; (80ab7cc ) 80ab5a4: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80ab5a8: 4b85 ldr r3, [pc, #532] ; (80ab7c0 ) 80ab5aa: 2200 movs r2, #0 80ab5ac: 701a strb r2, [r3, #0] 80ab5ae: e024 b.n 80ab5fa if(ZOOM_IN) 80ab5b0: 4b87 ldr r3, [pc, #540] ; (80ab7d0 ) 80ab5b2: 781b ldrb r3, [r3, #0] 80ab5b4: b2db uxtb r3, r3 80ab5b6: 2b00 cmp r3, #0 80ab5b8: d00d beq.n 80ab5d6 ZOOM_IN = false; 80ab5ba: 4b85 ldr r3, [pc, #532] ; (80ab7d0 ) 80ab5bc: 2200 movs r2, #0 80ab5be: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80ab5c0: 4b82 ldr r3, [pc, #520] ; (80ab7cc ) 80ab5c2: edd3 7a00 vldr s15, [r3] 80ab5c6: ed9f 7a83 vldr s14, [pc, #524] ; 80ab7d4 80ab5ca: ee67 7a87 vmul.f32 s15, s15, s14 80ab5ce: 4b7f ldr r3, [pc, #508] ; (80ab7cc ) 80ab5d0: edc3 7a00 vstr s15, [r3] 80ab5d4: e011 b.n 80ab5fa if(ZOOM_OUT) 80ab5d6: 4b80 ldr r3, [pc, #512] ; (80ab7d8 ) 80ab5d8: 781b ldrb r3, [r3, #0] 80ab5da: b2db uxtb r3, r3 80ab5dc: 2b00 cmp r3, #0 80ab5de: d00c beq.n 80ab5fa ZOOM_OUT = false; 80ab5e0: 4b7d ldr r3, [pc, #500] ; (80ab7d8 ) 80ab5e2: 2200 movs r2, #0 80ab5e4: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80ab5e6: 4b79 ldr r3, [pc, #484] ; (80ab7cc ) 80ab5e8: edd3 7a00 vldr s15, [r3] 80ab5ec: ed9f 7a7b vldr s14, [pc, #492] ; 80ab7dc 80ab5f0: ee67 7a87 vmul.f32 s15, s15, s14 80ab5f4: 4b75 ldr r3, [pc, #468] ; (80ab7cc ) 80ab5f6: edc3 7a00 vstr s15, [r3] if(menu == VIEW_PORTRET) 80ab5fa: 4b79 ldr r3, [pc, #484] ; (80ab7e0 ) 80ab5fc: 781b ldrb r3, [r3, #0] 80ab5fe: b2db uxtb r3, r3 80ab600: 2b28 cmp r3, #40 ; 0x28 80ab602: f041 879d bne.w 80ad540 for(i = 0; i < 15; i++) 80ab606: 2300 movs r3, #0 80ab608: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab60c: e058 b.n 80ab6c0 _Fvr[i] = -1; 80ab60e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab612: 009b lsls r3, r3, #2 80ab614: f507 722e add.w r2, r7, #696 ; 0x2b8 80ab618: 4413 add r3, r2 80ab61a: f04f 32ff mov.w r2, #4294967295 80ab61e: f843 2c8c str.w r2, [r3, #-140] _Fn[i] = -1; 80ab622: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab626: 009b lsls r3, r3, #2 80ab628: f507 722e add.w r2, r7, #696 ; 0x2b8 80ab62c: 4413 add r3, r2 80ab62e: f04f 32ff mov.w r2, #4294967295 80ab632: f843 2cc8 str.w r2, [r3, #-200] _Fv[i] = -1; 80ab636: f507 73da add.w r3, r7, #436 ; 0x1b4 80ab63a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab63e: f04f 31ff mov.w r1, #4294967295 80ab642: f843 1022 str.w r1, [r3, r2, lsl #2] _Fc[i] = -1; 80ab646: f507 73bc add.w r3, r7, #376 ; 0x178 80ab64a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab64e: f04f 31ff mov.w r1, #4294967295 80ab652: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk[i] = -1; 80ab656: f507 739e add.w r3, r7, #316 ; 0x13c 80ab65a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab65e: f04f 31ff mov.w r1, #4294967295 80ab662: f843 1022 str.w r1, [r3, r2, lsl #2] _Fvr_m_Fc[i] = -1; 80ab666: f507 7380 add.w r3, r7, #256 ; 0x100 80ab66a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab66e: f04f 31ff mov.w r1, #4294967295 80ab672: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk_p_Fc[i] = -1; 80ab676: f107 03c4 add.w r3, r7, #196 ; 0xc4 80ab67a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab67e: f04f 31ff mov.w r1, #4294967295 80ab682: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk_m_Fc[i] = -1; 80ab686: f107 0388 add.w r3, r7, #136 ; 0x88 80ab68a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab68e: f04f 31ff mov.w r1, #4294967295 80ab692: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk_p_2Fc[i] = -1; 80ab696: f107 034c add.w r3, r7, #76 ; 0x4c 80ab69a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab69e: f04f 31ff mov.w r1, #4294967295 80ab6a2: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk_m_2Fc[i] = -1; 80ab6a6: f107 0310 add.w r3, r7, #16 80ab6aa: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab6ae: f04f 31ff mov.w r1, #4294967295 80ab6b2: f843 1022 str.w r1, [r3, r2, lsl #2] for(i = 0; i < 15; i++) 80ab6b6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab6ba: 3301 adds r3, #1 80ab6bc: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab6c0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab6c4: 2b0e cmp r3, #14 80ab6c6: d9a2 bls.n 80ab60e for(i = 0; i < 15; i++) { 80ab6c8: 2300 movs r3, #0 80ab6ca: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab6ce: e02a b.n 80ab726 f = Fvr * (float32_t) (i + 1); 80ab6d0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab6d4: 3301 adds r3, #1 80ab6d6: ee07 3a90 vmov s15, r3 80ab6da: eeb8 7a67 vcvt.f32.u32 s14, s15 80ab6de: 4b41 ldr r3, [pc, #260] ; (80ab7e4 ) 80ab6e0: edd3 7a00 vldr s15, [r3] 80ab6e4: ee67 7a27 vmul.f32 s15, s14, s15 80ab6e8: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fvr[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80ab6ec: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ab6f0: eeb7 6ae7 vcvt.f64.f32 d6, s15 80ab6f4: ed9f 5b2a vldr d5, [pc, #168] ; 80ab7a0 80ab6f8: ee86 7b05 vdiv.f64 d7, d6, d5 80ab6fc: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80ab700: ee37 7b06 vadd.f64 d7, d7, d6 80ab704: eefd 7bc7 vcvt.s32.f64 s15, d7 80ab708: ee17 2a90 vmov r2, s15 80ab70c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab710: 009b lsls r3, r3, #2 80ab712: f507 712e add.w r1, r7, #696 ; 0x2b8 80ab716: 440b add r3, r1 80ab718: f843 2c8c str.w r2, [r3, #-140] for(i = 0; i < 15; i++) { 80ab71c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab720: 3301 adds r3, #1 80ab722: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab726: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab72a: 2b0e cmp r3, #14 80ab72c: d9d0 bls.n 80ab6d0 for(i = 0; i < 4; i++) { 80ab72e: 2300 movs r3, #0 80ab730: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab734: e02a b.n 80ab78c f = Fn * (float32_t) (i + 1); 80ab736: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab73a: 3301 adds r3, #1 80ab73c: ee07 3a90 vmov s15, r3 80ab740: eeb8 7a67 vcvt.f32.u32 s14, s15 80ab744: 4b28 ldr r3, [pc, #160] ; (80ab7e8 ) 80ab746: edd3 7a00 vldr s15, [r3] 80ab74a: ee67 7a27 vmul.f32 s15, s14, s15 80ab74e: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fn[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80ab752: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ab756: eeb7 6ae7 vcvt.f64.f32 d6, s15 80ab75a: ed9f 5b11 vldr d5, [pc, #68] ; 80ab7a0 80ab75e: ee86 7b05 vdiv.f64 d7, d6, d5 80ab762: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80ab766: ee37 7b06 vadd.f64 d7, d7, d6 80ab76a: eefd 7bc7 vcvt.s32.f64 s15, d7 80ab76e: ee17 2a90 vmov r2, s15 80ab772: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab776: 009b lsls r3, r3, #2 80ab778: f507 712e add.w r1, r7, #696 ; 0x2b8 80ab77c: 440b add r3, r1 80ab77e: f843 2cc8 str.w r2, [r3, #-200] for(i = 0; i < 4; i++) { 80ab782: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab786: 3301 adds r3, #1 80ab788: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab78c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab790: 2b03 cmp r3, #3 80ab792: d9d0 bls.n 80ab736 for(i = 0; i < 3; i++) { 80ab794: 2300 movs r3, #0 80ab796: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab79a: e050 b.n 80ab83e 80ab79c: f3af 8000 nop.w 80ab7a0: 00000000 .word 0x00000000 80ab7a4: 3fdf4000 .word 0x3fdf4000 80ab7a8: 20023eb8 .word 0x20023eb8 80ab7ac: 20020dd2 .word 0x20020dd2 80ab7b0: 20020dae .word 0x20020dae 80ab7b4: 20025d72 .word 0x20025d72 80ab7b8: 64080000 .word 0x64080000 80ab7bc: 20025d78 .word 0x20025d78 80ab7c0: 20020994 .word 0x20020994 80ab7c4: 42a00000 .word 0x42a00000 80ab7c8: 42c20000 .word 0x42c20000 80ab7cc: 20020998 .word 0x20020998 80ab7d0: 20020fb5 .word 0x20020fb5 80ab7d4: 40000005 .word 0x40000005 80ab7d8: 20020fb4 .word 0x20020fb4 80ab7dc: 3f000012 .word 0x3f000012 80ab7e0: 20020fc5 .word 0x20020fc5 80ab7e4: 20026d60 .word 0x20026d60 80ab7e8: 20026808 .word 0x20026808 f = Fv * (float32_t) (i + 1); 80ab7ec: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab7f0: 3301 adds r3, #1 80ab7f2: ee07 3a90 vmov s15, r3 80ab7f6: eeb8 7a67 vcvt.f32.u32 s14, s15 80ab7fa: 4bcb ldr r3, [pc, #812] ; (80abb28 ) 80ab7fc: edd3 7a00 vldr s15, [r3] 80ab800: ee67 7a27 vmul.f32 s15, s14, s15 80ab804: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fv[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80ab808: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ab80c: eeb7 6ae7 vcvt.f64.f32 d6, s15 80ab810: ed9f 5bc3 vldr d5, [pc, #780] ; 80abb20 80ab814: ee86 7b05 vdiv.f64 d7, d6, d5 80ab818: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80ab81c: ee37 7b06 vadd.f64 d7, d7, d6 80ab820: eefd 7bc7 vcvt.s32.f64 s15, d7 80ab824: ee17 1a90 vmov r1, s15 80ab828: f507 73da add.w r3, r7, #436 ; 0x1b4 80ab82c: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab830: f843 1022 str.w r1, [r3, r2, lsl #2] for(i = 0; i < 3; i++) { 80ab834: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab838: 3301 adds r3, #1 80ab83a: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab83e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab842: 2b02 cmp r3, #2 80ab844: d9d2 bls.n 80ab7ec for(i = 0; i < 8; i++) 80ab846: 2300 movs r3, #0 80ab848: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab84c: e051 b.n 80ab8f2 f = Fc * (float32_t) (i + 1); 80ab84e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab852: 3301 adds r3, #1 80ab854: ee07 3a90 vmov s15, r3 80ab858: eeb8 7a67 vcvt.f32.u32 s14, s15 80ab85c: 4bb3 ldr r3, [pc, #716] ; (80abb2c ) 80ab85e: edd3 7a00 vldr s15, [r3] 80ab862: ee67 7a27 vmul.f32 s15, s14, s15 80ab866: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80ab86a: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ab86e: eeb7 6ae7 vcvt.f64.f32 d6, s15 80ab872: ed9f 5bab vldr d5, [pc, #684] ; 80abb20 80ab876: ee86 7b05 vdiv.f64 d7, d6, d5 80ab87a: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80ab87e: ee37 7b06 vadd.f64 d7, d7, d6 80ab882: eefd 7bc7 vcvt.s32.f64 s15, d7 80ab886: ee17 1a90 vmov r1, s15 80ab88a: f507 73bc add.w r3, r7, #376 ; 0x178 80ab88e: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab892: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Fvr * (float32_t) (i + 1)) - Fc; 80ab896: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab89a: 3301 adds r3, #1 80ab89c: ee07 3a90 vmov s15, r3 80ab8a0: eeb8 7a67 vcvt.f32.u32 s14, s15 80ab8a4: 4ba2 ldr r3, [pc, #648] ; (80abb30 ) 80ab8a6: edd3 7a00 vldr s15, [r3] 80ab8aa: ee27 7a27 vmul.f32 s14, s14, s15 80ab8ae: 4b9f ldr r3, [pc, #636] ; (80abb2c ) 80ab8b0: edd3 7a00 vldr s15, [r3] 80ab8b4: ee77 7a67 vsub.f32 s15, s14, s15 80ab8b8: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fvr_m_Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80ab8bc: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ab8c0: eeb7 6ae7 vcvt.f64.f32 d6, s15 80ab8c4: ed9f 5b96 vldr d5, [pc, #600] ; 80abb20 80ab8c8: ee86 7b05 vdiv.f64 d7, d6, d5 80ab8cc: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80ab8d0: ee37 7b06 vadd.f64 d7, d7, d6 80ab8d4: eefd 7bc7 vcvt.s32.f64 s15, d7 80ab8d8: ee17 1a90 vmov r1, s15 80ab8dc: f507 7380 add.w r3, r7, #256 ; 0x100 80ab8e0: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab8e4: f843 1022 str.w r1, [r3, r2, lsl #2] for(i = 0; i < 8; i++) 80ab8e8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab8ec: 3301 adds r3, #1 80ab8ee: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab8f2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab8f6: 2b07 cmp r3, #7 80ab8f8: d9a9 bls.n 80ab84e for(i = 0; i < 6; i++) 80ab8fa: 2300 movs r3, #0 80ab8fc: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab900: e0d0 b.n 80abaa4 f = Ftk * (float32_t) (i + 1); 80ab902: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab906: 3301 adds r3, #1 80ab908: ee07 3a90 vmov s15, r3 80ab90c: eeb8 7a67 vcvt.f32.u32 s14, s15 80ab910: 4b88 ldr r3, [pc, #544] ; (80abb34 ) 80ab912: edd3 7a00 vldr s15, [r3] 80ab916: ee67 7a27 vmul.f32 s15, s14, s15 80ab91a: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80ab91e: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ab922: eeb7 6ae7 vcvt.f64.f32 d6, s15 80ab926: ed9f 5b7e vldr d5, [pc, #504] ; 80abb20 80ab92a: ee86 7b05 vdiv.f64 d7, d6, d5 80ab92e: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80ab932: ee37 7b06 vadd.f64 d7, d7, d6 80ab936: eefd 7bc7 vcvt.s32.f64 s15, d7 80ab93a: ee17 1a90 vmov r1, s15 80ab93e: f507 739e add.w r3, r7, #316 ; 0x13c 80ab942: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab946: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Ftk * (float32_t) (i + 1)) - Fc; 80ab94a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab94e: 3301 adds r3, #1 80ab950: ee07 3a90 vmov s15, r3 80ab954: eeb8 7a67 vcvt.f32.u32 s14, s15 80ab958: 4b76 ldr r3, [pc, #472] ; (80abb34 ) 80ab95a: edd3 7a00 vldr s15, [r3] 80ab95e: ee27 7a27 vmul.f32 s14, s14, s15 80ab962: 4b72 ldr r3, [pc, #456] ; (80abb2c ) 80ab964: edd3 7a00 vldr s15, [r3] 80ab968: ee77 7a67 vsub.f32 s15, s14, s15 80ab96c: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk_m_Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80ab970: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ab974: eeb7 6ae7 vcvt.f64.f32 d6, s15 80ab978: ed9f 5b69 vldr d5, [pc, #420] ; 80abb20 80ab97c: ee86 7b05 vdiv.f64 d7, d6, d5 80ab980: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80ab984: ee37 7b06 vadd.f64 d7, d7, d6 80ab988: eefd 7bc7 vcvt.s32.f64 s15, d7 80ab98c: ee17 1a90 vmov r1, s15 80ab990: f107 0388 add.w r3, r7, #136 ; 0x88 80ab994: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab998: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Ftk * (float32_t) (i + 1)) + Fc; 80ab99c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab9a0: 3301 adds r3, #1 80ab9a2: ee07 3a90 vmov s15, r3 80ab9a6: eeb8 7a67 vcvt.f32.u32 s14, s15 80ab9aa: 4b62 ldr r3, [pc, #392] ; (80abb34 ) 80ab9ac: edd3 7a00 vldr s15, [r3] 80ab9b0: ee27 7a27 vmul.f32 s14, s14, s15 80ab9b4: 4b5d ldr r3, [pc, #372] ; (80abb2c ) 80ab9b6: edd3 7a00 vldr s15, [r3] 80ab9ba: ee77 7a27 vadd.f32 s15, s14, s15 80ab9be: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk_p_Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80ab9c2: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ab9c6: eeb7 6ae7 vcvt.f64.f32 d6, s15 80ab9ca: ed9f 5b55 vldr d5, [pc, #340] ; 80abb20 80ab9ce: ee86 7b05 vdiv.f64 d7, d6, d5 80ab9d2: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80ab9d6: ee37 7b06 vadd.f64 d7, d7, d6 80ab9da: eefd 7bc7 vcvt.s32.f64 s15, d7 80ab9de: ee17 1a90 vmov r1, s15 80ab9e2: f107 03c4 add.w r3, r7, #196 ; 0xc4 80ab9e6: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab9ea: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Ftk * (float32_t) (i + 1)) - 2*Fc; 80ab9ee: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab9f2: 3301 adds r3, #1 80ab9f4: ee07 3a90 vmov s15, r3 80ab9f8: eeb8 7a67 vcvt.f32.u32 s14, s15 80ab9fc: 4b4d ldr r3, [pc, #308] ; (80abb34 ) 80ab9fe: edd3 7a00 vldr s15, [r3] 80aba02: ee27 7a27 vmul.f32 s14, s14, s15 80aba06: 4b49 ldr r3, [pc, #292] ; (80abb2c ) 80aba08: edd3 7a00 vldr s15, [r3] 80aba0c: ee77 7aa7 vadd.f32 s15, s15, s15 80aba10: ee77 7a67 vsub.f32 s15, s14, s15 80aba14: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk_m_2Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80aba18: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aba1c: eeb7 6ae7 vcvt.f64.f32 d6, s15 80aba20: ed9f 5b3f vldr d5, [pc, #252] ; 80abb20 80aba24: ee86 7b05 vdiv.f64 d7, d6, d5 80aba28: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80aba2c: ee37 7b06 vadd.f64 d7, d7, d6 80aba30: eefd 7bc7 vcvt.s32.f64 s15, d7 80aba34: ee17 1a90 vmov r1, s15 80aba38: f107 0310 add.w r3, r7, #16 80aba3c: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aba40: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Ftk * (float32_t) (i + 1)) + 2*Fc; 80aba44: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aba48: 3301 adds r3, #1 80aba4a: ee07 3a90 vmov s15, r3 80aba4e: eeb8 7a67 vcvt.f32.u32 s14, s15 80aba52: 4b38 ldr r3, [pc, #224] ; (80abb34 ) 80aba54: edd3 7a00 vldr s15, [r3] 80aba58: ee27 7a27 vmul.f32 s14, s14, s15 80aba5c: 4b33 ldr r3, [pc, #204] ; (80abb2c ) 80aba5e: edd3 7a00 vldr s15, [r3] 80aba62: ee77 7aa7 vadd.f32 s15, s15, s15 80aba66: ee77 7a27 vadd.f32 s15, s14, s15 80aba6a: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk_p_2Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80aba6e: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aba72: eeb7 6ae7 vcvt.f64.f32 d6, s15 80aba76: ed9f 5b2a vldr d5, [pc, #168] ; 80abb20 80aba7a: ee86 7b05 vdiv.f64 d7, d6, d5 80aba7e: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80aba82: ee37 7b06 vadd.f64 d7, d7, d6 80aba86: eefd 7bc7 vcvt.s32.f64 s15, d7 80aba8a: ee17 1a90 vmov r1, s15 80aba8e: f107 034c add.w r3, r7, #76 ; 0x4c 80aba92: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aba96: f843 1022 str.w r1, [r3, r2, lsl #2] for(i = 0; i < 6; i++) 80aba9a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aba9e: 3301 adds r3, #1 80abaa0: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80abaa4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abaa8: 2b05 cmp r3, #5 80abaaa: f67f af2a bls.w 80ab902 uint8_t nnn[3] = {0, 0, 0}; 80abaae: f107 030c add.w r3, r7, #12 80abab2: 2200 movs r2, #0 80abab4: 701a strb r2, [r3, #0] 80abab6: f107 030c add.w r3, r7, #12 80ababa: 2200 movs r2, #0 80ababc: 705a strb r2, [r3, #1] 80ababe: f107 030c add.w r3, r7, #12 80abac2: 2200 movs r2, #0 80abac4: 709a strb r2, [r3, #2] switch(DefectType) 80abac6: 4b1c ldr r3, [pc, #112] ; (80abb38 ) 80abac8: 781b ldrb r3, [r3, #0] 80abaca: b2db uxtb r3, r3 80abacc: 2b0b cmp r3, #11 80abace: f201 8386 bhi.w 80ad1de 80abad2: a201 add r2, pc, #4 ; (adr r2, 80abad8 ) 80abad4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80abad8: 080abb09 .word 0x080abb09 80abadc: 080abcb9 .word 0x080abcb9 80abae0: 080abf61 .word 0x080abf61 80abae4: 080ac211 .word 0x080ac211 80abae8: 080ac587 .word 0x080ac587 80abaec: 080ac709 .word 0x080ac709 80abaf0: 080ac709 .word 0x080ac709 80abaf4: 080ac901 .word 0x080ac901 80abaf8: 080acaef .word 0x080acaef 80abafc: 080acec3 .word 0x080acec3 80abb00: 080ad005 .word 0x080ad005 80abb04: 080ad043 .word 0x080ad043 n = 0; 80abb08: 2300 movs r3, #0 80abb0a: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80abb0e: 4b0b ldr r3, [pc, #44] ; (80abb3c ) 80abb10: 2200 movs r2, #0 80abb12: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80abb14: 2300 movs r3, #0 80abb16: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80abb1a: e0c6 b.n 80abcaa 80abb1c: f3af 8000 nop.w 80abb20: 00000000 .word 0x00000000 80abb24: 3fdf4000 .word 0x3fdf4000 80abb28: 20026224 .word 0x20026224 80abb2c: 20068380 .word 0x20068380 80abb30: 20026d60 .word 0x20026d60 80abb34: 20037aa0 .word 0x20037aa0 80abb38: 20021570 .word 0x20021570 80abb3c: 2002169e .word 0x2002169e arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80abb40: 4b9f ldr r3, [pc, #636] ; (80abdc0 ) 80abb42: 781b ldrb r3, [r3, #0] 80abb44: b2db uxtb r3, r3 80abb46: 4618 mov r0, r3 80abb48: 4b9e ldr r3, [pc, #632] ; (80abdc4 ) 80abb4a: 79db ldrb r3, [r3, #7] 80abb4c: b2db uxtb r3, r3 80abb4e: 4619 mov r1, r3 80abb50: 4a9d ldr r2, [pc, #628] ; (80abdc8 ) 80abb52: 0083 lsls r3, r0, #2 80abb54: 4413 add r3, r2 80abb56: 440b add r3, r1 80abb58: 781b ldrb r3, [r3, #0] 80abb5a: 461a mov r2, r3 80abb5c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abb60: fb03 f302 mul.w r3, r3, r2 80abb64: 4a99 ldr r2, [pc, #612] ; (80abdcc ) 80abb66: 8812 ldrh r2, [r2, #0] 80abb68: b292 uxth r2, r2 80abb6a: 4413 add r3, r2 80abb6c: 009a lsls r2, r3, #2 80abb6e: 4b98 ldr r3, [pc, #608] ; (80abdd0 ) 80abb70: 4413 add r3, r2 80abb72: 461c mov r4, r3 80abb74: 4b92 ldr r3, [pc, #584] ; (80abdc0 ) 80abb76: 781b ldrb r3, [r3, #0] 80abb78: b2db uxtb r3, r3 80abb7a: 4618 mov r0, r3 80abb7c: 4b91 ldr r3, [pc, #580] ; (80abdc4 ) 80abb7e: 79db ldrb r3, [r3, #7] 80abb80: b2db uxtb r3, r3 80abb82: 4619 mov r1, r3 80abb84: 4a90 ldr r2, [pc, #576] ; (80abdc8 ) 80abb86: 0083 lsls r3, r0, #2 80abb88: 4413 add r3, r2 80abb8a: 440b add r3, r1 80abb8c: 781b ldrb r3, [r3, #0] 80abb8e: 4618 mov r0, r3 80abb90: f507 711a add.w r1, r7, #616 ; 0x268 80abb94: f507 731e add.w r3, r7, #632 ; 0x278 80abb98: 1d1a adds r2, r3, #4 80abb9a: 460b mov r3, r1 80abb9c: 4601 mov r1, r0 80abb9e: 4620 mov r0, r4 80abba0: f023 fa38 bl 80cf014 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80abba4: 4b86 ldr r3, [pc, #536] ; (80abdc0 ) 80abba6: 781b ldrb r3, [r3, #0] 80abba8: b2db uxtb r3, r3 80abbaa: 4618 mov r0, r3 80abbac: 4b85 ldr r3, [pc, #532] ; (80abdc4 ) 80abbae: 79db ldrb r3, [r3, #7] 80abbb0: b2db uxtb r3, r3 80abbb2: 4619 mov r1, r3 80abbb4: 4a84 ldr r2, [pc, #528] ; (80abdc8 ) 80abbb6: 0083 lsls r3, r0, #2 80abbb8: 4413 add r3, r2 80abbba: 440b add r3, r1 80abbbc: 781b ldrb r3, [r3, #0] 80abbbe: 461a mov r2, r3 80abbc0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abbc4: fb03 f302 mul.w r3, r3, r2 80abbc8: 4a80 ldr r2, [pc, #512] ; (80abdcc ) 80abbca: 8812 ldrh r2, [r2, #0] 80abbcc: b292 uxth r2, r2 80abbce: 4413 add r3, r2 80abbd0: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80abbd4: 4b7a ldr r3, [pc, #488] ; (80abdc0 ) 80abbd6: 781b ldrb r3, [r3, #0] 80abbd8: b2db uxtb r3, r3 80abbda: 4618 mov r0, r3 80abbdc: 4b79 ldr r3, [pc, #484] ; (80abdc4 ) 80abbde: 79db ldrb r3, [r3, #7] 80abbe0: b2db uxtb r3, r3 80abbe2: 4619 mov r1, r3 80abbe4: 4a78 ldr r2, [pc, #480] ; (80abdc8 ) 80abbe6: 0083 lsls r3, r0, #2 80abbe8: 4413 add r3, r2 80abbea: 440b add r3, r1 80abbec: 781b ldrb r3, [r3, #0] 80abbee: 461a mov r2, r3 80abbf0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abbf4: fb03 f302 mul.w r3, r3, r2 80abbf8: 4a74 ldr r2, [pc, #464] ; (80abdcc ) 80abbfa: 8812 ldrh r2, [r2, #0] 80abbfc: b292 uxth r2, r2 80abbfe: 4413 add r3, r2 80abc00: 4a6f ldr r2, [pc, #444] ; (80abdc0 ) 80abc02: 7812 ldrb r2, [r2, #0] 80abc04: b2d2 uxtb r2, r2 80abc06: 4614 mov r4, r2 80abc08: 4a6e ldr r2, [pc, #440] ; (80abdc4 ) 80abc0a: 79d2 ldrb r2, [r2, #7] 80abc0c: b2d2 uxtb r2, r2 80abc0e: 4610 mov r0, r2 80abc10: 496d ldr r1, [pc, #436] ; (80abdc8 ) 80abc12: 00a2 lsls r2, r4, #2 80abc14: 440a add r2, r1 80abc16: 4402 add r2, r0 80abc18: 7812 ldrb r2, [r2, #0] 80abc1a: 4413 add r3, r2 80abc1c: 3b01 subs r3, #1 80abc1e: f8c7 328c str.w r3, [r7, #652] ; 0x28c 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 for(j = 0; j < 7; j++) 80abc2c: 2300 movs r3, #0 80abc2e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80abc32: e031 b.n 80abc98 if((_Fvr[j] >= iL) && (_Fvr[j] <= iR)) 80abc34: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abc38: 009b lsls r3, r3, #2 80abc3a: f507 722e add.w r2, r7, #696 ; 0x2b8 80abc3e: 4413 add r3, r2 80abc40: f853 3c8c ldr.w r3, [r3, #-140] 80abc44: 461a mov r2, r3 80abc46: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80abc4a: 429a cmp r2, r3 80abc4c: d31f bcc.n 80abc8e 80abc4e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abc52: 009b lsls r3, r3, #2 80abc54: f507 722e add.w r2, r7, #696 ; 0x2b8 80abc58: 4413 add r3, r2 80abc5a: f853 3c8c ldr.w r3, [r3, #-140] 80abc5e: 461a mov r2, r3 80abc60: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80abc64: 429a cmp r2, r3 80abc66: d812 bhi.n 80abc8e LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80abc68: 495a ldr r1, [pc, #360] ; (80abdd4 ) 80abc6a: 485b ldr r0, [pc, #364] ; (80abdd8 ) 80abc6c: f7a9 face bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80abc70: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abc74: b298 uxth r0, r3 80abc76: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abc7a: b29a uxth r2, r3 80abc7c: 23da movs r3, #218 ; 0xda 80abc7e: 212c movs r1, #44 ; 0x2c 80abc80: f7a9 fcfe bl 8055680 n++; 80abc84: f8d7 32a4 ldr.w r3, [r7, #676] ; 0x2a4 80abc88: 3301 adds r3, #1 80abc8a: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 for(j = 0; j < 7; j++) 80abc8e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abc92: 3301 adds r3, #1 80abc94: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80abc98: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abc9c: 2b06 cmp r3, #6 80abc9e: d9c9 bls.n 80abc34 for(i = 0; i < 256; i++) 80abca0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abca4: 3301 adds r3, #1 80abca6: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80abcaa: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abcae: 2bff cmp r3, #255 ; 0xff 80abcb0: f67f af46 bls.w 80abb40 break; 80abcb4: f001 ba93 b.w 80ad1de n = 0; 80abcb8: 2300 movs r3, #0 80abcba: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80abcbe: 4b47 ldr r3, [pc, #284] ; (80abddc ) 80abcc0: 2200 movs r2, #0 80abcc2: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80abcc4: 2300 movs r3, #0 80abcc6: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80abcca: e142 b.n 80abf52 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80abccc: 4b3c ldr r3, [pc, #240] ; (80abdc0 ) 80abcce: 781b ldrb r3, [r3, #0] 80abcd0: b2db uxtb r3, r3 80abcd2: 4618 mov r0, r3 80abcd4: 4b3b ldr r3, [pc, #236] ; (80abdc4 ) 80abcd6: 79db ldrb r3, [r3, #7] 80abcd8: b2db uxtb r3, r3 80abcda: 4619 mov r1, r3 80abcdc: 4a3a ldr r2, [pc, #232] ; (80abdc8 ) 80abcde: 0083 lsls r3, r0, #2 80abce0: 4413 add r3, r2 80abce2: 440b add r3, r1 80abce4: 781b ldrb r3, [r3, #0] 80abce6: 461a mov r2, r3 80abce8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abcec: fb03 f302 mul.w r3, r3, r2 80abcf0: 4a36 ldr r2, [pc, #216] ; (80abdcc ) 80abcf2: 8812 ldrh r2, [r2, #0] 80abcf4: b292 uxth r2, r2 80abcf6: 4413 add r3, r2 80abcf8: 009a lsls r2, r3, #2 80abcfa: 4b35 ldr r3, [pc, #212] ; (80abdd0 ) 80abcfc: 4413 add r3, r2 80abcfe: 461c mov r4, r3 80abd00: 4b2f ldr r3, [pc, #188] ; (80abdc0 ) 80abd02: 781b ldrb r3, [r3, #0] 80abd04: b2db uxtb r3, r3 80abd06: 4618 mov r0, r3 80abd08: 4b2e ldr r3, [pc, #184] ; (80abdc4 ) 80abd0a: 79db ldrb r3, [r3, #7] 80abd0c: b2db uxtb r3, r3 80abd0e: 4619 mov r1, r3 80abd10: 4a2d ldr r2, [pc, #180] ; (80abdc8 ) 80abd12: 0083 lsls r3, r0, #2 80abd14: 4413 add r3, r2 80abd16: 440b add r3, r1 80abd18: 781b ldrb r3, [r3, #0] 80abd1a: 4618 mov r0, r3 80abd1c: f507 711a add.w r1, r7, #616 ; 0x268 80abd20: f507 731e add.w r3, r7, #632 ; 0x278 80abd24: 1d1a adds r2, r3, #4 80abd26: 460b mov r3, r1 80abd28: 4601 mov r1, r0 80abd2a: 4620 mov r0, r4 80abd2c: f023 f972 bl 80cf014 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80abd30: 4b23 ldr r3, [pc, #140] ; (80abdc0 ) 80abd32: 781b ldrb r3, [r3, #0] 80abd34: b2db uxtb r3, r3 80abd36: 4618 mov r0, r3 80abd38: 4b22 ldr r3, [pc, #136] ; (80abdc4 ) 80abd3a: 79db ldrb r3, [r3, #7] 80abd3c: b2db uxtb r3, r3 80abd3e: 4619 mov r1, r3 80abd40: 4a21 ldr r2, [pc, #132] ; (80abdc8 ) 80abd42: 0083 lsls r3, r0, #2 80abd44: 4413 add r3, r2 80abd46: 440b add r3, r1 80abd48: 781b ldrb r3, [r3, #0] 80abd4a: 461a mov r2, r3 80abd4c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abd50: fb03 f302 mul.w r3, r3, r2 80abd54: 4a1d ldr r2, [pc, #116] ; (80abdcc ) 80abd56: 8812 ldrh r2, [r2, #0] 80abd58: b292 uxth r2, r2 80abd5a: 4413 add r3, r2 80abd5c: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80abd60: 4b17 ldr r3, [pc, #92] ; (80abdc0 ) 80abd62: 781b ldrb r3, [r3, #0] 80abd64: b2db uxtb r3, r3 80abd66: 4618 mov r0, r3 80abd68: 4b16 ldr r3, [pc, #88] ; (80abdc4 ) 80abd6a: 79db ldrb r3, [r3, #7] 80abd6c: b2db uxtb r3, r3 80abd6e: 4619 mov r1, r3 80abd70: 4a15 ldr r2, [pc, #84] ; (80abdc8 ) 80abd72: 0083 lsls r3, r0, #2 80abd74: 4413 add r3, r2 80abd76: 440b add r3, r1 80abd78: 781b ldrb r3, [r3, #0] 80abd7a: 461a mov r2, r3 80abd7c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abd80: fb03 f302 mul.w r3, r3, r2 80abd84: 4a11 ldr r2, [pc, #68] ; (80abdcc ) 80abd86: 8812 ldrh r2, [r2, #0] 80abd88: b292 uxth r2, r2 80abd8a: 4413 add r3, r2 80abd8c: 4a0c ldr r2, [pc, #48] ; (80abdc0 ) 80abd8e: 7812 ldrb r2, [r2, #0] 80abd90: b2d2 uxtb r2, r2 80abd92: 4614 mov r4, r2 80abd94: 4a0b ldr r2, [pc, #44] ; (80abdc4 ) 80abd96: 79d2 ldrb r2, [r2, #7] 80abd98: b2d2 uxtb r2, r2 80abd9a: 4610 mov r0, r2 80abd9c: 490a ldr r1, [pc, #40] ; (80abdc8 ) 80abd9e: 00a2 lsls r2, r4, #2 80abda0: 440a add r2, r1 80abda2: 4402 add r2, r0 80abda4: 7812 ldrb r2, [r2, #0] 80abda6: 4413 add r3, r2 80abda8: 3b01 subs r3, #1 80abdaa: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80abdae: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abdb2: 333e adds r3, #62 ; 0x3e 80abdb4: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 11; j++) 80abdb8: 2300 movs r3, #0 80abdba: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80abdbe: e0be b.n 80abf3e 80abdc0: 20020fc0 .word 0x20020fc0 80abdc4: 20023eb8 .word 0x20023eb8 80abdc8: 080f5fec .word 0x080f5fec 80abdcc: 20025d76 .word 0x20025d76 80abdd0: 64080000 .word 0x64080000 80abdd4: ff0a0f1f .word 0xff0a0f1f 80abdd8: ff66a6d3 .word 0xff66a6d3 80abddc: 2002169e .word 0x2002169e if((_Fvr[j] >= iL) && (_Fvr[j] <= iR)) 80abde0: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abde4: 009b lsls r3, r3, #2 80abde6: f507 722e add.w r2, r7, #696 ; 0x2b8 80abdea: 4413 add r3, r2 80abdec: f853 3c8c ldr.w r3, [r3, #-140] 80abdf0: 461a mov r2, r3 80abdf2: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80abdf6: 429a cmp r2, r3 80abdf8: f0c0 809c bcc.w 80abf34 80abdfc: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abe00: 009b lsls r3, r3, #2 80abe02: f507 722e add.w r2, r7, #696 ; 0x2b8 80abe06: 4413 add r3, r2 80abe08: f853 3c8c ldr.w r3, [r3, #-140] 80abe0c: 461a mov r2, r3 80abe0e: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80abe12: 429a cmp r2, r3 80abe14: f200 808e bhi.w 80abf34 LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80abe18: 49c2 ldr r1, [pc, #776] ; (80ac124 ) 80abe1a: 48c3 ldr r0, [pc, #780] ; (80ac128 ) 80abe1c: f7a9 f9f6 bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80abe20: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abe24: b298 uxth r0, r3 80abe26: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abe2a: b29a uxth r2, r3 80abe2c: 23da movs r3, #218 ; 0xda 80abe2e: 212c movs r1, #44 ; 0x2c 80abe30: f7a9 fc26 bl 8055680 if(j & 1) 80abe34: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abe38: f003 0301 and.w r3, r3, #1 80abe3c: 2b00 cmp r3, #0 80abe3e: d079 beq.n 80abf34 if(ViewLevel < 2) 80abe40: 4bba ldr r3, [pc, #744] ; (80ac12c ) 80abe42: 781b ldrb r3, [r3, #0] 80abe44: b2db uxtb r3, r3 80abe46: 2b01 cmp r3, #1 80abe48: d826 bhi.n 80abe98 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80abe4a: 4bb8 ldr r3, [pc, #736] ; (80ac12c ) 80abe4c: 781b ldrb r3, [r3, #0] 80abe4e: b2db uxtb r3, r3 80abe50: 4618 mov r0, r3 80abe52: 4bb7 ldr r3, [pc, #732] ; (80ac130 ) 80abe54: 79db ldrb r3, [r3, #7] 80abe56: b2db uxtb r3, r3 80abe58: 4619 mov r1, r3 80abe5a: 4ab6 ldr r2, [pc, #728] ; (80ac134 ) 80abe5c: 0083 lsls r3, r0, #2 80abe5e: 4413 add r3, r2 80abe60: 440b add r3, r1 80abe62: 781b ldrb r3, [r3, #0] 80abe64: 461a mov r2, r3 80abe66: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abe6a: fb03 f302 mul.w r3, r3, r2 80abe6e: 4ab2 ldr r2, [pc, #712] ; (80ac138 ) 80abe70: 8812 ldrh r2, [r2, #0] 80abe72: b292 uxth r2, r2 80abe74: 4413 add r3, r2 80abe76: 2b00 cmp r3, #0 80abe78: d05c beq.n 80abf34 BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80abe7a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abe7e: b29b uxth r3, r3 80abe80: 3b01 subs r3, #1 80abe82: b298 uxth r0, r3 80abe84: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abe88: b29b uxth r3, r3 80abe8a: 3b01 subs r3, #1 80abe8c: b29a uxth r2, r3 80abe8e: 23da movs r3, #218 ; 0xda 80abe90: 212c movs r1, #44 ; 0x2c 80abe92: f7a9 fbf5 bl 8055680 80abe96: e04d b.n 80abf34 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80abe98: 4ba4 ldr r3, [pc, #656] ; (80ac12c ) 80abe9a: 781b ldrb r3, [r3, #0] 80abe9c: b2db uxtb r3, r3 80abe9e: 4618 mov r0, r3 80abea0: 4ba3 ldr r3, [pc, #652] ; (80ac130 ) 80abea2: 79db ldrb r3, [r3, #7] 80abea4: b2db uxtb r3, r3 80abea6: 4619 mov r1, r3 80abea8: 4aa2 ldr r2, [pc, #648] ; (80ac134 ) 80abeaa: 0083 lsls r3, r0, #2 80abeac: 4413 add r3, r2 80abeae: 440b add r3, r1 80abeb0: 781b ldrb r3, [r3, #0] 80abeb2: 461a mov r2, r3 80abeb4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abeb8: fb03 f302 mul.w r3, r3, r2 80abebc: 4a9e ldr r2, [pc, #632] ; (80ac138 ) 80abebe: 8812 ldrh r2, [r2, #0] 80abec0: b292 uxth r2, r2 80abec2: 4413 add r3, r2 80abec4: 2b00 cmp r3, #0 80abec6: d00d beq.n 80abee4 BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80abec8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abecc: b29b uxth r3, r3 80abece: 3b01 subs r3, #1 80abed0: b298 uxth r0, r3 80abed2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abed6: b29b uxth r3, r3 80abed8: 3b01 subs r3, #1 80abeda: b29a uxth r2, r3 80abedc: 23da movs r3, #218 ; 0xda 80abede: 212c movs r1, #44 ; 0x2c 80abee0: f7a9 fbce bl 8055680 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 < 4095) 80abee4: 4b91 ldr r3, [pc, #580] ; (80ac12c ) 80abee6: 781b ldrb r3, [r3, #0] 80abee8: b2db uxtb r3, r3 80abeea: 4618 mov r0, r3 80abeec: 4b90 ldr r3, [pc, #576] ; (80ac130 ) 80abeee: 79db ldrb r3, [r3, #7] 80abef0: b2db uxtb r3, r3 80abef2: 4619 mov r1, r3 80abef4: 4a8f ldr r2, [pc, #572] ; (80ac134 ) 80abef6: 0083 lsls r3, r0, #2 80abef8: 4413 add r3, r2 80abefa: 440b add r3, r1 80abefc: 781b ldrb r3, [r3, #0] 80abefe: 461a mov r2, r3 80abf00: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abf04: fb03 f302 mul.w r3, r3, r2 80abf08: 4a8b ldr r2, [pc, #556] ; (80ac138 ) 80abf0a: 8812 ldrh r2, [r2, #0] 80abf0c: b292 uxth r2, r2 80abf0e: 4413 add r3, r2 80abf10: f640 72fe movw r2, #4094 ; 0xffe 80abf14: 4293 cmp r3, r2 80abf16: d80d bhi.n 80abf34 BSP_LCD_DrawLine(x+1, 44, x+1, 218); 80abf18: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abf1c: b29b uxth r3, r3 80abf1e: 3301 adds r3, #1 80abf20: b298 uxth r0, r3 80abf22: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abf26: b29b uxth r3, r3 80abf28: 3301 adds r3, #1 80abf2a: b29a uxth r2, r3 80abf2c: 23da movs r3, #218 ; 0xda 80abf2e: 212c movs r1, #44 ; 0x2c 80abf30: f7a9 fba6 bl 8055680 for(j = 0; j < 11; j++) 80abf34: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abf38: 3301 adds r3, #1 80abf3a: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80abf3e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abf42: 2b0a cmp r3, #10 80abf44: f67f af4c bls.w 80abde0 for(i = 0; i < 256; i++) 80abf48: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abf4c: 3301 adds r3, #1 80abf4e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80abf52: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abf56: 2bff cmp r3, #255 ; 0xff 80abf58: f67f aeb8 bls.w 80abccc break; 80abf5c: f001 b93f b.w 80ad1de n = 0; 80abf60: 2300 movs r3, #0 80abf62: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80abf66: 4b75 ldr r3, [pc, #468] ; (80ac13c ) 80abf68: 2200 movs r2, #0 80abf6a: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80abf6c: 2300 movs r3, #0 80abf6e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80abf72: e146 b.n 80ac202 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80abf74: 4b6d ldr r3, [pc, #436] ; (80ac12c ) 80abf76: 781b ldrb r3, [r3, #0] 80abf78: b2db uxtb r3, r3 80abf7a: 4618 mov r0, r3 80abf7c: 4b6c ldr r3, [pc, #432] ; (80ac130 ) 80abf7e: 79db ldrb r3, [r3, #7] 80abf80: b2db uxtb r3, r3 80abf82: 4619 mov r1, r3 80abf84: 4a6b ldr r2, [pc, #428] ; (80ac134 ) 80abf86: 0083 lsls r3, r0, #2 80abf88: 4413 add r3, r2 80abf8a: 440b add r3, r1 80abf8c: 781b ldrb r3, [r3, #0] 80abf8e: 461a mov r2, r3 80abf90: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abf94: fb03 f302 mul.w r3, r3, r2 80abf98: 4a67 ldr r2, [pc, #412] ; (80ac138 ) 80abf9a: 8812 ldrh r2, [r2, #0] 80abf9c: b292 uxth r2, r2 80abf9e: 4413 add r3, r2 80abfa0: 009a lsls r2, r3, #2 80abfa2: 4b67 ldr r3, [pc, #412] ; (80ac140 ) 80abfa4: 4413 add r3, r2 80abfa6: 461c mov r4, r3 80abfa8: 4b60 ldr r3, [pc, #384] ; (80ac12c ) 80abfaa: 781b ldrb r3, [r3, #0] 80abfac: b2db uxtb r3, r3 80abfae: 4618 mov r0, r3 80abfb0: 4b5f ldr r3, [pc, #380] ; (80ac130 ) 80abfb2: 79db ldrb r3, [r3, #7] 80abfb4: b2db uxtb r3, r3 80abfb6: 4619 mov r1, r3 80abfb8: 4a5e ldr r2, [pc, #376] ; (80ac134 ) 80abfba: 0083 lsls r3, r0, #2 80abfbc: 4413 add r3, r2 80abfbe: 440b add r3, r1 80abfc0: 781b ldrb r3, [r3, #0] 80abfc2: 4618 mov r0, r3 80abfc4: f507 711a add.w r1, r7, #616 ; 0x268 80abfc8: f507 731e add.w r3, r7, #632 ; 0x278 80abfcc: 1d1a adds r2, r3, #4 80abfce: 460b mov r3, r1 80abfd0: 4601 mov r1, r0 80abfd2: 4620 mov r0, r4 80abfd4: f023 f81e bl 80cf014 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80abfd8: 4b54 ldr r3, [pc, #336] ; (80ac12c ) 80abfda: 781b ldrb r3, [r3, #0] 80abfdc: b2db uxtb r3, r3 80abfde: 4618 mov r0, r3 80abfe0: 4b53 ldr r3, [pc, #332] ; (80ac130 ) 80abfe2: 79db ldrb r3, [r3, #7] 80abfe4: b2db uxtb r3, r3 80abfe6: 4619 mov r1, r3 80abfe8: 4a52 ldr r2, [pc, #328] ; (80ac134 ) 80abfea: 0083 lsls r3, r0, #2 80abfec: 4413 add r3, r2 80abfee: 440b add r3, r1 80abff0: 781b ldrb r3, [r3, #0] 80abff2: 461a mov r2, r3 80abff4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abff8: fb03 f302 mul.w r3, r3, r2 80abffc: 4a4e ldr r2, [pc, #312] ; (80ac138 ) 80abffe: 8812 ldrh r2, [r2, #0] 80ac000: b292 uxth r2, r2 80ac002: 4413 add r3, r2 80ac004: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80ac008: 4b48 ldr r3, [pc, #288] ; (80ac12c ) 80ac00a: 781b ldrb r3, [r3, #0] 80ac00c: b2db uxtb r3, r3 80ac00e: 4618 mov r0, r3 80ac010: 4b47 ldr r3, [pc, #284] ; (80ac130 ) 80ac012: 79db ldrb r3, [r3, #7] 80ac014: b2db uxtb r3, r3 80ac016: 4619 mov r1, r3 80ac018: 4a46 ldr r2, [pc, #280] ; (80ac134 ) 80ac01a: 0083 lsls r3, r0, #2 80ac01c: 4413 add r3, r2 80ac01e: 440b add r3, r1 80ac020: 781b ldrb r3, [r3, #0] 80ac022: 461a mov r2, r3 80ac024: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac028: fb03 f302 mul.w r3, r3, r2 80ac02c: 4a42 ldr r2, [pc, #264] ; (80ac138 ) 80ac02e: 8812 ldrh r2, [r2, #0] 80ac030: b292 uxth r2, r2 80ac032: 4413 add r3, r2 80ac034: 4a3d ldr r2, [pc, #244] ; (80ac12c ) 80ac036: 7812 ldrb r2, [r2, #0] 80ac038: b2d2 uxtb r2, r2 80ac03a: 4614 mov r4, r2 80ac03c: 4a3c ldr r2, [pc, #240] ; (80ac130 ) 80ac03e: 79d2 ldrb r2, [r2, #7] 80ac040: b2d2 uxtb r2, r2 80ac042: 4610 mov r0, r2 80ac044: 493b ldr r1, [pc, #236] ; (80ac134 ) 80ac046: 00a2 lsls r2, r4, #2 80ac048: 440a add r2, r1 80ac04a: 4402 add r2, r0 80ac04c: 7812 ldrb r2, [r2, #0] 80ac04e: 4413 add r3, r2 80ac050: 3b01 subs r3, #1 80ac052: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80ac056: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac05a: 333e adds r3, #62 ; 0x3e 80ac05c: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 4; j++) 80ac060: 2300 movs r3, #0 80ac062: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ac066: e0c2 b.n 80ac1ee if((_Fn[j] >= iL) && (_Fn[j] <= iR)) 80ac068: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac06c: 009b lsls r3, r3, #2 80ac06e: f507 722e add.w r2, r7, #696 ; 0x2b8 80ac072: 4413 add r3, r2 80ac074: f853 3cc8 ldr.w r3, [r3, #-200] 80ac078: 461a mov r2, r3 80ac07a: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80ac07e: 429a cmp r2, r3 80ac080: f0c0 80b0 bcc.w 80ac1e4 80ac084: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac088: 009b lsls r3, r3, #2 80ac08a: f507 722e add.w r2, r7, #696 ; 0x2b8 80ac08e: 4413 add r3, r2 80ac090: f853 3cc8 ldr.w r3, [r3, #-200] 80ac094: 461a mov r2, r3 80ac096: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ac09a: 429a cmp r2, r3 80ac09c: f200 80a2 bhi.w 80ac1e4 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80ac0a0: 4920 ldr r1, [pc, #128] ; (80ac124 ) 80ac0a2: 4828 ldr r0, [pc, #160] ; (80ac144 ) 80ac0a4: f7a9 f8b2 bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80ac0a8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac0ac: b298 uxth r0, r3 80ac0ae: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac0b2: b29a uxth r2, r3 80ac0b4: 23da movs r3, #218 ; 0xda 80ac0b6: 212c movs r1, #44 ; 0x2c 80ac0b8: f7a9 fae2 bl 8055680 if(j & 1) 80ac0bc: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac0c0: f003 0301 and.w r3, r3, #1 80ac0c4: 2b00 cmp r3, #0 80ac0c6: f000 808d beq.w 80ac1e4 if(ViewLevel < 2) 80ac0ca: 4b18 ldr r3, [pc, #96] ; (80ac12c ) 80ac0cc: 781b ldrb r3, [r3, #0] 80ac0ce: b2db uxtb r3, r3 80ac0d0: 2b01 cmp r3, #1 80ac0d2: d839 bhi.n 80ac148 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80ac0d4: 4b15 ldr r3, [pc, #84] ; (80ac12c ) 80ac0d6: 781b ldrb r3, [r3, #0] 80ac0d8: b2db uxtb r3, r3 80ac0da: 4618 mov r0, r3 80ac0dc: 4b14 ldr r3, [pc, #80] ; (80ac130 ) 80ac0de: 79db ldrb r3, [r3, #7] 80ac0e0: b2db uxtb r3, r3 80ac0e2: 4619 mov r1, r3 80ac0e4: 4a13 ldr r2, [pc, #76] ; (80ac134 ) 80ac0e6: 0083 lsls r3, r0, #2 80ac0e8: 4413 add r3, r2 80ac0ea: 440b add r3, r1 80ac0ec: 781b ldrb r3, [r3, #0] 80ac0ee: 461a mov r2, r3 80ac0f0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac0f4: fb03 f302 mul.w r3, r3, r2 80ac0f8: 4a0f ldr r2, [pc, #60] ; (80ac138 ) 80ac0fa: 8812 ldrh r2, [r2, #0] 80ac0fc: b292 uxth r2, r2 80ac0fe: 4413 add r3, r2 80ac100: 2b00 cmp r3, #0 80ac102: d06f beq.n 80ac1e4 BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80ac104: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac108: b29b uxth r3, r3 80ac10a: 3b01 subs r3, #1 80ac10c: b298 uxth r0, r3 80ac10e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac112: b29b uxth r3, r3 80ac114: 3b01 subs r3, #1 80ac116: b29a uxth r2, r3 80ac118: 23da movs r3, #218 ; 0xda 80ac11a: 212c movs r1, #44 ; 0x2c 80ac11c: f7a9 fab0 bl 8055680 80ac120: e060 b.n 80ac1e4 80ac122: bf00 nop 80ac124: ff0a0f1f .word 0xff0a0f1f 80ac128: ff66a6d3 .word 0xff66a6d3 80ac12c: 20020fc0 .word 0x20020fc0 80ac130: 20023eb8 .word 0x20023eb8 80ac134: 080f5fec .word 0x080f5fec 80ac138: 20025d76 .word 0x20025d76 80ac13c: 2002169e .word 0x2002169e 80ac140: 64080000 .word 0x64080000 80ac144: ff800080 .word 0xff800080 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80ac148: 4bbb ldr r3, [pc, #748] ; (80ac438 ) 80ac14a: 781b ldrb r3, [r3, #0] 80ac14c: b2db uxtb r3, r3 80ac14e: 4618 mov r0, r3 80ac150: 4bba ldr r3, [pc, #744] ; (80ac43c ) 80ac152: 79db ldrb r3, [r3, #7] 80ac154: b2db uxtb r3, r3 80ac156: 4619 mov r1, r3 80ac158: 4ab9 ldr r2, [pc, #740] ; (80ac440 ) 80ac15a: 0083 lsls r3, r0, #2 80ac15c: 4413 add r3, r2 80ac15e: 440b add r3, r1 80ac160: 781b ldrb r3, [r3, #0] 80ac162: 461a mov r2, r3 80ac164: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac168: fb03 f302 mul.w r3, r3, r2 80ac16c: 4ab5 ldr r2, [pc, #724] ; (80ac444 ) 80ac16e: 8812 ldrh r2, [r2, #0] 80ac170: b292 uxth r2, r2 80ac172: 4413 add r3, r2 80ac174: 2b00 cmp r3, #0 80ac176: d00d beq.n 80ac194 BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80ac178: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac17c: b29b uxth r3, r3 80ac17e: 3b01 subs r3, #1 80ac180: b298 uxth r0, r3 80ac182: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac186: b29b uxth r3, r3 80ac188: 3b01 subs r3, #1 80ac18a: b29a uxth r2, r3 80ac18c: 23da movs r3, #218 ; 0xda 80ac18e: 212c movs r1, #44 ; 0x2c 80ac190: f7a9 fa76 bl 8055680 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 < 4095) 80ac194: 4ba8 ldr r3, [pc, #672] ; (80ac438 ) 80ac196: 781b ldrb r3, [r3, #0] 80ac198: b2db uxtb r3, r3 80ac19a: 4618 mov r0, r3 80ac19c: 4ba7 ldr r3, [pc, #668] ; (80ac43c ) 80ac19e: 79db ldrb r3, [r3, #7] 80ac1a0: b2db uxtb r3, r3 80ac1a2: 4619 mov r1, r3 80ac1a4: 4aa6 ldr r2, [pc, #664] ; (80ac440 ) 80ac1a6: 0083 lsls r3, r0, #2 80ac1a8: 4413 add r3, r2 80ac1aa: 440b add r3, r1 80ac1ac: 781b ldrb r3, [r3, #0] 80ac1ae: 461a mov r2, r3 80ac1b0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac1b4: fb03 f302 mul.w r3, r3, r2 80ac1b8: 4aa2 ldr r2, [pc, #648] ; (80ac444 ) 80ac1ba: 8812 ldrh r2, [r2, #0] 80ac1bc: b292 uxth r2, r2 80ac1be: 4413 add r3, r2 80ac1c0: f640 72fe movw r2, #4094 ; 0xffe 80ac1c4: 4293 cmp r3, r2 80ac1c6: d80d bhi.n 80ac1e4 BSP_LCD_DrawLine(x+1, 44, x+1, 218); 80ac1c8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac1cc: b29b uxth r3, r3 80ac1ce: 3301 adds r3, #1 80ac1d0: b298 uxth r0, r3 80ac1d2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac1d6: b29b uxth r3, r3 80ac1d8: 3301 adds r3, #1 80ac1da: b29a uxth r2, r3 80ac1dc: 23da movs r3, #218 ; 0xda 80ac1de: 212c movs r1, #44 ; 0x2c 80ac1e0: f7a9 fa4e bl 8055680 for(j = 0; j < 4; j++) 80ac1e4: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac1e8: 3301 adds r3, #1 80ac1ea: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ac1ee: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac1f2: 2b03 cmp r3, #3 80ac1f4: f67f af38 bls.w 80ac068 for(i = 0; i < 256; i++) 80ac1f8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac1fc: 3301 adds r3, #1 80ac1fe: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ac202: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac206: 2bff cmp r3, #255 ; 0xff 80ac208: f67f aeb4 bls.w 80abf74 break; 80ac20c: f000 bfe7 b.w 80ad1de n = 0; 80ac210: 2300 movs r3, #0 80ac212: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80ac216: 4b8c ldr r3, [pc, #560] ; (80ac448 ) 80ac218: 2200 movs r2, #0 80ac21a: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80ac21c: 2300 movs r3, #0 80ac21e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ac222: e0b9 b.n 80ac398 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80ac224: 4b84 ldr r3, [pc, #528] ; (80ac438 ) 80ac226: 781b ldrb r3, [r3, #0] 80ac228: b2db uxtb r3, r3 80ac22a: 4618 mov r0, r3 80ac22c: 4b83 ldr r3, [pc, #524] ; (80ac43c ) 80ac22e: 79db ldrb r3, [r3, #7] 80ac230: b2db uxtb r3, r3 80ac232: 4619 mov r1, r3 80ac234: 4a82 ldr r2, [pc, #520] ; (80ac440 ) 80ac236: 0083 lsls r3, r0, #2 80ac238: 4413 add r3, r2 80ac23a: 440b add r3, r1 80ac23c: 781b ldrb r3, [r3, #0] 80ac23e: 461a mov r2, r3 80ac240: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac244: fb03 f302 mul.w r3, r3, r2 80ac248: 4a7e ldr r2, [pc, #504] ; (80ac444 ) 80ac24a: 8812 ldrh r2, [r2, #0] 80ac24c: b292 uxth r2, r2 80ac24e: 4413 add r3, r2 80ac250: 009a lsls r2, r3, #2 80ac252: 4b7e ldr r3, [pc, #504] ; (80ac44c ) 80ac254: 4413 add r3, r2 80ac256: 461c mov r4, r3 80ac258: 4b77 ldr r3, [pc, #476] ; (80ac438 ) 80ac25a: 781b ldrb r3, [r3, #0] 80ac25c: b2db uxtb r3, r3 80ac25e: 4618 mov r0, r3 80ac260: 4b76 ldr r3, [pc, #472] ; (80ac43c ) 80ac262: 79db ldrb r3, [r3, #7] 80ac264: b2db uxtb r3, r3 80ac266: 4619 mov r1, r3 80ac268: 4a75 ldr r2, [pc, #468] ; (80ac440 ) 80ac26a: 0083 lsls r3, r0, #2 80ac26c: 4413 add r3, r2 80ac26e: 440b add r3, r1 80ac270: 781b ldrb r3, [r3, #0] 80ac272: 4618 mov r0, r3 80ac274: f507 711a add.w r1, r7, #616 ; 0x268 80ac278: f507 731e add.w r3, r7, #632 ; 0x278 80ac27c: 1d1a adds r2, r3, #4 80ac27e: 460b mov r3, r1 80ac280: 4601 mov r1, r0 80ac282: 4620 mov r0, r4 80ac284: f022 fec6 bl 80cf014 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80ac288: 4b6b ldr r3, [pc, #428] ; (80ac438 ) 80ac28a: 781b ldrb r3, [r3, #0] 80ac28c: b2db uxtb r3, r3 80ac28e: 4618 mov r0, r3 80ac290: 4b6a ldr r3, [pc, #424] ; (80ac43c ) 80ac292: 79db ldrb r3, [r3, #7] 80ac294: b2db uxtb r3, r3 80ac296: 4619 mov r1, r3 80ac298: 4a69 ldr r2, [pc, #420] ; (80ac440 ) 80ac29a: 0083 lsls r3, r0, #2 80ac29c: 4413 add r3, r2 80ac29e: 440b add r3, r1 80ac2a0: 781b ldrb r3, [r3, #0] 80ac2a2: 461a mov r2, r3 80ac2a4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac2a8: fb03 f302 mul.w r3, r3, r2 80ac2ac: 4a65 ldr r2, [pc, #404] ; (80ac444 ) 80ac2ae: 8812 ldrh r2, [r2, #0] 80ac2b0: b292 uxth r2, r2 80ac2b2: 4413 add r3, r2 80ac2b4: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80ac2b8: 4b5f ldr r3, [pc, #380] ; (80ac438 ) 80ac2ba: 781b ldrb r3, [r3, #0] 80ac2bc: b2db uxtb r3, r3 80ac2be: 4618 mov r0, r3 80ac2c0: 4b5e ldr r3, [pc, #376] ; (80ac43c ) 80ac2c2: 79db ldrb r3, [r3, #7] 80ac2c4: b2db uxtb r3, r3 80ac2c6: 4619 mov r1, r3 80ac2c8: 4a5d ldr r2, [pc, #372] ; (80ac440 ) 80ac2ca: 0083 lsls r3, r0, #2 80ac2cc: 4413 add r3, r2 80ac2ce: 440b add r3, r1 80ac2d0: 781b ldrb r3, [r3, #0] 80ac2d2: 461a mov r2, r3 80ac2d4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac2d8: fb03 f302 mul.w r3, r3, r2 80ac2dc: 4a59 ldr r2, [pc, #356] ; (80ac444 ) 80ac2de: 8812 ldrh r2, [r2, #0] 80ac2e0: b292 uxth r2, r2 80ac2e2: 4413 add r3, r2 80ac2e4: 4a54 ldr r2, [pc, #336] ; (80ac438 ) 80ac2e6: 7812 ldrb r2, [r2, #0] 80ac2e8: b2d2 uxtb r2, r2 80ac2ea: 4614 mov r4, r2 80ac2ec: 4a53 ldr r2, [pc, #332] ; (80ac43c ) 80ac2ee: 79d2 ldrb r2, [r2, #7] 80ac2f0: b2d2 uxtb r2, r2 80ac2f2: 4610 mov r0, r2 80ac2f4: 4952 ldr r1, [pc, #328] ; (80ac440 ) 80ac2f6: 00a2 lsls r2, r4, #2 80ac2f8: 440a add r2, r1 80ac2fa: 4402 add r2, r0 80ac2fc: 7812 ldrb r2, [r2, #0] 80ac2fe: 4413 add r3, r2 80ac300: 3b01 subs r3, #1 80ac302: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80ac306: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac30a: 333e adds r3, #62 ; 0x3e 80ac30c: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 3; j++) 80ac310: 2300 movs r3, #0 80ac312: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ac316: e036 b.n 80ac386 if((_Fn[j] >= iL) && (_Fn[j] <= iR)) 80ac318: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac31c: 009b lsls r3, r3, #2 80ac31e: f507 722e add.w r2, r7, #696 ; 0x2b8 80ac322: 4413 add r3, r2 80ac324: f853 3cc8 ldr.w r3, [r3, #-200] 80ac328: 461a mov r2, r3 80ac32a: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80ac32e: 429a cmp r2, r3 80ac330: d324 bcc.n 80ac37c 80ac332: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac336: 009b lsls r3, r3, #2 80ac338: f507 722e add.w r2, r7, #696 ; 0x2b8 80ac33c: 4413 add r3, r2 80ac33e: f853 3cc8 ldr.w r3, [r3, #-200] 80ac342: 461a mov r2, r3 80ac344: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ac348: 429a cmp r2, r3 80ac34a: d817 bhi.n 80ac37c LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80ac34c: 4940 ldr r1, [pc, #256] ; (80ac450 ) 80ac34e: 4841 ldr r0, [pc, #260] ; (80ac454 ) 80ac350: f7a8 ff5c bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80ac354: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac358: b298 uxth r0, r3 80ac35a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac35e: b29a uxth r2, r3 80ac360: 23da movs r3, #218 ; 0xda 80ac362: 212c movs r1, #44 ; 0x2c 80ac364: f7a9 f98c bl 8055680 nnn[j] = i; 80ac368: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac36c: b2d9 uxtb r1, r3 80ac36e: f107 020c add.w r2, r7, #12 80ac372: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac376: 4413 add r3, r2 80ac378: 460a mov r2, r1 80ac37a: 701a strb r2, [r3, #0] for(j = 0; j < 3; j++) 80ac37c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac380: 3301 adds r3, #1 80ac382: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ac386: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac38a: 2b02 cmp r3, #2 80ac38c: d9c4 bls.n 80ac318 for(i = 0; i < 256; i++) 80ac38e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac392: 3301 adds r3, #1 80ac394: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ac398: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac39c: 2bff cmp r3, #255 ; 0xff 80ac39e: f67f af41 bls.w 80ac224 if((!nnn[2]) && (!nnn[1]) && (!nnn[0])) 80ac3a2: f107 030c add.w r3, r7, #12 80ac3a6: 789b ldrb r3, [r3, #2] 80ac3a8: 2b00 cmp r3, #0 80ac3aa: d10a bne.n 80ac3c2 80ac3ac: f107 030c add.w r3, r7, #12 80ac3b0: 785b ldrb r3, [r3, #1] 80ac3b2: 2b00 cmp r3, #0 80ac3b4: d105 bne.n 80ac3c2 80ac3b6: f107 030c add.w r3, r7, #12 80ac3ba: 781b ldrb r3, [r3, #0] 80ac3bc: 2b00 cmp r3, #0 80ac3be: f000 80e0 beq.w 80ac582 if((!nnn[2]) && (!nnn[1]) && (nnn[0])) 80ac3c2: f107 030c add.w r3, r7, #12 80ac3c6: 789b ldrb r3, [r3, #2] 80ac3c8: 2b00 cmp r3, #0 80ac3ca: d11a bne.n 80ac402 80ac3cc: f107 030c add.w r3, r7, #12 80ac3d0: 785b ldrb r3, [r3, #1] 80ac3d2: 2b00 cmp r3, #0 80ac3d4: d115 bne.n 80ac402 80ac3d6: f107 030c add.w r3, r7, #12 80ac3da: 781b ldrb r3, [r3, #0] 80ac3dc: 2b00 cmp r3, #0 80ac3de: d010 beq.n 80ac402 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80ac3e0: 491b ldr r1, [pc, #108] ; (80ac450 ) 80ac3e2: 481c ldr r0, [pc, #112] ; (80ac454 ) 80ac3e4: f7a8 ff12 bl 805520c BSP_LCD_DrawLine(62 + 255, 98, 62 + nnn[0], 64); 80ac3e8: f107 030c add.w r3, r7, #12 80ac3ec: 781b ldrb r3, [r3, #0] 80ac3ee: b29b uxth r3, r3 80ac3f0: 333e adds r3, #62 ; 0x3e 80ac3f2: b29a uxth r2, r3 80ac3f4: 2340 movs r3, #64 ; 0x40 80ac3f6: 2162 movs r1, #98 ; 0x62 80ac3f8: f240 103d movw r0, #317 ; 0x13d 80ac3fc: f7a9 f940 bl 8055680 80ac400: e0bf b.n 80ac582 if((!nnn[2]) && (nnn[1]) && (!nnn[0])) 80ac402: f107 030c add.w r3, r7, #12 80ac406: 789b ldrb r3, [r3, #2] 80ac408: 2b00 cmp r3, #0 80ac40a: d125 bne.n 80ac458 80ac40c: f107 030c add.w r3, r7, #12 80ac410: 785b ldrb r3, [r3, #1] 80ac412: 2b00 cmp r3, #0 80ac414: d020 beq.n 80ac458 80ac416: f107 030c add.w r3, r7, #12 80ac41a: 781b ldrb r3, [r3, #0] 80ac41c: 2b00 cmp r3, #0 80ac41e: d11b bne.n 80ac458 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80ac420: 490b ldr r1, [pc, #44] ; (80ac450 ) 80ac422: 480c ldr r0, [pc, #48] ; (80ac454 ) 80ac424: f7a8 fef2 bl 805520c BSP_LCD_DrawLine(62 + 255, 98, 62, 64); 80ac428: 2340 movs r3, #64 ; 0x40 80ac42a: 223e movs r2, #62 ; 0x3e 80ac42c: 2162 movs r1, #98 ; 0x62 80ac42e: f240 103d movw r0, #317 ; 0x13d 80ac432: f7a9 f925 bl 8055680 80ac436: e0a4 b.n 80ac582 80ac438: 20020fc0 .word 0x20020fc0 80ac43c: 20023eb8 .word 0x20023eb8 80ac440: 080f5fec .word 0x080f5fec 80ac444: 20025d76 .word 0x20025d76 80ac448: 2002169e .word 0x2002169e 80ac44c: 64080000 .word 0x64080000 80ac450: ff0a0f1f .word 0xff0a0f1f 80ac454: ff800080 .word 0xff800080 if((!nnn[2]) && (nnn[1]) && (nnn[0])) 80ac458: f107 030c add.w r3, r7, #12 80ac45c: 789b ldrb r3, [r3, #2] 80ac45e: 2b00 cmp r3, #0 80ac460: d11a bne.n 80ac498 80ac462: f107 030c add.w r3, r7, #12 80ac466: 785b ldrb r3, [r3, #1] 80ac468: 2b00 cmp r3, #0 80ac46a: d015 beq.n 80ac498 80ac46c: f107 030c add.w r3, r7, #12 80ac470: 781b ldrb r3, [r3, #0] 80ac472: 2b00 cmp r3, #0 80ac474: d010 beq.n 80ac498 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80ac476: 49a6 ldr r1, [pc, #664] ; (80ac710 ) 80ac478: 48a6 ldr r0, [pc, #664] ; (80ac714 ) 80ac47a: f7a8 fec7 bl 805520c BSP_LCD_DrawLine(62 + 255, 98, 62 + nnn[0], 64); 80ac47e: f107 030c add.w r3, r7, #12 80ac482: 781b ldrb r3, [r3, #0] 80ac484: b29b uxth r3, r3 80ac486: 333e adds r3, #62 ; 0x3e 80ac488: b29a uxth r2, r3 80ac48a: 2340 movs r3, #64 ; 0x40 80ac48c: 2162 movs r1, #98 ; 0x62 80ac48e: f240 103d movw r0, #317 ; 0x13d 80ac492: f7a9 f8f5 bl 8055680 80ac496: e074 b.n 80ac582 if((nnn[2]) && (!nnn[1]) && (!nnn[0])) 80ac498: f107 030c add.w r3, r7, #12 80ac49c: 789b ldrb r3, [r3, #2] 80ac49e: 2b00 cmp r3, #0 80ac4a0: d019 beq.n 80ac4d6 80ac4a2: f107 030c add.w r3, r7, #12 80ac4a6: 785b ldrb r3, [r3, #1] 80ac4a8: 2b00 cmp r3, #0 80ac4aa: d114 bne.n 80ac4d6 80ac4ac: f107 030c add.w r3, r7, #12 80ac4b0: 781b ldrb r3, [r3, #0] 80ac4b2: 2b00 cmp r3, #0 80ac4b4: d10f bne.n 80ac4d6 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80ac4b6: 4996 ldr r1, [pc, #600] ; (80ac710 ) 80ac4b8: 4896 ldr r0, [pc, #600] ; (80ac714 ) 80ac4ba: f7a8 fea7 bl 805520c BSP_LCD_DrawLine(62 + nnn[2], 98, 62, 64); 80ac4be: f107 030c add.w r3, r7, #12 80ac4c2: 789b ldrb r3, [r3, #2] 80ac4c4: b29b uxth r3, r3 80ac4c6: 333e adds r3, #62 ; 0x3e 80ac4c8: b298 uxth r0, r3 80ac4ca: 2340 movs r3, #64 ; 0x40 80ac4cc: 223e movs r2, #62 ; 0x3e 80ac4ce: 2162 movs r1, #98 ; 0x62 80ac4d0: f7a9 f8d6 bl 8055680 80ac4d4: e055 b.n 80ac582 if((nnn[2]) && (!nnn[1]) && (nnn[0])) 80ac4d6: f107 030c add.w r3, r7, #12 80ac4da: 789b ldrb r3, [r3, #2] 80ac4dc: 2b00 cmp r3, #0 80ac4de: d009 beq.n 80ac4f4 80ac4e0: f107 030c add.w r3, r7, #12 80ac4e4: 785b ldrb r3, [r3, #1] 80ac4e6: 2b00 cmp r3, #0 80ac4e8: d104 bne.n 80ac4f4 80ac4ea: f107 030c add.w r3, r7, #12 80ac4ee: 781b ldrb r3, [r3, #0] 80ac4f0: 2b00 cmp r3, #0 80ac4f2: d146 bne.n 80ac582 if((nnn[2]) && (nnn[1]) && (!nnn[0])) 80ac4f4: f107 030c add.w r3, r7, #12 80ac4f8: 789b ldrb r3, [r3, #2] 80ac4fa: 2b00 cmp r3, #0 80ac4fc: d019 beq.n 80ac532 80ac4fe: f107 030c add.w r3, r7, #12 80ac502: 785b ldrb r3, [r3, #1] 80ac504: 2b00 cmp r3, #0 80ac506: d014 beq.n 80ac532 80ac508: f107 030c add.w r3, r7, #12 80ac50c: 781b ldrb r3, [r3, #0] 80ac50e: 2b00 cmp r3, #0 80ac510: d10f bne.n 80ac532 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80ac512: 497f ldr r1, [pc, #508] ; (80ac710 ) 80ac514: 487f ldr r0, [pc, #508] ; (80ac714 ) 80ac516: f7a8 fe79 bl 805520c BSP_LCD_DrawLine(62 + nnn[2], 98, 62, 64); 80ac51a: f107 030c add.w r3, r7, #12 80ac51e: 789b ldrb r3, [r3, #2] 80ac520: b29b uxth r3, r3 80ac522: 333e adds r3, #62 ; 0x3e 80ac524: b298 uxth r0, r3 80ac526: 2340 movs r3, #64 ; 0x40 80ac528: 223e movs r2, #62 ; 0x3e 80ac52a: 2162 movs r1, #98 ; 0x62 80ac52c: f7a9 f8a8 bl 8055680 80ac530: e027 b.n 80ac582 if((nnn[2]) && (nnn[1]) && (nnn[0])) 80ac532: f107 030c add.w r3, r7, #12 80ac536: 789b ldrb r3, [r3, #2] 80ac538: 2b00 cmp r3, #0 80ac53a: f000 864f beq.w 80ad1dc 80ac53e: f107 030c add.w r3, r7, #12 80ac542: 785b ldrb r3, [r3, #1] 80ac544: 2b00 cmp r3, #0 80ac546: f000 8649 beq.w 80ad1dc 80ac54a: f107 030c add.w r3, r7, #12 80ac54e: 781b ldrb r3, [r3, #0] 80ac550: 2b00 cmp r3, #0 80ac552: f000 8643 beq.w 80ad1dc LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80ac556: 496e ldr r1, [pc, #440] ; (80ac710 ) 80ac558: 486e ldr r0, [pc, #440] ; (80ac714 ) 80ac55a: f7a8 fe57 bl 805520c BSP_LCD_DrawLine(62 + nnn[2], 98, 62 + nnn[0], 64); 80ac55e: f107 030c add.w r3, r7, #12 80ac562: 789b ldrb r3, [r3, #2] 80ac564: b29b uxth r3, r3 80ac566: 333e adds r3, #62 ; 0x3e 80ac568: b298 uxth r0, r3 80ac56a: f107 030c add.w r3, r7, #12 80ac56e: 781b ldrb r3, [r3, #0] 80ac570: b29b uxth r3, r3 80ac572: 333e adds r3, #62 ; 0x3e 80ac574: b29a uxth r2, r3 80ac576: 2340 movs r3, #64 ; 0x40 80ac578: 2162 movs r1, #98 ; 0x62 80ac57a: f7a9 f881 bl 8055680 break; 80ac57e: f000 be2d b.w 80ad1dc 80ac582: f000 be2b b.w 80ad1dc n = 0; 80ac586: 2300 movs r3, #0 80ac588: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80ac58c: 4b62 ldr r3, [pc, #392] ; (80ac718 ) 80ac58e: 2200 movs r2, #0 80ac590: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80ac592: 2300 movs r3, #0 80ac594: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ac598: e0af b.n 80ac6fa arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80ac59a: 4b60 ldr r3, [pc, #384] ; (80ac71c ) 80ac59c: 781b ldrb r3, [r3, #0] 80ac59e: b2db uxtb r3, r3 80ac5a0: 4618 mov r0, r3 80ac5a2: 4b5f ldr r3, [pc, #380] ; (80ac720 ) 80ac5a4: 79db ldrb r3, [r3, #7] 80ac5a6: b2db uxtb r3, r3 80ac5a8: 4619 mov r1, r3 80ac5aa: 4a5e ldr r2, [pc, #376] ; (80ac724 ) 80ac5ac: 0083 lsls r3, r0, #2 80ac5ae: 4413 add r3, r2 80ac5b0: 440b add r3, r1 80ac5b2: 781b ldrb r3, [r3, #0] 80ac5b4: 461a mov r2, r3 80ac5b6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac5ba: fb03 f302 mul.w r3, r3, r2 80ac5be: 4a5a ldr r2, [pc, #360] ; (80ac728 ) 80ac5c0: 8812 ldrh r2, [r2, #0] 80ac5c2: b292 uxth r2, r2 80ac5c4: 4413 add r3, r2 80ac5c6: 009a lsls r2, r3, #2 80ac5c8: 4b58 ldr r3, [pc, #352] ; (80ac72c ) 80ac5ca: 4413 add r3, r2 80ac5cc: 461c mov r4, r3 80ac5ce: 4b53 ldr r3, [pc, #332] ; (80ac71c ) 80ac5d0: 781b ldrb r3, [r3, #0] 80ac5d2: b2db uxtb r3, r3 80ac5d4: 4618 mov r0, r3 80ac5d6: 4b52 ldr r3, [pc, #328] ; (80ac720 ) 80ac5d8: 79db ldrb r3, [r3, #7] 80ac5da: b2db uxtb r3, r3 80ac5dc: 4619 mov r1, r3 80ac5de: 4a51 ldr r2, [pc, #324] ; (80ac724 ) 80ac5e0: 0083 lsls r3, r0, #2 80ac5e2: 4413 add r3, r2 80ac5e4: 440b add r3, r1 80ac5e6: 781b ldrb r3, [r3, #0] 80ac5e8: 4618 mov r0, r3 80ac5ea: f507 711a add.w r1, r7, #616 ; 0x268 80ac5ee: f507 731e add.w r3, r7, #632 ; 0x278 80ac5f2: 1d1a adds r2, r3, #4 80ac5f4: 460b mov r3, r1 80ac5f6: 4601 mov r1, r0 80ac5f8: 4620 mov r0, r4 80ac5fa: f022 fd0b bl 80cf014 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80ac5fe: 4b47 ldr r3, [pc, #284] ; (80ac71c ) 80ac600: 781b ldrb r3, [r3, #0] 80ac602: b2db uxtb r3, r3 80ac604: 4618 mov r0, r3 80ac606: 4b46 ldr r3, [pc, #280] ; (80ac720 ) 80ac608: 79db ldrb r3, [r3, #7] 80ac60a: b2db uxtb r3, r3 80ac60c: 4619 mov r1, r3 80ac60e: 4a45 ldr r2, [pc, #276] ; (80ac724 ) 80ac610: 0083 lsls r3, r0, #2 80ac612: 4413 add r3, r2 80ac614: 440b add r3, r1 80ac616: 781b ldrb r3, [r3, #0] 80ac618: 461a mov r2, r3 80ac61a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac61e: fb03 f302 mul.w r3, r3, r2 80ac622: 4a41 ldr r2, [pc, #260] ; (80ac728 ) 80ac624: 8812 ldrh r2, [r2, #0] 80ac626: b292 uxth r2, r2 80ac628: 4413 add r3, r2 80ac62a: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80ac62e: 4b3b ldr r3, [pc, #236] ; (80ac71c ) 80ac630: 781b ldrb r3, [r3, #0] 80ac632: b2db uxtb r3, r3 80ac634: 4618 mov r0, r3 80ac636: 4b3a ldr r3, [pc, #232] ; (80ac720 ) 80ac638: 79db ldrb r3, [r3, #7] 80ac63a: b2db uxtb r3, r3 80ac63c: 4619 mov r1, r3 80ac63e: 4a39 ldr r2, [pc, #228] ; (80ac724 ) 80ac640: 0083 lsls r3, r0, #2 80ac642: 4413 add r3, r2 80ac644: 440b add r3, r1 80ac646: 781b ldrb r3, [r3, #0] 80ac648: 461a mov r2, r3 80ac64a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac64e: fb03 f302 mul.w r3, r3, r2 80ac652: 4a35 ldr r2, [pc, #212] ; (80ac728 ) 80ac654: 8812 ldrh r2, [r2, #0] 80ac656: b292 uxth r2, r2 80ac658: 4413 add r3, r2 80ac65a: 4a30 ldr r2, [pc, #192] ; (80ac71c ) 80ac65c: 7812 ldrb r2, [r2, #0] 80ac65e: b2d2 uxtb r2, r2 80ac660: 4614 mov r4, r2 80ac662: 4a2f ldr r2, [pc, #188] ; (80ac720 ) 80ac664: 79d2 ldrb r2, [r2, #7] 80ac666: b2d2 uxtb r2, r2 80ac668: 4610 mov r0, r2 80ac66a: 492e ldr r1, [pc, #184] ; (80ac724 ) 80ac66c: 00a2 lsls r2, r4, #2 80ac66e: 440a add r2, r1 80ac670: 4402 add r2, r0 80ac672: 7812 ldrb r2, [r2, #0] 80ac674: 4413 add r3, r2 80ac676: 3b01 subs r3, #1 80ac678: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80ac67c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac680: 333e adds r3, #62 ; 0x3e 80ac682: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 4; j++) 80ac686: 2300 movs r3, #0 80ac688: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ac68c: e02c b.n 80ac6e8 if((_Fn[j] >= iL) && (_Fn[j] <= iR)) 80ac68e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac692: 009b lsls r3, r3, #2 80ac694: f507 722e add.w r2, r7, #696 ; 0x2b8 80ac698: 4413 add r3, r2 80ac69a: f853 3cc8 ldr.w r3, [r3, #-200] 80ac69e: 461a mov r2, r3 80ac6a0: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80ac6a4: 429a cmp r2, r3 80ac6a6: d31a bcc.n 80ac6de 80ac6a8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac6ac: 009b lsls r3, r3, #2 80ac6ae: f507 722e add.w r2, r7, #696 ; 0x2b8 80ac6b2: 4413 add r3, r2 80ac6b4: f853 3cc8 ldr.w r3, [r3, #-200] 80ac6b8: 461a mov r2, r3 80ac6ba: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ac6be: 429a cmp r2, r3 80ac6c0: d80d bhi.n 80ac6de LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80ac6c2: 4913 ldr r1, [pc, #76] ; (80ac710 ) 80ac6c4: 4813 ldr r0, [pc, #76] ; (80ac714 ) 80ac6c6: f7a8 fda1 bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80ac6ca: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac6ce: b298 uxth r0, r3 80ac6d0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac6d4: b29a uxth r2, r3 80ac6d6: 23da movs r3, #218 ; 0xda 80ac6d8: 212c movs r1, #44 ; 0x2c 80ac6da: f7a8 ffd1 bl 8055680 for(j = 0; j < 4; j++) 80ac6de: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac6e2: 3301 adds r3, #1 80ac6e4: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ac6e8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac6ec: 2b03 cmp r3, #3 80ac6ee: d9ce bls.n 80ac68e for(i = 0; i < 256; i++) 80ac6f0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac6f4: 3301 adds r3, #1 80ac6f6: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ac6fa: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac6fe: 2bff cmp r3, #255 ; 0xff 80ac700: f67f af4b bls.w 80ac59a break; 80ac704: f000 bd6b b.w 80ad1de for(i = 0; i < 256; i++) 80ac708: 2300 movs r3, #0 80ac70a: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ac70e: e0f0 b.n 80ac8f2 80ac710: ff0a0f1f .word 0xff0a0f1f 80ac714: ff800080 .word 0xff800080 80ac718: 2002169e .word 0x2002169e 80ac71c: 20020fc0 .word 0x20020fc0 80ac720: 20023eb8 .word 0x20023eb8 80ac724: 080f5fec .word 0x080f5fec 80ac728: 20025d76 .word 0x20025d76 80ac72c: 64080000 .word 0x64080000 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80ac730: 4bb2 ldr r3, [pc, #712] ; (80ac9fc ) 80ac732: 781b ldrb r3, [r3, #0] 80ac734: b2db uxtb r3, r3 80ac736: 4618 mov r0, r3 80ac738: 4bb1 ldr r3, [pc, #708] ; (80aca00 ) 80ac73a: 79db ldrb r3, [r3, #7] 80ac73c: b2db uxtb r3, r3 80ac73e: 4619 mov r1, r3 80ac740: 4ab0 ldr r2, [pc, #704] ; (80aca04 ) 80ac742: 0083 lsls r3, r0, #2 80ac744: 4413 add r3, r2 80ac746: 440b add r3, r1 80ac748: 781b ldrb r3, [r3, #0] 80ac74a: 461a mov r2, r3 80ac74c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac750: fb03 f302 mul.w r3, r3, r2 80ac754: 4aac ldr r2, [pc, #688] ; (80aca08 ) 80ac756: 8812 ldrh r2, [r2, #0] 80ac758: b292 uxth r2, r2 80ac75a: 4413 add r3, r2 80ac75c: 009a lsls r2, r3, #2 80ac75e: 4bab ldr r3, [pc, #684] ; (80aca0c ) 80ac760: 4413 add r3, r2 80ac762: 461c mov r4, r3 80ac764: 4ba5 ldr r3, [pc, #660] ; (80ac9fc ) 80ac766: 781b ldrb r3, [r3, #0] 80ac768: b2db uxtb r3, r3 80ac76a: 4618 mov r0, r3 80ac76c: 4ba4 ldr r3, [pc, #656] ; (80aca00 ) 80ac76e: 79db ldrb r3, [r3, #7] 80ac770: b2db uxtb r3, r3 80ac772: 4619 mov r1, r3 80ac774: 4aa3 ldr r2, [pc, #652] ; (80aca04 ) 80ac776: 0083 lsls r3, r0, #2 80ac778: 4413 add r3, r2 80ac77a: 440b add r3, r1 80ac77c: 781b ldrb r3, [r3, #0] 80ac77e: 4618 mov r0, r3 80ac780: f507 711a add.w r1, r7, #616 ; 0x268 80ac784: f507 731e add.w r3, r7, #632 ; 0x278 80ac788: 1d1a adds r2, r3, #4 80ac78a: 460b mov r3, r1 80ac78c: 4601 mov r1, r0 80ac78e: 4620 mov r0, r4 80ac790: f022 fc40 bl 80cf014 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80ac794: 4b99 ldr r3, [pc, #612] ; (80ac9fc ) 80ac796: 781b ldrb r3, [r3, #0] 80ac798: b2db uxtb r3, r3 80ac79a: 4618 mov r0, r3 80ac79c: 4b98 ldr r3, [pc, #608] ; (80aca00 ) 80ac79e: 79db ldrb r3, [r3, #7] 80ac7a0: b2db uxtb r3, r3 80ac7a2: 4619 mov r1, r3 80ac7a4: 4a97 ldr r2, [pc, #604] ; (80aca04 ) 80ac7a6: 0083 lsls r3, r0, #2 80ac7a8: 4413 add r3, r2 80ac7aa: 440b add r3, r1 80ac7ac: 781b ldrb r3, [r3, #0] 80ac7ae: 461a mov r2, r3 80ac7b0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac7b4: fb03 f302 mul.w r3, r3, r2 80ac7b8: 4a93 ldr r2, [pc, #588] ; (80aca08 ) 80ac7ba: 8812 ldrh r2, [r2, #0] 80ac7bc: b292 uxth r2, r2 80ac7be: 4413 add r3, r2 80ac7c0: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80ac7c4: 4b8d ldr r3, [pc, #564] ; (80ac9fc ) 80ac7c6: 781b ldrb r3, [r3, #0] 80ac7c8: b2db uxtb r3, r3 80ac7ca: 4618 mov r0, r3 80ac7cc: 4b8c ldr r3, [pc, #560] ; (80aca00 ) 80ac7ce: 79db ldrb r3, [r3, #7] 80ac7d0: b2db uxtb r3, r3 80ac7d2: 4619 mov r1, r3 80ac7d4: 4a8b ldr r2, [pc, #556] ; (80aca04 ) 80ac7d6: 0083 lsls r3, r0, #2 80ac7d8: 4413 add r3, r2 80ac7da: 440b add r3, r1 80ac7dc: 781b ldrb r3, [r3, #0] 80ac7de: 461a mov r2, r3 80ac7e0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac7e4: fb03 f302 mul.w r3, r3, r2 80ac7e8: 4a87 ldr r2, [pc, #540] ; (80aca08 ) 80ac7ea: 8812 ldrh r2, [r2, #0] 80ac7ec: b292 uxth r2, r2 80ac7ee: 4413 add r3, r2 80ac7f0: 4a82 ldr r2, [pc, #520] ; (80ac9fc ) 80ac7f2: 7812 ldrb r2, [r2, #0] 80ac7f4: b2d2 uxtb r2, r2 80ac7f6: 4614 mov r4, r2 80ac7f8: 4a81 ldr r2, [pc, #516] ; (80aca00 ) 80ac7fa: 79d2 ldrb r2, [r2, #7] 80ac7fc: b2d2 uxtb r2, r2 80ac7fe: 4610 mov r0, r2 80ac800: 4980 ldr r1, [pc, #512] ; (80aca04 ) 80ac802: 00a2 lsls r2, r4, #2 80ac804: 440a add r2, r1 80ac806: 4402 add r2, r0 80ac808: 7812 ldrb r2, [r2, #0] 80ac80a: 4413 add r3, r2 80ac80c: 3b01 subs r3, #1 80ac80e: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80ac812: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac816: 333e adds r3, #62 ; 0x3e 80ac818: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 7; j++) 80ac81c: 2300 movs r3, #0 80ac81e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ac822: e02c b.n 80ac87e if((_Fvr[j] >= iL) && (_Fvr[j] <= iR)) 80ac824: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac828: 009b lsls r3, r3, #2 80ac82a: f507 722e add.w r2, r7, #696 ; 0x2b8 80ac82e: 4413 add r3, r2 80ac830: f853 3c8c ldr.w r3, [r3, #-140] 80ac834: 461a mov r2, r3 80ac836: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80ac83a: 429a cmp r2, r3 80ac83c: d31a bcc.n 80ac874 80ac83e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac842: 009b lsls r3, r3, #2 80ac844: f507 722e add.w r2, r7, #696 ; 0x2b8 80ac848: 4413 add r3, r2 80ac84a: f853 3c8c ldr.w r3, [r3, #-140] 80ac84e: 461a mov r2, r3 80ac850: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ac854: 429a cmp r2, r3 80ac856: d80d bhi.n 80ac874 LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80ac858: 496d ldr r1, [pc, #436] ; (80aca10 ) 80ac85a: 486e ldr r0, [pc, #440] ; (80aca14 ) 80ac85c: f7a8 fcd6 bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80ac860: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac864: b298 uxth r0, r3 80ac866: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac86a: b29a uxth r2, r3 80ac86c: 23da movs r3, #218 ; 0xda 80ac86e: 212c movs r1, #44 ; 0x2c 80ac870: f7a8 ff06 bl 8055680 for(j = 0; j < 7; j++) 80ac874: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac878: 3301 adds r3, #1 80ac87a: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ac87e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac882: 2b06 cmp r3, #6 80ac884: d9ce bls.n 80ac824 for(j = 0; j < 3; j++) 80ac886: 2300 movs r3, #0 80ac888: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ac88c: e028 b.n 80ac8e0 if((_Fv[j] >= iL) && (_Fv[j] <= iR)) 80ac88e: f507 73da add.w r3, r7, #436 ; 0x1b4 80ac892: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80ac896: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80ac89a: 461a mov r2, r3 80ac89c: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80ac8a0: 429a cmp r2, r3 80ac8a2: d318 bcc.n 80ac8d6 80ac8a4: f507 73da add.w r3, r7, #436 ; 0x1b4 80ac8a8: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80ac8ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80ac8b0: 461a mov r2, r3 80ac8b2: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ac8b6: 429a cmp r2, r3 80ac8b8: d80d bhi.n 80ac8d6 LCD_SetColors(LCD_COLOR_FV, LCD_COLOR_BLACK); 80ac8ba: 4955 ldr r1, [pc, #340] ; (80aca10 ) 80ac8bc: 4856 ldr r0, [pc, #344] ; (80aca18 ) 80ac8be: f7a8 fca5 bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80ac8c2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac8c6: b298 uxth r0, r3 80ac8c8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac8cc: b29a uxth r2, r3 80ac8ce: 23da movs r3, #218 ; 0xda 80ac8d0: 212c movs r1, #44 ; 0x2c 80ac8d2: f7a8 fed5 bl 8055680 for(j = 0; j < 3; j++) 80ac8d6: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac8da: 3301 adds r3, #1 80ac8dc: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ac8e0: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac8e4: 2b02 cmp r3, #2 80ac8e6: d9d2 bls.n 80ac88e for(i = 0; i < 256; i++) 80ac8e8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac8ec: 3301 adds r3, #1 80ac8ee: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ac8f2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac8f6: 2bff cmp r3, #255 ; 0xff 80ac8f8: f67f af1a bls.w 80ac730 break; 80ac8fc: f000 bc6f b.w 80ad1de for(i = 0; i < 256; i++) 80ac900: 2300 movs r3, #0 80ac902: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ac906: e0ec b.n 80acae2 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80ac908: 4b3c ldr r3, [pc, #240] ; (80ac9fc ) 80ac90a: 781b ldrb r3, [r3, #0] 80ac90c: b2db uxtb r3, r3 80ac90e: 4618 mov r0, r3 80ac910: 4b3b ldr r3, [pc, #236] ; (80aca00 ) 80ac912: 79db ldrb r3, [r3, #7] 80ac914: b2db uxtb r3, r3 80ac916: 4619 mov r1, r3 80ac918: 4a3a ldr r2, [pc, #232] ; (80aca04 ) 80ac91a: 0083 lsls r3, r0, #2 80ac91c: 4413 add r3, r2 80ac91e: 440b add r3, r1 80ac920: 781b ldrb r3, [r3, #0] 80ac922: 461a mov r2, r3 80ac924: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac928: fb03 f302 mul.w r3, r3, r2 80ac92c: 4a36 ldr r2, [pc, #216] ; (80aca08 ) 80ac92e: 8812 ldrh r2, [r2, #0] 80ac930: b292 uxth r2, r2 80ac932: 4413 add r3, r2 80ac934: 009a lsls r2, r3, #2 80ac936: 4b35 ldr r3, [pc, #212] ; (80aca0c ) 80ac938: 4413 add r3, r2 80ac93a: 461c mov r4, r3 80ac93c: 4b2f ldr r3, [pc, #188] ; (80ac9fc ) 80ac93e: 781b ldrb r3, [r3, #0] 80ac940: b2db uxtb r3, r3 80ac942: 4618 mov r0, r3 80ac944: 4b2e ldr r3, [pc, #184] ; (80aca00 ) 80ac946: 79db ldrb r3, [r3, #7] 80ac948: b2db uxtb r3, r3 80ac94a: 4619 mov r1, r3 80ac94c: 4a2d ldr r2, [pc, #180] ; (80aca04 ) 80ac94e: 0083 lsls r3, r0, #2 80ac950: 4413 add r3, r2 80ac952: 440b add r3, r1 80ac954: 781b ldrb r3, [r3, #0] 80ac956: 4618 mov r0, r3 80ac958: f507 711a add.w r1, r7, #616 ; 0x268 80ac95c: f507 731e add.w r3, r7, #632 ; 0x278 80ac960: 1d1a adds r2, r3, #4 80ac962: 460b mov r3, r1 80ac964: 4601 mov r1, r0 80ac966: 4620 mov r0, r4 80ac968: f022 fb54 bl 80cf014 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80ac96c: 4b23 ldr r3, [pc, #140] ; (80ac9fc ) 80ac96e: 781b ldrb r3, [r3, #0] 80ac970: b2db uxtb r3, r3 80ac972: 4618 mov r0, r3 80ac974: 4b22 ldr r3, [pc, #136] ; (80aca00 ) 80ac976: 79db ldrb r3, [r3, #7] 80ac978: b2db uxtb r3, r3 80ac97a: 4619 mov r1, r3 80ac97c: 4a21 ldr r2, [pc, #132] ; (80aca04 ) 80ac97e: 0083 lsls r3, r0, #2 80ac980: 4413 add r3, r2 80ac982: 440b add r3, r1 80ac984: 781b ldrb r3, [r3, #0] 80ac986: 461a mov r2, r3 80ac988: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac98c: fb03 f302 mul.w r3, r3, r2 80ac990: 4a1d ldr r2, [pc, #116] ; (80aca08 ) 80ac992: 8812 ldrh r2, [r2, #0] 80ac994: b292 uxth r2, r2 80ac996: 4413 add r3, r2 80ac998: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80ac99c: 4b17 ldr r3, [pc, #92] ; (80ac9fc ) 80ac99e: 781b ldrb r3, [r3, #0] 80ac9a0: b2db uxtb r3, r3 80ac9a2: 4618 mov r0, r3 80ac9a4: 4b16 ldr r3, [pc, #88] ; (80aca00 ) 80ac9a6: 79db ldrb r3, [r3, #7] 80ac9a8: b2db uxtb r3, r3 80ac9aa: 4619 mov r1, r3 80ac9ac: 4a15 ldr r2, [pc, #84] ; (80aca04 ) 80ac9ae: 0083 lsls r3, r0, #2 80ac9b0: 4413 add r3, r2 80ac9b2: 440b add r3, r1 80ac9b4: 781b ldrb r3, [r3, #0] 80ac9b6: 461a mov r2, r3 80ac9b8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac9bc: fb03 f302 mul.w r3, r3, r2 80ac9c0: 4a11 ldr r2, [pc, #68] ; (80aca08 ) 80ac9c2: 8812 ldrh r2, [r2, #0] 80ac9c4: b292 uxth r2, r2 80ac9c6: 4413 add r3, r2 80ac9c8: 4a0c ldr r2, [pc, #48] ; (80ac9fc ) 80ac9ca: 7812 ldrb r2, [r2, #0] 80ac9cc: b2d2 uxtb r2, r2 80ac9ce: 4614 mov r4, r2 80ac9d0: 4a0b ldr r2, [pc, #44] ; (80aca00 ) 80ac9d2: 79d2 ldrb r2, [r2, #7] 80ac9d4: b2d2 uxtb r2, r2 80ac9d6: 4610 mov r0, r2 80ac9d8: 490a ldr r1, [pc, #40] ; (80aca04 ) 80ac9da: 00a2 lsls r2, r4, #2 80ac9dc: 440a add r2, r1 80ac9de: 4402 add r2, r0 80ac9e0: 7812 ldrb r2, [r2, #0] 80ac9e2: 4413 add r3, r2 80ac9e4: 3b01 subs r3, #1 80ac9e6: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80ac9ea: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac9ee: 333e adds r3, #62 ; 0x3e 80ac9f0: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 8; j++) 80ac9f4: 2300 movs r3, #0 80ac9f6: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ac9fa: e038 b.n 80aca6e 80ac9fc: 20020fc0 .word 0x20020fc0 80aca00: 20023eb8 .word 0x20023eb8 80aca04: 080f5fec .word 0x080f5fec 80aca08: 20025d76 .word 0x20025d76 80aca0c: 64080000 .word 0x64080000 80aca10: ff0a0f1f .word 0xff0a0f1f 80aca14: ff66a6d3 .word 0xff66a6d3 80aca18: ffa52a2a .word 0xffa52a2a if((_Fc[j] >= iL) && (_Fc[j] <= iR)) 80aca1c: f507 73bc add.w r3, r7, #376 ; 0x178 80aca20: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80aca24: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80aca28: 461a mov r2, r3 80aca2a: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80aca2e: 429a cmp r2, r3 80aca30: d318 bcc.n 80aca64 80aca32: f507 73bc add.w r3, r7, #376 ; 0x178 80aca36: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80aca3a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80aca3e: 461a mov r2, r3 80aca40: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80aca44: 429a cmp r2, r3 80aca46: d80d bhi.n 80aca64 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80aca48: 49c2 ldr r1, [pc, #776] ; (80acd54 ) 80aca4a: 48c3 ldr r0, [pc, #780] ; (80acd58 ) 80aca4c: f7a8 fbde bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80aca50: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aca54: b298 uxth r0, r3 80aca56: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aca5a: b29a uxth r2, r3 80aca5c: 23da movs r3, #218 ; 0xda 80aca5e: 212c movs r1, #44 ; 0x2c 80aca60: f7a8 fe0e bl 8055680 for(j = 0; j < 8; j++) 80aca64: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aca68: 3301 adds r3, #1 80aca6a: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aca6e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aca72: 2b07 cmp r3, #7 80aca74: d9d2 bls.n 80aca1c for(j = 0; j < 8; j++) 80aca76: 2300 movs r3, #0 80aca78: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aca7c: e028 b.n 80acad0 if((_Fvr_m_Fc[j] >= iL) && (_Fvr_m_Fc[j] <= iR)) 80aca7e: f507 7380 add.w r3, r7, #256 ; 0x100 80aca82: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80aca86: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80aca8a: 461a mov r2, r3 80aca8c: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80aca90: 429a cmp r2, r3 80aca92: d318 bcc.n 80acac6 80aca94: f507 7380 add.w r3, r7, #256 ; 0x100 80aca98: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80aca9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80acaa0: 461a mov r2, r3 80acaa2: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80acaa6: 429a cmp r2, r3 80acaa8: d80d bhi.n 80acac6 LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80acaaa: 49aa ldr r1, [pc, #680] ; (80acd54 ) 80acaac: 48ab ldr r0, [pc, #684] ; (80acd5c ) 80acaae: f7a8 fbad bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80acab2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acab6: b298 uxth r0, r3 80acab8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acabc: b29a uxth r2, r3 80acabe: 23da movs r3, #218 ; 0xda 80acac0: 212c movs r1, #44 ; 0x2c 80acac2: f7a8 fddd bl 8055680 for(j = 0; j < 8; j++) 80acac6: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80acaca: 3301 adds r3, #1 80acacc: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80acad0: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80acad4: 2b07 cmp r3, #7 80acad6: d9d2 bls.n 80aca7e for(i = 0; i < 256; i++) 80acad8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acadc: 3301 adds r3, #1 80acade: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80acae2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acae6: 2bff cmp r3, #255 ; 0xff 80acae8: f67f af0e bls.w 80ac908 break; 80acaec: e377 b.n 80ad1de for(i = 0; i < 256; i++) 80acaee: 2300 movs r3, #0 80acaf0: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80acaf4: e1df b.n 80aceb6 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80acaf6: 4b9a ldr r3, [pc, #616] ; (80acd60 ) 80acaf8: 781b ldrb r3, [r3, #0] 80acafa: b2db uxtb r3, r3 80acafc: 4618 mov r0, r3 80acafe: 4b99 ldr r3, [pc, #612] ; (80acd64 ) 80acb00: 79db ldrb r3, [r3, #7] 80acb02: b2db uxtb r3, r3 80acb04: 4619 mov r1, r3 80acb06: 4a98 ldr r2, [pc, #608] ; (80acd68 ) 80acb08: 0083 lsls r3, r0, #2 80acb0a: 4413 add r3, r2 80acb0c: 440b add r3, r1 80acb0e: 781b ldrb r3, [r3, #0] 80acb10: 461a mov r2, r3 80acb12: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acb16: fb03 f302 mul.w r3, r3, r2 80acb1a: 4a94 ldr r2, [pc, #592] ; (80acd6c ) 80acb1c: 8812 ldrh r2, [r2, #0] 80acb1e: b292 uxth r2, r2 80acb20: 4413 add r3, r2 80acb22: 009a lsls r2, r3, #2 80acb24: 4b92 ldr r3, [pc, #584] ; (80acd70 ) 80acb26: 4413 add r3, r2 80acb28: 461c mov r4, r3 80acb2a: 4b8d ldr r3, [pc, #564] ; (80acd60 ) 80acb2c: 781b ldrb r3, [r3, #0] 80acb2e: b2db uxtb r3, r3 80acb30: 4618 mov r0, r3 80acb32: 4b8c ldr r3, [pc, #560] ; (80acd64 ) 80acb34: 79db ldrb r3, [r3, #7] 80acb36: b2db uxtb r3, r3 80acb38: 4619 mov r1, r3 80acb3a: 4a8b ldr r2, [pc, #556] ; (80acd68 ) 80acb3c: 0083 lsls r3, r0, #2 80acb3e: 4413 add r3, r2 80acb40: 440b add r3, r1 80acb42: 781b ldrb r3, [r3, #0] 80acb44: 4618 mov r0, r3 80acb46: f507 711a add.w r1, r7, #616 ; 0x268 80acb4a: f507 731e add.w r3, r7, #632 ; 0x278 80acb4e: 1d1a adds r2, r3, #4 80acb50: 460b mov r3, r1 80acb52: 4601 mov r1, r0 80acb54: 4620 mov r0, r4 80acb56: f022 fa5d bl 80cf014 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80acb5a: 4b81 ldr r3, [pc, #516] ; (80acd60 ) 80acb5c: 781b ldrb r3, [r3, #0] 80acb5e: b2db uxtb r3, r3 80acb60: 4618 mov r0, r3 80acb62: 4b80 ldr r3, [pc, #512] ; (80acd64 ) 80acb64: 79db ldrb r3, [r3, #7] 80acb66: b2db uxtb r3, r3 80acb68: 4619 mov r1, r3 80acb6a: 4a7f ldr r2, [pc, #508] ; (80acd68 ) 80acb6c: 0083 lsls r3, r0, #2 80acb6e: 4413 add r3, r2 80acb70: 440b add r3, r1 80acb72: 781b ldrb r3, [r3, #0] 80acb74: 461a mov r2, r3 80acb76: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acb7a: fb03 f302 mul.w r3, r3, r2 80acb7e: 4a7b ldr r2, [pc, #492] ; (80acd6c ) 80acb80: 8812 ldrh r2, [r2, #0] 80acb82: b292 uxth r2, r2 80acb84: 4413 add r3, r2 80acb86: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80acb8a: 4b75 ldr r3, [pc, #468] ; (80acd60 ) 80acb8c: 781b ldrb r3, [r3, #0] 80acb8e: b2db uxtb r3, r3 80acb90: 4618 mov r0, r3 80acb92: 4b74 ldr r3, [pc, #464] ; (80acd64 ) 80acb94: 79db ldrb r3, [r3, #7] 80acb96: b2db uxtb r3, r3 80acb98: 4619 mov r1, r3 80acb9a: 4a73 ldr r2, [pc, #460] ; (80acd68 ) 80acb9c: 0083 lsls r3, r0, #2 80acb9e: 4413 add r3, r2 80acba0: 440b add r3, r1 80acba2: 781b ldrb r3, [r3, #0] 80acba4: 461a mov r2, r3 80acba6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acbaa: fb03 f302 mul.w r3, r3, r2 80acbae: 4a6f ldr r2, [pc, #444] ; (80acd6c ) 80acbb0: 8812 ldrh r2, [r2, #0] 80acbb2: b292 uxth r2, r2 80acbb4: 4413 add r3, r2 80acbb6: 4a6a ldr r2, [pc, #424] ; (80acd60 ) 80acbb8: 7812 ldrb r2, [r2, #0] 80acbba: b2d2 uxtb r2, r2 80acbbc: 4614 mov r4, r2 80acbbe: 4a69 ldr r2, [pc, #420] ; (80acd64 ) 80acbc0: 79d2 ldrb r2, [r2, #7] 80acbc2: b2d2 uxtb r2, r2 80acbc4: 4610 mov r0, r2 80acbc6: 4968 ldr r1, [pc, #416] ; (80acd68 ) 80acbc8: 00a2 lsls r2, r4, #2 80acbca: 440a add r2, r1 80acbcc: 4402 add r2, r0 80acbce: 7812 ldrb r2, [r2, #0] 80acbd0: 4413 add r3, r2 80acbd2: 3b01 subs r3, #1 80acbd4: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80acbd8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acbdc: 333e adds r3, #62 ; 0x3e 80acbde: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 6; j++) 80acbe2: 2300 movs r3, #0 80acbe4: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80acbe8: e0aa b.n 80acd40 if((_Ftk[j] >= iL) && (_Ftk[j] <= iR)) 80acbea: f507 739e add.w r3, r7, #316 ; 0x13c 80acbee: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80acbf2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80acbf6: 461a mov r2, r3 80acbf8: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80acbfc: 429a cmp r2, r3 80acbfe: f0c0 809a bcc.w 80acd36 80acc02: f507 739e add.w r3, r7, #316 ; 0x13c 80acc06: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80acc0a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80acc0e: 461a mov r2, r3 80acc10: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80acc14: 429a cmp r2, r3 80acc16: f200 808e bhi.w 80acd36 LCD_SetColors(LCD_COLOR_FTK, LCD_COLOR_BLACK); 80acc1a: 494e ldr r1, [pc, #312] ; (80acd54 ) 80acc1c: 4855 ldr r0, [pc, #340] ; (80acd74 ) 80acc1e: f7a8 faf5 bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80acc22: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acc26: b298 uxth r0, r3 80acc28: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acc2c: b29a uxth r2, r3 80acc2e: 23da movs r3, #218 ; 0xda 80acc30: 212c movs r1, #44 ; 0x2c 80acc32: f7a8 fd25 bl 8055680 if(j & 1) 80acc36: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80acc3a: f003 0301 and.w r3, r3, #1 80acc3e: 2b00 cmp r3, #0 80acc40: d079 beq.n 80acd36 if(ViewLevel < 2) 80acc42: 4b47 ldr r3, [pc, #284] ; (80acd60 ) 80acc44: 781b ldrb r3, [r3, #0] 80acc46: b2db uxtb r3, r3 80acc48: 2b01 cmp r3, #1 80acc4a: d826 bhi.n 80acc9a if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80acc4c: 4b44 ldr r3, [pc, #272] ; (80acd60 ) 80acc4e: 781b ldrb r3, [r3, #0] 80acc50: b2db uxtb r3, r3 80acc52: 4618 mov r0, r3 80acc54: 4b43 ldr r3, [pc, #268] ; (80acd64 ) 80acc56: 79db ldrb r3, [r3, #7] 80acc58: b2db uxtb r3, r3 80acc5a: 4619 mov r1, r3 80acc5c: 4a42 ldr r2, [pc, #264] ; (80acd68 ) 80acc5e: 0083 lsls r3, r0, #2 80acc60: 4413 add r3, r2 80acc62: 440b add r3, r1 80acc64: 781b ldrb r3, [r3, #0] 80acc66: 461a mov r2, r3 80acc68: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acc6c: fb03 f302 mul.w r3, r3, r2 80acc70: 4a3e ldr r2, [pc, #248] ; (80acd6c ) 80acc72: 8812 ldrh r2, [r2, #0] 80acc74: b292 uxth r2, r2 80acc76: 4413 add r3, r2 80acc78: 2b00 cmp r3, #0 80acc7a: d05c beq.n 80acd36 BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80acc7c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acc80: b29b uxth r3, r3 80acc82: 3b01 subs r3, #1 80acc84: b298 uxth r0, r3 80acc86: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acc8a: b29b uxth r3, r3 80acc8c: 3b01 subs r3, #1 80acc8e: b29a uxth r2, r3 80acc90: 23da movs r3, #218 ; 0xda 80acc92: 212c movs r1, #44 ; 0x2c 80acc94: f7a8 fcf4 bl 8055680 80acc98: e04d b.n 80acd36 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80acc9a: 4b31 ldr r3, [pc, #196] ; (80acd60 ) 80acc9c: 781b ldrb r3, [r3, #0] 80acc9e: b2db uxtb r3, r3 80acca0: 4618 mov r0, r3 80acca2: 4b30 ldr r3, [pc, #192] ; (80acd64 ) 80acca4: 79db ldrb r3, [r3, #7] 80acca6: b2db uxtb r3, r3 80acca8: 4619 mov r1, r3 80accaa: 4a2f ldr r2, [pc, #188] ; (80acd68 ) 80accac: 0083 lsls r3, r0, #2 80accae: 4413 add r3, r2 80accb0: 440b add r3, r1 80accb2: 781b ldrb r3, [r3, #0] 80accb4: 461a mov r2, r3 80accb6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80accba: fb03 f302 mul.w r3, r3, r2 80accbe: 4a2b ldr r2, [pc, #172] ; (80acd6c ) 80accc0: 8812 ldrh r2, [r2, #0] 80accc2: b292 uxth r2, r2 80accc4: 4413 add r3, r2 80accc6: 2b00 cmp r3, #0 80accc8: d00d beq.n 80acce6 BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80accca: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80accce: b29b uxth r3, r3 80accd0: 3b01 subs r3, #1 80accd2: b298 uxth r0, r3 80accd4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80accd8: b29b uxth r3, r3 80accda: 3b01 subs r3, #1 80accdc: b29a uxth r2, r3 80accde: 23da movs r3, #218 ; 0xda 80acce0: 212c movs r1, #44 ; 0x2c 80acce2: f7a8 fccd bl 8055680 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 < 4095) 80acce6: 4b1e ldr r3, [pc, #120] ; (80acd60 ) 80acce8: 781b ldrb r3, [r3, #0] 80accea: b2db uxtb r3, r3 80accec: 4618 mov r0, r3 80accee: 4b1d ldr r3, [pc, #116] ; (80acd64 ) 80accf0: 79db ldrb r3, [r3, #7] 80accf2: b2db uxtb r3, r3 80accf4: 4619 mov r1, r3 80accf6: 4a1c ldr r2, [pc, #112] ; (80acd68 ) 80accf8: 0083 lsls r3, r0, #2 80accfa: 4413 add r3, r2 80accfc: 440b add r3, r1 80accfe: 781b ldrb r3, [r3, #0] 80acd00: 461a mov r2, r3 80acd02: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acd06: fb03 f302 mul.w r3, r3, r2 80acd0a: 4a18 ldr r2, [pc, #96] ; (80acd6c ) 80acd0c: 8812 ldrh r2, [r2, #0] 80acd0e: b292 uxth r2, r2 80acd10: 4413 add r3, r2 80acd12: f640 72fe movw r2, #4094 ; 0xffe 80acd16: 4293 cmp r3, r2 80acd18: d80d bhi.n 80acd36 BSP_LCD_DrawLine(x+1, 44, x+1, 218); 80acd1a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acd1e: b29b uxth r3, r3 80acd20: 3301 adds r3, #1 80acd22: b298 uxth r0, r3 80acd24: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acd28: b29b uxth r3, r3 80acd2a: 3301 adds r3, #1 80acd2c: b29a uxth r2, r3 80acd2e: 23da movs r3, #218 ; 0xda 80acd30: 212c movs r1, #44 ; 0x2c 80acd32: f7a8 fca5 bl 8055680 for(j = 0; j < 6; j++) 80acd36: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80acd3a: 3301 adds r3, #1 80acd3c: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80acd40: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80acd44: 2b05 cmp r3, #5 80acd46: f67f af50 bls.w 80acbea for(j = 0; j < 6; j++) 80acd4a: 2300 movs r3, #0 80acd4c: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80acd50: e0a7 b.n 80acea2 80acd52: bf00 nop 80acd54: ff0a0f1f .word 0xff0a0f1f 80acd58: ffafff9c .word 0xffafff9c 80acd5c: ff66a6d3 .word 0xff66a6d3 80acd60: 20020fc0 .word 0x20020fc0 80acd64: 20023eb8 .word 0x20023eb8 80acd68: 080f5fec .word 0x080f5fec 80acd6c: 20025d76 .word 0x20025d76 80acd70: 64080000 .word 0x64080000 80acd74: ffb700eb .word 0xffb700eb if((_Ftk_m_Fc[j] >= iL) && (_Ftk_m_Fc[j] <= iR)) 80acd78: f107 0388 add.w r3, r7, #136 ; 0x88 80acd7c: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80acd80: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80acd84: 461a mov r2, r3 80acd86: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80acd8a: 429a cmp r2, r3 80acd8c: d318 bcc.n 80acdc0 80acd8e: f107 0388 add.w r3, r7, #136 ; 0x88 80acd92: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80acd96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80acd9a: 461a mov r2, r3 80acd9c: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80acda0: 429a cmp r2, r3 80acda2: d80d bhi.n 80acdc0 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80acda4: 49a9 ldr r1, [pc, #676] ; (80ad04c ) 80acda6: 48aa ldr r0, [pc, #680] ; (80ad050 ) 80acda8: f7a8 fa30 bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80acdac: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acdb0: b298 uxth r0, r3 80acdb2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acdb6: b29a uxth r2, r3 80acdb8: 23da movs r3, #218 ; 0xda 80acdba: 212c movs r1, #44 ; 0x2c 80acdbc: f7a8 fc60 bl 8055680 if((_Ftk_p_Fc[j] >= iL) && (_Ftk_p_Fc[j] <= iR)) 80acdc0: f107 03c4 add.w r3, r7, #196 ; 0xc4 80acdc4: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80acdc8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80acdcc: 461a mov r2, r3 80acdce: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80acdd2: 429a cmp r2, r3 80acdd4: d318 bcc.n 80ace08 80acdd6: f107 03c4 add.w r3, r7, #196 ; 0xc4 80acdda: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80acdde: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80acde2: 461a mov r2, r3 80acde4: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80acde8: 429a cmp r2, r3 80acdea: d80d bhi.n 80ace08 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80acdec: 4997 ldr r1, [pc, #604] ; (80ad04c ) 80acdee: 4898 ldr r0, [pc, #608] ; (80ad050 ) 80acdf0: f7a8 fa0c bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80acdf4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acdf8: b298 uxth r0, r3 80acdfa: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acdfe: b29a uxth r2, r3 80ace00: 23da movs r3, #218 ; 0xda 80ace02: 212c movs r1, #44 ; 0x2c 80ace04: f7a8 fc3c bl 8055680 if((_Ftk_m_2Fc[j] >= iL) && (_Ftk_m_2Fc[j] <= iR)) 80ace08: f107 0310 add.w r3, r7, #16 80ace0c: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80ace10: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80ace14: 461a mov r2, r3 80ace16: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80ace1a: 429a cmp r2, r3 80ace1c: d318 bcc.n 80ace50 80ace1e: f107 0310 add.w r3, r7, #16 80ace22: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80ace26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80ace2a: 461a mov r2, r3 80ace2c: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ace30: 429a cmp r2, r3 80ace32: d80d bhi.n 80ace50 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80ace34: 4985 ldr r1, [pc, #532] ; (80ad04c ) 80ace36: 4886 ldr r0, [pc, #536] ; (80ad050 ) 80ace38: f7a8 f9e8 bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80ace3c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ace40: b298 uxth r0, r3 80ace42: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ace46: b29a uxth r2, r3 80ace48: 23da movs r3, #218 ; 0xda 80ace4a: 212c movs r1, #44 ; 0x2c 80ace4c: f7a8 fc18 bl 8055680 if((_Ftk_p_2Fc[j] >= iL) && (_Ftk_p_2Fc[j] <= iR)) 80ace50: f107 034c add.w r3, r7, #76 ; 0x4c 80ace54: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80ace58: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80ace5c: 461a mov r2, r3 80ace5e: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80ace62: 429a cmp r2, r3 80ace64: d318 bcc.n 80ace98 80ace66: f107 034c add.w r3, r7, #76 ; 0x4c 80ace6a: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80ace6e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80ace72: 461a mov r2, r3 80ace74: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ace78: 429a cmp r2, r3 80ace7a: d80d bhi.n 80ace98 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80ace7c: 4973 ldr r1, [pc, #460] ; (80ad04c ) 80ace7e: 4874 ldr r0, [pc, #464] ; (80ad050 ) 80ace80: f7a8 f9c4 bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80ace84: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ace88: b298 uxth r0, r3 80ace8a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ace8e: b29a uxth r2, r3 80ace90: 23da movs r3, #218 ; 0xda 80ace92: 212c movs r1, #44 ; 0x2c 80ace94: f7a8 fbf4 bl 8055680 for(j = 0; j < 6; j++) 80ace98: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ace9c: 3301 adds r3, #1 80ace9e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80acea2: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80acea6: 2b05 cmp r3, #5 80acea8: f67f af66 bls.w 80acd78 for(i = 0; i < 256; i++) 80aceac: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aceb0: 3301 adds r3, #1 80aceb2: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aceb6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aceba: 2bff cmp r3, #255 ; 0xff 80acebc: f67f ae1b bls.w 80acaf6 break; 80acec0: e18d b.n 80ad1de for(i = 0; i < 256; i++) 80acec2: 2300 movs r3, #0 80acec4: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80acec8: e096 b.n 80acff8 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80aceca: 4b62 ldr r3, [pc, #392] ; (80ad054 ) 80acecc: 781b ldrb r3, [r3, #0] 80acece: b2db uxtb r3, r3 80aced0: 4618 mov r0, r3 80aced2: 4b61 ldr r3, [pc, #388] ; (80ad058 ) 80aced4: 79db ldrb r3, [r3, #7] 80aced6: b2db uxtb r3, r3 80aced8: 4619 mov r1, r3 80aceda: 4a60 ldr r2, [pc, #384] ; (80ad05c ) 80acedc: 0083 lsls r3, r0, #2 80acede: 4413 add r3, r2 80acee0: 440b add r3, r1 80acee2: 781b ldrb r3, [r3, #0] 80acee4: 461a mov r2, r3 80acee6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aceea: fb03 f302 mul.w r3, r3, r2 80aceee: 4a5c ldr r2, [pc, #368] ; (80ad060 ) 80acef0: 8812 ldrh r2, [r2, #0] 80acef2: b292 uxth r2, r2 80acef4: 4413 add r3, r2 80acef6: 009a lsls r2, r3, #2 80acef8: 4b5a ldr r3, [pc, #360] ; (80ad064 ) 80acefa: 4413 add r3, r2 80acefc: 461c mov r4, r3 80acefe: 4b55 ldr r3, [pc, #340] ; (80ad054 ) 80acf00: 781b ldrb r3, [r3, #0] 80acf02: b2db uxtb r3, r3 80acf04: 4618 mov r0, r3 80acf06: 4b54 ldr r3, [pc, #336] ; (80ad058 ) 80acf08: 79db ldrb r3, [r3, #7] 80acf0a: b2db uxtb r3, r3 80acf0c: 4619 mov r1, r3 80acf0e: 4a53 ldr r2, [pc, #332] ; (80ad05c ) 80acf10: 0083 lsls r3, r0, #2 80acf12: 4413 add r3, r2 80acf14: 440b add r3, r1 80acf16: 781b ldrb r3, [r3, #0] 80acf18: 4618 mov r0, r3 80acf1a: f507 711a add.w r1, r7, #616 ; 0x268 80acf1e: f507 731e add.w r3, r7, #632 ; 0x278 80acf22: 1d1a adds r2, r3, #4 80acf24: 460b mov r3, r1 80acf26: 4601 mov r1, r0 80acf28: 4620 mov r0, r4 80acf2a: f022 f873 bl 80cf014 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80acf2e: 4b49 ldr r3, [pc, #292] ; (80ad054 ) 80acf30: 781b ldrb r3, [r3, #0] 80acf32: b2db uxtb r3, r3 80acf34: 4618 mov r0, r3 80acf36: 4b48 ldr r3, [pc, #288] ; (80ad058 ) 80acf38: 79db ldrb r3, [r3, #7] 80acf3a: b2db uxtb r3, r3 80acf3c: 4619 mov r1, r3 80acf3e: 4a47 ldr r2, [pc, #284] ; (80ad05c ) 80acf40: 0083 lsls r3, r0, #2 80acf42: 4413 add r3, r2 80acf44: 440b add r3, r1 80acf46: 781b ldrb r3, [r3, #0] 80acf48: 461a mov r2, r3 80acf4a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acf4e: fb03 f302 mul.w r3, r3, r2 80acf52: 4a43 ldr r2, [pc, #268] ; (80ad060 ) 80acf54: 8812 ldrh r2, [r2, #0] 80acf56: b292 uxth r2, r2 80acf58: 4413 add r3, r2 80acf5a: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80acf5e: 4b3d ldr r3, [pc, #244] ; (80ad054 ) 80acf60: 781b ldrb r3, [r3, #0] 80acf62: b2db uxtb r3, r3 80acf64: 4618 mov r0, r3 80acf66: 4b3c ldr r3, [pc, #240] ; (80ad058 ) 80acf68: 79db ldrb r3, [r3, #7] 80acf6a: b2db uxtb r3, r3 80acf6c: 4619 mov r1, r3 80acf6e: 4a3b ldr r2, [pc, #236] ; (80ad05c ) 80acf70: 0083 lsls r3, r0, #2 80acf72: 4413 add r3, r2 80acf74: 440b add r3, r1 80acf76: 781b ldrb r3, [r3, #0] 80acf78: 461a mov r2, r3 80acf7a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acf7e: fb03 f302 mul.w r3, r3, r2 80acf82: 4a37 ldr r2, [pc, #220] ; (80ad060 ) 80acf84: 8812 ldrh r2, [r2, #0] 80acf86: b292 uxth r2, r2 80acf88: 4413 add r3, r2 80acf8a: 4a32 ldr r2, [pc, #200] ; (80ad054 ) 80acf8c: 7812 ldrb r2, [r2, #0] 80acf8e: b2d2 uxtb r2, r2 80acf90: 4614 mov r4, r2 80acf92: 4a31 ldr r2, [pc, #196] ; (80ad058 ) 80acf94: 79d2 ldrb r2, [r2, #7] 80acf96: b2d2 uxtb r2, r2 80acf98: 4610 mov r0, r2 80acf9a: 4930 ldr r1, [pc, #192] ; (80ad05c ) 80acf9c: 00a2 lsls r2, r4, #2 80acf9e: 440a add r2, r1 80acfa0: 4402 add r2, r0 80acfa2: 7812 ldrb r2, [r2, #0] 80acfa4: 4413 add r3, r2 80acfa6: 3b01 subs r3, #1 80acfa8: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80acfac: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acfb0: 333e adds r3, #62 ; 0x3e 80acfb2: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if((_Fvr[0] >= iL) && (_Fvr[0] <= iR)) 80acfb6: f8d7 322c ldr.w r3, [r7, #556] ; 0x22c 80acfba: 461a mov r2, r3 80acfbc: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80acfc0: 429a cmp r2, r3 80acfc2: d314 bcc.n 80acfee 80acfc4: f8d7 322c ldr.w r3, [r7, #556] ; 0x22c 80acfc8: 461a mov r2, r3 80acfca: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80acfce: 429a cmp r2, r3 80acfd0: d80d bhi.n 80acfee LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80acfd2: 491e ldr r1, [pc, #120] ; (80ad04c ) 80acfd4: 4824 ldr r0, [pc, #144] ; (80ad068 ) 80acfd6: f7a8 f919 bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80acfda: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acfde: b298 uxth r0, r3 80acfe0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acfe4: b29a uxth r2, r3 80acfe6: 23da movs r3, #218 ; 0xda 80acfe8: 212c movs r1, #44 ; 0x2c 80acfea: f7a8 fb49 bl 8055680 for(i = 0; i < 256; i++) 80acfee: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acff2: 3301 adds r3, #1 80acff4: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80acff8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acffc: 2bff cmp r3, #255 ; 0xff 80acffe: f67f af64 bls.w 80aceca break; 80ad002: e0ec b.n 80ad1de LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80ad004: 4911 ldr r1, [pc, #68] ; (80ad04c ) 80ad006: 4819 ldr r0, [pc, #100] ; (80ad06c ) 80ad008: f7a8 f900 bl 805520c if(X0 == 0) 80ad00c: 4b14 ldr r3, [pc, #80] ; (80ad060 ) 80ad00e: 881b ldrh r3, [r3, #0] 80ad010: b29b uxth r3, r3 80ad012: 2b00 cmp r3, #0 80ad014: d10d bne.n 80ad032 BSP_LCD_DrawLine(62, 64, 92, 98); 80ad016: 2362 movs r3, #98 ; 0x62 80ad018: 225c movs r2, #92 ; 0x5c 80ad01a: 2140 movs r1, #64 ; 0x40 80ad01c: 203e movs r0, #62 ; 0x3e 80ad01e: f7a8 fb2f bl 8055680 BSP_LCD_DrawLine(92, 98, 62+255, 98); 80ad022: 2362 movs r3, #98 ; 0x62 80ad024: f240 123d movw r2, #317 ; 0x13d 80ad028: 2162 movs r1, #98 ; 0x62 80ad02a: 205c movs r0, #92 ; 0x5c 80ad02c: f7a8 fb28 bl 8055680 break; 80ad030: e0d5 b.n 80ad1de BSP_LCD_DrawLine(62, 98, 62+255, 98); 80ad032: 2362 movs r3, #98 ; 0x62 80ad034: f240 123d movw r2, #317 ; 0x13d 80ad038: 2162 movs r1, #98 ; 0x62 80ad03a: 203e movs r0, #62 ; 0x3e 80ad03c: f7a8 fb20 bl 8055680 break; 80ad040: e0cd b.n 80ad1de for(i = 0; i < 256; i++) 80ad042: 2300 movs r3, #0 80ad044: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ad048: e0c2 b.n 80ad1d0 80ad04a: bf00 nop 80ad04c: ff0a0f1f .word 0xff0a0f1f 80ad050: ffafff9c .word 0xffafff9c 80ad054: 20020fc0 .word 0x20020fc0 80ad058: 20023eb8 .word 0x20023eb8 80ad05c: 080f5fec .word 0x080f5fec 80ad060: 20025d76 .word 0x20025d76 80ad064: 64080000 .word 0x64080000 80ad068: ff66a6d3 .word 0xff66a6d3 80ad06c: ffffa500 .word 0xffffa500 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80ad070: 4bc0 ldr r3, [pc, #768] ; (80ad374 ) 80ad072: 781b ldrb r3, [r3, #0] 80ad074: b2db uxtb r3, r3 80ad076: 4618 mov r0, r3 80ad078: 4bbf ldr r3, [pc, #764] ; (80ad378 ) 80ad07a: 79db ldrb r3, [r3, #7] 80ad07c: b2db uxtb r3, r3 80ad07e: 4619 mov r1, r3 80ad080: 4abe ldr r2, [pc, #760] ; (80ad37c ) 80ad082: 0083 lsls r3, r0, #2 80ad084: 4413 add r3, r2 80ad086: 440b add r3, r1 80ad088: 781b ldrb r3, [r3, #0] 80ad08a: 461a mov r2, r3 80ad08c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad090: fb03 f302 mul.w r3, r3, r2 80ad094: 4aba ldr r2, [pc, #744] ; (80ad380 ) 80ad096: 8812 ldrh r2, [r2, #0] 80ad098: b292 uxth r2, r2 80ad09a: 4413 add r3, r2 80ad09c: 009a lsls r2, r3, #2 80ad09e: 4bb9 ldr r3, [pc, #740] ; (80ad384 ) 80ad0a0: 4413 add r3, r2 80ad0a2: 461c mov r4, r3 80ad0a4: 4bb3 ldr r3, [pc, #716] ; (80ad374 ) 80ad0a6: 781b ldrb r3, [r3, #0] 80ad0a8: b2db uxtb r3, r3 80ad0aa: 4618 mov r0, r3 80ad0ac: 4bb2 ldr r3, [pc, #712] ; (80ad378 ) 80ad0ae: 79db ldrb r3, [r3, #7] 80ad0b0: b2db uxtb r3, r3 80ad0b2: 4619 mov r1, r3 80ad0b4: 4ab1 ldr r2, [pc, #708] ; (80ad37c ) 80ad0b6: 0083 lsls r3, r0, #2 80ad0b8: 4413 add r3, r2 80ad0ba: 440b add r3, r1 80ad0bc: 781b ldrb r3, [r3, #0] 80ad0be: 4618 mov r0, r3 80ad0c0: f507 711a add.w r1, r7, #616 ; 0x268 80ad0c4: f507 731e add.w r3, r7, #632 ; 0x278 80ad0c8: 1d1a adds r2, r3, #4 80ad0ca: 460b mov r3, r1 80ad0cc: 4601 mov r1, r0 80ad0ce: 4620 mov r0, r4 80ad0d0: f021 ffa0 bl 80cf014 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80ad0d4: 4ba7 ldr r3, [pc, #668] ; (80ad374 ) 80ad0d6: 781b ldrb r3, [r3, #0] 80ad0d8: b2db uxtb r3, r3 80ad0da: 4618 mov r0, r3 80ad0dc: 4ba6 ldr r3, [pc, #664] ; (80ad378 ) 80ad0de: 79db ldrb r3, [r3, #7] 80ad0e0: b2db uxtb r3, r3 80ad0e2: 4619 mov r1, r3 80ad0e4: 4aa5 ldr r2, [pc, #660] ; (80ad37c ) 80ad0e6: 0083 lsls r3, r0, #2 80ad0e8: 4413 add r3, r2 80ad0ea: 440b add r3, r1 80ad0ec: 781b ldrb r3, [r3, #0] 80ad0ee: 461a mov r2, r3 80ad0f0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad0f4: fb03 f302 mul.w r3, r3, r2 80ad0f8: 4aa1 ldr r2, [pc, #644] ; (80ad380 ) 80ad0fa: 8812 ldrh r2, [r2, #0] 80ad0fc: b292 uxth r2, r2 80ad0fe: 4413 add r3, r2 80ad100: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80ad104: 4b9b ldr r3, [pc, #620] ; (80ad374 ) 80ad106: 781b ldrb r3, [r3, #0] 80ad108: b2db uxtb r3, r3 80ad10a: 4618 mov r0, r3 80ad10c: 4b9a ldr r3, [pc, #616] ; (80ad378 ) 80ad10e: 79db ldrb r3, [r3, #7] 80ad110: b2db uxtb r3, r3 80ad112: 4619 mov r1, r3 80ad114: 4a99 ldr r2, [pc, #612] ; (80ad37c ) 80ad116: 0083 lsls r3, r0, #2 80ad118: 4413 add r3, r2 80ad11a: 440b add r3, r1 80ad11c: 781b ldrb r3, [r3, #0] 80ad11e: 461a mov r2, r3 80ad120: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad124: fb03 f302 mul.w r3, r3, r2 80ad128: 4a95 ldr r2, [pc, #596] ; (80ad380 ) 80ad12a: 8812 ldrh r2, [r2, #0] 80ad12c: b292 uxth r2, r2 80ad12e: 4413 add r3, r2 80ad130: 4a90 ldr r2, [pc, #576] ; (80ad374 ) 80ad132: 7812 ldrb r2, [r2, #0] 80ad134: b2d2 uxtb r2, r2 80ad136: 4614 mov r4, r2 80ad138: 4a8f ldr r2, [pc, #572] ; (80ad378 ) 80ad13a: 79d2 ldrb r2, [r2, #7] 80ad13c: b2d2 uxtb r2, r2 80ad13e: 4610 mov r0, r2 80ad140: 498e ldr r1, [pc, #568] ; (80ad37c ) 80ad142: 00a2 lsls r2, r4, #2 80ad144: 440a add r2, r1 80ad146: 4402 add r2, r0 80ad148: 7812 ldrb r2, [r2, #0] 80ad14a: 4413 add r3, r2 80ad14c: 3b01 subs r3, #1 80ad14e: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80ad152: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad156: 333e adds r3, #62 ; 0x3e 80ad158: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 15; j++) 80ad15c: 2300 movs r3, #0 80ad15e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ad162: e02c b.n 80ad1be if((_Fvr[j] >= iL) && (_Fvr[j] <= iR)) 80ad164: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ad168: 009b lsls r3, r3, #2 80ad16a: f507 722e add.w r2, r7, #696 ; 0x2b8 80ad16e: 4413 add r3, r2 80ad170: f853 3c8c ldr.w r3, [r3, #-140] 80ad174: 461a mov r2, r3 80ad176: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80ad17a: 429a cmp r2, r3 80ad17c: d31a bcc.n 80ad1b4 80ad17e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ad182: 009b lsls r3, r3, #2 80ad184: f507 722e add.w r2, r7, #696 ; 0x2b8 80ad188: 4413 add r3, r2 80ad18a: f853 3c8c ldr.w r3, [r3, #-140] 80ad18e: 461a mov r2, r3 80ad190: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ad194: 429a cmp r2, r3 80ad196: d80d bhi.n 80ad1b4 LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80ad198: 497b ldr r1, [pc, #492] ; (80ad388 ) 80ad19a: 487c ldr r0, [pc, #496] ; (80ad38c ) 80ad19c: f7a8 f836 bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80ad1a0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad1a4: b298 uxth r0, r3 80ad1a6: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad1aa: b29a uxth r2, r3 80ad1ac: 23da movs r3, #218 ; 0xda 80ad1ae: 212c movs r1, #44 ; 0x2c 80ad1b0: f7a8 fa66 bl 8055680 for(j = 0; j < 15; j++) 80ad1b4: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ad1b8: 3301 adds r3, #1 80ad1ba: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ad1be: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ad1c2: 2b0e cmp r3, #14 80ad1c4: d9ce bls.n 80ad164 for(i = 0; i < 256; i++) 80ad1c6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad1ca: 3301 adds r3, #1 80ad1cc: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ad1d0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad1d4: 2bff cmp r3, #255 ; 0xff 80ad1d6: f67f af4b bls.w 80ad070 break; 80ad1da: e000 b.n 80ad1de break; 80ad1dc: bf00 nop n = 0; 80ad1de: 2300 movs r3, #0 80ad1e0: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80ad1e4: 4b6a ldr r3, [pc, #424] ; (80ad390 ) 80ad1e6: 2200 movs r2, #0 80ad1e8: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80ad1ea: 2300 movs r3, #0 80ad1ec: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ad1f0: e1a0 b.n 80ad534 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ad1f2: 4965 ldr r1, [pc, #404] ; (80ad388 ) 80ad1f4: 4867 ldr r0, [pc, #412] ; (80ad394 ) 80ad1f6: f7a8 f809 bl 805520c arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80ad1fa: 4b5e ldr r3, [pc, #376] ; (80ad374 ) 80ad1fc: 781b ldrb r3, [r3, #0] 80ad1fe: b2db uxtb r3, r3 80ad200: 4618 mov r0, r3 80ad202: 4b5d ldr r3, [pc, #372] ; (80ad378 ) 80ad204: 79db ldrb r3, [r3, #7] 80ad206: b2db uxtb r3, r3 80ad208: 4619 mov r1, r3 80ad20a: 4a5c ldr r2, [pc, #368] ; (80ad37c ) 80ad20c: 0083 lsls r3, r0, #2 80ad20e: 4413 add r3, r2 80ad210: 440b add r3, r1 80ad212: 781b ldrb r3, [r3, #0] 80ad214: 461a mov r2, r3 80ad216: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad21a: fb03 f302 mul.w r3, r3, r2 80ad21e: 4a58 ldr r2, [pc, #352] ; (80ad380 ) 80ad220: 8812 ldrh r2, [r2, #0] 80ad222: b292 uxth r2, r2 80ad224: 4413 add r3, r2 80ad226: 009a lsls r2, r3, #2 80ad228: 4b56 ldr r3, [pc, #344] ; (80ad384 ) 80ad22a: 4413 add r3, r2 80ad22c: 461c mov r4, r3 80ad22e: 4b51 ldr r3, [pc, #324] ; (80ad374 ) 80ad230: 781b ldrb r3, [r3, #0] 80ad232: b2db uxtb r3, r3 80ad234: 4618 mov r0, r3 80ad236: 4b50 ldr r3, [pc, #320] ; (80ad378 ) 80ad238: 79db ldrb r3, [r3, #7] 80ad23a: b2db uxtb r3, r3 80ad23c: 4619 mov r1, r3 80ad23e: 4a4f ldr r2, [pc, #316] ; (80ad37c ) 80ad240: 0083 lsls r3, r0, #2 80ad242: 4413 add r3, r2 80ad244: 440b add r3, r1 80ad246: 781b ldrb r3, [r3, #0] 80ad248: 4618 mov r0, r3 80ad24a: f507 711a add.w r1, r7, #616 ; 0x268 80ad24e: f507 731e add.w r3, r7, #632 ; 0x278 80ad252: 1d1a adds r2, r3, #4 80ad254: 460b mov r3, r1 80ad256: 4601 mov r1, r0 80ad258: 4620 mov r0, r4 80ad25a: f021 fedb bl 80cf014 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80ad25e: 4b45 ldr r3, [pc, #276] ; (80ad374 ) 80ad260: 781b ldrb r3, [r3, #0] 80ad262: b2db uxtb r3, r3 80ad264: 4618 mov r0, r3 80ad266: 4b44 ldr r3, [pc, #272] ; (80ad378 ) 80ad268: 79db ldrb r3, [r3, #7] 80ad26a: b2db uxtb r3, r3 80ad26c: 4619 mov r1, r3 80ad26e: 4a43 ldr r2, [pc, #268] ; (80ad37c ) 80ad270: 0083 lsls r3, r0, #2 80ad272: 4413 add r3, r2 80ad274: 440b add r3, r1 80ad276: 781b ldrb r3, [r3, #0] 80ad278: 461a mov r2, r3 80ad27a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad27e: fb03 f302 mul.w r3, r3, r2 80ad282: 4a3f ldr r2, [pc, #252] ; (80ad380 ) 80ad284: 8812 ldrh r2, [r2, #0] 80ad286: b292 uxth r2, r2 80ad288: 4413 add r3, r2 80ad28a: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80ad28e: 4b39 ldr r3, [pc, #228] ; (80ad374 ) 80ad290: 781b ldrb r3, [r3, #0] 80ad292: b2db uxtb r3, r3 80ad294: 4618 mov r0, r3 80ad296: 4b38 ldr r3, [pc, #224] ; (80ad378 ) 80ad298: 79db ldrb r3, [r3, #7] 80ad29a: b2db uxtb r3, r3 80ad29c: 4619 mov r1, r3 80ad29e: 4a37 ldr r2, [pc, #220] ; (80ad37c ) 80ad2a0: 0083 lsls r3, r0, #2 80ad2a2: 4413 add r3, r2 80ad2a4: 440b add r3, r1 80ad2a6: 781b ldrb r3, [r3, #0] 80ad2a8: 461a mov r2, r3 80ad2aa: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad2ae: fb03 f302 mul.w r3, r3, r2 80ad2b2: 4a33 ldr r2, [pc, #204] ; (80ad380 ) 80ad2b4: 8812 ldrh r2, [r2, #0] 80ad2b6: b292 uxth r2, r2 80ad2b8: 4413 add r3, r2 80ad2ba: 4a2e ldr r2, [pc, #184] ; (80ad374 ) 80ad2bc: 7812 ldrb r2, [r2, #0] 80ad2be: b2d2 uxtb r2, r2 80ad2c0: 4614 mov r4, r2 80ad2c2: 4a2d ldr r2, [pc, #180] ; (80ad378 ) 80ad2c4: 79d2 ldrb r2, [r2, #7] 80ad2c6: b2d2 uxtb r2, r2 80ad2c8: 4610 mov r0, r2 80ad2ca: 492c ldr r1, [pc, #176] ; (80ad37c ) 80ad2cc: 00a2 lsls r2, r4, #2 80ad2ce: 440a add r2, r1 80ad2d0: 4402 add r2, r0 80ad2d2: 7812 ldrb r2, [r2, #0] 80ad2d4: 4413 add r3, r2 80ad2d6: 3b01 subs r3, #1 80ad2d8: f8c7 328c str.w r3, [r7, #652] ; 0x28c if(mF[MAXY] > 0.0f) 80ad2dc: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad2e0: eef5 7ac0 vcmpe.f32 s15, #0.0 80ad2e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad2e8: dd60 ble.n 80ad3ac mF[MAXY] = ((mF[MAXY] - min) * ZoomVal) + 3.0f; 80ad2ea: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ad2ee: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ad2f2: ee37 7a67 vsub.f32 s14, s14, s15 80ad2f6: 4b28 ldr r3, [pc, #160] ; (80ad398 ) 80ad2f8: edd3 7a00 vldr s15, [r3] 80ad2fc: ee67 7a27 vmul.f32 s15, s14, s15 80ad300: eeb0 7a08 vmov.f32 s14, #8 ; 0x40400000 3.0 80ad304: ee77 7a87 vadd.f32 s15, s15, s14 80ad308: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ad30c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad310: ed9f 7a22 vldr s14, [pc, #136] ; 80ad39c 80ad314: eef4 7ac7 vcmpe.f32 s15, s14 80ad318: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad31c: dd02 ble.n 80ad324 80ad31e: 4b20 ldr r3, [pc, #128] ; (80ad3a0 ) 80ad320: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ad324: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad328: ed9f 7a1e vldr s14, [pc, #120] ; 80ad3a4 80ad32c: eef4 7ac7 vcmpe.f32 s15, s14 80ad330: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad334: d502 bpl.n 80ad33c 80ad336: 4b1c ldr r3, [pc, #112] ; (80ad3a8 ) 80ad338: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80ad33c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad340: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80ad344: ee77 7a87 vadd.f32 s15, s15, s14 80ad348: eefd 7ae7 vcvt.s32.f32 s15, s15 80ad34c: edc7 7a01 vstr s15, [r7, #4] 80ad350: 88bb ldrh r3, [r7, #4] 80ad352: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > 157) 80ad356: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ad35a: 2b9d cmp r3, #157 ; 0x9d 80ad35c: dd29 ble.n 80ad3b2 pMax = 157; 80ad35e: 239d movs r3, #157 ; 0x9d 80ad360: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ad364: 4b0a ldr r3, [pc, #40] ; (80ad390 ) 80ad366: 781b ldrb r3, [r3, #0] 80ad368: 3301 adds r3, #1 80ad36a: b2da uxtb r2, r3 80ad36c: 4b08 ldr r3, [pc, #32] ; (80ad390 ) 80ad36e: 701a strb r2, [r3, #0] 80ad370: e01f b.n 80ad3b2 80ad372: bf00 nop 80ad374: 20020fc0 .word 0x20020fc0 80ad378: 20023eb8 .word 0x20023eb8 80ad37c: 080f5fec .word 0x080f5fec 80ad380: 20025d76 .word 0x20025d76 80ad384: 64080000 .word 0x64080000 80ad388: ff0a0f1f .word 0xff0a0f1f 80ad38c: ff66a6d3 .word 0xff66a6d3 80ad390: 2002169e .word 0x2002169e 80ad394: ff26a01f .word 0xff26a01f 80ad398: 20020998 .word 0x20020998 80ad39c: 46fffe00 .word 0x46fffe00 80ad3a0: 46fffe00 .word 0x46fffe00 80ad3a4: c6fffe00 .word 0xc6fffe00 80ad3a8: c6fffe00 .word 0xc6fffe00 pMax = 0; 80ad3ac: 2300 movs r3, #0 80ad3ae: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80ad3b2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad3b6: 333e adds r3, #62 ; 0x3e 80ad3b8: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80ad3bc: 4bb0 ldr r3, [pc, #704] ; (80ad680 ) 80ad3be: 681b ldr r3, [r3, #0] 80ad3c0: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ad3c4: 429a cmp r2, r3 80ad3c6: d12a bne.n 80ad41e if(menupos != Cursor) 80ad3c8: 4bae ldr r3, [pc, #696] ; (80ad684 ) 80ad3ca: 781b ldrb r3, [r3, #0] 80ad3cc: b2db uxtb r3, r3 80ad3ce: 2b06 cmp r3, #6 80ad3d0: d004 beq.n 80ad3dc LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80ad3d2: 49ad ldr r1, [pc, #692] ; (80ad688 ) 80ad3d4: 48ad ldr r0, [pc, #692] ; (80ad68c ) 80ad3d6: f7a7 ff19 bl 805520c 80ad3da: e003 b.n 80ad3e4 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80ad3dc: 49aa ldr r1, [pc, #680] ; (80ad688 ) 80ad3de: 48ac ldr r0, [pc, #688] ; (80ad690 ) 80ad3e0: f7a7 ff14 bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80ad3e4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad3e8: b298 uxth r0, r3 80ad3ea: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad3ee: b29a uxth r2, r3 80ad3f0: 23da movs r3, #218 ; 0xda 80ad3f2: 212c movs r1, #44 ; 0x2c 80ad3f4: f7a8 f944 bl 8055680 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80ad3f8: 49a3 ldr r1, [pc, #652] ; (80ad688 ) 80ad3fa: 48a6 ldr r0, [pc, #664] ; (80ad694 ) 80ad3fc: f7a7 ff06 bl 805520c BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80ad400: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad404: b298 uxth r0, r3 80ad406: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad40a: b29a uxth r2, r3 80ad40c: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ad410: f1c3 03da rsb r3, r3, #218 ; 0xda 80ad414: b29b uxth r3, r3 80ad416: 21db movs r1, #219 ; 0xdb 80ad418: f7a8 f932 bl 8055680 80ad41c: e011 b.n 80ad442 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ad41e: 499a ldr r1, [pc, #616] ; (80ad688 ) 80ad420: 489d ldr r0, [pc, #628] ; (80ad698 ) 80ad422: f7a7 fef3 bl 805520c BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80ad426: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad42a: b298 uxth r0, r3 80ad42c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad430: b29a uxth r2, r3 80ad432: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ad436: f1c3 03da rsb r3, r3, #218 ; 0xda 80ad43a: b29b uxth r3, r3 80ad43c: 21da movs r1, #218 ; 0xda 80ad43e: f7a8 f91f bl 8055680 for(j = i * avgSPC[ViewLevel][pardata.LNE] + X0; j < i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE]; j++) 80ad442: 4b96 ldr r3, [pc, #600] ; (80ad69c ) 80ad444: 781b ldrb r3, [r3, #0] 80ad446: b2db uxtb r3, r3 80ad448: 4618 mov r0, r3 80ad44a: 4b95 ldr r3, [pc, #596] ; (80ad6a0 ) 80ad44c: 79db ldrb r3, [r3, #7] 80ad44e: b2db uxtb r3, r3 80ad450: 4619 mov r1, r3 80ad452: 4a94 ldr r2, [pc, #592] ; (80ad6a4 ) 80ad454: 0083 lsls r3, r0, #2 80ad456: 4413 add r3, r2 80ad458: 440b add r3, r1 80ad45a: 781b ldrb r3, [r3, #0] 80ad45c: 461a mov r2, r3 80ad45e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad462: fb03 f302 mul.w r3, r3, r2 80ad466: 4a90 ldr r2, [pc, #576] ; (80ad6a8 ) 80ad468: 8812 ldrh r2, [r2, #0] 80ad46a: b292 uxth r2, r2 80ad46c: 4413 add r3, r2 80ad46e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ad472: e028 b.n 80ad4c6 if(Freq[j]) 80ad474: 4a8d ldr r2, [pc, #564] ; (80ad6ac ) 80ad476: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ad47a: 4413 add r3, r2 80ad47c: 781b ldrb r3, [r3, #0] 80ad47e: 2b00 cmp r3, #0 80ad480: d01c beq.n 80ad4bc LCD_SetColors(0xFFFFDA10, LCD_COLOR_BLACK); 80ad482: 4981 ldr r1, [pc, #516] ; (80ad688 ) 80ad484: 488a ldr r0, [pc, #552] ; (80ad6b0 ) 80ad486: f7a7 fec1 bl 805520c BSP_LCD_DrawPixel(x, 218 - pMax, 0xFFFFDA10); 80ad48a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad48e: b298 uxth r0, r3 80ad490: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ad494: f1c3 03da rsb r3, r3, #218 ; 0xda 80ad498: b29b uxth r3, r3 80ad49a: 4a85 ldr r2, [pc, #532] ; (80ad6b0 ) 80ad49c: 4619 mov r1, r3 80ad49e: f7a8 fadf bl 8055a60 BSP_LCD_DrawPixel(x, 219 - pMax, 0xFFFFDA10); 80ad4a2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad4a6: b298 uxth r0, r3 80ad4a8: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ad4ac: f1c3 03db rsb r3, r3, #219 ; 0xdb 80ad4b0: b29b uxth r3, r3 80ad4b2: 4a7f ldr r2, [pc, #508] ; (80ad6b0 ) 80ad4b4: 4619 mov r1, r3 80ad4b6: f7a8 fad3 bl 8055a60 break; 80ad4ba: e02c b.n 80ad516 for(j = i * avgSPC[ViewLevel][pardata.LNE] + X0; j < i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE]; j++) 80ad4bc: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ad4c0: 3301 adds r3, #1 80ad4c2: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ad4c6: 4b75 ldr r3, [pc, #468] ; (80ad69c ) 80ad4c8: 781b ldrb r3, [r3, #0] 80ad4ca: b2db uxtb r3, r3 80ad4cc: 4618 mov r0, r3 80ad4ce: 4b74 ldr r3, [pc, #464] ; (80ad6a0 ) 80ad4d0: 79db ldrb r3, [r3, #7] 80ad4d2: b2db uxtb r3, r3 80ad4d4: 4619 mov r1, r3 80ad4d6: 4a73 ldr r2, [pc, #460] ; (80ad6a4 ) 80ad4d8: 0083 lsls r3, r0, #2 80ad4da: 4413 add r3, r2 80ad4dc: 440b add r3, r1 80ad4de: 781b ldrb r3, [r3, #0] 80ad4e0: 461a mov r2, r3 80ad4e2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad4e6: fb03 f302 mul.w r3, r3, r2 80ad4ea: 4a6f ldr r2, [pc, #444] ; (80ad6a8 ) 80ad4ec: 8812 ldrh r2, [r2, #0] 80ad4ee: b292 uxth r2, r2 80ad4f0: 4413 add r3, r2 80ad4f2: 4a6a ldr r2, [pc, #424] ; (80ad69c ) 80ad4f4: 7812 ldrb r2, [r2, #0] 80ad4f6: b2d2 uxtb r2, r2 80ad4f8: 4614 mov r4, r2 80ad4fa: 4a69 ldr r2, [pc, #420] ; (80ad6a0 ) 80ad4fc: 79d2 ldrb r2, [r2, #7] 80ad4fe: b2d2 uxtb r2, r2 80ad500: 4610 mov r0, r2 80ad502: 4968 ldr r1, [pc, #416] ; (80ad6a4 ) 80ad504: 00a2 lsls r2, r4, #2 80ad506: 440a add r2, r1 80ad508: 4402 add r2, r0 80ad50a: 7812 ldrb r2, [r2, #0] 80ad50c: 441a add r2, r3 80ad50e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ad512: 429a cmp r2, r3 80ad514: d8ae bhi.n 80ad474 if(pMax > Maximum) 80ad516: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ad51a: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ad51e: 429a cmp r2, r3 80ad520: dd03 ble.n 80ad52a Maximum = pMax; 80ad522: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ad526: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 256; i++) 80ad52a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad52e: 3301 adds r3, #1 80ad530: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ad534: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad538: 2bff cmp r3, #255 ; 0xff 80ad53a: f67f ae5a bls.w 80ad1f2 80ad53e: e178 b.n 80ad832 NumOverdrives = 0; 80ad540: 4b5c ldr r3, [pc, #368] ; (80ad6b4 ) 80ad542: 2200 movs r2, #0 80ad544: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80ad546: 2300 movs r3, #0 80ad548: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ad54c: e16c b.n 80ad828 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ad54e: 494e ldr r1, [pc, #312] ; (80ad688 ) 80ad550: 4851 ldr r0, [pc, #324] ; (80ad698 ) 80ad552: f7a7 fe5b bl 805520c arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80ad556: 4b51 ldr r3, [pc, #324] ; (80ad69c ) 80ad558: 781b ldrb r3, [r3, #0] 80ad55a: b2db uxtb r3, r3 80ad55c: 4618 mov r0, r3 80ad55e: 4b50 ldr r3, [pc, #320] ; (80ad6a0 ) 80ad560: 79db ldrb r3, [r3, #7] 80ad562: b2db uxtb r3, r3 80ad564: 4619 mov r1, r3 80ad566: 4a4f ldr r2, [pc, #316] ; (80ad6a4 ) 80ad568: 0083 lsls r3, r0, #2 80ad56a: 4413 add r3, r2 80ad56c: 440b add r3, r1 80ad56e: 781b ldrb r3, [r3, #0] 80ad570: 461a mov r2, r3 80ad572: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad576: fb03 f302 mul.w r3, r3, r2 80ad57a: 4a4b ldr r2, [pc, #300] ; (80ad6a8 ) 80ad57c: 8812 ldrh r2, [r2, #0] 80ad57e: b292 uxth r2, r2 80ad580: 4413 add r3, r2 80ad582: 009a lsls r2, r3, #2 80ad584: 4b4c ldr r3, [pc, #304] ; (80ad6b8 ) 80ad586: 4413 add r3, r2 80ad588: 461c mov r4, r3 80ad58a: 4b44 ldr r3, [pc, #272] ; (80ad69c ) 80ad58c: 781b ldrb r3, [r3, #0] 80ad58e: b2db uxtb r3, r3 80ad590: 4618 mov r0, r3 80ad592: 4b43 ldr r3, [pc, #268] ; (80ad6a0 ) 80ad594: 79db ldrb r3, [r3, #7] 80ad596: b2db uxtb r3, r3 80ad598: 4619 mov r1, r3 80ad59a: 4a42 ldr r2, [pc, #264] ; (80ad6a4 ) 80ad59c: 0083 lsls r3, r0, #2 80ad59e: 4413 add r3, r2 80ad5a0: 440b add r3, r1 80ad5a2: 781b ldrb r3, [r3, #0] 80ad5a4: 4618 mov r0, r3 80ad5a6: f507 711a add.w r1, r7, #616 ; 0x268 80ad5aa: f507 731e add.w r3, r7, #632 ; 0x278 80ad5ae: 1d1a adds r2, r3, #4 80ad5b0: 460b mov r3, r1 80ad5b2: 4601 mov r1, r0 80ad5b4: 4620 mov r0, r4 80ad5b6: f021 fd2d bl 80cf014 if(mF[MAXY] > 0.0f) 80ad5ba: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad5be: eef5 7ac0 vcmpe.f32 s15, #0.0 80ad5c2: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad5c6: dd43 ble.n 80ad650 mF[MAXY] = ((mF[MAXY] - min) * ZoomVal) + 3.0f; 80ad5c8: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ad5cc: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ad5d0: ee37 7a67 vsub.f32 s14, s14, s15 80ad5d4: 4b39 ldr r3, [pc, #228] ; (80ad6bc ) 80ad5d6: edd3 7a00 vldr s15, [r3] 80ad5da: ee67 7a27 vmul.f32 s15, s14, s15 80ad5de: eeb0 7a08 vmov.f32 s14, #8 ; 0x40400000 3.0 80ad5e2: ee77 7a87 vadd.f32 s15, s15, s14 80ad5e6: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ad5ea: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad5ee: ed9f 7a34 vldr s14, [pc, #208] ; 80ad6c0 80ad5f2: eef4 7ac7 vcmpe.f32 s15, s14 80ad5f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad5fa: dd02 ble.n 80ad602 80ad5fc: 4b31 ldr r3, [pc, #196] ; (80ad6c4 ) 80ad5fe: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ad602: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad606: ed9f 7a30 vldr s14, [pc, #192] ; 80ad6c8 80ad60a: eef4 7ac7 vcmpe.f32 s15, s14 80ad60e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad612: d502 bpl.n 80ad61a 80ad614: 4b2d ldr r3, [pc, #180] ; (80ad6cc ) 80ad616: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80ad61a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad61e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80ad622: ee77 7a87 vadd.f32 s15, s15, s14 80ad626: eefd 7ae7 vcvt.s32.f32 s15, s15 80ad62a: edc7 7a01 vstr s15, [r7, #4] 80ad62e: 88bb ldrh r3, [r7, #4] 80ad630: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > 157) 80ad634: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ad638: 2b9d cmp r3, #157 ; 0x9d 80ad63a: dd0c ble.n 80ad656 pMax = 157; 80ad63c: 239d movs r3, #157 ; 0x9d 80ad63e: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ad642: 4b1c ldr r3, [pc, #112] ; (80ad6b4 ) 80ad644: 781b ldrb r3, [r3, #0] 80ad646: 3301 adds r3, #1 80ad648: b2da uxtb r2, r3 80ad64a: 4b1a ldr r3, [pc, #104] ; (80ad6b4 ) 80ad64c: 701a strb r2, [r3, #0] 80ad64e: e002 b.n 80ad656 pMax = 0; 80ad650: 2300 movs r3, #0 80ad652: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80ad656: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad65a: 333e adds r3, #62 ; 0x3e 80ad65c: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80ad660: 4b07 ldr r3, [pc, #28] ; (80ad680 ) 80ad662: 681b ldr r3, [r3, #0] 80ad664: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ad668: 429a cmp r2, r3 80ad66a: d156 bne.n 80ad71a if(menupos != Cursor) 80ad66c: 4b05 ldr r3, [pc, #20] ; (80ad684 ) 80ad66e: 781b ldrb r3, [r3, #0] 80ad670: b2db uxtb r3, r3 80ad672: 2b06 cmp r3, #6 80ad674: d02c beq.n 80ad6d0 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80ad676: 4904 ldr r1, [pc, #16] ; (80ad688 ) 80ad678: 4804 ldr r0, [pc, #16] ; (80ad68c ) 80ad67a: f7a7 fdc7 bl 805520c 80ad67e: e02b b.n 80ad6d8 80ad680: 2002006c .word 0x2002006c 80ad684: 20020070 .word 0x20020070 80ad688: ff0a0f1f .word 0xff0a0f1f 80ad68c: ff808080 .word 0xff808080 80ad690: ffff0000 .word 0xffff0000 80ad694: ff008000 .word 0xff008000 80ad698: ff26a01f .word 0xff26a01f 80ad69c: 20020fc0 .word 0x20020fc0 80ad6a0: 20023eb8 .word 0x20023eb8 80ad6a4: 080f5fec .word 0x080f5fec 80ad6a8: 20025d76 .word 0x20025d76 80ad6ac: 20018000 .word 0x20018000 80ad6b0: ffffda10 .word 0xffffda10 80ad6b4: 2002169e .word 0x2002169e 80ad6b8: 64080000 .word 0x64080000 80ad6bc: 20020998 .word 0x20020998 80ad6c0: 46fffe00 .word 0x46fffe00 80ad6c4: 46fffe00 .word 0x46fffe00 80ad6c8: c6fffe00 .word 0xc6fffe00 80ad6cc: c6fffe00 .word 0xc6fffe00 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80ad6d0: 49c2 ldr r1, [pc, #776] ; (80ad9dc ) 80ad6d2: 48c3 ldr r0, [pc, #780] ; (80ad9e0 ) 80ad6d4: f7a7 fd9a bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80ad6d8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad6dc: b298 uxth r0, r3 80ad6de: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad6e2: b29a uxth r2, r3 80ad6e4: 23da movs r3, #218 ; 0xda 80ad6e6: 212c movs r1, #44 ; 0x2c 80ad6e8: f7a7 ffca bl 8055680 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80ad6ec: 49bb ldr r1, [pc, #748] ; (80ad9dc ) 80ad6ee: 48bd ldr r0, [pc, #756] ; (80ad9e4 ) 80ad6f0: f7a7 fd8c bl 805520c BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80ad6f4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad6f8: b298 uxth r0, r3 80ad6fa: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad6fe: b29a uxth r2, r3 80ad700: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ad704: f1c3 03da rsb r3, r3, #218 ; 0xda 80ad708: b29b uxth r3, r3 80ad70a: 21db movs r1, #219 ; 0xdb 80ad70c: f7a7 ffb8 bl 8055680 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ad710: 49b2 ldr r1, [pc, #712] ; (80ad9dc ) 80ad712: 48b5 ldr r0, [pc, #724] ; (80ad9e8 ) 80ad714: f7a7 fd7a bl 805520c 80ad718: e00d b.n 80ad736 BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80ad71a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad71e: b298 uxth r0, r3 80ad720: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad724: b29a uxth r2, r3 80ad726: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ad72a: f1c3 03da rsb r3, r3, #218 ; 0xda 80ad72e: b29b uxth r3, r3 80ad730: 21da movs r1, #218 ; 0xda 80ad732: f7a7 ffa5 bl 8055680 for(j = i * avgSPC[ViewLevel][pardata.LNE] + X0; j < i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE]; j++) 80ad736: 4bad ldr r3, [pc, #692] ; (80ad9ec ) 80ad738: 781b ldrb r3, [r3, #0] 80ad73a: b2db uxtb r3, r3 80ad73c: 4618 mov r0, r3 80ad73e: 4bac ldr r3, [pc, #688] ; (80ad9f0 ) 80ad740: 79db ldrb r3, [r3, #7] 80ad742: b2db uxtb r3, r3 80ad744: 4619 mov r1, r3 80ad746: 4aab ldr r2, [pc, #684] ; (80ad9f4 ) 80ad748: 0083 lsls r3, r0, #2 80ad74a: 4413 add r3, r2 80ad74c: 440b add r3, r1 80ad74e: 781b ldrb r3, [r3, #0] 80ad750: 461a mov r2, r3 80ad752: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad756: fb03 f302 mul.w r3, r3, r2 80ad75a: 4aa7 ldr r2, [pc, #668] ; (80ad9f8 ) 80ad75c: 8812 ldrh r2, [r2, #0] 80ad75e: b292 uxth r2, r2 80ad760: 4413 add r3, r2 80ad762: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ad766: e028 b.n 80ad7ba if(Freq[j]) 80ad768: 4aa4 ldr r2, [pc, #656] ; (80ad9fc ) 80ad76a: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ad76e: 4413 add r3, r2 80ad770: 781b ldrb r3, [r3, #0] 80ad772: 2b00 cmp r3, #0 80ad774: d01c beq.n 80ad7b0 LCD_SetColors(0xFFFFDA10, LCD_COLOR_BLACK); 80ad776: 4999 ldr r1, [pc, #612] ; (80ad9dc ) 80ad778: 48a1 ldr r0, [pc, #644] ; (80ada00 ) 80ad77a: f7a7 fd47 bl 805520c BSP_LCD_DrawPixel(x, 218 - pMax, 0xFFFFDA10); 80ad77e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad782: b298 uxth r0, r3 80ad784: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ad788: f1c3 03da rsb r3, r3, #218 ; 0xda 80ad78c: b29b uxth r3, r3 80ad78e: 4a9c ldr r2, [pc, #624] ; (80ada00 ) 80ad790: 4619 mov r1, r3 80ad792: f7a8 f965 bl 8055a60 BSP_LCD_DrawPixel(x, 219 - pMax, 0xFFFFDA10); 80ad796: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad79a: b298 uxth r0, r3 80ad79c: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ad7a0: f1c3 03db rsb r3, r3, #219 ; 0xdb 80ad7a4: b29b uxth r3, r3 80ad7a6: 4a96 ldr r2, [pc, #600] ; (80ada00 ) 80ad7a8: 4619 mov r1, r3 80ad7aa: f7a8 f959 bl 8055a60 break; 80ad7ae: e02c b.n 80ad80a for(j = i * avgSPC[ViewLevel][pardata.LNE] + X0; j < i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE]; j++) 80ad7b0: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ad7b4: 3301 adds r3, #1 80ad7b6: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ad7ba: 4b8c ldr r3, [pc, #560] ; (80ad9ec ) 80ad7bc: 781b ldrb r3, [r3, #0] 80ad7be: b2db uxtb r3, r3 80ad7c0: 4618 mov r0, r3 80ad7c2: 4b8b ldr r3, [pc, #556] ; (80ad9f0 ) 80ad7c4: 79db ldrb r3, [r3, #7] 80ad7c6: b2db uxtb r3, r3 80ad7c8: 4619 mov r1, r3 80ad7ca: 4a8a ldr r2, [pc, #552] ; (80ad9f4 ) 80ad7cc: 0083 lsls r3, r0, #2 80ad7ce: 4413 add r3, r2 80ad7d0: 440b add r3, r1 80ad7d2: 781b ldrb r3, [r3, #0] 80ad7d4: 461a mov r2, r3 80ad7d6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad7da: fb03 f302 mul.w r3, r3, r2 80ad7de: 4a86 ldr r2, [pc, #536] ; (80ad9f8 ) 80ad7e0: 8812 ldrh r2, [r2, #0] 80ad7e2: b292 uxth r2, r2 80ad7e4: 4413 add r3, r2 80ad7e6: 4a81 ldr r2, [pc, #516] ; (80ad9ec ) 80ad7e8: 7812 ldrb r2, [r2, #0] 80ad7ea: b2d2 uxtb r2, r2 80ad7ec: 4614 mov r4, r2 80ad7ee: 4a80 ldr r2, [pc, #512] ; (80ad9f0 ) 80ad7f0: 79d2 ldrb r2, [r2, #7] 80ad7f2: b2d2 uxtb r2, r2 80ad7f4: 4610 mov r0, r2 80ad7f6: 497f ldr r1, [pc, #508] ; (80ad9f4 ) 80ad7f8: 00a2 lsls r2, r4, #2 80ad7fa: 440a add r2, r1 80ad7fc: 4402 add r2, r0 80ad7fe: 7812 ldrb r2, [r2, #0] 80ad800: 441a add r2, r3 80ad802: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ad806: 429a cmp r2, r3 80ad808: d8ae bhi.n 80ad768 if(pMax > Maximum) 80ad80a: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ad80e: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ad812: 429a cmp r2, r3 80ad814: dd03 ble.n 80ad81e Maximum = pMax; 80ad816: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ad81a: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 256; i++) 80ad81e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad822: 3301 adds r3, #1 80ad824: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ad828: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad82c: 2bff cmp r3, #255 ; 0xff 80ad82e: f67f ae8e bls.w 80ad54e Maximum = ABS(Maximum); 80ad832: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ad836: 2b00 cmp r3, #0 80ad838: bfb8 it lt 80ad83a: 425b neglt r3, r3 80ad83c: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if((Maximum < 30) && (pardata.OPTIONS & 0x4)) 80ad840: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ad844: 2b1d cmp r3, #29 80ad846: dc02 bgt.n 80ad84e 80ad848: 4b69 ldr r3, [pc, #420] ; (80ad9f0 ) 80ad84a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 pMin = 0; 80ad84e: 2300 movs r3, #0 80ad850: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80ad854: 4961 ldr r1, [pc, #388] ; (80ad9dc ) 80ad856: 486b ldr r0, [pc, #428] ; (80ada04 ) 80ad858: f7a7 fcd8 bl 805520c for(i = 0; i < 256; i++) 80ad85c: 2300 movs r3, #0 80ad85e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ad862: e0b4 b.n 80ad9ce x = 62 + i; 80ad864: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad868: 333e adds r3, #62 ; 0x3e 80ad86a: 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); 80ad86e: 4b5f ldr r3, [pc, #380] ; (80ad9ec ) 80ad870: 781b ldrb r3, [r3, #0] 80ad872: b2db uxtb r3, r3 80ad874: 4618 mov r0, r3 80ad876: 4b5e ldr r3, [pc, #376] ; (80ad9f0 ) 80ad878: 79db ldrb r3, [r3, #7] 80ad87a: b2db uxtb r3, r3 80ad87c: 4619 mov r1, r3 80ad87e: 4a5d ldr r2, [pc, #372] ; (80ad9f4 ) 80ad880: 0083 lsls r3, r0, #2 80ad882: 4413 add r3, r2 80ad884: 440b add r3, r1 80ad886: 781b ldrb r3, [r3, #0] 80ad888: 461a mov r2, r3 80ad88a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad88e: fb03 f302 mul.w r3, r3, r2 80ad892: 4a59 ldr r2, [pc, #356] ; (80ad9f8 ) 80ad894: 8812 ldrh r2, [r2, #0] 80ad896: b292 uxth r2, r2 80ad898: 4413 add r3, r2 80ad89a: 009a lsls r2, r3, #2 80ad89c: 4b5a ldr r3, [pc, #360] ; (80ada08 ) 80ad89e: 4413 add r3, r2 80ad8a0: 461c mov r4, r3 80ad8a2: 4b52 ldr r3, [pc, #328] ; (80ad9ec ) 80ad8a4: 781b ldrb r3, [r3, #0] 80ad8a6: b2db uxtb r3, r3 80ad8a8: 4618 mov r0, r3 80ad8aa: 4b51 ldr r3, [pc, #324] ; (80ad9f0 ) 80ad8ac: 79db ldrb r3, [r3, #7] 80ad8ae: b2db uxtb r3, r3 80ad8b0: 4619 mov r1, r3 80ad8b2: 4a50 ldr r2, [pc, #320] ; (80ad9f4 ) 80ad8b4: 0083 lsls r3, r0, #2 80ad8b6: 4413 add r3, r2 80ad8b8: 440b add r3, r1 80ad8ba: 781b ldrb r3, [r3, #0] 80ad8bc: 4618 mov r0, r3 80ad8be: f507 711a add.w r1, r7, #616 ; 0x268 80ad8c2: f507 731e add.w r3, r7, #632 ; 0x278 80ad8c6: 1d1a adds r2, r3, #4 80ad8c8: 460b mov r3, r1 80ad8ca: 4601 mov r1, r0 80ad8cc: 4620 mov r0, r4 80ad8ce: f021 fba1 bl 80cf014 if(mF[MAXY] != 0.0f) 80ad8d2: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad8d6: eef5 7a40 vcmp.f32 s15, #0.0 80ad8da: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad8de: d060 beq.n 80ad9a2 mF[MAXY] = ((mF[MAXY] - min) * ZoomVal) + 3.0f; 80ad8e0: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ad8e4: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ad8e8: ee37 7a67 vsub.f32 s14, s14, s15 80ad8ec: 4b47 ldr r3, [pc, #284] ; (80ada0c ) 80ad8ee: edd3 7a00 vldr s15, [r3] 80ad8f2: ee67 7a27 vmul.f32 s15, s14, s15 80ad8f6: eeb0 7a08 vmov.f32 s14, #8 ; 0x40400000 3.0 80ad8fa: ee77 7a87 vadd.f32 s15, s15, s14 80ad8fe: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ad902: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad906: ed9f 7a42 vldr s14, [pc, #264] ; 80ada10 80ad90a: eef4 7ac7 vcmpe.f32 s15, s14 80ad90e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad912: dd02 ble.n 80ad91a 80ad914: 4b3f ldr r3, [pc, #252] ; (80ada14 ) 80ad916: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ad91a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad91e: ed9f 7a3e vldr s14, [pc, #248] ; 80ada18 80ad922: eef4 7ac7 vcmpe.f32 s15, s14 80ad926: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad92a: d502 bpl.n 80ad932 80ad92c: 4b3b ldr r3, [pc, #236] ; (80ada1c ) 80ad92e: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80ad932: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad936: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80ad93a: ee77 7a87 vadd.f32 s15, s15, s14 80ad93e: eefd 7ae7 vcvt.s32.f32 s15, s15 80ad942: edc7 7a01 vstr s15, [r7, #4] 80ad946: 88bb ldrh r3, [r7, #4] 80ad948: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > 157) 80ad94c: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ad950: 2b9d cmp r3, #157 ; 0x9d 80ad952: dd02 ble.n 80ad95a pMax = 157; 80ad954: 239d movs r3, #157 ; 0x9d 80ad956: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax < 0) 80ad95a: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ad95e: 2b00 cmp r3, #0 80ad960: da02 bge.n 80ad968 pMax = 0; 80ad962: 2300 movs r3, #0 80ad964: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(i == 0) { 80ad968: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad96c: 2b00 cmp r3, #0 80ad96e: d103 bne.n 80ad978 pMin = pMax; 80ad970: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ad974: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 BSP_LCD_DrawLine(x - 1, 218 - pMin, x, 218 - pMax); 80ad978: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad97c: b29b uxth r3, r3 80ad97e: 3b01 subs r3, #1 80ad980: b298 uxth r0, r3 80ad982: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80ad986: f1c3 03da rsb r3, r3, #218 ; 0xda 80ad98a: b299 uxth r1, r3 80ad98c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad990: b29a uxth r2, r3 80ad992: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ad996: f1c3 03da rsb r3, r3, #218 ; 0xda 80ad99a: b29b uxth r3, r3 80ad99c: f7a7 fe70 bl 8055680 80ad9a0: e00c b.n 80ad9bc pMax = 0; 80ad9a2: 2300 movs r3, #0 80ad9a4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 BSP_LCD_DrawLine(x, 218, x, 218); 80ad9a8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad9ac: b298 uxth r0, r3 80ad9ae: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad9b2: b29a uxth r2, r3 80ad9b4: 23da movs r3, #218 ; 0xda 80ad9b6: 21da movs r1, #218 ; 0xda 80ad9b8: f7a7 fe62 bl 8055680 pMin = pMax; 80ad9bc: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ad9c0: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 for(i = 0; i < 256; i++) 80ad9c4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad9c8: 3301 adds r3, #1 80ad9ca: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ad9ce: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad9d2: 2bff cmp r3, #255 ; 0xff 80ad9d4: f67f af46 bls.w 80ad864 } 80ad9d8: f002 bbe4 b.w 80b01a4 80ad9dc: ff0a0f1f .word 0xff0a0f1f 80ad9e0: ffff0000 .word 0xffff0000 80ad9e4: ff008000 .word 0xff008000 80ad9e8: ff26a01f .word 0xff26a01f 80ad9ec: 20020fc0 .word 0x20020fc0 80ad9f0: 20023eb8 .word 0x20023eb8 80ad9f4: 080f5fec .word 0x080f5fec 80ad9f8: 20025d76 .word 0x20025d76 80ad9fc: 20018000 .word 0x20018000 80ada00: ffffda10 .word 0xffffda10 80ada04: ffd3d3d3 .word 0xffd3d3d3 80ada08: 64090000 .word 0x64090000 80ada0c: 20020998 .word 0x20020998 80ada10: 46fffe00 .word 0x46fffe00 80ada14: 46fffe00 .word 0x46fffe00 80ada18: c6fffe00 .word 0xc6fffe00 80ada1c: c6fffe00 .word 0xc6fffe00 if(pardata.SYG == UDAR) 80ada20: 4ba8 ldr r3, [pc, #672] ; (80adcc4 ) 80ada22: 781b ldrb r3, [r3, #0] 80ada24: b2db uxtb r3, r3 80ada26: 2b09 cmp r3, #9 80ada28: f040 83e6 bne.w 80ae1f8 if(READY_TO_SEE) 80ada2c: 4ba6 ldr r3, [pc, #664] ; (80adcc8 ) 80ada2e: 781b ldrb r3, [r3, #0] 80ada30: b2db uxtb r3, r3 80ada32: 2b00 cmp r3, #0 80ada34: f002 83b6 beq.w 80b01a4 if(AUTOZOOM) 80ada38: 4ba4 ldr r3, [pc, #656] ; (80adccc ) 80ada3a: 781b ldrb r3, [r3, #0] 80ada3c: b2db uxtb r3, r3 80ada3e: 2b00 cmp r3, #0 80ada40: f000 810f beq.w 80adc62 if(pardata.MSH == LOG) 80ada44: 4b9f ldr r3, [pc, #636] ; (80adcc4 ) 80ada46: 7a9b ldrb r3, [r3, #10] 80ada48: b2db uxtb r3, r3 80ada4a: 2b01 cmp r3, #1 80ada4c: f040 808a bne.w 80adb64 k = 0; 80ada50: 2300 movs r3, #0 80ada52: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80ada56: 4b9e ldr r3, [pc, #632] ; (80adcd0 ) 80ada58: 881b ldrh r3, [r3, #0] 80ada5a: b29b uxth r3, r3 80ada5c: 461a mov r2, r3 80ada5e: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ada62: 4413 add r3, r2 80ada64: 009a lsls r2, r3, #2 80ada66: 4b9b ldr r3, [pc, #620] ; (80adcd4 ) 80ada68: 4413 add r3, r2 80ada6a: 681b ldr r3, [r3, #0] 80ada6c: f8c7 326c str.w r3, [r7, #620] ; 0x26c LinToLog(&f, &f); 80ada70: f507 721b add.w r2, r7, #620 ; 0x26c 80ada74: f507 731b add.w r3, r7, #620 ; 0x26c 80ada78: 4611 mov r1, r2 80ada7a: 4618 mov r0, r3 80ada7c: f7b8 ff64 bl 8066948 if(f <= 0.0f) k++; 80ada80: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ada84: eef5 7ac0 vcmpe.f32 s15, #0.0 80ada88: eef1 fa10 vmrs APSR_nzcv, fpscr 80ada8c: d95c bls.n 80adb48 else break; 80ada8e: bf00 nop arm_max_f32(&ScrA_f32(lX + k), rX-lX-k-1, &max, &idx); 80ada90: 4b8f ldr r3, [pc, #572] ; (80adcd0 ) 80ada92: 881b ldrh r3, [r3, #0] 80ada94: b29b uxth r3, r3 80ada96: 461a mov r2, r3 80ada98: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ada9c: 4413 add r3, r2 80ada9e: 009a lsls r2, r3, #2 80adaa0: 4b8c ldr r3, [pc, #560] ; (80adcd4 ) 80adaa2: 4413 add r3, r2 80adaa4: 4618 mov r0, r3 80adaa6: 4b8c ldr r3, [pc, #560] ; (80adcd8 ) 80adaa8: 881b ldrh r3, [r3, #0] 80adaaa: b29b uxth r3, r3 80adaac: 461a mov r2, r3 80adaae: 4b88 ldr r3, [pc, #544] ; (80adcd0 ) 80adab0: 881b ldrh r3, [r3, #0] 80adab2: b29b uxth r3, r3 80adab4: 1ad3 subs r3, r2, r3 80adab6: 461a mov r2, r3 80adab8: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80adabc: 1ad3 subs r3, r2, r3 80adabe: 1e59 subs r1, r3, #1 80adac0: f507 731a add.w r3, r7, #616 ; 0x268 80adac4: f507 721d add.w r2, r7, #628 ; 0x274 80adac8: f021 faa4 bl 80cf014 arm_min_f32(&ScrA_f32(lX + k), rX-lX-k-1, &min, &idx); 80adacc: 4b80 ldr r3, [pc, #512] ; (80adcd0 ) 80adace: 881b ldrh r3, [r3, #0] 80adad0: b29b uxth r3, r3 80adad2: 461a mov r2, r3 80adad4: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80adad8: 4413 add r3, r2 80adada: 009a lsls r2, r3, #2 80adadc: 4b7d ldr r3, [pc, #500] ; (80adcd4 ) 80adade: 4413 add r3, r2 80adae0: 4618 mov r0, r3 80adae2: 4b7d ldr r3, [pc, #500] ; (80adcd8 ) 80adae4: 881b ldrh r3, [r3, #0] 80adae6: b29b uxth r3, r3 80adae8: 461a mov r2, r3 80adaea: 4b79 ldr r3, [pc, #484] ; (80adcd0 ) 80adaec: 881b ldrh r3, [r3, #0] 80adaee: b29b uxth r3, r3 80adaf0: 1ad3 subs r3, r2, r3 80adaf2: 461a mov r2, r3 80adaf4: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80adaf8: 1ad3 subs r3, r2, r3 80adafa: 1e59 subs r1, r3, #1 80adafc: f507 731a add.w r3, r7, #616 ; 0x268 80adb00: f507 721c add.w r2, r7, #624 ; 0x270 80adb04: f021 f9ea bl 80ceedc LinToLog(&max, &max); 80adb08: f507 721d add.w r2, r7, #628 ; 0x274 80adb0c: f507 731d add.w r3, r7, #628 ; 0x274 80adb10: 4611 mov r1, r2 80adb12: 4618 mov r0, r3 80adb14: f7b8 ff18 bl 8066948 LinToLog(&min, &min); 80adb18: f507 721c add.w r2, r7, #624 ; 0x270 80adb1c: f507 731c add.w r3, r7, #624 ; 0x270 80adb20: 4611 mov r1, r2 80adb22: 4618 mov r0, r3 80adb24: f7b8 ff10 bl 8066948 f = (max - min); 80adb28: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80adb2c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80adb30: ee77 7a67 vsub.f32 s15, s14, s15 80adb34: edc7 7a9b vstr s15, [r7, #620] ; 0x26c if(f <= 0.0f) { 80adb38: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80adb3c: eef5 7ac0 vcmpe.f32 s15, #0.0 80adb40: eef1 fa10 vmrs APSR_nzcv, fpscr 80adb44: d906 bls.n 80adb54 80adb46: e008 b.n 80adb5a if(f <= 0.0f) k++; 80adb48: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80adb4c: 3301 adds r3, #1 80adb4e: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80adb52: e780 b.n 80ada56 f = 100.0f; 80adb54: 4b61 ldr r3, [pc, #388] ; (80adcdc ) 80adb56: f8c7 326c str.w r3, [r7, #620] ; 0x26c MIN_Y = min; 80adb5a: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80adb5e: 4a60 ldr r2, [pc, #384] ; (80adce0 ) 80adb60: 6013 str r3, [r2, #0] 80adb62: e071 b.n 80adc48 arm_max_f32(&ScrA_f32(lX), rX-lX-1, &max, &idx); 80adb64: 4b5a ldr r3, [pc, #360] ; (80adcd0 ) 80adb66: 881b ldrh r3, [r3, #0] 80adb68: b29b uxth r3, r3 80adb6a: 009b lsls r3, r3, #2 80adb6c: 461a mov r2, r3 80adb6e: 4b59 ldr r3, [pc, #356] ; (80adcd4 ) 80adb70: 4413 add r3, r2 80adb72: 4618 mov r0, r3 80adb74: 4b58 ldr r3, [pc, #352] ; (80adcd8 ) 80adb76: 881b ldrh r3, [r3, #0] 80adb78: b29b uxth r3, r3 80adb7a: 461a mov r2, r3 80adb7c: 4b54 ldr r3, [pc, #336] ; (80adcd0 ) 80adb7e: 881b ldrh r3, [r3, #0] 80adb80: b29b uxth r3, r3 80adb82: 1ad3 subs r3, r2, r3 80adb84: 3b01 subs r3, #1 80adb86: 4619 mov r1, r3 80adb88: f507 731a add.w r3, r7, #616 ; 0x268 80adb8c: f507 721d add.w r2, r7, #628 ; 0x274 80adb90: f021 fa40 bl 80cf014 arm_min_f32(&ScrA_f32(lX), rX-lX-1, &min, &idx); 80adb94: 4b4e ldr r3, [pc, #312] ; (80adcd0 ) 80adb96: 881b ldrh r3, [r3, #0] 80adb98: b29b uxth r3, r3 80adb9a: 009b lsls r3, r3, #2 80adb9c: 461a mov r2, r3 80adb9e: 4b4d ldr r3, [pc, #308] ; (80adcd4 ) 80adba0: 4413 add r3, r2 80adba2: 4618 mov r0, r3 80adba4: 4b4c ldr r3, [pc, #304] ; (80adcd8 ) 80adba6: 881b ldrh r3, [r3, #0] 80adba8: b29b uxth r3, r3 80adbaa: 461a mov r2, r3 80adbac: 4b48 ldr r3, [pc, #288] ; (80adcd0 ) 80adbae: 881b ldrh r3, [r3, #0] 80adbb0: b29b uxth r3, r3 80adbb2: 1ad3 subs r3, r2, r3 80adbb4: 3b01 subs r3, #1 80adbb6: 4619 mov r1, r3 80adbb8: f507 731a add.w r3, r7, #616 ; 0x268 80adbbc: f507 721c add.w r2, r7, #624 ; 0x270 80adbc0: f021 f98c bl 80ceedc if(ABS(max) > ABS(min)) f = ABS(max); 80adbc4: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80adbc8: eef5 7ac0 vcmpe.f32 s15, #0.0 80adbcc: eef1 fa10 vmrs APSR_nzcv, fpscr 80adbd0: dd02 ble.n 80adbd8 80adbd2: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80adbd6: e003 b.n 80adbe0 80adbd8: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80adbdc: eeb1 7a67 vneg.f32 s14, s15 80adbe0: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80adbe4: eef5 7ac0 vcmpe.f32 s15, #0.0 80adbe8: eef1 fa10 vmrs APSR_nzcv, fpscr 80adbec: dd02 ble.n 80adbf4 80adbee: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80adbf2: e003 b.n 80adbfc 80adbf4: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80adbf8: eef1 7a67 vneg.f32 s15, s15 80adbfc: eeb4 7ae7 vcmpe.f32 s14, s15 80adc00: eef1 fa10 vmrs APSR_nzcv, fpscr 80adc04: dd10 ble.n 80adc28 80adc06: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80adc0a: eef5 7ac0 vcmpe.f32 s15, #0.0 80adc0e: eef1 fa10 vmrs APSR_nzcv, fpscr 80adc12: dd02 ble.n 80adc1a 80adc14: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80adc18: e003 b.n 80adc22 80adc1a: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80adc1e: eef1 7a67 vneg.f32 s15, s15 80adc22: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80adc26: e00f b.n 80adc48 else f = ABS(min); 80adc28: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80adc2c: eef5 7ac0 vcmpe.f32 s15, #0.0 80adc30: eef1 fa10 vmrs APSR_nzcv, fpscr 80adc34: dd02 ble.n 80adc3c 80adc36: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80adc3a: e003 b.n 80adc44 80adc3c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80adc40: eef1 7a67 vneg.f32 s15, s15 80adc44: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 100.0f / f; 80adc48: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80adc4c: eddf 6a25 vldr s13, [pc, #148] ; 80adce4 80adc50: eec6 7a87 vdiv.f32 s15, s13, s14 80adc54: 4b24 ldr r3, [pc, #144] ; (80adce8 ) 80adc56: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80adc5a: 4b1c ldr r3, [pc, #112] ; (80adccc ) 80adc5c: 2200 movs r2, #0 80adc5e: 701a strb r2, [r3, #0] 80adc60: e024 b.n 80adcac if(ZOOM_IN) 80adc62: 4b22 ldr r3, [pc, #136] ; (80adcec ) 80adc64: 781b ldrb r3, [r3, #0] 80adc66: b2db uxtb r3, r3 80adc68: 2b00 cmp r3, #0 80adc6a: d00d beq.n 80adc88 ZOOM_IN = false; 80adc6c: 4b1f ldr r3, [pc, #124] ; (80adcec ) 80adc6e: 2200 movs r2, #0 80adc70: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80adc72: 4b1d ldr r3, [pc, #116] ; (80adce8 ) 80adc74: edd3 7a00 vldr s15, [r3] 80adc78: ed9f 7a1d vldr s14, [pc, #116] ; 80adcf0 80adc7c: ee67 7a87 vmul.f32 s15, s15, s14 80adc80: 4b19 ldr r3, [pc, #100] ; (80adce8 ) 80adc82: edc3 7a00 vstr s15, [r3] 80adc86: e011 b.n 80adcac if(ZOOM_OUT) 80adc88: 4b1a ldr r3, [pc, #104] ; (80adcf4 ) 80adc8a: 781b ldrb r3, [r3, #0] 80adc8c: b2db uxtb r3, r3 80adc8e: 2b00 cmp r3, #0 80adc90: d00c beq.n 80adcac ZOOM_OUT = false; 80adc92: 4b18 ldr r3, [pc, #96] ; (80adcf4 ) 80adc94: 2200 movs r2, #0 80adc96: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80adc98: 4b13 ldr r3, [pc, #76] ; (80adce8 ) 80adc9a: edd3 7a00 vldr s15, [r3] 80adc9e: ed9f 7a16 vldr s14, [pc, #88] ; 80adcf8 80adca2: ee67 7a87 vmul.f32 s15, s15, s14 80adca6: 4b10 ldr r3, [pc, #64] ; (80adce8 ) 80adca8: edc3 7a00 vstr s15, [r3] NumOverdrives = 0; 80adcac: 4b13 ldr r3, [pc, #76] ; (80adcfc ) 80adcae: 2200 movs r2, #0 80adcb0: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80adcb2: 4913 ldr r1, [pc, #76] ; (80add00 ) 80adcb4: 4813 ldr r0, [pc, #76] ; (80add04 ) 80adcb6: f7a7 faa9 bl 805520c for(i = 0; i < 256; i++) 80adcba: 2300 movs r3, #0 80adcbc: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80adcc0: e28c b.n 80ae1dc 80adcc2: bf00 nop 80adcc4: 20023eb8 .word 0x20023eb8 80adcc8: 20020dae .word 0x20020dae 80adccc: 20020994 .word 0x20020994 80adcd0: 20025d72 .word 0x20025d72 80adcd4: 64080000 .word 0x64080000 80adcd8: 20025d78 .word 0x20025d78 80adcdc: 42c80000 .word 0x42c80000 80adce0: 20021684 .word 0x20021684 80adce4: 42c80000 .word 0x42c80000 80adce8: 20020998 .word 0x20020998 80adcec: 20020fb5 .word 0x20020fb5 80adcf0: 40000005 .word 0x40000005 80adcf4: 20020fb4 .word 0x20020fb4 80adcf8: 3f000012 .word 0x3f000012 80adcfc: 2002169e .word 0x2002169e 80add00: ff0a0f1f .word 0xff0a0f1f 80add04: ff26a01f .word 0xff26a01f arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80add08: 4bcb ldr r3, [pc, #812] ; (80ae038 ) 80add0a: 781b ldrb r3, [r3, #0] 80add0c: b2db uxtb r3, r3 80add0e: 4618 mov r0, r3 80add10: 4bca ldr r3, [pc, #808] ; (80ae03c ) 80add12: 79db ldrb r3, [r3, #7] 80add14: b2db uxtb r3, r3 80add16: 4619 mov r1, r3 80add18: 4ac9 ldr r2, [pc, #804] ; (80ae040 ) 80add1a: 0083 lsls r3, r0, #2 80add1c: 4413 add r3, r2 80add1e: 440b add r3, r1 80add20: 781b ldrb r3, [r3, #0] 80add22: 461a mov r2, r3 80add24: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80add28: fb03 f302 mul.w r3, r3, r2 80add2c: 4ac5 ldr r2, [pc, #788] ; (80ae044 ) 80add2e: 8812 ldrh r2, [r2, #0] 80add30: b292 uxth r2, r2 80add32: 4413 add r3, r2 80add34: 009a lsls r2, r3, #2 80add36: 4bc4 ldr r3, [pc, #784] ; (80ae048 ) 80add38: 4413 add r3, r2 80add3a: 461c mov r4, r3 80add3c: 4bbe ldr r3, [pc, #760] ; (80ae038 ) 80add3e: 781b ldrb r3, [r3, #0] 80add40: b2db uxtb r3, r3 80add42: 4618 mov r0, r3 80add44: 4bbd ldr r3, [pc, #756] ; (80ae03c ) 80add46: 79db ldrb r3, [r3, #7] 80add48: b2db uxtb r3, r3 80add4a: 4619 mov r1, r3 80add4c: 4abc ldr r2, [pc, #752] ; (80ae040 ) 80add4e: 0083 lsls r3, r0, #2 80add50: 4413 add r3, r2 80add52: 440b add r3, r1 80add54: 781b ldrb r3, [r3, #0] 80add56: 4618 mov r0, r3 80add58: f507 711a add.w r1, r7, #616 ; 0x268 80add5c: f507 731e add.w r3, r7, #632 ; 0x278 80add60: 1d1a adds r2, r3, #4 80add62: 460b mov r3, r1 80add64: 4601 mov r1, r0 80add66: 4620 mov r0, r4 80add68: f021 f954 bl 80cf014 if(avgSPC[ViewLevel][pardata.LNE] == 1) 80add6c: 4bb2 ldr r3, [pc, #712] ; (80ae038 ) 80add6e: 781b ldrb r3, [r3, #0] 80add70: b2db uxtb r3, r3 80add72: 4618 mov r0, r3 80add74: 4bb1 ldr r3, [pc, #708] ; (80ae03c ) 80add76: 79db ldrb r3, [r3, #7] 80add78: b2db uxtb r3, r3 80add7a: 4619 mov r1, r3 80add7c: 4ab0 ldr r2, [pc, #704] ; (80ae040 ) 80add7e: 0083 lsls r3, r0, #2 80add80: 4413 add r3, r2 80add82: 440b add r3, r1 80add84: 781b ldrb r3, [r3, #0] 80add86: 2b01 cmp r3, #1 80add88: f040 80fa bne.w 80adf80 thr = 157; 80add8c: 239d movs r3, #157 ; 0x9d 80add8e: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80add92: 4baa ldr r3, [pc, #680] ; (80ae03c ) 80add94: 7a9b ldrb r3, [r3, #10] 80add96: b2db uxtb r3, r3 80add98: 2b01 cmp r3, #1 80add9a: d153 bne.n 80ade44 for(j = 0; j < 2; j++) 80add9c: 2300 movs r3, #0 80add9e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80adda2: e013 b.n 80addcc LinToLog(&mF[j], &mF[j]); 80adda4: f507 721e add.w r2, r7, #632 ; 0x278 80adda8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80addac: 009b lsls r3, r3, #2 80addae: 18d0 adds r0, r2, r3 80addb0: f507 721e add.w r2, r7, #632 ; 0x278 80addb4: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80addb8: 009b lsls r3, r3, #2 80addba: 4413 add r3, r2 80addbc: 4619 mov r1, r3 80addbe: f7b8 fdc3 bl 8066948 for(j = 0; j < 2; j++) 80addc2: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80addc6: 3301 adds r3, #1 80addc8: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80addcc: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80addd0: 2b01 cmp r3, #1 80addd2: d9e7 bls.n 80adda4 mF[MAXY] = ((mF[MAXY] - MIN_Y) * ZoomVal) + 2.0f; 80addd4: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80addd8: 4b9c ldr r3, [pc, #624] ; (80ae04c ) 80addda: edd3 7a00 vldr s15, [r3] 80addde: ee37 7a67 vsub.f32 s14, s14, s15 80adde2: 4b9b ldr r3, [pc, #620] ; (80ae050 ) 80adde4: edd3 7a00 vldr s15, [r3] 80adde8: ee67 7a27 vmul.f32 s15, s14, s15 80addec: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80addf0: ee77 7a87 vadd.f32 s15, s15, s14 80addf4: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80addf8: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80addfc: ed9f 7a95 vldr s14, [pc, #596] ; 80ae054 80ade00: eef4 7ac7 vcmpe.f32 s15, s14 80ade04: eef1 fa10 vmrs APSR_nzcv, fpscr 80ade08: dd02 ble.n 80ade10 80ade0a: 4b93 ldr r3, [pc, #588] ; (80ae058 ) 80ade0c: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ade10: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ade14: ed9f 7a91 vldr s14, [pc, #580] ; 80ae05c 80ade18: eef4 7ac7 vcmpe.f32 s15, s14 80ade1c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ade20: d502 bpl.n 80ade28 80ade22: 4b8f ldr r3, [pc, #572] ; (80ae060 ) 80ade24: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80ade28: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ade2c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80ade30: ee77 7a87 vadd.f32 s15, s15, s14 80ade34: eefd 7ae7 vcvt.s32.f32 s15, s15 80ade38: edc7 7a01 vstr s15, [r7, #4] 80ade3c: 88bb ldrh r3, [r7, #4] 80ade3e: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80ade42: e029 b.n 80ade98 mF[MAXY] *= ZoomVal; 80ade44: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ade48: 4b81 ldr r3, [pc, #516] ; (80ae050 ) 80ade4a: edd3 7a00 vldr s15, [r3] 80ade4e: ee67 7a27 vmul.f32 s15, s14, s15 80ade52: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ade56: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ade5a: ed9f 7a7e vldr s14, [pc, #504] ; 80ae054 80ade5e: eef4 7ac7 vcmpe.f32 s15, s14 80ade62: eef1 fa10 vmrs APSR_nzcv, fpscr 80ade66: dd02 ble.n 80ade6e 80ade68: 4b7b ldr r3, [pc, #492] ; (80ae058 ) 80ade6a: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ade6e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ade72: ed9f 7a7a vldr s14, [pc, #488] ; 80ae05c 80ade76: eef4 7ac7 vcmpe.f32 s15, s14 80ade7a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ade7e: d502 bpl.n 80ade86 80ade80: 4b77 ldr r3, [pc, #476] ; (80ae060 ) 80ade82: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80ade86: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ade8a: eefd 7ae7 vcvt.s32.f32 s15, s15 80ade8e: edc7 7a01 vstr s15, [r7, #4] 80ade92: 88bb ldrh r3, [r7, #4] 80ade94: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMin > thr) 80ade98: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80ade9c: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80adea0: 429a cmp r2, r3 80adea2: dd03 ble.n 80adeac pMin = thr; 80adea4: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80adea8: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin < -thr) { 80adeac: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80adeb0: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80adeb4: 425b negs r3, r3 80adeb6: 429a cmp r2, r3 80adeb8: da02 bge.n 80adec0 pMin = 0; 80adeba: 2300 movs r3, #0 80adebc: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMax > thr) 80adec0: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80adec4: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80adec8: 429a cmp r2, r3 80adeca: dd09 ble.n 80adee0 pMax = thr; 80adecc: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80aded0: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aded4: 4b63 ldr r3, [pc, #396] ; (80ae064 ) 80aded6: 781b ldrb r3, [r3, #0] 80aded8: 3301 adds r3, #1 80adeda: b2da uxtb r2, r3 80adedc: 4b61 ldr r3, [pc, #388] ; (80ae064 ) 80adede: 701a strb r2, [r3, #0] if(pMax < 0) { 80adee0: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80adee4: 2b00 cmp r3, #0 80adee6: da02 bge.n 80adeee pMax = 0; 80adee8: 2300 movs r3, #0 80adeea: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80adeee: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80adef2: 333e adds r3, #62 ; 0x3e 80adef4: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80adef8: 4b5b ldr r3, [pc, #364] ; (80ae068 ) 80adefa: 681b ldr r3, [r3, #0] 80adefc: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80adf00: 429a cmp r2, r3 80adf02: d12e bne.n 80adf62 if(menupos != Cursor) 80adf04: 4b59 ldr r3, [pc, #356] ; (80ae06c ) 80adf06: 781b ldrb r3, [r3, #0] 80adf08: b2db uxtb r3, r3 80adf0a: 2b06 cmp r3, #6 80adf0c: d004 beq.n 80adf18 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80adf0e: 4958 ldr r1, [pc, #352] ; (80ae070 ) 80adf10: 4858 ldr r0, [pc, #352] ; (80ae074 ) 80adf12: f7a7 f97b bl 805520c 80adf16: e003 b.n 80adf20 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80adf18: 4955 ldr r1, [pc, #340] ; (80ae070 ) 80adf1a: 4857 ldr r0, [pc, #348] ; (80ae078 ) 80adf1c: f7a7 f976 bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80adf20: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80adf24: b298 uxth r0, r3 80adf26: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80adf2a: b29a uxth r2, r3 80adf2c: 23da movs r3, #218 ; 0xda 80adf2e: 212c movs r1, #44 ; 0x2c 80adf30: f7a7 fba6 bl 8055680 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80adf34: 494e ldr r1, [pc, #312] ; (80ae070 ) 80adf36: 4851 ldr r0, [pc, #324] ; (80ae07c ) 80adf38: f7a7 f968 bl 805520c BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80adf3c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80adf40: b298 uxth r0, r3 80adf42: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80adf46: b29a uxth r2, r3 80adf48: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80adf4c: f1c3 03da rsb r3, r3, #218 ; 0xda 80adf50: b29b uxth r3, r3 80adf52: 21db movs r1, #219 ; 0xdb 80adf54: f7a7 fb94 bl 8055680 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80adf58: 4945 ldr r1, [pc, #276] ; (80ae070 ) 80adf5a: 4849 ldr r0, [pc, #292] ; (80ae080 ) 80adf5c: f7a7 f956 bl 805520c 80adf60: e12d b.n 80ae1be BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80adf62: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80adf66: b298 uxth r0, r3 80adf68: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80adf6c: b29a uxth r2, r3 80adf6e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80adf72: f1c3 03da rsb r3, r3, #218 ; 0xda 80adf76: b29b uxth r3, r3 80adf78: 21da movs r1, #218 ; 0xda 80adf7a: f7a7 fb81 bl 8055680 80adf7e: e11e b.n 80ae1be thr = 157; 80adf80: 239d movs r3, #157 ; 0x9d 80adf82: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80adf86: 4b2d ldr r3, [pc, #180] ; (80ae03c ) 80adf88: 7a9b ldrb r3, [r3, #10] 80adf8a: b2db uxtb r3, r3 80adf8c: 2b01 cmp r3, #1 80adf8e: d179 bne.n 80ae084 for(j = 0; j < 2; j++) 80adf90: 2300 movs r3, #0 80adf92: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80adf96: e013 b.n 80adfc0 LinToLog(&mF[j], &mF[j]); 80adf98: f507 721e add.w r2, r7, #632 ; 0x278 80adf9c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80adfa0: 009b lsls r3, r3, #2 80adfa2: 18d0 adds r0, r2, r3 80adfa4: f507 721e add.w r2, r7, #632 ; 0x278 80adfa8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80adfac: 009b lsls r3, r3, #2 80adfae: 4413 add r3, r2 80adfb0: 4619 mov r1, r3 80adfb2: f7b8 fcc9 bl 8066948 for(j = 0; j < 2; j++) 80adfb6: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80adfba: 3301 adds r3, #1 80adfbc: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80adfc0: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80adfc4: 2b01 cmp r3, #1 80adfc6: d9e7 bls.n 80adf98 mF[MAXY] = ((mF[MAXY] - MIN_Y) * ZoomVal) + 2.0f; 80adfc8: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80adfcc: 4b1f ldr r3, [pc, #124] ; (80ae04c ) 80adfce: edd3 7a00 vldr s15, [r3] 80adfd2: ee37 7a67 vsub.f32 s14, s14, s15 80adfd6: 4b1e ldr r3, [pc, #120] ; (80ae050 ) 80adfd8: edd3 7a00 vldr s15, [r3] 80adfdc: ee67 7a27 vmul.f32 s15, s14, s15 80adfe0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80adfe4: ee77 7a87 vadd.f32 s15, s15, s14 80adfe8: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80adfec: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80adff0: ed9f 7a18 vldr s14, [pc, #96] ; 80ae054 80adff4: eef4 7ac7 vcmpe.f32 s15, s14 80adff8: eef1 fa10 vmrs APSR_nzcv, fpscr 80adffc: dd02 ble.n 80ae004 80adffe: 4b16 ldr r3, [pc, #88] ; (80ae058 ) 80ae000: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ae004: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ae008: ed9f 7a14 vldr s14, [pc, #80] ; 80ae05c 80ae00c: eef4 7ac7 vcmpe.f32 s15, s14 80ae010: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae014: d502 bpl.n 80ae01c 80ae016: 4b12 ldr r3, [pc, #72] ; (80ae060 ) 80ae018: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80ae01c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ae020: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80ae024: ee77 7a87 vadd.f32 s15, s15, s14 80ae028: eefd 7ae7 vcvt.s32.f32 s15, s15 80ae02c: edc7 7a01 vstr s15, [r7, #4] 80ae030: 88bb ldrh r3, [r7, #4] 80ae032: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80ae036: e04f b.n 80ae0d8 80ae038: 20020fc0 .word 0x20020fc0 80ae03c: 20023eb8 .word 0x20023eb8 80ae040: 080f5fec .word 0x080f5fec 80ae044: 20025d76 .word 0x20025d76 80ae048: 64080000 .word 0x64080000 80ae04c: 20021684 .word 0x20021684 80ae050: 20020998 .word 0x20020998 80ae054: 46fffe00 .word 0x46fffe00 80ae058: 46fffe00 .word 0x46fffe00 80ae05c: c6fffe00 .word 0xc6fffe00 80ae060: c6fffe00 .word 0xc6fffe00 80ae064: 2002169e .word 0x2002169e 80ae068: 2002006c .word 0x2002006c 80ae06c: 20020070 .word 0x20020070 80ae070: ff0a0f1f .word 0xff0a0f1f 80ae074: ff808080 .word 0xff808080 80ae078: ffff0000 .word 0xffff0000 80ae07c: ff008000 .word 0xff008000 80ae080: ff26a01f .word 0xff26a01f mF[MAXY] *= ZoomVal; 80ae084: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ae088: 4ba6 ldr r3, [pc, #664] ; (80ae324 ) 80ae08a: edd3 7a00 vldr s15, [r3] 80ae08e: ee67 7a27 vmul.f32 s15, s14, s15 80ae092: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ae096: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ae09a: ed9f 7aa3 vldr s14, [pc, #652] ; 80ae328 80ae09e: eef4 7ac7 vcmpe.f32 s15, s14 80ae0a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae0a6: dd02 ble.n 80ae0ae 80ae0a8: 4ba0 ldr r3, [pc, #640] ; (80ae32c ) 80ae0aa: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ae0ae: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ae0b2: ed9f 7a9f vldr s14, [pc, #636] ; 80ae330 80ae0b6: eef4 7ac7 vcmpe.f32 s15, s14 80ae0ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae0be: d502 bpl.n 80ae0c6 80ae0c0: 4b9c ldr r3, [pc, #624] ; (80ae334 ) 80ae0c2: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80ae0c6: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ae0ca: eefd 7ae7 vcvt.s32.f32 s15, s15 80ae0ce: edc7 7a01 vstr s15, [r7, #4] 80ae0d2: 88bb ldrh r3, [r7, #4] 80ae0d4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMin > thr) 80ae0d8: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80ae0dc: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80ae0e0: 429a cmp r2, r3 80ae0e2: dd03 ble.n 80ae0ec pMin = thr; 80ae0e4: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80ae0e8: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin < -thr) { 80ae0ec: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80ae0f0: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80ae0f4: 425b negs r3, r3 80ae0f6: 429a cmp r2, r3 80ae0f8: da02 bge.n 80ae100 pMin = 0; 80ae0fa: 2300 movs r3, #0 80ae0fc: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMax > thr) 80ae100: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ae104: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80ae108: 429a cmp r2, r3 80ae10a: dd09 ble.n 80ae120 pMax = thr; 80ae10c: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80ae110: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ae114: 4b88 ldr r3, [pc, #544] ; (80ae338 ) 80ae116: 781b ldrb r3, [r3, #0] 80ae118: 3301 adds r3, #1 80ae11a: b2da uxtb r2, r3 80ae11c: 4b86 ldr r3, [pc, #536] ; (80ae338 ) 80ae11e: 701a strb r2, [r3, #0] if(pMax < 0) { 80ae120: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ae124: 2b00 cmp r3, #0 80ae126: da02 bge.n 80ae12e pMax = 0; 80ae128: 2300 movs r3, #0 80ae12a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80ae12e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ae132: 333e adds r3, #62 ; 0x3e 80ae134: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80ae138: 4b80 ldr r3, [pc, #512] ; (80ae33c ) 80ae13a: 681b ldr r3, [r3, #0] 80ae13c: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ae140: 429a cmp r2, r3 80ae142: d12e bne.n 80ae1a2 if(menupos != Cursor) 80ae144: 4b7e ldr r3, [pc, #504] ; (80ae340 ) 80ae146: 781b ldrb r3, [r3, #0] 80ae148: b2db uxtb r3, r3 80ae14a: 2b06 cmp r3, #6 80ae14c: d004 beq.n 80ae158 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80ae14e: 497d ldr r1, [pc, #500] ; (80ae344 ) 80ae150: 487d ldr r0, [pc, #500] ; (80ae348 ) 80ae152: f7a7 f85b bl 805520c 80ae156: e003 b.n 80ae160 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80ae158: 497a ldr r1, [pc, #488] ; (80ae344 ) 80ae15a: 487c ldr r0, [pc, #496] ; (80ae34c ) 80ae15c: f7a7 f856 bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80ae160: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae164: b298 uxth r0, r3 80ae166: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae16a: b29a uxth r2, r3 80ae16c: 23da movs r3, #218 ; 0xda 80ae16e: 212c movs r1, #44 ; 0x2c 80ae170: f7a7 fa86 bl 8055680 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80ae174: 4973 ldr r1, [pc, #460] ; (80ae344 ) 80ae176: 4876 ldr r0, [pc, #472] ; (80ae350 ) 80ae178: f7a7 f848 bl 805520c BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80ae17c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae180: b298 uxth r0, r3 80ae182: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae186: b29a uxth r2, r3 80ae188: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ae18c: f1c3 03da rsb r3, r3, #218 ; 0xda 80ae190: b29b uxth r3, r3 80ae192: 21db movs r1, #219 ; 0xdb 80ae194: f7a7 fa74 bl 8055680 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ae198: 496a ldr r1, [pc, #424] ; (80ae344 ) 80ae19a: 486e ldr r0, [pc, #440] ; (80ae354 ) 80ae19c: f7a7 f836 bl 805520c 80ae1a0: e00d b.n 80ae1be BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80ae1a2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae1a6: b298 uxth r0, r3 80ae1a8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae1ac: b29a uxth r2, r3 80ae1ae: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ae1b2: f1c3 03da rsb r3, r3, #218 ; 0xda 80ae1b6: b29b uxth r3, r3 80ae1b8: 21da movs r1, #218 ; 0xda 80ae1ba: f7a7 fa61 bl 8055680 if(pMax > Maximum) Maximum = pMax; 80ae1be: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ae1c2: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ae1c6: 429a cmp r2, r3 80ae1c8: dd03 ble.n 80ae1d2 80ae1ca: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ae1ce: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 256; i++) 80ae1d2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ae1d6: 3301 adds r3, #1 80ae1d8: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ae1dc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ae1e0: 2bff cmp r3, #255 ; 0xff 80ae1e2: f67f ad91 bls.w 80add08 Maximum = ABS(Maximum); 80ae1e6: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ae1ea: 2b00 cmp r3, #0 80ae1ec: bfb8 it lt 80ae1ee: 425b neglt r3, r3 80ae1f0: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } 80ae1f4: f001 bfd6 b.w 80b01a4 if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB)) 80ae1f8: 4b57 ldr r3, [pc, #348] ; (80ae358 ) 80ae1fa: 781b ldrb r3, [r3, #0] 80ae1fc: b2db uxtb r3, r3 80ae1fe: 2b01 cmp r3, #1 80ae200: d005 beq.n 80ae20e 80ae202: 4b55 ldr r3, [pc, #340] ; (80ae358 ) 80ae204: 781b ldrb r3, [r3, #0] 80ae206: b2db uxtb r3, r3 80ae208: 2b05 cmp r3, #5 80ae20a: f040 8717 bne.w 80af03c if(READY_TO_SEE) 80ae20e: 4b53 ldr r3, [pc, #332] ; (80ae35c ) 80ae210: 781b ldrb r3, [r3, #0] 80ae212: b2db uxtb r3, r3 80ae214: 2b00 cmp r3, #0 80ae216: f001 87c4 beq.w 80b01a2 if(AUTOZOOM) 80ae21a: 4b51 ldr r3, [pc, #324] ; (80ae360 ) 80ae21c: 781b ldrb r3, [r3, #0] 80ae21e: b2db uxtb r3, r3 80ae220: 2b00 cmp r3, #0 80ae222: f000 81ef beq.w 80ae604 if(pardata.MSH == LOG) 80ae226: 4b4c ldr r3, [pc, #304] ; (80ae358 ) 80ae228: 7a9b ldrb r3, [r3, #10] 80ae22a: b2db uxtb r3, r3 80ae22c: 2b01 cmp r3, #1 80ae22e: f040 80f9 bne.w 80ae424 k = 0; 80ae232: 2300 movs r3, #0 80ae234: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80ae238: 4b4a ldr r3, [pc, #296] ; (80ae364 ) 80ae23a: 881b ldrh r3, [r3, #0] 80ae23c: b29b uxth r3, r3 80ae23e: 461a mov r2, r3 80ae240: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ae244: 4413 add r3, r2 80ae246: 009a lsls r2, r3, #2 80ae248: 4b47 ldr r3, [pc, #284] ; (80ae368 ) 80ae24a: 4413 add r3, r2 80ae24c: 681b ldr r3, [r3, #0] 80ae24e: f8c7 326c str.w r3, [r7, #620] ; 0x26c LinToLog(&f, &f); 80ae252: f507 721b add.w r2, r7, #620 ; 0x26c 80ae256: f507 731b add.w r3, r7, #620 ; 0x26c 80ae25a: 4611 mov r1, r2 80ae25c: 4618 mov r0, r3 80ae25e: f7b8 fb73 bl 8066948 if(f <= 0.0f) k++; 80ae262: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ae266: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae26a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae26e: d942 bls.n 80ae2f6 else break; 80ae270: bf00 nop arm_max_f32(&ScrA_f32(lX + k), rX-lX-k-1, &max, &idx); 80ae272: 4b3c ldr r3, [pc, #240] ; (80ae364 ) 80ae274: 881b ldrh r3, [r3, #0] 80ae276: b29b uxth r3, r3 80ae278: 461a mov r2, r3 80ae27a: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ae27e: 4413 add r3, r2 80ae280: 009a lsls r2, r3, #2 80ae282: 4b39 ldr r3, [pc, #228] ; (80ae368 ) 80ae284: 4413 add r3, r2 80ae286: 4618 mov r0, r3 80ae288: 4b38 ldr r3, [pc, #224] ; (80ae36c ) 80ae28a: 881b ldrh r3, [r3, #0] 80ae28c: b29b uxth r3, r3 80ae28e: 461a mov r2, r3 80ae290: 4b34 ldr r3, [pc, #208] ; (80ae364 ) 80ae292: 881b ldrh r3, [r3, #0] 80ae294: b29b uxth r3, r3 80ae296: 1ad3 subs r3, r2, r3 80ae298: 461a mov r2, r3 80ae29a: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ae29e: 1ad3 subs r3, r2, r3 80ae2a0: 1e59 subs r1, r3, #1 80ae2a2: f507 731a add.w r3, r7, #616 ; 0x268 80ae2a6: f507 721d add.w r2, r7, #628 ; 0x274 80ae2aa: f020 feb3 bl 80cf014 arm_min_f32(&ScrA_f32(lX + k), rX-lX-k-1, &min, &idx); 80ae2ae: 4b2d ldr r3, [pc, #180] ; (80ae364 ) 80ae2b0: 881b ldrh r3, [r3, #0] 80ae2b2: b29b uxth r3, r3 80ae2b4: 461a mov r2, r3 80ae2b6: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ae2ba: 4413 add r3, r2 80ae2bc: 009a lsls r2, r3, #2 80ae2be: 4b2a ldr r3, [pc, #168] ; (80ae368 ) 80ae2c0: 4413 add r3, r2 80ae2c2: 4618 mov r0, r3 80ae2c4: 4b29 ldr r3, [pc, #164] ; (80ae36c ) 80ae2c6: 881b ldrh r3, [r3, #0] 80ae2c8: b29b uxth r3, r3 80ae2ca: 461a mov r2, r3 80ae2cc: 4b25 ldr r3, [pc, #148] ; (80ae364 ) 80ae2ce: 881b ldrh r3, [r3, #0] 80ae2d0: b29b uxth r3, r3 80ae2d2: 1ad3 subs r3, r2, r3 80ae2d4: 461a mov r2, r3 80ae2d6: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ae2da: 1ad3 subs r3, r2, r3 80ae2dc: 1e59 subs r1, r3, #1 80ae2de: f507 731a add.w r3, r7, #616 ; 0x268 80ae2e2: f507 721c add.w r2, r7, #624 ; 0x270 80ae2e6: f020 fdf9 bl 80ceedc if(pardata.IIN != VOLTS) 80ae2ea: 4b1b ldr r3, [pc, #108] ; (80ae358 ) 80ae2ec: 799b ldrb r3, [r3, #6] 80ae2ee: b2db uxtb r3, r3 80ae2f0: 2b02 cmp r3, #2 80ae2f2: d03d beq.n 80ae370 80ae2f4: e005 b.n 80ae302 if(f <= 0.0f) k++; 80ae2f6: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ae2fa: 3301 adds r3, #1 80ae2fc: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80ae300: e79a b.n 80ae238 LinToLog(&max, &max); 80ae302: f507 721d add.w r2, r7, #628 ; 0x274 80ae306: f507 731d add.w r3, r7, #628 ; 0x274 80ae30a: 4611 mov r1, r2 80ae30c: 4618 mov r0, r3 80ae30e: f7b8 fb1b bl 8066948 LinToLog(&min, &min); 80ae312: f507 721c add.w r2, r7, #624 ; 0x270 80ae316: f507 731c add.w r3, r7, #624 ; 0x270 80ae31a: 4611 mov r1, r2 80ae31c: 4618 mov r0, r3 80ae31e: f7b8 fb13 bl 8066948 80ae322: e039 b.n 80ae398 80ae324: 20020998 .word 0x20020998 80ae328: 46fffe00 .word 0x46fffe00 80ae32c: 46fffe00 .word 0x46fffe00 80ae330: c6fffe00 .word 0xc6fffe00 80ae334: c6fffe00 .word 0xc6fffe00 80ae338: 2002169e .word 0x2002169e 80ae33c: 2002006c .word 0x2002006c 80ae340: 20020070 .word 0x20020070 80ae344: ff0a0f1f .word 0xff0a0f1f 80ae348: ff808080 .word 0xff808080 80ae34c: ffff0000 .word 0xffff0000 80ae350: ff008000 .word 0xff008000 80ae354: ff26a01f .word 0xff26a01f 80ae358: 20023eb8 .word 0x20023eb8 80ae35c: 20020dae .word 0x20020dae 80ae360: 20020994 .word 0x20020994 80ae364: 20025d72 .word 0x20025d72 80ae368: 64080000 .word 0x64080000 80ae36c: 20025d78 .word 0x20025d78 LinToLog_mV(&max, &max, pardata.IPR); 80ae370: 4bbd ldr r3, [pc, #756] ; (80ae668 ) 80ae372: 785b ldrb r3, [r3, #1] 80ae374: b2da uxtb r2, r3 80ae376: f507 711d add.w r1, r7, #628 ; 0x274 80ae37a: f507 731d add.w r3, r7, #628 ; 0x274 80ae37e: 4618 mov r0, r3 80ae380: f7b8 fb12 bl 80669a8 LinToLog_mV(&min, &min, pardata.IPR); 80ae384: 4bb8 ldr r3, [pc, #736] ; (80ae668 ) 80ae386: 785b ldrb r3, [r3, #1] 80ae388: b2da uxtb r2, r3 80ae38a: f507 711c add.w r1, r7, #624 ; 0x270 80ae38e: f507 731c add.w r3, r7, #624 ; 0x270 80ae392: 4618 mov r0, r3 80ae394: f7b8 fb08 bl 80669a8 f = max; 80ae398: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80ae39c: f8c7 326c str.w r3, [r7, #620] ; 0x26c if(f <= 0.0f) 80ae3a0: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ae3a4: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae3a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae3ac: d806 bhi.n 80ae3bc f = max = 125.0f; 80ae3ae: 4baf ldr r3, [pc, #700] ; (80ae66c ) 80ae3b0: f8c7 3274 str.w r3, [r7, #628] ; 0x274 80ae3b4: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80ae3b8: f8c7 326c str.w r3, [r7, #620] ; 0x26c MIN_Y = min; 80ae3bc: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80ae3c0: 4aab ldr r2, [pc, #684] ; (80ae670 ) 80ae3c2: 6013 str r3, [r2, #0] ZoomVal = 125.0f / max; 80ae3c4: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80ae3c8: eddf 6aaa vldr s13, [pc, #680] ; 80ae674 80ae3cc: eec6 7a87 vdiv.f32 s15, s13, s14 80ae3d0: 4ba9 ldr r3, [pc, #676] ; (80ae678 ) 80ae3d2: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80ae3d6: 4ba9 ldr r3, [pc, #676] ; (80ae67c ) 80ae3d8: 2200 movs r2, #0 80ae3da: 701a strb r2, [r3, #0] f = max / 125; 80ae3dc: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80ae3e0: eddf 6aa4 vldr s13, [pc, #656] ; 80ae674 80ae3e4: eec7 7a26 vdiv.f32 s15, s14, s13 80ae3e8: edc7 7a9b vstr s15, [r7, #620] ; 0x26c LEGEND[0] = 25 * f; 80ae3ec: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ae3f0: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80ae3f4: ee67 7a87 vmul.f32 s15, s15, s14 80ae3f8: 4ba1 ldr r3, [pc, #644] ; (80ae680 ) 80ae3fa: edc3 7a00 vstr s15, [r3] LEGEND[1] = 75 * f; 80ae3fe: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ae402: ed9f 7aa0 vldr s14, [pc, #640] ; 80ae684 80ae406: ee67 7a87 vmul.f32 s15, s15, s14 80ae40a: 4b9d ldr r3, [pc, #628] ; (80ae680 ) 80ae40c: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] = 125 * f; 80ae410: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ae414: ed9f 7a97 vldr s14, [pc, #604] ; 80ae674 80ae418: ee67 7a87 vmul.f32 s15, s15, s14 80ae41c: 4b98 ldr r3, [pc, #608] ; (80ae680 ) 80ae41e: edc3 7a02 vstr s15, [r3, #8] 80ae422: e171 b.n 80ae708 arm_max_f32(&ScrA_f32(lX), rX-lX-1, &max, &idx); 80ae424: 4b98 ldr r3, [pc, #608] ; (80ae688 ) 80ae426: 881b ldrh r3, [r3, #0] 80ae428: b29b uxth r3, r3 80ae42a: 009b lsls r3, r3, #2 80ae42c: 461a mov r2, r3 80ae42e: 4b97 ldr r3, [pc, #604] ; (80ae68c ) 80ae430: 4413 add r3, r2 80ae432: 4618 mov r0, r3 80ae434: 4b96 ldr r3, [pc, #600] ; (80ae690 ) 80ae436: 881b ldrh r3, [r3, #0] 80ae438: b29b uxth r3, r3 80ae43a: 461a mov r2, r3 80ae43c: 4b92 ldr r3, [pc, #584] ; (80ae688 ) 80ae43e: 881b ldrh r3, [r3, #0] 80ae440: b29b uxth r3, r3 80ae442: 1ad3 subs r3, r2, r3 80ae444: 3b01 subs r3, #1 80ae446: 4619 mov r1, r3 80ae448: f507 731a add.w r3, r7, #616 ; 0x268 80ae44c: f507 721d add.w r2, r7, #628 ; 0x274 80ae450: f020 fde0 bl 80cf014 arm_min_f32(&ScrA_f32(lX), rX-lX-1, &min, &idx); 80ae454: 4b8c ldr r3, [pc, #560] ; (80ae688 ) 80ae456: 881b ldrh r3, [r3, #0] 80ae458: b29b uxth r3, r3 80ae45a: 009b lsls r3, r3, #2 80ae45c: 461a mov r2, r3 80ae45e: 4b8b ldr r3, [pc, #556] ; (80ae68c ) 80ae460: 4413 add r3, r2 80ae462: 4618 mov r0, r3 80ae464: 4b8a ldr r3, [pc, #552] ; (80ae690 ) 80ae466: 881b ldrh r3, [r3, #0] 80ae468: b29b uxth r3, r3 80ae46a: 461a mov r2, r3 80ae46c: 4b86 ldr r3, [pc, #536] ; (80ae688 ) 80ae46e: 881b ldrh r3, [r3, #0] 80ae470: b29b uxth r3, r3 80ae472: 1ad3 subs r3, r2, r3 80ae474: 3b01 subs r3, #1 80ae476: 4619 mov r1, r3 80ae478: f507 731a add.w r3, r7, #616 ; 0x268 80ae47c: f507 721c add.w r2, r7, #624 ; 0x270 80ae480: f020 fd2c bl 80ceedc if(ABS(max) > ABS(min)) f = ABS(max); 80ae484: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ae488: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae48c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae490: dd02 ble.n 80ae498 80ae492: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80ae496: e003 b.n 80ae4a0 80ae498: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ae49c: eeb1 7a67 vneg.f32 s14, s15 80ae4a0: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ae4a4: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae4a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae4ac: dd02 ble.n 80ae4b4 80ae4ae: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ae4b2: e003 b.n 80ae4bc 80ae4b4: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ae4b8: eef1 7a67 vneg.f32 s15, s15 80ae4bc: eeb4 7ae7 vcmpe.f32 s14, s15 80ae4c0: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae4c4: dd10 ble.n 80ae4e8 80ae4c6: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ae4ca: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae4ce: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae4d2: dd02 ble.n 80ae4da 80ae4d4: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ae4d8: e003 b.n 80ae4e2 80ae4da: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ae4de: eef1 7a67 vneg.f32 s15, s15 80ae4e2: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80ae4e6: e00f b.n 80ae508 else f = ABS(min); 80ae4e8: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ae4ec: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae4f0: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae4f4: dd02 ble.n 80ae4fc 80ae4f6: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ae4fa: e003 b.n 80ae504 80ae4fc: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ae500: eef1 7a67 vneg.f32 s15, s15 80ae504: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 125.0f / f; 80ae508: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80ae50c: eddf 6a59 vldr s13, [pc, #356] ; 80ae674 80ae510: eec6 7a87 vdiv.f32 s15, s13, s14 80ae514: 4b58 ldr r3, [pc, #352] ; (80ae678 ) 80ae516: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80ae51a: 4b58 ldr r3, [pc, #352] ; (80ae67c ) 80ae51c: 2200 movs r2, #0 80ae51e: 701a strb r2, [r3, #0] f = f / 125; 80ae520: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80ae524: eddf 6a53 vldr s13, [pc, #332] ; 80ae674 80ae528: eec7 7a26 vdiv.f32 s15, s14, s13 80ae52c: edc7 7a9b vstr s15, [r7, #620] ; 0x26c f *= 0.70710678f; 80ae530: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ae534: ed9f 7a57 vldr s14, [pc, #348] ; 80ae694 80ae538: ee67 7a87 vmul.f32 s15, s15, s14 80ae53c: edc7 7a9b vstr s15, [r7, #620] ; 0x26c LEGEND[0] = 25 * f; 80ae540: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ae544: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80ae548: ee67 7a87 vmul.f32 s15, s15, s14 80ae54c: 4b4c ldr r3, [pc, #304] ; (80ae680 ) 80ae54e: edc3 7a00 vstr s15, [r3] LEGEND[1] = 75 * f; 80ae552: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ae556: ed9f 7a4b vldr s14, [pc, #300] ; 80ae684 80ae55a: ee67 7a87 vmul.f32 s15, s15, s14 80ae55e: 4b48 ldr r3, [pc, #288] ; (80ae680 ) 80ae560: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] = 125 * f; 80ae564: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ae568: ed9f 7a42 vldr s14, [pc, #264] ; 80ae674 80ae56c: ee67 7a87 vmul.f32 s15, s15, s14 80ae570: 4b43 ldr r3, [pc, #268] ; (80ae680 ) 80ae572: edc3 7a02 vstr s15, [r3, #8] if(pardata.WIN == HANN) 80ae576: 4b3c ldr r3, [pc, #240] ; (80ae668 ) 80ae578: 7a5b ldrb r3, [r3, #9] 80ae57a: b2db uxtb r3, r3 80ae57c: 2b01 cmp r3, #1 80ae57e: d117 bne.n 80ae5b0 LEGEND[0] *= 2.0f; 80ae580: 4b3f ldr r3, [pc, #252] ; (80ae680 ) 80ae582: edd3 7a00 vldr s15, [r3] 80ae586: ee77 7aa7 vadd.f32 s15, s15, s15 80ae58a: 4b3d ldr r3, [pc, #244] ; (80ae680 ) 80ae58c: edc3 7a00 vstr s15, [r3] LEGEND[1] *= 2.0f; 80ae590: 4b3b ldr r3, [pc, #236] ; (80ae680 ) 80ae592: edd3 7a01 vldr s15, [r3, #4] 80ae596: ee77 7aa7 vadd.f32 s15, s15, s15 80ae59a: 4b39 ldr r3, [pc, #228] ; (80ae680 ) 80ae59c: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] *= 2.0f; 80ae5a0: 4b37 ldr r3, [pc, #220] ; (80ae680 ) 80ae5a2: edd3 7a02 vldr s15, [r3, #8] 80ae5a6: ee77 7aa7 vadd.f32 s15, s15, s15 80ae5aa: 4b35 ldr r3, [pc, #212] ; (80ae680 ) 80ae5ac: edc3 7a02 vstr s15, [r3, #8] if(pardata.IVS[pardata.IPR] == PEAK) 80ae5b0: 4b2d ldr r3, [pc, #180] ; (80ae668 ) 80ae5b2: 785b ldrb r3, [r3, #1] 80ae5b4: b2db uxtb r3, r3 80ae5b6: 461a mov r2, r3 80ae5b8: 4b2b ldr r3, [pc, #172] ; (80ae668 ) 80ae5ba: 4413 add r3, r2 80ae5bc: 789b ldrb r3, [r3, #2] 80ae5be: b2db uxtb r3, r3 80ae5c0: 2b00 cmp r3, #0 80ae5c2: f040 80a1 bne.w 80ae708 LEGEND[0] *= 1.414213562373f; 80ae5c6: 4b2e ldr r3, [pc, #184] ; (80ae680 ) 80ae5c8: edd3 7a00 vldr s15, [r3] 80ae5cc: ed9f 7a32 vldr s14, [pc, #200] ; 80ae698 80ae5d0: ee67 7a87 vmul.f32 s15, s15, s14 80ae5d4: 4b2a ldr r3, [pc, #168] ; (80ae680 ) 80ae5d6: edc3 7a00 vstr s15, [r3] LEGEND[1] *= 1.414213562373f; 80ae5da: 4b29 ldr r3, [pc, #164] ; (80ae680 ) 80ae5dc: edd3 7a01 vldr s15, [r3, #4] 80ae5e0: ed9f 7a2d vldr s14, [pc, #180] ; 80ae698 80ae5e4: ee67 7a87 vmul.f32 s15, s15, s14 80ae5e8: 4b25 ldr r3, [pc, #148] ; (80ae680 ) 80ae5ea: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] *= 1.414213562373f; 80ae5ee: 4b24 ldr r3, [pc, #144] ; (80ae680 ) 80ae5f0: edd3 7a02 vldr s15, [r3, #8] 80ae5f4: ed9f 7a28 vldr s14, [pc, #160] ; 80ae698 80ae5f8: ee67 7a87 vmul.f32 s15, s15, s14 80ae5fc: 4b20 ldr r3, [pc, #128] ; (80ae680 ) 80ae5fe: edc3 7a02 vstr s15, [r3, #8] 80ae602: e081 b.n 80ae708 if(ZOOM_IN) 80ae604: 4b25 ldr r3, [pc, #148] ; (80ae69c ) 80ae606: 781b ldrb r3, [r3, #0] 80ae608: b2db uxtb r3, r3 80ae60a: 2b00 cmp r3, #0 80ae60c: d04c beq.n 80ae6a8 ZOOM_IN = false; 80ae60e: 4b23 ldr r3, [pc, #140] ; (80ae69c ) 80ae610: 2200 movs r2, #0 80ae612: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80ae614: 4b18 ldr r3, [pc, #96] ; (80ae678 ) 80ae616: edd3 7a00 vldr s15, [r3] 80ae61a: ed9f 7a21 vldr s14, [pc, #132] ; 80ae6a0 80ae61e: ee67 7a87 vmul.f32 s15, s15, s14 80ae622: 4b15 ldr r3, [pc, #84] ; (80ae678 ) 80ae624: edc3 7a00 vstr s15, [r3] LEGEND[0] *= 0.5000011f; 80ae628: 4b15 ldr r3, [pc, #84] ; (80ae680 ) 80ae62a: edd3 7a00 vldr s15, [r3] 80ae62e: ed9f 7a1d vldr s14, [pc, #116] ; 80ae6a4 80ae632: ee67 7a87 vmul.f32 s15, s15, s14 80ae636: 4b12 ldr r3, [pc, #72] ; (80ae680 ) 80ae638: edc3 7a00 vstr s15, [r3] LEGEND[1] *= 0.5000011f; 80ae63c: 4b10 ldr r3, [pc, #64] ; (80ae680 ) 80ae63e: edd3 7a01 vldr s15, [r3, #4] 80ae642: ed9f 7a18 vldr s14, [pc, #96] ; 80ae6a4 80ae646: ee67 7a87 vmul.f32 s15, s15, s14 80ae64a: 4b0d ldr r3, [pc, #52] ; (80ae680 ) 80ae64c: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] *= 0.5000011f; 80ae650: 4b0b ldr r3, [pc, #44] ; (80ae680 ) 80ae652: edd3 7a02 vldr s15, [r3, #8] 80ae656: ed9f 7a13 vldr s14, [pc, #76] ; 80ae6a4 80ae65a: ee67 7a87 vmul.f32 s15, s15, s14 80ae65e: 4b08 ldr r3, [pc, #32] ; (80ae680 ) 80ae660: edc3 7a02 vstr s15, [r3, #8] 80ae664: e050 b.n 80ae708 80ae666: bf00 nop 80ae668: 20023eb8 .word 0x20023eb8 80ae66c: 42fa0000 .word 0x42fa0000 80ae670: 20021684 .word 0x20021684 80ae674: 42fa0000 .word 0x42fa0000 80ae678: 20020998 .word 0x20020998 80ae67c: 20020994 .word 0x20020994 80ae680: 2006861c .word 0x2006861c 80ae684: 42960000 .word 0x42960000 80ae688: 20025d72 .word 0x20025d72 80ae68c: 64080000 .word 0x64080000 80ae690: 20025d78 .word 0x20025d78 80ae694: 3f3504f3 .word 0x3f3504f3 80ae698: 3fb504f3 .word 0x3fb504f3 80ae69c: 20020fb5 .word 0x20020fb5 80ae6a0: 40000005 .word 0x40000005 80ae6a4: 3f000012 .word 0x3f000012 if(ZOOM_OUT) 80ae6a8: 4bc9 ldr r3, [pc, #804] ; (80ae9d0 ) 80ae6aa: 781b ldrb r3, [r3, #0] 80ae6ac: b2db uxtb r3, r3 80ae6ae: 2b00 cmp r3, #0 80ae6b0: d02a beq.n 80ae708 ZOOM_OUT = false; 80ae6b2: 4bc7 ldr r3, [pc, #796] ; (80ae9d0 ) 80ae6b4: 2200 movs r2, #0 80ae6b6: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80ae6b8: 4bc6 ldr r3, [pc, #792] ; (80ae9d4 ) 80ae6ba: edd3 7a00 vldr s15, [r3] 80ae6be: ed9f 7ac6 vldr s14, [pc, #792] ; 80ae9d8 80ae6c2: ee67 7a87 vmul.f32 s15, s15, s14 80ae6c6: 4bc3 ldr r3, [pc, #780] ; (80ae9d4 ) 80ae6c8: edc3 7a00 vstr s15, [r3] LEGEND[0] *= 2.0000011f; 80ae6cc: 4bc3 ldr r3, [pc, #780] ; (80ae9dc ) 80ae6ce: edd3 7a00 vldr s15, [r3] 80ae6d2: ed9f 7ac3 vldr s14, [pc, #780] ; 80ae9e0 80ae6d6: ee67 7a87 vmul.f32 s15, s15, s14 80ae6da: 4bc0 ldr r3, [pc, #768] ; (80ae9dc ) 80ae6dc: edc3 7a00 vstr s15, [r3] LEGEND[1] *= 2.0000011f; 80ae6e0: 4bbe ldr r3, [pc, #760] ; (80ae9dc ) 80ae6e2: edd3 7a01 vldr s15, [r3, #4] 80ae6e6: ed9f 7abe vldr s14, [pc, #760] ; 80ae9e0 80ae6ea: ee67 7a87 vmul.f32 s15, s15, s14 80ae6ee: 4bbb ldr r3, [pc, #748] ; (80ae9dc ) 80ae6f0: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] *= 2.0000011f; 80ae6f4: 4bb9 ldr r3, [pc, #740] ; (80ae9dc ) 80ae6f6: edd3 7a02 vldr s15, [r3, #8] 80ae6fa: ed9f 7ab9 vldr s14, [pc, #740] ; 80ae9e0 80ae6fe: ee67 7a87 vmul.f32 s15, s15, s14 80ae702: 4bb6 ldr r3, [pc, #728] ; (80ae9dc ) 80ae704: edc3 7a02 vstr s15, [r3, #8] NumOverdrives = 0; 80ae708: 4bb6 ldr r3, [pc, #728] ; (80ae9e4 ) 80ae70a: 2200 movs r2, #0 80ae70c: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ae70e: 49b6 ldr r1, [pc, #728] ; (80ae9e8 ) 80ae710: 48b6 ldr r0, [pc, #728] ; (80ae9ec ) 80ae712: f7a6 fd7b bl 805520c for(i = 0; i < 256; i++) 80ae716: 2300 movs r3, #0 80ae718: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ae71c: e2a8 b.n 80aec70 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80ae71e: 4bb4 ldr r3, [pc, #720] ; (80ae9f0 ) 80ae720: 781b ldrb r3, [r3, #0] 80ae722: b2db uxtb r3, r3 80ae724: 4618 mov r0, r3 80ae726: 4bb3 ldr r3, [pc, #716] ; (80ae9f4 ) 80ae728: 79db ldrb r3, [r3, #7] 80ae72a: b2db uxtb r3, r3 80ae72c: 4619 mov r1, r3 80ae72e: 4ab2 ldr r2, [pc, #712] ; (80ae9f8 ) 80ae730: 0083 lsls r3, r0, #2 80ae732: 4413 add r3, r2 80ae734: 440b add r3, r1 80ae736: 781b ldrb r3, [r3, #0] 80ae738: 461a mov r2, r3 80ae73a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ae73e: fb03 f302 mul.w r3, r3, r2 80ae742: 4aae ldr r2, [pc, #696] ; (80ae9fc ) 80ae744: 8812 ldrh r2, [r2, #0] 80ae746: b292 uxth r2, r2 80ae748: 4413 add r3, r2 80ae74a: 009a lsls r2, r3, #2 80ae74c: 4bac ldr r3, [pc, #688] ; (80aea00 ) 80ae74e: 4413 add r3, r2 80ae750: 461c mov r4, r3 80ae752: 4ba7 ldr r3, [pc, #668] ; (80ae9f0 ) 80ae754: 781b ldrb r3, [r3, #0] 80ae756: b2db uxtb r3, r3 80ae758: 4618 mov r0, r3 80ae75a: 4ba6 ldr r3, [pc, #664] ; (80ae9f4 ) 80ae75c: 79db ldrb r3, [r3, #7] 80ae75e: b2db uxtb r3, r3 80ae760: 4619 mov r1, r3 80ae762: 4aa5 ldr r2, [pc, #660] ; (80ae9f8 ) 80ae764: 0083 lsls r3, r0, #2 80ae766: 4413 add r3, r2 80ae768: 440b add r3, r1 80ae76a: 781b ldrb r3, [r3, #0] 80ae76c: 4618 mov r0, r3 80ae76e: f507 711a add.w r1, r7, #616 ; 0x268 80ae772: f507 731e add.w r3, r7, #632 ; 0x278 80ae776: 1d1a adds r2, r3, #4 80ae778: 460b mov r3, r1 80ae77a: 4601 mov r1, r0 80ae77c: 4620 mov r0, r4 80ae77e: f020 fc49 bl 80cf014 if(avgSPC[ViewLevel][pardata.LNE] == 1) 80ae782: 4b9b ldr r3, [pc, #620] ; (80ae9f0 ) 80ae784: 781b ldrb r3, [r3, #0] 80ae786: b2db uxtb r3, r3 80ae788: 4618 mov r0, r3 80ae78a: 4b9a ldr r3, [pc, #616] ; (80ae9f4 ) 80ae78c: 79db ldrb r3, [r3, #7] 80ae78e: b2db uxtb r3, r3 80ae790: 4619 mov r1, r3 80ae792: 4a99 ldr r2, [pc, #612] ; (80ae9f8 ) 80ae794: 0083 lsls r3, r0, #2 80ae796: 4413 add r3, r2 80ae798: 440b add r3, r1 80ae79a: 781b ldrb r3, [r3, #0] 80ae79c: 2b01 cmp r3, #1 80ae79e: f040 8143 bne.w 80aea28 thr = 157; 80ae7a2: 239d movs r3, #157 ; 0x9d 80ae7a4: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80ae7a8: 4b92 ldr r3, [pc, #584] ; (80ae9f4 ) 80ae7aa: 7a9b ldrb r3, [r3, #10] 80ae7ac: b2db uxtb r3, r3 80ae7ae: 2b01 cmp r3, #1 80ae7b0: d16f bne.n 80ae892 if(pardata.IIN != VOLTS) 80ae7b2: 4b90 ldr r3, [pc, #576] ; (80ae9f4 ) 80ae7b4: 799b ldrb r3, [r3, #6] 80ae7b6: b2db uxtb r3, r3 80ae7b8: 2b02 cmp r3, #2 80ae7ba: d01c beq.n 80ae7f6 for(j = 0; j < 2; j++) 80ae7bc: 2300 movs r3, #0 80ae7be: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ae7c2: e013 b.n 80ae7ec LinToLog(&mF[j], &mF[j]); 80ae7c4: f507 721e add.w r2, r7, #632 ; 0x278 80ae7c8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ae7cc: 009b lsls r3, r3, #2 80ae7ce: 18d0 adds r0, r2, r3 80ae7d0: f507 721e add.w r2, r7, #632 ; 0x278 80ae7d4: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ae7d8: 009b lsls r3, r3, #2 80ae7da: 4413 add r3, r2 80ae7dc: 4619 mov r1, r3 80ae7de: f7b8 f8b3 bl 8066948 for(j = 0; j < 2; j++) 80ae7e2: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ae7e6: 3301 adds r3, #1 80ae7e8: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ae7ec: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ae7f0: 2b01 cmp r3, #1 80ae7f2: d9e7 bls.n 80ae7c4 80ae7f4: e01e b.n 80ae834 for(j = 0; j < 2; j++) 80ae7f6: 2300 movs r3, #0 80ae7f8: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ae7fc: e016 b.n 80ae82c LinToLog_mV(&mF[j], &mF[j], pardata.IPR); 80ae7fe: f507 721e add.w r2, r7, #632 ; 0x278 80ae802: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ae806: 009b lsls r3, r3, #2 80ae808: 18d0 adds r0, r2, r3 80ae80a: f507 721e add.w r2, r7, #632 ; 0x278 80ae80e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ae812: 009b lsls r3, r3, #2 80ae814: 18d1 adds r1, r2, r3 80ae816: 4b77 ldr r3, [pc, #476] ; (80ae9f4 ) 80ae818: 785b ldrb r3, [r3, #1] 80ae81a: b2db uxtb r3, r3 80ae81c: 461a mov r2, r3 80ae81e: f7b8 f8c3 bl 80669a8 for(j = 0; j < 2; j++) 80ae822: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ae826: 3301 adds r3, #1 80ae828: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ae82c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ae830: 2b01 cmp r3, #1 80ae832: d9e4 bls.n 80ae7fe mF[MAXY] *= ZoomVal; 80ae834: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ae838: 4b66 ldr r3, [pc, #408] ; (80ae9d4 ) 80ae83a: edd3 7a00 vldr s15, [r3] 80ae83e: ee67 7a27 vmul.f32 s15, s14, s15 80ae842: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ae846: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ae84a: ed9f 7a6e vldr s14, [pc, #440] ; 80aea04 80ae84e: eef4 7ac7 vcmpe.f32 s15, s14 80ae852: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae856: dd02 ble.n 80ae85e 80ae858: 4b6b ldr r3, [pc, #428] ; (80aea08 ) 80ae85a: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ae85e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ae862: ed9f 7a6a vldr s14, [pc, #424] ; 80aea0c 80ae866: eef4 7ac7 vcmpe.f32 s15, s14 80ae86a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae86e: d502 bpl.n 80ae876 80ae870: 4b67 ldr r3, [pc, #412] ; (80aea10 ) 80ae872: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80ae876: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ae87a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80ae87e: ee77 7a87 vadd.f32 s15, s15, s14 80ae882: eefd 7ae7 vcvt.s32.f32 s15, s15 80ae886: edc7 7a01 vstr s15, [r7, #4] 80ae88a: 88bb ldrh r3, [r7, #4] 80ae88c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80ae890: e029 b.n 80ae8e6 mF[MAXY] *= ZoomVal; 80ae892: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ae896: 4b4f ldr r3, [pc, #316] ; (80ae9d4 ) 80ae898: edd3 7a00 vldr s15, [r3] 80ae89c: ee67 7a27 vmul.f32 s15, s14, s15 80ae8a0: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ae8a4: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ae8a8: ed9f 7a56 vldr s14, [pc, #344] ; 80aea04 80ae8ac: eef4 7ac7 vcmpe.f32 s15, s14 80ae8b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae8b4: dd02 ble.n 80ae8bc 80ae8b6: 4b54 ldr r3, [pc, #336] ; (80aea08 ) 80ae8b8: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ae8bc: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ae8c0: ed9f 7a52 vldr s14, [pc, #328] ; 80aea0c 80ae8c4: eef4 7ac7 vcmpe.f32 s15, s14 80ae8c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae8cc: d502 bpl.n 80ae8d4 80ae8ce: 4b50 ldr r3, [pc, #320] ; (80aea10 ) 80ae8d0: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80ae8d4: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ae8d8: eefd 7ae7 vcvt.s32.f32 s15, s15 80ae8dc: edc7 7a01 vstr s15, [r7, #4] 80ae8e0: 88bb ldrh r3, [r7, #4] 80ae8e2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMin > thr) 80ae8e6: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80ae8ea: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80ae8ee: 429a cmp r2, r3 80ae8f0: dd03 ble.n 80ae8fa pMin = thr; 80ae8f2: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80ae8f6: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin < -thr) { 80ae8fa: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80ae8fe: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80ae902: 425b negs r3, r3 80ae904: 429a cmp r2, r3 80ae906: da02 bge.n 80ae90e pMin = 0; 80ae908: 2300 movs r3, #0 80ae90a: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMax > thr) 80ae90e: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ae912: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80ae916: 429a cmp r2, r3 80ae918: dd09 ble.n 80ae92e pMax = thr; 80ae91a: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80ae91e: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ae922: 4b30 ldr r3, [pc, #192] ; (80ae9e4 ) 80ae924: 781b ldrb r3, [r3, #0] 80ae926: 3301 adds r3, #1 80ae928: b2da uxtb r2, r3 80ae92a: 4b2e ldr r3, [pc, #184] ; (80ae9e4 ) 80ae92c: 701a strb r2, [r3, #0] if(pMax < 0) { 80ae92e: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ae932: 2b00 cmp r3, #0 80ae934: da02 bge.n 80ae93c pMax = 0; 80ae936: 2300 movs r3, #0 80ae938: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80ae93c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ae940: 333e adds r3, #62 ; 0x3e 80ae942: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80ae946: 4b33 ldr r3, [pc, #204] ; (80aea14 ) 80ae948: 681b ldr r3, [r3, #0] 80ae94a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ae94e: 429a cmp r2, r3 80ae950: d12e bne.n 80ae9b0 if(menupos != Cursor) 80ae952: 4b31 ldr r3, [pc, #196] ; (80aea18 ) 80ae954: 781b ldrb r3, [r3, #0] 80ae956: b2db uxtb r3, r3 80ae958: 2b06 cmp r3, #6 80ae95a: d004 beq.n 80ae966 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80ae95c: 4922 ldr r1, [pc, #136] ; (80ae9e8 ) 80ae95e: 482f ldr r0, [pc, #188] ; (80aea1c ) 80ae960: f7a6 fc54 bl 805520c 80ae964: e003 b.n 80ae96e else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80ae966: 4920 ldr r1, [pc, #128] ; (80ae9e8 ) 80ae968: 482d ldr r0, [pc, #180] ; (80aea20 ) 80ae96a: f7a6 fc4f bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80ae96e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae972: b298 uxth r0, r3 80ae974: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae978: b29a uxth r2, r3 80ae97a: 23da movs r3, #218 ; 0xda 80ae97c: 212c movs r1, #44 ; 0x2c 80ae97e: f7a6 fe7f bl 8055680 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80ae982: 4919 ldr r1, [pc, #100] ; (80ae9e8 ) 80ae984: 4827 ldr r0, [pc, #156] ; (80aea24 ) 80ae986: f7a6 fc41 bl 805520c BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80ae98a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae98e: b298 uxth r0, r3 80ae990: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae994: b29a uxth r2, r3 80ae996: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ae99a: f1c3 03da rsb r3, r3, #218 ; 0xda 80ae99e: b29b uxth r3, r3 80ae9a0: 21db movs r1, #219 ; 0xdb 80ae9a2: f7a6 fe6d bl 8055680 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ae9a6: 4910 ldr r1, [pc, #64] ; (80ae9e8 ) 80ae9a8: 4810 ldr r0, [pc, #64] ; (80ae9ec ) 80ae9aa: f7a6 fc2f bl 805520c 80ae9ae: e150 b.n 80aec52 BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80ae9b0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae9b4: b298 uxth r0, r3 80ae9b6: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae9ba: b29a uxth r2, r3 80ae9bc: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ae9c0: f1c3 03da rsb r3, r3, #218 ; 0xda 80ae9c4: b29b uxth r3, r3 80ae9c6: 21da movs r1, #218 ; 0xda 80ae9c8: f7a6 fe5a bl 8055680 80ae9cc: e141 b.n 80aec52 80ae9ce: bf00 nop 80ae9d0: 20020fb4 .word 0x20020fb4 80ae9d4: 20020998 .word 0x20020998 80ae9d8: 3f000012 .word 0x3f000012 80ae9dc: 2006861c .word 0x2006861c 80ae9e0: 40000005 .word 0x40000005 80ae9e4: 2002169e .word 0x2002169e 80ae9e8: ff0a0f1f .word 0xff0a0f1f 80ae9ec: ff26a01f .word 0xff26a01f 80ae9f0: 20020fc0 .word 0x20020fc0 80ae9f4: 20023eb8 .word 0x20023eb8 80ae9f8: 080f5fec .word 0x080f5fec 80ae9fc: 20025d76 .word 0x20025d76 80aea00: 64080000 .word 0x64080000 80aea04: 46fffe00 .word 0x46fffe00 80aea08: 46fffe00 .word 0x46fffe00 80aea0c: c6fffe00 .word 0xc6fffe00 80aea10: c6fffe00 .word 0xc6fffe00 80aea14: 2002006c .word 0x2002006c 80aea18: 20020070 .word 0x20020070 80aea1c: ff808080 .word 0xff808080 80aea20: ffff0000 .word 0xffff0000 80aea24: ff008000 .word 0xff008000 thr = 157; 80aea28: 239d movs r3, #157 ; 0x9d 80aea2a: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80aea2e: 4bca ldr r3, [pc, #808] ; (80aed58 ) 80aea30: 7a9b ldrb r3, [r3, #10] 80aea32: b2db uxtb r3, r3 80aea34: 2b01 cmp r3, #1 80aea36: d16f bne.n 80aeb18 if(pardata.IIN != VOLTS) 80aea38: 4bc7 ldr r3, [pc, #796] ; (80aed58 ) 80aea3a: 799b ldrb r3, [r3, #6] 80aea3c: b2db uxtb r3, r3 80aea3e: 2b02 cmp r3, #2 80aea40: d01c beq.n 80aea7c for(j = 0; j < 2; j++) 80aea42: 2300 movs r3, #0 80aea44: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aea48: e013 b.n 80aea72 LinToLog(&mF[j], &mF[j]); 80aea4a: f507 721e add.w r2, r7, #632 ; 0x278 80aea4e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aea52: 009b lsls r3, r3, #2 80aea54: 18d0 adds r0, r2, r3 80aea56: f507 721e add.w r2, r7, #632 ; 0x278 80aea5a: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aea5e: 009b lsls r3, r3, #2 80aea60: 4413 add r3, r2 80aea62: 4619 mov r1, r3 80aea64: f7b7 ff70 bl 8066948 for(j = 0; j < 2; j++) 80aea68: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aea6c: 3301 adds r3, #1 80aea6e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aea72: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aea76: 2b01 cmp r3, #1 80aea78: d9e7 bls.n 80aea4a 80aea7a: e01e b.n 80aeaba for(j = 0; j < 2; j++) 80aea7c: 2300 movs r3, #0 80aea7e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aea82: e016 b.n 80aeab2 LinToLog_mV(&mF[j], &mF[j], pardata.IPR); 80aea84: f507 721e add.w r2, r7, #632 ; 0x278 80aea88: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aea8c: 009b lsls r3, r3, #2 80aea8e: 18d0 adds r0, r2, r3 80aea90: f507 721e add.w r2, r7, #632 ; 0x278 80aea94: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aea98: 009b lsls r3, r3, #2 80aea9a: 18d1 adds r1, r2, r3 80aea9c: 4bae ldr r3, [pc, #696] ; (80aed58 ) 80aea9e: 785b ldrb r3, [r3, #1] 80aeaa0: b2db uxtb r3, r3 80aeaa2: 461a mov r2, r3 80aeaa4: f7b7 ff80 bl 80669a8 for(j = 0; j < 2; j++) 80aeaa8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aeaac: 3301 adds r3, #1 80aeaae: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aeab2: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aeab6: 2b01 cmp r3, #1 80aeab8: d9e4 bls.n 80aea84 mF[MAXY] *= ZoomVal; 80aeaba: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aeabe: 4ba7 ldr r3, [pc, #668] ; (80aed5c ) 80aeac0: edd3 7a00 vldr s15, [r3] 80aeac4: ee67 7a27 vmul.f32 s15, s14, s15 80aeac8: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aeacc: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aead0: ed9f 7aa3 vldr s14, [pc, #652] ; 80aed60 80aead4: eef4 7ac7 vcmpe.f32 s15, s14 80aead8: eef1 fa10 vmrs APSR_nzcv, fpscr 80aeadc: dd02 ble.n 80aeae4 80aeade: 4ba1 ldr r3, [pc, #644] ; (80aed64 ) 80aeae0: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aeae4: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aeae8: ed9f 7a9f vldr s14, [pc, #636] ; 80aed68 80aeaec: eef4 7ac7 vcmpe.f32 s15, s14 80aeaf0: eef1 fa10 vmrs APSR_nzcv, fpscr 80aeaf4: d502 bpl.n 80aeafc 80aeaf6: 4b9d ldr r3, [pc, #628] ; (80aed6c ) 80aeaf8: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80aeafc: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aeb00: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80aeb04: ee77 7a87 vadd.f32 s15, s15, s14 80aeb08: eefd 7ae7 vcvt.s32.f32 s15, s15 80aeb0c: edc7 7a01 vstr s15, [r7, #4] 80aeb10: 88bb ldrh r3, [r7, #4] 80aeb12: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80aeb16: e029 b.n 80aeb6c mF[MAXY] *= ZoomVal; 80aeb18: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aeb1c: 4b8f ldr r3, [pc, #572] ; (80aed5c ) 80aeb1e: edd3 7a00 vldr s15, [r3] 80aeb22: ee67 7a27 vmul.f32 s15, s14, s15 80aeb26: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aeb2a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aeb2e: ed9f 7a8c vldr s14, [pc, #560] ; 80aed60 80aeb32: eef4 7ac7 vcmpe.f32 s15, s14 80aeb36: eef1 fa10 vmrs APSR_nzcv, fpscr 80aeb3a: dd02 ble.n 80aeb42 80aeb3c: 4b89 ldr r3, [pc, #548] ; (80aed64 ) 80aeb3e: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aeb42: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aeb46: ed9f 7a88 vldr s14, [pc, #544] ; 80aed68 80aeb4a: eef4 7ac7 vcmpe.f32 s15, s14 80aeb4e: eef1 fa10 vmrs APSR_nzcv, fpscr 80aeb52: d502 bpl.n 80aeb5a 80aeb54: 4b85 ldr r3, [pc, #532] ; (80aed6c ) 80aeb56: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80aeb5a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aeb5e: eefd 7ae7 vcvt.s32.f32 s15, s15 80aeb62: edc7 7a01 vstr s15, [r7, #4] 80aeb66: 88bb ldrh r3, [r7, #4] 80aeb68: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMin > thr) 80aeb6c: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80aeb70: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80aeb74: 429a cmp r2, r3 80aeb76: dd03 ble.n 80aeb80 pMin = thr; 80aeb78: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80aeb7c: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin < -thr) { 80aeb80: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80aeb84: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80aeb88: 425b negs r3, r3 80aeb8a: 429a cmp r2, r3 80aeb8c: da02 bge.n 80aeb94 pMin = 0; 80aeb8e: 2300 movs r3, #0 80aeb90: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMax > thr) 80aeb94: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80aeb98: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80aeb9c: 429a cmp r2, r3 80aeb9e: dd09 ble.n 80aebb4 pMax = thr; 80aeba0: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80aeba4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aeba8: 4b71 ldr r3, [pc, #452] ; (80aed70 ) 80aebaa: 781b ldrb r3, [r3, #0] 80aebac: 3301 adds r3, #1 80aebae: b2da uxtb r2, r3 80aebb0: 4b6f ldr r3, [pc, #444] ; (80aed70 ) 80aebb2: 701a strb r2, [r3, #0] if(pMax < 0) { 80aebb4: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aebb8: 2b00 cmp r3, #0 80aebba: da02 bge.n 80aebc2 pMax = 0; 80aebbc: 2300 movs r3, #0 80aebbe: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80aebc2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aebc6: 333e adds r3, #62 ; 0x3e 80aebc8: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80aebcc: 4b69 ldr r3, [pc, #420] ; (80aed74 ) 80aebce: 681b ldr r3, [r3, #0] 80aebd0: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aebd4: 429a cmp r2, r3 80aebd6: d12e bne.n 80aec36 if(menupos != Cursor) 80aebd8: 4b67 ldr r3, [pc, #412] ; (80aed78 ) 80aebda: 781b ldrb r3, [r3, #0] 80aebdc: b2db uxtb r3, r3 80aebde: 2b06 cmp r3, #6 80aebe0: d004 beq.n 80aebec LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80aebe2: 4966 ldr r1, [pc, #408] ; (80aed7c ) 80aebe4: 4866 ldr r0, [pc, #408] ; (80aed80 ) 80aebe6: f7a6 fb11 bl 805520c 80aebea: e003 b.n 80aebf4 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80aebec: 4963 ldr r1, [pc, #396] ; (80aed7c ) 80aebee: 4865 ldr r0, [pc, #404] ; (80aed84 ) 80aebf0: f7a6 fb0c bl 805520c BSP_LCD_DrawLine(x, 44, x, 218); 80aebf4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aebf8: b298 uxth r0, r3 80aebfa: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aebfe: b29a uxth r2, r3 80aec00: 23da movs r3, #218 ; 0xda 80aec02: 212c movs r1, #44 ; 0x2c 80aec04: f7a6 fd3c bl 8055680 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80aec08: 495c ldr r1, [pc, #368] ; (80aed7c ) 80aec0a: 485f ldr r0, [pc, #380] ; (80aed88 ) 80aec0c: f7a6 fafe bl 805520c BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80aec10: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aec14: b298 uxth r0, r3 80aec16: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aec1a: b29a uxth r2, r3 80aec1c: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aec20: f1c3 03da rsb r3, r3, #218 ; 0xda 80aec24: b29b uxth r3, r3 80aec26: 21db movs r1, #219 ; 0xdb 80aec28: f7a6 fd2a bl 8055680 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80aec2c: 4953 ldr r1, [pc, #332] ; (80aed7c ) 80aec2e: 4857 ldr r0, [pc, #348] ; (80aed8c ) 80aec30: f7a6 faec bl 805520c 80aec34: e00d b.n 80aec52 BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80aec36: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aec3a: b298 uxth r0, r3 80aec3c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aec40: b29a uxth r2, r3 80aec42: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aec46: f1c3 03da rsb r3, r3, #218 ; 0xda 80aec4a: b29b uxth r3, r3 80aec4c: 21da movs r1, #218 ; 0xda 80aec4e: f7a6 fd17 bl 8055680 if(pMax > Maximum) Maximum = pMax; 80aec52: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80aec56: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aec5a: 429a cmp r2, r3 80aec5c: dd03 ble.n 80aec66 80aec5e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aec62: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 256; i++) 80aec66: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aec6a: 3301 adds r3, #1 80aec6c: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aec70: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aec74: 2bff cmp r3, #255 ; 0xff 80aec76: f67f ad52 bls.w 80ae71e BSP_LCD_SetFont(&Font8); 80aec7a: 4845 ldr r0, [pc, #276] ; (80aed90 ) 80aec7c: f7a6 fb02 bl 8055284 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80aec80: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80aec84: 483e ldr r0, [pc, #248] ; (80aed80 ) 80aec86: f7a6 fac1 bl 805520c if(ABS(LEGEND[0]) == 0.0f) { mmm = -1; } 80aec8a: 4b42 ldr r3, [pc, #264] ; (80aed94 ) 80aec8c: edd3 7a00 vldr s15, [r3] 80aec90: eef5 7ac0 vcmpe.f32 s15, #0.0 80aec94: eef1 fa10 vmrs APSR_nzcv, fpscr 80aec98: dd0b ble.n 80aecb2 80aec9a: 4b3e ldr r3, [pc, #248] ; (80aed94 ) 80aec9c: edd3 7a00 vldr s15, [r3] 80aeca0: eef5 7a40 vcmp.f32 s15, #0.0 80aeca4: eef1 fa10 vmrs APSR_nzcv, fpscr 80aeca8: bf0c ite eq 80aecaa: 2301 moveq r3, #1 80aecac: 2300 movne r3, #0 80aecae: b2db uxtb r3, r3 80aecb0: e00a b.n 80aecc8 80aecb2: 4b38 ldr r3, [pc, #224] ; (80aed94 ) 80aecb4: edd3 7a00 vldr s15, [r3] 80aecb8: eef5 7a40 vcmp.f32 s15, #0.0 80aecbc: eef1 fa10 vmrs APSR_nzcv, fpscr 80aecc0: bf0c ite eq 80aecc2: 2301 moveq r3, #1 80aecc4: 2300 movne r3, #0 80aecc6: b2db uxtb r3, r3 80aecc8: 2b00 cmp r3, #0 80aecca: d003 beq.n 80aecd4 80aeccc: 23ff movs r3, #255 ; 0xff 80aecce: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aecd2: e079 b.n 80aedc8 else if(ABS(LEGEND[0]) < 1) { mmm = -4; } 80aecd4: 4b2f ldr r3, [pc, #188] ; (80aed94 ) 80aecd6: edd3 7a00 vldr s15, [r3] 80aecda: eef5 7ac0 vcmpe.f32 s15, #0.0 80aecde: eef1 fa10 vmrs APSR_nzcv, fpscr 80aece2: dd0d ble.n 80aed00 80aece4: 4b2b ldr r3, [pc, #172] ; (80aed94 ) 80aece6: edd3 7a00 vldr s15, [r3] 80aecea: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80aecee: eef4 7ac7 vcmpe.f32 s15, s14 80aecf2: eef1 fa10 vmrs APSR_nzcv, fpscr 80aecf6: bf4c ite mi 80aecf8: 2301 movmi r3, #1 80aecfa: 2300 movpl r3, #0 80aecfc: b2db uxtb r3, r3 80aecfe: e00e b.n 80aed1e 80aed00: 4b24 ldr r3, [pc, #144] ; (80aed94 ) 80aed02: edd3 7a00 vldr s15, [r3] 80aed06: eef1 7a67 vneg.f32 s15, s15 80aed0a: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80aed0e: eef4 7ac7 vcmpe.f32 s15, s14 80aed12: eef1 fa10 vmrs APSR_nzcv, fpscr 80aed16: bf4c ite mi 80aed18: 2301 movmi r3, #1 80aed1a: 2300 movpl r3, #0 80aed1c: b2db uxtb r3, r3 80aed1e: 2b00 cmp r3, #0 80aed20: d003 beq.n 80aed2a 80aed22: 23fc movs r3, #252 ; 0xfc 80aed24: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aed28: e04e b.n 80aedc8 else if(ABS(LEGEND[0]) < 10) { mmm = -1; } 80aed2a: 4b1a ldr r3, [pc, #104] ; (80aed94 ) 80aed2c: edd3 7a00 vldr s15, [r3] 80aed30: eef5 7ac0 vcmpe.f32 s15, #0.0 80aed34: eef1 fa10 vmrs APSR_nzcv, fpscr 80aed38: dd2e ble.n 80aed98 80aed3a: 4b16 ldr r3, [pc, #88] ; (80aed94 ) 80aed3c: edd3 7a00 vldr s15, [r3] 80aed40: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80aed44: eef4 7ac7 vcmpe.f32 s15, s14 80aed48: eef1 fa10 vmrs APSR_nzcv, fpscr 80aed4c: bf4c ite mi 80aed4e: 2301 movmi r3, #1 80aed50: 2300 movpl r3, #0 80aed52: b2db uxtb r3, r3 80aed54: e02f b.n 80aedb6 80aed56: bf00 nop 80aed58: 20023eb8 .word 0x20023eb8 80aed5c: 20020998 .word 0x20020998 80aed60: 46fffe00 .word 0x46fffe00 80aed64: 46fffe00 .word 0x46fffe00 80aed68: c6fffe00 .word 0xc6fffe00 80aed6c: c6fffe00 .word 0xc6fffe00 80aed70: 2002169e .word 0x2002169e 80aed74: 2002006c .word 0x2002006c 80aed78: 20020070 .word 0x20020070 80aed7c: ff0a0f1f .word 0xff0a0f1f 80aed80: ff808080 .word 0xff808080 80aed84: ffff0000 .word 0xffff0000 80aed88: ff008000 .word 0xff008000 80aed8c: ff26a01f .word 0xff26a01f 80aed90: 20020060 .word 0x20020060 80aed94: 2006861c .word 0x2006861c 80aed98: 4ba7 ldr r3, [pc, #668] ; (80af038 ) 80aed9a: edd3 7a00 vldr s15, [r3] 80aed9e: eef1 7a67 vneg.f32 s15, s15 80aeda2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80aeda6: eef4 7ac7 vcmpe.f32 s15, s14 80aedaa: eef1 fa10 vmrs APSR_nzcv, fpscr 80aedae: bf4c ite mi 80aedb0: 2301 movmi r3, #1 80aedb2: 2300 movpl r3, #0 80aedb4: b2db uxtb r3, r3 80aedb6: 2b00 cmp r3, #0 80aedb8: d003 beq.n 80aedc2 80aedba: 23ff movs r3, #255 ; 0xff 80aedbc: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aedc0: e002 b.n 80aedc8 else { mmm = 0; } 80aedc2: 2300 movs r3, #0 80aedc4: f887 329f strb.w r3, [r7, #671] ; 0x29f BSP_LCD_DisplayStringAt(316, 92-8+98, (char *) FloatToASCII(LEGEND[0], mmm), RIGHT_MODE); 80aedc8: 4b9b ldr r3, [pc, #620] ; (80af038 ) 80aedca: edd3 7a00 vldr s15, [r3] 80aedce: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80aedd2: 4618 mov r0, r3 80aedd4: eeb0 0a67 vmov.f32 s0, s15 80aedd8: f7b9 f9e2 bl 80681a0 80aeddc: 4602 mov r2, r0 80aedde: 2302 movs r3, #2 80aede0: 21b6 movs r1, #182 ; 0xb6 80aede2: f44f 709e mov.w r0, #316 ; 0x13c 80aede6: f7a6 fad7 bl 8055398 if(ABS(LEGEND[1]) == 0.0f) { mmm = -1; } 80aedea: 4b93 ldr r3, [pc, #588] ; (80af038 ) 80aedec: edd3 7a01 vldr s15, [r3, #4] 80aedf0: eef5 7ac0 vcmpe.f32 s15, #0.0 80aedf4: eef1 fa10 vmrs APSR_nzcv, fpscr 80aedf8: dd0b ble.n 80aee12 80aedfa: 4b8f ldr r3, [pc, #572] ; (80af038 ) 80aedfc: edd3 7a01 vldr s15, [r3, #4] 80aee00: eef5 7a40 vcmp.f32 s15, #0.0 80aee04: eef1 fa10 vmrs APSR_nzcv, fpscr 80aee08: bf0c ite eq 80aee0a: 2301 moveq r3, #1 80aee0c: 2300 movne r3, #0 80aee0e: b2db uxtb r3, r3 80aee10: e00a b.n 80aee28 80aee12: 4b89 ldr r3, [pc, #548] ; (80af038 ) 80aee14: edd3 7a01 vldr s15, [r3, #4] 80aee18: eef5 7a40 vcmp.f32 s15, #0.0 80aee1c: eef1 fa10 vmrs APSR_nzcv, fpscr 80aee20: bf0c ite eq 80aee22: 2301 moveq r3, #1 80aee24: 2300 movne r3, #0 80aee26: b2db uxtb r3, r3 80aee28: 2b00 cmp r3, #0 80aee2a: d003 beq.n 80aee34 80aee2c: 23ff movs r3, #255 ; 0xff 80aee2e: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aee32: e058 b.n 80aeee6 else if(ABS(LEGEND[1]) < 1) { mmm = -4; } 80aee34: 4b80 ldr r3, [pc, #512] ; (80af038 ) 80aee36: edd3 7a01 vldr s15, [r3, #4] 80aee3a: eef5 7ac0 vcmpe.f32 s15, #0.0 80aee3e: eef1 fa10 vmrs APSR_nzcv, fpscr 80aee42: dd0d ble.n 80aee60 80aee44: 4b7c ldr r3, [pc, #496] ; (80af038 ) 80aee46: edd3 7a01 vldr s15, [r3, #4] 80aee4a: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80aee4e: eef4 7ac7 vcmpe.f32 s15, s14 80aee52: eef1 fa10 vmrs APSR_nzcv, fpscr 80aee56: bf4c ite mi 80aee58: 2301 movmi r3, #1 80aee5a: 2300 movpl r3, #0 80aee5c: b2db uxtb r3, r3 80aee5e: e00e b.n 80aee7e 80aee60: 4b75 ldr r3, [pc, #468] ; (80af038 ) 80aee62: edd3 7a01 vldr s15, [r3, #4] 80aee66: eef1 7a67 vneg.f32 s15, s15 80aee6a: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80aee6e: eef4 7ac7 vcmpe.f32 s15, s14 80aee72: eef1 fa10 vmrs APSR_nzcv, fpscr 80aee76: bf4c ite mi 80aee78: 2301 movmi r3, #1 80aee7a: 2300 movpl r3, #0 80aee7c: b2db uxtb r3, r3 80aee7e: 2b00 cmp r3, #0 80aee80: d003 beq.n 80aee8a 80aee82: 23fc movs r3, #252 ; 0xfc 80aee84: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aee88: e02d b.n 80aeee6 else if(ABS(LEGEND[1]) < 10) { mmm = -1; } 80aee8a: 4b6b ldr r3, [pc, #428] ; (80af038 ) 80aee8c: edd3 7a01 vldr s15, [r3, #4] 80aee90: eef5 7ac0 vcmpe.f32 s15, #0.0 80aee94: eef1 fa10 vmrs APSR_nzcv, fpscr 80aee98: dd0d ble.n 80aeeb6 80aee9a: 4b67 ldr r3, [pc, #412] ; (80af038 ) 80aee9c: edd3 7a01 vldr s15, [r3, #4] 80aeea0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80aeea4: eef4 7ac7 vcmpe.f32 s15, s14 80aeea8: eef1 fa10 vmrs APSR_nzcv, fpscr 80aeeac: bf4c ite mi 80aeeae: 2301 movmi r3, #1 80aeeb0: 2300 movpl r3, #0 80aeeb2: b2db uxtb r3, r3 80aeeb4: e00e b.n 80aeed4 80aeeb6: 4b60 ldr r3, [pc, #384] ; (80af038 ) 80aeeb8: edd3 7a01 vldr s15, [r3, #4] 80aeebc: eef1 7a67 vneg.f32 s15, s15 80aeec0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80aeec4: eef4 7ac7 vcmpe.f32 s15, s14 80aeec8: eef1 fa10 vmrs APSR_nzcv, fpscr 80aeecc: bf4c ite mi 80aeece: 2301 movmi r3, #1 80aeed0: 2300 movpl r3, #0 80aeed2: b2db uxtb r3, r3 80aeed4: 2b00 cmp r3, #0 80aeed6: d003 beq.n 80aeee0 80aeed8: 23ff movs r3, #255 ; 0xff 80aeeda: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aeede: e002 b.n 80aeee6 else { mmm = 0; } 80aeee0: 2300 movs r3, #0 80aeee2: f887 329f strb.w r3, [r7, #671] ; 0x29f BSP_LCD_DisplayStringAt(316, 92-8+49, (char *) FloatToASCII(LEGEND[1], mmm), RIGHT_MODE); 80aeee6: 4b54 ldr r3, [pc, #336] ; (80af038 ) 80aeee8: edd3 7a01 vldr s15, [r3, #4] 80aeeec: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80aeef0: 4618 mov r0, r3 80aeef2: eeb0 0a67 vmov.f32 s0, s15 80aeef6: f7b9 f953 bl 80681a0 80aeefa: 4602 mov r2, r0 80aeefc: 2302 movs r3, #2 80aeefe: 2185 movs r1, #133 ; 0x85 80aef00: f44f 709e mov.w r0, #316 ; 0x13c 80aef04: f7a6 fa48 bl 8055398 if(ABS(LEGEND[2]) == 0.0f) { mmm = -1; } 80aef08: 4b4b ldr r3, [pc, #300] ; (80af038 ) 80aef0a: edd3 7a02 vldr s15, [r3, #8] 80aef0e: eef5 7ac0 vcmpe.f32 s15, #0.0 80aef12: eef1 fa10 vmrs APSR_nzcv, fpscr 80aef16: dd0b ble.n 80aef30 80aef18: 4b47 ldr r3, [pc, #284] ; (80af038 ) 80aef1a: edd3 7a02 vldr s15, [r3, #8] 80aef1e: eef5 7a40 vcmp.f32 s15, #0.0 80aef22: eef1 fa10 vmrs APSR_nzcv, fpscr 80aef26: bf0c ite eq 80aef28: 2301 moveq r3, #1 80aef2a: 2300 movne r3, #0 80aef2c: b2db uxtb r3, r3 80aef2e: e00a b.n 80aef46 80aef30: 4b41 ldr r3, [pc, #260] ; (80af038 ) 80aef32: edd3 7a02 vldr s15, [r3, #8] 80aef36: eef5 7a40 vcmp.f32 s15, #0.0 80aef3a: eef1 fa10 vmrs APSR_nzcv, fpscr 80aef3e: bf0c ite eq 80aef40: 2301 moveq r3, #1 80aef42: 2300 movne r3, #0 80aef44: b2db uxtb r3, r3 80aef46: 2b00 cmp r3, #0 80aef48: d003 beq.n 80aef52 80aef4a: 23ff movs r3, #255 ; 0xff 80aef4c: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aef50: e058 b.n 80af004 else if(ABS(LEGEND[2]) < 1) { mmm = -4; } 80aef52: 4b39 ldr r3, [pc, #228] ; (80af038 ) 80aef54: edd3 7a02 vldr s15, [r3, #8] 80aef58: eef5 7ac0 vcmpe.f32 s15, #0.0 80aef5c: eef1 fa10 vmrs APSR_nzcv, fpscr 80aef60: dd0d ble.n 80aef7e 80aef62: 4b35 ldr r3, [pc, #212] ; (80af038 ) 80aef64: edd3 7a02 vldr s15, [r3, #8] 80aef68: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80aef6c: eef4 7ac7 vcmpe.f32 s15, s14 80aef70: eef1 fa10 vmrs APSR_nzcv, fpscr 80aef74: bf4c ite mi 80aef76: 2301 movmi r3, #1 80aef78: 2300 movpl r3, #0 80aef7a: b2db uxtb r3, r3 80aef7c: e00e b.n 80aef9c 80aef7e: 4b2e ldr r3, [pc, #184] ; (80af038 ) 80aef80: edd3 7a02 vldr s15, [r3, #8] 80aef84: eef1 7a67 vneg.f32 s15, s15 80aef88: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80aef8c: eef4 7ac7 vcmpe.f32 s15, s14 80aef90: eef1 fa10 vmrs APSR_nzcv, fpscr 80aef94: bf4c ite mi 80aef96: 2301 movmi r3, #1 80aef98: 2300 movpl r3, #0 80aef9a: b2db uxtb r3, r3 80aef9c: 2b00 cmp r3, #0 80aef9e: d003 beq.n 80aefa8 80aefa0: 23fc movs r3, #252 ; 0xfc 80aefa2: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aefa6: e02d b.n 80af004 else if(ABS(LEGEND[2]) < 10) { mmm = -1; } 80aefa8: 4b23 ldr r3, [pc, #140] ; (80af038 ) 80aefaa: edd3 7a02 vldr s15, [r3, #8] 80aefae: eef5 7ac0 vcmpe.f32 s15, #0.0 80aefb2: eef1 fa10 vmrs APSR_nzcv, fpscr 80aefb6: dd0d ble.n 80aefd4 80aefb8: 4b1f ldr r3, [pc, #124] ; (80af038 ) 80aefba: edd3 7a02 vldr s15, [r3, #8] 80aefbe: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80aefc2: eef4 7ac7 vcmpe.f32 s15, s14 80aefc6: eef1 fa10 vmrs APSR_nzcv, fpscr 80aefca: bf4c ite mi 80aefcc: 2301 movmi r3, #1 80aefce: 2300 movpl r3, #0 80aefd0: b2db uxtb r3, r3 80aefd2: e00e b.n 80aeff2 80aefd4: 4b18 ldr r3, [pc, #96] ; (80af038 ) 80aefd6: edd3 7a02 vldr s15, [r3, #8] 80aefda: eef1 7a67 vneg.f32 s15, s15 80aefde: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80aefe2: eef4 7ac7 vcmpe.f32 s15, s14 80aefe6: eef1 fa10 vmrs APSR_nzcv, fpscr 80aefea: bf4c ite mi 80aefec: 2301 movmi r3, #1 80aefee: 2300 movpl r3, #0 80aeff0: b2db uxtb r3, r3 80aeff2: 2b00 cmp r3, #0 80aeff4: d003 beq.n 80aeffe 80aeff6: 23ff movs r3, #255 ; 0xff 80aeff8: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aeffc: e002 b.n 80af004 else { mmm = 0; } 80aeffe: 2300 movs r3, #0 80af000: f887 329f strb.w r3, [r7, #671] ; 0x29f BSP_LCD_DisplayStringAt(316, 92-8, (char *) FloatToASCII(LEGEND[2], mmm), RIGHT_MODE); 80af004: 4b0c ldr r3, [pc, #48] ; (80af038 ) 80af006: edd3 7a02 vldr s15, [r3, #8] 80af00a: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80af00e: 4618 mov r0, r3 80af010: eeb0 0a67 vmov.f32 s0, s15 80af014: f7b9 f8c4 bl 80681a0 80af018: 4602 mov r2, r0 80af01a: 2302 movs r3, #2 80af01c: 2154 movs r1, #84 ; 0x54 80af01e: f44f 709e mov.w r0, #316 ; 0x13c 80af022: f7a6 f9b9 bl 8055398 Maximum = ABS(Maximum); 80af026: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80af02a: 2b00 cmp r3, #0 80af02c: bfb8 it lt 80af02e: 425b neglt r3, r3 80af030: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 { 80af034: f001 b8b5 b.w 80b01a2 80af038: 2006861c .word 0x2006861c if(pardata.SYG == SPEC_OKT) 80af03c: 4ba2 ldr r3, [pc, #648] ; (80af2c8 ) 80af03e: 781b ldrb r3, [r3, #0] 80af040: b2db uxtb r3, r3 80af042: 2b06 cmp r3, #6 80af044: f040 821f bne.w 80af486 if((!firstOkt) && (READY_TO_SEE)) 80af048: 4ba0 ldr r3, [pc, #640] ; (80af2cc ) 80af04a: 781b ldrb r3, [r3, #0] 80af04c: b2db uxtb r3, r3 80af04e: f083 0301 eor.w r3, r3, #1 80af052: b2db uxtb r3, r3 80af054: 2b00 cmp r3, #0 80af056: f001 80a5 beq.w 80b01a4 80af05a: 4b9d ldr r3, [pc, #628] ; (80af2d0 ) 80af05c: 781b ldrb r3, [r3, #0] 80af05e: b2db uxtb r3, r3 80af060: 2b00 cmp r3, #0 80af062: f001 809f beq.w 80b01a4 if(AUTOZOOM) 80af066: 4b9b ldr r3, [pc, #620] ; (80af2d4 ) 80af068: 781b ldrb r3, [r3, #0] 80af06a: b2db uxtb r3, r3 80af06c: 2b00 cmp r3, #0 80af06e: f000 809c beq.w 80af1aa arm_max_f32(&ScrA_f32(lX), 15, &max, &idx); 80af072: 4b99 ldr r3, [pc, #612] ; (80af2d8 ) 80af074: 881b ldrh r3, [r3, #0] 80af076: b29b uxth r3, r3 80af078: 009b lsls r3, r3, #2 80af07a: 461a mov r2, r3 80af07c: 4b97 ldr r3, [pc, #604] ; (80af2dc ) 80af07e: 4413 add r3, r2 80af080: 4618 mov r0, r3 80af082: f507 731a add.w r3, r7, #616 ; 0x268 80af086: f507 721d add.w r2, r7, #628 ; 0x274 80af08a: 210f movs r1, #15 80af08c: f01f ffc2 bl 80cf014 arm_min_f32(&ScrA_f32(lX), 15, &min, &idx); 80af090: 4b91 ldr r3, [pc, #580] ; (80af2d8 ) 80af092: 881b ldrh r3, [r3, #0] 80af094: b29b uxth r3, r3 80af096: 009b lsls r3, r3, #2 80af098: 461a mov r2, r3 80af09a: 4b90 ldr r3, [pc, #576] ; (80af2dc ) 80af09c: 4413 add r3, r2 80af09e: 4618 mov r0, r3 80af0a0: f507 731a add.w r3, r7, #616 ; 0x268 80af0a4: f507 721c add.w r2, r7, #624 ; 0x270 80af0a8: 210f movs r1, #15 80af0aa: f01f ff17 bl 80ceedc if(max != 0.0f) 80af0ae: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80af0b2: eef5 7a40 vcmp.f32 s15, #0.0 80af0b6: eef1 fa10 vmrs APSR_nzcv, fpscr 80af0ba: d072 beq.n 80af1a2 if(pardata.MSH == LOG) 80af0bc: 4b82 ldr r3, [pc, #520] ; (80af2c8 ) 80af0be: 7a9b ldrb r3, [r3, #10] 80af0c0: b2db uxtb r3, r3 80af0c2: 2b01 cmp r3, #1 80af0c4: d122 bne.n 80af10c LinToLog(&max, &max); 80af0c6: f507 721d add.w r2, r7, #628 ; 0x274 80af0ca: f507 731d add.w r3, r7, #628 ; 0x274 80af0ce: 4611 mov r1, r2 80af0d0: 4618 mov r0, r3 80af0d2: f7b7 fc39 bl 8066948 LinToLog(&min, &min); 80af0d6: f507 721c add.w r2, r7, #624 ; 0x270 80af0da: f507 731c add.w r3, r7, #624 ; 0x270 80af0de: 4611 mov r1, r2 80af0e0: 4618 mov r0, r3 80af0e2: f7b7 fc31 bl 8066948 f = (max);// - min); 80af0e6: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80af0ea: f8c7 326c str.w r3, [r7, #620] ; 0x26c if(f <= 0.0f) { 80af0ee: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80af0f2: eef5 7ac0 vcmpe.f32 s15, #0.0 80af0f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80af0fa: d802 bhi.n 80af102 f = 100.0f; 80af0fc: 4b78 ldr r3, [pc, #480] ; (80af2e0 ) 80af0fe: f8c7 326c str.w r3, [r7, #620] ; 0x26c MIN_Y = min; 80af102: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80af106: 4a77 ldr r2, [pc, #476] ; (80af2e4 ) 80af108: 6013 str r3, [r2, #0] 80af10a: e041 b.n 80af190 if(ABS(max) > ABS(min)) f = ABS(max); 80af10c: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80af110: eef5 7ac0 vcmpe.f32 s15, #0.0 80af114: eef1 fa10 vmrs APSR_nzcv, fpscr 80af118: dd02 ble.n 80af120 80af11a: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80af11e: e003 b.n 80af128 80af120: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80af124: eeb1 7a67 vneg.f32 s14, s15 80af128: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80af12c: eef5 7ac0 vcmpe.f32 s15, #0.0 80af130: eef1 fa10 vmrs APSR_nzcv, fpscr 80af134: dd02 ble.n 80af13c 80af136: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80af13a: e003 b.n 80af144 80af13c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80af140: eef1 7a67 vneg.f32 s15, s15 80af144: eeb4 7ae7 vcmpe.f32 s14, s15 80af148: eef1 fa10 vmrs APSR_nzcv, fpscr 80af14c: dd10 ble.n 80af170 80af14e: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80af152: eef5 7ac0 vcmpe.f32 s15, #0.0 80af156: eef1 fa10 vmrs APSR_nzcv, fpscr 80af15a: dd02 ble.n 80af162 80af15c: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80af160: e003 b.n 80af16a 80af162: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80af166: eef1 7a67 vneg.f32 s15, s15 80af16a: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80af16e: e00f b.n 80af190 else f = ABS(min); 80af170: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80af174: eef5 7ac0 vcmpe.f32 s15, #0.0 80af178: eef1 fa10 vmrs APSR_nzcv, fpscr 80af17c: dd02 ble.n 80af184 80af17e: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80af182: e003 b.n 80af18c 80af184: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80af188: eef1 7a67 vneg.f32 s15, s15 80af18c: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 100.0f / f; 80af190: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80af194: eddf 6a54 vldr s13, [pc, #336] ; 80af2e8 80af198: eec6 7a87 vdiv.f32 s15, s13, s14 80af19c: 4b53 ldr r3, [pc, #332] ; (80af2ec ) 80af19e: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80af1a2: 4b4c ldr r3, [pc, #304] ; (80af2d4 ) 80af1a4: 2200 movs r2, #0 80af1a6: 701a strb r2, [r3, #0] 80af1a8: e024 b.n 80af1f4 if(ZOOM_IN) 80af1aa: 4b51 ldr r3, [pc, #324] ; (80af2f0 ) 80af1ac: 781b ldrb r3, [r3, #0] 80af1ae: b2db uxtb r3, r3 80af1b0: 2b00 cmp r3, #0 80af1b2: d00d beq.n 80af1d0 ZOOM_IN = false; 80af1b4: 4b4e ldr r3, [pc, #312] ; (80af2f0 ) 80af1b6: 2200 movs r2, #0 80af1b8: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80af1ba: 4b4c ldr r3, [pc, #304] ; (80af2ec ) 80af1bc: edd3 7a00 vldr s15, [r3] 80af1c0: ed9f 7a4c vldr s14, [pc, #304] ; 80af2f4 80af1c4: ee67 7a87 vmul.f32 s15, s15, s14 80af1c8: 4b48 ldr r3, [pc, #288] ; (80af2ec ) 80af1ca: edc3 7a00 vstr s15, [r3] 80af1ce: e011 b.n 80af1f4 if(ZOOM_OUT) 80af1d0: 4b49 ldr r3, [pc, #292] ; (80af2f8 ) 80af1d2: 781b ldrb r3, [r3, #0] 80af1d4: b2db uxtb r3, r3 80af1d6: 2b00 cmp r3, #0 80af1d8: d00c beq.n 80af1f4 ZOOM_OUT = false; 80af1da: 4b47 ldr r3, [pc, #284] ; (80af2f8 ) 80af1dc: 2200 movs r2, #0 80af1de: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80af1e0: 4b42 ldr r3, [pc, #264] ; (80af2ec ) 80af1e2: edd3 7a00 vldr s15, [r3] 80af1e6: ed9f 7a45 vldr s14, [pc, #276] ; 80af2fc 80af1ea: ee67 7a87 vmul.f32 s15, s15, s14 80af1ee: 4b3f ldr r3, [pc, #252] ; (80af2ec ) 80af1f0: edc3 7a00 vstr s15, [r3] NumOverdrives = 0; 80af1f4: 4b42 ldr r3, [pc, #264] ; (80af300 ) 80af1f6: 2200 movs r2, #0 80af1f8: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80af1fa: 4942 ldr r1, [pc, #264] ; (80af304 ) 80af1fc: 4842 ldr r0, [pc, #264] ; (80af308 ) 80af1fe: f7a6 f805 bl 805520c for(i = 0; i < 14; i++) 80af202: 2300 movs r3, #0 80af204: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80af208: e12f b.n 80af46a mF[MINY] = 0.0f; 80af20a: f04f 0300 mov.w r3, #0 80af20e: f8c7 3278 str.w r3, [r7, #632] ; 0x278 mF[MAXY] = ScrA_f32(i); 80af212: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80af216: 009a lsls r2, r3, #2 80af218: 4b30 ldr r3, [pc, #192] ; (80af2dc ) 80af21a: 4413 add r3, r2 80af21c: 681b ldr r3, [r3, #0] 80af21e: f8c7 327c str.w r3, [r7, #636] ; 0x27c thr = 157; 80af222: 239d movs r3, #157 ; 0x9d 80af224: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80af228: 4b27 ldr r3, [pc, #156] ; (80af2c8 ) 80af22a: 7a9b ldrb r3, [r3, #10] 80af22c: b2db uxtb r3, r3 80af22e: 2b01 cmp r3, #1 80af230: d174 bne.n 80af31c for(j = 0; j < 2; j++) 80af232: 2300 movs r3, #0 80af234: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80af238: e013 b.n 80af262 LinToLog(&mF[j], &mF[j]); 80af23a: f507 721e add.w r2, r7, #632 ; 0x278 80af23e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80af242: 009b lsls r3, r3, #2 80af244: 18d0 adds r0, r2, r3 80af246: f507 721e add.w r2, r7, #632 ; 0x278 80af24a: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80af24e: 009b lsls r3, r3, #2 80af250: 4413 add r3, r2 80af252: 4619 mov r1, r3 80af254: f7b7 fb78 bl 8066948 for(j = 0; j < 2; j++) 80af258: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80af25c: 3301 adds r3, #1 80af25e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80af262: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80af266: 2b01 cmp r3, #1 80af268: d9e7 bls.n 80af23a mF[MAXY] = ((mF[MAXY]/* - MIN_Y*/) * ZoomVal)/* + 2.0f*/; 80af26a: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80af26e: 4b1f ldr r3, [pc, #124] ; (80af2ec ) 80af270: edd3 7a00 vldr s15, [r3] 80af274: ee67 7a27 vmul.f32 s15, s14, s15 80af278: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80af27c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80af280: ed9f 7a22 vldr s14, [pc, #136] ; 80af30c 80af284: eef4 7ac7 vcmpe.f32 s15, s14 80af288: eef1 fa10 vmrs APSR_nzcv, fpscr 80af28c: dd02 ble.n 80af294 80af28e: 4b20 ldr r3, [pc, #128] ; (80af310 ) 80af290: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80af294: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80af298: ed9f 7a1e vldr s14, [pc, #120] ; 80af314 80af29c: eef4 7ac7 vcmpe.f32 s15, s14 80af2a0: eef1 fa10 vmrs APSR_nzcv, fpscr 80af2a4: d502 bpl.n 80af2ac 80af2a6: 4b1c ldr r3, [pc, #112] ; (80af318 ) 80af2a8: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80af2ac: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80af2b0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80af2b4: ee77 7a87 vadd.f32 s15, s15, s14 80af2b8: eefd 7ae7 vcvt.s32.f32 s15, s15 80af2bc: edc7 7a01 vstr s15, [r7, #4] 80af2c0: 88bb ldrh r3, [r7, #4] 80af2c2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80af2c6: e059 b.n 80af37c 80af2c8: 20023eb8 .word 0x20023eb8 80af2cc: 20020db4 .word 0x20020db4 80af2d0: 20020dae .word 0x20020dae 80af2d4: 20020994 .word 0x20020994 80af2d8: 20025d72 .word 0x20025d72 80af2dc: 64080000 .word 0x64080000 80af2e0: 42c80000 .word 0x42c80000 80af2e4: 20021684 .word 0x20021684 80af2e8: 42c80000 .word 0x42c80000 80af2ec: 20020998 .word 0x20020998 80af2f0: 20020fb5 .word 0x20020fb5 80af2f4: 40000005 .word 0x40000005 80af2f8: 20020fb4 .word 0x20020fb4 80af2fc: 3f000012 .word 0x3f000012 80af300: 2002169e .word 0x2002169e 80af304: ff0a0f1f .word 0xff0a0f1f 80af308: ff26a01f .word 0xff26a01f 80af30c: 46fffe00 .word 0x46fffe00 80af310: 46fffe00 .word 0x46fffe00 80af314: c6fffe00 .word 0xc6fffe00 80af318: c6fffe00 .word 0xc6fffe00 mF[MAXY] *= ZoomVal; 80af31c: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80af320: 4bcd ldr r3, [pc, #820] ; (80af658 ) 80af322: edd3 7a00 vldr s15, [r3] 80af326: ee67 7a27 vmul.f32 s15, s14, s15 80af32a: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80af32e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80af332: ed9f 7aca vldr s14, [pc, #808] ; 80af65c 80af336: eef4 7ac7 vcmpe.f32 s15, s14 80af33a: eef1 fa10 vmrs APSR_nzcv, fpscr 80af33e: dd02 ble.n 80af346 80af340: 4bc7 ldr r3, [pc, #796] ; (80af660 ) 80af342: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80af346: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80af34a: ed9f 7ac6 vldr s14, [pc, #792] ; 80af664 80af34e: eef4 7ac7 vcmpe.f32 s15, s14 80af352: eef1 fa10 vmrs APSR_nzcv, fpscr 80af356: d502 bpl.n 80af35e 80af358: 4bc3 ldr r3, [pc, #780] ; (80af668 ) 80af35a: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80af35e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80af362: eefd 7ae7 vcvt.s32.f32 s15, s15 80af366: edc7 7a01 vstr s15, [r7, #4] 80af36a: 88bb ldrh r3, [r7, #4] 80af36c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMax += 1; 80af370: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80af374: 3301 adds r3, #1 80af376: b29b uxth r3, r3 80af378: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > thr) 80af37c: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80af380: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80af384: 429a cmp r2, r3 80af386: dd09 ble.n 80af39c pMax = thr; 80af388: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80af38c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80af390: 4bb6 ldr r3, [pc, #728] ; (80af66c ) 80af392: 781b ldrb r3, [r3, #0] 80af394: 3301 adds r3, #1 80af396: b2da uxtb r2, r3 80af398: 4bb4 ldr r3, [pc, #720] ; (80af66c ) 80af39a: 701a strb r2, [r3, #0] if(pMax <= 0) 80af39c: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80af3a0: 2b00 cmp r3, #0 80af3a2: dc08 bgt.n 80af3b6 pMax = 0; 80af3a4: 2300 movs r3, #0 80af3a6: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMax += 1; 80af3aa: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80af3ae: 3301 adds r3, #1 80af3b0: b29b uxth r3, r3 80af3b2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + 16*i; 80af3b6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80af3ba: 011b lsls r3, r3, #4 80af3bc: 333e adds r3, #62 ; 0x3e 80af3be: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80af3c2: 4bab ldr r3, [pc, #684] ; (80af670 ) 80af3c4: 681b ldr r3, [r3, #0] 80af3c6: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80af3ca: 429a cmp r2, r3 80af3cc: d131 bne.n 80af432 if(menupos != Cursor) 80af3ce: 4ba9 ldr r3, [pc, #676] ; (80af674 ) 80af3d0: 781b ldrb r3, [r3, #0] 80af3d2: b2db uxtb r3, r3 80af3d4: 2b06 cmp r3, #6 80af3d6: d004 beq.n 80af3e2 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80af3d8: 49a7 ldr r1, [pc, #668] ; (80af678 ) 80af3da: 48a8 ldr r0, [pc, #672] ; (80af67c ) 80af3dc: f7a5 ff16 bl 805520c 80af3e0: e003 b.n 80af3ea else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80af3e2: 49a5 ldr r1, [pc, #660] ; (80af678 ) 80af3e4: 48a6 ldr r0, [pc, #664] ; (80af680 ) 80af3e6: f7a5 ff11 bl 805520c BSP_LCD_DrawLine(x + 8, 44, x + 8, 218); 80af3ea: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80af3ee: b29b uxth r3, r3 80af3f0: 3308 adds r3, #8 80af3f2: b298 uxth r0, r3 80af3f4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80af3f8: b29b uxth r3, r3 80af3fa: 3308 adds r3, #8 80af3fc: b29a uxth r2, r3 80af3fe: 23da movs r3, #218 ; 0xda 80af400: 212c movs r1, #44 ; 0x2c 80af402: f7a6 f93d bl 8055680 LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80af406: 499c ldr r1, [pc, #624] ; (80af678 ) 80af408: 489e ldr r0, [pc, #632] ; (80af684 ) 80af40a: f7a5 feff bl 805520c BSP_LCD_FillRect(x, 219 - pMax, 15, pMax); 80af40e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80af412: b298 uxth r0, r3 80af414: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80af418: f1c3 03db rsb r3, r3, #219 ; 0xdb 80af41c: b299 uxth r1, r3 80af41e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80af422: 220f movs r2, #15 80af424: f7a6 fb80 bl 8055b28 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80af428: 4993 ldr r1, [pc, #588] ; (80af678 ) 80af42a: 4897 ldr r0, [pc, #604] ; (80af688 ) 80af42c: f7a5 feee bl 805520c 80af430: e00c b.n 80af44c BSP_LCD_FillRect(x, 219 - pMax, 15, pMax); 80af432: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80af436: b298 uxth r0, r3 80af438: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80af43c: f1c3 03db rsb r3, r3, #219 ; 0xdb 80af440: b299 uxth r1, r3 80af442: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80af446: 220f movs r2, #15 80af448: f7a6 fb6e bl 8055b28 if(pMax > Maximum) 80af44c: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80af450: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80af454: 429a cmp r2, r3 80af456: dd03 ble.n 80af460 Maximum = pMax; 80af458: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80af45c: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 14; i++) 80af460: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80af464: 3301 adds r3, #1 80af466: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80af46a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80af46e: 2b0d cmp r3, #13 80af470: f67f aecb bls.w 80af20a Maximum = ABS(Maximum); 80af474: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80af478: 2b00 cmp r3, #0 80af47a: bfb8 it lt 80af47c: 425b neglt r3, r3 80af47e: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } 80af482: f000 be8f b.w 80b01a4 if(pardata.SYG == SPEC_THIRD) 80af486: 4b81 ldr r3, [pc, #516] ; (80af68c ) 80af488: 781b ldrb r3, [r3, #0] 80af48a: b2db uxtb r3, r3 80af48c: 2b07 cmp r3, #7 80af48e: f040 8212 bne.w 80af8b6 if(READY_TO_SEE) 80af492: 4b7f ldr r3, [pc, #508] ; (80af690 ) 80af494: 781b ldrb r3, [r3, #0] 80af496: b2db uxtb r3, r3 80af498: 2b00 cmp r3, #0 80af49a: f000 8683 beq.w 80b01a4 if(AUTOZOOM) 80af49e: 4b7d ldr r3, [pc, #500] ; (80af694 ) 80af4a0: 781b ldrb r3, [r3, #0] 80af4a2: b2db uxtb r3, r3 80af4a4: 2b00 cmp r3, #0 80af4a6: f000 808e beq.w 80af5c6 arm_max_f32(&ScrA_f32(0), 39, &max, &idx); 80af4aa: f507 731a add.w r3, r7, #616 ; 0x268 80af4ae: f507 721d add.w r2, r7, #628 ; 0x274 80af4b2: 2127 movs r1, #39 ; 0x27 80af4b4: 4878 ldr r0, [pc, #480] ; (80af698 ) 80af4b6: f01f fdad bl 80cf014 arm_min_f32(&ScrA_f32(0), 39, &min, &idx); 80af4ba: f507 731a add.w r3, r7, #616 ; 0x268 80af4be: f507 721c add.w r2, r7, #624 ; 0x270 80af4c2: 2127 movs r1, #39 ; 0x27 80af4c4: 4874 ldr r0, [pc, #464] ; (80af698 ) 80af4c6: f01f fd09 bl 80ceedc if(max != 0.0f) 80af4ca: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80af4ce: eef5 7a40 vcmp.f32 s15, #0.0 80af4d2: eef1 fa10 vmrs APSR_nzcv, fpscr 80af4d6: d072 beq.n 80af5be if(pardata.MSH == LOG) 80af4d8: 4b6c ldr r3, [pc, #432] ; (80af68c ) 80af4da: 7a9b ldrb r3, [r3, #10] 80af4dc: b2db uxtb r3, r3 80af4de: 2b01 cmp r3, #1 80af4e0: d122 bne.n 80af528 LinToLog(&max, &max); 80af4e2: f507 721d add.w r2, r7, #628 ; 0x274 80af4e6: f507 731d add.w r3, r7, #628 ; 0x274 80af4ea: 4611 mov r1, r2 80af4ec: 4618 mov r0, r3 80af4ee: f7b7 fa2b bl 8066948 LinToLog(&min, &min); 80af4f2: f507 721c add.w r2, r7, #624 ; 0x270 80af4f6: f507 731c add.w r3, r7, #624 ; 0x270 80af4fa: 4611 mov r1, r2 80af4fc: 4618 mov r0, r3 80af4fe: f7b7 fa23 bl 8066948 f = (max);// - min); 80af502: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80af506: f8c7 326c str.w r3, [r7, #620] ; 0x26c if(f <= 0.0f) { 80af50a: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80af50e: eef5 7ac0 vcmpe.f32 s15, #0.0 80af512: eef1 fa10 vmrs APSR_nzcv, fpscr 80af516: d802 bhi.n 80af51e f = 100.0f; 80af518: 4b60 ldr r3, [pc, #384] ; (80af69c ) 80af51a: f8c7 326c str.w r3, [r7, #620] ; 0x26c MIN_Y = min; 80af51e: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80af522: 4a5f ldr r2, [pc, #380] ; (80af6a0 ) 80af524: 6013 str r3, [r2, #0] 80af526: e041 b.n 80af5ac if(ABS(max) > ABS(min)) f = ABS(max); 80af528: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80af52c: eef5 7ac0 vcmpe.f32 s15, #0.0 80af530: eef1 fa10 vmrs APSR_nzcv, fpscr 80af534: dd02 ble.n 80af53c 80af536: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80af53a: e003 b.n 80af544 80af53c: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80af540: eeb1 7a67 vneg.f32 s14, s15 80af544: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80af548: eef5 7ac0 vcmpe.f32 s15, #0.0 80af54c: eef1 fa10 vmrs APSR_nzcv, fpscr 80af550: dd02 ble.n 80af558 80af552: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80af556: e003 b.n 80af560 80af558: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80af55c: eef1 7a67 vneg.f32 s15, s15 80af560: eeb4 7ae7 vcmpe.f32 s14, s15 80af564: eef1 fa10 vmrs APSR_nzcv, fpscr 80af568: dd10 ble.n 80af58c 80af56a: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80af56e: eef5 7ac0 vcmpe.f32 s15, #0.0 80af572: eef1 fa10 vmrs APSR_nzcv, fpscr 80af576: dd02 ble.n 80af57e 80af578: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80af57c: e003 b.n 80af586 80af57e: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80af582: eef1 7a67 vneg.f32 s15, s15 80af586: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80af58a: e00f b.n 80af5ac else f = ABS(min); 80af58c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80af590: eef5 7ac0 vcmpe.f32 s15, #0.0 80af594: eef1 fa10 vmrs APSR_nzcv, fpscr 80af598: dd02 ble.n 80af5a0 80af59a: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80af59e: e003 b.n 80af5a8 80af5a0: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80af5a4: eef1 7a67 vneg.f32 s15, s15 80af5a8: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 100.0f / f; 80af5ac: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80af5b0: eddf 6a3c vldr s13, [pc, #240] ; 80af6a4 80af5b4: eec6 7a87 vdiv.f32 s15, s13, s14 80af5b8: 4b27 ldr r3, [pc, #156] ; (80af658 ) 80af5ba: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80af5be: 4b35 ldr r3, [pc, #212] ; (80af694 ) 80af5c0: 2200 movs r2, #0 80af5c2: 701a strb r2, [r3, #0] 80af5c4: e024 b.n 80af610 if(ZOOM_IN) 80af5c6: 4b38 ldr r3, [pc, #224] ; (80af6a8 ) 80af5c8: 781b ldrb r3, [r3, #0] 80af5ca: b2db uxtb r3, r3 80af5cc: 2b00 cmp r3, #0 80af5ce: d00d beq.n 80af5ec ZOOM_IN = false; 80af5d0: 4b35 ldr r3, [pc, #212] ; (80af6a8 ) 80af5d2: 2200 movs r2, #0 80af5d4: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80af5d6: 4b20 ldr r3, [pc, #128] ; (80af658 ) 80af5d8: edd3 7a00 vldr s15, [r3] 80af5dc: ed9f 7a33 vldr s14, [pc, #204] ; 80af6ac 80af5e0: ee67 7a87 vmul.f32 s15, s15, s14 80af5e4: 4b1c ldr r3, [pc, #112] ; (80af658 ) 80af5e6: edc3 7a00 vstr s15, [r3] 80af5ea: e011 b.n 80af610 if(ZOOM_OUT) 80af5ec: 4b30 ldr r3, [pc, #192] ; (80af6b0 ) 80af5ee: 781b ldrb r3, [r3, #0] 80af5f0: b2db uxtb r3, r3 80af5f2: 2b00 cmp r3, #0 80af5f4: d00c beq.n 80af610 ZOOM_OUT = false; 80af5f6: 4b2e ldr r3, [pc, #184] ; (80af6b0 ) 80af5f8: 2200 movs r2, #0 80af5fa: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80af5fc: 4b16 ldr r3, [pc, #88] ; (80af658 ) 80af5fe: edd3 7a00 vldr s15, [r3] 80af602: ed9f 7a2c vldr s14, [pc, #176] ; 80af6b4 80af606: ee67 7a87 vmul.f32 s15, s15, s14 80af60a: 4b13 ldr r3, [pc, #76] ; (80af658 ) 80af60c: edc3 7a00 vstr s15, [r3] NumOverdrives = 0; 80af610: 4b16 ldr r3, [pc, #88] ; (80af66c ) 80af612: 2200 movs r2, #0 80af614: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80af616: 4918 ldr r1, [pc, #96] ; (80af678 ) 80af618: 481b ldr r0, [pc, #108] ; (80af688 ) 80af61a: f7a5 fdf7 bl 805520c for(i = 0; i < 39; i++) 80af61e: 2300 movs r3, #0 80af620: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80af624: e139 b.n 80af89a mF[MINY] = 0.0f; 80af626: f04f 0300 mov.w r3, #0 80af62a: f8c7 3278 str.w r3, [r7, #632] ; 0x278 mF[MAXY] = ScrA_f32(i); 80af62e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80af632: 009a lsls r2, r3, #2 80af634: 4b18 ldr r3, [pc, #96] ; (80af698 ) 80af636: 4413 add r3, r2 80af638: 681b ldr r3, [r3, #0] 80af63a: f8c7 327c str.w r3, [r7, #636] ; 0x27c thr = 157; 80af63e: 239d movs r3, #157 ; 0x9d 80af640: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80af644: 4b11 ldr r3, [pc, #68] ; (80af68c ) 80af646: 7a9b ldrb r3, [r3, #10] 80af648: b2db uxtb r3, r3 80af64a: 2b01 cmp r3, #1 80af64c: d17b bne.n 80af746 for(j = 0; j < 2; j++) 80af64e: 2300 movs r3, #0 80af650: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80af654: e044 b.n 80af6e0 80af656: bf00 nop 80af658: 20020998 .word 0x20020998 80af65c: 46fffe00 .word 0x46fffe00 80af660: 46fffe00 .word 0x46fffe00 80af664: c6fffe00 .word 0xc6fffe00 80af668: c6fffe00 .word 0xc6fffe00 80af66c: 2002169e .word 0x2002169e 80af670: 2002006c .word 0x2002006c 80af674: 20020070 .word 0x20020070 80af678: ff0a0f1f .word 0xff0a0f1f 80af67c: ff808080 .word 0xff808080 80af680: ffff0000 .word 0xffff0000 80af684: ffffa500 .word 0xffffa500 80af688: ff26a01f .word 0xff26a01f 80af68c: 20023eb8 .word 0x20023eb8 80af690: 20020dae .word 0x20020dae 80af694: 20020994 .word 0x20020994 80af698: 64080000 .word 0x64080000 80af69c: 42c80000 .word 0x42c80000 80af6a0: 20021684 .word 0x20021684 80af6a4: 42c80000 .word 0x42c80000 80af6a8: 20020fb5 .word 0x20020fb5 80af6ac: 40000005 .word 0x40000005 80af6b0: 20020fb4 .word 0x20020fb4 80af6b4: 3f000012 .word 0x3f000012 LinToLog(&mF[j], &mF[j]); 80af6b8: f507 721e add.w r2, r7, #632 ; 0x278 80af6bc: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80af6c0: 009b lsls r3, r3, #2 80af6c2: 18d0 adds r0, r2, r3 80af6c4: f507 721e add.w r2, r7, #632 ; 0x278 80af6c8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80af6cc: 009b lsls r3, r3, #2 80af6ce: 4413 add r3, r2 80af6d0: 4619 mov r1, r3 80af6d2: f7b7 f939 bl 8066948 for(j = 0; j < 2; j++) 80af6d6: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80af6da: 3301 adds r3, #1 80af6dc: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80af6e0: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80af6e4: 2b01 cmp r3, #1 80af6e6: d9e7 bls.n 80af6b8 mF[MAXY] = ((mF[MAXY]/* - MIN_Y*/) * ZoomVal)/* + 2.0f*/; 80af6e8: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80af6ec: 4bc5 ldr r3, [pc, #788] ; (80afa04 ) 80af6ee: edd3 7a00 vldr s15, [r3] 80af6f2: ee67 7a27 vmul.f32 s15, s14, s15 80af6f6: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80af6fa: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80af6fe: ed9f 7ac2 vldr s14, [pc, #776] ; 80afa08 80af702: eef4 7ac7 vcmpe.f32 s15, s14 80af706: eef1 fa10 vmrs APSR_nzcv, fpscr 80af70a: dd02 ble.n 80af712 80af70c: 4bbf ldr r3, [pc, #764] ; (80afa0c ) 80af70e: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80af712: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80af716: ed9f 7abe vldr s14, [pc, #760] ; 80afa10 80af71a: eef4 7ac7 vcmpe.f32 s15, s14 80af71e: eef1 fa10 vmrs APSR_nzcv, fpscr 80af722: d502 bpl.n 80af72a 80af724: 4bbb ldr r3, [pc, #748] ; (80afa14 ) 80af726: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80af72a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80af72e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80af732: ee77 7a87 vadd.f32 s15, s15, s14 80af736: eefd 7ae7 vcvt.s32.f32 s15, s15 80af73a: edc7 7a01 vstr s15, [r7, #4] 80af73e: 88bb ldrh r3, [r7, #4] 80af740: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80af744: e02f b.n 80af7a6 mF[MAXY] *= ZoomVal; 80af746: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80af74a: 4bae ldr r3, [pc, #696] ; (80afa04 ) 80af74c: edd3 7a00 vldr s15, [r3] 80af750: ee67 7a27 vmul.f32 s15, s14, s15 80af754: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80af758: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80af75c: ed9f 7aaa vldr s14, [pc, #680] ; 80afa08 80af760: eef4 7ac7 vcmpe.f32 s15, s14 80af764: eef1 fa10 vmrs APSR_nzcv, fpscr 80af768: dd02 ble.n 80af770 80af76a: 4ba8 ldr r3, [pc, #672] ; (80afa0c ) 80af76c: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80af770: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80af774: ed9f 7aa6 vldr s14, [pc, #664] ; 80afa10 80af778: eef4 7ac7 vcmpe.f32 s15, s14 80af77c: eef1 fa10 vmrs APSR_nzcv, fpscr 80af780: d502 bpl.n 80af788 80af782: 4ba4 ldr r3, [pc, #656] ; (80afa14 ) 80af784: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80af788: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80af78c: eefd 7ae7 vcvt.s32.f32 s15, s15 80af790: edc7 7a01 vstr s15, [r7, #4] 80af794: 88bb ldrh r3, [r7, #4] 80af796: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMax += 1; 80af79a: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80af79e: 3301 adds r3, #1 80af7a0: b29b uxth r3, r3 80af7a2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > thr) 80af7a6: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80af7aa: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80af7ae: 429a cmp r2, r3 80af7b0: dd09 ble.n 80af7c6 pMax = thr; 80af7b2: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80af7b6: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80af7ba: 4b97 ldr r3, [pc, #604] ; (80afa18 ) 80af7bc: 781b ldrb r3, [r3, #0] 80af7be: 3301 adds r3, #1 80af7c0: b2da uxtb r2, r3 80af7c2: 4b95 ldr r3, [pc, #596] ; (80afa18 ) 80af7c4: 701a strb r2, [r3, #0] if(pMax <= 0) 80af7c6: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80af7ca: 2b00 cmp r3, #0 80af7cc: dc08 bgt.n 80af7e0 pMax = 0; 80af7ce: 2300 movs r3, #0 80af7d0: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMax += 1; 80af7d4: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80af7d8: 3301 adds r3, #1 80af7da: b29b uxth r3, r3 80af7dc: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + 6*i; 80af7e0: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80af7e4: 4613 mov r3, r2 80af7e6: 005b lsls r3, r3, #1 80af7e8: 4413 add r3, r2 80af7ea: 005b lsls r3, r3, #1 80af7ec: 333e adds r3, #62 ; 0x3e 80af7ee: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80af7f2: 4b8a ldr r3, [pc, #552] ; (80afa1c ) 80af7f4: 681b ldr r3, [r3, #0] 80af7f6: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80af7fa: 429a cmp r2, r3 80af7fc: d131 bne.n 80af862 if(menupos != Cursor) 80af7fe: 4b88 ldr r3, [pc, #544] ; (80afa20 ) 80af800: 781b ldrb r3, [r3, #0] 80af802: b2db uxtb r3, r3 80af804: 2b06 cmp r3, #6 80af806: d004 beq.n 80af812 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80af808: 4986 ldr r1, [pc, #536] ; (80afa24 ) 80af80a: 4887 ldr r0, [pc, #540] ; (80afa28 ) 80af80c: f7a5 fcfe bl 805520c 80af810: e003 b.n 80af81a else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80af812: 4984 ldr r1, [pc, #528] ; (80afa24 ) 80af814: 4885 ldr r0, [pc, #532] ; (80afa2c ) 80af816: f7a5 fcf9 bl 805520c BSP_LCD_DrawLine(x + 2, 44, x + 2, 218); 80af81a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80af81e: b29b uxth r3, r3 80af820: 3302 adds r3, #2 80af822: b298 uxth r0, r3 80af824: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80af828: b29b uxth r3, r3 80af82a: 3302 adds r3, #2 80af82c: b29a uxth r2, r3 80af82e: 23da movs r3, #218 ; 0xda 80af830: 212c movs r1, #44 ; 0x2c 80af832: f7a5 ff25 bl 8055680 LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80af836: 497b ldr r1, [pc, #492] ; (80afa24 ) 80af838: 487d ldr r0, [pc, #500] ; (80afa30 ) 80af83a: f7a5 fce7 bl 805520c BSP_LCD_FillRect(x, 219 - pMax, 5, pMax); 80af83e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80af842: b298 uxth r0, r3 80af844: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80af848: f1c3 03db rsb r3, r3, #219 ; 0xdb 80af84c: b299 uxth r1, r3 80af84e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80af852: 2205 movs r2, #5 80af854: f7a6 f968 bl 8055b28 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80af858: 4972 ldr r1, [pc, #456] ; (80afa24 ) 80af85a: 4876 ldr r0, [pc, #472] ; (80afa34 ) 80af85c: f7a5 fcd6 bl 805520c 80af860: e00c b.n 80af87c BSP_LCD_FillRect(x, 219 - pMax, 5, pMax); 80af862: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80af866: b298 uxth r0, r3 80af868: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80af86c: f1c3 03db rsb r3, r3, #219 ; 0xdb 80af870: b299 uxth r1, r3 80af872: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80af876: 2205 movs r2, #5 80af878: f7a6 f956 bl 8055b28 if(pMax > Maximum) 80af87c: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80af880: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80af884: 429a cmp r2, r3 80af886: dd03 ble.n 80af890 Maximum = pMax; 80af888: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80af88c: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 39; i++) 80af890: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80af894: 3301 adds r3, #1 80af896: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80af89a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80af89e: 2b26 cmp r3, #38 ; 0x26 80af8a0: f67f aec1 bls.w 80af626 Maximum = ABS(Maximum); 80af8a4: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80af8a8: 2b00 cmp r3, #0 80af8aa: bfb8 it lt 80af8ac: 425b neglt r3, r3 80af8ae: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } 80af8b2: f000 bc77 b.w 80b01a4 if(pardata.SYG == OSC) 80af8b6: 4b60 ldr r3, [pc, #384] ; (80afa38 ) 80af8b8: 781b ldrb r3, [r3, #0] 80af8ba: b2db uxtb r3, r3 80af8bc: 2b02 cmp r3, #2 80af8be: f040 8471 bne.w 80b01a4 if(!timeRelax) 80af8c2: 4b5e ldr r3, [pc, #376] ; (80afa3c ) 80af8c4: 681b ldr r3, [r3, #0] 80af8c6: 2b00 cmp r3, #0 80af8c8: f040 846c bne.w 80b01a4 if(AUTOZOOM) 80af8cc: 4b5c ldr r3, [pc, #368] ; (80afa40 ) 80af8ce: 781b ldrb r3, [r3, #0] 80af8d0: b2db uxtb r3, r3 80af8d2: 2b00 cmp r3, #0 80af8d4: f000 80ed beq.w 80afab2 arm_max_f32(&ScrA_f32(lX), rX-lX-1, &max, &idx); 80af8d8: 4b5a ldr r3, [pc, #360] ; (80afa44 ) 80af8da: 881b ldrh r3, [r3, #0] 80af8dc: b29b uxth r3, r3 80af8de: 009b lsls r3, r3, #2 80af8e0: 461a mov r2, r3 80af8e2: 4b59 ldr r3, [pc, #356] ; (80afa48 ) 80af8e4: 4413 add r3, r2 80af8e6: 4618 mov r0, r3 80af8e8: 4b58 ldr r3, [pc, #352] ; (80afa4c ) 80af8ea: 881b ldrh r3, [r3, #0] 80af8ec: b29b uxth r3, r3 80af8ee: 461a mov r2, r3 80af8f0: 4b54 ldr r3, [pc, #336] ; (80afa44 ) 80af8f2: 881b ldrh r3, [r3, #0] 80af8f4: b29b uxth r3, r3 80af8f6: 1ad3 subs r3, r2, r3 80af8f8: 3b01 subs r3, #1 80af8fa: 4619 mov r1, r3 80af8fc: f507 731a add.w r3, r7, #616 ; 0x268 80af900: f507 721d add.w r2, r7, #628 ; 0x274 80af904: f01f fb86 bl 80cf014 arm_min_f32(&ScrA_f32(lX), rX-lX-1, &min, &idx); 80af908: 4b4e ldr r3, [pc, #312] ; (80afa44 ) 80af90a: 881b ldrh r3, [r3, #0] 80af90c: b29b uxth r3, r3 80af90e: 009b lsls r3, r3, #2 80af910: 461a mov r2, r3 80af912: 4b4d ldr r3, [pc, #308] ; (80afa48 ) 80af914: 4413 add r3, r2 80af916: 4618 mov r0, r3 80af918: 4b4c ldr r3, [pc, #304] ; (80afa4c ) 80af91a: 881b ldrh r3, [r3, #0] 80af91c: b29b uxth r3, r3 80af91e: 461a mov r2, r3 80af920: 4b48 ldr r3, [pc, #288] ; (80afa44 ) 80af922: 881b ldrh r3, [r3, #0] 80af924: b29b uxth r3, r3 80af926: 1ad3 subs r3, r2, r3 80af928: 3b01 subs r3, #1 80af92a: 4619 mov r1, r3 80af92c: f507 731a add.w r3, r7, #616 ; 0x268 80af930: f507 721c add.w r2, r7, #624 ; 0x270 80af934: f01f fad2 bl 80ceedc if(ABS(max) > ABS(min)) 80af938: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80af93c: eef5 7ac0 vcmpe.f32 s15, #0.0 80af940: eef1 fa10 vmrs APSR_nzcv, fpscr 80af944: dd02 ble.n 80af94c 80af946: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80af94a: e003 b.n 80af954 80af94c: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80af950: eeb1 7a67 vneg.f32 s14, s15 80af954: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80af958: eef5 7ac0 vcmpe.f32 s15, #0.0 80af95c: eef1 fa10 vmrs APSR_nzcv, fpscr 80af960: dd02 ble.n 80af968 80af962: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80af966: e003 b.n 80af970 80af968: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80af96c: eef1 7a67 vneg.f32 s15, s15 80af970: eeb4 7ae7 vcmpe.f32 s14, s15 80af974: eef1 fa10 vmrs APSR_nzcv, fpscr 80af978: dd10 ble.n 80af99c f = ABS(max); 80af97a: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80af97e: eef5 7ac0 vcmpe.f32 s15, #0.0 80af982: eef1 fa10 vmrs APSR_nzcv, fpscr 80af986: dd02 ble.n 80af98e 80af988: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80af98c: e003 b.n 80af996 80af98e: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80af992: eef1 7a67 vneg.f32 s15, s15 80af996: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80af99a: e00f b.n 80af9bc else f = ABS(min); 80af99c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80af9a0: eef5 7ac0 vcmpe.f32 s15, #0.0 80af9a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80af9a8: dd02 ble.n 80af9b0 80af9aa: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80af9ae: e003 b.n 80af9b8 80af9b0: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80af9b4: eef1 7a67 vneg.f32 s15, s15 80af9b8: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 50.0f / f; 80af9bc: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80af9c0: eddf 6a23 vldr s13, [pc, #140] ; 80afa50 80af9c4: eec6 7a87 vdiv.f32 s15, s13, s14 80af9c8: 4b0e ldr r3, [pc, #56] ; (80afa04 ) 80af9ca: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80af9ce: 4b1c ldr r3, [pc, #112] ; (80afa40 ) 80af9d0: 2200 movs r2, #0 80af9d2: 701a strb r2, [r3, #0] LEGEND[0] = min; 80af9d4: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80af9d8: 4a1e ldr r2, [pc, #120] ; (80afa54 ) 80af9da: 6013 str r3, [r2, #0] LEGEND[1] = 0.0f; 80af9dc: 4b1d ldr r3, [pc, #116] ; (80afa54 ) 80af9de: f04f 0200 mov.w r2, #0 80af9e2: 605a str r2, [r3, #4] LEGEND[2] = max; 80af9e4: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80af9e8: 4a1a ldr r2, [pc, #104] ; (80afa54 ) 80af9ea: 6093 str r3, [r2, #8] if(ABS(LEGEND[2]) > ABS(LEGEND[0])) 80af9ec: 4b19 ldr r3, [pc, #100] ; (80afa54 ) 80af9ee: edd3 7a02 vldr s15, [r3, #8] 80af9f2: eef5 7ac0 vcmpe.f32 s15, #0.0 80af9f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80af9fa: dd2d ble.n 80afa58 80af9fc: 4b15 ldr r3, [pc, #84] ; (80afa54 ) 80af9fe: ed93 7a02 vldr s14, [r3, #8] 80afa02: e02e b.n 80afa62 80afa04: 20020998 .word 0x20020998 80afa08: 46fffe00 .word 0x46fffe00 80afa0c: 46fffe00 .word 0x46fffe00 80afa10: c6fffe00 .word 0xc6fffe00 80afa14: c6fffe00 .word 0xc6fffe00 80afa18: 2002169e .word 0x2002169e 80afa1c: 2002006c .word 0x2002006c 80afa20: 20020070 .word 0x20020070 80afa24: ff0a0f1f .word 0xff0a0f1f 80afa28: ff808080 .word 0xff808080 80afa2c: ffff0000 .word 0xffff0000 80afa30: ffffa500 .word 0xffffa500 80afa34: ff26a01f .word 0xff26a01f 80afa38: 20023eb8 .word 0x20023eb8 80afa3c: 20020d8c .word 0x20020d8c 80afa40: 20020994 .word 0x20020994 80afa44: 20025d72 .word 0x20025d72 80afa48: 64080000 .word 0x64080000 80afa4c: 20025d78 .word 0x20025d78 80afa50: 42480000 .word 0x42480000 80afa54: 2006861c .word 0x2006861c 80afa58: 4bba ldr r3, [pc, #744] ; (80afd44 ) 80afa5a: edd3 7a02 vldr s15, [r3, #8] 80afa5e: eeb1 7a67 vneg.f32 s14, s15 80afa62: 4bb8 ldr r3, [pc, #736] ; (80afd44 ) 80afa64: edd3 7a00 vldr s15, [r3] 80afa68: eef5 7ac0 vcmpe.f32 s15, #0.0 80afa6c: eef1 fa10 vmrs APSR_nzcv, fpscr 80afa70: dd03 ble.n 80afa7a 80afa72: 4bb4 ldr r3, [pc, #720] ; (80afd44 ) 80afa74: edd3 7a00 vldr s15, [r3] 80afa78: e004 b.n 80afa84 80afa7a: 4bb2 ldr r3, [pc, #712] ; (80afd44 ) 80afa7c: edd3 7a00 vldr s15, [r3] 80afa80: eef1 7a67 vneg.f32 s15, s15 80afa84: eeb4 7ae7 vcmpe.f32 s14, s15 80afa88: eef1 fa10 vmrs APSR_nzcv, fpscr 80afa8c: dd08 ble.n 80afaa0 LEGEND[0] = -LEGEND[2]; 80afa8e: 4bad ldr r3, [pc, #692] ; (80afd44 ) 80afa90: edd3 7a02 vldr s15, [r3, #8] 80afa94: eef1 7a67 vneg.f32 s15, s15 80afa98: 4baa ldr r3, [pc, #680] ; (80afd44 ) 80afa9a: edc3 7a00 vstr s15, [r3] 80afa9e: e055 b.n 80afb4c else LEGEND[2] = -LEGEND[0]; 80afaa0: 4ba8 ldr r3, [pc, #672] ; (80afd44 ) 80afaa2: edd3 7a00 vldr s15, [r3] 80afaa6: eef1 7a67 vneg.f32 s15, s15 80afaaa: 4ba6 ldr r3, [pc, #664] ; (80afd44 ) 80afaac: edc3 7a02 vstr s15, [r3, #8] 80afab0: e04c b.n 80afb4c if(ZOOM_IN) 80afab2: 4ba5 ldr r3, [pc, #660] ; (80afd48 ) 80afab4: 781b ldrb r3, [r3, #0] 80afab6: b2db uxtb r3, r3 80afab8: 2b00 cmp r3, #0 80afaba: d021 beq.n 80afb00 ZOOM_IN = false; 80afabc: 4ba2 ldr r3, [pc, #648] ; (80afd48 ) 80afabe: 2200 movs r2, #0 80afac0: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80afac2: 4ba2 ldr r3, [pc, #648] ; (80afd4c ) 80afac4: edd3 7a00 vldr s15, [r3] 80afac8: ed9f 7aa1 vldr s14, [pc, #644] ; 80afd50 80afacc: ee67 7a87 vmul.f32 s15, s15, s14 80afad0: 4b9e ldr r3, [pc, #632] ; (80afd4c ) 80afad2: edc3 7a00 vstr s15, [r3] LEGEND[0] *= 0.5000011f; 80afad6: 4b9b ldr r3, [pc, #620] ; (80afd44 ) 80afad8: edd3 7a00 vldr s15, [r3] 80afadc: ed9f 7a9d vldr s14, [pc, #628] ; 80afd54 80afae0: ee67 7a87 vmul.f32 s15, s15, s14 80afae4: 4b97 ldr r3, [pc, #604] ; (80afd44 ) 80afae6: edc3 7a00 vstr s15, [r3] LEGEND[2] *= 0.5000011f; 80afaea: 4b96 ldr r3, [pc, #600] ; (80afd44 ) 80afaec: edd3 7a02 vldr s15, [r3, #8] 80afaf0: ed9f 7a98 vldr s14, [pc, #608] ; 80afd54 80afaf4: ee67 7a87 vmul.f32 s15, s15, s14 80afaf8: 4b92 ldr r3, [pc, #584] ; (80afd44 ) 80afafa: edc3 7a02 vstr s15, [r3, #8] 80afafe: e025 b.n 80afb4c if(ZOOM_OUT) 80afb00: 4b95 ldr r3, [pc, #596] ; (80afd58 ) 80afb02: 781b ldrb r3, [r3, #0] 80afb04: b2db uxtb r3, r3 80afb06: 2b00 cmp r3, #0 80afb08: d020 beq.n 80afb4c ZOOM_OUT = false; 80afb0a: 4b93 ldr r3, [pc, #588] ; (80afd58 ) 80afb0c: 2200 movs r2, #0 80afb0e: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80afb10: 4b8e ldr r3, [pc, #568] ; (80afd4c ) 80afb12: edd3 7a00 vldr s15, [r3] 80afb16: ed9f 7a8f vldr s14, [pc, #572] ; 80afd54 80afb1a: ee67 7a87 vmul.f32 s15, s15, s14 80afb1e: 4b8b ldr r3, [pc, #556] ; (80afd4c ) 80afb20: edc3 7a00 vstr s15, [r3] LEGEND[0] *= 2.0000011f; 80afb24: 4b87 ldr r3, [pc, #540] ; (80afd44 ) 80afb26: edd3 7a00 vldr s15, [r3] 80afb2a: ed9f 7a89 vldr s14, [pc, #548] ; 80afd50 80afb2e: ee67 7a87 vmul.f32 s15, s15, s14 80afb32: 4b84 ldr r3, [pc, #528] ; (80afd44 ) 80afb34: edc3 7a00 vstr s15, [r3] LEGEND[2] *= 2.0000011f; 80afb38: 4b82 ldr r3, [pc, #520] ; (80afd44 ) 80afb3a: edd3 7a02 vldr s15, [r3, #8] 80afb3e: ed9f 7a84 vldr s14, [pc, #528] ; 80afd50 80afb42: ee67 7a87 vmul.f32 s15, s15, s14 80afb46: 4b7f ldr r3, [pc, #508] ; (80afd44 ) 80afb48: edc3 7a02 vstr s15, [r3, #8] NumOverdrives = 0; 80afb4c: 4b83 ldr r3, [pc, #524] ; (80afd5c ) 80afb4e: 2200 movs r2, #0 80afb50: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80afb52: 4983 ldr r1, [pc, #524] ; (80afd60 ) 80afb54: 4883 ldr r0, [pc, #524] ; (80afd64 ) 80afb56: f7a5 fb59 bl 805520c for(i = 0; i < 256; i++) 80afb5a: 2300 movs r3, #0 80afb5c: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80afb60: e230 b.n 80affc4 k = avgOSC[ViewLevel][pardata.LNE]; 80afb62: 4b81 ldr r3, [pc, #516] ; (80afd68 ) 80afb64: 781b ldrb r3, [r3, #0] 80afb66: b2db uxtb r3, r3 80afb68: 4619 mov r1, r3 80afb6a: 4b80 ldr r3, [pc, #512] ; (80afd6c ) 80afb6c: 79db ldrb r3, [r3, #7] 80afb6e: b2db uxtb r3, r3 80afb70: 4618 mov r0, r3 80afb72: 4a7f ldr r2, [pc, #508] ; (80afd70 ) 80afb74: 460b mov r3, r1 80afb76: 009b lsls r3, r3, #2 80afb78: 440b add r3, r1 80afb7a: 4413 add r3, r2 80afb7c: 4403 add r3, r0 80afb7e: 781b ldrb r3, [r3, #0] 80afb80: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 if(k == 1) 80afb84: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80afb88: 2b01 cmp r3, #1 80afb8a: f040 8101 bne.w 80afd90 mF[MAXY] = ScrA_f32(i + X0); 80afb8e: 4b79 ldr r3, [pc, #484] ; (80afd74 ) 80afb90: 881b ldrh r3, [r3, #0] 80afb92: b29b uxth r3, r3 80afb94: 461a mov r2, r3 80afb96: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80afb9a: 4413 add r3, r2 80afb9c: 009a lsls r2, r3, #2 80afb9e: 4b76 ldr r3, [pc, #472] ; (80afd78 ) 80afba0: 4413 add r3, r2 80afba2: 681b ldr r3, [r3, #0] 80afba4: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(i > 0) 80afba8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80afbac: 2b00 cmp r3, #0 80afbae: d004 beq.n 80afbba mF[MINY] = lastPointOSC[MAXY]; 80afbb0: 4b72 ldr r3, [pc, #456] ; (80afd7c ) 80afbb2: 685b ldr r3, [r3, #4] 80afbb4: f8c7 3278 str.w r3, [r7, #632] ; 0x278 80afbb8: e003 b.n 80afbc2 else mF[MINY] = mF[MAXY]; 80afbba: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80afbbe: f8c7 3278 str.w r3, [r7, #632] ; 0x278 lastPointOSC[MAXY] = mF[MAXY]; 80afbc2: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80afbc6: 4a6d ldr r2, [pc, #436] ; (80afd7c ) 80afbc8: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80afbca: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80afbce: 4b5f ldr r3, [pc, #380] ; (80afd4c ) 80afbd0: edd3 7a00 vldr s15, [r3] 80afbd4: ee67 7a27 vmul.f32 s15, s14, s15 80afbd8: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80afbdc: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80afbe0: 4b5a ldr r3, [pc, #360] ; (80afd4c ) 80afbe2: edd3 7a00 vldr s15, [r3] 80afbe6: ee67 7a27 vmul.f32 s15, s14, s15 80afbea: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80afbee: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80afbf2: ed9f 7a63 vldr s14, [pc, #396] ; 80afd80 80afbf6: eef4 7ac7 vcmpe.f32 s15, s14 80afbfa: eef1 fa10 vmrs APSR_nzcv, fpscr 80afbfe: dd02 ble.n 80afc06 80afc00: 4b60 ldr r3, [pc, #384] ; (80afd84 ) 80afc02: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80afc06: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80afc0a: ed9f 7a5f vldr s14, [pc, #380] ; 80afd88 80afc0e: eef4 7ac7 vcmpe.f32 s15, s14 80afc12: eef1 fa10 vmrs APSR_nzcv, fpscr 80afc16: d502 bpl.n 80afc1e 80afc18: 4b5c ldr r3, [pc, #368] ; (80afd8c ) 80afc1a: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80afc1e: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80afc22: ed9f 7a57 vldr s14, [pc, #348] ; 80afd80 80afc26: eef4 7ac7 vcmpe.f32 s15, s14 80afc2a: eef1 fa10 vmrs APSR_nzcv, fpscr 80afc2e: dd02 ble.n 80afc36 80afc30: 4b54 ldr r3, [pc, #336] ; (80afd84 ) 80afc32: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80afc36: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80afc3a: ed9f 7a53 vldr s14, [pc, #332] ; 80afd88 80afc3e: eef4 7ac7 vcmpe.f32 s15, s14 80afc42: eef1 fa10 vmrs APSR_nzcv, fpscr 80afc46: d502 bpl.n 80afc4e 80afc48: 4b50 ldr r3, [pc, #320] ; (80afd8c ) 80afc4a: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80afc4e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80afc52: eefd 7ae7 vcvt.s32.f32 s15, s15 80afc56: edc7 7a01 vstr s15, [r7, #4] 80afc5a: 88bb ldrh r3, [r7, #4] 80afc5c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80afc60: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80afc64: eefd 7ae7 vcvt.s32.f32 s15, s15 80afc68: edc7 7a01 vstr s15, [r7, #4] 80afc6c: 88bb ldrh r3, [r7, #4] 80afc6e: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 80) 80afc72: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80afc76: 2b50 cmp r3, #80 ; 0x50 80afc78: dd08 ble.n 80afc8c pMin = 80; 80afc7a: 2350 movs r3, #80 ; 0x50 80afc7c: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80afc80: 4b36 ldr r3, [pc, #216] ; (80afd5c ) 80afc82: 781b ldrb r3, [r3, #0] 80afc84: 3301 adds r3, #1 80afc86: b2da uxtb r2, r3 80afc88: 4b34 ldr r3, [pc, #208] ; (80afd5c ) 80afc8a: 701a strb r2, [r3, #0] if(pMin < -80) 80afc8c: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80afc90: f113 0f50 cmn.w r3, #80 ; 0x50 80afc94: da09 bge.n 80afcaa pMin = -80; 80afc96: f64f 73b0 movw r3, #65456 ; 0xffb0 80afc9a: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80afc9e: 4b2f ldr r3, [pc, #188] ; (80afd5c ) 80afca0: 781b ldrb r3, [r3, #0] 80afca2: 3301 adds r3, #1 80afca4: b2da uxtb r2, r3 80afca6: 4b2d ldr r3, [pc, #180] ; (80afd5c ) 80afca8: 701a strb r2, [r3, #0] if(pMax > 80) 80afcaa: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80afcae: 2b50 cmp r3, #80 ; 0x50 80afcb0: dd08 ble.n 80afcc4 pMax = 80; 80afcb2: 2350 movs r3, #80 ; 0x50 80afcb4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80afcb8: 4b28 ldr r3, [pc, #160] ; (80afd5c ) 80afcba: 781b ldrb r3, [r3, #0] 80afcbc: 3301 adds r3, #1 80afcbe: b2da uxtb r2, r3 80afcc0: 4b26 ldr r3, [pc, #152] ; (80afd5c ) 80afcc2: 701a strb r2, [r3, #0] if(pMax < -80) 80afcc4: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80afcc8: f113 0f50 cmn.w r3, #80 ; 0x50 80afccc: da09 bge.n 80afce2 pMax = -80; 80afcce: f64f 73b0 movw r3, #65456 ; 0xffb0 80afcd2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80afcd6: 4b21 ldr r3, [pc, #132] ; (80afd5c ) 80afcd8: 781b ldrb r3, [r3, #0] 80afcda: 3301 adds r3, #1 80afcdc: b2da uxtb r2, r3 80afcde: 4b1f ldr r3, [pc, #124] ; (80afd5c ) 80afce0: 701a strb r2, [r3, #0] x = 62 + i; 80afce2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80afce6: 333e adds r3, #62 ; 0x3e 80afce8: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == 0) 80afcec: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80afcf0: 2b00 cmp r3, #0 80afcf2: d112 bne.n 80afd1a BSP_LCD_DrawLine(x, 141 - pMin, x, 141 - pMax); 80afcf4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80afcf8: b298 uxth r0, r3 80afcfa: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80afcfe: f1c3 038d rsb r3, r3, #141 ; 0x8d 80afd02: b299 uxth r1, r3 80afd04: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80afd08: b29a uxth r2, r3 80afd0a: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80afd0e: f1c3 038d rsb r3, r3, #141 ; 0x8d 80afd12: b29b uxth r3, r3 80afd14: f7a5 fcb4 bl 8055680 80afd18: e13b b.n 80aff92 else BSP_LCD_DrawLine(x - 1, 141 - pMin, x, 141 - pMax); 80afd1a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80afd1e: b29b uxth r3, r3 80afd20: 3b01 subs r3, #1 80afd22: b298 uxth r0, r3 80afd24: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80afd28: f1c3 038d rsb r3, r3, #141 ; 0x8d 80afd2c: b299 uxth r1, r3 80afd2e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80afd32: b29a uxth r2, r3 80afd34: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80afd38: f1c3 038d rsb r3, r3, #141 ; 0x8d 80afd3c: b29b uxth r3, r3 80afd3e: f7a5 fc9f bl 8055680 80afd42: e126 b.n 80aff92 80afd44: 2006861c .word 0x2006861c 80afd48: 20020fb5 .word 0x20020fb5 80afd4c: 20020998 .word 0x20020998 80afd50: 40000005 .word 0x40000005 80afd54: 3f000012 .word 0x3f000012 80afd58: 20020fb4 .word 0x20020fb4 80afd5c: 2002169e .word 0x2002169e 80afd60: ff0a0f1f .word 0xff0a0f1f 80afd64: ff26a01f .word 0xff26a01f 80afd68: 20020fc0 .word 0x20020fc0 80afd6c: 20023eb8 .word 0x20023eb8 80afd70: 080f5fc8 .word 0x080f5fc8 80afd74: 20025d76 .word 0x20025d76 80afd78: 64080000 .word 0x64080000 80afd7c: 200216a0 .word 0x200216a0 80afd80: 46fffe00 .word 0x46fffe00 80afd84: 46fffe00 .word 0x46fffe00 80afd88: c6fffe00 .word 0xc6fffe00 80afd8c: c6fffe00 .word 0xc6fffe00 arm_max_f32(&ScrA_f32(i * k + X0), k, &mF[MAXY], &idx); 80afd90: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80afd94: f8d7 22a0 ldr.w r2, [r7, #672] ; 0x2a0 80afd98: fb02 f303 mul.w r3, r2, r3 80afd9c: 4ac4 ldr r2, [pc, #784] ; (80b00b0 ) 80afd9e: 8812 ldrh r2, [r2, #0] 80afda0: b292 uxth r2, r2 80afda2: 4413 add r3, r2 80afda4: 009a lsls r2, r3, #2 80afda6: 4bc3 ldr r3, [pc, #780] ; (80b00b4 ) 80afda8: 4413 add r3, r2 80afdaa: 4618 mov r0, r3 80afdac: f507 711a add.w r1, r7, #616 ; 0x268 80afdb0: f507 731e add.w r3, r7, #632 ; 0x278 80afdb4: 1d1a adds r2, r3, #4 80afdb6: 460b mov r3, r1 80afdb8: f8d7 12a0 ldr.w r1, [r7, #672] ; 0x2a0 80afdbc: f01f f92a bl 80cf014 arm_min_f32(&ScrA_f32(i * k + X0), k, &mF[MINY], &idx); 80afdc0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80afdc4: f8d7 22a0 ldr.w r2, [r7, #672] ; 0x2a0 80afdc8: fb02 f303 mul.w r3, r2, r3 80afdcc: 4ab8 ldr r2, [pc, #736] ; (80b00b0 ) 80afdce: 8812 ldrh r2, [r2, #0] 80afdd0: b292 uxth r2, r2 80afdd2: 4413 add r3, r2 80afdd4: 009a lsls r2, r3, #2 80afdd6: 4bb7 ldr r3, [pc, #732] ; (80b00b4 ) 80afdd8: 4413 add r3, r2 80afdda: 4618 mov r0, r3 80afddc: f507 731a add.w r3, r7, #616 ; 0x268 80afde0: f507 721e add.w r2, r7, #632 ; 0x278 80afde4: f8d7 12a0 ldr.w r1, [r7, #672] ; 0x2a0 80afde8: f01f f878 bl 80ceedc if(i > 0) 80afdec: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80afdf0: 2b00 cmp r3, #0 80afdf2: d01b beq.n 80afe2c if(mF[MINY] > lastPointOSC[MAXY]) 80afdf4: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80afdf8: 4baf ldr r3, [pc, #700] ; (80b00b8 ) 80afdfa: edd3 7a01 vldr s15, [r3, #4] 80afdfe: eeb4 7ae7 vcmpe.f32 s14, s15 80afe02: eef1 fa10 vmrs APSR_nzcv, fpscr 80afe06: dd03 ble.n 80afe10 mF[MINY] = lastPointOSC[MAXY]; 80afe08: 4bab ldr r3, [pc, #684] ; (80b00b8 ) 80afe0a: 685b ldr r3, [r3, #4] 80afe0c: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MAXY] < lastPointOSC[MINY]) 80afe10: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80afe14: 4ba8 ldr r3, [pc, #672] ; (80b00b8 ) 80afe16: edd3 7a00 vldr s15, [r3] 80afe1a: eeb4 7ae7 vcmpe.f32 s14, s15 80afe1e: eef1 fa10 vmrs APSR_nzcv, fpscr 80afe22: d503 bpl.n 80afe2c mF[MAXY] = lastPointOSC[MINY]; 80afe24: 4ba4 ldr r3, [pc, #656] ; (80b00b8 ) 80afe26: 681b ldr r3, [r3, #0] 80afe28: f8c7 327c str.w r3, [r7, #636] ; 0x27c ft[0] = mF[MINY]; ft[1] = mF[MAXY]; 80afe2c: f8d7 3278 ldr.w r3, [r7, #632] ; 0x278 80afe30: f8c7 3280 str.w r3, [r7, #640] ; 0x280 80afe34: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80afe38: f8c7 3284 str.w r3, [r7, #644] ; 0x284 lastPointOSC[MINY] = ft[0]; lastPointOSC[MAXY] = ft[1]; 80afe3c: f8d7 3280 ldr.w r3, [r7, #640] ; 0x280 80afe40: 4a9d ldr r2, [pc, #628] ; (80b00b8 ) 80afe42: 6013 str r3, [r2, #0] 80afe44: f8d7 3284 ldr.w r3, [r7, #644] ; 0x284 80afe48: 4a9b ldr r2, [pc, #620] ; (80b00b8 ) 80afe4a: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80afe4c: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80afe50: 4b9a ldr r3, [pc, #616] ; (80b00bc ) 80afe52: edd3 7a00 vldr s15, [r3] 80afe56: ee67 7a27 vmul.f32 s15, s14, s15 80afe5a: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80afe5e: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80afe62: 4b96 ldr r3, [pc, #600] ; (80b00bc ) 80afe64: edd3 7a00 vldr s15, [r3] 80afe68: ee67 7a27 vmul.f32 s15, s14, s15 80afe6c: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80afe70: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80afe74: ed9f 7a92 vldr s14, [pc, #584] ; 80b00c0 80afe78: eef4 7ac7 vcmpe.f32 s15, s14 80afe7c: eef1 fa10 vmrs APSR_nzcv, fpscr 80afe80: dd02 ble.n 80afe88 80afe82: 4b90 ldr r3, [pc, #576] ; (80b00c4 ) 80afe84: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80afe88: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80afe8c: ed9f 7a8e vldr s14, [pc, #568] ; 80b00c8 80afe90: eef4 7ac7 vcmpe.f32 s15, s14 80afe94: eef1 fa10 vmrs APSR_nzcv, fpscr 80afe98: d502 bpl.n 80afea0 80afe9a: 4b8c ldr r3, [pc, #560] ; (80b00cc ) 80afe9c: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80afea0: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80afea4: ed9f 7a86 vldr s14, [pc, #536] ; 80b00c0 80afea8: eef4 7ac7 vcmpe.f32 s15, s14 80afeac: eef1 fa10 vmrs APSR_nzcv, fpscr 80afeb0: dd02 ble.n 80afeb8 80afeb2: 4b84 ldr r3, [pc, #528] ; (80b00c4 ) 80afeb4: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80afeb8: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80afebc: ed9f 7a82 vldr s14, [pc, #520] ; 80b00c8 80afec0: eef4 7ac7 vcmpe.f32 s15, s14 80afec4: eef1 fa10 vmrs APSR_nzcv, fpscr 80afec8: d502 bpl.n 80afed0 80afeca: 4b80 ldr r3, [pc, #512] ; (80b00cc ) 80afecc: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80afed0: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80afed4: eefd 7ae7 vcvt.s32.f32 s15, s15 80afed8: edc7 7a01 vstr s15, [r7, #4] 80afedc: 88bb ldrh r3, [r7, #4] 80afede: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80afee2: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80afee6: eefd 7ae7 vcvt.s32.f32 s15, s15 80afeea: edc7 7a01 vstr s15, [r7, #4] 80afeee: 88bb ldrh r3, [r7, #4] 80afef0: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 80) 80afef4: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80afef8: 2b50 cmp r3, #80 ; 0x50 80afefa: dd08 ble.n 80aff0e pMin = 80; 80afefc: 2350 movs r3, #80 ; 0x50 80afefe: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80aff02: 4b73 ldr r3, [pc, #460] ; (80b00d0 ) 80aff04: 781b ldrb r3, [r3, #0] 80aff06: 3301 adds r3, #1 80aff08: b2da uxtb r2, r3 80aff0a: 4b71 ldr r3, [pc, #452] ; (80b00d0 ) 80aff0c: 701a strb r2, [r3, #0] if(pMin < -80) 80aff0e: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80aff12: f113 0f50 cmn.w r3, #80 ; 0x50 80aff16: da09 bge.n 80aff2c pMin = -80; 80aff18: f64f 73b0 movw r3, #65456 ; 0xffb0 80aff1c: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80aff20: 4b6b ldr r3, [pc, #428] ; (80b00d0 ) 80aff22: 781b ldrb r3, [r3, #0] 80aff24: 3301 adds r3, #1 80aff26: b2da uxtb r2, r3 80aff28: 4b69 ldr r3, [pc, #420] ; (80b00d0 ) 80aff2a: 701a strb r2, [r3, #0] if(pMax > 80) 80aff2c: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aff30: 2b50 cmp r3, #80 ; 0x50 80aff32: dd08 ble.n 80aff46 pMax = 80; 80aff34: 2350 movs r3, #80 ; 0x50 80aff36: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aff3a: 4b65 ldr r3, [pc, #404] ; (80b00d0 ) 80aff3c: 781b ldrb r3, [r3, #0] 80aff3e: 3301 adds r3, #1 80aff40: b2da uxtb r2, r3 80aff42: 4b63 ldr r3, [pc, #396] ; (80b00d0 ) 80aff44: 701a strb r2, [r3, #0] if(pMax < -80) 80aff46: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aff4a: f113 0f50 cmn.w r3, #80 ; 0x50 80aff4e: da09 bge.n 80aff64 pMax = -80; 80aff50: f64f 73b0 movw r3, #65456 ; 0xffb0 80aff54: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aff58: 4b5d ldr r3, [pc, #372] ; (80b00d0 ) 80aff5a: 781b ldrb r3, [r3, #0] 80aff5c: 3301 adds r3, #1 80aff5e: b2da uxtb r2, r3 80aff60: 4b5b ldr r3, [pc, #364] ; (80b00d0 ) 80aff62: 701a strb r2, [r3, #0] x = 62 + i; 80aff64: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aff68: 333e adds r3, #62 ; 0x3e 80aff6a: f8c7 3294 str.w r3, [r7, #660] ; 0x294 BSP_LCD_DrawLine(x, 141 - pMin, x, 141 - pMax); 80aff6e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aff72: b298 uxth r0, r3 80aff74: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aff78: f1c3 038d rsb r3, r3, #141 ; 0x8d 80aff7c: b299 uxth r1, r3 80aff7e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aff82: b29a uxth r2, r3 80aff84: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aff88: f1c3 038d rsb r3, r3, #141 ; 0x8d 80aff8c: b29b uxth r3, r3 80aff8e: f7a5 fb77 bl 8055680 if(pMax > Maximum) Maximum = pMax; 80aff92: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80aff96: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aff9a: 429a cmp r2, r3 80aff9c: dd03 ble.n 80affa6 80aff9e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80affa2: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(pMin < Minimum) Minimum = pMin; 80affa6: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80affaa: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80affae: 429a cmp r2, r3 80affb0: da03 bge.n 80affba 80affb2: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80affb6: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 for(i = 0; i < 256; i++) 80affba: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80affbe: 3301 adds r3, #1 80affc0: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80affc4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80affc8: 2bff cmp r3, #255 ; 0xff 80affca: f67f adca bls.w 80afb62 Maximum = ABS(Maximum); 80affce: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80affd2: 2b00 cmp r3, #0 80affd4: bfb8 it lt 80affd6: 425b neglt r3, r3 80affd8: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 Minimum = ABS(Minimum); 80affdc: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80affe0: 2b00 cmp r3, #0 80affe2: bfb8 it lt 80affe4: 425b neglt r3, r3 80affe6: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 if(Minimum > Maximum) { 80affea: f9b7 22b0 ldrsh.w r2, [r7, #688] ; 0x2b0 80affee: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80afff2: 429a cmp r2, r3 80afff4: dd03 ble.n 80afffe Maximum = Minimum; 80afff6: f8b7 32b0 ldrh.w r3, [r7, #688] ; 0x2b0 80afffa: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 BSP_LCD_SetFont(&Font8); 80afffe: 4835 ldr r0, [pc, #212] ; (80b00d4 ) 80b0000: f7a5 f940 bl 8055284 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80b0004: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80b0008: 4833 ldr r0, [pc, #204] ; (80b00d8 ) 80b000a: f7a5 f8ff bl 805520c if(ABS(LEGEND[2]) == 0.0f) { mmm = -1; } 80b000e: 4b33 ldr r3, [pc, #204] ; (80b00dc ) 80b0010: edd3 7a02 vldr s15, [r3, #8] 80b0014: eef5 7ac0 vcmpe.f32 s15, #0.0 80b0018: eef1 fa10 vmrs APSR_nzcv, fpscr 80b001c: dd0b ble.n 80b0036 80b001e: 4b2f ldr r3, [pc, #188] ; (80b00dc ) 80b0020: edd3 7a02 vldr s15, [r3, #8] 80b0024: eef5 7a40 vcmp.f32 s15, #0.0 80b0028: eef1 fa10 vmrs APSR_nzcv, fpscr 80b002c: bf0c ite eq 80b002e: 2301 moveq r3, #1 80b0030: 2300 movne r3, #0 80b0032: b2db uxtb r3, r3 80b0034: e00a b.n 80b004c 80b0036: 4b29 ldr r3, [pc, #164] ; (80b00dc ) 80b0038: edd3 7a02 vldr s15, [r3, #8] 80b003c: eef5 7a40 vcmp.f32 s15, #0.0 80b0040: eef1 fa10 vmrs APSR_nzcv, fpscr 80b0044: bf0c ite eq 80b0046: 2301 moveq r3, #1 80b0048: 2300 movne r3, #0 80b004a: b2db uxtb r3, r3 80b004c: 2b00 cmp r3, #0 80b004e: d003 beq.n 80b0058 80b0050: 23ff movs r3, #255 ; 0xff 80b0052: f887 329f strb.w r3, [r7, #671] ; 0x29f 80b0056: e071 b.n 80b013c else if(ABS(LEGEND[2]) < 1) { mmm = -4; } 80b0058: 4b20 ldr r3, [pc, #128] ; (80b00dc ) 80b005a: edd3 7a02 vldr s15, [r3, #8] 80b005e: eef5 7ac0 vcmpe.f32 s15, #0.0 80b0062: eef1 fa10 vmrs APSR_nzcv, fpscr 80b0066: dd0d ble.n 80b0084 80b0068: 4b1c ldr r3, [pc, #112] ; (80b00dc ) 80b006a: edd3 7a02 vldr s15, [r3, #8] 80b006e: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80b0072: eef4 7ac7 vcmpe.f32 s15, s14 80b0076: eef1 fa10 vmrs APSR_nzcv, fpscr 80b007a: bf4c ite mi 80b007c: 2301 movmi r3, #1 80b007e: 2300 movpl r3, #0 80b0080: b2db uxtb r3, r3 80b0082: e00e b.n 80b00a2 80b0084: 4b15 ldr r3, [pc, #84] ; (80b00dc ) 80b0086: edd3 7a02 vldr s15, [r3, #8] 80b008a: eef1 7a67 vneg.f32 s15, s15 80b008e: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80b0092: eef4 7ac7 vcmpe.f32 s15, s14 80b0096: eef1 fa10 vmrs APSR_nzcv, fpscr 80b009a: bf4c ite mi 80b009c: 2301 movmi r3, #1 80b009e: 2300 movpl r3, #0 80b00a0: b2db uxtb r3, r3 80b00a2: 2b00 cmp r3, #0 80b00a4: d01c beq.n 80b00e0 80b00a6: 23fc movs r3, #252 ; 0xfc 80b00a8: f887 329f strb.w r3, [r7, #671] ; 0x29f 80b00ac: e046 b.n 80b013c 80b00ae: bf00 nop 80b00b0: 20025d76 .word 0x20025d76 80b00b4: 64080000 .word 0x64080000 80b00b8: 200216a0 .word 0x200216a0 80b00bc: 20020998 .word 0x20020998 80b00c0: 46fffe00 .word 0x46fffe00 80b00c4: 46fffe00 .word 0x46fffe00 80b00c8: c6fffe00 .word 0xc6fffe00 80b00cc: c6fffe00 .word 0xc6fffe00 80b00d0: 2002169e .word 0x2002169e 80b00d4: 20020060 .word 0x20020060 80b00d8: ff808080 .word 0xff808080 80b00dc: 2006861c .word 0x2006861c else if(ABS(LEGEND[2]) < 10) { mmm = -1; } 80b00e0: 4b33 ldr r3, [pc, #204] ; (80b01b0 ) 80b00e2: edd3 7a02 vldr s15, [r3, #8] 80b00e6: eef5 7ac0 vcmpe.f32 s15, #0.0 80b00ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80b00ee: dd0d ble.n 80b010c 80b00f0: 4b2f ldr r3, [pc, #188] ; (80b01b0 ) 80b00f2: edd3 7a02 vldr s15, [r3, #8] 80b00f6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80b00fa: eef4 7ac7 vcmpe.f32 s15, s14 80b00fe: eef1 fa10 vmrs APSR_nzcv, fpscr 80b0102: bf4c ite mi 80b0104: 2301 movmi r3, #1 80b0106: 2300 movpl r3, #0 80b0108: b2db uxtb r3, r3 80b010a: e00e b.n 80b012a 80b010c: 4b28 ldr r3, [pc, #160] ; (80b01b0 ) 80b010e: edd3 7a02 vldr s15, [r3, #8] 80b0112: eef1 7a67 vneg.f32 s15, s15 80b0116: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80b011a: eef4 7ac7 vcmpe.f32 s15, s14 80b011e: eef1 fa10 vmrs APSR_nzcv, fpscr 80b0122: bf4c ite mi 80b0124: 2301 movmi r3, #1 80b0126: 2300 movpl r3, #0 80b0128: b2db uxtb r3, r3 80b012a: 2b00 cmp r3, #0 80b012c: d003 beq.n 80b0136 80b012e: 23ff movs r3, #255 ; 0xff 80b0130: f887 329f strb.w r3, [r7, #671] ; 0x29f 80b0134: e002 b.n 80b013c else { mmm = 0; } 80b0136: 2300 movs r3, #0 80b0138: f887 329f strb.w r3, [r7, #671] ; 0x29f BSP_LCD_DisplayStringAt(316, 92-8, (char *) FloatToASCII(LEGEND[2], mmm), RIGHT_MODE); 80b013c: 4b1c ldr r3, [pc, #112] ; (80b01b0 ) 80b013e: edd3 7a02 vldr s15, [r3, #8] 80b0142: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80b0146: 4618 mov r0, r3 80b0148: eeb0 0a67 vmov.f32 s0, s15 80b014c: f7b8 f828 bl 80681a0 80b0150: 4602 mov r2, r0 80b0152: 2302 movs r3, #2 80b0154: 2154 movs r1, #84 ; 0x54 80b0156: f44f 709e mov.w r0, #316 ; 0x13c 80b015a: f7a5 f91d bl 8055398 BSP_LCD_DisplayStringAt(316, 92-8+49, (char *) FloatToASCII(LEGEND[1], -1), RIGHT_MODE); 80b015e: 4b14 ldr r3, [pc, #80] ; (80b01b0 ) 80b0160: edd3 7a01 vldr s15, [r3, #4] 80b0164: f04f 30ff mov.w r0, #4294967295 80b0168: eeb0 0a67 vmov.f32 s0, s15 80b016c: f7b8 f818 bl 80681a0 80b0170: 4602 mov r2, r0 80b0172: 2302 movs r3, #2 80b0174: 2185 movs r1, #133 ; 0x85 80b0176: f44f 709e mov.w r0, #316 ; 0x13c 80b017a: f7a5 f90d bl 8055398 BSP_LCD_DisplayStringAt(316, 92-8+98, (char *) FloatToASCII(LEGEND[0], mmm), RIGHT_MODE); 80b017e: 4b0c ldr r3, [pc, #48] ; (80b01b0 ) 80b0180: edd3 7a00 vldr s15, [r3] 80b0184: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80b0188: 4618 mov r0, r3 80b018a: eeb0 0a67 vmov.f32 s0, s15 80b018e: f7b8 f807 bl 80681a0 80b0192: 4602 mov r2, r0 80b0194: 2302 movs r3, #2 80b0196: 21b6 movs r1, #182 ; 0xb6 80b0198: f44f 709e mov.w r0, #316 ; 0x13c 80b019c: f7a5 f8fc bl 8055398 } 80b01a0: e000 b.n 80b01a4 { 80b01a2: bf00 nop } 80b01a4: bf00 nop 80b01a6: f507 772f add.w r7, r7, #700 ; 0x2bc 80b01aa: 46bd mov sp, r7 80b01ac: bd90 pop {r4, r7, pc} 80b01ae: bf00 nop 80b01b0: 2006861c .word 0x2006861c 080b01b4 : void DrawScaleValue(void) { 80b01b4: b5b0 push {r4, r5, r7, lr} 80b01b6: b08c sub sp, #48 ; 0x30 80b01b8: af00 add r7, sp, #0 uint32_t step, i, k, t = 0; 80b01ba: 2300 movs r3, #0 80b01bc: 62bb str r3, [r7, #40] ; 0x28 uint8_t *p; char str[7]; float32_t f, fosc[3], dt; BSP_LCD_SetFont(&Font8); 80b01be: 489a ldr r0, [pc, #616] ; (80b0428 ) 80b01c0: f7a5 f860 bl 8055284 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80b01c4: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80b01c8: 4898 ldr r0, [pc, #608] ; (80b042c ) 80b01ca: f7a5 f81f bl 805520c k = FsIndex(); 80b01ce: f7b7 ff8d bl 80680ec 80b01d2: 6278 str r0, [r7, #36] ; 0x24 if(menu == MAIN_SYGNAL) 80b01d4: 4b96 ldr r3, [pc, #600] ; (80b0430 ) 80b01d6: 781b ldrb r3, [r3, #0] 80b01d8: b2db uxtb r3, r3 80b01da: 2b20 cmp r3, #32 80b01dc: f040 8111 bne.w 80b0402 { step = PlayingState.FrameSize >> 8; 80b01e0: 4b94 ldr r3, [pc, #592] ; (80b0434 ) 80b01e2: 689b ldr r3, [r3, #8] 80b01e4: 0a1b lsrs r3, r3, #8 80b01e6: 623b str r3, [r7, #32] dt = (PlayingState.TimeLength / (float32_t) PlayingState.NumFrames) / ((float32_t) PlayingState.FrameSize); 80b01e8: 4b92 ldr r3, [pc, #584] ; (80b0434 ) 80b01ea: ed93 7a07 vldr s14, [r3, #28] 80b01ee: 4b91 ldr r3, [pc, #580] ; (80b0434 ) 80b01f0: 685b ldr r3, [r3, #4] 80b01f2: ee07 3a90 vmov s15, r3 80b01f6: eef8 7a67 vcvt.f32.u32 s15, s15 80b01fa: eec7 6a27 vdiv.f32 s13, s14, s15 80b01fe: 4b8d ldr r3, [pc, #564] ; (80b0434 ) 80b0200: 689b ldr r3, [r3, #8] 80b0202: ee07 3a90 vmov s15, r3 80b0206: eeb8 7a67 vcvt.f32.u32 s14, s15 80b020a: eec6 7a87 vdiv.f32 s15, s13, s14 80b020e: edc7 7a07 vstr s15, [r7, #28] t = 0; 80b0212: 2300 movs r3, #0 80b0214: 62bb str r3, [r7, #40] ; 0x28 for(i = 0; i < 3; i++) 80b0216: 2300 movs r3, #0 80b0218: 62fb str r3, [r7, #44] ; 0x2c 80b021a: e06f b.n 80b02fc { if(PlayingState.CurrentFrame < PlayingState.NumFrames) 80b021c: 4b85 ldr r3, [pc, #532] ; (80b0434 ) 80b021e: 681a ldr r2, [r3, #0] 80b0220: 4b84 ldr r3, [pc, #528] ; (80b0434 ) 80b0222: 685b ldr r3, [r3, #4] 80b0224: 429a cmp r2, r3 80b0226: d212 bcs.n 80b024e fosc[i] = (float32_t) (PlayingState.CurrentFrame * PlayingState.FrameSize); 80b0228: 4b82 ldr r3, [pc, #520] ; (80b0434 ) 80b022a: 681b ldr r3, [r3, #0] 80b022c: 4a81 ldr r2, [pc, #516] ; (80b0434 ) 80b022e: 6892 ldr r2, [r2, #8] 80b0230: fb02 f303 mul.w r3, r2, r3 80b0234: ee07 3a90 vmov s15, r3 80b0238: eef8 7a67 vcvt.f32.u32 s15, s15 80b023c: 6afb ldr r3, [r7, #44] ; 0x2c 80b023e: 009b lsls r3, r3, #2 80b0240: f107 0230 add.w r2, r7, #48 ; 0x30 80b0244: 4413 add r3, r2 80b0246: 3b30 subs r3, #48 ; 0x30 80b0248: edc3 7a00 vstr s15, [r3] 80b024c: e012 b.n 80b0274 else fosc[i] = (float32_t) ((PlayingState.NumFrames - 1) * PlayingState.FrameSize); 80b024e: 4b79 ldr r3, [pc, #484] ; (80b0434 ) 80b0250: 685b ldr r3, [r3, #4] 80b0252: 3b01 subs r3, #1 80b0254: 4a77 ldr r2, [pc, #476] ; (80b0434 ) 80b0256: 6892 ldr r2, [r2, #8] 80b0258: fb02 f303 mul.w r3, r2, r3 80b025c: ee07 3a90 vmov s15, r3 80b0260: eef8 7a67 vcvt.f32.u32 s15, s15 80b0264: 6afb ldr r3, [r7, #44] ; 0x2c 80b0266: 009b lsls r3, r3, #2 80b0268: f107 0230 add.w r2, r7, #48 ; 0x30 80b026c: 4413 add r3, r2 80b026e: 3b30 subs r3, #48 ; 0x30 80b0270: edc3 7a00 vstr s15, [r3] fosc[i] += (float32_t) ((64 + 64 * i) * step); 80b0274: 6afb ldr r3, [r7, #44] ; 0x2c 80b0276: 009b lsls r3, r3, #2 80b0278: f107 0230 add.w r2, r7, #48 ; 0x30 80b027c: 4413 add r3, r2 80b027e: 3b30 subs r3, #48 ; 0x30 80b0280: ed93 7a00 vldr s14, [r3] 80b0284: 6afb ldr r3, [r7, #44] ; 0x2c 80b0286: 3301 adds r3, #1 80b0288: 6a3a ldr r2, [r7, #32] 80b028a: fb02 f303 mul.w r3, r2, r3 80b028e: 019b lsls r3, r3, #6 80b0290: ee07 3a90 vmov s15, r3 80b0294: eef8 7a67 vcvt.f32.u32 s15, s15 80b0298: ee77 7a27 vadd.f32 s15, s14, s15 80b029c: 6afb ldr r3, [r7, #44] ; 0x2c 80b029e: 009b lsls r3, r3, #2 80b02a0: f107 0230 add.w r2, r7, #48 ; 0x30 80b02a4: 4413 add r3, r2 80b02a6: 3b30 subs r3, #48 ; 0x30 80b02a8: edc3 7a00 vstr s15, [r3] //fosc[i] *= (float32_t) step; fosc[i] *= dt; 80b02ac: 6afb ldr r3, [r7, #44] ; 0x2c 80b02ae: 009b lsls r3, r3, #2 80b02b0: f107 0230 add.w r2, r7, #48 ; 0x30 80b02b4: 4413 add r3, r2 80b02b6: 3b30 subs r3, #48 ; 0x30 80b02b8: ed93 7a00 vldr s14, [r3] 80b02bc: edd7 7a07 vldr s15, [r7, #28] 80b02c0: ee67 7a27 vmul.f32 s15, s14, s15 80b02c4: 6afb ldr r3, [r7, #44] ; 0x2c 80b02c6: 009b lsls r3, r3, #2 80b02c8: f107 0230 add.w r2, r7, #48 ; 0x30 80b02cc: 4413 add r3, r2 80b02ce: 3b30 subs r3, #48 ; 0x30 80b02d0: edc3 7a00 vstr s15, [r3] if(fosc[i] >= 1000.0f) { 80b02d4: 6afb ldr r3, [r7, #44] ; 0x2c 80b02d6: 009b lsls r3, r3, #2 80b02d8: f107 0230 add.w r2, r7, #48 ; 0x30 80b02dc: 4413 add r3, r2 80b02de: 3b30 subs r3, #48 ; 0x30 80b02e0: edd3 7a00 vldr s15, [r3] 80b02e4: ed9f 7a54 vldr s14, [pc, #336] ; 80b0438 80b02e8: eef4 7ac7 vcmpe.f32 s15, s14 80b02ec: eef1 fa10 vmrs APSR_nzcv, fpscr 80b02f0: db01 blt.n 80b02f6 t = 1; 80b02f2: 2301 movs r3, #1 80b02f4: 62bb str r3, [r7, #40] ; 0x28 for(i = 0; i < 3; i++) 80b02f6: 6afb ldr r3, [r7, #44] ; 0x2c 80b02f8: 3301 adds r3, #1 80b02fa: 62fb str r3, [r7, #44] ; 0x2c 80b02fc: 6afb ldr r3, [r7, #44] ; 0x2c 80b02fe: 2b02 cmp r3, #2 80b0300: d98c bls.n 80b021c } } for(i = 0; i < 3; i++) 80b0302: 2300 movs r3, #0 80b0304: 62fb str r3, [r7, #44] ; 0x2c 80b0306: e04e b.n 80b03a6 { if(t == 0) 80b0308: 6abb ldr r3, [r7, #40] ; 0x28 80b030a: 2b00 cmp r3, #0 80b030c: d11a bne.n 80b0344 BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(fosc[i], -3), LEFT_MODE); 80b030e: 6afb ldr r3, [r7, #44] ; 0x2c 80b0310: b29b uxth r3, r3 80b0312: 019b lsls r3, r3, #6 80b0314: b29b uxth r3, r3 80b0316: 3378 adds r3, #120 ; 0x78 80b0318: b29c uxth r4, r3 80b031a: 6afb ldr r3, [r7, #44] ; 0x2c 80b031c: 009b lsls r3, r3, #2 80b031e: f107 0230 add.w r2, r7, #48 ; 0x30 80b0322: 4413 add r3, r2 80b0324: 3b30 subs r3, #48 ; 0x30 80b0326: edd3 7a00 vldr s15, [r3] 80b032a: f06f 0002 mvn.w r0, #2 80b032e: eeb0 0a67 vmov.f32 s0, s15 80b0332: f7b7 ff35 bl 80681a0 80b0336: 4602 mov r2, r0 80b0338: 2303 movs r3, #3 80b033a: 21e2 movs r1, #226 ; 0xe2 80b033c: 4620 mov r0, r4 80b033e: f7a5 f82b bl 8055398 80b0342: e02d b.n 80b03a0 else { fosc[i] *= 0.001f; 80b0344: 6afb ldr r3, [r7, #44] ; 0x2c 80b0346: 009b lsls r3, r3, #2 80b0348: f107 0230 add.w r2, r7, #48 ; 0x30 80b034c: 4413 add r3, r2 80b034e: 3b30 subs r3, #48 ; 0x30 80b0350: edd3 7a00 vldr s15, [r3] 80b0354: ed9f 7a39 vldr s14, [pc, #228] ; 80b043c 80b0358: ee67 7a87 vmul.f32 s15, s15, s14 80b035c: 6afb ldr r3, [r7, #44] ; 0x2c 80b035e: 009b lsls r3, r3, #2 80b0360: f107 0230 add.w r2, r7, #48 ; 0x30 80b0364: 4413 add r3, r2 80b0366: 3b30 subs r3, #48 ; 0x30 80b0368: edc3 7a00 vstr s15, [r3] BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(fosc[i], -3), LEFT_MODE); 80b036c: 6afb ldr r3, [r7, #44] ; 0x2c 80b036e: b29b uxth r3, r3 80b0370: 019b lsls r3, r3, #6 80b0372: b29b uxth r3, r3 80b0374: 3378 adds r3, #120 ; 0x78 80b0376: b29c uxth r4, r3 80b0378: 6afb ldr r3, [r7, #44] ; 0x2c 80b037a: 009b lsls r3, r3, #2 80b037c: f107 0230 add.w r2, r7, #48 ; 0x30 80b0380: 4413 add r3, r2 80b0382: 3b30 subs r3, #48 ; 0x30 80b0384: edd3 7a00 vldr s15, [r3] 80b0388: f06f 0002 mvn.w r0, #2 80b038c: eeb0 0a67 vmov.f32 s0, s15 80b0390: f7b7 ff06 bl 80681a0 80b0394: 4602 mov r2, r0 80b0396: 2303 movs r3, #3 80b0398: 21e2 movs r1, #226 ; 0xe2 80b039a: 4620 mov r0, r4 80b039c: f7a4 fffc bl 8055398 for(i = 0; i < 3; i++) 80b03a0: 6afb ldr r3, [r7, #44] ; 0x2c 80b03a2: 3301 adds r3, #1 80b03a4: 62fb str r3, [r7, #44] ; 0x2c 80b03a6: 6afb ldr r3, [r7, #44] ; 0x2c 80b03a8: 2b02 cmp r3, #2 80b03aa: d9ad bls.n 80b0308 } } if(pardata.LANG == RUS) 80b03ac: 4b24 ldr r3, [pc, #144] ; (80b0440 ) 80b03ae: 7b1b ldrb r3, [r3, #12] 80b03b0: b2db uxtb r3, r3 80b03b2: 2b00 cmp r3, #0 80b03b4: d112 bne.n 80b03dc { if(t == 0) 80b03b6: 6abb ldr r3, [r7, #40] ; 0x28 80b03b8: 2b00 cmp r3, #0 80b03ba: d107 bne.n 80b03cc BSP_LCD_DisplayStringAt(300, 226, "C", LEFT_MODE); 80b03bc: 2303 movs r3, #3 80b03be: 4a21 ldr r2, [pc, #132] ; (80b0444 ) 80b03c0: 21e2 movs r1, #226 ; 0xe2 80b03c2: f44f 7096 mov.w r0, #300 ; 0x12c 80b03c6: f7a4 ffe7 bl 8055398 } } } 80b03ca: e3f7 b.n 80b0bbc else BSP_LCD_DisplayStringAt(300, 226, "MC", LEFT_MODE); 80b03cc: 2303 movs r3, #3 80b03ce: 4a1e ldr r2, [pc, #120] ; (80b0448 ) 80b03d0: 21e2 movs r1, #226 ; 0xe2 80b03d2: f44f 7096 mov.w r0, #300 ; 0x12c 80b03d6: f7a4 ffdf bl 8055398 } 80b03da: e3ef b.n 80b0bbc if(t == 0) 80b03dc: 6abb ldr r3, [r7, #40] ; 0x28 80b03de: 2b00 cmp r3, #0 80b03e0: d107 bne.n 80b03f2 BSP_LCD_DisplayStringAt(300, 226, "s", LEFT_MODE); 80b03e2: 2303 movs r3, #3 80b03e4: 4a19 ldr r2, [pc, #100] ; (80b044c ) 80b03e6: 21e2 movs r1, #226 ; 0xe2 80b03e8: f44f 7096 mov.w r0, #300 ; 0x12c 80b03ec: f7a4 ffd4 bl 8055398 } 80b03f0: e3e4 b.n 80b0bbc else BSP_LCD_DisplayStringAt(300, 226, "ms", LEFT_MODE); 80b03f2: 2303 movs r3, #3 80b03f4: 4a16 ldr r2, [pc, #88] ; (80b0450 ) 80b03f6: 21e2 movs r1, #226 ; 0xe2 80b03f8: f44f 7096 mov.w r0, #300 ; 0x12c 80b03fc: f7a4 ffcc bl 8055398 } 80b0400: e3dc b.n 80b0bbc if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == ROLL)) 80b0402: 4b0f ldr r3, [pc, #60] ; (80b0440 ) 80b0404: 781b ldrb r3, [r3, #0] 80b0406: b2db uxtb r3, r3 80b0408: 2b01 cmp r3, #1 80b040a: d00a beq.n 80b0422 80b040c: 4b0c ldr r3, [pc, #48] ; (80b0440 ) 80b040e: 781b ldrb r3, [r3, #0] 80b0410: b2db uxtb r3, r3 80b0412: 2b05 cmp r3, #5 80b0414: d005 beq.n 80b0422 80b0416: 4b0a ldr r3, [pc, #40] ; (80b0440 ) 80b0418: 781b ldrb r3, [r3, #0] 80b041a: b2db uxtb r3, r3 80b041c: 2b08 cmp r3, #8 80b041e: f040 80b1 bne.w 80b0584 for(i = 0; i < 3; i++) 80b0422: 2300 movs r3, #0 80b0424: 62fb str r3, [r7, #44] ; 0x2c 80b0426: e094 b.n 80b0552 80b0428: 20020060 .word 0x20020060 80b042c: ff808080 .word 0xff808080 80b0430: 20020fc5 .word 0x20020fc5 80b0434: 20022928 .word 0x20022928 80b0438: 447a0000 .word 0x447a0000 80b043c: 3a83126f .word 0x3a83126f 80b0440: 20023eb8 .word 0x20023eb8 80b0444: 080d7560 .word 0x080d7560 80b0448: 080d7564 .word 0x080d7564 80b044c: 080d74e4 .word 0x080d74e4 80b0450: 080d74f4 .word 0x080d74f4 f = (float32_t) (X0 + (64 + 64 * i) * avgSPC[ViewLevel][pardata.LNE]); 80b0454: 4b9c ldr r3, [pc, #624] ; (80b06c8 ) 80b0456: 881b ldrh r3, [r3, #0] 80b0458: b29b uxth r3, r3 80b045a: 4618 mov r0, r3 80b045c: 6afb ldr r3, [r7, #44] ; 0x2c 80b045e: 3301 adds r3, #1 80b0460: 4a9a ldr r2, [pc, #616] ; (80b06cc ) 80b0462: 7812 ldrb r2, [r2, #0] 80b0464: b2d2 uxtb r2, r2 80b0466: 4615 mov r5, r2 80b0468: 4a99 ldr r2, [pc, #612] ; (80b06d0 ) 80b046a: 79d2 ldrb r2, [r2, #7] 80b046c: b2d2 uxtb r2, r2 80b046e: 4614 mov r4, r2 80b0470: 4998 ldr r1, [pc, #608] ; (80b06d4 ) 80b0472: 00aa lsls r2, r5, #2 80b0474: 440a add r2, r1 80b0476: 4422 add r2, r4 80b0478: 7812 ldrb r2, [r2, #0] 80b047a: fb02 f303 mul.w r3, r2, r3 80b047e: 019b lsls r3, r3, #6 80b0480: 4403 add r3, r0 80b0482: ee07 3a90 vmov s15, r3 80b0486: eef8 7a67 vcvt.f32.u32 s15, s15 80b048a: edc7 7a06 vstr s15, [r7, #24] f *= Delta_SPC[k][pardata.LNE]; 80b048e: 4b90 ldr r3, [pc, #576] ; (80b06d0 ) 80b0490: 79db ldrb r3, [r3, #7] 80b0492: b2db uxtb r3, r3 80b0494: 4619 mov r1, r3 80b0496: 4a90 ldr r2, [pc, #576] ; (80b06d8 ) 80b0498: 6a7b ldr r3, [r7, #36] ; 0x24 80b049a: 009b lsls r3, r3, #2 80b049c: 440b add r3, r1 80b049e: 009b lsls r3, r3, #2 80b04a0: 4413 add r3, r2 80b04a2: edd3 7a00 vldr s15, [r3] 80b04a6: ed97 7a06 vldr s14, [r7, #24] 80b04aa: ee67 7a27 vmul.f32 s15, s14, s15 80b04ae: edc7 7a06 vstr s15, [r7, #24] if(f >= 1000.0f) 80b04b2: edd7 7a06 vldr s15, [r7, #24] 80b04b6: ed9f 7a89 vldr s14, [pc, #548] ; 80b06dc 80b04ba: eef4 7ac7 vcmpe.f32 s15, s14 80b04be: eef1 fa10 vmrs APSR_nzcv, fpscr 80b04c2: db32 blt.n 80b052a f *= 0.001f; 80b04c4: edd7 7a06 vldr s15, [r7, #24] 80b04c8: ed9f 7a85 vldr s14, [pc, #532] ; 80b06e0 80b04cc: ee67 7a87 vmul.f32 s15, s15, s14 80b04d0: edc7 7a06 vstr s15, [r7, #24] p = FloatToASCII(f, -2); 80b04d4: f06f 0001 mvn.w r0, #1 80b04d8: ed97 0a06 vldr s0, [r7, #24] 80b04dc: f7b7 fe60 bl 80681a0 80b04e0: 6178 str r0, [r7, #20] memcpy((void *)str, (void *)p, sizeof(str)); 80b04e2: 697a ldr r2, [r7, #20] 80b04e4: f107 030c add.w r3, r7, #12 80b04e8: 6810 ldr r0, [r2, #0] 80b04ea: 6018 str r0, [r3, #0] 80b04ec: 8891 ldrh r1, [r2, #4] 80b04ee: 7992 ldrb r2, [r2, #6] 80b04f0: 8099 strh r1, [r3, #4] 80b04f2: 719a strb r2, [r3, #6] if(f >= 10.0f) 80b04f4: edd7 7a06 vldr s15, [r7, #24] 80b04f8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80b04fc: eef4 7ac7 vcmpe.f32 s15, s14 80b0500: eef1 fa10 vmrs APSR_nzcv, fpscr 80b0504: db02 blt.n 80b050c str[5] = 'k'; 80b0506: 236b movs r3, #107 ; 0x6b 80b0508: 747b strb r3, [r7, #17] 80b050a: e001 b.n 80b0510 else str[4] = 'k'; 80b050c: 236b movs r3, #107 ; 0x6b 80b050e: 743b strb r3, [r7, #16] BSP_LCD_DisplayStringAt(120 + (i << 6), 226, str, LEFT_MODE); 80b0510: 6afb ldr r3, [r7, #44] ; 0x2c 80b0512: b29b uxth r3, r3 80b0514: 019b lsls r3, r3, #6 80b0516: b29b uxth r3, r3 80b0518: 3378 adds r3, #120 ; 0x78 80b051a: b298 uxth r0, r3 80b051c: f107 020c add.w r2, r7, #12 80b0520: 2303 movs r3, #3 80b0522: 21e2 movs r1, #226 ; 0xe2 80b0524: f7a4 ff38 bl 8055398 80b0528: e010 b.n 80b054c BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(f, 0), LEFT_MODE); 80b052a: 6afb ldr r3, [r7, #44] ; 0x2c 80b052c: b29b uxth r3, r3 80b052e: 019b lsls r3, r3, #6 80b0530: b29b uxth r3, r3 80b0532: 3378 adds r3, #120 ; 0x78 80b0534: b29c uxth r4, r3 80b0536: 2000 movs r0, #0 80b0538: ed97 0a06 vldr s0, [r7, #24] 80b053c: f7b7 fe30 bl 80681a0 80b0540: 4602 mov r2, r0 80b0542: 2303 movs r3, #3 80b0544: 21e2 movs r1, #226 ; 0xe2 80b0546: 4620 mov r0, r4 80b0548: f7a4 ff26 bl 8055398 for(i = 0; i < 3; i++) 80b054c: 6afb ldr r3, [r7, #44] ; 0x2c 80b054e: 3301 adds r3, #1 80b0550: 62fb str r3, [r7, #44] ; 0x2c 80b0552: 6afb ldr r3, [r7, #44] ; 0x2c 80b0554: 2b02 cmp r3, #2 80b0556: f67f af7d bls.w 80b0454 if(pardata.LANG == RUS) 80b055a: 4b5d ldr r3, [pc, #372] ; (80b06d0 ) 80b055c: 7b1b ldrb r3, [r3, #12] 80b055e: b2db uxtb r3, r3 80b0560: 2b00 cmp r3, #0 80b0562: d107 bne.n 80b0574 BSP_LCD_DisplayStringAt(300, 226, "$%", LEFT_MODE); 80b0564: 2303 movs r3, #3 80b0566: 4a5f ldr r2, [pc, #380] ; (80b06e4 ) 80b0568: 21e2 movs r1, #226 ; 0xe2 80b056a: f44f 7096 mov.w r0, #300 ; 0x12c 80b056e: f7a4 ff13 bl 8055398 if(pardata.LANG == RUS) 80b0572: e323 b.n 80b0bbc else BSP_LCD_DisplayStringAt(300, 226, "Hz", LEFT_MODE); 80b0574: 2303 movs r3, #3 80b0576: 4a5c ldr r2, [pc, #368] ; (80b06e8 ) 80b0578: 21e2 movs r1, #226 ; 0xe2 80b057a: f44f 7096 mov.w r0, #300 ; 0x12c 80b057e: f7a4 ff0b bl 8055398 if(pardata.LANG == RUS) 80b0582: e31b b.n 80b0bbc if(pardata.SYG == UDAR) //TODO UDAR 80b0584: 4b52 ldr r3, [pc, #328] ; (80b06d0 ) 80b0586: 781b ldrb r3, [r3, #0] 80b0588: b2db uxtb r3, r3 80b058a: 2b09 cmp r3, #9 80b058c: f040 80ae bne.w 80b06ec for(i = 0; i < 3; i++) 80b0590: 2300 movs r3, #0 80b0592: 62fb str r3, [r7, #44] ; 0x2c 80b0594: e07e b.n 80b0694 f = (float32_t) (X0 + (64 + 64 * i) * avgSPC[ViewLevel][pardata.LNE]); 80b0596: 4b4c ldr r3, [pc, #304] ; (80b06c8 ) 80b0598: 881b ldrh r3, [r3, #0] 80b059a: b29b uxth r3, r3 80b059c: 4618 mov r0, r3 80b059e: 6afb ldr r3, [r7, #44] ; 0x2c 80b05a0: 3301 adds r3, #1 80b05a2: 4a4a ldr r2, [pc, #296] ; (80b06cc ) 80b05a4: 7812 ldrb r2, [r2, #0] 80b05a6: b2d2 uxtb r2, r2 80b05a8: 4615 mov r5, r2 80b05aa: 4a49 ldr r2, [pc, #292] ; (80b06d0 ) 80b05ac: 79d2 ldrb r2, [r2, #7] 80b05ae: b2d2 uxtb r2, r2 80b05b0: 4614 mov r4, r2 80b05b2: 4948 ldr r1, [pc, #288] ; (80b06d4 ) 80b05b4: 00aa lsls r2, r5, #2 80b05b6: 440a add r2, r1 80b05b8: 4422 add r2, r4 80b05ba: 7812 ldrb r2, [r2, #0] 80b05bc: fb02 f303 mul.w r3, r2, r3 80b05c0: 019b lsls r3, r3, #6 80b05c2: 4403 add r3, r0 80b05c4: ee07 3a90 vmov s15, r3 80b05c8: eef8 7a67 vcvt.f32.u32 s15, s15 80b05cc: edc7 7a06 vstr s15, [r7, #24] f *= Delta_SPC[k][pardata.LNE]; 80b05d0: 4b3f ldr r3, [pc, #252] ; (80b06d0 ) 80b05d2: 79db ldrb r3, [r3, #7] 80b05d4: b2db uxtb r3, r3 80b05d6: 4619 mov r1, r3 80b05d8: 4a3f ldr r2, [pc, #252] ; (80b06d8 ) 80b05da: 6a7b ldr r3, [r7, #36] ; 0x24 80b05dc: 009b lsls r3, r3, #2 80b05de: 440b add r3, r1 80b05e0: 009b lsls r3, r3, #2 80b05e2: 4413 add r3, r2 80b05e4: edd3 7a00 vldr s15, [r3] 80b05e8: ed97 7a06 vldr s14, [r7, #24] 80b05ec: ee67 7a27 vmul.f32 s15, s14, s15 80b05f0: edc7 7a06 vstr s15, [r7, #24] if(f >= 1000.0f) 80b05f4: edd7 7a06 vldr s15, [r7, #24] 80b05f8: ed9f 7a38 vldr s14, [pc, #224] ; 80b06dc 80b05fc: eef4 7ac7 vcmpe.f32 s15, s14 80b0600: eef1 fa10 vmrs APSR_nzcv, fpscr 80b0604: db32 blt.n 80b066c f *= 0.001f; 80b0606: edd7 7a06 vldr s15, [r7, #24] 80b060a: ed9f 7a35 vldr s14, [pc, #212] ; 80b06e0 80b060e: ee67 7a87 vmul.f32 s15, s15, s14 80b0612: edc7 7a06 vstr s15, [r7, #24] p = FloatToASCII(f, -2); 80b0616: f06f 0001 mvn.w r0, #1 80b061a: ed97 0a06 vldr s0, [r7, #24] 80b061e: f7b7 fdbf bl 80681a0 80b0622: 6178 str r0, [r7, #20] memcpy((void *)str, (void *)p, sizeof(str)); 80b0624: 697a ldr r2, [r7, #20] 80b0626: f107 030c add.w r3, r7, #12 80b062a: 6810 ldr r0, [r2, #0] 80b062c: 6018 str r0, [r3, #0] 80b062e: 8891 ldrh r1, [r2, #4] 80b0630: 7992 ldrb r2, [r2, #6] 80b0632: 8099 strh r1, [r3, #4] 80b0634: 719a strb r2, [r3, #6] if(f >= 10.0f) 80b0636: edd7 7a06 vldr s15, [r7, #24] 80b063a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80b063e: eef4 7ac7 vcmpe.f32 s15, s14 80b0642: eef1 fa10 vmrs APSR_nzcv, fpscr 80b0646: db02 blt.n 80b064e str[5] = 'k'; 80b0648: 236b movs r3, #107 ; 0x6b 80b064a: 747b strb r3, [r7, #17] 80b064c: e001 b.n 80b0652 else str[4] = 'k'; 80b064e: 236b movs r3, #107 ; 0x6b 80b0650: 743b strb r3, [r7, #16] BSP_LCD_DisplayStringAt(96 + (i << 6), 205, str, CENTER_MODE); 80b0652: 6afb ldr r3, [r7, #44] ; 0x2c 80b0654: b29b uxth r3, r3 80b0656: 019b lsls r3, r3, #6 80b0658: b29b uxth r3, r3 80b065a: 3360 adds r3, #96 ; 0x60 80b065c: b298 uxth r0, r3 80b065e: f107 020c add.w r2, r7, #12 80b0662: 2301 movs r3, #1 80b0664: 21cd movs r1, #205 ; 0xcd 80b0666: f7a4 fe97 bl 8055398 80b066a: e010 b.n 80b068e BSP_LCD_DisplayStringAt(96 + (i << 6), 205, (char *)FloatToASCII(f, 0), CENTER_MODE); 80b066c: 6afb ldr r3, [r7, #44] ; 0x2c 80b066e: b29b uxth r3, r3 80b0670: 019b lsls r3, r3, #6 80b0672: b29b uxth r3, r3 80b0674: 3360 adds r3, #96 ; 0x60 80b0676: b29c uxth r4, r3 80b0678: 2000 movs r0, #0 80b067a: ed97 0a06 vldr s0, [r7, #24] 80b067e: f7b7 fd8f bl 80681a0 80b0682: 4602 mov r2, r0 80b0684: 2301 movs r3, #1 80b0686: 21cd movs r1, #205 ; 0xcd 80b0688: 4620 mov r0, r4 80b068a: f7a4 fe85 bl 8055398 for(i = 0; i < 3; i++) 80b068e: 6afb ldr r3, [r7, #44] ; 0x2c 80b0690: 3301 adds r3, #1 80b0692: 62fb str r3, [r7, #44] ; 0x2c 80b0694: 6afb ldr r3, [r7, #44] ; 0x2c 80b0696: 2b02 cmp r3, #2 80b0698: f67f af7d bls.w 80b0596 if(pardata.LANG == RUS) 80b069c: 4b0c ldr r3, [pc, #48] ; (80b06d0 ) 80b069e: 7b1b ldrb r3, [r3, #12] 80b06a0: b2db uxtb r3, r3 80b06a2: 2b00 cmp r3, #0 80b06a4: d107 bne.n 80b06b6 BSP_LCD_DisplayStringAt(285, 205, "$%", RIGHT_MODE); 80b06a6: 2302 movs r3, #2 80b06a8: 4a0e ldr r2, [pc, #56] ; (80b06e4 ) 80b06aa: 21cd movs r1, #205 ; 0xcd 80b06ac: f240 101d movw r0, #285 ; 0x11d 80b06b0: f7a4 fe72 bl 8055398 } 80b06b4: e282 b.n 80b0bbc else BSP_LCD_DisplayStringAt(285, 205, "Hz", RIGHT_MODE); 80b06b6: 2302 movs r3, #2 80b06b8: 4a0b ldr r2, [pc, #44] ; (80b06e8 ) 80b06ba: 21cd movs r1, #205 ; 0xcd 80b06bc: f240 101d movw r0, #285 ; 0x11d 80b06c0: f7a4 fe6a bl 8055398 } 80b06c4: e27a b.n 80b0bbc 80b06c6: bf00 nop 80b06c8: 20025d76 .word 0x20025d76 80b06cc: 20020fc0 .word 0x20020fc0 80b06d0: 20023eb8 .word 0x20023eb8 80b06d4: 080f5fec .word 0x080f5fec 80b06d8: 080f60cc .word 0x080f60cc 80b06dc: 447a0000 .word 0x447a0000 80b06e0: 3a83126f .word 0x3a83126f 80b06e4: 080d74fc .word 0x080d74fc 80b06e8: 080d7500 .word 0x080d7500 if(pardata.SYG == SPEC_OKT) 80b06ec: 4bb8 ldr r3, [pc, #736] ; (80b09d0 ) 80b06ee: 781b ldrb r3, [r3, #0] 80b06f0: b2db uxtb r3, r3 80b06f2: 2b06 cmp r3, #6 80b06f4: d16a bne.n 80b07cc BSP_LCD_DisplayStringAt( 69, 226, "1", CENTER_MODE); 80b06f6: 2301 movs r3, #1 80b06f8: 4ab6 ldr r2, [pc, #728] ; (80b09d4 ) 80b06fa: 21e2 movs r1, #226 ; 0xe2 80b06fc: 2045 movs r0, #69 ; 0x45 80b06fe: f7a4 fe4b bl 8055398 BSP_LCD_DisplayStringAt( 69 + 16, 226, "2", CENTER_MODE); 80b0702: 2301 movs r3, #1 80b0704: 4ab4 ldr r2, [pc, #720] ; (80b09d8 ) 80b0706: 21e2 movs r1, #226 ; 0xe2 80b0708: 2055 movs r0, #85 ; 0x55 80b070a: f7a4 fe45 bl 8055398 BSP_LCD_DisplayStringAt( 69 + 32, 226, "4", CENTER_MODE); 80b070e: 2301 movs r3, #1 80b0710: 4ab2 ldr r2, [pc, #712] ; (80b09dc ) 80b0712: 21e2 movs r1, #226 ; 0xe2 80b0714: 2065 movs r0, #101 ; 0x65 80b0716: f7a4 fe3f bl 8055398 BSP_LCD_DisplayStringAt( 69 + 48, 226, "8", CENTER_MODE); 80b071a: 2301 movs r3, #1 80b071c: 4ab0 ldr r2, [pc, #704] ; (80b09e0 ) 80b071e: 21e2 movs r1, #226 ; 0xe2 80b0720: 2075 movs r0, #117 ; 0x75 80b0722: f7a4 fe39 bl 8055398 BSP_LCD_DisplayStringAt( 69 + 64, 226, "16", CENTER_MODE); 80b0726: 2301 movs r3, #1 80b0728: 4aae ldr r2, [pc, #696] ; (80b09e4 ) 80b072a: 21e2 movs r1, #226 ; 0xe2 80b072c: 2085 movs r0, #133 ; 0x85 80b072e: f7a4 fe33 bl 8055398 BSP_LCD_DisplayStringAt( 69 + 80, 226, "31", CENTER_MODE); 80b0732: 2301 movs r3, #1 80b0734: 4aac ldr r2, [pc, #688] ; (80b09e8 ) 80b0736: 21e2 movs r1, #226 ; 0xe2 80b0738: 2095 movs r0, #149 ; 0x95 80b073a: f7a4 fe2d bl 8055398 BSP_LCD_DisplayStringAt( 69 + 96, 226, "63", CENTER_MODE); 80b073e: 2301 movs r3, #1 80b0740: 4aaa ldr r2, [pc, #680] ; (80b09ec ) 80b0742: 21e2 movs r1, #226 ; 0xe2 80b0744: 20a5 movs r0, #165 ; 0xa5 80b0746: f7a4 fe27 bl 8055398 BSP_LCD_DisplayStringAt( 69 + 111, 226, "125", CENTER_MODE); 80b074a: 2301 movs r3, #1 80b074c: 4aa8 ldr r2, [pc, #672] ; (80b09f0 ) 80b074e: 21e2 movs r1, #226 ; 0xe2 80b0750: 20b4 movs r0, #180 ; 0xb4 80b0752: f7a4 fe21 bl 8055398 BSP_LCD_DisplayStringAt( 69 + 128, 226, "250", CENTER_MODE); 80b0756: 2301 movs r3, #1 80b0758: 4aa6 ldr r2, [pc, #664] ; (80b09f4 ) 80b075a: 21e2 movs r1, #226 ; 0xe2 80b075c: 20c5 movs r0, #197 ; 0xc5 80b075e: f7a4 fe1b bl 8055398 BSP_LCD_DisplayStringAt( 69 + 145, 226, "500", CENTER_MODE); 80b0762: 2301 movs r3, #1 80b0764: 4aa4 ldr r2, [pc, #656] ; (80b09f8 ) 80b0766: 21e2 movs r1, #226 ; 0xe2 80b0768: 20d6 movs r0, #214 ; 0xd6 80b076a: f7a4 fe15 bl 8055398 BSP_LCD_DisplayStringAt( 69 + 160, 226, "1k", CENTER_MODE); 80b076e: 2301 movs r3, #1 80b0770: 4aa2 ldr r2, [pc, #648] ; (80b09fc ) 80b0772: 21e2 movs r1, #226 ; 0xe2 80b0774: 20e5 movs r0, #229 ; 0xe5 80b0776: f7a4 fe0f bl 8055398 BSP_LCD_DisplayStringAt( 69 + 176, 226, "2k", CENTER_MODE); 80b077a: 2301 movs r3, #1 80b077c: 4aa0 ldr r2, [pc, #640] ; (80b0a00 ) 80b077e: 21e2 movs r1, #226 ; 0xe2 80b0780: 20f5 movs r0, #245 ; 0xf5 80b0782: f7a4 fe09 bl 8055398 BSP_LCD_DisplayStringAt( 69 + 192, 226, "4k", CENTER_MODE); 80b0786: 2301 movs r3, #1 80b0788: 4a9e ldr r2, [pc, #632] ; (80b0a04 ) 80b078a: 21e2 movs r1, #226 ; 0xe2 80b078c: f240 1005 movw r0, #261 ; 0x105 80b0790: f7a4 fe02 bl 8055398 BSP_LCD_DisplayStringAt( 69 + 208, 226, "8k", CENTER_MODE); 80b0794: 2301 movs r3, #1 80b0796: 4a9c ldr r2, [pc, #624] ; (80b0a08 ) 80b0798: 21e2 movs r1, #226 ; 0xe2 80b079a: f240 1015 movw r0, #277 ; 0x115 80b079e: f7a4 fdfb bl 8055398 if(pardata.LANG == RUS) 80b07a2: 4b8b ldr r3, [pc, #556] ; (80b09d0 ) 80b07a4: 7b1b ldrb r3, [r3, #12] 80b07a6: b2db uxtb r3, r3 80b07a8: 2b00 cmp r3, #0 80b07aa: d107 bne.n 80b07bc BSP_LCD_DisplayStringAt(306, 226, "$%", LEFT_MODE); 80b07ac: 2303 movs r3, #3 80b07ae: 4a97 ldr r2, [pc, #604] ; (80b0a0c ) 80b07b0: 21e2 movs r1, #226 ; 0xe2 80b07b2: f44f 7099 mov.w r0, #306 ; 0x132 80b07b6: f7a4 fdef bl 8055398 } 80b07ba: e1ff b.n 80b0bbc else BSP_LCD_DisplayStringAt(306, 226, "Hz", LEFT_MODE); 80b07bc: 2303 movs r3, #3 80b07be: 4a94 ldr r2, [pc, #592] ; (80b0a10 ) 80b07c0: 21e2 movs r1, #226 ; 0xe2 80b07c2: f44f 7099 mov.w r0, #306 ; 0x132 80b07c6: f7a4 fde7 bl 8055398 } 80b07ca: e1f7 b.n 80b0bbc if(pardata.SYG == SPEC_THIRD) 80b07cc: 4b80 ldr r3, [pc, #512] ; (80b09d0 ) 80b07ce: 781b ldrb r3, [r3, #0] 80b07d0: b2db uxtb r3, r3 80b07d2: 2b07 cmp r3, #7 80b07d4: f040 80f1 bne.w 80b09ba i = 0; 80b07d8: 2300 movs r3, #0 80b07da: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "1", CENTER_MODE); i++; 80b07dc: 6afb ldr r3, [r7, #44] ; 0x2c 80b07de: b29b uxth r3, r3 80b07e0: 461a mov r2, r3 80b07e2: 00d2 lsls r2, r2, #3 80b07e4: 4413 add r3, r2 80b07e6: 005b lsls r3, r3, #1 80b07e8: b29b uxth r3, r3 80b07ea: 3345 adds r3, #69 ; 0x45 80b07ec: b298 uxth r0, r3 80b07ee: 2301 movs r3, #1 80b07f0: 4a78 ldr r2, [pc, #480] ; (80b09d4 ) 80b07f2: 21e2 movs r1, #226 ; 0xe2 80b07f4: f7a4 fdd0 bl 8055398 80b07f8: 6afb ldr r3, [r7, #44] ; 0x2c 80b07fa: 3301 adds r3, #1 80b07fc: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "2", CENTER_MODE); i++; 80b07fe: 6afb ldr r3, [r7, #44] ; 0x2c 80b0800: b29b uxth r3, r3 80b0802: 461a mov r2, r3 80b0804: 00d2 lsls r2, r2, #3 80b0806: 4413 add r3, r2 80b0808: 005b lsls r3, r3, #1 80b080a: b29b uxth r3, r3 80b080c: 3345 adds r3, #69 ; 0x45 80b080e: b298 uxth r0, r3 80b0810: 2301 movs r3, #1 80b0812: 4a71 ldr r2, [pc, #452] ; (80b09d8 ) 80b0814: 21e2 movs r1, #226 ; 0xe2 80b0816: f7a4 fdbf bl 8055398 80b081a: 6afb ldr r3, [r7, #44] ; 0x2c 80b081c: 3301 adds r3, #1 80b081e: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "4", CENTER_MODE); i++; 80b0820: 6afb ldr r3, [r7, #44] ; 0x2c 80b0822: b29b uxth r3, r3 80b0824: 461a mov r2, r3 80b0826: 00d2 lsls r2, r2, #3 80b0828: 4413 add r3, r2 80b082a: 005b lsls r3, r3, #1 80b082c: b29b uxth r3, r3 80b082e: 3345 adds r3, #69 ; 0x45 80b0830: b298 uxth r0, r3 80b0832: 2301 movs r3, #1 80b0834: 4a69 ldr r2, [pc, #420] ; (80b09dc ) 80b0836: 21e2 movs r1, #226 ; 0xe2 80b0838: f7a4 fdae bl 8055398 80b083c: 6afb ldr r3, [r7, #44] ; 0x2c 80b083e: 3301 adds r3, #1 80b0840: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "8", CENTER_MODE); i++; 80b0842: 6afb ldr r3, [r7, #44] ; 0x2c 80b0844: b29b uxth r3, r3 80b0846: 461a mov r2, r3 80b0848: 00d2 lsls r2, r2, #3 80b084a: 4413 add r3, r2 80b084c: 005b lsls r3, r3, #1 80b084e: b29b uxth r3, r3 80b0850: 3345 adds r3, #69 ; 0x45 80b0852: b298 uxth r0, r3 80b0854: 2301 movs r3, #1 80b0856: 4a62 ldr r2, [pc, #392] ; (80b09e0 ) 80b0858: 21e2 movs r1, #226 ; 0xe2 80b085a: f7a4 fd9d bl 8055398 80b085e: 6afb ldr r3, [r7, #44] ; 0x2c 80b0860: 3301 adds r3, #1 80b0862: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "16", CENTER_MODE); i++; 80b0864: 6afb ldr r3, [r7, #44] ; 0x2c 80b0866: b29b uxth r3, r3 80b0868: 461a mov r2, r3 80b086a: 00d2 lsls r2, r2, #3 80b086c: 4413 add r3, r2 80b086e: 005b lsls r3, r3, #1 80b0870: b29b uxth r3, r3 80b0872: 3345 adds r3, #69 ; 0x45 80b0874: b298 uxth r0, r3 80b0876: 2301 movs r3, #1 80b0878: 4a5a ldr r2, [pc, #360] ; (80b09e4 ) 80b087a: 21e2 movs r1, #226 ; 0xe2 80b087c: f7a4 fd8c bl 8055398 80b0880: 6afb ldr r3, [r7, #44] ; 0x2c 80b0882: 3301 adds r3, #1 80b0884: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "31", CENTER_MODE); i++; 80b0886: 6afb ldr r3, [r7, #44] ; 0x2c 80b0888: b29b uxth r3, r3 80b088a: 461a mov r2, r3 80b088c: 00d2 lsls r2, r2, #3 80b088e: 4413 add r3, r2 80b0890: 005b lsls r3, r3, #1 80b0892: b29b uxth r3, r3 80b0894: 3345 adds r3, #69 ; 0x45 80b0896: b298 uxth r0, r3 80b0898: 2301 movs r3, #1 80b089a: 4a53 ldr r2, [pc, #332] ; (80b09e8 ) 80b089c: 21e2 movs r1, #226 ; 0xe2 80b089e: f7a4 fd7b bl 8055398 80b08a2: 6afb ldr r3, [r7, #44] ; 0x2c 80b08a4: 3301 adds r3, #1 80b08a6: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "63", CENTER_MODE); i++; 80b08a8: 6afb ldr r3, [r7, #44] ; 0x2c 80b08aa: b29b uxth r3, r3 80b08ac: 461a mov r2, r3 80b08ae: 00d2 lsls r2, r2, #3 80b08b0: 4413 add r3, r2 80b08b2: 005b lsls r3, r3, #1 80b08b4: b29b uxth r3, r3 80b08b6: 3345 adds r3, #69 ; 0x45 80b08b8: b298 uxth r0, r3 80b08ba: 2301 movs r3, #1 80b08bc: 4a4b ldr r2, [pc, #300] ; (80b09ec ) 80b08be: 21e2 movs r1, #226 ; 0xe2 80b08c0: f7a4 fd6a bl 8055398 80b08c4: 6afb ldr r3, [r7, #44] ; 0x2c 80b08c6: 3301 adds r3, #1 80b08c8: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "125", CENTER_MODE); i++; 80b08ca: 6afb ldr r3, [r7, #44] ; 0x2c 80b08cc: b29b uxth r3, r3 80b08ce: 461a mov r2, r3 80b08d0: 00d2 lsls r2, r2, #3 80b08d2: 4413 add r3, r2 80b08d4: 005b lsls r3, r3, #1 80b08d6: b29b uxth r3, r3 80b08d8: 3345 adds r3, #69 ; 0x45 80b08da: b298 uxth r0, r3 80b08dc: 2301 movs r3, #1 80b08de: 4a44 ldr r2, [pc, #272] ; (80b09f0 ) 80b08e0: 21e2 movs r1, #226 ; 0xe2 80b08e2: f7a4 fd59 bl 8055398 80b08e6: 6afb ldr r3, [r7, #44] ; 0x2c 80b08e8: 3301 adds r3, #1 80b08ea: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "250", CENTER_MODE); i++; 80b08ec: 6afb ldr r3, [r7, #44] ; 0x2c 80b08ee: b29b uxth r3, r3 80b08f0: 461a mov r2, r3 80b08f2: 00d2 lsls r2, r2, #3 80b08f4: 4413 add r3, r2 80b08f6: 005b lsls r3, r3, #1 80b08f8: b29b uxth r3, r3 80b08fa: 3345 adds r3, #69 ; 0x45 80b08fc: b298 uxth r0, r3 80b08fe: 2301 movs r3, #1 80b0900: 4a3c ldr r2, [pc, #240] ; (80b09f4 ) 80b0902: 21e2 movs r1, #226 ; 0xe2 80b0904: f7a4 fd48 bl 8055398 80b0908: 6afb ldr r3, [r7, #44] ; 0x2c 80b090a: 3301 adds r3, #1 80b090c: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "500", CENTER_MODE); i++; 80b090e: 6afb ldr r3, [r7, #44] ; 0x2c 80b0910: b29b uxth r3, r3 80b0912: 461a mov r2, r3 80b0914: 00d2 lsls r2, r2, #3 80b0916: 4413 add r3, r2 80b0918: 005b lsls r3, r3, #1 80b091a: b29b uxth r3, r3 80b091c: 3345 adds r3, #69 ; 0x45 80b091e: b298 uxth r0, r3 80b0920: 2301 movs r3, #1 80b0922: 4a35 ldr r2, [pc, #212] ; (80b09f8 ) 80b0924: 21e2 movs r1, #226 ; 0xe2 80b0926: f7a4 fd37 bl 8055398 80b092a: 6afb ldr r3, [r7, #44] ; 0x2c 80b092c: 3301 adds r3, #1 80b092e: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "1k", CENTER_MODE); i++; 80b0930: 6afb ldr r3, [r7, #44] ; 0x2c 80b0932: b29b uxth r3, r3 80b0934: 461a mov r2, r3 80b0936: 00d2 lsls r2, r2, #3 80b0938: 4413 add r3, r2 80b093a: 005b lsls r3, r3, #1 80b093c: b29b uxth r3, r3 80b093e: 3345 adds r3, #69 ; 0x45 80b0940: b298 uxth r0, r3 80b0942: 2301 movs r3, #1 80b0944: 4a2d ldr r2, [pc, #180] ; (80b09fc ) 80b0946: 21e2 movs r1, #226 ; 0xe2 80b0948: f7a4 fd26 bl 8055398 80b094c: 6afb ldr r3, [r7, #44] ; 0x2c 80b094e: 3301 adds r3, #1 80b0950: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "2k", CENTER_MODE); i++; 80b0952: 6afb ldr r3, [r7, #44] ; 0x2c 80b0954: b29b uxth r3, r3 80b0956: 461a mov r2, r3 80b0958: 00d2 lsls r2, r2, #3 80b095a: 4413 add r3, r2 80b095c: 005b lsls r3, r3, #1 80b095e: b29b uxth r3, r3 80b0960: 3345 adds r3, #69 ; 0x45 80b0962: b298 uxth r0, r3 80b0964: 2301 movs r3, #1 80b0966: 4a26 ldr r2, [pc, #152] ; (80b0a00 ) 80b0968: 21e2 movs r1, #226 ; 0xe2 80b096a: f7a4 fd15 bl 8055398 80b096e: 6afb ldr r3, [r7, #44] ; 0x2c 80b0970: 3301 adds r3, #1 80b0972: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "4k", CENTER_MODE); //i++; 80b0974: 6afb ldr r3, [r7, #44] ; 0x2c 80b0976: b29b uxth r3, r3 80b0978: 461a mov r2, r3 80b097a: 00d2 lsls r2, r2, #3 80b097c: 4413 add r3, r2 80b097e: 005b lsls r3, r3, #1 80b0980: b29b uxth r3, r3 80b0982: 3345 adds r3, #69 ; 0x45 80b0984: b298 uxth r0, r3 80b0986: 2301 movs r3, #1 80b0988: 4a1e ldr r2, [pc, #120] ; (80b0a04 ) 80b098a: 21e2 movs r1, #226 ; 0xe2 80b098c: f7a4 fd04 bl 8055398 if(pardata.LANG == RUS) 80b0990: 4b0f ldr r3, [pc, #60] ; (80b09d0 ) 80b0992: 7b1b ldrb r3, [r3, #12] 80b0994: b2db uxtb r3, r3 80b0996: 2b00 cmp r3, #0 80b0998: d107 bne.n 80b09aa BSP_LCD_DisplayStringAt(306, 226, "$%", LEFT_MODE); 80b099a: 2303 movs r3, #3 80b099c: 4a1b ldr r2, [pc, #108] ; (80b0a0c ) 80b099e: 21e2 movs r1, #226 ; 0xe2 80b09a0: f44f 7099 mov.w r0, #306 ; 0x132 80b09a4: f7a4 fcf8 bl 8055398 } 80b09a8: e108 b.n 80b0bbc else BSP_LCD_DisplayStringAt(306, 226, "Hz", LEFT_MODE); 80b09aa: 2303 movs r3, #3 80b09ac: 4a18 ldr r2, [pc, #96] ; (80b0a10 ) 80b09ae: 21e2 movs r1, #226 ; 0xe2 80b09b0: f44f 7099 mov.w r0, #306 ; 0x132 80b09b4: f7a4 fcf0 bl 8055398 } 80b09b8: e100 b.n 80b0bbc if(pardata.SYG == OSC) 80b09ba: 4b05 ldr r3, [pc, #20] ; (80b09d0 ) 80b09bc: 781b ldrb r3, [r3, #0] 80b09be: b2db uxtb r3, r3 80b09c0: 2b02 cmp r3, #2 80b09c2: f040 80fb bne.w 80b0bbc t = 0; 80b09c6: 2300 movs r3, #0 80b09c8: 62bb str r3, [r7, #40] ; 0x28 for(i = 0; i < 3; i++) 80b09ca: 2300 movs r3, #0 80b09cc: 62fb str r3, [r7, #44] ; 0x2c 80b09ce: e072 b.n 80b0ab6 80b09d0: 20023eb8 .word 0x20023eb8 80b09d4: 080d52c4 .word 0x080d52c4 80b09d8: 080d52c8 .word 0x080d52c8 80b09dc: 080d52cc .word 0x080d52cc 80b09e0: 080d52d0 .word 0x080d52d0 80b09e4: 080d52d4 .word 0x080d52d4 80b09e8: 080d7568 .word 0x080d7568 80b09ec: 080d756c .word 0x080d756c 80b09f0: 080d7570 .word 0x080d7570 80b09f4: 080d7574 .word 0x080d7574 80b09f8: 080d64d8 .word 0x080d64d8 80b09fc: 080d7578 .word 0x080d7578 80b0a00: 080d757c .word 0x080d757c 80b0a04: 080d7580 .word 0x080d7580 80b0a08: 080d7584 .word 0x080d7584 80b0a0c: 080d74fc .word 0x080d74fc 80b0a10: 080d7500 .word 0x080d7500 fosc[i] = (float32_t) (X0 + (64 + 64 * i) * avgOSC[ViewLevel][pardata.LNE]); 80b0a14: 4b6b ldr r3, [pc, #428] ; (80b0bc4 ) 80b0a16: 881b ldrh r3, [r3, #0] 80b0a18: b29b uxth r3, r3 80b0a1a: 461c mov r4, r3 80b0a1c: 6afb ldr r3, [r7, #44] ; 0x2c 80b0a1e: 1c5a adds r2, r3, #1 80b0a20: 4b69 ldr r3, [pc, #420] ; (80b0bc8 ) 80b0a22: 781b ldrb r3, [r3, #0] 80b0a24: b2db uxtb r3, r3 80b0a26: 4618 mov r0, r3 80b0a28: 4b68 ldr r3, [pc, #416] ; (80b0bcc ) 80b0a2a: 79db ldrb r3, [r3, #7] 80b0a2c: b2db uxtb r3, r3 80b0a2e: 461d mov r5, r3 80b0a30: 4967 ldr r1, [pc, #412] ; (80b0bd0 ) 80b0a32: 4603 mov r3, r0 80b0a34: 009b lsls r3, r3, #2 80b0a36: 4403 add r3, r0 80b0a38: 440b add r3, r1 80b0a3a: 442b add r3, r5 80b0a3c: 781b ldrb r3, [r3, #0] 80b0a3e: fb03 f302 mul.w r3, r3, r2 80b0a42: 019b lsls r3, r3, #6 80b0a44: 4423 add r3, r4 80b0a46: ee07 3a90 vmov s15, r3 80b0a4a: eef8 7a67 vcvt.f32.u32 s15, s15 80b0a4e: 6afb ldr r3, [r7, #44] ; 0x2c 80b0a50: 009b lsls r3, r3, #2 80b0a52: f107 0230 add.w r2, r7, #48 ; 0x30 80b0a56: 4413 add r3, r2 80b0a58: 3b30 subs r3, #48 ; 0x30 80b0a5a: edc3 7a00 vstr s15, [r3] fosc[i] *= Delta_OSC[k]; 80b0a5e: 6afb ldr r3, [r7, #44] ; 0x2c 80b0a60: 009b lsls r3, r3, #2 80b0a62: f107 0230 add.w r2, r7, #48 ; 0x30 80b0a66: 4413 add r3, r2 80b0a68: 3b30 subs r3, #48 ; 0x30 80b0a6a: ed93 7a00 vldr s14, [r3] 80b0a6e: 4a59 ldr r2, [pc, #356] ; (80b0bd4 ) 80b0a70: 6a7b ldr r3, [r7, #36] ; 0x24 80b0a72: 009b lsls r3, r3, #2 80b0a74: 4413 add r3, r2 80b0a76: edd3 7a00 vldr s15, [r3] 80b0a7a: ee67 7a27 vmul.f32 s15, s14, s15 80b0a7e: 6afb ldr r3, [r7, #44] ; 0x2c 80b0a80: 009b lsls r3, r3, #2 80b0a82: f107 0230 add.w r2, r7, #48 ; 0x30 80b0a86: 4413 add r3, r2 80b0a88: 3b30 subs r3, #48 ; 0x30 80b0a8a: edc3 7a00 vstr s15, [r3] if(fosc[i] >= 1000.0f) { 80b0a8e: 6afb ldr r3, [r7, #44] ; 0x2c 80b0a90: 009b lsls r3, r3, #2 80b0a92: f107 0230 add.w r2, r7, #48 ; 0x30 80b0a96: 4413 add r3, r2 80b0a98: 3b30 subs r3, #48 ; 0x30 80b0a9a: edd3 7a00 vldr s15, [r3] 80b0a9e: ed9f 7a4e vldr s14, [pc, #312] ; 80b0bd8 80b0aa2: eef4 7ac7 vcmpe.f32 s15, s14 80b0aa6: eef1 fa10 vmrs APSR_nzcv, fpscr 80b0aaa: db01 blt.n 80b0ab0 t = 1; 80b0aac: 2301 movs r3, #1 80b0aae: 62bb str r3, [r7, #40] ; 0x28 for(i = 0; i < 3; i++) 80b0ab0: 6afb ldr r3, [r7, #44] ; 0x2c 80b0ab2: 3301 adds r3, #1 80b0ab4: 62fb str r3, [r7, #44] ; 0x2c 80b0ab6: 6afb ldr r3, [r7, #44] ; 0x2c 80b0ab8: 2b02 cmp r3, #2 80b0aba: d9ab bls.n 80b0a14 for(i = 0; i < 3; i++) 80b0abc: 2300 movs r3, #0 80b0abe: 62fb str r3, [r7, #44] ; 0x2c 80b0ac0: e04e b.n 80b0b60 if(t == 0) 80b0ac2: 6abb ldr r3, [r7, #40] ; 0x28 80b0ac4: 2b00 cmp r3, #0 80b0ac6: d11a bne.n 80b0afe BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(fosc[i], -1), LEFT_MODE); 80b0ac8: 6afb ldr r3, [r7, #44] ; 0x2c 80b0aca: b29b uxth r3, r3 80b0acc: 019b lsls r3, r3, #6 80b0ace: b29b uxth r3, r3 80b0ad0: 3378 adds r3, #120 ; 0x78 80b0ad2: b29c uxth r4, r3 80b0ad4: 6afb ldr r3, [r7, #44] ; 0x2c 80b0ad6: 009b lsls r3, r3, #2 80b0ad8: f107 0230 add.w r2, r7, #48 ; 0x30 80b0adc: 4413 add r3, r2 80b0ade: 3b30 subs r3, #48 ; 0x30 80b0ae0: edd3 7a00 vldr s15, [r3] 80b0ae4: f04f 30ff mov.w r0, #4294967295 80b0ae8: eeb0 0a67 vmov.f32 s0, s15 80b0aec: f7b7 fb58 bl 80681a0 80b0af0: 4602 mov r2, r0 80b0af2: 2303 movs r3, #3 80b0af4: 21e2 movs r1, #226 ; 0xe2 80b0af6: 4620 mov r0, r4 80b0af8: f7a4 fc4e bl 8055398 80b0afc: e02d b.n 80b0b5a fosc[i] *= 0.001f; 80b0afe: 6afb ldr r3, [r7, #44] ; 0x2c 80b0b00: 009b lsls r3, r3, #2 80b0b02: f107 0230 add.w r2, r7, #48 ; 0x30 80b0b06: 4413 add r3, r2 80b0b08: 3b30 subs r3, #48 ; 0x30 80b0b0a: edd3 7a00 vldr s15, [r3] 80b0b0e: ed9f 7a33 vldr s14, [pc, #204] ; 80b0bdc 80b0b12: ee67 7a87 vmul.f32 s15, s15, s14 80b0b16: 6afb ldr r3, [r7, #44] ; 0x2c 80b0b18: 009b lsls r3, r3, #2 80b0b1a: f107 0230 add.w r2, r7, #48 ; 0x30 80b0b1e: 4413 add r3, r2 80b0b20: 3b30 subs r3, #48 ; 0x30 80b0b22: edc3 7a00 vstr s15, [r3] BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(fosc[i], -3), LEFT_MODE); 80b0b26: 6afb ldr r3, [r7, #44] ; 0x2c 80b0b28: b29b uxth r3, r3 80b0b2a: 019b lsls r3, r3, #6 80b0b2c: b29b uxth r3, r3 80b0b2e: 3378 adds r3, #120 ; 0x78 80b0b30: b29c uxth r4, r3 80b0b32: 6afb ldr r3, [r7, #44] ; 0x2c 80b0b34: 009b lsls r3, r3, #2 80b0b36: f107 0230 add.w r2, r7, #48 ; 0x30 80b0b3a: 4413 add r3, r2 80b0b3c: 3b30 subs r3, #48 ; 0x30 80b0b3e: edd3 7a00 vldr s15, [r3] 80b0b42: f06f 0002 mvn.w r0, #2 80b0b46: eeb0 0a67 vmov.f32 s0, s15 80b0b4a: f7b7 fb29 bl 80681a0 80b0b4e: 4602 mov r2, r0 80b0b50: 2303 movs r3, #3 80b0b52: 21e2 movs r1, #226 ; 0xe2 80b0b54: 4620 mov r0, r4 80b0b56: f7a4 fc1f bl 8055398 for(i = 0; i < 3; i++) 80b0b5a: 6afb ldr r3, [r7, #44] ; 0x2c 80b0b5c: 3301 adds r3, #1 80b0b5e: 62fb str r3, [r7, #44] ; 0x2c 80b0b60: 6afb ldr r3, [r7, #44] ; 0x2c 80b0b62: 2b02 cmp r3, #2 80b0b64: d9ad bls.n 80b0ac2 if(pardata.LANG == RUS) 80b0b66: 4b19 ldr r3, [pc, #100] ; (80b0bcc ) 80b0b68: 7b1b ldrb r3, [r3, #12] 80b0b6a: b2db uxtb r3, r3 80b0b6c: 2b00 cmp r3, #0 80b0b6e: d112 bne.n 80b0b96 if(t == 0) 80b0b70: 6abb ldr r3, [r7, #40] ; 0x28 80b0b72: 2b00 cmp r3, #0 80b0b74: d107 bne.n 80b0b86 BSP_LCD_DisplayStringAt(300, 226, "MC", LEFT_MODE); 80b0b76: 2303 movs r3, #3 80b0b78: 4a19 ldr r2, [pc, #100] ; (80b0be0 ) 80b0b7a: 21e2 movs r1, #226 ; 0xe2 80b0b7c: f44f 7096 mov.w r0, #300 ; 0x12c 80b0b80: f7a4 fc0a bl 8055398 } 80b0b84: e01a b.n 80b0bbc else BSP_LCD_DisplayStringAt(300, 226, "C", LEFT_MODE); 80b0b86: 2303 movs r3, #3 80b0b88: 4a16 ldr r2, [pc, #88] ; (80b0be4 ) 80b0b8a: 21e2 movs r1, #226 ; 0xe2 80b0b8c: f44f 7096 mov.w r0, #300 ; 0x12c 80b0b90: f7a4 fc02 bl 8055398 } 80b0b94: e012 b.n 80b0bbc if(t == 0) 80b0b96: 6abb ldr r3, [r7, #40] ; 0x28 80b0b98: 2b00 cmp r3, #0 80b0b9a: d107 bne.n 80b0bac BSP_LCD_DisplayStringAt(300, 226, "ms", LEFT_MODE); 80b0b9c: 2303 movs r3, #3 80b0b9e: 4a12 ldr r2, [pc, #72] ; (80b0be8 ) 80b0ba0: 21e2 movs r1, #226 ; 0xe2 80b0ba2: f44f 7096 mov.w r0, #300 ; 0x12c 80b0ba6: f7a4 fbf7 bl 8055398 } 80b0baa: e007 b.n 80b0bbc else BSP_LCD_DisplayStringAt(300, 226, "s", LEFT_MODE); 80b0bac: 2303 movs r3, #3 80b0bae: 4a0f ldr r2, [pc, #60] ; (80b0bec ) 80b0bb0: 21e2 movs r1, #226 ; 0xe2 80b0bb2: f44f 7096 mov.w r0, #300 ; 0x12c 80b0bb6: f7a4 fbef bl 8055398 } 80b0bba: e7ff b.n 80b0bbc 80b0bbc: bf00 nop 80b0bbe: 3730 adds r7, #48 ; 0x30 80b0bc0: 46bd mov sp, r7 80b0bc2: bdb0 pop {r4, r5, r7, pc} 80b0bc4: 20025d76 .word 0x20025d76 80b0bc8: 20020fc0 .word 0x20020fc0 80b0bcc: 20023eb8 .word 0x20023eb8 80b0bd0: 080f5fc8 .word 0x080f5fc8 80b0bd4: 080f60a4 .word 0x080f60a4 80b0bd8: 447a0000 .word 0x447a0000 80b0bdc: 3a83126f .word 0x3a83126f 80b0be0: 080d7564 .word 0x080d7564 80b0be4: 080d7560 .word 0x080d7560 80b0be8: 080d74f4 .word 0x080d74f4 80b0bec: 080d74e4 .word 0x080d74e4 080b0bf0 : void DrawMarkers(void) // TODO { 80b0bf0: b590 push {r4, r7, lr} 80b0bf2: b083 sub sp, #12 80b0bf4: af00 add r7, sp, #0 uint8_t type = 0; 80b0bf6: 2300 movs r3, #0 80b0bf8: 71fb strb r3, [r7, #7] if(menu != MAIN_OSC) { 80b0bfa: 4b9f ldr r3, [pc, #636] ; (80b0e78 ) 80b0bfc: 781b ldrb r3, [r3, #0] 80b0bfe: b2db uxtb r3, r3 80b0c00: 2b1d cmp r3, #29 80b0c02: d001 beq.n 80b0c08 type = 1; 80b0c04: 2301 movs r3, #1 80b0c06: 71fb strb r3, [r7, #7] } BSP_LCD_SetFont(&Font8); 80b0c08: 489c ldr r0, [pc, #624] ; (80b0e7c ) 80b0c0a: f7a4 fb3b bl 8055284 /////////////////////////////////////////// /////////////// MARKER #1 ///////////////// /////////////////////////////////////////// if(DynamicCursor[0].Enabled) 80b0c0e: 4b9c ldr r3, [pc, #624] ; (80b0e80 ) 80b0c10: 781b ldrb r3, [r3, #0] 80b0c12: 2b00 cmp r3, #0 80b0c14: f000 80ec beq.w 80b0df0 { if((DynamicCursor[0].fineMpos - DynamicCursor[0].Mpos) < Avg[type][5 * ViewLevel + pardata.LNE]) 80b0c18: 4b99 ldr r3, [pc, #612] ; (80b0e80 ) 80b0c1a: 88db ldrh r3, [r3, #6] 80b0c1c: 461a mov r2, r3 80b0c1e: 4b98 ldr r3, [pc, #608] ; (80b0e80 ) 80b0c20: 889b ldrh r3, [r3, #4] 80b0c22: 1ad1 subs r1, r2, r3 80b0c24: 79fa ldrb r2, [r7, #7] 80b0c26: 4b97 ldr r3, [pc, #604] ; (80b0e84 ) 80b0c28: 781b ldrb r3, [r3, #0] 80b0c2a: b2db uxtb r3, r3 80b0c2c: 4618 mov r0, r3 80b0c2e: 4603 mov r3, r0 80b0c30: 009b lsls r3, r3, #2 80b0c32: 4403 add r3, r0 80b0c34: 4894 ldr r0, [pc, #592] ; (80b0e88 ) 80b0c36: 79c0 ldrb r0, [r0, #7] 80b0c38: b2c0 uxtb r0, r0 80b0c3a: 4418 add r0, r3 80b0c3c: 4c93 ldr r4, [pc, #588] ; (80b0e8c ) 80b0c3e: 4613 mov r3, r2 80b0c40: 009b lsls r3, r3, #2 80b0c42: 4413 add r3, r2 80b0c44: 00da lsls r2, r3, #3 80b0c46: 1ad2 subs r2, r2, r3 80b0c48: 1813 adds r3, r2, r0 80b0c4a: f834 3013 ldrh.w r3, [r4, r3, lsl #1] 80b0c4e: 4299 cmp r1, r3 80b0c50: da21 bge.n 80b0c96 DynamicCursor[0].CURSOR = (DynamicCursor[0].Mpos - X0) / Avg[type][5 * ViewLevel + pardata.LNE]; 80b0c52: 4b8b ldr r3, [pc, #556] ; (80b0e80 ) 80b0c54: 889b ldrh r3, [r3, #4] 80b0c56: 461a mov r2, r3 80b0c58: 4b8d ldr r3, [pc, #564] ; (80b0e90 ) 80b0c5a: 881b ldrh r3, [r3, #0] 80b0c5c: b29b uxth r3, r3 80b0c5e: 1ad1 subs r1, r2, r3 80b0c60: 79fa ldrb r2, [r7, #7] 80b0c62: 4b88 ldr r3, [pc, #544] ; (80b0e84 ) 80b0c64: 781b ldrb r3, [r3, #0] 80b0c66: b2db uxtb r3, r3 80b0c68: 4618 mov r0, r3 80b0c6a: 4603 mov r3, r0 80b0c6c: 009b lsls r3, r3, #2 80b0c6e: 4403 add r3, r0 80b0c70: 4885 ldr r0, [pc, #532] ; (80b0e88 ) 80b0c72: 79c0 ldrb r0, [r0, #7] 80b0c74: b2c0 uxtb r0, r0 80b0c76: 4418 add r0, r3 80b0c78: 4c84 ldr r4, [pc, #528] ; (80b0e8c ) 80b0c7a: 4613 mov r3, r2 80b0c7c: 009b lsls r3, r3, #2 80b0c7e: 4413 add r3, r2 80b0c80: 00da lsls r2, r3, #3 80b0c82: 1ad2 subs r2, r2, r3 80b0c84: 1813 adds r3, r2, r0 80b0c86: f834 3013 ldrh.w r3, [r4, r3, lsl #1] 80b0c8a: fb91 f3f3 sdiv r3, r1, r3 80b0c8e: b29a uxth r2, r3 80b0c90: 4b7b ldr r3, [pc, #492] ; (80b0e80 ) 80b0c92: 805a strh r2, [r3, #2] 80b0c94: e03b b.n 80b0d0e else { DynamicCursor[0].Mpos += Avg[type][5 * ViewLevel + pardata.LNE]; 80b0c96: 79fa ldrb r2, [r7, #7] 80b0c98: 4b7a ldr r3, [pc, #488] ; (80b0e84 ) 80b0c9a: 781b ldrb r3, [r3, #0] 80b0c9c: b2db uxtb r3, r3 80b0c9e: 4619 mov r1, r3 80b0ca0: 460b mov r3, r1 80b0ca2: 009b lsls r3, r3, #2 80b0ca4: 440b add r3, r1 80b0ca6: 4978 ldr r1, [pc, #480] ; (80b0e88 ) 80b0ca8: 79c9 ldrb r1, [r1, #7] 80b0caa: b2c9 uxtb r1, r1 80b0cac: 4419 add r1, r3 80b0cae: 4877 ldr r0, [pc, #476] ; (80b0e8c ) 80b0cb0: 4613 mov r3, r2 80b0cb2: 009b lsls r3, r3, #2 80b0cb4: 4413 add r3, r2 80b0cb6: 00da lsls r2, r3, #3 80b0cb8: 1ad2 subs r2, r2, r3 80b0cba: 1853 adds r3, r2, r1 80b0cbc: f830 3013 ldrh.w r3, [r0, r3, lsl #1] 80b0cc0: 4a6f ldr r2, [pc, #444] ; (80b0e80 ) 80b0cc2: 8892 ldrh r2, [r2, #4] 80b0cc4: 4413 add r3, r2 80b0cc6: b29a uxth r2, r3 80b0cc8: 4b6d ldr r3, [pc, #436] ; (80b0e80 ) 80b0cca: 809a strh r2, [r3, #4] DynamicCursor[0].CURSOR = (DynamicCursor[0].Mpos - X0) / Avg[type][5 * ViewLevel + pardata.LNE]; 80b0ccc: 4b6c ldr r3, [pc, #432] ; (80b0e80 ) 80b0cce: 889b ldrh r3, [r3, #4] 80b0cd0: 461a mov r2, r3 80b0cd2: 4b6f ldr r3, [pc, #444] ; (80b0e90 ) 80b0cd4: 881b ldrh r3, [r3, #0] 80b0cd6: b29b uxth r3, r3 80b0cd8: 1ad1 subs r1, r2, r3 80b0cda: 79fa ldrb r2, [r7, #7] 80b0cdc: 4b69 ldr r3, [pc, #420] ; (80b0e84 ) 80b0cde: 781b ldrb r3, [r3, #0] 80b0ce0: b2db uxtb r3, r3 80b0ce2: 4618 mov r0, r3 80b0ce4: 4603 mov r3, r0 80b0ce6: 009b lsls r3, r3, #2 80b0ce8: 4403 add r3, r0 80b0cea: 4867 ldr r0, [pc, #412] ; (80b0e88 ) 80b0cec: 79c0 ldrb r0, [r0, #7] 80b0cee: b2c0 uxtb r0, r0 80b0cf0: 4418 add r0, r3 80b0cf2: 4c66 ldr r4, [pc, #408] ; (80b0e8c ) 80b0cf4: 4613 mov r3, r2 80b0cf6: 009b lsls r3, r3, #2 80b0cf8: 4413 add r3, r2 80b0cfa: 00da lsls r2, r3, #3 80b0cfc: 1ad2 subs r2, r2, r3 80b0cfe: 1813 adds r3, r2, r0 80b0d00: f834 3013 ldrh.w r3, [r4, r3, lsl #1] 80b0d04: fb91 f3f3 sdiv r3, r1, r3 80b0d08: b29a uxth r2, r3 80b0d0a: 4b5d ldr r3, [pc, #372] ; (80b0e80 ) 80b0d0c: 805a strh r2, [r3, #2] } LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80b0d0e: 4961 ldr r1, [pc, #388] ; (80b0e94 ) 80b0d10: 4861 ldr r0, [pc, #388] ; (80b0e98 ) 80b0d12: f7a4 fa7b bl 805520c if(DynamicCursor[0].CURSOR >= 0 && DynamicCursor[0].CURSOR <= 255) 80b0d16: 4b5a ldr r3, [pc, #360] ; (80b0e80 ) 80b0d18: 885b ldrh r3, [r3, #2] 80b0d1a: 2bff cmp r3, #255 ; 0xff 80b0d1c: d84c bhi.n 80b0db8 { if(menu == MAIN_OSC) 80b0d1e: 4b56 ldr r3, [pc, #344] ; (80b0e78 ) 80b0d20: 781b ldrb r3, [r3, #0] 80b0d22: b2db uxtb r3, r3 80b0d24: 2b1d cmp r3, #29 80b0d26: d123 bne.n 80b0d70 { //DynamicCursor[0].CURSOR = (DynamicCursor[0].Mpos - X0) / Avg[0][5 * ViewLevel + pardata.LNE]; if((!FIRST) && (Stability > (Nr * 4))) 80b0d28: 4b5c ldr r3, [pc, #368] ; (80b0e9c ) 80b0d2a: 781b ldrb r3, [r3, #0] 80b0d2c: b2db uxtb r3, r3 80b0d2e: f083 0301 eor.w r3, r3, #1 80b0d32: b2db uxtb r3, r3 80b0d34: 2b00 cmp r3, #0 80b0d36: d05b beq.n 80b0df0 80b0d38: 4b59 ldr r3, [pc, #356] ; (80b0ea0 ) 80b0d3a: 881b ldrh r3, [r3, #0] 80b0d3c: b29b uxth r3, r3 80b0d3e: 009b lsls r3, r3, #2 80b0d40: 461a mov r2, r3 80b0d42: 4b58 ldr r3, [pc, #352] ; (80b0ea4 ) 80b0d44: 681b ldr r3, [r3, #0] 80b0d46: 429a cmp r2, r3 80b0d48: d252 bcs.n 80b0df0 { BSP_LCD_DrawVLine(62 + DynamicCursor[0].CURSOR, 44, 191); 80b0d4a: 4b4d ldr r3, [pc, #308] ; (80b0e80 ) 80b0d4c: 885b ldrh r3, [r3, #2] 80b0d4e: 333e adds r3, #62 ; 0x3e 80b0d50: b29b uxth r3, r3 80b0d52: 22bf movs r2, #191 ; 0xbf 80b0d54: 212c movs r1, #44 ; 0x2c 80b0d56: 4618 mov r0, r3 80b0d58: f7a4 fc30 bl 80555bc BSP_LCD_DisplayStringAt(62 + DynamicCursor[0].CURSOR, 70, "1", CENTER_MODE); 80b0d5c: 4b48 ldr r3, [pc, #288] ; (80b0e80 ) 80b0d5e: 885b ldrh r3, [r3, #2] 80b0d60: 333e adds r3, #62 ; 0x3e 80b0d62: b298 uxth r0, r3 80b0d64: 2301 movs r3, #1 80b0d66: 4a50 ldr r2, [pc, #320] ; (80b0ea8 ) 80b0d68: 2146 movs r1, #70 ; 0x46 80b0d6a: f7a4 fb15 bl 8055398 80b0d6e: e03f b.n 80b0df0 } } else { //DynamicCursor[0].CURSOR = (DynamicCursor[0].Mpos - X0) / Avg[1][5 * ViewLevel + pardata.LNE]; if((!FIRST) && (Stability > (Nr * 4))) 80b0d70: 4b4a ldr r3, [pc, #296] ; (80b0e9c ) 80b0d72: 781b ldrb r3, [r3, #0] 80b0d74: b2db uxtb r3, r3 80b0d76: f083 0301 eor.w r3, r3, #1 80b0d7a: b2db uxtb r3, r3 80b0d7c: 2b00 cmp r3, #0 80b0d7e: d037 beq.n 80b0df0 80b0d80: 4b47 ldr r3, [pc, #284] ; (80b0ea0 ) 80b0d82: 881b ldrh r3, [r3, #0] 80b0d84: b29b uxth r3, r3 80b0d86: 009b lsls r3, r3, #2 80b0d88: 461a mov r2, r3 80b0d8a: 4b46 ldr r3, [pc, #280] ; (80b0ea4 ) 80b0d8c: 681b ldr r3, [r3, #0] 80b0d8e: 429a cmp r2, r3 80b0d90: d22e bcs.n 80b0df0 { BSP_LCD_DrawVLine(62 + DynamicCursor[0].CURSOR, 44, 191); 80b0d92: 4b3b ldr r3, [pc, #236] ; (80b0e80 ) 80b0d94: 885b ldrh r3, [r3, #2] 80b0d96: 333e adds r3, #62 ; 0x3e 80b0d98: b29b uxth r3, r3 80b0d9a: 22bf movs r2, #191 ; 0xbf 80b0d9c: 212c movs r1, #44 ; 0x2c 80b0d9e: 4618 mov r0, r3 80b0da0: f7a4 fc0c bl 80555bc BSP_LCD_DisplayStringAt(62 + DynamicCursor[0].CURSOR, 70, "1", CENTER_MODE); 80b0da4: 4b36 ldr r3, [pc, #216] ; (80b0e80 ) 80b0da6: 885b ldrh r3, [r3, #2] 80b0da8: 333e adds r3, #62 ; 0x3e 80b0daa: b298 uxth r0, r3 80b0dac: 2301 movs r3, #1 80b0dae: 4a3e ldr r2, [pc, #248] ; (80b0ea8 ) 80b0db0: 2146 movs r1, #70 ; 0x46 80b0db2: f7a4 faf1 bl 8055398 80b0db6: e01b b.n 80b0df0 } } else { // marker position is outleft or outright of window screen if(DynamicCursor[0].Mpos < lX) 80b0db8: 4b31 ldr r3, [pc, #196] ; (80b0e80 ) 80b0dba: 889a ldrh r2, [r3, #4] 80b0dbc: 4b3b ldr r3, [pc, #236] ; (80b0eac ) 80b0dbe: 881b ldrh r3, [r3, #0] 80b0dc0: b29b uxth r3, r3 80b0dc2: 429a cmp r2, r3 80b0dc4: d206 bcs.n 80b0dd4 { BSP_LCD_DisplayStringAt(62, 70, "1", CENTER_MODE); 80b0dc6: 2301 movs r3, #1 80b0dc8: 4a37 ldr r2, [pc, #220] ; (80b0ea8 ) 80b0dca: 2146 movs r1, #70 ; 0x46 80b0dcc: 203e movs r0, #62 ; 0x3e 80b0dce: f7a4 fae3 bl 8055398 80b0dd2: e00d b.n 80b0df0 } else if(DynamicCursor[0].Mpos >= rX) 80b0dd4: 4b2a ldr r3, [pc, #168] ; (80b0e80 ) 80b0dd6: 889a ldrh r2, [r3, #4] 80b0dd8: 4b35 ldr r3, [pc, #212] ; (80b0eb0 ) 80b0dda: 881b ldrh r3, [r3, #0] 80b0ddc: b29b uxth r3, r3 80b0dde: 429a cmp r2, r3 80b0de0: d306 bcc.n 80b0df0 { BSP_LCD_DisplayStringAt(62 + 255, 70, "1", CENTER_MODE); 80b0de2: 2301 movs r3, #1 80b0de4: 4a30 ldr r2, [pc, #192] ; (80b0ea8 ) 80b0de6: 2146 movs r1, #70 ; 0x46 80b0de8: f240 103d movw r0, #317 ; 0x13d 80b0dec: f7a4 fad4 bl 8055398 } } /////////////////////////////////////////// /////////////// MARKER #2 ///////////////// /////////////////////////////////////////// if(DynamicCursor[1].Enabled) 80b0df0: 4b23 ldr r3, [pc, #140] ; (80b0e80 ) 80b0df2: 7c1b ldrb r3, [r3, #16] 80b0df4: 2b00 cmp r3, #0 80b0df6: f000 810a beq.w 80b100e { if((DynamicCursor[1].fineMpos - DynamicCursor[1].Mpos) < Avg[type][5 * ViewLevel + pardata.LNE]) 80b0dfa: 4b21 ldr r3, [pc, #132] ; (80b0e80 ) 80b0dfc: 8adb ldrh r3, [r3, #22] 80b0dfe: 461a mov r2, r3 80b0e00: 4b1f ldr r3, [pc, #124] ; (80b0e80 ) 80b0e02: 8a9b ldrh r3, [r3, #20] 80b0e04: 1ad1 subs r1, r2, r3 80b0e06: 79fa ldrb r2, [r7, #7] 80b0e08: 4b1e ldr r3, [pc, #120] ; (80b0e84 ) 80b0e0a: 781b ldrb r3, [r3, #0] 80b0e0c: b2db uxtb r3, r3 80b0e0e: 4618 mov r0, r3 80b0e10: 4603 mov r3, r0 80b0e12: 009b lsls r3, r3, #2 80b0e14: 4403 add r3, r0 80b0e16: 481c ldr r0, [pc, #112] ; (80b0e88 ) 80b0e18: 79c0 ldrb r0, [r0, #7] 80b0e1a: b2c0 uxtb r0, r0 80b0e1c: 4418 add r0, r3 80b0e1e: 4c1b ldr r4, [pc, #108] ; (80b0e8c ) 80b0e20: 4613 mov r3, r2 80b0e22: 009b lsls r3, r3, #2 80b0e24: 4413 add r3, r2 80b0e26: 00da lsls r2, r3, #3 80b0e28: 1ad2 subs r2, r2, r3 80b0e2a: 1813 adds r3, r2, r0 80b0e2c: f834 3013 ldrh.w r3, [r4, r3, lsl #1] 80b0e30: 4299 cmp r1, r3 80b0e32: da3f bge.n 80b0eb4 DynamicCursor[1].CURSOR = (DynamicCursor[1].Mpos - X0) / Avg[type][5 * ViewLevel + pardata.LNE]; 80b0e34: 4b12 ldr r3, [pc, #72] ; (80b0e80 ) 80b0e36: 8a9b ldrh r3, [r3, #20] 80b0e38: 461a mov r2, r3 80b0e3a: 4b15 ldr r3, [pc, #84] ; (80b0e90 ) 80b0e3c: 881b ldrh r3, [r3, #0] 80b0e3e: b29b uxth r3, r3 80b0e40: 1ad1 subs r1, r2, r3 80b0e42: 79fa ldrb r2, [r7, #7] 80b0e44: 4b0f ldr r3, [pc, #60] ; (80b0e84 ) 80b0e46: 781b ldrb r3, [r3, #0] 80b0e48: b2db uxtb r3, r3 80b0e4a: 4618 mov r0, r3 80b0e4c: 4603 mov r3, r0 80b0e4e: 009b lsls r3, r3, #2 80b0e50: 4403 add r3, r0 80b0e52: 480d ldr r0, [pc, #52] ; (80b0e88 ) 80b0e54: 79c0 ldrb r0, [r0, #7] 80b0e56: b2c0 uxtb r0, r0 80b0e58: 4418 add r0, r3 80b0e5a: 4c0c ldr r4, [pc, #48] ; (80b0e8c ) 80b0e5c: 4613 mov r3, r2 80b0e5e: 009b lsls r3, r3, #2 80b0e60: 4413 add r3, r2 80b0e62: 00da lsls r2, r3, #3 80b0e64: 1ad2 subs r2, r2, r3 80b0e66: 1813 adds r3, r2, r0 80b0e68: f834 3013 ldrh.w r3, [r4, r3, lsl #1] 80b0e6c: fb91 f3f3 sdiv r3, r1, r3 80b0e70: b29a uxth r2, r3 80b0e72: 4b03 ldr r3, [pc, #12] ; (80b0e80 ) 80b0e74: 825a strh r2, [r3, #18] 80b0e76: e059 b.n 80b0f2c 80b0e78: 20020fc5 .word 0x20020fc5 80b0e7c: 20020060 .word 0x20020060 80b0e80: 20020f94 .word 0x20020f94 80b0e84: 20020fc0 .word 0x20020fc0 80b0e88: 20023eb8 .word 0x20023eb8 80b0e8c: 080f6000 .word 0x080f6000 80b0e90: 20025d76 .word 0x20025d76 80b0e94: ff0a0f1f .word 0xff0a0f1f 80b0e98: ffffa500 .word 0xffffa500 80b0e9c: 20020dd2 .word 0x20020dd2 80b0ea0: 20021d70 .word 0x20021d70 80b0ea4: 20020dc8 .word 0x20020dc8 80b0ea8: 080d52c4 .word 0x080d52c4 80b0eac: 20025d72 .word 0x20025d72 80b0eb0: 20025d78 .word 0x20025d78 else { DynamicCursor[1].Mpos += Avg[type][5 * ViewLevel + pardata.LNE]; 80b0eb4: 79fa ldrb r2, [r7, #7] 80b0eb6: 4b59 ldr r3, [pc, #356] ; (80b101c ) 80b0eb8: 781b ldrb r3, [r3, #0] 80b0eba: b2db uxtb r3, r3 80b0ebc: 4619 mov r1, r3 80b0ebe: 460b mov r3, r1 80b0ec0: 009b lsls r3, r3, #2 80b0ec2: 440b add r3, r1 80b0ec4: 4956 ldr r1, [pc, #344] ; (80b1020 ) 80b0ec6: 79c9 ldrb r1, [r1, #7] 80b0ec8: b2c9 uxtb r1, r1 80b0eca: 4419 add r1, r3 80b0ecc: 4855 ldr r0, [pc, #340] ; (80b1024 ) 80b0ece: 4613 mov r3, r2 80b0ed0: 009b lsls r3, r3, #2 80b0ed2: 4413 add r3, r2 80b0ed4: 00da lsls r2, r3, #3 80b0ed6: 1ad2 subs r2, r2, r3 80b0ed8: 1853 adds r3, r2, r1 80b0eda: f830 3013 ldrh.w r3, [r0, r3, lsl #1] 80b0ede: 4a52 ldr r2, [pc, #328] ; (80b1028 ) 80b0ee0: 8a92 ldrh r2, [r2, #20] 80b0ee2: 4413 add r3, r2 80b0ee4: b29a uxth r2, r3 80b0ee6: 4b50 ldr r3, [pc, #320] ; (80b1028 ) 80b0ee8: 829a strh r2, [r3, #20] DynamicCursor[1].CURSOR = (DynamicCursor[1].Mpos - X0) / Avg[type][5 * ViewLevel + pardata.LNE]; 80b0eea: 4b4f ldr r3, [pc, #316] ; (80b1028 ) 80b0eec: 8a9b ldrh r3, [r3, #20] 80b0eee: 461a mov r2, r3 80b0ef0: 4b4e ldr r3, [pc, #312] ; (80b102c ) 80b0ef2: 881b ldrh r3, [r3, #0] 80b0ef4: b29b uxth r3, r3 80b0ef6: 1ad1 subs r1, r2, r3 80b0ef8: 79fa ldrb r2, [r7, #7] 80b0efa: 4b48 ldr r3, [pc, #288] ; (80b101c ) 80b0efc: 781b ldrb r3, [r3, #0] 80b0efe: b2db uxtb r3, r3 80b0f00: 4618 mov r0, r3 80b0f02: 4603 mov r3, r0 80b0f04: 009b lsls r3, r3, #2 80b0f06: 4403 add r3, r0 80b0f08: 4845 ldr r0, [pc, #276] ; (80b1020 ) 80b0f0a: 79c0 ldrb r0, [r0, #7] 80b0f0c: b2c0 uxtb r0, r0 80b0f0e: 4418 add r0, r3 80b0f10: 4c44 ldr r4, [pc, #272] ; (80b1024 ) 80b0f12: 4613 mov r3, r2 80b0f14: 009b lsls r3, r3, #2 80b0f16: 4413 add r3, r2 80b0f18: 00da lsls r2, r3, #3 80b0f1a: 1ad2 subs r2, r2, r3 80b0f1c: 1813 adds r3, r2, r0 80b0f1e: f834 3013 ldrh.w r3, [r4, r3, lsl #1] 80b0f22: fb91 f3f3 sdiv r3, r1, r3 80b0f26: b29a uxth r2, r3 80b0f28: 4b3f ldr r3, [pc, #252] ; (80b1028 ) 80b0f2a: 825a strh r2, [r3, #18] } LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80b0f2c: 4940 ldr r1, [pc, #256] ; (80b1030 ) 80b0f2e: 4841 ldr r0, [pc, #260] ; (80b1034 ) 80b0f30: f7a4 f96c bl 805520c if(DynamicCursor[1].CURSOR >= 0 && DynamicCursor[1].CURSOR <= 255) 80b0f34: 4b3c ldr r3, [pc, #240] ; (80b1028 ) 80b0f36: 8a5b ldrh r3, [r3, #18] 80b0f38: 2bff cmp r3, #255 ; 0xff 80b0f3a: d84c bhi.n 80b0fd6 { if(menu == MAIN_OSC) 80b0f3c: 4b3e ldr r3, [pc, #248] ; (80b1038 ) 80b0f3e: 781b ldrb r3, [r3, #0] 80b0f40: b2db uxtb r3, r3 80b0f42: 2b1d cmp r3, #29 80b0f44: d123 bne.n 80b0f8e { if((!FIRST) && (Stability > (Nr * 4))) 80b0f46: 4b3d ldr r3, [pc, #244] ; (80b103c ) 80b0f48: 781b ldrb r3, [r3, #0] 80b0f4a: b2db uxtb r3, r3 80b0f4c: f083 0301 eor.w r3, r3, #1 80b0f50: b2db uxtb r3, r3 80b0f52: 2b00 cmp r3, #0 80b0f54: d05b beq.n 80b100e 80b0f56: 4b3a ldr r3, [pc, #232] ; (80b1040 ) 80b0f58: 881b ldrh r3, [r3, #0] 80b0f5a: b29b uxth r3, r3 80b0f5c: 009b lsls r3, r3, #2 80b0f5e: 461a mov r2, r3 80b0f60: 4b38 ldr r3, [pc, #224] ; (80b1044 ) 80b0f62: 681b ldr r3, [r3, #0] 80b0f64: 429a cmp r2, r3 80b0f66: d252 bcs.n 80b100e { BSP_LCD_DrawVLine(62 + DynamicCursor[1].CURSOR, 44, 191); 80b0f68: 4b2f ldr r3, [pc, #188] ; (80b1028 ) 80b0f6a: 8a5b ldrh r3, [r3, #18] 80b0f6c: 333e adds r3, #62 ; 0x3e 80b0f6e: b29b uxth r3, r3 80b0f70: 22bf movs r2, #191 ; 0xbf 80b0f72: 212c movs r1, #44 ; 0x2c 80b0f74: 4618 mov r0, r3 80b0f76: f7a4 fb21 bl 80555bc BSP_LCD_DisplayStringAt(62 + DynamicCursor[1].CURSOR, 70, "2", CENTER_MODE); 80b0f7a: 4b2b ldr r3, [pc, #172] ; (80b1028 ) 80b0f7c: 8a5b ldrh r3, [r3, #18] 80b0f7e: 333e adds r3, #62 ; 0x3e 80b0f80: b298 uxth r0, r3 80b0f82: 2301 movs r3, #1 80b0f84: 4a30 ldr r2, [pc, #192] ; (80b1048 ) 80b0f86: 2146 movs r1, #70 ; 0x46 80b0f88: f7a4 fa06 bl 8055398 80b0f8c: e03f b.n 80b100e } } else { if((!FIRST) && (Stability > (Nr * 4))) 80b0f8e: 4b2b ldr r3, [pc, #172] ; (80b103c ) 80b0f90: 781b ldrb r3, [r3, #0] 80b0f92: b2db uxtb r3, r3 80b0f94: f083 0301 eor.w r3, r3, #1 80b0f98: b2db uxtb r3, r3 80b0f9a: 2b00 cmp r3, #0 80b0f9c: d037 beq.n 80b100e 80b0f9e: 4b28 ldr r3, [pc, #160] ; (80b1040 ) 80b0fa0: 881b ldrh r3, [r3, #0] 80b0fa2: b29b uxth r3, r3 80b0fa4: 009b lsls r3, r3, #2 80b0fa6: 461a mov r2, r3 80b0fa8: 4b26 ldr r3, [pc, #152] ; (80b1044 ) 80b0faa: 681b ldr r3, [r3, #0] 80b0fac: 429a cmp r2, r3 80b0fae: d22e bcs.n 80b100e { BSP_LCD_DrawVLine(62 + DynamicCursor[1].CURSOR, 44, 191); 80b0fb0: 4b1d ldr r3, [pc, #116] ; (80b1028 ) 80b0fb2: 8a5b ldrh r3, [r3, #18] 80b0fb4: 333e adds r3, #62 ; 0x3e 80b0fb6: b29b uxth r3, r3 80b0fb8: 22bf movs r2, #191 ; 0xbf 80b0fba: 212c movs r1, #44 ; 0x2c 80b0fbc: 4618 mov r0, r3 80b0fbe: f7a4 fafd bl 80555bc BSP_LCD_DisplayStringAt(62 + DynamicCursor[1].CURSOR, 70, "2", CENTER_MODE); 80b0fc2: 4b19 ldr r3, [pc, #100] ; (80b1028 ) 80b0fc4: 8a5b ldrh r3, [r3, #18] 80b0fc6: 333e adds r3, #62 ; 0x3e 80b0fc8: b298 uxth r0, r3 80b0fca: 2301 movs r3, #1 80b0fcc: 4a1e ldr r2, [pc, #120] ; (80b1048 ) 80b0fce: 2146 movs r1, #70 ; 0x46 80b0fd0: f7a4 f9e2 bl 8055398 80b0fd4: e01b b.n 80b100e } } else { // marker position is outleft or outright of window screen if(DynamicCursor[1].Mpos < lX) 80b0fd6: 4b14 ldr r3, [pc, #80] ; (80b1028 ) 80b0fd8: 8a9a ldrh r2, [r3, #20] 80b0fda: 4b1c ldr r3, [pc, #112] ; (80b104c ) 80b0fdc: 881b ldrh r3, [r3, #0] 80b0fde: b29b uxth r3, r3 80b0fe0: 429a cmp r2, r3 80b0fe2: d206 bcs.n 80b0ff2 { BSP_LCD_DisplayStringAt(62, 70, "2", CENTER_MODE); 80b0fe4: 2301 movs r3, #1 80b0fe6: 4a18 ldr r2, [pc, #96] ; (80b1048 ) 80b0fe8: 2146 movs r1, #70 ; 0x46 80b0fea: 203e movs r0, #62 ; 0x3e 80b0fec: f7a4 f9d4 bl 8055398 80b0ff0: e00d b.n 80b100e } else if(DynamicCursor[1].Mpos >= rX) 80b0ff2: 4b0d ldr r3, [pc, #52] ; (80b1028 ) 80b0ff4: 8a9a ldrh r2, [r3, #20] 80b0ff6: 4b16 ldr r3, [pc, #88] ; (80b1050 ) 80b0ff8: 881b ldrh r3, [r3, #0] 80b0ffa: b29b uxth r3, r3 80b0ffc: 429a cmp r2, r3 80b0ffe: d306 bcc.n 80b100e { BSP_LCD_DisplayStringAt(62 + 255, 70, "2", CENTER_MODE); 80b1000: 2301 movs r3, #1 80b1002: 4a11 ldr r2, [pc, #68] ; (80b1048 ) 80b1004: 2146 movs r1, #70 ; 0x46 80b1006: f240 103d movw r0, #317 ; 0x13d 80b100a: f7a4 f9c5 bl 8055398 } /////////////////////////////////////////// BSP_LCD_SetFont(&Font12); 80b100e: 4811 ldr r0, [pc, #68] ; (80b1054 ) 80b1010: f7a4 f938 bl 8055284 } 80b1014: bf00 nop 80b1016: 370c adds r7, #12 80b1018: 46bd mov sp, r7 80b101a: bd90 pop {r4, r7, pc} 80b101c: 20020fc0 .word 0x20020fc0 80b1020: 20023eb8 .word 0x20023eb8 80b1024: 080f6000 .word 0x080f6000 80b1028: 20020f94 .word 0x20020f94 80b102c: 20025d76 .word 0x20025d76 80b1030: ff0a0f1f .word 0xff0a0f1f 80b1034: ffffa500 .word 0xffffa500 80b1038: 20020fc5 .word 0x20020fc5 80b103c: 20020dd2 .word 0x20020dd2 80b1040: 20021d70 .word 0x20021d70 80b1044: 20020dc8 .word 0x20020dc8 80b1048: 080d52c8 .word 0x080d52c8 80b104c: 20025d72 .word 0x20025d72 80b1050: 20025d78 .word 0x20025d78 80b1054: 20020038 .word 0x20020038 080b1058 : void DrawButtons(uint8_t menupos) // TODO { 80b1058: b580 push {r7, lr} 80b105a: b082 sub sp, #8 80b105c: af00 add r7, sp, #0 80b105e: 4603 mov r3, r0 80b1060: 71fb strb r3, [r7, #7] BSP_LCD_SetFont(&Font12); 80b1062: 48ab ldr r0, [pc, #684] ; (80b1310 ) 80b1064: f7a4 f90e bl 8055284 switch(menupos) 80b1068: 79fb ldrb r3, [r7, #7] 80b106a: 2b09 cmp r3, #9 80b106c: f200 8516 bhi.w 80b1a9c 80b1070: a201 add r2, pc, #4 ; (adr r2, 80b1078 ) 80b1072: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80b1076: bf00 nop 80b1078: 080b1629 .word 0x080b1629 80b107c: 080b1a9d .word 0x080b1a9d 80b1080: 080b10a1 .word 0x080b10a1 80b1084: 080b11d9 .word 0x080b11d9 80b1088: 080b1369 .word 0x080b1369 80b108c: 080b149f .word 0x080b149f 80b1090: 080b1783 .word 0x080b1783 80b1094: 080b1a9d .word 0x080b1a9d 80b1098: 080b1911 .word 0x080b1911 80b109c: 080b19bf .word 0x080b19bf { case ImageLeft: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b10a0: 499c ldr r1, [pc, #624] ; (80b1314 ) 80b10a2: f04f 30ff mov.w r0, #4294967295 80b10a6: f7a4 f8b1 bl 805520c if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80b10aa: 4b9b ldr r3, [pc, #620] ; (80b1318 ) 80b10ac: 781b ldrb r3, [r3, #0] 80b10ae: b2db uxtb r3, r3 80b10b0: 2b1c cmp r3, #28 80b10b2: d00e beq.n 80b10d2 80b10b4: 4b98 ldr r3, [pc, #608] ; (80b1318 ) 80b10b6: 781b ldrb r3, [r3, #0] 80b10b8: b2db uxtb r3, r3 80b10ba: 2b21 cmp r3, #33 ; 0x21 80b10bc: d009 beq.n 80b10d2 80b10be: 4b96 ldr r3, [pc, #600] ; (80b1318 ) 80b10c0: 781b ldrb r3, [r3, #0] 80b10c2: b2db uxtb r3, r3 80b10c4: 2b22 cmp r3, #34 ; 0x22 80b10c6: d004 beq.n 80b10d2 80b10c8: 4b93 ldr r3, [pc, #588] ; (80b1318 ) 80b10ca: 781b ldrb r3, [r3, #0] 80b10cc: b2db uxtb r3, r3 80b10ce: 2b23 cmp r3, #35 ; 0x23 80b10d0: d109 bne.n 80b10e6 80b10d2: 4b92 ldr r3, [pc, #584] ; (80b131c ) 80b10d4: 781b ldrb r3, [r3, #0] 80b10d6: b2db uxtb r3, r3 80b10d8: 2b00 cmp r3, #0 80b10da: d004 beq.n 80b10e6 DrawImage(&bmOSC_SAVE, 3, 108-26); 80b10dc: 2252 movs r2, #82 ; 0x52 80b10de: 2103 movs r1, #3 80b10e0: 488f ldr r0, [pc, #572] ; (80b1320 ) 80b10e2: f7a4 ff87 bl 8055ff4 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80b10e6: 4b8c ldr r3, [pc, #560] ; (80b1318 ) 80b10e8: 781b ldrb r3, [r3, #0] 80b10ea: b2db uxtb r3, r3 80b10ec: 2b24 cmp r3, #36 ; 0x24 80b10ee: d004 beq.n 80b10fa 80b10f0: 4b89 ldr r3, [pc, #548] ; (80b1318 ) 80b10f2: 781b ldrb r3, [r3, #0] 80b10f4: b2db uxtb r3, r3 80b10f6: 2b27 cmp r3, #39 ; 0x27 80b10f8: d109 bne.n 80b110e 80b10fa: 4b8a ldr r3, [pc, #552] ; (80b1324 ) 80b10fc: 781b ldrb r3, [r3, #0] 80b10fe: b2db uxtb r3, r3 80b1100: 2b00 cmp r3, #0 80b1102: d004 beq.n 80b110e DrawImage(&bmRESULT_1, 3, 108-26); 80b1104: 2252 movs r2, #82 ; 0x52 80b1106: 2103 movs r1, #3 80b1108: 4887 ldr r0, [pc, #540] ; (80b1328 ) 80b110a: f7a4 ff73 bl 8055ff4 DrawImage(&bmLEFT_1_LIGHT, 3, 108); 80b110e: 226c movs r2, #108 ; 0x6c 80b1110: 2103 movs r1, #3 80b1112: 4886 ldr r0, [pc, #536] ; (80b132c ) 80b1114: f7a4 ff6e bl 8055ff4 DrawImage(&bmRIGHT_1, 3, 108+26); 80b1118: 2286 movs r2, #134 ; 0x86 80b111a: 2103 movs r1, #3 80b111c: 4884 ldr r0, [pc, #528] ; (80b1330 ) 80b111e: f7a4 ff69 bl 8055ff4 DrawImage(&bmPLUS_1, 3, 108+52); 80b1122: 22a0 movs r2, #160 ; 0xa0 80b1124: 2103 movs r1, #3 80b1126: 4883 ldr r0, [pc, #524] ; (80b1334 ) 80b1128: f7a4 ff64 bl 8055ff4 DrawImage(&bmMINUS_1, 3, 108+78); 80b112c: 22ba movs r2, #186 ; 0xba 80b112e: 2103 movs r1, #3 80b1130: 4881 ldr r0, [pc, #516] ; (80b1338 ) 80b1132: f7a4 ff5f bl 8055ff4 if(menu < VIEW_PORTRET) 80b1136: 4b78 ldr r3, [pc, #480] ; (80b1318 ) 80b1138: 781b ldrb r3, [r3, #0] 80b113a: b2db uxtb r3, r3 80b113c: 2b27 cmp r3, #39 ; 0x27 80b113e: d822 bhi.n 80b1186 { DrawImage(&bmPLAY_1, 3, 108+104); 80b1140: 22d4 movs r2, #212 ; 0xd4 80b1142: 2103 movs r1, #3 80b1144: 487d ldr r0, [pc, #500] ; (80b133c ) 80b1146: f7a4 ff55 bl 8055ff4 if(measuring) 80b114a: 4b7d ldr r3, [pc, #500] ; (80b1340 ) 80b114c: 781b ldrb r3, [r3, #0] 80b114e: b2db uxtb r3, r3 80b1150: 2b00 cmp r3, #0 80b1152: d00c beq.n 80b116e BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80b1154: 4b7b ldr r3, [pc, #492] ; (80b1344 ) 80b1156: 7b1b ldrb r3, [r3, #12] 80b1158: b2db uxtb r3, r3 80b115a: 4a7b ldr r2, [pc, #492] ; (80b1348 ) 80b115c: 00db lsls r3, r3, #3 80b115e: 4413 add r3, r2 80b1160: 685a ldr r2, [r3, #4] 80b1162: 2301 movs r3, #1 80b1164: 21db movs r1, #219 ; 0xdb 80b1166: 201e movs r0, #30 80b1168: f7a4 f916 bl 8055398 80b116c: e00b b.n 80b1186 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80b116e: 4b75 ldr r3, [pc, #468] ; (80b1344 ) 80b1170: 7b1b ldrb r3, [r3, #12] 80b1172: b2db uxtb r3, r3 80b1174: 461a mov r2, r3 80b1176: 4b74 ldr r3, [pc, #464] ; (80b1348 ) 80b1178: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80b117c: 2301 movs r3, #1 80b117e: 21db movs r1, #219 ; 0xdb 80b1180: 201e movs r0, #30 80b1182: f7a4 f909 bl 8055398 } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80b1186: 4b64 ldr r3, [pc, #400] ; (80b1318 ) 80b1188: 781b ldrb r3, [r3, #0] 80b118a: b2db uxtb r3, r3 80b118c: 2b1d cmp r3, #29 80b118e: f040 8476 bne.w 80b1a7e 80b1192: 4b6e ldr r3, [pc, #440] ; (80b134c ) 80b1194: 781b ldrb r3, [r3, #0] 80b1196: b2db uxtb r3, r3 80b1198: f083 0301 eor.w r3, r3, #1 80b119c: b2db uxtb r3, r3 80b119e: 2b00 cmp r3, #0 80b11a0: f000 846d beq.w 80b1a7e 80b11a4: 4b6a ldr r3, [pc, #424] ; (80b1350 ) 80b11a6: 881b ldrh r3, [r3, #0] 80b11a8: b29b uxth r3, r3 80b11aa: 009b lsls r3, r3, #2 80b11ac: 461a mov r2, r3 80b11ae: 4b69 ldr r3, [pc, #420] ; (80b1354 ) 80b11b0: 681b ldr r3, [r3, #0] 80b11b2: 429a cmp r2, r3 80b11b4: f080 8463 bcs.w 80b1a7e { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b11b8: 4956 ldr r1, [pc, #344] ; (80b1314 ) 80b11ba: 4867 ldr r0, [pc, #412] ; (80b1358 ) 80b11bc: f7a4 f826 bl 805520c BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80b11c0: 4b66 ldr r3, [pc, #408] ; (80b135c ) 80b11c2: 681b ldr r3, [r3, #0] 80b11c4: b29b uxth r3, r3 80b11c6: 333e adds r3, #62 ; 0x3e 80b11c8: b29b uxth r3, r3 80b11ca: 22bf movs r2, #191 ; 0xbf 80b11cc: 212c movs r1, #44 ; 0x2c 80b11ce: 4618 mov r0, r3 80b11d0: f7a4 f9f4 bl 80555bc } break; 80b11d4: f000 bc53 b.w 80b1a7e case ZoomIn: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b11d8: 494e ldr r1, [pc, #312] ; (80b1314 ) 80b11da: f04f 30ff mov.w r0, #4294967295 80b11de: f7a4 f815 bl 805520c if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80b11e2: 4b4d ldr r3, [pc, #308] ; (80b1318 ) 80b11e4: 781b ldrb r3, [r3, #0] 80b11e6: b2db uxtb r3, r3 80b11e8: 2b1c cmp r3, #28 80b11ea: d00e beq.n 80b120a 80b11ec: 4b4a ldr r3, [pc, #296] ; (80b1318 ) 80b11ee: 781b ldrb r3, [r3, #0] 80b11f0: b2db uxtb r3, r3 80b11f2: 2b21 cmp r3, #33 ; 0x21 80b11f4: d009 beq.n 80b120a 80b11f6: 4b48 ldr r3, [pc, #288] ; (80b1318 ) 80b11f8: 781b ldrb r3, [r3, #0] 80b11fa: b2db uxtb r3, r3 80b11fc: 2b22 cmp r3, #34 ; 0x22 80b11fe: d004 beq.n 80b120a 80b1200: 4b45 ldr r3, [pc, #276] ; (80b1318 ) 80b1202: 781b ldrb r3, [r3, #0] 80b1204: b2db uxtb r3, r3 80b1206: 2b23 cmp r3, #35 ; 0x23 80b1208: d109 bne.n 80b121e 80b120a: 4b44 ldr r3, [pc, #272] ; (80b131c ) 80b120c: 781b ldrb r3, [r3, #0] 80b120e: b2db uxtb r3, r3 80b1210: 2b00 cmp r3, #0 80b1212: d004 beq.n 80b121e DrawImage(&bmOSC_SAVE, 3, 108-26); 80b1214: 2252 movs r2, #82 ; 0x52 80b1216: 2103 movs r1, #3 80b1218: 4841 ldr r0, [pc, #260] ; (80b1320 ) 80b121a: f7a4 feeb bl 8055ff4 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80b121e: 4b3e ldr r3, [pc, #248] ; (80b1318 ) 80b1220: 781b ldrb r3, [r3, #0] 80b1222: b2db uxtb r3, r3 80b1224: 2b24 cmp r3, #36 ; 0x24 80b1226: d004 beq.n 80b1232 80b1228: 4b3b ldr r3, [pc, #236] ; (80b1318 ) 80b122a: 781b ldrb r3, [r3, #0] 80b122c: b2db uxtb r3, r3 80b122e: 2b27 cmp r3, #39 ; 0x27 80b1230: d109 bne.n 80b1246 80b1232: 4b3c ldr r3, [pc, #240] ; (80b1324 ) 80b1234: 781b ldrb r3, [r3, #0] 80b1236: b2db uxtb r3, r3 80b1238: 2b00 cmp r3, #0 80b123a: d004 beq.n 80b1246 DrawImage(&bmRESULT_1, 3, 108-26); 80b123c: 2252 movs r2, #82 ; 0x52 80b123e: 2103 movs r1, #3 80b1240: 4839 ldr r0, [pc, #228] ; (80b1328 ) 80b1242: f7a4 fed7 bl 8055ff4 DrawImage(&bmLEFT_1, 3, 108); 80b1246: 226c movs r2, #108 ; 0x6c 80b1248: 2103 movs r1, #3 80b124a: 4845 ldr r0, [pc, #276] ; (80b1360 ) 80b124c: f7a4 fed2 bl 8055ff4 DrawImage(&bmRIGHT_1, 3, 108+26); 80b1250: 2286 movs r2, #134 ; 0x86 80b1252: 2103 movs r1, #3 80b1254: 4836 ldr r0, [pc, #216] ; (80b1330 ) 80b1256: f7a4 fecd bl 8055ff4 DrawImage(&bmPLUS_1_LIGHT, 3, 108+52); 80b125a: 22a0 movs r2, #160 ; 0xa0 80b125c: 2103 movs r1, #3 80b125e: 4841 ldr r0, [pc, #260] ; (80b1364 ) 80b1260: f7a4 fec8 bl 8055ff4 DrawImage(&bmMINUS_1, 3, 108+78); 80b1264: 22ba movs r2, #186 ; 0xba 80b1266: 2103 movs r1, #3 80b1268: 4833 ldr r0, [pc, #204] ; (80b1338 ) 80b126a: f7a4 fec3 bl 8055ff4 if(menu < VIEW_PORTRET) 80b126e: 4b2a ldr r3, [pc, #168] ; (80b1318 ) 80b1270: 781b ldrb r3, [r3, #0] 80b1272: b2db uxtb r3, r3 80b1274: 2b27 cmp r3, #39 ; 0x27 80b1276: d822 bhi.n 80b12be { DrawImage(&bmPLAY_1, 3, 108+104); 80b1278: 22d4 movs r2, #212 ; 0xd4 80b127a: 2103 movs r1, #3 80b127c: 482f ldr r0, [pc, #188] ; (80b133c ) 80b127e: f7a4 feb9 bl 8055ff4 if(measuring) 80b1282: 4b2f ldr r3, [pc, #188] ; (80b1340 ) 80b1284: 781b ldrb r3, [r3, #0] 80b1286: b2db uxtb r3, r3 80b1288: 2b00 cmp r3, #0 80b128a: d00c beq.n 80b12a6 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80b128c: 4b2d ldr r3, [pc, #180] ; (80b1344 ) 80b128e: 7b1b ldrb r3, [r3, #12] 80b1290: b2db uxtb r3, r3 80b1292: 4a2d ldr r2, [pc, #180] ; (80b1348 ) 80b1294: 00db lsls r3, r3, #3 80b1296: 4413 add r3, r2 80b1298: 685a ldr r2, [r3, #4] 80b129a: 2301 movs r3, #1 80b129c: 21db movs r1, #219 ; 0xdb 80b129e: 201e movs r0, #30 80b12a0: f7a4 f87a bl 8055398 80b12a4: e00b b.n 80b12be else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80b12a6: 4b27 ldr r3, [pc, #156] ; (80b1344 ) 80b12a8: 7b1b ldrb r3, [r3, #12] 80b12aa: b2db uxtb r3, r3 80b12ac: 461a mov r2, r3 80b12ae: 4b26 ldr r3, [pc, #152] ; (80b1348 ) 80b12b0: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80b12b4: 2301 movs r3, #1 80b12b6: 21db movs r1, #219 ; 0xdb 80b12b8: 201e movs r0, #30 80b12ba: f7a4 f86d bl 8055398 } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80b12be: 4b16 ldr r3, [pc, #88] ; (80b1318 ) 80b12c0: 781b ldrb r3, [r3, #0] 80b12c2: b2db uxtb r3, r3 80b12c4: 2b1d cmp r3, #29 80b12c6: f040 83dc bne.w 80b1a82 80b12ca: 4b20 ldr r3, [pc, #128] ; (80b134c ) 80b12cc: 781b ldrb r3, [r3, #0] 80b12ce: b2db uxtb r3, r3 80b12d0: f083 0301 eor.w r3, r3, #1 80b12d4: b2db uxtb r3, r3 80b12d6: 2b00 cmp r3, #0 80b12d8: f000 83d3 beq.w 80b1a82 80b12dc: 4b1c ldr r3, [pc, #112] ; (80b1350 ) 80b12de: 881b ldrh r3, [r3, #0] 80b12e0: b29b uxth r3, r3 80b12e2: 009b lsls r3, r3, #2 80b12e4: 461a mov r2, r3 80b12e6: 4b1b ldr r3, [pc, #108] ; (80b1354 ) 80b12e8: 681b ldr r3, [r3, #0] 80b12ea: 429a cmp r2, r3 80b12ec: f080 83c9 bcs.w 80b1a82 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b12f0: 4908 ldr r1, [pc, #32] ; (80b1314 ) 80b12f2: 4819 ldr r0, [pc, #100] ; (80b1358 ) 80b12f4: f7a3 ff8a bl 805520c BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80b12f8: 4b18 ldr r3, [pc, #96] ; (80b135c ) 80b12fa: 681b ldr r3, [r3, #0] 80b12fc: b29b uxth r3, r3 80b12fe: 333e adds r3, #62 ; 0x3e 80b1300: b29b uxth r3, r3 80b1302: 22bf movs r2, #191 ; 0xbf 80b1304: 212c movs r1, #44 ; 0x2c 80b1306: 4618 mov r0, r3 80b1308: f7a4 f958 bl 80555bc } break; 80b130c: e3b9 b.n 80b1a82 80b130e: bf00 nop 80b1310: 20020038 .word 0x20020038 80b1314: ff0a0f1f .word 0xff0a0f1f 80b1318: 20020fc5 .word 0x20020fc5 80b131c: 20020dae .word 0x20020dae 80b1320: 08143d24 .word 0x08143d24 80b1324: 20020d88 .word 0x20020d88 80b1328: 0814bfd8 .word 0x0814bfd8 80b132c: 0811b7a0 .word 0x0811b7a0 80b1330: 0814d648 .word 0x0814d648 80b1334: 08149d10 .word 0x08149d10 80b1338: 08142088 .word 0x08142088 80b133c: 081486a0 .word 0x081486a0 80b1340: 20020dcf .word 0x20020dcf 80b1344: 20023eb8 .word 0x20023eb8 80b1348: 200201d4 .word 0x200201d4 80b134c: 20020dd2 .word 0x20020dd2 80b1350: 20021d70 .word 0x20021d70 80b1354: 20020dc8 .word 0x20020dc8 80b1358: ff808080 .word 0xff808080 80b135c: 2002006c .word 0x2002006c 80b1360: 0811ac68 .word 0x0811ac68 80b1364: 0814a848 .word 0x0814a848 case ZoomOut: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b1368: 499a ldr r1, [pc, #616] ; (80b15d4 ) 80b136a: f04f 30ff mov.w r0, #4294967295 80b136e: f7a3 ff4d bl 805520c if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80b1372: 4b99 ldr r3, [pc, #612] ; (80b15d8 ) 80b1374: 781b ldrb r3, [r3, #0] 80b1376: b2db uxtb r3, r3 80b1378: 2b1c cmp r3, #28 80b137a: d00e beq.n 80b139a 80b137c: 4b96 ldr r3, [pc, #600] ; (80b15d8 ) 80b137e: 781b ldrb r3, [r3, #0] 80b1380: b2db uxtb r3, r3 80b1382: 2b21 cmp r3, #33 ; 0x21 80b1384: d009 beq.n 80b139a 80b1386: 4b94 ldr r3, [pc, #592] ; (80b15d8 ) 80b1388: 781b ldrb r3, [r3, #0] 80b138a: b2db uxtb r3, r3 80b138c: 2b22 cmp r3, #34 ; 0x22 80b138e: d004 beq.n 80b139a 80b1390: 4b91 ldr r3, [pc, #580] ; (80b15d8 ) 80b1392: 781b ldrb r3, [r3, #0] 80b1394: b2db uxtb r3, r3 80b1396: 2b23 cmp r3, #35 ; 0x23 80b1398: d109 bne.n 80b13ae 80b139a: 4b90 ldr r3, [pc, #576] ; (80b15dc ) 80b139c: 781b ldrb r3, [r3, #0] 80b139e: b2db uxtb r3, r3 80b13a0: 2b00 cmp r3, #0 80b13a2: d004 beq.n 80b13ae DrawImage(&bmOSC_SAVE, 3, 108-26); 80b13a4: 2252 movs r2, #82 ; 0x52 80b13a6: 2103 movs r1, #3 80b13a8: 488d ldr r0, [pc, #564] ; (80b15e0 ) 80b13aa: f7a4 fe23 bl 8055ff4 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80b13ae: 4b8a ldr r3, [pc, #552] ; (80b15d8 ) 80b13b0: 781b ldrb r3, [r3, #0] 80b13b2: b2db uxtb r3, r3 80b13b4: 2b24 cmp r3, #36 ; 0x24 80b13b6: d004 beq.n 80b13c2 80b13b8: 4b87 ldr r3, [pc, #540] ; (80b15d8 ) 80b13ba: 781b ldrb r3, [r3, #0] 80b13bc: b2db uxtb r3, r3 80b13be: 2b27 cmp r3, #39 ; 0x27 80b13c0: d109 bne.n 80b13d6 80b13c2: 4b88 ldr r3, [pc, #544] ; (80b15e4 ) 80b13c4: 781b ldrb r3, [r3, #0] 80b13c6: b2db uxtb r3, r3 80b13c8: 2b00 cmp r3, #0 80b13ca: d004 beq.n 80b13d6 DrawImage(&bmRESULT_1, 3, 108-26); 80b13cc: 2252 movs r2, #82 ; 0x52 80b13ce: 2103 movs r1, #3 80b13d0: 4885 ldr r0, [pc, #532] ; (80b15e8 ) 80b13d2: f7a4 fe0f bl 8055ff4 DrawImage(&bmLEFT_1, 3, 108); 80b13d6: 226c movs r2, #108 ; 0x6c 80b13d8: 2103 movs r1, #3 80b13da: 4884 ldr r0, [pc, #528] ; (80b15ec ) 80b13dc: f7a4 fe0a bl 8055ff4 DrawImage(&bmRIGHT_1, 3, 108+26); 80b13e0: 2286 movs r2, #134 ; 0x86 80b13e2: 2103 movs r1, #3 80b13e4: 4882 ldr r0, [pc, #520] ; (80b15f0 ) 80b13e6: f7a4 fe05 bl 8055ff4 DrawImage(&bmPLUS_1, 3, 108+52); 80b13ea: 22a0 movs r2, #160 ; 0xa0 80b13ec: 2103 movs r1, #3 80b13ee: 4881 ldr r0, [pc, #516] ; (80b15f4 ) 80b13f0: f7a4 fe00 bl 8055ff4 DrawImage(&bmMINUS_1_LIGHT, 3, 108+78); 80b13f4: 22ba movs r2, #186 ; 0xba 80b13f6: 2103 movs r1, #3 80b13f8: 487f ldr r0, [pc, #508] ; (80b15f8 ) 80b13fa: f7a4 fdfb bl 8055ff4 if(menu < VIEW_PORTRET) 80b13fe: 4b76 ldr r3, [pc, #472] ; (80b15d8 ) 80b1400: 781b ldrb r3, [r3, #0] 80b1402: b2db uxtb r3, r3 80b1404: 2b27 cmp r3, #39 ; 0x27 80b1406: d822 bhi.n 80b144e { DrawImage(&bmPLAY_1, 3, 108+104); 80b1408: 22d4 movs r2, #212 ; 0xd4 80b140a: 2103 movs r1, #3 80b140c: 487b ldr r0, [pc, #492] ; (80b15fc ) 80b140e: f7a4 fdf1 bl 8055ff4 if(measuring) 80b1412: 4b7b ldr r3, [pc, #492] ; (80b1600 ) 80b1414: 781b ldrb r3, [r3, #0] 80b1416: b2db uxtb r3, r3 80b1418: 2b00 cmp r3, #0 80b141a: d00c beq.n 80b1436 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80b141c: 4b79 ldr r3, [pc, #484] ; (80b1604 ) 80b141e: 7b1b ldrb r3, [r3, #12] 80b1420: b2db uxtb r3, r3 80b1422: 4a79 ldr r2, [pc, #484] ; (80b1608 ) 80b1424: 00db lsls r3, r3, #3 80b1426: 4413 add r3, r2 80b1428: 685a ldr r2, [r3, #4] 80b142a: 2301 movs r3, #1 80b142c: 21db movs r1, #219 ; 0xdb 80b142e: 201e movs r0, #30 80b1430: f7a3 ffb2 bl 8055398 80b1434: e00b b.n 80b144e else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80b1436: 4b73 ldr r3, [pc, #460] ; (80b1604 ) 80b1438: 7b1b ldrb r3, [r3, #12] 80b143a: b2db uxtb r3, r3 80b143c: 461a mov r2, r3 80b143e: 4b72 ldr r3, [pc, #456] ; (80b1608 ) 80b1440: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80b1444: 2301 movs r3, #1 80b1446: 21db movs r1, #219 ; 0xdb 80b1448: 201e movs r0, #30 80b144a: f7a3 ffa5 bl 8055398 } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80b144e: 4b62 ldr r3, [pc, #392] ; (80b15d8 ) 80b1450: 781b ldrb r3, [r3, #0] 80b1452: b2db uxtb r3, r3 80b1454: 2b1d cmp r3, #29 80b1456: f040 8316 bne.w 80b1a86 80b145a: 4b6c ldr r3, [pc, #432] ; (80b160c ) 80b145c: 781b ldrb r3, [r3, #0] 80b145e: b2db uxtb r3, r3 80b1460: f083 0301 eor.w r3, r3, #1 80b1464: b2db uxtb r3, r3 80b1466: 2b00 cmp r3, #0 80b1468: f000 830d beq.w 80b1a86 80b146c: 4b68 ldr r3, [pc, #416] ; (80b1610 ) 80b146e: 881b ldrh r3, [r3, #0] 80b1470: b29b uxth r3, r3 80b1472: 009b lsls r3, r3, #2 80b1474: 461a mov r2, r3 80b1476: 4b67 ldr r3, [pc, #412] ; (80b1614 ) 80b1478: 681b ldr r3, [r3, #0] 80b147a: 429a cmp r2, r3 80b147c: f080 8303 bcs.w 80b1a86 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b1480: 4954 ldr r1, [pc, #336] ; (80b15d4 ) 80b1482: 4865 ldr r0, [pc, #404] ; (80b1618 ) 80b1484: f7a3 fec2 bl 805520c BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80b1488: 4b64 ldr r3, [pc, #400] ; (80b161c ) 80b148a: 681b ldr r3, [r3, #0] 80b148c: b29b uxth r3, r3 80b148e: 333e adds r3, #62 ; 0x3e 80b1490: b29b uxth r3, r3 80b1492: 22bf movs r2, #191 ; 0xbf 80b1494: 212c movs r1, #44 ; 0x2c 80b1496: 4618 mov r0, r3 80b1498: f7a4 f890 bl 80555bc } break; 80b149c: e2f3 b.n 80b1a86 case ImageRight: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b149e: 494d ldr r1, [pc, #308] ; (80b15d4 ) 80b14a0: f04f 30ff mov.w r0, #4294967295 80b14a4: f7a3 feb2 bl 805520c if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80b14a8: 4b4b ldr r3, [pc, #300] ; (80b15d8 ) 80b14aa: 781b ldrb r3, [r3, #0] 80b14ac: b2db uxtb r3, r3 80b14ae: 2b1c cmp r3, #28 80b14b0: d00e beq.n 80b14d0 80b14b2: 4b49 ldr r3, [pc, #292] ; (80b15d8 ) 80b14b4: 781b ldrb r3, [r3, #0] 80b14b6: b2db uxtb r3, r3 80b14b8: 2b21 cmp r3, #33 ; 0x21 80b14ba: d009 beq.n 80b14d0 80b14bc: 4b46 ldr r3, [pc, #280] ; (80b15d8 ) 80b14be: 781b ldrb r3, [r3, #0] 80b14c0: b2db uxtb r3, r3 80b14c2: 2b22 cmp r3, #34 ; 0x22 80b14c4: d004 beq.n 80b14d0 80b14c6: 4b44 ldr r3, [pc, #272] ; (80b15d8 ) 80b14c8: 781b ldrb r3, [r3, #0] 80b14ca: b2db uxtb r3, r3 80b14cc: 2b23 cmp r3, #35 ; 0x23 80b14ce: d109 bne.n 80b14e4 80b14d0: 4b42 ldr r3, [pc, #264] ; (80b15dc ) 80b14d2: 781b ldrb r3, [r3, #0] 80b14d4: b2db uxtb r3, r3 80b14d6: 2b00 cmp r3, #0 80b14d8: d004 beq.n 80b14e4 DrawImage(&bmOSC_SAVE, 3, 108-26); 80b14da: 2252 movs r2, #82 ; 0x52 80b14dc: 2103 movs r1, #3 80b14de: 4840 ldr r0, [pc, #256] ; (80b15e0 ) 80b14e0: f7a4 fd88 bl 8055ff4 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80b14e4: 4b3c ldr r3, [pc, #240] ; (80b15d8 ) 80b14e6: 781b ldrb r3, [r3, #0] 80b14e8: b2db uxtb r3, r3 80b14ea: 2b24 cmp r3, #36 ; 0x24 80b14ec: d004 beq.n 80b14f8 80b14ee: 4b3a ldr r3, [pc, #232] ; (80b15d8 ) 80b14f0: 781b ldrb r3, [r3, #0] 80b14f2: b2db uxtb r3, r3 80b14f4: 2b27 cmp r3, #39 ; 0x27 80b14f6: d109 bne.n 80b150c 80b14f8: 4b3a ldr r3, [pc, #232] ; (80b15e4 ) 80b14fa: 781b ldrb r3, [r3, #0] 80b14fc: b2db uxtb r3, r3 80b14fe: 2b00 cmp r3, #0 80b1500: d004 beq.n 80b150c DrawImage(&bmRESULT_1, 3, 108-26); 80b1502: 2252 movs r2, #82 ; 0x52 80b1504: 2103 movs r1, #3 80b1506: 4838 ldr r0, [pc, #224] ; (80b15e8 ) 80b1508: f7a4 fd74 bl 8055ff4 DrawImage(&bmLEFT_1, 3, 108); 80b150c: 226c movs r2, #108 ; 0x6c 80b150e: 2103 movs r1, #3 80b1510: 4836 ldr r0, [pc, #216] ; (80b15ec ) 80b1512: f7a4 fd6f bl 8055ff4 DrawImage(&bmRIGHT_1_LIGHT, 3, 108+26); 80b1516: 2286 movs r2, #134 ; 0x86 80b1518: 2103 movs r1, #3 80b151a: 4841 ldr r0, [pc, #260] ; (80b1620 ) 80b151c: f7a4 fd6a bl 8055ff4 DrawImage(&bmPLUS_1, 3, 108+52); 80b1520: 22a0 movs r2, #160 ; 0xa0 80b1522: 2103 movs r1, #3 80b1524: 4833 ldr r0, [pc, #204] ; (80b15f4 ) 80b1526: f7a4 fd65 bl 8055ff4 DrawImage(&bmMINUS_1, 3, 108+78); 80b152a: 22ba movs r2, #186 ; 0xba 80b152c: 2103 movs r1, #3 80b152e: 483d ldr r0, [pc, #244] ; (80b1624 ) 80b1530: f7a4 fd60 bl 8055ff4 if(menu < VIEW_PORTRET) 80b1534: 4b28 ldr r3, [pc, #160] ; (80b15d8 ) 80b1536: 781b ldrb r3, [r3, #0] 80b1538: b2db uxtb r3, r3 80b153a: 2b27 cmp r3, #39 ; 0x27 80b153c: d822 bhi.n 80b1584 { DrawImage(&bmPLAY_1, 3, 108+104); 80b153e: 22d4 movs r2, #212 ; 0xd4 80b1540: 2103 movs r1, #3 80b1542: 482e ldr r0, [pc, #184] ; (80b15fc ) 80b1544: f7a4 fd56 bl 8055ff4 if(measuring) 80b1548: 4b2d ldr r3, [pc, #180] ; (80b1600 ) 80b154a: 781b ldrb r3, [r3, #0] 80b154c: b2db uxtb r3, r3 80b154e: 2b00 cmp r3, #0 80b1550: d00c beq.n 80b156c BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80b1552: 4b2c ldr r3, [pc, #176] ; (80b1604 ) 80b1554: 7b1b ldrb r3, [r3, #12] 80b1556: b2db uxtb r3, r3 80b1558: 4a2b ldr r2, [pc, #172] ; (80b1608 ) 80b155a: 00db lsls r3, r3, #3 80b155c: 4413 add r3, r2 80b155e: 685a ldr r2, [r3, #4] 80b1560: 2301 movs r3, #1 80b1562: 21db movs r1, #219 ; 0xdb 80b1564: 201e movs r0, #30 80b1566: f7a3 ff17 bl 8055398 80b156a: e00b b.n 80b1584 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80b156c: 4b25 ldr r3, [pc, #148] ; (80b1604 ) 80b156e: 7b1b ldrb r3, [r3, #12] 80b1570: b2db uxtb r3, r3 80b1572: 461a mov r2, r3 80b1574: 4b24 ldr r3, [pc, #144] ; (80b1608 ) 80b1576: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80b157a: 2301 movs r3, #1 80b157c: 21db movs r1, #219 ; 0xdb 80b157e: 201e movs r0, #30 80b1580: f7a3 ff0a bl 8055398 } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80b1584: 4b14 ldr r3, [pc, #80] ; (80b15d8 ) 80b1586: 781b ldrb r3, [r3, #0] 80b1588: b2db uxtb r3, r3 80b158a: 2b1d cmp r3, #29 80b158c: f040 827d bne.w 80b1a8a 80b1590: 4b1e ldr r3, [pc, #120] ; (80b160c ) 80b1592: 781b ldrb r3, [r3, #0] 80b1594: b2db uxtb r3, r3 80b1596: f083 0301 eor.w r3, r3, #1 80b159a: b2db uxtb r3, r3 80b159c: 2b00 cmp r3, #0 80b159e: f000 8274 beq.w 80b1a8a 80b15a2: 4b1b ldr r3, [pc, #108] ; (80b1610 ) 80b15a4: 881b ldrh r3, [r3, #0] 80b15a6: b29b uxth r3, r3 80b15a8: 009b lsls r3, r3, #2 80b15aa: 461a mov r2, r3 80b15ac: 4b19 ldr r3, [pc, #100] ; (80b1614 ) 80b15ae: 681b ldr r3, [r3, #0] 80b15b0: 429a cmp r2, r3 80b15b2: f080 826a bcs.w 80b1a8a { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b15b6: 4907 ldr r1, [pc, #28] ; (80b15d4 ) 80b15b8: 4817 ldr r0, [pc, #92] ; (80b1618 ) 80b15ba: f7a3 fe27 bl 805520c BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80b15be: 4b17 ldr r3, [pc, #92] ; (80b161c ) 80b15c0: 681b ldr r3, [r3, #0] 80b15c2: b29b uxth r3, r3 80b15c4: 333e adds r3, #62 ; 0x3e 80b15c6: b29b uxth r3, r3 80b15c8: 22bf movs r2, #191 ; 0xbf 80b15ca: 212c movs r1, #44 ; 0x2c 80b15cc: 4618 mov r0, r3 80b15ce: f7a3 fff5 bl 80555bc } break; 80b15d2: e25a b.n 80b1a8a 80b15d4: ff0a0f1f .word 0xff0a0f1f 80b15d8: 20020fc5 .word 0x20020fc5 80b15dc: 20020dae .word 0x20020dae 80b15e0: 08143d24 .word 0x08143d24 80b15e4: 20020d88 .word 0x20020d88 80b15e8: 0814bfd8 .word 0x0814bfd8 80b15ec: 0811ac68 .word 0x0811ac68 80b15f0: 0814d648 .word 0x0814d648 80b15f4: 08149d10 .word 0x08149d10 80b15f8: 08142bc0 .word 0x08142bc0 80b15fc: 081486a0 .word 0x081486a0 80b1600: 20020dcf .word 0x20020dcf 80b1604: 20023eb8 .word 0x20023eb8 80b1608: 200201d4 .word 0x200201d4 80b160c: 20020dd2 .word 0x20020dd2 80b1610: 20021d70 .word 0x20021d70 80b1614: 20020dc8 .word 0x20020dc8 80b1618: ff808080 .word 0xff808080 80b161c: 2002006c .word 0x2002006c 80b1620: 0814e180 .word 0x0814e180 80b1624: 08142088 .word 0x08142088 case StartStop: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b1628: 49a3 ldr r1, [pc, #652] ; (80b18b8 ) 80b162a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b162e: f7a3 fded bl 805520c if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80b1632: 4ba2 ldr r3, [pc, #648] ; (80b18bc ) 80b1634: 781b ldrb r3, [r3, #0] 80b1636: b2db uxtb r3, r3 80b1638: 2b1c cmp r3, #28 80b163a: d00e beq.n 80b165a 80b163c: 4b9f ldr r3, [pc, #636] ; (80b18bc ) 80b163e: 781b ldrb r3, [r3, #0] 80b1640: b2db uxtb r3, r3 80b1642: 2b21 cmp r3, #33 ; 0x21 80b1644: d009 beq.n 80b165a 80b1646: 4b9d ldr r3, [pc, #628] ; (80b18bc ) 80b1648: 781b ldrb r3, [r3, #0] 80b164a: b2db uxtb r3, r3 80b164c: 2b22 cmp r3, #34 ; 0x22 80b164e: d004 beq.n 80b165a 80b1650: 4b9a ldr r3, [pc, #616] ; (80b18bc ) 80b1652: 781b ldrb r3, [r3, #0] 80b1654: b2db uxtb r3, r3 80b1656: 2b23 cmp r3, #35 ; 0x23 80b1658: d109 bne.n 80b166e 80b165a: 4b99 ldr r3, [pc, #612] ; (80b18c0 ) 80b165c: 781b ldrb r3, [r3, #0] 80b165e: b2db uxtb r3, r3 80b1660: 2b00 cmp r3, #0 80b1662: d004 beq.n 80b166e DrawImage(&bmOSC_SAVE, 3, 108-26); 80b1664: 2252 movs r2, #82 ; 0x52 80b1666: 2103 movs r1, #3 80b1668: 4896 ldr r0, [pc, #600] ; (80b18c4 ) 80b166a: f7a4 fcc3 bl 8055ff4 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80b166e: 4b93 ldr r3, [pc, #588] ; (80b18bc ) 80b1670: 781b ldrb r3, [r3, #0] 80b1672: b2db uxtb r3, r3 80b1674: 2b24 cmp r3, #36 ; 0x24 80b1676: d004 beq.n 80b1682 80b1678: 4b90 ldr r3, [pc, #576] ; (80b18bc ) 80b167a: 781b ldrb r3, [r3, #0] 80b167c: b2db uxtb r3, r3 80b167e: 2b27 cmp r3, #39 ; 0x27 80b1680: d109 bne.n 80b1696 80b1682: 4b91 ldr r3, [pc, #580] ; (80b18c8 ) 80b1684: 781b ldrb r3, [r3, #0] 80b1686: b2db uxtb r3, r3 80b1688: 2b00 cmp r3, #0 80b168a: d004 beq.n 80b1696 DrawImage(&bmRESULT_1, 3, 108-26); 80b168c: 2252 movs r2, #82 ; 0x52 80b168e: 2103 movs r1, #3 80b1690: 488e ldr r0, [pc, #568] ; (80b18cc ) 80b1692: f7a4 fcaf bl 8055ff4 DrawImage(&bmLEFT_1, 3, 108); 80b1696: 226c movs r2, #108 ; 0x6c 80b1698: 2103 movs r1, #3 80b169a: 488d ldr r0, [pc, #564] ; (80b18d0 ) 80b169c: f7a4 fcaa bl 8055ff4 DrawImage(&bmRIGHT_1, 3, 108+26); 80b16a0: 2286 movs r2, #134 ; 0x86 80b16a2: 2103 movs r1, #3 80b16a4: 488b ldr r0, [pc, #556] ; (80b18d4 ) 80b16a6: f7a4 fca5 bl 8055ff4 DrawImage(&bmPLUS_1, 3, 108+52); 80b16aa: 22a0 movs r2, #160 ; 0xa0 80b16ac: 2103 movs r1, #3 80b16ae: 488a ldr r0, [pc, #552] ; (80b18d8 ) 80b16b0: f7a4 fca0 bl 8055ff4 DrawImage(&bmMINUS_1, 3, 108+78); 80b16b4: 22ba movs r2, #186 ; 0xba 80b16b6: 2103 movs r1, #3 80b16b8: 4888 ldr r0, [pc, #544] ; (80b18dc ) 80b16ba: f7a4 fc9b bl 8055ff4 if(menu < VIEW_PORTRET) 80b16be: 4b7f ldr r3, [pc, #508] ; (80b18bc ) 80b16c0: 781b ldrb r3, [r3, #0] 80b16c2: b2db uxtb r3, r3 80b16c4: 2b27 cmp r3, #39 ; 0x27 80b16c6: d834 bhi.n 80b1732 { DrawImage(&bmPLAY_1_LIGHT, 3, 108+104); 80b16c8: 22d4 movs r2, #212 ; 0xd4 80b16ca: 2103 movs r1, #3 80b16cc: 4884 ldr r0, [pc, #528] ; (80b18e0 ) 80b16ce: f7a4 fc91 bl 8055ff4 if(NeedSTOP) 80b16d2: 4b84 ldr r3, [pc, #528] ; (80b18e4 ) 80b16d4: 781b ldrb r3, [r3, #0] 80b16d6: b2db uxtb r3, r3 80b16d8: 2b00 cmp r3, #0 80b16da: d00c beq.n 80b16f6 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80b16dc: 4b82 ldr r3, [pc, #520] ; (80b18e8 ) 80b16de: 7b1b ldrb r3, [r3, #12] 80b16e0: b2db uxtb r3, r3 80b16e2: 461a mov r2, r3 80b16e4: 4b81 ldr r3, [pc, #516] ; (80b18ec ) 80b16e6: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80b16ea: 2301 movs r3, #1 80b16ec: 21db movs r1, #219 ; 0xdb 80b16ee: 201e movs r0, #30 80b16f0: f7a3 fe52 bl 8055398 80b16f4: e01d b.n 80b1732 else { if(measuring) 80b16f6: 4b7e ldr r3, [pc, #504] ; (80b18f0 ) 80b16f8: 781b ldrb r3, [r3, #0] 80b16fa: b2db uxtb r3, r3 80b16fc: 2b00 cmp r3, #0 80b16fe: d00c beq.n 80b171a BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80b1700: 4b79 ldr r3, [pc, #484] ; (80b18e8 ) 80b1702: 7b1b ldrb r3, [r3, #12] 80b1704: b2db uxtb r3, r3 80b1706: 4a79 ldr r2, [pc, #484] ; (80b18ec ) 80b1708: 00db lsls r3, r3, #3 80b170a: 4413 add r3, r2 80b170c: 685a ldr r2, [r3, #4] 80b170e: 2301 movs r3, #1 80b1710: 21db movs r1, #219 ; 0xdb 80b1712: 201e movs r0, #30 80b1714: f7a3 fe40 bl 8055398 80b1718: e00b b.n 80b1732 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80b171a: 4b73 ldr r3, [pc, #460] ; (80b18e8 ) 80b171c: 7b1b ldrb r3, [r3, #12] 80b171e: b2db uxtb r3, r3 80b1720: 461a mov r2, r3 80b1722: 4b72 ldr r3, [pc, #456] ; (80b18ec ) 80b1724: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80b1728: 2301 movs r3, #1 80b172a: 21db movs r1, #219 ; 0xdb 80b172c: 201e movs r0, #30 80b172e: f7a3 fe33 bl 8055398 } } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80b1732: 4b62 ldr r3, [pc, #392] ; (80b18bc ) 80b1734: 781b ldrb r3, [r3, #0] 80b1736: b2db uxtb r3, r3 80b1738: 2b1d cmp r3, #29 80b173a: f040 81a8 bne.w 80b1a8e 80b173e: 4b6d ldr r3, [pc, #436] ; (80b18f4 ) 80b1740: 781b ldrb r3, [r3, #0] 80b1742: b2db uxtb r3, r3 80b1744: f083 0301 eor.w r3, r3, #1 80b1748: b2db uxtb r3, r3 80b174a: 2b00 cmp r3, #0 80b174c: f000 819f beq.w 80b1a8e 80b1750: 4b69 ldr r3, [pc, #420] ; (80b18f8 ) 80b1752: 881b ldrh r3, [r3, #0] 80b1754: b29b uxth r3, r3 80b1756: 009b lsls r3, r3, #2 80b1758: 461a mov r2, r3 80b175a: 4b68 ldr r3, [pc, #416] ; (80b18fc ) 80b175c: 681b ldr r3, [r3, #0] 80b175e: 429a cmp r2, r3 80b1760: f080 8195 bcs.w 80b1a8e { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b1764: 4954 ldr r1, [pc, #336] ; (80b18b8 ) 80b1766: 4866 ldr r0, [pc, #408] ; (80b1900 ) 80b1768: f7a3 fd50 bl 805520c BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80b176c: 4b65 ldr r3, [pc, #404] ; (80b1904 ) 80b176e: 681b ldr r3, [r3, #0] 80b1770: b29b uxth r3, r3 80b1772: 333e adds r3, #62 ; 0x3e 80b1774: b29b uxth r3, r3 80b1776: 22bf movs r2, #191 ; 0xbf 80b1778: 212c movs r1, #44 ; 0x2c 80b177a: 4618 mov r0, r3 80b177c: f7a3 ff1e bl 80555bc } break; 80b1780: e185 b.n 80b1a8e case Cursor: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b1782: 494d ldr r1, [pc, #308] ; (80b18b8 ) 80b1784: f04f 30ff mov.w r0, #4294967295 80b1788: f7a3 fd40 bl 805520c if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80b178c: 4b4b ldr r3, [pc, #300] ; (80b18bc ) 80b178e: 781b ldrb r3, [r3, #0] 80b1790: b2db uxtb r3, r3 80b1792: 2b1c cmp r3, #28 80b1794: d00e beq.n 80b17b4 80b1796: 4b49 ldr r3, [pc, #292] ; (80b18bc ) 80b1798: 781b ldrb r3, [r3, #0] 80b179a: b2db uxtb r3, r3 80b179c: 2b21 cmp r3, #33 ; 0x21 80b179e: d009 beq.n 80b17b4 80b17a0: 4b46 ldr r3, [pc, #280] ; (80b18bc ) 80b17a2: 781b ldrb r3, [r3, #0] 80b17a4: b2db uxtb r3, r3 80b17a6: 2b22 cmp r3, #34 ; 0x22 80b17a8: d004 beq.n 80b17b4 80b17aa: 4b44 ldr r3, [pc, #272] ; (80b18bc ) 80b17ac: 781b ldrb r3, [r3, #0] 80b17ae: b2db uxtb r3, r3 80b17b0: 2b23 cmp r3, #35 ; 0x23 80b17b2: d109 bne.n 80b17c8 80b17b4: 4b42 ldr r3, [pc, #264] ; (80b18c0 ) 80b17b6: 781b ldrb r3, [r3, #0] 80b17b8: b2db uxtb r3, r3 80b17ba: 2b00 cmp r3, #0 80b17bc: d004 beq.n 80b17c8 DrawImage(&bmOSC_SAVE, 3, 108-26); 80b17be: 2252 movs r2, #82 ; 0x52 80b17c0: 2103 movs r1, #3 80b17c2: 4840 ldr r0, [pc, #256] ; (80b18c4 ) 80b17c4: f7a4 fc16 bl 8055ff4 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80b17c8: 4b3c ldr r3, [pc, #240] ; (80b18bc ) 80b17ca: 781b ldrb r3, [r3, #0] 80b17cc: b2db uxtb r3, r3 80b17ce: 2b24 cmp r3, #36 ; 0x24 80b17d0: d004 beq.n 80b17dc 80b17d2: 4b3a ldr r3, [pc, #232] ; (80b18bc ) 80b17d4: 781b ldrb r3, [r3, #0] 80b17d6: b2db uxtb r3, r3 80b17d8: 2b27 cmp r3, #39 ; 0x27 80b17da: d109 bne.n 80b17f0 80b17dc: 4b3a ldr r3, [pc, #232] ; (80b18c8 ) 80b17de: 781b ldrb r3, [r3, #0] 80b17e0: b2db uxtb r3, r3 80b17e2: 2b00 cmp r3, #0 80b17e4: d004 beq.n 80b17f0 DrawImage(&bmRESULT_1, 3, 108-26); 80b17e6: 2252 movs r2, #82 ; 0x52 80b17e8: 2103 movs r1, #3 80b17ea: 4838 ldr r0, [pc, #224] ; (80b18cc ) 80b17ec: f7a4 fc02 bl 8055ff4 DrawImage(&bmLEFT_1, 3, 108); 80b17f0: 226c movs r2, #108 ; 0x6c 80b17f2: 2103 movs r1, #3 80b17f4: 4836 ldr r0, [pc, #216] ; (80b18d0 ) 80b17f6: f7a4 fbfd bl 8055ff4 DrawImage(&bmRIGHT_1, 3, 108+26); 80b17fa: 2286 movs r2, #134 ; 0x86 80b17fc: 2103 movs r1, #3 80b17fe: 4835 ldr r0, [pc, #212] ; (80b18d4 ) 80b1800: f7a4 fbf8 bl 8055ff4 DrawImage(&bmPLUS_1, 3, 108+52); 80b1804: 22a0 movs r2, #160 ; 0xa0 80b1806: 2103 movs r1, #3 80b1808: 4833 ldr r0, [pc, #204] ; (80b18d8 ) 80b180a: f7a4 fbf3 bl 8055ff4 DrawImage(&bmMINUS_1, 3, 108+78); 80b180e: 22ba movs r2, #186 ; 0xba 80b1810: 2103 movs r1, #3 80b1812: 4832 ldr r0, [pc, #200] ; (80b18dc ) 80b1814: f7a4 fbee bl 8055ff4 if(menu < VIEW_PORTRET) 80b1818: 4b28 ldr r3, [pc, #160] ; (80b18bc ) 80b181a: 781b ldrb r3, [r3, #0] 80b181c: b2db uxtb r3, r3 80b181e: 2b27 cmp r3, #39 ; 0x27 80b1820: d822 bhi.n 80b1868 { DrawImage(&bmPLAY_1, 3, 108+104); 80b1822: 22d4 movs r2, #212 ; 0xd4 80b1824: 2103 movs r1, #3 80b1826: 4838 ldr r0, [pc, #224] ; (80b1908 ) 80b1828: f7a4 fbe4 bl 8055ff4 if(measuring) 80b182c: 4b30 ldr r3, [pc, #192] ; (80b18f0 ) 80b182e: 781b ldrb r3, [r3, #0] 80b1830: b2db uxtb r3, r3 80b1832: 2b00 cmp r3, #0 80b1834: d00c beq.n 80b1850 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80b1836: 4b2c ldr r3, [pc, #176] ; (80b18e8 ) 80b1838: 7b1b ldrb r3, [r3, #12] 80b183a: b2db uxtb r3, r3 80b183c: 4a2b ldr r2, [pc, #172] ; (80b18ec ) 80b183e: 00db lsls r3, r3, #3 80b1840: 4413 add r3, r2 80b1842: 685a ldr r2, [r3, #4] 80b1844: 2301 movs r3, #1 80b1846: 21db movs r1, #219 ; 0xdb 80b1848: 201e movs r0, #30 80b184a: f7a3 fda5 bl 8055398 80b184e: e00b b.n 80b1868 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80b1850: 4b25 ldr r3, [pc, #148] ; (80b18e8 ) 80b1852: 7b1b ldrb r3, [r3, #12] 80b1854: b2db uxtb r3, r3 80b1856: 461a mov r2, r3 80b1858: 4b24 ldr r3, [pc, #144] ; (80b18ec ) 80b185a: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80b185e: 2301 movs r3, #1 80b1860: 21db movs r1, #219 ; 0xdb 80b1862: 201e movs r0, #30 80b1864: f7a3 fd98 bl 8055398 } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80b1868: 4b14 ldr r3, [pc, #80] ; (80b18bc ) 80b186a: 781b ldrb r3, [r3, #0] 80b186c: b2db uxtb r3, r3 80b186e: 2b1d cmp r3, #29 80b1870: f040 810f bne.w 80b1a92 80b1874: 4b1f ldr r3, [pc, #124] ; (80b18f4 ) 80b1876: 781b ldrb r3, [r3, #0] 80b1878: b2db uxtb r3, r3 80b187a: f083 0301 eor.w r3, r3, #1 80b187e: b2db uxtb r3, r3 80b1880: 2b00 cmp r3, #0 80b1882: f000 8106 beq.w 80b1a92 80b1886: 4b1c ldr r3, [pc, #112] ; (80b18f8 ) 80b1888: 881b ldrh r3, [r3, #0] 80b188a: b29b uxth r3, r3 80b188c: 009b lsls r3, r3, #2 80b188e: 461a mov r2, r3 80b1890: 4b1a ldr r3, [pc, #104] ; (80b18fc ) 80b1892: 681b ldr r3, [r3, #0] 80b1894: 429a cmp r2, r3 80b1896: f080 80fc bcs.w 80b1a92 { LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80b189a: 4907 ldr r1, [pc, #28] ; (80b18b8 ) 80b189c: 481b ldr r0, [pc, #108] ; (80b190c ) 80b189e: f7a3 fcb5 bl 805520c BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80b18a2: 4b18 ldr r3, [pc, #96] ; (80b1904 ) 80b18a4: 681b ldr r3, [r3, #0] 80b18a6: b29b uxth r3, r3 80b18a8: 333e adds r3, #62 ; 0x3e 80b18aa: b29b uxth r3, r3 80b18ac: 22bf movs r2, #191 ; 0xbf 80b18ae: 212c movs r1, #44 ; 0x2c 80b18b0: 4618 mov r0, r3 80b18b2: f7a3 fe83 bl 80555bc } break; 80b18b6: e0ec b.n 80b1a92 80b18b8: ff0a0f1f .word 0xff0a0f1f 80b18bc: 20020fc5 .word 0x20020fc5 80b18c0: 20020dae .word 0x20020dae 80b18c4: 08143d24 .word 0x08143d24 80b18c8: 20020d88 .word 0x20020d88 80b18cc: 0814bfd8 .word 0x0814bfd8 80b18d0: 0811ac68 .word 0x0811ac68 80b18d4: 0814d648 .word 0x0814d648 80b18d8: 08149d10 .word 0x08149d10 80b18dc: 08142088 .word 0x08142088 80b18e0: 081491d8 .word 0x081491d8 80b18e4: 20020fca .word 0x20020fca 80b18e8: 20023eb8 .word 0x20023eb8 80b18ec: 200201d4 .word 0x200201d4 80b18f0: 20020dcf .word 0x20020dcf 80b18f4: 20020dd2 .word 0x20020dd2 80b18f8: 20021d70 .word 0x20021d70 80b18fc: 20020dc8 .word 0x20020dc8 80b1900: ff808080 .word 0xff808080 80b1904: 2002006c .word 0x2002006c 80b1908: 081486a0 .word 0x081486a0 80b190c: ffff0000 .word 0xffff0000 case Results: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b1910: 4964 ldr r1, [pc, #400] ; (80b1aa4 ) 80b1912: f04f 30ff mov.w r0, #4294967295 80b1916: f7a3 fc79 bl 805520c if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80b191a: 4b63 ldr r3, [pc, #396] ; (80b1aa8 ) 80b191c: 781b ldrb r3, [r3, #0] 80b191e: b2db uxtb r3, r3 80b1920: 2b24 cmp r3, #36 ; 0x24 80b1922: d004 beq.n 80b192e 80b1924: 4b60 ldr r3, [pc, #384] ; (80b1aa8 ) 80b1926: 781b ldrb r3, [r3, #0] 80b1928: b2db uxtb r3, r3 80b192a: 2b27 cmp r3, #39 ; 0x27 80b192c: d109 bne.n 80b1942 80b192e: 4b5f ldr r3, [pc, #380] ; (80b1aac ) 80b1930: 781b ldrb r3, [r3, #0] 80b1932: b2db uxtb r3, r3 80b1934: 2b00 cmp r3, #0 80b1936: d004 beq.n 80b1942 DrawImage(&bmRESULT_1_LIGHT, 3, 108-26); 80b1938: 2252 movs r2, #82 ; 0x52 80b193a: 2103 movs r1, #3 80b193c: 485c ldr r0, [pc, #368] ; (80b1ab0 ) 80b193e: f7a4 fb59 bl 8055ff4 DrawImage(&bmLEFT_1, 3, 108); 80b1942: 226c movs r2, #108 ; 0x6c 80b1944: 2103 movs r1, #3 80b1946: 485b ldr r0, [pc, #364] ; (80b1ab4 ) 80b1948: f7a4 fb54 bl 8055ff4 DrawImage(&bmRIGHT_1, 3, 108+26); 80b194c: 2286 movs r2, #134 ; 0x86 80b194e: 2103 movs r1, #3 80b1950: 4859 ldr r0, [pc, #356] ; (80b1ab8 ) 80b1952: f7a4 fb4f bl 8055ff4 DrawImage(&bmPLUS_1, 3, 108+52); 80b1956: 22a0 movs r2, #160 ; 0xa0 80b1958: 2103 movs r1, #3 80b195a: 4858 ldr r0, [pc, #352] ; (80b1abc ) 80b195c: f7a4 fb4a bl 8055ff4 DrawImage(&bmMINUS_1, 3, 108+78); 80b1960: 22ba movs r2, #186 ; 0xba 80b1962: 2103 movs r1, #3 80b1964: 4856 ldr r0, [pc, #344] ; (80b1ac0 ) 80b1966: f7a4 fb45 bl 8055ff4 if(menu < VIEW_PORTRET) 80b196a: 4b4f ldr r3, [pc, #316] ; (80b1aa8 ) 80b196c: 781b ldrb r3, [r3, #0] 80b196e: b2db uxtb r3, r3 80b1970: 2b27 cmp r3, #39 ; 0x27 80b1972: f200 8090 bhi.w 80b1a96 { DrawImage(&bmPLAY_1, 3, 108+104); 80b1976: 22d4 movs r2, #212 ; 0xd4 80b1978: 2103 movs r1, #3 80b197a: 4852 ldr r0, [pc, #328] ; (80b1ac4 ) 80b197c: f7a4 fb3a bl 8055ff4 if(measuring) 80b1980: 4b51 ldr r3, [pc, #324] ; (80b1ac8 ) 80b1982: 781b ldrb r3, [r3, #0] 80b1984: b2db uxtb r3, r3 80b1986: 2b00 cmp r3, #0 80b1988: d00c beq.n 80b19a4 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80b198a: 4b50 ldr r3, [pc, #320] ; (80b1acc ) 80b198c: 7b1b ldrb r3, [r3, #12] 80b198e: b2db uxtb r3, r3 80b1990: 4a4f ldr r2, [pc, #316] ; (80b1ad0 ) 80b1992: 00db lsls r3, r3, #3 80b1994: 4413 add r3, r2 80b1996: 685a ldr r2, [r3, #4] 80b1998: 2301 movs r3, #1 80b199a: 21db movs r1, #219 ; 0xdb 80b199c: 201e movs r0, #30 80b199e: f7a3 fcfb bl 8055398 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); } break; 80b19a2: e078 b.n 80b1a96 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80b19a4: 4b49 ldr r3, [pc, #292] ; (80b1acc ) 80b19a6: 7b1b ldrb r3, [r3, #12] 80b19a8: b2db uxtb r3, r3 80b19aa: 461a mov r2, r3 80b19ac: 4b48 ldr r3, [pc, #288] ; (80b1ad0 ) 80b19ae: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80b19b2: 2301 movs r3, #1 80b19b4: 21db movs r1, #219 ; 0xdb 80b19b6: 201e movs r0, #30 80b19b8: f7a3 fcee bl 8055398 break; 80b19bc: e06b b.n 80b1a96 case SaveSpec: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b19be: 4939 ldr r1, [pc, #228] ; (80b1aa4 ) 80b19c0: f04f 30ff mov.w r0, #4294967295 80b19c4: f7a3 fc22 bl 805520c if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80b19c8: 4b37 ldr r3, [pc, #220] ; (80b1aa8 ) 80b19ca: 781b ldrb r3, [r3, #0] 80b19cc: b2db uxtb r3, r3 80b19ce: 2b1c cmp r3, #28 80b19d0: d00e beq.n 80b19f0 80b19d2: 4b35 ldr r3, [pc, #212] ; (80b1aa8 ) 80b19d4: 781b ldrb r3, [r3, #0] 80b19d6: b2db uxtb r3, r3 80b19d8: 2b21 cmp r3, #33 ; 0x21 80b19da: d009 beq.n 80b19f0 80b19dc: 4b32 ldr r3, [pc, #200] ; (80b1aa8 ) 80b19de: 781b ldrb r3, [r3, #0] 80b19e0: b2db uxtb r3, r3 80b19e2: 2b22 cmp r3, #34 ; 0x22 80b19e4: d004 beq.n 80b19f0 80b19e6: 4b30 ldr r3, [pc, #192] ; (80b1aa8 ) 80b19e8: 781b ldrb r3, [r3, #0] 80b19ea: b2db uxtb r3, r3 80b19ec: 2b23 cmp r3, #35 ; 0x23 80b19ee: d109 bne.n 80b1a04 80b19f0: 4b38 ldr r3, [pc, #224] ; (80b1ad4 ) 80b19f2: 781b ldrb r3, [r3, #0] 80b19f4: b2db uxtb r3, r3 80b19f6: 2b00 cmp r3, #0 80b19f8: d004 beq.n 80b1a04 DrawImage(&bmOSC_SAVE_LIGHT, 3, 108-26); 80b19fa: 2252 movs r2, #82 ; 0x52 80b19fc: 2103 movs r1, #3 80b19fe: 4836 ldr r0, [pc, #216] ; (80b1ad8 ) 80b1a00: f7a4 faf8 bl 8055ff4 DrawImage(&bmLEFT_1, 3, 108); 80b1a04: 226c movs r2, #108 ; 0x6c 80b1a06: 2103 movs r1, #3 80b1a08: 482a ldr r0, [pc, #168] ; (80b1ab4 ) 80b1a0a: f7a4 faf3 bl 8055ff4 DrawImage(&bmRIGHT_1, 3, 108+26); 80b1a0e: 2286 movs r2, #134 ; 0x86 80b1a10: 2103 movs r1, #3 80b1a12: 4829 ldr r0, [pc, #164] ; (80b1ab8 ) 80b1a14: f7a4 faee bl 8055ff4 DrawImage(&bmPLUS_1, 3, 108+52); 80b1a18: 22a0 movs r2, #160 ; 0xa0 80b1a1a: 2103 movs r1, #3 80b1a1c: 4827 ldr r0, [pc, #156] ; (80b1abc ) 80b1a1e: f7a4 fae9 bl 8055ff4 DrawImage(&bmMINUS_1, 3, 108+78); 80b1a22: 22ba movs r2, #186 ; 0xba 80b1a24: 2103 movs r1, #3 80b1a26: 4826 ldr r0, [pc, #152] ; (80b1ac0 ) 80b1a28: f7a4 fae4 bl 8055ff4 if(menu < VIEW_PORTRET) 80b1a2c: 4b1e ldr r3, [pc, #120] ; (80b1aa8 ) 80b1a2e: 781b ldrb r3, [r3, #0] 80b1a30: b2db uxtb r3, r3 80b1a32: 2b27 cmp r3, #39 ; 0x27 80b1a34: d831 bhi.n 80b1a9a { DrawImage(&bmPLAY_1, 3, 108+104); 80b1a36: 22d4 movs r2, #212 ; 0xd4 80b1a38: 2103 movs r1, #3 80b1a3a: 4822 ldr r0, [pc, #136] ; (80b1ac4 ) 80b1a3c: f7a4 fada bl 8055ff4 if(measuring) 80b1a40: 4b21 ldr r3, [pc, #132] ; (80b1ac8 ) 80b1a42: 781b ldrb r3, [r3, #0] 80b1a44: b2db uxtb r3, r3 80b1a46: 2b00 cmp r3, #0 80b1a48: d00c beq.n 80b1a64 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80b1a4a: 4b20 ldr r3, [pc, #128] ; (80b1acc ) 80b1a4c: 7b1b ldrb r3, [r3, #12] 80b1a4e: b2db uxtb r3, r3 80b1a50: 4a1f ldr r2, [pc, #124] ; (80b1ad0 ) 80b1a52: 00db lsls r3, r3, #3 80b1a54: 4413 add r3, r2 80b1a56: 685a ldr r2, [r3, #4] 80b1a58: 2301 movs r3, #1 80b1a5a: 21db movs r1, #219 ; 0xdb 80b1a5c: 201e movs r0, #30 80b1a5e: f7a3 fc9b bl 8055398 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); } break; 80b1a62: e01a b.n 80b1a9a else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80b1a64: 4b19 ldr r3, [pc, #100] ; (80b1acc ) 80b1a66: 7b1b ldrb r3, [r3, #12] 80b1a68: b2db uxtb r3, r3 80b1a6a: 461a mov r2, r3 80b1a6c: 4b18 ldr r3, [pc, #96] ; (80b1ad0 ) 80b1a6e: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80b1a72: 2301 movs r3, #1 80b1a74: 21db movs r1, #219 ; 0xdb 80b1a76: 201e movs r0, #30 80b1a78: f7a3 fc8e bl 8055398 break; 80b1a7c: e00d b.n 80b1a9a break; 80b1a7e: bf00 nop 80b1a80: e00c b.n 80b1a9c break; 80b1a82: bf00 nop 80b1a84: e00a b.n 80b1a9c break; 80b1a86: bf00 nop 80b1a88: e008 b.n 80b1a9c break; 80b1a8a: bf00 nop 80b1a8c: e006 b.n 80b1a9c break; 80b1a8e: bf00 nop 80b1a90: e004 b.n 80b1a9c break; 80b1a92: bf00 nop 80b1a94: e002 b.n 80b1a9c break; 80b1a96: bf00 nop 80b1a98: e000 b.n 80b1a9c break; 80b1a9a: bf00 nop } } 80b1a9c: bf00 nop 80b1a9e: 3708 adds r7, #8 80b1aa0: 46bd mov sp, r7 80b1aa2: bd80 pop {r7, pc} 80b1aa4: ff0a0f1f .word 0xff0a0f1f 80b1aa8: 20020fc5 .word 0x20020fc5 80b1aac: 20020d88 .word 0x20020d88 80b1ab0: 0814cb10 .word 0x0814cb10 80b1ab4: 0811ac68 .word 0x0811ac68 80b1ab8: 0814d648 .word 0x0814d648 80b1abc: 08149d10 .word 0x08149d10 80b1ac0: 08142088 .word 0x08142088 80b1ac4: 081486a0 .word 0x081486a0 80b1ac8: 20020dcf .word 0x20020dcf 80b1acc: 20023eb8 .word 0x20023eb8 80b1ad0: 200201d4 .word 0x200201d4 80b1ad4: 20020dae .word 0x20020dae 80b1ad8: 0814485c .word 0x0814485c 080b1adc : void DrawLegend(void) //TODO { 80b1adc: b580 push {r7, lr} 80b1ade: b082 sub sp, #8 80b1ae0: af00 add r7, sp, #0 uint32_t i; LCD_SetColors(0xFF000000, LCD_COLOR_BLACK); 80b1ae2: 4925 ldr r1, [pc, #148] ; (80b1b78 ) 80b1ae4: f04f 407f mov.w r0, #4278190080 ; 0xff000000 80b1ae8: f7a3 fb90 bl 805520c BSP_LCD_FillRect(60, 43, 258, 191); 80b1aec: 23bf movs r3, #191 ; 0xbf 80b1aee: f44f 7281 mov.w r2, #258 ; 0x102 80b1af2: 212b movs r1, #43 ; 0x2b 80b1af4: 203c movs r0, #60 ; 0x3c 80b1af6: f7a4 f817 bl 8055b28 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b1afa: 491f ldr r1, [pc, #124] ; (80b1b78 ) 80b1afc: f04f 30ff mov.w r0, #4294967295 80b1b00: f7a3 fb84 bl 805520c BSP_LCD_DrawRect(59, 42, 259, 193); 80b1b04: 23c1 movs r3, #193 ; 0xc1 80b1b06: f240 1203 movw r2, #259 ; 0x103 80b1b0a: 212a movs r1, #42 ; 0x2a 80b1b0c: 203b movs r0, #59 ; 0x3b 80b1b0e: f7a3 fe83 bl 8055818 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80b1b12: 4919 ldr r1, [pc, #100] ; (80b1b78 ) 80b1b14: 4819 ldr r0, [pc, #100] ; (80b1b7c ) 80b1b16: f7a3 fb79 bl 805520c BSP_LCD_DrawHLine(61, 92, 256); 80b1b1a: f44f 7280 mov.w r2, #256 ; 0x100 80b1b1e: 215c movs r1, #92 ; 0x5c 80b1b20: 203d movs r0, #61 ; 0x3d 80b1b22: f7a3 fced bl 8055500 for(i = 0; i < 4; i++) 80b1b26: 2300 movs r3, #0 80b1b28: 607b str r3, [r7, #4] 80b1b2a: e01e b.n 80b1b6a { BSP_LCD_DrawVLine(61 + (i << 6), 44, 191); 80b1b2c: 687b ldr r3, [r7, #4] 80b1b2e: b29b uxth r3, r3 80b1b30: 019b lsls r3, r3, #6 80b1b32: b29b uxth r3, r3 80b1b34: 333d adds r3, #61 ; 0x3d 80b1b36: b29b uxth r3, r3 80b1b38: 22bf movs r2, #191 ; 0xbf 80b1b3a: 212c movs r1, #44 ; 0x2c 80b1b3c: 4618 mov r0, r3 80b1b3e: f7a3 fd3d bl 80555bc BSP_LCD_DrawHLine(61, 92 + i*49, 256); 80b1b42: 687b ldr r3, [r7, #4] 80b1b44: b29b uxth r3, r3 80b1b46: 461a mov r2, r3 80b1b48: 00d2 lsls r2, r2, #3 80b1b4a: 1ad3 subs r3, r2, r3 80b1b4c: 461a mov r2, r3 80b1b4e: 00d2 lsls r2, r2, #3 80b1b50: 1ad3 subs r3, r2, r3 80b1b52: b29b uxth r3, r3 80b1b54: 335c adds r3, #92 ; 0x5c 80b1b56: b29b uxth r3, r3 80b1b58: f44f 7280 mov.w r2, #256 ; 0x100 80b1b5c: 4619 mov r1, r3 80b1b5e: 203d movs r0, #61 ; 0x3d 80b1b60: f7a3 fcce bl 8055500 for(i = 0; i < 4; i++) 80b1b64: 687b ldr r3, [r7, #4] 80b1b66: 3301 adds r3, #1 80b1b68: 607b str r3, [r7, #4] 80b1b6a: 687b ldr r3, [r7, #4] 80b1b6c: 2b03 cmp r3, #3 80b1b6e: d9dd bls.n 80b1b2c } } 80b1b70: bf00 nop 80b1b72: 3708 adds r7, #8 80b1b74: 46bd mov sp, r7 80b1b76: bd80 pop {r7, pc} 80b1b78: ff0a0f1f .word 0xff0a0f1f 80b1b7c: ff404040 .word 0xff404040 080b1b80 : { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); } void DrawRMS(void) { 80b1b80: b580 push {r7, lr} 80b1b82: b084 sub sp, #16 80b1b84: af00 add r7, sp, #0 int8_t mmm = 0; 80b1b86: 2300 movs r3, #0 80b1b88: 73fb strb r3, [r7, #15] float32_t f; uint8_t m = 0; 80b1b8a: 2300 movs r3, #0 80b1b8c: 71fb strb r3, [r7, #7] char *pch; BSP_LCD_SetFont(&Font12); 80b1b8e: 48c0 ldr r0, [pc, #768] ; (80b1e90 ) 80b1b90: f7a3 fb78 bl 8055284 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b1b94: 49bf ldr r1, [pc, #764] ; (80b1e94 ) 80b1b96: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b1b9a: f7a3 fb37 bl 805520c f = ABS(skz[pardata.IPR]); 80b1b9e: 4bbe ldr r3, [pc, #760] ; (80b1e98 ) 80b1ba0: 785b ldrb r3, [r3, #1] 80b1ba2: b2db uxtb r3, r3 80b1ba4: 4abd ldr r2, [pc, #756] ; (80b1e9c ) 80b1ba6: 009b lsls r3, r3, #2 80b1ba8: 4413 add r3, r2 80b1baa: edd3 7a00 vldr s15, [r3] 80b1bae: eef5 7ac0 vcmpe.f32 s15, #0.0 80b1bb2: eef1 fa10 vmrs APSR_nzcv, fpscr 80b1bb6: dd08 ble.n 80b1bca 80b1bb8: 4bb7 ldr r3, [pc, #732] ; (80b1e98 ) 80b1bba: 785b ldrb r3, [r3, #1] 80b1bbc: b2db uxtb r3, r3 80b1bbe: 4ab7 ldr r2, [pc, #732] ; (80b1e9c ) 80b1bc0: 009b lsls r3, r3, #2 80b1bc2: 4413 add r3, r2 80b1bc4: edd3 7a00 vldr s15, [r3] 80b1bc8: e009 b.n 80b1bde 80b1bca: 4bb3 ldr r3, [pc, #716] ; (80b1e98 ) 80b1bcc: 785b ldrb r3, [r3, #1] 80b1bce: b2db uxtb r3, r3 80b1bd0: 4ab2 ldr r2, [pc, #712] ; (80b1e9c ) 80b1bd2: 009b lsls r3, r3, #2 80b1bd4: 4413 add r3, r2 80b1bd6: edd3 7a00 vldr s15, [r3] 80b1bda: eef1 7a67 vneg.f32 s15, s15 80b1bde: edc7 7a02 vstr s15, [r7, #8] if(pardata.IPR == DIS) 80b1be2: 4bad ldr r3, [pc, #692] ; (80b1e98 ) 80b1be4: 785b ldrb r3, [r3, #1] 80b1be6: b2db uxtb r3, r3 80b1be8: 2b02 cmp r3, #2 80b1bea: d12b bne.n 80b1c44 { if(f >= 1000.0f) 80b1bec: edd7 7a02 vldr s15, [r7, #8] 80b1bf0: ed9f 7aab vldr s14, [pc, #684] ; 80b1ea0 80b1bf4: eef4 7ac7 vcmpe.f32 s15, s14 80b1bf8: eef1 fa10 vmrs APSR_nzcv, fpscr 80b1bfc: db0a blt.n 80b1c14 { m = 1; 80b1bfe: 2301 movs r3, #1 80b1c00: 71fb strb r3, [r7, #7] f *= 0.001f; 80b1c02: edd7 7a02 vldr s15, [r7, #8] 80b1c06: ed9f 7aa7 vldr s14, [pc, #668] ; 80b1ea4 80b1c0a: ee67 7a87 vmul.f32 s15, s15, s14 80b1c0e: edc7 7a02 vstr s15, [r7, #8] 80b1c12: e017 b.n 80b1c44 } else if(f <= 0.00100f) 80b1c14: edd7 7a02 vldr s15, [r7, #8] 80b1c18: ed9f 7aa2 vldr s14, [pc, #648] ; 80b1ea4 80b1c1c: eef4 7ac7 vcmpe.f32 s15, s14 80b1c20: eef1 fa10 vmrs APSR_nzcv, fpscr 80b1c24: d80e bhi.n 80b1c44 { if(pardata.IIN == VOLTS) 80b1c26: 4b9c ldr r3, [pc, #624] ; (80b1e98 ) 80b1c28: 799b ldrb r3, [r3, #6] 80b1c2a: b2db uxtb r3, r3 80b1c2c: 2b02 cmp r3, #2 80b1c2e: d109 bne.n 80b1c44 { m = 2; 80b1c30: 2302 movs r3, #2 80b1c32: 71fb strb r3, [r7, #7] f *= 1000.000f; 80b1c34: edd7 7a02 vldr s15, [r7, #8] 80b1c38: ed9f 7a99 vldr s14, [pc, #612] ; 80b1ea0 80b1c3c: ee67 7a87 vmul.f32 s15, s15, s14 80b1c40: edc7 7a02 vstr s15, [r7, #8] } } } if(f < 1) { mmm = -5; } 80b1c44: edd7 7a02 vldr s15, [r7, #8] 80b1c48: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80b1c4c: eef4 7ac7 vcmpe.f32 s15, s14 80b1c50: eef1 fa10 vmrs APSR_nzcv, fpscr 80b1c54: d502 bpl.n 80b1c5c 80b1c56: 23fb movs r3, #251 ; 0xfb 80b1c58: 73fb strb r3, [r7, #15] 80b1c5a: e046 b.n 80b1cea else if(f < 10) { mmm = -5; } 80b1c5c: edd7 7a02 vldr s15, [r7, #8] 80b1c60: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80b1c64: eef4 7ac7 vcmpe.f32 s15, s14 80b1c68: eef1 fa10 vmrs APSR_nzcv, fpscr 80b1c6c: d502 bpl.n 80b1c74 80b1c6e: 23fb movs r3, #251 ; 0xfb 80b1c70: 73fb strb r3, [r7, #15] 80b1c72: e03a b.n 80b1cea else if(f < 100) { mmm = -4; } 80b1c74: edd7 7a02 vldr s15, [r7, #8] 80b1c78: ed9f 7a8b vldr s14, [pc, #556] ; 80b1ea8 80b1c7c: eef4 7ac7 vcmpe.f32 s15, s14 80b1c80: eef1 fa10 vmrs APSR_nzcv, fpscr 80b1c84: d502 bpl.n 80b1c8c 80b1c86: 23fc movs r3, #252 ; 0xfc 80b1c88: 73fb strb r3, [r7, #15] 80b1c8a: e02e b.n 80b1cea else if(f < 1000) { mmm = -3; } 80b1c8c: edd7 7a02 vldr s15, [r7, #8] 80b1c90: ed9f 7a83 vldr s14, [pc, #524] ; 80b1ea0 80b1c94: eef4 7ac7 vcmpe.f32 s15, s14 80b1c98: eef1 fa10 vmrs APSR_nzcv, fpscr 80b1c9c: d502 bpl.n 80b1ca4 80b1c9e: 23fd movs r3, #253 ; 0xfd 80b1ca0: 73fb strb r3, [r7, #15] 80b1ca2: e022 b.n 80b1cea else if(f < 10000) { mmm = -2; } 80b1ca4: edd7 7a02 vldr s15, [r7, #8] 80b1ca8: ed9f 7a80 vldr s14, [pc, #512] ; 80b1eac 80b1cac: eef4 7ac7 vcmpe.f32 s15, s14 80b1cb0: eef1 fa10 vmrs APSR_nzcv, fpscr 80b1cb4: d502 bpl.n 80b1cbc 80b1cb6: 23fe movs r3, #254 ; 0xfe 80b1cb8: 73fb strb r3, [r7, #15] 80b1cba: e016 b.n 80b1cea else if(f < 100000) { mmm = -1; } 80b1cbc: edd7 7a02 vldr s15, [r7, #8] 80b1cc0: ed9f 7a7b vldr s14, [pc, #492] ; 80b1eb0 80b1cc4: eef4 7ac7 vcmpe.f32 s15, s14 80b1cc8: eef1 fa10 vmrs APSR_nzcv, fpscr 80b1ccc: d502 bpl.n 80b1cd4 80b1cce: 23ff movs r3, #255 ; 0xff 80b1cd0: 73fb strb r3, [r7, #15] 80b1cd2: e00a b.n 80b1cea else if(f < 1000000) { mmm = 0; } 80b1cd4: edd7 7a02 vldr s15, [r7, #8] 80b1cd8: ed9f 7a76 vldr s14, [pc, #472] ; 80b1eb4 80b1cdc: eef4 7ac7 vcmpe.f32 s15, s14 80b1ce0: eef1 fa10 vmrs APSR_nzcv, fpscr 80b1ce4: d501 bpl.n 80b1cea 80b1ce6: 2300 movs r3, #0 80b1ce8: 73fb strb r3, [r7, #15] BSP_LCD_DisplayStringAt(5, 60, (char *) FloatToASCII(f, mmm), LEFT_MODE); 80b1cea: f997 300f ldrsb.w r3, [r7, #15] 80b1cee: 4618 mov r0, r3 80b1cf0: ed97 0a02 vldr s0, [r7, #8] 80b1cf4: f7b6 fa54 bl 80681a0 80b1cf8: 4602 mov r2, r0 80b1cfa: 2303 movs r3, #3 80b1cfc: 213c movs r1, #60 ; 0x3c 80b1cfe: 2005 movs r0, #5 80b1d00: f7a3 fb4a bl 8055398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b1d04: 4963 ldr r1, [pc, #396] ; (80b1e94 ) 80b1d06: f04f 30ff mov.w r0, #4294967295 80b1d0a: f7a3 fa7f bl 805520c if(pardata.LANG == RUS) 80b1d0e: 4b62 ldr r3, [pc, #392] ; (80b1e98 ) 80b1d10: 7b1b ldrb r3, [r3, #12] 80b1d12: b2db uxtb r3, r3 80b1d14: 2b00 cmp r3, #0 80b1d16: d170 bne.n 80b1dfa { if(pardata.IIN != VOLTS) 80b1d18: 4b5f ldr r3, [pc, #380] ; (80b1e98 ) 80b1d1a: 799b ldrb r3, [r3, #6] 80b1d1c: b2db uxtb r3, r3 80b1d1e: 2b02 cmp r3, #2 80b1d20: d02e beq.n 80b1d80 { if(pardata.IPR == ACC) 80b1d22: 4b5d ldr r3, [pc, #372] ; (80b1e98 ) 80b1d24: 785b ldrb r3, [r3, #1] 80b1d26: b2db uxtb r3, r3 80b1d28: 2b00 cmp r3, #0 80b1d2a: d106 bne.n 80b1d3a BSP_LCD_DisplayStringAt(58, 46, "ì/c^", RIGHT_MODE); 80b1d2c: 2302 movs r3, #2 80b1d2e: 4a62 ldr r2, [pc, #392] ; (80b1eb8 ) 80b1d30: 212e movs r1, #46 ; 0x2e 80b1d32: 203a movs r0, #58 ; 0x3a 80b1d34: f7a3 fb30 bl 8055398 80b1d38: e0f8 b.n 80b1f2c else if(pardata.IPR == VEL) 80b1d3a: 4b57 ldr r3, [pc, #348] ; (80b1e98 ) 80b1d3c: 785b ldrb r3, [r3, #1] 80b1d3e: b2db uxtb r3, r3 80b1d40: 2b01 cmp r3, #1 80b1d42: d106 bne.n 80b1d52 BSP_LCD_DisplayStringAt(58, 46, "ìì/c", RIGHT_MODE); 80b1d44: 2302 movs r3, #2 80b1d46: 4a5d ldr r2, [pc, #372] ; (80b1ebc ) 80b1d48: 212e movs r1, #46 ; 0x2e 80b1d4a: 203a movs r0, #58 ; 0x3a 80b1d4c: f7a3 fb24 bl 8055398 80b1d50: e0ec b.n 80b1f2c else if(pardata.IPR == DIS) 80b1d52: 4b51 ldr r3, [pc, #324] ; (80b1e98 ) 80b1d54: 785b ldrb r3, [r3, #1] 80b1d56: b2db uxtb r3, r3 80b1d58: 2b02 cmp r3, #2 80b1d5a: f040 80e7 bne.w 80b1f2c { if(m == 0) 80b1d5e: 79fb ldrb r3, [r7, #7] 80b1d60: 2b00 cmp r3, #0 80b1d62: d106 bne.n 80b1d72 BSP_LCD_DisplayStringAt(58, 46, "ìkì", RIGHT_MODE); 80b1d64: 2302 movs r3, #2 80b1d66: 4a56 ldr r2, [pc, #344] ; (80b1ec0 ) 80b1d68: 212e movs r1, #46 ; 0x2e 80b1d6a: 203a movs r0, #58 ; 0x3a 80b1d6c: f7a3 fb14 bl 8055398 80b1d70: e0dc b.n 80b1f2c else BSP_LCD_DisplayStringAt(58, 46, "ìì", RIGHT_MODE); 80b1d72: 2302 movs r3, #2 80b1d74: 4a53 ldr r2, [pc, #332] ; (80b1ec4 ) 80b1d76: 212e movs r1, #46 ; 0x2e 80b1d78: 203a movs r0, #58 ; 0x3a 80b1d7a: f7a3 fb0d bl 8055398 80b1d7e: e0d5 b.n 80b1f2c } } else { if(pardata.IPR == ACC) 80b1d80: 4b45 ldr r3, [pc, #276] ; (80b1e98 ) 80b1d82: 785b ldrb r3, [r3, #1] 80b1d84: b2db uxtb r3, r3 80b1d86: 2b00 cmp r3, #0 80b1d88: d106 bne.n 80b1d98 BSP_LCD_DisplayStringAt(58, 46, "ìÂ", RIGHT_MODE); 80b1d8a: 2302 movs r3, #2 80b1d8c: 4a4e ldr r2, [pc, #312] ; (80b1ec8 ) 80b1d8e: 212e movs r1, #46 ; 0x2e 80b1d90: 203a movs r0, #58 ; 0x3a 80b1d92: f7a3 fb01 bl 8055398 80b1d96: e0c9 b.n 80b1f2c else if(pardata.IPR == VEL) 80b1d98: 4b3f ldr r3, [pc, #252] ; (80b1e98 ) 80b1d9a: 785b ldrb r3, [r3, #1] 80b1d9c: b2db uxtb r3, r3 80b1d9e: 2b01 cmp r3, #1 80b1da0: d106 bne.n 80b1db0 BSP_LCD_DisplayStringAt(58, 46, "ìÂ", RIGHT_MODE); 80b1da2: 2302 movs r3, #2 80b1da4: 4a48 ldr r2, [pc, #288] ; (80b1ec8 ) 80b1da6: 212e movs r1, #46 ; 0x2e 80b1da8: 203a movs r0, #58 ; 0x3a 80b1daa: f7a3 faf5 bl 8055398 80b1dae: e0bd b.n 80b1f2c else if(pardata.IPR == DIS) 80b1db0: 4b39 ldr r3, [pc, #228] ; (80b1e98 ) 80b1db2: 785b ldrb r3, [r3, #1] 80b1db4: b2db uxtb r3, r3 80b1db6: 2b02 cmp r3, #2 80b1db8: f040 80b8 bne.w 80b1f2c { if(m == 0) 80b1dbc: 79fb ldrb r3, [r7, #7] 80b1dbe: 2b00 cmp r3, #0 80b1dc0: d106 bne.n 80b1dd0 BSP_LCD_DisplayStringAt(58, 46, "ìÂ", RIGHT_MODE); 80b1dc2: 2302 movs r3, #2 80b1dc4: 4a40 ldr r2, [pc, #256] ; (80b1ec8 ) 80b1dc6: 212e movs r1, #46 ; 0x2e 80b1dc8: 203a movs r0, #58 ; 0x3a 80b1dca: f7a3 fae5 bl 8055398 80b1dce: e0ad b.n 80b1f2c else if(m == 1) 80b1dd0: 79fb ldrb r3, [r7, #7] 80b1dd2: 2b01 cmp r3, #1 80b1dd4: d106 bne.n 80b1de4 BSP_LCD_DisplayStringAt(58, 46, "Â", RIGHT_MODE); 80b1dd6: 2302 movs r3, #2 80b1dd8: 4a3c ldr r2, [pc, #240] ; (80b1ecc ) 80b1dda: 212e movs r1, #46 ; 0x2e 80b1ddc: 203a movs r0, #58 ; 0x3a 80b1dde: f7a3 fadb bl 8055398 80b1de2: e0a3 b.n 80b1f2c else if(m == 2) 80b1de4: 79fb ldrb r3, [r7, #7] 80b1de6: 2b02 cmp r3, #2 80b1de8: f040 80a0 bne.w 80b1f2c BSP_LCD_DisplayStringAt(58, 46, "ìkÂ", RIGHT_MODE); 80b1dec: 2302 movs r3, #2 80b1dee: 4a38 ldr r2, [pc, #224] ; (80b1ed0 ) 80b1df0: 212e movs r1, #46 ; 0x2e 80b1df2: 203a movs r0, #58 ; 0x3a 80b1df4: f7a3 fad0 bl 8055398 80b1df8: e098 b.n 80b1f2c } } } else { if(pardata.IIN != VOLTS) 80b1dfa: 4b27 ldr r3, [pc, #156] ; (80b1e98 ) 80b1dfc: 799b ldrb r3, [r3, #6] 80b1dfe: b2db uxtb r3, r3 80b1e00: 2b02 cmp r3, #2 80b1e02: d02d beq.n 80b1e60 { if(pardata.IPR == ACC) 80b1e04: 4b24 ldr r3, [pc, #144] ; (80b1e98 ) 80b1e06: 785b ldrb r3, [r3, #1] 80b1e08: b2db uxtb r3, r3 80b1e0a: 2b00 cmp r3, #0 80b1e0c: d106 bne.n 80b1e1c BSP_LCD_DisplayStringAt(58, 46, "m/s^", RIGHT_MODE); 80b1e0e: 2302 movs r3, #2 80b1e10: 4a30 ldr r2, [pc, #192] ; (80b1ed4 ) 80b1e12: 212e movs r1, #46 ; 0x2e 80b1e14: 203a movs r0, #58 ; 0x3a 80b1e16: f7a3 fabf bl 8055398 80b1e1a: e087 b.n 80b1f2c else if(pardata.IPR == VEL) 80b1e1c: 4b1e ldr r3, [pc, #120] ; (80b1e98 ) 80b1e1e: 785b ldrb r3, [r3, #1] 80b1e20: b2db uxtb r3, r3 80b1e22: 2b01 cmp r3, #1 80b1e24: d106 bne.n 80b1e34 BSP_LCD_DisplayStringAt(58, 46, "mm/s", RIGHT_MODE); 80b1e26: 2302 movs r3, #2 80b1e28: 4a2b ldr r2, [pc, #172] ; (80b1ed8 ) 80b1e2a: 212e movs r1, #46 ; 0x2e 80b1e2c: 203a movs r0, #58 ; 0x3a 80b1e2e: f7a3 fab3 bl 8055398 80b1e32: e07b b.n 80b1f2c else if(pardata.IPR == DIS) 80b1e34: 4b18 ldr r3, [pc, #96] ; (80b1e98 ) 80b1e36: 785b ldrb r3, [r3, #1] 80b1e38: b2db uxtb r3, r3 80b1e3a: 2b02 cmp r3, #2 80b1e3c: d176 bne.n 80b1f2c { if(m == 0) 80b1e3e: 79fb ldrb r3, [r7, #7] 80b1e40: 2b00 cmp r3, #0 80b1e42: d106 bne.n 80b1e52 BSP_LCD_DisplayStringAt(58, 46, "um", RIGHT_MODE); 80b1e44: 2302 movs r3, #2 80b1e46: 4a25 ldr r2, [pc, #148] ; (80b1edc ) 80b1e48: 212e movs r1, #46 ; 0x2e 80b1e4a: 203a movs r0, #58 ; 0x3a 80b1e4c: f7a3 faa4 bl 8055398 80b1e50: e06c b.n 80b1f2c else BSP_LCD_DisplayStringAt(58, 46, "mm", RIGHT_MODE); 80b1e52: 2302 movs r3, #2 80b1e54: 4a22 ldr r2, [pc, #136] ; (80b1ee0 ) 80b1e56: 212e movs r1, #46 ; 0x2e 80b1e58: 203a movs r0, #58 ; 0x3a 80b1e5a: f7a3 fa9d bl 8055398 80b1e5e: e065 b.n 80b1f2c } } else { if(pardata.IPR == ACC) 80b1e60: 4b0d ldr r3, [pc, #52] ; (80b1e98 ) 80b1e62: 785b ldrb r3, [r3, #1] 80b1e64: b2db uxtb r3, r3 80b1e66: 2b00 cmp r3, #0 80b1e68: d106 bne.n 80b1e78 BSP_LCD_DisplayStringAt(58, 46, "mV", RIGHT_MODE); 80b1e6a: 2302 movs r3, #2 80b1e6c: 4a1d ldr r2, [pc, #116] ; (80b1ee4 ) 80b1e6e: 212e movs r1, #46 ; 0x2e 80b1e70: 203a movs r0, #58 ; 0x3a 80b1e72: f7a3 fa91 bl 8055398 80b1e76: e059 b.n 80b1f2c else if(pardata.IPR == VEL) 80b1e78: 4b07 ldr r3, [pc, #28] ; (80b1e98 ) 80b1e7a: 785b ldrb r3, [r3, #1] 80b1e7c: b2db uxtb r3, r3 80b1e7e: 2b01 cmp r3, #1 80b1e80: d132 bne.n 80b1ee8 BSP_LCD_DisplayStringAt(58, 46, "mV", RIGHT_MODE); 80b1e82: 2302 movs r3, #2 80b1e84: 4a17 ldr r2, [pc, #92] ; (80b1ee4 ) 80b1e86: 212e movs r1, #46 ; 0x2e 80b1e88: 203a movs r0, #58 ; 0x3a 80b1e8a: f7a3 fa85 bl 8055398 80b1e8e: e04d b.n 80b1f2c 80b1e90: 20020038 .word 0x20020038 80b1e94: ff0a0f1f .word 0xff0a0f1f 80b1e98: 20023eb8 .word 0x20023eb8 80b1e9c: 20021590 .word 0x20021590 80b1ea0: 447a0000 .word 0x447a0000 80b1ea4: 3a83126f .word 0x3a83126f 80b1ea8: 42c80000 .word 0x42c80000 80b1eac: 461c4000 .word 0x461c4000 80b1eb0: 47c35000 .word 0x47c35000 80b1eb4: 49742400 .word 0x49742400 80b1eb8: 080d7428 .word 0x080d7428 80b1ebc: 080d7438 .word 0x080d7438 80b1ec0: 080d7448 .word 0x080d7448 80b1ec4: 080d7420 .word 0x080d7420 80b1ec8: 080d7588 .word 0x080d7588 80b1ecc: 080d758c .word 0x080d758c 80b1ed0: 080d7590 .word 0x080d7590 80b1ed4: 080d7430 .word 0x080d7430 80b1ed8: 080d7440 .word 0x080d7440 80b1edc: 080d744c .word 0x080d744c 80b1ee0: 080d7424 .word 0x080d7424 80b1ee4: 080d751c .word 0x080d751c else if(pardata.IPR == DIS) 80b1ee8: 4b24 ldr r3, [pc, #144] ; (80b1f7c ) 80b1eea: 785b ldrb r3, [r3, #1] 80b1eec: b2db uxtb r3, r3 80b1eee: 2b02 cmp r3, #2 80b1ef0: d11c bne.n 80b1f2c { if(m == 0) 80b1ef2: 79fb ldrb r3, [r7, #7] 80b1ef4: 2b00 cmp r3, #0 80b1ef6: d106 bne.n 80b1f06 BSP_LCD_DisplayStringAt(58, 46, "mV", RIGHT_MODE); 80b1ef8: 2302 movs r3, #2 80b1efa: 4a21 ldr r2, [pc, #132] ; (80b1f80 ) 80b1efc: 212e movs r1, #46 ; 0x2e 80b1efe: 203a movs r0, #58 ; 0x3a 80b1f00: f7a3 fa4a bl 8055398 80b1f04: e012 b.n 80b1f2c else if(m == 1) 80b1f06: 79fb ldrb r3, [r7, #7] 80b1f08: 2b01 cmp r3, #1 80b1f0a: d106 bne.n 80b1f1a BSP_LCD_DisplayStringAt(58, 46, "V", RIGHT_MODE); 80b1f0c: 2302 movs r3, #2 80b1f0e: 4a1d ldr r2, [pc, #116] ; (80b1f84 ) 80b1f10: 212e movs r1, #46 ; 0x2e 80b1f12: 203a movs r0, #58 ; 0x3a 80b1f14: f7a3 fa40 bl 8055398 80b1f18: e008 b.n 80b1f2c else if(m == 2) 80b1f1a: 79fb ldrb r3, [r7, #7] 80b1f1c: 2b02 cmp r3, #2 80b1f1e: d105 bne.n 80b1f2c BSP_LCD_DisplayStringAt(58, 46, "uV", RIGHT_MODE); 80b1f20: 2302 movs r3, #2 80b1f22: 4a19 ldr r2, [pc, #100] ; (80b1f88 ) 80b1f24: 212e movs r1, #46 ; 0x2e 80b1f26: 203a movs r0, #58 ; 0x3a 80b1f28: f7a3 fa36 bl 8055398 } } } pch = (char *) FloatToASCII(skzDB[pardata.IPR], -1); 80b1f2c: 4b13 ldr r3, [pc, #76] ; (80b1f7c ) 80b1f2e: 785b ldrb r3, [r3, #1] 80b1f30: b2db uxtb r3, r3 80b1f32: 4a16 ldr r2, [pc, #88] ; (80b1f8c ) 80b1f34: 009b lsls r3, r3, #2 80b1f36: 4413 add r3, r2 80b1f38: edd3 7a00 vldr s15, [r3] 80b1f3c: f04f 30ff mov.w r0, #4294967295 80b1f40: eeb0 0a67 vmov.f32 s0, s15 80b1f44: f7b6 f92c bl 80681a0 80b1f48: 6038 str r0, [r7, #0] strcat(pch, " dB"); 80b1f4a: 6838 ldr r0, [r7, #0] 80b1f4c: f76e f9e2 bl 8020314 80b1f50: 4603 mov r3, r0 80b1f52: 461a mov r2, r3 80b1f54: 683b ldr r3, [r7, #0] 80b1f56: 4413 add r3, r2 80b1f58: 4a0d ldr r2, [pc, #52] ; (80b1f90 ) 80b1f5a: 6810 ldr r0, [r2, #0] 80b1f5c: 6018 str r0, [r3, #0] LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b1f5e: 490d ldr r1, [pc, #52] ; (80b1f94 ) 80b1f60: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b1f64: f7a3 f952 bl 805520c BSP_LCD_DisplayStringAt(30, 73, pch, CENTER_MODE); 80b1f68: 2301 movs r3, #1 80b1f6a: 683a ldr r2, [r7, #0] 80b1f6c: 2149 movs r1, #73 ; 0x49 80b1f6e: 201e movs r0, #30 80b1f70: f7a3 fa12 bl 8055398 //BSP_LCD_DisplayStringAt(41, 77, "dB", CENTER_MODE); } 80b1f74: bf00 nop 80b1f76: 3710 adds r7, #16 80b1f78: 46bd mov sp, r7 80b1f7a: bd80 pop {r7, pc} 80b1f7c: 20023eb8 .word 0x20023eb8 80b1f80: 080d751c .word 0x080d751c 80b1f84: 080d5110 .word 0x080d5110 80b1f88: 080d747c .word 0x080d747c 80b1f8c: 2002159c .word 0x2002159c 80b1f90: 080d7594 .word 0x080d7594 80b1f94: ff0a0f1f .word 0xff0a0f1f 080b1f98 : void DrawAVS(void) //TODO { 80b1f98: b580 push {r7, lr} 80b1f9a: 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); 80b1f9c: 483f ldr r0, [pc, #252] ; (80b209c ) 80b1f9e: f7a3 f971 bl 8055284 LCD_SetColors(LCD_COLOR_WHITE, 0xFF000000); 80b1fa2: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80b1fa6: f04f 30ff mov.w r0, #4294967295 80b1faa: f7a3 f92f bl 805520c BSP_LCD_DisplayStringAt(66, 45, (char *) pIPR[pardata.LANG][pardata.IPR], LEFT_MODE); 80b1fae: 4b3c ldr r3, [pc, #240] ; (80b20a0 ) 80b1fb0: 7b1b ldrb r3, [r3, #12] 80b1fb2: b2db uxtb r3, r3 80b1fb4: 4619 mov r1, r3 80b1fb6: 4b3a ldr r3, [pc, #232] ; (80b20a0 ) 80b1fb8: 785b ldrb r3, [r3, #1] 80b1fba: b2db uxtb r3, r3 80b1fbc: 4618 mov r0, r3 80b1fbe: 4a39 ldr r2, [pc, #228] ; (80b20a4 ) 80b1fc0: 460b mov r3, r1 80b1fc2: 005b lsls r3, r3, #1 80b1fc4: 440b add r3, r1 80b1fc6: 4403 add r3, r0 80b1fc8: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80b1fcc: 2303 movs r3, #3 80b1fce: 212d movs r1, #45 ; 0x2d 80b1fd0: 2042 movs r0, #66 ; 0x42 80b1fd2: f7a3 f9e1 bl 8055398 BSP_LCD_SetFont(&Font12); 80b1fd6: 4834 ldr r0, [pc, #208] ; (80b20a8 ) 80b1fd8: f7a3 f954 bl 8055284 if((menu == MAIN_ROLL) || (menu == VIEW_PORTRET) || (menu == ROLL_RESULTS)) 80b1fdc: 4b33 ldr r3, [pc, #204] ; (80b20ac ) 80b1fde: 781b ldrb r3, [r3, #0] 80b1fe0: b2db uxtb r3, r3 80b1fe2: 2b24 cmp r3, #36 ; 0x24 80b1fe4: d009 beq.n 80b1ffa 80b1fe6: 4b31 ldr r3, [pc, #196] ; (80b20ac ) 80b1fe8: 781b ldrb r3, [r3, #0] 80b1fea: b2db uxtb r3, r3 80b1fec: 2b28 cmp r3, #40 ; 0x28 80b1fee: d004 beq.n 80b1ffa 80b1ff0: 4b2e ldr r3, [pc, #184] ; (80b20ac ) 80b1ff2: 781b ldrb r3, [r3, #0] 80b1ff4: b2db uxtb r3, r3 80b1ff6: 2b27 cmp r3, #39 ; 0x27 80b1ff8: d106 bne.n 80b2008 { BSP_LCD_DisplayStringAt(83, 53, ",dB", LEFT_MODE); 80b1ffa: 2303 movs r3, #3 80b1ffc: 4a2c ldr r2, [pc, #176] ; (80b20b0 ) 80b1ffe: 2135 movs r1, #53 ; 0x35 80b2000: 2053 movs r0, #83 ; 0x53 80b2002: f7a3 f9c9 bl 8055398 } else BSP_LCD_DisplayStringAt(83, 53, ",dB", LEFT_MODE); } }*/ } 80b2006: e047 b.n 80b2098 if((menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD) || (menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB)) 80b2008: 4b28 ldr r3, [pc, #160] ; (80b20ac ) 80b200a: 781b ldrb r3, [r3, #0] 80b200c: b2db uxtb r3, r3 80b200e: 2b22 cmp r3, #34 ; 0x22 80b2010: d00e beq.n 80b2030 80b2012: 4b26 ldr r3, [pc, #152] ; (80b20ac ) 80b2014: 781b ldrb r3, [r3, #0] 80b2016: b2db uxtb r3, r3 80b2018: 2b23 cmp r3, #35 ; 0x23 80b201a: d009 beq.n 80b2030 80b201c: 4b23 ldr r3, [pc, #140] ; (80b20ac ) 80b201e: 781b ldrb r3, [r3, #0] 80b2020: b2db uxtb r3, r3 80b2022: 2b1c cmp r3, #28 80b2024: d004 beq.n 80b2030 80b2026: 4b21 ldr r3, [pc, #132] ; (80b20ac ) 80b2028: 781b ldrb r3, [r3, #0] 80b202a: b2db uxtb r3, r3 80b202c: 2b21 cmp r3, #33 ; 0x21 80b202e: d133 bne.n 80b2098 if(pardata.MSH == LOG) 80b2030: 4b1b ldr r3, [pc, #108] ; (80b20a0 ) 80b2032: 7a9b ldrb r3, [r3, #10] 80b2034: b2db uxtb r3, r3 80b2036: 2b01 cmp r3, #1 80b2038: d117 bne.n 80b206a BSP_LCD_DisplayStringAt(83, 53, (char *) pTEXT_DB[pardata.LANG][pardata.IVS[pardata.IPR]], LEFT_MODE); 80b203a: 4b19 ldr r3, [pc, #100] ; (80b20a0 ) 80b203c: 7b1b ldrb r3, [r3, #12] 80b203e: b2db uxtb r3, r3 80b2040: 4618 mov r0, r3 80b2042: 4b17 ldr r3, [pc, #92] ; (80b20a0 ) 80b2044: 785b ldrb r3, [r3, #1] 80b2046: b2db uxtb r3, r3 80b2048: 461a mov r2, r3 80b204a: 4b15 ldr r3, [pc, #84] ; (80b20a0 ) 80b204c: 4413 add r3, r2 80b204e: 789b ldrb r3, [r3, #2] 80b2050: b2db uxtb r3, r3 80b2052: 4619 mov r1, r3 80b2054: 4a17 ldr r2, [pc, #92] ; (80b20b4 ) 80b2056: 0043 lsls r3, r0, #1 80b2058: 440b add r3, r1 80b205a: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80b205e: 2303 movs r3, #3 80b2060: 2135 movs r1, #53 ; 0x35 80b2062: 2053 movs r0, #83 ; 0x53 80b2064: f7a3 f998 bl 8055398 } 80b2068: e016 b.n 80b2098 else BSP_LCD_DisplayStringAt(83, 53, (char *) pTEXT[pardata.LANG][pardata.IVS[pardata.IPR]], LEFT_MODE); 80b206a: 4b0d ldr r3, [pc, #52] ; (80b20a0 ) 80b206c: 7b1b ldrb r3, [r3, #12] 80b206e: b2db uxtb r3, r3 80b2070: 4618 mov r0, r3 80b2072: 4b0b ldr r3, [pc, #44] ; (80b20a0 ) 80b2074: 785b ldrb r3, [r3, #1] 80b2076: b2db uxtb r3, r3 80b2078: 461a mov r2, r3 80b207a: 4b09 ldr r3, [pc, #36] ; (80b20a0 ) 80b207c: 4413 add r3, r2 80b207e: 789b ldrb r3, [r3, #2] 80b2080: b2db uxtb r3, r3 80b2082: 4619 mov r1, r3 80b2084: 4a0c ldr r2, [pc, #48] ; (80b20b8 ) 80b2086: 0043 lsls r3, r0, #1 80b2088: 440b add r3, r1 80b208a: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80b208e: 2303 movs r3, #3 80b2090: 2135 movs r1, #53 ; 0x35 80b2092: 2053 movs r0, #83 ; 0x53 80b2094: f7a3 f980 bl 8055398 } 80b2098: bf00 nop 80b209a: bd80 pop {r7, pc} 80b209c: 20020058 .word 0x20020058 80b20a0: 20023eb8 .word 0x20023eb8 80b20a4: 2002016c .word 0x2002016c 80b20a8: 20020038 .word 0x20020038 80b20ac: 20020fc5 .word 0x20020fc5 80b20b0: 080d7598 .word 0x080d7598 80b20b4: 2002099c .word 0x2002099c 80b20b8: 200209ac .word 0x200209ac 080b20bc : void DrawKeyboard(void) { 80b20bc: b580 push {r7, lr} 80b20be: b084 sub sp, #16 80b20c0: af00 add r7, sp, #0 uint32_t i, j; char Bukva[2] = {'\0','\0'}; 80b20c2: 2300 movs r3, #0 80b20c4: 713b strb r3, [r7, #4] 80b20c6: 2300 movs r3, #0 80b20c8: 717b strb r3, [r7, #5] BSP_LCD_SetFont(&Font12); 80b20ca: 48ba ldr r0, [pc, #744] ; (80b23b4 ) 80b20cc: f7a3 f8da bl 8055284 for(j = 0; j < 3; j++) 80b20d0: 2300 movs r3, #0 80b20d2: 60bb str r3, [r7, #8] 80b20d4: e0aa b.n 80b222c { for(i = 0; i < 10; i++) 80b20d6: 2300 movs r3, #0 80b20d8: 60fb str r3, [r7, #12] 80b20da: e0a0 b.n 80b221e { if(menupos != (j*10 + i)) 80b20dc: 4bb6 ldr r3, [pc, #728] ; (80b23b8 ) 80b20de: 781b ldrb r3, [r3, #0] 80b20e0: b2db uxtb r3, r3 80b20e2: 4619 mov r1, r3 80b20e4: 68ba ldr r2, [r7, #8] 80b20e6: 4613 mov r3, r2 80b20e8: 009b lsls r3, r3, #2 80b20ea: 4413 add r3, r2 80b20ec: 005b lsls r3, r3, #1 80b20ee: 461a mov r2, r3 80b20f0: 68fb ldr r3, [r7, #12] 80b20f2: 4413 add r3, r2 80b20f4: 4299 cmp r1, r3 80b20f6: d047 beq.n 80b2188 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b20f8: 49b0 ldr r1, [pc, #704] ; (80b23bc ) 80b20fa: 48b1 ldr r0, [pc, #708] ; (80b23c0 ) 80b20fc: f7a3 f886 bl 805520c BSP_LCD_DrawRect(26 + 26*i, 120 + 22*j, 25, 21); 80b2100: 68fb ldr r3, [r7, #12] 80b2102: 3301 adds r3, #1 80b2104: b29b uxth r3, r3 80b2106: 461a mov r2, r3 80b2108: 0052 lsls r2, r2, #1 80b210a: 441a add r2, r3 80b210c: 0092 lsls r2, r2, #2 80b210e: 4413 add r3, r2 80b2110: 005b lsls r3, r3, #1 80b2112: b298 uxth r0, r3 80b2114: 68bb ldr r3, [r7, #8] 80b2116: b29b uxth r3, r3 80b2118: 461a mov r2, r3 80b211a: 0092 lsls r2, r2, #2 80b211c: 441a add r2, r3 80b211e: 0052 lsls r2, r2, #1 80b2120: 4413 add r3, r2 80b2122: 005b lsls r3, r3, #1 80b2124: b29b uxth r3, r3 80b2126: 3378 adds r3, #120 ; 0x78 80b2128: b299 uxth r1, r3 80b212a: 2315 movs r3, #21 80b212c: 2219 movs r2, #25 80b212e: f7a3 fb73 bl 8055818 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b2132: 49a2 ldr r1, [pc, #648] ; (80b23bc ) 80b2134: f04f 30ff mov.w r0, #4294967295 80b2138: f7a3 f868 bl 805520c Bukva[0] = CHARS_ENG[j*10 + i]; 80b213c: 68ba ldr r2, [r7, #8] 80b213e: 4613 mov r3, r2 80b2140: 009b lsls r3, r3, #2 80b2142: 4413 add r3, r2 80b2144: 005b lsls r3, r3, #1 80b2146: 461a mov r2, r3 80b2148: 68fb ldr r3, [r7, #12] 80b214a: 4413 add r3, r2 80b214c: 4a9d ldr r2, [pc, #628] ; (80b23c4 ) 80b214e: 5cd3 ldrb r3, [r2, r3] 80b2150: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(37 + 26*i, 126 + 22*j, Bukva, LEFT_MODE); 80b2152: 68fb ldr r3, [r7, #12] 80b2154: b29b uxth r3, r3 80b2156: 461a mov r2, r3 80b2158: 0052 lsls r2, r2, #1 80b215a: 441a add r2, r3 80b215c: 0092 lsls r2, r2, #2 80b215e: 4413 add r3, r2 80b2160: 005b lsls r3, r3, #1 80b2162: b29b uxth r3, r3 80b2164: 3325 adds r3, #37 ; 0x25 80b2166: b298 uxth r0, r3 80b2168: 68bb ldr r3, [r7, #8] 80b216a: b29b uxth r3, r3 80b216c: 461a mov r2, r3 80b216e: 0092 lsls r2, r2, #2 80b2170: 441a add r2, r3 80b2172: 0052 lsls r2, r2, #1 80b2174: 4413 add r3, r2 80b2176: 005b lsls r3, r3, #1 80b2178: b29b uxth r3, r3 80b217a: 337e adds r3, #126 ; 0x7e 80b217c: b299 uxth r1, r3 80b217e: 1d3a adds r2, r7, #4 80b2180: 2303 movs r3, #3 80b2182: f7a3 f909 bl 8055398 80b2186: e047 b.n 80b2218 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b2188: 498c ldr r1, [pc, #560] ; (80b23bc ) 80b218a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b218e: f7a3 f83d bl 805520c BSP_LCD_DrawRect(26 + 26*i, 120 + 22*j, 25, 21); 80b2192: 68fb ldr r3, [r7, #12] 80b2194: 3301 adds r3, #1 80b2196: b29b uxth r3, r3 80b2198: 461a mov r2, r3 80b219a: 0052 lsls r2, r2, #1 80b219c: 441a add r2, r3 80b219e: 0092 lsls r2, r2, #2 80b21a0: 4413 add r3, r2 80b21a2: 005b lsls r3, r3, #1 80b21a4: b298 uxth r0, r3 80b21a6: 68bb ldr r3, [r7, #8] 80b21a8: b29b uxth r3, r3 80b21aa: 461a mov r2, r3 80b21ac: 0092 lsls r2, r2, #2 80b21ae: 441a add r2, r3 80b21b0: 0052 lsls r2, r2, #1 80b21b2: 4413 add r3, r2 80b21b4: 005b lsls r3, r3, #1 80b21b6: b29b uxth r3, r3 80b21b8: 3378 adds r3, #120 ; 0x78 80b21ba: b299 uxth r1, r3 80b21bc: 2315 movs r3, #21 80b21be: 2219 movs r2, #25 80b21c0: f7a3 fb2a bl 8055818 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b21c4: 497d ldr r1, [pc, #500] ; (80b23bc ) 80b21c6: f04f 30ff mov.w r0, #4294967295 80b21ca: f7a3 f81f bl 805520c Bukva[0] = CHARS_ENG[j*10 + i]; 80b21ce: 68ba ldr r2, [r7, #8] 80b21d0: 4613 mov r3, r2 80b21d2: 009b lsls r3, r3, #2 80b21d4: 4413 add r3, r2 80b21d6: 005b lsls r3, r3, #1 80b21d8: 461a mov r2, r3 80b21da: 68fb ldr r3, [r7, #12] 80b21dc: 4413 add r3, r2 80b21de: 4a79 ldr r2, [pc, #484] ; (80b23c4 ) 80b21e0: 5cd3 ldrb r3, [r2, r3] 80b21e2: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(37 + 26*i, 126 + 22*j, Bukva, LEFT_MODE); 80b21e4: 68fb ldr r3, [r7, #12] 80b21e6: b29b uxth r3, r3 80b21e8: 461a mov r2, r3 80b21ea: 0052 lsls r2, r2, #1 80b21ec: 441a add r2, r3 80b21ee: 0092 lsls r2, r2, #2 80b21f0: 4413 add r3, r2 80b21f2: 005b lsls r3, r3, #1 80b21f4: b29b uxth r3, r3 80b21f6: 3325 adds r3, #37 ; 0x25 80b21f8: b298 uxth r0, r3 80b21fa: 68bb ldr r3, [r7, #8] 80b21fc: b29b uxth r3, r3 80b21fe: 461a mov r2, r3 80b2200: 0092 lsls r2, r2, #2 80b2202: 441a add r2, r3 80b2204: 0052 lsls r2, r2, #1 80b2206: 4413 add r3, r2 80b2208: 005b lsls r3, r3, #1 80b220a: b29b uxth r3, r3 80b220c: 337e adds r3, #126 ; 0x7e 80b220e: b299 uxth r1, r3 80b2210: 1d3a adds r2, r7, #4 80b2212: 2303 movs r3, #3 80b2214: f7a3 f8c0 bl 8055398 for(i = 0; i < 10; i++) 80b2218: 68fb ldr r3, [r7, #12] 80b221a: 3301 adds r3, #1 80b221c: 60fb str r3, [r7, #12] 80b221e: 68fb ldr r3, [r7, #12] 80b2220: 2b09 cmp r3, #9 80b2222: f67f af5b bls.w 80b20dc for(j = 0; j < 3; j++) 80b2226: 68bb ldr r3, [r7, #8] 80b2228: 3301 adds r3, #1 80b222a: 60bb str r3, [r7, #8] 80b222c: 68bb ldr r3, [r7, #8] 80b222e: 2b02 cmp r3, #2 80b2230: f67f af51 bls.w 80b20d6 } } } i = 0; 80b2234: 2300 movs r3, #0 80b2236: 60fb str r3, [r7, #12] do { if(i < 4) 80b2238: 68fb ldr r3, [r7, #12] 80b223a: 2b03 cmp r3, #3 80b223c: d864 bhi.n 80b2308 { if(menupos != (30 + i)) 80b223e: 4b5e ldr r3, [pc, #376] ; (80b23b8 ) 80b2240: 781b ldrb r3, [r3, #0] 80b2242: b2db uxtb r3, r3 80b2244: 461a mov r2, r3 80b2246: 68fb ldr r3, [r7, #12] 80b2248: 331e adds r3, #30 80b224a: 429a cmp r2, r3 80b224c: d02d beq.n 80b22aa { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b224e: 495b ldr r1, [pc, #364] ; (80b23bc ) 80b2250: 485b ldr r0, [pc, #364] ; (80b23c0 ) 80b2252: f7a2 ffdb bl 805520c BSP_LCD_DrawRect(26 + 26*i, 186, 25, 21); 80b2256: 68fb ldr r3, [r7, #12] 80b2258: 3301 adds r3, #1 80b225a: b29b uxth r3, r3 80b225c: 461a mov r2, r3 80b225e: 0052 lsls r2, r2, #1 80b2260: 441a add r2, r3 80b2262: 0092 lsls r2, r2, #2 80b2264: 4413 add r3, r2 80b2266: 005b lsls r3, r3, #1 80b2268: b298 uxth r0, r3 80b226a: 2315 movs r3, #21 80b226c: 2219 movs r2, #25 80b226e: 21ba movs r1, #186 ; 0xba 80b2270: f7a3 fad2 bl 8055818 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b2274: 4951 ldr r1, [pc, #324] ; (80b23bc ) 80b2276: f04f 30ff mov.w r0, #4294967295 80b227a: f7a2 ffc7 bl 805520c Bukva[0] = CHARS_ENG[30 + i]; 80b227e: 68fb ldr r3, [r7, #12] 80b2280: 331e adds r3, #30 80b2282: 4a50 ldr r2, [pc, #320] ; (80b23c4 ) 80b2284: 5cd3 ldrb r3, [r2, r3] 80b2286: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(37 + 26*i, 192, Bukva, LEFT_MODE); 80b2288: 68fb ldr r3, [r7, #12] 80b228a: b29b uxth r3, r3 80b228c: 461a mov r2, r3 80b228e: 0052 lsls r2, r2, #1 80b2290: 441a add r2, r3 80b2292: 0092 lsls r2, r2, #2 80b2294: 4413 add r3, r2 80b2296: 005b lsls r3, r3, #1 80b2298: b29b uxth r3, r3 80b229a: 3325 adds r3, #37 ; 0x25 80b229c: b298 uxth r0, r3 80b229e: 1d3a adds r2, r7, #4 80b22a0: 2303 movs r3, #3 80b22a2: 21c0 movs r1, #192 ; 0xc0 80b22a4: f7a3 f878 bl 8055398 80b22a8: e0bd b.n 80b2426 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b22aa: 4944 ldr r1, [pc, #272] ; (80b23bc ) 80b22ac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b22b0: f7a2 ffac bl 805520c BSP_LCD_DrawRect(26 + 26*i, 186, 25, 21); 80b22b4: 68fb ldr r3, [r7, #12] 80b22b6: 3301 adds r3, #1 80b22b8: b29b uxth r3, r3 80b22ba: 461a mov r2, r3 80b22bc: 0052 lsls r2, r2, #1 80b22be: 441a add r2, r3 80b22c0: 0092 lsls r2, r2, #2 80b22c2: 4413 add r3, r2 80b22c4: 005b lsls r3, r3, #1 80b22c6: b298 uxth r0, r3 80b22c8: 2315 movs r3, #21 80b22ca: 2219 movs r2, #25 80b22cc: 21ba movs r1, #186 ; 0xba 80b22ce: f7a3 faa3 bl 8055818 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b22d2: 493a ldr r1, [pc, #232] ; (80b23bc ) 80b22d4: f04f 30ff mov.w r0, #4294967295 80b22d8: f7a2 ff98 bl 805520c Bukva[0] = CHARS_ENG[30 + i]; 80b22dc: 68fb ldr r3, [r7, #12] 80b22de: 331e adds r3, #30 80b22e0: 4a38 ldr r2, [pc, #224] ; (80b23c4 ) 80b22e2: 5cd3 ldrb r3, [r2, r3] 80b22e4: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(37 + 26*i, 192, Bukva, LEFT_MODE); 80b22e6: 68fb ldr r3, [r7, #12] 80b22e8: b29b uxth r3, r3 80b22ea: 461a mov r2, r3 80b22ec: 0052 lsls r2, r2, #1 80b22ee: 441a add r2, r3 80b22f0: 0092 lsls r2, r2, #2 80b22f2: 4413 add r3, r2 80b22f4: 005b lsls r3, r3, #1 80b22f6: b29b uxth r3, r3 80b22f8: 3325 adds r3, #37 ; 0x25 80b22fa: b298 uxth r0, r3 80b22fc: 1d3a adds r2, r7, #4 80b22fe: 2303 movs r3, #3 80b2300: 21c0 movs r1, #192 ; 0xc0 80b2302: f7a3 f849 bl 8055398 80b2306: e08e b.n 80b2426 } } else if(i == 4) 80b2308: 68fb ldr r3, [r7, #12] 80b230a: 2b04 cmp r3, #4 80b230c: d11b bne.n 80b2346 { /*"Space" button */ if(menupos != 34) 80b230e: 4b2a ldr r3, [pc, #168] ; (80b23b8 ) 80b2310: 781b ldrb r3, [r3, #0] 80b2312: b2db uxtb r3, r3 80b2314: 2b22 cmp r3, #34 ; 0x22 80b2316: d00a beq.n 80b232e { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b2318: 4928 ldr r1, [pc, #160] ; (80b23bc ) 80b231a: 4829 ldr r0, [pc, #164] ; (80b23c0 ) 80b231c: f7a2 ff76 bl 805520c BSP_LCD_DrawRect(130, 186, 77, 21); 80b2320: 2315 movs r3, #21 80b2322: 224d movs r2, #77 ; 0x4d 80b2324: 21ba movs r1, #186 ; 0xba 80b2326: 2082 movs r0, #130 ; 0x82 80b2328: f7a3 fa76 bl 8055818 80b232c: e07b b.n 80b2426 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b232e: 4923 ldr r1, [pc, #140] ; (80b23bc ) 80b2330: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b2334: f7a2 ff6a bl 805520c BSP_LCD_DrawRect(130, 186, 77, 21); 80b2338: 2315 movs r3, #21 80b233a: 224d movs r2, #77 ; 0x4d 80b233c: 21ba movs r1, #186 ; 0xba 80b233e: 2082 movs r0, #130 ; 0x82 80b2340: f7a3 fa6a bl 8055818 80b2344: e06f b.n 80b2426 } } else { /* After "Space" button*/ if(menupos != (30 + i)) 80b2346: 4b1c ldr r3, [pc, #112] ; (80b23b8 ) 80b2348: 781b ldrb r3, [r3, #0] 80b234a: b2db uxtb r3, r3 80b234c: 461a mov r2, r3 80b234e: 68fb ldr r3, [r7, #12] 80b2350: 331e adds r3, #30 80b2352: 429a cmp r2, r3 80b2354: d038 beq.n 80b23c8 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b2356: 4919 ldr r1, [pc, #100] ; (80b23bc ) 80b2358: 4819 ldr r0, [pc, #100] ; (80b23c0 ) 80b235a: f7a2 ff57 bl 805520c BSP_LCD_DrawRect(78 + 26*i, 186, 25, 21); 80b235e: 68fb ldr r3, [r7, #12] 80b2360: b29b uxth r3, r3 80b2362: 461a mov r2, r3 80b2364: 0052 lsls r2, r2, #1 80b2366: 441a add r2, r3 80b2368: 0092 lsls r2, r2, #2 80b236a: 4413 add r3, r2 80b236c: 005b lsls r3, r3, #1 80b236e: b29b uxth r3, r3 80b2370: 334e adds r3, #78 ; 0x4e 80b2372: b298 uxth r0, r3 80b2374: 2315 movs r3, #21 80b2376: 2219 movs r2, #25 80b2378: 21ba movs r1, #186 ; 0xba 80b237a: f7a3 fa4d bl 8055818 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b237e: 490f ldr r1, [pc, #60] ; (80b23bc ) 80b2380: f04f 30ff mov.w r0, #4294967295 80b2384: f7a2 ff42 bl 805520c Bukva[0] = CHARS_ENG[30 + i]; 80b2388: 68fb ldr r3, [r7, #12] 80b238a: 331e adds r3, #30 80b238c: 4a0d ldr r2, [pc, #52] ; (80b23c4 ) 80b238e: 5cd3 ldrb r3, [r2, r3] 80b2390: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(89 + 26*i, 192, Bukva, LEFT_MODE); 80b2392: 68fb ldr r3, [r7, #12] 80b2394: b29b uxth r3, r3 80b2396: 461a mov r2, r3 80b2398: 0052 lsls r2, r2, #1 80b239a: 441a add r2, r3 80b239c: 0092 lsls r2, r2, #2 80b239e: 4413 add r3, r2 80b23a0: 005b lsls r3, r3, #1 80b23a2: b29b uxth r3, r3 80b23a4: 3359 adds r3, #89 ; 0x59 80b23a6: b298 uxth r0, r3 80b23a8: 1d3a adds r2, r7, #4 80b23aa: 2303 movs r3, #3 80b23ac: 21c0 movs r1, #192 ; 0xc0 80b23ae: f7a2 fff3 bl 8055398 80b23b2: e038 b.n 80b2426 80b23b4: 20020038 .word 0x20020038 80b23b8: 20020070 .word 0x20020070 80b23bc: ff0a0f1f .word 0xff0a0f1f 80b23c0: ff808080 .word 0xff808080 80b23c4: 080f5fa0 .word 0x080f5fa0 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b23c8: 495c ldr r1, [pc, #368] ; (80b253c ) 80b23ca: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b23ce: f7a2 ff1d bl 805520c BSP_LCD_DrawRect(78 + 26*i, 186, 25, 21); 80b23d2: 68fb ldr r3, [r7, #12] 80b23d4: b29b uxth r3, r3 80b23d6: 461a mov r2, r3 80b23d8: 0052 lsls r2, r2, #1 80b23da: 441a add r2, r3 80b23dc: 0092 lsls r2, r2, #2 80b23de: 4413 add r3, r2 80b23e0: 005b lsls r3, r3, #1 80b23e2: b29b uxth r3, r3 80b23e4: 334e adds r3, #78 ; 0x4e 80b23e6: b298 uxth r0, r3 80b23e8: 2315 movs r3, #21 80b23ea: 2219 movs r2, #25 80b23ec: 21ba movs r1, #186 ; 0xba 80b23ee: f7a3 fa13 bl 8055818 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b23f2: 4952 ldr r1, [pc, #328] ; (80b253c ) 80b23f4: f04f 30ff mov.w r0, #4294967295 80b23f8: f7a2 ff08 bl 805520c Bukva[0] = CHARS_ENG[30 + i]; 80b23fc: 68fb ldr r3, [r7, #12] 80b23fe: 331e adds r3, #30 80b2400: 4a4f ldr r2, [pc, #316] ; (80b2540 ) 80b2402: 5cd3 ldrb r3, [r2, r3] 80b2404: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(89 + 26*i, 192, Bukva, LEFT_MODE); 80b2406: 68fb ldr r3, [r7, #12] 80b2408: b29b uxth r3, r3 80b240a: 461a mov r2, r3 80b240c: 0052 lsls r2, r2, #1 80b240e: 441a add r2, r3 80b2410: 0092 lsls r2, r2, #2 80b2412: 4413 add r3, r2 80b2414: 005b lsls r3, r3, #1 80b2416: b29b uxth r3, r3 80b2418: 3359 adds r3, #89 ; 0x59 80b241a: b298 uxth r0, r3 80b241c: 1d3a adds r2, r7, #4 80b241e: 2303 movs r3, #3 80b2420: 21c0 movs r1, #192 ; 0xc0 80b2422: f7a2 ffb9 bl 8055398 } } } while(++i < 8); 80b2426: 68fb ldr r3, [r7, #12] 80b2428: 3301 adds r3, #1 80b242a: 60fb str r3, [r7, #12] 80b242c: 68fb ldr r3, [r7, #12] 80b242e: 2b07 cmp r3, #7 80b2430: f67f af02 bls.w 80b2238 /* "OK" button */ if(menupos != _ENTER) 80b2434: 4b43 ldr r3, [pc, #268] ; (80b2544 ) 80b2436: 781b ldrb r3, [r3, #0] 80b2438: b2db uxtb r3, r3 80b243a: 2b26 cmp r3, #38 ; 0x26 80b243c: d015 beq.n 80b246a { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b243e: 493f ldr r1, [pc, #252] ; (80b253c ) 80b2440: 4841 ldr r0, [pc, #260] ; (80b2548 ) 80b2442: f7a2 fee3 bl 805520c BSP_LCD_DrawRect(95, 209, 50, 21); 80b2446: 2315 movs r3, #21 80b2448: 2232 movs r2, #50 ; 0x32 80b244a: 21d1 movs r1, #209 ; 0xd1 80b244c: 205f movs r0, #95 ; 0x5f 80b244e: f7a3 f9e3 bl 8055818 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b2452: 493a ldr r1, [pc, #232] ; (80b253c ) 80b2454: f04f 30ff mov.w r0, #4294967295 80b2458: f7a2 fed8 bl 805520c BSP_LCD_DisplayStringAt(120, 215, "OK", CENTER_MODE); 80b245c: 2301 movs r3, #1 80b245e: 4a3b ldr r2, [pc, #236] ; (80b254c ) 80b2460: 21d7 movs r1, #215 ; 0xd7 80b2462: 2078 movs r0, #120 ; 0x78 80b2464: f7a2 ff98 bl 8055398 80b2468: e015 b.n 80b2496 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b246a: 4934 ldr r1, [pc, #208] ; (80b253c ) 80b246c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b2470: f7a2 fecc bl 805520c BSP_LCD_DrawRect(95, 209, 50, 21); 80b2474: 2315 movs r3, #21 80b2476: 2232 movs r2, #50 ; 0x32 80b2478: 21d1 movs r1, #209 ; 0xd1 80b247a: 205f movs r0, #95 ; 0x5f 80b247c: f7a3 f9cc bl 8055818 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b2480: 492e ldr r1, [pc, #184] ; (80b253c ) 80b2482: f04f 30ff mov.w r0, #4294967295 80b2486: f7a2 fec1 bl 805520c BSP_LCD_DisplayStringAt(120, 215, "OK", CENTER_MODE); 80b248a: 2301 movs r3, #1 80b248c: 4a2f ldr r2, [pc, #188] ; (80b254c ) 80b248e: 21d7 movs r1, #215 ; 0xd7 80b2490: 2078 movs r0, #120 ; 0x78 80b2492: f7a2 ff81 bl 8055398 } /* "Cancel" button */ if(menupos != _CANCEL) 80b2496: 4b2b ldr r3, [pc, #172] ; (80b2544 ) 80b2498: 781b ldrb r3, [r3, #0] 80b249a: b2db uxtb r3, r3 80b249c: 2b27 cmp r3, #39 ; 0x27 80b249e: d021 beq.n 80b24e4 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b24a0: 4926 ldr r1, [pc, #152] ; (80b253c ) 80b24a2: 4829 ldr r0, [pc, #164] ; (80b2548 ) 80b24a4: f7a2 feb2 bl 805520c BSP_LCD_DrawRect(175, 209, 50, 21); 80b24a8: 2315 movs r3, #21 80b24aa: 2232 movs r2, #50 ; 0x32 80b24ac: 21d1 movs r1, #209 ; 0xd1 80b24ae: 20af movs r0, #175 ; 0xaf 80b24b0: f7a3 f9b2 bl 8055818 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b24b4: 4921 ldr r1, [pc, #132] ; (80b253c ) 80b24b6: f04f 30ff mov.w r0, #4294967295 80b24ba: f7a2 fea7 bl 805520c if(pardata.LANG == RUS) 80b24be: 4b24 ldr r3, [pc, #144] ; (80b2550 ) 80b24c0: 7b1b ldrb r3, [r3, #12] 80b24c2: b2db uxtb r3, r3 80b24c4: 2b00 cmp r3, #0 80b24c6: d106 bne.n 80b24d6 BSP_LCD_DisplayStringAt(200, 215, "OTMEHA", CENTER_MODE); 80b24c8: 2301 movs r3, #1 80b24ca: 4a22 ldr r2, [pc, #136] ; (80b2554 ) 80b24cc: 21d7 movs r1, #215 ; 0xd7 80b24ce: 20c8 movs r0, #200 ; 0xc8 80b24d0: f7a2 ff62 bl 8055398 80b24d4: e028 b.n 80b2528 else BSP_LCD_DisplayStringAt(200, 215, "CANCEL", CENTER_MODE); 80b24d6: 2301 movs r3, #1 80b24d8: 4a1f ldr r2, [pc, #124] ; (80b2558 ) 80b24da: 21d7 movs r1, #215 ; 0xd7 80b24dc: 20c8 movs r0, #200 ; 0xc8 80b24de: f7a2 ff5b bl 8055398 80b24e2: e021 b.n 80b2528 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b24e4: 4915 ldr r1, [pc, #84] ; (80b253c ) 80b24e6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b24ea: f7a2 fe8f bl 805520c BSP_LCD_DrawRect(175, 209, 50, 21); 80b24ee: 2315 movs r3, #21 80b24f0: 2232 movs r2, #50 ; 0x32 80b24f2: 21d1 movs r1, #209 ; 0xd1 80b24f4: 20af movs r0, #175 ; 0xaf 80b24f6: f7a3 f98f bl 8055818 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b24fa: 4910 ldr r1, [pc, #64] ; (80b253c ) 80b24fc: f04f 30ff mov.w r0, #4294967295 80b2500: f7a2 fe84 bl 805520c if(pardata.LANG == RUS) 80b2504: 4b12 ldr r3, [pc, #72] ; (80b2550 ) 80b2506: 7b1b ldrb r3, [r3, #12] 80b2508: b2db uxtb r3, r3 80b250a: 2b00 cmp r3, #0 80b250c: d106 bne.n 80b251c BSP_LCD_DisplayStringAt(200, 215, "OTMEHA", CENTER_MODE); 80b250e: 2301 movs r3, #1 80b2510: 4a10 ldr r2, [pc, #64] ; (80b2554 ) 80b2512: 21d7 movs r1, #215 ; 0xd7 80b2514: 20c8 movs r0, #200 ; 0xc8 80b2516: f7a2 ff3f bl 8055398 80b251a: e005 b.n 80b2528 else BSP_LCD_DisplayStringAt(200, 215, "CANCEL", CENTER_MODE); 80b251c: 2301 movs r3, #1 80b251e: 4a0e ldr r2, [pc, #56] ; (80b2558 ) 80b2520: 21d7 movs r1, #215 ; 0xd7 80b2522: 20c8 movs r0, #200 ; 0xc8 80b2524: f7a2 ff38 bl 8055398 } /* Draw on "Backspace" button */ DrawImage(&bmBCKSPACE, 263, 171); 80b2528: 22ab movs r2, #171 ; 0xab 80b252a: f240 1107 movw r1, #263 ; 0x107 80b252e: 480b ldr r0, [pc, #44] ; (80b255c ) 80b2530: f7a3 fd60 bl 8055ff4 } 80b2534: bf00 nop 80b2536: 3710 adds r7, #16 80b2538: 46bd mov sp, r7 80b253a: bd80 pop {r7, pc} 80b253c: ff0a0f1f .word 0xff0a0f1f 80b2540: 080f5fa0 .word 0x080f5fa0 80b2544: 20020070 .word 0x20020070 80b2548: ff808080 .word 0xff808080 80b254c: 080d6d28 .word 0x080d6d28 80b2550: 20023eb8 .word 0x20023eb8 80b2554: 080d759c .word 0x080d759c 80b2558: 080d75a4 .word 0x080d75a4 80b255c: 08117cb0 .word 0x08117cb0 080b2560 : void DrawSizeSD(void)//todo { 80b2560: b580 push {r7, lr} 80b2562: b08c sub sp, #48 ; 0x30 80b2564: af00 add r7, sp, #0 float32_t Ffree, Ftotal, f; char str[32]; LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b2566: 4939 ldr r1, [pc, #228] ; (80b264c ) 80b2568: 4839 ldr r0, [pc, #228] ; (80b2650 ) 80b256a: f7a2 fe4f bl 805520c BSP_LCD_DrawRect(4, 25+4, 30, 2); 80b256e: 2302 movs r3, #2 80b2570: 221e movs r2, #30 80b2572: 211d movs r1, #29 80b2574: 2004 movs r0, #4 80b2576: f7a3 f94f bl 8055818 Ffree = (float32_t) SD_Space.FreeSectors; 80b257a: 4b36 ldr r3, [pc, #216] ; (80b2654 ) 80b257c: 685b ldr r3, [r3, #4] 80b257e: ee07 3a90 vmov s15, r3 80b2582: eef8 7a67 vcvt.f32.u32 s15, s15 80b2586: edc7 7a0a vstr s15, [r7, #40] ; 0x28 Ftotal = (float32_t) SD_Space.TotalSectors; 80b258a: 4b32 ldr r3, [pc, #200] ; (80b2654 ) 80b258c: 681b ldr r3, [r3, #0] 80b258e: ee07 3a90 vmov s15, r3 80b2592: eef8 7a67 vcvt.f32.u32 s15, s15 80b2596: edc7 7a09 vstr s15, [r7, #36] ; 0x24 f = Ffree / Ftotal; 80b259a: edd7 6a0a vldr s13, [r7, #40] ; 0x28 80b259e: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b25a2: eec6 7a87 vdiv.f32 s15, s13, s14 80b25a6: edc7 7a08 vstr s15, [r7, #32] if(f <= 0.2f) LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80b25aa: edd7 7a08 vldr s15, [r7, #32] 80b25ae: ed9f 7a2a vldr s14, [pc, #168] ; 80b2658 80b25b2: eef4 7ac7 vcmpe.f32 s15, s14 80b25b6: eef1 fa10 vmrs APSR_nzcv, fpscr 80b25ba: d804 bhi.n 80b25c6 80b25bc: 4923 ldr r1, [pc, #140] ; (80b264c ) 80b25be: 4827 ldr r0, [pc, #156] ; (80b265c ) 80b25c0: f7a2 fe24 bl 805520c 80b25c4: e012 b.n 80b25ec else if(f <= 0.4f) LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80b25c6: edd7 7a08 vldr s15, [r7, #32] 80b25ca: ed9f 7a25 vldr s14, [pc, #148] ; 80b2660 80b25ce: eef4 7ac7 vcmpe.f32 s15, s14 80b25d2: eef1 fa10 vmrs APSR_nzcv, fpscr 80b25d6: d804 bhi.n 80b25e2 80b25d8: 491c ldr r1, [pc, #112] ; (80b264c ) 80b25da: 4822 ldr r0, [pc, #136] ; (80b2664 ) 80b25dc: f7a2 fe16 bl 805520c 80b25e0: e004 b.n 80b25ec else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b25e2: 491a ldr r1, [pc, #104] ; (80b264c ) 80b25e4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b25e8: f7a2 fe10 bl 805520c BSP_LCD_DrawLine(5, 26+4, 33, 26+4); 80b25ec: 231e movs r3, #30 80b25ee: 2221 movs r2, #33 ; 0x21 80b25f0: 211e movs r1, #30 80b25f2: 2005 movs r0, #5 80b25f4: f7a3 f844 bl 8055680 f *= 28; 80b25f8: edd7 7a08 vldr s15, [r7, #32] 80b25fc: eeb3 7a0c vmov.f32 s14, #60 ; 0x41e00000 28.0 80b2600: ee67 7a87 vmul.f32 s15, s15, s14 80b2604: edc7 7a08 vstr s15, [r7, #32] i = (uint32_t) f; 80b2608: edd7 7a08 vldr s15, [r7, #32] 80b260c: eefc 7ae7 vcvt.u32.f32 s15, s15 80b2610: ee17 3a90 vmov r3, s15 80b2614: 62fb str r3, [r7, #44] ; 0x2c if(i >= 28) 80b2616: 6afb ldr r3, [r7, #44] ; 0x2c 80b2618: 2b1b cmp r3, #27 80b261a: d901 bls.n 80b2620 i = 27; 80b261c: 231b movs r3, #27 80b261e: 62fb str r3, [r7, #44] ; 0x2c if(i > 0) 80b2620: 6afb ldr r3, [r7, #44] ; 0x2c 80b2622: 2b00 cmp r3, #0 80b2624: d00d beq.n 80b2642 { LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80b2626: 4909 ldr r1, [pc, #36] ; (80b264c ) 80b2628: 4808 ldr r0, [pc, #32] ; (80b264c ) 80b262a: f7a2 fdef bl 805520c BSP_LCD_DrawLine(33, 26+4, 33 - i, 26+4); 80b262e: 6afb ldr r3, [r7, #44] ; 0x2c 80b2630: b29b uxth r3, r3 80b2632: f1c3 0321 rsb r3, r3, #33 ; 0x21 80b2636: b29a uxth r2, r3 80b2638: 231e movs r3, #30 80b263a: 211e movs r1, #30 80b263c: 2021 movs r0, #33 ; 0x21 80b263e: f7a3 f81f bl 8055680 } } 80b2642: bf00 nop 80b2644: 3730 adds r7, #48 ; 0x30 80b2646: 46bd mov sp, r7 80b2648: bd80 pop {r7, pc} 80b264a: bf00 nop 80b264c: ff0a0f1f .word 0xff0a0f1f 80b2650: ff808080 .word 0xff808080 80b2654: 20022350 .word 0x20022350 80b2658: 3e4ccccd .word 0x3e4ccccd 80b265c: ffff0000 .word 0xffff0000 80b2660: 3ecccccd .word 0x3ecccccd 80b2664: ffffa500 .word 0xffffa500 080b2668 : DMA_HandleTypeDef hdma_sdmmc1_tx; /* SDMMC1 init function */ void MX_SDMMC1_SD_Init(void) { 80b2668: b580 push {r7, lr} 80b266a: af00 add r7, sp, #0 hsd1.Instance = SDMMC1; 80b266c: 4b0c ldr r3, [pc, #48] ; (80b26a0 ) 80b266e: 4a0d ldr r2, [pc, #52] ; (80b26a4 ) 80b2670: 601a str r2, [r3, #0] hsd1.Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING; 80b2672: 4b0b ldr r3, [pc, #44] ; (80b26a0 ) 80b2674: 2200 movs r2, #0 80b2676: 605a str r2, [r3, #4] hsd1.Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE; 80b2678: 4b09 ldr r3, [pc, #36] ; (80b26a0 ) 80b267a: 2200 movs r2, #0 80b267c: 609a str r2, [r3, #8] hsd1.Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE; 80b267e: 4b08 ldr r3, [pc, #32] ; (80b26a0 ) 80b2680: 2200 movs r2, #0 80b2682: 60da str r2, [r3, #12] hsd1.Init.BusWide = SDMMC_BUS_WIDE_1B; 80b2684: 4b06 ldr r3, [pc, #24] ; (80b26a0 ) 80b2686: 2200 movs r2, #0 80b2688: 611a str r2, [r3, #16] hsd1.Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE; 80b268a: 4b05 ldr r3, [pc, #20] ; (80b26a0 ) 80b268c: 2200 movs r2, #0 80b268e: 615a str r2, [r3, #20] hsd1.Init.ClockDiv = 0; 80b2690: 4b03 ldr r3, [pc, #12] ; (80b26a0 ) 80b2692: 2200 movs r2, #0 80b2694: 619a str r2, [r3, #24] initSD(); 80b2696: f771 fa99 bl 8023bcc } 80b269a: bf00 nop 80b269c: bd80 pop {r7, pc} 80b269e: bf00 nop 80b26a0: 2006864c .word 0x2006864c 80b26a4: 40012c00 .word 0x40012c00 080b26a8 : } } void HAL_SD_MspInit(SD_HandleTypeDef* sdHandle) { 80b26a8: b580 push {r7, lr} 80b26aa: b088 sub sp, #32 80b26ac: af00 add r7, sp, #0 80b26ae: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct; if(sdHandle->Instance == SDMMC1) 80b26b0: 687b ldr r3, [r7, #4] 80b26b2: 681b ldr r3, [r3, #0] 80b26b4: 4a5a ldr r2, [pc, #360] ; (80b2820 ) 80b26b6: 4293 cmp r3, r2 80b26b8: f040 80ad bne.w 80b2816 { /* USER CODE BEGIN SDMMC1_MspInit 0 */ /* USER CODE END SDMMC1_MspInit 0 */ /* SDMMC1 clock enable */ __HAL_RCC_SDMMC1_CLK_ENABLE(); 80b26bc: 4a59 ldr r2, [pc, #356] ; (80b2824 ) 80b26be: 4b59 ldr r3, [pc, #356] ; (80b2824 ) 80b26c0: 6c5b ldr r3, [r3, #68] ; 0x44 80b26c2: f443 6300 orr.w r3, r3, #2048 ; 0x800 80b26c6: 6453 str r3, [r2, #68] ; 0x44 80b26c8: 4b56 ldr r3, [pc, #344] ; (80b2824 ) 80b26ca: 6c5b ldr r3, [r3, #68] ; 0x44 80b26cc: f403 6300 and.w r3, r3, #2048 ; 0x800 80b26d0: 60bb str r3, [r7, #8] 80b26d2: 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; 80b26d4: f44f 53f8 mov.w r3, #7936 ; 0x1f00 80b26d8: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80b26da: 2302 movs r3, #2 80b26dc: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80b26de: 2300 movs r3, #0 80b26e0: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80b26e2: 2303 movs r3, #3 80b26e4: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF12_SDMMC1; 80b26e6: 230c movs r3, #12 80b26e8: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 80b26ea: f107 030c add.w r3, r7, #12 80b26ee: 4619 mov r1, r3 80b26f0: 484d ldr r0, [pc, #308] ; (80b2828 ) 80b26f2: f007 fb85 bl 80b9e00 GPIO_InitStruct.Pin = GPIO_PIN_2; 80b26f6: 2304 movs r3, #4 80b26f8: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80b26fa: 2302 movs r3, #2 80b26fc: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80b26fe: 2300 movs r3, #0 80b2700: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80b2702: 2303 movs r3, #3 80b2704: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF12_SDMMC1; 80b2706: 230c movs r3, #12 80b2708: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); 80b270a: f107 030c add.w r3, r7, #12 80b270e: 4619 mov r1, r3 80b2710: 4846 ldr r0, [pc, #280] ; (80b282c ) 80b2712: f007 fb75 bl 80b9e00 /* SDMMC1 interrupt Init */ HAL_NVIC_SetPriority(SDMMC1_IRQn, 4, 0); 80b2716: 2200 movs r2, #0 80b2718: 2104 movs r1, #4 80b271a: 2031 movs r0, #49 ; 0x31 80b271c: f006 f8d9 bl 80b88d2 HAL_NVIC_EnableIRQ(SDMMC1_IRQn); 80b2720: 2031 movs r0, #49 ; 0x31 80b2722: f006 f8f2 bl 80b890a /* SDMMC1 DMA Init */ /* SDMMC1_RX Init */ hdma_sdmmc1_rx.Instance = DMA2_Stream3; 80b2726: 4b42 ldr r3, [pc, #264] ; (80b2830 ) 80b2728: 4a42 ldr r2, [pc, #264] ; (80b2834 ) 80b272a: 601a str r2, [r3, #0] hdma_sdmmc1_rx.Init.Channel = DMA_CHANNEL_4; 80b272c: 4b40 ldr r3, [pc, #256] ; (80b2830 ) 80b272e: f04f 6200 mov.w r2, #134217728 ; 0x8000000 80b2732: 605a str r2, [r3, #4] hdma_sdmmc1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; 80b2734: 4b3e ldr r3, [pc, #248] ; (80b2830 ) 80b2736: 2200 movs r2, #0 80b2738: 609a str r2, [r3, #8] hdma_sdmmc1_rx.Init.PeriphInc = DMA_PINC_DISABLE; 80b273a: 4b3d ldr r3, [pc, #244] ; (80b2830 ) 80b273c: 2200 movs r2, #0 80b273e: 60da str r2, [r3, #12] hdma_sdmmc1_rx.Init.MemInc = DMA_MINC_ENABLE; 80b2740: 4b3b ldr r3, [pc, #236] ; (80b2830 ) 80b2742: f44f 6280 mov.w r2, #1024 ; 0x400 80b2746: 611a str r2, [r3, #16] hdma_sdmmc1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; 80b2748: 4b39 ldr r3, [pc, #228] ; (80b2830 ) 80b274a: f44f 5280 mov.w r2, #4096 ; 0x1000 80b274e: 615a str r2, [r3, #20] hdma_sdmmc1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; 80b2750: 4b37 ldr r3, [pc, #220] ; (80b2830 ) 80b2752: f44f 4280 mov.w r2, #16384 ; 0x4000 80b2756: 619a str r2, [r3, #24] hdma_sdmmc1_rx.Init.Mode = DMA_PFCTRL; 80b2758: 4b35 ldr r3, [pc, #212] ; (80b2830 ) 80b275a: 2220 movs r2, #32 80b275c: 61da str r2, [r3, #28] hdma_sdmmc1_rx.Init.Priority = DMA_PRIORITY_VERY_HIGH; 80b275e: 4b34 ldr r3, [pc, #208] ; (80b2830 ) 80b2760: f44f 3240 mov.w r2, #196608 ; 0x30000 80b2764: 621a str r2, [r3, #32] hdma_sdmmc1_rx.Init.FIFOMode = DMA_FIFOMODE_ENABLE; 80b2766: 4b32 ldr r3, [pc, #200] ; (80b2830 ) 80b2768: 2204 movs r2, #4 80b276a: 625a str r2, [r3, #36] ; 0x24 hdma_sdmmc1_rx.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL; 80b276c: 4b30 ldr r3, [pc, #192] ; (80b2830 ) 80b276e: 2203 movs r2, #3 80b2770: 629a str r2, [r3, #40] ; 0x28 hdma_sdmmc1_rx.Init.MemBurst = DMA_MBURST_INC4; 80b2772: 4b2f ldr r3, [pc, #188] ; (80b2830 ) 80b2774: f44f 0200 mov.w r2, #8388608 ; 0x800000 80b2778: 62da str r2, [r3, #44] ; 0x2c hdma_sdmmc1_rx.Init.PeriphBurst = DMA_PBURST_INC4; 80b277a: 4b2d ldr r3, [pc, #180] ; (80b2830 ) 80b277c: f44f 1200 mov.w r2, #2097152 ; 0x200000 80b2780: 631a str r2, [r3, #48] ; 0x30 if(HAL_DMA_Init(&hdma_sdmmc1_rx) != HAL_OK) { 80b2782: 482b ldr r0, [pc, #172] ; (80b2830 ) 80b2784: f006 f966 bl 80b8a54 80b2788: 4603 mov r3, r0 80b278a: 2b00 cmp r3, #0 80b278c: d001 beq.n 80b2792 Error_Handler(); 80b278e: f7a4 f88d bl 80568ac } __HAL_LINKDMA(sdHandle, hdmarx, hdma_sdmmc1_rx); 80b2792: 687b ldr r3, [r7, #4] 80b2794: 4a26 ldr r2, [pc, #152] ; (80b2830 ) 80b2796: 641a str r2, [r3, #64] ; 0x40 80b2798: 4a25 ldr r2, [pc, #148] ; (80b2830 ) 80b279a: 687b ldr r3, [r7, #4] 80b279c: 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; 80b279e: 4b26 ldr r3, [pc, #152] ; (80b2838 ) 80b27a0: 4a26 ldr r2, [pc, #152] ; (80b283c ) 80b27a2: 601a str r2, [r3, #0] hdma_sdmmc1_tx.Init.Channel = DMA_CHANNEL_4; 80b27a4: 4b24 ldr r3, [pc, #144] ; (80b2838 ) 80b27a6: f04f 6200 mov.w r2, #134217728 ; 0x8000000 80b27aa: 605a str r2, [r3, #4] hdma_sdmmc1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; 80b27ac: 4b22 ldr r3, [pc, #136] ; (80b2838 ) 80b27ae: 2240 movs r2, #64 ; 0x40 80b27b0: 609a str r2, [r3, #8] hdma_sdmmc1_tx.Init.PeriphInc = DMA_PINC_DISABLE; 80b27b2: 4b21 ldr r3, [pc, #132] ; (80b2838 ) 80b27b4: 2200 movs r2, #0 80b27b6: 60da str r2, [r3, #12] hdma_sdmmc1_tx.Init.MemInc = DMA_MINC_ENABLE; 80b27b8: 4b1f ldr r3, [pc, #124] ; (80b2838 ) 80b27ba: f44f 6280 mov.w r2, #1024 ; 0x400 80b27be: 611a str r2, [r3, #16] hdma_sdmmc1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; 80b27c0: 4b1d ldr r3, [pc, #116] ; (80b2838 ) 80b27c2: f44f 5280 mov.w r2, #4096 ; 0x1000 80b27c6: 615a str r2, [r3, #20] hdma_sdmmc1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; 80b27c8: 4b1b ldr r3, [pc, #108] ; (80b2838 ) 80b27ca: f44f 4280 mov.w r2, #16384 ; 0x4000 80b27ce: 619a str r2, [r3, #24] hdma_sdmmc1_tx.Init.Mode = DMA_PFCTRL; 80b27d0: 4b19 ldr r3, [pc, #100] ; (80b2838 ) 80b27d2: 2220 movs r2, #32 80b27d4: 61da str r2, [r3, #28] hdma_sdmmc1_tx.Init.Priority = DMA_PRIORITY_VERY_HIGH; 80b27d6: 4b18 ldr r3, [pc, #96] ; (80b2838 ) 80b27d8: f44f 3240 mov.w r2, #196608 ; 0x30000 80b27dc: 621a str r2, [r3, #32] hdma_sdmmc1_tx.Init.FIFOMode = DMA_FIFOMODE_ENABLE; 80b27de: 4b16 ldr r3, [pc, #88] ; (80b2838 ) 80b27e0: 2204 movs r2, #4 80b27e2: 625a str r2, [r3, #36] ; 0x24 hdma_sdmmc1_tx.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL; 80b27e4: 4b14 ldr r3, [pc, #80] ; (80b2838 ) 80b27e6: 2203 movs r2, #3 80b27e8: 629a str r2, [r3, #40] ; 0x28 hdma_sdmmc1_tx.Init.MemBurst = DMA_MBURST_INC4; 80b27ea: 4b13 ldr r3, [pc, #76] ; (80b2838 ) 80b27ec: f44f 0200 mov.w r2, #8388608 ; 0x800000 80b27f0: 62da str r2, [r3, #44] ; 0x2c hdma_sdmmc1_tx.Init.PeriphBurst = DMA_PBURST_INC4; 80b27f2: 4b11 ldr r3, [pc, #68] ; (80b2838 ) 80b27f4: f44f 1200 mov.w r2, #2097152 ; 0x200000 80b27f8: 631a str r2, [r3, #48] ; 0x30 if(HAL_DMA_Init(&hdma_sdmmc1_tx) != HAL_OK) { 80b27fa: 480f ldr r0, [pc, #60] ; (80b2838 ) 80b27fc: f006 f92a bl 80b8a54 80b2800: 4603 mov r3, r0 80b2802: 2b00 cmp r3, #0 80b2804: d001 beq.n 80b280a Error_Handler(); 80b2806: f7a4 f851 bl 80568ac } __HAL_LINKDMA(sdHandle, hdmatx, hdma_sdmmc1_tx); 80b280a: 687b ldr r3, [r7, #4] 80b280c: 4a0a ldr r2, [pc, #40] ; (80b2838 ) 80b280e: 63da str r2, [r3, #60] ; 0x3c 80b2810: 4a09 ldr r2, [pc, #36] ; (80b2838 ) 80b2812: 687b ldr r3, [r7, #4] 80b2814: 6393 str r3, [r2, #56] ; 0x38 // HAL_DMA_DeInit(&hdma_sdmmc1_tx); // HAL_DMA_Init(&hdma_sdmmc1_tx); } } 80b2816: bf00 nop 80b2818: 3720 adds r7, #32 80b281a: 46bd mov sp, r7 80b281c: bd80 pop {r7, pc} 80b281e: bf00 nop 80b2820: 40012c00 .word 0x40012c00 80b2824: 40023800 .word 0x40023800 80b2828: 40020800 .word 0x40020800 80b282c: 40020c00 .word 0x40020c00 80b2830: 200686d0 .word 0x200686d0 80b2834: 40026458 .word 0x40026458 80b2838: 20068730 .word 0x20068730 80b283c: 400264a0 .word 0x400264a0 080b2840 : void HAL_SD_MspDeInit(SD_HandleTypeDef* sdHandle) { 80b2840: b580 push {r7, lr} 80b2842: b082 sub sp, #8 80b2844: af00 add r7, sp, #0 80b2846: 6078 str r0, [r7, #4] if(sdHandle->Instance==SDMMC1) 80b2848: 687b ldr r3, [r7, #4] 80b284a: 681b ldr r3, [r3, #0] 80b284c: 4a11 ldr r2, [pc, #68] ; (80b2894 ) 80b284e: 4293 cmp r3, r2 80b2850: d11b bne.n 80b288a { __HAL_RCC_SDMMC1_CLK_DISABLE(); 80b2852: 4a11 ldr r2, [pc, #68] ; (80b2898 ) 80b2854: 4b10 ldr r3, [pc, #64] ; (80b2898 ) 80b2856: 6c5b ldr r3, [r3, #68] ; 0x44 80b2858: f423 6300 bic.w r3, r3, #2048 ; 0x800 80b285c: 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); 80b285e: f44f 51f8 mov.w r1, #7936 ; 0x1f00 80b2862: 480e ldr r0, [pc, #56] ; (80b289c ) 80b2864: f007 fc76 bl 80ba154 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2); 80b2868: 2104 movs r1, #4 80b286a: 480d ldr r0, [pc, #52] ; (80b28a0 ) 80b286c: f007 fc72 bl 80ba154 /* SDMMC1 DMA DeInit */ HAL_DMA_DeInit(sdHandle->hdmarx); 80b2870: 687b ldr r3, [r7, #4] 80b2872: 6c1b ldr r3, [r3, #64] ; 0x40 80b2874: 4618 mov r0, r3 80b2876: f006 f99b bl 80b8bb0 HAL_DMA_DeInit(sdHandle->hdmatx); 80b287a: 687b ldr r3, [r7, #4] 80b287c: 6bdb ldr r3, [r3, #60] ; 0x3c 80b287e: 4618 mov r0, r3 80b2880: f006 f996 bl 80b8bb0 HAL_NVIC_DisableIRQ(SDMMC1_IRQn); 80b2884: 2031 movs r0, #49 ; 0x31 80b2886: f006 f84e bl 80b8926 } } 80b288a: bf00 nop 80b288c: 3708 adds r7, #8 80b288e: 46bd mov sp, r7 80b2890: bd80 pop {r7, pc} 80b2892: bf00 nop 80b2894: 40012c00 .word 0x40012c00 80b2898: 40023800 .word 0x40023800 80b289c: 40020800 .word 0x40020800 80b28a0: 40020c00 .word 0x40020c00 080b28a4 : uslong_t aRxBuffer; /* SPI1 init function */ void MX_SPI1_Init(void) { 80b28a4: b580 push {r7, lr} 80b28a6: af00 add r7, sp, #0 hspi1.Instance = SPI1; 80b28a8: 4b22 ldr r3, [pc, #136] ; (80b2934 ) 80b28aa: 4a23 ldr r2, [pc, #140] ; (80b2938 ) 80b28ac: 601a str r2, [r3, #0] hspi1.Init.Mode = SPI_MODE_MASTER; 80b28ae: 4b21 ldr r3, [pc, #132] ; (80b2934 ) 80b28b0: f44f 7282 mov.w r2, #260 ; 0x104 80b28b4: 605a str r2, [r3, #4] hspi1.Init.Direction = SPI_DIRECTION_2LINES; 80b28b6: 4b1f ldr r3, [pc, #124] ; (80b2934 ) 80b28b8: 2200 movs r2, #0 80b28ba: 609a str r2, [r3, #8] hspi1.Init.DataSize = SPI_DATASIZE_8BIT; 80b28bc: 4b1d ldr r3, [pc, #116] ; (80b2934 ) 80b28be: f44f 62e0 mov.w r2, #1792 ; 0x700 80b28c2: 60da str r2, [r3, #12] //hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH; hspi1.Init.CLKPolarity = SPI_POLARITY_LOW; 80b28c4: 4b1b ldr r3, [pc, #108] ; (80b2934 ) 80b28c6: 2200 movs r2, #0 80b28c8: 611a str r2, [r3, #16] hspi1.Init.CLKPhase = SPI_PHASE_1EDGE; 80b28ca: 4b1a ldr r3, [pc, #104] ; (80b2934 ) 80b28cc: 2200 movs r2, #0 80b28ce: 615a str r2, [r3, #20] hspi1.Init.NSS = SPI_NSS_SOFT; 80b28d0: 4b18 ldr r3, [pc, #96] ; (80b2934 ) 80b28d2: f44f 7200 mov.w r2, #512 ; 0x200 80b28d6: 619a str r2, [r3, #24] hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8; 80b28d8: 4b16 ldr r3, [pc, #88] ; (80b2934 ) 80b28da: 2210 movs r2, #16 80b28dc: 61da str r2, [r3, #28] hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; 80b28de: 4b15 ldr r3, [pc, #84] ; (80b2934 ) 80b28e0: 2200 movs r2, #0 80b28e2: 621a str r2, [r3, #32] hspi1.Init.TIMode = SPI_TIMODE_DISABLE; 80b28e4: 4b13 ldr r3, [pc, #76] ; (80b2934 ) 80b28e6: 2200 movs r2, #0 80b28e8: 625a str r2, [r3, #36] ; 0x24 hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; 80b28ea: 4b12 ldr r3, [pc, #72] ; (80b2934 ) 80b28ec: 2200 movs r2, #0 80b28ee: 629a str r2, [r3, #40] ; 0x28 hspi1.Init.CRCPolynomial = 7; 80b28f0: 4b10 ldr r3, [pc, #64] ; (80b2934 ) 80b28f2: 2207 movs r2, #7 80b28f4: 62da str r2, [r3, #44] ; 0x2c hspi1.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE; 80b28f6: 4b0f ldr r3, [pc, #60] ; (80b2934 ) 80b28f8: 2200 movs r2, #0 80b28fa: 631a str r2, [r3, #48] ; 0x30 hspi1.Init.NSSPMode = SPI_NSS_PULSE_DISABLE; 80b28fc: 4b0d ldr r3, [pc, #52] ; (80b2934 ) 80b28fe: 2200 movs r2, #0 80b2900: 635a str r2, [r3, #52] ; 0x34 if(HAL_SPI_Init(&hspi1) != HAL_OK) { 80b2902: 480c ldr r0, [pc, #48] ; (80b2934 ) 80b2904: f00d fca3 bl 80c024e 80b2908: 4603 mov r3, r0 80b290a: 2b00 cmp r3, #0 80b290c: d001 beq.n 80b2912 Error_Handler(); 80b290e: f7a3 ffcd bl 80568ac } HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 80b2912: 2200 movs r2, #0 80b2914: f44f 4100 mov.w r1, #32768 ; 0x8000 80b2918: 4808 ldr r0, [pc, #32] ; (80b293c ) 80b291a: f007 fd3f bl 80ba39c HAL_Delay(1); 80b291e: 2001 movs r0, #1 80b2920: f005 f88c bl 80b7a3c HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 80b2924: 2201 movs r2, #1 80b2926: f44f 4100 mov.w r1, #32768 ; 0x8000 80b292a: 4804 ldr r0, [pc, #16] ; (80b293c ) 80b292c: f007 fd36 bl 80ba39c } 80b2930: bf00 nop 80b2932: bd80 pop {r7, pc} 80b2934: 20068794 .word 0x20068794 80b2938: 40013000 .word 0x40013000 80b293c: 40020000 .word 0x40020000 080b2940 : void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle) { 80b2940: b580 push {r7, lr} 80b2942: b088 sub sp, #32 80b2944: af00 add r7, sp, #0 80b2946: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct; if(spiHandle->Instance == SPI1) 80b2948: 687b ldr r3, [r7, #4] 80b294a: 681b ldr r3, [r3, #0] 80b294c: 4a19 ldr r2, [pc, #100] ; (80b29b4 ) 80b294e: 4293 cmp r3, r2 80b2950: d12b bne.n 80b29aa { __HAL_RCC_SPI1_CLK_ENABLE(); 80b2952: 4a19 ldr r2, [pc, #100] ; (80b29b8 ) 80b2954: 4b18 ldr r3, [pc, #96] ; (80b29b8 ) 80b2956: 6c5b ldr r3, [r3, #68] ; 0x44 80b2958: f443 5380 orr.w r3, r3, #4096 ; 0x1000 80b295c: 6453 str r3, [r2, #68] ; 0x44 80b295e: 4b16 ldr r3, [pc, #88] ; (80b29b8 ) 80b2960: 6c5b ldr r3, [r3, #68] ; 0x44 80b2962: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b2966: 60bb str r3, [r7, #8] 80b2968: 68bb ldr r3, [r7, #8] GPIO_InitStruct.Pin = GPIO_PIN_5 | GPIO_PIN_7; 80b296a: 23a0 movs r3, #160 ; 0xa0 80b296c: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80b296e: 2302 movs r3, #2 80b2970: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80b2972: 2300 movs r3, #0 80b2974: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80b2976: 2303 movs r3, #3 80b2978: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF5_SPI1; 80b297a: 2305 movs r3, #5 80b297c: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 80b297e: f107 030c add.w r3, r7, #12 80b2982: 4619 mov r1, r3 80b2984: 480d ldr r0, [pc, #52] ; (80b29bc ) 80b2986: f007 fa3b bl 80b9e00 GPIO_InitStruct.Pin = GPIO_PIN_4; 80b298a: 2310 movs r3, #16 80b298c: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80b298e: 2302 movs r3, #2 80b2990: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80b2992: 2300 movs r3, #0 80b2994: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80b2996: 2303 movs r3, #3 80b2998: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF5_SPI1; 80b299a: 2305 movs r3, #5 80b299c: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 80b299e: f107 030c add.w r3, r7, #12 80b29a2: 4619 mov r1, r3 80b29a4: 4806 ldr r0, [pc, #24] ; (80b29c0 ) 80b29a6: f007 fa2b bl 80b9e00 } } 80b29aa: bf00 nop 80b29ac: 3720 adds r7, #32 80b29ae: 46bd mov sp, r7 80b29b0: bd80 pop {r7, pc} 80b29b2: bf00 nop 80b29b4: 40013000 .word 0x40013000 80b29b8: 40023800 .word 0x40023800 80b29bc: 40020000 .word 0x40020000 80b29c0: 40020400 .word 0x40020400 080b29c4 : /* USER CODE END 0 */ /** * Initializes the Global MSP. */ void HAL_MspInit(void) { 80b29c4: b480 push {r7} 80b29c6: b083 sub sp, #12 80b29c8: af00 add r7, sp, #0 /* USER CODE BEGIN MspInit 0 */ /* USER CODE END MspInit 0 */ __HAL_RCC_PWR_CLK_ENABLE(); 80b29ca: 4a0f ldr r2, [pc, #60] ; (80b2a08 ) 80b29cc: 4b0e ldr r3, [pc, #56] ; (80b2a08 ) 80b29ce: 6c1b ldr r3, [r3, #64] ; 0x40 80b29d0: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80b29d4: 6413 str r3, [r2, #64] ; 0x40 80b29d6: 4b0c ldr r3, [pc, #48] ; (80b2a08 ) 80b29d8: 6c1b ldr r3, [r3, #64] ; 0x40 80b29da: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80b29de: 607b str r3, [r7, #4] 80b29e0: 687b ldr r3, [r7, #4] __HAL_RCC_SYSCFG_CLK_ENABLE(); 80b29e2: 4a09 ldr r2, [pc, #36] ; (80b2a08 ) 80b29e4: 4b08 ldr r3, [pc, #32] ; (80b2a08 ) 80b29e6: 6c5b ldr r3, [r3, #68] ; 0x44 80b29e8: f443 4380 orr.w r3, r3, #16384 ; 0x4000 80b29ec: 6453 str r3, [r2, #68] ; 0x44 80b29ee: 4b06 ldr r3, [pc, #24] ; (80b2a08 ) 80b29f0: 6c5b ldr r3, [r3, #68] ; 0x44 80b29f2: f403 4380 and.w r3, r3, #16384 ; 0x4000 80b29f6: 603b str r3, [r7, #0] 80b29f8: 683b ldr r3, [r7, #0] /* System interrupt init*/ /* USER CODE BEGIN MspInit 1 */ /* USER CODE END MspInit 1 */ } 80b29fa: bf00 nop 80b29fc: 370c adds r7, #12 80b29fe: 46bd mov sp, r7 80b2a00: f85d 7b04 ldr.w r7, [sp], #4 80b2a04: 4770 bx lr 80b2a06: bf00 nop 80b2a08: 40023800 .word 0x40023800 080b2a0c : /******************************************************************************/ /** * @brief This function handles Non maskable interrupt. */ void NMI_Handler(void) { 80b2a0c: b480 push {r7} 80b2a0e: 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) 80b2a10: e7fe b.n 80b2a10 080b2a12 : /** * @brief This function handles Hard fault interrupt. */ void HardFault_Handler(void) { 80b2a12: b480 push {r7} 80b2a14: af00 add r7, sp, #0 /* USER CODE BEGIN HardFault_IRQn 0 */ /* USER CODE END HardFault_IRQn 0 */ while (1) 80b2a16: e7fe b.n 80b2a16 080b2a18 : /** * @brief This function handles Memory management fault. */ void MemManage_Handler(void) { 80b2a18: b480 push {r7} 80b2a1a: af00 add r7, sp, #0 /* USER CODE BEGIN MemoryManagement_IRQn 0 */ /* USER CODE END MemoryManagement_IRQn 0 */ while (1) 80b2a1c: e7fe b.n 80b2a1c 080b2a1e : /** * @brief This function handles Pre-fetch fault, memory access fault. */ void BusFault_Handler(void) { 80b2a1e: b480 push {r7} 80b2a20: af00 add r7, sp, #0 /* USER CODE BEGIN BusFault_IRQn 0 */ /* USER CODE END BusFault_IRQn 0 */ while (1) 80b2a22: e7fe b.n 80b2a22 080b2a24 : /** * @brief This function handles Undefined instruction or illegal state. */ void UsageFault_Handler(void) { 80b2a24: b480 push {r7} 80b2a26: af00 add r7, sp, #0 /* USER CODE BEGIN UsageFault_IRQn 0 */ /* USER CODE END UsageFault_IRQn 0 */ while (1) 80b2a28: e7fe b.n 80b2a28 080b2a2a : /** * @brief This function handles System service call via SWI instruction. */ void SVC_Handler(void) { 80b2a2a: b480 push {r7} 80b2a2c: af00 add r7, sp, #0 /* USER CODE END SVCall_IRQn 0 */ /* USER CODE BEGIN SVCall_IRQn 1 */ /* USER CODE END SVCall_IRQn 1 */ } 80b2a2e: bf00 nop 80b2a30: 46bd mov sp, r7 80b2a32: f85d 7b04 ldr.w r7, [sp], #4 80b2a36: 4770 bx lr 080b2a38 : /** * @brief This function handles Debug monitor. */ void DebugMon_Handler(void) { 80b2a38: b480 push {r7} 80b2a3a: af00 add r7, sp, #0 /* USER CODE END DebugMonitor_IRQn 0 */ /* USER CODE BEGIN DebugMonitor_IRQn 1 */ /* USER CODE END DebugMonitor_IRQn 1 */ } 80b2a3c: bf00 nop 80b2a3e: 46bd mov sp, r7 80b2a40: f85d 7b04 ldr.w r7, [sp], #4 80b2a44: 4770 bx lr 080b2a46 : /** * @brief This function handles Pendable request for system service. */ void PendSV_Handler(void) { 80b2a46: b480 push {r7} 80b2a48: af00 add r7, sp, #0 /* USER CODE END PendSV_IRQn 0 */ /* USER CODE BEGIN PendSV_IRQn 1 */ /* USER CODE END PendSV_IRQn 1 */ } 80b2a4a: bf00 nop 80b2a4c: 46bd mov sp, r7 80b2a4e: f85d 7b04 ldr.w r7, [sp], #4 80b2a52: 4770 bx lr 080b2a54 : /** * @brief This function handles System tick timer. */ void SysTick_Handler(void) { 80b2a54: b580 push {r7, lr} 80b2a56: af00 add r7, sp, #0 /* USER CODE BEGIN SysTick_IRQn 0 */ /* USER CODE END SysTick_IRQn 0 */ HAL_IncTick(); 80b2a58: f004 ffd0 bl 80b79fc /* USER CODE BEGIN SysTick_IRQn 1 */ /* USER CODE END SysTick_IRQn 1 */ } 80b2a5c: bf00 nop 80b2a5e: bd80 pop {r7, pc} 080b2a60 : /** * @brief This function handles EXTI line2 interrupt. */ void EXTI2_IRQHandler(void) { 80b2a60: b580 push {r7, lr} 80b2a62: af00 add r7, sp, #0 /* USER CODE BEGIN EXTI2_IRQn 0 */ /* USER CODE END EXTI2_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_2); 80b2a64: 2004 movs r0, #4 80b2a66: f007 fcb3 bl 80ba3d0 /* USER CODE BEGIN EXTI2_IRQn 1 */ /* USER CODE END EXTI2_IRQn 1 */ } 80b2a6a: bf00 nop 80b2a6c: bd80 pop {r7, pc} 080b2a6e : /** * @brief This function handles EXTI line3 interrupt. */ void EXTI3_IRQHandler(void) { 80b2a6e: b580 push {r7, lr} 80b2a70: af00 add r7, sp, #0 /* USER CODE BEGIN EXTI3_IRQn 0 */ /* USER CODE END EXTI3_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_3); 80b2a72: 2008 movs r0, #8 80b2a74: f007 fcac bl 80ba3d0 /* USER CODE BEGIN EXTI3_IRQn 1 */ /* USER CODE END EXTI3_IRQn 1 */ } 80b2a78: bf00 nop 80b2a7a: bd80 pop {r7, pc} 080b2a7c : /** * @brief This function handles I2C1 event interrupt. */ void I2C1_EV_IRQHandler(void) { 80b2a7c: b580 push {r7, lr} 80b2a7e: af00 add r7, sp, #0 /* USER CODE BEGIN I2C1_EV_IRQn 0 */ /* USER CODE END I2C1_EV_IRQn 0 */ HAL_SMBUS_EV_IRQHandler(&hsmbus1); 80b2a80: 4802 ldr r0, [pc, #8] ; (80b2a8c ) 80b2a82: f00c fd21 bl 80bf4c8 /* USER CODE BEGIN I2C1_EV_IRQn 1 */ /* USER CODE END I2C1_EV_IRQn 1 */ } 80b2a86: bf00 nop 80b2a88: bd80 pop {r7, pc} 80b2a8a: bf00 nop 80b2a8c: 2002591c .word 0x2002591c 080b2a90 : /** * @brief This function handles I2C1 error interrupt. */ void I2C1_ER_IRQHandler(void) { 80b2a90: b580 push {r7, lr} 80b2a92: af00 add r7, sp, #0 /* USER CODE BEGIN I2C1_ER_IRQn 0 */ /* USER CODE END I2C1_ER_IRQn 0 */ HAL_SMBUS_ER_IRQHandler(&hsmbus1); 80b2a94: 4802 ldr r0, [pc, #8] ; (80b2aa0 ) 80b2a96: f00c fdb5 bl 80bf604 /* USER CODE BEGIN I2C1_ER_IRQn 1 */ /* USER CODE END I2C1_ER_IRQn 1 */ } 80b2a9a: bf00 nop 80b2a9c: bd80 pop {r7, pc} 80b2a9e: bf00 nop 80b2aa0: 2002591c .word 0x2002591c 080b2aa4 : /** * @brief This function handles SDMMC1 global interrupt. */ void SDMMC1_IRQHandler(void) { 80b2aa4: b580 push {r7, lr} 80b2aa6: af00 add r7, sp, #0 /* USER CODE BEGIN SDMMC1_IRQn 0 */ /* USER CODE END SDMMC1_IRQn 0 */ HAL_SD_IRQHandler(&hsd1); 80b2aa8: 4802 ldr r0, [pc, #8] ; (80b2ab4 ) 80b2aaa: f00b f94b bl 80bdd44 /* USER CODE BEGIN SDMMC1_IRQn 1 */ /* USER CODE END SDMMC1_IRQn 1 */ } 80b2aae: bf00 nop 80b2ab0: bd80 pop {r7, pc} 80b2ab2: bf00 nop 80b2ab4: 2006864c .word 0x2006864c 080b2ab8 : /** * @brief This function handles TIM7 global interrupt. */ void TIM7_IRQHandler(void) { 80b2ab8: b580 push {r7, lr} 80b2aba: af00 add r7, sp, #0 /* USER CODE BEGIN TIM7_IRQn 0 */ /* USER CODE END TIM7_IRQn 0 */ HAL_TIM_IRQHandler(&htim7); 80b2abc: 4802 ldr r0, [pc, #8] ; (80b2ac8 ) 80b2abe: f00e f9b7 bl 80c0e30 /* USER CODE BEGIN TIM7_IRQn 1 */ /* USER CODE END TIM7_IRQn 1 */ } 80b2ac2: bf00 nop 80b2ac4: bd80 pop {r7, pc} 80b2ac6: bf00 nop 80b2ac8: 20068a38 .word 0x20068a38 080b2acc : /** * @brief This function handles DMA2 stream3 global interrupt. */ void DMA2_Stream3_IRQHandler(void) { 80b2acc: b580 push {r7, lr} 80b2ace: 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); 80b2ad0: 4802 ldr r0, [pc, #8] ; (80b2adc ) 80b2ad2: f006 f9bd bl 80b8e50 /* USER CODE BEGIN DMA2_Stream3_IRQn 1 */ /* USER CODE END DMA2_Stream3_IRQn 1 */ } 80b2ad6: bf00 nop 80b2ad8: bd80 pop {r7, pc} 80b2ada: bf00 nop 80b2adc: 200686d0 .word 0x200686d0 080b2ae0 : void DMA2_Stream1_IRQHandler(void) { 80b2ae0: b580 push {r7, lr} 80b2ae2: af00 add r7, sp, #0 /* USER CODE BEGIN DMA2_Stream3_IRQn 0 */ /* USER CODE END DMA2_Stream3_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_adc3); 80b2ae4: 4802 ldr r0, [pc, #8] ; (80b2af0 ) 80b2ae6: f006 f9b3 bl 80b8e50 /* USER CODE BEGIN DMA2_Stream3_IRQn 1 */ /* USER CODE END DMA2_Stream3_IRQn 1 */ } 80b2aea: bf00 nop 80b2aec: bd80 pop {r7, pc} 80b2aee: bf00 nop 80b2af0: 20021bc8 .word 0x20021bc8 080b2af4 : /** * @brief This function handles DMA2 stream4 global interrupt. */ void DMA2_Stream4_IRQHandler(void) { 80b2af4: b580 push {r7, lr} 80b2af6: af00 add r7, sp, #0 /* USER CODE BEGIN DMA2_Stream4_IRQn 0 */ /* USER CODE END DMA2_Stream4_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_adc1); 80b2af8: 4802 ldr r0, [pc, #8] ; (80b2b04 ) 80b2afa: f006 f9a9 bl 80b8e50 /* USER CODE BEGIN DMA2_Stream4_IRQn 1 */ /* USER CODE END DMA2_Stream4_IRQn 1 */ } 80b2afe: bf00 nop 80b2b00: bd80 pop {r7, pc} 80b2b02: bf00 nop 80b2b04: 20021cb8 .word 0x20021cb8 080b2b08 : /** * @brief This function handles DMA2 stream6 global interrupt. */ void DMA2_Stream6_IRQHandler(void) { 80b2b08: b580 push {r7, lr} 80b2b0a: 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); 80b2b0c: 4802 ldr r0, [pc, #8] ; (80b2b18 ) 80b2b0e: f006 f99f bl 80b8e50 /* USER CODE BEGIN DMA2_Stream6_IRQn 1 */ /* USER CODE END DMA2_Stream6_IRQn 1 */ } 80b2b12: bf00 nop 80b2b14: bd80 pop {r7, pc} 80b2b16: bf00 nop 80b2b18: 20068730 .word 0x20068730 080b2b1c : /** * @brief This function handles USB On The Go HS global interrupt. */ void OTG_HS_IRQHandler(void) { 80b2b1c: b580 push {r7, lr} 80b2b1e: 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); 80b2b20: 4802 ldr r0, [pc, #8] ; (80b2b2c ) 80b2b22: f008 f983 bl 80bae2c /* USER CODE BEGIN OTG_HS_IRQn 1 */ /* USER CODE END OTG_HS_IRQn 1 */ } 80b2b26: bf00 nop 80b2b28: bd80 pop {r7, pc} 80b2b2a: bf00 nop 80b2b2c: 20069290 .word 0x20069290 080b2b30 : /** * @brief This function handles LTDC global interrupt. */ void LTDC_IRQHandler(void) { 80b2b30: b580 push {r7, lr} 80b2b32: af00 add r7, sp, #0 /* USER CODE BEGIN LTDC_IRQn 0 */ /* USER CODE END LTDC_IRQn 0 */ HAL_LTDC_IRQHandler(&hLtdcHandler); 80b2b34: 4802 ldr r0, [pc, #8] ; (80b2b40 ) 80b2b36: f007 fd33 bl 80ba5a0 /* USER CODE BEGIN LTDC_IRQn 1 */ /* USER CODE END LTDC_IRQn 1 */ } 80b2b3a: bf00 nop 80b2b3c: bd80 pop {r7, pc} 80b2b3e: bf00 nop 80b2b40: 20025d80 .word 0x20025d80 080b2b44 : /** * @brief This function handles LTDC global error interrupt. */ void LTDC_ER_IRQHandler(void) { 80b2b44: b580 push {r7, lr} 80b2b46: af00 add r7, sp, #0 /* USER CODE BEGIN LTDC_ER_IRQn 0 */ /* USER CODE END LTDC_ER_IRQn 0 */ HAL_LTDC_IRQHandler(&hLtdcHandler); 80b2b48: 4802 ldr r0, [pc, #8] ; (80b2b54 ) 80b2b4a: f007 fd29 bl 80ba5a0 /* USER CODE BEGIN LTDC_ER_IRQn 1 */ /* USER CODE END LTDC_ER_IRQn 1 */ } 80b2b4e: bf00 nop 80b2b50: bd80 pop {r7, pc} 80b2b52: bf00 nop 80b2b54: 20025d80 .word 0x20025d80 080b2b58 <_read>: _kill(status, -1); while (1) {} /* Make sure we hang here */ } __attribute__((weak)) int _read(int file, char *ptr, int len) { 80b2b58: b590 push {r4, r7, lr} 80b2b5a: b087 sub sp, #28 80b2b5c: af00 add r7, sp, #0 80b2b5e: 60f8 str r0, [r7, #12] 80b2b60: 60b9 str r1, [r7, #8] 80b2b62: 607a str r2, [r7, #4] int DataIdx; for (DataIdx = 0; DataIdx < len; DataIdx++) 80b2b64: 2300 movs r3, #0 80b2b66: 617b str r3, [r7, #20] 80b2b68: e00a b.n 80b2b80 <_read+0x28> { *ptr++ = __io_getchar(); 80b2b6a: 68bc ldr r4, [r7, #8] 80b2b6c: 1c63 adds r3, r4, #1 80b2b6e: 60bb str r3, [r7, #8] 80b2b70: f3af 8000 nop.w 80b2b74: 4603 mov r3, r0 80b2b76: b2db uxtb r3, r3 80b2b78: 7023 strb r3, [r4, #0] for (DataIdx = 0; DataIdx < len; DataIdx++) 80b2b7a: 697b ldr r3, [r7, #20] 80b2b7c: 3301 adds r3, #1 80b2b7e: 617b str r3, [r7, #20] 80b2b80: 697a ldr r2, [r7, #20] 80b2b82: 687b ldr r3, [r7, #4] 80b2b84: 429a cmp r2, r3 80b2b86: dbf0 blt.n 80b2b6a <_read+0x12> } return len; 80b2b88: 687b ldr r3, [r7, #4] } 80b2b8a: 4618 mov r0, r3 80b2b8c: 371c adds r7, #28 80b2b8e: 46bd mov sp, r7 80b2b90: bd90 pop {r4, r7, pc} 080b2b92 <_write>: __attribute__((weak)) int _write(int file, char *ptr, int len) { 80b2b92: b580 push {r7, lr} 80b2b94: b086 sub sp, #24 80b2b96: af00 add r7, sp, #0 80b2b98: 60f8 str r0, [r7, #12] 80b2b9a: 60b9 str r1, [r7, #8] 80b2b9c: 607a str r2, [r7, #4] int DataIdx; for (DataIdx = 0; DataIdx < len; DataIdx++) 80b2b9e: 2300 movs r3, #0 80b2ba0: 617b str r3, [r7, #20] 80b2ba2: e009 b.n 80b2bb8 <_write+0x26> { __io_putchar(*ptr++); 80b2ba4: 68bb ldr r3, [r7, #8] 80b2ba6: 1c5a adds r2, r3, #1 80b2ba8: 60ba str r2, [r7, #8] 80b2baa: 781b ldrb r3, [r3, #0] 80b2bac: 4618 mov r0, r3 80b2bae: f3af 8000 nop.w for (DataIdx = 0; DataIdx < len; DataIdx++) 80b2bb2: 697b ldr r3, [r7, #20] 80b2bb4: 3301 adds r3, #1 80b2bb6: 617b str r3, [r7, #20] 80b2bb8: 697a ldr r2, [r7, #20] 80b2bba: 687b ldr r3, [r7, #4] 80b2bbc: 429a cmp r2, r3 80b2bbe: dbf1 blt.n 80b2ba4 <_write+0x12> } return len; 80b2bc0: 687b ldr r3, [r7, #4] } 80b2bc2: 4618 mov r0, r3 80b2bc4: 3718 adds r7, #24 80b2bc6: 46bd mov sp, r7 80b2bc8: bd80 pop {r7, pc} ... 080b2bcc <_sbrk>: caddr_t _sbrk(int incr) { 80b2bcc: b580 push {r7, lr} 80b2bce: b084 sub sp, #16 80b2bd0: af00 add r7, sp, #0 80b2bd2: 6078 str r0, [r7, #4] extern char end asm("end"); static char *heap_end; char *prev_heap_end; if (heap_end == 0) 80b2bd4: 4b11 ldr r3, [pc, #68] ; (80b2c1c <_sbrk+0x50>) 80b2bd6: 681b ldr r3, [r3, #0] 80b2bd8: 2b00 cmp r3, #0 80b2bda: d102 bne.n 80b2be2 <_sbrk+0x16> heap_end = &end; 80b2bdc: 4b0f ldr r3, [pc, #60] ; (80b2c1c <_sbrk+0x50>) 80b2bde: 4a10 ldr r2, [pc, #64] ; (80b2c20 <_sbrk+0x54>) 80b2be0: 601a str r2, [r3, #0] prev_heap_end = heap_end; 80b2be2: 4b0e ldr r3, [pc, #56] ; (80b2c1c <_sbrk+0x50>) 80b2be4: 681b ldr r3, [r3, #0] 80b2be6: 60fb str r3, [r7, #12] if (heap_end + incr > stack_ptr) 80b2be8: 4b0c ldr r3, [pc, #48] ; (80b2c1c <_sbrk+0x50>) 80b2bea: 681a ldr r2, [r3, #0] 80b2bec: 687b ldr r3, [r7, #4] 80b2bee: 4413 add r3, r2 80b2bf0: 466a mov r2, sp 80b2bf2: 4293 cmp r3, r2 80b2bf4: d907 bls.n 80b2c06 <_sbrk+0x3a> { // write(1, "Heap and stack collision\n", 25); // abort(); errno = ENOMEM; 80b2bf6: f01f f967 bl 80d1ec8 <__errno> 80b2bfa: 4602 mov r2, r0 80b2bfc: 230c movs r3, #12 80b2bfe: 6013 str r3, [r2, #0] return (caddr_t) -1; 80b2c00: f04f 33ff mov.w r3, #4294967295 80b2c04: e006 b.n 80b2c14 <_sbrk+0x48> } heap_end += incr; 80b2c06: 4b05 ldr r3, [pc, #20] ; (80b2c1c <_sbrk+0x50>) 80b2c08: 681a ldr r2, [r3, #0] 80b2c0a: 687b ldr r3, [r7, #4] 80b2c0c: 4413 add r3, r2 80b2c0e: 4a03 ldr r2, [pc, #12] ; (80b2c1c <_sbrk+0x50>) 80b2c10: 6013 str r3, [r2, #0] return (caddr_t) prev_heap_end; 80b2c12: 68fb ldr r3, [r7, #12] } 80b2c14: 4618 mov r0, r3 80b2c16: 3710 adds r7, #16 80b2c18: 46bd mov sp, r7 80b2c1a: bd80 pop {r7, pc} 80b2c1c: 200216d0 .word 0x200216d0 80b2c20: 20069698 .word 0x20069698 080b2c24 <_close>: int _close(int file) { 80b2c24: b480 push {r7} 80b2c26: b083 sub sp, #12 80b2c28: af00 add r7, sp, #0 80b2c2a: 6078 str r0, [r7, #4] return -1; 80b2c2c: f04f 33ff mov.w r3, #4294967295 } 80b2c30: 4618 mov r0, r3 80b2c32: 370c adds r7, #12 80b2c34: 46bd mov sp, r7 80b2c36: f85d 7b04 ldr.w r7, [sp], #4 80b2c3a: 4770 bx lr 080b2c3c <_fstat>: int _fstat(int file, struct stat *st) { 80b2c3c: b480 push {r7} 80b2c3e: b083 sub sp, #12 80b2c40: af00 add r7, sp, #0 80b2c42: 6078 str r0, [r7, #4] 80b2c44: 6039 str r1, [r7, #0] st->st_mode = S_IFCHR; 80b2c46: 683b ldr r3, [r7, #0] 80b2c48: f44f 5200 mov.w r2, #8192 ; 0x2000 80b2c4c: 605a str r2, [r3, #4] return 0; 80b2c4e: 2300 movs r3, #0 } 80b2c50: 4618 mov r0, r3 80b2c52: 370c adds r7, #12 80b2c54: 46bd mov sp, r7 80b2c56: f85d 7b04 ldr.w r7, [sp], #4 80b2c5a: 4770 bx lr 080b2c5c <_isatty>: int _isatty(int file) { 80b2c5c: b480 push {r7} 80b2c5e: b083 sub sp, #12 80b2c60: af00 add r7, sp, #0 80b2c62: 6078 str r0, [r7, #4] return 1; 80b2c64: 2301 movs r3, #1 } 80b2c66: 4618 mov r0, r3 80b2c68: 370c adds r7, #12 80b2c6a: 46bd mov sp, r7 80b2c6c: f85d 7b04 ldr.w r7, [sp], #4 80b2c70: 4770 bx lr 080b2c72 <_lseek>: int _lseek(int file, int ptr, int dir) { 80b2c72: b480 push {r7} 80b2c74: b085 sub sp, #20 80b2c76: af00 add r7, sp, #0 80b2c78: 60f8 str r0, [r7, #12] 80b2c7a: 60b9 str r1, [r7, #8] 80b2c7c: 607a str r2, [r7, #4] return 0; 80b2c7e: 2300 movs r3, #0 } 80b2c80: 4618 mov r0, r3 80b2c82: 3714 adds r7, #20 80b2c84: 46bd mov sp, r7 80b2c86: f85d 7b04 ldr.w r7, [sp], #4 80b2c8a: 4770 bx lr 080b2c8c : * SystemFrequency variable. * @param None * @retval None */ void SystemInit(void) { 80b2c8c: b480 push {r7} 80b2c8e: 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 */ 80b2c90: 4a06 ldr r2, [pc, #24] ; (80b2cac ) 80b2c92: 4b06 ldr r3, [pc, #24] ; (80b2cac ) 80b2c94: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80b2c98: f443 0370 orr.w r3, r3, #15728640 ; 0xf00000 80b2c9c: 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 */ } 80b2ca0: bf00 nop 80b2ca2: 46bd mov sp, r7 80b2ca4: f85d 7b04 ldr.w r7, [sp], #4 80b2ca8: 4770 bx lr 80b2caa: bf00 nop 80b2cac: e000ed00 .word 0xe000ed00 080b2cb0 : __IO uint32_t CNT_MEAN = 0; /* TIM5 init function */ void MX_TIM1_Init(void) { 80b2cb0: b580 push {r7, lr} 80b2cb2: b088 sub sp, #32 80b2cb4: af00 add r7, sp, #0 TIM_ClockConfigTypeDef sClockSourceConfig; TIM_MasterConfigTypeDef sMasterConfig; htim1.Instance = TIM1; 80b2cb6: 4b1f ldr r3, [pc, #124] ; (80b2d34 ) 80b2cb8: 4a1f ldr r2, [pc, #124] ; (80b2d38 ) 80b2cba: 601a str r2, [r3, #0] htim1.Init.Prescaler = 0; // (96000000Hz / 10000) = 9600Hz 80b2cbc: 4b1d ldr r3, [pc, #116] ; (80b2d34 ) 80b2cbe: 2200 movs r2, #0 80b2cc0: 605a str r2, [r3, #4] htim1.Init.CounterMode = TIM_COUNTERMODE_UP; 80b2cc2: 4b1c ldr r3, [pc, #112] ; (80b2d34 ) 80b2cc4: 2200 movs r2, #0 80b2cc6: 609a str r2, [r3, #8] htim1.Init.Period = (10800 - 1); // (216000000 / 10800) ~20kHz 80b2cc8: 4b1a ldr r3, [pc, #104] ; (80b2d34 ) 80b2cca: f642 222f movw r2, #10799 ; 0x2a2f 80b2cce: 60da str r2, [r3, #12] htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; 80b2cd0: 4b18 ldr r3, [pc, #96] ; (80b2d34 ) 80b2cd2: 2200 movs r2, #0 80b2cd4: 611a str r2, [r3, #16] htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; 80b2cd6: 4b17 ldr r3, [pc, #92] ; (80b2d34 ) 80b2cd8: 2200 movs r2, #0 80b2cda: 619a str r2, [r3, #24] if(HAL_TIM_Base_Init(&htim1) != HAL_OK) { 80b2cdc: 4815 ldr r0, [pc, #84] ; (80b2d34 ) 80b2cde: f00d ff3f bl 80c0b60 80b2ce2: 4603 mov r3, r0 80b2ce4: 2b00 cmp r3, #0 80b2ce6: d001 beq.n 80b2cec Error_Handler(); 80b2ce8: f7a3 fde0 bl 80568ac } sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; 80b2cec: f44f 5380 mov.w r3, #4096 ; 0x1000 80b2cf0: 613b str r3, [r7, #16] if(HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) { 80b2cf2: f107 0310 add.w r3, r7, #16 80b2cf6: 4619 mov r1, r3 80b2cf8: 480e ldr r0, [pc, #56] ; (80b2d34 ) 80b2cfa: f00e f9df bl 80c10bc 80b2cfe: 4603 mov r3, r0 80b2d00: 2b00 cmp r3, #0 80b2d02: d001 beq.n 80b2d08 Error_Handler(); 80b2d04: f7a3 fdd2 bl 80568ac } sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE; 80b2d08: 2320 movs r3, #32 80b2d0a: 607b str r3, [r7, #4] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_ENABLE; 80b2d0c: 2380 movs r3, #128 ; 0x80 80b2d0e: 60fb str r3, [r7, #12] sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_UPDATE; 80b2d10: f44f 1300 mov.w r3, #2097152 ; 0x200000 80b2d14: 60bb str r3, [r7, #8] if(HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) { 80b2d16: 1d3b adds r3, r7, #4 80b2d18: 4619 mov r1, r3 80b2d1a: 4806 ldr r0, [pc, #24] ; (80b2d34 ) 80b2d1c: f00e fbee bl 80c14fc 80b2d20: 4603 mov r3, r0 80b2d22: 2b00 cmp r3, #0 80b2d24: d001 beq.n 80b2d2a Error_Handler(); 80b2d26: f7a3 fdc1 bl 80568ac } } 80b2d2a: bf00 nop 80b2d2c: 3720 adds r7, #32 80b2d2e: 46bd mov sp, r7 80b2d30: bd80 pop {r7, pc} 80b2d32: bf00 nop 80b2d34: 200689a0 .word 0x200689a0 80b2d38: 40010000 .word 0x40010000 080b2d3c : /* TIM5 init function */ void MX_TIM5_Init(void) { 80b2d3c: b580 push {r7, lr} 80b2d3e: b088 sub sp, #32 80b2d40: af00 add r7, sp, #0 TIM_ClockConfigTypeDef sClockSourceConfig; TIM_MasterConfigTypeDef sMasterConfig; htim5.Instance = TIM5; 80b2d42: 4b1f ldr r3, [pc, #124] ; (80b2dc0 ) 80b2d44: 4a1f ldr r2, [pc, #124] ; (80b2dc4 ) 80b2d46: 601a str r2, [r3, #0] htim5.Init.Prescaler = 0; // (96000000Hz / 10000) = 9600Hz 80b2d48: 4b1d ldr r3, [pc, #116] ; (80b2dc0 ) 80b2d4a: 2200 movs r2, #0 80b2d4c: 605a str r2, [r3, #4] htim5.Init.CounterMode = TIM_COUNTERMODE_UP; 80b2d4e: 4b1c ldr r3, [pc, #112] ; (80b2dc0 ) 80b2d50: 2200 movs r2, #0 80b2d52: 609a str r2, [r3, #8] htim5.Init.Period = (432 - 1); // (96000000Hz / 240) ~400kHz 80b2d54: 4b1a ldr r3, [pc, #104] ; (80b2dc0 ) 80b2d56: f240 12af movw r2, #431 ; 0x1af 80b2d5a: 60da str r2, [r3, #12] htim5.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; 80b2d5c: 4b18 ldr r3, [pc, #96] ; (80b2dc0 ) 80b2d5e: 2200 movs r2, #0 80b2d60: 611a str r2, [r3, #16] htim5.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; 80b2d62: 4b17 ldr r3, [pc, #92] ; (80b2dc0 ) 80b2d64: 2200 movs r2, #0 80b2d66: 619a str r2, [r3, #24] if(HAL_TIM_Base_Init(&htim5) != HAL_OK) { 80b2d68: 4815 ldr r0, [pc, #84] ; (80b2dc0 ) 80b2d6a: f00d fef9 bl 80c0b60 80b2d6e: 4603 mov r3, r0 80b2d70: 2b00 cmp r3, #0 80b2d72: d001 beq.n 80b2d78 Error_Handler(); 80b2d74: f7a3 fd9a bl 80568ac } sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; 80b2d78: f44f 5380 mov.w r3, #4096 ; 0x1000 80b2d7c: 613b str r3, [r7, #16] if(HAL_TIM_ConfigClockSource(&htim5, &sClockSourceConfig) != HAL_OK) { 80b2d7e: f107 0310 add.w r3, r7, #16 80b2d82: 4619 mov r1, r3 80b2d84: 480e ldr r0, [pc, #56] ; (80b2dc0 ) 80b2d86: f00e f999 bl 80c10bc 80b2d8a: 4603 mov r3, r0 80b2d8c: 2b00 cmp r3, #0 80b2d8e: d001 beq.n 80b2d94 Error_Handler(); 80b2d90: f7a3 fd8c bl 80568ac } sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE; 80b2d94: 2320 movs r3, #32 80b2d96: 607b str r3, [r7, #4] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_ENABLE; 80b2d98: 2380 movs r3, #128 ; 0x80 80b2d9a: 60fb str r3, [r7, #12] sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_UPDATE; 80b2d9c: f44f 1300 mov.w r3, #2097152 ; 0x200000 80b2da0: 60bb str r3, [r7, #8] if(HAL_TIMEx_MasterConfigSynchronization(&htim5, &sMasterConfig) != HAL_OK) { 80b2da2: 1d3b adds r3, r7, #4 80b2da4: 4619 mov r1, r3 80b2da6: 4806 ldr r0, [pc, #24] ; (80b2dc0 ) 80b2da8: f00e fba8 bl 80c14fc 80b2dac: 4603 mov r3, r0 80b2dae: 2b00 cmp r3, #0 80b2db0: d001 beq.n 80b2db6 Error_Handler(); 80b2db2: f7a3 fd7b bl 80568ac } } 80b2db6: bf00 nop 80b2db8: 3720 adds r7, #32 80b2dba: 46bd mov sp, r7 80b2dbc: bd80 pop {r7, pc} 80b2dbe: bf00 nop 80b2dc0: 20068904 .word 0x20068904 80b2dc4: 40000c00 .word 0x40000c00 080b2dc8 : /* TIM7 init function */ void MX_TIM7_Init(void) { 80b2dc8: b580 push {r7, lr} 80b2dca: b084 sub sp, #16 80b2dcc: af00 add r7, sp, #0 TIM_MasterConfigTypeDef sMasterConfig; htim7.Instance = TIM7; 80b2dce: 4b16 ldr r3, [pc, #88] ; (80b2e28 ) 80b2dd0: 4a16 ldr r2, [pc, #88] ; (80b2e2c ) 80b2dd2: 601a str r2, [r3, #0] htim7.Init.Prescaler = 0; /*79;*/ 80b2dd4: 4b14 ldr r3, [pc, #80] ; (80b2e28 ) 80b2dd6: 2200 movs r2, #0 80b2dd8: 605a str r2, [r3, #4] htim7.Init.CounterMode = TIM_COUNTERMODE_UP; 80b2dda: 4b13 ldr r3, [pc, #76] ; (80b2e28 ) 80b2ddc: 2200 movs r2, #0 80b2dde: 609a str r2, [r3, #8] htim7.Init.Period = (52735 - 1); /*659;*/ 80b2de0: 4b11 ldr r3, [pc, #68] ; (80b2e28 ) 80b2de2: f64c 52fe movw r2, #52734 ; 0xcdfe 80b2de6: 60da str r2, [r3, #12] htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; 80b2de8: 4b0f ldr r3, [pc, #60] ; (80b2e28 ) 80b2dea: 2200 movs r2, #0 80b2dec: 619a str r2, [r3, #24] if(HAL_TIM_Base_Init(&htim7) != HAL_OK) { 80b2dee: 480e ldr r0, [pc, #56] ; (80b2e28 ) 80b2df0: f00d feb6 bl 80c0b60 80b2df4: 4603 mov r3, r0 80b2df6: 2b00 cmp r3, #0 80b2df8: d001 beq.n 80b2dfe Error_Handler(); 80b2dfa: f7a3 fd57 bl 80568ac } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; 80b2dfe: 2300 movs r3, #0 80b2e00: 607b str r3, [r7, #4] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; 80b2e02: 2300 movs r3, #0 80b2e04: 60fb str r3, [r7, #12] if (HAL_TIMEx_MasterConfigSynchronization(&htim7, &sMasterConfig) != HAL_OK) { 80b2e06: 1d3b adds r3, r7, #4 80b2e08: 4619 mov r1, r3 80b2e0a: 4807 ldr r0, [pc, #28] ; (80b2e28 ) 80b2e0c: f00e fb76 bl 80c14fc 80b2e10: 4603 mov r3, r0 80b2e12: 2b00 cmp r3, #0 80b2e14: d001 beq.n 80b2e1a Error_Handler(); 80b2e16: f7a3 fd49 bl 80568ac } HAL_TIM_Base_Start_IT(&htim7); 80b2e1a: 4803 ldr r0, [pc, #12] ; (80b2e28 ) 80b2e1c: f00d ff90 bl 80c0d40 } 80b2e20: bf00 nop 80b2e22: 3710 adds r7, #16 80b2e24: 46bd mov sp, r7 80b2e26: bd80 pop {r7, pc} 80b2e28: 20068a38 .word 0x20068a38 80b2e2c: 40001400 .word 0x40001400 080b2e30 : void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) { 80b2e30: b580 push {r7, lr} 80b2e32: b086 sub sp, #24 80b2e34: af00 add r7, sp, #0 80b2e36: 6078 str r0, [r7, #4] if(tim_baseHandle->Instance == TIM1) 80b2e38: 687b ldr r3, [r7, #4] 80b2e3a: 681b ldr r3, [r3, #0] 80b2e3c: 4a1f ldr r2, [pc, #124] ; (80b2ebc ) 80b2e3e: 4293 cmp r3, r2 80b2e40: d10c bne.n 80b2e5c { __HAL_RCC_TIM1_CLK_ENABLE(); 80b2e42: 4a1f ldr r2, [pc, #124] ; (80b2ec0 ) 80b2e44: 4b1e ldr r3, [pc, #120] ; (80b2ec0 ) 80b2e46: 6c5b ldr r3, [r3, #68] ; 0x44 80b2e48: f043 0301 orr.w r3, r3, #1 80b2e4c: 6453 str r3, [r2, #68] ; 0x44 80b2e4e: 4b1c ldr r3, [pc, #112] ; (80b2ec0 ) 80b2e50: 6c5b ldr r3, [r3, #68] ; 0x44 80b2e52: f003 0301 and.w r3, r3, #1 80b2e56: 617b str r3, [r7, #20] 80b2e58: 697b ldr r3, [r7, #20] { __HAL_RCC_TIM7_CLK_ENABLE(); HAL_NVIC_SetPriority(TIM7_IRQn, 3, 0); HAL_NVIC_EnableIRQ(TIM7_IRQn); } } 80b2e5a: e02a b.n 80b2eb2 if(tim_baseHandle->Instance == TIM5) 80b2e5c: 687b ldr r3, [r7, #4] 80b2e5e: 681b ldr r3, [r3, #0] 80b2e60: 4a18 ldr r2, [pc, #96] ; (80b2ec4 ) 80b2e62: 4293 cmp r3, r2 80b2e64: d10c bne.n 80b2e80 __HAL_RCC_TIM5_CLK_ENABLE(); 80b2e66: 4a16 ldr r2, [pc, #88] ; (80b2ec0 ) 80b2e68: 4b15 ldr r3, [pc, #84] ; (80b2ec0 ) 80b2e6a: 6c1b ldr r3, [r3, #64] ; 0x40 80b2e6c: f043 0308 orr.w r3, r3, #8 80b2e70: 6413 str r3, [r2, #64] ; 0x40 80b2e72: 4b13 ldr r3, [pc, #76] ; (80b2ec0 ) 80b2e74: 6c1b ldr r3, [r3, #64] ; 0x40 80b2e76: f003 0308 and.w r3, r3, #8 80b2e7a: 613b str r3, [r7, #16] 80b2e7c: 693b ldr r3, [r7, #16] } 80b2e7e: e018 b.n 80b2eb2 if(tim_baseHandle->Instance == TIM7) 80b2e80: 687b ldr r3, [r7, #4] 80b2e82: 681b ldr r3, [r3, #0] 80b2e84: 4a10 ldr r2, [pc, #64] ; (80b2ec8 ) 80b2e86: 4293 cmp r3, r2 80b2e88: d113 bne.n 80b2eb2 __HAL_RCC_TIM7_CLK_ENABLE(); 80b2e8a: 4a0d ldr r2, [pc, #52] ; (80b2ec0 ) 80b2e8c: 4b0c ldr r3, [pc, #48] ; (80b2ec0 ) 80b2e8e: 6c1b ldr r3, [r3, #64] ; 0x40 80b2e90: f043 0320 orr.w r3, r3, #32 80b2e94: 6413 str r3, [r2, #64] ; 0x40 80b2e96: 4b0a ldr r3, [pc, #40] ; (80b2ec0 ) 80b2e98: 6c1b ldr r3, [r3, #64] ; 0x40 80b2e9a: f003 0320 and.w r3, r3, #32 80b2e9e: 60fb str r3, [r7, #12] 80b2ea0: 68fb ldr r3, [r7, #12] HAL_NVIC_SetPriority(TIM7_IRQn, 3, 0); 80b2ea2: 2200 movs r2, #0 80b2ea4: 2103 movs r1, #3 80b2ea6: 2037 movs r0, #55 ; 0x37 80b2ea8: f005 fd13 bl 80b88d2 HAL_NVIC_EnableIRQ(TIM7_IRQn); 80b2eac: 2037 movs r0, #55 ; 0x37 80b2eae: f005 fd2c bl 80b890a } 80b2eb2: bf00 nop 80b2eb4: 3718 adds r7, #24 80b2eb6: 46bd mov sp, r7 80b2eb8: bd80 pop {r7, pc} 80b2eba: bf00 nop 80b2ebc: 40010000 .word 0x40010000 80b2ec0: 40023800 .word 0x40023800 80b2ec4: 40000c00 .word 0x40000c00 80b2ec8: 40001400 .word 0x40001400 080b2ecc : __IO uint32_t maxtime = 0; /* USER CODE BEGIN 1 */ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { 80b2ecc: b580 push {r7, lr} 80b2ece: b084 sub sp, #16 80b2ed0: af00 add r7, sp, #0 80b2ed2: 6078 str r0, [r7, #4] __IO uint16_t Data32, i; switch((uint32_t) htim->Instance) 80b2ed4: 687b ldr r3, [r7, #4] 80b2ed6: 681b ldr r3, [r3, #0] 80b2ed8: 461a mov r2, r3 80b2eda: 4b8c ldr r3, [pc, #560] ; (80b310c ) 80b2edc: 429a cmp r2, r3 80b2ede: d000 beq.n 80b2ee2 if(TIMEOUT_BAT) TIMEOUT_BAT--; break; } } 80b2ee0: e1c8 b.n 80b3274 __HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE); 80b2ee2: 687b ldr r3, [r7, #4] 80b2ee4: 681b ldr r3, [r3, #0] 80b2ee6: f06f 0201 mvn.w r2, #1 80b2eea: 611a str r2, [r3, #16] if(timerKeys) 80b2eec: 4b88 ldr r3, [pc, #544] ; (80b3110 ) 80b2eee: 881b ldrh r3, [r3, #0] 80b2ef0: b29b uxth r3, r3 80b2ef2: 2b00 cmp r3, #0 80b2ef4: d007 beq.n 80b2f06 timerKeys--; 80b2ef6: 4b86 ldr r3, [pc, #536] ; (80b3110 ) 80b2ef8: 881b ldrh r3, [r3, #0] 80b2efa: b29b uxth r3, r3 80b2efc: 3b01 subs r3, #1 80b2efe: b29a uxth r2, r3 80b2f00: 4b83 ldr r3, [pc, #524] ; (80b3110 ) 80b2f02: 801a strh r2, [r3, #0] 80b2f04: e060 b.n 80b2fc8 timerKeys = 2; 80b2f06: 4b82 ldr r3, [pc, #520] ; (80b3110 ) 80b2f08: 2202 movs r2, #2 80b2f0a: 801a strh r2, [r3, #0] if(LinkPC == 0) 80b2f0c: 4b81 ldr r3, [pc, #516] ; (80b3114 ) 80b2f0e: 781b ldrb r3, [r3, #0] 80b2f10: b2db uxtb r3, r3 80b2f12: 2b00 cmp r3, #0 80b2f14: d155 bne.n 80b2fc2 if(!KEY_STATE) 80b2f16: 4b80 ldr r3, [pc, #512] ; (80b3118 ) 80b2f18: 681b ldr r3, [r3, #0] 80b2f1a: 2b00 cmp r3, #0 80b2f1c: d141 bne.n 80b2fa2 KEY_STATE = kbhit(); 80b2f1e: f782 ff27 bl 8035d70 80b2f22: 4602 mov r2, r0 80b2f24: 4b7c ldr r3, [pc, #496] ; (80b3118 ) 80b2f26: 601a str r2, [r3, #0] if(KEY_STATE == KEY_PW) 80b2f28: 4b7b ldr r3, [pc, #492] ; (80b3118 ) 80b2f2a: 681b ldr r3, [r3, #0] 80b2f2c: 2b01 cmp r3, #1 80b2f2e: d14b bne.n 80b2fc8 if(USBConnected == false) 80b2f30: 4b7a ldr r3, [pc, #488] ; (80b311c ) 80b2f32: 781b ldrb r3, [r3, #0] 80b2f34: b2db uxtb r3, r3 80b2f36: f083 0301 eor.w r3, r3, #1 80b2f3a: b2db uxtb r3, r3 80b2f3c: 2b00 cmp r3, #0 80b2f3e: d002 beq.n 80b2f46 Off(); 80b2f40: f770 fcb0 bl 80238a4 80b2f44: e029 b.n 80b2f9a if(ChargerIsConnect == true) 80b2f46: 4b76 ldr r3, [pc, #472] ; (80b3120 ) 80b2f48: 781b ldrb r3, [r3, #0] 80b2f4a: b2db uxtb r3, r3 80b2f4c: 2b00 cmp r3, #0 80b2f4e: d024 beq.n 80b2f9a if(menu == POWER_OFF2) 80b2f50: 4b74 ldr r3, [pc, #464] ; (80b3124 ) 80b2f52: 781b ldrb r3, [r3, #0] 80b2f54: b2db uxtb r3, r3 80b2f56: 2b44 cmp r3, #68 ; 0x44 80b2f58: d10a bne.n 80b2f70 menu = POWER_OFF; 80b2f5a: 4b72 ldr r3, [pc, #456] ; (80b3124 ) 80b2f5c: 2243 movs r2, #67 ; 0x43 80b2f5e: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80b2f60: 4b71 ldr r3, [pc, #452] ; (80b3128 ) 80b2f62: f44f 42a0 mov.w r2, #20480 ; 0x5000 80b2f66: 601a str r2, [r3, #0] needDispOn = true; 80b2f68: 4b70 ldr r3, [pc, #448] ; (80b312c ) 80b2f6a: 2201 movs r2, #1 80b2f6c: 701a strb r2, [r3, #0] 80b2f6e: e014 b.n 80b2f9a if(menu == POWER_OFF) 80b2f70: 4b6c ldr r3, [pc, #432] ; (80b3124 ) 80b2f72: 781b ldrb r3, [r3, #0] 80b2f74: b2db uxtb r3, r3 80b2f76: 2b43 cmp r3, #67 ; 0x43 80b2f78: d106 bne.n 80b2f88 menu = OPTIONS; 80b2f7a: 4b6a ldr r3, [pc, #424] ; (80b3124 ) 80b2f7c: 2201 movs r2, #1 80b2f7e: 701a strb r2, [r3, #0] menupos = Mode; 80b2f80: 4b6b ldr r3, [pc, #428] ; (80b3130 ) 80b2f82: 2201 movs r2, #1 80b2f84: 701a strb r2, [r3, #0] 80b2f86: e008 b.n 80b2f9a StopMeas(); 80b2f88: f770 fc08 bl 802379c menu = POWER_OFF; 80b2f8c: 4b65 ldr r3, [pc, #404] ; (80b3124 ) 80b2f8e: 2243 movs r2, #67 ; 0x43 80b2f90: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80b2f92: 4b65 ldr r3, [pc, #404] ; (80b3128 ) 80b2f94: f44f 42a0 mov.w r2, #20480 ; 0x5000 80b2f98: 601a str r2, [r3, #0] KEY_STATE = 0; 80b2f9a: 4b5f ldr r3, [pc, #380] ; (80b3118 ) 80b2f9c: 2200 movs r2, #0 80b2f9e: 601a str r2, [r3, #0] 80b2fa0: e012 b.n 80b2fc8 if(kbhit() == KEY_PW) 80b2fa2: f782 fee5 bl 8035d70 80b2fa6: 4603 mov r3, r0 80b2fa8: 2b01 cmp r3, #1 80b2faa: d10d bne.n 80b2fc8 if(USBConnected == false) 80b2fac: 4b5b ldr r3, [pc, #364] ; (80b311c ) 80b2fae: 781b ldrb r3, [r3, #0] 80b2fb0: b2db uxtb r3, r3 80b2fb2: f083 0301 eor.w r3, r3, #1 80b2fb6: b2db uxtb r3, r3 80b2fb8: 2b00 cmp r3, #0 80b2fba: d005 beq.n 80b2fc8 Off(); 80b2fbc: f770 fc72 bl 80238a4 80b2fc0: e002 b.n 80b2fc8 KEY_STATE = 0; 80b2fc2: 4b55 ldr r3, [pc, #340] ; (80b3118 ) 80b2fc4: 2200 movs r2, #0 80b2fc6: 601a str r2, [r3, #0] if(timerRefreshScreen) 80b2fc8: 4b5a ldr r3, [pc, #360] ; (80b3134 ) 80b2fca: 881b ldrh r3, [r3, #0] 80b2fcc: b29b uxth r3, r3 80b2fce: 2b00 cmp r3, #0 80b2fd0: d007 beq.n 80b2fe2 timerRefreshScreen--; 80b2fd2: 4b58 ldr r3, [pc, #352] ; (80b3134 ) 80b2fd4: 881b ldrh r3, [r3, #0] 80b2fd6: b29b uxth r3, r3 80b2fd8: 3b01 subs r3, #1 80b2fda: b29a uxth r2, r3 80b2fdc: 4b55 ldr r3, [pc, #340] ; (80b3134 ) 80b2fde: 801a strh r2, [r3, #0] 80b2fe0: e05e b.n 80b30a0 if(pardata.SYG == UDAR) 80b2fe2: 4b55 ldr r3, [pc, #340] ; (80b3138 ) 80b2fe4: 781b ldrb r3, [r3, #0] 80b2fe6: b2db uxtb r3, r3 80b2fe8: 2b09 cmp r3, #9 80b2fea: d12a bne.n 80b3042 if(measuring) 80b2fec: 4b53 ldr r3, [pc, #332] ; (80b313c ) 80b2fee: 781b ldrb r3, [r3, #0] 80b2ff0: b2db uxtb r3, r3 80b2ff2: 2b00 cmp r3, #0 80b2ff4: d01b beq.n 80b302e if((Stability > (Nr * 4)) && (!timeRelax)) 80b2ff6: 4b52 ldr r3, [pc, #328] ; (80b3140 ) 80b2ff8: 881b ldrh r3, [r3, #0] 80b2ffa: b29b uxth r3, r3 80b2ffc: 009b lsls r3, r3, #2 80b2ffe: 461a mov r2, r3 80b3000: 4b50 ldr r3, [pc, #320] ; (80b3144 ) 80b3002: 681b ldr r3, [r3, #0] 80b3004: 429a cmp r2, r3 80b3006: d208 bcs.n 80b301a 80b3008: 4b4f ldr r3, [pc, #316] ; (80b3148 ) 80b300a: 681b ldr r3, [r3, #0] 80b300c: 2b00 cmp r3, #0 80b300e: d104 bne.n 80b301a timerRefreshScreen = 680; //340; //todo 80b3010: 4b48 ldr r3, [pc, #288] ; (80b3134 ) 80b3012: f44f 722a mov.w r2, #680 ; 0x2a8 80b3016: 801a strh r2, [r3, #0] 80b3018: e01c b.n 80b3054 else timerRefreshScreen = MSEC_REFRESH[LinkPC]; 80b301a: 4b3e ldr r3, [pc, #248] ; (80b3114 ) 80b301c: 781b ldrb r3, [r3, #0] 80b301e: b2db uxtb r3, r3 80b3020: 461a mov r2, r3 80b3022: 4b4a ldr r3, [pc, #296] ; (80b314c ) 80b3024: f833 2012 ldrh.w r2, [r3, r2, lsl #1] 80b3028: 4b42 ldr r3, [pc, #264] ; (80b3134 ) 80b302a: 801a strh r2, [r3, #0] 80b302c: e012 b.n 80b3054 timerRefreshScreen = MSEC_REFRESH[LinkPC]; 80b302e: 4b39 ldr r3, [pc, #228] ; (80b3114 ) 80b3030: 781b ldrb r3, [r3, #0] 80b3032: b2db uxtb r3, r3 80b3034: 461a mov r2, r3 80b3036: 4b45 ldr r3, [pc, #276] ; (80b314c ) 80b3038: f833 2012 ldrh.w r2, [r3, r2, lsl #1] 80b303c: 4b3d ldr r3, [pc, #244] ; (80b3134 ) 80b303e: 801a strh r2, [r3, #0] 80b3040: e008 b.n 80b3054 timerRefreshScreen = MSEC_REFRESH[LinkPC]; 80b3042: 4b34 ldr r3, [pc, #208] ; (80b3114 ) 80b3044: 781b ldrb r3, [r3, #0] 80b3046: b2db uxtb r3, r3 80b3048: 461a mov r2, r3 80b304a: 4b40 ldr r3, [pc, #256] ; (80b314c ) 80b304c: f833 2012 ldrh.w r2, [r3, r2, lsl #1] 80b3050: 4b38 ldr r3, [pc, #224] ; (80b3134 ) 80b3052: 801a strh r2, [r3, #0] Cursorblink ^= 1; 80b3054: 4b3e ldr r3, [pc, #248] ; (80b3150 ) 80b3056: 781b ldrb r3, [r3, #0] 80b3058: b2db uxtb r3, r3 80b305a: f083 0301 eor.w r3, r3, #1 80b305e: b2da uxtb r2, r3 80b3060: 4b3b ldr r3, [pc, #236] ; (80b3150 ) 80b3062: 701a strb r2, [r3, #0] if(cntblink) 80b3064: 4b3b ldr r3, [pc, #236] ; (80b3154 ) 80b3066: 881b ldrh r3, [r3, #0] 80b3068: b29b uxth r3, r3 80b306a: 2b00 cmp r3, #0 80b306c: d007 beq.n 80b307e cntblink--; 80b306e: 4b39 ldr r3, [pc, #228] ; (80b3154 ) 80b3070: 881b ldrh r3, [r3, #0] 80b3072: b29b uxth r3, r3 80b3074: 3b01 subs r3, #1 80b3076: b29a uxth r2, r3 80b3078: 4b36 ldr r3, [pc, #216] ; (80b3154 ) 80b307a: 801a strh r2, [r3, #0] 80b307c: e00d b.n 80b309a cntblink = 2; 80b307e: 4b35 ldr r3, [pc, #212] ; (80b3154 ) 80b3080: 2202 movs r2, #2 80b3082: 801a strh r2, [r3, #0] blink ^= 1; 80b3084: 4b34 ldr r3, [pc, #208] ; (80b3158 ) 80b3086: 781b ldrb r3, [r3, #0] 80b3088: b2db uxtb r3, r3 80b308a: f083 0301 eor.w r3, r3, #1 80b308e: b2da uxtb r2, r3 80b3090: 4b31 ldr r3, [pc, #196] ; (80b3158 ) 80b3092: 701a strb r2, [r3, #0] cntBat = 1; 80b3094: 4b31 ldr r3, [pc, #196] ; (80b315c ) 80b3096: 2201 movs r2, #1 80b3098: 701a strb r2, [r3, #0] screen = true; 80b309a: 4b31 ldr r3, [pc, #196] ; (80b3160 ) 80b309c: 2201 movs r2, #1 80b309e: 701a strb r2, [r3, #0] if(timerStatus > 1) 80b30a0: 4b30 ldr r3, [pc, #192] ; (80b3164 ) 80b30a2: 881b ldrh r3, [r3, #0] 80b30a4: b29b uxth r3, r3 80b30a6: 2b01 cmp r3, #1 80b30a8: d907 bls.n 80b30ba timerStatus--; 80b30aa: 4b2e ldr r3, [pc, #184] ; (80b3164 ) 80b30ac: 881b ldrh r3, [r3, #0] 80b30ae: b29b uxth r3, r3 80b30b0: 3b01 subs r3, #1 80b30b2: b29a uxth r2, r3 80b30b4: 4b2b ldr r3, [pc, #172] ; (80b3164 ) 80b30b6: 801a strh r2, [r3, #0] 80b30b8: e016 b.n 80b30e8 if(timerStatus == 1) 80b30ba: 4b2a ldr r3, [pc, #168] ; (80b3164 ) 80b30bc: 881b ldrh r3, [r3, #0] 80b30be: b29b uxth r3, r3 80b30c0: 2b01 cmp r3, #1 80b30c2: d111 bne.n 80b30e8 timerStatus = 0; 80b30c4: 4b27 ldr r3, [pc, #156] ; (80b3164 ) 80b30c6: 2200 movs r2, #0 80b30c8: 801a strh r2, [r3, #0] STATUS = AP_OK; 80b30ca: 4b27 ldr r3, [pc, #156] ; (80b3168 ) 80b30cc: 2200 movs r2, #0 80b30ce: 601a str r2, [r3, #0] DrawStatus = false; 80b30d0: 4b26 ldr r3, [pc, #152] ; (80b316c ) 80b30d2: 2200 movs r2, #0 80b30d4: 701a strb r2, [r3, #0] ThisFileExist = false; 80b30d6: 4b26 ldr r3, [pc, #152] ; (80b3170 ) 80b30d8: 2200 movs r2, #0 80b30da: 701a strb r2, [r3, #0] SavingPassed = false; 80b30dc: 4b25 ldr r3, [pc, #148] ; (80b3174 ) 80b30de: 2200 movs r2, #0 80b30e0: 701a strb r2, [r3, #0] SavingUnable = false; 80b30e2: 4b25 ldr r3, [pc, #148] ; (80b3178 ) 80b30e4: 2200 movs r2, #0 80b30e6: 701a strb r2, [r3, #0] if(SeeTemperature) 80b30e8: 4b24 ldr r3, [pc, #144] ; (80b317c ) 80b30ea: 781b ldrb r3, [r3, #0] 80b30ec: b2db uxtb r3, r3 80b30ee: 2b00 cmp r3, #0 80b30f0: d04f beq.n 80b3192 if(timerTemperature) 80b30f2: 4b23 ldr r3, [pc, #140] ; (80b3180 ) 80b30f4: 881b ldrh r3, [r3, #0] 80b30f6: b29b uxth r3, r3 80b30f8: 2b00 cmp r3, #0 80b30fa: d043 beq.n 80b3184 timerTemperature--; 80b30fc: 4b20 ldr r3, [pc, #128] ; (80b3180 ) 80b30fe: 881b ldrh r3, [r3, #0] 80b3100: b29b uxth r3, r3 80b3102: 3b01 subs r3, #1 80b3104: b29a uxth r2, r3 80b3106: 4b1e ldr r3, [pc, #120] ; (80b3180 ) 80b3108: 801a strh r2, [r3, #0] 80b310a: e042 b.n 80b3192 80b310c: 40001400 .word 0x40001400 80b3110: 200209c2 .word 0x200209c2 80b3114: 20021b73 .word 0x20021b73 80b3118: 20020fcc .word 0x20020fcc 80b311c: 20021b71 .word 0x20021b71 80b3120: 20021b72 .word 0x20021b72 80b3124: 20020fc5 .word 0x20020fc5 80b3128: 200209d0 .word 0x200209d0 80b312c: 20021b74 .word 0x20021b74 80b3130: 20020070 .word 0x20020070 80b3134: 200209c4 .word 0x200209c4 80b3138: 20023eb8 .word 0x20023eb8 80b313c: 20020dcf .word 0x20020dcf 80b3140: 20021d70 .word 0x20021d70 80b3144: 20020dc8 .word 0x20020dc8 80b3148: 20020d8c .word 0x20020d8c 80b314c: 080f6254 .word 0x080f6254 80b3150: 200216da .word 0x200216da 80b3154: 200209c0 .word 0x200209c0 80b3158: 200216d9 .word 0x200216d9 80b315c: 200216db .word 0x200216db 80b3160: 200200ca .word 0x200200ca 80b3164: 200216dc .word 0x200216dc 80b3168: 20020dec .word 0x20020dec 80b316c: 20020df2 .word 0x20020df2 80b3170: 20020df5 .word 0x20020df5 80b3174: 20020df4 .word 0x20020df4 80b3178: 20020df6 .word 0x20020df6 80b317c: 20020fc3 .word 0x20020fc3 80b3180: 200209c6 .word 0x200209c6 FlagGetTemperature = true; 80b3184: 4b3d ldr r3, [pc, #244] ; (80b327c ) 80b3186: 2201 movs r2, #1 80b3188: 701a strb r2, [r3, #0] timerTemperature = sec1; 80b318a: 4b3d ldr r3, [pc, #244] ; (80b3280 ) 80b318c: f44f 6200 mov.w r2, #2048 ; 0x800 80b3190: 801a strh r2, [r3, #0] if(repeat) 80b3192: 4b3c ldr r3, [pc, #240] ; (80b3284 ) 80b3194: 881b ldrh r3, [r3, #0] 80b3196: b29b uxth r3, r3 80b3198: 2b00 cmp r3, #0 80b319a: d006 beq.n 80b31aa repeat--; 80b319c: 4b39 ldr r3, [pc, #228] ; (80b3284 ) 80b319e: 881b ldrh r3, [r3, #0] 80b31a0: b29b uxth r3, r3 80b31a2: 3b01 subs r3, #1 80b31a4: b29a uxth r2, r3 80b31a6: 4b37 ldr r3, [pc, #220] ; (80b3284 ) 80b31a8: 801a strh r2, [r3, #0] if(TIMEOUT_OFF) 80b31aa: 4b37 ldr r3, [pc, #220] ; (80b3288 ) 80b31ac: 681b ldr r3, [r3, #0] 80b31ae: 2b00 cmp r3, #0 80b31b0: d012 beq.n 80b31d8 if(USBConnected == false) 80b31b2: 4b36 ldr r3, [pc, #216] ; (80b328c ) 80b31b4: 781b ldrb r3, [r3, #0] 80b31b6: b2db uxtb r3, r3 80b31b8: f083 0301 eor.w r3, r3, #1 80b31bc: b2db uxtb r3, r3 80b31be: 2b00 cmp r3, #0 80b31c0: d005 beq.n 80b31ce TIMEOUT_OFF--; 80b31c2: 4b31 ldr r3, [pc, #196] ; (80b3288 ) 80b31c4: 681b ldr r3, [r3, #0] 80b31c6: 3b01 subs r3, #1 80b31c8: 4a2f ldr r2, [pc, #188] ; (80b3288 ) 80b31ca: 6013 str r3, [r2, #0] 80b31cc: e013 b.n 80b31f6 else TIMEOUT_OFF = min15; 80b31ce: 4b2e ldr r3, [pc, #184] ; (80b3288 ) 80b31d0: f44f 12e1 mov.w r2, #1843200 ; 0x1c2000 80b31d4: 601a str r2, [r3, #0] 80b31d6: e00e b.n 80b31f6 if(USBConnected == false) 80b31d8: 4b2c ldr r3, [pc, #176] ; (80b328c ) 80b31da: 781b ldrb r3, [r3, #0] 80b31dc: b2db uxtb r3, r3 80b31de: f083 0301 eor.w r3, r3, #1 80b31e2: b2db uxtb r3, r3 80b31e4: 2b00 cmp r3, #0 80b31e6: d002 beq.n 80b31ee Off(); 80b31e8: f770 fb5c bl 80238a4 80b31ec: e003 b.n 80b31f6 else TIMEOUT_OFF = min15; 80b31ee: 4b26 ldr r3, [pc, #152] ; (80b3288 ) 80b31f0: f44f 12e1 mov.w r2, #1843200 ; 0x1c2000 80b31f4: 601a str r2, [r3, #0] if((ChargerIsConnect) && (menu == POWER_OFF)) 80b31f6: 4b26 ldr r3, [pc, #152] ; (80b3290 ) 80b31f8: 781b ldrb r3, [r3, #0] 80b31fa: b2db uxtb r3, r3 80b31fc: 2b00 cmp r3, #0 80b31fe: d018 beq.n 80b3232 80b3200: 4b24 ldr r3, [pc, #144] ; (80b3294 ) 80b3202: 781b ldrb r3, [r3, #0] 80b3204: b2db uxtb r3, r3 80b3206: 2b43 cmp r3, #67 ; 0x43 80b3208: d113 bne.n 80b3232 if(TIMEOUT_OFF2) 80b320a: 4b23 ldr r3, [pc, #140] ; (80b3298 ) 80b320c: 681b ldr r3, [r3, #0] 80b320e: 2b00 cmp r3, #0 80b3210: d005 beq.n 80b321e TIMEOUT_OFF2--; 80b3212: 4b21 ldr r3, [pc, #132] ; (80b3298 ) 80b3214: 681b ldr r3, [r3, #0] 80b3216: 3b01 subs r3, #1 80b3218: 4a1f ldr r2, [pc, #124] ; (80b3298 ) 80b321a: 6013 str r3, [r2, #0] if(TIMEOUT_OFF2) 80b321c: e00d b.n 80b323a menu = POWER_OFF2; 80b321e: 4b1d ldr r3, [pc, #116] ; (80b3294 ) 80b3220: 2244 movs r2, #68 ; 0x44 80b3222: 701a strb r2, [r3, #0] HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_SET); // BACKLIGHT IS OFF 80b3224: 2201 movs r2, #1 80b3226: f44f 7180 mov.w r1, #256 ; 0x100 80b322a: 481c ldr r0, [pc, #112] ; (80b329c ) 80b322c: f007 f8b6 bl 80ba39c if(TIMEOUT_OFF2) 80b3230: e003 b.n 80b323a TIMEOUT_OFF2 = sec10; 80b3232: 4b19 ldr r3, [pc, #100] ; (80b3298 ) 80b3234: f44f 42a0 mov.w r2, #20480 ; 0x5000 80b3238: 601a str r2, [r3, #0] if(timerBattery) 80b323a: 4b19 ldr r3, [pc, #100] ; (80b32a0 ) 80b323c: 881b ldrh r3, [r3, #0] 80b323e: b29b uxth r3, r3 80b3240: 2b00 cmp r3, #0 80b3242: d007 beq.n 80b3254 timerBattery--; 80b3244: 4b16 ldr r3, [pc, #88] ; (80b32a0 ) 80b3246: 881b ldrh r3, [r3, #0] 80b3248: b29b uxth r3, r3 80b324a: 3b01 subs r3, #1 80b324c: b29a uxth r2, r3 80b324e: 4b14 ldr r3, [pc, #80] ; (80b32a0 ) 80b3250: 801a strh r2, [r3, #0] 80b3252: e005 b.n 80b3260 timerBattery = sec1; 80b3254: 4b12 ldr r3, [pc, #72] ; (80b32a0 ) 80b3256: f44f 6200 mov.w r2, #2048 ; 0x800 80b325a: 801a strh r2, [r3, #0] MeasBattery(); 80b325c: f76d fdd2 bl 8020e04 if(TIMEOUT_BAT) 80b3260: 4b10 ldr r3, [pc, #64] ; (80b32a4 ) 80b3262: 681b ldr r3, [r3, #0] 80b3264: 2b00 cmp r3, #0 80b3266: d004 beq.n 80b3272 TIMEOUT_BAT--; 80b3268: 4b0e ldr r3, [pc, #56] ; (80b32a4 ) 80b326a: 681b ldr r3, [r3, #0] 80b326c: 3b01 subs r3, #1 80b326e: 4a0d ldr r2, [pc, #52] ; (80b32a4 ) 80b3270: 6013 str r3, [r2, #0] break; 80b3272: bf00 nop } 80b3274: bf00 nop 80b3276: 3710 adds r7, #16 80b3278: 46bd mov sp, r7 80b327a: bd80 pop {r7, pc} 80b327c: 20020f85 .word 0x20020f85 80b3280: 200209c6 .word 0x200209c6 80b3284: 20020fc8 .word 0x20020fc8 80b3288: 200209cc .word 0x200209cc 80b328c: 20021b71 .word 0x20021b71 80b3290: 20021b72 .word 0x20021b72 80b3294: 20020fc5 .word 0x20020fc5 80b3298: 200209d0 .word 0x200209d0 80b329c: 40020000 .word 0x40020000 80b32a0: 200209c8 .word 0x200209c8 80b32a4: 200209d4 .word 0x200209d4 080b32a8 : SET_BIT(huart7.Instance->CR1, USART_CR1_RXNEIE/* | USART_CR1_PEIE*/); } void MX_USART7_UART_DeInit(void) { 80b32a8: b580 push {r7, lr} 80b32aa: af00 add r7, sp, #0 if(HAL_UART_DeInit(&huart7) != HAL_OK) { 80b32ac: 4806 ldr r0, [pc, #24] ; (80b32c8 ) 80b32ae: f00e f9d1 bl 80c1654 80b32b2: 4603 mov r3, r0 80b32b4: 2b00 cmp r3, #0 80b32b6: d001 beq.n 80b32bc Error_Handler(); 80b32b8: f7a3 faf8 bl 80568ac } HAL_NVIC_DisableIRQ(UART7_IRQn); 80b32bc: 2052 movs r0, #82 ; 0x52 80b32be: f005 fb32 bl 80b8926 } 80b32c2: bf00 nop 80b32c4: bd80 pop {r7, pc} 80b32c6: bf00 nop 80b32c8: 20068a84 .word 0x20068a84 080b32cc : /* USER CODE END UART7_MspInit 1 */ } } void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle) { 80b32cc: b580 push {r7, lr} 80b32ce: b082 sub sp, #8 80b32d0: af00 add r7, sp, #0 80b32d2: 6078 str r0, [r7, #4] if(uartHandle->Instance==UART7) 80b32d4: 687b ldr r3, [r7, #4] 80b32d6: 681b ldr r3, [r3, #0] 80b32d8: 4a09 ldr r2, [pc, #36] ; (80b3300 ) 80b32da: 4293 cmp r3, r2 80b32dc: d10c bne.n 80b32f8 { /* USER CODE BEGIN UART7_MspDeInit 0 */ /* USER CODE END UART7_MspDeInit 0 */ /* Peripheral clock disable */ __HAL_RCC_UART7_CLK_DISABLE(); 80b32de: 4a09 ldr r2, [pc, #36] ; (80b3304 ) 80b32e0: 4b08 ldr r3, [pc, #32] ; (80b3304 ) 80b32e2: 6c1b ldr r3, [r3, #64] ; 0x40 80b32e4: f023 4380 bic.w r3, r3, #1073741824 ; 0x40000000 80b32e8: 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); 80b32ea: 21c0 movs r1, #192 ; 0xc0 80b32ec: 4806 ldr r0, [pc, #24] ; (80b3308 ) 80b32ee: f006 ff31 bl 80ba154 /* UART7 interrupt Deinit */ HAL_NVIC_DisableIRQ(UART7_IRQn); 80b32f2: 2052 movs r0, #82 ; 0x52 80b32f4: f005 fb17 bl 80b8926 } } 80b32f8: bf00 nop 80b32fa: 3708 adds r7, #8 80b32fc: 46bd mov sp, r7 80b32fe: bd80 pop {r7, pc} 80b3300: 40007800 .word 0x40007800 80b3304: 40023800 .word 0x40023800 80b3308: 40021400 .word 0x40021400 080b330c : void UART7_IRQHandler(void) { 80b330c: b580 push {r7, lr} 80b330e: af00 add r7, sp, #0 if((__HAL_UART_GET_IT_SOURCE(&huart7, UART_IT_RXNE)) && (__HAL_UART_GET_FLAG(&huart7, UART_FLAG_RXNE))) 80b3310: 4b26 ldr r3, [pc, #152] ; (80b33ac ) 80b3312: 681b ldr r3, [r3, #0] 80b3314: 681b ldr r3, [r3, #0] 80b3316: f003 0320 and.w r3, r3, #32 80b331a: 2b00 cmp r3, #0 80b331c: d009 beq.n 80b3332 80b331e: 4b23 ldr r3, [pc, #140] ; (80b33ac ) 80b3320: 681b ldr r3, [r3, #0] 80b3322: 69db ldr r3, [r3, #28] 80b3324: f003 0320 and.w r3, r3, #32 80b3328: 2b20 cmp r3, #32 80b332a: d102 bne.n 80b3332 { HAL_UART_RxCplt(); 80b332c: f77d f8ee bl 803050c 80b3330: e002 b.n 80b3338 } else { HAL_UART_IRQHandler(&huart7); 80b3332: 481e ldr r0, [pc, #120] ; (80b33ac ) 80b3334: f00e faee bl 80c1914 } if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_ORE)) 80b3338: 4b1c ldr r3, [pc, #112] ; (80b33ac ) 80b333a: 681b ldr r3, [r3, #0] 80b333c: 69db ldr r3, [r3, #28] 80b333e: f003 0308 and.w r3, r3, #8 80b3342: 2b08 cmp r3, #8 80b3344: d103 bne.n 80b334e __HAL_UART_CLEAR_OREFLAG(&huart7); 80b3346: 4b19 ldr r3, [pc, #100] ; (80b33ac ) 80b3348: 681b ldr r3, [r3, #0] 80b334a: 2208 movs r2, #8 80b334c: 621a str r2, [r3, #32] if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_PE)) 80b334e: 4b17 ldr r3, [pc, #92] ; (80b33ac ) 80b3350: 681b ldr r3, [r3, #0] 80b3352: 69db ldr r3, [r3, #28] 80b3354: f003 0301 and.w r3, r3, #1 80b3358: 2b01 cmp r3, #1 80b335a: d103 bne.n 80b3364 __HAL_UART_CLEAR_PEFLAG(&huart7); 80b335c: 4b13 ldr r3, [pc, #76] ; (80b33ac ) 80b335e: 681b ldr r3, [r3, #0] 80b3360: 2201 movs r2, #1 80b3362: 621a str r2, [r3, #32] if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_FE)) 80b3364: 4b11 ldr r3, [pc, #68] ; (80b33ac ) 80b3366: 681b ldr r3, [r3, #0] 80b3368: 69db ldr r3, [r3, #28] 80b336a: f003 0302 and.w r3, r3, #2 80b336e: 2b02 cmp r3, #2 80b3370: d103 bne.n 80b337a __HAL_UART_CLEAR_FEFLAG(&huart7); 80b3372: 4b0e ldr r3, [pc, #56] ; (80b33ac ) 80b3374: 681b ldr r3, [r3, #0] 80b3376: 2202 movs r2, #2 80b3378: 621a str r2, [r3, #32] if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_NE)) 80b337a: 4b0c ldr r3, [pc, #48] ; (80b33ac ) 80b337c: 681b ldr r3, [r3, #0] 80b337e: 69db ldr r3, [r3, #28] 80b3380: f003 0304 and.w r3, r3, #4 80b3384: 2b04 cmp r3, #4 80b3386: d103 bne.n 80b3390 __HAL_UART_CLEAR_NEFLAG(&huart7); 80b3388: 4b08 ldr r3, [pc, #32] ; (80b33ac ) 80b338a: 681b ldr r3, [r3, #0] 80b338c: 2204 movs r2, #4 80b338e: 621a str r2, [r3, #32] if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_IDLE)) 80b3390: 4b06 ldr r3, [pc, #24] ; (80b33ac ) 80b3392: 681b ldr r3, [r3, #0] 80b3394: 69db ldr r3, [r3, #28] 80b3396: f003 0310 and.w r3, r3, #16 80b339a: 2b10 cmp r3, #16 80b339c: d103 bne.n 80b33a6 __HAL_UART_CLEAR_IDLEFLAG(&huart7); 80b339e: 4b03 ldr r3, [pc, #12] ; (80b33ac ) 80b33a0: 681b ldr r3, [r3, #0] 80b33a2: 2210 movs r2, #16 80b33a4: 621a str r2, [r3, #32] } 80b33a6: bf00 nop 80b33a8: bd80 pop {r7, pc} 80b33aa: bf00 nop 80b33ac: 20068a84 .word 0x20068a84 080b33b0 : void arm_bitreversal_f32( float32_t * pSrc, uint16_t fftSize, uint16_t bitRevFactor, uint16_t * pBitRevTab) { 80b33b0: b480 push {r7} 80b33b2: b089 sub sp, #36 ; 0x24 80b33b4: af00 add r7, sp, #0 80b33b6: 60f8 str r0, [r7, #12] 80b33b8: 607b str r3, [r7, #4] 80b33ba: 460b mov r3, r1 80b33bc: 817b strh r3, [r7, #10] 80b33be: 4613 mov r3, r2 80b33c0: 813b strh r3, [r7, #8] uint16_t fftLenBy2, fftLenBy2p1; uint16_t i, j; float32_t in; /* Initializations */ j = 0u; 80b33c2: 2300 movs r3, #0 80b33c4: 83bb strh r3, [r7, #28] fftLenBy2 = fftSize >> 1u; 80b33c6: 897b ldrh r3, [r7, #10] 80b33c8: 085b lsrs r3, r3, #1 80b33ca: 837b strh r3, [r7, #26] fftLenBy2p1 = (fftSize >> 1u) + 1u; 80b33cc: 897b ldrh r3, [r7, #10] 80b33ce: 085b lsrs r3, r3, #1 80b33d0: b29b uxth r3, r3 80b33d2: 3301 adds r3, #1 80b33d4: 833b strh r3, [r7, #24] /* Bit Reversal Implementation */ for (i = 0u; i <= (fftLenBy2 - 2u); i += 2u) 80b33d6: 2300 movs r3, #0 80b33d8: 83fb strh r3, [r7, #30] 80b33da: e0ba b.n 80b3552 { if(i < j) 80b33dc: 8bfa ldrh r2, [r7, #30] 80b33de: 8bbb ldrh r3, [r7, #28] 80b33e0: 429a cmp r2, r3 80b33e2: d26f bcs.n 80b34c4 { /* pSrc[i] <-> pSrc[j]; */ in = pSrc[2u * i]; 80b33e4: 8bfb ldrh r3, [r7, #30] 80b33e6: 00db lsls r3, r3, #3 80b33e8: 68fa ldr r2, [r7, #12] 80b33ea: 4413 add r3, r2 80b33ec: 681b ldr r3, [r3, #0] 80b33ee: 617b str r3, [r7, #20] pSrc[2u * i] = pSrc[2u * j]; 80b33f0: 8bfb ldrh r3, [r7, #30] 80b33f2: 00db lsls r3, r3, #3 80b33f4: 68fa ldr r2, [r7, #12] 80b33f6: 4413 add r3, r2 80b33f8: 8bba ldrh r2, [r7, #28] 80b33fa: 00d2 lsls r2, r2, #3 80b33fc: 68f9 ldr r1, [r7, #12] 80b33fe: 440a add r2, r1 80b3400: 6812 ldr r2, [r2, #0] 80b3402: 601a str r2, [r3, #0] pSrc[2u * j] = in; 80b3404: 8bbb ldrh r3, [r7, #28] 80b3406: 00db lsls r3, r3, #3 80b3408: 68fa ldr r2, [r7, #12] 80b340a: 4413 add r3, r2 80b340c: 697a ldr r2, [r7, #20] 80b340e: 601a str r2, [r3, #0] /* pSrc[i+1u] <-> pSrc[j+1u] */ in = pSrc[(2u * i) + 1u]; 80b3410: 8bfb ldrh r3, [r7, #30] 80b3412: 00db lsls r3, r3, #3 80b3414: 3304 adds r3, #4 80b3416: 68fa ldr r2, [r7, #12] 80b3418: 4413 add r3, r2 80b341a: 681b ldr r3, [r3, #0] 80b341c: 617b str r3, [r7, #20] pSrc[(2u * i) + 1u] = pSrc[(2u * j) + 1u]; 80b341e: 8bfb ldrh r3, [r7, #30] 80b3420: 00db lsls r3, r3, #3 80b3422: 3304 adds r3, #4 80b3424: 68fa ldr r2, [r7, #12] 80b3426: 4413 add r3, r2 80b3428: 8bba ldrh r2, [r7, #28] 80b342a: 00d2 lsls r2, r2, #3 80b342c: 3204 adds r2, #4 80b342e: 68f9 ldr r1, [r7, #12] 80b3430: 440a add r2, r1 80b3432: 6812 ldr r2, [r2, #0] 80b3434: 601a str r2, [r3, #0] pSrc[(2u * j) + 1u] = in; 80b3436: 8bbb ldrh r3, [r7, #28] 80b3438: 00db lsls r3, r3, #3 80b343a: 3304 adds r3, #4 80b343c: 68fa ldr r2, [r7, #12] 80b343e: 4413 add r3, r2 80b3440: 697a ldr r2, [r7, #20] 80b3442: 601a str r2, [r3, #0] /* pSrc[i+fftLenBy2p1] <-> pSrc[j+fftLenBy2p1] */ in = pSrc[2u * (i + fftLenBy2p1)]; 80b3444: 8bfa ldrh r2, [r7, #30] 80b3446: 8b3b ldrh r3, [r7, #24] 80b3448: 4413 add r3, r2 80b344a: 00db lsls r3, r3, #3 80b344c: 68fa ldr r2, [r7, #12] 80b344e: 4413 add r3, r2 80b3450: 681b ldr r3, [r3, #0] 80b3452: 617b str r3, [r7, #20] pSrc[2u * (i + fftLenBy2p1)] = pSrc[2u * (j + fftLenBy2p1)]; 80b3454: 8bfa ldrh r2, [r7, #30] 80b3456: 8b3b ldrh r3, [r7, #24] 80b3458: 4413 add r3, r2 80b345a: 00db lsls r3, r3, #3 80b345c: 68fa ldr r2, [r7, #12] 80b345e: 4413 add r3, r2 80b3460: 8bb9 ldrh r1, [r7, #28] 80b3462: 8b3a ldrh r2, [r7, #24] 80b3464: 440a add r2, r1 80b3466: 00d2 lsls r2, r2, #3 80b3468: 68f9 ldr r1, [r7, #12] 80b346a: 440a add r2, r1 80b346c: 6812 ldr r2, [r2, #0] 80b346e: 601a str r2, [r3, #0] pSrc[2u * (j + fftLenBy2p1)] = in; 80b3470: 8bba ldrh r2, [r7, #28] 80b3472: 8b3b ldrh r3, [r7, #24] 80b3474: 4413 add r3, r2 80b3476: 00db lsls r3, r3, #3 80b3478: 68fa ldr r2, [r7, #12] 80b347a: 4413 add r3, r2 80b347c: 697a ldr r2, [r7, #20] 80b347e: 601a str r2, [r3, #0] /* pSrc[i+fftLenBy2p1+1u] <-> pSrc[j+fftLenBy2p1+1u] */ in = pSrc[(2u * (i + fftLenBy2p1)) + 1u]; 80b3480: 8bfa ldrh r2, [r7, #30] 80b3482: 8b3b ldrh r3, [r7, #24] 80b3484: 4413 add r3, r2 80b3486: 00db lsls r3, r3, #3 80b3488: 3304 adds r3, #4 80b348a: 68fa ldr r2, [r7, #12] 80b348c: 4413 add r3, r2 80b348e: 681b ldr r3, [r3, #0] 80b3490: 617b str r3, [r7, #20] pSrc[(2u * (i + fftLenBy2p1)) + 1u] = 80b3492: 8bfa ldrh r2, [r7, #30] 80b3494: 8b3b ldrh r3, [r7, #24] 80b3496: 4413 add r3, r2 80b3498: 00db lsls r3, r3, #3 80b349a: 3304 adds r3, #4 80b349c: 68fa ldr r2, [r7, #12] 80b349e: 4413 add r3, r2 pSrc[(2u * (j + fftLenBy2p1)) + 1u]; 80b34a0: 8bb9 ldrh r1, [r7, #28] 80b34a2: 8b3a ldrh r2, [r7, #24] 80b34a4: 440a add r2, r1 80b34a6: 00d2 lsls r2, r2, #3 80b34a8: 3204 adds r2, #4 80b34aa: 68f9 ldr r1, [r7, #12] 80b34ac: 440a add r2, r1 80b34ae: 6812 ldr r2, [r2, #0] pSrc[(2u * (i + fftLenBy2p1)) + 1u] = 80b34b0: 601a str r2, [r3, #0] pSrc[(2u * (j + fftLenBy2p1)) + 1u] = in; 80b34b2: 8bba ldrh r2, [r7, #28] 80b34b4: 8b3b ldrh r3, [r7, #24] 80b34b6: 4413 add r3, r2 80b34b8: 00db lsls r3, r3, #3 80b34ba: 3304 adds r3, #4 80b34bc: 68fa ldr r2, [r7, #12] 80b34be: 4413 add r3, r2 80b34c0: 697a ldr r2, [r7, #20] 80b34c2: 601a str r2, [r3, #0] } /* pSrc[i+1u] <-> pSrc[j+1u] */ in = pSrc[2u * (i + 1u)]; 80b34c4: 8bfb ldrh r3, [r7, #30] 80b34c6: 3301 adds r3, #1 80b34c8: 00db lsls r3, r3, #3 80b34ca: 68fa ldr r2, [r7, #12] 80b34cc: 4413 add r3, r2 80b34ce: 681b ldr r3, [r3, #0] 80b34d0: 617b str r3, [r7, #20] pSrc[2u * (i + 1u)] = pSrc[2u * (j + fftLenBy2)]; 80b34d2: 8bfb ldrh r3, [r7, #30] 80b34d4: 3301 adds r3, #1 80b34d6: 00db lsls r3, r3, #3 80b34d8: 68fa ldr r2, [r7, #12] 80b34da: 4413 add r3, r2 80b34dc: 8bb9 ldrh r1, [r7, #28] 80b34de: 8b7a ldrh r2, [r7, #26] 80b34e0: 440a add r2, r1 80b34e2: 00d2 lsls r2, r2, #3 80b34e4: 68f9 ldr r1, [r7, #12] 80b34e6: 440a add r2, r1 80b34e8: 6812 ldr r2, [r2, #0] 80b34ea: 601a str r2, [r3, #0] pSrc[2u * (j + fftLenBy2)] = in; 80b34ec: 8bba ldrh r2, [r7, #28] 80b34ee: 8b7b ldrh r3, [r7, #26] 80b34f0: 4413 add r3, r2 80b34f2: 00db lsls r3, r3, #3 80b34f4: 68fa ldr r2, [r7, #12] 80b34f6: 4413 add r3, r2 80b34f8: 697a ldr r2, [r7, #20] 80b34fa: 601a str r2, [r3, #0] /* pSrc[i+2u] <-> pSrc[j+2u] */ in = pSrc[(2u * (i + 1u)) + 1u]; 80b34fc: 8bfb ldrh r3, [r7, #30] 80b34fe: 3301 adds r3, #1 80b3500: 00db lsls r3, r3, #3 80b3502: 3304 adds r3, #4 80b3504: 68fa ldr r2, [r7, #12] 80b3506: 4413 add r3, r2 80b3508: 681b ldr r3, [r3, #0] 80b350a: 617b str r3, [r7, #20] pSrc[(2u * (i + 1u)) + 1u] = pSrc[(2u * (j + fftLenBy2)) + 1u]; 80b350c: 8bfb ldrh r3, [r7, #30] 80b350e: 3301 adds r3, #1 80b3510: 00db lsls r3, r3, #3 80b3512: 3304 adds r3, #4 80b3514: 68fa ldr r2, [r7, #12] 80b3516: 4413 add r3, r2 80b3518: 8bb9 ldrh r1, [r7, #28] 80b351a: 8b7a ldrh r2, [r7, #26] 80b351c: 440a add r2, r1 80b351e: 00d2 lsls r2, r2, #3 80b3520: 3204 adds r2, #4 80b3522: 68f9 ldr r1, [r7, #12] 80b3524: 440a add r2, r1 80b3526: 6812 ldr r2, [r2, #0] 80b3528: 601a str r2, [r3, #0] pSrc[(2u * (j + fftLenBy2)) + 1u] = in; 80b352a: 8bba ldrh r2, [r7, #28] 80b352c: 8b7b ldrh r3, [r7, #26] 80b352e: 4413 add r3, r2 80b3530: 00db lsls r3, r3, #3 80b3532: 3304 adds r3, #4 80b3534: 68fa ldr r2, [r7, #12] 80b3536: 4413 add r3, r2 80b3538: 697a ldr r2, [r7, #20] 80b353a: 601a str r2, [r3, #0] /* Reading the index for the bit reversal */ j = *pBitRevTab; 80b353c: 687b ldr r3, [r7, #4] 80b353e: 881b ldrh r3, [r3, #0] 80b3540: 83bb strh r3, [r7, #28] /* Updating the bit reversal index depending on the fft length */ pBitRevTab += bitRevFactor; 80b3542: 893b ldrh r3, [r7, #8] 80b3544: 005b lsls r3, r3, #1 80b3546: 687a ldr r2, [r7, #4] 80b3548: 4413 add r3, r2 80b354a: 607b str r3, [r7, #4] for (i = 0u; i <= (fftLenBy2 - 2u); i += 2u) 80b354c: 8bfb ldrh r3, [r7, #30] 80b354e: 3302 adds r3, #2 80b3550: 83fb strh r3, [r7, #30] 80b3552: 8bfa ldrh r2, [r7, #30] 80b3554: 8b7b ldrh r3, [r7, #26] 80b3556: 3b02 subs r3, #2 80b3558: 429a cmp r2, r3 80b355a: f67f af3f bls.w 80b33dc } } 80b355e: bf00 nop 80b3560: 3724 adds r7, #36 ; 0x24 80b3562: 46bd mov sp, r7 80b3564: f85d 7b04 ldr.w r7, [sp], #4 80b3568: 4770 bx lr 080b356a : * \endcode * */ void arm_cfft_radix8by2_f32( arm_cfft_instance_f32 * S, float32_t * p1) { 80b356a: b580 push {r7, lr} 80b356c: b0a0 sub sp, #128 ; 0x80 80b356e: af00 add r7, sp, #0 80b3570: 6078 str r0, [r7, #4] 80b3572: 6039 str r1, [r7, #0] uint32_t L = S->fftLen; 80b3574: 687b ldr r3, [r7, #4] 80b3576: 881b ldrh r3, [r3, #0] 80b3578: 66bb str r3, [r7, #104] ; 0x68 float32_t * pCol1, * pCol2, * pMid1, * pMid2; float32_t * p2 = p1 + L; 80b357a: 6ebb ldr r3, [r7, #104] ; 0x68 80b357c: 009b lsls r3, r3, #2 80b357e: 683a ldr r2, [r7, #0] 80b3580: 4413 add r3, r2 80b3582: 677b str r3, [r7, #116] ; 0x74 const float32_t * tw = (float32_t *) S->pTwiddle; 80b3584: 687b ldr r3, [r7, #4] 80b3586: 685b ldr r3, [r3, #4] 80b3588: 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; 80b358a: 683b ldr r3, [r7, #0] 80b358c: 667b str r3, [r7, #100] ; 0x64 pCol2 = p2; 80b358e: 6f7b ldr r3, [r7, #116] ; 0x74 80b3590: 663b str r3, [r7, #96] ; 0x60 // Define new length L >>= 1; 80b3592: 6ebb ldr r3, [r7, #104] ; 0x68 80b3594: 085b lsrs r3, r3, #1 80b3596: 66bb str r3, [r7, #104] ; 0x68 // Initialize mid pointers pMid1 = p1 + L; 80b3598: 6ebb ldr r3, [r7, #104] ; 0x68 80b359a: 009b lsls r3, r3, #2 80b359c: 683a ldr r2, [r7, #0] 80b359e: 4413 add r3, r2 80b35a0: 67fb str r3, [r7, #124] ; 0x7c pMid2 = p2 + L; 80b35a2: 6ebb ldr r3, [r7, #104] ; 0x68 80b35a4: 009b lsls r3, r3, #2 80b35a6: 6f7a ldr r2, [r7, #116] ; 0x74 80b35a8: 4413 add r3, r2 80b35aa: 67bb str r3, [r7, #120] ; 0x78 // do two dot Fourier transform for ( l = L >> 2; l > 0; l-- ) 80b35ac: 6ebb ldr r3, [r7, #104] ; 0x68 80b35ae: 089b lsrs r3, r3, #2 80b35b0: 66fb str r3, [r7, #108] ; 0x6c 80b35b2: e1b6 b.n 80b3922 { t1[0] = p1[0]; 80b35b4: 683b ldr r3, [r7, #0] 80b35b6: 681b ldr r3, [r3, #0] 80b35b8: 63bb str r3, [r7, #56] ; 0x38 t1[1] = p1[1]; 80b35ba: 683b ldr r3, [r7, #0] 80b35bc: 685b ldr r3, [r3, #4] 80b35be: 63fb str r3, [r7, #60] ; 0x3c t1[2] = p1[2]; 80b35c0: 683b ldr r3, [r7, #0] 80b35c2: 689b ldr r3, [r3, #8] 80b35c4: 643b str r3, [r7, #64] ; 0x40 t1[3] = p1[3]; 80b35c6: 683b ldr r3, [r7, #0] 80b35c8: 68db ldr r3, [r3, #12] 80b35ca: 647b str r3, [r7, #68] ; 0x44 t2[0] = p2[0]; 80b35cc: 6f7b ldr r3, [r7, #116] ; 0x74 80b35ce: 681b ldr r3, [r3, #0] 80b35d0: 62bb str r3, [r7, #40] ; 0x28 t2[1] = p2[1]; 80b35d2: 6f7b ldr r3, [r7, #116] ; 0x74 80b35d4: 685b ldr r3, [r3, #4] 80b35d6: 62fb str r3, [r7, #44] ; 0x2c t2[2] = p2[2]; 80b35d8: 6f7b ldr r3, [r7, #116] ; 0x74 80b35da: 689b ldr r3, [r3, #8] 80b35dc: 633b str r3, [r7, #48] ; 0x30 t2[3] = p2[3]; 80b35de: 6f7b ldr r3, [r7, #116] ; 0x74 80b35e0: 68db ldr r3, [r3, #12] 80b35e2: 637b str r3, [r7, #52] ; 0x34 t3[0] = pMid1[0]; 80b35e4: 6ffb ldr r3, [r7, #124] ; 0x7c 80b35e6: 681b ldr r3, [r3, #0] 80b35e8: 61bb str r3, [r7, #24] t3[1] = pMid1[1]; 80b35ea: 6ffb ldr r3, [r7, #124] ; 0x7c 80b35ec: 685b ldr r3, [r3, #4] 80b35ee: 61fb str r3, [r7, #28] t3[2] = pMid1[2]; 80b35f0: 6ffb ldr r3, [r7, #124] ; 0x7c 80b35f2: 689b ldr r3, [r3, #8] 80b35f4: 623b str r3, [r7, #32] t3[3] = pMid1[3]; 80b35f6: 6ffb ldr r3, [r7, #124] ; 0x7c 80b35f8: 68db ldr r3, [r3, #12] 80b35fa: 627b str r3, [r7, #36] ; 0x24 t4[0] = pMid2[0]; 80b35fc: 6fbb ldr r3, [r7, #120] ; 0x78 80b35fe: 681b ldr r3, [r3, #0] 80b3600: 60bb str r3, [r7, #8] t4[1] = pMid2[1]; 80b3602: 6fbb ldr r3, [r7, #120] ; 0x78 80b3604: 685b ldr r3, [r3, #4] 80b3606: 60fb str r3, [r7, #12] t4[2] = pMid2[2]; 80b3608: 6fbb ldr r3, [r7, #120] ; 0x78 80b360a: 689b ldr r3, [r3, #8] 80b360c: 613b str r3, [r7, #16] t4[3] = pMid2[3]; 80b360e: 6fbb ldr r3, [r7, #120] ; 0x78 80b3610: 68db ldr r3, [r3, #12] 80b3612: 617b str r3, [r7, #20] *p1++ = t1[0] + t2[0]; 80b3614: 683b ldr r3, [r7, #0] 80b3616: 1d1a adds r2, r3, #4 80b3618: 603a str r2, [r7, #0] 80b361a: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b361e: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b3622: ee77 7a27 vadd.f32 s15, s14, s15 80b3626: edc3 7a00 vstr s15, [r3] *p1++ = t1[1] + t2[1]; 80b362a: 683b ldr r3, [r7, #0] 80b362c: 1d1a adds r2, r3, #4 80b362e: 603a str r2, [r7, #0] 80b3630: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b3634: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 80b3638: ee77 7a27 vadd.f32 s15, s14, s15 80b363c: edc3 7a00 vstr s15, [r3] *p1++ = t1[2] + t2[2]; 80b3640: 683b ldr r3, [r7, #0] 80b3642: 1d1a adds r2, r3, #4 80b3644: 603a str r2, [r7, #0] 80b3646: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b364a: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b364e: ee77 7a27 vadd.f32 s15, s14, s15 80b3652: edc3 7a00 vstr s15, [r3] *p1++ = t1[3] + t2[3]; // col 1 80b3656: 683b ldr r3, [r7, #0] 80b3658: 1d1a adds r2, r3, #4 80b365a: 603a str r2, [r7, #0] 80b365c: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80b3660: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b3664: ee77 7a27 vadd.f32 s15, s14, s15 80b3668: edc3 7a00 vstr s15, [r3] t2[0] = t1[0] - t2[0]; 80b366c: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b3670: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b3674: ee77 7a67 vsub.f32 s15, s14, s15 80b3678: edc7 7a0a vstr s15, [r7, #40] ; 0x28 t2[1] = t1[1] - t2[1]; 80b367c: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b3680: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 80b3684: ee77 7a67 vsub.f32 s15, s14, s15 80b3688: edc7 7a0b vstr s15, [r7, #44] ; 0x2c t2[2] = t1[2] - t2[2]; 80b368c: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b3690: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b3694: ee77 7a67 vsub.f32 s15, s14, s15 80b3698: edc7 7a0c vstr s15, [r7, #48] ; 0x30 t2[3] = t1[3] - t2[3]; // for col 2 80b369c: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80b36a0: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b36a4: ee77 7a67 vsub.f32 s15, s14, s15 80b36a8: edc7 7a0d vstr s15, [r7, #52] ; 0x34 *pMid1++ = t3[0] + t4[0]; 80b36ac: 6ffb ldr r3, [r7, #124] ; 0x7c 80b36ae: 1d1a adds r2, r3, #4 80b36b0: 67fa str r2, [r7, #124] ; 0x7c 80b36b2: ed97 7a06 vldr s14, [r7, #24] 80b36b6: edd7 7a02 vldr s15, [r7, #8] 80b36ba: ee77 7a27 vadd.f32 s15, s14, s15 80b36be: edc3 7a00 vstr s15, [r3] *pMid1++ = t3[1] + t4[1]; 80b36c2: 6ffb ldr r3, [r7, #124] ; 0x7c 80b36c4: 1d1a adds r2, r3, #4 80b36c6: 67fa str r2, [r7, #124] ; 0x7c 80b36c8: ed97 7a07 vldr s14, [r7, #28] 80b36cc: edd7 7a03 vldr s15, [r7, #12] 80b36d0: ee77 7a27 vadd.f32 s15, s14, s15 80b36d4: edc3 7a00 vstr s15, [r3] *pMid1++ = t3[2] + t4[2]; 80b36d8: 6ffb ldr r3, [r7, #124] ; 0x7c 80b36da: 1d1a adds r2, r3, #4 80b36dc: 67fa str r2, [r7, #124] ; 0x7c 80b36de: ed97 7a08 vldr s14, [r7, #32] 80b36e2: edd7 7a04 vldr s15, [r7, #16] 80b36e6: ee77 7a27 vadd.f32 s15, s14, s15 80b36ea: edc3 7a00 vstr s15, [r3] *pMid1++ = t3[3] + t4[3]; // col 1 80b36ee: 6ffb ldr r3, [r7, #124] ; 0x7c 80b36f0: 1d1a adds r2, r3, #4 80b36f2: 67fa str r2, [r7, #124] ; 0x7c 80b36f4: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b36f8: edd7 7a05 vldr s15, [r7, #20] 80b36fc: ee77 7a27 vadd.f32 s15, s14, s15 80b3700: edc3 7a00 vstr s15, [r3] t4[0] = t4[0] - t3[0]; 80b3704: ed97 7a02 vldr s14, [r7, #8] 80b3708: edd7 7a06 vldr s15, [r7, #24] 80b370c: ee77 7a67 vsub.f32 s15, s14, s15 80b3710: edc7 7a02 vstr s15, [r7, #8] t4[1] = t4[1] - t3[1]; 80b3714: ed97 7a03 vldr s14, [r7, #12] 80b3718: edd7 7a07 vldr s15, [r7, #28] 80b371c: ee77 7a67 vsub.f32 s15, s14, s15 80b3720: edc7 7a03 vstr s15, [r7, #12] t4[2] = t4[2] - t3[2]; 80b3724: ed97 7a04 vldr s14, [r7, #16] 80b3728: edd7 7a08 vldr s15, [r7, #32] 80b372c: ee77 7a67 vsub.f32 s15, s14, s15 80b3730: edc7 7a04 vstr s15, [r7, #16] t4[3] = t4[3] - t3[3]; // for col 2 80b3734: ed97 7a05 vldr s14, [r7, #20] 80b3738: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b373c: ee77 7a67 vsub.f32 s15, s14, s15 80b3740: edc7 7a05 vstr s15, [r7, #20] twR = *tw++; 80b3744: 6f3b ldr r3, [r7, #112] ; 0x70 80b3746: 1d1a adds r2, r3, #4 80b3748: 673a str r2, [r7, #112] ; 0x70 80b374a: 681b ldr r3, [r3, #0] 80b374c: 65fb str r3, [r7, #92] ; 0x5c twI = *tw++; 80b374e: 6f3b ldr r3, [r7, #112] ; 0x70 80b3750: 1d1a adds r2, r3, #4 80b3752: 673a str r2, [r7, #112] ; 0x70 80b3754: 681b ldr r3, [r3, #0] 80b3756: 65bb str r3, [r7, #88] ; 0x58 // multiply by twiddle factors m0 = t2[0] * twR; 80b3758: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b375c: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b3760: ee67 7a27 vmul.f32 s15, s14, s15 80b3764: edc7 7a15 vstr s15, [r7, #84] ; 0x54 m1 = t2[1] * twI; 80b3768: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b376c: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b3770: ee67 7a27 vmul.f32 s15, s14, s15 80b3774: edc7 7a14 vstr s15, [r7, #80] ; 0x50 m2 = t2[1] * twR; 80b3778: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b377c: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b3780: ee67 7a27 vmul.f32 s15, s14, s15 80b3784: edc7 7a13 vstr s15, [r7, #76] ; 0x4c m3 = t2[0] * twI; 80b3788: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b378c: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b3790: ee67 7a27 vmul.f32 s15, s14, s15 80b3794: edc7 7a12 vstr s15, [r7, #72] ; 0x48 // R = R * Tr - I * Ti *p2++ = m0 + m1; 80b3798: 6f7b ldr r3, [r7, #116] ; 0x74 80b379a: 1d1a adds r2, r3, #4 80b379c: 677a str r2, [r7, #116] ; 0x74 80b379e: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b37a2: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b37a6: ee77 7a27 vadd.f32 s15, s14, s15 80b37aa: edc3 7a00 vstr s15, [r3] // I = I * Tr + R * Ti *p2++ = m2 - m3; 80b37ae: 6f7b ldr r3, [r7, #116] ; 0x74 80b37b0: 1d1a adds r2, r3, #4 80b37b2: 677a str r2, [r7, #116] ; 0x74 80b37b4: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b37b8: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80b37bc: ee77 7a67 vsub.f32 s15, s14, s15 80b37c0: edc3 7a00 vstr s15, [r3] // use vertical symmetry // 0.9988 - 0.0491i <==> -0.0491 - 0.9988i m0 = t4[0] * twI; 80b37c4: ed97 7a02 vldr s14, [r7, #8] 80b37c8: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b37cc: ee67 7a27 vmul.f32 s15, s14, s15 80b37d0: edc7 7a15 vstr s15, [r7, #84] ; 0x54 m1 = t4[1] * twR; 80b37d4: ed97 7a03 vldr s14, [r7, #12] 80b37d8: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b37dc: ee67 7a27 vmul.f32 s15, s14, s15 80b37e0: edc7 7a14 vstr s15, [r7, #80] ; 0x50 m2 = t4[1] * twI; 80b37e4: ed97 7a03 vldr s14, [r7, #12] 80b37e8: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b37ec: ee67 7a27 vmul.f32 s15, s14, s15 80b37f0: edc7 7a13 vstr s15, [r7, #76] ; 0x4c m3 = t4[0] * twR; 80b37f4: ed97 7a02 vldr s14, [r7, #8] 80b37f8: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b37fc: ee67 7a27 vmul.f32 s15, s14, s15 80b3800: edc7 7a12 vstr s15, [r7, #72] ; 0x48 *pMid2++ = m0 - m1; 80b3804: 6fbb ldr r3, [r7, #120] ; 0x78 80b3806: 1d1a adds r2, r3, #4 80b3808: 67ba str r2, [r7, #120] ; 0x78 80b380a: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b380e: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b3812: ee77 7a67 vsub.f32 s15, s14, s15 80b3816: edc3 7a00 vstr s15, [r3] *pMid2++ = m2 + m3; 80b381a: 6fbb ldr r3, [r7, #120] ; 0x78 80b381c: 1d1a adds r2, r3, #4 80b381e: 67ba str r2, [r7, #120] ; 0x78 80b3820: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b3824: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80b3828: ee77 7a27 vadd.f32 s15, s14, s15 80b382c: edc3 7a00 vstr s15, [r3] twR = *tw++; 80b3830: 6f3b ldr r3, [r7, #112] ; 0x70 80b3832: 1d1a adds r2, r3, #4 80b3834: 673a str r2, [r7, #112] ; 0x70 80b3836: 681b ldr r3, [r3, #0] 80b3838: 65fb str r3, [r7, #92] ; 0x5c twI = *tw++; 80b383a: 6f3b ldr r3, [r7, #112] ; 0x70 80b383c: 1d1a adds r2, r3, #4 80b383e: 673a str r2, [r7, #112] ; 0x70 80b3840: 681b ldr r3, [r3, #0] 80b3842: 65bb str r3, [r7, #88] ; 0x58 m0 = t2[2] * twR; 80b3844: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b3848: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b384c: ee67 7a27 vmul.f32 s15, s14, s15 80b3850: edc7 7a15 vstr s15, [r7, #84] ; 0x54 m1 = t2[3] * twI; 80b3854: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b3858: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b385c: ee67 7a27 vmul.f32 s15, s14, s15 80b3860: edc7 7a14 vstr s15, [r7, #80] ; 0x50 m2 = t2[3] * twR; 80b3864: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b3868: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b386c: ee67 7a27 vmul.f32 s15, s14, s15 80b3870: edc7 7a13 vstr s15, [r7, #76] ; 0x4c m3 = t2[2] * twI; 80b3874: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b3878: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b387c: ee67 7a27 vmul.f32 s15, s14, s15 80b3880: edc7 7a12 vstr s15, [r7, #72] ; 0x48 *p2++ = m0 + m1; 80b3884: 6f7b ldr r3, [r7, #116] ; 0x74 80b3886: 1d1a adds r2, r3, #4 80b3888: 677a str r2, [r7, #116] ; 0x74 80b388a: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b388e: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b3892: ee77 7a27 vadd.f32 s15, s14, s15 80b3896: edc3 7a00 vstr s15, [r3] *p2++ = m2 - m3; 80b389a: 6f7b ldr r3, [r7, #116] ; 0x74 80b389c: 1d1a adds r2, r3, #4 80b389e: 677a str r2, [r7, #116] ; 0x74 80b38a0: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b38a4: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80b38a8: ee77 7a67 vsub.f32 s15, s14, s15 80b38ac: edc3 7a00 vstr s15, [r3] m0 = t4[2] * twI; 80b38b0: ed97 7a04 vldr s14, [r7, #16] 80b38b4: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b38b8: ee67 7a27 vmul.f32 s15, s14, s15 80b38bc: edc7 7a15 vstr s15, [r7, #84] ; 0x54 m1 = t4[3] * twR; 80b38c0: ed97 7a05 vldr s14, [r7, #20] 80b38c4: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b38c8: ee67 7a27 vmul.f32 s15, s14, s15 80b38cc: edc7 7a14 vstr s15, [r7, #80] ; 0x50 m2 = t4[3] * twI; 80b38d0: ed97 7a05 vldr s14, [r7, #20] 80b38d4: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b38d8: ee67 7a27 vmul.f32 s15, s14, s15 80b38dc: edc7 7a13 vstr s15, [r7, #76] ; 0x4c m3 = t4[2] * twR; 80b38e0: ed97 7a04 vldr s14, [r7, #16] 80b38e4: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b38e8: ee67 7a27 vmul.f32 s15, s14, s15 80b38ec: edc7 7a12 vstr s15, [r7, #72] ; 0x48 *pMid2++ = m0 - m1; 80b38f0: 6fbb ldr r3, [r7, #120] ; 0x78 80b38f2: 1d1a adds r2, r3, #4 80b38f4: 67ba str r2, [r7, #120] ; 0x78 80b38f6: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b38fa: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b38fe: ee77 7a67 vsub.f32 s15, s14, s15 80b3902: edc3 7a00 vstr s15, [r3] *pMid2++ = m2 + m3; 80b3906: 6fbb ldr r3, [r7, #120] ; 0x78 80b3908: 1d1a adds r2, r3, #4 80b390a: 67ba str r2, [r7, #120] ; 0x78 80b390c: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b3910: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80b3914: ee77 7a27 vadd.f32 s15, s14, s15 80b3918: edc3 7a00 vstr s15, [r3] for ( l = L >> 2; l > 0; l-- ) 80b391c: 6efb ldr r3, [r7, #108] ; 0x6c 80b391e: 3b01 subs r3, #1 80b3920: 66fb str r3, [r7, #108] ; 0x6c 80b3922: 6efb ldr r3, [r7, #108] ; 0x6c 80b3924: 2b00 cmp r3, #0 80b3926: f47f ae45 bne.w 80b35b4 } // first col arm_radix8_butterfly_f32( pCol1, L, (float32_t *) S->pTwiddle, 2u); 80b392a: 6ebb ldr r3, [r7, #104] ; 0x68 80b392c: b299 uxth r1, r3 80b392e: 687b ldr r3, [r7, #4] 80b3930: 685a ldr r2, [r3, #4] 80b3932: 2302 movs r3, #2 80b3934: 6e78 ldr r0, [r7, #100] ; 0x64 80b3936: f002 fa11 bl 80b5d5c // second col arm_radix8_butterfly_f32( pCol2, L, (float32_t *) S->pTwiddle, 2u); 80b393a: 6ebb ldr r3, [r7, #104] ; 0x68 80b393c: b299 uxth r1, r3 80b393e: 687b ldr r3, [r7, #4] 80b3940: 685a ldr r2, [r3, #4] 80b3942: 2302 movs r3, #2 80b3944: 6e38 ldr r0, [r7, #96] ; 0x60 80b3946: f002 fa09 bl 80b5d5c } 80b394a: bf00 nop 80b394c: 3780 adds r7, #128 ; 0x80 80b394e: 46bd mov sp, r7 80b3950: bd80 pop {r7, pc} 080b3952 : void arm_cfft_radix8by4_f32( arm_cfft_instance_f32 * S, float32_t * p1) { 80b3952: b580 push {r7, lr} 80b3954: b0ac sub sp, #176 ; 0xb0 80b3956: af00 add r7, sp, #0 80b3958: 6078 str r0, [r7, #4] 80b395a: 6039 str r1, [r7, #0] uint32_t L = S->fftLen >> 1; 80b395c: 687b ldr r3, [r7, #4] 80b395e: 881b ldrh r3, [r3, #0] 80b3960: 085b lsrs r3, r3, #1 80b3962: b29b uxth r3, r3 80b3964: 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; 80b3968: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b396c: 009b lsls r3, r3, #2 80b396e: 683a ldr r2, [r7, #0] 80b3970: 4413 add r3, r2 80b3972: f8c7 3090 str.w r3, [r7, #144] ; 0x90 float32_t * p3 = p2 + L; 80b3976: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b397a: 009b lsls r3, r3, #2 80b397c: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80b3980: 4413 add r3, r2 80b3982: f8c7 308c str.w r3, [r7, #140] ; 0x8c float32_t * p4 = p3 + L; 80b3986: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b398a: 009b lsls r3, r3, #2 80b398c: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 80b3990: 4413 add r3, r2 80b3992: 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 80b3996: 683b ldr r3, [r7, #0] 80b3998: 67fb str r3, [r7, #124] ; 0x7c pCol2 = p2; 80b399a: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b399e: 67bb str r3, [r7, #120] ; 0x78 pCol3 = p3; 80b39a0: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b39a4: 677b str r3, [r7, #116] ; 0x74 pCol4 = p4; 80b39a6: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b39aa: 673b str r3, [r7, #112] ; 0x70 pEnd1 = p2 - 1; // points to imaginary values by default 80b39ac: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b39b0: 3b04 subs r3, #4 80b39b2: f8c7 30ac str.w r3, [r7, #172] ; 0xac pEnd2 = p3 - 1; 80b39b6: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b39ba: 3b04 subs r3, #4 80b39bc: f8c7 30a8 str.w r3, [r7, #168] ; 0xa8 pEnd3 = p4 - 1; 80b39c0: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b39c4: 3b04 subs r3, #4 80b39c6: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 pEnd4 = pEnd3 + L; 80b39ca: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b39ce: 009b lsls r3, r3, #2 80b39d0: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 80b39d4: 4413 add r3, r2 80b39d6: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 tw2 = tw3 = tw4 = (float32_t *) S->pTwiddle; 80b39da: 687b ldr r3, [r7, #4] 80b39dc: 685b ldr r3, [r3, #4] 80b39de: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80b39e2: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80b39e6: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80b39ea: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80b39ee: f8c7 309c str.w r3, [r7, #156] ; 0x9c L >>= 1; 80b39f2: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b39f6: 085b lsrs r3, r3, #1 80b39f8: f8c7 3080 str.w r3, [r7, #128] ; 0x80 // do four dot Fourier transform twMod2 = 2; 80b39fc: 2302 movs r3, #2 80b39fe: 66fb str r3, [r7, #108] ; 0x6c twMod3 = 4; 80b3a00: 2304 movs r3, #4 80b3a02: 66bb str r3, [r7, #104] ; 0x68 twMod4 = 6; 80b3a04: 2306 movs r3, #6 80b3a06: 667b str r3, [r7, #100] ; 0x64 // TOP p1ap3_0 = p1[0] + p3[0]; 80b3a08: 683b ldr r3, [r7, #0] 80b3a0a: ed93 7a00 vldr s14, [r3] 80b3a0e: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b3a12: edd3 7a00 vldr s15, [r3] 80b3a16: ee77 7a27 vadd.f32 s15, s14, s15 80b3a1a: edc7 7a18 vstr s15, [r7, #96] ; 0x60 p1sp3_0 = p1[0] - p3[0]; 80b3a1e: 683b ldr r3, [r7, #0] 80b3a20: ed93 7a00 vldr s14, [r3] 80b3a24: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b3a28: edd3 7a00 vldr s15, [r3] 80b3a2c: ee77 7a67 vsub.f32 s15, s14, s15 80b3a30: edc7 7a17 vstr s15, [r7, #92] ; 0x5c p1ap3_1 = p1[1] + p3[1]; 80b3a34: 683b ldr r3, [r7, #0] 80b3a36: 3304 adds r3, #4 80b3a38: ed93 7a00 vldr s14, [r3] 80b3a3c: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b3a40: 3304 adds r3, #4 80b3a42: edd3 7a00 vldr s15, [r3] 80b3a46: ee77 7a27 vadd.f32 s15, s14, s15 80b3a4a: edc7 7a16 vstr s15, [r7, #88] ; 0x58 p1sp3_1 = p1[1] - p3[1]; 80b3a4e: 683b ldr r3, [r7, #0] 80b3a50: 3304 adds r3, #4 80b3a52: ed93 7a00 vldr s14, [r3] 80b3a56: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b3a5a: 3304 adds r3, #4 80b3a5c: edd3 7a00 vldr s15, [r3] 80b3a60: ee77 7a67 vsub.f32 s15, s14, s15 80b3a64: edc7 7a15 vstr s15, [r7, #84] ; 0x54 // col 2 t2[0] = p1sp3_0 + p2[1] - p4[1]; 80b3a68: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3a6c: 3304 adds r3, #4 80b3a6e: ed93 7a00 vldr s14, [r3] 80b3a72: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b3a76: ee37 7a27 vadd.f32 s14, s14, s15 80b3a7a: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3a7e: 3304 adds r3, #4 80b3a80: edd3 7a00 vldr s15, [r3] 80b3a84: ee77 7a67 vsub.f32 s15, s14, s15 80b3a88: edc7 7a0b vstr s15, [r7, #44] ; 0x2c t2[1] = p1sp3_1 - p2[0] + p4[0]; 80b3a8c: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3a90: edd3 7a00 vldr s15, [r3] 80b3a94: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b3a98: ee37 7a67 vsub.f32 s14, s14, s15 80b3a9c: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3aa0: edd3 7a00 vldr s15, [r3] 80b3aa4: ee77 7a27 vadd.f32 s15, s14, s15 80b3aa8: edc7 7a0c vstr s15, [r7, #48] ; 0x30 // col 3 t3[0] = p1ap3_0 - p2[0] - p4[0]; 80b3aac: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3ab0: edd3 7a00 vldr s15, [r3] 80b3ab4: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b3ab8: ee37 7a67 vsub.f32 s14, s14, s15 80b3abc: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3ac0: edd3 7a00 vldr s15, [r3] 80b3ac4: ee77 7a67 vsub.f32 s15, s14, s15 80b3ac8: edc7 7a07 vstr s15, [r7, #28] t3[1] = p1ap3_1 - p2[1] - p4[1]; 80b3acc: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3ad0: 3304 adds r3, #4 80b3ad2: edd3 7a00 vldr s15, [r3] 80b3ad6: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b3ada: ee37 7a67 vsub.f32 s14, s14, s15 80b3ade: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3ae2: 3304 adds r3, #4 80b3ae4: edd3 7a00 vldr s15, [r3] 80b3ae8: ee77 7a67 vsub.f32 s15, s14, s15 80b3aec: edc7 7a08 vstr s15, [r7, #32] // col 4 t4[0] = p1sp3_0 - p2[1] + p4[1]; 80b3af0: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3af4: 3304 adds r3, #4 80b3af6: edd3 7a00 vldr s15, [r3] 80b3afa: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b3afe: ee37 7a67 vsub.f32 s14, s14, s15 80b3b02: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3b06: 3304 adds r3, #4 80b3b08: edd3 7a00 vldr s15, [r3] 80b3b0c: ee77 7a27 vadd.f32 s15, s14, s15 80b3b10: edc7 7a03 vstr s15, [r7, #12] t4[1] = p1sp3_1 + p2[0] - p4[0]; 80b3b14: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3b18: ed93 7a00 vldr s14, [r3] 80b3b1c: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80b3b20: ee37 7a27 vadd.f32 s14, s14, s15 80b3b24: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3b28: edd3 7a00 vldr s15, [r3] 80b3b2c: ee77 7a67 vsub.f32 s15, s14, s15 80b3b30: edc7 7a04 vstr s15, [r7, #16] // col 1 *p1++ = p1ap3_0 + p2[0] + p4[0]; 80b3b34: 683b ldr r3, [r7, #0] 80b3b36: 1d1a adds r2, r3, #4 80b3b38: 603a str r2, [r7, #0] 80b3b3a: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80b3b3e: ed92 7a00 vldr s14, [r2] 80b3b42: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b3b46: ee37 7a27 vadd.f32 s14, s14, s15 80b3b4a: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80b3b4e: edd2 7a00 vldr s15, [r2] 80b3b52: ee77 7a27 vadd.f32 s15, s14, s15 80b3b56: edc3 7a00 vstr s15, [r3] *p1++ = p1ap3_1 + p2[1] + p4[1]; 80b3b5a: 683b ldr r3, [r7, #0] 80b3b5c: 1d1a adds r2, r3, #4 80b3b5e: 603a str r2, [r7, #0] 80b3b60: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80b3b64: 3204 adds r2, #4 80b3b66: ed92 7a00 vldr s14, [r2] 80b3b6a: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b3b6e: ee37 7a27 vadd.f32 s14, s14, s15 80b3b72: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80b3b76: 3204 adds r2, #4 80b3b78: edd2 7a00 vldr s15, [r2] 80b3b7c: ee77 7a27 vadd.f32 s15, s14, s15 80b3b80: edc3 7a00 vstr s15, [r3] // Twiddle factors are ones *p2++ = t2[0]; 80b3b84: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3b88: 1d1a adds r2, r3, #4 80b3b8a: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80b3b8e: 6afa ldr r2, [r7, #44] ; 0x2c 80b3b90: 601a str r2, [r3, #0] *p2++ = t2[1]; 80b3b92: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3b96: 1d1a adds r2, r3, #4 80b3b98: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80b3b9c: 6b3a ldr r2, [r7, #48] ; 0x30 80b3b9e: 601a str r2, [r3, #0] *p3++ = t3[0]; 80b3ba0: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b3ba4: 1d1a adds r2, r3, #4 80b3ba6: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80b3baa: 69fa ldr r2, [r7, #28] 80b3bac: 601a str r2, [r3, #0] *p3++ = t3[1]; 80b3bae: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b3bb2: 1d1a adds r2, r3, #4 80b3bb4: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80b3bb8: 6a3a ldr r2, [r7, #32] 80b3bba: 601a str r2, [r3, #0] *p4++ = t4[0]; 80b3bbc: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3bc0: 1d1a adds r2, r3, #4 80b3bc2: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80b3bc6: 68fa ldr r2, [r7, #12] 80b3bc8: 601a str r2, [r3, #0] *p4++ = t4[1]; 80b3bca: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3bce: 1d1a adds r2, r3, #4 80b3bd0: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80b3bd4: 693a ldr r2, [r7, #16] 80b3bd6: 601a str r2, [r3, #0] tw2 += twMod2; 80b3bd8: 6efb ldr r3, [r7, #108] ; 0x6c 80b3bda: 009b lsls r3, r3, #2 80b3bdc: f8d7 209c ldr.w r2, [r7, #156] ; 0x9c 80b3be0: 4413 add r3, r2 80b3be2: f8c7 309c str.w r3, [r7, #156] ; 0x9c tw3 += twMod3; 80b3be6: 6ebb ldr r3, [r7, #104] ; 0x68 80b3be8: 009b lsls r3, r3, #2 80b3bea: f8d7 2098 ldr.w r2, [r7, #152] ; 0x98 80b3bee: 4413 add r3, r2 80b3bf0: f8c7 3098 str.w r3, [r7, #152] ; 0x98 tw4 += twMod4; 80b3bf4: 6e7b ldr r3, [r7, #100] ; 0x64 80b3bf6: 009b lsls r3, r3, #2 80b3bf8: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80b3bfc: 4413 add r3, r2 80b3bfe: f8c7 3094 str.w r3, [r7, #148] ; 0x94 for (l = (L - 2) >> 1; l > 0; l-- ) 80b3c02: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b3c06: 3b02 subs r3, #2 80b3c08: 085b lsrs r3, r3, #1 80b3c0a: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80b3c0e: e31a b.n 80b4246 { // TOP p1ap3_0 = p1[0] + p3[0]; 80b3c10: 683b ldr r3, [r7, #0] 80b3c12: ed93 7a00 vldr s14, [r3] 80b3c16: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b3c1a: edd3 7a00 vldr s15, [r3] 80b3c1e: ee77 7a27 vadd.f32 s15, s14, s15 80b3c22: edc7 7a18 vstr s15, [r7, #96] ; 0x60 p1sp3_0 = p1[0] - p3[0]; 80b3c26: 683b ldr r3, [r7, #0] 80b3c28: ed93 7a00 vldr s14, [r3] 80b3c2c: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b3c30: edd3 7a00 vldr s15, [r3] 80b3c34: ee77 7a67 vsub.f32 s15, s14, s15 80b3c38: edc7 7a17 vstr s15, [r7, #92] ; 0x5c p1ap3_1 = p1[1] + p3[1]; 80b3c3c: 683b ldr r3, [r7, #0] 80b3c3e: 3304 adds r3, #4 80b3c40: ed93 7a00 vldr s14, [r3] 80b3c44: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b3c48: 3304 adds r3, #4 80b3c4a: edd3 7a00 vldr s15, [r3] 80b3c4e: ee77 7a27 vadd.f32 s15, s14, s15 80b3c52: edc7 7a16 vstr s15, [r7, #88] ; 0x58 p1sp3_1 = p1[1] - p3[1]; 80b3c56: 683b ldr r3, [r7, #0] 80b3c58: 3304 adds r3, #4 80b3c5a: ed93 7a00 vldr s14, [r3] 80b3c5e: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b3c62: 3304 adds r3, #4 80b3c64: edd3 7a00 vldr s15, [r3] 80b3c68: ee77 7a67 vsub.f32 s15, s14, s15 80b3c6c: edc7 7a15 vstr s15, [r7, #84] ; 0x54 // col 2 t2[0] = p1sp3_0 + p2[1] - p4[1]; 80b3c70: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3c74: 3304 adds r3, #4 80b3c76: ed93 7a00 vldr s14, [r3] 80b3c7a: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b3c7e: ee37 7a27 vadd.f32 s14, s14, s15 80b3c82: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3c86: 3304 adds r3, #4 80b3c88: edd3 7a00 vldr s15, [r3] 80b3c8c: ee77 7a67 vsub.f32 s15, s14, s15 80b3c90: edc7 7a0b vstr s15, [r7, #44] ; 0x2c t2[1] = p1sp3_1 - p2[0] + p4[0]; 80b3c94: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3c98: edd3 7a00 vldr s15, [r3] 80b3c9c: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b3ca0: ee37 7a67 vsub.f32 s14, s14, s15 80b3ca4: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3ca8: edd3 7a00 vldr s15, [r3] 80b3cac: ee77 7a27 vadd.f32 s15, s14, s15 80b3cb0: edc7 7a0c vstr s15, [r7, #48] ; 0x30 // col 3 t3[0] = p1ap3_0 - p2[0] - p4[0]; 80b3cb4: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3cb8: edd3 7a00 vldr s15, [r3] 80b3cbc: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b3cc0: ee37 7a67 vsub.f32 s14, s14, s15 80b3cc4: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3cc8: edd3 7a00 vldr s15, [r3] 80b3ccc: ee77 7a67 vsub.f32 s15, s14, s15 80b3cd0: edc7 7a07 vstr s15, [r7, #28] t3[1] = p1ap3_1 - p2[1] - p4[1]; 80b3cd4: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3cd8: 3304 adds r3, #4 80b3cda: edd3 7a00 vldr s15, [r3] 80b3cde: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b3ce2: ee37 7a67 vsub.f32 s14, s14, s15 80b3ce6: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3cea: 3304 adds r3, #4 80b3cec: edd3 7a00 vldr s15, [r3] 80b3cf0: ee77 7a67 vsub.f32 s15, s14, s15 80b3cf4: edc7 7a08 vstr s15, [r7, #32] // col 4 t4[0] = p1sp3_0 - p2[1] + p4[1]; 80b3cf8: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3cfc: 3304 adds r3, #4 80b3cfe: edd3 7a00 vldr s15, [r3] 80b3d02: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b3d06: ee37 7a67 vsub.f32 s14, s14, s15 80b3d0a: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3d0e: 3304 adds r3, #4 80b3d10: edd3 7a00 vldr s15, [r3] 80b3d14: ee77 7a27 vadd.f32 s15, s14, s15 80b3d18: edc7 7a03 vstr s15, [r7, #12] t4[1] = p1sp3_1 + p2[0] - p4[0]; 80b3d1c: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3d20: ed93 7a00 vldr s14, [r3] 80b3d24: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80b3d28: ee37 7a27 vadd.f32 s14, s14, s15 80b3d2c: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3d30: edd3 7a00 vldr s15, [r3] 80b3d34: ee77 7a67 vsub.f32 s15, s14, s15 80b3d38: edc7 7a04 vstr s15, [r7, #16] // col 1 - top *p1++ = p1ap3_0 + p2[0] + p4[0]; 80b3d3c: 683b ldr r3, [r7, #0] 80b3d3e: 1d1a adds r2, r3, #4 80b3d40: 603a str r2, [r7, #0] 80b3d42: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80b3d46: ed92 7a00 vldr s14, [r2] 80b3d4a: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b3d4e: ee37 7a27 vadd.f32 s14, s14, s15 80b3d52: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80b3d56: edd2 7a00 vldr s15, [r2] 80b3d5a: ee77 7a27 vadd.f32 s15, s14, s15 80b3d5e: edc3 7a00 vstr s15, [r3] *p1++ = p1ap3_1 + p2[1] + p4[1]; 80b3d62: 683b ldr r3, [r7, #0] 80b3d64: 1d1a adds r2, r3, #4 80b3d66: 603a str r2, [r7, #0] 80b3d68: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80b3d6c: 3204 adds r2, #4 80b3d6e: ed92 7a00 vldr s14, [r2] 80b3d72: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b3d76: ee37 7a27 vadd.f32 s14, s14, s15 80b3d7a: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80b3d7e: 3204 adds r2, #4 80b3d80: edd2 7a00 vldr s15, [r2] 80b3d84: ee77 7a27 vadd.f32 s15, s14, s15 80b3d88: edc3 7a00 vstr s15, [r3] // BOTTOM p1ap3_1 = pEnd1[-1] + pEnd3[-1]; 80b3d8c: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b3d90: 3b04 subs r3, #4 80b3d92: ed93 7a00 vldr s14, [r3] 80b3d96: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b3d9a: 3b04 subs r3, #4 80b3d9c: edd3 7a00 vldr s15, [r3] 80b3da0: ee77 7a27 vadd.f32 s15, s14, s15 80b3da4: edc7 7a16 vstr s15, [r7, #88] ; 0x58 p1sp3_1 = pEnd1[-1] - pEnd3[-1]; 80b3da8: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b3dac: 3b04 subs r3, #4 80b3dae: ed93 7a00 vldr s14, [r3] 80b3db2: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b3db6: 3b04 subs r3, #4 80b3db8: edd3 7a00 vldr s15, [r3] 80b3dbc: ee77 7a67 vsub.f32 s15, s14, s15 80b3dc0: edc7 7a15 vstr s15, [r7, #84] ; 0x54 p1ap3_0 = pEnd1[0] + pEnd3[0]; 80b3dc4: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b3dc8: ed93 7a00 vldr s14, [r3] 80b3dcc: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b3dd0: edd3 7a00 vldr s15, [r3] 80b3dd4: ee77 7a27 vadd.f32 s15, s14, s15 80b3dd8: edc7 7a18 vstr s15, [r7, #96] ; 0x60 p1sp3_0 = pEnd1[0] - pEnd3[0]; 80b3ddc: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b3de0: ed93 7a00 vldr s14, [r3] 80b3de4: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b3de8: edd3 7a00 vldr s15, [r3] 80b3dec: ee77 7a67 vsub.f32 s15, s14, s15 80b3df0: edc7 7a17 vstr s15, [r7, #92] ; 0x5c // col 2 t2[2] = pEnd2[0] - pEnd4[0] + p1sp3_1; 80b3df4: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80b3df8: ed93 7a00 vldr s14, [r3] 80b3dfc: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80b3e00: edd3 7a00 vldr s15, [r3] 80b3e04: ee37 7a67 vsub.f32 s14, s14, s15 80b3e08: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80b3e0c: ee77 7a27 vadd.f32 s15, s14, s15 80b3e10: edc7 7a0d vstr s15, [r7, #52] ; 0x34 t2[3] = pEnd1[0] - pEnd3[0] - pEnd2[-1] + pEnd4[-1]; 80b3e14: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b3e18: ed93 7a00 vldr s14, [r3] 80b3e1c: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b3e20: edd3 7a00 vldr s15, [r3] 80b3e24: ee37 7a67 vsub.f32 s14, s14, s15 80b3e28: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80b3e2c: 3b04 subs r3, #4 80b3e2e: edd3 7a00 vldr s15, [r3] 80b3e32: ee37 7a67 vsub.f32 s14, s14, s15 80b3e36: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80b3e3a: 3b04 subs r3, #4 80b3e3c: edd3 7a00 vldr s15, [r3] 80b3e40: ee77 7a27 vadd.f32 s15, s14, s15 80b3e44: edc7 7a0e vstr s15, [r7, #56] ; 0x38 // col 3 t3[2] = p1ap3_1 - pEnd2[-1] - pEnd4[-1]; 80b3e48: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80b3e4c: 3b04 subs r3, #4 80b3e4e: edd3 7a00 vldr s15, [r3] 80b3e52: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b3e56: ee37 7a67 vsub.f32 s14, s14, s15 80b3e5a: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80b3e5e: 3b04 subs r3, #4 80b3e60: edd3 7a00 vldr s15, [r3] 80b3e64: ee77 7a67 vsub.f32 s15, s14, s15 80b3e68: edc7 7a09 vstr s15, [r7, #36] ; 0x24 t3[3] = p1ap3_0 - pEnd2[0] - pEnd4[0]; 80b3e6c: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80b3e70: edd3 7a00 vldr s15, [r3] 80b3e74: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b3e78: ee37 7a67 vsub.f32 s14, s14, s15 80b3e7c: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80b3e80: edd3 7a00 vldr s15, [r3] 80b3e84: ee77 7a67 vsub.f32 s15, s14, s15 80b3e88: edc7 7a0a vstr s15, [r7, #40] ; 0x28 // col 4 t4[2] = pEnd2[0] - pEnd4[0] - p1sp3_1; 80b3e8c: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80b3e90: ed93 7a00 vldr s14, [r3] 80b3e94: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80b3e98: edd3 7a00 vldr s15, [r3] 80b3e9c: ee37 7a67 vsub.f32 s14, s14, s15 80b3ea0: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80b3ea4: ee77 7a67 vsub.f32 s15, s14, s15 80b3ea8: edc7 7a05 vstr s15, [r7, #20] t4[3] = pEnd4[-1] - pEnd2[-1] - p1sp3_0; 80b3eac: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80b3eb0: 3b04 subs r3, #4 80b3eb2: ed93 7a00 vldr s14, [r3] 80b3eb6: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80b3eba: 3b04 subs r3, #4 80b3ebc: edd3 7a00 vldr s15, [r3] 80b3ec0: ee37 7a67 vsub.f32 s14, s14, s15 80b3ec4: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b3ec8: ee77 7a67 vsub.f32 s15, s14, s15 80b3ecc: edc7 7a06 vstr s15, [r7, #24] // col 1 - Bottom *pEnd1-- = p1ap3_0 + pEnd2[0] + pEnd4[0]; 80b3ed0: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b3ed4: 1f1a subs r2, r3, #4 80b3ed6: f8c7 20ac str.w r2, [r7, #172] ; 0xac 80b3eda: f8d7 20a8 ldr.w r2, [r7, #168] ; 0xa8 80b3ede: ed92 7a00 vldr s14, [r2] 80b3ee2: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b3ee6: ee37 7a27 vadd.f32 s14, s14, s15 80b3eea: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 80b3eee: edd2 7a00 vldr s15, [r2] 80b3ef2: ee77 7a27 vadd.f32 s15, s14, s15 80b3ef6: edc3 7a00 vstr s15, [r3] *pEnd1-- = p1ap3_1 + pEnd2[-1] + pEnd4[-1]; 80b3efa: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b3efe: 1f1a subs r2, r3, #4 80b3f00: f8c7 20ac str.w r2, [r7, #172] ; 0xac 80b3f04: f8d7 20a8 ldr.w r2, [r7, #168] ; 0xa8 80b3f08: 3a04 subs r2, #4 80b3f0a: ed92 7a00 vldr s14, [r2] 80b3f0e: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b3f12: ee37 7a27 vadd.f32 s14, s14, s15 80b3f16: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 80b3f1a: 3a04 subs r2, #4 80b3f1c: edd2 7a00 vldr s15, [r2] 80b3f20: ee77 7a27 vadd.f32 s15, s14, s15 80b3f24: edc3 7a00 vstr s15, [r3] // COL 2 // read twiddle factors twR = *tw2++; 80b3f28: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80b3f2c: 1d1a adds r2, r3, #4 80b3f2e: f8c7 209c str.w r2, [r7, #156] ; 0x9c 80b3f32: 681b ldr r3, [r3, #0] 80b3f34: 653b str r3, [r7, #80] ; 0x50 twI = *tw2++; 80b3f36: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80b3f3a: 1d1a adds r2, r3, #4 80b3f3c: f8c7 209c str.w r2, [r7, #156] ; 0x9c 80b3f40: 681b ldr r3, [r3, #0] 80b3f42: 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; 80b3f44: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b3f48: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b3f4c: ee67 7a27 vmul.f32 s15, s14, s15 80b3f50: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t2[1] * twI; 80b3f54: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b3f58: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b3f5c: ee67 7a27 vmul.f32 s15, s14, s15 80b3f60: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t2[1] * twR; 80b3f64: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b3f68: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b3f6c: ee67 7a27 vmul.f32 s15, s14, s15 80b3f70: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t2[0] * twI; 80b3f74: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b3f78: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b3f7c: ee67 7a27 vmul.f32 s15, s14, s15 80b3f80: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p2++ = m0 + m1; 80b3f84: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3f88: 1d1a adds r2, r3, #4 80b3f8a: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80b3f8e: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b3f92: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b3f96: ee77 7a27 vadd.f32 s15, s14, s15 80b3f9a: edc3 7a00 vstr s15, [r3] *p2++ = m2 - m3; 80b3f9e: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3fa2: 1d1a adds r2, r3, #4 80b3fa4: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80b3fa8: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b3fac: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b3fb0: ee77 7a67 vsub.f32 s15, s14, s15 80b3fb4: edc3 7a00 vstr s15, [r3] // use vertical symmetry col 2 // 0.9997 - 0.0245i <==> 0.0245 - 0.9997i // Bottom m0 = t2[3] * twI; 80b3fb8: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b3fbc: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b3fc0: ee67 7a27 vmul.f32 s15, s14, s15 80b3fc4: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t2[2] * twR; 80b3fc8: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b3fcc: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b3fd0: ee67 7a27 vmul.f32 s15, s14, s15 80b3fd4: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t2[2] * twI; 80b3fd8: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b3fdc: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b3fe0: ee67 7a27 vmul.f32 s15, s14, s15 80b3fe4: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t2[3] * twR; 80b3fe8: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b3fec: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b3ff0: ee67 7a27 vmul.f32 s15, s14, s15 80b3ff4: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *pEnd2-- = m0 - m1; 80b3ff8: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80b3ffc: 1f1a subs r2, r3, #4 80b3ffe: f8c7 20a8 str.w r2, [r7, #168] ; 0xa8 80b4002: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b4006: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b400a: ee77 7a67 vsub.f32 s15, s14, s15 80b400e: edc3 7a00 vstr s15, [r3] *pEnd2-- = m2 + m3; 80b4012: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80b4016: 1f1a subs r2, r3, #4 80b4018: f8c7 20a8 str.w r2, [r7, #168] ; 0xa8 80b401c: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b4020: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b4024: ee77 7a27 vadd.f32 s15, s14, s15 80b4028: edc3 7a00 vstr s15, [r3] // COL 3 twR = tw3[0]; 80b402c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80b4030: 681b ldr r3, [r3, #0] 80b4032: 653b str r3, [r7, #80] ; 0x50 twI = tw3[1]; 80b4034: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80b4038: 685b ldr r3, [r3, #4] 80b403a: 64fb str r3, [r7, #76] ; 0x4c tw3 += twMod3; 80b403c: 6ebb ldr r3, [r7, #104] ; 0x68 80b403e: 009b lsls r3, r3, #2 80b4040: f8d7 2098 ldr.w r2, [r7, #152] ; 0x98 80b4044: 4413 add r3, r2 80b4046: f8c7 3098 str.w r3, [r7, #152] ; 0x98 // Top m0 = t3[0] * twR; 80b404a: ed97 7a07 vldr s14, [r7, #28] 80b404e: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b4052: ee67 7a27 vmul.f32 s15, s14, s15 80b4056: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t3[1] * twI; 80b405a: ed97 7a08 vldr s14, [r7, #32] 80b405e: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b4062: ee67 7a27 vmul.f32 s15, s14, s15 80b4066: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t3[1] * twR; 80b406a: ed97 7a08 vldr s14, [r7, #32] 80b406e: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b4072: ee67 7a27 vmul.f32 s15, s14, s15 80b4076: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t3[0] * twI; 80b407a: ed97 7a07 vldr s14, [r7, #28] 80b407e: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b4082: ee67 7a27 vmul.f32 s15, s14, s15 80b4086: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p3++ = m0 + m1; 80b408a: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b408e: 1d1a adds r2, r3, #4 80b4090: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80b4094: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b4098: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b409c: ee77 7a27 vadd.f32 s15, s14, s15 80b40a0: edc3 7a00 vstr s15, [r3] *p3++ = m2 - m3; 80b40a4: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b40a8: 1d1a adds r2, r3, #4 80b40aa: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80b40ae: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b40b2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b40b6: ee77 7a67 vsub.f32 s15, s14, s15 80b40ba: edc3 7a00 vstr s15, [r3] // use vertical symmetry col 3 // 0.9988 - 0.0491i <==> -0.9988 - 0.0491i // Bottom m0 = -t3[3] * twR; 80b40be: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b40c2: eeb1 7a67 vneg.f32 s14, s15 80b40c6: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b40ca: ee67 7a27 vmul.f32 s15, s14, s15 80b40ce: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t3[2] * twI; 80b40d2: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b40d6: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b40da: ee67 7a27 vmul.f32 s15, s14, s15 80b40de: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t3[2] * twR; 80b40e2: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b40e6: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b40ea: ee67 7a27 vmul.f32 s15, s14, s15 80b40ee: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t3[3] * twI; 80b40f2: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b40f6: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b40fa: ee67 7a27 vmul.f32 s15, s14, s15 80b40fe: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *pEnd3-- = m0 - m1; 80b4102: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b4106: 1f1a subs r2, r3, #4 80b4108: f8c7 20a4 str.w r2, [r7, #164] ; 0xa4 80b410c: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b4110: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b4114: ee77 7a67 vsub.f32 s15, s14, s15 80b4118: edc3 7a00 vstr s15, [r3] *pEnd3-- = m3 - m2; 80b411c: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b4120: 1f1a subs r2, r3, #4 80b4122: f8c7 20a4 str.w r2, [r7, #164] ; 0xa4 80b4126: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b412a: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80b412e: ee77 7a67 vsub.f32 s15, s14, s15 80b4132: edc3 7a00 vstr s15, [r3] // COL 4 twR = tw4[0]; 80b4136: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80b413a: 681b ldr r3, [r3, #0] 80b413c: 653b str r3, [r7, #80] ; 0x50 twI = tw4[1]; 80b413e: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80b4142: 685b ldr r3, [r3, #4] 80b4144: 64fb str r3, [r7, #76] ; 0x4c tw4 += twMod4; 80b4146: 6e7b ldr r3, [r7, #100] ; 0x64 80b4148: 009b lsls r3, r3, #2 80b414a: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80b414e: 4413 add r3, r2 80b4150: f8c7 3094 str.w r3, [r7, #148] ; 0x94 // Top m0 = t4[0] * twR; 80b4154: ed97 7a03 vldr s14, [r7, #12] 80b4158: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b415c: ee67 7a27 vmul.f32 s15, s14, s15 80b4160: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t4[1] * twI; 80b4164: ed97 7a04 vldr s14, [r7, #16] 80b4168: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b416c: ee67 7a27 vmul.f32 s15, s14, s15 80b4170: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t4[1] * twR; 80b4174: ed97 7a04 vldr s14, [r7, #16] 80b4178: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b417c: ee67 7a27 vmul.f32 s15, s14, s15 80b4180: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t4[0] * twI; 80b4184: ed97 7a03 vldr s14, [r7, #12] 80b4188: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b418c: ee67 7a27 vmul.f32 s15, s14, s15 80b4190: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p4++ = m0 + m1; 80b4194: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b4198: 1d1a adds r2, r3, #4 80b419a: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80b419e: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b41a2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b41a6: ee77 7a27 vadd.f32 s15, s14, s15 80b41aa: edc3 7a00 vstr s15, [r3] *p4++ = m2 - m3; 80b41ae: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b41b2: 1d1a adds r2, r3, #4 80b41b4: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80b41b8: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b41bc: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b41c0: ee77 7a67 vsub.f32 s15, s14, s15 80b41c4: edc3 7a00 vstr s15, [r3] // use vertical symmetry col 4 // 0.9973 - 0.0736i <==> -0.0736 + 0.9973i // Bottom m0 = t4[3] * twI; 80b41c8: ed97 7a06 vldr s14, [r7, #24] 80b41cc: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b41d0: ee67 7a27 vmul.f32 s15, s14, s15 80b41d4: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t4[2] * twR; 80b41d8: ed97 7a05 vldr s14, [r7, #20] 80b41dc: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b41e0: ee67 7a27 vmul.f32 s15, s14, s15 80b41e4: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t4[2] * twI; 80b41e8: ed97 7a05 vldr s14, [r7, #20] 80b41ec: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b41f0: ee67 7a27 vmul.f32 s15, s14, s15 80b41f4: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t4[3] * twR; 80b41f8: ed97 7a06 vldr s14, [r7, #24] 80b41fc: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b4200: ee67 7a27 vmul.f32 s15, s14, s15 80b4204: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *pEnd4-- = m0 - m1; 80b4208: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80b420c: 1f1a subs r2, r3, #4 80b420e: f8c7 20a0 str.w r2, [r7, #160] ; 0xa0 80b4212: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b4216: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b421a: ee77 7a67 vsub.f32 s15, s14, s15 80b421e: edc3 7a00 vstr s15, [r3] *pEnd4-- = m2 + m3; 80b4222: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80b4226: 1f1a subs r2, r3, #4 80b4228: f8c7 20a0 str.w r2, [r7, #160] ; 0xa0 80b422c: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b4230: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b4234: ee77 7a27 vadd.f32 s15, s14, s15 80b4238: edc3 7a00 vstr s15, [r3] for (l = (L - 2) >> 1; l > 0; l-- ) 80b423c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80b4240: 3b01 subs r3, #1 80b4242: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80b4246: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80b424a: 2b00 cmp r3, #0 80b424c: f47f ace0 bne.w 80b3c10 } //MIDDLE // Twiddle factors are // 1.0000 0.7071-0.7071i -1.0000i -0.7071-0.7071i p1ap3_0 = p1[0] + p3[0]; 80b4250: 683b ldr r3, [r7, #0] 80b4252: ed93 7a00 vldr s14, [r3] 80b4256: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b425a: edd3 7a00 vldr s15, [r3] 80b425e: ee77 7a27 vadd.f32 s15, s14, s15 80b4262: edc7 7a18 vstr s15, [r7, #96] ; 0x60 p1sp3_0 = p1[0] - p3[0]; 80b4266: 683b ldr r3, [r7, #0] 80b4268: ed93 7a00 vldr s14, [r3] 80b426c: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b4270: edd3 7a00 vldr s15, [r3] 80b4274: ee77 7a67 vsub.f32 s15, s14, s15 80b4278: edc7 7a17 vstr s15, [r7, #92] ; 0x5c p1ap3_1 = p1[1] + p3[1]; 80b427c: 683b ldr r3, [r7, #0] 80b427e: 3304 adds r3, #4 80b4280: ed93 7a00 vldr s14, [r3] 80b4284: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b4288: 3304 adds r3, #4 80b428a: edd3 7a00 vldr s15, [r3] 80b428e: ee77 7a27 vadd.f32 s15, s14, s15 80b4292: edc7 7a16 vstr s15, [r7, #88] ; 0x58 p1sp3_1 = p1[1] - p3[1]; 80b4296: 683b ldr r3, [r7, #0] 80b4298: 3304 adds r3, #4 80b429a: ed93 7a00 vldr s14, [r3] 80b429e: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b42a2: 3304 adds r3, #4 80b42a4: edd3 7a00 vldr s15, [r3] 80b42a8: ee77 7a67 vsub.f32 s15, s14, s15 80b42ac: edc7 7a15 vstr s15, [r7, #84] ; 0x54 // col 2 t2[0] = p1sp3_0 + p2[1] - p4[1]; 80b42b0: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b42b4: 3304 adds r3, #4 80b42b6: ed93 7a00 vldr s14, [r3] 80b42ba: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b42be: ee37 7a27 vadd.f32 s14, s14, s15 80b42c2: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b42c6: 3304 adds r3, #4 80b42c8: edd3 7a00 vldr s15, [r3] 80b42cc: ee77 7a67 vsub.f32 s15, s14, s15 80b42d0: edc7 7a0b vstr s15, [r7, #44] ; 0x2c t2[1] = p1sp3_1 - p2[0] + p4[0]; 80b42d4: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b42d8: edd3 7a00 vldr s15, [r3] 80b42dc: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b42e0: ee37 7a67 vsub.f32 s14, s14, s15 80b42e4: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b42e8: edd3 7a00 vldr s15, [r3] 80b42ec: ee77 7a27 vadd.f32 s15, s14, s15 80b42f0: edc7 7a0c vstr s15, [r7, #48] ; 0x30 // col 3 t3[0] = p1ap3_0 - p2[0] - p4[0]; 80b42f4: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b42f8: edd3 7a00 vldr s15, [r3] 80b42fc: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b4300: ee37 7a67 vsub.f32 s14, s14, s15 80b4304: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b4308: edd3 7a00 vldr s15, [r3] 80b430c: ee77 7a67 vsub.f32 s15, s14, s15 80b4310: edc7 7a07 vstr s15, [r7, #28] t3[1] = p1ap3_1 - p2[1] - p4[1]; 80b4314: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b4318: 3304 adds r3, #4 80b431a: edd3 7a00 vldr s15, [r3] 80b431e: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b4322: ee37 7a67 vsub.f32 s14, s14, s15 80b4326: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b432a: 3304 adds r3, #4 80b432c: edd3 7a00 vldr s15, [r3] 80b4330: ee77 7a67 vsub.f32 s15, s14, s15 80b4334: edc7 7a08 vstr s15, [r7, #32] // col 4 t4[0] = p1sp3_0 - p2[1] + p4[1]; 80b4338: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b433c: 3304 adds r3, #4 80b433e: edd3 7a00 vldr s15, [r3] 80b4342: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b4346: ee37 7a67 vsub.f32 s14, s14, s15 80b434a: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b434e: 3304 adds r3, #4 80b4350: edd3 7a00 vldr s15, [r3] 80b4354: ee77 7a27 vadd.f32 s15, s14, s15 80b4358: edc7 7a03 vstr s15, [r7, #12] t4[1] = p1sp3_1 + p2[0] - p4[0]; 80b435c: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b4360: ed93 7a00 vldr s14, [r3] 80b4364: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80b4368: ee37 7a27 vadd.f32 s14, s14, s15 80b436c: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b4370: edd3 7a00 vldr s15, [r3] 80b4374: ee77 7a67 vsub.f32 s15, s14, s15 80b4378: edc7 7a04 vstr s15, [r7, #16] // col 1 - Top *p1++ = p1ap3_0 + p2[0] + p4[0]; 80b437c: 683b ldr r3, [r7, #0] 80b437e: 1d1a adds r2, r3, #4 80b4380: 603a str r2, [r7, #0] 80b4382: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80b4386: ed92 7a00 vldr s14, [r2] 80b438a: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b438e: ee37 7a27 vadd.f32 s14, s14, s15 80b4392: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80b4396: edd2 7a00 vldr s15, [r2] 80b439a: ee77 7a27 vadd.f32 s15, s14, s15 80b439e: edc3 7a00 vstr s15, [r3] *p1++ = p1ap3_1 + p2[1] + p4[1]; 80b43a2: 683b ldr r3, [r7, #0] 80b43a4: 1d1a adds r2, r3, #4 80b43a6: 603a str r2, [r7, #0] 80b43a8: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80b43ac: 3204 adds r2, #4 80b43ae: ed92 7a00 vldr s14, [r2] 80b43b2: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b43b6: ee37 7a27 vadd.f32 s14, s14, s15 80b43ba: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80b43be: 3204 adds r2, #4 80b43c0: edd2 7a00 vldr s15, [r2] 80b43c4: ee77 7a27 vadd.f32 s15, s14, s15 80b43c8: edc3 7a00 vstr s15, [r3] // COL 2 twR = tw2[0]; 80b43cc: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80b43d0: 681b ldr r3, [r3, #0] 80b43d2: 653b str r3, [r7, #80] ; 0x50 twI = tw2[1]; 80b43d4: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80b43d8: 685b ldr r3, [r3, #4] 80b43da: 64fb str r3, [r7, #76] ; 0x4c m0 = t2[0] * twR; 80b43dc: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b43e0: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b43e4: ee67 7a27 vmul.f32 s15, s14, s15 80b43e8: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t2[1] * twI; 80b43ec: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b43f0: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b43f4: ee67 7a27 vmul.f32 s15, s14, s15 80b43f8: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t2[1] * twR; 80b43fc: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b4400: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b4404: ee67 7a27 vmul.f32 s15, s14, s15 80b4408: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t2[0] * twI; 80b440c: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b4410: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b4414: ee67 7a27 vmul.f32 s15, s14, s15 80b4418: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p2++ = m0 + m1; 80b441c: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b4420: 1d1a adds r2, r3, #4 80b4422: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80b4426: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b442a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b442e: ee77 7a27 vadd.f32 s15, s14, s15 80b4432: edc3 7a00 vstr s15, [r3] *p2++ = m2 - m3; 80b4436: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b443a: 1d1a adds r2, r3, #4 80b443c: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80b4440: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b4444: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b4448: ee77 7a67 vsub.f32 s15, s14, s15 80b444c: edc3 7a00 vstr s15, [r3] // COL 3 twR = tw3[0]; 80b4450: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80b4454: 681b ldr r3, [r3, #0] 80b4456: 653b str r3, [r7, #80] ; 0x50 twI = tw3[1]; 80b4458: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80b445c: 685b ldr r3, [r3, #4] 80b445e: 64fb str r3, [r7, #76] ; 0x4c m0 = t3[0] * twR; 80b4460: ed97 7a07 vldr s14, [r7, #28] 80b4464: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b4468: ee67 7a27 vmul.f32 s15, s14, s15 80b446c: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t3[1] * twI; 80b4470: ed97 7a08 vldr s14, [r7, #32] 80b4474: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b4478: ee67 7a27 vmul.f32 s15, s14, s15 80b447c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t3[1] * twR; 80b4480: ed97 7a08 vldr s14, [r7, #32] 80b4484: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b4488: ee67 7a27 vmul.f32 s15, s14, s15 80b448c: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t3[0] * twI; 80b4490: ed97 7a07 vldr s14, [r7, #28] 80b4494: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b4498: ee67 7a27 vmul.f32 s15, s14, s15 80b449c: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p3++ = m0 + m1; 80b44a0: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b44a4: 1d1a adds r2, r3, #4 80b44a6: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80b44aa: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b44ae: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b44b2: ee77 7a27 vadd.f32 s15, s14, s15 80b44b6: edc3 7a00 vstr s15, [r3] *p3++ = m2 - m3; 80b44ba: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b44be: 1d1a adds r2, r3, #4 80b44c0: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80b44c4: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b44c8: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b44cc: ee77 7a67 vsub.f32 s15, s14, s15 80b44d0: edc3 7a00 vstr s15, [r3] // COL 4 twR = tw4[0]; 80b44d4: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80b44d8: 681b ldr r3, [r3, #0] 80b44da: 653b str r3, [r7, #80] ; 0x50 twI = tw4[1]; 80b44dc: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80b44e0: 685b ldr r3, [r3, #4] 80b44e2: 64fb str r3, [r7, #76] ; 0x4c m0 = t4[0] * twR; 80b44e4: ed97 7a03 vldr s14, [r7, #12] 80b44e8: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b44ec: ee67 7a27 vmul.f32 s15, s14, s15 80b44f0: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t4[1] * twI; 80b44f4: ed97 7a04 vldr s14, [r7, #16] 80b44f8: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b44fc: ee67 7a27 vmul.f32 s15, s14, s15 80b4500: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t4[1] * twR; 80b4504: ed97 7a04 vldr s14, [r7, #16] 80b4508: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b450c: ee67 7a27 vmul.f32 s15, s14, s15 80b4510: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t4[0] * twI; 80b4514: ed97 7a03 vldr s14, [r7, #12] 80b4518: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b451c: ee67 7a27 vmul.f32 s15, s14, s15 80b4520: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p4++ = m0 + m1; 80b4524: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b4528: 1d1a adds r2, r3, #4 80b452a: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80b452e: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b4532: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b4536: ee77 7a27 vadd.f32 s15, s14, s15 80b453a: edc3 7a00 vstr s15, [r3] *p4++ = m2 - m3; 80b453e: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b4542: 1d1a adds r2, r3, #4 80b4544: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80b4548: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b454c: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b4550: ee77 7a67 vsub.f32 s15, s14, s15 80b4554: edc3 7a00 vstr s15, [r3] // first col arm_radix8_butterfly_f32( pCol1, L, (float32_t *) S->pTwiddle, 4u); 80b4558: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b455c: b299 uxth r1, r3 80b455e: 687b ldr r3, [r7, #4] 80b4560: 685a ldr r2, [r3, #4] 80b4562: 2304 movs r3, #4 80b4564: 6ff8 ldr r0, [r7, #124] ; 0x7c 80b4566: f001 fbf9 bl 80b5d5c // second col arm_radix8_butterfly_f32( pCol2, L, (float32_t *) S->pTwiddle, 4u); 80b456a: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b456e: b299 uxth r1, r3 80b4570: 687b ldr r3, [r7, #4] 80b4572: 685a ldr r2, [r3, #4] 80b4574: 2304 movs r3, #4 80b4576: 6fb8 ldr r0, [r7, #120] ; 0x78 80b4578: f001 fbf0 bl 80b5d5c // third col arm_radix8_butterfly_f32( pCol3, L, (float32_t *) S->pTwiddle, 4u); 80b457c: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b4580: b299 uxth r1, r3 80b4582: 687b ldr r3, [r7, #4] 80b4584: 685a ldr r2, [r3, #4] 80b4586: 2304 movs r3, #4 80b4588: 6f78 ldr r0, [r7, #116] ; 0x74 80b458a: f001 fbe7 bl 80b5d5c // fourth col arm_radix8_butterfly_f32( pCol4, L, (float32_t *) S->pTwiddle, 4u); 80b458e: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b4592: b299 uxth r1, r3 80b4594: 687b ldr r3, [r7, #4] 80b4596: 685a ldr r2, [r3, #4] 80b4598: 2304 movs r3, #4 80b459a: 6f38 ldr r0, [r7, #112] ; 0x70 80b459c: f001 fbde bl 80b5d5c } 80b45a0: bf00 nop 80b45a2: 37b0 adds r7, #176 ; 0xb0 80b45a4: 46bd mov sp, r7 80b45a6: bd80 pop {r7, pc} 080b45a8 : void arm_cfft_f32( const arm_cfft_instance_f32 * S, float32_t * p1, uint8_t ifftFlag, uint8_t bitReverseFlag) { 80b45a8: b580 push {r7, lr} 80b45aa: b088 sub sp, #32 80b45ac: af00 add r7, sp, #0 80b45ae: 60f8 str r0, [r7, #12] 80b45b0: 60b9 str r1, [r7, #8] 80b45b2: 4611 mov r1, r2 80b45b4: 461a mov r2, r3 80b45b6: 460b mov r3, r1 80b45b8: 71fb strb r3, [r7, #7] 80b45ba: 4613 mov r3, r2 80b45bc: 71bb strb r3, [r7, #6] uint32_t L = S->fftLen, l; 80b45be: 68fb ldr r3, [r7, #12] 80b45c0: 881b ldrh r3, [r3, #0] 80b45c2: 617b str r3, [r7, #20] float32_t invL, * pSrc; if(ifftFlag == 1u) 80b45c4: 79fb ldrb r3, [r7, #7] 80b45c6: 2b01 cmp r3, #1 80b45c8: d117 bne.n 80b45fa { /* Conjugate input data */ pSrc = p1 + 1; 80b45ca: 68bb ldr r3, [r7, #8] 80b45cc: 3304 adds r3, #4 80b45ce: 61bb str r3, [r7, #24] for(l=0; l { *pSrc = -*pSrc; 80b45d6: 69bb ldr r3, [r7, #24] 80b45d8: edd3 7a00 vldr s15, [r3] 80b45dc: eef1 7a67 vneg.f32 s15, s15 80b45e0: 69bb ldr r3, [r7, #24] 80b45e2: edc3 7a00 vstr s15, [r3] pSrc += 2; 80b45e6: 69bb ldr r3, [r7, #24] 80b45e8: 3308 adds r3, #8 80b45ea: 61bb str r3, [r7, #24] for(l=0; l } } switch (L) 80b45fa: 697b ldr r3, [r7, #20] 80b45fc: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b4600: d024 beq.n 80b464c 80b4602: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b4606: d80b bhi.n 80b4620 80b4608: 2b20 cmp r3, #32 80b460a: d01f beq.n 80b464c 80b460c: 2b20 cmp r3, #32 80b460e: d802 bhi.n 80b4616 80b4610: 2b10 cmp r3, #16 80b4612: d016 beq.n 80b4642 80b4614: e028 b.n 80b4668 80b4616: 2b40 cmp r3, #64 ; 0x40 80b4618: d01d beq.n 80b4656 80b461a: 2b80 cmp r3, #128 ; 0x80 80b461c: d011 beq.n 80b4642 80b461e: e023 b.n 80b4668 80b4620: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80b4624: d00d beq.n 80b4642 80b4626: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80b462a: d803 bhi.n 80b4634 80b462c: f5b3 7f00 cmp.w r3, #512 ; 0x200 80b4630: d011 beq.n 80b4656 80b4632: e019 b.n 80b4668 80b4634: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80b4638: d008 beq.n 80b464c 80b463a: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80b463e: d00a beq.n 80b4656 80b4640: e012 b.n 80b4668 { case 16: case 128: case 1024: arm_cfft_radix8by2_f32 ( (arm_cfft_instance_f32 *) S, p1); 80b4642: 68b9 ldr r1, [r7, #8] 80b4644: 68f8 ldr r0, [r7, #12] 80b4646: f7fe ff90 bl 80b356a break; 80b464a: e00d b.n 80b4668 case 32: case 256: case 2048: arm_cfft_radix8by4_f32 ( (arm_cfft_instance_f32 *) S, p1); 80b464c: 68b9 ldr r1, [r7, #8] 80b464e: 68f8 ldr r0, [r7, #12] 80b4650: f7ff f97f bl 80b3952 break; 80b4654: e008 b.n 80b4668 case 64: case 512: case 4096: arm_radix8_butterfly_f32( p1, L, (float32_t *) S->pTwiddle, 1); 80b4656: 697b ldr r3, [r7, #20] 80b4658: b299 uxth r1, r3 80b465a: 68fb ldr r3, [r7, #12] 80b465c: 685a ldr r2, [r3, #4] 80b465e: 2301 movs r3, #1 80b4660: 68b8 ldr r0, [r7, #8] 80b4662: f001 fb7b bl 80b5d5c break; 80b4666: bf00 nop } if( bitReverseFlag ) 80b4668: 79bb ldrb r3, [r7, #6] 80b466a: 2b00 cmp r3, #0 80b466c: d007 beq.n 80b467e arm_bitreversal_32((uint32_t*)p1,S->bitRevLength,S->pBitRevTable); 80b466e: 68fb ldr r3, [r7, #12] 80b4670: 8999 ldrh r1, [r3, #12] 80b4672: 68fb ldr r3, [r7, #12] 80b4674: 689b ldr r3, [r3, #8] 80b4676: 461a mov r2, r3 80b4678: 68b8 ldr r0, [r7, #8] 80b467a: f76b fde1 bl 8020240 if(ifftFlag == 1u) 80b467e: 79fb ldrb r3, [r7, #7] 80b4680: 2b01 cmp r3, #1 80b4682: d130 bne.n 80b46e6 { invL = 1.0f/(float32_t)L; 80b4684: 697b ldr r3, [r7, #20] 80b4686: ee07 3a90 vmov s15, r3 80b468a: eeb8 7a67 vcvt.f32.u32 s14, s15 80b468e: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 80b4692: eec6 7a87 vdiv.f32 s15, s13, s14 80b4696: edc7 7a04 vstr s15, [r7, #16] /* Conjugate and scale output data */ pSrc = p1; 80b469a: 68bb ldr r3, [r7, #8] 80b469c: 61bb str r3, [r7, #24] for(l=0; l { *pSrc++ *= invL ; 80b46a4: 69bb ldr r3, [r7, #24] 80b46a6: 1d1a adds r2, r3, #4 80b46a8: 61ba str r2, [r7, #24] 80b46aa: ed93 7a00 vldr s14, [r3] 80b46ae: edd7 7a04 vldr s15, [r7, #16] 80b46b2: ee67 7a27 vmul.f32 s15, s14, s15 80b46b6: edc3 7a00 vstr s15, [r3] *pSrc = -(*pSrc) * invL; 80b46ba: 69bb ldr r3, [r7, #24] 80b46bc: edd3 7a00 vldr s15, [r3] 80b46c0: eeb1 7a67 vneg.f32 s14, s15 80b46c4: edd7 7a04 vldr s15, [r7, #16] 80b46c8: ee67 7a27 vmul.f32 s15, s14, s15 80b46cc: 69bb ldr r3, [r7, #24] 80b46ce: edc3 7a00 vstr s15, [r3] pSrc++; 80b46d2: 69bb ldr r3, [r7, #24] 80b46d4: 3304 adds r3, #4 80b46d6: 61bb str r3, [r7, #24] for(l=0; l } } } 80b46e6: bf00 nop 80b46e8: 3720 adds r7, #32 80b46ea: 46bd mov sp, r7 80b46ec: bd80 pop {r7, pc} 080b46ee : void arm_radix4_butterfly_f32( float32_t * pSrc, uint16_t fftLen, float32_t * pCoef, uint16_t twidCoefModifier) { 80b46ee: b480 push {r7} 80b46f0: b0c1 sub sp, #260 ; 0x104 80b46f2: af00 add r7, sp, #0 80b46f4: 60f8 str r0, [r7, #12] 80b46f6: 607a str r2, [r7, #4] 80b46f8: 461a mov r2, r3 80b46fa: 460b mov r3, r1 80b46fc: 817b strh r3, [r7, #10] 80b46fe: 4613 mov r3, r2 80b4700: 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; 80b4702: 897b ldrh r3, [r7, #10] 80b4704: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 n1 = n2; 80b4708: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b470c: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 /* n2 = fftLen/4 */ n2 >>= 2u; 80b4710: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b4714: 089b lsrs r3, r3, #2 80b4716: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 i0 = 0u; 80b471a: 2300 movs r3, #0 80b471c: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 ia1 = 0u; 80b4720: 2300 movs r3, #0 80b4722: f8c7 30fc str.w r3, [r7, #252] ; 0xfc j = n2; 80b4726: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b472a: 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; 80b472e: f8d7 20f8 ldr.w r2, [r7, #248] ; 0xf8 80b4732: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b4736: 4413 add r3, r2 80b4738: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 i2 = i1 + n2; 80b473c: f8d7 20e0 ldr.w r2, [r7, #224] ; 0xe0 80b4740: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b4744: 4413 add r3, r2 80b4746: f8c7 30dc str.w r3, [r7, #220] ; 0xdc i3 = i2 + n2; 80b474a: f8d7 20dc ldr.w r2, [r7, #220] ; 0xdc 80b474e: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b4752: 4413 add r3, r2 80b4754: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xaIn = pSrc[(2u * i0)]; 80b4758: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b475c: 00db lsls r3, r3, #3 80b475e: 68fa ldr r2, [r7, #12] 80b4760: 4413 add r3, r2 80b4762: 681b ldr r3, [r3, #0] 80b4764: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 yaIn = pSrc[(2u * i0) + 1u]; 80b4768: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b476c: 00db lsls r3, r3, #3 80b476e: 3304 adds r3, #4 80b4770: 68fa ldr r2, [r7, #12] 80b4772: 4413 add r3, r2 80b4774: 681b ldr r3, [r3, #0] 80b4776: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xbIn = pSrc[(2u * i1)]; 80b477a: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b477e: 00db lsls r3, r3, #3 80b4780: 68fa ldr r2, [r7, #12] 80b4782: 4413 add r3, r2 80b4784: 681b ldr r3, [r3, #0] 80b4786: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = pSrc[(2u * i1) + 1u]; 80b478a: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b478e: 00db lsls r3, r3, #3 80b4790: 3304 adds r3, #4 80b4792: 68fa ldr r2, [r7, #12] 80b4794: 4413 add r3, r2 80b4796: 681b ldr r3, [r3, #0] 80b4798: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = pSrc[(2u * i2)]; 80b479c: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b47a0: 00db lsls r3, r3, #3 80b47a2: 68fa ldr r2, [r7, #12] 80b47a4: 4413 add r3, r2 80b47a6: 681b ldr r3, [r3, #0] 80b47a8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ycIn = pSrc[(2u * i2) + 1u]; 80b47ac: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b47b0: 00db lsls r3, r3, #3 80b47b2: 3304 adds r3, #4 80b47b4: 68fa ldr r2, [r7, #12] 80b47b6: 4413 add r3, r2 80b47b8: 681b ldr r3, [r3, #0] 80b47ba: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 xdIn = pSrc[(2u * i3)]; 80b47be: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b47c2: 00db lsls r3, r3, #3 80b47c4: 68fa ldr r2, [r7, #12] 80b47c6: 4413 add r3, r2 80b47c8: 681b ldr r3, [r3, #0] 80b47ca: f8c7 30bc str.w r3, [r7, #188] ; 0xbc ydIn = pSrc[(2u * i3) + 1u]; 80b47ce: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b47d2: 00db lsls r3, r3, #3 80b47d4: 3304 adds r3, #4 80b47d6: 68fa ldr r2, [r7, #12] 80b47d8: 4413 add r3, r2 80b47da: 681b ldr r3, [r3, #0] 80b47dc: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 /* xa + xc */ Xaplusc = xaIn + xcIn; 80b47e0: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b47e4: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b47e8: ee77 7a27 vadd.f32 s15, s14, s15 80b47ec: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* xb + xd */ Xbplusd = xbIn + xdIn; 80b47f0: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b47f4: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b47f8: ee77 7a27 vadd.f32 s15, s14, s15 80b47fc: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b4800: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b4804: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b4808: ee77 7a27 vadd.f32 s15, s14, s15 80b480c: edc7 7a2b vstr s15, [r7, #172] ; 0xac /* yb + yd */ Ybplusd = ybIn + ydIn; 80b4810: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b4814: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b4818: ee77 7a27 vadd.f32 s15, s14, s15 80b481c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 /* index calculation for the coefficients */ ia2 = ia1 + ia1; 80b4820: f8d7 20fc ldr.w r2, [r7, #252] ; 0xfc 80b4824: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b4828: 4413 add r3, r2 80b482a: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 co2 = pCoef[ia2 * 2u]; 80b482e: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b4832: 00db lsls r3, r3, #3 80b4834: 687a ldr r2, [r7, #4] 80b4836: 4413 add r3, r2 80b4838: 681b ldr r3, [r3, #0] 80b483a: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 si2 = pCoef[(ia2 * 2u) + 1u]; 80b483e: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b4842: 00db lsls r3, r3, #3 80b4844: 3304 adds r3, #4 80b4846: 687a ldr r2, [r7, #4] 80b4848: 4413 add r3, r2 80b484a: 681b ldr r3, [r3, #0] 80b484c: f8c7 309c str.w r3, [r7, #156] ; 0x9c /* xa - xc */ Xaminusc = xaIn - xcIn; 80b4850: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b4854: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b4858: ee77 7a67 vsub.f32 s15, s14, s15 80b485c: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* xb - xd */ Xbminusd = xbIn - xdIn; 80b4860: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b4864: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b4868: ee77 7a67 vsub.f32 s15, s14, s15 80b486c: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* ya - yc */ Yaminusc = yaIn - ycIn; 80b4870: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b4874: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b4878: ee77 7a67 vsub.f32 s15, s14, s15 80b487c: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* yb - yd */ Ybminusd = ybIn - ydIn; 80b4880: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b4884: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b4888: ee77 7a67 vsub.f32 s15, s14, s15 80b488c: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* xa' = xa + xb + xc + xd */ pSrc[(2u * i0)] = Xaplusc + Xbplusd; 80b4890: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b4894: 00db lsls r3, r3, #3 80b4896: 68fa ldr r2, [r7, #12] 80b4898: 4413 add r3, r2 80b489a: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b489e: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b48a2: ee77 7a27 vadd.f32 s15, s14, s15 80b48a6: edc3 7a00 vstr s15, [r3] /* ya' = ya + yb + yc + yd */ pSrc[(2u * i0) + 1u] = Yaplusc + Ybplusd; 80b48aa: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b48ae: 00db lsls r3, r3, #3 80b48b0: 3304 adds r3, #4 80b48b2: 68fa ldr r2, [r7, #12] 80b48b4: 4413 add r3, r2 80b48b6: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b48ba: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b48be: ee77 7a27 vadd.f32 s15, s14, s15 80b48c2: edc3 7a00 vstr s15, [r3] /* (xa - xc) + (yb - yd) */ Xb12C_out = (Xaminusc + Ybminusd); 80b48c6: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b48ca: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b48ce: ee77 7a27 vadd.f32 s15, s14, s15 80b48d2: edc7 7a22 vstr s15, [r7, #136] ; 0x88 /* (ya - yc) + (xb - xd) */ Yb12C_out = (Yaminusc - Xbminusd); 80b48d6: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b48da: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b48de: ee77 7a67 vsub.f32 s15, s14, s15 80b48e2: edc7 7a21 vstr s15, [r7, #132] ; 0x84 /* (xa + xc) - (xb + xd) */ Xc12C_out = (Xaplusc - Xbplusd); 80b48e6: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b48ea: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b48ee: ee77 7a67 vsub.f32 s15, s14, s15 80b48f2: edc7 7a20 vstr s15, [r7, #128] ; 0x80 /* (ya + yc) - (yb + yd) */ Yc12C_out = (Yaplusc - Ybplusd); 80b48f6: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b48fa: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b48fe: ee77 7a67 vsub.f32 s15, s14, s15 80b4902: edc7 7a1f vstr s15, [r7, #124] ; 0x7c /* (xa - xc) - (yb - yd) */ Xd12C_out = (Xaminusc - Ybminusd); 80b4906: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b490a: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b490e: ee77 7a67 vsub.f32 s15, s14, s15 80b4912: edc7 7a1e vstr s15, [r7, #120] ; 0x78 /* (ya - yc) + (xb - xd) */ Yd12C_out = (Xbminusd + Yaminusc); 80b4916: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b491a: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b491e: ee77 7a27 vadd.f32 s15, s14, s15 80b4922: edc7 7a1d vstr s15, [r7, #116] ; 0x74 co1 = pCoef[ia1 * 2u]; 80b4926: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b492a: 00db lsls r3, r3, #3 80b492c: 687a ldr r2, [r7, #4] 80b492e: 4413 add r3, r2 80b4930: 681b ldr r3, [r3, #0] 80b4932: 673b str r3, [r7, #112] ; 0x70 si1 = pCoef[(ia1 * 2u) + 1u]; 80b4934: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b4938: 00db lsls r3, r3, #3 80b493a: 3304 adds r3, #4 80b493c: 687a ldr r2, [r7, #4] 80b493e: 4413 add r3, r2 80b4940: 681b ldr r3, [r3, #0] 80b4942: 66fb str r3, [r7, #108] ; 0x6c /* index calculation for the coefficients */ ia3 = ia2 + ia1; 80b4944: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 80b4948: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b494c: 4413 add r3, r2 80b494e: 66bb str r3, [r7, #104] ; 0x68 co3 = pCoef[ia3 * 2u]; 80b4950: 6ebb ldr r3, [r7, #104] ; 0x68 80b4952: 00db lsls r3, r3, #3 80b4954: 687a ldr r2, [r7, #4] 80b4956: 4413 add r3, r2 80b4958: 681b ldr r3, [r3, #0] 80b495a: 667b str r3, [r7, #100] ; 0x64 si3 = pCoef[(ia3 * 2u) + 1u]; 80b495c: 6ebb ldr r3, [r7, #104] ; 0x68 80b495e: 00db lsls r3, r3, #3 80b4960: 3304 adds r3, #4 80b4962: 687a ldr r2, [r7, #4] 80b4964: 4413 add r3, r2 80b4966: 681b ldr r3, [r3, #0] 80b4968: 663b str r3, [r7, #96] ; 0x60 Xb12_out = Xb12C_out * co1; 80b496a: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b496e: edd7 7a1c vldr s15, [r7, #112] ; 0x70 80b4972: ee67 7a27 vmul.f32 s15, s14, s15 80b4976: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yb12_out = Yb12C_out * co1; 80b497a: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b497e: edd7 7a1c vldr s15, [r7, #112] ; 0x70 80b4982: ee67 7a27 vmul.f32 s15, s14, s15 80b4986: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xc12_out = Xc12C_out * co2; 80b498a: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b498e: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b4992: ee67 7a27 vmul.f32 s15, s14, s15 80b4996: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yc12_out = Yc12C_out * co2; 80b499a: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b499e: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b49a2: ee67 7a27 vmul.f32 s15, s14, s15 80b49a6: edc7 7a14 vstr s15, [r7, #80] ; 0x50 Xd12_out = Xd12C_out * co3; 80b49aa: ed97 7a1e vldr s14, [r7, #120] ; 0x78 80b49ae: edd7 7a19 vldr s15, [r7, #100] ; 0x64 80b49b2: ee67 7a27 vmul.f32 s15, s14, s15 80b49b6: edc7 7a13 vstr s15, [r7, #76] ; 0x4c Yd12_out = Yd12C_out * co3; 80b49ba: ed97 7a1d vldr s14, [r7, #116] ; 0x74 80b49be: edd7 7a19 vldr s15, [r7, #100] ; 0x64 80b49c2: ee67 7a27 vmul.f32 s15, s14, s15 80b49c6: 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; 80b49ca: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b49ce: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b49d2: ee67 7a27 vmul.f32 s15, s14, s15 80b49d6: 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; 80b49da: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b49de: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b49e2: ee67 7a27 vmul.f32 s15, s14, s15 80b49e6: 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; 80b49ea: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b49ee: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b49f2: ee67 7a27 vmul.f32 s15, s14, s15 80b49f6: 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; 80b49fa: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b49fe: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b4a02: ee67 7a27 vmul.f32 s15, s14, s15 80b4a06: 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; 80b4a0a: ed97 7a1d vldr s14, [r7, #116] ; 0x74 80b4a0e: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b4a12: ee67 7a27 vmul.f32 s15, s14, s15 80b4a16: 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; 80b4a1a: ed97 7a1e vldr s14, [r7, #120] ; 0x78 80b4a1e: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b4a22: ee67 7a27 vmul.f32 s15, s14, s15 80b4a26: edc7 7a0c vstr s15, [r7, #48] ; 0x30 Xb12_out += p0; 80b4a2a: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b4a2e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b4a32: ee77 7a27 vadd.f32 s15, s14, s15 80b4a36: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yb12_out -= p1; 80b4a3a: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b4a3e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80b4a42: ee77 7a67 vsub.f32 s15, s14, s15 80b4a46: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xc12_out += p2; 80b4a4a: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b4a4e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b4a52: ee77 7a27 vadd.f32 s15, s14, s15 80b4a56: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yc12_out -= p3; 80b4a5a: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b4a5e: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b4a62: ee77 7a67 vsub.f32 s15, s14, s15 80b4a66: edc7 7a14 vstr s15, [r7, #80] ; 0x50 Xd12_out += p4; 80b4a6a: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b4a6e: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b4a72: ee77 7a27 vadd.f32 s15, s14, s15 80b4a76: edc7 7a13 vstr s15, [r7, #76] ; 0x4c Yd12_out -= p5; 80b4a7a: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b4a7e: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b4a82: ee77 7a67 vsub.f32 s15, s14, s15 80b4a86: edc7 7a12 vstr s15, [r7, #72] ; 0x48 /* xc' = (xa-xb+xc-xd)co2 + (ya-yb+yc-yd)(si2) */ pSrc[2u * i1] = Xc12_out; 80b4a8a: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b4a8e: 00db lsls r3, r3, #3 80b4a90: 68fa ldr r2, [r7, #12] 80b4a92: 4413 add r3, r2 80b4a94: 6d7a ldr r2, [r7, #84] ; 0x54 80b4a96: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd)co2 - (xa-xb+xc-xd)(si2) */ pSrc[(2u * i1) + 1u] = Yc12_out; 80b4a98: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b4a9c: 00db lsls r3, r3, #3 80b4a9e: 3304 adds r3, #4 80b4aa0: 68fa ldr r2, [r7, #12] 80b4aa2: 4413 add r3, r2 80b4aa4: 6d3a ldr r2, [r7, #80] ; 0x50 80b4aa6: 601a str r2, [r3, #0] /* xb' = (xa+yb-xc-yd)co1 + (ya-xb-yc+xd)(si1) */ pSrc[2u * i2] = Xb12_out; 80b4aa8: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b4aac: 00db lsls r3, r3, #3 80b4aae: 68fa ldr r2, [r7, #12] 80b4ab0: 4413 add r3, r2 80b4ab2: 6dfa ldr r2, [r7, #92] ; 0x5c 80b4ab4: 601a str r2, [r3, #0] /* yb' = (ya-xb-yc+xd)co1 - (xa+yb-xc-yd)(si1) */ pSrc[(2u * i2) + 1u] = Yb12_out; 80b4ab6: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b4aba: 00db lsls r3, r3, #3 80b4abc: 3304 adds r3, #4 80b4abe: 68fa ldr r2, [r7, #12] 80b4ac0: 4413 add r3, r2 80b4ac2: 6dba ldr r2, [r7, #88] ; 0x58 80b4ac4: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd)co3 + (ya+xb-yc-xd)(si3) */ pSrc[2u * i3] = Xd12_out; 80b4ac6: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b4aca: 00db lsls r3, r3, #3 80b4acc: 68fa ldr r2, [r7, #12] 80b4ace: 4413 add r3, r2 80b4ad0: 6cfa ldr r2, [r7, #76] ; 0x4c 80b4ad2: 601a str r2, [r3, #0] /* yd' = (ya+xb-yc-xd)co3 - (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = Yd12_out; 80b4ad4: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b4ad8: 00db lsls r3, r3, #3 80b4ada: 3304 adds r3, #4 80b4adc: 68fa ldr r2, [r7, #12] 80b4ade: 4413 add r3, r2 80b4ae0: 6cba ldr r2, [r7, #72] ; 0x48 80b4ae2: 601a str r2, [r3, #0] /* Twiddle coefficients index modifier */ ia1 += twidCoefModifier; 80b4ae4: 893b ldrh r3, [r7, #8] 80b4ae6: f8d7 20fc ldr.w r2, [r7, #252] ; 0xfc 80b4aea: 4413 add r3, r2 80b4aec: f8c7 30fc str.w r3, [r7, #252] ; 0xfc /* Updating input index */ i0++; 80b4af0: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b4af4: 3301 adds r3, #1 80b4af6: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 } while(--j); 80b4afa: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4afe: 3b01 subs r3, #1 80b4b00: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 80b4b04: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4b08: 2b00 cmp r3, #0 80b4b0a: f47f ae10 bne.w 80b472e twidCoefModifier <<= 2u; 80b4b0e: 893b ldrh r3, [r7, #8] 80b4b10: 009b lsls r3, r3, #2 80b4b12: 813b strh r3, [r7, #8] /* Calculation of second stage to excluding last stage */ for (k = fftLen >> 2u; k > 4u; k >>= 2u) 80b4b14: 897b ldrh r3, [r7, #10] 80b4b16: 089b lsrs r3, r3, #2 80b4b18: b29b uxth r3, r3 80b4b1a: f8c7 30ec str.w r3, [r7, #236] ; 0xec 80b4b1e: e215 b.n 80b4f4c { /* Initializations for the first stage */ n1 = n2; 80b4b20: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b4b24: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 n2 >>= 2u; 80b4b28: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b4b2c: 089b lsrs r3, r3, #2 80b4b2e: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 ia1 = 0u; 80b4b32: 2300 movs r3, #0 80b4b34: f8c7 30fc str.w r3, [r7, #252] ; 0xfc /* Calculation of first stage */ j = 0; 80b4b38: 2300 movs r3, #0 80b4b3a: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 do { /* index calculation for the coefficients */ ia2 = ia1 + ia1; 80b4b3e: f8d7 20fc ldr.w r2, [r7, #252] ; 0xfc 80b4b42: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b4b46: 4413 add r3, r2 80b4b48: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 ia3 = ia2 + ia1; 80b4b4c: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 80b4b50: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b4b54: 4413 add r3, r2 80b4b56: 66bb str r3, [r7, #104] ; 0x68 co1 = pCoef[ia1 * 2u]; 80b4b58: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b4b5c: 00db lsls r3, r3, #3 80b4b5e: 687a ldr r2, [r7, #4] 80b4b60: 4413 add r3, r2 80b4b62: 681b ldr r3, [r3, #0] 80b4b64: 673b str r3, [r7, #112] ; 0x70 si1 = pCoef[(ia1 * 2u) + 1u]; 80b4b66: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b4b6a: 00db lsls r3, r3, #3 80b4b6c: 3304 adds r3, #4 80b4b6e: 687a ldr r2, [r7, #4] 80b4b70: 4413 add r3, r2 80b4b72: 681b ldr r3, [r3, #0] 80b4b74: 66fb str r3, [r7, #108] ; 0x6c co2 = pCoef[ia2 * 2u]; 80b4b76: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b4b7a: 00db lsls r3, r3, #3 80b4b7c: 687a ldr r2, [r7, #4] 80b4b7e: 4413 add r3, r2 80b4b80: 681b ldr r3, [r3, #0] 80b4b82: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 si2 = pCoef[(ia2 * 2u) + 1u]; 80b4b86: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b4b8a: 00db lsls r3, r3, #3 80b4b8c: 3304 adds r3, #4 80b4b8e: 687a ldr r2, [r7, #4] 80b4b90: 4413 add r3, r2 80b4b92: 681b ldr r3, [r3, #0] 80b4b94: f8c7 309c str.w r3, [r7, #156] ; 0x9c co3 = pCoef[ia3 * 2u]; 80b4b98: 6ebb ldr r3, [r7, #104] ; 0x68 80b4b9a: 00db lsls r3, r3, #3 80b4b9c: 687a ldr r2, [r7, #4] 80b4b9e: 4413 add r3, r2 80b4ba0: 681b ldr r3, [r3, #0] 80b4ba2: 667b str r3, [r7, #100] ; 0x64 si3 = pCoef[(ia3 * 2u) + 1u]; 80b4ba4: 6ebb ldr r3, [r7, #104] ; 0x68 80b4ba6: 00db lsls r3, r3, #3 80b4ba8: 3304 adds r3, #4 80b4baa: 687a ldr r2, [r7, #4] 80b4bac: 4413 add r3, r2 80b4bae: 681b ldr r3, [r3, #0] 80b4bb0: 663b str r3, [r7, #96] ; 0x60 /* Twiddle coefficients index modifier */ ia1 += twidCoefModifier; 80b4bb2: 893b ldrh r3, [r7, #8] 80b4bb4: f8d7 20fc ldr.w r2, [r7, #252] ; 0xfc 80b4bb8: 4413 add r3, r2 80b4bba: f8c7 30fc str.w r3, [r7, #252] ; 0xfc i0 = j; 80b4bbe: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4bc2: 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; 80b4bc6: f8d7 20f8 ldr.w r2, [r7, #248] ; 0xf8 80b4bca: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b4bce: 4413 add r3, r2 80b4bd0: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 i2 = i1 + n2; 80b4bd4: f8d7 20e0 ldr.w r2, [r7, #224] ; 0xe0 80b4bd8: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b4bdc: 4413 add r3, r2 80b4bde: f8c7 30dc str.w r3, [r7, #220] ; 0xdc i3 = i2 + n2; 80b4be2: f8d7 20dc ldr.w r2, [r7, #220] ; 0xdc 80b4be6: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b4bea: 4413 add r3, r2 80b4bec: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xaIn = pSrc[(2u * i0)]; 80b4bf0: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b4bf4: 00db lsls r3, r3, #3 80b4bf6: 68fa ldr r2, [r7, #12] 80b4bf8: 4413 add r3, r2 80b4bfa: 681b ldr r3, [r3, #0] 80b4bfc: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 yaIn = pSrc[(2u * i0) + 1u]; 80b4c00: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b4c04: 00db lsls r3, r3, #3 80b4c06: 3304 adds r3, #4 80b4c08: 68fa ldr r2, [r7, #12] 80b4c0a: 4413 add r3, r2 80b4c0c: 681b ldr r3, [r3, #0] 80b4c0e: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xbIn = pSrc[(2u * i1)]; 80b4c12: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b4c16: 00db lsls r3, r3, #3 80b4c18: 68fa ldr r2, [r7, #12] 80b4c1a: 4413 add r3, r2 80b4c1c: 681b ldr r3, [r3, #0] 80b4c1e: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = pSrc[(2u * i1) + 1u]; 80b4c22: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b4c26: 00db lsls r3, r3, #3 80b4c28: 3304 adds r3, #4 80b4c2a: 68fa ldr r2, [r7, #12] 80b4c2c: 4413 add r3, r2 80b4c2e: 681b ldr r3, [r3, #0] 80b4c30: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = pSrc[(2u * i2)]; 80b4c34: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b4c38: 00db lsls r3, r3, #3 80b4c3a: 68fa ldr r2, [r7, #12] 80b4c3c: 4413 add r3, r2 80b4c3e: 681b ldr r3, [r3, #0] 80b4c40: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ycIn = pSrc[(2u * i2) + 1u]; 80b4c44: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b4c48: 00db lsls r3, r3, #3 80b4c4a: 3304 adds r3, #4 80b4c4c: 68fa ldr r2, [r7, #12] 80b4c4e: 4413 add r3, r2 80b4c50: 681b ldr r3, [r3, #0] 80b4c52: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 xdIn = pSrc[(2u * i3)]; 80b4c56: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b4c5a: 00db lsls r3, r3, #3 80b4c5c: 68fa ldr r2, [r7, #12] 80b4c5e: 4413 add r3, r2 80b4c60: 681b ldr r3, [r3, #0] 80b4c62: f8c7 30bc str.w r3, [r7, #188] ; 0xbc ydIn = pSrc[(2u * i3) + 1u]; 80b4c66: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b4c6a: 00db lsls r3, r3, #3 80b4c6c: 3304 adds r3, #4 80b4c6e: 68fa ldr r2, [r7, #12] 80b4c70: 4413 add r3, r2 80b4c72: 681b ldr r3, [r3, #0] 80b4c74: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 /* xa - xc */ Xaminusc = xaIn - xcIn; 80b4c78: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b4c7c: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b4c80: ee77 7a67 vsub.f32 s15, s14, s15 80b4c84: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* (xb - xd) */ Xbminusd = xbIn - xdIn; 80b4c88: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b4c8c: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b4c90: ee77 7a67 vsub.f32 s15, s14, s15 80b4c94: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* ya - yc */ Yaminusc = yaIn - ycIn; 80b4c98: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b4c9c: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b4ca0: ee77 7a67 vsub.f32 s15, s14, s15 80b4ca4: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* (yb - yd) */ Ybminusd = ybIn - ydIn; 80b4ca8: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b4cac: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b4cb0: ee77 7a67 vsub.f32 s15, s14, s15 80b4cb4: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* xa + xc */ Xaplusc = xaIn + xcIn; 80b4cb8: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b4cbc: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b4cc0: ee77 7a27 vadd.f32 s15, s14, s15 80b4cc4: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* xb + xd */ Xbplusd = xbIn + xdIn; 80b4cc8: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b4ccc: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b4cd0: ee77 7a27 vadd.f32 s15, s14, s15 80b4cd4: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b4cd8: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b4cdc: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b4ce0: ee77 7a27 vadd.f32 s15, s14, s15 80b4ce4: edc7 7a2b vstr s15, [r7, #172] ; 0xac /* yb + yd */ Ybplusd = ybIn + ydIn; 80b4ce8: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b4cec: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b4cf0: ee77 7a27 vadd.f32 s15, s14, s15 80b4cf4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 /* (xa - xc) + (yb - yd) */ Xb12C_out = (Xaminusc + Ybminusd); 80b4cf8: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b4cfc: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b4d00: ee77 7a27 vadd.f32 s15, s14, s15 80b4d04: edc7 7a22 vstr s15, [r7, #136] ; 0x88 /* (ya - yc) - (xb - xd) */ Yb12C_out = (Yaminusc - Xbminusd); 80b4d08: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b4d0c: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b4d10: ee77 7a67 vsub.f32 s15, s14, s15 80b4d14: edc7 7a21 vstr s15, [r7, #132] ; 0x84 /* xa + xc -(xb + xd) */ Xc12C_out = (Xaplusc - Xbplusd); 80b4d18: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b4d1c: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b4d20: ee77 7a67 vsub.f32 s15, s14, s15 80b4d24: edc7 7a20 vstr s15, [r7, #128] ; 0x80 /* (ya + yc) - (yb + yd) */ Yc12C_out = (Yaplusc - Ybplusd); 80b4d28: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b4d2c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b4d30: ee77 7a67 vsub.f32 s15, s14, s15 80b4d34: edc7 7a1f vstr s15, [r7, #124] ; 0x7c /* (xa - xc) - (yb - yd) */ Xd12C_out = (Xaminusc - Ybminusd); 80b4d38: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b4d3c: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b4d40: ee77 7a67 vsub.f32 s15, s14, s15 80b4d44: edc7 7a1e vstr s15, [r7, #120] ; 0x78 /* (ya - yc) + (xb - xd) */ Yd12C_out = (Xbminusd + Yaminusc); 80b4d48: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b4d4c: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b4d50: ee77 7a27 vadd.f32 s15, s14, s15 80b4d54: edc7 7a1d vstr s15, [r7, #116] ; 0x74 pSrc[(2u * i0)] = Xaplusc + Xbplusd; 80b4d58: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b4d5c: 00db lsls r3, r3, #3 80b4d5e: 68fa ldr r2, [r7, #12] 80b4d60: 4413 add r3, r2 80b4d62: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b4d66: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b4d6a: ee77 7a27 vadd.f32 s15, s14, s15 80b4d6e: edc3 7a00 vstr s15, [r3] pSrc[(2u * i0) + 1u] = Yaplusc + Ybplusd; 80b4d72: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b4d76: 00db lsls r3, r3, #3 80b4d78: 3304 adds r3, #4 80b4d7a: 68fa ldr r2, [r7, #12] 80b4d7c: 4413 add r3, r2 80b4d7e: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b4d82: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b4d86: ee77 7a27 vadd.f32 s15, s14, s15 80b4d8a: edc3 7a00 vstr s15, [r3] Xb12_out = Xb12C_out * co1; 80b4d8e: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b4d92: edd7 7a1c vldr s15, [r7, #112] ; 0x70 80b4d96: ee67 7a27 vmul.f32 s15, s14, s15 80b4d9a: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yb12_out = Yb12C_out * co1; 80b4d9e: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b4da2: edd7 7a1c vldr s15, [r7, #112] ; 0x70 80b4da6: ee67 7a27 vmul.f32 s15, s14, s15 80b4daa: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xc12_out = Xc12C_out * co2; 80b4dae: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b4db2: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b4db6: ee67 7a27 vmul.f32 s15, s14, s15 80b4dba: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yc12_out = Yc12C_out * co2; 80b4dbe: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b4dc2: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b4dc6: ee67 7a27 vmul.f32 s15, s14, s15 80b4dca: edc7 7a14 vstr s15, [r7, #80] ; 0x50 Xd12_out = Xd12C_out * co3; 80b4dce: ed97 7a1e vldr s14, [r7, #120] ; 0x78 80b4dd2: edd7 7a19 vldr s15, [r7, #100] ; 0x64 80b4dd6: ee67 7a27 vmul.f32 s15, s14, s15 80b4dda: edc7 7a13 vstr s15, [r7, #76] ; 0x4c Yd12_out = Yd12C_out * co3; 80b4dde: ed97 7a1d vldr s14, [r7, #116] ; 0x74 80b4de2: edd7 7a19 vldr s15, [r7, #100] ; 0x64 80b4de6: ee67 7a27 vmul.f32 s15, s14, s15 80b4dea: 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; 80b4dee: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b4df2: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b4df6: ee67 7a27 vmul.f32 s15, s14, s15 80b4dfa: 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; 80b4dfe: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b4e02: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b4e06: ee67 7a27 vmul.f32 s15, s14, s15 80b4e0a: 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; 80b4e0e: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b4e12: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b4e16: ee67 7a27 vmul.f32 s15, s14, s15 80b4e1a: 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; 80b4e1e: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b4e22: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b4e26: ee67 7a27 vmul.f32 s15, s14, s15 80b4e2a: 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; 80b4e2e: ed97 7a1d vldr s14, [r7, #116] ; 0x74 80b4e32: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b4e36: ee67 7a27 vmul.f32 s15, s14, s15 80b4e3a: 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; 80b4e3e: ed97 7a1e vldr s14, [r7, #120] ; 0x78 80b4e42: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b4e46: ee67 7a27 vmul.f32 s15, s14, s15 80b4e4a: edc7 7a0c vstr s15, [r7, #48] ; 0x30 Xb12_out += p0; 80b4e4e: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b4e52: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b4e56: ee77 7a27 vadd.f32 s15, s14, s15 80b4e5a: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yb12_out -= p1; 80b4e5e: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b4e62: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80b4e66: ee77 7a67 vsub.f32 s15, s14, s15 80b4e6a: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xc12_out += p2; 80b4e6e: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b4e72: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b4e76: ee77 7a27 vadd.f32 s15, s14, s15 80b4e7a: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yc12_out -= p3; 80b4e7e: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b4e82: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b4e86: ee77 7a67 vsub.f32 s15, s14, s15 80b4e8a: edc7 7a14 vstr s15, [r7, #80] ; 0x50 Xd12_out += p4; 80b4e8e: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b4e92: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b4e96: ee77 7a27 vadd.f32 s15, s14, s15 80b4e9a: edc7 7a13 vstr s15, [r7, #76] ; 0x4c Yd12_out -= p5; 80b4e9e: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b4ea2: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b4ea6: ee77 7a67 vsub.f32 s15, s14, s15 80b4eaa: edc7 7a12 vstr s15, [r7, #72] ; 0x48 /* xc' = (xa-xb+xc-xd)co2 + (ya-yb+yc-yd)(si2) */ pSrc[2u * i1] = Xc12_out; 80b4eae: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b4eb2: 00db lsls r3, r3, #3 80b4eb4: 68fa ldr r2, [r7, #12] 80b4eb6: 4413 add r3, r2 80b4eb8: 6d7a ldr r2, [r7, #84] ; 0x54 80b4eba: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd)co2 - (xa-xb+xc-xd)(si2) */ pSrc[(2u * i1) + 1u] = Yc12_out; 80b4ebc: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b4ec0: 00db lsls r3, r3, #3 80b4ec2: 3304 adds r3, #4 80b4ec4: 68fa ldr r2, [r7, #12] 80b4ec6: 4413 add r3, r2 80b4ec8: 6d3a ldr r2, [r7, #80] ; 0x50 80b4eca: 601a str r2, [r3, #0] /* xb' = (xa+yb-xc-yd)co1 + (ya-xb-yc+xd)(si1) */ pSrc[2u * i2] = Xb12_out; 80b4ecc: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b4ed0: 00db lsls r3, r3, #3 80b4ed2: 68fa ldr r2, [r7, #12] 80b4ed4: 4413 add r3, r2 80b4ed6: 6dfa ldr r2, [r7, #92] ; 0x5c 80b4ed8: 601a str r2, [r3, #0] /* yb' = (ya-xb-yc+xd)co1 - (xa+yb-xc-yd)(si1) */ pSrc[(2u * i2) + 1u] = Yb12_out; 80b4eda: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b4ede: 00db lsls r3, r3, #3 80b4ee0: 3304 adds r3, #4 80b4ee2: 68fa ldr r2, [r7, #12] 80b4ee4: 4413 add r3, r2 80b4ee6: 6dba ldr r2, [r7, #88] ; 0x58 80b4ee8: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd)co3 + (ya+xb-yc-xd)(si3) */ pSrc[2u * i3] = Xd12_out; 80b4eea: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b4eee: 00db lsls r3, r3, #3 80b4ef0: 68fa ldr r2, [r7, #12] 80b4ef2: 4413 add r3, r2 80b4ef4: 6cfa ldr r2, [r7, #76] ; 0x4c 80b4ef6: 601a str r2, [r3, #0] /* yd' = (ya+xb-yc-xd)co3 - (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = Yd12_out; 80b4ef8: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b4efc: 00db lsls r3, r3, #3 80b4efe: 3304 adds r3, #4 80b4f00: 68fa ldr r2, [r7, #12] 80b4f02: 4413 add r3, r2 80b4f04: 6cba ldr r2, [r7, #72] ; 0x48 80b4f06: 601a str r2, [r3, #0] i0 += n1; 80b4f08: f8d7 20f8 ldr.w r2, [r7, #248] ; 0xf8 80b4f0c: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b4f10: 4413 add r3, r2 80b4f12: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 } while(i0 < fftLen); 80b4f16: 897a ldrh r2, [r7, #10] 80b4f18: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b4f1c: 429a cmp r2, r3 80b4f1e: f63f ae52 bhi.w 80b4bc6 j++; 80b4f22: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4f26: 3301 adds r3, #1 80b4f28: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 } while(j <= (n2 - 1u)); 80b4f2c: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b4f30: 1e5a subs r2, r3, #1 80b4f32: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4f36: 429a cmp r2, r3 80b4f38: f4bf ae01 bcs.w 80b4b3e twidCoefModifier <<= 2u; 80b4f3c: 893b ldrh r3, [r7, #8] 80b4f3e: 009b lsls r3, r3, #2 80b4f40: 813b strh r3, [r7, #8] for (k = fftLen >> 2u; k > 4u; k >>= 2u) 80b4f42: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b4f46: 089b lsrs r3, r3, #2 80b4f48: f8c7 30ec str.w r3, [r7, #236] ; 0xec 80b4f4c: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b4f50: 2b04 cmp r3, #4 80b4f52: f63f ade5 bhi.w 80b4b20 } j = fftLen >> 2; 80b4f56: 897b ldrh r3, [r7, #10] 80b4f58: 089b lsrs r3, r3, #2 80b4f5a: b29b uxth r3, r3 80b4f5c: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 ptr1 = &pSrc[0]; 80b4f60: 68fb ldr r3, [r7, #12] 80b4f62: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 /* Calculations of last stage */ do { xaIn = ptr1[0]; 80b4f66: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b4f6a: 681b ldr r3, [r3, #0] 80b4f6c: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 yaIn = ptr1[1]; 80b4f70: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b4f74: 685b ldr r3, [r3, #4] 80b4f76: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xbIn = ptr1[2]; 80b4f7a: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b4f7e: 689b ldr r3, [r3, #8] 80b4f80: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = ptr1[3]; 80b4f84: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b4f88: 68db ldr r3, [r3, #12] 80b4f8a: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = ptr1[4]; 80b4f8e: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b4f92: 691b ldr r3, [r3, #16] 80b4f94: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ycIn = ptr1[5]; 80b4f98: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b4f9c: 695b ldr r3, [r3, #20] 80b4f9e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 xdIn = ptr1[6]; 80b4fa2: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b4fa6: 699b ldr r3, [r3, #24] 80b4fa8: f8c7 30bc str.w r3, [r7, #188] ; 0xbc ydIn = ptr1[7]; 80b4fac: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b4fb0: 69db ldr r3, [r3, #28] 80b4fb2: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 /* xa + xc */ Xaplusc = xaIn + xcIn; 80b4fb6: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b4fba: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b4fbe: ee77 7a27 vadd.f32 s15, s14, s15 80b4fc2: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* xa - xc */ Xaminusc = xaIn - xcIn; 80b4fc6: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b4fca: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b4fce: ee77 7a67 vsub.f32 s15, s14, s15 80b4fd2: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b4fd6: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b4fda: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b4fde: ee77 7a27 vadd.f32 s15, s14, s15 80b4fe2: edc7 7a2b vstr s15, [r7, #172] ; 0xac /* ya - yc */ Yaminusc = yaIn - ycIn; 80b4fe6: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b4fea: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b4fee: ee77 7a67 vsub.f32 s15, s14, s15 80b4ff2: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* xb + xd */ Xbplusd = xbIn + xdIn; 80b4ff6: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b4ffa: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b4ffe: ee77 7a27 vadd.f32 s15, s14, s15 80b5002: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* yb + yd */ Ybplusd = ybIn + ydIn; 80b5006: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b500a: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b500e: ee77 7a27 vadd.f32 s15, s14, s15 80b5012: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 /* (xb-xd) */ Xbminusd = xbIn - xdIn; 80b5016: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b501a: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b501e: ee77 7a67 vsub.f32 s15, s14, s15 80b5022: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* (yb-yd) */ Ybminusd = ybIn - ydIn; 80b5026: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b502a: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b502e: ee77 7a67 vsub.f32 s15, s14, s15 80b5032: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* xa' = xa + xb + xc + xd */ a0 = (Xaplusc + Xbplusd); 80b5036: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b503a: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b503e: ee77 7a27 vadd.f32 s15, s14, s15 80b5042: edc7 7a0b vstr s15, [r7, #44] ; 0x2c /* ya' = ya + yb + yc + yd */ a1 = (Yaplusc + Ybplusd); 80b5046: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b504a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b504e: ee77 7a27 vadd.f32 s15, s14, s15 80b5052: edc7 7a0a vstr s15, [r7, #40] ; 0x28 /* xc' = (xa-xb+xc-xd) */ a2 = (Xaplusc - Xbplusd); 80b5056: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b505a: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b505e: ee77 7a67 vsub.f32 s15, s14, s15 80b5062: edc7 7a09 vstr s15, [r7, #36] ; 0x24 /* yc' = (ya-yb+yc-yd) */ a3 = (Yaplusc - Ybplusd); 80b5066: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b506a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b506e: ee77 7a67 vsub.f32 s15, s14, s15 80b5072: edc7 7a08 vstr s15, [r7, #32] /* xb' = (xa+yb-xc-yd) */ a4 = (Xaminusc + Ybminusd); 80b5076: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b507a: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b507e: ee77 7a27 vadd.f32 s15, s14, s15 80b5082: edc7 7a07 vstr s15, [r7, #28] /* yb' = (ya-xb-yc+xd) */ a5 = (Yaminusc - Xbminusd); 80b5086: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b508a: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b508e: ee77 7a67 vsub.f32 s15, s14, s15 80b5092: edc7 7a06 vstr s15, [r7, #24] /* xd' = (xa-yb-xc+yd)) */ a6 = (Xaminusc - Ybminusd); 80b5096: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b509a: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b509e: ee77 7a67 vsub.f32 s15, s14, s15 80b50a2: edc7 7a05 vstr s15, [r7, #20] /* yd' = (ya+xb-yc-xd) */ a7 = (Xbminusd + Yaminusc); 80b50a6: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b50aa: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b50ae: ee77 7a27 vadd.f32 s15, s14, s15 80b50b2: edc7 7a04 vstr s15, [r7, #16] ptr1[0] = a0; 80b50b6: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b50ba: 6afa ldr r2, [r7, #44] ; 0x2c 80b50bc: 601a str r2, [r3, #0] ptr1[1] = a1; 80b50be: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b50c2: 3304 adds r3, #4 80b50c4: 6aba ldr r2, [r7, #40] ; 0x28 80b50c6: 601a str r2, [r3, #0] ptr1[2] = a2; 80b50c8: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b50cc: 3308 adds r3, #8 80b50ce: 6a7a ldr r2, [r7, #36] ; 0x24 80b50d0: 601a str r2, [r3, #0] ptr1[3] = a3; 80b50d2: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b50d6: 330c adds r3, #12 80b50d8: 6a3a ldr r2, [r7, #32] 80b50da: 601a str r2, [r3, #0] ptr1[4] = a4; 80b50dc: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b50e0: 3310 adds r3, #16 80b50e2: 69fa ldr r2, [r7, #28] 80b50e4: 601a str r2, [r3, #0] ptr1[5] = a5; 80b50e6: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b50ea: 3314 adds r3, #20 80b50ec: 69ba ldr r2, [r7, #24] 80b50ee: 601a str r2, [r3, #0] ptr1[6] = a6; 80b50f0: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b50f4: 3318 adds r3, #24 80b50f6: 697a ldr r2, [r7, #20] 80b50f8: 601a str r2, [r3, #0] ptr1[7] = a7; 80b50fa: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b50fe: 331c adds r3, #28 80b5100: 693a ldr r2, [r7, #16] 80b5102: 601a str r2, [r3, #0] /* increment pointer by 8 */ ptr1 += 8u; 80b5104: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5108: 3320 adds r3, #32 80b510a: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 } while(--j); 80b510e: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b5112: 3b01 subs r3, #1 80b5114: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 80b5118: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b511c: 2b00 cmp r3, #0 80b511e: f47f af22 bne.w 80b4f66 twidCoefModifier <<= 2u; } #endif /* #ifndef ARM_MATH_CM0_FAMILY_FAMILY */ } 80b5122: bf00 nop 80b5124: f507 7782 add.w r7, r7, #260 ; 0x104 80b5128: 46bd mov sp, r7 80b512a: f85d 7b04 ldr.w r7, [sp], #4 80b512e: 4770 bx lr 080b5130 : float32_t * pSrc, uint16_t fftLen, float32_t * pCoef, uint16_t twidCoefModifier, float32_t onebyfftLen) { 80b5130: b480 push {r7} 80b5132: b0c3 sub sp, #268 ; 0x10c 80b5134: af00 add r7, sp, #0 80b5136: 60f8 str r0, [r7, #12] 80b5138: 4608 mov r0, r1 80b513a: 1d39 adds r1, r7, #4 80b513c: 600a str r2, [r1, #0] 80b513e: 461a mov r2, r3 80b5140: 463b mov r3, r7 80b5142: ed83 0a00 vstr s0, [r3] 80b5146: 4603 mov r3, r0 80b5148: 817b strh r3, [r7, #10] 80b514a: f107 0308 add.w r3, r7, #8 80b514e: 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; 80b5150: 897b ldrh r3, [r7, #10] 80b5152: f8c7 30fc str.w r3, [r7, #252] ; 0xfc n1 = n2; 80b5156: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b515a: f8c7 30ec str.w r3, [r7, #236] ; 0xec /* n2 = fftLen/4 */ n2 >>= 2u; 80b515e: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b5162: 089b lsrs r3, r3, #2 80b5164: f8c7 30fc str.w r3, [r7, #252] ; 0xfc i0 = 0u; 80b5168: 2300 movs r3, #0 80b516a: f8c7 3100 str.w r3, [r7, #256] ; 0x100 ia1 = 0u; 80b516e: 2300 movs r3, #0 80b5170: f8c7 3104 str.w r3, [r7, #260] ; 0x104 j = n2; 80b5174: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b5178: 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; 80b517c: f8d7 2100 ldr.w r2, [r7, #256] ; 0x100 80b5180: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b5184: 4413 add r3, r2 80b5186: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 i2 = i1 + n2; 80b518a: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b518e: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b5192: 4413 add r3, r2 80b5194: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 i3 = i2 + n2; 80b5198: f8d7 20e4 ldr.w r2, [r7, #228] ; 0xe4 80b519c: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b51a0: 4413 add r3, r2 80b51a2: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 /* Butterfly implementation */ xaIn = pSrc[(2u * i0)]; 80b51a6: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b51aa: 00db lsls r3, r3, #3 80b51ac: 68fa ldr r2, [r7, #12] 80b51ae: 4413 add r3, r2 80b51b0: 681b ldr r3, [r3, #0] 80b51b2: f8c7 30dc str.w r3, [r7, #220] ; 0xdc yaIn = pSrc[(2u * i0) + 1u]; 80b51b6: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b51ba: 00db lsls r3, r3, #3 80b51bc: 3304 adds r3, #4 80b51be: 68fa ldr r2, [r7, #12] 80b51c0: 4413 add r3, r2 80b51c2: 681b ldr r3, [r3, #0] 80b51c4: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xcIn = pSrc[(2u * i2)]; 80b51c8: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b51cc: 00db lsls r3, r3, #3 80b51ce: 68fa ldr r2, [r7, #12] 80b51d0: 4413 add r3, r2 80b51d2: 681b ldr r3, [r3, #0] 80b51d4: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 ycIn = pSrc[(2u * i2) + 1u]; 80b51d8: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b51dc: 00db lsls r3, r3, #3 80b51de: 3304 adds r3, #4 80b51e0: 68fa ldr r2, [r7, #12] 80b51e2: 4413 add r3, r2 80b51e4: 681b ldr r3, [r3, #0] 80b51e6: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xbIn = pSrc[(2u * i1)]; 80b51ea: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b51ee: 00db lsls r3, r3, #3 80b51f0: 68fa ldr r2, [r7, #12] 80b51f2: 4413 add r3, r2 80b51f4: 681b ldr r3, [r3, #0] 80b51f6: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = pSrc[(2u * i1) + 1u]; 80b51fa: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b51fe: 00db lsls r3, r3, #3 80b5200: 3304 adds r3, #4 80b5202: 68fa ldr r2, [r7, #12] 80b5204: 4413 add r3, r2 80b5206: 681b ldr r3, [r3, #0] 80b5208: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xdIn = pSrc[(2u * i3)]; 80b520c: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b5210: 00db lsls r3, r3, #3 80b5212: 68fa ldr r2, [r7, #12] 80b5214: 4413 add r3, r2 80b5216: 681b ldr r3, [r3, #0] 80b5218: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ydIn = pSrc[(2u * i3) + 1u]; 80b521c: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b5220: 00db lsls r3, r3, #3 80b5222: 3304 adds r3, #4 80b5224: 68fa ldr r2, [r7, #12] 80b5226: 4413 add r3, r2 80b5228: 681b ldr r3, [r3, #0] 80b522a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 /* xa + xc */ Xaplusc = xaIn + xcIn; 80b522e: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b5232: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b5236: ee77 7a27 vadd.f32 s15, s14, s15 80b523a: edc7 7a2f vstr s15, [r7, #188] ; 0xbc /* xb + xd */ Xbplusd = xbIn + xdIn; 80b523e: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b5242: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b5246: ee77 7a27 vadd.f32 s15, s14, s15 80b524a: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b524e: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b5252: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b5256: ee77 7a27 vadd.f32 s15, s14, s15 80b525a: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* yb + yd */ Ybplusd = ybIn + ydIn; 80b525e: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b5262: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b5266: ee77 7a27 vadd.f32 s15, s14, s15 80b526a: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* index calculation for the coefficients */ ia2 = ia1 + ia1; 80b526e: f8d7 2104 ldr.w r2, [r7, #260] ; 0x104 80b5272: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b5276: 4413 add r3, r2 80b5278: f8c7 30ac str.w r3, [r7, #172] ; 0xac co2 = pCoef[ia2 * 2u]; 80b527c: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b5280: 00db lsls r3, r3, #3 80b5282: 1d3a adds r2, r7, #4 80b5284: 6812 ldr r2, [r2, #0] 80b5286: 4413 add r3, r2 80b5288: 681b ldr r3, [r3, #0] 80b528a: f8c7 30a8 str.w r3, [r7, #168] ; 0xa8 si2 = pCoef[(ia2 * 2u) + 1u]; 80b528e: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b5292: 00db lsls r3, r3, #3 80b5294: 3304 adds r3, #4 80b5296: 1d3a adds r2, r7, #4 80b5298: 6812 ldr r2, [r2, #0] 80b529a: 4413 add r3, r2 80b529c: 681b ldr r3, [r3, #0] 80b529e: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 /* xa - xc */ Xaminusc = xaIn - xcIn; 80b52a2: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b52a6: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b52aa: ee77 7a67 vsub.f32 s15, s14, s15 80b52ae: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 /* xb - xd */ Xbminusd = xbIn - xdIn; 80b52b2: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b52b6: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b52ba: ee77 7a67 vsub.f32 s15, s14, s15 80b52be: edc7 7a27 vstr s15, [r7, #156] ; 0x9c /* ya - yc */ Yaminusc = yaIn - ycIn; 80b52c2: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b52c6: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b52ca: ee77 7a67 vsub.f32 s15, s14, s15 80b52ce: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* yb - yd */ Ybminusd = ybIn - ydIn; 80b52d2: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b52d6: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b52da: ee77 7a67 vsub.f32 s15, s14, s15 80b52de: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* xa' = xa + xb + xc + xd */ pSrc[(2u * i0)] = Xaplusc + Xbplusd; 80b52e2: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b52e6: 00db lsls r3, r3, #3 80b52e8: 68fa ldr r2, [r7, #12] 80b52ea: 4413 add r3, r2 80b52ec: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b52f0: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b52f4: ee77 7a27 vadd.f32 s15, s14, s15 80b52f8: edc3 7a00 vstr s15, [r3] /* ya' = ya + yb + yc + yd */ pSrc[(2u * i0) + 1u] = Yaplusc + Ybplusd; 80b52fc: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b5300: 00db lsls r3, r3, #3 80b5302: 3304 adds r3, #4 80b5304: 68fa ldr r2, [r7, #12] 80b5306: 4413 add r3, r2 80b5308: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b530c: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b5310: ee77 7a27 vadd.f32 s15, s14, s15 80b5314: edc3 7a00 vstr s15, [r3] /* (xa - xc) - (yb - yd) */ Xb12C_out = (Xaminusc - Ybminusd); 80b5318: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b531c: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b5320: ee77 7a67 vsub.f32 s15, s14, s15 80b5324: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* (ya - yc) + (xb - xd) */ Yb12C_out = (Yaminusc + Xbminusd); 80b5328: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b532c: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b5330: ee77 7a27 vadd.f32 s15, s14, s15 80b5334: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* (xa + xc) - (xb + xd) */ Xc12C_out = (Xaplusc - Xbplusd); 80b5338: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b533c: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b5340: ee77 7a67 vsub.f32 s15, s14, s15 80b5344: edc7 7a22 vstr s15, [r7, #136] ; 0x88 /* (ya + yc) - (yb + yd) */ Yc12C_out = (Yaplusc - Ybplusd); 80b5348: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b534c: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b5350: ee77 7a67 vsub.f32 s15, s14, s15 80b5354: edc7 7a21 vstr s15, [r7, #132] ; 0x84 /* (xa - xc) + (yb - yd) */ Xd12C_out = (Xaminusc + Ybminusd); 80b5358: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b535c: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b5360: ee77 7a27 vadd.f32 s15, s14, s15 80b5364: edc7 7a20 vstr s15, [r7, #128] ; 0x80 /* (ya - yc) - (xb - xd) */ Yd12C_out = (Yaminusc - Xbminusd); 80b5368: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b536c: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b5370: ee77 7a67 vsub.f32 s15, s14, s15 80b5374: edc7 7a1f vstr s15, [r7, #124] ; 0x7c co1 = pCoef[ia1 * 2u]; 80b5378: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b537c: 00db lsls r3, r3, #3 80b537e: 1d3a adds r2, r7, #4 80b5380: 6812 ldr r2, [r2, #0] 80b5382: 4413 add r3, r2 80b5384: 681b ldr r3, [r3, #0] 80b5386: 67bb str r3, [r7, #120] ; 0x78 si1 = pCoef[(ia1 * 2u) + 1u]; 80b5388: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b538c: 00db lsls r3, r3, #3 80b538e: 3304 adds r3, #4 80b5390: 1d3a adds r2, r7, #4 80b5392: 6812 ldr r2, [r2, #0] 80b5394: 4413 add r3, r2 80b5396: 681b ldr r3, [r3, #0] 80b5398: 677b str r3, [r7, #116] ; 0x74 /* index calculation for the coefficients */ ia3 = ia2 + ia1; 80b539a: f8d7 20ac ldr.w r2, [r7, #172] ; 0xac 80b539e: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b53a2: 4413 add r3, r2 80b53a4: 673b str r3, [r7, #112] ; 0x70 co3 = pCoef[ia3 * 2u]; 80b53a6: 6f3b ldr r3, [r7, #112] ; 0x70 80b53a8: 00db lsls r3, r3, #3 80b53aa: 1d3a adds r2, r7, #4 80b53ac: 6812 ldr r2, [r2, #0] 80b53ae: 4413 add r3, r2 80b53b0: 681b ldr r3, [r3, #0] 80b53b2: 66fb str r3, [r7, #108] ; 0x6c si3 = pCoef[(ia3 * 2u) + 1u]; 80b53b4: 6f3b ldr r3, [r7, #112] ; 0x70 80b53b6: 00db lsls r3, r3, #3 80b53b8: 3304 adds r3, #4 80b53ba: 1d3a adds r2, r7, #4 80b53bc: 6812 ldr r2, [r2, #0] 80b53be: 4413 add r3, r2 80b53c0: 681b ldr r3, [r3, #0] 80b53c2: 66bb str r3, [r7, #104] ; 0x68 Xb12_out = Xb12C_out * co1; 80b53c4: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b53c8: edd7 7a1e vldr s15, [r7, #120] ; 0x78 80b53cc: ee67 7a27 vmul.f32 s15, s14, s15 80b53d0: edc7 7a19 vstr s15, [r7, #100] ; 0x64 Yb12_out = Yb12C_out * co1; 80b53d4: ed97 7a23 vldr s14, [r7, #140] ; 0x8c 80b53d8: edd7 7a1e vldr s15, [r7, #120] ; 0x78 80b53dc: ee67 7a27 vmul.f32 s15, s14, s15 80b53e0: edc7 7a18 vstr s15, [r7, #96] ; 0x60 Xc12_out = Xc12C_out * co2; 80b53e4: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b53e8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b53ec: ee67 7a27 vmul.f32 s15, s14, s15 80b53f0: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yc12_out = Yc12C_out * co2; 80b53f4: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b53f8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b53fc: ee67 7a27 vmul.f32 s15, s14, s15 80b5400: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xd12_out = Xd12C_out * co3; 80b5404: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b5408: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b540c: ee67 7a27 vmul.f32 s15, s14, s15 80b5410: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yd12_out = Yd12C_out * co3; 80b5414: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b5418: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b541c: ee67 7a27 vmul.f32 s15, s14, s15 80b5420: 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; 80b5424: ed97 7a23 vldr s14, [r7, #140] ; 0x8c 80b5428: edd7 7a1d vldr s15, [r7, #116] ; 0x74 80b542c: ee67 7a27 vmul.f32 s15, s14, s15 80b5430: 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; 80b5434: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b5438: edd7 7a1d vldr s15, [r7, #116] ; 0x74 80b543c: ee67 7a27 vmul.f32 s15, s14, s15 80b5440: 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; 80b5444: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b5448: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b544c: ee67 7a27 vmul.f32 s15, s14, s15 80b5450: 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; 80b5454: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b5458: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b545c: ee67 7a27 vmul.f32 s15, s14, s15 80b5460: 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; 80b5464: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b5468: edd7 7a1a vldr s15, [r7, #104] ; 0x68 80b546c: ee67 7a27 vmul.f32 s15, s14, s15 80b5470: 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; 80b5474: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b5478: edd7 7a1a vldr s15, [r7, #104] ; 0x68 80b547c: ee67 7a27 vmul.f32 s15, s14, s15 80b5480: edc7 7a0e vstr s15, [r7, #56] ; 0x38 Xb12_out -= p0; 80b5484: ed97 7a19 vldr s14, [r7, #100] ; 0x64 80b5488: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b548c: ee77 7a67 vsub.f32 s15, s14, s15 80b5490: edc7 7a19 vstr s15, [r7, #100] ; 0x64 Yb12_out += p1; 80b5494: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b5498: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80b549c: ee77 7a27 vadd.f32 s15, s14, s15 80b54a0: edc7 7a18 vstr s15, [r7, #96] ; 0x60 Xc12_out -= p2; 80b54a4: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b54a8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b54ac: ee77 7a67 vsub.f32 s15, s14, s15 80b54b0: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yc12_out += p3; 80b54b4: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b54b8: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80b54bc: ee77 7a27 vadd.f32 s15, s14, s15 80b54c0: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xd12_out -= p4; 80b54c4: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b54c8: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b54cc: ee77 7a67 vsub.f32 s15, s14, s15 80b54d0: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yd12_out += p5; 80b54d4: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b54d8: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b54dc: ee77 7a27 vadd.f32 s15, s14, s15 80b54e0: edc7 7a14 vstr s15, [r7, #80] ; 0x50 /* xc' = (xa-xb+xc-xd)co2 - (ya-yb+yc-yd)(si2) */ pSrc[2u * i1] = Xc12_out; 80b54e4: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b54e8: 00db lsls r3, r3, #3 80b54ea: 68fa ldr r2, [r7, #12] 80b54ec: 4413 add r3, r2 80b54ee: 6dfa ldr r2, [r7, #92] ; 0x5c 80b54f0: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd)co2 + (xa-xb+xc-xd)(si2) */ pSrc[(2u * i1) + 1u] = Yc12_out; 80b54f2: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b54f6: 00db lsls r3, r3, #3 80b54f8: 3304 adds r3, #4 80b54fa: 68fa ldr r2, [r7, #12] 80b54fc: 4413 add r3, r2 80b54fe: 6dba ldr r2, [r7, #88] ; 0x58 80b5500: 601a str r2, [r3, #0] /* xb' = (xa+yb-xc-yd)co1 - (ya-xb-yc+xd)(si1) */ pSrc[2u * i2] = Xb12_out; 80b5502: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b5506: 00db lsls r3, r3, #3 80b5508: 68fa ldr r2, [r7, #12] 80b550a: 4413 add r3, r2 80b550c: 6e7a ldr r2, [r7, #100] ; 0x64 80b550e: 601a str r2, [r3, #0] /* yb' = (ya-xb-yc+xd)co1 + (xa+yb-xc-yd)(si1) */ pSrc[(2u * i2) + 1u] = Yb12_out; 80b5510: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b5514: 00db lsls r3, r3, #3 80b5516: 3304 adds r3, #4 80b5518: 68fa ldr r2, [r7, #12] 80b551a: 4413 add r3, r2 80b551c: 6e3a ldr r2, [r7, #96] ; 0x60 80b551e: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd)co3 - (ya+xb-yc-xd)(si3) */ pSrc[2u * i3] = Xd12_out; 80b5520: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b5524: 00db lsls r3, r3, #3 80b5526: 68fa ldr r2, [r7, #12] 80b5528: 4413 add r3, r2 80b552a: 6d7a ldr r2, [r7, #84] ; 0x54 80b552c: 601a str r2, [r3, #0] /* yd' = (ya+xb-yc-xd)co3 + (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = Yd12_out; 80b552e: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b5532: 00db lsls r3, r3, #3 80b5534: 3304 adds r3, #4 80b5536: 68fa ldr r2, [r7, #12] 80b5538: 4413 add r3, r2 80b553a: 6d3a ldr r2, [r7, #80] ; 0x50 80b553c: 601a str r2, [r3, #0] /* Twiddle coefficients index modifier */ ia1 = ia1 + twidCoefModifier; 80b553e: f107 0308 add.w r3, r7, #8 80b5542: 881b ldrh r3, [r3, #0] 80b5544: f8d7 2104 ldr.w r2, [r7, #260] ; 0x104 80b5548: 4413 add r3, r2 80b554a: f8c7 3104 str.w r3, [r7, #260] ; 0x104 /* Updating input index */ i0 = i0 + 1u; 80b554e: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b5552: 3301 adds r3, #1 80b5554: f8c7 3100 str.w r3, [r7, #256] ; 0x100 } while(--j); 80b5558: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b555c: 3b01 subs r3, #1 80b555e: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 80b5562: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b5566: 2b00 cmp r3, #0 80b5568: f47f ae08 bne.w 80b517c twidCoefModifier <<= 2u; 80b556c: f107 0308 add.w r3, r7, #8 80b5570: f107 0208 add.w r2, r7, #8 80b5574: 8812 ldrh r2, [r2, #0] 80b5576: 0092 lsls r2, r2, #2 80b5578: 801a strh r2, [r3, #0] /* Calculation of second stage to excluding last stage */ for (k = fftLen >> 2u; k > 4u; k >>= 2u) 80b557a: 897b ldrh r3, [r7, #10] 80b557c: 089b lsrs r3, r3, #2 80b557e: b29b uxth r3, r3 80b5580: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 80b5584: e221 b.n 80b59ca { /* Initializations for the first stage */ n1 = n2; 80b5586: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b558a: f8c7 30ec str.w r3, [r7, #236] ; 0xec n2 >>= 2u; 80b558e: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b5592: 089b lsrs r3, r3, #2 80b5594: f8c7 30fc str.w r3, [r7, #252] ; 0xfc ia1 = 0u; 80b5598: 2300 movs r3, #0 80b559a: f8c7 3104 str.w r3, [r7, #260] ; 0x104 /* Calculation of first stage */ j = 0; 80b559e: 2300 movs r3, #0 80b55a0: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 do { /* index calculation for the coefficients */ ia2 = ia1 + ia1; 80b55a4: f8d7 2104 ldr.w r2, [r7, #260] ; 0x104 80b55a8: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b55ac: 4413 add r3, r2 80b55ae: f8c7 30ac str.w r3, [r7, #172] ; 0xac ia3 = ia2 + ia1; 80b55b2: f8d7 20ac ldr.w r2, [r7, #172] ; 0xac 80b55b6: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b55ba: 4413 add r3, r2 80b55bc: 673b str r3, [r7, #112] ; 0x70 co1 = pCoef[ia1 * 2u]; 80b55be: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b55c2: 00db lsls r3, r3, #3 80b55c4: 1d3a adds r2, r7, #4 80b55c6: 6812 ldr r2, [r2, #0] 80b55c8: 4413 add r3, r2 80b55ca: 681b ldr r3, [r3, #0] 80b55cc: 67bb str r3, [r7, #120] ; 0x78 si1 = pCoef[(ia1 * 2u) + 1u]; 80b55ce: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b55d2: 00db lsls r3, r3, #3 80b55d4: 3304 adds r3, #4 80b55d6: 1d3a adds r2, r7, #4 80b55d8: 6812 ldr r2, [r2, #0] 80b55da: 4413 add r3, r2 80b55dc: 681b ldr r3, [r3, #0] 80b55de: 677b str r3, [r7, #116] ; 0x74 co2 = pCoef[ia2 * 2u]; 80b55e0: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b55e4: 00db lsls r3, r3, #3 80b55e6: 1d3a adds r2, r7, #4 80b55e8: 6812 ldr r2, [r2, #0] 80b55ea: 4413 add r3, r2 80b55ec: 681b ldr r3, [r3, #0] 80b55ee: f8c7 30a8 str.w r3, [r7, #168] ; 0xa8 si2 = pCoef[(ia2 * 2u) + 1u]; 80b55f2: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b55f6: 00db lsls r3, r3, #3 80b55f8: 3304 adds r3, #4 80b55fa: 1d3a adds r2, r7, #4 80b55fc: 6812 ldr r2, [r2, #0] 80b55fe: 4413 add r3, r2 80b5600: 681b ldr r3, [r3, #0] 80b5602: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 co3 = pCoef[ia3 * 2u]; 80b5606: 6f3b ldr r3, [r7, #112] ; 0x70 80b5608: 00db lsls r3, r3, #3 80b560a: 1d3a adds r2, r7, #4 80b560c: 6812 ldr r2, [r2, #0] 80b560e: 4413 add r3, r2 80b5610: 681b ldr r3, [r3, #0] 80b5612: 66fb str r3, [r7, #108] ; 0x6c si3 = pCoef[(ia3 * 2u) + 1u]; 80b5614: 6f3b ldr r3, [r7, #112] ; 0x70 80b5616: 00db lsls r3, r3, #3 80b5618: 3304 adds r3, #4 80b561a: 1d3a adds r2, r7, #4 80b561c: 6812 ldr r2, [r2, #0] 80b561e: 4413 add r3, r2 80b5620: 681b ldr r3, [r3, #0] 80b5622: 66bb str r3, [r7, #104] ; 0x68 /* Twiddle coefficients index modifier */ ia1 = ia1 + twidCoefModifier; 80b5624: f107 0308 add.w r3, r7, #8 80b5628: 881b ldrh r3, [r3, #0] 80b562a: f8d7 2104 ldr.w r2, [r7, #260] ; 0x104 80b562e: 4413 add r3, r2 80b5630: f8c7 3104 str.w r3, [r7, #260] ; 0x104 i0 = j; 80b5634: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b5638: 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; 80b563c: f8d7 2100 ldr.w r2, [r7, #256] ; 0x100 80b5640: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b5644: 4413 add r3, r2 80b5646: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 i2 = i1 + n2; 80b564a: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b564e: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b5652: 4413 add r3, r2 80b5654: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 i3 = i2 + n2; 80b5658: f8d7 20e4 ldr.w r2, [r7, #228] ; 0xe4 80b565c: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b5660: 4413 add r3, r2 80b5662: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 xaIn = pSrc[(2u * i0)]; 80b5666: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b566a: 00db lsls r3, r3, #3 80b566c: 68fa ldr r2, [r7, #12] 80b566e: 4413 add r3, r2 80b5670: 681b ldr r3, [r3, #0] 80b5672: f8c7 30dc str.w r3, [r7, #220] ; 0xdc yaIn = pSrc[(2u * i0) + 1u]; 80b5676: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b567a: 00db lsls r3, r3, #3 80b567c: 3304 adds r3, #4 80b567e: 68fa ldr r2, [r7, #12] 80b5680: 4413 add r3, r2 80b5682: 681b ldr r3, [r3, #0] 80b5684: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xbIn = pSrc[(2u * i1)]; 80b5688: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b568c: 00db lsls r3, r3, #3 80b568e: 68fa ldr r2, [r7, #12] 80b5690: 4413 add r3, r2 80b5692: 681b ldr r3, [r3, #0] 80b5694: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = pSrc[(2u * i1) + 1u]; 80b5698: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b569c: 00db lsls r3, r3, #3 80b569e: 3304 adds r3, #4 80b56a0: 68fa ldr r2, [r7, #12] 80b56a2: 4413 add r3, r2 80b56a4: 681b ldr r3, [r3, #0] 80b56a6: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = pSrc[(2u * i2)]; 80b56aa: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b56ae: 00db lsls r3, r3, #3 80b56b0: 68fa ldr r2, [r7, #12] 80b56b2: 4413 add r3, r2 80b56b4: 681b ldr r3, [r3, #0] 80b56b6: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 ycIn = pSrc[(2u * i2) + 1u]; 80b56ba: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b56be: 00db lsls r3, r3, #3 80b56c0: 3304 adds r3, #4 80b56c2: 68fa ldr r2, [r7, #12] 80b56c4: 4413 add r3, r2 80b56c6: 681b ldr r3, [r3, #0] 80b56c8: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xdIn = pSrc[(2u * i3)]; 80b56cc: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b56d0: 00db lsls r3, r3, #3 80b56d2: 68fa ldr r2, [r7, #12] 80b56d4: 4413 add r3, r2 80b56d6: 681b ldr r3, [r3, #0] 80b56d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ydIn = pSrc[(2u * i3) + 1u]; 80b56dc: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b56e0: 00db lsls r3, r3, #3 80b56e2: 3304 adds r3, #4 80b56e4: 68fa ldr r2, [r7, #12] 80b56e6: 4413 add r3, r2 80b56e8: 681b ldr r3, [r3, #0] 80b56ea: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 /* xa - xc */ Xaminusc = xaIn - xcIn; 80b56ee: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b56f2: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b56f6: ee77 7a67 vsub.f32 s15, s14, s15 80b56fa: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 /* (xb - xd) */ Xbminusd = xbIn - xdIn; 80b56fe: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b5702: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b5706: ee77 7a67 vsub.f32 s15, s14, s15 80b570a: edc7 7a27 vstr s15, [r7, #156] ; 0x9c /* ya - yc */ Yaminusc = yaIn - ycIn; 80b570e: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b5712: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b5716: ee77 7a67 vsub.f32 s15, s14, s15 80b571a: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* (yb - yd) */ Ybminusd = ybIn - ydIn; 80b571e: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b5722: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b5726: ee77 7a67 vsub.f32 s15, s14, s15 80b572a: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* xa + xc */ Xaplusc = xaIn + xcIn; 80b572e: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b5732: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b5736: ee77 7a27 vadd.f32 s15, s14, s15 80b573a: edc7 7a2f vstr s15, [r7, #188] ; 0xbc /* xb + xd */ Xbplusd = xbIn + xdIn; 80b573e: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b5742: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b5746: ee77 7a27 vadd.f32 s15, s14, s15 80b574a: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b574e: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b5752: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b5756: ee77 7a27 vadd.f32 s15, s14, s15 80b575a: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* yb + yd */ Ybplusd = ybIn + ydIn; 80b575e: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b5762: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b5766: ee77 7a27 vadd.f32 s15, s14, s15 80b576a: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* (xa - xc) - (yb - yd) */ Xb12C_out = (Xaminusc - Ybminusd); 80b576e: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b5772: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b5776: ee77 7a67 vsub.f32 s15, s14, s15 80b577a: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* (ya - yc) + (xb - xd) */ Yb12C_out = (Yaminusc + Xbminusd); 80b577e: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b5782: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b5786: ee77 7a27 vadd.f32 s15, s14, s15 80b578a: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* xa + xc -(xb + xd) */ Xc12C_out = (Xaplusc - Xbplusd); 80b578e: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b5792: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b5796: ee77 7a67 vsub.f32 s15, s14, s15 80b579a: edc7 7a22 vstr s15, [r7, #136] ; 0x88 /* (ya + yc) - (yb + yd) */ Yc12C_out = (Yaplusc - Ybplusd); 80b579e: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b57a2: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b57a6: ee77 7a67 vsub.f32 s15, s14, s15 80b57aa: edc7 7a21 vstr s15, [r7, #132] ; 0x84 /* (xa - xc) + (yb - yd) */ Xd12C_out = (Xaminusc + Ybminusd); 80b57ae: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b57b2: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b57b6: ee77 7a27 vadd.f32 s15, s14, s15 80b57ba: edc7 7a20 vstr s15, [r7, #128] ; 0x80 /* (ya - yc) - (xb - xd) */ Yd12C_out = (Yaminusc - Xbminusd); 80b57be: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b57c2: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b57c6: ee77 7a67 vsub.f32 s15, s14, s15 80b57ca: edc7 7a1f vstr s15, [r7, #124] ; 0x7c pSrc[(2u * i0)] = Xaplusc + Xbplusd; 80b57ce: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b57d2: 00db lsls r3, r3, #3 80b57d4: 68fa ldr r2, [r7, #12] 80b57d6: 4413 add r3, r2 80b57d8: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b57dc: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b57e0: ee77 7a27 vadd.f32 s15, s14, s15 80b57e4: edc3 7a00 vstr s15, [r3] pSrc[(2u * i0) + 1u] = Yaplusc + Ybplusd; 80b57e8: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b57ec: 00db lsls r3, r3, #3 80b57ee: 3304 adds r3, #4 80b57f0: 68fa ldr r2, [r7, #12] 80b57f2: 4413 add r3, r2 80b57f4: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b57f8: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b57fc: ee77 7a27 vadd.f32 s15, s14, s15 80b5800: edc3 7a00 vstr s15, [r3] Xb12_out = Xb12C_out * co1; 80b5804: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b5808: edd7 7a1e vldr s15, [r7, #120] ; 0x78 80b580c: ee67 7a27 vmul.f32 s15, s14, s15 80b5810: edc7 7a19 vstr s15, [r7, #100] ; 0x64 Yb12_out = Yb12C_out * co1; 80b5814: ed97 7a23 vldr s14, [r7, #140] ; 0x8c 80b5818: edd7 7a1e vldr s15, [r7, #120] ; 0x78 80b581c: ee67 7a27 vmul.f32 s15, s14, s15 80b5820: edc7 7a18 vstr s15, [r7, #96] ; 0x60 Xc12_out = Xc12C_out * co2; 80b5824: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b5828: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b582c: ee67 7a27 vmul.f32 s15, s14, s15 80b5830: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yc12_out = Yc12C_out * co2; 80b5834: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b5838: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b583c: ee67 7a27 vmul.f32 s15, s14, s15 80b5840: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xd12_out = Xd12C_out * co3; 80b5844: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b5848: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b584c: ee67 7a27 vmul.f32 s15, s14, s15 80b5850: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yd12_out = Yd12C_out * co3; 80b5854: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b5858: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b585c: ee67 7a27 vmul.f32 s15, s14, s15 80b5860: 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; 80b5864: ed97 7a23 vldr s14, [r7, #140] ; 0x8c 80b5868: edd7 7a1d vldr s15, [r7, #116] ; 0x74 80b586c: ee67 7a27 vmul.f32 s15, s14, s15 80b5870: 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; 80b5874: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b5878: edd7 7a1d vldr s15, [r7, #116] ; 0x74 80b587c: ee67 7a27 vmul.f32 s15, s14, s15 80b5880: 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; 80b5884: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b5888: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b588c: ee67 7a27 vmul.f32 s15, s14, s15 80b5890: 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; 80b5894: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b5898: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b589c: ee67 7a27 vmul.f32 s15, s14, s15 80b58a0: 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; 80b58a4: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b58a8: edd7 7a1a vldr s15, [r7, #104] ; 0x68 80b58ac: ee67 7a27 vmul.f32 s15, s14, s15 80b58b0: 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; 80b58b4: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b58b8: edd7 7a1a vldr s15, [r7, #104] ; 0x68 80b58bc: ee67 7a27 vmul.f32 s15, s14, s15 80b58c0: edc7 7a0e vstr s15, [r7, #56] ; 0x38 Xb12_out -= p0; 80b58c4: ed97 7a19 vldr s14, [r7, #100] ; 0x64 80b58c8: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b58cc: ee77 7a67 vsub.f32 s15, s14, s15 80b58d0: edc7 7a19 vstr s15, [r7, #100] ; 0x64 Yb12_out += p1; 80b58d4: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b58d8: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80b58dc: ee77 7a27 vadd.f32 s15, s14, s15 80b58e0: edc7 7a18 vstr s15, [r7, #96] ; 0x60 Xc12_out -= p2; 80b58e4: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b58e8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b58ec: ee77 7a67 vsub.f32 s15, s14, s15 80b58f0: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yc12_out += p3; 80b58f4: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b58f8: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80b58fc: ee77 7a27 vadd.f32 s15, s14, s15 80b5900: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xd12_out -= p4; 80b5904: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b5908: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b590c: ee77 7a67 vsub.f32 s15, s14, s15 80b5910: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yd12_out += p5; 80b5914: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b5918: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b591c: ee77 7a27 vadd.f32 s15, s14, s15 80b5920: edc7 7a14 vstr s15, [r7, #80] ; 0x50 /* xc' = (xa-xb+xc-xd)co2 - (ya-yb+yc-yd)(si2) */ pSrc[2u * i1] = Xc12_out; 80b5924: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5928: 00db lsls r3, r3, #3 80b592a: 68fa ldr r2, [r7, #12] 80b592c: 4413 add r3, r2 80b592e: 6dfa ldr r2, [r7, #92] ; 0x5c 80b5930: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd)co2 + (xa-xb+xc-xd)(si2) */ pSrc[(2u * i1) + 1u] = Yc12_out; 80b5932: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5936: 00db lsls r3, r3, #3 80b5938: 3304 adds r3, #4 80b593a: 68fa ldr r2, [r7, #12] 80b593c: 4413 add r3, r2 80b593e: 6dba ldr r2, [r7, #88] ; 0x58 80b5940: 601a str r2, [r3, #0] /* xb' = (xa+yb-xc-yd)co1 - (ya-xb-yc+xd)(si1) */ pSrc[2u * i2] = Xb12_out; 80b5942: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b5946: 00db lsls r3, r3, #3 80b5948: 68fa ldr r2, [r7, #12] 80b594a: 4413 add r3, r2 80b594c: 6e7a ldr r2, [r7, #100] ; 0x64 80b594e: 601a str r2, [r3, #0] /* yb' = (ya-xb-yc+xd)co1 + (xa+yb-xc-yd)(si1) */ pSrc[(2u * i2) + 1u] = Yb12_out; 80b5950: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b5954: 00db lsls r3, r3, #3 80b5956: 3304 adds r3, #4 80b5958: 68fa ldr r2, [r7, #12] 80b595a: 4413 add r3, r2 80b595c: 6e3a ldr r2, [r7, #96] ; 0x60 80b595e: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd)co3 - (ya+xb-yc-xd)(si3) */ pSrc[2u * i3] = Xd12_out; 80b5960: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b5964: 00db lsls r3, r3, #3 80b5966: 68fa ldr r2, [r7, #12] 80b5968: 4413 add r3, r2 80b596a: 6d7a ldr r2, [r7, #84] ; 0x54 80b596c: 601a str r2, [r3, #0] /* yd' = (ya+xb-yc-xd)co3 + (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = Yd12_out; 80b596e: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b5972: 00db lsls r3, r3, #3 80b5974: 3304 adds r3, #4 80b5976: 68fa ldr r2, [r7, #12] 80b5978: 4413 add r3, r2 80b597a: 6d3a ldr r2, [r7, #80] ; 0x50 80b597c: 601a str r2, [r3, #0] i0 += n1; 80b597e: f8d7 2100 ldr.w r2, [r7, #256] ; 0x100 80b5982: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b5986: 4413 add r3, r2 80b5988: f8c7 3100 str.w r3, [r7, #256] ; 0x100 } while(i0 < fftLen); 80b598c: 897a ldrh r2, [r7, #10] 80b598e: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b5992: 429a cmp r2, r3 80b5994: f63f ae52 bhi.w 80b563c j++; 80b5998: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b599c: 3301 adds r3, #1 80b599e: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 } while(j <= (n2 - 1u)); 80b59a2: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b59a6: 1e5a subs r2, r3, #1 80b59a8: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b59ac: 429a cmp r2, r3 80b59ae: f4bf adf9 bcs.w 80b55a4 twidCoefModifier <<= 2u; 80b59b2: f107 0308 add.w r3, r7, #8 80b59b6: f107 0208 add.w r2, r7, #8 80b59ba: 8812 ldrh r2, [r2, #0] 80b59bc: 0092 lsls r2, r2, #2 80b59be: 801a strh r2, [r3, #0] for (k = fftLen >> 2u; k > 4u; k >>= 2u) 80b59c0: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b59c4: 089b lsrs r3, r3, #2 80b59c6: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 80b59ca: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b59ce: 2b04 cmp r3, #4 80b59d0: f63f add9 bhi.w 80b5586 } /* Initializations of last stage */ j = fftLen >> 2; 80b59d4: 897b ldrh r3, [r7, #10] 80b59d6: 089b lsrs r3, r3, #2 80b59d8: b29b uxth r3, r3 80b59da: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 ptr1 = &pSrc[0]; 80b59de: 68fb ldr r3, [r7, #12] 80b59e0: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 /* Calculations of last stage */ do { xaIn = ptr1[0]; 80b59e4: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b59e8: 681b ldr r3, [r3, #0] 80b59ea: f8c7 30dc str.w r3, [r7, #220] ; 0xdc yaIn = ptr1[1]; 80b59ee: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b59f2: 685b ldr r3, [r3, #4] 80b59f4: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xbIn = ptr1[2]; 80b59f8: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b59fc: 689b ldr r3, [r3, #8] 80b59fe: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = ptr1[3]; 80b5a02: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b5a06: 68db ldr r3, [r3, #12] 80b5a08: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = ptr1[4]; 80b5a0c: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b5a10: 691b ldr r3, [r3, #16] 80b5a12: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 ycIn = ptr1[5]; 80b5a16: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b5a1a: 695b ldr r3, [r3, #20] 80b5a1c: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xdIn = ptr1[6]; 80b5a20: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b5a24: 699b ldr r3, [r3, #24] 80b5a26: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ydIn = ptr1[7]; 80b5a2a: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b5a2e: 69db ldr r3, [r3, #28] 80b5a30: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 /* Butterfly implementation */ /* xa + xc */ Xaplusc = xaIn + xcIn; 80b5a34: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b5a38: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b5a3c: ee77 7a27 vadd.f32 s15, s14, s15 80b5a40: edc7 7a2f vstr s15, [r7, #188] ; 0xbc /* xa - xc */ Xaminusc = xaIn - xcIn; 80b5a44: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b5a48: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b5a4c: ee77 7a67 vsub.f32 s15, s14, s15 80b5a50: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b5a54: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b5a58: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b5a5c: ee77 7a27 vadd.f32 s15, s14, s15 80b5a60: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* ya - yc */ Yaminusc = yaIn - ycIn; 80b5a64: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b5a68: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b5a6c: ee77 7a67 vsub.f32 s15, s14, s15 80b5a70: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* xb + xd */ Xbplusd = xbIn + xdIn; 80b5a74: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b5a78: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b5a7c: ee77 7a27 vadd.f32 s15, s14, s15 80b5a80: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 /* yb + yd */ Ybplusd = ybIn + ydIn; 80b5a84: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b5a88: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b5a8c: ee77 7a27 vadd.f32 s15, s14, s15 80b5a90: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* (xb-xd) */ Xbminusd = xbIn - xdIn; 80b5a94: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b5a98: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b5a9c: ee77 7a67 vsub.f32 s15, s14, s15 80b5aa0: edc7 7a27 vstr s15, [r7, #156] ; 0x9c /* (yb-yd) */ Ybminusd = ybIn - ydIn; 80b5aa4: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b5aa8: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b5aac: ee77 7a67 vsub.f32 s15, s14, s15 80b5ab0: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* xa' = (xa+xb+xc+xd) * onebyfftLen */ a0 = (Xaplusc + Xbplusd); 80b5ab4: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b5ab8: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b5abc: ee77 7a27 vadd.f32 s15, s14, s15 80b5ac0: edc7 7a0d vstr s15, [r7, #52] ; 0x34 /* ya' = (ya+yb+yc+yd) * onebyfftLen */ a1 = (Yaplusc + Ybplusd); 80b5ac4: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b5ac8: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b5acc: ee77 7a27 vadd.f32 s15, s14, s15 80b5ad0: edc7 7a0c vstr s15, [r7, #48] ; 0x30 /* xc' = (xa-xb+xc-xd) * onebyfftLen */ a2 = (Xaplusc - Xbplusd); 80b5ad4: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b5ad8: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b5adc: ee77 7a67 vsub.f32 s15, s14, s15 80b5ae0: edc7 7a0b vstr s15, [r7, #44] ; 0x2c /* yc' = (ya-yb+yc-yd) * onebyfftLen */ a3 = (Yaplusc - Ybplusd); 80b5ae4: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b5ae8: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b5aec: ee77 7a67 vsub.f32 s15, s14, s15 80b5af0: edc7 7a0a vstr s15, [r7, #40] ; 0x28 /* xb' = (xa-yb-xc+yd) * onebyfftLen */ a4 = (Xaminusc - Ybminusd); 80b5af4: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b5af8: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b5afc: ee77 7a67 vsub.f32 s15, s14, s15 80b5b00: edc7 7a09 vstr s15, [r7, #36] ; 0x24 /* yb' = (ya+xb-yc-xd) * onebyfftLen */ a5 = (Yaminusc + Xbminusd); 80b5b04: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b5b08: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b5b0c: ee77 7a27 vadd.f32 s15, s14, s15 80b5b10: edc7 7a08 vstr s15, [r7, #32] /* xd' = (xa-yb-xc+yd) * onebyfftLen */ a6 = (Xaminusc + Ybminusd); 80b5b14: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b5b18: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b5b1c: ee77 7a27 vadd.f32 s15, s14, s15 80b5b20: edc7 7a07 vstr s15, [r7, #28] /* yd' = (ya-xb-yc+xd) * onebyfftLen */ a7 = (Yaminusc - Xbminusd); 80b5b24: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b5b28: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b5b2c: ee77 7a67 vsub.f32 s15, s14, s15 80b5b30: edc7 7a06 vstr s15, [r7, #24] p0 = a0 * onebyfftLen; 80b5b34: 463b mov r3, r7 80b5b36: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b5b3a: edd3 7a00 vldr s15, [r3] 80b5b3e: ee67 7a27 vmul.f32 s15, s14, s15 80b5b42: edc7 7a13 vstr s15, [r7, #76] ; 0x4c p1 = a1 * onebyfftLen; 80b5b46: 463b mov r3, r7 80b5b48: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b5b4c: edd3 7a00 vldr s15, [r3] 80b5b50: ee67 7a27 vmul.f32 s15, s14, s15 80b5b54: edc7 7a12 vstr s15, [r7, #72] ; 0x48 p2 = a2 * onebyfftLen; 80b5b58: 463b mov r3, r7 80b5b5a: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b5b5e: edd3 7a00 vldr s15, [r3] 80b5b62: ee67 7a27 vmul.f32 s15, s14, s15 80b5b66: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p3 = a3 * onebyfftLen; 80b5b6a: 463b mov r3, r7 80b5b6c: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b5b70: edd3 7a00 vldr s15, [r3] 80b5b74: ee67 7a27 vmul.f32 s15, s14, s15 80b5b78: edc7 7a10 vstr s15, [r7, #64] ; 0x40 p4 = a4 * onebyfftLen; 80b5b7c: 463b mov r3, r7 80b5b7e: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b5b82: edd3 7a00 vldr s15, [r3] 80b5b86: ee67 7a27 vmul.f32 s15, s14, s15 80b5b8a: edc7 7a0f vstr s15, [r7, #60] ; 0x3c p5 = a5 * onebyfftLen; 80b5b8e: 463b mov r3, r7 80b5b90: ed97 7a08 vldr s14, [r7, #32] 80b5b94: edd3 7a00 vldr s15, [r3] 80b5b98: ee67 7a27 vmul.f32 s15, s14, s15 80b5b9c: edc7 7a0e vstr s15, [r7, #56] ; 0x38 p6 = a6 * onebyfftLen; 80b5ba0: 463b mov r3, r7 80b5ba2: ed97 7a07 vldr s14, [r7, #28] 80b5ba6: edd3 7a00 vldr s15, [r3] 80b5baa: ee67 7a27 vmul.f32 s15, s14, s15 80b5bae: edc7 7a05 vstr s15, [r7, #20] p7 = a7 * onebyfftLen; 80b5bb2: 463b mov r3, r7 80b5bb4: ed97 7a06 vldr s14, [r7, #24] 80b5bb8: edd3 7a00 vldr s15, [r3] 80b5bbc: ee67 7a27 vmul.f32 s15, s14, s15 80b5bc0: edc7 7a04 vstr s15, [r7, #16] /* xa' = (xa+xb+xc+xd) * onebyfftLen */ ptr1[0] = p0; 80b5bc4: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b5bc8: 6cfa ldr r2, [r7, #76] ; 0x4c 80b5bca: 601a str r2, [r3, #0] /* ya' = (ya+yb+yc+yd) * onebyfftLen */ ptr1[1] = p1; 80b5bcc: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b5bd0: 3304 adds r3, #4 80b5bd2: 6cba ldr r2, [r7, #72] ; 0x48 80b5bd4: 601a str r2, [r3, #0] /* xc' = (xa-xb+xc-xd) * onebyfftLen */ ptr1[2] = p2; 80b5bd6: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b5bda: 3308 adds r3, #8 80b5bdc: 6c7a ldr r2, [r7, #68] ; 0x44 80b5bde: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd) * onebyfftLen */ ptr1[3] = p3; 80b5be0: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b5be4: 330c adds r3, #12 80b5be6: 6c3a ldr r2, [r7, #64] ; 0x40 80b5be8: 601a str r2, [r3, #0] /* xb' = (xa-yb-xc+yd) * onebyfftLen */ ptr1[4] = p4; 80b5bea: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b5bee: 3310 adds r3, #16 80b5bf0: 6bfa ldr r2, [r7, #60] ; 0x3c 80b5bf2: 601a str r2, [r3, #0] /* yb' = (ya+xb-yc-xd) * onebyfftLen */ ptr1[5] = p5; 80b5bf4: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b5bf8: 3314 adds r3, #20 80b5bfa: 6bba ldr r2, [r7, #56] ; 0x38 80b5bfc: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd) * onebyfftLen */ ptr1[6] = p6; 80b5bfe: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b5c02: 3318 adds r3, #24 80b5c04: 697a ldr r2, [r7, #20] 80b5c06: 601a str r2, [r3, #0] /* yd' = (ya-xb-yc+xd) * onebyfftLen */ ptr1[7] = p7; 80b5c08: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b5c0c: 331c adds r3, #28 80b5c0e: 693a ldr r2, [r7, #16] 80b5c10: 601a str r2, [r3, #0] /* increment source pointer by 8 for next calculations */ ptr1 = ptr1 + 8u; 80b5c12: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b5c16: 3320 adds r3, #32 80b5c18: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 } while(--j); 80b5c1c: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b5c20: 3b01 subs r3, #1 80b5c22: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 80b5c26: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b5c2a: 2b00 cmp r3, #0 80b5c2c: f47f aeda bne.w 80b59e4 /* yd' = (ya+xb-yc-xd)co3 + (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = s2 * onebyfftLen; } #endif /* #ifndef ARM_MATH_CM0_FAMILY_FAMILY */ } 80b5c30: bf00 nop 80b5c32: f507 7786 add.w r7, r7, #268 ; 0x10c 80b5c36: 46bd mov sp, r7 80b5c38: f85d 7b04 ldr.w r7, [sp], #4 80b5c3c: 4770 bx lr ... 080b5c40 : arm_status arm_cfft_radix4_init_f32( arm_cfft_radix4_instance_f32 * S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag) { 80b5c40: b480 push {r7} 80b5c42: b085 sub sp, #20 80b5c44: af00 add r7, sp, #0 80b5c46: 6078 str r0, [r7, #4] 80b5c48: 4608 mov r0, r1 80b5c4a: 4611 mov r1, r2 80b5c4c: 461a mov r2, r3 80b5c4e: 4603 mov r3, r0 80b5c50: 807b strh r3, [r7, #2] 80b5c52: 460b mov r3, r1 80b5c54: 707b strb r3, [r7, #1] 80b5c56: 4613 mov r3, r2 80b5c58: 703b strb r3, [r7, #0] /* Initialise the default arm status */ arm_status status = ARM_MATH_SUCCESS; 80b5c5a: 2300 movs r3, #0 80b5c5c: 73fb strb r3, [r7, #15] /* Initialise the FFT length */ S->fftLen = fftLen; 80b5c5e: 687b ldr r3, [r7, #4] 80b5c60: 887a ldrh r2, [r7, #2] 80b5c62: 801a strh r2, [r3, #0] /* Initialise the Twiddle coefficient pointer */ S->pTwiddle = (float32_t *) twiddleCoef; 80b5c64: 687b ldr r3, [r7, #4] 80b5c66: 4a37 ldr r2, [pc, #220] ; (80b5d44 ) 80b5c68: 605a str r2, [r3, #4] /* Initialise the Flag for selection of CFFT or CIFFT */ S->ifftFlag = ifftFlag; 80b5c6a: 687b ldr r3, [r7, #4] 80b5c6c: 787a ldrb r2, [r7, #1] 80b5c6e: 709a strb r2, [r3, #2] /* Initialise the Flag for calculation Bit reversal or not */ S->bitReverseFlag = bitReverseFlag; 80b5c70: 687b ldr r3, [r7, #4] 80b5c72: 783a ldrb r2, [r7, #0] 80b5c74: 70da strb r2, [r3, #3] /* Initializations of structure parameters depending on the FFT length */ switch (S->fftLen) 80b5c76: 687b ldr r3, [r7, #4] 80b5c78: 881b ldrh r3, [r3, #0] 80b5c7a: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b5c7e: d029 beq.n 80b5cd4 80b5c80: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b5c84: dc04 bgt.n 80b5c90 80b5c86: 2b10 cmp r3, #16 80b5c88: d040 beq.n 80b5d0c 80b5c8a: 2b40 cmp r3, #64 ; 0x40 80b5c8c: d030 beq.n 80b5cf0 80b5c8e: e04d b.n 80b5d2c 80b5c90: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80b5c94: d010 beq.n 80b5cb8 80b5c96: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80b5c9a: d147 bne.n 80b5d2c case 4096u: /* Initializations of structure parameters for 4096 point FFT */ /* Initialise the twiddle coef modifier value */ S->twidCoefModifier = 1u; 80b5c9c: 687b ldr r3, [r7, #4] 80b5c9e: 2201 movs r2, #1 80b5ca0: 819a strh r2, [r3, #12] /* Initialise the bit reversal table modifier */ S->bitRevFactor = 1u; 80b5ca2: 687b ldr r3, [r7, #4] 80b5ca4: 2201 movs r2, #1 80b5ca6: 81da strh r2, [r3, #14] /* Initialise the bit reversal table pointer */ S->pBitRevTable = (uint16_t *) armBitRevTable; 80b5ca8: 687b ldr r3, [r7, #4] 80b5caa: 4a27 ldr r2, [pc, #156] ; (80b5d48 ) 80b5cac: 609a str r2, [r3, #8] /* Initialise the 1/fftLen Value */ S->onebyfftLen = 0.000244140625; 80b5cae: 687b ldr r3, [r7, #4] 80b5cb0: f04f 5266 mov.w r2, #964689920 ; 0x39800000 80b5cb4: 611a str r2, [r3, #16] break; 80b5cb6: e03c b.n 80b5d32 case 1024u: /* Initializations of structure parameters for 1024 point FFT */ /* Initialise the twiddle coef modifier value */ S->twidCoefModifier = 4u; 80b5cb8: 687b ldr r3, [r7, #4] 80b5cba: 2204 movs r2, #4 80b5cbc: 819a strh r2, [r3, #12] /* Initialise the bit reversal table modifier */ S->bitRevFactor = 4u; 80b5cbe: 687b ldr r3, [r7, #4] 80b5cc0: 2204 movs r2, #4 80b5cc2: 81da strh r2, [r3, #14] /* Initialise the bit reversal table pointer */ S->pBitRevTable = (uint16_t *) & armBitRevTable[3]; 80b5cc4: 687b ldr r3, [r7, #4] 80b5cc6: 4a21 ldr r2, [pc, #132] ; (80b5d4c ) 80b5cc8: 609a str r2, [r3, #8] /* Initialise the 1/fftLen Value */ S->onebyfftLen = 0.0009765625f; 80b5cca: 687b ldr r3, [r7, #4] 80b5ccc: f04f 526a mov.w r2, #981467136 ; 0x3a800000 80b5cd0: 611a str r2, [r3, #16] break; 80b5cd2: e02e b.n 80b5d32 case 256u: /* Initializations of structure parameters for 256 point FFT */ S->twidCoefModifier = 16u; 80b5cd4: 687b ldr r3, [r7, #4] 80b5cd6: 2210 movs r2, #16 80b5cd8: 819a strh r2, [r3, #12] S->bitRevFactor = 16u; 80b5cda: 687b ldr r3, [r7, #4] 80b5cdc: 2210 movs r2, #16 80b5cde: 81da strh r2, [r3, #14] S->pBitRevTable = (uint16_t *) & armBitRevTable[15]; 80b5ce0: 687b ldr r3, [r7, #4] 80b5ce2: 4a1b ldr r2, [pc, #108] ; (80b5d50 ) 80b5ce4: 609a str r2, [r3, #8] S->onebyfftLen = 0.00390625f; 80b5ce6: 687b ldr r3, [r7, #4] 80b5ce8: f04f 526e mov.w r2, #998244352 ; 0x3b800000 80b5cec: 611a str r2, [r3, #16] break; 80b5cee: e020 b.n 80b5d32 case 64u: /* Initializations of structure parameters for 64 point FFT */ S->twidCoefModifier = 64u; 80b5cf0: 687b ldr r3, [r7, #4] 80b5cf2: 2240 movs r2, #64 ; 0x40 80b5cf4: 819a strh r2, [r3, #12] S->bitRevFactor = 64u; 80b5cf6: 687b ldr r3, [r7, #4] 80b5cf8: 2240 movs r2, #64 ; 0x40 80b5cfa: 81da strh r2, [r3, #14] S->pBitRevTable = (uint16_t *) & armBitRevTable[63]; 80b5cfc: 687b ldr r3, [r7, #4] 80b5cfe: 4a15 ldr r2, [pc, #84] ; (80b5d54 ) 80b5d00: 609a str r2, [r3, #8] S->onebyfftLen = 0.015625f; 80b5d02: 687b ldr r3, [r7, #4] 80b5d04: f04f 5272 mov.w r2, #1015021568 ; 0x3c800000 80b5d08: 611a str r2, [r3, #16] break; 80b5d0a: e012 b.n 80b5d32 case 16u: /* Initializations of structure parameters for 16 point FFT */ S->twidCoefModifier = 256u; 80b5d0c: 687b ldr r3, [r7, #4] 80b5d0e: f44f 7280 mov.w r2, #256 ; 0x100 80b5d12: 819a strh r2, [r3, #12] S->bitRevFactor = 256u; 80b5d14: 687b ldr r3, [r7, #4] 80b5d16: f44f 7280 mov.w r2, #256 ; 0x100 80b5d1a: 81da strh r2, [r3, #14] S->pBitRevTable = (uint16_t *) & armBitRevTable[255]; 80b5d1c: 687b ldr r3, [r7, #4] 80b5d1e: 4a0e ldr r2, [pc, #56] ; (80b5d58 ) 80b5d20: 609a str r2, [r3, #8] S->onebyfftLen = 0.0625f; 80b5d22: 687b ldr r3, [r7, #4] 80b5d24: f04f 5276 mov.w r2, #1031798784 ; 0x3d800000 80b5d28: 611a str r2, [r3, #16] break; 80b5d2a: e002 b.n 80b5d32 default: /* Reporting argument error if fftSize is not valid value */ status = ARM_MATH_ARGUMENT_ERROR; 80b5d2c: 23ff movs r3, #255 ; 0xff 80b5d2e: 73fb strb r3, [r7, #15] break; 80b5d30: bf00 nop } return (status); 80b5d32: f997 300f ldrsb.w r3, [r7, #15] } 80b5d36: 4618 mov r0, r3 80b5d38: 3714 adds r7, #20 80b5d3a: 46bd mov sp, r7 80b5d3c: f85d 7b04 ldr.w r7, [sp], #4 80b5d40: 4770 bx lr 80b5d42: bf00 nop 80b5d44: 0818503c .word 0x0818503c 80b5d48: 0817e5e8 .word 0x0817e5e8 80b5d4c: 0817e5ee .word 0x0817e5ee 80b5d50: 0817e606 .word 0x0817e606 80b5d54: 0817e666 .word 0x0817e666 80b5d58: 0817e7e6 .word 0x0817e7e6 080b5d5c : void arm_radix8_butterfly_f32( float32_t * pSrc, uint16_t fftLen, const float32_t * pCoef, uint16_t twidCoefModifier) { 80b5d5c: b480 push {r7} 80b5d5e: b0bd sub sp, #244 ; 0xf4 80b5d60: af00 add r7, sp, #0 80b5d62: 60f8 str r0, [r7, #12] 80b5d64: 607a str r2, [r7, #4] 80b5d66: 461a mov r2, r3 80b5d68: 460b mov r3, r1 80b5d6a: 817b strh r3, [r7, #10] 80b5d6c: 4613 mov r3, r2 80b5d6e: 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; 80b5d70: 4b09 ldr r3, [pc, #36] ; (80b5d98 ) 80b5d72: f8c7 30dc str.w r3, [r7, #220] ; 0xdc n2 = fftLen; 80b5d76: 897b ldrh r3, [r7, #10] 80b5d78: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 do { n1 = n2; 80b5d7c: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b5d80: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 n2 = n2 >> 3; 80b5d84: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b5d88: 08db lsrs r3, r3, #3 80b5d8a: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 i1 = 0; 80b5d8e: 2300 movs r3, #0 80b5d90: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 80b5d94: e002 b.n 80b5d9c 80b5d96: bf00 nop 80b5d98: 3f3504f3 .word 0x3f3504f3 do { i2 = i1 + n2; 80b5d9c: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b5da0: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b5da4: 4413 add r3, r2 80b5da6: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 i3 = i2 + n2; 80b5daa: f8d7 20d4 ldr.w r2, [r7, #212] ; 0xd4 80b5dae: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b5db2: 4413 add r3, r2 80b5db4: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 i4 = i3 + n2; 80b5db8: f8d7 20d0 ldr.w r2, [r7, #208] ; 0xd0 80b5dbc: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b5dc0: 4413 add r3, r2 80b5dc2: f8c7 30cc str.w r3, [r7, #204] ; 0xcc i5 = i4 + n2; 80b5dc6: f8d7 20cc ldr.w r2, [r7, #204] ; 0xcc 80b5dca: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b5dce: 4413 add r3, r2 80b5dd0: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 i6 = i5 + n2; 80b5dd4: f8d7 20c8 ldr.w r2, [r7, #200] ; 0xc8 80b5dd8: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b5ddc: 4413 add r3, r2 80b5dde: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i7 = i6 + n2; 80b5de2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80b5de6: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b5dea: 4413 add r3, r2 80b5dec: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 i8 = i7 + n2; 80b5df0: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80b5df4: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b5df8: 4413 add r3, r2 80b5dfa: f8c7 30bc str.w r3, [r7, #188] ; 0xbc r1 = pSrc[2 * i1] + pSrc[2 * i5]; 80b5dfe: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5e02: 00db lsls r3, r3, #3 80b5e04: 68fa ldr r2, [r7, #12] 80b5e06: 4413 add r3, r2 80b5e08: ed93 7a00 vldr s14, [r3] 80b5e0c: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b5e10: 00db lsls r3, r3, #3 80b5e12: 68fa ldr r2, [r7, #12] 80b5e14: 4413 add r3, r2 80b5e16: edd3 7a00 vldr s15, [r3] 80b5e1a: ee77 7a27 vadd.f32 s15, s14, s15 80b5e1e: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r5 = pSrc[2 * i1] - pSrc[2 * i5]; 80b5e22: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5e26: 00db lsls r3, r3, #3 80b5e28: 68fa ldr r2, [r7, #12] 80b5e2a: 4413 add r3, r2 80b5e2c: ed93 7a00 vldr s14, [r3] 80b5e30: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b5e34: 00db lsls r3, r3, #3 80b5e36: 68fa ldr r2, [r7, #12] 80b5e38: 4413 add r3, r2 80b5e3a: edd3 7a00 vldr s15, [r3] 80b5e3e: ee77 7a67 vsub.f32 s15, s14, s15 80b5e42: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r2 = pSrc[2 * i2] + pSrc[2 * i6]; 80b5e46: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b5e4a: 00db lsls r3, r3, #3 80b5e4c: 68fa ldr r2, [r7, #12] 80b5e4e: 4413 add r3, r2 80b5e50: ed93 7a00 vldr s14, [r3] 80b5e54: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b5e58: 00db lsls r3, r3, #3 80b5e5a: 68fa ldr r2, [r7, #12] 80b5e5c: 4413 add r3, r2 80b5e5e: edd3 7a00 vldr s15, [r3] 80b5e62: ee77 7a27 vadd.f32 s15, s14, s15 80b5e66: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 r6 = pSrc[2 * i2] - pSrc[2 * i6]; 80b5e6a: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b5e6e: 00db lsls r3, r3, #3 80b5e70: 68fa ldr r2, [r7, #12] 80b5e72: 4413 add r3, r2 80b5e74: ed93 7a00 vldr s14, [r3] 80b5e78: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b5e7c: 00db lsls r3, r3, #3 80b5e7e: 68fa ldr r2, [r7, #12] 80b5e80: 4413 add r3, r2 80b5e82: edd3 7a00 vldr s15, [r3] 80b5e86: ee77 7a67 vsub.f32 s15, s14, s15 80b5e8a: edc7 7a2b vstr s15, [r7, #172] ; 0xac r3 = pSrc[2 * i3] + pSrc[2 * i7]; 80b5e8e: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b5e92: 00db lsls r3, r3, #3 80b5e94: 68fa ldr r2, [r7, #12] 80b5e96: 4413 add r3, r2 80b5e98: ed93 7a00 vldr s14, [r3] 80b5e9c: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b5ea0: 00db lsls r3, r3, #3 80b5ea2: 68fa ldr r2, [r7, #12] 80b5ea4: 4413 add r3, r2 80b5ea6: edd3 7a00 vldr s15, [r3] 80b5eaa: ee77 7a27 vadd.f32 s15, s14, s15 80b5eae: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 r7 = pSrc[2 * i3] - pSrc[2 * i7]; 80b5eb2: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b5eb6: 00db lsls r3, r3, #3 80b5eb8: 68fa ldr r2, [r7, #12] 80b5eba: 4413 add r3, r2 80b5ebc: ed93 7a00 vldr s14, [r3] 80b5ec0: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b5ec4: 00db lsls r3, r3, #3 80b5ec6: 68fa ldr r2, [r7, #12] 80b5ec8: 4413 add r3, r2 80b5eca: edd3 7a00 vldr s15, [r3] 80b5ece: ee77 7a67 vsub.f32 s15, s14, s15 80b5ed2: edc7 7a29 vstr s15, [r7, #164] ; 0xa4 r4 = pSrc[2 * i4] + pSrc[2 * i8]; 80b5ed6: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b5eda: 00db lsls r3, r3, #3 80b5edc: 68fa ldr r2, [r7, #12] 80b5ede: 4413 add r3, r2 80b5ee0: ed93 7a00 vldr s14, [r3] 80b5ee4: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b5ee8: 00db lsls r3, r3, #3 80b5eea: 68fa ldr r2, [r7, #12] 80b5eec: 4413 add r3, r2 80b5eee: edd3 7a00 vldr s15, [r3] 80b5ef2: ee77 7a27 vadd.f32 s15, s14, s15 80b5ef6: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 r8 = pSrc[2 * i4] - pSrc[2 * i8]; 80b5efa: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b5efe: 00db lsls r3, r3, #3 80b5f00: 68fa ldr r2, [r7, #12] 80b5f02: 4413 add r3, r2 80b5f04: ed93 7a00 vldr s14, [r3] 80b5f08: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b5f0c: 00db lsls r3, r3, #3 80b5f0e: 68fa ldr r2, [r7, #12] 80b5f10: 4413 add r3, r2 80b5f12: edd3 7a00 vldr s15, [r3] 80b5f16: ee77 7a67 vsub.f32 s15, s14, s15 80b5f1a: edc7 7a27 vstr s15, [r7, #156] ; 0x9c t1 = r1 - r3; 80b5f1e: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b5f22: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b5f26: ee77 7a67 vsub.f32 s15, s14, s15 80b5f2a: edc7 7a26 vstr s15, [r7, #152] ; 0x98 r1 = r1 + r3; 80b5f2e: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b5f32: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b5f36: ee77 7a27 vadd.f32 s15, s14, s15 80b5f3a: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r3 = r2 - r4; 80b5f3e: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b5f42: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b5f46: ee77 7a67 vsub.f32 s15, s14, s15 80b5f4a: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 r2 = r2 + r4; 80b5f4e: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b5f52: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b5f56: ee77 7a27 vadd.f32 s15, s14, s15 80b5f5a: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 pSrc[2 * i1] = r1 + r2; 80b5f5e: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5f62: 00db lsls r3, r3, #3 80b5f64: 68fa ldr r2, [r7, #12] 80b5f66: 4413 add r3, r2 80b5f68: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b5f6c: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b5f70: ee77 7a27 vadd.f32 s15, s14, s15 80b5f74: edc3 7a00 vstr s15, [r3] pSrc[2 * i5] = r1 - r2; 80b5f78: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b5f7c: 00db lsls r3, r3, #3 80b5f7e: 68fa ldr r2, [r7, #12] 80b5f80: 4413 add r3, r2 80b5f82: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b5f86: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b5f8a: ee77 7a67 vsub.f32 s15, s14, s15 80b5f8e: edc3 7a00 vstr s15, [r3] r1 = pSrc[2 * i1 + 1] + pSrc[2 * i5 + 1]; 80b5f92: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5f96: 00db lsls r3, r3, #3 80b5f98: 3304 adds r3, #4 80b5f9a: 68fa ldr r2, [r7, #12] 80b5f9c: 4413 add r3, r2 80b5f9e: ed93 7a00 vldr s14, [r3] 80b5fa2: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b5fa6: 00db lsls r3, r3, #3 80b5fa8: 3304 adds r3, #4 80b5faa: 68fa ldr r2, [r7, #12] 80b5fac: 4413 add r3, r2 80b5fae: edd3 7a00 vldr s15, [r3] 80b5fb2: ee77 7a27 vadd.f32 s15, s14, s15 80b5fb6: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 s5 = pSrc[2 * i1 + 1] - pSrc[2 * i5 + 1]; 80b5fba: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5fbe: 00db lsls r3, r3, #3 80b5fc0: 3304 adds r3, #4 80b5fc2: 68fa ldr r2, [r7, #12] 80b5fc4: 4413 add r3, r2 80b5fc6: ed93 7a00 vldr s14, [r3] 80b5fca: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b5fce: 00db lsls r3, r3, #3 80b5fd0: 3304 adds r3, #4 80b5fd2: 68fa ldr r2, [r7, #12] 80b5fd4: 4413 add r3, r2 80b5fd6: edd3 7a00 vldr s15, [r3] 80b5fda: ee77 7a67 vsub.f32 s15, s14, s15 80b5fde: edc7 7a25 vstr s15, [r7, #148] ; 0x94 r2 = pSrc[2 * i2 + 1] + pSrc[2 * i6 + 1]; 80b5fe2: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b5fe6: 00db lsls r3, r3, #3 80b5fe8: 3304 adds r3, #4 80b5fea: 68fa ldr r2, [r7, #12] 80b5fec: 4413 add r3, r2 80b5fee: ed93 7a00 vldr s14, [r3] 80b5ff2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b5ff6: 00db lsls r3, r3, #3 80b5ff8: 3304 adds r3, #4 80b5ffa: 68fa ldr r2, [r7, #12] 80b5ffc: 4413 add r3, r2 80b5ffe: edd3 7a00 vldr s15, [r3] 80b6002: ee77 7a27 vadd.f32 s15, s14, s15 80b6006: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 s6 = pSrc[2 * i2 + 1] - pSrc[2 * i6 + 1]; 80b600a: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b600e: 00db lsls r3, r3, #3 80b6010: 3304 adds r3, #4 80b6012: 68fa ldr r2, [r7, #12] 80b6014: 4413 add r3, r2 80b6016: ed93 7a00 vldr s14, [r3] 80b601a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b601e: 00db lsls r3, r3, #3 80b6020: 3304 adds r3, #4 80b6022: 68fa ldr r2, [r7, #12] 80b6024: 4413 add r3, r2 80b6026: edd3 7a00 vldr s15, [r3] 80b602a: ee77 7a67 vsub.f32 s15, s14, s15 80b602e: edc7 7a24 vstr s15, [r7, #144] ; 0x90 s3 = pSrc[2 * i3 + 1] + pSrc[2 * i7 + 1]; 80b6032: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b6036: 00db lsls r3, r3, #3 80b6038: 3304 adds r3, #4 80b603a: 68fa ldr r2, [r7, #12] 80b603c: 4413 add r3, r2 80b603e: ed93 7a00 vldr s14, [r3] 80b6042: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b6046: 00db lsls r3, r3, #3 80b6048: 3304 adds r3, #4 80b604a: 68fa ldr r2, [r7, #12] 80b604c: 4413 add r3, r2 80b604e: edd3 7a00 vldr s15, [r3] 80b6052: ee77 7a27 vadd.f32 s15, s14, s15 80b6056: edc7 7a23 vstr s15, [r7, #140] ; 0x8c s7 = pSrc[2 * i3 + 1] - pSrc[2 * i7 + 1]; 80b605a: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b605e: 00db lsls r3, r3, #3 80b6060: 3304 adds r3, #4 80b6062: 68fa ldr r2, [r7, #12] 80b6064: 4413 add r3, r2 80b6066: ed93 7a00 vldr s14, [r3] 80b606a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b606e: 00db lsls r3, r3, #3 80b6070: 3304 adds r3, #4 80b6072: 68fa ldr r2, [r7, #12] 80b6074: 4413 add r3, r2 80b6076: edd3 7a00 vldr s15, [r3] 80b607a: ee77 7a67 vsub.f32 s15, s14, s15 80b607e: edc7 7a22 vstr s15, [r7, #136] ; 0x88 r4 = pSrc[2 * i4 + 1] + pSrc[2 * i8 + 1]; 80b6082: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b6086: 00db lsls r3, r3, #3 80b6088: 3304 adds r3, #4 80b608a: 68fa ldr r2, [r7, #12] 80b608c: 4413 add r3, r2 80b608e: ed93 7a00 vldr s14, [r3] 80b6092: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b6096: 00db lsls r3, r3, #3 80b6098: 3304 adds r3, #4 80b609a: 68fa ldr r2, [r7, #12] 80b609c: 4413 add r3, r2 80b609e: edd3 7a00 vldr s15, [r3] 80b60a2: ee77 7a27 vadd.f32 s15, s14, s15 80b60a6: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 s8 = pSrc[2 * i4 + 1] - pSrc[2 * i8 + 1]; 80b60aa: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b60ae: 00db lsls r3, r3, #3 80b60b0: 3304 adds r3, #4 80b60b2: 68fa ldr r2, [r7, #12] 80b60b4: 4413 add r3, r2 80b60b6: ed93 7a00 vldr s14, [r3] 80b60ba: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b60be: 00db lsls r3, r3, #3 80b60c0: 3304 adds r3, #4 80b60c2: 68fa ldr r2, [r7, #12] 80b60c4: 4413 add r3, r2 80b60c6: edd3 7a00 vldr s15, [r3] 80b60ca: ee77 7a67 vsub.f32 s15, s14, s15 80b60ce: edc7 7a21 vstr s15, [r7, #132] ; 0x84 t2 = r1 - s3; 80b60d2: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b60d6: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b60da: ee77 7a67 vsub.f32 s15, s14, s15 80b60de: edc7 7a20 vstr s15, [r7, #128] ; 0x80 r1 = r1 + s3; 80b60e2: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b60e6: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b60ea: ee77 7a27 vadd.f32 s15, s14, s15 80b60ee: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 s3 = r2 - r4; 80b60f2: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b60f6: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b60fa: ee77 7a67 vsub.f32 s15, s14, s15 80b60fe: edc7 7a23 vstr s15, [r7, #140] ; 0x8c r2 = r2 + r4; 80b6102: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b6106: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b610a: ee77 7a27 vadd.f32 s15, s14, s15 80b610e: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 pSrc[2 * i1 + 1] = r1 + r2; 80b6112: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b6116: 00db lsls r3, r3, #3 80b6118: 3304 adds r3, #4 80b611a: 68fa ldr r2, [r7, #12] 80b611c: 4413 add r3, r2 80b611e: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b6122: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b6126: ee77 7a27 vadd.f32 s15, s14, s15 80b612a: edc3 7a00 vstr s15, [r3] pSrc[2 * i5 + 1] = r1 - r2; 80b612e: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b6132: 00db lsls r3, r3, #3 80b6134: 3304 adds r3, #4 80b6136: 68fa ldr r2, [r7, #12] 80b6138: 4413 add r3, r2 80b613a: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b613e: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b6142: ee77 7a67 vsub.f32 s15, s14, s15 80b6146: edc3 7a00 vstr s15, [r3] pSrc[2 * i3] = t1 + s3; 80b614a: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b614e: 00db lsls r3, r3, #3 80b6150: 68fa ldr r2, [r7, #12] 80b6152: 4413 add r3, r2 80b6154: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b6158: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b615c: ee77 7a27 vadd.f32 s15, s14, s15 80b6160: edc3 7a00 vstr s15, [r3] pSrc[2 * i7] = t1 - s3; 80b6164: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b6168: 00db lsls r3, r3, #3 80b616a: 68fa ldr r2, [r7, #12] 80b616c: 4413 add r3, r2 80b616e: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b6172: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b6176: ee77 7a67 vsub.f32 s15, s14, s15 80b617a: edc3 7a00 vstr s15, [r3] pSrc[2 * i3 + 1] = t2 - r3; 80b617e: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b6182: 00db lsls r3, r3, #3 80b6184: 3304 adds r3, #4 80b6186: 68fa ldr r2, [r7, #12] 80b6188: 4413 add r3, r2 80b618a: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b618e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b6192: ee77 7a67 vsub.f32 s15, s14, s15 80b6196: edc3 7a00 vstr s15, [r3] pSrc[2 * i7 + 1] = t2 + r3; 80b619a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b619e: 00db lsls r3, r3, #3 80b61a0: 3304 adds r3, #4 80b61a2: 68fa ldr r2, [r7, #12] 80b61a4: 4413 add r3, r2 80b61a6: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b61aa: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b61ae: ee77 7a27 vadd.f32 s15, s14, s15 80b61b2: edc3 7a00 vstr s15, [r3] r1 = (r6 - r8) * C81; 80b61b6: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b61ba: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b61be: ee37 7a67 vsub.f32 s14, s14, s15 80b61c2: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b61c6: ee67 7a27 vmul.f32 s15, s14, s15 80b61ca: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r6 = (r6 + r8) * C81; 80b61ce: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b61d2: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b61d6: ee37 7a27 vadd.f32 s14, s14, s15 80b61da: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b61de: ee67 7a27 vmul.f32 s15, s14, s15 80b61e2: edc7 7a2b vstr s15, [r7, #172] ; 0xac r2 = (s6 - s8) * C81; 80b61e6: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b61ea: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b61ee: ee37 7a67 vsub.f32 s14, s14, s15 80b61f2: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b61f6: ee67 7a27 vmul.f32 s15, s14, s15 80b61fa: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 s6 = (s6 + s8) * C81; 80b61fe: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b6202: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b6206: ee37 7a27 vadd.f32 s14, s14, s15 80b620a: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b620e: ee67 7a27 vmul.f32 s15, s14, s15 80b6212: edc7 7a24 vstr s15, [r7, #144] ; 0x90 t1 = r5 - r1; 80b6216: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b621a: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b621e: ee77 7a67 vsub.f32 s15, s14, s15 80b6222: edc7 7a26 vstr s15, [r7, #152] ; 0x98 r5 = r5 + r1; 80b6226: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b622a: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b622e: ee77 7a27 vadd.f32 s15, s14, s15 80b6232: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r8 = r7 - r6; 80b6236: ed97 7a29 vldr s14, [r7, #164] ; 0xa4 80b623a: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b623e: ee77 7a67 vsub.f32 s15, s14, s15 80b6242: edc7 7a27 vstr s15, [r7, #156] ; 0x9c r7 = r7 + r6; 80b6246: ed97 7a29 vldr s14, [r7, #164] ; 0xa4 80b624a: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b624e: ee77 7a27 vadd.f32 s15, s14, s15 80b6252: edc7 7a29 vstr s15, [r7, #164] ; 0xa4 t2 = s5 - r2; 80b6256: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b625a: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b625e: ee77 7a67 vsub.f32 s15, s14, s15 80b6262: edc7 7a20 vstr s15, [r7, #128] ; 0x80 s5 = s5 + r2; 80b6266: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b626a: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b626e: ee77 7a27 vadd.f32 s15, s14, s15 80b6272: edc7 7a25 vstr s15, [r7, #148] ; 0x94 s8 = s7 - s6; 80b6276: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b627a: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b627e: ee77 7a67 vsub.f32 s15, s14, s15 80b6282: edc7 7a21 vstr s15, [r7, #132] ; 0x84 s7 = s7 + s6; 80b6286: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b628a: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b628e: ee77 7a27 vadd.f32 s15, s14, s15 80b6292: edc7 7a22 vstr s15, [r7, #136] ; 0x88 pSrc[2 * i2] = r5 + s7; 80b6296: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b629a: 00db lsls r3, r3, #3 80b629c: 68fa ldr r2, [r7, #12] 80b629e: 4413 add r3, r2 80b62a0: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b62a4: edd7 7a22 vldr s15, [r7, #136] ; 0x88 80b62a8: ee77 7a27 vadd.f32 s15, s14, s15 80b62ac: edc3 7a00 vstr s15, [r3] pSrc[2 * i8] = r5 - s7; 80b62b0: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b62b4: 00db lsls r3, r3, #3 80b62b6: 68fa ldr r2, [r7, #12] 80b62b8: 4413 add r3, r2 80b62ba: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b62be: edd7 7a22 vldr s15, [r7, #136] ; 0x88 80b62c2: ee77 7a67 vsub.f32 s15, s14, s15 80b62c6: edc3 7a00 vstr s15, [r3] pSrc[2 * i6] = t1 + s8; 80b62ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b62ce: 00db lsls r3, r3, #3 80b62d0: 68fa ldr r2, [r7, #12] 80b62d2: 4413 add r3, r2 80b62d4: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b62d8: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b62dc: ee77 7a27 vadd.f32 s15, s14, s15 80b62e0: edc3 7a00 vstr s15, [r3] pSrc[2 * i4] = t1 - s8; 80b62e4: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b62e8: 00db lsls r3, r3, #3 80b62ea: 68fa ldr r2, [r7, #12] 80b62ec: 4413 add r3, r2 80b62ee: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b62f2: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b62f6: ee77 7a67 vsub.f32 s15, s14, s15 80b62fa: edc3 7a00 vstr s15, [r3] pSrc[2 * i2 + 1] = s5 - r7; 80b62fe: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b6302: 00db lsls r3, r3, #3 80b6304: 3304 adds r3, #4 80b6306: 68fa ldr r2, [r7, #12] 80b6308: 4413 add r3, r2 80b630a: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b630e: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b6312: ee77 7a67 vsub.f32 s15, s14, s15 80b6316: edc3 7a00 vstr s15, [r3] pSrc[2 * i8 + 1] = s5 + r7; 80b631a: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b631e: 00db lsls r3, r3, #3 80b6320: 3304 adds r3, #4 80b6322: 68fa ldr r2, [r7, #12] 80b6324: 4413 add r3, r2 80b6326: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b632a: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b632e: ee77 7a27 vadd.f32 s15, s14, s15 80b6332: edc3 7a00 vstr s15, [r3] pSrc[2 * i6 + 1] = t2 - r8; 80b6336: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b633a: 00db lsls r3, r3, #3 80b633c: 3304 adds r3, #4 80b633e: 68fa ldr r2, [r7, #12] 80b6340: 4413 add r3, r2 80b6342: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b6346: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b634a: ee77 7a67 vsub.f32 s15, s14, s15 80b634e: edc3 7a00 vstr s15, [r3] pSrc[2 * i4 + 1] = t2 + r8; 80b6352: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b6356: 00db lsls r3, r3, #3 80b6358: 3304 adds r3, #4 80b635a: 68fa ldr r2, [r7, #12] 80b635c: 4413 add r3, r2 80b635e: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b6362: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b6366: ee77 7a27 vadd.f32 s15, s14, s15 80b636a: edc3 7a00 vstr s15, [r3] i1 += n1; 80b636e: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b6372: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b6376: 4413 add r3, r2 80b6378: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 } while(i1 < fftLen); 80b637c: 897a ldrh r2, [r7, #10] 80b637e: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b6382: 429a cmp r2, r3 80b6384: f63f ad0a bhi.w 80b5d9c if(n2 < 8) 80b6388: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b638c: 2b07 cmp r3, #7 80b638e: f240 84e3 bls.w 80b6d58 break; ia1 = 0; 80b6392: 2300 movs r3, #0 80b6394: f8c7 30ec str.w r3, [r7, #236] ; 0xec j = 1; 80b6398: 2301 movs r3, #1 80b639a: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 do { /* index calculation for the coefficients */ id = ia1 + twidCoefModifier; 80b639e: 893a ldrh r2, [r7, #8] 80b63a0: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b63a4: 4413 add r3, r2 80b63a6: 67fb str r3, [r7, #124] ; 0x7c ia1 = id; 80b63a8: 6ffb ldr r3, [r7, #124] ; 0x7c 80b63aa: f8c7 30ec str.w r3, [r7, #236] ; 0xec ia2 = ia1 + id; 80b63ae: f8d7 20ec ldr.w r2, [r7, #236] ; 0xec 80b63b2: 6ffb ldr r3, [r7, #124] ; 0x7c 80b63b4: 4413 add r3, r2 80b63b6: 67bb str r3, [r7, #120] ; 0x78 ia3 = ia2 + id; 80b63b8: 6fba ldr r2, [r7, #120] ; 0x78 80b63ba: 6ffb ldr r3, [r7, #124] ; 0x7c 80b63bc: 4413 add r3, r2 80b63be: 677b str r3, [r7, #116] ; 0x74 ia4 = ia3 + id; 80b63c0: 6f7a ldr r2, [r7, #116] ; 0x74 80b63c2: 6ffb ldr r3, [r7, #124] ; 0x7c 80b63c4: 4413 add r3, r2 80b63c6: 673b str r3, [r7, #112] ; 0x70 ia5 = ia4 + id; 80b63c8: 6f3a ldr r2, [r7, #112] ; 0x70 80b63ca: 6ffb ldr r3, [r7, #124] ; 0x7c 80b63cc: 4413 add r3, r2 80b63ce: 66fb str r3, [r7, #108] ; 0x6c ia6 = ia5 + id; 80b63d0: 6efa ldr r2, [r7, #108] ; 0x6c 80b63d2: 6ffb ldr r3, [r7, #124] ; 0x7c 80b63d4: 4413 add r3, r2 80b63d6: 66bb str r3, [r7, #104] ; 0x68 ia7 = ia6 + id; 80b63d8: 6eba ldr r2, [r7, #104] ; 0x68 80b63da: 6ffb ldr r3, [r7, #124] ; 0x7c 80b63dc: 4413 add r3, r2 80b63de: 667b str r3, [r7, #100] ; 0x64 co2 = pCoef[2 * ia1]; 80b63e0: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b63e4: 00db lsls r3, r3, #3 80b63e6: 687a ldr r2, [r7, #4] 80b63e8: 4413 add r3, r2 80b63ea: 681b ldr r3, [r3, #0] 80b63ec: 663b str r3, [r7, #96] ; 0x60 co3 = pCoef[2 * ia2]; 80b63ee: 6fbb ldr r3, [r7, #120] ; 0x78 80b63f0: 00db lsls r3, r3, #3 80b63f2: 687a ldr r2, [r7, #4] 80b63f4: 4413 add r3, r2 80b63f6: 681b ldr r3, [r3, #0] 80b63f8: 65fb str r3, [r7, #92] ; 0x5c co4 = pCoef[2 * ia3]; 80b63fa: 6f7b ldr r3, [r7, #116] ; 0x74 80b63fc: 00db lsls r3, r3, #3 80b63fe: 687a ldr r2, [r7, #4] 80b6400: 4413 add r3, r2 80b6402: 681b ldr r3, [r3, #0] 80b6404: 65bb str r3, [r7, #88] ; 0x58 co5 = pCoef[2 * ia4]; 80b6406: 6f3b ldr r3, [r7, #112] ; 0x70 80b6408: 00db lsls r3, r3, #3 80b640a: 687a ldr r2, [r7, #4] 80b640c: 4413 add r3, r2 80b640e: 681b ldr r3, [r3, #0] 80b6410: 657b str r3, [r7, #84] ; 0x54 co6 = pCoef[2 * ia5]; 80b6412: 6efb ldr r3, [r7, #108] ; 0x6c 80b6414: 00db lsls r3, r3, #3 80b6416: 687a ldr r2, [r7, #4] 80b6418: 4413 add r3, r2 80b641a: 681b ldr r3, [r3, #0] 80b641c: 653b str r3, [r7, #80] ; 0x50 co7 = pCoef[2 * ia6]; 80b641e: 6ebb ldr r3, [r7, #104] ; 0x68 80b6420: 00db lsls r3, r3, #3 80b6422: 687a ldr r2, [r7, #4] 80b6424: 4413 add r3, r2 80b6426: 681b ldr r3, [r3, #0] 80b6428: 64fb str r3, [r7, #76] ; 0x4c co8 = pCoef[2 * ia7]; 80b642a: 6e7b ldr r3, [r7, #100] ; 0x64 80b642c: 00db lsls r3, r3, #3 80b642e: 687a ldr r2, [r7, #4] 80b6430: 4413 add r3, r2 80b6432: 681b ldr r3, [r3, #0] 80b6434: 64bb str r3, [r7, #72] ; 0x48 si2 = pCoef[2 * ia1 + 1]; 80b6436: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b643a: 00db lsls r3, r3, #3 80b643c: 3304 adds r3, #4 80b643e: 687a ldr r2, [r7, #4] 80b6440: 4413 add r3, r2 80b6442: 681b ldr r3, [r3, #0] 80b6444: 647b str r3, [r7, #68] ; 0x44 si3 = pCoef[2 * ia2 + 1]; 80b6446: 6fbb ldr r3, [r7, #120] ; 0x78 80b6448: 00db lsls r3, r3, #3 80b644a: 3304 adds r3, #4 80b644c: 687a ldr r2, [r7, #4] 80b644e: 4413 add r3, r2 80b6450: 681b ldr r3, [r3, #0] 80b6452: 643b str r3, [r7, #64] ; 0x40 si4 = pCoef[2 * ia3 + 1]; 80b6454: 6f7b ldr r3, [r7, #116] ; 0x74 80b6456: 00db lsls r3, r3, #3 80b6458: 3304 adds r3, #4 80b645a: 687a ldr r2, [r7, #4] 80b645c: 4413 add r3, r2 80b645e: 681b ldr r3, [r3, #0] 80b6460: 63fb str r3, [r7, #60] ; 0x3c si5 = pCoef[2 * ia4 + 1]; 80b6462: 6f3b ldr r3, [r7, #112] ; 0x70 80b6464: 00db lsls r3, r3, #3 80b6466: 3304 adds r3, #4 80b6468: 687a ldr r2, [r7, #4] 80b646a: 4413 add r3, r2 80b646c: 681b ldr r3, [r3, #0] 80b646e: 63bb str r3, [r7, #56] ; 0x38 si6 = pCoef[2 * ia5 + 1]; 80b6470: 6efb ldr r3, [r7, #108] ; 0x6c 80b6472: 00db lsls r3, r3, #3 80b6474: 3304 adds r3, #4 80b6476: 687a ldr r2, [r7, #4] 80b6478: 4413 add r3, r2 80b647a: 681b ldr r3, [r3, #0] 80b647c: 637b str r3, [r7, #52] ; 0x34 si7 = pCoef[2 * ia6 + 1]; 80b647e: 6ebb ldr r3, [r7, #104] ; 0x68 80b6480: 00db lsls r3, r3, #3 80b6482: 3304 adds r3, #4 80b6484: 687a ldr r2, [r7, #4] 80b6486: 4413 add r3, r2 80b6488: 681b ldr r3, [r3, #0] 80b648a: 633b str r3, [r7, #48] ; 0x30 si8 = pCoef[2 * ia7 + 1]; 80b648c: 6e7b ldr r3, [r7, #100] ; 0x64 80b648e: 00db lsls r3, r3, #3 80b6490: 3304 adds r3, #4 80b6492: 687a ldr r2, [r7, #4] 80b6494: 4413 add r3, r2 80b6496: 681b ldr r3, [r3, #0] 80b6498: 62fb str r3, [r7, #44] ; 0x2c i1 = j; 80b649a: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b649e: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 do { /* index calculation for the input */ i2 = i1 + n2; 80b64a2: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b64a6: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b64aa: 4413 add r3, r2 80b64ac: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 i3 = i2 + n2; 80b64b0: f8d7 20d4 ldr.w r2, [r7, #212] ; 0xd4 80b64b4: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b64b8: 4413 add r3, r2 80b64ba: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 i4 = i3 + n2; 80b64be: f8d7 20d0 ldr.w r2, [r7, #208] ; 0xd0 80b64c2: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b64c6: 4413 add r3, r2 80b64c8: f8c7 30cc str.w r3, [r7, #204] ; 0xcc i5 = i4 + n2; 80b64cc: f8d7 20cc ldr.w r2, [r7, #204] ; 0xcc 80b64d0: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b64d4: 4413 add r3, r2 80b64d6: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 i6 = i5 + n2; 80b64da: f8d7 20c8 ldr.w r2, [r7, #200] ; 0xc8 80b64de: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b64e2: 4413 add r3, r2 80b64e4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i7 = i6 + n2; 80b64e8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80b64ec: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b64f0: 4413 add r3, r2 80b64f2: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 i8 = i7 + n2; 80b64f6: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80b64fa: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b64fe: 4413 add r3, r2 80b6500: f8c7 30bc str.w r3, [r7, #188] ; 0xbc r1 = pSrc[2 * i1] + pSrc[2 * i5]; 80b6504: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b6508: 00db lsls r3, r3, #3 80b650a: 68fa ldr r2, [r7, #12] 80b650c: 4413 add r3, r2 80b650e: ed93 7a00 vldr s14, [r3] 80b6512: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b6516: 00db lsls r3, r3, #3 80b6518: 68fa ldr r2, [r7, #12] 80b651a: 4413 add r3, r2 80b651c: edd3 7a00 vldr s15, [r3] 80b6520: ee77 7a27 vadd.f32 s15, s14, s15 80b6524: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r5 = pSrc[2 * i1] - pSrc[2 * i5]; 80b6528: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b652c: 00db lsls r3, r3, #3 80b652e: 68fa ldr r2, [r7, #12] 80b6530: 4413 add r3, r2 80b6532: ed93 7a00 vldr s14, [r3] 80b6536: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b653a: 00db lsls r3, r3, #3 80b653c: 68fa ldr r2, [r7, #12] 80b653e: 4413 add r3, r2 80b6540: edd3 7a00 vldr s15, [r3] 80b6544: ee77 7a67 vsub.f32 s15, s14, s15 80b6548: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r2 = pSrc[2 * i2] + pSrc[2 * i6]; 80b654c: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b6550: 00db lsls r3, r3, #3 80b6552: 68fa ldr r2, [r7, #12] 80b6554: 4413 add r3, r2 80b6556: ed93 7a00 vldr s14, [r3] 80b655a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b655e: 00db lsls r3, r3, #3 80b6560: 68fa ldr r2, [r7, #12] 80b6562: 4413 add r3, r2 80b6564: edd3 7a00 vldr s15, [r3] 80b6568: ee77 7a27 vadd.f32 s15, s14, s15 80b656c: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 r6 = pSrc[2 * i2] - pSrc[2 * i6]; 80b6570: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b6574: 00db lsls r3, r3, #3 80b6576: 68fa ldr r2, [r7, #12] 80b6578: 4413 add r3, r2 80b657a: ed93 7a00 vldr s14, [r3] 80b657e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b6582: 00db lsls r3, r3, #3 80b6584: 68fa ldr r2, [r7, #12] 80b6586: 4413 add r3, r2 80b6588: edd3 7a00 vldr s15, [r3] 80b658c: ee77 7a67 vsub.f32 s15, s14, s15 80b6590: edc7 7a2b vstr s15, [r7, #172] ; 0xac r3 = pSrc[2 * i3] + pSrc[2 * i7]; 80b6594: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b6598: 00db lsls r3, r3, #3 80b659a: 68fa ldr r2, [r7, #12] 80b659c: 4413 add r3, r2 80b659e: ed93 7a00 vldr s14, [r3] 80b65a2: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b65a6: 00db lsls r3, r3, #3 80b65a8: 68fa ldr r2, [r7, #12] 80b65aa: 4413 add r3, r2 80b65ac: edd3 7a00 vldr s15, [r3] 80b65b0: ee77 7a27 vadd.f32 s15, s14, s15 80b65b4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 r7 = pSrc[2 * i3] - pSrc[2 * i7]; 80b65b8: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b65bc: 00db lsls r3, r3, #3 80b65be: 68fa ldr r2, [r7, #12] 80b65c0: 4413 add r3, r2 80b65c2: ed93 7a00 vldr s14, [r3] 80b65c6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b65ca: 00db lsls r3, r3, #3 80b65cc: 68fa ldr r2, [r7, #12] 80b65ce: 4413 add r3, r2 80b65d0: edd3 7a00 vldr s15, [r3] 80b65d4: ee77 7a67 vsub.f32 s15, s14, s15 80b65d8: edc7 7a29 vstr s15, [r7, #164] ; 0xa4 r4 = pSrc[2 * i4] + pSrc[2 * i8]; 80b65dc: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b65e0: 00db lsls r3, r3, #3 80b65e2: 68fa ldr r2, [r7, #12] 80b65e4: 4413 add r3, r2 80b65e6: ed93 7a00 vldr s14, [r3] 80b65ea: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b65ee: 00db lsls r3, r3, #3 80b65f0: 68fa ldr r2, [r7, #12] 80b65f2: 4413 add r3, r2 80b65f4: edd3 7a00 vldr s15, [r3] 80b65f8: ee77 7a27 vadd.f32 s15, s14, s15 80b65fc: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 r8 = pSrc[2 * i4] - pSrc[2 * i8]; 80b6600: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b6604: 00db lsls r3, r3, #3 80b6606: 68fa ldr r2, [r7, #12] 80b6608: 4413 add r3, r2 80b660a: ed93 7a00 vldr s14, [r3] 80b660e: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b6612: 00db lsls r3, r3, #3 80b6614: 68fa ldr r2, [r7, #12] 80b6616: 4413 add r3, r2 80b6618: edd3 7a00 vldr s15, [r3] 80b661c: ee77 7a67 vsub.f32 s15, s14, s15 80b6620: edc7 7a27 vstr s15, [r7, #156] ; 0x9c t1 = r1 - r3; 80b6624: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b6628: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b662c: ee77 7a67 vsub.f32 s15, s14, s15 80b6630: edc7 7a26 vstr s15, [r7, #152] ; 0x98 r1 = r1 + r3; 80b6634: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b6638: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b663c: ee77 7a27 vadd.f32 s15, s14, s15 80b6640: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r3 = r2 - r4; 80b6644: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b6648: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b664c: ee77 7a67 vsub.f32 s15, s14, s15 80b6650: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 r2 = r2 + r4; 80b6654: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b6658: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b665c: ee77 7a27 vadd.f32 s15, s14, s15 80b6660: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 pSrc[2 * i1] = r1 + r2; 80b6664: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b6668: 00db lsls r3, r3, #3 80b666a: 68fa ldr r2, [r7, #12] 80b666c: 4413 add r3, r2 80b666e: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b6672: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b6676: ee77 7a27 vadd.f32 s15, s14, s15 80b667a: edc3 7a00 vstr s15, [r3] r2 = r1 - r2; 80b667e: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b6682: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b6686: ee77 7a67 vsub.f32 s15, s14, s15 80b668a: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 s1 = pSrc[2 * i1 + 1] + pSrc[2 * i5 + 1]; 80b668e: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b6692: 00db lsls r3, r3, #3 80b6694: 3304 adds r3, #4 80b6696: 68fa ldr r2, [r7, #12] 80b6698: 4413 add r3, r2 80b669a: ed93 7a00 vldr s14, [r3] 80b669e: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b66a2: 00db lsls r3, r3, #3 80b66a4: 3304 adds r3, #4 80b66a6: 68fa ldr r2, [r7, #12] 80b66a8: 4413 add r3, r2 80b66aa: edd3 7a00 vldr s15, [r3] 80b66ae: ee77 7a27 vadd.f32 s15, s14, s15 80b66b2: edc7 7a0a vstr s15, [r7, #40] ; 0x28 s5 = pSrc[2 * i1 + 1] - pSrc[2 * i5 + 1]; 80b66b6: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b66ba: 00db lsls r3, r3, #3 80b66bc: 3304 adds r3, #4 80b66be: 68fa ldr r2, [r7, #12] 80b66c0: 4413 add r3, r2 80b66c2: ed93 7a00 vldr s14, [r3] 80b66c6: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b66ca: 00db lsls r3, r3, #3 80b66cc: 3304 adds r3, #4 80b66ce: 68fa ldr r2, [r7, #12] 80b66d0: 4413 add r3, r2 80b66d2: edd3 7a00 vldr s15, [r3] 80b66d6: ee77 7a67 vsub.f32 s15, s14, s15 80b66da: edc7 7a25 vstr s15, [r7, #148] ; 0x94 s2 = pSrc[2 * i2 + 1] + pSrc[2 * i6 + 1]; 80b66de: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b66e2: 00db lsls r3, r3, #3 80b66e4: 3304 adds r3, #4 80b66e6: 68fa ldr r2, [r7, #12] 80b66e8: 4413 add r3, r2 80b66ea: ed93 7a00 vldr s14, [r3] 80b66ee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b66f2: 00db lsls r3, r3, #3 80b66f4: 3304 adds r3, #4 80b66f6: 68fa ldr r2, [r7, #12] 80b66f8: 4413 add r3, r2 80b66fa: edd3 7a00 vldr s15, [r3] 80b66fe: ee77 7a27 vadd.f32 s15, s14, s15 80b6702: edc7 7a09 vstr s15, [r7, #36] ; 0x24 s6 = pSrc[2 * i2 + 1] - pSrc[2 * i6 + 1]; 80b6706: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b670a: 00db lsls r3, r3, #3 80b670c: 3304 adds r3, #4 80b670e: 68fa ldr r2, [r7, #12] 80b6710: 4413 add r3, r2 80b6712: ed93 7a00 vldr s14, [r3] 80b6716: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b671a: 00db lsls r3, r3, #3 80b671c: 3304 adds r3, #4 80b671e: 68fa ldr r2, [r7, #12] 80b6720: 4413 add r3, r2 80b6722: edd3 7a00 vldr s15, [r3] 80b6726: ee77 7a67 vsub.f32 s15, s14, s15 80b672a: edc7 7a24 vstr s15, [r7, #144] ; 0x90 s3 = pSrc[2 * i3 + 1] + pSrc[2 * i7 + 1]; 80b672e: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b6732: 00db lsls r3, r3, #3 80b6734: 3304 adds r3, #4 80b6736: 68fa ldr r2, [r7, #12] 80b6738: 4413 add r3, r2 80b673a: ed93 7a00 vldr s14, [r3] 80b673e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b6742: 00db lsls r3, r3, #3 80b6744: 3304 adds r3, #4 80b6746: 68fa ldr r2, [r7, #12] 80b6748: 4413 add r3, r2 80b674a: edd3 7a00 vldr s15, [r3] 80b674e: ee77 7a27 vadd.f32 s15, s14, s15 80b6752: edc7 7a23 vstr s15, [r7, #140] ; 0x8c s7 = pSrc[2 * i3 + 1] - pSrc[2 * i7 + 1]; 80b6756: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b675a: 00db lsls r3, r3, #3 80b675c: 3304 adds r3, #4 80b675e: 68fa ldr r2, [r7, #12] 80b6760: 4413 add r3, r2 80b6762: ed93 7a00 vldr s14, [r3] 80b6766: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b676a: 00db lsls r3, r3, #3 80b676c: 3304 adds r3, #4 80b676e: 68fa ldr r2, [r7, #12] 80b6770: 4413 add r3, r2 80b6772: edd3 7a00 vldr s15, [r3] 80b6776: ee77 7a67 vsub.f32 s15, s14, s15 80b677a: edc7 7a22 vstr s15, [r7, #136] ; 0x88 s4 = pSrc[2 * i4 + 1] + pSrc[2 * i8 + 1]; 80b677e: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b6782: 00db lsls r3, r3, #3 80b6784: 3304 adds r3, #4 80b6786: 68fa ldr r2, [r7, #12] 80b6788: 4413 add r3, r2 80b678a: ed93 7a00 vldr s14, [r3] 80b678e: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b6792: 00db lsls r3, r3, #3 80b6794: 3304 adds r3, #4 80b6796: 68fa ldr r2, [r7, #12] 80b6798: 4413 add r3, r2 80b679a: edd3 7a00 vldr s15, [r3] 80b679e: ee77 7a27 vadd.f32 s15, s14, s15 80b67a2: edc7 7a08 vstr s15, [r7, #32] s8 = pSrc[2 * i4 + 1] - pSrc[2 * i8 + 1]; 80b67a6: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b67aa: 00db lsls r3, r3, #3 80b67ac: 3304 adds r3, #4 80b67ae: 68fa ldr r2, [r7, #12] 80b67b0: 4413 add r3, r2 80b67b2: ed93 7a00 vldr s14, [r3] 80b67b6: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b67ba: 00db lsls r3, r3, #3 80b67bc: 3304 adds r3, #4 80b67be: 68fa ldr r2, [r7, #12] 80b67c0: 4413 add r3, r2 80b67c2: edd3 7a00 vldr s15, [r3] 80b67c6: ee77 7a67 vsub.f32 s15, s14, s15 80b67ca: edc7 7a21 vstr s15, [r7, #132] ; 0x84 t2 = s1 - s3; 80b67ce: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b67d2: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b67d6: ee77 7a67 vsub.f32 s15, s14, s15 80b67da: edc7 7a20 vstr s15, [r7, #128] ; 0x80 s1 = s1 + s3; 80b67de: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b67e2: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b67e6: ee77 7a27 vadd.f32 s15, s14, s15 80b67ea: edc7 7a0a vstr s15, [r7, #40] ; 0x28 s3 = s2 - s4; 80b67ee: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b67f2: edd7 7a08 vldr s15, [r7, #32] 80b67f6: ee77 7a67 vsub.f32 s15, s14, s15 80b67fa: edc7 7a23 vstr s15, [r7, #140] ; 0x8c s2 = s2 + s4; 80b67fe: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b6802: edd7 7a08 vldr s15, [r7, #32] 80b6806: ee77 7a27 vadd.f32 s15, s14, s15 80b680a: edc7 7a09 vstr s15, [r7, #36] ; 0x24 r1 = t1 + s3; 80b680e: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b6812: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b6816: ee77 7a27 vadd.f32 s15, s14, s15 80b681a: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 t1 = t1 - s3; 80b681e: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b6822: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b6826: ee77 7a67 vsub.f32 s15, s14, s15 80b682a: edc7 7a26 vstr s15, [r7, #152] ; 0x98 pSrc[2 * i1 + 1] = s1 + s2; 80b682e: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b6832: 00db lsls r3, r3, #3 80b6834: 3304 adds r3, #4 80b6836: 68fa ldr r2, [r7, #12] 80b6838: 4413 add r3, r2 80b683a: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b683e: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b6842: ee77 7a27 vadd.f32 s15, s14, s15 80b6846: edc3 7a00 vstr s15, [r3] s2 = s1 - s2; 80b684a: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b684e: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b6852: ee77 7a67 vsub.f32 s15, s14, s15 80b6856: edc7 7a09 vstr s15, [r7, #36] ; 0x24 s1 = t2 - r3; 80b685a: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b685e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b6862: ee77 7a67 vsub.f32 s15, s14, s15 80b6866: edc7 7a0a vstr s15, [r7, #40] ; 0x28 t2 = t2 + r3; 80b686a: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b686e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b6872: ee77 7a27 vadd.f32 s15, s14, s15 80b6876: edc7 7a20 vstr s15, [r7, #128] ; 0x80 p1 = co5 * r2; 80b687a: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b687e: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b6882: ee67 7a27 vmul.f32 s15, s14, s15 80b6886: edc7 7a07 vstr s15, [r7, #28] p2 = si5 * s2; 80b688a: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b688e: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b6892: ee67 7a27 vmul.f32 s15, s14, s15 80b6896: edc7 7a06 vstr s15, [r7, #24] p3 = co5 * s2; 80b689a: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b689e: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b68a2: ee67 7a27 vmul.f32 s15, s14, s15 80b68a6: edc7 7a05 vstr s15, [r7, #20] p4 = si5 * r2; 80b68aa: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b68ae: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b68b2: ee67 7a27 vmul.f32 s15, s14, s15 80b68b6: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i5] = p1 + p2; 80b68ba: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b68be: 00db lsls r3, r3, #3 80b68c0: 68fa ldr r2, [r7, #12] 80b68c2: 4413 add r3, r2 80b68c4: ed97 7a07 vldr s14, [r7, #28] 80b68c8: edd7 7a06 vldr s15, [r7, #24] 80b68cc: ee77 7a27 vadd.f32 s15, s14, s15 80b68d0: edc3 7a00 vstr s15, [r3] pSrc[2 * i5 + 1] = p3 - p4; 80b68d4: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b68d8: 00db lsls r3, r3, #3 80b68da: 3304 adds r3, #4 80b68dc: 68fa ldr r2, [r7, #12] 80b68de: 4413 add r3, r2 80b68e0: ed97 7a05 vldr s14, [r7, #20] 80b68e4: edd7 7a04 vldr s15, [r7, #16] 80b68e8: ee77 7a67 vsub.f32 s15, s14, s15 80b68ec: edc3 7a00 vstr s15, [r3] p1 = co3 * r1; 80b68f0: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b68f4: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b68f8: ee67 7a27 vmul.f32 s15, s14, s15 80b68fc: edc7 7a07 vstr s15, [r7, #28] p2 = si3 * s1; 80b6900: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b6904: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b6908: ee67 7a27 vmul.f32 s15, s14, s15 80b690c: edc7 7a06 vstr s15, [r7, #24] p3 = co3 * s1; 80b6910: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b6914: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b6918: ee67 7a27 vmul.f32 s15, s14, s15 80b691c: edc7 7a05 vstr s15, [r7, #20] p4 = si3 * r1; 80b6920: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b6924: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b6928: ee67 7a27 vmul.f32 s15, s14, s15 80b692c: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i3] = p1 + p2; 80b6930: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b6934: 00db lsls r3, r3, #3 80b6936: 68fa ldr r2, [r7, #12] 80b6938: 4413 add r3, r2 80b693a: ed97 7a07 vldr s14, [r7, #28] 80b693e: edd7 7a06 vldr s15, [r7, #24] 80b6942: ee77 7a27 vadd.f32 s15, s14, s15 80b6946: edc3 7a00 vstr s15, [r3] pSrc[2 * i3 + 1] = p3 - p4; 80b694a: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b694e: 00db lsls r3, r3, #3 80b6950: 3304 adds r3, #4 80b6952: 68fa ldr r2, [r7, #12] 80b6954: 4413 add r3, r2 80b6956: ed97 7a05 vldr s14, [r7, #20] 80b695a: edd7 7a04 vldr s15, [r7, #16] 80b695e: ee77 7a67 vsub.f32 s15, s14, s15 80b6962: edc3 7a00 vstr s15, [r3] p1 = co7 * t1; 80b6966: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b696a: edd7 7a26 vldr s15, [r7, #152] ; 0x98 80b696e: ee67 7a27 vmul.f32 s15, s14, s15 80b6972: edc7 7a07 vstr s15, [r7, #28] p2 = si7 * t2; 80b6976: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b697a: edd7 7a20 vldr s15, [r7, #128] ; 0x80 80b697e: ee67 7a27 vmul.f32 s15, s14, s15 80b6982: edc7 7a06 vstr s15, [r7, #24] p3 = co7 * t2; 80b6986: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b698a: edd7 7a20 vldr s15, [r7, #128] ; 0x80 80b698e: ee67 7a27 vmul.f32 s15, s14, s15 80b6992: edc7 7a05 vstr s15, [r7, #20] p4 = si7 * t1; 80b6996: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b699a: edd7 7a26 vldr s15, [r7, #152] ; 0x98 80b699e: ee67 7a27 vmul.f32 s15, s14, s15 80b69a2: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i7] = p1 + p2; 80b69a6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b69aa: 00db lsls r3, r3, #3 80b69ac: 68fa ldr r2, [r7, #12] 80b69ae: 4413 add r3, r2 80b69b0: ed97 7a07 vldr s14, [r7, #28] 80b69b4: edd7 7a06 vldr s15, [r7, #24] 80b69b8: ee77 7a27 vadd.f32 s15, s14, s15 80b69bc: edc3 7a00 vstr s15, [r3] pSrc[2 * i7 + 1] = p3 - p4; 80b69c0: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b69c4: 00db lsls r3, r3, #3 80b69c6: 3304 adds r3, #4 80b69c8: 68fa ldr r2, [r7, #12] 80b69ca: 4413 add r3, r2 80b69cc: ed97 7a05 vldr s14, [r7, #20] 80b69d0: edd7 7a04 vldr s15, [r7, #16] 80b69d4: ee77 7a67 vsub.f32 s15, s14, s15 80b69d8: edc3 7a00 vstr s15, [r3] r1 = (r6 - r8) * C81; 80b69dc: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b69e0: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b69e4: ee37 7a67 vsub.f32 s14, s14, s15 80b69e8: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b69ec: ee67 7a27 vmul.f32 s15, s14, s15 80b69f0: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r6 = (r6 + r8) * C81; 80b69f4: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b69f8: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b69fc: ee37 7a27 vadd.f32 s14, s14, s15 80b6a00: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b6a04: ee67 7a27 vmul.f32 s15, s14, s15 80b6a08: edc7 7a2b vstr s15, [r7, #172] ; 0xac s1 = (s6 - s8) * C81; 80b6a0c: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b6a10: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b6a14: ee37 7a67 vsub.f32 s14, s14, s15 80b6a18: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b6a1c: ee67 7a27 vmul.f32 s15, s14, s15 80b6a20: edc7 7a0a vstr s15, [r7, #40] ; 0x28 s6 = (s6 + s8) * C81; 80b6a24: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b6a28: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b6a2c: ee37 7a27 vadd.f32 s14, s14, s15 80b6a30: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b6a34: ee67 7a27 vmul.f32 s15, s14, s15 80b6a38: edc7 7a24 vstr s15, [r7, #144] ; 0x90 t1 = r5 - r1; 80b6a3c: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b6a40: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b6a44: ee77 7a67 vsub.f32 s15, s14, s15 80b6a48: edc7 7a26 vstr s15, [r7, #152] ; 0x98 r5 = r5 + r1; 80b6a4c: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b6a50: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b6a54: ee77 7a27 vadd.f32 s15, s14, s15 80b6a58: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r8 = r7 - r6; 80b6a5c: ed97 7a29 vldr s14, [r7, #164] ; 0xa4 80b6a60: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b6a64: ee77 7a67 vsub.f32 s15, s14, s15 80b6a68: edc7 7a27 vstr s15, [r7, #156] ; 0x9c r7 = r7 + r6; 80b6a6c: ed97 7a29 vldr s14, [r7, #164] ; 0xa4 80b6a70: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b6a74: ee77 7a27 vadd.f32 s15, s14, s15 80b6a78: edc7 7a29 vstr s15, [r7, #164] ; 0xa4 t2 = s5 - s1; 80b6a7c: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b6a80: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b6a84: ee77 7a67 vsub.f32 s15, s14, s15 80b6a88: edc7 7a20 vstr s15, [r7, #128] ; 0x80 s5 = s5 + s1; 80b6a8c: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b6a90: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b6a94: ee77 7a27 vadd.f32 s15, s14, s15 80b6a98: edc7 7a25 vstr s15, [r7, #148] ; 0x94 s8 = s7 - s6; 80b6a9c: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b6aa0: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b6aa4: ee77 7a67 vsub.f32 s15, s14, s15 80b6aa8: edc7 7a21 vstr s15, [r7, #132] ; 0x84 s7 = s7 + s6; 80b6aac: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b6ab0: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b6ab4: ee77 7a27 vadd.f32 s15, s14, s15 80b6ab8: edc7 7a22 vstr s15, [r7, #136] ; 0x88 r1 = r5 + s7; 80b6abc: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b6ac0: edd7 7a22 vldr s15, [r7, #136] ; 0x88 80b6ac4: ee77 7a27 vadd.f32 s15, s14, s15 80b6ac8: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r5 = r5 - s7; 80b6acc: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b6ad0: edd7 7a22 vldr s15, [r7, #136] ; 0x88 80b6ad4: ee77 7a67 vsub.f32 s15, s14, s15 80b6ad8: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r6 = t1 + s8; 80b6adc: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b6ae0: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b6ae4: ee77 7a27 vadd.f32 s15, s14, s15 80b6ae8: edc7 7a2b vstr s15, [r7, #172] ; 0xac t1 = t1 - s8; 80b6aec: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b6af0: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b6af4: ee77 7a67 vsub.f32 s15, s14, s15 80b6af8: edc7 7a26 vstr s15, [r7, #152] ; 0x98 s1 = s5 - r7; 80b6afc: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b6b00: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b6b04: ee77 7a67 vsub.f32 s15, s14, s15 80b6b08: edc7 7a0a vstr s15, [r7, #40] ; 0x28 s5 = s5 + r7; 80b6b0c: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b6b10: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b6b14: ee77 7a27 vadd.f32 s15, s14, s15 80b6b18: edc7 7a25 vstr s15, [r7, #148] ; 0x94 s6 = t2 - r8; 80b6b1c: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b6b20: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b6b24: ee77 7a67 vsub.f32 s15, s14, s15 80b6b28: edc7 7a24 vstr s15, [r7, #144] ; 0x90 t2 = t2 + r8; 80b6b2c: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b6b30: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b6b34: ee77 7a27 vadd.f32 s15, s14, s15 80b6b38: edc7 7a20 vstr s15, [r7, #128] ; 0x80 p1 = co2 * r1; 80b6b3c: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b6b40: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b6b44: ee67 7a27 vmul.f32 s15, s14, s15 80b6b48: edc7 7a07 vstr s15, [r7, #28] p2 = si2 * s1; 80b6b4c: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80b6b50: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b6b54: ee67 7a27 vmul.f32 s15, s14, s15 80b6b58: edc7 7a06 vstr s15, [r7, #24] p3 = co2 * s1; 80b6b5c: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b6b60: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b6b64: ee67 7a27 vmul.f32 s15, s14, s15 80b6b68: edc7 7a05 vstr s15, [r7, #20] p4 = si2 * r1; 80b6b6c: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80b6b70: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b6b74: ee67 7a27 vmul.f32 s15, s14, s15 80b6b78: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i2] = p1 + p2; 80b6b7c: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b6b80: 00db lsls r3, r3, #3 80b6b82: 68fa ldr r2, [r7, #12] 80b6b84: 4413 add r3, r2 80b6b86: ed97 7a07 vldr s14, [r7, #28] 80b6b8a: edd7 7a06 vldr s15, [r7, #24] 80b6b8e: ee77 7a27 vadd.f32 s15, s14, s15 80b6b92: edc3 7a00 vstr s15, [r3] pSrc[2 * i2 + 1] = p3 - p4; 80b6b96: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b6b9a: 00db lsls r3, r3, #3 80b6b9c: 3304 adds r3, #4 80b6b9e: 68fa ldr r2, [r7, #12] 80b6ba0: 4413 add r3, r2 80b6ba2: ed97 7a05 vldr s14, [r7, #20] 80b6ba6: edd7 7a04 vldr s15, [r7, #16] 80b6baa: ee77 7a67 vsub.f32 s15, s14, s15 80b6bae: edc3 7a00 vstr s15, [r3] p1 = co8 * r5; 80b6bb2: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b6bb6: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80b6bba: ee67 7a27 vmul.f32 s15, s14, s15 80b6bbe: edc7 7a07 vstr s15, [r7, #28] p2 = si8 * s5; 80b6bc2: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b6bc6: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b6bca: ee67 7a27 vmul.f32 s15, s14, s15 80b6bce: edc7 7a06 vstr s15, [r7, #24] p3 = co8 * s5; 80b6bd2: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b6bd6: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b6bda: ee67 7a27 vmul.f32 s15, s14, s15 80b6bde: edc7 7a05 vstr s15, [r7, #20] p4 = si8 * r5; 80b6be2: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b6be6: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80b6bea: ee67 7a27 vmul.f32 s15, s14, s15 80b6bee: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i8] = p1 + p2; 80b6bf2: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b6bf6: 00db lsls r3, r3, #3 80b6bf8: 68fa ldr r2, [r7, #12] 80b6bfa: 4413 add r3, r2 80b6bfc: ed97 7a07 vldr s14, [r7, #28] 80b6c00: edd7 7a06 vldr s15, [r7, #24] 80b6c04: ee77 7a27 vadd.f32 s15, s14, s15 80b6c08: edc3 7a00 vstr s15, [r3] pSrc[2 * i8 + 1] = p3 - p4; 80b6c0c: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b6c10: 00db lsls r3, r3, #3 80b6c12: 3304 adds r3, #4 80b6c14: 68fa ldr r2, [r7, #12] 80b6c16: 4413 add r3, r2 80b6c18: ed97 7a05 vldr s14, [r7, #20] 80b6c1c: edd7 7a04 vldr s15, [r7, #16] 80b6c20: ee77 7a67 vsub.f32 s15, s14, s15 80b6c24: edc3 7a00 vstr s15, [r3] p1 = co6 * r6; 80b6c28: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b6c2c: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b6c30: ee67 7a27 vmul.f32 s15, s14, s15 80b6c34: edc7 7a07 vstr s15, [r7, #28] p2 = si6 * s6; 80b6c38: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b6c3c: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b6c40: ee67 7a27 vmul.f32 s15, s14, s15 80b6c44: edc7 7a06 vstr s15, [r7, #24] p3 = co6 * s6; 80b6c48: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b6c4c: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b6c50: ee67 7a27 vmul.f32 s15, s14, s15 80b6c54: edc7 7a05 vstr s15, [r7, #20] p4 = si6 * r6; 80b6c58: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b6c5c: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b6c60: ee67 7a27 vmul.f32 s15, s14, s15 80b6c64: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i6] = p1 + p2; 80b6c68: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b6c6c: 00db lsls r3, r3, #3 80b6c6e: 68fa ldr r2, [r7, #12] 80b6c70: 4413 add r3, r2 80b6c72: ed97 7a07 vldr s14, [r7, #28] 80b6c76: edd7 7a06 vldr s15, [r7, #24] 80b6c7a: ee77 7a27 vadd.f32 s15, s14, s15 80b6c7e: edc3 7a00 vstr s15, [r3] pSrc[2 * i6 + 1] = p3 - p4; 80b6c82: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b6c86: 00db lsls r3, r3, #3 80b6c88: 3304 adds r3, #4 80b6c8a: 68fa ldr r2, [r7, #12] 80b6c8c: 4413 add r3, r2 80b6c8e: ed97 7a05 vldr s14, [r7, #20] 80b6c92: edd7 7a04 vldr s15, [r7, #16] 80b6c96: ee77 7a67 vsub.f32 s15, s14, s15 80b6c9a: edc3 7a00 vstr s15, [r3] p1 = co4 * t1; 80b6c9e: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b6ca2: edd7 7a26 vldr s15, [r7, #152] ; 0x98 80b6ca6: ee67 7a27 vmul.f32 s15, s14, s15 80b6caa: edc7 7a07 vstr s15, [r7, #28] p2 = si4 * t2; 80b6cae: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b6cb2: edd7 7a20 vldr s15, [r7, #128] ; 0x80 80b6cb6: ee67 7a27 vmul.f32 s15, s14, s15 80b6cba: edc7 7a06 vstr s15, [r7, #24] p3 = co4 * t2; 80b6cbe: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b6cc2: edd7 7a20 vldr s15, [r7, #128] ; 0x80 80b6cc6: ee67 7a27 vmul.f32 s15, s14, s15 80b6cca: edc7 7a05 vstr s15, [r7, #20] p4 = si4 * t1; 80b6cce: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b6cd2: edd7 7a26 vldr s15, [r7, #152] ; 0x98 80b6cd6: ee67 7a27 vmul.f32 s15, s14, s15 80b6cda: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i4] = p1 + p2; 80b6cde: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b6ce2: 00db lsls r3, r3, #3 80b6ce4: 68fa ldr r2, [r7, #12] 80b6ce6: 4413 add r3, r2 80b6ce8: ed97 7a07 vldr s14, [r7, #28] 80b6cec: edd7 7a06 vldr s15, [r7, #24] 80b6cf0: ee77 7a27 vadd.f32 s15, s14, s15 80b6cf4: edc3 7a00 vstr s15, [r3] pSrc[2 * i4 + 1] = p3 - p4; 80b6cf8: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b6cfc: 00db lsls r3, r3, #3 80b6cfe: 3304 adds r3, #4 80b6d00: 68fa ldr r2, [r7, #12] 80b6d02: 4413 add r3, r2 80b6d04: ed97 7a05 vldr s14, [r7, #20] 80b6d08: edd7 7a04 vldr s15, [r7, #16] 80b6d0c: ee77 7a67 vsub.f32 s15, s14, s15 80b6d10: edc3 7a00 vstr s15, [r3] i1 += n1; 80b6d14: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b6d18: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b6d1c: 4413 add r3, r2 80b6d1e: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 } while(i1 < fftLen); 80b6d22: 897a ldrh r2, [r7, #10] 80b6d24: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b6d28: 429a cmp r2, r3 80b6d2a: f63f abba bhi.w 80b64a2 j++; 80b6d2e: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b6d32: 3301 adds r3, #1 80b6d34: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 } while(j < n2); 80b6d38: f8d7 20e0 ldr.w r2, [r7, #224] ; 0xe0 80b6d3c: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b6d40: 429a cmp r2, r3 80b6d42: f4ff ab2c bcc.w 80b639e twidCoefModifier <<= 3; 80b6d46: 893b ldrh r3, [r7, #8] 80b6d48: 00db lsls r3, r3, #3 80b6d4a: 813b strh r3, [r7, #8] } while(n2 > 7); 80b6d4c: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b6d50: 2b07 cmp r3, #7 80b6d52: f63f a813 bhi.w 80b5d7c } 80b6d56: e000 b.n 80b6d5a break; 80b6d58: bf00 nop } 80b6d5a: bf00 nop 80b6d5c: 37f4 adds r7, #244 ; 0xf4 80b6d5e: 46bd mov sp, r7 80b6d60: f85d 7b04 ldr.w r7, [sp], #4 80b6d64: 4770 bx lr 80b6d66: bf00 nop 080b6d68 : * @return cos(x). */ float32_t arm_cos_f32( float32_t x) { 80b6d68: b480 push {r7} 80b6d6a: b08b sub sp, #44 ; 0x2c 80b6d6c: af00 add r7, sp, #0 80b6d6e: 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; 80b6d72: edd7 7a01 vldr s15, [r7, #4] 80b6d76: ed9f 7a37 vldr s14, [pc, #220] ; 80b6e54 80b6d7a: ee67 7a87 vmul.f32 s15, s15, s14 80b6d7e: eeb5 7a00 vmov.f32 s14, #80 ; 0x3e800000 0.250 80b6d82: ee77 7a87 vadd.f32 s15, s15, s14 80b6d86: edc7 7a08 vstr s15, [r7, #32] /* Calculation of floor value of input */ n = (int32_t) in; 80b6d8a: edd7 7a08 vldr s15, [r7, #32] 80b6d8e: eefd 7ae7 vcvt.s32.f32 s15, s15 80b6d92: ee17 3a90 vmov r3, s15 80b6d96: 627b str r3, [r7, #36] ; 0x24 /* Make negative values towards -infinity */ if(in < 0.0f) 80b6d98: edd7 7a08 vldr s15, [r7, #32] 80b6d9c: eef5 7ac0 vcmpe.f32 s15, #0.0 80b6da0: eef1 fa10 vmrs APSR_nzcv, fpscr 80b6da4: d502 bpl.n 80b6dac { n--; 80b6da6: 6a7b ldr r3, [r7, #36] ; 0x24 80b6da8: 3b01 subs r3, #1 80b6daa: 627b str r3, [r7, #36] ; 0x24 } /* Map input value to [0 1] */ in = in - (float32_t) n; 80b6dac: 6a7b ldr r3, [r7, #36] ; 0x24 80b6dae: ee07 3a90 vmov s15, r3 80b6db2: eef8 7ae7 vcvt.f32.s32 s15, s15 80b6db6: ed97 7a08 vldr s14, [r7, #32] 80b6dba: ee77 7a67 vsub.f32 s15, s14, s15 80b6dbe: edc7 7a08 vstr s15, [r7, #32] /* Calculation of index of the table */ findex = (float32_t) FAST_MATH_TABLE_SIZE * in; 80b6dc2: edd7 7a08 vldr s15, [r7, #32] 80b6dc6: ed9f 7a24 vldr s14, [pc, #144] ; 80b6e58 80b6dca: ee67 7a87 vmul.f32 s15, s15, s14 80b6dce: edc7 7a07 vstr s15, [r7, #28] index = ((uint16_t)findex) & 0x1ff; 80b6dd2: edd7 7a07 vldr s15, [r7, #28] 80b6dd6: eefc 7ae7 vcvt.u32.f32 s15, s15 80b6dda: edc7 7a00 vstr s15, [r7] 80b6dde: 883b ldrh r3, [r7, #0] 80b6de0: b29b uxth r3, r3 80b6de2: f3c3 0308 ubfx r3, r3, #0, #9 80b6de6: 837b strh r3, [r7, #26] /* fractional value calculation */ fract = findex - (float32_t) index; 80b6de8: 8b7b ldrh r3, [r7, #26] 80b6dea: ee07 3a90 vmov s15, r3 80b6dee: eef8 7a67 vcvt.f32.u32 s15, s15 80b6df2: ed97 7a07 vldr s14, [r7, #28] 80b6df6: ee77 7a67 vsub.f32 s15, s14, s15 80b6dfa: edc7 7a05 vstr s15, [r7, #20] /* Read two nearest values of input value from the cos table */ a = sinTable_f32[index]; 80b6dfe: 8b7b ldrh r3, [r7, #26] 80b6e00: 4a16 ldr r2, [pc, #88] ; (80b6e5c ) 80b6e02: 009b lsls r3, r3, #2 80b6e04: 4413 add r3, r2 80b6e06: 681b ldr r3, [r3, #0] 80b6e08: 613b str r3, [r7, #16] b = sinTable_f32[index+1]; 80b6e0a: 8b7b ldrh r3, [r7, #26] 80b6e0c: 3301 adds r3, #1 80b6e0e: 4a13 ldr r2, [pc, #76] ; (80b6e5c ) 80b6e10: 009b lsls r3, r3, #2 80b6e12: 4413 add r3, r2 80b6e14: 681b ldr r3, [r3, #0] 80b6e16: 60fb str r3, [r7, #12] /* Linear interpolation process */ cosVal = (1.0f-fract)*a + fract*b; 80b6e18: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80b6e1c: edd7 7a05 vldr s15, [r7, #20] 80b6e20: ee37 7a67 vsub.f32 s14, s14, s15 80b6e24: edd7 7a04 vldr s15, [r7, #16] 80b6e28: ee27 7a27 vmul.f32 s14, s14, s15 80b6e2c: edd7 6a05 vldr s13, [r7, #20] 80b6e30: edd7 7a03 vldr s15, [r7, #12] 80b6e34: ee66 7aa7 vmul.f32 s15, s13, s15 80b6e38: ee77 7a27 vadd.f32 s15, s14, s15 80b6e3c: edc7 7a02 vstr s15, [r7, #8] /* Return the output value */ return (cosVal); 80b6e40: 68bb ldr r3, [r7, #8] 80b6e42: ee07 3a90 vmov s15, r3 } 80b6e46: eeb0 0a67 vmov.f32 s0, s15 80b6e4a: 372c adds r7, #44 ; 0x2c 80b6e4c: 46bd mov sp, r7 80b6e4e: f85d 7b04 ldr.w r7, [sp], #4 80b6e52: 4770 bx lr 80b6e54: 3e22f983 .word 0x3e22f983 80b6e58: 44000000 .word 0x44000000 80b6e5c: 0817ede8 .word 0x0817ede8 080b6e60 : void arm_rfft_f32( const arm_rfft_instance_f32 * S, float32_t * pSrc, float32_t * pDst) { 80b6e60: b580 push {r7, lr} 80b6e62: b088 sub sp, #32 80b6e64: af02 add r7, sp, #8 80b6e66: 60f8 str r0, [r7, #12] 80b6e68: 60b9 str r1, [r7, #8] 80b6e6a: 607a str r2, [r7, #4] const arm_cfft_radix4_instance_f32 *S_CFFT = S->pCfft; 80b6e6c: 68fb ldr r3, [r7, #12] 80b6e6e: 695b ldr r3, [r3, #20] 80b6e70: 617b str r3, [r7, #20] /* Calculation of Real IFFT of input */ if(S->ifftFlagR == 1u) 80b6e72: 68fb ldr r3, [r7, #12] 80b6e74: 799b ldrb r3, [r3, #6] 80b6e76: 2b01 cmp r3, #1 80b6e78: d12d bne.n 80b6ed6 { /* Real IFFT core process */ arm_split_rifft_f32(pSrc, S->fftLenBy2, S->pTwiddleAReal, 80b6e7a: 68fb ldr r3, [r7, #12] 80b6e7c: 889b ldrh r3, [r3, #4] 80b6e7e: 4618 mov r0, r3 80b6e80: 68fb ldr r3, [r7, #12] 80b6e82: 68da ldr r2, [r3, #12] 80b6e84: 68fb ldr r3, [r7, #12] 80b6e86: 6919 ldr r1, [r3, #16] 80b6e88: 68fb ldr r3, [r7, #12] 80b6e8a: 689b ldr r3, [r3, #8] 80b6e8c: 9301 str r3, [sp, #4] 80b6e8e: 687b ldr r3, [r7, #4] 80b6e90: 9300 str r3, [sp, #0] 80b6e92: 460b mov r3, r1 80b6e94: 4601 mov r1, r0 80b6e96: 68b8 ldr r0, [r7, #8] 80b6e98: f000 f932 bl 80b7100 S->pTwiddleBReal, pDst, S->twidCoefRModifier); /* Complex radix-4 IFFT process */ arm_radix4_butterfly_inverse_f32(pDst, S_CFFT->fftLen, 80b6e9c: 697b ldr r3, [r7, #20] 80b6e9e: 8819 ldrh r1, [r3, #0] 80b6ea0: 697b ldr r3, [r7, #20] 80b6ea2: 685a ldr r2, [r3, #4] 80b6ea4: 697b ldr r3, [r7, #20] 80b6ea6: 8998 ldrh r0, [r3, #12] 80b6ea8: 697b ldr r3, [r7, #20] 80b6eaa: edd3 7a04 vldr s15, [r3, #16] 80b6eae: eeb0 0a67 vmov.f32 s0, s15 80b6eb2: 4603 mov r3, r0 80b6eb4: 6878 ldr r0, [r7, #4] 80b6eb6: f7fe f93b bl 80b5130 S_CFFT->pTwiddle, S_CFFT->twidCoefModifier, S_CFFT->onebyfftLen); /* Bit reversal process */ if(S->bitReverseFlagR == 1u) 80b6eba: 68fb ldr r3, [r7, #12] 80b6ebc: 79db ldrb r3, [r3, #7] 80b6ebe: 2b01 cmp r3, #1 80b6ec0: d130 bne.n 80b6f24 { arm_bitreversal_f32(pDst, S_CFFT->fftLen, 80b6ec2: 697b ldr r3, [r7, #20] 80b6ec4: 8819 ldrh r1, [r3, #0] 80b6ec6: 697b ldr r3, [r7, #20] 80b6ec8: 89da ldrh r2, [r3, #14] 80b6eca: 697b ldr r3, [r7, #20] 80b6ecc: 689b ldr r3, [r3, #8] 80b6ece: 6878 ldr r0, [r7, #4] 80b6ed0: f7fc fa6e bl 80b33b0 /* Real FFT core process */ arm_split_rfft_f32(pSrc, S->fftLenBy2, S->pTwiddleAReal, S->pTwiddleBReal, pDst, S->twidCoefRModifier); } } 80b6ed4: e026 b.n 80b6f24 arm_radix4_butterfly_f32(pSrc, S_CFFT->fftLen, 80b6ed6: 697b ldr r3, [r7, #20] 80b6ed8: 8819 ldrh r1, [r3, #0] 80b6eda: 697b ldr r3, [r7, #20] 80b6edc: 685a ldr r2, [r3, #4] 80b6ede: 697b ldr r3, [r7, #20] 80b6ee0: 899b ldrh r3, [r3, #12] 80b6ee2: 68b8 ldr r0, [r7, #8] 80b6ee4: f7fd fc03 bl 80b46ee if(S->bitReverseFlagR == 1u) 80b6ee8: 68fb ldr r3, [r7, #12] 80b6eea: 79db ldrb r3, [r3, #7] 80b6eec: 2b01 cmp r3, #1 80b6eee: d108 bne.n 80b6f02 arm_bitreversal_f32(pSrc, S_CFFT->fftLen, 80b6ef0: 697b ldr r3, [r7, #20] 80b6ef2: 8819 ldrh r1, [r3, #0] 80b6ef4: 697b ldr r3, [r7, #20] 80b6ef6: 89da ldrh r2, [r3, #14] 80b6ef8: 697b ldr r3, [r7, #20] 80b6efa: 689b ldr r3, [r3, #8] 80b6efc: 68b8 ldr r0, [r7, #8] 80b6efe: f7fc fa57 bl 80b33b0 arm_split_rfft_f32(pSrc, S->fftLenBy2, S->pTwiddleAReal, 80b6f02: 68fb ldr r3, [r7, #12] 80b6f04: 889b ldrh r3, [r3, #4] 80b6f06: 4618 mov r0, r3 80b6f08: 68fb ldr r3, [r7, #12] 80b6f0a: 68da ldr r2, [r3, #12] 80b6f0c: 68fb ldr r3, [r7, #12] 80b6f0e: 6919 ldr r1, [r3, #16] 80b6f10: 68fb ldr r3, [r7, #12] 80b6f12: 689b ldr r3, [r3, #8] 80b6f14: 9301 str r3, [sp, #4] 80b6f16: 687b ldr r3, [r7, #4] 80b6f18: 9300 str r3, [sp, #0] 80b6f1a: 460b mov r3, r1 80b6f1c: 4601 mov r1, r0 80b6f1e: 68b8 ldr r0, [r7, #8] 80b6f20: f000 f804 bl 80b6f2c } 80b6f24: bf00 nop 80b6f26: 3718 adds r7, #24 80b6f28: 46bd mov sp, r7 80b6f2a: bd80 pop {r7, pc} 080b6f2c : uint32_t fftLen, float32_t * pATable, float32_t * pBTable, float32_t * pDst, uint32_t modifier) { 80b6f2c: b480 push {r7} 80b6f2e: b091 sub sp, #68 ; 0x44 80b6f30: af00 add r7, sp, #0 80b6f32: 60f8 str r0, [r7, #12] 80b6f34: 60b9 str r1, [r7, #8] 80b6f36: 607a str r2, [r7, #4] 80b6f38: 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 */ 80b6f3a: 6cbb ldr r3, [r7, #72] ; 0x48 80b6f3c: 3308 adds r3, #8 80b6f3e: 633b str r3, [r7, #48] ; 0x30 80b6f40: 68bb ldr r3, [r7, #8] 80b6f42: 011b lsls r3, r3, #4 80b6f44: 3b04 subs r3, #4 80b6f46: 6cba ldr r2, [r7, #72] ; 0x48 80b6f48: 4413 add r3, r2 80b6f4a: 62fb str r3, [r7, #44] ; 0x2c float32_t *pSrc1 = &pSrc[2], *pSrc2 = &pSrc[(2u * fftLen) - 1u]; /* temp pointers for input buffer */ 80b6f4c: 68fb ldr r3, [r7, #12] 80b6f4e: 3308 adds r3, #8 80b6f50: 62bb str r3, [r7, #40] ; 0x28 80b6f52: 68bb ldr r3, [r7, #8] 80b6f54: 00db lsls r3, r3, #3 80b6f56: 3b04 subs r3, #4 80b6f58: 68fa ldr r2, [r7, #12] 80b6f5a: 4413 add r3, r2 80b6f5c: 627b str r3, [r7, #36] ; 0x24 /* Init coefficient pointers */ pCoefA = &pATable[modifier * 2u]; 80b6f5e: 6cfb ldr r3, [r7, #76] ; 0x4c 80b6f60: 00db lsls r3, r3, #3 80b6f62: 687a ldr r2, [r7, #4] 80b6f64: 4413 add r3, r2 80b6f66: 63bb str r3, [r7, #56] ; 0x38 pCoefB = &pBTable[modifier * 2u]; 80b6f68: 6cfb ldr r3, [r7, #76] ; 0x4c 80b6f6a: 00db lsls r3, r3, #3 80b6f6c: 683a ldr r2, [r7, #0] 80b6f6e: 4413 add r3, r2 80b6f70: 637b str r3, [r7, #52] ; 0x34 i = fftLen - 1u; 80b6f72: 68bb ldr r3, [r7, #8] 80b6f74: 3b01 subs r3, #1 80b6f76: 63fb str r3, [r7, #60] ; 0x3c while(i > 0u) 80b6f78: e090 b.n 80b709c /* 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++; 80b6f7a: 6bbb ldr r3, [r7, #56] ; 0x38 80b6f7c: 1d1a adds r2, r3, #4 80b6f7e: 63ba str r2, [r7, #56] ; 0x38 80b6f80: 681b ldr r3, [r3, #0] 80b6f82: 623b str r3, [r7, #32] /* pATable[2 * i + 1] */ CoefA2 = *pCoefA; 80b6f84: 6bbb ldr r3, [r7, #56] ; 0x38 80b6f86: 681b ldr r3, [r3, #0] 80b6f88: 61fb str r3, [r7, #28] /* pSrc[2 * i] * pATable[2 * i] */ outR = *pSrc1 * CoefA1; 80b6f8a: 6abb ldr r3, [r7, #40] ; 0x28 80b6f8c: ed93 7a00 vldr s14, [r3] 80b6f90: edd7 7a08 vldr s15, [r7, #32] 80b6f94: ee67 7a27 vmul.f32 s15, s14, s15 80b6f98: edc7 7a06 vstr s15, [r7, #24] /* pSrc[2 * i] * CoefA2 */ outI = *pSrc1++ * CoefA2; 80b6f9c: 6abb ldr r3, [r7, #40] ; 0x28 80b6f9e: 1d1a adds r2, r3, #4 80b6fa0: 62ba str r2, [r7, #40] ; 0x28 80b6fa2: ed93 7a00 vldr s14, [r3] 80b6fa6: edd7 7a07 vldr s15, [r7, #28] 80b6faa: ee67 7a27 vmul.f32 s15, s14, s15 80b6fae: edc7 7a05 vstr s15, [r7, #20] /* (pSrc[2 * i + 1] + pSrc[2 * fftLen - 2 * i + 1]) * CoefA2 */ outR -= (*pSrc1 + *pSrc2) * CoefA2; 80b6fb2: 6abb ldr r3, [r7, #40] ; 0x28 80b6fb4: ed93 7a00 vldr s14, [r3] 80b6fb8: 6a7b ldr r3, [r7, #36] ; 0x24 80b6fba: edd3 7a00 vldr s15, [r3] 80b6fbe: ee37 7a27 vadd.f32 s14, s14, s15 80b6fc2: edd7 7a07 vldr s15, [r7, #28] 80b6fc6: ee67 7a27 vmul.f32 s15, s14, s15 80b6fca: ed97 7a06 vldr s14, [r7, #24] 80b6fce: ee77 7a67 vsub.f32 s15, s14, s15 80b6fd2: edc7 7a06 vstr s15, [r7, #24] /* pSrc[2 * i + 1] * CoefA1 */ outI += *pSrc1++ * CoefA1; 80b6fd6: 6abb ldr r3, [r7, #40] ; 0x28 80b6fd8: 1d1a adds r2, r3, #4 80b6fda: 62ba str r2, [r7, #40] ; 0x28 80b6fdc: ed93 7a00 vldr s14, [r3] 80b6fe0: edd7 7a08 vldr s15, [r7, #32] 80b6fe4: ee67 7a27 vmul.f32 s15, s14, s15 80b6fe8: ed97 7a05 vldr s14, [r7, #20] 80b6fec: ee77 7a27 vadd.f32 s15, s14, s15 80b6ff0: edc7 7a05 vstr s15, [r7, #20] CoefB1 = *pCoefB; 80b6ff4: 6b7b ldr r3, [r7, #52] ; 0x34 80b6ff6: 681b ldr r3, [r3, #0] 80b6ff8: 613b str r3, [r7, #16] /* pSrc[2 * fftLen - 2 * i + 1] * CoefB1 */ outI -= *pSrc2-- * CoefB1; 80b6ffa: 6a7b ldr r3, [r7, #36] ; 0x24 80b6ffc: 1f1a subs r2, r3, #4 80b6ffe: 627a str r2, [r7, #36] ; 0x24 80b7000: ed93 7a00 vldr s14, [r3] 80b7004: edd7 7a04 vldr s15, [r7, #16] 80b7008: ee67 7a27 vmul.f32 s15, s14, s15 80b700c: ed97 7a05 vldr s14, [r7, #20] 80b7010: ee77 7a67 vsub.f32 s15, s14, s15 80b7014: edc7 7a05 vstr s15, [r7, #20] /* pSrc[2 * fftLen - 2 * i] * CoefA2 */ outI -= *pSrc2 * CoefA2; 80b7018: 6a7b ldr r3, [r7, #36] ; 0x24 80b701a: ed93 7a00 vldr s14, [r3] 80b701e: edd7 7a07 vldr s15, [r7, #28] 80b7022: ee67 7a27 vmul.f32 s15, s14, s15 80b7026: ed97 7a05 vldr s14, [r7, #20] 80b702a: ee77 7a67 vsub.f32 s15, s14, s15 80b702e: edc7 7a05 vstr s15, [r7, #20] /* pSrc[2 * fftLen - 2 * i] * CoefB1 */ outR += *pSrc2-- * CoefB1; 80b7032: 6a7b ldr r3, [r7, #36] ; 0x24 80b7034: 1f1a subs r2, r3, #4 80b7036: 627a str r2, [r7, #36] ; 0x24 80b7038: ed93 7a00 vldr s14, [r3] 80b703c: edd7 7a04 vldr s15, [r7, #16] 80b7040: ee67 7a27 vmul.f32 s15, s14, s15 80b7044: ed97 7a06 vldr s14, [r7, #24] 80b7048: ee77 7a27 vadd.f32 s15, s14, s15 80b704c: edc7 7a06 vstr s15, [r7, #24] /* write output */ *pDst1++ = outR; 80b7050: 6b3b ldr r3, [r7, #48] ; 0x30 80b7052: 1d1a adds r2, r3, #4 80b7054: 633a str r2, [r7, #48] ; 0x30 80b7056: 69ba ldr r2, [r7, #24] 80b7058: 601a str r2, [r3, #0] *pDst1++ = outI; 80b705a: 6b3b ldr r3, [r7, #48] ; 0x30 80b705c: 1d1a adds r2, r3, #4 80b705e: 633a str r2, [r7, #48] ; 0x30 80b7060: 697a ldr r2, [r7, #20] 80b7062: 601a str r2, [r3, #0] /* write complex conjugate output */ *pDst2-- = -outI; 80b7064: 6afb ldr r3, [r7, #44] ; 0x2c 80b7066: 1f1a subs r2, r3, #4 80b7068: 62fa str r2, [r7, #44] ; 0x2c 80b706a: edd7 7a05 vldr s15, [r7, #20] 80b706e: eef1 7a67 vneg.f32 s15, s15 80b7072: edc3 7a00 vstr s15, [r3] *pDst2-- = outR; 80b7076: 6afb ldr r3, [r7, #44] ; 0x2c 80b7078: 1f1a subs r2, r3, #4 80b707a: 62fa str r2, [r7, #44] ; 0x2c 80b707c: 69ba ldr r2, [r7, #24] 80b707e: 601a str r2, [r3, #0] /* update coefficient pointer */ pCoefB = pCoefB + (modifier * 2u); 80b7080: 6cfb ldr r3, [r7, #76] ; 0x4c 80b7082: 00db lsls r3, r3, #3 80b7084: 6b7a ldr r2, [r7, #52] ; 0x34 80b7086: 4413 add r3, r2 80b7088: 637b str r3, [r7, #52] ; 0x34 pCoefA = pCoefA + ((modifier * 2u) - 1u); 80b708a: 6cfb ldr r3, [r7, #76] ; 0x4c 80b708c: 00db lsls r3, r3, #3 80b708e: 3b04 subs r3, #4 80b7090: 6bba ldr r2, [r7, #56] ; 0x38 80b7092: 4413 add r3, r2 80b7094: 63bb str r3, [r7, #56] ; 0x38 i--; 80b7096: 6bfb ldr r3, [r7, #60] ; 0x3c 80b7098: 3b01 subs r3, #1 80b709a: 63fb str r3, [r7, #60] ; 0x3c while(i > 0u) 80b709c: 6bfb ldr r3, [r7, #60] ; 0x3c 80b709e: 2b00 cmp r3, #0 80b70a0: f47f af6b bne.w 80b6f7a } pDst[2u * fftLen] = pSrc[0] - pSrc[1]; 80b70a4: 68bb ldr r3, [r7, #8] 80b70a6: 00db lsls r3, r3, #3 80b70a8: 6cba ldr r2, [r7, #72] ; 0x48 80b70aa: 4413 add r3, r2 80b70ac: 68fa ldr r2, [r7, #12] 80b70ae: ed92 7a00 vldr s14, [r2] 80b70b2: 68fa ldr r2, [r7, #12] 80b70b4: 3204 adds r2, #4 80b70b6: edd2 7a00 vldr s15, [r2] 80b70ba: ee77 7a67 vsub.f32 s15, s14, s15 80b70be: edc3 7a00 vstr s15, [r3] pDst[(2u * fftLen) + 1u] = 0.0f; 80b70c2: 68bb ldr r3, [r7, #8] 80b70c4: 00db lsls r3, r3, #3 80b70c6: 3304 adds r3, #4 80b70c8: 6cba ldr r2, [r7, #72] ; 0x48 80b70ca: 4413 add r3, r2 80b70cc: f04f 0200 mov.w r2, #0 80b70d0: 601a str r2, [r3, #0] pDst[0] = pSrc[0] + pSrc[1]; 80b70d2: 68fb ldr r3, [r7, #12] 80b70d4: ed93 7a00 vldr s14, [r3] 80b70d8: 68fb ldr r3, [r7, #12] 80b70da: 3304 adds r3, #4 80b70dc: edd3 7a00 vldr s15, [r3] 80b70e0: ee77 7a27 vadd.f32 s15, s14, s15 80b70e4: 6cbb ldr r3, [r7, #72] ; 0x48 80b70e6: edc3 7a00 vstr s15, [r3] pDst[1] = 0.0f; 80b70ea: 6cbb ldr r3, [r7, #72] ; 0x48 80b70ec: 3304 adds r3, #4 80b70ee: f04f 0200 mov.w r2, #0 80b70f2: 601a str r2, [r3, #0] } 80b70f4: bf00 nop 80b70f6: 3744 adds r7, #68 ; 0x44 80b70f8: 46bd mov sp, r7 80b70fa: f85d 7b04 ldr.w r7, [sp], #4 80b70fe: 4770 bx lr 080b7100 : uint32_t fftLen, float32_t * pATable, float32_t * pBTable, float32_t * pDst, uint32_t modifier) { 80b7100: b480 push {r7} 80b7102: b08f sub sp, #60 ; 0x3c 80b7104: af00 add r7, sp, #0 80b7106: 60f8 str r0, [r7, #12] 80b7108: 60b9 str r1, [r7, #8] 80b710a: 607a str r2, [r7, #4] 80b710c: 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]; 80b710e: 68fb ldr r3, [r7, #12] 80b7110: 62fb str r3, [r7, #44] ; 0x2c 80b7112: 68bb ldr r3, [r7, #8] 80b7114: 00db lsls r3, r3, #3 80b7116: 3304 adds r3, #4 80b7118: 68fa ldr r2, [r7, #12] 80b711a: 4413 add r3, r2 80b711c: 62bb str r3, [r7, #40] ; 0x28 pCoefA = &pATable[0]; 80b711e: 687b ldr r3, [r7, #4] 80b7120: 637b str r3, [r7, #52] ; 0x34 pCoefB = &pBTable[0]; 80b7122: 683b ldr r3, [r7, #0] 80b7124: 633b str r3, [r7, #48] ; 0x30 while(fftLen > 0u) 80b7126: e084 b.n 80b7232 pIn[2 * n - 2 * i] * pBTable[2 * i + 1] - pIn[2 * n - 2 * i + 1] * pBTable[2 * i]); */ CoefA1 = *pCoefA++; 80b7128: 6b7b ldr r3, [r7, #52] ; 0x34 80b712a: 1d1a adds r2, r3, #4 80b712c: 637a str r2, [r7, #52] ; 0x34 80b712e: 681b ldr r3, [r3, #0] 80b7130: 627b str r3, [r7, #36] ; 0x24 CoefA2 = *pCoefA; 80b7132: 6b7b ldr r3, [r7, #52] ; 0x34 80b7134: 681b ldr r3, [r3, #0] 80b7136: 623b str r3, [r7, #32] /* outR = (pSrc[2 * i] * CoefA1 */ outR = *pSrc1 * CoefA1; 80b7138: 6afb ldr r3, [r7, #44] ; 0x2c 80b713a: ed93 7a00 vldr s14, [r3] 80b713e: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b7142: ee67 7a27 vmul.f32 s15, s14, s15 80b7146: edc7 7a07 vstr s15, [r7, #28] /* - pSrc[2 * i] * CoefA2 */ outI = -(*pSrc1++) * CoefA2; 80b714a: 6afb ldr r3, [r7, #44] ; 0x2c 80b714c: 1d1a adds r2, r3, #4 80b714e: 62fa str r2, [r7, #44] ; 0x2c 80b7150: edd3 7a00 vldr s15, [r3] 80b7154: eeb1 7a67 vneg.f32 s14, s15 80b7158: edd7 7a08 vldr s15, [r7, #32] 80b715c: ee67 7a27 vmul.f32 s15, s14, s15 80b7160: edc7 7a06 vstr s15, [r7, #24] /* (pSrc[2 * i + 1] + pSrc[2 * fftLen - 2 * i + 1]) * CoefA2 */ outR += (*pSrc1 + *pSrc2) * CoefA2; 80b7164: 6afb ldr r3, [r7, #44] ; 0x2c 80b7166: ed93 7a00 vldr s14, [r3] 80b716a: 6abb ldr r3, [r7, #40] ; 0x28 80b716c: edd3 7a00 vldr s15, [r3] 80b7170: ee37 7a27 vadd.f32 s14, s14, s15 80b7174: edd7 7a08 vldr s15, [r7, #32] 80b7178: ee67 7a27 vmul.f32 s15, s14, s15 80b717c: ed97 7a07 vldr s14, [r7, #28] 80b7180: ee77 7a27 vadd.f32 s15, s14, s15 80b7184: edc7 7a07 vstr s15, [r7, #28] /* pSrc[2 * i + 1] * CoefA1 */ outI += (*pSrc1++) * CoefA1; 80b7188: 6afb ldr r3, [r7, #44] ; 0x2c 80b718a: 1d1a adds r2, r3, #4 80b718c: 62fa str r2, [r7, #44] ; 0x2c 80b718e: ed93 7a00 vldr s14, [r3] 80b7192: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b7196: ee67 7a27 vmul.f32 s15, s14, s15 80b719a: ed97 7a06 vldr s14, [r7, #24] 80b719e: ee77 7a27 vadd.f32 s15, s14, s15 80b71a2: edc7 7a06 vstr s15, [r7, #24] CoefB1 = *pCoefB; 80b71a6: 6b3b ldr r3, [r7, #48] ; 0x30 80b71a8: 681b ldr r3, [r3, #0] 80b71aa: 617b str r3, [r7, #20] /* - pSrc[2 * fftLen - 2 * i + 1] * CoefB1 */ outI -= *pSrc2-- * CoefB1; 80b71ac: 6abb ldr r3, [r7, #40] ; 0x28 80b71ae: 1f1a subs r2, r3, #4 80b71b0: 62ba str r2, [r7, #40] ; 0x28 80b71b2: ed93 7a00 vldr s14, [r3] 80b71b6: edd7 7a05 vldr s15, [r7, #20] 80b71ba: ee67 7a27 vmul.f32 s15, s14, s15 80b71be: ed97 7a06 vldr s14, [r7, #24] 80b71c2: ee77 7a67 vsub.f32 s15, s14, s15 80b71c6: edc7 7a06 vstr s15, [r7, #24] /* pSrc[2 * fftLen - 2 * i] * CoefB1 */ outR += *pSrc2 * CoefB1; 80b71ca: 6abb ldr r3, [r7, #40] ; 0x28 80b71cc: ed93 7a00 vldr s14, [r3] 80b71d0: edd7 7a05 vldr s15, [r7, #20] 80b71d4: ee67 7a27 vmul.f32 s15, s14, s15 80b71d8: ed97 7a07 vldr s14, [r7, #28] 80b71dc: ee77 7a27 vadd.f32 s15, s14, s15 80b71e0: edc7 7a07 vstr s15, [r7, #28] /* pSrc[2 * fftLen - 2 * i] * CoefA2 */ outI += *pSrc2-- * CoefA2; 80b71e4: 6abb ldr r3, [r7, #40] ; 0x28 80b71e6: 1f1a subs r2, r3, #4 80b71e8: 62ba str r2, [r7, #40] ; 0x28 80b71ea: ed93 7a00 vldr s14, [r3] 80b71ee: edd7 7a08 vldr s15, [r7, #32] 80b71f2: ee67 7a27 vmul.f32 s15, s14, s15 80b71f6: ed97 7a06 vldr s14, [r7, #24] 80b71fa: ee77 7a27 vadd.f32 s15, s14, s15 80b71fe: edc7 7a06 vstr s15, [r7, #24] /* write output */ *pDst++ = outR; 80b7202: 6c3b ldr r3, [r7, #64] ; 0x40 80b7204: 1d1a adds r2, r3, #4 80b7206: 643a str r2, [r7, #64] ; 0x40 80b7208: 69fa ldr r2, [r7, #28] 80b720a: 601a str r2, [r3, #0] *pDst++ = outI; 80b720c: 6c3b ldr r3, [r7, #64] ; 0x40 80b720e: 1d1a adds r2, r3, #4 80b7210: 643a str r2, [r7, #64] ; 0x40 80b7212: 69ba ldr r2, [r7, #24] 80b7214: 601a str r2, [r3, #0] /* update coefficient pointer */ pCoefB = pCoefB + (modifier * 2u); 80b7216: 6c7b ldr r3, [r7, #68] ; 0x44 80b7218: 00db lsls r3, r3, #3 80b721a: 6b3a ldr r2, [r7, #48] ; 0x30 80b721c: 4413 add r3, r2 80b721e: 633b str r3, [r7, #48] ; 0x30 pCoefA = pCoefA + ((modifier * 2u) - 1u); 80b7220: 6c7b ldr r3, [r7, #68] ; 0x44 80b7222: 00db lsls r3, r3, #3 80b7224: 3b04 subs r3, #4 80b7226: 6b7a ldr r2, [r7, #52] ; 0x34 80b7228: 4413 add r3, r2 80b722a: 637b str r3, [r7, #52] ; 0x34 /* Decrement loop count */ fftLen--; 80b722c: 68bb ldr r3, [r7, #8] 80b722e: 3b01 subs r3, #1 80b7230: 60bb str r3, [r7, #8] while(fftLen > 0u) 80b7232: 68bb ldr r3, [r7, #8] 80b7234: 2b00 cmp r3, #0 80b7236: f47f af77 bne.w 80b7128 } } 80b723a: bf00 nop 80b723c: 373c adds r7, #60 ; 0x3c 80b723e: 46bd mov sp, r7 80b7240: f85d 7b04 ldr.w r7, [sp], #4 80b7244: 4770 bx lr 080b7246 : #include "arm_math.h" void stage_rfft_f32( arm_rfft_fast_instance_f32 * S, float32_t * p, float32_t * pOut) { 80b7246: b480 push {r7} 80b7248: b095 sub sp, #84 ; 0x54 80b724a: af00 add r7, sp, #0 80b724c: 60f8 str r0, [r7, #12] 80b724e: 60b9 str r1, [r7, #8] 80b7250: 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 */ 80b7252: 68fb ldr r3, [r7, #12] 80b7254: 695b ldr r3, [r3, #20] 80b7256: 64bb str r3, [r7, #72] ; 0x48 float32_t *pA = p; /* increasing pointer */ 80b7258: 68bb ldr r3, [r7, #8] 80b725a: 647b str r3, [r7, #68] ; 0x44 float32_t *pB = p; /* decreasing pointer */ 80b725c: 68bb ldr r3, [r7, #8] 80b725e: 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; 80b7260: 68fb ldr r3, [r7, #12] 80b7262: 881b ldrh r3, [r3, #0] 80b7264: 3b01 subs r3, #1 80b7266: 64fb str r3, [r7, #76] ; 0x4c /* Pack first and last sample of the frequency domain together */ xBR = pB[0]; 80b7268: 6c3b ldr r3, [r7, #64] ; 0x40 80b726a: 681b ldr r3, [r3, #0] 80b726c: 63fb str r3, [r7, #60] ; 0x3c xBI = pB[1]; 80b726e: 6c3b ldr r3, [r7, #64] ; 0x40 80b7270: 685b ldr r3, [r3, #4] 80b7272: 63bb str r3, [r7, #56] ; 0x38 xAR = pA[0]; 80b7274: 6c7b ldr r3, [r7, #68] ; 0x44 80b7276: 681b ldr r3, [r3, #0] 80b7278: 637b str r3, [r7, #52] ; 0x34 xAI = pA[1]; 80b727a: 6c7b ldr r3, [r7, #68] ; 0x44 80b727c: 685b ldr r3, [r3, #4] 80b727e: 633b str r3, [r7, #48] ; 0x30 twR = *pCoeff++ ; 80b7280: 6cbb ldr r3, [r7, #72] ; 0x48 80b7282: 1d1a adds r2, r3, #4 80b7284: 64ba str r2, [r7, #72] ; 0x48 80b7286: 681b ldr r3, [r3, #0] 80b7288: 62fb str r3, [r7, #44] ; 0x2c twI = *pCoeff++ ; 80b728a: 6cbb ldr r3, [r7, #72] ; 0x48 80b728c: 1d1a adds r2, r3, #4 80b728e: 64ba str r2, [r7, #72] ; 0x48 80b7290: 681b ldr r3, [r3, #0] 80b7292: 62bb str r3, [r7, #40] ; 0x28 // U1 = XA(1) + XB(1); % It is real t1a = xBR + xAR ; 80b7294: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b7298: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b729c: ee77 7a27 vadd.f32 s15, s14, s15 80b72a0: edc7 7a09 vstr s15, [r7, #36] ; 0x24 // U2 = XB(1) - XA(1); % It is imaginary t1b = xBI + xAI ; 80b72a4: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b72a8: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b72ac: ee77 7a27 vadd.f32 s15, s14, s15 80b72b0: 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 ); 80b72b4: 687b ldr r3, [r7, #4] 80b72b6: 1d1a adds r2, r3, #4 80b72b8: 607a str r2, [r7, #4] 80b72ba: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b72be: edd7 7a08 vldr s15, [r7, #32] 80b72c2: ee77 7a27 vadd.f32 s15, s14, s15 80b72c6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b72ca: ee67 7a87 vmul.f32 s15, s15, s14 80b72ce: edc3 7a00 vstr s15, [r3] *pOut++ = 0.5f * ( t1a - t1b ); 80b72d2: 687b ldr r3, [r7, #4] 80b72d4: 1d1a adds r2, r3, #4 80b72d6: 607a str r2, [r7, #4] 80b72d8: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b72dc: edd7 7a08 vldr s15, [r7, #32] 80b72e0: ee77 7a67 vsub.f32 s15, s14, s15 80b72e4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b72e8: ee67 7a87 vmul.f32 s15, s15, s14 80b72ec: edc3 7a00 vstr s15, [r3] // XA(1) = 1/2*( U1 - imag(U2) + i*( U1 +imag(U2) )); pB = p + 2*k; 80b72f0: 6cfb ldr r3, [r7, #76] ; 0x4c 80b72f2: 00db lsls r3, r3, #3 80b72f4: 68ba ldr r2, [r7, #8] 80b72f6: 4413 add r3, r2 80b72f8: 643b str r3, [r7, #64] ; 0x40 pA += 2; 80b72fa: 6c7b ldr r3, [r7, #68] ; 0x44 80b72fc: 3308 adds r3, #8 80b72fe: 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]; 80b7300: 6c3b ldr r3, [r7, #64] ; 0x40 80b7302: 685b ldr r3, [r3, #4] 80b7304: 63bb str r3, [r7, #56] ; 0x38 xBR = pB[0]; 80b7306: 6c3b ldr r3, [r7, #64] ; 0x40 80b7308: 681b ldr r3, [r3, #0] 80b730a: 63fb str r3, [r7, #60] ; 0x3c xAR = pA[0]; 80b730c: 6c7b ldr r3, [r7, #68] ; 0x44 80b730e: 681b ldr r3, [r3, #0] 80b7310: 637b str r3, [r7, #52] ; 0x34 xAI = pA[1]; 80b7312: 6c7b ldr r3, [r7, #68] ; 0x44 80b7314: 685b ldr r3, [r3, #4] 80b7316: 633b str r3, [r7, #48] ; 0x30 twR = *pCoeff++; 80b7318: 6cbb ldr r3, [r7, #72] ; 0x48 80b731a: 1d1a adds r2, r3, #4 80b731c: 64ba str r2, [r7, #72] ; 0x48 80b731e: 681b ldr r3, [r3, #0] 80b7320: 62fb str r3, [r7, #44] ; 0x2c twI = *pCoeff++; 80b7322: 6cbb ldr r3, [r7, #72] ; 0x48 80b7324: 1d1a adds r2, r3, #4 80b7326: 64ba str r2, [r7, #72] ; 0x48 80b7328: 681b ldr r3, [r3, #0] 80b732a: 62bb str r3, [r7, #40] ; 0x28 t1a = xBR - xAR ; 80b732c: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b7330: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b7334: ee77 7a67 vsub.f32 s15, s14, s15 80b7338: edc7 7a09 vstr s15, [r7, #36] ; 0x24 t1b = xBI + xAI ; 80b733c: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b7340: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b7344: ee77 7a27 vadd.f32 s15, s14, s15 80b7348: 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; 80b734c: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b7350: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b7354: ee67 7a27 vmul.f32 s15, s14, s15 80b7358: edc7 7a07 vstr s15, [r7, #28] p1 = twI * t1a; 80b735c: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b7360: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b7364: ee67 7a27 vmul.f32 s15, s14, s15 80b7368: edc7 7a06 vstr s15, [r7, #24] p2 = twR * t1b; 80b736c: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b7370: edd7 7a08 vldr s15, [r7, #32] 80b7374: ee67 7a27 vmul.f32 s15, s14, s15 80b7378: edc7 7a05 vstr s15, [r7, #20] p3 = twI * t1b; 80b737c: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b7380: edd7 7a08 vldr s15, [r7, #32] 80b7384: ee67 7a27 vmul.f32 s15, s14, s15 80b7388: edc7 7a04 vstr s15, [r7, #16] *pOut++ = 0.5f * (xAR + xBR + p0 + p3 ); //xAR 80b738c: 687b ldr r3, [r7, #4] 80b738e: 1d1a adds r2, r3, #4 80b7390: 607a str r2, [r7, #4] 80b7392: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b7396: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b739a: ee37 7a27 vadd.f32 s14, s14, s15 80b739e: edd7 7a07 vldr s15, [r7, #28] 80b73a2: ee37 7a27 vadd.f32 s14, s14, s15 80b73a6: edd7 7a04 vldr s15, [r7, #16] 80b73aa: ee77 7a27 vadd.f32 s15, s14, s15 80b73ae: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b73b2: ee67 7a87 vmul.f32 s15, s15, s14 80b73b6: edc3 7a00 vstr s15, [r3] *pOut++ = 0.5f * (xAI - xBI + p1 - p2 ); //xAI 80b73ba: 687b ldr r3, [r7, #4] 80b73bc: 1d1a adds r2, r3, #4 80b73be: 607a str r2, [r7, #4] 80b73c0: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b73c4: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b73c8: ee37 7a67 vsub.f32 s14, s14, s15 80b73cc: edd7 7a06 vldr s15, [r7, #24] 80b73d0: ee37 7a27 vadd.f32 s14, s14, s15 80b73d4: edd7 7a05 vldr s15, [r7, #20] 80b73d8: ee77 7a67 vsub.f32 s15, s14, s15 80b73dc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b73e0: ee67 7a87 vmul.f32 s15, s15, s14 80b73e4: edc3 7a00 vstr s15, [r3] pA += 2; 80b73e8: 6c7b ldr r3, [r7, #68] ; 0x44 80b73ea: 3308 adds r3, #8 80b73ec: 647b str r3, [r7, #68] ; 0x44 pB -= 2; 80b73ee: 6c3b ldr r3, [r7, #64] ; 0x40 80b73f0: 3b08 subs r3, #8 80b73f2: 643b str r3, [r7, #64] ; 0x40 k--; 80b73f4: 6cfb ldr r3, [r7, #76] ; 0x4c 80b73f6: 3b01 subs r3, #1 80b73f8: 64fb str r3, [r7, #76] ; 0x4c } while(k > 0u); 80b73fa: 6cfb ldr r3, [r7, #76] ; 0x4c 80b73fc: 2b00 cmp r3, #0 80b73fe: f47f af7f bne.w 80b7300 } 80b7402: bf00 nop 80b7404: 3754 adds r7, #84 ; 0x54 80b7406: 46bd mov sp, r7 80b7408: f85d 7b04 ldr.w r7, [sp], #4 80b740c: 4770 bx lr 080b740e : /* Prepares data for inverse cfft */ void merge_rfft_f32( arm_rfft_fast_instance_f32 * S, float32_t * p, float32_t * pOut) { 80b740e: b480 push {r7} 80b7410: b095 sub sp, #84 ; 0x54 80b7412: af00 add r7, sp, #0 80b7414: 60f8 str r0, [r7, #12] 80b7416: 60b9 str r1, [r7, #8] 80b7418: 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 */ 80b741a: 68fb ldr r3, [r7, #12] 80b741c: 695b ldr r3, [r3, #20] 80b741e: 64bb str r3, [r7, #72] ; 0x48 float32_t *pA = p; /* increasing pointer */ 80b7420: 68bb ldr r3, [r7, #8] 80b7422: 647b str r3, [r7, #68] ; 0x44 float32_t *pB = p; /* decreasing pointer */ 80b7424: 68bb ldr r3, [r7, #8] 80b7426: 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; 80b7428: 68fb ldr r3, [r7, #12] 80b742a: 881b ldrh r3, [r3, #0] 80b742c: 3b01 subs r3, #1 80b742e: 64fb str r3, [r7, #76] ; 0x4c xAR = pA[0]; 80b7430: 6c7b ldr r3, [r7, #68] ; 0x44 80b7432: 681b ldr r3, [r3, #0] 80b7434: 63fb str r3, [r7, #60] ; 0x3c xAI = pA[1]; 80b7436: 6c7b ldr r3, [r7, #68] ; 0x44 80b7438: 685b ldr r3, [r3, #4] 80b743a: 63bb str r3, [r7, #56] ; 0x38 pCoeff += 2 ; 80b743c: 6cbb ldr r3, [r7, #72] ; 0x48 80b743e: 3308 adds r3, #8 80b7440: 64bb str r3, [r7, #72] ; 0x48 *pOut++ = 0.5f * ( xAR + xAI ); 80b7442: 687b ldr r3, [r7, #4] 80b7444: 1d1a adds r2, r3, #4 80b7446: 607a str r2, [r7, #4] 80b7448: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b744c: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b7450: ee77 7a27 vadd.f32 s15, s14, s15 80b7454: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b7458: ee67 7a87 vmul.f32 s15, s15, s14 80b745c: edc3 7a00 vstr s15, [r3] *pOut++ = 0.5f * ( xAR - xAI ); 80b7460: 687b ldr r3, [r7, #4] 80b7462: 1d1a adds r2, r3, #4 80b7464: 607a str r2, [r7, #4] 80b7466: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b746a: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b746e: ee77 7a67 vsub.f32 s15, s14, s15 80b7472: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b7476: ee67 7a87 vmul.f32 s15, s15, s14 80b747a: edc3 7a00 vstr s15, [r3] pB = p + 2*k ; 80b747e: 6cfb ldr r3, [r7, #76] ; 0x4c 80b7480: 00db lsls r3, r3, #3 80b7482: 68ba ldr r2, [r7, #8] 80b7484: 4413 add r3, r2 80b7486: 643b str r3, [r7, #64] ; 0x40 pA += 2 ; 80b7488: 6c7b ldr r3, [r7, #68] ; 0x44 80b748a: 3308 adds r3, #8 80b748c: 647b str r3, [r7, #68] ; 0x44 while(k > 0u) 80b748e: e07c b.n 80b758a { /* 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] ; 80b7490: 6c3b ldr r3, [r7, #64] ; 0x40 80b7492: 685b ldr r3, [r3, #4] 80b7494: 637b str r3, [r7, #52] ; 0x34 xBR = pB[0] ; 80b7496: 6c3b ldr r3, [r7, #64] ; 0x40 80b7498: 681b ldr r3, [r3, #0] 80b749a: 633b str r3, [r7, #48] ; 0x30 xAR = pA[0]; 80b749c: 6c7b ldr r3, [r7, #68] ; 0x44 80b749e: 681b ldr r3, [r3, #0] 80b74a0: 63fb str r3, [r7, #60] ; 0x3c xAI = pA[1]; 80b74a2: 6c7b ldr r3, [r7, #68] ; 0x44 80b74a4: 685b ldr r3, [r3, #4] 80b74a6: 63bb str r3, [r7, #56] ; 0x38 twR = *pCoeff++; 80b74a8: 6cbb ldr r3, [r7, #72] ; 0x48 80b74aa: 1d1a adds r2, r3, #4 80b74ac: 64ba str r2, [r7, #72] ; 0x48 80b74ae: 681b ldr r3, [r3, #0] 80b74b0: 62fb str r3, [r7, #44] ; 0x2c twI = *pCoeff++; 80b74b2: 6cbb ldr r3, [r7, #72] ; 0x48 80b74b4: 1d1a adds r2, r3, #4 80b74b6: 64ba str r2, [r7, #72] ; 0x48 80b74b8: 681b ldr r3, [r3, #0] 80b74ba: 62bb str r3, [r7, #40] ; 0x28 t1a = xAR - xBR ; 80b74bc: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b74c0: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b74c4: ee77 7a67 vsub.f32 s15, s14, s15 80b74c8: edc7 7a09 vstr s15, [r7, #36] ; 0x24 t1b = xAI + xBI ; 80b74cc: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b74d0: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b74d4: ee77 7a27 vadd.f32 s15, s14, s15 80b74d8: edc7 7a08 vstr s15, [r7, #32] r = twR * t1a; 80b74dc: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b74e0: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b74e4: ee67 7a27 vmul.f32 s15, s14, s15 80b74e8: edc7 7a07 vstr s15, [r7, #28] s = twI * t1b; 80b74ec: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b74f0: edd7 7a08 vldr s15, [r7, #32] 80b74f4: ee67 7a27 vmul.f32 s15, s14, s15 80b74f8: edc7 7a06 vstr s15, [r7, #24] t = twI * t1a; 80b74fc: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b7500: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b7504: ee67 7a27 vmul.f32 s15, s14, s15 80b7508: edc7 7a05 vstr s15, [r7, #20] u = twR * t1b; 80b750c: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b7510: edd7 7a08 vldr s15, [r7, #32] 80b7514: ee67 7a27 vmul.f32 s15, s14, s15 80b7518: 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 80b751c: 687b ldr r3, [r7, #4] 80b751e: 1d1a adds r2, r3, #4 80b7520: 607a str r2, [r7, #4] 80b7522: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b7526: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b752a: ee37 7a27 vadd.f32 s14, s14, s15 80b752e: edd7 7a07 vldr s15, [r7, #28] 80b7532: ee37 7a67 vsub.f32 s14, s14, s15 80b7536: edd7 7a06 vldr s15, [r7, #24] 80b753a: ee77 7a67 vsub.f32 s15, s14, s15 80b753e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b7542: ee67 7a87 vmul.f32 s15, s15, s14 80b7546: edc3 7a00 vstr s15, [r3] *pOut++ = 0.5f * (xAI - xBI + t - u ); //xAI 80b754a: 687b ldr r3, [r7, #4] 80b754c: 1d1a adds r2, r3, #4 80b754e: 607a str r2, [r7, #4] 80b7550: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b7554: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b7558: ee37 7a67 vsub.f32 s14, s14, s15 80b755c: edd7 7a05 vldr s15, [r7, #20] 80b7560: ee37 7a27 vadd.f32 s14, s14, s15 80b7564: edd7 7a04 vldr s15, [r7, #16] 80b7568: ee77 7a67 vsub.f32 s15, s14, s15 80b756c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b7570: ee67 7a87 vmul.f32 s15, s15, s14 80b7574: edc3 7a00 vstr s15, [r3] pA += 2; 80b7578: 6c7b ldr r3, [r7, #68] ; 0x44 80b757a: 3308 adds r3, #8 80b757c: 647b str r3, [r7, #68] ; 0x44 pB -= 2; 80b757e: 6c3b ldr r3, [r7, #64] ; 0x40 80b7580: 3b08 subs r3, #8 80b7582: 643b str r3, [r7, #64] ; 0x40 k--; 80b7584: 6cfb ldr r3, [r7, #76] ; 0x4c 80b7586: 3b01 subs r3, #1 80b7588: 64fb str r3, [r7, #76] ; 0x4c while(k > 0u) 80b758a: 6cfb ldr r3, [r7, #76] ; 0x4c 80b758c: 2b00 cmp r3, #0 80b758e: f47f af7f bne.w 80b7490 } } 80b7592: bf00 nop 80b7594: 3754 adds r7, #84 ; 0x54 80b7596: 46bd mov sp, r7 80b7598: f85d 7b04 ldr.w r7, [sp], #4 80b759c: 4770 bx lr 080b759e : void arm_rfft_fast_f32( arm_rfft_fast_instance_f32 * S, float32_t * p, float32_t * pOut, uint8_t ifftFlag) { 80b759e: b580 push {r7, lr} 80b75a0: b086 sub sp, #24 80b75a2: af00 add r7, sp, #0 80b75a4: 60f8 str r0, [r7, #12] 80b75a6: 60b9 str r1, [r7, #8] 80b75a8: 607a str r2, [r7, #4] 80b75aa: 70fb strb r3, [r7, #3] arm_cfft_instance_f32 * Sint = &(S->Sint); 80b75ac: 68fb ldr r3, [r7, #12] 80b75ae: 617b str r3, [r7, #20] Sint->fftLen = S->fftLenRFFT / 2; 80b75b0: 68fb ldr r3, [r7, #12] 80b75b2: 8a1b ldrh r3, [r3, #16] 80b75b4: 085b lsrs r3, r3, #1 80b75b6: b29a uxth r2, r3 80b75b8: 697b ldr r3, [r7, #20] 80b75ba: 801a strh r2, [r3, #0] /* Calculation of Real FFT */ if(ifftFlag) 80b75bc: 78fb ldrb r3, [r7, #3] 80b75be: 2b00 cmp r3, #0 80b75c0: d00b beq.n 80b75da { /* Real FFT compression */ merge_rfft_f32(S, p, pOut); 80b75c2: 687a ldr r2, [r7, #4] 80b75c4: 68b9 ldr r1, [r7, #8] 80b75c6: 68f8 ldr r0, [r7, #12] 80b75c8: f7ff ff21 bl 80b740e /* Complex radix-4 IFFT process */ arm_cfft_f32( Sint, pOut, ifftFlag, 1); 80b75cc: 78fa ldrb r2, [r7, #3] 80b75ce: 2301 movs r3, #1 80b75d0: 6879 ldr r1, [r7, #4] 80b75d2: 6978 ldr r0, [r7, #20] 80b75d4: f7fc ffe8 bl 80b45a8 arm_cfft_f32( Sint, p, ifftFlag, 1); /* Real FFT extraction */ stage_rfft_f32(S, p, pOut); } } 80b75d8: e00a b.n 80b75f0 arm_cfft_f32( Sint, p, ifftFlag, 1); 80b75da: 78fa ldrb r2, [r7, #3] 80b75dc: 2301 movs r3, #1 80b75de: 68b9 ldr r1, [r7, #8] 80b75e0: 6978 ldr r0, [r7, #20] 80b75e2: f7fc ffe1 bl 80b45a8 stage_rfft_f32(S, p, pOut); 80b75e6: 687a ldr r2, [r7, #4] 80b75e8: 68b9 ldr r1, [r7, #8] 80b75ea: 68f8 ldr r0, [r7, #12] 80b75ec: f7ff fe2b bl 80b7246 } 80b75f0: bf00 nop 80b75f2: 3718 adds r7, #24 80b75f4: 46bd mov sp, r7 80b75f6: bd80 pop {r7, pc} 080b75f8 : * 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) { 80b75f8: b480 push {r7} 80b75fa: b085 sub sp, #20 80b75fc: af00 add r7, sp, #0 80b75fe: 6078 str r0, [r7, #4] 80b7600: 460b mov r3, r1 80b7602: 807b strh r3, [r7, #2] arm_cfft_instance_f32 * Sint; /* Initialise the default arm status */ arm_status status = ARM_MATH_SUCCESS; 80b7604: 2300 movs r3, #0 80b7606: 73fb strb r3, [r7, #15] /* Initialise the FFT length */ Sint = &(S->Sint); 80b7608: 687b ldr r3, [r7, #4] 80b760a: 60bb str r3, [r7, #8] Sint->fftLen = fftLen/2; 80b760c: 887b ldrh r3, [r7, #2] 80b760e: 085b lsrs r3, r3, #1 80b7610: b29a uxth r2, r3 80b7612: 68bb ldr r3, [r7, #8] 80b7614: 801a strh r2, [r3, #0] S->fftLenRFFT = fftLen; 80b7616: 687b ldr r3, [r7, #4] 80b7618: 887a ldrh r2, [r7, #2] 80b761a: 821a strh r2, [r3, #16] /* Initializations of structure parameters depending on the FFT length */ switch (Sint->fftLen) 80b761c: 68bb ldr r3, [r7, #8] 80b761e: 881b ldrh r3, [r3, #0] 80b7620: 2b80 cmp r3, #128 ; 0x80 80b7622: d050 beq.n 80b76c6 80b7624: 2b80 cmp r3, #128 ; 0x80 80b7626: dc06 bgt.n 80b7636 80b7628: 2b20 cmp r3, #32 80b762a: d066 beq.n 80b76fa 80b762c: 2b40 cmp r3, #64 ; 0x40 80b762e: d057 beq.n 80b76e0 80b7630: 2b10 cmp r3, #16 80b7632: d06f beq.n 80b7714 80b7634: e07b b.n 80b772e 80b7636: f5b3 7f00 cmp.w r3, #512 ; 0x200 80b763a: d028 beq.n 80b768e 80b763c: f5b3 7f00 cmp.w r3, #512 ; 0x200 80b7640: dc03 bgt.n 80b764a 80b7642: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b7646: d030 beq.n 80b76aa 80b7648: e071 b.n 80b772e 80b764a: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80b764e: d010 beq.n 80b7672 80b7650: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80b7654: d16b bne.n 80b772e { case 2048u: /* Initializations of structure parameters for 2048 point FFT */ /* Initialise the bit reversal table length */ Sint->bitRevLength = ARMBITREVINDEXTABLE2048_TABLE_LENGTH; 80b7656: 68bb ldr r3, [r7, #8] 80b7658: f44f 626e mov.w r2, #3808 ; 0xee0 80b765c: 819a strh r2, [r3, #12] /* Initialise the bit reversal table pointer */ Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable2048; 80b765e: 68bb ldr r3, [r7, #8] 80b7660: 4a38 ldr r2, [pc, #224] ; (80b7744 ) 80b7662: 609a str r2, [r3, #8] /* Initialise the Twiddle coefficient pointers */ Sint->pTwiddle = (float32_t *) twiddleCoef_2048; 80b7664: 68bb ldr r3, [r7, #8] 80b7666: 4a38 ldr r2, [pc, #224] ; (80b7748 ) 80b7668: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_4096; 80b766a: 687b ldr r3, [r7, #4] 80b766c: 4a37 ldr r2, [pc, #220] ; (80b774c ) 80b766e: 615a str r2, [r3, #20] break; 80b7670: e060 b.n 80b7734 case 1024u: Sint->bitRevLength = ARMBITREVINDEXTABLE1024_TABLE_LENGTH; 80b7672: 68bb ldr r3, [r7, #8] 80b7674: f44f 62e1 mov.w r2, #1800 ; 0x708 80b7678: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable1024; 80b767a: 68bb ldr r3, [r7, #8] 80b767c: 4a34 ldr r2, [pc, #208] ; (80b7750 ) 80b767e: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_1024; 80b7680: 68bb ldr r3, [r7, #8] 80b7682: 4a34 ldr r2, [pc, #208] ; (80b7754 ) 80b7684: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_2048; 80b7686: 687b ldr r3, [r7, #4] 80b7688: 4a33 ldr r2, [pc, #204] ; (80b7758 ) 80b768a: 615a str r2, [r3, #20] break; 80b768c: e052 b.n 80b7734 case 512u: Sint->bitRevLength = ARMBITREVINDEXTABLE_512_TABLE_LENGTH; 80b768e: 68bb ldr r3, [r7, #8] 80b7690: f44f 72e0 mov.w r2, #448 ; 0x1c0 80b7694: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable512; 80b7696: 68bb ldr r3, [r7, #8] 80b7698: 4a30 ldr r2, [pc, #192] ; (80b775c ) 80b769a: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_512; 80b769c: 68bb ldr r3, [r7, #8] 80b769e: 4a30 ldr r2, [pc, #192] ; (80b7760 ) 80b76a0: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_1024; 80b76a2: 687b ldr r3, [r7, #4] 80b76a4: 4a2f ldr r2, [pc, #188] ; (80b7764 ) 80b76a6: 615a str r2, [r3, #20] break; 80b76a8: e044 b.n 80b7734 case 256u: Sint->bitRevLength = ARMBITREVINDEXTABLE_256_TABLE_LENGTH; 80b76aa: 68bb ldr r3, [r7, #8] 80b76ac: f44f 72dc mov.w r2, #440 ; 0x1b8 80b76b0: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable256; 80b76b2: 68bb ldr r3, [r7, #8] 80b76b4: 4a2c ldr r2, [pc, #176] ; (80b7768 ) 80b76b6: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_256; 80b76b8: 68bb ldr r3, [r7, #8] 80b76ba: 4a2c ldr r2, [pc, #176] ; (80b776c ) 80b76bc: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_512; 80b76be: 687b ldr r3, [r7, #4] 80b76c0: 4a2b ldr r2, [pc, #172] ; (80b7770 ) 80b76c2: 615a str r2, [r3, #20] break; 80b76c4: e036 b.n 80b7734 case 128u: Sint->bitRevLength = ARMBITREVINDEXTABLE_128_TABLE_LENGTH; 80b76c6: 68bb ldr r3, [r7, #8] 80b76c8: 22d0 movs r2, #208 ; 0xd0 80b76ca: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable128; 80b76cc: 68bb ldr r3, [r7, #8] 80b76ce: 4a29 ldr r2, [pc, #164] ; (80b7774 ) 80b76d0: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_128; 80b76d2: 68bb ldr r3, [r7, #8] 80b76d4: 4a28 ldr r2, [pc, #160] ; (80b7778 ) 80b76d6: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_256; 80b76d8: 687b ldr r3, [r7, #4] 80b76da: 4a28 ldr r2, [pc, #160] ; (80b777c ) 80b76dc: 615a str r2, [r3, #20] break; 80b76de: e029 b.n 80b7734 case 64u: Sint->bitRevLength = ARMBITREVINDEXTABLE__64_TABLE_LENGTH; 80b76e0: 68bb ldr r3, [r7, #8] 80b76e2: 2238 movs r2, #56 ; 0x38 80b76e4: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable64; 80b76e6: 68bb ldr r3, [r7, #8] 80b76e8: 4a25 ldr r2, [pc, #148] ; (80b7780 ) 80b76ea: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_64; 80b76ec: 68bb ldr r3, [r7, #8] 80b76ee: 4a25 ldr r2, [pc, #148] ; (80b7784 ) 80b76f0: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_128; 80b76f2: 687b ldr r3, [r7, #4] 80b76f4: 4a24 ldr r2, [pc, #144] ; (80b7788 ) 80b76f6: 615a str r2, [r3, #20] break; 80b76f8: e01c b.n 80b7734 case 32u: Sint->bitRevLength = ARMBITREVINDEXTABLE__32_TABLE_LENGTH; 80b76fa: 68bb ldr r3, [r7, #8] 80b76fc: 2230 movs r2, #48 ; 0x30 80b76fe: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable32; 80b7700: 68bb ldr r3, [r7, #8] 80b7702: 4a22 ldr r2, [pc, #136] ; (80b778c ) 80b7704: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_32; 80b7706: 68bb ldr r3, [r7, #8] 80b7708: 4a21 ldr r2, [pc, #132] ; (80b7790 ) 80b770a: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_64; 80b770c: 687b ldr r3, [r7, #4] 80b770e: 4a21 ldr r2, [pc, #132] ; (80b7794 ) 80b7710: 615a str r2, [r3, #20] break; 80b7712: e00f b.n 80b7734 case 16u: Sint->bitRevLength = ARMBITREVINDEXTABLE__16_TABLE_LENGTH; 80b7714: 68bb ldr r3, [r7, #8] 80b7716: 2214 movs r2, #20 80b7718: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable16; 80b771a: 68bb ldr r3, [r7, #8] 80b771c: 4a1e ldr r2, [pc, #120] ; (80b7798 ) 80b771e: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_16; 80b7720: 68bb ldr r3, [r7, #8] 80b7722: 4a1e ldr r2, [pc, #120] ; (80b779c ) 80b7724: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_32; 80b7726: 687b ldr r3, [r7, #4] 80b7728: 4a1d ldr r2, [pc, #116] ; (80b77a0 ) 80b772a: 615a str r2, [r3, #20] break; 80b772c: e002 b.n 80b7734 default: /* Reporting argument error if fftSize is not valid value */ status = ARM_MATH_ARGUMENT_ERROR; 80b772e: 23ff movs r3, #255 ; 0xff 80b7730: 73fb strb r3, [r7, #15] break; 80b7732: bf00 nop } return (status); 80b7734: f997 300f ldrsb.w r3, [r7, #15] } 80b7738: 4618 mov r0, r3 80b773a: 3714 adds r7, #20 80b773c: 46bd mov sp, r7 80b773e: f85d 7b04 ldr.w r7, [sp], #4 80b7742: 4770 bx lr 80b7744: 081809ec .word 0x081809ec 80b7748: 08170be0 .word 0x08170be0 80b774c: 08176d50 .word 0x08176d50 80b7750: 0817d6d0 .word 0x0817d6d0 80b7754: 0817b5d0 .word 0x0817b5d0 80b7758: 08174d50 .word 0x08174d50 80b775c: 081831ac .word 0x081831ac 80b7760: 0817f9ec .word 0x0817f9ec 80b7764: 0818352c .word 0x0818352c 80b7768: 0818492c .word 0x0818492c 80b776c: 0817ad50 .word 0x0817ad50 80b7770: 081829ac .word 0x081829ac 80b7774: 08184e9c .word 0x08184e9c 80b7778: 0817f5ec .word 0x0817f5ec 80b777c: 0818452c .word 0x0818452c 80b7780: 08174ce0 .word 0x08174ce0 80b7784: 081827ac .word 0x081827ac 80b7788: 08184c9c .word 0x08184c9c 80b778c: 0817e588 .word 0x0817e588 80b7790: 0817d5d0 .word 0x0817d5d0 80b7794: 08174be0 .word 0x08174be0 80b7798: 0817e4e0 .word 0x0817e4e0 80b779c: 0817b550 .word 0x0817b550 80b77a0: 0817e508 .word 0x0817e508 080b77a4 : arm_rfft_instance_f32 * S, arm_cfft_radix4_instance_f32 * S_CFFT, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag) { 80b77a4: b580 push {r7, lr} 80b77a6: b086 sub sp, #24 80b77a8: af00 add r7, sp, #0 80b77aa: 60f8 str r0, [r7, #12] 80b77ac: 60b9 str r1, [r7, #8] 80b77ae: 607a str r2, [r7, #4] 80b77b0: 603b str r3, [r7, #0] /* Initialise the default arm status */ arm_status status = ARM_MATH_SUCCESS; 80b77b2: 2300 movs r3, #0 80b77b4: 75fb strb r3, [r7, #23] /* Initialize the Real FFT length */ S->fftLenReal = (uint16_t) fftLenReal; 80b77b6: 687b ldr r3, [r7, #4] 80b77b8: b29b uxth r3, r3 80b77ba: 461a mov r2, r3 80b77bc: 68fb ldr r3, [r7, #12] 80b77be: 601a str r2, [r3, #0] /* Initialize the Complex FFT length */ S->fftLenBy2 = (uint16_t) fftLenReal / 2u; 80b77c0: 687b ldr r3, [r7, #4] 80b77c2: b29b uxth r3, r3 80b77c4: 085b lsrs r3, r3, #1 80b77c6: b29a uxth r2, r3 80b77c8: 68fb ldr r3, [r7, #12] 80b77ca: 809a strh r2, [r3, #4] /* Initialize the Twiddle coefficientA pointer */ S->pTwiddleAReal = (float32_t *) realCoefA; 80b77cc: 68fb ldr r3, [r7, #12] 80b77ce: 4a27 ldr r2, [pc, #156] ; (80b786c ) 80b77d0: 60da str r2, [r3, #12] /* Initialize the Twiddle coefficientB pointer */ S->pTwiddleBReal = (float32_t *) realCoefB; 80b77d2: 68fb ldr r3, [r7, #12] 80b77d4: 4a26 ldr r2, [pc, #152] ; (80b7870 ) 80b77d6: 611a str r2, [r3, #16] /* Initialize the Flag for selection of RFFT or RIFFT */ S->ifftFlagR = (uint8_t) ifftFlagR; 80b77d8: 683b ldr r3, [r7, #0] 80b77da: b2da uxtb r2, r3 80b77dc: 68fb ldr r3, [r7, #12] 80b77de: 719a strb r2, [r3, #6] /* Initialize the Flag for calculation Bit reversal or not */ S->bitReverseFlagR = (uint8_t) bitReverseFlag; 80b77e0: 6a3b ldr r3, [r7, #32] 80b77e2: b2da uxtb r2, r3 80b77e4: 68fb ldr r3, [r7, #12] 80b77e6: 71da strb r2, [r3, #7] /* Initializations of structure parameters depending on the FFT length */ switch (S->fftLenReal) 80b77e8: 68fb ldr r3, [r7, #12] 80b77ea: 681b ldr r3, [r3, #0] 80b77ec: f5b3 7f00 cmp.w r3, #512 ; 0x200 80b77f0: d013 beq.n 80b781a 80b77f2: f5b3 7f00 cmp.w r3, #512 ; 0x200 80b77f6: d802 bhi.n 80b77fe 80b77f8: 2b80 cmp r3, #128 ; 0x80 80b77fa: d012 beq.n 80b7822 80b77fc: e015 b.n 80b782a 80b77fe: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80b7802: d006 beq.n 80b7812 80b7804: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80b7808: d10f bne.n 80b782a { /* Init table modifier value */ case 8192u: S->twidCoefRModifier = 1u; 80b780a: 68fb ldr r3, [r7, #12] 80b780c: 2201 movs r2, #1 80b780e: 609a str r2, [r3, #8] break; 80b7810: e00e b.n 80b7830 case 2048u: S->twidCoefRModifier = 4u; 80b7812: 68fb ldr r3, [r7, #12] 80b7814: 2204 movs r2, #4 80b7816: 609a str r2, [r3, #8] break; 80b7818: e00a b.n 80b7830 case 512u: S->twidCoefRModifier = 16u; 80b781a: 68fb ldr r3, [r7, #12] 80b781c: 2210 movs r2, #16 80b781e: 609a str r2, [r3, #8] break; 80b7820: e006 b.n 80b7830 case 128u: S->twidCoefRModifier = 64u; 80b7822: 68fb ldr r3, [r7, #12] 80b7824: 2240 movs r2, #64 ; 0x40 80b7826: 609a str r2, [r3, #8] break; 80b7828: e002 b.n 80b7830 default: /* Reporting argument error if rfftSize is not valid value */ status = ARM_MATH_ARGUMENT_ERROR; 80b782a: 23ff movs r3, #255 ; 0xff 80b782c: 75fb strb r3, [r7, #23] break; 80b782e: bf00 nop } /* Init Complex FFT Instance */ S->pCfft = S_CFFT; 80b7830: 68fb ldr r3, [r7, #12] 80b7832: 68ba ldr r2, [r7, #8] 80b7834: 615a str r2, [r3, #20] if(S->ifftFlagR) 80b7836: 68fb ldr r3, [r7, #12] 80b7838: 799b ldrb r3, [r3, #6] 80b783a: 2b00 cmp r3, #0 80b783c: d008 beq.n 80b7850 { /* Initializes the CIFFT Module for fftLenreal/2 length */ arm_cfft_radix4_init_f32(S->pCfft, S->fftLenBy2, 1u, 0u); 80b783e: 68fb ldr r3, [r7, #12] 80b7840: 6958 ldr r0, [r3, #20] 80b7842: 68fb ldr r3, [r7, #12] 80b7844: 8899 ldrh r1, [r3, #4] 80b7846: 2300 movs r3, #0 80b7848: 2201 movs r2, #1 80b784a: f7fe f9f9 bl 80b5c40 80b784e: e007 b.n 80b7860 } else { /* Initializes the CFFT Module for fftLenreal/2 length */ arm_cfft_radix4_init_f32(S->pCfft, S->fftLenBy2, 0u, 0u); 80b7850: 68fb ldr r3, [r7, #12] 80b7852: 6958 ldr r0, [r3, #20] 80b7854: 68fb ldr r3, [r7, #12] 80b7856: 8899 ldrh r1, [r3, #4] 80b7858: 2300 movs r3, #0 80b785a: 2200 movs r2, #0 80b785c: f7fe f9f0 bl 80b5c40 } /* return the status of RFFT Init function */ return (status); 80b7860: f997 3017 ldrsb.w r3, [r7, #23] } 80b7864: 4618 mov r0, r3 80b7866: 3718 adds r7, #24 80b7868: 46bd mov sp, r7 80b786a: bd80 pop {r7, pc} 80b786c: 080f6258 .word 0x080f6258 80b7870: 080fe258 .word 0x080fe258 080b7874 : * @return sin(x). */ float32_t arm_sin_f32( float32_t x) { 80b7874: b480 push {r7} 80b7876: b08b sub sp, #44 ; 0x2c 80b7878: af00 add r7, sp, #0 80b787a: 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; 80b787e: edd7 7a01 vldr s15, [r7, #4] 80b7882: ed9f 7a35 vldr s14, [pc, #212] ; 80b7958 80b7886: ee67 7a87 vmul.f32 s15, s15, s14 80b788a: edc7 7a08 vstr s15, [r7, #32] /* Calculation of floor value of input */ n = (int32_t) in; 80b788e: edd7 7a08 vldr s15, [r7, #32] 80b7892: eefd 7ae7 vcvt.s32.f32 s15, s15 80b7896: ee17 3a90 vmov r3, s15 80b789a: 627b str r3, [r7, #36] ; 0x24 /* Make negative values towards -infinity */ if(x < 0.0f) 80b789c: edd7 7a01 vldr s15, [r7, #4] 80b78a0: eef5 7ac0 vcmpe.f32 s15, #0.0 80b78a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80b78a8: d502 bpl.n 80b78b0 { n--; 80b78aa: 6a7b ldr r3, [r7, #36] ; 0x24 80b78ac: 3b01 subs r3, #1 80b78ae: 627b str r3, [r7, #36] ; 0x24 } /* Map input value to [0 1] */ in = in - (float32_t) n; 80b78b0: 6a7b ldr r3, [r7, #36] ; 0x24 80b78b2: ee07 3a90 vmov s15, r3 80b78b6: eef8 7ae7 vcvt.f32.s32 s15, s15 80b78ba: ed97 7a08 vldr s14, [r7, #32] 80b78be: ee77 7a67 vsub.f32 s15, s14, s15 80b78c2: edc7 7a08 vstr s15, [r7, #32] /* Calculation of index of the table */ findex = (float32_t) FAST_MATH_TABLE_SIZE * in; 80b78c6: edd7 7a08 vldr s15, [r7, #32] 80b78ca: ed9f 7a24 vldr s14, [pc, #144] ; 80b795c 80b78ce: ee67 7a87 vmul.f32 s15, s15, s14 80b78d2: edc7 7a07 vstr s15, [r7, #28] index = ((uint16_t)findex) & 0x1ff; 80b78d6: edd7 7a07 vldr s15, [r7, #28] 80b78da: eefc 7ae7 vcvt.u32.f32 s15, s15 80b78de: edc7 7a00 vstr s15, [r7] 80b78e2: 883b ldrh r3, [r7, #0] 80b78e4: b29b uxth r3, r3 80b78e6: f3c3 0308 ubfx r3, r3, #0, #9 80b78ea: 837b strh r3, [r7, #26] /* fractional value calculation */ fract = findex - (float32_t) index; 80b78ec: 8b7b ldrh r3, [r7, #26] 80b78ee: ee07 3a90 vmov s15, r3 80b78f2: eef8 7a67 vcvt.f32.u32 s15, s15 80b78f6: ed97 7a07 vldr s14, [r7, #28] 80b78fa: ee77 7a67 vsub.f32 s15, s14, s15 80b78fe: edc7 7a05 vstr s15, [r7, #20] /* Read two nearest values of input value from the sin table */ a = sinTable_f32[index]; 80b7902: 8b7b ldrh r3, [r7, #26] 80b7904: 4a16 ldr r2, [pc, #88] ; (80b7960 ) 80b7906: 009b lsls r3, r3, #2 80b7908: 4413 add r3, r2 80b790a: 681b ldr r3, [r3, #0] 80b790c: 613b str r3, [r7, #16] b = sinTable_f32[index+1]; 80b790e: 8b7b ldrh r3, [r7, #26] 80b7910: 3301 adds r3, #1 80b7912: 4a13 ldr r2, [pc, #76] ; (80b7960 ) 80b7914: 009b lsls r3, r3, #2 80b7916: 4413 add r3, r2 80b7918: 681b ldr r3, [r3, #0] 80b791a: 60fb str r3, [r7, #12] /* Linear interpolation process */ sinVal = (1.0f-fract)*a + fract*b; 80b791c: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80b7920: edd7 7a05 vldr s15, [r7, #20] 80b7924: ee37 7a67 vsub.f32 s14, s14, s15 80b7928: edd7 7a04 vldr s15, [r7, #16] 80b792c: ee27 7a27 vmul.f32 s14, s14, s15 80b7930: edd7 6a05 vldr s13, [r7, #20] 80b7934: edd7 7a03 vldr s15, [r7, #12] 80b7938: ee66 7aa7 vmul.f32 s15, s13, s15 80b793c: ee77 7a27 vadd.f32 s15, s14, s15 80b7940: edc7 7a02 vstr s15, [r7, #8] /* Return the output value */ return (sinVal); 80b7944: 68bb ldr r3, [r7, #8] 80b7946: ee07 3a90 vmov s15, r3 } 80b794a: eeb0 0a67 vmov.f32 s0, s15 80b794e: 372c adds r7, #44 ; 0x2c 80b7950: 46bd mov sp, r7 80b7952: f85d 7b04 ldr.w r7, [sp], #4 80b7956: 4770 bx lr 80b7958: 3e22f983 .word 0x3e22f983 80b795c: 44000000 .word 0x44000000 80b7960: 0817ede8 .word 0x0817ede8 080b7964 : * 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) { 80b7964: b580 push {r7, lr} 80b7966: af00 add r7, sp, #0 /* Configure Instruction cache through ART accelerator */ #if (ART_ACCLERATOR_ENABLE != 0) __HAL_FLASH_ART_ENABLE(); 80b7968: 4a0b ldr r2, [pc, #44] ; (80b7998 ) 80b796a: 4b0b ldr r3, [pc, #44] ; (80b7998 ) 80b796c: 681b ldr r3, [r3, #0] 80b796e: f443 7300 orr.w r3, r3, #512 ; 0x200 80b7972: 6013 str r3, [r2, #0] #endif /* ART_ACCLERATOR_ENABLE */ /* Configure Flash prefetch */ #if (PREFETCH_ENABLE != 0U) __HAL_FLASH_PREFETCH_BUFFER_ENABLE(); 80b7974: 4a08 ldr r2, [pc, #32] ; (80b7998 ) 80b7976: 4b08 ldr r3, [pc, #32] ; (80b7998 ) 80b7978: 681b ldr r3, [r3, #0] 80b797a: f443 7380 orr.w r3, r3, #256 ; 0x100 80b797e: 6013 str r3, [r2, #0] #endif /* PREFETCH_ENABLE */ /* Set Interrupt Group Priority */ HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4); 80b7980: 2003 movs r0, #3 80b7982: f000 ff9b bl 80b88bc /* Use systick as time base source and configure 1ms tick (default clock after Reset is HSI) */ HAL_InitTick(TICK_INT_PRIORITY); 80b7986: 2000 movs r0, #0 80b7988: f000 f808 bl 80b799c /* Init the low level hardware */ HAL_MspInit(); 80b798c: f7fb f81a bl 80b29c4 /* Return function status */ return HAL_OK; 80b7990: 2300 movs r3, #0 } 80b7992: 4618 mov r0, r3 80b7994: bd80 pop {r7, pc} 80b7996: bf00 nop 80b7998: 40023c00 .word 0x40023c00 080b799c : * implementation in user file. * @param TickPriority Tick interrupt priority. * @retval HAL status */ __weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) { 80b799c: b580 push {r7, lr} 80b799e: b082 sub sp, #8 80b79a0: af00 add r7, sp, #0 80b79a2: 6078 str r0, [r7, #4] /* Configure the SysTick to have interrupt in 1ms time basis*/ if (HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq)) > 0U) 80b79a4: 4b12 ldr r3, [pc, #72] ; (80b79f0 ) 80b79a6: 681a ldr r2, [r3, #0] 80b79a8: 4b12 ldr r3, [pc, #72] ; (80b79f4 ) 80b79aa: 781b ldrb r3, [r3, #0] 80b79ac: 4619 mov r1, r3 80b79ae: f44f 737a mov.w r3, #1000 ; 0x3e8 80b79b2: fbb3 f3f1 udiv r3, r3, r1 80b79b6: fbb2 f3f3 udiv r3, r2, r3 80b79ba: 4618 mov r0, r3 80b79bc: f000 ffc5 bl 80b894a 80b79c0: 4603 mov r3, r0 80b79c2: 2b00 cmp r3, #0 80b79c4: d001 beq.n 80b79ca { return HAL_ERROR; 80b79c6: 2301 movs r3, #1 80b79c8: e00e b.n 80b79e8 } /* Configure the SysTick IRQ priority */ if (TickPriority < (1UL << __NVIC_PRIO_BITS)) 80b79ca: 687b ldr r3, [r7, #4] 80b79cc: 2b0f cmp r3, #15 80b79ce: d80a bhi.n 80b79e6 { HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority, 0U); 80b79d0: 2200 movs r2, #0 80b79d2: 6879 ldr r1, [r7, #4] 80b79d4: f04f 30ff mov.w r0, #4294967295 80b79d8: f000 ff7b bl 80b88d2 uwTickPrio = TickPriority; 80b79dc: 4a06 ldr r2, [pc, #24] ; (80b79f8 ) 80b79de: 687b ldr r3, [r7, #4] 80b79e0: 6013 str r3, [r2, #0] { return HAL_ERROR; } /* Return function status */ return HAL_OK; 80b79e2: 2300 movs r3, #0 80b79e4: e000 b.n 80b79e8 return HAL_ERROR; 80b79e6: 2301 movs r3, #1 } 80b79e8: 4618 mov r0, r3 80b79ea: 3708 adds r7, #8 80b79ec: 46bd mov sp, r7 80b79ee: bd80 pop {r7, pc} 80b79f0: 200209bc .word 0x200209bc 80b79f4: 200209e4 .word 0x200209e4 80b79f8: 200209e0 .word 0x200209e0 080b79fc : * @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) { 80b79fc: b480 push {r7} 80b79fe: af00 add r7, sp, #0 uwTick += uwTickFreq; 80b7a00: 4b06 ldr r3, [pc, #24] ; (80b7a1c ) 80b7a02: 781b ldrb r3, [r3, #0] 80b7a04: 461a mov r2, r3 80b7a06: 4b06 ldr r3, [pc, #24] ; (80b7a20 ) 80b7a08: 681b ldr r3, [r3, #0] 80b7a0a: 4413 add r3, r2 80b7a0c: 4a04 ldr r2, [pc, #16] ; (80b7a20 ) 80b7a0e: 6013 str r3, [r2, #0] } 80b7a10: bf00 nop 80b7a12: 46bd mov sp, r7 80b7a14: f85d 7b04 ldr.w r7, [sp], #4 80b7a18: 4770 bx lr 80b7a1a: bf00 nop 80b7a1c: 200209e4 .word 0x200209e4 80b7a20: 20068b08 .word 0x20068b08 080b7a24 : * @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) { 80b7a24: b480 push {r7} 80b7a26: af00 add r7, sp, #0 return uwTick; 80b7a28: 4b03 ldr r3, [pc, #12] ; (80b7a38 ) 80b7a2a: 681b ldr r3, [r3, #0] } 80b7a2c: 4618 mov r0, r3 80b7a2e: 46bd mov sp, r7 80b7a30: f85d 7b04 ldr.w r7, [sp], #4 80b7a34: 4770 bx lr 80b7a36: bf00 nop 80b7a38: 20068b08 .word 0x20068b08 080b7a3c : * implementations in user file. * @param Delay specifies the delay time length, in milliseconds. * @retval None */ __weak void HAL_Delay(uint32_t Delay) { 80b7a3c: b580 push {r7, lr} 80b7a3e: b084 sub sp, #16 80b7a40: af00 add r7, sp, #0 80b7a42: 6078 str r0, [r7, #4] uint32_t tickstart = HAL_GetTick(); 80b7a44: f7ff ffee bl 80b7a24 80b7a48: 60b8 str r0, [r7, #8] uint32_t wait = Delay; 80b7a4a: 687b ldr r3, [r7, #4] 80b7a4c: 60fb str r3, [r7, #12] /* Add a freq to guarantee minimum wait */ if (wait < HAL_MAX_DELAY) 80b7a4e: 68fb ldr r3, [r7, #12] 80b7a50: f1b3 3fff cmp.w r3, #4294967295 80b7a54: d005 beq.n 80b7a62 { wait += (uint32_t)(uwTickFreq); 80b7a56: 4b09 ldr r3, [pc, #36] ; (80b7a7c ) 80b7a58: 781b ldrb r3, [r3, #0] 80b7a5a: 461a mov r2, r3 80b7a5c: 68fb ldr r3, [r7, #12] 80b7a5e: 4413 add r3, r2 80b7a60: 60fb str r3, [r7, #12] } while ((HAL_GetTick() - tickstart) < wait) 80b7a62: bf00 nop 80b7a64: f7ff ffde bl 80b7a24 80b7a68: 4602 mov r2, r0 80b7a6a: 68bb ldr r3, [r7, #8] 80b7a6c: 1ad2 subs r2, r2, r3 80b7a6e: 68fb ldr r3, [r7, #12] 80b7a70: 429a cmp r2, r3 80b7a72: d3f7 bcc.n 80b7a64 { } } 80b7a74: bf00 nop 80b7a76: 3710 adds r7, #16 80b7a78: 46bd mov sp, r7 80b7a7a: bd80 pop {r7, pc} 80b7a7c: 200209e4 .word 0x200209e4 080b7a80 : * @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) { 80b7a80: b580 push {r7, lr} 80b7a82: b084 sub sp, #16 80b7a84: af00 add r7, sp, #0 80b7a86: 6078 str r0, [r7, #4] HAL_StatusTypeDef tmp_hal_status = HAL_OK; 80b7a88: 2300 movs r3, #0 80b7a8a: 73fb strb r3, [r7, #15] /* Check ADC handle */ if(hadc == NULL) 80b7a8c: 687b ldr r3, [r7, #4] 80b7a8e: 2b00 cmp r3, #0 80b7a90: d101 bne.n 80b7a96 { return HAL_ERROR; 80b7a92: 2301 movs r3, #1 80b7a94: e031 b.n 80b7afa if(hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) { assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); } if(hadc->State == HAL_ADC_STATE_RESET) 80b7a96: 687b ldr r3, [r7, #4] 80b7a98: 6c1b ldr r3, [r3, #64] ; 0x40 80b7a9a: 2b00 cmp r3, #0 80b7a9c: d109 bne.n 80b7ab2 /* Init the low level hardware */ hadc->MspInitCallback(hadc); #else /* Init the low level hardware */ HAL_ADC_MspInit(hadc); 80b7a9e: 6878 ldr r0, [r7, #4] 80b7aa0: f769 f864 bl 8020b6c #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ /* Initialize ADC error code */ ADC_CLEAR_ERRORCODE(hadc); 80b7aa4: 687b ldr r3, [r7, #4] 80b7aa6: 2200 movs r2, #0 80b7aa8: 645a str r2, [r3, #68] ; 0x44 /* Allocate lock resource and initialize it */ hadc->Lock = HAL_UNLOCKED; 80b7aaa: 687b ldr r3, [r7, #4] 80b7aac: 2200 movs r2, #0 80b7aae: 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)) 80b7ab2: 687b ldr r3, [r7, #4] 80b7ab4: 6c1b ldr r3, [r3, #64] ; 0x40 80b7ab6: f003 0310 and.w r3, r3, #16 80b7aba: 2b00 cmp r3, #0 80b7abc: d116 bne.n 80b7aec { /* Set ADC state */ ADC_STATE_CLR_SET(hadc->State, 80b7abe: 687b ldr r3, [r7, #4] 80b7ac0: 6c1a ldr r2, [r3, #64] ; 0x40 80b7ac2: 4b10 ldr r3, [pc, #64] ; (80b7b04 ) 80b7ac4: 4013 ands r3, r2 80b7ac6: f043 0202 orr.w r2, r3, #2 80b7aca: 687b ldr r3, [r7, #4] 80b7acc: 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); 80b7ace: 6878 ldr r0, [r7, #4] 80b7ad0: f000 fc74 bl 80b83bc /* Set ADC error code to none */ ADC_CLEAR_ERRORCODE(hadc); 80b7ad4: 687b ldr r3, [r7, #4] 80b7ad6: 2200 movs r2, #0 80b7ad8: 645a str r2, [r3, #68] ; 0x44 /* Set the ADC state */ ADC_STATE_CLR_SET(hadc->State, 80b7ada: 687b ldr r3, [r7, #4] 80b7adc: 6c1b ldr r3, [r3, #64] ; 0x40 80b7ade: f023 0303 bic.w r3, r3, #3 80b7ae2: f043 0201 orr.w r2, r3, #1 80b7ae6: 687b ldr r3, [r7, #4] 80b7ae8: 641a str r2, [r3, #64] ; 0x40 80b7aea: e001 b.n 80b7af0 HAL_ADC_STATE_BUSY_INTERNAL, HAL_ADC_STATE_READY); } else { tmp_hal_status = HAL_ERROR; 80b7aec: 2301 movs r3, #1 80b7aee: 73fb strb r3, [r7, #15] } /* Release Lock */ __HAL_UNLOCK(hadc); 80b7af0: 687b ldr r3, [r7, #4] 80b7af2: 2200 movs r2, #0 80b7af4: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return tmp_hal_status; 80b7af8: 7bfb ldrb r3, [r7, #15] } 80b7afa: 4618 mov r0, r3 80b7afc: 3710 adds r7, #16 80b7afe: 46bd mov sp, r7 80b7b00: bd80 pop {r7, pc} 80b7b02: bf00 nop 80b7b04: ffffeefd .word 0xffffeefd 080b7b08 : * @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) { 80b7b08: b480 push {r7} 80b7b0a: b085 sub sp, #20 80b7b0c: af00 add r7, sp, #0 80b7b0e: 6078 str r0, [r7, #4] __IO uint32_t counter = 0; 80b7b10: 2300 movs r3, #0 80b7b12: 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); 80b7b14: 687b ldr r3, [r7, #4] 80b7b16: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b7b1a: 2b01 cmp r3, #1 80b7b1c: d101 bne.n 80b7b22 80b7b1e: 2302 movs r3, #2 80b7b20: e0ad b.n 80b7c7e 80b7b22: 687b ldr r3, [r7, #4] 80b7b24: 2201 movs r2, #1 80b7b26: 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) 80b7b2a: 687b ldr r3, [r7, #4] 80b7b2c: 681b ldr r3, [r3, #0] 80b7b2e: 689b ldr r3, [r3, #8] 80b7b30: f003 0301 and.w r3, r3, #1 80b7b34: 2b01 cmp r3, #1 80b7b36: d018 beq.n 80b7b6a { /* Enable the Peripheral */ __HAL_ADC_ENABLE(hadc); 80b7b38: 687b ldr r3, [r7, #4] 80b7b3a: 681b ldr r3, [r3, #0] 80b7b3c: 687a ldr r2, [r7, #4] 80b7b3e: 6812 ldr r2, [r2, #0] 80b7b40: 6892 ldr r2, [r2, #8] 80b7b42: f042 0201 orr.w r2, r2, #1 80b7b46: 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)); 80b7b48: 4b50 ldr r3, [pc, #320] ; (80b7c8c ) 80b7b4a: 681b ldr r3, [r3, #0] 80b7b4c: 4a50 ldr r2, [pc, #320] ; (80b7c90 ) 80b7b4e: fba2 2303 umull r2, r3, r2, r3 80b7b52: 0c9a lsrs r2, r3, #18 80b7b54: 4613 mov r3, r2 80b7b56: 005b lsls r3, r3, #1 80b7b58: 4413 add r3, r2 80b7b5a: 60fb str r3, [r7, #12] while(counter != 0) 80b7b5c: e002 b.n 80b7b64 { counter--; 80b7b5e: 68fb ldr r3, [r7, #12] 80b7b60: 3b01 subs r3, #1 80b7b62: 60fb str r3, [r7, #12] while(counter != 0) 80b7b64: 68fb ldr r3, [r7, #12] 80b7b66: 2b00 cmp r3, #0 80b7b68: d1f9 bne.n 80b7b5e } } /* Start conversion if ADC is effectively enabled */ if(HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON)) 80b7b6a: 687b ldr r3, [r7, #4] 80b7b6c: 681b ldr r3, [r3, #0] 80b7b6e: 689b ldr r3, [r3, #8] 80b7b70: f003 0301 and.w r3, r3, #1 80b7b74: 2b01 cmp r3, #1 80b7b76: d175 bne.n 80b7c64 { /* 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, 80b7b78: 687b ldr r3, [r7, #4] 80b7b7a: 6c1a ldr r2, [r3, #64] ; 0x40 80b7b7c: 4b45 ldr r3, [pc, #276] ; (80b7c94 ) 80b7b7e: 4013 ands r3, r2 80b7b80: f443 7280 orr.w r2, r3, #256 ; 0x100 80b7b84: 687b ldr r3, [r7, #4] 80b7b86: 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) 80b7b88: 687b ldr r3, [r7, #4] 80b7b8a: 681b ldr r3, [r3, #0] 80b7b8c: 685b ldr r3, [r3, #4] 80b7b8e: f403 6380 and.w r3, r3, #1024 ; 0x400 80b7b92: 2b00 cmp r3, #0 80b7b94: d007 beq.n 80b7ba6 { ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); 80b7b96: 687b ldr r3, [r7, #4] 80b7b98: 6c1b ldr r3, [r3, #64] ; 0x40 80b7b9a: f423 5340 bic.w r3, r3, #12288 ; 0x3000 80b7b9e: f443 5280 orr.w r2, r3, #4096 ; 0x1000 80b7ba2: 687b ldr r3, [r7, #4] 80b7ba4: 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)) 80b7ba6: 687b ldr r3, [r7, #4] 80b7ba8: 6c1b ldr r3, [r3, #64] ; 0x40 80b7baa: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b7bae: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80b7bb2: d106 bne.n 80b7bc2 { /* Reset ADC error code fields related to conversions on group regular */ CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); 80b7bb4: 687b ldr r3, [r7, #4] 80b7bb6: 6c5b ldr r3, [r3, #68] ; 0x44 80b7bb8: f023 0206 bic.w r2, r3, #6 80b7bbc: 687b ldr r3, [r7, #4] 80b7bbe: 645a str r2, [r3, #68] ; 0x44 80b7bc0: e002 b.n 80b7bc8 } else { /* Reset ADC all error code fields */ ADC_CLEAR_ERRORCODE(hadc); 80b7bc2: 687b ldr r3, [r7, #4] 80b7bc4: 2200 movs r2, #0 80b7bc6: 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); 80b7bc8: 687b ldr r3, [r7, #4] 80b7bca: 2200 movs r2, #0 80b7bcc: 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); 80b7bd0: 687b ldr r3, [r7, #4] 80b7bd2: 681b ldr r3, [r3, #0] 80b7bd4: f06f 0222 mvn.w r2, #34 ; 0x22 80b7bd8: 601a str r2, [r3, #0] /* Check if Multimode enabled */ if(HAL_IS_BIT_CLR(ADC->CCR, ADC_CCR_MULTI)) 80b7bda: 4b2f ldr r3, [pc, #188] ; (80b7c98 ) 80b7bdc: 685b ldr r3, [r3, #4] 80b7bde: f003 031f and.w r3, r3, #31 80b7be2: 2b00 cmp r3, #0 80b7be4: d10f bne.n 80b7c06 { /* if no external trigger present enable software conversion of regular channels */ if((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET) 80b7be6: 687b ldr r3, [r7, #4] 80b7be8: 681b ldr r3, [r3, #0] 80b7bea: 689b ldr r3, [r3, #8] 80b7bec: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b7bf0: 2b00 cmp r3, #0 80b7bf2: d143 bne.n 80b7c7c { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b7bf4: 687b ldr r3, [r7, #4] 80b7bf6: 681b ldr r3, [r3, #0] 80b7bf8: 687a ldr r2, [r7, #4] 80b7bfa: 6812 ldr r2, [r2, #0] 80b7bfc: 6892 ldr r2, [r2, #8] 80b7bfe: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b7c02: 609a str r2, [r3, #8] 80b7c04: e03a b.n 80b7c7c } } 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)) 80b7c06: 687b ldr r3, [r7, #4] 80b7c08: 681b ldr r3, [r3, #0] 80b7c0a: 4a24 ldr r2, [pc, #144] ; (80b7c9c ) 80b7c0c: 4293 cmp r3, r2 80b7c0e: d10e bne.n 80b7c2e 80b7c10: 687b ldr r3, [r7, #4] 80b7c12: 681b ldr r3, [r3, #0] 80b7c14: 689b ldr r3, [r3, #8] 80b7c16: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b7c1a: 2b00 cmp r3, #0 80b7c1c: d107 bne.n 80b7c2e { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b7c1e: 687b ldr r3, [r7, #4] 80b7c20: 681b ldr r3, [r3, #0] 80b7c22: 687a ldr r2, [r7, #4] 80b7c24: 6812 ldr r2, [r2, #0] 80b7c26: 6892 ldr r2, [r2, #8] 80b7c28: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b7c2c: 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) ) 80b7c2e: 4b1a ldr r3, [pc, #104] ; (80b7c98 ) 80b7c30: 685b ldr r3, [r3, #4] 80b7c32: f003 0310 and.w r3, r3, #16 80b7c36: 2b00 cmp r3, #0 80b7c38: d120 bne.n 80b7c7c { /* 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)) 80b7c3a: 687b ldr r3, [r7, #4] 80b7c3c: 681b ldr r3, [r3, #0] 80b7c3e: 4a18 ldr r2, [pc, #96] ; (80b7ca0 ) 80b7c40: 4293 cmp r3, r2 80b7c42: d11b bne.n 80b7c7c 80b7c44: 687b ldr r3, [r7, #4] 80b7c46: 681b ldr r3, [r3, #0] 80b7c48: 689b ldr r3, [r3, #8] 80b7c4a: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b7c4e: 2b00 cmp r3, #0 80b7c50: d114 bne.n 80b7c7c { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b7c52: 687b ldr r3, [r7, #4] 80b7c54: 681b ldr r3, [r3, #0] 80b7c56: 687a ldr r2, [r7, #4] 80b7c58: 6812 ldr r2, [r2, #0] 80b7c5a: 6892 ldr r2, [r2, #8] 80b7c5c: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b7c60: 609a str r2, [r3, #8] 80b7c62: e00b b.n 80b7c7c } } else { /* Update ADC state machine to error */ SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 80b7c64: 687b ldr r3, [r7, #4] 80b7c66: 6c1b ldr r3, [r3, #64] ; 0x40 80b7c68: f043 0210 orr.w r2, r3, #16 80b7c6c: 687b ldr r3, [r7, #4] 80b7c6e: 641a str r2, [r3, #64] ; 0x40 /* Set ADC error code to ADC IP internal error */ SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 80b7c70: 687b ldr r3, [r7, #4] 80b7c72: 6c5b ldr r3, [r3, #68] ; 0x44 80b7c74: f043 0201 orr.w r2, r3, #1 80b7c78: 687b ldr r3, [r7, #4] 80b7c7a: 645a str r2, [r3, #68] ; 0x44 } /* Return function status */ return HAL_OK; 80b7c7c: 2300 movs r3, #0 } 80b7c7e: 4618 mov r0, r3 80b7c80: 3714 adds r7, #20 80b7c82: 46bd mov sp, r7 80b7c84: f85d 7b04 ldr.w r7, [sp], #4 80b7c88: 4770 bx lr 80b7c8a: bf00 nop 80b7c8c: 200209bc .word 0x200209bc 80b7c90: 431bde83 .word 0x431bde83 80b7c94: fffff8fe .word 0xfffff8fe 80b7c98: 40012300 .word 0x40012300 80b7c9c: 40012000 .word 0x40012000 80b7ca0: 40012200 .word 0x40012200 080b7ca4 : * the configuration information for the specified ADC. * * @retval HAL status. */ HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef* hadc) { 80b7ca4: b480 push {r7} 80b7ca6: b083 sub sp, #12 80b7ca8: af00 add r7, sp, #0 80b7caa: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); /* Process locked */ __HAL_LOCK(hadc); 80b7cac: 687b ldr r3, [r7, #4] 80b7cae: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b7cb2: 2b01 cmp r3, #1 80b7cb4: d101 bne.n 80b7cba 80b7cb6: 2302 movs r3, #2 80b7cb8: e01f b.n 80b7cfa 80b7cba: 687b ldr r3, [r7, #4] 80b7cbc: 2201 movs r2, #1 80b7cbe: 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); 80b7cc2: 687b ldr r3, [r7, #4] 80b7cc4: 681b ldr r3, [r3, #0] 80b7cc6: 687a ldr r2, [r7, #4] 80b7cc8: 6812 ldr r2, [r2, #0] 80b7cca: 6892 ldr r2, [r2, #8] 80b7ccc: f022 0201 bic.w r2, r2, #1 80b7cd0: 609a str r2, [r3, #8] /* Check if ADC is effectively disabled */ if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) 80b7cd2: 687b ldr r3, [r7, #4] 80b7cd4: 681b ldr r3, [r3, #0] 80b7cd6: 689b ldr r3, [r3, #8] 80b7cd8: f003 0301 and.w r3, r3, #1 80b7cdc: 2b00 cmp r3, #0 80b7cde: d107 bne.n 80b7cf0 { /* Set ADC state */ ADC_STATE_CLR_SET(hadc->State, 80b7ce0: 687b ldr r3, [r7, #4] 80b7ce2: 6c1a ldr r2, [r3, #64] ; 0x40 80b7ce4: 4b08 ldr r3, [pc, #32] ; (80b7d08 ) 80b7ce6: 4013 ands r3, r2 80b7ce8: f043 0201 orr.w r2, r3, #1 80b7cec: 687b ldr r3, [r7, #4] 80b7cee: 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); 80b7cf0: 687b ldr r3, [r7, #4] 80b7cf2: 2200 movs r2, #0 80b7cf4: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return HAL_OK; 80b7cf8: 2300 movs r3, #0 } 80b7cfa: 4618 mov r0, r3 80b7cfc: 370c adds r7, #12 80b7cfe: 46bd mov sp, r7 80b7d00: f85d 7b04 ldr.w r7, [sp], #4 80b7d04: 4770 bx lr 80b7d06: bf00 nop 80b7d08: ffffeefe .word 0xffffeefe 080b7d0c : * 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) { 80b7d0c: b580 push {r7, lr} 80b7d0e: b084 sub sp, #16 80b7d10: af00 add r7, sp, #0 80b7d12: 6078 str r0, [r7, #4] 80b7d14: 6039 str r1, [r7, #0] uint32_t tickstart = 0; 80b7d16: 2300 movs r3, #0 80b7d18: 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) && 80b7d1a: 687b ldr r3, [r7, #4] 80b7d1c: 681b ldr r3, [r3, #0] 80b7d1e: 689b ldr r3, [r3, #8] 80b7d20: f403 6380 and.w r3, r3, #1024 ; 0x400 80b7d24: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80b7d28: d113 bne.n 80b7d52 HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_DMA) ) 80b7d2a: 687b ldr r3, [r7, #4] 80b7d2c: 681b ldr r3, [r3, #0] 80b7d2e: 689b ldr r3, [r3, #8] 80b7d30: f403 7380 and.w r3, r3, #256 ; 0x100 if (HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_EOCS) && 80b7d34: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b7d38: d10b bne.n 80b7d52 { /* Update ADC state machine to error */ SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); 80b7d3a: 687b ldr r3, [r7, #4] 80b7d3c: 6c1b ldr r3, [r3, #64] ; 0x40 80b7d3e: f043 0220 orr.w r2, r3, #32 80b7d42: 687b ldr r3, [r7, #4] 80b7d44: 641a str r2, [r3, #64] ; 0x40 /* Process unlocked */ __HAL_UNLOCK(hadc); 80b7d46: 687b ldr r3, [r7, #4] 80b7d48: 2200 movs r2, #0 80b7d4a: f883 203c strb.w r2, [r3, #60] ; 0x3c return HAL_ERROR; 80b7d4e: 2301 movs r3, #1 80b7d50: e063 b.n 80b7e1a } /* Get tick */ tickstart = HAL_GetTick(); 80b7d52: f7ff fe67 bl 80b7a24 80b7d56: 60f8 str r0, [r7, #12] /* Check End of conversion flag */ while(!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC))) 80b7d58: e021 b.n 80b7d9e { /* Check if timeout is disabled (set to infinite wait) */ if(Timeout != HAL_MAX_DELAY) 80b7d5a: 683b ldr r3, [r7, #0] 80b7d5c: f1b3 3fff cmp.w r3, #4294967295 80b7d60: d01d beq.n 80b7d9e { if((Timeout == 0) || ((HAL_GetTick() - tickstart ) > Timeout)) 80b7d62: 683b ldr r3, [r7, #0] 80b7d64: 2b00 cmp r3, #0 80b7d66: d007 beq.n 80b7d78 80b7d68: f7ff fe5c bl 80b7a24 80b7d6c: 4602 mov r2, r0 80b7d6e: 68fb ldr r3, [r7, #12] 80b7d70: 1ad2 subs r2, r2, r3 80b7d72: 683b ldr r3, [r7, #0] 80b7d74: 429a cmp r2, r3 80b7d76: d912 bls.n 80b7d9e { /* New check to avoid false timeout detection in case of preemption */ if(!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC))) 80b7d78: 687b ldr r3, [r7, #4] 80b7d7a: 681b ldr r3, [r3, #0] 80b7d7c: 681b ldr r3, [r3, #0] 80b7d7e: f003 0302 and.w r3, r3, #2 80b7d82: 2b02 cmp r3, #2 80b7d84: d00b beq.n 80b7d9e { /* Update ADC state machine to timeout */ SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); 80b7d86: 687b ldr r3, [r7, #4] 80b7d88: 6c1b ldr r3, [r3, #64] ; 0x40 80b7d8a: f043 0204 orr.w r2, r3, #4 80b7d8e: 687b ldr r3, [r7, #4] 80b7d90: 641a str r2, [r3, #64] ; 0x40 /* Process unlocked */ __HAL_UNLOCK(hadc); 80b7d92: 687b ldr r3, [r7, #4] 80b7d94: 2200 movs r2, #0 80b7d96: f883 203c strb.w r2, [r3, #60] ; 0x3c return HAL_TIMEOUT; 80b7d9a: 2303 movs r3, #3 80b7d9c: e03d b.n 80b7e1a while(!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC))) 80b7d9e: 687b ldr r3, [r7, #4] 80b7da0: 681b ldr r3, [r3, #0] 80b7da2: 681b ldr r3, [r3, #0] 80b7da4: f003 0302 and.w r3, r3, #2 80b7da8: 2b02 cmp r3, #2 80b7daa: d1d6 bne.n 80b7d5a } } } /* Clear regular group conversion flag */ __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_STRT | ADC_FLAG_EOC); 80b7dac: 687b ldr r3, [r7, #4] 80b7dae: 681b ldr r3, [r3, #0] 80b7db0: f06f 0212 mvn.w r2, #18 80b7db4: 601a str r2, [r3, #0] /* Update ADC state machine */ SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); 80b7db6: 687b ldr r3, [r7, #4] 80b7db8: 6c1b ldr r3, [r3, #64] ; 0x40 80b7dba: f443 7200 orr.w r2, r3, #512 ; 0x200 80b7dbe: 687b ldr r3, [r7, #4] 80b7dc0: 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) && 80b7dc2: 687b ldr r3, [r7, #4] 80b7dc4: 681b ldr r3, [r3, #0] 80b7dc6: 689b ldr r3, [r3, #8] 80b7dc8: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b7dcc: 2b00 cmp r3, #0 80b7dce: d123 bne.n 80b7e18 (hadc->Init.ContinuousConvMode == DISABLE) && 80b7dd0: 687b ldr r3, [r7, #4] 80b7dd2: 699b ldr r3, [r3, #24] if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && 80b7dd4: 2b00 cmp r3, #0 80b7dd6: d11f bne.n 80b7e18 (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 80b7dd8: 687b ldr r3, [r7, #4] 80b7dda: 681b ldr r3, [r3, #0] 80b7ddc: 6adb ldr r3, [r3, #44] ; 0x2c 80b7dde: f403 0370 and.w r3, r3, #15728640 ; 0xf00000 (hadc->Init.ContinuousConvMode == DISABLE) && 80b7de2: 2b00 cmp r3, #0 80b7de4: d006 beq.n 80b7df4 HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) ) 80b7de6: 687b ldr r3, [r7, #4] 80b7de8: 681b ldr r3, [r3, #0] 80b7dea: 689b ldr r3, [r3, #8] 80b7dec: f403 6380 and.w r3, r3, #1024 ; 0x400 (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 80b7df0: 2b00 cmp r3, #0 80b7df2: d111 bne.n 80b7e18 { /* Set ADC state */ CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); 80b7df4: 687b ldr r3, [r7, #4] 80b7df6: 6c1b ldr r3, [r3, #64] ; 0x40 80b7df8: f423 7280 bic.w r2, r3, #256 ; 0x100 80b7dfc: 687b ldr r3, [r7, #4] 80b7dfe: 641a str r2, [r3, #64] ; 0x40 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 80b7e00: 687b ldr r3, [r7, #4] 80b7e02: 6c1b ldr r3, [r3, #64] ; 0x40 80b7e04: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b7e08: 2b00 cmp r3, #0 80b7e0a: d105 bne.n 80b7e18 { SET_BIT(hadc->State, HAL_ADC_STATE_READY); 80b7e0c: 687b ldr r3, [r7, #4] 80b7e0e: 6c1b ldr r3, [r3, #64] ; 0x40 80b7e10: f043 0201 orr.w r2, r3, #1 80b7e14: 687b ldr r3, [r7, #4] 80b7e16: 641a str r2, [r3, #64] ; 0x40 } } /* Return ADC state */ return HAL_OK; 80b7e18: 2300 movs r3, #0 } 80b7e1a: 4618 mov r0, r3 80b7e1c: 3710 adds r7, #16 80b7e1e: 46bd mov sp, r7 80b7e20: bd80 pop {r7, pc} ... 080b7e24 : * @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) { 80b7e24: b580 push {r7, lr} 80b7e26: b086 sub sp, #24 80b7e28: af00 add r7, sp, #0 80b7e2a: 60f8 str r0, [r7, #12] 80b7e2c: 60b9 str r1, [r7, #8] 80b7e2e: 607a str r2, [r7, #4] __IO uint32_t counter = 0; 80b7e30: 2300 movs r3, #0 80b7e32: 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); 80b7e34: 68fb ldr r3, [r7, #12] 80b7e36: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b7e3a: 2b01 cmp r3, #1 80b7e3c: d101 bne.n 80b7e42 80b7e3e: 2302 movs r3, #2 80b7e40: e0d4 b.n 80b7fec 80b7e42: 68fb ldr r3, [r7, #12] 80b7e44: 2201 movs r2, #1 80b7e46: 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) 80b7e4a: 68fb ldr r3, [r7, #12] 80b7e4c: 681b ldr r3, [r3, #0] 80b7e4e: 689b ldr r3, [r3, #8] 80b7e50: f003 0301 and.w r3, r3, #1 80b7e54: 2b01 cmp r3, #1 80b7e56: d018 beq.n 80b7e8a { /* Enable the Peripheral */ __HAL_ADC_ENABLE(hadc); 80b7e58: 68fb ldr r3, [r7, #12] 80b7e5a: 681b ldr r3, [r3, #0] 80b7e5c: 68fa ldr r2, [r7, #12] 80b7e5e: 6812 ldr r2, [r2, #0] 80b7e60: 6892 ldr r2, [r2, #8] 80b7e62: f042 0201 orr.w r2, r2, #1 80b7e66: 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)); 80b7e68: 4b62 ldr r3, [pc, #392] ; (80b7ff4 ) 80b7e6a: 681b ldr r3, [r3, #0] 80b7e6c: 4a62 ldr r2, [pc, #392] ; (80b7ff8 ) 80b7e6e: fba2 2303 umull r2, r3, r2, r3 80b7e72: 0c9a lsrs r2, r3, #18 80b7e74: 4613 mov r3, r2 80b7e76: 005b lsls r3, r3, #1 80b7e78: 4413 add r3, r2 80b7e7a: 617b str r3, [r7, #20] while(counter != 0) 80b7e7c: e002 b.n 80b7e84 { counter--; 80b7e7e: 697b ldr r3, [r7, #20] 80b7e80: 3b01 subs r3, #1 80b7e82: 617b str r3, [r7, #20] while(counter != 0) 80b7e84: 697b ldr r3, [r7, #20] 80b7e86: 2b00 cmp r3, #0 80b7e88: d1f9 bne.n 80b7e7e } } /* Start conversion if ADC is effectively enabled */ if(HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON)) 80b7e8a: 68fb ldr r3, [r7, #12] 80b7e8c: 681b ldr r3, [r3, #0] 80b7e8e: 689b ldr r3, [r3, #8] 80b7e90: f003 0301 and.w r3, r3, #1 80b7e94: 2b01 cmp r3, #1 80b7e96: f040 809c bne.w 80b7fd2 { /* 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, 80b7e9a: 68fb ldr r3, [r7, #12] 80b7e9c: 6c1a ldr r2, [r3, #64] ; 0x40 80b7e9e: 4b57 ldr r3, [pc, #348] ; (80b7ffc ) 80b7ea0: 4013 ands r3, r2 80b7ea2: f443 7280 orr.w r2, r3, #256 ; 0x100 80b7ea6: 68fb ldr r3, [r7, #12] 80b7ea8: 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) 80b7eaa: 68fb ldr r3, [r7, #12] 80b7eac: 681b ldr r3, [r3, #0] 80b7eae: 685b ldr r3, [r3, #4] 80b7eb0: f403 6380 and.w r3, r3, #1024 ; 0x400 80b7eb4: 2b00 cmp r3, #0 80b7eb6: d007 beq.n 80b7ec8 { ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); 80b7eb8: 68fb ldr r3, [r7, #12] 80b7eba: 6c1b ldr r3, [r3, #64] ; 0x40 80b7ebc: f423 5340 bic.w r3, r3, #12288 ; 0x3000 80b7ec0: f443 5280 orr.w r2, r3, #4096 ; 0x1000 80b7ec4: 68fb ldr r3, [r7, #12] 80b7ec6: 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)) 80b7ec8: 68fb ldr r3, [r7, #12] 80b7eca: 6c1b ldr r3, [r3, #64] ; 0x40 80b7ecc: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b7ed0: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80b7ed4: d106 bne.n 80b7ee4 { /* Reset ADC error code fields related to conversions on group regular */ CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); 80b7ed6: 68fb ldr r3, [r7, #12] 80b7ed8: 6c5b ldr r3, [r3, #68] ; 0x44 80b7eda: f023 0206 bic.w r2, r3, #6 80b7ede: 68fb ldr r3, [r7, #12] 80b7ee0: 645a str r2, [r3, #68] ; 0x44 80b7ee2: e002 b.n 80b7eea } else { /* Reset ADC all error code fields */ ADC_CLEAR_ERRORCODE(hadc); 80b7ee4: 68fb ldr r3, [r7, #12] 80b7ee6: 2200 movs r2, #0 80b7ee8: 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); 80b7eea: 68fb ldr r3, [r7, #12] 80b7eec: 2200 movs r2, #0 80b7eee: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Set the DMA transfer complete callback */ hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt; 80b7ef2: 68fb ldr r3, [r7, #12] 80b7ef4: 6b9b ldr r3, [r3, #56] ; 0x38 80b7ef6: 4a42 ldr r2, [pc, #264] ; (80b8000 ) 80b7ef8: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA half transfer complete callback */ hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt; 80b7efa: 68fb ldr r3, [r7, #12] 80b7efc: 6b9b ldr r3, [r3, #56] ; 0x38 80b7efe: 4a41 ldr r2, [pc, #260] ; (80b8004 ) 80b7f00: 641a str r2, [r3, #64] ; 0x40 /* Set the DMA error callback */ hadc->DMA_Handle->XferErrorCallback = ADC_DMAError; 80b7f02: 68fb ldr r3, [r7, #12] 80b7f04: 6b9b ldr r3, [r3, #56] ; 0x38 80b7f06: 4a40 ldr r2, [pc, #256] ; (80b8008 ) 80b7f08: 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); 80b7f0a: 68fb ldr r3, [r7, #12] 80b7f0c: 681b ldr r3, [r3, #0] 80b7f0e: f06f 0222 mvn.w r2, #34 ; 0x22 80b7f12: 601a str r2, [r3, #0] /* Enable ADC overrun interrupt */ __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); 80b7f14: 68fb ldr r3, [r7, #12] 80b7f16: 681b ldr r3, [r3, #0] 80b7f18: 68fa ldr r2, [r7, #12] 80b7f1a: 6812 ldr r2, [r2, #0] 80b7f1c: 6852 ldr r2, [r2, #4] 80b7f1e: f042 6280 orr.w r2, r2, #67108864 ; 0x4000000 80b7f22: 605a str r2, [r3, #4] /* Enable ADC DMA mode */ hadc->Instance->CR2 |= ADC_CR2_DMA; 80b7f24: 68fb ldr r3, [r7, #12] 80b7f26: 681b ldr r3, [r3, #0] 80b7f28: 68fa ldr r2, [r7, #12] 80b7f2a: 6812 ldr r2, [r2, #0] 80b7f2c: 6892 ldr r2, [r2, #8] 80b7f2e: f442 7280 orr.w r2, r2, #256 ; 0x100 80b7f32: 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); 80b7f34: 68fb ldr r3, [r7, #12] 80b7f36: 6b98 ldr r0, [r3, #56] ; 0x38 80b7f38: 68fb ldr r3, [r7, #12] 80b7f3a: 681b ldr r3, [r3, #0] 80b7f3c: 334c adds r3, #76 ; 0x4c 80b7f3e: 4619 mov r1, r3 80b7f40: 68ba ldr r2, [r7, #8] 80b7f42: 687b ldr r3, [r7, #4] 80b7f44: f000 fe92 bl 80b8c6c /* Check if Multimode enabled */ if(HAL_IS_BIT_CLR(ADC->CCR, ADC_CCR_MULTI)) 80b7f48: 4b30 ldr r3, [pc, #192] ; (80b800c ) 80b7f4a: 685b ldr r3, [r3, #4] 80b7f4c: f003 031f and.w r3, r3, #31 80b7f50: 2b00 cmp r3, #0 80b7f52: d10f bne.n 80b7f74 { /* if no external trigger present enable software conversion of regular channels */ if((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET) 80b7f54: 68fb ldr r3, [r7, #12] 80b7f56: 681b ldr r3, [r3, #0] 80b7f58: 689b ldr r3, [r3, #8] 80b7f5a: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b7f5e: 2b00 cmp r3, #0 80b7f60: d143 bne.n 80b7fea { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b7f62: 68fb ldr r3, [r7, #12] 80b7f64: 681b ldr r3, [r3, #0] 80b7f66: 68fa ldr r2, [r7, #12] 80b7f68: 6812 ldr r2, [r2, #0] 80b7f6a: 6892 ldr r2, [r2, #8] 80b7f6c: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b7f70: 609a str r2, [r3, #8] 80b7f72: e03a b.n 80b7fea } } 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)) 80b7f74: 68fb ldr r3, [r7, #12] 80b7f76: 681b ldr r3, [r3, #0] 80b7f78: 4a25 ldr r2, [pc, #148] ; (80b8010 ) 80b7f7a: 4293 cmp r3, r2 80b7f7c: d10e bne.n 80b7f9c 80b7f7e: 68fb ldr r3, [r7, #12] 80b7f80: 681b ldr r3, [r3, #0] 80b7f82: 689b ldr r3, [r3, #8] 80b7f84: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b7f88: 2b00 cmp r3, #0 80b7f8a: d107 bne.n 80b7f9c { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b7f8c: 68fb ldr r3, [r7, #12] 80b7f8e: 681b ldr r3, [r3, #0] 80b7f90: 68fa ldr r2, [r7, #12] 80b7f92: 6812 ldr r2, [r2, #0] 80b7f94: 6892 ldr r2, [r2, #8] 80b7f96: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b7f9a: 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) ) 80b7f9c: 4b1b ldr r3, [pc, #108] ; (80b800c ) 80b7f9e: 685b ldr r3, [r3, #4] 80b7fa0: f003 0310 and.w r3, r3, #16 80b7fa4: 2b00 cmp r3, #0 80b7fa6: d120 bne.n 80b7fea { /* 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)) 80b7fa8: 68fb ldr r3, [r7, #12] 80b7faa: 681b ldr r3, [r3, #0] 80b7fac: 4a19 ldr r2, [pc, #100] ; (80b8014 ) 80b7fae: 4293 cmp r3, r2 80b7fb0: d11b bne.n 80b7fea 80b7fb2: 68fb ldr r3, [r7, #12] 80b7fb4: 681b ldr r3, [r3, #0] 80b7fb6: 689b ldr r3, [r3, #8] 80b7fb8: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b7fbc: 2b00 cmp r3, #0 80b7fbe: d114 bne.n 80b7fea { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b7fc0: 68fb ldr r3, [r7, #12] 80b7fc2: 681b ldr r3, [r3, #0] 80b7fc4: 68fa ldr r2, [r7, #12] 80b7fc6: 6812 ldr r2, [r2, #0] 80b7fc8: 6892 ldr r2, [r2, #8] 80b7fca: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b7fce: 609a str r2, [r3, #8] 80b7fd0: e00b b.n 80b7fea } } else { /* Update ADC state machine to error */ SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 80b7fd2: 68fb ldr r3, [r7, #12] 80b7fd4: 6c1b ldr r3, [r3, #64] ; 0x40 80b7fd6: f043 0210 orr.w r2, r3, #16 80b7fda: 68fb ldr r3, [r7, #12] 80b7fdc: 641a str r2, [r3, #64] ; 0x40 /* Set ADC error code to ADC IP internal error */ SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 80b7fde: 68fb ldr r3, [r7, #12] 80b7fe0: 6c5b ldr r3, [r3, #68] ; 0x44 80b7fe2: f043 0201 orr.w r2, r3, #1 80b7fe6: 68fb ldr r3, [r7, #12] 80b7fe8: 645a str r2, [r3, #68] ; 0x44 } /* Return function status */ return HAL_OK; 80b7fea: 2300 movs r3, #0 } 80b7fec: 4618 mov r0, r3 80b7fee: 3718 adds r7, #24 80b7ff0: 46bd mov sp, r7 80b7ff2: bd80 pop {r7, pc} 80b7ff4: 200209bc .word 0x200209bc 80b7ff8: 431bde83 .word 0x431bde83 80b7ffc: fffff8fe .word 0xfffff8fe 80b8000: 080b85b1 .word 0x080b85b1 80b8004: 080b866b .word 0x080b866b 80b8008: 080b8687 .word 0x080b8687 80b800c: 40012300 .word 0x40012300 80b8010: 40012000 .word 0x40012000 80b8014: 40012200 .word 0x40012200 080b8018 : * @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) { 80b8018: b580 push {r7, lr} 80b801a: b084 sub sp, #16 80b801c: af00 add r7, sp, #0 80b801e: 6078 str r0, [r7, #4] HAL_StatusTypeDef tmp_hal_status = HAL_OK; 80b8020: 2300 movs r3, #0 80b8022: 73fb strb r3, [r7, #15] /* Check the parameters */ assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); /* Process locked */ __HAL_LOCK(hadc); 80b8024: 687b ldr r3, [r7, #4] 80b8026: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b802a: 2b01 cmp r3, #1 80b802c: d101 bne.n 80b8032 80b802e: 2302 movs r3, #2 80b8030: e046 b.n 80b80c0 80b8032: 687b ldr r3, [r7, #4] 80b8034: 2201 movs r2, #1 80b8036: 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); 80b803a: 687b ldr r3, [r7, #4] 80b803c: 681b ldr r3, [r3, #0] 80b803e: 687a ldr r2, [r7, #4] 80b8040: 6812 ldr r2, [r2, #0] 80b8042: 6892 ldr r2, [r2, #8] 80b8044: f022 0201 bic.w r2, r2, #1 80b8048: 609a str r2, [r3, #8] /* Check if ADC is effectively disabled */ if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) 80b804a: 687b ldr r3, [r7, #4] 80b804c: 681b ldr r3, [r3, #0] 80b804e: 689b ldr r3, [r3, #8] 80b8050: f003 0301 and.w r3, r3, #1 80b8054: 2b00 cmp r3, #0 80b8056: d12e bne.n 80b80b6 { /* Disable the selected ADC DMA mode */ hadc->Instance->CR2 &= ~ADC_CR2_DMA; 80b8058: 687b ldr r3, [r7, #4] 80b805a: 681b ldr r3, [r3, #0] 80b805c: 687a ldr r2, [r7, #4] 80b805e: 6812 ldr r2, [r2, #0] 80b8060: 6892 ldr r2, [r2, #8] 80b8062: f422 7280 bic.w r2, r2, #256 ; 0x100 80b8066: 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) 80b8068: 687b ldr r3, [r7, #4] 80b806a: 6b9b ldr r3, [r3, #56] ; 0x38 80b806c: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b8070: b2db uxtb r3, r3 80b8072: 2b02 cmp r3, #2 80b8074: d10f bne.n 80b8096 { tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); 80b8076: 687b ldr r3, [r7, #4] 80b8078: 6b9b ldr r3, [r3, #56] ; 0x38 80b807a: 4618 mov r0, r3 80b807c: f000 fe56 bl 80b8d2c 80b8080: 4603 mov r3, r0 80b8082: 73fb strb r3, [r7, #15] /* Check if DMA channel effectively disabled */ if (tmp_hal_status != HAL_OK) 80b8084: 7bfb ldrb r3, [r7, #15] 80b8086: 2b00 cmp r3, #0 80b8088: d005 beq.n 80b8096 { /* Update ADC state machine to error */ SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); 80b808a: 687b ldr r3, [r7, #4] 80b808c: 6c1b ldr r3, [r3, #64] ; 0x40 80b808e: f043 0240 orr.w r2, r3, #64 ; 0x40 80b8092: 687b ldr r3, [r7, #4] 80b8094: 641a str r2, [r3, #64] ; 0x40 } } /* Disable ADC overrun interrupt */ __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); 80b8096: 687b ldr r3, [r7, #4] 80b8098: 681b ldr r3, [r3, #0] 80b809a: 687a ldr r2, [r7, #4] 80b809c: 6812 ldr r2, [r2, #0] 80b809e: 6852 ldr r2, [r2, #4] 80b80a0: f022 6280 bic.w r2, r2, #67108864 ; 0x4000000 80b80a4: 605a str r2, [r3, #4] /* Set ADC state */ ADC_STATE_CLR_SET(hadc->State, 80b80a6: 687b ldr r3, [r7, #4] 80b80a8: 6c1a ldr r2, [r3, #64] ; 0x40 80b80aa: 4b07 ldr r3, [pc, #28] ; (80b80c8 ) 80b80ac: 4013 ands r3, r2 80b80ae: f043 0201 orr.w r2, r3, #1 80b80b2: 687b ldr r3, [r7, #4] 80b80b4: 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); 80b80b6: 687b ldr r3, [r7, #4] 80b80b8: 2200 movs r2, #0 80b80ba: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return tmp_hal_status; 80b80be: 7bfb ldrb r3, [r7, #15] } 80b80c0: 4618 mov r0, r3 80b80c2: 3710 adds r7, #16 80b80c4: 46bd mov sp, r7 80b80c6: bd80 pop {r7, pc} 80b80c8: ffffeefe .word 0xffffeefe 080b80cc : * @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) { 80b80cc: b480 push {r7} 80b80ce: b083 sub sp, #12 80b80d0: af00 add r7, sp, #0 80b80d2: 6078 str r0, [r7, #4] /* Return the selected ADC converted value */ return hadc->Instance->DR; 80b80d4: 687b ldr r3, [r7, #4] 80b80d6: 681b ldr r3, [r3, #0] 80b80d8: 6cdb ldr r3, [r3, #76] ; 0x4c } 80b80da: 4618 mov r0, r3 80b80dc: 370c adds r7, #12 80b80de: 46bd mov sp, r7 80b80e0: f85d 7b04 ldr.w r7, [sp], #4 80b80e4: 4770 bx lr 080b80e6 : * @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) { 80b80e6: b480 push {r7} 80b80e8: b083 sub sp, #12 80b80ea: af00 add r7, sp, #0 80b80ec: 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 */ } 80b80ee: bf00 nop 80b80f0: 370c adds r7, #12 80b80f2: 46bd mov sp, r7 80b80f4: f85d 7b04 ldr.w r7, [sp], #4 80b80f8: 4770 bx lr 080b80fa : * @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) { 80b80fa: b480 push {r7} 80b80fc: b083 sub sp, #12 80b80fe: af00 add r7, sp, #0 80b8100: 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 */ } 80b8102: bf00 nop 80b8104: 370c adds r7, #12 80b8106: 46bd mov sp, r7 80b8108: f85d 7b04 ldr.w r7, [sp], #4 80b810c: 4770 bx lr ... 080b8110 : * 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) { 80b8110: b490 push {r4, r7} 80b8112: b084 sub sp, #16 80b8114: af00 add r7, sp, #0 80b8116: 6078 str r0, [r7, #4] 80b8118: 6039 str r1, [r7, #0] __IO uint32_t counter = 0; 80b811a: 2300 movs r3, #0 80b811c: 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); 80b811e: 687b ldr r3, [r7, #4] 80b8120: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b8124: 2b01 cmp r3, #1 80b8126: d101 bne.n 80b812c 80b8128: 2302 movs r3, #2 80b812a: e138 b.n 80b839e 80b812c: 687b ldr r3, [r7, #4] 80b812e: 2201 movs r2, #1 80b8130: 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)) 80b8134: 683b ldr r3, [r7, #0] 80b8136: 681b ldr r3, [r3, #0] 80b8138: 2b09 cmp r3, #9 80b813a: d93b bls.n 80b81b4 80b813c: 683b ldr r3, [r7, #0] 80b813e: 681b ldr r3, [r3, #0] 80b8140: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80b8144: d036 beq.n 80b81b4 { /* Clear the old sample time */ hadc->Instance->SMPR1 &= ~ADC_SMPR1(ADC_SMPR1_SMP10, sConfig->Channel); 80b8146: 687b ldr r3, [r7, #4] 80b8148: 681a ldr r2, [r3, #0] 80b814a: 687b ldr r3, [r7, #4] 80b814c: 681b ldr r3, [r3, #0] 80b814e: 68d9 ldr r1, [r3, #12] 80b8150: 683b ldr r3, [r7, #0] 80b8152: 681b ldr r3, [r3, #0] 80b8154: b29b uxth r3, r3 80b8156: 4618 mov r0, r3 80b8158: 4603 mov r3, r0 80b815a: 005b lsls r3, r3, #1 80b815c: 4403 add r3, r0 80b815e: 3b1e subs r3, #30 80b8160: 2007 movs r0, #7 80b8162: fa00 f303 lsl.w r3, r0, r3 80b8166: 43db mvns r3, r3 80b8168: 400b ands r3, r1 80b816a: 60d3 str r3, [r2, #12] if (sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 80b816c: 683b ldr r3, [r7, #0] 80b816e: 681b ldr r3, [r3, #0] 80b8170: 4a8d ldr r2, [pc, #564] ; (80b83a8 ) 80b8172: 4293 cmp r3, r2 80b8174: d10a bne.n 80b818c { /* Set the new sample time */ hadc->Instance->SMPR1 |= ADC_SMPR1(sConfig->SamplingTime, ADC_CHANNEL_18); 80b8176: 687b ldr r3, [r7, #4] 80b8178: 681b ldr r3, [r3, #0] 80b817a: 687a ldr r2, [r7, #4] 80b817c: 6812 ldr r2, [r2, #0] 80b817e: 68d1 ldr r1, [r2, #12] 80b8180: 683a ldr r2, [r7, #0] 80b8182: 6892 ldr r2, [r2, #8] 80b8184: 0612 lsls r2, r2, #24 80b8186: 430a orrs r2, r1 80b8188: 60da str r2, [r3, #12] if (sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 80b818a: e037 b.n 80b81fc } else { /* Set the new sample time */ hadc->Instance->SMPR1 |= ADC_SMPR1(sConfig->SamplingTime, sConfig->Channel); 80b818c: 687b ldr r3, [r7, #4] 80b818e: 681a ldr r2, [r3, #0] 80b8190: 687b ldr r3, [r7, #4] 80b8192: 681b ldr r3, [r3, #0] 80b8194: 68d9 ldr r1, [r3, #12] 80b8196: 683b ldr r3, [r7, #0] 80b8198: 6898 ldr r0, [r3, #8] 80b819a: 683b ldr r3, [r7, #0] 80b819c: 681b ldr r3, [r3, #0] 80b819e: b29b uxth r3, r3 80b81a0: 461c mov r4, r3 80b81a2: 4623 mov r3, r4 80b81a4: 005b lsls r3, r3, #1 80b81a6: 4423 add r3, r4 80b81a8: 3b1e subs r3, #30 80b81aa: fa00 f303 lsl.w r3, r0, r3 80b81ae: 430b orrs r3, r1 80b81b0: 60d3 str r3, [r2, #12] if (sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 80b81b2: e023 b.n 80b81fc } } else /* ADC_Channel include in ADC_Channel_[0..9] */ { /* Clear the old sample time */ hadc->Instance->SMPR2 &= ~ADC_SMPR2(ADC_SMPR2_SMP0, sConfig->Channel); 80b81b4: 687b ldr r3, [r7, #4] 80b81b6: 681a ldr r2, [r3, #0] 80b81b8: 687b ldr r3, [r7, #4] 80b81ba: 681b ldr r3, [r3, #0] 80b81bc: 6919 ldr r1, [r3, #16] 80b81be: 683b ldr r3, [r7, #0] 80b81c0: 681b ldr r3, [r3, #0] 80b81c2: b29b uxth r3, r3 80b81c4: 4618 mov r0, r3 80b81c6: 4603 mov r3, r0 80b81c8: 005b lsls r3, r3, #1 80b81ca: 4403 add r3, r0 80b81cc: 2007 movs r0, #7 80b81ce: fa00 f303 lsl.w r3, r0, r3 80b81d2: 43db mvns r3, r3 80b81d4: 400b ands r3, r1 80b81d6: 6113 str r3, [r2, #16] /* Set the new sample time */ hadc->Instance->SMPR2 |= ADC_SMPR2(sConfig->SamplingTime, sConfig->Channel); 80b81d8: 687b ldr r3, [r7, #4] 80b81da: 681a ldr r2, [r3, #0] 80b81dc: 687b ldr r3, [r7, #4] 80b81de: 681b ldr r3, [r3, #0] 80b81e0: 6919 ldr r1, [r3, #16] 80b81e2: 683b ldr r3, [r7, #0] 80b81e4: 6898 ldr r0, [r3, #8] 80b81e6: 683b ldr r3, [r7, #0] 80b81e8: 681b ldr r3, [r3, #0] 80b81ea: b29b uxth r3, r3 80b81ec: 461c mov r4, r3 80b81ee: 4623 mov r3, r4 80b81f0: 005b lsls r3, r3, #1 80b81f2: 4423 add r3, r4 80b81f4: fa00 f303 lsl.w r3, r0, r3 80b81f8: 430b orrs r3, r1 80b81fa: 6113 str r3, [r2, #16] } /* For Rank 1 to 6 */ if (sConfig->Rank < 7) 80b81fc: 683b ldr r3, [r7, #0] 80b81fe: 685b ldr r3, [r3, #4] 80b8200: 2b06 cmp r3, #6 80b8202: d824 bhi.n 80b824e { /* Clear the old SQx bits for the selected rank */ hadc->Instance->SQR3 &= ~ADC_SQR3_RK(ADC_SQR3_SQ1, sConfig->Rank); 80b8204: 687b ldr r3, [r7, #4] 80b8206: 6819 ldr r1, [r3, #0] 80b8208: 687b ldr r3, [r7, #4] 80b820a: 681b ldr r3, [r3, #0] 80b820c: 6b58 ldr r0, [r3, #52] ; 0x34 80b820e: 683b ldr r3, [r7, #0] 80b8210: 685a ldr r2, [r3, #4] 80b8212: 4613 mov r3, r2 80b8214: 009b lsls r3, r3, #2 80b8216: 4413 add r3, r2 80b8218: 3b05 subs r3, #5 80b821a: 221f movs r2, #31 80b821c: fa02 f303 lsl.w r3, r2, r3 80b8220: 43db mvns r3, r3 80b8222: 4003 ands r3, r0 80b8224: 634b str r3, [r1, #52] ; 0x34 /* Set the SQx bits for the selected rank */ hadc->Instance->SQR3 |= ADC_SQR3_RK(sConfig->Channel, sConfig->Rank); 80b8226: 687b ldr r3, [r7, #4] 80b8228: 6819 ldr r1, [r3, #0] 80b822a: 687b ldr r3, [r7, #4] 80b822c: 681b ldr r3, [r3, #0] 80b822e: 6b58 ldr r0, [r3, #52] ; 0x34 80b8230: 683b ldr r3, [r7, #0] 80b8232: 681b ldr r3, [r3, #0] 80b8234: b29b uxth r3, r3 80b8236: 461c mov r4, r3 80b8238: 683b ldr r3, [r7, #0] 80b823a: 685a ldr r2, [r3, #4] 80b823c: 4613 mov r3, r2 80b823e: 009b lsls r3, r3, #2 80b8240: 4413 add r3, r2 80b8242: 3b05 subs r3, #5 80b8244: fa04 f303 lsl.w r3, r4, r3 80b8248: 4303 orrs r3, r0 80b824a: 634b str r3, [r1, #52] ; 0x34 80b824c: e04c b.n 80b82e8 } /* For Rank 7 to 12 */ else if (sConfig->Rank < 13) 80b824e: 683b ldr r3, [r7, #0] 80b8250: 685b ldr r3, [r3, #4] 80b8252: 2b0c cmp r3, #12 80b8254: d824 bhi.n 80b82a0 { /* Clear the old SQx bits for the selected rank */ hadc->Instance->SQR2 &= ~ADC_SQR2_RK(ADC_SQR2_SQ7, sConfig->Rank); 80b8256: 687b ldr r3, [r7, #4] 80b8258: 6819 ldr r1, [r3, #0] 80b825a: 687b ldr r3, [r7, #4] 80b825c: 681b ldr r3, [r3, #0] 80b825e: 6b18 ldr r0, [r3, #48] ; 0x30 80b8260: 683b ldr r3, [r7, #0] 80b8262: 685a ldr r2, [r3, #4] 80b8264: 4613 mov r3, r2 80b8266: 009b lsls r3, r3, #2 80b8268: 4413 add r3, r2 80b826a: 3b23 subs r3, #35 ; 0x23 80b826c: 221f movs r2, #31 80b826e: fa02 f303 lsl.w r3, r2, r3 80b8272: 43db mvns r3, r3 80b8274: 4003 ands r3, r0 80b8276: 630b str r3, [r1, #48] ; 0x30 /* Set the SQx bits for the selected rank */ hadc->Instance->SQR2 |= ADC_SQR2_RK(sConfig->Channel, sConfig->Rank); 80b8278: 687b ldr r3, [r7, #4] 80b827a: 6819 ldr r1, [r3, #0] 80b827c: 687b ldr r3, [r7, #4] 80b827e: 681b ldr r3, [r3, #0] 80b8280: 6b18 ldr r0, [r3, #48] ; 0x30 80b8282: 683b ldr r3, [r7, #0] 80b8284: 681b ldr r3, [r3, #0] 80b8286: b29b uxth r3, r3 80b8288: 461c mov r4, r3 80b828a: 683b ldr r3, [r7, #0] 80b828c: 685a ldr r2, [r3, #4] 80b828e: 4613 mov r3, r2 80b8290: 009b lsls r3, r3, #2 80b8292: 4413 add r3, r2 80b8294: 3b23 subs r3, #35 ; 0x23 80b8296: fa04 f303 lsl.w r3, r4, r3 80b829a: 4303 orrs r3, r0 80b829c: 630b str r3, [r1, #48] ; 0x30 80b829e: e023 b.n 80b82e8 } /* 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); 80b82a0: 687b ldr r3, [r7, #4] 80b82a2: 6819 ldr r1, [r3, #0] 80b82a4: 687b ldr r3, [r7, #4] 80b82a6: 681b ldr r3, [r3, #0] 80b82a8: 6ad8 ldr r0, [r3, #44] ; 0x2c 80b82aa: 683b ldr r3, [r7, #0] 80b82ac: 685a ldr r2, [r3, #4] 80b82ae: 4613 mov r3, r2 80b82b0: 009b lsls r3, r3, #2 80b82b2: 4413 add r3, r2 80b82b4: 3b41 subs r3, #65 ; 0x41 80b82b6: 221f movs r2, #31 80b82b8: fa02 f303 lsl.w r3, r2, r3 80b82bc: 43db mvns r3, r3 80b82be: 4003 ands r3, r0 80b82c0: 62cb str r3, [r1, #44] ; 0x2c /* Set the SQx bits for the selected rank */ hadc->Instance->SQR1 |= ADC_SQR1_RK(sConfig->Channel, sConfig->Rank); 80b82c2: 687b ldr r3, [r7, #4] 80b82c4: 6819 ldr r1, [r3, #0] 80b82c6: 687b ldr r3, [r7, #4] 80b82c8: 681b ldr r3, [r3, #0] 80b82ca: 6ad8 ldr r0, [r3, #44] ; 0x2c 80b82cc: 683b ldr r3, [r7, #0] 80b82ce: 681b ldr r3, [r3, #0] 80b82d0: b29b uxth r3, r3 80b82d2: 461c mov r4, r3 80b82d4: 683b ldr r3, [r7, #0] 80b82d6: 685a ldr r2, [r3, #4] 80b82d8: 4613 mov r3, r2 80b82da: 009b lsls r3, r3, #2 80b82dc: 4413 add r3, r2 80b82de: 3b41 subs r3, #65 ; 0x41 80b82e0: fa04 f303 lsl.w r3, r4, r3 80b82e4: 4303 orrs r3, r0 80b82e6: 62cb str r3, [r1, #44] ; 0x2c } /* if no internal channel selected */ if ((hadc->Instance == ADC1) && (sConfig->Channel == ADC_INTERNAL_NONE)) 80b82e8: 687b ldr r3, [r7, #4] 80b82ea: 681b ldr r3, [r3, #0] 80b82ec: 4a2f ldr r2, [pc, #188] ; (80b83ac ) 80b82ee: 4293 cmp r3, r2 80b82f0: d10a bne.n 80b8308 80b82f2: 683b ldr r3, [r7, #0] 80b82f4: 681b ldr r3, [r3, #0] 80b82f6: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80b82fa: d105 bne.n 80b8308 { /* Disable the VBAT & TSVREFE channel*/ ADC->CCR &= ~(ADC_CCR_VBATE | ADC_CCR_TSVREFE); 80b82fc: 4a2c ldr r2, [pc, #176] ; (80b83b0 ) 80b82fe: 4b2c ldr r3, [pc, #176] ; (80b83b0 ) 80b8300: 685b ldr r3, [r3, #4] 80b8302: f423 0340 bic.w r3, r3, #12582912 ; 0xc00000 80b8306: 6053 str r3, [r2, #4] } /* if ADC1 Channel_18 is selected enable VBAT Channel */ if ((hadc->Instance == ADC1) && (sConfig->Channel == ADC_CHANNEL_VBAT)) 80b8308: 687b ldr r3, [r7, #4] 80b830a: 681b ldr r3, [r3, #0] 80b830c: 4a27 ldr r2, [pc, #156] ; (80b83ac ) 80b830e: 4293 cmp r3, r2 80b8310: d10f bne.n 80b8332 80b8312: 683b ldr r3, [r7, #0] 80b8314: 681b ldr r3, [r3, #0] 80b8316: 2b12 cmp r3, #18 80b8318: d10b bne.n 80b8332 { /* Disable the TEMPSENSOR channel as it is multiplixed with the VBAT channel */ ADC->CCR &= ~ADC_CCR_TSVREFE; 80b831a: 4a25 ldr r2, [pc, #148] ; (80b83b0 ) 80b831c: 4b24 ldr r3, [pc, #144] ; (80b83b0 ) 80b831e: 685b ldr r3, [r3, #4] 80b8320: f423 0300 bic.w r3, r3, #8388608 ; 0x800000 80b8324: 6053 str r3, [r2, #4] /* Enable the VBAT channel*/ ADC->CCR |= ADC_CCR_VBATE; 80b8326: 4a22 ldr r2, [pc, #136] ; (80b83b0 ) 80b8328: 4b21 ldr r3, [pc, #132] ; (80b83b0 ) 80b832a: 685b ldr r3, [r3, #4] 80b832c: f443 0380 orr.w r3, r3, #4194304 ; 0x400000 80b8330: 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))) 80b8332: 687b ldr r3, [r7, #4] 80b8334: 681b ldr r3, [r3, #0] 80b8336: 4a1d ldr r2, [pc, #116] ; (80b83ac ) 80b8338: 4293 cmp r3, r2 80b833a: d12b bne.n 80b8394 80b833c: 683b ldr r3, [r7, #0] 80b833e: 681b ldr r3, [r3, #0] 80b8340: 4a19 ldr r2, [pc, #100] ; (80b83a8 ) 80b8342: 4293 cmp r3, r2 80b8344: d003 beq.n 80b834e 80b8346: 683b ldr r3, [r7, #0] 80b8348: 681b ldr r3, [r3, #0] 80b834a: 2b11 cmp r3, #17 80b834c: d122 bne.n 80b8394 { /* Disable the VBAT channel as it is multiplixed with TEMPSENSOR channel */ ADC->CCR &= ~ADC_CCR_VBATE; 80b834e: 4a18 ldr r2, [pc, #96] ; (80b83b0 ) 80b8350: 4b17 ldr r3, [pc, #92] ; (80b83b0 ) 80b8352: 685b ldr r3, [r3, #4] 80b8354: f423 0380 bic.w r3, r3, #4194304 ; 0x400000 80b8358: 6053 str r3, [r2, #4] /* Enable the TSVREFE channel*/ ADC->CCR |= ADC_CCR_TSVREFE; 80b835a: 4a15 ldr r2, [pc, #84] ; (80b83b0 ) 80b835c: 4b14 ldr r3, [pc, #80] ; (80b83b0 ) 80b835e: 685b ldr r3, [r3, #4] 80b8360: f443 0300 orr.w r3, r3, #8388608 ; 0x800000 80b8364: 6053 str r3, [r2, #4] if(sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 80b8366: 683b ldr r3, [r7, #0] 80b8368: 681b ldr r3, [r3, #0] 80b836a: 4a0f ldr r2, [pc, #60] ; (80b83a8 ) 80b836c: 4293 cmp r3, r2 80b836e: d111 bne.n 80b8394 { /* Delay for temperature sensor stabilization time */ /* Compute number of CPU cycles to wait for */ counter = (ADC_TEMPSENSOR_DELAY_US * (SystemCoreClock / 1000000)); 80b8370: 4b10 ldr r3, [pc, #64] ; (80b83b4 ) 80b8372: 681b ldr r3, [r3, #0] 80b8374: 4a10 ldr r2, [pc, #64] ; (80b83b8 ) 80b8376: fba2 2303 umull r2, r3, r2, r3 80b837a: 0c9a lsrs r2, r3, #18 80b837c: 4613 mov r3, r2 80b837e: 009b lsls r3, r3, #2 80b8380: 4413 add r3, r2 80b8382: 005b lsls r3, r3, #1 80b8384: 60fb str r3, [r7, #12] while(counter != 0) 80b8386: e002 b.n 80b838e { counter--; 80b8388: 68fb ldr r3, [r7, #12] 80b838a: 3b01 subs r3, #1 80b838c: 60fb str r3, [r7, #12] while(counter != 0) 80b838e: 68fb ldr r3, [r7, #12] 80b8390: 2b00 cmp r3, #0 80b8392: d1f9 bne.n 80b8388 } } } /* Process unlocked */ __HAL_UNLOCK(hadc); 80b8394: 687b ldr r3, [r7, #4] 80b8396: 2200 movs r2, #0 80b8398: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return HAL_OK; 80b839c: 2300 movs r3, #0 } 80b839e: 4618 mov r0, r3 80b83a0: 3710 adds r7, #16 80b83a2: 46bd mov sp, r7 80b83a4: bc90 pop {r4, r7} 80b83a6: 4770 bx lr 80b83a8: 10000012 .word 0x10000012 80b83ac: 40012000 .word 0x40012000 80b83b0: 40012300 .word 0x40012300 80b83b4: 200209bc .word 0x200209bc 80b83b8: 431bde83 .word 0x431bde83 080b83bc : * @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) { 80b83bc: b480 push {r7} 80b83be: b083 sub sp, #12 80b83c0: af00 add r7, sp, #0 80b83c2: 6078 str r0, [r7, #4] /* Set ADC parameters */ /* Set the ADC clock prescaler */ ADC->CCR &= ~(ADC_CCR_ADCPRE); 80b83c4: 4a78 ldr r2, [pc, #480] ; (80b85a8 ) 80b83c6: 4b78 ldr r3, [pc, #480] ; (80b85a8 ) 80b83c8: 685b ldr r3, [r3, #4] 80b83ca: f423 3340 bic.w r3, r3, #196608 ; 0x30000 80b83ce: 6053 str r3, [r2, #4] ADC->CCR |= hadc->Init.ClockPrescaler; 80b83d0: 4975 ldr r1, [pc, #468] ; (80b85a8 ) 80b83d2: 4b75 ldr r3, [pc, #468] ; (80b85a8 ) 80b83d4: 685a ldr r2, [r3, #4] 80b83d6: 687b ldr r3, [r7, #4] 80b83d8: 685b ldr r3, [r3, #4] 80b83da: 4313 orrs r3, r2 80b83dc: 604b str r3, [r1, #4] /* Set ADC scan mode */ hadc->Instance->CR1 &= ~(ADC_CR1_SCAN); 80b83de: 687b ldr r3, [r7, #4] 80b83e0: 681b ldr r3, [r3, #0] 80b83e2: 687a ldr r2, [r7, #4] 80b83e4: 6812 ldr r2, [r2, #0] 80b83e6: 6852 ldr r2, [r2, #4] 80b83e8: f422 7280 bic.w r2, r2, #256 ; 0x100 80b83ec: 605a str r2, [r3, #4] hadc->Instance->CR1 |= ADC_CR1_SCANCONV(hadc->Init.ScanConvMode); 80b83ee: 687b ldr r3, [r7, #4] 80b83f0: 681b ldr r3, [r3, #0] 80b83f2: 687a ldr r2, [r7, #4] 80b83f4: 6812 ldr r2, [r2, #0] 80b83f6: 6851 ldr r1, [r2, #4] 80b83f8: 687a ldr r2, [r7, #4] 80b83fa: 6912 ldr r2, [r2, #16] 80b83fc: 0212 lsls r2, r2, #8 80b83fe: 430a orrs r2, r1 80b8400: 605a str r2, [r3, #4] /* Set ADC resolution */ hadc->Instance->CR1 &= ~(ADC_CR1_RES); 80b8402: 687b ldr r3, [r7, #4] 80b8404: 681b ldr r3, [r3, #0] 80b8406: 687a ldr r2, [r7, #4] 80b8408: 6812 ldr r2, [r2, #0] 80b840a: 6852 ldr r2, [r2, #4] 80b840c: f022 7240 bic.w r2, r2, #50331648 ; 0x3000000 80b8410: 605a str r2, [r3, #4] hadc->Instance->CR1 |= hadc->Init.Resolution; 80b8412: 687b ldr r3, [r7, #4] 80b8414: 681b ldr r3, [r3, #0] 80b8416: 687a ldr r2, [r7, #4] 80b8418: 6812 ldr r2, [r2, #0] 80b841a: 6851 ldr r1, [r2, #4] 80b841c: 687a ldr r2, [r7, #4] 80b841e: 6892 ldr r2, [r2, #8] 80b8420: 430a orrs r2, r1 80b8422: 605a str r2, [r3, #4] /* Set ADC data alignment */ hadc->Instance->CR2 &= ~(ADC_CR2_ALIGN); 80b8424: 687b ldr r3, [r7, #4] 80b8426: 681b ldr r3, [r3, #0] 80b8428: 687a ldr r2, [r7, #4] 80b842a: 6812 ldr r2, [r2, #0] 80b842c: 6892 ldr r2, [r2, #8] 80b842e: f422 6200 bic.w r2, r2, #2048 ; 0x800 80b8432: 609a str r2, [r3, #8] hadc->Instance->CR2 |= hadc->Init.DataAlign; 80b8434: 687b ldr r3, [r7, #4] 80b8436: 681b ldr r3, [r3, #0] 80b8438: 687a ldr r2, [r7, #4] 80b843a: 6812 ldr r2, [r2, #0] 80b843c: 6891 ldr r1, [r2, #8] 80b843e: 687a ldr r2, [r7, #4] 80b8440: 68d2 ldr r2, [r2, #12] 80b8442: 430a orrs r2, r1 80b8444: 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) 80b8446: 687b ldr r3, [r7, #4] 80b8448: 6a9b ldr r3, [r3, #40] ; 0x28 80b844a: 4a58 ldr r2, [pc, #352] ; (80b85ac ) 80b844c: 4293 cmp r3, r2 80b844e: d022 beq.n 80b8496 { /* Select external trigger to start conversion */ hadc->Instance->CR2 &= ~(ADC_CR2_EXTSEL); 80b8450: 687b ldr r3, [r7, #4] 80b8452: 681b ldr r3, [r3, #0] 80b8454: 687a ldr r2, [r7, #4] 80b8456: 6812 ldr r2, [r2, #0] 80b8458: 6892 ldr r2, [r2, #8] 80b845a: f022 6270 bic.w r2, r2, #251658240 ; 0xf000000 80b845e: 609a str r2, [r3, #8] hadc->Instance->CR2 |= hadc->Init.ExternalTrigConv; 80b8460: 687b ldr r3, [r7, #4] 80b8462: 681b ldr r3, [r3, #0] 80b8464: 687a ldr r2, [r7, #4] 80b8466: 6812 ldr r2, [r2, #0] 80b8468: 6891 ldr r1, [r2, #8] 80b846a: 687a ldr r2, [r7, #4] 80b846c: 6a92 ldr r2, [r2, #40] ; 0x28 80b846e: 430a orrs r2, r1 80b8470: 609a str r2, [r3, #8] /* Select external trigger polarity */ hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN); 80b8472: 687b ldr r3, [r7, #4] 80b8474: 681b ldr r3, [r3, #0] 80b8476: 687a ldr r2, [r7, #4] 80b8478: 6812 ldr r2, [r2, #0] 80b847a: 6892 ldr r2, [r2, #8] 80b847c: f022 5240 bic.w r2, r2, #805306368 ; 0x30000000 80b8480: 609a str r2, [r3, #8] hadc->Instance->CR2 |= hadc->Init.ExternalTrigConvEdge; 80b8482: 687b ldr r3, [r7, #4] 80b8484: 681b ldr r3, [r3, #0] 80b8486: 687a ldr r2, [r7, #4] 80b8488: 6812 ldr r2, [r2, #0] 80b848a: 6891 ldr r1, [r2, #8] 80b848c: 687a ldr r2, [r7, #4] 80b848e: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b8490: 430a orrs r2, r1 80b8492: 609a str r2, [r3, #8] 80b8494: e00f b.n 80b84b6 } else { /* Reset the external trigger */ hadc->Instance->CR2 &= ~(ADC_CR2_EXTSEL); 80b8496: 687b ldr r3, [r7, #4] 80b8498: 681b ldr r3, [r3, #0] 80b849a: 687a ldr r2, [r7, #4] 80b849c: 6812 ldr r2, [r2, #0] 80b849e: 6892 ldr r2, [r2, #8] 80b84a0: f022 6270 bic.w r2, r2, #251658240 ; 0xf000000 80b84a4: 609a str r2, [r3, #8] hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN); 80b84a6: 687b ldr r3, [r7, #4] 80b84a8: 681b ldr r3, [r3, #0] 80b84aa: 687a ldr r2, [r7, #4] 80b84ac: 6812 ldr r2, [r2, #0] 80b84ae: 6892 ldr r2, [r2, #8] 80b84b0: f022 5240 bic.w r2, r2, #805306368 ; 0x30000000 80b84b4: 609a str r2, [r3, #8] } /* Enable or disable ADC continuous conversion mode */ hadc->Instance->CR2 &= ~(ADC_CR2_CONT); 80b84b6: 687b ldr r3, [r7, #4] 80b84b8: 681b ldr r3, [r3, #0] 80b84ba: 687a ldr r2, [r7, #4] 80b84bc: 6812 ldr r2, [r2, #0] 80b84be: 6892 ldr r2, [r2, #8] 80b84c0: f022 0202 bic.w r2, r2, #2 80b84c4: 609a str r2, [r3, #8] hadc->Instance->CR2 |= ADC_CR2_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode); 80b84c6: 687b ldr r3, [r7, #4] 80b84c8: 681b ldr r3, [r3, #0] 80b84ca: 687a ldr r2, [r7, #4] 80b84cc: 6812 ldr r2, [r2, #0] 80b84ce: 6891 ldr r1, [r2, #8] 80b84d0: 687a ldr r2, [r7, #4] 80b84d2: 6992 ldr r2, [r2, #24] 80b84d4: 0052 lsls r2, r2, #1 80b84d6: 430a orrs r2, r1 80b84d8: 609a str r2, [r3, #8] if(hadc->Init.DiscontinuousConvMode != DISABLE) 80b84da: 687b ldr r3, [r7, #4] 80b84dc: f893 3020 ldrb.w r3, [r3, #32] 80b84e0: 2b00 cmp r3, #0 80b84e2: d01b beq.n 80b851c { 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; 80b84e4: 687b ldr r3, [r7, #4] 80b84e6: 681b ldr r3, [r3, #0] 80b84e8: 687a ldr r2, [r7, #4] 80b84ea: 6812 ldr r2, [r2, #0] 80b84ec: 6852 ldr r2, [r2, #4] 80b84ee: f442 6200 orr.w r2, r2, #2048 ; 0x800 80b84f2: 605a str r2, [r3, #4] /* Set the number of channels to be converted in discontinuous mode */ hadc->Instance->CR1 &= ~(ADC_CR1_DISCNUM); 80b84f4: 687b ldr r3, [r7, #4] 80b84f6: 681b ldr r3, [r3, #0] 80b84f8: 687a ldr r2, [r7, #4] 80b84fa: 6812 ldr r2, [r2, #0] 80b84fc: 6852 ldr r2, [r2, #4] 80b84fe: f422 4260 bic.w r2, r2, #57344 ; 0xe000 80b8502: 605a str r2, [r3, #4] hadc->Instance->CR1 |= ADC_CR1_DISCONTINUOUS(hadc->Init.NbrOfDiscConversion); 80b8504: 687b ldr r3, [r7, #4] 80b8506: 681b ldr r3, [r3, #0] 80b8508: 687a ldr r2, [r7, #4] 80b850a: 6812 ldr r2, [r2, #0] 80b850c: 6851 ldr r1, [r2, #4] 80b850e: 687a ldr r2, [r7, #4] 80b8510: 6a52 ldr r2, [r2, #36] ; 0x24 80b8512: 3a01 subs r2, #1 80b8514: 0352 lsls r2, r2, #13 80b8516: 430a orrs r2, r1 80b8518: 605a str r2, [r3, #4] 80b851a: e007 b.n 80b852c } else { /* Disable the selected ADC regular discontinuous mode */ hadc->Instance->CR1 &= ~(ADC_CR1_DISCEN); 80b851c: 687b ldr r3, [r7, #4] 80b851e: 681b ldr r3, [r3, #0] 80b8520: 687a ldr r2, [r7, #4] 80b8522: 6812 ldr r2, [r2, #0] 80b8524: 6852 ldr r2, [r2, #4] 80b8526: f422 6200 bic.w r2, r2, #2048 ; 0x800 80b852a: 605a str r2, [r3, #4] } /* Set ADC number of conversion */ hadc->Instance->SQR1 &= ~(ADC_SQR1_L); 80b852c: 687b ldr r3, [r7, #4] 80b852e: 681b ldr r3, [r3, #0] 80b8530: 687a ldr r2, [r7, #4] 80b8532: 6812 ldr r2, [r2, #0] 80b8534: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b8536: f422 0270 bic.w r2, r2, #15728640 ; 0xf00000 80b853a: 62da str r2, [r3, #44] ; 0x2c hadc->Instance->SQR1 |= ADC_SQR1(hadc->Init.NbrOfConversion); 80b853c: 687b ldr r3, [r7, #4] 80b853e: 681b ldr r3, [r3, #0] 80b8540: 687a ldr r2, [r7, #4] 80b8542: 6812 ldr r2, [r2, #0] 80b8544: 6ad1 ldr r1, [r2, #44] ; 0x2c 80b8546: 687a ldr r2, [r7, #4] 80b8548: 69d2 ldr r2, [r2, #28] 80b854a: 3a01 subs r2, #1 80b854c: 0512 lsls r2, r2, #20 80b854e: 430a orrs r2, r1 80b8550: 62da str r2, [r3, #44] ; 0x2c /* Enable or disable ADC DMA continuous request */ hadc->Instance->CR2 &= ~(ADC_CR2_DDS); 80b8552: 687b ldr r3, [r7, #4] 80b8554: 681b ldr r3, [r3, #0] 80b8556: 687a ldr r2, [r7, #4] 80b8558: 6812 ldr r2, [r2, #0] 80b855a: 6892 ldr r2, [r2, #8] 80b855c: f422 7200 bic.w r2, r2, #512 ; 0x200 80b8560: 609a str r2, [r3, #8] hadc->Instance->CR2 |= ADC_CR2_DMAContReq((uint32_t)hadc->Init.DMAContinuousRequests); 80b8562: 687b ldr r3, [r7, #4] 80b8564: 681b ldr r3, [r3, #0] 80b8566: 687a ldr r2, [r7, #4] 80b8568: 6812 ldr r2, [r2, #0] 80b856a: 6891 ldr r1, [r2, #8] 80b856c: 687a ldr r2, [r7, #4] 80b856e: f892 2030 ldrb.w r2, [r2, #48] ; 0x30 80b8572: 0252 lsls r2, r2, #9 80b8574: 430a orrs r2, r1 80b8576: 609a str r2, [r3, #8] /* Enable or disable ADC end of conversion selection */ hadc->Instance->CR2 &= ~(ADC_CR2_EOCS); 80b8578: 687b ldr r3, [r7, #4] 80b857a: 681b ldr r3, [r3, #0] 80b857c: 687a ldr r2, [r7, #4] 80b857e: 6812 ldr r2, [r2, #0] 80b8580: 6892 ldr r2, [r2, #8] 80b8582: f422 6280 bic.w r2, r2, #1024 ; 0x400 80b8586: 609a str r2, [r3, #8] hadc->Instance->CR2 |= ADC_CR2_EOCSelection(hadc->Init.EOCSelection); 80b8588: 687b ldr r3, [r7, #4] 80b858a: 681b ldr r3, [r3, #0] 80b858c: 687a ldr r2, [r7, #4] 80b858e: 6812 ldr r2, [r2, #0] 80b8590: 6891 ldr r1, [r2, #8] 80b8592: 687a ldr r2, [r7, #4] 80b8594: 6952 ldr r2, [r2, #20] 80b8596: 0292 lsls r2, r2, #10 80b8598: 430a orrs r2, r1 80b859a: 609a str r2, [r3, #8] } 80b859c: bf00 nop 80b859e: 370c adds r7, #12 80b85a0: 46bd mov sp, r7 80b85a2: f85d 7b04 ldr.w r7, [sp], #4 80b85a6: 4770 bx lr 80b85a8: 40012300 .word 0x40012300 80b85ac: 0f000001 .word 0x0f000001 080b85b0 : * @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) { 80b85b0: b580 push {r7, lr} 80b85b2: b084 sub sp, #16 80b85b4: af00 add r7, sp, #0 80b85b6: 6078 str r0, [r7, #4] /* Retrieve ADC handle corresponding to current DMA handle */ ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 80b85b8: 687b ldr r3, [r7, #4] 80b85ba: 6b9b ldr r3, [r3, #56] ; 0x38 80b85bc: 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)) 80b85be: 68fb ldr r3, [r7, #12] 80b85c0: 6c1b ldr r3, [r3, #64] ; 0x40 80b85c2: f003 0350 and.w r3, r3, #80 ; 0x50 80b85c6: 2b00 cmp r3, #0 80b85c8: d13c bne.n 80b8644 { /* Update ADC state machine */ SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); 80b85ca: 68fb ldr r3, [r7, #12] 80b85cc: 6c1b ldr r3, [r3, #64] ; 0x40 80b85ce: f443 7200 orr.w r2, r3, #512 ; 0x200 80b85d2: 68fb ldr r3, [r7, #12] 80b85d4: 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) && 80b85d6: 68fb ldr r3, [r7, #12] 80b85d8: 681b ldr r3, [r3, #0] 80b85da: 689b ldr r3, [r3, #8] 80b85dc: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b85e0: 2b00 cmp r3, #0 80b85e2: d12b bne.n 80b863c (hadc->Init.ContinuousConvMode == DISABLE) && 80b85e4: 68fb ldr r3, [r7, #12] 80b85e6: 699b ldr r3, [r3, #24] if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && 80b85e8: 2b00 cmp r3, #0 80b85ea: d127 bne.n 80b863c (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 80b85ec: 68fb ldr r3, [r7, #12] 80b85ee: 681b ldr r3, [r3, #0] 80b85f0: 6adb ldr r3, [r3, #44] ; 0x2c 80b85f2: f403 0370 and.w r3, r3, #15728640 ; 0xf00000 (hadc->Init.ContinuousConvMode == DISABLE) && 80b85f6: 2b00 cmp r3, #0 80b85f8: d006 beq.n 80b8608 HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) ) 80b85fa: 68fb ldr r3, [r7, #12] 80b85fc: 681b ldr r3, [r3, #0] 80b85fe: 689b ldr r3, [r3, #8] 80b8600: f403 6380 and.w r3, r3, #1024 ; 0x400 (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 80b8604: 2b00 cmp r3, #0 80b8606: d119 bne.n 80b863c { /* 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); 80b8608: 68fb ldr r3, [r7, #12] 80b860a: 681b ldr r3, [r3, #0] 80b860c: 68fa ldr r2, [r7, #12] 80b860e: 6812 ldr r2, [r2, #0] 80b8610: 6852 ldr r2, [r2, #4] 80b8612: f022 0220 bic.w r2, r2, #32 80b8616: 605a str r2, [r3, #4] /* Set ADC state */ CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); 80b8618: 68fb ldr r3, [r7, #12] 80b861a: 6c1b ldr r3, [r3, #64] ; 0x40 80b861c: f423 7280 bic.w r2, r3, #256 ; 0x100 80b8620: 68fb ldr r3, [r7, #12] 80b8622: 641a str r2, [r3, #64] ; 0x40 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 80b8624: 68fb ldr r3, [r7, #12] 80b8626: 6c1b ldr r3, [r3, #64] ; 0x40 80b8628: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b862c: 2b00 cmp r3, #0 80b862e: d105 bne.n 80b863c { SET_BIT(hadc->State, HAL_ADC_STATE_READY); 80b8630: 68fb ldr r3, [r7, #12] 80b8632: 6c1b ldr r3, [r3, #64] ; 0x40 80b8634: f043 0201 orr.w r2, r3, #1 80b8638: 68fb ldr r3, [r7, #12] 80b863a: 641a str r2, [r3, #64] ; 0x40 /* Conversion complete callback */ #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) hadc->ConvCpltCallback(hadc); #else HAL_ADC_ConvCpltCallback(hadc); 80b863c: 68f8 ldr r0, [r7, #12] 80b863e: f79e fe5b bl 80572f8 { /* Call DMA error callback */ hadc->DMA_Handle->XferErrorCallback(hdma); } } } 80b8642: e00e b.n 80b8662 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) != 0UL) 80b8644: 68fb ldr r3, [r7, #12] 80b8646: 6c1b ldr r3, [r3, #64] ; 0x40 80b8648: f003 0310 and.w r3, r3, #16 80b864c: 2b00 cmp r3, #0 80b864e: d003 beq.n 80b8658 HAL_ADC_ErrorCallback(hadc); 80b8650: 68f8 ldr r0, [r7, #12] 80b8652: f7ff fd52 bl 80b80fa } 80b8656: e004 b.n 80b8662 hadc->DMA_Handle->XferErrorCallback(hdma); 80b8658: 68fb ldr r3, [r7, #12] 80b865a: 6b9b ldr r3, [r3, #56] ; 0x38 80b865c: 6cdb ldr r3, [r3, #76] ; 0x4c 80b865e: 6878 ldr r0, [r7, #4] 80b8660: 4798 blx r3 } 80b8662: bf00 nop 80b8664: 3710 adds r7, #16 80b8666: 46bd mov sp, r7 80b8668: bd80 pop {r7, pc} 080b866a : * @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) { 80b866a: b580 push {r7, lr} 80b866c: b084 sub sp, #16 80b866e: af00 add r7, sp, #0 80b8670: 6078 str r0, [r7, #4] ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 80b8672: 687b ldr r3, [r7, #4] 80b8674: 6b9b ldr r3, [r3, #56] ; 0x38 80b8676: 60fb str r3, [r7, #12] /* Half conversion callback */ #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) hadc->ConvHalfCpltCallback(hadc); #else HAL_ADC_ConvHalfCpltCallback(hadc); 80b8678: 68f8 ldr r0, [r7, #12] 80b867a: f7ff fd34 bl 80b80e6 #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ } 80b867e: bf00 nop 80b8680: 3710 adds r7, #16 80b8682: 46bd mov sp, r7 80b8684: bd80 pop {r7, pc} 080b8686 : * @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) { 80b8686: b580 push {r7, lr} 80b8688: b084 sub sp, #16 80b868a: af00 add r7, sp, #0 80b868c: 6078 str r0, [r7, #4] ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 80b868e: 687b ldr r3, [r7, #4] 80b8690: 6b9b ldr r3, [r3, #56] ; 0x38 80b8692: 60fb str r3, [r7, #12] hadc->State= HAL_ADC_STATE_ERROR_DMA; 80b8694: 68fb ldr r3, [r7, #12] 80b8696: 2240 movs r2, #64 ; 0x40 80b8698: 641a str r2, [r3, #64] ; 0x40 /* Set ADC error code to DMA error */ hadc->ErrorCode |= HAL_ADC_ERROR_DMA; 80b869a: 68fb ldr r3, [r7, #12] 80b869c: 6c5b ldr r3, [r3, #68] ; 0x44 80b869e: f043 0204 orr.w r2, r3, #4 80b86a2: 68fb ldr r3, [r7, #12] 80b86a4: 645a str r2, [r3, #68] ; 0x44 /* Error callback */ #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) hadc->ErrorCallback(hadc); #else HAL_ADC_ErrorCallback(hadc); 80b86a6: 68f8 ldr r0, [r7, #12] 80b86a8: f7ff fd27 bl 80b80fa #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ } 80b86ac: bf00 nop 80b86ae: 3710 adds r7, #16 80b86b0: 46bd mov sp, r7 80b86b2: bd80 pop {r7, pc} 080b86b4 <__NVIC_SetPriorityGrouping>: { 80b86b4: b480 push {r7} 80b86b6: b085 sub sp, #20 80b86b8: af00 add r7, sp, #0 80b86ba: 6078 str r0, [r7, #4] uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ 80b86bc: 687b ldr r3, [r7, #4] 80b86be: f003 0307 and.w r3, r3, #7 80b86c2: 60fb str r3, [r7, #12] reg_value = SCB->AIRCR; /* read old register configuration */ 80b86c4: 4b0b ldr r3, [pc, #44] ; (80b86f4 <__NVIC_SetPriorityGrouping+0x40>) 80b86c6: 68db ldr r3, [r3, #12] 80b86c8: 60bb str r3, [r7, #8] reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ 80b86ca: 68ba ldr r2, [r7, #8] 80b86cc: f64f 03ff movw r3, #63743 ; 0xf8ff 80b86d0: 4013 ands r3, r2 80b86d2: 60bb str r3, [r7, #8] (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ 80b86d4: 68fb ldr r3, [r7, #12] 80b86d6: 021a lsls r2, r3, #8 ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | 80b86d8: 68bb ldr r3, [r7, #8] 80b86da: 431a orrs r2, r3 reg_value = (reg_value | 80b86dc: 4b06 ldr r3, [pc, #24] ; (80b86f8 <__NVIC_SetPriorityGrouping+0x44>) 80b86de: 4313 orrs r3, r2 80b86e0: 60bb str r3, [r7, #8] SCB->AIRCR = reg_value; 80b86e2: 4a04 ldr r2, [pc, #16] ; (80b86f4 <__NVIC_SetPriorityGrouping+0x40>) 80b86e4: 68bb ldr r3, [r7, #8] 80b86e6: 60d3 str r3, [r2, #12] } 80b86e8: bf00 nop 80b86ea: 3714 adds r7, #20 80b86ec: 46bd mov sp, r7 80b86ee: f85d 7b04 ldr.w r7, [sp], #4 80b86f2: 4770 bx lr 80b86f4: e000ed00 .word 0xe000ed00 80b86f8: 05fa0000 .word 0x05fa0000 080b86fc <__NVIC_GetPriorityGrouping>: { 80b86fc: b480 push {r7} 80b86fe: af00 add r7, sp, #0 return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); 80b8700: 4b04 ldr r3, [pc, #16] ; (80b8714 <__NVIC_GetPriorityGrouping+0x18>) 80b8702: 68db ldr r3, [r3, #12] 80b8704: 0a1b lsrs r3, r3, #8 80b8706: f003 0307 and.w r3, r3, #7 } 80b870a: 4618 mov r0, r3 80b870c: 46bd mov sp, r7 80b870e: f85d 7b04 ldr.w r7, [sp], #4 80b8712: 4770 bx lr 80b8714: e000ed00 .word 0xe000ed00 080b8718 <__NVIC_EnableIRQ>: { 80b8718: b480 push {r7} 80b871a: b083 sub sp, #12 80b871c: af00 add r7, sp, #0 80b871e: 4603 mov r3, r0 80b8720: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) 80b8722: f997 3007 ldrsb.w r3, [r7, #7] 80b8726: 2b00 cmp r3, #0 80b8728: db0b blt.n 80b8742 <__NVIC_EnableIRQ+0x2a> NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 80b872a: 4909 ldr r1, [pc, #36] ; (80b8750 <__NVIC_EnableIRQ+0x38>) 80b872c: f997 3007 ldrsb.w r3, [r7, #7] 80b8730: 095b lsrs r3, r3, #5 80b8732: 79fa ldrb r2, [r7, #7] 80b8734: f002 021f and.w r2, r2, #31 80b8738: 2001 movs r0, #1 80b873a: fa00 f202 lsl.w r2, r0, r2 80b873e: f841 2023 str.w r2, [r1, r3, lsl #2] } 80b8742: bf00 nop 80b8744: 370c adds r7, #12 80b8746: 46bd mov sp, r7 80b8748: f85d 7b04 ldr.w r7, [sp], #4 80b874c: 4770 bx lr 80b874e: bf00 nop 80b8750: e000e100 .word 0xe000e100 080b8754 <__NVIC_DisableIRQ>: { 80b8754: b480 push {r7} 80b8756: b083 sub sp, #12 80b8758: af00 add r7, sp, #0 80b875a: 4603 mov r3, r0 80b875c: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) 80b875e: f997 3007 ldrsb.w r3, [r7, #7] 80b8762: 2b00 cmp r3, #0 80b8764: db10 blt.n 80b8788 <__NVIC_DisableIRQ+0x34> NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 80b8766: 490b ldr r1, [pc, #44] ; (80b8794 <__NVIC_DisableIRQ+0x40>) 80b8768: f997 3007 ldrsb.w r3, [r7, #7] 80b876c: 095b lsrs r3, r3, #5 80b876e: 79fa ldrb r2, [r7, #7] 80b8770: f002 021f and.w r2, r2, #31 80b8774: 2001 movs r0, #1 80b8776: fa00 f202 lsl.w r2, r0, r2 80b877a: 3320 adds r3, #32 80b877c: f841 2023 str.w r2, [r1, r3, lsl #2] __ASM volatile ("dsb 0xF":::"memory"); 80b8780: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80b8784: f3bf 8f6f isb sy } 80b8788: bf00 nop 80b878a: 370c adds r7, #12 80b878c: 46bd mov sp, r7 80b878e: f85d 7b04 ldr.w r7, [sp], #4 80b8792: 4770 bx lr 80b8794: e000e100 .word 0xe000e100 080b8798 <__NVIC_SetPriority>: { 80b8798: b480 push {r7} 80b879a: b083 sub sp, #12 80b879c: af00 add r7, sp, #0 80b879e: 4603 mov r3, r0 80b87a0: 6039 str r1, [r7, #0] 80b87a2: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) 80b87a4: f997 3007 ldrsb.w r3, [r7, #7] 80b87a8: 2b00 cmp r3, #0 80b87aa: db0a blt.n 80b87c2 <__NVIC_SetPriority+0x2a> NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); 80b87ac: 490d ldr r1, [pc, #52] ; (80b87e4 <__NVIC_SetPriority+0x4c>) 80b87ae: f997 3007 ldrsb.w r3, [r7, #7] 80b87b2: 683a ldr r2, [r7, #0] 80b87b4: b2d2 uxtb r2, r2 80b87b6: 0112 lsls r2, r2, #4 80b87b8: b2d2 uxtb r2, r2 80b87ba: 440b add r3, r1 80b87bc: f883 2300 strb.w r2, [r3, #768] ; 0x300 } 80b87c0: e00a b.n 80b87d8 <__NVIC_SetPriority+0x40> SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); 80b87c2: 4909 ldr r1, [pc, #36] ; (80b87e8 <__NVIC_SetPriority+0x50>) 80b87c4: 79fb ldrb r3, [r7, #7] 80b87c6: f003 030f and.w r3, r3, #15 80b87ca: 3b04 subs r3, #4 80b87cc: 683a ldr r2, [r7, #0] 80b87ce: b2d2 uxtb r2, r2 80b87d0: 0112 lsls r2, r2, #4 80b87d2: b2d2 uxtb r2, r2 80b87d4: 440b add r3, r1 80b87d6: 761a strb r2, [r3, #24] } 80b87d8: bf00 nop 80b87da: 370c adds r7, #12 80b87dc: 46bd mov sp, r7 80b87de: f85d 7b04 ldr.w r7, [sp], #4 80b87e2: 4770 bx lr 80b87e4: e000e100 .word 0xe000e100 80b87e8: e000ed00 .word 0xe000ed00 080b87ec : { 80b87ec: b480 push {r7} 80b87ee: b089 sub sp, #36 ; 0x24 80b87f0: af00 add r7, sp, #0 80b87f2: 60f8 str r0, [r7, #12] 80b87f4: 60b9 str r1, [r7, #8] 80b87f6: 607a str r2, [r7, #4] uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ 80b87f8: 68fb ldr r3, [r7, #12] 80b87fa: f003 0307 and.w r3, r3, #7 80b87fe: 61fb str r3, [r7, #28] PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); 80b8800: 69fb ldr r3, [r7, #28] 80b8802: f1c3 0307 rsb r3, r3, #7 80b8806: 2b04 cmp r3, #4 80b8808: bf28 it cs 80b880a: 2304 movcs r3, #4 80b880c: 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)); 80b880e: 69fb ldr r3, [r7, #28] 80b8810: 3304 adds r3, #4 80b8812: 2b06 cmp r3, #6 80b8814: d902 bls.n 80b881c 80b8816: 69fb ldr r3, [r7, #28] 80b8818: 3b03 subs r3, #3 80b881a: e000 b.n 80b881e 80b881c: 2300 movs r3, #0 80b881e: 617b str r3, [r7, #20] ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | 80b8820: 2201 movs r2, #1 80b8822: 69bb ldr r3, [r7, #24] 80b8824: fa02 f303 lsl.w r3, r2, r3 80b8828: 1e5a subs r2, r3, #1 80b882a: 68bb ldr r3, [r7, #8] 80b882c: 401a ands r2, r3 80b882e: 697b ldr r3, [r7, #20] 80b8830: 409a lsls r2, r3 ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) 80b8832: 2101 movs r1, #1 80b8834: 697b ldr r3, [r7, #20] 80b8836: fa01 f303 lsl.w r3, r1, r3 80b883a: 1e59 subs r1, r3, #1 80b883c: 687b ldr r3, [r7, #4] 80b883e: 400b ands r3, r1 ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | 80b8840: 4313 orrs r3, r2 } 80b8842: 4618 mov r0, r3 80b8844: 3724 adds r7, #36 ; 0x24 80b8846: 46bd mov sp, r7 80b8848: f85d 7b04 ldr.w r7, [sp], #4 80b884c: 4770 bx lr ... 080b8850 <__NVIC_SystemReset>: { 80b8850: b480 push {r7} 80b8852: af00 add r7, sp, #0 __ASM volatile ("dsb 0xF":::"memory"); 80b8854: f3bf 8f4f dsb sy SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | 80b8858: 4905 ldr r1, [pc, #20] ; (80b8870 <__NVIC_SystemReset+0x20>) (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | 80b885a: 4b05 ldr r3, [pc, #20] ; (80b8870 <__NVIC_SystemReset+0x20>) 80b885c: 68db ldr r3, [r3, #12] 80b885e: f403 62e0 and.w r2, r3, #1792 ; 0x700 SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | 80b8862: 4b04 ldr r3, [pc, #16] ; (80b8874 <__NVIC_SystemReset+0x24>) 80b8864: 4313 orrs r3, r2 80b8866: 60cb str r3, [r1, #12] 80b8868: f3bf 8f4f dsb sy __NOP(); 80b886c: bf00 nop 80b886e: e7fd b.n 80b886c <__NVIC_SystemReset+0x1c> 80b8870: e000ed00 .word 0xe000ed00 80b8874: 05fa0004 .word 0x05fa0004 080b8878 : \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) { 80b8878: b580 push {r7, lr} 80b887a: b082 sub sp, #8 80b887c: af00 add r7, sp, #0 80b887e: 6078 str r0, [r7, #4] if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) 80b8880: 687b ldr r3, [r7, #4] 80b8882: 3b01 subs r3, #1 80b8884: f1b3 7f80 cmp.w r3, #16777216 ; 0x1000000 80b8888: d301 bcc.n 80b888e { return (1UL); /* Reload value impossible */ 80b888a: 2301 movs r3, #1 80b888c: e00f b.n 80b88ae } SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ 80b888e: 4a0a ldr r2, [pc, #40] ; (80b88b8 ) 80b8890: 687b ldr r3, [r7, #4] 80b8892: 3b01 subs r3, #1 80b8894: 6053 str r3, [r2, #4] NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ 80b8896: 210f movs r1, #15 80b8898: f04f 30ff mov.w r0, #4294967295 80b889c: f7ff ff7c bl 80b8798 <__NVIC_SetPriority> SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ 80b88a0: 4b05 ldr r3, [pc, #20] ; (80b88b8 ) 80b88a2: 2200 movs r2, #0 80b88a4: 609a str r2, [r3, #8] SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | 80b88a6: 4b04 ldr r3, [pc, #16] ; (80b88b8 ) 80b88a8: 2207 movs r2, #7 80b88aa: 601a str r2, [r3, #0] SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ return (0UL); /* Function successful */ 80b88ac: 2300 movs r3, #0 } 80b88ae: 4618 mov r0, r3 80b88b0: 3708 adds r7, #8 80b88b2: 46bd mov sp, r7 80b88b4: bd80 pop {r7, pc} 80b88b6: bf00 nop 80b88b8: e000e010 .word 0xe000e010 080b88bc : * @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) { 80b88bc: b580 push {r7, lr} 80b88be: b082 sub sp, #8 80b88c0: af00 add r7, sp, #0 80b88c2: 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); 80b88c4: 6878 ldr r0, [r7, #4] 80b88c6: f7ff fef5 bl 80b86b4 <__NVIC_SetPriorityGrouping> } 80b88ca: bf00 nop 80b88cc: 3708 adds r7, #8 80b88ce: 46bd mov sp, r7 80b88d0: bd80 pop {r7, pc} 080b88d2 : * 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) { 80b88d2: b580 push {r7, lr} 80b88d4: b086 sub sp, #24 80b88d6: af00 add r7, sp, #0 80b88d8: 4603 mov r3, r0 80b88da: 60b9 str r1, [r7, #8] 80b88dc: 607a str r2, [r7, #4] 80b88de: 73fb strb r3, [r7, #15] uint32_t prioritygroup = 0x00; 80b88e0: 2300 movs r3, #0 80b88e2: 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(); 80b88e4: f7ff ff0a bl 80b86fc <__NVIC_GetPriorityGrouping> 80b88e8: 6178 str r0, [r7, #20] NVIC_SetPriority(IRQn, NVIC_EncodePriority(prioritygroup, PreemptPriority, SubPriority)); 80b88ea: 687a ldr r2, [r7, #4] 80b88ec: 68b9 ldr r1, [r7, #8] 80b88ee: 6978 ldr r0, [r7, #20] 80b88f0: f7ff ff7c bl 80b87ec 80b88f4: 4602 mov r2, r0 80b88f6: f997 300f ldrsb.w r3, [r7, #15] 80b88fa: 4611 mov r1, r2 80b88fc: 4618 mov r0, r3 80b88fe: f7ff ff4b bl 80b8798 <__NVIC_SetPriority> } 80b8902: bf00 nop 80b8904: 3718 adds r7, #24 80b8906: 46bd mov sp, r7 80b8908: bd80 pop {r7, pc} 080b890a : * 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) { 80b890a: b580 push {r7, lr} 80b890c: b082 sub sp, #8 80b890e: af00 add r7, sp, #0 80b8910: 4603 mov r3, r0 80b8912: 71fb strb r3, [r7, #7] /* Check the parameters */ assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); /* Enable interrupt */ NVIC_EnableIRQ(IRQn); 80b8914: f997 3007 ldrsb.w r3, [r7, #7] 80b8918: 4618 mov r0, r3 80b891a: f7ff fefd bl 80b8718 <__NVIC_EnableIRQ> } 80b891e: bf00 nop 80b8920: 3708 adds r7, #8 80b8922: 46bd mov sp, r7 80b8924: bd80 pop {r7, pc} 080b8926 : * 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) { 80b8926: b580 push {r7, lr} 80b8928: b082 sub sp, #8 80b892a: af00 add r7, sp, #0 80b892c: 4603 mov r3, r0 80b892e: 71fb strb r3, [r7, #7] /* Check the parameters */ assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); /* Disable interrupt */ NVIC_DisableIRQ(IRQn); 80b8930: f997 3007 ldrsb.w r3, [r7, #7] 80b8934: 4618 mov r0, r3 80b8936: f7ff ff0d bl 80b8754 <__NVIC_DisableIRQ> } 80b893a: bf00 nop 80b893c: 3708 adds r7, #8 80b893e: 46bd mov sp, r7 80b8940: bd80 pop {r7, pc} 080b8942 : /** * @brief Initiates a system reset request to reset the MCU. * @retval None */ void HAL_NVIC_SystemReset(void) { 80b8942: b580 push {r7, lr} 80b8944: af00 add r7, sp, #0 /* System Reset */ NVIC_SystemReset(); 80b8946: f7ff ff83 bl 80b8850 <__NVIC_SystemReset> 080b894a : * @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) { 80b894a: b580 push {r7, lr} 80b894c: b082 sub sp, #8 80b894e: af00 add r7, sp, #0 80b8950: 6078 str r0, [r7, #4] return SysTick_Config(TicksNumb); 80b8952: 6878 ldr r0, [r7, #4] 80b8954: f7ff ff90 bl 80b8878 80b8958: 4603 mov r3, r0 } 80b895a: 4618 mov r0, r3 80b895c: 3708 adds r7, #8 80b895e: 46bd mov sp, r7 80b8960: bd80 pop {r7, pc} ... 080b8964 : /** * @brief Disables the MPU * @retval None */ void HAL_MPU_Disable(void) { 80b8964: b480 push {r7} 80b8966: 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"); 80b8968: f3bf 8f5f dmb sy /* Make sure outstanding transfers are done */ __DMB(); /* Disable fault exceptions */ SCB->SHCSR &= ~SCB_SHCSR_MEMFAULTENA_Msk; 80b896c: 4a06 ldr r2, [pc, #24] ; (80b8988 ) 80b896e: 4b06 ldr r3, [pc, #24] ; (80b8988 ) 80b8970: 6a5b ldr r3, [r3, #36] ; 0x24 80b8972: f423 3380 bic.w r3, r3, #65536 ; 0x10000 80b8976: 6253 str r3, [r2, #36] ; 0x24 /* Disable the MPU and clear the control register*/ MPU->CTRL = 0; 80b8978: 4b04 ldr r3, [pc, #16] ; (80b898c ) 80b897a: 2200 movs r2, #0 80b897c: 605a str r2, [r3, #4] } 80b897e: bf00 nop 80b8980: 46bd mov sp, r7 80b8982: f85d 7b04 ldr.w r7, [sp], #4 80b8986: 4770 bx lr 80b8988: e000ed00 .word 0xe000ed00 80b898c: e000ed90 .word 0xe000ed90 080b8990 : * @arg MPU_PRIVILEGED_DEFAULT * @arg MPU_HFNMI_PRIVDEF * @retval None */ void HAL_MPU_Enable(uint32_t MPU_Control) { 80b8990: b480 push {r7} 80b8992: b083 sub sp, #12 80b8994: af00 add r7, sp, #0 80b8996: 6078 str r0, [r7, #4] /* Enable the MPU */ MPU->CTRL = MPU_Control | MPU_CTRL_ENABLE_Msk; 80b8998: 4a0a ldr r2, [pc, #40] ; (80b89c4 ) 80b899a: 687b ldr r3, [r7, #4] 80b899c: f043 0301 orr.w r3, r3, #1 80b89a0: 6053 str r3, [r2, #4] /* Enable fault exceptions */ SCB->SHCSR |= SCB_SHCSR_MEMFAULTENA_Msk; 80b89a2: 4a09 ldr r2, [pc, #36] ; (80b89c8 ) 80b89a4: 4b08 ldr r3, [pc, #32] ; (80b89c8 ) 80b89a6: 6a5b ldr r3, [r3, #36] ; 0x24 80b89a8: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b89ac: 6253 str r3, [r2, #36] ; 0x24 __ASM volatile ("dsb 0xF":::"memory"); 80b89ae: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80b89b2: f3bf 8f6f isb sy /* Ensure MPU setting take effects */ __DSB(); __ISB(); } 80b89b6: bf00 nop 80b89b8: 370c adds r7, #12 80b89ba: 46bd mov sp, r7 80b89bc: f85d 7b04 ldr.w r7, [sp], #4 80b89c0: 4770 bx lr 80b89c2: bf00 nop 80b89c4: e000ed90 .word 0xe000ed90 80b89c8: e000ed00 .word 0xe000ed00 080b89cc : * @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) { 80b89cc: b480 push {r7} 80b89ce: b083 sub sp, #12 80b89d0: af00 add r7, sp, #0 80b89d2: 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; 80b89d4: 4a1e ldr r2, [pc, #120] ; (80b8a50 ) 80b89d6: 687b ldr r3, [r7, #4] 80b89d8: 785b ldrb r3, [r3, #1] 80b89da: 6093 str r3, [r2, #8] if ((MPU_Init->Enable) != RESET) 80b89dc: 687b ldr r3, [r7, #4] 80b89de: 781b ldrb r3, [r3, #0] 80b89e0: 2b00 cmp r3, #0 80b89e2: d028 beq.n 80b8a36 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; 80b89e4: 4a1a ldr r2, [pc, #104] ; (80b8a50 ) 80b89e6: 687b ldr r3, [r7, #4] 80b89e8: 685b ldr r3, [r3, #4] 80b89ea: 60d3 str r3, [r2, #12] MPU->RASR = ((uint32_t)MPU_Init->DisableExec << MPU_RASR_XN_Pos) | 80b89ec: 4918 ldr r1, [pc, #96] ; (80b8a50 ) 80b89ee: 687b ldr r3, [r7, #4] 80b89f0: 7b1b ldrb r3, [r3, #12] 80b89f2: 071a lsls r2, r3, #28 ((uint32_t)MPU_Init->AccessPermission << MPU_RASR_AP_Pos) | 80b89f4: 687b ldr r3, [r7, #4] 80b89f6: 7adb ldrb r3, [r3, #11] 80b89f8: 061b lsls r3, r3, #24 MPU->RASR = ((uint32_t)MPU_Init->DisableExec << MPU_RASR_XN_Pos) | 80b89fa: 431a orrs r2, r3 ((uint32_t)MPU_Init->TypeExtField << MPU_RASR_TEX_Pos) | 80b89fc: 687b ldr r3, [r7, #4] 80b89fe: 7a9b ldrb r3, [r3, #10] 80b8a00: 04db lsls r3, r3, #19 ((uint32_t)MPU_Init->AccessPermission << MPU_RASR_AP_Pos) | 80b8a02: 431a orrs r2, r3 ((uint32_t)MPU_Init->IsShareable << MPU_RASR_S_Pos) | 80b8a04: 687b ldr r3, [r7, #4] 80b8a06: 7b5b ldrb r3, [r3, #13] 80b8a08: 049b lsls r3, r3, #18 ((uint32_t)MPU_Init->TypeExtField << MPU_RASR_TEX_Pos) | 80b8a0a: 431a orrs r2, r3 ((uint32_t)MPU_Init->IsCacheable << MPU_RASR_C_Pos) | 80b8a0c: 687b ldr r3, [r7, #4] 80b8a0e: 7b9b ldrb r3, [r3, #14] 80b8a10: 045b lsls r3, r3, #17 ((uint32_t)MPU_Init->IsShareable << MPU_RASR_S_Pos) | 80b8a12: 431a orrs r2, r3 ((uint32_t)MPU_Init->IsBufferable << MPU_RASR_B_Pos) | 80b8a14: 687b ldr r3, [r7, #4] 80b8a16: 7bdb ldrb r3, [r3, #15] 80b8a18: 041b lsls r3, r3, #16 ((uint32_t)MPU_Init->IsCacheable << MPU_RASR_C_Pos) | 80b8a1a: 431a orrs r2, r3 ((uint32_t)MPU_Init->SubRegionDisable << MPU_RASR_SRD_Pos) | 80b8a1c: 687b ldr r3, [r7, #4] 80b8a1e: 7a5b ldrb r3, [r3, #9] 80b8a20: 021b lsls r3, r3, #8 ((uint32_t)MPU_Init->IsBufferable << MPU_RASR_B_Pos) | 80b8a22: 431a orrs r2, r3 ((uint32_t)MPU_Init->Size << MPU_RASR_SIZE_Pos) | 80b8a24: 687b ldr r3, [r7, #4] 80b8a26: 7a1b ldrb r3, [r3, #8] 80b8a28: 005b lsls r3, r3, #1 ((uint32_t)MPU_Init->SubRegionDisable << MPU_RASR_SRD_Pos) | 80b8a2a: 4313 orrs r3, r2 ((uint32_t)MPU_Init->Enable << MPU_RASR_ENABLE_Pos); 80b8a2c: 687a ldr r2, [r7, #4] 80b8a2e: 7812 ldrb r2, [r2, #0] ((uint32_t)MPU_Init->Size << MPU_RASR_SIZE_Pos) | 80b8a30: 4313 orrs r3, r2 MPU->RASR = ((uint32_t)MPU_Init->DisableExec << MPU_RASR_XN_Pos) | 80b8a32: 610b str r3, [r1, #16] else { MPU->RBAR = 0x00; MPU->RASR = 0x00; } } 80b8a34: e005 b.n 80b8a42 MPU->RBAR = 0x00; 80b8a36: 4b06 ldr r3, [pc, #24] ; (80b8a50 ) 80b8a38: 2200 movs r2, #0 80b8a3a: 60da str r2, [r3, #12] MPU->RASR = 0x00; 80b8a3c: 4b04 ldr r3, [pc, #16] ; (80b8a50 ) 80b8a3e: 2200 movs r2, #0 80b8a40: 611a str r2, [r3, #16] } 80b8a42: bf00 nop 80b8a44: 370c adds r7, #12 80b8a46: 46bd mov sp, r7 80b8a48: f85d 7b04 ldr.w r7, [sp], #4 80b8a4c: 4770 bx lr 80b8a4e: bf00 nop 80b8a50: e000ed90 .word 0xe000ed90 080b8a54 : * @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) { 80b8a54: b580 push {r7, lr} 80b8a56: b086 sub sp, #24 80b8a58: af00 add r7, sp, #0 80b8a5a: 6078 str r0, [r7, #4] uint32_t tmp = 0U; 80b8a5c: 2300 movs r3, #0 80b8a5e: 617b str r3, [r7, #20] uint32_t tickstart = HAL_GetTick(); 80b8a60: f7fe ffe0 bl 80b7a24 80b8a64: 6138 str r0, [r7, #16] DMA_Base_Registers *regs; /* Check the DMA peripheral state */ if(hdma == NULL) 80b8a66: 687b ldr r3, [r7, #4] 80b8a68: 2b00 cmp r3, #0 80b8a6a: d101 bne.n 80b8a70 { return HAL_ERROR; 80b8a6c: 2301 movs r3, #1 80b8a6e: e099 b.n 80b8ba4 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; 80b8a70: 687b ldr r3, [r7, #4] 80b8a72: 2202 movs r2, #2 80b8a74: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Allocate lock resource */ __HAL_UNLOCK(hdma); 80b8a78: 687b ldr r3, [r7, #4] 80b8a7a: 2200 movs r2, #0 80b8a7c: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Disable the peripheral */ __HAL_DMA_DISABLE(hdma); 80b8a80: 687b ldr r3, [r7, #4] 80b8a82: 681b ldr r3, [r3, #0] 80b8a84: 687a ldr r2, [r7, #4] 80b8a86: 6812 ldr r2, [r2, #0] 80b8a88: 6812 ldr r2, [r2, #0] 80b8a8a: f022 0201 bic.w r2, r2, #1 80b8a8e: 601a str r2, [r3, #0] /* Check if the DMA Stream is effectively disabled */ while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 80b8a90: e00f b.n 80b8ab2 { /* Check for the Timeout */ if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT) 80b8a92: f7fe ffc7 bl 80b7a24 80b8a96: 4602 mov r2, r0 80b8a98: 693b ldr r3, [r7, #16] 80b8a9a: 1ad3 subs r3, r2, r3 80b8a9c: 2b05 cmp r3, #5 80b8a9e: d908 bls.n 80b8ab2 { /* Update error code */ hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 80b8aa0: 687b ldr r3, [r7, #4] 80b8aa2: 2220 movs r2, #32 80b8aa4: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA state */ hdma->State = HAL_DMA_STATE_TIMEOUT; 80b8aa6: 687b ldr r3, [r7, #4] 80b8aa8: 2203 movs r2, #3 80b8aaa: f883 2035 strb.w r2, [r3, #53] ; 0x35 return HAL_TIMEOUT; 80b8aae: 2303 movs r3, #3 80b8ab0: e078 b.n 80b8ba4 while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 80b8ab2: 687b ldr r3, [r7, #4] 80b8ab4: 681b ldr r3, [r3, #0] 80b8ab6: 681b ldr r3, [r3, #0] 80b8ab8: f003 0301 and.w r3, r3, #1 80b8abc: 2b00 cmp r3, #0 80b8abe: d1e8 bne.n 80b8a92 } } /* Get the CR register value */ tmp = hdma->Instance->CR; 80b8ac0: 687b ldr r3, [r7, #4] 80b8ac2: 681b ldr r3, [r3, #0] 80b8ac4: 681b ldr r3, [r3, #0] 80b8ac6: 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 | \ 80b8ac8: 697a ldr r2, [r7, #20] 80b8aca: 4b38 ldr r3, [pc, #224] ; (80b8bac ) 80b8acc: 4013 ands r3, r2 80b8ace: 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 | 80b8ad0: 687b ldr r3, [r7, #4] 80b8ad2: 685a ldr r2, [r3, #4] 80b8ad4: 687b ldr r3, [r7, #4] 80b8ad6: 689b ldr r3, [r3, #8] 80b8ad8: 431a orrs r2, r3 hdma->Init.PeriphInc | hdma->Init.MemInc | 80b8ada: 687b ldr r3, [r7, #4] 80b8adc: 68db ldr r3, [r3, #12] tmp |= hdma->Init.Channel | hdma->Init.Direction | 80b8ade: 431a orrs r2, r3 hdma->Init.PeriphInc | hdma->Init.MemInc | 80b8ae0: 687b ldr r3, [r7, #4] 80b8ae2: 691b ldr r3, [r3, #16] 80b8ae4: 431a orrs r2, r3 hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 80b8ae6: 687b ldr r3, [r7, #4] 80b8ae8: 695b ldr r3, [r3, #20] hdma->Init.PeriphInc | hdma->Init.MemInc | 80b8aea: 431a orrs r2, r3 hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 80b8aec: 687b ldr r3, [r7, #4] 80b8aee: 699b ldr r3, [r3, #24] 80b8af0: 431a orrs r2, r3 hdma->Init.Mode | hdma->Init.Priority; 80b8af2: 687b ldr r3, [r7, #4] 80b8af4: 69db ldr r3, [r3, #28] hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 80b8af6: 431a orrs r2, r3 hdma->Init.Mode | hdma->Init.Priority; 80b8af8: 687b ldr r3, [r7, #4] 80b8afa: 6a1b ldr r3, [r3, #32] 80b8afc: 4313 orrs r3, r2 tmp |= hdma->Init.Channel | hdma->Init.Direction | 80b8afe: 697a ldr r2, [r7, #20] 80b8b00: 4313 orrs r3, r2 80b8b02: 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) 80b8b04: 687b ldr r3, [r7, #4] 80b8b06: 6a5b ldr r3, [r3, #36] ; 0x24 80b8b08: 2b04 cmp r3, #4 80b8b0a: d107 bne.n 80b8b1c { /* Get memory burst and peripheral burst */ tmp |= hdma->Init.MemBurst | hdma->Init.PeriphBurst; 80b8b0c: 687b ldr r3, [r7, #4] 80b8b0e: 6ada ldr r2, [r3, #44] ; 0x2c 80b8b10: 687b ldr r3, [r7, #4] 80b8b12: 6b1b ldr r3, [r3, #48] ; 0x30 80b8b14: 4313 orrs r3, r2 80b8b16: 697a ldr r2, [r7, #20] 80b8b18: 4313 orrs r3, r2 80b8b1a: 617b str r3, [r7, #20] } /* Write to DMA Stream CR register */ hdma->Instance->CR = tmp; 80b8b1c: 687b ldr r3, [r7, #4] 80b8b1e: 681b ldr r3, [r3, #0] 80b8b20: 697a ldr r2, [r7, #20] 80b8b22: 601a str r2, [r3, #0] /* Get the FCR register value */ tmp = hdma->Instance->FCR; 80b8b24: 687b ldr r3, [r7, #4] 80b8b26: 681b ldr r3, [r3, #0] 80b8b28: 695b ldr r3, [r3, #20] 80b8b2a: 617b str r3, [r7, #20] /* Clear Direct mode and FIFO threshold bits */ tmp &= (uint32_t)~(DMA_SxFCR_DMDIS | DMA_SxFCR_FTH); 80b8b2c: 697b ldr r3, [r7, #20] 80b8b2e: f023 0307 bic.w r3, r3, #7 80b8b32: 617b str r3, [r7, #20] /* Prepare the DMA Stream FIFO configuration */ tmp |= hdma->Init.FIFOMode; 80b8b34: 687b ldr r3, [r7, #4] 80b8b36: 6a5b ldr r3, [r3, #36] ; 0x24 80b8b38: 697a ldr r2, [r7, #20] 80b8b3a: 4313 orrs r3, r2 80b8b3c: 617b str r3, [r7, #20] /* The FIFO threshold is not used when the FIFO mode is disabled */ if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE) 80b8b3e: 687b ldr r3, [r7, #4] 80b8b40: 6a5b ldr r3, [r3, #36] ; 0x24 80b8b42: 2b04 cmp r3, #4 80b8b44: d117 bne.n 80b8b76 { /* Get the FIFO threshold */ tmp |= hdma->Init.FIFOThreshold; 80b8b46: 687b ldr r3, [r7, #4] 80b8b48: 6a9b ldr r3, [r3, #40] ; 0x28 80b8b4a: 697a ldr r2, [r7, #20] 80b8b4c: 4313 orrs r3, r2 80b8b4e: 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) 80b8b50: 687b ldr r3, [r7, #4] 80b8b52: 6adb ldr r3, [r3, #44] ; 0x2c 80b8b54: 2b00 cmp r3, #0 80b8b56: d00e beq.n 80b8b76 { if (DMA_CheckFifoParam(hdma) != HAL_OK) 80b8b58: 6878 ldr r0, [r7, #4] 80b8b5a: f000 fb81 bl 80b9260 80b8b5e: 4603 mov r3, r0 80b8b60: 2b00 cmp r3, #0 80b8b62: d008 beq.n 80b8b76 { /* Update error code */ hdma->ErrorCode = HAL_DMA_ERROR_PARAM; 80b8b64: 687b ldr r3, [r7, #4] 80b8b66: 2240 movs r2, #64 ; 0x40 80b8b68: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b8b6a: 687b ldr r3, [r7, #4] 80b8b6c: 2201 movs r2, #1 80b8b6e: f883 2035 strb.w r2, [r3, #53] ; 0x35 return HAL_ERROR; 80b8b72: 2301 movs r3, #1 80b8b74: e016 b.n 80b8ba4 } } } /* Write to DMA Stream FCR */ hdma->Instance->FCR = tmp; 80b8b76: 687b ldr r3, [r7, #4] 80b8b78: 681b ldr r3, [r3, #0] 80b8b7a: 697a ldr r2, [r7, #20] 80b8b7c: 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); 80b8b7e: 6878 ldr r0, [r7, #4] 80b8b80: f000 fb38 bl 80b91f4 80b8b84: 4603 mov r3, r0 80b8b86: 60fb str r3, [r7, #12] /* Clear all interrupt flags */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b8b88: 687b ldr r3, [r7, #4] 80b8b8a: 6ddb ldr r3, [r3, #92] ; 0x5c 80b8b8c: 223f movs r2, #63 ; 0x3f 80b8b8e: 409a lsls r2, r3 80b8b90: 68fb ldr r3, [r7, #12] 80b8b92: 609a str r2, [r3, #8] /* Initialize the error code */ hdma->ErrorCode = HAL_DMA_ERROR_NONE; 80b8b94: 687b ldr r3, [r7, #4] 80b8b96: 2200 movs r2, #0 80b8b98: 655a str r2, [r3, #84] ; 0x54 /* Initialize the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b8b9a: 687b ldr r3, [r7, #4] 80b8b9c: 2201 movs r2, #1 80b8b9e: f883 2035 strb.w r2, [r3, #53] ; 0x35 return HAL_OK; 80b8ba2: 2300 movs r3, #0 } 80b8ba4: 4618 mov r0, r3 80b8ba6: 3718 adds r7, #24 80b8ba8: 46bd mov sp, r7 80b8baa: bd80 pop {r7, pc} 80b8bac: e010803f .word 0xe010803f 080b8bb0 : * @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) { 80b8bb0: b580 push {r7, lr} 80b8bb2: b084 sub sp, #16 80b8bb4: af00 add r7, sp, #0 80b8bb6: 6078 str r0, [r7, #4] DMA_Base_Registers *regs; /* Check the DMA peripheral state */ if(hdma == NULL) 80b8bb8: 687b ldr r3, [r7, #4] 80b8bba: 2b00 cmp r3, #0 80b8bbc: d101 bne.n 80b8bc2 { return HAL_ERROR; 80b8bbe: 2301 movs r3, #1 80b8bc0: e050 b.n 80b8c64 } /* Check the DMA peripheral state */ if(hdma->State == HAL_DMA_STATE_BUSY) 80b8bc2: 687b ldr r3, [r7, #4] 80b8bc4: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b8bc8: b2db uxtb r3, r3 80b8bca: 2b02 cmp r3, #2 80b8bcc: d101 bne.n 80b8bd2 { /* Return error status */ return HAL_BUSY; 80b8bce: 2302 movs r3, #2 80b8bd0: e048 b.n 80b8c64 /* Check the parameters */ assert_param(IS_DMA_STREAM_ALL_INSTANCE(hdma->Instance)); /* Disable the selected DMA Streamx */ __HAL_DMA_DISABLE(hdma); 80b8bd2: 687b ldr r3, [r7, #4] 80b8bd4: 681b ldr r3, [r3, #0] 80b8bd6: 687a ldr r2, [r7, #4] 80b8bd8: 6812 ldr r2, [r2, #0] 80b8bda: 6812 ldr r2, [r2, #0] 80b8bdc: f022 0201 bic.w r2, r2, #1 80b8be0: 601a str r2, [r3, #0] /* Reset DMA Streamx control register */ hdma->Instance->CR = 0U; 80b8be2: 687b ldr r3, [r7, #4] 80b8be4: 681b ldr r3, [r3, #0] 80b8be6: 2200 movs r2, #0 80b8be8: 601a str r2, [r3, #0] /* Reset DMA Streamx number of data to transfer register */ hdma->Instance->NDTR = 0U; 80b8bea: 687b ldr r3, [r7, #4] 80b8bec: 681b ldr r3, [r3, #0] 80b8bee: 2200 movs r2, #0 80b8bf0: 605a str r2, [r3, #4] /* Reset DMA Streamx peripheral address register */ hdma->Instance->PAR = 0U; 80b8bf2: 687b ldr r3, [r7, #4] 80b8bf4: 681b ldr r3, [r3, #0] 80b8bf6: 2200 movs r2, #0 80b8bf8: 609a str r2, [r3, #8] /* Reset DMA Streamx memory 0 address register */ hdma->Instance->M0AR = 0U; 80b8bfa: 687b ldr r3, [r7, #4] 80b8bfc: 681b ldr r3, [r3, #0] 80b8bfe: 2200 movs r2, #0 80b8c00: 60da str r2, [r3, #12] /* Reset DMA Streamx memory 1 address register */ hdma->Instance->M1AR = 0U; 80b8c02: 687b ldr r3, [r7, #4] 80b8c04: 681b ldr r3, [r3, #0] 80b8c06: 2200 movs r2, #0 80b8c08: 611a str r2, [r3, #16] /* Reset DMA Streamx FIFO control register */ hdma->Instance->FCR = (uint32_t)0x00000021U; 80b8c0a: 687b ldr r3, [r7, #4] 80b8c0c: 681b ldr r3, [r3, #0] 80b8c0e: 2221 movs r2, #33 ; 0x21 80b8c10: 615a str r2, [r3, #20] /* Get DMA steam Base Address */ regs = (DMA_Base_Registers *)DMA_CalcBaseAndBitshift(hdma); 80b8c12: 6878 ldr r0, [r7, #4] 80b8c14: f000 faee bl 80b91f4 80b8c18: 4603 mov r3, r0 80b8c1a: 60fb str r3, [r7, #12] /* Clear all interrupt flags at correct offset within the register */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b8c1c: 687b ldr r3, [r7, #4] 80b8c1e: 6ddb ldr r3, [r3, #92] ; 0x5c 80b8c20: 223f movs r2, #63 ; 0x3f 80b8c22: 409a lsls r2, r3 80b8c24: 68fb ldr r3, [r7, #12] 80b8c26: 609a str r2, [r3, #8] /* Clean all callbacks */ hdma->XferCpltCallback = NULL; 80b8c28: 687b ldr r3, [r7, #4] 80b8c2a: 2200 movs r2, #0 80b8c2c: 63da str r2, [r3, #60] ; 0x3c hdma->XferHalfCpltCallback = NULL; 80b8c2e: 687b ldr r3, [r7, #4] 80b8c30: 2200 movs r2, #0 80b8c32: 641a str r2, [r3, #64] ; 0x40 hdma->XferM1CpltCallback = NULL; 80b8c34: 687b ldr r3, [r7, #4] 80b8c36: 2200 movs r2, #0 80b8c38: 645a str r2, [r3, #68] ; 0x44 hdma->XferM1HalfCpltCallback = NULL; 80b8c3a: 687b ldr r3, [r7, #4] 80b8c3c: 2200 movs r2, #0 80b8c3e: 649a str r2, [r3, #72] ; 0x48 hdma->XferErrorCallback = NULL; 80b8c40: 687b ldr r3, [r7, #4] 80b8c42: 2200 movs r2, #0 80b8c44: 64da str r2, [r3, #76] ; 0x4c hdma->XferAbortCallback = NULL; 80b8c46: 687b ldr r3, [r7, #4] 80b8c48: 2200 movs r2, #0 80b8c4a: 651a str r2, [r3, #80] ; 0x50 /* Reset the error code */ hdma->ErrorCode = HAL_DMA_ERROR_NONE; 80b8c4c: 687b ldr r3, [r7, #4] 80b8c4e: 2200 movs r2, #0 80b8c50: 655a str r2, [r3, #84] ; 0x54 /* Reset the DMA state */ hdma->State = HAL_DMA_STATE_RESET; 80b8c52: 687b ldr r3, [r7, #4] 80b8c54: 2200 movs r2, #0 80b8c56: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Release Lock */ __HAL_UNLOCK(hdma); 80b8c5a: 687b ldr r3, [r7, #4] 80b8c5c: 2200 movs r2, #0 80b8c5e: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_OK; 80b8c62: 2300 movs r3, #0 } 80b8c64: 4618 mov r0, r3 80b8c66: 3710 adds r7, #16 80b8c68: 46bd mov sp, r7 80b8c6a: bd80 pop {r7, pc} 080b8c6c : * @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) { 80b8c6c: b580 push {r7, lr} 80b8c6e: b086 sub sp, #24 80b8c70: af00 add r7, sp, #0 80b8c72: 60f8 str r0, [r7, #12] 80b8c74: 60b9 str r1, [r7, #8] 80b8c76: 607a str r2, [r7, #4] 80b8c78: 603b str r3, [r7, #0] HAL_StatusTypeDef status = HAL_OK; 80b8c7a: 2300 movs r3, #0 80b8c7c: 75fb strb r3, [r7, #23] /* calculate DMA base and stream number */ DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 80b8c7e: 68fb ldr r3, [r7, #12] 80b8c80: 6d9b ldr r3, [r3, #88] ; 0x58 80b8c82: 613b str r3, [r7, #16] /* Check the parameters */ assert_param(IS_DMA_BUFFER_SIZE(DataLength)); /* Process locked */ __HAL_LOCK(hdma); 80b8c84: 68fb ldr r3, [r7, #12] 80b8c86: f893 3034 ldrb.w r3, [r3, #52] ; 0x34 80b8c8a: 2b01 cmp r3, #1 80b8c8c: d101 bne.n 80b8c92 80b8c8e: 2302 movs r3, #2 80b8c90: e048 b.n 80b8d24 80b8c92: 68fb ldr r3, [r7, #12] 80b8c94: 2201 movs r2, #1 80b8c96: f883 2034 strb.w r2, [r3, #52] ; 0x34 if(HAL_DMA_STATE_READY == hdma->State) 80b8c9a: 68fb ldr r3, [r7, #12] 80b8c9c: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b8ca0: b2db uxtb r3, r3 80b8ca2: 2b01 cmp r3, #1 80b8ca4: d137 bne.n 80b8d16 { /* Change DMA peripheral state */ hdma->State = HAL_DMA_STATE_BUSY; 80b8ca6: 68fb ldr r3, [r7, #12] 80b8ca8: 2202 movs r2, #2 80b8caa: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Initialize the error code */ hdma->ErrorCode = HAL_DMA_ERROR_NONE; 80b8cae: 68fb ldr r3, [r7, #12] 80b8cb0: 2200 movs r2, #0 80b8cb2: 655a str r2, [r3, #84] ; 0x54 /* Configure the source, destination address and the data length */ DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength); 80b8cb4: 683b ldr r3, [r7, #0] 80b8cb6: 687a ldr r2, [r7, #4] 80b8cb8: 68b9 ldr r1, [r7, #8] 80b8cba: 68f8 ldr r0, [r7, #12] 80b8cbc: f000 fa6c bl 80b9198 /* Clear all interrupt flags at correct offset within the register */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b8cc0: 68fb ldr r3, [r7, #12] 80b8cc2: 6ddb ldr r3, [r3, #92] ; 0x5c 80b8cc4: 223f movs r2, #63 ; 0x3f 80b8cc6: 409a lsls r2, r3 80b8cc8: 693b ldr r3, [r7, #16] 80b8cca: 609a str r2, [r3, #8] /* Enable Common interrupts*/ hdma->Instance->CR |= DMA_IT_TC | DMA_IT_TE | DMA_IT_DME; 80b8ccc: 68fb ldr r3, [r7, #12] 80b8cce: 681b ldr r3, [r3, #0] 80b8cd0: 68fa ldr r2, [r7, #12] 80b8cd2: 6812 ldr r2, [r2, #0] 80b8cd4: 6812 ldr r2, [r2, #0] 80b8cd6: f042 0216 orr.w r2, r2, #22 80b8cda: 601a str r2, [r3, #0] hdma->Instance->FCR |= DMA_IT_FE; 80b8cdc: 68fb ldr r3, [r7, #12] 80b8cde: 681b ldr r3, [r3, #0] 80b8ce0: 68fa ldr r2, [r7, #12] 80b8ce2: 6812 ldr r2, [r2, #0] 80b8ce4: 6952 ldr r2, [r2, #20] 80b8ce6: f042 0280 orr.w r2, r2, #128 ; 0x80 80b8cea: 615a str r2, [r3, #20] if(hdma->XferHalfCpltCallback != NULL) 80b8cec: 68fb ldr r3, [r7, #12] 80b8cee: 6c1b ldr r3, [r3, #64] ; 0x40 80b8cf0: 2b00 cmp r3, #0 80b8cf2: d007 beq.n 80b8d04 { hdma->Instance->CR |= DMA_IT_HT; 80b8cf4: 68fb ldr r3, [r7, #12] 80b8cf6: 681b ldr r3, [r3, #0] 80b8cf8: 68fa ldr r2, [r7, #12] 80b8cfa: 6812 ldr r2, [r2, #0] 80b8cfc: 6812 ldr r2, [r2, #0] 80b8cfe: f042 0208 orr.w r2, r2, #8 80b8d02: 601a str r2, [r3, #0] } /* Enable the Peripheral */ __HAL_DMA_ENABLE(hdma); 80b8d04: 68fb ldr r3, [r7, #12] 80b8d06: 681b ldr r3, [r3, #0] 80b8d08: 68fa ldr r2, [r7, #12] 80b8d0a: 6812 ldr r2, [r2, #0] 80b8d0c: 6812 ldr r2, [r2, #0] 80b8d0e: f042 0201 orr.w r2, r2, #1 80b8d12: 601a str r2, [r3, #0] 80b8d14: e005 b.n 80b8d22 } else { /* Process unlocked */ __HAL_UNLOCK(hdma); 80b8d16: 68fb ldr r3, [r7, #12] 80b8d18: 2200 movs r2, #0 80b8d1a: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Return error status */ status = HAL_BUSY; 80b8d1e: 2302 movs r3, #2 80b8d20: 75fb strb r3, [r7, #23] } return status; 80b8d22: 7dfb ldrb r3, [r7, #23] } 80b8d24: 4618 mov r0, r3 80b8d26: 3718 adds r7, #24 80b8d28: 46bd mov sp, r7 80b8d2a: bd80 pop {r7, pc} 080b8d2c : * 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) { 80b8d2c: b580 push {r7, lr} 80b8d2e: b084 sub sp, #16 80b8d30: af00 add r7, sp, #0 80b8d32: 6078 str r0, [r7, #4] /* calculate DMA base and stream number */ DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 80b8d34: 687b ldr r3, [r7, #4] 80b8d36: 6d9b ldr r3, [r3, #88] ; 0x58 80b8d38: 60fb str r3, [r7, #12] uint32_t tickstart = HAL_GetTick(); 80b8d3a: f7fe fe73 bl 80b7a24 80b8d3e: 60b8 str r0, [r7, #8] if(hdma->State != HAL_DMA_STATE_BUSY) 80b8d40: 687b ldr r3, [r7, #4] 80b8d42: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b8d46: b2db uxtb r3, r3 80b8d48: 2b02 cmp r3, #2 80b8d4a: d008 beq.n 80b8d5e { hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 80b8d4c: 687b ldr r3, [r7, #4] 80b8d4e: 2280 movs r2, #128 ; 0x80 80b8d50: 655a str r2, [r3, #84] ; 0x54 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b8d52: 687b ldr r3, [r7, #4] 80b8d54: 2200 movs r2, #0 80b8d56: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_ERROR; 80b8d5a: 2301 movs r3, #1 80b8d5c: e052 b.n 80b8e04 } else { /* Disable all the transfer interrupts */ hdma->Instance->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME); 80b8d5e: 687b ldr r3, [r7, #4] 80b8d60: 681b ldr r3, [r3, #0] 80b8d62: 687a ldr r2, [r7, #4] 80b8d64: 6812 ldr r2, [r2, #0] 80b8d66: 6812 ldr r2, [r2, #0] 80b8d68: f022 0216 bic.w r2, r2, #22 80b8d6c: 601a str r2, [r3, #0] hdma->Instance->FCR &= ~(DMA_IT_FE); 80b8d6e: 687b ldr r3, [r7, #4] 80b8d70: 681b ldr r3, [r3, #0] 80b8d72: 687a ldr r2, [r7, #4] 80b8d74: 6812 ldr r2, [r2, #0] 80b8d76: 6952 ldr r2, [r2, #20] 80b8d78: f022 0280 bic.w r2, r2, #128 ; 0x80 80b8d7c: 615a str r2, [r3, #20] if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL)) 80b8d7e: 687b ldr r3, [r7, #4] 80b8d80: 6c1b ldr r3, [r3, #64] ; 0x40 80b8d82: 2b00 cmp r3, #0 80b8d84: d103 bne.n 80b8d8e 80b8d86: 687b ldr r3, [r7, #4] 80b8d88: 6c9b ldr r3, [r3, #72] ; 0x48 80b8d8a: 2b00 cmp r3, #0 80b8d8c: d007 beq.n 80b8d9e { hdma->Instance->CR &= ~(DMA_IT_HT); 80b8d8e: 687b ldr r3, [r7, #4] 80b8d90: 681b ldr r3, [r3, #0] 80b8d92: 687a ldr r2, [r7, #4] 80b8d94: 6812 ldr r2, [r2, #0] 80b8d96: 6812 ldr r2, [r2, #0] 80b8d98: f022 0208 bic.w r2, r2, #8 80b8d9c: 601a str r2, [r3, #0] } /* Disable the stream */ __HAL_DMA_DISABLE(hdma); 80b8d9e: 687b ldr r3, [r7, #4] 80b8da0: 681b ldr r3, [r3, #0] 80b8da2: 687a ldr r2, [r7, #4] 80b8da4: 6812 ldr r2, [r2, #0] 80b8da6: 6812 ldr r2, [r2, #0] 80b8da8: f022 0201 bic.w r2, r2, #1 80b8dac: 601a str r2, [r3, #0] /* Check if the DMA Stream is effectively disabled */ while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 80b8dae: e013 b.n 80b8dd8 { /* Check for the Timeout */ if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT) 80b8db0: f7fe fe38 bl 80b7a24 80b8db4: 4602 mov r2, r0 80b8db6: 68bb ldr r3, [r7, #8] 80b8db8: 1ad3 subs r3, r2, r3 80b8dba: 2b05 cmp r3, #5 80b8dbc: d90c bls.n 80b8dd8 { /* Update error code */ hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 80b8dbe: 687b ldr r3, [r7, #4] 80b8dc0: 2220 movs r2, #32 80b8dc2: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA state */ hdma->State = HAL_DMA_STATE_TIMEOUT; 80b8dc4: 687b ldr r3, [r7, #4] 80b8dc6: 2203 movs r2, #3 80b8dc8: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b8dcc: 687b ldr r3, [r7, #4] 80b8dce: 2200 movs r2, #0 80b8dd0: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_TIMEOUT; 80b8dd4: 2303 movs r3, #3 80b8dd6: e015 b.n 80b8e04 while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 80b8dd8: 687b ldr r3, [r7, #4] 80b8dda: 681b ldr r3, [r3, #0] 80b8ddc: 681b ldr r3, [r3, #0] 80b8dde: f003 0301 and.w r3, r3, #1 80b8de2: 2b00 cmp r3, #0 80b8de4: d1e4 bne.n 80b8db0 } } /* Clear all interrupt flags at correct offset within the register */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b8de6: 687b ldr r3, [r7, #4] 80b8de8: 6ddb ldr r3, [r3, #92] ; 0x5c 80b8dea: 223f movs r2, #63 ; 0x3f 80b8dec: 409a lsls r2, r3 80b8dee: 68fb ldr r3, [r7, #12] 80b8df0: 609a str r2, [r3, #8] /* Change the DMA state*/ hdma->State = HAL_DMA_STATE_READY; 80b8df2: 687b ldr r3, [r7, #4] 80b8df4: 2201 movs r2, #1 80b8df6: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b8dfa: 687b ldr r3, [r7, #4] 80b8dfc: 2200 movs r2, #0 80b8dfe: f883 2034 strb.w r2, [r3, #52] ; 0x34 } return HAL_OK; 80b8e02: 2300 movs r3, #0 } 80b8e04: 4618 mov r0, r3 80b8e06: 3710 adds r7, #16 80b8e08: 46bd mov sp, r7 80b8e0a: bd80 pop {r7, pc} 080b8e0c : * @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) { 80b8e0c: b480 push {r7} 80b8e0e: b083 sub sp, #12 80b8e10: af00 add r7, sp, #0 80b8e12: 6078 str r0, [r7, #4] if(hdma->State != HAL_DMA_STATE_BUSY) 80b8e14: 687b ldr r3, [r7, #4] 80b8e16: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b8e1a: b2db uxtb r3, r3 80b8e1c: 2b02 cmp r3, #2 80b8e1e: d004 beq.n 80b8e2a { hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 80b8e20: 687b ldr r3, [r7, #4] 80b8e22: 2280 movs r2, #128 ; 0x80 80b8e24: 655a str r2, [r3, #84] ; 0x54 return HAL_ERROR; 80b8e26: 2301 movs r3, #1 80b8e28: e00c b.n 80b8e44 } else { /* Set Abort State */ hdma->State = HAL_DMA_STATE_ABORT; 80b8e2a: 687b ldr r3, [r7, #4] 80b8e2c: 2205 movs r2, #5 80b8e2e: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Disable the stream */ __HAL_DMA_DISABLE(hdma); 80b8e32: 687b ldr r3, [r7, #4] 80b8e34: 681b ldr r3, [r3, #0] 80b8e36: 687a ldr r2, [r7, #4] 80b8e38: 6812 ldr r2, [r2, #0] 80b8e3a: 6812 ldr r2, [r2, #0] 80b8e3c: f022 0201 bic.w r2, r2, #1 80b8e40: 601a str r2, [r3, #0] } return HAL_OK; 80b8e42: 2300 movs r3, #0 } 80b8e44: 4618 mov r0, r3 80b8e46: 370c adds r7, #12 80b8e48: 46bd mov sp, r7 80b8e4a: f85d 7b04 ldr.w r7, [sp], #4 80b8e4e: 4770 bx lr 080b8e50 : * @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) { 80b8e50: b580 push {r7, lr} 80b8e52: b086 sub sp, #24 80b8e54: af00 add r7, sp, #0 80b8e56: 6078 str r0, [r7, #4] uint32_t tmpisr; __IO uint32_t count = 0; 80b8e58: 2300 movs r3, #0 80b8e5a: 60bb str r3, [r7, #8] uint32_t timeout = SystemCoreClock / 9600; 80b8e5c: 4b92 ldr r3, [pc, #584] ; (80b90a8 ) 80b8e5e: 681b ldr r3, [r3, #0] 80b8e60: 4a92 ldr r2, [pc, #584] ; (80b90ac ) 80b8e62: fba2 2303 umull r2, r3, r2, r3 80b8e66: 0a9b lsrs r3, r3, #10 80b8e68: 617b str r3, [r7, #20] /* calculate DMA base and stream number */ DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 80b8e6a: 687b ldr r3, [r7, #4] 80b8e6c: 6d9b ldr r3, [r3, #88] ; 0x58 80b8e6e: 613b str r3, [r7, #16] tmpisr = regs->ISR; 80b8e70: 693b ldr r3, [r7, #16] 80b8e72: 681b ldr r3, [r3, #0] 80b8e74: 60fb str r3, [r7, #12] /* Transfer Error Interrupt management ***************************************/ if ((tmpisr & (DMA_FLAG_TEIF0_4 << hdma->StreamIndex)) != RESET) 80b8e76: 687b ldr r3, [r7, #4] 80b8e78: 6ddb ldr r3, [r3, #92] ; 0x5c 80b8e7a: 2208 movs r2, #8 80b8e7c: 409a lsls r2, r3 80b8e7e: 68fb ldr r3, [r7, #12] 80b8e80: 4013 ands r3, r2 80b8e82: 2b00 cmp r3, #0 80b8e84: d01a beq.n 80b8ebc { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TE) != RESET) 80b8e86: 687b ldr r3, [r7, #4] 80b8e88: 681b ldr r3, [r3, #0] 80b8e8a: 681b ldr r3, [r3, #0] 80b8e8c: f003 0304 and.w r3, r3, #4 80b8e90: 2b00 cmp r3, #0 80b8e92: d013 beq.n 80b8ebc { /* Disable the transfer error interrupt */ hdma->Instance->CR &= ~(DMA_IT_TE); 80b8e94: 687b ldr r3, [r7, #4] 80b8e96: 681b ldr r3, [r3, #0] 80b8e98: 687a ldr r2, [r7, #4] 80b8e9a: 6812 ldr r2, [r2, #0] 80b8e9c: 6812 ldr r2, [r2, #0] 80b8e9e: f022 0204 bic.w r2, r2, #4 80b8ea2: 601a str r2, [r3, #0] /* Clear the transfer error flag */ regs->IFCR = DMA_FLAG_TEIF0_4 << hdma->StreamIndex; 80b8ea4: 687b ldr r3, [r7, #4] 80b8ea6: 6ddb ldr r3, [r3, #92] ; 0x5c 80b8ea8: 2208 movs r2, #8 80b8eaa: 409a lsls r2, r3 80b8eac: 693b ldr r3, [r7, #16] 80b8eae: 609a str r2, [r3, #8] /* Update error code */ hdma->ErrorCode |= HAL_DMA_ERROR_TE; 80b8eb0: 687b ldr r3, [r7, #4] 80b8eb2: 6d5b ldr r3, [r3, #84] ; 0x54 80b8eb4: f043 0201 orr.w r2, r3, #1 80b8eb8: 687b ldr r3, [r7, #4] 80b8eba: 655a str r2, [r3, #84] ; 0x54 } } /* FIFO Error Interrupt management ******************************************/ if ((tmpisr & (DMA_FLAG_FEIF0_4 << hdma->StreamIndex)) != RESET) 80b8ebc: 687b ldr r3, [r7, #4] 80b8ebe: 6ddb ldr r3, [r3, #92] ; 0x5c 80b8ec0: 2201 movs r2, #1 80b8ec2: 409a lsls r2, r3 80b8ec4: 68fb ldr r3, [r7, #12] 80b8ec6: 4013 ands r3, r2 80b8ec8: 2b00 cmp r3, #0 80b8eca: d012 beq.n 80b8ef2 { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_FE) != RESET) 80b8ecc: 687b ldr r3, [r7, #4] 80b8ece: 681b ldr r3, [r3, #0] 80b8ed0: 695b ldr r3, [r3, #20] 80b8ed2: f003 0380 and.w r3, r3, #128 ; 0x80 80b8ed6: 2b00 cmp r3, #0 80b8ed8: d00b beq.n 80b8ef2 { /* Clear the FIFO error flag */ regs->IFCR = DMA_FLAG_FEIF0_4 << hdma->StreamIndex; 80b8eda: 687b ldr r3, [r7, #4] 80b8edc: 6ddb ldr r3, [r3, #92] ; 0x5c 80b8ede: 2201 movs r2, #1 80b8ee0: 409a lsls r2, r3 80b8ee2: 693b ldr r3, [r7, #16] 80b8ee4: 609a str r2, [r3, #8] /* Update error code */ hdma->ErrorCode |= HAL_DMA_ERROR_FE; 80b8ee6: 687b ldr r3, [r7, #4] 80b8ee8: 6d5b ldr r3, [r3, #84] ; 0x54 80b8eea: f043 0202 orr.w r2, r3, #2 80b8eee: 687b ldr r3, [r7, #4] 80b8ef0: 655a str r2, [r3, #84] ; 0x54 } } /* Direct Mode Error Interrupt management ***********************************/ if ((tmpisr & (DMA_FLAG_DMEIF0_4 << hdma->StreamIndex)) != RESET) 80b8ef2: 687b ldr r3, [r7, #4] 80b8ef4: 6ddb ldr r3, [r3, #92] ; 0x5c 80b8ef6: 2204 movs r2, #4 80b8ef8: 409a lsls r2, r3 80b8efa: 68fb ldr r3, [r7, #12] 80b8efc: 4013 ands r3, r2 80b8efe: 2b00 cmp r3, #0 80b8f00: d012 beq.n 80b8f28 { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_DME) != RESET) 80b8f02: 687b ldr r3, [r7, #4] 80b8f04: 681b ldr r3, [r3, #0] 80b8f06: 681b ldr r3, [r3, #0] 80b8f08: f003 0302 and.w r3, r3, #2 80b8f0c: 2b00 cmp r3, #0 80b8f0e: d00b beq.n 80b8f28 { /* Clear the direct mode error flag */ regs->IFCR = DMA_FLAG_DMEIF0_4 << hdma->StreamIndex; 80b8f10: 687b ldr r3, [r7, #4] 80b8f12: 6ddb ldr r3, [r3, #92] ; 0x5c 80b8f14: 2204 movs r2, #4 80b8f16: 409a lsls r2, r3 80b8f18: 693b ldr r3, [r7, #16] 80b8f1a: 609a str r2, [r3, #8] /* Update error code */ hdma->ErrorCode |= HAL_DMA_ERROR_DME; 80b8f1c: 687b ldr r3, [r7, #4] 80b8f1e: 6d5b ldr r3, [r3, #84] ; 0x54 80b8f20: f043 0204 orr.w r2, r3, #4 80b8f24: 687b ldr r3, [r7, #4] 80b8f26: 655a str r2, [r3, #84] ; 0x54 } } /* Half Transfer Complete Interrupt management ******************************/ if ((tmpisr & (DMA_FLAG_HTIF0_4 << hdma->StreamIndex)) != RESET) 80b8f28: 687b ldr r3, [r7, #4] 80b8f2a: 6ddb ldr r3, [r3, #92] ; 0x5c 80b8f2c: 2210 movs r2, #16 80b8f2e: 409a lsls r2, r3 80b8f30: 68fb ldr r3, [r7, #12] 80b8f32: 4013 ands r3, r2 80b8f34: 2b00 cmp r3, #0 80b8f36: d043 beq.n 80b8fc0 { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_HT) != RESET) 80b8f38: 687b ldr r3, [r7, #4] 80b8f3a: 681b ldr r3, [r3, #0] 80b8f3c: 681b ldr r3, [r3, #0] 80b8f3e: f003 0308 and.w r3, r3, #8 80b8f42: 2b00 cmp r3, #0 80b8f44: d03c beq.n 80b8fc0 { /* Clear the half transfer complete flag */ regs->IFCR = DMA_FLAG_HTIF0_4 << hdma->StreamIndex; 80b8f46: 687b ldr r3, [r7, #4] 80b8f48: 6ddb ldr r3, [r3, #92] ; 0x5c 80b8f4a: 2210 movs r2, #16 80b8f4c: 409a lsls r2, r3 80b8f4e: 693b ldr r3, [r7, #16] 80b8f50: 609a str r2, [r3, #8] /* Multi_Buffering mode enabled */ if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET) 80b8f52: 687b ldr r3, [r7, #4] 80b8f54: 681b ldr r3, [r3, #0] 80b8f56: 681b ldr r3, [r3, #0] 80b8f58: f403 2380 and.w r3, r3, #262144 ; 0x40000 80b8f5c: 2b00 cmp r3, #0 80b8f5e: d018 beq.n 80b8f92 { /* Current memory buffer used is Memory 0 */ if((hdma->Instance->CR & DMA_SxCR_CT) == RESET) 80b8f60: 687b ldr r3, [r7, #4] 80b8f62: 681b ldr r3, [r3, #0] 80b8f64: 681b ldr r3, [r3, #0] 80b8f66: f403 2300 and.w r3, r3, #524288 ; 0x80000 80b8f6a: 2b00 cmp r3, #0 80b8f6c: d108 bne.n 80b8f80 { if(hdma->XferHalfCpltCallback != NULL) 80b8f6e: 687b ldr r3, [r7, #4] 80b8f70: 6c1b ldr r3, [r3, #64] ; 0x40 80b8f72: 2b00 cmp r3, #0 80b8f74: d024 beq.n 80b8fc0 { /* Half transfer callback */ hdma->XferHalfCpltCallback(hdma); 80b8f76: 687b ldr r3, [r7, #4] 80b8f78: 6c1b ldr r3, [r3, #64] ; 0x40 80b8f7a: 6878 ldr r0, [r7, #4] 80b8f7c: 4798 blx r3 80b8f7e: e01f b.n 80b8fc0 } } /* Current memory buffer used is Memory 1 */ else { if(hdma->XferM1HalfCpltCallback != NULL) 80b8f80: 687b ldr r3, [r7, #4] 80b8f82: 6c9b ldr r3, [r3, #72] ; 0x48 80b8f84: 2b00 cmp r3, #0 80b8f86: d01b beq.n 80b8fc0 { /* Half transfer callback */ hdma->XferM1HalfCpltCallback(hdma); 80b8f88: 687b ldr r3, [r7, #4] 80b8f8a: 6c9b ldr r3, [r3, #72] ; 0x48 80b8f8c: 6878 ldr r0, [r7, #4] 80b8f8e: 4798 blx r3 80b8f90: e016 b.n 80b8fc0 } } else { /* Disable the half transfer interrupt if the DMA mode is not CIRCULAR */ if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET) 80b8f92: 687b ldr r3, [r7, #4] 80b8f94: 681b ldr r3, [r3, #0] 80b8f96: 681b ldr r3, [r3, #0] 80b8f98: f403 7380 and.w r3, r3, #256 ; 0x100 80b8f9c: 2b00 cmp r3, #0 80b8f9e: d107 bne.n 80b8fb0 { /* Disable the half transfer interrupt */ hdma->Instance->CR &= ~(DMA_IT_HT); 80b8fa0: 687b ldr r3, [r7, #4] 80b8fa2: 681b ldr r3, [r3, #0] 80b8fa4: 687a ldr r2, [r7, #4] 80b8fa6: 6812 ldr r2, [r2, #0] 80b8fa8: 6812 ldr r2, [r2, #0] 80b8faa: f022 0208 bic.w r2, r2, #8 80b8fae: 601a str r2, [r3, #0] } if(hdma->XferHalfCpltCallback != NULL) 80b8fb0: 687b ldr r3, [r7, #4] 80b8fb2: 6c1b ldr r3, [r3, #64] ; 0x40 80b8fb4: 2b00 cmp r3, #0 80b8fb6: d003 beq.n 80b8fc0 { /* Half transfer callback */ hdma->XferHalfCpltCallback(hdma); 80b8fb8: 687b ldr r3, [r7, #4] 80b8fba: 6c1b ldr r3, [r3, #64] ; 0x40 80b8fbc: 6878 ldr r0, [r7, #4] 80b8fbe: 4798 blx r3 } } } } /* Transfer Complete Interrupt management ***********************************/ if ((tmpisr & (DMA_FLAG_TCIF0_4 << hdma->StreamIndex)) != RESET) 80b8fc0: 687b ldr r3, [r7, #4] 80b8fc2: 6ddb ldr r3, [r3, #92] ; 0x5c 80b8fc4: 2220 movs r2, #32 80b8fc6: 409a lsls r2, r3 80b8fc8: 68fb ldr r3, [r7, #12] 80b8fca: 4013 ands r3, r2 80b8fcc: 2b00 cmp r3, #0 80b8fce: f000 808e beq.w 80b90ee { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TC) != RESET) 80b8fd2: 687b ldr r3, [r7, #4] 80b8fd4: 681b ldr r3, [r3, #0] 80b8fd6: 681b ldr r3, [r3, #0] 80b8fd8: f003 0310 and.w r3, r3, #16 80b8fdc: 2b00 cmp r3, #0 80b8fde: f000 8086 beq.w 80b90ee { /* Clear the transfer complete flag */ regs->IFCR = DMA_FLAG_TCIF0_4 << hdma->StreamIndex; 80b8fe2: 687b ldr r3, [r7, #4] 80b8fe4: 6ddb ldr r3, [r3, #92] ; 0x5c 80b8fe6: 2220 movs r2, #32 80b8fe8: 409a lsls r2, r3 80b8fea: 693b ldr r3, [r7, #16] 80b8fec: 609a str r2, [r3, #8] if(HAL_DMA_STATE_ABORT == hdma->State) 80b8fee: 687b ldr r3, [r7, #4] 80b8ff0: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b8ff4: b2db uxtb r3, r3 80b8ff6: 2b05 cmp r3, #5 80b8ff8: d136 bne.n 80b9068 { /* Disable all the transfer interrupts */ hdma->Instance->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME); 80b8ffa: 687b ldr r3, [r7, #4] 80b8ffc: 681b ldr r3, [r3, #0] 80b8ffe: 687a ldr r2, [r7, #4] 80b9000: 6812 ldr r2, [r2, #0] 80b9002: 6812 ldr r2, [r2, #0] 80b9004: f022 0216 bic.w r2, r2, #22 80b9008: 601a str r2, [r3, #0] hdma->Instance->FCR &= ~(DMA_IT_FE); 80b900a: 687b ldr r3, [r7, #4] 80b900c: 681b ldr r3, [r3, #0] 80b900e: 687a ldr r2, [r7, #4] 80b9010: 6812 ldr r2, [r2, #0] 80b9012: 6952 ldr r2, [r2, #20] 80b9014: f022 0280 bic.w r2, r2, #128 ; 0x80 80b9018: 615a str r2, [r3, #20] if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL)) 80b901a: 687b ldr r3, [r7, #4] 80b901c: 6c1b ldr r3, [r3, #64] ; 0x40 80b901e: 2b00 cmp r3, #0 80b9020: d103 bne.n 80b902a 80b9022: 687b ldr r3, [r7, #4] 80b9024: 6c9b ldr r3, [r3, #72] ; 0x48 80b9026: 2b00 cmp r3, #0 80b9028: d007 beq.n 80b903a { hdma->Instance->CR &= ~(DMA_IT_HT); 80b902a: 687b ldr r3, [r7, #4] 80b902c: 681b ldr r3, [r3, #0] 80b902e: 687a ldr r2, [r7, #4] 80b9030: 6812 ldr r2, [r2, #0] 80b9032: 6812 ldr r2, [r2, #0] 80b9034: f022 0208 bic.w r2, r2, #8 80b9038: 601a str r2, [r3, #0] } /* Clear all interrupt flags at correct offset within the register */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b903a: 687b ldr r3, [r7, #4] 80b903c: 6ddb ldr r3, [r3, #92] ; 0x5c 80b903e: 223f movs r2, #63 ; 0x3f 80b9040: 409a lsls r2, r3 80b9042: 693b ldr r3, [r7, #16] 80b9044: 609a str r2, [r3, #8] /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b9046: 687b ldr r3, [r7, #4] 80b9048: 2201 movs r2, #1 80b904a: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b904e: 687b ldr r3, [r7, #4] 80b9050: 2200 movs r2, #0 80b9052: f883 2034 strb.w r2, [r3, #52] ; 0x34 if(hdma->XferAbortCallback != NULL) 80b9056: 687b ldr r3, [r7, #4] 80b9058: 6d1b ldr r3, [r3, #80] ; 0x50 80b905a: 2b00 cmp r3, #0 80b905c: d07d beq.n 80b915a { hdma->XferAbortCallback(hdma); 80b905e: 687b ldr r3, [r7, #4] 80b9060: 6d1b ldr r3, [r3, #80] ; 0x50 80b9062: 6878 ldr r0, [r7, #4] 80b9064: 4798 blx r3 } return; 80b9066: e078 b.n 80b915a } if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET) 80b9068: 687b ldr r3, [r7, #4] 80b906a: 681b ldr r3, [r3, #0] 80b906c: 681b ldr r3, [r3, #0] 80b906e: f403 2380 and.w r3, r3, #262144 ; 0x40000 80b9072: 2b00 cmp r3, #0 80b9074: d01c beq.n 80b90b0 { /* Current memory buffer used is Memory 0 */ if((hdma->Instance->CR & DMA_SxCR_CT) == RESET) 80b9076: 687b ldr r3, [r7, #4] 80b9078: 681b ldr r3, [r3, #0] 80b907a: 681b ldr r3, [r3, #0] 80b907c: f403 2300 and.w r3, r3, #524288 ; 0x80000 80b9080: 2b00 cmp r3, #0 80b9082: d108 bne.n 80b9096 { if(hdma->XferM1CpltCallback != NULL) 80b9084: 687b ldr r3, [r7, #4] 80b9086: 6c5b ldr r3, [r3, #68] ; 0x44 80b9088: 2b00 cmp r3, #0 80b908a: d030 beq.n 80b90ee { /* Transfer complete Callback for memory1 */ hdma->XferM1CpltCallback(hdma); 80b908c: 687b ldr r3, [r7, #4] 80b908e: 6c5b ldr r3, [r3, #68] ; 0x44 80b9090: 6878 ldr r0, [r7, #4] 80b9092: 4798 blx r3 80b9094: e02b b.n 80b90ee } } /* Current memory buffer used is Memory 1 */ else { if(hdma->XferCpltCallback != NULL) 80b9096: 687b ldr r3, [r7, #4] 80b9098: 6bdb ldr r3, [r3, #60] ; 0x3c 80b909a: 2b00 cmp r3, #0 80b909c: d027 beq.n 80b90ee { /* Transfer complete Callback for memory0 */ hdma->XferCpltCallback(hdma); 80b909e: 687b ldr r3, [r7, #4] 80b90a0: 6bdb ldr r3, [r3, #60] ; 0x3c 80b90a2: 6878 ldr r0, [r7, #4] 80b90a4: 4798 blx r3 80b90a6: e022 b.n 80b90ee 80b90a8: 200209bc .word 0x200209bc 80b90ac: 1b4e81b5 .word 0x1b4e81b5 } } /* Disable the transfer complete interrupt if the DMA mode is not CIRCULAR */ else { if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET) 80b90b0: 687b ldr r3, [r7, #4] 80b90b2: 681b ldr r3, [r3, #0] 80b90b4: 681b ldr r3, [r3, #0] 80b90b6: f403 7380 and.w r3, r3, #256 ; 0x100 80b90ba: 2b00 cmp r3, #0 80b90bc: d10f bne.n 80b90de { /* Disable the transfer complete interrupt */ hdma->Instance->CR &= ~(DMA_IT_TC); 80b90be: 687b ldr r3, [r7, #4] 80b90c0: 681b ldr r3, [r3, #0] 80b90c2: 687a ldr r2, [r7, #4] 80b90c4: 6812 ldr r2, [r2, #0] 80b90c6: 6812 ldr r2, [r2, #0] 80b90c8: f022 0210 bic.w r2, r2, #16 80b90cc: 601a str r2, [r3, #0] /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b90ce: 687b ldr r3, [r7, #4] 80b90d0: 2201 movs r2, #1 80b90d2: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b90d6: 687b ldr r3, [r7, #4] 80b90d8: 2200 movs r2, #0 80b90da: f883 2034 strb.w r2, [r3, #52] ; 0x34 } if(hdma->XferCpltCallback != NULL) 80b90de: 687b ldr r3, [r7, #4] 80b90e0: 6bdb ldr r3, [r3, #60] ; 0x3c 80b90e2: 2b00 cmp r3, #0 80b90e4: d003 beq.n 80b90ee { /* Transfer complete callback */ hdma->XferCpltCallback(hdma); 80b90e6: 687b ldr r3, [r7, #4] 80b90e8: 6bdb ldr r3, [r3, #60] ; 0x3c 80b90ea: 6878 ldr r0, [r7, #4] 80b90ec: 4798 blx r3 } } } /* manage error case */ if(hdma->ErrorCode != HAL_DMA_ERROR_NONE) 80b90ee: 687b ldr r3, [r7, #4] 80b90f0: 6d5b ldr r3, [r3, #84] ; 0x54 80b90f2: 2b00 cmp r3, #0 80b90f4: d032 beq.n 80b915c { if((hdma->ErrorCode & HAL_DMA_ERROR_TE) != RESET) 80b90f6: 687b ldr r3, [r7, #4] 80b90f8: 6d5b ldr r3, [r3, #84] ; 0x54 80b90fa: f003 0301 and.w r3, r3, #1 80b90fe: 2b00 cmp r3, #0 80b9100: d022 beq.n 80b9148 { hdma->State = HAL_DMA_STATE_ABORT; 80b9102: 687b ldr r3, [r7, #4] 80b9104: 2205 movs r2, #5 80b9106: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Disable the stream */ __HAL_DMA_DISABLE(hdma); 80b910a: 687b ldr r3, [r7, #4] 80b910c: 681b ldr r3, [r3, #0] 80b910e: 687a ldr r2, [r7, #4] 80b9110: 6812 ldr r2, [r2, #0] 80b9112: 6812 ldr r2, [r2, #0] 80b9114: f022 0201 bic.w r2, r2, #1 80b9118: 601a str r2, [r3, #0] do { if (++count > timeout) 80b911a: 68bb ldr r3, [r7, #8] 80b911c: 3301 adds r3, #1 80b911e: 60bb str r3, [r7, #8] 80b9120: 697a ldr r2, [r7, #20] 80b9122: 4293 cmp r3, r2 80b9124: d807 bhi.n 80b9136 { break; } } while((hdma->Instance->CR & DMA_SxCR_EN) != RESET); 80b9126: 687b ldr r3, [r7, #4] 80b9128: 681b ldr r3, [r3, #0] 80b912a: 681b ldr r3, [r3, #0] 80b912c: f003 0301 and.w r3, r3, #1 80b9130: 2b00 cmp r3, #0 80b9132: d1f2 bne.n 80b911a 80b9134: e000 b.n 80b9138 break; 80b9136: bf00 nop /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b9138: 687b ldr r3, [r7, #4] 80b913a: 2201 movs r2, #1 80b913c: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b9140: 687b ldr r3, [r7, #4] 80b9142: 2200 movs r2, #0 80b9144: f883 2034 strb.w r2, [r3, #52] ; 0x34 } if(hdma->XferErrorCallback != NULL) 80b9148: 687b ldr r3, [r7, #4] 80b914a: 6cdb ldr r3, [r3, #76] ; 0x4c 80b914c: 2b00 cmp r3, #0 80b914e: d005 beq.n 80b915c { /* Transfer error callback */ hdma->XferErrorCallback(hdma); 80b9150: 687b ldr r3, [r7, #4] 80b9152: 6cdb ldr r3, [r3, #76] ; 0x4c 80b9154: 6878 ldr r0, [r7, #4] 80b9156: 4798 blx r3 80b9158: e000 b.n 80b915c return; 80b915a: bf00 nop } } } 80b915c: 3718 adds r7, #24 80b915e: 46bd mov sp, r7 80b9160: bd80 pop {r7, pc} 80b9162: bf00 nop 080b9164 : * @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) { 80b9164: b480 push {r7} 80b9166: b083 sub sp, #12 80b9168: af00 add r7, sp, #0 80b916a: 6078 str r0, [r7, #4] return hdma->State; 80b916c: 687b ldr r3, [r7, #4] 80b916e: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b9172: b2db uxtb r3, r3 } 80b9174: 4618 mov r0, r3 80b9176: 370c adds r7, #12 80b9178: 46bd mov sp, r7 80b917a: f85d 7b04 ldr.w r7, [sp], #4 80b917e: 4770 bx lr 080b9180 : * @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) { 80b9180: b480 push {r7} 80b9182: b083 sub sp, #12 80b9184: af00 add r7, sp, #0 80b9186: 6078 str r0, [r7, #4] return hdma->ErrorCode; 80b9188: 687b ldr r3, [r7, #4] 80b918a: 6d5b ldr r3, [r3, #84] ; 0x54 } 80b918c: 4618 mov r0, r3 80b918e: 370c adds r7, #12 80b9190: 46bd mov sp, r7 80b9192: f85d 7b04 ldr.w r7, [sp], #4 80b9196: 4770 bx lr 080b9198 : * @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) { 80b9198: b480 push {r7} 80b919a: b085 sub sp, #20 80b919c: af00 add r7, sp, #0 80b919e: 60f8 str r0, [r7, #12] 80b91a0: 60b9 str r1, [r7, #8] 80b91a2: 607a str r2, [r7, #4] 80b91a4: 603b str r3, [r7, #0] /* Clear DBM bit */ hdma->Instance->CR &= (uint32_t)(~DMA_SxCR_DBM); 80b91a6: 68fb ldr r3, [r7, #12] 80b91a8: 681b ldr r3, [r3, #0] 80b91aa: 68fa ldr r2, [r7, #12] 80b91ac: 6812 ldr r2, [r2, #0] 80b91ae: 6812 ldr r2, [r2, #0] 80b91b0: f422 2280 bic.w r2, r2, #262144 ; 0x40000 80b91b4: 601a str r2, [r3, #0] /* Configure DMA Stream data length */ hdma->Instance->NDTR = DataLength; 80b91b6: 68fb ldr r3, [r7, #12] 80b91b8: 681b ldr r3, [r3, #0] 80b91ba: 683a ldr r2, [r7, #0] 80b91bc: 605a str r2, [r3, #4] /* Memory to Peripheral */ if((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH) 80b91be: 68fb ldr r3, [r7, #12] 80b91c0: 689b ldr r3, [r3, #8] 80b91c2: 2b40 cmp r3, #64 ; 0x40 80b91c4: d108 bne.n 80b91d8 { /* Configure DMA Stream destination address */ hdma->Instance->PAR = DstAddress; 80b91c6: 68fb ldr r3, [r7, #12] 80b91c8: 681b ldr r3, [r3, #0] 80b91ca: 687a ldr r2, [r7, #4] 80b91cc: 609a str r2, [r3, #8] /* Configure DMA Stream source address */ hdma->Instance->M0AR = SrcAddress; 80b91ce: 68fb ldr r3, [r7, #12] 80b91d0: 681b ldr r3, [r3, #0] 80b91d2: 68ba ldr r2, [r7, #8] 80b91d4: 60da str r2, [r3, #12] hdma->Instance->PAR = SrcAddress; /* Configure DMA Stream destination address */ hdma->Instance->M0AR = DstAddress; } } 80b91d6: e007 b.n 80b91e8 hdma->Instance->PAR = SrcAddress; 80b91d8: 68fb ldr r3, [r7, #12] 80b91da: 681b ldr r3, [r3, #0] 80b91dc: 68ba ldr r2, [r7, #8] 80b91de: 609a str r2, [r3, #8] hdma->Instance->M0AR = DstAddress; 80b91e0: 68fb ldr r3, [r7, #12] 80b91e2: 681b ldr r3, [r3, #0] 80b91e4: 687a ldr r2, [r7, #4] 80b91e6: 60da str r2, [r3, #12] } 80b91e8: bf00 nop 80b91ea: 3714 adds r7, #20 80b91ec: 46bd mov sp, r7 80b91ee: f85d 7b04 ldr.w r7, [sp], #4 80b91f2: 4770 bx lr 080b91f4 : * @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) { 80b91f4: b480 push {r7} 80b91f6: b085 sub sp, #20 80b91f8: af00 add r7, sp, #0 80b91fa: 6078 str r0, [r7, #4] uint32_t stream_number = (((uint32_t)hdma->Instance & 0xFFU) - 16U) / 24U; 80b91fc: 687b ldr r3, [r7, #4] 80b91fe: 681b ldr r3, [r3, #0] 80b9200: b2db uxtb r3, r3 80b9202: 3b10 subs r3, #16 80b9204: 4a13 ldr r2, [pc, #76] ; (80b9254 ) 80b9206: fba2 2303 umull r2, r3, r2, r3 80b920a: 091b lsrs r3, r3, #4 80b920c: 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]; 80b920e: 4a12 ldr r2, [pc, #72] ; (80b9258 ) 80b9210: 68fb ldr r3, [r7, #12] 80b9212: 4413 add r3, r2 80b9214: 781b ldrb r3, [r3, #0] 80b9216: 461a mov r2, r3 80b9218: 687b ldr r3, [r7, #4] 80b921a: 65da str r2, [r3, #92] ; 0x5c if (stream_number > 3U) 80b921c: 68fb ldr r3, [r7, #12] 80b921e: 2b03 cmp r3, #3 80b9220: d908 bls.n 80b9234 { /* return pointer to HISR and HIFCR */ hdma->StreamBaseAddress = (((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU)) + 4U); 80b9222: 687b ldr r3, [r7, #4] 80b9224: 681b ldr r3, [r3, #0] 80b9226: 461a mov r2, r3 80b9228: 4b0c ldr r3, [pc, #48] ; (80b925c ) 80b922a: 4013 ands r3, r2 80b922c: 1d1a adds r2, r3, #4 80b922e: 687b ldr r3, [r7, #4] 80b9230: 659a str r2, [r3, #88] ; 0x58 80b9232: e006 b.n 80b9242 } else { /* return pointer to LISR and LIFCR */ hdma->StreamBaseAddress = ((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU)); 80b9234: 687b ldr r3, [r7, #4] 80b9236: 681b ldr r3, [r3, #0] 80b9238: 461a mov r2, r3 80b923a: 4b08 ldr r3, [pc, #32] ; (80b925c ) 80b923c: 4013 ands r3, r2 80b923e: 687a ldr r2, [r7, #4] 80b9240: 6593 str r3, [r2, #88] ; 0x58 } return hdma->StreamBaseAddress; 80b9242: 687b ldr r3, [r7, #4] 80b9244: 6d9b ldr r3, [r3, #88] ; 0x58 } 80b9246: 4618 mov r0, r3 80b9248: 3714 adds r7, #20 80b924a: 46bd mov sp, r7 80b924c: f85d 7b04 ldr.w r7, [sp], #4 80b9250: 4770 bx lr 80b9252: bf00 nop 80b9254: aaaaaaab .word 0xaaaaaaab 80b9258: 08106258 .word 0x08106258 80b925c: fffffc00 .word 0xfffffc00 080b9260 : * @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) { 80b9260: b480 push {r7} 80b9262: b085 sub sp, #20 80b9264: af00 add r7, sp, #0 80b9266: 6078 str r0, [r7, #4] HAL_StatusTypeDef status = HAL_OK; 80b9268: 2300 movs r3, #0 80b926a: 73fb strb r3, [r7, #15] uint32_t tmp = hdma->Init.FIFOThreshold; 80b926c: 687b ldr r3, [r7, #4] 80b926e: 6a9b ldr r3, [r3, #40] ; 0x28 80b9270: 60bb str r3, [r7, #8] /* Memory Data size equal to Byte */ if(hdma->Init.MemDataAlignment == DMA_MDATAALIGN_BYTE) 80b9272: 687b ldr r3, [r7, #4] 80b9274: 699b ldr r3, [r3, #24] 80b9276: 2b00 cmp r3, #0 80b9278: d11f bne.n 80b92ba { switch (tmp) 80b927a: 68bb ldr r3, [r7, #8] 80b927c: 2b03 cmp r3, #3 80b927e: d855 bhi.n 80b932c 80b9280: a201 add r2, pc, #4 ; (adr r2, 80b9288 ) 80b9282: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80b9286: bf00 nop 80b9288: 080b9299 .word 0x080b9299 80b928c: 080b92ab .word 0x080b92ab 80b9290: 080b9299 .word 0x080b9299 80b9294: 080b932d .word 0x080b932d { case DMA_FIFO_THRESHOLD_1QUARTERFULL: case DMA_FIFO_THRESHOLD_3QUARTERSFULL: if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) 80b9298: 687b ldr r3, [r7, #4] 80b929a: 6adb ldr r3, [r3, #44] ; 0x2c 80b929c: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80b92a0: 2b00 cmp r3, #0 80b92a2: d045 beq.n 80b9330 { status = HAL_ERROR; 80b92a4: 2301 movs r3, #1 80b92a6: 73fb strb r3, [r7, #15] } break; 80b92a8: e042 b.n 80b9330 case DMA_FIFO_THRESHOLD_HALFFULL: if (hdma->Init.MemBurst == DMA_MBURST_INC16) 80b92aa: 687b ldr r3, [r7, #4] 80b92ac: 6adb ldr r3, [r3, #44] ; 0x2c 80b92ae: f1b3 7fc0 cmp.w r3, #25165824 ; 0x1800000 80b92b2: d13f bne.n 80b9334 { status = HAL_ERROR; 80b92b4: 2301 movs r3, #1 80b92b6: 73fb strb r3, [r7, #15] } break; 80b92b8: e03c b.n 80b9334 break; } } /* Memory Data size equal to Half-Word */ else if (hdma->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD) 80b92ba: 687b ldr r3, [r7, #4] 80b92bc: 699b ldr r3, [r3, #24] 80b92be: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80b92c2: d121 bne.n 80b9308 { switch (tmp) 80b92c4: 68bb ldr r3, [r7, #8] 80b92c6: 2b03 cmp r3, #3 80b92c8: d836 bhi.n 80b9338 80b92ca: a201 add r2, pc, #4 ; (adr r2, 80b92d0 ) 80b92cc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80b92d0: 080b92e1 .word 0x080b92e1 80b92d4: 080b92e7 .word 0x080b92e7 80b92d8: 080b92e1 .word 0x080b92e1 80b92dc: 080b92f9 .word 0x080b92f9 { case DMA_FIFO_THRESHOLD_1QUARTERFULL: case DMA_FIFO_THRESHOLD_3QUARTERSFULL: status = HAL_ERROR; 80b92e0: 2301 movs r3, #1 80b92e2: 73fb strb r3, [r7, #15] break; 80b92e4: e02f b.n 80b9346 case DMA_FIFO_THRESHOLD_HALFFULL: if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) 80b92e6: 687b ldr r3, [r7, #4] 80b92e8: 6adb ldr r3, [r3, #44] ; 0x2c 80b92ea: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80b92ee: 2b00 cmp r3, #0 80b92f0: d024 beq.n 80b933c { status = HAL_ERROR; 80b92f2: 2301 movs r3, #1 80b92f4: 73fb strb r3, [r7, #15] } break; 80b92f6: e021 b.n 80b933c case DMA_FIFO_THRESHOLD_FULL: if (hdma->Init.MemBurst == DMA_MBURST_INC16) 80b92f8: 687b ldr r3, [r7, #4] 80b92fa: 6adb ldr r3, [r3, #44] ; 0x2c 80b92fc: f1b3 7fc0 cmp.w r3, #25165824 ; 0x1800000 80b9300: d11e bne.n 80b9340 { status = HAL_ERROR; 80b9302: 2301 movs r3, #1 80b9304: 73fb strb r3, [r7, #15] } break; 80b9306: e01b b.n 80b9340 } /* Memory Data size equal to Word */ else { switch (tmp) 80b9308: 68bb ldr r3, [r7, #8] 80b930a: 2b02 cmp r3, #2 80b930c: d902 bls.n 80b9314 80b930e: 2b03 cmp r3, #3 80b9310: d003 beq.n 80b931a { status = HAL_ERROR; } break; default: break; 80b9312: e018 b.n 80b9346 status = HAL_ERROR; 80b9314: 2301 movs r3, #1 80b9316: 73fb strb r3, [r7, #15] break; 80b9318: e015 b.n 80b9346 if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) 80b931a: 687b ldr r3, [r7, #4] 80b931c: 6adb ldr r3, [r3, #44] ; 0x2c 80b931e: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80b9322: 2b00 cmp r3, #0 80b9324: d00e beq.n 80b9344 status = HAL_ERROR; 80b9326: 2301 movs r3, #1 80b9328: 73fb strb r3, [r7, #15] break; 80b932a: e00b b.n 80b9344 break; 80b932c: bf00 nop 80b932e: e00a b.n 80b9346 break; 80b9330: bf00 nop 80b9332: e008 b.n 80b9346 break; 80b9334: bf00 nop 80b9336: e006 b.n 80b9346 break; 80b9338: bf00 nop 80b933a: e004 b.n 80b9346 break; 80b933c: bf00 nop 80b933e: e002 b.n 80b9346 break; 80b9340: bf00 nop 80b9342: e000 b.n 80b9346 break; 80b9344: bf00 nop } } return status; 80b9346: 7bfb ldrb r3, [r7, #15] } 80b9348: 4618 mov r0, r3 80b934a: 3714 adds r7, #20 80b934c: 46bd mov sp, r7 80b934e: f85d 7b04 ldr.w r7, [sp], #4 80b9352: 4770 bx lr 080b9354 : * @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) { 80b9354: b580 push {r7, lr} 80b9356: b082 sub sp, #8 80b9358: af00 add r7, sp, #0 80b935a: 6078 str r0, [r7, #4] /* Check the DMA2D peripheral state */ if (hdma2d == NULL) 80b935c: 687b ldr r3, [r7, #4] 80b935e: 2b00 cmp r3, #0 80b9360: d101 bne.n 80b9366 { return HAL_ERROR; 80b9362: 2301 movs r3, #1 80b9364: e049 b.n 80b93fa /* Init the low level hardware */ hdma2d->MspInitCallback(hdma2d); } #else if (hdma2d->State == HAL_DMA2D_STATE_RESET) 80b9366: 687b ldr r3, [r7, #4] 80b9368: f893 3051 ldrb.w r3, [r3, #81] ; 0x51 80b936c: b2db uxtb r3, r3 80b936e: 2b00 cmp r3, #0 80b9370: d106 bne.n 80b9380 { /* Allocate lock resource and initialize it */ hdma2d->Lock = HAL_UNLOCKED; 80b9372: 687b ldr r3, [r7, #4] 80b9374: 2200 movs r2, #0 80b9376: f883 2050 strb.w r2, [r3, #80] ; 0x50 /* Init the low level hardware */ HAL_DMA2D_MspInit(hdma2d); 80b937a: 6878 ldr r0, [r7, #4] 80b937c: f76a fc06 bl 8023b8c } #endif /* (USE_HAL_DMA2D_REGISTER_CALLBACKS) */ /* Change DMA2D peripheral state */ hdma2d->State = HAL_DMA2D_STATE_BUSY; 80b9380: 687b ldr r3, [r7, #4] 80b9382: 2202 movs r2, #2 80b9384: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* DMA2D CR register configuration -------------------------------------------*/ MODIFY_REG(hdma2d->Instance->CR, DMA2D_CR_MODE, hdma2d->Init.Mode); 80b9388: 687b ldr r3, [r7, #4] 80b938a: 681b ldr r3, [r3, #0] 80b938c: 687a ldr r2, [r7, #4] 80b938e: 6812 ldr r2, [r2, #0] 80b9390: 6812 ldr r2, [r2, #0] 80b9392: f422 3140 bic.w r1, r2, #196608 ; 0x30000 80b9396: 687a ldr r2, [r7, #4] 80b9398: 6852 ldr r2, [r2, #4] 80b939a: 430a orrs r2, r1 80b939c: 601a str r2, [r3, #0] /* DMA2D OPFCCR register configuration ---------------------------------------*/ MODIFY_REG(hdma2d->Instance->OPFCCR, DMA2D_OPFCCR_CM, hdma2d->Init.ColorMode); 80b939e: 687b ldr r3, [r7, #4] 80b93a0: 681b ldr r3, [r3, #0] 80b93a2: 687a ldr r2, [r7, #4] 80b93a4: 6812 ldr r2, [r2, #0] 80b93a6: 6b52 ldr r2, [r2, #52] ; 0x34 80b93a8: f022 0107 bic.w r1, r2, #7 80b93ac: 687a ldr r2, [r7, #4] 80b93ae: 6892 ldr r2, [r2, #8] 80b93b0: 430a orrs r2, r1 80b93b2: 635a str r2, [r3, #52] ; 0x34 /* DMA2D OOR register configuration ------------------------------------------*/ MODIFY_REG(hdma2d->Instance->OOR, DMA2D_OOR_LO, hdma2d->Init.OutputOffset); 80b93b4: 687b ldr r3, [r7, #4] 80b93b6: 681a ldr r2, [r3, #0] 80b93b8: 687b ldr r3, [r7, #4] 80b93ba: 681b ldr r3, [r3, #0] 80b93bc: 6c19 ldr r1, [r3, #64] ; 0x40 80b93be: 4b11 ldr r3, [pc, #68] ; (80b9404 ) 80b93c0: 400b ands r3, r1 80b93c2: 6879 ldr r1, [r7, #4] 80b93c4: 68c9 ldr r1, [r1, #12] 80b93c6: 430b orrs r3, r1 80b93c8: 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), 80b93ca: 687b ldr r3, [r7, #4] 80b93cc: 681b ldr r3, [r3, #0] 80b93ce: 687a ldr r2, [r7, #4] 80b93d0: 6812 ldr r2, [r2, #0] 80b93d2: 6b52 ldr r2, [r2, #52] ; 0x34 80b93d4: f422 1140 bic.w r1, r2, #3145728 ; 0x300000 80b93d8: 687a ldr r2, [r7, #4] 80b93da: 6912 ldr r2, [r2, #16] 80b93dc: 0510 lsls r0, r2, #20 80b93de: 687a ldr r2, [r7, #4] 80b93e0: 6952 ldr r2, [r2, #20] 80b93e2: 0552 lsls r2, r2, #21 80b93e4: 4302 orrs r2, r0 80b93e6: 430a orrs r2, r1 80b93e8: 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; 80b93ea: 687b ldr r3, [r7, #4] 80b93ec: 2200 movs r2, #0 80b93ee: 655a str r2, [r3, #84] ; 0x54 /* Initialize the DMA2D state*/ hdma2d->State = HAL_DMA2D_STATE_READY; 80b93f0: 687b ldr r3, [r7, #4] 80b93f2: 2201 movs r2, #1 80b93f4: f883 2051 strb.w r2, [r3, #81] ; 0x51 return HAL_OK; 80b93f8: 2300 movs r3, #0 } 80b93fa: 4618 mov r0, r3 80b93fc: 3708 adds r7, #8 80b93fe: 46bd mov sp, r7 80b9400: bd80 pop {r7, pc} 80b9402: bf00 nop 80b9404: ffffc000 .word 0xffffc000 080b9408 : * @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) { 80b9408: b580 push {r7, lr} 80b940a: b086 sub sp, #24 80b940c: af02 add r7, sp, #8 80b940e: 60f8 str r0, [r7, #12] 80b9410: 60b9 str r1, [r7, #8] 80b9412: 607a str r2, [r7, #4] 80b9414: 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); 80b9416: 68fb ldr r3, [r7, #12] 80b9418: f893 3050 ldrb.w r3, [r3, #80] ; 0x50 80b941c: 2b01 cmp r3, #1 80b941e: d101 bne.n 80b9424 80b9420: 2302 movs r3, #2 80b9422: e018 b.n 80b9456 80b9424: 68fb ldr r3, [r7, #12] 80b9426: 2201 movs r2, #1 80b9428: f883 2050 strb.w r2, [r3, #80] ; 0x50 /* Change DMA2D peripheral state */ hdma2d->State = HAL_DMA2D_STATE_BUSY; 80b942c: 68fb ldr r3, [r7, #12] 80b942e: 2202 movs r2, #2 80b9430: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Configure the source, destination address and the data size */ DMA2D_SetConfig(hdma2d, pdata, DstAddress, Width, Height); 80b9434: 69bb ldr r3, [r7, #24] 80b9436: 9300 str r3, [sp, #0] 80b9438: 683b ldr r3, [r7, #0] 80b943a: 687a ldr r2, [r7, #4] 80b943c: 68b9 ldr r1, [r7, #8] 80b943e: 68f8 ldr r0, [r7, #12] 80b9440: f000 f992 bl 80b9768 /* Enable the Peripheral */ __HAL_DMA2D_ENABLE(hdma2d); 80b9444: 68fb ldr r3, [r7, #12] 80b9446: 681b ldr r3, [r3, #0] 80b9448: 68fa ldr r2, [r7, #12] 80b944a: 6812 ldr r2, [r2, #0] 80b944c: 6812 ldr r2, [r2, #0] 80b944e: f042 0201 orr.w r2, r2, #1 80b9452: 601a str r2, [r3, #0] return HAL_OK; 80b9454: 2300 movs r3, #0 } 80b9456: 4618 mov r0, r3 80b9458: 3710 adds r7, #16 80b945a: 46bd mov sp, r7 80b945c: bd80 pop {r7, pc} 080b945e : * the configuration information for the DMA2D. * @param Timeout Timeout duration * @retval HAL status */ HAL_StatusTypeDef HAL_DMA2D_PollForTransfer(DMA2D_HandleTypeDef *hdma2d, uint32_t Timeout) { 80b945e: b580 push {r7, lr} 80b9460: b086 sub sp, #24 80b9462: af00 add r7, sp, #0 80b9464: 6078 str r0, [r7, #4] 80b9466: 6039 str r1, [r7, #0] uint32_t tickstart; uint32_t layer_start; __IO uint32_t isrflags = 0x0U; 80b9468: 2300 movs r3, #0 80b946a: 60fb str r3, [r7, #12] /* Polling for DMA2D transfer */ if ((hdma2d->Instance->CR & DMA2D_CR_START) != 0U) 80b946c: 687b ldr r3, [r7, #4] 80b946e: 681b ldr r3, [r3, #0] 80b9470: 681b ldr r3, [r3, #0] 80b9472: f003 0301 and.w r3, r3, #1 80b9476: 2b00 cmp r3, #0 80b9478: d056 beq.n 80b9528 { /* Get tick */ tickstart = HAL_GetTick(); 80b947a: f7fe fad3 bl 80b7a24 80b947e: 6178 str r0, [r7, #20] while (__HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_TC) == 0U) 80b9480: e04b b.n 80b951a { isrflags = READ_REG(hdma2d->Instance->ISR); 80b9482: 687b ldr r3, [r7, #4] 80b9484: 681b ldr r3, [r3, #0] 80b9486: 685b ldr r3, [r3, #4] 80b9488: 60fb str r3, [r7, #12] if ((isrflags & (DMA2D_FLAG_CE | DMA2D_FLAG_TE)) != 0U) 80b948a: 68fb ldr r3, [r7, #12] 80b948c: f003 0321 and.w r3, r3, #33 ; 0x21 80b9490: 2b00 cmp r3, #0 80b9492: d023 beq.n 80b94dc { if ((isrflags & DMA2D_FLAG_CE) != 0U) 80b9494: 68fb ldr r3, [r7, #12] 80b9496: f003 0320 and.w r3, r3, #32 80b949a: 2b00 cmp r3, #0 80b949c: d005 beq.n 80b94aa { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CE; 80b949e: 687b ldr r3, [r7, #4] 80b94a0: 6d5b ldr r3, [r3, #84] ; 0x54 80b94a2: f043 0202 orr.w r2, r3, #2 80b94a6: 687b ldr r3, [r7, #4] 80b94a8: 655a str r2, [r3, #84] ; 0x54 } if ((isrflags & DMA2D_FLAG_TE) != 0U) 80b94aa: 68fb ldr r3, [r7, #12] 80b94ac: f003 0301 and.w r3, r3, #1 80b94b0: 2b00 cmp r3, #0 80b94b2: d005 beq.n 80b94c0 { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TE; 80b94b4: 687b ldr r3, [r7, #4] 80b94b6: 6d5b ldr r3, [r3, #84] ; 0x54 80b94b8: f043 0201 orr.w r2, r3, #1 80b94bc: 687b ldr r3, [r7, #4] 80b94be: 655a str r2, [r3, #84] ; 0x54 } /* Clear the transfer and configuration error flags */ __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_CE | DMA2D_FLAG_TE); 80b94c0: 687b ldr r3, [r7, #4] 80b94c2: 681b ldr r3, [r3, #0] 80b94c4: 2221 movs r2, #33 ; 0x21 80b94c6: 609a str r2, [r3, #8] /* Change DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_ERROR; 80b94c8: 687b ldr r3, [r7, #4] 80b94ca: 2204 movs r2, #4 80b94cc: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b94d0: 687b ldr r3, [r7, #4] 80b94d2: 2200 movs r2, #0 80b94d4: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_ERROR; 80b94d8: 2301 movs r3, #1 80b94da: e0a5 b.n 80b9628 } /* Check for the Timeout */ if (Timeout != HAL_MAX_DELAY) 80b94dc: 683b ldr r3, [r7, #0] 80b94de: f1b3 3fff cmp.w r3, #4294967295 80b94e2: d01a beq.n 80b951a { if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U)) 80b94e4: f7fe fa9e bl 80b7a24 80b94e8: 4602 mov r2, r0 80b94ea: 697b ldr r3, [r7, #20] 80b94ec: 1ad2 subs r2, r2, r3 80b94ee: 683b ldr r3, [r7, #0] 80b94f0: 429a cmp r2, r3 80b94f2: d802 bhi.n 80b94fa 80b94f4: 683b ldr r3, [r7, #0] 80b94f6: 2b00 cmp r3, #0 80b94f8: d10f bne.n 80b951a { /* Update error code */ hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TIMEOUT; 80b94fa: 687b ldr r3, [r7, #4] 80b94fc: 6d5b ldr r3, [r3, #84] ; 0x54 80b94fe: f043 0220 orr.w r2, r3, #32 80b9502: 687b ldr r3, [r7, #4] 80b9504: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_TIMEOUT; 80b9506: 687b ldr r3, [r7, #4] 80b9508: 2203 movs r2, #3 80b950a: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b950e: 687b ldr r3, [r7, #4] 80b9510: 2200 movs r2, #0 80b9512: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_TIMEOUT; 80b9516: 2303 movs r3, #3 80b9518: e086 b.n 80b9628 while (__HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_TC) == 0U) 80b951a: 687b ldr r3, [r7, #4] 80b951c: 681b ldr r3, [r3, #0] 80b951e: 685b ldr r3, [r3, #4] 80b9520: f003 0302 and.w r3, r3, #2 80b9524: 2b00 cmp r3, #0 80b9526: d0ac beq.n 80b9482 } } } } /* Polling for CLUT loading (foreground or background) */ layer_start = hdma2d->Instance->FGPFCCR & DMA2D_FGPFCCR_START; 80b9528: 687b ldr r3, [r7, #4] 80b952a: 681b ldr r3, [r3, #0] 80b952c: 69db ldr r3, [r3, #28] 80b952e: f003 0320 and.w r3, r3, #32 80b9532: 613b str r3, [r7, #16] layer_start |= hdma2d->Instance->BGPFCCR & DMA2D_BGPFCCR_START; 80b9534: 687b ldr r3, [r7, #4] 80b9536: 681b ldr r3, [r3, #0] 80b9538: 6a5b ldr r3, [r3, #36] ; 0x24 80b953a: f003 0320 and.w r3, r3, #32 80b953e: 693a ldr r2, [r7, #16] 80b9540: 4313 orrs r3, r2 80b9542: 613b str r3, [r7, #16] if (layer_start != 0U) 80b9544: 693b ldr r3, [r7, #16] 80b9546: 2b00 cmp r3, #0 80b9548: d061 beq.n 80b960e { /* Get tick */ tickstart = HAL_GetTick(); 80b954a: f7fe fa6b bl 80b7a24 80b954e: 6178 str r0, [r7, #20] while (__HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_CTC) == 0U) 80b9550: e056 b.n 80b9600 { isrflags = READ_REG(hdma2d->Instance->ISR); 80b9552: 687b ldr r3, [r7, #4] 80b9554: 681b ldr r3, [r3, #0] 80b9556: 685b ldr r3, [r3, #4] 80b9558: 60fb str r3, [r7, #12] if ((isrflags & (DMA2D_FLAG_CAE | DMA2D_FLAG_CE | DMA2D_FLAG_TE)) != 0U) 80b955a: 68fb ldr r3, [r7, #12] 80b955c: f003 0329 and.w r3, r3, #41 ; 0x29 80b9560: 2b00 cmp r3, #0 80b9562: d02e beq.n 80b95c2 { if ((isrflags & DMA2D_FLAG_CAE) != 0U) 80b9564: 68fb ldr r3, [r7, #12] 80b9566: f003 0308 and.w r3, r3, #8 80b956a: 2b00 cmp r3, #0 80b956c: d005 beq.n 80b957a { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CAE; 80b956e: 687b ldr r3, [r7, #4] 80b9570: 6d5b ldr r3, [r3, #84] ; 0x54 80b9572: f043 0204 orr.w r2, r3, #4 80b9576: 687b ldr r3, [r7, #4] 80b9578: 655a str r2, [r3, #84] ; 0x54 } if ((isrflags & DMA2D_FLAG_CE) != 0U) 80b957a: 68fb ldr r3, [r7, #12] 80b957c: f003 0320 and.w r3, r3, #32 80b9580: 2b00 cmp r3, #0 80b9582: d005 beq.n 80b9590 { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CE; 80b9584: 687b ldr r3, [r7, #4] 80b9586: 6d5b ldr r3, [r3, #84] ; 0x54 80b9588: f043 0202 orr.w r2, r3, #2 80b958c: 687b ldr r3, [r7, #4] 80b958e: 655a str r2, [r3, #84] ; 0x54 } if ((isrflags & DMA2D_FLAG_TE) != 0U) 80b9590: 68fb ldr r3, [r7, #12] 80b9592: f003 0301 and.w r3, r3, #1 80b9596: 2b00 cmp r3, #0 80b9598: d005 beq.n 80b95a6 { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TE; 80b959a: 687b ldr r3, [r7, #4] 80b959c: 6d5b ldr r3, [r3, #84] ; 0x54 80b959e: f043 0201 orr.w r2, r3, #1 80b95a2: 687b ldr r3, [r7, #4] 80b95a4: 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); 80b95a6: 687b ldr r3, [r7, #4] 80b95a8: 681b ldr r3, [r3, #0] 80b95aa: 2229 movs r2, #41 ; 0x29 80b95ac: 609a str r2, [r3, #8] /* Change DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_ERROR; 80b95ae: 687b ldr r3, [r7, #4] 80b95b0: 2204 movs r2, #4 80b95b2: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b95b6: 687b ldr r3, [r7, #4] 80b95b8: 2200 movs r2, #0 80b95ba: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_ERROR; 80b95be: 2301 movs r3, #1 80b95c0: e032 b.n 80b9628 } /* Check for the Timeout */ if (Timeout != HAL_MAX_DELAY) 80b95c2: 683b ldr r3, [r7, #0] 80b95c4: f1b3 3fff cmp.w r3, #4294967295 80b95c8: d01a beq.n 80b9600 { if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U)) 80b95ca: f7fe fa2b bl 80b7a24 80b95ce: 4602 mov r2, r0 80b95d0: 697b ldr r3, [r7, #20] 80b95d2: 1ad2 subs r2, r2, r3 80b95d4: 683b ldr r3, [r7, #0] 80b95d6: 429a cmp r2, r3 80b95d8: d802 bhi.n 80b95e0 80b95da: 683b ldr r3, [r7, #0] 80b95dc: 2b00 cmp r3, #0 80b95de: d10f bne.n 80b9600 { /* Update error code */ hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TIMEOUT; 80b95e0: 687b ldr r3, [r7, #4] 80b95e2: 6d5b ldr r3, [r3, #84] ; 0x54 80b95e4: f043 0220 orr.w r2, r3, #32 80b95e8: 687b ldr r3, [r7, #4] 80b95ea: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_TIMEOUT; 80b95ec: 687b ldr r3, [r7, #4] 80b95ee: 2203 movs r2, #3 80b95f0: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b95f4: 687b ldr r3, [r7, #4] 80b95f6: 2200 movs r2, #0 80b95f8: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_TIMEOUT; 80b95fc: 2303 movs r3, #3 80b95fe: e013 b.n 80b9628 while (__HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_CTC) == 0U) 80b9600: 687b ldr r3, [r7, #4] 80b9602: 681b ldr r3, [r3, #0] 80b9604: 685b ldr r3, [r3, #4] 80b9606: f003 0310 and.w r3, r3, #16 80b960a: 2b00 cmp r3, #0 80b960c: d0a1 beq.n 80b9552 } } } /* Clear the transfer complete and CLUT loading flags */ __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_TC | DMA2D_FLAG_CTC); 80b960e: 687b ldr r3, [r7, #4] 80b9610: 681b ldr r3, [r3, #0] 80b9612: 2212 movs r2, #18 80b9614: 609a str r2, [r3, #8] /* Change DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_READY; 80b9616: 687b ldr r3, [r7, #4] 80b9618: 2201 movs r2, #1 80b961a: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b961e: 687b ldr r3, [r7, #4] 80b9620: 2200 movs r2, #0 80b9622: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_OK; 80b9626: 2300 movs r3, #0 } 80b9628: 4618 mov r0, r3 80b962a: 3718 adds r7, #24 80b962c: 46bd mov sp, r7 80b962e: bd80 pop {r7, pc} 080b9630 : * 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) { 80b9630: b480 push {r7} 80b9632: b087 sub sp, #28 80b9634: af00 add r7, sp, #0 80b9636: 6078 str r0, [r7, #4] 80b9638: 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) 80b963a: 687b ldr r3, [r7, #4] 80b963c: 685b ldr r3, [r3, #4] 80b963e: 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); 80b9642: 687b ldr r3, [r7, #4] 80b9644: f893 3050 ldrb.w r3, [r3, #80] ; 0x50 80b9648: 2b01 cmp r3, #1 80b964a: d101 bne.n 80b9650 80b964c: 2302 movs r3, #2 80b964e: e082 b.n 80b9756 80b9650: 687b ldr r3, [r7, #4] 80b9652: 2201 movs r2, #1 80b9654: f883 2050 strb.w r2, [r3, #80] ; 0x50 /* Change DMA2D peripheral state */ hdma2d->State = HAL_DMA2D_STATE_BUSY; 80b9658: 687b ldr r3, [r7, #4] 80b965a: 2202 movs r2, #2 80b965c: f883 2051 strb.w r2, [r3, #81] ; 0x51 pLayerCfg = &hdma2d->LayerCfg[LayerIdx]; 80b9660: 683a ldr r2, [r7, #0] 80b9662: 4613 mov r3, r2 80b9664: 005b lsls r3, r3, #1 80b9666: 4413 add r3, r2 80b9668: 00db lsls r3, r3, #3 80b966a: 3320 adds r3, #32 80b966c: 687a ldr r2, [r7, #4] 80b966e: 4413 add r3, r2 80b9670: 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) | \ 80b9672: 693b ldr r3, [r7, #16] 80b9674: 685a ldr r2, [r3, #4] 80b9676: 693b ldr r3, [r7, #16] 80b9678: 689b ldr r3, [r3, #8] 80b967a: 041b lsls r3, r3, #16 80b967c: 431a orrs r2, r3 (pLayerCfg->AlphaInverted << DMA2D_BGPFCCR_AI_Pos) | (pLayerCfg->RedBlueSwap << DMA2D_BGPFCCR_RBS_Pos); 80b967e: 693b ldr r3, [r7, #16] 80b9680: 691b ldr r3, [r3, #16] 80b9682: 051b lsls r3, r3, #20 regValue = pLayerCfg->InputColorMode | (pLayerCfg->AlphaMode << DMA2D_BGPFCCR_AM_Pos) | \ 80b9684: 431a orrs r2, r3 (pLayerCfg->AlphaInverted << DMA2D_BGPFCCR_AI_Pos) | (pLayerCfg->RedBlueSwap << DMA2D_BGPFCCR_RBS_Pos); 80b9686: 693b ldr r3, [r7, #16] 80b9688: 695b ldr r3, [r3, #20] 80b968a: 055b lsls r3, r3, #21 regValue = pLayerCfg->InputColorMode | (pLayerCfg->AlphaMode << DMA2D_BGPFCCR_AM_Pos) | \ 80b968c: 4313 orrs r3, r2 80b968e: 617b str r3, [r7, #20] regMask = (DMA2D_BGPFCCR_CM | DMA2D_BGPFCCR_AM | DMA2D_BGPFCCR_ALPHA | DMA2D_BGPFCCR_AI | DMA2D_BGPFCCR_RBS); 80b9690: 4b34 ldr r3, [pc, #208] ; (80b9764 ) 80b9692: 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)) 80b9694: 693b ldr r3, [r7, #16] 80b9696: 685b ldr r3, [r3, #4] 80b9698: 2b0a cmp r3, #10 80b969a: d003 beq.n 80b96a4 80b969c: 693b ldr r3, [r7, #16] 80b969e: 685b ldr r3, [r3, #4] 80b96a0: 2b09 cmp r3, #9 80b96a2: d107 bne.n 80b96b4 { regValue |= (pLayerCfg->InputAlpha & DMA2D_BGPFCCR_ALPHA); 80b96a4: 693b ldr r3, [r7, #16] 80b96a6: 68db ldr r3, [r3, #12] 80b96a8: f003 437f and.w r3, r3, #4278190080 ; 0xff000000 80b96ac: 697a ldr r2, [r7, #20] 80b96ae: 4313 orrs r3, r2 80b96b0: 617b str r3, [r7, #20] 80b96b2: e005 b.n 80b96c0 } else { regValue |= (pLayerCfg->InputAlpha << DMA2D_BGPFCCR_ALPHA_Pos); 80b96b4: 693b ldr r3, [r7, #16] 80b96b6: 68db ldr r3, [r3, #12] 80b96b8: 061b lsls r3, r3, #24 80b96ba: 697a ldr r2, [r7, #20] 80b96bc: 4313 orrs r3, r2 80b96be: 617b str r3, [r7, #20] } /* Configure the background DMA2D layer */ if (LayerIdx == DMA2D_BACKGROUND_LAYER) 80b96c0: 683b ldr r3, [r7, #0] 80b96c2: 2b00 cmp r3, #0 80b96c4: d11f bne.n 80b9706 { /* Write DMA2D BGPFCCR register */ MODIFY_REG(hdma2d->Instance->BGPFCCR, regMask, regValue); 80b96c6: 687b ldr r3, [r7, #4] 80b96c8: 681b ldr r3, [r3, #0] 80b96ca: 687a ldr r2, [r7, #4] 80b96cc: 6812 ldr r2, [r2, #0] 80b96ce: 6a51 ldr r1, [r2, #36] ; 0x24 80b96d0: 68fa ldr r2, [r7, #12] 80b96d2: 43d2 mvns r2, r2 80b96d4: 4011 ands r1, r2 80b96d6: 697a ldr r2, [r7, #20] 80b96d8: 430a orrs r2, r1 80b96da: 625a str r2, [r3, #36] ; 0x24 /* DMA2D BGOR register configuration -------------------------------------*/ WRITE_REG(hdma2d->Instance->BGOR, pLayerCfg->InputOffset); 80b96dc: 687b ldr r3, [r7, #4] 80b96de: 681b ldr r3, [r3, #0] 80b96e0: 693a ldr r2, [r7, #16] 80b96e2: 6812 ldr r2, [r2, #0] 80b96e4: 619a str r2, [r3, #24] /* DMA2D BGCOLR register configuration -------------------------------------*/ if ((pLayerCfg->InputColorMode == DMA2D_INPUT_A4) || (pLayerCfg->InputColorMode == DMA2D_INPUT_A8)) 80b96e6: 693b ldr r3, [r7, #16] 80b96e8: 685b ldr r3, [r3, #4] 80b96ea: 2b0a cmp r3, #10 80b96ec: d003 beq.n 80b96f6 80b96ee: 693b ldr r3, [r7, #16] 80b96f0: 685b ldr r3, [r3, #4] 80b96f2: 2b09 cmp r3, #9 80b96f4: d126 bne.n 80b9744 { WRITE_REG(hdma2d->Instance->BGCOLR, pLayerCfg->InputAlpha & (DMA2D_BGCOLR_BLUE | DMA2D_BGCOLR_GREEN | \ 80b96f6: 687b ldr r3, [r7, #4] 80b96f8: 681b ldr r3, [r3, #0] 80b96fa: 693a ldr r2, [r7, #16] 80b96fc: 68d2 ldr r2, [r2, #12] 80b96fe: f022 427f bic.w r2, r2, #4278190080 ; 0xff000000 80b9702: 629a str r2, [r3, #40] ; 0x28 80b9704: e01e b.n 80b9744 else { /* Write DMA2D FGPFCCR register */ MODIFY_REG(hdma2d->Instance->FGPFCCR, regMask, regValue); 80b9706: 687b ldr r3, [r7, #4] 80b9708: 681b ldr r3, [r3, #0] 80b970a: 687a ldr r2, [r7, #4] 80b970c: 6812 ldr r2, [r2, #0] 80b970e: 69d1 ldr r1, [r2, #28] 80b9710: 68fa ldr r2, [r7, #12] 80b9712: 43d2 mvns r2, r2 80b9714: 4011 ands r1, r2 80b9716: 697a ldr r2, [r7, #20] 80b9718: 430a orrs r2, r1 80b971a: 61da str r2, [r3, #28] /* DMA2D FGOR register configuration -------------------------------------*/ WRITE_REG(hdma2d->Instance->FGOR, pLayerCfg->InputOffset); 80b971c: 687b ldr r3, [r7, #4] 80b971e: 681b ldr r3, [r3, #0] 80b9720: 693a ldr r2, [r7, #16] 80b9722: 6812 ldr r2, [r2, #0] 80b9724: 611a str r2, [r3, #16] /* DMA2D FGCOLR register configuration -------------------------------------*/ if ((pLayerCfg->InputColorMode == DMA2D_INPUT_A4) || (pLayerCfg->InputColorMode == DMA2D_INPUT_A8)) 80b9726: 693b ldr r3, [r7, #16] 80b9728: 685b ldr r3, [r3, #4] 80b972a: 2b0a cmp r3, #10 80b972c: d003 beq.n 80b9736 80b972e: 693b ldr r3, [r7, #16] 80b9730: 685b ldr r3, [r3, #4] 80b9732: 2b09 cmp r3, #9 80b9734: d106 bne.n 80b9744 { WRITE_REG(hdma2d->Instance->FGCOLR, pLayerCfg->InputAlpha & (DMA2D_FGCOLR_BLUE | DMA2D_FGCOLR_GREEN | \ 80b9736: 687b ldr r3, [r7, #4] 80b9738: 681b ldr r3, [r3, #0] 80b973a: 693a ldr r2, [r7, #16] 80b973c: 68d2 ldr r2, [r2, #12] 80b973e: f022 427f bic.w r2, r2, #4278190080 ; 0xff000000 80b9742: 621a str r2, [r3, #32] DMA2D_FGCOLR_RED)); } } /* Initialize the DMA2D state*/ hdma2d->State = HAL_DMA2D_STATE_READY; 80b9744: 687b ldr r3, [r7, #4] 80b9746: 2201 movs r2, #1 80b9748: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b974c: 687b ldr r3, [r7, #4] 80b974e: 2200 movs r2, #0 80b9750: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_OK; 80b9754: 2300 movs r3, #0 } 80b9756: 4618 mov r0, r3 80b9758: 371c adds r7, #28 80b975a: 46bd mov sp, r7 80b975c: f85d 7b04 ldr.w r7, [sp], #4 80b9760: 4770 bx lr 80b9762: bf00 nop 80b9764: ff33000f .word 0xff33000f 080b9768 : * @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) { 80b9768: b480 push {r7} 80b976a: b08b sub sp, #44 ; 0x2c 80b976c: af00 add r7, sp, #0 80b976e: 60f8 str r0, [r7, #12] 80b9770: 60b9 str r1, [r7, #8] 80b9772: 607a str r2, [r7, #4] 80b9774: 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))); 80b9776: 68fb ldr r3, [r7, #12] 80b9778: 681b ldr r3, [r3, #0] 80b977a: 68fa ldr r2, [r7, #12] 80b977c: 6812 ldr r2, [r2, #0] 80b977e: 6c52 ldr r2, [r2, #68] ; 0x44 80b9780: f002 4140 and.w r1, r2, #3221225472 ; 0xc0000000 80b9784: 683a ldr r2, [r7, #0] 80b9786: 0410 lsls r0, r2, #16 80b9788: 6b3a ldr r2, [r7, #48] ; 0x30 80b978a: 4302 orrs r2, r0 80b978c: 430a orrs r2, r1 80b978e: 645a str r2, [r3, #68] ; 0x44 /* Configure DMA2D destination address */ WRITE_REG(hdma2d->Instance->OMAR, DstAddress); 80b9790: 68fb ldr r3, [r7, #12] 80b9792: 681b ldr r3, [r3, #0] 80b9794: 687a ldr r2, [r7, #4] 80b9796: 63da str r2, [r3, #60] ; 0x3c /* Register to memory DMA2D mode selected */ if (hdma2d->Init.Mode == DMA2D_R2M) 80b9798: 68fb ldr r3, [r7, #12] 80b979a: 685b ldr r3, [r3, #4] 80b979c: f5b3 3f40 cmp.w r3, #196608 ; 0x30000 80b97a0: d174 bne.n 80b988c { tmp1 = pdata & DMA2D_OCOLR_ALPHA_1; 80b97a2: 68bb ldr r3, [r7, #8] 80b97a4: f003 437f and.w r3, r3, #4278190080 ; 0xff000000 80b97a8: 623b str r3, [r7, #32] tmp2 = pdata & DMA2D_OCOLR_RED_1; 80b97aa: 68bb ldr r3, [r7, #8] 80b97ac: f403 037f and.w r3, r3, #16711680 ; 0xff0000 80b97b0: 61fb str r3, [r7, #28] tmp3 = pdata & DMA2D_OCOLR_GREEN_1; 80b97b2: 68bb ldr r3, [r7, #8] 80b97b4: f403 437f and.w r3, r3, #65280 ; 0xff00 80b97b8: 61bb str r3, [r7, #24] tmp4 = pdata & DMA2D_OCOLR_BLUE_1; 80b97ba: 68bb ldr r3, [r7, #8] 80b97bc: b2db uxtb r3, r3 80b97be: 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) 80b97c0: 68fb ldr r3, [r7, #12] 80b97c2: 689b ldr r3, [r3, #8] 80b97c4: 2b00 cmp r3, #0 80b97c6: d108 bne.n 80b97da { tmp = (tmp3 | tmp2 | tmp1 | tmp4); 80b97c8: 69ba ldr r2, [r7, #24] 80b97ca: 69fb ldr r3, [r7, #28] 80b97cc: 431a orrs r2, r3 80b97ce: 6a3b ldr r3, [r7, #32] 80b97d0: 431a orrs r2, r3 80b97d2: 697b ldr r3, [r7, #20] 80b97d4: 4313 orrs r3, r2 80b97d6: 627b str r3, [r7, #36] ; 0x24 80b97d8: e053 b.n 80b9882 } else if (hdma2d->Init.ColorMode == DMA2D_OUTPUT_RGB888) 80b97da: 68fb ldr r3, [r7, #12] 80b97dc: 689b ldr r3, [r3, #8] 80b97de: 2b01 cmp r3, #1 80b97e0: d106 bne.n 80b97f0 { tmp = (tmp3 | tmp2 | tmp4); 80b97e2: 69ba ldr r2, [r7, #24] 80b97e4: 69fb ldr r3, [r7, #28] 80b97e6: 431a orrs r2, r3 80b97e8: 697b ldr r3, [r7, #20] 80b97ea: 4313 orrs r3, r2 80b97ec: 627b str r3, [r7, #36] ; 0x24 80b97ee: e048 b.n 80b9882 } else if (hdma2d->Init.ColorMode == DMA2D_OUTPUT_RGB565) 80b97f0: 68fb ldr r3, [r7, #12] 80b97f2: 689b ldr r3, [r3, #8] 80b97f4: 2b02 cmp r3, #2 80b97f6: d111 bne.n 80b981c { tmp2 = (tmp2 >> 19U); 80b97f8: 69fb ldr r3, [r7, #28] 80b97fa: 0cdb lsrs r3, r3, #19 80b97fc: 61fb str r3, [r7, #28] tmp3 = (tmp3 >> 10U); 80b97fe: 69bb ldr r3, [r7, #24] 80b9800: 0a9b lsrs r3, r3, #10 80b9802: 61bb str r3, [r7, #24] tmp4 = (tmp4 >> 3U); 80b9804: 697b ldr r3, [r7, #20] 80b9806: 08db lsrs r3, r3, #3 80b9808: 617b str r3, [r7, #20] tmp = ((tmp3 << 5U) | (tmp2 << 11U) | tmp4); 80b980a: 69bb ldr r3, [r7, #24] 80b980c: 015a lsls r2, r3, #5 80b980e: 69fb ldr r3, [r7, #28] 80b9810: 02db lsls r3, r3, #11 80b9812: 431a orrs r2, r3 80b9814: 697b ldr r3, [r7, #20] 80b9816: 4313 orrs r3, r2 80b9818: 627b str r3, [r7, #36] ; 0x24 80b981a: e032 b.n 80b9882 } else if (hdma2d->Init.ColorMode == DMA2D_OUTPUT_ARGB1555) 80b981c: 68fb ldr r3, [r7, #12] 80b981e: 689b ldr r3, [r3, #8] 80b9820: 2b03 cmp r3, #3 80b9822: d117 bne.n 80b9854 { tmp1 = (tmp1 >> 31U); 80b9824: 6a3b ldr r3, [r7, #32] 80b9826: 0fdb lsrs r3, r3, #31 80b9828: 623b str r3, [r7, #32] tmp2 = (tmp2 >> 19U); 80b982a: 69fb ldr r3, [r7, #28] 80b982c: 0cdb lsrs r3, r3, #19 80b982e: 61fb str r3, [r7, #28] tmp3 = (tmp3 >> 11U); 80b9830: 69bb ldr r3, [r7, #24] 80b9832: 0adb lsrs r3, r3, #11 80b9834: 61bb str r3, [r7, #24] tmp4 = (tmp4 >> 3U); 80b9836: 697b ldr r3, [r7, #20] 80b9838: 08db lsrs r3, r3, #3 80b983a: 617b str r3, [r7, #20] tmp = ((tmp3 << 5U) | (tmp2 << 10U) | (tmp1 << 15U) | tmp4); 80b983c: 69bb ldr r3, [r7, #24] 80b983e: 015a lsls r2, r3, #5 80b9840: 69fb ldr r3, [r7, #28] 80b9842: 029b lsls r3, r3, #10 80b9844: 431a orrs r2, r3 80b9846: 6a3b ldr r3, [r7, #32] 80b9848: 03db lsls r3, r3, #15 80b984a: 431a orrs r2, r3 80b984c: 697b ldr r3, [r7, #20] 80b984e: 4313 orrs r3, r2 80b9850: 627b str r3, [r7, #36] ; 0x24 80b9852: e016 b.n 80b9882 } else /* Dhdma2d->Init.ColorMode = DMA2D_OUTPUT_ARGB4444 */ { tmp1 = (tmp1 >> 28U); 80b9854: 6a3b ldr r3, [r7, #32] 80b9856: 0f1b lsrs r3, r3, #28 80b9858: 623b str r3, [r7, #32] tmp2 = (tmp2 >> 20U); 80b985a: 69fb ldr r3, [r7, #28] 80b985c: 0d1b lsrs r3, r3, #20 80b985e: 61fb str r3, [r7, #28] tmp3 = (tmp3 >> 12U); 80b9860: 69bb ldr r3, [r7, #24] 80b9862: 0b1b lsrs r3, r3, #12 80b9864: 61bb str r3, [r7, #24] tmp4 = (tmp4 >> 4U); 80b9866: 697b ldr r3, [r7, #20] 80b9868: 091b lsrs r3, r3, #4 80b986a: 617b str r3, [r7, #20] tmp = ((tmp3 << 4U) | (tmp2 << 8U) | (tmp1 << 12U) | tmp4); 80b986c: 69bb ldr r3, [r7, #24] 80b986e: 011a lsls r2, r3, #4 80b9870: 69fb ldr r3, [r7, #28] 80b9872: 021b lsls r3, r3, #8 80b9874: 431a orrs r2, r3 80b9876: 6a3b ldr r3, [r7, #32] 80b9878: 031b lsls r3, r3, #12 80b987a: 431a orrs r2, r3 80b987c: 697b ldr r3, [r7, #20] 80b987e: 4313 orrs r3, r2 80b9880: 627b str r3, [r7, #36] ; 0x24 } /* Write to DMA2D OCOLR register */ WRITE_REG(hdma2d->Instance->OCOLR, tmp); 80b9882: 68fb ldr r3, [r7, #12] 80b9884: 681b ldr r3, [r3, #0] 80b9886: 6a7a ldr r2, [r7, #36] ; 0x24 80b9888: 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); } } 80b988a: e003 b.n 80b9894 WRITE_REG(hdma2d->Instance->FGMAR, pdata); 80b988c: 68fb ldr r3, [r7, #12] 80b988e: 681b ldr r3, [r3, #0] 80b9890: 68ba ldr r2, [r7, #8] 80b9892: 60da str r2, [r3, #12] } 80b9894: bf00 nop 80b9896: 372c adds r7, #44 ; 0x2c 80b9898: 46bd mov sp, r7 80b989a: f85d 7b04 ldr.w r7, [sp], #4 80b989e: 4770 bx lr 080b98a0 : * @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) { 80b98a0: b580 push {r7, lr} 80b98a2: b086 sub sp, #24 80b98a4: af00 add r7, sp, #0 80b98a6: 60f8 str r0, [r7, #12] 80b98a8: 60b9 str r1, [r7, #8] 80b98aa: e9c7 2300 strd r2, r3, [r7] HAL_StatusTypeDef status = HAL_ERROR; 80b98ae: 2301 movs r3, #1 80b98b0: 75fb strb r3, [r7, #23] /* Process Locked */ __HAL_LOCK(&pFlash); 80b98b2: 4b27 ldr r3, [pc, #156] ; (80b9950 ) 80b98b4: 7d1b ldrb r3, [r3, #20] 80b98b6: 2b01 cmp r3, #1 80b98b8: d101 bne.n 80b98be 80b98ba: 2302 movs r3, #2 80b98bc: e043 b.n 80b9946 80b98be: 4b24 ldr r3, [pc, #144] ; (80b9950 ) 80b98c0: 2201 movs r2, #1 80b98c2: 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); 80b98c4: f24c 3050 movw r0, #50000 ; 0xc350 80b98c8: f000 f878 bl 80b99bc 80b98cc: 4603 mov r3, r0 80b98ce: 75fb strb r3, [r7, #23] if(status == HAL_OK) 80b98d0: 7dfb ldrb r3, [r7, #23] 80b98d2: 2b00 cmp r3, #0 80b98d4: d133 bne.n 80b993e { switch(TypeProgram) 80b98d6: 68fb ldr r3, [r7, #12] 80b98d8: 2b03 cmp r3, #3 80b98da: d823 bhi.n 80b9924 80b98dc: a201 add r2, pc, #4 ; (adr r2, 80b98e4 ) 80b98de: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80b98e2: bf00 nop 80b98e4: 080b98f5 .word 0x080b98f5 80b98e8: 080b9901 .word 0x080b9901 80b98ec: 080b990d .word 0x080b990d 80b98f0: 080b9919 .word 0x080b9919 { case FLASH_TYPEPROGRAM_BYTE : { /*Program byte (8-bit) at a specified address.*/ FLASH_Program_Byte(Address, (uint8_t) Data); 80b98f4: 783b ldrb r3, [r7, #0] 80b98f6: 4619 mov r1, r3 80b98f8: 68b8 ldr r0, [r7, #8] 80b98fa: f000 f919 bl 80b9b30 break; 80b98fe: e012 b.n 80b9926 } case FLASH_TYPEPROGRAM_HALFWORD : { /*Program halfword (16-bit) at a specified address.*/ FLASH_Program_HalfWord(Address, (uint16_t) Data); 80b9900: 883b ldrh r3, [r7, #0] 80b9902: 4619 mov r1, r3 80b9904: 68b8 ldr r0, [r7, #8] 80b9906: f000 f8ed bl 80b9ae4 break; 80b990a: e00c b.n 80b9926 } case FLASH_TYPEPROGRAM_WORD : { /*Program word (32-bit) at a specified address.*/ FLASH_Program_Word(Address, (uint32_t) Data); 80b990c: 683b ldr r3, [r7, #0] 80b990e: 4619 mov r1, r3 80b9910: 68b8 ldr r0, [r7, #8] 80b9912: f000 f8c3 bl 80b9a9c break; 80b9916: e006 b.n 80b9926 } case FLASH_TYPEPROGRAM_DOUBLEWORD : { /*Program double word (64-bit) at a specified address.*/ FLASH_Program_DoubleWord(Address, Data); 80b9918: e9d7 2300 ldrd r2, r3, [r7] 80b991c: 68b8 ldr r0, [r7, #8] 80b991e: f000 f88d bl 80b9a3c break; 80b9922: e000 b.n 80b9926 } default : break; 80b9924: bf00 nop } /* Wait for last operation to be completed */ status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); 80b9926: f24c 3050 movw r0, #50000 ; 0xc350 80b992a: f000 f847 bl 80b99bc 80b992e: 4603 mov r3, r0 80b9930: 75fb strb r3, [r7, #23] /* If the program operation is completed, disable the PG Bit */ FLASH->CR &= (~FLASH_CR_PG); 80b9932: 4a08 ldr r2, [pc, #32] ; (80b9954 ) 80b9934: 4b07 ldr r3, [pc, #28] ; (80b9954 ) 80b9936: 691b ldr r3, [r3, #16] 80b9938: f023 0301 bic.w r3, r3, #1 80b993c: 6113 str r3, [r2, #16] } /* Process Unlocked */ __HAL_UNLOCK(&pFlash); 80b993e: 4b04 ldr r3, [pc, #16] ; (80b9950 ) 80b9940: 2200 movs r2, #0 80b9942: 751a strb r2, [r3, #20] return status; 80b9944: 7dfb ldrb r3, [r7, #23] } 80b9946: 4618 mov r0, r3 80b9948: 3718 adds r7, #24 80b994a: 46bd mov sp, r7 80b994c: bd80 pop {r7, pc} 80b994e: bf00 nop 80b9950: 20068b0c .word 0x20068b0c 80b9954: 40023c00 .word 0x40023c00 080b9958 : /** * @brief Unlock the FLASH control register access * @retval HAL Status */ HAL_StatusTypeDef HAL_FLASH_Unlock(void) { 80b9958: b480 push {r7} 80b995a: b083 sub sp, #12 80b995c: af00 add r7, sp, #0 HAL_StatusTypeDef status = HAL_OK; 80b995e: 2300 movs r3, #0 80b9960: 71fb strb r3, [r7, #7] if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET) 80b9962: 4b0b ldr r3, [pc, #44] ; (80b9990 ) 80b9964: 691b ldr r3, [r3, #16] 80b9966: 2b00 cmp r3, #0 80b9968: da0b bge.n 80b9982 { /* Authorize the FLASH Registers access */ WRITE_REG(FLASH->KEYR, FLASH_KEY1); 80b996a: 4b09 ldr r3, [pc, #36] ; (80b9990 ) 80b996c: 4a09 ldr r2, [pc, #36] ; (80b9994 ) 80b996e: 605a str r2, [r3, #4] WRITE_REG(FLASH->KEYR, FLASH_KEY2); 80b9970: 4b07 ldr r3, [pc, #28] ; (80b9990 ) 80b9972: 4a09 ldr r2, [pc, #36] ; (80b9998 ) 80b9974: 605a str r2, [r3, #4] /* Verify Flash is unlocked */ if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET) 80b9976: 4b06 ldr r3, [pc, #24] ; (80b9990 ) 80b9978: 691b ldr r3, [r3, #16] 80b997a: 2b00 cmp r3, #0 80b997c: da01 bge.n 80b9982 { status = HAL_ERROR; 80b997e: 2301 movs r3, #1 80b9980: 71fb strb r3, [r7, #7] } } return status; 80b9982: 79fb ldrb r3, [r7, #7] } 80b9984: 4618 mov r0, r3 80b9986: 370c adds r7, #12 80b9988: 46bd mov sp, r7 80b998a: f85d 7b04 ldr.w r7, [sp], #4 80b998e: 4770 bx lr 80b9990: 40023c00 .word 0x40023c00 80b9994: 45670123 .word 0x45670123 80b9998: cdef89ab .word 0xcdef89ab 080b999c : /** * @brief Locks the FLASH control register access * @retval HAL Status */ HAL_StatusTypeDef HAL_FLASH_Lock(void) { 80b999c: b480 push {r7} 80b999e: af00 add r7, sp, #0 /* Set the LOCK Bit to lock the FLASH Registers access */ FLASH->CR |= FLASH_CR_LOCK; 80b99a0: 4a05 ldr r2, [pc, #20] ; (80b99b8 ) 80b99a2: 4b05 ldr r3, [pc, #20] ; (80b99b8 ) 80b99a4: 691b ldr r3, [r3, #16] 80b99a6: f043 4300 orr.w r3, r3, #2147483648 ; 0x80000000 80b99aa: 6113 str r3, [r2, #16] return HAL_OK; 80b99ac: 2300 movs r3, #0 } 80b99ae: 4618 mov r0, r3 80b99b0: 46bd mov sp, r7 80b99b2: f85d 7b04 ldr.w r7, [sp], #4 80b99b6: 4770 bx lr 80b99b8: 40023c00 .word 0x40023c00 080b99bc : * @brief Wait for a FLASH operation to complete. * @param Timeout maximum flash operationtimeout * @retval HAL Status */ HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout) { 80b99bc: b580 push {r7, lr} 80b99be: b084 sub sp, #16 80b99c0: af00 add r7, sp, #0 80b99c2: 6078 str r0, [r7, #4] uint32_t tickstart = 0; 80b99c4: 2300 movs r3, #0 80b99c6: 60fb str r3, [r7, #12] /* Clear Error Code */ pFlash.ErrorCode = HAL_FLASH_ERROR_NONE; 80b99c8: 4b1a ldr r3, [pc, #104] ; (80b9a34 ) 80b99ca: 2200 movs r2, #0 80b99cc: 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(); 80b99ce: f7fe f829 bl 80b7a24 80b99d2: 60f8 str r0, [r7, #12] while(__HAL_FLASH_GET_FLAG(FLASH_FLAG_BSY) != RESET) 80b99d4: e010 b.n 80b99f8 { if(Timeout != HAL_MAX_DELAY) 80b99d6: 687b ldr r3, [r7, #4] 80b99d8: f1b3 3fff cmp.w r3, #4294967295 80b99dc: d00c beq.n 80b99f8 { if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) 80b99de: 687b ldr r3, [r7, #4] 80b99e0: 2b00 cmp r3, #0 80b99e2: d007 beq.n 80b99f4 80b99e4: f7fe f81e bl 80b7a24 80b99e8: 4602 mov r2, r0 80b99ea: 68fb ldr r3, [r7, #12] 80b99ec: 1ad2 subs r2, r2, r3 80b99ee: 687b ldr r3, [r7, #4] 80b99f0: 429a cmp r2, r3 80b99f2: d901 bls.n 80b99f8 { return HAL_TIMEOUT; 80b99f4: 2303 movs r3, #3 80b99f6: e019 b.n 80b9a2c while(__HAL_FLASH_GET_FLAG(FLASH_FLAG_BSY) != RESET) 80b99f8: 4b0f ldr r3, [pc, #60] ; (80b9a38 ) 80b99fa: 68db ldr r3, [r3, #12] 80b99fc: f403 3380 and.w r3, r3, #65536 ; 0x10000 80b9a00: 2b00 cmp r3, #0 80b9a02: d1e8 bne.n 80b99d6 } } } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_ALL_ERRORS) != RESET) 80b9a04: 4b0c ldr r3, [pc, #48] ; (80b9a38 ) 80b9a06: 68db ldr r3, [r3, #12] 80b9a08: f003 03f2 and.w r3, r3, #242 ; 0xf2 80b9a0c: 2b00 cmp r3, #0 80b9a0e: d003 beq.n 80b9a18 { /*Save the error code*/ FLASH_SetErrorCode(); 80b9a10: f000 f8b2 bl 80b9b78 return HAL_ERROR; 80b9a14: 2301 movs r3, #1 80b9a16: e009 b.n 80b9a2c } /* Check FLASH End of Operation flag */ if (__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP) != RESET) 80b9a18: 4b07 ldr r3, [pc, #28] ; (80b9a38 ) 80b9a1a: 68db ldr r3, [r3, #12] 80b9a1c: f003 0301 and.w r3, r3, #1 80b9a20: 2b00 cmp r3, #0 80b9a22: d002 beq.n 80b9a2a { /* Clear FLASH End of Operation pending bit */ __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP); 80b9a24: 4b04 ldr r3, [pc, #16] ; (80b9a38 ) 80b9a26: 2201 movs r2, #1 80b9a28: 60da str r2, [r3, #12] } /* If there is an error flag set */ return HAL_OK; 80b9a2a: 2300 movs r3, #0 } 80b9a2c: 4618 mov r0, r3 80b9a2e: 3710 adds r7, #16 80b9a30: 46bd mov sp, r7 80b9a32: bd80 pop {r7, pc} 80b9a34: 20068b0c .word 0x20068b0c 80b9a38: 40023c00 .word 0x40023c00 080b9a3c : * @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) { 80b9a3c: b4f0 push {r4, r5, r6, r7} 80b9a3e: b084 sub sp, #16 80b9a40: af00 add r7, sp, #0 80b9a42: 60f8 str r0, [r7, #12] 80b9a44: 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; 80b9a48: 4a13 ldr r2, [pc, #76] ; (80b9a98 ) 80b9a4a: 4b13 ldr r3, [pc, #76] ; (80b9a98 ) 80b9a4c: 691b ldr r3, [r3, #16] 80b9a4e: f423 7340 bic.w r3, r3, #768 ; 0x300 80b9a52: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_PSIZE_DOUBLE_WORD; 80b9a54: 4a10 ldr r2, [pc, #64] ; (80b9a98 ) 80b9a56: 4b10 ldr r3, [pc, #64] ; (80b9a98 ) 80b9a58: 691b ldr r3, [r3, #16] 80b9a5a: f443 7340 orr.w r3, r3, #768 ; 0x300 80b9a5e: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_PG; 80b9a60: 4a0d ldr r2, [pc, #52] ; (80b9a98 ) 80b9a62: 4b0d ldr r3, [pc, #52] ; (80b9a98 ) 80b9a64: 691b ldr r3, [r3, #16] 80b9a66: f043 0301 orr.w r3, r3, #1 80b9a6a: 6113 str r3, [r2, #16] /* Program first word */ *(__IO uint32_t*)Address = (uint32_t)Data; 80b9a6c: 68fb ldr r3, [r7, #12] 80b9a6e: 683a ldr r2, [r7, #0] 80b9a70: 601a str r2, [r3, #0] 80b9a72: 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); 80b9a76: 68fb ldr r3, [r7, #12] 80b9a78: 3304 adds r3, #4 80b9a7a: 461a mov r2, r3 80b9a7c: e897 0018 ldmia.w r7, {r3, r4} 80b9a80: 0025 movs r5, r4 80b9a82: 2600 movs r6, #0 80b9a84: 462b mov r3, r5 80b9a86: 6013 str r3, [r2, #0] __ASM volatile ("dsb 0xF":::"memory"); 80b9a88: 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(); } 80b9a8c: bf00 nop 80b9a8e: 3710 adds r7, #16 80b9a90: 46bd mov sp, r7 80b9a92: bcf0 pop {r4, r5, r6, r7} 80b9a94: 4770 bx lr 80b9a96: bf00 nop 80b9a98: 40023c00 .word 0x40023c00 080b9a9c : * @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) { 80b9a9c: b480 push {r7} 80b9a9e: b083 sub sp, #12 80b9aa0: af00 add r7, sp, #0 80b9aa2: 6078 str r0, [r7, #4] 80b9aa4: 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; 80b9aa6: 4a0e ldr r2, [pc, #56] ; (80b9ae0 ) 80b9aa8: 4b0d ldr r3, [pc, #52] ; (80b9ae0 ) 80b9aaa: 691b ldr r3, [r3, #16] 80b9aac: f423 7340 bic.w r3, r3, #768 ; 0x300 80b9ab0: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_PSIZE_WORD; 80b9ab2: 4a0b ldr r2, [pc, #44] ; (80b9ae0 ) 80b9ab4: 4b0a ldr r3, [pc, #40] ; (80b9ae0 ) 80b9ab6: 691b ldr r3, [r3, #16] 80b9ab8: f443 7300 orr.w r3, r3, #512 ; 0x200 80b9abc: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_PG; 80b9abe: 4a08 ldr r2, [pc, #32] ; (80b9ae0 ) 80b9ac0: 4b07 ldr r3, [pc, #28] ; (80b9ae0 ) 80b9ac2: 691b ldr r3, [r3, #16] 80b9ac4: f043 0301 orr.w r3, r3, #1 80b9ac8: 6113 str r3, [r2, #16] *(__IO uint32_t*)Address = Data; 80b9aca: 687b ldr r3, [r7, #4] 80b9acc: 683a ldr r2, [r7, #0] 80b9ace: 601a str r2, [r3, #0] 80b9ad0: 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(); } 80b9ad4: bf00 nop 80b9ad6: 370c adds r7, #12 80b9ad8: 46bd mov sp, r7 80b9ada: f85d 7b04 ldr.w r7, [sp], #4 80b9ade: 4770 bx lr 80b9ae0: 40023c00 .word 0x40023c00 080b9ae4 : * @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) { 80b9ae4: b480 push {r7} 80b9ae6: b083 sub sp, #12 80b9ae8: af00 add r7, sp, #0 80b9aea: 6078 str r0, [r7, #4] 80b9aec: 460b mov r3, r1 80b9aee: 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; 80b9af0: 4a0e ldr r2, [pc, #56] ; (80b9b2c ) 80b9af2: 4b0e ldr r3, [pc, #56] ; (80b9b2c ) 80b9af4: 691b ldr r3, [r3, #16] 80b9af6: f423 7340 bic.w r3, r3, #768 ; 0x300 80b9afa: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_PSIZE_HALF_WORD; 80b9afc: 4a0b ldr r2, [pc, #44] ; (80b9b2c ) 80b9afe: 4b0b ldr r3, [pc, #44] ; (80b9b2c ) 80b9b00: 691b ldr r3, [r3, #16] 80b9b02: f443 7380 orr.w r3, r3, #256 ; 0x100 80b9b06: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_PG; 80b9b08: 4a08 ldr r2, [pc, #32] ; (80b9b2c ) 80b9b0a: 4b08 ldr r3, [pc, #32] ; (80b9b2c ) 80b9b0c: 691b ldr r3, [r3, #16] 80b9b0e: f043 0301 orr.w r3, r3, #1 80b9b12: 6113 str r3, [r2, #16] *(__IO uint16_t*)Address = Data; 80b9b14: 687b ldr r3, [r7, #4] 80b9b16: 887a ldrh r2, [r7, #2] 80b9b18: 801a strh r2, [r3, #0] 80b9b1a: 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(); } 80b9b1e: bf00 nop 80b9b20: 370c adds r7, #12 80b9b22: 46bd mov sp, r7 80b9b24: f85d 7b04 ldr.w r7, [sp], #4 80b9b28: 4770 bx lr 80b9b2a: bf00 nop 80b9b2c: 40023c00 .word 0x40023c00 080b9b30 : * @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) { 80b9b30: b480 push {r7} 80b9b32: b083 sub sp, #12 80b9b34: af00 add r7, sp, #0 80b9b36: 6078 str r0, [r7, #4] 80b9b38: 460b mov r3, r1 80b9b3a: 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; 80b9b3c: 4a0d ldr r2, [pc, #52] ; (80b9b74 ) 80b9b3e: 4b0d ldr r3, [pc, #52] ; (80b9b74 ) 80b9b40: 691b ldr r3, [r3, #16] 80b9b42: f423 7340 bic.w r3, r3, #768 ; 0x300 80b9b46: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_PSIZE_BYTE; 80b9b48: 4a0a ldr r2, [pc, #40] ; (80b9b74 ) 80b9b4a: 4b0a ldr r3, [pc, #40] ; (80b9b74 ) 80b9b4c: 691b ldr r3, [r3, #16] 80b9b4e: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_PG; 80b9b50: 4a08 ldr r2, [pc, #32] ; (80b9b74 ) 80b9b52: 4b08 ldr r3, [pc, #32] ; (80b9b74 ) 80b9b54: 691b ldr r3, [r3, #16] 80b9b56: f043 0301 orr.w r3, r3, #1 80b9b5a: 6113 str r3, [r2, #16] *(__IO uint8_t*)Address = Data; 80b9b5c: 687b ldr r3, [r7, #4] 80b9b5e: 78fa ldrb r2, [r7, #3] 80b9b60: 701a strb r2, [r3, #0] 80b9b62: 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(); } 80b9b66: bf00 nop 80b9b68: 370c adds r7, #12 80b9b6a: 46bd mov sp, r7 80b9b6c: f85d 7b04 ldr.w r7, [sp], #4 80b9b70: 4770 bx lr 80b9b72: bf00 nop 80b9b74: 40023c00 .word 0x40023c00 080b9b78 : /** * @brief Set the specific FLASH error flag. * @retval None */ static void FLASH_SetErrorCode(void) { 80b9b78: b480 push {r7} 80b9b7a: af00 add r7, sp, #0 if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_OPERR) != RESET) 80b9b7c: 4b21 ldr r3, [pc, #132] ; (80b9c04 ) 80b9b7e: 68db ldr r3, [r3, #12] 80b9b80: f003 0302 and.w r3, r3, #2 80b9b84: 2b00 cmp r3, #0 80b9b86: d005 beq.n 80b9b94 { pFlash.ErrorCode |= HAL_FLASH_ERROR_OPERATION; 80b9b88: 4b1f ldr r3, [pc, #124] ; (80b9c08 ) 80b9b8a: 699b ldr r3, [r3, #24] 80b9b8c: f043 0320 orr.w r3, r3, #32 80b9b90: 4a1d ldr r2, [pc, #116] ; (80b9c08 ) 80b9b92: 6193 str r3, [r2, #24] } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR) != RESET) 80b9b94: 4b1b ldr r3, [pc, #108] ; (80b9c04 ) 80b9b96: 68db ldr r3, [r3, #12] 80b9b98: f003 0310 and.w r3, r3, #16 80b9b9c: 2b00 cmp r3, #0 80b9b9e: d005 beq.n 80b9bac { pFlash.ErrorCode |= HAL_FLASH_ERROR_WRP; 80b9ba0: 4b19 ldr r3, [pc, #100] ; (80b9c08 ) 80b9ba2: 699b ldr r3, [r3, #24] 80b9ba4: f043 0310 orr.w r3, r3, #16 80b9ba8: 4a17 ldr r2, [pc, #92] ; (80b9c08 ) 80b9baa: 6193 str r3, [r2, #24] } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGAERR) != RESET) 80b9bac: 4b15 ldr r3, [pc, #84] ; (80b9c04 ) 80b9bae: 68db ldr r3, [r3, #12] 80b9bb0: f003 0320 and.w r3, r3, #32 80b9bb4: 2b00 cmp r3, #0 80b9bb6: d005 beq.n 80b9bc4 { pFlash.ErrorCode |= HAL_FLASH_ERROR_PGA; 80b9bb8: 4b13 ldr r3, [pc, #76] ; (80b9c08 ) 80b9bba: 699b ldr r3, [r3, #24] 80b9bbc: f043 0308 orr.w r3, r3, #8 80b9bc0: 4a11 ldr r2, [pc, #68] ; (80b9c08 ) 80b9bc2: 6193 str r3, [r2, #24] } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGPERR) != RESET) 80b9bc4: 4b0f ldr r3, [pc, #60] ; (80b9c04 ) 80b9bc6: 68db ldr r3, [r3, #12] 80b9bc8: f003 0340 and.w r3, r3, #64 ; 0x40 80b9bcc: 2b00 cmp r3, #0 80b9bce: d005 beq.n 80b9bdc { pFlash.ErrorCode |= HAL_FLASH_ERROR_PGP; 80b9bd0: 4b0d ldr r3, [pc, #52] ; (80b9c08 ) 80b9bd2: 699b ldr r3, [r3, #24] 80b9bd4: f043 0304 orr.w r3, r3, #4 80b9bd8: 4a0b ldr r2, [pc, #44] ; (80b9c08 ) 80b9bda: 6193 str r3, [r2, #24] } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_ERSERR) != RESET) 80b9bdc: 4b09 ldr r3, [pc, #36] ; (80b9c04 ) 80b9bde: 68db ldr r3, [r3, #12] 80b9be0: f003 0380 and.w r3, r3, #128 ; 0x80 80b9be4: 2b00 cmp r3, #0 80b9be6: d005 beq.n 80b9bf4 { pFlash.ErrorCode |= HAL_FLASH_ERROR_ERS; 80b9be8: 4b07 ldr r3, [pc, #28] ; (80b9c08 ) 80b9bea: 699b ldr r3, [r3, #24] 80b9bec: f043 0302 orr.w r3, r3, #2 80b9bf0: 4a05 ldr r2, [pc, #20] ; (80b9c08 ) 80b9bf2: 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); 80b9bf4: 4b03 ldr r3, [pc, #12] ; (80b9c04 ) 80b9bf6: 22f2 movs r2, #242 ; 0xf2 80b9bf8: 60da str r2, [r3, #12] } 80b9bfa: bf00 nop 80b9bfc: 46bd mov sp, r7 80b9bfe: f85d 7b04 ldr.w r7, [sp], #4 80b9c02: 4770 bx lr 80b9c04: 40023c00 .word 0x40023c00 80b9c08: 20068b0c .word 0x20068b0c 080b9c0c : * (0xFFFFFFFF means that all the sectors have been correctly erased) * * @retval HAL Status */ HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *SectorError) { 80b9c0c: b580 push {r7, lr} 80b9c0e: b084 sub sp, #16 80b9c10: af00 add r7, sp, #0 80b9c12: 6078 str r0, [r7, #4] 80b9c14: 6039 str r1, [r7, #0] HAL_StatusTypeDef status = HAL_ERROR; 80b9c16: 2301 movs r3, #1 80b9c18: 73fb strb r3, [r7, #15] uint32_t index = 0; 80b9c1a: 2300 movs r3, #0 80b9c1c: 60bb str r3, [r7, #8] /* Process Locked */ __HAL_LOCK(&pFlash); 80b9c1e: 4b30 ldr r3, [pc, #192] ; (80b9ce0 ) 80b9c20: 7d1b ldrb r3, [r3, #20] 80b9c22: 2b01 cmp r3, #1 80b9c24: d101 bne.n 80b9c2a 80b9c26: 2302 movs r3, #2 80b9c28: e056 b.n 80b9cd8 80b9c2a: 4b2d ldr r3, [pc, #180] ; (80b9ce0 ) 80b9c2c: 2201 movs r2, #1 80b9c2e: 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); 80b9c30: f24c 3050 movw r0, #50000 ; 0xc350 80b9c34: f7ff fec2 bl 80b99bc 80b9c38: 4603 mov r3, r0 80b9c3a: 73fb strb r3, [r7, #15] if(status == HAL_OK) 80b9c3c: 7bfb ldrb r3, [r7, #15] 80b9c3e: 2b00 cmp r3, #0 80b9c40: d146 bne.n 80b9cd0 { /*Initialization of SectorError variable*/ *SectorError = 0xFFFFFFFFU; 80b9c42: 683b ldr r3, [r7, #0] 80b9c44: f04f 32ff mov.w r2, #4294967295 80b9c48: 601a str r2, [r3, #0] if(pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE) 80b9c4a: 687b ldr r3, [r7, #4] 80b9c4c: 681b ldr r3, [r3, #0] 80b9c4e: 2b01 cmp r3, #1 80b9c50: d115 bne.n 80b9c7e { /*Mass erase to be done*/ #if defined (FLASH_OPTCR_nDBANK) FLASH_MassErase((uint8_t) pEraseInit->VoltageRange, pEraseInit->Banks); 80b9c52: 687b ldr r3, [r7, #4] 80b9c54: 691b ldr r3, [r3, #16] 80b9c56: b2da uxtb r2, r3 80b9c58: 687b ldr r3, [r7, #4] 80b9c5a: 685b ldr r3, [r3, #4] 80b9c5c: 4619 mov r1, r3 80b9c5e: 4610 mov r0, r2 80b9c60: f000 f844 bl 80b9cec #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); 80b9c64: f24c 3050 movw r0, #50000 ; 0xc350 80b9c68: f7ff fea8 bl 80b99bc 80b9c6c: 4603 mov r3, r0 80b9c6e: 73fb strb r3, [r7, #15] /* if the erase operation is completed, disable the MER Bit */ FLASH->CR &= (~FLASH_MER_BIT); 80b9c70: 491c ldr r1, [pc, #112] ; (80b9ce4 ) 80b9c72: 4b1c ldr r3, [pc, #112] ; (80b9ce4 ) 80b9c74: 691a ldr r2, [r3, #16] 80b9c76: 4b1c ldr r3, [pc, #112] ; (80b9ce8 ) 80b9c78: 4013 ands r3, r2 80b9c7a: 610b str r3, [r1, #16] 80b9c7c: e028 b.n 80b9cd0 { /* 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++) 80b9c7e: 687b ldr r3, [r7, #4] 80b9c80: 689b ldr r3, [r3, #8] 80b9c82: 60bb str r3, [r7, #8] 80b9c84: e01c b.n 80b9cc0 { FLASH_Erase_Sector(index, (uint8_t) pEraseInit->VoltageRange); 80b9c86: 687b ldr r3, [r7, #4] 80b9c88: 691b ldr r3, [r3, #16] 80b9c8a: b2db uxtb r3, r3 80b9c8c: 4619 mov r1, r3 80b9c8e: 68b8 ldr r0, [r7, #8] 80b9c90: f000 f866 bl 80b9d60 /* Wait for last operation to be completed */ status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); 80b9c94: f24c 3050 movw r0, #50000 ; 0xc350 80b9c98: f7ff fe90 bl 80b99bc 80b9c9c: 4603 mov r3, r0 80b9c9e: 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)); 80b9ca0: 4a10 ldr r2, [pc, #64] ; (80b9ce4 ) 80b9ca2: 4b10 ldr r3, [pc, #64] ; (80b9ce4 ) 80b9ca4: 691b ldr r3, [r3, #16] 80b9ca6: f023 03fa bic.w r3, r3, #250 ; 0xfa 80b9caa: 6113 str r3, [r2, #16] if(status != HAL_OK) 80b9cac: 7bfb ldrb r3, [r7, #15] 80b9cae: 2b00 cmp r3, #0 80b9cb0: d003 beq.n 80b9cba { /* In case of error, stop erase procedure and return the faulty sector*/ *SectorError = index; 80b9cb2: 683b ldr r3, [r7, #0] 80b9cb4: 68ba ldr r2, [r7, #8] 80b9cb6: 601a str r2, [r3, #0] break; 80b9cb8: e00a b.n 80b9cd0 for(index = pEraseInit->Sector; index < (pEraseInit->NbSectors + pEraseInit->Sector); index++) 80b9cba: 68bb ldr r3, [r7, #8] 80b9cbc: 3301 adds r3, #1 80b9cbe: 60bb str r3, [r7, #8] 80b9cc0: 687b ldr r3, [r7, #4] 80b9cc2: 68da ldr r2, [r3, #12] 80b9cc4: 687b ldr r3, [r7, #4] 80b9cc6: 689b ldr r3, [r3, #8] 80b9cc8: 441a add r2, r3 80b9cca: 68bb ldr r3, [r7, #8] 80b9ccc: 429a cmp r2, r3 80b9cce: d8da bhi.n 80b9c86 } } } /* Process Unlocked */ __HAL_UNLOCK(&pFlash); 80b9cd0: 4b03 ldr r3, [pc, #12] ; (80b9ce0 ) 80b9cd2: 2200 movs r2, #0 80b9cd4: 751a strb r2, [r3, #20] return status; 80b9cd6: 7bfb ldrb r3, [r7, #15] } 80b9cd8: 4618 mov r0, r3 80b9cda: 3710 adds r7, #16 80b9cdc: 46bd mov sp, r7 80b9cde: bd80 pop {r7, pc} 80b9ce0: 20068b0c .word 0x20068b0c 80b9ce4: 40023c00 .word 0x40023c00 80b9ce8: ffff7ffb .word 0xffff7ffb 080b9cec : * @arg FLASH_BANK_BOTH: Bank1 and Bank2 to be erased * * @retval HAL Status */ static void FLASH_MassErase(uint8_t VoltageRange, uint32_t Banks) { 80b9cec: b480 push {r7} 80b9cee: b083 sub sp, #12 80b9cf0: af00 add r7, sp, #0 80b9cf2: 4603 mov r3, r0 80b9cf4: 6039 str r1, [r7, #0] 80b9cf6: 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; 80b9cf8: 4a18 ldr r2, [pc, #96] ; (80b9d5c ) 80b9cfa: 4b18 ldr r3, [pc, #96] ; (80b9d5c ) 80b9cfc: 691b ldr r3, [r3, #16] 80b9cfe: f423 7340 bic.w r3, r3, #768 ; 0x300 80b9d02: 6113 str r3, [r2, #16] if(Banks == FLASH_BANK_BOTH) 80b9d04: 683b ldr r3, [r7, #0] 80b9d06: 2b03 cmp r3, #3 80b9d08: d107 bne.n 80b9d1a { /* bank1 & bank2 will be erased*/ FLASH->CR |= FLASH_MER_BIT; 80b9d0a: 4914 ldr r1, [pc, #80] ; (80b9d5c ) 80b9d0c: 4b13 ldr r3, [pc, #76] ; (80b9d5c ) 80b9d0e: 691a ldr r2, [r3, #16] 80b9d10: f248 0304 movw r3, #32772 ; 0x8004 80b9d14: 4313 orrs r3, r2 80b9d16: 610b str r3, [r1, #16] 80b9d18: e00f b.n 80b9d3a } else if(Banks == FLASH_BANK_2) 80b9d1a: 683b ldr r3, [r7, #0] 80b9d1c: 2b02 cmp r3, #2 80b9d1e: d106 bne.n 80b9d2e { /*Only bank2 will be erased*/ FLASH->CR |= FLASH_CR_MER2; 80b9d20: 4a0e ldr r2, [pc, #56] ; (80b9d5c ) 80b9d22: 4b0e ldr r3, [pc, #56] ; (80b9d5c ) 80b9d24: 691b ldr r3, [r3, #16] 80b9d26: f443 4300 orr.w r3, r3, #32768 ; 0x8000 80b9d2a: 6113 str r3, [r2, #16] 80b9d2c: e005 b.n 80b9d3a } else { /*Only bank1 will be erased*/ FLASH->CR |= FLASH_CR_MER1; 80b9d2e: 4a0b ldr r2, [pc, #44] ; (80b9d5c ) 80b9d30: 4b0a ldr r3, [pc, #40] ; (80b9d5c ) 80b9d32: 691b ldr r3, [r3, #16] 80b9d34: f043 0304 orr.w r3, r3, #4 80b9d38: 6113 str r3, [r2, #16] } FLASH->CR |= FLASH_CR_STRT | ((uint32_t)VoltageRange <<8); 80b9d3a: 4908 ldr r1, [pc, #32] ; (80b9d5c ) 80b9d3c: 4b07 ldr r3, [pc, #28] ; (80b9d5c ) 80b9d3e: 691a ldr r2, [r3, #16] 80b9d40: 79fb ldrb r3, [r7, #7] 80b9d42: 021b lsls r3, r3, #8 80b9d44: 4313 orrs r3, r2 80b9d46: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b9d4a: 610b str r3, [r1, #16] 80b9d4c: 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(); } 80b9d50: bf00 nop 80b9d52: 370c adds r7, #12 80b9d54: 46bd mov sp, r7 80b9d56: f85d 7b04 ldr.w r7, [sp], #4 80b9d5a: 4770 bx lr 80b9d5c: 40023c00 .word 0x40023c00 080b9d60 : * the operation will be done by double word (64-bit) * * @retval None */ void FLASH_Erase_Sector(uint32_t Sector, uint8_t VoltageRange) { 80b9d60: b480 push {r7} 80b9d62: b085 sub sp, #20 80b9d64: af00 add r7, sp, #0 80b9d66: 6078 str r0, [r7, #4] 80b9d68: 460b mov r3, r1 80b9d6a: 70fb strb r3, [r7, #3] uint32_t tmp_psize = 0; 80b9d6c: 2300 movs r3, #0 80b9d6e: 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) 80b9d70: 78fb ldrb r3, [r7, #3] 80b9d72: 2b00 cmp r3, #0 80b9d74: d102 bne.n 80b9d7c { tmp_psize = FLASH_PSIZE_BYTE; 80b9d76: 2300 movs r3, #0 80b9d78: 60fb str r3, [r7, #12] 80b9d7a: e010 b.n 80b9d9e } else if(VoltageRange == FLASH_VOLTAGE_RANGE_2) 80b9d7c: 78fb ldrb r3, [r7, #3] 80b9d7e: 2b01 cmp r3, #1 80b9d80: d103 bne.n 80b9d8a { tmp_psize = FLASH_PSIZE_HALF_WORD; 80b9d82: f44f 7380 mov.w r3, #256 ; 0x100 80b9d86: 60fb str r3, [r7, #12] 80b9d88: e009 b.n 80b9d9e } else if(VoltageRange == FLASH_VOLTAGE_RANGE_3) 80b9d8a: 78fb ldrb r3, [r7, #3] 80b9d8c: 2b02 cmp r3, #2 80b9d8e: d103 bne.n 80b9d98 { tmp_psize = FLASH_PSIZE_WORD; 80b9d90: f44f 7300 mov.w r3, #512 ; 0x200 80b9d94: 60fb str r3, [r7, #12] 80b9d96: e002 b.n 80b9d9e } else { tmp_psize = FLASH_PSIZE_DOUBLE_WORD; 80b9d98: f44f 7340 mov.w r3, #768 ; 0x300 80b9d9c: 60fb str r3, [r7, #12] } /* Need to add offset of 4 when sector higher than FLASH_SECTOR_11 */ if(Sector > FLASH_SECTOR_11) 80b9d9e: 687b ldr r3, [r7, #4] 80b9da0: 2b0b cmp r3, #11 80b9da2: d902 bls.n 80b9daa { Sector += 4; 80b9da4: 687b ldr r3, [r7, #4] 80b9da6: 3304 adds r3, #4 80b9da8: 607b str r3, [r7, #4] } /* If the previous operation is completed, proceed to erase the sector */ FLASH->CR &= CR_PSIZE_MASK; 80b9daa: 4a14 ldr r2, [pc, #80] ; (80b9dfc ) 80b9dac: 4b13 ldr r3, [pc, #76] ; (80b9dfc ) 80b9dae: 691b ldr r3, [r3, #16] 80b9db0: f423 7340 bic.w r3, r3, #768 ; 0x300 80b9db4: 6113 str r3, [r2, #16] FLASH->CR |= tmp_psize; 80b9db6: 4911 ldr r1, [pc, #68] ; (80b9dfc ) 80b9db8: 4b10 ldr r3, [pc, #64] ; (80b9dfc ) 80b9dba: 691a ldr r2, [r3, #16] 80b9dbc: 68fb ldr r3, [r7, #12] 80b9dbe: 4313 orrs r3, r2 80b9dc0: 610b str r3, [r1, #16] CLEAR_BIT(FLASH->CR, FLASH_CR_SNB); 80b9dc2: 4a0e ldr r2, [pc, #56] ; (80b9dfc ) 80b9dc4: 4b0d ldr r3, [pc, #52] ; (80b9dfc ) 80b9dc6: 691b ldr r3, [r3, #16] 80b9dc8: f023 03f8 bic.w r3, r3, #248 ; 0xf8 80b9dcc: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_SER | (Sector << FLASH_CR_SNB_Pos); 80b9dce: 490b ldr r1, [pc, #44] ; (80b9dfc ) 80b9dd0: 4b0a ldr r3, [pc, #40] ; (80b9dfc ) 80b9dd2: 691a ldr r2, [r3, #16] 80b9dd4: 687b ldr r3, [r7, #4] 80b9dd6: 00db lsls r3, r3, #3 80b9dd8: 4313 orrs r3, r2 80b9dda: f043 0302 orr.w r3, r3, #2 80b9dde: 610b str r3, [r1, #16] FLASH->CR |= FLASH_CR_STRT; 80b9de0: 4a06 ldr r2, [pc, #24] ; (80b9dfc ) 80b9de2: 4b06 ldr r3, [pc, #24] ; (80b9dfc ) 80b9de4: 691b ldr r3, [r3, #16] 80b9de6: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b9dea: 6113 str r3, [r2, #16] 80b9dec: 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(); } 80b9df0: bf00 nop 80b9df2: 3714 adds r7, #20 80b9df4: 46bd mov sp, r7 80b9df6: f85d 7b04 ldr.w r7, [sp], #4 80b9dfa: 4770 bx lr 80b9dfc: 40023c00 .word 0x40023c00 080b9e00 : * @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) { 80b9e00: b480 push {r7} 80b9e02: b089 sub sp, #36 ; 0x24 80b9e04: af00 add r7, sp, #0 80b9e06: 6078 str r0, [r7, #4] 80b9e08: 6039 str r1, [r7, #0] uint32_t position = 0x00; 80b9e0a: 2300 movs r3, #0 80b9e0c: 61fb str r3, [r7, #28] uint32_t ioposition = 0x00; 80b9e0e: 2300 movs r3, #0 80b9e10: 617b str r3, [r7, #20] uint32_t iocurrent = 0x00; 80b9e12: 2300 movs r3, #0 80b9e14: 613b str r3, [r7, #16] uint32_t temp = 0x00; 80b9e16: 2300 movs r3, #0 80b9e18: 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++) 80b9e1a: 2300 movs r3, #0 80b9e1c: 61fb str r3, [r7, #28] 80b9e1e: e175 b.n 80ba10c { /* Get the IO position */ ioposition = ((uint32_t)0x01) << position; 80b9e20: 2201 movs r2, #1 80b9e22: 69fb ldr r3, [r7, #28] 80b9e24: fa02 f303 lsl.w r3, r2, r3 80b9e28: 617b str r3, [r7, #20] /* Get the current IO position */ iocurrent = (uint32_t)(GPIO_Init->Pin) & ioposition; 80b9e2a: 683b ldr r3, [r7, #0] 80b9e2c: 681a ldr r2, [r3, #0] 80b9e2e: 697b ldr r3, [r7, #20] 80b9e30: 4013 ands r3, r2 80b9e32: 613b str r3, [r7, #16] if(iocurrent == ioposition) 80b9e34: 693a ldr r2, [r7, #16] 80b9e36: 697b ldr r3, [r7, #20] 80b9e38: 429a cmp r2, r3 80b9e3a: f040 8164 bne.w 80ba106 { /*--------------------- 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)) 80b9e3e: 683b ldr r3, [r7, #0] 80b9e40: 685b ldr r3, [r3, #4] 80b9e42: f003 0303 and.w r3, r3, #3 80b9e46: 2b01 cmp r3, #1 80b9e48: d005 beq.n 80b9e56 80b9e4a: 683b ldr r3, [r7, #0] 80b9e4c: 685b ldr r3, [r3, #4] 80b9e4e: f003 0303 and.w r3, r3, #3 80b9e52: 2b02 cmp r3, #2 80b9e54: d130 bne.n 80b9eb8 { /* Check the Speed parameter */ assert_param(IS_GPIO_SPEED(GPIO_Init->Speed)); /* Configure the IO Speed */ temp = GPIOx->OSPEEDR; 80b9e56: 687b ldr r3, [r7, #4] 80b9e58: 689b ldr r3, [r3, #8] 80b9e5a: 61bb str r3, [r7, #24] temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2)); 80b9e5c: 69fb ldr r3, [r7, #28] 80b9e5e: 005b lsls r3, r3, #1 80b9e60: 2203 movs r2, #3 80b9e62: fa02 f303 lsl.w r3, r2, r3 80b9e66: 43db mvns r3, r3 80b9e68: 69ba ldr r2, [r7, #24] 80b9e6a: 4013 ands r3, r2 80b9e6c: 61bb str r3, [r7, #24] temp |= (GPIO_Init->Speed << (position * 2)); 80b9e6e: 683b ldr r3, [r7, #0] 80b9e70: 68da ldr r2, [r3, #12] 80b9e72: 69fb ldr r3, [r7, #28] 80b9e74: 005b lsls r3, r3, #1 80b9e76: fa02 f303 lsl.w r3, r2, r3 80b9e7a: 69ba ldr r2, [r7, #24] 80b9e7c: 4313 orrs r3, r2 80b9e7e: 61bb str r3, [r7, #24] GPIOx->OSPEEDR = temp; 80b9e80: 687b ldr r3, [r7, #4] 80b9e82: 69ba ldr r2, [r7, #24] 80b9e84: 609a str r2, [r3, #8] /* Configure the IO Output Type */ temp = GPIOx->OTYPER; 80b9e86: 687b ldr r3, [r7, #4] 80b9e88: 685b ldr r3, [r3, #4] 80b9e8a: 61bb str r3, [r7, #24] temp &= ~(GPIO_OTYPER_OT_0 << position) ; 80b9e8c: 2201 movs r2, #1 80b9e8e: 69fb ldr r3, [r7, #28] 80b9e90: fa02 f303 lsl.w r3, r2, r3 80b9e94: 43db mvns r3, r3 80b9e96: 69ba ldr r2, [r7, #24] 80b9e98: 4013 ands r3, r2 80b9e9a: 61bb str r3, [r7, #24] temp |= (((GPIO_Init->Mode & OUTPUT_TYPE) >> OUTPUT_TYPE_Pos) << position); 80b9e9c: 683b ldr r3, [r7, #0] 80b9e9e: 685b ldr r3, [r3, #4] 80b9ea0: 091b lsrs r3, r3, #4 80b9ea2: f003 0201 and.w r2, r3, #1 80b9ea6: 69fb ldr r3, [r7, #28] 80b9ea8: fa02 f303 lsl.w r3, r2, r3 80b9eac: 69ba ldr r2, [r7, #24] 80b9eae: 4313 orrs r3, r2 80b9eb0: 61bb str r3, [r7, #24] GPIOx->OTYPER = temp; 80b9eb2: 687b ldr r3, [r7, #4] 80b9eb4: 69ba ldr r2, [r7, #24] 80b9eb6: 605a str r2, [r3, #4] } if((GPIO_Init->Mode & GPIO_MODE) != MODE_ANALOG) 80b9eb8: 683b ldr r3, [r7, #0] 80b9eba: 685b ldr r3, [r3, #4] 80b9ebc: f003 0303 and.w r3, r3, #3 80b9ec0: 2b03 cmp r3, #3 80b9ec2: d017 beq.n 80b9ef4 { /* 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; 80b9ec4: 687b ldr r3, [r7, #4] 80b9ec6: 68db ldr r3, [r3, #12] 80b9ec8: 61bb str r3, [r7, #24] temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2)); 80b9eca: 69fb ldr r3, [r7, #28] 80b9ecc: 005b lsls r3, r3, #1 80b9ece: 2203 movs r2, #3 80b9ed0: fa02 f303 lsl.w r3, r2, r3 80b9ed4: 43db mvns r3, r3 80b9ed6: 69ba ldr r2, [r7, #24] 80b9ed8: 4013 ands r3, r2 80b9eda: 61bb str r3, [r7, #24] temp |= ((GPIO_Init->Pull) << (position * 2)); 80b9edc: 683b ldr r3, [r7, #0] 80b9ede: 689a ldr r2, [r3, #8] 80b9ee0: 69fb ldr r3, [r7, #28] 80b9ee2: 005b lsls r3, r3, #1 80b9ee4: fa02 f303 lsl.w r3, r2, r3 80b9ee8: 69ba ldr r2, [r7, #24] 80b9eea: 4313 orrs r3, r2 80b9eec: 61bb str r3, [r7, #24] GPIOx->PUPDR = temp; 80b9eee: 687b ldr r3, [r7, #4] 80b9ef0: 69ba ldr r2, [r7, #24] 80b9ef2: 60da str r2, [r3, #12] } /* In case of Alternate function mode selection */ if((GPIO_Init->Mode & GPIO_MODE) == MODE_AF) 80b9ef4: 683b ldr r3, [r7, #0] 80b9ef6: 685b ldr r3, [r3, #4] 80b9ef8: f003 0303 and.w r3, r3, #3 80b9efc: 2b02 cmp r3, #2 80b9efe: d123 bne.n 80b9f48 { /* 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]; 80b9f00: 69fb ldr r3, [r7, #28] 80b9f02: 08da lsrs r2, r3, #3 80b9f04: 687b ldr r3, [r7, #4] 80b9f06: 3208 adds r2, #8 80b9f08: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80b9f0c: 61bb str r3, [r7, #24] temp &= ~((uint32_t)0xF << ((uint32_t)(position & (uint32_t)0x07) * 4)) ; 80b9f0e: 69fb ldr r3, [r7, #28] 80b9f10: f003 0307 and.w r3, r3, #7 80b9f14: 009b lsls r3, r3, #2 80b9f16: 220f movs r2, #15 80b9f18: fa02 f303 lsl.w r3, r2, r3 80b9f1c: 43db mvns r3, r3 80b9f1e: 69ba ldr r2, [r7, #24] 80b9f20: 4013 ands r3, r2 80b9f22: 61bb str r3, [r7, #24] temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & (uint32_t)0x07) * 4)); 80b9f24: 683b ldr r3, [r7, #0] 80b9f26: 691a ldr r2, [r3, #16] 80b9f28: 69fb ldr r3, [r7, #28] 80b9f2a: f003 0307 and.w r3, r3, #7 80b9f2e: 009b lsls r3, r3, #2 80b9f30: fa02 f303 lsl.w r3, r2, r3 80b9f34: 69ba ldr r2, [r7, #24] 80b9f36: 4313 orrs r3, r2 80b9f38: 61bb str r3, [r7, #24] GPIOx->AFR[position >> 3] = temp; 80b9f3a: 69fb ldr r3, [r7, #28] 80b9f3c: 08da lsrs r2, r3, #3 80b9f3e: 687b ldr r3, [r7, #4] 80b9f40: 3208 adds r2, #8 80b9f42: 69b9 ldr r1, [r7, #24] 80b9f44: f843 1022 str.w r1, [r3, r2, lsl #2] } /* Configure IO Direction mode (Input, Output, Alternate or Analog) */ temp = GPIOx->MODER; 80b9f48: 687b ldr r3, [r7, #4] 80b9f4a: 681b ldr r3, [r3, #0] 80b9f4c: 61bb str r3, [r7, #24] temp &= ~(GPIO_MODER_MODER0 << (position * 2)); 80b9f4e: 69fb ldr r3, [r7, #28] 80b9f50: 005b lsls r3, r3, #1 80b9f52: 2203 movs r2, #3 80b9f54: fa02 f303 lsl.w r3, r2, r3 80b9f58: 43db mvns r3, r3 80b9f5a: 69ba ldr r2, [r7, #24] 80b9f5c: 4013 ands r3, r2 80b9f5e: 61bb str r3, [r7, #24] temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2)); 80b9f60: 683b ldr r3, [r7, #0] 80b9f62: 685b ldr r3, [r3, #4] 80b9f64: f003 0203 and.w r2, r3, #3 80b9f68: 69fb ldr r3, [r7, #28] 80b9f6a: 005b lsls r3, r3, #1 80b9f6c: fa02 f303 lsl.w r3, r2, r3 80b9f70: 69ba ldr r2, [r7, #24] 80b9f72: 4313 orrs r3, r2 80b9f74: 61bb str r3, [r7, #24] GPIOx->MODER = temp; 80b9f76: 687b ldr r3, [r7, #4] 80b9f78: 69ba ldr r2, [r7, #24] 80b9f7a: 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) 80b9f7c: 683b ldr r3, [r7, #0] 80b9f7e: 685b ldr r3, [r3, #4] 80b9f80: f403 3340 and.w r3, r3, #196608 ; 0x30000 80b9f84: 2b00 cmp r3, #0 80b9f86: f000 80be beq.w 80ba106 { /* Enable SYSCFG Clock */ __HAL_RCC_SYSCFG_CLK_ENABLE(); 80b9f8a: 4a65 ldr r2, [pc, #404] ; (80ba120 ) 80b9f8c: 4b64 ldr r3, [pc, #400] ; (80ba120 ) 80b9f8e: 6c5b ldr r3, [r3, #68] ; 0x44 80b9f90: f443 4380 orr.w r3, r3, #16384 ; 0x4000 80b9f94: 6453 str r3, [r2, #68] ; 0x44 80b9f96: 4b62 ldr r3, [pc, #392] ; (80ba120 ) 80b9f98: 6c5b ldr r3, [r3, #68] ; 0x44 80b9f9a: f403 4380 and.w r3, r3, #16384 ; 0x4000 80b9f9e: 60fb str r3, [r7, #12] 80b9fa0: 68fb ldr r3, [r7, #12] temp = SYSCFG->EXTICR[position >> 2]; 80b9fa2: 4a60 ldr r2, [pc, #384] ; (80ba124 ) 80b9fa4: 69fb ldr r3, [r7, #28] 80b9fa6: 089b lsrs r3, r3, #2 80b9fa8: 3302 adds r3, #2 80b9faa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80b9fae: 61bb str r3, [r7, #24] temp &= ~(((uint32_t)0x0F) << (4 * (position & 0x03))); 80b9fb0: 69fb ldr r3, [r7, #28] 80b9fb2: f003 0303 and.w r3, r3, #3 80b9fb6: 009b lsls r3, r3, #2 80b9fb8: 220f movs r2, #15 80b9fba: fa02 f303 lsl.w r3, r2, r3 80b9fbe: 43db mvns r3, r3 80b9fc0: 69ba ldr r2, [r7, #24] 80b9fc2: 4013 ands r3, r2 80b9fc4: 61bb str r3, [r7, #24] temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03))); 80b9fc6: 687b ldr r3, [r7, #4] 80b9fc8: 4a57 ldr r2, [pc, #348] ; (80ba128 ) 80b9fca: 4293 cmp r3, r2 80b9fcc: d037 beq.n 80ba03e 80b9fce: 687b ldr r3, [r7, #4] 80b9fd0: 4a56 ldr r2, [pc, #344] ; (80ba12c ) 80b9fd2: 4293 cmp r3, r2 80b9fd4: d031 beq.n 80ba03a 80b9fd6: 687b ldr r3, [r7, #4] 80b9fd8: 4a55 ldr r2, [pc, #340] ; (80ba130 ) 80b9fda: 4293 cmp r3, r2 80b9fdc: d02b beq.n 80ba036 80b9fde: 687b ldr r3, [r7, #4] 80b9fe0: 4a54 ldr r2, [pc, #336] ; (80ba134 ) 80b9fe2: 4293 cmp r3, r2 80b9fe4: d025 beq.n 80ba032 80b9fe6: 687b ldr r3, [r7, #4] 80b9fe8: 4a53 ldr r2, [pc, #332] ; (80ba138 ) 80b9fea: 4293 cmp r3, r2 80b9fec: d01f beq.n 80ba02e 80b9fee: 687b ldr r3, [r7, #4] 80b9ff0: 4a52 ldr r2, [pc, #328] ; (80ba13c ) 80b9ff2: 4293 cmp r3, r2 80b9ff4: d019 beq.n 80ba02a 80b9ff6: 687b ldr r3, [r7, #4] 80b9ff8: 4a51 ldr r2, [pc, #324] ; (80ba140 ) 80b9ffa: 4293 cmp r3, r2 80b9ffc: d013 beq.n 80ba026 80b9ffe: 687b ldr r3, [r7, #4] 80ba000: 4a50 ldr r2, [pc, #320] ; (80ba144 ) 80ba002: 4293 cmp r3, r2 80ba004: d00d beq.n 80ba022 80ba006: 687b ldr r3, [r7, #4] 80ba008: 4a4f ldr r2, [pc, #316] ; (80ba148 ) 80ba00a: 4293 cmp r3, r2 80ba00c: d007 beq.n 80ba01e 80ba00e: 687b ldr r3, [r7, #4] 80ba010: 4a4e ldr r2, [pc, #312] ; (80ba14c ) 80ba012: 4293 cmp r3, r2 80ba014: d101 bne.n 80ba01a 80ba016: 2309 movs r3, #9 80ba018: e012 b.n 80ba040 80ba01a: 230a movs r3, #10 80ba01c: e010 b.n 80ba040 80ba01e: 2308 movs r3, #8 80ba020: e00e b.n 80ba040 80ba022: 2307 movs r3, #7 80ba024: e00c b.n 80ba040 80ba026: 2306 movs r3, #6 80ba028: e00a b.n 80ba040 80ba02a: 2305 movs r3, #5 80ba02c: e008 b.n 80ba040 80ba02e: 2304 movs r3, #4 80ba030: e006 b.n 80ba040 80ba032: 2303 movs r3, #3 80ba034: e004 b.n 80ba040 80ba036: 2302 movs r3, #2 80ba038: e002 b.n 80ba040 80ba03a: 2301 movs r3, #1 80ba03c: e000 b.n 80ba040 80ba03e: 2300 movs r3, #0 80ba040: 69fa ldr r2, [r7, #28] 80ba042: f002 0203 and.w r2, r2, #3 80ba046: 0092 lsls r2, r2, #2 80ba048: 4093 lsls r3, r2 80ba04a: 69ba ldr r2, [r7, #24] 80ba04c: 4313 orrs r3, r2 80ba04e: 61bb str r3, [r7, #24] SYSCFG->EXTICR[position >> 2] = temp; 80ba050: 4934 ldr r1, [pc, #208] ; (80ba124 ) 80ba052: 69fb ldr r3, [r7, #28] 80ba054: 089b lsrs r3, r3, #2 80ba056: 3302 adds r3, #2 80ba058: 69ba ldr r2, [r7, #24] 80ba05a: f841 2023 str.w r2, [r1, r3, lsl #2] /* Clear Rising Falling edge configuration */ temp = EXTI->RTSR; 80ba05e: 4b3c ldr r3, [pc, #240] ; (80ba150 ) 80ba060: 689b ldr r3, [r3, #8] 80ba062: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); 80ba064: 693b ldr r3, [r7, #16] 80ba066: 43db mvns r3, r3 80ba068: 69ba ldr r2, [r7, #24] 80ba06a: 4013 ands r3, r2 80ba06c: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & TRIGGER_RISING) != 0x00u) 80ba06e: 683b ldr r3, [r7, #0] 80ba070: 685b ldr r3, [r3, #4] 80ba072: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80ba076: 2b00 cmp r3, #0 80ba078: d003 beq.n 80ba082 { temp |= iocurrent; 80ba07a: 69ba ldr r2, [r7, #24] 80ba07c: 693b ldr r3, [r7, #16] 80ba07e: 4313 orrs r3, r2 80ba080: 61bb str r3, [r7, #24] } EXTI->RTSR = temp; 80ba082: 4a33 ldr r2, [pc, #204] ; (80ba150 ) 80ba084: 69bb ldr r3, [r7, #24] 80ba086: 6093 str r3, [r2, #8] temp = EXTI->FTSR; 80ba088: 4b31 ldr r3, [pc, #196] ; (80ba150 ) 80ba08a: 68db ldr r3, [r3, #12] 80ba08c: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); 80ba08e: 693b ldr r3, [r7, #16] 80ba090: 43db mvns r3, r3 80ba092: 69ba ldr r2, [r7, #24] 80ba094: 4013 ands r3, r2 80ba096: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & TRIGGER_FALLING) != 0x00u) 80ba098: 683b ldr r3, [r7, #0] 80ba09a: 685b ldr r3, [r3, #4] 80ba09c: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80ba0a0: 2b00 cmp r3, #0 80ba0a2: d003 beq.n 80ba0ac { temp |= iocurrent; 80ba0a4: 69ba ldr r2, [r7, #24] 80ba0a6: 693b ldr r3, [r7, #16] 80ba0a8: 4313 orrs r3, r2 80ba0aa: 61bb str r3, [r7, #24] } EXTI->FTSR = temp; 80ba0ac: 4a28 ldr r2, [pc, #160] ; (80ba150 ) 80ba0ae: 69bb ldr r3, [r7, #24] 80ba0b0: 60d3 str r3, [r2, #12] temp = EXTI->EMR; 80ba0b2: 4b27 ldr r3, [pc, #156] ; (80ba150 ) 80ba0b4: 685b ldr r3, [r3, #4] 80ba0b6: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); 80ba0b8: 693b ldr r3, [r7, #16] 80ba0ba: 43db mvns r3, r3 80ba0bc: 69ba ldr r2, [r7, #24] 80ba0be: 4013 ands r3, r2 80ba0c0: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & EXTI_EVT) != 0x00u) 80ba0c2: 683b ldr r3, [r7, #0] 80ba0c4: 685b ldr r3, [r3, #4] 80ba0c6: f403 3300 and.w r3, r3, #131072 ; 0x20000 80ba0ca: 2b00 cmp r3, #0 80ba0cc: d003 beq.n 80ba0d6 { temp |= iocurrent; 80ba0ce: 69ba ldr r2, [r7, #24] 80ba0d0: 693b ldr r3, [r7, #16] 80ba0d2: 4313 orrs r3, r2 80ba0d4: 61bb str r3, [r7, #24] } EXTI->EMR = temp; 80ba0d6: 4a1e ldr r2, [pc, #120] ; (80ba150 ) 80ba0d8: 69bb ldr r3, [r7, #24] 80ba0da: 6053 str r3, [r2, #4] /* Clear EXTI line configuration */ temp = EXTI->IMR; 80ba0dc: 4b1c ldr r3, [pc, #112] ; (80ba150 ) 80ba0de: 681b ldr r3, [r3, #0] 80ba0e0: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); 80ba0e2: 693b ldr r3, [r7, #16] 80ba0e4: 43db mvns r3, r3 80ba0e6: 69ba ldr r2, [r7, #24] 80ba0e8: 4013 ands r3, r2 80ba0ea: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & EXTI_IT) != 0x00u) 80ba0ec: 683b ldr r3, [r7, #0] 80ba0ee: 685b ldr r3, [r3, #4] 80ba0f0: f403 3380 and.w r3, r3, #65536 ; 0x10000 80ba0f4: 2b00 cmp r3, #0 80ba0f6: d003 beq.n 80ba100 { temp |= iocurrent; 80ba0f8: 69ba ldr r2, [r7, #24] 80ba0fa: 693b ldr r3, [r7, #16] 80ba0fc: 4313 orrs r3, r2 80ba0fe: 61bb str r3, [r7, #24] } EXTI->IMR = temp; 80ba100: 4a13 ldr r2, [pc, #76] ; (80ba150 ) 80ba102: 69bb ldr r3, [r7, #24] 80ba104: 6013 str r3, [r2, #0] for(position = 0; position < GPIO_NUMBER; position++) 80ba106: 69fb ldr r3, [r7, #28] 80ba108: 3301 adds r3, #1 80ba10a: 61fb str r3, [r7, #28] 80ba10c: 69fb ldr r3, [r7, #28] 80ba10e: 2b0f cmp r3, #15 80ba110: f67f ae86 bls.w 80b9e20 } } } } 80ba114: bf00 nop 80ba116: 3724 adds r7, #36 ; 0x24 80ba118: 46bd mov sp, r7 80ba11a: f85d 7b04 ldr.w r7, [sp], #4 80ba11e: 4770 bx lr 80ba120: 40023800 .word 0x40023800 80ba124: 40013800 .word 0x40013800 80ba128: 40020000 .word 0x40020000 80ba12c: 40020400 .word 0x40020400 80ba130: 40020800 .word 0x40020800 80ba134: 40020c00 .word 0x40020c00 80ba138: 40021000 .word 0x40021000 80ba13c: 40021400 .word 0x40021400 80ba140: 40021800 .word 0x40021800 80ba144: 40021c00 .word 0x40021c00 80ba148: 40022000 .word 0x40022000 80ba14c: 40022400 .word 0x40022400 80ba150: 40013c00 .word 0x40013c00 080ba154 : * @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) { 80ba154: b480 push {r7} 80ba156: b087 sub sp, #28 80ba158: af00 add r7, sp, #0 80ba15a: 6078 str r0, [r7, #4] 80ba15c: 6039 str r1, [r7, #0] uint32_t position; uint32_t ioposition = 0x00; 80ba15e: 2300 movs r3, #0 80ba160: 613b str r3, [r7, #16] uint32_t iocurrent = 0x00; 80ba162: 2300 movs r3, #0 80ba164: 60fb str r3, [r7, #12] uint32_t tmp = 0x00; 80ba166: 2300 movs r3, #0 80ba168: 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++) 80ba16a: 2300 movs r3, #0 80ba16c: 617b str r3, [r7, #20] 80ba16e: e0da b.n 80ba326 { /* Get the IO position */ ioposition = ((uint32_t)0x01) << position; 80ba170: 2201 movs r2, #1 80ba172: 697b ldr r3, [r7, #20] 80ba174: fa02 f303 lsl.w r3, r2, r3 80ba178: 613b str r3, [r7, #16] /* Get the current IO position */ iocurrent = (GPIO_Pin) & ioposition; 80ba17a: 683a ldr r2, [r7, #0] 80ba17c: 693b ldr r3, [r7, #16] 80ba17e: 4013 ands r3, r2 80ba180: 60fb str r3, [r7, #12] if(iocurrent == ioposition) 80ba182: 68fa ldr r2, [r7, #12] 80ba184: 693b ldr r3, [r7, #16] 80ba186: 429a cmp r2, r3 80ba188: f040 80ca bne.w 80ba320 { /*------------------------- EXTI Mode Configuration --------------------*/ tmp = SYSCFG->EXTICR[position >> 2]; 80ba18c: 4a6b ldr r2, [pc, #428] ; (80ba33c ) 80ba18e: 697b ldr r3, [r7, #20] 80ba190: 089b lsrs r3, r3, #2 80ba192: 3302 adds r3, #2 80ba194: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80ba198: 60bb str r3, [r7, #8] tmp &= (((uint32_t)0x0F) << (4 * (position & 0x03))); 80ba19a: 697b ldr r3, [r7, #20] 80ba19c: f003 0303 and.w r3, r3, #3 80ba1a0: 009b lsls r3, r3, #2 80ba1a2: 220f movs r2, #15 80ba1a4: fa02 f303 lsl.w r3, r2, r3 80ba1a8: 68ba ldr r2, [r7, #8] 80ba1aa: 4013 ands r3, r2 80ba1ac: 60bb str r3, [r7, #8] if(tmp == ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03)))) 80ba1ae: 687b ldr r3, [r7, #4] 80ba1b0: 4a63 ldr r2, [pc, #396] ; (80ba340 ) 80ba1b2: 4293 cmp r3, r2 80ba1b4: d037 beq.n 80ba226 80ba1b6: 687b ldr r3, [r7, #4] 80ba1b8: 4a62 ldr r2, [pc, #392] ; (80ba344 ) 80ba1ba: 4293 cmp r3, r2 80ba1bc: d031 beq.n 80ba222 80ba1be: 687b ldr r3, [r7, #4] 80ba1c0: 4a61 ldr r2, [pc, #388] ; (80ba348 ) 80ba1c2: 4293 cmp r3, r2 80ba1c4: d02b beq.n 80ba21e 80ba1c6: 687b ldr r3, [r7, #4] 80ba1c8: 4a60 ldr r2, [pc, #384] ; (80ba34c ) 80ba1ca: 4293 cmp r3, r2 80ba1cc: d025 beq.n 80ba21a 80ba1ce: 687b ldr r3, [r7, #4] 80ba1d0: 4a5f ldr r2, [pc, #380] ; (80ba350 ) 80ba1d2: 4293 cmp r3, r2 80ba1d4: d01f beq.n 80ba216 80ba1d6: 687b ldr r3, [r7, #4] 80ba1d8: 4a5e ldr r2, [pc, #376] ; (80ba354 ) 80ba1da: 4293 cmp r3, r2 80ba1dc: d019 beq.n 80ba212 80ba1de: 687b ldr r3, [r7, #4] 80ba1e0: 4a5d ldr r2, [pc, #372] ; (80ba358 ) 80ba1e2: 4293 cmp r3, r2 80ba1e4: d013 beq.n 80ba20e 80ba1e6: 687b ldr r3, [r7, #4] 80ba1e8: 4a5c ldr r2, [pc, #368] ; (80ba35c ) 80ba1ea: 4293 cmp r3, r2 80ba1ec: d00d beq.n 80ba20a 80ba1ee: 687b ldr r3, [r7, #4] 80ba1f0: 4a5b ldr r2, [pc, #364] ; (80ba360 ) 80ba1f2: 4293 cmp r3, r2 80ba1f4: d007 beq.n 80ba206 80ba1f6: 687b ldr r3, [r7, #4] 80ba1f8: 4a5a ldr r2, [pc, #360] ; (80ba364 ) 80ba1fa: 4293 cmp r3, r2 80ba1fc: d101 bne.n 80ba202 80ba1fe: 2309 movs r3, #9 80ba200: e012 b.n 80ba228 80ba202: 230a movs r3, #10 80ba204: e010 b.n 80ba228 80ba206: 2308 movs r3, #8 80ba208: e00e b.n 80ba228 80ba20a: 2307 movs r3, #7 80ba20c: e00c b.n 80ba228 80ba20e: 2306 movs r3, #6 80ba210: e00a b.n 80ba228 80ba212: 2305 movs r3, #5 80ba214: e008 b.n 80ba228 80ba216: 2304 movs r3, #4 80ba218: e006 b.n 80ba228 80ba21a: 2303 movs r3, #3 80ba21c: e004 b.n 80ba228 80ba21e: 2302 movs r3, #2 80ba220: e002 b.n 80ba228 80ba222: 2301 movs r3, #1 80ba224: e000 b.n 80ba228 80ba226: 2300 movs r3, #0 80ba228: 697a ldr r2, [r7, #20] 80ba22a: f002 0203 and.w r2, r2, #3 80ba22e: 0092 lsls r2, r2, #2 80ba230: fa03 f202 lsl.w r2, r3, r2 80ba234: 68bb ldr r3, [r7, #8] 80ba236: 429a cmp r2, r3 80ba238: d132 bne.n 80ba2a0 { /* Clear EXTI line configuration */ EXTI->IMR &= ~((uint32_t)iocurrent); 80ba23a: 494b ldr r1, [pc, #300] ; (80ba368 ) 80ba23c: 4b4a ldr r3, [pc, #296] ; (80ba368 ) 80ba23e: 681a ldr r2, [r3, #0] 80ba240: 68fb ldr r3, [r7, #12] 80ba242: 43db mvns r3, r3 80ba244: 4013 ands r3, r2 80ba246: 600b str r3, [r1, #0] EXTI->EMR &= ~((uint32_t)iocurrent); 80ba248: 4947 ldr r1, [pc, #284] ; (80ba368 ) 80ba24a: 4b47 ldr r3, [pc, #284] ; (80ba368 ) 80ba24c: 685a ldr r2, [r3, #4] 80ba24e: 68fb ldr r3, [r7, #12] 80ba250: 43db mvns r3, r3 80ba252: 4013 ands r3, r2 80ba254: 604b str r3, [r1, #4] /* Clear Rising Falling edge configuration */ EXTI->FTSR &= ~((uint32_t)iocurrent); 80ba256: 4944 ldr r1, [pc, #272] ; (80ba368 ) 80ba258: 4b43 ldr r3, [pc, #268] ; (80ba368 ) 80ba25a: 68da ldr r2, [r3, #12] 80ba25c: 68fb ldr r3, [r7, #12] 80ba25e: 43db mvns r3, r3 80ba260: 4013 ands r3, r2 80ba262: 60cb str r3, [r1, #12] EXTI->RTSR &= ~((uint32_t)iocurrent); 80ba264: 4940 ldr r1, [pc, #256] ; (80ba368 ) 80ba266: 4b40 ldr r3, [pc, #256] ; (80ba368 ) 80ba268: 689a ldr r2, [r3, #8] 80ba26a: 68fb ldr r3, [r7, #12] 80ba26c: 43db mvns r3, r3 80ba26e: 4013 ands r3, r2 80ba270: 608b str r3, [r1, #8] /* Configure the External Interrupt or event for the current IO */ tmp = ((uint32_t)0x0F) << (4 * (position & 0x03)); 80ba272: 697b ldr r3, [r7, #20] 80ba274: f003 0303 and.w r3, r3, #3 80ba278: 009b lsls r3, r3, #2 80ba27a: 220f movs r2, #15 80ba27c: fa02 f303 lsl.w r3, r2, r3 80ba280: 60bb str r3, [r7, #8] SYSCFG->EXTICR[position >> 2] &= ~tmp; 80ba282: 482e ldr r0, [pc, #184] ; (80ba33c ) 80ba284: 697b ldr r3, [r7, #20] 80ba286: 089b lsrs r3, r3, #2 80ba288: 492c ldr r1, [pc, #176] ; (80ba33c ) 80ba28a: 697a ldr r2, [r7, #20] 80ba28c: 0892 lsrs r2, r2, #2 80ba28e: 3202 adds r2, #2 80ba290: f851 1022 ldr.w r1, [r1, r2, lsl #2] 80ba294: 68ba ldr r2, [r7, #8] 80ba296: 43d2 mvns r2, r2 80ba298: 400a ands r2, r1 80ba29a: 3302 adds r3, #2 80ba29c: 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)); 80ba2a0: 687b ldr r3, [r7, #4] 80ba2a2: 681a ldr r2, [r3, #0] 80ba2a4: 697b ldr r3, [r7, #20] 80ba2a6: 005b lsls r3, r3, #1 80ba2a8: 2103 movs r1, #3 80ba2aa: fa01 f303 lsl.w r3, r1, r3 80ba2ae: 43db mvns r3, r3 80ba2b0: 401a ands r2, r3 80ba2b2: 687b ldr r3, [r7, #4] 80ba2b4: 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)) ; 80ba2b6: 697b ldr r3, [r7, #20] 80ba2b8: 08da lsrs r2, r3, #3 80ba2ba: 697b ldr r3, [r7, #20] 80ba2bc: 08d9 lsrs r1, r3, #3 80ba2be: 687b ldr r3, [r7, #4] 80ba2c0: 3108 adds r1, #8 80ba2c2: f853 1021 ldr.w r1, [r3, r1, lsl #2] 80ba2c6: 697b ldr r3, [r7, #20] 80ba2c8: f003 0307 and.w r3, r3, #7 80ba2cc: 009b lsls r3, r3, #2 80ba2ce: 200f movs r0, #15 80ba2d0: fa00 f303 lsl.w r3, r0, r3 80ba2d4: 43db mvns r3, r3 80ba2d6: 4019 ands r1, r3 80ba2d8: 687b ldr r3, [r7, #4] 80ba2da: 3208 adds r2, #8 80ba2dc: 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)); 80ba2e0: 687b ldr r3, [r7, #4] 80ba2e2: 68da ldr r2, [r3, #12] 80ba2e4: 697b ldr r3, [r7, #20] 80ba2e6: 005b lsls r3, r3, #1 80ba2e8: 2103 movs r1, #3 80ba2ea: fa01 f303 lsl.w r3, r1, r3 80ba2ee: 43db mvns r3, r3 80ba2f0: 401a ands r2, r3 80ba2f2: 687b ldr r3, [r7, #4] 80ba2f4: 60da str r2, [r3, #12] /* Configure the default value IO Output Type */ GPIOx->OTYPER &= ~(GPIO_OTYPER_OT_0 << position) ; 80ba2f6: 687b ldr r3, [r7, #4] 80ba2f8: 685a ldr r2, [r3, #4] 80ba2fa: 2101 movs r1, #1 80ba2fc: 697b ldr r3, [r7, #20] 80ba2fe: fa01 f303 lsl.w r3, r1, r3 80ba302: 43db mvns r3, r3 80ba304: 401a ands r2, r3 80ba306: 687b ldr r3, [r7, #4] 80ba308: 605a str r2, [r3, #4] /* Configure the default value for IO Speed */ GPIOx->OSPEEDR &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2)); 80ba30a: 687b ldr r3, [r7, #4] 80ba30c: 689a ldr r2, [r3, #8] 80ba30e: 697b ldr r3, [r7, #20] 80ba310: 005b lsls r3, r3, #1 80ba312: 2103 movs r1, #3 80ba314: fa01 f303 lsl.w r3, r1, r3 80ba318: 43db mvns r3, r3 80ba31a: 401a ands r2, r3 80ba31c: 687b ldr r3, [r7, #4] 80ba31e: 609a str r2, [r3, #8] for(position = 0; position < GPIO_NUMBER; position++) 80ba320: 697b ldr r3, [r7, #20] 80ba322: 3301 adds r3, #1 80ba324: 617b str r3, [r7, #20] 80ba326: 697b ldr r3, [r7, #20] 80ba328: 2b0f cmp r3, #15 80ba32a: f67f af21 bls.w 80ba170 } } } 80ba32e: bf00 nop 80ba330: 371c adds r7, #28 80ba332: 46bd mov sp, r7 80ba334: f85d 7b04 ldr.w r7, [sp], #4 80ba338: 4770 bx lr 80ba33a: bf00 nop 80ba33c: 40013800 .word 0x40013800 80ba340: 40020000 .word 0x40020000 80ba344: 40020400 .word 0x40020400 80ba348: 40020800 .word 0x40020800 80ba34c: 40020c00 .word 0x40020c00 80ba350: 40021000 .word 0x40021000 80ba354: 40021400 .word 0x40021400 80ba358: 40021800 .word 0x40021800 80ba35c: 40021c00 .word 0x40021c00 80ba360: 40022000 .word 0x40022000 80ba364: 40022400 .word 0x40022400 80ba368: 40013c00 .word 0x40013c00 080ba36c : * @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) { 80ba36c: b480 push {r7} 80ba36e: b085 sub sp, #20 80ba370: af00 add r7, sp, #0 80ba372: 6078 str r0, [r7, #4] 80ba374: 460b mov r3, r1 80ba376: 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) 80ba378: 687b ldr r3, [r7, #4] 80ba37a: 691a ldr r2, [r3, #16] 80ba37c: 887b ldrh r3, [r7, #2] 80ba37e: 4013 ands r3, r2 80ba380: 2b00 cmp r3, #0 80ba382: d002 beq.n 80ba38a { bitstatus = GPIO_PIN_SET; 80ba384: 2301 movs r3, #1 80ba386: 73fb strb r3, [r7, #15] 80ba388: e001 b.n 80ba38e } else { bitstatus = GPIO_PIN_RESET; 80ba38a: 2300 movs r3, #0 80ba38c: 73fb strb r3, [r7, #15] } return bitstatus; 80ba38e: 7bfb ldrb r3, [r7, #15] } 80ba390: 4618 mov r0, r3 80ba392: 3714 adds r7, #20 80ba394: 46bd mov sp, r7 80ba396: f85d 7b04 ldr.w r7, [sp], #4 80ba39a: 4770 bx lr 080ba39c : * @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) { 80ba39c: b480 push {r7} 80ba39e: b083 sub sp, #12 80ba3a0: af00 add r7, sp, #0 80ba3a2: 6078 str r0, [r7, #4] 80ba3a4: 460b mov r3, r1 80ba3a6: 807b strh r3, [r7, #2] 80ba3a8: 4613 mov r3, r2 80ba3aa: 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) 80ba3ac: 787b ldrb r3, [r7, #1] 80ba3ae: 2b00 cmp r3, #0 80ba3b0: d003 beq.n 80ba3ba { GPIOx->BSRR = GPIO_Pin; 80ba3b2: 887a ldrh r2, [r7, #2] 80ba3b4: 687b ldr r3, [r7, #4] 80ba3b6: 619a str r2, [r3, #24] } else { GPIOx->BSRR = (uint32_t)GPIO_Pin << 16; } } 80ba3b8: e003 b.n 80ba3c2 GPIOx->BSRR = (uint32_t)GPIO_Pin << 16; 80ba3ba: 887b ldrh r3, [r7, #2] 80ba3bc: 041a lsls r2, r3, #16 80ba3be: 687b ldr r3, [r7, #4] 80ba3c0: 619a str r2, [r3, #24] } 80ba3c2: bf00 nop 80ba3c4: 370c adds r7, #12 80ba3c6: 46bd mov sp, r7 80ba3c8: f85d 7b04 ldr.w r7, [sp], #4 80ba3cc: 4770 bx lr ... 080ba3d0 : * @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) { 80ba3d0: b580 push {r7, lr} 80ba3d2: b082 sub sp, #8 80ba3d4: af00 add r7, sp, #0 80ba3d6: 4603 mov r3, r0 80ba3d8: 80fb strh r3, [r7, #6] /* EXTI line interrupt detected */ if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != RESET) 80ba3da: 4b08 ldr r3, [pc, #32] ; (80ba3fc ) 80ba3dc: 695a ldr r2, [r3, #20] 80ba3de: 88fb ldrh r3, [r7, #6] 80ba3e0: 4013 ands r3, r2 80ba3e2: 2b00 cmp r3, #0 80ba3e4: d006 beq.n 80ba3f4 { __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); 80ba3e6: 4a05 ldr r2, [pc, #20] ; (80ba3fc ) 80ba3e8: 88fb ldrh r3, [r7, #6] 80ba3ea: 6153 str r3, [r2, #20] HAL_GPIO_EXTI_Callback(GPIO_Pin); 80ba3ec: 88fb ldrh r3, [r7, #6] 80ba3ee: 4618 mov r0, r3 80ba3f0: f7af fa24 bl 806983c } } 80ba3f4: bf00 nop 80ba3f6: 3708 adds r7, #8 80ba3f8: 46bd mov sp, r7 80ba3fa: bd80 pop {r7, pc} 80ba3fc: 40013c00 .word 0x40013c00 080ba400 : * @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) { 80ba400: b580 push {r7, lr} 80ba402: b084 sub sp, #16 80ba404: af00 add r7, sp, #0 80ba406: 6078 str r0, [r7, #4] uint32_t tmp, tmp1; /* Check the LTDC peripheral state */ if (hltdc == NULL) 80ba408: 687b ldr r3, [r7, #4] 80ba40a: 2b00 cmp r3, #0 80ba40c: d101 bne.n 80ba412 { return HAL_ERROR; 80ba40e: 2301 movs r3, #1 80ba410: e0bf b.n 80ba592 } /* Init the low level hardware */ hltdc->MspInitCallback(hltdc); } #else if (hltdc->State == HAL_LTDC_STATE_RESET) 80ba412: 687b ldr r3, [r7, #4] 80ba414: f893 30a1 ldrb.w r3, [r3, #161] ; 0xa1 80ba418: b2db uxtb r3, r3 80ba41a: 2b00 cmp r3, #0 80ba41c: d106 bne.n 80ba42c { /* Allocate lock resource and initialize it */ hltdc->Lock = HAL_UNLOCKED; 80ba41e: 687b ldr r3, [r7, #4] 80ba420: 2200 movs r2, #0 80ba422: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 /* Init the low level hardware */ HAL_LTDC_MspInit(hltdc); 80ba426: 6878 ldr r0, [r7, #4] 80ba428: f79a fd8a bl 8054f40 } #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ /* Change LTDC peripheral state */ hltdc->State = HAL_LTDC_STATE_BUSY; 80ba42c: 687b ldr r3, [r7, #4] 80ba42e: 2202 movs r2, #2 80ba430: 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); 80ba434: 687b ldr r3, [r7, #4] 80ba436: 681b ldr r3, [r3, #0] 80ba438: 687a ldr r2, [r7, #4] 80ba43a: 6812 ldr r2, [r2, #0] 80ba43c: 6992 ldr r2, [r2, #24] 80ba43e: f022 4270 bic.w r2, r2, #4026531840 ; 0xf0000000 80ba442: 619a str r2, [r3, #24] hltdc->Instance->GCR |= (uint32_t)(hltdc->Init.HSPolarity | hltdc->Init.VSPolarity | \ 80ba444: 687b ldr r3, [r7, #4] 80ba446: 681b ldr r3, [r3, #0] 80ba448: 687a ldr r2, [r7, #4] 80ba44a: 6812 ldr r2, [r2, #0] 80ba44c: 6991 ldr r1, [r2, #24] 80ba44e: 687a ldr r2, [r7, #4] 80ba450: 6850 ldr r0, [r2, #4] 80ba452: 687a ldr r2, [r7, #4] 80ba454: 6892 ldr r2, [r2, #8] 80ba456: 4310 orrs r0, r2 hltdc->Init.DEPolarity | hltdc->Init.PCPolarity); 80ba458: 687a ldr r2, [r7, #4] 80ba45a: 68d2 ldr r2, [r2, #12] hltdc->Instance->GCR |= (uint32_t)(hltdc->Init.HSPolarity | hltdc->Init.VSPolarity | \ 80ba45c: 4310 orrs r0, r2 hltdc->Init.DEPolarity | hltdc->Init.PCPolarity); 80ba45e: 687a ldr r2, [r7, #4] 80ba460: 6912 ldr r2, [r2, #16] 80ba462: 4302 orrs r2, r0 hltdc->Instance->GCR |= (uint32_t)(hltdc->Init.HSPolarity | hltdc->Init.VSPolarity | \ 80ba464: 430a orrs r2, r1 80ba466: 619a str r2, [r3, #24] /* Set Synchronization size */ hltdc->Instance->SSCR &= ~(LTDC_SSCR_VSH | LTDC_SSCR_HSW); 80ba468: 687b ldr r3, [r7, #4] 80ba46a: 681a ldr r2, [r3, #0] 80ba46c: 687b ldr r3, [r7, #4] 80ba46e: 681b ldr r3, [r3, #0] 80ba470: 6899 ldr r1, [r3, #8] 80ba472: 4b4a ldr r3, [pc, #296] ; (80ba59c ) 80ba474: 400b ands r3, r1 80ba476: 6093 str r3, [r2, #8] tmp = (hltdc->Init.HorizontalSync << 16U); 80ba478: 687b ldr r3, [r7, #4] 80ba47a: 695b ldr r3, [r3, #20] 80ba47c: 041b lsls r3, r3, #16 80ba47e: 60fb str r3, [r7, #12] hltdc->Instance->SSCR |= (tmp | hltdc->Init.VerticalSync); 80ba480: 687b ldr r3, [r7, #4] 80ba482: 681b ldr r3, [r3, #0] 80ba484: 687a ldr r2, [r7, #4] 80ba486: 6812 ldr r2, [r2, #0] 80ba488: 6891 ldr r1, [r2, #8] 80ba48a: 687a ldr r2, [r7, #4] 80ba48c: 6990 ldr r0, [r2, #24] 80ba48e: 68fa ldr r2, [r7, #12] 80ba490: 4302 orrs r2, r0 80ba492: 430a orrs r2, r1 80ba494: 609a str r2, [r3, #8] /* Set Accumulated Back porch */ hltdc->Instance->BPCR &= ~(LTDC_BPCR_AVBP | LTDC_BPCR_AHBP); 80ba496: 687b ldr r3, [r7, #4] 80ba498: 681a ldr r2, [r3, #0] 80ba49a: 687b ldr r3, [r7, #4] 80ba49c: 681b ldr r3, [r3, #0] 80ba49e: 68d9 ldr r1, [r3, #12] 80ba4a0: 4b3e ldr r3, [pc, #248] ; (80ba59c ) 80ba4a2: 400b ands r3, r1 80ba4a4: 60d3 str r3, [r2, #12] tmp = (hltdc->Init.AccumulatedHBP << 16U); 80ba4a6: 687b ldr r3, [r7, #4] 80ba4a8: 69db ldr r3, [r3, #28] 80ba4aa: 041b lsls r3, r3, #16 80ba4ac: 60fb str r3, [r7, #12] hltdc->Instance->BPCR |= (tmp | hltdc->Init.AccumulatedVBP); 80ba4ae: 687b ldr r3, [r7, #4] 80ba4b0: 681b ldr r3, [r3, #0] 80ba4b2: 687a ldr r2, [r7, #4] 80ba4b4: 6812 ldr r2, [r2, #0] 80ba4b6: 68d1 ldr r1, [r2, #12] 80ba4b8: 687a ldr r2, [r7, #4] 80ba4ba: 6a10 ldr r0, [r2, #32] 80ba4bc: 68fa ldr r2, [r7, #12] 80ba4be: 4302 orrs r2, r0 80ba4c0: 430a orrs r2, r1 80ba4c2: 60da str r2, [r3, #12] /* Set Accumulated Active Width */ hltdc->Instance->AWCR &= ~(LTDC_AWCR_AAH | LTDC_AWCR_AAW); 80ba4c4: 687b ldr r3, [r7, #4] 80ba4c6: 681a ldr r2, [r3, #0] 80ba4c8: 687b ldr r3, [r7, #4] 80ba4ca: 681b ldr r3, [r3, #0] 80ba4cc: 6919 ldr r1, [r3, #16] 80ba4ce: 4b33 ldr r3, [pc, #204] ; (80ba59c ) 80ba4d0: 400b ands r3, r1 80ba4d2: 6113 str r3, [r2, #16] tmp = (hltdc->Init.AccumulatedActiveW << 16U); 80ba4d4: 687b ldr r3, [r7, #4] 80ba4d6: 6a5b ldr r3, [r3, #36] ; 0x24 80ba4d8: 041b lsls r3, r3, #16 80ba4da: 60fb str r3, [r7, #12] hltdc->Instance->AWCR |= (tmp | hltdc->Init.AccumulatedActiveH); 80ba4dc: 687b ldr r3, [r7, #4] 80ba4de: 681b ldr r3, [r3, #0] 80ba4e0: 687a ldr r2, [r7, #4] 80ba4e2: 6812 ldr r2, [r2, #0] 80ba4e4: 6911 ldr r1, [r2, #16] 80ba4e6: 687a ldr r2, [r7, #4] 80ba4e8: 6a90 ldr r0, [r2, #40] ; 0x28 80ba4ea: 68fa ldr r2, [r7, #12] 80ba4ec: 4302 orrs r2, r0 80ba4ee: 430a orrs r2, r1 80ba4f0: 611a str r2, [r3, #16] /* Set Total Width */ hltdc->Instance->TWCR &= ~(LTDC_TWCR_TOTALH | LTDC_TWCR_TOTALW); 80ba4f2: 687b ldr r3, [r7, #4] 80ba4f4: 681a ldr r2, [r3, #0] 80ba4f6: 687b ldr r3, [r7, #4] 80ba4f8: 681b ldr r3, [r3, #0] 80ba4fa: 6959 ldr r1, [r3, #20] 80ba4fc: 4b27 ldr r3, [pc, #156] ; (80ba59c ) 80ba4fe: 400b ands r3, r1 80ba500: 6153 str r3, [r2, #20] tmp = (hltdc->Init.TotalWidth << 16U); 80ba502: 687b ldr r3, [r7, #4] 80ba504: 6adb ldr r3, [r3, #44] ; 0x2c 80ba506: 041b lsls r3, r3, #16 80ba508: 60fb str r3, [r7, #12] hltdc->Instance->TWCR |= (tmp | hltdc->Init.TotalHeigh); 80ba50a: 687b ldr r3, [r7, #4] 80ba50c: 681b ldr r3, [r3, #0] 80ba50e: 687a ldr r2, [r7, #4] 80ba510: 6812 ldr r2, [r2, #0] 80ba512: 6951 ldr r1, [r2, #20] 80ba514: 687a ldr r2, [r7, #4] 80ba516: 6b10 ldr r0, [r2, #48] ; 0x30 80ba518: 68fa ldr r2, [r7, #12] 80ba51a: 4302 orrs r2, r0 80ba51c: 430a orrs r2, r1 80ba51e: 615a str r2, [r3, #20] /* Set the background color value */ tmp = ((uint32_t)(hltdc->Init.Backcolor.Green) << 8U); 80ba520: 687b ldr r3, [r7, #4] 80ba522: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80ba526: 021b lsls r3, r3, #8 80ba528: 60fb str r3, [r7, #12] tmp1 = ((uint32_t)(hltdc->Init.Backcolor.Red) << 16U); 80ba52a: 687b ldr r3, [r7, #4] 80ba52c: f893 3036 ldrb.w r3, [r3, #54] ; 0x36 80ba530: 041b lsls r3, r3, #16 80ba532: 60bb str r3, [r7, #8] hltdc->Instance->BCCR &= ~(LTDC_BCCR_BCBLUE | LTDC_BCCR_BCGREEN | LTDC_BCCR_BCRED); 80ba534: 687b ldr r3, [r7, #4] 80ba536: 681b ldr r3, [r3, #0] 80ba538: 687a ldr r2, [r7, #4] 80ba53a: 6812 ldr r2, [r2, #0] 80ba53c: 6ad2 ldr r2, [r2, #44] ; 0x2c 80ba53e: f002 427f and.w r2, r2, #4278190080 ; 0xff000000 80ba542: 62da str r2, [r3, #44] ; 0x2c hltdc->Instance->BCCR |= (tmp1 | tmp | hltdc->Init.Backcolor.Blue); 80ba544: 687b ldr r3, [r7, #4] 80ba546: 681b ldr r3, [r3, #0] 80ba548: 687a ldr r2, [r7, #4] 80ba54a: 6812 ldr r2, [r2, #0] 80ba54c: 6ad1 ldr r1, [r2, #44] ; 0x2c 80ba54e: 68b8 ldr r0, [r7, #8] 80ba550: 68fa ldr r2, [r7, #12] 80ba552: 4302 orrs r2, r0 80ba554: 6878 ldr r0, [r7, #4] 80ba556: f890 0034 ldrb.w r0, [r0, #52] ; 0x34 80ba55a: 4302 orrs r2, r0 80ba55c: 430a orrs r2, r1 80ba55e: 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); 80ba560: 687b ldr r3, [r7, #4] 80ba562: 681b ldr r3, [r3, #0] 80ba564: 687a ldr r2, [r7, #4] 80ba566: 6812 ldr r2, [r2, #0] 80ba568: 6b52 ldr r2, [r2, #52] ; 0x34 80ba56a: f042 0206 orr.w r2, r2, #6 80ba56e: 635a str r2, [r3, #52] ; 0x34 /* Enable LTDC by setting LTDCEN bit */ __HAL_LTDC_ENABLE(hltdc); 80ba570: 687b ldr r3, [r7, #4] 80ba572: 681b ldr r3, [r3, #0] 80ba574: 687a ldr r2, [r7, #4] 80ba576: 6812 ldr r2, [r2, #0] 80ba578: 6992 ldr r2, [r2, #24] 80ba57a: f042 0201 orr.w r2, r2, #1 80ba57e: 619a str r2, [r3, #24] /* Initialize the error code */ hltdc->ErrorCode = HAL_LTDC_ERROR_NONE; 80ba580: 687b ldr r3, [r7, #4] 80ba582: 2200 movs r2, #0 80ba584: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 /* Initialize the LTDC state*/ hltdc->State = HAL_LTDC_STATE_READY; 80ba588: 687b ldr r3, [r7, #4] 80ba58a: 2201 movs r2, #1 80ba58c: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 return HAL_OK; 80ba590: 2300 movs r3, #0 } 80ba592: 4618 mov r0, r3 80ba594: 3710 adds r7, #16 80ba596: 46bd mov sp, r7 80ba598: bd80 pop {r7, pc} 80ba59a: bf00 nop 80ba59c: f000f800 .word 0xf000f800 080ba5a0 : * @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) { 80ba5a0: b580 push {r7, lr} 80ba5a2: b084 sub sp, #16 80ba5a4: af00 add r7, sp, #0 80ba5a6: 6078 str r0, [r7, #4] uint32_t isrflags = READ_REG(hltdc->Instance->ISR); 80ba5a8: 687b ldr r3, [r7, #4] 80ba5aa: 681b ldr r3, [r3, #0] 80ba5ac: 6b9b ldr r3, [r3, #56] ; 0x38 80ba5ae: 60fb str r3, [r7, #12] uint32_t itsources = READ_REG(hltdc->Instance->IER); 80ba5b0: 687b ldr r3, [r7, #4] 80ba5b2: 681b ldr r3, [r3, #0] 80ba5b4: 6b5b ldr r3, [r3, #52] ; 0x34 80ba5b6: 60bb str r3, [r7, #8] /* Transfer Error Interrupt management ***************************************/ if (((isrflags & LTDC_ISR_TERRIF) != 0U) && ((itsources & LTDC_IER_TERRIE) != 0U)) 80ba5b8: 68fb ldr r3, [r7, #12] 80ba5ba: f003 0304 and.w r3, r3, #4 80ba5be: 2b00 cmp r3, #0 80ba5c0: d023 beq.n 80ba60a 80ba5c2: 68bb ldr r3, [r7, #8] 80ba5c4: f003 0304 and.w r3, r3, #4 80ba5c8: 2b00 cmp r3, #0 80ba5ca: d01e beq.n 80ba60a { /* Disable the transfer Error interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_TE); 80ba5cc: 687b ldr r3, [r7, #4] 80ba5ce: 681b ldr r3, [r3, #0] 80ba5d0: 687a ldr r2, [r7, #4] 80ba5d2: 6812 ldr r2, [r2, #0] 80ba5d4: 6b52 ldr r2, [r2, #52] ; 0x34 80ba5d6: f022 0204 bic.w r2, r2, #4 80ba5da: 635a str r2, [r3, #52] ; 0x34 /* Clear the transfer error flag */ __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_TE); 80ba5dc: 687b ldr r3, [r7, #4] 80ba5de: 681b ldr r3, [r3, #0] 80ba5e0: 2204 movs r2, #4 80ba5e2: 63da str r2, [r3, #60] ; 0x3c /* Update error code */ hltdc->ErrorCode |= HAL_LTDC_ERROR_TE; 80ba5e4: 687b ldr r3, [r7, #4] 80ba5e6: f8d3 30a4 ldr.w r3, [r3, #164] ; 0xa4 80ba5ea: f043 0201 orr.w r2, r3, #1 80ba5ee: 687b ldr r3, [r7, #4] 80ba5f0: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 /* Change LTDC state */ hltdc->State = HAL_LTDC_STATE_ERROR; 80ba5f4: 687b ldr r3, [r7, #4] 80ba5f6: 2204 movs r2, #4 80ba5f8: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80ba5fc: 687b ldr r3, [r7, #4] 80ba5fe: 2200 movs r2, #0 80ba600: 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); 80ba604: 6878 ldr r0, [r7, #4] 80ba606: f000 f86f bl 80ba6e8 #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ } /* FIFO underrun Interrupt management ***************************************/ if (((isrflags & LTDC_ISR_FUIF) != 0U) && ((itsources & LTDC_IER_FUIE) != 0U)) 80ba60a: 68fb ldr r3, [r7, #12] 80ba60c: f003 0302 and.w r3, r3, #2 80ba610: 2b00 cmp r3, #0 80ba612: d023 beq.n 80ba65c 80ba614: 68bb ldr r3, [r7, #8] 80ba616: f003 0302 and.w r3, r3, #2 80ba61a: 2b00 cmp r3, #0 80ba61c: d01e beq.n 80ba65c { /* Disable the FIFO underrun interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_FU); 80ba61e: 687b ldr r3, [r7, #4] 80ba620: 681b ldr r3, [r3, #0] 80ba622: 687a ldr r2, [r7, #4] 80ba624: 6812 ldr r2, [r2, #0] 80ba626: 6b52 ldr r2, [r2, #52] ; 0x34 80ba628: f022 0202 bic.w r2, r2, #2 80ba62c: 635a str r2, [r3, #52] ; 0x34 /* Clear the FIFO underrun flag */ __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_FU); 80ba62e: 687b ldr r3, [r7, #4] 80ba630: 681b ldr r3, [r3, #0] 80ba632: 2202 movs r2, #2 80ba634: 63da str r2, [r3, #60] ; 0x3c /* Update error code */ hltdc->ErrorCode |= HAL_LTDC_ERROR_FU; 80ba636: 687b ldr r3, [r7, #4] 80ba638: f8d3 30a4 ldr.w r3, [r3, #164] ; 0xa4 80ba63c: f043 0202 orr.w r2, r3, #2 80ba640: 687b ldr r3, [r7, #4] 80ba642: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 /* Change LTDC state */ hltdc->State = HAL_LTDC_STATE_ERROR; 80ba646: 687b ldr r3, [r7, #4] 80ba648: 2204 movs r2, #4 80ba64a: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80ba64e: 687b ldr r3, [r7, #4] 80ba650: 2200 movs r2, #0 80ba652: 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); 80ba656: 6878 ldr r0, [r7, #4] 80ba658: f000 f846 bl 80ba6e8 #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ } /* Line Interrupt management ************************************************/ if (((isrflags & LTDC_ISR_LIF) != 0U) && ((itsources & LTDC_IER_LIE) != 0U)) 80ba65c: 68fb ldr r3, [r7, #12] 80ba65e: f003 0301 and.w r3, r3, #1 80ba662: 2b00 cmp r3, #0 80ba664: d01b beq.n 80ba69e 80ba666: 68bb ldr r3, [r7, #8] 80ba668: f003 0301 and.w r3, r3, #1 80ba66c: 2b00 cmp r3, #0 80ba66e: d016 beq.n 80ba69e { /* Disable the Line interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_LI); 80ba670: 687b ldr r3, [r7, #4] 80ba672: 681b ldr r3, [r3, #0] 80ba674: 687a ldr r2, [r7, #4] 80ba676: 6812 ldr r2, [r2, #0] 80ba678: 6b52 ldr r2, [r2, #52] ; 0x34 80ba67a: f022 0201 bic.w r2, r2, #1 80ba67e: 635a str r2, [r3, #52] ; 0x34 /* Clear the Line interrupt flag */ __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_LI); 80ba680: 687b ldr r3, [r7, #4] 80ba682: 681b ldr r3, [r3, #0] 80ba684: 2201 movs r2, #1 80ba686: 63da str r2, [r3, #60] ; 0x3c /* Change LTDC state */ hltdc->State = HAL_LTDC_STATE_READY; 80ba688: 687b ldr r3, [r7, #4] 80ba68a: 2201 movs r2, #1 80ba68c: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80ba690: 687b ldr r3, [r7, #4] 80ba692: 2200 movs r2, #0 80ba694: 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); 80ba698: 6878 ldr r0, [r7, #4] 80ba69a: f79b fd81 bl 80561a0 #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ } /* Register reload Interrupt management ***************************************/ if (((isrflags & LTDC_ISR_RRIF) != 0U) && ((itsources & LTDC_IER_RRIE) != 0U)) 80ba69e: 68fb ldr r3, [r7, #12] 80ba6a0: f003 0308 and.w r3, r3, #8 80ba6a4: 2b00 cmp r3, #0 80ba6a6: d01b beq.n 80ba6e0 80ba6a8: 68bb ldr r3, [r7, #8] 80ba6aa: f003 0308 and.w r3, r3, #8 80ba6ae: 2b00 cmp r3, #0 80ba6b0: d016 beq.n 80ba6e0 { /* Disable the register reload interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_RR); 80ba6b2: 687b ldr r3, [r7, #4] 80ba6b4: 681b ldr r3, [r3, #0] 80ba6b6: 687a ldr r2, [r7, #4] 80ba6b8: 6812 ldr r2, [r2, #0] 80ba6ba: 6b52 ldr r2, [r2, #52] ; 0x34 80ba6bc: f022 0208 bic.w r2, r2, #8 80ba6c0: 635a str r2, [r3, #52] ; 0x34 /* Clear the register reload flag */ __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_RR); 80ba6c2: 687b ldr r3, [r7, #4] 80ba6c4: 681b ldr r3, [r3, #0] 80ba6c6: 2208 movs r2, #8 80ba6c8: 63da str r2, [r3, #60] ; 0x3c /* Change LTDC state */ hltdc->State = HAL_LTDC_STATE_READY; 80ba6ca: 687b ldr r3, [r7, #4] 80ba6cc: 2201 movs r2, #1 80ba6ce: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80ba6d2: 687b ldr r3, [r7, #4] 80ba6d4: 2200 movs r2, #0 80ba6d6: 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); 80ba6da: 6878 ldr r0, [r7, #4] 80ba6dc: f000 f80e bl 80ba6fc #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ } } 80ba6e0: bf00 nop 80ba6e2: 3710 adds r7, #16 80ba6e4: 46bd mov sp, r7 80ba6e6: bd80 pop {r7, pc} 080ba6e8 : * @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) { 80ba6e8: b480 push {r7} 80ba6ea: b083 sub sp, #12 80ba6ec: af00 add r7, sp, #0 80ba6ee: 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 */ } 80ba6f0: bf00 nop 80ba6f2: 370c adds r7, #12 80ba6f4: 46bd mov sp, r7 80ba6f6: f85d 7b04 ldr.w r7, [sp], #4 80ba6fa: 4770 bx lr 080ba6fc : * @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) { 80ba6fc: b480 push {r7} 80ba6fe: b083 sub sp, #12 80ba700: af00 add r7, sp, #0 80ba702: 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 */ } 80ba704: bf00 nop 80ba706: 370c adds r7, #12 80ba708: 46bd mov sp, r7 80ba70a: f85d 7b04 ldr.w r7, [sp], #4 80ba70e: 4770 bx lr 080ba710 : * 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) { 80ba710: b5b0 push {r4, r5, r7, lr} 80ba712: b084 sub sp, #16 80ba714: af00 add r7, sp, #0 80ba716: 60f8 str r0, [r7, #12] 80ba718: 60b9 str r1, [r7, #8] 80ba71a: 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); 80ba71c: 68fb ldr r3, [r7, #12] 80ba71e: f893 30a0 ldrb.w r3, [r3, #160] ; 0xa0 80ba722: 2b01 cmp r3, #1 80ba724: d101 bne.n 80ba72a 80ba726: 2302 movs r3, #2 80ba728: e02c b.n 80ba784 80ba72a: 68fb ldr r3, [r7, #12] 80ba72c: 2201 movs r2, #1 80ba72e: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 /* Change LTDC peripheral state */ hltdc->State = HAL_LTDC_STATE_BUSY; 80ba732: 68fb ldr r3, [r7, #12] 80ba734: 2202 movs r2, #2 80ba736: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Copy new layer configuration into handle structure */ hltdc->LayerCfg[LayerIdx] = *pLayerCfg; 80ba73a: 68fa ldr r2, [r7, #12] 80ba73c: 687b ldr r3, [r7, #4] 80ba73e: 2134 movs r1, #52 ; 0x34 80ba740: fb01 f303 mul.w r3, r1, r3 80ba744: 4413 add r3, r2 80ba746: f103 0238 add.w r2, r3, #56 ; 0x38 80ba74a: 68bb ldr r3, [r7, #8] 80ba74c: 4614 mov r4, r2 80ba74e: 461d mov r5, r3 80ba750: cd0f ldmia r5!, {r0, r1, r2, r3} 80ba752: c40f stmia r4!, {r0, r1, r2, r3} 80ba754: cd0f ldmia r5!, {r0, r1, r2, r3} 80ba756: c40f stmia r4!, {r0, r1, r2, r3} 80ba758: cd0f ldmia r5!, {r0, r1, r2, r3} 80ba75a: c40f stmia r4!, {r0, r1, r2, r3} 80ba75c: 682b ldr r3, [r5, #0] 80ba75e: 6023 str r3, [r4, #0] /* Configure the LTDC Layer */ LTDC_SetConfig(hltdc, pLayerCfg, LayerIdx); 80ba760: 687a ldr r2, [r7, #4] 80ba762: 68b9 ldr r1, [r7, #8] 80ba764: 68f8 ldr r0, [r7, #12] 80ba766: f000 f879 bl 80ba85c /* Set the Immediate Reload type */ hltdc->Instance->SRCR = LTDC_SRCR_IMR; 80ba76a: 68fb ldr r3, [r7, #12] 80ba76c: 681b ldr r3, [r3, #0] 80ba76e: 2201 movs r2, #1 80ba770: 625a str r2, [r3, #36] ; 0x24 /* Initialize the LTDC state*/ hltdc->State = HAL_LTDC_STATE_READY; 80ba772: 68fb ldr r3, [r7, #12] 80ba774: 2201 movs r2, #1 80ba776: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80ba77a: 68fb ldr r3, [r7, #12] 80ba77c: 2200 movs r2, #0 80ba77e: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 return HAL_OK; 80ba782: 2300 movs r3, #0 } 80ba784: 4618 mov r0, r3 80ba786: 3710 adds r7, #16 80ba788: 46bd mov sp, r7 80ba78a: bdb0 pop {r4, r5, r7, pc} 080ba78c : * @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) { 80ba78c: b480 push {r7} 80ba78e: b083 sub sp, #12 80ba790: af00 add r7, sp, #0 80ba792: 6078 str r0, [r7, #4] 80ba794: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_LTDC_LIPOS(Line)); /* Process locked */ __HAL_LOCK(hltdc); 80ba796: 687b ldr r3, [r7, #4] 80ba798: f893 30a0 ldrb.w r3, [r3, #160] ; 0xa0 80ba79c: 2b01 cmp r3, #1 80ba79e: d101 bne.n 80ba7a4 80ba7a0: 2302 movs r3, #2 80ba7a2: e023 b.n 80ba7ec 80ba7a4: 687b ldr r3, [r7, #4] 80ba7a6: 2201 movs r2, #1 80ba7a8: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 /* Change LTDC peripheral state */ hltdc->State = HAL_LTDC_STATE_BUSY; 80ba7ac: 687b ldr r3, [r7, #4] 80ba7ae: 2202 movs r2, #2 80ba7b0: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Disable the Line interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_LI); 80ba7b4: 687b ldr r3, [r7, #4] 80ba7b6: 681b ldr r3, [r3, #0] 80ba7b8: 687a ldr r2, [r7, #4] 80ba7ba: 6812 ldr r2, [r2, #0] 80ba7bc: 6b52 ldr r2, [r2, #52] ; 0x34 80ba7be: f022 0201 bic.w r2, r2, #1 80ba7c2: 635a str r2, [r3, #52] ; 0x34 /* Set the Line Interrupt position */ LTDC->LIPCR = (uint32_t)Line; 80ba7c4: 4a0c ldr r2, [pc, #48] ; (80ba7f8 ) 80ba7c6: 683b ldr r3, [r7, #0] 80ba7c8: 6413 str r3, [r2, #64] ; 0x40 /* Enable the Line interrupt */ __HAL_LTDC_ENABLE_IT(hltdc, LTDC_IT_LI); 80ba7ca: 687b ldr r3, [r7, #4] 80ba7cc: 681b ldr r3, [r3, #0] 80ba7ce: 687a ldr r2, [r7, #4] 80ba7d0: 6812 ldr r2, [r2, #0] 80ba7d2: 6b52 ldr r2, [r2, #52] ; 0x34 80ba7d4: f042 0201 orr.w r2, r2, #1 80ba7d8: 635a str r2, [r3, #52] ; 0x34 /* Change the LTDC state*/ hltdc->State = HAL_LTDC_STATE_READY; 80ba7da: 687b ldr r3, [r7, #4] 80ba7dc: 2201 movs r2, #1 80ba7de: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80ba7e2: 687b ldr r3, [r7, #4] 80ba7e4: 2200 movs r2, #0 80ba7e6: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 return HAL_OK; 80ba7ea: 2300 movs r3, #0 } 80ba7ec: 4618 mov r0, r3 80ba7ee: 370c adds r7, #12 80ba7f0: 46bd mov sp, r7 80ba7f2: f85d 7b04 ldr.w r7, [sp], #4 80ba7f6: 4770 bx lr 80ba7f8: 40016800 .word 0x40016800 080ba7fc : * 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) { 80ba7fc: b480 push {r7} 80ba7fe: b083 sub sp, #12 80ba800: af00 add r7, sp, #0 80ba802: 6078 str r0, [r7, #4] 80ba804: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_LTDC_RELOAD(ReloadType)); /* Process locked */ __HAL_LOCK(hltdc); 80ba806: 687b ldr r3, [r7, #4] 80ba808: f893 30a0 ldrb.w r3, [r3, #160] ; 0xa0 80ba80c: 2b01 cmp r3, #1 80ba80e: d101 bne.n 80ba814 80ba810: 2302 movs r3, #2 80ba812: e01c b.n 80ba84e 80ba814: 687b ldr r3, [r7, #4] 80ba816: 2201 movs r2, #1 80ba818: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 /* Change LTDC peripheral state */ hltdc->State = HAL_LTDC_STATE_BUSY; 80ba81c: 687b ldr r3, [r7, #4] 80ba81e: 2202 movs r2, #2 80ba820: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Enable the Reload interrupt */ __HAL_LTDC_ENABLE_IT(hltdc, LTDC_IT_RR); 80ba824: 687b ldr r3, [r7, #4] 80ba826: 681b ldr r3, [r3, #0] 80ba828: 687a ldr r2, [r7, #4] 80ba82a: 6812 ldr r2, [r2, #0] 80ba82c: 6b52 ldr r2, [r2, #52] ; 0x34 80ba82e: f042 0208 orr.w r2, r2, #8 80ba832: 635a str r2, [r3, #52] ; 0x34 /* Apply Reload type */ hltdc->Instance->SRCR = ReloadType; 80ba834: 687b ldr r3, [r7, #4] 80ba836: 681b ldr r3, [r3, #0] 80ba838: 683a ldr r2, [r7, #0] 80ba83a: 625a str r2, [r3, #36] ; 0x24 /* Change the LTDC state*/ hltdc->State = HAL_LTDC_STATE_READY; 80ba83c: 687b ldr r3, [r7, #4] 80ba83e: 2201 movs r2, #1 80ba840: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80ba844: 687b ldr r3, [r7, #4] 80ba846: 2200 movs r2, #0 80ba848: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 return HAL_OK; 80ba84c: 2300 movs r3, #0 } 80ba84e: 4618 mov r0, r3 80ba850: 370c adds r7, #12 80ba852: 46bd mov sp, r7 80ba854: f85d 7b04 ldr.w r7, [sp], #4 80ba858: 4770 bx lr ... 080ba85c : * @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) { 80ba85c: b480 push {r7} 80ba85e: b089 sub sp, #36 ; 0x24 80ba860: af00 add r7, sp, #0 80ba862: 60f8 str r0, [r7, #12] 80ba864: 60b9 str r1, [r7, #8] 80ba866: 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); 80ba868: 68bb ldr r3, [r7, #8] 80ba86a: 685a ldr r2, [r3, #4] 80ba86c: 68fb ldr r3, [r7, #12] 80ba86e: 681b ldr r3, [r3, #0] 80ba870: 68db ldr r3, [r3, #12] 80ba872: 0c1b lsrs r3, r3, #16 80ba874: f3c3 030b ubfx r3, r3, #0, #12 80ba878: 4413 add r3, r2 80ba87a: 041b lsls r3, r3, #16 80ba87c: 61fb str r3, [r7, #28] LTDC_LAYER(hltdc, LayerIdx)->WHPCR &= ~(LTDC_LxWHPCR_WHSTPOS | LTDC_LxWHPCR_WHSPPOS); 80ba87e: 68fb ldr r3, [r7, #12] 80ba880: 681b ldr r3, [r3, #0] 80ba882: 461a mov r2, r3 80ba884: 687b ldr r3, [r7, #4] 80ba886: 01db lsls r3, r3, #7 80ba888: 4413 add r3, r2 80ba88a: 3384 adds r3, #132 ; 0x84 80ba88c: 461a mov r2, r3 80ba88e: 68fb ldr r3, [r7, #12] 80ba890: 681b ldr r3, [r3, #0] 80ba892: 4619 mov r1, r3 80ba894: 687b ldr r3, [r7, #4] 80ba896: 01db lsls r3, r3, #7 80ba898: 440b add r3, r1 80ba89a: 3384 adds r3, #132 ; 0x84 80ba89c: 685b ldr r3, [r3, #4] 80ba89e: f403 4370 and.w r3, r3, #61440 ; 0xf000 80ba8a2: 6053 str r3, [r2, #4] LTDC_LAYER(hltdc, LayerIdx)->WHPCR = ((pLayerCfg->WindowX0 + ((hltdc->Instance->BPCR & LTDC_BPCR_AHBP) >> 16U) + 1U) | tmp); 80ba8a4: 68fb ldr r3, [r7, #12] 80ba8a6: 681b ldr r3, [r3, #0] 80ba8a8: 461a mov r2, r3 80ba8aa: 687b ldr r3, [r7, #4] 80ba8ac: 01db lsls r3, r3, #7 80ba8ae: 4413 add r3, r2 80ba8b0: 3384 adds r3, #132 ; 0x84 80ba8b2: 4619 mov r1, r3 80ba8b4: 68bb ldr r3, [r7, #8] 80ba8b6: 681a ldr r2, [r3, #0] 80ba8b8: 68fb ldr r3, [r7, #12] 80ba8ba: 681b ldr r3, [r3, #0] 80ba8bc: 68db ldr r3, [r3, #12] 80ba8be: 0c1b lsrs r3, r3, #16 80ba8c0: f3c3 030b ubfx r3, r3, #0, #12 80ba8c4: 4413 add r3, r2 80ba8c6: 1c5a adds r2, r3, #1 80ba8c8: 69fb ldr r3, [r7, #28] 80ba8ca: 4313 orrs r3, r2 80ba8cc: 604b str r3, [r1, #4] /* Configure the vertical start and stop position */ tmp = ((pLayerCfg->WindowY1 + (hltdc->Instance->BPCR & LTDC_BPCR_AVBP)) << 16U); 80ba8ce: 68bb ldr r3, [r7, #8] 80ba8d0: 68da ldr r2, [r3, #12] 80ba8d2: 68fb ldr r3, [r7, #12] 80ba8d4: 681b ldr r3, [r3, #0] 80ba8d6: 68db ldr r3, [r3, #12] 80ba8d8: f3c3 030a ubfx r3, r3, #0, #11 80ba8dc: 4413 add r3, r2 80ba8de: 041b lsls r3, r3, #16 80ba8e0: 61fb str r3, [r7, #28] LTDC_LAYER(hltdc, LayerIdx)->WVPCR &= ~(LTDC_LxWVPCR_WVSTPOS | LTDC_LxWVPCR_WVSPPOS); 80ba8e2: 68fb ldr r3, [r7, #12] 80ba8e4: 681b ldr r3, [r3, #0] 80ba8e6: 461a mov r2, r3 80ba8e8: 687b ldr r3, [r7, #4] 80ba8ea: 01db lsls r3, r3, #7 80ba8ec: 4413 add r3, r2 80ba8ee: 3384 adds r3, #132 ; 0x84 80ba8f0: 461a mov r2, r3 80ba8f2: 68fb ldr r3, [r7, #12] 80ba8f4: 681b ldr r3, [r3, #0] 80ba8f6: 4619 mov r1, r3 80ba8f8: 687b ldr r3, [r7, #4] 80ba8fa: 01db lsls r3, r3, #7 80ba8fc: 440b add r3, r1 80ba8fe: 3384 adds r3, #132 ; 0x84 80ba900: 689b ldr r3, [r3, #8] 80ba902: f403 4370 and.w r3, r3, #61440 ; 0xf000 80ba906: 6093 str r3, [r2, #8] LTDC_LAYER(hltdc, LayerIdx)->WVPCR = ((pLayerCfg->WindowY0 + (hltdc->Instance->BPCR & LTDC_BPCR_AVBP) + 1U) | tmp); 80ba908: 68fb ldr r3, [r7, #12] 80ba90a: 681b ldr r3, [r3, #0] 80ba90c: 461a mov r2, r3 80ba90e: 687b ldr r3, [r7, #4] 80ba910: 01db lsls r3, r3, #7 80ba912: 4413 add r3, r2 80ba914: 3384 adds r3, #132 ; 0x84 80ba916: 4619 mov r1, r3 80ba918: 68bb ldr r3, [r7, #8] 80ba91a: 689a ldr r2, [r3, #8] 80ba91c: 68fb ldr r3, [r7, #12] 80ba91e: 681b ldr r3, [r3, #0] 80ba920: 68db ldr r3, [r3, #12] 80ba922: f3c3 030a ubfx r3, r3, #0, #11 80ba926: 4413 add r3, r2 80ba928: 1c5a adds r2, r3, #1 80ba92a: 69fb ldr r3, [r7, #28] 80ba92c: 4313 orrs r3, r2 80ba92e: 608b str r3, [r1, #8] /* Specifies the pixel format */ LTDC_LAYER(hltdc, LayerIdx)->PFCR &= ~(LTDC_LxPFCR_PF); 80ba930: 68fb ldr r3, [r7, #12] 80ba932: 681b ldr r3, [r3, #0] 80ba934: 461a mov r2, r3 80ba936: 687b ldr r3, [r7, #4] 80ba938: 01db lsls r3, r3, #7 80ba93a: 4413 add r3, r2 80ba93c: 3384 adds r3, #132 ; 0x84 80ba93e: 461a mov r2, r3 80ba940: 68fb ldr r3, [r7, #12] 80ba942: 681b ldr r3, [r3, #0] 80ba944: 4619 mov r1, r3 80ba946: 687b ldr r3, [r7, #4] 80ba948: 01db lsls r3, r3, #7 80ba94a: 440b add r3, r1 80ba94c: 3384 adds r3, #132 ; 0x84 80ba94e: 691b ldr r3, [r3, #16] 80ba950: f023 0307 bic.w r3, r3, #7 80ba954: 6113 str r3, [r2, #16] LTDC_LAYER(hltdc, LayerIdx)->PFCR = (pLayerCfg->PixelFormat); 80ba956: 68fb ldr r3, [r7, #12] 80ba958: 681b ldr r3, [r3, #0] 80ba95a: 461a mov r2, r3 80ba95c: 687b ldr r3, [r7, #4] 80ba95e: 01db lsls r3, r3, #7 80ba960: 4413 add r3, r2 80ba962: 3384 adds r3, #132 ; 0x84 80ba964: 461a mov r2, r3 80ba966: 68bb ldr r3, [r7, #8] 80ba968: 691b ldr r3, [r3, #16] 80ba96a: 6113 str r3, [r2, #16] /* Configure the default color values */ tmp = ((uint32_t)(pLayerCfg->Backcolor.Green) << 8U); 80ba96c: 68bb ldr r3, [r7, #8] 80ba96e: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 80ba972: 021b lsls r3, r3, #8 80ba974: 61fb str r3, [r7, #28] tmp1 = ((uint32_t)(pLayerCfg->Backcolor.Red) << 16U); 80ba976: 68bb ldr r3, [r7, #8] 80ba978: f893 3032 ldrb.w r3, [r3, #50] ; 0x32 80ba97c: 041b lsls r3, r3, #16 80ba97e: 61bb str r3, [r7, #24] tmp2 = (pLayerCfg->Alpha0 << 24U); 80ba980: 68bb ldr r3, [r7, #8] 80ba982: 699b ldr r3, [r3, #24] 80ba984: 061b lsls r3, r3, #24 80ba986: 617b str r3, [r7, #20] LTDC_LAYER(hltdc, LayerIdx)->DCCR &= ~(LTDC_LxDCCR_DCBLUE | LTDC_LxDCCR_DCGREEN | LTDC_LxDCCR_DCRED | LTDC_LxDCCR_DCALPHA); 80ba988: 68fb ldr r3, [r7, #12] 80ba98a: 681b ldr r3, [r3, #0] 80ba98c: 461a mov r2, r3 80ba98e: 687b ldr r3, [r7, #4] 80ba990: 01db lsls r3, r3, #7 80ba992: 4413 add r3, r2 80ba994: 3384 adds r3, #132 ; 0x84 80ba996: 699b ldr r3, [r3, #24] 80ba998: 68fb ldr r3, [r7, #12] 80ba99a: 681b ldr r3, [r3, #0] 80ba99c: 461a mov r2, r3 80ba99e: 687b ldr r3, [r7, #4] 80ba9a0: 01db lsls r3, r3, #7 80ba9a2: 4413 add r3, r2 80ba9a4: 3384 adds r3, #132 ; 0x84 80ba9a6: 461a mov r2, r3 80ba9a8: 2300 movs r3, #0 80ba9aa: 6193 str r3, [r2, #24] LTDC_LAYER(hltdc, LayerIdx)->DCCR = (pLayerCfg->Backcolor.Blue | tmp | tmp1 | tmp2); 80ba9ac: 68fb ldr r3, [r7, #12] 80ba9ae: 681b ldr r3, [r3, #0] 80ba9b0: 461a mov r2, r3 80ba9b2: 687b ldr r3, [r7, #4] 80ba9b4: 01db lsls r3, r3, #7 80ba9b6: 4413 add r3, r2 80ba9b8: 3384 adds r3, #132 ; 0x84 80ba9ba: 4619 mov r1, r3 80ba9bc: 68bb ldr r3, [r7, #8] 80ba9be: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80ba9c2: 461a mov r2, r3 80ba9c4: 69fb ldr r3, [r7, #28] 80ba9c6: 431a orrs r2, r3 80ba9c8: 69bb ldr r3, [r7, #24] 80ba9ca: 431a orrs r2, r3 80ba9cc: 697b ldr r3, [r7, #20] 80ba9ce: 4313 orrs r3, r2 80ba9d0: 618b str r3, [r1, #24] /* Specifies the constant alpha value */ LTDC_LAYER(hltdc, LayerIdx)->CACR &= ~(LTDC_LxCACR_CONSTA); 80ba9d2: 68fb ldr r3, [r7, #12] 80ba9d4: 681b ldr r3, [r3, #0] 80ba9d6: 461a mov r2, r3 80ba9d8: 687b ldr r3, [r7, #4] 80ba9da: 01db lsls r3, r3, #7 80ba9dc: 4413 add r3, r2 80ba9de: 3384 adds r3, #132 ; 0x84 80ba9e0: 461a mov r2, r3 80ba9e2: 68fb ldr r3, [r7, #12] 80ba9e4: 681b ldr r3, [r3, #0] 80ba9e6: 4619 mov r1, r3 80ba9e8: 687b ldr r3, [r7, #4] 80ba9ea: 01db lsls r3, r3, #7 80ba9ec: 440b add r3, r1 80ba9ee: 3384 adds r3, #132 ; 0x84 80ba9f0: 695b ldr r3, [r3, #20] 80ba9f2: f023 03ff bic.w r3, r3, #255 ; 0xff 80ba9f6: 6153 str r3, [r2, #20] LTDC_LAYER(hltdc, LayerIdx)->CACR = (pLayerCfg->Alpha); 80ba9f8: 68fb ldr r3, [r7, #12] 80ba9fa: 681b ldr r3, [r3, #0] 80ba9fc: 461a mov r2, r3 80ba9fe: 687b ldr r3, [r7, #4] 80baa00: 01db lsls r3, r3, #7 80baa02: 4413 add r3, r2 80baa04: 3384 adds r3, #132 ; 0x84 80baa06: 461a mov r2, r3 80baa08: 68bb ldr r3, [r7, #8] 80baa0a: 695b ldr r3, [r3, #20] 80baa0c: 6153 str r3, [r2, #20] /* Specifies the blending factors */ LTDC_LAYER(hltdc, LayerIdx)->BFCR &= ~(LTDC_LxBFCR_BF2 | LTDC_LxBFCR_BF1); 80baa0e: 68fb ldr r3, [r7, #12] 80baa10: 681b ldr r3, [r3, #0] 80baa12: 461a mov r2, r3 80baa14: 687b ldr r3, [r7, #4] 80baa16: 01db lsls r3, r3, #7 80baa18: 4413 add r3, r2 80baa1a: 3384 adds r3, #132 ; 0x84 80baa1c: 4619 mov r1, r3 80baa1e: 68fb ldr r3, [r7, #12] 80baa20: 681b ldr r3, [r3, #0] 80baa22: 461a mov r2, r3 80baa24: 687b ldr r3, [r7, #4] 80baa26: 01db lsls r3, r3, #7 80baa28: 4413 add r3, r2 80baa2a: 3384 adds r3, #132 ; 0x84 80baa2c: 69da ldr r2, [r3, #28] 80baa2e: 4b5a ldr r3, [pc, #360] ; (80bab98 ) 80baa30: 4013 ands r3, r2 80baa32: 61cb str r3, [r1, #28] LTDC_LAYER(hltdc, LayerIdx)->BFCR = (pLayerCfg->BlendingFactor1 | pLayerCfg->BlendingFactor2); 80baa34: 68fb ldr r3, [r7, #12] 80baa36: 681b ldr r3, [r3, #0] 80baa38: 461a mov r2, r3 80baa3a: 687b ldr r3, [r7, #4] 80baa3c: 01db lsls r3, r3, #7 80baa3e: 4413 add r3, r2 80baa40: 3384 adds r3, #132 ; 0x84 80baa42: 4619 mov r1, r3 80baa44: 68bb ldr r3, [r7, #8] 80baa46: 69da ldr r2, [r3, #28] 80baa48: 68bb ldr r3, [r7, #8] 80baa4a: 6a1b ldr r3, [r3, #32] 80baa4c: 4313 orrs r3, r2 80baa4e: 61cb str r3, [r1, #28] /* Configure the color frame buffer start address */ LTDC_LAYER(hltdc, LayerIdx)->CFBAR &= ~(LTDC_LxCFBAR_CFBADD); 80baa50: 68fb ldr r3, [r7, #12] 80baa52: 681b ldr r3, [r3, #0] 80baa54: 461a mov r2, r3 80baa56: 687b ldr r3, [r7, #4] 80baa58: 01db lsls r3, r3, #7 80baa5a: 4413 add r3, r2 80baa5c: 3384 adds r3, #132 ; 0x84 80baa5e: 6a9b ldr r3, [r3, #40] ; 0x28 80baa60: 68fb ldr r3, [r7, #12] 80baa62: 681b ldr r3, [r3, #0] 80baa64: 461a mov r2, r3 80baa66: 687b ldr r3, [r7, #4] 80baa68: 01db lsls r3, r3, #7 80baa6a: 4413 add r3, r2 80baa6c: 3384 adds r3, #132 ; 0x84 80baa6e: 461a mov r2, r3 80baa70: 2300 movs r3, #0 80baa72: 6293 str r3, [r2, #40] ; 0x28 LTDC_LAYER(hltdc, LayerIdx)->CFBAR = (pLayerCfg->FBStartAdress); 80baa74: 68fb ldr r3, [r7, #12] 80baa76: 681b ldr r3, [r3, #0] 80baa78: 461a mov r2, r3 80baa7a: 687b ldr r3, [r7, #4] 80baa7c: 01db lsls r3, r3, #7 80baa7e: 4413 add r3, r2 80baa80: 3384 adds r3, #132 ; 0x84 80baa82: 461a mov r2, r3 80baa84: 68bb ldr r3, [r7, #8] 80baa86: 6a5b ldr r3, [r3, #36] ; 0x24 80baa88: 6293 str r3, [r2, #40] ; 0x28 if (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB8888) 80baa8a: 68bb ldr r3, [r7, #8] 80baa8c: 691b ldr r3, [r3, #16] 80baa8e: 2b00 cmp r3, #0 80baa90: d102 bne.n 80baa98 { tmp = 4U; 80baa92: 2304 movs r3, #4 80baa94: 61fb str r3, [r7, #28] 80baa96: e01b b.n 80baad0 } else if (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_RGB888) 80baa98: 68bb ldr r3, [r7, #8] 80baa9a: 691b ldr r3, [r3, #16] 80baa9c: 2b01 cmp r3, #1 80baa9e: d102 bne.n 80baaa6 { tmp = 3U; 80baaa0: 2303 movs r3, #3 80baaa2: 61fb str r3, [r7, #28] 80baaa4: e014 b.n 80baad0 } else if ((pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB4444) || \ 80baaa6: 68bb ldr r3, [r7, #8] 80baaa8: 691b ldr r3, [r3, #16] 80baaaa: 2b04 cmp r3, #4 80baaac: d00b beq.n 80baac6 (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_RGB565) || \ 80baaae: 68bb ldr r3, [r7, #8] 80baab0: 691b ldr r3, [r3, #16] else if ((pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB4444) || \ 80baab2: 2b02 cmp r3, #2 80baab4: d007 beq.n 80baac6 (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB1555) || \ 80baab6: 68bb ldr r3, [r7, #8] 80baab8: 691b ldr r3, [r3, #16] (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_RGB565) || \ 80baaba: 2b03 cmp r3, #3 80baabc: d003 beq.n 80baac6 (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_AL88)) 80baabe: 68bb ldr r3, [r7, #8] 80baac0: 691b ldr r3, [r3, #16] (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB1555) || \ 80baac2: 2b07 cmp r3, #7 80baac4: d102 bne.n 80baacc { tmp = 2U; 80baac6: 2302 movs r3, #2 80baac8: 61fb str r3, [r7, #28] 80baaca: e001 b.n 80baad0 } else { tmp = 1U; 80baacc: 2301 movs r3, #1 80baace: 61fb str r3, [r7, #28] } /* Configure the color frame buffer pitch in byte */ LTDC_LAYER(hltdc, LayerIdx)->CFBLR &= ~(LTDC_LxCFBLR_CFBLL | LTDC_LxCFBLR_CFBP); 80baad0: 68fb ldr r3, [r7, #12] 80baad2: 681b ldr r3, [r3, #0] 80baad4: 461a mov r2, r3 80baad6: 687b ldr r3, [r7, #4] 80baad8: 01db lsls r3, r3, #7 80baada: 4413 add r3, r2 80baadc: 3384 adds r3, #132 ; 0x84 80baade: 461a mov r2, r3 80baae0: 68fb ldr r3, [r7, #12] 80baae2: 681b ldr r3, [r3, #0] 80baae4: 4619 mov r1, r3 80baae6: 687b ldr r3, [r7, #4] 80baae8: 01db lsls r3, r3, #7 80baaea: 440b add r3, r1 80baaec: 3384 adds r3, #132 ; 0x84 80baaee: 6adb ldr r3, [r3, #44] ; 0x2c 80baaf0: f003 23e0 and.w r3, r3, #3758153728 ; 0xe000e000 80baaf4: 62d3 str r3, [r2, #44] ; 0x2c LTDC_LAYER(hltdc, LayerIdx)->CFBLR = (((pLayerCfg->ImageWidth * tmp) << 16U) | (((pLayerCfg->WindowX1 - pLayerCfg->WindowX0) * tmp) + 3U)); 80baaf6: 68fb ldr r3, [r7, #12] 80baaf8: 681b ldr r3, [r3, #0] 80baafa: 461a mov r2, r3 80baafc: 687b ldr r3, [r7, #4] 80baafe: 01db lsls r3, r3, #7 80bab00: 4413 add r3, r2 80bab02: 3384 adds r3, #132 ; 0x84 80bab04: 4618 mov r0, r3 80bab06: 68bb ldr r3, [r7, #8] 80bab08: 6a9b ldr r3, [r3, #40] ; 0x28 80bab0a: 69fa ldr r2, [r7, #28] 80bab0c: fb02 f303 mul.w r3, r2, r3 80bab10: 041a lsls r2, r3, #16 80bab12: 68bb ldr r3, [r7, #8] 80bab14: 6859 ldr r1, [r3, #4] 80bab16: 68bb ldr r3, [r7, #8] 80bab18: 681b ldr r3, [r3, #0] 80bab1a: 1acb subs r3, r1, r3 80bab1c: 69f9 ldr r1, [r7, #28] 80bab1e: fb01 f303 mul.w r3, r1, r3 80bab22: 3303 adds r3, #3 80bab24: 4313 orrs r3, r2 80bab26: 62c3 str r3, [r0, #44] ; 0x2c /* Configure the frame buffer line number */ LTDC_LAYER(hltdc, LayerIdx)->CFBLNR &= ~(LTDC_LxCFBLNR_CFBLNBR); 80bab28: 68fb ldr r3, [r7, #12] 80bab2a: 681b ldr r3, [r3, #0] 80bab2c: 461a mov r2, r3 80bab2e: 687b ldr r3, [r7, #4] 80bab30: 01db lsls r3, r3, #7 80bab32: 4413 add r3, r2 80bab34: 3384 adds r3, #132 ; 0x84 80bab36: 4619 mov r1, r3 80bab38: 68fb ldr r3, [r7, #12] 80bab3a: 681b ldr r3, [r3, #0] 80bab3c: 461a mov r2, r3 80bab3e: 687b ldr r3, [r7, #4] 80bab40: 01db lsls r3, r3, #7 80bab42: 4413 add r3, r2 80bab44: 3384 adds r3, #132 ; 0x84 80bab46: 6b1a ldr r2, [r3, #48] ; 0x30 80bab48: 4b14 ldr r3, [pc, #80] ; (80bab9c ) 80bab4a: 4013 ands r3, r2 80bab4c: 630b str r3, [r1, #48] ; 0x30 LTDC_LAYER(hltdc, LayerIdx)->CFBLNR = (pLayerCfg->ImageHeight); 80bab4e: 68fb ldr r3, [r7, #12] 80bab50: 681b ldr r3, [r3, #0] 80bab52: 461a mov r2, r3 80bab54: 687b ldr r3, [r7, #4] 80bab56: 01db lsls r3, r3, #7 80bab58: 4413 add r3, r2 80bab5a: 3384 adds r3, #132 ; 0x84 80bab5c: 461a mov r2, r3 80bab5e: 68bb ldr r3, [r7, #8] 80bab60: 6adb ldr r3, [r3, #44] ; 0x2c 80bab62: 6313 str r3, [r2, #48] ; 0x30 /* Enable LTDC_Layer by setting LEN bit */ LTDC_LAYER(hltdc, LayerIdx)->CR |= (uint32_t)LTDC_LxCR_LEN; 80bab64: 68fb ldr r3, [r7, #12] 80bab66: 681b ldr r3, [r3, #0] 80bab68: 461a mov r2, r3 80bab6a: 687b ldr r3, [r7, #4] 80bab6c: 01db lsls r3, r3, #7 80bab6e: 4413 add r3, r2 80bab70: 3384 adds r3, #132 ; 0x84 80bab72: 461a mov r2, r3 80bab74: 68fb ldr r3, [r7, #12] 80bab76: 681b ldr r3, [r3, #0] 80bab78: 4619 mov r1, r3 80bab7a: 687b ldr r3, [r7, #4] 80bab7c: 01db lsls r3, r3, #7 80bab7e: 440b add r3, r1 80bab80: 3384 adds r3, #132 ; 0x84 80bab82: 681b ldr r3, [r3, #0] 80bab84: f043 0301 orr.w r3, r3, #1 80bab88: 6013 str r3, [r2, #0] } 80bab8a: bf00 nop 80bab8c: 3724 adds r7, #36 ; 0x24 80bab8e: 46bd mov sp, r7 80bab90: f85d 7b04 ldr.w r7, [sp], #4 80bab94: 4770 bx lr 80bab96: bf00 nop 80bab98: fffff8f8 .word 0xfffff8f8 80bab9c: fffff800 .word 0xfffff800 080baba0 : * 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) { 80baba0: b5f0 push {r4, r5, r6, r7, lr} 80baba2: b08f sub sp, #60 ; 0x3c 80baba4: af0a add r7, sp, #40 ; 0x28 80baba6: 6078 str r0, [r7, #4] USB_OTG_GlobalTypeDef *USBx; uint8_t i; /* Check the PCD handle allocation */ if (hpcd == NULL) 80baba8: 687b ldr r3, [r7, #4] 80babaa: 2b00 cmp r3, #0 80babac: d101 bne.n 80babb2 { return HAL_ERROR; 80babae: 2301 movs r3, #1 80babb0: e116 b.n 80bade0 } /* Check the parameters */ assert_param(IS_PCD_ALL_INSTANCE(hpcd->Instance)); USBx = hpcd->Instance; 80babb2: 687b ldr r3, [r7, #4] 80babb4: 681b ldr r3, [r3, #0] 80babb6: 60bb str r3, [r7, #8] if (hpcd->State == HAL_PCD_STATE_RESET) 80babb8: 687b ldr r3, [r7, #4] 80babba: f893 33bd ldrb.w r3, [r3, #957] ; 0x3bd 80babbe: b2db uxtb r3, r3 80babc0: 2b00 cmp r3, #0 80babc2: d106 bne.n 80babd2 { /* Allocate lock resource and initialize it */ hpcd->Lock = HAL_UNLOCKED; 80babc4: 687b ldr r3, [r7, #4] 80babc6: 2200 movs r2, #0 80babc8: 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); 80babcc: 6878 ldr r0, [r7, #4] 80babce: f013 fc7f bl 80ce4d0 #endif /* (USE_HAL_PCD_REGISTER_CALLBACKS) */ } hpcd->State = HAL_PCD_STATE_BUSY; 80babd2: 687b ldr r3, [r7, #4] 80babd4: 2203 movs r2, #3 80babd6: f883 23bd strb.w r2, [r3, #957] ; 0x3bd /* Disable DMA mode for FS instance */ if ((USBx->CID & (0x1U << 8)) == 0U) 80babda: 68bb ldr r3, [r7, #8] 80babdc: 6bdb ldr r3, [r3, #60] ; 0x3c 80babde: f403 7380 and.w r3, r3, #256 ; 0x100 80babe2: 2b00 cmp r3, #0 80babe4: d102 bne.n 80babec { hpcd->Init.dma_enable = 0U; 80babe6: 687b ldr r3, [r7, #4] 80babe8: 2200 movs r2, #0 80babea: 611a str r2, [r3, #16] } /* Disable the Interrupts */ __HAL_PCD_DISABLE(hpcd); 80babec: 687b ldr r3, [r7, #4] 80babee: 681b ldr r3, [r3, #0] 80babf0: 4618 mov r0, r3 80babf2: f008 fa4c bl 80c308e /*Init the Core (common init.) */ if (USB_CoreInit(hpcd->Instance, hpcd->Init) != HAL_OK) 80babf6: 687b ldr r3, [r7, #4] 80babf8: 681b ldr r3, [r3, #0] 80babfa: 603b str r3, [r7, #0] 80babfc: 687e ldr r6, [r7, #4] 80babfe: 466d mov r5, sp 80bac00: f106 0410 add.w r4, r6, #16 80bac04: cc0f ldmia r4!, {r0, r1, r2, r3} 80bac06: c50f stmia r5!, {r0, r1, r2, r3} 80bac08: cc0f ldmia r4!, {r0, r1, r2, r3} 80bac0a: c50f stmia r5!, {r0, r1, r2, r3} 80bac0c: e894 0003 ldmia.w r4, {r0, r1} 80bac10: e885 0003 stmia.w r5, {r0, r1} 80bac14: 1d33 adds r3, r6, #4 80bac16: cb0e ldmia r3, {r1, r2, r3} 80bac18: 6838 ldr r0, [r7, #0] 80bac1a: f008 f92d bl 80c2e78 80bac1e: 4603 mov r3, r0 80bac20: 2b00 cmp r3, #0 80bac22: d005 beq.n 80bac30 { hpcd->State = HAL_PCD_STATE_ERROR; 80bac24: 687b ldr r3, [r7, #4] 80bac26: 2202 movs r2, #2 80bac28: f883 23bd strb.w r2, [r3, #957] ; 0x3bd return HAL_ERROR; 80bac2c: 2301 movs r3, #1 80bac2e: e0d7 b.n 80bade0 } /* Force Device Mode*/ (void)USB_SetCurrentMode(hpcd->Instance, USB_DEVICE_MODE); 80bac30: 687b ldr r3, [r7, #4] 80bac32: 681b ldr r3, [r3, #0] 80bac34: 2100 movs r1, #0 80bac36: 4618 mov r0, r3 80bac38: f008 fa3a bl 80c30b0 /* Init endpoints structures */ for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80bac3c: 2300 movs r3, #0 80bac3e: 73fb strb r3, [r7, #15] 80bac40: e04a b.n 80bacd8 { /* Init ep structure */ hpcd->IN_ep[i].is_in = 1U; 80bac42: 7bfa ldrb r2, [r7, #15] 80bac44: 6879 ldr r1, [r7, #4] 80bac46: 4613 mov r3, r2 80bac48: 00db lsls r3, r3, #3 80bac4a: 1a9b subs r3, r3, r2 80bac4c: 009b lsls r3, r3, #2 80bac4e: 440b add r3, r1 80bac50: 333d adds r3, #61 ; 0x3d 80bac52: 2201 movs r2, #1 80bac54: 701a strb r2, [r3, #0] hpcd->IN_ep[i].num = i; 80bac56: 7bfa ldrb r2, [r7, #15] 80bac58: 6879 ldr r1, [r7, #4] 80bac5a: 4613 mov r3, r2 80bac5c: 00db lsls r3, r3, #3 80bac5e: 1a9b subs r3, r3, r2 80bac60: 009b lsls r3, r3, #2 80bac62: 440b add r3, r1 80bac64: 333c adds r3, #60 ; 0x3c 80bac66: 7bfa ldrb r2, [r7, #15] 80bac68: 701a strb r2, [r3, #0] hpcd->IN_ep[i].tx_fifo_num = i; 80bac6a: 7bfa ldrb r2, [r7, #15] 80bac6c: 7bfb ldrb r3, [r7, #15] 80bac6e: b298 uxth r0, r3 80bac70: 6879 ldr r1, [r7, #4] 80bac72: 4613 mov r3, r2 80bac74: 00db lsls r3, r3, #3 80bac76: 1a9b subs r3, r3, r2 80bac78: 009b lsls r3, r3, #2 80bac7a: 440b add r3, r1 80bac7c: 3342 adds r3, #66 ; 0x42 80bac7e: 4602 mov r2, r0 80bac80: 801a strh r2, [r3, #0] /* Control until ep is activated */ hpcd->IN_ep[i].type = EP_TYPE_CTRL; 80bac82: 7bfa ldrb r2, [r7, #15] 80bac84: 6879 ldr r1, [r7, #4] 80bac86: 4613 mov r3, r2 80bac88: 00db lsls r3, r3, #3 80bac8a: 1a9b subs r3, r3, r2 80bac8c: 009b lsls r3, r3, #2 80bac8e: 440b add r3, r1 80bac90: 333f adds r3, #63 ; 0x3f 80bac92: 2200 movs r2, #0 80bac94: 701a strb r2, [r3, #0] hpcd->IN_ep[i].maxpacket = 0U; 80bac96: 7bfa ldrb r2, [r7, #15] 80bac98: 6879 ldr r1, [r7, #4] 80bac9a: 4613 mov r3, r2 80bac9c: 00db lsls r3, r3, #3 80bac9e: 1a9b subs r3, r3, r2 80baca0: 009b lsls r3, r3, #2 80baca2: 440b add r3, r1 80baca4: 3344 adds r3, #68 ; 0x44 80baca6: 2200 movs r2, #0 80baca8: 601a str r2, [r3, #0] hpcd->IN_ep[i].xfer_buff = 0U; 80bacaa: 7bfa ldrb r2, [r7, #15] 80bacac: 6879 ldr r1, [r7, #4] 80bacae: 4613 mov r3, r2 80bacb0: 00db lsls r3, r3, #3 80bacb2: 1a9b subs r3, r3, r2 80bacb4: 009b lsls r3, r3, #2 80bacb6: 440b add r3, r1 80bacb8: 3348 adds r3, #72 ; 0x48 80bacba: 2200 movs r2, #0 80bacbc: 601a str r2, [r3, #0] hpcd->IN_ep[i].xfer_len = 0U; 80bacbe: 7bfa ldrb r2, [r7, #15] 80bacc0: 6879 ldr r1, [r7, #4] 80bacc2: 4613 mov r3, r2 80bacc4: 00db lsls r3, r3, #3 80bacc6: 1a9b subs r3, r3, r2 80bacc8: 009b lsls r3, r3, #2 80bacca: 440b add r3, r1 80baccc: 3350 adds r3, #80 ; 0x50 80bacce: 2200 movs r2, #0 80bacd0: 601a str r2, [r3, #0] for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80bacd2: 7bfb ldrb r3, [r7, #15] 80bacd4: 3301 adds r3, #1 80bacd6: 73fb strb r3, [r7, #15] 80bacd8: 7bfa ldrb r2, [r7, #15] 80bacda: 687b ldr r3, [r7, #4] 80bacdc: 685b ldr r3, [r3, #4] 80bacde: 429a cmp r2, r3 80bace0: d3af bcc.n 80bac42 } for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80bace2: 2300 movs r3, #0 80bace4: 73fb strb r3, [r7, #15] 80bace6: e044 b.n 80bad72 { hpcd->OUT_ep[i].is_in = 0U; 80bace8: 7bfa ldrb r2, [r7, #15] 80bacea: 6879 ldr r1, [r7, #4] 80bacec: 4613 mov r3, r2 80bacee: 00db lsls r3, r3, #3 80bacf0: 1a9b subs r3, r3, r2 80bacf2: 009b lsls r3, r3, #2 80bacf4: 440b add r3, r1 80bacf6: f203 13fd addw r3, r3, #509 ; 0x1fd 80bacfa: 2200 movs r2, #0 80bacfc: 701a strb r2, [r3, #0] hpcd->OUT_ep[i].num = i; 80bacfe: 7bfa ldrb r2, [r7, #15] 80bad00: 6879 ldr r1, [r7, #4] 80bad02: 4613 mov r3, r2 80bad04: 00db lsls r3, r3, #3 80bad06: 1a9b subs r3, r3, r2 80bad08: 009b lsls r3, r3, #2 80bad0a: 440b add r3, r1 80bad0c: f503 73fe add.w r3, r3, #508 ; 0x1fc 80bad10: 7bfa ldrb r2, [r7, #15] 80bad12: 701a strb r2, [r3, #0] /* Control until ep is activated */ hpcd->OUT_ep[i].type = EP_TYPE_CTRL; 80bad14: 7bfa ldrb r2, [r7, #15] 80bad16: 6879 ldr r1, [r7, #4] 80bad18: 4613 mov r3, r2 80bad1a: 00db lsls r3, r3, #3 80bad1c: 1a9b subs r3, r3, r2 80bad1e: 009b lsls r3, r3, #2 80bad20: 440b add r3, r1 80bad22: f203 13ff addw r3, r3, #511 ; 0x1ff 80bad26: 2200 movs r2, #0 80bad28: 701a strb r2, [r3, #0] hpcd->OUT_ep[i].maxpacket = 0U; 80bad2a: 7bfa ldrb r2, [r7, #15] 80bad2c: 6879 ldr r1, [r7, #4] 80bad2e: 4613 mov r3, r2 80bad30: 00db lsls r3, r3, #3 80bad32: 1a9b subs r3, r3, r2 80bad34: 009b lsls r3, r3, #2 80bad36: 440b add r3, r1 80bad38: f503 7301 add.w r3, r3, #516 ; 0x204 80bad3c: 2200 movs r2, #0 80bad3e: 601a str r2, [r3, #0] hpcd->OUT_ep[i].xfer_buff = 0U; 80bad40: 7bfa ldrb r2, [r7, #15] 80bad42: 6879 ldr r1, [r7, #4] 80bad44: 4613 mov r3, r2 80bad46: 00db lsls r3, r3, #3 80bad48: 1a9b subs r3, r3, r2 80bad4a: 009b lsls r3, r3, #2 80bad4c: 440b add r3, r1 80bad4e: f503 7302 add.w r3, r3, #520 ; 0x208 80bad52: 2200 movs r2, #0 80bad54: 601a str r2, [r3, #0] hpcd->OUT_ep[i].xfer_len = 0U; 80bad56: 7bfa ldrb r2, [r7, #15] 80bad58: 6879 ldr r1, [r7, #4] 80bad5a: 4613 mov r3, r2 80bad5c: 00db lsls r3, r3, #3 80bad5e: 1a9b subs r3, r3, r2 80bad60: 009b lsls r3, r3, #2 80bad62: 440b add r3, r1 80bad64: f503 7304 add.w r3, r3, #528 ; 0x210 80bad68: 2200 movs r2, #0 80bad6a: 601a str r2, [r3, #0] for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80bad6c: 7bfb ldrb r3, [r7, #15] 80bad6e: 3301 adds r3, #1 80bad70: 73fb strb r3, [r7, #15] 80bad72: 7bfa ldrb r2, [r7, #15] 80bad74: 687b ldr r3, [r7, #4] 80bad76: 685b ldr r3, [r3, #4] 80bad78: 429a cmp r2, r3 80bad7a: d3b5 bcc.n 80bace8 } /* Init Device */ if (USB_DevInit(hpcd->Instance, hpcd->Init) != HAL_OK) 80bad7c: 687b ldr r3, [r7, #4] 80bad7e: 681b ldr r3, [r3, #0] 80bad80: 603b str r3, [r7, #0] 80bad82: 687e ldr r6, [r7, #4] 80bad84: 466d mov r5, sp 80bad86: f106 0410 add.w r4, r6, #16 80bad8a: cc0f ldmia r4!, {r0, r1, r2, r3} 80bad8c: c50f stmia r5!, {r0, r1, r2, r3} 80bad8e: cc0f ldmia r4!, {r0, r1, r2, r3} 80bad90: c50f stmia r5!, {r0, r1, r2, r3} 80bad92: e894 0003 ldmia.w r4, {r0, r1} 80bad96: e885 0003 stmia.w r5, {r0, r1} 80bad9a: 1d33 adds r3, r6, #4 80bad9c: cb0e ldmia r3, {r1, r2, r3} 80bad9e: 6838 ldr r0, [r7, #0] 80bada0: f008 f9d2 bl 80c3148 80bada4: 4603 mov r3, r0 80bada6: 2b00 cmp r3, #0 80bada8: d005 beq.n 80badb6 { hpcd->State = HAL_PCD_STATE_ERROR; 80badaa: 687b ldr r3, [r7, #4] 80badac: 2202 movs r2, #2 80badae: f883 23bd strb.w r2, [r3, #957] ; 0x3bd return HAL_ERROR; 80badb2: 2301 movs r3, #1 80badb4: e014 b.n 80bade0 } hpcd->USB_Address = 0U; 80badb6: 687b ldr r3, [r7, #4] 80badb8: 2200 movs r2, #0 80badba: f883 2038 strb.w r2, [r3, #56] ; 0x38 hpcd->State = HAL_PCD_STATE_READY; 80badbe: 687b ldr r3, [r7, #4] 80badc0: 2201 movs r2, #1 80badc2: f883 23bd strb.w r2, [r3, #957] ; 0x3bd /* Activate LPM */ if (hpcd->Init.lpm_enable == 1U) 80badc6: 687b ldr r3, [r7, #4] 80badc8: 6a5b ldr r3, [r3, #36] ; 0x24 80badca: 2b01 cmp r3, #1 80badcc: d102 bne.n 80badd4 { (void)HAL_PCDEx_ActivateLPM(hpcd); 80badce: 6878 ldr r0, [r7, #4] 80badd0: f001 f8aa bl 80bbf28 } (void)USB_DevDisconnect(hpcd->Instance); 80badd4: 687b ldr r3, [r7, #4] 80badd6: 681b ldr r3, [r3, #0] 80badd8: 4618 mov r0, r3 80badda: f009 fa9f bl 80c431c return HAL_OK; 80badde: 2300 movs r3, #0 } 80bade0: 4618 mov r0, r3 80bade2: 3714 adds r7, #20 80bade4: 46bd mov sp, r7 80bade6: bdf0 pop {r4, r5, r6, r7, pc} 080bade8 : * @brief Start the USB device * @param hpcd PCD handle * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_Start(PCD_HandleTypeDef *hpcd) { 80bade8: b580 push {r7, lr} 80badea: b082 sub sp, #8 80badec: af00 add r7, sp, #0 80badee: 6078 str r0, [r7, #4] __HAL_LOCK(hpcd); 80badf0: 687b ldr r3, [r7, #4] 80badf2: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80badf6: 2b01 cmp r3, #1 80badf8: d101 bne.n 80badfe 80badfa: 2302 movs r3, #2 80badfc: e012 b.n 80bae24 80badfe: 687b ldr r3, [r7, #4] 80bae00: 2201 movs r2, #1 80bae02: f883 23bc strb.w r2, [r3, #956] ; 0x3bc __HAL_PCD_ENABLE(hpcd); 80bae06: 687b ldr r3, [r7, #4] 80bae08: 681b ldr r3, [r3, #0] 80bae0a: 4618 mov r0, r3 80bae0c: f008 f92e bl 80c306c (void)USB_DevConnect(hpcd->Instance); 80bae10: 687b ldr r3, [r7, #4] 80bae12: 681b ldr r3, [r3, #0] 80bae14: 4618 mov r0, r3 80bae16: f009 fa5e bl 80c42d6 __HAL_UNLOCK(hpcd); 80bae1a: 687b ldr r3, [r7, #4] 80bae1c: 2200 movs r2, #0 80bae1e: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80bae22: 2300 movs r3, #0 } 80bae24: 4618 mov r0, r3 80bae26: 3708 adds r7, #8 80bae28: 46bd mov sp, r7 80bae2a: bd80 pop {r7, pc} 080bae2c : * @brief Handles PCD interrupt request. * @param hpcd PCD handle * @retval HAL status */ void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd) { 80bae2c: b590 push {r4, r7, lr} 80bae2e: b08d sub sp, #52 ; 0x34 80bae30: af00 add r7, sp, #0 80bae32: 6078 str r0, [r7, #4] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80bae34: 687b ldr r3, [r7, #4] 80bae36: 681b ldr r3, [r3, #0] 80bae38: 623b str r3, [r7, #32] uint32_t USBx_BASE = (uint32_t)USBx; 80bae3a: 6a3b ldr r3, [r7, #32] 80bae3c: 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) 80bae3e: 687b ldr r3, [r7, #4] 80bae40: 681b ldr r3, [r3, #0] 80bae42: 4618 mov r0, r3 80bae44: f009 fb20 bl 80c4488 80bae48: 4603 mov r3, r0 80bae4a: 2b00 cmp r3, #0 80bae4c: f040 83c5 bne.w 80bb5da { /* avoid spurious interrupt */ if (__HAL_PCD_IS_INVALID_INTERRUPT(hpcd)) 80bae50: 687b ldr r3, [r7, #4] 80bae52: 681b ldr r3, [r3, #0] 80bae54: 4618 mov r0, r3 80bae56: f009 fa84 bl 80c4362 80bae5a: 4603 mov r3, r0 80bae5c: 2b00 cmp r3, #0 80bae5e: f000 83bb beq.w 80bb5d8 { return; } if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_MMIS)) 80bae62: 687b ldr r3, [r7, #4] 80bae64: 681b ldr r3, [r3, #0] 80bae66: 4618 mov r0, r3 80bae68: f009 fa7b bl 80c4362 80bae6c: 4603 mov r3, r0 80bae6e: f003 0302 and.w r3, r3, #2 80bae72: 2b02 cmp r3, #2 80bae74: d107 bne.n 80bae86 { /* incorrect mode, acknowledge the interrupt */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_MMIS); 80bae76: 687b ldr r3, [r7, #4] 80bae78: 681b ldr r3, [r3, #0] 80bae7a: 687a ldr r2, [r7, #4] 80bae7c: 6812 ldr r2, [r2, #0] 80bae7e: 6952 ldr r2, [r2, #20] 80bae80: f002 0202 and.w r2, r2, #2 80bae84: 615a str r2, [r3, #20] } /* Handle RxQLevel Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_RXFLVL)) 80bae86: 687b ldr r3, [r7, #4] 80bae88: 681b ldr r3, [r3, #0] 80bae8a: 4618 mov r0, r3 80bae8c: f009 fa69 bl 80c4362 80bae90: 4603 mov r3, r0 80bae92: f003 0310 and.w r3, r3, #16 80bae96: 2b10 cmp r3, #16 80bae98: d161 bne.n 80baf5e { USB_MASK_INTERRUPT(hpcd->Instance, USB_OTG_GINTSTS_RXFLVL); 80bae9a: 687b ldr r3, [r7, #4] 80bae9c: 681b ldr r3, [r3, #0] 80bae9e: 687a ldr r2, [r7, #4] 80baea0: 6812 ldr r2, [r2, #0] 80baea2: 6992 ldr r2, [r2, #24] 80baea4: f022 0210 bic.w r2, r2, #16 80baea8: 619a str r2, [r3, #24] temp = USBx->GRXSTSP; 80baeaa: 6a3b ldr r3, [r7, #32] 80baeac: 6a1b ldr r3, [r3, #32] 80baeae: 61bb str r3, [r7, #24] ep = &hpcd->OUT_ep[temp & USB_OTG_GRXSTSP_EPNUM]; 80baeb0: 69bb ldr r3, [r7, #24] 80baeb2: f003 020f and.w r2, r3, #15 80baeb6: 4613 mov r3, r2 80baeb8: 00db lsls r3, r3, #3 80baeba: 1a9b subs r3, r3, r2 80baebc: 009b lsls r3, r3, #2 80baebe: f503 73fc add.w r3, r3, #504 ; 0x1f8 80baec2: 687a ldr r2, [r7, #4] 80baec4: 4413 add r3, r2 80baec6: 3304 adds r3, #4 80baec8: 617b str r3, [r7, #20] if (((temp & USB_OTG_GRXSTSP_PKTSTS) >> 17) == STS_DATA_UPDT) 80baeca: 69bb ldr r3, [r7, #24] 80baecc: 0c5b lsrs r3, r3, #17 80baece: f003 030f and.w r3, r3, #15 80baed2: 2b02 cmp r3, #2 80baed4: d124 bne.n 80baf20 { if ((temp & USB_OTG_GRXSTSP_BCNT) != 0U) 80baed6: 69ba ldr r2, [r7, #24] 80baed8: f647 73f0 movw r3, #32752 ; 0x7ff0 80baedc: 4013 ands r3, r2 80baede: 2b00 cmp r3, #0 80baee0: d035 beq.n 80baf4e { (void)USB_ReadPacket(USBx, ep->xfer_buff, 80baee2: 697b ldr r3, [r7, #20] 80baee4: 68d9 ldr r1, [r3, #12] (uint16_t)((temp & USB_OTG_GRXSTSP_BCNT) >> 4)); 80baee6: 69bb ldr r3, [r7, #24] 80baee8: 091b lsrs r3, r3, #4 80baeea: b29b uxth r3, r3 (void)USB_ReadPacket(USBx, ep->xfer_buff, 80baeec: f3c3 030a ubfx r3, r3, #0, #11 80baef0: b29b uxth r3, r3 80baef2: 461a mov r2, r3 80baef4: 6a38 ldr r0, [r7, #32] 80baef6: f009 f893 bl 80c4020 ep->xfer_buff += (temp & USB_OTG_GRXSTSP_BCNT) >> 4; 80baefa: 697b ldr r3, [r7, #20] 80baefc: 68da ldr r2, [r3, #12] 80baefe: 69bb ldr r3, [r7, #24] 80baf00: 091b lsrs r3, r3, #4 80baf02: f3c3 030a ubfx r3, r3, #0, #11 80baf06: 441a add r2, r3 80baf08: 697b ldr r3, [r7, #20] 80baf0a: 60da str r2, [r3, #12] ep->xfer_count += (temp & USB_OTG_GRXSTSP_BCNT) >> 4; 80baf0c: 697b ldr r3, [r7, #20] 80baf0e: 699a ldr r2, [r3, #24] 80baf10: 69bb ldr r3, [r7, #24] 80baf12: 091b lsrs r3, r3, #4 80baf14: f3c3 030a ubfx r3, r3, #0, #11 80baf18: 441a add r2, r3 80baf1a: 697b ldr r3, [r7, #20] 80baf1c: 619a str r2, [r3, #24] 80baf1e: e016 b.n 80baf4e } } else if (((temp & USB_OTG_GRXSTSP_PKTSTS) >> 17) == STS_SETUP_UPDT) 80baf20: 69bb ldr r3, [r7, #24] 80baf22: 0c5b lsrs r3, r3, #17 80baf24: f003 030f and.w r3, r3, #15 80baf28: 2b06 cmp r3, #6 80baf2a: d110 bne.n 80baf4e { (void)USB_ReadPacket(USBx, (uint8_t *)hpcd->Setup, 8U); 80baf2c: 687b ldr r3, [r7, #4] 80baf2e: f503 7371 add.w r3, r3, #964 ; 0x3c4 80baf32: 2208 movs r2, #8 80baf34: 4619 mov r1, r3 80baf36: 6a38 ldr r0, [r7, #32] 80baf38: f009 f872 bl 80c4020 ep->xfer_count += (temp & USB_OTG_GRXSTSP_BCNT) >> 4; 80baf3c: 697b ldr r3, [r7, #20] 80baf3e: 699a ldr r2, [r3, #24] 80baf40: 69bb ldr r3, [r7, #24] 80baf42: 091b lsrs r3, r3, #4 80baf44: f3c3 030a ubfx r3, r3, #0, #11 80baf48: 441a add r2, r3 80baf4a: 697b ldr r3, [r7, #20] 80baf4c: 619a str r2, [r3, #24] else { /* ... */ } USB_UNMASK_INTERRUPT(hpcd->Instance, USB_OTG_GINTSTS_RXFLVL); 80baf4e: 687b ldr r3, [r7, #4] 80baf50: 681b ldr r3, [r3, #0] 80baf52: 687a ldr r2, [r7, #4] 80baf54: 6812 ldr r2, [r2, #0] 80baf56: 6992 ldr r2, [r2, #24] 80baf58: f042 0210 orr.w r2, r2, #16 80baf5c: 619a str r2, [r3, #24] } if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_OEPINT)) 80baf5e: 687b ldr r3, [r7, #4] 80baf60: 681b ldr r3, [r3, #0] 80baf62: 4618 mov r0, r3 80baf64: f009 f9fd bl 80c4362 80baf68: 4603 mov r3, r0 80baf6a: f403 2300 and.w r3, r3, #524288 ; 0x80000 80baf6e: f5b3 2f00 cmp.w r3, #524288 ; 0x80000 80baf72: d16e bne.n 80bb052 { epnum = 0U; 80baf74: 2300 movs r3, #0 80baf76: 627b str r3, [r7, #36] ; 0x24 /* Read in the device interrupt bits */ ep_intr = USB_ReadDevAllOutEpInterrupt(hpcd->Instance); 80baf78: 687b ldr r3, [r7, #4] 80baf7a: 681b ldr r3, [r3, #0] 80baf7c: 4618 mov r0, r3 80baf7e: f009 fa03 bl 80c4388 80baf82: 62b8 str r0, [r7, #40] ; 0x28 while (ep_intr != 0U) 80baf84: e062 b.n 80bb04c { if ((ep_intr & 0x1U) != 0U) 80baf86: 6abb ldr r3, [r7, #40] ; 0x28 80baf88: f003 0301 and.w r3, r3, #1 80baf8c: 2b00 cmp r3, #0 80baf8e: d057 beq.n 80bb040 { epint = USB_ReadDevOutEPInterrupt(hpcd->Instance, (uint8_t)epnum); 80baf90: 687b ldr r3, [r7, #4] 80baf92: 681b ldr r3, [r3, #0] 80baf94: 6a7a ldr r2, [r7, #36] ; 0x24 80baf96: b2d2 uxtb r2, r2 80baf98: 4611 mov r1, r2 80baf9a: 4618 mov r0, r3 80baf9c: f009 fa28 bl 80c43f0 80bafa0: 6138 str r0, [r7, #16] if ((epint & USB_OTG_DOEPINT_XFRC) == USB_OTG_DOEPINT_XFRC) 80bafa2: 693b ldr r3, [r7, #16] 80bafa4: f003 0301 and.w r3, r3, #1 80bafa8: 2b00 cmp r3, #0 80bafaa: d00c beq.n 80bafc6 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_XFRC); 80bafac: 6a7b ldr r3, [r7, #36] ; 0x24 80bafae: 015a lsls r2, r3, #5 80bafb0: 69fb ldr r3, [r7, #28] 80bafb2: 4413 add r3, r2 80bafb4: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bafb8: 461a mov r2, r3 80bafba: 2301 movs r3, #1 80bafbc: 6093 str r3, [r2, #8] (void)PCD_EP_OutXfrComplete_int(hpcd, epnum); 80bafbe: 6a79 ldr r1, [r7, #36] ; 0x24 80bafc0: 6878 ldr r0, [r7, #4] 80bafc2: f000 fe07 bl 80bbbd4 } if ((epint & USB_OTG_DOEPINT_STUP) == USB_OTG_DOEPINT_STUP) 80bafc6: 693b ldr r3, [r7, #16] 80bafc8: f003 0308 and.w r3, r3, #8 80bafcc: 2b00 cmp r3, #0 80bafce: d00c beq.n 80bafea { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STUP); 80bafd0: 6a7b ldr r3, [r7, #36] ; 0x24 80bafd2: 015a lsls r2, r3, #5 80bafd4: 69fb ldr r3, [r7, #28] 80bafd6: 4413 add r3, r2 80bafd8: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bafdc: 461a mov r2, r3 80bafde: 2308 movs r3, #8 80bafe0: 6093 str r3, [r2, #8] /* Class B setup phase done for previous decoded setup */ (void)PCD_EP_OutSetupPacket_int(hpcd, epnum); 80bafe2: 6a79 ldr r1, [r7, #36] ; 0x24 80bafe4: 6878 ldr r0, [r7, #4] 80bafe6: f000 ff01 bl 80bbdec } if ((epint & USB_OTG_DOEPINT_OTEPDIS) == USB_OTG_DOEPINT_OTEPDIS) 80bafea: 693b ldr r3, [r7, #16] 80bafec: f003 0310 and.w r3, r3, #16 80baff0: 2b00 cmp r3, #0 80baff2: d008 beq.n 80bb006 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPDIS); 80baff4: 6a7b ldr r3, [r7, #36] ; 0x24 80baff6: 015a lsls r2, r3, #5 80baff8: 69fb ldr r3, [r7, #28] 80baffa: 4413 add r3, r2 80baffc: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bb000: 461a mov r2, r3 80bb002: 2310 movs r3, #16 80bb004: 6093 str r3, [r2, #8] } /* Clear Status Phase Received interrupt */ if ((epint & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR) 80bb006: 693b ldr r3, [r7, #16] 80bb008: f003 0320 and.w r3, r3, #32 80bb00c: 2b00 cmp r3, #0 80bb00e: d008 beq.n 80bb022 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR); 80bb010: 6a7b ldr r3, [r7, #36] ; 0x24 80bb012: 015a lsls r2, r3, #5 80bb014: 69fb ldr r3, [r7, #28] 80bb016: 4413 add r3, r2 80bb018: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bb01c: 461a mov r2, r3 80bb01e: 2320 movs r3, #32 80bb020: 6093 str r3, [r2, #8] } /* Clear OUT NAK interrupt */ if ((epint & USB_OTG_DOEPINT_NAK) == USB_OTG_DOEPINT_NAK) 80bb022: 693b ldr r3, [r7, #16] 80bb024: f403 5300 and.w r3, r3, #8192 ; 0x2000 80bb028: 2b00 cmp r3, #0 80bb02a: d009 beq.n 80bb040 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_NAK); 80bb02c: 6a7b ldr r3, [r7, #36] ; 0x24 80bb02e: 015a lsls r2, r3, #5 80bb030: 69fb ldr r3, [r7, #28] 80bb032: 4413 add r3, r2 80bb034: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bb038: 461a mov r2, r3 80bb03a: f44f 5300 mov.w r3, #8192 ; 0x2000 80bb03e: 6093 str r3, [r2, #8] } } epnum++; 80bb040: 6a7b ldr r3, [r7, #36] ; 0x24 80bb042: 3301 adds r3, #1 80bb044: 627b str r3, [r7, #36] ; 0x24 ep_intr >>= 1U; 80bb046: 6abb ldr r3, [r7, #40] ; 0x28 80bb048: 085b lsrs r3, r3, #1 80bb04a: 62bb str r3, [r7, #40] ; 0x28 while (ep_intr != 0U) 80bb04c: 6abb ldr r3, [r7, #40] ; 0x28 80bb04e: 2b00 cmp r3, #0 80bb050: d199 bne.n 80baf86 } } if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IEPINT)) 80bb052: 687b ldr r3, [r7, #4] 80bb054: 681b ldr r3, [r3, #0] 80bb056: 4618 mov r0, r3 80bb058: f009 f983 bl 80c4362 80bb05c: 4603 mov r3, r0 80bb05e: f403 2380 and.w r3, r3, #262144 ; 0x40000 80bb062: f5b3 2f80 cmp.w r3, #262144 ; 0x40000 80bb066: f040 80c1 bne.w 80bb1ec { /* Read in the device interrupt bits */ ep_intr = USB_ReadDevAllInEpInterrupt(hpcd->Instance); 80bb06a: 687b ldr r3, [r7, #4] 80bb06c: 681b ldr r3, [r3, #0] 80bb06e: 4618 mov r0, r3 80bb070: f009 f9a4 bl 80c43bc 80bb074: 62b8 str r0, [r7, #40] ; 0x28 epnum = 0U; 80bb076: 2300 movs r3, #0 80bb078: 627b str r3, [r7, #36] ; 0x24 while (ep_intr != 0U) 80bb07a: e0b3 b.n 80bb1e4 { if ((ep_intr & 0x1U) != 0U) /* In ITR */ 80bb07c: 6abb ldr r3, [r7, #40] ; 0x28 80bb07e: f003 0301 and.w r3, r3, #1 80bb082: 2b00 cmp r3, #0 80bb084: f000 80a8 beq.w 80bb1d8 { epint = USB_ReadDevInEPInterrupt(hpcd->Instance, (uint8_t)epnum); 80bb088: 687b ldr r3, [r7, #4] 80bb08a: 681b ldr r3, [r3, #0] 80bb08c: 6a7a ldr r2, [r7, #36] ; 0x24 80bb08e: b2d2 uxtb r2, r2 80bb090: 4611 mov r1, r2 80bb092: 4618 mov r0, r3 80bb094: f009 f9ca bl 80c442c 80bb098: 6138 str r0, [r7, #16] if ((epint & USB_OTG_DIEPINT_XFRC) == USB_OTG_DIEPINT_XFRC) 80bb09a: 693b ldr r3, [r7, #16] 80bb09c: f003 0301 and.w r3, r3, #1 80bb0a0: 2b00 cmp r3, #0 80bb0a2: d058 beq.n 80bb156 { fifoemptymsk = (uint32_t)(0x1UL << (epnum & EP_ADDR_MSK)); 80bb0a4: 6a7b ldr r3, [r7, #36] ; 0x24 80bb0a6: f003 030f and.w r3, r3, #15 80bb0aa: 2201 movs r2, #1 80bb0ac: fa02 f303 lsl.w r3, r2, r3 80bb0b0: 60fb str r3, [r7, #12] USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk; 80bb0b2: 69fb ldr r3, [r7, #28] 80bb0b4: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb0b8: 4619 mov r1, r3 80bb0ba: 69fb ldr r3, [r7, #28] 80bb0bc: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb0c0: 6b5a ldr r2, [r3, #52] ; 0x34 80bb0c2: 68fb ldr r3, [r7, #12] 80bb0c4: 43db mvns r3, r3 80bb0c6: 4013 ands r3, r2 80bb0c8: 634b str r3, [r1, #52] ; 0x34 CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_XFRC); 80bb0ca: 6a7b ldr r3, [r7, #36] ; 0x24 80bb0cc: 015a lsls r2, r3, #5 80bb0ce: 69fb ldr r3, [r7, #28] 80bb0d0: 4413 add r3, r2 80bb0d2: f503 6310 add.w r3, r3, #2304 ; 0x900 80bb0d6: 461a mov r2, r3 80bb0d8: 2301 movs r3, #1 80bb0da: 6093 str r3, [r2, #8] if (hpcd->Init.dma_enable == 1U) 80bb0dc: 687b ldr r3, [r7, #4] 80bb0de: 691b ldr r3, [r3, #16] 80bb0e0: 2b01 cmp r3, #1 80bb0e2: d132 bne.n 80bb14a { hpcd->IN_ep[epnum].xfer_buff += hpcd->IN_ep[epnum].maxpacket; 80bb0e4: 6879 ldr r1, [r7, #4] 80bb0e6: 6a7a ldr r2, [r7, #36] ; 0x24 80bb0e8: 4613 mov r3, r2 80bb0ea: 00db lsls r3, r3, #3 80bb0ec: 1a9b subs r3, r3, r2 80bb0ee: 009b lsls r3, r3, #2 80bb0f0: 440b add r3, r1 80bb0f2: 3348 adds r3, #72 ; 0x48 80bb0f4: 6819 ldr r1, [r3, #0] 80bb0f6: 6878 ldr r0, [r7, #4] 80bb0f8: 6a7a ldr r2, [r7, #36] ; 0x24 80bb0fa: 4613 mov r3, r2 80bb0fc: 00db lsls r3, r3, #3 80bb0fe: 1a9b subs r3, r3, r2 80bb100: 009b lsls r3, r3, #2 80bb102: 4403 add r3, r0 80bb104: 3344 adds r3, #68 ; 0x44 80bb106: 681b ldr r3, [r3, #0] 80bb108: 4419 add r1, r3 80bb10a: 6878 ldr r0, [r7, #4] 80bb10c: 6a7a ldr r2, [r7, #36] ; 0x24 80bb10e: 4613 mov r3, r2 80bb110: 00db lsls r3, r3, #3 80bb112: 1a9b subs r3, r3, r2 80bb114: 009b lsls r3, r3, #2 80bb116: 4403 add r3, r0 80bb118: 3348 adds r3, #72 ; 0x48 80bb11a: 6019 str r1, [r3, #0] /* this is ZLP, so prepare EP0 for next setup */ if ((epnum == 0U) && (hpcd->IN_ep[epnum].xfer_len == 0U)) 80bb11c: 6a7b ldr r3, [r7, #36] ; 0x24 80bb11e: 2b00 cmp r3, #0 80bb120: d113 bne.n 80bb14a 80bb122: 6879 ldr r1, [r7, #4] 80bb124: 6a7a ldr r2, [r7, #36] ; 0x24 80bb126: 4613 mov r3, r2 80bb128: 00db lsls r3, r3, #3 80bb12a: 1a9b subs r3, r3, r2 80bb12c: 009b lsls r3, r3, #2 80bb12e: 440b add r3, r1 80bb130: 3350 adds r3, #80 ; 0x50 80bb132: 681b ldr r3, [r3, #0] 80bb134: 2b00 cmp r3, #0 80bb136: d108 bne.n 80bb14a { /* prepare to rx more setup packets */ (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); 80bb138: 687b ldr r3, [r7, #4] 80bb13a: 6818 ldr r0, [r3, #0] 80bb13c: 687b ldr r3, [r7, #4] 80bb13e: f503 7371 add.w r3, r3, #964 ; 0x3c4 80bb142: 461a mov r2, r3 80bb144: 2101 movs r1, #1 80bb146: f009 f9d3 bl 80c44f0 } #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataInStageCallback(hpcd, (uint8_t)epnum); #else HAL_PCD_DataInStageCallback(hpcd, (uint8_t)epnum); 80bb14a: 6a7b ldr r3, [r7, #36] ; 0x24 80bb14c: b2db uxtb r3, r3 80bb14e: 4619 mov r1, r3 80bb150: 6878 ldr r0, [r7, #4] 80bb152: f013 fa48 bl 80ce5e6 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } if ((epint & USB_OTG_DIEPINT_TOC) == USB_OTG_DIEPINT_TOC) 80bb156: 693b ldr r3, [r7, #16] 80bb158: f003 0308 and.w r3, r3, #8 80bb15c: 2b00 cmp r3, #0 80bb15e: d008 beq.n 80bb172 { CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_TOC); 80bb160: 6a7b ldr r3, [r7, #36] ; 0x24 80bb162: 015a lsls r2, r3, #5 80bb164: 69fb ldr r3, [r7, #28] 80bb166: 4413 add r3, r2 80bb168: f503 6310 add.w r3, r3, #2304 ; 0x900 80bb16c: 461a mov r2, r3 80bb16e: 2308 movs r3, #8 80bb170: 6093 str r3, [r2, #8] } if ((epint & USB_OTG_DIEPINT_ITTXFE) == USB_OTG_DIEPINT_ITTXFE) 80bb172: 693b ldr r3, [r7, #16] 80bb174: f003 0310 and.w r3, r3, #16 80bb178: 2b00 cmp r3, #0 80bb17a: d008 beq.n 80bb18e { CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_ITTXFE); 80bb17c: 6a7b ldr r3, [r7, #36] ; 0x24 80bb17e: 015a lsls r2, r3, #5 80bb180: 69fb ldr r3, [r7, #28] 80bb182: 4413 add r3, r2 80bb184: f503 6310 add.w r3, r3, #2304 ; 0x900 80bb188: 461a mov r2, r3 80bb18a: 2310 movs r3, #16 80bb18c: 6093 str r3, [r2, #8] } if ((epint & USB_OTG_DIEPINT_INEPNE) == USB_OTG_DIEPINT_INEPNE) 80bb18e: 693b ldr r3, [r7, #16] 80bb190: f003 0340 and.w r3, r3, #64 ; 0x40 80bb194: 2b00 cmp r3, #0 80bb196: d008 beq.n 80bb1aa { CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_INEPNE); 80bb198: 6a7b ldr r3, [r7, #36] ; 0x24 80bb19a: 015a lsls r2, r3, #5 80bb19c: 69fb ldr r3, [r7, #28] 80bb19e: 4413 add r3, r2 80bb1a0: f503 6310 add.w r3, r3, #2304 ; 0x900 80bb1a4: 461a mov r2, r3 80bb1a6: 2340 movs r3, #64 ; 0x40 80bb1a8: 6093 str r3, [r2, #8] } if ((epint & USB_OTG_DIEPINT_EPDISD) == USB_OTG_DIEPINT_EPDISD) 80bb1aa: 693b ldr r3, [r7, #16] 80bb1ac: f003 0302 and.w r3, r3, #2 80bb1b0: 2b00 cmp r3, #0 80bb1b2: d008 beq.n 80bb1c6 { CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_EPDISD); 80bb1b4: 6a7b ldr r3, [r7, #36] ; 0x24 80bb1b6: 015a lsls r2, r3, #5 80bb1b8: 69fb ldr r3, [r7, #28] 80bb1ba: 4413 add r3, r2 80bb1bc: f503 6310 add.w r3, r3, #2304 ; 0x900 80bb1c0: 461a mov r2, r3 80bb1c2: 2302 movs r3, #2 80bb1c4: 6093 str r3, [r2, #8] } if ((epint & USB_OTG_DIEPINT_TXFE) == USB_OTG_DIEPINT_TXFE) 80bb1c6: 693b ldr r3, [r7, #16] 80bb1c8: f003 0380 and.w r3, r3, #128 ; 0x80 80bb1cc: 2b00 cmp r3, #0 80bb1ce: d003 beq.n 80bb1d8 { (void)PCD_WriteEmptyTxFifo(hpcd, epnum); 80bb1d0: 6a79 ldr r1, [r7, #36] ; 0x24 80bb1d2: 6878 ldr r0, [r7, #4] 80bb1d4: f000 fc6f bl 80bbab6 } } epnum++; 80bb1d8: 6a7b ldr r3, [r7, #36] ; 0x24 80bb1da: 3301 adds r3, #1 80bb1dc: 627b str r3, [r7, #36] ; 0x24 ep_intr >>= 1U; 80bb1de: 6abb ldr r3, [r7, #40] ; 0x28 80bb1e0: 085b lsrs r3, r3, #1 80bb1e2: 62bb str r3, [r7, #40] ; 0x28 while (ep_intr != 0U) 80bb1e4: 6abb ldr r3, [r7, #40] ; 0x28 80bb1e6: 2b00 cmp r3, #0 80bb1e8: f47f af48 bne.w 80bb07c } } /* Handle Resume Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_WKUINT)) 80bb1ec: 687b ldr r3, [r7, #4] 80bb1ee: 681b ldr r3, [r3, #0] 80bb1f0: 4618 mov r0, r3 80bb1f2: f009 f8b6 bl 80c4362 80bb1f6: 4603 mov r3, r0 80bb1f8: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80bb1fc: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80bb200: d123 bne.n 80bb24a { /* Clear the Remote Wake-up Signaling */ USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_RWUSIG; 80bb202: 69fb ldr r3, [r7, #28] 80bb204: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb208: 461a mov r2, r3 80bb20a: 69fb ldr r3, [r7, #28] 80bb20c: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb210: 685b ldr r3, [r3, #4] 80bb212: f023 0301 bic.w r3, r3, #1 80bb216: 6053 str r3, [r2, #4] if (hpcd->LPM_State == LPM_L1) 80bb218: 687b ldr r3, [r7, #4] 80bb21a: f893 33f4 ldrb.w r3, [r3, #1012] ; 0x3f4 80bb21e: 2b01 cmp r3, #1 80bb220: d108 bne.n 80bb234 { hpcd->LPM_State = LPM_L0; 80bb222: 687b ldr r3, [r7, #4] 80bb224: 2200 movs r2, #0 80bb226: 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); 80bb22a: 2100 movs r1, #0 80bb22c: 6878 ldr r0, [r7, #4] 80bb22e: f013 fc69 bl 80ceb04 80bb232: e002 b.n 80bb23a else { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->ResumeCallback(hpcd); #else HAL_PCD_ResumeCallback(hpcd); 80bb234: 6878 ldr r0, [r7, #4] 80bb236: f013 fa4f bl 80ce6d8 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_WKUINT); 80bb23a: 687b ldr r3, [r7, #4] 80bb23c: 681b ldr r3, [r3, #0] 80bb23e: 687a ldr r2, [r7, #4] 80bb240: 6812 ldr r2, [r2, #0] 80bb242: 6952 ldr r2, [r2, #20] 80bb244: f002 4200 and.w r2, r2, #2147483648 ; 0x80000000 80bb248: 615a str r2, [r3, #20] } /* Handle Suspend Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_USBSUSP)) 80bb24a: 687b ldr r3, [r7, #4] 80bb24c: 681b ldr r3, [r3, #0] 80bb24e: 4618 mov r0, r3 80bb250: f009 f887 bl 80c4362 80bb254: 4603 mov r3, r0 80bb256: f403 6300 and.w r3, r3, #2048 ; 0x800 80bb25a: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80bb25e: d112 bne.n 80bb286 { if ((USBx_DEVICE->DSTS & USB_OTG_DSTS_SUSPSTS) == USB_OTG_DSTS_SUSPSTS) 80bb260: 69fb ldr r3, [r7, #28] 80bb262: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb266: 689b ldr r3, [r3, #8] 80bb268: f003 0301 and.w r3, r3, #1 80bb26c: 2b01 cmp r3, #1 80bb26e: d102 bne.n 80bb276 { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->SuspendCallback(hpcd); #else HAL_PCD_SuspendCallback(hpcd); 80bb270: 6878 ldr r0, [r7, #4] 80bb272: f013 fa09 bl 80ce688 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_USBSUSP); 80bb276: 687b ldr r3, [r7, #4] 80bb278: 681b ldr r3, [r3, #0] 80bb27a: 687a ldr r2, [r7, #4] 80bb27c: 6812 ldr r2, [r2, #0] 80bb27e: 6952 ldr r2, [r2, #20] 80bb280: f402 6200 and.w r2, r2, #2048 ; 0x800 80bb284: 615a str r2, [r3, #20] } /* Handle LPM Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_LPMINT)) 80bb286: 687b ldr r3, [r7, #4] 80bb288: 681b ldr r3, [r3, #0] 80bb28a: 4618 mov r0, r3 80bb28c: f009 f869 bl 80c4362 80bb290: 4603 mov r3, r0 80bb292: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80bb296: f1b3 6f00 cmp.w r3, #134217728 ; 0x8000000 80bb29a: d121 bne.n 80bb2e0 { __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_LPMINT); 80bb29c: 687b ldr r3, [r7, #4] 80bb29e: 681b ldr r3, [r3, #0] 80bb2a0: 687a ldr r2, [r7, #4] 80bb2a2: 6812 ldr r2, [r2, #0] 80bb2a4: 6952 ldr r2, [r2, #20] 80bb2a6: f002 6200 and.w r2, r2, #134217728 ; 0x8000000 80bb2aa: 615a str r2, [r3, #20] if (hpcd->LPM_State == LPM_L0) 80bb2ac: 687b ldr r3, [r7, #4] 80bb2ae: f893 33f4 ldrb.w r3, [r3, #1012] ; 0x3f4 80bb2b2: 2b00 cmp r3, #0 80bb2b4: d111 bne.n 80bb2da { hpcd->LPM_State = LPM_L1; 80bb2b6: 687b ldr r3, [r7, #4] 80bb2b8: 2201 movs r2, #1 80bb2ba: f883 23f4 strb.w r2, [r3, #1012] ; 0x3f4 hpcd->BESL = (hpcd->Instance->GLPMCFG & USB_OTG_GLPMCFG_BESL) >> 2U; 80bb2be: 687b ldr r3, [r7, #4] 80bb2c0: 681b ldr r3, [r3, #0] 80bb2c2: 6d5b ldr r3, [r3, #84] ; 0x54 80bb2c4: 089b lsrs r3, r3, #2 80bb2c6: f003 020f and.w r2, r3, #15 80bb2ca: 687b ldr r3, [r7, #4] 80bb2cc: 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); 80bb2d0: 2101 movs r1, #1 80bb2d2: 6878 ldr r0, [r7, #4] 80bb2d4: f013 fc16 bl 80ceb04 80bb2d8: e002 b.n 80bb2e0 else { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->SuspendCallback(hpcd); #else HAL_PCD_SuspendCallback(hpcd); 80bb2da: 6878 ldr r0, [r7, #4] 80bb2dc: f013 f9d4 bl 80ce688 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } } /* Handle Reset Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_USBRST)) 80bb2e0: 687b ldr r3, [r7, #4] 80bb2e2: 681b ldr r3, [r3, #0] 80bb2e4: 4618 mov r0, r3 80bb2e6: f009 f83c bl 80c4362 80bb2ea: 4603 mov r3, r0 80bb2ec: f403 5380 and.w r3, r3, #4096 ; 0x1000 80bb2f0: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80bb2f4: f040 80c0 bne.w 80bb478 { USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_RWUSIG; 80bb2f8: 69fb ldr r3, [r7, #28] 80bb2fa: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb2fe: 461a mov r2, r3 80bb300: 69fb ldr r3, [r7, #28] 80bb302: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb306: 685b ldr r3, [r3, #4] 80bb308: f023 0301 bic.w r3, r3, #1 80bb30c: 6053 str r3, [r2, #4] (void)USB_FlushTxFifo(hpcd->Instance, 0x10U); 80bb30e: 687b ldr r3, [r7, #4] 80bb310: 681b ldr r3, [r3, #0] 80bb312: 2110 movs r1, #16 80bb314: 4618 mov r0, r3 80bb316: f008 f877 bl 80c3408 for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80bb31a: 2300 movs r3, #0 80bb31c: 62fb str r3, [r7, #44] ; 0x2c 80bb31e: e049 b.n 80bb3b4 { USBx_INEP(i)->DIEPINT = 0xFB7FU; 80bb320: 6afb ldr r3, [r7, #44] ; 0x2c 80bb322: 015a lsls r2, r3, #5 80bb324: 69fb ldr r3, [r7, #28] 80bb326: 4413 add r3, r2 80bb328: f503 6310 add.w r3, r3, #2304 ; 0x900 80bb32c: 461a mov r2, r3 80bb32e: f64f 337f movw r3, #64383 ; 0xfb7f 80bb332: 6093 str r3, [r2, #8] USBx_INEP(i)->DIEPCTL &= ~USB_OTG_DIEPCTL_STALL; 80bb334: 6afb ldr r3, [r7, #44] ; 0x2c 80bb336: 015a lsls r2, r3, #5 80bb338: 69fb ldr r3, [r7, #28] 80bb33a: 4413 add r3, r2 80bb33c: f503 6310 add.w r3, r3, #2304 ; 0x900 80bb340: 4619 mov r1, r3 80bb342: 6afb ldr r3, [r7, #44] ; 0x2c 80bb344: 015a lsls r2, r3, #5 80bb346: 69fb ldr r3, [r7, #28] 80bb348: 4413 add r3, r2 80bb34a: f503 6310 add.w r3, r3, #2304 ; 0x900 80bb34e: 681b ldr r3, [r3, #0] 80bb350: f423 1300 bic.w r3, r3, #2097152 ; 0x200000 80bb354: 600b str r3, [r1, #0] USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 80bb356: 6afb ldr r3, [r7, #44] ; 0x2c 80bb358: 015a lsls r2, r3, #5 80bb35a: 69fb ldr r3, [r7, #28] 80bb35c: 4413 add r3, r2 80bb35e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bb362: 461a mov r2, r3 80bb364: f64f 337f movw r3, #64383 ; 0xfb7f 80bb368: 6093 str r3, [r2, #8] USBx_OUTEP(i)->DOEPCTL &= ~USB_OTG_DOEPCTL_STALL; 80bb36a: 6afb ldr r3, [r7, #44] ; 0x2c 80bb36c: 015a lsls r2, r3, #5 80bb36e: 69fb ldr r3, [r7, #28] 80bb370: 4413 add r3, r2 80bb372: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bb376: 4619 mov r1, r3 80bb378: 6afb ldr r3, [r7, #44] ; 0x2c 80bb37a: 015a lsls r2, r3, #5 80bb37c: 69fb ldr r3, [r7, #28] 80bb37e: 4413 add r3, r2 80bb380: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bb384: 681b ldr r3, [r3, #0] 80bb386: f423 1300 bic.w r3, r3, #2097152 ; 0x200000 80bb38a: 600b str r3, [r1, #0] USBx_OUTEP(i)->DOEPCTL |= USB_OTG_DOEPCTL_SNAK; 80bb38c: 6afb ldr r3, [r7, #44] ; 0x2c 80bb38e: 015a lsls r2, r3, #5 80bb390: 69fb ldr r3, [r7, #28] 80bb392: 4413 add r3, r2 80bb394: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bb398: 4619 mov r1, r3 80bb39a: 6afb ldr r3, [r7, #44] ; 0x2c 80bb39c: 015a lsls r2, r3, #5 80bb39e: 69fb ldr r3, [r7, #28] 80bb3a0: 4413 add r3, r2 80bb3a2: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bb3a6: 681b ldr r3, [r3, #0] 80bb3a8: f043 6300 orr.w r3, r3, #134217728 ; 0x8000000 80bb3ac: 600b str r3, [r1, #0] for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80bb3ae: 6afb ldr r3, [r7, #44] ; 0x2c 80bb3b0: 3301 adds r3, #1 80bb3b2: 62fb str r3, [r7, #44] ; 0x2c 80bb3b4: 687b ldr r3, [r7, #4] 80bb3b6: 685a ldr r2, [r3, #4] 80bb3b8: 6afb ldr r3, [r7, #44] ; 0x2c 80bb3ba: 429a cmp r2, r3 80bb3bc: d8b0 bhi.n 80bb320 } USBx_DEVICE->DAINTMSK |= 0x10001U; 80bb3be: 69fb ldr r3, [r7, #28] 80bb3c0: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb3c4: 461a mov r2, r3 80bb3c6: 69fb ldr r3, [r7, #28] 80bb3c8: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb3cc: 69db ldr r3, [r3, #28] 80bb3ce: f043 1301 orr.w r3, r3, #65537 ; 0x10001 80bb3d2: 61d3 str r3, [r2, #28] if (hpcd->Init.use_dedicated_ep1 != 0U) 80bb3d4: 687b ldr r3, [r7, #4] 80bb3d6: 6b1b ldr r3, [r3, #48] ; 0x30 80bb3d8: 2b00 cmp r3, #0 80bb3da: d018 beq.n 80bb40e { USBx_DEVICE->DOUTEP1MSK |= USB_OTG_DOEPMSK_STUPM | 80bb3dc: 69fb ldr r3, [r7, #28] 80bb3de: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb3e2: 461a mov r2, r3 80bb3e4: 69fb ldr r3, [r7, #28] 80bb3e6: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb3ea: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80bb3ee: f043 030b orr.w r3, r3, #11 80bb3f2: f8c2 3084 str.w r3, [r2, #132] ; 0x84 USB_OTG_DOEPMSK_XFRCM | USB_OTG_DOEPMSK_EPDM; USBx_DEVICE->DINEP1MSK |= USB_OTG_DIEPMSK_TOM | 80bb3f6: 69fb ldr r3, [r7, #28] 80bb3f8: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb3fc: 461a mov r2, r3 80bb3fe: 69fb ldr r3, [r7, #28] 80bb400: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb404: 6c5b ldr r3, [r3, #68] ; 0x44 80bb406: f043 030b orr.w r3, r3, #11 80bb40a: 6453 str r3, [r2, #68] ; 0x44 80bb40c: e016 b.n 80bb43c USB_OTG_DIEPMSK_XFRCM | USB_OTG_DIEPMSK_EPDM; } else { USBx_DEVICE->DOEPMSK |= USB_OTG_DOEPMSK_STUPM | 80bb40e: 69fb ldr r3, [r7, #28] 80bb410: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb414: 4619 mov r1, r3 80bb416: 69fb ldr r3, [r7, #28] 80bb418: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb41c: 695a ldr r2, [r3, #20] 80bb41e: f242 032b movw r3, #8235 ; 0x202b 80bb422: 4313 orrs r3, r2 80bb424: 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 | 80bb426: 69fb ldr r3, [r7, #28] 80bb428: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb42c: 461a mov r2, r3 80bb42e: 69fb ldr r3, [r7, #28] 80bb430: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb434: 691b ldr r3, [r3, #16] 80bb436: f043 030b orr.w r3, r3, #11 80bb43a: 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; 80bb43c: 69fb ldr r3, [r7, #28] 80bb43e: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb442: 461a mov r2, r3 80bb444: 69fb ldr r3, [r7, #28] 80bb446: f503 6300 add.w r3, r3, #2048 ; 0x800 80bb44a: 681b ldr r3, [r3, #0] 80bb44c: f423 63fe bic.w r3, r3, #2032 ; 0x7f0 80bb450: 6013 str r3, [r2, #0] /* setup EP0 to receive SETUP packets */ (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t)hpcd->Init.dma_enable, 80bb452: 687b ldr r3, [r7, #4] 80bb454: 6818 ldr r0, [r3, #0] 80bb456: 687b ldr r3, [r7, #4] 80bb458: 691b ldr r3, [r3, #16] 80bb45a: b2d9 uxtb r1, r3 (uint8_t *)hpcd->Setup); 80bb45c: 687b ldr r3, [r7, #4] 80bb45e: f503 7371 add.w r3, r3, #964 ; 0x3c4 (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t)hpcd->Init.dma_enable, 80bb462: 461a mov r2, r3 80bb464: f009 f844 bl 80c44f0 __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_USBRST); 80bb468: 687b ldr r3, [r7, #4] 80bb46a: 681b ldr r3, [r3, #0] 80bb46c: 687a ldr r2, [r7, #4] 80bb46e: 6812 ldr r2, [r2, #0] 80bb470: 6952 ldr r2, [r2, #20] 80bb472: f402 5280 and.w r2, r2, #4096 ; 0x1000 80bb476: 615a str r2, [r3, #20] } /* Handle Enumeration done Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_ENUMDNE)) 80bb478: 687b ldr r3, [r7, #4] 80bb47a: 681b ldr r3, [r3, #0] 80bb47c: 4618 mov r0, r3 80bb47e: f008 ff70 bl 80c4362 80bb482: 4603 mov r3, r0 80bb484: f403 5300 and.w r3, r3, #8192 ; 0x2000 80bb488: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80bb48c: d124 bne.n 80bb4d8 { (void)USB_ActivateSetup(hpcd->Instance); 80bb48e: 687b ldr r3, [r7, #4] 80bb490: 681b ldr r3, [r3, #0] 80bb492: 4618 mov r0, r3 80bb494: f009 f806 bl 80c44a4 hpcd->Init.speed = USB_GetDevSpeed(hpcd->Instance); 80bb498: 687b ldr r3, [r7, #4] 80bb49a: 681b ldr r3, [r3, #0] 80bb49c: 4618 mov r0, r3 80bb49e: f008 f82d bl 80c34fc 80bb4a2: 4603 mov r3, r0 80bb4a4: 461a mov r2, r3 80bb4a6: 687b ldr r3, [r7, #4] 80bb4a8: 60da str r2, [r3, #12] /* Set USB Turnaround time */ (void)USB_SetTurnaroundTime(hpcd->Instance, 80bb4aa: 687b ldr r3, [r7, #4] 80bb4ac: 681c ldr r4, [r3, #0] 80bb4ae: f001 fa0f bl 80bc8d0 80bb4b2: 4601 mov r1, r0 HAL_RCC_GetHCLKFreq(), (uint8_t)hpcd->Init.speed); 80bb4b4: 687b ldr r3, [r7, #4] 80bb4b6: 68db ldr r3, [r3, #12] (void)USB_SetTurnaroundTime(hpcd->Instance, 80bb4b8: b2db uxtb r3, r3 80bb4ba: 461a mov r2, r3 80bb4bc: 4620 mov r0, r4 80bb4be: f007 fd33 bl 80c2f28 #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->ResetCallback(hpcd); #else HAL_PCD_ResetCallback(hpcd); 80bb4c2: 6878 ldr r0, [r7, #4] 80bb4c4: f013 f8b7 bl 80ce636 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_ENUMDNE); 80bb4c8: 687b ldr r3, [r7, #4] 80bb4ca: 681b ldr r3, [r3, #0] 80bb4cc: 687a ldr r2, [r7, #4] 80bb4ce: 6812 ldr r2, [r2, #0] 80bb4d0: 6952 ldr r2, [r2, #20] 80bb4d2: f402 5200 and.w r2, r2, #8192 ; 0x2000 80bb4d6: 615a str r2, [r3, #20] } /* Handle SOF Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SOF)) 80bb4d8: 687b ldr r3, [r7, #4] 80bb4da: 681b ldr r3, [r3, #0] 80bb4dc: 4618 mov r0, r3 80bb4de: f008 ff40 bl 80c4362 80bb4e2: 4603 mov r3, r0 80bb4e4: f003 0308 and.w r3, r3, #8 80bb4e8: 2b08 cmp r3, #8 80bb4ea: d10a bne.n 80bb502 { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->SOFCallback(hpcd); #else HAL_PCD_SOFCallback(hpcd); 80bb4ec: 6878 ldr r0, [r7, #4] 80bb4ee: f013 f894 bl 80ce61a #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SOF); 80bb4f2: 687b ldr r3, [r7, #4] 80bb4f4: 681b ldr r3, [r3, #0] 80bb4f6: 687a ldr r2, [r7, #4] 80bb4f8: 6812 ldr r2, [r2, #0] 80bb4fa: 6952 ldr r2, [r2, #20] 80bb4fc: f002 0208 and.w r2, r2, #8 80bb500: 615a str r2, [r3, #20] } /* Handle Incomplete ISO IN Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR)) 80bb502: 687b ldr r3, [r7, #4] 80bb504: 681b ldr r3, [r3, #0] 80bb506: 4618 mov r0, r3 80bb508: f008 ff2b bl 80c4362 80bb50c: 4603 mov r3, r0 80bb50e: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80bb512: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80bb516: d10f bne.n 80bb538 { /* Keep application checking the corresponding Iso IN endpoint causing the incomplete Interrupt */ epnum = 0U; 80bb518: 2300 movs r3, #0 80bb51a: 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); 80bb51c: 6a7b ldr r3, [r7, #36] ; 0x24 80bb51e: b2db uxtb r3, r3 80bb520: 4619 mov r1, r3 80bb522: 6878 ldr r0, [r7, #4] 80bb524: f013 f8f8 bl 80ce718 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR); 80bb528: 687b ldr r3, [r7, #4] 80bb52a: 681b ldr r3, [r3, #0] 80bb52c: 687a ldr r2, [r7, #4] 80bb52e: 6812 ldr r2, [r2, #0] 80bb530: 6952 ldr r2, [r2, #20] 80bb532: f402 1280 and.w r2, r2, #1048576 ; 0x100000 80bb536: 615a str r2, [r3, #20] } /* Handle Incomplete ISO OUT Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT)) 80bb538: 687b ldr r3, [r7, #4] 80bb53a: 681b ldr r3, [r3, #0] 80bb53c: 4618 mov r0, r3 80bb53e: f008 ff10 bl 80c4362 80bb542: 4603 mov r3, r0 80bb544: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80bb548: f5b3 1f00 cmp.w r3, #2097152 ; 0x200000 80bb54c: d10f bne.n 80bb56e { /* Keep application checking the corresponding Iso OUT endpoint causing the incomplete Interrupt */ epnum = 0U; 80bb54e: 2300 movs r3, #0 80bb550: 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); 80bb552: 6a7b ldr r3, [r7, #36] ; 0x24 80bb554: b2db uxtb r3, r3 80bb556: 4619 mov r1, r3 80bb558: 6878 ldr r0, [r7, #4] 80bb55a: f013 f8cb bl 80ce6f4 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT); 80bb55e: 687b ldr r3, [r7, #4] 80bb560: 681b ldr r3, [r3, #0] 80bb562: 687a ldr r2, [r7, #4] 80bb564: 6812 ldr r2, [r2, #0] 80bb566: 6952 ldr r2, [r2, #20] 80bb568: f402 1200 and.w r2, r2, #2097152 ; 0x200000 80bb56c: 615a str r2, [r3, #20] } /* Handle Connection event Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT)) 80bb56e: 687b ldr r3, [r7, #4] 80bb570: 681b ldr r3, [r3, #0] 80bb572: 4618 mov r0, r3 80bb574: f008 fef5 bl 80c4362 80bb578: 4603 mov r3, r0 80bb57a: f003 4380 and.w r3, r3, #1073741824 ; 0x40000000 80bb57e: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80bb582: d10a bne.n 80bb59a { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->ConnectCallback(hpcd); #else HAL_PCD_ConnectCallback(hpcd); 80bb584: 6878 ldr r0, [r7, #4] 80bb586: f013 f8d9 bl 80ce73c #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT); 80bb58a: 687b ldr r3, [r7, #4] 80bb58c: 681b ldr r3, [r3, #0] 80bb58e: 687a ldr r2, [r7, #4] 80bb590: 6812 ldr r2, [r2, #0] 80bb592: 6952 ldr r2, [r2, #20] 80bb594: f002 4280 and.w r2, r2, #1073741824 ; 0x40000000 80bb598: 615a str r2, [r3, #20] } /* Handle Disconnection event Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_OTGINT)) 80bb59a: 687b ldr r3, [r7, #4] 80bb59c: 681b ldr r3, [r3, #0] 80bb59e: 4618 mov r0, r3 80bb5a0: f008 fedf bl 80c4362 80bb5a4: 4603 mov r3, r0 80bb5a6: f003 0304 and.w r3, r3, #4 80bb5aa: 2b04 cmp r3, #4 80bb5ac: d115 bne.n 80bb5da { temp = hpcd->Instance->GOTGINT; 80bb5ae: 687b ldr r3, [r7, #4] 80bb5b0: 681b ldr r3, [r3, #0] 80bb5b2: 685b ldr r3, [r3, #4] 80bb5b4: 61bb str r3, [r7, #24] if ((temp & USB_OTG_GOTGINT_SEDET) == USB_OTG_GOTGINT_SEDET) 80bb5b6: 69bb ldr r3, [r7, #24] 80bb5b8: f003 0304 and.w r3, r3, #4 80bb5bc: 2b00 cmp r3, #0 80bb5be: d002 beq.n 80bb5c6 { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DisconnectCallback(hpcd); #else HAL_PCD_DisconnectCallback(hpcd); 80bb5c0: 6878 ldr r0, [r7, #4] 80bb5c2: f013 f8d5 bl 80ce770 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } hpcd->Instance->GOTGINT |= temp; 80bb5c6: 687b ldr r3, [r7, #4] 80bb5c8: 681b ldr r3, [r3, #0] 80bb5ca: 687a ldr r2, [r7, #4] 80bb5cc: 6812 ldr r2, [r2, #0] 80bb5ce: 6851 ldr r1, [r2, #4] 80bb5d0: 69ba ldr r2, [r7, #24] 80bb5d2: 430a orrs r2, r1 80bb5d4: 605a str r2, [r3, #4] 80bb5d6: e000 b.n 80bb5da return; 80bb5d8: bf00 nop } } } 80bb5da: 3734 adds r7, #52 ; 0x34 80bb5dc: 46bd mov sp, r7 80bb5de: bd90 pop {r4, r7, pc} 080bb5e0 : * @param hpcd PCD handle * @param address new device address * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_SetAddress(PCD_HandleTypeDef *hpcd, uint8_t address) { 80bb5e0: b580 push {r7, lr} 80bb5e2: b082 sub sp, #8 80bb5e4: af00 add r7, sp, #0 80bb5e6: 6078 str r0, [r7, #4] 80bb5e8: 460b mov r3, r1 80bb5ea: 70fb strb r3, [r7, #3] __HAL_LOCK(hpcd); 80bb5ec: 687b ldr r3, [r7, #4] 80bb5ee: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80bb5f2: 2b01 cmp r3, #1 80bb5f4: d101 bne.n 80bb5fa 80bb5f6: 2302 movs r3, #2 80bb5f8: e013 b.n 80bb622 80bb5fa: 687b ldr r3, [r7, #4] 80bb5fc: 2201 movs r2, #1 80bb5fe: f883 23bc strb.w r2, [r3, #956] ; 0x3bc hpcd->USB_Address = address; 80bb602: 687b ldr r3, [r7, #4] 80bb604: 78fa ldrb r2, [r7, #3] 80bb606: f883 2038 strb.w r2, [r3, #56] ; 0x38 (void)USB_SetDevAddress(hpcd->Instance, address); 80bb60a: 687b ldr r3, [r7, #4] 80bb60c: 681b ldr r3, [r3, #0] 80bb60e: 78fa ldrb r2, [r7, #3] 80bb610: 4611 mov r1, r2 80bb612: 4618 mov r0, r3 80bb614: f008 fe37 bl 80c4286 __HAL_UNLOCK(hpcd); 80bb618: 687b ldr r3, [r7, #4] 80bb61a: 2200 movs r2, #0 80bb61c: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80bb620: 2300 movs r3, #0 } 80bb622: 4618 mov r0, r3 80bb624: 3708 adds r7, #8 80bb626: 46bd mov sp, r7 80bb628: bd80 pop {r7, pc} 080bb62a : * @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) { 80bb62a: b580 push {r7, lr} 80bb62c: b084 sub sp, #16 80bb62e: af00 add r7, sp, #0 80bb630: 6078 str r0, [r7, #4] 80bb632: 4608 mov r0, r1 80bb634: 4611 mov r1, r2 80bb636: 461a mov r2, r3 80bb638: 4603 mov r3, r0 80bb63a: 70fb strb r3, [r7, #3] 80bb63c: 460b mov r3, r1 80bb63e: 803b strh r3, [r7, #0] 80bb640: 4613 mov r3, r2 80bb642: 70bb strb r3, [r7, #2] HAL_StatusTypeDef ret = HAL_OK; 80bb644: 2300 movs r3, #0 80bb646: 72fb strb r3, [r7, #11] PCD_EPTypeDef *ep; if ((ep_addr & 0x80U) == 0x80U) 80bb648: f997 3003 ldrsb.w r3, [r7, #3] 80bb64c: 2b00 cmp r3, #0 80bb64e: da0f bge.n 80bb670 { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80bb650: 78fb ldrb r3, [r7, #3] 80bb652: f003 020f and.w r2, r3, #15 80bb656: 4613 mov r3, r2 80bb658: 00db lsls r3, r3, #3 80bb65a: 1a9b subs r3, r3, r2 80bb65c: 009b lsls r3, r3, #2 80bb65e: 3338 adds r3, #56 ; 0x38 80bb660: 687a ldr r2, [r7, #4] 80bb662: 4413 add r3, r2 80bb664: 3304 adds r3, #4 80bb666: 60fb str r3, [r7, #12] ep->is_in = 1U; 80bb668: 68fb ldr r3, [r7, #12] 80bb66a: 2201 movs r2, #1 80bb66c: 705a strb r2, [r3, #1] 80bb66e: e00f b.n 80bb690 } else { ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 80bb670: 78fb ldrb r3, [r7, #3] 80bb672: f003 020f and.w r2, r3, #15 80bb676: 4613 mov r3, r2 80bb678: 00db lsls r3, r3, #3 80bb67a: 1a9b subs r3, r3, r2 80bb67c: 009b lsls r3, r3, #2 80bb67e: f503 73fc add.w r3, r3, #504 ; 0x1f8 80bb682: 687a ldr r2, [r7, #4] 80bb684: 4413 add r3, r2 80bb686: 3304 adds r3, #4 80bb688: 60fb str r3, [r7, #12] ep->is_in = 0U; 80bb68a: 68fb ldr r3, [r7, #12] 80bb68c: 2200 movs r2, #0 80bb68e: 705a strb r2, [r3, #1] } ep->num = ep_addr & EP_ADDR_MSK; 80bb690: 78fb ldrb r3, [r7, #3] 80bb692: f003 030f and.w r3, r3, #15 80bb696: b2da uxtb r2, r3 80bb698: 68fb ldr r3, [r7, #12] 80bb69a: 701a strb r2, [r3, #0] ep->maxpacket = ep_mps; 80bb69c: 883a ldrh r2, [r7, #0] 80bb69e: 68fb ldr r3, [r7, #12] 80bb6a0: 609a str r2, [r3, #8] ep->type = ep_type; 80bb6a2: 68fb ldr r3, [r7, #12] 80bb6a4: 78ba ldrb r2, [r7, #2] 80bb6a6: 70da strb r2, [r3, #3] if (ep->is_in != 0U) 80bb6a8: 68fb ldr r3, [r7, #12] 80bb6aa: 785b ldrb r3, [r3, #1] 80bb6ac: 2b00 cmp r3, #0 80bb6ae: d004 beq.n 80bb6ba { /* Assign a Tx FIFO */ ep->tx_fifo_num = ep->num; 80bb6b0: 68fb ldr r3, [r7, #12] 80bb6b2: 781b ldrb r3, [r3, #0] 80bb6b4: b29a uxth r2, r3 80bb6b6: 68fb ldr r3, [r7, #12] 80bb6b8: 80da strh r2, [r3, #6] } /* Set initial data PID. */ if (ep_type == EP_TYPE_BULK) 80bb6ba: 78bb ldrb r3, [r7, #2] 80bb6bc: 2b02 cmp r3, #2 80bb6be: d102 bne.n 80bb6c6 { ep->data_pid_start = 0U; 80bb6c0: 68fb ldr r3, [r7, #12] 80bb6c2: 2200 movs r2, #0 80bb6c4: 711a strb r2, [r3, #4] } __HAL_LOCK(hpcd); 80bb6c6: 687b ldr r3, [r7, #4] 80bb6c8: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80bb6cc: 2b01 cmp r3, #1 80bb6ce: d101 bne.n 80bb6d4 80bb6d0: 2302 movs r3, #2 80bb6d2: e00e b.n 80bb6f2 80bb6d4: 687b ldr r3, [r7, #4] 80bb6d6: 2201 movs r2, #1 80bb6d8: f883 23bc strb.w r2, [r3, #956] ; 0x3bc (void)USB_ActivateEndpoint(hpcd->Instance, ep); 80bb6dc: 687b ldr r3, [r7, #4] 80bb6de: 681b ldr r3, [r3, #0] 80bb6e0: 68f9 ldr r1, [r7, #12] 80bb6e2: 4618 mov r0, r3 80bb6e4: f007 ff30 bl 80c3548 __HAL_UNLOCK(hpcd); 80bb6e8: 687b ldr r3, [r7, #4] 80bb6ea: 2200 movs r2, #0 80bb6ec: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return ret; 80bb6f0: 7afb ldrb r3, [r7, #11] } 80bb6f2: 4618 mov r0, r3 80bb6f4: 3710 adds r7, #16 80bb6f6: 46bd mov sp, r7 80bb6f8: bd80 pop {r7, pc} 080bb6fa : * @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) { 80bb6fa: b580 push {r7, lr} 80bb6fc: b084 sub sp, #16 80bb6fe: af00 add r7, sp, #0 80bb700: 6078 str r0, [r7, #4] 80bb702: 460b mov r3, r1 80bb704: 70fb strb r3, [r7, #3] PCD_EPTypeDef *ep; if ((ep_addr & 0x80U) == 0x80U) 80bb706: f997 3003 ldrsb.w r3, [r7, #3] 80bb70a: 2b00 cmp r3, #0 80bb70c: da0f bge.n 80bb72e { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80bb70e: 78fb ldrb r3, [r7, #3] 80bb710: f003 020f and.w r2, r3, #15 80bb714: 4613 mov r3, r2 80bb716: 00db lsls r3, r3, #3 80bb718: 1a9b subs r3, r3, r2 80bb71a: 009b lsls r3, r3, #2 80bb71c: 3338 adds r3, #56 ; 0x38 80bb71e: 687a ldr r2, [r7, #4] 80bb720: 4413 add r3, r2 80bb722: 3304 adds r3, #4 80bb724: 60fb str r3, [r7, #12] ep->is_in = 1U; 80bb726: 68fb ldr r3, [r7, #12] 80bb728: 2201 movs r2, #1 80bb72a: 705a strb r2, [r3, #1] 80bb72c: e00f b.n 80bb74e } else { ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 80bb72e: 78fb ldrb r3, [r7, #3] 80bb730: f003 020f and.w r2, r3, #15 80bb734: 4613 mov r3, r2 80bb736: 00db lsls r3, r3, #3 80bb738: 1a9b subs r3, r3, r2 80bb73a: 009b lsls r3, r3, #2 80bb73c: f503 73fc add.w r3, r3, #504 ; 0x1f8 80bb740: 687a ldr r2, [r7, #4] 80bb742: 4413 add r3, r2 80bb744: 3304 adds r3, #4 80bb746: 60fb str r3, [r7, #12] ep->is_in = 0U; 80bb748: 68fb ldr r3, [r7, #12] 80bb74a: 2200 movs r2, #0 80bb74c: 705a strb r2, [r3, #1] } ep->num = ep_addr & EP_ADDR_MSK; 80bb74e: 78fb ldrb r3, [r7, #3] 80bb750: f003 030f and.w r3, r3, #15 80bb754: b2da uxtb r2, r3 80bb756: 68fb ldr r3, [r7, #12] 80bb758: 701a strb r2, [r3, #0] __HAL_LOCK(hpcd); 80bb75a: 687b ldr r3, [r7, #4] 80bb75c: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80bb760: 2b01 cmp r3, #1 80bb762: d101 bne.n 80bb768 80bb764: 2302 movs r3, #2 80bb766: e00e b.n 80bb786 80bb768: 687b ldr r3, [r7, #4] 80bb76a: 2201 movs r2, #1 80bb76c: f883 23bc strb.w r2, [r3, #956] ; 0x3bc (void)USB_DeactivateEndpoint(hpcd->Instance, ep); 80bb770: 687b ldr r3, [r7, #4] 80bb772: 681b ldr r3, [r3, #0] 80bb774: 68f9 ldr r1, [r7, #12] 80bb776: 4618 mov r0, r3 80bb778: f007 ff70 bl 80c365c __HAL_UNLOCK(hpcd); 80bb77c: 687b ldr r3, [r7, #4] 80bb77e: 2200 movs r2, #0 80bb780: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80bb784: 2300 movs r3, #0 } 80bb786: 4618 mov r0, r3 80bb788: 3710 adds r7, #16 80bb78a: 46bd mov sp, r7 80bb78c: bd80 pop {r7, pc} 080bb78e : * @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) { 80bb78e: b580 push {r7, lr} 80bb790: b086 sub sp, #24 80bb792: af00 add r7, sp, #0 80bb794: 60f8 str r0, [r7, #12] 80bb796: 607a str r2, [r7, #4] 80bb798: 603b str r3, [r7, #0] 80bb79a: 460b mov r3, r1 80bb79c: 72fb strb r3, [r7, #11] PCD_EPTypeDef *ep; ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 80bb79e: 7afb ldrb r3, [r7, #11] 80bb7a0: f003 020f and.w r2, r3, #15 80bb7a4: 4613 mov r3, r2 80bb7a6: 00db lsls r3, r3, #3 80bb7a8: 1a9b subs r3, r3, r2 80bb7aa: 009b lsls r3, r3, #2 80bb7ac: f503 73fc add.w r3, r3, #504 ; 0x1f8 80bb7b0: 68fa ldr r2, [r7, #12] 80bb7b2: 4413 add r3, r2 80bb7b4: 3304 adds r3, #4 80bb7b6: 617b str r3, [r7, #20] /*setup and start the Xfer */ ep->xfer_buff = pBuf; 80bb7b8: 697b ldr r3, [r7, #20] 80bb7ba: 687a ldr r2, [r7, #4] 80bb7bc: 60da str r2, [r3, #12] ep->xfer_len = len; 80bb7be: 697b ldr r3, [r7, #20] 80bb7c0: 683a ldr r2, [r7, #0] 80bb7c2: 615a str r2, [r3, #20] ep->xfer_count = 0U; 80bb7c4: 697b ldr r3, [r7, #20] 80bb7c6: 2200 movs r2, #0 80bb7c8: 619a str r2, [r3, #24] ep->is_in = 0U; 80bb7ca: 697b ldr r3, [r7, #20] 80bb7cc: 2200 movs r2, #0 80bb7ce: 705a strb r2, [r3, #1] ep->num = ep_addr & EP_ADDR_MSK; 80bb7d0: 7afb ldrb r3, [r7, #11] 80bb7d2: f003 030f and.w r3, r3, #15 80bb7d6: b2da uxtb r2, r3 80bb7d8: 697b ldr r3, [r7, #20] 80bb7da: 701a strb r2, [r3, #0] if (hpcd->Init.dma_enable == 1U) 80bb7dc: 68fb ldr r3, [r7, #12] 80bb7de: 691b ldr r3, [r3, #16] 80bb7e0: 2b01 cmp r3, #1 80bb7e2: d102 bne.n 80bb7ea { ep->dma_addr = (uint32_t)pBuf; 80bb7e4: 687a ldr r2, [r7, #4] 80bb7e6: 697b ldr r3, [r7, #20] 80bb7e8: 611a str r2, [r3, #16] } if ((ep_addr & EP_ADDR_MSK) == 0U) 80bb7ea: 7afb ldrb r3, [r7, #11] 80bb7ec: f003 030f and.w r3, r3, #15 80bb7f0: 2b00 cmp r3, #0 80bb7f2: d109 bne.n 80bb808 { (void)USB_EP0StartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 80bb7f4: 68fb ldr r3, [r7, #12] 80bb7f6: 6818 ldr r0, [r3, #0] 80bb7f8: 68fb ldr r3, [r7, #12] 80bb7fa: 691b ldr r3, [r3, #16] 80bb7fc: b2db uxtb r3, r3 80bb7fe: 461a mov r2, r3 80bb800: 6979 ldr r1, [r7, #20] 80bb802: f008 fa6d bl 80c3ce0 80bb806: e008 b.n 80bb81a } else { (void)USB_EPStartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 80bb808: 68fb ldr r3, [r7, #12] 80bb80a: 6818 ldr r0, [r3, #0] 80bb80c: 68fb ldr r3, [r7, #12] 80bb80e: 691b ldr r3, [r3, #16] 80bb810: b2db uxtb r3, r3 80bb812: 461a mov r2, r3 80bb814: 6979 ldr r1, [r7, #20] 80bb816: f008 f805 bl 80c3824 } return HAL_OK; 80bb81a: 2300 movs r3, #0 } 80bb81c: 4618 mov r0, r3 80bb81e: 3718 adds r7, #24 80bb820: 46bd mov sp, r7 80bb822: bd80 pop {r7, pc} 080bb824 : * @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) { 80bb824: b480 push {r7} 80bb826: b083 sub sp, #12 80bb828: af00 add r7, sp, #0 80bb82a: 6078 str r0, [r7, #4] 80bb82c: 460b mov r3, r1 80bb82e: 70fb strb r3, [r7, #3] return hpcd->OUT_ep[ep_addr & EP_ADDR_MSK].xfer_count; 80bb830: 78fb ldrb r3, [r7, #3] 80bb832: f003 020f and.w r2, r3, #15 80bb836: 6879 ldr r1, [r7, #4] 80bb838: 4613 mov r3, r2 80bb83a: 00db lsls r3, r3, #3 80bb83c: 1a9b subs r3, r3, r2 80bb83e: 009b lsls r3, r3, #2 80bb840: 440b add r3, r1 80bb842: f503 7305 add.w r3, r3, #532 ; 0x214 80bb846: 681b ldr r3, [r3, #0] } 80bb848: 4618 mov r0, r3 80bb84a: 370c adds r7, #12 80bb84c: 46bd mov sp, r7 80bb84e: f85d 7b04 ldr.w r7, [sp], #4 80bb852: 4770 bx lr 080bb854 : * @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) { 80bb854: b580 push {r7, lr} 80bb856: b086 sub sp, #24 80bb858: af00 add r7, sp, #0 80bb85a: 60f8 str r0, [r7, #12] 80bb85c: 607a str r2, [r7, #4] 80bb85e: 603b str r3, [r7, #0] 80bb860: 460b mov r3, r1 80bb862: 72fb strb r3, [r7, #11] PCD_EPTypeDef *ep; ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80bb864: 7afb ldrb r3, [r7, #11] 80bb866: f003 020f and.w r2, r3, #15 80bb86a: 4613 mov r3, r2 80bb86c: 00db lsls r3, r3, #3 80bb86e: 1a9b subs r3, r3, r2 80bb870: 009b lsls r3, r3, #2 80bb872: 3338 adds r3, #56 ; 0x38 80bb874: 68fa ldr r2, [r7, #12] 80bb876: 4413 add r3, r2 80bb878: 3304 adds r3, #4 80bb87a: 617b str r3, [r7, #20] /*setup and start the Xfer */ ep->xfer_buff = pBuf; 80bb87c: 697b ldr r3, [r7, #20] 80bb87e: 687a ldr r2, [r7, #4] 80bb880: 60da str r2, [r3, #12] ep->xfer_len = len; 80bb882: 697b ldr r3, [r7, #20] 80bb884: 683a ldr r2, [r7, #0] 80bb886: 615a str r2, [r3, #20] ep->xfer_count = 0U; 80bb888: 697b ldr r3, [r7, #20] 80bb88a: 2200 movs r2, #0 80bb88c: 619a str r2, [r3, #24] ep->is_in = 1U; 80bb88e: 697b ldr r3, [r7, #20] 80bb890: 2201 movs r2, #1 80bb892: 705a strb r2, [r3, #1] ep->num = ep_addr & EP_ADDR_MSK; 80bb894: 7afb ldrb r3, [r7, #11] 80bb896: f003 030f and.w r3, r3, #15 80bb89a: b2da uxtb r2, r3 80bb89c: 697b ldr r3, [r7, #20] 80bb89e: 701a strb r2, [r3, #0] if (hpcd->Init.dma_enable == 1U) 80bb8a0: 68fb ldr r3, [r7, #12] 80bb8a2: 691b ldr r3, [r3, #16] 80bb8a4: 2b01 cmp r3, #1 80bb8a6: d102 bne.n 80bb8ae { ep->dma_addr = (uint32_t)pBuf; 80bb8a8: 687a ldr r2, [r7, #4] 80bb8aa: 697b ldr r3, [r7, #20] 80bb8ac: 611a str r2, [r3, #16] } if ((ep_addr & EP_ADDR_MSK) == 0U) 80bb8ae: 7afb ldrb r3, [r7, #11] 80bb8b0: f003 030f and.w r3, r3, #15 80bb8b4: 2b00 cmp r3, #0 80bb8b6: d109 bne.n 80bb8cc { (void)USB_EP0StartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 80bb8b8: 68fb ldr r3, [r7, #12] 80bb8ba: 6818 ldr r0, [r3, #0] 80bb8bc: 68fb ldr r3, [r7, #12] 80bb8be: 691b ldr r3, [r3, #16] 80bb8c0: b2db uxtb r3, r3 80bb8c2: 461a mov r2, r3 80bb8c4: 6979 ldr r1, [r7, #20] 80bb8c6: f008 fa0b bl 80c3ce0 80bb8ca: e008 b.n 80bb8de } else { (void)USB_EPStartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 80bb8cc: 68fb ldr r3, [r7, #12] 80bb8ce: 6818 ldr r0, [r3, #0] 80bb8d0: 68fb ldr r3, [r7, #12] 80bb8d2: 691b ldr r3, [r3, #16] 80bb8d4: b2db uxtb r3, r3 80bb8d6: 461a mov r2, r3 80bb8d8: 6979 ldr r1, [r7, #20] 80bb8da: f007 ffa3 bl 80c3824 } return HAL_OK; 80bb8de: 2300 movs r3, #0 } 80bb8e0: 4618 mov r0, r3 80bb8e2: 3718 adds r7, #24 80bb8e4: 46bd mov sp, r7 80bb8e6: bd80 pop {r7, pc} 080bb8e8 : * @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) { 80bb8e8: b580 push {r7, lr} 80bb8ea: b084 sub sp, #16 80bb8ec: af00 add r7, sp, #0 80bb8ee: 6078 str r0, [r7, #4] 80bb8f0: 460b mov r3, r1 80bb8f2: 70fb strb r3, [r7, #3] PCD_EPTypeDef *ep; if (((uint32_t)ep_addr & EP_ADDR_MSK) > hpcd->Init.dev_endpoints) 80bb8f4: 78fb ldrb r3, [r7, #3] 80bb8f6: f003 020f and.w r2, r3, #15 80bb8fa: 687b ldr r3, [r7, #4] 80bb8fc: 685b ldr r3, [r3, #4] 80bb8fe: 429a cmp r2, r3 80bb900: d901 bls.n 80bb906 { return HAL_ERROR; 80bb902: 2301 movs r3, #1 80bb904: e050 b.n 80bb9a8 } if ((0x80U & ep_addr) == 0x80U) 80bb906: f997 3003 ldrsb.w r3, [r7, #3] 80bb90a: 2b00 cmp r3, #0 80bb90c: da0f bge.n 80bb92e { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80bb90e: 78fb ldrb r3, [r7, #3] 80bb910: f003 020f and.w r2, r3, #15 80bb914: 4613 mov r3, r2 80bb916: 00db lsls r3, r3, #3 80bb918: 1a9b subs r3, r3, r2 80bb91a: 009b lsls r3, r3, #2 80bb91c: 3338 adds r3, #56 ; 0x38 80bb91e: 687a ldr r2, [r7, #4] 80bb920: 4413 add r3, r2 80bb922: 3304 adds r3, #4 80bb924: 60fb str r3, [r7, #12] ep->is_in = 1U; 80bb926: 68fb ldr r3, [r7, #12] 80bb928: 2201 movs r2, #1 80bb92a: 705a strb r2, [r3, #1] 80bb92c: e00d b.n 80bb94a } else { ep = &hpcd->OUT_ep[ep_addr]; 80bb92e: 78fa ldrb r2, [r7, #3] 80bb930: 4613 mov r3, r2 80bb932: 00db lsls r3, r3, #3 80bb934: 1a9b subs r3, r3, r2 80bb936: 009b lsls r3, r3, #2 80bb938: f503 73fc add.w r3, r3, #504 ; 0x1f8 80bb93c: 687a ldr r2, [r7, #4] 80bb93e: 4413 add r3, r2 80bb940: 3304 adds r3, #4 80bb942: 60fb str r3, [r7, #12] ep->is_in = 0U; 80bb944: 68fb ldr r3, [r7, #12] 80bb946: 2200 movs r2, #0 80bb948: 705a strb r2, [r3, #1] } ep->is_stall = 1U; 80bb94a: 68fb ldr r3, [r7, #12] 80bb94c: 2201 movs r2, #1 80bb94e: 709a strb r2, [r3, #2] ep->num = ep_addr & EP_ADDR_MSK; 80bb950: 78fb ldrb r3, [r7, #3] 80bb952: f003 030f and.w r3, r3, #15 80bb956: b2da uxtb r2, r3 80bb958: 68fb ldr r3, [r7, #12] 80bb95a: 701a strb r2, [r3, #0] __HAL_LOCK(hpcd); 80bb95c: 687b ldr r3, [r7, #4] 80bb95e: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80bb962: 2b01 cmp r3, #1 80bb964: d101 bne.n 80bb96a 80bb966: 2302 movs r3, #2 80bb968: e01e b.n 80bb9a8 80bb96a: 687b ldr r3, [r7, #4] 80bb96c: 2201 movs r2, #1 80bb96e: f883 23bc strb.w r2, [r3, #956] ; 0x3bc (void)USB_EPSetStall(hpcd->Instance, ep); 80bb972: 687b ldr r3, [r7, #4] 80bb974: 681b ldr r3, [r3, #0] 80bb976: 68f9 ldr r1, [r7, #12] 80bb978: 4618 mov r0, r3 80bb97a: f008 fba8 bl 80c40ce if ((ep_addr & EP_ADDR_MSK) == 0U) 80bb97e: 78fb ldrb r3, [r7, #3] 80bb980: f003 030f and.w r3, r3, #15 80bb984: 2b00 cmp r3, #0 80bb986: d10a bne.n 80bb99e { (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t)hpcd->Init.dma_enable, (uint8_t *)hpcd->Setup); 80bb988: 687b ldr r3, [r7, #4] 80bb98a: 6818 ldr r0, [r3, #0] 80bb98c: 687b ldr r3, [r7, #4] 80bb98e: 691b ldr r3, [r3, #16] 80bb990: b2d9 uxtb r1, r3 80bb992: 687b ldr r3, [r7, #4] 80bb994: f503 7371 add.w r3, r3, #964 ; 0x3c4 80bb998: 461a mov r2, r3 80bb99a: f008 fda9 bl 80c44f0 } __HAL_UNLOCK(hpcd); 80bb99e: 687b ldr r3, [r7, #4] 80bb9a0: 2200 movs r2, #0 80bb9a2: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80bb9a6: 2300 movs r3, #0 } 80bb9a8: 4618 mov r0, r3 80bb9aa: 3710 adds r7, #16 80bb9ac: 46bd mov sp, r7 80bb9ae: bd80 pop {r7, pc} 080bb9b0 : * @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) { 80bb9b0: b580 push {r7, lr} 80bb9b2: b084 sub sp, #16 80bb9b4: af00 add r7, sp, #0 80bb9b6: 6078 str r0, [r7, #4] 80bb9b8: 460b mov r3, r1 80bb9ba: 70fb strb r3, [r7, #3] PCD_EPTypeDef *ep; if (((uint32_t)ep_addr & 0x0FU) > hpcd->Init.dev_endpoints) 80bb9bc: 78fb ldrb r3, [r7, #3] 80bb9be: f003 020f and.w r2, r3, #15 80bb9c2: 687b ldr r3, [r7, #4] 80bb9c4: 685b ldr r3, [r3, #4] 80bb9c6: 429a cmp r2, r3 80bb9c8: d901 bls.n 80bb9ce { return HAL_ERROR; 80bb9ca: 2301 movs r3, #1 80bb9cc: e042 b.n 80bba54 } if ((0x80U & ep_addr) == 0x80U) 80bb9ce: f997 3003 ldrsb.w r3, [r7, #3] 80bb9d2: 2b00 cmp r3, #0 80bb9d4: da0f bge.n 80bb9f6 { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80bb9d6: 78fb ldrb r3, [r7, #3] 80bb9d8: f003 020f and.w r2, r3, #15 80bb9dc: 4613 mov r3, r2 80bb9de: 00db lsls r3, r3, #3 80bb9e0: 1a9b subs r3, r3, r2 80bb9e2: 009b lsls r3, r3, #2 80bb9e4: 3338 adds r3, #56 ; 0x38 80bb9e6: 687a ldr r2, [r7, #4] 80bb9e8: 4413 add r3, r2 80bb9ea: 3304 adds r3, #4 80bb9ec: 60fb str r3, [r7, #12] ep->is_in = 1U; 80bb9ee: 68fb ldr r3, [r7, #12] 80bb9f0: 2201 movs r2, #1 80bb9f2: 705a strb r2, [r3, #1] 80bb9f4: e00f b.n 80bba16 } else { ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 80bb9f6: 78fb ldrb r3, [r7, #3] 80bb9f8: f003 020f and.w r2, r3, #15 80bb9fc: 4613 mov r3, r2 80bb9fe: 00db lsls r3, r3, #3 80bba00: 1a9b subs r3, r3, r2 80bba02: 009b lsls r3, r3, #2 80bba04: f503 73fc add.w r3, r3, #504 ; 0x1f8 80bba08: 687a ldr r2, [r7, #4] 80bba0a: 4413 add r3, r2 80bba0c: 3304 adds r3, #4 80bba0e: 60fb str r3, [r7, #12] ep->is_in = 0U; 80bba10: 68fb ldr r3, [r7, #12] 80bba12: 2200 movs r2, #0 80bba14: 705a strb r2, [r3, #1] } ep->is_stall = 0U; 80bba16: 68fb ldr r3, [r7, #12] 80bba18: 2200 movs r2, #0 80bba1a: 709a strb r2, [r3, #2] ep->num = ep_addr & EP_ADDR_MSK; 80bba1c: 78fb ldrb r3, [r7, #3] 80bba1e: f003 030f and.w r3, r3, #15 80bba22: b2da uxtb r2, r3 80bba24: 68fb ldr r3, [r7, #12] 80bba26: 701a strb r2, [r3, #0] __HAL_LOCK(hpcd); 80bba28: 687b ldr r3, [r7, #4] 80bba2a: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80bba2e: 2b01 cmp r3, #1 80bba30: d101 bne.n 80bba36 80bba32: 2302 movs r3, #2 80bba34: e00e b.n 80bba54 80bba36: 687b ldr r3, [r7, #4] 80bba38: 2201 movs r2, #1 80bba3a: f883 23bc strb.w r2, [r3, #956] ; 0x3bc (void)USB_EPClearStall(hpcd->Instance, ep); 80bba3e: 687b ldr r3, [r7, #4] 80bba40: 681b ldr r3, [r3, #0] 80bba42: 68f9 ldr r1, [r7, #12] 80bba44: 4618 mov r0, r3 80bba46: f008 fbb4 bl 80c41b2 __HAL_UNLOCK(hpcd); 80bba4a: 687b ldr r3, [r7, #4] 80bba4c: 2200 movs r2, #0 80bba4e: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80bba52: 2300 movs r3, #0 } 80bba54: 4618 mov r0, r3 80bba56: 3710 adds r7, #16 80bba58: 46bd mov sp, r7 80bba5a: bd80 pop {r7, pc} 080bba5c : * @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) { 80bba5c: b580 push {r7, lr} 80bba5e: b082 sub sp, #8 80bba60: af00 add r7, sp, #0 80bba62: 6078 str r0, [r7, #4] 80bba64: 460b mov r3, r1 80bba66: 70fb strb r3, [r7, #3] __HAL_LOCK(hpcd); 80bba68: 687b ldr r3, [r7, #4] 80bba6a: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80bba6e: 2b01 cmp r3, #1 80bba70: d101 bne.n 80bba76 80bba72: 2302 movs r3, #2 80bba74: e01b b.n 80bbaae 80bba76: 687b ldr r3, [r7, #4] 80bba78: 2201 movs r2, #1 80bba7a: f883 23bc strb.w r2, [r3, #956] ; 0x3bc if ((ep_addr & 0x80U) == 0x80U) 80bba7e: f997 3003 ldrsb.w r3, [r7, #3] 80bba82: 2b00 cmp r3, #0 80bba84: da09 bge.n 80bba9a { (void)USB_FlushTxFifo(hpcd->Instance, (uint32_t)ep_addr & EP_ADDR_MSK); 80bba86: 687b ldr r3, [r7, #4] 80bba88: 681a ldr r2, [r3, #0] 80bba8a: 78fb ldrb r3, [r7, #3] 80bba8c: f003 030f and.w r3, r3, #15 80bba90: 4619 mov r1, r3 80bba92: 4610 mov r0, r2 80bba94: f007 fcb8 bl 80c3408 80bba98: e004 b.n 80bbaa4 } else { (void)USB_FlushRxFifo(hpcd->Instance); 80bba9a: 687b ldr r3, [r7, #4] 80bba9c: 681b ldr r3, [r3, #0] 80bba9e: 4618 mov r0, r3 80bbaa0: f007 fce4 bl 80c346c } __HAL_UNLOCK(hpcd); 80bbaa4: 687b ldr r3, [r7, #4] 80bbaa6: 2200 movs r2, #0 80bbaa8: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80bbaac: 2300 movs r3, #0 } 80bbaae: 4618 mov r0, r3 80bbab0: 3708 adds r7, #8 80bbab2: 46bd mov sp, r7 80bbab4: bd80 pop {r7, pc} 080bbab6 : * @param hpcd PCD handle * @param epnum endpoint number * @retval HAL status */ static HAL_StatusTypeDef PCD_WriteEmptyTxFifo(PCD_HandleTypeDef *hpcd, uint32_t epnum) { 80bbab6: b580 push {r7, lr} 80bbab8: b08a sub sp, #40 ; 0x28 80bbaba: af02 add r7, sp, #8 80bbabc: 6078 str r0, [r7, #4] 80bbabe: 6039 str r1, [r7, #0] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80bbac0: 687b ldr r3, [r7, #4] 80bbac2: 681b ldr r3, [r3, #0] 80bbac4: 617b str r3, [r7, #20] uint32_t USBx_BASE = (uint32_t)USBx; 80bbac6: 697b ldr r3, [r7, #20] 80bbac8: 613b str r3, [r7, #16] USB_OTG_EPTypeDef *ep; uint32_t len; uint32_t len32b; uint32_t fifoemptymsk; ep = &hpcd->IN_ep[epnum]; 80bbaca: 683a ldr r2, [r7, #0] 80bbacc: 4613 mov r3, r2 80bbace: 00db lsls r3, r3, #3 80bbad0: 1a9b subs r3, r3, r2 80bbad2: 009b lsls r3, r3, #2 80bbad4: 3338 adds r3, #56 ; 0x38 80bbad6: 687a ldr r2, [r7, #4] 80bbad8: 4413 add r3, r2 80bbada: 3304 adds r3, #4 80bbadc: 60fb str r3, [r7, #12] if (ep->xfer_count > ep->xfer_len) 80bbade: 68fb ldr r3, [r7, #12] 80bbae0: 699a ldr r2, [r3, #24] 80bbae2: 68fb ldr r3, [r7, #12] 80bbae4: 695b ldr r3, [r3, #20] 80bbae6: 429a cmp r2, r3 80bbae8: d901 bls.n 80bbaee { return HAL_ERROR; 80bbaea: 2301 movs r3, #1 80bbaec: e06d b.n 80bbbca } len = ep->xfer_len - ep->xfer_count; 80bbaee: 68fb ldr r3, [r7, #12] 80bbaf0: 695a ldr r2, [r3, #20] 80bbaf2: 68fb ldr r3, [r7, #12] 80bbaf4: 699b ldr r3, [r3, #24] 80bbaf6: 1ad3 subs r3, r2, r3 80bbaf8: 61fb str r3, [r7, #28] if (len > ep->maxpacket) 80bbafa: 68fb ldr r3, [r7, #12] 80bbafc: 689a ldr r2, [r3, #8] 80bbafe: 69fb ldr r3, [r7, #28] 80bbb00: 429a cmp r2, r3 80bbb02: d202 bcs.n 80bbb0a { len = ep->maxpacket; 80bbb04: 68fb ldr r3, [r7, #12] 80bbb06: 689b ldr r3, [r3, #8] 80bbb08: 61fb str r3, [r7, #28] } len32b = (len + 3U) / 4U; 80bbb0a: 69fb ldr r3, [r7, #28] 80bbb0c: 3303 adds r3, #3 80bbb0e: 089b lsrs r3, r3, #2 80bbb10: 61bb str r3, [r7, #24] while (((USBx_INEP(epnum)->DTXFSTS & USB_OTG_DTXFSTS_INEPTFSAV) >= len32b) && 80bbb12: e02b b.n 80bbb6c (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U)) { /* Write the FIFO */ len = ep->xfer_len - ep->xfer_count; 80bbb14: 68fb ldr r3, [r7, #12] 80bbb16: 695a ldr r2, [r3, #20] 80bbb18: 68fb ldr r3, [r7, #12] 80bbb1a: 699b ldr r3, [r3, #24] 80bbb1c: 1ad3 subs r3, r2, r3 80bbb1e: 61fb str r3, [r7, #28] if (len > ep->maxpacket) 80bbb20: 68fb ldr r3, [r7, #12] 80bbb22: 689a ldr r2, [r3, #8] 80bbb24: 69fb ldr r3, [r7, #28] 80bbb26: 429a cmp r2, r3 80bbb28: d202 bcs.n 80bbb30 { len = ep->maxpacket; 80bbb2a: 68fb ldr r3, [r7, #12] 80bbb2c: 689b ldr r3, [r3, #8] 80bbb2e: 61fb str r3, [r7, #28] } len32b = (len + 3U) / 4U; 80bbb30: 69fb ldr r3, [r7, #28] 80bbb32: 3303 adds r3, #3 80bbb34: 089b lsrs r3, r3, #2 80bbb36: 61bb str r3, [r7, #24] (void)USB_WritePacket(USBx, ep->xfer_buff, (uint8_t)epnum, (uint16_t)len, 80bbb38: 68fb ldr r3, [r7, #12] 80bbb3a: 68d9 ldr r1, [r3, #12] 80bbb3c: 683b ldr r3, [r7, #0] 80bbb3e: b2da uxtb r2, r3 80bbb40: 69fb ldr r3, [r7, #28] 80bbb42: b298 uxth r0, r3 (uint8_t)hpcd->Init.dma_enable); 80bbb44: 687b ldr r3, [r7, #4] 80bbb46: 691b ldr r3, [r3, #16] (void)USB_WritePacket(USBx, ep->xfer_buff, (uint8_t)epnum, (uint16_t)len, 80bbb48: b2db uxtb r3, r3 80bbb4a: 9300 str r3, [sp, #0] 80bbb4c: 4603 mov r3, r0 80bbb4e: 6978 ldr r0, [r7, #20] 80bbb50: f008 fa28 bl 80c3fa4 ep->xfer_buff += len; 80bbb54: 68fb ldr r3, [r7, #12] 80bbb56: 68da ldr r2, [r3, #12] 80bbb58: 69fb ldr r3, [r7, #28] 80bbb5a: 441a add r2, r3 80bbb5c: 68fb ldr r3, [r7, #12] 80bbb5e: 60da str r2, [r3, #12] ep->xfer_count += len; 80bbb60: 68fb ldr r3, [r7, #12] 80bbb62: 699a ldr r2, [r3, #24] 80bbb64: 69fb ldr r3, [r7, #28] 80bbb66: 441a add r2, r3 80bbb68: 68fb ldr r3, [r7, #12] 80bbb6a: 619a str r2, [r3, #24] while (((USBx_INEP(epnum)->DTXFSTS & USB_OTG_DTXFSTS_INEPTFSAV) >= len32b) && 80bbb6c: 683b ldr r3, [r7, #0] 80bbb6e: 015a lsls r2, r3, #5 80bbb70: 693b ldr r3, [r7, #16] 80bbb72: 4413 add r3, r2 80bbb74: f503 6310 add.w r3, r3, #2304 ; 0x900 80bbb78: 699b ldr r3, [r3, #24] 80bbb7a: b29a uxth r2, r3 80bbb7c: 69bb ldr r3, [r7, #24] 80bbb7e: 429a cmp r2, r3 80bbb80: d309 bcc.n 80bbb96 (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U)) 80bbb82: 68fb ldr r3, [r7, #12] 80bbb84: 699a ldr r2, [r3, #24] 80bbb86: 68fb ldr r3, [r7, #12] 80bbb88: 695b ldr r3, [r3, #20] while (((USBx_INEP(epnum)->DTXFSTS & USB_OTG_DTXFSTS_INEPTFSAV) >= len32b) && 80bbb8a: 429a cmp r2, r3 80bbb8c: d203 bcs.n 80bbb96 (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U)) 80bbb8e: 68fb ldr r3, [r7, #12] 80bbb90: 695b ldr r3, [r3, #20] 80bbb92: 2b00 cmp r3, #0 80bbb94: d1be bne.n 80bbb14 } if (ep->xfer_len <= ep->xfer_count) 80bbb96: 68fb ldr r3, [r7, #12] 80bbb98: 695a ldr r2, [r3, #20] 80bbb9a: 68fb ldr r3, [r7, #12] 80bbb9c: 699b ldr r3, [r3, #24] 80bbb9e: 429a cmp r2, r3 80bbba0: d812 bhi.n 80bbbc8 { fifoemptymsk = (uint32_t)(0x1UL << (epnum & EP_ADDR_MSK)); 80bbba2: 683b ldr r3, [r7, #0] 80bbba4: f003 030f and.w r3, r3, #15 80bbba8: 2201 movs r2, #1 80bbbaa: fa02 f303 lsl.w r3, r2, r3 80bbbae: 60bb str r3, [r7, #8] USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk; 80bbbb0: 693b ldr r3, [r7, #16] 80bbbb2: f503 6300 add.w r3, r3, #2048 ; 0x800 80bbbb6: 4619 mov r1, r3 80bbbb8: 693b ldr r3, [r7, #16] 80bbbba: f503 6300 add.w r3, r3, #2048 ; 0x800 80bbbbe: 6b5a ldr r2, [r3, #52] ; 0x34 80bbbc0: 68bb ldr r3, [r7, #8] 80bbbc2: 43db mvns r3, r3 80bbbc4: 4013 ands r3, r2 80bbbc6: 634b str r3, [r1, #52] ; 0x34 } return HAL_OK; 80bbbc8: 2300 movs r3, #0 } 80bbbca: 4618 mov r0, r3 80bbbcc: 3720 adds r7, #32 80bbbce: 46bd mov sp, r7 80bbbd0: bd80 pop {r7, pc} ... 080bbbd4 : * @param hpcd PCD handle * @param epnum endpoint number * @retval HAL status */ static HAL_StatusTypeDef PCD_EP_OutXfrComplete_int(PCD_HandleTypeDef *hpcd, uint32_t epnum) { 80bbbd4: b580 push {r7, lr} 80bbbd6: b086 sub sp, #24 80bbbd8: af00 add r7, sp, #0 80bbbda: 6078 str r0, [r7, #4] 80bbbdc: 6039 str r1, [r7, #0] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80bbbde: 687b ldr r3, [r7, #4] 80bbbe0: 681b ldr r3, [r3, #0] 80bbbe2: 617b str r3, [r7, #20] uint32_t USBx_BASE = (uint32_t)USBx; 80bbbe4: 697b ldr r3, [r7, #20] 80bbbe6: 613b str r3, [r7, #16] uint32_t gSNPSiD = *(__IO uint32_t *)(&USBx->CID + 0x1U); 80bbbe8: 697b ldr r3, [r7, #20] 80bbbea: 333c adds r3, #60 ; 0x3c 80bbbec: 3304 adds r3, #4 80bbbee: 681b ldr r3, [r3, #0] 80bbbf0: 60fb str r3, [r7, #12] uint32_t DoepintReg = USBx_OUTEP(epnum)->DOEPINT; 80bbbf2: 683b ldr r3, [r7, #0] 80bbbf4: 015a lsls r2, r3, #5 80bbbf6: 693b ldr r3, [r7, #16] 80bbbf8: 4413 add r3, r2 80bbbfa: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bbbfe: 689b ldr r3, [r3, #8] 80bbc00: 60bb str r3, [r7, #8] if (hpcd->Init.dma_enable == 1U) 80bbc02: 687b ldr r3, [r7, #4] 80bbc04: 691b ldr r3, [r3, #16] 80bbc06: 2b01 cmp r3, #1 80bbc08: f040 80a0 bne.w 80bbd4c { if ((DoepintReg & USB_OTG_DOEPINT_STUP) == USB_OTG_DOEPINT_STUP) /* Class C */ 80bbc0c: 68bb ldr r3, [r7, #8] 80bbc0e: f003 0308 and.w r3, r3, #8 80bbc12: 2b00 cmp r3, #0 80bbc14: d015 beq.n 80bbc42 { /* StupPktRcvd = 1 this is a setup packet */ if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80bbc16: 68fb ldr r3, [r7, #12] 80bbc18: 4a72 ldr r2, [pc, #456] ; (80bbde4 ) 80bbc1a: 4293 cmp r3, r2 80bbc1c: f240 80dd bls.w 80bbdda ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 80bbc20: 68bb ldr r3, [r7, #8] 80bbc22: f403 4300 and.w r3, r3, #32768 ; 0x8000 if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80bbc26: 2b00 cmp r3, #0 80bbc28: f000 80d7 beq.w 80bbdda { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 80bbc2c: 683b ldr r3, [r7, #0] 80bbc2e: 015a lsls r2, r3, #5 80bbc30: 693b ldr r3, [r7, #16] 80bbc32: 4413 add r3, r2 80bbc34: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bbc38: 461a mov r2, r3 80bbc3a: f44f 4300 mov.w r3, #32768 ; 0x8000 80bbc3e: 6093 str r3, [r2, #8] 80bbc40: e0cb b.n 80bbdda } } else if ((DoepintReg & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR) /* Class E */ 80bbc42: 68bb ldr r3, [r7, #8] 80bbc44: f003 0320 and.w r3, r3, #32 80bbc48: 2b00 cmp r3, #0 80bbc4a: d009 beq.n 80bbc60 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR); 80bbc4c: 683b ldr r3, [r7, #0] 80bbc4e: 015a lsls r2, r3, #5 80bbc50: 693b ldr r3, [r7, #16] 80bbc52: 4413 add r3, r2 80bbc54: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bbc58: 461a mov r2, r3 80bbc5a: 2320 movs r3, #32 80bbc5c: 6093 str r3, [r2, #8] 80bbc5e: e0bc b.n 80bbdda } else if ((DoepintReg & (USB_OTG_DOEPINT_STUP | USB_OTG_DOEPINT_OTEPSPR)) == 0U) 80bbc60: 68bb ldr r3, [r7, #8] 80bbc62: f003 0328 and.w r3, r3, #40 ; 0x28 80bbc66: 2b00 cmp r3, #0 80bbc68: f040 80b7 bne.w 80bbdda { /* StupPktRcvd = 1 this is a setup packet */ if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80bbc6c: 68fb ldr r3, [r7, #12] 80bbc6e: 4a5d ldr r2, [pc, #372] ; (80bbde4 ) 80bbc70: 4293 cmp r3, r2 80bbc72: d90f bls.n 80bbc94 ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 80bbc74: 68bb ldr r3, [r7, #8] 80bbc76: f403 4300 and.w r3, r3, #32768 ; 0x8000 if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80bbc7a: 2b00 cmp r3, #0 80bbc7c: d00a beq.n 80bbc94 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 80bbc7e: 683b ldr r3, [r7, #0] 80bbc80: 015a lsls r2, r3, #5 80bbc82: 693b ldr r3, [r7, #16] 80bbc84: 4413 add r3, r2 80bbc86: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bbc8a: 461a mov r2, r3 80bbc8c: f44f 4300 mov.w r3, #32768 ; 0x8000 80bbc90: 6093 str r3, [r2, #8] 80bbc92: e0a2 b.n 80bbdda } else { /* out data packet received over EP0 */ hpcd->OUT_ep[epnum].xfer_count = hpcd->OUT_ep[epnum].maxpacket - 80bbc94: 6879 ldr r1, [r7, #4] 80bbc96: 683a ldr r2, [r7, #0] 80bbc98: 4613 mov r3, r2 80bbc9a: 00db lsls r3, r3, #3 80bbc9c: 1a9b subs r3, r3, r2 80bbc9e: 009b lsls r3, r3, #2 80bbca0: 440b add r3, r1 80bbca2: f503 7301 add.w r3, r3, #516 ; 0x204 80bbca6: 681a ldr r2, [r3, #0] (USBx_OUTEP(epnum)->DOEPTSIZ & USB_OTG_DOEPTSIZ_XFRSIZ); 80bbca8: 683b ldr r3, [r7, #0] 80bbcaa: 0159 lsls r1, r3, #5 80bbcac: 693b ldr r3, [r7, #16] 80bbcae: 440b add r3, r1 80bbcb0: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bbcb4: 691b ldr r3, [r3, #16] 80bbcb6: f3c3 0312 ubfx r3, r3, #0, #19 hpcd->OUT_ep[epnum].maxpacket - 80bbcba: 1ad1 subs r1, r2, r3 hpcd->OUT_ep[epnum].xfer_count = 80bbcbc: 6878 ldr r0, [r7, #4] 80bbcbe: 683a ldr r2, [r7, #0] 80bbcc0: 4613 mov r3, r2 80bbcc2: 00db lsls r3, r3, #3 80bbcc4: 1a9b subs r3, r3, r2 80bbcc6: 009b lsls r3, r3, #2 80bbcc8: 4403 add r3, r0 80bbcca: f503 7305 add.w r3, r3, #532 ; 0x214 80bbcce: 6019 str r1, [r3, #0] hpcd->OUT_ep[epnum].xfer_buff += hpcd->OUT_ep[epnum].maxpacket; 80bbcd0: 6879 ldr r1, [r7, #4] 80bbcd2: 683a ldr r2, [r7, #0] 80bbcd4: 4613 mov r3, r2 80bbcd6: 00db lsls r3, r3, #3 80bbcd8: 1a9b subs r3, r3, r2 80bbcda: 009b lsls r3, r3, #2 80bbcdc: 440b add r3, r1 80bbcde: f503 7302 add.w r3, r3, #520 ; 0x208 80bbce2: 6819 ldr r1, [r3, #0] 80bbce4: 6878 ldr r0, [r7, #4] 80bbce6: 683a ldr r2, [r7, #0] 80bbce8: 4613 mov r3, r2 80bbcea: 00db lsls r3, r3, #3 80bbcec: 1a9b subs r3, r3, r2 80bbcee: 009b lsls r3, r3, #2 80bbcf0: 4403 add r3, r0 80bbcf2: f503 7301 add.w r3, r3, #516 ; 0x204 80bbcf6: 681b ldr r3, [r3, #0] 80bbcf8: 4419 add r1, r3 80bbcfa: 6878 ldr r0, [r7, #4] 80bbcfc: 683a ldr r2, [r7, #0] 80bbcfe: 4613 mov r3, r2 80bbd00: 00db lsls r3, r3, #3 80bbd02: 1a9b subs r3, r3, r2 80bbd04: 009b lsls r3, r3, #2 80bbd06: 4403 add r3, r0 80bbd08: f503 7302 add.w r3, r3, #520 ; 0x208 80bbd0c: 6019 str r1, [r3, #0] if ((epnum == 0U) && (hpcd->OUT_ep[epnum].xfer_len == 0U)) 80bbd0e: 683b ldr r3, [r7, #0] 80bbd10: 2b00 cmp r3, #0 80bbd12: d114 bne.n 80bbd3e 80bbd14: 6879 ldr r1, [r7, #4] 80bbd16: 683a ldr r2, [r7, #0] 80bbd18: 4613 mov r3, r2 80bbd1a: 00db lsls r3, r3, #3 80bbd1c: 1a9b subs r3, r3, r2 80bbd1e: 009b lsls r3, r3, #2 80bbd20: 440b add r3, r1 80bbd22: f503 7304 add.w r3, r3, #528 ; 0x210 80bbd26: 681b ldr r3, [r3, #0] 80bbd28: 2b00 cmp r3, #0 80bbd2a: d108 bne.n 80bbd3e { /* this is ZLP, so prepare EP0 for next setup */ (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); 80bbd2c: 687b ldr r3, [r7, #4] 80bbd2e: 6818 ldr r0, [r3, #0] 80bbd30: 687b ldr r3, [r7, #4] 80bbd32: f503 7371 add.w r3, r3, #964 ; 0x3c4 80bbd36: 461a mov r2, r3 80bbd38: 2101 movs r1, #1 80bbd3a: f008 fbd9 bl 80c44f0 } #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataOutStageCallback(hpcd, (uint8_t)epnum); #else HAL_PCD_DataOutStageCallback(hpcd, (uint8_t)epnum); 80bbd3e: 683b ldr r3, [r7, #0] 80bbd40: b2db uxtb r3, r3 80bbd42: 4619 mov r1, r3 80bbd44: 6878 ldr r0, [r7, #4] 80bbd46: f012 fc33 bl 80ce5b0 80bbd4a: e046 b.n 80bbdda /* ... */ } } else { if (gSNPSiD == USB_OTG_CORE_ID_310A) 80bbd4c: 68fb ldr r3, [r7, #12] 80bbd4e: 4a26 ldr r2, [pc, #152] ; (80bbde8 ) 80bbd50: 4293 cmp r3, r2 80bbd52: d124 bne.n 80bbd9e { /* StupPktRcvd = 1 this is a setup packet */ if ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX) 80bbd54: 68bb ldr r3, [r7, #8] 80bbd56: f403 4300 and.w r3, r3, #32768 ; 0x8000 80bbd5a: 2b00 cmp r3, #0 80bbd5c: d00a beq.n 80bbd74 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 80bbd5e: 683b ldr r3, [r7, #0] 80bbd60: 015a lsls r2, r3, #5 80bbd62: 693b ldr r3, [r7, #16] 80bbd64: 4413 add r3, r2 80bbd66: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bbd6a: 461a mov r2, r3 80bbd6c: f44f 4300 mov.w r3, #32768 ; 0x8000 80bbd70: 6093 str r3, [r2, #8] 80bbd72: e032 b.n 80bbdda } else { if ((DoepintReg & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR) 80bbd74: 68bb ldr r3, [r7, #8] 80bbd76: f003 0320 and.w r3, r3, #32 80bbd7a: 2b00 cmp r3, #0 80bbd7c: d008 beq.n 80bbd90 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR); 80bbd7e: 683b ldr r3, [r7, #0] 80bbd80: 015a lsls r2, r3, #5 80bbd82: 693b ldr r3, [r7, #16] 80bbd84: 4413 add r3, r2 80bbd86: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bbd8a: 461a mov r2, r3 80bbd8c: 2320 movs r3, #32 80bbd8e: 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); 80bbd90: 683b ldr r3, [r7, #0] 80bbd92: b2db uxtb r3, r3 80bbd94: 4619 mov r1, r3 80bbd96: 6878 ldr r0, [r7, #4] 80bbd98: f012 fc0a bl 80ce5b0 80bbd9c: e01d b.n 80bbdda #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } } else { if ((epnum == 0U) && (hpcd->OUT_ep[epnum].xfer_len == 0U)) 80bbd9e: 683b ldr r3, [r7, #0] 80bbda0: 2b00 cmp r3, #0 80bbda2: d114 bne.n 80bbdce 80bbda4: 6879 ldr r1, [r7, #4] 80bbda6: 683a ldr r2, [r7, #0] 80bbda8: 4613 mov r3, r2 80bbdaa: 00db lsls r3, r3, #3 80bbdac: 1a9b subs r3, r3, r2 80bbdae: 009b lsls r3, r3, #2 80bbdb0: 440b add r3, r1 80bbdb2: f503 7304 add.w r3, r3, #528 ; 0x210 80bbdb6: 681b ldr r3, [r3, #0] 80bbdb8: 2b00 cmp r3, #0 80bbdba: d108 bne.n 80bbdce { /* this is ZLP, so prepare EP0 for next setup */ (void)USB_EP0_OutStart(hpcd->Instance, 0U, (uint8_t *)hpcd->Setup); 80bbdbc: 687b ldr r3, [r7, #4] 80bbdbe: 6818 ldr r0, [r3, #0] 80bbdc0: 687b ldr r3, [r7, #4] 80bbdc2: f503 7371 add.w r3, r3, #964 ; 0x3c4 80bbdc6: 461a mov r2, r3 80bbdc8: 2100 movs r1, #0 80bbdca: f008 fb91 bl 80c44f0 } #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataOutStageCallback(hpcd, (uint8_t)epnum); #else HAL_PCD_DataOutStageCallback(hpcd, (uint8_t)epnum); 80bbdce: 683b ldr r3, [r7, #0] 80bbdd0: b2db uxtb r3, r3 80bbdd2: 4619 mov r1, r3 80bbdd4: 6878 ldr r0, [r7, #4] 80bbdd6: f012 fbeb bl 80ce5b0 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } } return HAL_OK; 80bbdda: 2300 movs r3, #0 } 80bbddc: 4618 mov r0, r3 80bbdde: 3718 adds r7, #24 80bbde0: 46bd mov sp, r7 80bbde2: bd80 pop {r7, pc} 80bbde4: 4f54300a .word 0x4f54300a 80bbde8: 4f54310a .word 0x4f54310a 080bbdec : * @param hpcd PCD handle * @param epnum endpoint number * @retval HAL status */ static HAL_StatusTypeDef PCD_EP_OutSetupPacket_int(PCD_HandleTypeDef *hpcd, uint32_t epnum) { 80bbdec: b580 push {r7, lr} 80bbdee: b086 sub sp, #24 80bbdf0: af00 add r7, sp, #0 80bbdf2: 6078 str r0, [r7, #4] 80bbdf4: 6039 str r1, [r7, #0] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80bbdf6: 687b ldr r3, [r7, #4] 80bbdf8: 681b ldr r3, [r3, #0] 80bbdfa: 617b str r3, [r7, #20] uint32_t USBx_BASE = (uint32_t)USBx; 80bbdfc: 697b ldr r3, [r7, #20] 80bbdfe: 613b str r3, [r7, #16] uint32_t gSNPSiD = *(__IO uint32_t *)(&USBx->CID + 0x1U); 80bbe00: 697b ldr r3, [r7, #20] 80bbe02: 333c adds r3, #60 ; 0x3c 80bbe04: 3304 adds r3, #4 80bbe06: 681b ldr r3, [r3, #0] 80bbe08: 60fb str r3, [r7, #12] uint32_t DoepintReg = USBx_OUTEP(epnum)->DOEPINT; 80bbe0a: 683b ldr r3, [r7, #0] 80bbe0c: 015a lsls r2, r3, #5 80bbe0e: 693b ldr r3, [r7, #16] 80bbe10: 4413 add r3, r2 80bbe12: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bbe16: 689b ldr r3, [r3, #8] 80bbe18: 60bb str r3, [r7, #8] if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80bbe1a: 68fb ldr r3, [r7, #12] 80bbe1c: 4a15 ldr r2, [pc, #84] ; (80bbe74 ) 80bbe1e: 4293 cmp r3, r2 80bbe20: d90e bls.n 80bbe40 ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 80bbe22: 68bb ldr r3, [r7, #8] 80bbe24: f403 4300 and.w r3, r3, #32768 ; 0x8000 if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80bbe28: 2b00 cmp r3, #0 80bbe2a: d009 beq.n 80bbe40 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 80bbe2c: 683b ldr r3, [r7, #0] 80bbe2e: 015a lsls r2, r3, #5 80bbe30: 693b ldr r3, [r7, #16] 80bbe32: 4413 add r3, r2 80bbe34: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bbe38: 461a mov r2, r3 80bbe3a: f44f 4300 mov.w r3, #32768 ; 0x8000 80bbe3e: 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); 80bbe40: 6878 ldr r0, [r7, #4] 80bbe42: f012 fba3 bl 80ce58c #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ if ((gSNPSiD > USB_OTG_CORE_ID_300A) && (hpcd->Init.dma_enable == 1U)) 80bbe46: 68fb ldr r3, [r7, #12] 80bbe48: 4a0a ldr r2, [pc, #40] ; (80bbe74 ) 80bbe4a: 4293 cmp r3, r2 80bbe4c: d90c bls.n 80bbe68 80bbe4e: 687b ldr r3, [r7, #4] 80bbe50: 691b ldr r3, [r3, #16] 80bbe52: 2b01 cmp r3, #1 80bbe54: d108 bne.n 80bbe68 { (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); 80bbe56: 687b ldr r3, [r7, #4] 80bbe58: 6818 ldr r0, [r3, #0] 80bbe5a: 687b ldr r3, [r7, #4] 80bbe5c: f503 7371 add.w r3, r3, #964 ; 0x3c4 80bbe60: 461a mov r2, r3 80bbe62: 2101 movs r1, #1 80bbe64: f008 fb44 bl 80c44f0 } return HAL_OK; 80bbe68: 2300 movs r3, #0 } 80bbe6a: 4618 mov r0, r3 80bbe6c: 3718 adds r7, #24 80bbe6e: 46bd mov sp, r7 80bbe70: bd80 pop {r7, pc} 80bbe72: bf00 nop 80bbe74: 4f54300a .word 0x4f54300a 080bbe78 : * @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) { 80bbe78: b480 push {r7} 80bbe7a: b085 sub sp, #20 80bbe7c: af00 add r7, sp, #0 80bbe7e: 6078 str r0, [r7, #4] 80bbe80: 460b mov r3, r1 80bbe82: 70fb strb r3, [r7, #3] 80bbe84: 4613 mov r3, r2 80bbe86: 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; 80bbe88: 687b ldr r3, [r7, #4] 80bbe8a: 681b ldr r3, [r3, #0] 80bbe8c: 6a5b ldr r3, [r3, #36] ; 0x24 80bbe8e: 60bb str r3, [r7, #8] if (fifo == 0U) 80bbe90: 78fb ldrb r3, [r7, #3] 80bbe92: 2b00 cmp r3, #0 80bbe94: d107 bne.n 80bbea6 { hpcd->Instance->DIEPTXF0_HNPTXFSIZ = ((uint32_t)size << 16) | Tx_Offset; 80bbe96: 687b ldr r3, [r7, #4] 80bbe98: 681b ldr r3, [r3, #0] 80bbe9a: 883a ldrh r2, [r7, #0] 80bbe9c: 0411 lsls r1, r2, #16 80bbe9e: 68ba ldr r2, [r7, #8] 80bbea0: 430a orrs r2, r1 80bbea2: 629a str r2, [r3, #40] ; 0x28 80bbea4: e028 b.n 80bbef8 } else { Tx_Offset += (hpcd->Instance->DIEPTXF0_HNPTXFSIZ) >> 16; 80bbea6: 687b ldr r3, [r7, #4] 80bbea8: 681b ldr r3, [r3, #0] 80bbeaa: 6a9b ldr r3, [r3, #40] ; 0x28 80bbeac: 0c1b lsrs r3, r3, #16 80bbeae: 68ba ldr r2, [r7, #8] 80bbeb0: 4413 add r3, r2 80bbeb2: 60bb str r3, [r7, #8] for (i = 0U; i < (fifo - 1U); i++) 80bbeb4: 2300 movs r3, #0 80bbeb6: 73fb strb r3, [r7, #15] 80bbeb8: e00d b.n 80bbed6 { Tx_Offset += (hpcd->Instance->DIEPTXF[i] >> 16); 80bbeba: 687b ldr r3, [r7, #4] 80bbebc: 681a ldr r2, [r3, #0] 80bbebe: 7bfb ldrb r3, [r7, #15] 80bbec0: 3340 adds r3, #64 ; 0x40 80bbec2: 009b lsls r3, r3, #2 80bbec4: 4413 add r3, r2 80bbec6: 685b ldr r3, [r3, #4] 80bbec8: 0c1b lsrs r3, r3, #16 80bbeca: 68ba ldr r2, [r7, #8] 80bbecc: 4413 add r3, r2 80bbece: 60bb str r3, [r7, #8] for (i = 0U; i < (fifo - 1U); i++) 80bbed0: 7bfb ldrb r3, [r7, #15] 80bbed2: 3301 adds r3, #1 80bbed4: 73fb strb r3, [r7, #15] 80bbed6: 7bfa ldrb r2, [r7, #15] 80bbed8: 78fb ldrb r3, [r7, #3] 80bbeda: 3b01 subs r3, #1 80bbedc: 429a cmp r2, r3 80bbede: d3ec bcc.n 80bbeba } /* Multiply Tx_Size by 2 to get higher performance */ hpcd->Instance->DIEPTXF[fifo - 1U] = ((uint32_t)size << 16) | Tx_Offset; 80bbee0: 687b ldr r3, [r7, #4] 80bbee2: 6819 ldr r1, [r3, #0] 80bbee4: 78fb ldrb r3, [r7, #3] 80bbee6: 3b01 subs r3, #1 80bbee8: 883a ldrh r2, [r7, #0] 80bbeea: 0410 lsls r0, r2, #16 80bbeec: 68ba ldr r2, [r7, #8] 80bbeee: 4302 orrs r2, r0 80bbef0: 3340 adds r3, #64 ; 0x40 80bbef2: 009b lsls r3, r3, #2 80bbef4: 440b add r3, r1 80bbef6: 605a str r2, [r3, #4] } return HAL_OK; 80bbef8: 2300 movs r3, #0 } 80bbefa: 4618 mov r0, r3 80bbefc: 3714 adds r7, #20 80bbefe: 46bd mov sp, r7 80bbf00: f85d 7b04 ldr.w r7, [sp], #4 80bbf04: 4770 bx lr 080bbf06 : * @param hpcd PCD handle * @param size Size of Rx fifo * @retval HAL status */ HAL_StatusTypeDef HAL_PCDEx_SetRxFiFo(PCD_HandleTypeDef *hpcd, uint16_t size) { 80bbf06: b480 push {r7} 80bbf08: b083 sub sp, #12 80bbf0a: af00 add r7, sp, #0 80bbf0c: 6078 str r0, [r7, #4] 80bbf0e: 460b mov r3, r1 80bbf10: 807b strh r3, [r7, #2] hpcd->Instance->GRXFSIZ = size; 80bbf12: 687b ldr r3, [r7, #4] 80bbf14: 681b ldr r3, [r3, #0] 80bbf16: 887a ldrh r2, [r7, #2] 80bbf18: 625a str r2, [r3, #36] ; 0x24 return HAL_OK; 80bbf1a: 2300 movs r3, #0 } 80bbf1c: 4618 mov r0, r3 80bbf1e: 370c adds r7, #12 80bbf20: 46bd mov sp, r7 80bbf22: f85d 7b04 ldr.w r7, [sp], #4 80bbf26: 4770 bx lr 080bbf28 : * @brief Activate LPM feature. * @param hpcd PCD handle * @retval HAL status */ HAL_StatusTypeDef HAL_PCDEx_ActivateLPM(PCD_HandleTypeDef *hpcd) { 80bbf28: b480 push {r7} 80bbf2a: b085 sub sp, #20 80bbf2c: af00 add r7, sp, #0 80bbf2e: 6078 str r0, [r7, #4] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80bbf30: 687b ldr r3, [r7, #4] 80bbf32: 681b ldr r3, [r3, #0] 80bbf34: 60fb str r3, [r7, #12] hpcd->lpm_active = 1U; 80bbf36: 687b ldr r3, [r7, #4] 80bbf38: 2201 movs r2, #1 80bbf3a: f8c3 23fc str.w r2, [r3, #1020] ; 0x3fc hpcd->LPM_State = LPM_L0; 80bbf3e: 687b ldr r3, [r7, #4] 80bbf40: 2200 movs r2, #0 80bbf42: f883 23f4 strb.w r2, [r3, #1012] ; 0x3f4 USBx->GINTMSK |= USB_OTG_GINTMSK_LPMINTM; 80bbf46: 68fb ldr r3, [r7, #12] 80bbf48: 699b ldr r3, [r3, #24] 80bbf4a: f043 6200 orr.w r2, r3, #134217728 ; 0x8000000 80bbf4e: 68fb ldr r3, [r7, #12] 80bbf50: 619a str r2, [r3, #24] USBx->GLPMCFG |= (USB_OTG_GLPMCFG_LPMEN | USB_OTG_GLPMCFG_LPMACK | USB_OTG_GLPMCFG_ENBESL); 80bbf52: 68fb ldr r3, [r7, #12] 80bbf54: 6d5a ldr r2, [r3, #84] ; 0x54 80bbf56: 4b05 ldr r3, [pc, #20] ; (80bbf6c ) 80bbf58: 4313 orrs r3, r2 80bbf5a: 68fa ldr r2, [r7, #12] 80bbf5c: 6553 str r3, [r2, #84] ; 0x54 return HAL_OK; 80bbf5e: 2300 movs r3, #0 } 80bbf60: 4618 mov r0, r3 80bbf62: 3714 adds r7, #20 80bbf64: 46bd mov sp, r7 80bbf66: f85d 7b04 ldr.w r7, [sp], #4 80bbf6a: 4770 bx lr 80bbf6c: 10000003 .word 0x10000003 080bbf70 : * @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) { 80bbf70: b480 push {r7} 80bbf72: af00 add r7, sp, #0 /* Enable access to RTC and backup registers */ SET_BIT(PWR->CR1, PWR_CR1_DBP); 80bbf74: 4a05 ldr r2, [pc, #20] ; (80bbf8c ) 80bbf76: 4b05 ldr r3, [pc, #20] ; (80bbf8c ) 80bbf78: 681b ldr r3, [r3, #0] 80bbf7a: f443 7380 orr.w r3, r3, #256 ; 0x100 80bbf7e: 6013 str r3, [r2, #0] } 80bbf80: bf00 nop 80bbf82: 46bd mov sp, r7 80bbf84: f85d 7b04 ldr.w r7, [sp], #4 80bbf88: 4770 bx lr 80bbf8a: bf00 nop 80bbf8c: 40007000 .word 0x40007000 080bbf90 : * 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) { 80bbf90: b580 push {r7, lr} 80bbf92: b082 sub sp, #8 80bbf94: af00 add r7, sp, #0 uint32_t tickstart = 0; 80bbf96: 2300 movs r3, #0 80bbf98: 607b str r3, [r7, #4] __HAL_RCC_PWR_CLK_ENABLE(); 80bbf9a: 4a23 ldr r2, [pc, #140] ; (80bc028 ) 80bbf9c: 4b22 ldr r3, [pc, #136] ; (80bc028 ) 80bbf9e: 6c1b ldr r3, [r3, #64] ; 0x40 80bbfa0: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80bbfa4: 6413 str r3, [r2, #64] ; 0x40 80bbfa6: 4b20 ldr r3, [pc, #128] ; (80bc028 ) 80bbfa8: 6c1b ldr r3, [r3, #64] ; 0x40 80bbfaa: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80bbfae: 603b str r3, [r7, #0] 80bbfb0: 683b ldr r3, [r7, #0] /* Enable the Over-drive to extend the clock frequency to 216 MHz */ __HAL_PWR_OVERDRIVE_ENABLE(); 80bbfb2: 4a1e ldr r2, [pc, #120] ; (80bc02c ) 80bbfb4: 4b1d ldr r3, [pc, #116] ; (80bc02c ) 80bbfb6: 681b ldr r3, [r3, #0] 80bbfb8: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80bbfbc: 6013 str r3, [r2, #0] /* Get tick */ tickstart = HAL_GetTick(); 80bbfbe: f7fb fd31 bl 80b7a24 80bbfc2: 6078 str r0, [r7, #4] while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ODRDY)) 80bbfc4: e009 b.n 80bbfda { if((HAL_GetTick() - tickstart ) > PWR_OVERDRIVE_TIMEOUT_VALUE) 80bbfc6: f7fb fd2d bl 80b7a24 80bbfca: 4602 mov r2, r0 80bbfcc: 687b ldr r3, [r7, #4] 80bbfce: 1ad3 subs r3, r2, r3 80bbfd0: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80bbfd4: d901 bls.n 80bbfda { return HAL_TIMEOUT; 80bbfd6: 2303 movs r3, #3 80bbfd8: e022 b.n 80bc020 while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ODRDY)) 80bbfda: 4b14 ldr r3, [pc, #80] ; (80bc02c ) 80bbfdc: 685b ldr r3, [r3, #4] 80bbfde: f403 3380 and.w r3, r3, #65536 ; 0x10000 80bbfe2: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80bbfe6: d1ee bne.n 80bbfc6 } } /* Enable the Over-drive switch */ __HAL_PWR_OVERDRIVESWITCHING_ENABLE(); 80bbfe8: 4a10 ldr r2, [pc, #64] ; (80bc02c ) 80bbfea: 4b10 ldr r3, [pc, #64] ; (80bc02c ) 80bbfec: 681b ldr r3, [r3, #0] 80bbfee: f443 3300 orr.w r3, r3, #131072 ; 0x20000 80bbff2: 6013 str r3, [r2, #0] /* Get tick */ tickstart = HAL_GetTick(); 80bbff4: f7fb fd16 bl 80b7a24 80bbff8: 6078 str r0, [r7, #4] while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ODSWRDY)) 80bbffa: e009 b.n 80bc010 { if((HAL_GetTick() - tickstart ) > PWR_OVERDRIVE_TIMEOUT_VALUE) 80bbffc: f7fb fd12 bl 80b7a24 80bc000: 4602 mov r2, r0 80bc002: 687b ldr r3, [r7, #4] 80bc004: 1ad3 subs r3, r2, r3 80bc006: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80bc00a: d901 bls.n 80bc010 { return HAL_TIMEOUT; 80bc00c: 2303 movs r3, #3 80bc00e: e007 b.n 80bc020 while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ODSWRDY)) 80bc010: 4b06 ldr r3, [pc, #24] ; (80bc02c ) 80bc012: 685b ldr r3, [r3, #4] 80bc014: f403 3300 and.w r3, r3, #131072 ; 0x20000 80bc018: f5b3 3f00 cmp.w r3, #131072 ; 0x20000 80bc01c: d1ee bne.n 80bbffc } } return HAL_OK; 80bc01e: 2300 movs r3, #0 } 80bc020: 4618 mov r0, r3 80bc022: 3708 adds r7, #8 80bc024: 46bd mov sp, r7 80bc026: bd80 pop {r7, pc} 80bc028: 40023800 .word 0x40023800 80bc02c: 40007000 .word 0x40007000 080bc030 : * 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) { 80bc030: b580 push {r7, lr} 80bc032: b086 sub sp, #24 80bc034: af00 add r7, sp, #0 80bc036: 6078 str r0, [r7, #4] uint32_t tickstart; uint32_t pll_config; FlagStatus pwrclkchanged = RESET; 80bc038: 2300 movs r3, #0 80bc03a: 75fb strb r3, [r7, #23] /* Check Null pointer */ if (RCC_OscInitStruct == NULL) 80bc03c: 687b ldr r3, [r7, #4] 80bc03e: 2b00 cmp r3, #0 80bc040: d101 bne.n 80bc046 { return HAL_ERROR; 80bc042: 2301 movs r3, #1 80bc044: e29b b.n 80bc57e /* Check the parameters */ assert_param(IS_RCC_OSCILLATORTYPE(RCC_OscInitStruct->OscillatorType)); /*------------------------------- HSE Configuration ------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE) 80bc046: 687b ldr r3, [r7, #4] 80bc048: 681b ldr r3, [r3, #0] 80bc04a: f003 0301 and.w r3, r3, #1 80bc04e: 2b00 cmp r3, #0 80bc050: f000 8087 beq.w 80bc162 { /* 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) 80bc054: 4b96 ldr r3, [pc, #600] ; (80bc2b0 ) 80bc056: 689b ldr r3, [r3, #8] 80bc058: f003 030c and.w r3, r3, #12 80bc05c: 2b04 cmp r3, #4 80bc05e: d00c beq.n 80bc07a || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSE))) 80bc060: 4b93 ldr r3, [pc, #588] ; (80bc2b0 ) 80bc062: 689b ldr r3, [r3, #8] 80bc064: f003 030c and.w r3, r3, #12 80bc068: 2b08 cmp r3, #8 80bc06a: d112 bne.n 80bc092 80bc06c: 4b90 ldr r3, [pc, #576] ; (80bc2b0 ) 80bc06e: 685b ldr r3, [r3, #4] 80bc070: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bc074: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 80bc078: d10b bne.n 80bc092 { if ((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF)) 80bc07a: 4b8d ldr r3, [pc, #564] ; (80bc2b0 ) 80bc07c: 681b ldr r3, [r3, #0] 80bc07e: f403 3300 and.w r3, r3, #131072 ; 0x20000 80bc082: 2b00 cmp r3, #0 80bc084: d06c beq.n 80bc160 80bc086: 687b ldr r3, [r7, #4] 80bc088: 685b ldr r3, [r3, #4] 80bc08a: 2b00 cmp r3, #0 80bc08c: d168 bne.n 80bc160 { return HAL_ERROR; 80bc08e: 2301 movs r3, #1 80bc090: e275 b.n 80bc57e } } else { /* Set the new HSE configuration ---------------------------------------*/ __HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState); 80bc092: 687b ldr r3, [r7, #4] 80bc094: 685b ldr r3, [r3, #4] 80bc096: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80bc09a: d106 bne.n 80bc0aa 80bc09c: 4a84 ldr r2, [pc, #528] ; (80bc2b0 ) 80bc09e: 4b84 ldr r3, [pc, #528] ; (80bc2b0 ) 80bc0a0: 681b ldr r3, [r3, #0] 80bc0a2: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80bc0a6: 6013 str r3, [r2, #0] 80bc0a8: e02e b.n 80bc108 80bc0aa: 687b ldr r3, [r7, #4] 80bc0ac: 685b ldr r3, [r3, #4] 80bc0ae: 2b00 cmp r3, #0 80bc0b0: d10c bne.n 80bc0cc 80bc0b2: 4a7f ldr r2, [pc, #508] ; (80bc2b0 ) 80bc0b4: 4b7e ldr r3, [pc, #504] ; (80bc2b0 ) 80bc0b6: 681b ldr r3, [r3, #0] 80bc0b8: f423 3380 bic.w r3, r3, #65536 ; 0x10000 80bc0bc: 6013 str r3, [r2, #0] 80bc0be: 4a7c ldr r2, [pc, #496] ; (80bc2b0 ) 80bc0c0: 4b7b ldr r3, [pc, #492] ; (80bc2b0 ) 80bc0c2: 681b ldr r3, [r3, #0] 80bc0c4: f423 2380 bic.w r3, r3, #262144 ; 0x40000 80bc0c8: 6013 str r3, [r2, #0] 80bc0ca: e01d b.n 80bc108 80bc0cc: 687b ldr r3, [r7, #4] 80bc0ce: 685b ldr r3, [r3, #4] 80bc0d0: f5b3 2fa0 cmp.w r3, #327680 ; 0x50000 80bc0d4: d10c bne.n 80bc0f0 80bc0d6: 4a76 ldr r2, [pc, #472] ; (80bc2b0 ) 80bc0d8: 4b75 ldr r3, [pc, #468] ; (80bc2b0 ) 80bc0da: 681b ldr r3, [r3, #0] 80bc0dc: f443 2380 orr.w r3, r3, #262144 ; 0x40000 80bc0e0: 6013 str r3, [r2, #0] 80bc0e2: 4a73 ldr r2, [pc, #460] ; (80bc2b0 ) 80bc0e4: 4b72 ldr r3, [pc, #456] ; (80bc2b0 ) 80bc0e6: 681b ldr r3, [r3, #0] 80bc0e8: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80bc0ec: 6013 str r3, [r2, #0] 80bc0ee: e00b b.n 80bc108 80bc0f0: 4a6f ldr r2, [pc, #444] ; (80bc2b0 ) 80bc0f2: 4b6f ldr r3, [pc, #444] ; (80bc2b0 ) 80bc0f4: 681b ldr r3, [r3, #0] 80bc0f6: f423 3380 bic.w r3, r3, #65536 ; 0x10000 80bc0fa: 6013 str r3, [r2, #0] 80bc0fc: 4a6c ldr r2, [pc, #432] ; (80bc2b0 ) 80bc0fe: 4b6c ldr r3, [pc, #432] ; (80bc2b0 ) 80bc100: 681b ldr r3, [r3, #0] 80bc102: f423 2380 bic.w r3, r3, #262144 ; 0x40000 80bc106: 6013 str r3, [r2, #0] /* Check the HSE State */ if (RCC_OscInitStruct->HSEState != RCC_HSE_OFF) 80bc108: 687b ldr r3, [r7, #4] 80bc10a: 685b ldr r3, [r3, #4] 80bc10c: 2b00 cmp r3, #0 80bc10e: d013 beq.n 80bc138 { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bc110: f7fb fc88 bl 80b7a24 80bc114: 6138 str r0, [r7, #16] /* Wait till HSE is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) 80bc116: e008 b.n 80bc12a { if ((HAL_GetTick() - tickstart) > HSE_TIMEOUT_VALUE) 80bc118: f7fb fc84 bl 80b7a24 80bc11c: 4602 mov r2, r0 80bc11e: 693b ldr r3, [r7, #16] 80bc120: 1ad3 subs r3, r2, r3 80bc122: 2b64 cmp r3, #100 ; 0x64 80bc124: d901 bls.n 80bc12a { return HAL_TIMEOUT; 80bc126: 2303 movs r3, #3 80bc128: e229 b.n 80bc57e while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) 80bc12a: 4b61 ldr r3, [pc, #388] ; (80bc2b0 ) 80bc12c: 681b ldr r3, [r3, #0] 80bc12e: f403 3300 and.w r3, r3, #131072 ; 0x20000 80bc132: 2b00 cmp r3, #0 80bc134: d0f0 beq.n 80bc118 80bc136: e014 b.n 80bc162 } } else { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bc138: f7fb fc74 bl 80b7a24 80bc13c: 6138 str r0, [r7, #16] /* Wait till HSE is bypassed or disabled */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) 80bc13e: e008 b.n 80bc152 { if ((HAL_GetTick() - tickstart) > HSE_TIMEOUT_VALUE) 80bc140: f7fb fc70 bl 80b7a24 80bc144: 4602 mov r2, r0 80bc146: 693b ldr r3, [r7, #16] 80bc148: 1ad3 subs r3, r2, r3 80bc14a: 2b64 cmp r3, #100 ; 0x64 80bc14c: d901 bls.n 80bc152 { return HAL_TIMEOUT; 80bc14e: 2303 movs r3, #3 80bc150: e215 b.n 80bc57e while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) 80bc152: 4b57 ldr r3, [pc, #348] ; (80bc2b0 ) 80bc154: 681b ldr r3, [r3, #0] 80bc156: f403 3300 and.w r3, r3, #131072 ; 0x20000 80bc15a: 2b00 cmp r3, #0 80bc15c: d1f0 bne.n 80bc140 80bc15e: e000 b.n 80bc162 if ((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF)) 80bc160: bf00 nop } } } } /*----------------------------- HSI Configuration --------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI) 80bc162: 687b ldr r3, [r7, #4] 80bc164: 681b ldr r3, [r3, #0] 80bc166: f003 0302 and.w r3, r3, #2 80bc16a: 2b00 cmp r3, #0 80bc16c: d069 beq.n 80bc242 /* 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) 80bc16e: 4b50 ldr r3, [pc, #320] ; (80bc2b0 ) 80bc170: 689b ldr r3, [r3, #8] 80bc172: f003 030c and.w r3, r3, #12 80bc176: 2b00 cmp r3, #0 80bc178: d00b beq.n 80bc192 || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSI))) 80bc17a: 4b4d ldr r3, [pc, #308] ; (80bc2b0 ) 80bc17c: 689b ldr r3, [r3, #8] 80bc17e: f003 030c and.w r3, r3, #12 80bc182: 2b08 cmp r3, #8 80bc184: d11c bne.n 80bc1c0 80bc186: 4b4a ldr r3, [pc, #296] ; (80bc2b0 ) 80bc188: 685b ldr r3, [r3, #4] 80bc18a: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bc18e: 2b00 cmp r3, #0 80bc190: d116 bne.n 80bc1c0 { /* 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)) 80bc192: 4b47 ldr r3, [pc, #284] ; (80bc2b0 ) 80bc194: 681b ldr r3, [r3, #0] 80bc196: f003 0302 and.w r3, r3, #2 80bc19a: 2b00 cmp r3, #0 80bc19c: d005 beq.n 80bc1aa 80bc19e: 687b ldr r3, [r7, #4] 80bc1a0: 68db ldr r3, [r3, #12] 80bc1a2: 2b01 cmp r3, #1 80bc1a4: d001 beq.n 80bc1aa { return HAL_ERROR; 80bc1a6: 2301 movs r3, #1 80bc1a8: e1e9 b.n 80bc57e } /* Otherwise, just the calibration is allowed */ else { /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); 80bc1aa: 4941 ldr r1, [pc, #260] ; (80bc2b0 ) 80bc1ac: 4b40 ldr r3, [pc, #256] ; (80bc2b0 ) 80bc1ae: 681b ldr r3, [r3, #0] 80bc1b0: f023 02f8 bic.w r2, r3, #248 ; 0xf8 80bc1b4: 687b ldr r3, [r7, #4] 80bc1b6: 691b ldr r3, [r3, #16] 80bc1b8: 00db lsls r3, r3, #3 80bc1ba: 4313 orrs r3, r2 80bc1bc: 600b str r3, [r1, #0] if ((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_ON)) 80bc1be: e040 b.n 80bc242 } } else { /* Check the HSI State */ if ((RCC_OscInitStruct->HSIState) != RCC_HSI_OFF) 80bc1c0: 687b ldr r3, [r7, #4] 80bc1c2: 68db ldr r3, [r3, #12] 80bc1c4: 2b00 cmp r3, #0 80bc1c6: d023 beq.n 80bc210 { /* Enable the Internal High Speed oscillator (HSI). */ __HAL_RCC_HSI_ENABLE(); 80bc1c8: 4a39 ldr r2, [pc, #228] ; (80bc2b0 ) 80bc1ca: 4b39 ldr r3, [pc, #228] ; (80bc2b0 ) 80bc1cc: 681b ldr r3, [r3, #0] 80bc1ce: f043 0301 orr.w r3, r3, #1 80bc1d2: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bc1d4: f7fb fc26 bl 80b7a24 80bc1d8: 6138 str r0, [r7, #16] /* Wait till HSI is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) 80bc1da: e008 b.n 80bc1ee { if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE) 80bc1dc: f7fb fc22 bl 80b7a24 80bc1e0: 4602 mov r2, r0 80bc1e2: 693b ldr r3, [r7, #16] 80bc1e4: 1ad3 subs r3, r2, r3 80bc1e6: 2b02 cmp r3, #2 80bc1e8: d901 bls.n 80bc1ee { return HAL_TIMEOUT; 80bc1ea: 2303 movs r3, #3 80bc1ec: e1c7 b.n 80bc57e while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) 80bc1ee: 4b30 ldr r3, [pc, #192] ; (80bc2b0 ) 80bc1f0: 681b ldr r3, [r3, #0] 80bc1f2: f003 0302 and.w r3, r3, #2 80bc1f6: 2b00 cmp r3, #0 80bc1f8: d0f0 beq.n 80bc1dc } } /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); 80bc1fa: 492d ldr r1, [pc, #180] ; (80bc2b0 ) 80bc1fc: 4b2c ldr r3, [pc, #176] ; (80bc2b0 ) 80bc1fe: 681b ldr r3, [r3, #0] 80bc200: f023 02f8 bic.w r2, r3, #248 ; 0xf8 80bc204: 687b ldr r3, [r7, #4] 80bc206: 691b ldr r3, [r3, #16] 80bc208: 00db lsls r3, r3, #3 80bc20a: 4313 orrs r3, r2 80bc20c: 600b str r3, [r1, #0] 80bc20e: e018 b.n 80bc242 } else { /* Disable the Internal High Speed oscillator (HSI). */ __HAL_RCC_HSI_DISABLE(); 80bc210: 4a27 ldr r2, [pc, #156] ; (80bc2b0 ) 80bc212: 4b27 ldr r3, [pc, #156] ; (80bc2b0 ) 80bc214: 681b ldr r3, [r3, #0] 80bc216: f023 0301 bic.w r3, r3, #1 80bc21a: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bc21c: f7fb fc02 bl 80b7a24 80bc220: 6138 str r0, [r7, #16] /* Wait till HSI is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) 80bc222: e008 b.n 80bc236 { if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE) 80bc224: f7fb fbfe bl 80b7a24 80bc228: 4602 mov r2, r0 80bc22a: 693b ldr r3, [r7, #16] 80bc22c: 1ad3 subs r3, r2, r3 80bc22e: 2b02 cmp r3, #2 80bc230: d901 bls.n 80bc236 { return HAL_TIMEOUT; 80bc232: 2303 movs r3, #3 80bc234: e1a3 b.n 80bc57e while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) 80bc236: 4b1e ldr r3, [pc, #120] ; (80bc2b0 ) 80bc238: 681b ldr r3, [r3, #0] 80bc23a: f003 0302 and.w r3, r3, #2 80bc23e: 2b00 cmp r3, #0 80bc240: d1f0 bne.n 80bc224 } } } } /*------------------------------ LSI Configuration -------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI) 80bc242: 687b ldr r3, [r7, #4] 80bc244: 681b ldr r3, [r3, #0] 80bc246: f003 0308 and.w r3, r3, #8 80bc24a: 2b00 cmp r3, #0 80bc24c: d038 beq.n 80bc2c0 { /* Check the parameters */ assert_param(IS_RCC_LSI(RCC_OscInitStruct->LSIState)); /* Check the LSI State */ if ((RCC_OscInitStruct->LSIState) != RCC_LSI_OFF) 80bc24e: 687b ldr r3, [r7, #4] 80bc250: 695b ldr r3, [r3, #20] 80bc252: 2b00 cmp r3, #0 80bc254: d019 beq.n 80bc28a { /* Enable the Internal Low Speed oscillator (LSI). */ __HAL_RCC_LSI_ENABLE(); 80bc256: 4a16 ldr r2, [pc, #88] ; (80bc2b0 ) 80bc258: 4b15 ldr r3, [pc, #84] ; (80bc2b0 ) 80bc25a: 6f5b ldr r3, [r3, #116] ; 0x74 80bc25c: f043 0301 orr.w r3, r3, #1 80bc260: 6753 str r3, [r2, #116] ; 0x74 /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bc262: f7fb fbdf bl 80b7a24 80bc266: 6138 str r0, [r7, #16] /* Wait till LSI is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET) 80bc268: e008 b.n 80bc27c { if ((HAL_GetTick() - tickstart) > LSI_TIMEOUT_VALUE) 80bc26a: f7fb fbdb bl 80b7a24 80bc26e: 4602 mov r2, r0 80bc270: 693b ldr r3, [r7, #16] 80bc272: 1ad3 subs r3, r2, r3 80bc274: 2b02 cmp r3, #2 80bc276: d901 bls.n 80bc27c { return HAL_TIMEOUT; 80bc278: 2303 movs r3, #3 80bc27a: e180 b.n 80bc57e while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET) 80bc27c: 4b0c ldr r3, [pc, #48] ; (80bc2b0 ) 80bc27e: 6f5b ldr r3, [r3, #116] ; 0x74 80bc280: f003 0302 and.w r3, r3, #2 80bc284: 2b00 cmp r3, #0 80bc286: d0f0 beq.n 80bc26a 80bc288: e01a b.n 80bc2c0 } } else { /* Disable the Internal Low Speed oscillator (LSI). */ __HAL_RCC_LSI_DISABLE(); 80bc28a: 4a09 ldr r2, [pc, #36] ; (80bc2b0 ) 80bc28c: 4b08 ldr r3, [pc, #32] ; (80bc2b0 ) 80bc28e: 6f5b ldr r3, [r3, #116] ; 0x74 80bc290: f023 0301 bic.w r3, r3, #1 80bc294: 6753 str r3, [r2, #116] ; 0x74 /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bc296: f7fb fbc5 bl 80b7a24 80bc29a: 6138 str r0, [r7, #16] /* Wait till LSI is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET) 80bc29c: e00a b.n 80bc2b4 { if ((HAL_GetTick() - tickstart) > LSI_TIMEOUT_VALUE) 80bc29e: f7fb fbc1 bl 80b7a24 80bc2a2: 4602 mov r2, r0 80bc2a4: 693b ldr r3, [r7, #16] 80bc2a6: 1ad3 subs r3, r2, r3 80bc2a8: 2b02 cmp r3, #2 80bc2aa: d903 bls.n 80bc2b4 { return HAL_TIMEOUT; 80bc2ac: 2303 movs r3, #3 80bc2ae: e166 b.n 80bc57e 80bc2b0: 40023800 .word 0x40023800 while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET) 80bc2b4: 4b92 ldr r3, [pc, #584] ; (80bc500 ) 80bc2b6: 6f5b ldr r3, [r3, #116] ; 0x74 80bc2b8: f003 0302 and.w r3, r3, #2 80bc2bc: 2b00 cmp r3, #0 80bc2be: d1ee bne.n 80bc29e } } } } /*------------------------------ LSE Configuration -------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE) 80bc2c0: 687b ldr r3, [r7, #4] 80bc2c2: 681b ldr r3, [r3, #0] 80bc2c4: f003 0304 and.w r3, r3, #4 80bc2c8: 2b00 cmp r3, #0 80bc2ca: f000 80a4 beq.w 80bc416 /* 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()) 80bc2ce: 4b8c ldr r3, [pc, #560] ; (80bc500 ) 80bc2d0: 6c1b ldr r3, [r3, #64] ; 0x40 80bc2d2: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80bc2d6: 2b00 cmp r3, #0 80bc2d8: d10d bne.n 80bc2f6 { /* Enable Power Clock*/ __HAL_RCC_PWR_CLK_ENABLE(); 80bc2da: 4a89 ldr r2, [pc, #548] ; (80bc500 ) 80bc2dc: 4b88 ldr r3, [pc, #544] ; (80bc500 ) 80bc2de: 6c1b ldr r3, [r3, #64] ; 0x40 80bc2e0: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80bc2e4: 6413 str r3, [r2, #64] ; 0x40 80bc2e6: 4b86 ldr r3, [pc, #536] ; (80bc500 ) 80bc2e8: 6c1b ldr r3, [r3, #64] ; 0x40 80bc2ea: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80bc2ee: 60bb str r3, [r7, #8] 80bc2f0: 68bb ldr r3, [r7, #8] pwrclkchanged = SET; 80bc2f2: 2301 movs r3, #1 80bc2f4: 75fb strb r3, [r7, #23] } if (HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) 80bc2f6: 4b83 ldr r3, [pc, #524] ; (80bc504 ) 80bc2f8: 681b ldr r3, [r3, #0] 80bc2fa: f403 7380 and.w r3, r3, #256 ; 0x100 80bc2fe: 2b00 cmp r3, #0 80bc300: d118 bne.n 80bc334 { /* Enable write access to Backup domain */ PWR->CR1 |= PWR_CR1_DBP; 80bc302: 4a80 ldr r2, [pc, #512] ; (80bc504 ) 80bc304: 4b7f ldr r3, [pc, #508] ; (80bc504 ) 80bc306: 681b ldr r3, [r3, #0] 80bc308: f443 7380 orr.w r3, r3, #256 ; 0x100 80bc30c: 6013 str r3, [r2, #0] /* Wait for Backup domain Write protection disable */ tickstart = HAL_GetTick(); 80bc30e: f7fb fb89 bl 80b7a24 80bc312: 6138 str r0, [r7, #16] while (HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) 80bc314: e008 b.n 80bc328 { if ((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE) 80bc316: f7fb fb85 bl 80b7a24 80bc31a: 4602 mov r2, r0 80bc31c: 693b ldr r3, [r7, #16] 80bc31e: 1ad3 subs r3, r2, r3 80bc320: 2b64 cmp r3, #100 ; 0x64 80bc322: d901 bls.n 80bc328 { return HAL_TIMEOUT; 80bc324: 2303 movs r3, #3 80bc326: e12a b.n 80bc57e while (HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) 80bc328: 4b76 ldr r3, [pc, #472] ; (80bc504 ) 80bc32a: 681b ldr r3, [r3, #0] 80bc32c: f403 7380 and.w r3, r3, #256 ; 0x100 80bc330: 2b00 cmp r3, #0 80bc332: d0f0 beq.n 80bc316 } } } /* Set the new LSE configuration -----------------------------------------*/ __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState); 80bc334: 687b ldr r3, [r7, #4] 80bc336: 689b ldr r3, [r3, #8] 80bc338: 2b01 cmp r3, #1 80bc33a: d106 bne.n 80bc34a 80bc33c: 4a70 ldr r2, [pc, #448] ; (80bc500 ) 80bc33e: 4b70 ldr r3, [pc, #448] ; (80bc500 ) 80bc340: 6f1b ldr r3, [r3, #112] ; 0x70 80bc342: f043 0301 orr.w r3, r3, #1 80bc346: 6713 str r3, [r2, #112] ; 0x70 80bc348: e02d b.n 80bc3a6 80bc34a: 687b ldr r3, [r7, #4] 80bc34c: 689b ldr r3, [r3, #8] 80bc34e: 2b00 cmp r3, #0 80bc350: d10c bne.n 80bc36c 80bc352: 4a6b ldr r2, [pc, #428] ; (80bc500 ) 80bc354: 4b6a ldr r3, [pc, #424] ; (80bc500 ) 80bc356: 6f1b ldr r3, [r3, #112] ; 0x70 80bc358: f023 0301 bic.w r3, r3, #1 80bc35c: 6713 str r3, [r2, #112] ; 0x70 80bc35e: 4a68 ldr r2, [pc, #416] ; (80bc500 ) 80bc360: 4b67 ldr r3, [pc, #412] ; (80bc500 ) 80bc362: 6f1b ldr r3, [r3, #112] ; 0x70 80bc364: f023 0304 bic.w r3, r3, #4 80bc368: 6713 str r3, [r2, #112] ; 0x70 80bc36a: e01c b.n 80bc3a6 80bc36c: 687b ldr r3, [r7, #4] 80bc36e: 689b ldr r3, [r3, #8] 80bc370: 2b05 cmp r3, #5 80bc372: d10c bne.n 80bc38e 80bc374: 4a62 ldr r2, [pc, #392] ; (80bc500 ) 80bc376: 4b62 ldr r3, [pc, #392] ; (80bc500 ) 80bc378: 6f1b ldr r3, [r3, #112] ; 0x70 80bc37a: f043 0304 orr.w r3, r3, #4 80bc37e: 6713 str r3, [r2, #112] ; 0x70 80bc380: 4a5f ldr r2, [pc, #380] ; (80bc500 ) 80bc382: 4b5f ldr r3, [pc, #380] ; (80bc500 ) 80bc384: 6f1b ldr r3, [r3, #112] ; 0x70 80bc386: f043 0301 orr.w r3, r3, #1 80bc38a: 6713 str r3, [r2, #112] ; 0x70 80bc38c: e00b b.n 80bc3a6 80bc38e: 4a5c ldr r2, [pc, #368] ; (80bc500 ) 80bc390: 4b5b ldr r3, [pc, #364] ; (80bc500 ) 80bc392: 6f1b ldr r3, [r3, #112] ; 0x70 80bc394: f023 0301 bic.w r3, r3, #1 80bc398: 6713 str r3, [r2, #112] ; 0x70 80bc39a: 4a59 ldr r2, [pc, #356] ; (80bc500 ) 80bc39c: 4b58 ldr r3, [pc, #352] ; (80bc500 ) 80bc39e: 6f1b ldr r3, [r3, #112] ; 0x70 80bc3a0: f023 0304 bic.w r3, r3, #4 80bc3a4: 6713 str r3, [r2, #112] ; 0x70 /* Check the LSE State */ if ((RCC_OscInitStruct->LSEState) != RCC_LSE_OFF) 80bc3a6: 687b ldr r3, [r7, #4] 80bc3a8: 689b ldr r3, [r3, #8] 80bc3aa: 2b00 cmp r3, #0 80bc3ac: d015 beq.n 80bc3da { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bc3ae: f7fb fb39 bl 80b7a24 80bc3b2: 6138 str r0, [r7, #16] /* Wait till LSE is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 80bc3b4: e00a b.n 80bc3cc { if ((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) 80bc3b6: f7fb fb35 bl 80b7a24 80bc3ba: 4602 mov r2, r0 80bc3bc: 693b ldr r3, [r7, #16] 80bc3be: 1ad3 subs r3, r2, r3 80bc3c0: f241 3288 movw r2, #5000 ; 0x1388 80bc3c4: 4293 cmp r3, r2 80bc3c6: d901 bls.n 80bc3cc { return HAL_TIMEOUT; 80bc3c8: 2303 movs r3, #3 80bc3ca: e0d8 b.n 80bc57e while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 80bc3cc: 4b4c ldr r3, [pc, #304] ; (80bc500 ) 80bc3ce: 6f1b ldr r3, [r3, #112] ; 0x70 80bc3d0: f003 0302 and.w r3, r3, #2 80bc3d4: 2b00 cmp r3, #0 80bc3d6: d0ee beq.n 80bc3b6 80bc3d8: e014 b.n 80bc404 } } else { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bc3da: f7fb fb23 bl 80b7a24 80bc3de: 6138 str r0, [r7, #16] /* Wait till LSE is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET) 80bc3e0: e00a b.n 80bc3f8 { if ((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) 80bc3e2: f7fb fb1f bl 80b7a24 80bc3e6: 4602 mov r2, r0 80bc3e8: 693b ldr r3, [r7, #16] 80bc3ea: 1ad3 subs r3, r2, r3 80bc3ec: f241 3288 movw r2, #5000 ; 0x1388 80bc3f0: 4293 cmp r3, r2 80bc3f2: d901 bls.n 80bc3f8 { return HAL_TIMEOUT; 80bc3f4: 2303 movs r3, #3 80bc3f6: e0c2 b.n 80bc57e while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET) 80bc3f8: 4b41 ldr r3, [pc, #260] ; (80bc500 ) 80bc3fa: 6f1b ldr r3, [r3, #112] ; 0x70 80bc3fc: f003 0302 and.w r3, r3, #2 80bc400: 2b00 cmp r3, #0 80bc402: d1ee bne.n 80bc3e2 } } } /* Restore clock configuration if changed */ if (pwrclkchanged == SET) 80bc404: 7dfb ldrb r3, [r7, #23] 80bc406: 2b01 cmp r3, #1 80bc408: d105 bne.n 80bc416 { __HAL_RCC_PWR_CLK_DISABLE(); 80bc40a: 4a3d ldr r2, [pc, #244] ; (80bc500 ) 80bc40c: 4b3c ldr r3, [pc, #240] ; (80bc500 ) 80bc40e: 6c1b ldr r3, [r3, #64] ; 0x40 80bc410: f023 5380 bic.w r3, r3, #268435456 ; 0x10000000 80bc414: 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) 80bc416: 687b ldr r3, [r7, #4] 80bc418: 699b ldr r3, [r3, #24] 80bc41a: 2b00 cmp r3, #0 80bc41c: f000 80ae beq.w 80bc57c { /* Check if the PLL is used as system clock or not */ if (__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_SYSCLKSOURCE_STATUS_PLLCLK) 80bc420: 4b37 ldr r3, [pc, #220] ; (80bc500 ) 80bc422: 689b ldr r3, [r3, #8] 80bc424: f003 030c and.w r3, r3, #12 80bc428: 2b08 cmp r3, #8 80bc42a: d06d beq.n 80bc508 { if ((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_ON) 80bc42c: 687b ldr r3, [r7, #4] 80bc42e: 699b ldr r3, [r3, #24] 80bc430: 2b02 cmp r3, #2 80bc432: d14b bne.n 80bc4cc #if defined (RCC_PLLCFGR_PLLR) assert_param(IS_RCC_PLLR_VALUE(RCC_OscInitStruct->PLL.PLLR)); #endif /* Disable the main PLL. */ __HAL_RCC_PLL_DISABLE(); 80bc434: 4a32 ldr r2, [pc, #200] ; (80bc500 ) 80bc436: 4b32 ldr r3, [pc, #200] ; (80bc500 ) 80bc438: 681b ldr r3, [r3, #0] 80bc43a: f023 7380 bic.w r3, r3, #16777216 ; 0x1000000 80bc43e: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bc440: f7fb faf0 bl 80b7a24 80bc444: 6138 str r0, [r7, #16] /* Wait till PLL is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 80bc446: e008 b.n 80bc45a { if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 80bc448: f7fb faec bl 80b7a24 80bc44c: 4602 mov r2, r0 80bc44e: 693b ldr r3, [r7, #16] 80bc450: 1ad3 subs r3, r2, r3 80bc452: 2b02 cmp r3, #2 80bc454: d901 bls.n 80bc45a { return HAL_TIMEOUT; 80bc456: 2303 movs r3, #3 80bc458: e091 b.n 80bc57e while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 80bc45a: 4b29 ldr r3, [pc, #164] ; (80bc500 ) 80bc45c: 681b ldr r3, [r3, #0] 80bc45e: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bc462: 2b00 cmp r3, #0 80bc464: d1f0 bne.n 80bc448 } } /* Configure the main PLL clock source, multiplication and division factors. */ #if defined (RCC_PLLCFGR_PLLR) __HAL_RCC_PLL_CONFIG(RCC_OscInitStruct->PLL.PLLSource, 80bc466: 4926 ldr r1, [pc, #152] ; (80bc500 ) 80bc468: 687b ldr r3, [r7, #4] 80bc46a: 69da ldr r2, [r3, #28] 80bc46c: 687b ldr r3, [r7, #4] 80bc46e: 6a1b ldr r3, [r3, #32] 80bc470: 431a orrs r2, r3 80bc472: 687b ldr r3, [r7, #4] 80bc474: 6a5b ldr r3, [r3, #36] ; 0x24 80bc476: 019b lsls r3, r3, #6 80bc478: 431a orrs r2, r3 80bc47a: 687b ldr r3, [r7, #4] 80bc47c: 6a9b ldr r3, [r3, #40] ; 0x28 80bc47e: 085b lsrs r3, r3, #1 80bc480: 3b01 subs r3, #1 80bc482: 041b lsls r3, r3, #16 80bc484: 431a orrs r2, r3 80bc486: 687b ldr r3, [r7, #4] 80bc488: 6adb ldr r3, [r3, #44] ; 0x2c 80bc48a: 061b lsls r3, r3, #24 80bc48c: 431a orrs r2, r3 80bc48e: 687b ldr r3, [r7, #4] 80bc490: 6b1b ldr r3, [r3, #48] ; 0x30 80bc492: 071b lsls r3, r3, #28 80bc494: 4313 orrs r3, r2 80bc496: 604b str r3, [r1, #4] RCC_OscInitStruct->PLL.PLLP, RCC_OscInitStruct->PLL.PLLQ); #endif /* Enable the main PLL. */ __HAL_RCC_PLL_ENABLE(); 80bc498: 4a19 ldr r2, [pc, #100] ; (80bc500 ) 80bc49a: 4b19 ldr r3, [pc, #100] ; (80bc500 ) 80bc49c: 681b ldr r3, [r3, #0] 80bc49e: f043 7380 orr.w r3, r3, #16777216 ; 0x1000000 80bc4a2: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bc4a4: f7fb fabe bl 80b7a24 80bc4a8: 6138 str r0, [r7, #16] /* Wait till PLL is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) 80bc4aa: e008 b.n 80bc4be { if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 80bc4ac: f7fb faba bl 80b7a24 80bc4b0: 4602 mov r2, r0 80bc4b2: 693b ldr r3, [r7, #16] 80bc4b4: 1ad3 subs r3, r2, r3 80bc4b6: 2b02 cmp r3, #2 80bc4b8: d901 bls.n 80bc4be { return HAL_TIMEOUT; 80bc4ba: 2303 movs r3, #3 80bc4bc: e05f b.n 80bc57e while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) 80bc4be: 4b10 ldr r3, [pc, #64] ; (80bc500 ) 80bc4c0: 681b ldr r3, [r3, #0] 80bc4c2: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bc4c6: 2b00 cmp r3, #0 80bc4c8: d0f0 beq.n 80bc4ac 80bc4ca: e057 b.n 80bc57c } } else { /* Disable the main PLL. */ __HAL_RCC_PLL_DISABLE(); 80bc4cc: 4a0c ldr r2, [pc, #48] ; (80bc500 ) 80bc4ce: 4b0c ldr r3, [pc, #48] ; (80bc500 ) 80bc4d0: 681b ldr r3, [r3, #0] 80bc4d2: f023 7380 bic.w r3, r3, #16777216 ; 0x1000000 80bc4d6: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bc4d8: f7fb faa4 bl 80b7a24 80bc4dc: 6138 str r0, [r7, #16] /* Wait till PLL is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 80bc4de: e008 b.n 80bc4f2 { if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 80bc4e0: f7fb faa0 bl 80b7a24 80bc4e4: 4602 mov r2, r0 80bc4e6: 693b ldr r3, [r7, #16] 80bc4e8: 1ad3 subs r3, r2, r3 80bc4ea: 2b02 cmp r3, #2 80bc4ec: d901 bls.n 80bc4f2 { return HAL_TIMEOUT; 80bc4ee: 2303 movs r3, #3 80bc4f0: e045 b.n 80bc57e while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 80bc4f2: 4b03 ldr r3, [pc, #12] ; (80bc500 ) 80bc4f4: 681b ldr r3, [r3, #0] 80bc4f6: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bc4fa: 2b00 cmp r3, #0 80bc4fc: d1f0 bne.n 80bc4e0 80bc4fe: e03d b.n 80bc57c 80bc500: 40023800 .word 0x40023800 80bc504: 40007000 .word 0x40007000 } } else { /* Do not return HAL_ERROR if request repeats the current configuration */ pll_config = RCC->PLLCFGR; 80bc508: 4b1f ldr r3, [pc, #124] ; (80bc588 ) 80bc50a: 685b ldr r3, [r3, #4] 80bc50c: 60fb str r3, [r7, #12] #if defined (RCC_PLLCFGR_PLLR) if (((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) || 80bc50e: 687b ldr r3, [r7, #4] 80bc510: 699b ldr r3, [r3, #24] 80bc512: 2b01 cmp r3, #1 80bc514: d030 beq.n 80bc578 (READ_BIT(pll_config, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 80bc516: 68fb ldr r3, [r7, #12] 80bc518: f403 0280 and.w r2, r3, #4194304 ; 0x400000 80bc51c: 687b ldr r3, [r7, #4] 80bc51e: 69db ldr r3, [r3, #28] if (((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) || 80bc520: 429a cmp r2, r3 80bc522: d129 bne.n 80bc578 (READ_BIT(pll_config, RCC_PLLCFGR_PLLM) != RCC_OscInitStruct->PLL.PLLM) || 80bc524: 68fb ldr r3, [r7, #12] 80bc526: f003 023f and.w r2, r3, #63 ; 0x3f 80bc52a: 687b ldr r3, [r7, #4] 80bc52c: 6a1b ldr r3, [r3, #32] (READ_BIT(pll_config, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 80bc52e: 429a cmp r2, r3 80bc530: d122 bne.n 80bc578 (READ_BIT(pll_config, RCC_PLLCFGR_PLLN) != (RCC_OscInitStruct->PLL.PLLN << RCC_PLLCFGR_PLLN_Pos)) || 80bc532: 68fa ldr r2, [r7, #12] 80bc534: f647 73c0 movw r3, #32704 ; 0x7fc0 80bc538: 4013 ands r3, r2 80bc53a: 687a ldr r2, [r7, #4] 80bc53c: 6a52 ldr r2, [r2, #36] ; 0x24 80bc53e: 0192 lsls r2, r2, #6 (READ_BIT(pll_config, RCC_PLLCFGR_PLLM) != RCC_OscInitStruct->PLL.PLLM) || 80bc540: 4293 cmp r3, r2 80bc542: d119 bne.n 80bc578 (READ_BIT(pll_config, RCC_PLLCFGR_PLLP) != ((((RCC_OscInitStruct->PLL.PLLP) >> 1U) - 1U) << RCC_PLLCFGR_PLLP_Pos)) || 80bc544: 68fb ldr r3, [r7, #12] 80bc546: f403 3240 and.w r2, r3, #196608 ; 0x30000 80bc54a: 687b ldr r3, [r7, #4] 80bc54c: 6a9b ldr r3, [r3, #40] ; 0x28 80bc54e: 085b lsrs r3, r3, #1 80bc550: 3b01 subs r3, #1 80bc552: 041b lsls r3, r3, #16 (READ_BIT(pll_config, RCC_PLLCFGR_PLLN) != (RCC_OscInitStruct->PLL.PLLN << RCC_PLLCFGR_PLLN_Pos)) || 80bc554: 429a cmp r2, r3 80bc556: d10f bne.n 80bc578 (READ_BIT(pll_config, RCC_PLLCFGR_PLLQ) != (RCC_OscInitStruct->PLL.PLLQ << RCC_PLLCFGR_PLLQ_Pos)) || 80bc558: 68fb ldr r3, [r7, #12] 80bc55a: f003 6270 and.w r2, r3, #251658240 ; 0xf000000 80bc55e: 687b ldr r3, [r7, #4] 80bc560: 6adb ldr r3, [r3, #44] ; 0x2c 80bc562: 061b lsls r3, r3, #24 (READ_BIT(pll_config, RCC_PLLCFGR_PLLP) != ((((RCC_OscInitStruct->PLL.PLLP) >> 1U) - 1U) << RCC_PLLCFGR_PLLP_Pos)) || 80bc564: 429a cmp r2, r3 80bc566: d107 bne.n 80bc578 (READ_BIT(pll_config, RCC_PLLCFGR_PLLR) != (RCC_OscInitStruct->PLL.PLLR << RCC_PLLCFGR_PLLR_Pos))) 80bc568: 68fb ldr r3, [r7, #12] 80bc56a: f003 42e0 and.w r2, r3, #1879048192 ; 0x70000000 80bc56e: 687b ldr r3, [r7, #4] 80bc570: 6b1b ldr r3, [r3, #48] ; 0x30 80bc572: 071b lsls r3, r3, #28 (READ_BIT(pll_config, RCC_PLLCFGR_PLLQ) != (RCC_OscInitStruct->PLL.PLLQ << RCC_PLLCFGR_PLLQ_Pos)) || 80bc574: 429a cmp r2, r3 80bc576: d001 beq.n 80bc57c (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; 80bc578: 2301 movs r3, #1 80bc57a: e000 b.n 80bc57e } } } return HAL_OK; 80bc57c: 2300 movs r3, #0 } 80bc57e: 4618 mov r0, r3 80bc580: 3718 adds r7, #24 80bc582: 46bd mov sp, r7 80bc584: bd80 pop {r7, pc} 80bc586: bf00 nop 80bc588: 40023800 .word 0x40023800 080bc58c : * 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) { 80bc58c: b580 push {r7, lr} 80bc58e: b084 sub sp, #16 80bc590: af00 add r7, sp, #0 80bc592: 6078 str r0, [r7, #4] 80bc594: 6039 str r1, [r7, #0] uint32_t tickstart = 0; 80bc596: 2300 movs r3, #0 80bc598: 60fb str r3, [r7, #12] /* Check Null pointer */ if (RCC_ClkInitStruct == NULL) 80bc59a: 687b ldr r3, [r7, #4] 80bc59c: 2b00 cmp r3, #0 80bc59e: d101 bne.n 80bc5a4 { return HAL_ERROR; 80bc5a0: 2301 movs r3, #1 80bc5a2: e0d0 b.n 80bc746 /* 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()) 80bc5a4: 4b6a ldr r3, [pc, #424] ; (80bc750 ) 80bc5a6: 681b ldr r3, [r3, #0] 80bc5a8: f003 020f and.w r2, r3, #15 80bc5ac: 683b ldr r3, [r7, #0] 80bc5ae: 429a cmp r2, r3 80bc5b0: d210 bcs.n 80bc5d4 { /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ __HAL_FLASH_SET_LATENCY(FLatency); 80bc5b2: 4967 ldr r1, [pc, #412] ; (80bc750 ) 80bc5b4: 4b66 ldr r3, [pc, #408] ; (80bc750 ) 80bc5b6: 681b ldr r3, [r3, #0] 80bc5b8: f023 020f bic.w r2, r3, #15 80bc5bc: 683b ldr r3, [r7, #0] 80bc5be: 4313 orrs r3, r2 80bc5c0: 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) 80bc5c2: 4b63 ldr r3, [pc, #396] ; (80bc750 ) 80bc5c4: 681b ldr r3, [r3, #0] 80bc5c6: f003 020f and.w r2, r3, #15 80bc5ca: 683b ldr r3, [r7, #0] 80bc5cc: 429a cmp r2, r3 80bc5ce: d001 beq.n 80bc5d4 { return HAL_ERROR; 80bc5d0: 2301 movs r3, #1 80bc5d2: e0b8 b.n 80bc746 } } /*-------------------------- HCLK Configuration --------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) 80bc5d4: 687b ldr r3, [r7, #4] 80bc5d6: 681b ldr r3, [r3, #0] 80bc5d8: f003 0302 and.w r3, r3, #2 80bc5dc: 2b00 cmp r3, #0 80bc5de: d020 beq.n 80bc622 { /* 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) 80bc5e0: 687b ldr r3, [r7, #4] 80bc5e2: 681b ldr r3, [r3, #0] 80bc5e4: f003 0304 and.w r3, r3, #4 80bc5e8: 2b00 cmp r3, #0 80bc5ea: d005 beq.n 80bc5f8 { MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_HCLK_DIV16); 80bc5ec: 4a59 ldr r2, [pc, #356] ; (80bc754 ) 80bc5ee: 4b59 ldr r3, [pc, #356] ; (80bc754 ) 80bc5f0: 689b ldr r3, [r3, #8] 80bc5f2: f443 53e0 orr.w r3, r3, #7168 ; 0x1c00 80bc5f6: 6093 str r3, [r2, #8] } if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) 80bc5f8: 687b ldr r3, [r7, #4] 80bc5fa: 681b ldr r3, [r3, #0] 80bc5fc: f003 0308 and.w r3, r3, #8 80bc600: 2b00 cmp r3, #0 80bc602: d005 beq.n 80bc610 { MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, (RCC_HCLK_DIV16 << 3)); 80bc604: 4a53 ldr r2, [pc, #332] ; (80bc754 ) 80bc606: 4b53 ldr r3, [pc, #332] ; (80bc754 ) 80bc608: 689b ldr r3, [r3, #8] 80bc60a: f443 4360 orr.w r3, r3, #57344 ; 0xe000 80bc60e: 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); 80bc610: 4950 ldr r1, [pc, #320] ; (80bc754 ) 80bc612: 4b50 ldr r3, [pc, #320] ; (80bc754 ) 80bc614: 689b ldr r3, [r3, #8] 80bc616: f023 02f0 bic.w r2, r3, #240 ; 0xf0 80bc61a: 687b ldr r3, [r7, #4] 80bc61c: 689b ldr r3, [r3, #8] 80bc61e: 4313 orrs r3, r2 80bc620: 608b str r3, [r1, #8] } /*------------------------- SYSCLK Configuration ---------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK) 80bc622: 687b ldr r3, [r7, #4] 80bc624: 681b ldr r3, [r3, #0] 80bc626: f003 0301 and.w r3, r3, #1 80bc62a: 2b00 cmp r3, #0 80bc62c: d040 beq.n 80bc6b0 { assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource)); /* HSE is selected as System Clock Source */ if (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE) 80bc62e: 687b ldr r3, [r7, #4] 80bc630: 685b ldr r3, [r3, #4] 80bc632: 2b01 cmp r3, #1 80bc634: d107 bne.n 80bc646 { /* Check the HSE ready flag */ if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) 80bc636: 4b47 ldr r3, [pc, #284] ; (80bc754 ) 80bc638: 681b ldr r3, [r3, #0] 80bc63a: f403 3300 and.w r3, r3, #131072 ; 0x20000 80bc63e: 2b00 cmp r3, #0 80bc640: d115 bne.n 80bc66e { return HAL_ERROR; 80bc642: 2301 movs r3, #1 80bc644: e07f b.n 80bc746 } } /* PLL is selected as System Clock Source */ else if (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK) 80bc646: 687b ldr r3, [r7, #4] 80bc648: 685b ldr r3, [r3, #4] 80bc64a: 2b02 cmp r3, #2 80bc64c: d107 bne.n 80bc65e { /* Check the PLL ready flag */ if (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) 80bc64e: 4b41 ldr r3, [pc, #260] ; (80bc754 ) 80bc650: 681b ldr r3, [r3, #0] 80bc652: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bc656: 2b00 cmp r3, #0 80bc658: d109 bne.n 80bc66e { return HAL_ERROR; 80bc65a: 2301 movs r3, #1 80bc65c: e073 b.n 80bc746 } /* HSI is selected as System Clock Source */ else { /* Check the HSI ready flag */ if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) 80bc65e: 4b3d ldr r3, [pc, #244] ; (80bc754 ) 80bc660: 681b ldr r3, [r3, #0] 80bc662: f003 0302 and.w r3, r3, #2 80bc666: 2b00 cmp r3, #0 80bc668: d101 bne.n 80bc66e { return HAL_ERROR; 80bc66a: 2301 movs r3, #1 80bc66c: e06b b.n 80bc746 } } __HAL_RCC_SYSCLK_CONFIG(RCC_ClkInitStruct->SYSCLKSource); 80bc66e: 4939 ldr r1, [pc, #228] ; (80bc754 ) 80bc670: 4b38 ldr r3, [pc, #224] ; (80bc754 ) 80bc672: 689b ldr r3, [r3, #8] 80bc674: f023 0203 bic.w r2, r3, #3 80bc678: 687b ldr r3, [r7, #4] 80bc67a: 685b ldr r3, [r3, #4] 80bc67c: 4313 orrs r3, r2 80bc67e: 608b str r3, [r1, #8] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bc680: f7fb f9d0 bl 80b7a24 80bc684: 60f8 str r0, [r7, #12] while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) 80bc686: e00a b.n 80bc69e { if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE) 80bc688: f7fb f9cc bl 80b7a24 80bc68c: 4602 mov r2, r0 80bc68e: 68fb ldr r3, [r7, #12] 80bc690: 1ad3 subs r3, r2, r3 80bc692: f241 3288 movw r2, #5000 ; 0x1388 80bc696: 4293 cmp r3, r2 80bc698: d901 bls.n 80bc69e { return HAL_TIMEOUT; 80bc69a: 2303 movs r3, #3 80bc69c: e053 b.n 80bc746 while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) 80bc69e: 4b2d ldr r3, [pc, #180] ; (80bc754 ) 80bc6a0: 689b ldr r3, [r3, #8] 80bc6a2: f003 020c and.w r2, r3, #12 80bc6a6: 687b ldr r3, [r7, #4] 80bc6a8: 685b ldr r3, [r3, #4] 80bc6aa: 009b lsls r3, r3, #2 80bc6ac: 429a cmp r2, r3 80bc6ae: d1eb bne.n 80bc688 } } } /* Decreasing the number of wait states because of lower CPU frequency */ if (FLatency < __HAL_FLASH_GET_LATENCY()) 80bc6b0: 4b27 ldr r3, [pc, #156] ; (80bc750 ) 80bc6b2: 681b ldr r3, [r3, #0] 80bc6b4: f003 020f and.w r2, r3, #15 80bc6b8: 683b ldr r3, [r7, #0] 80bc6ba: 429a cmp r2, r3 80bc6bc: d910 bls.n 80bc6e0 { /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ __HAL_FLASH_SET_LATENCY(FLatency); 80bc6be: 4924 ldr r1, [pc, #144] ; (80bc750 ) 80bc6c0: 4b23 ldr r3, [pc, #140] ; (80bc750 ) 80bc6c2: 681b ldr r3, [r3, #0] 80bc6c4: f023 020f bic.w r2, r3, #15 80bc6c8: 683b ldr r3, [r7, #0] 80bc6ca: 4313 orrs r3, r2 80bc6cc: 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) 80bc6ce: 4b20 ldr r3, [pc, #128] ; (80bc750 ) 80bc6d0: 681b ldr r3, [r3, #0] 80bc6d2: f003 020f and.w r2, r3, #15 80bc6d6: 683b ldr r3, [r7, #0] 80bc6d8: 429a cmp r2, r3 80bc6da: d001 beq.n 80bc6e0 { return HAL_ERROR; 80bc6dc: 2301 movs r3, #1 80bc6de: e032 b.n 80bc746 } } /*-------------------------- PCLK1 Configuration ---------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) 80bc6e0: 687b ldr r3, [r7, #4] 80bc6e2: 681b ldr r3, [r3, #0] 80bc6e4: f003 0304 and.w r3, r3, #4 80bc6e8: 2b00 cmp r3, #0 80bc6ea: d008 beq.n 80bc6fe { assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB1CLKDivider)); MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_ClkInitStruct->APB1CLKDivider); 80bc6ec: 4919 ldr r1, [pc, #100] ; (80bc754 ) 80bc6ee: 4b19 ldr r3, [pc, #100] ; (80bc754 ) 80bc6f0: 689b ldr r3, [r3, #8] 80bc6f2: f423 52e0 bic.w r2, r3, #7168 ; 0x1c00 80bc6f6: 687b ldr r3, [r7, #4] 80bc6f8: 68db ldr r3, [r3, #12] 80bc6fa: 4313 orrs r3, r2 80bc6fc: 608b str r3, [r1, #8] } /*-------------------------- PCLK2 Configuration ---------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) 80bc6fe: 687b ldr r3, [r7, #4] 80bc700: 681b ldr r3, [r3, #0] 80bc702: f003 0308 and.w r3, r3, #8 80bc706: 2b00 cmp r3, #0 80bc708: d009 beq.n 80bc71e { assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB2CLKDivider)); MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, ((RCC_ClkInitStruct->APB2CLKDivider) << 3)); 80bc70a: 4912 ldr r1, [pc, #72] ; (80bc754 ) 80bc70c: 4b11 ldr r3, [pc, #68] ; (80bc754 ) 80bc70e: 689b ldr r3, [r3, #8] 80bc710: f423 4260 bic.w r2, r3, #57344 ; 0xe000 80bc714: 687b ldr r3, [r7, #4] 80bc716: 691b ldr r3, [r3, #16] 80bc718: 00db lsls r3, r3, #3 80bc71a: 4313 orrs r3, r2 80bc71c: 608b str r3, [r1, #8] } /* Update the SystemCoreClock global variable */ SystemCoreClock = HAL_RCC_GetSysClockFreq() >> AHBPrescTable[(RCC->CFGR & RCC_CFGR_HPRE) >> RCC_CFGR_HPRE_Pos]; 80bc71e: f000 f821 bl 80bc764 80bc722: 4601 mov r1, r0 80bc724: 4b0b ldr r3, [pc, #44] ; (80bc754 ) 80bc726: 689b ldr r3, [r3, #8] 80bc728: 091b lsrs r3, r3, #4 80bc72a: f003 030f and.w r3, r3, #15 80bc72e: 4a0a ldr r2, [pc, #40] ; (80bc758 ) 80bc730: 5cd3 ldrb r3, [r2, r3] 80bc732: fa21 f303 lsr.w r3, r1, r3 80bc736: 4a09 ldr r2, [pc, #36] ; (80bc75c ) 80bc738: 6013 str r3, [r2, #0] /* Configure the source of time base considering new system clocks settings*/ HAL_InitTick(uwTickPrio); 80bc73a: 4b09 ldr r3, [pc, #36] ; (80bc760 ) 80bc73c: 681b ldr r3, [r3, #0] 80bc73e: 4618 mov r0, r3 80bc740: f7fb f92c bl 80b799c return HAL_OK; 80bc744: 2300 movs r3, #0 } 80bc746: 4618 mov r0, r3 80bc748: 3710 adds r7, #16 80bc74a: 46bd mov sp, r7 80bc74c: bd80 pop {r7, pc} 80bc74e: bf00 nop 80bc750: 40023c00 .word 0x40023c00 80bc754: 40023800 .word 0x40023800 80bc758: 080f6244 .word 0x080f6244 80bc75c: 200209bc .word 0x200209bc 80bc760: 200209e0 .word 0x200209e0 080bc764 : * * * @retval SYSCLK frequency */ uint32_t HAL_RCC_GetSysClockFreq(void) { 80bc764: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80bc768: b087 sub sp, #28 80bc76a: af00 add r7, sp, #0 uint32_t pllm = 0, pllvco = 0, pllp = 0; 80bc76c: 2200 movs r2, #0 80bc76e: 60fa str r2, [r7, #12] 80bc770: 2200 movs r2, #0 80bc772: 617a str r2, [r7, #20] 80bc774: 2200 movs r2, #0 80bc776: 60ba str r2, [r7, #8] uint32_t sysclockfreq = 0; 80bc778: 2200 movs r2, #0 80bc77a: 613a str r2, [r7, #16] /* Get SYSCLK source -------------------------------------------------------*/ switch (RCC->CFGR & RCC_CFGR_SWS) 80bc77c: 4a51 ldr r2, [pc, #324] ; (80bc8c4 ) 80bc77e: 6892 ldr r2, [r2, #8] 80bc780: f002 020c and.w r2, r2, #12 80bc784: 2a04 cmp r2, #4 80bc786: d007 beq.n 80bc798 80bc788: 2a08 cmp r2, #8 80bc78a: d008 beq.n 80bc79e 80bc78c: 2a00 cmp r2, #0 80bc78e: f040 8090 bne.w 80bc8b2 { case RCC_SYSCLKSOURCE_STATUS_HSI: /* HSI used as system clock source */ { sysclockfreq = HSI_VALUE; 80bc792: 4b4d ldr r3, [pc, #308] ; (80bc8c8 ) 80bc794: 613b str r3, [r7, #16] break; 80bc796: e08f b.n 80bc8b8 } case RCC_SYSCLKSOURCE_STATUS_HSE: /* HSE used as system clock source */ { sysclockfreq = HSE_VALUE; 80bc798: 4b4c ldr r3, [pc, #304] ; (80bc8cc ) 80bc79a: 613b str r3, [r7, #16] break; 80bc79c: e08c b.n 80bc8b8 } 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; 80bc79e: 4a49 ldr r2, [pc, #292] ; (80bc8c4 ) 80bc7a0: 6852 ldr r2, [r2, #4] 80bc7a2: f002 023f and.w r2, r2, #63 ; 0x3f 80bc7a6: 60fa str r2, [r7, #12] if (__HAL_RCC_GET_PLL_OSCSOURCE() != RCC_PLLCFGR_PLLSRC_HSI) 80bc7a8: 4a46 ldr r2, [pc, #280] ; (80bc8c4 ) 80bc7aa: 6852 ldr r2, [r2, #4] 80bc7ac: f402 0280 and.w r2, r2, #4194304 ; 0x400000 80bc7b0: 2a00 cmp r2, #0 80bc7b2: d023 beq.n 80bc7fc { /* 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); 80bc7b4: 4b43 ldr r3, [pc, #268] ; (80bc8c4 ) 80bc7b6: 685b ldr r3, [r3, #4] 80bc7b8: 099b lsrs r3, r3, #6 80bc7ba: f04f 0400 mov.w r4, #0 80bc7be: f240 11ff movw r1, #511 ; 0x1ff 80bc7c2: f04f 0200 mov.w r2, #0 80bc7c6: ea03 0301 and.w r3, r3, r1 80bc7ca: ea04 0402 and.w r4, r4, r2 80bc7ce: 4a3f ldr r2, [pc, #252] ; (80bc8cc ) 80bc7d0: fb02 f104 mul.w r1, r2, r4 80bc7d4: 2200 movs r2, #0 80bc7d6: fb02 f203 mul.w r2, r2, r3 80bc7da: 440a add r2, r1 80bc7dc: 493b ldr r1, [pc, #236] ; (80bc8cc ) 80bc7de: fba3 0101 umull r0, r1, r3, r1 80bc7e2: 1853 adds r3, r2, r1 80bc7e4: 4619 mov r1, r3 80bc7e6: 68fb ldr r3, [r7, #12] 80bc7e8: f04f 0400 mov.w r4, #0 80bc7ec: 461a mov r2, r3 80bc7ee: 4623 mov r3, r4 80bc7f0: f763 fefc bl 80205ec <__aeabi_uldivmod> 80bc7f4: 4603 mov r3, r0 80bc7f6: 460c mov r4, r1 80bc7f8: 617b str r3, [r7, #20] 80bc7fa: e04c b.n 80bc896 } 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); 80bc7fc: 4a31 ldr r2, [pc, #196] ; (80bc8c4 ) 80bc7fe: 6852 ldr r2, [r2, #4] 80bc800: 0992 lsrs r2, r2, #6 80bc802: 4611 mov r1, r2 80bc804: f04f 0200 mov.w r2, #0 80bc808: f240 15ff movw r5, #511 ; 0x1ff 80bc80c: f04f 0600 mov.w r6, #0 80bc810: ea05 0501 and.w r5, r5, r1 80bc814: ea06 0602 and.w r6, r6, r2 80bc818: 4629 mov r1, r5 80bc81a: 4632 mov r2, r6 80bc81c: ea4f 1b42 mov.w fp, r2, lsl #5 80bc820: ea4b 6bd1 orr.w fp, fp, r1, lsr #27 80bc824: ea4f 1a41 mov.w sl, r1, lsl #5 80bc828: 4651 mov r1, sl 80bc82a: 465a mov r2, fp 80bc82c: 46aa mov sl, r5 80bc82e: 46b3 mov fp, r6 80bc830: 4655 mov r5, sl 80bc832: 465e mov r6, fp 80bc834: 1b4d subs r5, r1, r5 80bc836: eb62 0606 sbc.w r6, r2, r6 80bc83a: 4629 mov r1, r5 80bc83c: 4632 mov r2, r6 80bc83e: 0194 lsls r4, r2, #6 80bc840: ea44 6491 orr.w r4, r4, r1, lsr #26 80bc844: 018b lsls r3, r1, #6 80bc846: 1a5b subs r3, r3, r1 80bc848: eb64 0402 sbc.w r4, r4, r2 80bc84c: ea4f 09c4 mov.w r9, r4, lsl #3 80bc850: ea49 7953 orr.w r9, r9, r3, lsr #29 80bc854: ea4f 08c3 mov.w r8, r3, lsl #3 80bc858: 4643 mov r3, r8 80bc85a: 464c mov r4, r9 80bc85c: 4655 mov r5, sl 80bc85e: 465e mov r6, fp 80bc860: 18ed adds r5, r5, r3 80bc862: eb46 0604 adc.w r6, r6, r4 80bc866: 462b mov r3, r5 80bc868: 4634 mov r4, r6 80bc86a: 02a2 lsls r2, r4, #10 80bc86c: 607a str r2, [r7, #4] 80bc86e: 687a ldr r2, [r7, #4] 80bc870: ea42 5293 orr.w r2, r2, r3, lsr #22 80bc874: 607a str r2, [r7, #4] 80bc876: 029b lsls r3, r3, #10 80bc878: 603b str r3, [r7, #0] 80bc87a: e897 0018 ldmia.w r7, {r3, r4} 80bc87e: 4618 mov r0, r3 80bc880: 4621 mov r1, r4 80bc882: 68fb ldr r3, [r7, #12] 80bc884: f04f 0400 mov.w r4, #0 80bc888: 461a mov r2, r3 80bc88a: 4623 mov r3, r4 80bc88c: f763 feae bl 80205ec <__aeabi_uldivmod> 80bc890: 4603 mov r3, r0 80bc892: 460c mov r4, r1 80bc894: 617b str r3, [r7, #20] } pllp = ((((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >> RCC_PLLCFGR_PLLP_Pos) + 1) * 2); 80bc896: 4b0b ldr r3, [pc, #44] ; (80bc8c4 ) 80bc898: 685b ldr r3, [r3, #4] 80bc89a: 0c1b lsrs r3, r3, #16 80bc89c: f003 0303 and.w r3, r3, #3 80bc8a0: 3301 adds r3, #1 80bc8a2: 005b lsls r3, r3, #1 80bc8a4: 60bb str r3, [r7, #8] sysclockfreq = pllvco / pllp; 80bc8a6: 697a ldr r2, [r7, #20] 80bc8a8: 68bb ldr r3, [r7, #8] 80bc8aa: fbb2 f3f3 udiv r3, r2, r3 80bc8ae: 613b str r3, [r7, #16] break; 80bc8b0: e002 b.n 80bc8b8 } default: { sysclockfreq = HSI_VALUE; 80bc8b2: 4b05 ldr r3, [pc, #20] ; (80bc8c8 ) 80bc8b4: 613b str r3, [r7, #16] break; 80bc8b6: bf00 nop } } return sysclockfreq; 80bc8b8: 693b ldr r3, [r7, #16] } 80bc8ba: 4618 mov r0, r3 80bc8bc: 371c adds r7, #28 80bc8be: 46bd mov sp, r7 80bc8c0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80bc8c4: 40023800 .word 0x40023800 80bc8c8: 00f42400 .word 0x00f42400 80bc8cc: 017d7840 .word 0x017d7840 080bc8d0 : * 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) { 80bc8d0: b480 push {r7} 80bc8d2: af00 add r7, sp, #0 return SystemCoreClock; 80bc8d4: 4b03 ldr r3, [pc, #12] ; (80bc8e4 ) 80bc8d6: 681b ldr r3, [r3, #0] } 80bc8d8: 4618 mov r0, r3 80bc8da: 46bd mov sp, r7 80bc8dc: f85d 7b04 ldr.w r7, [sp], #4 80bc8e0: 4770 bx lr 80bc8e2: bf00 nop 80bc8e4: 200209bc .word 0x200209bc 080bc8e8 : * the backup registers) are set to their reset values. * * @retval HAL status */ HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit) { 80bc8e8: b580 push {r7, lr} 80bc8ea: b088 sub sp, #32 80bc8ec: af00 add r7, sp, #0 80bc8ee: 6078 str r0, [r7, #4] uint32_t tickstart = 0; 80bc8f0: 2300 movs r3, #0 80bc8f2: 617b str r3, [r7, #20] uint32_t tmpreg0 = 0; 80bc8f4: 2300 movs r3, #0 80bc8f6: 613b str r3, [r7, #16] uint32_t tmpreg1 = 0; 80bc8f8: 2300 movs r3, #0 80bc8fa: 60fb str r3, [r7, #12] uint32_t plli2sused = 0; 80bc8fc: 2300 movs r3, #0 80bc8fe: 61fb str r3, [r7, #28] uint32_t pllsaiused = 0; 80bc900: 2300 movs r3, #0 80bc902: 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)) 80bc904: 687b ldr r3, [r7, #4] 80bc906: 681b ldr r3, [r3, #0] 80bc908: f003 0301 and.w r3, r3, #1 80bc90c: 2b00 cmp r3, #0 80bc90e: d012 beq.n 80bc936 { /* Check the parameters */ assert_param(IS_RCC_I2SCLKSOURCE(PeriphClkInit->I2sClockSelection)); /* Configure I2S Clock source */ __HAL_RCC_I2S_CONFIG(PeriphClkInit->I2sClockSelection); 80bc910: 4a69 ldr r2, [pc, #420] ; (80bcab8 ) 80bc912: 4b69 ldr r3, [pc, #420] ; (80bcab8 ) 80bc914: 689b ldr r3, [r3, #8] 80bc916: f423 0300 bic.w r3, r3, #8388608 ; 0x800000 80bc91a: 6093 str r3, [r2, #8] 80bc91c: 4966 ldr r1, [pc, #408] ; (80bcab8 ) 80bc91e: 4b66 ldr r3, [pc, #408] ; (80bcab8 ) 80bc920: 689a ldr r2, [r3, #8] 80bc922: 687b ldr r3, [r7, #4] 80bc924: 6b5b ldr r3, [r3, #52] ; 0x34 80bc926: 4313 orrs r3, r2 80bc928: 608b str r3, [r1, #8] /* Enable the PLLI2S when it's used as clock source for I2S */ if(PeriphClkInit->I2sClockSelection == RCC_I2SCLKSOURCE_PLLI2S) 80bc92a: 687b ldr r3, [r7, #4] 80bc92c: 6b5b ldr r3, [r3, #52] ; 0x34 80bc92e: 2b00 cmp r3, #0 80bc930: d101 bne.n 80bc936 { plli2sused = 1; 80bc932: 2301 movs r3, #1 80bc934: 61fb str r3, [r7, #28] } } /*------------------------------------ SAI1 configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == (RCC_PERIPHCLK_SAI1)) 80bc936: 687b ldr r3, [r7, #4] 80bc938: 681b ldr r3, [r3, #0] 80bc93a: f403 2300 and.w r3, r3, #524288 ; 0x80000 80bc93e: 2b00 cmp r3, #0 80bc940: d017 beq.n 80bc972 { /* Check the parameters */ assert_param(IS_RCC_SAI1CLKSOURCE(PeriphClkInit->Sai1ClockSelection)); /* Configure SAI1 Clock source */ __HAL_RCC_SAI1_CONFIG(PeriphClkInit->Sai1ClockSelection); 80bc942: 495d ldr r1, [pc, #372] ; (80bcab8 ) 80bc944: 4b5c ldr r3, [pc, #368] ; (80bcab8 ) 80bc946: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80bc94a: f423 1240 bic.w r2, r3, #3145728 ; 0x300000 80bc94e: 687b ldr r3, [r7, #4] 80bc950: 6bdb ldr r3, [r3, #60] ; 0x3c 80bc952: 4313 orrs r3, r2 80bc954: 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) 80bc958: 687b ldr r3, [r7, #4] 80bc95a: 6bdb ldr r3, [r3, #60] ; 0x3c 80bc95c: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80bc960: d101 bne.n 80bc966 { plli2sused = 1; 80bc962: 2301 movs r3, #1 80bc964: 61fb str r3, [r7, #28] } /* Enable the PLLSAI when it's used as clock source for SAI */ if(PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI) 80bc966: 687b ldr r3, [r7, #4] 80bc968: 6bdb ldr r3, [r3, #60] ; 0x3c 80bc96a: 2b00 cmp r3, #0 80bc96c: d101 bne.n 80bc972 { pllsaiused = 1; 80bc96e: 2301 movs r3, #1 80bc970: 61bb str r3, [r7, #24] } } /*------------------------------------ SAI2 configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == (RCC_PERIPHCLK_SAI2)) 80bc972: 687b ldr r3, [r7, #4] 80bc974: 681b ldr r3, [r3, #0] 80bc976: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80bc97a: 2b00 cmp r3, #0 80bc97c: d017 beq.n 80bc9ae { /* Check the parameters */ assert_param(IS_RCC_SAI2CLKSOURCE(PeriphClkInit->Sai2ClockSelection)); /* Configure SAI2 Clock source */ __HAL_RCC_SAI2_CONFIG(PeriphClkInit->Sai2ClockSelection); 80bc97e: 494e ldr r1, [pc, #312] ; (80bcab8 ) 80bc980: 4b4d ldr r3, [pc, #308] ; (80bcab8 ) 80bc982: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80bc986: f423 0240 bic.w r2, r3, #12582912 ; 0xc00000 80bc98a: 687b ldr r3, [r7, #4] 80bc98c: 6c1b ldr r3, [r3, #64] ; 0x40 80bc98e: 4313 orrs r3, r2 80bc990: 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) 80bc994: 687b ldr r3, [r7, #4] 80bc996: 6c1b ldr r3, [r3, #64] ; 0x40 80bc998: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 80bc99c: d101 bne.n 80bc9a2 { plli2sused = 1; 80bc99e: 2301 movs r3, #1 80bc9a0: 61fb str r3, [r7, #28] } /* Enable the PLLSAI when it's used as clock source for SAI */ if(PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI) 80bc9a2: 687b ldr r3, [r7, #4] 80bc9a4: 6c1b ldr r3, [r3, #64] ; 0x40 80bc9a6: 2b00 cmp r3, #0 80bc9a8: d101 bne.n 80bc9ae { pllsaiused = 1; 80bc9aa: 2301 movs r3, #1 80bc9ac: 61bb str r3, [r7, #24] } } /*-------------------------------------- SPDIF-RX Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SPDIFRX) == RCC_PERIPHCLK_SPDIFRX) 80bc9ae: 687b ldr r3, [r7, #4] 80bc9b0: 681b ldr r3, [r3, #0] 80bc9b2: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80bc9b6: 2b00 cmp r3, #0 80bc9b8: d001 beq.n 80bc9be { plli2sused = 1; 80bc9ba: 2301 movs r3, #1 80bc9bc: 61fb str r3, [r7, #28] } /*------------------------------------ RTC configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_RTC) == (RCC_PERIPHCLK_RTC)) 80bc9be: 687b ldr r3, [r7, #4] 80bc9c0: 681b ldr r3, [r3, #0] 80bc9c2: f003 0320 and.w r3, r3, #32 80bc9c6: 2b00 cmp r3, #0 80bc9c8: f000 808b beq.w 80bcae2 { /* Check for RTC Parameters used to output RTCCLK */ assert_param(IS_RCC_RTCCLKSOURCE(PeriphClkInit->RTCClockSelection)); /* Enable Power Clock*/ __HAL_RCC_PWR_CLK_ENABLE(); 80bc9cc: 4a3a ldr r2, [pc, #232] ; (80bcab8 ) 80bc9ce: 4b3a ldr r3, [pc, #232] ; (80bcab8 ) 80bc9d0: 6c1b ldr r3, [r3, #64] ; 0x40 80bc9d2: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80bc9d6: 6413 str r3, [r2, #64] ; 0x40 80bc9d8: 4b37 ldr r3, [pc, #220] ; (80bcab8 ) 80bc9da: 6c1b ldr r3, [r3, #64] ; 0x40 80bc9dc: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80bc9e0: 60bb str r3, [r7, #8] 80bc9e2: 68bb ldr r3, [r7, #8] /* Enable write access to Backup domain */ PWR->CR1 |= PWR_CR1_DBP; 80bc9e4: 4a35 ldr r2, [pc, #212] ; (80bcabc ) 80bc9e6: 4b35 ldr r3, [pc, #212] ; (80bcabc ) 80bc9e8: 681b ldr r3, [r3, #0] 80bc9ea: f443 7380 orr.w r3, r3, #256 ; 0x100 80bc9ee: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bc9f0: f7fb f818 bl 80b7a24 80bc9f4: 6178 str r0, [r7, #20] /* Wait for Backup domain Write protection disable */ while((PWR->CR1 & PWR_CR1_DBP) == RESET) 80bc9f6: e008 b.n 80bca0a { if((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE) 80bc9f8: f7fb f814 bl 80b7a24 80bc9fc: 4602 mov r2, r0 80bc9fe: 697b ldr r3, [r7, #20] 80bca00: 1ad3 subs r3, r2, r3 80bca02: 2b64 cmp r3, #100 ; 0x64 80bca04: d901 bls.n 80bca0a { return HAL_TIMEOUT; 80bca06: 2303 movs r3, #3 80bca08: e38d b.n 80bd126 while((PWR->CR1 & PWR_CR1_DBP) == RESET) 80bca0a: 4b2c ldr r3, [pc, #176] ; (80bcabc ) 80bca0c: 681b ldr r3, [r3, #0] 80bca0e: f403 7380 and.w r3, r3, #256 ; 0x100 80bca12: 2b00 cmp r3, #0 80bca14: d0f0 beq.n 80bc9f8 } } /* Reset the Backup domain only if the RTC Clock source selection is modified */ tmpreg0 = (RCC->BDCR & RCC_BDCR_RTCSEL); 80bca16: 4b28 ldr r3, [pc, #160] ; (80bcab8 ) 80bca18: 6f1b ldr r3, [r3, #112] ; 0x70 80bca1a: f403 7340 and.w r3, r3, #768 ; 0x300 80bca1e: 613b str r3, [r7, #16] if((tmpreg0 != 0x00000000U) && (tmpreg0 != (PeriphClkInit->RTCClockSelection & RCC_BDCR_RTCSEL))) 80bca20: 693b ldr r3, [r7, #16] 80bca22: 2b00 cmp r3, #0 80bca24: d035 beq.n 80bca92 80bca26: 687b ldr r3, [r7, #4] 80bca28: 6b1b ldr r3, [r3, #48] ; 0x30 80bca2a: f403 7240 and.w r2, r3, #768 ; 0x300 80bca2e: 693b ldr r3, [r7, #16] 80bca30: 429a cmp r2, r3 80bca32: d02e beq.n 80bca92 { /* Store the content of BDCR register before the reset of Backup Domain */ tmpreg0 = (RCC->BDCR & ~(RCC_BDCR_RTCSEL)); 80bca34: 4b20 ldr r3, [pc, #128] ; (80bcab8 ) 80bca36: 6f1b ldr r3, [r3, #112] ; 0x70 80bca38: f423 7340 bic.w r3, r3, #768 ; 0x300 80bca3c: 613b str r3, [r7, #16] /* RTC Clock selection can be changed only if the Backup Domain is reset */ __HAL_RCC_BACKUPRESET_FORCE(); 80bca3e: 4a1e ldr r2, [pc, #120] ; (80bcab8 ) 80bca40: 4b1d ldr r3, [pc, #116] ; (80bcab8 ) 80bca42: 6f1b ldr r3, [r3, #112] ; 0x70 80bca44: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80bca48: 6713 str r3, [r2, #112] ; 0x70 __HAL_RCC_BACKUPRESET_RELEASE(); 80bca4a: 4a1b ldr r2, [pc, #108] ; (80bcab8 ) 80bca4c: 4b1a ldr r3, [pc, #104] ; (80bcab8 ) 80bca4e: 6f1b ldr r3, [r3, #112] ; 0x70 80bca50: f423 3380 bic.w r3, r3, #65536 ; 0x10000 80bca54: 6713 str r3, [r2, #112] ; 0x70 /* Restore the Content of BDCR register */ RCC->BDCR = tmpreg0; 80bca56: 4a18 ldr r2, [pc, #96] ; (80bcab8 ) 80bca58: 693b ldr r3, [r7, #16] 80bca5a: 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)) 80bca5c: 4b16 ldr r3, [pc, #88] ; (80bcab8 ) 80bca5e: 6f1b ldr r3, [r3, #112] ; 0x70 80bca60: f003 0301 and.w r3, r3, #1 80bca64: 2b01 cmp r3, #1 80bca66: d114 bne.n 80bca92 { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bca68: f7fa ffdc bl 80b7a24 80bca6c: 6178 str r0, [r7, #20] /* Wait till LSE is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 80bca6e: e00a b.n 80bca86 { if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE) 80bca70: f7fa ffd8 bl 80b7a24 80bca74: 4602 mov r2, r0 80bca76: 697b ldr r3, [r7, #20] 80bca78: 1ad3 subs r3, r2, r3 80bca7a: f241 3288 movw r2, #5000 ; 0x1388 80bca7e: 4293 cmp r3, r2 80bca80: d901 bls.n 80bca86 { return HAL_TIMEOUT; 80bca82: 2303 movs r3, #3 80bca84: e34f b.n 80bd126 while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 80bca86: 4b0c ldr r3, [pc, #48] ; (80bcab8 ) 80bca88: 6f1b ldr r3, [r3, #112] ; 0x70 80bca8a: f003 0302 and.w r3, r3, #2 80bca8e: 2b00 cmp r3, #0 80bca90: d0ee beq.n 80bca70 } } } } __HAL_RCC_RTC_CONFIG(PeriphClkInit->RTCClockSelection); 80bca92: 687b ldr r3, [r7, #4] 80bca94: 6b1b ldr r3, [r3, #48] ; 0x30 80bca96: f403 7340 and.w r3, r3, #768 ; 0x300 80bca9a: f5b3 7f40 cmp.w r3, #768 ; 0x300 80bca9e: d111 bne.n 80bcac4 80bcaa0: 4805 ldr r0, [pc, #20] ; (80bcab8 ) 80bcaa2: 4b05 ldr r3, [pc, #20] ; (80bcab8 ) 80bcaa4: 689b ldr r3, [r3, #8] 80bcaa6: f423 12f8 bic.w r2, r3, #2031616 ; 0x1f0000 80bcaaa: 687b ldr r3, [r7, #4] 80bcaac: 6b19 ldr r1, [r3, #48] ; 0x30 80bcaae: 4b04 ldr r3, [pc, #16] ; (80bcac0 ) 80bcab0: 400b ands r3, r1 80bcab2: 4313 orrs r3, r2 80bcab4: 6083 str r3, [r0, #8] 80bcab6: e00b b.n 80bcad0 80bcab8: 40023800 .word 0x40023800 80bcabc: 40007000 .word 0x40007000 80bcac0: 0ffffcff .word 0x0ffffcff 80bcac4: 4ab2 ldr r2, [pc, #712] ; (80bcd90 ) 80bcac6: 4bb2 ldr r3, [pc, #712] ; (80bcd90 ) 80bcac8: 689b ldr r3, [r3, #8] 80bcaca: f423 13f8 bic.w r3, r3, #2031616 ; 0x1f0000 80bcace: 6093 str r3, [r2, #8] 80bcad0: 49af ldr r1, [pc, #700] ; (80bcd90 ) 80bcad2: 4baf ldr r3, [pc, #700] ; (80bcd90 ) 80bcad4: 6f1a ldr r2, [r3, #112] ; 0x70 80bcad6: 687b ldr r3, [r7, #4] 80bcad8: 6b1b ldr r3, [r3, #48] ; 0x30 80bcada: f3c3 030b ubfx r3, r3, #0, #12 80bcade: 4313 orrs r3, r2 80bcae0: 670b str r3, [r1, #112] ; 0x70 } /*------------------------------------ TIM configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_TIM) == (RCC_PERIPHCLK_TIM)) 80bcae2: 687b ldr r3, [r7, #4] 80bcae4: 681b ldr r3, [r3, #0] 80bcae6: f003 0310 and.w r3, r3, #16 80bcaea: 2b00 cmp r3, #0 80bcaec: d010 beq.n 80bcb10 { /* Check the parameters */ assert_param(IS_RCC_TIMPRES(PeriphClkInit->TIMPresSelection)); /* Configure Timer Prescaler */ __HAL_RCC_TIMCLKPRESCALER(PeriphClkInit->TIMPresSelection); 80bcaee: 4aa8 ldr r2, [pc, #672] ; (80bcd90 ) 80bcaf0: 4ba7 ldr r3, [pc, #668] ; (80bcd90 ) 80bcaf2: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80bcaf6: f023 7380 bic.w r3, r3, #16777216 ; 0x1000000 80bcafa: f8c2 308c str.w r3, [r2, #140] ; 0x8c 80bcafe: 49a4 ldr r1, [pc, #656] ; (80bcd90 ) 80bcb00: 4ba3 ldr r3, [pc, #652] ; (80bcd90 ) 80bcb02: f8d3 208c ldr.w r2, [r3, #140] ; 0x8c 80bcb06: 687b ldr r3, [r7, #4] 80bcb08: 6b9b ldr r3, [r3, #56] ; 0x38 80bcb0a: 4313 orrs r3, r2 80bcb0c: f8c1 308c str.w r3, [r1, #140] ; 0x8c } /*-------------------------------------- I2C1 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C1) == RCC_PERIPHCLK_I2C1) 80bcb10: 687b ldr r3, [r7, #4] 80bcb12: 681b ldr r3, [r3, #0] 80bcb14: f403 4380 and.w r3, r3, #16384 ; 0x4000 80bcb18: 2b00 cmp r3, #0 80bcb1a: d00a beq.n 80bcb32 { /* Check the parameters */ assert_param(IS_RCC_I2C1CLKSOURCE(PeriphClkInit->I2c1ClockSelection)); /* Configure the I2C1 clock source */ __HAL_RCC_I2C1_CONFIG(PeriphClkInit->I2c1ClockSelection); 80bcb1c: 499c ldr r1, [pc, #624] ; (80bcd90 ) 80bcb1e: 4b9c ldr r3, [pc, #624] ; (80bcd90 ) 80bcb20: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bcb24: f423 3240 bic.w r2, r3, #196608 ; 0x30000 80bcb28: 687b ldr r3, [r7, #4] 80bcb2a: 6e5b ldr r3, [r3, #100] ; 0x64 80bcb2c: 4313 orrs r3, r2 80bcb2e: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- I2C2 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C2) == RCC_PERIPHCLK_I2C2) 80bcb32: 687b ldr r3, [r7, #4] 80bcb34: 681b ldr r3, [r3, #0] 80bcb36: f403 4300 and.w r3, r3, #32768 ; 0x8000 80bcb3a: 2b00 cmp r3, #0 80bcb3c: d00a beq.n 80bcb54 { /* Check the parameters */ assert_param(IS_RCC_I2C2CLKSOURCE(PeriphClkInit->I2c2ClockSelection)); /* Configure the I2C2 clock source */ __HAL_RCC_I2C2_CONFIG(PeriphClkInit->I2c2ClockSelection); 80bcb3e: 4994 ldr r1, [pc, #592] ; (80bcd90 ) 80bcb40: 4b93 ldr r3, [pc, #588] ; (80bcd90 ) 80bcb42: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bcb46: f423 2240 bic.w r2, r3, #786432 ; 0xc0000 80bcb4a: 687b ldr r3, [r7, #4] 80bcb4c: 6e9b ldr r3, [r3, #104] ; 0x68 80bcb4e: 4313 orrs r3, r2 80bcb50: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- I2C3 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C3) == RCC_PERIPHCLK_I2C3) 80bcb54: 687b ldr r3, [r7, #4] 80bcb56: 681b ldr r3, [r3, #0] 80bcb58: f403 3380 and.w r3, r3, #65536 ; 0x10000 80bcb5c: 2b00 cmp r3, #0 80bcb5e: d00a beq.n 80bcb76 { /* Check the parameters */ assert_param(IS_RCC_I2C3CLKSOURCE(PeriphClkInit->I2c3ClockSelection)); /* Configure the I2C3 clock source */ __HAL_RCC_I2C3_CONFIG(PeriphClkInit->I2c3ClockSelection); 80bcb60: 498b ldr r1, [pc, #556] ; (80bcd90 ) 80bcb62: 4b8b ldr r3, [pc, #556] ; (80bcd90 ) 80bcb64: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bcb68: f423 1240 bic.w r2, r3, #3145728 ; 0x300000 80bcb6c: 687b ldr r3, [r7, #4] 80bcb6e: 6edb ldr r3, [r3, #108] ; 0x6c 80bcb70: 4313 orrs r3, r2 80bcb72: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- I2C4 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C4) == RCC_PERIPHCLK_I2C4) 80bcb76: 687b ldr r3, [r7, #4] 80bcb78: 681b ldr r3, [r3, #0] 80bcb7a: f403 3300 and.w r3, r3, #131072 ; 0x20000 80bcb7e: 2b00 cmp r3, #0 80bcb80: d00a beq.n 80bcb98 { /* Check the parameters */ assert_param(IS_RCC_I2C4CLKSOURCE(PeriphClkInit->I2c4ClockSelection)); /* Configure the I2C4 clock source */ __HAL_RCC_I2C4_CONFIG(PeriphClkInit->I2c4ClockSelection); 80bcb82: 4983 ldr r1, [pc, #524] ; (80bcd90 ) 80bcb84: 4b82 ldr r3, [pc, #520] ; (80bcd90 ) 80bcb86: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bcb8a: f423 0240 bic.w r2, r3, #12582912 ; 0xc00000 80bcb8e: 687b ldr r3, [r7, #4] 80bcb90: 6f1b ldr r3, [r3, #112] ; 0x70 80bcb92: 4313 orrs r3, r2 80bcb94: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART1 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART1) == RCC_PERIPHCLK_USART1) 80bcb98: 687b ldr r3, [r7, #4] 80bcb9a: 681b ldr r3, [r3, #0] 80bcb9c: f003 0340 and.w r3, r3, #64 ; 0x40 80bcba0: 2b00 cmp r3, #0 80bcba2: d00a beq.n 80bcbba { /* Check the parameters */ assert_param(IS_RCC_USART1CLKSOURCE(PeriphClkInit->Usart1ClockSelection)); /* Configure the USART1 clock source */ __HAL_RCC_USART1_CONFIG(PeriphClkInit->Usart1ClockSelection); 80bcba4: 497a ldr r1, [pc, #488] ; (80bcd90 ) 80bcba6: 4b7a ldr r3, [pc, #488] ; (80bcd90 ) 80bcba8: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bcbac: f023 0203 bic.w r2, r3, #3 80bcbb0: 687b ldr r3, [r7, #4] 80bcbb2: 6c5b ldr r3, [r3, #68] ; 0x44 80bcbb4: 4313 orrs r3, r2 80bcbb6: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART2 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART2) == RCC_PERIPHCLK_USART2) 80bcbba: 687b ldr r3, [r7, #4] 80bcbbc: 681b ldr r3, [r3, #0] 80bcbbe: f003 0380 and.w r3, r3, #128 ; 0x80 80bcbc2: 2b00 cmp r3, #0 80bcbc4: d00a beq.n 80bcbdc { /* Check the parameters */ assert_param(IS_RCC_USART2CLKSOURCE(PeriphClkInit->Usart2ClockSelection)); /* Configure the USART2 clock source */ __HAL_RCC_USART2_CONFIG(PeriphClkInit->Usart2ClockSelection); 80bcbc6: 4972 ldr r1, [pc, #456] ; (80bcd90 ) 80bcbc8: 4b71 ldr r3, [pc, #452] ; (80bcd90 ) 80bcbca: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bcbce: f023 020c bic.w r2, r3, #12 80bcbd2: 687b ldr r3, [r7, #4] 80bcbd4: 6c9b ldr r3, [r3, #72] ; 0x48 80bcbd6: 4313 orrs r3, r2 80bcbd8: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART3 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART3) == RCC_PERIPHCLK_USART3) 80bcbdc: 687b ldr r3, [r7, #4] 80bcbde: 681b ldr r3, [r3, #0] 80bcbe0: f403 7380 and.w r3, r3, #256 ; 0x100 80bcbe4: 2b00 cmp r3, #0 80bcbe6: d00a beq.n 80bcbfe { /* Check the parameters */ assert_param(IS_RCC_USART3CLKSOURCE(PeriphClkInit->Usart3ClockSelection)); /* Configure the USART3 clock source */ __HAL_RCC_USART3_CONFIG(PeriphClkInit->Usart3ClockSelection); 80bcbe8: 4969 ldr r1, [pc, #420] ; (80bcd90 ) 80bcbea: 4b69 ldr r3, [pc, #420] ; (80bcd90 ) 80bcbec: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bcbf0: f023 0230 bic.w r2, r3, #48 ; 0x30 80bcbf4: 687b ldr r3, [r7, #4] 80bcbf6: 6cdb ldr r3, [r3, #76] ; 0x4c 80bcbf8: 4313 orrs r3, r2 80bcbfa: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART4 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART4) == RCC_PERIPHCLK_UART4) 80bcbfe: 687b ldr r3, [r7, #4] 80bcc00: 681b ldr r3, [r3, #0] 80bcc02: f403 7300 and.w r3, r3, #512 ; 0x200 80bcc06: 2b00 cmp r3, #0 80bcc08: d00a beq.n 80bcc20 { /* Check the parameters */ assert_param(IS_RCC_UART4CLKSOURCE(PeriphClkInit->Uart4ClockSelection)); /* Configure the UART4 clock source */ __HAL_RCC_UART4_CONFIG(PeriphClkInit->Uart4ClockSelection); 80bcc0a: 4961 ldr r1, [pc, #388] ; (80bcd90 ) 80bcc0c: 4b60 ldr r3, [pc, #384] ; (80bcd90 ) 80bcc0e: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bcc12: f023 02c0 bic.w r2, r3, #192 ; 0xc0 80bcc16: 687b ldr r3, [r7, #4] 80bcc18: 6d1b ldr r3, [r3, #80] ; 0x50 80bcc1a: 4313 orrs r3, r2 80bcc1c: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART5 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART5) == RCC_PERIPHCLK_UART5) 80bcc20: 687b ldr r3, [r7, #4] 80bcc22: 681b ldr r3, [r3, #0] 80bcc24: f403 6380 and.w r3, r3, #1024 ; 0x400 80bcc28: 2b00 cmp r3, #0 80bcc2a: d00a beq.n 80bcc42 { /* Check the parameters */ assert_param(IS_RCC_UART5CLKSOURCE(PeriphClkInit->Uart5ClockSelection)); /* Configure the UART5 clock source */ __HAL_RCC_UART5_CONFIG(PeriphClkInit->Uart5ClockSelection); 80bcc2c: 4958 ldr r1, [pc, #352] ; (80bcd90 ) 80bcc2e: 4b58 ldr r3, [pc, #352] ; (80bcd90 ) 80bcc30: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bcc34: f423 7240 bic.w r2, r3, #768 ; 0x300 80bcc38: 687b ldr r3, [r7, #4] 80bcc3a: 6d5b ldr r3, [r3, #84] ; 0x54 80bcc3c: 4313 orrs r3, r2 80bcc3e: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART6 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART6) == RCC_PERIPHCLK_USART6) 80bcc42: 687b ldr r3, [r7, #4] 80bcc44: 681b ldr r3, [r3, #0] 80bcc46: f403 6300 and.w r3, r3, #2048 ; 0x800 80bcc4a: 2b00 cmp r3, #0 80bcc4c: d00a beq.n 80bcc64 { /* Check the parameters */ assert_param(IS_RCC_USART6CLKSOURCE(PeriphClkInit->Usart6ClockSelection)); /* Configure the USART6 clock source */ __HAL_RCC_USART6_CONFIG(PeriphClkInit->Usart6ClockSelection); 80bcc4e: 4950 ldr r1, [pc, #320] ; (80bcd90 ) 80bcc50: 4b4f ldr r3, [pc, #316] ; (80bcd90 ) 80bcc52: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bcc56: f423 6240 bic.w r2, r3, #3072 ; 0xc00 80bcc5a: 687b ldr r3, [r7, #4] 80bcc5c: 6d9b ldr r3, [r3, #88] ; 0x58 80bcc5e: 4313 orrs r3, r2 80bcc60: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART7 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART7) == RCC_PERIPHCLK_UART7) 80bcc64: 687b ldr r3, [r7, #4] 80bcc66: 681b ldr r3, [r3, #0] 80bcc68: f403 5380 and.w r3, r3, #4096 ; 0x1000 80bcc6c: 2b00 cmp r3, #0 80bcc6e: d00a beq.n 80bcc86 { /* Check the parameters */ assert_param(IS_RCC_UART7CLKSOURCE(PeriphClkInit->Uart7ClockSelection)); /* Configure the UART7 clock source */ __HAL_RCC_UART7_CONFIG(PeriphClkInit->Uart7ClockSelection); 80bcc70: 4947 ldr r1, [pc, #284] ; (80bcd90 ) 80bcc72: 4b47 ldr r3, [pc, #284] ; (80bcd90 ) 80bcc74: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bcc78: f423 5240 bic.w r2, r3, #12288 ; 0x3000 80bcc7c: 687b ldr r3, [r7, #4] 80bcc7e: 6ddb ldr r3, [r3, #92] ; 0x5c 80bcc80: 4313 orrs r3, r2 80bcc82: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART8 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART8) == RCC_PERIPHCLK_UART8) 80bcc86: 687b ldr r3, [r7, #4] 80bcc88: 681b ldr r3, [r3, #0] 80bcc8a: f403 5300 and.w r3, r3, #8192 ; 0x2000 80bcc8e: 2b00 cmp r3, #0 80bcc90: d00a beq.n 80bcca8 { /* Check the parameters */ assert_param(IS_RCC_UART8CLKSOURCE(PeriphClkInit->Uart8ClockSelection)); /* Configure the UART8 clock source */ __HAL_RCC_UART8_CONFIG(PeriphClkInit->Uart8ClockSelection); 80bcc92: 493f ldr r1, [pc, #252] ; (80bcd90 ) 80bcc94: 4b3e ldr r3, [pc, #248] ; (80bcd90 ) 80bcc96: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bcc9a: f423 4240 bic.w r2, r3, #49152 ; 0xc000 80bcc9e: 687b ldr r3, [r7, #4] 80bcca0: 6e1b ldr r3, [r3, #96] ; 0x60 80bcca2: 4313 orrs r3, r2 80bcca4: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*--------------------------------------- CEC Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CEC) == RCC_PERIPHCLK_CEC) 80bcca8: 687b ldr r3, [r7, #4] 80bccaa: 681b ldr r3, [r3, #0] 80bccac: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bccb0: 2b00 cmp r3, #0 80bccb2: d00a beq.n 80bccca { /* Check the parameters */ assert_param(IS_RCC_CECCLKSOURCE(PeriphClkInit->CecClockSelection)); /* Configure the CEC clock source */ __HAL_RCC_CEC_CONFIG(PeriphClkInit->CecClockSelection); 80bccb4: 4936 ldr r1, [pc, #216] ; (80bcd90 ) 80bccb6: 4b36 ldr r3, [pc, #216] ; (80bcd90 ) 80bccb8: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bccbc: f023 6280 bic.w r2, r3, #67108864 ; 0x4000000 80bccc0: 687b ldr r3, [r7, #4] 80bccc2: 6f9b ldr r3, [r3, #120] ; 0x78 80bccc4: 4313 orrs r3, r2 80bccc6: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- CK48 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CLK48) == RCC_PERIPHCLK_CLK48) 80bccca: 687b ldr r3, [r7, #4] 80bcccc: 681b ldr r3, [r3, #0] 80bccce: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80bccd2: 2b00 cmp r3, #0 80bccd4: d011 beq.n 80bccfa { /* Check the parameters */ assert_param(IS_RCC_CLK48SOURCE(PeriphClkInit->Clk48ClockSelection)); /* Configure the CLK48 source */ __HAL_RCC_CLK48_CONFIG(PeriphClkInit->Clk48ClockSelection); 80bccd6: 492e ldr r1, [pc, #184] ; (80bcd90 ) 80bccd8: 4b2d ldr r3, [pc, #180] ; (80bcd90 ) 80bccda: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bccde: f023 6200 bic.w r2, r3, #134217728 ; 0x8000000 80bcce2: 687b ldr r3, [r7, #4] 80bcce4: 6fdb ldr r3, [r3, #124] ; 0x7c 80bcce6: 4313 orrs r3, r2 80bcce8: 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) 80bccec: 687b ldr r3, [r7, #4] 80bccee: 6fdb ldr r3, [r3, #124] ; 0x7c 80bccf0: f1b3 6f00 cmp.w r3, #134217728 ; 0x8000000 80bccf4: d101 bne.n 80bccfa { pllsaiused = 1; 80bccf6: 2301 movs r3, #1 80bccf8: 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) 80bccfa: 687b ldr r3, [r7, #4] 80bccfc: 681b ldr r3, [r3, #0] 80bccfe: f003 0308 and.w r3, r3, #8 80bcd02: 2b00 cmp r3, #0 80bcd04: d001 beq.n 80bcd0a { pllsaiused = 1; 80bcd06: 2301 movs r3, #1 80bcd08: 61bb str r3, [r7, #24] } #endif /* STM32F746xx || STM32F756xx || STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx || STM32F750xx */ /*-------------------------------------- LPTIM1 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LPTIM1) == RCC_PERIPHCLK_LPTIM1) 80bcd0a: 687b ldr r3, [r7, #4] 80bcd0c: 681b ldr r3, [r3, #0] 80bcd0e: f403 2380 and.w r3, r3, #262144 ; 0x40000 80bcd12: 2b00 cmp r3, #0 80bcd14: d00a beq.n 80bcd2c { /* Check the parameters */ assert_param(IS_RCC_LPTIM1CLK(PeriphClkInit->Lptim1ClockSelection)); /* Configure the LTPIM1 clock source */ __HAL_RCC_LPTIM1_CONFIG(PeriphClkInit->Lptim1ClockSelection); 80bcd16: 491e ldr r1, [pc, #120] ; (80bcd90 ) 80bcd18: 4b1d ldr r3, [pc, #116] ; (80bcd90 ) 80bcd1a: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bcd1e: f023 7240 bic.w r2, r3, #50331648 ; 0x3000000 80bcd22: 687b ldr r3, [r7, #4] 80bcd24: 6f5b ldr r3, [r3, #116] ; 0x74 80bcd26: 4313 orrs r3, r2 80bcd28: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*------------------------------------- SDMMC1 Configuration ------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SDMMC1) == RCC_PERIPHCLK_SDMMC1) 80bcd2c: 687b ldr r3, [r7, #4] 80bcd2e: 681b ldr r3, [r3, #0] 80bcd30: f403 0300 and.w r3, r3, #8388608 ; 0x800000 80bcd34: 2b00 cmp r3, #0 80bcd36: d00b beq.n 80bcd50 { /* Check the parameters */ assert_param(IS_RCC_SDMMC1CLKSOURCE(PeriphClkInit->Sdmmc1ClockSelection)); /* Configure the SDMMC1 clock source */ __HAL_RCC_SDMMC1_CONFIG(PeriphClkInit->Sdmmc1ClockSelection); 80bcd38: 4915 ldr r1, [pc, #84] ; (80bcd90 ) 80bcd3a: 4b15 ldr r3, [pc, #84] ; (80bcd90 ) 80bcd3c: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bcd40: f023 5280 bic.w r2, r3, #268435456 ; 0x10000000 80bcd44: 687b ldr r3, [r7, #4] 80bcd46: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80bcd4a: 4313 orrs r3, r2 80bcd4c: 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) 80bcd50: 687b ldr r3, [r7, #4] 80bcd52: 681b ldr r3, [r3, #0] 80bcd54: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80bcd58: 2b00 cmp r3, #0 80bcd5a: d00b beq.n 80bcd74 { /* Check the parameters */ assert_param(IS_RCC_SDMMC2CLKSOURCE(PeriphClkInit->Sdmmc2ClockSelection)); /* Configure the SDMMC2 clock source */ __HAL_RCC_SDMMC2_CONFIG(PeriphClkInit->Sdmmc2ClockSelection); 80bcd5c: 490c ldr r1, [pc, #48] ; (80bcd90 ) 80bcd5e: 4b0c ldr r3, [pc, #48] ; (80bcd90 ) 80bcd60: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bcd64: f023 5200 bic.w r2, r3, #536870912 ; 0x20000000 80bcd68: 687b ldr r3, [r7, #4] 80bcd6a: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80bcd6e: 4313 orrs r3, r2 80bcd70: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*------------------------------------- DFSDM1 Configuration -------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DFSDM1) == RCC_PERIPHCLK_DFSDM1) 80bcd74: 687b ldr r3, [r7, #4] 80bcd76: 681b ldr r3, [r3, #0] 80bcd78: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80bcd7c: 2b00 cmp r3, #0 80bcd7e: d00e beq.n 80bcd9e { /* Check the parameters */ assert_param(IS_RCC_DFSDM1CLKSOURCE(PeriphClkInit->Dfsdm1ClockSelection)); /* Configure the DFSDM1 interface clock source */ __HAL_RCC_DFSDM1_CONFIG(PeriphClkInit->Dfsdm1ClockSelection); 80bcd80: 4903 ldr r1, [pc, #12] ; (80bcd90 ) 80bcd82: 4b03 ldr r3, [pc, #12] ; (80bcd90 ) 80bcd84: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80bcd88: f023 7200 bic.w r2, r3, #33554432 ; 0x2000000 80bcd8c: 687b ldr r3, [r7, #4] 80bcd8e: e001 b.n 80bcd94 80bcd90: 40023800 .word 0x40023800 80bcd94: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80bcd98: 4313 orrs r3, r2 80bcd9a: f8c1 308c str.w r3, [r1, #140] ; 0x8c } /*------------------------------------- DFSDM AUDIO Configuration -------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DFSDM1_AUDIO) == RCC_PERIPHCLK_DFSDM1_AUDIO) 80bcd9e: 687b ldr r3, [r7, #4] 80bcda0: 681b ldr r3, [r3, #0] 80bcda2: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80bcda6: 2b00 cmp r3, #0 80bcda8: d00b beq.n 80bcdc2 { /* Check the parameters */ assert_param(IS_RCC_DFSDM1AUDIOCLKSOURCE(PeriphClkInit->Dfsdm1AudioClockSelection)); /* Configure the DFSDM interface clock source */ __HAL_RCC_DFSDM1AUDIO_CONFIG(PeriphClkInit->Dfsdm1AudioClockSelection); 80bcdaa: 4981 ldr r1, [pc, #516] ; (80bcfb0 ) 80bcdac: 4b80 ldr r3, [pc, #512] ; (80bcfb0 ) 80bcdae: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80bcdb2: f023 6280 bic.w r2, r3, #67108864 ; 0x4000000 80bcdb6: 687b ldr r3, [r7, #4] 80bcdb8: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80bcdbc: 4313 orrs r3, r2 80bcdbe: 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)) 80bcdc2: 69fb ldr r3, [r7, #28] 80bcdc4: 2b01 cmp r3, #1 80bcdc6: d006 beq.n 80bcdd6 80bcdc8: 687b ldr r3, [r7, #4] 80bcdca: 681b ldr r3, [r3, #0] 80bcdcc: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bcdd0: 2b00 cmp r3, #0 80bcdd2: f000 80d6 beq.w 80bcf82 { /* Disable the PLLI2S */ __HAL_RCC_PLLI2S_DISABLE(); 80bcdd6: 4a76 ldr r2, [pc, #472] ; (80bcfb0 ) 80bcdd8: 4b75 ldr r3, [pc, #468] ; (80bcfb0 ) 80bcdda: 681b ldr r3, [r3, #0] 80bcddc: f023 6380 bic.w r3, r3, #67108864 ; 0x4000000 80bcde0: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bcde2: f7fa fe1f bl 80b7a24 80bcde6: 6178 str r0, [r7, #20] /* Wait till PLLI2S is disabled */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) != RESET) 80bcde8: e008 b.n 80bcdfc { if((HAL_GetTick() - tickstart) > PLLI2S_TIMEOUT_VALUE) 80bcdea: f7fa fe1b bl 80b7a24 80bcdee: 4602 mov r2, r0 80bcdf0: 697b ldr r3, [r7, #20] 80bcdf2: 1ad3 subs r3, r2, r3 80bcdf4: 2b64 cmp r3, #100 ; 0x64 80bcdf6: d901 bls.n 80bcdfc { /* return in case of Timeout detected */ return HAL_TIMEOUT; 80bcdf8: 2303 movs r3, #3 80bcdfa: e194 b.n 80bd126 while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) != RESET) 80bcdfc: 4b6c ldr r3, [pc, #432] ; (80bcfb0 ) 80bcdfe: 681b ldr r3, [r3, #0] 80bce00: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80bce04: 2b00 cmp r3, #0 80bce06: d1f0 bne.n 80bcdea /* 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))) 80bce08: 687b ldr r3, [r7, #4] 80bce0a: 681b ldr r3, [r3, #0] 80bce0c: f003 0301 and.w r3, r3, #1 80bce10: 2b00 cmp r3, #0 80bce12: d021 beq.n 80bce58 80bce14: 687b ldr r3, [r7, #4] 80bce16: 6b5b ldr r3, [r3, #52] ; 0x34 80bce18: 2b00 cmp r3, #0 80bce1a: d11d bne.n 80bce58 { /* 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); 80bce1c: 4b64 ldr r3, [pc, #400] ; (80bcfb0 ) 80bce1e: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80bce22: 0c1b lsrs r3, r3, #16 80bce24: f003 0303 and.w r3, r3, #3 80bce28: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SQ) >> RCC_PLLI2SCFGR_PLLI2SQ_Pos); 80bce2a: 4b61 ldr r3, [pc, #388] ; (80bcfb0 ) 80bce2c: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80bce30: 0e1b lsrs r3, r3, #24 80bce32: f003 030f and.w r3, r3, #15 80bce36: 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); 80bce38: 495d ldr r1, [pc, #372] ; (80bcfb0 ) 80bce3a: 687b ldr r3, [r7, #4] 80bce3c: 685b ldr r3, [r3, #4] 80bce3e: 019a lsls r2, r3, #6 80bce40: 693b ldr r3, [r7, #16] 80bce42: 041b lsls r3, r3, #16 80bce44: 431a orrs r2, r3 80bce46: 68fb ldr r3, [r7, #12] 80bce48: 061b lsls r3, r3, #24 80bce4a: 431a orrs r2, r3 80bce4c: 687b ldr r3, [r7, #4] 80bce4e: 689b ldr r3, [r3, #8] 80bce50: 071b lsls r3, r3, #28 80bce52: 4313 orrs r3, r2 80bce54: 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)) || 80bce58: 687b ldr r3, [r7, #4] 80bce5a: 681b ldr r3, [r3, #0] 80bce5c: f403 2300 and.w r3, r3, #524288 ; 0x80000 80bce60: 2b00 cmp r3, #0 80bce62: d004 beq.n 80bce6e 80bce64: 687b ldr r3, [r7, #4] 80bce66: 6bdb ldr r3, [r3, #60] ; 0x3c 80bce68: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80bce6c: d00a beq.n 80bce84 ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S))) 80bce6e: 687b ldr r3, [r7, #4] 80bce70: 681b ldr r3, [r3, #0] 80bce72: f403 1380 and.w r3, r3, #1048576 ; 0x100000 if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLI2S)) || 80bce76: 2b00 cmp r3, #0 80bce78: d02e beq.n 80bced8 ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S))) 80bce7a: 687b ldr r3, [r7, #4] 80bce7c: 6c1b ldr r3, [r3, #64] ; 0x40 80bce7e: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 80bce82: d129 bne.n 80bced8 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); 80bce84: 4b4a ldr r3, [pc, #296] ; (80bcfb0 ) 80bce86: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80bce8a: 0c1b lsrs r3, r3, #16 80bce8c: f003 0303 and.w r3, r3, #3 80bce90: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLI2SCFGR_PLLI2SR_Pos); 80bce92: 4b47 ldr r3, [pc, #284] ; (80bcfb0 ) 80bce94: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80bce98: 0f1b lsrs r3, r3, #28 80bce9a: f003 0307 and.w r3, r3, #7 80bce9e: 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); 80bcea0: 4943 ldr r1, [pc, #268] ; (80bcfb0 ) 80bcea2: 687b ldr r3, [r7, #4] 80bcea4: 685b ldr r3, [r3, #4] 80bcea6: 019a lsls r2, r3, #6 80bcea8: 693b ldr r3, [r7, #16] 80bceaa: 041b lsls r3, r3, #16 80bceac: 431a orrs r2, r3 80bceae: 687b ldr r3, [r7, #4] 80bceb0: 68db ldr r3, [r3, #12] 80bceb2: 061b lsls r3, r3, #24 80bceb4: 431a orrs r2, r3 80bceb6: 68fb ldr r3, [r7, #12] 80bceb8: 071b lsls r3, r3, #28 80bceba: 4313 orrs r3, r2 80bcebc: f8c1 3084 str.w r3, [r1, #132] ; 0x84 /* SAI_CLK_x = SAI_CLK(first level)/PLLI2SDIVQ */ __HAL_RCC_PLLI2S_PLLSAICLKDIVQ_CONFIG(PeriphClkInit->PLLI2SDivQ); 80bcec0: 493b ldr r1, [pc, #236] ; (80bcfb0 ) 80bcec2: 4b3b ldr r3, [pc, #236] ; (80bcfb0 ) 80bcec4: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80bcec8: f023 021f bic.w r2, r3, #31 80bcecc: 687b ldr r3, [r7, #4] 80bcece: 6a5b ldr r3, [r3, #36] ; 0x24 80bced0: 3b01 subs r3, #1 80bced2: 4313 orrs r3, r2 80bced4: 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) 80bced8: 687b ldr r3, [r7, #4] 80bceda: 681b ldr r3, [r3, #0] 80bcedc: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80bcee0: 2b00 cmp r3, #0 80bcee2: d01d beq.n 80bcf20 { /* 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); 80bcee4: 4b32 ldr r3, [pc, #200] ; (80bcfb0 ) 80bcee6: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80bceea: 0e1b lsrs r3, r3, #24 80bceec: f003 030f and.w r3, r3, #15 80bcef0: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLI2SCFGR_PLLI2SR_Pos); 80bcef2: 4b2f ldr r3, [pc, #188] ; (80bcfb0 ) 80bcef4: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80bcef8: 0f1b lsrs r3, r3, #28 80bcefa: f003 0307 and.w r3, r3, #7 80bcefe: 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); 80bcf00: 492b ldr r1, [pc, #172] ; (80bcfb0 ) 80bcf02: 687b ldr r3, [r7, #4] 80bcf04: 685b ldr r3, [r3, #4] 80bcf06: 019a lsls r2, r3, #6 80bcf08: 687b ldr r3, [r7, #4] 80bcf0a: 691b ldr r3, [r3, #16] 80bcf0c: 041b lsls r3, r3, #16 80bcf0e: 431a orrs r2, r3 80bcf10: 693b ldr r3, [r7, #16] 80bcf12: 061b lsls r3, r3, #24 80bcf14: 431a orrs r2, r3 80bcf16: 68fb ldr r3, [r7, #12] 80bcf18: 071b lsls r3, r3, #28 80bcf1a: 4313 orrs r3, r2 80bcf1c: f8c1 3084 str.w r3, [r1, #132] ; 0x84 } /*----------------- In Case of PLLI2S is just selected -----------------*/ if((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_PLLI2S) == RCC_PERIPHCLK_PLLI2S) 80bcf20: 687b ldr r3, [r7, #4] 80bcf22: 681b ldr r3, [r3, #0] 80bcf24: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bcf28: 2b00 cmp r3, #0 80bcf2a: d011 beq.n 80bcf50 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); 80bcf2c: 4920 ldr r1, [pc, #128] ; (80bcfb0 ) 80bcf2e: 687b ldr r3, [r7, #4] 80bcf30: 685b ldr r3, [r3, #4] 80bcf32: 019a lsls r2, r3, #6 80bcf34: 687b ldr r3, [r7, #4] 80bcf36: 691b ldr r3, [r3, #16] 80bcf38: 041b lsls r3, r3, #16 80bcf3a: 431a orrs r2, r3 80bcf3c: 687b ldr r3, [r7, #4] 80bcf3e: 68db ldr r3, [r3, #12] 80bcf40: 061b lsls r3, r3, #24 80bcf42: 431a orrs r2, r3 80bcf44: 687b ldr r3, [r7, #4] 80bcf46: 689b ldr r3, [r3, #8] 80bcf48: 071b lsls r3, r3, #28 80bcf4a: 4313 orrs r3, r2 80bcf4c: f8c1 3084 str.w r3, [r1, #132] ; 0x84 } /* Enable the PLLI2S */ __HAL_RCC_PLLI2S_ENABLE(); 80bcf50: 4a17 ldr r2, [pc, #92] ; (80bcfb0 ) 80bcf52: 4b17 ldr r3, [pc, #92] ; (80bcfb0 ) 80bcf54: 681b ldr r3, [r3, #0] 80bcf56: f043 6380 orr.w r3, r3, #67108864 ; 0x4000000 80bcf5a: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bcf5c: f7fa fd62 bl 80b7a24 80bcf60: 6178 str r0, [r7, #20] /* Wait till PLLI2S is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) == RESET) 80bcf62: e008 b.n 80bcf76 { if((HAL_GetTick() - tickstart) > PLLI2S_TIMEOUT_VALUE) 80bcf64: f7fa fd5e bl 80b7a24 80bcf68: 4602 mov r2, r0 80bcf6a: 697b ldr r3, [r7, #20] 80bcf6c: 1ad3 subs r3, r2, r3 80bcf6e: 2b64 cmp r3, #100 ; 0x64 80bcf70: d901 bls.n 80bcf76 { /* return in case of Timeout detected */ return HAL_TIMEOUT; 80bcf72: 2303 movs r3, #3 80bcf74: e0d7 b.n 80bd126 while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) == RESET) 80bcf76: 4b0e ldr r3, [pc, #56] ; (80bcfb0 ) 80bcf78: 681b ldr r3, [r3, #0] 80bcf7a: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80bcf7e: 2b00 cmp r3, #0 80bcf80: d0f0 beq.n 80bcf64 } } /*-------------------------------------- PLLSAI Configuration ---------------------------------*/ /* PLLSAI is configured when a peripheral will use it as source clock : SAI1, SAI2, LTDC or CK48 */ if(pllsaiused == 1) 80bcf82: 69bb ldr r3, [r7, #24] 80bcf84: 2b01 cmp r3, #1 80bcf86: f040 80cd bne.w 80bd124 { /* Disable PLLSAI Clock */ __HAL_RCC_PLLSAI_DISABLE(); 80bcf8a: 4a09 ldr r2, [pc, #36] ; (80bcfb0 ) 80bcf8c: 4b08 ldr r3, [pc, #32] ; (80bcfb0 ) 80bcf8e: 681b ldr r3, [r3, #0] 80bcf90: f023 5380 bic.w r3, r3, #268435456 ; 0x10000000 80bcf94: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bcf96: f7fa fd45 bl 80b7a24 80bcf9a: 6178 str r0, [r7, #20] /* Wait till PLLSAI is disabled */ while(__HAL_RCC_PLLSAI_GET_FLAG() != RESET) 80bcf9c: e00a b.n 80bcfb4 { if((HAL_GetTick() - tickstart) > PLLSAI_TIMEOUT_VALUE) 80bcf9e: f7fa fd41 bl 80b7a24 80bcfa2: 4602 mov r2, r0 80bcfa4: 697b ldr r3, [r7, #20] 80bcfa6: 1ad3 subs r3, r2, r3 80bcfa8: 2b64 cmp r3, #100 ; 0x64 80bcfaa: d903 bls.n 80bcfb4 { /* return in case of Timeout detected */ return HAL_TIMEOUT; 80bcfac: 2303 movs r3, #3 80bcfae: e0ba b.n 80bd126 80bcfb0: 40023800 .word 0x40023800 while(__HAL_RCC_PLLSAI_GET_FLAG() != RESET) 80bcfb4: 4b5e ldr r3, [pc, #376] ; (80bd130 ) 80bcfb6: 681b ldr r3, [r3, #0] 80bcfb8: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 80bcfbc: f1b3 5f00 cmp.w r3, #536870912 ; 0x20000000 80bcfc0: d0ed beq.n 80bcf9e /* 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)) ||\ 80bcfc2: 687b ldr r3, [r7, #4] 80bcfc4: 681b ldr r3, [r3, #0] 80bcfc6: f403 2300 and.w r3, r3, #524288 ; 0x80000 80bcfca: 2b00 cmp r3, #0 80bcfcc: d003 beq.n 80bcfd6 80bcfce: 687b ldr r3, [r7, #4] 80bcfd0: 6bdb ldr r3, [r3, #60] ; 0x3c 80bcfd2: 2b00 cmp r3, #0 80bcfd4: d009 beq.n 80bcfea ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI))) 80bcfd6: 687b ldr r3, [r7, #4] 80bcfd8: 681b ldr r3, [r3, #0] 80bcfda: f403 1380 and.w r3, r3, #1048576 ; 0x100000 if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI)) ||\ 80bcfde: 2b00 cmp r3, #0 80bcfe0: d02e beq.n 80bd040 ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI))) 80bcfe2: 687b ldr r3, [r7, #4] 80bcfe4: 6c1b ldr r3, [r3, #64] ; 0x40 80bcfe6: 2b00 cmp r3, #0 80bcfe8: d12a bne.n 80bd040 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); 80bcfea: 4b51 ldr r3, [pc, #324] ; (80bd130 ) 80bcfec: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80bcff0: 0c1b lsrs r3, r3, #16 80bcff2: f003 0303 and.w r3, r3, #3 80bcff6: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLSAICFGR_PLLSAIR_Pos); 80bcff8: 4b4d ldr r3, [pc, #308] ; (80bd130 ) 80bcffa: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80bcffe: 0f1b lsrs r3, r3, #28 80bd000: f003 0307 and.w r3, r3, #7 80bd004: 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); 80bd006: 494a ldr r1, [pc, #296] ; (80bd130 ) 80bd008: 687b ldr r3, [r7, #4] 80bd00a: 695b ldr r3, [r3, #20] 80bd00c: 019a lsls r2, r3, #6 80bd00e: 693b ldr r3, [r7, #16] 80bd010: 041b lsls r3, r3, #16 80bd012: 431a orrs r2, r3 80bd014: 687b ldr r3, [r7, #4] 80bd016: 699b ldr r3, [r3, #24] 80bd018: 061b lsls r3, r3, #24 80bd01a: 431a orrs r2, r3 80bd01c: 68fb ldr r3, [r7, #12] 80bd01e: 071b lsls r3, r3, #28 80bd020: 4313 orrs r3, r2 80bd022: f8c1 3088 str.w r3, [r1, #136] ; 0x88 /* SAI_CLK_x = SAI_CLK(first level)/PLLSAIDIVQ */ __HAL_RCC_PLLSAI_PLLSAICLKDIVQ_CONFIG(PeriphClkInit->PLLSAIDivQ); 80bd026: 4942 ldr r1, [pc, #264] ; (80bd130 ) 80bd028: 4b41 ldr r3, [pc, #260] ; (80bd130 ) 80bd02a: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80bd02e: f423 52f8 bic.w r2, r3, #7936 ; 0x1f00 80bd032: 687b ldr r3, [r7, #4] 80bd034: 6a9b ldr r3, [r3, #40] ; 0x28 80bd036: 3b01 subs r3, #1 80bd038: 021b lsls r3, r3, #8 80bd03a: 4313 orrs r3, r2 80bd03c: 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)) 80bd040: 687b ldr r3, [r7, #4] 80bd042: 681b ldr r3, [r3, #0] 80bd044: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80bd048: 2b00 cmp r3, #0 80bd04a: d022 beq.n 80bd092 80bd04c: 687b ldr r3, [r7, #4] 80bd04e: 6fdb ldr r3, [r3, #124] ; 0x7c 80bd050: f1b3 6f00 cmp.w r3, #134217728 ; 0x8000000 80bd054: d11d bne.n 80bd092 { /* 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); 80bd056: 4b36 ldr r3, [pc, #216] ; (80bd130 ) 80bd058: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80bd05c: 0e1b lsrs r3, r3, #24 80bd05e: f003 030f and.w r3, r3, #15 80bd062: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIR) >> RCC_PLLSAICFGR_PLLSAIR_Pos); 80bd064: 4b32 ldr r3, [pc, #200] ; (80bd130 ) 80bd066: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80bd06a: 0f1b lsrs r3, r3, #28 80bd06c: f003 0307 and.w r3, r3, #7 80bd070: 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); 80bd072: 492f ldr r1, [pc, #188] ; (80bd130 ) 80bd074: 687b ldr r3, [r7, #4] 80bd076: 695b ldr r3, [r3, #20] 80bd078: 019a lsls r2, r3, #6 80bd07a: 687b ldr r3, [r7, #4] 80bd07c: 6a1b ldr r3, [r3, #32] 80bd07e: 041b lsls r3, r3, #16 80bd080: 431a orrs r2, r3 80bd082: 693b ldr r3, [r7, #16] 80bd084: 061b lsls r3, r3, #24 80bd086: 431a orrs r2, r3 80bd088: 68fb ldr r3, [r7, #12] 80bd08a: 071b lsls r3, r3, #28 80bd08c: 4313 orrs r3, r2 80bd08e: 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)) 80bd092: 687b ldr r3, [r7, #4] 80bd094: 681b ldr r3, [r3, #0] 80bd096: f003 0308 and.w r3, r3, #8 80bd09a: 2b00 cmp r3, #0 80bd09c: d028 beq.n 80bd0f0 { 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); 80bd09e: 4b24 ldr r3, [pc, #144] ; (80bd130 ) 80bd0a0: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80bd0a4: 0e1b lsrs r3, r3, #24 80bd0a6: f003 030f and.w r3, r3, #15 80bd0aa: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIP) >> RCC_PLLSAICFGR_PLLSAIP_Pos); 80bd0ac: 4b20 ldr r3, [pc, #128] ; (80bd130 ) 80bd0ae: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80bd0b2: 0c1b lsrs r3, r3, #16 80bd0b4: f003 0303 and.w r3, r3, #3 80bd0b8: 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); 80bd0ba: 491d ldr r1, [pc, #116] ; (80bd130 ) 80bd0bc: 687b ldr r3, [r7, #4] 80bd0be: 695b ldr r3, [r3, #20] 80bd0c0: 019a lsls r2, r3, #6 80bd0c2: 68fb ldr r3, [r7, #12] 80bd0c4: 041b lsls r3, r3, #16 80bd0c6: 431a orrs r2, r3 80bd0c8: 693b ldr r3, [r7, #16] 80bd0ca: 061b lsls r3, r3, #24 80bd0cc: 431a orrs r2, r3 80bd0ce: 687b ldr r3, [r7, #4] 80bd0d0: 69db ldr r3, [r3, #28] 80bd0d2: 071b lsls r3, r3, #28 80bd0d4: 4313 orrs r3, r2 80bd0d6: f8c1 3088 str.w r3, [r1, #136] ; 0x88 /* LTDC_CLK = LTDC_CLK(first level)/PLLSAIDIVR */ __HAL_RCC_PLLSAI_PLLSAICLKDIVR_CONFIG(PeriphClkInit->PLLSAIDivR); 80bd0da: 4915 ldr r1, [pc, #84] ; (80bd130 ) 80bd0dc: 4b14 ldr r3, [pc, #80] ; (80bd130 ) 80bd0de: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80bd0e2: f423 3240 bic.w r2, r3, #196608 ; 0x30000 80bd0e6: 687b ldr r3, [r7, #4] 80bd0e8: 6adb ldr r3, [r3, #44] ; 0x2c 80bd0ea: 4313 orrs r3, r2 80bd0ec: f8c1 308c str.w r3, [r1, #140] ; 0x8c } #endif /* STM32F746xx || STM32F756xx || STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx || STM32F750xx */ /* Enable PLLSAI Clock */ __HAL_RCC_PLLSAI_ENABLE(); 80bd0f0: 4a0f ldr r2, [pc, #60] ; (80bd130 ) 80bd0f2: 4b0f ldr r3, [pc, #60] ; (80bd130 ) 80bd0f4: 681b ldr r3, [r3, #0] 80bd0f6: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80bd0fa: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bd0fc: f7fa fc92 bl 80b7a24 80bd100: 6178 str r0, [r7, #20] /* Wait till PLLSAI is ready */ while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET) 80bd102: e008 b.n 80bd116 { if((HAL_GetTick() - tickstart) > PLLSAI_TIMEOUT_VALUE) 80bd104: f7fa fc8e bl 80b7a24 80bd108: 4602 mov r2, r0 80bd10a: 697b ldr r3, [r7, #20] 80bd10c: 1ad3 subs r3, r2, r3 80bd10e: 2b64 cmp r3, #100 ; 0x64 80bd110: d901 bls.n 80bd116 { /* return in case of Timeout detected */ return HAL_TIMEOUT; 80bd112: 2303 movs r3, #3 80bd114: e007 b.n 80bd126 while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET) 80bd116: 4b06 ldr r3, [pc, #24] ; (80bd130 ) 80bd118: 681b ldr r3, [r3, #0] 80bd11a: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 80bd11e: f1b3 5f00 cmp.w r3, #536870912 ; 0x20000000 80bd122: d1ef bne.n 80bd104 } } } return HAL_OK; 80bd124: 2300 movs r3, #0 } 80bd126: 4618 mov r0, r3 80bd128: 3720 adds r7, #32 80bd12a: 46bd mov sp, r7 80bd12c: bd80 pop {r7, pc} 80bd12e: bf00 nop 80bd130: 40023800 .word 0x40023800 080bd134 : * @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) { 80bd134: b580 push {r7, lr} 80bd136: b082 sub sp, #8 80bd138: af00 add r7, sp, #0 80bd13a: 6078 str r0, [r7, #4] /* Check the RTC peripheral state */ if(hrtc == NULL) 80bd13c: 687b ldr r3, [r7, #4] 80bd13e: 2b00 cmp r3, #0 80bd140: d101 bne.n 80bd146 { return HAL_ERROR; 80bd142: 2301 movs r3, #1 80bd144: e081 b.n 80bd24a { hrtc->MspDeInitCallback = HAL_RTC_MspDeInit; } } #else if(hrtc->State == HAL_RTC_STATE_RESET) 80bd146: 687b ldr r3, [r7, #4] 80bd148: 7f5b ldrb r3, [r3, #29] 80bd14a: b2db uxtb r3, r3 80bd14c: 2b00 cmp r3, #0 80bd14e: d105 bne.n 80bd15c { /* Allocate lock resource and initialize it */ hrtc->Lock = HAL_UNLOCKED; 80bd150: 687b ldr r3, [r7, #4] 80bd152: 2200 movs r2, #0 80bd154: 771a strb r2, [r3, #28] /* Initialize RTC MSP */ HAL_RTC_MspInit(hrtc); 80bd156: 6878 ldr r0, [r7, #4] 80bd158: f7ab ff2e bl 8068fb8 } #endif /* (USE_HAL_RTC_REGISTER_CALLBACKS) */ /* Set RTC state */ hrtc->State = HAL_RTC_STATE_BUSY; 80bd15c: 687b ldr r3, [r7, #4] 80bd15e: 2202 movs r2, #2 80bd160: 775a strb r2, [r3, #29] /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 80bd162: 687b ldr r3, [r7, #4] 80bd164: 681b ldr r3, [r3, #0] 80bd166: 22ca movs r2, #202 ; 0xca 80bd168: 625a str r2, [r3, #36] ; 0x24 80bd16a: 687b ldr r3, [r7, #4] 80bd16c: 681b ldr r3, [r3, #0] 80bd16e: 2253 movs r2, #83 ; 0x53 80bd170: 625a str r2, [r3, #36] ; 0x24 /* Set Initialization mode */ if(RTC_EnterInitMode(hrtc) != HAL_OK) 80bd172: 6878 ldr r0, [r7, #4] 80bd174: f000 faac bl 80bd6d0 80bd178: 4603 mov r3, r0 80bd17a: 2b00 cmp r3, #0 80bd17c: d008 beq.n 80bd190 { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80bd17e: 687b ldr r3, [r7, #4] 80bd180: 681b ldr r3, [r3, #0] 80bd182: 22ff movs r2, #255 ; 0xff 80bd184: 625a str r2, [r3, #36] ; 0x24 /* Set RTC state */ hrtc->State = HAL_RTC_STATE_ERROR; 80bd186: 687b ldr r3, [r7, #4] 80bd188: 2204 movs r2, #4 80bd18a: 775a strb r2, [r3, #29] return HAL_ERROR; 80bd18c: 2301 movs r3, #1 80bd18e: e05c b.n 80bd24a } else { /* Clear RTC_CR FMT, OSEL and POL Bits */ hrtc->Instance->CR &= ((uint32_t)~(RTC_CR_FMT | RTC_CR_OSEL | RTC_CR_POL)); 80bd190: 687b ldr r3, [r7, #4] 80bd192: 681a ldr r2, [r3, #0] 80bd194: 687b ldr r3, [r7, #4] 80bd196: 681b ldr r3, [r3, #0] 80bd198: 6899 ldr r1, [r3, #8] 80bd19a: 4b2e ldr r3, [pc, #184] ; (80bd254 ) 80bd19c: 400b ands r3, r1 80bd19e: 6093 str r3, [r2, #8] /* Set RTC_CR register */ hrtc->Instance->CR |= (uint32_t)(hrtc->Init.HourFormat | hrtc->Init.OutPut | hrtc->Init.OutPutPolarity); 80bd1a0: 687b ldr r3, [r7, #4] 80bd1a2: 681b ldr r3, [r3, #0] 80bd1a4: 687a ldr r2, [r7, #4] 80bd1a6: 6812 ldr r2, [r2, #0] 80bd1a8: 6891 ldr r1, [r2, #8] 80bd1aa: 687a ldr r2, [r7, #4] 80bd1ac: 6850 ldr r0, [r2, #4] 80bd1ae: 687a ldr r2, [r7, #4] 80bd1b0: 6912 ldr r2, [r2, #16] 80bd1b2: 4310 orrs r0, r2 80bd1b4: 687a ldr r2, [r7, #4] 80bd1b6: 6952 ldr r2, [r2, #20] 80bd1b8: 4302 orrs r2, r0 80bd1ba: 430a orrs r2, r1 80bd1bc: 609a str r2, [r3, #8] /* Configure the RTC PRER */ hrtc->Instance->PRER = (uint32_t)(hrtc->Init.SynchPrediv); 80bd1be: 687b ldr r3, [r7, #4] 80bd1c0: 681b ldr r3, [r3, #0] 80bd1c2: 687a ldr r2, [r7, #4] 80bd1c4: 68d2 ldr r2, [r2, #12] 80bd1c6: 611a str r2, [r3, #16] hrtc->Instance->PRER |= (uint32_t)(hrtc->Init.AsynchPrediv << 16); 80bd1c8: 687b ldr r3, [r7, #4] 80bd1ca: 681b ldr r3, [r3, #0] 80bd1cc: 687a ldr r2, [r7, #4] 80bd1ce: 6812 ldr r2, [r2, #0] 80bd1d0: 6911 ldr r1, [r2, #16] 80bd1d2: 687a ldr r2, [r7, #4] 80bd1d4: 6892 ldr r2, [r2, #8] 80bd1d6: 0412 lsls r2, r2, #16 80bd1d8: 430a orrs r2, r1 80bd1da: 611a str r2, [r3, #16] /* Exit Initialization mode */ hrtc->Instance->ISR &= (uint32_t)~RTC_ISR_INIT; 80bd1dc: 687b ldr r3, [r7, #4] 80bd1de: 681b ldr r3, [r3, #0] 80bd1e0: 687a ldr r2, [r7, #4] 80bd1e2: 6812 ldr r2, [r2, #0] 80bd1e4: 68d2 ldr r2, [r2, #12] 80bd1e6: f022 0280 bic.w r2, r2, #128 ; 0x80 80bd1ea: 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) 80bd1ec: 687b ldr r3, [r7, #4] 80bd1ee: 681b ldr r3, [r3, #0] 80bd1f0: 689b ldr r3, [r3, #8] 80bd1f2: f003 0320 and.w r3, r3, #32 80bd1f6: 2b00 cmp r3, #0 80bd1f8: d10e bne.n 80bd218 { if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) 80bd1fa: 6878 ldr r0, [r7, #4] 80bd1fc: f000 fa40 bl 80bd680 80bd200: 4603 mov r3, r0 80bd202: 2b00 cmp r3, #0 80bd204: d008 beq.n 80bd218 { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80bd206: 687b ldr r3, [r7, #4] 80bd208: 681b ldr r3, [r3, #0] 80bd20a: 22ff movs r2, #255 ; 0xff 80bd20c: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_ERROR; 80bd20e: 687b ldr r3, [r7, #4] 80bd210: 2204 movs r2, #4 80bd212: 775a strb r2, [r3, #29] return HAL_ERROR; 80bd214: 2301 movs r3, #1 80bd216: e018 b.n 80bd24a } } hrtc->Instance->OR &= (uint32_t)~RTC_OR_ALARMTYPE; 80bd218: 687b ldr r3, [r7, #4] 80bd21a: 681b ldr r3, [r3, #0] 80bd21c: 687a ldr r2, [r7, #4] 80bd21e: 6812 ldr r2, [r2, #0] 80bd220: 6cd2 ldr r2, [r2, #76] ; 0x4c 80bd222: f022 0208 bic.w r2, r2, #8 80bd226: 64da str r2, [r3, #76] ; 0x4c hrtc->Instance->OR |= (uint32_t)(hrtc->Init.OutPutType); 80bd228: 687b ldr r3, [r7, #4] 80bd22a: 681b ldr r3, [r3, #0] 80bd22c: 687a ldr r2, [r7, #4] 80bd22e: 6812 ldr r2, [r2, #0] 80bd230: 6cd1 ldr r1, [r2, #76] ; 0x4c 80bd232: 687a ldr r2, [r7, #4] 80bd234: 6992 ldr r2, [r2, #24] 80bd236: 430a orrs r2, r1 80bd238: 64da str r2, [r3, #76] ; 0x4c /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80bd23a: 687b ldr r3, [r7, #4] 80bd23c: 681b ldr r3, [r3, #0] 80bd23e: 22ff movs r2, #255 ; 0xff 80bd240: 625a str r2, [r3, #36] ; 0x24 /* Set RTC state */ hrtc->State = HAL_RTC_STATE_READY; 80bd242: 687b ldr r3, [r7, #4] 80bd244: 2201 movs r2, #1 80bd246: 775a strb r2, [r3, #29] return HAL_OK; 80bd248: 2300 movs r3, #0 } } 80bd24a: 4618 mov r0, r3 80bd24c: 3708 adds r7, #8 80bd24e: 46bd mov sp, r7 80bd250: bd80 pop {r7, pc} 80bd252: bf00 nop 80bd254: ff8fffbf .word 0xff8fffbf 080bd258 : * @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) { 80bd258: b590 push {r4, r7, lr} 80bd25a: b087 sub sp, #28 80bd25c: af00 add r7, sp, #0 80bd25e: 60f8 str r0, [r7, #12] 80bd260: 60b9 str r1, [r7, #8] 80bd262: 607a str r2, [r7, #4] uint32_t tmpreg = 0; 80bd264: 2300 movs r3, #0 80bd266: 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); 80bd268: 68fb ldr r3, [r7, #12] 80bd26a: 7f1b ldrb r3, [r3, #28] 80bd26c: 2b01 cmp r3, #1 80bd26e: d101 bne.n 80bd274 80bd270: 2302 movs r3, #2 80bd272: e0a8 b.n 80bd3c6 80bd274: 68fb ldr r3, [r7, #12] 80bd276: 2201 movs r2, #1 80bd278: 771a strb r2, [r3, #28] hrtc->State = HAL_RTC_STATE_BUSY; 80bd27a: 68fb ldr r3, [r7, #12] 80bd27c: 2202 movs r2, #2 80bd27e: 775a strb r2, [r3, #29] if(Format == RTC_FORMAT_BIN) 80bd280: 687b ldr r3, [r7, #4] 80bd282: 2b00 cmp r3, #0 80bd284: d126 bne.n 80bd2d4 { if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) 80bd286: 68fb ldr r3, [r7, #12] 80bd288: 681b ldr r3, [r3, #0] 80bd28a: 689b ldr r3, [r3, #8] 80bd28c: f003 0340 and.w r3, r3, #64 ; 0x40 80bd290: 2b00 cmp r3, #0 80bd292: d102 bne.n 80bd29a assert_param(IS_RTC_HOUR12(sTime->Hours)); assert_param(IS_RTC_HOURFORMAT12(sTime->TimeFormat)); } else { sTime->TimeFormat = 0x00; 80bd294: 68bb ldr r3, [r7, #8] 80bd296: 2200 movs r2, #0 80bd298: 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) | \ 80bd29a: 68bb ldr r3, [r7, #8] 80bd29c: 781b ldrb r3, [r3, #0] 80bd29e: 4618 mov r0, r3 80bd2a0: f000 fa42 bl 80bd728 80bd2a4: 4603 mov r3, r0 80bd2a6: 041c lsls r4, r3, #16 ((uint32_t)RTC_ByteToBcd2(sTime->Minutes) << 8) | \ 80bd2a8: 68bb ldr r3, [r7, #8] 80bd2aa: 785b ldrb r3, [r3, #1] 80bd2ac: 4618 mov r0, r3 80bd2ae: f000 fa3b bl 80bd728 80bd2b2: 4603 mov r3, r0 80bd2b4: 021b lsls r3, r3, #8 tmpreg = (uint32_t)(((uint32_t)RTC_ByteToBcd2(sTime->Hours) << 16) | \ 80bd2b6: 431c orrs r4, r3 ((uint32_t)RTC_ByteToBcd2(sTime->Seconds)) | \ 80bd2b8: 68bb ldr r3, [r7, #8] 80bd2ba: 789b ldrb r3, [r3, #2] 80bd2bc: 4618 mov r0, r3 80bd2be: f000 fa33 bl 80bd728 80bd2c2: 4603 mov r3, r0 ((uint32_t)RTC_ByteToBcd2(sTime->Minutes) << 8) | \ 80bd2c4: ea44 0203 orr.w r2, r4, r3 (((uint32_t)sTime->TimeFormat) << 16)); 80bd2c8: 68bb ldr r3, [r7, #8] 80bd2ca: 7b1b ldrb r3, [r3, #12] 80bd2cc: 041b lsls r3, r3, #16 tmpreg = (uint32_t)(((uint32_t)RTC_ByteToBcd2(sTime->Hours) << 16) | \ 80bd2ce: 4313 orrs r3, r2 80bd2d0: 617b str r3, [r7, #20] 80bd2d2: e018 b.n 80bd306 } else { if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) 80bd2d4: 68fb ldr r3, [r7, #12] 80bd2d6: 681b ldr r3, [r3, #0] 80bd2d8: 689b ldr r3, [r3, #8] 80bd2da: f003 0340 and.w r3, r3, #64 ; 0x40 80bd2de: 2b00 cmp r3, #0 80bd2e0: d102 bne.n 80bd2e8 assert_param(IS_RTC_HOUR12(RTC_Bcd2ToByte(sTime->Hours))); assert_param(IS_RTC_HOURFORMAT12(sTime->TimeFormat)); } else { sTime->TimeFormat = 0x00; 80bd2e2: 68bb ldr r3, [r7, #8] 80bd2e4: 2200 movs r2, #0 80bd2e6: 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) | \ 80bd2e8: 68bb ldr r3, [r7, #8] 80bd2ea: 781b ldrb r3, [r3, #0] 80bd2ec: 041a lsls r2, r3, #16 ((uint32_t)(sTime->Minutes) << 8) | \ 80bd2ee: 68bb ldr r3, [r7, #8] 80bd2f0: 785b ldrb r3, [r3, #1] 80bd2f2: 021b lsls r3, r3, #8 tmpreg = (((uint32_t)(sTime->Hours) << 16) | \ 80bd2f4: 4313 orrs r3, r2 ((uint32_t)sTime->Seconds) | \ 80bd2f6: 68ba ldr r2, [r7, #8] 80bd2f8: 7892 ldrb r2, [r2, #2] ((uint32_t)(sTime->Minutes) << 8) | \ 80bd2fa: 431a orrs r2, r3 ((uint32_t)(sTime->TimeFormat) << 16)); 80bd2fc: 68bb ldr r3, [r7, #8] 80bd2fe: 7b1b ldrb r3, [r3, #12] 80bd300: 041b lsls r3, r3, #16 tmpreg = (((uint32_t)(sTime->Hours) << 16) | \ 80bd302: 4313 orrs r3, r2 80bd304: 617b str r3, [r7, #20] } /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 80bd306: 68fb ldr r3, [r7, #12] 80bd308: 681b ldr r3, [r3, #0] 80bd30a: 22ca movs r2, #202 ; 0xca 80bd30c: 625a str r2, [r3, #36] ; 0x24 80bd30e: 68fb ldr r3, [r7, #12] 80bd310: 681b ldr r3, [r3, #0] 80bd312: 2253 movs r2, #83 ; 0x53 80bd314: 625a str r2, [r3, #36] ; 0x24 /* Set Initialization mode */ if(RTC_EnterInitMode(hrtc) != HAL_OK) 80bd316: 68f8 ldr r0, [r7, #12] 80bd318: f000 f9da bl 80bd6d0 80bd31c: 4603 mov r3, r0 80bd31e: 2b00 cmp r3, #0 80bd320: d00b beq.n 80bd33a { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80bd322: 68fb ldr r3, [r7, #12] 80bd324: 681b ldr r3, [r3, #0] 80bd326: 22ff movs r2, #255 ; 0xff 80bd328: 625a str r2, [r3, #36] ; 0x24 /* Set RTC state */ hrtc->State = HAL_RTC_STATE_ERROR; 80bd32a: 68fb ldr r3, [r7, #12] 80bd32c: 2204 movs r2, #4 80bd32e: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80bd330: 68fb ldr r3, [r7, #12] 80bd332: 2200 movs r2, #0 80bd334: 771a strb r2, [r3, #28] return HAL_ERROR; 80bd336: 2301 movs r3, #1 80bd338: e045 b.n 80bd3c6 } else { /* Set the RTC_TR register */ hrtc->Instance->TR = (uint32_t)(tmpreg & RTC_TR_RESERVED_MASK); 80bd33a: 68fb ldr r3, [r7, #12] 80bd33c: 681a ldr r2, [r3, #0] 80bd33e: 6979 ldr r1, [r7, #20] 80bd340: 4b23 ldr r3, [pc, #140] ; (80bd3d0 ) 80bd342: 400b ands r3, r1 80bd344: 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; 80bd346: 68fb ldr r3, [r7, #12] 80bd348: 681b ldr r3, [r3, #0] 80bd34a: 68fa ldr r2, [r7, #12] 80bd34c: 6812 ldr r2, [r2, #0] 80bd34e: 6892 ldr r2, [r2, #8] 80bd350: f422 2280 bic.w r2, r2, #262144 ; 0x40000 80bd354: 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); 80bd356: 68fb ldr r3, [r7, #12] 80bd358: 681b ldr r3, [r3, #0] 80bd35a: 68fa ldr r2, [r7, #12] 80bd35c: 6812 ldr r2, [r2, #0] 80bd35e: 6891 ldr r1, [r2, #8] 80bd360: 68ba ldr r2, [r7, #8] 80bd362: 6910 ldr r0, [r2, #16] 80bd364: 68ba ldr r2, [r7, #8] 80bd366: 6952 ldr r2, [r2, #20] 80bd368: 4302 orrs r2, r0 80bd36a: 430a orrs r2, r1 80bd36c: 609a str r2, [r3, #8] /* Exit Initialization mode */ hrtc->Instance->ISR &= (uint32_t)~RTC_ISR_INIT; 80bd36e: 68fb ldr r3, [r7, #12] 80bd370: 681b ldr r3, [r3, #0] 80bd372: 68fa ldr r2, [r7, #12] 80bd374: 6812 ldr r2, [r2, #0] 80bd376: 68d2 ldr r2, [r2, #12] 80bd378: f022 0280 bic.w r2, r2, #128 ; 0x80 80bd37c: 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) 80bd37e: 68fb ldr r3, [r7, #12] 80bd380: 681b ldr r3, [r3, #0] 80bd382: 689b ldr r3, [r3, #8] 80bd384: f003 0320 and.w r3, r3, #32 80bd388: 2b00 cmp r3, #0 80bd38a: d111 bne.n 80bd3b0 { if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) 80bd38c: 68f8 ldr r0, [r7, #12] 80bd38e: f000 f977 bl 80bd680 80bd392: 4603 mov r3, r0 80bd394: 2b00 cmp r3, #0 80bd396: d00b beq.n 80bd3b0 { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80bd398: 68fb ldr r3, [r7, #12] 80bd39a: 681b ldr r3, [r3, #0] 80bd39c: 22ff movs r2, #255 ; 0xff 80bd39e: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_ERROR; 80bd3a0: 68fb ldr r3, [r7, #12] 80bd3a2: 2204 movs r2, #4 80bd3a4: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80bd3a6: 68fb ldr r3, [r7, #12] 80bd3a8: 2200 movs r2, #0 80bd3aa: 771a strb r2, [r3, #28] return HAL_ERROR; 80bd3ac: 2301 movs r3, #1 80bd3ae: e00a b.n 80bd3c6 } } /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80bd3b0: 68fb ldr r3, [r7, #12] 80bd3b2: 681b ldr r3, [r3, #0] 80bd3b4: 22ff movs r2, #255 ; 0xff 80bd3b6: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_READY; 80bd3b8: 68fb ldr r3, [r7, #12] 80bd3ba: 2201 movs r2, #1 80bd3bc: 775a strb r2, [r3, #29] __HAL_UNLOCK(hrtc); 80bd3be: 68fb ldr r3, [r7, #12] 80bd3c0: 2200 movs r2, #0 80bd3c2: 771a strb r2, [r3, #28] return HAL_OK; 80bd3c4: 2300 movs r3, #0 } } 80bd3c6: 4618 mov r0, r3 80bd3c8: 371c adds r7, #28 80bd3ca: 46bd mov sp, r7 80bd3cc: bd90 pop {r4, r7, pc} 80bd3ce: bf00 nop 80bd3d0: 007f7f7f .word 0x007f7f7f 080bd3d4 : * 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) { 80bd3d4: b580 push {r7, lr} 80bd3d6: b086 sub sp, #24 80bd3d8: af00 add r7, sp, #0 80bd3da: 60f8 str r0, [r7, #12] 80bd3dc: 60b9 str r1, [r7, #8] 80bd3de: 607a str r2, [r7, #4] uint32_t tmpreg = 0; 80bd3e0: 2300 movs r3, #0 80bd3e2: 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); 80bd3e4: 68fb ldr r3, [r7, #12] 80bd3e6: 681b ldr r3, [r3, #0] 80bd3e8: 6a9a ldr r2, [r3, #40] ; 0x28 80bd3ea: 68bb ldr r3, [r7, #8] 80bd3ec: 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); 80bd3ee: 68fb ldr r3, [r7, #12] 80bd3f0: 681b ldr r3, [r3, #0] 80bd3f2: 691b ldr r3, [r3, #16] 80bd3f4: f3c3 020e ubfx r2, r3, #0, #15 80bd3f8: 68bb ldr r3, [r7, #8] 80bd3fa: 609a str r2, [r3, #8] /* Get the TR register */ tmpreg = (uint32_t)(hrtc->Instance->TR & RTC_TR_RESERVED_MASK); 80bd3fc: 68fb ldr r3, [r7, #12] 80bd3fe: 681b ldr r3, [r3, #0] 80bd400: 681a ldr r2, [r3, #0] 80bd402: 4b22 ldr r3, [pc, #136] ; (80bd48c ) 80bd404: 4013 ands r3, r2 80bd406: 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); 80bd408: 697b ldr r3, [r7, #20] 80bd40a: 0c1b lsrs r3, r3, #16 80bd40c: b2db uxtb r3, r3 80bd40e: f003 033f and.w r3, r3, #63 ; 0x3f 80bd412: b2da uxtb r2, r3 80bd414: 68bb ldr r3, [r7, #8] 80bd416: 701a strb r2, [r3, #0] sTime->Minutes = (uint8_t)((tmpreg & (RTC_TR_MNT | RTC_TR_MNU)) >>8); 80bd418: 697b ldr r3, [r7, #20] 80bd41a: 0a1b lsrs r3, r3, #8 80bd41c: b2db uxtb r3, r3 80bd41e: f003 037f and.w r3, r3, #127 ; 0x7f 80bd422: b2da uxtb r2, r3 80bd424: 68bb ldr r3, [r7, #8] 80bd426: 705a strb r2, [r3, #1] sTime->Seconds = (uint8_t)(tmpreg & (RTC_TR_ST | RTC_TR_SU)); 80bd428: 697b ldr r3, [r7, #20] 80bd42a: b2db uxtb r3, r3 80bd42c: f003 037f and.w r3, r3, #127 ; 0x7f 80bd430: b2da uxtb r2, r3 80bd432: 68bb ldr r3, [r7, #8] 80bd434: 709a strb r2, [r3, #2] sTime->TimeFormat = (uint8_t)((tmpreg & (RTC_TR_PM)) >> 16); 80bd436: 697b ldr r3, [r7, #20] 80bd438: 0c1b lsrs r3, r3, #16 80bd43a: b2db uxtb r3, r3 80bd43c: f003 0340 and.w r3, r3, #64 ; 0x40 80bd440: b2da uxtb r2, r3 80bd442: 68bb ldr r3, [r7, #8] 80bd444: 731a strb r2, [r3, #12] /* Check the input parameters format */ if(Format == RTC_FORMAT_BIN) 80bd446: 687b ldr r3, [r7, #4] 80bd448: 2b00 cmp r3, #0 80bd44a: d11a bne.n 80bd482 { /* Convert the time structure parameters to Binary format */ sTime->Hours = (uint8_t)RTC_Bcd2ToByte(sTime->Hours); 80bd44c: 68bb ldr r3, [r7, #8] 80bd44e: 781b ldrb r3, [r3, #0] 80bd450: 4618 mov r0, r3 80bd452: f000 f987 bl 80bd764 80bd456: 4603 mov r3, r0 80bd458: 461a mov r2, r3 80bd45a: 68bb ldr r3, [r7, #8] 80bd45c: 701a strb r2, [r3, #0] sTime->Minutes = (uint8_t)RTC_Bcd2ToByte(sTime->Minutes); 80bd45e: 68bb ldr r3, [r7, #8] 80bd460: 785b ldrb r3, [r3, #1] 80bd462: 4618 mov r0, r3 80bd464: f000 f97e bl 80bd764 80bd468: 4603 mov r3, r0 80bd46a: 461a mov r2, r3 80bd46c: 68bb ldr r3, [r7, #8] 80bd46e: 705a strb r2, [r3, #1] sTime->Seconds = (uint8_t)RTC_Bcd2ToByte(sTime->Seconds); 80bd470: 68bb ldr r3, [r7, #8] 80bd472: 789b ldrb r3, [r3, #2] 80bd474: 4618 mov r0, r3 80bd476: f000 f975 bl 80bd764 80bd47a: 4603 mov r3, r0 80bd47c: 461a mov r2, r3 80bd47e: 68bb ldr r3, [r7, #8] 80bd480: 709a strb r2, [r3, #2] } return HAL_OK; 80bd482: 2300 movs r3, #0 } 80bd484: 4618 mov r0, r3 80bd486: 3718 adds r7, #24 80bd488: 46bd mov sp, r7 80bd48a: bd80 pop {r7, pc} 80bd48c: 007f7f7f .word 0x007f7f7f 080bd490 : * @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) { 80bd490: b590 push {r4, r7, lr} 80bd492: b087 sub sp, #28 80bd494: af00 add r7, sp, #0 80bd496: 60f8 str r0, [r7, #12] 80bd498: 60b9 str r1, [r7, #8] 80bd49a: 607a str r2, [r7, #4] uint32_t datetmpreg = 0; 80bd49c: 2300 movs r3, #0 80bd49e: 617b str r3, [r7, #20] /* Check the parameters */ assert_param(IS_RTC_FORMAT(Format)); /* Process Locked */ __HAL_LOCK(hrtc); 80bd4a0: 68fb ldr r3, [r7, #12] 80bd4a2: 7f1b ldrb r3, [r3, #28] 80bd4a4: 2b01 cmp r3, #1 80bd4a6: d101 bne.n 80bd4ac 80bd4a8: 2302 movs r3, #2 80bd4aa: e092 b.n 80bd5d2 80bd4ac: 68fb ldr r3, [r7, #12] 80bd4ae: 2201 movs r2, #1 80bd4b0: 771a strb r2, [r3, #28] hrtc->State = HAL_RTC_STATE_BUSY; 80bd4b2: 68fb ldr r3, [r7, #12] 80bd4b4: 2202 movs r2, #2 80bd4b6: 775a strb r2, [r3, #29] if((Format == RTC_FORMAT_BIN) && ((sDate->Month & 0x10U) == 0x10U)) 80bd4b8: 687b ldr r3, [r7, #4] 80bd4ba: 2b00 cmp r3, #0 80bd4bc: d10e bne.n 80bd4dc 80bd4be: 68bb ldr r3, [r7, #8] 80bd4c0: 785b ldrb r3, [r3, #1] 80bd4c2: f003 0310 and.w r3, r3, #16 80bd4c6: 2b00 cmp r3, #0 80bd4c8: d008 beq.n 80bd4dc { sDate->Month = (uint8_t)((sDate->Month & (uint8_t)~(0x10U)) + (uint8_t)0x0AU); 80bd4ca: 68bb ldr r3, [r7, #8] 80bd4cc: 785b ldrb r3, [r3, #1] 80bd4ce: f023 0310 bic.w r3, r3, #16 80bd4d2: b2db uxtb r3, r3 80bd4d4: 330a adds r3, #10 80bd4d6: b2da uxtb r2, r3 80bd4d8: 68bb ldr r3, [r7, #8] 80bd4da: 705a strb r2, [r3, #1] } assert_param(IS_RTC_WEEKDAY(sDate->WeekDay)); if(Format == RTC_FORMAT_BIN) 80bd4dc: 687b ldr r3, [r7, #4] 80bd4de: 2b00 cmp r3, #0 80bd4e0: d11c bne.n 80bd51c { 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) | \ 80bd4e2: 68bb ldr r3, [r7, #8] 80bd4e4: 78db ldrb r3, [r3, #3] 80bd4e6: 4618 mov r0, r3 80bd4e8: f000 f91e bl 80bd728 80bd4ec: 4603 mov r3, r0 80bd4ee: 041c lsls r4, r3, #16 ((uint32_t)RTC_ByteToBcd2(sDate->Month) << 8) | \ 80bd4f0: 68bb ldr r3, [r7, #8] 80bd4f2: 785b ldrb r3, [r3, #1] 80bd4f4: 4618 mov r0, r3 80bd4f6: f000 f917 bl 80bd728 80bd4fa: 4603 mov r3, r0 80bd4fc: 021b lsls r3, r3, #8 datetmpreg = (((uint32_t)RTC_ByteToBcd2(sDate->Year) << 16) | \ 80bd4fe: 431c orrs r4, r3 ((uint32_t)RTC_ByteToBcd2(sDate->Date)) | \ 80bd500: 68bb ldr r3, [r7, #8] 80bd502: 789b ldrb r3, [r3, #2] 80bd504: 4618 mov r0, r3 80bd506: f000 f90f bl 80bd728 80bd50a: 4603 mov r3, r0 ((uint32_t)RTC_ByteToBcd2(sDate->Month) << 8) | \ 80bd50c: ea44 0203 orr.w r2, r4, r3 ((uint32_t)sDate->WeekDay << 13)); 80bd510: 68bb ldr r3, [r7, #8] 80bd512: 781b ldrb r3, [r3, #0] 80bd514: 035b lsls r3, r3, #13 datetmpreg = (((uint32_t)RTC_ByteToBcd2(sDate->Year) << 16) | \ 80bd516: 4313 orrs r3, r2 80bd518: 617b str r3, [r7, #20] 80bd51a: e00e b.n 80bd53a { 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) | \ 80bd51c: 68bb ldr r3, [r7, #8] 80bd51e: 78db ldrb r3, [r3, #3] 80bd520: 041a lsls r2, r3, #16 (((uint32_t)sDate->Month) << 8) | \ 80bd522: 68bb ldr r3, [r7, #8] 80bd524: 785b ldrb r3, [r3, #1] 80bd526: 021b lsls r3, r3, #8 datetmpreg = ((((uint32_t)sDate->Year) << 16) | \ 80bd528: 4313 orrs r3, r2 ((uint32_t)sDate->Date) | \ 80bd52a: 68ba ldr r2, [r7, #8] 80bd52c: 7892 ldrb r2, [r2, #2] (((uint32_t)sDate->Month) << 8) | \ 80bd52e: 431a orrs r2, r3 (((uint32_t)sDate->WeekDay) << 13)); 80bd530: 68bb ldr r3, [r7, #8] 80bd532: 781b ldrb r3, [r3, #0] 80bd534: 035b lsls r3, r3, #13 datetmpreg = ((((uint32_t)sDate->Year) << 16) | \ 80bd536: 4313 orrs r3, r2 80bd538: 617b str r3, [r7, #20] } /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 80bd53a: 68fb ldr r3, [r7, #12] 80bd53c: 681b ldr r3, [r3, #0] 80bd53e: 22ca movs r2, #202 ; 0xca 80bd540: 625a str r2, [r3, #36] ; 0x24 80bd542: 68fb ldr r3, [r7, #12] 80bd544: 681b ldr r3, [r3, #0] 80bd546: 2253 movs r2, #83 ; 0x53 80bd548: 625a str r2, [r3, #36] ; 0x24 /* Set Initialization mode */ if(RTC_EnterInitMode(hrtc) != HAL_OK) 80bd54a: 68f8 ldr r0, [r7, #12] 80bd54c: f000 f8c0 bl 80bd6d0 80bd550: 4603 mov r3, r0 80bd552: 2b00 cmp r3, #0 80bd554: d00b beq.n 80bd56e { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80bd556: 68fb ldr r3, [r7, #12] 80bd558: 681b ldr r3, [r3, #0] 80bd55a: 22ff movs r2, #255 ; 0xff 80bd55c: 625a str r2, [r3, #36] ; 0x24 /* Set RTC state*/ hrtc->State = HAL_RTC_STATE_ERROR; 80bd55e: 68fb ldr r3, [r7, #12] 80bd560: 2204 movs r2, #4 80bd562: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80bd564: 68fb ldr r3, [r7, #12] 80bd566: 2200 movs r2, #0 80bd568: 771a strb r2, [r3, #28] return HAL_ERROR; 80bd56a: 2301 movs r3, #1 80bd56c: e031 b.n 80bd5d2 } else { /* Set the RTC_DR register */ hrtc->Instance->DR = (uint32_t)(datetmpreg & RTC_DR_RESERVED_MASK); 80bd56e: 68fb ldr r3, [r7, #12] 80bd570: 681a ldr r2, [r3, #0] 80bd572: 6979 ldr r1, [r7, #20] 80bd574: 4b19 ldr r3, [pc, #100] ; (80bd5dc ) 80bd576: 400b ands r3, r1 80bd578: 6053 str r3, [r2, #4] /* Exit Initialization mode */ hrtc->Instance->ISR &= (uint32_t)~RTC_ISR_INIT; 80bd57a: 68fb ldr r3, [r7, #12] 80bd57c: 681b ldr r3, [r3, #0] 80bd57e: 68fa ldr r2, [r7, #12] 80bd580: 6812 ldr r2, [r2, #0] 80bd582: 68d2 ldr r2, [r2, #12] 80bd584: f022 0280 bic.w r2, r2, #128 ; 0x80 80bd588: 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) 80bd58a: 68fb ldr r3, [r7, #12] 80bd58c: 681b ldr r3, [r3, #0] 80bd58e: 689b ldr r3, [r3, #8] 80bd590: f003 0320 and.w r3, r3, #32 80bd594: 2b00 cmp r3, #0 80bd596: d111 bne.n 80bd5bc { if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) 80bd598: 68f8 ldr r0, [r7, #12] 80bd59a: f000 f871 bl 80bd680 80bd59e: 4603 mov r3, r0 80bd5a0: 2b00 cmp r3, #0 80bd5a2: d00b beq.n 80bd5bc { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80bd5a4: 68fb ldr r3, [r7, #12] 80bd5a6: 681b ldr r3, [r3, #0] 80bd5a8: 22ff movs r2, #255 ; 0xff 80bd5aa: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_ERROR; 80bd5ac: 68fb ldr r3, [r7, #12] 80bd5ae: 2204 movs r2, #4 80bd5b0: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80bd5b2: 68fb ldr r3, [r7, #12] 80bd5b4: 2200 movs r2, #0 80bd5b6: 771a strb r2, [r3, #28] return HAL_ERROR; 80bd5b8: 2301 movs r3, #1 80bd5ba: e00a b.n 80bd5d2 } } /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80bd5bc: 68fb ldr r3, [r7, #12] 80bd5be: 681b ldr r3, [r3, #0] 80bd5c0: 22ff movs r2, #255 ; 0xff 80bd5c2: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_READY ; 80bd5c4: 68fb ldr r3, [r7, #12] 80bd5c6: 2201 movs r2, #1 80bd5c8: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80bd5ca: 68fb ldr r3, [r7, #12] 80bd5cc: 2200 movs r2, #0 80bd5ce: 771a strb r2, [r3, #28] return HAL_OK; 80bd5d0: 2300 movs r3, #0 } } 80bd5d2: 4618 mov r0, r3 80bd5d4: 371c adds r7, #28 80bd5d6: 46bd mov sp, r7 80bd5d8: bd90 pop {r4, r7, pc} 80bd5da: bf00 nop 80bd5dc: 00ffff3f .word 0x00ffff3f 080bd5e0 : * 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) { 80bd5e0: b580 push {r7, lr} 80bd5e2: b086 sub sp, #24 80bd5e4: af00 add r7, sp, #0 80bd5e6: 60f8 str r0, [r7, #12] 80bd5e8: 60b9 str r1, [r7, #8] 80bd5ea: 607a str r2, [r7, #4] uint32_t datetmpreg = 0; 80bd5ec: 2300 movs r3, #0 80bd5ee: 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); 80bd5f0: 68fb ldr r3, [r7, #12] 80bd5f2: 681b ldr r3, [r3, #0] 80bd5f4: 685a ldr r2, [r3, #4] 80bd5f6: 4b21 ldr r3, [pc, #132] ; (80bd67c ) 80bd5f8: 4013 ands r3, r2 80bd5fa: 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); 80bd5fc: 697b ldr r3, [r7, #20] 80bd5fe: 0c1b lsrs r3, r3, #16 80bd600: b2da uxtb r2, r3 80bd602: 68bb ldr r3, [r7, #8] 80bd604: 70da strb r2, [r3, #3] sDate->Month = (uint8_t)((datetmpreg & (RTC_DR_MT | RTC_DR_MU)) >> 8); 80bd606: 697b ldr r3, [r7, #20] 80bd608: 0a1b lsrs r3, r3, #8 80bd60a: b2db uxtb r3, r3 80bd60c: f003 031f and.w r3, r3, #31 80bd610: b2da uxtb r2, r3 80bd612: 68bb ldr r3, [r7, #8] 80bd614: 705a strb r2, [r3, #1] sDate->Date = (uint8_t)(datetmpreg & (RTC_DR_DT | RTC_DR_DU)); 80bd616: 697b ldr r3, [r7, #20] 80bd618: b2db uxtb r3, r3 80bd61a: f003 033f and.w r3, r3, #63 ; 0x3f 80bd61e: b2da uxtb r2, r3 80bd620: 68bb ldr r3, [r7, #8] 80bd622: 709a strb r2, [r3, #2] sDate->WeekDay = (uint8_t)((datetmpreg & (RTC_DR_WDU)) >> 13); 80bd624: 697b ldr r3, [r7, #20] 80bd626: 0b5b lsrs r3, r3, #13 80bd628: b2db uxtb r3, r3 80bd62a: f003 0307 and.w r3, r3, #7 80bd62e: b2da uxtb r2, r3 80bd630: 68bb ldr r3, [r7, #8] 80bd632: 701a strb r2, [r3, #0] /* Check the input parameters format */ if(Format == RTC_FORMAT_BIN) 80bd634: 687b ldr r3, [r7, #4] 80bd636: 2b00 cmp r3, #0 80bd638: d11a bne.n 80bd670 { /* Convert the date structure parameters to Binary format */ sDate->Year = (uint8_t)RTC_Bcd2ToByte(sDate->Year); 80bd63a: 68bb ldr r3, [r7, #8] 80bd63c: 78db ldrb r3, [r3, #3] 80bd63e: 4618 mov r0, r3 80bd640: f000 f890 bl 80bd764 80bd644: 4603 mov r3, r0 80bd646: 461a mov r2, r3 80bd648: 68bb ldr r3, [r7, #8] 80bd64a: 70da strb r2, [r3, #3] sDate->Month = (uint8_t)RTC_Bcd2ToByte(sDate->Month); 80bd64c: 68bb ldr r3, [r7, #8] 80bd64e: 785b ldrb r3, [r3, #1] 80bd650: 4618 mov r0, r3 80bd652: f000 f887 bl 80bd764 80bd656: 4603 mov r3, r0 80bd658: 461a mov r2, r3 80bd65a: 68bb ldr r3, [r7, #8] 80bd65c: 705a strb r2, [r3, #1] sDate->Date = (uint8_t)RTC_Bcd2ToByte(sDate->Date); 80bd65e: 68bb ldr r3, [r7, #8] 80bd660: 789b ldrb r3, [r3, #2] 80bd662: 4618 mov r0, r3 80bd664: f000 f87e bl 80bd764 80bd668: 4603 mov r3, r0 80bd66a: 461a mov r2, r3 80bd66c: 68bb ldr r3, [r7, #8] 80bd66e: 709a strb r2, [r3, #2] } return HAL_OK; 80bd670: 2300 movs r3, #0 } 80bd672: 4618 mov r0, r3 80bd674: 3718 adds r7, #24 80bd676: 46bd mov sp, r7 80bd678: bd80 pop {r7, pc} 80bd67a: bf00 nop 80bd67c: 00ffff3f .word 0x00ffff3f 080bd680 : * @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) { 80bd680: b580 push {r7, lr} 80bd682: b084 sub sp, #16 80bd684: af00 add r7, sp, #0 80bd686: 6078 str r0, [r7, #4] uint32_t tickstart = 0; 80bd688: 2300 movs r3, #0 80bd68a: 60fb str r3, [r7, #12] /* Clear RSF flag */ hrtc->Instance->ISR &= (uint32_t)RTC_RSF_MASK; 80bd68c: 687b ldr r3, [r7, #4] 80bd68e: 681b ldr r3, [r3, #0] 80bd690: 687a ldr r2, [r7, #4] 80bd692: 6812 ldr r2, [r2, #0] 80bd694: 68d2 ldr r2, [r2, #12] 80bd696: f022 02a0 bic.w r2, r2, #160 ; 0xa0 80bd69a: 60da str r2, [r3, #12] /* Get tick */ tickstart = HAL_GetTick(); 80bd69c: f7fa f9c2 bl 80b7a24 80bd6a0: 60f8 str r0, [r7, #12] /* Wait the registers to be synchronised */ while((hrtc->Instance->ISR & RTC_ISR_RSF) == (uint32_t)RESET) 80bd6a2: e009 b.n 80bd6b8 { if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) 80bd6a4: f7fa f9be bl 80b7a24 80bd6a8: 4602 mov r2, r0 80bd6aa: 68fb ldr r3, [r7, #12] 80bd6ac: 1ad3 subs r3, r2, r3 80bd6ae: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80bd6b2: d901 bls.n 80bd6b8 { return HAL_TIMEOUT; 80bd6b4: 2303 movs r3, #3 80bd6b6: e007 b.n 80bd6c8 while((hrtc->Instance->ISR & RTC_ISR_RSF) == (uint32_t)RESET) 80bd6b8: 687b ldr r3, [r7, #4] 80bd6ba: 681b ldr r3, [r3, #0] 80bd6bc: 68db ldr r3, [r3, #12] 80bd6be: f003 0320 and.w r3, r3, #32 80bd6c2: 2b00 cmp r3, #0 80bd6c4: d0ee beq.n 80bd6a4 } } return HAL_OK; 80bd6c6: 2300 movs r3, #0 } 80bd6c8: 4618 mov r0, r3 80bd6ca: 3710 adds r7, #16 80bd6cc: 46bd mov sp, r7 80bd6ce: bd80 pop {r7, pc} 080bd6d0 : * @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) { 80bd6d0: b580 push {r7, lr} 80bd6d2: b084 sub sp, #16 80bd6d4: af00 add r7, sp, #0 80bd6d6: 6078 str r0, [r7, #4] uint32_t tickstart = 0; 80bd6d8: 2300 movs r3, #0 80bd6da: 60fb str r3, [r7, #12] /* Check if the Initialization mode is set */ if((hrtc->Instance->ISR & RTC_ISR_INITF) == (uint32_t)RESET) 80bd6dc: 687b ldr r3, [r7, #4] 80bd6de: 681b ldr r3, [r3, #0] 80bd6e0: 68db ldr r3, [r3, #12] 80bd6e2: f003 0340 and.w r3, r3, #64 ; 0x40 80bd6e6: 2b00 cmp r3, #0 80bd6e8: d119 bne.n 80bd71e { /* Set the Initialization mode */ hrtc->Instance->ISR = (uint32_t)RTC_INIT_MASK; 80bd6ea: 687b ldr r3, [r7, #4] 80bd6ec: 681b ldr r3, [r3, #0] 80bd6ee: f04f 32ff mov.w r2, #4294967295 80bd6f2: 60da str r2, [r3, #12] /* Get tick */ tickstart = HAL_GetTick(); 80bd6f4: f7fa f996 bl 80b7a24 80bd6f8: 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) 80bd6fa: e009 b.n 80bd710 { if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) 80bd6fc: f7fa f992 bl 80b7a24 80bd700: 4602 mov r2, r0 80bd702: 68fb ldr r3, [r7, #12] 80bd704: 1ad3 subs r3, r2, r3 80bd706: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80bd70a: d901 bls.n 80bd710 { return HAL_TIMEOUT; 80bd70c: 2303 movs r3, #3 80bd70e: e007 b.n 80bd720 while((hrtc->Instance->ISR & RTC_ISR_INITF) == (uint32_t)RESET) 80bd710: 687b ldr r3, [r7, #4] 80bd712: 681b ldr r3, [r3, #0] 80bd714: 68db ldr r3, [r3, #12] 80bd716: f003 0340 and.w r3, r3, #64 ; 0x40 80bd71a: 2b00 cmp r3, #0 80bd71c: d0ee beq.n 80bd6fc } } } return HAL_OK; 80bd71e: 2300 movs r3, #0 } 80bd720: 4618 mov r0, r3 80bd722: 3710 adds r7, #16 80bd724: 46bd mov sp, r7 80bd726: bd80 pop {r7, pc} 080bd728 : * @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) { 80bd728: b480 push {r7} 80bd72a: b085 sub sp, #20 80bd72c: af00 add r7, sp, #0 80bd72e: 4603 mov r3, r0 80bd730: 71fb strb r3, [r7, #7] uint32_t bcdhigh = 0; 80bd732: 2300 movs r3, #0 80bd734: 60fb str r3, [r7, #12] while(Value >= 10) 80bd736: e005 b.n 80bd744 { bcdhigh++; 80bd738: 68fb ldr r3, [r7, #12] 80bd73a: 3301 adds r3, #1 80bd73c: 60fb str r3, [r7, #12] Value -= 10; 80bd73e: 79fb ldrb r3, [r7, #7] 80bd740: 3b0a subs r3, #10 80bd742: 71fb strb r3, [r7, #7] while(Value >= 10) 80bd744: 79fb ldrb r3, [r7, #7] 80bd746: 2b09 cmp r3, #9 80bd748: d8f6 bhi.n 80bd738 } return ((uint8_t)(bcdhigh << 4) | Value); 80bd74a: 68fb ldr r3, [r7, #12] 80bd74c: b2db uxtb r3, r3 80bd74e: 011b lsls r3, r3, #4 80bd750: b2da uxtb r2, r3 80bd752: 79fb ldrb r3, [r7, #7] 80bd754: 4313 orrs r3, r2 80bd756: b2db uxtb r3, r3 } 80bd758: 4618 mov r0, r3 80bd75a: 3714 adds r7, #20 80bd75c: 46bd mov sp, r7 80bd75e: f85d 7b04 ldr.w r7, [sp], #4 80bd762: 4770 bx lr 080bd764 : * @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) { 80bd764: b480 push {r7} 80bd766: b085 sub sp, #20 80bd768: af00 add r7, sp, #0 80bd76a: 4603 mov r3, r0 80bd76c: 71fb strb r3, [r7, #7] uint32_t tmp = 0; 80bd76e: 2300 movs r3, #0 80bd770: 60fb str r3, [r7, #12] tmp = ((uint8_t)(Value & (uint8_t)0xF0) >> (uint8_t)0x4) * 10; 80bd772: 79fb ldrb r3, [r7, #7] 80bd774: 091b lsrs r3, r3, #4 80bd776: b2db uxtb r3, r3 80bd778: 461a mov r2, r3 80bd77a: 4613 mov r3, r2 80bd77c: 009b lsls r3, r3, #2 80bd77e: 4413 add r3, r2 80bd780: 005b lsls r3, r3, #1 80bd782: 60fb str r3, [r7, #12] return (tmp + (Value & (uint8_t)0x0F)); 80bd784: 79fb ldrb r3, [r7, #7] 80bd786: f003 030f and.w r3, r3, #15 80bd78a: b2da uxtb r2, r3 80bd78c: 68fb ldr r3, [r7, #12] 80bd78e: b2db uxtb r3, r3 80bd790: 4413 add r3, r2 80bd792: b2db uxtb r3, r3 } 80bd794: 4618 mov r0, r3 80bd796: 3714 adds r7, #20 80bd798: 46bd mov sp, r7 80bd79a: f85d 7b04 ldr.w r7, [sp], #4 80bd79e: 4770 bx lr 080bd7a0 : * 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) { 80bd7a0: b480 push {r7} 80bd7a2: b087 sub sp, #28 80bd7a4: af00 add r7, sp, #0 80bd7a6: 60f8 str r0, [r7, #12] 80bd7a8: 60b9 str r1, [r7, #8] 80bd7aa: 607a str r2, [r7, #4] uint32_t tmp = 0; 80bd7ac: 2300 movs r3, #0 80bd7ae: 617b str r3, [r7, #20] /* Check the parameters */ assert_param(IS_RTC_BKP(BackupRegister)); tmp = (uint32_t)&(hrtc->Instance->BKP0R); 80bd7b0: 68fb ldr r3, [r7, #12] 80bd7b2: 681b ldr r3, [r3, #0] 80bd7b4: 3350 adds r3, #80 ; 0x50 80bd7b6: 617b str r3, [r7, #20] tmp += (BackupRegister * 4); 80bd7b8: 68bb ldr r3, [r7, #8] 80bd7ba: 009b lsls r3, r3, #2 80bd7bc: 697a ldr r2, [r7, #20] 80bd7be: 4413 add r3, r2 80bd7c0: 617b str r3, [r7, #20] /* Write the specified register */ *(__IO uint32_t *)tmp = (uint32_t)Data; 80bd7c2: 697b ldr r3, [r7, #20] 80bd7c4: 687a ldr r2, [r7, #4] 80bd7c6: 601a str r2, [r3, #0] } 80bd7c8: bf00 nop 80bd7ca: 371c adds r7, #28 80bd7cc: 46bd mov sp, r7 80bd7ce: f85d 7b04 ldr.w r7, [sp], #4 80bd7d2: 4770 bx lr 080bd7d4 : * 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) { 80bd7d4: b480 push {r7} 80bd7d6: b085 sub sp, #20 80bd7d8: af00 add r7, sp, #0 80bd7da: 6078 str r0, [r7, #4] 80bd7dc: 6039 str r1, [r7, #0] uint32_t tmp = 0; 80bd7de: 2300 movs r3, #0 80bd7e0: 60fb str r3, [r7, #12] /* Check the parameters */ assert_param(IS_RTC_BKP(BackupRegister)); tmp = (uint32_t)&(hrtc->Instance->BKP0R); 80bd7e2: 687b ldr r3, [r7, #4] 80bd7e4: 681b ldr r3, [r3, #0] 80bd7e6: 3350 adds r3, #80 ; 0x50 80bd7e8: 60fb str r3, [r7, #12] tmp += (BackupRegister * 4); 80bd7ea: 683b ldr r3, [r7, #0] 80bd7ec: 009b lsls r3, r3, #2 80bd7ee: 68fa ldr r2, [r7, #12] 80bd7f0: 4413 add r3, r2 80bd7f2: 60fb str r3, [r7, #12] /* Read the specified register */ return (*(__IO uint32_t *)tmp); 80bd7f4: 68fb ldr r3, [r7, #12] 80bd7f6: 681b ldr r3, [r3, #0] } 80bd7f8: 4618 mov r0, r3 80bd7fa: 3714 adds r7, #20 80bd7fc: 46bd mov sp, r7 80bd7fe: f85d 7b04 ldr.w r7, [sp], #4 80bd802: 4770 bx lr 080bd804 : 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) { 80bd804: b580 push {r7, lr} 80bd806: b082 sub sp, #8 80bd808: af00 add r7, sp, #0 80bd80a: 6078 str r0, [r7, #4] /* Check the SD handle allocation */ if(hsd == NULL) 80bd80c: 687b ldr r3, [r7, #4] 80bd80e: 2b00 cmp r3, #0 80bd810: d101 bne.n 80bd816 { return HAL_ERROR; 80bd812: 2301 movs r3, #1 80bd814: e022 b.n 80bd85c 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) 80bd816: 687b ldr r3, [r7, #4] 80bd818: f893 3034 ldrb.w r3, [r3, #52] ; 0x34 80bd81c: b2db uxtb r3, r3 80bd81e: 2b00 cmp r3, #0 80bd820: d105 bne.n 80bd82e { /* Allocate lock resource and initialize it */ hsd->Lock = HAL_UNLOCKED; 80bd822: 687b ldr r3, [r7, #4] 80bd824: 2200 movs r2, #0 80bd826: 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); 80bd828: 6878 ldr r0, [r7, #4] 80bd82a: f7f4 ff3d bl 80b26a8 #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ } hsd->State = HAL_SD_STATE_BUSY; 80bd82e: 687b ldr r3, [r7, #4] 80bd830: 2203 movs r2, #3 80bd832: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Initialize the Card parameters */ if (HAL_SD_InitCard(hsd) != HAL_OK) 80bd836: 6878 ldr r0, [r7, #4] 80bd838: f000 f814 bl 80bd864 80bd83c: 4603 mov r3, r0 80bd83e: 2b00 cmp r3, #0 80bd840: d001 beq.n 80bd846 { return HAL_ERROR; 80bd842: 2301 movs r3, #1 80bd844: e00a b.n 80bd85c } /* Initialize the error code */ hsd->ErrorCode = HAL_SD_ERROR_NONE; 80bd846: 687b ldr r3, [r7, #4] 80bd848: 2200 movs r2, #0 80bd84a: 639a str r2, [r3, #56] ; 0x38 /* Initialize the SD operation */ hsd->Context = SD_CONTEXT_NONE; 80bd84c: 687b ldr r3, [r7, #4] 80bd84e: 2200 movs r2, #0 80bd850: 631a str r2, [r3, #48] ; 0x30 /* Initialize the SD state */ hsd->State = HAL_SD_STATE_READY; 80bd852: 687b ldr r3, [r7, #4] 80bd854: 2201 movs r2, #1 80bd856: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_OK; 80bd85a: 2300 movs r3, #0 } 80bd85c: 4618 mov r0, r3 80bd85e: 3708 adds r7, #8 80bd860: 46bd mov sp, r7 80bd862: bd80 pop {r7, pc} 080bd864 : * @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) { 80bd864: b5b0 push {r4, r5, r7, lr} 80bd866: b08e sub sp, #56 ; 0x38 80bd868: af04 add r7, sp, #16 80bd86a: 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; 80bd86c: 2300 movs r3, #0 80bd86e: 60bb str r3, [r7, #8] Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE; 80bd870: 2300 movs r3, #0 80bd872: 60fb str r3, [r7, #12] Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE; 80bd874: 2300 movs r3, #0 80bd876: 613b str r3, [r7, #16] Init.BusWide = SDMMC_BUS_WIDE_1B; 80bd878: 2300 movs r3, #0 80bd87a: 617b str r3, [r7, #20] Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE; 80bd87c: 2300 movs r3, #0 80bd87e: 61bb str r3, [r7, #24] Init.ClockDiv = SDMMC_INIT_CLK_DIV; 80bd880: 2376 movs r3, #118 ; 0x76 80bd882: 61fb str r3, [r7, #28] /* Initialize SDMMC peripheral interface with default configuration */ status = SDMMC_Init(hsd->Instance, Init); 80bd884: 687b ldr r3, [r7, #4] 80bd886: 681d ldr r5, [r3, #0] 80bd888: 466c mov r4, sp 80bd88a: f107 0314 add.w r3, r7, #20 80bd88e: e893 0007 ldmia.w r3, {r0, r1, r2} 80bd892: e884 0007 stmia.w r4, {r0, r1, r2} 80bd896: f107 0308 add.w r3, r7, #8 80bd89a: cb0e ldmia r3, {r1, r2, r3} 80bd89c: 4628 mov r0, r5 80bd89e: f004 fd67 bl 80c2370 80bd8a2: 4603 mov r3, r0 80bd8a4: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(status != HAL_OK) 80bd8a8: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80bd8ac: 2b00 cmp r3, #0 80bd8ae: d001 beq.n 80bd8b4 { return HAL_ERROR; 80bd8b0: 2301 movs r3, #1 80bd8b2: e059 b.n 80bd968 } /* Disable SDMMC Clock */ __HAL_SD_DISABLE(hsd); 80bd8b4: 687b ldr r3, [r7, #4] 80bd8b6: 681b ldr r3, [r3, #0] 80bd8b8: 687a ldr r2, [r7, #4] 80bd8ba: 6812 ldr r2, [r2, #0] 80bd8bc: 6852 ldr r2, [r2, #4] 80bd8be: f422 7280 bic.w r2, r2, #256 ; 0x100 80bd8c2: 605a str r2, [r3, #4] /* Set Power State to ON */ (void)SDMMC_PowerState_ON(hsd->Instance); 80bd8c4: 687b ldr r3, [r7, #4] 80bd8c6: 681b ldr r3, [r3, #0] 80bd8c8: 4618 mov r0, r3 80bd8ca: f004 fd9b bl 80c2404 /* Enable SDMMC Clock */ __HAL_SD_ENABLE(hsd); 80bd8ce: 687b ldr r3, [r7, #4] 80bd8d0: 681b ldr r3, [r3, #0] 80bd8d2: 687a ldr r2, [r7, #4] 80bd8d4: 6812 ldr r2, [r2, #0] 80bd8d6: 6852 ldr r2, [r2, #4] 80bd8d8: f442 7280 orr.w r2, r2, #256 ; 0x100 80bd8dc: 605a str r2, [r3, #4] /* Required power up waiting time before starting the SD initialization sequence */ HAL_Delay(2); 80bd8de: 2002 movs r0, #2 80bd8e0: f7fa f8ac bl 80b7a3c /* Identify card operating voltage */ errorstate = SD_PowerON(hsd); 80bd8e4: 6878 ldr r0, [r7, #4] 80bd8e6: f001 f813 bl 80be910 80bd8ea: 6238 str r0, [r7, #32] if(errorstate != HAL_SD_ERROR_NONE) 80bd8ec: 6a3b ldr r3, [r7, #32] 80bd8ee: 2b00 cmp r3, #0 80bd8f0: d00b beq.n 80bd90a { hsd->State = HAL_SD_STATE_READY; 80bd8f2: 687b ldr r3, [r7, #4] 80bd8f4: 2201 movs r2, #1 80bd8f6: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->ErrorCode |= errorstate; 80bd8fa: 687b ldr r3, [r7, #4] 80bd8fc: 6b9a ldr r2, [r3, #56] ; 0x38 80bd8fe: 6a3b ldr r3, [r7, #32] 80bd900: 431a orrs r2, r3 80bd902: 687b ldr r3, [r7, #4] 80bd904: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80bd906: 2301 movs r3, #1 80bd908: e02e b.n 80bd968 } /* Card initialization */ errorstate = SD_InitCard(hsd); 80bd90a: 6878 ldr r0, [r7, #4] 80bd90c: f000 ff32 bl 80be774 80bd910: 6238 str r0, [r7, #32] if(errorstate != HAL_SD_ERROR_NONE) 80bd912: 6a3b ldr r3, [r7, #32] 80bd914: 2b00 cmp r3, #0 80bd916: d00b beq.n 80bd930 { hsd->State = HAL_SD_STATE_READY; 80bd918: 687b ldr r3, [r7, #4] 80bd91a: 2201 movs r2, #1 80bd91c: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->ErrorCode |= errorstate; 80bd920: 687b ldr r3, [r7, #4] 80bd922: 6b9a ldr r2, [r3, #56] ; 0x38 80bd924: 6a3b ldr r3, [r7, #32] 80bd926: 431a orrs r2, r3 80bd928: 687b ldr r3, [r7, #4] 80bd92a: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80bd92c: 2301 movs r3, #1 80bd92e: e01b b.n 80bd968 } /* Set Block Size for Card */ errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE); 80bd930: 687b ldr r3, [r7, #4] 80bd932: 681b ldr r3, [r3, #0] 80bd934: f44f 7100 mov.w r1, #512 ; 0x200 80bd938: 4618 mov r0, r3 80bd93a: f004 fe03 bl 80c2544 80bd93e: 6238 str r0, [r7, #32] if(errorstate != HAL_SD_ERROR_NONE) 80bd940: 6a3b ldr r3, [r7, #32] 80bd942: 2b00 cmp r3, #0 80bd944: d00f beq.n 80bd966 { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80bd946: 687b ldr r3, [r7, #4] 80bd948: 681b ldr r3, [r3, #0] 80bd94a: 4a09 ldr r2, [pc, #36] ; (80bd970 ) 80bd94c: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= errorstate; 80bd94e: 687b ldr r3, [r7, #4] 80bd950: 6b9a ldr r2, [r3, #56] ; 0x38 80bd952: 6a3b ldr r3, [r7, #32] 80bd954: 431a orrs r2, r3 80bd956: 687b ldr r3, [r7, #4] 80bd958: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80bd95a: 687b ldr r3, [r7, #4] 80bd95c: 2201 movs r2, #1 80bd95e: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_ERROR; 80bd962: 2301 movs r3, #1 80bd964: e000 b.n 80bd968 } return HAL_OK; 80bd966: 2300 movs r3, #0 } 80bd968: 4618 mov r0, r3 80bd96a: 3728 adds r7, #40 ; 0x28 80bd96c: 46bd mov sp, r7 80bd96e: bdb0 pop {r4, r5, r7, pc} 80bd970: 004005ff .word 0x004005ff 080bd974 : * @brief De-Initializes the SD card. * @param hsd: Pointer to SD handle * @retval HAL status */ HAL_StatusTypeDef HAL_SD_DeInit(SD_HandleTypeDef *hsd) { 80bd974: b580 push {r7, lr} 80bd976: b082 sub sp, #8 80bd978: af00 add r7, sp, #0 80bd97a: 6078 str r0, [r7, #4] /* Check the SD handle allocation */ if(hsd == NULL) 80bd97c: 687b ldr r3, [r7, #4] 80bd97e: 2b00 cmp r3, #0 80bd980: d101 bne.n 80bd986 { return HAL_ERROR; 80bd982: 2301 movs r3, #1 80bd984: e011 b.n 80bd9aa } /* Check the parameters */ assert_param(IS_SDMMC_ALL_INSTANCE(hsd->Instance)); hsd->State = HAL_SD_STATE_BUSY; 80bd986: 687b ldr r3, [r7, #4] 80bd988: 2203 movs r2, #3 80bd98a: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Set SD power state to off */ SD_PowerOFF(hsd); 80bd98e: 6878 ldr r0, [r7, #4] 80bd990: f001 f84c bl 80bea2c /* DeInit the low level hardware */ hsd->MspDeInitCallback(hsd); #else /* De-Initialize the MSP layer */ HAL_SD_MspDeInit(hsd); 80bd994: 6878 ldr r0, [r7, #4] 80bd996: f7f4 ff53 bl 80b2840 #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ hsd->ErrorCode = HAL_SD_ERROR_NONE; 80bd99a: 687b ldr r3, [r7, #4] 80bd99c: 2200 movs r2, #0 80bd99e: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_RESET; 80bd9a0: 687b ldr r3, [r7, #4] 80bd9a2: 2200 movs r2, #0 80bd9a4: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_OK; 80bd9a8: 2300 movs r3, #0 } 80bd9aa: 4618 mov r0, r3 80bd9ac: 3708 adds r7, #8 80bd9ae: 46bd mov sp, r7 80bd9b0: bd80 pop {r7, pc} ... 080bd9b4 : * @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) { 80bd9b4: b580 push {r7, lr} 80bd9b6: b08c sub sp, #48 ; 0x30 80bd9b8: af00 add r7, sp, #0 80bd9ba: 60f8 str r0, [r7, #12] 80bd9bc: 60b9 str r1, [r7, #8] 80bd9be: 607a str r2, [r7, #4] 80bd9c0: 603b str r3, [r7, #0] SDMMC_DataInitTypeDef config; uint32_t errorstate; uint32_t add = BlockAdd; 80bd9c2: 687b ldr r3, [r7, #4] 80bd9c4: 62bb str r3, [r7, #40] ; 0x28 if(NULL == pData) 80bd9c6: 68bb ldr r3, [r7, #8] 80bd9c8: 2b00 cmp r3, #0 80bd9ca: d107 bne.n 80bd9dc { hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 80bd9cc: 68fb ldr r3, [r7, #12] 80bd9ce: 6b9b ldr r3, [r3, #56] ; 0x38 80bd9d0: f043 6200 orr.w r2, r3, #134217728 ; 0x8000000 80bd9d4: 68fb ldr r3, [r7, #12] 80bd9d6: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80bd9d8: 2301 movs r3, #1 80bd9da: e0c3 b.n 80bdb64 } if(hsd->State == HAL_SD_STATE_READY) 80bd9dc: 68fb ldr r3, [r7, #12] 80bd9de: f893 3034 ldrb.w r3, [r3, #52] ; 0x34 80bd9e2: b2db uxtb r3, r3 80bd9e4: 2b01 cmp r3, #1 80bd9e6: f040 80bc bne.w 80bdb62 { hsd->ErrorCode = HAL_SD_ERROR_NONE; 80bd9ea: 68fb ldr r3, [r7, #12] 80bd9ec: 2200 movs r2, #0 80bd9ee: 639a str r2, [r3, #56] ; 0x38 if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) 80bd9f0: 6aba ldr r2, [r7, #40] ; 0x28 80bd9f2: 683b ldr r3, [r7, #0] 80bd9f4: 441a add r2, r3 80bd9f6: 68fb ldr r3, [r7, #12] 80bd9f8: 6ddb ldr r3, [r3, #92] ; 0x5c 80bd9fa: 429a cmp r2, r3 80bd9fc: d907 bls.n 80bda0e { hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; 80bd9fe: 68fb ldr r3, [r7, #12] 80bda00: 6b9b ldr r3, [r3, #56] ; 0x38 80bda02: f043 7200 orr.w r2, r3, #33554432 ; 0x2000000 80bda06: 68fb ldr r3, [r7, #12] 80bda08: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80bda0a: 2301 movs r3, #1 80bda0c: e0aa b.n 80bdb64 } hsd->State = HAL_SD_STATE_BUSY; 80bda0e: 68fb ldr r3, [r7, #12] 80bda10: 2203 movs r2, #3 80bda12: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Initialize data control register */ hsd->Instance->DCTRL = 0U; 80bda16: 68fb ldr r3, [r7, #12] 80bda18: 681b ldr r3, [r3, #0] 80bda1a: 2200 movs r2, #0 80bda1c: 62da str r2, [r3, #44] ; 0x2c __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_DATAEND)); 80bda1e: 68fb ldr r3, [r7, #12] 80bda20: 681b ldr r3, [r3, #0] 80bda22: 68fa ldr r2, [r7, #12] 80bda24: 6812 ldr r2, [r2, #0] 80bda26: 6bd2 ldr r2, [r2, #60] ; 0x3c 80bda28: f442 7295 orr.w r2, r2, #298 ; 0x12a 80bda2c: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA transfer complete callback */ hsd->hdmarx->XferCpltCallback = SD_DMAReceiveCplt; 80bda2e: 68fb ldr r3, [r7, #12] 80bda30: 6c1b ldr r3, [r3, #64] ; 0x40 80bda32: 4a4e ldr r2, [pc, #312] ; (80bdb6c ) 80bda34: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA error callback */ hsd->hdmarx->XferErrorCallback = SD_DMAError; 80bda36: 68fb ldr r3, [r7, #12] 80bda38: 6c1b ldr r3, [r3, #64] ; 0x40 80bda3a: 4a4d ldr r2, [pc, #308] ; (80bdb70 ) 80bda3c: 64da str r2, [r3, #76] ; 0x4c /* Set the DMA Abort callback */ hsd->hdmarx->XferAbortCallback = NULL; 80bda3e: 68fb ldr r3, [r7, #12] 80bda40: 6c1b ldr r3, [r3, #64] ; 0x40 80bda42: 2200 movs r2, #0 80bda44: 651a str r2, [r3, #80] ; 0x50 /* Force DMA Direction */ hsd->hdmarx->Init.Direction = DMA_PERIPH_TO_MEMORY; 80bda46: 68fb ldr r3, [r7, #12] 80bda48: 6c1b ldr r3, [r3, #64] ; 0x40 80bda4a: 2200 movs r2, #0 80bda4c: 609a str r2, [r3, #8] MODIFY_REG(hsd->hdmarx->Instance->CR, DMA_SxCR_DIR, hsd->hdmarx->Init.Direction); 80bda4e: 68fb ldr r3, [r7, #12] 80bda50: 6c1b ldr r3, [r3, #64] ; 0x40 80bda52: 681b ldr r3, [r3, #0] 80bda54: 68fa ldr r2, [r7, #12] 80bda56: 6c12 ldr r2, [r2, #64] ; 0x40 80bda58: 6812 ldr r2, [r2, #0] 80bda5a: 6812 ldr r2, [r2, #0] 80bda5c: f022 01c0 bic.w r1, r2, #192 ; 0xc0 80bda60: 68fa ldr r2, [r7, #12] 80bda62: 6c12 ldr r2, [r2, #64] ; 0x40 80bda64: 6892 ldr r2, [r2, #8] 80bda66: 430a orrs r2, r1 80bda68: 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) 80bda6a: 68fb ldr r3, [r7, #12] 80bda6c: 6c18 ldr r0, [r3, #64] ; 0x40 80bda6e: 68fb ldr r3, [r7, #12] 80bda70: 681b ldr r3, [r3, #0] 80bda72: 3380 adds r3, #128 ; 0x80 80bda74: 4619 mov r1, r3 80bda76: 68ba ldr r2, [r7, #8] 80bda78: 683b ldr r3, [r7, #0] 80bda7a: 025b lsls r3, r3, #9 80bda7c: 089b lsrs r3, r3, #2 80bda7e: f7fb f8f5 bl 80b8c6c 80bda82: 4603 mov r3, r0 80bda84: 2b00 cmp r3, #0 80bda86: d017 beq.n 80bdab8 { __HAL_SD_DISABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_DATAEND)); 80bda88: 68fb ldr r3, [r7, #12] 80bda8a: 681b ldr r3, [r3, #0] 80bda8c: 68fa ldr r2, [r7, #12] 80bda8e: 6812 ldr r2, [r2, #0] 80bda90: 6bd2 ldr r2, [r2, #60] ; 0x3c 80bda92: f422 7295 bic.w r2, r2, #298 ; 0x12a 80bda96: 63da str r2, [r3, #60] ; 0x3c __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80bda98: 68fb ldr r3, [r7, #12] 80bda9a: 681b ldr r3, [r3, #0] 80bda9c: 4a35 ldr r2, [pc, #212] ; (80bdb74 ) 80bda9e: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= HAL_SD_ERROR_DMA; 80bdaa0: 68fb ldr r3, [r7, #12] 80bdaa2: 6b9b ldr r3, [r3, #56] ; 0x38 80bdaa4: f043 4280 orr.w r2, r3, #1073741824 ; 0x40000000 80bdaa8: 68fb ldr r3, [r7, #12] 80bdaaa: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80bdaac: 68fb ldr r3, [r7, #12] 80bdaae: 2201 movs r2, #1 80bdab0: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_ERROR; 80bdab4: 2301 movs r3, #1 80bdab6: e055 b.n 80bdb64 } else { /* Enable SD DMA transfer */ __HAL_SD_DMA_ENABLE(hsd); 80bdab8: 68fb ldr r3, [r7, #12] 80bdaba: 681b ldr r3, [r3, #0] 80bdabc: 68fa ldr r2, [r7, #12] 80bdabe: 6812 ldr r2, [r2, #0] 80bdac0: 6ad2 ldr r2, [r2, #44] ; 0x2c 80bdac2: f042 0208 orr.w r2, r2, #8 80bdac6: 62da str r2, [r3, #44] ; 0x2c if(hsd->SdCard.CardType != CARD_SDHC_SDXC) 80bdac8: 68fb ldr r3, [r7, #12] 80bdaca: 6c5b ldr r3, [r3, #68] ; 0x44 80bdacc: 2b01 cmp r3, #1 80bdace: d002 beq.n 80bdad6 { add *= 512U; 80bdad0: 6abb ldr r3, [r7, #40] ; 0x28 80bdad2: 025b lsls r3, r3, #9 80bdad4: 62bb str r3, [r7, #40] ; 0x28 } /* Configure the SD DPSM (Data Path State Machine) */ config.DataTimeOut = SDMMC_DATATIMEOUT; 80bdad6: f04f 33ff mov.w r3, #4294967295 80bdada: 613b str r3, [r7, #16] config.DataLength = BLOCKSIZE * NumberOfBlocks; 80bdadc: 683b ldr r3, [r7, #0] 80bdade: 025b lsls r3, r3, #9 80bdae0: 617b str r3, [r7, #20] config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 80bdae2: 2390 movs r3, #144 ; 0x90 80bdae4: 61bb str r3, [r7, #24] config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; 80bdae6: 2302 movs r3, #2 80bdae8: 61fb str r3, [r7, #28] config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 80bdaea: 2300 movs r3, #0 80bdaec: 623b str r3, [r7, #32] config.DPSM = SDMMC_DPSM_ENABLE; 80bdaee: 2301 movs r3, #1 80bdaf0: 627b str r3, [r7, #36] ; 0x24 (void)SDMMC_ConfigData(hsd->Instance, &config); 80bdaf2: 68fb ldr r3, [r7, #12] 80bdaf4: 681b ldr r3, [r3, #0] 80bdaf6: f107 0210 add.w r2, r7, #16 80bdafa: 4611 mov r1, r2 80bdafc: 4618 mov r0, r3 80bdafe: f004 fcf5 bl 80c24ec /* Read Blocks in DMA mode */ if(NumberOfBlocks > 1U) 80bdb02: 683b ldr r3, [r7, #0] 80bdb04: 2b01 cmp r3, #1 80bdb06: d90a bls.n 80bdb1e { hsd->Context = (SD_CONTEXT_READ_MULTIPLE_BLOCK | SD_CONTEXT_DMA); 80bdb08: 68fb ldr r3, [r7, #12] 80bdb0a: 2282 movs r2, #130 ; 0x82 80bdb0c: 631a str r2, [r3, #48] ; 0x30 /* Read Multi Block command */ errorstate = SDMMC_CmdReadMultiBlock(hsd->Instance, add); 80bdb0e: 68fb ldr r3, [r7, #12] 80bdb10: 681b ldr r3, [r3, #0] 80bdb12: 6ab9 ldr r1, [r7, #40] ; 0x28 80bdb14: 4618 mov r0, r3 80bdb16: f004 fd59 bl 80c25cc 80bdb1a: 62f8 str r0, [r7, #44] ; 0x2c 80bdb1c: e009 b.n 80bdb32 } else { hsd->Context = (SD_CONTEXT_READ_SINGLE_BLOCK | SD_CONTEXT_DMA); 80bdb1e: 68fb ldr r3, [r7, #12] 80bdb20: 2281 movs r2, #129 ; 0x81 80bdb22: 631a str r2, [r3, #48] ; 0x30 /* Read Single Block command */ errorstate = SDMMC_CmdReadSingleBlock(hsd->Instance, add); 80bdb24: 68fb ldr r3, [r7, #12] 80bdb26: 681b ldr r3, [r3, #0] 80bdb28: 6ab9 ldr r1, [r7, #40] ; 0x28 80bdb2a: 4618 mov r0, r3 80bdb2c: f004 fd2c bl 80c2588 80bdb30: 62f8 str r0, [r7, #44] ; 0x2c } if(errorstate != HAL_SD_ERROR_NONE) 80bdb32: 6afb ldr r3, [r7, #44] ; 0x2c 80bdb34: 2b00 cmp r3, #0 80bdb36: d012 beq.n 80bdb5e { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80bdb38: 68fb ldr r3, [r7, #12] 80bdb3a: 681b ldr r3, [r3, #0] 80bdb3c: 4a0d ldr r2, [pc, #52] ; (80bdb74 ) 80bdb3e: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= errorstate; 80bdb40: 68fb ldr r3, [r7, #12] 80bdb42: 6b9a ldr r2, [r3, #56] ; 0x38 80bdb44: 6afb ldr r3, [r7, #44] ; 0x2c 80bdb46: 431a orrs r2, r3 80bdb48: 68fb ldr r3, [r7, #12] 80bdb4a: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80bdb4c: 68fb ldr r3, [r7, #12] 80bdb4e: 2201 movs r2, #1 80bdb50: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80bdb54: 68fb ldr r3, [r7, #12] 80bdb56: 2200 movs r2, #0 80bdb58: 631a str r2, [r3, #48] ; 0x30 return HAL_ERROR; 80bdb5a: 2301 movs r3, #1 80bdb5c: e002 b.n 80bdb64 } return HAL_OK; 80bdb5e: 2300 movs r3, #0 80bdb60: e000 b.n 80bdb64 } } else { return HAL_BUSY; 80bdb62: 2302 movs r3, #2 } } 80bdb64: 4618 mov r0, r3 80bdb66: 3730 adds r7, #48 ; 0x30 80bdb68: 46bd mov sp, r7 80bdb6a: bd80 pop {r7, pc} 80bdb6c: 080be583 .word 0x080be583 80bdb70: 080be5f5 .word 0x080be5f5 80bdb74: 004005ff .word 0x004005ff 080bdb78 : * @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) { 80bdb78: b580 push {r7, lr} 80bdb7a: b08c sub sp, #48 ; 0x30 80bdb7c: af00 add r7, sp, #0 80bdb7e: 60f8 str r0, [r7, #12] 80bdb80: 60b9 str r1, [r7, #8] 80bdb82: 607a str r2, [r7, #4] 80bdb84: 603b str r3, [r7, #0] SDMMC_DataInitTypeDef config; uint32_t errorstate; uint32_t add = BlockAdd; 80bdb86: 687b ldr r3, [r7, #4] 80bdb88: 62bb str r3, [r7, #40] ; 0x28 if(NULL == pData) 80bdb8a: 68bb ldr r3, [r7, #8] 80bdb8c: 2b00 cmp r3, #0 80bdb8e: d107 bne.n 80bdba0 { hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 80bdb90: 68fb ldr r3, [r7, #12] 80bdb92: 6b9b ldr r3, [r3, #56] ; 0x38 80bdb94: f043 6200 orr.w r2, r3, #134217728 ; 0x8000000 80bdb98: 68fb ldr r3, [r7, #12] 80bdb9a: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80bdb9c: 2301 movs r3, #1 80bdb9e: e0c6 b.n 80bdd2e } if(hsd->State == HAL_SD_STATE_READY) 80bdba0: 68fb ldr r3, [r7, #12] 80bdba2: f893 3034 ldrb.w r3, [r3, #52] ; 0x34 80bdba6: b2db uxtb r3, r3 80bdba8: 2b01 cmp r3, #1 80bdbaa: f040 80bf bne.w 80bdd2c { hsd->ErrorCode = HAL_SD_ERROR_NONE; 80bdbae: 68fb ldr r3, [r7, #12] 80bdbb0: 2200 movs r2, #0 80bdbb2: 639a str r2, [r3, #56] ; 0x38 if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) 80bdbb4: 6aba ldr r2, [r7, #40] ; 0x28 80bdbb6: 683b ldr r3, [r7, #0] 80bdbb8: 441a add r2, r3 80bdbba: 68fb ldr r3, [r7, #12] 80bdbbc: 6ddb ldr r3, [r3, #92] ; 0x5c 80bdbbe: 429a cmp r2, r3 80bdbc0: d907 bls.n 80bdbd2 { hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; 80bdbc2: 68fb ldr r3, [r7, #12] 80bdbc4: 6b9b ldr r3, [r3, #56] ; 0x38 80bdbc6: f043 7200 orr.w r2, r3, #33554432 ; 0x2000000 80bdbca: 68fb ldr r3, [r7, #12] 80bdbcc: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80bdbce: 2301 movs r3, #1 80bdbd0: e0ad b.n 80bdd2e } hsd->State = HAL_SD_STATE_BUSY; 80bdbd2: 68fb ldr r3, [r7, #12] 80bdbd4: 2203 movs r2, #3 80bdbd6: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Initialize data control register */ hsd->Instance->DCTRL = 0U; 80bdbda: 68fb ldr r3, [r7, #12] 80bdbdc: 681b ldr r3, [r3, #0] 80bdbde: 2200 movs r2, #0 80bdbe0: 62da str r2, [r3, #44] ; 0x2c /* Enable SD Error interrupts */ __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR)); 80bdbe2: 68fb ldr r3, [r7, #12] 80bdbe4: 681b ldr r3, [r3, #0] 80bdbe6: 68fa ldr r2, [r7, #12] 80bdbe8: 6812 ldr r2, [r2, #0] 80bdbea: 6bd2 ldr r2, [r2, #60] ; 0x3c 80bdbec: f042 021a orr.w r2, r2, #26 80bdbf0: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA transfer complete callback */ hsd->hdmatx->XferCpltCallback = SD_DMATransmitCplt; 80bdbf2: 68fb ldr r3, [r7, #12] 80bdbf4: 6bdb ldr r3, [r3, #60] ; 0x3c 80bdbf6: 4a50 ldr r2, [pc, #320] ; (80bdd38 ) 80bdbf8: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA error callback */ hsd->hdmatx->XferErrorCallback = SD_DMAError; 80bdbfa: 68fb ldr r3, [r7, #12] 80bdbfc: 6bdb ldr r3, [r3, #60] ; 0x3c 80bdbfe: 4a4f ldr r2, [pc, #316] ; (80bdd3c ) 80bdc00: 64da str r2, [r3, #76] ; 0x4c /* Set the DMA Abort callback */ hsd->hdmatx->XferAbortCallback = NULL; 80bdc02: 68fb ldr r3, [r7, #12] 80bdc04: 6bdb ldr r3, [r3, #60] ; 0x3c 80bdc06: 2200 movs r2, #0 80bdc08: 651a str r2, [r3, #80] ; 0x50 if(hsd->SdCard.CardType != CARD_SDHC_SDXC) 80bdc0a: 68fb ldr r3, [r7, #12] 80bdc0c: 6c5b ldr r3, [r3, #68] ; 0x44 80bdc0e: 2b01 cmp r3, #1 80bdc10: d002 beq.n 80bdc18 { add *= 512U; 80bdc12: 6abb ldr r3, [r7, #40] ; 0x28 80bdc14: 025b lsls r3, r3, #9 80bdc16: 62bb str r3, [r7, #40] ; 0x28 } /* Write Blocks in Polling mode */ if(NumberOfBlocks > 1U) 80bdc18: 683b ldr r3, [r7, #0] 80bdc1a: 2b01 cmp r3, #1 80bdc1c: d90a bls.n 80bdc34 { hsd->Context = (SD_CONTEXT_WRITE_MULTIPLE_BLOCK | SD_CONTEXT_DMA); 80bdc1e: 68fb ldr r3, [r7, #12] 80bdc20: 22a0 movs r2, #160 ; 0xa0 80bdc22: 631a str r2, [r3, #48] ; 0x30 /* Write Multi Block command */ errorstate = SDMMC_CmdWriteMultiBlock(hsd->Instance, add); 80bdc24: 68fb ldr r3, [r7, #12] 80bdc26: 681b ldr r3, [r3, #0] 80bdc28: 6ab9 ldr r1, [r7, #40] ; 0x28 80bdc2a: 4618 mov r0, r3 80bdc2c: f004 fd12 bl 80c2654 80bdc30: 62f8 str r0, [r7, #44] ; 0x2c 80bdc32: e009 b.n 80bdc48 } else { hsd->Context = (SD_CONTEXT_WRITE_SINGLE_BLOCK | SD_CONTEXT_DMA); 80bdc34: 68fb ldr r3, [r7, #12] 80bdc36: 2290 movs r2, #144 ; 0x90 80bdc38: 631a str r2, [r3, #48] ; 0x30 /* Write Single Block command */ errorstate = SDMMC_CmdWriteSingleBlock(hsd->Instance, add); 80bdc3a: 68fb ldr r3, [r7, #12] 80bdc3c: 681b ldr r3, [r3, #0] 80bdc3e: 6ab9 ldr r1, [r7, #40] ; 0x28 80bdc40: 4618 mov r0, r3 80bdc42: f004 fce5 bl 80c2610 80bdc46: 62f8 str r0, [r7, #44] ; 0x2c } if(errorstate != HAL_SD_ERROR_NONE) 80bdc48: 6afb ldr r3, [r7, #44] ; 0x2c 80bdc4a: 2b00 cmp r3, #0 80bdc4c: d012 beq.n 80bdc74 { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80bdc4e: 68fb ldr r3, [r7, #12] 80bdc50: 681b ldr r3, [r3, #0] 80bdc52: 4a3b ldr r2, [pc, #236] ; (80bdd40 ) 80bdc54: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= errorstate; 80bdc56: 68fb ldr r3, [r7, #12] 80bdc58: 6b9a ldr r2, [r3, #56] ; 0x38 80bdc5a: 6afb ldr r3, [r7, #44] ; 0x2c 80bdc5c: 431a orrs r2, r3 80bdc5e: 68fb ldr r3, [r7, #12] 80bdc60: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80bdc62: 68fb ldr r3, [r7, #12] 80bdc64: 2201 movs r2, #1 80bdc66: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80bdc6a: 68fb ldr r3, [r7, #12] 80bdc6c: 2200 movs r2, #0 80bdc6e: 631a str r2, [r3, #48] ; 0x30 return HAL_ERROR; 80bdc70: 2301 movs r3, #1 80bdc72: e05c b.n 80bdd2e } /* Enable SDMMC DMA transfer */ __HAL_SD_DMA_ENABLE(hsd); 80bdc74: 68fb ldr r3, [r7, #12] 80bdc76: 681b ldr r3, [r3, #0] 80bdc78: 68fa ldr r2, [r7, #12] 80bdc7a: 6812 ldr r2, [r2, #0] 80bdc7c: 6ad2 ldr r2, [r2, #44] ; 0x2c 80bdc7e: f042 0208 orr.w r2, r2, #8 80bdc82: 62da str r2, [r3, #44] ; 0x2c /* Force DMA Direction */ hsd->hdmatx->Init.Direction = DMA_MEMORY_TO_PERIPH; 80bdc84: 68fb ldr r3, [r7, #12] 80bdc86: 6bdb ldr r3, [r3, #60] ; 0x3c 80bdc88: 2240 movs r2, #64 ; 0x40 80bdc8a: 609a str r2, [r3, #8] MODIFY_REG(hsd->hdmatx->Instance->CR, DMA_SxCR_DIR, hsd->hdmatx->Init.Direction); 80bdc8c: 68fb ldr r3, [r7, #12] 80bdc8e: 6bdb ldr r3, [r3, #60] ; 0x3c 80bdc90: 681b ldr r3, [r3, #0] 80bdc92: 68fa ldr r2, [r7, #12] 80bdc94: 6bd2 ldr r2, [r2, #60] ; 0x3c 80bdc96: 6812 ldr r2, [r2, #0] 80bdc98: 6812 ldr r2, [r2, #0] 80bdc9a: f022 01c0 bic.w r1, r2, #192 ; 0xc0 80bdc9e: 68fa ldr r2, [r7, #12] 80bdca0: 6bd2 ldr r2, [r2, #60] ; 0x3c 80bdca2: 6892 ldr r2, [r2, #8] 80bdca4: 430a orrs r2, r1 80bdca6: 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) 80bdca8: 68fb ldr r3, [r7, #12] 80bdcaa: 6bd8 ldr r0, [r3, #60] ; 0x3c 80bdcac: 68b9 ldr r1, [r7, #8] 80bdcae: 68fb ldr r3, [r7, #12] 80bdcb0: 681b ldr r3, [r3, #0] 80bdcb2: 3380 adds r3, #128 ; 0x80 80bdcb4: 461a mov r2, r3 80bdcb6: 683b ldr r3, [r7, #0] 80bdcb8: 025b lsls r3, r3, #9 80bdcba: 089b lsrs r3, r3, #2 80bdcbc: f7fa ffd6 bl 80b8c6c 80bdcc0: 4603 mov r3, r0 80bdcc2: 2b00 cmp r3, #0 80bdcc4: d01a beq.n 80bdcfc { __HAL_SD_DISABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR)); 80bdcc6: 68fb ldr r3, [r7, #12] 80bdcc8: 681b ldr r3, [r3, #0] 80bdcca: 68fa ldr r2, [r7, #12] 80bdccc: 6812 ldr r2, [r2, #0] 80bdcce: 6bd2 ldr r2, [r2, #60] ; 0x3c 80bdcd0: f022 021a bic.w r2, r2, #26 80bdcd4: 63da str r2, [r3, #60] ; 0x3c __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80bdcd6: 68fb ldr r3, [r7, #12] 80bdcd8: 681b ldr r3, [r3, #0] 80bdcda: 4a19 ldr r2, [pc, #100] ; (80bdd40 ) 80bdcdc: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= HAL_SD_ERROR_DMA; 80bdcde: 68fb ldr r3, [r7, #12] 80bdce0: 6b9b ldr r3, [r3, #56] ; 0x38 80bdce2: f043 4280 orr.w r2, r3, #1073741824 ; 0x40000000 80bdce6: 68fb ldr r3, [r7, #12] 80bdce8: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80bdcea: 68fb ldr r3, [r7, #12] 80bdcec: 2201 movs r2, #1 80bdcee: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80bdcf2: 68fb ldr r3, [r7, #12] 80bdcf4: 2200 movs r2, #0 80bdcf6: 631a str r2, [r3, #48] ; 0x30 return HAL_ERROR; 80bdcf8: 2301 movs r3, #1 80bdcfa: e018 b.n 80bdd2e } else { /* Configure the SD DPSM (Data Path State Machine) */ config.DataTimeOut = SDMMC_DATATIMEOUT; 80bdcfc: f04f 33ff mov.w r3, #4294967295 80bdd00: 613b str r3, [r7, #16] config.DataLength = BLOCKSIZE * NumberOfBlocks; 80bdd02: 683b ldr r3, [r7, #0] 80bdd04: 025b lsls r3, r3, #9 80bdd06: 617b str r3, [r7, #20] config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 80bdd08: 2390 movs r3, #144 ; 0x90 80bdd0a: 61bb str r3, [r7, #24] config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD; 80bdd0c: 2300 movs r3, #0 80bdd0e: 61fb str r3, [r7, #28] config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 80bdd10: 2300 movs r3, #0 80bdd12: 623b str r3, [r7, #32] config.DPSM = SDMMC_DPSM_ENABLE; 80bdd14: 2301 movs r3, #1 80bdd16: 627b str r3, [r7, #36] ; 0x24 (void)SDMMC_ConfigData(hsd->Instance, &config); 80bdd18: 68fb ldr r3, [r7, #12] 80bdd1a: 681b ldr r3, [r3, #0] 80bdd1c: f107 0210 add.w r2, r7, #16 80bdd20: 4611 mov r1, r2 80bdd22: 4618 mov r0, r3 80bdd24: f004 fbe2 bl 80c24ec return HAL_OK; 80bdd28: 2300 movs r3, #0 80bdd2a: e000 b.n 80bdd2e } } else { return HAL_BUSY; 80bdd2c: 2302 movs r3, #2 } } 80bdd2e: 4618 mov r0, r3 80bdd30: 3730 adds r7, #48 ; 0x30 80bdd32: 46bd mov sp, r7 80bdd34: bd80 pop {r7, pc} 80bdd36: bf00 nop 80bdd38: 080be559 .word 0x080be559 80bdd3c: 080be5f5 .word 0x080be5f5 80bdd40: 004005ff .word 0x004005ff 080bdd44 : * @brief This function handles SD card interrupt request. * @param hsd: Pointer to SD handle * @retval None */ void HAL_SD_IRQHandler(SD_HandleTypeDef *hsd) { 80bdd44: b580 push {r7, lr} 80bdd46: b084 sub sp, #16 80bdd48: af00 add r7, sp, #0 80bdd4a: 6078 str r0, [r7, #4] uint32_t errorstate; uint32_t context = hsd->Context; 80bdd4c: 687b ldr r3, [r7, #4] 80bdd4e: 6b1b ldr r3, [r3, #48] ; 0x30 80bdd50: 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)) 80bdd52: 687b ldr r3, [r7, #4] 80bdd54: 681b ldr r3, [r3, #0] 80bdd56: 6b5b ldr r3, [r3, #52] ; 0x34 80bdd58: f403 4300 and.w r3, r3, #32768 ; 0x8000 80bdd5c: 2b00 cmp r3, #0 80bdd5e: d008 beq.n 80bdd72 80bdd60: 68fb ldr r3, [r7, #12] 80bdd62: f003 0308 and.w r3, r3, #8 80bdd66: 2b00 cmp r3, #0 80bdd68: d003 beq.n 80bdd72 { SD_Read_IT(hsd); 80bdd6a: 6878 ldr r0, [r7, #4] 80bdd6c: f000 fffc bl 80bed68 80bdd70: e153 b.n 80be01a } else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DATAEND) != RESET) 80bdd72: 687b ldr r3, [r7, #4] 80bdd74: 681b ldr r3, [r3, #0] 80bdd76: 6b5b ldr r3, [r3, #52] ; 0x34 80bdd78: f403 7380 and.w r3, r3, #256 ; 0x100 80bdd7c: 2b00 cmp r3, #0 80bdd7e: f000 808d beq.w 80bde9c { __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DATAEND); 80bdd82: 687b ldr r3, [r7, #4] 80bdd84: 681b ldr r3, [r3, #0] 80bdd86: f44f 7280 mov.w r2, #256 ; 0x100 80bdd8a: 639a str r2, [r3, #56] ; 0x38 __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\ 80bdd8c: 687b ldr r3, [r7, #4] 80bdd8e: 681a ldr r2, [r3, #0] 80bdd90: 687b ldr r3, [r7, #4] 80bdd92: 681b ldr r3, [r3, #0] 80bdd94: 6bd9 ldr r1, [r3, #60] ; 0x3c 80bdd96: 4ba3 ldr r3, [pc, #652] ; (80be024 ) 80bdd98: 400b ands r3, r1 80bdd9a: 63d3 str r3, [r2, #60] ; 0x3c SDMMC_IT_TXUNDERR | SDMMC_IT_RXOVERR | SDMMC_IT_TXFIFOHE |\ SDMMC_IT_RXFIFOHF); hsd->Instance->DCTRL &= ~(SDMMC_DCTRL_DTEN); 80bdd9c: 687b ldr r3, [r7, #4] 80bdd9e: 681b ldr r3, [r3, #0] 80bdda0: 687a ldr r2, [r7, #4] 80bdda2: 6812 ldr r2, [r2, #0] 80bdda4: 6ad2 ldr r2, [r2, #44] ; 0x2c 80bdda6: f022 0201 bic.w r2, r2, #1 80bddaa: 62da str r2, [r3, #44] ; 0x2c if((context & SD_CONTEXT_IT) != 0U) 80bddac: 68fb ldr r3, [r7, #12] 80bddae: f003 0308 and.w r3, r3, #8 80bddb2: 2b00 cmp r3, #0 80bddb4: d039 beq.n 80bde2a { if(((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) != 0U) || ((context & SD_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U)) 80bddb6: 68fb ldr r3, [r7, #12] 80bddb8: f003 0302 and.w r3, r3, #2 80bddbc: 2b00 cmp r3, #0 80bddbe: d104 bne.n 80bddca 80bddc0: 68fb ldr r3, [r7, #12] 80bddc2: f003 0320 and.w r3, r3, #32 80bddc6: 2b00 cmp r3, #0 80bddc8: d011 beq.n 80bddee { errorstate = SDMMC_CmdStopTransfer(hsd->Instance); 80bddca: 687b ldr r3, [r7, #4] 80bddcc: 681b ldr r3, [r3, #0] 80bddce: 4618 mov r0, r3 80bddd0: f004 fc62 bl 80c2698 80bddd4: 60b8 str r0, [r7, #8] if(errorstate != HAL_SD_ERROR_NONE) 80bddd6: 68bb ldr r3, [r7, #8] 80bddd8: 2b00 cmp r3, #0 80bddda: d008 beq.n 80bddee { hsd->ErrorCode |= errorstate; 80bdddc: 687b ldr r3, [r7, #4] 80bddde: 6b9a ldr r2, [r3, #56] ; 0x38 80bdde0: 68bb ldr r3, [r7, #8] 80bdde2: 431a orrs r2, r3 80bdde4: 687b ldr r3, [r7, #4] 80bdde6: 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); 80bdde8: 6878 ldr r0, [r7, #4] 80bddea: f000 f921 bl 80be030 #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ } } /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80bddee: 687b ldr r3, [r7, #4] 80bddf0: 681b ldr r3, [r3, #0] 80bddf2: f240 523a movw r2, #1338 ; 0x53a 80bddf6: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80bddf8: 687b ldr r3, [r7, #4] 80bddfa: 2201 movs r2, #1 80bddfc: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80bde00: 687b ldr r3, [r7, #4] 80bde02: 2200 movs r2, #0 80bde04: 631a str r2, [r3, #48] ; 0x30 if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) != 0U)) 80bde06: 68fb ldr r3, [r7, #12] 80bde08: f003 0301 and.w r3, r3, #1 80bde0c: 2b00 cmp r3, #0 80bde0e: d104 bne.n 80bde1a 80bde10: 68fb ldr r3, [r7, #12] 80bde12: f003 0302 and.w r3, r3, #2 80bde16: 2b00 cmp r3, #0 80bde18: d003 beq.n 80bde22 { #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) hsd->RxCpltCallback(hsd); #else HAL_SD_RxCpltCallback(hsd); 80bde1a: 6878 ldr r0, [r7, #4] 80bde1c: f006 fcec bl 80c47f8 80bde20: e0fb b.n 80be01a else { #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) hsd->TxCpltCallback(hsd); #else HAL_SD_TxCpltCallback(hsd); 80bde22: 6878 ldr r0, [r7, #4] 80bde24: f006 fcde bl 80c47e4 } else { /* Nothing to do */ } } 80bde28: e0f7 b.n 80be01a else if((context & SD_CONTEXT_DMA) != 0U) 80bde2a: 68fb ldr r3, [r7, #12] 80bde2c: f003 0380 and.w r3, r3, #128 ; 0x80 80bde30: 2b00 cmp r3, #0 80bde32: f000 80f2 beq.w 80be01a if((context & SD_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U) 80bde36: 68fb ldr r3, [r7, #12] 80bde38: f003 0320 and.w r3, r3, #32 80bde3c: 2b00 cmp r3, #0 80bde3e: d011 beq.n 80bde64 errorstate = SDMMC_CmdStopTransfer(hsd->Instance); 80bde40: 687b ldr r3, [r7, #4] 80bde42: 681b ldr r3, [r3, #0] 80bde44: 4618 mov r0, r3 80bde46: f004 fc27 bl 80c2698 80bde4a: 60b8 str r0, [r7, #8] if(errorstate != HAL_SD_ERROR_NONE) 80bde4c: 68bb ldr r3, [r7, #8] 80bde4e: 2b00 cmp r3, #0 80bde50: d008 beq.n 80bde64 hsd->ErrorCode |= errorstate; 80bde52: 687b ldr r3, [r7, #4] 80bde54: 6b9a ldr r2, [r3, #56] ; 0x38 80bde56: 68bb ldr r3, [r7, #8] 80bde58: 431a orrs r2, r3 80bde5a: 687b ldr r3, [r7, #4] 80bde5c: 639a str r2, [r3, #56] ; 0x38 HAL_SD_ErrorCallback(hsd); 80bde5e: 6878 ldr r0, [r7, #4] 80bde60: f000 f8e6 bl 80be030 if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) == 0U) && ((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) == 0U)) 80bde64: 68fb ldr r3, [r7, #12] 80bde66: f003 0301 and.w r3, r3, #1 80bde6a: 2b00 cmp r3, #0 80bde6c: f040 80d5 bne.w 80be01a 80bde70: 68fb ldr r3, [r7, #12] 80bde72: f003 0302 and.w r3, r3, #2 80bde76: 2b00 cmp r3, #0 80bde78: f040 80cf bne.w 80be01a hsd->Instance->DCTRL &= (uint32_t)~((uint32_t)SDMMC_DCTRL_DMAEN); 80bde7c: 687b ldr r3, [r7, #4] 80bde7e: 681b ldr r3, [r3, #0] 80bde80: 687a ldr r2, [r7, #4] 80bde82: 6812 ldr r2, [r2, #0] 80bde84: 6ad2 ldr r2, [r2, #44] ; 0x2c 80bde86: f022 0208 bic.w r2, r2, #8 80bde8a: 62da str r2, [r3, #44] ; 0x2c hsd->State = HAL_SD_STATE_READY; 80bde8c: 687b ldr r3, [r7, #4] 80bde8e: 2201 movs r2, #1 80bde90: f883 2034 strb.w r2, [r3, #52] ; 0x34 HAL_SD_TxCpltCallback(hsd); 80bde94: 6878 ldr r0, [r7, #4] 80bde96: f006 fca5 bl 80c47e4 } 80bde9a: e0be b.n 80be01a else if((__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_TXFIFOHE) != RESET) && ((context & SD_CONTEXT_IT) != 0U)) 80bde9c: 687b ldr r3, [r7, #4] 80bde9e: 681b ldr r3, [r3, #0] 80bdea0: 6b5b ldr r3, [r3, #52] ; 0x34 80bdea2: f403 4380 and.w r3, r3, #16384 ; 0x4000 80bdea6: 2b00 cmp r3, #0 80bdea8: d008 beq.n 80bdebc 80bdeaa: 68fb ldr r3, [r7, #12] 80bdeac: f003 0308 and.w r3, r3, #8 80bdeb0: 2b00 cmp r3, #0 80bdeb2: d003 beq.n 80bdebc SD_Write_IT(hsd); 80bdeb4: 6878 ldr r0, [r7, #4] 80bdeb6: f000 ffa8 bl 80bee0a 80bdeba: e0ae b.n 80be01a else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_RXOVERR | SDMMC_FLAG_TXUNDERR) != RESET) 80bdebc: 687b ldr r3, [r7, #4] 80bdebe: 681b ldr r3, [r3, #0] 80bdec0: 6b5b ldr r3, [r3, #52] ; 0x34 80bdec2: f003 033a and.w r3, r3, #58 ; 0x3a 80bdec6: 2b00 cmp r3, #0 80bdec8: f000 80a7 beq.w 80be01a if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL) != RESET) 80bdecc: 687b ldr r3, [r7, #4] 80bdece: 681b ldr r3, [r3, #0] 80bded0: 6b5b ldr r3, [r3, #52] ; 0x34 80bded2: f003 0302 and.w r3, r3, #2 80bded6: 2b00 cmp r3, #0 80bded8: d005 beq.n 80bdee6 hsd->ErrorCode |= HAL_SD_ERROR_DATA_CRC_FAIL; 80bdeda: 687b ldr r3, [r7, #4] 80bdedc: 6b9b ldr r3, [r3, #56] ; 0x38 80bdede: f043 0202 orr.w r2, r3, #2 80bdee2: 687b ldr r3, [r7, #4] 80bdee4: 639a str r2, [r3, #56] ; 0x38 if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT) != RESET) 80bdee6: 687b ldr r3, [r7, #4] 80bdee8: 681b ldr r3, [r3, #0] 80bdeea: 6b5b ldr r3, [r3, #52] ; 0x34 80bdeec: f003 0308 and.w r3, r3, #8 80bdef0: 2b00 cmp r3, #0 80bdef2: d005 beq.n 80bdf00 hsd->ErrorCode |= HAL_SD_ERROR_DATA_TIMEOUT; 80bdef4: 687b ldr r3, [r7, #4] 80bdef6: 6b9b ldr r3, [r3, #56] ; 0x38 80bdef8: f043 0208 orr.w r2, r3, #8 80bdefc: 687b ldr r3, [r7, #4] 80bdefe: 639a str r2, [r3, #56] ; 0x38 if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR) != RESET) 80bdf00: 687b ldr r3, [r7, #4] 80bdf02: 681b ldr r3, [r3, #0] 80bdf04: 6b5b ldr r3, [r3, #52] ; 0x34 80bdf06: f003 0320 and.w r3, r3, #32 80bdf0a: 2b00 cmp r3, #0 80bdf0c: d005 beq.n 80bdf1a hsd->ErrorCode |= HAL_SD_ERROR_RX_OVERRUN; 80bdf0e: 687b ldr r3, [r7, #4] 80bdf10: 6b9b ldr r3, [r3, #56] ; 0x38 80bdf12: f043 0220 orr.w r2, r3, #32 80bdf16: 687b ldr r3, [r7, #4] 80bdf18: 639a str r2, [r3, #56] ; 0x38 if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_TXUNDERR) != RESET) 80bdf1a: 687b ldr r3, [r7, #4] 80bdf1c: 681b ldr r3, [r3, #0] 80bdf1e: 6b5b ldr r3, [r3, #52] ; 0x34 80bdf20: f003 0310 and.w r3, r3, #16 80bdf24: 2b00 cmp r3, #0 80bdf26: d005 beq.n 80bdf34 hsd->ErrorCode |= HAL_SD_ERROR_TX_UNDERRUN; 80bdf28: 687b ldr r3, [r7, #4] 80bdf2a: 6b9b ldr r3, [r3, #56] ; 0x38 80bdf2c: f043 0210 orr.w r2, r3, #16 80bdf30: 687b ldr r3, [r7, #4] 80bdf32: 639a str r2, [r3, #56] ; 0x38 __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80bdf34: 687b ldr r3, [r7, #4] 80bdf36: 681b ldr r3, [r3, #0] 80bdf38: f240 523a movw r2, #1338 ; 0x53a 80bdf3c: 639a str r2, [r3, #56] ; 0x38 __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\ 80bdf3e: 687b ldr r3, [r7, #4] 80bdf40: 681b ldr r3, [r3, #0] 80bdf42: 687a ldr r2, [r7, #4] 80bdf44: 6812 ldr r2, [r2, #0] 80bdf46: 6bd2 ldr r2, [r2, #60] ; 0x3c 80bdf48: f422 729d bic.w r2, r2, #314 ; 0x13a 80bdf4c: 63da str r2, [r3, #60] ; 0x3c hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 80bdf4e: 687b ldr r3, [r7, #4] 80bdf50: 681b ldr r3, [r3, #0] 80bdf52: 4618 mov r0, r3 80bdf54: f004 fba0 bl 80c2698 80bdf58: 4602 mov r2, r0 80bdf5a: 687b ldr r3, [r7, #4] 80bdf5c: 6b9b ldr r3, [r3, #56] ; 0x38 80bdf5e: 431a orrs r2, r3 80bdf60: 687b ldr r3, [r7, #4] 80bdf62: 639a str r2, [r3, #56] ; 0x38 if((context & SD_CONTEXT_IT) != 0U) 80bdf64: 68fb ldr r3, [r7, #12] 80bdf66: f003 0308 and.w r3, r3, #8 80bdf6a: 2b00 cmp r3, #0 80bdf6c: d00a beq.n 80bdf84 hsd->State = HAL_SD_STATE_READY; 80bdf6e: 687b ldr r3, [r7, #4] 80bdf70: 2201 movs r2, #1 80bdf72: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80bdf76: 687b ldr r3, [r7, #4] 80bdf78: 2200 movs r2, #0 80bdf7a: 631a str r2, [r3, #48] ; 0x30 HAL_SD_ErrorCallback(hsd); 80bdf7c: 6878 ldr r0, [r7, #4] 80bdf7e: f000 f857 bl 80be030 } 80bdf82: e04a b.n 80be01a else if((context & SD_CONTEXT_DMA) != 0U) 80bdf84: 68fb ldr r3, [r7, #12] 80bdf86: f003 0380 and.w r3, r3, #128 ; 0x80 80bdf8a: 2b00 cmp r3, #0 80bdf8c: d045 beq.n 80be01a if(((context & SD_CONTEXT_WRITE_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U)) 80bdf8e: 68fb ldr r3, [r7, #12] 80bdf90: f003 0310 and.w r3, r3, #16 80bdf94: 2b00 cmp r3, #0 80bdf96: d104 bne.n 80bdfa2 80bdf98: 68fb ldr r3, [r7, #12] 80bdf9a: f003 0320 and.w r3, r3, #32 80bdf9e: 2b00 cmp r3, #0 80bdfa0: d011 beq.n 80bdfc6 hsd->hdmatx->XferAbortCallback = SD_DMATxAbort; 80bdfa2: 687b ldr r3, [r7, #4] 80bdfa4: 6bdb ldr r3, [r3, #60] ; 0x3c 80bdfa6: 4a20 ldr r2, [pc, #128] ; (80be028 ) 80bdfa8: 651a str r2, [r3, #80] ; 0x50 if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK) 80bdfaa: 687b ldr r3, [r7, #4] 80bdfac: 6bdb ldr r3, [r3, #60] ; 0x3c 80bdfae: 4618 mov r0, r3 80bdfb0: f7fa ff2c bl 80b8e0c 80bdfb4: 4603 mov r3, r0 80bdfb6: 2b00 cmp r3, #0 80bdfb8: d02f beq.n 80be01a SD_DMATxAbort(hsd->hdmatx); 80bdfba: 687b ldr r3, [r7, #4] 80bdfbc: 6bdb ldr r3, [r3, #60] ; 0x3c 80bdfbe: 4618 mov r0, r3 80bdfc0: f000 fb6a bl 80be698 if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK) 80bdfc4: e029 b.n 80be01a else if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) != 0U)) 80bdfc6: 68fb ldr r3, [r7, #12] 80bdfc8: f003 0301 and.w r3, r3, #1 80bdfcc: 2b00 cmp r3, #0 80bdfce: d104 bne.n 80bdfda 80bdfd0: 68fb ldr r3, [r7, #12] 80bdfd2: f003 0302 and.w r3, r3, #2 80bdfd6: 2b00 cmp r3, #0 80bdfd8: d011 beq.n 80bdffe hsd->hdmarx->XferAbortCallback = SD_DMARxAbort; 80bdfda: 687b ldr r3, [r7, #4] 80bdfdc: 6c1b ldr r3, [r3, #64] ; 0x40 80bdfde: 4a13 ldr r2, [pc, #76] ; (80be02c ) 80bdfe0: 651a str r2, [r3, #80] ; 0x50 if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK) 80bdfe2: 687b ldr r3, [r7, #4] 80bdfe4: 6c1b ldr r3, [r3, #64] ; 0x40 80bdfe6: 4618 mov r0, r3 80bdfe8: f7fa ff10 bl 80b8e0c 80bdfec: 4603 mov r3, r0 80bdfee: 2b00 cmp r3, #0 80bdff0: d013 beq.n 80be01a SD_DMARxAbort(hsd->hdmarx); 80bdff2: 687b ldr r3, [r7, #4] 80bdff4: 6c1b ldr r3, [r3, #64] ; 0x40 80bdff6: 4618 mov r0, r3 80bdff8: f000 fb85 bl 80be706 if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK) 80bdffc: e00d b.n 80be01a hsd->ErrorCode = HAL_SD_ERROR_NONE; 80bdffe: 687b ldr r3, [r7, #4] 80be000: 2200 movs r2, #0 80be002: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80be004: 687b ldr r3, [r7, #4] 80be006: 2201 movs r2, #1 80be008: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80be00c: 687b ldr r3, [r7, #4] 80be00e: 2200 movs r2, #0 80be010: 631a str r2, [r3, #48] ; 0x30 HAL_SD_AbortCallback(hsd); 80be012: 6878 ldr r0, [r7, #4] 80be014: f006 fbdc bl 80c47d0 } 80be018: e7ff b.n 80be01a 80be01a: bf00 nop 80be01c: 3710 adds r7, #16 80be01e: 46bd mov sp, r7 80be020: bd80 pop {r7, pc} 80be022: bf00 nop 80be024: ffff3ec5 .word 0xffff3ec5 80be028: 080be699 .word 0x080be699 80be02c: 080be707 .word 0x080be707 080be030 : * @brief SD error callbacks * @param hsd: Pointer SD handle * @retval None */ __weak void HAL_SD_ErrorCallback(SD_HandleTypeDef *hsd) { 80be030: b480 push {r7} 80be032: b083 sub sp, #12 80be034: af00 add r7, sp, #0 80be036: 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 */ } 80be038: bf00 nop 80be03a: 370c adds r7, #12 80be03c: 46bd mov sp, r7 80be03e: f85d 7b04 ldr.w r7, [sp], #4 80be042: 4770 bx lr 080be044 : * @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) { 80be044: b480 push {r7} 80be046: b083 sub sp, #12 80be048: af00 add r7, sp, #0 80be04a: 6078 str r0, [r7, #4] 80be04c: 6039 str r1, [r7, #0] pCSD->CSDStruct = (uint8_t)((hsd->CSD[0] & 0xC0000000U) >> 30U); 80be04e: 687b ldr r3, [r7, #4] 80be050: 6e5b ldr r3, [r3, #100] ; 0x64 80be052: 0f9b lsrs r3, r3, #30 80be054: b2da uxtb r2, r3 80be056: 683b ldr r3, [r7, #0] 80be058: 701a strb r2, [r3, #0] pCSD->SysSpecVersion = (uint8_t)((hsd->CSD[0] & 0x3C000000U) >> 26U); 80be05a: 687b ldr r3, [r7, #4] 80be05c: 6e5b ldr r3, [r3, #100] ; 0x64 80be05e: 0e9b lsrs r3, r3, #26 80be060: b2db uxtb r3, r3 80be062: f003 030f and.w r3, r3, #15 80be066: b2da uxtb r2, r3 80be068: 683b ldr r3, [r7, #0] 80be06a: 705a strb r2, [r3, #1] pCSD->Reserved1 = (uint8_t)((hsd->CSD[0] & 0x03000000U) >> 24U); 80be06c: 687b ldr r3, [r7, #4] 80be06e: 6e5b ldr r3, [r3, #100] ; 0x64 80be070: 0e1b lsrs r3, r3, #24 80be072: b2db uxtb r3, r3 80be074: f003 0303 and.w r3, r3, #3 80be078: b2da uxtb r2, r3 80be07a: 683b ldr r3, [r7, #0] 80be07c: 709a strb r2, [r3, #2] pCSD->TAAC = (uint8_t)((hsd->CSD[0] & 0x00FF0000U) >> 16U); 80be07e: 687b ldr r3, [r7, #4] 80be080: 6e5b ldr r3, [r3, #100] ; 0x64 80be082: 0c1b lsrs r3, r3, #16 80be084: b2da uxtb r2, r3 80be086: 683b ldr r3, [r7, #0] 80be088: 70da strb r2, [r3, #3] pCSD->NSAC = (uint8_t)((hsd->CSD[0] & 0x0000FF00U) >> 8U); 80be08a: 687b ldr r3, [r7, #4] 80be08c: 6e5b ldr r3, [r3, #100] ; 0x64 80be08e: 0a1b lsrs r3, r3, #8 80be090: b2da uxtb r2, r3 80be092: 683b ldr r3, [r7, #0] 80be094: 711a strb r2, [r3, #4] pCSD->MaxBusClkFrec = (uint8_t)(hsd->CSD[0] & 0x000000FFU); 80be096: 687b ldr r3, [r7, #4] 80be098: 6e5b ldr r3, [r3, #100] ; 0x64 80be09a: b2da uxtb r2, r3 80be09c: 683b ldr r3, [r7, #0] 80be09e: 715a strb r2, [r3, #5] pCSD->CardComdClasses = (uint16_t)((hsd->CSD[1] & 0xFFF00000U) >> 20U); 80be0a0: 687b ldr r3, [r7, #4] 80be0a2: 6e9b ldr r3, [r3, #104] ; 0x68 80be0a4: 0d1b lsrs r3, r3, #20 80be0a6: b29a uxth r2, r3 80be0a8: 683b ldr r3, [r7, #0] 80be0aa: 80da strh r2, [r3, #6] pCSD->RdBlockLen = (uint8_t)((hsd->CSD[1] & 0x000F0000U) >> 16U); 80be0ac: 687b ldr r3, [r7, #4] 80be0ae: 6e9b ldr r3, [r3, #104] ; 0x68 80be0b0: 0c1b lsrs r3, r3, #16 80be0b2: b2db uxtb r3, r3 80be0b4: f003 030f and.w r3, r3, #15 80be0b8: b2da uxtb r2, r3 80be0ba: 683b ldr r3, [r7, #0] 80be0bc: 721a strb r2, [r3, #8] pCSD->PartBlockRead = (uint8_t)((hsd->CSD[1] & 0x00008000U) >> 15U); 80be0be: 687b ldr r3, [r7, #4] 80be0c0: 6e9b ldr r3, [r3, #104] ; 0x68 80be0c2: 0bdb lsrs r3, r3, #15 80be0c4: b2db uxtb r3, r3 80be0c6: f003 0301 and.w r3, r3, #1 80be0ca: b2da uxtb r2, r3 80be0cc: 683b ldr r3, [r7, #0] 80be0ce: 725a strb r2, [r3, #9] pCSD->WrBlockMisalign = (uint8_t)((hsd->CSD[1] & 0x00004000U) >> 14U); 80be0d0: 687b ldr r3, [r7, #4] 80be0d2: 6e9b ldr r3, [r3, #104] ; 0x68 80be0d4: 0b9b lsrs r3, r3, #14 80be0d6: b2db uxtb r3, r3 80be0d8: f003 0301 and.w r3, r3, #1 80be0dc: b2da uxtb r2, r3 80be0de: 683b ldr r3, [r7, #0] 80be0e0: 729a strb r2, [r3, #10] pCSD->RdBlockMisalign = (uint8_t)((hsd->CSD[1] & 0x00002000U) >> 13U); 80be0e2: 687b ldr r3, [r7, #4] 80be0e4: 6e9b ldr r3, [r3, #104] ; 0x68 80be0e6: 0b5b lsrs r3, r3, #13 80be0e8: b2db uxtb r3, r3 80be0ea: f003 0301 and.w r3, r3, #1 80be0ee: b2da uxtb r2, r3 80be0f0: 683b ldr r3, [r7, #0] 80be0f2: 72da strb r2, [r3, #11] pCSD->DSRImpl = (uint8_t)((hsd->CSD[1] & 0x00001000U) >> 12U); 80be0f4: 687b ldr r3, [r7, #4] 80be0f6: 6e9b ldr r3, [r3, #104] ; 0x68 80be0f8: 0b1b lsrs r3, r3, #12 80be0fa: b2db uxtb r3, r3 80be0fc: f003 0301 and.w r3, r3, #1 80be100: b2da uxtb r2, r3 80be102: 683b ldr r3, [r7, #0] 80be104: 731a strb r2, [r3, #12] pCSD->Reserved2 = 0U; /*!< Reserved */ 80be106: 683b ldr r3, [r7, #0] 80be108: 2200 movs r2, #0 80be10a: 735a strb r2, [r3, #13] if(hsd->SdCard.CardType == CARD_SDSC) 80be10c: 687b ldr r3, [r7, #4] 80be10e: 6c5b ldr r3, [r3, #68] ; 0x44 80be110: 2b00 cmp r3, #0 80be112: d162 bne.n 80be1da { pCSD->DeviceSize = (((hsd->CSD[1] & 0x000003FFU) << 2U) | ((hsd->CSD[2] & 0xC0000000U) >> 30U)); 80be114: 687b ldr r3, [r7, #4] 80be116: 6e9b ldr r3, [r3, #104] ; 0x68 80be118: 009a lsls r2, r3, #2 80be11a: f640 73fc movw r3, #4092 ; 0xffc 80be11e: 4013 ands r3, r2 80be120: 687a ldr r2, [r7, #4] 80be122: 6ed2 ldr r2, [r2, #108] ; 0x6c 80be124: 0f92 lsrs r2, r2, #30 80be126: 431a orrs r2, r3 80be128: 683b ldr r3, [r7, #0] 80be12a: 611a str r2, [r3, #16] pCSD->MaxRdCurrentVDDMin = (uint8_t)((hsd->CSD[2] & 0x38000000U) >> 27U); 80be12c: 687b ldr r3, [r7, #4] 80be12e: 6edb ldr r3, [r3, #108] ; 0x6c 80be130: 0edb lsrs r3, r3, #27 80be132: b2db uxtb r3, r3 80be134: f003 0307 and.w r3, r3, #7 80be138: b2da uxtb r2, r3 80be13a: 683b ldr r3, [r7, #0] 80be13c: 751a strb r2, [r3, #20] pCSD->MaxRdCurrentVDDMax = (uint8_t)((hsd->CSD[2] & 0x07000000U) >> 24U); 80be13e: 687b ldr r3, [r7, #4] 80be140: 6edb ldr r3, [r3, #108] ; 0x6c 80be142: 0e1b lsrs r3, r3, #24 80be144: b2db uxtb r3, r3 80be146: f003 0307 and.w r3, r3, #7 80be14a: b2da uxtb r2, r3 80be14c: 683b ldr r3, [r7, #0] 80be14e: 755a strb r2, [r3, #21] pCSD->MaxWrCurrentVDDMin = (uint8_t)((hsd->CSD[2] & 0x00E00000U) >> 21U); 80be150: 687b ldr r3, [r7, #4] 80be152: 6edb ldr r3, [r3, #108] ; 0x6c 80be154: 0d5b lsrs r3, r3, #21 80be156: b2db uxtb r3, r3 80be158: f003 0307 and.w r3, r3, #7 80be15c: b2da uxtb r2, r3 80be15e: 683b ldr r3, [r7, #0] 80be160: 759a strb r2, [r3, #22] pCSD->MaxWrCurrentVDDMax = (uint8_t)((hsd->CSD[2] & 0x001C0000U) >> 18U); 80be162: 687b ldr r3, [r7, #4] 80be164: 6edb ldr r3, [r3, #108] ; 0x6c 80be166: 0c9b lsrs r3, r3, #18 80be168: b2db uxtb r3, r3 80be16a: f003 0307 and.w r3, r3, #7 80be16e: b2da uxtb r2, r3 80be170: 683b ldr r3, [r7, #0] 80be172: 75da strb r2, [r3, #23] pCSD->DeviceSizeMul = (uint8_t)((hsd->CSD[2] & 0x00038000U) >> 15U); 80be174: 687b ldr r3, [r7, #4] 80be176: 6edb ldr r3, [r3, #108] ; 0x6c 80be178: 0bdb lsrs r3, r3, #15 80be17a: b2db uxtb r3, r3 80be17c: f003 0307 and.w r3, r3, #7 80be180: b2da uxtb r2, r3 80be182: 683b ldr r3, [r7, #0] 80be184: 761a strb r2, [r3, #24] hsd->SdCard.BlockNbr = (pCSD->DeviceSize + 1U) ; 80be186: 683b ldr r3, [r7, #0] 80be188: 691b ldr r3, [r3, #16] 80be18a: 1c5a adds r2, r3, #1 80be18c: 687b ldr r3, [r7, #4] 80be18e: 655a str r2, [r3, #84] ; 0x54 hsd->SdCard.BlockNbr *= (1UL << ((pCSD->DeviceSizeMul & 0x07U) + 2U)); 80be190: 683b ldr r3, [r7, #0] 80be192: 7e1b ldrb r3, [r3, #24] 80be194: b2db uxtb r3, r3 80be196: f003 0307 and.w r3, r3, #7 80be19a: 3302 adds r3, #2 80be19c: 2201 movs r2, #1 80be19e: 409a lsls r2, r3 80be1a0: 687b ldr r3, [r7, #4] 80be1a2: 6d5b ldr r3, [r3, #84] ; 0x54 80be1a4: fb02 f203 mul.w r2, r2, r3 80be1a8: 687b ldr r3, [r7, #4] 80be1aa: 655a str r2, [r3, #84] ; 0x54 hsd->SdCard.BlockSize = (1UL << (pCSD->RdBlockLen & 0x0FU)); 80be1ac: 683b ldr r3, [r7, #0] 80be1ae: 7a1b ldrb r3, [r3, #8] 80be1b0: b2db uxtb r3, r3 80be1b2: f003 030f and.w r3, r3, #15 80be1b6: 2201 movs r2, #1 80be1b8: 409a lsls r2, r3 80be1ba: 687b ldr r3, [r7, #4] 80be1bc: 659a str r2, [r3, #88] ; 0x58 hsd->SdCard.LogBlockNbr = (hsd->SdCard.BlockNbr) * ((hsd->SdCard.BlockSize) / 512U); 80be1be: 687b ldr r3, [r7, #4] 80be1c0: 6d5b ldr r3, [r3, #84] ; 0x54 80be1c2: 687a ldr r2, [r7, #4] 80be1c4: 6d92 ldr r2, [r2, #88] ; 0x58 80be1c6: 0a52 lsrs r2, r2, #9 80be1c8: fb02 f203 mul.w r2, r2, r3 80be1cc: 687b ldr r3, [r7, #4] 80be1ce: 65da str r2, [r3, #92] ; 0x5c hsd->SdCard.LogBlockSize = 512U; 80be1d0: 687b ldr r3, [r7, #4] 80be1d2: f44f 7200 mov.w r2, #512 ; 0x200 80be1d6: 661a str r2, [r3, #96] ; 0x60 80be1d8: e031 b.n 80be23e } else if(hsd->SdCard.CardType == CARD_SDHC_SDXC) 80be1da: 687b ldr r3, [r7, #4] 80be1dc: 6c5b ldr r3, [r3, #68] ; 0x44 80be1de: 2b01 cmp r3, #1 80be1e0: d11d bne.n 80be21e { /* Byte 7 */ pCSD->DeviceSize = (((hsd->CSD[1] & 0x0000003FU) << 16U) | ((hsd->CSD[2] & 0xFFFF0000U) >> 16U)); 80be1e2: 687b ldr r3, [r7, #4] 80be1e4: 6e9b ldr r3, [r3, #104] ; 0x68 80be1e6: 041b lsls r3, r3, #16 80be1e8: f403 127c and.w r2, r3, #4128768 ; 0x3f0000 80be1ec: 687b ldr r3, [r7, #4] 80be1ee: 6edb ldr r3, [r3, #108] ; 0x6c 80be1f0: 0c1b lsrs r3, r3, #16 80be1f2: 431a orrs r2, r3 80be1f4: 683b ldr r3, [r7, #0] 80be1f6: 611a str r2, [r3, #16] hsd->SdCard.BlockNbr = ((pCSD->DeviceSize + 1U) * 1024U); 80be1f8: 683b ldr r3, [r7, #0] 80be1fa: 691b ldr r3, [r3, #16] 80be1fc: 3301 adds r3, #1 80be1fe: 029a lsls r2, r3, #10 80be200: 687b ldr r3, [r7, #4] 80be202: 655a str r2, [r3, #84] ; 0x54 hsd->SdCard.LogBlockNbr = hsd->SdCard.BlockNbr; 80be204: 687b ldr r3, [r7, #4] 80be206: 6d5a ldr r2, [r3, #84] ; 0x54 80be208: 687b ldr r3, [r7, #4] 80be20a: 65da str r2, [r3, #92] ; 0x5c hsd->SdCard.BlockSize = 512U; 80be20c: 687b ldr r3, [r7, #4] 80be20e: f44f 7200 mov.w r2, #512 ; 0x200 80be212: 659a str r2, [r3, #88] ; 0x58 hsd->SdCard.LogBlockSize = hsd->SdCard.BlockSize; 80be214: 687b ldr r3, [r7, #4] 80be216: 6d9a ldr r2, [r3, #88] ; 0x58 80be218: 687b ldr r3, [r7, #4] 80be21a: 661a str r2, [r3, #96] ; 0x60 80be21c: e00f b.n 80be23e } else { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80be21e: 687b ldr r3, [r7, #4] 80be220: 681b ldr r3, [r3, #0] 80be222: 4a59 ldr r2, [pc, #356] ; (80be388 ) 80be224: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80be226: 687b ldr r3, [r7, #4] 80be228: 6b9b ldr r3, [r3, #56] ; 0x38 80be22a: f043 5280 orr.w r2, r3, #268435456 ; 0x10000000 80be22e: 687b ldr r3, [r7, #4] 80be230: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80be232: 687b ldr r3, [r7, #4] 80be234: 2201 movs r2, #1 80be236: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_ERROR; 80be23a: 2301 movs r3, #1 80be23c: e09d b.n 80be37a } pCSD->EraseGrSize = (uint8_t)((hsd->CSD[2] & 0x00004000U) >> 14U); 80be23e: 687b ldr r3, [r7, #4] 80be240: 6edb ldr r3, [r3, #108] ; 0x6c 80be242: 0b9b lsrs r3, r3, #14 80be244: b2db uxtb r3, r3 80be246: f003 0301 and.w r3, r3, #1 80be24a: b2da uxtb r2, r3 80be24c: 683b ldr r3, [r7, #0] 80be24e: 765a strb r2, [r3, #25] pCSD->EraseGrMul = (uint8_t)((hsd->CSD[2] & 0x00003F80U) >> 7U); 80be250: 687b ldr r3, [r7, #4] 80be252: 6edb ldr r3, [r3, #108] ; 0x6c 80be254: 09db lsrs r3, r3, #7 80be256: b2db uxtb r3, r3 80be258: f003 037f and.w r3, r3, #127 ; 0x7f 80be25c: b2da uxtb r2, r3 80be25e: 683b ldr r3, [r7, #0] 80be260: 769a strb r2, [r3, #26] pCSD->WrProtectGrSize = (uint8_t)(hsd->CSD[2] & 0x0000007FU); 80be262: 687b ldr r3, [r7, #4] 80be264: 6edb ldr r3, [r3, #108] ; 0x6c 80be266: b2db uxtb r3, r3 80be268: f003 037f and.w r3, r3, #127 ; 0x7f 80be26c: b2da uxtb r2, r3 80be26e: 683b ldr r3, [r7, #0] 80be270: 76da strb r2, [r3, #27] pCSD->WrProtectGrEnable = (uint8_t)((hsd->CSD[3] & 0x80000000U) >> 31U); 80be272: 687b ldr r3, [r7, #4] 80be274: 6f1b ldr r3, [r3, #112] ; 0x70 80be276: 0fdb lsrs r3, r3, #31 80be278: b2da uxtb r2, r3 80be27a: 683b ldr r3, [r7, #0] 80be27c: 771a strb r2, [r3, #28] pCSD->ManDeflECC = (uint8_t)((hsd->CSD[3] & 0x60000000U) >> 29U); 80be27e: 687b ldr r3, [r7, #4] 80be280: 6f1b ldr r3, [r3, #112] ; 0x70 80be282: 0f5b lsrs r3, r3, #29 80be284: b2db uxtb r3, r3 80be286: f003 0303 and.w r3, r3, #3 80be28a: b2da uxtb r2, r3 80be28c: 683b ldr r3, [r7, #0] 80be28e: 775a strb r2, [r3, #29] pCSD->WrSpeedFact = (uint8_t)((hsd->CSD[3] & 0x1C000000U) >> 26U); 80be290: 687b ldr r3, [r7, #4] 80be292: 6f1b ldr r3, [r3, #112] ; 0x70 80be294: 0e9b lsrs r3, r3, #26 80be296: b2db uxtb r3, r3 80be298: f003 0307 and.w r3, r3, #7 80be29c: b2da uxtb r2, r3 80be29e: 683b ldr r3, [r7, #0] 80be2a0: 779a strb r2, [r3, #30] pCSD->MaxWrBlockLen= (uint8_t)((hsd->CSD[3] & 0x03C00000U) >> 22U); 80be2a2: 687b ldr r3, [r7, #4] 80be2a4: 6f1b ldr r3, [r3, #112] ; 0x70 80be2a6: 0d9b lsrs r3, r3, #22 80be2a8: b2db uxtb r3, r3 80be2aa: f003 030f and.w r3, r3, #15 80be2ae: b2da uxtb r2, r3 80be2b0: 683b ldr r3, [r7, #0] 80be2b2: 77da strb r2, [r3, #31] pCSD->WriteBlockPaPartial = (uint8_t)((hsd->CSD[3] & 0x00200000U) >> 21U); 80be2b4: 687b ldr r3, [r7, #4] 80be2b6: 6f1b ldr r3, [r3, #112] ; 0x70 80be2b8: 0d5b lsrs r3, r3, #21 80be2ba: b2db uxtb r3, r3 80be2bc: f003 0301 and.w r3, r3, #1 80be2c0: b2da uxtb r2, r3 80be2c2: 683b ldr r3, [r7, #0] 80be2c4: f883 2020 strb.w r2, [r3, #32] pCSD->Reserved3 = 0; 80be2c8: 683b ldr r3, [r7, #0] 80be2ca: 2200 movs r2, #0 80be2cc: f883 2021 strb.w r2, [r3, #33] ; 0x21 pCSD->ContentProtectAppli = (uint8_t)((hsd->CSD[3] & 0x00010000U) >> 16U); 80be2d0: 687b ldr r3, [r7, #4] 80be2d2: 6f1b ldr r3, [r3, #112] ; 0x70 80be2d4: 0c1b lsrs r3, r3, #16 80be2d6: b2db uxtb r3, r3 80be2d8: f003 0301 and.w r3, r3, #1 80be2dc: b2da uxtb r2, r3 80be2de: 683b ldr r3, [r7, #0] 80be2e0: f883 2022 strb.w r2, [r3, #34] ; 0x22 pCSD->FileFormatGroup = (uint8_t)((hsd->CSD[3] & 0x00008000U) >> 15U); 80be2e4: 687b ldr r3, [r7, #4] 80be2e6: 6f1b ldr r3, [r3, #112] ; 0x70 80be2e8: 0bdb lsrs r3, r3, #15 80be2ea: b2db uxtb r3, r3 80be2ec: f003 0301 and.w r3, r3, #1 80be2f0: b2da uxtb r2, r3 80be2f2: 683b ldr r3, [r7, #0] 80be2f4: f883 2023 strb.w r2, [r3, #35] ; 0x23 pCSD->CopyFlag = (uint8_t)((hsd->CSD[3] & 0x00004000U) >> 14U); 80be2f8: 687b ldr r3, [r7, #4] 80be2fa: 6f1b ldr r3, [r3, #112] ; 0x70 80be2fc: 0b9b lsrs r3, r3, #14 80be2fe: b2db uxtb r3, r3 80be300: f003 0301 and.w r3, r3, #1 80be304: b2da uxtb r2, r3 80be306: 683b ldr r3, [r7, #0] 80be308: f883 2024 strb.w r2, [r3, #36] ; 0x24 pCSD->PermWrProtect = (uint8_t)((hsd->CSD[3] & 0x00002000U) >> 13U); 80be30c: 687b ldr r3, [r7, #4] 80be30e: 6f1b ldr r3, [r3, #112] ; 0x70 80be310: 0b5b lsrs r3, r3, #13 80be312: b2db uxtb r3, r3 80be314: f003 0301 and.w r3, r3, #1 80be318: b2da uxtb r2, r3 80be31a: 683b ldr r3, [r7, #0] 80be31c: f883 2025 strb.w r2, [r3, #37] ; 0x25 pCSD->TempWrProtect = (uint8_t)((hsd->CSD[3] & 0x00001000U) >> 12U); 80be320: 687b ldr r3, [r7, #4] 80be322: 6f1b ldr r3, [r3, #112] ; 0x70 80be324: 0b1b lsrs r3, r3, #12 80be326: b2db uxtb r3, r3 80be328: f003 0301 and.w r3, r3, #1 80be32c: b2da uxtb r2, r3 80be32e: 683b ldr r3, [r7, #0] 80be330: f883 2026 strb.w r2, [r3, #38] ; 0x26 pCSD->FileFormat = (uint8_t)((hsd->CSD[3] & 0x00000C00U) >> 10U); 80be334: 687b ldr r3, [r7, #4] 80be336: 6f1b ldr r3, [r3, #112] ; 0x70 80be338: 0a9b lsrs r3, r3, #10 80be33a: b2db uxtb r3, r3 80be33c: f003 0303 and.w r3, r3, #3 80be340: b2da uxtb r2, r3 80be342: 683b ldr r3, [r7, #0] 80be344: f883 2027 strb.w r2, [r3, #39] ; 0x27 pCSD->ECC= (uint8_t)((hsd->CSD[3] & 0x00000300U) >> 8U); 80be348: 687b ldr r3, [r7, #4] 80be34a: 6f1b ldr r3, [r3, #112] ; 0x70 80be34c: 0a1b lsrs r3, r3, #8 80be34e: b2db uxtb r3, r3 80be350: f003 0303 and.w r3, r3, #3 80be354: b2da uxtb r2, r3 80be356: 683b ldr r3, [r7, #0] 80be358: f883 2028 strb.w r2, [r3, #40] ; 0x28 pCSD->CSD_CRC = (uint8_t)((hsd->CSD[3] & 0x000000FEU) >> 1U); 80be35c: 687b ldr r3, [r7, #4] 80be35e: 6f1b ldr r3, [r3, #112] ; 0x70 80be360: 085b lsrs r3, r3, #1 80be362: b2db uxtb r3, r3 80be364: f003 037f and.w r3, r3, #127 ; 0x7f 80be368: b2da uxtb r2, r3 80be36a: 683b ldr r3, [r7, #0] 80be36c: f883 2029 strb.w r2, [r3, #41] ; 0x29 pCSD->Reserved4 = 1; 80be370: 683b ldr r3, [r7, #0] 80be372: 2201 movs r2, #1 80be374: f883 202a strb.w r2, [r3, #42] ; 0x2a return HAL_OK; 80be378: 2300 movs r3, #0 } 80be37a: 4618 mov r0, r3 80be37c: 370c adds r7, #12 80be37e: 46bd mov sp, r7 80be380: f85d 7b04 ldr.w r7, [sp], #4 80be384: 4770 bx lr 80be386: bf00 nop 80be388: 004005ff .word 0x004005ff 080be38c : * @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) { 80be38c: b480 push {r7} 80be38e: b083 sub sp, #12 80be390: af00 add r7, sp, #0 80be392: 6078 str r0, [r7, #4] 80be394: 6039 str r1, [r7, #0] pCardInfo->CardType = (uint32_t)(hsd->SdCard.CardType); 80be396: 687b ldr r3, [r7, #4] 80be398: 6c5a ldr r2, [r3, #68] ; 0x44 80be39a: 683b ldr r3, [r7, #0] 80be39c: 601a str r2, [r3, #0] pCardInfo->CardVersion = (uint32_t)(hsd->SdCard.CardVersion); 80be39e: 687b ldr r3, [r7, #4] 80be3a0: 6c9a ldr r2, [r3, #72] ; 0x48 80be3a2: 683b ldr r3, [r7, #0] 80be3a4: 605a str r2, [r3, #4] pCardInfo->Class = (uint32_t)(hsd->SdCard.Class); 80be3a6: 687b ldr r3, [r7, #4] 80be3a8: 6cda ldr r2, [r3, #76] ; 0x4c 80be3aa: 683b ldr r3, [r7, #0] 80be3ac: 609a str r2, [r3, #8] pCardInfo->RelCardAdd = (uint32_t)(hsd->SdCard.RelCardAdd); 80be3ae: 687b ldr r3, [r7, #4] 80be3b0: 6d1a ldr r2, [r3, #80] ; 0x50 80be3b2: 683b ldr r3, [r7, #0] 80be3b4: 60da str r2, [r3, #12] pCardInfo->BlockNbr = (uint32_t)(hsd->SdCard.BlockNbr); 80be3b6: 687b ldr r3, [r7, #4] 80be3b8: 6d5a ldr r2, [r3, #84] ; 0x54 80be3ba: 683b ldr r3, [r7, #0] 80be3bc: 611a str r2, [r3, #16] pCardInfo->BlockSize = (uint32_t)(hsd->SdCard.BlockSize); 80be3be: 687b ldr r3, [r7, #4] 80be3c0: 6d9a ldr r2, [r3, #88] ; 0x58 80be3c2: 683b ldr r3, [r7, #0] 80be3c4: 615a str r2, [r3, #20] pCardInfo->LogBlockNbr = (uint32_t)(hsd->SdCard.LogBlockNbr); 80be3c6: 687b ldr r3, [r7, #4] 80be3c8: 6dda ldr r2, [r3, #92] ; 0x5c 80be3ca: 683b ldr r3, [r7, #0] 80be3cc: 619a str r2, [r3, #24] pCardInfo->LogBlockSize = (uint32_t)(hsd->SdCard.LogBlockSize); 80be3ce: 687b ldr r3, [r7, #4] 80be3d0: 6e1a ldr r2, [r3, #96] ; 0x60 80be3d2: 683b ldr r3, [r7, #0] 80be3d4: 61da str r2, [r3, #28] return HAL_OK; 80be3d6: 2300 movs r3, #0 } 80be3d8: 4618 mov r0, r3 80be3da: 370c adds r7, #12 80be3dc: 46bd mov sp, r7 80be3de: f85d 7b04 ldr.w r7, [sp], #4 80be3e2: 4770 bx lr 080be3e4 : * @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) { 80be3e4: b5b0 push {r4, r5, r7, lr} 80be3e6: b08e sub sp, #56 ; 0x38 80be3e8: af04 add r7, sp, #16 80be3ea: 6078 str r0, [r7, #4] 80be3ec: 6039 str r1, [r7, #0] SDMMC_InitTypeDef Init; uint32_t errorstate; HAL_StatusTypeDef status = HAL_OK; 80be3ee: 2300 movs r3, #0 80be3f0: 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; 80be3f4: 687b ldr r3, [r7, #4] 80be3f6: 2203 movs r2, #3 80be3f8: f883 2034 strb.w r2, [r3, #52] ; 0x34 if(hsd->SdCard.CardType != CARD_SECURED) 80be3fc: 687b ldr r3, [r7, #4] 80be3fe: 6c5b ldr r3, [r3, #68] ; 0x44 80be400: 2b03 cmp r3, #3 80be402: d02e beq.n 80be462 { if(WideMode == SDMMC_BUS_WIDE_8B) 80be404: 683b ldr r3, [r7, #0] 80be406: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80be40a: d106 bne.n 80be41a { hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80be40c: 687b ldr r3, [r7, #4] 80be40e: 6b9b ldr r3, [r3, #56] ; 0x38 80be410: f043 5280 orr.w r2, r3, #268435456 ; 0x10000000 80be414: 687b ldr r3, [r7, #4] 80be416: 639a str r2, [r3, #56] ; 0x38 80be418: e029 b.n 80be46e } else if(WideMode == SDMMC_BUS_WIDE_4B) 80be41a: 683b ldr r3, [r7, #0] 80be41c: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80be420: d10a bne.n 80be438 { errorstate = SD_WideBus_Enable(hsd); 80be422: 6878 ldr r0, [r7, #4] 80be424: f000 fb37 bl 80bea96 80be428: 6238 str r0, [r7, #32] hsd->ErrorCode |= errorstate; 80be42a: 687b ldr r3, [r7, #4] 80be42c: 6b9a ldr r2, [r3, #56] ; 0x38 80be42e: 6a3b ldr r3, [r7, #32] 80be430: 431a orrs r2, r3 80be432: 687b ldr r3, [r7, #4] 80be434: 639a str r2, [r3, #56] ; 0x38 80be436: e01a b.n 80be46e } else if(WideMode == SDMMC_BUS_WIDE_1B) 80be438: 683b ldr r3, [r7, #0] 80be43a: 2b00 cmp r3, #0 80be43c: d10a bne.n 80be454 { errorstate = SD_WideBus_Disable(hsd); 80be43e: 6878 ldr r0, [r7, #4] 80be440: f000 fb74 bl 80beb2c 80be444: 6238 str r0, [r7, #32] hsd->ErrorCode |= errorstate; 80be446: 687b ldr r3, [r7, #4] 80be448: 6b9a ldr r2, [r3, #56] ; 0x38 80be44a: 6a3b ldr r3, [r7, #32] 80be44c: 431a orrs r2, r3 80be44e: 687b ldr r3, [r7, #4] 80be450: 639a str r2, [r3, #56] ; 0x38 80be452: e00c b.n 80be46e } else { /* WideMode is not a valid argument*/ hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 80be454: 687b ldr r3, [r7, #4] 80be456: 6b9b ldr r3, [r3, #56] ; 0x38 80be458: f043 6200 orr.w r2, r3, #134217728 ; 0x8000000 80be45c: 687b ldr r3, [r7, #4] 80be45e: 639a str r2, [r3, #56] ; 0x38 80be460: e005 b.n 80be46e } } else { /* MMC Card does not support this feature */ hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80be462: 687b ldr r3, [r7, #4] 80be464: 6b9b ldr r3, [r3, #56] ; 0x38 80be466: f043 5280 orr.w r2, r3, #268435456 ; 0x10000000 80be46a: 687b ldr r3, [r7, #4] 80be46c: 639a str r2, [r3, #56] ; 0x38 } if(hsd->ErrorCode != HAL_SD_ERROR_NONE) 80be46e: 687b ldr r3, [r7, #4] 80be470: 6b9b ldr r3, [r3, #56] ; 0x38 80be472: 2b00 cmp r3, #0 80be474: d00b beq.n 80be48e { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80be476: 687b ldr r3, [r7, #4] 80be478: 681b ldr r3, [r3, #0] 80be47a: 4a26 ldr r2, [pc, #152] ; (80be514 ) 80be47c: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80be47e: 687b ldr r3, [r7, #4] 80be480: 2201 movs r2, #1 80be482: f883 2034 strb.w r2, [r3, #52] ; 0x34 status = HAL_ERROR; 80be486: 2301 movs r3, #1 80be488: f887 3027 strb.w r3, [r7, #39] ; 0x27 80be48c: e01f b.n 80be4ce } else { /* Configure the SDMMC peripheral */ Init.ClockEdge = hsd->Init.ClockEdge; 80be48e: 687b ldr r3, [r7, #4] 80be490: 685b ldr r3, [r3, #4] 80be492: 60bb str r3, [r7, #8] Init.ClockBypass = hsd->Init.ClockBypass; 80be494: 687b ldr r3, [r7, #4] 80be496: 689b ldr r3, [r3, #8] 80be498: 60fb str r3, [r7, #12] Init.ClockPowerSave = hsd->Init.ClockPowerSave; 80be49a: 687b ldr r3, [r7, #4] 80be49c: 68db ldr r3, [r3, #12] 80be49e: 613b str r3, [r7, #16] Init.BusWide = WideMode; 80be4a0: 683b ldr r3, [r7, #0] 80be4a2: 617b str r3, [r7, #20] Init.HardwareFlowControl = hsd->Init.HardwareFlowControl; 80be4a4: 687b ldr r3, [r7, #4] 80be4a6: 695b ldr r3, [r3, #20] 80be4a8: 61bb str r3, [r7, #24] Init.ClockDiv = hsd->Init.ClockDiv; 80be4aa: 687b ldr r3, [r7, #4] 80be4ac: 699b ldr r3, [r3, #24] 80be4ae: 61fb str r3, [r7, #28] (void)SDMMC_Init(hsd->Instance, Init); 80be4b0: 687b ldr r3, [r7, #4] 80be4b2: 681d ldr r5, [r3, #0] 80be4b4: 466c mov r4, sp 80be4b6: f107 0314 add.w r3, r7, #20 80be4ba: e893 0007 ldmia.w r3, {r0, r1, r2} 80be4be: e884 0007 stmia.w r4, {r0, r1, r2} 80be4c2: f107 0308 add.w r3, r7, #8 80be4c6: cb0e ldmia r3, {r1, r2, r3} 80be4c8: 4628 mov r0, r5 80be4ca: f003 ff51 bl 80c2370 } /* Set Block Size for Card */ errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE); 80be4ce: 687b ldr r3, [r7, #4] 80be4d0: 681b ldr r3, [r3, #0] 80be4d2: f44f 7100 mov.w r1, #512 ; 0x200 80be4d6: 4618 mov r0, r3 80be4d8: f004 f834 bl 80c2544 80be4dc: 6238 str r0, [r7, #32] if(errorstate != HAL_SD_ERROR_NONE) 80be4de: 6a3b ldr r3, [r7, #32] 80be4e0: 2b00 cmp r3, #0 80be4e2: d00c beq.n 80be4fe { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80be4e4: 687b ldr r3, [r7, #4] 80be4e6: 681b ldr r3, [r3, #0] 80be4e8: 4a0a ldr r2, [pc, #40] ; (80be514 ) 80be4ea: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= errorstate; 80be4ec: 687b ldr r3, [r7, #4] 80be4ee: 6b9a ldr r2, [r3, #56] ; 0x38 80be4f0: 6a3b ldr r3, [r7, #32] 80be4f2: 431a orrs r2, r3 80be4f4: 687b ldr r3, [r7, #4] 80be4f6: 639a str r2, [r3, #56] ; 0x38 status = HAL_ERROR; 80be4f8: 2301 movs r3, #1 80be4fa: f887 3027 strb.w r3, [r7, #39] ; 0x27 } /* Change State */ hsd->State = HAL_SD_STATE_READY; 80be4fe: 687b ldr r3, [r7, #4] 80be500: 2201 movs r2, #1 80be502: f883 2034 strb.w r2, [r3, #52] ; 0x34 return status; 80be506: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 } 80be50a: 4618 mov r0, r3 80be50c: 3728 adds r7, #40 ; 0x28 80be50e: 46bd mov sp, r7 80be510: bdb0 pop {r4, r5, r7, pc} 80be512: bf00 nop 80be514: 004005ff .word 0x004005ff 080be518 : * @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) { 80be518: b580 push {r7, lr} 80be51a: b086 sub sp, #24 80be51c: af00 add r7, sp, #0 80be51e: 6078 str r0, [r7, #4] uint32_t cardstate; uint32_t errorstate; uint32_t resp1 = 0; 80be520: 2300 movs r3, #0 80be522: 60fb str r3, [r7, #12] errorstate = SD_SendStatus(hsd, &resp1); 80be524: f107 030c add.w r3, r7, #12 80be528: 4619 mov r1, r3 80be52a: 6878 ldr r0, [r7, #4] 80be52c: f000 fa8b bl 80bea46 80be530: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80be532: 697b ldr r3, [r7, #20] 80be534: 2b00 cmp r3, #0 80be536: d005 beq.n 80be544 { hsd->ErrorCode |= errorstate; 80be538: 687b ldr r3, [r7, #4] 80be53a: 6b9a ldr r2, [r3, #56] ; 0x38 80be53c: 697b ldr r3, [r7, #20] 80be53e: 431a orrs r2, r3 80be540: 687b ldr r3, [r7, #4] 80be542: 639a str r2, [r3, #56] ; 0x38 } cardstate = ((resp1 >> 9U) & 0x0FU); 80be544: 68fb ldr r3, [r7, #12] 80be546: 0a5b lsrs r3, r3, #9 80be548: f003 030f and.w r3, r3, #15 80be54c: 613b str r3, [r7, #16] return (HAL_SD_CardStateTypeDef)cardstate; 80be54e: 693b ldr r3, [r7, #16] } 80be550: 4618 mov r0, r3 80be552: 3718 adds r7, #24 80be554: 46bd mov sp, r7 80be556: bd80 pop {r7, pc} 080be558 : * @brief DMA SD transmit process complete callback * @param hdma: DMA handle * @retval None */ static void SD_DMATransmitCplt(DMA_HandleTypeDef *hdma) { 80be558: b480 push {r7} 80be55a: b085 sub sp, #20 80be55c: af00 add r7, sp, #0 80be55e: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80be560: 687b ldr r3, [r7, #4] 80be562: 6b9b ldr r3, [r3, #56] ; 0x38 80be564: 60fb str r3, [r7, #12] /* Enable DATAEND Interrupt */ __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DATAEND)); 80be566: 68fb ldr r3, [r7, #12] 80be568: 681b ldr r3, [r3, #0] 80be56a: 68fa ldr r2, [r7, #12] 80be56c: 6812 ldr r2, [r2, #0] 80be56e: 6bd2 ldr r2, [r2, #60] ; 0x3c 80be570: f442 7280 orr.w r2, r2, #256 ; 0x100 80be574: 63da str r2, [r3, #60] ; 0x3c } 80be576: bf00 nop 80be578: 3714 adds r7, #20 80be57a: 46bd mov sp, r7 80be57c: f85d 7b04 ldr.w r7, [sp], #4 80be580: 4770 bx lr 080be582 : * @brief DMA SD receive process complete callback * @param hdma: DMA handle * @retval None */ static void SD_DMAReceiveCplt(DMA_HandleTypeDef *hdma) { 80be582: b580 push {r7, lr} 80be584: b084 sub sp, #16 80be586: af00 add r7, sp, #0 80be588: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80be58a: 687b ldr r3, [r7, #4] 80be58c: 6b9b ldr r3, [r3, #56] ; 0x38 80be58e: 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)) 80be590: 68fb ldr r3, [r7, #12] 80be592: 6b1b ldr r3, [r3, #48] ; 0x30 80be594: 2b82 cmp r3, #130 ; 0x82 80be596: d111 bne.n 80be5bc { errorstate = SDMMC_CmdStopTransfer(hsd->Instance); 80be598: 68fb ldr r3, [r7, #12] 80be59a: 681b ldr r3, [r3, #0] 80be59c: 4618 mov r0, r3 80be59e: f004 f87b bl 80c2698 80be5a2: 60b8 str r0, [r7, #8] if(errorstate != HAL_SD_ERROR_NONE) 80be5a4: 68bb ldr r3, [r7, #8] 80be5a6: 2b00 cmp r3, #0 80be5a8: d008 beq.n 80be5bc { hsd->ErrorCode |= errorstate; 80be5aa: 68fb ldr r3, [r7, #12] 80be5ac: 6b9a ldr r2, [r3, #56] ; 0x38 80be5ae: 68bb ldr r3, [r7, #8] 80be5b0: 431a orrs r2, r3 80be5b2: 68fb ldr r3, [r7, #12] 80be5b4: 639a str r2, [r3, #56] ; 0x38 #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->ErrorCallback(hsd); #else HAL_SD_ErrorCallback(hsd); 80be5b6: 68f8 ldr r0, [r7, #12] 80be5b8: f7ff fd3a bl 80be030 } } /* 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); 80be5bc: 68fb ldr r3, [r7, #12] 80be5be: 681b ldr r3, [r3, #0] 80be5c0: 68fa ldr r2, [r7, #12] 80be5c2: 6812 ldr r2, [r2, #0] 80be5c4: 6ad2 ldr r2, [r2, #44] ; 0x2c 80be5c6: f022 0208 bic.w r2, r2, #8 80be5ca: 62da str r2, [r3, #44] ; 0x2c /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80be5cc: 68fb ldr r3, [r7, #12] 80be5ce: 681b ldr r3, [r3, #0] 80be5d0: f240 523a movw r2, #1338 ; 0x53a 80be5d4: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80be5d6: 68fb ldr r3, [r7, #12] 80be5d8: 2201 movs r2, #1 80be5da: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80be5de: 68fb ldr r3, [r7, #12] 80be5e0: 2200 movs r2, #0 80be5e2: 631a str r2, [r3, #48] ; 0x30 #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->RxCpltCallback(hsd); #else HAL_SD_RxCpltCallback(hsd); 80be5e4: 68f8 ldr r0, [r7, #12] 80be5e6: f006 f907 bl 80c47f8 #endif } 80be5ea: bf00 nop 80be5ec: 3710 adds r7, #16 80be5ee: 46bd mov sp, r7 80be5f0: bd80 pop {r7, pc} ... 080be5f4 : * @brief DMA SD communication error callback * @param hdma: DMA handle * @retval None */ static void SD_DMAError(DMA_HandleTypeDef *hdma) { 80be5f4: b580 push {r7, lr} 80be5f6: b086 sub sp, #24 80be5f8: af00 add r7, sp, #0 80be5fa: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80be5fc: 687b ldr r3, [r7, #4] 80be5fe: 6b9b ldr r3, [r3, #56] ; 0x38 80be600: 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) 80be602: 6878 ldr r0, [r7, #4] 80be604: f7fa fdbc bl 80b9180 80be608: 4603 mov r3, r0 80be60a: 2b02 cmp r3, #2 80be60c: d03e beq.n 80be68c { RxErrorCode = hsd->hdmarx->ErrorCode; 80be60e: 697b ldr r3, [r7, #20] 80be610: 6c1b ldr r3, [r3, #64] ; 0x40 80be612: 6d5b ldr r3, [r3, #84] ; 0x54 80be614: 613b str r3, [r7, #16] TxErrorCode = hsd->hdmatx->ErrorCode; 80be616: 697b ldr r3, [r7, #20] 80be618: 6bdb ldr r3, [r3, #60] ; 0x3c 80be61a: 6d5b ldr r3, [r3, #84] ; 0x54 80be61c: 60fb str r3, [r7, #12] if((RxErrorCode == HAL_DMA_ERROR_TE) || (TxErrorCode == HAL_DMA_ERROR_TE)) 80be61e: 693b ldr r3, [r7, #16] 80be620: 2b01 cmp r3, #1 80be622: d002 beq.n 80be62a 80be624: 68fb ldr r3, [r7, #12] 80be626: 2b01 cmp r3, #1 80be628: d12d bne.n 80be686 { /* Clear All flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80be62a: 697b ldr r3, [r7, #20] 80be62c: 681b ldr r3, [r3, #0] 80be62e: 4a19 ldr r2, [pc, #100] ; (80be694 ) 80be630: 639a str r2, [r3, #56] ; 0x38 /* Disable All interrupts */ __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\ 80be632: 697b ldr r3, [r7, #20] 80be634: 681b ldr r3, [r3, #0] 80be636: 697a ldr r2, [r7, #20] 80be638: 6812 ldr r2, [r2, #0] 80be63a: 6bd2 ldr r2, [r2, #60] ; 0x3c 80be63c: f422 729d bic.w r2, r2, #314 ; 0x13a 80be640: 63da str r2, [r3, #60] ; 0x3c SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR); hsd->ErrorCode |= HAL_SD_ERROR_DMA; 80be642: 697b ldr r3, [r7, #20] 80be644: 6b9b ldr r3, [r3, #56] ; 0x38 80be646: f043 4280 orr.w r2, r3, #1073741824 ; 0x40000000 80be64a: 697b ldr r3, [r7, #20] 80be64c: 639a str r2, [r3, #56] ; 0x38 CardState = HAL_SD_GetCardState(hsd); 80be64e: 6978 ldr r0, [r7, #20] 80be650: f7ff ff62 bl 80be518 80be654: 60b8 str r0, [r7, #8] if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 80be656: 68bb ldr r3, [r7, #8] 80be658: 2b06 cmp r3, #6 80be65a: d002 beq.n 80be662 80be65c: 68bb ldr r3, [r7, #8] 80be65e: 2b05 cmp r3, #5 80be660: d10a bne.n 80be678 { hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 80be662: 697b ldr r3, [r7, #20] 80be664: 681b ldr r3, [r3, #0] 80be666: 4618 mov r0, r3 80be668: f004 f816 bl 80c2698 80be66c: 4602 mov r2, r0 80be66e: 697b ldr r3, [r7, #20] 80be670: 6b9b ldr r3, [r3, #56] ; 0x38 80be672: 431a orrs r2, r3 80be674: 697b ldr r3, [r7, #20] 80be676: 639a str r2, [r3, #56] ; 0x38 } hsd->State= HAL_SD_STATE_READY; 80be678: 697b ldr r3, [r7, #20] 80be67a: 2201 movs r2, #1 80be67c: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80be680: 697b ldr r3, [r7, #20] 80be682: 2200 movs r2, #0 80be684: 631a str r2, [r3, #48] ; 0x30 } #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->ErrorCallback(hsd); #else HAL_SD_ErrorCallback(hsd); 80be686: 6978 ldr r0, [r7, #20] 80be688: f7ff fcd2 bl 80be030 #endif } } 80be68c: bf00 nop 80be68e: 3718 adds r7, #24 80be690: 46bd mov sp, r7 80be692: bd80 pop {r7, pc} 80be694: 004005ff .word 0x004005ff 080be698 : * @brief DMA SD Tx Abort callback * @param hdma: DMA handle * @retval None */ static void SD_DMATxAbort(DMA_HandleTypeDef *hdma) { 80be698: b580 push {r7, lr} 80be69a: b084 sub sp, #16 80be69c: af00 add r7, sp, #0 80be69e: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80be6a0: 687b ldr r3, [r7, #4] 80be6a2: 6b9b ldr r3, [r3, #56] ; 0x38 80be6a4: 60fb str r3, [r7, #12] HAL_SD_CardStateTypeDef CardState; /* Clear All flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80be6a6: 68fb ldr r3, [r7, #12] 80be6a8: 681b ldr r3, [r3, #0] 80be6aa: f240 523a movw r2, #1338 ; 0x53a 80be6ae: 639a str r2, [r3, #56] ; 0x38 CardState = HAL_SD_GetCardState(hsd); 80be6b0: 68f8 ldr r0, [r7, #12] 80be6b2: f7ff ff31 bl 80be518 80be6b6: 60b8 str r0, [r7, #8] hsd->State = HAL_SD_STATE_READY; 80be6b8: 68fb ldr r3, [r7, #12] 80be6ba: 2201 movs r2, #1 80be6bc: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80be6c0: 68fb ldr r3, [r7, #12] 80be6c2: 2200 movs r2, #0 80be6c4: 631a str r2, [r3, #48] ; 0x30 if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 80be6c6: 68bb ldr r3, [r7, #8] 80be6c8: 2b06 cmp r3, #6 80be6ca: d002 beq.n 80be6d2 80be6cc: 68bb ldr r3, [r7, #8] 80be6ce: 2b05 cmp r3, #5 80be6d0: d10a bne.n 80be6e8 { hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 80be6d2: 68fb ldr r3, [r7, #12] 80be6d4: 681b ldr r3, [r3, #0] 80be6d6: 4618 mov r0, r3 80be6d8: f003 ffde bl 80c2698 80be6dc: 4602 mov r2, r0 80be6de: 68fb ldr r3, [r7, #12] 80be6e0: 6b9b ldr r3, [r3, #56] ; 0x38 80be6e2: 431a orrs r2, r3 80be6e4: 68fb ldr r3, [r7, #12] 80be6e6: 639a str r2, [r3, #56] ; 0x38 } if(hsd->ErrorCode == HAL_SD_ERROR_NONE) 80be6e8: 68fb ldr r3, [r7, #12] 80be6ea: 6b9b ldr r3, [r3, #56] ; 0x38 80be6ec: 2b00 cmp r3, #0 80be6ee: d103 bne.n 80be6f8 { #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->AbortCpltCallback(hsd); #else HAL_SD_AbortCallback(hsd); 80be6f0: 68f8 ldr r0, [r7, #12] 80be6f2: f006 f86d bl 80c47d0 hsd->ErrorCallback(hsd); #else HAL_SD_ErrorCallback(hsd); #endif } } 80be6f6: e002 b.n 80be6fe HAL_SD_ErrorCallback(hsd); 80be6f8: 68f8 ldr r0, [r7, #12] 80be6fa: f7ff fc99 bl 80be030 } 80be6fe: bf00 nop 80be700: 3710 adds r7, #16 80be702: 46bd mov sp, r7 80be704: bd80 pop {r7, pc} 080be706 : * @brief DMA SD Rx Abort callback * @param hdma: DMA handle * @retval None */ static void SD_DMARxAbort(DMA_HandleTypeDef *hdma) { 80be706: b580 push {r7, lr} 80be708: b084 sub sp, #16 80be70a: af00 add r7, sp, #0 80be70c: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80be70e: 687b ldr r3, [r7, #4] 80be710: 6b9b ldr r3, [r3, #56] ; 0x38 80be712: 60fb str r3, [r7, #12] HAL_SD_CardStateTypeDef CardState; /* Clear All flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80be714: 68fb ldr r3, [r7, #12] 80be716: 681b ldr r3, [r3, #0] 80be718: f240 523a movw r2, #1338 ; 0x53a 80be71c: 639a str r2, [r3, #56] ; 0x38 CardState = HAL_SD_GetCardState(hsd); 80be71e: 68f8 ldr r0, [r7, #12] 80be720: f7ff fefa bl 80be518 80be724: 60b8 str r0, [r7, #8] hsd->State = HAL_SD_STATE_READY; 80be726: 68fb ldr r3, [r7, #12] 80be728: 2201 movs r2, #1 80be72a: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80be72e: 68fb ldr r3, [r7, #12] 80be730: 2200 movs r2, #0 80be732: 631a str r2, [r3, #48] ; 0x30 if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 80be734: 68bb ldr r3, [r7, #8] 80be736: 2b06 cmp r3, #6 80be738: d002 beq.n 80be740 80be73a: 68bb ldr r3, [r7, #8] 80be73c: 2b05 cmp r3, #5 80be73e: d10a bne.n 80be756 { hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 80be740: 68fb ldr r3, [r7, #12] 80be742: 681b ldr r3, [r3, #0] 80be744: 4618 mov r0, r3 80be746: f003 ffa7 bl 80c2698 80be74a: 4602 mov r2, r0 80be74c: 68fb ldr r3, [r7, #12] 80be74e: 6b9b ldr r3, [r3, #56] ; 0x38 80be750: 431a orrs r2, r3 80be752: 68fb ldr r3, [r7, #12] 80be754: 639a str r2, [r3, #56] ; 0x38 } if(hsd->ErrorCode == HAL_SD_ERROR_NONE) 80be756: 68fb ldr r3, [r7, #12] 80be758: 6b9b ldr r3, [r3, #56] ; 0x38 80be75a: 2b00 cmp r3, #0 80be75c: d103 bne.n 80be766 { #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->AbortCpltCallback(hsd); #else HAL_SD_AbortCallback(hsd); 80be75e: 68f8 ldr r0, [r7, #12] 80be760: f006 f836 bl 80c47d0 hsd->ErrorCallback(hsd); #else HAL_SD_ErrorCallback(hsd); #endif } } 80be764: e002 b.n 80be76c HAL_SD_ErrorCallback(hsd); 80be766: 68f8 ldr r0, [r7, #12] 80be768: f7ff fc62 bl 80be030 } 80be76c: bf00 nop 80be76e: 3710 adds r7, #16 80be770: 46bd mov sp, r7 80be772: bd80 pop {r7, pc} 080be774 : * @brief Initializes the sd card. * @param hsd: Pointer to SD handle * @retval SD Card error state */ static uint32_t SD_InitCard(SD_HandleTypeDef *hsd) { 80be774: b5b0 push {r4, r5, r7, lr} 80be776: b094 sub sp, #80 ; 0x50 80be778: af04 add r7, sp, #16 80be77a: 6078 str r0, [r7, #4] HAL_SD_CardCSDTypeDef CSD; uint32_t errorstate; uint16_t sd_rca = 1U; 80be77c: 2301 movs r3, #1 80be77e: 81fb strh r3, [r7, #14] /* Check the power State */ if(SDMMC_GetPowerState(hsd->Instance) == 0U) 80be780: 687b ldr r3, [r7, #4] 80be782: 681b ldr r3, [r3, #0] 80be784: 4618 mov r0, r3 80be786: f003 fe59 bl 80c243c 80be78a: 4603 mov r3, r0 80be78c: 2b00 cmp r3, #0 80be78e: d102 bne.n 80be796 { /* Power off */ return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; 80be790: f04f 6380 mov.w r3, #67108864 ; 0x4000000 80be794: e0b7 b.n 80be906 } if(hsd->SdCard.CardType != CARD_SECURED) 80be796: 687b ldr r3, [r7, #4] 80be798: 6c5b ldr r3, [r3, #68] ; 0x44 80be79a: 2b03 cmp r3, #3 80be79c: d02f beq.n 80be7fe { /* Send CMD2 ALL_SEND_CID */ errorstate = SDMMC_CmdSendCID(hsd->Instance); 80be79e: 687b ldr r3, [r7, #4] 80be7a0: 681b ldr r3, [r3, #0] 80be7a2: 4618 mov r0, r3 80be7a4: f004 f883 bl 80c28ae 80be7a8: 63f8 str r0, [r7, #60] ; 0x3c if(errorstate != HAL_SD_ERROR_NONE) 80be7aa: 6bfb ldr r3, [r7, #60] ; 0x3c 80be7ac: 2b00 cmp r3, #0 80be7ae: d001 beq.n 80be7b4 { return errorstate; 80be7b0: 6bfb ldr r3, [r7, #60] ; 0x3c 80be7b2: e0a8 b.n 80be906 } else { /* Get Card identification number data */ hsd->CID[0U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); 80be7b4: 687b ldr r3, [r7, #4] 80be7b6: 681b ldr r3, [r3, #0] 80be7b8: 2100 movs r1, #0 80be7ba: 4618 mov r0, r3 80be7bc: f003 fe83 bl 80c24c6 80be7c0: 4602 mov r2, r0 80be7c2: 687b ldr r3, [r7, #4] 80be7c4: 675a str r2, [r3, #116] ; 0x74 hsd->CID[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2); 80be7c6: 687b ldr r3, [r7, #4] 80be7c8: 681b ldr r3, [r3, #0] 80be7ca: 2104 movs r1, #4 80be7cc: 4618 mov r0, r3 80be7ce: f003 fe7a bl 80c24c6 80be7d2: 4602 mov r2, r0 80be7d4: 687b ldr r3, [r7, #4] 80be7d6: 679a str r2, [r3, #120] ; 0x78 hsd->CID[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3); 80be7d8: 687b ldr r3, [r7, #4] 80be7da: 681b ldr r3, [r3, #0] 80be7dc: 2108 movs r1, #8 80be7de: 4618 mov r0, r3 80be7e0: f003 fe71 bl 80c24c6 80be7e4: 4602 mov r2, r0 80be7e6: 687b ldr r3, [r7, #4] 80be7e8: 67da str r2, [r3, #124] ; 0x7c hsd->CID[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4); 80be7ea: 687b ldr r3, [r7, #4] 80be7ec: 681b ldr r3, [r3, #0] 80be7ee: 210c movs r1, #12 80be7f0: 4618 mov r0, r3 80be7f2: f003 fe68 bl 80c24c6 80be7f6: 4602 mov r2, r0 80be7f8: 687b ldr r3, [r7, #4] 80be7fa: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } } if(hsd->SdCard.CardType != CARD_SECURED) 80be7fe: 687b ldr r3, [r7, #4] 80be800: 6c5b ldr r3, [r3, #68] ; 0x44 80be802: 2b03 cmp r3, #3 80be804: d00d beq.n 80be822 { /* Send CMD3 SET_REL_ADDR with argument 0 */ /* SD Card publishes its RCA. */ errorstate = SDMMC_CmdSetRelAdd(hsd->Instance, &sd_rca); 80be806: 687b ldr r3, [r7, #4] 80be808: 681b ldr r3, [r3, #0] 80be80a: f107 020e add.w r2, r7, #14 80be80e: 4611 mov r1, r2 80be810: 4618 mov r0, r3 80be812: f004 f889 bl 80c2928 80be816: 63f8 str r0, [r7, #60] ; 0x3c if(errorstate != HAL_SD_ERROR_NONE) 80be818: 6bfb ldr r3, [r7, #60] ; 0x3c 80be81a: 2b00 cmp r3, #0 80be81c: d001 beq.n 80be822 { return errorstate; 80be81e: 6bfb ldr r3, [r7, #60] ; 0x3c 80be820: e071 b.n 80be906 } } if(hsd->SdCard.CardType != CARD_SECURED) 80be822: 687b ldr r3, [r7, #4] 80be824: 6c5b ldr r3, [r3, #68] ; 0x44 80be826: 2b03 cmp r3, #3 80be828: d036 beq.n 80be898 { /* Get the SD card RCA */ hsd->SdCard.RelCardAdd = sd_rca; 80be82a: 89fb ldrh r3, [r7, #14] 80be82c: 461a mov r2, r3 80be82e: 687b ldr r3, [r7, #4] 80be830: 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)); 80be832: 687b ldr r3, [r7, #4] 80be834: 681a ldr r2, [r3, #0] 80be836: 687b ldr r3, [r7, #4] 80be838: 6d1b ldr r3, [r3, #80] ; 0x50 80be83a: 041b lsls r3, r3, #16 80be83c: 4619 mov r1, r3 80be83e: 4610 mov r0, r2 80be840: f004 f853 bl 80c28ea 80be844: 63f8 str r0, [r7, #60] ; 0x3c if(errorstate != HAL_SD_ERROR_NONE) 80be846: 6bfb ldr r3, [r7, #60] ; 0x3c 80be848: 2b00 cmp r3, #0 80be84a: d001 beq.n 80be850 { return errorstate; 80be84c: 6bfb ldr r3, [r7, #60] ; 0x3c 80be84e: e05a b.n 80be906 } else { /* Get Card Specific Data */ hsd->CSD[0U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); 80be850: 687b ldr r3, [r7, #4] 80be852: 681b ldr r3, [r3, #0] 80be854: 2100 movs r1, #0 80be856: 4618 mov r0, r3 80be858: f003 fe35 bl 80c24c6 80be85c: 4602 mov r2, r0 80be85e: 687b ldr r3, [r7, #4] 80be860: 665a str r2, [r3, #100] ; 0x64 hsd->CSD[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2); 80be862: 687b ldr r3, [r7, #4] 80be864: 681b ldr r3, [r3, #0] 80be866: 2104 movs r1, #4 80be868: 4618 mov r0, r3 80be86a: f003 fe2c bl 80c24c6 80be86e: 4602 mov r2, r0 80be870: 687b ldr r3, [r7, #4] 80be872: 669a str r2, [r3, #104] ; 0x68 hsd->CSD[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3); 80be874: 687b ldr r3, [r7, #4] 80be876: 681b ldr r3, [r3, #0] 80be878: 2108 movs r1, #8 80be87a: 4618 mov r0, r3 80be87c: f003 fe23 bl 80c24c6 80be880: 4602 mov r2, r0 80be882: 687b ldr r3, [r7, #4] 80be884: 66da str r2, [r3, #108] ; 0x6c hsd->CSD[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4); 80be886: 687b ldr r3, [r7, #4] 80be888: 681b ldr r3, [r3, #0] 80be88a: 210c movs r1, #12 80be88c: 4618 mov r0, r3 80be88e: f003 fe1a bl 80c24c6 80be892: 4602 mov r2, r0 80be894: 687b ldr r3, [r7, #4] 80be896: 671a str r2, [r3, #112] ; 0x70 } } /* Get the Card Class */ hsd->SdCard.Class = (SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2) >> 20U); 80be898: 687b ldr r3, [r7, #4] 80be89a: 681b ldr r3, [r3, #0] 80be89c: 2104 movs r1, #4 80be89e: 4618 mov r0, r3 80be8a0: f003 fe11 bl 80c24c6 80be8a4: 4603 mov r3, r0 80be8a6: 0d1a lsrs r2, r3, #20 80be8a8: 687b ldr r3, [r7, #4] 80be8aa: 64da str r2, [r3, #76] ; 0x4c /* Get CSD parameters */ if (HAL_SD_GetCardCSD(hsd, &CSD) != HAL_OK) 80be8ac: f107 0310 add.w r3, r7, #16 80be8b0: 4619 mov r1, r3 80be8b2: 6878 ldr r0, [r7, #4] 80be8b4: f7ff fbc6 bl 80be044 80be8b8: 4603 mov r3, r0 80be8ba: 2b00 cmp r3, #0 80be8bc: d002 beq.n 80be8c4 { return HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80be8be: f04f 5380 mov.w r3, #268435456 ; 0x10000000 80be8c2: e020 b.n 80be906 } /* Select the Card */ errorstate = SDMMC_CmdSelDesel(hsd->Instance, (uint32_t)(((uint32_t)hsd->SdCard.RelCardAdd) << 16U)); 80be8c4: 687b ldr r3, [r7, #4] 80be8c6: 6819 ldr r1, [r3, #0] 80be8c8: 687b ldr r3, [r7, #4] 80be8ca: 6d1b ldr r3, [r3, #80] ; 0x50 80be8cc: 041b lsls r3, r3, #16 80be8ce: f04f 0400 mov.w r4, #0 80be8d2: 461a mov r2, r3 80be8d4: 4623 mov r3, r4 80be8d6: 4608 mov r0, r1 80be8d8: f003 ff00 bl 80c26dc 80be8dc: 63f8 str r0, [r7, #60] ; 0x3c if(errorstate != HAL_SD_ERROR_NONE) 80be8de: 6bfb ldr r3, [r7, #60] ; 0x3c 80be8e0: 2b00 cmp r3, #0 80be8e2: d001 beq.n 80be8e8 { return errorstate; 80be8e4: 6bfb ldr r3, [r7, #60] ; 0x3c 80be8e6: e00e b.n 80be906 } /* Configure SDMMC peripheral interface */ (void)SDMMC_Init(hsd->Instance, hsd->Init); 80be8e8: 687b ldr r3, [r7, #4] 80be8ea: 681d ldr r5, [r3, #0] 80be8ec: 687b ldr r3, [r7, #4] 80be8ee: 466c mov r4, sp 80be8f0: f103 0210 add.w r2, r3, #16 80be8f4: ca07 ldmia r2, {r0, r1, r2} 80be8f6: e884 0007 stmia.w r4, {r0, r1, r2} 80be8fa: 3304 adds r3, #4 80be8fc: cb0e ldmia r3, {r1, r2, r3} 80be8fe: 4628 mov r0, r5 80be900: f003 fd36 bl 80c2370 /* All cards are initialized */ return HAL_SD_ERROR_NONE; 80be904: 2300 movs r3, #0 } 80be906: 4618 mov r0, r3 80be908: 3740 adds r7, #64 ; 0x40 80be90a: 46bd mov sp, r7 80be90c: bdb0 pop {r4, r5, r7, pc} ... 080be910 : * in the SD handle. * @param hsd: Pointer to SD handle * @retval error state */ static uint32_t SD_PowerON(SD_HandleTypeDef *hsd) { 80be910: b580 push {r7, lr} 80be912: b086 sub sp, #24 80be914: af00 add r7, sp, #0 80be916: 6078 str r0, [r7, #4] __IO uint32_t count = 0U; 80be918: 2300 movs r3, #0 80be91a: 60bb str r3, [r7, #8] uint32_t response = 0U, validvoltage = 0U; 80be91c: 2300 movs r3, #0 80be91e: 617b str r3, [r7, #20] 80be920: 2300 movs r3, #0 80be922: 613b str r3, [r7, #16] uint32_t errorstate; /* CMD0: GO_IDLE_STATE */ errorstate = SDMMC_CmdGoIdleState(hsd->Instance); 80be924: 687b ldr r3, [r7, #4] 80be926: 681b ldr r3, [r3, #0] 80be928: 4618 mov r0, r3 80be92a: f003 fefa bl 80c2722 80be92e: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80be930: 68fb ldr r3, [r7, #12] 80be932: 2b00 cmp r3, #0 80be934: d001 beq.n 80be93a { return errorstate; 80be936: 68fb ldr r3, [r7, #12] 80be938: e072 b.n 80bea20 } /* CMD8: SEND_IF_COND: Command available only on V2.0 cards */ errorstate = SDMMC_CmdOperCond(hsd->Instance); 80be93a: 687b ldr r3, [r7, #4] 80be93c: 681b ldr r3, [r3, #0] 80be93e: 4618 mov r0, r3 80be940: f003 ff0d bl 80c275e 80be944: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80be946: 68fb ldr r3, [r7, #12] 80be948: 2b00 cmp r3, #0 80be94a: d00d beq.n 80be968 { hsd->SdCard.CardVersion = CARD_V1_X; 80be94c: 687b ldr r3, [r7, #4] 80be94e: 2200 movs r2, #0 80be950: 649a str r2, [r3, #72] ; 0x48 /* CMD0: GO_IDLE_STATE */ errorstate = SDMMC_CmdGoIdleState(hsd->Instance); 80be952: 687b ldr r3, [r7, #4] 80be954: 681b ldr r3, [r3, #0] 80be956: 4618 mov r0, r3 80be958: f003 fee3 bl 80c2722 80be95c: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80be95e: 68fb ldr r3, [r7, #12] 80be960: 2b00 cmp r3, #0 80be962: d004 beq.n 80be96e { return errorstate; 80be964: 68fb ldr r3, [r7, #12] 80be966: e05b b.n 80bea20 } } else { hsd->SdCard.CardVersion = CARD_V2_X; 80be968: 687b ldr r3, [r7, #4] 80be96a: 2201 movs r2, #1 80be96c: 649a str r2, [r3, #72] ; 0x48 } if( hsd->SdCard.CardVersion == CARD_V2_X) 80be96e: 687b ldr r3, [r7, #4] 80be970: 6c9b ldr r3, [r3, #72] ; 0x48 80be972: 2b01 cmp r3, #1 80be974: d137 bne.n 80be9e6 { /* SEND CMD55 APP_CMD with RCA as 0 */ errorstate = SDMMC_CmdAppCommand(hsd->Instance, 0); 80be976: 687b ldr r3, [r7, #4] 80be978: 681b ldr r3, [r3, #0] 80be97a: 2100 movs r1, #0 80be97c: 4618 mov r0, r3 80be97e: f003 ff0d bl 80c279c 80be982: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80be984: 68fb ldr r3, [r7, #12] 80be986: 2b00 cmp r3, #0 80be988: d02d beq.n 80be9e6 { return HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80be98a: f04f 5380 mov.w r3, #268435456 ; 0x10000000 80be98e: e047 b.n 80bea20 /* 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); 80be990: 687b ldr r3, [r7, #4] 80be992: 681b ldr r3, [r3, #0] 80be994: 2100 movs r1, #0 80be996: 4618 mov r0, r3 80be998: f003 ff00 bl 80c279c 80be99c: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80be99e: 68fb ldr r3, [r7, #12] 80be9a0: 2b00 cmp r3, #0 80be9a2: d001 beq.n 80be9a8 { return errorstate; 80be9a4: 68fb ldr r3, [r7, #12] 80be9a6: e03b b.n 80bea20 } /* Send CMD41 */ errorstate = SDMMC_CmdAppOperCommand(hsd->Instance, SDMMC_VOLTAGE_WINDOW_SD | SDMMC_HIGH_CAPACITY | SD_SWITCH_1_8V_CAPACITY); 80be9a8: 687b ldr r3, [r7, #4] 80be9aa: 681b ldr r3, [r3, #0] 80be9ac: 491e ldr r1, [pc, #120] ; (80bea28 ) 80be9ae: 4618 mov r0, r3 80be9b0: f003 ff16 bl 80c27e0 80be9b4: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80be9b6: 68fb ldr r3, [r7, #12] 80be9b8: 2b00 cmp r3, #0 80be9ba: d002 beq.n 80be9c2 { return HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80be9bc: f04f 5380 mov.w r3, #268435456 ; 0x10000000 80be9c0: e02e b.n 80bea20 } /* Get command response */ response = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); 80be9c2: 687b ldr r3, [r7, #4] 80be9c4: 681b ldr r3, [r3, #0] 80be9c6: 2100 movs r1, #0 80be9c8: 4618 mov r0, r3 80be9ca: f003 fd7c bl 80c24c6 80be9ce: 6178 str r0, [r7, #20] /* Get operating voltage*/ validvoltage = (((response >> 31U) == 1U) ? 1U : 0U); 80be9d0: 697b ldr r3, [r7, #20] 80be9d2: 0fdb lsrs r3, r3, #31 80be9d4: 2b01 cmp r3, #1 80be9d6: d101 bne.n 80be9dc 80be9d8: 2301 movs r3, #1 80be9da: e000 b.n 80be9de 80be9dc: 2300 movs r3, #0 80be9de: 613b str r3, [r7, #16] count++; 80be9e0: 68bb ldr r3, [r7, #8] 80be9e2: 3301 adds r3, #1 80be9e4: 60bb str r3, [r7, #8] while((count < SDMMC_MAX_VOLT_TRIAL) && (validvoltage == 0U)) 80be9e6: 68bb ldr r3, [r7, #8] 80be9e8: f64f 72fe movw r2, #65534 ; 0xfffe 80be9ec: 4293 cmp r3, r2 80be9ee: d802 bhi.n 80be9f6 80be9f0: 693b ldr r3, [r7, #16] 80be9f2: 2b00 cmp r3, #0 80be9f4: d0cc beq.n 80be990 } if(count >= SDMMC_MAX_VOLT_TRIAL) 80be9f6: 68bb ldr r3, [r7, #8] 80be9f8: f64f 72fe movw r2, #65534 ; 0xfffe 80be9fc: 4293 cmp r3, r2 80be9fe: d902 bls.n 80bea06 { return HAL_SD_ERROR_INVALID_VOLTRANGE; 80bea00: f04f 7380 mov.w r3, #16777216 ; 0x1000000 80bea04: e00c b.n 80bea20 } if((response & SDMMC_HIGH_CAPACITY) == SDMMC_HIGH_CAPACITY) /* (response &= SD_HIGH_CAPACITY) */ 80bea06: 697b ldr r3, [r7, #20] 80bea08: f003 4380 and.w r3, r3, #1073741824 ; 0x40000000 80bea0c: 2b00 cmp r3, #0 80bea0e: d003 beq.n 80bea18 { hsd->SdCard.CardType = CARD_SDHC_SDXC; 80bea10: 687b ldr r3, [r7, #4] 80bea12: 2201 movs r2, #1 80bea14: 645a str r2, [r3, #68] ; 0x44 80bea16: e002 b.n 80bea1e } else { hsd->SdCard.CardType = CARD_SDSC; 80bea18: 687b ldr r3, [r7, #4] 80bea1a: 2200 movs r2, #0 80bea1c: 645a str r2, [r3, #68] ; 0x44 } return HAL_SD_ERROR_NONE; 80bea1e: 2300 movs r3, #0 } 80bea20: 4618 mov r0, r3 80bea22: 3718 adds r7, #24 80bea24: 46bd mov sp, r7 80bea26: bd80 pop {r7, pc} 80bea28: c1100000 .word 0xc1100000 080bea2c : * @brief Turns the SDMMC output signals off. * @param hsd: Pointer to SD handle * @retval None */ static void SD_PowerOFF(SD_HandleTypeDef *hsd) { 80bea2c: b580 push {r7, lr} 80bea2e: b082 sub sp, #8 80bea30: af00 add r7, sp, #0 80bea32: 6078 str r0, [r7, #4] /* Set Power State to OFF */ (void)SDMMC_PowerState_OFF(hsd->Instance); 80bea34: 687b ldr r3, [r7, #4] 80bea36: 681b ldr r3, [r3, #0] 80bea38: 4618 mov r0, r3 80bea3a: f003 fcf1 bl 80c2420 } 80bea3e: bf00 nop 80bea40: 3708 adds r7, #8 80bea42: 46bd mov sp, r7 80bea44: bd80 pop {r7, pc} 080bea46 : * @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) { 80bea46: b580 push {r7, lr} 80bea48: b084 sub sp, #16 80bea4a: af00 add r7, sp, #0 80bea4c: 6078 str r0, [r7, #4] 80bea4e: 6039 str r1, [r7, #0] uint32_t errorstate; if(pCardStatus == NULL) 80bea50: 683b ldr r3, [r7, #0] 80bea52: 2b00 cmp r3, #0 80bea54: d102 bne.n 80bea5c { return HAL_SD_ERROR_PARAM; 80bea56: f04f 6300 mov.w r3, #134217728 ; 0x8000000 80bea5a: e018 b.n 80bea8e } /* Send Status command */ errorstate = SDMMC_CmdSendStatus(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); 80bea5c: 687b ldr r3, [r7, #4] 80bea5e: 681a ldr r2, [r3, #0] 80bea60: 687b ldr r3, [r7, #4] 80bea62: 6d1b ldr r3, [r3, #80] ; 0x50 80bea64: 041b lsls r3, r3, #16 80bea66: 4619 mov r1, r3 80bea68: 4610 mov r0, r2 80bea6a: f003 ff7e bl 80c296a 80bea6e: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80bea70: 68fb ldr r3, [r7, #12] 80bea72: 2b00 cmp r3, #0 80bea74: d001 beq.n 80bea7a { return errorstate; 80bea76: 68fb ldr r3, [r7, #12] 80bea78: e009 b.n 80bea8e } /* Get SD card status */ *pCardStatus = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); 80bea7a: 687b ldr r3, [r7, #4] 80bea7c: 681b ldr r3, [r3, #0] 80bea7e: 2100 movs r1, #0 80bea80: 4618 mov r0, r3 80bea82: f003 fd20 bl 80c24c6 80bea86: 4602 mov r2, r0 80bea88: 683b ldr r3, [r7, #0] 80bea8a: 601a str r2, [r3, #0] return HAL_SD_ERROR_NONE; 80bea8c: 2300 movs r3, #0 } 80bea8e: 4618 mov r0, r3 80bea90: 3710 adds r7, #16 80bea92: 46bd mov sp, r7 80bea94: bd80 pop {r7, pc} 080bea96 : * @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) { 80bea96: b580 push {r7, lr} 80bea98: b086 sub sp, #24 80bea9a: af00 add r7, sp, #0 80bea9c: 6078 str r0, [r7, #4] uint32_t scr[2U] = {0U, 0U}; 80bea9e: 2300 movs r3, #0 80beaa0: 60fb str r3, [r7, #12] 80beaa2: 2300 movs r3, #0 80beaa4: 613b str r3, [r7, #16] uint32_t errorstate; if((SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED) 80beaa6: 687b ldr r3, [r7, #4] 80beaa8: 681b ldr r3, [r3, #0] 80beaaa: 2100 movs r1, #0 80beaac: 4618 mov r0, r3 80beaae: f003 fd0a bl 80c24c6 80beab2: 4603 mov r3, r0 80beab4: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80beab8: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 80beabc: d102 bne.n 80beac4 { return HAL_SD_ERROR_LOCK_UNLOCK_FAILED; 80beabe: f44f 6300 mov.w r3, #2048 ; 0x800 80beac2: e02f b.n 80beb24 } /* Get SCR Register */ errorstate = SD_FindSCR(hsd, scr); 80beac4: f107 030c add.w r3, r7, #12 80beac8: 4619 mov r1, r3 80beaca: 6878 ldr r0, [r7, #4] 80beacc: f000 f879 bl 80bebc2 80bead0: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80bead2: 697b ldr r3, [r7, #20] 80bead4: 2b00 cmp r3, #0 80bead6: d001 beq.n 80beadc { return errorstate; 80bead8: 697b ldr r3, [r7, #20] 80beada: e023 b.n 80beb24 } /* If requested card supports wide bus operation */ if((scr[1U] & SDMMC_WIDE_BUS_SUPPORT) != SDMMC_ALLZERO) 80beadc: 693b ldr r3, [r7, #16] 80beade: f403 2380 and.w r3, r3, #262144 ; 0x40000 80beae2: 2b00 cmp r3, #0 80beae4: d01c beq.n 80beb20 { /* Send CMD55 APP_CMD with argument as card's RCA.*/ errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); 80beae6: 687b ldr r3, [r7, #4] 80beae8: 681a ldr r2, [r3, #0] 80beaea: 687b ldr r3, [r7, #4] 80beaec: 6d1b ldr r3, [r3, #80] ; 0x50 80beaee: 041b lsls r3, r3, #16 80beaf0: 4619 mov r1, r3 80beaf2: 4610 mov r0, r2 80beaf4: f003 fe52 bl 80c279c 80beaf8: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80beafa: 697b ldr r3, [r7, #20] 80beafc: 2b00 cmp r3, #0 80beafe: d001 beq.n 80beb04 { return errorstate; 80beb00: 697b ldr r3, [r7, #20] 80beb02: e00f b.n 80beb24 } /* Send ACMD6 APP_CMD with argument as 2 for wide bus mode */ errorstate = SDMMC_CmdBusWidth(hsd->Instance, 2U); 80beb04: 687b ldr r3, [r7, #4] 80beb06: 681b ldr r3, [r3, #0] 80beb08: 2102 movs r1, #2 80beb0a: 4618 mov r0, r3 80beb0c: f003 fe8c bl 80c2828 80beb10: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80beb12: 697b ldr r3, [r7, #20] 80beb14: 2b00 cmp r3, #0 80beb16: d001 beq.n 80beb1c { return errorstate; 80beb18: 697b ldr r3, [r7, #20] 80beb1a: e003 b.n 80beb24 } return HAL_SD_ERROR_NONE; 80beb1c: 2300 movs r3, #0 80beb1e: e001 b.n 80beb24 } else { return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; 80beb20: f04f 6380 mov.w r3, #67108864 ; 0x4000000 } } 80beb24: 4618 mov r0, r3 80beb26: 3718 adds r7, #24 80beb28: 46bd mov sp, r7 80beb2a: bd80 pop {r7, pc} 080beb2c : * @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) { 80beb2c: b580 push {r7, lr} 80beb2e: b086 sub sp, #24 80beb30: af00 add r7, sp, #0 80beb32: 6078 str r0, [r7, #4] uint32_t scr[2U] = {0U, 0U}; 80beb34: 2300 movs r3, #0 80beb36: 60fb str r3, [r7, #12] 80beb38: 2300 movs r3, #0 80beb3a: 613b str r3, [r7, #16] uint32_t errorstate; if((SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED) 80beb3c: 687b ldr r3, [r7, #4] 80beb3e: 681b ldr r3, [r3, #0] 80beb40: 2100 movs r1, #0 80beb42: 4618 mov r0, r3 80beb44: f003 fcbf bl 80c24c6 80beb48: 4603 mov r3, r0 80beb4a: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80beb4e: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 80beb52: d102 bne.n 80beb5a { return HAL_SD_ERROR_LOCK_UNLOCK_FAILED; 80beb54: f44f 6300 mov.w r3, #2048 ; 0x800 80beb58: e02f b.n 80bebba } /* Get SCR Register */ errorstate = SD_FindSCR(hsd, scr); 80beb5a: f107 030c add.w r3, r7, #12 80beb5e: 4619 mov r1, r3 80beb60: 6878 ldr r0, [r7, #4] 80beb62: f000 f82e bl 80bebc2 80beb66: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80beb68: 697b ldr r3, [r7, #20] 80beb6a: 2b00 cmp r3, #0 80beb6c: d001 beq.n 80beb72 { return errorstate; 80beb6e: 697b ldr r3, [r7, #20] 80beb70: e023 b.n 80bebba } /* If requested card supports 1 bit mode operation */ if((scr[1U] & SDMMC_SINGLE_BUS_SUPPORT) != SDMMC_ALLZERO) 80beb72: 693b ldr r3, [r7, #16] 80beb74: f403 3380 and.w r3, r3, #65536 ; 0x10000 80beb78: 2b00 cmp r3, #0 80beb7a: d01c beq.n 80bebb6 { /* Send CMD55 APP_CMD with argument as card's RCA */ errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); 80beb7c: 687b ldr r3, [r7, #4] 80beb7e: 681a ldr r2, [r3, #0] 80beb80: 687b ldr r3, [r7, #4] 80beb82: 6d1b ldr r3, [r3, #80] ; 0x50 80beb84: 041b lsls r3, r3, #16 80beb86: 4619 mov r1, r3 80beb88: 4610 mov r0, r2 80beb8a: f003 fe07 bl 80c279c 80beb8e: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80beb90: 697b ldr r3, [r7, #20] 80beb92: 2b00 cmp r3, #0 80beb94: d001 beq.n 80beb9a { return errorstate; 80beb96: 697b ldr r3, [r7, #20] 80beb98: e00f b.n 80bebba } /* Send ACMD6 APP_CMD with argument as 0 for single bus mode */ errorstate = SDMMC_CmdBusWidth(hsd->Instance, 0U); 80beb9a: 687b ldr r3, [r7, #4] 80beb9c: 681b ldr r3, [r3, #0] 80beb9e: 2100 movs r1, #0 80beba0: 4618 mov r0, r3 80beba2: f003 fe41 bl 80c2828 80beba6: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80beba8: 697b ldr r3, [r7, #20] 80bebaa: 2b00 cmp r3, #0 80bebac: d001 beq.n 80bebb2 { return errorstate; 80bebae: 697b ldr r3, [r7, #20] 80bebb0: e003 b.n 80bebba } return HAL_SD_ERROR_NONE; 80bebb2: 2300 movs r3, #0 80bebb4: e001 b.n 80bebba } else { return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; 80bebb6: f04f 6380 mov.w r3, #67108864 ; 0x4000000 } } 80bebba: 4618 mov r0, r3 80bebbc: 3718 adds r7, #24 80bebbe: 46bd mov sp, r7 80bebc0: bd80 pop {r7, pc} 080bebc2 : * @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) { 80bebc2: b590 push {r4, r7, lr} 80bebc4: b08f sub sp, #60 ; 0x3c 80bebc6: af00 add r7, sp, #0 80bebc8: 6078 str r0, [r7, #4] 80bebca: 6039 str r1, [r7, #0] SDMMC_DataInitTypeDef config; uint32_t errorstate; uint32_t tickstart = HAL_GetTick(); 80bebcc: f7f8 ff2a bl 80b7a24 80bebd0: 6338 str r0, [r7, #48] ; 0x30 uint32_t index = 0U; 80bebd2: 2300 movs r3, #0 80bebd4: 637b str r3, [r7, #52] ; 0x34 uint32_t tempscr[2U] = {0U, 0U}; 80bebd6: 2300 movs r3, #0 80bebd8: 60bb str r3, [r7, #8] 80bebda: 2300 movs r3, #0 80bebdc: 60fb str r3, [r7, #12] uint32_t *scr = pSCR; 80bebde: 683b ldr r3, [r7, #0] 80bebe0: 62fb str r3, [r7, #44] ; 0x2c /* Set Block Size To 8 Bytes */ errorstate = SDMMC_CmdBlockLength(hsd->Instance, 8U); 80bebe2: 687b ldr r3, [r7, #4] 80bebe4: 681b ldr r3, [r3, #0] 80bebe6: 2108 movs r1, #8 80bebe8: 4618 mov r0, r3 80bebea: f003 fcab bl 80c2544 80bebee: 62b8 str r0, [r7, #40] ; 0x28 if(errorstate != HAL_SD_ERROR_NONE) 80bebf0: 6abb ldr r3, [r7, #40] ; 0x28 80bebf2: 2b00 cmp r3, #0 80bebf4: d001 beq.n 80bebfa { return errorstate; 80bebf6: 6abb ldr r3, [r7, #40] ; 0x28 80bebf8: e0b2 b.n 80bed60 } /* Send CMD55 APP_CMD with argument as card's RCA */ errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)((hsd->SdCard.RelCardAdd) << 16U)); 80bebfa: 687b ldr r3, [r7, #4] 80bebfc: 681a ldr r2, [r3, #0] 80bebfe: 687b ldr r3, [r7, #4] 80bec00: 6d1b ldr r3, [r3, #80] ; 0x50 80bec02: 041b lsls r3, r3, #16 80bec04: 4619 mov r1, r3 80bec06: 4610 mov r0, r2 80bec08: f003 fdc8 bl 80c279c 80bec0c: 62b8 str r0, [r7, #40] ; 0x28 if(errorstate != HAL_SD_ERROR_NONE) 80bec0e: 6abb ldr r3, [r7, #40] ; 0x28 80bec10: 2b00 cmp r3, #0 80bec12: d001 beq.n 80bec18 { return errorstate; 80bec14: 6abb ldr r3, [r7, #40] ; 0x28 80bec16: e0a3 b.n 80bed60 } config.DataTimeOut = SDMMC_DATATIMEOUT; 80bec18: f04f 33ff mov.w r3, #4294967295 80bec1c: 613b str r3, [r7, #16] config.DataLength = 8U; 80bec1e: 2308 movs r3, #8 80bec20: 617b str r3, [r7, #20] config.DataBlockSize = SDMMC_DATABLOCK_SIZE_8B; 80bec22: 2330 movs r3, #48 ; 0x30 80bec24: 61bb str r3, [r7, #24] config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; 80bec26: 2302 movs r3, #2 80bec28: 61fb str r3, [r7, #28] config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 80bec2a: 2300 movs r3, #0 80bec2c: 623b str r3, [r7, #32] config.DPSM = SDMMC_DPSM_ENABLE; 80bec2e: 2301 movs r3, #1 80bec30: 627b str r3, [r7, #36] ; 0x24 (void)SDMMC_ConfigData(hsd->Instance, &config); 80bec32: 687b ldr r3, [r7, #4] 80bec34: 681b ldr r3, [r3, #0] 80bec36: f107 0210 add.w r2, r7, #16 80bec3a: 4611 mov r1, r2 80bec3c: 4618 mov r0, r3 80bec3e: f003 fc55 bl 80c24ec /* Send ACMD51 SD_APP_SEND_SCR with argument as 0 */ errorstate = SDMMC_CmdSendSCR(hsd->Instance); 80bec42: 687b ldr r3, [r7, #4] 80bec44: 681b ldr r3, [r3, #0] 80bec46: 4618 mov r0, r3 80bec48: f003 fe10 bl 80c286c 80bec4c: 62b8 str r0, [r7, #40] ; 0x28 if(errorstate != HAL_SD_ERROR_NONE) 80bec4e: 6abb ldr r3, [r7, #40] ; 0x28 80bec50: 2b00 cmp r3, #0 80bec52: d02a beq.n 80becaa { return errorstate; 80bec54: 6abb ldr r3, [r7, #40] ; 0x28 80bec56: e083 b.n 80bed60 } while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT)) { if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXDAVL)) 80bec58: 687b ldr r3, [r7, #4] 80bec5a: 681b ldr r3, [r3, #0] 80bec5c: 6b5b ldr r3, [r3, #52] ; 0x34 80bec5e: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80bec62: 2b00 cmp r3, #0 80bec64: d00f beq.n 80bec86 { *(tempscr + index) = SDMMC_ReadFIFO(hsd->Instance); 80bec66: 6b7b ldr r3, [r7, #52] ; 0x34 80bec68: 009b lsls r3, r3, #2 80bec6a: f107 0208 add.w r2, r7, #8 80bec6e: 18d4 adds r4, r2, r3 80bec70: 687b ldr r3, [r7, #4] 80bec72: 681b ldr r3, [r3, #0] 80bec74: 4618 mov r0, r3 80bec76: f003 fba7 bl 80c23c8 80bec7a: 4603 mov r3, r0 80bec7c: 6023 str r3, [r4, #0] index++; 80bec7e: 6b7b ldr r3, [r7, #52] ; 0x34 80bec80: 3301 adds r3, #1 80bec82: 637b str r3, [r7, #52] ; 0x34 80bec84: e006 b.n 80bec94 } else if(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXACT)) 80bec86: 687b ldr r3, [r7, #4] 80bec88: 681b ldr r3, [r3, #0] 80bec8a: 6b5b ldr r3, [r3, #52] ; 0x34 80bec8c: f403 5300 and.w r3, r3, #8192 ; 0x2000 80bec90: 2b00 cmp r3, #0 80bec92: d012 beq.n 80becba { break; } if((HAL_GetTick() - tickstart) >= SDMMC_DATATIMEOUT) 80bec94: f7f8 fec6 bl 80b7a24 80bec98: 4602 mov r2, r0 80bec9a: 6b3b ldr r3, [r7, #48] ; 0x30 80bec9c: 1ad3 subs r3, r2, r3 80bec9e: f1b3 3fff cmp.w r3, #4294967295 80beca2: d102 bne.n 80becaa { return HAL_SD_ERROR_TIMEOUT; 80beca4: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80beca8: e05a b.n 80bed60 while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT)) 80becaa: 687b ldr r3, [r7, #4] 80becac: 681b ldr r3, [r3, #0] 80becae: 6b5b ldr r3, [r3, #52] ; 0x34 80becb0: f003 032a and.w r3, r3, #42 ; 0x2a 80becb4: 2b00 cmp r3, #0 80becb6: d0cf beq.n 80bec58 80becb8: e000 b.n 80becbc break; 80becba: bf00 nop } } if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT)) 80becbc: 687b ldr r3, [r7, #4] 80becbe: 681b ldr r3, [r3, #0] 80becc0: 6b5b ldr r3, [r3, #52] ; 0x34 80becc2: f003 0308 and.w r3, r3, #8 80becc6: 2b00 cmp r3, #0 80becc8: d005 beq.n 80becd6 { __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DTIMEOUT); 80becca: 687b ldr r3, [r7, #4] 80beccc: 681b ldr r3, [r3, #0] 80becce: 2208 movs r2, #8 80becd0: 639a str r2, [r3, #56] ; 0x38 return HAL_SD_ERROR_DATA_TIMEOUT; 80becd2: 2308 movs r3, #8 80becd4: e044 b.n 80bed60 } else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL)) 80becd6: 687b ldr r3, [r7, #4] 80becd8: 681b ldr r3, [r3, #0] 80becda: 6b5b ldr r3, [r3, #52] ; 0x34 80becdc: f003 0302 and.w r3, r3, #2 80bece0: 2b00 cmp r3, #0 80bece2: d005 beq.n 80becf0 { __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DCRCFAIL); 80bece4: 687b ldr r3, [r7, #4] 80bece6: 681b ldr r3, [r3, #0] 80bece8: 2202 movs r2, #2 80becea: 639a str r2, [r3, #56] ; 0x38 return HAL_SD_ERROR_DATA_CRC_FAIL; 80becec: 2302 movs r3, #2 80becee: e037 b.n 80bed60 } else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR)) 80becf0: 687b ldr r3, [r7, #4] 80becf2: 681b ldr r3, [r3, #0] 80becf4: 6b5b ldr r3, [r3, #52] ; 0x34 80becf6: f003 0320 and.w r3, r3, #32 80becfa: 2b00 cmp r3, #0 80becfc: d005 beq.n 80bed0a { __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_RXOVERR); 80becfe: 687b ldr r3, [r7, #4] 80bed00: 681b ldr r3, [r3, #0] 80bed02: 2220 movs r2, #32 80bed04: 639a str r2, [r3, #56] ; 0x38 return HAL_SD_ERROR_RX_OVERRUN; 80bed06: 2320 movs r3, #32 80bed08: e02a b.n 80bed60 } else { /* No error flag set */ /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80bed0a: 687b ldr r3, [r7, #4] 80bed0c: 681b ldr r3, [r3, #0] 80bed0e: f240 523a movw r2, #1338 ; 0x53a 80bed12: 639a str r2, [r3, #56] ; 0x38 *scr = (((tempscr[1] & SDMMC_0TO7BITS) << 24) | ((tempscr[1] & SDMMC_8TO15BITS) << 8) |\ 80bed14: 68fb ldr r3, [r7, #12] 80bed16: 061a lsls r2, r3, #24 80bed18: 68fb ldr r3, [r7, #12] 80bed1a: 021b lsls r3, r3, #8 80bed1c: f403 037f and.w r3, r3, #16711680 ; 0xff0000 80bed20: 431a orrs r2, r3 ((tempscr[1] & SDMMC_16TO23BITS) >> 8) | ((tempscr[1] & SDMMC_24TO31BITS) >> 24)); 80bed22: 68fb ldr r3, [r7, #12] 80bed24: 0a1b lsrs r3, r3, #8 80bed26: f403 437f and.w r3, r3, #65280 ; 0xff00 *scr = (((tempscr[1] & SDMMC_0TO7BITS) << 24) | ((tempscr[1] & SDMMC_8TO15BITS) << 8) |\ 80bed2a: 431a orrs r2, r3 ((tempscr[1] & SDMMC_16TO23BITS) >> 8) | ((tempscr[1] & SDMMC_24TO31BITS) >> 24)); 80bed2c: 68fb ldr r3, [r7, #12] 80bed2e: 0e1b lsrs r3, r3, #24 80bed30: 431a orrs r2, r3 *scr = (((tempscr[1] & SDMMC_0TO7BITS) << 24) | ((tempscr[1] & SDMMC_8TO15BITS) << 8) |\ 80bed32: 6afb ldr r3, [r7, #44] ; 0x2c 80bed34: 601a str r2, [r3, #0] scr++; 80bed36: 6afb ldr r3, [r7, #44] ; 0x2c 80bed38: 3304 adds r3, #4 80bed3a: 62fb str r3, [r7, #44] ; 0x2c *scr = (((tempscr[0] & SDMMC_0TO7BITS) << 24) | ((tempscr[0] & SDMMC_8TO15BITS) << 8) |\ 80bed3c: 68bb ldr r3, [r7, #8] 80bed3e: 061a lsls r2, r3, #24 80bed40: 68bb ldr r3, [r7, #8] 80bed42: 021b lsls r3, r3, #8 80bed44: f403 037f and.w r3, r3, #16711680 ; 0xff0000 80bed48: 431a orrs r2, r3 ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24)); 80bed4a: 68bb ldr r3, [r7, #8] 80bed4c: 0a1b lsrs r3, r3, #8 80bed4e: f403 437f and.w r3, r3, #65280 ; 0xff00 *scr = (((tempscr[0] & SDMMC_0TO7BITS) << 24) | ((tempscr[0] & SDMMC_8TO15BITS) << 8) |\ 80bed52: 431a orrs r2, r3 ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24)); 80bed54: 68bb ldr r3, [r7, #8] 80bed56: 0e1b lsrs r3, r3, #24 80bed58: 431a orrs r2, r3 *scr = (((tempscr[0] & SDMMC_0TO7BITS) << 24) | ((tempscr[0] & SDMMC_8TO15BITS) << 8) |\ 80bed5a: 6afb ldr r3, [r7, #44] ; 0x2c 80bed5c: 601a str r2, [r3, #0] } return HAL_SD_ERROR_NONE; 80bed5e: 2300 movs r3, #0 } 80bed60: 4618 mov r0, r3 80bed62: 373c adds r7, #60 ; 0x3c 80bed64: 46bd mov sp, r7 80bed66: bd90 pop {r4, r7, pc} 080bed68 : * @param hsd: pointer to a SD_HandleTypeDef structure that contains * the configuration information. * @retval None */ static void SD_Read_IT(SD_HandleTypeDef *hsd) { 80bed68: b580 push {r7, lr} 80bed6a: b086 sub sp, #24 80bed6c: af00 add r7, sp, #0 80bed6e: 6078 str r0, [r7, #4] uint32_t count, data, dataremaining; uint8_t* tmp; tmp = hsd->pRxBuffPtr; 80bed70: 687b ldr r3, [r7, #4] 80bed72: 6a9b ldr r3, [r3, #40] ; 0x28 80bed74: 60fb str r3, [r7, #12] dataremaining = hsd->RxXferSize; 80bed76: 687b ldr r3, [r7, #4] 80bed78: 6adb ldr r3, [r3, #44] ; 0x2c 80bed7a: 613b str r3, [r7, #16] if (dataremaining > 0U) 80bed7c: 693b ldr r3, [r7, #16] 80bed7e: 2b00 cmp r3, #0 80bed80: d03f beq.n 80bee02 { /* Read data from SDMMC Rx FIFO */ for(count = 0U; count < 8U; count++) 80bed82: 2300 movs r3, #0 80bed84: 617b str r3, [r7, #20] 80bed86: e033 b.n 80bedf0 { data = SDMMC_ReadFIFO(hsd->Instance); 80bed88: 687b ldr r3, [r7, #4] 80bed8a: 681b ldr r3, [r3, #0] 80bed8c: 4618 mov r0, r3 80bed8e: f003 fb1b bl 80c23c8 80bed92: 60b8 str r0, [r7, #8] *tmp = (uint8_t)(data & 0xFFU); 80bed94: 68bb ldr r3, [r7, #8] 80bed96: b2da uxtb r2, r3 80bed98: 68fb ldr r3, [r7, #12] 80bed9a: 701a strb r2, [r3, #0] tmp++; 80bed9c: 68fb ldr r3, [r7, #12] 80bed9e: 3301 adds r3, #1 80beda0: 60fb str r3, [r7, #12] dataremaining--; 80beda2: 693b ldr r3, [r7, #16] 80beda4: 3b01 subs r3, #1 80beda6: 613b str r3, [r7, #16] *tmp = (uint8_t)((data >> 8U) & 0xFFU); 80beda8: 68bb ldr r3, [r7, #8] 80bedaa: 0a1b lsrs r3, r3, #8 80bedac: b2da uxtb r2, r3 80bedae: 68fb ldr r3, [r7, #12] 80bedb0: 701a strb r2, [r3, #0] tmp++; 80bedb2: 68fb ldr r3, [r7, #12] 80bedb4: 3301 adds r3, #1 80bedb6: 60fb str r3, [r7, #12] dataremaining--; 80bedb8: 693b ldr r3, [r7, #16] 80bedba: 3b01 subs r3, #1 80bedbc: 613b str r3, [r7, #16] *tmp = (uint8_t)((data >> 16U) & 0xFFU); 80bedbe: 68bb ldr r3, [r7, #8] 80bedc0: 0c1b lsrs r3, r3, #16 80bedc2: b2da uxtb r2, r3 80bedc4: 68fb ldr r3, [r7, #12] 80bedc6: 701a strb r2, [r3, #0] tmp++; 80bedc8: 68fb ldr r3, [r7, #12] 80bedca: 3301 adds r3, #1 80bedcc: 60fb str r3, [r7, #12] dataremaining--; 80bedce: 693b ldr r3, [r7, #16] 80bedd0: 3b01 subs r3, #1 80bedd2: 613b str r3, [r7, #16] *tmp = (uint8_t)((data >> 24U) & 0xFFU); 80bedd4: 68bb ldr r3, [r7, #8] 80bedd6: 0e1b lsrs r3, r3, #24 80bedd8: b2da uxtb r2, r3 80bedda: 68fb ldr r3, [r7, #12] 80beddc: 701a strb r2, [r3, #0] tmp++; 80bedde: 68fb ldr r3, [r7, #12] 80bede0: 3301 adds r3, #1 80bede2: 60fb str r3, [r7, #12] dataremaining--; 80bede4: 693b ldr r3, [r7, #16] 80bede6: 3b01 subs r3, #1 80bede8: 613b str r3, [r7, #16] for(count = 0U; count < 8U; count++) 80bedea: 697b ldr r3, [r7, #20] 80bedec: 3301 adds r3, #1 80bedee: 617b str r3, [r7, #20] 80bedf0: 697b ldr r3, [r7, #20] 80bedf2: 2b07 cmp r3, #7 80bedf4: d9c8 bls.n 80bed88 } hsd->pRxBuffPtr = tmp; 80bedf6: 687b ldr r3, [r7, #4] 80bedf8: 68fa ldr r2, [r7, #12] 80bedfa: 629a str r2, [r3, #40] ; 0x28 hsd->RxXferSize = dataremaining; 80bedfc: 687b ldr r3, [r7, #4] 80bedfe: 693a ldr r2, [r7, #16] 80bee00: 62da str r2, [r3, #44] ; 0x2c } } 80bee02: bf00 nop 80bee04: 3718 adds r7, #24 80bee06: 46bd mov sp, r7 80bee08: bd80 pop {r7, pc} 080bee0a : * @param hsd: pointer to a SD_HandleTypeDef structure that contains * the configuration information. * @retval None */ static void SD_Write_IT(SD_HandleTypeDef *hsd) { 80bee0a: b580 push {r7, lr} 80bee0c: b086 sub sp, #24 80bee0e: af00 add r7, sp, #0 80bee10: 6078 str r0, [r7, #4] uint32_t count, data, dataremaining; uint8_t* tmp; tmp = hsd->pTxBuffPtr; 80bee12: 687b ldr r3, [r7, #4] 80bee14: 6a1b ldr r3, [r3, #32] 80bee16: 60fb str r3, [r7, #12] dataremaining = hsd->TxXferSize; 80bee18: 687b ldr r3, [r7, #4] 80bee1a: 6a5b ldr r3, [r3, #36] ; 0x24 80bee1c: 613b str r3, [r7, #16] if (dataremaining > 0U) 80bee1e: 693b ldr r3, [r7, #16] 80bee20: 2b00 cmp r3, #0 80bee22: d043 beq.n 80beeac { /* Write data to SDMMC Tx FIFO */ for(count = 0U; count < 8U; count++) 80bee24: 2300 movs r3, #0 80bee26: 617b str r3, [r7, #20] 80bee28: e037 b.n 80bee9a { data = (uint32_t)(*tmp); 80bee2a: 68fb ldr r3, [r7, #12] 80bee2c: 781b ldrb r3, [r3, #0] 80bee2e: 60bb str r3, [r7, #8] tmp++; 80bee30: 68fb ldr r3, [r7, #12] 80bee32: 3301 adds r3, #1 80bee34: 60fb str r3, [r7, #12] dataremaining--; 80bee36: 693b ldr r3, [r7, #16] 80bee38: 3b01 subs r3, #1 80bee3a: 613b str r3, [r7, #16] data |= ((uint32_t)(*tmp) << 8U); 80bee3c: 68fb ldr r3, [r7, #12] 80bee3e: 781b ldrb r3, [r3, #0] 80bee40: 021a lsls r2, r3, #8 80bee42: 68bb ldr r3, [r7, #8] 80bee44: 4313 orrs r3, r2 80bee46: 60bb str r3, [r7, #8] tmp++; 80bee48: 68fb ldr r3, [r7, #12] 80bee4a: 3301 adds r3, #1 80bee4c: 60fb str r3, [r7, #12] dataremaining--; 80bee4e: 693b ldr r3, [r7, #16] 80bee50: 3b01 subs r3, #1 80bee52: 613b str r3, [r7, #16] data |= ((uint32_t)(*tmp) << 16U); 80bee54: 68fb ldr r3, [r7, #12] 80bee56: 781b ldrb r3, [r3, #0] 80bee58: 041a lsls r2, r3, #16 80bee5a: 68bb ldr r3, [r7, #8] 80bee5c: 4313 orrs r3, r2 80bee5e: 60bb str r3, [r7, #8] tmp++; 80bee60: 68fb ldr r3, [r7, #12] 80bee62: 3301 adds r3, #1 80bee64: 60fb str r3, [r7, #12] dataremaining--; 80bee66: 693b ldr r3, [r7, #16] 80bee68: 3b01 subs r3, #1 80bee6a: 613b str r3, [r7, #16] data |= ((uint32_t)(*tmp) << 24U); 80bee6c: 68fb ldr r3, [r7, #12] 80bee6e: 781b ldrb r3, [r3, #0] 80bee70: 061a lsls r2, r3, #24 80bee72: 68bb ldr r3, [r7, #8] 80bee74: 4313 orrs r3, r2 80bee76: 60bb str r3, [r7, #8] tmp++; 80bee78: 68fb ldr r3, [r7, #12] 80bee7a: 3301 adds r3, #1 80bee7c: 60fb str r3, [r7, #12] dataremaining--; 80bee7e: 693b ldr r3, [r7, #16] 80bee80: 3b01 subs r3, #1 80bee82: 613b str r3, [r7, #16] (void)SDMMC_WriteFIFO(hsd->Instance, &data); 80bee84: 687b ldr r3, [r7, #4] 80bee86: 681b ldr r3, [r3, #0] 80bee88: f107 0208 add.w r2, r7, #8 80bee8c: 4611 mov r1, r2 80bee8e: 4618 mov r0, r3 80bee90: f003 faa7 bl 80c23e2 for(count = 0U; count < 8U; count++) 80bee94: 697b ldr r3, [r7, #20] 80bee96: 3301 adds r3, #1 80bee98: 617b str r3, [r7, #20] 80bee9a: 697b ldr r3, [r7, #20] 80bee9c: 2b07 cmp r3, #7 80bee9e: d9c4 bls.n 80bee2a } hsd->pTxBuffPtr = tmp; 80beea0: 687b ldr r3, [r7, #4] 80beea2: 68fa ldr r2, [r7, #12] 80beea4: 621a str r2, [r3, #32] hsd->TxXferSize = dataremaining; 80beea6: 687b ldr r3, [r7, #4] 80beea8: 693a ldr r2, [r7, #16] 80beeaa: 625a str r2, [r3, #36] ; 0x24 } } 80beeac: bf00 nop 80beeae: 3718 adds r7, #24 80beeb0: 46bd mov sp, r7 80beeb2: bd80 pop {r7, pc} 080beeb4 : * @param hsmbus Pointer to a SMBUS_HandleTypeDef structure that contains * the configuration information for the specified SMBUS. * @retval HAL status */ HAL_StatusTypeDef HAL_SMBUS_Init(SMBUS_HandleTypeDef *hsmbus) { 80beeb4: b580 push {r7, lr} 80beeb6: b082 sub sp, #8 80beeb8: af00 add r7, sp, #0 80beeba: 6078 str r0, [r7, #4] /* Check the SMBUS handle allocation */ if (hsmbus == NULL) 80beebc: 687b ldr r3, [r7, #4] 80beebe: 2b00 cmp r3, #0 80beec0: d101 bne.n 80beec6 { return HAL_ERROR; 80beec2: 2301 movs r3, #1 80beec4: e0a6 b.n 80bf014 assert_param(IS_SMBUS_GENERAL_CALL(hsmbus->Init.GeneralCallMode)); assert_param(IS_SMBUS_NO_STRETCH(hsmbus->Init.NoStretchMode)); assert_param(IS_SMBUS_PEC(hsmbus->Init.PacketErrorCheckMode)); assert_param(IS_SMBUS_PERIPHERAL_MODE(hsmbus->Init.PeripheralMode)); if (hsmbus->State == HAL_SMBUS_STATE_RESET) 80beec6: 687b ldr r3, [r7, #4] 80beec8: 6c9b ldr r3, [r3, #72] ; 0x48 80beeca: 2b00 cmp r3, #0 80beecc: d106 bne.n 80beedc { /* Allocate lock resource and initialize it */ hsmbus->Lock = HAL_UNLOCKED; 80beece: 687b ldr r3, [r7, #4] 80beed0: 2200 movs r2, #0 80beed2: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */ hsmbus->MspInitCallback(hsmbus); #else /* Init the low level hardware : GPIO, CLOCK, NVIC */ HAL_SMBUS_MspInit(hsmbus); 80beed6: 6878 ldr r0, [r7, #4] 80beed8: f771 fbd8 bl 803068c #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } hsmbus->State = HAL_SMBUS_STATE_BUSY; 80beedc: 687b ldr r3, [r7, #4] 80beede: 2202 movs r2, #2 80beee0: 649a str r2, [r3, #72] ; 0x48 /* Disable the selected SMBUS peripheral */ __HAL_SMBUS_DISABLE(hsmbus); 80beee2: 687b ldr r3, [r7, #4] 80beee4: 681b ldr r3, [r3, #0] 80beee6: 687a ldr r2, [r7, #4] 80beee8: 6812 ldr r2, [r2, #0] 80beeea: 6812 ldr r2, [r2, #0] 80beeec: f022 0201 bic.w r2, r2, #1 80beef0: 601a str r2, [r3, #0] /*---------------------------- SMBUSx TIMINGR Configuration ------------------------*/ /* Configure SMBUSx: Frequency range */ hsmbus->Instance->TIMINGR = hsmbus->Init.Timing & TIMING_CLEAR_MASK; 80beef2: 687b ldr r3, [r7, #4] 80beef4: 681b ldr r3, [r3, #0] 80beef6: 687a ldr r2, [r7, #4] 80beef8: 6852 ldr r2, [r2, #4] 80beefa: f022 6270 bic.w r2, r2, #251658240 ; 0xf000000 80beefe: 611a str r2, [r3, #16] /*---------------------------- SMBUSx TIMEOUTR Configuration ------------------------*/ /* Configure SMBUSx: Bus Timeout */ hsmbus->Instance->TIMEOUTR &= ~I2C_TIMEOUTR_TIMOUTEN; 80bef00: 687b ldr r3, [r7, #4] 80bef02: 681b ldr r3, [r3, #0] 80bef04: 687a ldr r2, [r7, #4] 80bef06: 6812 ldr r2, [r2, #0] 80bef08: 6952 ldr r2, [r2, #20] 80bef0a: f422 4200 bic.w r2, r2, #32768 ; 0x8000 80bef0e: 615a str r2, [r3, #20] hsmbus->Instance->TIMEOUTR &= ~I2C_TIMEOUTR_TEXTEN; 80bef10: 687b ldr r3, [r7, #4] 80bef12: 681b ldr r3, [r3, #0] 80bef14: 687a ldr r2, [r7, #4] 80bef16: 6812 ldr r2, [r2, #0] 80bef18: 6952 ldr r2, [r2, #20] 80bef1a: f022 4200 bic.w r2, r2, #2147483648 ; 0x80000000 80bef1e: 615a str r2, [r3, #20] hsmbus->Instance->TIMEOUTR = hsmbus->Init.SMBusTimeout; 80bef20: 687b ldr r3, [r7, #4] 80bef22: 681b ldr r3, [r3, #0] 80bef24: 687a ldr r2, [r7, #4] 80bef26: 6b12 ldr r2, [r2, #48] ; 0x30 80bef28: 615a str r2, [r3, #20] /*---------------------------- SMBUSx OAR1 Configuration -----------------------*/ /* Configure SMBUSx: Own Address1 and ack own address1 mode */ hsmbus->Instance->OAR1 &= ~I2C_OAR1_OA1EN; 80bef2a: 687b ldr r3, [r7, #4] 80bef2c: 681b ldr r3, [r3, #0] 80bef2e: 687a ldr r2, [r7, #4] 80bef30: 6812 ldr r2, [r2, #0] 80bef32: 6892 ldr r2, [r2, #8] 80bef34: f422 4200 bic.w r2, r2, #32768 ; 0x8000 80bef38: 609a str r2, [r3, #8] if (hsmbus->Init.OwnAddress1 != 0UL) 80bef3a: 687b ldr r3, [r7, #4] 80bef3c: 68db ldr r3, [r3, #12] 80bef3e: 2b00 cmp r3, #0 80bef40: d012 beq.n 80bef68 { if (hsmbus->Init.AddressingMode == SMBUS_ADDRESSINGMODE_7BIT) 80bef42: 687b ldr r3, [r7, #4] 80bef44: 691b ldr r3, [r3, #16] 80bef46: 2b01 cmp r3, #1 80bef48: d107 bne.n 80bef5a { hsmbus->Instance->OAR1 = (I2C_OAR1_OA1EN | hsmbus->Init.OwnAddress1); 80bef4a: 687b ldr r3, [r7, #4] 80bef4c: 681b ldr r3, [r3, #0] 80bef4e: 687a ldr r2, [r7, #4] 80bef50: 68d2 ldr r2, [r2, #12] 80bef52: f442 4200 orr.w r2, r2, #32768 ; 0x8000 80bef56: 609a str r2, [r3, #8] 80bef58: e006 b.n 80bef68 } else /* SMBUS_ADDRESSINGMODE_10BIT */ { hsmbus->Instance->OAR1 = (I2C_OAR1_OA1EN | I2C_OAR1_OA1MODE | hsmbus->Init.OwnAddress1); 80bef5a: 687b ldr r3, [r7, #4] 80bef5c: 681b ldr r3, [r3, #0] 80bef5e: 687a ldr r2, [r7, #4] 80bef60: 68d2 ldr r2, [r2, #12] 80bef62: f442 4204 orr.w r2, r2, #33792 ; 0x8400 80bef66: 609a str r2, [r3, #8] } } /*---------------------------- SMBUSx CR2 Configuration ------------------------*/ /* Configure SMBUSx: Addressing Master mode */ if (hsmbus->Init.AddressingMode == SMBUS_ADDRESSINGMODE_10BIT) 80bef68: 687b ldr r3, [r7, #4] 80bef6a: 691b ldr r3, [r3, #16] 80bef6c: 2b02 cmp r3, #2 80bef6e: d104 bne.n 80bef7a { hsmbus->Instance->CR2 = (I2C_CR2_ADD10); 80bef70: 687b ldr r3, [r7, #4] 80bef72: 681b ldr r3, [r3, #0] 80bef74: f44f 6200 mov.w r2, #2048 ; 0x800 80bef78: 605a str r2, [r3, #4] } /* Enable the AUTOEND by default, and enable NACK (should be disable only during Slave process) */ /* AUTOEND and NACK bit will be manage during Transfer process */ hsmbus->Instance->CR2 |= (I2C_CR2_AUTOEND | I2C_CR2_NACK); 80bef7a: 687b ldr r3, [r7, #4] 80bef7c: 681a ldr r2, [r3, #0] 80bef7e: 687b ldr r3, [r7, #4] 80bef80: 681b ldr r3, [r3, #0] 80bef82: 6859 ldr r1, [r3, #4] 80bef84: 4b25 ldr r3, [pc, #148] ; (80bf01c ) 80bef86: 430b orrs r3, r1 80bef88: 6053 str r3, [r2, #4] /*---------------------------- SMBUSx OAR2 Configuration -----------------------*/ /* Configure SMBUSx: Dual mode and Own Address2 */ hsmbus->Instance->OAR2 = (hsmbus->Init.DualAddressMode | hsmbus->Init.OwnAddress2 | \ 80bef8a: 687b ldr r3, [r7, #4] 80bef8c: 681b ldr r3, [r3, #0] 80bef8e: 687a ldr r2, [r7, #4] 80bef90: 6951 ldr r1, [r2, #20] 80bef92: 687a ldr r2, [r7, #4] 80bef94: 6992 ldr r2, [r2, #24] 80bef96: 4311 orrs r1, r2 (hsmbus->Init.OwnAddress2Masks << 8U)); 80bef98: 687a ldr r2, [r7, #4] 80bef9a: 69d2 ldr r2, [r2, #28] 80bef9c: 0212 lsls r2, r2, #8 hsmbus->Instance->OAR2 = (hsmbus->Init.DualAddressMode | hsmbus->Init.OwnAddress2 | \ 80bef9e: 430a orrs r2, r1 80befa0: 60da str r2, [r3, #12] /*---------------------------- SMBUSx CR1 Configuration ------------------------*/ /* Configure SMBUSx: Generalcall and NoStretch mode */ hsmbus->Instance->CR1 = (hsmbus->Init.GeneralCallMode | hsmbus->Init.NoStretchMode | \ 80befa2: 687b ldr r3, [r7, #4] 80befa4: 681b ldr r3, [r3, #0] 80befa6: 687a ldr r2, [r7, #4] 80befa8: 6a11 ldr r1, [r2, #32] 80befaa: 687a ldr r2, [r7, #4] 80befac: 6a52 ldr r2, [r2, #36] ; 0x24 80befae: 4311 orrs r1, r2 hsmbus->Init.PacketErrorCheckMode | hsmbus->Init.PeripheralMode | \ 80befb0: 687a ldr r2, [r7, #4] 80befb2: 6a92 ldr r2, [r2, #40] ; 0x28 hsmbus->Instance->CR1 = (hsmbus->Init.GeneralCallMode | hsmbus->Init.NoStretchMode | \ 80befb4: 4311 orrs r1, r2 hsmbus->Init.PacketErrorCheckMode | hsmbus->Init.PeripheralMode | \ 80befb6: 687a ldr r2, [r7, #4] 80befb8: 6ad2 ldr r2, [r2, #44] ; 0x2c 80befba: 4311 orrs r1, r2 hsmbus->Init.AnalogFilter); 80befbc: 687a ldr r2, [r7, #4] 80befbe: 6892 ldr r2, [r2, #8] hsmbus->Init.PacketErrorCheckMode | hsmbus->Init.PeripheralMode | \ 80befc0: 430a orrs r2, r1 hsmbus->Instance->CR1 = (hsmbus->Init.GeneralCallMode | hsmbus->Init.NoStretchMode | \ 80befc2: 601a str r2, [r3, #0] /* Enable Slave Byte Control only in case of Packet Error Check is enabled and SMBUS Peripheral is set in Slave mode */ if ((hsmbus->Init.PacketErrorCheckMode == SMBUS_PEC_ENABLE) && \ 80befc4: 687b ldr r3, [r7, #4] 80befc6: 6a9b ldr r3, [r3, #40] ; 0x28 80befc8: f5b3 0f00 cmp.w r3, #8388608 ; 0x800000 80befcc: d110 bne.n 80beff0 ((hsmbus->Init.PeripheralMode == SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE) || \ 80befce: 687b ldr r3, [r7, #4] 80befd0: 6adb ldr r3, [r3, #44] ; 0x2c if ((hsmbus->Init.PacketErrorCheckMode == SMBUS_PEC_ENABLE) && \ 80befd2: 2b00 cmp r3, #0 80befd4: d004 beq.n 80befe0 (hsmbus->Init.PeripheralMode == SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE_ARP))) 80befd6: 687b ldr r3, [r7, #4] 80befd8: 6adb ldr r3, [r3, #44] ; 0x2c ((hsmbus->Init.PeripheralMode == SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE) || \ 80befda: f5b3 1f00 cmp.w r3, #2097152 ; 0x200000 80befde: d107 bne.n 80beff0 { hsmbus->Instance->CR1 |= I2C_CR1_SBC; 80befe0: 687b ldr r3, [r7, #4] 80befe2: 681b ldr r3, [r3, #0] 80befe4: 687a ldr r2, [r7, #4] 80befe6: 6812 ldr r2, [r2, #0] 80befe8: 6812 ldr r2, [r2, #0] 80befea: f442 3280 orr.w r2, r2, #65536 ; 0x10000 80befee: 601a str r2, [r3, #0] } /* Enable the selected SMBUS peripheral */ __HAL_SMBUS_ENABLE(hsmbus); 80beff0: 687b ldr r3, [r7, #4] 80beff2: 681b ldr r3, [r3, #0] 80beff4: 687a ldr r2, [r7, #4] 80beff6: 6812 ldr r2, [r2, #0] 80beff8: 6812 ldr r2, [r2, #0] 80beffa: f042 0201 orr.w r2, r2, #1 80beffe: 601a str r2, [r3, #0] hsmbus->ErrorCode = HAL_SMBUS_ERROR_NONE; 80bf000: 687b ldr r3, [r7, #4] 80bf002: 2200 movs r2, #0 80bf004: 64da str r2, [r3, #76] ; 0x4c hsmbus->PreviousState = HAL_SMBUS_STATE_READY; 80bf006: 687b ldr r3, [r7, #4] 80bf008: 2201 movs r2, #1 80bf00a: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bf00c: 687b ldr r3, [r7, #4] 80bf00e: 2201 movs r2, #1 80bf010: 649a str r2, [r3, #72] ; 0x48 return HAL_OK; 80bf012: 2300 movs r3, #0 } 80bf014: 4618 mov r0, r3 80bf016: 3708 adds r7, #8 80bf018: 46bd mov sp, r7 80bf01a: bd80 pop {r7, pc} 80bf01c: 02008000 .word 0x02008000 080bf020 : * @param XferOptions Options of Transfer, value of @ref SMBUS_XferOptions_definition * @retval HAL status */ HAL_StatusTypeDef HAL_SMBUS_Master_Transmit_IT(SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions) { 80bf020: b580 push {r7, lr} 80bf022: b088 sub sp, #32 80bf024: af02 add r7, sp, #8 80bf026: 60f8 str r0, [r7, #12] 80bf028: 607a str r2, [r7, #4] 80bf02a: 461a mov r2, r3 80bf02c: 460b mov r3, r1 80bf02e: 817b strh r3, [r7, #10] 80bf030: 4613 mov r3, r2 80bf032: 813b strh r3, [r7, #8] uint32_t tmp; /* Check the parameters */ assert_param(IS_SMBUS_TRANSFER_OPTIONS_REQUEST(XferOptions)); if (hsmbus->State == HAL_SMBUS_STATE_READY) 80bf034: 68fb ldr r3, [r7, #12] 80bf036: 6c9b ldr r3, [r3, #72] ; 0x48 80bf038: 2b01 cmp r3, #1 80bf03a: f040 809f bne.w 80bf17c { /* Process Locked */ __HAL_LOCK(hsmbus); 80bf03e: 68fb ldr r3, [r7, #12] 80bf040: f893 3044 ldrb.w r3, [r3, #68] ; 0x44 80bf044: 2b01 cmp r3, #1 80bf046: d101 bne.n 80bf04c 80bf048: 2302 movs r3, #2 80bf04a: e098 b.n 80bf17e 80bf04c: 68fb ldr r3, [r7, #12] 80bf04e: 2201 movs r2, #1 80bf050: f883 2044 strb.w r2, [r3, #68] ; 0x44 hsmbus->State = HAL_SMBUS_STATE_MASTER_BUSY_TX; 80bf054: 68fb ldr r3, [r7, #12] 80bf056: 2212 movs r2, #18 80bf058: 649a str r2, [r3, #72] ; 0x48 hsmbus->ErrorCode = HAL_SMBUS_ERROR_NONE; 80bf05a: 68fb ldr r3, [r7, #12] 80bf05c: 2200 movs r2, #0 80bf05e: 64da str r2, [r3, #76] ; 0x4c /* Prepare transfer parameters */ hsmbus->pBuffPtr = pData; 80bf060: 68fb ldr r3, [r7, #12] 80bf062: 687a ldr r2, [r7, #4] 80bf064: 635a str r2, [r3, #52] ; 0x34 hsmbus->XferCount = Size; 80bf066: 68fb ldr r3, [r7, #12] 80bf068: 893a ldrh r2, [r7, #8] 80bf06a: 875a strh r2, [r3, #58] ; 0x3a hsmbus->XferOptions = XferOptions; 80bf06c: 68fb ldr r3, [r7, #12] 80bf06e: 6a3a ldr r2, [r7, #32] 80bf070: 63da str r2, [r3, #60] ; 0x3c /* In case of Quick command, remove autoend mode */ /* Manage the stop generation by software */ if (hsmbus->pBuffPtr == NULL) 80bf072: 68fb ldr r3, [r7, #12] 80bf074: 6b5b ldr r3, [r3, #52] ; 0x34 80bf076: 2b00 cmp r3, #0 80bf078: d105 bne.n 80bf086 { hsmbus->XferOptions &= ~SMBUS_AUTOEND_MODE; 80bf07a: 68fb ldr r3, [r7, #12] 80bf07c: 6bdb ldr r3, [r3, #60] ; 0x3c 80bf07e: f023 7200 bic.w r2, r3, #33554432 ; 0x2000000 80bf082: 68fb ldr r3, [r7, #12] 80bf084: 63da str r2, [r3, #60] ; 0x3c } if (Size > MAX_NBYTE_SIZE) 80bf086: 893b ldrh r3, [r7, #8] 80bf088: 2bff cmp r3, #255 ; 0xff 80bf08a: d903 bls.n 80bf094 { hsmbus->XferSize = MAX_NBYTE_SIZE; 80bf08c: 68fb ldr r3, [r7, #12] 80bf08e: 22ff movs r2, #255 ; 0xff 80bf090: 871a strh r2, [r3, #56] ; 0x38 80bf092: e002 b.n 80bf09a } else { hsmbus->XferSize = Size; 80bf094: 68fb ldr r3, [r7, #12] 80bf096: 893a ldrh r2, [r7, #8] 80bf098: 871a strh r2, [r3, #56] ; 0x38 } /* Send Slave Address */ /* Set NBYTES to write and reload if size > MAX_NBYTE_SIZE and generate RESTART */ if ((hsmbus->XferSize < hsmbus->XferCount) && (hsmbus->XferSize == MAX_NBYTE_SIZE)) 80bf09a: 68fb ldr r3, [r7, #12] 80bf09c: 8f1a ldrh r2, [r3, #56] ; 0x38 80bf09e: 68fb ldr r3, [r7, #12] 80bf0a0: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf0a2: b29b uxth r3, r3 80bf0a4: 429a cmp r2, r3 80bf0a6: d214 bcs.n 80bf0d2 80bf0a8: 68fb ldr r3, [r7, #12] 80bf0aa: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf0ac: 2bff cmp r3, #255 ; 0xff 80bf0ae: d110 bne.n 80bf0d2 { SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, 80bf0b0: 68fb ldr r3, [r7, #12] 80bf0b2: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf0b4: b2da uxtb r2, r3 SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE), 80bf0b6: 68fb ldr r3, [r7, #12] 80bf0b8: 6bdb ldr r3, [r3, #60] ; 0x3c 80bf0ba: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, 80bf0be: f043 7080 orr.w r0, r3, #16777216 ; 0x1000000 80bf0c2: 8979 ldrh r1, [r7, #10] 80bf0c4: 4b30 ldr r3, [pc, #192] ; (80bf188 ) 80bf0c6: 9300 str r3, [sp, #0] 80bf0c8: 4603 mov r3, r0 80bf0ca: 68f8 ldr r0, [r7, #12] 80bf0cc: f001 f864 bl 80c0198 80bf0d0: e04a b.n 80bf168 { /* If transfer direction not change, do not generate Restart Condition */ /* Mean Previous state is same as current state */ /* Store current volatile XferOptions, misra rule */ tmp = hsmbus->XferOptions; 80bf0d2: 68fb ldr r3, [r7, #12] 80bf0d4: 6bdb ldr r3, [r3, #60] ; 0x3c 80bf0d6: 617b str r3, [r7, #20] if ((hsmbus->PreviousState == HAL_SMBUS_STATE_MASTER_BUSY_TX) && \ 80bf0d8: 68fb ldr r3, [r7, #12] 80bf0da: 6c1b ldr r3, [r3, #64] ; 0x40 80bf0dc: 2b12 cmp r3, #18 80bf0de: d120 bne.n 80bf122 (IS_SMBUS_TRANSFER_OTHER_OPTIONS_REQUEST(tmp) == 0)) 80bf0e0: 697b ldr r3, [r7, #20] 80bf0e2: 2baa cmp r3, #170 ; 0xaa 80bf0e4: d00b beq.n 80bf0fe 80bf0e6: 697b ldr r3, [r7, #20] 80bf0e8: f5b3 0f2a cmp.w r3, #11141120 ; 0xaa0000 80bf0ec: d007 beq.n 80bf0fe 80bf0ee: 697b ldr r3, [r7, #20] 80bf0f0: f5b3 4f2a cmp.w r3, #43520 ; 0xaa00 80bf0f4: d003 beq.n 80bf0fe 80bf0f6: 697b ldr r3, [r7, #20] 80bf0f8: f1b3 4f2a cmp.w r3, #2852126720 ; 0xaa000000 80bf0fc: d101 bne.n 80bf102 80bf0fe: 2301 movs r3, #1 80bf100: e000 b.n 80bf104 80bf102: 2300 movs r3, #0 if ((hsmbus->PreviousState == HAL_SMBUS_STATE_MASTER_BUSY_TX) && \ 80bf104: 2b00 cmp r3, #0 80bf106: d10c bne.n 80bf122 { SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, hsmbus->XferOptions, 80bf108: 68fb ldr r3, [r7, #12] 80bf10a: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf10c: b2da uxtb r2, r3 80bf10e: 68fb ldr r3, [r7, #12] 80bf110: 6bd8 ldr r0, [r3, #60] ; 0x3c 80bf112: 8979 ldrh r1, [r7, #10] 80bf114: 2300 movs r3, #0 80bf116: 9300 str r3, [sp, #0] 80bf118: 4603 mov r3, r0 80bf11a: 68f8 ldr r0, [r7, #12] 80bf11c: f001 f83c bl 80c0198 80bf120: e00e b.n 80bf140 } /* Else transfer direction change, so generate Restart with new transfer direction */ else { /* Convert OTHER_xxx XferOptions if any */ SMBUS_ConvertOtherXferOptions(hsmbus); 80bf122: 68f8 ldr r0, [r7, #12] 80bf124: f001 f864 bl 80c01f0 /* Handle Transfer */ SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, 80bf128: 68fb ldr r3, [r7, #12] 80bf12a: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf12c: b2da uxtb r2, r3 80bf12e: 68fb ldr r3, [r7, #12] 80bf130: 6bd8 ldr r0, [r3, #60] ; 0x3c 80bf132: 8979 ldrh r1, [r7, #10] 80bf134: 4b14 ldr r3, [pc, #80] ; (80bf188 ) 80bf136: 9300 str r3, [sp, #0] 80bf138: 4603 mov r3, r0 80bf13a: 68f8 ldr r0, [r7, #12] 80bf13c: f001 f82c bl 80c0198 SMBUS_GENERATE_START_WRITE); } /* If PEC mode is enable, size to transmit manage by SW part should be Size-1 byte, corresponding to PEC byte */ /* PEC byte is automatically sent by HW block, no need to manage it in Transmit process */ if (SMBUS_GET_PEC_MODE(hsmbus) != 0UL) 80bf140: 68fb ldr r3, [r7, #12] 80bf142: 681b ldr r3, [r3, #0] 80bf144: 685b ldr r3, [r3, #4] 80bf146: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80bf14a: 2b00 cmp r3, #0 80bf14c: d00c beq.n 80bf168 { hsmbus->XferSize--; 80bf14e: 68fb ldr r3, [r7, #12] 80bf150: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf152: 3b01 subs r3, #1 80bf154: b29a uxth r2, r3 80bf156: 68fb ldr r3, [r7, #12] 80bf158: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80bf15a: 68fb ldr r3, [r7, #12] 80bf15c: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf15e: b29b uxth r3, r3 80bf160: 3b01 subs r3, #1 80bf162: b29a uxth r2, r3 80bf164: 68fb ldr r3, [r7, #12] 80bf166: 875a strh r2, [r3, #58] ; 0x3a } } /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bf168: 68fb ldr r3, [r7, #12] 80bf16a: 2200 movs r2, #0 80bf16c: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Note : The SMBUS interrupts must be enabled after unlocking current process to avoid the risk of SMBUS interrupt handle execution before current process unlock */ SMBUS_Enable_IRQ(hsmbus, SMBUS_IT_TX); 80bf170: 21f2 movs r1, #242 ; 0xf2 80bf172: 68f8 ldr r0, [r7, #12] 80bf174: f000 fe3c bl 80bfdf0 return HAL_OK; 80bf178: 2300 movs r3, #0 80bf17a: e000 b.n 80bf17e } else { return HAL_BUSY; 80bf17c: 2302 movs r3, #2 } } 80bf17e: 4618 mov r0, r3 80bf180: 3718 adds r7, #24 80bf182: 46bd mov sp, r7 80bf184: bd80 pop {r7, pc} 80bf186: bf00 nop 80bf188: 80002000 .word 0x80002000 080bf18c : * @param XferOptions Options of Transfer, value of @ref SMBUS_XferOptions_definition * @retval HAL status */ HAL_StatusTypeDef HAL_SMBUS_Master_Receive_IT(SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions) { 80bf18c: b580 push {r7, lr} 80bf18e: b088 sub sp, #32 80bf190: af02 add r7, sp, #8 80bf192: 60f8 str r0, [r7, #12] 80bf194: 607a str r2, [r7, #4] 80bf196: 461a mov r2, r3 80bf198: 460b mov r3, r1 80bf19a: 817b strh r3, [r7, #10] 80bf19c: 4613 mov r3, r2 80bf19e: 813b strh r3, [r7, #8] uint32_t tmp; /* Check the parameters */ assert_param(IS_SMBUS_TRANSFER_OPTIONS_REQUEST(XferOptions)); if (hsmbus->State == HAL_SMBUS_STATE_READY) 80bf1a0: 68fb ldr r3, [r7, #12] 80bf1a2: 6c9b ldr r3, [r3, #72] ; 0x48 80bf1a4: 2b01 cmp r3, #1 80bf1a6: f040 808b bne.w 80bf2c0 { /* Process Locked */ __HAL_LOCK(hsmbus); 80bf1aa: 68fb ldr r3, [r7, #12] 80bf1ac: f893 3044 ldrb.w r3, [r3, #68] ; 0x44 80bf1b0: 2b01 cmp r3, #1 80bf1b2: d101 bne.n 80bf1b8 80bf1b4: 2302 movs r3, #2 80bf1b6: e084 b.n 80bf2c2 80bf1b8: 68fb ldr r3, [r7, #12] 80bf1ba: 2201 movs r2, #1 80bf1bc: f883 2044 strb.w r2, [r3, #68] ; 0x44 hsmbus->State = HAL_SMBUS_STATE_MASTER_BUSY_RX; 80bf1c0: 68fb ldr r3, [r7, #12] 80bf1c2: 2222 movs r2, #34 ; 0x22 80bf1c4: 649a str r2, [r3, #72] ; 0x48 hsmbus->ErrorCode = HAL_SMBUS_ERROR_NONE; 80bf1c6: 68fb ldr r3, [r7, #12] 80bf1c8: 2200 movs r2, #0 80bf1ca: 64da str r2, [r3, #76] ; 0x4c /* Prepare transfer parameters */ hsmbus->pBuffPtr = pData; 80bf1cc: 68fb ldr r3, [r7, #12] 80bf1ce: 687a ldr r2, [r7, #4] 80bf1d0: 635a str r2, [r3, #52] ; 0x34 hsmbus->XferCount = Size; 80bf1d2: 68fb ldr r3, [r7, #12] 80bf1d4: 893a ldrh r2, [r7, #8] 80bf1d6: 875a strh r2, [r3, #58] ; 0x3a hsmbus->XferOptions = XferOptions; 80bf1d8: 68fb ldr r3, [r7, #12] 80bf1da: 6a3a ldr r2, [r7, #32] 80bf1dc: 63da str r2, [r3, #60] ; 0x3c /* In case of Quick command, remove autoend mode */ /* Manage the stop generation by software */ if (hsmbus->pBuffPtr == NULL) 80bf1de: 68fb ldr r3, [r7, #12] 80bf1e0: 6b5b ldr r3, [r3, #52] ; 0x34 80bf1e2: 2b00 cmp r3, #0 80bf1e4: d105 bne.n 80bf1f2 { hsmbus->XferOptions &= ~SMBUS_AUTOEND_MODE; 80bf1e6: 68fb ldr r3, [r7, #12] 80bf1e8: 6bdb ldr r3, [r3, #60] ; 0x3c 80bf1ea: f023 7200 bic.w r2, r3, #33554432 ; 0x2000000 80bf1ee: 68fb ldr r3, [r7, #12] 80bf1f0: 63da str r2, [r3, #60] ; 0x3c } if (Size > MAX_NBYTE_SIZE) 80bf1f2: 893b ldrh r3, [r7, #8] 80bf1f4: 2bff cmp r3, #255 ; 0xff 80bf1f6: d903 bls.n 80bf200 { hsmbus->XferSize = MAX_NBYTE_SIZE; 80bf1f8: 68fb ldr r3, [r7, #12] 80bf1fa: 22ff movs r2, #255 ; 0xff 80bf1fc: 871a strh r2, [r3, #56] ; 0x38 80bf1fe: e002 b.n 80bf206 } else { hsmbus->XferSize = Size; 80bf200: 68fb ldr r3, [r7, #12] 80bf202: 893a ldrh r2, [r7, #8] 80bf204: 871a strh r2, [r3, #56] ; 0x38 } /* Send Slave Address */ /* Set NBYTES to write and reload if size > MAX_NBYTE_SIZE and generate RESTART */ if ((hsmbus->XferSize < hsmbus->XferCount) && (hsmbus->XferSize == MAX_NBYTE_SIZE)) 80bf206: 68fb ldr r3, [r7, #12] 80bf208: 8f1a ldrh r2, [r3, #56] ; 0x38 80bf20a: 68fb ldr r3, [r7, #12] 80bf20c: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf20e: b29b uxth r3, r3 80bf210: 429a cmp r2, r3 80bf212: d214 bcs.n 80bf23e 80bf214: 68fb ldr r3, [r7, #12] 80bf216: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf218: 2bff cmp r3, #255 ; 0xff 80bf21a: d110 bne.n 80bf23e { SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, 80bf21c: 68fb ldr r3, [r7, #12] 80bf21e: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf220: b2da uxtb r2, r3 SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE), 80bf222: 68fb ldr r3, [r7, #12] 80bf224: 6bdb ldr r3, [r3, #60] ; 0x3c 80bf226: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, 80bf22a: f043 7080 orr.w r0, r3, #16777216 ; 0x1000000 80bf22e: 8979 ldrh r1, [r7, #10] 80bf230: 4b26 ldr r3, [pc, #152] ; (80bf2cc ) 80bf232: 9300 str r3, [sp, #0] 80bf234: 4603 mov r3, r0 80bf236: 68f8 ldr r0, [r7, #12] 80bf238: f000 ffae bl 80c0198 80bf23c: e036 b.n 80bf2ac { /* If transfer direction not change, do not generate Restart Condition */ /* Mean Previous state is same as current state */ /* Store current volatile XferOptions, Misra rule */ tmp = hsmbus->XferOptions; 80bf23e: 68fb ldr r3, [r7, #12] 80bf240: 6bdb ldr r3, [r3, #60] ; 0x3c 80bf242: 617b str r3, [r7, #20] if ((hsmbus->PreviousState == HAL_SMBUS_STATE_MASTER_BUSY_RX) && \ 80bf244: 68fb ldr r3, [r7, #12] 80bf246: 6c1b ldr r3, [r3, #64] ; 0x40 80bf248: 2b22 cmp r3, #34 ; 0x22 80bf24a: d120 bne.n 80bf28e (IS_SMBUS_TRANSFER_OTHER_OPTIONS_REQUEST(tmp) == 0)) 80bf24c: 697b ldr r3, [r7, #20] 80bf24e: 2baa cmp r3, #170 ; 0xaa 80bf250: d00b beq.n 80bf26a 80bf252: 697b ldr r3, [r7, #20] 80bf254: f5b3 0f2a cmp.w r3, #11141120 ; 0xaa0000 80bf258: d007 beq.n 80bf26a 80bf25a: 697b ldr r3, [r7, #20] 80bf25c: f5b3 4f2a cmp.w r3, #43520 ; 0xaa00 80bf260: d003 beq.n 80bf26a 80bf262: 697b ldr r3, [r7, #20] 80bf264: f1b3 4f2a cmp.w r3, #2852126720 ; 0xaa000000 80bf268: d101 bne.n 80bf26e 80bf26a: 2301 movs r3, #1 80bf26c: e000 b.n 80bf270 80bf26e: 2300 movs r3, #0 if ((hsmbus->PreviousState == HAL_SMBUS_STATE_MASTER_BUSY_RX) && \ 80bf270: 2b00 cmp r3, #0 80bf272: d10c bne.n 80bf28e { SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, hsmbus->XferOptions, 80bf274: 68fb ldr r3, [r7, #12] 80bf276: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf278: b2da uxtb r2, r3 80bf27a: 68fb ldr r3, [r7, #12] 80bf27c: 6bd8 ldr r0, [r3, #60] ; 0x3c 80bf27e: 8979 ldrh r1, [r7, #10] 80bf280: 2300 movs r3, #0 80bf282: 9300 str r3, [sp, #0] 80bf284: 4603 mov r3, r0 80bf286: 68f8 ldr r0, [r7, #12] 80bf288: f000 ff86 bl 80c0198 80bf28c: e00e b.n 80bf2ac } /* Else transfer direction change, so generate Restart with new transfer direction */ else { /* Convert OTHER_xxx XferOptions if any */ SMBUS_ConvertOtherXferOptions(hsmbus); 80bf28e: 68f8 ldr r0, [r7, #12] 80bf290: f000 ffae bl 80c01f0 /* Handle Transfer */ SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, 80bf294: 68fb ldr r3, [r7, #12] 80bf296: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf298: b2da uxtb r2, r3 80bf29a: 68fb ldr r3, [r7, #12] 80bf29c: 6bd8 ldr r0, [r3, #60] ; 0x3c 80bf29e: 8979 ldrh r1, [r7, #10] 80bf2a0: 4b0a ldr r3, [pc, #40] ; (80bf2cc ) 80bf2a2: 9300 str r3, [sp, #0] 80bf2a4: 4603 mov r3, r0 80bf2a6: 68f8 ldr r0, [r7, #12] 80bf2a8: f000 ff76 bl 80c0198 SMBUS_GENERATE_START_READ); } } /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bf2ac: 68fb ldr r3, [r7, #12] 80bf2ae: 2200 movs r2, #0 80bf2b0: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Note : The SMBUS interrupts must be enabled after unlocking current process to avoid the risk of SMBUS interrupt handle execution before current process unlock */ SMBUS_Enable_IRQ(hsmbus, SMBUS_IT_RX); 80bf2b4: 21d4 movs r1, #212 ; 0xd4 80bf2b6: 68f8 ldr r0, [r7, #12] 80bf2b8: f000 fd9a bl 80bfdf0 return HAL_OK; 80bf2bc: 2300 movs r3, #0 80bf2be: e000 b.n 80bf2c2 } else { return HAL_BUSY; 80bf2c0: 2302 movs r3, #2 } } 80bf2c2: 4618 mov r0, r3 80bf2c4: 3718 adds r7, #24 80bf2c6: 46bd mov sp, r7 80bf2c8: bd80 pop {r7, pc} 80bf2ca: bf00 nop 80bf2cc: 80002400 .word 0x80002400 080bf2d0 : * @param Timeout Timeout duration * @retval HAL status */ HAL_StatusTypeDef HAL_SMBUS_IsDeviceReady(SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint32_t Trials, uint32_t Timeout) { 80bf2d0: b580 push {r7, lr} 80bf2d2: b088 sub sp, #32 80bf2d4: af00 add r7, sp, #0 80bf2d6: 60f8 str r0, [r7, #12] 80bf2d8: 607a str r2, [r7, #4] 80bf2da: 603b str r3, [r7, #0] 80bf2dc: 460b mov r3, r1 80bf2de: 817b strh r3, [r7, #10] uint32_t tickstart; __IO uint32_t SMBUS_Trials = 0UL; 80bf2e0: 2300 movs r3, #0 80bf2e2: 617b str r3, [r7, #20] FlagStatus tmp1; FlagStatus tmp2; if (hsmbus->State == HAL_SMBUS_STATE_READY) 80bf2e4: 68fb ldr r3, [r7, #12] 80bf2e6: 6c9b ldr r3, [r3, #72] ; 0x48 80bf2e8: 2b01 cmp r3, #1 80bf2ea: f040 80e5 bne.w 80bf4b8 { if (__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_BUSY) != RESET) 80bf2ee: 68fb ldr r3, [r7, #12] 80bf2f0: 681b ldr r3, [r3, #0] 80bf2f2: 699b ldr r3, [r3, #24] 80bf2f4: f403 4300 and.w r3, r3, #32768 ; 0x8000 80bf2f8: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 80bf2fc: d101 bne.n 80bf302 { return HAL_BUSY; 80bf2fe: 2302 movs r3, #2 80bf300: e0db b.n 80bf4ba } /* Process Locked */ __HAL_LOCK(hsmbus); 80bf302: 68fb ldr r3, [r7, #12] 80bf304: f893 3044 ldrb.w r3, [r3, #68] ; 0x44 80bf308: 2b01 cmp r3, #1 80bf30a: d101 bne.n 80bf310 80bf30c: 2302 movs r3, #2 80bf30e: e0d4 b.n 80bf4ba 80bf310: 68fb ldr r3, [r7, #12] 80bf312: 2201 movs r2, #1 80bf314: f883 2044 strb.w r2, [r3, #68] ; 0x44 hsmbus->State = HAL_SMBUS_STATE_BUSY; 80bf318: 68fb ldr r3, [r7, #12] 80bf31a: 2202 movs r2, #2 80bf31c: 649a str r2, [r3, #72] ; 0x48 hsmbus->ErrorCode = HAL_SMBUS_ERROR_NONE; 80bf31e: 68fb ldr r3, [r7, #12] 80bf320: 2200 movs r2, #0 80bf322: 64da str r2, [r3, #76] ; 0x4c do { /* Generate Start */ hsmbus->Instance->CR2 = SMBUS_GENERATE_START(hsmbus->Init.AddressingMode, DevAddress); 80bf324: 68fb ldr r3, [r7, #12] 80bf326: 681a ldr r2, [r3, #0] 80bf328: 68fb ldr r3, [r7, #12] 80bf32a: 691b ldr r3, [r3, #16] 80bf32c: 2b01 cmp r3, #1 80bf32e: d105 bne.n 80bf33c 80bf330: 897b ldrh r3, [r7, #10] 80bf332: f3c3 0109 ubfx r1, r3, #0, #10 80bf336: 4b63 ldr r3, [pc, #396] ; (80bf4c4 ) 80bf338: 430b orrs r3, r1 80bf33a: e004 b.n 80bf346 80bf33c: 897b ldrh r3, [r7, #10] 80bf33e: f3c3 0309 ubfx r3, r3, #0, #10 80bf342: f443 5320 orr.w r3, r3, #10240 ; 0x2800 80bf346: 6053 str r3, [r2, #4] /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ /* Wait until STOPF flag is set or a NACK flag is set*/ tickstart = HAL_GetTick(); 80bf348: f7f8 fb6c bl 80b7a24 80bf34c: 61b8 str r0, [r7, #24] tmp1 = __HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80bf34e: 68fb ldr r3, [r7, #12] 80bf350: 681b ldr r3, [r3, #0] 80bf352: 699b ldr r3, [r3, #24] 80bf354: f003 0320 and.w r3, r3, #32 80bf358: 2b20 cmp r3, #32 80bf35a: bf0c ite eq 80bf35c: 2301 moveq r3, #1 80bf35e: 2300 movne r3, #0 80bf360: b2db uxtb r3, r3 80bf362: 77fb strb r3, [r7, #31] tmp2 = __HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_AF); 80bf364: 68fb ldr r3, [r7, #12] 80bf366: 681b ldr r3, [r3, #0] 80bf368: 699b ldr r3, [r3, #24] 80bf36a: f003 0310 and.w r3, r3, #16 80bf36e: 2b10 cmp r3, #16 80bf370: bf0c ite eq 80bf372: 2301 moveq r3, #1 80bf374: 2300 movne r3, #0 80bf376: b2db uxtb r3, r3 80bf378: 77bb strb r3, [r7, #30] while ((tmp1 == RESET) && (tmp2 == RESET)) 80bf37a: e033 b.n 80bf3e4 { if (Timeout != HAL_MAX_DELAY) 80bf37c: 683b ldr r3, [r7, #0] 80bf37e: f1b3 3fff cmp.w r3, #4294967295 80bf382: d019 beq.n 80bf3b8 { if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0UL)) 80bf384: f7f8 fb4e bl 80b7a24 80bf388: 4602 mov r2, r0 80bf38a: 69bb ldr r3, [r7, #24] 80bf38c: 1ad2 subs r2, r2, r3 80bf38e: 683b ldr r3, [r7, #0] 80bf390: 429a cmp r2, r3 80bf392: d802 bhi.n 80bf39a 80bf394: 683b ldr r3, [r7, #0] 80bf396: 2b00 cmp r3, #0 80bf398: d10e bne.n 80bf3b8 { /* Device is ready */ hsmbus->State = HAL_SMBUS_STATE_READY; 80bf39a: 68fb ldr r3, [r7, #12] 80bf39c: 2201 movs r2, #1 80bf39e: 649a str r2, [r3, #72] ; 0x48 /* Update SMBUS error code */ hsmbus->ErrorCode |= HAL_SMBUS_ERROR_HALTIMEOUT; 80bf3a0: 68fb ldr r3, [r7, #12] 80bf3a2: 6cdb ldr r3, [r3, #76] ; 0x4c 80bf3a4: f043 0210 orr.w r2, r3, #16 80bf3a8: 68fb ldr r3, [r7, #12] 80bf3aa: 64da str r2, [r3, #76] ; 0x4c /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bf3ac: 68fb ldr r3, [r7, #12] 80bf3ae: 2200 movs r2, #0 80bf3b0: f883 2044 strb.w r2, [r3, #68] ; 0x44 return HAL_ERROR; 80bf3b4: 2301 movs r3, #1 80bf3b6: e080 b.n 80bf4ba } } tmp1 = __HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80bf3b8: 68fb ldr r3, [r7, #12] 80bf3ba: 681b ldr r3, [r3, #0] 80bf3bc: 699b ldr r3, [r3, #24] 80bf3be: f003 0320 and.w r3, r3, #32 80bf3c2: 2b20 cmp r3, #32 80bf3c4: bf0c ite eq 80bf3c6: 2301 moveq r3, #1 80bf3c8: 2300 movne r3, #0 80bf3ca: b2db uxtb r3, r3 80bf3cc: 77fb strb r3, [r7, #31] tmp2 = __HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_AF); 80bf3ce: 68fb ldr r3, [r7, #12] 80bf3d0: 681b ldr r3, [r3, #0] 80bf3d2: 699b ldr r3, [r3, #24] 80bf3d4: f003 0310 and.w r3, r3, #16 80bf3d8: 2b10 cmp r3, #16 80bf3da: bf0c ite eq 80bf3dc: 2301 moveq r3, #1 80bf3de: 2300 movne r3, #0 80bf3e0: b2db uxtb r3, r3 80bf3e2: 77bb strb r3, [r7, #30] while ((tmp1 == RESET) && (tmp2 == RESET)) 80bf3e4: 7ffb ldrb r3, [r7, #31] 80bf3e6: 2b00 cmp r3, #0 80bf3e8: d102 bne.n 80bf3f0 80bf3ea: 7fbb ldrb r3, [r7, #30] 80bf3ec: 2b00 cmp r3, #0 80bf3ee: d0c5 beq.n 80bf37c } /* Check if the NACKF flag has not been set */ if (__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_AF) == RESET) 80bf3f0: 68fb ldr r3, [r7, #12] 80bf3f2: 681b ldr r3, [r3, #0] 80bf3f4: 699b ldr r3, [r3, #24] 80bf3f6: f003 0310 and.w r3, r3, #16 80bf3fa: 2b10 cmp r3, #16 80bf3fc: d017 beq.n 80bf42e { /* Wait until STOPF flag is reset */ if (SMBUS_WaitOnFlagUntilTimeout(hsmbus, SMBUS_FLAG_STOPF, RESET, Timeout) != HAL_OK) 80bf3fe: 683b ldr r3, [r7, #0] 80bf400: 2200 movs r2, #0 80bf402: 2120 movs r1, #32 80bf404: 68f8 ldr r0, [r7, #12] 80bf406: f000 fe5e bl 80c00c6 80bf40a: 4603 mov r3, r0 80bf40c: 2b00 cmp r3, #0 80bf40e: d001 beq.n 80bf414 { return HAL_ERROR; 80bf410: 2301 movs r3, #1 80bf412: e052 b.n 80bf4ba } /* Clear STOP Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80bf414: 68fb ldr r3, [r7, #12] 80bf416: 681b ldr r3, [r3, #0] 80bf418: 2220 movs r2, #32 80bf41a: 61da str r2, [r3, #28] /* Device is ready */ hsmbus->State = HAL_SMBUS_STATE_READY; 80bf41c: 68fb ldr r3, [r7, #12] 80bf41e: 2201 movs r2, #1 80bf420: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bf422: 68fb ldr r3, [r7, #12] 80bf424: 2200 movs r2, #0 80bf426: f883 2044 strb.w r2, [r3, #68] ; 0x44 return HAL_OK; 80bf42a: 2300 movs r3, #0 80bf42c: e045 b.n 80bf4ba } else { /* Wait until STOPF flag is reset */ if (SMBUS_WaitOnFlagUntilTimeout(hsmbus, SMBUS_FLAG_STOPF, RESET, Timeout) != HAL_OK) 80bf42e: 683b ldr r3, [r7, #0] 80bf430: 2200 movs r2, #0 80bf432: 2120 movs r1, #32 80bf434: 68f8 ldr r0, [r7, #12] 80bf436: f000 fe46 bl 80c00c6 80bf43a: 4603 mov r3, r0 80bf43c: 2b00 cmp r3, #0 80bf43e: d001 beq.n 80bf444 { return HAL_ERROR; 80bf440: 2301 movs r3, #1 80bf442: e03a b.n 80bf4ba } /* Clear NACK Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_AF); 80bf444: 68fb ldr r3, [r7, #12] 80bf446: 681b ldr r3, [r3, #0] 80bf448: 2210 movs r2, #16 80bf44a: 61da str r2, [r3, #28] /* Clear STOP Flag, auto generated with autoend*/ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80bf44c: 68fb ldr r3, [r7, #12] 80bf44e: 681b ldr r3, [r3, #0] 80bf450: 2220 movs r2, #32 80bf452: 61da str r2, [r3, #28] } /* Check if the maximum allowed number of trials has been reached */ if (SMBUS_Trials == Trials) 80bf454: 697a ldr r2, [r7, #20] 80bf456: 687b ldr r3, [r7, #4] 80bf458: 429a cmp r2, r3 80bf45a: d116 bne.n 80bf48a { /* Generate Stop */ hsmbus->Instance->CR2 |= I2C_CR2_STOP; 80bf45c: 68fb ldr r3, [r7, #12] 80bf45e: 681b ldr r3, [r3, #0] 80bf460: 68fa ldr r2, [r7, #12] 80bf462: 6812 ldr r2, [r2, #0] 80bf464: 6852 ldr r2, [r2, #4] 80bf466: f442 4280 orr.w r2, r2, #16384 ; 0x4000 80bf46a: 605a str r2, [r3, #4] /* Wait until STOPF flag is reset */ if (SMBUS_WaitOnFlagUntilTimeout(hsmbus, SMBUS_FLAG_STOPF, RESET, Timeout) != HAL_OK) 80bf46c: 683b ldr r3, [r7, #0] 80bf46e: 2200 movs r2, #0 80bf470: 2120 movs r1, #32 80bf472: 68f8 ldr r0, [r7, #12] 80bf474: f000 fe27 bl 80c00c6 80bf478: 4603 mov r3, r0 80bf47a: 2b00 cmp r3, #0 80bf47c: d001 beq.n 80bf482 { return HAL_ERROR; 80bf47e: 2301 movs r3, #1 80bf480: e01b b.n 80bf4ba } /* Clear STOP Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80bf482: 68fb ldr r3, [r7, #12] 80bf484: 681b ldr r3, [r3, #0] 80bf486: 2220 movs r2, #32 80bf488: 61da str r2, [r3, #28] } /* Increment Trials */ SMBUS_Trials++; 80bf48a: 697b ldr r3, [r7, #20] 80bf48c: 3301 adds r3, #1 80bf48e: 617b str r3, [r7, #20] } while (SMBUS_Trials < Trials); 80bf490: 697a ldr r2, [r7, #20] 80bf492: 687b ldr r3, [r7, #4] 80bf494: 429a cmp r2, r3 80bf496: f4ff af45 bcc.w 80bf324 hsmbus->State = HAL_SMBUS_STATE_READY; 80bf49a: 68fb ldr r3, [r7, #12] 80bf49c: 2201 movs r2, #1 80bf49e: 649a str r2, [r3, #72] ; 0x48 /* Update SMBUS error code */ hsmbus->ErrorCode |= HAL_SMBUS_ERROR_HALTIMEOUT; 80bf4a0: 68fb ldr r3, [r7, #12] 80bf4a2: 6cdb ldr r3, [r3, #76] ; 0x4c 80bf4a4: f043 0210 orr.w r2, r3, #16 80bf4a8: 68fb ldr r3, [r7, #12] 80bf4aa: 64da str r2, [r3, #76] ; 0x4c /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bf4ac: 68fb ldr r3, [r7, #12] 80bf4ae: 2200 movs r2, #0 80bf4b0: f883 2044 strb.w r2, [r3, #68] ; 0x44 return HAL_ERROR; 80bf4b4: 2301 movs r3, #1 80bf4b6: e000 b.n 80bf4ba } else { return HAL_BUSY; 80bf4b8: 2302 movs r3, #2 } } 80bf4ba: 4618 mov r0, r3 80bf4bc: 3720 adds r7, #32 80bf4be: 46bd mov sp, r7 80bf4c0: bd80 pop {r7, pc} 80bf4c2: bf00 nop 80bf4c4: 02002000 .word 0x02002000 080bf4c8 : * @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) { 80bf4c8: b580 push {r7, lr} 80bf4ca: b084 sub sp, #16 80bf4cc: af00 add r7, sp, #0 80bf4ce: 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); 80bf4d0: 687b ldr r3, [r7, #4] 80bf4d2: 681b ldr r3, [r3, #0] 80bf4d4: 699b ldr r3, [r3, #24] 80bf4d6: 60fb str r3, [r7, #12] uint32_t tmpcr1value = READ_REG(hsmbus->Instance->CR1); 80bf4d8: 687b ldr r3, [r7, #4] 80bf4da: 681b ldr r3, [r3, #0] 80bf4dc: 681b ldr r3, [r3, #0] 80bf4de: 60bb str r3, [r7, #8] /* SMBUS in mode Transmitter ---------------------------------------------------*/ if ((SMBUS_CHECK_IT_SOURCE(tmpcr1value, (SMBUS_IT_TCI | SMBUS_IT_STOPI | 80bf4e0: 68bb ldr r3, [r7, #8] 80bf4e2: f003 0372 and.w r3, r3, #114 ; 0x72 80bf4e6: 2b72 cmp r3, #114 ; 0x72 80bf4e8: d12d bne.n 80bf546 SMBUS_IT_NACKI | SMBUS_IT_TXI)) != RESET) && ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TXIS) != RESET) || 80bf4ea: 68fb ldr r3, [r7, #12] 80bf4ec: f003 0302 and.w r3, r3, #2 SMBUS_IT_NACKI | SMBUS_IT_TXI)) != RESET) && 80bf4f0: 2b00 cmp r3, #0 80bf4f2: d113 bne.n 80bf51c (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || 80bf4f4: 68fb ldr r3, [r7, #12] 80bf4f6: f003 0380 and.w r3, r3, #128 ; 0x80 ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TXIS) != RESET) || 80bf4fa: 2b00 cmp r3, #0 80bf4fc: d10e bne.n 80bf51c (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || 80bf4fe: 68fb ldr r3, [r7, #12] 80bf500: f003 0340 and.w r3, r3, #64 ; 0x40 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || 80bf504: 2b00 cmp r3, #0 80bf506: d109 bne.n 80bf51c (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80bf508: 68fb ldr r3, [r7, #12] 80bf50a: f003 0320 and.w r3, r3, #32 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || 80bf50e: 2b00 cmp r3, #0 80bf510: d104 bne.n 80bf51c (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_AF) != RESET))) 80bf512: 68fb ldr r3, [r7, #12] 80bf514: f003 0310 and.w r3, r3, #16 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80bf518: 2b00 cmp r3, #0 80bf51a: d014 beq.n 80bf546 { /* Slave mode selected */ if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_TX) == HAL_SMBUS_STATE_SLAVE_BUSY_TX) 80bf51c: 687b ldr r3, [r7, #4] 80bf51e: 6c9b ldr r3, [r3, #72] ; 0x48 80bf520: f003 0332 and.w r3, r3, #50 ; 0x32 80bf524: 2b32 cmp r3, #50 ; 0x32 80bf526: d104 bne.n 80bf532 { (void)SMBUS_Slave_ISR(hsmbus, tmpisrvalue); 80bf528: 68f9 ldr r1, [r7, #12] 80bf52a: 6878 ldr r0, [r7, #4] 80bf52c: f000 fa80 bl 80bfa30 80bf530: e009 b.n 80bf546 } /* Master mode selected */ else if ((hsmbus->State & HAL_SMBUS_STATE_MASTER_BUSY_TX) == HAL_SMBUS_STATE_MASTER_BUSY_TX) 80bf532: 687b ldr r3, [r7, #4] 80bf534: 6c9b ldr r3, [r3, #72] ; 0x48 80bf536: f003 0312 and.w r3, r3, #18 80bf53a: 2b12 cmp r3, #18 80bf53c: d103 bne.n 80bf546 { (void)SMBUS_Master_ISR(hsmbus, tmpisrvalue); 80bf53e: 68f9 ldr r1, [r7, #12] 80bf540: 6878 ldr r0, [r7, #4] 80bf542: f000 f8a1 bl 80bf688 /* Nothing to do */ } } /* SMBUS in mode Receiver ----------------------------------------------------*/ if ((SMBUS_CHECK_IT_SOURCE(tmpcr1value, (SMBUS_IT_TCI | SMBUS_IT_STOPI | 80bf546: 68bb ldr r3, [r7, #8] 80bf548: f003 0374 and.w r3, r3, #116 ; 0x74 80bf54c: 2b74 cmp r3, #116 ; 0x74 80bf54e: d12d bne.n 80bf5ac SMBUS_IT_NACKI | SMBUS_IT_RXI)) != RESET) && ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_RXNE) != RESET) || 80bf550: 68fb ldr r3, [r7, #12] 80bf552: f003 0304 and.w r3, r3, #4 SMBUS_IT_NACKI | SMBUS_IT_RXI)) != RESET) && 80bf556: 2b00 cmp r3, #0 80bf558: d113 bne.n 80bf582 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || 80bf55a: 68fb ldr r3, [r7, #12] 80bf55c: f003 0380 and.w r3, r3, #128 ; 0x80 ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_RXNE) != RESET) || 80bf560: 2b00 cmp r3, #0 80bf562: d10e bne.n 80bf582 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || 80bf564: 68fb ldr r3, [r7, #12] 80bf566: f003 0340 and.w r3, r3, #64 ; 0x40 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || 80bf56a: 2b00 cmp r3, #0 80bf56c: d109 bne.n 80bf582 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80bf56e: 68fb ldr r3, [r7, #12] 80bf570: f003 0320 and.w r3, r3, #32 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || 80bf574: 2b00 cmp r3, #0 80bf576: d104 bne.n 80bf582 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_AF) != RESET))) 80bf578: 68fb ldr r3, [r7, #12] 80bf57a: f003 0310 and.w r3, r3, #16 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80bf57e: 2b00 cmp r3, #0 80bf580: d014 beq.n 80bf5ac { /* Slave mode selected */ if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bf582: 687b ldr r3, [r7, #4] 80bf584: 6c9b ldr r3, [r3, #72] ; 0x48 80bf586: f003 0342 and.w r3, r3, #66 ; 0x42 80bf58a: 2b42 cmp r3, #66 ; 0x42 80bf58c: d104 bne.n 80bf598 { (void)SMBUS_Slave_ISR(hsmbus, tmpisrvalue); 80bf58e: 68f9 ldr r1, [r7, #12] 80bf590: 6878 ldr r0, [r7, #4] 80bf592: f000 fa4d bl 80bfa30 80bf596: e009 b.n 80bf5ac } /* Master mode selected */ else if ((hsmbus->State & HAL_SMBUS_STATE_MASTER_BUSY_RX) == HAL_SMBUS_STATE_MASTER_BUSY_RX) 80bf598: 687b ldr r3, [r7, #4] 80bf59a: 6c9b ldr r3, [r3, #72] ; 0x48 80bf59c: f003 0322 and.w r3, r3, #34 ; 0x22 80bf5a0: 2b22 cmp r3, #34 ; 0x22 80bf5a2: d103 bne.n 80bf5ac { (void)SMBUS_Master_ISR(hsmbus, tmpisrvalue); 80bf5a4: 68f9 ldr r1, [r7, #12] 80bf5a6: 6878 ldr r0, [r7, #4] 80bf5a8: f000 f86e bl 80bf688 /* Nothing to do */ } } /* SMBUS in mode Listener Only --------------------------------------------------*/ if (((SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_ADDRI) != RESET) || 80bf5ac: 68bb ldr r3, [r7, #8] 80bf5ae: f003 0308 and.w r3, r3, #8 80bf5b2: 2b00 cmp r3, #0 80bf5b4: d109 bne.n 80bf5ca (SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_STOPI) != RESET) || 80bf5b6: 68bb ldr r3, [r7, #8] 80bf5b8: f003 0320 and.w r3, r3, #32 if (((SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_ADDRI) != RESET) || 80bf5bc: 2b00 cmp r3, #0 80bf5be: d104 bne.n 80bf5ca (SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_NACKI) != RESET)) && 80bf5c0: 68bb ldr r3, [r7, #8] 80bf5c2: f003 0310 and.w r3, r3, #16 (SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_STOPI) != RESET) || 80bf5c6: 2b00 cmp r3, #0 80bf5c8: d018 beq.n 80bf5fc ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_ADDR) != RESET) || 80bf5ca: 68fb ldr r3, [r7, #12] 80bf5cc: f003 0308 and.w r3, r3, #8 (SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_NACKI) != RESET)) && 80bf5d0: 2b00 cmp r3, #0 80bf5d2: d109 bne.n 80bf5e8 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80bf5d4: 68fb ldr r3, [r7, #12] 80bf5d6: f003 0320 and.w r3, r3, #32 ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_ADDR) != RESET) || 80bf5da: 2b00 cmp r3, #0 80bf5dc: d104 bne.n 80bf5e8 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_AF) != RESET))) 80bf5de: 68fb ldr r3, [r7, #12] 80bf5e0: f003 0310 and.w r3, r3, #16 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80bf5e4: 2b00 cmp r3, #0 80bf5e6: d009 beq.n 80bf5fc { if ((hsmbus->State & HAL_SMBUS_STATE_LISTEN) == HAL_SMBUS_STATE_LISTEN) 80bf5e8: 687b ldr r3, [r7, #4] 80bf5ea: 6c9b ldr r3, [r3, #72] ; 0x48 80bf5ec: f003 0308 and.w r3, r3, #8 80bf5f0: 2b08 cmp r3, #8 80bf5f2: d103 bne.n 80bf5fc { (void)SMBUS_Slave_ISR(hsmbus, tmpisrvalue); 80bf5f4: 68f9 ldr r1, [r7, #12] 80bf5f6: 6878 ldr r0, [r7, #4] 80bf5f8: f000 fa1a bl 80bfa30 } } } 80bf5fc: bf00 nop 80bf5fe: 3710 adds r7, #16 80bf600: 46bd mov sp, r7 80bf602: bd80 pop {r7, pc} 080bf604 : * @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) { 80bf604: b580 push {r7, lr} 80bf606: b082 sub sp, #8 80bf608: af00 add r7, sp, #0 80bf60a: 6078 str r0, [r7, #4] SMBUS_ITErrorHandler(hsmbus); 80bf60c: 6878 ldr r0, [r7, #4] 80bf60e: f000 fca5 bl 80bff5c } 80bf612: bf00 nop 80bf614: 3708 adds r7, #8 80bf616: 46bd mov sp, r7 80bf618: bd80 pop {r7, pc} 080bf61a : * @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) { 80bf61a: b480 push {r7} 80bf61c: b083 sub sp, #12 80bf61e: af00 add r7, sp, #0 80bf620: 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 */ } 80bf622: bf00 nop 80bf624: 370c adds r7, #12 80bf626: 46bd mov sp, r7 80bf628: f85d 7b04 ldr.w r7, [sp], #4 80bf62c: 4770 bx lr 080bf62e : * @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) { 80bf62e: b480 push {r7} 80bf630: b083 sub sp, #12 80bf632: af00 add r7, sp, #0 80bf634: 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 */ } 80bf636: bf00 nop 80bf638: 370c adds r7, #12 80bf63a: 46bd mov sp, r7 80bf63c: f85d 7b04 ldr.w r7, [sp], #4 80bf640: 4770 bx lr 080bf642 : * @param AddrMatchCode Address Match Code * @retval None */ __weak void HAL_SMBUS_AddrCallback(SMBUS_HandleTypeDef *hsmbus, uint8_t TransferDirection, uint16_t AddrMatchCode) { 80bf642: b480 push {r7} 80bf644: b083 sub sp, #12 80bf646: af00 add r7, sp, #0 80bf648: 6078 str r0, [r7, #4] 80bf64a: 460b mov r3, r1 80bf64c: 70fb strb r3, [r7, #3] 80bf64e: 4613 mov r3, r2 80bf650: 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 */ } 80bf652: bf00 nop 80bf654: 370c adds r7, #12 80bf656: 46bd mov sp, r7 80bf658: f85d 7b04 ldr.w r7, [sp], #4 80bf65c: 4770 bx lr 080bf65e : * @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) { 80bf65e: b480 push {r7} 80bf660: b083 sub sp, #12 80bf662: af00 add r7, sp, #0 80bf664: 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 */ } 80bf666: bf00 nop 80bf668: 370c adds r7, #12 80bf66a: 46bd mov sp, r7 80bf66c: f85d 7b04 ldr.w r7, [sp], #4 80bf670: 4770 bx lr 080bf672 : * @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) { 80bf672: b480 push {r7} 80bf674: b083 sub sp, #12 80bf676: af00 add r7, sp, #0 80bf678: 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 */ } 80bf67a: bf00 nop 80bf67c: 370c adds r7, #12 80bf67e: 46bd mov sp, r7 80bf680: f85d 7b04 ldr.w r7, [sp], #4 80bf684: 4770 bx lr ... 080bf688 : * 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) { 80bf688: b580 push {r7, lr} 80bf68a: b086 sub sp, #24 80bf68c: af02 add r7, sp, #8 80bf68e: 6078 str r0, [r7, #4] 80bf690: 6039 str r1, [r7, #0] uint16_t DevAddress; /* Process Locked */ __HAL_LOCK(hsmbus); 80bf692: 687b ldr r3, [r7, #4] 80bf694: f893 3044 ldrb.w r3, [r3, #68] ; 0x44 80bf698: 2b01 cmp r3, #1 80bf69a: d101 bne.n 80bf6a0 80bf69c: 2302 movs r3, #2 80bf69e: e1c3 b.n 80bfa28 80bf6a0: 687b ldr r3, [r7, #4] 80bf6a2: 2201 movs r2, #1 80bf6a4: f883 2044 strb.w r2, [r3, #68] ; 0x44 if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_AF) != RESET) 80bf6a8: 683b ldr r3, [r7, #0] 80bf6aa: f003 0310 and.w r3, r3, #16 80bf6ae: 2b00 cmp r3, #0 80bf6b0: d014 beq.n 80bf6dc { /* Clear NACK Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_AF); 80bf6b2: 687b ldr r3, [r7, #4] 80bf6b4: 681b ldr r3, [r3, #0] 80bf6b6: 2210 movs r2, #16 80bf6b8: 61da str r2, [r3, #28] /* Set corresponding Error Code */ /* No need to generate STOP, it is automatically done */ hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ACKF; 80bf6ba: 687b ldr r3, [r7, #4] 80bf6bc: 6cdb ldr r3, [r3, #76] ; 0x4c 80bf6be: f043 0204 orr.w r2, r3, #4 80bf6c2: 687b ldr r3, [r7, #4] 80bf6c4: 64da str r2, [r3, #76] ; 0x4c /* Flush TX register */ SMBUS_Flush_TXDR(hsmbus); 80bf6c6: 6878 ldr r0, [r7, #4] 80bf6c8: f000 fd41 bl 80c014e /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bf6cc: 687b ldr r3, [r7, #4] 80bf6ce: 2200 movs r2, #0 80bf6d0: 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); 80bf6d4: 6878 ldr r0, [r7, #4] 80bf6d6: f7ff ffcc bl 80bf672 80bf6da: e1a0 b.n 80bfa1e #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_STOPF) != RESET) 80bf6dc: 683b ldr r3, [r7, #0] 80bf6de: f003 0320 and.w r3, r3, #32 80bf6e2: 2b00 cmp r3, #0 80bf6e4: d079 beq.n 80bf7da { /* Check and treat errors if errors occurs during STOP process */ SMBUS_ITErrorHandler(hsmbus); 80bf6e6: 6878 ldr r0, [r7, #4] 80bf6e8: f000 fc38 bl 80bff5c /* Call the corresponding callback to inform upper layer of End of Transfer */ if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_TX) 80bf6ec: 687b ldr r3, [r7, #4] 80bf6ee: 6c9b ldr r3, [r3, #72] ; 0x48 80bf6f0: 2b12 cmp r3, #18 80bf6f2: d12d bne.n 80bf750 { /* Disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); 80bf6f4: 21f2 movs r1, #242 ; 0xf2 80bf6f6: 6878 ldr r0, [r7, #4] 80bf6f8: f000 fbb3 bl 80bfe62 /* Clear STOP Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80bf6fc: 687b ldr r3, [r7, #4] 80bf6fe: 681b ldr r3, [r3, #0] 80bf700: 2220 movs r2, #32 80bf702: 61da str r2, [r3, #28] /* Clear Configuration Register 2 */ SMBUS_RESET_CR2(hsmbus); 80bf704: 687b ldr r3, [r7, #4] 80bf706: 681a ldr r2, [r3, #0] 80bf708: 687b ldr r3, [r7, #4] 80bf70a: 681b ldr r3, [r3, #0] 80bf70c: 6859 ldr r1, [r3, #4] 80bf70e: 4b90 ldr r3, [pc, #576] ; (80bf950 ) 80bf710: 400b ands r3, r1 80bf712: 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); 80bf714: 687b ldr r3, [r7, #4] 80bf716: 681b ldr r3, [r3, #0] 80bf718: 687a ldr r2, [r7, #4] 80bf71a: 6812 ldr r2, [r2, #0] 80bf71c: 6812 ldr r2, [r2, #0] 80bf71e: f022 0201 bic.w r2, r2, #1 80bf722: 601a str r2, [r3, #0] hsmbus->PreviousState = HAL_SMBUS_STATE_READY; 80bf724: 687b ldr r3, [r7, #4] 80bf726: 2201 movs r2, #1 80bf728: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bf72a: 687b ldr r3, [r7, #4] 80bf72c: 2201 movs r2, #1 80bf72e: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bf730: 687b ldr r3, [r7, #4] 80bf732: 2200 movs r2, #0 80bf734: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Re-enable the selected SMBUS peripheral */ __HAL_SMBUS_ENABLE(hsmbus); 80bf738: 687b ldr r3, [r7, #4] 80bf73a: 681b ldr r3, [r3, #0] 80bf73c: 687a ldr r2, [r7, #4] 80bf73e: 6812 ldr r2, [r2, #0] 80bf740: 6812 ldr r2, [r2, #0] 80bf742: f042 0201 orr.w r2, r2, #1 80bf746: 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); 80bf748: 6878 ldr r0, [r7, #4] 80bf74a: f771 fab9 bl 8030cc0 80bf74e: e166 b.n 80bfa1e #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_RX) 80bf750: 687b ldr r3, [r7, #4] 80bf752: 6c9b ldr r3, [r3, #72] ; 0x48 80bf754: 2b22 cmp r3, #34 ; 0x22 80bf756: f040 8162 bne.w 80bfa1e { /* Store Last receive data if any */ if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_RXNE) != RESET) 80bf75a: 683b ldr r3, [r7, #0] 80bf75c: f003 0304 and.w r3, r3, #4 80bf760: 2b00 cmp r3, #0 80bf762: d01c beq.n 80bf79e { /* Read data from RXDR */ *hsmbus->pBuffPtr = (uint8_t)(hsmbus->Instance->RXDR); 80bf764: 687b ldr r3, [r7, #4] 80bf766: 6b5b ldr r3, [r3, #52] ; 0x34 80bf768: 687a ldr r2, [r7, #4] 80bf76a: 6812 ldr r2, [r2, #0] 80bf76c: 6a52 ldr r2, [r2, #36] ; 0x24 80bf76e: b2d2 uxtb r2, r2 80bf770: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80bf772: 687b ldr r3, [r7, #4] 80bf774: 6b5b ldr r3, [r3, #52] ; 0x34 80bf776: 1c5a adds r2, r3, #1 80bf778: 687b ldr r3, [r7, #4] 80bf77a: 635a str r2, [r3, #52] ; 0x34 if ((hsmbus->XferSize > 0U)) 80bf77c: 687b ldr r3, [r7, #4] 80bf77e: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf780: 2b00 cmp r3, #0 80bf782: d00c beq.n 80bf79e { hsmbus->XferSize--; 80bf784: 687b ldr r3, [r7, #4] 80bf786: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf788: 3b01 subs r3, #1 80bf78a: b29a uxth r2, r3 80bf78c: 687b ldr r3, [r7, #4] 80bf78e: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80bf790: 687b ldr r3, [r7, #4] 80bf792: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf794: b29b uxth r3, r3 80bf796: 3b01 subs r3, #1 80bf798: b29a uxth r2, r3 80bf79a: 687b ldr r3, [r7, #4] 80bf79c: 875a strh r2, [r3, #58] ; 0x3a } } /* Disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); 80bf79e: 21d4 movs r1, #212 ; 0xd4 80bf7a0: 6878 ldr r0, [r7, #4] 80bf7a2: f000 fb5e bl 80bfe62 /* Clear STOP Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80bf7a6: 687b ldr r3, [r7, #4] 80bf7a8: 681b ldr r3, [r3, #0] 80bf7aa: 2220 movs r2, #32 80bf7ac: 61da str r2, [r3, #28] /* Clear Configuration Register 2 */ SMBUS_RESET_CR2(hsmbus); 80bf7ae: 687b ldr r3, [r7, #4] 80bf7b0: 681a ldr r2, [r3, #0] 80bf7b2: 687b ldr r3, [r7, #4] 80bf7b4: 681b ldr r3, [r3, #0] 80bf7b6: 6859 ldr r1, [r3, #4] 80bf7b8: 4b65 ldr r3, [pc, #404] ; (80bf950 ) 80bf7ba: 400b ands r3, r1 80bf7bc: 6053 str r3, [r2, #4] hsmbus->PreviousState = HAL_SMBUS_STATE_READY; 80bf7be: 687b ldr r3, [r7, #4] 80bf7c0: 2201 movs r2, #1 80bf7c2: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bf7c4: 687b ldr r3, [r7, #4] 80bf7c6: 2201 movs r2, #1 80bf7c8: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bf7ca: 687b ldr r3, [r7, #4] 80bf7cc: 2200 movs r2, #0 80bf7ce: 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); 80bf7d2: 6878 ldr r0, [r7, #4] 80bf7d4: f771 fa84 bl 8030ce0 80bf7d8: e121 b.n 80bfa1e else { /* Nothing to do */ } } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_RXNE) != RESET) 80bf7da: 683b ldr r3, [r7, #0] 80bf7dc: f003 0304 and.w r3, r3, #4 80bf7e0: 2b00 cmp r3, #0 80bf7e2: d019 beq.n 80bf818 { /* Read data from RXDR */ *hsmbus->pBuffPtr = (uint8_t)(hsmbus->Instance->RXDR); 80bf7e4: 687b ldr r3, [r7, #4] 80bf7e6: 6b5b ldr r3, [r3, #52] ; 0x34 80bf7e8: 687a ldr r2, [r7, #4] 80bf7ea: 6812 ldr r2, [r2, #0] 80bf7ec: 6a52 ldr r2, [r2, #36] ; 0x24 80bf7ee: b2d2 uxtb r2, r2 80bf7f0: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80bf7f2: 687b ldr r3, [r7, #4] 80bf7f4: 6b5b ldr r3, [r3, #52] ; 0x34 80bf7f6: 1c5a adds r2, r3, #1 80bf7f8: 687b ldr r3, [r7, #4] 80bf7fa: 635a str r2, [r3, #52] ; 0x34 /* Increment Size counter */ hsmbus->XferSize--; 80bf7fc: 687b ldr r3, [r7, #4] 80bf7fe: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf800: 3b01 subs r3, #1 80bf802: b29a uxth r2, r3 80bf804: 687b ldr r3, [r7, #4] 80bf806: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80bf808: 687b ldr r3, [r7, #4] 80bf80a: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf80c: b29b uxth r3, r3 80bf80e: 3b01 subs r3, #1 80bf810: b29a uxth r2, r3 80bf812: 687b ldr r3, [r7, #4] 80bf814: 875a strh r2, [r3, #58] ; 0x3a 80bf816: e102 b.n 80bfa1e } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TXIS) != RESET) 80bf818: 683b ldr r3, [r7, #0] 80bf81a: f003 0302 and.w r3, r3, #2 80bf81e: 2b00 cmp r3, #0 80bf820: d018 beq.n 80bf854 { /* Write data to TXDR */ hsmbus->Instance->TXDR = *hsmbus->pBuffPtr; 80bf822: 687b ldr r3, [r7, #4] 80bf824: 681b ldr r3, [r3, #0] 80bf826: 687a ldr r2, [r7, #4] 80bf828: 6b52 ldr r2, [r2, #52] ; 0x34 80bf82a: 7812 ldrb r2, [r2, #0] 80bf82c: 629a str r2, [r3, #40] ; 0x28 /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80bf82e: 687b ldr r3, [r7, #4] 80bf830: 6b5b ldr r3, [r3, #52] ; 0x34 80bf832: 1c5a adds r2, r3, #1 80bf834: 687b ldr r3, [r7, #4] 80bf836: 635a str r2, [r3, #52] ; 0x34 /* Increment Size counter */ hsmbus->XferSize--; 80bf838: 687b ldr r3, [r7, #4] 80bf83a: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf83c: 3b01 subs r3, #1 80bf83e: b29a uxth r2, r3 80bf840: 687b ldr r3, [r7, #4] 80bf842: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80bf844: 687b ldr r3, [r7, #4] 80bf846: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf848: b29b uxth r3, r3 80bf84a: 3b01 subs r3, #1 80bf84c: b29a uxth r2, r3 80bf84e: 687b ldr r3, [r7, #4] 80bf850: 875a strh r2, [r3, #58] ; 0x3a 80bf852: e0e4 b.n 80bfa1e } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TCR) != RESET) 80bf854: 683b ldr r3, [r7, #0] 80bf856: f003 0380 and.w r3, r3, #128 ; 0x80 80bf85a: 2b00 cmp r3, #0 80bf85c: f000 8091 beq.w 80bf982 { if ((hsmbus->XferCount != 0U) && (hsmbus->XferSize == 0U)) 80bf860: 687b ldr r3, [r7, #4] 80bf862: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf864: b29b uxth r3, r3 80bf866: 2b00 cmp r3, #0 80bf868: d048 beq.n 80bf8fc 80bf86a: 687b ldr r3, [r7, #4] 80bf86c: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf86e: 2b00 cmp r3, #0 80bf870: d144 bne.n 80bf8fc { DevAddress = (uint16_t)(hsmbus->Instance->CR2 & I2C_CR2_SADD); 80bf872: 687b ldr r3, [r7, #4] 80bf874: 681b ldr r3, [r3, #0] 80bf876: 685b ldr r3, [r3, #4] 80bf878: b29b uxth r3, r3 80bf87a: f3c3 0309 ubfx r3, r3, #0, #10 80bf87e: 81fb strh r3, [r7, #14] if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80bf880: 687b ldr r3, [r7, #4] 80bf882: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf884: b29b uxth r3, r3 80bf886: 2bff cmp r3, #255 ; 0xff 80bf888: d911 bls.n 80bf8ae { SMBUS_TransferConfig(hsmbus, DevAddress, MAX_NBYTE_SIZE, (SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE)), 80bf88a: 687b ldr r3, [r7, #4] 80bf88c: 6bdb ldr r3, [r3, #60] ; 0x3c 80bf88e: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 SMBUS_TransferConfig(hsmbus, DevAddress, MAX_NBYTE_SIZE, 80bf892: f043 7280 orr.w r2, r3, #16777216 ; 0x1000000 80bf896: 89f9 ldrh r1, [r7, #14] 80bf898: 2300 movs r3, #0 80bf89a: 9300 str r3, [sp, #0] 80bf89c: 4613 mov r3, r2 80bf89e: 22ff movs r2, #255 ; 0xff 80bf8a0: 6878 ldr r0, [r7, #4] 80bf8a2: f000 fc79 bl 80c0198 SMBUS_NO_STARTSTOP); hsmbus->XferSize = MAX_NBYTE_SIZE; 80bf8a6: 687b ldr r3, [r7, #4] 80bf8a8: 22ff movs r2, #255 ; 0xff 80bf8aa: 871a strh r2, [r3, #56] ; 0x38 if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80bf8ac: e0b6 b.n 80bfa1c } else { hsmbus->XferSize = hsmbus->XferCount; 80bf8ae: 687b ldr r3, [r7, #4] 80bf8b0: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf8b2: b29a uxth r2, r3 80bf8b4: 687b ldr r3, [r7, #4] 80bf8b6: 871a strh r2, [r3, #56] ; 0x38 SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, hsmbus->XferOptions, 80bf8b8: 687b ldr r3, [r7, #4] 80bf8ba: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf8bc: b2da uxtb r2, r3 80bf8be: 687b ldr r3, [r7, #4] 80bf8c0: 6bd8 ldr r0, [r3, #60] ; 0x3c 80bf8c2: 89f9 ldrh r1, [r7, #14] 80bf8c4: 2300 movs r3, #0 80bf8c6: 9300 str r3, [sp, #0] 80bf8c8: 4603 mov r3, r0 80bf8ca: 6878 ldr r0, [r7, #4] 80bf8cc: f000 fc64 bl 80c0198 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) 80bf8d0: 687b ldr r3, [r7, #4] 80bf8d2: 681b ldr r3, [r3, #0] 80bf8d4: 685b ldr r3, [r3, #4] 80bf8d6: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80bf8da: 2b00 cmp r3, #0 80bf8dc: f000 809e beq.w 80bfa1c { hsmbus->XferSize--; 80bf8e0: 687b ldr r3, [r7, #4] 80bf8e2: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf8e4: 3b01 subs r3, #1 80bf8e6: b29a uxth r2, r3 80bf8e8: 687b ldr r3, [r7, #4] 80bf8ea: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80bf8ec: 687b ldr r3, [r7, #4] 80bf8ee: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf8f0: b29b uxth r3, r3 80bf8f2: 3b01 subs r3, #1 80bf8f4: b29a uxth r2, r3 80bf8f6: 687b ldr r3, [r7, #4] 80bf8f8: 875a strh r2, [r3, #58] ; 0x3a if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80bf8fa: e08f b.n 80bfa1c } } } else if ((hsmbus->XferCount == 0U) && (hsmbus->XferSize == 0U)) 80bf8fc: 687b ldr r3, [r7, #4] 80bf8fe: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf900: b29b uxth r3, r3 80bf902: 2b00 cmp r3, #0 80bf904: f040 808b bne.w 80bfa1e 80bf908: 687b ldr r3, [r7, #4] 80bf90a: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf90c: 2b00 cmp r3, #0 80bf90e: f040 8086 bne.w 80bfa1e { /* Call TxCpltCallback() if no stop mode is set */ if (SMBUS_GET_STOP_MODE(hsmbus) != SMBUS_AUTOEND_MODE) 80bf912: 687b ldr r3, [r7, #4] 80bf914: 681b ldr r3, [r3, #0] 80bf916: 685b ldr r3, [r3, #4] 80bf918: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bf91c: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 80bf920: d07d beq.n 80bfa1e { /* Call the corresponding callback to inform upper layer of End of Transfer */ if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_TX) 80bf922: 687b ldr r3, [r7, #4] 80bf924: 6c9b ldr r3, [r3, #72] ; 0x48 80bf926: 2b12 cmp r3, #18 80bf928: d114 bne.n 80bf954 { /* Disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); 80bf92a: 21f2 movs r1, #242 ; 0xf2 80bf92c: 6878 ldr r0, [r7, #4] 80bf92e: f000 fa98 bl 80bfe62 hsmbus->PreviousState = hsmbus->State; 80bf932: 687b ldr r3, [r7, #4] 80bf934: 6c9a ldr r2, [r3, #72] ; 0x48 80bf936: 687b ldr r3, [r7, #4] 80bf938: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bf93a: 687b ldr r3, [r7, #4] 80bf93c: 2201 movs r2, #1 80bf93e: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bf940: 687b ldr r3, [r7, #4] 80bf942: 2200 movs r2, #0 80bf944: 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); 80bf948: 6878 ldr r0, [r7, #4] 80bf94a: f771 f9b9 bl 8030cc0 80bf94e: e066 b.n 80bfa1e 80bf950: fe00e800 .word 0xfe00e800 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_RX) 80bf954: 687b ldr r3, [r7, #4] 80bf956: 6c9b ldr r3, [r3, #72] ; 0x48 80bf958: 2b22 cmp r3, #34 ; 0x22 80bf95a: d160 bne.n 80bfa1e { SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); 80bf95c: 21d4 movs r1, #212 ; 0xd4 80bf95e: 6878 ldr r0, [r7, #4] 80bf960: f000 fa7f bl 80bfe62 hsmbus->PreviousState = hsmbus->State; 80bf964: 687b ldr r3, [r7, #4] 80bf966: 6c9a ldr r2, [r3, #72] ; 0x48 80bf968: 687b ldr r3, [r7, #4] 80bf96a: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bf96c: 687b ldr r3, [r7, #4] 80bf96e: 2201 movs r2, #1 80bf970: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bf972: 687b ldr r3, [r7, #4] 80bf974: 2200 movs r2, #0 80bf976: 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); 80bf97a: 6878 ldr r0, [r7, #4] 80bf97c: f771 f9b0 bl 8030ce0 80bf980: e04d b.n 80bfa1e else { /* Nothing to do */ } } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TC) != RESET) 80bf982: 683b ldr r3, [r7, #0] 80bf984: f003 0340 and.w r3, r3, #64 ; 0x40 80bf988: 2b00 cmp r3, #0 80bf98a: d048 beq.n 80bfa1e { if (hsmbus->XferCount == 0U) 80bf98c: 687b ldr r3, [r7, #4] 80bf98e: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf990: b29b uxth r3, r3 80bf992: 2b00 cmp r3, #0 80bf994: d143 bne.n 80bfa1e { /* Specific use case for Quick command */ if (hsmbus->pBuffPtr == NULL) 80bf996: 687b ldr r3, [r7, #4] 80bf998: 6b5b ldr r3, [r3, #52] ; 0x34 80bf99a: 2b00 cmp r3, #0 80bf99c: d108 bne.n 80bf9b0 { /* Generate a Stop command */ hsmbus->Instance->CR2 |= I2C_CR2_STOP; 80bf99e: 687b ldr r3, [r7, #4] 80bf9a0: 681b ldr r3, [r3, #0] 80bf9a2: 687a ldr r2, [r7, #4] 80bf9a4: 6812 ldr r2, [r2, #0] 80bf9a6: 6852 ldr r2, [r2, #4] 80bf9a8: f442 4280 orr.w r2, r2, #16384 ; 0x4000 80bf9ac: 605a str r2, [r3, #4] 80bf9ae: e036 b.n 80bfa1e } /* Call TxCpltCallback() if no stop mode is set */ else if (SMBUS_GET_STOP_MODE(hsmbus) != SMBUS_AUTOEND_MODE) 80bf9b0: 687b ldr r3, [r7, #4] 80bf9b2: 681b ldr r3, [r3, #0] 80bf9b4: 685b ldr r3, [r3, #4] 80bf9b6: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bf9ba: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 80bf9be: d02e beq.n 80bfa1e { /* 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) 80bf9c0: 687b ldr r3, [r7, #4] 80bf9c2: 6c9b ldr r3, [r3, #72] ; 0x48 80bf9c4: 2b12 cmp r3, #18 80bf9c6: d112 bne.n 80bf9ee { /* Disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); 80bf9c8: 21f2 movs r1, #242 ; 0xf2 80bf9ca: 6878 ldr r0, [r7, #4] 80bf9cc: f000 fa49 bl 80bfe62 hsmbus->PreviousState = hsmbus->State; 80bf9d0: 687b ldr r3, [r7, #4] 80bf9d2: 6c9a ldr r2, [r3, #72] ; 0x48 80bf9d4: 687b ldr r3, [r7, #4] 80bf9d6: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bf9d8: 687b ldr r3, [r7, #4] 80bf9da: 2201 movs r2, #1 80bf9dc: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bf9de: 687b ldr r3, [r7, #4] 80bf9e0: 2200 movs r2, #0 80bf9e2: 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); 80bf9e6: 6878 ldr r0, [r7, #4] 80bf9e8: f771 f96a bl 8030cc0 80bf9ec: e017 b.n 80bfa1e #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_RX) 80bf9ee: 687b ldr r3, [r7, #4] 80bf9f0: 6c9b ldr r3, [r3, #72] ; 0x48 80bf9f2: 2b22 cmp r3, #34 ; 0x22 80bf9f4: d113 bne.n 80bfa1e { SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); 80bf9f6: 21d4 movs r1, #212 ; 0xd4 80bf9f8: 6878 ldr r0, [r7, #4] 80bf9fa: f000 fa32 bl 80bfe62 hsmbus->PreviousState = hsmbus->State; 80bf9fe: 687b ldr r3, [r7, #4] 80bfa00: 6c9a ldr r2, [r3, #72] ; 0x48 80bfa02: 687b ldr r3, [r7, #4] 80bfa04: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bfa06: 687b ldr r3, [r7, #4] 80bfa08: 2201 movs r2, #1 80bfa0a: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bfa0c: 687b ldr r3, [r7, #4] 80bfa0e: 2200 movs r2, #0 80bfa10: 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); 80bfa14: 6878 ldr r0, [r7, #4] 80bfa16: f771 f963 bl 8030ce0 80bfa1a: e000 b.n 80bfa1e if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80bfa1c: bf00 nop { /* Nothing to do */ } /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bfa1e: 687b ldr r3, [r7, #4] 80bfa20: 2200 movs r2, #0 80bfa22: f883 2044 strb.w r2, [r3, #68] ; 0x44 return HAL_OK; 80bfa26: 2300 movs r3, #0 } 80bfa28: 4618 mov r0, r3 80bfa2a: 3710 adds r7, #16 80bfa2c: 46bd mov sp, r7 80bfa2e: bd80 pop {r7, pc} 080bfa30 : * 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) { 80bfa30: b580 push {r7, lr} 80bfa32: b086 sub sp, #24 80bfa34: af02 add r7, sp, #8 80bfa36: 6078 str r0, [r7, #4] 80bfa38: 6039 str r1, [r7, #0] uint8_t TransferDirection; uint16_t SlaveAddrCode; /* Process Locked */ __HAL_LOCK(hsmbus); 80bfa3a: 687b ldr r3, [r7, #4] 80bfa3c: f893 3044 ldrb.w r3, [r3, #68] ; 0x44 80bfa40: 2b01 cmp r3, #1 80bfa42: d101 bne.n 80bfa48 80bfa44: 2302 movs r3, #2 80bfa46: e1cc b.n 80bfde2 80bfa48: 687b ldr r3, [r7, #4] 80bfa4a: 2201 movs r2, #1 80bfa4c: f883 2044 strb.w r2, [r3, #68] ; 0x44 if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_AF) != RESET) 80bfa50: 683b ldr r3, [r7, #0] 80bfa52: f003 0310 and.w r3, r3, #16 80bfa56: 2b00 cmp r3, #0 80bfa58: d039 beq.n 80bface { /* 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) 80bfa5a: 687b ldr r3, [r7, #4] 80bfa5c: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bfa5e: b29b uxth r3, r3 80bfa60: 2b00 cmp r3, #0 80bfa62: d10b bne.n 80bfa7c { /* Clear NACK Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_AF); 80bfa64: 687b ldr r3, [r7, #4] 80bfa66: 681b ldr r3, [r3, #0] 80bfa68: 2210 movs r2, #16 80bfa6a: 61da str r2, [r3, #28] /* Flush TX register */ SMBUS_Flush_TXDR(hsmbus); 80bfa6c: 6878 ldr r0, [r7, #4] 80bfa6e: f000 fb6e bl 80c014e /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bfa72: 687b ldr r3, [r7, #4] 80bfa74: 2200 movs r2, #0 80bfa76: f883 2044 strb.w r2, [r3, #68] ; 0x44 80bfa7a: e14d b.n 80bfd18 } 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); 80bfa7c: 687b ldr r3, [r7, #4] 80bfa7e: 681b ldr r3, [r3, #0] 80bfa80: 2210 movs r2, #16 80bfa82: 61da str r2, [r3, #28] /* Set HAL State to "Idle" State, mean to LISTEN state */ /* So reset Slave Busy state */ hsmbus->PreviousState = hsmbus->State; 80bfa84: 687b ldr r3, [r7, #4] 80bfa86: 6c9a ldr r2, [r3, #72] ; 0x48 80bfa88: 687b ldr r3, [r7, #4] 80bfa8a: 641a str r2, [r3, #64] ; 0x40 hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_TX); 80bfa8c: 687b ldr r3, [r7, #4] 80bfa8e: 6c9b ldr r3, [r3, #72] ; 0x48 80bfa90: f023 0232 bic.w r2, r3, #50 ; 0x32 80bfa94: 687b ldr r3, [r7, #4] 80bfa96: 649a str r2, [r3, #72] ; 0x48 hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_RX); 80bfa98: 687b ldr r3, [r7, #4] 80bfa9a: 6c9b ldr r3, [r3, #72] ; 0x48 80bfa9c: f023 0242 bic.w r2, r3, #66 ; 0x42 80bfaa0: 687b ldr r3, [r7, #4] 80bfaa2: 649a str r2, [r3, #72] ; 0x48 /* Disable RX/TX Interrupts, keep only ADDR Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX | SMBUS_IT_TX); 80bfaa4: 21f6 movs r1, #246 ; 0xf6 80bfaa6: 6878 ldr r0, [r7, #4] 80bfaa8: f000 f9db bl 80bfe62 /* Set ErrorCode corresponding to a Non-Acknowledge */ hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ACKF; 80bfaac: 687b ldr r3, [r7, #4] 80bfaae: 6cdb ldr r3, [r3, #76] ; 0x4c 80bfab0: f043 0204 orr.w r2, r3, #4 80bfab4: 687b ldr r3, [r7, #4] 80bfab6: 64da str r2, [r3, #76] ; 0x4c /* Flush TX register */ SMBUS_Flush_TXDR(hsmbus); 80bfab8: 6878 ldr r0, [r7, #4] 80bfaba: f000 fb48 bl 80c014e /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bfabe: 687b ldr r3, [r7, #4] 80bfac0: 2200 movs r2, #0 80bfac2: 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); 80bfac6: 6878 ldr r0, [r7, #4] 80bfac8: f7ff fdd3 bl 80bf672 80bfacc: e124 b.n 80bfd18 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_ADDR) != RESET) 80bface: 683b ldr r3, [r7, #0] 80bfad0: f003 0308 and.w r3, r3, #8 80bfad4: 2b00 cmp r3, #0 80bfad6: d022 beq.n 80bfb1e { TransferDirection = (uint8_t)(SMBUS_GET_DIR(hsmbus)); 80bfad8: 687b ldr r3, [r7, #4] 80bfada: 681b ldr r3, [r3, #0] 80bfadc: 699b ldr r3, [r3, #24] 80bfade: 0c1b lsrs r3, r3, #16 80bfae0: b2db uxtb r3, r3 80bfae2: f003 0301 and.w r3, r3, #1 80bfae6: 73fb strb r3, [r7, #15] SlaveAddrCode = (uint16_t)(SMBUS_GET_ADDR_MATCH(hsmbus)); 80bfae8: 687b ldr r3, [r7, #4] 80bfaea: 681b ldr r3, [r3, #0] 80bfaec: 699b ldr r3, [r3, #24] 80bfaee: 0c5b lsrs r3, r3, #17 80bfaf0: b29b uxth r3, r3 80bfaf2: f003 037f and.w r3, r3, #127 ; 0x7f 80bfaf6: 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); 80bfaf8: 687b ldr r3, [r7, #4] 80bfafa: 681b ldr r3, [r3, #0] 80bfafc: 687a ldr r2, [r7, #4] 80bfafe: 6812 ldr r2, [r2, #0] 80bfb00: 6812 ldr r2, [r2, #0] 80bfb02: f022 0208 bic.w r2, r2, #8 80bfb06: 601a str r2, [r3, #0] /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bfb08: 687b ldr r3, [r7, #4] 80bfb0a: 2200 movs r2, #0 80bfb0c: 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); 80bfb10: 89ba ldrh r2, [r7, #12] 80bfb12: 7bfb ldrb r3, [r7, #15] 80bfb14: 4619 mov r1, r3 80bfb16: 6878 ldr r0, [r7, #4] 80bfb18: f7ff fd93 bl 80bf642 80bfb1c: e0fc b.n 80bfd18 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if ((SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_RXNE) != RESET) || 80bfb1e: 683b ldr r3, [r7, #0] 80bfb20: f003 0304 and.w r3, r3, #4 80bfb24: 2b00 cmp r3, #0 80bfb26: d105 bne.n 80bfb34 (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TCR) != RESET)) 80bfb28: 683b ldr r3, [r7, #0] 80bfb2a: f003 0380 and.w r3, r3, #128 ; 0x80 else if ((SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_RXNE) != RESET) || 80bfb2e: 2b00 cmp r3, #0 80bfb30: f000 80b4 beq.w 80bfc9c { if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bfb34: 687b ldr r3, [r7, #4] 80bfb36: 6c9b ldr r3, [r3, #72] ; 0x48 80bfb38: f003 0342 and.w r3, r3, #66 ; 0x42 80bfb3c: 2b42 cmp r3, #66 ; 0x42 80bfb3e: d160 bne.n 80bfc02 { /* Read data from RXDR */ *hsmbus->pBuffPtr = (uint8_t)(hsmbus->Instance->RXDR); 80bfb40: 687b ldr r3, [r7, #4] 80bfb42: 6b5b ldr r3, [r3, #52] ; 0x34 80bfb44: 687a ldr r2, [r7, #4] 80bfb46: 6812 ldr r2, [r2, #0] 80bfb48: 6a52 ldr r2, [r2, #36] ; 0x24 80bfb4a: b2d2 uxtb r2, r2 80bfb4c: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80bfb4e: 687b ldr r3, [r7, #4] 80bfb50: 6b5b ldr r3, [r3, #52] ; 0x34 80bfb52: 1c5a adds r2, r3, #1 80bfb54: 687b ldr r3, [r7, #4] 80bfb56: 635a str r2, [r3, #52] ; 0x34 hsmbus->XferSize--; 80bfb58: 687b ldr r3, [r7, #4] 80bfb5a: 8f1b ldrh r3, [r3, #56] ; 0x38 80bfb5c: 3b01 subs r3, #1 80bfb5e: b29a uxth r2, r3 80bfb60: 687b ldr r3, [r7, #4] 80bfb62: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80bfb64: 687b ldr r3, [r7, #4] 80bfb66: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bfb68: b29b uxth r3, r3 80bfb6a: 3b01 subs r3, #1 80bfb6c: b29a uxth r2, r3 80bfb6e: 687b ldr r3, [r7, #4] 80bfb70: 875a strh r2, [r3, #58] ; 0x3a if (hsmbus->XferCount == 1U) 80bfb72: 687b ldr r3, [r7, #4] 80bfb74: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bfb76: b29b uxth r3, r3 80bfb78: 2b01 cmp r3, #1 80bfb7a: d110 bne.n 80bfb9e { /* 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; 80bfb7c: 687b ldr r3, [r7, #4] 80bfb7e: 6bdb ldr r3, [r3, #60] ; 0x3c 80bfb80: f023 7280 bic.w r2, r3, #16777216 ; 0x1000000 80bfb84: 687b ldr r3, [r7, #4] 80bfb86: 63da str r2, [r3, #60] ; 0x3c SMBUS_TransferConfig(hsmbus, 0, 1, hsmbus->XferOptions, SMBUS_NO_STARTSTOP); 80bfb88: 687b ldr r3, [r7, #4] 80bfb8a: 6bda ldr r2, [r3, #60] ; 0x3c 80bfb8c: 2300 movs r3, #0 80bfb8e: 9300 str r3, [sp, #0] 80bfb90: 4613 mov r3, r2 80bfb92: 2201 movs r2, #1 80bfb94: 2100 movs r1, #0 80bfb96: 6878 ldr r0, [r7, #4] 80bfb98: f000 fafe bl 80c0198 if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bfb9c: e0bb b.n 80bfd16 } else if (hsmbus->XferCount == 0U) 80bfb9e: 687b ldr r3, [r7, #4] 80bfba0: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bfba2: b29b uxth r3, r3 80bfba4: 2b00 cmp r3, #0 80bfba6: d115 bne.n 80bfbd4 { /* Last Byte is received, disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); 80bfba8: 21d4 movs r1, #212 ; 0xd4 80bfbaa: 6878 ldr r0, [r7, #4] 80bfbac: f000 f959 bl 80bfe62 /* Remove HAL_SMBUS_STATE_SLAVE_BUSY_RX, keep only HAL_SMBUS_STATE_LISTEN */ hsmbus->PreviousState = hsmbus->State; 80bfbb0: 687b ldr r3, [r7, #4] 80bfbb2: 6c9a ldr r2, [r3, #72] ; 0x48 80bfbb4: 687b ldr r3, [r7, #4] 80bfbb6: 641a str r2, [r3, #64] ; 0x40 hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_RX); 80bfbb8: 687b ldr r3, [r7, #4] 80bfbba: 6c9b ldr r3, [r3, #72] ; 0x48 80bfbbc: f023 0242 bic.w r2, r3, #66 ; 0x42 80bfbc0: 687b ldr r3, [r7, #4] 80bfbc2: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bfbc4: 687b ldr r3, [r7, #4] 80bfbc6: 2200 movs r2, #0 80bfbc8: 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); 80bfbcc: 6878 ldr r0, [r7, #4] 80bfbce: f7ff fd2e bl 80bf62e if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bfbd2: e0a0 b.n 80bfd16 } else { /* Set Reload for next Bytes */ SMBUS_TransferConfig(hsmbus, 0, 1, SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE), 80bfbd4: 687b ldr r3, [r7, #4] 80bfbd6: 6bdb ldr r3, [r3, #60] ; 0x3c 80bfbd8: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 SMBUS_TransferConfig(hsmbus, 0, 1, 80bfbdc: f043 7280 orr.w r2, r3, #16777216 ; 0x1000000 80bfbe0: 2300 movs r3, #0 80bfbe2: 9300 str r3, [sp, #0] 80bfbe4: 4613 mov r3, r2 80bfbe6: 2201 movs r2, #1 80bfbe8: 2100 movs r1, #0 80bfbea: 6878 ldr r0, [r7, #4] 80bfbec: f000 fad4 bl 80c0198 SMBUS_NO_STARTSTOP); /* Ack last Byte Read */ hsmbus->Instance->CR2 &= ~I2C_CR2_NACK; 80bfbf0: 687b ldr r3, [r7, #4] 80bfbf2: 681b ldr r3, [r3, #0] 80bfbf4: 687a ldr r2, [r7, #4] 80bfbf6: 6812 ldr r2, [r2, #0] 80bfbf8: 6852 ldr r2, [r2, #4] 80bfbfa: f422 4200 bic.w r2, r2, #32768 ; 0x8000 80bfbfe: 605a str r2, [r3, #4] if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bfc00: e089 b.n 80bfd16 } } else if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_TX) == HAL_SMBUS_STATE_SLAVE_BUSY_TX) 80bfc02: 687b ldr r3, [r7, #4] 80bfc04: 6c9b ldr r3, [r3, #72] ; 0x48 80bfc06: f003 0332 and.w r3, r3, #50 ; 0x32 80bfc0a: 2b32 cmp r3, #50 ; 0x32 80bfc0c: f040 8083 bne.w 80bfd16 { if ((hsmbus->XferCount != 0U) && (hsmbus->XferSize == 0U)) 80bfc10: 687b ldr r3, [r7, #4] 80bfc12: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bfc14: b29b uxth r3, r3 80bfc16: 2b00 cmp r3, #0 80bfc18: d07d beq.n 80bfd16 80bfc1a: 687b ldr r3, [r7, #4] 80bfc1c: 8f1b ldrh r3, [r3, #56] ; 0x38 80bfc1e: 2b00 cmp r3, #0 80bfc20: d179 bne.n 80bfd16 { if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80bfc22: 687b ldr r3, [r7, #4] 80bfc24: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bfc26: b29b uxth r3, r3 80bfc28: 2bff cmp r3, #255 ; 0xff 80bfc2a: d911 bls.n 80bfc50 { SMBUS_TransferConfig(hsmbus, 0, MAX_NBYTE_SIZE, (SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE)), 80bfc2c: 687b ldr r3, [r7, #4] 80bfc2e: 6bdb ldr r3, [r3, #60] ; 0x3c 80bfc30: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 SMBUS_TransferConfig(hsmbus, 0, MAX_NBYTE_SIZE, 80bfc34: f043 7280 orr.w r2, r3, #16777216 ; 0x1000000 80bfc38: 2300 movs r3, #0 80bfc3a: 9300 str r3, [sp, #0] 80bfc3c: 4613 mov r3, r2 80bfc3e: 22ff movs r2, #255 ; 0xff 80bfc40: 2100 movs r1, #0 80bfc42: 6878 ldr r0, [r7, #4] 80bfc44: f000 faa8 bl 80c0198 SMBUS_NO_STARTSTOP); hsmbus->XferSize = MAX_NBYTE_SIZE; 80bfc48: 687b ldr r3, [r7, #4] 80bfc4a: 22ff movs r2, #255 ; 0xff 80bfc4c: 871a strh r2, [r3, #56] ; 0x38 if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bfc4e: e062 b.n 80bfd16 } else { hsmbus->XferSize = hsmbus->XferCount; 80bfc50: 687b ldr r3, [r7, #4] 80bfc52: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bfc54: b29a uxth r2, r3 80bfc56: 687b ldr r3, [r7, #4] 80bfc58: 871a strh r2, [r3, #56] ; 0x38 SMBUS_TransferConfig(hsmbus, 0, (uint8_t)hsmbus->XferSize, hsmbus->XferOptions, 80bfc5a: 687b ldr r3, [r7, #4] 80bfc5c: 8f1b ldrh r3, [r3, #56] ; 0x38 80bfc5e: b2da uxtb r2, r3 80bfc60: 687b ldr r3, [r7, #4] 80bfc62: 6bd9 ldr r1, [r3, #60] ; 0x3c 80bfc64: 2300 movs r3, #0 80bfc66: 9300 str r3, [sp, #0] 80bfc68: 460b mov r3, r1 80bfc6a: 2100 movs r1, #0 80bfc6c: 6878 ldr r0, [r7, #4] 80bfc6e: f000 fa93 bl 80c0198 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) 80bfc72: 687b ldr r3, [r7, #4] 80bfc74: 681b ldr r3, [r3, #0] 80bfc76: 685b ldr r3, [r3, #4] 80bfc78: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80bfc7c: 2b00 cmp r3, #0 80bfc7e: d04a beq.n 80bfd16 { hsmbus->XferSize--; 80bfc80: 687b ldr r3, [r7, #4] 80bfc82: 8f1b ldrh r3, [r3, #56] ; 0x38 80bfc84: 3b01 subs r3, #1 80bfc86: b29a uxth r2, r3 80bfc88: 687b ldr r3, [r7, #4] 80bfc8a: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80bfc8c: 687b ldr r3, [r7, #4] 80bfc8e: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bfc90: b29b uxth r3, r3 80bfc92: 3b01 subs r3, #1 80bfc94: b29a uxth r2, r3 80bfc96: 687b ldr r3, [r7, #4] 80bfc98: 875a strh r2, [r3, #58] ; 0x3a if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bfc9a: e03c b.n 80bfd16 else { /* Nothing to do */ } } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TXIS) != RESET) 80bfc9c: 683b ldr r3, [r7, #0] 80bfc9e: f003 0302 and.w r3, r3, #2 80bfca2: 2b00 cmp r3, #0 80bfca4: d038 beq.n 80bfd18 { /* 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) 80bfca6: 687b ldr r3, [r7, #4] 80bfca8: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bfcaa: b29b uxth r3, r3 80bfcac: 2b00 cmp r3, #0 80bfcae: d017 beq.n 80bfce0 { /* Write data to TXDR */ hsmbus->Instance->TXDR = *hsmbus->pBuffPtr; 80bfcb0: 687b ldr r3, [r7, #4] 80bfcb2: 681b ldr r3, [r3, #0] 80bfcb4: 687a ldr r2, [r7, #4] 80bfcb6: 6b52 ldr r2, [r2, #52] ; 0x34 80bfcb8: 7812 ldrb r2, [r2, #0] 80bfcba: 629a str r2, [r3, #40] ; 0x28 /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80bfcbc: 687b ldr r3, [r7, #4] 80bfcbe: 6b5b ldr r3, [r3, #52] ; 0x34 80bfcc0: 1c5a adds r2, r3, #1 80bfcc2: 687b ldr r3, [r7, #4] 80bfcc4: 635a str r2, [r3, #52] ; 0x34 hsmbus->XferCount--; 80bfcc6: 687b ldr r3, [r7, #4] 80bfcc8: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bfcca: b29b uxth r3, r3 80bfccc: 3b01 subs r3, #1 80bfcce: b29a uxth r2, r3 80bfcd0: 687b ldr r3, [r7, #4] 80bfcd2: 875a strh r2, [r3, #58] ; 0x3a hsmbus->XferSize--; 80bfcd4: 687b ldr r3, [r7, #4] 80bfcd6: 8f1b ldrh r3, [r3, #56] ; 0x38 80bfcd8: 3b01 subs r3, #1 80bfcda: b29a uxth r2, r3 80bfcdc: 687b ldr r3, [r7, #4] 80bfcde: 871a strh r2, [r3, #56] ; 0x38 } if (hsmbus->XferCount == 0U) 80bfce0: 687b ldr r3, [r7, #4] 80bfce2: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bfce4: b29b uxth r3, r3 80bfce6: 2b00 cmp r3, #0 80bfce8: d116 bne.n 80bfd18 { /* Last Byte is Transmitted */ /* Remove HAL_SMBUS_STATE_SLAVE_BUSY_TX, keep only HAL_SMBUS_STATE_LISTEN */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); 80bfcea: 21f2 movs r1, #242 ; 0xf2 80bfcec: 6878 ldr r0, [r7, #4] 80bfcee: f000 f8b8 bl 80bfe62 hsmbus->PreviousState = hsmbus->State; 80bfcf2: 687b ldr r3, [r7, #4] 80bfcf4: 6c9a ldr r2, [r3, #72] ; 0x48 80bfcf6: 687b ldr r3, [r7, #4] 80bfcf8: 641a str r2, [r3, #64] ; 0x40 hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_TX); 80bfcfa: 687b ldr r3, [r7, #4] 80bfcfc: 6c9b ldr r3, [r3, #72] ; 0x48 80bfcfe: f023 0232 bic.w r2, r3, #50 ; 0x32 80bfd02: 687b ldr r3, [r7, #4] 80bfd04: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bfd06: 687b ldr r3, [r7, #4] 80bfd08: 2200 movs r2, #0 80bfd0a: 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); 80bfd0e: 6878 ldr r0, [r7, #4] 80bfd10: f7ff fc83 bl 80bf61a 80bfd14: e000 b.n 80bfd18 if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bfd16: bf00 nop { /* Nothing to do */ } /* Check if STOPF is set */ if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_STOPF) != RESET) 80bfd18: 683b ldr r3, [r7, #0] 80bfd1a: f003 0320 and.w r3, r3, #32 80bfd1e: 2b00 cmp r3, #0 80bfd20: d05a beq.n 80bfdd8 { if ((hsmbus->State & HAL_SMBUS_STATE_LISTEN) == HAL_SMBUS_STATE_LISTEN) 80bfd22: 687b ldr r3, [r7, #4] 80bfd24: 6c9b ldr r3, [r3, #72] ; 0x48 80bfd26: f003 0308 and.w r3, r3, #8 80bfd2a: 2b08 cmp r3, #8 80bfd2c: d154 bne.n 80bfdd8 { /* Store Last receive data if any */ if (__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_RXNE) != RESET) 80bfd2e: 687b ldr r3, [r7, #4] 80bfd30: 681b ldr r3, [r3, #0] 80bfd32: 699b ldr r3, [r3, #24] 80bfd34: f003 0304 and.w r3, r3, #4 80bfd38: 2b04 cmp r3, #4 80bfd3a: d11c bne.n 80bfd76 { /* Read data from RXDR */ *hsmbus->pBuffPtr = (uint8_t)(hsmbus->Instance->RXDR); 80bfd3c: 687b ldr r3, [r7, #4] 80bfd3e: 6b5b ldr r3, [r3, #52] ; 0x34 80bfd40: 687a ldr r2, [r7, #4] 80bfd42: 6812 ldr r2, [r2, #0] 80bfd44: 6a52 ldr r2, [r2, #36] ; 0x24 80bfd46: b2d2 uxtb r2, r2 80bfd48: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80bfd4a: 687b ldr r3, [r7, #4] 80bfd4c: 6b5b ldr r3, [r3, #52] ; 0x34 80bfd4e: 1c5a adds r2, r3, #1 80bfd50: 687b ldr r3, [r7, #4] 80bfd52: 635a str r2, [r3, #52] ; 0x34 if ((hsmbus->XferSize > 0U)) 80bfd54: 687b ldr r3, [r7, #4] 80bfd56: 8f1b ldrh r3, [r3, #56] ; 0x38 80bfd58: 2b00 cmp r3, #0 80bfd5a: d00c beq.n 80bfd76 { hsmbus->XferSize--; 80bfd5c: 687b ldr r3, [r7, #4] 80bfd5e: 8f1b ldrh r3, [r3, #56] ; 0x38 80bfd60: 3b01 subs r3, #1 80bfd62: b29a uxth r2, r3 80bfd64: 687b ldr r3, [r7, #4] 80bfd66: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80bfd68: 687b ldr r3, [r7, #4] 80bfd6a: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bfd6c: b29b uxth r3, r3 80bfd6e: 3b01 subs r3, #1 80bfd70: b29a uxth r2, r3 80bfd72: 687b ldr r3, [r7, #4] 80bfd74: 875a strh r2, [r3, #58] ; 0x3a } } /* Disable RX and TX Interrupts */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX | SMBUS_IT_TX); 80bfd76: 21f6 movs r1, #246 ; 0xf6 80bfd78: 6878 ldr r0, [r7, #4] 80bfd7a: f000 f872 bl 80bfe62 /* Disable ADDR Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_ADDR); 80bfd7e: 2138 movs r1, #56 ; 0x38 80bfd80: 6878 ldr r0, [r7, #4] 80bfd82: f000 f86e bl 80bfe62 /* Disable Address Acknowledge */ hsmbus->Instance->CR2 |= I2C_CR2_NACK; 80bfd86: 687b ldr r3, [r7, #4] 80bfd88: 681b ldr r3, [r3, #0] 80bfd8a: 687a ldr r2, [r7, #4] 80bfd8c: 6812 ldr r2, [r2, #0] 80bfd8e: 6852 ldr r2, [r2, #4] 80bfd90: f442 4200 orr.w r2, r2, #32768 ; 0x8000 80bfd94: 605a str r2, [r3, #4] /* Clear Configuration Register 2 */ SMBUS_RESET_CR2(hsmbus); 80bfd96: 687b ldr r3, [r7, #4] 80bfd98: 681a ldr r2, [r3, #0] 80bfd9a: 687b ldr r3, [r7, #4] 80bfd9c: 681b ldr r3, [r3, #0] 80bfd9e: 6859 ldr r1, [r3, #4] 80bfda0: 4b12 ldr r3, [pc, #72] ; (80bfdec ) 80bfda2: 400b ands r3, r1 80bfda4: 6053 str r3, [r2, #4] /* Clear STOP Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80bfda6: 687b ldr r3, [r7, #4] 80bfda8: 681b ldr r3, [r3, #0] 80bfdaa: 2220 movs r2, #32 80bfdac: 61da str r2, [r3, #28] /* Clear ADDR flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_ADDR); 80bfdae: 687b ldr r3, [r7, #4] 80bfdb0: 681b ldr r3, [r3, #0] 80bfdb2: 2208 movs r2, #8 80bfdb4: 61da str r2, [r3, #28] hsmbus->XferOptions = 0; 80bfdb6: 687b ldr r3, [r7, #4] 80bfdb8: 2200 movs r2, #0 80bfdba: 63da str r2, [r3, #60] ; 0x3c hsmbus->PreviousState = hsmbus->State; 80bfdbc: 687b ldr r3, [r7, #4] 80bfdbe: 6c9a ldr r2, [r3, #72] ; 0x48 80bfdc0: 687b ldr r3, [r7, #4] 80bfdc2: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bfdc4: 687b ldr r3, [r7, #4] 80bfdc6: 2201 movs r2, #1 80bfdc8: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bfdca: 687b ldr r3, [r7, #4] 80bfdcc: 2200 movs r2, #0 80bfdce: 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); 80bfdd2: 6878 ldr r0, [r7, #4] 80bfdd4: f7ff fc43 bl 80bf65e #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } } /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bfdd8: 687b ldr r3, [r7, #4] 80bfdda: 2200 movs r2, #0 80bfddc: f883 2044 strb.w r2, [r3, #68] ; 0x44 return HAL_OK; 80bfde0: 2300 movs r3, #0 } 80bfde2: 4618 mov r0, r3 80bfde4: 3710 adds r7, #16 80bfde6: 46bd mov sp, r7 80bfde8: bd80 pop {r7, pc} 80bfdea: bf00 nop 80bfdec: fe00e800 .word 0xfe00e800 080bfdf0 : * the configuration information for the specified SMBUS. * @param InterruptRequest Value of @ref SMBUS_Interrupt_configuration_definition. * @retval HAL status */ static void SMBUS_Enable_IRQ(SMBUS_HandleTypeDef *hsmbus, uint32_t InterruptRequest) { 80bfdf0: b480 push {r7} 80bfdf2: b085 sub sp, #20 80bfdf4: af00 add r7, sp, #0 80bfdf6: 6078 str r0, [r7, #4] 80bfdf8: 6039 str r1, [r7, #0] uint32_t tmpisr = 0UL; 80bfdfa: 2300 movs r3, #0 80bfdfc: 60fb str r3, [r7, #12] if ((InterruptRequest & SMBUS_IT_ALERT) == SMBUS_IT_ALERT) 80bfdfe: 683b ldr r3, [r7, #0] 80bfe00: f003 0380 and.w r3, r3, #128 ; 0x80 80bfe04: 2b00 cmp r3, #0 80bfe06: d003 beq.n 80bfe10 { /* Enable ERR interrupt */ tmpisr |= SMBUS_IT_ERRI; 80bfe08: 68fb ldr r3, [r7, #12] 80bfe0a: f043 0380 orr.w r3, r3, #128 ; 0x80 80bfe0e: 60fb str r3, [r7, #12] } if ((InterruptRequest & SMBUS_IT_ADDR) == SMBUS_IT_ADDR) 80bfe10: 683b ldr r3, [r7, #0] 80bfe12: f003 0338 and.w r3, r3, #56 ; 0x38 80bfe16: 2b38 cmp r3, #56 ; 0x38 80bfe18: d103 bne.n 80bfe22 { /* Enable ADDR, STOP interrupt */ tmpisr |= SMBUS_IT_ADDRI | SMBUS_IT_STOPI | SMBUS_IT_NACKI | SMBUS_IT_ERRI; 80bfe1a: 68fb ldr r3, [r7, #12] 80bfe1c: f043 03b8 orr.w r3, r3, #184 ; 0xb8 80bfe20: 60fb str r3, [r7, #12] } if ((InterruptRequest & SMBUS_IT_TX) == SMBUS_IT_TX) 80bfe22: 683b ldr r3, [r7, #0] 80bfe24: f003 03f2 and.w r3, r3, #242 ; 0xf2 80bfe28: 2bf2 cmp r3, #242 ; 0xf2 80bfe2a: d103 bne.n 80bfe34 { /* Enable ERR, TC, STOP, NACK, RXI interrupt */ tmpisr |= SMBUS_IT_ERRI | SMBUS_IT_TCI | SMBUS_IT_STOPI | SMBUS_IT_NACKI | SMBUS_IT_TXI; 80bfe2c: 68fb ldr r3, [r7, #12] 80bfe2e: f043 03f2 orr.w r3, r3, #242 ; 0xf2 80bfe32: 60fb str r3, [r7, #12] } if ((InterruptRequest & SMBUS_IT_RX) == SMBUS_IT_RX) 80bfe34: 683b ldr r3, [r7, #0] 80bfe36: f003 03d4 and.w r3, r3, #212 ; 0xd4 80bfe3a: 2bd4 cmp r3, #212 ; 0xd4 80bfe3c: d103 bne.n 80bfe46 { /* Enable ERR, TC, STOP, NACK, TXI interrupt */ tmpisr |= SMBUS_IT_ERRI | SMBUS_IT_TCI | SMBUS_IT_STOPI | SMBUS_IT_NACKI | SMBUS_IT_RXI; 80bfe3e: 68fb ldr r3, [r7, #12] 80bfe40: f043 03f4 orr.w r3, r3, #244 ; 0xf4 80bfe44: 60fb str r3, [r7, #12] } /* Enable interrupts only at the end */ /* to avoid the risk of SMBUS interrupt handle execution before */ /* all interrupts requested done */ __HAL_SMBUS_ENABLE_IT(hsmbus, tmpisr); 80bfe46: 687b ldr r3, [r7, #4] 80bfe48: 681b ldr r3, [r3, #0] 80bfe4a: 687a ldr r2, [r7, #4] 80bfe4c: 6812 ldr r2, [r2, #0] 80bfe4e: 6811 ldr r1, [r2, #0] 80bfe50: 68fa ldr r2, [r7, #12] 80bfe52: 430a orrs r2, r1 80bfe54: 601a str r2, [r3, #0] } 80bfe56: bf00 nop 80bfe58: 3714 adds r7, #20 80bfe5a: 46bd mov sp, r7 80bfe5c: f85d 7b04 ldr.w r7, [sp], #4 80bfe60: 4770 bx lr 080bfe62 : * 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) { 80bfe62: b480 push {r7} 80bfe64: b085 sub sp, #20 80bfe66: af00 add r7, sp, #0 80bfe68: 6078 str r0, [r7, #4] 80bfe6a: 6039 str r1, [r7, #0] uint32_t tmpisr = 0UL; 80bfe6c: 2300 movs r3, #0 80bfe6e: 60fb str r3, [r7, #12] uint32_t tmpstate = hsmbus->State; 80bfe70: 687b ldr r3, [r7, #4] 80bfe72: 6c9b ldr r3, [r3, #72] ; 0x48 80bfe74: 60bb str r3, [r7, #8] if ((tmpstate == HAL_SMBUS_STATE_READY) && ((InterruptRequest & SMBUS_IT_ALERT) == SMBUS_IT_ALERT)) 80bfe76: 68bb ldr r3, [r7, #8] 80bfe78: 2b01 cmp r3, #1 80bfe7a: d108 bne.n 80bfe8e 80bfe7c: 683b ldr r3, [r7, #0] 80bfe7e: f003 0380 and.w r3, r3, #128 ; 0x80 80bfe82: 2b00 cmp r3, #0 80bfe84: d003 beq.n 80bfe8e { /* Disable ERR interrupt */ tmpisr |= SMBUS_IT_ERRI; 80bfe86: 68fb ldr r3, [r7, #12] 80bfe88: f043 0380 orr.w r3, r3, #128 ; 0x80 80bfe8c: 60fb str r3, [r7, #12] } if ((InterruptRequest & SMBUS_IT_TX) == SMBUS_IT_TX) 80bfe8e: 683b ldr r3, [r7, #0] 80bfe90: f003 03f2 and.w r3, r3, #242 ; 0xf2 80bfe94: 2bf2 cmp r3, #242 ; 0xf2 80bfe96: d11c bne.n 80bfed2 { /* Disable TC, STOP, NACK and TXI interrupt */ tmpisr |= SMBUS_IT_TCI | SMBUS_IT_TXI; 80bfe98: 68fb ldr r3, [r7, #12] 80bfe9a: f043 0342 orr.w r3, r3, #66 ; 0x42 80bfe9e: 60fb str r3, [r7, #12] if ((SMBUS_GET_ALERT_ENABLED(hsmbus) == 0UL) 80bfea0: 687b ldr r3, [r7, #4] 80bfea2: 681b ldr r3, [r3, #0] 80bfea4: 681b ldr r3, [r3, #0] 80bfea6: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bfeaa: 2b00 cmp r3, #0 80bfeac: d108 bne.n 80bfec0 && ((tmpstate & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN)) 80bfeae: 68bb ldr r3, [r7, #8] 80bfeb0: f003 0308 and.w r3, r3, #8 80bfeb4: 2b00 cmp r3, #0 80bfeb6: d103 bne.n 80bfec0 { /* Disable ERR interrupt */ tmpisr |= SMBUS_IT_ERRI; 80bfeb8: 68fb ldr r3, [r7, #12] 80bfeba: f043 0380 orr.w r3, r3, #128 ; 0x80 80bfebe: 60fb str r3, [r7, #12] } if ((tmpstate & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN) 80bfec0: 68bb ldr r3, [r7, #8] 80bfec2: f003 0308 and.w r3, r3, #8 80bfec6: 2b00 cmp r3, #0 80bfec8: d103 bne.n 80bfed2 { /* Disable STOP and NACK interrupt */ tmpisr |= SMBUS_IT_STOPI | SMBUS_IT_NACKI; 80bfeca: 68fb ldr r3, [r7, #12] 80bfecc: f043 0330 orr.w r3, r3, #48 ; 0x30 80bfed0: 60fb str r3, [r7, #12] } } if ((InterruptRequest & SMBUS_IT_RX) == SMBUS_IT_RX) 80bfed2: 683b ldr r3, [r7, #0] 80bfed4: f003 03d4 and.w r3, r3, #212 ; 0xd4 80bfed8: 2bd4 cmp r3, #212 ; 0xd4 80bfeda: d11c bne.n 80bff16 { /* Disable TC, STOP, NACK and RXI interrupt */ tmpisr |= SMBUS_IT_TCI | SMBUS_IT_RXI; 80bfedc: 68fb ldr r3, [r7, #12] 80bfede: f043 0344 orr.w r3, r3, #68 ; 0x44 80bfee2: 60fb str r3, [r7, #12] if ((SMBUS_GET_ALERT_ENABLED(hsmbus) == 0UL) 80bfee4: 687b ldr r3, [r7, #4] 80bfee6: 681b ldr r3, [r3, #0] 80bfee8: 681b ldr r3, [r3, #0] 80bfeea: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bfeee: 2b00 cmp r3, #0 80bfef0: d108 bne.n 80bff04 && ((tmpstate & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN)) 80bfef2: 68bb ldr r3, [r7, #8] 80bfef4: f003 0308 and.w r3, r3, #8 80bfef8: 2b00 cmp r3, #0 80bfefa: d103 bne.n 80bff04 { /* Disable ERR interrupt */ tmpisr |= SMBUS_IT_ERRI; 80bfefc: 68fb ldr r3, [r7, #12] 80bfefe: f043 0380 orr.w r3, r3, #128 ; 0x80 80bff02: 60fb str r3, [r7, #12] } if ((tmpstate & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN) 80bff04: 68bb ldr r3, [r7, #8] 80bff06: f003 0308 and.w r3, r3, #8 80bff0a: 2b00 cmp r3, #0 80bff0c: d103 bne.n 80bff16 { /* Disable STOP and NACK interrupt */ tmpisr |= SMBUS_IT_STOPI | SMBUS_IT_NACKI; 80bff0e: 68fb ldr r3, [r7, #12] 80bff10: f043 0330 orr.w r3, r3, #48 ; 0x30 80bff14: 60fb str r3, [r7, #12] } } if ((InterruptRequest & SMBUS_IT_ADDR) == SMBUS_IT_ADDR) 80bff16: 683b ldr r3, [r7, #0] 80bff18: f003 0338 and.w r3, r3, #56 ; 0x38 80bff1c: 2b38 cmp r3, #56 ; 0x38 80bff1e: d10e bne.n 80bff3e { /* Disable ADDR, STOP and NACK interrupt */ tmpisr |= SMBUS_IT_ADDRI | SMBUS_IT_STOPI | SMBUS_IT_NACKI; 80bff20: 68fb ldr r3, [r7, #12] 80bff22: f043 0338 orr.w r3, r3, #56 ; 0x38 80bff26: 60fb str r3, [r7, #12] if (SMBUS_GET_ALERT_ENABLED(hsmbus) == 0UL) 80bff28: 687b ldr r3, [r7, #4] 80bff2a: 681b ldr r3, [r3, #0] 80bff2c: 681b ldr r3, [r3, #0] 80bff2e: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bff32: 2b00 cmp r3, #0 80bff34: d103 bne.n 80bff3e { /* Disable ERR interrupt */ tmpisr |= SMBUS_IT_ERRI; 80bff36: 68fb ldr r3, [r7, #12] 80bff38: f043 0380 orr.w r3, r3, #128 ; 0x80 80bff3c: 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); 80bff3e: 687b ldr r3, [r7, #4] 80bff40: 681b ldr r3, [r3, #0] 80bff42: 687a ldr r2, [r7, #4] 80bff44: 6812 ldr r2, [r2, #0] 80bff46: 6811 ldr r1, [r2, #0] 80bff48: 68fa ldr r2, [r7, #12] 80bff4a: 43d2 mvns r2, r2 80bff4c: 400a ands r2, r1 80bff4e: 601a str r2, [r3, #0] } 80bff50: bf00 nop 80bff52: 3714 adds r7, #20 80bff54: 46bd mov sp, r7 80bff56: f85d 7b04 ldr.w r7, [sp], #4 80bff5a: 4770 bx lr 080bff5c : * @brief SMBUS interrupts error handler. * @param hsmbus SMBUS handle. * @retval None */ static void SMBUS_ITErrorHandler(SMBUS_HandleTypeDef *hsmbus) { 80bff5c: b580 push {r7, lr} 80bff5e: b086 sub sp, #24 80bff60: af00 add r7, sp, #0 80bff62: 6078 str r0, [r7, #4] uint32_t itflags = READ_REG(hsmbus->Instance->ISR); 80bff64: 687b ldr r3, [r7, #4] 80bff66: 681b ldr r3, [r3, #0] 80bff68: 699b ldr r3, [r3, #24] 80bff6a: 617b str r3, [r7, #20] uint32_t itsources = READ_REG(hsmbus->Instance->CR1); 80bff6c: 687b ldr r3, [r7, #4] 80bff6e: 681b ldr r3, [r3, #0] 80bff70: 681b ldr r3, [r3, #0] 80bff72: 613b str r3, [r7, #16] uint32_t tmpstate; uint32_t tmperror; /* SMBUS Bus error interrupt occurred ------------------------------------*/ if (((itflags & SMBUS_FLAG_BERR) == SMBUS_FLAG_BERR) && \ 80bff74: 697b ldr r3, [r7, #20] 80bff76: f403 7380 and.w r3, r3, #256 ; 0x100 80bff7a: 2b00 cmp r3, #0 80bff7c: d00f beq.n 80bff9e ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bff7e: 693b ldr r3, [r7, #16] 80bff80: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_BERR) == SMBUS_FLAG_BERR) && \ 80bff84: 2b00 cmp r3, #0 80bff86: d00a beq.n 80bff9e { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_BERR; 80bff88: 687b ldr r3, [r7, #4] 80bff8a: 6cdb ldr r3, [r3, #76] ; 0x4c 80bff8c: f043 0201 orr.w r2, r3, #1 80bff90: 687b ldr r3, [r7, #4] 80bff92: 64da str r2, [r3, #76] ; 0x4c /* Clear BERR flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_BERR); 80bff94: 687b ldr r3, [r7, #4] 80bff96: 681b ldr r3, [r3, #0] 80bff98: f44f 7280 mov.w r2, #256 ; 0x100 80bff9c: 61da str r2, [r3, #28] } /* SMBUS Over-Run/Under-Run interrupt occurred ----------------------------------------*/ if (((itflags & SMBUS_FLAG_OVR) == SMBUS_FLAG_OVR) && \ 80bff9e: 697b ldr r3, [r7, #20] 80bffa0: f403 6380 and.w r3, r3, #1024 ; 0x400 80bffa4: 2b00 cmp r3, #0 80bffa6: d00f beq.n 80bffc8 ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bffa8: 693b ldr r3, [r7, #16] 80bffaa: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_OVR) == SMBUS_FLAG_OVR) && \ 80bffae: 2b00 cmp r3, #0 80bffb0: d00a beq.n 80bffc8 { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_OVR; 80bffb2: 687b ldr r3, [r7, #4] 80bffb4: 6cdb ldr r3, [r3, #76] ; 0x4c 80bffb6: f043 0208 orr.w r2, r3, #8 80bffba: 687b ldr r3, [r7, #4] 80bffbc: 64da str r2, [r3, #76] ; 0x4c /* Clear OVR flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_OVR); 80bffbe: 687b ldr r3, [r7, #4] 80bffc0: 681b ldr r3, [r3, #0] 80bffc2: f44f 6280 mov.w r2, #1024 ; 0x400 80bffc6: 61da str r2, [r3, #28] } /* SMBUS Arbitration Loss error interrupt occurred ------------------------------------*/ if (((itflags & SMBUS_FLAG_ARLO) == SMBUS_FLAG_ARLO) && \ 80bffc8: 697b ldr r3, [r7, #20] 80bffca: f403 7300 and.w r3, r3, #512 ; 0x200 80bffce: 2b00 cmp r3, #0 80bffd0: d00f beq.n 80bfff2 ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bffd2: 693b ldr r3, [r7, #16] 80bffd4: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_ARLO) == SMBUS_FLAG_ARLO) && \ 80bffd8: 2b00 cmp r3, #0 80bffda: d00a beq.n 80bfff2 { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ARLO; 80bffdc: 687b ldr r3, [r7, #4] 80bffde: 6cdb ldr r3, [r3, #76] ; 0x4c 80bffe0: f043 0202 orr.w r2, r3, #2 80bffe4: 687b ldr r3, [r7, #4] 80bffe6: 64da str r2, [r3, #76] ; 0x4c /* Clear ARLO flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_ARLO); 80bffe8: 687b ldr r3, [r7, #4] 80bffea: 681b ldr r3, [r3, #0] 80bffec: f44f 7200 mov.w r2, #512 ; 0x200 80bfff0: 61da str r2, [r3, #28] } /* SMBUS Timeout error interrupt occurred ---------------------------------------------*/ if (((itflags & SMBUS_FLAG_TIMEOUT) == SMBUS_FLAG_TIMEOUT) && \ 80bfff2: 697b ldr r3, [r7, #20] 80bfff4: f403 5380 and.w r3, r3, #4096 ; 0x1000 80bfff8: 2b00 cmp r3, #0 80bfffa: d00f beq.n 80c001c ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bfffc: 693b ldr r3, [r7, #16] 80bfffe: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_TIMEOUT) == SMBUS_FLAG_TIMEOUT) && \ 80c0002: 2b00 cmp r3, #0 80c0004: d00a beq.n 80c001c { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_BUSTIMEOUT; 80c0006: 687b ldr r3, [r7, #4] 80c0008: 6cdb ldr r3, [r3, #76] ; 0x4c 80c000a: f043 0220 orr.w r2, r3, #32 80c000e: 687b ldr r3, [r7, #4] 80c0010: 64da str r2, [r3, #76] ; 0x4c /* Clear TIMEOUT flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_TIMEOUT); 80c0012: 687b ldr r3, [r7, #4] 80c0014: 681b ldr r3, [r3, #0] 80c0016: f44f 5280 mov.w r2, #4096 ; 0x1000 80c001a: 61da str r2, [r3, #28] } /* SMBUS Alert error interrupt occurred -----------------------------------------------*/ if (((itflags & SMBUS_FLAG_ALERT) == SMBUS_FLAG_ALERT) && \ 80c001c: 697b ldr r3, [r7, #20] 80c001e: f403 5300 and.w r3, r3, #8192 ; 0x2000 80c0022: 2b00 cmp r3, #0 80c0024: d00f beq.n 80c0046 ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80c0026: 693b ldr r3, [r7, #16] 80c0028: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_ALERT) == SMBUS_FLAG_ALERT) && \ 80c002c: 2b00 cmp r3, #0 80c002e: d00a beq.n 80c0046 { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ALERT; 80c0030: 687b ldr r3, [r7, #4] 80c0032: 6cdb ldr r3, [r3, #76] ; 0x4c 80c0034: f043 0240 orr.w r2, r3, #64 ; 0x40 80c0038: 687b ldr r3, [r7, #4] 80c003a: 64da str r2, [r3, #76] ; 0x4c /* Clear ALERT flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_ALERT); 80c003c: 687b ldr r3, [r7, #4] 80c003e: 681b ldr r3, [r3, #0] 80c0040: f44f 5200 mov.w r2, #8192 ; 0x2000 80c0044: 61da str r2, [r3, #28] } /* SMBUS Packet Error Check error interrupt occurred ----------------------------------*/ if (((itflags & SMBUS_FLAG_PECERR) == SMBUS_FLAG_PECERR) && \ 80c0046: 697b ldr r3, [r7, #20] 80c0048: f403 6300 and.w r3, r3, #2048 ; 0x800 80c004c: 2b00 cmp r3, #0 80c004e: d00f beq.n 80c0070 ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80c0050: 693b ldr r3, [r7, #16] 80c0052: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_PECERR) == SMBUS_FLAG_PECERR) && \ 80c0056: 2b00 cmp r3, #0 80c0058: d00a beq.n 80c0070 { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_PECERR; 80c005a: 687b ldr r3, [r7, #4] 80c005c: 6cdb ldr r3, [r3, #76] ; 0x4c 80c005e: f043 0280 orr.w r2, r3, #128 ; 0x80 80c0062: 687b ldr r3, [r7, #4] 80c0064: 64da str r2, [r3, #76] ; 0x4c /* Clear PEC error flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_PECERR); 80c0066: 687b ldr r3, [r7, #4] 80c0068: 681b ldr r3, [r3, #0] 80c006a: f44f 6200 mov.w r2, #2048 ; 0x800 80c006e: 61da str r2, [r3, #28] } /* Flush TX register */ SMBUS_Flush_TXDR(hsmbus); 80c0070: 6878 ldr r0, [r7, #4] 80c0072: f000 f86c bl 80c014e /* Store current volatile hsmbus->ErrorCode, misra rule */ tmperror = hsmbus->ErrorCode; 80c0076: 687b ldr r3, [r7, #4] 80c0078: 6cdb ldr r3, [r3, #76] ; 0x4c 80c007a: 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)) 80c007c: 68fb ldr r3, [r7, #12] 80c007e: 2b00 cmp r3, #0 80c0080: d01d beq.n 80c00be 80c0082: 68fb ldr r3, [r7, #12] 80c0084: 2b04 cmp r3, #4 80c0086: d01a beq.n 80c00be { /* Do not Reset the HAL state in case of ALERT error */ if ((tmperror & HAL_SMBUS_ERROR_ALERT) != HAL_SMBUS_ERROR_ALERT) 80c0088: 68fb ldr r3, [r7, #12] 80c008a: f003 0340 and.w r3, r3, #64 ; 0x40 80c008e: 2b00 cmp r3, #0 80c0090: d112 bne.n 80c00b8 { /* Store current volatile hsmbus->State, misra rule */ tmpstate = hsmbus->State; 80c0092: 687b ldr r3, [r7, #4] 80c0094: 6c9b ldr r3, [r3, #72] ; 0x48 80c0096: 60bb str r3, [r7, #8] if (((tmpstate & HAL_SMBUS_STATE_SLAVE_BUSY_TX) == HAL_SMBUS_STATE_SLAVE_BUSY_TX) 80c0098: 68bb ldr r3, [r7, #8] 80c009a: f003 0332 and.w r3, r3, #50 ; 0x32 80c009e: 2b32 cmp r3, #50 ; 0x32 80c00a0: d004 beq.n 80c00ac || ((tmpstate & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX)) 80c00a2: 68bb ldr r3, [r7, #8] 80c00a4: f003 0342 and.w r3, r3, #66 ; 0x42 80c00a8: 2b42 cmp r3, #66 ; 0x42 80c00aa: d105 bne.n 80c00b8 { /* Reset only HAL_SMBUS_STATE_SLAVE_BUSY_XX */ /* keep HAL_SMBUS_STATE_LISTEN if set */ hsmbus->PreviousState = HAL_SMBUS_STATE_READY; 80c00ac: 687b ldr r3, [r7, #4] 80c00ae: 2201 movs r2, #1 80c00b0: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_LISTEN; 80c00b2: 687b ldr r3, [r7, #4] 80c00b4: 2208 movs r2, #8 80c00b6: 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); 80c00b8: 6878 ldr r0, [r7, #4] 80c00ba: f7ff fada bl 80bf672 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } } 80c00be: bf00 nop 80c00c0: 3718 adds r7, #24 80c00c2: 46bd mov sp, r7 80c00c4: bd80 pop {r7, pc} 080c00c6 : * @param Timeout Timeout duration * @retval HAL status */ static HAL_StatusTypeDef SMBUS_WaitOnFlagUntilTimeout(SMBUS_HandleTypeDef *hsmbus, uint32_t Flag, FlagStatus Status, uint32_t Timeout) { 80c00c6: b580 push {r7, lr} 80c00c8: b086 sub sp, #24 80c00ca: af00 add r7, sp, #0 80c00cc: 60f8 str r0, [r7, #12] 80c00ce: 60b9 str r1, [r7, #8] 80c00d0: 603b str r3, [r7, #0] 80c00d2: 4613 mov r3, r2 80c00d4: 71fb strb r3, [r7, #7] uint32_t tickstart = HAL_GetTick(); 80c00d6: f7f7 fca5 bl 80b7a24 80c00da: 6178 str r0, [r7, #20] /* Wait until flag is set */ while ((FlagStatus)(__HAL_SMBUS_GET_FLAG(hsmbus, Flag)) == Status) 80c00dc: e021 b.n 80c0122 { /* Check for the Timeout */ if (Timeout != HAL_MAX_DELAY) 80c00de: 683b ldr r3, [r7, #0] 80c00e0: f1b3 3fff cmp.w r3, #4294967295 80c00e4: d01d beq.n 80c0122 { if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0UL)) 80c00e6: f7f7 fc9d bl 80b7a24 80c00ea: 4602 mov r2, r0 80c00ec: 697b ldr r3, [r7, #20] 80c00ee: 1ad2 subs r2, r2, r3 80c00f0: 683b ldr r3, [r7, #0] 80c00f2: 429a cmp r2, r3 80c00f4: d802 bhi.n 80c00fc 80c00f6: 683b ldr r3, [r7, #0] 80c00f8: 2b00 cmp r3, #0 80c00fa: d112 bne.n 80c0122 { hsmbus->PreviousState = hsmbus->State; 80c00fc: 68fb ldr r3, [r7, #12] 80c00fe: 6c9a ldr r2, [r3, #72] ; 0x48 80c0100: 68fb ldr r3, [r7, #12] 80c0102: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80c0104: 68fb ldr r3, [r7, #12] 80c0106: 2201 movs r2, #1 80c0108: 649a str r2, [r3, #72] ; 0x48 /* Update SMBUS error code */ hsmbus->ErrorCode |= HAL_SMBUS_ERROR_HALTIMEOUT; 80c010a: 68fb ldr r3, [r7, #12] 80c010c: 6cdb ldr r3, [r3, #76] ; 0x4c 80c010e: f043 0210 orr.w r2, r3, #16 80c0112: 68fb ldr r3, [r7, #12] 80c0114: 64da str r2, [r3, #76] ; 0x4c /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80c0116: 68fb ldr r3, [r7, #12] 80c0118: 2200 movs r2, #0 80c011a: f883 2044 strb.w r2, [r3, #68] ; 0x44 return HAL_ERROR; 80c011e: 2301 movs r3, #1 80c0120: e011 b.n 80c0146 while ((FlagStatus)(__HAL_SMBUS_GET_FLAG(hsmbus, Flag)) == Status) 80c0122: 68fb ldr r3, [r7, #12] 80c0124: 681b ldr r3, [r3, #0] 80c0126: 699b ldr r3, [r3, #24] 80c0128: 43da mvns r2, r3 80c012a: 68bb ldr r3, [r7, #8] 80c012c: 4013 ands r3, r2 80c012e: f3c3 0310 ubfx r3, r3, #0, #17 80c0132: 2b00 cmp r3, #0 80c0134: bf0c ite eq 80c0136: 2301 moveq r3, #1 80c0138: 2300 movne r3, #0 80c013a: b2db uxtb r3, r3 80c013c: 461a mov r2, r3 80c013e: 79fb ldrb r3, [r7, #7] 80c0140: 429a cmp r2, r3 80c0142: d0cc beq.n 80c00de } } } return HAL_OK; 80c0144: 2300 movs r3, #0 } 80c0146: 4618 mov r0, r3 80c0148: 3718 adds r7, #24 80c014a: 46bd mov sp, r7 80c014c: bd80 pop {r7, pc} 080c014e : * @brief SMBUS Tx data register flush process. * @param hsmbus SMBUS handle. * @retval None */ static void SMBUS_Flush_TXDR(SMBUS_HandleTypeDef *hsmbus) { 80c014e: b480 push {r7} 80c0150: b083 sub sp, #12 80c0152: af00 add r7, sp, #0 80c0154: 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) 80c0156: 687b ldr r3, [r7, #4] 80c0158: 681b ldr r3, [r3, #0] 80c015a: 699b ldr r3, [r3, #24] 80c015c: f003 0302 and.w r3, r3, #2 80c0160: 2b02 cmp r3, #2 80c0162: d103 bne.n 80c016c { hsmbus->Instance->TXDR = 0x00U; 80c0164: 687b ldr r3, [r7, #4] 80c0166: 681b ldr r3, [r3, #0] 80c0168: 2200 movs r2, #0 80c016a: 629a str r2, [r3, #40] ; 0x28 } /* Flush TX register if not empty */ if (__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_TXE) == RESET) 80c016c: 687b ldr r3, [r7, #4] 80c016e: 681b ldr r3, [r3, #0] 80c0170: 699b ldr r3, [r3, #24] 80c0172: f003 0301 and.w r3, r3, #1 80c0176: 2b01 cmp r3, #1 80c0178: d007 beq.n 80c018a { __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_TXE); 80c017a: 687b ldr r3, [r7, #4] 80c017c: 681b ldr r3, [r3, #0] 80c017e: 687a ldr r2, [r7, #4] 80c0180: 6812 ldr r2, [r2, #0] 80c0182: 6992 ldr r2, [r2, #24] 80c0184: f042 0201 orr.w r2, r2, #1 80c0188: 619a str r2, [r3, #24] } } 80c018a: bf00 nop 80c018c: 370c adds r7, #12 80c018e: 46bd mov sp, r7 80c0190: f85d 7b04 ldr.w r7, [sp], #4 80c0194: 4770 bx lr ... 080c0198 : * @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) { 80c0198: b480 push {r7} 80c019a: b085 sub sp, #20 80c019c: af00 add r7, sp, #0 80c019e: 60f8 str r0, [r7, #12] 80c01a0: 607b str r3, [r7, #4] 80c01a2: 460b mov r3, r1 80c01a4: 817b strh r3, [r7, #10] 80c01a6: 4613 mov r3, r2 80c01a8: 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, 80c01aa: 68fb ldr r3, [r7, #12] 80c01ac: 681a ldr r2, [r3, #0] 80c01ae: 68fb ldr r3, [r7, #12] 80c01b0: 681b ldr r3, [r3, #0] 80c01b2: 6859 ldr r1, [r3, #4] 80c01b4: 69bb ldr r3, [r7, #24] 80c01b6: 0d5b lsrs r3, r3, #21 80c01b8: f403 6080 and.w r0, r3, #1024 ; 0x400 80c01bc: 4b0b ldr r3, [pc, #44] ; (80c01ec ) 80c01be: 4303 orrs r3, r0 80c01c0: 43db mvns r3, r3 80c01c2: 4019 ands r1, r3 80c01c4: 897b ldrh r3, [r7, #10] 80c01c6: f3c3 0009 ubfx r0, r3, #0, #10 80c01ca: 7a7b ldrb r3, [r7, #9] 80c01cc: 041b lsls r3, r3, #16 80c01ce: f403 037f and.w r3, r3, #16711680 ; 0xff0000 80c01d2: 4318 orrs r0, r3 80c01d4: 687b ldr r3, [r7, #4] 80c01d6: 4318 orrs r0, r3 80c01d8: 69bb ldr r3, [r7, #24] 80c01da: 4303 orrs r3, r0 80c01dc: 430b orrs r3, r1 80c01de: 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)); } 80c01e0: bf00 nop 80c01e2: 3714 adds r7, #20 80c01e4: 46bd mov sp, r7 80c01e6: f85d 7b04 ldr.w r7, [sp], #4 80c01ea: 4770 bx lr 80c01ec: 07ff63ff .word 0x07ff63ff 080c01f0 : * @brief Convert SMBUSx OTHER_xxx XferOptions to functional XferOptions. * @param hsmbus SMBUS handle. * @retval None */ static void SMBUS_ConvertOtherXferOptions(SMBUS_HandleTypeDef *hsmbus) { 80c01f0: b480 push {r7} 80c01f2: b083 sub sp, #12 80c01f4: af00 add r7, sp, #0 80c01f6: 6078 str r0, [r7, #4] /* if user set XferOptions to SMBUS_OTHER_FRAME_NO_PEC */ /* it request implicitly to generate a restart condition */ /* set XferOptions to SMBUS_FIRST_FRAME */ if (hsmbus->XferOptions == SMBUS_OTHER_FRAME_NO_PEC) 80c01f8: 687b ldr r3, [r7, #4] 80c01fa: 6bdb ldr r3, [r3, #60] ; 0x3c 80c01fc: 2baa cmp r3, #170 ; 0xaa 80c01fe: d103 bne.n 80c0208 { hsmbus->XferOptions = SMBUS_FIRST_FRAME; 80c0200: 687b ldr r3, [r7, #4] 80c0202: 2200 movs r2, #0 80c0204: 63da str r2, [r3, #60] ; 0x3c } else { /* Nothing to do */ } } 80c0206: e01c b.n 80c0242 else if (hsmbus->XferOptions == SMBUS_OTHER_FRAME_WITH_PEC) 80c0208: 687b ldr r3, [r7, #4] 80c020a: 6bdb ldr r3, [r3, #60] ; 0x3c 80c020c: f5b3 4f2a cmp.w r3, #43520 ; 0xaa00 80c0210: d104 bne.n 80c021c hsmbus->XferOptions = SMBUS_FIRST_FRAME | SMBUS_SENDPEC_MODE; 80c0212: 687b ldr r3, [r7, #4] 80c0214: f04f 6280 mov.w r2, #67108864 ; 0x4000000 80c0218: 63da str r2, [r3, #60] ; 0x3c } 80c021a: e012 b.n 80c0242 else if (hsmbus->XferOptions == SMBUS_OTHER_AND_LAST_FRAME_NO_PEC) 80c021c: 687b ldr r3, [r7, #4] 80c021e: 6bdb ldr r3, [r3, #60] ; 0x3c 80c0220: f5b3 0f2a cmp.w r3, #11141120 ; 0xaa0000 80c0224: d104 bne.n 80c0230 hsmbus->XferOptions = SMBUS_FIRST_AND_LAST_FRAME_NO_PEC; 80c0226: 687b ldr r3, [r7, #4] 80c0228: f04f 7200 mov.w r2, #33554432 ; 0x2000000 80c022c: 63da str r2, [r3, #60] ; 0x3c } 80c022e: e008 b.n 80c0242 else if (hsmbus->XferOptions == SMBUS_OTHER_AND_LAST_FRAME_WITH_PEC) 80c0230: 687b ldr r3, [r7, #4] 80c0232: 6bdb ldr r3, [r3, #60] ; 0x3c 80c0234: f1b3 4f2a cmp.w r3, #2852126720 ; 0xaa000000 80c0238: d103 bne.n 80c0242 hsmbus->XferOptions = SMBUS_FIRST_AND_LAST_FRAME_WITH_PEC; 80c023a: 687b ldr r3, [r7, #4] 80c023c: f04f 62c0 mov.w r2, #100663296 ; 0x6000000 80c0240: 63da str r2, [r3, #60] ; 0x3c } 80c0242: bf00 nop 80c0244: 370c adds r7, #12 80c0246: 46bd mov sp, r7 80c0248: f85d 7b04 ldr.w r7, [sp], #4 80c024c: 4770 bx lr 080c024e : * @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) { 80c024e: b580 push {r7, lr} 80c0250: b084 sub sp, #16 80c0252: af00 add r7, sp, #0 80c0254: 6078 str r0, [r7, #4] uint32_t frxth; /* Check the SPI handle allocation */ if (hspi == NULL) 80c0256: 687b ldr r3, [r7, #4] 80c0258: 2b00 cmp r3, #0 80c025a: d101 bne.n 80c0260 { return HAL_ERROR; 80c025c: 2301 movs r3, #1 80c025e: e09b b.n 80c0398 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) 80c0260: 687b ldr r3, [r7, #4] 80c0262: 6a5b ldr r3, [r3, #36] ; 0x24 80c0264: 2b00 cmp r3, #0 80c0266: d108 bne.n 80c027a { assert_param(IS_SPI_CPOL(hspi->Init.CLKPolarity)); assert_param(IS_SPI_CPHA(hspi->Init.CLKPhase)); if (hspi->Init.Mode == SPI_MODE_MASTER) 80c0268: 687b ldr r3, [r7, #4] 80c026a: 685b ldr r3, [r3, #4] 80c026c: f5b3 7f82 cmp.w r3, #260 ; 0x104 80c0270: d009 beq.n 80c0286 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; 80c0272: 687b ldr r3, [r7, #4] 80c0274: 2200 movs r2, #0 80c0276: 61da str r2, [r3, #28] 80c0278: e005 b.n 80c0286 else { assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler)); /* Force polarity and phase to TI protocaol requirements */ hspi->Init.CLKPolarity = SPI_POLARITY_LOW; 80c027a: 687b ldr r3, [r7, #4] 80c027c: 2200 movs r2, #0 80c027e: 611a str r2, [r3, #16] hspi->Init.CLKPhase = SPI_PHASE_1EDGE; 80c0280: 687b ldr r3, [r7, #4] 80c0282: 2200 movs r2, #0 80c0284: 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; 80c0286: 687b ldr r3, [r7, #4] 80c0288: 2200 movs r2, #0 80c028a: 629a str r2, [r3, #40] ; 0x28 #endif /* USE_SPI_CRC */ if (hspi->State == HAL_SPI_STATE_RESET) 80c028c: 687b ldr r3, [r7, #4] 80c028e: f893 305d ldrb.w r3, [r3, #93] ; 0x5d 80c0292: b2db uxtb r3, r3 80c0294: 2b00 cmp r3, #0 80c0296: d106 bne.n 80c02a6 { /* Allocate lock resource and initialize it */ hspi->Lock = HAL_UNLOCKED; 80c0298: 687b ldr r3, [r7, #4] 80c029a: 2200 movs r2, #0 80c029c: 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); 80c02a0: 6878 ldr r0, [r7, #4] 80c02a2: f7f2 fb4d bl 80b2940 #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ } hspi->State = HAL_SPI_STATE_BUSY; 80c02a6: 687b ldr r3, [r7, #4] 80c02a8: 2202 movs r2, #2 80c02aa: f883 205d strb.w r2, [r3, #93] ; 0x5d /* Disable the selected SPI peripheral */ __HAL_SPI_DISABLE(hspi); 80c02ae: 687b ldr r3, [r7, #4] 80c02b0: 681b ldr r3, [r3, #0] 80c02b2: 687a ldr r2, [r7, #4] 80c02b4: 6812 ldr r2, [r2, #0] 80c02b6: 6812 ldr r2, [r2, #0] 80c02b8: f022 0240 bic.w r2, r2, #64 ; 0x40 80c02bc: 601a str r2, [r3, #0] /* Align by default the rs fifo threshold on the data size */ if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) 80c02be: 687b ldr r3, [r7, #4] 80c02c0: 68db ldr r3, [r3, #12] 80c02c2: f5b3 6fe0 cmp.w r3, #1792 ; 0x700 80c02c6: d902 bls.n 80c02ce { frxth = SPI_RXFIFO_THRESHOLD_HF; 80c02c8: 2300 movs r3, #0 80c02ca: 60fb str r3, [r7, #12] 80c02cc: e002 b.n 80c02d4 } else { frxth = SPI_RXFIFO_THRESHOLD_QF; 80c02ce: f44f 5380 mov.w r3, #4096 ; 0x1000 80c02d2: 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)) 80c02d4: 687b ldr r3, [r7, #4] 80c02d6: 68db ldr r3, [r3, #12] 80c02d8: f5b3 6f70 cmp.w r3, #3840 ; 0xf00 80c02dc: d007 beq.n 80c02ee 80c02de: 687b ldr r3, [r7, #4] 80c02e0: 68db ldr r3, [r3, #12] 80c02e2: f5b3 6fe0 cmp.w r3, #1792 ; 0x700 80c02e6: d002 beq.n 80c02ee { /* CRC must be disabled */ hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; 80c02e8: 687b ldr r3, [r7, #4] 80c02ea: 2200 movs r2, #0 80c02ec: 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)) | 80c02ee: 687b ldr r3, [r7, #4] 80c02f0: 681b ldr r3, [r3, #0] 80c02f2: 687a ldr r2, [r7, #4] 80c02f4: 6852 ldr r2, [r2, #4] 80c02f6: f402 7182 and.w r1, r2, #260 ; 0x104 80c02fa: 687a ldr r2, [r7, #4] 80c02fc: 6892 ldr r2, [r2, #8] 80c02fe: f402 4204 and.w r2, r2, #33792 ; 0x8400 80c0302: 4311 orrs r1, r2 80c0304: 687a ldr r2, [r7, #4] 80c0306: 6912 ldr r2, [r2, #16] 80c0308: f002 0202 and.w r2, r2, #2 80c030c: 4311 orrs r1, r2 80c030e: 687a ldr r2, [r7, #4] 80c0310: 6952 ldr r2, [r2, #20] 80c0312: f002 0201 and.w r2, r2, #1 80c0316: 4311 orrs r1, r2 80c0318: 687a ldr r2, [r7, #4] 80c031a: 6992 ldr r2, [r2, #24] 80c031c: f402 7200 and.w r2, r2, #512 ; 0x200 80c0320: 4311 orrs r1, r2 80c0322: 687a ldr r2, [r7, #4] 80c0324: 69d2 ldr r2, [r2, #28] 80c0326: f002 0238 and.w r2, r2, #56 ; 0x38 80c032a: 4311 orrs r1, r2 80c032c: 687a ldr r2, [r7, #4] 80c032e: 6a12 ldr r2, [r2, #32] 80c0330: f002 0280 and.w r2, r2, #128 ; 0x80 80c0334: 4311 orrs r1, r2 80c0336: 687a ldr r2, [r7, #4] 80c0338: 6a92 ldr r2, [r2, #40] ; 0x28 80c033a: f402 5200 and.w r2, r2, #8192 ; 0x2000 80c033e: 430a orrs r2, r1 80c0340: 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) | 80c0342: 687b ldr r3, [r7, #4] 80c0344: 681b ldr r3, [r3, #0] 80c0346: 687a ldr r2, [r7, #4] 80c0348: 6992 ldr r2, [r2, #24] 80c034a: 0c12 lsrs r2, r2, #16 80c034c: f002 0104 and.w r1, r2, #4 80c0350: 687a ldr r2, [r7, #4] 80c0352: 6a52 ldr r2, [r2, #36] ; 0x24 80c0354: f002 0210 and.w r2, r2, #16 80c0358: 4311 orrs r1, r2 80c035a: 687a ldr r2, [r7, #4] 80c035c: 6b52 ldr r2, [r2, #52] ; 0x34 80c035e: f002 0208 and.w r2, r2, #8 80c0362: 4311 orrs r1, r2 80c0364: 687a ldr r2, [r7, #4] 80c0366: 68d2 ldr r2, [r2, #12] 80c0368: f402 6270 and.w r2, r2, #3840 ; 0xf00 80c036c: 4311 orrs r1, r2 80c036e: 68fa ldr r2, [r7, #12] 80c0370: f402 5280 and.w r2, r2, #4096 ; 0x1000 80c0374: 430a orrs r2, r1 80c0376: 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); 80c0378: 687b ldr r3, [r7, #4] 80c037a: 681b ldr r3, [r3, #0] 80c037c: 687a ldr r2, [r7, #4] 80c037e: 6812 ldr r2, [r2, #0] 80c0380: 69d2 ldr r2, [r2, #28] 80c0382: f422 6200 bic.w r2, r2, #2048 ; 0x800 80c0386: 61da str r2, [r3, #28] #endif /* SPI_I2SCFGR_I2SMOD */ hspi->ErrorCode = HAL_SPI_ERROR_NONE; 80c0388: 687b ldr r3, [r7, #4] 80c038a: 2200 movs r2, #0 80c038c: 661a str r2, [r3, #96] ; 0x60 hspi->State = HAL_SPI_STATE_READY; 80c038e: 687b ldr r3, [r7, #4] 80c0390: 2201 movs r2, #1 80c0392: f883 205d strb.w r2, [r3, #93] ; 0x5d return HAL_OK; 80c0396: 2300 movs r3, #0 } 80c0398: 4618 mov r0, r3 80c039a: 3710 adds r7, #16 80c039c: 46bd mov sp, r7 80c039e: bd80 pop {r7, pc} 080c03a0 : * @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) { 80c03a0: b580 push {r7, lr} 80c03a2: b08a sub sp, #40 ; 0x28 80c03a4: af00 add r7, sp, #0 80c03a6: 60f8 str r0, [r7, #12] 80c03a8: 60b9 str r1, [r7, #8] 80c03aa: 607a str r2, [r7, #4] 80c03ac: 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; 80c03ae: 2301 movs r3, #1 80c03b0: 627b str r3, [r7, #36] ; 0x24 HAL_StatusTypeDef errorcode = HAL_OK; 80c03b2: 2300 movs r3, #0 80c03b4: 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); 80c03b8: 68fb ldr r3, [r7, #12] 80c03ba: f893 305c ldrb.w r3, [r3, #92] ; 0x5c 80c03be: 2b01 cmp r3, #1 80c03c0: d101 bne.n 80c03c6 80c03c2: 2302 movs r3, #2 80c03c4: e1f8 b.n 80c07b8 80c03c6: 68fb ldr r3, [r7, #12] 80c03c8: 2201 movs r2, #1 80c03ca: f883 205c strb.w r2, [r3, #92] ; 0x5c /* Init tickstart for timeout management*/ tickstart = HAL_GetTick(); 80c03ce: f7f7 fb29 bl 80b7a24 80c03d2: 61f8 str r0, [r7, #28] /* Init temporary variables */ tmp_state = hspi->State; 80c03d4: 68fb ldr r3, [r7, #12] 80c03d6: f893 305d ldrb.w r3, [r3, #93] ; 0x5d 80c03da: 76fb strb r3, [r7, #27] tmp_mode = hspi->Init.Mode; 80c03dc: 68fb ldr r3, [r7, #12] 80c03de: 685b ldr r3, [r3, #4] 80c03e0: 617b str r3, [r7, #20] initial_TxXferCount = Size; 80c03e2: 887b ldrh r3, [r7, #2] 80c03e4: 827b strh r3, [r7, #18] initial_RxXferCount = Size; 80c03e6: 887b ldrh r3, [r7, #2] 80c03e8: 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) || \ 80c03ea: 7efb ldrb r3, [r7, #27] 80c03ec: 2b01 cmp r3, #1 80c03ee: d00e beq.n 80c040e 80c03f0: 697b ldr r3, [r7, #20] 80c03f2: f5b3 7f82 cmp.w r3, #260 ; 0x104 80c03f6: d106 bne.n 80c0406 ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_state == HAL_SPI_STATE_BUSY_RX)))) 80c03f8: 68fb ldr r3, [r7, #12] 80c03fa: 689b ldr r3, [r3, #8] 80c03fc: 2b00 cmp r3, #0 80c03fe: d102 bne.n 80c0406 80c0400: 7efb ldrb r3, [r7, #27] 80c0402: 2b04 cmp r3, #4 80c0404: d003 beq.n 80c040e { errorcode = HAL_BUSY; 80c0406: 2302 movs r3, #2 80c0408: f887 3023 strb.w r3, [r7, #35] ; 0x23 goto error; 80c040c: e1ca b.n 80c07a4 } if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U)) 80c040e: 68bb ldr r3, [r7, #8] 80c0410: 2b00 cmp r3, #0 80c0412: d005 beq.n 80c0420 80c0414: 687b ldr r3, [r7, #4] 80c0416: 2b00 cmp r3, #0 80c0418: d002 beq.n 80c0420 80c041a: 887b ldrh r3, [r7, #2] 80c041c: 2b00 cmp r3, #0 80c041e: d103 bne.n 80c0428 { errorcode = HAL_ERROR; 80c0420: 2301 movs r3, #1 80c0422: f887 3023 strb.w r3, [r7, #35] ; 0x23 goto error; 80c0426: e1bd b.n 80c07a4 } /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */ if (hspi->State != HAL_SPI_STATE_BUSY_RX) 80c0428: 68fb ldr r3, [r7, #12] 80c042a: f893 305d ldrb.w r3, [r3, #93] ; 0x5d 80c042e: b2db uxtb r3, r3 80c0430: 2b04 cmp r3, #4 80c0432: d003 beq.n 80c043c { hspi->State = HAL_SPI_STATE_BUSY_TX_RX; 80c0434: 68fb ldr r3, [r7, #12] 80c0436: 2205 movs r2, #5 80c0438: f883 205d strb.w r2, [r3, #93] ; 0x5d } /* Set the transaction information */ hspi->ErrorCode = HAL_SPI_ERROR_NONE; 80c043c: 68fb ldr r3, [r7, #12] 80c043e: 2200 movs r2, #0 80c0440: 661a str r2, [r3, #96] ; 0x60 hspi->pRxBuffPtr = (uint8_t *)pRxData; 80c0442: 68fb ldr r3, [r7, #12] 80c0444: 687a ldr r2, [r7, #4] 80c0446: 641a str r2, [r3, #64] ; 0x40 hspi->RxXferCount = Size; 80c0448: 68fb ldr r3, [r7, #12] 80c044a: 887a ldrh r2, [r7, #2] 80c044c: f8a3 2046 strh.w r2, [r3, #70] ; 0x46 hspi->RxXferSize = Size; 80c0450: 68fb ldr r3, [r7, #12] 80c0452: 887a ldrh r2, [r7, #2] 80c0454: f8a3 2044 strh.w r2, [r3, #68] ; 0x44 hspi->pTxBuffPtr = (uint8_t *)pTxData; 80c0458: 68fb ldr r3, [r7, #12] 80c045a: 68ba ldr r2, [r7, #8] 80c045c: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount = Size; 80c045e: 68fb ldr r3, [r7, #12] 80c0460: 887a ldrh r2, [r7, #2] 80c0462: 87da strh r2, [r3, #62] ; 0x3e hspi->TxXferSize = Size; 80c0464: 68fb ldr r3, [r7, #12] 80c0466: 887a ldrh r2, [r7, #2] 80c0468: 879a strh r2, [r3, #60] ; 0x3c /*Init field not used in handle to zero */ hspi->RxISR = NULL; 80c046a: 68fb ldr r3, [r7, #12] 80c046c: 2200 movs r2, #0 80c046e: 64da str r2, [r3, #76] ; 0x4c hspi->TxISR = NULL; 80c0470: 68fb ldr r3, [r7, #12] 80c0472: 2200 movs r2, #0 80c0474: 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)) 80c0476: 68fb ldr r3, [r7, #12] 80c0478: 68db ldr r3, [r3, #12] 80c047a: f5b3 6fe0 cmp.w r3, #1792 ; 0x700 80c047e: d802 bhi.n 80c0486 80c0480: 8a3b ldrh r3, [r7, #16] 80c0482: 2b01 cmp r3, #1 80c0484: d908 bls.n 80c0498 { /* Set fiforxthreshold according the reception data length: 16bit */ CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD); 80c0486: 68fb ldr r3, [r7, #12] 80c0488: 681b ldr r3, [r3, #0] 80c048a: 68fa ldr r2, [r7, #12] 80c048c: 6812 ldr r2, [r2, #0] 80c048e: 6852 ldr r2, [r2, #4] 80c0490: f422 5280 bic.w r2, r2, #4096 ; 0x1000 80c0494: 605a str r2, [r3, #4] 80c0496: e007 b.n 80c04a8 } else { /* Set fiforxthreshold according the reception data length: 8bit */ SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD); 80c0498: 68fb ldr r3, [r7, #12] 80c049a: 681b ldr r3, [r3, #0] 80c049c: 68fa ldr r2, [r7, #12] 80c049e: 6812 ldr r2, [r2, #0] 80c04a0: 6852 ldr r2, [r2, #4] 80c04a2: f442 5280 orr.w r2, r2, #4096 ; 0x1000 80c04a6: 605a str r2, [r3, #4] } /* Check if the SPI is already enabled */ if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) 80c04a8: 68fb ldr r3, [r7, #12] 80c04aa: 681b ldr r3, [r3, #0] 80c04ac: 681b ldr r3, [r3, #0] 80c04ae: f003 0340 and.w r3, r3, #64 ; 0x40 80c04b2: 2b40 cmp r3, #64 ; 0x40 80c04b4: d007 beq.n 80c04c6 { /* Enable SPI peripheral */ __HAL_SPI_ENABLE(hspi); 80c04b6: 68fb ldr r3, [r7, #12] 80c04b8: 681b ldr r3, [r3, #0] 80c04ba: 68fa ldr r2, [r7, #12] 80c04bc: 6812 ldr r2, [r2, #0] 80c04be: 6812 ldr r2, [r2, #0] 80c04c0: f042 0240 orr.w r2, r2, #64 ; 0x40 80c04c4: 601a str r2, [r3, #0] } /* Transmit and Receive data in 16 Bit mode */ if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) 80c04c6: 68fb ldr r3, [r7, #12] 80c04c8: 68db ldr r3, [r3, #12] 80c04ca: f5b3 6fe0 cmp.w r3, #1792 ; 0x700 80c04ce: d97c bls.n 80c05ca { if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U)) 80c04d0: 68fb ldr r3, [r7, #12] 80c04d2: 685b ldr r3, [r3, #4] 80c04d4: 2b00 cmp r3, #0 80c04d6: d002 beq.n 80c04de 80c04d8: 8a7b ldrh r3, [r7, #18] 80c04da: 2b01 cmp r3, #1 80c04dc: d169 bne.n 80c05b2 { hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr); 80c04de: 68fb ldr r3, [r7, #12] 80c04e0: 681b ldr r3, [r3, #0] 80c04e2: 68fa ldr r2, [r7, #12] 80c04e4: 6b92 ldr r2, [r2, #56] ; 0x38 80c04e6: 8812 ldrh r2, [r2, #0] 80c04e8: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); 80c04ea: 68fb ldr r3, [r7, #12] 80c04ec: 6b9b ldr r3, [r3, #56] ; 0x38 80c04ee: 1c9a adds r2, r3, #2 80c04f0: 68fb ldr r3, [r7, #12] 80c04f2: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount--; 80c04f4: 68fb ldr r3, [r7, #12] 80c04f6: 8fdb ldrh r3, [r3, #62] ; 0x3e 80c04f8: b29b uxth r3, r3 80c04fa: 3b01 subs r3, #1 80c04fc: b29a uxth r2, r3 80c04fe: 68fb ldr r3, [r7, #12] 80c0500: 87da strh r2, [r3, #62] ; 0x3e } while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) 80c0502: e056 b.n 80c05b2 { /* Check TXE flag */ if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)) 80c0504: 68fb ldr r3, [r7, #12] 80c0506: 681b ldr r3, [r3, #0] 80c0508: 689b ldr r3, [r3, #8] 80c050a: f003 0302 and.w r3, r3, #2 80c050e: 2b02 cmp r3, #2 80c0510: d11b bne.n 80c054a 80c0512: 68fb ldr r3, [r7, #12] 80c0514: 8fdb ldrh r3, [r3, #62] ; 0x3e 80c0516: b29b uxth r3, r3 80c0518: 2b00 cmp r3, #0 80c051a: d016 beq.n 80c054a 80c051c: 6a7b ldr r3, [r7, #36] ; 0x24 80c051e: 2b01 cmp r3, #1 80c0520: d113 bne.n 80c054a { hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr); 80c0522: 68fb ldr r3, [r7, #12] 80c0524: 681b ldr r3, [r3, #0] 80c0526: 68fa ldr r2, [r7, #12] 80c0528: 6b92 ldr r2, [r2, #56] ; 0x38 80c052a: 8812 ldrh r2, [r2, #0] 80c052c: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); 80c052e: 68fb ldr r3, [r7, #12] 80c0530: 6b9b ldr r3, [r3, #56] ; 0x38 80c0532: 1c9a adds r2, r3, #2 80c0534: 68fb ldr r3, [r7, #12] 80c0536: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount--; 80c0538: 68fb ldr r3, [r7, #12] 80c053a: 8fdb ldrh r3, [r3, #62] ; 0x3e 80c053c: b29b uxth r3, r3 80c053e: 3b01 subs r3, #1 80c0540: b29a uxth r2, r3 80c0542: 68fb ldr r3, [r7, #12] 80c0544: 87da strh r2, [r3, #62] ; 0x3e /* Next Data is a reception (Rx). Tx not allowed */ txallowed = 0U; 80c0546: 2300 movs r3, #0 80c0548: 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)) 80c054a: 68fb ldr r3, [r7, #12] 80c054c: 681b ldr r3, [r3, #0] 80c054e: 689b ldr r3, [r3, #8] 80c0550: f003 0301 and.w r3, r3, #1 80c0554: 2b01 cmp r3, #1 80c0556: d11c bne.n 80c0592 80c0558: 68fb ldr r3, [r7, #12] 80c055a: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80c055e: b29b uxth r3, r3 80c0560: 2b00 cmp r3, #0 80c0562: d016 beq.n 80c0592 { *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR; 80c0564: 68fb ldr r3, [r7, #12] 80c0566: 6c1b ldr r3, [r3, #64] ; 0x40 80c0568: 68fa ldr r2, [r7, #12] 80c056a: 6812 ldr r2, [r2, #0] 80c056c: 68d2 ldr r2, [r2, #12] 80c056e: b292 uxth r2, r2 80c0570: 801a strh r2, [r3, #0] hspi->pRxBuffPtr += sizeof(uint16_t); 80c0572: 68fb ldr r3, [r7, #12] 80c0574: 6c1b ldr r3, [r3, #64] ; 0x40 80c0576: 1c9a adds r2, r3, #2 80c0578: 68fb ldr r3, [r7, #12] 80c057a: 641a str r2, [r3, #64] ; 0x40 hspi->RxXferCount--; 80c057c: 68fb ldr r3, [r7, #12] 80c057e: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80c0582: b29b uxth r3, r3 80c0584: 3b01 subs r3, #1 80c0586: b29a uxth r2, r3 80c0588: 68fb ldr r3, [r7, #12] 80c058a: f8a3 2046 strh.w r2, [r3, #70] ; 0x46 /* Next Data is a Transmission (Tx). Tx is allowed */ txallowed = 1U; 80c058e: 2301 movs r3, #1 80c0590: 627b str r3, [r7, #36] ; 0x24 } if (((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) 80c0592: f7f7 fa47 bl 80b7a24 80c0596: 4602 mov r2, r0 80c0598: 69fb ldr r3, [r7, #28] 80c059a: 1ad2 subs r2, r2, r3 80c059c: 6b3b ldr r3, [r7, #48] ; 0x30 80c059e: 429a cmp r2, r3 80c05a0: d307 bcc.n 80c05b2 80c05a2: 6b3b ldr r3, [r7, #48] ; 0x30 80c05a4: f1b3 3fff cmp.w r3, #4294967295 80c05a8: d003 beq.n 80c05b2 { errorcode = HAL_TIMEOUT; 80c05aa: 2303 movs r3, #3 80c05ac: f887 3023 strb.w r3, [r7, #35] ; 0x23 goto error; 80c05b0: e0f8 b.n 80c07a4 while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) 80c05b2: 68fb ldr r3, [r7, #12] 80c05b4: 8fdb ldrh r3, [r3, #62] ; 0x3e 80c05b6: b29b uxth r3, r3 80c05b8: 2b00 cmp r3, #0 80c05ba: d1a3 bne.n 80c0504 80c05bc: 68fb ldr r3, [r7, #12] 80c05be: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80c05c2: b29b uxth r3, r3 80c05c4: 2b00 cmp r3, #0 80c05c6: d19d bne.n 80c0504 80c05c8: e0de b.n 80c0788 } } /* Transmit and Receive data in 8 Bit mode */ else { if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U)) 80c05ca: 68fb ldr r3, [r7, #12] 80c05cc: 685b ldr r3, [r3, #4] 80c05ce: 2b00 cmp r3, #0 80c05d0: d003 beq.n 80c05da 80c05d2: 8a7b ldrh r3, [r7, #18] 80c05d4: 2b01 cmp r3, #1 80c05d6: f040 80ca bne.w 80c076e { if (hspi->TxXferCount > 1U) 80c05da: 68fb ldr r3, [r7, #12] 80c05dc: 8fdb ldrh r3, [r3, #62] ; 0x3e 80c05de: b29b uxth r3, r3 80c05e0: 2b01 cmp r3, #1 80c05e2: d912 bls.n 80c060a { hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr); 80c05e4: 68fb ldr r3, [r7, #12] 80c05e6: 681b ldr r3, [r3, #0] 80c05e8: 68fa ldr r2, [r7, #12] 80c05ea: 6b92 ldr r2, [r2, #56] ; 0x38 80c05ec: 8812 ldrh r2, [r2, #0] 80c05ee: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); 80c05f0: 68fb ldr r3, [r7, #12] 80c05f2: 6b9b ldr r3, [r3, #56] ; 0x38 80c05f4: 1c9a adds r2, r3, #2 80c05f6: 68fb ldr r3, [r7, #12] 80c05f8: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount -= 2U; 80c05fa: 68fb ldr r3, [r7, #12] 80c05fc: 8fdb ldrh r3, [r3, #62] ; 0x3e 80c05fe: b29b uxth r3, r3 80c0600: 3b02 subs r3, #2 80c0602: b29a uxth r2, r3 80c0604: 68fb ldr r3, [r7, #12] 80c0606: 87da strh r2, [r3, #62] ; 0x3e 80c0608: e0b1 b.n 80c076e } else { *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr); 80c060a: 68fb ldr r3, [r7, #12] 80c060c: 681b ldr r3, [r3, #0] 80c060e: 330c adds r3, #12 80c0610: 68fa ldr r2, [r7, #12] 80c0612: 6b92 ldr r2, [r2, #56] ; 0x38 80c0614: 7812 ldrb r2, [r2, #0] 80c0616: 701a strb r2, [r3, #0] hspi->pTxBuffPtr++; 80c0618: 68fb ldr r3, [r7, #12] 80c061a: 6b9b ldr r3, [r3, #56] ; 0x38 80c061c: 1c5a adds r2, r3, #1 80c061e: 68fb ldr r3, [r7, #12] 80c0620: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount--; 80c0622: 68fb ldr r3, [r7, #12] 80c0624: 8fdb ldrh r3, [r3, #62] ; 0x3e 80c0626: b29b uxth r3, r3 80c0628: 3b01 subs r3, #1 80c062a: b29a uxth r2, r3 80c062c: 68fb ldr r3, [r7, #12] 80c062e: 87da strh r2, [r3, #62] ; 0x3e } } while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) 80c0630: e09d b.n 80c076e { /* Check TXE flag */ if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)) 80c0632: 68fb ldr r3, [r7, #12] 80c0634: 681b ldr r3, [r3, #0] 80c0636: 689b ldr r3, [r3, #8] 80c0638: f003 0302 and.w r3, r3, #2 80c063c: 2b02 cmp r3, #2 80c063e: d134 bne.n 80c06aa 80c0640: 68fb ldr r3, [r7, #12] 80c0642: 8fdb ldrh r3, [r3, #62] ; 0x3e 80c0644: b29b uxth r3, r3 80c0646: 2b00 cmp r3, #0 80c0648: d02f beq.n 80c06aa 80c064a: 6a7b ldr r3, [r7, #36] ; 0x24 80c064c: 2b01 cmp r3, #1 80c064e: d12c bne.n 80c06aa { if (hspi->TxXferCount > 1U) 80c0650: 68fb ldr r3, [r7, #12] 80c0652: 8fdb ldrh r3, [r3, #62] ; 0x3e 80c0654: b29b uxth r3, r3 80c0656: 2b01 cmp r3, #1 80c0658: d912 bls.n 80c0680 { hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr); 80c065a: 68fb ldr r3, [r7, #12] 80c065c: 681b ldr r3, [r3, #0] 80c065e: 68fa ldr r2, [r7, #12] 80c0660: 6b92 ldr r2, [r2, #56] ; 0x38 80c0662: 8812 ldrh r2, [r2, #0] 80c0664: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); 80c0666: 68fb ldr r3, [r7, #12] 80c0668: 6b9b ldr r3, [r3, #56] ; 0x38 80c066a: 1c9a adds r2, r3, #2 80c066c: 68fb ldr r3, [r7, #12] 80c066e: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount -= 2U; 80c0670: 68fb ldr r3, [r7, #12] 80c0672: 8fdb ldrh r3, [r3, #62] ; 0x3e 80c0674: b29b uxth r3, r3 80c0676: 3b02 subs r3, #2 80c0678: b29a uxth r2, r3 80c067a: 68fb ldr r3, [r7, #12] 80c067c: 87da strh r2, [r3, #62] ; 0x3e 80c067e: e012 b.n 80c06a6 } else { *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr); 80c0680: 68fb ldr r3, [r7, #12] 80c0682: 681b ldr r3, [r3, #0] 80c0684: 330c adds r3, #12 80c0686: 68fa ldr r2, [r7, #12] 80c0688: 6b92 ldr r2, [r2, #56] ; 0x38 80c068a: 7812 ldrb r2, [r2, #0] 80c068c: 701a strb r2, [r3, #0] hspi->pTxBuffPtr++; 80c068e: 68fb ldr r3, [r7, #12] 80c0690: 6b9b ldr r3, [r3, #56] ; 0x38 80c0692: 1c5a adds r2, r3, #1 80c0694: 68fb ldr r3, [r7, #12] 80c0696: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount--; 80c0698: 68fb ldr r3, [r7, #12] 80c069a: 8fdb ldrh r3, [r3, #62] ; 0x3e 80c069c: b29b uxth r3, r3 80c069e: 3b01 subs r3, #1 80c06a0: b29a uxth r2, r3 80c06a2: 68fb ldr r3, [r7, #12] 80c06a4: 87da strh r2, [r3, #62] ; 0x3e } /* Next Data is a reception (Rx). Tx not allowed */ txallowed = 0U; 80c06a6: 2300 movs r3, #0 80c06a8: 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)) 80c06aa: 68fb ldr r3, [r7, #12] 80c06ac: 681b ldr r3, [r3, #0] 80c06ae: 689b ldr r3, [r3, #8] 80c06b0: f003 0301 and.w r3, r3, #1 80c06b4: 2b01 cmp r3, #1 80c06b6: d147 bne.n 80c0748 80c06b8: 68fb ldr r3, [r7, #12] 80c06ba: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80c06be: b29b uxth r3, r3 80c06c0: 2b00 cmp r3, #0 80c06c2: d041 beq.n 80c0748 { if (hspi->RxXferCount > 1U) 80c06c4: 68fb ldr r3, [r7, #12] 80c06c6: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80c06ca: b29b uxth r3, r3 80c06cc: 2b01 cmp r3, #1 80c06ce: d923 bls.n 80c0718 { *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR; 80c06d0: 68fb ldr r3, [r7, #12] 80c06d2: 6c1b ldr r3, [r3, #64] ; 0x40 80c06d4: 68fa ldr r2, [r7, #12] 80c06d6: 6812 ldr r2, [r2, #0] 80c06d8: 68d2 ldr r2, [r2, #12] 80c06da: b292 uxth r2, r2 80c06dc: 801a strh r2, [r3, #0] hspi->pRxBuffPtr += sizeof(uint16_t); 80c06de: 68fb ldr r3, [r7, #12] 80c06e0: 6c1b ldr r3, [r3, #64] ; 0x40 80c06e2: 1c9a adds r2, r3, #2 80c06e4: 68fb ldr r3, [r7, #12] 80c06e6: 641a str r2, [r3, #64] ; 0x40 hspi->RxXferCount -= 2U; 80c06e8: 68fb ldr r3, [r7, #12] 80c06ea: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80c06ee: b29b uxth r3, r3 80c06f0: 3b02 subs r3, #2 80c06f2: b29a uxth r2, r3 80c06f4: 68fb ldr r3, [r7, #12] 80c06f6: f8a3 2046 strh.w r2, [r3, #70] ; 0x46 if (hspi->RxXferCount <= 1U) 80c06fa: 68fb ldr r3, [r7, #12] 80c06fc: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80c0700: b29b uxth r3, r3 80c0702: 2b01 cmp r3, #1 80c0704: d81e bhi.n 80c0744 { /* Set RX Fifo threshold before to switch on 8 bit data size */ SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD); 80c0706: 68fb ldr r3, [r7, #12] 80c0708: 681b ldr r3, [r3, #0] 80c070a: 68fa ldr r2, [r7, #12] 80c070c: 6812 ldr r2, [r2, #0] 80c070e: 6852 ldr r2, [r2, #4] 80c0710: f442 5280 orr.w r2, r2, #4096 ; 0x1000 80c0714: 605a str r2, [r3, #4] 80c0716: e015 b.n 80c0744 } } else { (*(uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR; 80c0718: 68fb ldr r3, [r7, #12] 80c071a: 6c1b ldr r3, [r3, #64] ; 0x40 80c071c: 68fa ldr r2, [r7, #12] 80c071e: 6812 ldr r2, [r2, #0] 80c0720: 320c adds r2, #12 80c0722: 7812 ldrb r2, [r2, #0] 80c0724: b2d2 uxtb r2, r2 80c0726: 701a strb r2, [r3, #0] hspi->pRxBuffPtr++; 80c0728: 68fb ldr r3, [r7, #12] 80c072a: 6c1b ldr r3, [r3, #64] ; 0x40 80c072c: 1c5a adds r2, r3, #1 80c072e: 68fb ldr r3, [r7, #12] 80c0730: 641a str r2, [r3, #64] ; 0x40 hspi->RxXferCount--; 80c0732: 68fb ldr r3, [r7, #12] 80c0734: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80c0738: b29b uxth r3, r3 80c073a: 3b01 subs r3, #1 80c073c: b29a uxth r2, r3 80c073e: 68fb ldr r3, [r7, #12] 80c0740: f8a3 2046 strh.w r2, [r3, #70] ; 0x46 } /* Next Data is a Transmission (Tx). Tx is allowed */ txallowed = 1U; 80c0744: 2301 movs r3, #1 80c0746: 627b str r3, [r7, #36] ; 0x24 } if ((((HAL_GetTick() - tickstart) >= Timeout) && ((Timeout != HAL_MAX_DELAY))) || (Timeout == 0U)) 80c0748: f7f7 f96c bl 80b7a24 80c074c: 4602 mov r2, r0 80c074e: 69fb ldr r3, [r7, #28] 80c0750: 1ad2 subs r2, r2, r3 80c0752: 6b3b ldr r3, [r7, #48] ; 0x30 80c0754: 429a cmp r2, r3 80c0756: d303 bcc.n 80c0760 80c0758: 6b3b ldr r3, [r7, #48] ; 0x30 80c075a: f1b3 3fff cmp.w r3, #4294967295 80c075e: d102 bne.n 80c0766 80c0760: 6b3b ldr r3, [r7, #48] ; 0x30 80c0762: 2b00 cmp r3, #0 80c0764: d103 bne.n 80c076e { errorcode = HAL_TIMEOUT; 80c0766: 2303 movs r3, #3 80c0768: f887 3023 strb.w r3, [r7, #35] ; 0x23 goto error; 80c076c: e01a b.n 80c07a4 while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) 80c076e: 68fb ldr r3, [r7, #12] 80c0770: 8fdb ldrh r3, [r3, #62] ; 0x3e 80c0772: b29b uxth r3, r3 80c0774: 2b00 cmp r3, #0 80c0776: f47f af5c bne.w 80c0632 80c077a: 68fb ldr r3, [r7, #12] 80c077c: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80c0780: b29b uxth r3, r3 80c0782: 2b00 cmp r3, #0 80c0784: f47f af55 bne.w 80c0632 errorcode = HAL_ERROR; } #endif /* USE_SPI_CRC */ /* Check the end of the transaction */ if (SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK) 80c0788: 69fa ldr r2, [r7, #28] 80c078a: 6b39 ldr r1, [r7, #48] ; 0x30 80c078c: 68f8 ldr r0, [r7, #12] 80c078e: f000 f935 bl 80c09fc 80c0792: 4603 mov r3, r0 80c0794: 2b00 cmp r3, #0 80c0796: d005 beq.n 80c07a4 { errorcode = HAL_ERROR; 80c0798: 2301 movs r3, #1 80c079a: f887 3023 strb.w r3, [r7, #35] ; 0x23 hspi->ErrorCode = HAL_SPI_ERROR_FLAG; 80c079e: 68fb ldr r3, [r7, #12] 80c07a0: 2220 movs r2, #32 80c07a2: 661a str r2, [r3, #96] ; 0x60 } error : hspi->State = HAL_SPI_STATE_READY; 80c07a4: 68fb ldr r3, [r7, #12] 80c07a6: 2201 movs r2, #1 80c07a8: f883 205d strb.w r2, [r3, #93] ; 0x5d __HAL_UNLOCK(hspi); 80c07ac: 68fb ldr r3, [r7, #12] 80c07ae: 2200 movs r2, #0 80c07b0: f883 205c strb.w r2, [r3, #92] ; 0x5c return errorcode; 80c07b4: f897 3023 ldrb.w r3, [r7, #35] ; 0x23 } 80c07b8: 4618 mov r0, r3 80c07ba: 3728 adds r7, #40 ; 0x28 80c07bc: 46bd mov sp, r7 80c07be: bd80 pop {r7, pc} 080c07c0 : * @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) { 80c07c0: b580 push {r7, lr} 80c07c2: b088 sub sp, #32 80c07c4: af00 add r7, sp, #0 80c07c6: 60f8 str r0, [r7, #12] 80c07c8: 60b9 str r1, [r7, #8] 80c07ca: 603b str r3, [r7, #0] 80c07cc: 4613 mov r3, r2 80c07ce: 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); 80c07d0: f7f7 f928 bl 80b7a24 80c07d4: 4602 mov r2, r0 80c07d6: 6abb ldr r3, [r7, #40] ; 0x28 80c07d8: 1a9a subs r2, r3, r2 80c07da: 683b ldr r3, [r7, #0] 80c07dc: 4413 add r3, r2 80c07de: 61fb str r3, [r7, #28] tmp_tickstart = HAL_GetTick(); 80c07e0: f7f7 f920 bl 80b7a24 80c07e4: 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); 80c07e6: 4b39 ldr r3, [pc, #228] ; (80c08cc ) 80c07e8: 681b ldr r3, [r3, #0] 80c07ea: 015b lsls r3, r3, #5 80c07ec: 0d1b lsrs r3, r3, #20 80c07ee: 69fa ldr r2, [r7, #28] 80c07f0: fb02 f303 mul.w r3, r2, r3 80c07f4: 617b str r3, [r7, #20] while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State) 80c07f6: e054 b.n 80c08a2 { if (Timeout != HAL_MAX_DELAY) 80c07f8: 683b ldr r3, [r7, #0] 80c07fa: f1b3 3fff cmp.w r3, #4294967295 80c07fe: d050 beq.n 80c08a2 { if (((HAL_GetTick() - tmp_tickstart) >= tmp_timeout) || (tmp_timeout == 0U)) 80c0800: f7f7 f910 bl 80b7a24 80c0804: 4602 mov r2, r0 80c0806: 69bb ldr r3, [r7, #24] 80c0808: 1ad2 subs r2, r2, r3 80c080a: 69fb ldr r3, [r7, #28] 80c080c: 429a cmp r2, r3 80c080e: d202 bcs.n 80c0816 80c0810: 69fb ldr r3, [r7, #28] 80c0812: 2b00 cmp r3, #0 80c0814: d13d bne.n 80c0892 /* 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)); 80c0816: 68fb ldr r3, [r7, #12] 80c0818: 681b ldr r3, [r3, #0] 80c081a: 68fa ldr r2, [r7, #12] 80c081c: 6812 ldr r2, [r2, #0] 80c081e: 6852 ldr r2, [r2, #4] 80c0820: f022 02e0 bic.w r2, r2, #224 ; 0xe0 80c0824: 605a str r2, [r3, #4] if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE) 80c0826: 68fb ldr r3, [r7, #12] 80c0828: 685b ldr r3, [r3, #4] 80c082a: f5b3 7f82 cmp.w r3, #260 ; 0x104 80c082e: d111 bne.n 80c0854 80c0830: 68fb ldr r3, [r7, #12] 80c0832: 689b ldr r3, [r3, #8] 80c0834: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 80c0838: d004 beq.n 80c0844 || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXONLY))) 80c083a: 68fb ldr r3, [r7, #12] 80c083c: 689b ldr r3, [r3, #8] 80c083e: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80c0842: d107 bne.n 80c0854 { /* Disable SPI peripheral */ __HAL_SPI_DISABLE(hspi); 80c0844: 68fb ldr r3, [r7, #12] 80c0846: 681b ldr r3, [r3, #0] 80c0848: 68fa ldr r2, [r7, #12] 80c084a: 6812 ldr r2, [r2, #0] 80c084c: 6812 ldr r2, [r2, #0] 80c084e: f022 0240 bic.w r2, r2, #64 ; 0x40 80c0852: 601a str r2, [r3, #0] } /* Reset CRC Calculation */ if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 80c0854: 68fb ldr r3, [r7, #12] 80c0856: 6a9b ldr r3, [r3, #40] ; 0x28 80c0858: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80c085c: d10f bne.n 80c087e { SPI_RESET_CRC(hspi); 80c085e: 68fb ldr r3, [r7, #12] 80c0860: 681b ldr r3, [r3, #0] 80c0862: 68fa ldr r2, [r7, #12] 80c0864: 6812 ldr r2, [r2, #0] 80c0866: 6812 ldr r2, [r2, #0] 80c0868: f422 5200 bic.w r2, r2, #8192 ; 0x2000 80c086c: 601a str r2, [r3, #0] 80c086e: 68fb ldr r3, [r7, #12] 80c0870: 681b ldr r3, [r3, #0] 80c0872: 68fa ldr r2, [r7, #12] 80c0874: 6812 ldr r2, [r2, #0] 80c0876: 6812 ldr r2, [r2, #0] 80c0878: f442 5200 orr.w r2, r2, #8192 ; 0x2000 80c087c: 601a str r2, [r3, #0] } hspi->State = HAL_SPI_STATE_READY; 80c087e: 68fb ldr r3, [r7, #12] 80c0880: 2201 movs r2, #1 80c0882: f883 205d strb.w r2, [r3, #93] ; 0x5d /* Process Unlocked */ __HAL_UNLOCK(hspi); 80c0886: 68fb ldr r3, [r7, #12] 80c0888: 2200 movs r2, #0 80c088a: f883 205c strb.w r2, [r3, #92] ; 0x5c return HAL_TIMEOUT; 80c088e: 2303 movs r3, #3 80c0890: e017 b.n 80c08c2 } /* If Systick is disabled or not incremented, deactivate timeout to go in disable loop procedure */ if (count == 0U) 80c0892: 697b ldr r3, [r7, #20] 80c0894: 2b00 cmp r3, #0 80c0896: d101 bne.n 80c089c { tmp_timeout = 0U; 80c0898: 2300 movs r3, #0 80c089a: 61fb str r3, [r7, #28] } count--; 80c089c: 697b ldr r3, [r7, #20] 80c089e: 3b01 subs r3, #1 80c08a0: 617b str r3, [r7, #20] while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State) 80c08a2: 68fb ldr r3, [r7, #12] 80c08a4: 681b ldr r3, [r3, #0] 80c08a6: 689a ldr r2, [r3, #8] 80c08a8: 68bb ldr r3, [r7, #8] 80c08aa: 401a ands r2, r3 80c08ac: 68bb ldr r3, [r7, #8] 80c08ae: 429a cmp r2, r3 80c08b0: bf0c ite eq 80c08b2: 2301 moveq r3, #1 80c08b4: 2300 movne r3, #0 80c08b6: b2db uxtb r3, r3 80c08b8: 461a mov r2, r3 80c08ba: 79fb ldrb r3, [r7, #7] 80c08bc: 429a cmp r2, r3 80c08be: d19b bne.n 80c07f8 } } return HAL_OK; 80c08c0: 2300 movs r3, #0 } 80c08c2: 4618 mov r0, r3 80c08c4: 3720 adds r7, #32 80c08c6: 46bd mov sp, r7 80c08c8: bd80 pop {r7, pc} 80c08ca: bf00 nop 80c08cc: 200209bc .word 0x200209bc 080c08d0 : * @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) { 80c08d0: b580 push {r7, lr} 80c08d2: b08a sub sp, #40 ; 0x28 80c08d4: af00 add r7, sp, #0 80c08d6: 60f8 str r0, [r7, #12] 80c08d8: 60b9 str r1, [r7, #8] 80c08da: 607a str r2, [r7, #4] 80c08dc: 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; 80c08de: 2300 movs r3, #0 80c08e0: 75fb strb r3, [r7, #23] /* Adjust Timeout value in case of end of transfer */ tmp_timeout = Timeout - (HAL_GetTick() - Tickstart); 80c08e2: f7f7 f89f bl 80b7a24 80c08e6: 4602 mov r2, r0 80c08e8: 6b3b ldr r3, [r7, #48] ; 0x30 80c08ea: 1a9a subs r2, r3, r2 80c08ec: 683b ldr r3, [r7, #0] 80c08ee: 4413 add r3, r2 80c08f0: 627b str r3, [r7, #36] ; 0x24 tmp_tickstart = HAL_GetTick(); 80c08f2: f7f7 f897 bl 80b7a24 80c08f6: 6238 str r0, [r7, #32] /* Initialize the 8bit temporary pointer */ ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR; 80c08f8: 68fb ldr r3, [r7, #12] 80c08fa: 681b ldr r3, [r3, #0] 80c08fc: 330c adds r3, #12 80c08fe: 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); 80c0900: 4b3d ldr r3, [pc, #244] ; (80c09f8 ) 80c0902: 681a ldr r2, [r3, #0] 80c0904: 4613 mov r3, r2 80c0906: 009b lsls r3, r3, #2 80c0908: 4413 add r3, r2 80c090a: 00da lsls r2, r3, #3 80c090c: 1ad3 subs r3, r2, r3 80c090e: 0d1b lsrs r3, r3, #20 80c0910: 6a7a ldr r2, [r7, #36] ; 0x24 80c0912: fb02 f303 mul.w r3, r2, r3 80c0916: 61bb str r3, [r7, #24] while ((hspi->Instance->SR & Fifo) != State) 80c0918: e060 b.n 80c09dc { if ((Fifo == SPI_SR_FRLVL) && (State == SPI_FRLVL_EMPTY)) 80c091a: 68bb ldr r3, [r7, #8] 80c091c: f5b3 6fc0 cmp.w r3, #1536 ; 0x600 80c0920: d107 bne.n 80c0932 80c0922: 687b ldr r3, [r7, #4] 80c0924: 2b00 cmp r3, #0 80c0926: d104 bne.n 80c0932 { /* Flush Data Register by a blank read */ tmpreg8 = *ptmpreg8; 80c0928: 69fb ldr r3, [r7, #28] 80c092a: 781b ldrb r3, [r3, #0] 80c092c: b2db uxtb r3, r3 80c092e: 75fb strb r3, [r7, #23] /* To avoid GCC warning */ UNUSED(tmpreg8); 80c0930: 7dfb ldrb r3, [r7, #23] } if (Timeout != HAL_MAX_DELAY) 80c0932: 683b ldr r3, [r7, #0] 80c0934: f1b3 3fff cmp.w r3, #4294967295 80c0938: d050 beq.n 80c09dc { if (((HAL_GetTick() - tmp_tickstart) >= tmp_timeout) || (tmp_timeout == 0U)) 80c093a: f7f7 f873 bl 80b7a24 80c093e: 4602 mov r2, r0 80c0940: 6a3b ldr r3, [r7, #32] 80c0942: 1ad2 subs r2, r2, r3 80c0944: 6a7b ldr r3, [r7, #36] ; 0x24 80c0946: 429a cmp r2, r3 80c0948: d202 bcs.n 80c0950 80c094a: 6a7b ldr r3, [r7, #36] ; 0x24 80c094c: 2b00 cmp r3, #0 80c094e: d13d bne.n 80c09cc /* 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)); 80c0950: 68fb ldr r3, [r7, #12] 80c0952: 681b ldr r3, [r3, #0] 80c0954: 68fa ldr r2, [r7, #12] 80c0956: 6812 ldr r2, [r2, #0] 80c0958: 6852 ldr r2, [r2, #4] 80c095a: f022 02e0 bic.w r2, r2, #224 ; 0xe0 80c095e: 605a str r2, [r3, #4] if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE) 80c0960: 68fb ldr r3, [r7, #12] 80c0962: 685b ldr r3, [r3, #4] 80c0964: f5b3 7f82 cmp.w r3, #260 ; 0x104 80c0968: d111 bne.n 80c098e 80c096a: 68fb ldr r3, [r7, #12] 80c096c: 689b ldr r3, [r3, #8] 80c096e: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 80c0972: d004 beq.n 80c097e || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXONLY))) 80c0974: 68fb ldr r3, [r7, #12] 80c0976: 689b ldr r3, [r3, #8] 80c0978: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80c097c: d107 bne.n 80c098e { /* Disable SPI peripheral */ __HAL_SPI_DISABLE(hspi); 80c097e: 68fb ldr r3, [r7, #12] 80c0980: 681b ldr r3, [r3, #0] 80c0982: 68fa ldr r2, [r7, #12] 80c0984: 6812 ldr r2, [r2, #0] 80c0986: 6812 ldr r2, [r2, #0] 80c0988: f022 0240 bic.w r2, r2, #64 ; 0x40 80c098c: 601a str r2, [r3, #0] } /* Reset CRC Calculation */ if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 80c098e: 68fb ldr r3, [r7, #12] 80c0990: 6a9b ldr r3, [r3, #40] ; 0x28 80c0992: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80c0996: d10f bne.n 80c09b8 { SPI_RESET_CRC(hspi); 80c0998: 68fb ldr r3, [r7, #12] 80c099a: 681b ldr r3, [r3, #0] 80c099c: 68fa ldr r2, [r7, #12] 80c099e: 6812 ldr r2, [r2, #0] 80c09a0: 6812 ldr r2, [r2, #0] 80c09a2: f422 5200 bic.w r2, r2, #8192 ; 0x2000 80c09a6: 601a str r2, [r3, #0] 80c09a8: 68fb ldr r3, [r7, #12] 80c09aa: 681b ldr r3, [r3, #0] 80c09ac: 68fa ldr r2, [r7, #12] 80c09ae: 6812 ldr r2, [r2, #0] 80c09b0: 6812 ldr r2, [r2, #0] 80c09b2: f442 5200 orr.w r2, r2, #8192 ; 0x2000 80c09b6: 601a str r2, [r3, #0] } hspi->State = HAL_SPI_STATE_READY; 80c09b8: 68fb ldr r3, [r7, #12] 80c09ba: 2201 movs r2, #1 80c09bc: f883 205d strb.w r2, [r3, #93] ; 0x5d /* Process Unlocked */ __HAL_UNLOCK(hspi); 80c09c0: 68fb ldr r3, [r7, #12] 80c09c2: 2200 movs r2, #0 80c09c4: f883 205c strb.w r2, [r3, #92] ; 0x5c return HAL_TIMEOUT; 80c09c8: 2303 movs r3, #3 80c09ca: e010 b.n 80c09ee } /* If Systick is disabled or not incremented, deactivate timeout to go in disable loop procedure */ if (count == 0U) 80c09cc: 69bb ldr r3, [r7, #24] 80c09ce: 2b00 cmp r3, #0 80c09d0: d101 bne.n 80c09d6 { tmp_timeout = 0U; 80c09d2: 2300 movs r3, #0 80c09d4: 627b str r3, [r7, #36] ; 0x24 } count--; 80c09d6: 69bb ldr r3, [r7, #24] 80c09d8: 3b01 subs r3, #1 80c09da: 61bb str r3, [r7, #24] while ((hspi->Instance->SR & Fifo) != State) 80c09dc: 68fb ldr r3, [r7, #12] 80c09de: 681b ldr r3, [r3, #0] 80c09e0: 689a ldr r2, [r3, #8] 80c09e2: 68bb ldr r3, [r7, #8] 80c09e4: 401a ands r2, r3 80c09e6: 687b ldr r3, [r7, #4] 80c09e8: 429a cmp r2, r3 80c09ea: d196 bne.n 80c091a } } return HAL_OK; 80c09ec: 2300 movs r3, #0 } 80c09ee: 4618 mov r0, r3 80c09f0: 3728 adds r7, #40 ; 0x28 80c09f2: 46bd mov sp, r7 80c09f4: bd80 pop {r7, pc} 80c09f6: bf00 nop 80c09f8: 200209bc .word 0x200209bc 080c09fc : * @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) { 80c09fc: b580 push {r7, lr} 80c09fe: b088 sub sp, #32 80c0a00: af02 add r7, sp, #8 80c0a02: 60f8 str r0, [r7, #12] 80c0a04: 60b9 str r1, [r7, #8] 80c0a06: 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) 80c0a08: 687b ldr r3, [r7, #4] 80c0a0a: 9300 str r3, [sp, #0] 80c0a0c: 68bb ldr r3, [r7, #8] 80c0a0e: 2200 movs r2, #0 80c0a10: f44f 51c0 mov.w r1, #6144 ; 0x1800 80c0a14: 68f8 ldr r0, [r7, #12] 80c0a16: f7ff ff5b bl 80c08d0 80c0a1a: 4603 mov r3, r0 80c0a1c: 2b00 cmp r3, #0 80c0a1e: d007 beq.n 80c0a30 { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 80c0a20: 68fb ldr r3, [r7, #12] 80c0a22: 6e1b ldr r3, [r3, #96] ; 0x60 80c0a24: f043 0220 orr.w r2, r3, #32 80c0a28: 68fb ldr r3, [r7, #12] 80c0a2a: 661a str r2, [r3, #96] ; 0x60 return HAL_TIMEOUT; 80c0a2c: 2303 movs r3, #3 80c0a2e: e046 b.n 80c0abe } /* Timeout in µs */ __IO uint32_t count = SPI_BSY_FLAG_WORKAROUND_TIMEOUT * (SystemCoreClock / 24U / 1000000U); 80c0a30: 4b25 ldr r3, [pc, #148] ; (80c0ac8 ) 80c0a32: 681b ldr r3, [r3, #0] 80c0a34: 4a25 ldr r2, [pc, #148] ; (80c0acc ) 80c0a36: fba2 2303 umull r2, r3, r2, r3 80c0a3a: 0d5b lsrs r3, r3, #21 80c0a3c: f44f 727a mov.w r2, #1000 ; 0x3e8 80c0a40: fb02 f303 mul.w r3, r2, r3 80c0a44: 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) 80c0a46: 68fb ldr r3, [r7, #12] 80c0a48: 685b ldr r3, [r3, #4] 80c0a4a: f5b3 7f82 cmp.w r3, #260 ; 0x104 80c0a4e: d112 bne.n 80c0a76 { /* Control the BSY flag */ if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, Timeout, Tickstart) != HAL_OK) 80c0a50: 687b ldr r3, [r7, #4] 80c0a52: 9300 str r3, [sp, #0] 80c0a54: 68bb ldr r3, [r7, #8] 80c0a56: 2200 movs r2, #0 80c0a58: 2180 movs r1, #128 ; 0x80 80c0a5a: 68f8 ldr r0, [r7, #12] 80c0a5c: f7ff feb0 bl 80c07c0 80c0a60: 4603 mov r3, r0 80c0a62: 2b00 cmp r3, #0 80c0a64: d016 beq.n 80c0a94 { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 80c0a66: 68fb ldr r3, [r7, #12] 80c0a68: 6e1b ldr r3, [r3, #96] ; 0x60 80c0a6a: f043 0220 orr.w r2, r3, #32 80c0a6e: 68fb ldr r3, [r7, #12] 80c0a70: 661a str r2, [r3, #96] ; 0x60 return HAL_TIMEOUT; 80c0a72: 2303 movs r3, #3 80c0a74: e023 b.n 80c0abe * 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) 80c0a76: 697b ldr r3, [r7, #20] 80c0a78: 2b00 cmp r3, #0 80c0a7a: d00a beq.n 80c0a92 { break; } count--; 80c0a7c: 697b ldr r3, [r7, #20] 80c0a7e: 3b01 subs r3, #1 80c0a80: 617b str r3, [r7, #20] } while (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_BSY) != RESET); 80c0a82: 68fb ldr r3, [r7, #12] 80c0a84: 681b ldr r3, [r3, #0] 80c0a86: 689b ldr r3, [r3, #8] 80c0a88: f003 0380 and.w r3, r3, #128 ; 0x80 80c0a8c: 2b80 cmp r3, #128 ; 0x80 80c0a8e: d0f2 beq.n 80c0a76 80c0a90: e000 b.n 80c0a94 break; 80c0a92: bf00 nop } /* Control if the RX fifo is empty */ if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, Timeout, Tickstart) != HAL_OK) 80c0a94: 687b ldr r3, [r7, #4] 80c0a96: 9300 str r3, [sp, #0] 80c0a98: 68bb ldr r3, [r7, #8] 80c0a9a: 2200 movs r2, #0 80c0a9c: f44f 61c0 mov.w r1, #1536 ; 0x600 80c0aa0: 68f8 ldr r0, [r7, #12] 80c0aa2: f7ff ff15 bl 80c08d0 80c0aa6: 4603 mov r3, r0 80c0aa8: 2b00 cmp r3, #0 80c0aaa: d007 beq.n 80c0abc { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 80c0aac: 68fb ldr r3, [r7, #12] 80c0aae: 6e1b ldr r3, [r3, #96] ; 0x60 80c0ab0: f043 0220 orr.w r2, r3, #32 80c0ab4: 68fb ldr r3, [r7, #12] 80c0ab6: 661a str r2, [r3, #96] ; 0x60 return HAL_TIMEOUT; 80c0ab8: 2303 movs r3, #3 80c0aba: e000 b.n 80c0abe } return HAL_OK; 80c0abc: 2300 movs r3, #0 } 80c0abe: 4618 mov r0, r3 80c0ac0: 3718 adds r7, #24 80c0ac2: 46bd mov sp, r7 80c0ac4: bd80 pop {r7, pc} 80c0ac6: bf00 nop 80c0ac8: 200209bc .word 0x200209bc 80c0acc: 165e9f81 .word 0x165e9f81 080c0ad0 : * @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) { 80c0ad0: b580 push {r7, lr} 80c0ad2: b084 sub sp, #16 80c0ad4: af00 add r7, sp, #0 80c0ad6: 60f8 str r0, [r7, #12] 80c0ad8: 60b9 str r1, [r7, #8] 80c0ada: 607a str r2, [r7, #4] /* Check the SRAM handle parameter */ if (hsram == NULL) 80c0adc: 68fb ldr r3, [r7, #12] 80c0ade: 2b00 cmp r3, #0 80c0ae0: d101 bne.n 80c0ae6 { return HAL_ERROR; 80c0ae2: 2301 movs r3, #1 80c0ae4: e038 b.n 80c0b58 } if (hsram->State == HAL_SRAM_STATE_RESET) 80c0ae6: 68fb ldr r3, [r7, #12] 80c0ae8: f893 3045 ldrb.w r3, [r3, #69] ; 0x45 80c0aec: b2db uxtb r3, r3 80c0aee: 2b00 cmp r3, #0 80c0af0: d106 bne.n 80c0b00 { /* Allocate lock resource and initialize it */ hsram->Lock = HAL_UNLOCKED; 80c0af2: 68fb ldr r3, [r7, #12] 80c0af4: 2200 movs r2, #0 80c0af6: 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); 80c0afa: 68f8 ldr r0, [r7, #12] 80c0afc: f76f f98c bl 802fe18 #endif /* USE_HAL_SRAM_REGISTER_CALLBACKS */ } /* Initialize SRAM control Interface */ (void)FMC_NORSRAM_Init(hsram->Instance, &(hsram->Init)); 80c0b00: 68fb ldr r3, [r7, #12] 80c0b02: 681a ldr r2, [r3, #0] 80c0b04: 68fb ldr r3, [r7, #12] 80c0b06: 3308 adds r3, #8 80c0b08: 4619 mov r1, r3 80c0b0a: 4610 mov r0, r2 80c0b0c: f001 fb18 bl 80c2140 /* Initialize SRAM timing Interface */ (void)FMC_NORSRAM_Timing_Init(hsram->Instance, Timing, hsram->Init.NSBank); 80c0b10: 68fb ldr r3, [r7, #12] 80c0b12: 6818 ldr r0, [r3, #0] 80c0b14: 68fb ldr r3, [r7, #12] 80c0b16: 689b ldr r3, [r3, #8] 80c0b18: 461a mov r2, r3 80c0b1a: 68b9 ldr r1, [r7, #8] 80c0b1c: f001 fba0 bl 80c2260 /* Initialize SRAM extended mode timing Interface */ (void)FMC_NORSRAM_Extended_Timing_Init(hsram->Extended, ExtTiming, hsram->Init.NSBank, 80c0b20: 68fb ldr r3, [r7, #12] 80c0b22: 6858 ldr r0, [r3, #4] 80c0b24: 68fb ldr r3, [r7, #12] 80c0b26: 689a ldr r2, [r3, #8] 80c0b28: 68fb ldr r3, [r7, #12] 80c0b2a: 6adb ldr r3, [r3, #44] ; 0x2c 80c0b2c: 6879 ldr r1, [r7, #4] 80c0b2e: f001 fbe7 bl 80c2300 hsram->Init.ExtendedMode); /* Enable the NORSRAM device */ __FMC_NORSRAM_ENABLE(hsram->Instance, hsram->Init.NSBank); 80c0b32: 68fb ldr r3, [r7, #12] 80c0b34: 681b ldr r3, [r3, #0] 80c0b36: 68fa ldr r2, [r7, #12] 80c0b38: 6892 ldr r2, [r2, #8] 80c0b3a: 68f9 ldr r1, [r7, #12] 80c0b3c: 6809 ldr r1, [r1, #0] 80c0b3e: 68f8 ldr r0, [r7, #12] 80c0b40: 6880 ldr r0, [r0, #8] 80c0b42: f851 1020 ldr.w r1, [r1, r0, lsl #2] 80c0b46: f041 0101 orr.w r1, r1, #1 80c0b4a: f843 1022 str.w r1, [r3, r2, lsl #2] /* Initialize the SRAM controller state */ hsram->State = HAL_SRAM_STATE_READY; 80c0b4e: 68fb ldr r3, [r7, #12] 80c0b50: 2201 movs r2, #1 80c0b52: f883 2045 strb.w r2, [r3, #69] ; 0x45 return HAL_OK; 80c0b56: 2300 movs r3, #0 } 80c0b58: 4618 mov r0, r3 80c0b5a: 3710 adds r7, #16 80c0b5c: 46bd mov sp, r7 80c0b5e: bd80 pop {r7, pc} 080c0b60 : * 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) { 80c0b60: b580 push {r7, lr} 80c0b62: b082 sub sp, #8 80c0b64: af00 add r7, sp, #0 80c0b66: 6078 str r0, [r7, #4] /* Check the TIM handle allocation */ if (htim == NULL) 80c0b68: 687b ldr r3, [r7, #4] 80c0b6a: 2b00 cmp r3, #0 80c0b6c: d101 bne.n 80c0b72 { return HAL_ERROR; 80c0b6e: 2301 movs r3, #1 80c0b70: e049 b.n 80c0c06 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) 80c0b72: 687b ldr r3, [r7, #4] 80c0b74: f893 303d ldrb.w r3, [r3, #61] ; 0x3d 80c0b78: b2db uxtb r3, r3 80c0b7a: 2b00 cmp r3, #0 80c0b7c: d106 bne.n 80c0b8c { /* Allocate lock resource and initialize it */ htim->Lock = HAL_UNLOCKED; 80c0b7e: 687b ldr r3, [r7, #4] 80c0b80: 2200 movs r2, #0 80c0b82: 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); 80c0b86: 6878 ldr r0, [r7, #4] 80c0b88: f7f2 f952 bl 80b2e30 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; 80c0b8c: 687b ldr r3, [r7, #4] 80c0b8e: 2202 movs r2, #2 80c0b90: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Set the Time Base configuration */ TIM_Base_SetConfig(htim->Instance, &htim->Init); 80c0b94: 687b ldr r3, [r7, #4] 80c0b96: 681a ldr r2, [r3, #0] 80c0b98: 687b ldr r3, [r7, #4] 80c0b9a: 3304 adds r3, #4 80c0b9c: 4619 mov r1, r3 80c0b9e: 4610 mov r0, r2 80c0ba0: f000 fb72 bl 80c1288 /* Initialize the DMA burst operation state */ htim->DMABurstState = HAL_DMA_BURST_STATE_READY; 80c0ba4: 687b ldr r3, [r7, #4] 80c0ba6: 2201 movs r2, #1 80c0ba8: f883 2048 strb.w r2, [r3, #72] ; 0x48 /* Initialize the TIM channels state */ TIM_CHANNEL_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); 80c0bac: 687b ldr r3, [r7, #4] 80c0bae: 2201 movs r2, #1 80c0bb0: f883 203e strb.w r2, [r3, #62] ; 0x3e 80c0bb4: 687b ldr r3, [r7, #4] 80c0bb6: 2201 movs r2, #1 80c0bb8: f883 203f strb.w r2, [r3, #63] ; 0x3f 80c0bbc: 687b ldr r3, [r7, #4] 80c0bbe: 2201 movs r2, #1 80c0bc0: f883 2040 strb.w r2, [r3, #64] ; 0x40 80c0bc4: 687b ldr r3, [r7, #4] 80c0bc6: 2201 movs r2, #1 80c0bc8: f883 2041 strb.w r2, [r3, #65] ; 0x41 80c0bcc: 687b ldr r3, [r7, #4] 80c0bce: 2201 movs r2, #1 80c0bd0: f883 2042 strb.w r2, [r3, #66] ; 0x42 80c0bd4: 687b ldr r3, [r7, #4] 80c0bd6: 2201 movs r2, #1 80c0bd8: f883 2043 strb.w r2, [r3, #67] ; 0x43 TIM_CHANNEL_N_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); 80c0bdc: 687b ldr r3, [r7, #4] 80c0bde: 2201 movs r2, #1 80c0be0: f883 2044 strb.w r2, [r3, #68] ; 0x44 80c0be4: 687b ldr r3, [r7, #4] 80c0be6: 2201 movs r2, #1 80c0be8: f883 2045 strb.w r2, [r3, #69] ; 0x45 80c0bec: 687b ldr r3, [r7, #4] 80c0bee: 2201 movs r2, #1 80c0bf0: f883 2046 strb.w r2, [r3, #70] ; 0x46 80c0bf4: 687b ldr r3, [r7, #4] 80c0bf6: 2201 movs r2, #1 80c0bf8: f883 2047 strb.w r2, [r3, #71] ; 0x47 /* Initialize the TIM state*/ htim->State = HAL_TIM_STATE_READY; 80c0bfc: 687b ldr r3, [r7, #4] 80c0bfe: 2201 movs r2, #1 80c0c00: f883 203d strb.w r2, [r3, #61] ; 0x3d return HAL_OK; 80c0c04: 2300 movs r3, #0 } 80c0c06: 4618 mov r0, r3 80c0c08: 3708 adds r7, #8 80c0c0a: 46bd mov sp, r7 80c0c0c: bd80 pop {r7, pc} ... 080c0c10 : * @brief Starts the TIM Base generation. * @param htim TIM Base handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_Base_Start(TIM_HandleTypeDef *htim) { 80c0c10: b480 push {r7} 80c0c12: b085 sub sp, #20 80c0c14: af00 add r7, sp, #0 80c0c16: 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) 80c0c18: 687b ldr r3, [r7, #4] 80c0c1a: f893 303d ldrb.w r3, [r3, #61] ; 0x3d 80c0c1e: b2db uxtb r3, r3 80c0c20: 2b01 cmp r3, #1 80c0c22: d001 beq.n 80c0c28 { return HAL_ERROR; 80c0c24: 2301 movs r3, #1 80c0c26: e04c b.n 80c0cc2 } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; 80c0c28: 687b ldr r3, [r7, #4] 80c0c2a: 2202 movs r2, #2 80c0c2c: 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)) 80c0c30: 687b ldr r3, [r7, #4] 80c0c32: 681b ldr r3, [r3, #0] 80c0c34: 4a26 ldr r2, [pc, #152] ; (80c0cd0 ) 80c0c36: 4293 cmp r3, r2 80c0c38: d022 beq.n 80c0c80 80c0c3a: 687b ldr r3, [r7, #4] 80c0c3c: 681b ldr r3, [r3, #0] 80c0c3e: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80c0c42: d01d beq.n 80c0c80 80c0c44: 687b ldr r3, [r7, #4] 80c0c46: 681b ldr r3, [r3, #0] 80c0c48: 4a22 ldr r2, [pc, #136] ; (80c0cd4 ) 80c0c4a: 4293 cmp r3, r2 80c0c4c: d018 beq.n 80c0c80 80c0c4e: 687b ldr r3, [r7, #4] 80c0c50: 681b ldr r3, [r3, #0] 80c0c52: 4a21 ldr r2, [pc, #132] ; (80c0cd8 ) 80c0c54: 4293 cmp r3, r2 80c0c56: d013 beq.n 80c0c80 80c0c58: 687b ldr r3, [r7, #4] 80c0c5a: 681b ldr r3, [r3, #0] 80c0c5c: 4a1f ldr r2, [pc, #124] ; (80c0cdc ) 80c0c5e: 4293 cmp r3, r2 80c0c60: d00e beq.n 80c0c80 80c0c62: 687b ldr r3, [r7, #4] 80c0c64: 681b ldr r3, [r3, #0] 80c0c66: 4a1e ldr r2, [pc, #120] ; (80c0ce0 ) 80c0c68: 4293 cmp r3, r2 80c0c6a: d009 beq.n 80c0c80 80c0c6c: 687b ldr r3, [r7, #4] 80c0c6e: 681b ldr r3, [r3, #0] 80c0c70: 4a1c ldr r2, [pc, #112] ; (80c0ce4 ) 80c0c72: 4293 cmp r3, r2 80c0c74: d004 beq.n 80c0c80 80c0c76: 687b ldr r3, [r7, #4] 80c0c78: 681b ldr r3, [r3, #0] 80c0c7a: 4a1b ldr r2, [pc, #108] ; (80c0ce8 ) 80c0c7c: 4293 cmp r3, r2 80c0c7e: d115 bne.n 80c0cac { tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS; 80c0c80: 687b ldr r3, [r7, #4] 80c0c82: 681b ldr r3, [r3, #0] 80c0c84: 689a ldr r2, [r3, #8] 80c0c86: 4b19 ldr r3, [pc, #100] ; (80c0cec ) 80c0c88: 4013 ands r3, r2 80c0c8a: 60fb str r3, [r7, #12] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80c0c8c: 68fb ldr r3, [r7, #12] 80c0c8e: 2b06 cmp r3, #6 80c0c90: d015 beq.n 80c0cbe 80c0c92: 68fb ldr r3, [r7, #12] 80c0c94: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80c0c98: d011 beq.n 80c0cbe { __HAL_TIM_ENABLE(htim); 80c0c9a: 687b ldr r3, [r7, #4] 80c0c9c: 681b ldr r3, [r3, #0] 80c0c9e: 687a ldr r2, [r7, #4] 80c0ca0: 6812 ldr r2, [r2, #0] 80c0ca2: 6812 ldr r2, [r2, #0] 80c0ca4: f042 0201 orr.w r2, r2, #1 80c0ca8: 601a str r2, [r3, #0] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80c0caa: e008 b.n 80c0cbe } } else { __HAL_TIM_ENABLE(htim); 80c0cac: 687b ldr r3, [r7, #4] 80c0cae: 681b ldr r3, [r3, #0] 80c0cb0: 687a ldr r2, [r7, #4] 80c0cb2: 6812 ldr r2, [r2, #0] 80c0cb4: 6812 ldr r2, [r2, #0] 80c0cb6: f042 0201 orr.w r2, r2, #1 80c0cba: 601a str r2, [r3, #0] 80c0cbc: e000 b.n 80c0cc0 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80c0cbe: bf00 nop } /* Return function status */ return HAL_OK; 80c0cc0: 2300 movs r3, #0 } 80c0cc2: 4618 mov r0, r3 80c0cc4: 3714 adds r7, #20 80c0cc6: 46bd mov sp, r7 80c0cc8: f85d 7b04 ldr.w r7, [sp], #4 80c0ccc: 4770 bx lr 80c0cce: bf00 nop 80c0cd0: 40010000 .word 0x40010000 80c0cd4: 40000400 .word 0x40000400 80c0cd8: 40000800 .word 0x40000800 80c0cdc: 40000c00 .word 0x40000c00 80c0ce0: 40010400 .word 0x40010400 80c0ce4: 40014000 .word 0x40014000 80c0ce8: 40001800 .word 0x40001800 80c0cec: 00010007 .word 0x00010007 080c0cf0 : * @brief Stops the TIM Base generation. * @param htim TIM Base handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_Base_Stop(TIM_HandleTypeDef *htim) { 80c0cf0: b480 push {r7} 80c0cf2: b083 sub sp, #12 80c0cf4: af00 add r7, sp, #0 80c0cf6: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_TIM_INSTANCE(htim->Instance)); /* Disable the Peripheral */ __HAL_TIM_DISABLE(htim); 80c0cf8: 687b ldr r3, [r7, #4] 80c0cfa: 681b ldr r3, [r3, #0] 80c0cfc: 6a1a ldr r2, [r3, #32] 80c0cfe: f241 1311 movw r3, #4369 ; 0x1111 80c0d02: 4013 ands r3, r2 80c0d04: 2b00 cmp r3, #0 80c0d06: d10f bne.n 80c0d28 80c0d08: 687b ldr r3, [r7, #4] 80c0d0a: 681b ldr r3, [r3, #0] 80c0d0c: 6a1a ldr r2, [r3, #32] 80c0d0e: f240 4344 movw r3, #1092 ; 0x444 80c0d12: 4013 ands r3, r2 80c0d14: 2b00 cmp r3, #0 80c0d16: d107 bne.n 80c0d28 80c0d18: 687b ldr r3, [r7, #4] 80c0d1a: 681b ldr r3, [r3, #0] 80c0d1c: 687a ldr r2, [r7, #4] 80c0d1e: 6812 ldr r2, [r2, #0] 80c0d20: 6812 ldr r2, [r2, #0] 80c0d22: f022 0201 bic.w r2, r2, #1 80c0d26: 601a str r2, [r3, #0] /* Set the TIM state */ htim->State = HAL_TIM_STATE_READY; 80c0d28: 687b ldr r3, [r7, #4] 80c0d2a: 2201 movs r2, #1 80c0d2c: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Return function status */ return HAL_OK; 80c0d30: 2300 movs r3, #0 } 80c0d32: 4618 mov r0, r3 80c0d34: 370c adds r7, #12 80c0d36: 46bd mov sp, r7 80c0d38: f85d 7b04 ldr.w r7, [sp], #4 80c0d3c: 4770 bx lr ... 080c0d40 : * @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) { 80c0d40: b480 push {r7} 80c0d42: b085 sub sp, #20 80c0d44: af00 add r7, sp, #0 80c0d46: 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) 80c0d48: 687b ldr r3, [r7, #4] 80c0d4a: f893 303d ldrb.w r3, [r3, #61] ; 0x3d 80c0d4e: b2db uxtb r3, r3 80c0d50: 2b01 cmp r3, #1 80c0d52: d001 beq.n 80c0d58 { return HAL_ERROR; 80c0d54: 2301 movs r3, #1 80c0d56: e054 b.n 80c0e02 } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; 80c0d58: 687b ldr r3, [r7, #4] 80c0d5a: 2202 movs r2, #2 80c0d5c: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Enable the TIM Update interrupt */ __HAL_TIM_ENABLE_IT(htim, TIM_IT_UPDATE); 80c0d60: 687b ldr r3, [r7, #4] 80c0d62: 681b ldr r3, [r3, #0] 80c0d64: 687a ldr r2, [r7, #4] 80c0d66: 6812 ldr r2, [r2, #0] 80c0d68: 68d2 ldr r2, [r2, #12] 80c0d6a: f042 0201 orr.w r2, r2, #1 80c0d6e: 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)) 80c0d70: 687b ldr r3, [r7, #4] 80c0d72: 681b ldr r3, [r3, #0] 80c0d74: 4a26 ldr r2, [pc, #152] ; (80c0e10 ) 80c0d76: 4293 cmp r3, r2 80c0d78: d022 beq.n 80c0dc0 80c0d7a: 687b ldr r3, [r7, #4] 80c0d7c: 681b ldr r3, [r3, #0] 80c0d7e: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80c0d82: d01d beq.n 80c0dc0 80c0d84: 687b ldr r3, [r7, #4] 80c0d86: 681b ldr r3, [r3, #0] 80c0d88: 4a22 ldr r2, [pc, #136] ; (80c0e14 ) 80c0d8a: 4293 cmp r3, r2 80c0d8c: d018 beq.n 80c0dc0 80c0d8e: 687b ldr r3, [r7, #4] 80c0d90: 681b ldr r3, [r3, #0] 80c0d92: 4a21 ldr r2, [pc, #132] ; (80c0e18 ) 80c0d94: 4293 cmp r3, r2 80c0d96: d013 beq.n 80c0dc0 80c0d98: 687b ldr r3, [r7, #4] 80c0d9a: 681b ldr r3, [r3, #0] 80c0d9c: 4a1f ldr r2, [pc, #124] ; (80c0e1c ) 80c0d9e: 4293 cmp r3, r2 80c0da0: d00e beq.n 80c0dc0 80c0da2: 687b ldr r3, [r7, #4] 80c0da4: 681b ldr r3, [r3, #0] 80c0da6: 4a1e ldr r2, [pc, #120] ; (80c0e20 ) 80c0da8: 4293 cmp r3, r2 80c0daa: d009 beq.n 80c0dc0 80c0dac: 687b ldr r3, [r7, #4] 80c0dae: 681b ldr r3, [r3, #0] 80c0db0: 4a1c ldr r2, [pc, #112] ; (80c0e24 ) 80c0db2: 4293 cmp r3, r2 80c0db4: d004 beq.n 80c0dc0 80c0db6: 687b ldr r3, [r7, #4] 80c0db8: 681b ldr r3, [r3, #0] 80c0dba: 4a1b ldr r2, [pc, #108] ; (80c0e28 ) 80c0dbc: 4293 cmp r3, r2 80c0dbe: d115 bne.n 80c0dec { tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS; 80c0dc0: 687b ldr r3, [r7, #4] 80c0dc2: 681b ldr r3, [r3, #0] 80c0dc4: 689a ldr r2, [r3, #8] 80c0dc6: 4b19 ldr r3, [pc, #100] ; (80c0e2c ) 80c0dc8: 4013 ands r3, r2 80c0dca: 60fb str r3, [r7, #12] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80c0dcc: 68fb ldr r3, [r7, #12] 80c0dce: 2b06 cmp r3, #6 80c0dd0: d015 beq.n 80c0dfe 80c0dd2: 68fb ldr r3, [r7, #12] 80c0dd4: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80c0dd8: d011 beq.n 80c0dfe { __HAL_TIM_ENABLE(htim); 80c0dda: 687b ldr r3, [r7, #4] 80c0ddc: 681b ldr r3, [r3, #0] 80c0dde: 687a ldr r2, [r7, #4] 80c0de0: 6812 ldr r2, [r2, #0] 80c0de2: 6812 ldr r2, [r2, #0] 80c0de4: f042 0201 orr.w r2, r2, #1 80c0de8: 601a str r2, [r3, #0] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80c0dea: e008 b.n 80c0dfe } } else { __HAL_TIM_ENABLE(htim); 80c0dec: 687b ldr r3, [r7, #4] 80c0dee: 681b ldr r3, [r3, #0] 80c0df0: 687a ldr r2, [r7, #4] 80c0df2: 6812 ldr r2, [r2, #0] 80c0df4: 6812 ldr r2, [r2, #0] 80c0df6: f042 0201 orr.w r2, r2, #1 80c0dfa: 601a str r2, [r3, #0] 80c0dfc: e000 b.n 80c0e00 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80c0dfe: bf00 nop } /* Return function status */ return HAL_OK; 80c0e00: 2300 movs r3, #0 } 80c0e02: 4618 mov r0, r3 80c0e04: 3714 adds r7, #20 80c0e06: 46bd mov sp, r7 80c0e08: f85d 7b04 ldr.w r7, [sp], #4 80c0e0c: 4770 bx lr 80c0e0e: bf00 nop 80c0e10: 40010000 .word 0x40010000 80c0e14: 40000400 .word 0x40000400 80c0e18: 40000800 .word 0x40000800 80c0e1c: 40000c00 .word 0x40000c00 80c0e20: 40010400 .word 0x40010400 80c0e24: 40014000 .word 0x40014000 80c0e28: 40001800 .word 0x40001800 80c0e2c: 00010007 .word 0x00010007 080c0e30 : * @brief This function handles TIM interrupts requests. * @param htim TIM handle * @retval None */ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim) { 80c0e30: b580 push {r7, lr} 80c0e32: b082 sub sp, #8 80c0e34: af00 add r7, sp, #0 80c0e36: 6078 str r0, [r7, #4] /* Capture compare 1 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC1) != RESET) 80c0e38: 687b ldr r3, [r7, #4] 80c0e3a: 681b ldr r3, [r3, #0] 80c0e3c: 691b ldr r3, [r3, #16] 80c0e3e: f003 0302 and.w r3, r3, #2 80c0e42: 2b02 cmp r3, #2 80c0e44: d122 bne.n 80c0e8c { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC1) != RESET) 80c0e46: 687b ldr r3, [r7, #4] 80c0e48: 681b ldr r3, [r3, #0] 80c0e4a: 68db ldr r3, [r3, #12] 80c0e4c: f003 0302 and.w r3, r3, #2 80c0e50: 2b02 cmp r3, #2 80c0e52: d11b bne.n 80c0e8c { { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC1); 80c0e54: 687b ldr r3, [r7, #4] 80c0e56: 681b ldr r3, [r3, #0] 80c0e58: f06f 0202 mvn.w r2, #2 80c0e5c: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_1; 80c0e5e: 687b ldr r3, [r7, #4] 80c0e60: 2201 movs r2, #1 80c0e62: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR1 & TIM_CCMR1_CC1S) != 0x00U) 80c0e64: 687b ldr r3, [r7, #4] 80c0e66: 681b ldr r3, [r3, #0] 80c0e68: 699b ldr r3, [r3, #24] 80c0e6a: f003 0303 and.w r3, r3, #3 80c0e6e: 2b00 cmp r3, #0 80c0e70: d003 beq.n 80c0e7a { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); 80c0e72: 6878 ldr r0, [r7, #4] 80c0e74: f000 f9ea bl 80c124c 80c0e78: e005 b.n 80c0e86 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); 80c0e7a: 6878 ldr r0, [r7, #4] 80c0e7c: f000 f9dc bl 80c1238 HAL_TIM_PWM_PulseFinishedCallback(htim); 80c0e80: 6878 ldr r0, [r7, #4] 80c0e82: f000 f9ed bl 80c1260 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 80c0e86: 687b ldr r3, [r7, #4] 80c0e88: 2200 movs r2, #0 80c0e8a: 771a strb r2, [r3, #28] } } } /* Capture compare 2 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC2) != RESET) 80c0e8c: 687b ldr r3, [r7, #4] 80c0e8e: 681b ldr r3, [r3, #0] 80c0e90: 691b ldr r3, [r3, #16] 80c0e92: f003 0304 and.w r3, r3, #4 80c0e96: 2b04 cmp r3, #4 80c0e98: d122 bne.n 80c0ee0 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC2) != RESET) 80c0e9a: 687b ldr r3, [r7, #4] 80c0e9c: 681b ldr r3, [r3, #0] 80c0e9e: 68db ldr r3, [r3, #12] 80c0ea0: f003 0304 and.w r3, r3, #4 80c0ea4: 2b04 cmp r3, #4 80c0ea6: d11b bne.n 80c0ee0 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC2); 80c0ea8: 687b ldr r3, [r7, #4] 80c0eaa: 681b ldr r3, [r3, #0] 80c0eac: f06f 0204 mvn.w r2, #4 80c0eb0: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_2; 80c0eb2: 687b ldr r3, [r7, #4] 80c0eb4: 2202 movs r2, #2 80c0eb6: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR1 & TIM_CCMR1_CC2S) != 0x00U) 80c0eb8: 687b ldr r3, [r7, #4] 80c0eba: 681b ldr r3, [r3, #0] 80c0ebc: 699b ldr r3, [r3, #24] 80c0ebe: f403 7340 and.w r3, r3, #768 ; 0x300 80c0ec2: 2b00 cmp r3, #0 80c0ec4: d003 beq.n 80c0ece { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); 80c0ec6: 6878 ldr r0, [r7, #4] 80c0ec8: f000 f9c0 bl 80c124c 80c0ecc: e005 b.n 80c0eda { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); 80c0ece: 6878 ldr r0, [r7, #4] 80c0ed0: f000 f9b2 bl 80c1238 HAL_TIM_PWM_PulseFinishedCallback(htim); 80c0ed4: 6878 ldr r0, [r7, #4] 80c0ed6: f000 f9c3 bl 80c1260 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 80c0eda: 687b ldr r3, [r7, #4] 80c0edc: 2200 movs r2, #0 80c0ede: 771a strb r2, [r3, #28] } } /* Capture compare 3 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC3) != RESET) 80c0ee0: 687b ldr r3, [r7, #4] 80c0ee2: 681b ldr r3, [r3, #0] 80c0ee4: 691b ldr r3, [r3, #16] 80c0ee6: f003 0308 and.w r3, r3, #8 80c0eea: 2b08 cmp r3, #8 80c0eec: d122 bne.n 80c0f34 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC3) != RESET) 80c0eee: 687b ldr r3, [r7, #4] 80c0ef0: 681b ldr r3, [r3, #0] 80c0ef2: 68db ldr r3, [r3, #12] 80c0ef4: f003 0308 and.w r3, r3, #8 80c0ef8: 2b08 cmp r3, #8 80c0efa: d11b bne.n 80c0f34 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC3); 80c0efc: 687b ldr r3, [r7, #4] 80c0efe: 681b ldr r3, [r3, #0] 80c0f00: f06f 0208 mvn.w r2, #8 80c0f04: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_3; 80c0f06: 687b ldr r3, [r7, #4] 80c0f08: 2204 movs r2, #4 80c0f0a: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR2 & TIM_CCMR2_CC3S) != 0x00U) 80c0f0c: 687b ldr r3, [r7, #4] 80c0f0e: 681b ldr r3, [r3, #0] 80c0f10: 69db ldr r3, [r3, #28] 80c0f12: f003 0303 and.w r3, r3, #3 80c0f16: 2b00 cmp r3, #0 80c0f18: d003 beq.n 80c0f22 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); 80c0f1a: 6878 ldr r0, [r7, #4] 80c0f1c: f000 f996 bl 80c124c 80c0f20: e005 b.n 80c0f2e { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); 80c0f22: 6878 ldr r0, [r7, #4] 80c0f24: f000 f988 bl 80c1238 HAL_TIM_PWM_PulseFinishedCallback(htim); 80c0f28: 6878 ldr r0, [r7, #4] 80c0f2a: f000 f999 bl 80c1260 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 80c0f2e: 687b ldr r3, [r7, #4] 80c0f30: 2200 movs r2, #0 80c0f32: 771a strb r2, [r3, #28] } } /* Capture compare 4 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC4) != RESET) 80c0f34: 687b ldr r3, [r7, #4] 80c0f36: 681b ldr r3, [r3, #0] 80c0f38: 691b ldr r3, [r3, #16] 80c0f3a: f003 0310 and.w r3, r3, #16 80c0f3e: 2b10 cmp r3, #16 80c0f40: d122 bne.n 80c0f88 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC4) != RESET) 80c0f42: 687b ldr r3, [r7, #4] 80c0f44: 681b ldr r3, [r3, #0] 80c0f46: 68db ldr r3, [r3, #12] 80c0f48: f003 0310 and.w r3, r3, #16 80c0f4c: 2b10 cmp r3, #16 80c0f4e: d11b bne.n 80c0f88 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC4); 80c0f50: 687b ldr r3, [r7, #4] 80c0f52: 681b ldr r3, [r3, #0] 80c0f54: f06f 0210 mvn.w r2, #16 80c0f58: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_4; 80c0f5a: 687b ldr r3, [r7, #4] 80c0f5c: 2208 movs r2, #8 80c0f5e: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR2 & TIM_CCMR2_CC4S) != 0x00U) 80c0f60: 687b ldr r3, [r7, #4] 80c0f62: 681b ldr r3, [r3, #0] 80c0f64: 69db ldr r3, [r3, #28] 80c0f66: f403 7340 and.w r3, r3, #768 ; 0x300 80c0f6a: 2b00 cmp r3, #0 80c0f6c: d003 beq.n 80c0f76 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); 80c0f6e: 6878 ldr r0, [r7, #4] 80c0f70: f000 f96c bl 80c124c 80c0f74: e005 b.n 80c0f82 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); 80c0f76: 6878 ldr r0, [r7, #4] 80c0f78: f000 f95e bl 80c1238 HAL_TIM_PWM_PulseFinishedCallback(htim); 80c0f7c: 6878 ldr r0, [r7, #4] 80c0f7e: f000 f96f bl 80c1260 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 80c0f82: 687b ldr r3, [r7, #4] 80c0f84: 2200 movs r2, #0 80c0f86: 771a strb r2, [r3, #28] } } /* TIM Update event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_UPDATE) != RESET) 80c0f88: 687b ldr r3, [r7, #4] 80c0f8a: 681b ldr r3, [r3, #0] 80c0f8c: 691b ldr r3, [r3, #16] 80c0f8e: f003 0301 and.w r3, r3, #1 80c0f92: 2b01 cmp r3, #1 80c0f94: d10e bne.n 80c0fb4 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_UPDATE) != RESET) 80c0f96: 687b ldr r3, [r7, #4] 80c0f98: 681b ldr r3, [r3, #0] 80c0f9a: 68db ldr r3, [r3, #12] 80c0f9c: f003 0301 and.w r3, r3, #1 80c0fa0: 2b01 cmp r3, #1 80c0fa2: d107 bne.n 80c0fb4 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE); 80c0fa4: 687b ldr r3, [r7, #4] 80c0fa6: 681b ldr r3, [r3, #0] 80c0fa8: f06f 0201 mvn.w r2, #1 80c0fac: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->PeriodElapsedCallback(htim); #else HAL_TIM_PeriodElapsedCallback(htim); 80c0fae: 6878 ldr r0, [r7, #4] 80c0fb0: f7f1 ff8c bl 80b2ecc #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM Break input event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK) != RESET) 80c0fb4: 687b ldr r3, [r7, #4] 80c0fb6: 681b ldr r3, [r3, #0] 80c0fb8: 691b ldr r3, [r3, #16] 80c0fba: f003 0380 and.w r3, r3, #128 ; 0x80 80c0fbe: 2b80 cmp r3, #128 ; 0x80 80c0fc0: d10e bne.n 80c0fe0 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET) 80c0fc2: 687b ldr r3, [r7, #4] 80c0fc4: 681b ldr r3, [r3, #0] 80c0fc6: 68db ldr r3, [r3, #12] 80c0fc8: f003 0380 and.w r3, r3, #128 ; 0x80 80c0fcc: 2b80 cmp r3, #128 ; 0x80 80c0fce: d107 bne.n 80c0fe0 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_BREAK); 80c0fd0: 687b ldr r3, [r7, #4] 80c0fd2: 681b ldr r3, [r3, #0] 80c0fd4: f06f 0280 mvn.w r2, #128 ; 0x80 80c0fd8: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->BreakCallback(htim); #else HAL_TIMEx_BreakCallback(htim); 80c0fda: 6878 ldr r0, [r7, #4] 80c0fdc: f000 fb26 bl 80c162c #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM Break2 input event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK2) != RESET) 80c0fe0: 687b ldr r3, [r7, #4] 80c0fe2: 681b ldr r3, [r3, #0] 80c0fe4: 691b ldr r3, [r3, #16] 80c0fe6: f403 7380 and.w r3, r3, #256 ; 0x100 80c0fea: f5b3 7f80 cmp.w r3, #256 ; 0x100 80c0fee: d10e bne.n 80c100e { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET) 80c0ff0: 687b ldr r3, [r7, #4] 80c0ff2: 681b ldr r3, [r3, #0] 80c0ff4: 68db ldr r3, [r3, #12] 80c0ff6: f003 0380 and.w r3, r3, #128 ; 0x80 80c0ffa: 2b80 cmp r3, #128 ; 0x80 80c0ffc: d107 bne.n 80c100e { __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_BREAK2); 80c0ffe: 687b ldr r3, [r7, #4] 80c1000: 681b ldr r3, [r3, #0] 80c1002: f46f 7280 mvn.w r2, #256 ; 0x100 80c1006: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->Break2Callback(htim); #else HAL_TIMEx_Break2Callback(htim); 80c1008: 6878 ldr r0, [r7, #4] 80c100a: f000 fb19 bl 80c1640 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM Trigger detection event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_TRIGGER) != RESET) 80c100e: 687b ldr r3, [r7, #4] 80c1010: 681b ldr r3, [r3, #0] 80c1012: 691b ldr r3, [r3, #16] 80c1014: f003 0340 and.w r3, r3, #64 ; 0x40 80c1018: 2b40 cmp r3, #64 ; 0x40 80c101a: d10e bne.n 80c103a { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_TRIGGER) != RESET) 80c101c: 687b ldr r3, [r7, #4] 80c101e: 681b ldr r3, [r3, #0] 80c1020: 68db ldr r3, [r3, #12] 80c1022: f003 0340 and.w r3, r3, #64 ; 0x40 80c1026: 2b40 cmp r3, #64 ; 0x40 80c1028: d107 bne.n 80c103a { __HAL_TIM_CLEAR_IT(htim, TIM_IT_TRIGGER); 80c102a: 687b ldr r3, [r7, #4] 80c102c: 681b ldr r3, [r3, #0] 80c102e: f06f 0240 mvn.w r2, #64 ; 0x40 80c1032: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->TriggerCallback(htim); #else HAL_TIM_TriggerCallback(htim); 80c1034: 6878 ldr r0, [r7, #4] 80c1036: f000 f91d bl 80c1274 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM commutation event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_COM) != RESET) 80c103a: 687b ldr r3, [r7, #4] 80c103c: 681b ldr r3, [r3, #0] 80c103e: 691b ldr r3, [r3, #16] 80c1040: f003 0320 and.w r3, r3, #32 80c1044: 2b20 cmp r3, #32 80c1046: d10e bne.n 80c1066 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_COM) != RESET) 80c1048: 687b ldr r3, [r7, #4] 80c104a: 681b ldr r3, [r3, #0] 80c104c: 68db ldr r3, [r3, #12] 80c104e: f003 0320 and.w r3, r3, #32 80c1052: 2b20 cmp r3, #32 80c1054: d107 bne.n 80c1066 { __HAL_TIM_CLEAR_IT(htim, TIM_FLAG_COM); 80c1056: 687b ldr r3, [r7, #4] 80c1058: 681b ldr r3, [r3, #0] 80c105a: f06f 0220 mvn.w r2, #32 80c105e: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->CommutationCallback(htim); #else HAL_TIMEx_CommutCallback(htim); 80c1060: 6878 ldr r0, [r7, #4] 80c1062: f000 fad9 bl 80c1618 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } } 80c1066: bf00 nop 80c1068: 3708 adds r7, #8 80c106a: 46bd mov sp, r7 80c106c: bd80 pop {r7, pc} 080c106e : * only for timer instances supporting break input(s). * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_GenerateEvent(TIM_HandleTypeDef *htim, uint32_t EventSource) { 80c106e: b480 push {r7} 80c1070: b083 sub sp, #12 80c1072: af00 add r7, sp, #0 80c1074: 6078 str r0, [r7, #4] 80c1076: 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); 80c1078: 687b ldr r3, [r7, #4] 80c107a: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80c107e: 2b01 cmp r3, #1 80c1080: d101 bne.n 80c1086 80c1082: 2302 movs r3, #2 80c1084: e014 b.n 80c10b0 80c1086: 687b ldr r3, [r7, #4] 80c1088: 2201 movs r2, #1 80c108a: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Change the TIM state */ htim->State = HAL_TIM_STATE_BUSY; 80c108e: 687b ldr r3, [r7, #4] 80c1090: 2202 movs r2, #2 80c1092: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Set the event sources */ htim->Instance->EGR = EventSource; 80c1096: 687b ldr r3, [r7, #4] 80c1098: 681b ldr r3, [r3, #0] 80c109a: 683a ldr r2, [r7, #0] 80c109c: 615a str r2, [r3, #20] /* Change the TIM state */ htim->State = HAL_TIM_STATE_READY; 80c109e: 687b ldr r3, [r7, #4] 80c10a0: 2201 movs r2, #1 80c10a2: f883 203d strb.w r2, [r3, #61] ; 0x3d __HAL_UNLOCK(htim); 80c10a6: 687b ldr r3, [r7, #4] 80c10a8: 2200 movs r2, #0 80c10aa: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return HAL_OK; 80c10ae: 2300 movs r3, #0 } 80c10b0: 4618 mov r0, r3 80c10b2: 370c adds r7, #12 80c10b4: 46bd mov sp, r7 80c10b6: f85d 7b04 ldr.w r7, [sp], #4 80c10ba: 4770 bx lr 080c10bc : * @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) { 80c10bc: b580 push {r7, lr} 80c10be: b084 sub sp, #16 80c10c0: af00 add r7, sp, #0 80c10c2: 6078 str r0, [r7, #4] 80c10c4: 6039 str r1, [r7, #0] HAL_StatusTypeDef status = HAL_OK; 80c10c6: 2300 movs r3, #0 80c10c8: 73fb strb r3, [r7, #15] uint32_t tmpsmcr; /* Process Locked */ __HAL_LOCK(htim); 80c10ca: 687b ldr r3, [r7, #4] 80c10cc: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80c10d0: 2b01 cmp r3, #1 80c10d2: d101 bne.n 80c10d8 80c10d4: 2302 movs r3, #2 80c10d6: e0a9 b.n 80c122c 80c10d8: 687b ldr r3, [r7, #4] 80c10da: 2201 movs r2, #1 80c10dc: f883 203c strb.w r2, [r3, #60] ; 0x3c htim->State = HAL_TIM_STATE_BUSY; 80c10e0: 687b ldr r3, [r7, #4] 80c10e2: 2202 movs r2, #2 80c10e4: 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; 80c10e8: 687b ldr r3, [r7, #4] 80c10ea: 681b ldr r3, [r3, #0] 80c10ec: 689b ldr r3, [r3, #8] 80c10ee: 60bb str r3, [r7, #8] tmpsmcr &= ~(TIM_SMCR_SMS | TIM_SMCR_TS); 80c10f0: 68ba ldr r2, [r7, #8] 80c10f2: 4b50 ldr r3, [pc, #320] ; (80c1234 ) 80c10f4: 4013 ands r3, r2 80c10f6: 60bb str r3, [r7, #8] tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP); 80c10f8: 68bb ldr r3, [r7, #8] 80c10fa: f423 437f bic.w r3, r3, #65280 ; 0xff00 80c10fe: 60bb str r3, [r7, #8] htim->Instance->SMCR = tmpsmcr; 80c1100: 687b ldr r3, [r7, #4] 80c1102: 681b ldr r3, [r3, #0] 80c1104: 68ba ldr r2, [r7, #8] 80c1106: 609a str r2, [r3, #8] switch (sClockSourceConfig->ClockSource) 80c1108: 683b ldr r3, [r7, #0] 80c110a: 681b ldr r3, [r3, #0] 80c110c: 2b40 cmp r3, #64 ; 0x40 80c110e: d067 beq.n 80c11e0 80c1110: 2b40 cmp r3, #64 ; 0x40 80c1112: d80b bhi.n 80c112c 80c1114: 2b10 cmp r3, #16 80c1116: d073 beq.n 80c1200 80c1118: 2b10 cmp r3, #16 80c111a: d802 bhi.n 80c1122 80c111c: 2b00 cmp r3, #0 80c111e: d06f beq.n 80c1200 80c1120: e077 b.n 80c1212 80c1122: 2b20 cmp r3, #32 80c1124: d06c beq.n 80c1200 80c1126: 2b30 cmp r3, #48 ; 0x30 80c1128: d06a beq.n 80c1200 80c112a: e072 b.n 80c1212 80c112c: 2b70 cmp r3, #112 ; 0x70 80c112e: d00d beq.n 80c114c 80c1130: 2b70 cmp r3, #112 ; 0x70 80c1132: d804 bhi.n 80c113e 80c1134: 2b50 cmp r3, #80 ; 0x50 80c1136: d033 beq.n 80c11a0 80c1138: 2b60 cmp r3, #96 ; 0x60 80c113a: d041 beq.n 80c11c0 80c113c: e069 b.n 80c1212 80c113e: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80c1142: d069 beq.n 80c1218 80c1144: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80c1148: d017 beq.n 80c117a 80c114a: e062 b.n 80c1212 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, 80c114c: 687b ldr r3, [r7, #4] 80c114e: 6818 ldr r0, [r3, #0] 80c1150: 683b ldr r3, [r7, #0] 80c1152: 6899 ldr r1, [r3, #8] 80c1154: 683b ldr r3, [r7, #0] 80c1156: 685a ldr r2, [r3, #4] 80c1158: 683b ldr r3, [r7, #0] 80c115a: 68db ldr r3, [r3, #12] 80c115c: f000 f9ae bl 80c14bc sClockSourceConfig->ClockPrescaler, sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); /* Select the External clock mode1 and the ETRF trigger */ tmpsmcr = htim->Instance->SMCR; 80c1160: 687b ldr r3, [r7, #4] 80c1162: 681b ldr r3, [r3, #0] 80c1164: 689b ldr r3, [r3, #8] 80c1166: 60bb str r3, [r7, #8] tmpsmcr |= (TIM_SLAVEMODE_EXTERNAL1 | TIM_CLOCKSOURCE_ETRMODE1); 80c1168: 68bb ldr r3, [r7, #8] 80c116a: f043 0377 orr.w r3, r3, #119 ; 0x77 80c116e: 60bb str r3, [r7, #8] /* Write to TIMx SMCR */ htim->Instance->SMCR = tmpsmcr; 80c1170: 687b ldr r3, [r7, #4] 80c1172: 681b ldr r3, [r3, #0] 80c1174: 68ba ldr r2, [r7, #8] 80c1176: 609a str r2, [r3, #8] break; 80c1178: e04f b.n 80c121a 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, 80c117a: 687b ldr r3, [r7, #4] 80c117c: 6818 ldr r0, [r3, #0] 80c117e: 683b ldr r3, [r7, #0] 80c1180: 6899 ldr r1, [r3, #8] 80c1182: 683b ldr r3, [r7, #0] 80c1184: 685a ldr r2, [r3, #4] 80c1186: 683b ldr r3, [r7, #0] 80c1188: 68db ldr r3, [r3, #12] 80c118a: f000 f997 bl 80c14bc sClockSourceConfig->ClockPrescaler, sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); /* Enable the External clock mode2 */ htim->Instance->SMCR |= TIM_SMCR_ECE; 80c118e: 687b ldr r3, [r7, #4] 80c1190: 681b ldr r3, [r3, #0] 80c1192: 687a ldr r2, [r7, #4] 80c1194: 6812 ldr r2, [r2, #0] 80c1196: 6892 ldr r2, [r2, #8] 80c1198: f442 4280 orr.w r2, r2, #16384 ; 0x4000 80c119c: 609a str r2, [r3, #8] break; 80c119e: e03c b.n 80c121a /* 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, 80c11a0: 687b ldr r3, [r7, #4] 80c11a2: 6818 ldr r0, [r3, #0] 80c11a4: 683b ldr r3, [r7, #0] 80c11a6: 6859 ldr r1, [r3, #4] 80c11a8: 683b ldr r3, [r7, #0] 80c11aa: 68db ldr r3, [r3, #12] 80c11ac: 461a mov r2, r3 80c11ae: f000 f90b bl 80c13c8 sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI1); 80c11b2: 687b ldr r3, [r7, #4] 80c11b4: 681b ldr r3, [r3, #0] 80c11b6: 2150 movs r1, #80 ; 0x50 80c11b8: 4618 mov r0, r3 80c11ba: f000 f964 bl 80c1486 break; 80c11be: e02c b.n 80c121a /* 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, 80c11c0: 687b ldr r3, [r7, #4] 80c11c2: 6818 ldr r0, [r3, #0] 80c11c4: 683b ldr r3, [r7, #0] 80c11c6: 6859 ldr r1, [r3, #4] 80c11c8: 683b ldr r3, [r7, #0] 80c11ca: 68db ldr r3, [r3, #12] 80c11cc: 461a mov r2, r3 80c11ce: f000 f92a bl 80c1426 sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI2); 80c11d2: 687b ldr r3, [r7, #4] 80c11d4: 681b ldr r3, [r3, #0] 80c11d6: 2160 movs r1, #96 ; 0x60 80c11d8: 4618 mov r0, r3 80c11da: f000 f954 bl 80c1486 break; 80c11de: e01c b.n 80c121a /* 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, 80c11e0: 687b ldr r3, [r7, #4] 80c11e2: 6818 ldr r0, [r3, #0] 80c11e4: 683b ldr r3, [r7, #0] 80c11e6: 6859 ldr r1, [r3, #4] 80c11e8: 683b ldr r3, [r7, #0] 80c11ea: 68db ldr r3, [r3, #12] 80c11ec: 461a mov r2, r3 80c11ee: f000 f8eb bl 80c13c8 sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI1ED); 80c11f2: 687b ldr r3, [r7, #4] 80c11f4: 681b ldr r3, [r3, #0] 80c11f6: 2140 movs r1, #64 ; 0x40 80c11f8: 4618 mov r0, r3 80c11fa: f000 f944 bl 80c1486 break; 80c11fe: e00c b.n 80c121a 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); 80c1200: 687b ldr r3, [r7, #4] 80c1202: 681a ldr r2, [r3, #0] 80c1204: 683b ldr r3, [r7, #0] 80c1206: 681b ldr r3, [r3, #0] 80c1208: 4619 mov r1, r3 80c120a: 4610 mov r0, r2 80c120c: f000 f93b bl 80c1486 break; 80c1210: e003 b.n 80c121a } default: status = HAL_ERROR; 80c1212: 2301 movs r3, #1 80c1214: 73fb strb r3, [r7, #15] break; 80c1216: e000 b.n 80c121a break; 80c1218: bf00 nop } htim->State = HAL_TIM_STATE_READY; 80c121a: 687b ldr r3, [r7, #4] 80c121c: 2201 movs r2, #1 80c121e: f883 203d strb.w r2, [r3, #61] ; 0x3d __HAL_UNLOCK(htim); 80c1222: 687b ldr r3, [r7, #4] 80c1224: 2200 movs r2, #0 80c1226: f883 203c strb.w r2, [r3, #60] ; 0x3c return status; 80c122a: 7bfb ldrb r3, [r7, #15] } 80c122c: 4618 mov r0, r3 80c122e: 3710 adds r7, #16 80c1230: 46bd mov sp, r7 80c1232: bd80 pop {r7, pc} 80c1234: fffeff88 .word 0xfffeff88 080c1238 : * @brief Output Compare callback in non-blocking mode * @param htim TIM OC handle * @retval None */ __weak void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim) { 80c1238: b480 push {r7} 80c123a: b083 sub sp, #12 80c123c: af00 add r7, sp, #0 80c123e: 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 */ } 80c1240: bf00 nop 80c1242: 370c adds r7, #12 80c1244: 46bd mov sp, r7 80c1246: f85d 7b04 ldr.w r7, [sp], #4 80c124a: 4770 bx lr 080c124c : * @brief Input Capture callback in non-blocking mode * @param htim TIM IC handle * @retval None */ __weak void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) { 80c124c: b480 push {r7} 80c124e: b083 sub sp, #12 80c1250: af00 add r7, sp, #0 80c1252: 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 */ } 80c1254: bf00 nop 80c1256: 370c adds r7, #12 80c1258: 46bd mov sp, r7 80c125a: f85d 7b04 ldr.w r7, [sp], #4 80c125e: 4770 bx lr 080c1260 : * @brief PWM Pulse finished callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim) { 80c1260: b480 push {r7} 80c1262: b083 sub sp, #12 80c1264: af00 add r7, sp, #0 80c1266: 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 */ } 80c1268: bf00 nop 80c126a: 370c adds r7, #12 80c126c: 46bd mov sp, r7 80c126e: f85d 7b04 ldr.w r7, [sp], #4 80c1272: 4770 bx lr 080c1274 : * @brief Hall Trigger detection callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIM_TriggerCallback(TIM_HandleTypeDef *htim) { 80c1274: b480 push {r7} 80c1276: b083 sub sp, #12 80c1278: af00 add r7, sp, #0 80c127a: 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 */ } 80c127c: bf00 nop 80c127e: 370c adds r7, #12 80c1280: 46bd mov sp, r7 80c1282: f85d 7b04 ldr.w r7, [sp], #4 80c1286: 4770 bx lr 080c1288 : * @param TIMx TIM peripheral * @param Structure TIM Base configuration structure * @retval None */ void TIM_Base_SetConfig(TIM_TypeDef *TIMx, TIM_Base_InitTypeDef *Structure) { 80c1288: b480 push {r7} 80c128a: b085 sub sp, #20 80c128c: af00 add r7, sp, #0 80c128e: 6078 str r0, [r7, #4] 80c1290: 6039 str r1, [r7, #0] uint32_t tmpcr1; tmpcr1 = TIMx->CR1; 80c1292: 687b ldr r3, [r7, #4] 80c1294: 681b ldr r3, [r3, #0] 80c1296: 60fb str r3, [r7, #12] /* Set TIM Time Base Unit parameters ---------------------------------------*/ if (IS_TIM_COUNTER_MODE_SELECT_INSTANCE(TIMx)) 80c1298: 687b ldr r3, [r7, #4] 80c129a: 4a40 ldr r2, [pc, #256] ; (80c139c ) 80c129c: 4293 cmp r3, r2 80c129e: d013 beq.n 80c12c8 80c12a0: 687b ldr r3, [r7, #4] 80c12a2: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80c12a6: d00f beq.n 80c12c8 80c12a8: 687b ldr r3, [r7, #4] 80c12aa: 4a3d ldr r2, [pc, #244] ; (80c13a0 ) 80c12ac: 4293 cmp r3, r2 80c12ae: d00b beq.n 80c12c8 80c12b0: 687b ldr r3, [r7, #4] 80c12b2: 4a3c ldr r2, [pc, #240] ; (80c13a4 ) 80c12b4: 4293 cmp r3, r2 80c12b6: d007 beq.n 80c12c8 80c12b8: 687b ldr r3, [r7, #4] 80c12ba: 4a3b ldr r2, [pc, #236] ; (80c13a8 ) 80c12bc: 4293 cmp r3, r2 80c12be: d003 beq.n 80c12c8 80c12c0: 687b ldr r3, [r7, #4] 80c12c2: 4a3a ldr r2, [pc, #232] ; (80c13ac ) 80c12c4: 4293 cmp r3, r2 80c12c6: d108 bne.n 80c12da { /* Select the Counter Mode */ tmpcr1 &= ~(TIM_CR1_DIR | TIM_CR1_CMS); 80c12c8: 68fb ldr r3, [r7, #12] 80c12ca: f023 0370 bic.w r3, r3, #112 ; 0x70 80c12ce: 60fb str r3, [r7, #12] tmpcr1 |= Structure->CounterMode; 80c12d0: 683b ldr r3, [r7, #0] 80c12d2: 685b ldr r3, [r3, #4] 80c12d4: 68fa ldr r2, [r7, #12] 80c12d6: 4313 orrs r3, r2 80c12d8: 60fb str r3, [r7, #12] } if (IS_TIM_CLOCK_DIVISION_INSTANCE(TIMx)) 80c12da: 687b ldr r3, [r7, #4] 80c12dc: 4a2f ldr r2, [pc, #188] ; (80c139c ) 80c12de: 4293 cmp r3, r2 80c12e0: d02b beq.n 80c133a 80c12e2: 687b ldr r3, [r7, #4] 80c12e4: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80c12e8: d027 beq.n 80c133a 80c12ea: 687b ldr r3, [r7, #4] 80c12ec: 4a2c ldr r2, [pc, #176] ; (80c13a0 ) 80c12ee: 4293 cmp r3, r2 80c12f0: d023 beq.n 80c133a 80c12f2: 687b ldr r3, [r7, #4] 80c12f4: 4a2b ldr r2, [pc, #172] ; (80c13a4 ) 80c12f6: 4293 cmp r3, r2 80c12f8: d01f beq.n 80c133a 80c12fa: 687b ldr r3, [r7, #4] 80c12fc: 4a2a ldr r2, [pc, #168] ; (80c13a8 ) 80c12fe: 4293 cmp r3, r2 80c1300: d01b beq.n 80c133a 80c1302: 687b ldr r3, [r7, #4] 80c1304: 4a29 ldr r2, [pc, #164] ; (80c13ac ) 80c1306: 4293 cmp r3, r2 80c1308: d017 beq.n 80c133a 80c130a: 687b ldr r3, [r7, #4] 80c130c: 4a28 ldr r2, [pc, #160] ; (80c13b0 ) 80c130e: 4293 cmp r3, r2 80c1310: d013 beq.n 80c133a 80c1312: 687b ldr r3, [r7, #4] 80c1314: 4a27 ldr r2, [pc, #156] ; (80c13b4 ) 80c1316: 4293 cmp r3, r2 80c1318: d00f beq.n 80c133a 80c131a: 687b ldr r3, [r7, #4] 80c131c: 4a26 ldr r2, [pc, #152] ; (80c13b8 ) 80c131e: 4293 cmp r3, r2 80c1320: d00b beq.n 80c133a 80c1322: 687b ldr r3, [r7, #4] 80c1324: 4a25 ldr r2, [pc, #148] ; (80c13bc ) 80c1326: 4293 cmp r3, r2 80c1328: d007 beq.n 80c133a 80c132a: 687b ldr r3, [r7, #4] 80c132c: 4a24 ldr r2, [pc, #144] ; (80c13c0 ) 80c132e: 4293 cmp r3, r2 80c1330: d003 beq.n 80c133a 80c1332: 687b ldr r3, [r7, #4] 80c1334: 4a23 ldr r2, [pc, #140] ; (80c13c4 ) 80c1336: 4293 cmp r3, r2 80c1338: d108 bne.n 80c134c { /* Set the clock division */ tmpcr1 &= ~TIM_CR1_CKD; 80c133a: 68fb ldr r3, [r7, #12] 80c133c: f423 7340 bic.w r3, r3, #768 ; 0x300 80c1340: 60fb str r3, [r7, #12] tmpcr1 |= (uint32_t)Structure->ClockDivision; 80c1342: 683b ldr r3, [r7, #0] 80c1344: 68db ldr r3, [r3, #12] 80c1346: 68fa ldr r2, [r7, #12] 80c1348: 4313 orrs r3, r2 80c134a: 60fb str r3, [r7, #12] } /* Set the auto-reload preload */ MODIFY_REG(tmpcr1, TIM_CR1_ARPE, Structure->AutoReloadPreload); 80c134c: 68fb ldr r3, [r7, #12] 80c134e: f023 0280 bic.w r2, r3, #128 ; 0x80 80c1352: 683b ldr r3, [r7, #0] 80c1354: 695b ldr r3, [r3, #20] 80c1356: 4313 orrs r3, r2 80c1358: 60fb str r3, [r7, #12] TIMx->CR1 = tmpcr1; 80c135a: 687b ldr r3, [r7, #4] 80c135c: 68fa ldr r2, [r7, #12] 80c135e: 601a str r2, [r3, #0] /* Set the Autoreload value */ TIMx->ARR = (uint32_t)Structure->Period ; 80c1360: 683b ldr r3, [r7, #0] 80c1362: 689a ldr r2, [r3, #8] 80c1364: 687b ldr r3, [r7, #4] 80c1366: 62da str r2, [r3, #44] ; 0x2c /* Set the Prescaler value */ TIMx->PSC = Structure->Prescaler; 80c1368: 683b ldr r3, [r7, #0] 80c136a: 681a ldr r2, [r3, #0] 80c136c: 687b ldr r3, [r7, #4] 80c136e: 629a str r2, [r3, #40] ; 0x28 if (IS_TIM_REPETITION_COUNTER_INSTANCE(TIMx)) 80c1370: 687b ldr r3, [r7, #4] 80c1372: 4a0a ldr r2, [pc, #40] ; (80c139c ) 80c1374: 4293 cmp r3, r2 80c1376: d003 beq.n 80c1380 80c1378: 687b ldr r3, [r7, #4] 80c137a: 4a0c ldr r2, [pc, #48] ; (80c13ac ) 80c137c: 4293 cmp r3, r2 80c137e: d103 bne.n 80c1388 { /* Set the Repetition Counter value */ TIMx->RCR = Structure->RepetitionCounter; 80c1380: 683b ldr r3, [r7, #0] 80c1382: 691a ldr r2, [r3, #16] 80c1384: 687b ldr r3, [r7, #4] 80c1386: 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; 80c1388: 687b ldr r3, [r7, #4] 80c138a: 2201 movs r2, #1 80c138c: 615a str r2, [r3, #20] } 80c138e: bf00 nop 80c1390: 3714 adds r7, #20 80c1392: 46bd mov sp, r7 80c1394: f85d 7b04 ldr.w r7, [sp], #4 80c1398: 4770 bx lr 80c139a: bf00 nop 80c139c: 40010000 .word 0x40010000 80c13a0: 40000400 .word 0x40000400 80c13a4: 40000800 .word 0x40000800 80c13a8: 40000c00 .word 0x40000c00 80c13ac: 40010400 .word 0x40010400 80c13b0: 40014000 .word 0x40014000 80c13b4: 40014400 .word 0x40014400 80c13b8: 40014800 .word 0x40014800 80c13bc: 40001800 .word 0x40001800 80c13c0: 40001c00 .word 0x40001c00 80c13c4: 40002000 .word 0x40002000 080c13c8 : * @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) { 80c13c8: b480 push {r7} 80c13ca: b087 sub sp, #28 80c13cc: af00 add r7, sp, #0 80c13ce: 60f8 str r0, [r7, #12] 80c13d0: 60b9 str r1, [r7, #8] 80c13d2: 607a str r2, [r7, #4] uint32_t tmpccmr1; uint32_t tmpccer; /* Disable the Channel 1: Reset the CC1E Bit */ tmpccer = TIMx->CCER; 80c13d4: 68fb ldr r3, [r7, #12] 80c13d6: 6a1b ldr r3, [r3, #32] 80c13d8: 617b str r3, [r7, #20] TIMx->CCER &= ~TIM_CCER_CC1E; 80c13da: 68fb ldr r3, [r7, #12] 80c13dc: 6a1b ldr r3, [r3, #32] 80c13de: f023 0201 bic.w r2, r3, #1 80c13e2: 68fb ldr r3, [r7, #12] 80c13e4: 621a str r2, [r3, #32] tmpccmr1 = TIMx->CCMR1; 80c13e6: 68fb ldr r3, [r7, #12] 80c13e8: 699b ldr r3, [r3, #24] 80c13ea: 613b str r3, [r7, #16] /* Set the filter */ tmpccmr1 &= ~TIM_CCMR1_IC1F; 80c13ec: 693b ldr r3, [r7, #16] 80c13ee: f023 03f0 bic.w r3, r3, #240 ; 0xf0 80c13f2: 613b str r3, [r7, #16] tmpccmr1 |= (TIM_ICFilter << 4U); 80c13f4: 687b ldr r3, [r7, #4] 80c13f6: 011b lsls r3, r3, #4 80c13f8: 693a ldr r2, [r7, #16] 80c13fa: 4313 orrs r3, r2 80c13fc: 613b str r3, [r7, #16] /* Select the Polarity and set the CC1E Bit */ tmpccer &= ~(TIM_CCER_CC1P | TIM_CCER_CC1NP); 80c13fe: 697b ldr r3, [r7, #20] 80c1400: f023 030a bic.w r3, r3, #10 80c1404: 617b str r3, [r7, #20] tmpccer |= TIM_ICPolarity; 80c1406: 697a ldr r2, [r7, #20] 80c1408: 68bb ldr r3, [r7, #8] 80c140a: 4313 orrs r3, r2 80c140c: 617b str r3, [r7, #20] /* Write to TIMx CCMR1 and CCER registers */ TIMx->CCMR1 = tmpccmr1; 80c140e: 68fb ldr r3, [r7, #12] 80c1410: 693a ldr r2, [r7, #16] 80c1412: 619a str r2, [r3, #24] TIMx->CCER = tmpccer; 80c1414: 68fb ldr r3, [r7, #12] 80c1416: 697a ldr r2, [r7, #20] 80c1418: 621a str r2, [r3, #32] } 80c141a: bf00 nop 80c141c: 371c adds r7, #28 80c141e: 46bd mov sp, r7 80c1420: f85d 7b04 ldr.w r7, [sp], #4 80c1424: 4770 bx lr 080c1426 : * @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) { 80c1426: b480 push {r7} 80c1428: b087 sub sp, #28 80c142a: af00 add r7, sp, #0 80c142c: 60f8 str r0, [r7, #12] 80c142e: 60b9 str r1, [r7, #8] 80c1430: 607a str r2, [r7, #4] uint32_t tmpccmr1; uint32_t tmpccer; /* Disable the Channel 2: Reset the CC2E Bit */ TIMx->CCER &= ~TIM_CCER_CC2E; 80c1432: 68fb ldr r3, [r7, #12] 80c1434: 6a1b ldr r3, [r3, #32] 80c1436: f023 0210 bic.w r2, r3, #16 80c143a: 68fb ldr r3, [r7, #12] 80c143c: 621a str r2, [r3, #32] tmpccmr1 = TIMx->CCMR1; 80c143e: 68fb ldr r3, [r7, #12] 80c1440: 699b ldr r3, [r3, #24] 80c1442: 617b str r3, [r7, #20] tmpccer = TIMx->CCER; 80c1444: 68fb ldr r3, [r7, #12] 80c1446: 6a1b ldr r3, [r3, #32] 80c1448: 613b str r3, [r7, #16] /* Set the filter */ tmpccmr1 &= ~TIM_CCMR1_IC2F; 80c144a: 697b ldr r3, [r7, #20] 80c144c: f423 4370 bic.w r3, r3, #61440 ; 0xf000 80c1450: 617b str r3, [r7, #20] tmpccmr1 |= (TIM_ICFilter << 12U); 80c1452: 687b ldr r3, [r7, #4] 80c1454: 031b lsls r3, r3, #12 80c1456: 697a ldr r2, [r7, #20] 80c1458: 4313 orrs r3, r2 80c145a: 617b str r3, [r7, #20] /* Select the Polarity and set the CC2E Bit */ tmpccer &= ~(TIM_CCER_CC2P | TIM_CCER_CC2NP); 80c145c: 693b ldr r3, [r7, #16] 80c145e: f023 03a0 bic.w r3, r3, #160 ; 0xa0 80c1462: 613b str r3, [r7, #16] tmpccer |= (TIM_ICPolarity << 4U); 80c1464: 68bb ldr r3, [r7, #8] 80c1466: 011b lsls r3, r3, #4 80c1468: 693a ldr r2, [r7, #16] 80c146a: 4313 orrs r3, r2 80c146c: 613b str r3, [r7, #16] /* Write to TIMx CCMR1 and CCER registers */ TIMx->CCMR1 = tmpccmr1 ; 80c146e: 68fb ldr r3, [r7, #12] 80c1470: 697a ldr r2, [r7, #20] 80c1472: 619a str r2, [r3, #24] TIMx->CCER = tmpccer; 80c1474: 68fb ldr r3, [r7, #12] 80c1476: 693a ldr r2, [r7, #16] 80c1478: 621a str r2, [r3, #32] } 80c147a: bf00 nop 80c147c: 371c adds r7, #28 80c147e: 46bd mov sp, r7 80c1480: f85d 7b04 ldr.w r7, [sp], #4 80c1484: 4770 bx lr 080c1486 : * @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) { 80c1486: b480 push {r7} 80c1488: b085 sub sp, #20 80c148a: af00 add r7, sp, #0 80c148c: 6078 str r0, [r7, #4] 80c148e: 6039 str r1, [r7, #0] uint32_t tmpsmcr; /* Get the TIMx SMCR register value */ tmpsmcr = TIMx->SMCR; 80c1490: 687b ldr r3, [r7, #4] 80c1492: 689b ldr r3, [r3, #8] 80c1494: 60fb str r3, [r7, #12] /* Reset the TS Bits */ tmpsmcr &= ~TIM_SMCR_TS; 80c1496: 68fb ldr r3, [r7, #12] 80c1498: f023 0370 bic.w r3, r3, #112 ; 0x70 80c149c: 60fb str r3, [r7, #12] /* Set the Input Trigger source and the slave mode*/ tmpsmcr |= (InputTriggerSource | TIM_SLAVEMODE_EXTERNAL1); 80c149e: 683a ldr r2, [r7, #0] 80c14a0: 68fb ldr r3, [r7, #12] 80c14a2: 4313 orrs r3, r2 80c14a4: f043 0307 orr.w r3, r3, #7 80c14a8: 60fb str r3, [r7, #12] /* Write to TIMx SMCR */ TIMx->SMCR = tmpsmcr; 80c14aa: 687b ldr r3, [r7, #4] 80c14ac: 68fa ldr r2, [r7, #12] 80c14ae: 609a str r2, [r3, #8] } 80c14b0: bf00 nop 80c14b2: 3714 adds r7, #20 80c14b4: 46bd mov sp, r7 80c14b6: f85d 7b04 ldr.w r7, [sp], #4 80c14ba: 4770 bx lr 080c14bc : * 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) { 80c14bc: b480 push {r7} 80c14be: b087 sub sp, #28 80c14c0: af00 add r7, sp, #0 80c14c2: 60f8 str r0, [r7, #12] 80c14c4: 60b9 str r1, [r7, #8] 80c14c6: 607a str r2, [r7, #4] 80c14c8: 603b str r3, [r7, #0] uint32_t tmpsmcr; tmpsmcr = TIMx->SMCR; 80c14ca: 68fb ldr r3, [r7, #12] 80c14cc: 689b ldr r3, [r3, #8] 80c14ce: 617b str r3, [r7, #20] /* Reset the ETR Bits */ tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP); 80c14d0: 697b ldr r3, [r7, #20] 80c14d2: f423 437f bic.w r3, r3, #65280 ; 0xff00 80c14d6: 617b str r3, [r7, #20] /* Set the Prescaler, the Filter value and the Polarity */ tmpsmcr |= (uint32_t)(TIM_ExtTRGPrescaler | (TIM_ExtTRGPolarity | (ExtTRGFilter << 8U))); 80c14d8: 683b ldr r3, [r7, #0] 80c14da: 021a lsls r2, r3, #8 80c14dc: 687b ldr r3, [r7, #4] 80c14de: 431a orrs r2, r3 80c14e0: 68bb ldr r3, [r7, #8] 80c14e2: 4313 orrs r3, r2 80c14e4: 697a ldr r2, [r7, #20] 80c14e6: 4313 orrs r3, r2 80c14e8: 617b str r3, [r7, #20] /* Write to TIMx SMCR */ TIMx->SMCR = tmpsmcr; 80c14ea: 68fb ldr r3, [r7, #12] 80c14ec: 697a ldr r2, [r7, #20] 80c14ee: 609a str r2, [r3, #8] } 80c14f0: bf00 nop 80c14f2: 371c adds r7, #28 80c14f4: 46bd mov sp, r7 80c14f6: f85d 7b04 ldr.w r7, [sp], #4 80c14fa: 4770 bx lr 080c14fc : * mode. * @retval HAL status */ HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim, TIM_MasterConfigTypeDef *sMasterConfig) { 80c14fc: b480 push {r7} 80c14fe: b085 sub sp, #20 80c1500: af00 add r7, sp, #0 80c1502: 6078 str r0, [r7, #4] 80c1504: 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); 80c1506: 687b ldr r3, [r7, #4] 80c1508: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80c150c: 2b01 cmp r3, #1 80c150e: d101 bne.n 80c1514 80c1510: 2302 movs r3, #2 80c1512: e06d b.n 80c15f0 80c1514: 687b ldr r3, [r7, #4] 80c1516: 2201 movs r2, #1 80c1518: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Change the handler state */ htim->State = HAL_TIM_STATE_BUSY; 80c151c: 687b ldr r3, [r7, #4] 80c151e: 2202 movs r2, #2 80c1520: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Get the TIMx CR2 register value */ tmpcr2 = htim->Instance->CR2; 80c1524: 687b ldr r3, [r7, #4] 80c1526: 681b ldr r3, [r3, #0] 80c1528: 685b ldr r3, [r3, #4] 80c152a: 60fb str r3, [r7, #12] /* Get the TIMx SMCR register value */ tmpsmcr = htim->Instance->SMCR; 80c152c: 687b ldr r3, [r7, #4] 80c152e: 681b ldr r3, [r3, #0] 80c1530: 689b ldr r3, [r3, #8] 80c1532: 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)) 80c1534: 687b ldr r3, [r7, #4] 80c1536: 681b ldr r3, [r3, #0] 80c1538: 4a30 ldr r2, [pc, #192] ; (80c15fc ) 80c153a: 4293 cmp r3, r2 80c153c: d004 beq.n 80c1548 80c153e: 687b ldr r3, [r7, #4] 80c1540: 681b ldr r3, [r3, #0] 80c1542: 4a2f ldr r2, [pc, #188] ; (80c1600 ) 80c1544: 4293 cmp r3, r2 80c1546: d108 bne.n 80c155a { /* Check the parameters */ assert_param(IS_TIM_TRGO2_SOURCE(sMasterConfig->MasterOutputTrigger2)); /* Clear the MMS2 bits */ tmpcr2 &= ~TIM_CR2_MMS2; 80c1548: 68fb ldr r3, [r7, #12] 80c154a: f423 0370 bic.w r3, r3, #15728640 ; 0xf00000 80c154e: 60fb str r3, [r7, #12] /* Select the TRGO2 source*/ tmpcr2 |= sMasterConfig->MasterOutputTrigger2; 80c1550: 683b ldr r3, [r7, #0] 80c1552: 685b ldr r3, [r3, #4] 80c1554: 68fa ldr r2, [r7, #12] 80c1556: 4313 orrs r3, r2 80c1558: 60fb str r3, [r7, #12] } /* Reset the MMS Bits */ tmpcr2 &= ~TIM_CR2_MMS; 80c155a: 68fb ldr r3, [r7, #12] 80c155c: f023 0370 bic.w r3, r3, #112 ; 0x70 80c1560: 60fb str r3, [r7, #12] /* Select the TRGO source */ tmpcr2 |= sMasterConfig->MasterOutputTrigger; 80c1562: 683b ldr r3, [r7, #0] 80c1564: 681b ldr r3, [r3, #0] 80c1566: 68fa ldr r2, [r7, #12] 80c1568: 4313 orrs r3, r2 80c156a: 60fb str r3, [r7, #12] /* Update TIMx CR2 */ htim->Instance->CR2 = tmpcr2; 80c156c: 687b ldr r3, [r7, #4] 80c156e: 681b ldr r3, [r3, #0] 80c1570: 68fa ldr r2, [r7, #12] 80c1572: 605a str r2, [r3, #4] if (IS_TIM_SLAVE_INSTANCE(htim->Instance)) 80c1574: 687b ldr r3, [r7, #4] 80c1576: 681b ldr r3, [r3, #0] 80c1578: 4a20 ldr r2, [pc, #128] ; (80c15fc ) 80c157a: 4293 cmp r3, r2 80c157c: d022 beq.n 80c15c4 80c157e: 687b ldr r3, [r7, #4] 80c1580: 681b ldr r3, [r3, #0] 80c1582: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80c1586: d01d beq.n 80c15c4 80c1588: 687b ldr r3, [r7, #4] 80c158a: 681b ldr r3, [r3, #0] 80c158c: 4a1d ldr r2, [pc, #116] ; (80c1604 ) 80c158e: 4293 cmp r3, r2 80c1590: d018 beq.n 80c15c4 80c1592: 687b ldr r3, [r7, #4] 80c1594: 681b ldr r3, [r3, #0] 80c1596: 4a1c ldr r2, [pc, #112] ; (80c1608 ) 80c1598: 4293 cmp r3, r2 80c159a: d013 beq.n 80c15c4 80c159c: 687b ldr r3, [r7, #4] 80c159e: 681b ldr r3, [r3, #0] 80c15a0: 4a1a ldr r2, [pc, #104] ; (80c160c ) 80c15a2: 4293 cmp r3, r2 80c15a4: d00e beq.n 80c15c4 80c15a6: 687b ldr r3, [r7, #4] 80c15a8: 681b ldr r3, [r3, #0] 80c15aa: 4a15 ldr r2, [pc, #84] ; (80c1600 ) 80c15ac: 4293 cmp r3, r2 80c15ae: d009 beq.n 80c15c4 80c15b0: 687b ldr r3, [r7, #4] 80c15b2: 681b ldr r3, [r3, #0] 80c15b4: 4a16 ldr r2, [pc, #88] ; (80c1610 ) 80c15b6: 4293 cmp r3, r2 80c15b8: d004 beq.n 80c15c4 80c15ba: 687b ldr r3, [r7, #4] 80c15bc: 681b ldr r3, [r3, #0] 80c15be: 4a15 ldr r2, [pc, #84] ; (80c1614 ) 80c15c0: 4293 cmp r3, r2 80c15c2: d10c bne.n 80c15de { /* Reset the MSM Bit */ tmpsmcr &= ~TIM_SMCR_MSM; 80c15c4: 68bb ldr r3, [r7, #8] 80c15c6: f023 0380 bic.w r3, r3, #128 ; 0x80 80c15ca: 60bb str r3, [r7, #8] /* Set master mode */ tmpsmcr |= sMasterConfig->MasterSlaveMode; 80c15cc: 683b ldr r3, [r7, #0] 80c15ce: 689b ldr r3, [r3, #8] 80c15d0: 68ba ldr r2, [r7, #8] 80c15d2: 4313 orrs r3, r2 80c15d4: 60bb str r3, [r7, #8] /* Update TIMx SMCR */ htim->Instance->SMCR = tmpsmcr; 80c15d6: 687b ldr r3, [r7, #4] 80c15d8: 681b ldr r3, [r3, #0] 80c15da: 68ba ldr r2, [r7, #8] 80c15dc: 609a str r2, [r3, #8] } /* Change the htim state */ htim->State = HAL_TIM_STATE_READY; 80c15de: 687b ldr r3, [r7, #4] 80c15e0: 2201 movs r2, #1 80c15e2: f883 203d strb.w r2, [r3, #61] ; 0x3d __HAL_UNLOCK(htim); 80c15e6: 687b ldr r3, [r7, #4] 80c15e8: 2200 movs r2, #0 80c15ea: f883 203c strb.w r2, [r3, #60] ; 0x3c return HAL_OK; 80c15ee: 2300 movs r3, #0 } 80c15f0: 4618 mov r0, r3 80c15f2: 3714 adds r7, #20 80c15f4: 46bd mov sp, r7 80c15f6: f85d 7b04 ldr.w r7, [sp], #4 80c15fa: 4770 bx lr 80c15fc: 40010000 .word 0x40010000 80c1600: 40010400 .word 0x40010400 80c1604: 40000400 .word 0x40000400 80c1608: 40000800 .word 0x40000800 80c160c: 40000c00 .word 0x40000c00 80c1610: 40014000 .word 0x40014000 80c1614: 40001800 .word 0x40001800 080c1618 : * @brief Hall commutation changed callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_CommutCallback(TIM_HandleTypeDef *htim) { 80c1618: b480 push {r7} 80c161a: b083 sub sp, #12 80c161c: af00 add r7, sp, #0 80c161e: 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 */ } 80c1620: bf00 nop 80c1622: 370c adds r7, #12 80c1624: 46bd mov sp, r7 80c1626: f85d 7b04 ldr.w r7, [sp], #4 80c162a: 4770 bx lr 080c162c : * @brief Hall Break detection callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim) { 80c162c: b480 push {r7} 80c162e: b083 sub sp, #12 80c1630: af00 add r7, sp, #0 80c1632: 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 */ } 80c1634: bf00 nop 80c1636: 370c adds r7, #12 80c1638: 46bd mov sp, r7 80c163a: f85d 7b04 ldr.w r7, [sp], #4 80c163e: 4770 bx lr 080c1640 : * @brief Hall Break2 detection callback in non blocking mode * @param htim: TIM handle * @retval None */ __weak void HAL_TIMEx_Break2Callback(TIM_HandleTypeDef *htim) { 80c1640: b480 push {r7} 80c1642: b083 sub sp, #12 80c1644: af00 add r7, sp, #0 80c1646: 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 */ } 80c1648: bf00 nop 80c164a: 370c adds r7, #12 80c164c: 46bd mov sp, r7 80c164e: f85d 7b04 ldr.w r7, [sp], #4 80c1652: 4770 bx lr 080c1654 : * @brief DeInitialize the UART peripheral. * @param huart UART handle. * @retval HAL status */ HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart) { 80c1654: b580 push {r7, lr} 80c1656: b082 sub sp, #8 80c1658: af00 add r7, sp, #0 80c165a: 6078 str r0, [r7, #4] /* Check the UART handle allocation */ if (huart == NULL) 80c165c: 687b ldr r3, [r7, #4] 80c165e: 2b00 cmp r3, #0 80c1660: d101 bne.n 80c1666 { return HAL_ERROR; 80c1662: 2301 movs r3, #1 80c1664: e02b b.n 80c16be } /* Check the parameters */ assert_param(IS_UART_INSTANCE(huart->Instance)); huart->gState = HAL_UART_STATE_BUSY; 80c1666: 687b ldr r3, [r7, #4] 80c1668: 2224 movs r2, #36 ; 0x24 80c166a: 679a str r2, [r3, #120] ; 0x78 __HAL_UART_DISABLE(huart); 80c166c: 687b ldr r3, [r7, #4] 80c166e: 681b ldr r3, [r3, #0] 80c1670: 687a ldr r2, [r7, #4] 80c1672: 6812 ldr r2, [r2, #0] 80c1674: 6812 ldr r2, [r2, #0] 80c1676: f022 0201 bic.w r2, r2, #1 80c167a: 601a str r2, [r3, #0] huart->Instance->CR1 = 0x0U; 80c167c: 687b ldr r3, [r7, #4] 80c167e: 681b ldr r3, [r3, #0] 80c1680: 2200 movs r2, #0 80c1682: 601a str r2, [r3, #0] huart->Instance->CR2 = 0x0U; 80c1684: 687b ldr r3, [r7, #4] 80c1686: 681b ldr r3, [r3, #0] 80c1688: 2200 movs r2, #0 80c168a: 605a str r2, [r3, #4] huart->Instance->CR3 = 0x0U; 80c168c: 687b ldr r3, [r7, #4] 80c168e: 681b ldr r3, [r3, #0] 80c1690: 2200 movs r2, #0 80c1692: 609a str r2, [r3, #8] } /* DeInit the low level hardware */ huart->MspDeInitCallback(huart); #else /* DeInit the low level hardware */ HAL_UART_MspDeInit(huart); 80c1694: 6878 ldr r0, [r7, #4] 80c1696: f7f1 fe19 bl 80b32cc #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80c169a: 687b ldr r3, [r7, #4] 80c169c: 2200 movs r2, #0 80c169e: f8c3 2080 str.w r2, [r3, #128] ; 0x80 huart->gState = HAL_UART_STATE_RESET; 80c16a2: 687b ldr r3, [r7, #4] 80c16a4: 2200 movs r2, #0 80c16a6: 679a str r2, [r3, #120] ; 0x78 huart->RxState = HAL_UART_STATE_RESET; 80c16a8: 687b ldr r3, [r7, #4] 80c16aa: 2200 movs r2, #0 80c16ac: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80c16ae: 687b ldr r3, [r7, #4] 80c16b0: 2200 movs r2, #0 80c16b2: 661a str r2, [r3, #96] ; 0x60 __HAL_UNLOCK(huart); 80c16b4: 687b ldr r3, [r7, #4] 80c16b6: 2200 movs r2, #0 80c16b8: f883 2074 strb.w r2, [r3, #116] ; 0x74 return HAL_OK; 80c16bc: 2300 movs r3, #0 } 80c16be: 4618 mov r0, r3 80c16c0: 3708 adds r7, #8 80c16c2: 46bd mov sp, r7 80c16c4: bd80 pop {r7, pc} ... 080c16c8 : * @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) { 80c16c8: b580 push {r7, lr} 80c16ca: b0a2 sub sp, #136 ; 0x88 80c16cc: af00 add r7, sp, #0 80c16ce: 6078 str r0, [r7, #4] uint32_t abortcplt = 1U; 80c16d0: 2301 movs r3, #1 80c16d2: 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)); 80c16d6: 687b ldr r3, [r7, #4] 80c16d8: 681b ldr r3, [r3, #0] 80c16da: 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) ); 80c16dc: 6e3b ldr r3, [r7, #96] ; 0x60 80c16de: e853 3f00 ldrex r3, [r3] 80c16e2: 65fb str r3, [r7, #92] ; 0x5c return(result); 80c16e4: 6dfb ldr r3, [r7, #92] ; 0x5c 80c16e6: f423 73f0 bic.w r3, r3, #480 ; 0x1e0 80c16ea: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80c16ee: 687b ldr r3, [r7, #4] 80c16f0: 681b ldr r3, [r3, #0] 80c16f2: 461a mov r2, r3 80c16f4: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c16f8: 66fb str r3, [r7, #108] ; 0x6c 80c16fa: 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) ); 80c16fc: 6eb9 ldr r1, [r7, #104] ; 0x68 80c16fe: 6efa ldr r2, [r7, #108] ; 0x6c 80c1700: e841 2300 strex r3, r2, [r1] 80c1704: 667b str r3, [r7, #100] ; 0x64 return(result); 80c1706: 6e7b ldr r3, [r7, #100] ; 0x64 80c1708: 2b00 cmp r3, #0 80c170a: d1e4 bne.n 80c16d6 ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 80c170c: 687b ldr r3, [r7, #4] 80c170e: 681b ldr r3, [r3, #0] 80c1710: 3308 adds r3, #8 80c1712: 64fb str r3, [r7, #76] ; 0x4c __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1714: 6cfb ldr r3, [r7, #76] ; 0x4c 80c1716: e853 3f00 ldrex r3, [r3] 80c171a: 64bb str r3, [r7, #72] ; 0x48 return(result); 80c171c: 6cbb ldr r3, [r7, #72] ; 0x48 80c171e: f023 0301 bic.w r3, r3, #1 80c1722: 67fb str r3, [r7, #124] ; 0x7c 80c1724: 687b ldr r3, [r7, #4] 80c1726: 681b ldr r3, [r3, #0] 80c1728: 3308 adds r3, #8 80c172a: 6ffa ldr r2, [r7, #124] ; 0x7c 80c172c: 65ba str r2, [r7, #88] ; 0x58 80c172e: 657b str r3, [r7, #84] ; 0x54 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c1730: 6d79 ldr r1, [r7, #84] ; 0x54 80c1732: 6dba ldr r2, [r7, #88] ; 0x58 80c1734: e841 2300 strex r3, r2, [r1] 80c1738: 653b str r3, [r7, #80] ; 0x50 return(result); 80c173a: 6d3b ldr r3, [r7, #80] ; 0x50 80c173c: 2b00 cmp r3, #0 80c173e: d1e5 bne.n 80c170c /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 80c1740: 687b ldr r3, [r7, #4] 80c1742: 6e1b ldr r3, [r3, #96] ; 0x60 80c1744: 2b01 cmp r3, #1 80c1746: d118 bne.n 80c177a { ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 80c1748: 687b ldr r3, [r7, #4] 80c174a: 681b ldr r3, [r3, #0] 80c174c: 63bb str r3, [r7, #56] ; 0x38 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c174e: 6bbb ldr r3, [r7, #56] ; 0x38 80c1750: e853 3f00 ldrex r3, [r3] 80c1754: 637b str r3, [r7, #52] ; 0x34 return(result); 80c1756: 6b7b ldr r3, [r7, #52] ; 0x34 80c1758: f023 0310 bic.w r3, r3, #16 80c175c: 67bb str r3, [r7, #120] ; 0x78 80c175e: 687b ldr r3, [r7, #4] 80c1760: 681b ldr r3, [r3, #0] 80c1762: 461a mov r2, r3 80c1764: 6fbb ldr r3, [r7, #120] ; 0x78 80c1766: 647b str r3, [r7, #68] ; 0x44 80c1768: 643a str r2, [r7, #64] ; 0x40 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c176a: 6c39 ldr r1, [r7, #64] ; 0x40 80c176c: 6c7a ldr r2, [r7, #68] ; 0x44 80c176e: e841 2300 strex r3, r2, [r1] 80c1772: 63fb str r3, [r7, #60] ; 0x3c return(result); 80c1774: 6bfb ldr r3, [r7, #60] ; 0x3c 80c1776: 2b00 cmp r3, #0 80c1778: d1e6 bne.n 80c1748 } /* 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) 80c177a: 687b ldr r3, [r7, #4] 80c177c: 6edb ldr r3, [r3, #108] ; 0x6c 80c177e: 2b00 cmp r3, #0 80c1780: d00f beq.n 80c17a2 { /* 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)) 80c1782: 687b ldr r3, [r7, #4] 80c1784: 681b ldr r3, [r3, #0] 80c1786: 689b ldr r3, [r3, #8] 80c1788: f003 0380 and.w r3, r3, #128 ; 0x80 80c178c: 2b80 cmp r3, #128 ; 0x80 80c178e: d104 bne.n 80c179a { huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback; 80c1790: 687b ldr r3, [r7, #4] 80c1792: 6edb ldr r3, [r3, #108] ; 0x6c 80c1794: 4a5d ldr r2, [pc, #372] ; (80c190c ) 80c1796: 651a str r2, [r3, #80] ; 0x50 80c1798: e003 b.n 80c17a2 } else { huart->hdmatx->XferAbortCallback = NULL; 80c179a: 687b ldr r3, [r7, #4] 80c179c: 6edb ldr r3, [r3, #108] ; 0x6c 80c179e: 2200 movs r2, #0 80c17a0: 651a str r2, [r3, #80] ; 0x50 } } /* DMA Rx Handle is valid */ if (huart->hdmarx != NULL) 80c17a2: 687b ldr r3, [r7, #4] 80c17a4: 6f1b ldr r3, [r3, #112] ; 0x70 80c17a6: 2b00 cmp r3, #0 80c17a8: d00f beq.n 80c17ca { /* 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)) 80c17aa: 687b ldr r3, [r7, #4] 80c17ac: 681b ldr r3, [r3, #0] 80c17ae: 689b ldr r3, [r3, #8] 80c17b0: f003 0340 and.w r3, r3, #64 ; 0x40 80c17b4: 2b40 cmp r3, #64 ; 0x40 80c17b6: d104 bne.n 80c17c2 { huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback; 80c17b8: 687b ldr r3, [r7, #4] 80c17ba: 6f1b ldr r3, [r3, #112] ; 0x70 80c17bc: 4a54 ldr r2, [pc, #336] ; (80c1910 ) 80c17be: 651a str r2, [r3, #80] ; 0x50 80c17c0: e003 b.n 80c17ca } else { huart->hdmarx->XferAbortCallback = NULL; 80c17c2: 687b ldr r3, [r7, #4] 80c17c4: 6f1b ldr r3, [r3, #112] ; 0x70 80c17c6: 2200 movs r2, #0 80c17c8: 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)) 80c17ca: 687b ldr r3, [r7, #4] 80c17cc: 681b ldr r3, [r3, #0] 80c17ce: 689b ldr r3, [r3, #8] 80c17d0: f003 0380 and.w r3, r3, #128 ; 0x80 80c17d4: 2b80 cmp r3, #128 ; 0x80 80c17d6: d12d bne.n 80c1834 { /* Disable DMA Tx at UART level */ ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 80c17d8: 687b ldr r3, [r7, #4] 80c17da: 681b ldr r3, [r3, #0] 80c17dc: 3308 adds r3, #8 80c17de: 627b str r3, [r7, #36] ; 0x24 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c17e0: 6a7b ldr r3, [r7, #36] ; 0x24 80c17e2: e853 3f00 ldrex r3, [r3] 80c17e6: 623b str r3, [r7, #32] return(result); 80c17e8: 6a3b ldr r3, [r7, #32] 80c17ea: f023 0380 bic.w r3, r3, #128 ; 0x80 80c17ee: 677b str r3, [r7, #116] ; 0x74 80c17f0: 687b ldr r3, [r7, #4] 80c17f2: 681b ldr r3, [r3, #0] 80c17f4: 3308 adds r3, #8 80c17f6: 6f7a ldr r2, [r7, #116] ; 0x74 80c17f8: 633a str r2, [r7, #48] ; 0x30 80c17fa: 62fb str r3, [r7, #44] ; 0x2c __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c17fc: 6af9 ldr r1, [r7, #44] ; 0x2c 80c17fe: 6b3a ldr r2, [r7, #48] ; 0x30 80c1800: e841 2300 strex r3, r2, [r1] 80c1804: 62bb str r3, [r7, #40] ; 0x28 return(result); 80c1806: 6abb ldr r3, [r7, #40] ; 0x28 80c1808: 2b00 cmp r3, #0 80c180a: d1e5 bne.n 80c17d8 /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ if (huart->hdmatx != NULL) 80c180c: 687b ldr r3, [r7, #4] 80c180e: 6edb ldr r3, [r3, #108] ; 0x6c 80c1810: 2b00 cmp r3, #0 80c1812: d00f beq.n 80c1834 { /* 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) 80c1814: 687b ldr r3, [r7, #4] 80c1816: 6edb ldr r3, [r3, #108] ; 0x6c 80c1818: 4618 mov r0, r3 80c181a: f7f7 faf7 bl 80b8e0c 80c181e: 4603 mov r3, r0 80c1820: 2b00 cmp r3, #0 80c1822: d004 beq.n 80c182e { huart->hdmatx->XferAbortCallback = NULL; 80c1824: 687b ldr r3, [r7, #4] 80c1826: 6edb ldr r3, [r3, #108] ; 0x6c 80c1828: 2200 movs r2, #0 80c182a: 651a str r2, [r3, #80] ; 0x50 80c182c: e002 b.n 80c1834 } else { abortcplt = 0U; 80c182e: 2300 movs r3, #0 80c1830: 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)) 80c1834: 687b ldr r3, [r7, #4] 80c1836: 681b ldr r3, [r3, #0] 80c1838: 689b ldr r3, [r3, #8] 80c183a: f003 0340 and.w r3, r3, #64 ; 0x40 80c183e: 2b40 cmp r3, #64 ; 0x40 80c1840: d130 bne.n 80c18a4 { /* Disable the UART DMA Rx request if enabled */ ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 80c1842: 687b ldr r3, [r7, #4] 80c1844: 681b ldr r3, [r3, #0] 80c1846: 3308 adds r3, #8 80c1848: 613b str r3, [r7, #16] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c184a: 693b ldr r3, [r7, #16] 80c184c: e853 3f00 ldrex r3, [r3] 80c1850: 60fb str r3, [r7, #12] return(result); 80c1852: 68fb ldr r3, [r7, #12] 80c1854: f023 0340 bic.w r3, r3, #64 ; 0x40 80c1858: 673b str r3, [r7, #112] ; 0x70 80c185a: 687b ldr r3, [r7, #4] 80c185c: 681b ldr r3, [r3, #0] 80c185e: 3308 adds r3, #8 80c1860: 6f3a ldr r2, [r7, #112] ; 0x70 80c1862: 61fa str r2, [r7, #28] 80c1864: 61bb str r3, [r7, #24] __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c1866: 69b9 ldr r1, [r7, #24] 80c1868: 69fa ldr r2, [r7, #28] 80c186a: e841 2300 strex r3, r2, [r1] 80c186e: 617b str r3, [r7, #20] return(result); 80c1870: 697b ldr r3, [r7, #20] 80c1872: 2b00 cmp r3, #0 80c1874: d1e5 bne.n 80c1842 /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ if (huart->hdmarx != NULL) 80c1876: 687b ldr r3, [r7, #4] 80c1878: 6f1b ldr r3, [r3, #112] ; 0x70 80c187a: 2b00 cmp r3, #0 80c187c: d012 beq.n 80c18a4 { /* 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) 80c187e: 687b ldr r3, [r7, #4] 80c1880: 6f1b ldr r3, [r3, #112] ; 0x70 80c1882: 4618 mov r0, r3 80c1884: f7f7 fac2 bl 80b8e0c 80c1888: 4603 mov r3, r0 80c188a: 2b00 cmp r3, #0 80c188c: d007 beq.n 80c189e { huart->hdmarx->XferAbortCallback = NULL; 80c188e: 687b ldr r3, [r7, #4] 80c1890: 6f1b ldr r3, [r3, #112] ; 0x70 80c1892: 2200 movs r2, #0 80c1894: 651a str r2, [r3, #80] ; 0x50 abortcplt = 1U; 80c1896: 2301 movs r3, #1 80c1898: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80c189c: e002 b.n 80c18a4 } else { abortcplt = 0U; 80c189e: 2300 movs r3, #0 80c18a0: 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) 80c18a4: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c18a8: 2b01 cmp r3, #1 80c18aa: d129 bne.n 80c1900 { /* Reset Tx and Rx transfer counters */ huart->TxXferCount = 0U; 80c18ac: 687b ldr r3, [r7, #4] 80c18ae: 2200 movs r2, #0 80c18b0: f8a3 2052 strh.w r2, [r3, #82] ; 0x52 huart->RxXferCount = 0U; 80c18b4: 687b ldr r3, [r7, #4] 80c18b6: 2200 movs r2, #0 80c18b8: f8a3 205a strh.w r2, [r3, #90] ; 0x5a /* Clear ISR function pointers */ huart->RxISR = NULL; 80c18bc: 687b ldr r3, [r7, #4] 80c18be: 2200 movs r2, #0 80c18c0: 665a str r2, [r3, #100] ; 0x64 huart->TxISR = NULL; 80c18c2: 687b ldr r3, [r7, #4] 80c18c4: 2200 movs r2, #0 80c18c6: 669a str r2, [r3, #104] ; 0x68 /* Reset errorCode */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80c18c8: 687b ldr r3, [r7, #4] 80c18ca: 2200 movs r2, #0 80c18cc: 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); 80c18d0: 687b ldr r3, [r7, #4] 80c18d2: 681b ldr r3, [r3, #0] 80c18d4: 220f movs r2, #15 80c18d6: 621a str r2, [r3, #32] /* Discard the received data */ __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 80c18d8: 687b ldr r3, [r7, #4] 80c18da: 681b ldr r3, [r3, #0] 80c18dc: 687a ldr r2, [r7, #4] 80c18de: 6812 ldr r2, [r2, #0] 80c18e0: 6992 ldr r2, [r2, #24] 80c18e2: f042 0208 orr.w r2, r2, #8 80c18e6: 619a str r2, [r3, #24] /* Restore huart->gState and huart->RxState to Ready */ huart->gState = HAL_UART_STATE_READY; 80c18e8: 687b ldr r3, [r7, #4] 80c18ea: 2220 movs r2, #32 80c18ec: 679a str r2, [r3, #120] ; 0x78 huart->RxState = HAL_UART_STATE_READY; 80c18ee: 687b ldr r3, [r7, #4] 80c18f0: 2220 movs r2, #32 80c18f2: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80c18f4: 687b ldr r3, [r7, #4] 80c18f6: 2200 movs r2, #0 80c18f8: 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); 80c18fa: 6878 ldr r0, [r7, #4] 80c18fc: f000 faea bl 80c1ed4 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } return HAL_OK; 80c1900: 2300 movs r3, #0 } 80c1902: 4618 mov r0, r3 80c1904: 3788 adds r7, #136 ; 0x88 80c1906: 46bd mov sp, r7 80c1908: bd80 pop {r7, pc} 80c190a: bf00 nop 80c190c: 080c2007 .word 0x080c2007 80c1910: 080c2071 .word 0x080c2071 080c1914 : * @brief Handle UART interrupt request. * @param huart UART handle. * @retval None */ void HAL_UART_IRQHandler(UART_HandleTypeDef *huart) { 80c1914: b580 push {r7, lr} 80c1916: b0ba sub sp, #232 ; 0xe8 80c1918: af00 add r7, sp, #0 80c191a: 6078 str r0, [r7, #4] uint32_t isrflags = READ_REG(huart->Instance->ISR); 80c191c: 687b ldr r3, [r7, #4] 80c191e: 681b ldr r3, [r3, #0] 80c1920: 69db ldr r3, [r3, #28] 80c1922: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 uint32_t cr1its = READ_REG(huart->Instance->CR1); 80c1926: 687b ldr r3, [r7, #4] 80c1928: 681b ldr r3, [r3, #0] 80c192a: 681b ldr r3, [r3, #0] 80c192c: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 uint32_t cr3its = READ_REG(huart->Instance->CR3); 80c1930: 687b ldr r3, [r7, #4] 80c1932: 681b ldr r3, [r3, #0] 80c1934: 689b ldr r3, [r3, #8] 80c1936: 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)); 80c193a: f8d7 20e4 ldr.w r2, [r7, #228] ; 0xe4 80c193e: f640 030f movw r3, #2063 ; 0x80f 80c1942: 4013 ands r3, r2 80c1944: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 if (errorflags == 0U) 80c1948: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80c194c: 2b00 cmp r3, #0 80c194e: d115 bne.n 80c197c { /* UART in mode Receiver ---------------------------------------------------*/ if (((isrflags & USART_ISR_RXNE) != 0U) 80c1950: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c1954: f003 0320 and.w r3, r3, #32 80c1958: 2b00 cmp r3, #0 80c195a: d00f beq.n 80c197c && ((cr1its & USART_CR1_RXNEIE) != 0U)) 80c195c: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c1960: f003 0320 and.w r3, r3, #32 80c1964: 2b00 cmp r3, #0 80c1966: d009 beq.n 80c197c { if (huart->RxISR != NULL) 80c1968: 687b ldr r3, [r7, #4] 80c196a: 6e5b ldr r3, [r3, #100] ; 0x64 80c196c: 2b00 cmp r3, #0 80c196e: f000 82a5 beq.w 80c1ebc { huart->RxISR(huart); 80c1972: 687b ldr r3, [r7, #4] 80c1974: 6e5b ldr r3, [r3, #100] ; 0x64 80c1976: 6878 ldr r0, [r7, #4] 80c1978: 4798 blx r3 } return; 80c197a: e29f b.n 80c1ebc } } /* If some errors occur */ if ((errorflags != 0U) 80c197c: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80c1980: 2b00 cmp r3, #0 80c1982: f000 8117 beq.w 80c1bb4 && (((cr3its & USART_CR3_EIE) != 0U) 80c1986: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80c198a: f003 0301 and.w r3, r3, #1 80c198e: 2b00 cmp r3, #0 80c1990: d106 bne.n 80c19a0 || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U))) 80c1992: f8d7 20e0 ldr.w r2, [r7, #224] ; 0xe0 80c1996: 4b85 ldr r3, [pc, #532] ; (80c1bac ) 80c1998: 4013 ands r3, r2 80c199a: 2b00 cmp r3, #0 80c199c: f000 810a beq.w 80c1bb4 { /* UART parity error interrupt occurred -------------------------------------*/ if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U)) 80c19a0: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c19a4: f003 0301 and.w r3, r3, #1 80c19a8: 2b00 cmp r3, #0 80c19aa: d011 beq.n 80c19d0 80c19ac: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c19b0: f403 7380 and.w r3, r3, #256 ; 0x100 80c19b4: 2b00 cmp r3, #0 80c19b6: d00b beq.n 80c19d0 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF); 80c19b8: 687b ldr r3, [r7, #4] 80c19ba: 681b ldr r3, [r3, #0] 80c19bc: 2201 movs r2, #1 80c19be: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_PE; 80c19c0: 687b ldr r3, [r7, #4] 80c19c2: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80c19c6: f043 0201 orr.w r2, r3, #1 80c19ca: 687b ldr r3, [r7, #4] 80c19cc: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* UART frame error interrupt occurred --------------------------------------*/ if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 80c19d0: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c19d4: f003 0302 and.w r3, r3, #2 80c19d8: 2b00 cmp r3, #0 80c19da: d011 beq.n 80c1a00 80c19dc: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80c19e0: f003 0301 and.w r3, r3, #1 80c19e4: 2b00 cmp r3, #0 80c19e6: d00b beq.n 80c1a00 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF); 80c19e8: 687b ldr r3, [r7, #4] 80c19ea: 681b ldr r3, [r3, #0] 80c19ec: 2202 movs r2, #2 80c19ee: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_FE; 80c19f0: 687b ldr r3, [r7, #4] 80c19f2: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80c19f6: f043 0204 orr.w r2, r3, #4 80c19fa: 687b ldr r3, [r7, #4] 80c19fc: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* UART noise error interrupt occurred --------------------------------------*/ if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 80c1a00: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c1a04: f003 0304 and.w r3, r3, #4 80c1a08: 2b00 cmp r3, #0 80c1a0a: d011 beq.n 80c1a30 80c1a0c: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80c1a10: f003 0301 and.w r3, r3, #1 80c1a14: 2b00 cmp r3, #0 80c1a16: d00b beq.n 80c1a30 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF); 80c1a18: 687b ldr r3, [r7, #4] 80c1a1a: 681b ldr r3, [r3, #0] 80c1a1c: 2204 movs r2, #4 80c1a1e: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_NE; 80c1a20: 687b ldr r3, [r7, #4] 80c1a22: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80c1a26: f043 0202 orr.w r2, r3, #2 80c1a2a: 687b ldr r3, [r7, #4] 80c1a2c: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* UART Over-Run interrupt occurred -----------------------------------------*/ if (((isrflags & USART_ISR_ORE) != 0U) 80c1a30: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c1a34: f003 0308 and.w r3, r3, #8 80c1a38: 2b00 cmp r3, #0 80c1a3a: d017 beq.n 80c1a6c && (((cr1its & USART_CR1_RXNEIE) != 0U) || 80c1a3c: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c1a40: f003 0320 and.w r3, r3, #32 80c1a44: 2b00 cmp r3, #0 80c1a46: d105 bne.n 80c1a54 ((cr3its & USART_CR3_EIE) != 0U))) 80c1a48: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80c1a4c: f003 0301 and.w r3, r3, #1 && (((cr1its & USART_CR1_RXNEIE) != 0U) || 80c1a50: 2b00 cmp r3, #0 80c1a52: d00b beq.n 80c1a6c { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 80c1a54: 687b ldr r3, [r7, #4] 80c1a56: 681b ldr r3, [r3, #0] 80c1a58: 2208 movs r2, #8 80c1a5a: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_ORE; 80c1a5c: 687b ldr r3, [r7, #4] 80c1a5e: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80c1a62: f043 0208 orr.w r2, r3, #8 80c1a66: 687b ldr r3, [r7, #4] 80c1a68: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* UART Receiver Timeout interrupt occurred ---------------------------------*/ if (((isrflags & USART_ISR_RTOF) != 0U) && ((cr1its & USART_CR1_RTOIE) != 0U)) 80c1a6c: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c1a70: f403 6300 and.w r3, r3, #2048 ; 0x800 80c1a74: 2b00 cmp r3, #0 80c1a76: d012 beq.n 80c1a9e 80c1a78: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c1a7c: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80c1a80: 2b00 cmp r3, #0 80c1a82: d00c beq.n 80c1a9e { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF); 80c1a84: 687b ldr r3, [r7, #4] 80c1a86: 681b ldr r3, [r3, #0] 80c1a88: f44f 6200 mov.w r2, #2048 ; 0x800 80c1a8c: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_RTO; 80c1a8e: 687b ldr r3, [r7, #4] 80c1a90: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80c1a94: f043 0220 orr.w r2, r3, #32 80c1a98: 687b ldr r3, [r7, #4] 80c1a9a: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* Call UART Error Call back function if need be ----------------------------*/ if (huart->ErrorCode != HAL_UART_ERROR_NONE) 80c1a9e: 687b ldr r3, [r7, #4] 80c1aa0: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80c1aa4: 2b00 cmp r3, #0 80c1aa6: f000 820b beq.w 80c1ec0 { /* UART in mode Receiver --------------------------------------------------*/ if (((isrflags & USART_ISR_RXNE) != 0U) 80c1aaa: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c1aae: f003 0320 and.w r3, r3, #32 80c1ab2: 2b00 cmp r3, #0 80c1ab4: d00d beq.n 80c1ad2 && ((cr1its & USART_CR1_RXNEIE) != 0U)) 80c1ab6: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c1aba: f003 0320 and.w r3, r3, #32 80c1abe: 2b00 cmp r3, #0 80c1ac0: d007 beq.n 80c1ad2 { if (huart->RxISR != NULL) 80c1ac2: 687b ldr r3, [r7, #4] 80c1ac4: 6e5b ldr r3, [r3, #100] ; 0x64 80c1ac6: 2b00 cmp r3, #0 80c1ac8: d003 beq.n 80c1ad2 { huart->RxISR(huart); 80c1aca: 687b ldr r3, [r7, #4] 80c1acc: 6e5b ldr r3, [r3, #100] ; 0x64 80c1ace: 6878 ldr r0, [r7, #4] 80c1ad0: 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; 80c1ad2: 687b ldr r3, [r7, #4] 80c1ad4: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80c1ad8: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 80c1adc: 687b ldr r3, [r7, #4] 80c1ade: 681b ldr r3, [r3, #0] 80c1ae0: 689b ldr r3, [r3, #8] 80c1ae2: f003 0340 and.w r3, r3, #64 ; 0x40 80c1ae6: 2b40 cmp r3, #64 ; 0x40 80c1ae8: d005 beq.n 80c1af6 ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 80c1aea: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80c1aee: f003 0328 and.w r3, r3, #40 ; 0x28 if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 80c1af2: 2b00 cmp r3, #0 80c1af4: d04f beq.n 80c1b96 { /* 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); 80c1af6: 6878 ldr r0, [r7, #4] 80c1af8: f000 fa0c bl 80c1f14 /* Abort the UART DMA Rx channel if enabled */ if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80c1afc: 687b ldr r3, [r7, #4] 80c1afe: 681b ldr r3, [r3, #0] 80c1b00: 689b ldr r3, [r3, #8] 80c1b02: f003 0340 and.w r3, r3, #64 ; 0x40 80c1b06: 2b40 cmp r3, #64 ; 0x40 80c1b08: d141 bne.n 80c1b8e { /* Disable the UART DMA Rx request if enabled */ ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 80c1b0a: 687b ldr r3, [r7, #4] 80c1b0c: 681b ldr r3, [r3, #0] 80c1b0e: 3308 adds r3, #8 80c1b10: f8c7 309c str.w r3, [r7, #156] ; 0x9c __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1b14: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80c1b18: e853 3f00 ldrex r3, [r3] 80c1b1c: f8c7 3098 str.w r3, [r7, #152] ; 0x98 return(result); 80c1b20: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c1b24: f023 0340 bic.w r3, r3, #64 ; 0x40 80c1b28: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 80c1b2c: 687b ldr r3, [r7, #4] 80c1b2e: 681b ldr r3, [r3, #0] 80c1b30: 3308 adds r3, #8 80c1b32: f8d7 20d0 ldr.w r2, [r7, #208] ; 0xd0 80c1b36: f8c7 20a8 str.w r2, [r7, #168] ; 0xa8 80c1b3a: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c1b3e: f8d7 10a4 ldr.w r1, [r7, #164] ; 0xa4 80c1b42: f8d7 20a8 ldr.w r2, [r7, #168] ; 0xa8 80c1b46: e841 2300 strex r3, r2, [r1] 80c1b4a: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 return(result); 80c1b4e: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80c1b52: 2b00 cmp r3, #0 80c1b54: d1d9 bne.n 80c1b0a /* Abort the UART DMA Rx channel */ if (huart->hdmarx != NULL) 80c1b56: 687b ldr r3, [r7, #4] 80c1b58: 6f1b ldr r3, [r3, #112] ; 0x70 80c1b5a: 2b00 cmp r3, #0 80c1b5c: d013 beq.n 80c1b86 { /* Set the UART DMA Abort callback : will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */ huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError; 80c1b5e: 687b ldr r3, [r7, #4] 80c1b60: 6f1b ldr r3, [r3, #112] ; 0x70 80c1b62: 4a13 ldr r2, [pc, #76] ; (80c1bb0 ) 80c1b64: 651a str r2, [r3, #80] ; 0x50 /* Abort DMA RX */ if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 80c1b66: 687b ldr r3, [r7, #4] 80c1b68: 6f1b ldr r3, [r3, #112] ; 0x70 80c1b6a: 4618 mov r0, r3 80c1b6c: f7f7 f94e bl 80b8e0c 80c1b70: 4603 mov r3, r0 80c1b72: 2b00 cmp r3, #0 80c1b74: d017 beq.n 80c1ba6 { /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ huart->hdmarx->XferAbortCallback(huart->hdmarx); 80c1b76: 687b ldr r3, [r7, #4] 80c1b78: 6f1b ldr r3, [r3, #112] ; 0x70 80c1b7a: 6d1b ldr r3, [r3, #80] ; 0x50 80c1b7c: 687a ldr r2, [r7, #4] 80c1b7e: 6f12 ldr r2, [r2, #112] ; 0x70 80c1b80: 4610 mov r0, r2 80c1b82: 4798 blx r3 if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80c1b84: e00f b.n 80c1ba6 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ huart->ErrorCallback(huart); #else /*Call legacy weak error callback*/ HAL_UART_ErrorCallback(huart); 80c1b86: 6878 ldr r0, [r7, #4] 80c1b88: f76e fd28 bl 80305dc if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80c1b8c: e00b b.n 80c1ba6 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ huart->ErrorCallback(huart); #else /*Call legacy weak error callback*/ HAL_UART_ErrorCallback(huart); 80c1b8e: 6878 ldr r0, [r7, #4] 80c1b90: f76e fd24 bl 80305dc if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80c1b94: e007 b.n 80c1ba6 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ huart->ErrorCallback(huart); #else /*Call legacy weak error callback*/ HAL_UART_ErrorCallback(huart); 80c1b96: 6878 ldr r0, [r7, #4] 80c1b98: f76e fd20 bl 80305dc #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80c1b9c: 687b ldr r3, [r7, #4] 80c1b9e: 2200 movs r2, #0 80c1ba0: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } } return; 80c1ba4: e18c b.n 80c1ec0 if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80c1ba6: bf00 nop return; 80c1ba8: e18a b.n 80c1ec0 80c1baa: bf00 nop 80c1bac: 04000120 .word 0x04000120 80c1bb0: 080c1fdb .word 0x080c1fdb } /* End if some error occurs */ /* Check current reception Mode : If Reception till IDLE event has been selected : */ if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 80c1bb4: 687b ldr r3, [r7, #4] 80c1bb6: 6e1b ldr r3, [r3, #96] ; 0x60 80c1bb8: 2b01 cmp r3, #1 80c1bba: f040 8144 bne.w 80c1e46 && ((isrflags & USART_ISR_IDLE) != 0U) 80c1bbe: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c1bc2: f003 0310 and.w r3, r3, #16 80c1bc6: 2b00 cmp r3, #0 80c1bc8: f000 813d beq.w 80c1e46 && ((cr1its & USART_ISR_IDLE) != 0U)) 80c1bcc: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c1bd0: f003 0310 and.w r3, r3, #16 80c1bd4: 2b00 cmp r3, #0 80c1bd6: f000 8136 beq.w 80c1e46 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 80c1bda: 687b ldr r3, [r7, #4] 80c1bdc: 681b ldr r3, [r3, #0] 80c1bde: 2210 movs r2, #16 80c1be0: 621a str r2, [r3, #32] /* Check if DMA mode is enabled in UART */ if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80c1be2: 687b ldr r3, [r7, #4] 80c1be4: 681b ldr r3, [r3, #0] 80c1be6: 689b ldr r3, [r3, #8] 80c1be8: f003 0340 and.w r3, r3, #64 ; 0x40 80c1bec: 2b40 cmp r3, #64 ; 0x40 80c1bee: f040 80b2 bne.w 80c1d56 { /* 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); 80c1bf2: 687b ldr r3, [r7, #4] 80c1bf4: 6f1b ldr r3, [r3, #112] ; 0x70 80c1bf6: 681b ldr r3, [r3, #0] 80c1bf8: 685b ldr r3, [r3, #4] 80c1bfa: f8a7 30ce strh.w r3, [r7, #206] ; 0xce if ((nb_remaining_rx_data > 0U) 80c1bfe: f8b7 30ce ldrh.w r3, [r7, #206] ; 0xce 80c1c02: 2b00 cmp r3, #0 80c1c04: f000 815e beq.w 80c1ec4 && (nb_remaining_rx_data < huart->RxXferSize)) 80c1c08: 687b ldr r3, [r7, #4] 80c1c0a: f8b3 3058 ldrh.w r3, [r3, #88] ; 0x58 80c1c0e: f8b7 20ce ldrh.w r2, [r7, #206] ; 0xce 80c1c12: 429a cmp r2, r3 80c1c14: f080 8156 bcs.w 80c1ec4 { /* Reception is not complete */ huart->RxXferCount = nb_remaining_rx_data; 80c1c18: 687b ldr r3, [r7, #4] 80c1c1a: f8b7 20ce ldrh.w r2, [r7, #206] ; 0xce 80c1c1e: 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) 80c1c22: 687b ldr r3, [r7, #4] 80c1c24: 6f1b ldr r3, [r3, #112] ; 0x70 80c1c26: 69db ldr r3, [r3, #28] 80c1c28: f5b3 7f80 cmp.w r3, #256 ; 0x100 80c1c2c: f000 8085 beq.w 80c1d3a { /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 80c1c30: 687b ldr r3, [r7, #4] 80c1c32: 681b ldr r3, [r3, #0] 80c1c34: f8c7 3088 str.w r3, [r7, #136] ; 0x88 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1c38: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80c1c3c: e853 3f00 ldrex r3, [r3] 80c1c40: f8c7 3084 str.w r3, [r7, #132] ; 0x84 return(result); 80c1c44: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c1c48: f423 7380 bic.w r3, r3, #256 ; 0x100 80c1c4c: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 80c1c50: 687b ldr r3, [r7, #4] 80c1c52: 681b ldr r3, [r3, #0] 80c1c54: 461a mov r2, r3 80c1c56: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80c1c5a: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c1c5e: f8c7 2090 str.w r2, [r7, #144] ; 0x90 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c1c62: f8d7 1090 ldr.w r1, [r7, #144] ; 0x90 80c1c66: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c1c6a: e841 2300 strex r3, r2, [r1] 80c1c6e: f8c7 308c str.w r3, [r7, #140] ; 0x8c return(result); 80c1c72: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c1c76: 2b00 cmp r3, #0 80c1c78: d1da bne.n 80c1c30 ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 80c1c7a: 687b ldr r3, [r7, #4] 80c1c7c: 681b ldr r3, [r3, #0] 80c1c7e: 3308 adds r3, #8 80c1c80: 677b str r3, [r7, #116] ; 0x74 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1c82: 6f7b ldr r3, [r7, #116] ; 0x74 80c1c84: e853 3f00 ldrex r3, [r3] 80c1c88: 673b str r3, [r7, #112] ; 0x70 return(result); 80c1c8a: 6f3b ldr r3, [r7, #112] ; 0x70 80c1c8c: f023 0301 bic.w r3, r3, #1 80c1c90: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80c1c94: 687b ldr r3, [r7, #4] 80c1c96: 681b ldr r3, [r3, #0] 80c1c98: 3308 adds r3, #8 80c1c9a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80c1c9e: f8c7 2080 str.w r2, [r7, #128] ; 0x80 80c1ca2: 67fb str r3, [r7, #124] ; 0x7c __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c1ca4: 6ff9 ldr r1, [r7, #124] ; 0x7c 80c1ca6: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80c1caa: e841 2300 strex r3, r2, [r1] 80c1cae: 67bb str r3, [r7, #120] ; 0x78 return(result); 80c1cb0: 6fbb ldr r3, [r7, #120] ; 0x78 80c1cb2: 2b00 cmp r3, #0 80c1cb4: d1e1 bne.n 80c1c7a /* 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); 80c1cb6: 687b ldr r3, [r7, #4] 80c1cb8: 681b ldr r3, [r3, #0] 80c1cba: 3308 adds r3, #8 80c1cbc: 663b str r3, [r7, #96] ; 0x60 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1cbe: 6e3b ldr r3, [r7, #96] ; 0x60 80c1cc0: e853 3f00 ldrex r3, [r3] 80c1cc4: 65fb str r3, [r7, #92] ; 0x5c return(result); 80c1cc6: 6dfb ldr r3, [r7, #92] ; 0x5c 80c1cc8: f023 0340 bic.w r3, r3, #64 ; 0x40 80c1ccc: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80c1cd0: 687b ldr r3, [r7, #4] 80c1cd2: 681b ldr r3, [r3, #0] 80c1cd4: 3308 adds r3, #8 80c1cd6: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80c1cda: 66fa str r2, [r7, #108] ; 0x6c 80c1cdc: 66bb str r3, [r7, #104] ; 0x68 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c1cde: 6eb9 ldr r1, [r7, #104] ; 0x68 80c1ce0: 6efa ldr r2, [r7, #108] ; 0x6c 80c1ce2: e841 2300 strex r3, r2, [r1] 80c1ce6: 667b str r3, [r7, #100] ; 0x64 return(result); 80c1ce8: 6e7b ldr r3, [r7, #100] ; 0x64 80c1cea: 2b00 cmp r3, #0 80c1cec: d1e3 bne.n 80c1cb6 /* At end of Rx process, restore huart->RxState to Ready */ huart->RxState = HAL_UART_STATE_READY; 80c1cee: 687b ldr r3, [r7, #4] 80c1cf0: 2220 movs r2, #32 80c1cf2: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80c1cf4: 687b ldr r3, [r7, #4] 80c1cf6: 2200 movs r2, #0 80c1cf8: 661a str r2, [r3, #96] ; 0x60 ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 80c1cfa: 687b ldr r3, [r7, #4] 80c1cfc: 681b ldr r3, [r3, #0] 80c1cfe: 64fb str r3, [r7, #76] ; 0x4c __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1d00: 6cfb ldr r3, [r7, #76] ; 0x4c 80c1d02: e853 3f00 ldrex r3, [r3] 80c1d06: 64bb str r3, [r7, #72] ; 0x48 return(result); 80c1d08: 6cbb ldr r3, [r7, #72] ; 0x48 80c1d0a: f023 0310 bic.w r3, r3, #16 80c1d0e: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 80c1d12: 687b ldr r3, [r7, #4] 80c1d14: 681b ldr r3, [r3, #0] 80c1d16: 461a mov r2, r3 80c1d18: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80c1d1c: 65bb str r3, [r7, #88] ; 0x58 80c1d1e: 657a str r2, [r7, #84] ; 0x54 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c1d20: 6d79 ldr r1, [r7, #84] ; 0x54 80c1d22: 6dba ldr r2, [r7, #88] ; 0x58 80c1d24: e841 2300 strex r3, r2, [r1] 80c1d28: 653b str r3, [r7, #80] ; 0x50 return(result); 80c1d2a: 6d3b ldr r3, [r7, #80] ; 0x50 80c1d2c: 2b00 cmp r3, #0 80c1d2e: d1e4 bne.n 80c1cfa /* Last bytes received, so no need as the abort is immediate */ (void)HAL_DMA_Abort(huart->hdmarx); 80c1d30: 687b ldr r3, [r7, #4] 80c1d32: 6f1b ldr r3, [r3, #112] ; 0x70 80c1d34: 4618 mov r0, r3 80c1d36: f7f6 fff9 bl 80b8d2c #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)); 80c1d3a: 687b ldr r3, [r7, #4] 80c1d3c: f8b3 2058 ldrh.w r2, [r3, #88] ; 0x58 80c1d40: 687b ldr r3, [r7, #4] 80c1d42: f8b3 305a ldrh.w r3, [r3, #90] ; 0x5a 80c1d46: b29b uxth r3, r3 80c1d48: 1ad3 subs r3, r2, r3 80c1d4a: b29b uxth r3, r3 80c1d4c: 4619 mov r1, r3 80c1d4e: 6878 ldr r0, [r7, #4] 80c1d50: f000 f8ca bl 80c1ee8 #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ } return; 80c1d54: e0b6 b.n 80c1ec4 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; 80c1d56: 687b ldr r3, [r7, #4] 80c1d58: f8b3 2058 ldrh.w r2, [r3, #88] ; 0x58 80c1d5c: 687b ldr r3, [r7, #4] 80c1d5e: f8b3 305a ldrh.w r3, [r3, #90] ; 0x5a 80c1d62: b29b uxth r3, r3 80c1d64: 1ad3 subs r3, r2, r3 80c1d66: f8a7 30ba strh.w r3, [r7, #186] ; 0xba if ((huart->RxXferCount > 0U) 80c1d6a: 687b ldr r3, [r7, #4] 80c1d6c: f8b3 305a ldrh.w r3, [r3, #90] ; 0x5a 80c1d70: b29b uxth r3, r3 80c1d72: 2b00 cmp r3, #0 80c1d74: f000 80a8 beq.w 80c1ec8 && (nb_rx_data > 0U)) 80c1d78: f8b7 30ba ldrh.w r3, [r7, #186] ; 0xba 80c1d7c: 2b00 cmp r3, #0 80c1d7e: f000 80a3 beq.w 80c1ec8 { /* Disable the UART Parity Error Interrupt and RXNE interrupts */ ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 80c1d82: 687b ldr r3, [r7, #4] 80c1d84: 681b ldr r3, [r3, #0] 80c1d86: 63bb str r3, [r7, #56] ; 0x38 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1d88: 6bbb ldr r3, [r7, #56] ; 0x38 80c1d8a: e853 3f00 ldrex r3, [r3] 80c1d8e: 637b str r3, [r7, #52] ; 0x34 return(result); 80c1d90: 6b7b ldr r3, [r7, #52] ; 0x34 80c1d92: f423 7390 bic.w r3, r3, #288 ; 0x120 80c1d96: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 80c1d9a: 687b ldr r3, [r7, #4] 80c1d9c: 681b ldr r3, [r3, #0] 80c1d9e: 461a mov r2, r3 80c1da0: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 80c1da4: 647b str r3, [r7, #68] ; 0x44 80c1da6: 643a str r2, [r7, #64] ; 0x40 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c1da8: 6c39 ldr r1, [r7, #64] ; 0x40 80c1daa: 6c7a ldr r2, [r7, #68] ; 0x44 80c1dac: e841 2300 strex r3, r2, [r1] 80c1db0: 63fb str r3, [r7, #60] ; 0x3c return(result); 80c1db2: 6bfb ldr r3, [r7, #60] ; 0x3c 80c1db4: 2b00 cmp r3, #0 80c1db6: d1e4 bne.n 80c1d82 /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 80c1db8: 687b ldr r3, [r7, #4] 80c1dba: 681b ldr r3, [r3, #0] 80c1dbc: 3308 adds r3, #8 80c1dbe: 627b str r3, [r7, #36] ; 0x24 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1dc0: 6a7b ldr r3, [r7, #36] ; 0x24 80c1dc2: e853 3f00 ldrex r3, [r3] 80c1dc6: 623b str r3, [r7, #32] return(result); 80c1dc8: 6a3b ldr r3, [r7, #32] 80c1dca: f023 0301 bic.w r3, r3, #1 80c1dce: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 80c1dd2: 687b ldr r3, [r7, #4] 80c1dd4: 681b ldr r3, [r3, #0] 80c1dd6: 3308 adds r3, #8 80c1dd8: f8d7 20b0 ldr.w r2, [r7, #176] ; 0xb0 80c1ddc: 633a str r2, [r7, #48] ; 0x30 80c1dde: 62fb str r3, [r7, #44] ; 0x2c __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c1de0: 6af9 ldr r1, [r7, #44] ; 0x2c 80c1de2: 6b3a ldr r2, [r7, #48] ; 0x30 80c1de4: e841 2300 strex r3, r2, [r1] 80c1de8: 62bb str r3, [r7, #40] ; 0x28 return(result); 80c1dea: 6abb ldr r3, [r7, #40] ; 0x28 80c1dec: 2b00 cmp r3, #0 80c1dee: d1e3 bne.n 80c1db8 /* Rx process is completed, restore huart->RxState to Ready */ huart->RxState = HAL_UART_STATE_READY; 80c1df0: 687b ldr r3, [r7, #4] 80c1df2: 2220 movs r2, #32 80c1df4: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80c1df6: 687b ldr r3, [r7, #4] 80c1df8: 2200 movs r2, #0 80c1dfa: 661a str r2, [r3, #96] ; 0x60 /* Clear RxISR function pointer */ huart->RxISR = NULL; 80c1dfc: 687b ldr r3, [r7, #4] 80c1dfe: 2200 movs r2, #0 80c1e00: 665a str r2, [r3, #100] ; 0x64 ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 80c1e02: 687b ldr r3, [r7, #4] 80c1e04: 681b ldr r3, [r3, #0] 80c1e06: 613b str r3, [r7, #16] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1e08: 693b ldr r3, [r7, #16] 80c1e0a: e853 3f00 ldrex r3, [r3] 80c1e0e: 60fb str r3, [r7, #12] return(result); 80c1e10: 68fb ldr r3, [r7, #12] 80c1e12: f023 0310 bic.w r3, r3, #16 80c1e16: f8c7 30ac str.w r3, [r7, #172] ; 0xac 80c1e1a: 687b ldr r3, [r7, #4] 80c1e1c: 681b ldr r3, [r3, #0] 80c1e1e: 461a mov r2, r3 80c1e20: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80c1e24: 61fb str r3, [r7, #28] 80c1e26: 61ba str r2, [r7, #24] __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c1e28: 69b9 ldr r1, [r7, #24] 80c1e2a: 69fa ldr r2, [r7, #28] 80c1e2c: e841 2300 strex r3, r2, [r1] 80c1e30: 617b str r3, [r7, #20] return(result); 80c1e32: 697b ldr r3, [r7, #20] 80c1e34: 2b00 cmp r3, #0 80c1e36: d1e4 bne.n 80c1e02 #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); 80c1e38: f8b7 30ba ldrh.w r3, [r7, #186] ; 0xba 80c1e3c: 4619 mov r1, r3 80c1e3e: 6878 ldr r0, [r7, #4] 80c1e40: f000 f852 bl 80c1ee8 #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ } return; 80c1e44: e040 b.n 80c1ec8 } #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)) 80c1e46: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c1e4a: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80c1e4e: 2b00 cmp r3, #0 80c1e50: d00e beq.n 80c1e70 80c1e52: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80c1e56: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80c1e5a: 2b00 cmp r3, #0 80c1e5c: d008 beq.n 80c1e70 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_WUF); 80c1e5e: 687b ldr r3, [r7, #4] 80c1e60: 681b ldr r3, [r3, #0] 80c1e62: f44f 1280 mov.w r2, #1048576 ; 0x100000 80c1e66: 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); 80c1e68: 6878 ldr r0, [r7, #4] 80c1e6a: f000 f849 bl 80c1f00 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ return; 80c1e6e: e02e b.n 80c1ece } #endif /* USART_CR3_WUFIE */ #endif /* USART_CR1_UESM */ /* UART in mode Transmitter ------------------------------------------------*/ if (((isrflags & USART_ISR_TXE) != 0U) 80c1e70: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c1e74: f003 0380 and.w r3, r3, #128 ; 0x80 80c1e78: 2b00 cmp r3, #0 80c1e7a: d00e beq.n 80c1e9a && ((cr1its & USART_CR1_TXEIE) != 0U)) 80c1e7c: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c1e80: f003 0380 and.w r3, r3, #128 ; 0x80 80c1e84: 2b00 cmp r3, #0 80c1e86: d008 beq.n 80c1e9a { if (huart->TxISR != NULL) 80c1e88: 687b ldr r3, [r7, #4] 80c1e8a: 6e9b ldr r3, [r3, #104] ; 0x68 80c1e8c: 2b00 cmp r3, #0 80c1e8e: d01d beq.n 80c1ecc { huart->TxISR(huart); 80c1e90: 687b ldr r3, [r7, #4] 80c1e92: 6e9b ldr r3, [r3, #104] ; 0x68 80c1e94: 6878 ldr r0, [r7, #4] 80c1e96: 4798 blx r3 } return; 80c1e98: e018 b.n 80c1ecc } /* UART in mode Transmitter (transmission end) -----------------------------*/ if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U)) 80c1e9a: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c1e9e: f003 0340 and.w r3, r3, #64 ; 0x40 80c1ea2: 2b00 cmp r3, #0 80c1ea4: d013 beq.n 80c1ece 80c1ea6: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c1eaa: f003 0340 and.w r3, r3, #64 ; 0x40 80c1eae: 2b00 cmp r3, #0 80c1eb0: d00d beq.n 80c1ece { UART_EndTransmit_IT(huart); 80c1eb2: 6878 ldr r0, [r7, #4] 80c1eb4: f000 f919 bl 80c20ea return; 80c1eb8: bf00 nop 80c1eba: e008 b.n 80c1ece return; 80c1ebc: bf00 nop 80c1ebe: e006 b.n 80c1ece return; 80c1ec0: bf00 nop 80c1ec2: e004 b.n 80c1ece return; 80c1ec4: bf00 nop 80c1ec6: e002 b.n 80c1ece return; 80c1ec8: bf00 nop 80c1eca: e000 b.n 80c1ece return; 80c1ecc: bf00 nop } } 80c1ece: 37e8 adds r7, #232 ; 0xe8 80c1ed0: 46bd mov sp, r7 80c1ed2: bd80 pop {r7, pc} 080c1ed4 : * @brief UART Abort Complete callback. * @param huart UART handle. * @retval None */ __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart) { 80c1ed4: b480 push {r7} 80c1ed6: b083 sub sp, #12 80c1ed8: af00 add r7, sp, #0 80c1eda: 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. */ } 80c1edc: bf00 nop 80c1ede: 370c adds r7, #12 80c1ee0: 46bd mov sp, r7 80c1ee2: f85d 7b04 ldr.w r7, [sp], #4 80c1ee6: 4770 bx lr 080c1ee8 : * @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) { 80c1ee8: b480 push {r7} 80c1eea: b083 sub sp, #12 80c1eec: af00 add r7, sp, #0 80c1eee: 6078 str r0, [r7, #4] 80c1ef0: 460b mov r3, r1 80c1ef2: 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. */ } 80c1ef4: bf00 nop 80c1ef6: 370c adds r7, #12 80c1ef8: 46bd mov sp, r7 80c1efa: f85d 7b04 ldr.w r7, [sp], #4 80c1efe: 4770 bx lr 080c1f00 : * @brief UART wakeup from Stop mode callback. * @param huart UART handle. * @retval None */ __weak void HAL_UARTEx_WakeupCallback(UART_HandleTypeDef *huart) { 80c1f00: b480 push {r7} 80c1f02: b083 sub sp, #12 80c1f04: af00 add r7, sp, #0 80c1f06: 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. */ } 80c1f08: bf00 nop 80c1f0a: 370c adds r7, #12 80c1f0c: 46bd mov sp, r7 80c1f0e: f85d 7b04 ldr.w r7, [sp], #4 80c1f12: 4770 bx lr 080c1f14 : * @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) { 80c1f14: b480 push {r7} 80c1f16: b095 sub sp, #84 ; 0x54 80c1f18: af00 add r7, sp, #0 80c1f1a: 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)); 80c1f1c: 687b ldr r3, [r7, #4] 80c1f1e: 681b ldr r3, [r3, #0] 80c1f20: 637b str r3, [r7, #52] ; 0x34 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1f22: 6b7b ldr r3, [r7, #52] ; 0x34 80c1f24: e853 3f00 ldrex r3, [r3] 80c1f28: 633b str r3, [r7, #48] ; 0x30 return(result); 80c1f2a: 6b3b ldr r3, [r7, #48] ; 0x30 80c1f2c: f423 7390 bic.w r3, r3, #288 ; 0x120 80c1f30: 64fb str r3, [r7, #76] ; 0x4c 80c1f32: 687b ldr r3, [r7, #4] 80c1f34: 681b ldr r3, [r3, #0] 80c1f36: 461a mov r2, r3 80c1f38: 6cfb ldr r3, [r7, #76] ; 0x4c 80c1f3a: 643b str r3, [r7, #64] ; 0x40 80c1f3c: 63fa str r2, [r7, #60] ; 0x3c __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c1f3e: 6bf9 ldr r1, [r7, #60] ; 0x3c 80c1f40: 6c3a ldr r2, [r7, #64] ; 0x40 80c1f42: e841 2300 strex r3, r2, [r1] 80c1f46: 63bb str r3, [r7, #56] ; 0x38 return(result); 80c1f48: 6bbb ldr r3, [r7, #56] ; 0x38 80c1f4a: 2b00 cmp r3, #0 80c1f4c: d1e6 bne.n 80c1f1c ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 80c1f4e: 687b ldr r3, [r7, #4] 80c1f50: 681b ldr r3, [r3, #0] 80c1f52: 3308 adds r3, #8 80c1f54: 623b str r3, [r7, #32] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1f56: 6a3b ldr r3, [r7, #32] 80c1f58: e853 3f00 ldrex r3, [r3] 80c1f5c: 61fb str r3, [r7, #28] return(result); 80c1f5e: 69fb ldr r3, [r7, #28] 80c1f60: f023 0301 bic.w r3, r3, #1 80c1f64: 64bb str r3, [r7, #72] ; 0x48 80c1f66: 687b ldr r3, [r7, #4] 80c1f68: 681b ldr r3, [r3, #0] 80c1f6a: 3308 adds r3, #8 80c1f6c: 6cba ldr r2, [r7, #72] ; 0x48 80c1f6e: 62fa str r2, [r7, #44] ; 0x2c 80c1f70: 62bb str r3, [r7, #40] ; 0x28 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c1f72: 6ab9 ldr r1, [r7, #40] ; 0x28 80c1f74: 6afa ldr r2, [r7, #44] ; 0x2c 80c1f76: e841 2300 strex r3, r2, [r1] 80c1f7a: 627b str r3, [r7, #36] ; 0x24 return(result); 80c1f7c: 6a7b ldr r3, [r7, #36] ; 0x24 80c1f7e: 2b00 cmp r3, #0 80c1f80: d1e5 bne.n 80c1f4e /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */ if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 80c1f82: 687b ldr r3, [r7, #4] 80c1f84: 6e1b ldr r3, [r3, #96] ; 0x60 80c1f86: 2b01 cmp r3, #1 80c1f88: d118 bne.n 80c1fbc { ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 80c1f8a: 687b ldr r3, [r7, #4] 80c1f8c: 681b ldr r3, [r3, #0] 80c1f8e: 60fb str r3, [r7, #12] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1f90: 68fb ldr r3, [r7, #12] 80c1f92: e853 3f00 ldrex r3, [r3] 80c1f96: 60bb str r3, [r7, #8] return(result); 80c1f98: 68bb ldr r3, [r7, #8] 80c1f9a: f023 0310 bic.w r3, r3, #16 80c1f9e: 647b str r3, [r7, #68] ; 0x44 80c1fa0: 687b ldr r3, [r7, #4] 80c1fa2: 681b ldr r3, [r3, #0] 80c1fa4: 461a mov r2, r3 80c1fa6: 6c7b ldr r3, [r7, #68] ; 0x44 80c1fa8: 61bb str r3, [r7, #24] 80c1faa: 617a str r2, [r7, #20] __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c1fac: 6979 ldr r1, [r7, #20] 80c1fae: 69ba ldr r2, [r7, #24] 80c1fb0: e841 2300 strex r3, r2, [r1] 80c1fb4: 613b str r3, [r7, #16] return(result); 80c1fb6: 693b ldr r3, [r7, #16] 80c1fb8: 2b00 cmp r3, #0 80c1fba: d1e6 bne.n 80c1f8a } /* At end of Rx process, restore huart->RxState to Ready */ huart->RxState = HAL_UART_STATE_READY; 80c1fbc: 687b ldr r3, [r7, #4] 80c1fbe: 2220 movs r2, #32 80c1fc0: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80c1fc2: 687b ldr r3, [r7, #4] 80c1fc4: 2200 movs r2, #0 80c1fc6: 661a str r2, [r3, #96] ; 0x60 /* Reset RxIsr function pointer */ huart->RxISR = NULL; 80c1fc8: 687b ldr r3, [r7, #4] 80c1fca: 2200 movs r2, #0 80c1fcc: 665a str r2, [r3, #100] ; 0x64 } 80c1fce: bf00 nop 80c1fd0: 3754 adds r7, #84 ; 0x54 80c1fd2: 46bd mov sp, r7 80c1fd4: f85d 7b04 ldr.w r7, [sp], #4 80c1fd8: 4770 bx lr 080c1fda : * (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) { 80c1fda: b580 push {r7, lr} 80c1fdc: b084 sub sp, #16 80c1fde: af00 add r7, sp, #0 80c1fe0: 6078 str r0, [r7, #4] UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 80c1fe2: 687b ldr r3, [r7, #4] 80c1fe4: 6b9b ldr r3, [r3, #56] ; 0x38 80c1fe6: 60fb str r3, [r7, #12] huart->RxXferCount = 0U; 80c1fe8: 68fb ldr r3, [r7, #12] 80c1fea: 2200 movs r2, #0 80c1fec: f8a3 205a strh.w r2, [r3, #90] ; 0x5a huart->TxXferCount = 0U; 80c1ff0: 68fb ldr r3, [r7, #12] 80c1ff2: 2200 movs r2, #0 80c1ff4: 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); 80c1ff8: 68f8 ldr r0, [r7, #12] 80c1ffa: f76e faef bl 80305dc #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } 80c1ffe: bf00 nop 80c2000: 3710 adds r7, #16 80c2002: 46bd mov sp, r7 80c2004: bd80 pop {r7, pc} 080c2006 : * Abort still ongoing for Rx DMA Handle. * @param hdma DMA handle. * @retval None */ static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma) { 80c2006: b580 push {r7, lr} 80c2008: b084 sub sp, #16 80c200a: af00 add r7, sp, #0 80c200c: 6078 str r0, [r7, #4] UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 80c200e: 687b ldr r3, [r7, #4] 80c2010: 6b9b ldr r3, [r3, #56] ; 0x38 80c2012: 60fb str r3, [r7, #12] huart->hdmatx->XferAbortCallback = NULL; 80c2014: 68fb ldr r3, [r7, #12] 80c2016: 6edb ldr r3, [r3, #108] ; 0x6c 80c2018: 2200 movs r2, #0 80c201a: 651a str r2, [r3, #80] ; 0x50 /* Check if an Abort process is still ongoing */ if (huart->hdmarx != NULL) 80c201c: 68fb ldr r3, [r7, #12] 80c201e: 6f1b ldr r3, [r3, #112] ; 0x70 80c2020: 2b00 cmp r3, #0 80c2022: d004 beq.n 80c202e { if (huart->hdmarx->XferAbortCallback != NULL) 80c2024: 68fb ldr r3, [r7, #12] 80c2026: 6f1b ldr r3, [r3, #112] ; 0x70 80c2028: 6d1b ldr r3, [r3, #80] ; 0x50 80c202a: 2b00 cmp r3, #0 80c202c: d11c bne.n 80c2068 return; } } /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callback */ huart->TxXferCount = 0U; 80c202e: 68fb ldr r3, [r7, #12] 80c2030: 2200 movs r2, #0 80c2032: f8a3 2052 strh.w r2, [r3, #82] ; 0x52 huart->RxXferCount = 0U; 80c2036: 68fb ldr r3, [r7, #12] 80c2038: 2200 movs r2, #0 80c203a: f8a3 205a strh.w r2, [r3, #90] ; 0x5a /* Reset errorCode */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80c203e: 68fb ldr r3, [r7, #12] 80c2040: 2200 movs r2, #0 80c2042: 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); 80c2046: 68fb ldr r3, [r7, #12] 80c2048: 681b ldr r3, [r3, #0] 80c204a: 220f movs r2, #15 80c204c: 621a str r2, [r3, #32] /* Restore huart->gState and huart->RxState to Ready */ huart->gState = HAL_UART_STATE_READY; 80c204e: 68fb ldr r3, [r7, #12] 80c2050: 2220 movs r2, #32 80c2052: 679a str r2, [r3, #120] ; 0x78 huart->RxState = HAL_UART_STATE_READY; 80c2054: 68fb ldr r3, [r7, #12] 80c2056: 2220 movs r2, #32 80c2058: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80c205a: 68fb ldr r3, [r7, #12] 80c205c: 2200 movs r2, #0 80c205e: 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); 80c2060: 68f8 ldr r0, [r7, #12] 80c2062: f7ff ff37 bl 80c1ed4 80c2066: e000 b.n 80c206a return; 80c2068: bf00 nop #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } 80c206a: 3710 adds r7, #16 80c206c: 46bd mov sp, r7 80c206e: bd80 pop {r7, pc} 080c2070 : * Abort still ongoing for Tx DMA Handle. * @param hdma DMA handle. * @retval None */ static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma) { 80c2070: b580 push {r7, lr} 80c2072: b084 sub sp, #16 80c2074: af00 add r7, sp, #0 80c2076: 6078 str r0, [r7, #4] UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 80c2078: 687b ldr r3, [r7, #4] 80c207a: 6b9b ldr r3, [r3, #56] ; 0x38 80c207c: 60fb str r3, [r7, #12] huart->hdmarx->XferAbortCallback = NULL; 80c207e: 68fb ldr r3, [r7, #12] 80c2080: 6f1b ldr r3, [r3, #112] ; 0x70 80c2082: 2200 movs r2, #0 80c2084: 651a str r2, [r3, #80] ; 0x50 /* Check if an Abort process is still ongoing */ if (huart->hdmatx != NULL) 80c2086: 68fb ldr r3, [r7, #12] 80c2088: 6edb ldr r3, [r3, #108] ; 0x6c 80c208a: 2b00 cmp r3, #0 80c208c: d004 beq.n 80c2098 { if (huart->hdmatx->XferAbortCallback != NULL) 80c208e: 68fb ldr r3, [r7, #12] 80c2090: 6edb ldr r3, [r3, #108] ; 0x6c 80c2092: 6d1b ldr r3, [r3, #80] ; 0x50 80c2094: 2b00 cmp r3, #0 80c2096: d124 bne.n 80c20e2 return; } } /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callback */ huart->TxXferCount = 0U; 80c2098: 68fb ldr r3, [r7, #12] 80c209a: 2200 movs r2, #0 80c209c: f8a3 2052 strh.w r2, [r3, #82] ; 0x52 huart->RxXferCount = 0U; 80c20a0: 68fb ldr r3, [r7, #12] 80c20a2: 2200 movs r2, #0 80c20a4: f8a3 205a strh.w r2, [r3, #90] ; 0x5a /* Reset errorCode */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80c20a8: 68fb ldr r3, [r7, #12] 80c20aa: 2200 movs r2, #0 80c20ac: 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); 80c20b0: 68fb ldr r3, [r7, #12] 80c20b2: 681b ldr r3, [r3, #0] 80c20b4: 220f movs r2, #15 80c20b6: 621a str r2, [r3, #32] /* Discard the received data */ __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 80c20b8: 68fb ldr r3, [r7, #12] 80c20ba: 681b ldr r3, [r3, #0] 80c20bc: 68fa ldr r2, [r7, #12] 80c20be: 6812 ldr r2, [r2, #0] 80c20c0: 6992 ldr r2, [r2, #24] 80c20c2: f042 0208 orr.w r2, r2, #8 80c20c6: 619a str r2, [r3, #24] /* Restore huart->gState and huart->RxState to Ready */ huart->gState = HAL_UART_STATE_READY; 80c20c8: 68fb ldr r3, [r7, #12] 80c20ca: 2220 movs r2, #32 80c20cc: 679a str r2, [r3, #120] ; 0x78 huart->RxState = HAL_UART_STATE_READY; 80c20ce: 68fb ldr r3, [r7, #12] 80c20d0: 2220 movs r2, #32 80c20d2: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80c20d4: 68fb ldr r3, [r7, #12] 80c20d6: 2200 movs r2, #0 80c20d8: 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); 80c20da: 68f8 ldr r0, [r7, #12] 80c20dc: f7ff fefa bl 80c1ed4 80c20e0: e000 b.n 80c20e4 return; 80c20e2: bf00 nop #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } 80c20e4: 3710 adds r7, #16 80c20e6: 46bd mov sp, r7 80c20e8: bd80 pop {r7, pc} 080c20ea : * @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) { 80c20ea: b580 push {r7, lr} 80c20ec: b088 sub sp, #32 80c20ee: af00 add r7, sp, #0 80c20f0: 6078 str r0, [r7, #4] /* Disable the UART Transmit Complete Interrupt */ ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE); 80c20f2: 687b ldr r3, [r7, #4] 80c20f4: 681b ldr r3, [r3, #0] 80c20f6: 60fb str r3, [r7, #12] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c20f8: 68fb ldr r3, [r7, #12] 80c20fa: e853 3f00 ldrex r3, [r3] 80c20fe: 60bb str r3, [r7, #8] return(result); 80c2100: 68bb ldr r3, [r7, #8] 80c2102: f023 0340 bic.w r3, r3, #64 ; 0x40 80c2106: 61fb str r3, [r7, #28] 80c2108: 687b ldr r3, [r7, #4] 80c210a: 681b ldr r3, [r3, #0] 80c210c: 461a mov r2, r3 80c210e: 69fb ldr r3, [r7, #28] 80c2110: 61bb str r3, [r7, #24] 80c2112: 617a str r2, [r7, #20] __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c2114: 6979 ldr r1, [r7, #20] 80c2116: 69ba ldr r2, [r7, #24] 80c2118: e841 2300 strex r3, r2, [r1] 80c211c: 613b str r3, [r7, #16] return(result); 80c211e: 693b ldr r3, [r7, #16] 80c2120: 2b00 cmp r3, #0 80c2122: d1e6 bne.n 80c20f2 /* Tx process is ended, restore huart->gState to Ready */ huart->gState = HAL_UART_STATE_READY; 80c2124: 687b ldr r3, [r7, #4] 80c2126: 2220 movs r2, #32 80c2128: 679a str r2, [r3, #120] ; 0x78 /* Cleat TxISR function pointer */ huart->TxISR = NULL; 80c212a: 687b ldr r3, [r7, #4] 80c212c: 2200 movs r2, #0 80c212e: 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); 80c2130: 6878 ldr r0, [r7, #4] 80c2132: f76e fa43 bl 80305bc #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } 80c2136: bf00 nop 80c2138: 3720 adds r7, #32 80c213a: 46bd mov sp, r7 80c213c: bd80 pop {r7, pc} ... 080c2140 : * @param Init Pointer to NORSRAM Initialization structure * @retval HAL status */ HAL_StatusTypeDef FMC_NORSRAM_Init(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_InitTypeDef *Init) { 80c2140: b480 push {r7} 80c2142: b087 sub sp, #28 80c2144: af00 add r7, sp, #0 80c2146: 6078 str r0, [r7, #4] 80c2148: 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); 80c214a: 683b ldr r3, [r7, #0] 80c214c: 681a ldr r2, [r3, #0] 80c214e: 683b ldr r3, [r7, #0] 80c2150: 6819 ldr r1, [r3, #0] 80c2152: 687b ldr r3, [r7, #4] 80c2154: f853 3021 ldr.w r3, [r3, r1, lsl #2] 80c2158: f023 0101 bic.w r1, r3, #1 80c215c: 687b ldr r3, [r7, #4] 80c215e: f843 1022 str.w r1, [r3, r2, lsl #2] /* Set NORSRAM device control parameters */ if (Init->MemoryType == FMC_MEMORY_TYPE_NOR) 80c2162: 683b ldr r3, [r7, #0] 80c2164: 689b ldr r3, [r3, #8] 80c2166: 2b08 cmp r3, #8 80c2168: d102 bne.n 80c2170 { flashaccess = FMC_NORSRAM_FLASH_ACCESS_ENABLE; 80c216a: 2340 movs r3, #64 ; 0x40 80c216c: 617b str r3, [r7, #20] 80c216e: e001 b.n 80c2174 } else { flashaccess = FMC_NORSRAM_FLASH_ACCESS_DISABLE; 80c2170: 2300 movs r3, #0 80c2172: 617b str r3, [r7, #20] } btcr_reg = (flashaccess | \ Init->DataAddressMux | \ 80c2174: 683b ldr r3, [r7, #0] 80c2176: 685a ldr r2, [r3, #4] btcr_reg = (flashaccess | \ 80c2178: 697b ldr r3, [r7, #20] 80c217a: 431a orrs r2, r3 Init->MemoryType | \ 80c217c: 683b ldr r3, [r7, #0] 80c217e: 689b ldr r3, [r3, #8] Init->DataAddressMux | \ 80c2180: 431a orrs r2, r3 Init->MemoryDataWidth | \ 80c2182: 683b ldr r3, [r7, #0] 80c2184: 68db ldr r3, [r3, #12] Init->MemoryType | \ 80c2186: 431a orrs r2, r3 Init->BurstAccessMode | \ 80c2188: 683b ldr r3, [r7, #0] 80c218a: 691b ldr r3, [r3, #16] Init->MemoryDataWidth | \ 80c218c: 431a orrs r2, r3 Init->WaitSignalPolarity | \ 80c218e: 683b ldr r3, [r7, #0] 80c2190: 695b ldr r3, [r3, #20] Init->BurstAccessMode | \ 80c2192: 431a orrs r2, r3 Init->WaitSignalActive | \ 80c2194: 683b ldr r3, [r7, #0] 80c2196: 699b ldr r3, [r3, #24] Init->WaitSignalPolarity | \ 80c2198: 431a orrs r2, r3 Init->WriteOperation | \ 80c219a: 683b ldr r3, [r7, #0] 80c219c: 69db ldr r3, [r3, #28] Init->WaitSignalActive | \ 80c219e: 431a orrs r2, r3 Init->WaitSignal | \ 80c21a0: 683b ldr r3, [r7, #0] 80c21a2: 6a1b ldr r3, [r3, #32] Init->WriteOperation | \ 80c21a4: 431a orrs r2, r3 Init->ExtendedMode | \ 80c21a6: 683b ldr r3, [r7, #0] 80c21a8: 6a5b ldr r3, [r3, #36] ; 0x24 Init->WaitSignal | \ 80c21aa: 431a orrs r2, r3 Init->AsynchronousWait | \ 80c21ac: 683b ldr r3, [r7, #0] 80c21ae: 6a9b ldr r3, [r3, #40] ; 0x28 Init->ExtendedMode | \ 80c21b0: 431a orrs r2, r3 Init->WriteBurst); 80c21b2: 683b ldr r3, [r7, #0] 80c21b4: 6adb ldr r3, [r3, #44] ; 0x2c btcr_reg = (flashaccess | \ 80c21b6: 4313 orrs r3, r2 80c21b8: 613b str r3, [r7, #16] btcr_reg |= Init->ContinuousClock; 80c21ba: 683b ldr r3, [r7, #0] 80c21bc: 6b1b ldr r3, [r3, #48] ; 0x30 80c21be: 693a ldr r2, [r7, #16] 80c21c0: 4313 orrs r3, r2 80c21c2: 613b str r3, [r7, #16] btcr_reg |= Init->WriteFifo; 80c21c4: 683b ldr r3, [r7, #0] 80c21c6: 6b5b ldr r3, [r3, #52] ; 0x34 80c21c8: 693a ldr r2, [r7, #16] 80c21ca: 4313 orrs r3, r2 80c21cc: 613b str r3, [r7, #16] btcr_reg |= Init->PageSize; 80c21ce: 683b ldr r3, [r7, #0] 80c21d0: 6b9b ldr r3, [r3, #56] ; 0x38 80c21d2: 693a ldr r2, [r7, #16] 80c21d4: 4313 orrs r3, r2 80c21d6: 613b str r3, [r7, #16] mask = (FMC_BCR1_MBKEN | 80c21d8: 4b20 ldr r3, [pc, #128] ; (80c225c ) 80c21da: 60fb str r3, [r7, #12] FMC_BCR1_WAITEN | FMC_BCR1_EXTMOD | FMC_BCR1_ASYNCWAIT | FMC_BCR1_CBURSTRW); mask |= FMC_BCR1_CCLKEN; 80c21dc: 68fb ldr r3, [r7, #12] 80c21de: f443 1380 orr.w r3, r3, #1048576 ; 0x100000 80c21e2: 60fb str r3, [r7, #12] mask |= FMC_BCR1_WFDIS; 80c21e4: 68fb ldr r3, [r7, #12] 80c21e6: f443 1300 orr.w r3, r3, #2097152 ; 0x200000 80c21ea: 60fb str r3, [r7, #12] mask |= FMC_BCR1_CPSIZE; 80c21ec: 68fb ldr r3, [r7, #12] 80c21ee: f443 23e0 orr.w r3, r3, #458752 ; 0x70000 80c21f2: 60fb str r3, [r7, #12] MODIFY_REG(Device->BTCR[Init->NSBank], mask, btcr_reg); 80c21f4: 683b ldr r3, [r7, #0] 80c21f6: 681a ldr r2, [r3, #0] 80c21f8: 683b ldr r3, [r7, #0] 80c21fa: 6819 ldr r1, [r3, #0] 80c21fc: 687b ldr r3, [r7, #4] 80c21fe: f853 1021 ldr.w r1, [r3, r1, lsl #2] 80c2202: 68fb ldr r3, [r7, #12] 80c2204: 43db mvns r3, r3 80c2206: 4019 ands r1, r3 80c2208: 693b ldr r3, [r7, #16] 80c220a: 4319 orrs r1, r3 80c220c: 687b ldr r3, [r7, #4] 80c220e: 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)) 80c2212: 683b ldr r3, [r7, #0] 80c2214: 6b1b ldr r3, [r3, #48] ; 0x30 80c2216: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80c221a: d10c bne.n 80c2236 80c221c: 683b ldr r3, [r7, #0] 80c221e: 681b ldr r3, [r3, #0] 80c2220: 2b00 cmp r3, #0 80c2222: d008 beq.n 80c2236 { MODIFY_REG(Device->BTCR[FMC_NORSRAM_BANK1], FMC_BCR1_CCLKEN, Init->ContinuousClock); 80c2224: 687b ldr r3, [r7, #4] 80c2226: 681b ldr r3, [r3, #0] 80c2228: f423 1280 bic.w r2, r3, #1048576 ; 0x100000 80c222c: 683b ldr r3, [r7, #0] 80c222e: 6b1b ldr r3, [r3, #48] ; 0x30 80c2230: 431a orrs r2, r3 80c2232: 687b ldr r3, [r7, #4] 80c2234: 601a str r2, [r3, #0] } if (Init->NSBank != FMC_NORSRAM_BANK1) 80c2236: 683b ldr r3, [r7, #0] 80c2238: 681b ldr r3, [r3, #0] 80c223a: 2b00 cmp r3, #0 80c223c: d006 beq.n 80c224c { /* Configure Write FIFO mode when Write Fifo is enabled for bank2..4 */ SET_BIT(Device->BTCR[FMC_NORSRAM_BANK1], (uint32_t)(Init->WriteFifo)); 80c223e: 687b ldr r3, [r7, #4] 80c2240: 681a ldr r2, [r3, #0] 80c2242: 683b ldr r3, [r7, #0] 80c2244: 6b5b ldr r3, [r3, #52] ; 0x34 80c2246: 431a orrs r2, r3 80c2248: 687b ldr r3, [r7, #4] 80c224a: 601a str r2, [r3, #0] } return HAL_OK; 80c224c: 2300 movs r3, #0 } 80c224e: 4618 mov r0, r3 80c2250: 371c adds r7, #28 80c2252: 46bd mov sp, r7 80c2254: f85d 7b04 ldr.w r7, [sp], #4 80c2258: 4770 bx lr 80c225a: bf00 nop 80c225c: 0008fb7f .word 0x0008fb7f 080c2260 : * @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) { 80c2260: b480 push {r7} 80c2262: b087 sub sp, #28 80c2264: af00 add r7, sp, #0 80c2266: 60f8 str r0, [r7, #12] 80c2268: 60b9 str r1, [r7, #8] 80c226a: 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 | 80c226c: 687b ldr r3, [r7, #4] 80c226e: 1c5a adds r2, r3, #1 80c2270: 687b ldr r3, [r7, #4] 80c2272: 1c59 adds r1, r3, #1 80c2274: 68fb ldr r3, [r7, #12] 80c2276: f853 3021 ldr.w r3, [r3, r1, lsl #2] 80c227a: f003 4140 and.w r1, r3, #3221225472 ; 0xc0000000 80c227e: 68bb ldr r3, [r7, #8] 80c2280: 6818 ldr r0, [r3, #0] 80c2282: 68bb ldr r3, [r7, #8] 80c2284: 685b ldr r3, [r3, #4] 80c2286: 011b lsls r3, r3, #4 80c2288: 4318 orrs r0, r3 80c228a: 68bb ldr r3, [r7, #8] 80c228c: 689b ldr r3, [r3, #8] 80c228e: 021b lsls r3, r3, #8 80c2290: 4318 orrs r0, r3 80c2292: 68bb ldr r3, [r7, #8] 80c2294: 68db ldr r3, [r3, #12] 80c2296: 041b lsls r3, r3, #16 80c2298: 4318 orrs r0, r3 80c229a: 68bb ldr r3, [r7, #8] 80c229c: 691b ldr r3, [r3, #16] 80c229e: 3b01 subs r3, #1 80c22a0: 051b lsls r3, r3, #20 80c22a2: 4318 orrs r0, r3 80c22a4: 68bb ldr r3, [r7, #8] 80c22a6: 695b ldr r3, [r3, #20] 80c22a8: 3b02 subs r3, #2 80c22aa: 061b lsls r3, r3, #24 80c22ac: 4318 orrs r0, r3 80c22ae: 68bb ldr r3, [r7, #8] 80c22b0: 699b ldr r3, [r3, #24] 80c22b2: 4303 orrs r3, r0 80c22b4: 4319 orrs r1, r3 80c22b6: 68fb ldr r3, [r7, #12] 80c22b8: 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)) 80c22bc: 68fb ldr r3, [r7, #12] 80c22be: 681b ldr r3, [r3, #0] 80c22c0: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80c22c4: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80c22c8: d113 bne.n 80c22f2 { tmpr = (uint32_t)(Device->BTCR[FMC_NORSRAM_BANK1 + 1U] & ~((0x0FU) << FMC_BTR1_CLKDIV_Pos)); 80c22ca: 68fb ldr r3, [r7, #12] 80c22cc: 685b ldr r3, [r3, #4] 80c22ce: f423 0370 bic.w r3, r3, #15728640 ; 0xf00000 80c22d2: 617b str r3, [r7, #20] tmpr |= (uint32_t)(((Timing->CLKDivision) - 1U) << FMC_BTR1_CLKDIV_Pos); 80c22d4: 68bb ldr r3, [r7, #8] 80c22d6: 691b ldr r3, [r3, #16] 80c22d8: 3b01 subs r3, #1 80c22da: 051b lsls r3, r3, #20 80c22dc: 697a ldr r2, [r7, #20] 80c22de: 4313 orrs r3, r2 80c22e0: 617b str r3, [r7, #20] MODIFY_REG(Device->BTCR[FMC_NORSRAM_BANK1 + 1U], FMC_BTR1_CLKDIV, tmpr); 80c22e2: 68fb ldr r3, [r7, #12] 80c22e4: 685b ldr r3, [r3, #4] 80c22e6: f423 0270 bic.w r2, r3, #15728640 ; 0xf00000 80c22ea: 697b ldr r3, [r7, #20] 80c22ec: 431a orrs r2, r3 80c22ee: 68fb ldr r3, [r7, #12] 80c22f0: 605a str r2, [r3, #4] } return HAL_OK; 80c22f2: 2300 movs r3, #0 } 80c22f4: 4618 mov r0, r3 80c22f6: 371c adds r7, #28 80c22f8: 46bd mov sp, r7 80c22fa: f85d 7b04 ldr.w r7, [sp], #4 80c22fe: 4770 bx lr 080c2300 : * @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) { 80c2300: b480 push {r7} 80c2302: b085 sub sp, #20 80c2304: af00 add r7, sp, #0 80c2306: 60f8 str r0, [r7, #12] 80c2308: 60b9 str r1, [r7, #8] 80c230a: 607a str r2, [r7, #4] 80c230c: 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) 80c230e: 683b ldr r3, [r7, #0] 80c2310: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 80c2314: d11d bne.n 80c2352 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 | 80c2316: 68fb ldr r3, [r7, #12] 80c2318: 687a ldr r2, [r7, #4] 80c231a: f853 2022 ldr.w r2, [r3, r2, lsl #2] 80c231e: 4b13 ldr r3, [pc, #76] ; (80c236c ) 80c2320: 4013 ands r3, r2 80c2322: 68ba ldr r2, [r7, #8] 80c2324: 6811 ldr r1, [r2, #0] 80c2326: 68ba ldr r2, [r7, #8] 80c2328: 6852 ldr r2, [r2, #4] 80c232a: 0112 lsls r2, r2, #4 80c232c: 4311 orrs r1, r2 80c232e: 68ba ldr r2, [r7, #8] 80c2330: 6892 ldr r2, [r2, #8] 80c2332: 0212 lsls r2, r2, #8 80c2334: 4311 orrs r1, r2 80c2336: 68ba ldr r2, [r7, #8] 80c2338: 6992 ldr r2, [r2, #24] 80c233a: 4311 orrs r1, r2 80c233c: 68ba ldr r2, [r7, #8] 80c233e: 68d2 ldr r2, [r2, #12] 80c2340: 0412 lsls r2, r2, #16 80c2342: 430a orrs r2, r1 80c2344: ea43 0102 orr.w r1, r3, r2 80c2348: 68fb ldr r3, [r7, #12] 80c234a: 687a ldr r2, [r7, #4] 80c234c: f843 1022 str.w r1, [r3, r2, lsl #2] 80c2350: e005 b.n 80c235e Timing->AccessMode | ((Timing->BusTurnAroundDuration) << FMC_BWTR1_BUSTURN_Pos))); } else { Device->BWTR[Bank] = 0x0FFFFFFFU; 80c2352: 68fb ldr r3, [r7, #12] 80c2354: 687a ldr r2, [r7, #4] 80c2356: f06f 4170 mvn.w r1, #4026531840 ; 0xf0000000 80c235a: f843 1022 str.w r1, [r3, r2, lsl #2] } return HAL_OK; 80c235e: 2300 movs r3, #0 } 80c2360: 4618 mov r0, r3 80c2362: 3714 adds r7, #20 80c2364: 46bd mov sp, r7 80c2366: f85d 7b04 ldr.w r7, [sp], #4 80c236a: 4770 bx lr 80c236c: cff00000 .word 0xcff00000 080c2370 : * @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) { 80c2370: b084 sub sp, #16 80c2372: b480 push {r7} 80c2374: b085 sub sp, #20 80c2376: af00 add r7, sp, #0 80c2378: 6078 str r0, [r7, #4] 80c237a: f107 001c add.w r0, r7, #28 80c237e: e880 000e stmia.w r0, {r1, r2, r3} uint32_t tmpreg = 0; 80c2382: 2300 movs r3, #0 80c2384: 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 |\ 80c2386: 69fa ldr r2, [r7, #28] Init.ClockBypass |\ 80c2388: 6a3b ldr r3, [r7, #32] tmpreg |= (Init.ClockEdge |\ 80c238a: 431a orrs r2, r3 Init.ClockPowerSave |\ 80c238c: 6a7b ldr r3, [r7, #36] ; 0x24 Init.ClockBypass |\ 80c238e: 431a orrs r2, r3 Init.BusWide |\ 80c2390: 6abb ldr r3, [r7, #40] ; 0x28 Init.ClockPowerSave |\ 80c2392: 431a orrs r2, r3 Init.HardwareFlowControl |\ 80c2394: 6afb ldr r3, [r7, #44] ; 0x2c Init.BusWide |\ 80c2396: 431a orrs r2, r3 Init.ClockDiv 80c2398: 6b3b ldr r3, [r7, #48] ; 0x30 Init.HardwareFlowControl |\ 80c239a: 4313 orrs r3, r2 tmpreg |= (Init.ClockEdge |\ 80c239c: 68fa ldr r2, [r7, #12] 80c239e: 4313 orrs r3, r2 80c23a0: 60fb str r3, [r7, #12] ); /* Write to SDMMC CLKCR */ MODIFY_REG(SDMMCx->CLKCR, CLKCR_CLEAR_MASK, tmpreg); 80c23a2: 687b ldr r3, [r7, #4] 80c23a4: 685a ldr r2, [r3, #4] 80c23a6: 4b07 ldr r3, [pc, #28] ; (80c23c4 ) 80c23a8: 4013 ands r3, r2 80c23aa: 68fa ldr r2, [r7, #12] 80c23ac: 431a orrs r2, r3 80c23ae: 687b ldr r3, [r7, #4] 80c23b0: 605a str r2, [r3, #4] return HAL_OK; 80c23b2: 2300 movs r3, #0 } 80c23b4: 4618 mov r0, r3 80c23b6: 3714 adds r7, #20 80c23b8: 46bd mov sp, r7 80c23ba: f85d 7b04 ldr.w r7, [sp], #4 80c23be: b004 add sp, #16 80c23c0: 4770 bx lr 80c23c2: bf00 nop 80c23c4: ffff8100 .word 0xffff8100 080c23c8 : * @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) { 80c23c8: b480 push {r7} 80c23ca: b083 sub sp, #12 80c23cc: af00 add r7, sp, #0 80c23ce: 6078 str r0, [r7, #4] /* Read data from Rx FIFO */ return (SDMMCx->FIFO); 80c23d0: 687b ldr r3, [r7, #4] 80c23d2: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 } 80c23d6: 4618 mov r0, r3 80c23d8: 370c adds r7, #12 80c23da: 46bd mov sp, r7 80c23dc: f85d 7b04 ldr.w r7, [sp], #4 80c23e0: 4770 bx lr 080c23e2 : * @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) { 80c23e2: b480 push {r7} 80c23e4: b083 sub sp, #12 80c23e6: af00 add r7, sp, #0 80c23e8: 6078 str r0, [r7, #4] 80c23ea: 6039 str r1, [r7, #0] /* Write data to FIFO */ SDMMCx->FIFO = *pWriteData; 80c23ec: 683b ldr r3, [r7, #0] 80c23ee: 681a ldr r2, [r3, #0] 80c23f0: 687b ldr r3, [r7, #4] 80c23f2: f8c3 2080 str.w r2, [r3, #128] ; 0x80 return HAL_OK; 80c23f6: 2300 movs r3, #0 } 80c23f8: 4618 mov r0, r3 80c23fa: 370c adds r7, #12 80c23fc: 46bd mov sp, r7 80c23fe: f85d 7b04 ldr.w r7, [sp], #4 80c2402: 4770 bx lr 080c2404 : * @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) { 80c2404: b480 push {r7} 80c2406: b083 sub sp, #12 80c2408: af00 add r7, sp, #0 80c240a: 6078 str r0, [r7, #4] /* Set power state to ON */ SDMMCx->POWER = SDMMC_POWER_PWRCTRL; 80c240c: 687b ldr r3, [r7, #4] 80c240e: 2203 movs r2, #3 80c2410: 601a str r2, [r3, #0] return HAL_OK; 80c2412: 2300 movs r3, #0 } 80c2414: 4618 mov r0, r3 80c2416: 370c adds r7, #12 80c2418: 46bd mov sp, r7 80c241a: f85d 7b04 ldr.w r7, [sp], #4 80c241e: 4770 bx lr 080c2420 : * @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) { 80c2420: b480 push {r7} 80c2422: b083 sub sp, #12 80c2424: af00 add r7, sp, #0 80c2426: 6078 str r0, [r7, #4] /* Set power state to OFF */ SDMMCx->POWER = (uint32_t)0x00000000; 80c2428: 687b ldr r3, [r7, #4] 80c242a: 2200 movs r2, #0 80c242c: 601a str r2, [r3, #0] return HAL_OK; 80c242e: 2300 movs r3, #0 } 80c2430: 4618 mov r0, r3 80c2432: 370c adds r7, #12 80c2434: 46bd mov sp, r7 80c2436: f85d 7b04 ldr.w r7, [sp], #4 80c243a: 4770 bx lr 080c243c : * - 0x00: Power OFF * - 0x02: Power UP * - 0x03: Power ON */ uint32_t SDMMC_GetPowerState(SDMMC_TypeDef *SDMMCx) { 80c243c: b480 push {r7} 80c243e: b083 sub sp, #12 80c2440: af00 add r7, sp, #0 80c2442: 6078 str r0, [r7, #4] return (SDMMCx->POWER & SDMMC_POWER_PWRCTRL); 80c2444: 687b ldr r3, [r7, #4] 80c2446: 681b ldr r3, [r3, #0] 80c2448: f003 0303 and.w r3, r3, #3 } 80c244c: 4618 mov r0, r3 80c244e: 370c adds r7, #12 80c2450: 46bd mov sp, r7 80c2452: f85d 7b04 ldr.w r7, [sp], #4 80c2456: 4770 bx lr 080c2458 : * @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) { 80c2458: b480 push {r7} 80c245a: b085 sub sp, #20 80c245c: af00 add r7, sp, #0 80c245e: 6078 str r0, [r7, #4] 80c2460: 6039 str r1, [r7, #0] uint32_t tmpreg = 0; 80c2462: 2300 movs r3, #0 80c2464: 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; 80c2466: 683b ldr r3, [r7, #0] 80c2468: 681a ldr r2, [r3, #0] 80c246a: 687b ldr r3, [r7, #4] 80c246c: 609a str r2, [r3, #8] /* Set SDMMC command parameters */ tmpreg |= (uint32_t)(Command->CmdIndex |\ 80c246e: 683b ldr r3, [r7, #0] 80c2470: 685a ldr r2, [r3, #4] Command->Response |\ 80c2472: 683b ldr r3, [r7, #0] 80c2474: 689b ldr r3, [r3, #8] tmpreg |= (uint32_t)(Command->CmdIndex |\ 80c2476: 431a orrs r2, r3 Command->WaitForInterrupt |\ 80c2478: 683b ldr r3, [r7, #0] 80c247a: 68db ldr r3, [r3, #12] Command->Response |\ 80c247c: 431a orrs r2, r3 Command->CPSM); 80c247e: 683b ldr r3, [r7, #0] 80c2480: 691b ldr r3, [r3, #16] Command->WaitForInterrupt |\ 80c2482: 4313 orrs r3, r2 tmpreg |= (uint32_t)(Command->CmdIndex |\ 80c2484: 68fa ldr r2, [r7, #12] 80c2486: 4313 orrs r3, r2 80c2488: 60fb str r3, [r7, #12] /* Write to SDMMC CMD register */ MODIFY_REG(SDMMCx->CMD, CMD_CLEAR_MASK, tmpreg); 80c248a: 687b ldr r3, [r7, #4] 80c248c: 68da ldr r2, [r3, #12] 80c248e: 4b06 ldr r3, [pc, #24] ; (80c24a8 ) 80c2490: 4013 ands r3, r2 80c2492: 68fa ldr r2, [r7, #12] 80c2494: 431a orrs r2, r3 80c2496: 687b ldr r3, [r7, #4] 80c2498: 60da str r2, [r3, #12] return HAL_OK; 80c249a: 2300 movs r3, #0 } 80c249c: 4618 mov r0, r3 80c249e: 3714 adds r7, #20 80c24a0: 46bd mov sp, r7 80c24a2: f85d 7b04 ldr.w r7, [sp], #4 80c24a6: 4770 bx lr 80c24a8: fffff000 .word 0xfffff000 080c24ac : * @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) { 80c24ac: b480 push {r7} 80c24ae: b083 sub sp, #12 80c24b0: af00 add r7, sp, #0 80c24b2: 6078 str r0, [r7, #4] return (uint8_t)(SDMMCx->RESPCMD); 80c24b4: 687b ldr r3, [r7, #4] 80c24b6: 691b ldr r3, [r3, #16] 80c24b8: b2db uxtb r3, r3 } 80c24ba: 4618 mov r0, r3 80c24bc: 370c adds r7, #12 80c24be: 46bd mov sp, r7 80c24c0: f85d 7b04 ldr.w r7, [sp], #4 80c24c4: 4770 bx lr 080c24c6 : * @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) { 80c24c6: b480 push {r7} 80c24c8: b085 sub sp, #20 80c24ca: af00 add r7, sp, #0 80c24cc: 6078 str r0, [r7, #4] 80c24ce: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_SDMMC_RESP(Response)); /* Get the response */ tmp = (uint32_t)(&(SDMMCx->RESP1)) + Response; 80c24d0: 687b ldr r3, [r7, #4] 80c24d2: 3314 adds r3, #20 80c24d4: 461a mov r2, r3 80c24d6: 683b ldr r3, [r7, #0] 80c24d8: 4413 add r3, r2 80c24da: 60fb str r3, [r7, #12] return (*(__IO uint32_t *) tmp); 80c24dc: 68fb ldr r3, [r7, #12] 80c24de: 681b ldr r3, [r3, #0] } 80c24e0: 4618 mov r0, r3 80c24e2: 3714 adds r7, #20 80c24e4: 46bd mov sp, r7 80c24e6: f85d 7b04 ldr.w r7, [sp], #4 80c24ea: 4770 bx lr 080c24ec : * @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) { 80c24ec: b480 push {r7} 80c24ee: b085 sub sp, #20 80c24f0: af00 add r7, sp, #0 80c24f2: 6078 str r0, [r7, #4] 80c24f4: 6039 str r1, [r7, #0] uint32_t tmpreg = 0; 80c24f6: 2300 movs r3, #0 80c24f8: 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; 80c24fa: 683b ldr r3, [r7, #0] 80c24fc: 681a ldr r2, [r3, #0] 80c24fe: 687b ldr r3, [r7, #4] 80c2500: 625a str r2, [r3, #36] ; 0x24 /* Set the SDMMC DataLength value */ SDMMCx->DLEN = Data->DataLength; 80c2502: 683b ldr r3, [r7, #0] 80c2504: 685a ldr r2, [r3, #4] 80c2506: 687b ldr r3, [r7, #4] 80c2508: 629a str r2, [r3, #40] ; 0x28 /* Set the SDMMC data configuration parameters */ tmpreg |= (uint32_t)(Data->DataBlockSize |\ 80c250a: 683b ldr r3, [r7, #0] 80c250c: 689a ldr r2, [r3, #8] Data->TransferDir |\ 80c250e: 683b ldr r3, [r7, #0] 80c2510: 68db ldr r3, [r3, #12] tmpreg |= (uint32_t)(Data->DataBlockSize |\ 80c2512: 431a orrs r2, r3 Data->TransferMode |\ 80c2514: 683b ldr r3, [r7, #0] 80c2516: 691b ldr r3, [r3, #16] Data->TransferDir |\ 80c2518: 431a orrs r2, r3 Data->DPSM); 80c251a: 683b ldr r3, [r7, #0] 80c251c: 695b ldr r3, [r3, #20] Data->TransferMode |\ 80c251e: 4313 orrs r3, r2 tmpreg |= (uint32_t)(Data->DataBlockSize |\ 80c2520: 68fa ldr r2, [r7, #12] 80c2522: 4313 orrs r3, r2 80c2524: 60fb str r3, [r7, #12] /* Write to SDMMC DCTRL */ MODIFY_REG(SDMMCx->DCTRL, DCTRL_CLEAR_MASK, tmpreg); 80c2526: 687b ldr r3, [r7, #4] 80c2528: 6adb ldr r3, [r3, #44] ; 0x2c 80c252a: f023 02f7 bic.w r2, r3, #247 ; 0xf7 80c252e: 68fb ldr r3, [r7, #12] 80c2530: 431a orrs r2, r3 80c2532: 687b ldr r3, [r7, #4] 80c2534: 62da str r2, [r3, #44] ; 0x2c return HAL_OK; 80c2536: 2300 movs r3, #0 } 80c2538: 4618 mov r0, r3 80c253a: 3714 adds r7, #20 80c253c: 46bd mov sp, r7 80c253e: f85d 7b04 ldr.w r7, [sp], #4 80c2542: 4770 bx lr 080c2544 : * @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) { 80c2544: b580 push {r7, lr} 80c2546: b088 sub sp, #32 80c2548: af00 add r7, sp, #0 80c254a: 6078 str r0, [r7, #4] 80c254c: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)BlockSize; 80c254e: 683b ldr r3, [r7, #0] 80c2550: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SET_BLOCKLEN; 80c2552: 2310 movs r3, #16 80c2554: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c2556: 2340 movs r3, #64 ; 0x40 80c2558: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c255a: 2300 movs r3, #0 80c255c: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c255e: f44f 6380 mov.w r3, #1024 ; 0x400 80c2562: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c2564: f107 0308 add.w r3, r7, #8 80c2568: 4619 mov r1, r3 80c256a: 6878 ldr r0, [r7, #4] 80c256c: f7ff ff74 bl 80c2458 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SET_BLOCKLEN, SDMMC_CMDTIMEOUT); 80c2570: f241 3288 movw r2, #5000 ; 0x1388 80c2574: 2110 movs r1, #16 80c2576: 6878 ldr r0, [r7, #4] 80c2578: f000 fa1a bl 80c29b0 80c257c: 61f8 str r0, [r7, #28] return errorstate; 80c257e: 69fb ldr r3, [r7, #28] } 80c2580: 4618 mov r0, r3 80c2582: 3720 adds r7, #32 80c2584: 46bd mov sp, r7 80c2586: bd80 pop {r7, pc} 080c2588 : * @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) { 80c2588: b580 push {r7, lr} 80c258a: b088 sub sp, #32 80c258c: af00 add r7, sp, #0 80c258e: 6078 str r0, [r7, #4] 80c2590: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)ReadAdd; 80c2592: 683b ldr r3, [r7, #0] 80c2594: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_READ_SINGLE_BLOCK; 80c2596: 2311 movs r3, #17 80c2598: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c259a: 2340 movs r3, #64 ; 0x40 80c259c: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c259e: 2300 movs r3, #0 80c25a0: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c25a2: f44f 6380 mov.w r3, #1024 ; 0x400 80c25a6: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c25a8: f107 0308 add.w r3, r7, #8 80c25ac: 4619 mov r1, r3 80c25ae: 6878 ldr r0, [r7, #4] 80c25b0: f7ff ff52 bl 80c2458 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_READ_SINGLE_BLOCK, SDMMC_CMDTIMEOUT); 80c25b4: f241 3288 movw r2, #5000 ; 0x1388 80c25b8: 2111 movs r1, #17 80c25ba: 6878 ldr r0, [r7, #4] 80c25bc: f000 f9f8 bl 80c29b0 80c25c0: 61f8 str r0, [r7, #28] return errorstate; 80c25c2: 69fb ldr r3, [r7, #28] } 80c25c4: 4618 mov r0, r3 80c25c6: 3720 adds r7, #32 80c25c8: 46bd mov sp, r7 80c25ca: bd80 pop {r7, pc} 080c25cc : * @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) { 80c25cc: b580 push {r7, lr} 80c25ce: b088 sub sp, #32 80c25d0: af00 add r7, sp, #0 80c25d2: 6078 str r0, [r7, #4] 80c25d4: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)ReadAdd; 80c25d6: 683b ldr r3, [r7, #0] 80c25d8: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_READ_MULT_BLOCK; 80c25da: 2312 movs r3, #18 80c25dc: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c25de: 2340 movs r3, #64 ; 0x40 80c25e0: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c25e2: 2300 movs r3, #0 80c25e4: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c25e6: f44f 6380 mov.w r3, #1024 ; 0x400 80c25ea: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c25ec: f107 0308 add.w r3, r7, #8 80c25f0: 4619 mov r1, r3 80c25f2: 6878 ldr r0, [r7, #4] 80c25f4: f7ff ff30 bl 80c2458 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_READ_MULT_BLOCK, SDMMC_CMDTIMEOUT); 80c25f8: f241 3288 movw r2, #5000 ; 0x1388 80c25fc: 2112 movs r1, #18 80c25fe: 6878 ldr r0, [r7, #4] 80c2600: f000 f9d6 bl 80c29b0 80c2604: 61f8 str r0, [r7, #28] return errorstate; 80c2606: 69fb ldr r3, [r7, #28] } 80c2608: 4618 mov r0, r3 80c260a: 3720 adds r7, #32 80c260c: 46bd mov sp, r7 80c260e: bd80 pop {r7, pc} 080c2610 : * @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) { 80c2610: b580 push {r7, lr} 80c2612: b088 sub sp, #32 80c2614: af00 add r7, sp, #0 80c2616: 6078 str r0, [r7, #4] 80c2618: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)WriteAdd; 80c261a: 683b ldr r3, [r7, #0] 80c261c: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_WRITE_SINGLE_BLOCK; 80c261e: 2318 movs r3, #24 80c2620: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c2622: 2340 movs r3, #64 ; 0x40 80c2624: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c2626: 2300 movs r3, #0 80c2628: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c262a: f44f 6380 mov.w r3, #1024 ; 0x400 80c262e: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c2630: f107 0308 add.w r3, r7, #8 80c2634: 4619 mov r1, r3 80c2636: 6878 ldr r0, [r7, #4] 80c2638: f7ff ff0e bl 80c2458 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_WRITE_SINGLE_BLOCK, SDMMC_CMDTIMEOUT); 80c263c: f241 3288 movw r2, #5000 ; 0x1388 80c2640: 2118 movs r1, #24 80c2642: 6878 ldr r0, [r7, #4] 80c2644: f000 f9b4 bl 80c29b0 80c2648: 61f8 str r0, [r7, #28] return errorstate; 80c264a: 69fb ldr r3, [r7, #28] } 80c264c: 4618 mov r0, r3 80c264e: 3720 adds r7, #32 80c2650: 46bd mov sp, r7 80c2652: bd80 pop {r7, pc} 080c2654 : * @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) { 80c2654: b580 push {r7, lr} 80c2656: b088 sub sp, #32 80c2658: af00 add r7, sp, #0 80c265a: 6078 str r0, [r7, #4] 80c265c: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)WriteAdd; 80c265e: 683b ldr r3, [r7, #0] 80c2660: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_WRITE_MULT_BLOCK; 80c2662: 2319 movs r3, #25 80c2664: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c2666: 2340 movs r3, #64 ; 0x40 80c2668: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c266a: 2300 movs r3, #0 80c266c: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c266e: f44f 6380 mov.w r3, #1024 ; 0x400 80c2672: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c2674: f107 0308 add.w r3, r7, #8 80c2678: 4619 mov r1, r3 80c267a: 6878 ldr r0, [r7, #4] 80c267c: f7ff feec bl 80c2458 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_WRITE_MULT_BLOCK, SDMMC_CMDTIMEOUT); 80c2680: f241 3288 movw r2, #5000 ; 0x1388 80c2684: 2119 movs r1, #25 80c2686: 6878 ldr r0, [r7, #4] 80c2688: f000 f992 bl 80c29b0 80c268c: 61f8 str r0, [r7, #28] return errorstate; 80c268e: 69fb ldr r3, [r7, #28] } 80c2690: 4618 mov r0, r3 80c2692: 3720 adds r7, #32 80c2694: 46bd mov sp, r7 80c2696: bd80 pop {r7, pc} 080c2698 : * @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) { 80c2698: b580 push {r7, lr} 80c269a: b088 sub sp, #32 80c269c: af00 add r7, sp, #0 80c269e: 6078 str r0, [r7, #4] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD12 STOP_TRANSMISSION */ sdmmc_cmdinit.Argument = 0U; 80c26a0: 2300 movs r3, #0 80c26a2: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_STOP_TRANSMISSION; 80c26a4: 230c movs r3, #12 80c26a6: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c26a8: 2340 movs r3, #64 ; 0x40 80c26aa: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c26ac: 2300 movs r3, #0 80c26ae: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c26b0: f44f 6380 mov.w r3, #1024 ; 0x400 80c26b4: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c26b6: f107 0308 add.w r3, r7, #8 80c26ba: 4619 mov r1, r3 80c26bc: 6878 ldr r0, [r7, #4] 80c26be: f7ff fecb bl 80c2458 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_STOP_TRANSMISSION, SDMMC_STOPTRANSFERTIMEOUT); 80c26c2: 4a05 ldr r2, [pc, #20] ; (80c26d8 ) 80c26c4: 210c movs r1, #12 80c26c6: 6878 ldr r0, [r7, #4] 80c26c8: f000 f972 bl 80c29b0 80c26cc: 61f8 str r0, [r7, #28] return errorstate; 80c26ce: 69fb ldr r3, [r7, #28] } 80c26d0: 4618 mov r0, r3 80c26d2: 3720 adds r7, #32 80c26d4: 46bd mov sp, r7 80c26d6: bd80 pop {r7, pc} 80c26d8: 05f5e100 .word 0x05f5e100 080c26dc : * @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) { 80c26dc: b580 push {r7, lr} 80c26de: b08a sub sp, #40 ; 0x28 80c26e0: af00 add r7, sp, #0 80c26e2: 60f8 str r0, [r7, #12] 80c26e4: 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; 80c26e8: 683b ldr r3, [r7, #0] 80c26ea: 613b str r3, [r7, #16] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SEL_DESEL_CARD; 80c26ec: 2307 movs r3, #7 80c26ee: 617b str r3, [r7, #20] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c26f0: 2340 movs r3, #64 ; 0x40 80c26f2: 61bb str r3, [r7, #24] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c26f4: 2300 movs r3, #0 80c26f6: 61fb str r3, [r7, #28] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c26f8: f44f 6380 mov.w r3, #1024 ; 0x400 80c26fc: 623b str r3, [r7, #32] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c26fe: f107 0310 add.w r3, r7, #16 80c2702: 4619 mov r1, r3 80c2704: 68f8 ldr r0, [r7, #12] 80c2706: f7ff fea7 bl 80c2458 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SEL_DESEL_CARD, SDMMC_CMDTIMEOUT); 80c270a: f241 3288 movw r2, #5000 ; 0x1388 80c270e: 2107 movs r1, #7 80c2710: 68f8 ldr r0, [r7, #12] 80c2712: f000 f94d bl 80c29b0 80c2716: 6278 str r0, [r7, #36] ; 0x24 return errorstate; 80c2718: 6a7b ldr r3, [r7, #36] ; 0x24 } 80c271a: 4618 mov r0, r3 80c271c: 3728 adds r7, #40 ; 0x28 80c271e: 46bd mov sp, r7 80c2720: bd80 pop {r7, pc} 080c2722 : * @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) { 80c2722: b580 push {r7, lr} 80c2724: b088 sub sp, #32 80c2726: af00 add r7, sp, #0 80c2728: 6078 str r0, [r7, #4] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = 0U; 80c272a: 2300 movs r3, #0 80c272c: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_GO_IDLE_STATE; 80c272e: 2300 movs r3, #0 80c2730: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_NO; 80c2732: 2300 movs r3, #0 80c2734: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c2736: 2300 movs r3, #0 80c2738: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c273a: f44f 6380 mov.w r3, #1024 ; 0x400 80c273e: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c2740: f107 0308 add.w r3, r7, #8 80c2744: 4619 mov r1, r3 80c2746: 6878 ldr r0, [r7, #4] 80c2748: f7ff fe86 bl 80c2458 /* Check for error conditions */ errorstate = SDMMC_GetCmdError(SDMMCx); 80c274c: 6878 ldr r0, [r7, #4] 80c274e: f000 fb67 bl 80c2e20 80c2752: 61f8 str r0, [r7, #28] return errorstate; 80c2754: 69fb ldr r3, [r7, #28] } 80c2756: 4618 mov r0, r3 80c2758: 3720 adds r7, #32 80c275a: 46bd mov sp, r7 80c275c: bd80 pop {r7, pc} 080c275e : * @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) { 80c275e: b580 push {r7, lr} 80c2760: b088 sub sp, #32 80c2762: af00 add r7, sp, #0 80c2764: 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; 80c2766: f44f 73d5 mov.w r3, #426 ; 0x1aa 80c276a: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_HS_SEND_EXT_CSD; 80c276c: 2308 movs r3, #8 80c276e: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c2770: 2340 movs r3, #64 ; 0x40 80c2772: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c2774: 2300 movs r3, #0 80c2776: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c2778: f44f 6380 mov.w r3, #1024 ; 0x400 80c277c: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c277e: f107 0308 add.w r3, r7, #8 80c2782: 4619 mov r1, r3 80c2784: 6878 ldr r0, [r7, #4] 80c2786: f7ff fe67 bl 80c2458 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp7(SDMMCx); 80c278a: 6878 ldr r0, [r7, #4] 80c278c: f000 fafa bl 80c2d84 80c2790: 61f8 str r0, [r7, #28] return errorstate; 80c2792: 69fb ldr r3, [r7, #28] } 80c2794: 4618 mov r0, r3 80c2796: 3720 adds r7, #32 80c2798: 46bd mov sp, r7 80c279a: bd80 pop {r7, pc} 080c279c : * @param SDMMCx: Pointer to SDMMC register base * @param Argument: Command Argument * @retval HAL status */ uint32_t SDMMC_CmdAppCommand(SDMMC_TypeDef *SDMMCx, uint32_t Argument) { 80c279c: b580 push {r7, lr} 80c279e: b088 sub sp, #32 80c27a0: af00 add r7, sp, #0 80c27a2: 6078 str r0, [r7, #4] 80c27a4: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = (uint32_t)Argument; 80c27a6: 683b ldr r3, [r7, #0] 80c27a8: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_APP_CMD; 80c27aa: 2337 movs r3, #55 ; 0x37 80c27ac: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c27ae: 2340 movs r3, #64 ; 0x40 80c27b0: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c27b2: 2300 movs r3, #0 80c27b4: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c27b6: f44f 6380 mov.w r3, #1024 ; 0x400 80c27ba: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c27bc: f107 0308 add.w r3, r7, #8 80c27c0: 4619 mov r1, r3 80c27c2: 6878 ldr r0, [r7, #4] 80c27c4: f7ff fe48 bl 80c2458 /* 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); 80c27c8: f241 3288 movw r2, #5000 ; 0x1388 80c27cc: 2137 movs r1, #55 ; 0x37 80c27ce: 6878 ldr r0, [r7, #4] 80c27d0: f000 f8ee bl 80c29b0 80c27d4: 61f8 str r0, [r7, #28] return errorstate; 80c27d6: 69fb ldr r3, [r7, #28] } 80c27d8: 4618 mov r0, r3 80c27da: 3720 adds r7, #32 80c27dc: 46bd mov sp, r7 80c27de: bd80 pop {r7, pc} 080c27e0 : * @param SDMMCx: Pointer to SDMMC register base * @param Argument: Command Argument * @retval HAL status */ uint32_t SDMMC_CmdAppOperCommand(SDMMC_TypeDef *SDMMCx, uint32_t Argument) { 80c27e0: b580 push {r7, lr} 80c27e2: b088 sub sp, #32 80c27e4: af00 add r7, sp, #0 80c27e6: 6078 str r0, [r7, #4] 80c27e8: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = SDMMC_VOLTAGE_WINDOW_SD | Argument; 80c27ea: 683a ldr r2, [r7, #0] 80c27ec: 4b0d ldr r3, [pc, #52] ; (80c2824 ) 80c27ee: 4313 orrs r3, r2 80c27f0: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SD_APP_OP_COND; 80c27f2: 2329 movs r3, #41 ; 0x29 80c27f4: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c27f6: 2340 movs r3, #64 ; 0x40 80c27f8: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c27fa: 2300 movs r3, #0 80c27fc: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c27fe: f44f 6380 mov.w r3, #1024 ; 0x400 80c2802: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c2804: f107 0308 add.w r3, r7, #8 80c2808: 4619 mov r1, r3 80c280a: 6878 ldr r0, [r7, #4] 80c280c: f7ff fe24 bl 80c2458 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp3(SDMMCx); 80c2810: 6878 ldr r0, [r7, #4] 80c2812: f000 fa03 bl 80c2c1c 80c2816: 61f8 str r0, [r7, #28] return errorstate; 80c2818: 69fb ldr r3, [r7, #28] } 80c281a: 4618 mov r0, r3 80c281c: 3720 adds r7, #32 80c281e: 46bd mov sp, r7 80c2820: bd80 pop {r7, pc} 80c2822: bf00 nop 80c2824: 80100000 .word 0x80100000 080c2828 : * @param SDMMCx: Pointer to SDMMC register base * @param BusWidth: BusWidth * @retval HAL status */ uint32_t SDMMC_CmdBusWidth(SDMMC_TypeDef *SDMMCx, uint32_t BusWidth) { 80c2828: b580 push {r7, lr} 80c282a: b088 sub sp, #32 80c282c: af00 add r7, sp, #0 80c282e: 6078 str r0, [r7, #4] 80c2830: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = (uint32_t)BusWidth; 80c2832: 683b ldr r3, [r7, #0] 80c2834: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_APP_SD_SET_BUSWIDTH; 80c2836: 2306 movs r3, #6 80c2838: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c283a: 2340 movs r3, #64 ; 0x40 80c283c: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c283e: 2300 movs r3, #0 80c2840: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c2842: f44f 6380 mov.w r3, #1024 ; 0x400 80c2846: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c2848: f107 0308 add.w r3, r7, #8 80c284c: 4619 mov r1, r3 80c284e: 6878 ldr r0, [r7, #4] 80c2850: f7ff fe02 bl 80c2458 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_APP_SD_SET_BUSWIDTH, SDMMC_CMDTIMEOUT); 80c2854: f241 3288 movw r2, #5000 ; 0x1388 80c2858: 2106 movs r1, #6 80c285a: 6878 ldr r0, [r7, #4] 80c285c: f000 f8a8 bl 80c29b0 80c2860: 61f8 str r0, [r7, #28] return errorstate; 80c2862: 69fb ldr r3, [r7, #28] } 80c2864: 4618 mov r0, r3 80c2866: 3720 adds r7, #32 80c2868: 46bd mov sp, r7 80c286a: bd80 pop {r7, pc} 080c286c : * @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) { 80c286c: b580 push {r7, lr} 80c286e: b088 sub sp, #32 80c2870: af00 add r7, sp, #0 80c2872: 6078 str r0, [r7, #4] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD51 SD_APP_SEND_SCR */ sdmmc_cmdinit.Argument = 0U; 80c2874: 2300 movs r3, #0 80c2876: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SD_APP_SEND_SCR; 80c2878: 2333 movs r3, #51 ; 0x33 80c287a: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c287c: 2340 movs r3, #64 ; 0x40 80c287e: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c2880: 2300 movs r3, #0 80c2882: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c2884: f44f 6380 mov.w r3, #1024 ; 0x400 80c2888: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c288a: f107 0308 add.w r3, r7, #8 80c288e: 4619 mov r1, r3 80c2890: 6878 ldr r0, [r7, #4] 80c2892: f7ff fde1 bl 80c2458 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SD_APP_SEND_SCR, SDMMC_CMDTIMEOUT); 80c2896: f241 3288 movw r2, #5000 ; 0x1388 80c289a: 2133 movs r1, #51 ; 0x33 80c289c: 6878 ldr r0, [r7, #4] 80c289e: f000 f887 bl 80c29b0 80c28a2: 61f8 str r0, [r7, #28] return errorstate; 80c28a4: 69fb ldr r3, [r7, #28] } 80c28a6: 4618 mov r0, r3 80c28a8: 3720 adds r7, #32 80c28aa: 46bd mov sp, r7 80c28ac: bd80 pop {r7, pc} 080c28ae : * @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) { 80c28ae: b580 push {r7, lr} 80c28b0: b088 sub sp, #32 80c28b2: af00 add r7, sp, #0 80c28b4: 6078 str r0, [r7, #4] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD2 ALL_SEND_CID */ sdmmc_cmdinit.Argument = 0U; 80c28b6: 2300 movs r3, #0 80c28b8: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_ALL_SEND_CID; 80c28ba: 2302 movs r3, #2 80c28bc: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_LONG; 80c28be: 23c0 movs r3, #192 ; 0xc0 80c28c0: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c28c2: 2300 movs r3, #0 80c28c4: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c28c6: f44f 6380 mov.w r3, #1024 ; 0x400 80c28ca: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c28cc: f107 0308 add.w r3, r7, #8 80c28d0: 4619 mov r1, r3 80c28d2: 6878 ldr r0, [r7, #4] 80c28d4: f7ff fdc0 bl 80c2458 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp2(SDMMCx); 80c28d8: 6878 ldr r0, [r7, #4] 80c28da: f000 f957 bl 80c2b8c 80c28de: 61f8 str r0, [r7, #28] return errorstate; 80c28e0: 69fb ldr r3, [r7, #28] } 80c28e2: 4618 mov r0, r3 80c28e4: 3720 adds r7, #32 80c28e6: 46bd mov sp, r7 80c28e8: bd80 pop {r7, pc} 080c28ea : * @param SDMMCx: Pointer to SDMMC register base * @param Argument: Command Argument * @retval HAL status */ uint32_t SDMMC_CmdSendCSD(SDMMC_TypeDef *SDMMCx, uint32_t Argument) { 80c28ea: b580 push {r7, lr} 80c28ec: b088 sub sp, #32 80c28ee: af00 add r7, sp, #0 80c28f0: 6078 str r0, [r7, #4] 80c28f2: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD9 SEND_CSD */ sdmmc_cmdinit.Argument = Argument; 80c28f4: 683b ldr r3, [r7, #0] 80c28f6: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SEND_CSD; 80c28f8: 2309 movs r3, #9 80c28fa: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_LONG; 80c28fc: 23c0 movs r3, #192 ; 0xc0 80c28fe: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c2900: 2300 movs r3, #0 80c2902: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c2904: f44f 6380 mov.w r3, #1024 ; 0x400 80c2908: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c290a: f107 0308 add.w r3, r7, #8 80c290e: 4619 mov r1, r3 80c2910: 6878 ldr r0, [r7, #4] 80c2912: f7ff fda1 bl 80c2458 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp2(SDMMCx); 80c2916: 6878 ldr r0, [r7, #4] 80c2918: f000 f938 bl 80c2b8c 80c291c: 61f8 str r0, [r7, #28] return errorstate; 80c291e: 69fb ldr r3, [r7, #28] } 80c2920: 4618 mov r0, r3 80c2922: 3720 adds r7, #32 80c2924: 46bd mov sp, r7 80c2926: bd80 pop {r7, pc} 080c2928 : * @param SDMMCx: Pointer to SDMMC register base * @param pRCA: Card RCA * @retval HAL status */ uint32_t SDMMC_CmdSetRelAdd(SDMMC_TypeDef *SDMMCx, uint16_t *pRCA) { 80c2928: b580 push {r7, lr} 80c292a: b088 sub sp, #32 80c292c: af00 add r7, sp, #0 80c292e: 6078 str r0, [r7, #4] 80c2930: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD3 SD_CMD_SET_REL_ADDR */ sdmmc_cmdinit.Argument = 0U; 80c2932: 2300 movs r3, #0 80c2934: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SET_REL_ADDR; 80c2936: 2303 movs r3, #3 80c2938: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c293a: 2340 movs r3, #64 ; 0x40 80c293c: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c293e: 2300 movs r3, #0 80c2940: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c2942: f44f 6380 mov.w r3, #1024 ; 0x400 80c2946: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c2948: f107 0308 add.w r3, r7, #8 80c294c: 4619 mov r1, r3 80c294e: 6878 ldr r0, [r7, #4] 80c2950: f7ff fd82 bl 80c2458 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp6(SDMMCx, SDMMC_CMD_SET_REL_ADDR, pRCA); 80c2954: 683a ldr r2, [r7, #0] 80c2956: 2103 movs r1, #3 80c2958: 6878 ldr r0, [r7, #4] 80c295a: f000 f99d bl 80c2c98 80c295e: 61f8 str r0, [r7, #28] return errorstate; 80c2960: 69fb ldr r3, [r7, #28] } 80c2962: 4618 mov r0, r3 80c2964: 3720 adds r7, #32 80c2966: 46bd mov sp, r7 80c2968: bd80 pop {r7, pc} 080c296a : * @param SDMMCx: Pointer to SDMMC register base * @param Argument: Command Argument * @retval HAL status */ uint32_t SDMMC_CmdSendStatus(SDMMC_TypeDef *SDMMCx, uint32_t Argument) { 80c296a: b580 push {r7, lr} 80c296c: b088 sub sp, #32 80c296e: af00 add r7, sp, #0 80c2970: 6078 str r0, [r7, #4] 80c2972: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = Argument; 80c2974: 683b ldr r3, [r7, #0] 80c2976: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SEND_STATUS; 80c2978: 230d movs r3, #13 80c297a: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c297c: 2340 movs r3, #64 ; 0x40 80c297e: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c2980: 2300 movs r3, #0 80c2982: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c2984: f44f 6380 mov.w r3, #1024 ; 0x400 80c2988: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c298a: f107 0308 add.w r3, r7, #8 80c298e: 4619 mov r1, r3 80c2990: 6878 ldr r0, [r7, #4] 80c2992: f7ff fd61 bl 80c2458 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SEND_STATUS, SDMMC_CMDTIMEOUT); 80c2996: f241 3288 movw r2, #5000 ; 0x1388 80c299a: 210d movs r1, #13 80c299c: 6878 ldr r0, [r7, #4] 80c299e: f000 f807 bl 80c29b0 80c29a2: 61f8 str r0, [r7, #28] return errorstate; 80c29a4: 69fb ldr r3, [r7, #28] } 80c29a6: 4618 mov r0, r3 80c29a8: 3720 adds r7, #32 80c29aa: 46bd mov sp, r7 80c29ac: bd80 pop {r7, pc} ... 080c29b0 : * @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) { 80c29b0: b580 push {r7, lr} 80c29b2: b088 sub sp, #32 80c29b4: af00 add r7, sp, #0 80c29b6: 60f8 str r0, [r7, #12] 80c29b8: 460b mov r3, r1 80c29ba: 607a str r2, [r7, #4] 80c29bc: 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); 80c29be: 4b70 ldr r3, [pc, #448] ; (80c2b80 ) 80c29c0: 681b ldr r3, [r3, #0] 80c29c2: 4a70 ldr r2, [pc, #448] ; (80c2b84 ) 80c29c4: fba2 2303 umull r2, r3, r2, r3 80c29c8: 0a5b lsrs r3, r3, #9 80c29ca: 687a ldr r2, [r7, #4] 80c29cc: fb02 f303 mul.w r3, r2, r3 80c29d0: 61fb str r3, [r7, #28] do { if (count-- == 0U) 80c29d2: 69fb ldr r3, [r7, #28] 80c29d4: 1e5a subs r2, r3, #1 80c29d6: 61fa str r2, [r7, #28] 80c29d8: 2b00 cmp r3, #0 80c29da: d102 bne.n 80c29e2 { return SDMMC_ERROR_TIMEOUT; 80c29dc: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80c29e0: e0c9 b.n 80c2b76 } sta_reg = SDMMCx->STA; 80c29e2: 68fb ldr r3, [r7, #12] 80c29e4: 6b5b ldr r3, [r3, #52] ; 0x34 80c29e6: 61bb str r3, [r7, #24] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c29e8: 69bb ldr r3, [r7, #24] 80c29ea: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80c29ee: 2b00 cmp r3, #0 80c29f0: d0ef beq.n 80c29d2 80c29f2: 69bb ldr r3, [r7, #24] 80c29f4: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c29f8: 2b00 cmp r3, #0 80c29fa: d1ea bne.n 80c29d2 if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80c29fc: 68fb ldr r3, [r7, #12] 80c29fe: 6b5b ldr r3, [r3, #52] ; 0x34 80c2a00: f003 0304 and.w r3, r3, #4 80c2a04: 2b00 cmp r3, #0 80c2a06: d004 beq.n 80c2a12 { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80c2a08: 68fb ldr r3, [r7, #12] 80c2a0a: 2204 movs r2, #4 80c2a0c: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80c2a0e: 2304 movs r3, #4 80c2a10: e0b1 b.n 80c2b76 } else if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) 80c2a12: 68fb ldr r3, [r7, #12] 80c2a14: 6b5b ldr r3, [r3, #52] ; 0x34 80c2a16: f003 0301 and.w r3, r3, #1 80c2a1a: 2b00 cmp r3, #0 80c2a1c: d004 beq.n 80c2a28 { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); 80c2a1e: 68fb ldr r3, [r7, #12] 80c2a20: 2201 movs r2, #1 80c2a22: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_CRC_FAIL; 80c2a24: 2301 movs r3, #1 80c2a26: e0a6 b.n 80c2b76 { /* Nothing to do */ } /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80c2a28: 68fb ldr r3, [r7, #12] 80c2a2a: 22c5 movs r2, #197 ; 0xc5 80c2a2c: 639a str r2, [r3, #56] ; 0x38 /* Check response received is of desired command */ if(SDMMC_GetCommandResponse(SDMMCx) != SD_CMD) 80c2a2e: 68f8 ldr r0, [r7, #12] 80c2a30: f7ff fd3c bl 80c24ac 80c2a34: 4603 mov r3, r0 80c2a36: 461a mov r2, r3 80c2a38: 7afb ldrb r3, [r7, #11] 80c2a3a: 4293 cmp r3, r2 80c2a3c: d001 beq.n 80c2a42 { return SDMMC_ERROR_CMD_CRC_FAIL; 80c2a3e: 2301 movs r3, #1 80c2a40: e099 b.n 80c2b76 } /* We have received response, retrieve it for analysis */ response_r1 = SDMMC_GetResponse(SDMMCx, SDMMC_RESP1); 80c2a42: 2100 movs r1, #0 80c2a44: 68f8 ldr r0, [r7, #12] 80c2a46: f7ff fd3e bl 80c24c6 80c2a4a: 6178 str r0, [r7, #20] if((response_r1 & SDMMC_OCR_ERRORBITS) == SDMMC_ALLZERO) 80c2a4c: 697a ldr r2, [r7, #20] 80c2a4e: 4b4e ldr r3, [pc, #312] ; (80c2b88 ) 80c2a50: 4013 ands r3, r2 80c2a52: 2b00 cmp r3, #0 80c2a54: d101 bne.n 80c2a5a { return SDMMC_ERROR_NONE; 80c2a56: 2300 movs r3, #0 80c2a58: e08d b.n 80c2b76 } else if((response_r1 & SDMMC_OCR_ADDR_OUT_OF_RANGE) == SDMMC_OCR_ADDR_OUT_OF_RANGE) 80c2a5a: 697b ldr r3, [r7, #20] 80c2a5c: 2b00 cmp r3, #0 80c2a5e: da02 bge.n 80c2a66 { return SDMMC_ERROR_ADDR_OUT_OF_RANGE; 80c2a60: f04f 7300 mov.w r3, #33554432 ; 0x2000000 80c2a64: e087 b.n 80c2b76 } else if((response_r1 & SDMMC_OCR_ADDR_MISALIGNED) == SDMMC_OCR_ADDR_MISALIGNED) 80c2a66: 697b ldr r3, [r7, #20] 80c2a68: f003 4380 and.w r3, r3, #1073741824 ; 0x40000000 80c2a6c: 2b00 cmp r3, #0 80c2a6e: d001 beq.n 80c2a74 { return SDMMC_ERROR_ADDR_MISALIGNED; 80c2a70: 2340 movs r3, #64 ; 0x40 80c2a72: e080 b.n 80c2b76 } else if((response_r1 & SDMMC_OCR_BLOCK_LEN_ERR) == SDMMC_OCR_BLOCK_LEN_ERR) 80c2a74: 697b ldr r3, [r7, #20] 80c2a76: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 80c2a7a: 2b00 cmp r3, #0 80c2a7c: d001 beq.n 80c2a82 { return SDMMC_ERROR_BLOCK_LEN_ERR; 80c2a7e: 2380 movs r3, #128 ; 0x80 80c2a80: e079 b.n 80c2b76 } else if((response_r1 & SDMMC_OCR_ERASE_SEQ_ERR) == SDMMC_OCR_ERASE_SEQ_ERR) 80c2a82: 697b ldr r3, [r7, #20] 80c2a84: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80c2a88: 2b00 cmp r3, #0 80c2a8a: d002 beq.n 80c2a92 { return SDMMC_ERROR_ERASE_SEQ_ERR; 80c2a8c: f44f 7380 mov.w r3, #256 ; 0x100 80c2a90: e071 b.n 80c2b76 } else if((response_r1 & SDMMC_OCR_BAD_ERASE_PARAM) == SDMMC_OCR_BAD_ERASE_PARAM) 80c2a92: 697b ldr r3, [r7, #20] 80c2a94: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80c2a98: 2b00 cmp r3, #0 80c2a9a: d002 beq.n 80c2aa2 { return SDMMC_ERROR_BAD_ERASE_PARAM; 80c2a9c: f44f 7300 mov.w r3, #512 ; 0x200 80c2aa0: e069 b.n 80c2b76 } else if((response_r1 & SDMMC_OCR_WRITE_PROT_VIOLATION) == SDMMC_OCR_WRITE_PROT_VIOLATION) 80c2aa2: 697b ldr r3, [r7, #20] 80c2aa4: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80c2aa8: 2b00 cmp r3, #0 80c2aaa: d002 beq.n 80c2ab2 { return SDMMC_ERROR_WRITE_PROT_VIOLATION; 80c2aac: f44f 6380 mov.w r3, #1024 ; 0x400 80c2ab0: e061 b.n 80c2b76 } else if((response_r1 & SDMMC_OCR_LOCK_UNLOCK_FAILED) == SDMMC_OCR_LOCK_UNLOCK_FAILED) 80c2ab2: 697b ldr r3, [r7, #20] 80c2ab4: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80c2ab8: 2b00 cmp r3, #0 80c2aba: d002 beq.n 80c2ac2 { return SDMMC_ERROR_LOCK_UNLOCK_FAILED; 80c2abc: f44f 6300 mov.w r3, #2048 ; 0x800 80c2ac0: e059 b.n 80c2b76 } else if((response_r1 & SDMMC_OCR_COM_CRC_FAILED) == SDMMC_OCR_COM_CRC_FAILED) 80c2ac2: 697b ldr r3, [r7, #20] 80c2ac4: f403 0300 and.w r3, r3, #8388608 ; 0x800000 80c2ac8: 2b00 cmp r3, #0 80c2aca: d002 beq.n 80c2ad2 { return SDMMC_ERROR_COM_CRC_FAILED; 80c2acc: f44f 5380 mov.w r3, #4096 ; 0x1000 80c2ad0: e051 b.n 80c2b76 } else if((response_r1 & SDMMC_OCR_ILLEGAL_CMD) == SDMMC_OCR_ILLEGAL_CMD) 80c2ad2: 697b ldr r3, [r7, #20] 80c2ad4: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80c2ad8: 2b00 cmp r3, #0 80c2ada: d002 beq.n 80c2ae2 { return SDMMC_ERROR_ILLEGAL_CMD; 80c2adc: f44f 5300 mov.w r3, #8192 ; 0x2000 80c2ae0: e049 b.n 80c2b76 } else if((response_r1 & SDMMC_OCR_CARD_ECC_FAILED) == SDMMC_OCR_CARD_ECC_FAILED) 80c2ae2: 697b ldr r3, [r7, #20] 80c2ae4: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80c2ae8: 2b00 cmp r3, #0 80c2aea: d002 beq.n 80c2af2 { return SDMMC_ERROR_CARD_ECC_FAILED; 80c2aec: f44f 4380 mov.w r3, #16384 ; 0x4000 80c2af0: e041 b.n 80c2b76 } else if((response_r1 & SDMMC_OCR_CC_ERROR) == SDMMC_OCR_CC_ERROR) 80c2af2: 697b ldr r3, [r7, #20] 80c2af4: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80c2af8: 2b00 cmp r3, #0 80c2afa: d002 beq.n 80c2b02 { return SDMMC_ERROR_CC_ERR; 80c2afc: f44f 4300 mov.w r3, #32768 ; 0x8000 80c2b00: e039 b.n 80c2b76 } else if((response_r1 & SDMMC_OCR_STREAM_READ_UNDERRUN) == SDMMC_OCR_STREAM_READ_UNDERRUN) 80c2b02: 697b ldr r3, [r7, #20] 80c2b04: f403 2380 and.w r3, r3, #262144 ; 0x40000 80c2b08: 2b00 cmp r3, #0 80c2b0a: d002 beq.n 80c2b12 { return SDMMC_ERROR_STREAM_READ_UNDERRUN; 80c2b0c: f44f 3300 mov.w r3, #131072 ; 0x20000 80c2b10: e031 b.n 80c2b76 } else if((response_r1 & SDMMC_OCR_STREAM_WRITE_OVERRUN) == SDMMC_OCR_STREAM_WRITE_OVERRUN) 80c2b12: 697b ldr r3, [r7, #20] 80c2b14: f403 3300 and.w r3, r3, #131072 ; 0x20000 80c2b18: 2b00 cmp r3, #0 80c2b1a: d002 beq.n 80c2b22 { return SDMMC_ERROR_STREAM_WRITE_OVERRUN; 80c2b1c: f44f 2380 mov.w r3, #262144 ; 0x40000 80c2b20: e029 b.n 80c2b76 } else if((response_r1 & SDMMC_OCR_CID_CSD_OVERWRITE) == SDMMC_OCR_CID_CSD_OVERWRITE) 80c2b22: 697b ldr r3, [r7, #20] 80c2b24: f403 3380 and.w r3, r3, #65536 ; 0x10000 80c2b28: 2b00 cmp r3, #0 80c2b2a: d002 beq.n 80c2b32 { return SDMMC_ERROR_CID_CSD_OVERWRITE; 80c2b2c: f44f 2300 mov.w r3, #524288 ; 0x80000 80c2b30: e021 b.n 80c2b76 } else if((response_r1 & SDMMC_OCR_WP_ERASE_SKIP) == SDMMC_OCR_WP_ERASE_SKIP) 80c2b32: 697b ldr r3, [r7, #20] 80c2b34: f403 4300 and.w r3, r3, #32768 ; 0x8000 80c2b38: 2b00 cmp r3, #0 80c2b3a: d002 beq.n 80c2b42 { return SDMMC_ERROR_WP_ERASE_SKIP; 80c2b3c: f44f 1380 mov.w r3, #1048576 ; 0x100000 80c2b40: e019 b.n 80c2b76 } else if((response_r1 & SDMMC_OCR_CARD_ECC_DISABLED) == SDMMC_OCR_CARD_ECC_DISABLED) 80c2b42: 697b ldr r3, [r7, #20] 80c2b44: f403 4380 and.w r3, r3, #16384 ; 0x4000 80c2b48: 2b00 cmp r3, #0 80c2b4a: d002 beq.n 80c2b52 { return SDMMC_ERROR_CARD_ECC_DISABLED; 80c2b4c: f44f 1300 mov.w r3, #2097152 ; 0x200000 80c2b50: e011 b.n 80c2b76 } else if((response_r1 & SDMMC_OCR_ERASE_RESET) == SDMMC_OCR_ERASE_RESET) 80c2b52: 697b ldr r3, [r7, #20] 80c2b54: f403 5300 and.w r3, r3, #8192 ; 0x2000 80c2b58: 2b00 cmp r3, #0 80c2b5a: d002 beq.n 80c2b62 { return SDMMC_ERROR_ERASE_RESET; 80c2b5c: f44f 0380 mov.w r3, #4194304 ; 0x400000 80c2b60: e009 b.n 80c2b76 } else if((response_r1 & SDMMC_OCR_AKE_SEQ_ERROR) == SDMMC_OCR_AKE_SEQ_ERROR) 80c2b62: 697b ldr r3, [r7, #20] 80c2b64: f003 0308 and.w r3, r3, #8 80c2b68: 2b00 cmp r3, #0 80c2b6a: d002 beq.n 80c2b72 { return SDMMC_ERROR_AKE_SEQ_ERR; 80c2b6c: f44f 0300 mov.w r3, #8388608 ; 0x800000 80c2b70: e001 b.n 80c2b76 } else { return SDMMC_ERROR_GENERAL_UNKNOWN_ERR; 80c2b72: f44f 3380 mov.w r3, #65536 ; 0x10000 } } 80c2b76: 4618 mov r0, r3 80c2b78: 3720 adds r7, #32 80c2b7a: 46bd mov sp, r7 80c2b7c: bd80 pop {r7, pc} 80c2b7e: bf00 nop 80c2b80: 200209bc .word 0x200209bc 80c2b84: 10624dd3 .word 0x10624dd3 80c2b88: fdffe008 .word 0xfdffe008 080c2b8c : * @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) { 80c2b8c: b480 push {r7} 80c2b8e: b085 sub sp, #20 80c2b90: af00 add r7, sp, #0 80c2b92: 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); 80c2b94: 4b1f ldr r3, [pc, #124] ; (80c2c14 ) 80c2b96: 681b ldr r3, [r3, #0] 80c2b98: 4a1f ldr r2, [pc, #124] ; (80c2c18 ) 80c2b9a: fba2 2303 umull r2, r3, r2, r3 80c2b9e: 0a5b lsrs r3, r3, #9 80c2ba0: f241 3288 movw r2, #5000 ; 0x1388 80c2ba4: fb02 f303 mul.w r3, r2, r3 80c2ba8: 60fb str r3, [r7, #12] do { if (count-- == 0U) 80c2baa: 68fb ldr r3, [r7, #12] 80c2bac: 1e5a subs r2, r3, #1 80c2bae: 60fa str r2, [r7, #12] 80c2bb0: 2b00 cmp r3, #0 80c2bb2: d102 bne.n 80c2bba { return SDMMC_ERROR_TIMEOUT; 80c2bb4: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80c2bb8: e026 b.n 80c2c08 } sta_reg = SDMMCx->STA; 80c2bba: 687b ldr r3, [r7, #4] 80c2bbc: 6b5b ldr r3, [r3, #52] ; 0x34 80c2bbe: 60bb str r3, [r7, #8] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c2bc0: 68bb ldr r3, [r7, #8] 80c2bc2: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80c2bc6: 2b00 cmp r3, #0 80c2bc8: d0ef beq.n 80c2baa 80c2bca: 68bb ldr r3, [r7, #8] 80c2bcc: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c2bd0: 2b00 cmp r3, #0 80c2bd2: d1ea bne.n 80c2baa if (__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80c2bd4: 687b ldr r3, [r7, #4] 80c2bd6: 6b5b ldr r3, [r3, #52] ; 0x34 80c2bd8: f003 0304 and.w r3, r3, #4 80c2bdc: 2b00 cmp r3, #0 80c2bde: d004 beq.n 80c2bea { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80c2be0: 687b ldr r3, [r7, #4] 80c2be2: 2204 movs r2, #4 80c2be4: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80c2be6: 2304 movs r3, #4 80c2be8: e00e b.n 80c2c08 } else if (__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) 80c2bea: 687b ldr r3, [r7, #4] 80c2bec: 6b5b ldr r3, [r3, #52] ; 0x34 80c2bee: f003 0301 and.w r3, r3, #1 80c2bf2: 2b00 cmp r3, #0 80c2bf4: d004 beq.n 80c2c00 { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); 80c2bf6: 687b ldr r3, [r7, #4] 80c2bf8: 2201 movs r2, #1 80c2bfa: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_CRC_FAIL; 80c2bfc: 2301 movs r3, #1 80c2bfe: e003 b.n 80c2c08 } else { /* No error flag set */ /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80c2c00: 687b ldr r3, [r7, #4] 80c2c02: 22c5 movs r2, #197 ; 0xc5 80c2c04: 639a str r2, [r3, #56] ; 0x38 } return SDMMC_ERROR_NONE; 80c2c06: 2300 movs r3, #0 } 80c2c08: 4618 mov r0, r3 80c2c0a: 3714 adds r7, #20 80c2c0c: 46bd mov sp, r7 80c2c0e: f85d 7b04 ldr.w r7, [sp], #4 80c2c12: 4770 bx lr 80c2c14: 200209bc .word 0x200209bc 80c2c18: 10624dd3 .word 0x10624dd3 080c2c1c : * @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) { 80c2c1c: b480 push {r7} 80c2c1e: b085 sub sp, #20 80c2c20: af00 add r7, sp, #0 80c2c22: 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); 80c2c24: 4b1a ldr r3, [pc, #104] ; (80c2c90 ) 80c2c26: 681b ldr r3, [r3, #0] 80c2c28: 4a1a ldr r2, [pc, #104] ; (80c2c94 ) 80c2c2a: fba2 2303 umull r2, r3, r2, r3 80c2c2e: 0a5b lsrs r3, r3, #9 80c2c30: f241 3288 movw r2, #5000 ; 0x1388 80c2c34: fb02 f303 mul.w r3, r2, r3 80c2c38: 60fb str r3, [r7, #12] do { if (count-- == 0U) 80c2c3a: 68fb ldr r3, [r7, #12] 80c2c3c: 1e5a subs r2, r3, #1 80c2c3e: 60fa str r2, [r7, #12] 80c2c40: 2b00 cmp r3, #0 80c2c42: d102 bne.n 80c2c4a { return SDMMC_ERROR_TIMEOUT; 80c2c44: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80c2c48: e01b b.n 80c2c82 } sta_reg = SDMMCx->STA; 80c2c4a: 687b ldr r3, [r7, #4] 80c2c4c: 6b5b ldr r3, [r3, #52] ; 0x34 80c2c4e: 60bb str r3, [r7, #8] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c2c50: 68bb ldr r3, [r7, #8] 80c2c52: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80c2c56: 2b00 cmp r3, #0 80c2c58: d0ef beq.n 80c2c3a 80c2c5a: 68bb ldr r3, [r7, #8] 80c2c5c: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c2c60: 2b00 cmp r3, #0 80c2c62: d1ea bne.n 80c2c3a if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80c2c64: 687b ldr r3, [r7, #4] 80c2c66: 6b5b ldr r3, [r3, #52] ; 0x34 80c2c68: f003 0304 and.w r3, r3, #4 80c2c6c: 2b00 cmp r3, #0 80c2c6e: d004 beq.n 80c2c7a { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80c2c70: 687b ldr r3, [r7, #4] 80c2c72: 2204 movs r2, #4 80c2c74: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80c2c76: 2304 movs r3, #4 80c2c78: e003 b.n 80c2c82 } else { /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80c2c7a: 687b ldr r3, [r7, #4] 80c2c7c: 22c5 movs r2, #197 ; 0xc5 80c2c7e: 639a str r2, [r3, #56] ; 0x38 } return SDMMC_ERROR_NONE; 80c2c80: 2300 movs r3, #0 } 80c2c82: 4618 mov r0, r3 80c2c84: 3714 adds r7, #20 80c2c86: 46bd mov sp, r7 80c2c88: f85d 7b04 ldr.w r7, [sp], #4 80c2c8c: 4770 bx lr 80c2c8e: bf00 nop 80c2c90: 200209bc .word 0x200209bc 80c2c94: 10624dd3 .word 0x10624dd3 080c2c98 : * @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) { 80c2c98: b580 push {r7, lr} 80c2c9a: b088 sub sp, #32 80c2c9c: af00 add r7, sp, #0 80c2c9e: 60f8 str r0, [r7, #12] 80c2ca0: 460b mov r3, r1 80c2ca2: 607a str r2, [r7, #4] 80c2ca4: 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); 80c2ca6: 4b35 ldr r3, [pc, #212] ; (80c2d7c ) 80c2ca8: 681b ldr r3, [r3, #0] 80c2caa: 4a35 ldr r2, [pc, #212] ; (80c2d80 ) 80c2cac: fba2 2303 umull r2, r3, r2, r3 80c2cb0: 0a5b lsrs r3, r3, #9 80c2cb2: f241 3288 movw r2, #5000 ; 0x1388 80c2cb6: fb02 f303 mul.w r3, r2, r3 80c2cba: 61fb str r3, [r7, #28] do { if (count-- == 0U) 80c2cbc: 69fb ldr r3, [r7, #28] 80c2cbe: 1e5a subs r2, r3, #1 80c2cc0: 61fa str r2, [r7, #28] 80c2cc2: 2b00 cmp r3, #0 80c2cc4: d102 bne.n 80c2ccc { return SDMMC_ERROR_TIMEOUT; 80c2cc6: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80c2cca: e052 b.n 80c2d72 } sta_reg = SDMMCx->STA; 80c2ccc: 68fb ldr r3, [r7, #12] 80c2cce: 6b5b ldr r3, [r3, #52] ; 0x34 80c2cd0: 61bb str r3, [r7, #24] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c2cd2: 69bb ldr r3, [r7, #24] 80c2cd4: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80c2cd8: 2b00 cmp r3, #0 80c2cda: d0ef beq.n 80c2cbc 80c2cdc: 69bb ldr r3, [r7, #24] 80c2cde: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c2ce2: 2b00 cmp r3, #0 80c2ce4: d1ea bne.n 80c2cbc if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80c2ce6: 68fb ldr r3, [r7, #12] 80c2ce8: 6b5b ldr r3, [r3, #52] ; 0x34 80c2cea: f003 0304 and.w r3, r3, #4 80c2cee: 2b00 cmp r3, #0 80c2cf0: d004 beq.n 80c2cfc { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80c2cf2: 68fb ldr r3, [r7, #12] 80c2cf4: 2204 movs r2, #4 80c2cf6: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80c2cf8: 2304 movs r3, #4 80c2cfa: e03a b.n 80c2d72 } else if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) 80c2cfc: 68fb ldr r3, [r7, #12] 80c2cfe: 6b5b ldr r3, [r3, #52] ; 0x34 80c2d00: f003 0301 and.w r3, r3, #1 80c2d04: 2b00 cmp r3, #0 80c2d06: d004 beq.n 80c2d12 { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); 80c2d08: 68fb ldr r3, [r7, #12] 80c2d0a: 2201 movs r2, #1 80c2d0c: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_CRC_FAIL; 80c2d0e: 2301 movs r3, #1 80c2d10: e02f b.n 80c2d72 { /* Nothing to do */ } /* Check response received is of desired command */ if(SDMMC_GetCommandResponse(SDMMCx) != SD_CMD) 80c2d12: 68f8 ldr r0, [r7, #12] 80c2d14: f7ff fbca bl 80c24ac 80c2d18: 4603 mov r3, r0 80c2d1a: 461a mov r2, r3 80c2d1c: 7afb ldrb r3, [r7, #11] 80c2d1e: 4293 cmp r3, r2 80c2d20: d001 beq.n 80c2d26 { return SDMMC_ERROR_CMD_CRC_FAIL; 80c2d22: 2301 movs r3, #1 80c2d24: e025 b.n 80c2d72 } /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80c2d26: 68fb ldr r3, [r7, #12] 80c2d28: 22c5 movs r2, #197 ; 0xc5 80c2d2a: 639a str r2, [r3, #56] ; 0x38 /* We have received response, retrieve it. */ response_r1 = SDMMC_GetResponse(SDMMCx, SDMMC_RESP1); 80c2d2c: 2100 movs r1, #0 80c2d2e: 68f8 ldr r0, [r7, #12] 80c2d30: f7ff fbc9 bl 80c24c6 80c2d34: 6178 str r0, [r7, #20] if((response_r1 & (SDMMC_R6_GENERAL_UNKNOWN_ERROR | SDMMC_R6_ILLEGAL_CMD | SDMMC_R6_COM_CRC_FAILED)) == SDMMC_ALLZERO) 80c2d36: 697b ldr r3, [r7, #20] 80c2d38: f403 4360 and.w r3, r3, #57344 ; 0xe000 80c2d3c: 2b00 cmp r3, #0 80c2d3e: d106 bne.n 80c2d4e { *pRCA = (uint16_t) (response_r1 >> 16); 80c2d40: 697b ldr r3, [r7, #20] 80c2d42: 0c1b lsrs r3, r3, #16 80c2d44: b29a uxth r2, r3 80c2d46: 687b ldr r3, [r7, #4] 80c2d48: 801a strh r2, [r3, #0] return SDMMC_ERROR_NONE; 80c2d4a: 2300 movs r3, #0 80c2d4c: e011 b.n 80c2d72 } else if((response_r1 & SDMMC_R6_ILLEGAL_CMD) == SDMMC_R6_ILLEGAL_CMD) 80c2d4e: 697b ldr r3, [r7, #20] 80c2d50: f403 4380 and.w r3, r3, #16384 ; 0x4000 80c2d54: 2b00 cmp r3, #0 80c2d56: d002 beq.n 80c2d5e { return SDMMC_ERROR_ILLEGAL_CMD; 80c2d58: f44f 5300 mov.w r3, #8192 ; 0x2000 80c2d5c: e009 b.n 80c2d72 } else if((response_r1 & SDMMC_R6_COM_CRC_FAILED) == SDMMC_R6_COM_CRC_FAILED) 80c2d5e: 697b ldr r3, [r7, #20] 80c2d60: f403 4300 and.w r3, r3, #32768 ; 0x8000 80c2d64: 2b00 cmp r3, #0 80c2d66: d002 beq.n 80c2d6e { return SDMMC_ERROR_COM_CRC_FAILED; 80c2d68: f44f 5380 mov.w r3, #4096 ; 0x1000 80c2d6c: e001 b.n 80c2d72 } else { return SDMMC_ERROR_GENERAL_UNKNOWN_ERR; 80c2d6e: f44f 3380 mov.w r3, #65536 ; 0x10000 } } 80c2d72: 4618 mov r0, r3 80c2d74: 3720 adds r7, #32 80c2d76: 46bd mov sp, r7 80c2d78: bd80 pop {r7, pc} 80c2d7a: bf00 nop 80c2d7c: 200209bc .word 0x200209bc 80c2d80: 10624dd3 .word 0x10624dd3 080c2d84 : * @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) { 80c2d84: b480 push {r7} 80c2d86: b085 sub sp, #20 80c2d88: af00 add r7, sp, #0 80c2d8a: 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); 80c2d8c: 4b22 ldr r3, [pc, #136] ; (80c2e18 ) 80c2d8e: 681b ldr r3, [r3, #0] 80c2d90: 4a22 ldr r2, [pc, #136] ; (80c2e1c ) 80c2d92: fba2 2303 umull r2, r3, r2, r3 80c2d96: 0a5b lsrs r3, r3, #9 80c2d98: f241 3288 movw r2, #5000 ; 0x1388 80c2d9c: fb02 f303 mul.w r3, r2, r3 80c2da0: 60fb str r3, [r7, #12] do { if (count-- == 0U) 80c2da2: 68fb ldr r3, [r7, #12] 80c2da4: 1e5a subs r2, r3, #1 80c2da6: 60fa str r2, [r7, #12] 80c2da8: 2b00 cmp r3, #0 80c2daa: d102 bne.n 80c2db2 { return SDMMC_ERROR_TIMEOUT; 80c2dac: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80c2db0: e02c b.n 80c2e0c } sta_reg = SDMMCx->STA; 80c2db2: 687b ldr r3, [r7, #4] 80c2db4: 6b5b ldr r3, [r3, #52] ; 0x34 80c2db6: 60bb str r3, [r7, #8] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c2db8: 68bb ldr r3, [r7, #8] 80c2dba: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80c2dbe: 2b00 cmp r3, #0 80c2dc0: d0ef beq.n 80c2da2 80c2dc2: 68bb ldr r3, [r7, #8] 80c2dc4: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c2dc8: 2b00 cmp r3, #0 80c2dca: d1ea bne.n 80c2da2 if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80c2dcc: 687b ldr r3, [r7, #4] 80c2dce: 6b5b ldr r3, [r3, #52] ; 0x34 80c2dd0: f003 0304 and.w r3, r3, #4 80c2dd4: 2b00 cmp r3, #0 80c2dd6: d004 beq.n 80c2de2 { /* Card is SD V2.0 compliant */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80c2dd8: 687b ldr r3, [r7, #4] 80c2dda: 2204 movs r2, #4 80c2ddc: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80c2dde: 2304 movs r3, #4 80c2de0: e014 b.n 80c2e0c } else if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) 80c2de2: 687b ldr r3, [r7, #4] 80c2de4: 6b5b ldr r3, [r3, #52] ; 0x34 80c2de6: f003 0301 and.w r3, r3, #1 80c2dea: 2b00 cmp r3, #0 80c2dec: d004 beq.n 80c2df8 { /* Card is SD V2.0 compliant */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); 80c2dee: 687b ldr r3, [r7, #4] 80c2df0: 2201 movs r2, #1 80c2df2: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_CRC_FAIL; 80c2df4: 2301 movs r3, #1 80c2df6: e009 b.n 80c2e0c else { /* Nothing to do */ } if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CMDREND)) 80c2df8: 687b ldr r3, [r7, #4] 80c2dfa: 6b5b ldr r3, [r3, #52] ; 0x34 80c2dfc: f003 0340 and.w r3, r3, #64 ; 0x40 80c2e00: 2b00 cmp r3, #0 80c2e02: d002 beq.n 80c2e0a { /* Card is SD V2.0 compliant */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CMDREND); 80c2e04: 687b ldr r3, [r7, #4] 80c2e06: 2240 movs r2, #64 ; 0x40 80c2e08: 639a str r2, [r3, #56] ; 0x38 } return SDMMC_ERROR_NONE; 80c2e0a: 2300 movs r3, #0 } 80c2e0c: 4618 mov r0, r3 80c2e0e: 3714 adds r7, #20 80c2e10: 46bd mov sp, r7 80c2e12: f85d 7b04 ldr.w r7, [sp], #4 80c2e16: 4770 bx lr 80c2e18: 200209bc .word 0x200209bc 80c2e1c: 10624dd3 .word 0x10624dd3 080c2e20 : * @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) { 80c2e20: b480 push {r7} 80c2e22: b085 sub sp, #20 80c2e24: af00 add r7, sp, #0 80c2e26: 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); 80c2e28: 4b11 ldr r3, [pc, #68] ; (80c2e70 ) 80c2e2a: 681b ldr r3, [r3, #0] 80c2e2c: 4a11 ldr r2, [pc, #68] ; (80c2e74 ) 80c2e2e: fba2 2303 umull r2, r3, r2, r3 80c2e32: 0a5b lsrs r3, r3, #9 80c2e34: f241 3288 movw r2, #5000 ; 0x1388 80c2e38: fb02 f303 mul.w r3, r2, r3 80c2e3c: 60fb str r3, [r7, #12] do { if (count-- == 0U) 80c2e3e: 68fb ldr r3, [r7, #12] 80c2e40: 1e5a subs r2, r3, #1 80c2e42: 60fa str r2, [r7, #12] 80c2e44: 2b00 cmp r3, #0 80c2e46: d102 bne.n 80c2e4e { return SDMMC_ERROR_TIMEOUT; 80c2e48: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80c2e4c: e009 b.n 80c2e62 } }while(!__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CMDSENT)); 80c2e4e: 687b ldr r3, [r7, #4] 80c2e50: 6b5b ldr r3, [r3, #52] ; 0x34 80c2e52: f003 0380 and.w r3, r3, #128 ; 0x80 80c2e56: 2b00 cmp r3, #0 80c2e58: d0f1 beq.n 80c2e3e /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80c2e5a: 687b ldr r3, [r7, #4] 80c2e5c: 22c5 movs r2, #197 ; 0xc5 80c2e5e: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_NONE; 80c2e60: 2300 movs r3, #0 } 80c2e62: 4618 mov r0, r3 80c2e64: 3714 adds r7, #20 80c2e66: 46bd mov sp, r7 80c2e68: f85d 7b04 ldr.w r7, [sp], #4 80c2e6c: 4770 bx lr 80c2e6e: bf00 nop 80c2e70: 200209bc .word 0x200209bc 80c2e74: 10624dd3 .word 0x10624dd3 080c2e78 : * @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) { 80c2e78: b084 sub sp, #16 80c2e7a: b580 push {r7, lr} 80c2e7c: b084 sub sp, #16 80c2e7e: af00 add r7, sp, #0 80c2e80: 6078 str r0, [r7, #4] 80c2e82: f107 001c add.w r0, r7, #28 80c2e86: e880 000e stmia.w r0, {r1, r2, r3} HAL_StatusTypeDef ret; if (cfg.phy_itface == USB_OTG_ULPI_PHY) 80c2e8a: 6b3b ldr r3, [r7, #48] ; 0x30 80c2e8c: 2b01 cmp r3, #1 80c2e8e: d120 bne.n 80c2ed2 { USBx->GCCFG &= ~(USB_OTG_GCCFG_PWRDWN); 80c2e90: 687b ldr r3, [r7, #4] 80c2e92: 6b9b ldr r3, [r3, #56] ; 0x38 80c2e94: f423 3280 bic.w r2, r3, #65536 ; 0x10000 80c2e98: 687b ldr r3, [r7, #4] 80c2e9a: 639a str r2, [r3, #56] ; 0x38 /* Init The ULPI Interface */ USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_TSDPS | USB_OTG_GUSBCFG_ULPIFSLS | USB_OTG_GUSBCFG_PHYSEL); 80c2e9c: 687b ldr r3, [r7, #4] 80c2e9e: 68da ldr r2, [r3, #12] 80c2ea0: 4b20 ldr r3, [pc, #128] ; (80c2f24 ) 80c2ea2: 4013 ands r3, r2 80c2ea4: 687a ldr r2, [r7, #4] 80c2ea6: 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); 80c2ea8: 687b ldr r3, [r7, #4] 80c2eaa: 68db ldr r3, [r3, #12] 80c2eac: f423 1240 bic.w r2, r3, #3145728 ; 0x300000 80c2eb0: 687b ldr r3, [r7, #4] 80c2eb2: 60da str r2, [r3, #12] if (cfg.use_external_vbus == 1U) 80c2eb4: 6cfb ldr r3, [r7, #76] ; 0x4c 80c2eb6: 2b01 cmp r3, #1 80c2eb8: d105 bne.n 80c2ec6 { USBx->GUSBCFG |= USB_OTG_GUSBCFG_ULPIEVBUSD; 80c2eba: 687b ldr r3, [r7, #4] 80c2ebc: 68db ldr r3, [r3, #12] 80c2ebe: f443 1280 orr.w r2, r3, #1048576 ; 0x100000 80c2ec2: 687b ldr r3, [r7, #4] 80c2ec4: 60da str r2, [r3, #12] } /* Reset after a PHY select */ ret = USB_CoreReset(USBx); 80c2ec6: 6878 ldr r0, [r7, #4] 80c2ec8: f001 fb74 bl 80c45b4 80c2ecc: 4603 mov r3, r0 80c2ece: 73fb strb r3, [r7, #15] 80c2ed0: e010 b.n 80c2ef4 } #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; 80c2ed2: 687b ldr r3, [r7, #4] 80c2ed4: 68db ldr r3, [r3, #12] 80c2ed6: f043 0240 orr.w r2, r3, #64 ; 0x40 80c2eda: 687b ldr r3, [r7, #4] 80c2edc: 60da str r2, [r3, #12] /* Reset after a PHY select */ ret = USB_CoreReset(USBx); 80c2ede: 6878 ldr r0, [r7, #4] 80c2ee0: f001 fb68 bl 80c45b4 80c2ee4: 4603 mov r3, r0 80c2ee6: 73fb strb r3, [r7, #15] /* Activate the USB Transceiver */ USBx->GCCFG |= USB_OTG_GCCFG_PWRDWN; 80c2ee8: 687b ldr r3, [r7, #4] 80c2eea: 6b9b ldr r3, [r3, #56] ; 0x38 80c2eec: f443 3280 orr.w r2, r3, #65536 ; 0x10000 80c2ef0: 687b ldr r3, [r7, #4] 80c2ef2: 639a str r2, [r3, #56] ; 0x38 } if (cfg.dma_enable == 1U) 80c2ef4: 6abb ldr r3, [r7, #40] ; 0x28 80c2ef6: 2b01 cmp r3, #1 80c2ef8: d10b bne.n 80c2f12 { USBx->GAHBCFG |= USB_OTG_GAHBCFG_HBSTLEN_2; 80c2efa: 687b ldr r3, [r7, #4] 80c2efc: 689b ldr r3, [r3, #8] 80c2efe: f043 0206 orr.w r2, r3, #6 80c2f02: 687b ldr r3, [r7, #4] 80c2f04: 609a str r2, [r3, #8] USBx->GAHBCFG |= USB_OTG_GAHBCFG_DMAEN; 80c2f06: 687b ldr r3, [r7, #4] 80c2f08: 689b ldr r3, [r3, #8] 80c2f0a: f043 0220 orr.w r2, r3, #32 80c2f0e: 687b ldr r3, [r7, #4] 80c2f10: 609a str r2, [r3, #8] } return ret; 80c2f12: 7bfb ldrb r3, [r7, #15] } 80c2f14: 4618 mov r0, r3 80c2f16: 3710 adds r7, #16 80c2f18: 46bd mov sp, r7 80c2f1a: e8bd 4080 ldmia.w sp!, {r7, lr} 80c2f1e: b004 add sp, #16 80c2f20: 4770 bx lr 80c2f22: bf00 nop 80c2f24: ffbdffbf .word 0xffbdffbf 080c2f28 : * @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) { 80c2f28: b480 push {r7} 80c2f2a: b087 sub sp, #28 80c2f2c: af00 add r7, sp, #0 80c2f2e: 60f8 str r0, [r7, #12] 80c2f30: 60b9 str r1, [r7, #8] 80c2f32: 4613 mov r3, r2 80c2f34: 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) 80c2f36: 79fb ldrb r3, [r7, #7] 80c2f38: 2b02 cmp r3, #2 80c2f3a: d165 bne.n 80c3008 { if ((hclk >= 14200000U) && (hclk < 15000000U)) 80c2f3c: 68bb ldr r3, [r7, #8] 80c2f3e: 4a41 ldr r2, [pc, #260] ; (80c3044 ) 80c2f40: 4293 cmp r3, r2 80c2f42: d906 bls.n 80c2f52 80c2f44: 68bb ldr r3, [r7, #8] 80c2f46: 4a40 ldr r2, [pc, #256] ; (80c3048 ) 80c2f48: 4293 cmp r3, r2 80c2f4a: d802 bhi.n 80c2f52 { /* hclk Clock Range between 14.2-15 MHz */ UsbTrd = 0xFU; 80c2f4c: 230f movs r3, #15 80c2f4e: 617b str r3, [r7, #20] 80c2f50: e062 b.n 80c3018 } else if ((hclk >= 15000000U) && (hclk < 16000000U)) 80c2f52: 68bb ldr r3, [r7, #8] 80c2f54: 4a3c ldr r2, [pc, #240] ; (80c3048 ) 80c2f56: 4293 cmp r3, r2 80c2f58: d906 bls.n 80c2f68 80c2f5a: 68bb ldr r3, [r7, #8] 80c2f5c: 4a3b ldr r2, [pc, #236] ; (80c304c ) 80c2f5e: 4293 cmp r3, r2 80c2f60: d802 bhi.n 80c2f68 { /* hclk Clock Range between 15-16 MHz */ UsbTrd = 0xEU; 80c2f62: 230e movs r3, #14 80c2f64: 617b str r3, [r7, #20] 80c2f66: e057 b.n 80c3018 } else if ((hclk >= 16000000U) && (hclk < 17200000U)) 80c2f68: 68bb ldr r3, [r7, #8] 80c2f6a: 4a38 ldr r2, [pc, #224] ; (80c304c ) 80c2f6c: 4293 cmp r3, r2 80c2f6e: d906 bls.n 80c2f7e 80c2f70: 68bb ldr r3, [r7, #8] 80c2f72: 4a37 ldr r2, [pc, #220] ; (80c3050 ) 80c2f74: 4293 cmp r3, r2 80c2f76: d802 bhi.n 80c2f7e { /* hclk Clock Range between 16-17.2 MHz */ UsbTrd = 0xDU; 80c2f78: 230d movs r3, #13 80c2f7a: 617b str r3, [r7, #20] 80c2f7c: e04c b.n 80c3018 } else if ((hclk >= 17200000U) && (hclk < 18500000U)) 80c2f7e: 68bb ldr r3, [r7, #8] 80c2f80: 4a33 ldr r2, [pc, #204] ; (80c3050 ) 80c2f82: 4293 cmp r3, r2 80c2f84: d906 bls.n 80c2f94 80c2f86: 68bb ldr r3, [r7, #8] 80c2f88: 4a32 ldr r2, [pc, #200] ; (80c3054 ) 80c2f8a: 4293 cmp r3, r2 80c2f8c: d802 bhi.n 80c2f94 { /* hclk Clock Range between 17.2-18.5 MHz */ UsbTrd = 0xCU; 80c2f8e: 230c movs r3, #12 80c2f90: 617b str r3, [r7, #20] 80c2f92: e041 b.n 80c3018 } else if ((hclk >= 18500000U) && (hclk < 20000000U)) 80c2f94: 68bb ldr r3, [r7, #8] 80c2f96: 4a2f ldr r2, [pc, #188] ; (80c3054 ) 80c2f98: 4293 cmp r3, r2 80c2f9a: d906 bls.n 80c2faa 80c2f9c: 68bb ldr r3, [r7, #8] 80c2f9e: 4a2e ldr r2, [pc, #184] ; (80c3058 ) 80c2fa0: 4293 cmp r3, r2 80c2fa2: d802 bhi.n 80c2faa { /* hclk Clock Range between 18.5-20 MHz */ UsbTrd = 0xBU; 80c2fa4: 230b movs r3, #11 80c2fa6: 617b str r3, [r7, #20] 80c2fa8: e036 b.n 80c3018 } else if ((hclk >= 20000000U) && (hclk < 21800000U)) 80c2faa: 68bb ldr r3, [r7, #8] 80c2fac: 4a2a ldr r2, [pc, #168] ; (80c3058 ) 80c2fae: 4293 cmp r3, r2 80c2fb0: d906 bls.n 80c2fc0 80c2fb2: 68bb ldr r3, [r7, #8] 80c2fb4: 4a29 ldr r2, [pc, #164] ; (80c305c ) 80c2fb6: 4293 cmp r3, r2 80c2fb8: d802 bhi.n 80c2fc0 { /* hclk Clock Range between 20-21.8 MHz */ UsbTrd = 0xAU; 80c2fba: 230a movs r3, #10 80c2fbc: 617b str r3, [r7, #20] 80c2fbe: e02b b.n 80c3018 } else if ((hclk >= 21800000U) && (hclk < 24000000U)) 80c2fc0: 68bb ldr r3, [r7, #8] 80c2fc2: 4a26 ldr r2, [pc, #152] ; (80c305c ) 80c2fc4: 4293 cmp r3, r2 80c2fc6: d906 bls.n 80c2fd6 80c2fc8: 68bb ldr r3, [r7, #8] 80c2fca: 4a25 ldr r2, [pc, #148] ; (80c3060 ) 80c2fcc: 4293 cmp r3, r2 80c2fce: d802 bhi.n 80c2fd6 { /* hclk Clock Range between 21.8-24 MHz */ UsbTrd = 0x9U; 80c2fd0: 2309 movs r3, #9 80c2fd2: 617b str r3, [r7, #20] 80c2fd4: e020 b.n 80c3018 } else if ((hclk >= 24000000U) && (hclk < 27700000U)) 80c2fd6: 68bb ldr r3, [r7, #8] 80c2fd8: 4a21 ldr r2, [pc, #132] ; (80c3060 ) 80c2fda: 4293 cmp r3, r2 80c2fdc: d906 bls.n 80c2fec 80c2fde: 68bb ldr r3, [r7, #8] 80c2fe0: 4a20 ldr r2, [pc, #128] ; (80c3064 ) 80c2fe2: 4293 cmp r3, r2 80c2fe4: d802 bhi.n 80c2fec { /* hclk Clock Range between 24-27.7 MHz */ UsbTrd = 0x8U; 80c2fe6: 2308 movs r3, #8 80c2fe8: 617b str r3, [r7, #20] 80c2fea: e015 b.n 80c3018 } else if ((hclk >= 27700000U) && (hclk < 32000000U)) 80c2fec: 68bb ldr r3, [r7, #8] 80c2fee: 4a1d ldr r2, [pc, #116] ; (80c3064 ) 80c2ff0: 4293 cmp r3, r2 80c2ff2: d906 bls.n 80c3002 80c2ff4: 68bb ldr r3, [r7, #8] 80c2ff6: 4a1c ldr r2, [pc, #112] ; (80c3068 ) 80c2ff8: 4293 cmp r3, r2 80c2ffa: d802 bhi.n 80c3002 { /* hclk Clock Range between 27.7-32 MHz */ UsbTrd = 0x7U; 80c2ffc: 2307 movs r3, #7 80c2ffe: 617b str r3, [r7, #20] 80c3000: e00a b.n 80c3018 } else /* if(hclk >= 32000000) */ { /* hclk Clock Range between 32-200 MHz */ UsbTrd = 0x6U; 80c3002: 2306 movs r3, #6 80c3004: 617b str r3, [r7, #20] 80c3006: e007 b.n 80c3018 } } else if (speed == USBD_HS_SPEED) 80c3008: 79fb ldrb r3, [r7, #7] 80c300a: 2b00 cmp r3, #0 80c300c: d102 bne.n 80c3014 { UsbTrd = USBD_HS_TRDT_VALUE; 80c300e: 2309 movs r3, #9 80c3010: 617b str r3, [r7, #20] 80c3012: e001 b.n 80c3018 } else { UsbTrd = USBD_DEFAULT_TRDT_VALUE; 80c3014: 2309 movs r3, #9 80c3016: 617b str r3, [r7, #20] } USBx->GUSBCFG &= ~USB_OTG_GUSBCFG_TRDT; 80c3018: 68fb ldr r3, [r7, #12] 80c301a: 68db ldr r3, [r3, #12] 80c301c: f423 5270 bic.w r2, r3, #15360 ; 0x3c00 80c3020: 68fb ldr r3, [r7, #12] 80c3022: 60da str r2, [r3, #12] USBx->GUSBCFG |= (uint32_t)((UsbTrd << 10) & USB_OTG_GUSBCFG_TRDT); 80c3024: 68fb ldr r3, [r7, #12] 80c3026: 68da ldr r2, [r3, #12] 80c3028: 697b ldr r3, [r7, #20] 80c302a: 029b lsls r3, r3, #10 80c302c: f403 5370 and.w r3, r3, #15360 ; 0x3c00 80c3030: 431a orrs r2, r3 80c3032: 68fb ldr r3, [r7, #12] 80c3034: 60da str r2, [r3, #12] return HAL_OK; 80c3036: 2300 movs r3, #0 } 80c3038: 4618 mov r0, r3 80c303a: 371c adds r7, #28 80c303c: 46bd mov sp, r7 80c303e: f85d 7b04 ldr.w r7, [sp], #4 80c3042: 4770 bx lr 80c3044: 00d8acbf .word 0x00d8acbf 80c3048: 00e4e1bf .word 0x00e4e1bf 80c304c: 00f423ff .word 0x00f423ff 80c3050: 0106737f .word 0x0106737f 80c3054: 011a499f .word 0x011a499f 80c3058: 01312cff .word 0x01312cff 80c305c: 014ca43f .word 0x014ca43f 80c3060: 016e35ff .word 0x016e35ff 80c3064: 01a6ab1f .word 0x01a6ab1f 80c3068: 01e847ff .word 0x01e847ff 080c306c : * 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) { 80c306c: b480 push {r7} 80c306e: b083 sub sp, #12 80c3070: af00 add r7, sp, #0 80c3072: 6078 str r0, [r7, #4] USBx->GAHBCFG |= USB_OTG_GAHBCFG_GINT; 80c3074: 687b ldr r3, [r7, #4] 80c3076: 689b ldr r3, [r3, #8] 80c3078: f043 0201 orr.w r2, r3, #1 80c307c: 687b ldr r3, [r7, #4] 80c307e: 609a str r2, [r3, #8] return HAL_OK; 80c3080: 2300 movs r3, #0 } 80c3082: 4618 mov r0, r3 80c3084: 370c adds r7, #12 80c3086: 46bd mov sp, r7 80c3088: f85d 7b04 ldr.w r7, [sp], #4 80c308c: 4770 bx lr 080c308e : * 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) { 80c308e: b480 push {r7} 80c3090: b083 sub sp, #12 80c3092: af00 add r7, sp, #0 80c3094: 6078 str r0, [r7, #4] USBx->GAHBCFG &= ~USB_OTG_GAHBCFG_GINT; 80c3096: 687b ldr r3, [r7, #4] 80c3098: 689b ldr r3, [r3, #8] 80c309a: f023 0201 bic.w r2, r3, #1 80c309e: 687b ldr r3, [r7, #4] 80c30a0: 609a str r2, [r3, #8] return HAL_OK; 80c30a2: 2300 movs r3, #0 } 80c30a4: 4618 mov r0, r3 80c30a6: 370c adds r7, #12 80c30a8: 46bd mov sp, r7 80c30aa: f85d 7b04 ldr.w r7, [sp], #4 80c30ae: 4770 bx lr 080c30b0 : * @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) { 80c30b0: b580 push {r7, lr} 80c30b2: b084 sub sp, #16 80c30b4: af00 add r7, sp, #0 80c30b6: 6078 str r0, [r7, #4] 80c30b8: 460b mov r3, r1 80c30ba: 70fb strb r3, [r7, #3] uint32_t ms = 0U; 80c30bc: 2300 movs r3, #0 80c30be: 60fb str r3, [r7, #12] USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_FHMOD | USB_OTG_GUSBCFG_FDMOD); 80c30c0: 687b ldr r3, [r7, #4] 80c30c2: 68db ldr r3, [r3, #12] 80c30c4: f023 42c0 bic.w r2, r3, #1610612736 ; 0x60000000 80c30c8: 687b ldr r3, [r7, #4] 80c30ca: 60da str r2, [r3, #12] if (mode == USB_HOST_MODE) 80c30cc: 78fb ldrb r3, [r7, #3] 80c30ce: 2b01 cmp r3, #1 80c30d0: d115 bne.n 80c30fe { USBx->GUSBCFG |= USB_OTG_GUSBCFG_FHMOD; 80c30d2: 687b ldr r3, [r7, #4] 80c30d4: 68db ldr r3, [r3, #12] 80c30d6: f043 5200 orr.w r2, r3, #536870912 ; 0x20000000 80c30da: 687b ldr r3, [r7, #4] 80c30dc: 60da str r2, [r3, #12] do { HAL_Delay(1U); 80c30de: 2001 movs r0, #1 80c30e0: f7f4 fcac bl 80b7a3c ms++; 80c30e4: 68fb ldr r3, [r7, #12] 80c30e6: 3301 adds r3, #1 80c30e8: 60fb str r3, [r7, #12] } while ((USB_GetMode(USBx) != (uint32_t)USB_HOST_MODE) && (ms < 50U)); 80c30ea: 6878 ldr r0, [r7, #4] 80c30ec: f001 f9cc bl 80c4488 80c30f0: 4603 mov r3, r0 80c30f2: 2b01 cmp r3, #1 80c30f4: d01e beq.n 80c3134 80c30f6: 68fb ldr r3, [r7, #12] 80c30f8: 2b31 cmp r3, #49 ; 0x31 80c30fa: d9f0 bls.n 80c30de 80c30fc: e01a b.n 80c3134 } else if (mode == USB_DEVICE_MODE) 80c30fe: 78fb ldrb r3, [r7, #3] 80c3100: 2b00 cmp r3, #0 80c3102: d115 bne.n 80c3130 { USBx->GUSBCFG |= USB_OTG_GUSBCFG_FDMOD; 80c3104: 687b ldr r3, [r7, #4] 80c3106: 68db ldr r3, [r3, #12] 80c3108: f043 4280 orr.w r2, r3, #1073741824 ; 0x40000000 80c310c: 687b ldr r3, [r7, #4] 80c310e: 60da str r2, [r3, #12] do { HAL_Delay(1U); 80c3110: 2001 movs r0, #1 80c3112: f7f4 fc93 bl 80b7a3c ms++; 80c3116: 68fb ldr r3, [r7, #12] 80c3118: 3301 adds r3, #1 80c311a: 60fb str r3, [r7, #12] } while ((USB_GetMode(USBx) != (uint32_t)USB_DEVICE_MODE) && (ms < 50U)); 80c311c: 6878 ldr r0, [r7, #4] 80c311e: f001 f9b3 bl 80c4488 80c3122: 4603 mov r3, r0 80c3124: 2b00 cmp r3, #0 80c3126: d005 beq.n 80c3134 80c3128: 68fb ldr r3, [r7, #12] 80c312a: 2b31 cmp r3, #49 ; 0x31 80c312c: d9f0 bls.n 80c3110 80c312e: e001 b.n 80c3134 } else { return HAL_ERROR; 80c3130: 2301 movs r3, #1 80c3132: e005 b.n 80c3140 } if (ms == 50U) 80c3134: 68fb ldr r3, [r7, #12] 80c3136: 2b32 cmp r3, #50 ; 0x32 80c3138: d101 bne.n 80c313e { return HAL_ERROR; 80c313a: 2301 movs r3, #1 80c313c: e000 b.n 80c3140 } return HAL_OK; 80c313e: 2300 movs r3, #0 } 80c3140: 4618 mov r0, r3 80c3142: 3710 adds r7, #16 80c3144: 46bd mov sp, r7 80c3146: bd80 pop {r7, pc} 080c3148 : * @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) { 80c3148: b084 sub sp, #16 80c314a: b580 push {r7, lr} 80c314c: b086 sub sp, #24 80c314e: af00 add r7, sp, #0 80c3150: 6078 str r0, [r7, #4] 80c3152: f107 0024 add.w r0, r7, #36 ; 0x24 80c3156: e880 000e stmia.w r0, {r1, r2, r3} HAL_StatusTypeDef ret = HAL_OK; 80c315a: 2300 movs r3, #0 80c315c: 75fb strb r3, [r7, #23] uint32_t USBx_BASE = (uint32_t)USBx; 80c315e: 687b ldr r3, [r7, #4] 80c3160: 60fb str r3, [r7, #12] uint32_t i; for (i = 0U; i < 15U; i++) 80c3162: 2300 movs r3, #0 80c3164: 613b str r3, [r7, #16] 80c3166: e009 b.n 80c317c { USBx->DIEPTXF[i] = 0U; 80c3168: 687a ldr r2, [r7, #4] 80c316a: 693b ldr r3, [r7, #16] 80c316c: 3340 adds r3, #64 ; 0x40 80c316e: 009b lsls r3, r3, #2 80c3170: 4413 add r3, r2 80c3172: 2200 movs r2, #0 80c3174: 605a str r2, [r3, #4] for (i = 0U; i < 15U; i++) 80c3176: 693b ldr r3, [r7, #16] 80c3178: 3301 adds r3, #1 80c317a: 613b str r3, [r7, #16] 80c317c: 693b ldr r3, [r7, #16] 80c317e: 2b0e cmp r3, #14 80c3180: d9f2 bls.n 80c3168 } /* VBUS Sensing setup */ if (cfg.vbus_sensing_enable == 0U) 80c3182: 6cfb ldr r3, [r7, #76] ; 0x4c 80c3184: 2b00 cmp r3, #0 80c3186: d11d bne.n 80c31c4 { USBx_DEVICE->DCTL |= USB_OTG_DCTL_SDIS; 80c3188: 68fb ldr r3, [r7, #12] 80c318a: f503 6300 add.w r3, r3, #2048 ; 0x800 80c318e: 461a mov r2, r3 80c3190: 68fb ldr r3, [r7, #12] 80c3192: f503 6300 add.w r3, r3, #2048 ; 0x800 80c3196: 685b ldr r3, [r3, #4] 80c3198: f043 0302 orr.w r3, r3, #2 80c319c: 6053 str r3, [r2, #4] /* Deactivate VBUS Sensing B */ USBx->GCCFG &= ~USB_OTG_GCCFG_VBDEN; 80c319e: 687b ldr r3, [r7, #4] 80c31a0: 6b9b ldr r3, [r3, #56] ; 0x38 80c31a2: f423 1200 bic.w r2, r3, #2097152 ; 0x200000 80c31a6: 687b ldr r3, [r7, #4] 80c31a8: 639a str r2, [r3, #56] ; 0x38 /* B-peripheral session valid override enable */ USBx->GOTGCTL |= USB_OTG_GOTGCTL_BVALOEN; 80c31aa: 687b ldr r3, [r7, #4] 80c31ac: 681b ldr r3, [r3, #0] 80c31ae: f043 0240 orr.w r2, r3, #64 ; 0x40 80c31b2: 687b ldr r3, [r7, #4] 80c31b4: 601a str r2, [r3, #0] USBx->GOTGCTL |= USB_OTG_GOTGCTL_BVALOVAL; 80c31b6: 687b ldr r3, [r7, #4] 80c31b8: 681b ldr r3, [r3, #0] 80c31ba: f043 0280 orr.w r2, r3, #128 ; 0x80 80c31be: 687b ldr r3, [r7, #4] 80c31c0: 601a str r2, [r3, #0] 80c31c2: e005 b.n 80c31d0 } else { /* Enable HW VBUS sensing */ USBx->GCCFG |= USB_OTG_GCCFG_VBDEN; 80c31c4: 687b ldr r3, [r7, #4] 80c31c6: 6b9b ldr r3, [r3, #56] ; 0x38 80c31c8: f443 1200 orr.w r2, r3, #2097152 ; 0x200000 80c31cc: 687b ldr r3, [r7, #4] 80c31ce: 639a str r2, [r3, #56] ; 0x38 } /* Restart the Phy Clock */ USBx_PCGCCTL = 0U; 80c31d0: 68fb ldr r3, [r7, #12] 80c31d2: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c31d6: 461a mov r2, r3 80c31d8: 2300 movs r3, #0 80c31da: 6013 str r3, [r2, #0] /* Device mode configuration */ USBx_DEVICE->DCFG |= DCFG_FRAME_INTERVAL_80; 80c31dc: 68fb ldr r3, [r7, #12] 80c31de: f503 6300 add.w r3, r3, #2048 ; 0x800 80c31e2: 461a mov r2, r3 80c31e4: 68fb ldr r3, [r7, #12] 80c31e6: f503 6300 add.w r3, r3, #2048 ; 0x800 80c31ea: 681b ldr r3, [r3, #0] 80c31ec: 6013 str r3, [r2, #0] if (cfg.phy_itface == USB_OTG_ULPI_PHY) 80c31ee: 6bbb ldr r3, [r7, #56] ; 0x38 80c31f0: 2b01 cmp r3, #1 80c31f2: d10c bne.n 80c320e { if (cfg.speed == USBD_HS_SPEED) 80c31f4: 6afb ldr r3, [r7, #44] ; 0x2c 80c31f6: 2b00 cmp r3, #0 80c31f8: d104 bne.n 80c3204 { /* Set Core speed to High speed mode */ (void)USB_SetDevSpeed(USBx, USB_OTG_SPEED_HIGH); 80c31fa: 2100 movs r1, #0 80c31fc: 6878 ldr r0, [r7, #4] 80c31fe: f000 f963 bl 80c34c8 80c3202: e008 b.n 80c3216 } else { /* Set Core speed to Full speed mode */ (void)USB_SetDevSpeed(USBx, USB_OTG_SPEED_HIGH_IN_FULL); 80c3204: 2101 movs r1, #1 80c3206: 6878 ldr r0, [r7, #4] 80c3208: f000 f95e bl 80c34c8 80c320c: e003 b.n 80c3216 } #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); 80c320e: 2103 movs r1, #3 80c3210: 6878 ldr r0, [r7, #4] 80c3212: f000 f959 bl 80c34c8 } /* Flush the FIFOs */ if (USB_FlushTxFifo(USBx, 0x10U) != HAL_OK) /* all Tx FIFOs */ 80c3216: 2110 movs r1, #16 80c3218: 6878 ldr r0, [r7, #4] 80c321a: f000 f8f5 bl 80c3408 80c321e: 4603 mov r3, r0 80c3220: 2b00 cmp r3, #0 80c3222: d001 beq.n 80c3228 { ret = HAL_ERROR; 80c3224: 2301 movs r3, #1 80c3226: 75fb strb r3, [r7, #23] } if (USB_FlushRxFifo(USBx) != HAL_OK) 80c3228: 6878 ldr r0, [r7, #4] 80c322a: f000 f91f bl 80c346c 80c322e: 4603 mov r3, r0 80c3230: 2b00 cmp r3, #0 80c3232: d001 beq.n 80c3238 { ret = HAL_ERROR; 80c3234: 2301 movs r3, #1 80c3236: 75fb strb r3, [r7, #23] } /* Clear all pending Device Interrupts */ USBx_DEVICE->DIEPMSK = 0U; 80c3238: 68fb ldr r3, [r7, #12] 80c323a: f503 6300 add.w r3, r3, #2048 ; 0x800 80c323e: 461a mov r2, r3 80c3240: 2300 movs r3, #0 80c3242: 6113 str r3, [r2, #16] USBx_DEVICE->DOEPMSK = 0U; 80c3244: 68fb ldr r3, [r7, #12] 80c3246: f503 6300 add.w r3, r3, #2048 ; 0x800 80c324a: 461a mov r2, r3 80c324c: 2300 movs r3, #0 80c324e: 6153 str r3, [r2, #20] USBx_DEVICE->DAINTMSK = 0U; 80c3250: 68fb ldr r3, [r7, #12] 80c3252: f503 6300 add.w r3, r3, #2048 ; 0x800 80c3256: 461a mov r2, r3 80c3258: 2300 movs r3, #0 80c325a: 61d3 str r3, [r2, #28] for (i = 0U; i < cfg.dev_endpoints; i++) 80c325c: 2300 movs r3, #0 80c325e: 613b str r3, [r7, #16] 80c3260: e043 b.n 80c32ea { if ((USBx_INEP(i)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA) 80c3262: 693b ldr r3, [r7, #16] 80c3264: 015a lsls r2, r3, #5 80c3266: 68fb ldr r3, [r7, #12] 80c3268: 4413 add r3, r2 80c326a: f503 6310 add.w r3, r3, #2304 ; 0x900 80c326e: 681b ldr r3, [r3, #0] 80c3270: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80c3274: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80c3278: d118 bne.n 80c32ac { if (i == 0U) 80c327a: 693b ldr r3, [r7, #16] 80c327c: 2b00 cmp r3, #0 80c327e: d10a bne.n 80c3296 { USBx_INEP(i)->DIEPCTL = USB_OTG_DIEPCTL_SNAK; 80c3280: 693b ldr r3, [r7, #16] 80c3282: 015a lsls r2, r3, #5 80c3284: 68fb ldr r3, [r7, #12] 80c3286: 4413 add r3, r2 80c3288: f503 6310 add.w r3, r3, #2304 ; 0x900 80c328c: 461a mov r2, r3 80c328e: f04f 6300 mov.w r3, #134217728 ; 0x8000000 80c3292: 6013 str r3, [r2, #0] 80c3294: e013 b.n 80c32be } else { USBx_INEP(i)->DIEPCTL = USB_OTG_DIEPCTL_EPDIS | USB_OTG_DIEPCTL_SNAK; 80c3296: 693b ldr r3, [r7, #16] 80c3298: 015a lsls r2, r3, #5 80c329a: 68fb ldr r3, [r7, #12] 80c329c: 4413 add r3, r2 80c329e: f503 6310 add.w r3, r3, #2304 ; 0x900 80c32a2: 461a mov r2, r3 80c32a4: f04f 4390 mov.w r3, #1207959552 ; 0x48000000 80c32a8: 6013 str r3, [r2, #0] 80c32aa: e008 b.n 80c32be } } else { USBx_INEP(i)->DIEPCTL = 0U; 80c32ac: 693b ldr r3, [r7, #16] 80c32ae: 015a lsls r2, r3, #5 80c32b0: 68fb ldr r3, [r7, #12] 80c32b2: 4413 add r3, r2 80c32b4: f503 6310 add.w r3, r3, #2304 ; 0x900 80c32b8: 461a mov r2, r3 80c32ba: 2300 movs r3, #0 80c32bc: 6013 str r3, [r2, #0] } USBx_INEP(i)->DIEPTSIZ = 0U; 80c32be: 693b ldr r3, [r7, #16] 80c32c0: 015a lsls r2, r3, #5 80c32c2: 68fb ldr r3, [r7, #12] 80c32c4: 4413 add r3, r2 80c32c6: f503 6310 add.w r3, r3, #2304 ; 0x900 80c32ca: 461a mov r2, r3 80c32cc: 2300 movs r3, #0 80c32ce: 6113 str r3, [r2, #16] USBx_INEP(i)->DIEPINT = 0xFB7FU; 80c32d0: 693b ldr r3, [r7, #16] 80c32d2: 015a lsls r2, r3, #5 80c32d4: 68fb ldr r3, [r7, #12] 80c32d6: 4413 add r3, r2 80c32d8: f503 6310 add.w r3, r3, #2304 ; 0x900 80c32dc: 461a mov r2, r3 80c32de: f64f 337f movw r3, #64383 ; 0xfb7f 80c32e2: 6093 str r3, [r2, #8] for (i = 0U; i < cfg.dev_endpoints; i++) 80c32e4: 693b ldr r3, [r7, #16] 80c32e6: 3301 adds r3, #1 80c32e8: 613b str r3, [r7, #16] 80c32ea: 6a7a ldr r2, [r7, #36] ; 0x24 80c32ec: 693b ldr r3, [r7, #16] 80c32ee: 429a cmp r2, r3 80c32f0: d8b7 bhi.n 80c3262 } for (i = 0U; i < cfg.dev_endpoints; i++) 80c32f2: 2300 movs r3, #0 80c32f4: 613b str r3, [r7, #16] 80c32f6: e043 b.n 80c3380 { if ((USBx_OUTEP(i)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 80c32f8: 693b ldr r3, [r7, #16] 80c32fa: 015a lsls r2, r3, #5 80c32fc: 68fb ldr r3, [r7, #12] 80c32fe: 4413 add r3, r2 80c3300: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3304: 681b ldr r3, [r3, #0] 80c3306: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80c330a: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80c330e: d118 bne.n 80c3342 { if (i == 0U) 80c3310: 693b ldr r3, [r7, #16] 80c3312: 2b00 cmp r3, #0 80c3314: d10a bne.n 80c332c { USBx_OUTEP(i)->DOEPCTL = USB_OTG_DOEPCTL_SNAK; 80c3316: 693b ldr r3, [r7, #16] 80c3318: 015a lsls r2, r3, #5 80c331a: 68fb ldr r3, [r7, #12] 80c331c: 4413 add r3, r2 80c331e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3322: 461a mov r2, r3 80c3324: f04f 6300 mov.w r3, #134217728 ; 0x8000000 80c3328: 6013 str r3, [r2, #0] 80c332a: e013 b.n 80c3354 } else { USBx_OUTEP(i)->DOEPCTL = USB_OTG_DOEPCTL_EPDIS | USB_OTG_DOEPCTL_SNAK; 80c332c: 693b ldr r3, [r7, #16] 80c332e: 015a lsls r2, r3, #5 80c3330: 68fb ldr r3, [r7, #12] 80c3332: 4413 add r3, r2 80c3334: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3338: 461a mov r2, r3 80c333a: f04f 4390 mov.w r3, #1207959552 ; 0x48000000 80c333e: 6013 str r3, [r2, #0] 80c3340: e008 b.n 80c3354 } } else { USBx_OUTEP(i)->DOEPCTL = 0U; 80c3342: 693b ldr r3, [r7, #16] 80c3344: 015a lsls r2, r3, #5 80c3346: 68fb ldr r3, [r7, #12] 80c3348: 4413 add r3, r2 80c334a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c334e: 461a mov r2, r3 80c3350: 2300 movs r3, #0 80c3352: 6013 str r3, [r2, #0] } USBx_OUTEP(i)->DOEPTSIZ = 0U; 80c3354: 693b ldr r3, [r7, #16] 80c3356: 015a lsls r2, r3, #5 80c3358: 68fb ldr r3, [r7, #12] 80c335a: 4413 add r3, r2 80c335c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3360: 461a mov r2, r3 80c3362: 2300 movs r3, #0 80c3364: 6113 str r3, [r2, #16] USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 80c3366: 693b ldr r3, [r7, #16] 80c3368: 015a lsls r2, r3, #5 80c336a: 68fb ldr r3, [r7, #12] 80c336c: 4413 add r3, r2 80c336e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3372: 461a mov r2, r3 80c3374: f64f 337f movw r3, #64383 ; 0xfb7f 80c3378: 6093 str r3, [r2, #8] for (i = 0U; i < cfg.dev_endpoints; i++) 80c337a: 693b ldr r3, [r7, #16] 80c337c: 3301 adds r3, #1 80c337e: 613b str r3, [r7, #16] 80c3380: 6a7a ldr r2, [r7, #36] ; 0x24 80c3382: 693b ldr r3, [r7, #16] 80c3384: 429a cmp r2, r3 80c3386: d8b7 bhi.n 80c32f8 } USBx_DEVICE->DIEPMSK &= ~(USB_OTG_DIEPMSK_TXFURM); 80c3388: 68fb ldr r3, [r7, #12] 80c338a: f503 6300 add.w r3, r3, #2048 ; 0x800 80c338e: 461a mov r2, r3 80c3390: 68fb ldr r3, [r7, #12] 80c3392: f503 6300 add.w r3, r3, #2048 ; 0x800 80c3396: 691b ldr r3, [r3, #16] 80c3398: f423 7380 bic.w r3, r3, #256 ; 0x100 80c339c: 6113 str r3, [r2, #16] /* Disable all interrupts. */ USBx->GINTMSK = 0U; 80c339e: 687b ldr r3, [r7, #4] 80c33a0: 2200 movs r2, #0 80c33a2: 619a str r2, [r3, #24] /* Clear any pending interrupts */ USBx->GINTSTS = 0xBFFFFFFFU; 80c33a4: 687b ldr r3, [r7, #4] 80c33a6: f06f 4280 mvn.w r2, #1073741824 ; 0x40000000 80c33aa: 615a str r2, [r3, #20] /* Enable the common interrupts */ if (cfg.dma_enable == 0U) 80c33ac: 6b3b ldr r3, [r7, #48] ; 0x30 80c33ae: 2b00 cmp r3, #0 80c33b0: d105 bne.n 80c33be { USBx->GINTMSK |= USB_OTG_GINTMSK_RXFLVLM; 80c33b2: 687b ldr r3, [r7, #4] 80c33b4: 699b ldr r3, [r3, #24] 80c33b6: f043 0210 orr.w r2, r3, #16 80c33ba: 687b ldr r3, [r7, #4] 80c33bc: 619a str r2, [r3, #24] } /* Enable interrupts matching to the Device mode ONLY */ USBx->GINTMSK |= USB_OTG_GINTMSK_USBSUSPM | USB_OTG_GINTMSK_USBRST | 80c33be: 687b ldr r3, [r7, #4] 80c33c0: 699a ldr r2, [r3, #24] 80c33c2: 4b0f ldr r3, [pc, #60] ; (80c3400 ) 80c33c4: 4313 orrs r3, r2 80c33c6: 687a ldr r2, [r7, #4] 80c33c8: 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) 80c33ca: 6bfb ldr r3, [r7, #60] ; 0x3c 80c33cc: 2b00 cmp r3, #0 80c33ce: d005 beq.n 80c33dc { USBx->GINTMSK |= USB_OTG_GINTMSK_SOFM; 80c33d0: 687b ldr r3, [r7, #4] 80c33d2: 699b ldr r3, [r3, #24] 80c33d4: f043 0208 orr.w r2, r3, #8 80c33d8: 687b ldr r3, [r7, #4] 80c33da: 619a str r2, [r3, #24] } if (cfg.vbus_sensing_enable == 1U) 80c33dc: 6cfb ldr r3, [r7, #76] ; 0x4c 80c33de: 2b01 cmp r3, #1 80c33e0: d105 bne.n 80c33ee { USBx->GINTMSK |= (USB_OTG_GINTMSK_SRQIM | USB_OTG_GINTMSK_OTGINT); 80c33e2: 687b ldr r3, [r7, #4] 80c33e4: 699a ldr r2, [r3, #24] 80c33e6: 4b07 ldr r3, [pc, #28] ; (80c3404 ) 80c33e8: 4313 orrs r3, r2 80c33ea: 687a ldr r2, [r7, #4] 80c33ec: 6193 str r3, [r2, #24] } return ret; 80c33ee: 7dfb ldrb r3, [r7, #23] } 80c33f0: 4618 mov r0, r3 80c33f2: 3718 adds r7, #24 80c33f4: 46bd mov sp, r7 80c33f6: e8bd 4080 ldmia.w sp!, {r7, lr} 80c33fa: b004 add sp, #16 80c33fc: 4770 bx lr 80c33fe: bf00 nop 80c3400: 803c3800 .word 0x803c3800 80c3404: 40000004 .word 0x40000004 080c3408 : * 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) { 80c3408: b480 push {r7} 80c340a: b085 sub sp, #20 80c340c: af00 add r7, sp, #0 80c340e: 6078 str r0, [r7, #4] 80c3410: 6039 str r1, [r7, #0] __IO uint32_t count = 0U; 80c3412: 2300 movs r3, #0 80c3414: 60fb str r3, [r7, #12] /* Wait for AHB master IDLE state. */ do { if (++count > 200000U) 80c3416: 68fb ldr r3, [r7, #12] 80c3418: 3301 adds r3, #1 80c341a: 60fb str r3, [r7, #12] 80c341c: 4a12 ldr r2, [pc, #72] ; (80c3468 ) 80c341e: 4293 cmp r3, r2 80c3420: d901 bls.n 80c3426 { return HAL_TIMEOUT; 80c3422: 2303 movs r3, #3 80c3424: e01a b.n 80c345c } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U); 80c3426: 687b ldr r3, [r7, #4] 80c3428: 691b ldr r3, [r3, #16] 80c342a: 2b00 cmp r3, #0 80c342c: daf3 bge.n 80c3416 /* Flush TX Fifo */ count = 0U; 80c342e: 2300 movs r3, #0 80c3430: 60fb str r3, [r7, #12] USBx->GRSTCTL = (USB_OTG_GRSTCTL_TXFFLSH | (num << 6)); 80c3432: 683b ldr r3, [r7, #0] 80c3434: 019b lsls r3, r3, #6 80c3436: f043 0220 orr.w r2, r3, #32 80c343a: 687b ldr r3, [r7, #4] 80c343c: 611a str r2, [r3, #16] do { if (++count > 200000U) 80c343e: 68fb ldr r3, [r7, #12] 80c3440: 3301 adds r3, #1 80c3442: 60fb str r3, [r7, #12] 80c3444: 4a08 ldr r2, [pc, #32] ; (80c3468 ) 80c3446: 4293 cmp r3, r2 80c3448: d901 bls.n 80c344e { return HAL_TIMEOUT; 80c344a: 2303 movs r3, #3 80c344c: e006 b.n 80c345c } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_TXFFLSH) == USB_OTG_GRSTCTL_TXFFLSH); 80c344e: 687b ldr r3, [r7, #4] 80c3450: 691b ldr r3, [r3, #16] 80c3452: f003 0320 and.w r3, r3, #32 80c3456: 2b20 cmp r3, #32 80c3458: d0f1 beq.n 80c343e return HAL_OK; 80c345a: 2300 movs r3, #0 } 80c345c: 4618 mov r0, r3 80c345e: 3714 adds r7, #20 80c3460: 46bd mov sp, r7 80c3462: f85d 7b04 ldr.w r7, [sp], #4 80c3466: 4770 bx lr 80c3468: 00030d40 .word 0x00030d40 080c346c : * @brief USB_FlushRxFifo Flush Rx FIFO * @param USBx Selected device * @retval HAL status */ HAL_StatusTypeDef USB_FlushRxFifo(USB_OTG_GlobalTypeDef *USBx) { 80c346c: b480 push {r7} 80c346e: b085 sub sp, #20 80c3470: af00 add r7, sp, #0 80c3472: 6078 str r0, [r7, #4] __IO uint32_t count = 0U; 80c3474: 2300 movs r3, #0 80c3476: 60fb str r3, [r7, #12] /* Wait for AHB master IDLE state. */ do { if (++count > 200000U) 80c3478: 68fb ldr r3, [r7, #12] 80c347a: 3301 adds r3, #1 80c347c: 60fb str r3, [r7, #12] 80c347e: 4a11 ldr r2, [pc, #68] ; (80c34c4 ) 80c3480: 4293 cmp r3, r2 80c3482: d901 bls.n 80c3488 { return HAL_TIMEOUT; 80c3484: 2303 movs r3, #3 80c3486: e017 b.n 80c34b8 } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U); 80c3488: 687b ldr r3, [r7, #4] 80c348a: 691b ldr r3, [r3, #16] 80c348c: 2b00 cmp r3, #0 80c348e: daf3 bge.n 80c3478 /* Flush RX Fifo */ count = 0U; 80c3490: 2300 movs r3, #0 80c3492: 60fb str r3, [r7, #12] USBx->GRSTCTL = USB_OTG_GRSTCTL_RXFFLSH; 80c3494: 687b ldr r3, [r7, #4] 80c3496: 2210 movs r2, #16 80c3498: 611a str r2, [r3, #16] do { if (++count > 200000U) 80c349a: 68fb ldr r3, [r7, #12] 80c349c: 3301 adds r3, #1 80c349e: 60fb str r3, [r7, #12] 80c34a0: 4a08 ldr r2, [pc, #32] ; (80c34c4 ) 80c34a2: 4293 cmp r3, r2 80c34a4: d901 bls.n 80c34aa { return HAL_TIMEOUT; 80c34a6: 2303 movs r3, #3 80c34a8: e006 b.n 80c34b8 } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_RXFFLSH) == USB_OTG_GRSTCTL_RXFFLSH); 80c34aa: 687b ldr r3, [r7, #4] 80c34ac: 691b ldr r3, [r3, #16] 80c34ae: f003 0310 and.w r3, r3, #16 80c34b2: 2b10 cmp r3, #16 80c34b4: d0f1 beq.n 80c349a return HAL_OK; 80c34b6: 2300 movs r3, #0 } 80c34b8: 4618 mov r0, r3 80c34ba: 3714 adds r7, #20 80c34bc: 46bd mov sp, r7 80c34be: f85d 7b04 ldr.w r7, [sp], #4 80c34c2: 4770 bx lr 80c34c4: 00030d40 .word 0x00030d40 080c34c8 : * @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) { 80c34c8: b480 push {r7} 80c34ca: b085 sub sp, #20 80c34cc: af00 add r7, sp, #0 80c34ce: 6078 str r0, [r7, #4] 80c34d0: 460b mov r3, r1 80c34d2: 70fb strb r3, [r7, #3] uint32_t USBx_BASE = (uint32_t)USBx; 80c34d4: 687b ldr r3, [r7, #4] 80c34d6: 60fb str r3, [r7, #12] USBx_DEVICE->DCFG |= speed; 80c34d8: 68fb ldr r3, [r7, #12] 80c34da: f503 6300 add.w r3, r3, #2048 ; 0x800 80c34de: 4619 mov r1, r3 80c34e0: 68fb ldr r3, [r7, #12] 80c34e2: f503 6300 add.w r3, r3, #2048 ; 0x800 80c34e6: 681a ldr r2, [r3, #0] 80c34e8: 78fb ldrb r3, [r7, #3] 80c34ea: 4313 orrs r3, r2 80c34ec: 600b str r3, [r1, #0] return HAL_OK; 80c34ee: 2300 movs r3, #0 } 80c34f0: 4618 mov r0, r3 80c34f2: 3714 adds r7, #20 80c34f4: 46bd mov sp, r7 80c34f6: f85d 7b04 ldr.w r7, [sp], #4 80c34fa: 4770 bx lr 080c34fc : * 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) { 80c34fc: b480 push {r7} 80c34fe: b087 sub sp, #28 80c3500: af00 add r7, sp, #0 80c3502: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80c3504: 687b ldr r3, [r7, #4] 80c3506: 613b str r3, [r7, #16] uint8_t speed; uint32_t DevEnumSpeed = USBx_DEVICE->DSTS & USB_OTG_DSTS_ENUMSPD; 80c3508: 693b ldr r3, [r7, #16] 80c350a: f503 6300 add.w r3, r3, #2048 ; 0x800 80c350e: 689b ldr r3, [r3, #8] 80c3510: f003 0306 and.w r3, r3, #6 80c3514: 60fb str r3, [r7, #12] if (DevEnumSpeed == DSTS_ENUMSPD_HS_PHY_30MHZ_OR_60MHZ) 80c3516: 68fb ldr r3, [r7, #12] 80c3518: 2b00 cmp r3, #0 80c351a: d102 bne.n 80c3522 { speed = USBD_HS_SPEED; 80c351c: 2300 movs r3, #0 80c351e: 75fb strb r3, [r7, #23] 80c3520: e00a b.n 80c3538 } else if ((DevEnumSpeed == DSTS_ENUMSPD_FS_PHY_30MHZ_OR_60MHZ) || 80c3522: 68fb ldr r3, [r7, #12] 80c3524: 2b02 cmp r3, #2 80c3526: d002 beq.n 80c352e 80c3528: 68fb ldr r3, [r7, #12] 80c352a: 2b06 cmp r3, #6 80c352c: d102 bne.n 80c3534 (DevEnumSpeed == DSTS_ENUMSPD_FS_PHY_48MHZ)) { speed = USBD_FS_SPEED; 80c352e: 2302 movs r3, #2 80c3530: 75fb strb r3, [r7, #23] 80c3532: e001 b.n 80c3538 } else { speed = 0xFU; 80c3534: 230f movs r3, #15 80c3536: 75fb strb r3, [r7, #23] } return speed; 80c3538: 7dfb ldrb r3, [r7, #23] } 80c353a: 4618 mov r0, r3 80c353c: 371c adds r7, #28 80c353e: 46bd mov sp, r7 80c3540: f85d 7b04 ldr.w r7, [sp], #4 80c3544: 4770 bx lr ... 080c3548 : * @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) { 80c3548: b480 push {r7} 80c354a: b085 sub sp, #20 80c354c: af00 add r7, sp, #0 80c354e: 6078 str r0, [r7, #4] 80c3550: 6039 str r1, [r7, #0] uint32_t USBx_BASE = (uint32_t)USBx; 80c3552: 687b ldr r3, [r7, #4] 80c3554: 60fb str r3, [r7, #12] uint32_t epnum = (uint32_t)ep->num; 80c3556: 683b ldr r3, [r7, #0] 80c3558: 781b ldrb r3, [r3, #0] 80c355a: 60bb str r3, [r7, #8] if (ep->is_in == 1U) 80c355c: 683b ldr r3, [r7, #0] 80c355e: 785b ldrb r3, [r3, #1] 80c3560: 2b01 cmp r3, #1 80c3562: d13a bne.n 80c35da { USBx_DEVICE->DAINTMSK |= USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK)); 80c3564: 68fb ldr r3, [r7, #12] 80c3566: f503 6300 add.w r3, r3, #2048 ; 0x800 80c356a: 4618 mov r0, r3 80c356c: 68fb ldr r3, [r7, #12] 80c356e: f503 6300 add.w r3, r3, #2048 ; 0x800 80c3572: 69da ldr r2, [r3, #28] 80c3574: 683b ldr r3, [r7, #0] 80c3576: 781b ldrb r3, [r3, #0] 80c3578: f003 030f and.w r3, r3, #15 80c357c: 2101 movs r1, #1 80c357e: fa01 f303 lsl.w r3, r1, r3 80c3582: b29b uxth r3, r3 80c3584: 4313 orrs r3, r2 80c3586: 61c3 str r3, [r0, #28] if ((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_USBAEP) == 0U) 80c3588: 68bb ldr r3, [r7, #8] 80c358a: 015a lsls r2, r3, #5 80c358c: 68fb ldr r3, [r7, #12] 80c358e: 4413 add r3, r2 80c3590: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3594: 681b ldr r3, [r3, #0] 80c3596: f403 4300 and.w r3, r3, #32768 ; 0x8000 80c359a: 2b00 cmp r3, #0 80c359c: d154 bne.n 80c3648 { USBx_INEP(epnum)->DIEPCTL |= (ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ) | 80c359e: 68bb ldr r3, [r7, #8] 80c35a0: 015a lsls r2, r3, #5 80c35a2: 68fb ldr r3, [r7, #12] 80c35a4: 4413 add r3, r2 80c35a6: f503 6310 add.w r3, r3, #2304 ; 0x900 80c35aa: 4618 mov r0, r3 80c35ac: 68bb ldr r3, [r7, #8] 80c35ae: 015a lsls r2, r3, #5 80c35b0: 68fb ldr r3, [r7, #12] 80c35b2: 4413 add r3, r2 80c35b4: f503 6310 add.w r3, r3, #2304 ; 0x900 80c35b8: 681a ldr r2, [r3, #0] 80c35ba: 683b ldr r3, [r7, #0] 80c35bc: 689b ldr r3, [r3, #8] 80c35be: f3c3 010a ubfx r1, r3, #0, #11 ((uint32_t)ep->type << 18) | (epnum << 22) | 80c35c2: 683b ldr r3, [r7, #0] 80c35c4: 78db ldrb r3, [r3, #3] 80c35c6: 049b lsls r3, r3, #18 USBx_INEP(epnum)->DIEPCTL |= (ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ) | 80c35c8: 4319 orrs r1, r3 ((uint32_t)ep->type << 18) | (epnum << 22) | 80c35ca: 68bb ldr r3, [r7, #8] 80c35cc: 059b lsls r3, r3, #22 80c35ce: 430b orrs r3, r1 USBx_INEP(epnum)->DIEPCTL |= (ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ) | 80c35d0: 431a orrs r2, r3 80c35d2: 4b21 ldr r3, [pc, #132] ; (80c3658 ) 80c35d4: 4313 orrs r3, r2 80c35d6: 6003 str r3, [r0, #0] 80c35d8: e036 b.n 80c3648 USB_OTG_DIEPCTL_USBAEP; } } else { USBx_DEVICE->DAINTMSK |= USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) << 16); 80c35da: 68fb ldr r3, [r7, #12] 80c35dc: f503 6300 add.w r3, r3, #2048 ; 0x800 80c35e0: 4618 mov r0, r3 80c35e2: 68fb ldr r3, [r7, #12] 80c35e4: f503 6300 add.w r3, r3, #2048 ; 0x800 80c35e8: 69da ldr r2, [r3, #28] 80c35ea: 683b ldr r3, [r7, #0] 80c35ec: 781b ldrb r3, [r3, #0] 80c35ee: f003 030f and.w r3, r3, #15 80c35f2: 2101 movs r1, #1 80c35f4: fa01 f303 lsl.w r3, r1, r3 80c35f8: 041b lsls r3, r3, #16 80c35fa: 4313 orrs r3, r2 80c35fc: 61c3 str r3, [r0, #28] if (((USBx_OUTEP(epnum)->DOEPCTL) & USB_OTG_DOEPCTL_USBAEP) == 0U) 80c35fe: 68bb ldr r3, [r7, #8] 80c3600: 015a lsls r2, r3, #5 80c3602: 68fb ldr r3, [r7, #12] 80c3604: 4413 add r3, r2 80c3606: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c360a: 681b ldr r3, [r3, #0] 80c360c: f403 4300 and.w r3, r3, #32768 ; 0x8000 80c3610: 2b00 cmp r3, #0 80c3612: d119 bne.n 80c3648 { USBx_OUTEP(epnum)->DOEPCTL |= (ep->maxpacket & USB_OTG_DOEPCTL_MPSIZ) | 80c3614: 68bb ldr r3, [r7, #8] 80c3616: 015a lsls r2, r3, #5 80c3618: 68fb ldr r3, [r7, #12] 80c361a: 4413 add r3, r2 80c361c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3620: 4618 mov r0, r3 80c3622: 68bb ldr r3, [r7, #8] 80c3624: 015a lsls r2, r3, #5 80c3626: 68fb ldr r3, [r7, #12] 80c3628: 4413 add r3, r2 80c362a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c362e: 681a ldr r2, [r3, #0] 80c3630: 683b ldr r3, [r7, #0] 80c3632: 689b ldr r3, [r3, #8] 80c3634: f3c3 010a ubfx r1, r3, #0, #11 ((uint32_t)ep->type << 18) | 80c3638: 683b ldr r3, [r7, #0] 80c363a: 78db ldrb r3, [r3, #3] 80c363c: 049b lsls r3, r3, #18 USBx_OUTEP(epnum)->DOEPCTL |= (ep->maxpacket & USB_OTG_DOEPCTL_MPSIZ) | 80c363e: 430b orrs r3, r1 80c3640: 431a orrs r2, r3 80c3642: 4b05 ldr r3, [pc, #20] ; (80c3658 ) 80c3644: 4313 orrs r3, r2 80c3646: 6003 str r3, [r0, #0] USB_OTG_DIEPCTL_SD0PID_SEVNFRM | USB_OTG_DOEPCTL_USBAEP; } } return HAL_OK; 80c3648: 2300 movs r3, #0 } 80c364a: 4618 mov r0, r3 80c364c: 3714 adds r7, #20 80c364e: 46bd mov sp, r7 80c3650: f85d 7b04 ldr.w r7, [sp], #4 80c3654: 4770 bx lr 80c3656: bf00 nop 80c3658: 10008000 .word 0x10008000 080c365c : * @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) { 80c365c: b480 push {r7} 80c365e: b085 sub sp, #20 80c3660: af00 add r7, sp, #0 80c3662: 6078 str r0, [r7, #4] 80c3664: 6039 str r1, [r7, #0] uint32_t USBx_BASE = (uint32_t)USBx; 80c3666: 687b ldr r3, [r7, #4] 80c3668: 60fb str r3, [r7, #12] uint32_t epnum = (uint32_t)ep->num; 80c366a: 683b ldr r3, [r7, #0] 80c366c: 781b ldrb r3, [r3, #0] 80c366e: 60bb str r3, [r7, #8] /* Read DEPCTLn register */ if (ep->is_in == 1U) 80c3670: 683b ldr r3, [r7, #0] 80c3672: 785b ldrb r3, [r3, #1] 80c3674: 2b01 cmp r3, #1 80c3676: d165 bne.n 80c3744 { if ((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA) 80c3678: 68bb ldr r3, [r7, #8] 80c367a: 015a lsls r2, r3, #5 80c367c: 68fb ldr r3, [r7, #12] 80c367e: 4413 add r3, r2 80c3680: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3684: 681b ldr r3, [r3, #0] 80c3686: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80c368a: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80c368e: d121 bne.n 80c36d4 { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SNAK; 80c3690: 68bb ldr r3, [r7, #8] 80c3692: 015a lsls r2, r3, #5 80c3694: 68fb ldr r3, [r7, #12] 80c3696: 4413 add r3, r2 80c3698: f503 6310 add.w r3, r3, #2304 ; 0x900 80c369c: 4619 mov r1, r3 80c369e: 68bb ldr r3, [r7, #8] 80c36a0: 015a lsls r2, r3, #5 80c36a2: 68fb ldr r3, [r7, #12] 80c36a4: 4413 add r3, r2 80c36a6: f503 6310 add.w r3, r3, #2304 ; 0x900 80c36aa: 681b ldr r3, [r3, #0] 80c36ac: f043 6300 orr.w r3, r3, #134217728 ; 0x8000000 80c36b0: 600b str r3, [r1, #0] USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_EPDIS; 80c36b2: 68bb ldr r3, [r7, #8] 80c36b4: 015a lsls r2, r3, #5 80c36b6: 68fb ldr r3, [r7, #12] 80c36b8: 4413 add r3, r2 80c36ba: f503 6310 add.w r3, r3, #2304 ; 0x900 80c36be: 4619 mov r1, r3 80c36c0: 68bb ldr r3, [r7, #8] 80c36c2: 015a lsls r2, r3, #5 80c36c4: 68fb ldr r3, [r7, #12] 80c36c6: 4413 add r3, r2 80c36c8: f503 6310 add.w r3, r3, #2304 ; 0x900 80c36cc: 681b ldr r3, [r3, #0] 80c36ce: f043 4380 orr.w r3, r3, #1073741824 ; 0x40000000 80c36d2: 600b str r3, [r1, #0] } USBx_DEVICE->DEACHMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 80c36d4: 68fb ldr r3, [r7, #12] 80c36d6: f503 6300 add.w r3, r3, #2048 ; 0x800 80c36da: 4618 mov r0, r3 80c36dc: 68fb ldr r3, [r7, #12] 80c36de: f503 6300 add.w r3, r3, #2048 ; 0x800 80c36e2: 6bda ldr r2, [r3, #60] ; 0x3c 80c36e4: 683b ldr r3, [r7, #0] 80c36e6: 781b ldrb r3, [r3, #0] 80c36e8: f003 030f and.w r3, r3, #15 80c36ec: 2101 movs r1, #1 80c36ee: fa01 f303 lsl.w r3, r1, r3 80c36f2: b29b uxth r3, r3 80c36f4: 43db mvns r3, r3 80c36f6: 4013 ands r3, r2 80c36f8: 63c3 str r3, [r0, #60] ; 0x3c USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 80c36fa: 68fb ldr r3, [r7, #12] 80c36fc: f503 6300 add.w r3, r3, #2048 ; 0x800 80c3700: 4618 mov r0, r3 80c3702: 68fb ldr r3, [r7, #12] 80c3704: f503 6300 add.w r3, r3, #2048 ; 0x800 80c3708: 69da ldr r2, [r3, #28] 80c370a: 683b ldr r3, [r7, #0] 80c370c: 781b ldrb r3, [r3, #0] 80c370e: f003 030f and.w r3, r3, #15 80c3712: 2101 movs r1, #1 80c3714: fa01 f303 lsl.w r3, r1, r3 80c3718: b29b uxth r3, r3 80c371a: 43db mvns r3, r3 80c371c: 4013 ands r3, r2 80c371e: 61c3 str r3, [r0, #28] USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_USBAEP | 80c3720: 68bb ldr r3, [r7, #8] 80c3722: 015a lsls r2, r3, #5 80c3724: 68fb ldr r3, [r7, #12] 80c3726: 4413 add r3, r2 80c3728: f503 6310 add.w r3, r3, #2304 ; 0x900 80c372c: 4619 mov r1, r3 80c372e: 68bb ldr r3, [r7, #8] 80c3730: 015a lsls r2, r3, #5 80c3732: 68fb ldr r3, [r7, #12] 80c3734: 4413 add r3, r2 80c3736: f503 6310 add.w r3, r3, #2304 ; 0x900 80c373a: 681a ldr r2, [r3, #0] 80c373c: 4b37 ldr r3, [pc, #220] ; (80c381c ) 80c373e: 4013 ands r3, r2 80c3740: 600b str r3, [r1, #0] 80c3742: e064 b.n 80c380e USB_OTG_DIEPCTL_SD0PID_SEVNFRM | USB_OTG_DIEPCTL_EPTYP); } else { if ((USBx_OUTEP(epnum)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 80c3744: 68bb ldr r3, [r7, #8] 80c3746: 015a lsls r2, r3, #5 80c3748: 68fb ldr r3, [r7, #12] 80c374a: 4413 add r3, r2 80c374c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3750: 681b ldr r3, [r3, #0] 80c3752: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80c3756: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80c375a: d121 bne.n 80c37a0 { USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SNAK; 80c375c: 68bb ldr r3, [r7, #8] 80c375e: 015a lsls r2, r3, #5 80c3760: 68fb ldr r3, [r7, #12] 80c3762: 4413 add r3, r2 80c3764: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3768: 4619 mov r1, r3 80c376a: 68bb ldr r3, [r7, #8] 80c376c: 015a lsls r2, r3, #5 80c376e: 68fb ldr r3, [r7, #12] 80c3770: 4413 add r3, r2 80c3772: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3776: 681b ldr r3, [r3, #0] 80c3778: f043 6300 orr.w r3, r3, #134217728 ; 0x8000000 80c377c: 600b str r3, [r1, #0] USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_EPDIS; 80c377e: 68bb ldr r3, [r7, #8] 80c3780: 015a lsls r2, r3, #5 80c3782: 68fb ldr r3, [r7, #12] 80c3784: 4413 add r3, r2 80c3786: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c378a: 4619 mov r1, r3 80c378c: 68bb ldr r3, [r7, #8] 80c378e: 015a lsls r2, r3, #5 80c3790: 68fb ldr r3, [r7, #12] 80c3792: 4413 add r3, r2 80c3794: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3798: 681b ldr r3, [r3, #0] 80c379a: f043 4380 orr.w r3, r3, #1073741824 ; 0x40000000 80c379e: 600b str r3, [r1, #0] } USBx_DEVICE->DEACHMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) << 16)); 80c37a0: 68fb ldr r3, [r7, #12] 80c37a2: f503 6300 add.w r3, r3, #2048 ; 0x800 80c37a6: 4618 mov r0, r3 80c37a8: 68fb ldr r3, [r7, #12] 80c37aa: f503 6300 add.w r3, r3, #2048 ; 0x800 80c37ae: 6bda ldr r2, [r3, #60] ; 0x3c 80c37b0: 683b ldr r3, [r7, #0] 80c37b2: 781b ldrb r3, [r3, #0] 80c37b4: f003 030f and.w r3, r3, #15 80c37b8: 2101 movs r1, #1 80c37ba: fa01 f303 lsl.w r3, r1, r3 80c37be: 041b lsls r3, r3, #16 80c37c0: 43db mvns r3, r3 80c37c2: 4013 ands r3, r2 80c37c4: 63c3 str r3, [r0, #60] ; 0x3c USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) << 16)); 80c37c6: 68fb ldr r3, [r7, #12] 80c37c8: f503 6300 add.w r3, r3, #2048 ; 0x800 80c37cc: 4618 mov r0, r3 80c37ce: 68fb ldr r3, [r7, #12] 80c37d0: f503 6300 add.w r3, r3, #2048 ; 0x800 80c37d4: 69da ldr r2, [r3, #28] 80c37d6: 683b ldr r3, [r7, #0] 80c37d8: 781b ldrb r3, [r3, #0] 80c37da: f003 030f and.w r3, r3, #15 80c37de: 2101 movs r1, #1 80c37e0: fa01 f303 lsl.w r3, r1, r3 80c37e4: 041b lsls r3, r3, #16 80c37e6: 43db mvns r3, r3 80c37e8: 4013 ands r3, r2 80c37ea: 61c3 str r3, [r0, #28] USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_USBAEP | 80c37ec: 68bb ldr r3, [r7, #8] 80c37ee: 015a lsls r2, r3, #5 80c37f0: 68fb ldr r3, [r7, #12] 80c37f2: 4413 add r3, r2 80c37f4: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c37f8: 4619 mov r1, r3 80c37fa: 68bb ldr r3, [r7, #8] 80c37fc: 015a lsls r2, r3, #5 80c37fe: 68fb ldr r3, [r7, #12] 80c3800: 4413 add r3, r2 80c3802: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3806: 681a ldr r2, [r3, #0] 80c3808: 4b05 ldr r3, [pc, #20] ; (80c3820 ) 80c380a: 4013 ands r3, r2 80c380c: 600b str r3, [r1, #0] USB_OTG_DOEPCTL_MPSIZ | USB_OTG_DOEPCTL_SD0PID_SEVNFRM | USB_OTG_DOEPCTL_EPTYP); } return HAL_OK; 80c380e: 2300 movs r3, #0 } 80c3810: 4618 mov r0, r3 80c3812: 3714 adds r7, #20 80c3814: 46bd mov sp, r7 80c3816: f85d 7b04 ldr.w r7, [sp], #4 80c381a: 4770 bx lr 80c381c: ec337800 .word 0xec337800 80c3820: eff37800 .word 0xeff37800 080c3824 : * 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) { 80c3824: b580 push {r7, lr} 80c3826: b08a sub sp, #40 ; 0x28 80c3828: af02 add r7, sp, #8 80c382a: 60f8 str r0, [r7, #12] 80c382c: 60b9 str r1, [r7, #8] 80c382e: 4613 mov r3, r2 80c3830: 71fb strb r3, [r7, #7] uint32_t USBx_BASE = (uint32_t)USBx; 80c3832: 68fb ldr r3, [r7, #12] 80c3834: 61fb str r3, [r7, #28] uint32_t epnum = (uint32_t)ep->num; 80c3836: 68bb ldr r3, [r7, #8] 80c3838: 781b ldrb r3, [r3, #0] 80c383a: 61bb str r3, [r7, #24] uint16_t pktcnt; /* IN endpoint */ if (ep->is_in == 1U) 80c383c: 68bb ldr r3, [r7, #8] 80c383e: 785b ldrb r3, [r3, #1] 80c3840: 2b01 cmp r3, #1 80c3842: f040 816f bne.w 80c3b24 { /* Zero Length Packet? */ if (ep->xfer_len == 0U) 80c3846: 68bb ldr r3, [r7, #8] 80c3848: 695b ldr r3, [r3, #20] 80c384a: 2b00 cmp r3, #0 80c384c: d133 bne.n 80c38b6 { USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 80c384e: 69bb ldr r3, [r7, #24] 80c3850: 015a lsls r2, r3, #5 80c3852: 69fb ldr r3, [r7, #28] 80c3854: 4413 add r3, r2 80c3856: f503 6310 add.w r3, r3, #2304 ; 0x900 80c385a: 4619 mov r1, r3 80c385c: 69bb ldr r3, [r7, #24] 80c385e: 015a lsls r2, r3, #5 80c3860: 69fb ldr r3, [r7, #28] 80c3862: 4413 add r3, r2 80c3864: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3868: 691a ldr r2, [r3, #16] 80c386a: 4bab ldr r3, [pc, #684] ; (80c3b18 ) 80c386c: 4013 ands r3, r2 80c386e: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 80c3870: 69bb ldr r3, [r7, #24] 80c3872: 015a lsls r2, r3, #5 80c3874: 69fb ldr r3, [r7, #28] 80c3876: 4413 add r3, r2 80c3878: f503 6310 add.w r3, r3, #2304 ; 0x900 80c387c: 4619 mov r1, r3 80c387e: 69bb ldr r3, [r7, #24] 80c3880: 015a lsls r2, r3, #5 80c3882: 69fb ldr r3, [r7, #28] 80c3884: 4413 add r3, r2 80c3886: f503 6310 add.w r3, r3, #2304 ; 0x900 80c388a: 691b ldr r3, [r3, #16] 80c388c: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80c3890: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 80c3892: 69bb ldr r3, [r7, #24] 80c3894: 015a lsls r2, r3, #5 80c3896: 69fb ldr r3, [r7, #28] 80c3898: 4413 add r3, r2 80c389a: f503 6310 add.w r3, r3, #2304 ; 0x900 80c389e: 4619 mov r1, r3 80c38a0: 69bb ldr r3, [r7, #24] 80c38a2: 015a lsls r2, r3, #5 80c38a4: 69fb ldr r3, [r7, #28] 80c38a6: 4413 add r3, r2 80c38a8: f503 6310 add.w r3, r3, #2304 ; 0x900 80c38ac: 691a ldr r2, [r3, #16] 80c38ae: 4b9b ldr r3, [pc, #620] ; (80c3b1c ) 80c38b0: 4013 ands r3, r2 80c38b2: 610b str r3, [r1, #16] 80c38b4: e078 b.n 80c39a8 /* 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); 80c38b6: 69bb ldr r3, [r7, #24] 80c38b8: 015a lsls r2, r3, #5 80c38ba: 69fb ldr r3, [r7, #28] 80c38bc: 4413 add r3, r2 80c38be: f503 6310 add.w r3, r3, #2304 ; 0x900 80c38c2: 4619 mov r1, r3 80c38c4: 69bb ldr r3, [r7, #24] 80c38c6: 015a lsls r2, r3, #5 80c38c8: 69fb ldr r3, [r7, #28] 80c38ca: 4413 add r3, r2 80c38cc: f503 6310 add.w r3, r3, #2304 ; 0x900 80c38d0: 691a ldr r2, [r3, #16] 80c38d2: 4b92 ldr r3, [pc, #584] ; (80c3b1c ) 80c38d4: 4013 ands r3, r2 80c38d6: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 80c38d8: 69bb ldr r3, [r7, #24] 80c38da: 015a lsls r2, r3, #5 80c38dc: 69fb ldr r3, [r7, #28] 80c38de: 4413 add r3, r2 80c38e0: f503 6310 add.w r3, r3, #2304 ; 0x900 80c38e4: 4619 mov r1, r3 80c38e6: 69bb ldr r3, [r7, #24] 80c38e8: 015a lsls r2, r3, #5 80c38ea: 69fb ldr r3, [r7, #28] 80c38ec: 4413 add r3, r2 80c38ee: f503 6310 add.w r3, r3, #2304 ; 0x900 80c38f2: 691a ldr r2, [r3, #16] 80c38f4: 4b88 ldr r3, [pc, #544] ; (80c3b18 ) 80c38f6: 4013 ands r3, r2 80c38f8: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & 80c38fa: 69bb ldr r3, [r7, #24] 80c38fc: 015a lsls r2, r3, #5 80c38fe: 69fb ldr r3, [r7, #28] 80c3900: 4413 add r3, r2 80c3902: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3906: 4618 mov r0, r3 80c3908: 69bb ldr r3, [r7, #24] 80c390a: 015a lsls r2, r3, #5 80c390c: 69fb ldr r3, [r7, #28] 80c390e: 4413 add r3, r2 80c3910: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3914: 691a ldr r2, [r3, #16] (((ep->xfer_len + ep->maxpacket - 1U) / ep->maxpacket) << 19)); 80c3916: 68bb ldr r3, [r7, #8] 80c3918: 6959 ldr r1, [r3, #20] 80c391a: 68bb ldr r3, [r7, #8] 80c391c: 689b ldr r3, [r3, #8] 80c391e: 440b add r3, r1 80c3920: 1e59 subs r1, r3, #1 80c3922: 68bb ldr r3, [r7, #8] 80c3924: 689b ldr r3, [r3, #8] 80c3926: fbb1 f3f3 udiv r3, r1, r3 80c392a: 04d9 lsls r1, r3, #19 USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & 80c392c: 4b7c ldr r3, [pc, #496] ; (80c3b20 ) 80c392e: 400b ands r3, r1 80c3930: 4313 orrs r3, r2 80c3932: 6103 str r3, [r0, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_XFRSIZ & ep->xfer_len); 80c3934: 69bb ldr r3, [r7, #24] 80c3936: 015a lsls r2, r3, #5 80c3938: 69fb ldr r3, [r7, #28] 80c393a: 4413 add r3, r2 80c393c: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3940: 4619 mov r1, r3 80c3942: 69bb ldr r3, [r7, #24] 80c3944: 015a lsls r2, r3, #5 80c3946: 69fb ldr r3, [r7, #28] 80c3948: 4413 add r3, r2 80c394a: f503 6310 add.w r3, r3, #2304 ; 0x900 80c394e: 691a ldr r2, [r3, #16] 80c3950: 68bb ldr r3, [r7, #8] 80c3952: 695b ldr r3, [r3, #20] 80c3954: f3c3 0312 ubfx r3, r3, #0, #19 80c3958: 4313 orrs r3, r2 80c395a: 610b str r3, [r1, #16] if (ep->type == EP_TYPE_ISOC) 80c395c: 68bb ldr r3, [r7, #8] 80c395e: 78db ldrb r3, [r3, #3] 80c3960: 2b01 cmp r3, #1 80c3962: d121 bne.n 80c39a8 { USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_MULCNT); 80c3964: 69bb ldr r3, [r7, #24] 80c3966: 015a lsls r2, r3, #5 80c3968: 69fb ldr r3, [r7, #28] 80c396a: 4413 add r3, r2 80c396c: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3970: 4619 mov r1, r3 80c3972: 69bb ldr r3, [r7, #24] 80c3974: 015a lsls r2, r3, #5 80c3976: 69fb ldr r3, [r7, #28] 80c3978: 4413 add r3, r2 80c397a: f503 6310 add.w r3, r3, #2304 ; 0x900 80c397e: 691b ldr r3, [r3, #16] 80c3980: f023 43c0 bic.w r3, r3, #1610612736 ; 0x60000000 80c3984: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_MULCNT & (1U << 29)); 80c3986: 69bb ldr r3, [r7, #24] 80c3988: 015a lsls r2, r3, #5 80c398a: 69fb ldr r3, [r7, #28] 80c398c: 4413 add r3, r2 80c398e: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3992: 4619 mov r1, r3 80c3994: 69bb ldr r3, [r7, #24] 80c3996: 015a lsls r2, r3, #5 80c3998: 69fb ldr r3, [r7, #28] 80c399a: 4413 add r3, r2 80c399c: f503 6310 add.w r3, r3, #2304 ; 0x900 80c39a0: 691b ldr r3, [r3, #16] 80c39a2: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80c39a6: 610b str r3, [r1, #16] } } if (dma == 1U) 80c39a8: 79fb ldrb r3, [r7, #7] 80c39aa: 2b01 cmp r3, #1 80c39ac: d14e bne.n 80c3a4c { if ((uint32_t)ep->dma_addr != 0U) 80c39ae: 68bb ldr r3, [r7, #8] 80c39b0: 691b ldr r3, [r3, #16] 80c39b2: 2b00 cmp r3, #0 80c39b4: d009 beq.n 80c39ca { USBx_INEP(epnum)->DIEPDMA = (uint32_t)(ep->dma_addr); 80c39b6: 69bb ldr r3, [r7, #24] 80c39b8: 015a lsls r2, r3, #5 80c39ba: 69fb ldr r3, [r7, #28] 80c39bc: 4413 add r3, r2 80c39be: f503 6310 add.w r3, r3, #2304 ; 0x900 80c39c2: 461a mov r2, r3 80c39c4: 68bb ldr r3, [r7, #8] 80c39c6: 691b ldr r3, [r3, #16] 80c39c8: 6153 str r3, [r2, #20] } if (ep->type == EP_TYPE_ISOC) 80c39ca: 68bb ldr r3, [r7, #8] 80c39cc: 78db ldrb r3, [r3, #3] 80c39ce: 2b01 cmp r3, #1 80c39d0: d12a bne.n 80c3a28 { if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U) 80c39d2: 69fb ldr r3, [r7, #28] 80c39d4: f503 6300 add.w r3, r3, #2048 ; 0x800 80c39d8: 689b ldr r3, [r3, #8] 80c39da: f403 7380 and.w r3, r3, #256 ; 0x100 80c39de: 2b00 cmp r3, #0 80c39e0: d111 bne.n 80c3a06 { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SODDFRM; 80c39e2: 69bb ldr r3, [r7, #24] 80c39e4: 015a lsls r2, r3, #5 80c39e6: 69fb ldr r3, [r7, #28] 80c39e8: 4413 add r3, r2 80c39ea: f503 6310 add.w r3, r3, #2304 ; 0x900 80c39ee: 4619 mov r1, r3 80c39f0: 69bb ldr r3, [r7, #24] 80c39f2: 015a lsls r2, r3, #5 80c39f4: 69fb ldr r3, [r7, #28] 80c39f6: 4413 add r3, r2 80c39f8: f503 6310 add.w r3, r3, #2304 ; 0x900 80c39fc: 681b ldr r3, [r3, #0] 80c39fe: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80c3a02: 600b str r3, [r1, #0] 80c3a04: e010 b.n 80c3a28 } else { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; 80c3a06: 69bb ldr r3, [r7, #24] 80c3a08: 015a lsls r2, r3, #5 80c3a0a: 69fb ldr r3, [r7, #28] 80c3a0c: 4413 add r3, r2 80c3a0e: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3a12: 4619 mov r1, r3 80c3a14: 69bb ldr r3, [r7, #24] 80c3a16: 015a lsls r2, r3, #5 80c3a18: 69fb ldr r3, [r7, #28] 80c3a1a: 4413 add r3, r2 80c3a1c: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3a20: 681b ldr r3, [r3, #0] 80c3a22: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80c3a26: 600b str r3, [r1, #0] } } /* EP enable, IN data in FIFO */ USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 80c3a28: 69bb ldr r3, [r7, #24] 80c3a2a: 015a lsls r2, r3, #5 80c3a2c: 69fb ldr r3, [r7, #28] 80c3a2e: 4413 add r3, r2 80c3a30: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3a34: 4619 mov r1, r3 80c3a36: 69bb ldr r3, [r7, #24] 80c3a38: 015a lsls r2, r3, #5 80c3a3a: 69fb ldr r3, [r7, #28] 80c3a3c: 4413 add r3, r2 80c3a3e: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3a42: 681b ldr r3, [r3, #0] 80c3a44: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80c3a48: 600b str r3, [r1, #0] 80c3a4a: e13e b.n 80c3cca } else { /* EP enable, IN data in FIFO */ USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 80c3a4c: 69bb ldr r3, [r7, #24] 80c3a4e: 015a lsls r2, r3, #5 80c3a50: 69fb ldr r3, [r7, #28] 80c3a52: 4413 add r3, r2 80c3a54: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3a58: 4619 mov r1, r3 80c3a5a: 69bb ldr r3, [r7, #24] 80c3a5c: 015a lsls r2, r3, #5 80c3a5e: 69fb ldr r3, [r7, #28] 80c3a60: 4413 add r3, r2 80c3a62: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3a66: 681b ldr r3, [r3, #0] 80c3a68: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80c3a6c: 600b str r3, [r1, #0] if (ep->type != EP_TYPE_ISOC) 80c3a6e: 68bb ldr r3, [r7, #8] 80c3a70: 78db ldrb r3, [r3, #3] 80c3a72: 2b01 cmp r3, #1 80c3a74: d016 beq.n 80c3aa4 { /* Enable the Tx FIFO Empty Interrupt for this EP */ if (ep->xfer_len > 0U) 80c3a76: 68bb ldr r3, [r7, #8] 80c3a78: 695b ldr r3, [r3, #20] 80c3a7a: 2b00 cmp r3, #0 80c3a7c: f000 8125 beq.w 80c3cca { USBx_DEVICE->DIEPEMPMSK |= 1UL << (ep->num & EP_ADDR_MSK); 80c3a80: 69fb ldr r3, [r7, #28] 80c3a82: f503 6300 add.w r3, r3, #2048 ; 0x800 80c3a86: 4618 mov r0, r3 80c3a88: 69fb ldr r3, [r7, #28] 80c3a8a: f503 6300 add.w r3, r3, #2048 ; 0x800 80c3a8e: 6b5a ldr r2, [r3, #52] ; 0x34 80c3a90: 68bb ldr r3, [r7, #8] 80c3a92: 781b ldrb r3, [r3, #0] 80c3a94: f003 030f and.w r3, r3, #15 80c3a98: 2101 movs r1, #1 80c3a9a: fa01 f303 lsl.w r3, r1, r3 80c3a9e: 4313 orrs r3, r2 80c3aa0: 6343 str r3, [r0, #52] ; 0x34 80c3aa2: e112 b.n 80c3cca } } else { if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U) 80c3aa4: 69fb ldr r3, [r7, #28] 80c3aa6: f503 6300 add.w r3, r3, #2048 ; 0x800 80c3aaa: 689b ldr r3, [r3, #8] 80c3aac: f403 7380 and.w r3, r3, #256 ; 0x100 80c3ab0: 2b00 cmp r3, #0 80c3ab2: d111 bne.n 80c3ad8 { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SODDFRM; 80c3ab4: 69bb ldr r3, [r7, #24] 80c3ab6: 015a lsls r2, r3, #5 80c3ab8: 69fb ldr r3, [r7, #28] 80c3aba: 4413 add r3, r2 80c3abc: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3ac0: 4619 mov r1, r3 80c3ac2: 69bb ldr r3, [r7, #24] 80c3ac4: 015a lsls r2, r3, #5 80c3ac6: 69fb ldr r3, [r7, #28] 80c3ac8: 4413 add r3, r2 80c3aca: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3ace: 681b ldr r3, [r3, #0] 80c3ad0: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80c3ad4: 600b str r3, [r1, #0] 80c3ad6: e010 b.n 80c3afa } else { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; 80c3ad8: 69bb ldr r3, [r7, #24] 80c3ada: 015a lsls r2, r3, #5 80c3adc: 69fb ldr r3, [r7, #28] 80c3ade: 4413 add r3, r2 80c3ae0: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3ae4: 4619 mov r1, r3 80c3ae6: 69bb ldr r3, [r7, #24] 80c3ae8: 015a lsls r2, r3, #5 80c3aea: 69fb ldr r3, [r7, #28] 80c3aec: 4413 add r3, r2 80c3aee: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3af2: 681b ldr r3, [r3, #0] 80c3af4: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80c3af8: 600b str r3, [r1, #0] } (void)USB_WritePacket(USBx, ep->xfer_buff, ep->num, (uint16_t)ep->xfer_len, dma); 80c3afa: 68bb ldr r3, [r7, #8] 80c3afc: 68d9 ldr r1, [r3, #12] 80c3afe: 68bb ldr r3, [r7, #8] 80c3b00: 781a ldrb r2, [r3, #0] 80c3b02: 68bb ldr r3, [r7, #8] 80c3b04: 695b ldr r3, [r3, #20] 80c3b06: b298 uxth r0, r3 80c3b08: 79fb ldrb r3, [r7, #7] 80c3b0a: 9300 str r3, [sp, #0] 80c3b0c: 4603 mov r3, r0 80c3b0e: 68f8 ldr r0, [r7, #12] 80c3b10: f000 fa48 bl 80c3fa4 80c3b14: e0d9 b.n 80c3cca 80c3b16: bf00 nop 80c3b18: e007ffff .word 0xe007ffff 80c3b1c: fff80000 .word 0xfff80000 80c3b20: 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); 80c3b24: 69bb ldr r3, [r7, #24] 80c3b26: 015a lsls r2, r3, #5 80c3b28: 69fb ldr r3, [r7, #28] 80c3b2a: 4413 add r3, r2 80c3b2c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3b30: 4619 mov r1, r3 80c3b32: 69bb ldr r3, [r7, #24] 80c3b34: 015a lsls r2, r3, #5 80c3b36: 69fb ldr r3, [r7, #28] 80c3b38: 4413 add r3, r2 80c3b3a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3b3e: 691a ldr r2, [r3, #16] 80c3b40: 4b64 ldr r3, [pc, #400] ; (80c3cd4 ) 80c3b42: 4013 ands r3, r2 80c3b44: 610b str r3, [r1, #16] USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 80c3b46: 69bb ldr r3, [r7, #24] 80c3b48: 015a lsls r2, r3, #5 80c3b4a: 69fb ldr r3, [r7, #28] 80c3b4c: 4413 add r3, r2 80c3b4e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3b52: 4619 mov r1, r3 80c3b54: 69bb ldr r3, [r7, #24] 80c3b56: 015a lsls r2, r3, #5 80c3b58: 69fb ldr r3, [r7, #28] 80c3b5a: 4413 add r3, r2 80c3b5c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3b60: 691a ldr r2, [r3, #16] 80c3b62: 4b5d ldr r3, [pc, #372] ; (80c3cd8 ) 80c3b64: 4013 ands r3, r2 80c3b66: 610b str r3, [r1, #16] if (ep->xfer_len == 0U) 80c3b68: 68bb ldr r3, [r7, #8] 80c3b6a: 695b ldr r3, [r3, #20] 80c3b6c: 2b00 cmp r3, #0 80c3b6e: d125 bne.n 80c3bbc { USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & ep->maxpacket); 80c3b70: 69bb ldr r3, [r7, #24] 80c3b72: 015a lsls r2, r3, #5 80c3b74: 69fb ldr r3, [r7, #28] 80c3b76: 4413 add r3, r2 80c3b78: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3b7c: 4619 mov r1, r3 80c3b7e: 69bb ldr r3, [r7, #24] 80c3b80: 015a lsls r2, r3, #5 80c3b82: 69fb ldr r3, [r7, #28] 80c3b84: 4413 add r3, r2 80c3b86: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3b8a: 691a ldr r2, [r3, #16] 80c3b8c: 68bb ldr r3, [r7, #8] 80c3b8e: 689b ldr r3, [r3, #8] 80c3b90: f3c3 0312 ubfx r3, r3, #0, #19 80c3b94: 4313 orrs r3, r2 80c3b96: 610b str r3, [r1, #16] USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 80c3b98: 69bb ldr r3, [r7, #24] 80c3b9a: 015a lsls r2, r3, #5 80c3b9c: 69fb ldr r3, [r7, #28] 80c3b9e: 4413 add r3, r2 80c3ba0: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3ba4: 4619 mov r1, r3 80c3ba6: 69bb ldr r3, [r7, #24] 80c3ba8: 015a lsls r2, r3, #5 80c3baa: 69fb ldr r3, [r7, #28] 80c3bac: 4413 add r3, r2 80c3bae: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3bb2: 691b ldr r3, [r3, #16] 80c3bb4: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80c3bb8: 610b str r3, [r1, #16] 80c3bba: e035 b.n 80c3c28 } else { pktcnt = (uint16_t)((ep->xfer_len + ep->maxpacket - 1U) / ep->maxpacket); 80c3bbc: 68bb ldr r3, [r7, #8] 80c3bbe: 695a ldr r2, [r3, #20] 80c3bc0: 68bb ldr r3, [r7, #8] 80c3bc2: 689b ldr r3, [r3, #8] 80c3bc4: 4413 add r3, r2 80c3bc6: 1e5a subs r2, r3, #1 80c3bc8: 68bb ldr r3, [r7, #8] 80c3bca: 689b ldr r3, [r3, #8] 80c3bcc: fbb2 f3f3 udiv r3, r2, r3 80c3bd0: 82fb strh r3, [r7, #22] USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_PKTCNT & ((uint32_t)pktcnt << 19); 80c3bd2: 69bb ldr r3, [r7, #24] 80c3bd4: 015a lsls r2, r3, #5 80c3bd6: 69fb ldr r3, [r7, #28] 80c3bd8: 4413 add r3, r2 80c3bda: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3bde: 4618 mov r0, r3 80c3be0: 69bb ldr r3, [r7, #24] 80c3be2: 015a lsls r2, r3, #5 80c3be4: 69fb ldr r3, [r7, #28] 80c3be6: 4413 add r3, r2 80c3be8: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3bec: 691a ldr r2, [r3, #16] 80c3bee: 8afb ldrh r3, [r7, #22] 80c3bf0: 04d9 lsls r1, r3, #19 80c3bf2: 4b3a ldr r3, [pc, #232] ; (80c3cdc ) 80c3bf4: 400b ands r3, r1 80c3bf6: 4313 orrs r3, r2 80c3bf8: 6103 str r3, [r0, #16] USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket * pktcnt); 80c3bfa: 69bb ldr r3, [r7, #24] 80c3bfc: 015a lsls r2, r3, #5 80c3bfe: 69fb ldr r3, [r7, #28] 80c3c00: 4413 add r3, r2 80c3c02: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3c06: 4618 mov r0, r3 80c3c08: 69bb ldr r3, [r7, #24] 80c3c0a: 015a lsls r2, r3, #5 80c3c0c: 69fb ldr r3, [r7, #28] 80c3c0e: 4413 add r3, r2 80c3c10: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3c14: 691a ldr r2, [r3, #16] 80c3c16: 68bb ldr r3, [r7, #8] 80c3c18: 689b ldr r3, [r3, #8] 80c3c1a: 8af9 ldrh r1, [r7, #22] 80c3c1c: fb01 f303 mul.w r3, r1, r3 80c3c20: f3c3 0312 ubfx r3, r3, #0, #19 80c3c24: 4313 orrs r3, r2 80c3c26: 6103 str r3, [r0, #16] } if (dma == 1U) 80c3c28: 79fb ldrb r3, [r7, #7] 80c3c2a: 2b01 cmp r3, #1 80c3c2c: d10d bne.n 80c3c4a { if ((uint32_t)ep->xfer_buff != 0U) 80c3c2e: 68bb ldr r3, [r7, #8] 80c3c30: 68db ldr r3, [r3, #12] 80c3c32: 2b00 cmp r3, #0 80c3c34: d009 beq.n 80c3c4a { USBx_OUTEP(epnum)->DOEPDMA = (uint32_t)(ep->xfer_buff); 80c3c36: 69bb ldr r3, [r7, #24] 80c3c38: 015a lsls r2, r3, #5 80c3c3a: 69fb ldr r3, [r7, #28] 80c3c3c: 4413 add r3, r2 80c3c3e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3c42: 461a mov r2, r3 80c3c44: 68bb ldr r3, [r7, #8] 80c3c46: 68db ldr r3, [r3, #12] 80c3c48: 6153 str r3, [r2, #20] } } if (ep->type == EP_TYPE_ISOC) 80c3c4a: 68bb ldr r3, [r7, #8] 80c3c4c: 78db ldrb r3, [r3, #3] 80c3c4e: 2b01 cmp r3, #1 80c3c50: d12a bne.n 80c3ca8 { if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U) 80c3c52: 69fb ldr r3, [r7, #28] 80c3c54: f503 6300 add.w r3, r3, #2048 ; 0x800 80c3c58: 689b ldr r3, [r3, #8] 80c3c5a: f403 7380 and.w r3, r3, #256 ; 0x100 80c3c5e: 2b00 cmp r3, #0 80c3c60: d111 bne.n 80c3c86 { USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SODDFRM; 80c3c62: 69bb ldr r3, [r7, #24] 80c3c64: 015a lsls r2, r3, #5 80c3c66: 69fb ldr r3, [r7, #28] 80c3c68: 4413 add r3, r2 80c3c6a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3c6e: 4619 mov r1, r3 80c3c70: 69bb ldr r3, [r7, #24] 80c3c72: 015a lsls r2, r3, #5 80c3c74: 69fb ldr r3, [r7, #28] 80c3c76: 4413 add r3, r2 80c3c78: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3c7c: 681b ldr r3, [r3, #0] 80c3c7e: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80c3c82: 600b str r3, [r1, #0] 80c3c84: e010 b.n 80c3ca8 } else { USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SD0PID_SEVNFRM; 80c3c86: 69bb ldr r3, [r7, #24] 80c3c88: 015a lsls r2, r3, #5 80c3c8a: 69fb ldr r3, [r7, #28] 80c3c8c: 4413 add r3, r2 80c3c8e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3c92: 4619 mov r1, r3 80c3c94: 69bb ldr r3, [r7, #24] 80c3c96: 015a lsls r2, r3, #5 80c3c98: 69fb ldr r3, [r7, #28] 80c3c9a: 4413 add r3, r2 80c3c9c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3ca0: 681b ldr r3, [r3, #0] 80c3ca2: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80c3ca6: 600b str r3, [r1, #0] } } /* EP enable */ USBx_OUTEP(epnum)->DOEPCTL |= (USB_OTG_DOEPCTL_CNAK | USB_OTG_DOEPCTL_EPENA); 80c3ca8: 69bb ldr r3, [r7, #24] 80c3caa: 015a lsls r2, r3, #5 80c3cac: 69fb ldr r3, [r7, #28] 80c3cae: 4413 add r3, r2 80c3cb0: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3cb4: 4619 mov r1, r3 80c3cb6: 69bb ldr r3, [r7, #24] 80c3cb8: 015a lsls r2, r3, #5 80c3cba: 69fb ldr r3, [r7, #28] 80c3cbc: 4413 add r3, r2 80c3cbe: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3cc2: 681b ldr r3, [r3, #0] 80c3cc4: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80c3cc8: 600b str r3, [r1, #0] } return HAL_OK; 80c3cca: 2300 movs r3, #0 } 80c3ccc: 4618 mov r0, r3 80c3cce: 3720 adds r7, #32 80c3cd0: 46bd mov sp, r7 80c3cd2: bd80 pop {r7, pc} 80c3cd4: fff80000 .word 0xfff80000 80c3cd8: e007ffff .word 0xe007ffff 80c3cdc: 1ff80000 .word 0x1ff80000 080c3ce0 : * 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) { 80c3ce0: b480 push {r7} 80c3ce2: b087 sub sp, #28 80c3ce4: af00 add r7, sp, #0 80c3ce6: 60f8 str r0, [r7, #12] 80c3ce8: 60b9 str r1, [r7, #8] 80c3cea: 4613 mov r3, r2 80c3cec: 71fb strb r3, [r7, #7] uint32_t USBx_BASE = (uint32_t)USBx; 80c3cee: 68fb ldr r3, [r7, #12] 80c3cf0: 617b str r3, [r7, #20] uint32_t epnum = (uint32_t)ep->num; 80c3cf2: 68bb ldr r3, [r7, #8] 80c3cf4: 781b ldrb r3, [r3, #0] 80c3cf6: 613b str r3, [r7, #16] /* IN endpoint */ if (ep->is_in == 1U) 80c3cf8: 68bb ldr r3, [r7, #8] 80c3cfa: 785b ldrb r3, [r3, #1] 80c3cfc: 2b01 cmp r3, #1 80c3cfe: f040 80d4 bne.w 80c3eaa { /* Zero Length Packet? */ if (ep->xfer_len == 0U) 80c3d02: 68bb ldr r3, [r7, #8] 80c3d04: 695b ldr r3, [r3, #20] 80c3d06: 2b00 cmp r3, #0 80c3d08: d133 bne.n 80c3d72 { USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 80c3d0a: 693b ldr r3, [r7, #16] 80c3d0c: 015a lsls r2, r3, #5 80c3d0e: 697b ldr r3, [r7, #20] 80c3d10: 4413 add r3, r2 80c3d12: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3d16: 4619 mov r1, r3 80c3d18: 693b ldr r3, [r7, #16] 80c3d1a: 015a lsls r2, r3, #5 80c3d1c: 697b ldr r3, [r7, #20] 80c3d1e: 4413 add r3, r2 80c3d20: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3d24: 691a ldr r2, [r3, #16] 80c3d26: 4b9d ldr r3, [pc, #628] ; (80c3f9c ) 80c3d28: 4013 ands r3, r2 80c3d2a: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 80c3d2c: 693b ldr r3, [r7, #16] 80c3d2e: 015a lsls r2, r3, #5 80c3d30: 697b ldr r3, [r7, #20] 80c3d32: 4413 add r3, r2 80c3d34: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3d38: 4619 mov r1, r3 80c3d3a: 693b ldr r3, [r7, #16] 80c3d3c: 015a lsls r2, r3, #5 80c3d3e: 697b ldr r3, [r7, #20] 80c3d40: 4413 add r3, r2 80c3d42: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3d46: 691b ldr r3, [r3, #16] 80c3d48: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80c3d4c: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 80c3d4e: 693b ldr r3, [r7, #16] 80c3d50: 015a lsls r2, r3, #5 80c3d52: 697b ldr r3, [r7, #20] 80c3d54: 4413 add r3, r2 80c3d56: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3d5a: 4619 mov r1, r3 80c3d5c: 693b ldr r3, [r7, #16] 80c3d5e: 015a lsls r2, r3, #5 80c3d60: 697b ldr r3, [r7, #20] 80c3d62: 4413 add r3, r2 80c3d64: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3d68: 691a ldr r2, [r3, #16] 80c3d6a: 4b8d ldr r3, [pc, #564] ; (80c3fa0 ) 80c3d6c: 4013 ands r3, r2 80c3d6e: 610b str r3, [r1, #16] 80c3d70: e050 b.n 80c3e14 /* 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); 80c3d72: 693b ldr r3, [r7, #16] 80c3d74: 015a lsls r2, r3, #5 80c3d76: 697b ldr r3, [r7, #20] 80c3d78: 4413 add r3, r2 80c3d7a: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3d7e: 4619 mov r1, r3 80c3d80: 693b ldr r3, [r7, #16] 80c3d82: 015a lsls r2, r3, #5 80c3d84: 697b ldr r3, [r7, #20] 80c3d86: 4413 add r3, r2 80c3d88: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3d8c: 691a ldr r2, [r3, #16] 80c3d8e: 4b84 ldr r3, [pc, #528] ; (80c3fa0 ) 80c3d90: 4013 ands r3, r2 80c3d92: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 80c3d94: 693b ldr r3, [r7, #16] 80c3d96: 015a lsls r2, r3, #5 80c3d98: 697b ldr r3, [r7, #20] 80c3d9a: 4413 add r3, r2 80c3d9c: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3da0: 4619 mov r1, r3 80c3da2: 693b ldr r3, [r7, #16] 80c3da4: 015a lsls r2, r3, #5 80c3da6: 697b ldr r3, [r7, #20] 80c3da8: 4413 add r3, r2 80c3daa: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3dae: 691a ldr r2, [r3, #16] 80c3db0: 4b7a ldr r3, [pc, #488] ; (80c3f9c ) 80c3db2: 4013 ands r3, r2 80c3db4: 610b str r3, [r1, #16] if (ep->xfer_len > ep->maxpacket) 80c3db6: 68bb ldr r3, [r7, #8] 80c3db8: 695a ldr r2, [r3, #20] 80c3dba: 68bb ldr r3, [r7, #8] 80c3dbc: 689b ldr r3, [r3, #8] 80c3dbe: 429a cmp r2, r3 80c3dc0: d903 bls.n 80c3dca { ep->xfer_len = ep->maxpacket; 80c3dc2: 68bb ldr r3, [r7, #8] 80c3dc4: 689a ldr r2, [r3, #8] 80c3dc6: 68bb ldr r3, [r7, #8] 80c3dc8: 615a str r2, [r3, #20] } USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 80c3dca: 693b ldr r3, [r7, #16] 80c3dcc: 015a lsls r2, r3, #5 80c3dce: 697b ldr r3, [r7, #20] 80c3dd0: 4413 add r3, r2 80c3dd2: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3dd6: 4619 mov r1, r3 80c3dd8: 693b ldr r3, [r7, #16] 80c3dda: 015a lsls r2, r3, #5 80c3ddc: 697b ldr r3, [r7, #20] 80c3dde: 4413 add r3, r2 80c3de0: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3de4: 691b ldr r3, [r3, #16] 80c3de6: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80c3dea: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_XFRSIZ & ep->xfer_len); 80c3dec: 693b ldr r3, [r7, #16] 80c3dee: 015a lsls r2, r3, #5 80c3df0: 697b ldr r3, [r7, #20] 80c3df2: 4413 add r3, r2 80c3df4: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3df8: 4619 mov r1, r3 80c3dfa: 693b ldr r3, [r7, #16] 80c3dfc: 015a lsls r2, r3, #5 80c3dfe: 697b ldr r3, [r7, #20] 80c3e00: 4413 add r3, r2 80c3e02: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3e06: 691a ldr r2, [r3, #16] 80c3e08: 68bb ldr r3, [r7, #8] 80c3e0a: 695b ldr r3, [r3, #20] 80c3e0c: f3c3 0312 ubfx r3, r3, #0, #19 80c3e10: 4313 orrs r3, r2 80c3e12: 610b str r3, [r1, #16] } if (dma == 1U) 80c3e14: 79fb ldrb r3, [r7, #7] 80c3e16: 2b01 cmp r3, #1 80c3e18: d11f bne.n 80c3e5a { if ((uint32_t)ep->dma_addr != 0U) 80c3e1a: 68bb ldr r3, [r7, #8] 80c3e1c: 691b ldr r3, [r3, #16] 80c3e1e: 2b00 cmp r3, #0 80c3e20: d009 beq.n 80c3e36 { USBx_INEP(epnum)->DIEPDMA = (uint32_t)(ep->dma_addr); 80c3e22: 693b ldr r3, [r7, #16] 80c3e24: 015a lsls r2, r3, #5 80c3e26: 697b ldr r3, [r7, #20] 80c3e28: 4413 add r3, r2 80c3e2a: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3e2e: 461a mov r2, r3 80c3e30: 68bb ldr r3, [r7, #8] 80c3e32: 691b ldr r3, [r3, #16] 80c3e34: 6153 str r3, [r2, #20] } /* EP enable, IN data in FIFO */ USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 80c3e36: 693b ldr r3, [r7, #16] 80c3e38: 015a lsls r2, r3, #5 80c3e3a: 697b ldr r3, [r7, #20] 80c3e3c: 4413 add r3, r2 80c3e3e: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3e42: 4619 mov r1, r3 80c3e44: 693b ldr r3, [r7, #16] 80c3e46: 015a lsls r2, r3, #5 80c3e48: 697b ldr r3, [r7, #20] 80c3e4a: 4413 add r3, r2 80c3e4c: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3e50: 681b ldr r3, [r3, #0] 80c3e52: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80c3e56: 600b str r3, [r1, #0] 80c3e58: e098 b.n 80c3f8c } else { /* EP enable, IN data in FIFO */ USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 80c3e5a: 693b ldr r3, [r7, #16] 80c3e5c: 015a lsls r2, r3, #5 80c3e5e: 697b ldr r3, [r7, #20] 80c3e60: 4413 add r3, r2 80c3e62: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3e66: 4619 mov r1, r3 80c3e68: 693b ldr r3, [r7, #16] 80c3e6a: 015a lsls r2, r3, #5 80c3e6c: 697b ldr r3, [r7, #20] 80c3e6e: 4413 add r3, r2 80c3e70: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3e74: 681b ldr r3, [r3, #0] 80c3e76: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80c3e7a: 600b str r3, [r1, #0] /* Enable the Tx FIFO Empty Interrupt for this EP */ if (ep->xfer_len > 0U) 80c3e7c: 68bb ldr r3, [r7, #8] 80c3e7e: 695b ldr r3, [r3, #20] 80c3e80: 2b00 cmp r3, #0 80c3e82: f000 8083 beq.w 80c3f8c { USBx_DEVICE->DIEPEMPMSK |= 1UL << (ep->num & EP_ADDR_MSK); 80c3e86: 697b ldr r3, [r7, #20] 80c3e88: f503 6300 add.w r3, r3, #2048 ; 0x800 80c3e8c: 4618 mov r0, r3 80c3e8e: 697b ldr r3, [r7, #20] 80c3e90: f503 6300 add.w r3, r3, #2048 ; 0x800 80c3e94: 6b5a ldr r2, [r3, #52] ; 0x34 80c3e96: 68bb ldr r3, [r7, #8] 80c3e98: 781b ldrb r3, [r3, #0] 80c3e9a: f003 030f and.w r3, r3, #15 80c3e9e: 2101 movs r1, #1 80c3ea0: fa01 f303 lsl.w r3, r1, r3 80c3ea4: 4313 orrs r3, r2 80c3ea6: 6343 str r3, [r0, #52] ; 0x34 80c3ea8: e070 b.n 80c3f8c { /* Program the transfer size and packet count as follows: * pktcnt = N * xfersize = N * maxpacket */ USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_XFRSIZ); 80c3eaa: 693b ldr r3, [r7, #16] 80c3eac: 015a lsls r2, r3, #5 80c3eae: 697b ldr r3, [r7, #20] 80c3eb0: 4413 add r3, r2 80c3eb2: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3eb6: 4619 mov r1, r3 80c3eb8: 693b ldr r3, [r7, #16] 80c3eba: 015a lsls r2, r3, #5 80c3ebc: 697b ldr r3, [r7, #20] 80c3ebe: 4413 add r3, r2 80c3ec0: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3ec4: 691a ldr r2, [r3, #16] 80c3ec6: 4b36 ldr r3, [pc, #216] ; (80c3fa0 ) 80c3ec8: 4013 ands r3, r2 80c3eca: 610b str r3, [r1, #16] USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 80c3ecc: 693b ldr r3, [r7, #16] 80c3ece: 015a lsls r2, r3, #5 80c3ed0: 697b ldr r3, [r7, #20] 80c3ed2: 4413 add r3, r2 80c3ed4: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3ed8: 4619 mov r1, r3 80c3eda: 693b ldr r3, [r7, #16] 80c3edc: 015a lsls r2, r3, #5 80c3ede: 697b ldr r3, [r7, #20] 80c3ee0: 4413 add r3, r2 80c3ee2: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3ee6: 691a ldr r2, [r3, #16] 80c3ee8: 4b2c ldr r3, [pc, #176] ; (80c3f9c ) 80c3eea: 4013 ands r3, r2 80c3eec: 610b str r3, [r1, #16] if (ep->xfer_len > 0U) 80c3eee: 68bb ldr r3, [r7, #8] 80c3ef0: 695b ldr r3, [r3, #20] 80c3ef2: 2b00 cmp r3, #0 80c3ef4: d003 beq.n 80c3efe { ep->xfer_len = ep->maxpacket; 80c3ef6: 68bb ldr r3, [r7, #8] 80c3ef8: 689a ldr r2, [r3, #8] 80c3efa: 68bb ldr r3, [r7, #8] 80c3efc: 615a str r2, [r3, #20] } USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 80c3efe: 693b ldr r3, [r7, #16] 80c3f00: 015a lsls r2, r3, #5 80c3f02: 697b ldr r3, [r7, #20] 80c3f04: 4413 add r3, r2 80c3f06: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3f0a: 4619 mov r1, r3 80c3f0c: 693b ldr r3, [r7, #16] 80c3f0e: 015a lsls r2, r3, #5 80c3f10: 697b ldr r3, [r7, #20] 80c3f12: 4413 add r3, r2 80c3f14: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3f18: 691b ldr r3, [r3, #16] 80c3f1a: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80c3f1e: 610b str r3, [r1, #16] USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket)); 80c3f20: 693b ldr r3, [r7, #16] 80c3f22: 015a lsls r2, r3, #5 80c3f24: 697b ldr r3, [r7, #20] 80c3f26: 4413 add r3, r2 80c3f28: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3f2c: 4619 mov r1, r3 80c3f2e: 693b ldr r3, [r7, #16] 80c3f30: 015a lsls r2, r3, #5 80c3f32: 697b ldr r3, [r7, #20] 80c3f34: 4413 add r3, r2 80c3f36: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3f3a: 691a ldr r2, [r3, #16] 80c3f3c: 68bb ldr r3, [r7, #8] 80c3f3e: 689b ldr r3, [r3, #8] 80c3f40: f3c3 0312 ubfx r3, r3, #0, #19 80c3f44: 4313 orrs r3, r2 80c3f46: 610b str r3, [r1, #16] if (dma == 1U) 80c3f48: 79fb ldrb r3, [r7, #7] 80c3f4a: 2b01 cmp r3, #1 80c3f4c: d10d bne.n 80c3f6a { if ((uint32_t)ep->xfer_buff != 0U) 80c3f4e: 68bb ldr r3, [r7, #8] 80c3f50: 68db ldr r3, [r3, #12] 80c3f52: 2b00 cmp r3, #0 80c3f54: d009 beq.n 80c3f6a { USBx_OUTEP(epnum)->DOEPDMA = (uint32_t)(ep->xfer_buff); 80c3f56: 693b ldr r3, [r7, #16] 80c3f58: 015a lsls r2, r3, #5 80c3f5a: 697b ldr r3, [r7, #20] 80c3f5c: 4413 add r3, r2 80c3f5e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3f62: 461a mov r2, r3 80c3f64: 68bb ldr r3, [r7, #8] 80c3f66: 68db ldr r3, [r3, #12] 80c3f68: 6153 str r3, [r2, #20] } } /* EP enable */ USBx_OUTEP(epnum)->DOEPCTL |= (USB_OTG_DOEPCTL_CNAK | USB_OTG_DOEPCTL_EPENA); 80c3f6a: 693b ldr r3, [r7, #16] 80c3f6c: 015a lsls r2, r3, #5 80c3f6e: 697b ldr r3, [r7, #20] 80c3f70: 4413 add r3, r2 80c3f72: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3f76: 4619 mov r1, r3 80c3f78: 693b ldr r3, [r7, #16] 80c3f7a: 015a lsls r2, r3, #5 80c3f7c: 697b ldr r3, [r7, #20] 80c3f7e: 4413 add r3, r2 80c3f80: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3f84: 681b ldr r3, [r3, #0] 80c3f86: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80c3f8a: 600b str r3, [r1, #0] } return HAL_OK; 80c3f8c: 2300 movs r3, #0 } 80c3f8e: 4618 mov r0, r3 80c3f90: 371c adds r7, #28 80c3f92: 46bd mov sp, r7 80c3f94: f85d 7b04 ldr.w r7, [sp], #4 80c3f98: 4770 bx lr 80c3f9a: bf00 nop 80c3f9c: e007ffff .word 0xe007ffff 80c3fa0: fff80000 .word 0xfff80000 080c3fa4 : * 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) { 80c3fa4: b480 push {r7} 80c3fa6: b089 sub sp, #36 ; 0x24 80c3fa8: af00 add r7, sp, #0 80c3faa: 60f8 str r0, [r7, #12] 80c3fac: 60b9 str r1, [r7, #8] 80c3fae: 4611 mov r1, r2 80c3fb0: 461a mov r2, r3 80c3fb2: 460b mov r3, r1 80c3fb4: 71fb strb r3, [r7, #7] 80c3fb6: 4613 mov r3, r2 80c3fb8: 80bb strh r3, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80c3fba: 68fb ldr r3, [r7, #12] 80c3fbc: 617b str r3, [r7, #20] uint8_t *pSrc = src; 80c3fbe: 68bb ldr r3, [r7, #8] 80c3fc0: 61fb str r3, [r7, #28] uint32_t count32b; uint32_t i; if (dma == 0U) 80c3fc2: f897 3028 ldrb.w r3, [r7, #40] ; 0x28 80c3fc6: 2b00 cmp r3, #0 80c3fc8: d123 bne.n 80c4012 { count32b = ((uint32_t)len + 3U) / 4U; 80c3fca: 88bb ldrh r3, [r7, #4] 80c3fcc: 3303 adds r3, #3 80c3fce: 089b lsrs r3, r3, #2 80c3fd0: 613b str r3, [r7, #16] for (i = 0U; i < count32b; i++) 80c3fd2: 2300 movs r3, #0 80c3fd4: 61bb str r3, [r7, #24] 80c3fd6: e018 b.n 80c400a { USBx_DFIFO((uint32_t)ch_ep_num) = __UNALIGNED_UINT32_READ(pSrc); 80c3fd8: 79fb ldrb r3, [r7, #7] 80c3fda: 031a lsls r2, r3, #12 80c3fdc: 697b ldr r3, [r7, #20] 80c3fde: 4413 add r3, r2 80c3fe0: f503 5380 add.w r3, r3, #4096 ; 0x1000 80c3fe4: 461a mov r2, r3 80c3fe6: 69fb ldr r3, [r7, #28] 80c3fe8: 681b ldr r3, [r3, #0] 80c3fea: 6013 str r3, [r2, #0] pSrc++; 80c3fec: 69fb ldr r3, [r7, #28] 80c3fee: 3301 adds r3, #1 80c3ff0: 61fb str r3, [r7, #28] pSrc++; 80c3ff2: 69fb ldr r3, [r7, #28] 80c3ff4: 3301 adds r3, #1 80c3ff6: 61fb str r3, [r7, #28] pSrc++; 80c3ff8: 69fb ldr r3, [r7, #28] 80c3ffa: 3301 adds r3, #1 80c3ffc: 61fb str r3, [r7, #28] pSrc++; 80c3ffe: 69fb ldr r3, [r7, #28] 80c4000: 3301 adds r3, #1 80c4002: 61fb str r3, [r7, #28] for (i = 0U; i < count32b; i++) 80c4004: 69bb ldr r3, [r7, #24] 80c4006: 3301 adds r3, #1 80c4008: 61bb str r3, [r7, #24] 80c400a: 69ba ldr r2, [r7, #24] 80c400c: 693b ldr r3, [r7, #16] 80c400e: 429a cmp r2, r3 80c4010: d3e2 bcc.n 80c3fd8 } } return HAL_OK; 80c4012: 2300 movs r3, #0 } 80c4014: 4618 mov r0, r3 80c4016: 3724 adds r7, #36 ; 0x24 80c4018: 46bd mov sp, r7 80c401a: f85d 7b04 ldr.w r7, [sp], #4 80c401e: 4770 bx lr 080c4020 : * @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) { 80c4020: b480 push {r7} 80c4022: b08b sub sp, #44 ; 0x2c 80c4024: af00 add r7, sp, #0 80c4026: 60f8 str r0, [r7, #12] 80c4028: 60b9 str r1, [r7, #8] 80c402a: 4613 mov r3, r2 80c402c: 80fb strh r3, [r7, #6] uint32_t USBx_BASE = (uint32_t)USBx; 80c402e: 68fb ldr r3, [r7, #12] 80c4030: 61bb str r3, [r7, #24] uint8_t *pDest = dest; 80c4032: 68bb ldr r3, [r7, #8] 80c4034: 627b str r3, [r7, #36] ; 0x24 uint32_t pData; uint32_t i; uint32_t count32b = (uint32_t)len >> 2U; 80c4036: 88fb ldrh r3, [r7, #6] 80c4038: 089b lsrs r3, r3, #2 80c403a: b29b uxth r3, r3 80c403c: 617b str r3, [r7, #20] uint16_t remaining_bytes = len % 4U; 80c403e: 88fb ldrh r3, [r7, #6] 80c4040: f003 0303 and.w r3, r3, #3 80c4044: 83fb strh r3, [r7, #30] for (i = 0U; i < count32b; i++) 80c4046: 2300 movs r3, #0 80c4048: 623b str r3, [r7, #32] 80c404a: e014 b.n 80c4076 { __UNALIGNED_UINT32_WRITE(pDest, USBx_DFIFO(0U)); 80c404c: 69bb ldr r3, [r7, #24] 80c404e: f503 5380 add.w r3, r3, #4096 ; 0x1000 80c4052: 681a ldr r2, [r3, #0] 80c4054: 6a7b ldr r3, [r7, #36] ; 0x24 80c4056: 601a str r2, [r3, #0] pDest++; 80c4058: 6a7b ldr r3, [r7, #36] ; 0x24 80c405a: 3301 adds r3, #1 80c405c: 627b str r3, [r7, #36] ; 0x24 pDest++; 80c405e: 6a7b ldr r3, [r7, #36] ; 0x24 80c4060: 3301 adds r3, #1 80c4062: 627b str r3, [r7, #36] ; 0x24 pDest++; 80c4064: 6a7b ldr r3, [r7, #36] ; 0x24 80c4066: 3301 adds r3, #1 80c4068: 627b str r3, [r7, #36] ; 0x24 pDest++; 80c406a: 6a7b ldr r3, [r7, #36] ; 0x24 80c406c: 3301 adds r3, #1 80c406e: 627b str r3, [r7, #36] ; 0x24 for (i = 0U; i < count32b; i++) 80c4070: 6a3b ldr r3, [r7, #32] 80c4072: 3301 adds r3, #1 80c4074: 623b str r3, [r7, #32] 80c4076: 6a3a ldr r2, [r7, #32] 80c4078: 697b ldr r3, [r7, #20] 80c407a: 429a cmp r2, r3 80c407c: d3e6 bcc.n 80c404c } /* When Number of data is not word aligned, read the remaining byte */ if (remaining_bytes != 0U) 80c407e: 8bfb ldrh r3, [r7, #30] 80c4080: 2b00 cmp r3, #0 80c4082: d01d beq.n 80c40c0 { i = 0U; 80c4084: 2300 movs r3, #0 80c4086: 623b str r3, [r7, #32] __UNALIGNED_UINT32_WRITE(&pData, USBx_DFIFO(0U)); 80c4088: f107 0310 add.w r3, r7, #16 80c408c: 69ba ldr r2, [r7, #24] 80c408e: f502 5280 add.w r2, r2, #4096 ; 0x1000 80c4092: 6812 ldr r2, [r2, #0] 80c4094: 601a str r2, [r3, #0] do { *(uint8_t *)pDest = (uint8_t)(pData >> (8U * (uint8_t)(i))); 80c4096: 693a ldr r2, [r7, #16] 80c4098: 6a3b ldr r3, [r7, #32] 80c409a: b2db uxtb r3, r3 80c409c: 00db lsls r3, r3, #3 80c409e: fa22 f303 lsr.w r3, r2, r3 80c40a2: b2da uxtb r2, r3 80c40a4: 6a7b ldr r3, [r7, #36] ; 0x24 80c40a6: 701a strb r2, [r3, #0] i++; 80c40a8: 6a3b ldr r3, [r7, #32] 80c40aa: 3301 adds r3, #1 80c40ac: 623b str r3, [r7, #32] pDest++; 80c40ae: 6a7b ldr r3, [r7, #36] ; 0x24 80c40b0: 3301 adds r3, #1 80c40b2: 627b str r3, [r7, #36] ; 0x24 remaining_bytes--; 80c40b4: 8bfb ldrh r3, [r7, #30] 80c40b6: 3b01 subs r3, #1 80c40b8: 83fb strh r3, [r7, #30] } while (remaining_bytes != 0U); 80c40ba: 8bfb ldrh r3, [r7, #30] 80c40bc: 2b00 cmp r3, #0 80c40be: d1ea bne.n 80c4096 } return ((void *)pDest); 80c40c0: 6a7b ldr r3, [r7, #36] ; 0x24 } 80c40c2: 4618 mov r0, r3 80c40c4: 372c adds r7, #44 ; 0x2c 80c40c6: 46bd mov sp, r7 80c40c8: f85d 7b04 ldr.w r7, [sp], #4 80c40cc: 4770 bx lr 080c40ce : * @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) { 80c40ce: b480 push {r7} 80c40d0: b085 sub sp, #20 80c40d2: af00 add r7, sp, #0 80c40d4: 6078 str r0, [r7, #4] 80c40d6: 6039 str r1, [r7, #0] uint32_t USBx_BASE = (uint32_t)USBx; 80c40d8: 687b ldr r3, [r7, #4] 80c40da: 60fb str r3, [r7, #12] uint32_t epnum = (uint32_t)ep->num; 80c40dc: 683b ldr r3, [r7, #0] 80c40de: 781b ldrb r3, [r3, #0] 80c40e0: 60bb str r3, [r7, #8] if (ep->is_in == 1U) 80c40e2: 683b ldr r3, [r7, #0] 80c40e4: 785b ldrb r3, [r3, #1] 80c40e6: 2b01 cmp r3, #1 80c40e8: d12e bne.n 80c4148 { if (((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == 0U) && (epnum != 0U)) 80c40ea: 68bb ldr r3, [r7, #8] 80c40ec: 015a lsls r2, r3, #5 80c40ee: 68fb ldr r3, [r7, #12] 80c40f0: 4413 add r3, r2 80c40f2: f503 6310 add.w r3, r3, #2304 ; 0x900 80c40f6: 681b ldr r3, [r3, #0] 80c40f8: 2b00 cmp r3, #0 80c40fa: db13 blt.n 80c4124 80c40fc: 68bb ldr r3, [r7, #8] 80c40fe: 2b00 cmp r3, #0 80c4100: d010 beq.n 80c4124 { USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_EPDIS); 80c4102: 68bb ldr r3, [r7, #8] 80c4104: 015a lsls r2, r3, #5 80c4106: 68fb ldr r3, [r7, #12] 80c4108: 4413 add r3, r2 80c410a: f503 6310 add.w r3, r3, #2304 ; 0x900 80c410e: 4619 mov r1, r3 80c4110: 68bb ldr r3, [r7, #8] 80c4112: 015a lsls r2, r3, #5 80c4114: 68fb ldr r3, [r7, #12] 80c4116: 4413 add r3, r2 80c4118: f503 6310 add.w r3, r3, #2304 ; 0x900 80c411c: 681b ldr r3, [r3, #0] 80c411e: f023 4380 bic.w r3, r3, #1073741824 ; 0x40000000 80c4122: 600b str r3, [r1, #0] } USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_STALL; 80c4124: 68bb ldr r3, [r7, #8] 80c4126: 015a lsls r2, r3, #5 80c4128: 68fb ldr r3, [r7, #12] 80c412a: 4413 add r3, r2 80c412c: f503 6310 add.w r3, r3, #2304 ; 0x900 80c4130: 4619 mov r1, r3 80c4132: 68bb ldr r3, [r7, #8] 80c4134: 015a lsls r2, r3, #5 80c4136: 68fb ldr r3, [r7, #12] 80c4138: 4413 add r3, r2 80c413a: f503 6310 add.w r3, r3, #2304 ; 0x900 80c413e: 681b ldr r3, [r3, #0] 80c4140: f443 1300 orr.w r3, r3, #2097152 ; 0x200000 80c4144: 600b str r3, [r1, #0] 80c4146: e02d b.n 80c41a4 } else { if (((USBx_OUTEP(epnum)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == 0U) && (epnum != 0U)) 80c4148: 68bb ldr r3, [r7, #8] 80c414a: 015a lsls r2, r3, #5 80c414c: 68fb ldr r3, [r7, #12] 80c414e: 4413 add r3, r2 80c4150: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c4154: 681b ldr r3, [r3, #0] 80c4156: 2b00 cmp r3, #0 80c4158: db13 blt.n 80c4182 80c415a: 68bb ldr r3, [r7, #8] 80c415c: 2b00 cmp r3, #0 80c415e: d010 beq.n 80c4182 { USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_EPDIS); 80c4160: 68bb ldr r3, [r7, #8] 80c4162: 015a lsls r2, r3, #5 80c4164: 68fb ldr r3, [r7, #12] 80c4166: 4413 add r3, r2 80c4168: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c416c: 4619 mov r1, r3 80c416e: 68bb ldr r3, [r7, #8] 80c4170: 015a lsls r2, r3, #5 80c4172: 68fb ldr r3, [r7, #12] 80c4174: 4413 add r3, r2 80c4176: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c417a: 681b ldr r3, [r3, #0] 80c417c: f023 4380 bic.w r3, r3, #1073741824 ; 0x40000000 80c4180: 600b str r3, [r1, #0] } USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_STALL; 80c4182: 68bb ldr r3, [r7, #8] 80c4184: 015a lsls r2, r3, #5 80c4186: 68fb ldr r3, [r7, #12] 80c4188: 4413 add r3, r2 80c418a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c418e: 4619 mov r1, r3 80c4190: 68bb ldr r3, [r7, #8] 80c4192: 015a lsls r2, r3, #5 80c4194: 68fb ldr r3, [r7, #12] 80c4196: 4413 add r3, r2 80c4198: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c419c: 681b ldr r3, [r3, #0] 80c419e: f443 1300 orr.w r3, r3, #2097152 ; 0x200000 80c41a2: 600b str r3, [r1, #0] } return HAL_OK; 80c41a4: 2300 movs r3, #0 } 80c41a6: 4618 mov r0, r3 80c41a8: 3714 adds r7, #20 80c41aa: 46bd mov sp, r7 80c41ac: f85d 7b04 ldr.w r7, [sp], #4 80c41b0: 4770 bx lr 080c41b2 : * @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) { 80c41b2: b480 push {r7} 80c41b4: b085 sub sp, #20 80c41b6: af00 add r7, sp, #0 80c41b8: 6078 str r0, [r7, #4] 80c41ba: 6039 str r1, [r7, #0] uint32_t USBx_BASE = (uint32_t)USBx; 80c41bc: 687b ldr r3, [r7, #4] 80c41be: 60fb str r3, [r7, #12] uint32_t epnum = (uint32_t)ep->num; 80c41c0: 683b ldr r3, [r7, #0] 80c41c2: 781b ldrb r3, [r3, #0] 80c41c4: 60bb str r3, [r7, #8] if (ep->is_in == 1U) 80c41c6: 683b ldr r3, [r7, #0] 80c41c8: 785b ldrb r3, [r3, #1] 80c41ca: 2b01 cmp r3, #1 80c41cc: d12a bne.n 80c4224 { USBx_INEP(epnum)->DIEPCTL &= ~USB_OTG_DIEPCTL_STALL; 80c41ce: 68bb ldr r3, [r7, #8] 80c41d0: 015a lsls r2, r3, #5 80c41d2: 68fb ldr r3, [r7, #12] 80c41d4: 4413 add r3, r2 80c41d6: f503 6310 add.w r3, r3, #2304 ; 0x900 80c41da: 4619 mov r1, r3 80c41dc: 68bb ldr r3, [r7, #8] 80c41de: 015a lsls r2, r3, #5 80c41e0: 68fb ldr r3, [r7, #12] 80c41e2: 4413 add r3, r2 80c41e4: f503 6310 add.w r3, r3, #2304 ; 0x900 80c41e8: 681b ldr r3, [r3, #0] 80c41ea: f423 1300 bic.w r3, r3, #2097152 ; 0x200000 80c41ee: 600b str r3, [r1, #0] if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 80c41f0: 683b ldr r3, [r7, #0] 80c41f2: 78db ldrb r3, [r3, #3] 80c41f4: 2b03 cmp r3, #3 80c41f6: d003 beq.n 80c4200 80c41f8: 683b ldr r3, [r7, #0] 80c41fa: 78db ldrb r3, [r3, #3] 80c41fc: 2b02 cmp r3, #2 80c41fe: d13b bne.n 80c4278 { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; /* DATA0 */ 80c4200: 68bb ldr r3, [r7, #8] 80c4202: 015a lsls r2, r3, #5 80c4204: 68fb ldr r3, [r7, #12] 80c4206: 4413 add r3, r2 80c4208: f503 6310 add.w r3, r3, #2304 ; 0x900 80c420c: 4619 mov r1, r3 80c420e: 68bb ldr r3, [r7, #8] 80c4210: 015a lsls r2, r3, #5 80c4212: 68fb ldr r3, [r7, #12] 80c4214: 4413 add r3, r2 80c4216: f503 6310 add.w r3, r3, #2304 ; 0x900 80c421a: 681b ldr r3, [r3, #0] 80c421c: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80c4220: 600b str r3, [r1, #0] 80c4222: e029 b.n 80c4278 } } else { USBx_OUTEP(epnum)->DOEPCTL &= ~USB_OTG_DOEPCTL_STALL; 80c4224: 68bb ldr r3, [r7, #8] 80c4226: 015a lsls r2, r3, #5 80c4228: 68fb ldr r3, [r7, #12] 80c422a: 4413 add r3, r2 80c422c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c4230: 4619 mov r1, r3 80c4232: 68bb ldr r3, [r7, #8] 80c4234: 015a lsls r2, r3, #5 80c4236: 68fb ldr r3, [r7, #12] 80c4238: 4413 add r3, r2 80c423a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c423e: 681b ldr r3, [r3, #0] 80c4240: f423 1300 bic.w r3, r3, #2097152 ; 0x200000 80c4244: 600b str r3, [r1, #0] if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 80c4246: 683b ldr r3, [r7, #0] 80c4248: 78db ldrb r3, [r3, #3] 80c424a: 2b03 cmp r3, #3 80c424c: d003 beq.n 80c4256 80c424e: 683b ldr r3, [r7, #0] 80c4250: 78db ldrb r3, [r3, #3] 80c4252: 2b02 cmp r3, #2 80c4254: d110 bne.n 80c4278 { USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SD0PID_SEVNFRM; /* DATA0 */ 80c4256: 68bb ldr r3, [r7, #8] 80c4258: 015a lsls r2, r3, #5 80c425a: 68fb ldr r3, [r7, #12] 80c425c: 4413 add r3, r2 80c425e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c4262: 4619 mov r1, r3 80c4264: 68bb ldr r3, [r7, #8] 80c4266: 015a lsls r2, r3, #5 80c4268: 68fb ldr r3, [r7, #12] 80c426a: 4413 add r3, r2 80c426c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c4270: 681b ldr r3, [r3, #0] 80c4272: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80c4276: 600b str r3, [r1, #0] } } return HAL_OK; 80c4278: 2300 movs r3, #0 } 80c427a: 4618 mov r0, r3 80c427c: 3714 adds r7, #20 80c427e: 46bd mov sp, r7 80c4280: f85d 7b04 ldr.w r7, [sp], #4 80c4284: 4770 bx lr 080c4286 : * @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) { 80c4286: b480 push {r7} 80c4288: b085 sub sp, #20 80c428a: af00 add r7, sp, #0 80c428c: 6078 str r0, [r7, #4] 80c428e: 460b mov r3, r1 80c4290: 70fb strb r3, [r7, #3] uint32_t USBx_BASE = (uint32_t)USBx; 80c4292: 687b ldr r3, [r7, #4] 80c4294: 60fb str r3, [r7, #12] USBx_DEVICE->DCFG &= ~(USB_OTG_DCFG_DAD); 80c4296: 68fb ldr r3, [r7, #12] 80c4298: f503 6300 add.w r3, r3, #2048 ; 0x800 80c429c: 461a mov r2, r3 80c429e: 68fb ldr r3, [r7, #12] 80c42a0: f503 6300 add.w r3, r3, #2048 ; 0x800 80c42a4: 681b ldr r3, [r3, #0] 80c42a6: f423 63fe bic.w r3, r3, #2032 ; 0x7f0 80c42aa: 6013 str r3, [r2, #0] USBx_DEVICE->DCFG |= ((uint32_t)address << 4) & USB_OTG_DCFG_DAD; 80c42ac: 68fb ldr r3, [r7, #12] 80c42ae: f503 6300 add.w r3, r3, #2048 ; 0x800 80c42b2: 4619 mov r1, r3 80c42b4: 68fb ldr r3, [r7, #12] 80c42b6: f503 6300 add.w r3, r3, #2048 ; 0x800 80c42ba: 681a ldr r2, [r3, #0] 80c42bc: 78fb ldrb r3, [r7, #3] 80c42be: 011b lsls r3, r3, #4 80c42c0: f403 63fe and.w r3, r3, #2032 ; 0x7f0 80c42c4: 4313 orrs r3, r2 80c42c6: 600b str r3, [r1, #0] return HAL_OK; 80c42c8: 2300 movs r3, #0 } 80c42ca: 4618 mov r0, r3 80c42cc: 3714 adds r7, #20 80c42ce: 46bd mov sp, r7 80c42d0: f85d 7b04 ldr.w r7, [sp], #4 80c42d4: 4770 bx lr 080c42d6 : * @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) { 80c42d6: b480 push {r7} 80c42d8: b085 sub sp, #20 80c42da: af00 add r7, sp, #0 80c42dc: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80c42de: 687b ldr r3, [r7, #4] 80c42e0: 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); 80c42e2: 68fb ldr r3, [r7, #12] 80c42e4: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c42e8: 461a mov r2, r3 80c42ea: 68fb ldr r3, [r7, #12] 80c42ec: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c42f0: 681b ldr r3, [r3, #0] 80c42f2: f023 0303 bic.w r3, r3, #3 80c42f6: 6013 str r3, [r2, #0] USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_SDIS; 80c42f8: 68fb ldr r3, [r7, #12] 80c42fa: f503 6300 add.w r3, r3, #2048 ; 0x800 80c42fe: 461a mov r2, r3 80c4300: 68fb ldr r3, [r7, #12] 80c4302: f503 6300 add.w r3, r3, #2048 ; 0x800 80c4306: 685b ldr r3, [r3, #4] 80c4308: f023 0302 bic.w r3, r3, #2 80c430c: 6053 str r3, [r2, #4] return HAL_OK; 80c430e: 2300 movs r3, #0 } 80c4310: 4618 mov r0, r3 80c4312: 3714 adds r7, #20 80c4314: 46bd mov sp, r7 80c4316: f85d 7b04 ldr.w r7, [sp], #4 80c431a: 4770 bx lr 080c431c : * @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) { 80c431c: b480 push {r7} 80c431e: b085 sub sp, #20 80c4320: af00 add r7, sp, #0 80c4322: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80c4324: 687b ldr r3, [r7, #4] 80c4326: 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); 80c4328: 68fb ldr r3, [r7, #12] 80c432a: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c432e: 461a mov r2, r3 80c4330: 68fb ldr r3, [r7, #12] 80c4332: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c4336: 681b ldr r3, [r3, #0] 80c4338: f023 0303 bic.w r3, r3, #3 80c433c: 6013 str r3, [r2, #0] USBx_DEVICE->DCTL |= USB_OTG_DCTL_SDIS; 80c433e: 68fb ldr r3, [r7, #12] 80c4340: f503 6300 add.w r3, r3, #2048 ; 0x800 80c4344: 461a mov r2, r3 80c4346: 68fb ldr r3, [r7, #12] 80c4348: f503 6300 add.w r3, r3, #2048 ; 0x800 80c434c: 685b ldr r3, [r3, #4] 80c434e: f043 0302 orr.w r3, r3, #2 80c4352: 6053 str r3, [r2, #4] return HAL_OK; 80c4354: 2300 movs r3, #0 } 80c4356: 4618 mov r0, r3 80c4358: 3714 adds r7, #20 80c435a: 46bd mov sp, r7 80c435c: f85d 7b04 ldr.w r7, [sp], #4 80c4360: 4770 bx lr 080c4362 : * @brief USB_ReadInterrupts: return the global USB interrupt status * @param USBx Selected device * @retval HAL status */ uint32_t USB_ReadInterrupts(USB_OTG_GlobalTypeDef *USBx) { 80c4362: b480 push {r7} 80c4364: b085 sub sp, #20 80c4366: af00 add r7, sp, #0 80c4368: 6078 str r0, [r7, #4] uint32_t tmpreg; tmpreg = USBx->GINTSTS; 80c436a: 687b ldr r3, [r7, #4] 80c436c: 695b ldr r3, [r3, #20] 80c436e: 60fb str r3, [r7, #12] tmpreg &= USBx->GINTMSK; 80c4370: 687b ldr r3, [r7, #4] 80c4372: 699b ldr r3, [r3, #24] 80c4374: 68fa ldr r2, [r7, #12] 80c4376: 4013 ands r3, r2 80c4378: 60fb str r3, [r7, #12] return tmpreg; 80c437a: 68fb ldr r3, [r7, #12] } 80c437c: 4618 mov r0, r3 80c437e: 3714 adds r7, #20 80c4380: 46bd mov sp, r7 80c4382: f85d 7b04 ldr.w r7, [sp], #4 80c4386: 4770 bx lr 080c4388 : * @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) { 80c4388: b480 push {r7} 80c438a: b085 sub sp, #20 80c438c: af00 add r7, sp, #0 80c438e: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80c4390: 687b ldr r3, [r7, #4] 80c4392: 60fb str r3, [r7, #12] uint32_t tmpreg; tmpreg = USBx_DEVICE->DAINT; 80c4394: 68fb ldr r3, [r7, #12] 80c4396: f503 6300 add.w r3, r3, #2048 ; 0x800 80c439a: 699b ldr r3, [r3, #24] 80c439c: 60bb str r3, [r7, #8] tmpreg &= USBx_DEVICE->DAINTMSK; 80c439e: 68fb ldr r3, [r7, #12] 80c43a0: f503 6300 add.w r3, r3, #2048 ; 0x800 80c43a4: 69db ldr r3, [r3, #28] 80c43a6: 68ba ldr r2, [r7, #8] 80c43a8: 4013 ands r3, r2 80c43aa: 60bb str r3, [r7, #8] return ((tmpreg & 0xffff0000U) >> 16); 80c43ac: 68bb ldr r3, [r7, #8] 80c43ae: 0c1b lsrs r3, r3, #16 } 80c43b0: 4618 mov r0, r3 80c43b2: 3714 adds r7, #20 80c43b4: 46bd mov sp, r7 80c43b6: f85d 7b04 ldr.w r7, [sp], #4 80c43ba: 4770 bx lr 080c43bc : * @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) { 80c43bc: b480 push {r7} 80c43be: b085 sub sp, #20 80c43c0: af00 add r7, sp, #0 80c43c2: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80c43c4: 687b ldr r3, [r7, #4] 80c43c6: 60fb str r3, [r7, #12] uint32_t tmpreg; tmpreg = USBx_DEVICE->DAINT; 80c43c8: 68fb ldr r3, [r7, #12] 80c43ca: f503 6300 add.w r3, r3, #2048 ; 0x800 80c43ce: 699b ldr r3, [r3, #24] 80c43d0: 60bb str r3, [r7, #8] tmpreg &= USBx_DEVICE->DAINTMSK; 80c43d2: 68fb ldr r3, [r7, #12] 80c43d4: f503 6300 add.w r3, r3, #2048 ; 0x800 80c43d8: 69db ldr r3, [r3, #28] 80c43da: 68ba ldr r2, [r7, #8] 80c43dc: 4013 ands r3, r2 80c43de: 60bb str r3, [r7, #8] return ((tmpreg & 0xFFFFU)); 80c43e0: 68bb ldr r3, [r7, #8] 80c43e2: b29b uxth r3, r3 } 80c43e4: 4618 mov r0, r3 80c43e6: 3714 adds r7, #20 80c43e8: 46bd mov sp, r7 80c43ea: f85d 7b04 ldr.w r7, [sp], #4 80c43ee: 4770 bx lr 080c43f0 : * @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) { 80c43f0: b480 push {r7} 80c43f2: b085 sub sp, #20 80c43f4: af00 add r7, sp, #0 80c43f6: 6078 str r0, [r7, #4] 80c43f8: 460b mov r3, r1 80c43fa: 70fb strb r3, [r7, #3] uint32_t USBx_BASE = (uint32_t)USBx; 80c43fc: 687b ldr r3, [r7, #4] 80c43fe: 60fb str r3, [r7, #12] uint32_t tmpreg; tmpreg = USBx_OUTEP((uint32_t)epnum)->DOEPINT; 80c4400: 78fb ldrb r3, [r7, #3] 80c4402: 015a lsls r2, r3, #5 80c4404: 68fb ldr r3, [r7, #12] 80c4406: 4413 add r3, r2 80c4408: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c440c: 689b ldr r3, [r3, #8] 80c440e: 60bb str r3, [r7, #8] tmpreg &= USBx_DEVICE->DOEPMSK; 80c4410: 68fb ldr r3, [r7, #12] 80c4412: f503 6300 add.w r3, r3, #2048 ; 0x800 80c4416: 695b ldr r3, [r3, #20] 80c4418: 68ba ldr r2, [r7, #8] 80c441a: 4013 ands r3, r2 80c441c: 60bb str r3, [r7, #8] return tmpreg; 80c441e: 68bb ldr r3, [r7, #8] } 80c4420: 4618 mov r0, r3 80c4422: 3714 adds r7, #20 80c4424: 46bd mov sp, r7 80c4426: f85d 7b04 ldr.w r7, [sp], #4 80c442a: 4770 bx lr 080c442c : * @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) { 80c442c: b480 push {r7} 80c442e: b087 sub sp, #28 80c4430: af00 add r7, sp, #0 80c4432: 6078 str r0, [r7, #4] 80c4434: 460b mov r3, r1 80c4436: 70fb strb r3, [r7, #3] uint32_t USBx_BASE = (uint32_t)USBx; 80c4438: 687b ldr r3, [r7, #4] 80c443a: 617b str r3, [r7, #20] uint32_t tmpreg; uint32_t msk; uint32_t emp; msk = USBx_DEVICE->DIEPMSK; 80c443c: 697b ldr r3, [r7, #20] 80c443e: f503 6300 add.w r3, r3, #2048 ; 0x800 80c4442: 691b ldr r3, [r3, #16] 80c4444: 613b str r3, [r7, #16] emp = USBx_DEVICE->DIEPEMPMSK; 80c4446: 697b ldr r3, [r7, #20] 80c4448: f503 6300 add.w r3, r3, #2048 ; 0x800 80c444c: 6b5b ldr r3, [r3, #52] ; 0x34 80c444e: 60fb str r3, [r7, #12] msk |= ((emp >> (epnum & EP_ADDR_MSK)) & 0x1U) << 7; 80c4450: 78fb ldrb r3, [r7, #3] 80c4452: f003 030f and.w r3, r3, #15 80c4456: 68fa ldr r2, [r7, #12] 80c4458: fa22 f303 lsr.w r3, r2, r3 80c445c: 01db lsls r3, r3, #7 80c445e: b2db uxtb r3, r3 80c4460: 693a ldr r2, [r7, #16] 80c4462: 4313 orrs r3, r2 80c4464: 613b str r3, [r7, #16] tmpreg = USBx_INEP((uint32_t)epnum)->DIEPINT & msk; 80c4466: 78fb ldrb r3, [r7, #3] 80c4468: 015a lsls r2, r3, #5 80c446a: 697b ldr r3, [r7, #20] 80c446c: 4413 add r3, r2 80c446e: f503 6310 add.w r3, r3, #2304 ; 0x900 80c4472: 689a ldr r2, [r3, #8] 80c4474: 693b ldr r3, [r7, #16] 80c4476: 4013 ands r3, r2 80c4478: 60bb str r3, [r7, #8] return tmpreg; 80c447a: 68bb ldr r3, [r7, #8] } 80c447c: 4618 mov r0, r3 80c447e: 371c adds r7, #28 80c4480: 46bd mov sp, r7 80c4482: f85d 7b04 ldr.w r7, [sp], #4 80c4486: 4770 bx lr 080c4488 : * This parameter can be one of these values: * 0 : Host * 1 : Device */ uint32_t USB_GetMode(USB_OTG_GlobalTypeDef *USBx) { 80c4488: b480 push {r7} 80c448a: b083 sub sp, #12 80c448c: af00 add r7, sp, #0 80c448e: 6078 str r0, [r7, #4] return ((USBx->GINTSTS) & 0x1U); 80c4490: 687b ldr r3, [r7, #4] 80c4492: 695b ldr r3, [r3, #20] 80c4494: f003 0301 and.w r3, r3, #1 } 80c4498: 4618 mov r0, r3 80c449a: 370c adds r7, #12 80c449c: 46bd mov sp, r7 80c449e: f85d 7b04 ldr.w r7, [sp], #4 80c44a2: 4770 bx lr 080c44a4 : * @brief Activate EP0 for Setup transactions * @param USBx Selected device * @retval HAL status */ HAL_StatusTypeDef USB_ActivateSetup(USB_OTG_GlobalTypeDef *USBx) { 80c44a4: b480 push {r7} 80c44a6: b085 sub sp, #20 80c44a8: af00 add r7, sp, #0 80c44aa: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80c44ac: 687b ldr r3, [r7, #4] 80c44ae: 60fb str r3, [r7, #12] /* Set the MPS of the IN EP0 to 64 bytes */ USBx_INEP(0U)->DIEPCTL &= ~USB_OTG_DIEPCTL_MPSIZ; 80c44b0: 68fb ldr r3, [r7, #12] 80c44b2: f503 6310 add.w r3, r3, #2304 ; 0x900 80c44b6: 4619 mov r1, r3 80c44b8: 68fb ldr r3, [r7, #12] 80c44ba: f503 6310 add.w r3, r3, #2304 ; 0x900 80c44be: 681a ldr r2, [r3, #0] 80c44c0: 4b0a ldr r3, [pc, #40] ; (80c44ec ) 80c44c2: 4013 ands r3, r2 80c44c4: 600b str r3, [r1, #0] USBx_DEVICE->DCTL |= USB_OTG_DCTL_CGINAK; 80c44c6: 68fb ldr r3, [r7, #12] 80c44c8: f503 6300 add.w r3, r3, #2048 ; 0x800 80c44cc: 461a mov r2, r3 80c44ce: 68fb ldr r3, [r7, #12] 80c44d0: f503 6300 add.w r3, r3, #2048 ; 0x800 80c44d4: 685b ldr r3, [r3, #4] 80c44d6: f443 7380 orr.w r3, r3, #256 ; 0x100 80c44da: 6053 str r3, [r2, #4] return HAL_OK; 80c44dc: 2300 movs r3, #0 } 80c44de: 4618 mov r0, r3 80c44e0: 3714 adds r7, #20 80c44e2: 46bd mov sp, r7 80c44e4: f85d 7b04 ldr.w r7, [sp], #4 80c44e8: 4770 bx lr 80c44ea: bf00 nop 80c44ec: fffff800 .word 0xfffff800 080c44f0 : * 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) { 80c44f0: b480 push {r7} 80c44f2: b087 sub sp, #28 80c44f4: af00 add r7, sp, #0 80c44f6: 60f8 str r0, [r7, #12] 80c44f8: 460b mov r3, r1 80c44fa: 607a str r2, [r7, #4] 80c44fc: 72fb strb r3, [r7, #11] uint32_t USBx_BASE = (uint32_t)USBx; 80c44fe: 68fb ldr r3, [r7, #12] 80c4500: 617b str r3, [r7, #20] uint32_t gSNPSiD = *(__IO uint32_t *)(&USBx->CID + 0x1U); 80c4502: 68fb ldr r3, [r7, #12] 80c4504: 333c adds r3, #60 ; 0x3c 80c4506: 3304 adds r3, #4 80c4508: 681b ldr r3, [r3, #0] 80c450a: 613b str r3, [r7, #16] if (gSNPSiD > USB_OTG_CORE_ID_300A) 80c450c: 693b ldr r3, [r7, #16] 80c450e: 4a28 ldr r2, [pc, #160] ; (80c45b0 ) 80c4510: 4293 cmp r3, r2 80c4512: d90a bls.n 80c452a { if ((USBx_OUTEP(0U)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 80c4514: 697b ldr r3, [r7, #20] 80c4516: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c451a: 681b ldr r3, [r3, #0] 80c451c: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80c4520: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80c4524: d101 bne.n 80c452a { return HAL_OK; 80c4526: 2300 movs r3, #0 80c4528: e03b b.n 80c45a2 } } USBx_OUTEP(0U)->DOEPTSIZ = 0U; 80c452a: 697b ldr r3, [r7, #20] 80c452c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c4530: 461a mov r2, r3 80c4532: 2300 movs r3, #0 80c4534: 6113 str r3, [r2, #16] USBx_OUTEP(0U)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 80c4536: 697b ldr r3, [r7, #20] 80c4538: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c453c: 461a mov r2, r3 80c453e: 697b ldr r3, [r7, #20] 80c4540: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c4544: 691b ldr r3, [r3, #16] 80c4546: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80c454a: 6113 str r3, [r2, #16] USBx_OUTEP(0U)->DOEPTSIZ |= (3U * 8U); 80c454c: 697b ldr r3, [r7, #20] 80c454e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c4552: 461a mov r2, r3 80c4554: 697b ldr r3, [r7, #20] 80c4556: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c455a: 691b ldr r3, [r3, #16] 80c455c: f043 0318 orr.w r3, r3, #24 80c4560: 6113 str r3, [r2, #16] USBx_OUTEP(0U)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_STUPCNT; 80c4562: 697b ldr r3, [r7, #20] 80c4564: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c4568: 461a mov r2, r3 80c456a: 697b ldr r3, [r7, #20] 80c456c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c4570: 691b ldr r3, [r3, #16] 80c4572: f043 43c0 orr.w r3, r3, #1610612736 ; 0x60000000 80c4576: 6113 str r3, [r2, #16] if (dma == 1U) 80c4578: 7afb ldrb r3, [r7, #11] 80c457a: 2b01 cmp r3, #1 80c457c: d110 bne.n 80c45a0 { USBx_OUTEP(0U)->DOEPDMA = (uint32_t)psetup; 80c457e: 697b ldr r3, [r7, #20] 80c4580: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c4584: 461a mov r2, r3 80c4586: 687b ldr r3, [r7, #4] 80c4588: 6153 str r3, [r2, #20] /* EP enable */ USBx_OUTEP(0U)->DOEPCTL |= USB_OTG_DOEPCTL_EPENA | USB_OTG_DOEPCTL_USBAEP; 80c458a: 697b ldr r3, [r7, #20] 80c458c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c4590: 461a mov r2, r3 80c4592: 697b ldr r3, [r7, #20] 80c4594: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c4598: 681b ldr r3, [r3, #0] 80c459a: f043 2380 orr.w r3, r3, #2147516416 ; 0x80008000 80c459e: 6013 str r3, [r2, #0] } return HAL_OK; 80c45a0: 2300 movs r3, #0 } 80c45a2: 4618 mov r0, r3 80c45a4: 371c adds r7, #28 80c45a6: 46bd mov sp, r7 80c45a8: f85d 7b04 ldr.w r7, [sp], #4 80c45ac: 4770 bx lr 80c45ae: bf00 nop 80c45b0: 4f54300a .word 0x4f54300a 080c45b4 : * @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) { 80c45b4: b480 push {r7} 80c45b6: b085 sub sp, #20 80c45b8: af00 add r7, sp, #0 80c45ba: 6078 str r0, [r7, #4] __IO uint32_t count = 0U; 80c45bc: 2300 movs r3, #0 80c45be: 60fb str r3, [r7, #12] /* Wait for AHB master IDLE state. */ do { if (++count > 200000U) 80c45c0: 68fb ldr r3, [r7, #12] 80c45c2: 3301 adds r3, #1 80c45c4: 60fb str r3, [r7, #12] 80c45c6: 4a13 ldr r2, [pc, #76] ; (80c4614 ) 80c45c8: 4293 cmp r3, r2 80c45ca: d901 bls.n 80c45d0 { return HAL_TIMEOUT; 80c45cc: 2303 movs r3, #3 80c45ce: e01a b.n 80c4606 } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U); 80c45d0: 687b ldr r3, [r7, #4] 80c45d2: 691b ldr r3, [r3, #16] 80c45d4: 2b00 cmp r3, #0 80c45d6: daf3 bge.n 80c45c0 /* Core Soft Reset */ count = 0U; 80c45d8: 2300 movs r3, #0 80c45da: 60fb str r3, [r7, #12] USBx->GRSTCTL |= USB_OTG_GRSTCTL_CSRST; 80c45dc: 687b ldr r3, [r7, #4] 80c45de: 691b ldr r3, [r3, #16] 80c45e0: f043 0201 orr.w r2, r3, #1 80c45e4: 687b ldr r3, [r7, #4] 80c45e6: 611a str r2, [r3, #16] do { if (++count > 200000U) 80c45e8: 68fb ldr r3, [r7, #12] 80c45ea: 3301 adds r3, #1 80c45ec: 60fb str r3, [r7, #12] 80c45ee: 4a09 ldr r2, [pc, #36] ; (80c4614 ) 80c45f0: 4293 cmp r3, r2 80c45f2: d901 bls.n 80c45f8 { return HAL_TIMEOUT; 80c45f4: 2303 movs r3, #3 80c45f6: e006 b.n 80c4606 } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_CSRST) == USB_OTG_GRSTCTL_CSRST); 80c45f8: 687b ldr r3, [r7, #4] 80c45fa: 691b ldr r3, [r3, #16] 80c45fc: f003 0301 and.w r3, r3, #1 80c4600: 2b01 cmp r3, #1 80c4602: d0f1 beq.n 80c45e8 return HAL_OK; 80c4604: 2300 movs r3, #0 } 80c4606: 4618 mov r0, r3 80c4608: 3714 adds r7, #20 80c460a: 46bd mov sp, r7 80c460c: f85d 7b04 ldr.w r7, [sp], #4 80c4610: 4770 bx lr 80c4612: bf00 nop 80c4614: 00030d40 .word 0x00030d40 080c4618 : /* USER CODE BEGIN Variables */ extern RTC_HandleTypeDef hrtc; /* USER CODE END Variables */ void MX_FATFS_Init(void) { 80c4618: b580 push {r7, lr} 80c461a: af00 add r7, sp, #0 /*## FatFS: Link the SD driver ###########################*/ retSD = FATFS_LinkDriver(&SD_Driver, SDPath); 80c461c: 4904 ldr r1, [pc, #16] ; (80c4630 ) 80c461e: 4805 ldr r0, [pc, #20] ; (80c4634 ) 80c4620: f009 fbc0 bl 80cdda4 80c4624: 4603 mov r3, r0 80c4626: 461a mov r2, r3 80c4628: 4b03 ldr r3, [pc, #12] ; (80c4638 ) 80c462a: 701a strb r2, [r3, #0] /* USER CODE BEGIN Init */ /* additional user code for init */ /* USER CODE END Init */ } 80c462c: bf00 nop 80c462e: bd80 pop {r7, pc} 80c4630: 20068b2c .word 0x20068b2c 80c4634: 08106260 .word 0x08106260 80c4638: 20068b28 .word 0x20068b28 080c463c : * @brief Gets Time from RTC * @param None * @retval Time in DWORD */ DWORD get_fattime(void) { 80c463c: b580 push {r7, lr} 80c463e: b08e sub sp, #56 ; 0x38 80c4640: 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); 80c4642: f107 0318 add.w r3, r7, #24 80c4646: 2200 movs r2, #0 80c4648: 4619 mov r1, r3 80c464a: 4818 ldr r0, [pc, #96] ; (80c46ac ) 80c464c: f7f8 ffc8 bl 80bd5e0 HAL_RTC_GetTime(&hrtc, &RTC_Time, RTC_FORMAT_BIN); 80c4650: 463b mov r3, r7 80c4652: 2200 movs r2, #0 80c4654: 4619 mov r1, r3 80c4656: 4815 ldr r0, [pc, #84] ; (80c46ac ) 80c4658: f7f8 febc bl 80bd3d4 Year = RTC_Date.Year + 2000; 80c465c: 7efb ldrb r3, [r7, #27] 80c465e: f503 63fa add.w r3, r3, #2000 ; 0x7d0 80c4662: 637b str r3, [r7, #52] ; 0x34 Month = RTC_Date.Month; 80c4664: 7e7b ldrb r3, [r7, #25] 80c4666: 633b str r3, [r7, #48] ; 0x30 Day = RTC_Date.Date; 80c4668: 7ebb ldrb r3, [r7, #26] 80c466a: 62fb str r3, [r7, #44] ; 0x2c Hour = RTC_Time.Hours; 80c466c: 783b ldrb r3, [r7, #0] 80c466e: 62bb str r3, [r7, #40] ; 0x28 Min = RTC_Time.Minutes; 80c4670: 787b ldrb r3, [r7, #1] 80c4672: 627b str r3, [r7, #36] ; 0x24 Sec = RTC_Time.Seconds; 80c4674: 78bb ldrb r3, [r7, #2] 80c4676: 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); 80c4678: 6b7b ldr r3, [r7, #52] ; 0x34 80c467a: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 80c467e: 065a lsls r2, r3, #25 80c4680: 6b3b ldr r3, [r7, #48] ; 0x30 80c4682: 055b lsls r3, r3, #21 80c4684: 431a orrs r2, r3 80c4686: 6afb ldr r3, [r7, #44] ; 0x2c 80c4688: 041b lsls r3, r3, #16 80c468a: 431a orrs r2, r3 80c468c: 6abb ldr r3, [r7, #40] ; 0x28 80c468e: 02db lsls r3, r3, #11 80c4690: 431a orrs r2, r3 80c4692: 6a7b ldr r3, [r7, #36] ; 0x24 80c4694: 015b lsls r3, r3, #5 80c4696: 431a orrs r2, r3 80c4698: 6a3b ldr r3, [r7, #32] 80c469a: 085b lsrs r3, r3, #1 80c469c: 4313 orrs r3, r2 80c469e: 61fb str r3, [r7, #28] return DateTime; 80c46a0: 69fb ldr r3, [r7, #28] } 80c46a2: 4618 mov r0, r3 80c46a4: 3738 adds r7, #56 ; 0x38 80c46a6: 46bd mov sp, r7 80c46a8: bd80 pop {r7, pc} 80c46aa: bf00 nop 80c46ac: 200685f8 .word 0x200685f8 080c46b0 : extern volatile uint8_t CardState; uint8_t BSP_PlatformIsDetected(void) { 80c46b0: b580 push {r7, lr} 80c46b2: b082 sub sp, #8 80c46b4: af00 add r7, sp, #0 uint8_t status = (uint8_t)0x01; 80c46b6: 2301 movs r3, #1 80c46b8: 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) 80c46ba: f44f 5180 mov.w r1, #4096 ; 0x1000 80c46be: 4806 ldr r0, [pc, #24] ; (80c46d8 ) 80c46c0: f7f5 fe54 bl 80ba36c 80c46c4: 4603 mov r3, r0 80c46c6: 2b01 cmp r3, #1 80c46c8: d101 bne.n 80c46ce { status = (uint8_t)0x00; 80c46ca: 2300 movs r3, #0 80c46cc: 71fb strb r3, [r7, #7] } /* USER CODE BEGIN 1 */ /* user code can be inserted here */ /* USER CODE END 1 */ return status; 80c46ce: 79fb ldrb r3, [r7, #7] } 80c46d0: 4618 mov r0, r3 80c46d2: 3708 adds r7, #8 80c46d4: 46bd mov sp, r7 80c46d6: bd80 pop {r7, pc} 80c46d8: 40020400 .word 0x40020400 080c46dc : /** * @brief Initializes the SD card device. * @retval SD status */ uint8_t BSP_SD_Init(void) { 80c46dc: b580 push {r7, lr} 80c46de: b082 sub sp, #8 80c46e0: af00 add r7, sp, #0 uint8_t sd_state = MSD_OK; 80c46e2: 2300 movs r3, #0 80c46e4: 71fb strb r3, [r7, #7] /* Check if the SD card is plugged in the slot */ if (BSP_SD_IsDetected() != SD_PRESENT) 80c46e6: f000 f898 bl 80c481a 80c46ea: 4603 mov r3, r0 80c46ec: 2b01 cmp r3, #1 80c46ee: d001 beq.n 80c46f4 { return MSD_ERROR_SD_NOT_PRESENT; 80c46f0: 2302 movs r3, #2 80c46f2: e015 b.n 80c4720 } /* HAL SD initialization */ HAL_SD_DeInit(&hsd1); 80c46f4: 480c ldr r0, [pc, #48] ; (80c4728 ) 80c46f6: f7f9 f93d bl 80bd974 sd_state = HAL_SD_Init(&hsd1); 80c46fa: 480b ldr r0, [pc, #44] ; (80c4728 ) 80c46fc: f7f9 f882 bl 80bd804 80c4700: 4603 mov r3, r0 80c4702: 71fb strb r3, [r7, #7] /* Configure SD Bus width (4 bits mode selected) */ if (sd_state == MSD_OK) 80c4704: 79fb ldrb r3, [r7, #7] 80c4706: 2b00 cmp r3, #0 80c4708: d109 bne.n 80c471e { /* Enable wide operation */ if (HAL_SD_ConfigWideBusOperation(&hsd1, SDMMC_BUS_WIDE_4B) != HAL_OK) 80c470a: f44f 6100 mov.w r1, #2048 ; 0x800 80c470e: 4806 ldr r0, [pc, #24] ; (80c4728 ) 80c4710: f7f9 fe68 bl 80be3e4 80c4714: 4603 mov r3, r0 80c4716: 2b00 cmp r3, #0 80c4718: d001 beq.n 80c471e { sd_state = MSD_ERROR; 80c471a: 2301 movs r3, #1 80c471c: 71fb strb r3, [r7, #7] } } return sd_state; 80c471e: 79fb ldrb r3, [r7, #7] } 80c4720: 4618 mov r0, r3 80c4722: 3708 adds r7, #8 80c4724: 46bd mov sp, r7 80c4726: bd80 pop {r7, pc} 80c4728: 2006864c .word 0x2006864c 080c472c : * @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) { 80c472c: b580 push {r7, lr} 80c472e: b086 sub sp, #24 80c4730: af00 add r7, sp, #0 80c4732: 60f8 str r0, [r7, #12] 80c4734: 60b9 str r1, [r7, #8] 80c4736: 607a str r2, [r7, #4] uint8_t sd_state = MSD_OK; 80c4738: 2300 movs r3, #0 80c473a: 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) 80c473c: 687b ldr r3, [r7, #4] 80c473e: 68ba ldr r2, [r7, #8] 80c4740: 68f9 ldr r1, [r7, #12] 80c4742: 4806 ldr r0, [pc, #24] ; (80c475c ) 80c4744: f7f9 f936 bl 80bd9b4 80c4748: 4603 mov r3, r0 80c474a: 2b00 cmp r3, #0 80c474c: d001 beq.n 80c4752 { sd_state = MSD_ERROR; 80c474e: 2301 movs r3, #1 80c4750: 75fb strb r3, [r7, #23] } return sd_state; 80c4752: 7dfb ldrb r3, [r7, #23] } 80c4754: 4618 mov r0, r3 80c4756: 3718 adds r7, #24 80c4758: 46bd mov sp, r7 80c475a: bd80 pop {r7, pc} 80c475c: 2006864c .word 0x2006864c 080c4760 : * @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) { 80c4760: b580 push {r7, lr} 80c4762: b086 sub sp, #24 80c4764: af00 add r7, sp, #0 80c4766: 60f8 str r0, [r7, #12] 80c4768: 60b9 str r1, [r7, #8] 80c476a: 607a str r2, [r7, #4] uint8_t sd_state = MSD_OK; 80c476c: 2300 movs r3, #0 80c476e: 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) 80c4770: 687b ldr r3, [r7, #4] 80c4772: 68ba ldr r2, [r7, #8] 80c4774: 68f9 ldr r1, [r7, #12] 80c4776: 4806 ldr r0, [pc, #24] ; (80c4790 ) 80c4778: f7f9 f9fe bl 80bdb78 80c477c: 4603 mov r3, r0 80c477e: 2b00 cmp r3, #0 80c4780: d001 beq.n 80c4786 { sd_state = MSD_ERROR; 80c4782: 2301 movs r3, #1 80c4784: 75fb strb r3, [r7, #23] } return sd_state; 80c4786: 7dfb ldrb r3, [r7, #23] } 80c4788: 4618 mov r0, r3 80c478a: 3718 adds r7, #24 80c478c: 46bd mov sp, r7 80c478e: bd80 pop {r7, pc} 80c4790: 2006864c .word 0x2006864c 080c4794 : * 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) { 80c4794: b580 push {r7, lr} 80c4796: af00 add r7, sp, #0 return ((HAL_SD_GetCardState(&hsd1) == HAL_SD_CARD_TRANSFER ) ? SD_TRANSFER_OK : SD_TRANSFER_BUSY); 80c4798: 4805 ldr r0, [pc, #20] ; (80c47b0 ) 80c479a: f7f9 febd bl 80be518 80c479e: 4603 mov r3, r0 80c47a0: 2b04 cmp r3, #4 80c47a2: bf14 ite ne 80c47a4: 2301 movne r3, #1 80c47a6: 2300 moveq r3, #0 80c47a8: b2db uxtb r3, r3 } 80c47aa: 4618 mov r0, r3 80c47ac: bd80 pop {r7, pc} 80c47ae: bf00 nop 80c47b0: 2006864c .word 0x2006864c 080c47b4 : * @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) { 80c47b4: b580 push {r7, lr} 80c47b6: b082 sub sp, #8 80c47b8: af00 add r7, sp, #0 80c47ba: 6078 str r0, [r7, #4] /* Get SD card Information */ HAL_SD_GetCardInfo(&hsd1, CardInfo); 80c47bc: 6879 ldr r1, [r7, #4] 80c47be: 4803 ldr r0, [pc, #12] ; (80c47cc ) 80c47c0: f7f9 fde4 bl 80be38c } 80c47c4: bf00 nop 80c47c6: 3708 adds r7, #8 80c47c8: 46bd mov sp, r7 80c47ca: bd80 pop {r7, pc} 80c47cc: 2006864c .word 0x2006864c 080c47d0 : * @brief SD Abort callbacks * @param hsd: SD handle * @retval None */ void HAL_SD_AbortCallback(SD_HandleTypeDef *hsd) { 80c47d0: b580 push {r7, lr} 80c47d2: b082 sub sp, #8 80c47d4: af00 add r7, sp, #0 80c47d6: 6078 str r0, [r7, #4] BSP_SD_AbortCallback(); 80c47d8: f000 f818 bl 80c480c } 80c47dc: bf00 nop 80c47de: 3708 adds r7, #8 80c47e0: 46bd mov sp, r7 80c47e2: bd80 pop {r7, pc} 080c47e4 : * @brief Tx Transfer completed callback * @param hsd: SD handle * @retval None */ void HAL_SD_TxCpltCallback(SD_HandleTypeDef *hsd) { 80c47e4: b580 push {r7, lr} 80c47e6: b082 sub sp, #8 80c47e8: af00 add r7, sp, #0 80c47ea: 6078 str r0, [r7, #4] BSP_SD_WriteCpltCallback(); 80c47ec: f000 f9e8 bl 80c4bc0 } 80c47f0: bf00 nop 80c47f2: 3708 adds r7, #8 80c47f4: 46bd mov sp, r7 80c47f6: bd80 pop {r7, pc} 080c47f8 : * @brief Rx Transfer completed callback * @param hsd: SD handle * @retval None */ void HAL_SD_RxCpltCallback(SD_HandleTypeDef *hsd) { 80c47f8: b580 push {r7, lr} 80c47fa: b082 sub sp, #8 80c47fc: af00 add r7, sp, #0 80c47fe: 6078 str r0, [r7, #4] BSP_SD_ReadCpltCallback(); 80c4800: f000 f9ea bl 80c4bd8 } 80c4804: bf00 nop 80c4806: 3708 adds r7, #8 80c4808: 46bd mov sp, r7 80c480a: bd80 pop {r7, pc} 080c480c : /** * @brief BSP SD Abort callback * @retval None */ __weak void BSP_SD_AbortCallback(void) { 80c480c: b480 push {r7} 80c480e: af00 add r7, sp, #0 } 80c4810: bf00 nop 80c4812: 46bd mov sp, r7 80c4814: f85d 7b04 ldr.w r7, [sp], #4 80c4818: 4770 bx lr 080c481a : * @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) { 80c481a: b580 push {r7, lr} 80c481c: b082 sub sp, #8 80c481e: af00 add r7, sp, #0 __IO uint8_t status = SD_PRESENT; 80c4820: 2301 movs r3, #1 80c4822: 71fb strb r3, [r7, #7] if(BSP_PlatformIsDetected() == 0x0) 80c4824: f7ff ff44 bl 80c46b0 80c4828: 4603 mov r3, r0 80c482a: 2b00 cmp r3, #0 80c482c: d101 bne.n 80c4832 status = SD_NOT_PRESENT; 80c482e: 2300 movs r3, #0 80c4830: 71fb strb r3, [r7, #7] /*if(BSP_PlatformIsDetected() == 0x0) { status = SD_NOT_PRESENT; }*/ return status; 80c4832: 79fb ldrb r3, [r7, #7] 80c4834: b2db uxtb r3, r3 } 80c4836: 4618 mov r0, r3 80c4838: 3708 adds r7, #8 80c483a: 46bd mov sp, r7 80c483c: bd80 pop {r7, pc} ... 080c4840 : { 80c4840: b480 push {r7} 80c4842: b085 sub sp, #20 80c4844: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 80c4846: 4b19 ldr r3, [pc, #100] ; (80c48ac ) 80c4848: 2200 movs r2, #0 80c484a: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 80c484e: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 80c4852: 4b16 ldr r3, [pc, #88] ; (80c48ac ) 80c4854: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80c4858: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 80c485a: 687b ldr r3, [r7, #4] 80c485c: 0b5b lsrs r3, r3, #13 80c485e: f3c3 030e ubfx r3, r3, #0, #15 80c4862: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 80c4864: 687b ldr r3, [r7, #4] 80c4866: 08db lsrs r3, r3, #3 80c4868: f3c3 0309 ubfx r3, r3, #0, #10 80c486c: 60bb str r3, [r7, #8] SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 80c486e: 490f ldr r1, [pc, #60] ; (80c48ac ) 80c4870: 68fb ldr r3, [r7, #12] 80c4872: 015a lsls r2, r3, #5 80c4874: f643 73e0 movw r3, #16352 ; 0x3fe0 80c4878: 4013 ands r3, r2 ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); 80c487a: 68ba ldr r2, [r7, #8] 80c487c: 0792 lsls r2, r2, #30 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 80c487e: 4313 orrs r3, r2 80c4880: f8c1 3274 str.w r3, [r1, #628] ; 0x274 } while (ways-- != 0U); 80c4884: 68bb ldr r3, [r7, #8] 80c4886: 1e5a subs r2, r3, #1 80c4888: 60ba str r2, [r7, #8] 80c488a: 2b00 cmp r3, #0 80c488c: d1ef bne.n 80c486e } while(sets-- != 0U); 80c488e: 68fb ldr r3, [r7, #12] 80c4890: 1e5a subs r2, r3, #1 80c4892: 60fa str r2, [r7, #12] 80c4894: 2b00 cmp r3, #0 80c4896: d1e5 bne.n 80c4864 80c4898: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80c489c: f3bf 8f6f isb sy } 80c48a0: bf00 nop 80c48a2: 3714 adds r7, #20 80c48a4: 46bd mov sp, r7 80c48a6: f85d 7b04 ldr.w r7, [sp], #4 80c48aa: 4770 bx lr 80c48ac: e000ed00 .word 0xe000ed00 080c48b0 : { 80c48b0: b480 push {r7} 80c48b2: b087 sub sp, #28 80c48b4: af00 add r7, sp, #0 80c48b6: 6078 str r0, [r7, #4] 80c48b8: 6039 str r1, [r7, #0] int32_t op_size = dsize; 80c48ba: 683b ldr r3, [r7, #0] 80c48bc: 617b str r3, [r7, #20] uint32_t op_addr = (uint32_t) addr; 80c48be: 687b ldr r3, [r7, #4] 80c48c0: 613b str r3, [r7, #16] int32_t linesize = 32; /* in Cortex-M7 size of cache line is fixed to 8 words (32 bytes) */ 80c48c2: 2320 movs r3, #32 80c48c4: 60fb str r3, [r7, #12] __ASM volatile ("dsb 0xF":::"memory"); 80c48c6: f3bf 8f4f dsb sy while (op_size > 0) { 80c48ca: e00b b.n 80c48e4 SCB->DCCIMVAC = op_addr; 80c48cc: 4a0c ldr r2, [pc, #48] ; (80c4900 ) 80c48ce: 693b ldr r3, [r7, #16] 80c48d0: f8c2 3270 str.w r3, [r2, #624] ; 0x270 op_addr += (uint32_t)linesize; 80c48d4: 68fb ldr r3, [r7, #12] 80c48d6: 693a ldr r2, [r7, #16] 80c48d8: 4413 add r3, r2 80c48da: 613b str r3, [r7, #16] op_size -= linesize; 80c48dc: 697a ldr r2, [r7, #20] 80c48de: 68fb ldr r3, [r7, #12] 80c48e0: 1ad3 subs r3, r2, r3 80c48e2: 617b str r3, [r7, #20] while (op_size > 0) { 80c48e4: 697b ldr r3, [r7, #20] 80c48e6: 2b00 cmp r3, #0 80c48e8: dcf0 bgt.n 80c48cc 80c48ea: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80c48ee: f3bf 8f6f isb sy } 80c48f2: bf00 nop 80c48f4: 371c adds r7, #28 80c48f6: 46bd mov sp, r7 80c48f8: f85d 7b04 ldr.w r7, [sp], #4 80c48fc: 4770 bx lr 80c48fe: bf00 nop 80c4900: e000ed00 .word 0xe000ed00 080c4904 : /* can be used to modify / undefine following code or add new code */ /* USER CODE END beforeFunctionSection */ /* Private functions ---------------------------------------------------------*/ static DSTATUS SD_CheckStatus(BYTE lun) { 80c4904: b580 push {r7, lr} 80c4906: b082 sub sp, #8 80c4908: af00 add r7, sp, #0 80c490a: 4603 mov r3, r0 80c490c: 71fb strb r3, [r7, #7] Stat = STA_NOINIT; 80c490e: 4b0b ldr r3, [pc, #44] ; (80c493c ) 80c4910: 2201 movs r2, #1 80c4912: 701a strb r2, [r3, #0] if(BSP_SD_GetCardState() == MSD_OK) 80c4914: f7ff ff3e bl 80c4794 80c4918: 4603 mov r3, r0 80c491a: 2b00 cmp r3, #0 80c491c: d107 bne.n 80c492e { Stat &= ~STA_NOINIT; 80c491e: 4b07 ldr r3, [pc, #28] ; (80c493c ) 80c4920: 781b ldrb r3, [r3, #0] 80c4922: b2db uxtb r3, r3 80c4924: f023 0301 bic.w r3, r3, #1 80c4928: b2da uxtb r2, r3 80c492a: 4b04 ldr r3, [pc, #16] ; (80c493c ) 80c492c: 701a strb r2, [r3, #0] } return Stat; 80c492e: 4b03 ldr r3, [pc, #12] ; (80c493c ) 80c4930: 781b ldrb r3, [r3, #0] 80c4932: b2db uxtb r3, r3 } 80c4934: 4618 mov r0, r3 80c4936: 3708 adds r7, #8 80c4938: 46bd mov sp, r7 80c493a: bd80 pop {r7, pc} 80c493c: 200209e5 .word 0x200209e5 080c4940 : * @brief Initializes a Drive * @param lun : not used * @retval DSTATUS: Operation status */ DSTATUS SD_initialize(BYTE lun) { 80c4940: b580 push {r7, lr} 80c4942: b082 sub sp, #8 80c4944: af00 add r7, sp, #0 80c4946: 4603 mov r3, r0 80c4948: 71fb strb r3, [r7, #7] Stat = STA_NOINIT; 80c494a: 4b0b ldr r3, [pc, #44] ; (80c4978 ) 80c494c: 2201 movs r2, #1 80c494e: 701a strb r2, [r3, #0] #if !defined(DISABLE_SD_INIT) if(BSP_SD_Init() == MSD_OK) 80c4950: f7ff fec4 bl 80c46dc 80c4954: 4603 mov r3, r0 80c4956: 2b00 cmp r3, #0 80c4958: d107 bne.n 80c496a { Stat = SD_CheckStatus(lun); 80c495a: 79fb ldrb r3, [r7, #7] 80c495c: 4618 mov r0, r3 80c495e: f7ff ffd1 bl 80c4904 80c4962: 4603 mov r3, r0 80c4964: 461a mov r2, r3 80c4966: 4b04 ldr r3, [pc, #16] ; (80c4978 ) 80c4968: 701a strb r2, [r3, #0] } #else Stat = SD_CheckStatus(lun); #endif return Stat; 80c496a: 4b03 ldr r3, [pc, #12] ; (80c4978 ) 80c496c: 781b ldrb r3, [r3, #0] 80c496e: b2db uxtb r3, r3 } 80c4970: 4618 mov r0, r3 80c4972: 3708 adds r7, #8 80c4974: 46bd mov sp, r7 80c4976: bd80 pop {r7, pc} 80c4978: 200209e5 .word 0x200209e5 080c497c : * @brief Gets Disk Status * @param lun : not used * @retval DSTATUS: Operation status */ DSTATUS SD_status(BYTE lun) { 80c497c: b580 push {r7, lr} 80c497e: b082 sub sp, #8 80c4980: af00 add r7, sp, #0 80c4982: 4603 mov r3, r0 80c4984: 71fb strb r3, [r7, #7] return SD_CheckStatus(lun); 80c4986: 79fb ldrb r3, [r7, #7] 80c4988: 4618 mov r0, r3 80c498a: f7ff ffbb bl 80c4904 80c498e: 4603 mov r3, r0 } 80c4990: 4618 mov r0, r3 80c4992: 3708 adds r7, #8 80c4994: 46bd mov sp, r7 80c4996: bd80 pop {r7, pc} 080c4998 : * @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) { 80c4998: b580 push {r7, lr} 80c499a: b088 sub sp, #32 80c499c: af00 add r7, sp, #0 80c499e: 60b9 str r1, [r7, #8] 80c49a0: 607a str r2, [r7, #4] 80c49a2: 603b str r3, [r7, #0] 80c49a4: 4603 mov r3, r0 80c49a6: 73fb strb r3, [r7, #15] DRESULT res = RES_ERROR; 80c49a8: 2301 movs r3, #1 80c49aa: 77fb strb r3, [r7, #31] uint32_t timeout; uint32_t alignedAddr; #if(ENABLE_SD_DMA_CACHE_MAINTENANCE == 1) alignedAddr = (uint32_t)buff & ~0x1F; 80c49ac: 68bb ldr r3, [r7, #8] 80c49ae: f023 031f bic.w r3, r3, #31 80c49b2: 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)); 80c49b4: 69b8 ldr r0, [r7, #24] 80c49b6: 683b ldr r3, [r7, #0] 80c49b8: 025a lsls r2, r3, #9 80c49ba: 68b9 ldr r1, [r7, #8] 80c49bc: 69bb ldr r3, [r7, #24] 80c49be: 1acb subs r3, r1, r3 80c49c0: 4413 add r3, r2 80c49c2: 4619 mov r1, r3 80c49c4: f7ff ff74 bl 80c48b0 #endif MY_SD_TIMEOUT = count * 2000UL; 80c49c8: 683b ldr r3, [r7, #0] 80c49ca: f44f 62fa mov.w r2, #2000 ; 0x7d0 80c49ce: fb02 f303 mul.w r3, r2, r3 80c49d2: 4a21 ldr r2, [pc, #132] ; (80c4a58 ) 80c49d4: 6013 str r3, [r2, #0] ReadStatus = 0; 80c49d6: 4b21 ldr r3, [pc, #132] ; (80c4a5c ) 80c49d8: 2200 movs r2, #0 80c49da: 601a str r2, [r3, #0] //SCB_CleanInvalidateDCache(); if(BSP_SD_ReadBlocks_DMA((uint32_t *)buff, (uint32_t) sector, count) == MSD_OK) 80c49dc: 683a ldr r2, [r7, #0] 80c49de: 6879 ldr r1, [r7, #4] 80c49e0: 68b8 ldr r0, [r7, #8] 80c49e2: f7ff fea3 bl 80c472c 80c49e6: 4603 mov r3, r0 80c49e8: 2b00 cmp r3, #0 80c49ea: d12f bne.n 80c4a4c { timeout = HAL_GetTick(); 80c49ec: f7f3 f81a bl 80b7a24 80c49f0: 6178 str r0, [r7, #20] while((ReadStatus == 0) && ((HAL_GetTick() - timeout) < MY_SD_TIMEOUT)); 80c49f2: bf00 nop 80c49f4: 4b19 ldr r3, [pc, #100] ; (80c4a5c ) 80c49f6: 681b ldr r3, [r3, #0] 80c49f8: 2b00 cmp r3, #0 80c49fa: d108 bne.n 80c4a0e 80c49fc: f7f3 f812 bl 80b7a24 80c4a00: 4602 mov r2, r0 80c4a02: 697b ldr r3, [r7, #20] 80c4a04: 1ad2 subs r2, r2, r3 80c4a06: 4b14 ldr r3, [pc, #80] ; (80c4a58 ) 80c4a08: 681b ldr r3, [r3, #0] 80c4a0a: 429a cmp r2, r3 80c4a0c: d3f2 bcc.n 80c49f4 if(ReadStatus == 0) 80c4a0e: 4b13 ldr r3, [pc, #76] ; (80c4a5c ) 80c4a10: 681b ldr r3, [r3, #0] 80c4a12: 2b00 cmp r3, #0 80c4a14: d102 bne.n 80c4a1c { res = RES_ERROR; 80c4a16: 2301 movs r3, #1 80c4a18: 77fb strb r3, [r7, #31] 80c4a1a: e017 b.n 80c4a4c } else { ReadStatus = 0; 80c4a1c: 4b0f ldr r3, [pc, #60] ; (80c4a5c ) 80c4a1e: 2200 movs r2, #0 80c4a20: 601a str r2, [r3, #0] timeout = HAL_GetTick(); 80c4a22: f7f2 ffff bl 80b7a24 80c4a26: 6178 str r0, [r7, #20] while((HAL_GetTick() - timeout) < MY_SD_TIMEOUT) 80c4a28: e007 b.n 80c4a3a { if(BSP_SD_GetCardState() == SD_TRANSFER_OK) 80c4a2a: f7ff feb3 bl 80c4794 80c4a2e: 4603 mov r3, r0 80c4a30: 2b00 cmp r3, #0 80c4a32: d102 bne.n 80c4a3a { res = RES_OK; 80c4a34: 2300 movs r3, #0 80c4a36: 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; 80c4a38: e008 b.n 80c4a4c while((HAL_GetTick() - timeout) < MY_SD_TIMEOUT) 80c4a3a: f7f2 fff3 bl 80b7a24 80c4a3e: 4602 mov r2, r0 80c4a40: 697b ldr r3, [r7, #20] 80c4a42: 1ad2 subs r2, r2, r3 80c4a44: 4b04 ldr r3, [pc, #16] ; (80c4a58 ) 80c4a46: 681b ldr r3, [r3, #0] 80c4a48: 429a cmp r2, r3 80c4a4a: d3ee bcc.n 80c4a2a } } } } return res; 80c4a4c: 7ffb ldrb r3, [r7, #31] } 80c4a4e: 4618 mov r0, r3 80c4a50: 3720 adds r7, #32 80c4a52: 46bd mov sp, r7 80c4a54: bd80 pop {r7, pc} 80c4a56: bf00 nop 80c4a58: 200216ec .word 0x200216ec 80c4a5c: 200216f4 .word 0x200216f4 080c4a60 : * @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) { 80c4a60: b580 push {r7, lr} 80c4a62: b086 sub sp, #24 80c4a64: af00 add r7, sp, #0 80c4a66: 60b9 str r1, [r7, #8] 80c4a68: 607a str r2, [r7, #4] 80c4a6a: 603b str r3, [r7, #0] 80c4a6c: 4603 mov r3, r0 80c4a6e: 73fb strb r3, [r7, #15] DRESULT res = RES_ERROR; 80c4a70: 2301 movs r3, #1 80c4a72: 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; 80c4a74: 683b ldr r3, [r7, #0] 80c4a76: f44f 62fa mov.w r2, #2000 ; 0x7d0 80c4a7a: fb02 f303 mul.w r3, r2, r3 80c4a7e: 4a22 ldr r2, [pc, #136] ; (80c4b08 ) 80c4a80: 6013 str r3, [r2, #0] WriteStatus = 0; 80c4a82: 4b22 ldr r3, [pc, #136] ; (80c4b0c ) 80c4a84: 2200 movs r2, #0 80c4a86: 601a str r2, [r3, #0] SCB_CleanInvalidateDCache(); 80c4a88: f7ff feda bl 80c4840 if(BSP_SD_WriteBlocks_DMA((uint32_t *) buff, (uint32_t) sector, count) == MSD_OK) 80c4a8c: 683a ldr r2, [r7, #0] 80c4a8e: 6879 ldr r1, [r7, #4] 80c4a90: 68b8 ldr r0, [r7, #8] 80c4a92: f7ff fe65 bl 80c4760 80c4a96: 4603 mov r3, r0 80c4a98: 2b00 cmp r3, #0 80c4a9a: d12f bne.n 80c4afc { timeout = HAL_GetTick(); 80c4a9c: f7f2 ffc2 bl 80b7a24 80c4aa0: 6138 str r0, [r7, #16] while((WriteStatus == 0) && ((HAL_GetTick() - timeout) < MY_SD_TIMEOUT)); 80c4aa2: bf00 nop 80c4aa4: 4b19 ldr r3, [pc, #100] ; (80c4b0c ) 80c4aa6: 681b ldr r3, [r3, #0] 80c4aa8: 2b00 cmp r3, #0 80c4aaa: d108 bne.n 80c4abe 80c4aac: f7f2 ffba bl 80b7a24 80c4ab0: 4602 mov r2, r0 80c4ab2: 693b ldr r3, [r7, #16] 80c4ab4: 1ad2 subs r2, r2, r3 80c4ab6: 4b14 ldr r3, [pc, #80] ; (80c4b08 ) 80c4ab8: 681b ldr r3, [r3, #0] 80c4aba: 429a cmp r2, r3 80c4abc: d3f2 bcc.n 80c4aa4 if(WriteStatus == 0) 80c4abe: 4b13 ldr r3, [pc, #76] ; (80c4b0c ) 80c4ac0: 681b ldr r3, [r3, #0] 80c4ac2: 2b00 cmp r3, #0 80c4ac4: d102 bne.n 80c4acc { res = RES_ERROR; 80c4ac6: 2301 movs r3, #1 80c4ac8: 75fb strb r3, [r7, #23] 80c4aca: e017 b.n 80c4afc } else { WriteStatus = 0; 80c4acc: 4b0f ldr r3, [pc, #60] ; (80c4b0c ) 80c4ace: 2200 movs r2, #0 80c4ad0: 601a str r2, [r3, #0] timeout = HAL_GetTick(); 80c4ad2: f7f2 ffa7 bl 80b7a24 80c4ad6: 6138 str r0, [r7, #16] while((HAL_GetTick() - timeout) < MY_SD_TIMEOUT) 80c4ad8: e007 b.n 80c4aea { if (BSP_SD_GetCardState() == SD_TRANSFER_OK) 80c4ada: f7ff fe5b bl 80c4794 80c4ade: 4603 mov r3, r0 80c4ae0: 2b00 cmp r3, #0 80c4ae2: d102 bne.n 80c4aea { res = RES_OK; 80c4ae4: 2300 movs r3, #0 80c4ae6: 75fb strb r3, [r7, #23] //alignedAddr = (uint32_t) buff & ~0x1F; //SCB_InvalidateDCache_by_Addr((uint32_t *) alignedAddr, count*BLOCKSIZE + ((uint32_t)buff - alignedAddr)); break; 80c4ae8: e008 b.n 80c4afc while((HAL_GetTick() - timeout) < MY_SD_TIMEOUT) 80c4aea: f7f2 ff9b bl 80b7a24 80c4aee: 4602 mov r2, r0 80c4af0: 693b ldr r3, [r7, #16] 80c4af2: 1ad2 subs r2, r2, r3 80c4af4: 4b04 ldr r3, [pc, #16] ; (80c4b08 ) 80c4af6: 681b ldr r3, [r3, #0] 80c4af8: 429a cmp r2, r3 80c4afa: d3ee bcc.n 80c4ada } } } } return res; 80c4afc: 7dfb ldrb r3, [r7, #23] } 80c4afe: 4618 mov r0, r3 80c4b00: 3718 adds r7, #24 80c4b02: 46bd mov sp, r7 80c4b04: bd80 pop {r7, pc} 80c4b06: bf00 nop 80c4b08: 200216ec .word 0x200216ec 80c4b0c: 200216f0 .word 0x200216f0 080c4b10 : * @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) { 80c4b10: b580 push {r7, lr} 80c4b12: b08c sub sp, #48 ; 0x30 80c4b14: af00 add r7, sp, #0 80c4b16: 4603 mov r3, r0 80c4b18: 603a str r2, [r7, #0] 80c4b1a: 71fb strb r3, [r7, #7] 80c4b1c: 460b mov r3, r1 80c4b1e: 71bb strb r3, [r7, #6] DRESULT res = RES_ERROR; 80c4b20: 2301 movs r3, #1 80c4b22: f887 302f strb.w r3, [r7, #47] ; 0x2f BSP_SD_CardInfo CardInfo; if (Stat & STA_NOINIT) return RES_NOTRDY; 80c4b26: 4b25 ldr r3, [pc, #148] ; (80c4bbc ) 80c4b28: 781b ldrb r3, [r3, #0] 80c4b2a: b2db uxtb r3, r3 80c4b2c: f003 0301 and.w r3, r3, #1 80c4b30: 2b00 cmp r3, #0 80c4b32: d001 beq.n 80c4b38 80c4b34: 2303 movs r3, #3 80c4b36: e03c b.n 80c4bb2 switch (cmd) 80c4b38: 79bb ldrb r3, [r7, #6] 80c4b3a: 2b03 cmp r3, #3 80c4b3c: d834 bhi.n 80c4ba8 80c4b3e: a201 add r2, pc, #4 ; (adr r2, 80c4b44 ) 80c4b40: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c4b44: 080c4b55 .word 0x080c4b55 80c4b48: 080c4b5d .word 0x080c4b5d 80c4b4c: 080c4b75 .word 0x080c4b75 80c4b50: 080c4b8f .word 0x080c4b8f { /* Make sure that no pending write process */ case CTRL_SYNC : res = RES_OK; 80c4b54: 2300 movs r3, #0 80c4b56: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80c4b5a: e028 b.n 80c4bae /* Get number of sectors on the disk (DWORD) */ case GET_SECTOR_COUNT : BSP_SD_GetCardInfo(&CardInfo); 80c4b5c: f107 030c add.w r3, r7, #12 80c4b60: 4618 mov r0, r3 80c4b62: f7ff fe27 bl 80c47b4 *(DWORD*)buff = CardInfo.LogBlockNbr; 80c4b66: 6a7a ldr r2, [r7, #36] ; 0x24 80c4b68: 683b ldr r3, [r7, #0] 80c4b6a: 601a str r2, [r3, #0] res = RES_OK; 80c4b6c: 2300 movs r3, #0 80c4b6e: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80c4b72: e01c b.n 80c4bae /* Get R/W sector size (WORD) */ case GET_SECTOR_SIZE : BSP_SD_GetCardInfo(&CardInfo); 80c4b74: f107 030c add.w r3, r7, #12 80c4b78: 4618 mov r0, r3 80c4b7a: f7ff fe1b bl 80c47b4 *(WORD*)buff = CardInfo.LogBlockSize; 80c4b7e: 6abb ldr r3, [r7, #40] ; 0x28 80c4b80: b29a uxth r2, r3 80c4b82: 683b ldr r3, [r7, #0] 80c4b84: 801a strh r2, [r3, #0] res = RES_OK; 80c4b86: 2300 movs r3, #0 80c4b88: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80c4b8c: e00f b.n 80c4bae /* Get erase block size in unit of sector (DWORD) */ case GET_BLOCK_SIZE : BSP_SD_GetCardInfo(&CardInfo); 80c4b8e: f107 030c add.w r3, r7, #12 80c4b92: 4618 mov r0, r3 80c4b94: f7ff fe0e bl 80c47b4 *(DWORD*)buff = CardInfo.LogBlockSize / SD_DEFAULT_BLOCK_SIZE; 80c4b98: 6abb ldr r3, [r7, #40] ; 0x28 80c4b9a: 0a5a lsrs r2, r3, #9 80c4b9c: 683b ldr r3, [r7, #0] 80c4b9e: 601a str r2, [r3, #0] res = RES_OK; 80c4ba0: 2300 movs r3, #0 80c4ba2: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80c4ba6: e002 b.n 80c4bae default: res = RES_PARERR; 80c4ba8: 2304 movs r3, #4 80c4baa: f887 302f strb.w r3, [r7, #47] ; 0x2f } return res; 80c4bae: f897 302f ldrb.w r3, [r7, #47] ; 0x2f } 80c4bb2: 4618 mov r0, r3 80c4bb4: 3730 adds r7, #48 ; 0x30 80c4bb6: 46bd mov sp, r7 80c4bb8: bd80 pop {r7, pc} 80c4bba: bf00 nop 80c4bbc: 200209e5 .word 0x200209e5 080c4bc0 : prototype =============================================================================== */ //void BSP_SD_WriteCpltCallback(uint32_t SdCard) void BSP_SD_WriteCpltCallback(void) { 80c4bc0: b480 push {r7} 80c4bc2: af00 add r7, sp, #0 WriteStatus = 1; 80c4bc4: 4b03 ldr r3, [pc, #12] ; (80c4bd4 ) 80c4bc6: 2201 movs r2, #1 80c4bc8: 601a str r2, [r3, #0] } 80c4bca: bf00 nop 80c4bcc: 46bd mov sp, r7 80c4bce: f85d 7b04 ldr.w r7, [sp], #4 80c4bd2: 4770 bx lr 80c4bd4: 200216f0 .word 0x200216f0 080c4bd8 : prototype =============================================================================== */ //void BSP_SD_ReadCpltCallback(uint32_t SdCard) void BSP_SD_ReadCpltCallback(void) { 80c4bd8: b480 push {r7} 80c4bda: af00 add r7, sp, #0 ReadStatus = 1; 80c4bdc: 4b03 ldr r3, [pc, #12] ; (80c4bec ) 80c4bde: 2201 movs r2, #1 80c4be0: 601a str r2, [r3, #0] } 80c4be2: bf00 nop 80c4be4: 46bd mov sp, r7 80c4be6: f85d 7b04 ldr.w r7, [sp], #4 80c4bea: 4770 bx lr 80c4bec: 200216f4 .word 0x200216f4 080c4bf0 : * @param pdev: device instance * @param cfgidx: configuration index * @retval status */ uint8_t USBD_MSC_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { 80c4bf0: b580 push {r7, lr} 80c4bf2: b084 sub sp, #16 80c4bf4: af00 add r7, sp, #0 80c4bf6: 6078 str r0, [r7, #4] 80c4bf8: 460b mov r3, r1 80c4bfa: 70fb strb r3, [r7, #3] UNUSED(cfgidx); USBD_MSC_BOT_HandleTypeDef *hmsc; hmsc = USBD_malloc(sizeof(USBD_MSC_BOT_HandleTypeDef)); 80c4bfc: f44f 701d mov.w r0, #628 ; 0x274 80c4c00: f00d f9a6 bl 80d1f50 80c4c04: 4603 mov r3, r0 80c4c06: 60fb str r3, [r7, #12] if (hmsc == NULL) 80c4c08: 68fb ldr r3, [r7, #12] 80c4c0a: 2b00 cmp r3, #0 80c4c0c: d105 bne.n 80c4c1a { pdev->pClassData = NULL; 80c4c0e: 687b ldr r3, [r7, #4] 80c4c10: 2200 movs r2, #0 80c4c12: f8c3 22bc str.w r2, [r3, #700] ; 0x2bc return (uint8_t)USBD_EMEM; 80c4c16: 2302 movs r3, #2 80c4c18: e034 b.n 80c4c84 } pdev->pClassData = (void *)hmsc; 80c4c1a: 687b ldr r3, [r7, #4] 80c4c1c: 68fa ldr r2, [r7, #12] 80c4c1e: f8c3 22bc str.w r2, [r3, #700] ; 0x2bc if (pdev->dev_speed == USBD_SPEED_HIGH) 80c4c22: 687b ldr r3, [r7, #4] 80c4c24: 7c1b ldrb r3, [r3, #16] 80c4c26: 2b00 cmp r3, #0 80c4c28: d115 bne.n 80c4c56 { /* Open EP OUT */ (void)USBD_LL_OpenEP(pdev, MSC_EPOUT_ADDR, USBD_EP_TYPE_BULK, MSC_MAX_HS_PACKET); 80c4c2a: f44f 7300 mov.w r3, #512 ; 0x200 80c4c2e: 2202 movs r2, #2 80c4c30: 2101 movs r1, #1 80c4c32: 6878 ldr r0, [r7, #4] 80c4c34: f009 fe23 bl 80ce87e pdev->ep_out[MSC_EPOUT_ADDR & 0xFU].is_used = 1U; 80c4c38: 687b ldr r3, [r7, #4] 80c4c3a: 2201 movs r2, #1 80c4c3c: 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); 80c4c40: f44f 7300 mov.w r3, #512 ; 0x200 80c4c44: 2202 movs r2, #2 80c4c46: 2181 movs r1, #129 ; 0x81 80c4c48: 6878 ldr r0, [r7, #4] 80c4c4a: f009 fe18 bl 80ce87e pdev->ep_in[MSC_EPIN_ADDR & 0xFU].is_used = 1U; 80c4c4e: 687b ldr r3, [r7, #4] 80c4c50: 2201 movs r2, #1 80c4c52: 871a strh r2, [r3, #56] ; 0x38 80c4c54: e012 b.n 80c4c7c } else { /* Open EP OUT */ (void)USBD_LL_OpenEP(pdev, MSC_EPOUT_ADDR, USBD_EP_TYPE_BULK, MSC_MAX_FS_PACKET); 80c4c56: 2340 movs r3, #64 ; 0x40 80c4c58: 2202 movs r2, #2 80c4c5a: 2101 movs r1, #1 80c4c5c: 6878 ldr r0, [r7, #4] 80c4c5e: f009 fe0e bl 80ce87e pdev->ep_out[MSC_EPOUT_ADDR & 0xFU].is_used = 1U; 80c4c62: 687b ldr r3, [r7, #4] 80c4c64: 2201 movs r2, #1 80c4c66: 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); 80c4c6a: 2340 movs r3, #64 ; 0x40 80c4c6c: 2202 movs r2, #2 80c4c6e: 2181 movs r1, #129 ; 0x81 80c4c70: 6878 ldr r0, [r7, #4] 80c4c72: f009 fe04 bl 80ce87e pdev->ep_in[MSC_EPIN_ADDR & 0xFU].is_used = 1U; 80c4c76: 687b ldr r3, [r7, #4] 80c4c78: 2201 movs r2, #1 80c4c7a: 871a strh r2, [r3, #56] ; 0x38 } /* Init the BOT layer */ MSC_BOT_Init(pdev); 80c4c7c: 6878 ldr r0, [r7, #4] 80c4c7e: f000 f98e bl 80c4f9e return (uint8_t)USBD_OK; 80c4c82: 2300 movs r3, #0 } 80c4c84: 4618 mov r0, r3 80c4c86: 3710 adds r7, #16 80c4c88: 46bd mov sp, r7 80c4c8a: bd80 pop {r7, pc} 080c4c8c : * @param pdev: device instance * @param cfgidx: configuration index * @retval status */ uint8_t USBD_MSC_DeInit(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { 80c4c8c: b580 push {r7, lr} 80c4c8e: b082 sub sp, #8 80c4c90: af00 add r7, sp, #0 80c4c92: 6078 str r0, [r7, #4] 80c4c94: 460b mov r3, r1 80c4c96: 70fb strb r3, [r7, #3] UNUSED(cfgidx); /* Close MSC EPs */ (void)USBD_LL_CloseEP(pdev, MSC_EPOUT_ADDR); 80c4c98: 2101 movs r1, #1 80c4c9a: 6878 ldr r0, [r7, #4] 80c4c9c: f009 fe15 bl 80ce8ca pdev->ep_out[MSC_EPOUT_ADDR & 0xFU].is_used = 0U; 80c4ca0: 687b ldr r3, [r7, #4] 80c4ca2: 2200 movs r2, #0 80c4ca4: f8a3 2178 strh.w r2, [r3, #376] ; 0x178 /* Close EP IN */ (void)USBD_LL_CloseEP(pdev, MSC_EPIN_ADDR); 80c4ca8: 2181 movs r1, #129 ; 0x81 80c4caa: 6878 ldr r0, [r7, #4] 80c4cac: f009 fe0d bl 80ce8ca pdev->ep_in[MSC_EPIN_ADDR & 0xFU].is_used = 0U; 80c4cb0: 687b ldr r3, [r7, #4] 80c4cb2: 2200 movs r2, #0 80c4cb4: 871a strh r2, [r3, #56] ; 0x38 /* De-Init the BOT layer */ MSC_BOT_DeInit(pdev); 80c4cb6: 6878 ldr r0, [r7, #4] 80c4cb8: f000 f9c7 bl 80c504a /* Free MSC Class Resources */ if (pdev->pClassData != NULL) 80c4cbc: 687b ldr r3, [r7, #4] 80c4cbe: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c4cc2: 2b00 cmp r3, #0 80c4cc4: d009 beq.n 80c4cda { (void)USBD_free(pdev->pClassData); 80c4cc6: 687b ldr r3, [r7, #4] 80c4cc8: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c4ccc: 4618 mov r0, r3 80c4cce: f00d f947 bl 80d1f60 pdev->pClassData = NULL; 80c4cd2: 687b ldr r3, [r7, #4] 80c4cd4: 2200 movs r2, #0 80c4cd6: f8c3 22bc str.w r2, [r3, #700] ; 0x2bc } return (uint8_t)USBD_OK; 80c4cda: 2300 movs r3, #0 } 80c4cdc: 4618 mov r0, r3 80c4cde: 3708 adds r7, #8 80c4ce0: 46bd mov sp, r7 80c4ce2: bd80 pop {r7, pc} 080c4ce4 : * @param pdev: device instance * @param req: USB request * @retval status */ uint8_t USBD_MSC_Setup(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c4ce4: b580 push {r7, lr} 80c4ce6: b086 sub sp, #24 80c4ce8: af00 add r7, sp, #0 80c4cea: 6078 str r0, [r7, #4] 80c4cec: 6039 str r1, [r7, #0] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c4cee: 687b ldr r3, [r7, #4] 80c4cf0: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c4cf4: 613b str r3, [r7, #16] USBD_StatusTypeDef ret = USBD_OK; 80c4cf6: 2300 movs r3, #0 80c4cf8: 75fb strb r3, [r7, #23] uint16_t status_info = 0U; 80c4cfa: 2300 movs r3, #0 80c4cfc: 81fb strh r3, [r7, #14] switch (req->bmRequest & USB_REQ_TYPE_MASK) 80c4cfe: 683b ldr r3, [r7, #0] 80c4d00: 781b ldrb r3, [r3, #0] 80c4d02: f003 0360 and.w r3, r3, #96 ; 0x60 80c4d06: 2b00 cmp r3, #0 80c4d08: d04d beq.n 80c4da6 80c4d0a: 2b20 cmp r3, #32 80c4d0c: f040 80c6 bne.w 80c4e9c { /* Class request */ case USB_REQ_TYPE_CLASS: switch (req->bRequest) 80c4d10: 683b ldr r3, [r7, #0] 80c4d12: 785b ldrb r3, [r3, #1] 80c4d14: 2bfe cmp r3, #254 ; 0xfe 80c4d16: d002 beq.n 80c4d1e 80c4d18: 2bff cmp r3, #255 ; 0xff 80c4d1a: d024 beq.n 80c4d66 80c4d1c: e03b b.n 80c4d96 { case BOT_GET_MAX_LUN: if ((req->wValue == 0U) && (req->wLength == 1U) && 80c4d1e: 683b ldr r3, [r7, #0] 80c4d20: 885b ldrh r3, [r3, #2] 80c4d22: 2b00 cmp r3, #0 80c4d24: d118 bne.n 80c4d58 80c4d26: 683b ldr r3, [r7, #0] 80c4d28: 88db ldrh r3, [r3, #6] 80c4d2a: 2b01 cmp r3, #1 80c4d2c: d114 bne.n 80c4d58 ((req->bmRequest & 0x80U) == 0x80U)) 80c4d2e: 683b ldr r3, [r7, #0] 80c4d30: 781b ldrb r3, [r3, #0] 80c4d32: b25b sxtb r3, r3 if ((req->wValue == 0U) && (req->wLength == 1U) && 80c4d34: 2b00 cmp r3, #0 80c4d36: da0f bge.n 80c4d58 { hmsc->max_lun = (uint32_t)((USBD_StorageTypeDef *)pdev->pUserData)->GetMaxLun(); 80c4d38: 687b ldr r3, [r7, #4] 80c4d3a: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c4d3e: 699b ldr r3, [r3, #24] 80c4d40: 4798 blx r3 80c4d42: 4603 mov r3, r0 80c4d44: 461a mov r2, r3 80c4d46: 693b ldr r3, [r7, #16] 80c4d48: 601a str r2, [r3, #0] (void)USBD_CtlSendData(pdev, (uint8_t *)&hmsc->max_lun, 1U); 80c4d4a: 693b ldr r3, [r7, #16] 80c4d4c: 2201 movs r2, #1 80c4d4e: 4619 mov r1, r3 80c4d50: 6878 ldr r0, [r7, #4] 80c4d52: f002 fc82 bl 80c765a else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80c4d56: e025 b.n 80c4da4 USBD_CtlError(pdev, req); 80c4d58: 6839 ldr r1, [r7, #0] 80c4d5a: 6878 ldr r0, [r7, #4] 80c4d5c: f002 fc0c bl 80c7578 ret = USBD_FAIL; 80c4d60: 2303 movs r3, #3 80c4d62: 75fb strb r3, [r7, #23] break; 80c4d64: e01e b.n 80c4da4 case BOT_RESET : if ((req->wValue == 0U) && (req->wLength == 0U) && 80c4d66: 683b ldr r3, [r7, #0] 80c4d68: 885b ldrh r3, [r3, #2] 80c4d6a: 2b00 cmp r3, #0 80c4d6c: d10c bne.n 80c4d88 80c4d6e: 683b ldr r3, [r7, #0] 80c4d70: 88db ldrh r3, [r3, #6] 80c4d72: 2b00 cmp r3, #0 80c4d74: d108 bne.n 80c4d88 ((req->bmRequest & 0x80U) != 0x80U)) 80c4d76: 683b ldr r3, [r7, #0] 80c4d78: 781b ldrb r3, [r3, #0] 80c4d7a: b25b sxtb r3, r3 if ((req->wValue == 0U) && (req->wLength == 0U) && 80c4d7c: 2b00 cmp r3, #0 80c4d7e: db03 blt.n 80c4d88 { MSC_BOT_Reset(pdev); 80c4d80: 6878 ldr r0, [r7, #4] 80c4d82: f000 f940 bl 80c5006 else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80c4d86: e00d b.n 80c4da4 USBD_CtlError(pdev, req); 80c4d88: 6839 ldr r1, [r7, #0] 80c4d8a: 6878 ldr r0, [r7, #4] 80c4d8c: f002 fbf4 bl 80c7578 ret = USBD_FAIL; 80c4d90: 2303 movs r3, #3 80c4d92: 75fb strb r3, [r7, #23] break; 80c4d94: e006 b.n 80c4da4 default: USBD_CtlError(pdev, req); 80c4d96: 6839 ldr r1, [r7, #0] 80c4d98: 6878 ldr r0, [r7, #4] 80c4d9a: f002 fbed bl 80c7578 ret = USBD_FAIL; 80c4d9e: 2303 movs r3, #3 80c4da0: 75fb strb r3, [r7, #23] break; 80c4da2: bf00 nop } break; 80c4da4: e081 b.n 80c4eaa /* Interface & Endpoint request */ case USB_REQ_TYPE_STANDARD: switch (req->bRequest) 80c4da6: 683b ldr r3, [r7, #0] 80c4da8: 785b ldrb r3, [r3, #1] 80c4daa: 2b0b cmp r3, #11 80c4dac: d86d bhi.n 80c4e8a 80c4dae: a201 add r2, pc, #4 ; (adr r2, 80c4db4 ) 80c4db0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c4db4: 080c4de5 .word 0x080c4de5 80c4db8: 080c4e5b .word 0x080c4e5b 80c4dbc: 080c4e8b .word 0x080c4e8b 80c4dc0: 080c4e8b .word 0x080c4e8b 80c4dc4: 080c4e8b .word 0x080c4e8b 80c4dc8: 080c4e8b .word 0x080c4e8b 80c4dcc: 080c4e8b .word 0x080c4e8b 80c4dd0: 080c4e8b .word 0x080c4e8b 80c4dd4: 080c4e8b .word 0x080c4e8b 80c4dd8: 080c4e8b .word 0x080c4e8b 80c4ddc: 080c4e0d .word 0x080c4e0d 80c4de0: 080c4e35 .word 0x080c4e35 { case USB_REQ_GET_STATUS: if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c4de4: 687b ldr r3, [r7, #4] 80c4de6: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c4dea: 2b03 cmp r3, #3 80c4dec: d107 bne.n 80c4dfe { (void)USBD_CtlSendData(pdev, (uint8_t *)&status_info, 2U); 80c4dee: f107 030e add.w r3, r7, #14 80c4df2: 2202 movs r2, #2 80c4df4: 4619 mov r1, r3 80c4df6: 6878 ldr r0, [r7, #4] 80c4df8: f002 fc2f bl 80c765a else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80c4dfc: e04d b.n 80c4e9a USBD_CtlError(pdev, req); 80c4dfe: 6839 ldr r1, [r7, #0] 80c4e00: 6878 ldr r0, [r7, #4] 80c4e02: f002 fbb9 bl 80c7578 ret = USBD_FAIL; 80c4e06: 2303 movs r3, #3 80c4e08: 75fb strb r3, [r7, #23] break; 80c4e0a: e046 b.n 80c4e9a case USB_REQ_GET_INTERFACE: if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c4e0c: 687b ldr r3, [r7, #4] 80c4e0e: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c4e12: 2b03 cmp r3, #3 80c4e14: d107 bne.n 80c4e26 { (void)USBD_CtlSendData(pdev, (uint8_t *)&hmsc->interface, 1U); 80c4e16: 693b ldr r3, [r7, #16] 80c4e18: 3304 adds r3, #4 80c4e1a: 2201 movs r2, #1 80c4e1c: 4619 mov r1, r3 80c4e1e: 6878 ldr r0, [r7, #4] 80c4e20: f002 fc1b bl 80c765a else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80c4e24: e039 b.n 80c4e9a USBD_CtlError(pdev, req); 80c4e26: 6839 ldr r1, [r7, #0] 80c4e28: 6878 ldr r0, [r7, #4] 80c4e2a: f002 fba5 bl 80c7578 ret = USBD_FAIL; 80c4e2e: 2303 movs r3, #3 80c4e30: 75fb strb r3, [r7, #23] break; 80c4e32: e032 b.n 80c4e9a case USB_REQ_SET_INTERFACE: if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c4e34: 687b ldr r3, [r7, #4] 80c4e36: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c4e3a: 2b03 cmp r3, #3 80c4e3c: d106 bne.n 80c4e4c { hmsc->interface = (uint8_t)(req->wValue); 80c4e3e: 683b ldr r3, [r7, #0] 80c4e40: 885b ldrh r3, [r3, #2] 80c4e42: b2db uxtb r3, r3 80c4e44: 461a mov r2, r3 80c4e46: 693b ldr r3, [r7, #16] 80c4e48: 605a str r2, [r3, #4] else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80c4e4a: e026 b.n 80c4e9a USBD_CtlError(pdev, req); 80c4e4c: 6839 ldr r1, [r7, #0] 80c4e4e: 6878 ldr r0, [r7, #4] 80c4e50: f002 fb92 bl 80c7578 ret = USBD_FAIL; 80c4e54: 2303 movs r3, #3 80c4e56: 75fb strb r3, [r7, #23] break; 80c4e58: e01f b.n 80c4e9a case USB_REQ_CLEAR_FEATURE: if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c4e5a: 687b ldr r3, [r7, #4] 80c4e5c: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c4e60: 2b03 cmp r3, #3 80c4e62: d119 bne.n 80c4e98 { if (req->wValue == USB_FEATURE_EP_HALT) 80c4e64: 683b ldr r3, [r7, #0] 80c4e66: 885b ldrh r3, [r3, #2] 80c4e68: 2b00 cmp r3, #0 80c4e6a: d115 bne.n 80c4e98 { /* Flush the FIFO */ (void)USBD_LL_FlushEP(pdev, (uint8_t)req->wIndex); 80c4e6c: 683b ldr r3, [r7, #0] 80c4e6e: 889b ldrh r3, [r3, #4] 80c4e70: b2db uxtb r3, r3 80c4e72: 4619 mov r1, r3 80c4e74: 6878 ldr r0, [r7, #4] 80c4e76: f009 fd47 bl 80ce908 /* Handle BOT error */ MSC_BOT_CplClrFeature(pdev, (uint8_t)req->wIndex); 80c4e7a: 683b ldr r3, [r7, #0] 80c4e7c: 889b ldrh r3, [r3, #4] 80c4e7e: b2db uxtb r3, r3 80c4e80: 4619 mov r1, r3 80c4e82: 6878 ldr r0, [r7, #4] 80c4e84: f000 fa5a bl 80c533c } } break; 80c4e88: e006 b.n 80c4e98 default: USBD_CtlError(pdev, req); 80c4e8a: 6839 ldr r1, [r7, #0] 80c4e8c: 6878 ldr r0, [r7, #4] 80c4e8e: f002 fb73 bl 80c7578 ret = USBD_FAIL; 80c4e92: 2303 movs r3, #3 80c4e94: 75fb strb r3, [r7, #23] break; 80c4e96: e000 b.n 80c4e9a break; 80c4e98: bf00 nop } break; 80c4e9a: e006 b.n 80c4eaa default: USBD_CtlError(pdev, req); 80c4e9c: 6839 ldr r1, [r7, #0] 80c4e9e: 6878 ldr r0, [r7, #4] 80c4ea0: f002 fb6a bl 80c7578 ret = USBD_FAIL; 80c4ea4: 2303 movs r3, #3 80c4ea6: 75fb strb r3, [r7, #23] break; 80c4ea8: bf00 nop } return (uint8_t)ret; 80c4eaa: 7dfb ldrb r3, [r7, #23] } 80c4eac: 4618 mov r0, r3 80c4eae: 3718 adds r7, #24 80c4eb0: 46bd mov sp, r7 80c4eb2: bd80 pop {r7, pc} 080c4eb4 : * @param pdev: device instance * @param epnum: endpoint index * @retval status */ uint8_t USBD_MSC_DataIn(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c4eb4: b580 push {r7, lr} 80c4eb6: b082 sub sp, #8 80c4eb8: af00 add r7, sp, #0 80c4eba: 6078 str r0, [r7, #4] 80c4ebc: 460b mov r3, r1 80c4ebe: 70fb strb r3, [r7, #3] MSC_BOT_DataIn(pdev, epnum); 80c4ec0: 78fb ldrb r3, [r7, #3] 80c4ec2: 4619 mov r1, r3 80c4ec4: 6878 ldr r0, [r7, #4] 80c4ec6: f000 f8d1 bl 80c506c return (uint8_t)USBD_OK; 80c4eca: 2300 movs r3, #0 } 80c4ecc: 4618 mov r0, r3 80c4ece: 3708 adds r7, #8 80c4ed0: 46bd mov sp, r7 80c4ed2: bd80 pop {r7, pc} 080c4ed4 : * @param pdev: device instance * @param epnum: endpoint index * @retval status */ uint8_t USBD_MSC_DataOut(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c4ed4: b580 push {r7, lr} 80c4ed6: b082 sub sp, #8 80c4ed8: af00 add r7, sp, #0 80c4eda: 6078 str r0, [r7, #4] 80c4edc: 460b mov r3, r1 80c4ede: 70fb strb r3, [r7, #3] MSC_BOT_DataOut(pdev, epnum); 80c4ee0: 78fb ldrb r3, [r7, #3] 80c4ee2: 4619 mov r1, r3 80c4ee4: 6878 ldr r0, [r7, #4] 80c4ee6: f000 f8f2 bl 80c50ce return (uint8_t)USBD_OK; 80c4eea: 2300 movs r3, #0 } 80c4eec: 4618 mov r0, r3 80c4eee: 3708 adds r7, #8 80c4ef0: 46bd mov sp, r7 80c4ef2: bd80 pop {r7, pc} 080c4ef4 : * return configuration descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ uint8_t *USBD_MSC_GetHSCfgDesc(uint16_t *length) { 80c4ef4: b480 push {r7} 80c4ef6: b083 sub sp, #12 80c4ef8: af00 add r7, sp, #0 80c4efa: 6078 str r0, [r7, #4] *length = (uint16_t)sizeof(USBD_MSC_CfgHSDesc); 80c4efc: 687b ldr r3, [r7, #4] 80c4efe: 2220 movs r2, #32 80c4f00: 801a strh r2, [r3, #0] return USBD_MSC_CfgHSDesc; 80c4f02: 4b03 ldr r3, [pc, #12] ; (80c4f10 ) } 80c4f04: 4618 mov r0, r3 80c4f06: 370c adds r7, #12 80c4f08: 46bd mov sp, r7 80c4f0a: f85d 7b04 ldr.w r7, [sp], #4 80c4f0e: 4770 bx lr 80c4f10: 20020a20 .word 0x20020a20 080c4f14 : * return configuration descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ uint8_t *USBD_MSC_GetFSCfgDesc(uint16_t *length) { 80c4f14: b480 push {r7} 80c4f16: b083 sub sp, #12 80c4f18: af00 add r7, sp, #0 80c4f1a: 6078 str r0, [r7, #4] *length = (uint16_t)sizeof(USBD_MSC_CfgFSDesc); 80c4f1c: 687b ldr r3, [r7, #4] 80c4f1e: 2220 movs r2, #32 80c4f20: 801a strh r2, [r3, #0] return USBD_MSC_CfgFSDesc; 80c4f22: 4b03 ldr r3, [pc, #12] ; (80c4f30 ) } 80c4f24: 4618 mov r0, r3 80c4f26: 370c adds r7, #12 80c4f28: 46bd mov sp, r7 80c4f2a: f85d 7b04 ldr.w r7, [sp], #4 80c4f2e: 4770 bx lr 80c4f30: 20020a40 .word 0x20020a40 080c4f34 : * return other speed configuration descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ uint8_t *USBD_MSC_GetOtherSpeedCfgDesc(uint16_t *length) { 80c4f34: b480 push {r7} 80c4f36: b083 sub sp, #12 80c4f38: af00 add r7, sp, #0 80c4f3a: 6078 str r0, [r7, #4] *length = (uint16_t)sizeof(USBD_MSC_OtherSpeedCfgDesc); 80c4f3c: 687b ldr r3, [r7, #4] 80c4f3e: 2220 movs r2, #32 80c4f40: 801a strh r2, [r3, #0] return USBD_MSC_OtherSpeedCfgDesc; 80c4f42: 4b03 ldr r3, [pc, #12] ; (80c4f50 ) } 80c4f44: 4618 mov r0, r3 80c4f46: 370c adds r7, #12 80c4f48: 46bd mov sp, r7 80c4f4a: f85d 7b04 ldr.w r7, [sp], #4 80c4f4e: 4770 bx lr 80c4f50: 20020a60 .word 0x20020a60 080c4f54 : * return Device Qualifier descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ uint8_t *USBD_MSC_GetDeviceQualifierDescriptor(uint16_t *length) { 80c4f54: b480 push {r7} 80c4f56: b083 sub sp, #12 80c4f58: af00 add r7, sp, #0 80c4f5a: 6078 str r0, [r7, #4] *length = (uint16_t)sizeof(USBD_MSC_DeviceQualifierDesc); 80c4f5c: 687b ldr r3, [r7, #4] 80c4f5e: 220a movs r2, #10 80c4f60: 801a strh r2, [r3, #0] return USBD_MSC_DeviceQualifierDesc; 80c4f62: 4b03 ldr r3, [pc, #12] ; (80c4f70 ) } 80c4f64: 4618 mov r0, r3 80c4f66: 370c adds r7, #12 80c4f68: 46bd mov sp, r7 80c4f6a: f85d 7b04 ldr.w r7, [sp], #4 80c4f6e: 4770 bx lr 80c4f70: 20020a80 .word 0x20020a80 080c4f74 : * @brief USBD_MSC_RegisterStorage * @param fops: storage callback * @retval status */ uint8_t USBD_MSC_RegisterStorage(USBD_HandleTypeDef *pdev, USBD_StorageTypeDef *fops) { 80c4f74: b480 push {r7} 80c4f76: b083 sub sp, #12 80c4f78: af00 add r7, sp, #0 80c4f7a: 6078 str r0, [r7, #4] 80c4f7c: 6039 str r1, [r7, #0] if (fops == NULL) 80c4f7e: 683b ldr r3, [r7, #0] 80c4f80: 2b00 cmp r3, #0 80c4f82: d101 bne.n 80c4f88 { return (uint8_t)USBD_FAIL; 80c4f84: 2303 movs r3, #3 80c4f86: e004 b.n 80c4f92 } pdev->pUserData = fops; 80c4f88: 687b ldr r3, [r7, #4] 80c4f8a: 683a ldr r2, [r7, #0] 80c4f8c: f8c3 22c0 str.w r2, [r3, #704] ; 0x2c0 return (uint8_t)USBD_OK; 80c4f90: 2300 movs r3, #0 } 80c4f92: 4618 mov r0, r3 80c4f94: 370c adds r7, #12 80c4f96: 46bd mov sp, r7 80c4f98: f85d 7b04 ldr.w r7, [sp], #4 80c4f9c: 4770 bx lr 080c4f9e : * Initialize the BOT Process * @param pdev: device instance * @retval None */ void MSC_BOT_Init(USBD_HandleTypeDef *pdev) { 80c4f9e: b580 push {r7, lr} 80c4fa0: b084 sub sp, #16 80c4fa2: af00 add r7, sp, #0 80c4fa4: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c4fa6: 687b ldr r3, [r7, #4] 80c4fa8: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c4fac: 60fb str r3, [r7, #12] hmsc->bot_state = USBD_BOT_IDLE; 80c4fae: 68fb ldr r3, [r7, #12] 80c4fb0: 2200 movs r2, #0 80c4fb2: 721a strb r2, [r3, #8] hmsc->bot_status = USBD_BOT_STATUS_NORMAL; 80c4fb4: 68fb ldr r3, [r7, #12] 80c4fb6: 2200 movs r2, #0 80c4fb8: 725a strb r2, [r3, #9] hmsc->scsi_sense_tail = 0U; 80c4fba: 68fb ldr r3, [r7, #12] 80c4fbc: 2200 movs r2, #0 80c4fbe: f883 2261 strb.w r2, [r3, #609] ; 0x261 hmsc->scsi_sense_head = 0U; 80c4fc2: 68fb ldr r3, [r7, #12] 80c4fc4: 2200 movs r2, #0 80c4fc6: f883 2260 strb.w r2, [r3, #608] ; 0x260 hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 80c4fca: 68fb ldr r3, [r7, #12] 80c4fcc: 2200 movs r2, #0 80c4fce: f883 2262 strb.w r2, [r3, #610] ; 0x262 ((USBD_StorageTypeDef *)pdev->pUserData)->Init(0U); 80c4fd2: 687b ldr r3, [r7, #4] 80c4fd4: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c4fd8: 681b ldr r3, [r3, #0] 80c4fda: 2000 movs r0, #0 80c4fdc: 4798 blx r3 (void)USBD_LL_FlushEP(pdev, MSC_EPOUT_ADDR); 80c4fde: 2101 movs r1, #1 80c4fe0: 6878 ldr r0, [r7, #4] 80c4fe2: f009 fc91 bl 80ce908 (void)USBD_LL_FlushEP(pdev, MSC_EPIN_ADDR); 80c4fe6: 2181 movs r1, #129 ; 0x81 80c4fe8: 6878 ldr r0, [r7, #4] 80c4fea: f009 fc8d bl 80ce908 /* Prapare EP to Receive First BOT Cmd */ (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, (uint8_t *)&hmsc->cbw, 80c4fee: 68fb ldr r3, [r7, #12] 80c4ff0: f503 7204 add.w r2, r3, #528 ; 0x210 80c4ff4: 231f movs r3, #31 80c4ff6: 2101 movs r1, #1 80c4ff8: 6878 ldr r0, [r7, #4] 80c4ffa: f009 fd4e bl 80cea9a USBD_BOT_CBW_LENGTH); } 80c4ffe: bf00 nop 80c5000: 3710 adds r7, #16 80c5002: 46bd mov sp, r7 80c5004: bd80 pop {r7, pc} 080c5006 : * Reset the BOT Machine * @param pdev: device instance * @retval None */ void MSC_BOT_Reset(USBD_HandleTypeDef *pdev) { 80c5006: b580 push {r7, lr} 80c5008: b084 sub sp, #16 80c500a: af00 add r7, sp, #0 80c500c: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c500e: 687b ldr r3, [r7, #4] 80c5010: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c5014: 60fb str r3, [r7, #12] hmsc->bot_state = USBD_BOT_IDLE; 80c5016: 68fb ldr r3, [r7, #12] 80c5018: 2200 movs r2, #0 80c501a: 721a strb r2, [r3, #8] hmsc->bot_status = USBD_BOT_STATUS_RECOVERY; 80c501c: 68fb ldr r3, [r7, #12] 80c501e: 2201 movs r2, #1 80c5020: 725a strb r2, [r3, #9] (void)USBD_LL_ClearStallEP(pdev, MSC_EPIN_ADDR); 80c5022: 2181 movs r1, #129 ; 0x81 80c5024: 6878 ldr r0, [r7, #4] 80c5026: f009 fcad bl 80ce984 (void)USBD_LL_ClearStallEP(pdev, MSC_EPOUT_ADDR); 80c502a: 2101 movs r1, #1 80c502c: 6878 ldr r0, [r7, #4] 80c502e: f009 fca9 bl 80ce984 /* Prapare EP to Receive First BOT Cmd */ (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, (uint8_t *)&hmsc->cbw, 80c5032: 68fb ldr r3, [r7, #12] 80c5034: f503 7204 add.w r2, r3, #528 ; 0x210 80c5038: 231f movs r3, #31 80c503a: 2101 movs r1, #1 80c503c: 6878 ldr r0, [r7, #4] 80c503e: f009 fd2c bl 80cea9a USBD_BOT_CBW_LENGTH); } 80c5042: bf00 nop 80c5044: 3710 adds r7, #16 80c5046: 46bd mov sp, r7 80c5048: bd80 pop {r7, pc} 080c504a : * Deinitialize the BOT Machine * @param pdev: device instance * @retval None */ void MSC_BOT_DeInit(USBD_HandleTypeDef *pdev) { 80c504a: b480 push {r7} 80c504c: b085 sub sp, #20 80c504e: af00 add r7, sp, #0 80c5050: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5052: 687b ldr r3, [r7, #4] 80c5054: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c5058: 60fb str r3, [r7, #12] hmsc->bot_state = USBD_BOT_IDLE; 80c505a: 68fb ldr r3, [r7, #12] 80c505c: 2200 movs r2, #0 80c505e: 721a strb r2, [r3, #8] } 80c5060: bf00 nop 80c5062: 3714 adds r7, #20 80c5064: 46bd mov sp, r7 80c5066: f85d 7b04 ldr.w r7, [sp], #4 80c506a: 4770 bx lr 080c506c : * @param pdev: device instance * @param epnum: endpoint index * @retval None */ void MSC_BOT_DataIn(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c506c: b580 push {r7, lr} 80c506e: b084 sub sp, #16 80c5070: af00 add r7, sp, #0 80c5072: 6078 str r0, [r7, #4] 80c5074: 460b mov r3, r1 80c5076: 70fb strb r3, [r7, #3] UNUSED(epnum); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5078: 687b ldr r3, [r7, #4] 80c507a: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c507e: 60fb str r3, [r7, #12] switch (hmsc->bot_state) 80c5080: 68fb ldr r3, [r7, #12] 80c5082: 7a1b ldrb r3, [r3, #8] 80c5084: 2b02 cmp r3, #2 80c5086: d004 beq.n 80c5092 80c5088: 2b02 cmp r3, #2 80c508a: db19 blt.n 80c50c0 80c508c: 2b04 cmp r3, #4 80c508e: dc17 bgt.n 80c50c0 80c5090: e011 b.n 80c50b6 { case USBD_BOT_DATA_IN: if (SCSI_ProcessCmd(pdev, hmsc->cbw.bLUN, &hmsc->cbw.CB[0]) < 0) 80c5092: 68fb ldr r3, [r7, #12] 80c5094: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c5098: 68fb ldr r3, [r7, #12] 80c509a: f203 231f addw r3, r3, #543 ; 0x21f 80c509e: 461a mov r2, r3 80c50a0: 6878 ldr r0, [r7, #4] 80c50a2: f000 f973 bl 80c538c 80c50a6: 4603 mov r3, r0 80c50a8: 2b00 cmp r3, #0 80c50aa: da0b bge.n 80c50c4 { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); 80c50ac: 2101 movs r1, #1 80c50ae: 6878 ldr r0, [r7, #4] 80c50b0: f000 f8ea bl 80c5288 } break; 80c50b4: e006 b.n 80c50c4 case USBD_BOT_SEND_DATA: case USBD_BOT_LAST_DATA_IN: MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_PASSED); 80c50b6: 2100 movs r1, #0 80c50b8: 6878 ldr r0, [r7, #4] 80c50ba: f000 f8e5 bl 80c5288 break; 80c50be: e002 b.n 80c50c6 default: break; 80c50c0: bf00 nop 80c50c2: e000 b.n 80c50c6 break; 80c50c4: bf00 nop } } 80c50c6: bf00 nop 80c50c8: 3710 adds r7, #16 80c50ca: 46bd mov sp, r7 80c50cc: bd80 pop {r7, pc} 080c50ce : * @param pdev: device instance * @param epnum: endpoint index * @retval None */ void MSC_BOT_DataOut(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c50ce: b580 push {r7, lr} 80c50d0: b084 sub sp, #16 80c50d2: af00 add r7, sp, #0 80c50d4: 6078 str r0, [r7, #4] 80c50d6: 460b mov r3, r1 80c50d8: 70fb strb r3, [r7, #3] UNUSED(epnum); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c50da: 687b ldr r3, [r7, #4] 80c50dc: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c50e0: 60fb str r3, [r7, #12] switch (hmsc->bot_state) 80c50e2: 68fb ldr r3, [r7, #12] 80c50e4: 7a1b ldrb r3, [r3, #8] 80c50e6: 2b00 cmp r3, #0 80c50e8: d002 beq.n 80c50f0 80c50ea: 2b01 cmp r3, #1 80c50ec: d004 beq.n 80c50f8 MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); } break; default: break; 80c50ee: e015 b.n 80c511c MSC_BOT_CBW_Decode(pdev); 80c50f0: 6878 ldr r0, [r7, #4] 80c50f2: f000 f817 bl 80c5124 break; 80c50f6: e011 b.n 80c511c if (SCSI_ProcessCmd(pdev, hmsc->cbw.bLUN, &hmsc->cbw.CB[0]) < 0) 80c50f8: 68fb ldr r3, [r7, #12] 80c50fa: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c50fe: 68fb ldr r3, [r7, #12] 80c5100: f203 231f addw r3, r3, #543 ; 0x21f 80c5104: 461a mov r2, r3 80c5106: 6878 ldr r0, [r7, #4] 80c5108: f000 f940 bl 80c538c 80c510c: 4603 mov r3, r0 80c510e: 2b00 cmp r3, #0 80c5110: da03 bge.n 80c511a MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); 80c5112: 2101 movs r1, #1 80c5114: 6878 ldr r0, [r7, #4] 80c5116: f000 f8b7 bl 80c5288 break; 80c511a: bf00 nop } } 80c511c: bf00 nop 80c511e: 3710 adds r7, #16 80c5120: 46bd mov sp, r7 80c5122: bd80 pop {r7, pc} 080c5124 : * 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) { 80c5124: b580 push {r7, lr} 80c5126: b084 sub sp, #16 80c5128: af00 add r7, sp, #0 80c512a: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c512c: 687b ldr r3, [r7, #4] 80c512e: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c5132: 60fb str r3, [r7, #12] hmsc->csw.dTag = hmsc->cbw.dTag; 80c5134: 68fb ldr r3, [r7, #12] 80c5136: f8d3 2214 ldr.w r2, [r3, #532] ; 0x214 80c513a: 68fb ldr r3, [r7, #12] 80c513c: f8c3 2234 str.w r2, [r3, #564] ; 0x234 hmsc->csw.dDataResidue = hmsc->cbw.dDataLength; 80c5140: 68fb ldr r3, [r7, #12] 80c5142: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c5146: 68fb ldr r3, [r7, #12] 80c5148: f8c3 2238 str.w r2, [r3, #568] ; 0x238 if ((USBD_LL_GetRxDataSize(pdev, MSC_EPOUT_ADDR) != USBD_BOT_CBW_LENGTH) || 80c514c: 2101 movs r1, #1 80c514e: 6878 ldr r0, [r7, #4] 80c5150: f009 fcc4 bl 80ceadc 80c5154: 4603 mov r3, r0 80c5156: 2b1f cmp r3, #31 80c5158: d114 bne.n 80c5184 (hmsc->cbw.dSignature != USBD_BOT_CBW_SIGNATURE) || 80c515a: 68fb ldr r3, [r7, #12] 80c515c: f8d3 3210 ldr.w r3, [r3, #528] ; 0x210 if ((USBD_LL_GetRxDataSize(pdev, MSC_EPOUT_ADDR) != USBD_BOT_CBW_LENGTH) || 80c5160: 4a32 ldr r2, [pc, #200] ; (80c522c ) 80c5162: 4293 cmp r3, r2 80c5164: d10e bne.n 80c5184 (hmsc->cbw.bLUN > 1U) || (hmsc->cbw.bCBLength < 1U) || 80c5166: 68fb ldr r3, [r7, #12] 80c5168: f893 321d ldrb.w r3, [r3, #541] ; 0x21d (hmsc->cbw.dSignature != USBD_BOT_CBW_SIGNATURE) || 80c516c: 2b01 cmp r3, #1 80c516e: d809 bhi.n 80c5184 (hmsc->cbw.bLUN > 1U) || (hmsc->cbw.bCBLength < 1U) || 80c5170: 68fb ldr r3, [r7, #12] 80c5172: f893 321e ldrb.w r3, [r3, #542] ; 0x21e 80c5176: 2b00 cmp r3, #0 80c5178: d004 beq.n 80c5184 (hmsc->cbw.bCBLength > 16U)) 80c517a: 68fb ldr r3, [r7, #12] 80c517c: f893 321e ldrb.w r3, [r3, #542] ; 0x21e (hmsc->cbw.bLUN > 1U) || (hmsc->cbw.bCBLength < 1U) || 80c5180: 2b10 cmp r3, #16 80c5182: d90e bls.n 80c51a2 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c5184: 68fb ldr r3, [r7, #12] 80c5186: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c518a: 2320 movs r3, #32 80c518c: 2205 movs r2, #5 80c518e: 6878 ldr r0, [r7, #4] 80c5190: f000 fcc9 bl 80c5b26 hmsc->bot_status = USBD_BOT_STATUS_ERROR; 80c5194: 68fb ldr r3, [r7, #12] 80c5196: 2202 movs r2, #2 80c5198: 725a strb r2, [r3, #9] MSC_BOT_Abort(pdev); 80c519a: 6878 ldr r0, [r7, #4] 80c519c: f000 f8a0 bl 80c52e0 80c51a0: e041 b.n 80c5226 } else { if (SCSI_ProcessCmd(pdev, hmsc->cbw.bLUN, &hmsc->cbw.CB[0]) < 0) 80c51a2: 68fb ldr r3, [r7, #12] 80c51a4: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c51a8: 68fb ldr r3, [r7, #12] 80c51aa: f203 231f addw r3, r3, #543 ; 0x21f 80c51ae: 461a mov r2, r3 80c51b0: 6878 ldr r0, [r7, #4] 80c51b2: f000 f8eb bl 80c538c 80c51b6: 4603 mov r3, r0 80c51b8: 2b00 cmp r3, #0 80c51ba: da0c bge.n 80c51d6 { if (hmsc->bot_state == USBD_BOT_NO_DATA) 80c51bc: 68fb ldr r3, [r7, #12] 80c51be: 7a1b ldrb r3, [r3, #8] 80c51c0: 2b05 cmp r3, #5 80c51c2: d104 bne.n 80c51ce { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); 80c51c4: 2101 movs r1, #1 80c51c6: 6878 ldr r0, [r7, #4] 80c51c8: f000 f85e bl 80c5288 80c51cc: e02b b.n 80c5226 } else { MSC_BOT_Abort(pdev); 80c51ce: 6878 ldr r0, [r7, #4] 80c51d0: f000 f886 bl 80c52e0 80c51d4: e027 b.n 80c5226 } } /* Burst xfer handled internally */ else if ((hmsc->bot_state != USBD_BOT_DATA_IN) && 80c51d6: 68fb ldr r3, [r7, #12] 80c51d8: 7a1b ldrb r3, [r3, #8] 80c51da: 2b02 cmp r3, #2 80c51dc: d022 beq.n 80c5224 (hmsc->bot_state != USBD_BOT_DATA_OUT) && 80c51de: 68fb ldr r3, [r7, #12] 80c51e0: 7a1b ldrb r3, [r3, #8] else if ((hmsc->bot_state != USBD_BOT_DATA_IN) && 80c51e2: 2b01 cmp r3, #1 80c51e4: d01e beq.n 80c5224 (hmsc->bot_state != USBD_BOT_LAST_DATA_IN)) 80c51e6: 68fb ldr r3, [r7, #12] 80c51e8: 7a1b ldrb r3, [r3, #8] (hmsc->bot_state != USBD_BOT_DATA_OUT) && 80c51ea: 2b03 cmp r3, #3 80c51ec: d01a beq.n 80c5224 { if (hmsc->bot_data_length > 0U) 80c51ee: 68fb ldr r3, [r7, #12] 80c51f0: 68db ldr r3, [r3, #12] 80c51f2: 2b00 cmp r3, #0 80c51f4: d009 beq.n 80c520a { MSC_BOT_SendData(pdev, hmsc->bot_data, hmsc->bot_data_length); 80c51f6: 68fb ldr r3, [r7, #12] 80c51f8: f103 0110 add.w r1, r3, #16 80c51fc: 68fb ldr r3, [r7, #12] 80c51fe: 68db ldr r3, [r3, #12] 80c5200: 461a mov r2, r3 80c5202: 6878 ldr r0, [r7, #4] 80c5204: f000 f814 bl 80c5230 if (hmsc->bot_data_length > 0U) 80c5208: e00d b.n 80c5226 } else if (hmsc->bot_data_length == 0U) 80c520a: 68fb ldr r3, [r7, #12] 80c520c: 68db ldr r3, [r3, #12] 80c520e: 2b00 cmp r3, #0 80c5210: d104 bne.n 80c521c { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_PASSED); 80c5212: 2100 movs r1, #0 80c5214: 6878 ldr r0, [r7, #4] 80c5216: f000 f837 bl 80c5288 if (hmsc->bot_data_length > 0U) 80c521a: e004 b.n 80c5226 } else { MSC_BOT_Abort(pdev); 80c521c: 6878 ldr r0, [r7, #4] 80c521e: f000 f85f bl 80c52e0 if (hmsc->bot_data_length > 0U) 80c5222: e000 b.n 80c5226 } } else { return; 80c5224: bf00 nop } } } 80c5226: 3710 adds r7, #16 80c5228: 46bd mov sp, r7 80c522a: bd80 pop {r7, pc} 80c522c: 43425355 .word 0x43425355 080c5230 : * @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) { 80c5230: b580 push {r7, lr} 80c5232: b086 sub sp, #24 80c5234: af00 add r7, sp, #0 80c5236: 60f8 str r0, [r7, #12] 80c5238: 60b9 str r1, [r7, #8] 80c523a: 607a str r2, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c523c: 68fb ldr r3, [r7, #12] 80c523e: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c5242: 617b str r3, [r7, #20] uint32_t length = MIN(hmsc->cbw.dDataLength, len); 80c5244: 697b ldr r3, [r7, #20] 80c5246: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c524a: 687b ldr r3, [r7, #4] 80c524c: 4293 cmp r3, r2 80c524e: bf28 it cs 80c5250: 4613 movcs r3, r2 80c5252: 613b str r3, [r7, #16] hmsc->csw.dDataResidue -= len; 80c5254: 697b ldr r3, [r7, #20] 80c5256: f8d3 2238 ldr.w r2, [r3, #568] ; 0x238 80c525a: 687b ldr r3, [r7, #4] 80c525c: 1ad2 subs r2, r2, r3 80c525e: 697b ldr r3, [r7, #20] 80c5260: f8c3 2238 str.w r2, [r3, #568] ; 0x238 hmsc->csw.bStatus = USBD_CSW_CMD_PASSED; 80c5264: 697b ldr r3, [r7, #20] 80c5266: 2200 movs r2, #0 80c5268: f883 223c strb.w r2, [r3, #572] ; 0x23c hmsc->bot_state = USBD_BOT_SEND_DATA; 80c526c: 697b ldr r3, [r7, #20] 80c526e: 2204 movs r2, #4 80c5270: 721a strb r2, [r3, #8] (void)USBD_LL_Transmit(pdev, MSC_EPIN_ADDR, pbuf, length); 80c5272: 693b ldr r3, [r7, #16] 80c5274: 68ba ldr r2, [r7, #8] 80c5276: 2181 movs r1, #129 ; 0x81 80c5278: 68f8 ldr r0, [r7, #12] 80c527a: f009 fbed bl 80cea58 } 80c527e: bf00 nop 80c5280: 3718 adds r7, #24 80c5282: 46bd mov sp, r7 80c5284: bd80 pop {r7, pc} ... 080c5288 : * @param pdev: device instance * @param status : CSW status * @retval None */ void MSC_BOT_SendCSW(USBD_HandleTypeDef *pdev, uint8_t CSW_Status) { 80c5288: b580 push {r7, lr} 80c528a: b084 sub sp, #16 80c528c: af00 add r7, sp, #0 80c528e: 6078 str r0, [r7, #4] 80c5290: 460b mov r3, r1 80c5292: 70fb strb r3, [r7, #3] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5294: 687b ldr r3, [r7, #4] 80c5296: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c529a: 60fb str r3, [r7, #12] hmsc->csw.dSignature = USBD_BOT_CSW_SIGNATURE; 80c529c: 68fb ldr r3, [r7, #12] 80c529e: 4a0f ldr r2, [pc, #60] ; (80c52dc ) 80c52a0: f8c3 2230 str.w r2, [r3, #560] ; 0x230 hmsc->csw.bStatus = CSW_Status; 80c52a4: 68fb ldr r3, [r7, #12] 80c52a6: 78fa ldrb r2, [r7, #3] 80c52a8: f883 223c strb.w r2, [r3, #572] ; 0x23c hmsc->bot_state = USBD_BOT_IDLE; 80c52ac: 68fb ldr r3, [r7, #12] 80c52ae: 2200 movs r2, #0 80c52b0: 721a strb r2, [r3, #8] (void)USBD_LL_Transmit(pdev, MSC_EPIN_ADDR, (uint8_t *)&hmsc->csw, 80c52b2: 68fb ldr r3, [r7, #12] 80c52b4: f503 720c add.w r2, r3, #560 ; 0x230 80c52b8: 230d movs r3, #13 80c52ba: 2181 movs r1, #129 ; 0x81 80c52bc: 6878 ldr r0, [r7, #4] 80c52be: f009 fbcb bl 80cea58 USBD_BOT_CSW_LENGTH); /* Prepare EP to Receive next Cmd */ (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, (uint8_t *)&hmsc->cbw, 80c52c2: 68fb ldr r3, [r7, #12] 80c52c4: f503 7204 add.w r2, r3, #528 ; 0x210 80c52c8: 231f movs r3, #31 80c52ca: 2101 movs r1, #1 80c52cc: 6878 ldr r0, [r7, #4] 80c52ce: f009 fbe4 bl 80cea9a USBD_BOT_CBW_LENGTH); } 80c52d2: bf00 nop 80c52d4: 3710 adds r7, #16 80c52d6: 46bd mov sp, r7 80c52d8: bd80 pop {r7, pc} 80c52da: bf00 nop 80c52dc: 53425355 .word 0x53425355 080c52e0 : * @param pdev: device instance * @retval status */ static void MSC_BOT_Abort(USBD_HandleTypeDef *pdev) { 80c52e0: b580 push {r7, lr} 80c52e2: b084 sub sp, #16 80c52e4: af00 add r7, sp, #0 80c52e6: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c52e8: 687b ldr r3, [r7, #4] 80c52ea: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c52ee: 60fb str r3, [r7, #12] if ((hmsc->cbw.bmFlags == 0U) && 80c52f0: 68fb ldr r3, [r7, #12] 80c52f2: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c52f6: 2b00 cmp r3, #0 80c52f8: d10c bne.n 80c5314 (hmsc->cbw.dDataLength != 0U) && 80c52fa: 68fb ldr r3, [r7, #12] 80c52fc: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 if ((hmsc->cbw.bmFlags == 0U) && 80c5300: 2b00 cmp r3, #0 80c5302: d007 beq.n 80c5314 (hmsc->bot_status == USBD_BOT_STATUS_NORMAL)) 80c5304: 68fb ldr r3, [r7, #12] 80c5306: 7a5b ldrb r3, [r3, #9] (hmsc->cbw.dDataLength != 0U) && 80c5308: 2b00 cmp r3, #0 80c530a: d103 bne.n 80c5314 { (void)USBD_LL_StallEP(pdev, MSC_EPOUT_ADDR); 80c530c: 2101 movs r1, #1 80c530e: 6878 ldr r0, [r7, #4] 80c5310: f009 fb19 bl 80ce946 } (void)USBD_LL_StallEP(pdev, MSC_EPIN_ADDR); 80c5314: 2181 movs r1, #129 ; 0x81 80c5316: 6878 ldr r0, [r7, #4] 80c5318: f009 fb15 bl 80ce946 if (hmsc->bot_status == USBD_BOT_STATUS_ERROR) 80c531c: 68fb ldr r3, [r7, #12] 80c531e: 7a5b ldrb r3, [r3, #9] 80c5320: 2b02 cmp r3, #2 80c5322: d107 bne.n 80c5334 { (void)USBD_LL_StallEP(pdev, MSC_EPIN_ADDR); 80c5324: 2181 movs r1, #129 ; 0x81 80c5326: 6878 ldr r0, [r7, #4] 80c5328: f009 fb0d bl 80ce946 (void)USBD_LL_StallEP(pdev, MSC_EPOUT_ADDR); 80c532c: 2101 movs r1, #1 80c532e: 6878 ldr r0, [r7, #4] 80c5330: f009 fb09 bl 80ce946 } } 80c5334: bf00 nop 80c5336: 3710 adds r7, #16 80c5338: 46bd mov sp, r7 80c533a: bd80 pop {r7, pc} 080c533c : * @param epnum: endpoint index * @retval None */ void MSC_BOT_CplClrFeature(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c533c: b580 push {r7, lr} 80c533e: b084 sub sp, #16 80c5340: af00 add r7, sp, #0 80c5342: 6078 str r0, [r7, #4] 80c5344: 460b mov r3, r1 80c5346: 70fb strb r3, [r7, #3] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5348: 687b ldr r3, [r7, #4] 80c534a: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c534e: 60fb str r3, [r7, #12] if (hmsc->bot_status == USBD_BOT_STATUS_ERROR) /* Bad CBW Signature */ 80c5350: 68fb ldr r3, [r7, #12] 80c5352: 7a5b ldrb r3, [r3, #9] 80c5354: 2b02 cmp r3, #2 80c5356: d108 bne.n 80c536a { (void)USBD_LL_StallEP(pdev, MSC_EPIN_ADDR); 80c5358: 2181 movs r1, #129 ; 0x81 80c535a: 6878 ldr r0, [r7, #4] 80c535c: f009 faf3 bl 80ce946 (void)USBD_LL_StallEP(pdev, MSC_EPOUT_ADDR); 80c5360: 2101 movs r1, #1 80c5362: 6878 ldr r0, [r7, #4] 80c5364: f009 faef bl 80ce946 80c5368: e00d b.n 80c5386 } else if (((epnum & 0x80U) == 0x80U) && (hmsc->bot_status != USBD_BOT_STATUS_RECOVERY)) 80c536a: f997 3003 ldrsb.w r3, [r7, #3] 80c536e: 2b00 cmp r3, #0 80c5370: da08 bge.n 80c5384 80c5372: 68fb ldr r3, [r7, #12] 80c5374: 7a5b ldrb r3, [r3, #9] 80c5376: 2b01 cmp r3, #1 80c5378: d004 beq.n 80c5384 { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); 80c537a: 2101 movs r1, #1 80c537c: 6878 ldr r0, [r7, #4] 80c537e: f7ff ff83 bl 80c5288 80c5382: e000 b.n 80c5386 } else { return; 80c5384: bf00 nop } } 80c5386: 3710 adds r7, #16 80c5388: 46bd mov sp, r7 80c538a: bd80 pop {r7, pc} 080c538c : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ int8_t SCSI_ProcessCmd(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *cmd) { 80c538c: b580 push {r7, lr} 80c538e: b086 sub sp, #24 80c5390: af00 add r7, sp, #0 80c5392: 60f8 str r0, [r7, #12] 80c5394: 460b mov r3, r1 80c5396: 607a str r2, [r7, #4] 80c5398: 72fb strb r3, [r7, #11] int8_t ret; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c539a: 68fb ldr r3, [r7, #12] 80c539c: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c53a0: 613b str r3, [r7, #16] switch (cmd[0]) 80c53a2: 687b ldr r3, [r7, #4] 80c53a4: 781b ldrb r3, [r3, #0] 80c53a6: 2b25 cmp r3, #37 ; 0x25 80c53a8: d06e beq.n 80c5488 80c53aa: 2b25 cmp r3, #37 ; 0x25 80c53ac: dc11 bgt.n 80c53d2 80c53ae: 2b1a cmp r3, #26 80c53b0: d04f beq.n 80c5452 80c53b2: 2b1a cmp r3, #26 80c53b4: dc06 bgt.n 80c53c4 80c53b6: 2b03 cmp r3, #3 80c53b8: d027 beq.n 80c540a 80c53ba: 2b12 cmp r3, #18 80c53bc: d02e beq.n 80c541c 80c53be: 2b00 cmp r3, #0 80c53c0: d01a beq.n 80c53f8 80c53c2: e0a0 b.n 80c5506 80c53c4: 2b1e cmp r3, #30 80c53c6: d03b beq.n 80c5440 80c53c8: 2b23 cmp r3, #35 ; 0x23 80c53ca: d054 beq.n 80c5476 80c53cc: 2b1b cmp r3, #27 80c53ce: d02e beq.n 80c542e 80c53d0: e099 b.n 80c5506 80c53d2: 2b5a cmp r3, #90 ; 0x5a 80c53d4: d046 beq.n 80c5464 80c53d6: 2b5a cmp r3, #90 ; 0x5a 80c53d8: dc07 bgt.n 80c53ea 80c53da: 2b2a cmp r3, #42 ; 0x2a 80c53dc: d078 beq.n 80c54d0 80c53de: 2b2f cmp r3, #47 ; 0x2f 80c53e0: f000 8088 beq.w 80c54f4 80c53e4: 2b28 cmp r3, #40 ; 0x28 80c53e6: d061 beq.n 80c54ac 80c53e8: e08d b.n 80c5506 80c53ea: 2ba8 cmp r3, #168 ; 0xa8 80c53ec: d067 beq.n 80c54be 80c53ee: 2baa cmp r3, #170 ; 0xaa 80c53f0: d077 beq.n 80c54e2 80c53f2: 2b9e cmp r3, #158 ; 0x9e 80c53f4: d051 beq.n 80c549a 80c53f6: e086 b.n 80c5506 { case SCSI_TEST_UNIT_READY: ret = SCSI_TestUnitReady(pdev, lun, cmd); 80c53f8: 7afb ldrb r3, [r7, #11] 80c53fa: 687a ldr r2, [r7, #4] 80c53fc: 4619 mov r1, r3 80c53fe: 68f8 ldr r0, [r7, #12] 80c5400: f000 f893 bl 80c552a 80c5404: 4603 mov r3, r0 80c5406: 75fb strb r3, [r7, #23] break; 80c5408: e089 b.n 80c551e case SCSI_REQUEST_SENSE: ret = SCSI_RequestSense(pdev, lun, cmd); 80c540a: 7afb ldrb r3, [r7, #11] 80c540c: 687a ldr r2, [r7, #4] 80c540e: 4619 mov r1, r3 80c5410: 68f8 ldr r0, [r7, #12] 80c5412: f000 fb0f bl 80c5a34 80c5416: 4603 mov r3, r0 80c5418: 75fb strb r3, [r7, #23] break; 80c541a: e080 b.n 80c551e case SCSI_INQUIRY: ret = SCSI_Inquiry(pdev, lun, cmd); 80c541c: 7afb ldrb r3, [r7, #11] 80c541e: 687a ldr r2, [r7, #4] 80c5420: 4619 mov r1, r3 80c5422: 68f8 ldr r0, [r7, #12] 80c5424: f000 f8cc bl 80c55c0 80c5428: 4603 mov r3, r0 80c542a: 75fb strb r3, [r7, #23] break; 80c542c: e077 b.n 80c551e case SCSI_START_STOP_UNIT: ret = SCSI_StartStopUnit(pdev, lun, cmd); 80c542e: 7afb ldrb r3, [r7, #11] 80c5430: 687a ldr r2, [r7, #4] 80c5432: 4619 mov r1, r3 80c5434: 68f8 ldr r0, [r7, #12] 80c5436: f000 fbb9 bl 80c5bac 80c543a: 4603 mov r3, r0 80c543c: 75fb strb r3, [r7, #23] break; 80c543e: e06e b.n 80c551e case SCSI_ALLOW_MEDIUM_REMOVAL: ret = SCSI_AllowPreventRemovable(pdev, lun, cmd); 80c5440: 7afb ldrb r3, [r7, #11] 80c5442: 687a ldr r2, [r7, #4] 80c5444: 4619 mov r1, r3 80c5446: 68f8 ldr r0, [r7, #12] 80c5448: f000 fbfb bl 80c5c42 80c544c: 4603 mov r3, r0 80c544e: 75fb strb r3, [r7, #23] break; 80c5450: e065 b.n 80c551e case SCSI_MODE_SENSE6: ret = SCSI_ModeSense6(pdev, lun, cmd); 80c5452: 7afb ldrb r3, [r7, #11] 80c5454: 687a ldr r2, [r7, #4] 80c5456: 4619 mov r1, r3 80c5458: 68f8 ldr r0, [r7, #12] 80c545a: f000 fa9f bl 80c599c 80c545e: 4603 mov r3, r0 80c5460: 75fb strb r3, [r7, #23] break; 80c5462: e05c b.n 80c551e case SCSI_MODE_SENSE10: ret = SCSI_ModeSense10(pdev, lun, cmd); 80c5464: 7afb ldrb r3, [r7, #11] 80c5466: 687a ldr r2, [r7, #4] 80c5468: 4619 mov r1, r3 80c546a: 68f8 ldr r0, [r7, #12] 80c546c: f000 fabc bl 80c59e8 80c5470: 4603 mov r3, r0 80c5472: 75fb strb r3, [r7, #23] break; 80c5474: e053 b.n 80c551e case SCSI_READ_FORMAT_CAPACITIES: ret = SCSI_ReadFormatCapacity(pdev, lun, cmd); 80c5476: 7afb ldrb r3, [r7, #11] 80c5478: 687a ldr r2, [r7, #4] 80c547a: 4619 mov r1, r3 80c547c: 68f8 ldr r0, [r7, #12] 80c547e: f000 fa20 bl 80c58c2 80c5482: 4603 mov r3, r0 80c5484: 75fb strb r3, [r7, #23] break; 80c5486: e04a b.n 80c551e case SCSI_READ_CAPACITY10: ret = SCSI_ReadCapacity10(pdev, lun, cmd); 80c5488: 7afb ldrb r3, [r7, #11] 80c548a: 687a ldr r2, [r7, #4] 80c548c: 4619 mov r1, r3 80c548e: 68f8 ldr r0, [r7, #12] 80c5490: f000 f904 bl 80c569c 80c5494: 4603 mov r3, r0 80c5496: 75fb strb r3, [r7, #23] break; 80c5498: e041 b.n 80c551e case SCSI_READ_CAPACITY16: ret = SCSI_ReadCapacity16(pdev, lun, cmd); 80c549a: 7afb ldrb r3, [r7, #11] 80c549c: 687a ldr r2, [r7, #4] 80c549e: 4619 mov r1, r3 80c54a0: 68f8 ldr r0, [r7, #12] 80c54a2: f000 f96a bl 80c577a 80c54a6: 4603 mov r3, r0 80c54a8: 75fb strb r3, [r7, #23] break; 80c54aa: e038 b.n 80c551e case SCSI_READ10: ret = SCSI_Read10(pdev, lun, cmd); 80c54ac: 7afb ldrb r3, [r7, #11] 80c54ae: 687a ldr r2, [r7, #4] 80c54b0: 4619 mov r1, r3 80c54b2: 68f8 ldr r0, [r7, #12] 80c54b4: f000 fbe8 bl 80c5c88 80c54b8: 4603 mov r3, r0 80c54ba: 75fb strb r3, [r7, #23] break; 80c54bc: e02f b.n 80c551e case SCSI_READ12: ret = SCSI_Read12(pdev, lun, cmd); 80c54be: 7afb ldrb r3, [r7, #11] 80c54c0: 687a ldr r2, [r7, #4] 80c54c2: 4619 mov r1, r3 80c54c4: 68f8 ldr r0, [r7, #12] 80c54c6: f000 fc79 bl 80c5dbc 80c54ca: 4603 mov r3, r0 80c54cc: 75fb strb r3, [r7, #23] break; 80c54ce: e026 b.n 80c551e case SCSI_WRITE10: ret = SCSI_Write10(pdev, lun, cmd); 80c54d0: 7afb ldrb r3, [r7, #11] 80c54d2: 687a ldr r2, [r7, #4] 80c54d4: 4619 mov r1, r3 80c54d6: 68f8 ldr r0, [r7, #12] 80c54d8: f000 fd15 bl 80c5f06 80c54dc: 4603 mov r3, r0 80c54de: 75fb strb r3, [r7, #23] break; 80c54e0: e01d b.n 80c551e case SCSI_WRITE12: ret = SCSI_Write12(pdev, lun, cmd); 80c54e2: 7afb ldrb r3, [r7, #11] 80c54e4: 687a ldr r2, [r7, #4] 80c54e6: 4619 mov r1, r3 80c54e8: 68f8 ldr r0, [r7, #12] 80c54ea: f000 fdcb bl 80c6084 80c54ee: 4603 mov r3, r0 80c54f0: 75fb strb r3, [r7, #23] break; 80c54f2: e014 b.n 80c551e case SCSI_VERIFY10: ret = SCSI_Verify10(pdev, lun, cmd); 80c54f4: 7afb ldrb r3, [r7, #11] 80c54f6: 687a ldr r2, [r7, #4] 80c54f8: 4619 mov r1, r3 80c54fa: 68f8 ldr r0, [r7, #12] 80c54fc: f000 fe91 bl 80c6222 80c5500: 4603 mov r3, r0 80c5502: 75fb strb r3, [r7, #23] break; 80c5504: e00b b.n 80c551e default: SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, INVALID_CDB); 80c5506: 7af9 ldrb r1, [r7, #11] 80c5508: 2320 movs r3, #32 80c550a: 2205 movs r2, #5 80c550c: 68f8 ldr r0, [r7, #12] 80c550e: f000 fb0a bl 80c5b26 hmsc->bot_status = USBD_BOT_STATUS_ERROR; 80c5512: 693b ldr r3, [r7, #16] 80c5514: 2202 movs r2, #2 80c5516: 725a strb r2, [r3, #9] ret = -1; 80c5518: 23ff movs r3, #255 ; 0xff 80c551a: 75fb strb r3, [r7, #23] break; 80c551c: bf00 nop } return ret; 80c551e: f997 3017 ldrsb.w r3, [r7, #23] } 80c5522: 4618 mov r0, r3 80c5524: 3718 adds r7, #24 80c5526: 46bd mov sp, r7 80c5528: bd80 pop {r7, pc} 080c552a : * @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) { 80c552a: b580 push {r7, lr} 80c552c: b086 sub sp, #24 80c552e: af00 add r7, sp, #0 80c5530: 60f8 str r0, [r7, #12] 80c5532: 460b mov r3, r1 80c5534: 607a str r2, [r7, #4] 80c5536: 72fb strb r3, [r7, #11] UNUSED(params); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5538: 68fb ldr r3, [r7, #12] 80c553a: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c553e: 617b str r3, [r7, #20] /* case 9 : Hi > D0 */ if (hmsc->cbw.dDataLength != 0U) 80c5540: 697b ldr r3, [r7, #20] 80c5542: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c5546: 2b00 cmp r3, #0 80c5548: d00a beq.n 80c5560 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c554a: 697b ldr r3, [r7, #20] 80c554c: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c5550: 2320 movs r3, #32 80c5552: 2205 movs r2, #5 80c5554: 68f8 ldr r0, [r7, #12] 80c5556: f000 fae6 bl 80c5b26 return -1; 80c555a: f04f 33ff mov.w r3, #4294967295 80c555e: e02a b.n 80c55b6 } if (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED) 80c5560: 697b ldr r3, [r7, #20] 80c5562: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c5566: 2b02 cmp r3, #2 80c5568: d10b bne.n 80c5582 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c556a: 7af9 ldrb r1, [r7, #11] 80c556c: 233a movs r3, #58 ; 0x3a 80c556e: 2202 movs r2, #2 80c5570: 68f8 ldr r0, [r7, #12] 80c5572: f000 fad8 bl 80c5b26 hmsc->bot_state = USBD_BOT_NO_DATA; 80c5576: 697b ldr r3, [r7, #20] 80c5578: 2205 movs r2, #5 80c557a: 721a strb r2, [r3, #8] return -1; 80c557c: f04f 33ff mov.w r3, #4294967295 80c5580: e019 b.n 80c55b6 } if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c5582: 68fb ldr r3, [r7, #12] 80c5584: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c5588: 689b ldr r3, [r3, #8] 80c558a: 7afa ldrb r2, [r7, #11] 80c558c: 4610 mov r0, r2 80c558e: 4798 blx r3 80c5590: 4603 mov r3, r0 80c5592: 2b00 cmp r3, #0 80c5594: d00b beq.n 80c55ae { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c5596: 7af9 ldrb r1, [r7, #11] 80c5598: 233a movs r3, #58 ; 0x3a 80c559a: 2202 movs r2, #2 80c559c: 68f8 ldr r0, [r7, #12] 80c559e: f000 fac2 bl 80c5b26 hmsc->bot_state = USBD_BOT_NO_DATA; 80c55a2: 697b ldr r3, [r7, #20] 80c55a4: 2205 movs r2, #5 80c55a6: 721a strb r2, [r3, #8] return -1; 80c55a8: f04f 33ff mov.w r3, #4294967295 80c55ac: e003 b.n 80c55b6 } hmsc->bot_data_length = 0U; 80c55ae: 697b ldr r3, [r7, #20] 80c55b0: 2200 movs r2, #0 80c55b2: 60da str r2, [r3, #12] return 0; 80c55b4: 2300 movs r3, #0 } 80c55b6: 4618 mov r0, r3 80c55b8: 3718 adds r7, #24 80c55ba: 46bd mov sp, r7 80c55bc: bd80 pop {r7, pc} ... 080c55c0 : * @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) { 80c55c0: b580 push {r7, lr} 80c55c2: b088 sub sp, #32 80c55c4: af00 add r7, sp, #0 80c55c6: 60f8 str r0, [r7, #12] 80c55c8: 460b mov r3, r1 80c55ca: 607a str r2, [r7, #4] 80c55cc: 72fb strb r3, [r7, #11] uint8_t *pPage; uint16_t len; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c55ce: 68fb ldr r3, [r7, #12] 80c55d0: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c55d4: 61bb str r3, [r7, #24] if (hmsc->cbw.dDataLength == 0U) 80c55d6: 69bb ldr r3, [r7, #24] 80c55d8: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c55dc: 2b00 cmp r3, #0 80c55de: d10a bne.n 80c55f6 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c55e0: 69bb ldr r3, [r7, #24] 80c55e2: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c55e6: 2320 movs r3, #32 80c55e8: 2205 movs r2, #5 80c55ea: 68f8 ldr r0, [r7, #12] 80c55ec: f000 fa9b bl 80c5b26 return -1; 80c55f0: f04f 33ff mov.w r3, #4294967295 80c55f4: e04a b.n 80c568c } if ((params[1] & 0x01U) != 0U) /* Evpd is set */ 80c55f6: 687b ldr r3, [r7, #4] 80c55f8: 3301 adds r3, #1 80c55fa: 781b ldrb r3, [r3, #0] 80c55fc: f003 0301 and.w r3, r3, #1 80c5600: 2b00 cmp r3, #0 80c5602: d020 beq.n 80c5646 { if (params[2] == 0U) /* Request for Supported Vital Product Data Pages*/ 80c5604: 687b ldr r3, [r7, #4] 80c5606: 3302 adds r3, #2 80c5608: 781b ldrb r3, [r3, #0] 80c560a: 2b00 cmp r3, #0 80c560c: d105 bne.n 80c561a { (void)SCSI_UpdateBotData(hmsc, MSC_Page00_Inquiry_Data, LENGTH_INQUIRY_PAGE00); 80c560e: 2206 movs r2, #6 80c5610: 4920 ldr r1, [pc, #128] ; (80c5694 ) 80c5612: 69b8 ldr r0, [r7, #24] 80c5614: f000 ff50 bl 80c64b8 80c5618: e037 b.n 80c568a } else if (params[2] == 0x80U) /* Request for VPD page 0x80 Unit Serial Number */ 80c561a: 687b ldr r3, [r7, #4] 80c561c: 3302 adds r3, #2 80c561e: 781b ldrb r3, [r3, #0] 80c5620: 2b80 cmp r3, #128 ; 0x80 80c5622: d105 bne.n 80c5630 { (void)SCSI_UpdateBotData(hmsc, MSC_Page80_Inquiry_Data, LENGTH_INQUIRY_PAGE80); 80c5624: 2208 movs r2, #8 80c5626: 491c ldr r1, [pc, #112] ; (80c5698 ) 80c5628: 69b8 ldr r0, [r7, #24] 80c562a: f000 ff45 bl 80c64b8 80c562e: e02c b.n 80c568a } else /* Request Not supported */ { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, 80c5630: 69bb ldr r3, [r7, #24] 80c5632: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c5636: 2324 movs r3, #36 ; 0x24 80c5638: 2205 movs r2, #5 80c563a: 68f8 ldr r0, [r7, #12] 80c563c: f000 fa73 bl 80c5b26 INVALID_FIELED_IN_COMMAND); return -1; 80c5640: f04f 33ff mov.w r3, #4294967295 80c5644: e022 b.n 80c568c } } else { pPage = (uint8_t *)&((USBD_StorageTypeDef *)pdev->pUserData)->pInquiry[lun * STANDARD_INQUIRY_DATA_LEN]; 80c5646: 68fb ldr r3, [r7, #12] 80c5648: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c564c: 69d9 ldr r1, [r3, #28] 80c564e: 7afa ldrb r2, [r7, #11] 80c5650: 4613 mov r3, r2 80c5652: 00db lsls r3, r3, #3 80c5654: 4413 add r3, r2 80c5656: 009b lsls r3, r3, #2 80c5658: 440b add r3, r1 80c565a: 617b str r3, [r7, #20] len = (uint16_t)pPage[4] + 5U; 80c565c: 697b ldr r3, [r7, #20] 80c565e: 3304 adds r3, #4 80c5660: 781b ldrb r3, [r3, #0] 80c5662: b29b uxth r3, r3 80c5664: 3305 adds r3, #5 80c5666: 83fb strh r3, [r7, #30] if (params[4] <= len) 80c5668: 687b ldr r3, [r7, #4] 80c566a: 3304 adds r3, #4 80c566c: 781b ldrb r3, [r3, #0] 80c566e: b29b uxth r3, r3 80c5670: 8bfa ldrh r2, [r7, #30] 80c5672: 429a cmp r2, r3 80c5674: d303 bcc.n 80c567e { len = params[4]; 80c5676: 687b ldr r3, [r7, #4] 80c5678: 3304 adds r3, #4 80c567a: 781b ldrb r3, [r3, #0] 80c567c: 83fb strh r3, [r7, #30] } (void)SCSI_UpdateBotData(hmsc, pPage, len); 80c567e: 8bfb ldrh r3, [r7, #30] 80c5680: 461a mov r2, r3 80c5682: 6979 ldr r1, [r7, #20] 80c5684: 69b8 ldr r0, [r7, #24] 80c5686: f000 ff17 bl 80c64b8 } return 0; 80c568a: 2300 movs r3, #0 } 80c568c: 4618 mov r0, r3 80c568e: 3720 adds r7, #32 80c5690: 46bd mov sp, r7 80c5692: bd80 pop {r7, pc} 80c5694: 20020a8c .word 0x20020a8c 80c5698: 20020a94 .word 0x20020a94 080c569c : * @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) { 80c569c: b580 push {r7, lr} 80c569e: b086 sub sp, #24 80c56a0: af00 add r7, sp, #0 80c56a2: 60f8 str r0, [r7, #12] 80c56a4: 460b mov r3, r1 80c56a6: 607a str r2, [r7, #4] 80c56a8: 72fb strb r3, [r7, #11] UNUSED(params); int8_t ret; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c56aa: 68fb ldr r3, [r7, #12] 80c56ac: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c56b0: 617b str r3, [r7, #20] ret = ((USBD_StorageTypeDef *)pdev->pUserData)->GetCapacity(lun, &hmsc->scsi_blk_nbr, &hmsc->scsi_blk_size); 80c56b2: 68fb ldr r3, [r7, #12] 80c56b4: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c56b8: 685b ldr r3, [r3, #4] 80c56ba: 697a ldr r2, [r7, #20] 80c56bc: f502 711a add.w r1, r2, #616 ; 0x268 80c56c0: 697a ldr r2, [r7, #20] 80c56c2: f502 7219 add.w r2, r2, #612 ; 0x264 80c56c6: 7af8 ldrb r0, [r7, #11] 80c56c8: 4798 blx r3 80c56ca: 4603 mov r3, r0 80c56cc: 74fb strb r3, [r7, #19] if ((ret != 0) || (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED)) 80c56ce: f997 3013 ldrsb.w r3, [r7, #19] 80c56d2: 2b00 cmp r3, #0 80c56d4: d104 bne.n 80c56e0 80c56d6: 697b ldr r3, [r7, #20] 80c56d8: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c56dc: 2b02 cmp r3, #2 80c56de: d108 bne.n 80c56f2 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c56e0: 7af9 ldrb r1, [r7, #11] 80c56e2: 233a movs r3, #58 ; 0x3a 80c56e4: 2202 movs r2, #2 80c56e6: 68f8 ldr r0, [r7, #12] 80c56e8: f000 fa1d bl 80c5b26 return -1; 80c56ec: f04f 33ff mov.w r3, #4294967295 80c56f0: e03f b.n 80c5772 } hmsc->bot_data[0] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 24); 80c56f2: 697b ldr r3, [r7, #20] 80c56f4: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c56f8: 3b01 subs r3, #1 80c56fa: 0e1b lsrs r3, r3, #24 80c56fc: b2da uxtb r2, r3 80c56fe: 697b ldr r3, [r7, #20] 80c5700: 741a strb r2, [r3, #16] hmsc->bot_data[1] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 16); 80c5702: 697b ldr r3, [r7, #20] 80c5704: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c5708: 3b01 subs r3, #1 80c570a: 0c1b lsrs r3, r3, #16 80c570c: b2da uxtb r2, r3 80c570e: 697b ldr r3, [r7, #20] 80c5710: 745a strb r2, [r3, #17] hmsc->bot_data[2] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 8); 80c5712: 697b ldr r3, [r7, #20] 80c5714: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c5718: 3b01 subs r3, #1 80c571a: 0a1b lsrs r3, r3, #8 80c571c: b2da uxtb r2, r3 80c571e: 697b ldr r3, [r7, #20] 80c5720: 749a strb r2, [r3, #18] hmsc->bot_data[3] = (uint8_t)(hmsc->scsi_blk_nbr - 1U); 80c5722: 697b ldr r3, [r7, #20] 80c5724: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c5728: b2db uxtb r3, r3 80c572a: 3b01 subs r3, #1 80c572c: b2da uxtb r2, r3 80c572e: 697b ldr r3, [r7, #20] 80c5730: 74da strb r2, [r3, #19] hmsc->bot_data[4] = (uint8_t)(hmsc->scsi_blk_size >> 24); 80c5732: 697b ldr r3, [r7, #20] 80c5734: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c5738: 161b asrs r3, r3, #24 80c573a: b2da uxtb r2, r3 80c573c: 697b ldr r3, [r7, #20] 80c573e: 751a strb r2, [r3, #20] hmsc->bot_data[5] = (uint8_t)(hmsc->scsi_blk_size >> 16); 80c5740: 697b ldr r3, [r7, #20] 80c5742: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c5746: 141b asrs r3, r3, #16 80c5748: b2da uxtb r2, r3 80c574a: 697b ldr r3, [r7, #20] 80c574c: 755a strb r2, [r3, #21] hmsc->bot_data[6] = (uint8_t)(hmsc->scsi_blk_size >> 8); 80c574e: 697b ldr r3, [r7, #20] 80c5750: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c5754: 0a1b lsrs r3, r3, #8 80c5756: b29b uxth r3, r3 80c5758: b2da uxtb r2, r3 80c575a: 697b ldr r3, [r7, #20] 80c575c: 759a strb r2, [r3, #22] hmsc->bot_data[7] = (uint8_t)(hmsc->scsi_blk_size); 80c575e: 697b ldr r3, [r7, #20] 80c5760: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c5764: b2da uxtb r2, r3 80c5766: 697b ldr r3, [r7, #20] 80c5768: 75da strb r2, [r3, #23] hmsc->bot_data_length = 8U; 80c576a: 697b ldr r3, [r7, #20] 80c576c: 2208 movs r2, #8 80c576e: 60da str r2, [r3, #12] return 0; 80c5770: 2300 movs r3, #0 } 80c5772: 4618 mov r0, r3 80c5774: 3718 adds r7, #24 80c5776: 46bd mov sp, r7 80c5778: bd80 pop {r7, pc} 080c577a : * @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) { 80c577a: b580 push {r7, lr} 80c577c: b088 sub sp, #32 80c577e: af00 add r7, sp, #0 80c5780: 60f8 str r0, [r7, #12] 80c5782: 460b mov r3, r1 80c5784: 607a str r2, [r7, #4] 80c5786: 72fb strb r3, [r7, #11] UNUSED(params); uint8_t idx; int8_t ret; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5788: 68fb ldr r3, [r7, #12] 80c578a: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c578e: 61bb str r3, [r7, #24] ret = ((USBD_StorageTypeDef *)pdev->pUserData)->GetCapacity(lun, &hmsc->scsi_blk_nbr, &hmsc->scsi_blk_size); 80c5790: 68fb ldr r3, [r7, #12] 80c5792: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c5796: 685b ldr r3, [r3, #4] 80c5798: 69ba ldr r2, [r7, #24] 80c579a: f502 711a add.w r1, r2, #616 ; 0x268 80c579e: 69ba ldr r2, [r7, #24] 80c57a0: f502 7219 add.w r2, r2, #612 ; 0x264 80c57a4: 7af8 ldrb r0, [r7, #11] 80c57a6: 4798 blx r3 80c57a8: 4603 mov r3, r0 80c57aa: 75fb strb r3, [r7, #23] if ((ret != 0) || (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED)) 80c57ac: f997 3017 ldrsb.w r3, [r7, #23] 80c57b0: 2b00 cmp r3, #0 80c57b2: d104 bne.n 80c57be 80c57b4: 69bb ldr r3, [r7, #24] 80c57b6: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c57ba: 2b02 cmp r3, #2 80c57bc: d108 bne.n 80c57d0 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c57be: 7af9 ldrb r1, [r7, #11] 80c57c0: 233a movs r3, #58 ; 0x3a 80c57c2: 2202 movs r2, #2 80c57c4: 68f8 ldr r0, [r7, #12] 80c57c6: f000 f9ae bl 80c5b26 return -1; 80c57ca: f04f 33ff mov.w r3, #4294967295 80c57ce: e074 b.n 80c58ba } hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c57d0: 687b ldr r3, [r7, #4] 80c57d2: 330a adds r3, #10 80c57d4: 781b ldrb r3, [r3, #0] 80c57d6: 061a lsls r2, r3, #24 ((uint32_t)params[11] << 16) | 80c57d8: 687b ldr r3, [r7, #4] 80c57da: 330b adds r3, #11 80c57dc: 781b ldrb r3, [r3, #0] 80c57de: 041b lsls r3, r3, #16 hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c57e0: 431a orrs r2, r3 ((uint32_t)params[12] << 8) | 80c57e2: 687b ldr r3, [r7, #4] 80c57e4: 330c adds r3, #12 80c57e6: 781b ldrb r3, [r3, #0] 80c57e8: 021b lsls r3, r3, #8 ((uint32_t)params[11] << 16) | 80c57ea: 4313 orrs r3, r2 (uint32_t)params[13]; 80c57ec: 687a ldr r2, [r7, #4] 80c57ee: 320d adds r2, #13 80c57f0: 7812 ldrb r2, [r2, #0] ((uint32_t)params[12] << 8) | 80c57f2: 431a orrs r2, r3 hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c57f4: 69bb ldr r3, [r7, #24] 80c57f6: 60da str r2, [r3, #12] for (idx = 0U; idx < hmsc->bot_data_length; idx++) 80c57f8: 2300 movs r3, #0 80c57fa: 77fb strb r3, [r7, #31] 80c57fc: e007 b.n 80c580e { hmsc->bot_data[idx] = 0U; 80c57fe: 7ffb ldrb r3, [r7, #31] 80c5800: 69ba ldr r2, [r7, #24] 80c5802: 4413 add r3, r2 80c5804: 2200 movs r2, #0 80c5806: 741a strb r2, [r3, #16] for (idx = 0U; idx < hmsc->bot_data_length; idx++) 80c5808: 7ffb ldrb r3, [r7, #31] 80c580a: 3301 adds r3, #1 80c580c: 77fb strb r3, [r7, #31] 80c580e: 7ffa ldrb r2, [r7, #31] 80c5810: 69bb ldr r3, [r7, #24] 80c5812: 68db ldr r3, [r3, #12] 80c5814: 429a cmp r2, r3 80c5816: d3f2 bcc.n 80c57fe } hmsc->bot_data[4] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 24); 80c5818: 69bb ldr r3, [r7, #24] 80c581a: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c581e: 3b01 subs r3, #1 80c5820: 0e1b lsrs r3, r3, #24 80c5822: b2da uxtb r2, r3 80c5824: 69bb ldr r3, [r7, #24] 80c5826: 751a strb r2, [r3, #20] hmsc->bot_data[5] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 16); 80c5828: 69bb ldr r3, [r7, #24] 80c582a: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c582e: 3b01 subs r3, #1 80c5830: 0c1b lsrs r3, r3, #16 80c5832: b2da uxtb r2, r3 80c5834: 69bb ldr r3, [r7, #24] 80c5836: 755a strb r2, [r3, #21] hmsc->bot_data[6] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 8); 80c5838: 69bb ldr r3, [r7, #24] 80c583a: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c583e: 3b01 subs r3, #1 80c5840: 0a1b lsrs r3, r3, #8 80c5842: b2da uxtb r2, r3 80c5844: 69bb ldr r3, [r7, #24] 80c5846: 759a strb r2, [r3, #22] hmsc->bot_data[7] = (uint8_t)(hmsc->scsi_blk_nbr - 1U); 80c5848: 69bb ldr r3, [r7, #24] 80c584a: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c584e: b2db uxtb r3, r3 80c5850: 3b01 subs r3, #1 80c5852: b2da uxtb r2, r3 80c5854: 69bb ldr r3, [r7, #24] 80c5856: 75da strb r2, [r3, #23] hmsc->bot_data[8] = (uint8_t)(hmsc->scsi_blk_size >> 24); 80c5858: 69bb ldr r3, [r7, #24] 80c585a: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c585e: 161b asrs r3, r3, #24 80c5860: b2da uxtb r2, r3 80c5862: 69bb ldr r3, [r7, #24] 80c5864: 761a strb r2, [r3, #24] hmsc->bot_data[9] = (uint8_t)(hmsc->scsi_blk_size >> 16); 80c5866: 69bb ldr r3, [r7, #24] 80c5868: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c586c: 141b asrs r3, r3, #16 80c586e: b2da uxtb r2, r3 80c5870: 69bb ldr r3, [r7, #24] 80c5872: 765a strb r2, [r3, #25] hmsc->bot_data[10] = (uint8_t)(hmsc->scsi_blk_size >> 8); 80c5874: 69bb ldr r3, [r7, #24] 80c5876: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c587a: 0a1b lsrs r3, r3, #8 80c587c: b29b uxth r3, r3 80c587e: b2da uxtb r2, r3 80c5880: 69bb ldr r3, [r7, #24] 80c5882: 769a strb r2, [r3, #26] hmsc->bot_data[11] = (uint8_t)(hmsc->scsi_blk_size); 80c5884: 69bb ldr r3, [r7, #24] 80c5886: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c588a: b2da uxtb r2, r3 80c588c: 69bb ldr r3, [r7, #24] 80c588e: 76da strb r2, [r3, #27] hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c5890: 687b ldr r3, [r7, #4] 80c5892: 330a adds r3, #10 80c5894: 781b ldrb r3, [r3, #0] 80c5896: 061a lsls r2, r3, #24 ((uint32_t)params[11] << 16) | 80c5898: 687b ldr r3, [r7, #4] 80c589a: 330b adds r3, #11 80c589c: 781b ldrb r3, [r3, #0] 80c589e: 041b lsls r3, r3, #16 hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c58a0: 431a orrs r2, r3 ((uint32_t)params[12] << 8) | 80c58a2: 687b ldr r3, [r7, #4] 80c58a4: 330c adds r3, #12 80c58a6: 781b ldrb r3, [r3, #0] 80c58a8: 021b lsls r3, r3, #8 ((uint32_t)params[11] << 16) | 80c58aa: 4313 orrs r3, r2 (uint32_t)params[13]; 80c58ac: 687a ldr r2, [r7, #4] 80c58ae: 320d adds r2, #13 80c58b0: 7812 ldrb r2, [r2, #0] ((uint32_t)params[12] << 8) | 80c58b2: 431a orrs r2, r3 hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c58b4: 69bb ldr r3, [r7, #24] 80c58b6: 60da str r2, [r3, #12] return 0; 80c58b8: 2300 movs r3, #0 } 80c58ba: 4618 mov r0, r3 80c58bc: 3720 adds r7, #32 80c58be: 46bd mov sp, r7 80c58c0: bd80 pop {r7, pc} 080c58c2 : * @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) { 80c58c2: b580 push {r7, lr} 80c58c4: b088 sub sp, #32 80c58c6: af00 add r7, sp, #0 80c58c8: 60f8 str r0, [r7, #12] 80c58ca: 460b mov r3, r1 80c58cc: 607a str r2, [r7, #4] 80c58ce: 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; 80c58d0: 68fb ldr r3, [r7, #12] 80c58d2: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c58d6: 61bb str r3, [r7, #24] ret = ((USBD_StorageTypeDef *)pdev->pUserData)->GetCapacity(lun, &blk_nbr, &blk_size); 80c58d8: 68fb ldr r3, [r7, #12] 80c58da: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c58de: 685b ldr r3, [r3, #4] 80c58e0: f107 0214 add.w r2, r7, #20 80c58e4: f107 0110 add.w r1, r7, #16 80c58e8: 7af8 ldrb r0, [r7, #11] 80c58ea: 4798 blx r3 80c58ec: 4603 mov r3, r0 80c58ee: 75fb strb r3, [r7, #23] if ((ret != 0) || (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED)) 80c58f0: f997 3017 ldrsb.w r3, [r7, #23] 80c58f4: 2b00 cmp r3, #0 80c58f6: d104 bne.n 80c5902 80c58f8: 69bb ldr r3, [r7, #24] 80c58fa: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c58fe: 2b02 cmp r3, #2 80c5900: d108 bne.n 80c5914 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c5902: 7af9 ldrb r1, [r7, #11] 80c5904: 233a movs r3, #58 ; 0x3a 80c5906: 2202 movs r2, #2 80c5908: 68f8 ldr r0, [r7, #12] 80c590a: f000 f90c bl 80c5b26 return -1; 80c590e: f04f 33ff mov.w r3, #4294967295 80c5912: e03e b.n 80c5992 } for (i = 0U; i < 12U ; i++) 80c5914: 2300 movs r3, #0 80c5916: 83fb strh r3, [r7, #30] 80c5918: e007 b.n 80c592a { hmsc->bot_data[i] = 0U; 80c591a: 8bfb ldrh r3, [r7, #30] 80c591c: 69ba ldr r2, [r7, #24] 80c591e: 4413 add r3, r2 80c5920: 2200 movs r2, #0 80c5922: 741a strb r2, [r3, #16] for (i = 0U; i < 12U ; i++) 80c5924: 8bfb ldrh r3, [r7, #30] 80c5926: 3301 adds r3, #1 80c5928: 83fb strh r3, [r7, #30] 80c592a: 8bfb ldrh r3, [r7, #30] 80c592c: 2b0b cmp r3, #11 80c592e: d9f4 bls.n 80c591a } hmsc->bot_data[3] = 0x08U; 80c5930: 69bb ldr r3, [r7, #24] 80c5932: 2208 movs r2, #8 80c5934: 74da strb r2, [r3, #19] hmsc->bot_data[4] = (uint8_t)((blk_nbr - 1U) >> 24); 80c5936: 693b ldr r3, [r7, #16] 80c5938: 3b01 subs r3, #1 80c593a: 0e1b lsrs r3, r3, #24 80c593c: b2da uxtb r2, r3 80c593e: 69bb ldr r3, [r7, #24] 80c5940: 751a strb r2, [r3, #20] hmsc->bot_data[5] = (uint8_t)((blk_nbr - 1U) >> 16); 80c5942: 693b ldr r3, [r7, #16] 80c5944: 3b01 subs r3, #1 80c5946: 0c1b lsrs r3, r3, #16 80c5948: b2da uxtb r2, r3 80c594a: 69bb ldr r3, [r7, #24] 80c594c: 755a strb r2, [r3, #21] hmsc->bot_data[6] = (uint8_t)((blk_nbr - 1U) >> 8); 80c594e: 693b ldr r3, [r7, #16] 80c5950: 3b01 subs r3, #1 80c5952: 0a1b lsrs r3, r3, #8 80c5954: b2da uxtb r2, r3 80c5956: 69bb ldr r3, [r7, #24] 80c5958: 759a strb r2, [r3, #22] hmsc->bot_data[7] = (uint8_t)(blk_nbr - 1U); 80c595a: 693b ldr r3, [r7, #16] 80c595c: b2db uxtb r3, r3 80c595e: 3b01 subs r3, #1 80c5960: b2da uxtb r2, r3 80c5962: 69bb ldr r3, [r7, #24] 80c5964: 75da strb r2, [r3, #23] hmsc->bot_data[8] = 0x02U; 80c5966: 69bb ldr r3, [r7, #24] 80c5968: 2202 movs r2, #2 80c596a: 761a strb r2, [r3, #24] hmsc->bot_data[9] = (uint8_t)(blk_size >> 16); 80c596c: 8abb ldrh r3, [r7, #20] 80c596e: 141b asrs r3, r3, #16 80c5970: b2da uxtb r2, r3 80c5972: 69bb ldr r3, [r7, #24] 80c5974: 765a strb r2, [r3, #25] hmsc->bot_data[10] = (uint8_t)(blk_size >> 8); 80c5976: 8abb ldrh r3, [r7, #20] 80c5978: 0a1b lsrs r3, r3, #8 80c597a: b29b uxth r3, r3 80c597c: b2da uxtb r2, r3 80c597e: 69bb ldr r3, [r7, #24] 80c5980: 769a strb r2, [r3, #26] hmsc->bot_data[11] = (uint8_t)(blk_size); 80c5982: 8abb ldrh r3, [r7, #20] 80c5984: b2da uxtb r2, r3 80c5986: 69bb ldr r3, [r7, #24] 80c5988: 76da strb r2, [r3, #27] hmsc->bot_data_length = 12U; 80c598a: 69bb ldr r3, [r7, #24] 80c598c: 220c movs r2, #12 80c598e: 60da str r2, [r3, #12] return 0; 80c5990: 2300 movs r3, #0 } 80c5992: 4618 mov r0, r3 80c5994: 3720 adds r7, #32 80c5996: 46bd mov sp, r7 80c5998: bd80 pop {r7, pc} ... 080c599c : * @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) { 80c599c: b580 push {r7, lr} 80c599e: b086 sub sp, #24 80c59a0: af00 add r7, sp, #0 80c59a2: 60f8 str r0, [r7, #12] 80c59a4: 460b mov r3, r1 80c59a6: 607a str r2, [r7, #4] 80c59a8: 72fb strb r3, [r7, #11] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c59aa: 68fb ldr r3, [r7, #12] 80c59ac: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c59b0: 613b str r3, [r7, #16] uint16_t len = MODE_SENSE6_LEN; 80c59b2: 2317 movs r3, #23 80c59b4: 82fb strh r3, [r7, #22] if (params[4] <= len) 80c59b6: 687b ldr r3, [r7, #4] 80c59b8: 3304 adds r3, #4 80c59ba: 781b ldrb r3, [r3, #0] 80c59bc: b29b uxth r3, r3 80c59be: 8afa ldrh r2, [r7, #22] 80c59c0: 429a cmp r2, r3 80c59c2: d303 bcc.n 80c59cc { len = params[4]; 80c59c4: 687b ldr r3, [r7, #4] 80c59c6: 3304 adds r3, #4 80c59c8: 781b ldrb r3, [r3, #0] 80c59ca: 82fb strh r3, [r7, #22] } (void)SCSI_UpdateBotData(hmsc, MSC_Mode_Sense6_data, len); 80c59cc: 8afb ldrh r3, [r7, #22] 80c59ce: 461a mov r2, r3 80c59d0: 4904 ldr r1, [pc, #16] ; (80c59e4 ) 80c59d2: 6938 ldr r0, [r7, #16] 80c59d4: f000 fd70 bl 80c64b8 return 0; 80c59d8: 2300 movs r3, #0 } 80c59da: 4618 mov r0, r3 80c59dc: 3718 adds r7, #24 80c59de: 46bd mov sp, r7 80c59e0: bd80 pop {r7, pc} 80c59e2: bf00 nop 80c59e4: 20020a9c .word 0x20020a9c 080c59e8 : * @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) { 80c59e8: b580 push {r7, lr} 80c59ea: b086 sub sp, #24 80c59ec: af00 add r7, sp, #0 80c59ee: 60f8 str r0, [r7, #12] 80c59f0: 460b mov r3, r1 80c59f2: 607a str r2, [r7, #4] 80c59f4: 72fb strb r3, [r7, #11] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c59f6: 68fb ldr r3, [r7, #12] 80c59f8: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c59fc: 613b str r3, [r7, #16] uint16_t len = MODE_SENSE10_LEN; 80c59fe: 231b movs r3, #27 80c5a00: 82fb strh r3, [r7, #22] if (params[8] <= len) 80c5a02: 687b ldr r3, [r7, #4] 80c5a04: 3308 adds r3, #8 80c5a06: 781b ldrb r3, [r3, #0] 80c5a08: b29b uxth r3, r3 80c5a0a: 8afa ldrh r2, [r7, #22] 80c5a0c: 429a cmp r2, r3 80c5a0e: d303 bcc.n 80c5a18 { len = params[8]; 80c5a10: 687b ldr r3, [r7, #4] 80c5a12: 3308 adds r3, #8 80c5a14: 781b ldrb r3, [r3, #0] 80c5a16: 82fb strh r3, [r7, #22] } (void)SCSI_UpdateBotData(hmsc, MSC_Mode_Sense10_data, len); 80c5a18: 8afb ldrh r3, [r7, #22] 80c5a1a: 461a mov r2, r3 80c5a1c: 4904 ldr r1, [pc, #16] ; (80c5a30 ) 80c5a1e: 6938 ldr r0, [r7, #16] 80c5a20: f000 fd4a bl 80c64b8 return 0; 80c5a24: 2300 movs r3, #0 } 80c5a26: 4618 mov r0, r3 80c5a28: 3718 adds r7, #24 80c5a2a: 46bd mov sp, r7 80c5a2c: bd80 pop {r7, pc} 80c5a2e: bf00 nop 80c5a30: 20020ab4 .word 0x20020ab4 080c5a34 : * @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) { 80c5a34: b580 push {r7, lr} 80c5a36: b086 sub sp, #24 80c5a38: af00 add r7, sp, #0 80c5a3a: 60f8 str r0, [r7, #12] 80c5a3c: 460b mov r3, r1 80c5a3e: 607a str r2, [r7, #4] 80c5a40: 72fb strb r3, [r7, #11] UNUSED(lun); uint8_t i; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5a42: 68fb ldr r3, [r7, #12] 80c5a44: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c5a48: 613b str r3, [r7, #16] if (hmsc->cbw.dDataLength == 0U) 80c5a4a: 693b ldr r3, [r7, #16] 80c5a4c: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c5a50: 2b00 cmp r3, #0 80c5a52: d10a bne.n 80c5a6a { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c5a54: 693b ldr r3, [r7, #16] 80c5a56: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c5a5a: 2320 movs r3, #32 80c5a5c: 2205 movs r2, #5 80c5a5e: 68f8 ldr r0, [r7, #12] 80c5a60: f000 f861 bl 80c5b26 return -1; 80c5a64: f04f 33ff mov.w r3, #4294967295 80c5a68: e059 b.n 80c5b1e } for (i = 0U; i < REQUEST_SENSE_DATA_LEN; i++) 80c5a6a: 2300 movs r3, #0 80c5a6c: 75fb strb r3, [r7, #23] 80c5a6e: e007 b.n 80c5a80 { hmsc->bot_data[i] = 0U; 80c5a70: 7dfb ldrb r3, [r7, #23] 80c5a72: 693a ldr r2, [r7, #16] 80c5a74: 4413 add r3, r2 80c5a76: 2200 movs r2, #0 80c5a78: 741a strb r2, [r3, #16] for (i = 0U; i < REQUEST_SENSE_DATA_LEN; i++) 80c5a7a: 7dfb ldrb r3, [r7, #23] 80c5a7c: 3301 adds r3, #1 80c5a7e: 75fb strb r3, [r7, #23] 80c5a80: 7dfb ldrb r3, [r7, #23] 80c5a82: 2b11 cmp r3, #17 80c5a84: d9f4 bls.n 80c5a70 } hmsc->bot_data[0] = 0x70U; 80c5a86: 693b ldr r3, [r7, #16] 80c5a88: 2270 movs r2, #112 ; 0x70 80c5a8a: 741a strb r2, [r3, #16] hmsc->bot_data[7] = REQUEST_SENSE_DATA_LEN - 6U; 80c5a8c: 693b ldr r3, [r7, #16] 80c5a8e: 220c movs r2, #12 80c5a90: 75da strb r2, [r3, #23] if ((hmsc->scsi_sense_head != hmsc->scsi_sense_tail)) 80c5a92: 693b ldr r3, [r7, #16] 80c5a94: f893 2260 ldrb.w r2, [r3, #608] ; 0x260 80c5a98: 693b ldr r3, [r7, #16] 80c5a9a: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c5a9e: 429a cmp r2, r3 80c5aa0: d02e beq.n 80c5b00 { hmsc->bot_data[2] = (uint8_t)hmsc->scsi_sense[hmsc->scsi_sense_head].Skey; 80c5aa2: 693b ldr r3, [r7, #16] 80c5aa4: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c5aa8: 461a mov r2, r3 80c5aaa: 693b ldr r3, [r7, #16] 80c5aac: 3248 adds r2, #72 ; 0x48 80c5aae: f813 2032 ldrb.w r2, [r3, r2, lsl #3] 80c5ab2: 693b ldr r3, [r7, #16] 80c5ab4: 749a strb r2, [r3, #18] hmsc->bot_data[12] = (uint8_t)hmsc->scsi_sense[hmsc->scsi_sense_head].w.b.ASC; 80c5ab6: 693b ldr r3, [r7, #16] 80c5ab8: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c5abc: 693a ldr r2, [r7, #16] 80c5abe: 3348 adds r3, #72 ; 0x48 80c5ac0: 00db lsls r3, r3, #3 80c5ac2: 4413 add r3, r2 80c5ac4: 791a ldrb r2, [r3, #4] 80c5ac6: 693b ldr r3, [r7, #16] 80c5ac8: 771a strb r2, [r3, #28] hmsc->bot_data[13] = (uint8_t)hmsc->scsi_sense[hmsc->scsi_sense_head].w.b.ASCQ; 80c5aca: 693b ldr r3, [r7, #16] 80c5acc: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c5ad0: 693a ldr r2, [r7, #16] 80c5ad2: 3348 adds r3, #72 ; 0x48 80c5ad4: 00db lsls r3, r3, #3 80c5ad6: 4413 add r3, r2 80c5ad8: 795a ldrb r2, [r3, #5] 80c5ada: 693b ldr r3, [r7, #16] 80c5adc: 775a strb r2, [r3, #29] hmsc->scsi_sense_head++; 80c5ade: 693b ldr r3, [r7, #16] 80c5ae0: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c5ae4: 3301 adds r3, #1 80c5ae6: b2da uxtb r2, r3 80c5ae8: 693b ldr r3, [r7, #16] 80c5aea: f883 2260 strb.w r2, [r3, #608] ; 0x260 if (hmsc->scsi_sense_head == SENSE_LIST_DEEPTH) 80c5aee: 693b ldr r3, [r7, #16] 80c5af0: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c5af4: 2b04 cmp r3, #4 80c5af6: d103 bne.n 80c5b00 { hmsc->scsi_sense_head = 0U; 80c5af8: 693b ldr r3, [r7, #16] 80c5afa: 2200 movs r2, #0 80c5afc: f883 2260 strb.w r2, [r3, #608] ; 0x260 } } hmsc->bot_data_length = REQUEST_SENSE_DATA_LEN; 80c5b00: 693b ldr r3, [r7, #16] 80c5b02: 2212 movs r2, #18 80c5b04: 60da str r2, [r3, #12] if (params[4] <= REQUEST_SENSE_DATA_LEN) 80c5b06: 687b ldr r3, [r7, #4] 80c5b08: 3304 adds r3, #4 80c5b0a: 781b ldrb r3, [r3, #0] 80c5b0c: 2b12 cmp r3, #18 80c5b0e: d805 bhi.n 80c5b1c { hmsc->bot_data_length = params[4]; 80c5b10: 687b ldr r3, [r7, #4] 80c5b12: 3304 adds r3, #4 80c5b14: 781b ldrb r3, [r3, #0] 80c5b16: 461a mov r2, r3 80c5b18: 693b ldr r3, [r7, #16] 80c5b1a: 60da str r2, [r3, #12] } return 0; 80c5b1c: 2300 movs r3, #0 } 80c5b1e: 4618 mov r0, r3 80c5b20: 3718 adds r7, #24 80c5b22: 46bd mov sp, r7 80c5b24: bd80 pop {r7, pc} 080c5b26 : * @param ASC: Additional Sense Code * @retval none */ void SCSI_SenseCode(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t sKey, uint8_t ASC) { 80c5b26: b480 push {r7} 80c5b28: b085 sub sp, #20 80c5b2a: af00 add r7, sp, #0 80c5b2c: 6078 str r0, [r7, #4] 80c5b2e: 4608 mov r0, r1 80c5b30: 4611 mov r1, r2 80c5b32: 461a mov r2, r3 80c5b34: 4603 mov r3, r0 80c5b36: 70fb strb r3, [r7, #3] 80c5b38: 460b mov r3, r1 80c5b3a: 70bb strb r3, [r7, #2] 80c5b3c: 4613 mov r3, r2 80c5b3e: 707b strb r3, [r7, #1] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5b40: 687b ldr r3, [r7, #4] 80c5b42: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c5b46: 60fb str r3, [r7, #12] hmsc->scsi_sense[hmsc->scsi_sense_tail].Skey = sKey; 80c5b48: 68fb ldr r3, [r7, #12] 80c5b4a: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c5b4e: 461a mov r2, r3 80c5b50: 68fb ldr r3, [r7, #12] 80c5b52: 3248 adds r2, #72 ; 0x48 80c5b54: 78b9 ldrb r1, [r7, #2] 80c5b56: f803 1032 strb.w r1, [r3, r2, lsl #3] hmsc->scsi_sense[hmsc->scsi_sense_tail].w.b.ASC = ASC; 80c5b5a: 68fb ldr r3, [r7, #12] 80c5b5c: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c5b60: 68fa ldr r2, [r7, #12] 80c5b62: 3348 adds r3, #72 ; 0x48 80c5b64: 00db lsls r3, r3, #3 80c5b66: 4413 add r3, r2 80c5b68: 787a ldrb r2, [r7, #1] 80c5b6a: 711a strb r2, [r3, #4] hmsc->scsi_sense[hmsc->scsi_sense_tail].w.b.ASCQ = 0U; 80c5b6c: 68fb ldr r3, [r7, #12] 80c5b6e: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c5b72: 68fa ldr r2, [r7, #12] 80c5b74: 3348 adds r3, #72 ; 0x48 80c5b76: 00db lsls r3, r3, #3 80c5b78: 4413 add r3, r2 80c5b7a: 2200 movs r2, #0 80c5b7c: 715a strb r2, [r3, #5] hmsc->scsi_sense_tail++; 80c5b7e: 68fb ldr r3, [r7, #12] 80c5b80: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c5b84: 3301 adds r3, #1 80c5b86: b2da uxtb r2, r3 80c5b88: 68fb ldr r3, [r7, #12] 80c5b8a: f883 2261 strb.w r2, [r3, #609] ; 0x261 if (hmsc->scsi_sense_tail == SENSE_LIST_DEEPTH) 80c5b8e: 68fb ldr r3, [r7, #12] 80c5b90: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c5b94: 2b04 cmp r3, #4 80c5b96: d103 bne.n 80c5ba0 { hmsc->scsi_sense_tail = 0U; 80c5b98: 68fb ldr r3, [r7, #12] 80c5b9a: 2200 movs r2, #0 80c5b9c: f883 2261 strb.w r2, [r3, #609] ; 0x261 } } 80c5ba0: bf00 nop 80c5ba2: 3714 adds r7, #20 80c5ba4: 46bd mov sp, r7 80c5ba6: f85d 7b04 ldr.w r7, [sp], #4 80c5baa: 4770 bx lr 080c5bac : * @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) { 80c5bac: b580 push {r7, lr} 80c5bae: b086 sub sp, #24 80c5bb0: af00 add r7, sp, #0 80c5bb2: 60f8 str r0, [r7, #12] 80c5bb4: 460b mov r3, r1 80c5bb6: 607a str r2, [r7, #4] 80c5bb8: 72fb strb r3, [r7, #11] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5bba: 68fb ldr r3, [r7, #12] 80c5bbc: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c5bc0: 617b str r3, [r7, #20] if ((hmsc->scsi_medium_state == SCSI_MEDIUM_LOCKED) && ((params[4] & 0x3U) == 2U)) 80c5bc2: 697b ldr r3, [r7, #20] 80c5bc4: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c5bc8: 2b01 cmp r3, #1 80c5bca: d10f bne.n 80c5bec 80c5bcc: 687b ldr r3, [r7, #4] 80c5bce: 3304 adds r3, #4 80c5bd0: 781b ldrb r3, [r3, #0] 80c5bd2: f003 0303 and.w r3, r3, #3 80c5bd6: 2b02 cmp r3, #2 80c5bd8: d108 bne.n 80c5bec { SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, INVALID_FIELED_IN_COMMAND); 80c5bda: 7af9 ldrb r1, [r7, #11] 80c5bdc: 2324 movs r3, #36 ; 0x24 80c5bde: 2205 movs r2, #5 80c5be0: 68f8 ldr r0, [r7, #12] 80c5be2: f7ff ffa0 bl 80c5b26 return -1; 80c5be6: f04f 33ff mov.w r3, #4294967295 80c5bea: e026 b.n 80c5c3a } if ((params[4] & 0x3U) == 0x1U) /* START=1 */ 80c5bec: 687b ldr r3, [r7, #4] 80c5bee: 3304 adds r3, #4 80c5bf0: 781b ldrb r3, [r3, #0] 80c5bf2: f003 0303 and.w r3, r3, #3 80c5bf6: 2b01 cmp r3, #1 80c5bf8: d104 bne.n 80c5c04 { hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 80c5bfa: 697b ldr r3, [r7, #20] 80c5bfc: 2200 movs r2, #0 80c5bfe: f883 2262 strb.w r2, [r3, #610] ; 0x262 80c5c02: e016 b.n 80c5c32 } else if ((params[4] & 0x3U) == 0x2U) /* START=0 and LOEJ Load Eject=1 */ 80c5c04: 687b ldr r3, [r7, #4] 80c5c06: 3304 adds r3, #4 80c5c08: 781b ldrb r3, [r3, #0] 80c5c0a: f003 0303 and.w r3, r3, #3 80c5c0e: 2b02 cmp r3, #2 80c5c10: d104 bne.n 80c5c1c { hmsc->scsi_medium_state = SCSI_MEDIUM_EJECTED; 80c5c12: 697b ldr r3, [r7, #20] 80c5c14: 2202 movs r2, #2 80c5c16: f883 2262 strb.w r2, [r3, #610] ; 0x262 80c5c1a: e00a b.n 80c5c32 } else if ((params[4] & 0x3U) == 0x3U) /* START=1 and LOEJ Load Eject=1 */ 80c5c1c: 687b ldr r3, [r7, #4] 80c5c1e: 3304 adds r3, #4 80c5c20: 781b ldrb r3, [r3, #0] 80c5c22: f003 0303 and.w r3, r3, #3 80c5c26: 2b03 cmp r3, #3 80c5c28: d103 bne.n 80c5c32 { hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 80c5c2a: 697b ldr r3, [r7, #20] 80c5c2c: 2200 movs r2, #0 80c5c2e: f883 2262 strb.w r2, [r3, #610] ; 0x262 } else { /* .. */ } hmsc->bot_data_length = 0U; 80c5c32: 697b ldr r3, [r7, #20] 80c5c34: 2200 movs r2, #0 80c5c36: 60da str r2, [r3, #12] return 0; 80c5c38: 2300 movs r3, #0 } 80c5c3a: 4618 mov r0, r3 80c5c3c: 3718 adds r7, #24 80c5c3e: 46bd mov sp, r7 80c5c40: bd80 pop {r7, pc} 080c5c42 : * @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) { 80c5c42: b480 push {r7} 80c5c44: b087 sub sp, #28 80c5c46: af00 add r7, sp, #0 80c5c48: 60f8 str r0, [r7, #12] 80c5c4a: 460b mov r3, r1 80c5c4c: 607a str r2, [r7, #4] 80c5c4e: 72fb strb r3, [r7, #11] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5c50: 68fb ldr r3, [r7, #12] 80c5c52: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c5c56: 617b str r3, [r7, #20] if (params[4] == 0U) 80c5c58: 687b ldr r3, [r7, #4] 80c5c5a: 3304 adds r3, #4 80c5c5c: 781b ldrb r3, [r3, #0] 80c5c5e: 2b00 cmp r3, #0 80c5c60: d104 bne.n 80c5c6c { hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 80c5c62: 697b ldr r3, [r7, #20] 80c5c64: 2200 movs r2, #0 80c5c66: f883 2262 strb.w r2, [r3, #610] ; 0x262 80c5c6a: e003 b.n 80c5c74 } else { hmsc->scsi_medium_state = SCSI_MEDIUM_LOCKED; 80c5c6c: 697b ldr r3, [r7, #20] 80c5c6e: 2201 movs r2, #1 80c5c70: f883 2262 strb.w r2, [r3, #610] ; 0x262 } hmsc->bot_data_length = 0U; 80c5c74: 697b ldr r3, [r7, #20] 80c5c76: 2200 movs r2, #0 80c5c78: 60da str r2, [r3, #12] return 0; 80c5c7a: 2300 movs r3, #0 } 80c5c7c: 4618 mov r0, r3 80c5c7e: 371c adds r7, #28 80c5c80: 46bd mov sp, r7 80c5c82: f85d 7b04 ldr.w r7, [sp], #4 80c5c86: 4770 bx lr 080c5c88 : * @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) { 80c5c88: b580 push {r7, lr} 80c5c8a: b086 sub sp, #24 80c5c8c: af00 add r7, sp, #0 80c5c8e: 60f8 str r0, [r7, #12] 80c5c90: 460b mov r3, r1 80c5c92: 607a str r2, [r7, #4] 80c5c94: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5c96: 68fb ldr r3, [r7, #12] 80c5c98: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c5c9c: 617b str r3, [r7, #20] if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 80c5c9e: 697b ldr r3, [r7, #20] 80c5ca0: 7a1b ldrb r3, [r3, #8] 80c5ca2: 2b00 cmp r3, #0 80c5ca4: d17c bne.n 80c5da0 { /* case 10 : Ho <> Di */ if ((hmsc->cbw.bmFlags & 0x80U) != 0x80U) 80c5ca6: 697b ldr r3, [r7, #20] 80c5ca8: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c5cac: b25b sxtb r3, r3 80c5cae: 2b00 cmp r3, #0 80c5cb0: db0a blt.n 80c5cc8 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c5cb2: 697b ldr r3, [r7, #20] 80c5cb4: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c5cb8: 2320 movs r3, #32 80c5cba: 2205 movs r2, #5 80c5cbc: 68f8 ldr r0, [r7, #12] 80c5cbe: f7ff ff32 bl 80c5b26 return -1; 80c5cc2: f04f 33ff mov.w r3, #4294967295 80c5cc6: e075 b.n 80c5db4 } if (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED) 80c5cc8: 697b ldr r3, [r7, #20] 80c5cca: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c5cce: 2b02 cmp r3, #2 80c5cd0: d108 bne.n 80c5ce4 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c5cd2: 7af9 ldrb r1, [r7, #11] 80c5cd4: 233a movs r3, #58 ; 0x3a 80c5cd6: 2202 movs r2, #2 80c5cd8: 68f8 ldr r0, [r7, #12] 80c5cda: f7ff ff24 bl 80c5b26 return -1; 80c5cde: f04f 33ff mov.w r3, #4294967295 80c5ce2: e067 b.n 80c5db4 } if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c5ce4: 68fb ldr r3, [r7, #12] 80c5ce6: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c5cea: 689b ldr r3, [r3, #8] 80c5cec: 7afa ldrb r2, [r7, #11] 80c5cee: 4610 mov r0, r2 80c5cf0: 4798 blx r3 80c5cf2: 4603 mov r3, r0 80c5cf4: 2b00 cmp r3, #0 80c5cf6: d008 beq.n 80c5d0a { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c5cf8: 7af9 ldrb r1, [r7, #11] 80c5cfa: 233a movs r3, #58 ; 0x3a 80c5cfc: 2202 movs r2, #2 80c5cfe: 68f8 ldr r0, [r7, #12] 80c5d00: f7ff ff11 bl 80c5b26 return -1; 80c5d04: f04f 33ff mov.w r3, #4294967295 80c5d08: e054 b.n 80c5db4 } hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c5d0a: 687b ldr r3, [r7, #4] 80c5d0c: 3302 adds r3, #2 80c5d0e: 781b ldrb r3, [r3, #0] 80c5d10: 061a lsls r2, r3, #24 ((uint32_t)params[3] << 16) | 80c5d12: 687b ldr r3, [r7, #4] 80c5d14: 3303 adds r3, #3 80c5d16: 781b ldrb r3, [r3, #0] 80c5d18: 041b lsls r3, r3, #16 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c5d1a: 431a orrs r2, r3 ((uint32_t)params[4] << 8) | 80c5d1c: 687b ldr r3, [r7, #4] 80c5d1e: 3304 adds r3, #4 80c5d20: 781b ldrb r3, [r3, #0] 80c5d22: 021b lsls r3, r3, #8 ((uint32_t)params[3] << 16) | 80c5d24: 4313 orrs r3, r2 (uint32_t)params[5]; 80c5d26: 687a ldr r2, [r7, #4] 80c5d28: 3205 adds r2, #5 80c5d2a: 7812 ldrb r2, [r2, #0] ((uint32_t)params[4] << 8) | 80c5d2c: 431a orrs r2, r3 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c5d2e: 697b ldr r3, [r7, #20] 80c5d30: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len = ((uint32_t)params[7] << 8) | (uint32_t)params[8]; 80c5d34: 687b ldr r3, [r7, #4] 80c5d36: 3307 adds r3, #7 80c5d38: 781b ldrb r3, [r3, #0] 80c5d3a: 021b lsls r3, r3, #8 80c5d3c: 687a ldr r2, [r7, #4] 80c5d3e: 3208 adds r2, #8 80c5d40: 7812 ldrb r2, [r2, #0] 80c5d42: 431a orrs r2, r3 80c5d44: 697b ldr r3, [r7, #20] 80c5d46: f8c3 2270 str.w r2, [r3, #624] ; 0x270 if (SCSI_CheckAddressRange(pdev, lun, hmsc->scsi_blk_addr, 80c5d4a: 697b ldr r3, [r7, #20] 80c5d4c: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c5d50: 697b ldr r3, [r7, #20] 80c5d52: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c5d56: 7af9 ldrb r1, [r7, #11] 80c5d58: 68f8 ldr r0, [r7, #12] 80c5d5a: f000 fa95 bl 80c6288 80c5d5e: 4603 mov r3, r0 80c5d60: 2b00 cmp r3, #0 80c5d62: da02 bge.n 80c5d6a hmsc->scsi_blk_len) < 0) { return -1; /* error */ 80c5d64: f04f 33ff mov.w r3, #4294967295 80c5d68: e024 b.n 80c5db4 } /* cases 4,5 : Hi <> Dn */ if (hmsc->cbw.dDataLength != (hmsc->scsi_blk_len * hmsc->scsi_blk_size)) 80c5d6a: 697b ldr r3, [r7, #20] 80c5d6c: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c5d70: 697b ldr r3, [r7, #20] 80c5d72: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c5d76: 6979 ldr r1, [r7, #20] 80c5d78: f8b1 1264 ldrh.w r1, [r1, #612] ; 0x264 80c5d7c: fb01 f303 mul.w r3, r1, r3 80c5d80: 429a cmp r2, r3 80c5d82: d00a beq.n 80c5d9a { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c5d84: 697b ldr r3, [r7, #20] 80c5d86: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c5d8a: 2320 movs r3, #32 80c5d8c: 2205 movs r2, #5 80c5d8e: 68f8 ldr r0, [r7, #12] 80c5d90: f7ff fec9 bl 80c5b26 return -1; 80c5d94: f04f 33ff mov.w r3, #4294967295 80c5d98: e00c b.n 80c5db4 } hmsc->bot_state = USBD_BOT_DATA_IN; 80c5d9a: 697b ldr r3, [r7, #20] 80c5d9c: 2202 movs r2, #2 80c5d9e: 721a strb r2, [r3, #8] } hmsc->bot_data_length = MSC_MEDIA_PACKET; 80c5da0: 697b ldr r3, [r7, #20] 80c5da2: f44f 7200 mov.w r2, #512 ; 0x200 80c5da6: 60da str r2, [r3, #12] return SCSI_ProcessRead(pdev, lun); 80c5da8: 7afb ldrb r3, [r7, #11] 80c5daa: 4619 mov r1, r3 80c5dac: 68f8 ldr r0, [r7, #12] 80c5dae: f000 fa8d bl 80c62cc 80c5db2: 4603 mov r3, r0 } 80c5db4: 4618 mov r0, r3 80c5db6: 3718 adds r7, #24 80c5db8: 46bd mov sp, r7 80c5dba: bd80 pop {r7, pc} 080c5dbc : * @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) { 80c5dbc: b580 push {r7, lr} 80c5dbe: b086 sub sp, #24 80c5dc0: af00 add r7, sp, #0 80c5dc2: 60f8 str r0, [r7, #12] 80c5dc4: 460b mov r3, r1 80c5dc6: 607a str r2, [r7, #4] 80c5dc8: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5dca: 68fb ldr r3, [r7, #12] 80c5dcc: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c5dd0: 617b str r3, [r7, #20] if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 80c5dd2: 697b ldr r3, [r7, #20] 80c5dd4: 7a1b ldrb r3, [r3, #8] 80c5dd6: 2b00 cmp r3, #0 80c5dd8: f040 8087 bne.w 80c5eea { /* case 10 : Ho <> Di */ if ((hmsc->cbw.bmFlags & 0x80U) != 0x80U) 80c5ddc: 697b ldr r3, [r7, #20] 80c5dde: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c5de2: b25b sxtb r3, r3 80c5de4: 2b00 cmp r3, #0 80c5de6: db0a blt.n 80c5dfe { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c5de8: 697b ldr r3, [r7, #20] 80c5dea: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c5dee: 2320 movs r3, #32 80c5df0: 2205 movs r2, #5 80c5df2: 68f8 ldr r0, [r7, #12] 80c5df4: f7ff fe97 bl 80c5b26 return -1; 80c5df8: f04f 33ff mov.w r3, #4294967295 80c5dfc: e07f b.n 80c5efe } if (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED) 80c5dfe: 697b ldr r3, [r7, #20] 80c5e00: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c5e04: 2b02 cmp r3, #2 80c5e06: d108 bne.n 80c5e1a { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c5e08: 7af9 ldrb r1, [r7, #11] 80c5e0a: 233a movs r3, #58 ; 0x3a 80c5e0c: 2202 movs r2, #2 80c5e0e: 68f8 ldr r0, [r7, #12] 80c5e10: f7ff fe89 bl 80c5b26 return -1; 80c5e14: f04f 33ff mov.w r3, #4294967295 80c5e18: e071 b.n 80c5efe } if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c5e1a: 68fb ldr r3, [r7, #12] 80c5e1c: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c5e20: 689b ldr r3, [r3, #8] 80c5e22: 7afa ldrb r2, [r7, #11] 80c5e24: 4610 mov r0, r2 80c5e26: 4798 blx r3 80c5e28: 4603 mov r3, r0 80c5e2a: 2b00 cmp r3, #0 80c5e2c: d008 beq.n 80c5e40 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c5e2e: 7af9 ldrb r1, [r7, #11] 80c5e30: 233a movs r3, #58 ; 0x3a 80c5e32: 2202 movs r2, #2 80c5e34: 68f8 ldr r0, [r7, #12] 80c5e36: f7ff fe76 bl 80c5b26 return -1; 80c5e3a: f04f 33ff mov.w r3, #4294967295 80c5e3e: e05e b.n 80c5efe } hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c5e40: 687b ldr r3, [r7, #4] 80c5e42: 3302 adds r3, #2 80c5e44: 781b ldrb r3, [r3, #0] 80c5e46: 061a lsls r2, r3, #24 ((uint32_t)params[3] << 16) | 80c5e48: 687b ldr r3, [r7, #4] 80c5e4a: 3303 adds r3, #3 80c5e4c: 781b ldrb r3, [r3, #0] 80c5e4e: 041b lsls r3, r3, #16 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c5e50: 431a orrs r2, r3 ((uint32_t)params[4] << 8) | 80c5e52: 687b ldr r3, [r7, #4] 80c5e54: 3304 adds r3, #4 80c5e56: 781b ldrb r3, [r3, #0] 80c5e58: 021b lsls r3, r3, #8 ((uint32_t)params[3] << 16) | 80c5e5a: 4313 orrs r3, r2 (uint32_t)params[5]; 80c5e5c: 687a ldr r2, [r7, #4] 80c5e5e: 3205 adds r2, #5 80c5e60: 7812 ldrb r2, [r2, #0] ((uint32_t)params[4] << 8) | 80c5e62: 431a orrs r2, r3 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c5e64: 697b ldr r3, [r7, #20] 80c5e66: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c5e6a: 687b ldr r3, [r7, #4] 80c5e6c: 3306 adds r3, #6 80c5e6e: 781b ldrb r3, [r3, #0] 80c5e70: 061a lsls r2, r3, #24 ((uint32_t)params[7] << 16) | 80c5e72: 687b ldr r3, [r7, #4] 80c5e74: 3307 adds r3, #7 80c5e76: 781b ldrb r3, [r3, #0] 80c5e78: 041b lsls r3, r3, #16 hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c5e7a: 431a orrs r2, r3 ((uint32_t)params[8] << 8) | 80c5e7c: 687b ldr r3, [r7, #4] 80c5e7e: 3308 adds r3, #8 80c5e80: 781b ldrb r3, [r3, #0] 80c5e82: 021b lsls r3, r3, #8 ((uint32_t)params[7] << 16) | 80c5e84: 4313 orrs r3, r2 (uint32_t)params[9]; 80c5e86: 687a ldr r2, [r7, #4] 80c5e88: 3209 adds r2, #9 80c5e8a: 7812 ldrb r2, [r2, #0] ((uint32_t)params[8] << 8) | 80c5e8c: 431a orrs r2, r3 hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c5e8e: 697b ldr r3, [r7, #20] 80c5e90: f8c3 2270 str.w r2, [r3, #624] ; 0x270 if (SCSI_CheckAddressRange(pdev, lun, hmsc->scsi_blk_addr, 80c5e94: 697b ldr r3, [r7, #20] 80c5e96: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c5e9a: 697b ldr r3, [r7, #20] 80c5e9c: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c5ea0: 7af9 ldrb r1, [r7, #11] 80c5ea2: 68f8 ldr r0, [r7, #12] 80c5ea4: f000 f9f0 bl 80c6288 80c5ea8: 4603 mov r3, r0 80c5eaa: 2b00 cmp r3, #0 80c5eac: da02 bge.n 80c5eb4 hmsc->scsi_blk_len) < 0) { return -1; /* error */ 80c5eae: f04f 33ff mov.w r3, #4294967295 80c5eb2: e024 b.n 80c5efe } /* cases 4,5 : Hi <> Dn */ if (hmsc->cbw.dDataLength != (hmsc->scsi_blk_len * hmsc->scsi_blk_size)) 80c5eb4: 697b ldr r3, [r7, #20] 80c5eb6: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c5eba: 697b ldr r3, [r7, #20] 80c5ebc: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c5ec0: 6979 ldr r1, [r7, #20] 80c5ec2: f8b1 1264 ldrh.w r1, [r1, #612] ; 0x264 80c5ec6: fb01 f303 mul.w r3, r1, r3 80c5eca: 429a cmp r2, r3 80c5ecc: d00a beq.n 80c5ee4 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c5ece: 697b ldr r3, [r7, #20] 80c5ed0: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c5ed4: 2320 movs r3, #32 80c5ed6: 2205 movs r2, #5 80c5ed8: 68f8 ldr r0, [r7, #12] 80c5eda: f7ff fe24 bl 80c5b26 return -1; 80c5ede: f04f 33ff mov.w r3, #4294967295 80c5ee2: e00c b.n 80c5efe } hmsc->bot_state = USBD_BOT_DATA_IN; 80c5ee4: 697b ldr r3, [r7, #20] 80c5ee6: 2202 movs r2, #2 80c5ee8: 721a strb r2, [r3, #8] } hmsc->bot_data_length = MSC_MEDIA_PACKET; 80c5eea: 697b ldr r3, [r7, #20] 80c5eec: f44f 7200 mov.w r2, #512 ; 0x200 80c5ef0: 60da str r2, [r3, #12] return SCSI_ProcessRead(pdev, lun); 80c5ef2: 7afb ldrb r3, [r7, #11] 80c5ef4: 4619 mov r1, r3 80c5ef6: 68f8 ldr r0, [r7, #12] 80c5ef8: f000 f9e8 bl 80c62cc 80c5efc: 4603 mov r3, r0 } 80c5efe: 4618 mov r0, r3 80c5f00: 3718 adds r7, #24 80c5f02: 46bd mov sp, r7 80c5f04: bd80 pop {r7, pc} 080c5f06 : * @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) { 80c5f06: b580 push {r7, lr} 80c5f08: b086 sub sp, #24 80c5f0a: af00 add r7, sp, #0 80c5f0c: 60f8 str r0, [r7, #12] 80c5f0e: 460b mov r3, r1 80c5f10: 607a str r2, [r7, #4] 80c5f12: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5f14: 68fb ldr r3, [r7, #12] 80c5f16: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c5f1a: 617b str r3, [r7, #20] uint32_t len; if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 80c5f1c: 697b ldr r3, [r7, #20] 80c5f1e: 7a1b ldrb r3, [r3, #8] 80c5f20: 2b00 cmp r3, #0 80c5f22: f040 80a5 bne.w 80c6070 { if (hmsc->cbw.dDataLength == 0U) 80c5f26: 697b ldr r3, [r7, #20] 80c5f28: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c5f2c: 2b00 cmp r3, #0 80c5f2e: d10a bne.n 80c5f46 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c5f30: 697b ldr r3, [r7, #20] 80c5f32: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c5f36: 2320 movs r3, #32 80c5f38: 2205 movs r2, #5 80c5f3a: 68f8 ldr r0, [r7, #12] 80c5f3c: f7ff fdf3 bl 80c5b26 return -1; 80c5f40: f04f 33ff mov.w r3, #4294967295 80c5f44: e09a b.n 80c607c } /* case 8 : Hi <> Do */ if ((hmsc->cbw.bmFlags & 0x80U) == 0x80U) 80c5f46: 697b ldr r3, [r7, #20] 80c5f48: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c5f4c: b25b sxtb r3, r3 80c5f4e: 2b00 cmp r3, #0 80c5f50: da0a bge.n 80c5f68 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c5f52: 697b ldr r3, [r7, #20] 80c5f54: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c5f58: 2320 movs r3, #32 80c5f5a: 2205 movs r2, #5 80c5f5c: 68f8 ldr r0, [r7, #12] 80c5f5e: f7ff fde2 bl 80c5b26 return -1; 80c5f62: f04f 33ff mov.w r3, #4294967295 80c5f66: e089 b.n 80c607c } /* Check whether Media is ready */ if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c5f68: 68fb ldr r3, [r7, #12] 80c5f6a: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c5f6e: 689b ldr r3, [r3, #8] 80c5f70: 7afa ldrb r2, [r7, #11] 80c5f72: 4610 mov r0, r2 80c5f74: 4798 blx r3 80c5f76: 4603 mov r3, r0 80c5f78: 2b00 cmp r3, #0 80c5f7a: d008 beq.n 80c5f8e { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c5f7c: 7af9 ldrb r1, [r7, #11] 80c5f7e: 233a movs r3, #58 ; 0x3a 80c5f80: 2202 movs r2, #2 80c5f82: 68f8 ldr r0, [r7, #12] 80c5f84: f7ff fdcf bl 80c5b26 return -1; 80c5f88: f04f 33ff mov.w r3, #4294967295 80c5f8c: e076 b.n 80c607c } /* Check If media is write-protected */ if (((USBD_StorageTypeDef *)pdev->pUserData)->IsWriteProtected(lun) != 0) 80c5f8e: 68fb ldr r3, [r7, #12] 80c5f90: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c5f94: 68db ldr r3, [r3, #12] 80c5f96: 7afa ldrb r2, [r7, #11] 80c5f98: 4610 mov r0, r2 80c5f9a: 4798 blx r3 80c5f9c: 4603 mov r3, r0 80c5f9e: 2b00 cmp r3, #0 80c5fa0: d008 beq.n 80c5fb4 { SCSI_SenseCode(pdev, lun, NOT_READY, WRITE_PROTECTED); 80c5fa2: 7af9 ldrb r1, [r7, #11] 80c5fa4: 2327 movs r3, #39 ; 0x27 80c5fa6: 2202 movs r2, #2 80c5fa8: 68f8 ldr r0, [r7, #12] 80c5faa: f7ff fdbc bl 80c5b26 return -1; 80c5fae: f04f 33ff mov.w r3, #4294967295 80c5fb2: e063 b.n 80c607c } hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c5fb4: 687b ldr r3, [r7, #4] 80c5fb6: 3302 adds r3, #2 80c5fb8: 781b ldrb r3, [r3, #0] 80c5fba: 061a lsls r2, r3, #24 ((uint32_t)params[3] << 16) | 80c5fbc: 687b ldr r3, [r7, #4] 80c5fbe: 3303 adds r3, #3 80c5fc0: 781b ldrb r3, [r3, #0] 80c5fc2: 041b lsls r3, r3, #16 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c5fc4: 431a orrs r2, r3 ((uint32_t)params[4] << 8) | 80c5fc6: 687b ldr r3, [r7, #4] 80c5fc8: 3304 adds r3, #4 80c5fca: 781b ldrb r3, [r3, #0] 80c5fcc: 021b lsls r3, r3, #8 ((uint32_t)params[3] << 16) | 80c5fce: 4313 orrs r3, r2 (uint32_t)params[5]; 80c5fd0: 687a ldr r2, [r7, #4] 80c5fd2: 3205 adds r2, #5 80c5fd4: 7812 ldrb r2, [r2, #0] ((uint32_t)params[4] << 8) | 80c5fd6: 431a orrs r2, r3 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c5fd8: 697b ldr r3, [r7, #20] 80c5fda: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len = ((uint32_t)params[7] << 8) | 80c5fde: 687b ldr r3, [r7, #4] 80c5fe0: 3307 adds r3, #7 80c5fe2: 781b ldrb r3, [r3, #0] 80c5fe4: 021b lsls r3, r3, #8 (uint32_t)params[8]; 80c5fe6: 687a ldr r2, [r7, #4] 80c5fe8: 3208 adds r2, #8 80c5fea: 7812 ldrb r2, [r2, #0] hmsc->scsi_blk_len = ((uint32_t)params[7] << 8) | 80c5fec: 431a orrs r2, r3 80c5fee: 697b ldr r3, [r7, #20] 80c5ff0: 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, 80c5ff4: 697b ldr r3, [r7, #20] 80c5ff6: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c5ffa: 697b ldr r3, [r7, #20] 80c5ffc: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c6000: 7af9 ldrb r1, [r7, #11] 80c6002: 68f8 ldr r0, [r7, #12] 80c6004: f000 f940 bl 80c6288 80c6008: 4603 mov r3, r0 80c600a: 2b00 cmp r3, #0 80c600c: da02 bge.n 80c6014 hmsc->scsi_blk_len) < 0) { return -1; /* error */ 80c600e: f04f 33ff mov.w r3, #4294967295 80c6012: e033 b.n 80c607c } len = hmsc->scsi_blk_len * hmsc->scsi_blk_size; 80c6014: 697b ldr r3, [r7, #20] 80c6016: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c601a: 697a ldr r2, [r7, #20] 80c601c: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c6020: fb02 f303 mul.w r3, r2, r3 80c6024: 613b str r3, [r7, #16] /* cases 3,11,13 : Hn,Ho <> D0 */ if (hmsc->cbw.dDataLength != len) 80c6026: 697b ldr r3, [r7, #20] 80c6028: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c602c: 693b ldr r3, [r7, #16] 80c602e: 429a cmp r2, r3 80c6030: d00a beq.n 80c6048 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c6032: 697b ldr r3, [r7, #20] 80c6034: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c6038: 2320 movs r3, #32 80c603a: 2205 movs r2, #5 80c603c: 68f8 ldr r0, [r7, #12] 80c603e: f7ff fd72 bl 80c5b26 return -1; 80c6042: f04f 33ff mov.w r3, #4294967295 80c6046: e019 b.n 80c607c } len = MIN(len, MSC_MEDIA_PACKET); 80c6048: 693b ldr r3, [r7, #16] 80c604a: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c604e: bf28 it cs 80c6050: f44f 7300 movcs.w r3, #512 ; 0x200 80c6054: 613b str r3, [r7, #16] /* Prepare EP to receive first data packet */ hmsc->bot_state = USBD_BOT_DATA_OUT; 80c6056: 697b ldr r3, [r7, #20] 80c6058: 2201 movs r2, #1 80c605a: 721a strb r2, [r3, #8] (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, hmsc->bot_data, len); 80c605c: 697b ldr r3, [r7, #20] 80c605e: f103 0210 add.w r2, r3, #16 80c6062: 693b ldr r3, [r7, #16] 80c6064: 2101 movs r1, #1 80c6066: 68f8 ldr r0, [r7, #12] 80c6068: f008 fd17 bl 80cea9a else /* Write Process ongoing */ { return SCSI_ProcessWrite(pdev, lun); } return 0; 80c606c: 2300 movs r3, #0 80c606e: e005 b.n 80c607c return SCSI_ProcessWrite(pdev, lun); 80c6070: 7afb ldrb r3, [r7, #11] 80c6072: 4619 mov r1, r3 80c6074: 68f8 ldr r0, [r7, #12] 80c6076: f000 f99c bl 80c63b2 80c607a: 4603 mov r3, r0 } 80c607c: 4618 mov r0, r3 80c607e: 3718 adds r7, #24 80c6080: 46bd mov sp, r7 80c6082: bd80 pop {r7, pc} 080c6084 : * @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) { 80c6084: b580 push {r7, lr} 80c6086: b086 sub sp, #24 80c6088: af00 add r7, sp, #0 80c608a: 60f8 str r0, [r7, #12] 80c608c: 460b mov r3, r1 80c608e: 607a str r2, [r7, #4] 80c6090: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c6092: 68fb ldr r3, [r7, #12] 80c6094: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c6098: 617b str r3, [r7, #20] uint32_t len; if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 80c609a: 697b ldr r3, [r7, #20] 80c609c: 7a1b ldrb r3, [r3, #8] 80c609e: 2b00 cmp r3, #0 80c60a0: f040 80b5 bne.w 80c620e { if (hmsc->cbw.dDataLength == 0U) 80c60a4: 697b ldr r3, [r7, #20] 80c60a6: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c60aa: 2b00 cmp r3, #0 80c60ac: d10a bne.n 80c60c4 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c60ae: 697b ldr r3, [r7, #20] 80c60b0: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c60b4: 2320 movs r3, #32 80c60b6: 2205 movs r2, #5 80c60b8: 68f8 ldr r0, [r7, #12] 80c60ba: f7ff fd34 bl 80c5b26 return -1; 80c60be: f04f 33ff mov.w r3, #4294967295 80c60c2: e0aa b.n 80c621a } /* case 8 : Hi <> Do */ if ((hmsc->cbw.bmFlags & 0x80U) == 0x80U) 80c60c4: 697b ldr r3, [r7, #20] 80c60c6: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c60ca: b25b sxtb r3, r3 80c60cc: 2b00 cmp r3, #0 80c60ce: da0a bge.n 80c60e6 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c60d0: 697b ldr r3, [r7, #20] 80c60d2: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c60d6: 2320 movs r3, #32 80c60d8: 2205 movs r2, #5 80c60da: 68f8 ldr r0, [r7, #12] 80c60dc: f7ff fd23 bl 80c5b26 return -1; 80c60e0: f04f 33ff mov.w r3, #4294967295 80c60e4: e099 b.n 80c621a } /* Check whether Media is ready */ if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c60e6: 68fb ldr r3, [r7, #12] 80c60e8: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c60ec: 689b ldr r3, [r3, #8] 80c60ee: 7afa ldrb r2, [r7, #11] 80c60f0: 4610 mov r0, r2 80c60f2: 4798 blx r3 80c60f4: 4603 mov r3, r0 80c60f6: 2b00 cmp r3, #0 80c60f8: d00b beq.n 80c6112 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c60fa: 7af9 ldrb r1, [r7, #11] 80c60fc: 233a movs r3, #58 ; 0x3a 80c60fe: 2202 movs r2, #2 80c6100: 68f8 ldr r0, [r7, #12] 80c6102: f7ff fd10 bl 80c5b26 hmsc->bot_state = USBD_BOT_NO_DATA; 80c6106: 697b ldr r3, [r7, #20] 80c6108: 2205 movs r2, #5 80c610a: 721a strb r2, [r3, #8] return -1; 80c610c: f04f 33ff mov.w r3, #4294967295 80c6110: e083 b.n 80c621a } /* Check If media is write-protected */ if (((USBD_StorageTypeDef *)pdev->pUserData)->IsWriteProtected(lun) != 0) 80c6112: 68fb ldr r3, [r7, #12] 80c6114: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c6118: 68db ldr r3, [r3, #12] 80c611a: 7afa ldrb r2, [r7, #11] 80c611c: 4610 mov r0, r2 80c611e: 4798 blx r3 80c6120: 4603 mov r3, r0 80c6122: 2b00 cmp r3, #0 80c6124: d00b beq.n 80c613e { SCSI_SenseCode(pdev, lun, NOT_READY, WRITE_PROTECTED); 80c6126: 7af9 ldrb r1, [r7, #11] 80c6128: 2327 movs r3, #39 ; 0x27 80c612a: 2202 movs r2, #2 80c612c: 68f8 ldr r0, [r7, #12] 80c612e: f7ff fcfa bl 80c5b26 hmsc->bot_state = USBD_BOT_NO_DATA; 80c6132: 697b ldr r3, [r7, #20] 80c6134: 2205 movs r2, #5 80c6136: 721a strb r2, [r3, #8] return -1; 80c6138: f04f 33ff mov.w r3, #4294967295 80c613c: e06d b.n 80c621a } hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c613e: 687b ldr r3, [r7, #4] 80c6140: 3302 adds r3, #2 80c6142: 781b ldrb r3, [r3, #0] 80c6144: 061a lsls r2, r3, #24 ((uint32_t)params[3] << 16) | 80c6146: 687b ldr r3, [r7, #4] 80c6148: 3303 adds r3, #3 80c614a: 781b ldrb r3, [r3, #0] 80c614c: 041b lsls r3, r3, #16 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c614e: 431a orrs r2, r3 ((uint32_t)params[4] << 8) | 80c6150: 687b ldr r3, [r7, #4] 80c6152: 3304 adds r3, #4 80c6154: 781b ldrb r3, [r3, #0] 80c6156: 021b lsls r3, r3, #8 ((uint32_t)params[3] << 16) | 80c6158: 4313 orrs r3, r2 (uint32_t)params[5]; 80c615a: 687a ldr r2, [r7, #4] 80c615c: 3205 adds r2, #5 80c615e: 7812 ldrb r2, [r2, #0] ((uint32_t)params[4] << 8) | 80c6160: 431a orrs r2, r3 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c6162: 697b ldr r3, [r7, #20] 80c6164: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c6168: 687b ldr r3, [r7, #4] 80c616a: 3306 adds r3, #6 80c616c: 781b ldrb r3, [r3, #0] 80c616e: 061a lsls r2, r3, #24 ((uint32_t)params[7] << 16) | 80c6170: 687b ldr r3, [r7, #4] 80c6172: 3307 adds r3, #7 80c6174: 781b ldrb r3, [r3, #0] 80c6176: 041b lsls r3, r3, #16 hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c6178: 431a orrs r2, r3 ((uint32_t)params[8] << 8) | 80c617a: 687b ldr r3, [r7, #4] 80c617c: 3308 adds r3, #8 80c617e: 781b ldrb r3, [r3, #0] 80c6180: 021b lsls r3, r3, #8 ((uint32_t)params[7] << 16) | 80c6182: 4313 orrs r3, r2 (uint32_t)params[9]; 80c6184: 687a ldr r2, [r7, #4] 80c6186: 3209 adds r2, #9 80c6188: 7812 ldrb r2, [r2, #0] ((uint32_t)params[8] << 8) | 80c618a: 431a orrs r2, r3 hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c618c: 697b ldr r3, [r7, #20] 80c618e: 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, 80c6192: 697b ldr r3, [r7, #20] 80c6194: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c6198: 697b ldr r3, [r7, #20] 80c619a: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c619e: 7af9 ldrb r1, [r7, #11] 80c61a0: 68f8 ldr r0, [r7, #12] 80c61a2: f000 f871 bl 80c6288 80c61a6: 4603 mov r3, r0 80c61a8: 2b00 cmp r3, #0 80c61aa: da02 bge.n 80c61b2 hmsc->scsi_blk_len) < 0) { return -1; /* error */ 80c61ac: f04f 33ff mov.w r3, #4294967295 80c61b0: e033 b.n 80c621a } len = hmsc->scsi_blk_len * hmsc->scsi_blk_size; 80c61b2: 697b ldr r3, [r7, #20] 80c61b4: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c61b8: 697a ldr r2, [r7, #20] 80c61ba: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c61be: fb02 f303 mul.w r3, r2, r3 80c61c2: 613b str r3, [r7, #16] /* cases 3,11,13 : Hn,Ho <> D0 */ if (hmsc->cbw.dDataLength != len) 80c61c4: 697b ldr r3, [r7, #20] 80c61c6: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c61ca: 693b ldr r3, [r7, #16] 80c61cc: 429a cmp r2, r3 80c61ce: d00a beq.n 80c61e6 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c61d0: 697b ldr r3, [r7, #20] 80c61d2: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c61d6: 2320 movs r3, #32 80c61d8: 2205 movs r2, #5 80c61da: 68f8 ldr r0, [r7, #12] 80c61dc: f7ff fca3 bl 80c5b26 return -1; 80c61e0: f04f 33ff mov.w r3, #4294967295 80c61e4: e019 b.n 80c621a } len = MIN(len, MSC_MEDIA_PACKET); 80c61e6: 693b ldr r3, [r7, #16] 80c61e8: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c61ec: bf28 it cs 80c61ee: f44f 7300 movcs.w r3, #512 ; 0x200 80c61f2: 613b str r3, [r7, #16] /* Prepare EP to receive first data packet */ hmsc->bot_state = USBD_BOT_DATA_OUT; 80c61f4: 697b ldr r3, [r7, #20] 80c61f6: 2201 movs r2, #1 80c61f8: 721a strb r2, [r3, #8] (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, hmsc->bot_data, len); 80c61fa: 697b ldr r3, [r7, #20] 80c61fc: f103 0210 add.w r2, r3, #16 80c6200: 693b ldr r3, [r7, #16] 80c6202: 2101 movs r1, #1 80c6204: 68f8 ldr r0, [r7, #12] 80c6206: f008 fc48 bl 80cea9a else /* Write Process ongoing */ { return SCSI_ProcessWrite(pdev, lun); } return 0; 80c620a: 2300 movs r3, #0 80c620c: e005 b.n 80c621a return SCSI_ProcessWrite(pdev, lun); 80c620e: 7afb ldrb r3, [r7, #11] 80c6210: 4619 mov r1, r3 80c6212: 68f8 ldr r0, [r7, #12] 80c6214: f000 f8cd bl 80c63b2 80c6218: 4603 mov r3, r0 } 80c621a: 4618 mov r0, r3 80c621c: 3718 adds r7, #24 80c621e: 46bd mov sp, r7 80c6220: bd80 pop {r7, pc} 080c6222 : * @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) { 80c6222: b580 push {r7, lr} 80c6224: b086 sub sp, #24 80c6226: af00 add r7, sp, #0 80c6228: 60f8 str r0, [r7, #12] 80c622a: 460b mov r3, r1 80c622c: 607a str r2, [r7, #4] 80c622e: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c6230: 68fb ldr r3, [r7, #12] 80c6232: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c6236: 617b str r3, [r7, #20] if ((params[1] & 0x02U) == 0x02U) 80c6238: 687b ldr r3, [r7, #4] 80c623a: 3301 adds r3, #1 80c623c: 781b ldrb r3, [r3, #0] 80c623e: f003 0302 and.w r3, r3, #2 80c6242: 2b00 cmp r3, #0 80c6244: d008 beq.n 80c6258 { SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, INVALID_FIELED_IN_COMMAND); 80c6246: 7af9 ldrb r1, [r7, #11] 80c6248: 2324 movs r3, #36 ; 0x24 80c624a: 2205 movs r2, #5 80c624c: 68f8 ldr r0, [r7, #12] 80c624e: f7ff fc6a bl 80c5b26 return -1; /* Error, Verify Mode Not supported*/ 80c6252: f04f 33ff mov.w r3, #4294967295 80c6256: e013 b.n 80c6280 } if (SCSI_CheckAddressRange(pdev, lun, hmsc->scsi_blk_addr, hmsc->scsi_blk_len) < 0) 80c6258: 697b ldr r3, [r7, #20] 80c625a: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c625e: 697b ldr r3, [r7, #20] 80c6260: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c6264: 7af9 ldrb r1, [r7, #11] 80c6266: 68f8 ldr r0, [r7, #12] 80c6268: f000 f80e bl 80c6288 80c626c: 4603 mov r3, r0 80c626e: 2b00 cmp r3, #0 80c6270: da02 bge.n 80c6278 { return -1; /* error */ 80c6272: f04f 33ff mov.w r3, #4294967295 80c6276: e003 b.n 80c6280 } hmsc->bot_data_length = 0U; 80c6278: 697b ldr r3, [r7, #20] 80c627a: 2200 movs r2, #0 80c627c: 60da str r2, [r3, #12] return 0; 80c627e: 2300 movs r3, #0 } 80c6280: 4618 mov r0, r3 80c6282: 3718 adds r7, #24 80c6284: 46bd mov sp, r7 80c6286: bd80 pop {r7, pc} 080c6288 : * @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) { 80c6288: b580 push {r7, lr} 80c628a: b086 sub sp, #24 80c628c: af00 add r7, sp, #0 80c628e: 60f8 str r0, [r7, #12] 80c6290: 607a str r2, [r7, #4] 80c6292: 603b str r3, [r7, #0] 80c6294: 460b mov r3, r1 80c6296: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c6298: 68fb ldr r3, [r7, #12] 80c629a: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c629e: 617b str r3, [r7, #20] if ((blk_offset + blk_nbr) > hmsc->scsi_blk_nbr) 80c62a0: 687a ldr r2, [r7, #4] 80c62a2: 683b ldr r3, [r7, #0] 80c62a4: 441a add r2, r3 80c62a6: 697b ldr r3, [r7, #20] 80c62a8: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c62ac: 429a cmp r2, r3 80c62ae: d908 bls.n 80c62c2 { SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, ADDRESS_OUT_OF_RANGE); 80c62b0: 7af9 ldrb r1, [r7, #11] 80c62b2: 2321 movs r3, #33 ; 0x21 80c62b4: 2205 movs r2, #5 80c62b6: 68f8 ldr r0, [r7, #12] 80c62b8: f7ff fc35 bl 80c5b26 return -1; 80c62bc: f04f 33ff mov.w r3, #4294967295 80c62c0: e000 b.n 80c62c4 } return 0; 80c62c2: 2300 movs r3, #0 } 80c62c4: 4618 mov r0, r3 80c62c6: 3718 adds r7, #24 80c62c8: 46bd mov sp, r7 80c62ca: bd80 pop {r7, pc} 080c62cc : * Handle Read Process * @param lun: Logical unit number * @retval status */ static int8_t SCSI_ProcessRead(USBD_HandleTypeDef *pdev, uint8_t lun) { 80c62cc: b590 push {r4, r7, lr} 80c62ce: b085 sub sp, #20 80c62d0: af00 add r7, sp, #0 80c62d2: 6078 str r0, [r7, #4] 80c62d4: 460b mov r3, r1 80c62d6: 70fb strb r3, [r7, #3] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c62d8: 687b ldr r3, [r7, #4] 80c62da: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c62de: 60fb str r3, [r7, #12] uint32_t len = hmsc->scsi_blk_len * hmsc->scsi_blk_size; 80c62e0: 68fb ldr r3, [r7, #12] 80c62e2: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c62e6: 68fa ldr r2, [r7, #12] 80c62e8: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c62ec: fb02 f303 mul.w r3, r2, r3 80c62f0: 60bb str r3, [r7, #8] len = MIN(len, MSC_MEDIA_PACKET); 80c62f2: 68bb ldr r3, [r7, #8] 80c62f4: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c62f8: bf28 it cs 80c62fa: f44f 7300 movcs.w r3, #512 ; 0x200 80c62fe: 60bb str r3, [r7, #8] if (((USBD_StorageTypeDef *)pdev->pUserData)->Read(lun, hmsc->bot_data, 80c6300: 687b ldr r3, [r7, #4] 80c6302: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c6306: 691c ldr r4, [r3, #16] 80c6308: 68fb ldr r3, [r7, #12] 80c630a: f103 0110 add.w r1, r3, #16 80c630e: 68fb ldr r3, [r7, #12] 80c6310: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_addr, (len / hmsc->scsi_blk_size)) < 0) 80c6314: 68fb ldr r3, [r7, #12] 80c6316: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c631a: 4618 mov r0, r3 80c631c: 68bb ldr r3, [r7, #8] 80c631e: fbb3 f3f0 udiv r3, r3, r0 if (((USBD_StorageTypeDef *)pdev->pUserData)->Read(lun, hmsc->bot_data, 80c6322: b29b uxth r3, r3 80c6324: 78f8 ldrb r0, [r7, #3] 80c6326: 47a0 blx r4 80c6328: 4603 mov r3, r0 80c632a: 2b00 cmp r3, #0 80c632c: da08 bge.n 80c6340 { SCSI_SenseCode(pdev, lun, HARDWARE_ERROR, UNRECOVERED_READ_ERROR); 80c632e: 78f9 ldrb r1, [r7, #3] 80c6330: 2311 movs r3, #17 80c6332: 2204 movs r2, #4 80c6334: 6878 ldr r0, [r7, #4] 80c6336: f7ff fbf6 bl 80c5b26 return -1; 80c633a: f04f 33ff mov.w r3, #4294967295 80c633e: e034 b.n 80c63aa } (void)USBD_LL_Transmit(pdev, MSC_EPIN_ADDR, hmsc->bot_data, len); 80c6340: 68fb ldr r3, [r7, #12] 80c6342: f103 0210 add.w r2, r3, #16 80c6346: 68bb ldr r3, [r7, #8] 80c6348: 2181 movs r1, #129 ; 0x81 80c634a: 6878 ldr r0, [r7, #4] 80c634c: f008 fb84 bl 80cea58 hmsc->scsi_blk_addr += (len / hmsc->scsi_blk_size); 80c6350: 68fb ldr r3, [r7, #12] 80c6352: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c6356: 68fb ldr r3, [r7, #12] 80c6358: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c635c: 4619 mov r1, r3 80c635e: 68bb ldr r3, [r7, #8] 80c6360: fbb3 f3f1 udiv r3, r3, r1 80c6364: 441a add r2, r3 80c6366: 68fb ldr r3, [r7, #12] 80c6368: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len -= (len / hmsc->scsi_blk_size); 80c636c: 68fb ldr r3, [r7, #12] 80c636e: f8d3 2270 ldr.w r2, [r3, #624] ; 0x270 80c6372: 68fb ldr r3, [r7, #12] 80c6374: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c6378: 4619 mov r1, r3 80c637a: 68bb ldr r3, [r7, #8] 80c637c: fbb3 f3f1 udiv r3, r3, r1 80c6380: 1ad2 subs r2, r2, r3 80c6382: 68fb ldr r3, [r7, #12] 80c6384: f8c3 2270 str.w r2, [r3, #624] ; 0x270 /* case 6 : Hi = Di */ hmsc->csw.dDataResidue -= len; 80c6388: 68fb ldr r3, [r7, #12] 80c638a: f8d3 2238 ldr.w r2, [r3, #568] ; 0x238 80c638e: 68bb ldr r3, [r7, #8] 80c6390: 1ad2 subs r2, r2, r3 80c6392: 68fb ldr r3, [r7, #12] 80c6394: f8c3 2238 str.w r2, [r3, #568] ; 0x238 if (hmsc->scsi_blk_len == 0U) 80c6398: 68fb ldr r3, [r7, #12] 80c639a: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c639e: 2b00 cmp r3, #0 80c63a0: d102 bne.n 80c63a8 { hmsc->bot_state = USBD_BOT_LAST_DATA_IN; 80c63a2: 68fb ldr r3, [r7, #12] 80c63a4: 2203 movs r2, #3 80c63a6: 721a strb r2, [r3, #8] } return 0; 80c63a8: 2300 movs r3, #0 } 80c63aa: 4618 mov r0, r3 80c63ac: 3714 adds r7, #20 80c63ae: 46bd mov sp, r7 80c63b0: bd90 pop {r4, r7, pc} 080c63b2 : * Handle Write Process * @param lun: Logical unit number * @retval status */ static int8_t SCSI_ProcessWrite(USBD_HandleTypeDef *pdev, uint8_t lun) { 80c63b2: b590 push {r4, r7, lr} 80c63b4: b085 sub sp, #20 80c63b6: af00 add r7, sp, #0 80c63b8: 6078 str r0, [r7, #4] 80c63ba: 460b mov r3, r1 80c63bc: 70fb strb r3, [r7, #3] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c63be: 687b ldr r3, [r7, #4] 80c63c0: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c63c4: 60fb str r3, [r7, #12] uint32_t len = hmsc->scsi_blk_len * hmsc->scsi_blk_size; 80c63c6: 68fb ldr r3, [r7, #12] 80c63c8: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c63cc: 68fa ldr r2, [r7, #12] 80c63ce: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c63d2: fb02 f303 mul.w r3, r2, r3 80c63d6: 60bb str r3, [r7, #8] len = MIN(len, MSC_MEDIA_PACKET); 80c63d8: 68bb ldr r3, [r7, #8] 80c63da: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c63de: bf28 it cs 80c63e0: f44f 7300 movcs.w r3, #512 ; 0x200 80c63e4: 60bb str r3, [r7, #8] if (((USBD_StorageTypeDef *)pdev->pUserData)->Write(lun, hmsc->bot_data, 80c63e6: 687b ldr r3, [r7, #4] 80c63e8: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c63ec: 695c ldr r4, [r3, #20] 80c63ee: 68fb ldr r3, [r7, #12] 80c63f0: f103 0110 add.w r1, r3, #16 80c63f4: 68fb ldr r3, [r7, #12] 80c63f6: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_addr, (len / hmsc->scsi_blk_size)) < 0) 80c63fa: 68fb ldr r3, [r7, #12] 80c63fc: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c6400: 4618 mov r0, r3 80c6402: 68bb ldr r3, [r7, #8] 80c6404: fbb3 f3f0 udiv r3, r3, r0 if (((USBD_StorageTypeDef *)pdev->pUserData)->Write(lun, hmsc->bot_data, 80c6408: b29b uxth r3, r3 80c640a: 78f8 ldrb r0, [r7, #3] 80c640c: 47a0 blx r4 80c640e: 4603 mov r3, r0 80c6410: 2b00 cmp r3, #0 80c6412: da08 bge.n 80c6426 { SCSI_SenseCode(pdev, lun, HARDWARE_ERROR, WRITE_FAULT); 80c6414: 78f9 ldrb r1, [r7, #3] 80c6416: 2303 movs r3, #3 80c6418: 2204 movs r2, #4 80c641a: 6878 ldr r0, [r7, #4] 80c641c: f7ff fb83 bl 80c5b26 return -1; 80c6420: f04f 33ff mov.w r3, #4294967295 80c6424: e044 b.n 80c64b0 } hmsc->scsi_blk_addr += (len / hmsc->scsi_blk_size); 80c6426: 68fb ldr r3, [r7, #12] 80c6428: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c642c: 68fb ldr r3, [r7, #12] 80c642e: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c6432: 4619 mov r1, r3 80c6434: 68bb ldr r3, [r7, #8] 80c6436: fbb3 f3f1 udiv r3, r3, r1 80c643a: 441a add r2, r3 80c643c: 68fb ldr r3, [r7, #12] 80c643e: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len -= (len / hmsc->scsi_blk_size); 80c6442: 68fb ldr r3, [r7, #12] 80c6444: f8d3 2270 ldr.w r2, [r3, #624] ; 0x270 80c6448: 68fb ldr r3, [r7, #12] 80c644a: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c644e: 4619 mov r1, r3 80c6450: 68bb ldr r3, [r7, #8] 80c6452: fbb3 f3f1 udiv r3, r3, r1 80c6456: 1ad2 subs r2, r2, r3 80c6458: 68fb ldr r3, [r7, #12] 80c645a: f8c3 2270 str.w r2, [r3, #624] ; 0x270 /* case 12 : Ho = Do */ hmsc->csw.dDataResidue -= len; 80c645e: 68fb ldr r3, [r7, #12] 80c6460: f8d3 2238 ldr.w r2, [r3, #568] ; 0x238 80c6464: 68bb ldr r3, [r7, #8] 80c6466: 1ad2 subs r2, r2, r3 80c6468: 68fb ldr r3, [r7, #12] 80c646a: f8c3 2238 str.w r2, [r3, #568] ; 0x238 if (hmsc->scsi_blk_len == 0U) 80c646e: 68fb ldr r3, [r7, #12] 80c6470: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c6474: 2b00 cmp r3, #0 80c6476: d104 bne.n 80c6482 { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_PASSED); 80c6478: 2100 movs r1, #0 80c647a: 6878 ldr r0, [r7, #4] 80c647c: f7fe ff04 bl 80c5288 80c6480: e015 b.n 80c64ae } else { len = MIN((hmsc->scsi_blk_len * hmsc->scsi_blk_size), MSC_MEDIA_PACKET); 80c6482: 68fb ldr r3, [r7, #12] 80c6484: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c6488: 68fa ldr r2, [r7, #12] 80c648a: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c648e: fb02 f303 mul.w r3, r2, r3 80c6492: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c6496: bf28 it cs 80c6498: f44f 7300 movcs.w r3, #512 ; 0x200 80c649c: 60bb str r3, [r7, #8] /* Prepare EP to Receive next packet */ (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, hmsc->bot_data, len); 80c649e: 68fb ldr r3, [r7, #12] 80c64a0: f103 0210 add.w r2, r3, #16 80c64a4: 68bb ldr r3, [r7, #8] 80c64a6: 2101 movs r1, #1 80c64a8: 6878 ldr r0, [r7, #4] 80c64aa: f008 faf6 bl 80cea9a } return 0; 80c64ae: 2300 movs r3, #0 } 80c64b0: 4618 mov r0, r3 80c64b2: 3714 adds r7, #20 80c64b4: 46bd mov sp, r7 80c64b6: bd90 pop {r4, r7, pc} 080c64b8 : * @param length: Data length * @retval status */ static int8_t SCSI_UpdateBotData(USBD_MSC_BOT_HandleTypeDef *hmsc, uint8_t *pBuff, uint16_t length) { 80c64b8: b480 push {r7} 80c64ba: b087 sub sp, #28 80c64bc: af00 add r7, sp, #0 80c64be: 60f8 str r0, [r7, #12] 80c64c0: 60b9 str r1, [r7, #8] 80c64c2: 4613 mov r3, r2 80c64c4: 80fb strh r3, [r7, #6] uint16_t len = length; 80c64c6: 88fb ldrh r3, [r7, #6] 80c64c8: 82fb strh r3, [r7, #22] hmsc->bot_data_length = len; 80c64ca: 8afa ldrh r2, [r7, #22] 80c64cc: 68fb ldr r3, [r7, #12] 80c64ce: 60da str r2, [r3, #12] while (len != 0U) 80c64d0: e00b b.n 80c64ea { len--; 80c64d2: 8afb ldrh r3, [r7, #22] 80c64d4: 3b01 subs r3, #1 80c64d6: 82fb strh r3, [r7, #22] hmsc->bot_data[len] = pBuff[len]; 80c64d8: 8afb ldrh r3, [r7, #22] 80c64da: 8afa ldrh r2, [r7, #22] 80c64dc: 68b9 ldr r1, [r7, #8] 80c64de: 440a add r2, r1 80c64e0: 7811 ldrb r1, [r2, #0] 80c64e2: 68fa ldr r2, [r7, #12] 80c64e4: 4413 add r3, r2 80c64e6: 460a mov r2, r1 80c64e8: 741a strb r2, [r3, #16] while (len != 0U) 80c64ea: 8afb ldrh r3, [r7, #22] 80c64ec: 2b00 cmp r3, #0 80c64ee: d1f0 bne.n 80c64d2 } return 0; 80c64f0: 2300 movs r3, #0 } 80c64f2: 4618 mov r0, r3 80c64f4: 371c adds r7, #28 80c64f6: 46bd mov sp, r7 80c64f8: f85d 7b04 ldr.w r7, [sp], #4 80c64fc: 4770 bx lr 080c64fe : * @param id: Low level core index * @retval None */ USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev, USBD_DescriptorsTypeDef *pdesc, uint8_t id) { 80c64fe: b580 push {r7, lr} 80c6500: b086 sub sp, #24 80c6502: af00 add r7, sp, #0 80c6504: 60f8 str r0, [r7, #12] 80c6506: 60b9 str r1, [r7, #8] 80c6508: 4613 mov r3, r2 80c650a: 71fb strb r3, [r7, #7] USBD_StatusTypeDef ret; /* Check whether the USB Host handle is valid */ if (pdev == NULL) 80c650c: 68fb ldr r3, [r7, #12] 80c650e: 2b00 cmp r3, #0 80c6510: d101 bne.n 80c6516 { #if (USBD_DEBUG_LEVEL > 1U) USBD_ErrLog("Invalid Device handle"); #endif return USBD_FAIL; 80c6512: 2303 movs r3, #3 80c6514: e025 b.n 80c6562 } /* Unlink previous class */ if (pdev->pClass != NULL) 80c6516: 68fb ldr r3, [r7, #12] 80c6518: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c651c: 2b00 cmp r3, #0 80c651e: d003 beq.n 80c6528 { pdev->pClass = NULL; 80c6520: 68fb ldr r3, [r7, #12] 80c6522: 2200 movs r2, #0 80c6524: f8c3 22b8 str.w r2, [r3, #696] ; 0x2b8 } if (pdev->pConfDesc != NULL) 80c6528: 68fb ldr r3, [r7, #12] 80c652a: f8d3 32cc ldr.w r3, [r3, #716] ; 0x2cc 80c652e: 2b00 cmp r3, #0 80c6530: d003 beq.n 80c653a { pdev->pConfDesc = NULL; 80c6532: 68fb ldr r3, [r7, #12] 80c6534: 2200 movs r2, #0 80c6536: f8c3 22cc str.w r2, [r3, #716] ; 0x2cc } /* Assign USBD Descriptors */ if (pdesc != NULL) 80c653a: 68bb ldr r3, [r7, #8] 80c653c: 2b00 cmp r3, #0 80c653e: d003 beq.n 80c6548 { pdev->pDesc = pdesc; 80c6540: 68fb ldr r3, [r7, #12] 80c6542: 68ba ldr r2, [r7, #8] 80c6544: f8c3 22b4 str.w r2, [r3, #692] ; 0x2b4 } /* Set Device initial State */ pdev->dev_state = USBD_STATE_DEFAULT; 80c6548: 68fb ldr r3, [r7, #12] 80c654a: 2201 movs r2, #1 80c654c: f883 229c strb.w r2, [r3, #668] ; 0x29c pdev->id = id; 80c6550: 68fb ldr r3, [r7, #12] 80c6552: 79fa ldrb r2, [r7, #7] 80c6554: 701a strb r2, [r3, #0] /* Initialize low level driver */ ret = USBD_LL_Init(pdev); 80c6556: 68f8 ldr r0, [r7, #12] 80c6558: f008 f924 bl 80ce7a4 80c655c: 4603 mov r3, r0 80c655e: 75fb strb r3, [r7, #23] return ret; 80c6560: 7dfb ldrb r3, [r7, #23] } 80c6562: 4618 mov r0, r3 80c6564: 3718 adds r7, #24 80c6566: 46bd mov sp, r7 80c6568: bd80 pop {r7, pc} 080c656a : * @param pDevice : Device Handle * @param pclass: Class handle * @retval USBD Status */ USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass) { 80c656a: b580 push {r7, lr} 80c656c: b084 sub sp, #16 80c656e: af00 add r7, sp, #0 80c6570: 6078 str r0, [r7, #4] 80c6572: 6039 str r1, [r7, #0] uint16_t len = 0U; 80c6574: 2300 movs r3, #0 80c6576: 81fb strh r3, [r7, #14] if (pclass == NULL) 80c6578: 683b ldr r3, [r7, #0] 80c657a: 2b00 cmp r3, #0 80c657c: d101 bne.n 80c6582 { #if (USBD_DEBUG_LEVEL > 1U) USBD_ErrLog("Invalid Class handle"); #endif return USBD_FAIL; 80c657e: 2303 movs r3, #3 80c6580: e010 b.n 80c65a4 } /* link the class to the USB Device handle */ pdev->pClass = pclass; 80c6582: 687b ldr r3, [r7, #4] 80c6584: 683a ldr r2, [r7, #0] 80c6586: 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); 80c658a: 687b ldr r3, [r7, #4] 80c658c: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c6590: 6a9b ldr r3, [r3, #40] ; 0x28 80c6592: f107 020e add.w r2, r7, #14 80c6596: 4610 mov r0, r2 80c6598: 4798 blx r3 80c659a: 4602 mov r2, r0 80c659c: 687b ldr r3, [r7, #4] 80c659e: f8c3 22cc str.w r2, [r3, #716] ; 0x2cc #endif /* USE_USB_FS */ return USBD_OK; 80c65a2: 2300 movs r3, #0 } 80c65a4: 4618 mov r0, r3 80c65a6: 3710 adds r7, #16 80c65a8: 46bd mov sp, r7 80c65aa: bd80 pop {r7, pc} 080c65ac : * Start the USB Device Core. * @param pdev: Device Handle * @retval USBD Status */ USBD_StatusTypeDef USBD_Start(USBD_HandleTypeDef *pdev) { 80c65ac: b580 push {r7, lr} 80c65ae: b082 sub sp, #8 80c65b0: af00 add r7, sp, #0 80c65b2: 6078 str r0, [r7, #4] /* Start the low level driver */ return USBD_LL_Start(pdev); 80c65b4: 6878 ldr r0, [r7, #4] 80c65b6: f008 f947 bl 80ce848 80c65ba: 4603 mov r3, r0 } 80c65bc: 4618 mov r0, r3 80c65be: 3708 adds r7, #8 80c65c0: 46bd mov sp, r7 80c65c2: bd80 pop {r7, pc} 080c65c4 : * Launch test mode process * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_RunTestMode(USBD_HandleTypeDef *pdev) { 80c65c4: b480 push {r7} 80c65c6: b083 sub sp, #12 80c65c8: af00 add r7, sp, #0 80c65ca: 6078 str r0, [r7, #4] /* Prevent unused argument compilation warning */ UNUSED(pdev); return USBD_OK; 80c65cc: 2300 movs r3, #0 } 80c65ce: 4618 mov r0, r3 80c65d0: 370c adds r7, #12 80c65d2: 46bd mov sp, r7 80c65d4: f85d 7b04 ldr.w r7, [sp], #4 80c65d8: 4770 bx lr 080c65da : * @param cfgidx: configuration index * @retval status */ USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { 80c65da: b580 push {r7, lr} 80c65dc: b084 sub sp, #16 80c65de: af00 add r7, sp, #0 80c65e0: 6078 str r0, [r7, #4] 80c65e2: 460b mov r3, r1 80c65e4: 70fb strb r3, [r7, #3] USBD_StatusTypeDef ret = USBD_FAIL; 80c65e6: 2303 movs r3, #3 80c65e8: 73fb strb r3, [r7, #15] if (pdev->pClass != NULL) 80c65ea: 687b ldr r3, [r7, #4] 80c65ec: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c65f0: 2b00 cmp r3, #0 80c65f2: d009 beq.n 80c6608 { /* Set configuration and Start the Class */ ret = (USBD_StatusTypeDef)pdev->pClass->Init(pdev, cfgidx); 80c65f4: 687b ldr r3, [r7, #4] 80c65f6: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c65fa: 681b ldr r3, [r3, #0] 80c65fc: 78fa ldrb r2, [r7, #3] 80c65fe: 4611 mov r1, r2 80c6600: 6878 ldr r0, [r7, #4] 80c6602: 4798 blx r3 80c6604: 4603 mov r3, r0 80c6606: 73fb strb r3, [r7, #15] } return ret; 80c6608: 7bfb ldrb r3, [r7, #15] } 80c660a: 4618 mov r0, r3 80c660c: 3710 adds r7, #16 80c660e: 46bd mov sp, r7 80c6610: bd80 pop {r7, pc} 080c6612 : * @param pdev: device instance * @param cfgidx: configuration index * @retval status: USBD_StatusTypeDef */ USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { 80c6612: b580 push {r7, lr} 80c6614: b082 sub sp, #8 80c6616: af00 add r7, sp, #0 80c6618: 6078 str r0, [r7, #4] 80c661a: 460b mov r3, r1 80c661c: 70fb strb r3, [r7, #3] /* Clear configuration and De-initialize the Class process */ if (pdev->pClass != NULL) 80c661e: 687b ldr r3, [r7, #4] 80c6620: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c6624: 2b00 cmp r3, #0 80c6626: d007 beq.n 80c6638 { pdev->pClass->DeInit(pdev, cfgidx); 80c6628: 687b ldr r3, [r7, #4] 80c662a: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c662e: 685b ldr r3, [r3, #4] 80c6630: 78fa ldrb r2, [r7, #3] 80c6632: 4611 mov r1, r2 80c6634: 6878 ldr r0, [r7, #4] 80c6636: 4798 blx r3 } return USBD_OK; 80c6638: 2300 movs r3, #0 } 80c663a: 4618 mov r0, r3 80c663c: 3708 adds r7, #8 80c663e: 46bd mov sp, r7 80c6640: bd80 pop {r7, pc} 080c6642 : * Handle the setup stage * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup) { 80c6642: b580 push {r7, lr} 80c6644: b084 sub sp, #16 80c6646: af00 add r7, sp, #0 80c6648: 6078 str r0, [r7, #4] 80c664a: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret; USBD_ParseSetupRequest(&pdev->request, psetup); 80c664c: 687b ldr r3, [r7, #4] 80c664e: f203 23aa addw r3, r3, #682 ; 0x2aa 80c6652: 6839 ldr r1, [r7, #0] 80c6654: 4618 mov r0, r3 80c6656: f000 ff55 bl 80c7504 pdev->ep0_state = USBD_EP0_SETUP; 80c665a: 687b ldr r3, [r7, #4] 80c665c: 2201 movs r2, #1 80c665e: f8c3 2294 str.w r2, [r3, #660] ; 0x294 pdev->ep0_data_len = pdev->request.wLength; 80c6662: 687b ldr r3, [r7, #4] 80c6664: f8b3 32b0 ldrh.w r3, [r3, #688] ; 0x2b0 80c6668: 461a mov r2, r3 80c666a: 687b ldr r3, [r7, #4] 80c666c: f8c3 2298 str.w r2, [r3, #664] ; 0x298 switch (pdev->request.bmRequest & 0x1FU) 80c6670: 687b ldr r3, [r7, #4] 80c6672: f893 32aa ldrb.w r3, [r3, #682] ; 0x2aa 80c6676: f003 031f and.w r3, r3, #31 80c667a: 2b01 cmp r3, #1 80c667c: d00e beq.n 80c669c 80c667e: 2b01 cmp r3, #1 80c6680: d302 bcc.n 80c6688 80c6682: 2b02 cmp r3, #2 80c6684: d014 beq.n 80c66b0 80c6686: e01d b.n 80c66c4 { case USB_REQ_RECIPIENT_DEVICE: ret = USBD_StdDevReq(pdev, &pdev->request); 80c6688: 687b ldr r3, [r7, #4] 80c668a: f203 23aa addw r3, r3, #682 ; 0x2aa 80c668e: 4619 mov r1, r3 80c6690: 6878 ldr r0, [r7, #4] 80c6692: f000 fa17 bl 80c6ac4 80c6696: 4603 mov r3, r0 80c6698: 73fb strb r3, [r7, #15] break; 80c669a: e020 b.n 80c66de case USB_REQ_RECIPIENT_INTERFACE: ret = USBD_StdItfReq(pdev, &pdev->request); 80c669c: 687b ldr r3, [r7, #4] 80c669e: f203 23aa addw r3, r3, #682 ; 0x2aa 80c66a2: 4619 mov r1, r3 80c66a4: 6878 ldr r0, [r7, #4] 80c66a6: f000 fa7b bl 80c6ba0 80c66aa: 4603 mov r3, r0 80c66ac: 73fb strb r3, [r7, #15] break; 80c66ae: e016 b.n 80c66de case USB_REQ_RECIPIENT_ENDPOINT: ret = USBD_StdEPReq(pdev, &pdev->request); 80c66b0: 687b ldr r3, [r7, #4] 80c66b2: f203 23aa addw r3, r3, #682 ; 0x2aa 80c66b6: 4619 mov r1, r3 80c66b8: 6878 ldr r0, [r7, #4] 80c66ba: f000 fab7 bl 80c6c2c 80c66be: 4603 mov r3, r0 80c66c0: 73fb strb r3, [r7, #15] break; 80c66c2: e00c b.n 80c66de default: ret = USBD_LL_StallEP(pdev, (pdev->request.bmRequest & 0x80U)); 80c66c4: 687b ldr r3, [r7, #4] 80c66c6: f893 32aa ldrb.w r3, [r3, #682] ; 0x2aa 80c66ca: f023 037f bic.w r3, r3, #127 ; 0x7f 80c66ce: b2db uxtb r3, r3 80c66d0: 4619 mov r1, r3 80c66d2: 6878 ldr r0, [r7, #4] 80c66d4: f008 f937 bl 80ce946 80c66d8: 4603 mov r3, r0 80c66da: 73fb strb r3, [r7, #15] break; 80c66dc: bf00 nop } return ret; 80c66de: 7bfb ldrb r3, [r7, #15] } 80c66e0: 4618 mov r0, r3 80c66e2: 3710 adds r7, #16 80c66e4: 46bd mov sp, r7 80c66e6: bd80 pop {r7, pc} 080c66e8 : * @param epnum: endpoint index * @retval status */ USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev, uint8_t epnum, uint8_t *pdata) { 80c66e8: b580 push {r7, lr} 80c66ea: b086 sub sp, #24 80c66ec: af00 add r7, sp, #0 80c66ee: 60f8 str r0, [r7, #12] 80c66f0: 460b mov r3, r1 80c66f2: 607a str r2, [r7, #4] 80c66f4: 72fb strb r3, [r7, #11] USBD_EndpointTypeDef *pep; USBD_StatusTypeDef ret; if (epnum == 0U) 80c66f6: 7afb ldrb r3, [r7, #11] 80c66f8: 2b00 cmp r3, #0 80c66fa: d137 bne.n 80c676c { pep = &pdev->ep_out[0]; 80c66fc: 68fb ldr r3, [r7, #12] 80c66fe: f503 73aa add.w r3, r3, #340 ; 0x154 80c6702: 613b str r3, [r7, #16] if (pdev->ep0_state == USBD_EP0_DATA_OUT) 80c6704: 68fb ldr r3, [r7, #12] 80c6706: f8d3 3294 ldr.w r3, [r3, #660] ; 0x294 80c670a: 2b03 cmp r3, #3 80c670c: d14a bne.n 80c67a4 { if (pep->rem_length > pep->maxpacket) 80c670e: 693b ldr r3, [r7, #16] 80c6710: 689a ldr r2, [r3, #8] 80c6712: 693b ldr r3, [r7, #16] 80c6714: 68db ldr r3, [r3, #12] 80c6716: 429a cmp r2, r3 80c6718: d913 bls.n 80c6742 { pep->rem_length -= pep->maxpacket; 80c671a: 693b ldr r3, [r7, #16] 80c671c: 689a ldr r2, [r3, #8] 80c671e: 693b ldr r3, [r7, #16] 80c6720: 68db ldr r3, [r3, #12] 80c6722: 1ad2 subs r2, r2, r3 80c6724: 693b ldr r3, [r7, #16] 80c6726: 609a str r2, [r3, #8] (void)USBD_CtlContinueRx(pdev, pdata, MIN(pep->rem_length, pep->maxpacket)); 80c6728: 693b ldr r3, [r7, #16] 80c672a: 68da ldr r2, [r3, #12] 80c672c: 693b ldr r3, [r7, #16] 80c672e: 689b ldr r3, [r3, #8] 80c6730: 4293 cmp r3, r2 80c6732: bf28 it cs 80c6734: 4613 movcs r3, r2 80c6736: 461a mov r2, r3 80c6738: 6879 ldr r1, [r7, #4] 80c673a: 68f8 ldr r0, [r7, #12] 80c673c: f000 ffb9 bl 80c76b2 80c6740: e030 b.n 80c67a4 } else { if ((pdev->pClass->EP0_RxReady != NULL) && 80c6742: 68fb ldr r3, [r7, #12] 80c6744: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c6748: 691b ldr r3, [r3, #16] 80c674a: 2b00 cmp r3, #0 80c674c: d00a beq.n 80c6764 (pdev->dev_state == USBD_STATE_CONFIGURED)) 80c674e: 68fb ldr r3, [r7, #12] 80c6750: f893 329c ldrb.w r3, [r3, #668] ; 0x29c if ((pdev->pClass->EP0_RxReady != NULL) && 80c6754: 2b03 cmp r3, #3 80c6756: d105 bne.n 80c6764 { pdev->pClass->EP0_RxReady(pdev); 80c6758: 68fb ldr r3, [r7, #12] 80c675a: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c675e: 691b ldr r3, [r3, #16] 80c6760: 68f8 ldr r0, [r7, #12] 80c6762: 4798 blx r3 } (void)USBD_CtlSendStatus(pdev); 80c6764: 68f8 ldr r0, [r7, #12] 80c6766: f000 ffb5 bl 80c76d4 80c676a: e01b b.n 80c67a4 (void)USBD_LL_StallEP(pdev, 0U); } #endif } } else if ((pdev->pClass->DataOut != NULL) && 80c676c: 68fb ldr r3, [r7, #12] 80c676e: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c6772: 699b ldr r3, [r3, #24] 80c6774: 2b00 cmp r3, #0 80c6776: d013 beq.n 80c67a0 (pdev->dev_state == USBD_STATE_CONFIGURED)) 80c6778: 68fb ldr r3, [r7, #12] 80c677a: f893 329c ldrb.w r3, [r3, #668] ; 0x29c else if ((pdev->pClass->DataOut != NULL) && 80c677e: 2b03 cmp r3, #3 80c6780: d10e bne.n 80c67a0 { ret = (USBD_StatusTypeDef)pdev->pClass->DataOut(pdev, epnum); 80c6782: 68fb ldr r3, [r7, #12] 80c6784: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c6788: 699b ldr r3, [r3, #24] 80c678a: 7afa ldrb r2, [r7, #11] 80c678c: 4611 mov r1, r2 80c678e: 68f8 ldr r0, [r7, #12] 80c6790: 4798 blx r3 80c6792: 4603 mov r3, r0 80c6794: 75fb strb r3, [r7, #23] if (ret != USBD_OK) 80c6796: 7dfb ldrb r3, [r7, #23] 80c6798: 2b00 cmp r3, #0 80c679a: d003 beq.n 80c67a4 { return ret; 80c679c: 7dfb ldrb r3, [r7, #23] 80c679e: e002 b.n 80c67a6 } } else { /* should never be in this condition */ return USBD_FAIL; 80c67a0: 2303 movs r3, #3 80c67a2: e000 b.n 80c67a6 } return USBD_OK; 80c67a4: 2300 movs r3, #0 } 80c67a6: 4618 mov r0, r3 80c67a8: 3718 adds r7, #24 80c67aa: 46bd mov sp, r7 80c67ac: bd80 pop {r7, pc} 080c67ae : * @param epnum: endpoint index * @retval status */ USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev, uint8_t epnum, uint8_t *pdata) { 80c67ae: b580 push {r7, lr} 80c67b0: b086 sub sp, #24 80c67b2: af00 add r7, sp, #0 80c67b4: 60f8 str r0, [r7, #12] 80c67b6: 460b mov r3, r1 80c67b8: 607a str r2, [r7, #4] 80c67ba: 72fb strb r3, [r7, #11] USBD_EndpointTypeDef *pep; USBD_StatusTypeDef ret; if (epnum == 0U) 80c67bc: 7afb ldrb r3, [r7, #11] 80c67be: 2b00 cmp r3, #0 80c67c0: d16a bne.n 80c6898 { pep = &pdev->ep_in[0]; 80c67c2: 68fb ldr r3, [r7, #12] 80c67c4: 3314 adds r3, #20 80c67c6: 613b str r3, [r7, #16] if (pdev->ep0_state == USBD_EP0_DATA_IN) 80c67c8: 68fb ldr r3, [r7, #12] 80c67ca: f8d3 3294 ldr.w r3, [r3, #660] ; 0x294 80c67ce: 2b02 cmp r3, #2 80c67d0: d155 bne.n 80c687e { if (pep->rem_length > pep->maxpacket) 80c67d2: 693b ldr r3, [r7, #16] 80c67d4: 689a ldr r2, [r3, #8] 80c67d6: 693b ldr r3, [r7, #16] 80c67d8: 68db ldr r3, [r3, #12] 80c67da: 429a cmp r2, r3 80c67dc: d914 bls.n 80c6808 { pep->rem_length -= pep->maxpacket; 80c67de: 693b ldr r3, [r7, #16] 80c67e0: 689a ldr r2, [r3, #8] 80c67e2: 693b ldr r3, [r7, #16] 80c67e4: 68db ldr r3, [r3, #12] 80c67e6: 1ad2 subs r2, r2, r3 80c67e8: 693b ldr r3, [r7, #16] 80c67ea: 609a str r2, [r3, #8] (void)USBD_CtlContinueSendData(pdev, pdata, pep->rem_length); 80c67ec: 693b ldr r3, [r7, #16] 80c67ee: 689b ldr r3, [r3, #8] 80c67f0: 461a mov r2, r3 80c67f2: 6879 ldr r1, [r7, #4] 80c67f4: 68f8 ldr r0, [r7, #12] 80c67f6: f000 ff4b bl 80c7690 /* Prepare endpoint for premature end of transfer */ (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); 80c67fa: 2300 movs r3, #0 80c67fc: 2200 movs r2, #0 80c67fe: 2100 movs r1, #0 80c6800: 68f8 ldr r0, [r7, #12] 80c6802: f008 f94a bl 80cea9a 80c6806: e03a b.n 80c687e } else { /* last packet is MPS multiple, so send ZLP packet */ if ((pep->maxpacket == pep->rem_length) && 80c6808: 693b ldr r3, [r7, #16] 80c680a: 68da ldr r2, [r3, #12] 80c680c: 693b ldr r3, [r7, #16] 80c680e: 689b ldr r3, [r3, #8] 80c6810: 429a cmp r2, r3 80c6812: d11c bne.n 80c684e (pep->total_length >= pep->maxpacket) && 80c6814: 693b ldr r3, [r7, #16] 80c6816: 685a ldr r2, [r3, #4] 80c6818: 693b ldr r3, [r7, #16] 80c681a: 68db ldr r3, [r3, #12] if ((pep->maxpacket == pep->rem_length) && 80c681c: 429a cmp r2, r3 80c681e: d316 bcc.n 80c684e (pep->total_length < pdev->ep0_data_len)) 80c6820: 693b ldr r3, [r7, #16] 80c6822: 685a ldr r2, [r3, #4] 80c6824: 68fb ldr r3, [r7, #12] 80c6826: f8d3 3298 ldr.w r3, [r3, #664] ; 0x298 (pep->total_length >= pep->maxpacket) && 80c682a: 429a cmp r2, r3 80c682c: d20f bcs.n 80c684e { (void)USBD_CtlContinueSendData(pdev, NULL, 0U); 80c682e: 2200 movs r2, #0 80c6830: 2100 movs r1, #0 80c6832: 68f8 ldr r0, [r7, #12] 80c6834: f000 ff2c bl 80c7690 pdev->ep0_data_len = 0U; 80c6838: 68fb ldr r3, [r7, #12] 80c683a: 2200 movs r2, #0 80c683c: f8c3 2298 str.w r2, [r3, #664] ; 0x298 /* Prepare endpoint for premature end of transfer */ (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); 80c6840: 2300 movs r3, #0 80c6842: 2200 movs r2, #0 80c6844: 2100 movs r1, #0 80c6846: 68f8 ldr r0, [r7, #12] 80c6848: f008 f927 bl 80cea9a 80c684c: e017 b.n 80c687e } else { if ((pdev->pClass->EP0_TxSent != NULL) && 80c684e: 68fb ldr r3, [r7, #12] 80c6850: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c6854: 68db ldr r3, [r3, #12] 80c6856: 2b00 cmp r3, #0 80c6858: d00a beq.n 80c6870 (pdev->dev_state == USBD_STATE_CONFIGURED)) 80c685a: 68fb ldr r3, [r7, #12] 80c685c: f893 329c ldrb.w r3, [r3, #668] ; 0x29c if ((pdev->pClass->EP0_TxSent != NULL) && 80c6860: 2b03 cmp r3, #3 80c6862: d105 bne.n 80c6870 { pdev->pClass->EP0_TxSent(pdev); 80c6864: 68fb ldr r3, [r7, #12] 80c6866: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c686a: 68db ldr r3, [r3, #12] 80c686c: 68f8 ldr r0, [r7, #12] 80c686e: 4798 blx r3 } (void)USBD_LL_StallEP(pdev, 0x80U); 80c6870: 2180 movs r1, #128 ; 0x80 80c6872: 68f8 ldr r0, [r7, #12] 80c6874: f008 f867 bl 80ce946 (void)USBD_CtlReceiveStatus(pdev); 80c6878: 68f8 ldr r0, [r7, #12] 80c687a: f000 ff3e bl 80c76fa (void)USBD_LL_StallEP(pdev, 0x80U); } #endif } if (pdev->dev_test_mode == 1U) 80c687e: 68fb ldr r3, [r7, #12] 80c6880: f893 32a0 ldrb.w r3, [r3, #672] ; 0x2a0 80c6884: 2b01 cmp r3, #1 80c6886: d123 bne.n 80c68d0 { (void)USBD_RunTestMode(pdev); 80c6888: 68f8 ldr r0, [r7, #12] 80c688a: f7ff fe9b bl 80c65c4 pdev->dev_test_mode = 0U; 80c688e: 68fb ldr r3, [r7, #12] 80c6890: 2200 movs r2, #0 80c6892: f883 22a0 strb.w r2, [r3, #672] ; 0x2a0 80c6896: e01b b.n 80c68d0 } } else if ((pdev->pClass->DataIn != NULL) && 80c6898: 68fb ldr r3, [r7, #12] 80c689a: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c689e: 695b ldr r3, [r3, #20] 80c68a0: 2b00 cmp r3, #0 80c68a2: d013 beq.n 80c68cc (pdev->dev_state == USBD_STATE_CONFIGURED)) 80c68a4: 68fb ldr r3, [r7, #12] 80c68a6: f893 329c ldrb.w r3, [r3, #668] ; 0x29c else if ((pdev->pClass->DataIn != NULL) && 80c68aa: 2b03 cmp r3, #3 80c68ac: d10e bne.n 80c68cc { ret = (USBD_StatusTypeDef)pdev->pClass->DataIn(pdev, epnum); 80c68ae: 68fb ldr r3, [r7, #12] 80c68b0: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c68b4: 695b ldr r3, [r3, #20] 80c68b6: 7afa ldrb r2, [r7, #11] 80c68b8: 4611 mov r1, r2 80c68ba: 68f8 ldr r0, [r7, #12] 80c68bc: 4798 blx r3 80c68be: 4603 mov r3, r0 80c68c0: 75fb strb r3, [r7, #23] if (ret != USBD_OK) 80c68c2: 7dfb ldrb r3, [r7, #23] 80c68c4: 2b00 cmp r3, #0 80c68c6: d003 beq.n 80c68d0 { return ret; 80c68c8: 7dfb ldrb r3, [r7, #23] 80c68ca: e002 b.n 80c68d2 } } else { /* should never be in this condition */ return USBD_FAIL; 80c68cc: 2303 movs r3, #3 80c68ce: e000 b.n 80c68d2 } return USBD_OK; 80c68d0: 2300 movs r3, #0 } 80c68d2: 4618 mov r0, r3 80c68d4: 3718 adds r7, #24 80c68d6: 46bd mov sp, r7 80c68d8: bd80 pop {r7, pc} 080c68da : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef *pdev) { 80c68da: b580 push {r7, lr} 80c68dc: b082 sub sp, #8 80c68de: af00 add r7, sp, #0 80c68e0: 6078 str r0, [r7, #4] /* Upon Reset call user call back */ pdev->dev_state = USBD_STATE_DEFAULT; 80c68e2: 687b ldr r3, [r7, #4] 80c68e4: 2201 movs r2, #1 80c68e6: f883 229c strb.w r2, [r3, #668] ; 0x29c pdev->ep0_state = USBD_EP0_IDLE; 80c68ea: 687b ldr r3, [r7, #4] 80c68ec: 2200 movs r2, #0 80c68ee: f8c3 2294 str.w r2, [r3, #660] ; 0x294 pdev->dev_config = 0U; 80c68f2: 687b ldr r3, [r7, #4] 80c68f4: 2200 movs r2, #0 80c68f6: 605a str r2, [r3, #4] pdev->dev_remote_wakeup = 0U; 80c68f8: 687b ldr r3, [r7, #4] 80c68fa: 2200 movs r2, #0 80c68fc: f8c3 22a4 str.w r2, [r3, #676] ; 0x2a4 if (pdev->pClassData != NULL) 80c6900: 687b ldr r3, [r7, #4] 80c6902: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c6906: 2b00 cmp r3, #0 80c6908: d009 beq.n 80c691e { pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config); 80c690a: 687b ldr r3, [r7, #4] 80c690c: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c6910: 685b ldr r3, [r3, #4] 80c6912: 687a ldr r2, [r7, #4] 80c6914: 6852 ldr r2, [r2, #4] 80c6916: b2d2 uxtb r2, r2 80c6918: 4611 mov r1, r2 80c691a: 6878 ldr r0, [r7, #4] 80c691c: 4798 blx r3 } /* Open EP0 OUT */ (void)USBD_LL_OpenEP(pdev, 0x00U, USBD_EP_TYPE_CTRL, USB_MAX_EP0_SIZE); 80c691e: 2340 movs r3, #64 ; 0x40 80c6920: 2200 movs r2, #0 80c6922: 2100 movs r1, #0 80c6924: 6878 ldr r0, [r7, #4] 80c6926: f007 ffaa bl 80ce87e pdev->ep_out[0x00U & 0xFU].is_used = 1U; 80c692a: 687b ldr r3, [r7, #4] 80c692c: 2201 movs r2, #1 80c692e: f8a3 2164 strh.w r2, [r3, #356] ; 0x164 pdev->ep_out[0].maxpacket = USB_MAX_EP0_SIZE; 80c6932: 687b ldr r3, [r7, #4] 80c6934: 2240 movs r2, #64 ; 0x40 80c6936: 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); 80c693a: 2340 movs r3, #64 ; 0x40 80c693c: 2200 movs r2, #0 80c693e: 2180 movs r1, #128 ; 0x80 80c6940: 6878 ldr r0, [r7, #4] 80c6942: f007 ff9c bl 80ce87e pdev->ep_in[0x80U & 0xFU].is_used = 1U; 80c6946: 687b ldr r3, [r7, #4] 80c6948: 2201 movs r2, #1 80c694a: 849a strh r2, [r3, #36] ; 0x24 pdev->ep_in[0].maxpacket = USB_MAX_EP0_SIZE; 80c694c: 687b ldr r3, [r7, #4] 80c694e: 2240 movs r2, #64 ; 0x40 80c6950: 621a str r2, [r3, #32] return USBD_OK; 80c6952: 2300 movs r3, #0 } 80c6954: 4618 mov r0, r3 80c6956: 3708 adds r7, #8 80c6958: 46bd mov sp, r7 80c695a: bd80 pop {r7, pc} 080c695c : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_SetSpeed(USBD_HandleTypeDef *pdev, USBD_SpeedTypeDef speed) { 80c695c: b480 push {r7} 80c695e: b083 sub sp, #12 80c6960: af00 add r7, sp, #0 80c6962: 6078 str r0, [r7, #4] 80c6964: 460b mov r3, r1 80c6966: 70fb strb r3, [r7, #3] pdev->dev_speed = speed; 80c6968: 687b ldr r3, [r7, #4] 80c696a: 78fa ldrb r2, [r7, #3] 80c696c: 741a strb r2, [r3, #16] return USBD_OK; 80c696e: 2300 movs r3, #0 } 80c6970: 4618 mov r0, r3 80c6972: 370c adds r7, #12 80c6974: 46bd mov sp, r7 80c6976: f85d 7b04 ldr.w r7, [sp], #4 80c697a: 4770 bx lr 080c697c : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef *pdev) { 80c697c: b480 push {r7} 80c697e: b083 sub sp, #12 80c6980: af00 add r7, sp, #0 80c6982: 6078 str r0, [r7, #4] pdev->dev_old_state = pdev->dev_state; 80c6984: 687b ldr r3, [r7, #4] 80c6986: f893 229c ldrb.w r2, [r3, #668] ; 0x29c 80c698a: 687b ldr r3, [r7, #4] 80c698c: f883 229d strb.w r2, [r3, #669] ; 0x29d pdev->dev_state = USBD_STATE_SUSPENDED; 80c6990: 687b ldr r3, [r7, #4] 80c6992: 2204 movs r2, #4 80c6994: f883 229c strb.w r2, [r3, #668] ; 0x29c return USBD_OK; 80c6998: 2300 movs r3, #0 } 80c699a: 4618 mov r0, r3 80c699c: 370c adds r7, #12 80c699e: 46bd mov sp, r7 80c69a0: f85d 7b04 ldr.w r7, [sp], #4 80c69a4: 4770 bx lr 080c69a6 : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_Resume(USBD_HandleTypeDef *pdev) { 80c69a6: b480 push {r7} 80c69a8: b083 sub sp, #12 80c69aa: af00 add r7, sp, #0 80c69ac: 6078 str r0, [r7, #4] if (pdev->dev_state == USBD_STATE_SUSPENDED) 80c69ae: 687b ldr r3, [r7, #4] 80c69b0: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c69b4: 2b04 cmp r3, #4 80c69b6: d105 bne.n 80c69c4 { pdev->dev_state = pdev->dev_old_state; 80c69b8: 687b ldr r3, [r7, #4] 80c69ba: f893 229d ldrb.w r2, [r3, #669] ; 0x29d 80c69be: 687b ldr r3, [r7, #4] 80c69c0: f883 229c strb.w r2, [r3, #668] ; 0x29c } return USBD_OK; 80c69c4: 2300 movs r3, #0 } 80c69c6: 4618 mov r0, r3 80c69c8: 370c adds r7, #12 80c69ca: 46bd mov sp, r7 80c69cc: f85d 7b04 ldr.w r7, [sp], #4 80c69d0: 4770 bx lr 080c69d2 : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_SOF(USBD_HandleTypeDef *pdev) { 80c69d2: b580 push {r7, lr} 80c69d4: b082 sub sp, #8 80c69d6: af00 add r7, sp, #0 80c69d8: 6078 str r0, [r7, #4] if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c69da: 687b ldr r3, [r7, #4] 80c69dc: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c69e0: 2b03 cmp r3, #3 80c69e2: d10b bne.n 80c69fc { if (pdev->pClass->SOF != NULL) 80c69e4: 687b ldr r3, [r7, #4] 80c69e6: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c69ea: 69db ldr r3, [r3, #28] 80c69ec: 2b00 cmp r3, #0 80c69ee: d005 beq.n 80c69fc { pdev->pClass->SOF(pdev); 80c69f0: 687b ldr r3, [r7, #4] 80c69f2: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c69f6: 69db ldr r3, [r3, #28] 80c69f8: 6878 ldr r0, [r7, #4] 80c69fa: 4798 blx r3 } } return USBD_OK; 80c69fc: 2300 movs r3, #0 } 80c69fe: 4618 mov r0, r3 80c6a00: 3708 adds r7, #8 80c6a02: 46bd mov sp, r7 80c6a04: bd80 pop {r7, pc} 080c6a06 : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_IsoINIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c6a06: b480 push {r7} 80c6a08: b083 sub sp, #12 80c6a0a: af00 add r7, sp, #0 80c6a0c: 6078 str r0, [r7, #4] 80c6a0e: 460b mov r3, r1 80c6a10: 70fb strb r3, [r7, #3] /* Prevent unused arguments compilation warning */ UNUSED(pdev); UNUSED(epnum); return USBD_OK; 80c6a12: 2300 movs r3, #0 } 80c6a14: 4618 mov r0, r3 80c6a16: 370c adds r7, #12 80c6a18: 46bd mov sp, r7 80c6a1a: f85d 7b04 ldr.w r7, [sp], #4 80c6a1e: 4770 bx lr 080c6a20 : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_IsoOUTIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c6a20: b480 push {r7} 80c6a22: b083 sub sp, #12 80c6a24: af00 add r7, sp, #0 80c6a26: 6078 str r0, [r7, #4] 80c6a28: 460b mov r3, r1 80c6a2a: 70fb strb r3, [r7, #3] /* Prevent unused arguments compilation warning */ UNUSED(pdev); UNUSED(epnum); return USBD_OK; 80c6a2c: 2300 movs r3, #0 } 80c6a2e: 4618 mov r0, r3 80c6a30: 370c adds r7, #12 80c6a32: 46bd mov sp, r7 80c6a34: f85d 7b04 ldr.w r7, [sp], #4 80c6a38: 4770 bx lr 080c6a3a : * Handle device connection event * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_DevConnected(USBD_HandleTypeDef *pdev) { 80c6a3a: b480 push {r7} 80c6a3c: b083 sub sp, #12 80c6a3e: af00 add r7, sp, #0 80c6a40: 6078 str r0, [r7, #4] /* Prevent unused argument compilation warning */ UNUSED(pdev); return USBD_OK; 80c6a42: 2300 movs r3, #0 } 80c6a44: 4618 mov r0, r3 80c6a46: 370c adds r7, #12 80c6a48: 46bd mov sp, r7 80c6a4a: f85d 7b04 ldr.w r7, [sp], #4 80c6a4e: 4770 bx lr 080c6a50 : * Handle device disconnection event * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_DevDisconnected(USBD_HandleTypeDef *pdev) { 80c6a50: b580 push {r7, lr} 80c6a52: b082 sub sp, #8 80c6a54: af00 add r7, sp, #0 80c6a56: 6078 str r0, [r7, #4] /* Free Class Resources */ pdev->dev_state = USBD_STATE_DEFAULT; 80c6a58: 687b ldr r3, [r7, #4] 80c6a5a: 2201 movs r2, #1 80c6a5c: f883 229c strb.w r2, [r3, #668] ; 0x29c if (pdev->pClass != NULL) 80c6a60: 687b ldr r3, [r7, #4] 80c6a62: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c6a66: 2b00 cmp r3, #0 80c6a68: d009 beq.n 80c6a7e { pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config); 80c6a6a: 687b ldr r3, [r7, #4] 80c6a6c: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c6a70: 685b ldr r3, [r3, #4] 80c6a72: 687a ldr r2, [r7, #4] 80c6a74: 6852 ldr r2, [r2, #4] 80c6a76: b2d2 uxtb r2, r2 80c6a78: 4611 mov r1, r2 80c6a7a: 6878 ldr r0, [r7, #4] 80c6a7c: 4798 blx r3 } return USBD_OK; 80c6a7e: 2300 movs r3, #0 } 80c6a80: 4618 mov r0, r3 80c6a82: 3708 adds r7, #8 80c6a84: 46bd mov sp, r7 80c6a86: bd80 pop {r7, pc} 080c6a88 : /** @defgroup USBD_DEF_Exported_Macros * @{ */ __STATIC_INLINE uint16_t SWAPBYTE(uint8_t *addr) { 80c6a88: b480 push {r7} 80c6a8a: b087 sub sp, #28 80c6a8c: af00 add r7, sp, #0 80c6a8e: 6078 str r0, [r7, #4] uint16_t _SwapVal, _Byte1, _Byte2; uint8_t *_pbuff = addr; 80c6a90: 687b ldr r3, [r7, #4] 80c6a92: 617b str r3, [r7, #20] _Byte1 = *(uint8_t *)_pbuff; 80c6a94: 697b ldr r3, [r7, #20] 80c6a96: 781b ldrb r3, [r3, #0] 80c6a98: 827b strh r3, [r7, #18] _pbuff++; 80c6a9a: 697b ldr r3, [r7, #20] 80c6a9c: 3301 adds r3, #1 80c6a9e: 617b str r3, [r7, #20] _Byte2 = *(uint8_t *)_pbuff; 80c6aa0: 697b ldr r3, [r7, #20] 80c6aa2: 781b ldrb r3, [r3, #0] 80c6aa4: 823b strh r3, [r7, #16] _SwapVal = (_Byte2 << 8) | _Byte1; 80c6aa6: 8a3b ldrh r3, [r7, #16] 80c6aa8: 021b lsls r3, r3, #8 80c6aaa: b21a sxth r2, r3 80c6aac: f9b7 3012 ldrsh.w r3, [r7, #18] 80c6ab0: 4313 orrs r3, r2 80c6ab2: b21b sxth r3, r3 80c6ab4: 81fb strh r3, [r7, #14] return _SwapVal; 80c6ab6: 89fb ldrh r3, [r7, #14] } 80c6ab8: 4618 mov r0, r3 80c6aba: 371c adds r7, #28 80c6abc: 46bd mov sp, r7 80c6abe: f85d 7b04 ldr.w r7, [sp], #4 80c6ac2: 4770 bx lr 080c6ac4 : * @param pdev: device instance * @param req: usb request * @retval status */ USBD_StatusTypeDef USBD_StdDevReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c6ac4: b580 push {r7, lr} 80c6ac6: b084 sub sp, #16 80c6ac8: af00 add r7, sp, #0 80c6aca: 6078 str r0, [r7, #4] 80c6acc: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret = USBD_OK; 80c6ace: 2300 movs r3, #0 80c6ad0: 73fb strb r3, [r7, #15] switch (req->bmRequest & USB_REQ_TYPE_MASK) 80c6ad2: 683b ldr r3, [r7, #0] 80c6ad4: 781b ldrb r3, [r3, #0] 80c6ad6: f003 0360 and.w r3, r3, #96 ; 0x60 80c6ada: 2b20 cmp r3, #32 80c6adc: d004 beq.n 80c6ae8 80c6ade: 2b40 cmp r3, #64 ; 0x40 80c6ae0: d002 beq.n 80c6ae8 80c6ae2: 2b00 cmp r3, #0 80c6ae4: d00a beq.n 80c6afc 80c6ae6: e050 b.n 80c6b8a { case USB_REQ_TYPE_CLASS: case USB_REQ_TYPE_VENDOR: ret = (USBD_StatusTypeDef)pdev->pClass->Setup(pdev, req); 80c6ae8: 687b ldr r3, [r7, #4] 80c6aea: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c6aee: 689b ldr r3, [r3, #8] 80c6af0: 6839 ldr r1, [r7, #0] 80c6af2: 6878 ldr r0, [r7, #4] 80c6af4: 4798 blx r3 80c6af6: 4603 mov r3, r0 80c6af8: 73fb strb r3, [r7, #15] break; 80c6afa: e04b b.n 80c6b94 case USB_REQ_TYPE_STANDARD: switch (req->bRequest) 80c6afc: 683b ldr r3, [r7, #0] 80c6afe: 785b ldrb r3, [r3, #1] 80c6b00: 2b09 cmp r3, #9 80c6b02: d83c bhi.n 80c6b7e 80c6b04: a201 add r2, pc, #4 ; (adr r2, 80c6b0c ) 80c6b06: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c6b0a: bf00 nop 80c6b0c: 080c6b61 .word 0x080c6b61 80c6b10: 080c6b75 .word 0x080c6b75 80c6b14: 080c6b7f .word 0x080c6b7f 80c6b18: 080c6b6b .word 0x080c6b6b 80c6b1c: 080c6b7f .word 0x080c6b7f 80c6b20: 080c6b3f .word 0x080c6b3f 80c6b24: 080c6b35 .word 0x080c6b35 80c6b28: 080c6b7f .word 0x080c6b7f 80c6b2c: 080c6b57 .word 0x080c6b57 80c6b30: 080c6b49 .word 0x080c6b49 { case USB_REQ_GET_DESCRIPTOR: USBD_GetDescriptor(pdev, req); 80c6b34: 6839 ldr r1, [r7, #0] 80c6b36: 6878 ldr r0, [r7, #4] 80c6b38: f000 f9ce bl 80c6ed8 break; 80c6b3c: e024 b.n 80c6b88 case USB_REQ_SET_ADDRESS: USBD_SetAddress(pdev, req); 80c6b3e: 6839 ldr r1, [r7, #0] 80c6b40: 6878 ldr r0, [r7, #4] 80c6b42: f000 fb5d bl 80c7200 break; 80c6b46: e01f b.n 80c6b88 case USB_REQ_SET_CONFIGURATION: ret = USBD_SetConfig(pdev, req); 80c6b48: 6839 ldr r1, [r7, #0] 80c6b4a: 6878 ldr r0, [r7, #4] 80c6b4c: f000 fb9a bl 80c7284 80c6b50: 4603 mov r3, r0 80c6b52: 73fb strb r3, [r7, #15] break; 80c6b54: e018 b.n 80c6b88 case USB_REQ_GET_CONFIGURATION: USBD_GetConfig(pdev, req); 80c6b56: 6839 ldr r1, [r7, #0] 80c6b58: 6878 ldr r0, [r7, #4] 80c6b5a: f000 fc37 bl 80c73cc break; 80c6b5e: e013 b.n 80c6b88 case USB_REQ_GET_STATUS: USBD_GetStatus(pdev, req); 80c6b60: 6839 ldr r1, [r7, #0] 80c6b62: 6878 ldr r0, [r7, #4] 80c6b64: f000 fc66 bl 80c7434 break; 80c6b68: e00e b.n 80c6b88 case USB_REQ_SET_FEATURE: USBD_SetFeature(pdev, req); 80c6b6a: 6839 ldr r1, [r7, #0] 80c6b6c: 6878 ldr r0, [r7, #4] 80c6b6e: f000 fc94 bl 80c749a break; 80c6b72: e009 b.n 80c6b88 case USB_REQ_CLEAR_FEATURE: USBD_ClrFeature(pdev, req); 80c6b74: 6839 ldr r1, [r7, #0] 80c6b76: 6878 ldr r0, [r7, #4] 80c6b78: f000 fca3 bl 80c74c2 break; 80c6b7c: e004 b.n 80c6b88 default: USBD_CtlError(pdev, req); 80c6b7e: 6839 ldr r1, [r7, #0] 80c6b80: 6878 ldr r0, [r7, #4] 80c6b82: f000 fcf9 bl 80c7578 break; 80c6b86: bf00 nop } break; 80c6b88: e004 b.n 80c6b94 default: USBD_CtlError(pdev, req); 80c6b8a: 6839 ldr r1, [r7, #0] 80c6b8c: 6878 ldr r0, [r7, #4] 80c6b8e: f000 fcf3 bl 80c7578 break; 80c6b92: bf00 nop } return ret; 80c6b94: 7bfb ldrb r3, [r7, #15] } 80c6b96: 4618 mov r0, r3 80c6b98: 3710 adds r7, #16 80c6b9a: 46bd mov sp, r7 80c6b9c: bd80 pop {r7, pc} 80c6b9e: bf00 nop 080c6ba0 : * @param pdev: device instance * @param req: usb request * @retval status */ USBD_StatusTypeDef USBD_StdItfReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c6ba0: b580 push {r7, lr} 80c6ba2: b084 sub sp, #16 80c6ba4: af00 add r7, sp, #0 80c6ba6: 6078 str r0, [r7, #4] 80c6ba8: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret = USBD_OK; 80c6baa: 2300 movs r3, #0 80c6bac: 73fb strb r3, [r7, #15] switch (req->bmRequest & USB_REQ_TYPE_MASK) 80c6bae: 683b ldr r3, [r7, #0] 80c6bb0: 781b ldrb r3, [r3, #0] 80c6bb2: f003 0360 and.w r3, r3, #96 ; 0x60 80c6bb6: 2b20 cmp r3, #32 80c6bb8: d003 beq.n 80c6bc2 80c6bba: 2b40 cmp r3, #64 ; 0x40 80c6bbc: d001 beq.n 80c6bc2 80c6bbe: 2b00 cmp r3, #0 80c6bc0: d12a bne.n 80c6c18 { case USB_REQ_TYPE_CLASS: case USB_REQ_TYPE_VENDOR: case USB_REQ_TYPE_STANDARD: switch (pdev->dev_state) 80c6bc2: 687b ldr r3, [r7, #4] 80c6bc4: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c6bc8: 3b01 subs r3, #1 80c6bca: 2b02 cmp r3, #2 80c6bcc: d81d bhi.n 80c6c0a { case USBD_STATE_DEFAULT: case USBD_STATE_ADDRESSED: case USBD_STATE_CONFIGURED: if (LOBYTE(req->wIndex) <= USBD_MAX_NUM_INTERFACES) 80c6bce: 683b ldr r3, [r7, #0] 80c6bd0: 889b ldrh r3, [r3, #4] 80c6bd2: b2db uxtb r3, r3 80c6bd4: 2b01 cmp r3, #1 80c6bd6: d813 bhi.n 80c6c00 { ret = (USBD_StatusTypeDef)pdev->pClass->Setup(pdev, req); 80c6bd8: 687b ldr r3, [r7, #4] 80c6bda: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c6bde: 689b ldr r3, [r3, #8] 80c6be0: 6839 ldr r1, [r7, #0] 80c6be2: 6878 ldr r0, [r7, #4] 80c6be4: 4798 blx r3 80c6be6: 4603 mov r3, r0 80c6be8: 73fb strb r3, [r7, #15] if ((req->wLength == 0U) && (ret == USBD_OK)) 80c6bea: 683b ldr r3, [r7, #0] 80c6bec: 88db ldrh r3, [r3, #6] 80c6bee: 2b00 cmp r3, #0 80c6bf0: d110 bne.n 80c6c14 80c6bf2: 7bfb ldrb r3, [r7, #15] 80c6bf4: 2b00 cmp r3, #0 80c6bf6: d10d bne.n 80c6c14 { (void)USBD_CtlSendStatus(pdev); 80c6bf8: 6878 ldr r0, [r7, #4] 80c6bfa: f000 fd6b bl 80c76d4 } else { USBD_CtlError(pdev, req); } break; 80c6bfe: e009 b.n 80c6c14 USBD_CtlError(pdev, req); 80c6c00: 6839 ldr r1, [r7, #0] 80c6c02: 6878 ldr r0, [r7, #4] 80c6c04: f000 fcb8 bl 80c7578 break; 80c6c08: e004 b.n 80c6c14 default: USBD_CtlError(pdev, req); 80c6c0a: 6839 ldr r1, [r7, #0] 80c6c0c: 6878 ldr r0, [r7, #4] 80c6c0e: f000 fcb3 bl 80c7578 break; 80c6c12: e000 b.n 80c6c16 break; 80c6c14: bf00 nop } break; 80c6c16: e004 b.n 80c6c22 default: USBD_CtlError(pdev, req); 80c6c18: 6839 ldr r1, [r7, #0] 80c6c1a: 6878 ldr r0, [r7, #4] 80c6c1c: f000 fcac bl 80c7578 break; 80c6c20: bf00 nop } return ret; 80c6c22: 7bfb ldrb r3, [r7, #15] } 80c6c24: 4618 mov r0, r3 80c6c26: 3710 adds r7, #16 80c6c28: 46bd mov sp, r7 80c6c2a: bd80 pop {r7, pc} 080c6c2c : * @param pdev: device instance * @param req: usb request * @retval status */ USBD_StatusTypeDef USBD_StdEPReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c6c2c: b580 push {r7, lr} 80c6c2e: b084 sub sp, #16 80c6c30: af00 add r7, sp, #0 80c6c32: 6078 str r0, [r7, #4] 80c6c34: 6039 str r1, [r7, #0] USBD_EndpointTypeDef *pep; uint8_t ep_addr; USBD_StatusTypeDef ret = USBD_OK; 80c6c36: 2300 movs r3, #0 80c6c38: 73fb strb r3, [r7, #15] ep_addr = LOBYTE(req->wIndex); 80c6c3a: 683b ldr r3, [r7, #0] 80c6c3c: 889b ldrh r3, [r3, #4] 80c6c3e: 73bb strb r3, [r7, #14] switch (req->bmRequest & USB_REQ_TYPE_MASK) 80c6c40: 683b ldr r3, [r7, #0] 80c6c42: 781b ldrb r3, [r3, #0] 80c6c44: f003 0360 and.w r3, r3, #96 ; 0x60 80c6c48: 2b20 cmp r3, #32 80c6c4a: d004 beq.n 80c6c56 80c6c4c: 2b40 cmp r3, #64 ; 0x40 80c6c4e: d002 beq.n 80c6c56 80c6c50: 2b00 cmp r3, #0 80c6c52: d00a beq.n 80c6c6a 80c6c54: e135 b.n 80c6ec2 { case USB_REQ_TYPE_CLASS: case USB_REQ_TYPE_VENDOR: ret = (USBD_StatusTypeDef)pdev->pClass->Setup(pdev, req); 80c6c56: 687b ldr r3, [r7, #4] 80c6c58: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c6c5c: 689b ldr r3, [r3, #8] 80c6c5e: 6839 ldr r1, [r7, #0] 80c6c60: 6878 ldr r0, [r7, #4] 80c6c62: 4798 blx r3 80c6c64: 4603 mov r3, r0 80c6c66: 73fb strb r3, [r7, #15] break; 80c6c68: e130 b.n 80c6ecc case USB_REQ_TYPE_STANDARD: switch (req->bRequest) 80c6c6a: 683b ldr r3, [r7, #0] 80c6c6c: 785b ldrb r3, [r3, #1] 80c6c6e: 2b01 cmp r3, #1 80c6c70: d03e beq.n 80c6cf0 80c6c72: 2b03 cmp r3, #3 80c6c74: d002 beq.n 80c6c7c 80c6c76: 2b00 cmp r3, #0 80c6c78: d077 beq.n 80c6d6a 80c6c7a: e11c b.n 80c6eb6 { case USB_REQ_SET_FEATURE: switch (pdev->dev_state) 80c6c7c: 687b ldr r3, [r7, #4] 80c6c7e: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c6c82: 2b02 cmp r3, #2 80c6c84: d002 beq.n 80c6c8c 80c6c86: 2b03 cmp r3, #3 80c6c88: d015 beq.n 80c6cb6 80c6c8a: e02b b.n 80c6ce4 { case USBD_STATE_ADDRESSED: if ((ep_addr != 0x00U) && (ep_addr != 0x80U)) 80c6c8c: 7bbb ldrb r3, [r7, #14] 80c6c8e: 2b00 cmp r3, #0 80c6c90: d00c beq.n 80c6cac 80c6c92: 7bbb ldrb r3, [r7, #14] 80c6c94: 2b80 cmp r3, #128 ; 0x80 80c6c96: d009 beq.n 80c6cac { (void)USBD_LL_StallEP(pdev, ep_addr); 80c6c98: 7bbb ldrb r3, [r7, #14] 80c6c9a: 4619 mov r1, r3 80c6c9c: 6878 ldr r0, [r7, #4] 80c6c9e: f007 fe52 bl 80ce946 (void)USBD_LL_StallEP(pdev, 0x80U); 80c6ca2: 2180 movs r1, #128 ; 0x80 80c6ca4: 6878 ldr r0, [r7, #4] 80c6ca6: f007 fe4e bl 80ce946 } else { USBD_CtlError(pdev, req); } break; 80c6caa: e020 b.n 80c6cee USBD_CtlError(pdev, req); 80c6cac: 6839 ldr r1, [r7, #0] 80c6cae: 6878 ldr r0, [r7, #4] 80c6cb0: f000 fc62 bl 80c7578 break; 80c6cb4: e01b b.n 80c6cee case USBD_STATE_CONFIGURED: if (req->wValue == USB_FEATURE_EP_HALT) 80c6cb6: 683b ldr r3, [r7, #0] 80c6cb8: 885b ldrh r3, [r3, #2] 80c6cba: 2b00 cmp r3, #0 80c6cbc: d10e bne.n 80c6cdc { if ((ep_addr != 0x00U) && (ep_addr != 0x80U) && (req->wLength == 0x00U)) 80c6cbe: 7bbb ldrb r3, [r7, #14] 80c6cc0: 2b00 cmp r3, #0 80c6cc2: d00b beq.n 80c6cdc 80c6cc4: 7bbb ldrb r3, [r7, #14] 80c6cc6: 2b80 cmp r3, #128 ; 0x80 80c6cc8: d008 beq.n 80c6cdc 80c6cca: 683b ldr r3, [r7, #0] 80c6ccc: 88db ldrh r3, [r3, #6] 80c6cce: 2b00 cmp r3, #0 80c6cd0: d104 bne.n 80c6cdc { (void)USBD_LL_StallEP(pdev, ep_addr); 80c6cd2: 7bbb ldrb r3, [r7, #14] 80c6cd4: 4619 mov r1, r3 80c6cd6: 6878 ldr r0, [r7, #4] 80c6cd8: f007 fe35 bl 80ce946 } } (void)USBD_CtlSendStatus(pdev); 80c6cdc: 6878 ldr r0, [r7, #4] 80c6cde: f000 fcf9 bl 80c76d4 break; 80c6ce2: e004 b.n 80c6cee default: USBD_CtlError(pdev, req); 80c6ce4: 6839 ldr r1, [r7, #0] 80c6ce6: 6878 ldr r0, [r7, #4] 80c6ce8: f000 fc46 bl 80c7578 break; 80c6cec: bf00 nop } break; 80c6cee: e0e7 b.n 80c6ec0 case USB_REQ_CLEAR_FEATURE: switch (pdev->dev_state) 80c6cf0: 687b ldr r3, [r7, #4] 80c6cf2: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c6cf6: 2b02 cmp r3, #2 80c6cf8: d002 beq.n 80c6d00 80c6cfa: 2b03 cmp r3, #3 80c6cfc: d015 beq.n 80c6d2a 80c6cfe: e02d b.n 80c6d5c { case USBD_STATE_ADDRESSED: if ((ep_addr != 0x00U) && (ep_addr != 0x80U)) 80c6d00: 7bbb ldrb r3, [r7, #14] 80c6d02: 2b00 cmp r3, #0 80c6d04: d00c beq.n 80c6d20 80c6d06: 7bbb ldrb r3, [r7, #14] 80c6d08: 2b80 cmp r3, #128 ; 0x80 80c6d0a: d009 beq.n 80c6d20 { (void)USBD_LL_StallEP(pdev, ep_addr); 80c6d0c: 7bbb ldrb r3, [r7, #14] 80c6d0e: 4619 mov r1, r3 80c6d10: 6878 ldr r0, [r7, #4] 80c6d12: f007 fe18 bl 80ce946 (void)USBD_LL_StallEP(pdev, 0x80U); 80c6d16: 2180 movs r1, #128 ; 0x80 80c6d18: 6878 ldr r0, [r7, #4] 80c6d1a: f007 fe14 bl 80ce946 } else { USBD_CtlError(pdev, req); } break; 80c6d1e: e023 b.n 80c6d68 USBD_CtlError(pdev, req); 80c6d20: 6839 ldr r1, [r7, #0] 80c6d22: 6878 ldr r0, [r7, #4] 80c6d24: f000 fc28 bl 80c7578 break; 80c6d28: e01e b.n 80c6d68 case USBD_STATE_CONFIGURED: if (req->wValue == USB_FEATURE_EP_HALT) 80c6d2a: 683b ldr r3, [r7, #0] 80c6d2c: 885b ldrh r3, [r3, #2] 80c6d2e: 2b00 cmp r3, #0 80c6d30: d119 bne.n 80c6d66 { if ((ep_addr & 0x7FU) != 0x00U) 80c6d32: 7bbb ldrb r3, [r7, #14] 80c6d34: f003 037f and.w r3, r3, #127 ; 0x7f 80c6d38: 2b00 cmp r3, #0 80c6d3a: d004 beq.n 80c6d46 { (void)USBD_LL_ClearStallEP(pdev, ep_addr); 80c6d3c: 7bbb ldrb r3, [r7, #14] 80c6d3e: 4619 mov r1, r3 80c6d40: 6878 ldr r0, [r7, #4] 80c6d42: f007 fe1f bl 80ce984 } (void)USBD_CtlSendStatus(pdev); 80c6d46: 6878 ldr r0, [r7, #4] 80c6d48: f000 fcc4 bl 80c76d4 (USBD_StatusTypeDef)pdev->pClass->Setup(pdev, req); 80c6d4c: 687b ldr r3, [r7, #4] 80c6d4e: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c6d52: 689b ldr r3, [r3, #8] 80c6d54: 6839 ldr r1, [r7, #0] 80c6d56: 6878 ldr r0, [r7, #4] 80c6d58: 4798 blx r3 } break; 80c6d5a: e004 b.n 80c6d66 default: USBD_CtlError(pdev, req); 80c6d5c: 6839 ldr r1, [r7, #0] 80c6d5e: 6878 ldr r0, [r7, #4] 80c6d60: f000 fc0a bl 80c7578 break; 80c6d64: e000 b.n 80c6d68 break; 80c6d66: bf00 nop } break; 80c6d68: e0aa b.n 80c6ec0 case USB_REQ_GET_STATUS: switch (pdev->dev_state) 80c6d6a: 687b ldr r3, [r7, #4] 80c6d6c: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c6d70: 2b02 cmp r3, #2 80c6d72: d002 beq.n 80c6d7a 80c6d74: 2b03 cmp r3, #3 80c6d76: d032 beq.n 80c6dde 80c6d78: e097 b.n 80c6eaa { case USBD_STATE_ADDRESSED: if ((ep_addr != 0x00U) && (ep_addr != 0x80U)) 80c6d7a: 7bbb ldrb r3, [r7, #14] 80c6d7c: 2b00 cmp r3, #0 80c6d7e: d007 beq.n 80c6d90 80c6d80: 7bbb ldrb r3, [r7, #14] 80c6d82: 2b80 cmp r3, #128 ; 0x80 80c6d84: d004 beq.n 80c6d90 { USBD_CtlError(pdev, req); 80c6d86: 6839 ldr r1, [r7, #0] 80c6d88: 6878 ldr r0, [r7, #4] 80c6d8a: f000 fbf5 bl 80c7578 break; 80c6d8e: e091 b.n 80c6eb4 } pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ 80c6d90: f997 300e ldrsb.w r3, [r7, #14] 80c6d94: 2b00 cmp r3, #0 80c6d96: da0b bge.n 80c6db0 80c6d98: 7bbb ldrb r3, [r7, #14] 80c6d9a: f003 027f and.w r2, r3, #127 ; 0x7f 80c6d9e: 4613 mov r3, r2 80c6da0: 009b lsls r3, r3, #2 80c6da2: 4413 add r3, r2 80c6da4: 009b lsls r3, r3, #2 80c6da6: 3310 adds r3, #16 80c6da8: 687a ldr r2, [r7, #4] 80c6daa: 4413 add r3, r2 80c6dac: 3304 adds r3, #4 80c6dae: e00b b.n 80c6dc8 &pdev->ep_out[ep_addr & 0x7FU]; 80c6db0: 7bbb ldrb r3, [r7, #14] 80c6db2: f003 027f and.w r2, r3, #127 ; 0x7f pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ 80c6db6: 4613 mov r3, r2 80c6db8: 009b lsls r3, r3, #2 80c6dba: 4413 add r3, r2 80c6dbc: 009b lsls r3, r3, #2 80c6dbe: f503 73a8 add.w r3, r3, #336 ; 0x150 80c6dc2: 687a ldr r2, [r7, #4] 80c6dc4: 4413 add r3, r2 80c6dc6: 3304 adds r3, #4 80c6dc8: 60bb str r3, [r7, #8] pep->status = 0x0000U; 80c6dca: 68bb ldr r3, [r7, #8] 80c6dcc: 2200 movs r2, #0 80c6dce: 601a str r2, [r3, #0] (void)USBD_CtlSendData(pdev, (uint8_t *)&pep->status, 2U); 80c6dd0: 68bb ldr r3, [r7, #8] 80c6dd2: 2202 movs r2, #2 80c6dd4: 4619 mov r1, r3 80c6dd6: 6878 ldr r0, [r7, #4] 80c6dd8: f000 fc3f bl 80c765a break; 80c6ddc: e06a b.n 80c6eb4 case USBD_STATE_CONFIGURED: if ((ep_addr & 0x80U) == 0x80U) 80c6dde: f997 300e ldrsb.w r3, [r7, #14] 80c6de2: 2b00 cmp r3, #0 80c6de4: da11 bge.n 80c6e0a { if (pdev->ep_in[ep_addr & 0xFU].is_used == 0U) 80c6de6: 7bbb ldrb r3, [r7, #14] 80c6de8: f003 020f and.w r2, r3, #15 80c6dec: 6879 ldr r1, [r7, #4] 80c6dee: 4613 mov r3, r2 80c6df0: 009b lsls r3, r3, #2 80c6df2: 4413 add r3, r2 80c6df4: 009b lsls r3, r3, #2 80c6df6: 440b add r3, r1 80c6df8: 3324 adds r3, #36 ; 0x24 80c6dfa: 881b ldrh r3, [r3, #0] 80c6dfc: 2b00 cmp r3, #0 80c6dfe: d117 bne.n 80c6e30 { USBD_CtlError(pdev, req); 80c6e00: 6839 ldr r1, [r7, #0] 80c6e02: 6878 ldr r0, [r7, #4] 80c6e04: f000 fbb8 bl 80c7578 break; 80c6e08: e054 b.n 80c6eb4 } } else { if (pdev->ep_out[ep_addr & 0xFU].is_used == 0U) 80c6e0a: 7bbb ldrb r3, [r7, #14] 80c6e0c: f003 020f and.w r2, r3, #15 80c6e10: 6879 ldr r1, [r7, #4] 80c6e12: 4613 mov r3, r2 80c6e14: 009b lsls r3, r3, #2 80c6e16: 4413 add r3, r2 80c6e18: 009b lsls r3, r3, #2 80c6e1a: 440b add r3, r1 80c6e1c: f503 73b2 add.w r3, r3, #356 ; 0x164 80c6e20: 881b ldrh r3, [r3, #0] 80c6e22: 2b00 cmp r3, #0 80c6e24: d104 bne.n 80c6e30 { USBD_CtlError(pdev, req); 80c6e26: 6839 ldr r1, [r7, #0] 80c6e28: 6878 ldr r0, [r7, #4] 80c6e2a: f000 fba5 bl 80c7578 break; 80c6e2e: e041 b.n 80c6eb4 } } pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ 80c6e30: f997 300e ldrsb.w r3, [r7, #14] 80c6e34: 2b00 cmp r3, #0 80c6e36: da0b bge.n 80c6e50 80c6e38: 7bbb ldrb r3, [r7, #14] 80c6e3a: f003 027f and.w r2, r3, #127 ; 0x7f 80c6e3e: 4613 mov r3, r2 80c6e40: 009b lsls r3, r3, #2 80c6e42: 4413 add r3, r2 80c6e44: 009b lsls r3, r3, #2 80c6e46: 3310 adds r3, #16 80c6e48: 687a ldr r2, [r7, #4] 80c6e4a: 4413 add r3, r2 80c6e4c: 3304 adds r3, #4 80c6e4e: e00b b.n 80c6e68 &pdev->ep_out[ep_addr & 0x7FU]; 80c6e50: 7bbb ldrb r3, [r7, #14] 80c6e52: f003 027f and.w r2, r3, #127 ; 0x7f pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ 80c6e56: 4613 mov r3, r2 80c6e58: 009b lsls r3, r3, #2 80c6e5a: 4413 add r3, r2 80c6e5c: 009b lsls r3, r3, #2 80c6e5e: f503 73a8 add.w r3, r3, #336 ; 0x150 80c6e62: 687a ldr r2, [r7, #4] 80c6e64: 4413 add r3, r2 80c6e66: 3304 adds r3, #4 80c6e68: 60bb str r3, [r7, #8] if ((ep_addr == 0x00U) || (ep_addr == 0x80U)) 80c6e6a: 7bbb ldrb r3, [r7, #14] 80c6e6c: 2b00 cmp r3, #0 80c6e6e: d002 beq.n 80c6e76 80c6e70: 7bbb ldrb r3, [r7, #14] 80c6e72: 2b80 cmp r3, #128 ; 0x80 80c6e74: d103 bne.n 80c6e7e { pep->status = 0x0000U; 80c6e76: 68bb ldr r3, [r7, #8] 80c6e78: 2200 movs r2, #0 80c6e7a: 601a str r2, [r3, #0] 80c6e7c: e00e b.n 80c6e9c } else if (USBD_LL_IsStallEP(pdev, ep_addr) != 0U) 80c6e7e: 7bbb ldrb r3, [r7, #14] 80c6e80: 4619 mov r1, r3 80c6e82: 6878 ldr r0, [r7, #4] 80c6e84: f007 fd9d bl 80ce9c2 80c6e88: 4603 mov r3, r0 80c6e8a: 2b00 cmp r3, #0 80c6e8c: d003 beq.n 80c6e96 { pep->status = 0x0001U; 80c6e8e: 68bb ldr r3, [r7, #8] 80c6e90: 2201 movs r2, #1 80c6e92: 601a str r2, [r3, #0] 80c6e94: e002 b.n 80c6e9c } else { pep->status = 0x0000U; 80c6e96: 68bb ldr r3, [r7, #8] 80c6e98: 2200 movs r2, #0 80c6e9a: 601a str r2, [r3, #0] } (void)USBD_CtlSendData(pdev, (uint8_t *)&pep->status, 2U); 80c6e9c: 68bb ldr r3, [r7, #8] 80c6e9e: 2202 movs r2, #2 80c6ea0: 4619 mov r1, r3 80c6ea2: 6878 ldr r0, [r7, #4] 80c6ea4: f000 fbd9 bl 80c765a break; 80c6ea8: e004 b.n 80c6eb4 default: USBD_CtlError(pdev, req); 80c6eaa: 6839 ldr r1, [r7, #0] 80c6eac: 6878 ldr r0, [r7, #4] 80c6eae: f000 fb63 bl 80c7578 break; 80c6eb2: bf00 nop } break; 80c6eb4: e004 b.n 80c6ec0 default: USBD_CtlError(pdev, req); 80c6eb6: 6839 ldr r1, [r7, #0] 80c6eb8: 6878 ldr r0, [r7, #4] 80c6eba: f000 fb5d bl 80c7578 break; 80c6ebe: bf00 nop } break; 80c6ec0: e004 b.n 80c6ecc default: USBD_CtlError(pdev, req); 80c6ec2: 6839 ldr r1, [r7, #0] 80c6ec4: 6878 ldr r0, [r7, #4] 80c6ec6: f000 fb57 bl 80c7578 break; 80c6eca: bf00 nop } return ret; 80c6ecc: 7bfb ldrb r3, [r7, #15] } 80c6ece: 4618 mov r0, r3 80c6ed0: 3710 adds r7, #16 80c6ed2: 46bd mov sp, r7 80c6ed4: bd80 pop {r7, pc} ... 080c6ed8 : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c6ed8: b580 push {r7, lr} 80c6eda: b084 sub sp, #16 80c6edc: af00 add r7, sp, #0 80c6ede: 6078 str r0, [r7, #4] 80c6ee0: 6039 str r1, [r7, #0] uint16_t len = 0U; 80c6ee2: 2300 movs r3, #0 80c6ee4: 813b strh r3, [r7, #8] uint8_t *pbuf = NULL; 80c6ee6: 2300 movs r3, #0 80c6ee8: 60fb str r3, [r7, #12] uint8_t err = 0U; 80c6eea: 2300 movs r3, #0 80c6eec: 72fb strb r3, [r7, #11] switch (req->wValue >> 8) 80c6eee: 683b ldr r3, [r7, #0] 80c6ef0: 885b ldrh r3, [r3, #2] 80c6ef2: 0a1b lsrs r3, r3, #8 80c6ef4: b29b uxth r3, r3 80c6ef6: 3b01 subs r3, #1 80c6ef8: 2b0e cmp r3, #14 80c6efa: f200 8152 bhi.w 80c71a2 80c6efe: a201 add r2, pc, #4 ; (adr r2, 80c6f04 ) 80c6f00: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c6f04: 080c6f75 .word 0x080c6f75 80c6f08: 080c6f8d .word 0x080c6f8d 80c6f0c: 080c6fcd .word 0x080c6fcd 80c6f10: 080c71a3 .word 0x080c71a3 80c6f14: 080c71a3 .word 0x080c71a3 80c6f18: 080c7143 .word 0x080c7143 80c6f1c: 080c716f .word 0x080c716f 80c6f20: 080c71a3 .word 0x080c71a3 80c6f24: 080c71a3 .word 0x080c71a3 80c6f28: 080c71a3 .word 0x080c71a3 80c6f2c: 080c71a3 .word 0x080c71a3 80c6f30: 080c71a3 .word 0x080c71a3 80c6f34: 080c71a3 .word 0x080c71a3 80c6f38: 080c71a3 .word 0x080c71a3 80c6f3c: 080c6f41 .word 0x080c6f41 { #if ((USBD_LPM_ENABLED == 1U) || (USBD_CLASS_BOS_ENABLED == 1U)) case USB_DESC_TYPE_BOS: if (pdev->pDesc->GetBOSDescriptor != NULL) 80c6f40: 687b ldr r3, [r7, #4] 80c6f42: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c6f46: 69db ldr r3, [r3, #28] 80c6f48: 2b00 cmp r3, #0 80c6f4a: d00b beq.n 80c6f64 { pbuf = pdev->pDesc->GetBOSDescriptor(pdev->dev_speed, &len); 80c6f4c: 687b ldr r3, [r7, #4] 80c6f4e: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c6f52: 69db ldr r3, [r3, #28] 80c6f54: 687a ldr r2, [r7, #4] 80c6f56: 7c12 ldrb r2, [r2, #16] 80c6f58: f107 0108 add.w r1, r7, #8 80c6f5c: 4610 mov r0, r2 80c6f5e: 4798 blx r3 80c6f60: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c6f62: e126 b.n 80c71b2 USBD_CtlError(pdev, req); 80c6f64: 6839 ldr r1, [r7, #0] 80c6f66: 6878 ldr r0, [r7, #4] 80c6f68: f000 fb06 bl 80c7578 err++; 80c6f6c: 7afb ldrb r3, [r7, #11] 80c6f6e: 3301 adds r3, #1 80c6f70: 72fb strb r3, [r7, #11] break; 80c6f72: e11e b.n 80c71b2 #endif case USB_DESC_TYPE_DEVICE: pbuf = pdev->pDesc->GetDeviceDescriptor(pdev->dev_speed, &len); 80c6f74: 687b ldr r3, [r7, #4] 80c6f76: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c6f7a: 681b ldr r3, [r3, #0] 80c6f7c: 687a ldr r2, [r7, #4] 80c6f7e: 7c12 ldrb r2, [r2, #16] 80c6f80: f107 0108 add.w r1, r7, #8 80c6f84: 4610 mov r0, r2 80c6f86: 4798 blx r3 80c6f88: 60f8 str r0, [r7, #12] break; 80c6f8a: e112 b.n 80c71b2 case USB_DESC_TYPE_CONFIGURATION: if (pdev->dev_speed == USBD_SPEED_HIGH) 80c6f8c: 687b ldr r3, [r7, #4] 80c6f8e: 7c1b ldrb r3, [r3, #16] 80c6f90: 2b00 cmp r3, #0 80c6f92: d10d bne.n 80c6fb0 { pbuf = pdev->pClass->GetHSConfigDescriptor(&len); 80c6f94: 687b ldr r3, [r7, #4] 80c6f96: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c6f9a: 6a9b ldr r3, [r3, #40] ; 0x28 80c6f9c: f107 0208 add.w r2, r7, #8 80c6fa0: 4610 mov r0, r2 80c6fa2: 4798 blx r3 80c6fa4: 60f8 str r0, [r7, #12] pbuf[1] = USB_DESC_TYPE_CONFIGURATION; 80c6fa6: 68fb ldr r3, [r7, #12] 80c6fa8: 3301 adds r3, #1 80c6faa: 2202 movs r2, #2 80c6fac: 701a strb r2, [r3, #0] else { pbuf = pdev->pClass->GetFSConfigDescriptor(&len); pbuf[1] = USB_DESC_TYPE_CONFIGURATION; } break; 80c6fae: e100 b.n 80c71b2 pbuf = pdev->pClass->GetFSConfigDescriptor(&len); 80c6fb0: 687b ldr r3, [r7, #4] 80c6fb2: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c6fb6: 6adb ldr r3, [r3, #44] ; 0x2c 80c6fb8: f107 0208 add.w r2, r7, #8 80c6fbc: 4610 mov r0, r2 80c6fbe: 4798 blx r3 80c6fc0: 60f8 str r0, [r7, #12] pbuf[1] = USB_DESC_TYPE_CONFIGURATION; 80c6fc2: 68fb ldr r3, [r7, #12] 80c6fc4: 3301 adds r3, #1 80c6fc6: 2202 movs r2, #2 80c6fc8: 701a strb r2, [r3, #0] break; 80c6fca: e0f2 b.n 80c71b2 case USB_DESC_TYPE_STRING: switch ((uint8_t)(req->wValue)) 80c6fcc: 683b ldr r3, [r7, #0] 80c6fce: 885b ldrh r3, [r3, #2] 80c6fd0: b2db uxtb r3, r3 80c6fd2: 2b05 cmp r3, #5 80c6fd4: f200 80ac bhi.w 80c7130 80c6fd8: a201 add r2, pc, #4 ; (adr r2, 80c6fe0 ) 80c6fda: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c6fde: bf00 nop 80c6fe0: 080c6ff9 .word 0x080c6ff9 80c6fe4: 080c702d .word 0x080c702d 80c6fe8: 080c7061 .word 0x080c7061 80c6fec: 080c7095 .word 0x080c7095 80c6ff0: 080c70c9 .word 0x080c70c9 80c6ff4: 080c70fd .word 0x080c70fd { case USBD_IDX_LANGID_STR: if (pdev->pDesc->GetLangIDStrDescriptor != NULL) 80c6ff8: 687b ldr r3, [r7, #4] 80c6ffa: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c6ffe: 685b ldr r3, [r3, #4] 80c7000: 2b00 cmp r3, #0 80c7002: d00b beq.n 80c701c { pbuf = pdev->pDesc->GetLangIDStrDescriptor(pdev->dev_speed, &len); 80c7004: 687b ldr r3, [r7, #4] 80c7006: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c700a: 685b ldr r3, [r3, #4] 80c700c: 687a ldr r2, [r7, #4] 80c700e: 7c12 ldrb r2, [r2, #16] 80c7010: f107 0108 add.w r1, r7, #8 80c7014: 4610 mov r0, r2 80c7016: 4798 blx r3 80c7018: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c701a: e091 b.n 80c7140 USBD_CtlError(pdev, req); 80c701c: 6839 ldr r1, [r7, #0] 80c701e: 6878 ldr r0, [r7, #4] 80c7020: f000 faaa bl 80c7578 err++; 80c7024: 7afb ldrb r3, [r7, #11] 80c7026: 3301 adds r3, #1 80c7028: 72fb strb r3, [r7, #11] break; 80c702a: e089 b.n 80c7140 case USBD_IDX_MFC_STR: if (pdev->pDesc->GetManufacturerStrDescriptor != NULL) 80c702c: 687b ldr r3, [r7, #4] 80c702e: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c7032: 689b ldr r3, [r3, #8] 80c7034: 2b00 cmp r3, #0 80c7036: d00b beq.n 80c7050 { pbuf = pdev->pDesc->GetManufacturerStrDescriptor(pdev->dev_speed, &len); 80c7038: 687b ldr r3, [r7, #4] 80c703a: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c703e: 689b ldr r3, [r3, #8] 80c7040: 687a ldr r2, [r7, #4] 80c7042: 7c12 ldrb r2, [r2, #16] 80c7044: f107 0108 add.w r1, r7, #8 80c7048: 4610 mov r0, r2 80c704a: 4798 blx r3 80c704c: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c704e: e077 b.n 80c7140 USBD_CtlError(pdev, req); 80c7050: 6839 ldr r1, [r7, #0] 80c7052: 6878 ldr r0, [r7, #4] 80c7054: f000 fa90 bl 80c7578 err++; 80c7058: 7afb ldrb r3, [r7, #11] 80c705a: 3301 adds r3, #1 80c705c: 72fb strb r3, [r7, #11] break; 80c705e: e06f b.n 80c7140 case USBD_IDX_PRODUCT_STR: if (pdev->pDesc->GetProductStrDescriptor != NULL) 80c7060: 687b ldr r3, [r7, #4] 80c7062: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c7066: 68db ldr r3, [r3, #12] 80c7068: 2b00 cmp r3, #0 80c706a: d00b beq.n 80c7084 { pbuf = pdev->pDesc->GetProductStrDescriptor(pdev->dev_speed, &len); 80c706c: 687b ldr r3, [r7, #4] 80c706e: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c7072: 68db ldr r3, [r3, #12] 80c7074: 687a ldr r2, [r7, #4] 80c7076: 7c12 ldrb r2, [r2, #16] 80c7078: f107 0108 add.w r1, r7, #8 80c707c: 4610 mov r0, r2 80c707e: 4798 blx r3 80c7080: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c7082: e05d b.n 80c7140 USBD_CtlError(pdev, req); 80c7084: 6839 ldr r1, [r7, #0] 80c7086: 6878 ldr r0, [r7, #4] 80c7088: f000 fa76 bl 80c7578 err++; 80c708c: 7afb ldrb r3, [r7, #11] 80c708e: 3301 adds r3, #1 80c7090: 72fb strb r3, [r7, #11] break; 80c7092: e055 b.n 80c7140 case USBD_IDX_SERIAL_STR: if (pdev->pDesc->GetSerialStrDescriptor != NULL) 80c7094: 687b ldr r3, [r7, #4] 80c7096: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c709a: 691b ldr r3, [r3, #16] 80c709c: 2b00 cmp r3, #0 80c709e: d00b beq.n 80c70b8 { pbuf = pdev->pDesc->GetSerialStrDescriptor(pdev->dev_speed, &len); 80c70a0: 687b ldr r3, [r7, #4] 80c70a2: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c70a6: 691b ldr r3, [r3, #16] 80c70a8: 687a ldr r2, [r7, #4] 80c70aa: 7c12 ldrb r2, [r2, #16] 80c70ac: f107 0108 add.w r1, r7, #8 80c70b0: 4610 mov r0, r2 80c70b2: 4798 blx r3 80c70b4: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c70b6: e043 b.n 80c7140 USBD_CtlError(pdev, req); 80c70b8: 6839 ldr r1, [r7, #0] 80c70ba: 6878 ldr r0, [r7, #4] 80c70bc: f000 fa5c bl 80c7578 err++; 80c70c0: 7afb ldrb r3, [r7, #11] 80c70c2: 3301 adds r3, #1 80c70c4: 72fb strb r3, [r7, #11] break; 80c70c6: e03b b.n 80c7140 case USBD_IDX_CONFIG_STR: if (pdev->pDesc->GetConfigurationStrDescriptor != NULL) 80c70c8: 687b ldr r3, [r7, #4] 80c70ca: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c70ce: 695b ldr r3, [r3, #20] 80c70d0: 2b00 cmp r3, #0 80c70d2: d00b beq.n 80c70ec { pbuf = pdev->pDesc->GetConfigurationStrDescriptor(pdev->dev_speed, &len); 80c70d4: 687b ldr r3, [r7, #4] 80c70d6: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c70da: 695b ldr r3, [r3, #20] 80c70dc: 687a ldr r2, [r7, #4] 80c70de: 7c12 ldrb r2, [r2, #16] 80c70e0: f107 0108 add.w r1, r7, #8 80c70e4: 4610 mov r0, r2 80c70e6: 4798 blx r3 80c70e8: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c70ea: e029 b.n 80c7140 USBD_CtlError(pdev, req); 80c70ec: 6839 ldr r1, [r7, #0] 80c70ee: 6878 ldr r0, [r7, #4] 80c70f0: f000 fa42 bl 80c7578 err++; 80c70f4: 7afb ldrb r3, [r7, #11] 80c70f6: 3301 adds r3, #1 80c70f8: 72fb strb r3, [r7, #11] break; 80c70fa: e021 b.n 80c7140 case USBD_IDX_INTERFACE_STR: if (pdev->pDesc->GetInterfaceStrDescriptor != NULL) 80c70fc: 687b ldr r3, [r7, #4] 80c70fe: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c7102: 699b ldr r3, [r3, #24] 80c7104: 2b00 cmp r3, #0 80c7106: d00b beq.n 80c7120 { pbuf = pdev->pDesc->GetInterfaceStrDescriptor(pdev->dev_speed, &len); 80c7108: 687b ldr r3, [r7, #4] 80c710a: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c710e: 699b ldr r3, [r3, #24] 80c7110: 687a ldr r2, [r7, #4] 80c7112: 7c12 ldrb r2, [r2, #16] 80c7114: f107 0108 add.w r1, r7, #8 80c7118: 4610 mov r0, r2 80c711a: 4798 blx r3 80c711c: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c711e: e00f b.n 80c7140 USBD_CtlError(pdev, req); 80c7120: 6839 ldr r1, [r7, #0] 80c7122: 6878 ldr r0, [r7, #4] 80c7124: f000 fa28 bl 80c7578 err++; 80c7128: 7afb ldrb r3, [r7, #11] 80c712a: 3301 adds r3, #1 80c712c: 72fb strb r3, [r7, #11] break; 80c712e: e007 b.n 80c7140 { USBD_CtlError(pdev, req); err++; } #else USBD_CtlError(pdev, req); 80c7130: 6839 ldr r1, [r7, #0] 80c7132: 6878 ldr r0, [r7, #4] 80c7134: f000 fa20 bl 80c7578 err++; 80c7138: 7afb ldrb r3, [r7, #11] 80c713a: 3301 adds r3, #1 80c713c: 72fb strb r3, [r7, #11] #endif break; 80c713e: bf00 nop } break; 80c7140: e037 b.n 80c71b2 case USB_DESC_TYPE_DEVICE_QUALIFIER: if (pdev->dev_speed == USBD_SPEED_HIGH) 80c7142: 687b ldr r3, [r7, #4] 80c7144: 7c1b ldrb r3, [r3, #16] 80c7146: 2b00 cmp r3, #0 80c7148: d109 bne.n 80c715e { pbuf = pdev->pClass->GetDeviceQualifierDescriptor(&len); 80c714a: 687b ldr r3, [r7, #4] 80c714c: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c7150: 6b5b ldr r3, [r3, #52] ; 0x34 80c7152: f107 0208 add.w r2, r7, #8 80c7156: 4610 mov r0, r2 80c7158: 4798 blx r3 80c715a: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c715c: e029 b.n 80c71b2 USBD_CtlError(pdev, req); 80c715e: 6839 ldr r1, [r7, #0] 80c7160: 6878 ldr r0, [r7, #4] 80c7162: f000 fa09 bl 80c7578 err++; 80c7166: 7afb ldrb r3, [r7, #11] 80c7168: 3301 adds r3, #1 80c716a: 72fb strb r3, [r7, #11] break; 80c716c: e021 b.n 80c71b2 case USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION: if (pdev->dev_speed == USBD_SPEED_HIGH) 80c716e: 687b ldr r3, [r7, #4] 80c7170: 7c1b ldrb r3, [r3, #16] 80c7172: 2b00 cmp r3, #0 80c7174: d10d bne.n 80c7192 { pbuf = pdev->pClass->GetOtherSpeedConfigDescriptor(&len); 80c7176: 687b ldr r3, [r7, #4] 80c7178: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c717c: 6b1b ldr r3, [r3, #48] ; 0x30 80c717e: f107 0208 add.w r2, r7, #8 80c7182: 4610 mov r0, r2 80c7184: 4798 blx r3 80c7186: 60f8 str r0, [r7, #12] pbuf[1] = USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION; 80c7188: 68fb ldr r3, [r7, #12] 80c718a: 3301 adds r3, #1 80c718c: 2207 movs r2, #7 80c718e: 701a strb r2, [r3, #0] else { USBD_CtlError(pdev, req); err++; } break; 80c7190: e00f b.n 80c71b2 USBD_CtlError(pdev, req); 80c7192: 6839 ldr r1, [r7, #0] 80c7194: 6878 ldr r0, [r7, #4] 80c7196: f000 f9ef bl 80c7578 err++; 80c719a: 7afb ldrb r3, [r7, #11] 80c719c: 3301 adds r3, #1 80c719e: 72fb strb r3, [r7, #11] break; 80c71a0: e007 b.n 80c71b2 default: USBD_CtlError(pdev, req); 80c71a2: 6839 ldr r1, [r7, #0] 80c71a4: 6878 ldr r0, [r7, #4] 80c71a6: f000 f9e7 bl 80c7578 err++; 80c71aa: 7afb ldrb r3, [r7, #11] 80c71ac: 3301 adds r3, #1 80c71ae: 72fb strb r3, [r7, #11] break; 80c71b0: bf00 nop } if (err != 0U) 80c71b2: 7afb ldrb r3, [r7, #11] 80c71b4: 2b00 cmp r3, #0 80c71b6: d11e bne.n 80c71f6 { return; } else { if (req->wLength != 0U) 80c71b8: 683b ldr r3, [r7, #0] 80c71ba: 88db ldrh r3, [r3, #6] 80c71bc: 2b00 cmp r3, #0 80c71be: d016 beq.n 80c71ee { if (len != 0U) 80c71c0: 893b ldrh r3, [r7, #8] 80c71c2: 2b00 cmp r3, #0 80c71c4: d00e beq.n 80c71e4 { len = MIN(len, req->wLength); 80c71c6: 683b ldr r3, [r7, #0] 80c71c8: 88da ldrh r2, [r3, #6] 80c71ca: 893b ldrh r3, [r7, #8] 80c71cc: 4293 cmp r3, r2 80c71ce: bf28 it cs 80c71d0: 4613 movcs r3, r2 80c71d2: b29b uxth r3, r3 80c71d4: 813b strh r3, [r7, #8] (void)USBD_CtlSendData(pdev, pbuf, len); 80c71d6: 893b ldrh r3, [r7, #8] 80c71d8: 461a mov r2, r3 80c71da: 68f9 ldr r1, [r7, #12] 80c71dc: 6878 ldr r0, [r7, #4] 80c71de: f000 fa3c bl 80c765a 80c71e2: e009 b.n 80c71f8 } else { USBD_CtlError(pdev, req); 80c71e4: 6839 ldr r1, [r7, #0] 80c71e6: 6878 ldr r0, [r7, #4] 80c71e8: f000 f9c6 bl 80c7578 80c71ec: e004 b.n 80c71f8 } } else { (void)USBD_CtlSendStatus(pdev); 80c71ee: 6878 ldr r0, [r7, #4] 80c71f0: f000 fa70 bl 80c76d4 80c71f4: e000 b.n 80c71f8 return; 80c71f6: bf00 nop } } } 80c71f8: 3710 adds r7, #16 80c71fa: 46bd mov sp, r7 80c71fc: bd80 pop {r7, pc} 80c71fe: bf00 nop 080c7200 : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_SetAddress(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c7200: b580 push {r7, lr} 80c7202: b084 sub sp, #16 80c7204: af00 add r7, sp, #0 80c7206: 6078 str r0, [r7, #4] 80c7208: 6039 str r1, [r7, #0] uint8_t dev_addr; if ((req->wIndex == 0U) && (req->wLength == 0U) && (req->wValue < 128U)) 80c720a: 683b ldr r3, [r7, #0] 80c720c: 889b ldrh r3, [r3, #4] 80c720e: 2b00 cmp r3, #0 80c7210: d130 bne.n 80c7274 80c7212: 683b ldr r3, [r7, #0] 80c7214: 88db ldrh r3, [r3, #6] 80c7216: 2b00 cmp r3, #0 80c7218: d12c bne.n 80c7274 80c721a: 683b ldr r3, [r7, #0] 80c721c: 885b ldrh r3, [r3, #2] 80c721e: 2b7f cmp r3, #127 ; 0x7f 80c7220: d828 bhi.n 80c7274 { dev_addr = (uint8_t)(req->wValue) & 0x7FU; 80c7222: 683b ldr r3, [r7, #0] 80c7224: 885b ldrh r3, [r3, #2] 80c7226: b2db uxtb r3, r3 80c7228: f003 037f and.w r3, r3, #127 ; 0x7f 80c722c: 73fb strb r3, [r7, #15] if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c722e: 687b ldr r3, [r7, #4] 80c7230: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c7234: 2b03 cmp r3, #3 80c7236: d104 bne.n 80c7242 { USBD_CtlError(pdev, req); 80c7238: 6839 ldr r1, [r7, #0] 80c723a: 6878 ldr r0, [r7, #4] 80c723c: f000 f99c bl 80c7578 if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c7240: e01c b.n 80c727c } else { pdev->dev_address = dev_addr; 80c7242: 687b ldr r3, [r7, #4] 80c7244: 7bfa ldrb r2, [r7, #15] 80c7246: f883 229e strb.w r2, [r3, #670] ; 0x29e (void)USBD_LL_SetUSBAddress(pdev, dev_addr); 80c724a: 7bfb ldrb r3, [r7, #15] 80c724c: 4619 mov r1, r3 80c724e: 6878 ldr r0, [r7, #4] 80c7250: f007 fbe3 bl 80cea1a (void)USBD_CtlSendStatus(pdev); 80c7254: 6878 ldr r0, [r7, #4] 80c7256: f000 fa3d bl 80c76d4 if (dev_addr != 0U) 80c725a: 7bfb ldrb r3, [r7, #15] 80c725c: 2b00 cmp r3, #0 80c725e: d004 beq.n 80c726a { pdev->dev_state = USBD_STATE_ADDRESSED; 80c7260: 687b ldr r3, [r7, #4] 80c7262: 2202 movs r2, #2 80c7264: f883 229c strb.w r2, [r3, #668] ; 0x29c if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c7268: e008 b.n 80c727c } else { pdev->dev_state = USBD_STATE_DEFAULT; 80c726a: 687b ldr r3, [r7, #4] 80c726c: 2201 movs r2, #1 80c726e: f883 229c strb.w r2, [r3, #668] ; 0x29c if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c7272: e003 b.n 80c727c } } } else { USBD_CtlError(pdev, req); 80c7274: 6839 ldr r1, [r7, #0] 80c7276: 6878 ldr r0, [r7, #4] 80c7278: f000 f97e bl 80c7578 } } 80c727c: bf00 nop 80c727e: 3710 adds r7, #16 80c7280: 46bd mov sp, r7 80c7282: bd80 pop {r7, pc} 080c7284 : * @param pdev: device instance * @param req: usb request * @retval status */ static USBD_StatusTypeDef USBD_SetConfig(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c7284: b580 push {r7, lr} 80c7286: b084 sub sp, #16 80c7288: af00 add r7, sp, #0 80c728a: 6078 str r0, [r7, #4] 80c728c: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret = USBD_OK; 80c728e: 2300 movs r3, #0 80c7290: 73fb strb r3, [r7, #15] static uint8_t cfgidx; cfgidx = (uint8_t)(req->wValue); 80c7292: 683b ldr r3, [r7, #0] 80c7294: 885b ldrh r3, [r3, #2] 80c7296: b2da uxtb r2, r3 80c7298: 4b4b ldr r3, [pc, #300] ; (80c73c8 ) 80c729a: 701a strb r2, [r3, #0] if (cfgidx > USBD_MAX_NUM_CONFIGURATION) 80c729c: 4b4a ldr r3, [pc, #296] ; (80c73c8 ) 80c729e: 781b ldrb r3, [r3, #0] 80c72a0: 2b01 cmp r3, #1 80c72a2: d905 bls.n 80c72b0 { USBD_CtlError(pdev, req); 80c72a4: 6839 ldr r1, [r7, #0] 80c72a6: 6878 ldr r0, [r7, #4] 80c72a8: f000 f966 bl 80c7578 return USBD_FAIL; 80c72ac: 2303 movs r3, #3 80c72ae: e087 b.n 80c73c0 } switch (pdev->dev_state) 80c72b0: 687b ldr r3, [r7, #4] 80c72b2: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c72b6: 2b02 cmp r3, #2 80c72b8: d002 beq.n 80c72c0 80c72ba: 2b03 cmp r3, #3 80c72bc: d025 beq.n 80c730a 80c72be: e071 b.n 80c73a4 { case USBD_STATE_ADDRESSED: if (cfgidx != 0U) 80c72c0: 4b41 ldr r3, [pc, #260] ; (80c73c8 ) 80c72c2: 781b ldrb r3, [r3, #0] 80c72c4: 2b00 cmp r3, #0 80c72c6: d01c beq.n 80c7302 { pdev->dev_config = cfgidx; 80c72c8: 4b3f ldr r3, [pc, #252] ; (80c73c8 ) 80c72ca: 781b ldrb r3, [r3, #0] 80c72cc: 461a mov r2, r3 80c72ce: 687b ldr r3, [r7, #4] 80c72d0: 605a str r2, [r3, #4] ret = USBD_SetClassConfig(pdev, cfgidx); 80c72d2: 4b3d ldr r3, [pc, #244] ; (80c73c8 ) 80c72d4: 781b ldrb r3, [r3, #0] 80c72d6: 4619 mov r1, r3 80c72d8: 6878 ldr r0, [r7, #4] 80c72da: f7ff f97e bl 80c65da 80c72de: 4603 mov r3, r0 80c72e0: 73fb strb r3, [r7, #15] if (ret != USBD_OK) 80c72e2: 7bfb ldrb r3, [r7, #15] 80c72e4: 2b00 cmp r3, #0 80c72e6: d004 beq.n 80c72f2 { USBD_CtlError(pdev, req); 80c72e8: 6839 ldr r1, [r7, #0] 80c72ea: 6878 ldr r0, [r7, #4] 80c72ec: f000 f944 bl 80c7578 } else { (void)USBD_CtlSendStatus(pdev); } break; 80c72f0: e065 b.n 80c73be (void)USBD_CtlSendStatus(pdev); 80c72f2: 6878 ldr r0, [r7, #4] 80c72f4: f000 f9ee bl 80c76d4 pdev->dev_state = USBD_STATE_CONFIGURED; 80c72f8: 687b ldr r3, [r7, #4] 80c72fa: 2203 movs r2, #3 80c72fc: f883 229c strb.w r2, [r3, #668] ; 0x29c break; 80c7300: e05d b.n 80c73be (void)USBD_CtlSendStatus(pdev); 80c7302: 6878 ldr r0, [r7, #4] 80c7304: f000 f9e6 bl 80c76d4 break; 80c7308: e059 b.n 80c73be case USBD_STATE_CONFIGURED: if (cfgidx == 0U) 80c730a: 4b2f ldr r3, [pc, #188] ; (80c73c8 ) 80c730c: 781b ldrb r3, [r3, #0] 80c730e: 2b00 cmp r3, #0 80c7310: d112 bne.n 80c7338 { pdev->dev_state = USBD_STATE_ADDRESSED; 80c7312: 687b ldr r3, [r7, #4] 80c7314: 2202 movs r2, #2 80c7316: f883 229c strb.w r2, [r3, #668] ; 0x29c pdev->dev_config = cfgidx; 80c731a: 4b2b ldr r3, [pc, #172] ; (80c73c8 ) 80c731c: 781b ldrb r3, [r3, #0] 80c731e: 461a mov r2, r3 80c7320: 687b ldr r3, [r7, #4] 80c7322: 605a str r2, [r3, #4] (void)USBD_ClrClassConfig(pdev, cfgidx); 80c7324: 4b28 ldr r3, [pc, #160] ; (80c73c8 ) 80c7326: 781b ldrb r3, [r3, #0] 80c7328: 4619 mov r1, r3 80c732a: 6878 ldr r0, [r7, #4] 80c732c: f7ff f971 bl 80c6612 (void)USBD_CtlSendStatus(pdev); 80c7330: 6878 ldr r0, [r7, #4] 80c7332: f000 f9cf bl 80c76d4 } else { (void)USBD_CtlSendStatus(pdev); } break; 80c7336: e042 b.n 80c73be else if (cfgidx != pdev->dev_config) 80c7338: 4b23 ldr r3, [pc, #140] ; (80c73c8 ) 80c733a: 781b ldrb r3, [r3, #0] 80c733c: 461a mov r2, r3 80c733e: 687b ldr r3, [r7, #4] 80c7340: 685b ldr r3, [r3, #4] 80c7342: 429a cmp r2, r3 80c7344: d02a beq.n 80c739c (void)USBD_ClrClassConfig(pdev, (uint8_t)pdev->dev_config); 80c7346: 687b ldr r3, [r7, #4] 80c7348: 685b ldr r3, [r3, #4] 80c734a: b2db uxtb r3, r3 80c734c: 4619 mov r1, r3 80c734e: 6878 ldr r0, [r7, #4] 80c7350: f7ff f95f bl 80c6612 pdev->dev_config = cfgidx; 80c7354: 4b1c ldr r3, [pc, #112] ; (80c73c8 ) 80c7356: 781b ldrb r3, [r3, #0] 80c7358: 461a mov r2, r3 80c735a: 687b ldr r3, [r7, #4] 80c735c: 605a str r2, [r3, #4] ret = USBD_SetClassConfig(pdev, cfgidx); 80c735e: 4b1a ldr r3, [pc, #104] ; (80c73c8 ) 80c7360: 781b ldrb r3, [r3, #0] 80c7362: 4619 mov r1, r3 80c7364: 6878 ldr r0, [r7, #4] 80c7366: f7ff f938 bl 80c65da 80c736a: 4603 mov r3, r0 80c736c: 73fb strb r3, [r7, #15] if (ret != USBD_OK) 80c736e: 7bfb ldrb r3, [r7, #15] 80c7370: 2b00 cmp r3, #0 80c7372: d00f beq.n 80c7394 USBD_CtlError(pdev, req); 80c7374: 6839 ldr r1, [r7, #0] 80c7376: 6878 ldr r0, [r7, #4] 80c7378: f000 f8fe bl 80c7578 (void)USBD_ClrClassConfig(pdev, (uint8_t)pdev->dev_config); 80c737c: 687b ldr r3, [r7, #4] 80c737e: 685b ldr r3, [r3, #4] 80c7380: b2db uxtb r3, r3 80c7382: 4619 mov r1, r3 80c7384: 6878 ldr r0, [r7, #4] 80c7386: f7ff f944 bl 80c6612 pdev->dev_state = USBD_STATE_ADDRESSED; 80c738a: 687b ldr r3, [r7, #4] 80c738c: 2202 movs r2, #2 80c738e: f883 229c strb.w r2, [r3, #668] ; 0x29c break; 80c7392: e014 b.n 80c73be (void)USBD_CtlSendStatus(pdev); 80c7394: 6878 ldr r0, [r7, #4] 80c7396: f000 f99d bl 80c76d4 break; 80c739a: e010 b.n 80c73be (void)USBD_CtlSendStatus(pdev); 80c739c: 6878 ldr r0, [r7, #4] 80c739e: f000 f999 bl 80c76d4 break; 80c73a2: e00c b.n 80c73be default: USBD_CtlError(pdev, req); 80c73a4: 6839 ldr r1, [r7, #0] 80c73a6: 6878 ldr r0, [r7, #4] 80c73a8: f000 f8e6 bl 80c7578 (void)USBD_ClrClassConfig(pdev, cfgidx); 80c73ac: 4b06 ldr r3, [pc, #24] ; (80c73c8 ) 80c73ae: 781b ldrb r3, [r3, #0] 80c73b0: 4619 mov r1, r3 80c73b2: 6878 ldr r0, [r7, #4] 80c73b4: f7ff f92d bl 80c6612 ret = USBD_FAIL; 80c73b8: 2303 movs r3, #3 80c73ba: 73fb strb r3, [r7, #15] break; 80c73bc: bf00 nop } return ret; 80c73be: 7bfb ldrb r3, [r7, #15] } 80c73c0: 4618 mov r0, r3 80c73c2: 3710 adds r7, #16 80c73c4: 46bd mov sp, r7 80c73c6: bd80 pop {r7, pc} 80c73c8: 200216f8 .word 0x200216f8 080c73cc : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_GetConfig(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c73cc: b580 push {r7, lr} 80c73ce: b082 sub sp, #8 80c73d0: af00 add r7, sp, #0 80c73d2: 6078 str r0, [r7, #4] 80c73d4: 6039 str r1, [r7, #0] if (req->wLength != 1U) 80c73d6: 683b ldr r3, [r7, #0] 80c73d8: 88db ldrh r3, [r3, #6] 80c73da: 2b01 cmp r3, #1 80c73dc: d004 beq.n 80c73e8 { USBD_CtlError(pdev, req); 80c73de: 6839 ldr r1, [r7, #0] 80c73e0: 6878 ldr r0, [r7, #4] 80c73e2: f000 f8c9 bl 80c7578 default: USBD_CtlError(pdev, req); break; } } } 80c73e6: e021 b.n 80c742c switch (pdev->dev_state) 80c73e8: 687b ldr r3, [r7, #4] 80c73ea: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c73ee: 2b01 cmp r3, #1 80c73f0: db17 blt.n 80c7422 80c73f2: 2b02 cmp r3, #2 80c73f4: dd02 ble.n 80c73fc 80c73f6: 2b03 cmp r3, #3 80c73f8: d00b beq.n 80c7412 80c73fa: e012 b.n 80c7422 pdev->dev_default_config = 0U; 80c73fc: 687b ldr r3, [r7, #4] 80c73fe: 2200 movs r2, #0 80c7400: 609a str r2, [r3, #8] (void)USBD_CtlSendData(pdev, (uint8_t *)&pdev->dev_default_config, 1U); 80c7402: 687b ldr r3, [r7, #4] 80c7404: 3308 adds r3, #8 80c7406: 2201 movs r2, #1 80c7408: 4619 mov r1, r3 80c740a: 6878 ldr r0, [r7, #4] 80c740c: f000 f925 bl 80c765a break; 80c7410: e00c b.n 80c742c (void)USBD_CtlSendData(pdev, (uint8_t *)&pdev->dev_config, 1U); 80c7412: 687b ldr r3, [r7, #4] 80c7414: 3304 adds r3, #4 80c7416: 2201 movs r2, #1 80c7418: 4619 mov r1, r3 80c741a: 6878 ldr r0, [r7, #4] 80c741c: f000 f91d bl 80c765a break; 80c7420: e004 b.n 80c742c USBD_CtlError(pdev, req); 80c7422: 6839 ldr r1, [r7, #0] 80c7424: 6878 ldr r0, [r7, #4] 80c7426: f000 f8a7 bl 80c7578 break; 80c742a: bf00 nop } 80c742c: bf00 nop 80c742e: 3708 adds r7, #8 80c7430: 46bd mov sp, r7 80c7432: bd80 pop {r7, pc} 080c7434 : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_GetStatus(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c7434: b580 push {r7, lr} 80c7436: b082 sub sp, #8 80c7438: af00 add r7, sp, #0 80c743a: 6078 str r0, [r7, #4] 80c743c: 6039 str r1, [r7, #0] switch (pdev->dev_state) 80c743e: 687b ldr r3, [r7, #4] 80c7440: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c7444: 3b01 subs r3, #1 80c7446: 2b02 cmp r3, #2 80c7448: d81e bhi.n 80c7488 { case USBD_STATE_DEFAULT: case USBD_STATE_ADDRESSED: case USBD_STATE_CONFIGURED: if (req->wLength != 0x2U) 80c744a: 683b ldr r3, [r7, #0] 80c744c: 88db ldrh r3, [r3, #6] 80c744e: 2b02 cmp r3, #2 80c7450: d004 beq.n 80c745c { USBD_CtlError(pdev, req); 80c7452: 6839 ldr r1, [r7, #0] 80c7454: 6878 ldr r0, [r7, #4] 80c7456: f000 f88f bl 80c7578 break; 80c745a: e01a b.n 80c7492 } #if (USBD_SELF_POWERED == 1U) pdev->dev_config_status = USB_CONFIG_SELF_POWERED; 80c745c: 687b ldr r3, [r7, #4] 80c745e: 2201 movs r2, #1 80c7460: 60da str r2, [r3, #12] #else pdev->dev_config_status = 0U; #endif if (pdev->dev_remote_wakeup != 0U) 80c7462: 687b ldr r3, [r7, #4] 80c7464: f8d3 32a4 ldr.w r3, [r3, #676] ; 0x2a4 80c7468: 2b00 cmp r3, #0 80c746a: d005 beq.n 80c7478 { pdev->dev_config_status |= USB_CONFIG_REMOTE_WAKEUP; 80c746c: 687b ldr r3, [r7, #4] 80c746e: 68db ldr r3, [r3, #12] 80c7470: f043 0202 orr.w r2, r3, #2 80c7474: 687b ldr r3, [r7, #4] 80c7476: 60da str r2, [r3, #12] } (void)USBD_CtlSendData(pdev, (uint8_t *)&pdev->dev_config_status, 2U); 80c7478: 687b ldr r3, [r7, #4] 80c747a: 330c adds r3, #12 80c747c: 2202 movs r2, #2 80c747e: 4619 mov r1, r3 80c7480: 6878 ldr r0, [r7, #4] 80c7482: f000 f8ea bl 80c765a break; 80c7486: e004 b.n 80c7492 default: USBD_CtlError(pdev, req); 80c7488: 6839 ldr r1, [r7, #0] 80c748a: 6878 ldr r0, [r7, #4] 80c748c: f000 f874 bl 80c7578 break; 80c7490: bf00 nop } } 80c7492: bf00 nop 80c7494: 3708 adds r7, #8 80c7496: 46bd mov sp, r7 80c7498: bd80 pop {r7, pc} 080c749a : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_SetFeature(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c749a: b580 push {r7, lr} 80c749c: b082 sub sp, #8 80c749e: af00 add r7, sp, #0 80c74a0: 6078 str r0, [r7, #4] 80c74a2: 6039 str r1, [r7, #0] if (req->wValue == USB_FEATURE_REMOTE_WAKEUP) 80c74a4: 683b ldr r3, [r7, #0] 80c74a6: 885b ldrh r3, [r3, #2] 80c74a8: 2b01 cmp r3, #1 80c74aa: d106 bne.n 80c74ba { pdev->dev_remote_wakeup = 1U; 80c74ac: 687b ldr r3, [r7, #4] 80c74ae: 2201 movs r2, #1 80c74b0: f8c3 22a4 str.w r2, [r3, #676] ; 0x2a4 (void)USBD_CtlSendStatus(pdev); 80c74b4: 6878 ldr r0, [r7, #4] 80c74b6: f000 f90d bl 80c76d4 } } 80c74ba: bf00 nop 80c74bc: 3708 adds r7, #8 80c74be: 46bd mov sp, r7 80c74c0: bd80 pop {r7, pc} 080c74c2 : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_ClrFeature(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c74c2: b580 push {r7, lr} 80c74c4: b082 sub sp, #8 80c74c6: af00 add r7, sp, #0 80c74c8: 6078 str r0, [r7, #4] 80c74ca: 6039 str r1, [r7, #0] switch (pdev->dev_state) 80c74cc: 687b ldr r3, [r7, #4] 80c74ce: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c74d2: 3b01 subs r3, #1 80c74d4: 2b02 cmp r3, #2 80c74d6: d80b bhi.n 80c74f0 { case USBD_STATE_DEFAULT: case USBD_STATE_ADDRESSED: case USBD_STATE_CONFIGURED: if (req->wValue == USB_FEATURE_REMOTE_WAKEUP) 80c74d8: 683b ldr r3, [r7, #0] 80c74da: 885b ldrh r3, [r3, #2] 80c74dc: 2b01 cmp r3, #1 80c74de: d10c bne.n 80c74fa { pdev->dev_remote_wakeup = 0U; 80c74e0: 687b ldr r3, [r7, #4] 80c74e2: 2200 movs r2, #0 80c74e4: f8c3 22a4 str.w r2, [r3, #676] ; 0x2a4 (void)USBD_CtlSendStatus(pdev); 80c74e8: 6878 ldr r0, [r7, #4] 80c74ea: f000 f8f3 bl 80c76d4 } break; 80c74ee: e004 b.n 80c74fa default: USBD_CtlError(pdev, req); 80c74f0: 6839 ldr r1, [r7, #0] 80c74f2: 6878 ldr r0, [r7, #4] 80c74f4: f000 f840 bl 80c7578 break; 80c74f8: e000 b.n 80c74fc break; 80c74fa: bf00 nop } } 80c74fc: bf00 nop 80c74fe: 3708 adds r7, #8 80c7500: 46bd mov sp, r7 80c7502: bd80 pop {r7, pc} 080c7504 : * @param req: usb request * @retval None */ void USBD_ParseSetupRequest(USBD_SetupReqTypedef *req, uint8_t *pdata) { 80c7504: b580 push {r7, lr} 80c7506: b084 sub sp, #16 80c7508: af00 add r7, sp, #0 80c750a: 6078 str r0, [r7, #4] 80c750c: 6039 str r1, [r7, #0] uint8_t *pbuff = pdata; 80c750e: 683b ldr r3, [r7, #0] 80c7510: 60fb str r3, [r7, #12] req->bmRequest = *(uint8_t *)(pbuff); 80c7512: 68fb ldr r3, [r7, #12] 80c7514: 781a ldrb r2, [r3, #0] 80c7516: 687b ldr r3, [r7, #4] 80c7518: 701a strb r2, [r3, #0] pbuff++; 80c751a: 68fb ldr r3, [r7, #12] 80c751c: 3301 adds r3, #1 80c751e: 60fb str r3, [r7, #12] req->bRequest = *(uint8_t *)(pbuff); 80c7520: 68fb ldr r3, [r7, #12] 80c7522: 781a ldrb r2, [r3, #0] 80c7524: 687b ldr r3, [r7, #4] 80c7526: 705a strb r2, [r3, #1] pbuff++; 80c7528: 68fb ldr r3, [r7, #12] 80c752a: 3301 adds r3, #1 80c752c: 60fb str r3, [r7, #12] req->wValue = SWAPBYTE(pbuff); 80c752e: 68f8 ldr r0, [r7, #12] 80c7530: f7ff faaa bl 80c6a88 80c7534: 4603 mov r3, r0 80c7536: 461a mov r2, r3 80c7538: 687b ldr r3, [r7, #4] 80c753a: 805a strh r2, [r3, #2] pbuff++; 80c753c: 68fb ldr r3, [r7, #12] 80c753e: 3301 adds r3, #1 80c7540: 60fb str r3, [r7, #12] pbuff++; 80c7542: 68fb ldr r3, [r7, #12] 80c7544: 3301 adds r3, #1 80c7546: 60fb str r3, [r7, #12] req->wIndex = SWAPBYTE(pbuff); 80c7548: 68f8 ldr r0, [r7, #12] 80c754a: f7ff fa9d bl 80c6a88 80c754e: 4603 mov r3, r0 80c7550: 461a mov r2, r3 80c7552: 687b ldr r3, [r7, #4] 80c7554: 809a strh r2, [r3, #4] pbuff++; 80c7556: 68fb ldr r3, [r7, #12] 80c7558: 3301 adds r3, #1 80c755a: 60fb str r3, [r7, #12] pbuff++; 80c755c: 68fb ldr r3, [r7, #12] 80c755e: 3301 adds r3, #1 80c7560: 60fb str r3, [r7, #12] req->wLength = SWAPBYTE(pbuff); 80c7562: 68f8 ldr r0, [r7, #12] 80c7564: f7ff fa90 bl 80c6a88 80c7568: 4603 mov r3, r0 80c756a: 461a mov r2, r3 80c756c: 687b ldr r3, [r7, #4] 80c756e: 80da strh r2, [r3, #6] } 80c7570: bf00 nop 80c7572: 3710 adds r7, #16 80c7574: 46bd mov sp, r7 80c7576: bd80 pop {r7, pc} 080c7578 : * @param req: usb request * @retval None */ void USBD_CtlError(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c7578: b580 push {r7, lr} 80c757a: b082 sub sp, #8 80c757c: af00 add r7, sp, #0 80c757e: 6078 str r0, [r7, #4] 80c7580: 6039 str r1, [r7, #0] UNUSED(req); (void)USBD_LL_StallEP(pdev, 0x80U); 80c7582: 2180 movs r1, #128 ; 0x80 80c7584: 6878 ldr r0, [r7, #4] 80c7586: f007 f9de bl 80ce946 (void)USBD_LL_StallEP(pdev, 0U); 80c758a: 2100 movs r1, #0 80c758c: 6878 ldr r0, [r7, #4] 80c758e: f007 f9da bl 80ce946 } 80c7592: bf00 nop 80c7594: 3708 adds r7, #8 80c7596: 46bd mov sp, r7 80c7598: bd80 pop {r7, pc} 080c759a : * @param unicode : Formatted string buffer (unicode) * @param len : descriptor length * @retval None */ void USBD_GetString(uint8_t *desc, uint8_t *unicode, uint16_t *len) { 80c759a: b580 push {r7, lr} 80c759c: b086 sub sp, #24 80c759e: af00 add r7, sp, #0 80c75a0: 60f8 str r0, [r7, #12] 80c75a2: 60b9 str r1, [r7, #8] 80c75a4: 607a str r2, [r7, #4] uint8_t idx = 0U; 80c75a6: 2300 movs r3, #0 80c75a8: 75fb strb r3, [r7, #23] uint8_t *pdesc; if (desc == NULL) 80c75aa: 68fb ldr r3, [r7, #12] 80c75ac: 2b00 cmp r3, #0 80c75ae: d036 beq.n 80c761e { return; } pdesc = desc; 80c75b0: 68fb ldr r3, [r7, #12] 80c75b2: 613b str r3, [r7, #16] *len = ((uint16_t)USBD_GetLen(pdesc) * 2U) + 2U; 80c75b4: 6938 ldr r0, [r7, #16] 80c75b6: f000 f836 bl 80c7626 80c75ba: 4603 mov r3, r0 80c75bc: 3301 adds r3, #1 80c75be: b29b uxth r3, r3 80c75c0: 005b lsls r3, r3, #1 80c75c2: b29a uxth r2, r3 80c75c4: 687b ldr r3, [r7, #4] 80c75c6: 801a strh r2, [r3, #0] unicode[idx] = *(uint8_t *)len; 80c75c8: 7dfb ldrb r3, [r7, #23] 80c75ca: 68ba ldr r2, [r7, #8] 80c75cc: 4413 add r3, r2 80c75ce: 687a ldr r2, [r7, #4] 80c75d0: 7812 ldrb r2, [r2, #0] 80c75d2: 701a strb r2, [r3, #0] idx++; 80c75d4: 7dfb ldrb r3, [r7, #23] 80c75d6: 3301 adds r3, #1 80c75d8: 75fb strb r3, [r7, #23] unicode[idx] = USB_DESC_TYPE_STRING; 80c75da: 7dfb ldrb r3, [r7, #23] 80c75dc: 68ba ldr r2, [r7, #8] 80c75de: 4413 add r3, r2 80c75e0: 2203 movs r2, #3 80c75e2: 701a strb r2, [r3, #0] idx++; 80c75e4: 7dfb ldrb r3, [r7, #23] 80c75e6: 3301 adds r3, #1 80c75e8: 75fb strb r3, [r7, #23] while (*pdesc != (uint8_t)'\0') 80c75ea: e013 b.n 80c7614 { unicode[idx] = *pdesc; 80c75ec: 7dfb ldrb r3, [r7, #23] 80c75ee: 68ba ldr r2, [r7, #8] 80c75f0: 4413 add r3, r2 80c75f2: 693a ldr r2, [r7, #16] 80c75f4: 7812 ldrb r2, [r2, #0] 80c75f6: 701a strb r2, [r3, #0] pdesc++; 80c75f8: 693b ldr r3, [r7, #16] 80c75fa: 3301 adds r3, #1 80c75fc: 613b str r3, [r7, #16] idx++; 80c75fe: 7dfb ldrb r3, [r7, #23] 80c7600: 3301 adds r3, #1 80c7602: 75fb strb r3, [r7, #23] unicode[idx] = 0U; 80c7604: 7dfb ldrb r3, [r7, #23] 80c7606: 68ba ldr r2, [r7, #8] 80c7608: 4413 add r3, r2 80c760a: 2200 movs r2, #0 80c760c: 701a strb r2, [r3, #0] idx++; 80c760e: 7dfb ldrb r3, [r7, #23] 80c7610: 3301 adds r3, #1 80c7612: 75fb strb r3, [r7, #23] while (*pdesc != (uint8_t)'\0') 80c7614: 693b ldr r3, [r7, #16] 80c7616: 781b ldrb r3, [r3, #0] 80c7618: 2b00 cmp r3, #0 80c761a: d1e7 bne.n 80c75ec 80c761c: e000 b.n 80c7620 return; 80c761e: bf00 nop } } 80c7620: 3718 adds r7, #24 80c7622: 46bd mov sp, r7 80c7624: bd80 pop {r7, pc} 080c7626 : * return the string length * @param buf : pointer to the ascii string buffer * @retval string length */ static uint8_t USBD_GetLen(uint8_t *buf) { 80c7626: b480 push {r7} 80c7628: b085 sub sp, #20 80c762a: af00 add r7, sp, #0 80c762c: 6078 str r0, [r7, #4] uint8_t len = 0U; 80c762e: 2300 movs r3, #0 80c7630: 73fb strb r3, [r7, #15] uint8_t *pbuff = buf; 80c7632: 687b ldr r3, [r7, #4] 80c7634: 60bb str r3, [r7, #8] while (*pbuff != (uint8_t)'\0') 80c7636: e005 b.n 80c7644 { len++; 80c7638: 7bfb ldrb r3, [r7, #15] 80c763a: 3301 adds r3, #1 80c763c: 73fb strb r3, [r7, #15] pbuff++; 80c763e: 68bb ldr r3, [r7, #8] 80c7640: 3301 adds r3, #1 80c7642: 60bb str r3, [r7, #8] while (*pbuff != (uint8_t)'\0') 80c7644: 68bb ldr r3, [r7, #8] 80c7646: 781b ldrb r3, [r3, #0] 80c7648: 2b00 cmp r3, #0 80c764a: d1f5 bne.n 80c7638 } return len; 80c764c: 7bfb ldrb r3, [r7, #15] } 80c764e: 4618 mov r0, r3 80c7650: 3714 adds r7, #20 80c7652: 46bd mov sp, r7 80c7654: f85d 7b04 ldr.w r7, [sp], #4 80c7658: 4770 bx lr 080c765a : * @param len: length of data to be sent * @retval status */ USBD_StatusTypeDef USBD_CtlSendData(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint32_t len) { 80c765a: b580 push {r7, lr} 80c765c: b084 sub sp, #16 80c765e: af00 add r7, sp, #0 80c7660: 60f8 str r0, [r7, #12] 80c7662: 60b9 str r1, [r7, #8] 80c7664: 607a str r2, [r7, #4] /* Set EP0 State */ pdev->ep0_state = USBD_EP0_DATA_IN; 80c7666: 68fb ldr r3, [r7, #12] 80c7668: 2202 movs r2, #2 80c766a: f8c3 2294 str.w r2, [r3, #660] ; 0x294 pdev->ep_in[0].total_length = len; 80c766e: 68fb ldr r3, [r7, #12] 80c7670: 687a ldr r2, [r7, #4] 80c7672: 619a str r2, [r3, #24] pdev->ep_in[0].rem_length = len; 80c7674: 68fb ldr r3, [r7, #12] 80c7676: 687a ldr r2, [r7, #4] 80c7678: 61da str r2, [r3, #28] /* Start the transfer */ (void)USBD_LL_Transmit(pdev, 0x00U, pbuf, len); 80c767a: 687b ldr r3, [r7, #4] 80c767c: 68ba ldr r2, [r7, #8] 80c767e: 2100 movs r1, #0 80c7680: 68f8 ldr r0, [r7, #12] 80c7682: f007 f9e9 bl 80cea58 return USBD_OK; 80c7686: 2300 movs r3, #0 } 80c7688: 4618 mov r0, r3 80c768a: 3710 adds r7, #16 80c768c: 46bd mov sp, r7 80c768e: bd80 pop {r7, pc} 080c7690 : * @param len: length of data to be sent * @retval status */ USBD_StatusTypeDef USBD_CtlContinueSendData(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint32_t len) { 80c7690: b580 push {r7, lr} 80c7692: b084 sub sp, #16 80c7694: af00 add r7, sp, #0 80c7696: 60f8 str r0, [r7, #12] 80c7698: 60b9 str r1, [r7, #8] 80c769a: 607a str r2, [r7, #4] /* Start the next transfer */ (void)USBD_LL_Transmit(pdev, 0x00U, pbuf, len); 80c769c: 687b ldr r3, [r7, #4] 80c769e: 68ba ldr r2, [r7, #8] 80c76a0: 2100 movs r1, #0 80c76a2: 68f8 ldr r0, [r7, #12] 80c76a4: f007 f9d8 bl 80cea58 return USBD_OK; 80c76a8: 2300 movs r3, #0 } 80c76aa: 4618 mov r0, r3 80c76ac: 3710 adds r7, #16 80c76ae: 46bd mov sp, r7 80c76b0: bd80 pop {r7, pc} 080c76b2 : * @param len: length of data to be received * @retval status */ USBD_StatusTypeDef USBD_CtlContinueRx(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint32_t len) { 80c76b2: b580 push {r7, lr} 80c76b4: b084 sub sp, #16 80c76b6: af00 add r7, sp, #0 80c76b8: 60f8 str r0, [r7, #12] 80c76ba: 60b9 str r1, [r7, #8] 80c76bc: 607a str r2, [r7, #4] (void)USBD_LL_PrepareReceive(pdev, 0U, pbuf, len); 80c76be: 687b ldr r3, [r7, #4] 80c76c0: 68ba ldr r2, [r7, #8] 80c76c2: 2100 movs r1, #0 80c76c4: 68f8 ldr r0, [r7, #12] 80c76c6: f007 f9e8 bl 80cea9a return USBD_OK; 80c76ca: 2300 movs r3, #0 } 80c76cc: 4618 mov r0, r3 80c76ce: 3710 adds r7, #16 80c76d0: 46bd mov sp, r7 80c76d2: bd80 pop {r7, pc} 080c76d4 : * send zero lzngth packet on the ctl pipe * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_CtlSendStatus(USBD_HandleTypeDef *pdev) { 80c76d4: b580 push {r7, lr} 80c76d6: b082 sub sp, #8 80c76d8: af00 add r7, sp, #0 80c76da: 6078 str r0, [r7, #4] /* Set EP0 State */ pdev->ep0_state = USBD_EP0_STATUS_IN; 80c76dc: 687b ldr r3, [r7, #4] 80c76de: 2204 movs r2, #4 80c76e0: f8c3 2294 str.w r2, [r3, #660] ; 0x294 /* Start the transfer */ (void)USBD_LL_Transmit(pdev, 0x00U, NULL, 0U); 80c76e4: 2300 movs r3, #0 80c76e6: 2200 movs r2, #0 80c76e8: 2100 movs r1, #0 80c76ea: 6878 ldr r0, [r7, #4] 80c76ec: f007 f9b4 bl 80cea58 return USBD_OK; 80c76f0: 2300 movs r3, #0 } 80c76f2: 4618 mov r0, r3 80c76f4: 3708 adds r7, #8 80c76f6: 46bd mov sp, r7 80c76f8: bd80 pop {r7, pc} 080c76fa : * receive zero lzngth packet on the ctl pipe * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_CtlReceiveStatus(USBD_HandleTypeDef *pdev) { 80c76fa: b580 push {r7, lr} 80c76fc: b082 sub sp, #8 80c76fe: af00 add r7, sp, #0 80c7700: 6078 str r0, [r7, #4] /* Set EP0 State */ pdev->ep0_state = USBD_EP0_STATUS_OUT; 80c7702: 687b ldr r3, [r7, #4] 80c7704: 2205 movs r2, #5 80c7706: f8c3 2294 str.w r2, [r3, #660] ; 0x294 /* Start the transfer */ (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); 80c770a: 2300 movs r3, #0 80c770c: 2200 movs r2, #0 80c770e: 2100 movs r1, #0 80c7710: 6878 ldr r0, [r7, #4] 80c7712: f007 f9c2 bl 80cea9a return USBD_OK; 80c7716: 2300 movs r3, #0 } 80c7718: 4618 mov r0, r3 80c771a: 3708 adds r7, #8 80c771c: 46bd mov sp, r7 80c771e: bd80 pop {r7, pc} 080c7720 : * @retval DSTATUS: Operation status */ DSTATUS disk_status ( BYTE pdrv /* Physical drive number to identify the drive */ ) { 80c7720: b580 push {r7, lr} 80c7722: b084 sub sp, #16 80c7724: af00 add r7, sp, #0 80c7726: 4603 mov r3, r0 80c7728: 71fb strb r3, [r7, #7] DSTATUS stat; stat = disk.drv[pdrv]->disk_status(disk.lun[pdrv]); 80c772a: 79fb ldrb r3, [r7, #7] 80c772c: 4a08 ldr r2, [pc, #32] ; (80c7750 ) 80c772e: 009b lsls r3, r3, #2 80c7730: 4413 add r3, r2 80c7732: 685b ldr r3, [r3, #4] 80c7734: 685b ldr r3, [r3, #4] 80c7736: 79fa ldrb r2, [r7, #7] 80c7738: 4905 ldr r1, [pc, #20] ; (80c7750 ) 80c773a: 440a add r2, r1 80c773c: 7a12 ldrb r2, [r2, #8] 80c773e: 4610 mov r0, r2 80c7740: 4798 blx r3 80c7742: 4603 mov r3, r0 80c7744: 73fb strb r3, [r7, #15] return stat; 80c7746: 7bfb ldrb r3, [r7, #15] } 80c7748: 4618 mov r0, r3 80c774a: 3710 adds r7, #16 80c774c: 46bd mov sp, r7 80c774e: bd80 pop {r7, pc} 80c7750: 20021b64 .word 0x20021b64 080c7754 : * @retval DSTATUS: Operation status */ DSTATUS disk_initialize ( BYTE pdrv /* Physical drive nmuber to identify the drive */ ) { 80c7754: b580 push {r7, lr} 80c7756: b084 sub sp, #16 80c7758: af00 add r7, sp, #0 80c775a: 4603 mov r3, r0 80c775c: 71fb strb r3, [r7, #7] DSTATUS stat = RES_OK; 80c775e: 2300 movs r3, #0 80c7760: 73fb strb r3, [r7, #15] if(disk.is_initialized[pdrv] == 0) 80c7762: 79fb ldrb r3, [r7, #7] 80c7764: 4a0d ldr r2, [pc, #52] ; (80c779c ) 80c7766: 5cd3 ldrb r3, [r2, r3] 80c7768: 2b00 cmp r3, #0 80c776a: d111 bne.n 80c7790 { disk.is_initialized[pdrv] = 1; 80c776c: 79fb ldrb r3, [r7, #7] 80c776e: 4a0b ldr r2, [pc, #44] ; (80c779c ) 80c7770: 2101 movs r1, #1 80c7772: 54d1 strb r1, [r2, r3] stat = disk.drv[pdrv]->disk_initialize(disk.lun[pdrv]); 80c7774: 79fb ldrb r3, [r7, #7] 80c7776: 4a09 ldr r2, [pc, #36] ; (80c779c ) 80c7778: 009b lsls r3, r3, #2 80c777a: 4413 add r3, r2 80c777c: 685b ldr r3, [r3, #4] 80c777e: 681b ldr r3, [r3, #0] 80c7780: 79fa ldrb r2, [r7, #7] 80c7782: 4906 ldr r1, [pc, #24] ; (80c779c ) 80c7784: 440a add r2, r1 80c7786: 7a12 ldrb r2, [r2, #8] 80c7788: 4610 mov r0, r2 80c778a: 4798 blx r3 80c778c: 4603 mov r3, r0 80c778e: 73fb strb r3, [r7, #15] } return stat; 80c7790: 7bfb ldrb r3, [r7, #15] } 80c7792: 4618 mov r0, r3 80c7794: 3710 adds r7, #16 80c7796: 46bd mov sp, r7 80c7798: bd80 pop {r7, pc} 80c779a: bf00 nop 80c779c: 20021b64 .word 0x20021b64 080c77a0 : 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 */ ) { 80c77a0: b590 push {r4, r7, lr} 80c77a2: b087 sub sp, #28 80c77a4: af00 add r7, sp, #0 80c77a6: 60b9 str r1, [r7, #8] 80c77a8: 607a str r2, [r7, #4] 80c77aa: 603b str r3, [r7, #0] 80c77ac: 4603 mov r3, r0 80c77ae: 73fb strb r3, [r7, #15] DRESULT res; res = disk.drv[pdrv]->disk_read(disk.lun[pdrv], buff, sector, count); 80c77b0: 7bfb ldrb r3, [r7, #15] 80c77b2: 4a0a ldr r2, [pc, #40] ; (80c77dc ) 80c77b4: 009b lsls r3, r3, #2 80c77b6: 4413 add r3, r2 80c77b8: 685b ldr r3, [r3, #4] 80c77ba: 689c ldr r4, [r3, #8] 80c77bc: 7bfb ldrb r3, [r7, #15] 80c77be: 4a07 ldr r2, [pc, #28] ; (80c77dc ) 80c77c0: 4413 add r3, r2 80c77c2: 7a18 ldrb r0, [r3, #8] 80c77c4: 683b ldr r3, [r7, #0] 80c77c6: 687a ldr r2, [r7, #4] 80c77c8: 68b9 ldr r1, [r7, #8] 80c77ca: 47a0 blx r4 80c77cc: 4603 mov r3, r0 80c77ce: 75fb strb r3, [r7, #23] return res; 80c77d0: 7dfb ldrb r3, [r7, #23] } 80c77d2: 4618 mov r0, r3 80c77d4: 371c adds r7, #28 80c77d6: 46bd mov sp, r7 80c77d8: bd90 pop {r4, r7, pc} 80c77da: bf00 nop 80c77dc: 20021b64 .word 0x20021b64 080c77e0 : 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 */ ) { 80c77e0: b590 push {r4, r7, lr} 80c77e2: b087 sub sp, #28 80c77e4: af00 add r7, sp, #0 80c77e6: 60b9 str r1, [r7, #8] 80c77e8: 607a str r2, [r7, #4] 80c77ea: 603b str r3, [r7, #0] 80c77ec: 4603 mov r3, r0 80c77ee: 73fb strb r3, [r7, #15] DRESULT res; res = disk.drv[pdrv]->disk_write(disk.lun[pdrv], buff, sector, count); 80c77f0: 7bfb ldrb r3, [r7, #15] 80c77f2: 4a0a ldr r2, [pc, #40] ; (80c781c ) 80c77f4: 009b lsls r3, r3, #2 80c77f6: 4413 add r3, r2 80c77f8: 685b ldr r3, [r3, #4] 80c77fa: 68dc ldr r4, [r3, #12] 80c77fc: 7bfb ldrb r3, [r7, #15] 80c77fe: 4a07 ldr r2, [pc, #28] ; (80c781c ) 80c7800: 4413 add r3, r2 80c7802: 7a18 ldrb r0, [r3, #8] 80c7804: 683b ldr r3, [r7, #0] 80c7806: 687a ldr r2, [r7, #4] 80c7808: 68b9 ldr r1, [r7, #8] 80c780a: 47a0 blx r4 80c780c: 4603 mov r3, r0 80c780e: 75fb strb r3, [r7, #23] return res; 80c7810: 7dfb ldrb r3, [r7, #23] } 80c7812: 4618 mov r0, r3 80c7814: 371c adds r7, #28 80c7816: 46bd mov sp, r7 80c7818: bd90 pop {r4, r7, pc} 80c781a: bf00 nop 80c781c: 20021b64 .word 0x20021b64 080c7820 : DRESULT disk_ioctl ( BYTE pdrv, /* Physical drive nmuber (0..) */ BYTE cmd, /* Control code */ void *buff /* Buffer to send/receive control data */ ) { 80c7820: b580 push {r7, lr} 80c7822: b084 sub sp, #16 80c7824: af00 add r7, sp, #0 80c7826: 4603 mov r3, r0 80c7828: 603a str r2, [r7, #0] 80c782a: 71fb strb r3, [r7, #7] 80c782c: 460b mov r3, r1 80c782e: 71bb strb r3, [r7, #6] DRESULT res; res = disk.drv[pdrv]->disk_ioctl(disk.lun[pdrv], cmd, buff); 80c7830: 79fb ldrb r3, [r7, #7] 80c7832: 4a09 ldr r2, [pc, #36] ; (80c7858 ) 80c7834: 009b lsls r3, r3, #2 80c7836: 4413 add r3, r2 80c7838: 685b ldr r3, [r3, #4] 80c783a: 691b ldr r3, [r3, #16] 80c783c: 79fa ldrb r2, [r7, #7] 80c783e: 4906 ldr r1, [pc, #24] ; (80c7858 ) 80c7840: 440a add r2, r1 80c7842: 7a10 ldrb r0, [r2, #8] 80c7844: 79b9 ldrb r1, [r7, #6] 80c7846: 683a ldr r2, [r7, #0] 80c7848: 4798 blx r3 80c784a: 4603 mov r3, r0 80c784c: 73fb strb r3, [r7, #15] return res; 80c784e: 7bfb ldrb r3, [r7, #15] } 80c7850: 4618 mov r0, r3 80c7852: 3710 adds r7, #16 80c7854: 46bd mov sp, r7 80c7856: bd80 pop {r7, pc} 80c7858: 20021b64 .word 0x20021b64 080c785c : /* Load/Store multi-byte word in the FAT structure */ /*-----------------------------------------------------------------------*/ static WORD ld_word (const BYTE* ptr) /* Load a 2-byte little-endian word */ { 80c785c: b480 push {r7} 80c785e: b085 sub sp, #20 80c7860: af00 add r7, sp, #0 80c7862: 6078 str r0, [r7, #4] WORD rv; rv = ptr[1]; 80c7864: 687b ldr r3, [r7, #4] 80c7866: 3301 adds r3, #1 80c7868: 781b ldrb r3, [r3, #0] 80c786a: 81fb strh r3, [r7, #14] rv = rv << 8 | ptr[0]; 80c786c: 89fb ldrh r3, [r7, #14] 80c786e: 021b lsls r3, r3, #8 80c7870: b21a sxth r2, r3 80c7872: 687b ldr r3, [r7, #4] 80c7874: 781b ldrb r3, [r3, #0] 80c7876: b21b sxth r3, r3 80c7878: 4313 orrs r3, r2 80c787a: b21b sxth r3, r3 80c787c: 81fb strh r3, [r7, #14] return rv; 80c787e: 89fb ldrh r3, [r7, #14] } 80c7880: 4618 mov r0, r3 80c7882: 3714 adds r7, #20 80c7884: 46bd mov sp, r7 80c7886: f85d 7b04 ldr.w r7, [sp], #4 80c788a: 4770 bx lr 080c788c : static DWORD ld_dword (const BYTE* ptr) /* Load a 4-byte little-endian word */ { 80c788c: b480 push {r7} 80c788e: b085 sub sp, #20 80c7890: af00 add r7, sp, #0 80c7892: 6078 str r0, [r7, #4] DWORD rv; rv = ptr[3]; 80c7894: 687b ldr r3, [r7, #4] 80c7896: 3303 adds r3, #3 80c7898: 781b ldrb r3, [r3, #0] 80c789a: 60fb str r3, [r7, #12] rv = rv << 8 | ptr[2]; 80c789c: 68fb ldr r3, [r7, #12] 80c789e: 021b lsls r3, r3, #8 80c78a0: 687a ldr r2, [r7, #4] 80c78a2: 3202 adds r2, #2 80c78a4: 7812 ldrb r2, [r2, #0] 80c78a6: 4313 orrs r3, r2 80c78a8: 60fb str r3, [r7, #12] rv = rv << 8 | ptr[1]; 80c78aa: 68fb ldr r3, [r7, #12] 80c78ac: 021b lsls r3, r3, #8 80c78ae: 687a ldr r2, [r7, #4] 80c78b0: 3201 adds r2, #1 80c78b2: 7812 ldrb r2, [r2, #0] 80c78b4: 4313 orrs r3, r2 80c78b6: 60fb str r3, [r7, #12] rv = rv << 8 | ptr[0]; 80c78b8: 68fb ldr r3, [r7, #12] 80c78ba: 021b lsls r3, r3, #8 80c78bc: 687a ldr r2, [r7, #4] 80c78be: 7812 ldrb r2, [r2, #0] 80c78c0: 4313 orrs r3, r2 80c78c2: 60fb str r3, [r7, #12] return rv; 80c78c4: 68fb ldr r3, [r7, #12] } 80c78c6: 4618 mov r0, r3 80c78c8: 3714 adds r7, #20 80c78ca: 46bd mov sp, r7 80c78cc: f85d 7b04 ldr.w r7, [sp], #4 80c78d0: 4770 bx lr 080c78d2 : #if _FS_EXFAT static QWORD ld_qword (const BYTE* ptr) /* Load an 8-byte little-endian word */ { 80c78d2: e92d 0ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp} 80c78d6: b08a sub sp, #40 ; 0x28 80c78d8: af00 add r7, sp, #0 80c78da: 61f8 str r0, [r7, #28] QWORD rv; rv = ptr[7]; 80c78dc: 69fb ldr r3, [r7, #28] 80c78de: 3307 adds r3, #7 80c78e0: 781b ldrb r3, [r3, #0] 80c78e2: b2db uxtb r3, r3 80c78e4: f04f 0400 mov.w r4, #0 80c78e8: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[6]; 80c78ec: e9d7 3408 ldrd r3, r4, [r7, #32] 80c78f0: 0222 lsls r2, r4, #8 80c78f2: ea42 6213 orr.w r2, r2, r3, lsr #24 80c78f6: 0219 lsls r1, r3, #8 80c78f8: 69fb ldr r3, [r7, #28] 80c78fa: 3306 adds r3, #6 80c78fc: 781b ldrb r3, [r3, #0] 80c78fe: b2db uxtb r3, r3 80c7900: f04f 0400 mov.w r4, #0 80c7904: ea43 0301 orr.w r3, r3, r1 80c7908: ea44 0402 orr.w r4, r4, r2 80c790c: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[5]; 80c7910: e9d7 3408 ldrd r3, r4, [r7, #32] 80c7914: 0222 lsls r2, r4, #8 80c7916: 617a str r2, [r7, #20] 80c7918: 697a ldr r2, [r7, #20] 80c791a: ea42 6213 orr.w r2, r2, r3, lsr #24 80c791e: 617a str r2, [r7, #20] 80c7920: 021b lsls r3, r3, #8 80c7922: 613b str r3, [r7, #16] 80c7924: 69fb ldr r3, [r7, #28] 80c7926: 3305 adds r3, #5 80c7928: 781b ldrb r3, [r3, #0] 80c792a: b2db uxtb r3, r3 80c792c: f04f 0400 mov.w r4, #0 80c7930: e9d7 1204 ldrd r1, r2, [r7, #16] 80c7934: ea41 0103 orr.w r1, r1, r3 80c7938: ea42 0204 orr.w r2, r2, r4 80c793c: 460b mov r3, r1 80c793e: 4614 mov r4, r2 80c7940: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[4]; 80c7944: e9d7 3408 ldrd r3, r4, [r7, #32] 80c7948: 0222 lsls r2, r4, #8 80c794a: 60fa str r2, [r7, #12] 80c794c: 68fa ldr r2, [r7, #12] 80c794e: ea42 6213 orr.w r2, r2, r3, lsr #24 80c7952: 60fa str r2, [r7, #12] 80c7954: 021b lsls r3, r3, #8 80c7956: 60bb str r3, [r7, #8] 80c7958: 69fb ldr r3, [r7, #28] 80c795a: 3304 adds r3, #4 80c795c: 781b ldrb r3, [r3, #0] 80c795e: b2db uxtb r3, r3 80c7960: f04f 0400 mov.w r4, #0 80c7964: e9d7 1202 ldrd r1, r2, [r7, #8] 80c7968: ea41 0103 orr.w r1, r1, r3 80c796c: ea42 0204 orr.w r2, r2, r4 80c7970: 460b mov r3, r1 80c7972: 4614 mov r4, r2 80c7974: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[3]; 80c7978: e9d7 3408 ldrd r3, r4, [r7, #32] 80c797c: 0222 lsls r2, r4, #8 80c797e: 607a str r2, [r7, #4] 80c7980: 687a ldr r2, [r7, #4] 80c7982: ea42 6213 orr.w r2, r2, r3, lsr #24 80c7986: 607a str r2, [r7, #4] 80c7988: 021b lsls r3, r3, #8 80c798a: 603b str r3, [r7, #0] 80c798c: 69fb ldr r3, [r7, #28] 80c798e: 3303 adds r3, #3 80c7990: 781b ldrb r3, [r3, #0] 80c7992: b2db uxtb r3, r3 80c7994: f04f 0400 mov.w r4, #0 80c7998: e897 0006 ldmia.w r7, {r1, r2} 80c799c: ea41 0103 orr.w r1, r1, r3 80c79a0: ea42 0204 orr.w r2, r2, r4 80c79a4: 460b mov r3, r1 80c79a6: 4614 mov r4, r2 80c79a8: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[2]; 80c79ac: e9d7 3408 ldrd r3, r4, [r7, #32] 80c79b0: ea4f 2b04 mov.w fp, r4, lsl #8 80c79b4: ea4b 6b13 orr.w fp, fp, r3, lsr #24 80c79b8: ea4f 2a03 mov.w sl, r3, lsl #8 80c79bc: 69fb ldr r3, [r7, #28] 80c79be: 3302 adds r3, #2 80c79c0: 781b ldrb r3, [r3, #0] 80c79c2: b2db uxtb r3, r3 80c79c4: f04f 0400 mov.w r4, #0 80c79c8: ea43 030a orr.w r3, r3, sl 80c79cc: ea44 040b orr.w r4, r4, fp 80c79d0: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[1]; 80c79d4: e9d7 3408 ldrd r3, r4, [r7, #32] 80c79d8: ea4f 2904 mov.w r9, r4, lsl #8 80c79dc: ea49 6913 orr.w r9, r9, r3, lsr #24 80c79e0: ea4f 2803 mov.w r8, r3, lsl #8 80c79e4: 69fb ldr r3, [r7, #28] 80c79e6: 3301 adds r3, #1 80c79e8: 781b ldrb r3, [r3, #0] 80c79ea: b2db uxtb r3, r3 80c79ec: f04f 0400 mov.w r4, #0 80c79f0: ea43 0308 orr.w r3, r3, r8 80c79f4: ea44 0409 orr.w r4, r4, r9 80c79f8: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[0]; 80c79fc: e9d7 3408 ldrd r3, r4, [r7, #32] 80c7a00: 0226 lsls r6, r4, #8 80c7a02: ea46 6613 orr.w r6, r6, r3, lsr #24 80c7a06: 021d lsls r5, r3, #8 80c7a08: 69fb ldr r3, [r7, #28] 80c7a0a: 781b ldrb r3, [r3, #0] 80c7a0c: b2db uxtb r3, r3 80c7a0e: f04f 0400 mov.w r4, #0 80c7a12: ea43 0305 orr.w r3, r3, r5 80c7a16: ea44 0406 orr.w r4, r4, r6 80c7a1a: e9c7 3408 strd r3, r4, [r7, #32] return rv; 80c7a1e: e9d7 3408 ldrd r3, r4, [r7, #32] } 80c7a22: 4618 mov r0, r3 80c7a24: 4621 mov r1, r4 80c7a26: 3728 adds r7, #40 ; 0x28 80c7a28: 46bd mov sp, r7 80c7a2a: e8bd 0ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp} 80c7a2e: 4770 bx lr 080c7a30 : #endif #if !_FS_READONLY static void st_word (BYTE* ptr, WORD val) /* Store a 2-byte word in little-endian */ { 80c7a30: b480 push {r7} 80c7a32: b083 sub sp, #12 80c7a34: af00 add r7, sp, #0 80c7a36: 6078 str r0, [r7, #4] 80c7a38: 460b mov r3, r1 80c7a3a: 807b strh r3, [r7, #2] *ptr++ = (BYTE)val; val >>= 8; 80c7a3c: 687b ldr r3, [r7, #4] 80c7a3e: 1c5a adds r2, r3, #1 80c7a40: 607a str r2, [r7, #4] 80c7a42: 887a ldrh r2, [r7, #2] 80c7a44: b2d2 uxtb r2, r2 80c7a46: 701a strb r2, [r3, #0] 80c7a48: 887b ldrh r3, [r7, #2] 80c7a4a: 0a1b lsrs r3, r3, #8 80c7a4c: 807b strh r3, [r7, #2] *ptr++ = (BYTE)val; 80c7a4e: 687b ldr r3, [r7, #4] 80c7a50: 1c5a adds r2, r3, #1 80c7a52: 607a str r2, [r7, #4] 80c7a54: 887a ldrh r2, [r7, #2] 80c7a56: b2d2 uxtb r2, r2 80c7a58: 701a strb r2, [r3, #0] } 80c7a5a: bf00 nop 80c7a5c: 370c adds r7, #12 80c7a5e: 46bd mov sp, r7 80c7a60: f85d 7b04 ldr.w r7, [sp], #4 80c7a64: 4770 bx lr 080c7a66 : static void st_dword (BYTE* ptr, DWORD val) /* Store a 4-byte word in little-endian */ { 80c7a66: b480 push {r7} 80c7a68: b083 sub sp, #12 80c7a6a: af00 add r7, sp, #0 80c7a6c: 6078 str r0, [r7, #4] 80c7a6e: 6039 str r1, [r7, #0] *ptr++ = (BYTE)val; val >>= 8; 80c7a70: 687b ldr r3, [r7, #4] 80c7a72: 1c5a adds r2, r3, #1 80c7a74: 607a str r2, [r7, #4] 80c7a76: 683a ldr r2, [r7, #0] 80c7a78: b2d2 uxtb r2, r2 80c7a7a: 701a strb r2, [r3, #0] 80c7a7c: 683b ldr r3, [r7, #0] 80c7a7e: 0a1b lsrs r3, r3, #8 80c7a80: 603b str r3, [r7, #0] *ptr++ = (BYTE)val; val >>= 8; 80c7a82: 687b ldr r3, [r7, #4] 80c7a84: 1c5a adds r2, r3, #1 80c7a86: 607a str r2, [r7, #4] 80c7a88: 683a ldr r2, [r7, #0] 80c7a8a: b2d2 uxtb r2, r2 80c7a8c: 701a strb r2, [r3, #0] 80c7a8e: 683b ldr r3, [r7, #0] 80c7a90: 0a1b lsrs r3, r3, #8 80c7a92: 603b str r3, [r7, #0] *ptr++ = (BYTE)val; val >>= 8; 80c7a94: 687b ldr r3, [r7, #4] 80c7a96: 1c5a adds r2, r3, #1 80c7a98: 607a str r2, [r7, #4] 80c7a9a: 683a ldr r2, [r7, #0] 80c7a9c: b2d2 uxtb r2, r2 80c7a9e: 701a strb r2, [r3, #0] 80c7aa0: 683b ldr r3, [r7, #0] 80c7aa2: 0a1b lsrs r3, r3, #8 80c7aa4: 603b str r3, [r7, #0] *ptr++ = (BYTE)val; 80c7aa6: 687b ldr r3, [r7, #4] 80c7aa8: 1c5a adds r2, r3, #1 80c7aaa: 607a str r2, [r7, #4] 80c7aac: 683a ldr r2, [r7, #0] 80c7aae: b2d2 uxtb r2, r2 80c7ab0: 701a strb r2, [r3, #0] } 80c7ab2: bf00 nop 80c7ab4: 370c adds r7, #12 80c7ab6: 46bd mov sp, r7 80c7ab8: f85d 7b04 ldr.w r7, [sp], #4 80c7abc: 4770 bx lr 080c7abe : #if _FS_EXFAT static void st_qword (BYTE* ptr, QWORD val) /* Store an 8-byte word in little-endian */ { 80c7abe: e92d 0ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp} 80c7ac2: b08c sub sp, #48 ; 0x30 80c7ac4: af00 add r7, sp, #0 80c7ac6: 62f8 str r0, [r7, #44] ; 0x2c 80c7ac8: e9c7 2308 strd r2, r3, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c7acc: 6afa ldr r2, [r7, #44] ; 0x2c 80c7ace: 1c53 adds r3, r2, #1 80c7ad0: 62fb str r3, [r7, #44] ; 0x2c 80c7ad2: f897 3020 ldrb.w r3, [r7, #32] 80c7ad6: 7013 strb r3, [r2, #0] 80c7ad8: e9d7 3408 ldrd r3, r4, [r7, #32] 80c7adc: 0a1d lsrs r5, r3, #8 80c7ade: ea45 6504 orr.w r5, r5, r4, lsl #24 80c7ae2: 0a26 lsrs r6, r4, #8 80c7ae4: e9c7 5608 strd r5, r6, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c7ae8: 6afa ldr r2, [r7, #44] ; 0x2c 80c7aea: 1c53 adds r3, r2, #1 80c7aec: 62fb str r3, [r7, #44] ; 0x2c 80c7aee: f897 3020 ldrb.w r3, [r7, #32] 80c7af2: 7013 strb r3, [r2, #0] 80c7af4: e9d7 3408 ldrd r3, r4, [r7, #32] 80c7af8: 0a1a lsrs r2, r3, #8 80c7afa: 61ba str r2, [r7, #24] 80c7afc: 69ba ldr r2, [r7, #24] 80c7afe: ea42 6204 orr.w r2, r2, r4, lsl #24 80c7b02: 61ba str r2, [r7, #24] 80c7b04: 0a23 lsrs r3, r4, #8 80c7b06: 61fb str r3, [r7, #28] 80c7b08: e9d7 3406 ldrd r3, r4, [r7, #24] 80c7b0c: e9c7 3408 strd r3, r4, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c7b10: 6afb ldr r3, [r7, #44] ; 0x2c 80c7b12: 1c5a adds r2, r3, #1 80c7b14: 62fa str r2, [r7, #44] ; 0x2c 80c7b16: f897 2020 ldrb.w r2, [r7, #32] 80c7b1a: 701a strb r2, [r3, #0] 80c7b1c: e9d7 3408 ldrd r3, r4, [r7, #32] 80c7b20: 0a1a lsrs r2, r3, #8 80c7b22: 613a str r2, [r7, #16] 80c7b24: 693a ldr r2, [r7, #16] 80c7b26: ea42 6204 orr.w r2, r2, r4, lsl #24 80c7b2a: 613a str r2, [r7, #16] 80c7b2c: 0a23 lsrs r3, r4, #8 80c7b2e: 617b str r3, [r7, #20] 80c7b30: e9d7 3404 ldrd r3, r4, [r7, #16] 80c7b34: e9c7 3408 strd r3, r4, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c7b38: 6afb ldr r3, [r7, #44] ; 0x2c 80c7b3a: 1c5a adds r2, r3, #1 80c7b3c: 62fa str r2, [r7, #44] ; 0x2c 80c7b3e: f897 2020 ldrb.w r2, [r7, #32] 80c7b42: 701a strb r2, [r3, #0] 80c7b44: e9d7 3408 ldrd r3, r4, [r7, #32] 80c7b48: 0a1a lsrs r2, r3, #8 80c7b4a: 60ba str r2, [r7, #8] 80c7b4c: 68ba ldr r2, [r7, #8] 80c7b4e: ea42 6204 orr.w r2, r2, r4, lsl #24 80c7b52: 60ba str r2, [r7, #8] 80c7b54: 0a23 lsrs r3, r4, #8 80c7b56: 60fb str r3, [r7, #12] 80c7b58: e9d7 3402 ldrd r3, r4, [r7, #8] 80c7b5c: e9c7 3408 strd r3, r4, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c7b60: 6afb ldr r3, [r7, #44] ; 0x2c 80c7b62: 1c5a adds r2, r3, #1 80c7b64: 62fa str r2, [r7, #44] ; 0x2c 80c7b66: f897 2020 ldrb.w r2, [r7, #32] 80c7b6a: 701a strb r2, [r3, #0] 80c7b6c: e9d7 3408 ldrd r3, r4, [r7, #32] 80c7b70: 0a1a lsrs r2, r3, #8 80c7b72: 603a str r2, [r7, #0] 80c7b74: 683a ldr r2, [r7, #0] 80c7b76: ea42 6204 orr.w r2, r2, r4, lsl #24 80c7b7a: 603a str r2, [r7, #0] 80c7b7c: 0a23 lsrs r3, r4, #8 80c7b7e: 607b str r3, [r7, #4] 80c7b80: e897 0018 ldmia.w r7, {r3, r4} 80c7b84: e9c7 3408 strd r3, r4, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c7b88: 6afb ldr r3, [r7, #44] ; 0x2c 80c7b8a: 1c5a adds r2, r3, #1 80c7b8c: 62fa str r2, [r7, #44] ; 0x2c 80c7b8e: f897 2020 ldrb.w r2, [r7, #32] 80c7b92: 701a strb r2, [r3, #0] 80c7b94: e9d7 3408 ldrd r3, r4, [r7, #32] 80c7b98: ea4f 2a13 mov.w sl, r3, lsr #8 80c7b9c: ea4a 6a04 orr.w sl, sl, r4, lsl #24 80c7ba0: ea4f 2b14 mov.w fp, r4, lsr #8 80c7ba4: e9c7 ab08 strd sl, fp, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c7ba8: 6afb ldr r3, [r7, #44] ; 0x2c 80c7baa: 1c5a adds r2, r3, #1 80c7bac: 62fa str r2, [r7, #44] ; 0x2c 80c7bae: f897 2020 ldrb.w r2, [r7, #32] 80c7bb2: 701a strb r2, [r3, #0] 80c7bb4: e9d7 3408 ldrd r3, r4, [r7, #32] 80c7bb8: ea4f 2813 mov.w r8, r3, lsr #8 80c7bbc: ea48 6804 orr.w r8, r8, r4, lsl #24 80c7bc0: ea4f 2914 mov.w r9, r4, lsr #8 80c7bc4: e9c7 8908 strd r8, r9, [r7, #32] *ptr++ = (BYTE)val; 80c7bc8: 6afb ldr r3, [r7, #44] ; 0x2c 80c7bca: 1c5a adds r2, r3, #1 80c7bcc: 62fa str r2, [r7, #44] ; 0x2c 80c7bce: f897 2020 ldrb.w r2, [r7, #32] 80c7bd2: 701a strb r2, [r3, #0] } 80c7bd4: bf00 nop 80c7bd6: 3730 adds r7, #48 ; 0x30 80c7bd8: 46bd mov sp, r7 80c7bda: e8bd 0ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp} 80c7bde: 4770 bx lr 080c7be0 : /* String functions */ /*-----------------------------------------------------------------------*/ /* Copy memory to memory */ static void mem_cpy (void* dst, const void* src, UINT cnt) { 80c7be0: b480 push {r7} 80c7be2: b087 sub sp, #28 80c7be4: af00 add r7, sp, #0 80c7be6: 60f8 str r0, [r7, #12] 80c7be8: 60b9 str r1, [r7, #8] 80c7bea: 607a str r2, [r7, #4] BYTE *d = (BYTE*)dst; 80c7bec: 68fb ldr r3, [r7, #12] 80c7bee: 617b str r3, [r7, #20] const BYTE *s = (const BYTE*)src; 80c7bf0: 68bb ldr r3, [r7, #8] 80c7bf2: 613b str r3, [r7, #16] if (cnt) { 80c7bf4: 687b ldr r3, [r7, #4] 80c7bf6: 2b00 cmp r3, #0 80c7bf8: d00d beq.n 80c7c16 do { *d++ = *s++; 80c7bfa: 697b ldr r3, [r7, #20] 80c7bfc: 1c5a adds r2, r3, #1 80c7bfe: 617a str r2, [r7, #20] 80c7c00: 693a ldr r2, [r7, #16] 80c7c02: 1c51 adds r1, r2, #1 80c7c04: 6139 str r1, [r7, #16] 80c7c06: 7812 ldrb r2, [r2, #0] 80c7c08: 701a strb r2, [r3, #0] } while (--cnt); 80c7c0a: 687b ldr r3, [r7, #4] 80c7c0c: 3b01 subs r3, #1 80c7c0e: 607b str r3, [r7, #4] 80c7c10: 687b ldr r3, [r7, #4] 80c7c12: 2b00 cmp r3, #0 80c7c14: d1f1 bne.n 80c7bfa } } 80c7c16: bf00 nop 80c7c18: 371c adds r7, #28 80c7c1a: 46bd mov sp, r7 80c7c1c: f85d 7b04 ldr.w r7, [sp], #4 80c7c20: 4770 bx lr 080c7c22 : /* Fill memory block */ static void mem_set (void* dst, int val, UINT cnt) { 80c7c22: b480 push {r7} 80c7c24: b087 sub sp, #28 80c7c26: af00 add r7, sp, #0 80c7c28: 60f8 str r0, [r7, #12] 80c7c2a: 60b9 str r1, [r7, #8] 80c7c2c: 607a str r2, [r7, #4] BYTE *d = (BYTE*)dst; 80c7c2e: 68fb ldr r3, [r7, #12] 80c7c30: 617b str r3, [r7, #20] do { *d++ = (BYTE)val; 80c7c32: 697b ldr r3, [r7, #20] 80c7c34: 1c5a adds r2, r3, #1 80c7c36: 617a str r2, [r7, #20] 80c7c38: 68ba ldr r2, [r7, #8] 80c7c3a: b2d2 uxtb r2, r2 80c7c3c: 701a strb r2, [r3, #0] } while (--cnt); 80c7c3e: 687b ldr r3, [r7, #4] 80c7c40: 3b01 subs r3, #1 80c7c42: 607b str r3, [r7, #4] 80c7c44: 687b ldr r3, [r7, #4] 80c7c46: 2b00 cmp r3, #0 80c7c48: d1f3 bne.n 80c7c32 } 80c7c4a: bf00 nop 80c7c4c: 371c adds r7, #28 80c7c4e: 46bd mov sp, r7 80c7c50: f85d 7b04 ldr.w r7, [sp], #4 80c7c54: 4770 bx lr 080c7c56 : /* Compare memory block */ static int mem_cmp (const void* dst, const void* src, UINT cnt) { /* ZR:same, NZ:different */ 80c7c56: b480 push {r7} 80c7c58: b089 sub sp, #36 ; 0x24 80c7c5a: af00 add r7, sp, #0 80c7c5c: 60f8 str r0, [r7, #12] 80c7c5e: 60b9 str r1, [r7, #8] 80c7c60: 607a str r2, [r7, #4] const BYTE *d = (const BYTE *)dst, *s = (const BYTE *)src; 80c7c62: 68fb ldr r3, [r7, #12] 80c7c64: 61fb str r3, [r7, #28] 80c7c66: 68bb ldr r3, [r7, #8] 80c7c68: 61bb str r3, [r7, #24] int r = 0; 80c7c6a: 2300 movs r3, #0 80c7c6c: 617b str r3, [r7, #20] do { r = *d++ - *s++; 80c7c6e: 69fb ldr r3, [r7, #28] 80c7c70: 1c5a adds r2, r3, #1 80c7c72: 61fa str r2, [r7, #28] 80c7c74: 781b ldrb r3, [r3, #0] 80c7c76: 4619 mov r1, r3 80c7c78: 69bb ldr r3, [r7, #24] 80c7c7a: 1c5a adds r2, r3, #1 80c7c7c: 61ba str r2, [r7, #24] 80c7c7e: 781b ldrb r3, [r3, #0] 80c7c80: 1acb subs r3, r1, r3 80c7c82: 617b str r3, [r7, #20] } while (--cnt && r == 0); 80c7c84: 687b ldr r3, [r7, #4] 80c7c86: 3b01 subs r3, #1 80c7c88: 607b str r3, [r7, #4] 80c7c8a: 687b ldr r3, [r7, #4] 80c7c8c: 2b00 cmp r3, #0 80c7c8e: d002 beq.n 80c7c96 80c7c90: 697b ldr r3, [r7, #20] 80c7c92: 2b00 cmp r3, #0 80c7c94: d0eb beq.n 80c7c6e return r; 80c7c96: 697b ldr r3, [r7, #20] } 80c7c98: 4618 mov r0, r3 80c7c9a: 3724 adds r7, #36 ; 0x24 80c7c9c: 46bd mov sp, r7 80c7c9e: f85d 7b04 ldr.w r7, [sp], #4 80c7ca2: 4770 bx lr 080c7ca4 : /* Check if chr is contained in the string */ static int chk_chr (const char* str, int chr) { /* NZ:contained, ZR:not contained */ 80c7ca4: b480 push {r7} 80c7ca6: b083 sub sp, #12 80c7ca8: af00 add r7, sp, #0 80c7caa: 6078 str r0, [r7, #4] 80c7cac: 6039 str r1, [r7, #0] while (*str && *str != chr) str++; 80c7cae: e002 b.n 80c7cb6 80c7cb0: 687b ldr r3, [r7, #4] 80c7cb2: 3301 adds r3, #1 80c7cb4: 607b str r3, [r7, #4] 80c7cb6: 687b ldr r3, [r7, #4] 80c7cb8: 781b ldrb r3, [r3, #0] 80c7cba: 2b00 cmp r3, #0 80c7cbc: d005 beq.n 80c7cca 80c7cbe: 687b ldr r3, [r7, #4] 80c7cc0: 781b ldrb r3, [r3, #0] 80c7cc2: 461a mov r2, r3 80c7cc4: 683b ldr r3, [r7, #0] 80c7cc6: 429a cmp r2, r3 80c7cc8: d1f2 bne.n 80c7cb0 return *str; 80c7cca: 687b ldr r3, [r7, #4] 80c7ccc: 781b ldrb r3, [r3, #0] } 80c7cce: 4618 mov r0, r3 80c7cd0: 370c adds r7, #12 80c7cd2: 46bd mov sp, r7 80c7cd4: f85d 7b04 ldr.w r7, [sp], #4 80c7cd8: 4770 bx lr 080c7cda : #if !_FS_READONLY static FRESULT sync_window ( /* Returns FR_OK or FR_DISK_ERROR */ FATFS* fs /* File system object */ ) { 80c7cda: b580 push {r7, lr} 80c7cdc: b086 sub sp, #24 80c7cde: af00 add r7, sp, #0 80c7ce0: 6078 str r0, [r7, #4] DWORD wsect; UINT nf; FRESULT res = FR_OK; 80c7ce2: 2300 movs r3, #0 80c7ce4: 73fb strb r3, [r7, #15] if (fs->wflag) { /* Write back the sector if it is dirty */ 80c7ce6: 687b ldr r3, [r7, #4] 80c7ce8: 78db ldrb r3, [r3, #3] 80c7cea: 2b00 cmp r3, #0 80c7cec: d034 beq.n 80c7d58 wsect = fs->winsect; /* Current sector number */ 80c7cee: 687b ldr r3, [r7, #4] 80c7cf0: 6b5b ldr r3, [r3, #52] ; 0x34 80c7cf2: 617b str r3, [r7, #20] if (disk_write(fs->drv, fs->win, wsect, 1) != RES_OK) { 80c7cf4: 687b ldr r3, [r7, #4] 80c7cf6: 7858 ldrb r0, [r3, #1] 80c7cf8: 687b ldr r3, [r7, #4] 80c7cfa: f103 0138 add.w r1, r3, #56 ; 0x38 80c7cfe: 2301 movs r3, #1 80c7d00: 697a ldr r2, [r7, #20] 80c7d02: f7ff fd6d bl 80c77e0 80c7d06: 4603 mov r3, r0 80c7d08: 2b00 cmp r3, #0 80c7d0a: d002 beq.n 80c7d12 res = FR_DISK_ERR; 80c7d0c: 2301 movs r3, #1 80c7d0e: 73fb strb r3, [r7, #15] 80c7d10: e022 b.n 80c7d58 } else { fs->wflag = 0; 80c7d12: 687b ldr r3, [r7, #4] 80c7d14: 2200 movs r2, #0 80c7d16: 70da strb r2, [r3, #3] if (wsect - fs->fatbase < fs->fsize) { /* Is it in the FAT area? */ 80c7d18: 687b ldr r3, [r7, #4] 80c7d1a: 6a9b ldr r3, [r3, #40] ; 0x28 80c7d1c: 697a ldr r2, [r7, #20] 80c7d1e: 1ad2 subs r2, r2, r3 80c7d20: 687b ldr r3, [r7, #4] 80c7d22: 6a1b ldr r3, [r3, #32] 80c7d24: 429a cmp r2, r3 80c7d26: d217 bcs.n 80c7d58 for (nf = fs->n_fats; nf >= 2; nf--) { /* Reflect the change to all FAT copies */ 80c7d28: 687b ldr r3, [r7, #4] 80c7d2a: 789b ldrb r3, [r3, #2] 80c7d2c: 613b str r3, [r7, #16] 80c7d2e: e010 b.n 80c7d52 wsect += fs->fsize; 80c7d30: 687b ldr r3, [r7, #4] 80c7d32: 6a1b ldr r3, [r3, #32] 80c7d34: 697a ldr r2, [r7, #20] 80c7d36: 4413 add r3, r2 80c7d38: 617b str r3, [r7, #20] disk_write(fs->drv, fs->win, wsect, 1); 80c7d3a: 687b ldr r3, [r7, #4] 80c7d3c: 7858 ldrb r0, [r3, #1] 80c7d3e: 687b ldr r3, [r7, #4] 80c7d40: f103 0138 add.w r1, r3, #56 ; 0x38 80c7d44: 2301 movs r3, #1 80c7d46: 697a ldr r2, [r7, #20] 80c7d48: f7ff fd4a bl 80c77e0 for (nf = fs->n_fats; nf >= 2; nf--) { /* Reflect the change to all FAT copies */ 80c7d4c: 693b ldr r3, [r7, #16] 80c7d4e: 3b01 subs r3, #1 80c7d50: 613b str r3, [r7, #16] 80c7d52: 693b ldr r3, [r7, #16] 80c7d54: 2b01 cmp r3, #1 80c7d56: d8eb bhi.n 80c7d30 } } } } return res; 80c7d58: 7bfb ldrb r3, [r7, #15] } 80c7d5a: 4618 mov r0, r3 80c7d5c: 3718 adds r7, #24 80c7d5e: 46bd mov sp, r7 80c7d60: bd80 pop {r7, pc} 080c7d62 : 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[] */ ) { 80c7d62: b580 push {r7, lr} 80c7d64: b084 sub sp, #16 80c7d66: af00 add r7, sp, #0 80c7d68: 6078 str r0, [r7, #4] 80c7d6a: 6039 str r1, [r7, #0] FRESULT res = FR_OK; 80c7d6c: 2300 movs r3, #0 80c7d6e: 73fb strb r3, [r7, #15] if (sector != fs->winsect) { /* Window offset changed? */ 80c7d70: 687b ldr r3, [r7, #4] 80c7d72: 6b5a ldr r2, [r3, #52] ; 0x34 80c7d74: 683b ldr r3, [r7, #0] 80c7d76: 429a cmp r2, r3 80c7d78: d01b beq.n 80c7db2 #if !_FS_READONLY res = sync_window(fs); /* Write-back changes */ 80c7d7a: 6878 ldr r0, [r7, #4] 80c7d7c: f7ff ffad bl 80c7cda 80c7d80: 4603 mov r3, r0 80c7d82: 73fb strb r3, [r7, #15] #endif if (res == FR_OK) { /* Fill sector window with new data */ 80c7d84: 7bfb ldrb r3, [r7, #15] 80c7d86: 2b00 cmp r3, #0 80c7d88: d113 bne.n 80c7db2 if (disk_read(fs->drv, fs->win, sector, 1) != RES_OK) { 80c7d8a: 687b ldr r3, [r7, #4] 80c7d8c: 7858 ldrb r0, [r3, #1] 80c7d8e: 687b ldr r3, [r7, #4] 80c7d90: f103 0138 add.w r1, r3, #56 ; 0x38 80c7d94: 2301 movs r3, #1 80c7d96: 683a ldr r2, [r7, #0] 80c7d98: f7ff fd02 bl 80c77a0 80c7d9c: 4603 mov r3, r0 80c7d9e: 2b00 cmp r3, #0 80c7da0: d004 beq.n 80c7dac sector = 0xFFFFFFFF; /* Invalidate window if data is not reliable */ 80c7da2: f04f 33ff mov.w r3, #4294967295 80c7da6: 603b str r3, [r7, #0] res = FR_DISK_ERR; 80c7da8: 2301 movs r3, #1 80c7daa: 73fb strb r3, [r7, #15] } fs->winsect = sector; 80c7dac: 687b ldr r3, [r7, #4] 80c7dae: 683a ldr r2, [r7, #0] 80c7db0: 635a str r2, [r3, #52] ; 0x34 } } return res; 80c7db2: 7bfb ldrb r3, [r7, #15] } 80c7db4: 4618 mov r0, r3 80c7db6: 3710 adds r7, #16 80c7db8: 46bd mov sp, r7 80c7dba: bd80 pop {r7, pc} 080c7dbc : static FRESULT sync_fs ( /* FR_OK:succeeded, !=0:error */ FATFS* fs /* File system object */ ) { 80c7dbc: b580 push {r7, lr} 80c7dbe: b084 sub sp, #16 80c7dc0: af00 add r7, sp, #0 80c7dc2: 6078 str r0, [r7, #4] FRESULT res; res = sync_window(fs); 80c7dc4: 6878 ldr r0, [r7, #4] 80c7dc6: f7ff ff88 bl 80c7cda 80c7dca: 4603 mov r3, r0 80c7dcc: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80c7dce: 7bfb ldrb r3, [r7, #15] 80c7dd0: 2b00 cmp r3, #0 80c7dd2: d158 bne.n 80c7e86 /* Update FSInfo sector if needed */ if (fs->fs_type == FS_FAT32 && fs->fsi_flag == 1) { 80c7dd4: 687b ldr r3, [r7, #4] 80c7dd6: 781b ldrb r3, [r3, #0] 80c7dd8: 2b03 cmp r3, #3 80c7dda: d148 bne.n 80c7e6e 80c7ddc: 687b ldr r3, [r7, #4] 80c7dde: 791b ldrb r3, [r3, #4] 80c7de0: 2b01 cmp r3, #1 80c7de2: d144 bne.n 80c7e6e /* Create FSInfo structure */ mem_set(fs->win, 0, SS(fs)); 80c7de4: 687b ldr r3, [r7, #4] 80c7de6: 3338 adds r3, #56 ; 0x38 80c7de8: f44f 7200 mov.w r2, #512 ; 0x200 80c7dec: 2100 movs r1, #0 80c7dee: 4618 mov r0, r3 80c7df0: f7ff ff17 bl 80c7c22 st_word(fs->win + BS_55AA, 0xAA55); 80c7df4: 687b ldr r3, [r7, #4] 80c7df6: 3338 adds r3, #56 ; 0x38 80c7df8: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c7dfc: f64a 2155 movw r1, #43605 ; 0xaa55 80c7e00: 4618 mov r0, r3 80c7e02: f7ff fe15 bl 80c7a30 st_dword(fs->win + FSI_LeadSig, 0x41615252); 80c7e06: 687b ldr r3, [r7, #4] 80c7e08: 3338 adds r3, #56 ; 0x38 80c7e0a: 4921 ldr r1, [pc, #132] ; (80c7e90 ) 80c7e0c: 4618 mov r0, r3 80c7e0e: f7ff fe2a bl 80c7a66 st_dword(fs->win + FSI_StrucSig, 0x61417272); 80c7e12: 687b ldr r3, [r7, #4] 80c7e14: 3338 adds r3, #56 ; 0x38 80c7e16: f503 73f2 add.w r3, r3, #484 ; 0x1e4 80c7e1a: 491e ldr r1, [pc, #120] ; (80c7e94 ) 80c7e1c: 4618 mov r0, r3 80c7e1e: f7ff fe22 bl 80c7a66 st_dword(fs->win + FSI_Free_Count, fs->free_clst); 80c7e22: 687b ldr r3, [r7, #4] 80c7e24: 3338 adds r3, #56 ; 0x38 80c7e26: f503 72f4 add.w r2, r3, #488 ; 0x1e8 80c7e2a: 687b ldr r3, [r7, #4] 80c7e2c: 699b ldr r3, [r3, #24] 80c7e2e: 4619 mov r1, r3 80c7e30: 4610 mov r0, r2 80c7e32: f7ff fe18 bl 80c7a66 st_dword(fs->win + FSI_Nxt_Free, fs->last_clst); 80c7e36: 687b ldr r3, [r7, #4] 80c7e38: 3338 adds r3, #56 ; 0x38 80c7e3a: f503 72f6 add.w r2, r3, #492 ; 0x1ec 80c7e3e: 687b ldr r3, [r7, #4] 80c7e40: 695b ldr r3, [r3, #20] 80c7e42: 4619 mov r1, r3 80c7e44: 4610 mov r0, r2 80c7e46: f7ff fe0e bl 80c7a66 /* Write it into the FSInfo sector */ fs->winsect = fs->volbase + 1; 80c7e4a: 687b ldr r3, [r7, #4] 80c7e4c: 6a5b ldr r3, [r3, #36] ; 0x24 80c7e4e: 1c5a adds r2, r3, #1 80c7e50: 687b ldr r3, [r7, #4] 80c7e52: 635a str r2, [r3, #52] ; 0x34 disk_write(fs->drv, fs->win, fs->winsect, 1); 80c7e54: 687b ldr r3, [r7, #4] 80c7e56: 7858 ldrb r0, [r3, #1] 80c7e58: 687b ldr r3, [r7, #4] 80c7e5a: f103 0138 add.w r1, r3, #56 ; 0x38 80c7e5e: 687b ldr r3, [r7, #4] 80c7e60: 6b5a ldr r2, [r3, #52] ; 0x34 80c7e62: 2301 movs r3, #1 80c7e64: f7ff fcbc bl 80c77e0 fs->fsi_flag = 0; 80c7e68: 687b ldr r3, [r7, #4] 80c7e6a: 2200 movs r2, #0 80c7e6c: 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; 80c7e6e: 687b ldr r3, [r7, #4] 80c7e70: 785b ldrb r3, [r3, #1] 80c7e72: 2200 movs r2, #0 80c7e74: 2100 movs r1, #0 80c7e76: 4618 mov r0, r3 80c7e78: f7ff fcd2 bl 80c7820 80c7e7c: 4603 mov r3, r0 80c7e7e: 2b00 cmp r3, #0 80c7e80: d001 beq.n 80c7e86 80c7e82: 2301 movs r3, #1 80c7e84: 73fb strb r3, [r7, #15] } return res; 80c7e86: 7bfb ldrb r3, [r7, #15] } 80c7e88: 4618 mov r0, r3 80c7e8a: 3710 adds r7, #16 80c7e8c: 46bd mov sp, r7 80c7e8e: bd80 pop {r7, pc} 80c7e90: 41615252 .word 0x41615252 80c7e94: 61417272 .word 0x61417272 080c7e98 : static DWORD clust2sect ( /* !=0:Sector number, 0:Failed (invalid cluster#) */ FATFS* fs, /* File system object */ DWORD clst /* Cluster# to be converted */ ) { 80c7e98: b480 push {r7} 80c7e9a: b083 sub sp, #12 80c7e9c: af00 add r7, sp, #0 80c7e9e: 6078 str r0, [r7, #4] 80c7ea0: 6039 str r1, [r7, #0] clst -= 2; 80c7ea2: 683b ldr r3, [r7, #0] 80c7ea4: 3b02 subs r3, #2 80c7ea6: 603b str r3, [r7, #0] if (clst >= fs->n_fatent - 2) return 0; /* Invalid cluster# */ 80c7ea8: 687b ldr r3, [r7, #4] 80c7eaa: 69db ldr r3, [r3, #28] 80c7eac: 1e9a subs r2, r3, #2 80c7eae: 683b ldr r3, [r7, #0] 80c7eb0: 429a cmp r2, r3 80c7eb2: d801 bhi.n 80c7eb8 80c7eb4: 2300 movs r3, #0 80c7eb6: e008 b.n 80c7eca return clst * fs->csize + fs->database; 80c7eb8: 687b ldr r3, [r7, #4] 80c7eba: 895b ldrh r3, [r3, #10] 80c7ebc: 461a mov r2, r3 80c7ebe: 683b ldr r3, [r7, #0] 80c7ec0: fb03 f202 mul.w r2, r3, r2 80c7ec4: 687b ldr r3, [r7, #4] 80c7ec6: 6b1b ldr r3, [r3, #48] ; 0x30 80c7ec8: 4413 add r3, r2 } 80c7eca: 4618 mov r0, r3 80c7ecc: 370c adds r7, #12 80c7ece: 46bd mov sp, r7 80c7ed0: f85d 7b04 ldr.w r7, [sp], #4 80c7ed4: 4770 bx lr ... 080c7ed8 : 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 */ ) { 80c7ed8: b590 push {r4, r7, lr} 80c7eda: b089 sub sp, #36 ; 0x24 80c7edc: af00 add r7, sp, #0 80c7ede: 6078 str r0, [r7, #4] 80c7ee0: 6039 str r1, [r7, #0] UINT wc, bc; DWORD val; FATFS *fs = obj->fs; 80c7ee2: 687a ldr r2, [r7, #4] 80c7ee4: 6812 ldr r2, [r2, #0] 80c7ee6: 61ba str r2, [r7, #24] if (clst < 2 || clst >= fs->n_fatent) { /* Check if in valid range */ 80c7ee8: 683a ldr r2, [r7, #0] 80c7eea: 2a01 cmp r2, #1 80c7eec: d904 bls.n 80c7ef8 80c7eee: 69ba ldr r2, [r7, #24] 80c7ef0: 69d1 ldr r1, [r2, #28] 80c7ef2: 683a ldr r2, [r7, #0] 80c7ef4: 4291 cmp r1, r2 80c7ef6: d802 bhi.n 80c7efe val = 1; /* Internal error */ 80c7ef8: 2301 movs r3, #1 80c7efa: 61fb str r3, [r7, #28] 80c7efc: e0fe b.n 80c80fc } else { val = 0xFFFFFFFF; /* Default value falls on disk error */ 80c7efe: f04f 32ff mov.w r2, #4294967295 80c7f02: 61fa str r2, [r7, #28] switch (fs->fs_type) { 80c7f04: 69ba ldr r2, [r7, #24] 80c7f06: 7812 ldrb r2, [r2, #0] 80c7f08: 3a01 subs r2, #1 80c7f0a: 2a03 cmp r2, #3 80c7f0c: f200 80ea bhi.w 80c80e4 80c7f10: a101 add r1, pc, #4 ; (adr r1, 80c7f18 ) 80c7f12: f851 f022 ldr.w pc, [r1, r2, lsl #2] 80c7f16: bf00 nop 80c7f18: 080c7f29 .word 0x080c7f29 80c7f1c: 080c7fb1 .word 0x080c7fb1 80c7f20: 080c7fe7 .word 0x080c7fe7 80c7f24: 080c801f .word 0x080c801f case FS_FAT12 : bc = (UINT)clst; bc += bc / 2; 80c7f28: 683b ldr r3, [r7, #0] 80c7f2a: 617b str r3, [r7, #20] 80c7f2c: 697b ldr r3, [r7, #20] 80c7f2e: 085b lsrs r3, r3, #1 80c7f30: 697a ldr r2, [r7, #20] 80c7f32: 4413 add r3, r2 80c7f34: 617b str r3, [r7, #20] if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; 80c7f36: 69bb ldr r3, [r7, #24] 80c7f38: 6a9a ldr r2, [r3, #40] ; 0x28 80c7f3a: 697b ldr r3, [r7, #20] 80c7f3c: 0a5b lsrs r3, r3, #9 80c7f3e: 4413 add r3, r2 80c7f40: 4619 mov r1, r3 80c7f42: 69b8 ldr r0, [r7, #24] 80c7f44: f7ff ff0d bl 80c7d62 80c7f48: 4603 mov r3, r0 80c7f4a: 2b00 cmp r3, #0 80c7f4c: f040 80cd bne.w 80c80ea wc = fs->win[bc++ % SS(fs)]; 80c7f50: 697b ldr r3, [r7, #20] 80c7f52: 1c5a adds r2, r3, #1 80c7f54: 617a str r2, [r7, #20] 80c7f56: f3c3 0308 ubfx r3, r3, #0, #9 80c7f5a: 69ba ldr r2, [r7, #24] 80c7f5c: 4413 add r3, r2 80c7f5e: f893 3038 ldrb.w r3, [r3, #56] ; 0x38 80c7f62: 613b str r3, [r7, #16] if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; 80c7f64: 69bb ldr r3, [r7, #24] 80c7f66: 6a9a ldr r2, [r3, #40] ; 0x28 80c7f68: 697b ldr r3, [r7, #20] 80c7f6a: 0a5b lsrs r3, r3, #9 80c7f6c: 4413 add r3, r2 80c7f6e: 4619 mov r1, r3 80c7f70: 69b8 ldr r0, [r7, #24] 80c7f72: f7ff fef6 bl 80c7d62 80c7f76: 4603 mov r3, r0 80c7f78: 2b00 cmp r3, #0 80c7f7a: f040 80b8 bne.w 80c80ee wc |= fs->win[bc % SS(fs)] << 8; 80c7f7e: 697b ldr r3, [r7, #20] 80c7f80: f3c3 0308 ubfx r3, r3, #0, #9 80c7f84: 69ba ldr r2, [r7, #24] 80c7f86: 4413 add r3, r2 80c7f88: f893 3038 ldrb.w r3, [r3, #56] ; 0x38 80c7f8c: 021b lsls r3, r3, #8 80c7f8e: 461a mov r2, r3 80c7f90: 693b ldr r3, [r7, #16] 80c7f92: 4313 orrs r3, r2 80c7f94: 613b str r3, [r7, #16] val = (clst & 1) ? (wc >> 4) : (wc & 0xFFF); 80c7f96: 683b ldr r3, [r7, #0] 80c7f98: f003 0301 and.w r3, r3, #1 80c7f9c: 2b00 cmp r3, #0 80c7f9e: d002 beq.n 80c7fa6 80c7fa0: 693b ldr r3, [r7, #16] 80c7fa2: 091b lsrs r3, r3, #4 80c7fa4: e002 b.n 80c7fac 80c7fa6: 693b ldr r3, [r7, #16] 80c7fa8: f3c3 030b ubfx r3, r3, #0, #12 80c7fac: 61fb str r3, [r7, #28] break; 80c7fae: e0a5 b.n 80c80fc case FS_FAT16 : if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 2))) != FR_OK) break; 80c7fb0: 69bb ldr r3, [r7, #24] 80c7fb2: 6a9a ldr r2, [r3, #40] ; 0x28 80c7fb4: 683b ldr r3, [r7, #0] 80c7fb6: 0a1b lsrs r3, r3, #8 80c7fb8: 4413 add r3, r2 80c7fba: 4619 mov r1, r3 80c7fbc: 69b8 ldr r0, [r7, #24] 80c7fbe: f7ff fed0 bl 80c7d62 80c7fc2: 4603 mov r3, r0 80c7fc4: 2b00 cmp r3, #0 80c7fc6: f040 8094 bne.w 80c80f2 val = ld_word(fs->win + clst * 2 % SS(fs)); 80c7fca: 69bb ldr r3, [r7, #24] 80c7fcc: f103 0238 add.w r2, r3, #56 ; 0x38 80c7fd0: 683b ldr r3, [r7, #0] 80c7fd2: 005b lsls r3, r3, #1 80c7fd4: f403 73ff and.w r3, r3, #510 ; 0x1fe 80c7fd8: 4413 add r3, r2 80c7fda: 4618 mov r0, r3 80c7fdc: f7ff fc3e bl 80c785c 80c7fe0: 4603 mov r3, r0 80c7fe2: 61fb str r3, [r7, #28] break; 80c7fe4: e08a b.n 80c80fc case FS_FAT32 : if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; 80c7fe6: 69bb ldr r3, [r7, #24] 80c7fe8: 6a9a ldr r2, [r3, #40] ; 0x28 80c7fea: 683b ldr r3, [r7, #0] 80c7fec: 09db lsrs r3, r3, #7 80c7fee: 4413 add r3, r2 80c7ff0: 4619 mov r1, r3 80c7ff2: 69b8 ldr r0, [r7, #24] 80c7ff4: f7ff feb5 bl 80c7d62 80c7ff8: 4603 mov r3, r0 80c7ffa: 2b00 cmp r3, #0 80c7ffc: d17b bne.n 80c80f6 val = ld_dword(fs->win + clst * 4 % SS(fs)) & 0x0FFFFFFF; 80c7ffe: 69bb ldr r3, [r7, #24] 80c8000: f103 0238 add.w r2, r3, #56 ; 0x38 80c8004: 683b ldr r3, [r7, #0] 80c8006: 009b lsls r3, r3, #2 80c8008: f403 73fe and.w r3, r3, #508 ; 0x1fc 80c800c: 4413 add r3, r2 80c800e: 4618 mov r0, r3 80c8010: f7ff fc3c bl 80c788c 80c8014: 4603 mov r3, r0 80c8016: f023 4370 bic.w r3, r3, #4026531840 ; 0xf0000000 80c801a: 61fb str r3, [r7, #28] break; 80c801c: e06e b.n 80c80fc #if _FS_EXFAT case FS_EXFAT : if (obj->objsize) { 80c801e: 687a ldr r2, [r7, #4] 80c8020: e9d2 1204 ldrd r1, r2, [r2, #16] 80c8024: 430a orrs r2, r1 80c8026: d05d beq.n 80c80e4 DWORD cofs = clst - obj->sclust; /* Offset from start cluster */ 80c8028: 687a ldr r2, [r7, #4] 80c802a: 6892 ldr r2, [r2, #8] 80c802c: 6839 ldr r1, [r7, #0] 80c802e: 1a8a subs r2, r1, r2 80c8030: 60fa str r2, [r7, #12] DWORD clen = (DWORD)((obj->objsize - 1) / SS(fs)) / fs->csize; /* Number of clusters - 1 */ 80c8032: 687a ldr r2, [r7, #4] 80c8034: e9d2 1204 ldrd r1, r2, [r2, #16] 80c8038: f111 31ff adds.w r1, r1, #4294967295 80c803c: f142 32ff adc.w r2, r2, #4294967295 80c8040: 0a4b lsrs r3, r1, #9 80c8042: ea43 53c2 orr.w r3, r3, r2, lsl #23 80c8046: 0a54 lsrs r4, r2, #9 80c8048: 461a mov r2, r3 80c804a: 69bb ldr r3, [r7, #24] 80c804c: 895b ldrh r3, [r3, #10] 80c804e: fbb2 f3f3 udiv r3, r2, r3 80c8052: 60bb str r3, [r7, #8] if (obj->stat == 2) { /* Is there no valid chain on the FAT? */ 80c8054: 687b ldr r3, [r7, #4] 80c8056: 79db ldrb r3, [r3, #7] 80c8058: 2b02 cmp r3, #2 80c805a: d10e bne.n 80c807a if (cofs <= clen) { 80c805c: 68fa ldr r2, [r7, #12] 80c805e: 68bb ldr r3, [r7, #8] 80c8060: 429a cmp r2, r3 80c8062: d80a bhi.n 80c807a val = (cofs == clen) ? 0x7FFFFFFF : clst + 1; /* Generate the value */ 80c8064: 68fa ldr r2, [r7, #12] 80c8066: 68bb ldr r3, [r7, #8] 80c8068: 429a cmp r2, r3 80c806a: d002 beq.n 80c8072 80c806c: 683b ldr r3, [r7, #0] 80c806e: 3301 adds r3, #1 80c8070: e001 b.n 80c8076 80c8072: f06f 4300 mvn.w r3, #2147483648 ; 0x80000000 80c8076: 61fb str r3, [r7, #28] break; 80c8078: e040 b.n 80c80fc } } if (obj->stat == 3 && cofs < obj->n_cont) { /* Is it in the 1st fragment? */ 80c807a: 687b ldr r3, [r7, #4] 80c807c: 79db ldrb r3, [r3, #7] 80c807e: 2b03 cmp r3, #3 80c8080: d108 bne.n 80c8094 80c8082: 687b ldr r3, [r7, #4] 80c8084: 699a ldr r2, [r3, #24] 80c8086: 68fb ldr r3, [r7, #12] 80c8088: 429a cmp r2, r3 80c808a: d903 bls.n 80c8094 val = clst + 1; /* Generate the value */ 80c808c: 683b ldr r3, [r7, #0] 80c808e: 3301 adds r3, #1 80c8090: 61fb str r3, [r7, #28] break; 80c8092: e033 b.n 80c80fc } if (obj->stat != 2) { /* Get value from FAT if FAT chain is valid */ 80c8094: 687b ldr r3, [r7, #4] 80c8096: 79db ldrb r3, [r3, #7] 80c8098: 2b02 cmp r3, #2 80c809a: d023 beq.n 80c80e4 if (obj->n_frag != 0) { /* Is it on the growing edge? */ 80c809c: 687b ldr r3, [r7, #4] 80c809e: 69db ldr r3, [r3, #28] 80c80a0: 2b00 cmp r3, #0 80c80a2: d003 beq.n 80c80ac val = 0x7FFFFFFF; /* Generate EOC */ 80c80a4: f06f 4300 mvn.w r3, #2147483648 ; 0x80000000 80c80a8: 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; 80c80aa: e027 b.n 80c80fc if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; 80c80ac: 69bb ldr r3, [r7, #24] 80c80ae: 6a9a ldr r2, [r3, #40] ; 0x28 80c80b0: 683b ldr r3, [r7, #0] 80c80b2: 09db lsrs r3, r3, #7 80c80b4: 4413 add r3, r2 80c80b6: 4619 mov r1, r3 80c80b8: 69b8 ldr r0, [r7, #24] 80c80ba: f7ff fe52 bl 80c7d62 80c80be: 4603 mov r3, r0 80c80c0: 2b00 cmp r3, #0 80c80c2: d11a bne.n 80c80fa val = ld_dword(fs->win + clst * 4 % SS(fs)) & 0x7FFFFFFF; 80c80c4: 69bb ldr r3, [r7, #24] 80c80c6: f103 0238 add.w r2, r3, #56 ; 0x38 80c80ca: 683b ldr r3, [r7, #0] 80c80cc: 009b lsls r3, r3, #2 80c80ce: f403 73fe and.w r3, r3, #508 ; 0x1fc 80c80d2: 4413 add r3, r2 80c80d4: 4618 mov r0, r3 80c80d6: f7ff fbd9 bl 80c788c 80c80da: 4603 mov r3, r0 80c80dc: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80c80e0: 61fb str r3, [r7, #28] break; 80c80e2: e00b b.n 80c80fc } } /* go to default */ #endif default: val = 1; /* Internal error */ 80c80e4: 2301 movs r3, #1 80c80e6: 61fb str r3, [r7, #28] 80c80e8: e008 b.n 80c80fc if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; 80c80ea: bf00 nop 80c80ec: e006 b.n 80c80fc if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; 80c80ee: bf00 nop 80c80f0: e004 b.n 80c80fc if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 2))) != FR_OK) break; 80c80f2: bf00 nop 80c80f4: e002 b.n 80c80fc if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; 80c80f6: bf00 nop 80c80f8: e000 b.n 80c80fc if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; 80c80fa: bf00 nop } } return val; 80c80fc: 69fb ldr r3, [r7, #28] } 80c80fe: 4618 mov r0, r3 80c8100: 3724 adds r7, #36 ; 0x24 80c8102: 46bd mov sp, r7 80c8104: bd90 pop {r4, r7, pc} 80c8106: bf00 nop 080c8108 : 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 */ ) { 80c8108: b590 push {r4, r7, lr} 80c810a: b089 sub sp, #36 ; 0x24 80c810c: af00 add r7, sp, #0 80c810e: 60f8 str r0, [r7, #12] 80c8110: 60b9 str r1, [r7, #8] 80c8112: 607a str r2, [r7, #4] UINT bc; BYTE *p; FRESULT res = FR_INT_ERR; 80c8114: 2302 movs r3, #2 80c8116: 77fb strb r3, [r7, #31] if (clst >= 2 && clst < fs->n_fatent) { /* Check if in valid range */ 80c8118: 68bb ldr r3, [r7, #8] 80c811a: 2b01 cmp r3, #1 80c811c: f240 80e2 bls.w 80c82e4 80c8120: 68fb ldr r3, [r7, #12] 80c8122: 69da ldr r2, [r3, #28] 80c8124: 68bb ldr r3, [r7, #8] 80c8126: 429a cmp r2, r3 80c8128: f240 80dc bls.w 80c82e4 switch (fs->fs_type) { 80c812c: 68fb ldr r3, [r7, #12] 80c812e: 781b ldrb r3, [r3, #0] 80c8130: 3b01 subs r3, #1 80c8132: 2b03 cmp r3, #3 80c8134: f200 80d6 bhi.w 80c82e4 80c8138: a201 add r2, pc, #4 ; (adr r2, 80c8140 ) 80c813a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c813e: bf00 nop 80c8140: 080c8151 .word 0x080c8151 80c8144: 080c822d .word 0x080c822d 80c8148: 080c826d .word 0x080c826d 80c814c: 080c826d .word 0x080c826d case FS_FAT12 : /* Bitfield items */ bc = (UINT)clst; bc += bc / 2; 80c8150: 68bb ldr r3, [r7, #8] 80c8152: 61bb str r3, [r7, #24] 80c8154: 69bb ldr r3, [r7, #24] 80c8156: 085b lsrs r3, r3, #1 80c8158: 69ba ldr r2, [r7, #24] 80c815a: 4413 add r3, r2 80c815c: 61bb str r3, [r7, #24] res = move_window(fs, fs->fatbase + (bc / SS(fs))); 80c815e: 68fb ldr r3, [r7, #12] 80c8160: 6a9a ldr r2, [r3, #40] ; 0x28 80c8162: 69bb ldr r3, [r7, #24] 80c8164: 0a5b lsrs r3, r3, #9 80c8166: 4413 add r3, r2 80c8168: 4619 mov r1, r3 80c816a: 68f8 ldr r0, [r7, #12] 80c816c: f7ff fdf9 bl 80c7d62 80c8170: 4603 mov r3, r0 80c8172: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c8174: 7ffb ldrb r3, [r7, #31] 80c8176: 2b00 cmp r3, #0 80c8178: f040 80ad bne.w 80c82d6 p = fs->win + bc++ % SS(fs); 80c817c: 68fb ldr r3, [r7, #12] 80c817e: f103 0238 add.w r2, r3, #56 ; 0x38 80c8182: 69bb ldr r3, [r7, #24] 80c8184: 1c59 adds r1, r3, #1 80c8186: 61b9 str r1, [r7, #24] 80c8188: f3c3 0308 ubfx r3, r3, #0, #9 80c818c: 4413 add r3, r2 80c818e: 617b str r3, [r7, #20] *p = (clst & 1) ? ((*p & 0x0F) | ((BYTE)val << 4)) : (BYTE)val; 80c8190: 68bb ldr r3, [r7, #8] 80c8192: f003 0301 and.w r3, r3, #1 80c8196: 2b00 cmp r3, #0 80c8198: d00d beq.n 80c81b6 80c819a: 697b ldr r3, [r7, #20] 80c819c: 781b ldrb r3, [r3, #0] 80c819e: b25b sxtb r3, r3 80c81a0: f003 030f and.w r3, r3, #15 80c81a4: b25a sxtb r2, r3 80c81a6: 687b ldr r3, [r7, #4] 80c81a8: b2db uxtb r3, r3 80c81aa: 011b lsls r3, r3, #4 80c81ac: b25b sxtb r3, r3 80c81ae: 4313 orrs r3, r2 80c81b0: b25b sxtb r3, r3 80c81b2: b2db uxtb r3, r3 80c81b4: e001 b.n 80c81ba 80c81b6: 687b ldr r3, [r7, #4] 80c81b8: b2db uxtb r3, r3 80c81ba: 697a ldr r2, [r7, #20] 80c81bc: 7013 strb r3, [r2, #0] fs->wflag = 1; 80c81be: 68fb ldr r3, [r7, #12] 80c81c0: 2201 movs r2, #1 80c81c2: 70da strb r2, [r3, #3] res = move_window(fs, fs->fatbase + (bc / SS(fs))); 80c81c4: 68fb ldr r3, [r7, #12] 80c81c6: 6a9a ldr r2, [r3, #40] ; 0x28 80c81c8: 69bb ldr r3, [r7, #24] 80c81ca: 0a5b lsrs r3, r3, #9 80c81cc: 4413 add r3, r2 80c81ce: 4619 mov r1, r3 80c81d0: 68f8 ldr r0, [r7, #12] 80c81d2: f7ff fdc6 bl 80c7d62 80c81d6: 4603 mov r3, r0 80c81d8: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c81da: 7ffb ldrb r3, [r7, #31] 80c81dc: 2b00 cmp r3, #0 80c81de: d17c bne.n 80c82da p = fs->win + bc % SS(fs); 80c81e0: 68fb ldr r3, [r7, #12] 80c81e2: f103 0238 add.w r2, r3, #56 ; 0x38 80c81e6: 69bb ldr r3, [r7, #24] 80c81e8: f3c3 0308 ubfx r3, r3, #0, #9 80c81ec: 4413 add r3, r2 80c81ee: 617b str r3, [r7, #20] *p = (clst & 1) ? (BYTE)(val >> 4) : ((*p & 0xF0) | ((BYTE)(val >> 8) & 0x0F)); 80c81f0: 68bb ldr r3, [r7, #8] 80c81f2: f003 0301 and.w r3, r3, #1 80c81f6: 2b00 cmp r3, #0 80c81f8: d003 beq.n 80c8202 80c81fa: 687b ldr r3, [r7, #4] 80c81fc: 091b lsrs r3, r3, #4 80c81fe: b2db uxtb r3, r3 80c8200: e00e b.n 80c8220 80c8202: 697b ldr r3, [r7, #20] 80c8204: 781b ldrb r3, [r3, #0] 80c8206: b25b sxtb r3, r3 80c8208: f023 030f bic.w r3, r3, #15 80c820c: b25a sxtb r2, r3 80c820e: 687b ldr r3, [r7, #4] 80c8210: 0a1b lsrs r3, r3, #8 80c8212: b25b sxtb r3, r3 80c8214: f003 030f and.w r3, r3, #15 80c8218: b25b sxtb r3, r3 80c821a: 4313 orrs r3, r2 80c821c: b25b sxtb r3, r3 80c821e: b2db uxtb r3, r3 80c8220: 697a ldr r2, [r7, #20] 80c8222: 7013 strb r3, [r2, #0] fs->wflag = 1; 80c8224: 68fb ldr r3, [r7, #12] 80c8226: 2201 movs r2, #1 80c8228: 70da strb r2, [r3, #3] break; 80c822a: e05b b.n 80c82e4 case FS_FAT16 : /* WORD aligned items */ res = move_window(fs, fs->fatbase + (clst / (SS(fs) / 2))); 80c822c: 68fb ldr r3, [r7, #12] 80c822e: 6a9a ldr r2, [r3, #40] ; 0x28 80c8230: 68bb ldr r3, [r7, #8] 80c8232: 0a1b lsrs r3, r3, #8 80c8234: 4413 add r3, r2 80c8236: 4619 mov r1, r3 80c8238: 68f8 ldr r0, [r7, #12] 80c823a: f7ff fd92 bl 80c7d62 80c823e: 4603 mov r3, r0 80c8240: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c8242: 7ffb ldrb r3, [r7, #31] 80c8244: 2b00 cmp r3, #0 80c8246: d14a bne.n 80c82de st_word(fs->win + clst * 2 % SS(fs), (WORD)val); 80c8248: 68fb ldr r3, [r7, #12] 80c824a: f103 0238 add.w r2, r3, #56 ; 0x38 80c824e: 68bb ldr r3, [r7, #8] 80c8250: 005b lsls r3, r3, #1 80c8252: f403 73ff and.w r3, r3, #510 ; 0x1fe 80c8256: 4413 add r3, r2 80c8258: 687a ldr r2, [r7, #4] 80c825a: b292 uxth r2, r2 80c825c: 4611 mov r1, r2 80c825e: 4618 mov r0, r3 80c8260: f7ff fbe6 bl 80c7a30 fs->wflag = 1; 80c8264: 68fb ldr r3, [r7, #12] 80c8266: 2201 movs r2, #1 80c8268: 70da strb r2, [r3, #3] break; 80c826a: e03b b.n 80c82e4 case FS_FAT32 : /* DWORD aligned items */ #if _FS_EXFAT case FS_EXFAT : #endif res = move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))); 80c826c: 68fb ldr r3, [r7, #12] 80c826e: 6a9a ldr r2, [r3, #40] ; 0x28 80c8270: 68bb ldr r3, [r7, #8] 80c8272: 09db lsrs r3, r3, #7 80c8274: 4413 add r3, r2 80c8276: 4619 mov r1, r3 80c8278: 68f8 ldr r0, [r7, #12] 80c827a: f7ff fd72 bl 80c7d62 80c827e: 4603 mov r3, r0 80c8280: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c8282: 7ffb ldrb r3, [r7, #31] 80c8284: 2b00 cmp r3, #0 80c8286: d12c bne.n 80c82e2 if (!_FS_EXFAT || fs->fs_type != FS_EXFAT) { 80c8288: 68fb ldr r3, [r7, #12] 80c828a: 781b ldrb r3, [r3, #0] 80c828c: 2b04 cmp r3, #4 80c828e: d012 beq.n 80c82b6 val = (val & 0x0FFFFFFF) | (ld_dword(fs->win + clst * 4 % SS(fs)) & 0xF0000000); 80c8290: 687b ldr r3, [r7, #4] 80c8292: f023 4470 bic.w r4, r3, #4026531840 ; 0xf0000000 80c8296: 68fb ldr r3, [r7, #12] 80c8298: f103 0238 add.w r2, r3, #56 ; 0x38 80c829c: 68bb ldr r3, [r7, #8] 80c829e: 009b lsls r3, r3, #2 80c82a0: f403 73fe and.w r3, r3, #508 ; 0x1fc 80c82a4: 4413 add r3, r2 80c82a6: 4618 mov r0, r3 80c82a8: f7ff faf0 bl 80c788c 80c82ac: 4603 mov r3, r0 80c82ae: f003 4370 and.w r3, r3, #4026531840 ; 0xf0000000 80c82b2: 4323 orrs r3, r4 80c82b4: 607b str r3, [r7, #4] } st_dword(fs->win + clst * 4 % SS(fs), val); 80c82b6: 68fb ldr r3, [r7, #12] 80c82b8: f103 0238 add.w r2, r3, #56 ; 0x38 80c82bc: 68bb ldr r3, [r7, #8] 80c82be: 009b lsls r3, r3, #2 80c82c0: f403 73fe and.w r3, r3, #508 ; 0x1fc 80c82c4: 4413 add r3, r2 80c82c6: 6879 ldr r1, [r7, #4] 80c82c8: 4618 mov r0, r3 80c82ca: f7ff fbcc bl 80c7a66 fs->wflag = 1; 80c82ce: 68fb ldr r3, [r7, #12] 80c82d0: 2201 movs r2, #1 80c82d2: 70da strb r2, [r3, #3] break; 80c82d4: e006 b.n 80c82e4 if (res != FR_OK) break; 80c82d6: bf00 nop 80c82d8: e004 b.n 80c82e4 if (res != FR_OK) break; 80c82da: bf00 nop 80c82dc: e002 b.n 80c82e4 if (res != FR_OK) break; 80c82de: bf00 nop 80c82e0: e000 b.n 80c82e4 if (res != FR_OK) break; 80c82e2: bf00 nop } } return res; 80c82e4: 7ffb ldrb r3, [r7, #31] } 80c82e6: 4618 mov r0, r3 80c82e8: 3724 adds r7, #36 ; 0x24 80c82ea: 46bd mov sp, r7 80c82ec: bd90 pop {r4, r7, pc} 80c82ee: bf00 nop 080c82f0 : 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..) */ ) { 80c82f0: b580 push {r7, lr} 80c82f2: b08a sub sp, #40 ; 0x28 80c82f4: af00 add r7, sp, #0 80c82f6: 60f8 str r0, [r7, #12] 80c82f8: 60b9 str r1, [r7, #8] 80c82fa: 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 */ 80c82fc: 68bb ldr r3, [r7, #8] 80c82fe: 3b02 subs r3, #2 80c8300: 60bb str r3, [r7, #8] if (clst >= fs->n_fatent - 2) clst = 0; 80c8302: 68fb ldr r3, [r7, #12] 80c8304: 69db ldr r3, [r3, #28] 80c8306: 1e9a subs r2, r3, #2 80c8308: 68bb ldr r3, [r7, #8] 80c830a: 429a cmp r2, r3 80c830c: d801 bhi.n 80c8312 80c830e: 2300 movs r3, #0 80c8310: 60bb str r3, [r7, #8] scl = val = clst; ctr = 0; 80c8312: 68bb ldr r3, [r7, #8] 80c8314: 61fb str r3, [r7, #28] 80c8316: 69fb ldr r3, [r7, #28] 80c8318: 61bb str r3, [r7, #24] 80c831a: 2300 movs r3, #0 80c831c: 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) */ 80c831e: 68fb ldr r3, [r7, #12] 80c8320: 6b1a ldr r2, [r3, #48] ; 0x30 80c8322: 69fb ldr r3, [r7, #28] 80c8324: 0b1b lsrs r3, r3, #12 80c8326: 4413 add r3, r2 80c8328: 4619 mov r1, r3 80c832a: 68f8 ldr r0, [r7, #12] 80c832c: f7ff fd19 bl 80c7d62 80c8330: 4603 mov r3, r0 80c8332: 2b00 cmp r3, #0 80c8334: d002 beq.n 80c833c 80c8336: f04f 33ff mov.w r3, #4294967295 80c833a: e051 b.n 80c83e0 i = val / 8 % SS(fs); bm = 1 << (val % 8); 80c833c: 69fb ldr r3, [r7, #28] 80c833e: 08db lsrs r3, r3, #3 80c8340: f3c3 0308 ubfx r3, r3, #0, #9 80c8344: 623b str r3, [r7, #32] 80c8346: 69fb ldr r3, [r7, #28] 80c8348: f003 0307 and.w r3, r3, #7 80c834c: 2201 movs r2, #1 80c834e: fa02 f303 lsl.w r3, r2, r3 80c8352: f887 3027 strb.w r3, [r7, #39] ; 0x27 do { do { bv = fs->win[i] & bm; bm <<= 1; /* Get bit value */ 80c8356: 68fa ldr r2, [r7, #12] 80c8358: 6a3b ldr r3, [r7, #32] 80c835a: 4413 add r3, r2 80c835c: 3338 adds r3, #56 ; 0x38 80c835e: 781a ldrb r2, [r3, #0] 80c8360: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c8364: 4013 ands r3, r2 80c8366: 74fb strb r3, [r7, #19] 80c8368: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c836c: 005b lsls r3, r3, #1 80c836e: f887 3027 strb.w r3, [r7, #39] ; 0x27 if (++val >= fs->n_fatent - 2) { /* Next cluster (with wrap-around) */ 80c8372: 69fb ldr r3, [r7, #28] 80c8374: 3301 adds r3, #1 80c8376: 61fb str r3, [r7, #28] 80c8378: 68fb ldr r3, [r7, #12] 80c837a: 69db ldr r3, [r3, #28] 80c837c: 3b02 subs r3, #2 80c837e: 69fa ldr r2, [r7, #28] 80c8380: 429a cmp r2, r3 80c8382: d307 bcc.n 80c8394 val = 0; bm = 0; i = SS(fs); 80c8384: 2300 movs r3, #0 80c8386: 61fb str r3, [r7, #28] 80c8388: 2300 movs r3, #0 80c838a: f887 3027 strb.w r3, [r7, #39] ; 0x27 80c838e: f44f 7300 mov.w r3, #512 ; 0x200 80c8392: 623b str r3, [r7, #32] } if (!bv) { /* Is it a free cluster? */ 80c8394: 7cfb ldrb r3, [r7, #19] 80c8396: 2b00 cmp r3, #0 80c8398: d109 bne.n 80c83ae if (++ctr == ncl) return scl + 2; /* Check if run length is sufficient for required */ 80c839a: 697b ldr r3, [r7, #20] 80c839c: 3301 adds r3, #1 80c839e: 617b str r3, [r7, #20] 80c83a0: 697a ldr r2, [r7, #20] 80c83a2: 687b ldr r3, [r7, #4] 80c83a4: 429a cmp r2, r3 80c83a6: d106 bne.n 80c83b6 80c83a8: 69bb ldr r3, [r7, #24] 80c83aa: 3302 adds r3, #2 80c83ac: e018 b.n 80c83e0 } else { scl = val; ctr = 0; /* Encountered a cluster in-use, restart to scan */ 80c83ae: 69fb ldr r3, [r7, #28] 80c83b0: 61bb str r3, [r7, #24] 80c83b2: 2300 movs r3, #0 80c83b4: 617b str r3, [r7, #20] } if (val == clst) return 0; /* All cluster scanned? */ 80c83b6: 69fa ldr r2, [r7, #28] 80c83b8: 68bb ldr r3, [r7, #8] 80c83ba: 429a cmp r2, r3 80c83bc: d101 bne.n 80c83c2 80c83be: 2300 movs r3, #0 80c83c0: e00e b.n 80c83e0 } while (bm); 80c83c2: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c83c6: 2b00 cmp r3, #0 80c83c8: d1c5 bne.n 80c8356 bm = 1; 80c83ca: 2301 movs r3, #1 80c83cc: f887 3027 strb.w r3, [r7, #39] ; 0x27 } while (++i < SS(fs)); 80c83d0: 6a3b ldr r3, [r7, #32] 80c83d2: 3301 adds r3, #1 80c83d4: 623b str r3, [r7, #32] 80c83d6: 6a3b ldr r3, [r7, #32] 80c83d8: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c83dc: d3bb bcc.n 80c8356 if (move_window(fs, fs->database + val / 8 / SS(fs)) != FR_OK) return 0xFFFFFFFF; /* (assuming bitmap is located top of the cluster heap) */ 80c83de: e79e b.n 80c831e } } 80c83e0: 4618 mov r0, r3 80c83e2: 3728 adds r7, #40 ; 0x28 80c83e4: 46bd mov sp, r7 80c83e6: bd80 pop {r7, pc} 080c83e8 : 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) */ ) { 80c83e8: b580 push {r7, lr} 80c83ea: b088 sub sp, #32 80c83ec: af00 add r7, sp, #0 80c83ee: 60f8 str r0, [r7, #12] 80c83f0: 60b9 str r1, [r7, #8] 80c83f2: 607a str r2, [r7, #4] 80c83f4: 603b str r3, [r7, #0] BYTE bm; UINT i; DWORD sect; clst -= 2; /* The first bit corresponds to cluster #2 */ 80c83f6: 68bb ldr r3, [r7, #8] 80c83f8: 3b02 subs r3, #2 80c83fa: 60bb str r3, [r7, #8] sect = fs->database + clst / 8 / SS(fs); /* Sector address (assuming bitmap is located top of the cluster heap) */ 80c83fc: 68fb ldr r3, [r7, #12] 80c83fe: 6b1a ldr r2, [r3, #48] ; 0x30 80c8400: 68bb ldr r3, [r7, #8] 80c8402: 0b1b lsrs r3, r3, #12 80c8404: 4413 add r3, r2 80c8406: 617b str r3, [r7, #20] i = clst / 8 % SS(fs); /* Byte offset in the sector */ 80c8408: 68bb ldr r3, [r7, #8] 80c840a: 08db lsrs r3, r3, #3 80c840c: f3c3 0308 ubfx r3, r3, #0, #9 80c8410: 61bb str r3, [r7, #24] bm = 1 << (clst % 8); /* Bit mask in the byte */ 80c8412: 68bb ldr r3, [r7, #8] 80c8414: f003 0307 and.w r3, r3, #7 80c8418: 2201 movs r2, #1 80c841a: fa02 f303 lsl.w r3, r2, r3 80c841e: 77fb strb r3, [r7, #31] for (;;) { if (move_window(fs, sect++) != FR_OK) return FR_DISK_ERR; 80c8420: 697b ldr r3, [r7, #20] 80c8422: 1c5a adds r2, r3, #1 80c8424: 617a str r2, [r7, #20] 80c8426: 4619 mov r1, r3 80c8428: 68f8 ldr r0, [r7, #12] 80c842a: f7ff fc9a bl 80c7d62 80c842e: 4603 mov r3, r0 80c8430: 2b00 cmp r3, #0 80c8432: d001 beq.n 80c8438 80c8434: 2301 movs r3, #1 80c8436: e03d b.n 80c84b4 do { do { if (bv == (int)((fs->win[i] & bm) != 0)) return FR_INT_ERR; /* Is the bit expected value? */ 80c8438: 68fa ldr r2, [r7, #12] 80c843a: 69bb ldr r3, [r7, #24] 80c843c: 4413 add r3, r2 80c843e: 3338 adds r3, #56 ; 0x38 80c8440: 781a ldrb r2, [r3, #0] 80c8442: 7ffb ldrb r3, [r7, #31] 80c8444: 4013 ands r3, r2 80c8446: b2db uxtb r3, r3 80c8448: 2b00 cmp r3, #0 80c844a: bf14 ite ne 80c844c: 2301 movne r3, #1 80c844e: 2300 moveq r3, #0 80c8450: b2db uxtb r3, r3 80c8452: 461a mov r2, r3 80c8454: 683b ldr r3, [r7, #0] 80c8456: 429a cmp r2, r3 80c8458: d101 bne.n 80c845e 80c845a: 2302 movs r3, #2 80c845c: e02a b.n 80c84b4 fs->win[i] ^= bm; /* Flip the bit */ 80c845e: 68fa ldr r2, [r7, #12] 80c8460: 69bb ldr r3, [r7, #24] 80c8462: 4413 add r3, r2 80c8464: 3338 adds r3, #56 ; 0x38 80c8466: 781a ldrb r2, [r3, #0] 80c8468: 7ffb ldrb r3, [r7, #31] 80c846a: 4053 eors r3, r2 80c846c: b2d9 uxtb r1, r3 80c846e: 68fa ldr r2, [r7, #12] 80c8470: 69bb ldr r3, [r7, #24] 80c8472: 4413 add r3, r2 80c8474: 3338 adds r3, #56 ; 0x38 80c8476: 460a mov r2, r1 80c8478: 701a strb r2, [r3, #0] fs->wflag = 1; 80c847a: 68fb ldr r3, [r7, #12] 80c847c: 2201 movs r2, #1 80c847e: 70da strb r2, [r3, #3] if (--ncl == 0) return FR_OK; /* All bits processed? */ 80c8480: 687b ldr r3, [r7, #4] 80c8482: 3b01 subs r3, #1 80c8484: 607b str r3, [r7, #4] 80c8486: 687b ldr r3, [r7, #4] 80c8488: 2b00 cmp r3, #0 80c848a: d101 bne.n 80c8490 80c848c: 2300 movs r3, #0 80c848e: e011 b.n 80c84b4 } while (bm <<= 1); /* Next bit */ 80c8490: 7ffb ldrb r3, [r7, #31] 80c8492: 005b lsls r3, r3, #1 80c8494: 77fb strb r3, [r7, #31] 80c8496: 7ffb ldrb r3, [r7, #31] 80c8498: 2b00 cmp r3, #0 80c849a: d1cd bne.n 80c8438 bm = 1; 80c849c: 2301 movs r3, #1 80c849e: 77fb strb r3, [r7, #31] } while (++i < SS(fs)); /* Next byte */ 80c84a0: 69bb ldr r3, [r7, #24] 80c84a2: 3301 adds r3, #1 80c84a4: 61bb str r3, [r7, #24] 80c84a6: 69bb ldr r3, [r7, #24] 80c84a8: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c84ac: d3c4 bcc.n 80c8438 i = 0; 80c84ae: 2300 movs r3, #0 80c84b0: 61bb str r3, [r7, #24] if (move_window(fs, sect++) != FR_OK) return FR_DISK_ERR; 80c84b2: e7b5 b.n 80c8420 } } 80c84b4: 4618 mov r0, r3 80c84b6: 3720 adds r7, #32 80c84b8: 46bd mov sp, r7 80c84ba: bd80 pop {r7, pc} 080c84bc : static FRESULT fill_first_frag ( _FDID* obj /* Pointer to the corresponding object */ ) { 80c84bc: b580 push {r7, lr} 80c84be: b086 sub sp, #24 80c84c0: af00 add r7, sp, #0 80c84c2: 6078 str r0, [r7, #4] FRESULT res; DWORD cl, n; if (obj->stat == 3) { /* Has the object been changed 'fragmented'? */ 80c84c4: 687b ldr r3, [r7, #4] 80c84c6: 79db ldrb r3, [r3, #7] 80c84c8: 2b03 cmp r3, #3 80c84ca: d121 bne.n 80c8510 for (cl = obj->sclust, n = obj->n_cont; n; cl++, n--) { /* Create cluster chain on the FAT */ 80c84cc: 687b ldr r3, [r7, #4] 80c84ce: 689b ldr r3, [r3, #8] 80c84d0: 617b str r3, [r7, #20] 80c84d2: 687b ldr r3, [r7, #4] 80c84d4: 699b ldr r3, [r3, #24] 80c84d6: 613b str r3, [r7, #16] 80c84d8: e014 b.n 80c8504 res = put_fat(obj->fs, cl, cl + 1); 80c84da: 687b ldr r3, [r7, #4] 80c84dc: 6818 ldr r0, [r3, #0] 80c84de: 697b ldr r3, [r7, #20] 80c84e0: 3301 adds r3, #1 80c84e2: 461a mov r2, r3 80c84e4: 6979 ldr r1, [r7, #20] 80c84e6: f7ff fe0f bl 80c8108 80c84ea: 4603 mov r3, r0 80c84ec: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c84ee: 7bfb ldrb r3, [r7, #15] 80c84f0: 2b00 cmp r3, #0 80c84f2: d001 beq.n 80c84f8 80c84f4: 7bfb ldrb r3, [r7, #15] 80c84f6: e00c b.n 80c8512 for (cl = obj->sclust, n = obj->n_cont; n; cl++, n--) { /* Create cluster chain on the FAT */ 80c84f8: 697b ldr r3, [r7, #20] 80c84fa: 3301 adds r3, #1 80c84fc: 617b str r3, [r7, #20] 80c84fe: 693b ldr r3, [r7, #16] 80c8500: 3b01 subs r3, #1 80c8502: 613b str r3, [r7, #16] 80c8504: 693b ldr r3, [r7, #16] 80c8506: 2b00 cmp r3, #0 80c8508: d1e7 bne.n 80c84da } obj->stat = 0; /* Change status 'FAT chain is valid' */ 80c850a: 687b ldr r3, [r7, #4] 80c850c: 2200 movs r2, #0 80c850e: 71da strb r2, [r3, #7] } return FR_OK; 80c8510: 2300 movs r3, #0 } 80c8512: 4618 mov r0, r3 80c8514: 3718 adds r7, #24 80c8516: 46bd mov sp, r7 80c8518: bd80 pop {r7, pc} 080c851a : 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 */ ) { 80c851a: b580 push {r7, lr} 80c851c: b086 sub sp, #24 80c851e: af00 add r7, sp, #0 80c8520: 60f8 str r0, [r7, #12] 80c8522: 60b9 str r1, [r7, #8] 80c8524: 607a str r2, [r7, #4] FRESULT res; while (obj->n_frag > 0) { /* Create the last chain on the FAT */ 80c8526: e020 b.n 80c856a res = put_fat(obj->fs, lcl - obj->n_frag + 1, (obj->n_frag > 1) ? lcl - obj->n_frag + 2 : term); 80c8528: 68fb ldr r3, [r7, #12] 80c852a: 6818 ldr r0, [r3, #0] 80c852c: 68fb ldr r3, [r7, #12] 80c852e: 69db ldr r3, [r3, #28] 80c8530: 68ba ldr r2, [r7, #8] 80c8532: 1ad3 subs r3, r2, r3 80c8534: 1c59 adds r1, r3, #1 80c8536: 68fb ldr r3, [r7, #12] 80c8538: 69db ldr r3, [r3, #28] 80c853a: 2b01 cmp r3, #1 80c853c: d905 bls.n 80c854a 80c853e: 68fb ldr r3, [r7, #12] 80c8540: 69db ldr r3, [r3, #28] 80c8542: 68ba ldr r2, [r7, #8] 80c8544: 1ad3 subs r3, r2, r3 80c8546: 3302 adds r3, #2 80c8548: e000 b.n 80c854c 80c854a: 687b ldr r3, [r7, #4] 80c854c: 461a mov r2, r3 80c854e: f7ff fddb bl 80c8108 80c8552: 4603 mov r3, r0 80c8554: 75fb strb r3, [r7, #23] if (res != FR_OK) return res; 80c8556: 7dfb ldrb r3, [r7, #23] 80c8558: 2b00 cmp r3, #0 80c855a: d001 beq.n 80c8560 80c855c: 7dfb ldrb r3, [r7, #23] 80c855e: e009 b.n 80c8574 obj->n_frag--; 80c8560: 68fb ldr r3, [r7, #12] 80c8562: 69db ldr r3, [r3, #28] 80c8564: 1e5a subs r2, r3, #1 80c8566: 68fb ldr r3, [r7, #12] 80c8568: 61da str r2, [r3, #28] while (obj->n_frag > 0) { /* Create the last chain on the FAT */ 80c856a: 68fb ldr r3, [r7, #12] 80c856c: 69db ldr r3, [r3, #28] 80c856e: 2b00 cmp r3, #0 80c8570: d1da bne.n 80c8528 } return FR_OK; 80c8572: 2300 movs r3, #0 } 80c8574: 4618 mov r0, r3 80c8576: 3718 adds r7, #24 80c8578: 46bd mov sp, r7 80c857a: bd80 pop {r7, pc} 080c857c : 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) */ ) { 80c857c: b580 push {r7, lr} 80c857e: b08a sub sp, #40 ; 0x28 80c8580: af00 add r7, sp, #0 80c8582: 60f8 str r0, [r7, #12] 80c8584: 60b9 str r1, [r7, #8] 80c8586: 607a str r2, [r7, #4] FRESULT res = FR_OK; 80c8588: 2300 movs r3, #0 80c858a: 77fb strb r3, [r7, #31] DWORD nxt; FATFS *fs = obj->fs; 80c858c: 68fb ldr r3, [r7, #12] 80c858e: 681b ldr r3, [r3, #0] 80c8590: 61bb str r3, [r7, #24] #if _FS_EXFAT || _USE_TRIM DWORD scl = clst, ecl = clst; 80c8592: 68bb ldr r3, [r7, #8] 80c8594: 627b str r3, [r7, #36] ; 0x24 80c8596: 68bb ldr r3, [r7, #8] 80c8598: 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 */ 80c859a: 68bb ldr r3, [r7, #8] 80c859c: 2b01 cmp r3, #1 80c859e: d904 bls.n 80c85aa 80c85a0: 69bb ldr r3, [r7, #24] 80c85a2: 69da ldr r2, [r3, #28] 80c85a4: 68bb ldr r3, [r7, #8] 80c85a6: 429a cmp r2, r3 80c85a8: d801 bhi.n 80c85ae 80c85aa: 2302 movs r3, #2 80c85ac: e096 b.n 80c86dc /* Mark the previous cluster 'EOC' on the FAT if it exists */ if (pclst && (!_FS_EXFAT || fs->fs_type != FS_EXFAT || obj->stat != 2)) { 80c85ae: 687b ldr r3, [r7, #4] 80c85b0: 2b00 cmp r3, #0 80c85b2: d014 beq.n 80c85de 80c85b4: 69bb ldr r3, [r7, #24] 80c85b6: 781b ldrb r3, [r3, #0] 80c85b8: 2b04 cmp r3, #4 80c85ba: d103 bne.n 80c85c4 80c85bc: 68fb ldr r3, [r7, #12] 80c85be: 79db ldrb r3, [r3, #7] 80c85c0: 2b02 cmp r3, #2 80c85c2: d00c beq.n 80c85de res = put_fat(fs, pclst, 0xFFFFFFFF); 80c85c4: f04f 32ff mov.w r2, #4294967295 80c85c8: 6879 ldr r1, [r7, #4] 80c85ca: 69b8 ldr r0, [r7, #24] 80c85cc: f7ff fd9c bl 80c8108 80c85d0: 4603 mov r3, r0 80c85d2: 77fb strb r3, [r7, #31] if (res != FR_OK) return res; 80c85d4: 7ffb ldrb r3, [r7, #31] 80c85d6: 2b00 cmp r3, #0 80c85d8: d001 beq.n 80c85de 80c85da: 7ffb ldrb r3, [r7, #31] 80c85dc: e07e b.n 80c86dc } /* Remove the chain */ do { nxt = get_fat(obj, clst); /* Get cluster status */ 80c85de: 68b9 ldr r1, [r7, #8] 80c85e0: 68f8 ldr r0, [r7, #12] 80c85e2: f7ff fc79 bl 80c7ed8 80c85e6: 6178 str r0, [r7, #20] if (nxt == 0) break; /* Empty cluster? */ 80c85e8: 697b ldr r3, [r7, #20] 80c85ea: 2b00 cmp r3, #0 80c85ec: d055 beq.n 80c869a if (nxt == 1) return FR_INT_ERR; /* Internal error? */ 80c85ee: 697b ldr r3, [r7, #20] 80c85f0: 2b01 cmp r3, #1 80c85f2: d101 bne.n 80c85f8 80c85f4: 2302 movs r3, #2 80c85f6: e071 b.n 80c86dc if (nxt == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error? */ 80c85f8: 697b ldr r3, [r7, #20] 80c85fa: f1b3 3fff cmp.w r3, #4294967295 80c85fe: d101 bne.n 80c8604 80c8600: 2301 movs r3, #1 80c8602: e06b b.n 80c86dc if (!_FS_EXFAT || fs->fs_type != FS_EXFAT) { 80c8604: 69bb ldr r3, [r7, #24] 80c8606: 781b ldrb r3, [r3, #0] 80c8608: 2b04 cmp r3, #4 80c860a: d00b beq.n 80c8624 res = put_fat(fs, clst, 0); /* Mark the cluster 'free' on the FAT */ 80c860c: 2200 movs r2, #0 80c860e: 68b9 ldr r1, [r7, #8] 80c8610: 69b8 ldr r0, [r7, #24] 80c8612: f7ff fd79 bl 80c8108 80c8616: 4603 mov r3, r0 80c8618: 77fb strb r3, [r7, #31] if (res != FR_OK) return res; 80c861a: 7ffb ldrb r3, [r7, #31] 80c861c: 2b00 cmp r3, #0 80c861e: d001 beq.n 80c8624 80c8620: 7ffb ldrb r3, [r7, #31] 80c8622: e05b b.n 80c86dc } if (fs->free_clst < fs->n_fatent - 2) { /* Update FSINFO */ 80c8624: 69bb ldr r3, [r7, #24] 80c8626: 699a ldr r2, [r3, #24] 80c8628: 69bb ldr r3, [r7, #24] 80c862a: 69db ldr r3, [r3, #28] 80c862c: 3b02 subs r3, #2 80c862e: 429a cmp r2, r3 80c8630: d20b bcs.n 80c864a fs->free_clst++; 80c8632: 69bb ldr r3, [r7, #24] 80c8634: 699b ldr r3, [r3, #24] 80c8636: 1c5a adds r2, r3, #1 80c8638: 69bb ldr r3, [r7, #24] 80c863a: 619a str r2, [r3, #24] fs->fsi_flag |= 1; 80c863c: 69bb ldr r3, [r7, #24] 80c863e: 791b ldrb r3, [r3, #4] 80c8640: f043 0301 orr.w r3, r3, #1 80c8644: b2da uxtb r2, r3 80c8646: 69bb ldr r3, [r7, #24] 80c8648: 711a strb r2, [r3, #4] } #if _FS_EXFAT || _USE_TRIM if (ecl + 1 == nxt) { /* Is next cluster contiguous? */ 80c864a: 6a3b ldr r3, [r7, #32] 80c864c: 1c5a adds r2, r3, #1 80c864e: 697b ldr r3, [r7, #20] 80c8650: 429a cmp r2, r3 80c8652: d102 bne.n 80c865a ecl = nxt; 80c8654: 697b ldr r3, [r7, #20] 80c8656: 623b str r3, [r7, #32] 80c8658: e017 b.n 80c868a } else { /* End of contiguous cluster block */ #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80c865a: 69bb ldr r3, [r7, #24] 80c865c: 781b ldrb r3, [r3, #0] 80c865e: 2b04 cmp r3, #4 80c8660: d10f bne.n 80c8682 res = change_bitmap(fs, scl, ecl - scl + 1, 0); /* Mark the cluster block 'free' on the bitmap */ 80c8662: 6a3a ldr r2, [r7, #32] 80c8664: 6a7b ldr r3, [r7, #36] ; 0x24 80c8666: 1ad3 subs r3, r2, r3 80c8668: 1c5a adds r2, r3, #1 80c866a: 2300 movs r3, #0 80c866c: 6a79 ldr r1, [r7, #36] ; 0x24 80c866e: 69b8 ldr r0, [r7, #24] 80c8670: f7ff feba bl 80c83e8 80c8674: 4603 mov r3, r0 80c8676: 77fb strb r3, [r7, #31] if (res != FR_OK) return res; 80c8678: 7ffb ldrb r3, [r7, #31] 80c867a: 2b00 cmp r3, #0 80c867c: d001 beq.n 80c8682 80c867e: 7ffb ldrb r3, [r7, #31] 80c8680: e02c b.n 80c86dc #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; 80c8682: 697b ldr r3, [r7, #20] 80c8684: 623b str r3, [r7, #32] 80c8686: 6a3b ldr r3, [r7, #32] 80c8688: 627b str r3, [r7, #36] ; 0x24 } #endif clst = nxt; /* Next cluster */ 80c868a: 697b ldr r3, [r7, #20] 80c868c: 60bb str r3, [r7, #8] } while (clst < fs->n_fatent); /* Repeat while not the last link */ 80c868e: 69bb ldr r3, [r7, #24] 80c8690: 69da ldr r2, [r3, #28] 80c8692: 68bb ldr r3, [r7, #8] 80c8694: 429a cmp r2, r3 80c8696: d8a2 bhi.n 80c85de 80c8698: e000 b.n 80c869c if (nxt == 0) break; /* Empty cluster? */ 80c869a: bf00 nop #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80c869c: 69bb ldr r3, [r7, #24] 80c869e: 781b ldrb r3, [r3, #0] 80c86a0: 2b04 cmp r3, #4 80c86a2: d11a bne.n 80c86da if (pclst == 0) { /* Does the object have no chain? */ 80c86a4: 687b ldr r3, [r7, #4] 80c86a6: 2b00 cmp r3, #0 80c86a8: d103 bne.n 80c86b2 obj->stat = 0; /* Change the object status 'initial' */ 80c86aa: 68fb ldr r3, [r7, #12] 80c86ac: 2200 movs r2, #0 80c86ae: 71da strb r2, [r3, #7] 80c86b0: e013 b.n 80c86da } else { if (obj->stat == 3 && pclst >= obj->sclust && pclst <= obj->sclust + obj->n_cont) { /* Did the chain get contiguous? */ 80c86b2: 68fb ldr r3, [r7, #12] 80c86b4: 79db ldrb r3, [r3, #7] 80c86b6: 2b03 cmp r3, #3 80c86b8: d10f bne.n 80c86da 80c86ba: 68fb ldr r3, [r7, #12] 80c86bc: 689a ldr r2, [r3, #8] 80c86be: 687b ldr r3, [r7, #4] 80c86c0: 429a cmp r2, r3 80c86c2: d80a bhi.n 80c86da 80c86c4: 68fb ldr r3, [r7, #12] 80c86c6: 689a ldr r2, [r3, #8] 80c86c8: 68fb ldr r3, [r7, #12] 80c86ca: 699b ldr r3, [r3, #24] 80c86cc: 441a add r2, r3 80c86ce: 687b ldr r3, [r7, #4] 80c86d0: 429a cmp r2, r3 80c86d2: d302 bcc.n 80c86da obj->stat = 2; /* Change the object status 'contiguous' */ 80c86d4: 68fb ldr r3, [r7, #12] 80c86d6: 2202 movs r2, #2 80c86d8: 71da strb r2, [r3, #7] } } } #endif return FR_OK; 80c86da: 2300 movs r3, #0 } 80c86dc: 4618 mov r0, r3 80c86de: 3728 adds r7, #40 ; 0x28 80c86e0: 46bd mov sp, r7 80c86e2: bd80 pop {r7, pc} 080c86e4 : 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 */ ) { 80c86e4: b580 push {r7, lr} 80c86e6: b088 sub sp, #32 80c86e8: af00 add r7, sp, #0 80c86ea: 6078 str r0, [r7, #4] 80c86ec: 6039 str r1, [r7, #0] DWORD cs, ncl, scl; FRESULT res; FATFS *fs = obj->fs; 80c86ee: 687b ldr r3, [r7, #4] 80c86f0: 681b ldr r3, [r3, #0] 80c86f2: 613b str r3, [r7, #16] if (clst == 0) { /* Create a new chain */ 80c86f4: 683b ldr r3, [r7, #0] 80c86f6: 2b00 cmp r3, #0 80c86f8: d10d bne.n 80c8716 scl = fs->last_clst; /* Get suggested cluster to start from */ 80c86fa: 693b ldr r3, [r7, #16] 80c86fc: 695b ldr r3, [r3, #20] 80c86fe: 61bb str r3, [r7, #24] if (scl == 0 || scl >= fs->n_fatent) scl = 1; 80c8700: 69bb ldr r3, [r7, #24] 80c8702: 2b00 cmp r3, #0 80c8704: d004 beq.n 80c8710 80c8706: 693b ldr r3, [r7, #16] 80c8708: 69da ldr r2, [r3, #28] 80c870a: 69bb ldr r3, [r7, #24] 80c870c: 429a cmp r2, r3 80c870e: d81b bhi.n 80c8748 80c8710: 2301 movs r3, #1 80c8712: 61bb str r3, [r7, #24] 80c8714: e018 b.n 80c8748 } else { /* Stretch current chain */ cs = get_fat(obj, clst); /* Check the cluster status */ 80c8716: 6839 ldr r1, [r7, #0] 80c8718: 6878 ldr r0, [r7, #4] 80c871a: f7ff fbdd bl 80c7ed8 80c871e: 60f8 str r0, [r7, #12] if (cs < 2) return 1; /* Invalid FAT value */ 80c8720: 68fb ldr r3, [r7, #12] 80c8722: 2b01 cmp r3, #1 80c8724: d801 bhi.n 80c872a 80c8726: 2301 movs r3, #1 80c8728: e0d9 b.n 80c88de if (cs == 0xFFFFFFFF) return cs; /* A disk error occurred */ 80c872a: 68fb ldr r3, [r7, #12] 80c872c: f1b3 3fff cmp.w r3, #4294967295 80c8730: d101 bne.n 80c8736 80c8732: 68fb ldr r3, [r7, #12] 80c8734: e0d3 b.n 80c88de if (cs < fs->n_fatent) return cs; /* It is already followed by next cluster */ 80c8736: 693b ldr r3, [r7, #16] 80c8738: 69da ldr r2, [r3, #28] 80c873a: 68fb ldr r3, [r7, #12] 80c873c: 429a cmp r2, r3 80c873e: d901 bls.n 80c8744 80c8740: 68fb ldr r3, [r7, #12] 80c8742: e0cc b.n 80c88de scl = clst; 80c8744: 683b ldr r3, [r7, #0] 80c8746: 61bb str r3, [r7, #24] } #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c8748: 693b ldr r3, [r7, #16] 80c874a: 781b ldrb r3, [r3, #0] 80c874c: 2b04 cmp r3, #4 80c874e: d164 bne.n 80c881a ncl = find_bitmap(fs, scl, 1); /* Find a free cluster */ 80c8750: 2201 movs r2, #1 80c8752: 69b9 ldr r1, [r7, #24] 80c8754: 6938 ldr r0, [r7, #16] 80c8756: f7ff fdcb bl 80c82f0 80c875a: 61f8 str r0, [r7, #28] if (ncl == 0 || ncl == 0xFFFFFFFF) return ncl; /* No free cluster or hard error? */ 80c875c: 69fb ldr r3, [r7, #28] 80c875e: 2b00 cmp r3, #0 80c8760: d003 beq.n 80c876a 80c8762: 69fb ldr r3, [r7, #28] 80c8764: f1b3 3fff cmp.w r3, #4294967295 80c8768: d101 bne.n 80c876e 80c876a: 69fb ldr r3, [r7, #28] 80c876c: e0b7 b.n 80c88de res = change_bitmap(fs, ncl, 1, 1); /* Mark the cluster 'in use' */ 80c876e: 2301 movs r3, #1 80c8770: 2201 movs r2, #1 80c8772: 69f9 ldr r1, [r7, #28] 80c8774: 6938 ldr r0, [r7, #16] 80c8776: f7ff fe37 bl 80c83e8 80c877a: 4603 mov r3, r0 80c877c: 75fb strb r3, [r7, #23] if (res == FR_INT_ERR) return 1; 80c877e: 7dfb ldrb r3, [r7, #23] 80c8780: 2b02 cmp r3, #2 80c8782: d101 bne.n 80c8788 80c8784: 2301 movs r3, #1 80c8786: e0aa b.n 80c88de if (res == FR_DISK_ERR) return 0xFFFFFFFF; 80c8788: 7dfb ldrb r3, [r7, #23] 80c878a: 2b01 cmp r3, #1 80c878c: d102 bne.n 80c8794 80c878e: f04f 33ff mov.w r3, #4294967295 80c8792: e0a4 b.n 80c88de if (clst == 0) { /* Is it a new chain? */ 80c8794: 683b ldr r3, [r7, #0] 80c8796: 2b00 cmp r3, #0 80c8798: d103 bne.n 80c87a2 obj->stat = 2; /* Set status 'contiguous' */ 80c879a: 687b ldr r3, [r7, #4] 80c879c: 2202 movs r2, #2 80c879e: 71da strb r2, [r3, #7] 80c87a0: e011 b.n 80c87c6 } else { /* It is a stretched chain */ if (obj->stat == 2 && ncl != scl + 1) { /* Is the chain got fragmented? */ 80c87a2: 687b ldr r3, [r7, #4] 80c87a4: 79db ldrb r3, [r3, #7] 80c87a6: 2b02 cmp r3, #2 80c87a8: d10d bne.n 80c87c6 80c87aa: 69bb ldr r3, [r7, #24] 80c87ac: 1c5a adds r2, r3, #1 80c87ae: 69fb ldr r3, [r7, #28] 80c87b0: 429a cmp r2, r3 80c87b2: d008 beq.n 80c87c6 obj->n_cont = scl - obj->sclust; /* Set size of the contiguous part */ 80c87b4: 687b ldr r3, [r7, #4] 80c87b6: 689b ldr r3, [r3, #8] 80c87b8: 69ba ldr r2, [r7, #24] 80c87ba: 1ad2 subs r2, r2, r3 80c87bc: 687b ldr r3, [r7, #4] 80c87be: 619a str r2, [r3, #24] obj->stat = 3; /* Change status 'just fragmented' */ 80c87c0: 687b ldr r3, [r7, #4] 80c87c2: 2203 movs r2, #3 80c87c4: 71da strb r2, [r3, #7] } } if (obj->stat != 2) { /* Is the file non-contiguous? */ 80c87c6: 687b ldr r3, [r7, #4] 80c87c8: 79db ldrb r3, [r3, #7] 80c87ca: 2b02 cmp r3, #2 80c87cc: d064 beq.n 80c8898 if (ncl == clst + 1) { /* Is the cluster next to previous one? */ 80c87ce: 683b ldr r3, [r7, #0] 80c87d0: 1c5a adds r2, r3, #1 80c87d2: 69fb ldr r3, [r7, #28] 80c87d4: 429a cmp r2, r3 80c87d6: d10b bne.n 80c87f0 obj->n_frag = obj->n_frag ? obj->n_frag + 1 : 2; /* Increment size of last framgent */ 80c87d8: 687b ldr r3, [r7, #4] 80c87da: 69db ldr r3, [r3, #28] 80c87dc: 2b00 cmp r3, #0 80c87de: d003 beq.n 80c87e8 80c87e0: 687b ldr r3, [r7, #4] 80c87e2: 69db ldr r3, [r3, #28] 80c87e4: 3301 adds r3, #1 80c87e6: e000 b.n 80c87ea 80c87e8: 2302 movs r3, #2 80c87ea: 687a ldr r2, [r7, #4] 80c87ec: 61d3 str r3, [r2, #28] 80c87ee: e053 b.n 80c8898 } else { /* New fragment */ if (obj->n_frag == 0) obj->n_frag = 1; 80c87f0: 687b ldr r3, [r7, #4] 80c87f2: 69db ldr r3, [r3, #28] 80c87f4: 2b00 cmp r3, #0 80c87f6: d102 bne.n 80c87fe 80c87f8: 687b ldr r3, [r7, #4] 80c87fa: 2201 movs r2, #1 80c87fc: 61da str r2, [r3, #28] res = fill_last_frag(obj, clst, ncl); /* Fill last fragment on the FAT and link it to new one */ 80c87fe: 69fa ldr r2, [r7, #28] 80c8800: 6839 ldr r1, [r7, #0] 80c8802: 6878 ldr r0, [r7, #4] 80c8804: f7ff fe89 bl 80c851a 80c8808: 4603 mov r3, r0 80c880a: 75fb strb r3, [r7, #23] if (res == FR_OK) obj->n_frag = 1; 80c880c: 7dfb ldrb r3, [r7, #23] 80c880e: 2b00 cmp r3, #0 80c8810: d142 bne.n 80c8898 80c8812: 687b ldr r3, [r7, #4] 80c8814: 2201 movs r2, #1 80c8816: 61da str r2, [r3, #28] 80c8818: e03e b.n 80c8898 } } } else #endif { /* On the FAT12/16/32 volume */ ncl = scl; /* Start cluster */ 80c881a: 69bb ldr r3, [r7, #24] 80c881c: 61fb str r3, [r7, #28] for (;;) { ncl++; /* Next cluster */ 80c881e: 69fb ldr r3, [r7, #28] 80c8820: 3301 adds r3, #1 80c8822: 61fb str r3, [r7, #28] if (ncl >= fs->n_fatent) { /* Check wrap-around */ 80c8824: 693b ldr r3, [r7, #16] 80c8826: 69da ldr r2, [r3, #28] 80c8828: 69fb ldr r3, [r7, #28] 80c882a: 429a cmp r2, r3 80c882c: d807 bhi.n 80c883e ncl = 2; 80c882e: 2302 movs r3, #2 80c8830: 61fb str r3, [r7, #28] if (ncl > scl) return 0; /* No free cluster */ 80c8832: 69fa ldr r2, [r7, #28] 80c8834: 69bb ldr r3, [r7, #24] 80c8836: 429a cmp r2, r3 80c8838: d901 bls.n 80c883e 80c883a: 2300 movs r3, #0 80c883c: e04f b.n 80c88de } cs = get_fat(obj, ncl); /* Get the cluster status */ 80c883e: 69f9 ldr r1, [r7, #28] 80c8840: 6878 ldr r0, [r7, #4] 80c8842: f7ff fb49 bl 80c7ed8 80c8846: 60f8 str r0, [r7, #12] if (cs == 0) break; /* Found a free cluster */ 80c8848: 68fb ldr r3, [r7, #12] 80c884a: 2b00 cmp r3, #0 80c884c: d00e beq.n 80c886c if (cs == 1 || cs == 0xFFFFFFFF) return cs; /* An error occurred */ 80c884e: 68fb ldr r3, [r7, #12] 80c8850: 2b01 cmp r3, #1 80c8852: d003 beq.n 80c885c 80c8854: 68fb ldr r3, [r7, #12] 80c8856: f1b3 3fff cmp.w r3, #4294967295 80c885a: d101 bne.n 80c8860 80c885c: 68fb ldr r3, [r7, #12] 80c885e: e03e b.n 80c88de if (ncl == scl) return 0; /* No free cluster */ 80c8860: 69fa ldr r2, [r7, #28] 80c8862: 69bb ldr r3, [r7, #24] 80c8864: 429a cmp r2, r3 80c8866: d1da bne.n 80c881e 80c8868: 2300 movs r3, #0 80c886a: e038 b.n 80c88de if (cs == 0) break; /* Found a free cluster */ 80c886c: bf00 nop } res = put_fat(fs, ncl, 0xFFFFFFFF); /* Mark the new cluster 'EOC' */ 80c886e: f04f 32ff mov.w r2, #4294967295 80c8872: 69f9 ldr r1, [r7, #28] 80c8874: 6938 ldr r0, [r7, #16] 80c8876: f7ff fc47 bl 80c8108 80c887a: 4603 mov r3, r0 80c887c: 75fb strb r3, [r7, #23] if (res == FR_OK && clst != 0) { 80c887e: 7dfb ldrb r3, [r7, #23] 80c8880: 2b00 cmp r3, #0 80c8882: d109 bne.n 80c8898 80c8884: 683b ldr r3, [r7, #0] 80c8886: 2b00 cmp r3, #0 80c8888: d006 beq.n 80c8898 res = put_fat(fs, clst, ncl); /* Link it from the previous one if needed */ 80c888a: 69fa ldr r2, [r7, #28] 80c888c: 6839 ldr r1, [r7, #0] 80c888e: 6938 ldr r0, [r7, #16] 80c8890: f7ff fc3a bl 80c8108 80c8894: 4603 mov r3, r0 80c8896: 75fb strb r3, [r7, #23] } } if (res == FR_OK) { /* Update FSINFO if function succeeded. */ 80c8898: 7dfb ldrb r3, [r7, #23] 80c889a: 2b00 cmp r3, #0 80c889c: d116 bne.n 80c88cc fs->last_clst = ncl; 80c889e: 693b ldr r3, [r7, #16] 80c88a0: 69fa ldr r2, [r7, #28] 80c88a2: 615a str r2, [r3, #20] if (fs->free_clst <= fs->n_fatent - 2) fs->free_clst--; 80c88a4: 693b ldr r3, [r7, #16] 80c88a6: 699a ldr r2, [r3, #24] 80c88a8: 693b ldr r3, [r7, #16] 80c88aa: 69db ldr r3, [r3, #28] 80c88ac: 3b02 subs r3, #2 80c88ae: 429a cmp r2, r3 80c88b0: d804 bhi.n 80c88bc 80c88b2: 693b ldr r3, [r7, #16] 80c88b4: 699b ldr r3, [r3, #24] 80c88b6: 1e5a subs r2, r3, #1 80c88b8: 693b ldr r3, [r7, #16] 80c88ba: 619a str r2, [r3, #24] fs->fsi_flag |= 1; 80c88bc: 693b ldr r3, [r7, #16] 80c88be: 791b ldrb r3, [r3, #4] 80c88c0: f043 0301 orr.w r3, r3, #1 80c88c4: b2da uxtb r2, r3 80c88c6: 693b ldr r3, [r7, #16] 80c88c8: 711a strb r2, [r3, #4] 80c88ca: e007 b.n 80c88dc } else { ncl = (res == FR_DISK_ERR) ? 0xFFFFFFFF : 1; /* Failed. Generate error status */ 80c88cc: 7dfb ldrb r3, [r7, #23] 80c88ce: 2b01 cmp r3, #1 80c88d0: d102 bne.n 80c88d8 80c88d2: f04f 33ff mov.w r3, #4294967295 80c88d6: e000 b.n 80c88da 80c88d8: 2301 movs r3, #1 80c88da: 61fb str r3, [r7, #28] } return ncl; /* Return new cluster number or error status */ 80c88dc: 69fb ldr r3, [r7, #28] } 80c88de: 4618 mov r0, r3 80c88e0: 3720 adds r7, #32 80c88e2: 46bd mov sp, r7 80c88e4: bd80 pop {r7, pc} 080c88e6 : 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# */ ) { 80c88e6: b5b0 push {r4, r5, r7, lr} 80c88e8: b088 sub sp, #32 80c88ea: af00 add r7, sp, #0 80c88ec: 60f8 str r0, [r7, #12] 80c88ee: e9c7 2300 strd r2, r3, [r7] DWORD cl, ncl, *tbl; FATFS *fs = fp->obj.fs; 80c88f2: 68fb ldr r3, [r7, #12] 80c88f4: 681b ldr r3, [r3, #0] 80c88f6: 617b str r3, [r7, #20] tbl = fp->cltbl + 1; /* Top of CLMT */ 80c88f8: 68fb ldr r3, [r7, #12] 80c88fa: 6d1b ldr r3, [r3, #80] ; 0x50 80c88fc: 3304 adds r3, #4 80c88fe: 61bb str r3, [r7, #24] cl = (DWORD)(ofs / SS(fs) / fs->csize); /* Cluster order from top of the file */ 80c8900: e9d7 2300 ldrd r2, r3, [r7] 80c8904: 0a54 lsrs r4, r2, #9 80c8906: ea44 54c3 orr.w r4, r4, r3, lsl #23 80c890a: 0a5d lsrs r5, r3, #9 80c890c: 697b ldr r3, [r7, #20] 80c890e: 895b ldrh r3, [r3, #10] 80c8910: b29a uxth r2, r3 80c8912: f04f 0300 mov.w r3, #0 80c8916: 4620 mov r0, r4 80c8918: 4629 mov r1, r5 80c891a: f757 fe67 bl 80205ec <__aeabi_uldivmod> 80c891e: 4603 mov r3, r0 80c8920: 460c mov r4, r1 80c8922: 61fb str r3, [r7, #28] for (;;) { ncl = *tbl++; /* Number of cluters in the fragment */ 80c8924: 69bb ldr r3, [r7, #24] 80c8926: 1d1a adds r2, r3, #4 80c8928: 61ba str r2, [r7, #24] 80c892a: 681b ldr r3, [r3, #0] 80c892c: 613b str r3, [r7, #16] if (ncl == 0) return 0; /* End of table? (error) */ 80c892e: 693b ldr r3, [r7, #16] 80c8930: 2b00 cmp r3, #0 80c8932: d101 bne.n 80c8938 80c8934: 2300 movs r3, #0 80c8936: e010 b.n 80c895a if (cl < ncl) break; /* In this fragment? */ 80c8938: 69fa ldr r2, [r7, #28] 80c893a: 693b ldr r3, [r7, #16] 80c893c: 429a cmp r2, r3 80c893e: d307 bcc.n 80c8950 cl -= ncl; tbl++; /* Next fragment */ 80c8940: 69fa ldr r2, [r7, #28] 80c8942: 693b ldr r3, [r7, #16] 80c8944: 1ad3 subs r3, r2, r3 80c8946: 61fb str r3, [r7, #28] 80c8948: 69bb ldr r3, [r7, #24] 80c894a: 3304 adds r3, #4 80c894c: 61bb str r3, [r7, #24] ncl = *tbl++; /* Number of cluters in the fragment */ 80c894e: e7e9 b.n 80c8924 if (cl < ncl) break; /* In this fragment? */ 80c8950: bf00 nop } return cl + *tbl; /* Return the cluster number */ 80c8952: 69bb ldr r3, [r7, #24] 80c8954: 681a ldr r2, [r3, #0] 80c8956: 69fb ldr r3, [r7, #28] 80c8958: 4413 add r3, r2 } 80c895a: 4618 mov r0, r3 80c895c: 3720 adds r7, #32 80c895e: 46bd mov sp, r7 80c8960: bdb0 pop {r4, r5, r7, pc} 080c8962 : static FRESULT dir_sdi ( /* FR_OK(0):succeeded, !=0:error */ DIR* dp, /* Pointer to directory object */ DWORD ofs /* Offset of directory table */ ) { 80c8962: b580 push {r7, lr} 80c8964: b086 sub sp, #24 80c8966: af00 add r7, sp, #0 80c8968: 6078 str r0, [r7, #4] 80c896a: 6039 str r1, [r7, #0] DWORD csz, clst; FATFS *fs = dp->obj.fs; 80c896c: 687b ldr r3, [r7, #4] 80c896e: 681b ldr r3, [r3, #0] 80c8970: 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 */ 80c8972: 693b ldr r3, [r7, #16] 80c8974: 781b ldrb r3, [r3, #0] 80c8976: 2b04 cmp r3, #4 80c8978: d102 bne.n 80c8980 80c897a: f04f 5280 mov.w r2, #268435456 ; 0x10000000 80c897e: e001 b.n 80c8984 80c8980: f44f 1200 mov.w r2, #2097152 ; 0x200000 80c8984: 683b ldr r3, [r7, #0] 80c8986: 429a cmp r2, r3 80c8988: d904 bls.n 80c8994 80c898a: 683b ldr r3, [r7, #0] 80c898c: f003 031f and.w r3, r3, #31 80c8990: 2b00 cmp r3, #0 80c8992: d001 beq.n 80c8998 return FR_INT_ERR; 80c8994: 2302 movs r3, #2 80c8996: e066 b.n 80c8a66 } dp->dptr = ofs; /* Set current offset */ 80c8998: 687b ldr r3, [r7, #4] 80c899a: 683a ldr r2, [r7, #0] 80c899c: 631a str r2, [r3, #48] ; 0x30 clst = dp->obj.sclust; /* Table start cluster (0:root) */ 80c899e: 687b ldr r3, [r7, #4] 80c89a0: 689b ldr r3, [r3, #8] 80c89a2: 617b str r3, [r7, #20] if (clst == 0 && fs->fs_type >= FS_FAT32) { /* Replace cluster# 0 with root cluster# */ 80c89a4: 697b ldr r3, [r7, #20] 80c89a6: 2b00 cmp r3, #0 80c89a8: d109 bne.n 80c89be 80c89aa: 693b ldr r3, [r7, #16] 80c89ac: 781b ldrb r3, [r3, #0] 80c89ae: 2b02 cmp r3, #2 80c89b0: d905 bls.n 80c89be clst = fs->dirbase; 80c89b2: 693b ldr r3, [r7, #16] 80c89b4: 6adb ldr r3, [r3, #44] ; 0x2c 80c89b6: 617b str r3, [r7, #20] if (_FS_EXFAT) dp->obj.stat = 0; /* exFAT: Root dir has an FAT chain */ 80c89b8: 687b ldr r3, [r7, #4] 80c89ba: 2200 movs r2, #0 80c89bc: 71da strb r2, [r3, #7] } if (clst == 0) { /* Static table (root-directory in FAT12/16) */ 80c89be: 697b ldr r3, [r7, #20] 80c89c0: 2b00 cmp r3, #0 80c89c2: d10c bne.n 80c89de if (ofs / SZDIRE >= fs->n_rootdir) return FR_INT_ERR; /* Is index out of range? */ 80c89c4: 683b ldr r3, [r7, #0] 80c89c6: 095b lsrs r3, r3, #5 80c89c8: 693a ldr r2, [r7, #16] 80c89ca: 8912 ldrh r2, [r2, #8] 80c89cc: 4293 cmp r3, r2 80c89ce: d301 bcc.n 80c89d4 80c89d0: 2302 movs r3, #2 80c89d2: e048 b.n 80c8a66 dp->sect = fs->dirbase; 80c89d4: 693b ldr r3, [r7, #16] 80c89d6: 6ada ldr r2, [r3, #44] ; 0x2c 80c89d8: 687b ldr r3, [r7, #4] 80c89da: 639a str r2, [r3, #56] ; 0x38 80c89dc: e029 b.n 80c8a32 } else { /* Dynamic table (sub-directory or root-directory in FAT32+) */ csz = (DWORD)fs->csize * SS(fs); /* Bytes per cluster */ 80c89de: 693b ldr r3, [r7, #16] 80c89e0: 895b ldrh r3, [r3, #10] 80c89e2: 025b lsls r3, r3, #9 80c89e4: 60fb str r3, [r7, #12] while (ofs >= csz) { /* Follow cluster chain */ 80c89e6: e019 b.n 80c8a1c clst = get_fat(&dp->obj, clst); /* Get next cluster */ 80c89e8: 687b ldr r3, [r7, #4] 80c89ea: 6979 ldr r1, [r7, #20] 80c89ec: 4618 mov r0, r3 80c89ee: f7ff fa73 bl 80c7ed8 80c89f2: 6178 str r0, [r7, #20] if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */ 80c89f4: 697b ldr r3, [r7, #20] 80c89f6: f1b3 3fff cmp.w r3, #4294967295 80c89fa: d101 bne.n 80c8a00 80c89fc: 2301 movs r3, #1 80c89fe: e032 b.n 80c8a66 if (clst < 2 || clst >= fs->n_fatent) return FR_INT_ERR; /* Reached to end of table or internal error */ 80c8a00: 697b ldr r3, [r7, #20] 80c8a02: 2b01 cmp r3, #1 80c8a04: d904 bls.n 80c8a10 80c8a06: 693b ldr r3, [r7, #16] 80c8a08: 69da ldr r2, [r3, #28] 80c8a0a: 697b ldr r3, [r7, #20] 80c8a0c: 429a cmp r2, r3 80c8a0e: d801 bhi.n 80c8a14 80c8a10: 2302 movs r3, #2 80c8a12: e028 b.n 80c8a66 ofs -= csz; 80c8a14: 683a ldr r2, [r7, #0] 80c8a16: 68fb ldr r3, [r7, #12] 80c8a18: 1ad3 subs r3, r2, r3 80c8a1a: 603b str r3, [r7, #0] while (ofs >= csz) { /* Follow cluster chain */ 80c8a1c: 683a ldr r2, [r7, #0] 80c8a1e: 68fb ldr r3, [r7, #12] 80c8a20: 429a cmp r2, r3 80c8a22: d2e1 bcs.n 80c89e8 } dp->sect = clust2sect(fs, clst); 80c8a24: 6979 ldr r1, [r7, #20] 80c8a26: 6938 ldr r0, [r7, #16] 80c8a28: f7ff fa36 bl 80c7e98 80c8a2c: 4602 mov r2, r0 80c8a2e: 687b ldr r3, [r7, #4] 80c8a30: 639a str r2, [r3, #56] ; 0x38 } dp->clust = clst; /* Current cluster# */ 80c8a32: 687b ldr r3, [r7, #4] 80c8a34: 697a ldr r2, [r7, #20] 80c8a36: 635a str r2, [r3, #52] ; 0x34 if (!dp->sect) return FR_INT_ERR; 80c8a38: 687b ldr r3, [r7, #4] 80c8a3a: 6b9b ldr r3, [r3, #56] ; 0x38 80c8a3c: 2b00 cmp r3, #0 80c8a3e: d101 bne.n 80c8a44 80c8a40: 2302 movs r3, #2 80c8a42: e010 b.n 80c8a66 dp->sect += ofs / SS(fs); /* Sector# of the directory entry */ 80c8a44: 687b ldr r3, [r7, #4] 80c8a46: 6b9a ldr r2, [r3, #56] ; 0x38 80c8a48: 683b ldr r3, [r7, #0] 80c8a4a: 0a5b lsrs r3, r3, #9 80c8a4c: 441a add r2, r3 80c8a4e: 687b ldr r3, [r7, #4] 80c8a50: 639a str r2, [r3, #56] ; 0x38 dp->dir = fs->win + (ofs % SS(fs)); /* Pointer to the entry in the win[] */ 80c8a52: 693b ldr r3, [r7, #16] 80c8a54: f103 0238 add.w r2, r3, #56 ; 0x38 80c8a58: 683b ldr r3, [r7, #0] 80c8a5a: f3c3 0308 ubfx r3, r3, #0, #9 80c8a5e: 441a add r2, r3 80c8a60: 687b ldr r3, [r7, #4] 80c8a62: 63da str r2, [r3, #60] ; 0x3c return FR_OK; 80c8a64: 2300 movs r3, #0 } 80c8a66: 4618 mov r0, r3 80c8a68: 3718 adds r7, #24 80c8a6a: 46bd mov sp, r7 80c8a6c: bd80 pop {r7, pc} 080c8a6e : 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 */ ) { 80c8a6e: b580 push {r7, lr} 80c8a70: b086 sub sp, #24 80c8a72: af00 add r7, sp, #0 80c8a74: 6078 str r0, [r7, #4] 80c8a76: 6039 str r1, [r7, #0] DWORD ofs, clst; FATFS *fs = dp->obj.fs; 80c8a78: 687b ldr r3, [r7, #4] 80c8a7a: 681b ldr r3, [r3, #0] 80c8a7c: 60fb str r3, [r7, #12] #if !_FS_READONLY UINT n; #endif ofs = dp->dptr + SZDIRE; /* Next entry */ 80c8a7e: 687b ldr r3, [r7, #4] 80c8a80: 6b1b ldr r3, [r3, #48] ; 0x30 80c8a82: 3320 adds r3, #32 80c8a84: 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 */ 80c8a86: 687b ldr r3, [r7, #4] 80c8a88: 6b9b ldr r3, [r3, #56] ; 0x38 80c8a8a: 2b00 cmp r3, #0 80c8a8c: d00b beq.n 80c8aa6 80c8a8e: 68fb ldr r3, [r7, #12] 80c8a90: 781b ldrb r3, [r3, #0] 80c8a92: 2b04 cmp r3, #4 80c8a94: d102 bne.n 80c8a9c 80c8a96: f04f 5280 mov.w r2, #268435456 ; 0x10000000 80c8a9a: e001 b.n 80c8aa0 80c8a9c: f44f 1200 mov.w r2, #2097152 ; 0x200000 80c8aa0: 68bb ldr r3, [r7, #8] 80c8aa2: 429a cmp r2, r3 80c8aa4: d801 bhi.n 80c8aaa 80c8aa6: 2304 movs r3, #4 80c8aa8: e0b2 b.n 80c8c10 if (ofs % SS(fs) == 0) { /* Sector changed? */ 80c8aaa: 68bb ldr r3, [r7, #8] 80c8aac: f3c3 0308 ubfx r3, r3, #0, #9 80c8ab0: 2b00 cmp r3, #0 80c8ab2: f040 80a0 bne.w 80c8bf6 dp->sect++; /* Next sector */ 80c8ab6: 687b ldr r3, [r7, #4] 80c8ab8: 6b9b ldr r3, [r3, #56] ; 0x38 80c8aba: 1c5a adds r2, r3, #1 80c8abc: 687b ldr r3, [r7, #4] 80c8abe: 639a str r2, [r3, #56] ; 0x38 if (!dp->clust) { /* Static table */ 80c8ac0: 687b ldr r3, [r7, #4] 80c8ac2: 6b5b ldr r3, [r3, #52] ; 0x34 80c8ac4: 2b00 cmp r3, #0 80c8ac6: d10b bne.n 80c8ae0 if (ofs / SZDIRE >= fs->n_rootdir) { /* Report EOT if it reached end of static table */ 80c8ac8: 68bb ldr r3, [r7, #8] 80c8aca: 095b lsrs r3, r3, #5 80c8acc: 68fa ldr r2, [r7, #12] 80c8ace: 8912 ldrh r2, [r2, #8] 80c8ad0: 4293 cmp r3, r2 80c8ad2: f0c0 8090 bcc.w 80c8bf6 dp->sect = 0; return FR_NO_FILE; 80c8ad6: 687b ldr r3, [r7, #4] 80c8ad8: 2200 movs r2, #0 80c8ada: 639a str r2, [r3, #56] ; 0x38 80c8adc: 2304 movs r3, #4 80c8ade: e097 b.n 80c8c10 } } else { /* Dynamic table */ if ((ofs / SS(fs) & (fs->csize - 1)) == 0) { /* Cluster changed? */ 80c8ae0: 68bb ldr r3, [r7, #8] 80c8ae2: 0a5b lsrs r3, r3, #9 80c8ae4: 68fa ldr r2, [r7, #12] 80c8ae6: 8952 ldrh r2, [r2, #10] 80c8ae8: 3a01 subs r2, #1 80c8aea: 4013 ands r3, r2 80c8aec: 2b00 cmp r3, #0 80c8aee: f040 8082 bne.w 80c8bf6 clst = get_fat(&dp->obj, dp->clust); /* Get next cluster */ 80c8af2: 687a ldr r2, [r7, #4] 80c8af4: 687b ldr r3, [r7, #4] 80c8af6: 6b5b ldr r3, [r3, #52] ; 0x34 80c8af8: 4619 mov r1, r3 80c8afa: 4610 mov r0, r2 80c8afc: f7ff f9ec bl 80c7ed8 80c8b00: 6178 str r0, [r7, #20] if (clst <= 1) return FR_INT_ERR; /* Internal error */ 80c8b02: 697b ldr r3, [r7, #20] 80c8b04: 2b01 cmp r3, #1 80c8b06: d801 bhi.n 80c8b0c 80c8b08: 2302 movs r3, #2 80c8b0a: e081 b.n 80c8c10 if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */ 80c8b0c: 697b ldr r3, [r7, #20] 80c8b0e: f1b3 3fff cmp.w r3, #4294967295 80c8b12: d101 bne.n 80c8b18 80c8b14: 2301 movs r3, #1 80c8b16: e07b b.n 80c8c10 if (clst >= fs->n_fatent) { /* Reached end of dynamic table */ 80c8b18: 68fb ldr r3, [r7, #12] 80c8b1a: 69da ldr r2, [r3, #28] 80c8b1c: 697b ldr r3, [r7, #20] 80c8b1e: 429a cmp r2, r3 80c8b20: d85f bhi.n 80c8be2 #if !_FS_READONLY if (!stretch) { /* If no stretch, report EOT */ 80c8b22: 683b ldr r3, [r7, #0] 80c8b24: 2b00 cmp r3, #0 80c8b26: d104 bne.n 80c8b32 dp->sect = 0; return FR_NO_FILE; 80c8b28: 687b ldr r3, [r7, #4] 80c8b2a: 2200 movs r2, #0 80c8b2c: 639a str r2, [r3, #56] ; 0x38 80c8b2e: 2304 movs r3, #4 80c8b30: e06e b.n 80c8c10 } clst = create_chain(&dp->obj, dp->clust); /* Allocate a cluster */ 80c8b32: 687a ldr r2, [r7, #4] 80c8b34: 687b ldr r3, [r7, #4] 80c8b36: 6b5b ldr r3, [r3, #52] ; 0x34 80c8b38: 4619 mov r1, r3 80c8b3a: 4610 mov r0, r2 80c8b3c: f7ff fdd2 bl 80c86e4 80c8b40: 6178 str r0, [r7, #20] if (clst == 0) return FR_DENIED; /* No free cluster */ 80c8b42: 697b ldr r3, [r7, #20] 80c8b44: 2b00 cmp r3, #0 80c8b46: d101 bne.n 80c8b4c 80c8b48: 2307 movs r3, #7 80c8b4a: e061 b.n 80c8c10 if (clst == 1) return FR_INT_ERR; /* Internal error */ 80c8b4c: 697b ldr r3, [r7, #20] 80c8b4e: 2b01 cmp r3, #1 80c8b50: d101 bne.n 80c8b56 80c8b52: 2302 movs r3, #2 80c8b54: e05c b.n 80c8c10 if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */ 80c8b56: 697b ldr r3, [r7, #20] 80c8b58: f1b3 3fff cmp.w r3, #4294967295 80c8b5c: d101 bne.n 80c8b62 80c8b5e: 2301 movs r3, #1 80c8b60: e056 b.n 80c8c10 /* Clean-up the stretched table */ if (_FS_EXFAT) dp->obj.stat |= 4; /* The directory needs to be updated */ 80c8b62: 687b ldr r3, [r7, #4] 80c8b64: 79db ldrb r3, [r3, #7] 80c8b66: f043 0304 orr.w r3, r3, #4 80c8b6a: b2da uxtb r2, r3 80c8b6c: 687b ldr r3, [r7, #4] 80c8b6e: 71da strb r2, [r3, #7] if (sync_window(fs) != FR_OK) return FR_DISK_ERR; /* Flush disk access window */ 80c8b70: 68f8 ldr r0, [r7, #12] 80c8b72: f7ff f8b2 bl 80c7cda 80c8b76: 4603 mov r3, r0 80c8b78: 2b00 cmp r3, #0 80c8b7a: d001 beq.n 80c8b80 80c8b7c: 2301 movs r3, #1 80c8b7e: e047 b.n 80c8c10 mem_set(fs->win, 0, SS(fs)); /* Clear window buffer */ 80c8b80: 68fb ldr r3, [r7, #12] 80c8b82: 3338 adds r3, #56 ; 0x38 80c8b84: f44f 7200 mov.w r2, #512 ; 0x200 80c8b88: 2100 movs r1, #0 80c8b8a: 4618 mov r0, r3 80c8b8c: f7ff f849 bl 80c7c22 for (n = 0, fs->winsect = clust2sect(fs, clst); n < fs->csize; n++, fs->winsect++) { /* Fill the new cluster with 0 */ 80c8b90: 2300 movs r3, #0 80c8b92: 613b str r3, [r7, #16] 80c8b94: 6979 ldr r1, [r7, #20] 80c8b96: 68f8 ldr r0, [r7, #12] 80c8b98: f7ff f97e bl 80c7e98 80c8b9c: 4602 mov r2, r0 80c8b9e: 68fb ldr r3, [r7, #12] 80c8ba0: 635a str r2, [r3, #52] ; 0x34 80c8ba2: e012 b.n 80c8bca fs->wflag = 1; 80c8ba4: 68fb ldr r3, [r7, #12] 80c8ba6: 2201 movs r2, #1 80c8ba8: 70da strb r2, [r3, #3] if (sync_window(fs) != FR_OK) return FR_DISK_ERR; 80c8baa: 68f8 ldr r0, [r7, #12] 80c8bac: f7ff f895 bl 80c7cda 80c8bb0: 4603 mov r3, r0 80c8bb2: 2b00 cmp r3, #0 80c8bb4: d001 beq.n 80c8bba 80c8bb6: 2301 movs r3, #1 80c8bb8: e02a b.n 80c8c10 for (n = 0, fs->winsect = clust2sect(fs, clst); n < fs->csize; n++, fs->winsect++) { /* Fill the new cluster with 0 */ 80c8bba: 693b ldr r3, [r7, #16] 80c8bbc: 3301 adds r3, #1 80c8bbe: 613b str r3, [r7, #16] 80c8bc0: 68fb ldr r3, [r7, #12] 80c8bc2: 6b5b ldr r3, [r3, #52] ; 0x34 80c8bc4: 1c5a adds r2, r3, #1 80c8bc6: 68fb ldr r3, [r7, #12] 80c8bc8: 635a str r2, [r3, #52] ; 0x34 80c8bca: 68fb ldr r3, [r7, #12] 80c8bcc: 895b ldrh r3, [r3, #10] 80c8bce: 461a mov r2, r3 80c8bd0: 693b ldr r3, [r7, #16] 80c8bd2: 429a cmp r2, r3 80c8bd4: d8e6 bhi.n 80c8ba4 } fs->winsect -= n; /* Restore window offset */ 80c8bd6: 68fb ldr r3, [r7, #12] 80c8bd8: 6b5a ldr r2, [r3, #52] ; 0x34 80c8bda: 693b ldr r3, [r7, #16] 80c8bdc: 1ad2 subs r2, r2, r3 80c8bde: 68fb ldr r3, [r7, #12] 80c8be0: 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 */ 80c8be2: 687b ldr r3, [r7, #4] 80c8be4: 697a ldr r2, [r7, #20] 80c8be6: 635a str r2, [r3, #52] ; 0x34 dp->sect = clust2sect(fs, clst); 80c8be8: 6979 ldr r1, [r7, #20] 80c8bea: 68f8 ldr r0, [r7, #12] 80c8bec: f7ff f954 bl 80c7e98 80c8bf0: 4602 mov r2, r0 80c8bf2: 687b ldr r3, [r7, #4] 80c8bf4: 639a str r2, [r3, #56] ; 0x38 } } } dp->dptr = ofs; /* Current entry */ 80c8bf6: 687b ldr r3, [r7, #4] 80c8bf8: 68ba ldr r2, [r7, #8] 80c8bfa: 631a str r2, [r3, #48] ; 0x30 dp->dir = fs->win + ofs % SS(fs); /* Pointer to the entry in the win[] */ 80c8bfc: 68fb ldr r3, [r7, #12] 80c8bfe: f103 0238 add.w r2, r3, #56 ; 0x38 80c8c02: 68bb ldr r3, [r7, #8] 80c8c04: f3c3 0308 ubfx r3, r3, #0, #9 80c8c08: 441a add r2, r3 80c8c0a: 687b ldr r3, [r7, #4] 80c8c0c: 63da str r2, [r3, #60] ; 0x3c return FR_OK; 80c8c0e: 2300 movs r3, #0 } 80c8c10: 4618 mov r0, r3 80c8c12: 3718 adds r7, #24 80c8c14: 46bd mov sp, r7 80c8c16: bd80 pop {r7, pc} 080c8c18 : 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 */ ) { 80c8c18: b580 push {r7, lr} 80c8c1a: b086 sub sp, #24 80c8c1c: af00 add r7, sp, #0 80c8c1e: 6078 str r0, [r7, #4] 80c8c20: 6039 str r1, [r7, #0] FRESULT res; UINT n; FATFS *fs = dp->obj.fs; 80c8c22: 687b ldr r3, [r7, #4] 80c8c24: 681b ldr r3, [r3, #0] 80c8c26: 60fb str r3, [r7, #12] res = dir_sdi(dp, 0); 80c8c28: 2100 movs r1, #0 80c8c2a: 6878 ldr r0, [r7, #4] 80c8c2c: f7ff fe99 bl 80c8962 80c8c30: 4603 mov r3, r0 80c8c32: 75fb strb r3, [r7, #23] if (res == FR_OK) { 80c8c34: 7dfb ldrb r3, [r7, #23] 80c8c36: 2b00 cmp r3, #0 80c8c38: d140 bne.n 80c8cbc n = 0; 80c8c3a: 2300 movs r3, #0 80c8c3c: 613b str r3, [r7, #16] do { res = move_window(fs, dp->sect); 80c8c3e: 687b ldr r3, [r7, #4] 80c8c40: 6b9b ldr r3, [r3, #56] ; 0x38 80c8c42: 4619 mov r1, r3 80c8c44: 68f8 ldr r0, [r7, #12] 80c8c46: f7ff f88c bl 80c7d62 80c8c4a: 4603 mov r3, r0 80c8c4c: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c8c4e: 7dfb ldrb r3, [r7, #23] 80c8c50: 2b00 cmp r3, #0 80c8c52: d132 bne.n 80c8cba #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)) { 80c8c54: 68fb ldr r3, [r7, #12] 80c8c56: 781b ldrb r3, [r3, #0] 80c8c58: 2b04 cmp r3, #4 80c8c5a: d108 bne.n 80c8c6e 80c8c5c: 687b ldr r3, [r7, #4] 80c8c5e: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8c60: 781b ldrb r3, [r3, #0] 80c8c62: b25b sxtb r3, r3 80c8c64: 43db mvns r3, r3 80c8c66: b2db uxtb r3, r3 80c8c68: 09db lsrs r3, r3, #7 80c8c6a: b2db uxtb r3, r3 80c8c6c: e00f b.n 80c8c8e 80c8c6e: 687b ldr r3, [r7, #4] 80c8c70: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8c72: 781b ldrb r3, [r3, #0] 80c8c74: 2be5 cmp r3, #229 ; 0xe5 80c8c76: d004 beq.n 80c8c82 80c8c78: 687b ldr r3, [r7, #4] 80c8c7a: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8c7c: 781b ldrb r3, [r3, #0] 80c8c7e: 2b00 cmp r3, #0 80c8c80: d101 bne.n 80c8c86 80c8c82: 2301 movs r3, #1 80c8c84: e000 b.n 80c8c88 80c8c86: 2300 movs r3, #0 80c8c88: f003 0301 and.w r3, r3, #1 80c8c8c: b2db uxtb r3, r3 80c8c8e: 2b00 cmp r3, #0 80c8c90: d007 beq.n 80c8ca2 #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 */ 80c8c92: 693b ldr r3, [r7, #16] 80c8c94: 3301 adds r3, #1 80c8c96: 613b str r3, [r7, #16] 80c8c98: 693a ldr r2, [r7, #16] 80c8c9a: 683b ldr r3, [r7, #0] 80c8c9c: 429a cmp r2, r3 80c8c9e: d102 bne.n 80c8ca6 80c8ca0: e00c b.n 80c8cbc } else { n = 0; /* Not a blank entry. Restart to search */ 80c8ca2: 2300 movs r3, #0 80c8ca4: 613b str r3, [r7, #16] } res = dir_next(dp, 1); 80c8ca6: 2101 movs r1, #1 80c8ca8: 6878 ldr r0, [r7, #4] 80c8caa: f7ff fee0 bl 80c8a6e 80c8cae: 4603 mov r3, r0 80c8cb0: 75fb strb r3, [r7, #23] } while (res == FR_OK); /* Next entry with table stretch enabled */ 80c8cb2: 7dfb ldrb r3, [r7, #23] 80c8cb4: 2b00 cmp r3, #0 80c8cb6: d0c2 beq.n 80c8c3e 80c8cb8: e000 b.n 80c8cbc if (res != FR_OK) break; 80c8cba: bf00 nop } if (res == FR_NO_FILE) res = FR_DENIED; /* No directory entry to allocate */ 80c8cbc: 7dfb ldrb r3, [r7, #23] 80c8cbe: 2b04 cmp r3, #4 80c8cc0: d101 bne.n 80c8cc6 80c8cc2: 2307 movs r3, #7 80c8cc4: 75fb strb r3, [r7, #23] return res; 80c8cc6: 7dfb ldrb r3, [r7, #23] } 80c8cc8: 4618 mov r0, r3 80c8cca: 3718 adds r7, #24 80c8ccc: 46bd mov sp, r7 80c8cce: bd80 pop {r7, pc} 080c8cd0 : 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 */ ) { 80c8cd0: b580 push {r7, lr} 80c8cd2: b084 sub sp, #16 80c8cd4: af00 add r7, sp, #0 80c8cd6: 6078 str r0, [r7, #4] 80c8cd8: 6039 str r1, [r7, #0] DWORD cl; cl = ld_word(dir + DIR_FstClusLO); 80c8cda: 683b ldr r3, [r7, #0] 80c8cdc: 331a adds r3, #26 80c8cde: 4618 mov r0, r3 80c8ce0: f7fe fdbc bl 80c785c 80c8ce4: 4603 mov r3, r0 80c8ce6: 60fb str r3, [r7, #12] if (fs->fs_type == FS_FAT32) { 80c8ce8: 687b ldr r3, [r7, #4] 80c8cea: 781b ldrb r3, [r3, #0] 80c8cec: 2b03 cmp r3, #3 80c8cee: d109 bne.n 80c8d04 cl |= (DWORD)ld_word(dir + DIR_FstClusHI) << 16; 80c8cf0: 683b ldr r3, [r7, #0] 80c8cf2: 3314 adds r3, #20 80c8cf4: 4618 mov r0, r3 80c8cf6: f7fe fdb1 bl 80c785c 80c8cfa: 4603 mov r3, r0 80c8cfc: 041b lsls r3, r3, #16 80c8cfe: 68fa ldr r2, [r7, #12] 80c8d00: 4313 orrs r3, r2 80c8d02: 60fb str r3, [r7, #12] } return cl; 80c8d04: 68fb ldr r3, [r7, #12] } 80c8d06: 4618 mov r0, r3 80c8d08: 3710 adds r7, #16 80c8d0a: 46bd mov sp, r7 80c8d0c: bd80 pop {r7, pc} 080c8d0e : void st_clust ( FATFS* fs, /* Pointer to the fs object */ BYTE* dir, /* Pointer to the key entry */ DWORD cl /* Value to be set */ ) { 80c8d0e: b580 push {r7, lr} 80c8d10: b084 sub sp, #16 80c8d12: af00 add r7, sp, #0 80c8d14: 60f8 str r0, [r7, #12] 80c8d16: 60b9 str r1, [r7, #8] 80c8d18: 607a str r2, [r7, #4] st_word(dir + DIR_FstClusLO, (WORD)cl); 80c8d1a: 68bb ldr r3, [r7, #8] 80c8d1c: 331a adds r3, #26 80c8d1e: 687a ldr r2, [r7, #4] 80c8d20: b292 uxth r2, r2 80c8d22: 4611 mov r1, r2 80c8d24: 4618 mov r0, r3 80c8d26: f7fe fe83 bl 80c7a30 if (fs->fs_type == FS_FAT32) { 80c8d2a: 68fb ldr r3, [r7, #12] 80c8d2c: 781b ldrb r3, [r3, #0] 80c8d2e: 2b03 cmp r3, #3 80c8d30: d109 bne.n 80c8d46 st_word(dir + DIR_FstClusHI, (WORD)(cl >> 16)); 80c8d32: 68bb ldr r3, [r7, #8] 80c8d34: f103 0214 add.w r2, r3, #20 80c8d38: 687b ldr r3, [r7, #4] 80c8d3a: 0c1b lsrs r3, r3, #16 80c8d3c: b29b uxth r3, r3 80c8d3e: 4619 mov r1, r3 80c8d40: 4610 mov r0, r2 80c8d42: f7fe fe75 bl 80c7a30 } } 80c8d46: bf00 nop 80c8d48: 3710 adds r7, #16 80c8d4a: 46bd mov sp, r7 80c8d4c: bd80 pop {r7, pc} ... 080c8d50 : 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 */ ) { 80c8d50: b590 push {r4, r7, lr} 80c8d52: b087 sub sp, #28 80c8d54: af00 add r7, sp, #0 80c8d56: 6078 str r0, [r7, #4] 80c8d58: 6039 str r1, [r7, #0] UINT i, s; WCHAR wc, uc; if (ld_word(dir + LDIR_FstClusLO) != 0) return 0; /* Check LDIR_FstClusLO */ 80c8d5a: 683b ldr r3, [r7, #0] 80c8d5c: 331a adds r3, #26 80c8d5e: 4618 mov r0, r3 80c8d60: f7fe fd7c bl 80c785c 80c8d64: 4603 mov r3, r0 80c8d66: 2b00 cmp r3, #0 80c8d68: d001 beq.n 80c8d6e 80c8d6a: 2300 movs r3, #0 80c8d6c: e059 b.n 80c8e22 i = ((dir[LDIR_Ord] & 0x3F) - 1) * 13; /* Offset in the LFN buffer */ 80c8d6e: 683b ldr r3, [r7, #0] 80c8d70: 781b ldrb r3, [r3, #0] 80c8d72: f003 033f and.w r3, r3, #63 ; 0x3f 80c8d76: 1e5a subs r2, r3, #1 80c8d78: 4613 mov r3, r2 80c8d7a: 005b lsls r3, r3, #1 80c8d7c: 4413 add r3, r2 80c8d7e: 009b lsls r3, r3, #2 80c8d80: 4413 add r3, r2 80c8d82: 617b str r3, [r7, #20] for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ 80c8d84: 2301 movs r3, #1 80c8d86: 81fb strh r3, [r7, #14] 80c8d88: 2300 movs r3, #0 80c8d8a: 613b str r3, [r7, #16] 80c8d8c: e033 b.n 80c8df6 uc = ld_word(dir + LfnOfs[s]); /* Pick an LFN character */ 80c8d8e: 4a27 ldr r2, [pc, #156] ; (80c8e2c ) 80c8d90: 693b ldr r3, [r7, #16] 80c8d92: 4413 add r3, r2 80c8d94: 781b ldrb r3, [r3, #0] 80c8d96: 461a mov r2, r3 80c8d98: 683b ldr r3, [r7, #0] 80c8d9a: 4413 add r3, r2 80c8d9c: 4618 mov r0, r3 80c8d9e: f7fe fd5d bl 80c785c 80c8da2: 4603 mov r3, r0 80c8da4: 81bb strh r3, [r7, #12] if (wc) { 80c8da6: 89fb ldrh r3, [r7, #14] 80c8da8: 2b00 cmp r3, #0 80c8daa: d01a beq.n 80c8de2 if (i >= _MAX_LFN || ff_wtoupper(uc) != ff_wtoupper(lfnbuf[i++])) { /* Compare it */ 80c8dac: 697b ldr r3, [r7, #20] 80c8dae: 2bfe cmp r3, #254 ; 0xfe 80c8db0: d812 bhi.n 80c8dd8 80c8db2: 89bb ldrh r3, [r7, #12] 80c8db4: 4618 mov r0, r3 80c8db6: f005 f841 bl 80cde3c 80c8dba: 4603 mov r3, r0 80c8dbc: 461c mov r4, r3 80c8dbe: 697b ldr r3, [r7, #20] 80c8dc0: 1c5a adds r2, r3, #1 80c8dc2: 617a str r2, [r7, #20] 80c8dc4: 005b lsls r3, r3, #1 80c8dc6: 687a ldr r2, [r7, #4] 80c8dc8: 4413 add r3, r2 80c8dca: 881b ldrh r3, [r3, #0] 80c8dcc: 4618 mov r0, r3 80c8dce: f005 f835 bl 80cde3c 80c8dd2: 4603 mov r3, r0 80c8dd4: 429c cmp r4, r3 80c8dd6: d001 beq.n 80c8ddc return 0; /* Not matched */ 80c8dd8: 2300 movs r3, #0 80c8dda: e022 b.n 80c8e22 } wc = uc; 80c8ddc: 89bb ldrh r3, [r7, #12] 80c8dde: 81fb strh r3, [r7, #14] 80c8de0: e006 b.n 80c8df0 } else { if (uc != 0xFFFF) return 0; /* Check filler */ 80c8de2: 89bb ldrh r3, [r7, #12] 80c8de4: f64f 72ff movw r2, #65535 ; 0xffff 80c8de8: 4293 cmp r3, r2 80c8dea: d001 beq.n 80c8df0 80c8dec: 2300 movs r3, #0 80c8dee: e018 b.n 80c8e22 for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ 80c8df0: 693b ldr r3, [r7, #16] 80c8df2: 3301 adds r3, #1 80c8df4: 613b str r3, [r7, #16] 80c8df6: 693b ldr r3, [r7, #16] 80c8df8: 2b0c cmp r3, #12 80c8dfa: d9c8 bls.n 80c8d8e } } if ((dir[LDIR_Ord] & LLEF) && wc && lfnbuf[i]) return 0; /* Last segment matched but different length */ 80c8dfc: 683b ldr r3, [r7, #0] 80c8dfe: 781b ldrb r3, [r3, #0] 80c8e00: f003 0340 and.w r3, r3, #64 ; 0x40 80c8e04: 2b00 cmp r3, #0 80c8e06: d00b beq.n 80c8e20 80c8e08: 89fb ldrh r3, [r7, #14] 80c8e0a: 2b00 cmp r3, #0 80c8e0c: d008 beq.n 80c8e20 80c8e0e: 697b ldr r3, [r7, #20] 80c8e10: 005b lsls r3, r3, #1 80c8e12: 687a ldr r2, [r7, #4] 80c8e14: 4413 add r3, r2 80c8e16: 881b ldrh r3, [r3, #0] 80c8e18: 2b00 cmp r3, #0 80c8e1a: d001 beq.n 80c8e20 80c8e1c: 2300 movs r3, #0 80c8e1e: e000 b.n 80c8e22 return 1; /* The part of LFN matched */ 80c8e20: 2301 movs r3, #1 } 80c8e22: 4618 mov r0, r3 80c8e24: 371c adds r7, #28 80c8e26: 46bd mov sp, r7 80c8e28: bd90 pop {r4, r7, pc} 80c8e2a: bf00 nop 80c8e2c: 081706bc .word 0x081706bc 080c8e30 : 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 */ ) { 80c8e30: b580 push {r7, lr} 80c8e32: b086 sub sp, #24 80c8e34: af00 add r7, sp, #0 80c8e36: 6078 str r0, [r7, #4] 80c8e38: 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 */ 80c8e3a: 683b ldr r3, [r7, #0] 80c8e3c: 331a adds r3, #26 80c8e3e: 4618 mov r0, r3 80c8e40: f7fe fd0c bl 80c785c 80c8e44: 4603 mov r3, r0 80c8e46: 2b00 cmp r3, #0 80c8e48: d001 beq.n 80c8e4e 80c8e4a: 2300 movs r3, #0 80c8e4c: e04d b.n 80c8eea i = ((dir[LDIR_Ord] & ~LLEF) - 1) * 13; /* Offset in the LFN buffer */ 80c8e4e: 683b ldr r3, [r7, #0] 80c8e50: 781b ldrb r3, [r3, #0] 80c8e52: f023 0340 bic.w r3, r3, #64 ; 0x40 80c8e56: 1e5a subs r2, r3, #1 80c8e58: 4613 mov r3, r2 80c8e5a: 005b lsls r3, r3, #1 80c8e5c: 4413 add r3, r2 80c8e5e: 009b lsls r3, r3, #2 80c8e60: 4413 add r3, r2 80c8e62: 617b str r3, [r7, #20] for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ 80c8e64: 2301 movs r3, #1 80c8e66: 81fb strh r3, [r7, #14] 80c8e68: 2300 movs r3, #0 80c8e6a: 613b str r3, [r7, #16] 80c8e6c: e028 b.n 80c8ec0 uc = ld_word(dir + LfnOfs[s]); /* Pick an LFN character */ 80c8e6e: 4a21 ldr r2, [pc, #132] ; (80c8ef4 ) 80c8e70: 693b ldr r3, [r7, #16] 80c8e72: 4413 add r3, r2 80c8e74: 781b ldrb r3, [r3, #0] 80c8e76: 461a mov r2, r3 80c8e78: 683b ldr r3, [r7, #0] 80c8e7a: 4413 add r3, r2 80c8e7c: 4618 mov r0, r3 80c8e7e: f7fe fced bl 80c785c 80c8e82: 4603 mov r3, r0 80c8e84: 81bb strh r3, [r7, #12] if (wc) { 80c8e86: 89fb ldrh r3, [r7, #14] 80c8e88: 2b00 cmp r3, #0 80c8e8a: d00f beq.n 80c8eac if (i >= _MAX_LFN) return 0; /* Buffer overflow? */ 80c8e8c: 697b ldr r3, [r7, #20] 80c8e8e: 2bfe cmp r3, #254 ; 0xfe 80c8e90: d901 bls.n 80c8e96 80c8e92: 2300 movs r3, #0 80c8e94: e029 b.n 80c8eea lfnbuf[i++] = wc = uc; /* Store it */ 80c8e96: 697b ldr r3, [r7, #20] 80c8e98: 1c5a adds r2, r3, #1 80c8e9a: 617a str r2, [r7, #20] 80c8e9c: 005b lsls r3, r3, #1 80c8e9e: 687a ldr r2, [r7, #4] 80c8ea0: 4413 add r3, r2 80c8ea2: 89ba ldrh r2, [r7, #12] 80c8ea4: 81fa strh r2, [r7, #14] 80c8ea6: 89fa ldrh r2, [r7, #14] 80c8ea8: 801a strh r2, [r3, #0] 80c8eaa: e006 b.n 80c8eba } else { if (uc != 0xFFFF) return 0; /* Check filler */ 80c8eac: 89bb ldrh r3, [r7, #12] 80c8eae: f64f 72ff movw r2, #65535 ; 0xffff 80c8eb2: 4293 cmp r3, r2 80c8eb4: d001 beq.n 80c8eba 80c8eb6: 2300 movs r3, #0 80c8eb8: e017 b.n 80c8eea for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ 80c8eba: 693b ldr r3, [r7, #16] 80c8ebc: 3301 adds r3, #1 80c8ebe: 613b str r3, [r7, #16] 80c8ec0: 693b ldr r3, [r7, #16] 80c8ec2: 2b0c cmp r3, #12 80c8ec4: d9d3 bls.n 80c8e6e } } if (dir[LDIR_Ord] & LLEF) { /* Put terminator if it is the last LFN part */ 80c8ec6: 683b ldr r3, [r7, #0] 80c8ec8: 781b ldrb r3, [r3, #0] 80c8eca: f003 0340 and.w r3, r3, #64 ; 0x40 80c8ece: 2b00 cmp r3, #0 80c8ed0: d00a beq.n 80c8ee8 if (i >= _MAX_LFN) return 0; /* Buffer overflow? */ 80c8ed2: 697b ldr r3, [r7, #20] 80c8ed4: 2bfe cmp r3, #254 ; 0xfe 80c8ed6: d901 bls.n 80c8edc 80c8ed8: 2300 movs r3, #0 80c8eda: e006 b.n 80c8eea lfnbuf[i] = 0; 80c8edc: 697b ldr r3, [r7, #20] 80c8ede: 005b lsls r3, r3, #1 80c8ee0: 687a ldr r2, [r7, #4] 80c8ee2: 4413 add r3, r2 80c8ee4: 2200 movs r2, #0 80c8ee6: 801a strh r2, [r3, #0] } return 1; /* The part of LFN is valid */ 80c8ee8: 2301 movs r3, #1 } 80c8eea: 4618 mov r0, r3 80c8eec: 3718 adds r7, #24 80c8eee: 46bd mov sp, r7 80c8ef0: bd80 pop {r7, pc} 80c8ef2: bf00 nop 80c8ef4: 081706bc .word 0x081706bc 080c8ef8 : 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 */ ) { 80c8ef8: b580 push {r7, lr} 80c8efa: b088 sub sp, #32 80c8efc: af00 add r7, sp, #0 80c8efe: 60f8 str r0, [r7, #12] 80c8f00: 60b9 str r1, [r7, #8] 80c8f02: 4611 mov r1, r2 80c8f04: 461a mov r2, r3 80c8f06: 460b mov r3, r1 80c8f08: 71fb strb r3, [r7, #7] 80c8f0a: 4613 mov r3, r2 80c8f0c: 71bb strb r3, [r7, #6] UINT i, s; WCHAR wc; dir[LDIR_Chksum] = sum; /* Set checksum */ 80c8f0e: 68bb ldr r3, [r7, #8] 80c8f10: 330d adds r3, #13 80c8f12: 79ba ldrb r2, [r7, #6] 80c8f14: 701a strb r2, [r3, #0] dir[LDIR_Attr] = AM_LFN; /* Set attribute. LFN entry */ 80c8f16: 68bb ldr r3, [r7, #8] 80c8f18: 330b adds r3, #11 80c8f1a: 220f movs r2, #15 80c8f1c: 701a strb r2, [r3, #0] dir[LDIR_Type] = 0; 80c8f1e: 68bb ldr r3, [r7, #8] 80c8f20: 330c adds r3, #12 80c8f22: 2200 movs r2, #0 80c8f24: 701a strb r2, [r3, #0] st_word(dir + LDIR_FstClusLO, 0); 80c8f26: 68bb ldr r3, [r7, #8] 80c8f28: 331a adds r3, #26 80c8f2a: 2100 movs r1, #0 80c8f2c: 4618 mov r0, r3 80c8f2e: f7fe fd7f bl 80c7a30 i = (ord - 1) * 13; /* Get offset in the LFN working buffer */ 80c8f32: 79fb ldrb r3, [r7, #7] 80c8f34: 1e5a subs r2, r3, #1 80c8f36: 4613 mov r3, r2 80c8f38: 005b lsls r3, r3, #1 80c8f3a: 4413 add r3, r2 80c8f3c: 009b lsls r3, r3, #2 80c8f3e: 4413 add r3, r2 80c8f40: 61fb str r3, [r7, #28] s = wc = 0; 80c8f42: 2300 movs r3, #0 80c8f44: 82fb strh r3, [r7, #22] 80c8f46: 2300 movs r3, #0 80c8f48: 61bb str r3, [r7, #24] do { if (wc != 0xFFFF) wc = lfn[i++]; /* Get an effective character */ 80c8f4a: 8afb ldrh r3, [r7, #22] 80c8f4c: f64f 72ff movw r2, #65535 ; 0xffff 80c8f50: 4293 cmp r3, r2 80c8f52: d007 beq.n 80c8f64 80c8f54: 69fb ldr r3, [r7, #28] 80c8f56: 1c5a adds r2, r3, #1 80c8f58: 61fa str r2, [r7, #28] 80c8f5a: 005b lsls r3, r3, #1 80c8f5c: 68fa ldr r2, [r7, #12] 80c8f5e: 4413 add r3, r2 80c8f60: 881b ldrh r3, [r3, #0] 80c8f62: 82fb strh r3, [r7, #22] st_word(dir + LfnOfs[s], wc); /* Put it */ 80c8f64: 4a17 ldr r2, [pc, #92] ; (80c8fc4 ) 80c8f66: 69bb ldr r3, [r7, #24] 80c8f68: 4413 add r3, r2 80c8f6a: 781b ldrb r3, [r3, #0] 80c8f6c: 461a mov r2, r3 80c8f6e: 68bb ldr r3, [r7, #8] 80c8f70: 4413 add r3, r2 80c8f72: 8afa ldrh r2, [r7, #22] 80c8f74: 4611 mov r1, r2 80c8f76: 4618 mov r0, r3 80c8f78: f7fe fd5a bl 80c7a30 if (wc == 0) wc = 0xFFFF; /* Padding characters for left locations */ 80c8f7c: 8afb ldrh r3, [r7, #22] 80c8f7e: 2b00 cmp r3, #0 80c8f80: d102 bne.n 80c8f88 80c8f82: f64f 73ff movw r3, #65535 ; 0xffff 80c8f86: 82fb strh r3, [r7, #22] } while (++s < 13); 80c8f88: 69bb ldr r3, [r7, #24] 80c8f8a: 3301 adds r3, #1 80c8f8c: 61bb str r3, [r7, #24] 80c8f8e: 69bb ldr r3, [r7, #24] 80c8f90: 2b0c cmp r3, #12 80c8f92: d9da bls.n 80c8f4a if (wc == 0xFFFF || !lfn[i]) ord |= LLEF; /* Last LFN part is the start of LFN sequence */ 80c8f94: 8afb ldrh r3, [r7, #22] 80c8f96: f64f 72ff movw r2, #65535 ; 0xffff 80c8f9a: 4293 cmp r3, r2 80c8f9c: d006 beq.n 80c8fac 80c8f9e: 69fb ldr r3, [r7, #28] 80c8fa0: 005b lsls r3, r3, #1 80c8fa2: 68fa ldr r2, [r7, #12] 80c8fa4: 4413 add r3, r2 80c8fa6: 881b ldrh r3, [r3, #0] 80c8fa8: 2b00 cmp r3, #0 80c8faa: d103 bne.n 80c8fb4 80c8fac: 79fb ldrb r3, [r7, #7] 80c8fae: f043 0340 orr.w r3, r3, #64 ; 0x40 80c8fb2: 71fb strb r3, [r7, #7] dir[LDIR_Ord] = ord; /* Set the LFN order */ 80c8fb4: 68bb ldr r3, [r7, #8] 80c8fb6: 79fa ldrb r2, [r7, #7] 80c8fb8: 701a strb r2, [r3, #0] } 80c8fba: bf00 nop 80c8fbc: 3720 adds r7, #32 80c8fbe: 46bd mov sp, r7 80c8fc0: bd80 pop {r7, pc} 80c8fc2: bf00 nop 80c8fc4: 081706bc .word 0x081706bc 080c8fc8 : 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 */ ) { 80c8fc8: b580 push {r7, lr} 80c8fca: b08c sub sp, #48 ; 0x30 80c8fcc: af00 add r7, sp, #0 80c8fce: 60f8 str r0, [r7, #12] 80c8fd0: 60b9 str r1, [r7, #8] 80c8fd2: 607a str r2, [r7, #4] 80c8fd4: 603b str r3, [r7, #0] UINT i, j; WCHAR wc; DWORD sr; mem_cpy(dst, src, 11); 80c8fd6: 220b movs r2, #11 80c8fd8: 68b9 ldr r1, [r7, #8] 80c8fda: 68f8 ldr r0, [r7, #12] 80c8fdc: f7fe fe00 bl 80c7be0 if (seq > 5) { /* In case of many collisions, generate a hash number instead of sequential number */ 80c8fe0: 683b ldr r3, [r7, #0] 80c8fe2: 2b05 cmp r3, #5 80c8fe4: d929 bls.n 80c903a sr = seq; 80c8fe6: 683b ldr r3, [r7, #0] 80c8fe8: 61fb str r3, [r7, #28] while (*lfn) { /* Create a CRC */ 80c8fea: e020 b.n 80c902e wc = *lfn++; 80c8fec: 687b ldr r3, [r7, #4] 80c8fee: 1c9a adds r2, r3, #2 80c8ff0: 607a str r2, [r7, #4] 80c8ff2: 881b ldrh r3, [r3, #0] 80c8ff4: 847b strh r3, [r7, #34] ; 0x22 for (i = 0; i < 16; i++) { 80c8ff6: 2300 movs r3, #0 80c8ff8: 62bb str r3, [r7, #40] ; 0x28 80c8ffa: e015 b.n 80c9028 sr = (sr << 1) + (wc & 1); 80c8ffc: 69fb ldr r3, [r7, #28] 80c8ffe: 005a lsls r2, r3, #1 80c9000: 8c7b ldrh r3, [r7, #34] ; 0x22 80c9002: f003 0301 and.w r3, r3, #1 80c9006: 4413 add r3, r2 80c9008: 61fb str r3, [r7, #28] wc >>= 1; 80c900a: 8c7b ldrh r3, [r7, #34] ; 0x22 80c900c: 085b lsrs r3, r3, #1 80c900e: 847b strh r3, [r7, #34] ; 0x22 if (sr & 0x10000) sr ^= 0x11021; 80c9010: 69fb ldr r3, [r7, #28] 80c9012: f403 3380 and.w r3, r3, #65536 ; 0x10000 80c9016: 2b00 cmp r3, #0 80c9018: d003 beq.n 80c9022 80c901a: 69fa ldr r2, [r7, #28] 80c901c: 4b30 ldr r3, [pc, #192] ; (80c90e0 ) 80c901e: 4053 eors r3, r2 80c9020: 61fb str r3, [r7, #28] for (i = 0; i < 16; i++) { 80c9022: 6abb ldr r3, [r7, #40] ; 0x28 80c9024: 3301 adds r3, #1 80c9026: 62bb str r3, [r7, #40] ; 0x28 80c9028: 6abb ldr r3, [r7, #40] ; 0x28 80c902a: 2b0f cmp r3, #15 80c902c: d9e6 bls.n 80c8ffc while (*lfn) { /* Create a CRC */ 80c902e: 687b ldr r3, [r7, #4] 80c9030: 881b ldrh r3, [r3, #0] 80c9032: 2b00 cmp r3, #0 80c9034: d1da bne.n 80c8fec } } seq = (UINT)sr; 80c9036: 69fb ldr r3, [r7, #28] 80c9038: 603b str r3, [r7, #0] } /* itoa (hexdecimal) */ i = 7; 80c903a: 2307 movs r3, #7 80c903c: 62bb str r3, [r7, #40] ; 0x28 do { c = (BYTE)((seq % 16) + '0'); 80c903e: 683b ldr r3, [r7, #0] 80c9040: b2db uxtb r3, r3 80c9042: f003 030f and.w r3, r3, #15 80c9046: b2db uxtb r3, r3 80c9048: 3330 adds r3, #48 ; 0x30 80c904a: f887 302f strb.w r3, [r7, #47] ; 0x2f if (c > '9') c += 7; 80c904e: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80c9052: 2b39 cmp r3, #57 ; 0x39 80c9054: d904 bls.n 80c9060 80c9056: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80c905a: 3307 adds r3, #7 80c905c: f887 302f strb.w r3, [r7, #47] ; 0x2f ns[i--] = c; 80c9060: 6abb ldr r3, [r7, #40] ; 0x28 80c9062: 1e5a subs r2, r3, #1 80c9064: 62ba str r2, [r7, #40] ; 0x28 80c9066: f107 0230 add.w r2, r7, #48 ; 0x30 80c906a: 4413 add r3, r2 80c906c: f897 202f ldrb.w r2, [r7, #47] ; 0x2f 80c9070: f803 2c1c strb.w r2, [r3, #-28] seq /= 16; 80c9074: 683b ldr r3, [r7, #0] 80c9076: 091b lsrs r3, r3, #4 80c9078: 603b str r3, [r7, #0] } while (seq); 80c907a: 683b ldr r3, [r7, #0] 80c907c: 2b00 cmp r3, #0 80c907e: d1de bne.n 80c903e ns[i] = '~'; 80c9080: f107 0214 add.w r2, r7, #20 80c9084: 6abb ldr r3, [r7, #40] ; 0x28 80c9086: 4413 add r3, r2 80c9088: 227e movs r2, #126 ; 0x7e 80c908a: 701a strb r2, [r3, #0] /* Append the number */ for (j = 0; j < i && dst[j] != ' '; j++) { 80c908c: 2300 movs r3, #0 80c908e: 627b str r3, [r7, #36] ; 0x24 80c9090: e002 b.n 80c9098 80c9092: 6a7b ldr r3, [r7, #36] ; 0x24 80c9094: 3301 adds r3, #1 80c9096: 627b str r3, [r7, #36] ; 0x24 80c9098: 6a7a ldr r2, [r7, #36] ; 0x24 80c909a: 6abb ldr r3, [r7, #40] ; 0x28 80c909c: 429a cmp r2, r3 80c909e: d205 bcs.n 80c90ac 80c90a0: 68fa ldr r2, [r7, #12] 80c90a2: 6a7b ldr r3, [r7, #36] ; 0x24 80c90a4: 4413 add r3, r2 80c90a6: 781b ldrb r3, [r3, #0] 80c90a8: 2b20 cmp r3, #32 80c90aa: d1f2 bne.n 80c9092 if (j == i - 1) break; j++; } } do { dst[j++] = (i < 8) ? ns[i++] : ' '; 80c90ac: 6a7b ldr r3, [r7, #36] ; 0x24 80c90ae: 1c5a adds r2, r3, #1 80c90b0: 627a str r2, [r7, #36] ; 0x24 80c90b2: 68fa ldr r2, [r7, #12] 80c90b4: 441a add r2, r3 80c90b6: 6abb ldr r3, [r7, #40] ; 0x28 80c90b8: 2b07 cmp r3, #7 80c90ba: d808 bhi.n 80c90ce 80c90bc: 6abb ldr r3, [r7, #40] ; 0x28 80c90be: 1c59 adds r1, r3, #1 80c90c0: 62b9 str r1, [r7, #40] ; 0x28 80c90c2: f107 0130 add.w r1, r7, #48 ; 0x30 80c90c6: 440b add r3, r1 80c90c8: f813 3c1c ldrb.w r3, [r3, #-28] 80c90cc: e000 b.n 80c90d0 80c90ce: 2320 movs r3, #32 80c90d0: 7013 strb r3, [r2, #0] } while (j < 8); 80c90d2: 6a7b ldr r3, [r7, #36] ; 0x24 80c90d4: 2b07 cmp r3, #7 80c90d6: d9e9 bls.n 80c90ac } 80c90d8: bf00 nop 80c90da: 3730 adds r7, #48 ; 0x30 80c90dc: 46bd mov sp, r7 80c90de: bd80 pop {r7, pc} 80c90e0: 00011021 .word 0x00011021 080c90e4 : static BYTE sum_sfn ( const BYTE* dir /* Pointer to the SFN entry */ ) { 80c90e4: b480 push {r7} 80c90e6: b085 sub sp, #20 80c90e8: af00 add r7, sp, #0 80c90ea: 6078 str r0, [r7, #4] BYTE sum = 0; 80c90ec: 2300 movs r3, #0 80c90ee: 73fb strb r3, [r7, #15] UINT n = 11; 80c90f0: 230b movs r3, #11 80c90f2: 60bb str r3, [r7, #8] do { sum = (sum >> 1) + (sum << 7) + *dir++; 80c90f4: 7bfb ldrb r3, [r7, #15] 80c90f6: b2da uxtb r2, r3 80c90f8: 0852 lsrs r2, r2, #1 80c90fa: 01db lsls r3, r3, #7 80c90fc: 4313 orrs r3, r2 80c90fe: b2da uxtb r2, r3 80c9100: 687b ldr r3, [r7, #4] 80c9102: 1c59 adds r1, r3, #1 80c9104: 6079 str r1, [r7, #4] 80c9106: 781b ldrb r3, [r3, #0] 80c9108: 4413 add r3, r2 80c910a: 73fb strb r3, [r7, #15] } while (--n); 80c910c: 68bb ldr r3, [r7, #8] 80c910e: 3b01 subs r3, #1 80c9110: 60bb str r3, [r7, #8] 80c9112: 68bb ldr r3, [r7, #8] 80c9114: 2b00 cmp r3, #0 80c9116: d1ed bne.n 80c90f4 return sum; 80c9118: 7bfb ldrb r3, [r7, #15] } 80c911a: 4618 mov r0, r3 80c911c: 3714 adds r7, #20 80c911e: 46bd mov sp, r7 80c9120: f85d 7b04 ldr.w r7, [sp], #4 80c9124: 4770 bx lr 080c9126 : static WORD xdir_sum ( /* Get checksum of the directoly block */ const BYTE* dir /* Directory entry block to be calculated */ ) { 80c9126: b480 push {r7} 80c9128: b087 sub sp, #28 80c912a: af00 add r7, sp, #0 80c912c: 6078 str r0, [r7, #4] UINT i, szblk; WORD sum; szblk = (dir[XDIR_NumSec] + 1) * SZDIRE; 80c912e: 687b ldr r3, [r7, #4] 80c9130: 3301 adds r3, #1 80c9132: 781b ldrb r3, [r3, #0] 80c9134: 3301 adds r3, #1 80c9136: 015b lsls r3, r3, #5 80c9138: 60fb str r3, [r7, #12] for (i = sum = 0; i < szblk; i++) { 80c913a: 2300 movs r3, #0 80c913c: 827b strh r3, [r7, #18] 80c913e: 2300 movs r3, #0 80c9140: 617b str r3, [r7, #20] 80c9142: e01e b.n 80c9182 if (i == XDIR_SetSum) { /* Skip sum field */ 80c9144: 697b ldr r3, [r7, #20] 80c9146: 2b02 cmp r3, #2 80c9148: d103 bne.n 80c9152 i++; 80c914a: 697b ldr r3, [r7, #20] 80c914c: 3301 adds r3, #1 80c914e: 617b str r3, [r7, #20] 80c9150: e014 b.n 80c917c } else { sum = ((sum & 1) ? 0x8000 : 0) + (sum >> 1) + dir[i]; 80c9152: 8a7b ldrh r3, [r7, #18] 80c9154: f003 0301 and.w r3, r3, #1 80c9158: 2b00 cmp r3, #0 80c915a: d002 beq.n 80c9162 80c915c: f44f 4200 mov.w r2, #32768 ; 0x8000 80c9160: e000 b.n 80c9164 80c9162: 2200 movs r2, #0 80c9164: 8a7b ldrh r3, [r7, #18] 80c9166: 085b lsrs r3, r3, #1 80c9168: b29b uxth r3, r3 80c916a: 4413 add r3, r2 80c916c: b29a uxth r2, r3 80c916e: 6879 ldr r1, [r7, #4] 80c9170: 697b ldr r3, [r7, #20] 80c9172: 440b add r3, r1 80c9174: 781b ldrb r3, [r3, #0] 80c9176: b29b uxth r3, r3 80c9178: 4413 add r3, r2 80c917a: 827b strh r3, [r7, #18] for (i = sum = 0; i < szblk; i++) { 80c917c: 697b ldr r3, [r7, #20] 80c917e: 3301 adds r3, #1 80c9180: 617b str r3, [r7, #20] 80c9182: 697a ldr r2, [r7, #20] 80c9184: 68fb ldr r3, [r7, #12] 80c9186: 429a cmp r2, r3 80c9188: d3dc bcc.n 80c9144 } } return sum; 80c918a: 8a7b ldrh r3, [r7, #18] } 80c918c: 4618 mov r0, r3 80c918e: 371c adds r7, #28 80c9190: 46bd mov sp, r7 80c9192: f85d 7b04 ldr.w r7, [sp], #4 80c9196: 4770 bx lr 080c9198 : static WORD xname_sum ( /* Get check sum (to be used as hash) of the name */ const WCHAR* name /* File name to be calculated */ ) { 80c9198: b580 push {r7, lr} 80c919a: b084 sub sp, #16 80c919c: af00 add r7, sp, #0 80c919e: 6078 str r0, [r7, #4] WCHAR chr; WORD sum = 0; 80c91a0: 2300 movs r3, #0 80c91a2: 81fb strh r3, [r7, #14] while ((chr = *name++) != 0) { 80c91a4: e02b b.n 80c91fe chr = ff_wtoupper(chr); /* File name needs to be ignored case */ 80c91a6: 89bb ldrh r3, [r7, #12] 80c91a8: 4618 mov r0, r3 80c91aa: f004 fe47 bl 80cde3c 80c91ae: 4603 mov r3, r0 80c91b0: 81bb strh r3, [r7, #12] sum = ((sum & 1) ? 0x8000 : 0) + (sum >> 1) + (chr & 0xFF); 80c91b2: 89fb ldrh r3, [r7, #14] 80c91b4: f003 0301 and.w r3, r3, #1 80c91b8: 2b00 cmp r3, #0 80c91ba: d002 beq.n 80c91c2 80c91bc: f44f 4200 mov.w r2, #32768 ; 0x8000 80c91c0: e000 b.n 80c91c4 80c91c2: 2200 movs r2, #0 80c91c4: 89fb ldrh r3, [r7, #14] 80c91c6: 085b lsrs r3, r3, #1 80c91c8: b29b uxth r3, r3 80c91ca: 4413 add r3, r2 80c91cc: b29a uxth r2, r3 80c91ce: 89bb ldrh r3, [r7, #12] 80c91d0: b2db uxtb r3, r3 80c91d2: b29b uxth r3, r3 80c91d4: 4413 add r3, r2 80c91d6: 81fb strh r3, [r7, #14] sum = ((sum & 1) ? 0x8000 : 0) + (sum >> 1) + (chr >> 8); 80c91d8: 89fb ldrh r3, [r7, #14] 80c91da: f003 0301 and.w r3, r3, #1 80c91de: 2b00 cmp r3, #0 80c91e0: d002 beq.n 80c91e8 80c91e2: f44f 4200 mov.w r2, #32768 ; 0x8000 80c91e6: e000 b.n 80c91ea 80c91e8: 2200 movs r2, #0 80c91ea: 89fb ldrh r3, [r7, #14] 80c91ec: 085b lsrs r3, r3, #1 80c91ee: b29b uxth r3, r3 80c91f0: 4413 add r3, r2 80c91f2: b29a uxth r2, r3 80c91f4: 89bb ldrh r3, [r7, #12] 80c91f6: 0a1b lsrs r3, r3, #8 80c91f8: b29b uxth r3, r3 80c91fa: 4413 add r3, r2 80c91fc: 81fb strh r3, [r7, #14] while ((chr = *name++) != 0) { 80c91fe: 687b ldr r3, [r7, #4] 80c9200: 1c9a adds r2, r3, #2 80c9202: 607a str r2, [r7, #4] 80c9204: 881b ldrh r3, [r3, #0] 80c9206: 81bb strh r3, [r7, #12] 80c9208: 89bb ldrh r3, [r7, #12] 80c920a: 2b00 cmp r3, #0 80c920c: d1cb bne.n 80c91a6 } return sum; 80c920e: 89fb ldrh r3, [r7, #14] } 80c9210: 4618 mov r0, r3 80c9212: 3710 adds r7, #16 80c9214: 46bd mov sp, r7 80c9216: bd80 pop {r7, pc} 080c9218 : static DWORD xsum32 ( BYTE dat, /* Data to be sumed */ DWORD sum /* Previous value */ ) { 80c9218: b480 push {r7} 80c921a: b083 sub sp, #12 80c921c: af00 add r7, sp, #0 80c921e: 4603 mov r3, r0 80c9220: 6039 str r1, [r7, #0] 80c9222: 71fb strb r3, [r7, #7] sum = ((sum & 1) ? 0x80000000 : 0) + (sum >> 1) + dat; 80c9224: 683b ldr r3, [r7, #0] 80c9226: f003 0301 and.w r3, r3, #1 80c922a: 2b00 cmp r3, #0 80c922c: d002 beq.n 80c9234 80c922e: f04f 4200 mov.w r2, #2147483648 ; 0x80000000 80c9232: e000 b.n 80c9236 80c9234: 2200 movs r2, #0 80c9236: 683b ldr r3, [r7, #0] 80c9238: 085b lsrs r3, r3, #1 80c923a: 441a add r2, r3 80c923c: 79fb ldrb r3, [r7, #7] 80c923e: 4413 add r3, r2 80c9240: 603b str r3, [r7, #0] return sum; 80c9242: 683b ldr r3, [r7, #0] } 80c9244: 4618 mov r0, r3 80c9246: 370c adds r7, #12 80c9248: 46bd mov sp, r7 80c924a: f85d 7b04 ldr.w r7, [sp], #4 80c924e: 4770 bx lr 080c9250 : 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 */ ) { 80c9250: b590 push {r4, r7, lr} 80c9252: b087 sub sp, #28 80c9254: af00 add r7, sp, #0 80c9256: 6078 str r0, [r7, #4] 80c9258: 6039 str r1, [r7, #0] #if !_LFN_UNICODE UINT nc; #endif /* Get file name */ di = 0; 80c925a: 2300 movs r3, #0 80c925c: 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++) { 80c925e: 2340 movs r3, #64 ; 0x40 80c9260: 613b str r3, [r7, #16] 80c9262: 2300 movs r3, #0 80c9264: 60fb str r3, [r7, #12] 80c9266: e02c b.n 80c92c2 if ((si % SZDIRE) == 0) si += 2; /* Skip entry type field */ 80c9268: 693b ldr r3, [r7, #16] 80c926a: f003 031f and.w r3, r3, #31 80c926e: 2b00 cmp r3, #0 80c9270: d102 bne.n 80c9278 80c9272: 693b ldr r3, [r7, #16] 80c9274: 3302 adds r3, #2 80c9276: 613b str r3, [r7, #16] w = ff_convert(ld_word(dirb + si), 0); /* Get a character and Unicode -> OEM */ 80c9278: 687a ldr r2, [r7, #4] 80c927a: 693b ldr r3, [r7, #16] 80c927c: 4413 add r3, r2 80c927e: 4618 mov r0, r3 80c9280: f7fe faec bl 80c785c 80c9284: 4603 mov r3, r0 80c9286: 2100 movs r1, #0 80c9288: 4618 mov r0, r3 80c928a: f004 fd9b bl 80cddc4 80c928e: 4603 mov r3, r0 80c9290: 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 */ 80c9292: 897b ldrh r3, [r7, #10] 80c9294: 2b00 cmp r3, #0 80c9296: d002 beq.n 80c929e 80c9298: 697b ldr r3, [r7, #20] 80c929a: 2bfe cmp r3, #254 ; 0xfe 80c929c: d902 bls.n 80c92a4 80c929e: 2300 movs r3, #0 80c92a0: 617b str r3, [r7, #20] 80c92a2: e015 b.n 80c92d0 fno->fname[di++] = (char)w; 80c92a4: 697b ldr r3, [r7, #20] 80c92a6: 1c5a adds r2, r3, #1 80c92a8: 617a str r2, [r7, #20] 80c92aa: 897a ldrh r2, [r7, #10] 80c92ac: b2d1 uxtb r1, r2 80c92ae: 683a ldr r2, [r7, #0] 80c92b0: 4413 add r3, r2 80c92b2: 460a mov r2, r1 80c92b4: 769a strb r2, [r3, #26] for (si = SZDIRE * 2, nc = 0; nc < dirb[XDIR_NumName]; si += 2, nc++) { 80c92b6: 693b ldr r3, [r7, #16] 80c92b8: 3302 adds r3, #2 80c92ba: 613b str r3, [r7, #16] 80c92bc: 68fb ldr r3, [r7, #12] 80c92be: 3301 adds r3, #1 80c92c0: 60fb str r3, [r7, #12] 80c92c2: 687b ldr r3, [r7, #4] 80c92c4: 3323 adds r3, #35 ; 0x23 80c92c6: 781b ldrb r3, [r3, #0] 80c92c8: 461a mov r2, r3 80c92ca: 68fb ldr r3, [r7, #12] 80c92cc: 429a cmp r2, r3 80c92ce: d8cb bhi.n 80c9268 } #endif if (di == 0) fno->fname[di++] = '?'; /* Inaccessible object name? */ 80c92d0: 697b ldr r3, [r7, #20] 80c92d2: 2b00 cmp r3, #0 80c92d4: d106 bne.n 80c92e4 80c92d6: 697b ldr r3, [r7, #20] 80c92d8: 1c5a adds r2, r3, #1 80c92da: 617a str r2, [r7, #20] 80c92dc: 683a ldr r2, [r7, #0] 80c92de: 4413 add r3, r2 80c92e0: 223f movs r2, #63 ; 0x3f 80c92e2: 769a strb r2, [r3, #26] fno->fname[di] = 0; /* Terminate file name */ 80c92e4: 683a ldr r2, [r7, #0] 80c92e6: 697b ldr r3, [r7, #20] 80c92e8: 4413 add r3, r2 80c92ea: 331a adds r3, #26 80c92ec: 2200 movs r2, #0 80c92ee: 701a strb r2, [r3, #0] fno->altname[0] = 0; /* No SFN */ 80c92f0: 683b ldr r3, [r7, #0] 80c92f2: 2200 movs r2, #0 80c92f4: 735a strb r2, [r3, #13] fno->fattrib = dirb[XDIR_Attr]; /* Attribute */ 80c92f6: 687b ldr r3, [r7, #4] 80c92f8: 791a ldrb r2, [r3, #4] 80c92fa: 683b ldr r3, [r7, #0] 80c92fc: 731a strb r2, [r3, #12] fno->fsize = (fno->fattrib & AM_DIR) ? 0 : ld_qword(dirb + XDIR_FileSize); /* Size */ 80c92fe: 683b ldr r3, [r7, #0] 80c9300: 7b1b ldrb r3, [r3, #12] 80c9302: f003 0310 and.w r3, r3, #16 80c9306: 2b00 cmp r3, #0 80c9308: d107 bne.n 80c931a 80c930a: 687b ldr r3, [r7, #4] 80c930c: 3338 adds r3, #56 ; 0x38 80c930e: 4618 mov r0, r3 80c9310: f7fe fadf bl 80c78d2 80c9314: 4603 mov r3, r0 80c9316: 460c mov r4, r1 80c9318: e003 b.n 80c9322 80c931a: f04f 0300 mov.w r3, #0 80c931e: f04f 0400 mov.w r4, #0 80c9322: 683a ldr r2, [r7, #0] 80c9324: e882 0018 stmia.w r2, {r3, r4} fno->ftime = ld_word(dirb + XDIR_ModTime + 0); /* Time */ 80c9328: 687b ldr r3, [r7, #4] 80c932a: 330c adds r3, #12 80c932c: 4618 mov r0, r3 80c932e: f7fe fa95 bl 80c785c 80c9332: 4603 mov r3, r0 80c9334: 461a mov r2, r3 80c9336: 683b ldr r3, [r7, #0] 80c9338: 815a strh r2, [r3, #10] fno->fdate = ld_word(dirb + XDIR_ModTime + 2); /* Date */ 80c933a: 687b ldr r3, [r7, #4] 80c933c: 330e adds r3, #14 80c933e: 4618 mov r0, r3 80c9340: f7fe fa8c bl 80c785c 80c9344: 4603 mov r3, r0 80c9346: 461a mov r2, r3 80c9348: 683b ldr r3, [r7, #0] 80c934a: 811a strh r2, [r3, #8] } 80c934c: bf00 nop 80c934e: 371c adds r7, #28 80c9350: 46bd mov sp, r7 80c9352: bd90 pop {r4, r7, pc} 080c9354 : static FRESULT load_xdir ( /* FR_INT_ERR: invalid entry block */ DIR* dp /* Pointer to the reading direcotry object pointing the 85 entry */ ) { 80c9354: b590 push {r4, r7, lr} 80c9356: b087 sub sp, #28 80c9358: af00 add r7, sp, #0 80c935a: 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 */ 80c935c: 687b ldr r3, [r7, #4] 80c935e: 681b ldr r3, [r3, #0] 80c9360: 691b ldr r3, [r3, #16] 80c9362: 613b str r3, [r7, #16] /* Load 85 entry */ res = move_window(dp->obj.fs, dp->sect); 80c9364: 687b ldr r3, [r7, #4] 80c9366: 681a ldr r2, [r3, #0] 80c9368: 687b ldr r3, [r7, #4] 80c936a: 6b9b ldr r3, [r3, #56] ; 0x38 80c936c: 4619 mov r1, r3 80c936e: 4610 mov r0, r2 80c9370: f7fe fcf7 bl 80c7d62 80c9374: 4603 mov r3, r0 80c9376: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c9378: 7bfb ldrb r3, [r7, #15] 80c937a: 2b00 cmp r3, #0 80c937c: d001 beq.n 80c9382 80c937e: 7bfb ldrb r3, [r7, #15] 80c9380: e09f b.n 80c94c2 if (dp->dir[XDIR_Type] != 0x85) return FR_INT_ERR; 80c9382: 687b ldr r3, [r7, #4] 80c9384: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9386: 781b ldrb r3, [r3, #0] 80c9388: 2b85 cmp r3, #133 ; 0x85 80c938a: d001 beq.n 80c9390 80c938c: 2302 movs r3, #2 80c938e: e098 b.n 80c94c2 mem_cpy(dirb + 0, dp->dir, SZDIRE); 80c9390: 687b ldr r3, [r7, #4] 80c9392: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9394: 2220 movs r2, #32 80c9396: 4619 mov r1, r3 80c9398: 6938 ldr r0, [r7, #16] 80c939a: f7fe fc21 bl 80c7be0 sz_ent = (dirb[XDIR_NumSec] + 1) * SZDIRE; 80c939e: 693b ldr r3, [r7, #16] 80c93a0: 3301 adds r3, #1 80c93a2: 781b ldrb r3, [r3, #0] 80c93a4: 3301 adds r3, #1 80c93a6: 015b lsls r3, r3, #5 80c93a8: 60bb str r3, [r7, #8] if (sz_ent < 3 * SZDIRE || sz_ent > 19 * SZDIRE) return FR_INT_ERR; 80c93aa: 68bb ldr r3, [r7, #8] 80c93ac: 2b5f cmp r3, #95 ; 0x5f 80c93ae: d903 bls.n 80c93b8 80c93b0: 68bb ldr r3, [r7, #8] 80c93b2: f5b3 7f18 cmp.w r3, #608 ; 0x260 80c93b6: d901 bls.n 80c93bc 80c93b8: 2302 movs r3, #2 80c93ba: e082 b.n 80c94c2 /* Load C0 entry */ res = dir_next(dp, 0); 80c93bc: 2100 movs r1, #0 80c93be: 6878 ldr r0, [r7, #4] 80c93c0: f7ff fb55 bl 80c8a6e 80c93c4: 4603 mov r3, r0 80c93c6: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c93c8: 7bfb ldrb r3, [r7, #15] 80c93ca: 2b00 cmp r3, #0 80c93cc: d001 beq.n 80c93d2 80c93ce: 7bfb ldrb r3, [r7, #15] 80c93d0: e077 b.n 80c94c2 res = move_window(dp->obj.fs, dp->sect); 80c93d2: 687b ldr r3, [r7, #4] 80c93d4: 681a ldr r2, [r3, #0] 80c93d6: 687b ldr r3, [r7, #4] 80c93d8: 6b9b ldr r3, [r3, #56] ; 0x38 80c93da: 4619 mov r1, r3 80c93dc: 4610 mov r0, r2 80c93de: f7fe fcc0 bl 80c7d62 80c93e2: 4603 mov r3, r0 80c93e4: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c93e6: 7bfb ldrb r3, [r7, #15] 80c93e8: 2b00 cmp r3, #0 80c93ea: d001 beq.n 80c93f0 80c93ec: 7bfb ldrb r3, [r7, #15] 80c93ee: e068 b.n 80c94c2 if (dp->dir[XDIR_Type] != 0xC0) return FR_INT_ERR; 80c93f0: 687b ldr r3, [r7, #4] 80c93f2: 6bdb ldr r3, [r3, #60] ; 0x3c 80c93f4: 781b ldrb r3, [r3, #0] 80c93f6: 2bc0 cmp r3, #192 ; 0xc0 80c93f8: d001 beq.n 80c93fe 80c93fa: 2302 movs r3, #2 80c93fc: e061 b.n 80c94c2 mem_cpy(dirb + SZDIRE, dp->dir, SZDIRE); 80c93fe: 693b ldr r3, [r7, #16] 80c9400: f103 0020 add.w r0, r3, #32 80c9404: 687b ldr r3, [r7, #4] 80c9406: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9408: 2220 movs r2, #32 80c940a: 4619 mov r1, r3 80c940c: f7fe fbe8 bl 80c7be0 if (MAXDIRB(dirb[XDIR_NumName]) > sz_ent) return FR_INT_ERR; 80c9410: 693b ldr r3, [r7, #16] 80c9412: 3323 adds r3, #35 ; 0x23 80c9414: 781b ldrb r3, [r3, #0] 80c9416: 332c adds r3, #44 ; 0x2c 80c9418: 4a2c ldr r2, [pc, #176] ; (80c94cc ) 80c941a: fba2 2303 umull r2, r3, r2, r3 80c941e: 08db lsrs r3, r3, #3 80c9420: 015a lsls r2, r3, #5 80c9422: 68bb ldr r3, [r7, #8] 80c9424: 429a cmp r2, r3 80c9426: d901 bls.n 80c942c 80c9428: 2302 movs r3, #2 80c942a: e04a b.n 80c94c2 /* Load C1 entries */ i = SZDIRE * 2; /* C1 offset */ 80c942c: 2340 movs r3, #64 ; 0x40 80c942e: 617b str r3, [r7, #20] do { res = dir_next(dp, 0); 80c9430: 2100 movs r1, #0 80c9432: 6878 ldr r0, [r7, #4] 80c9434: f7ff fb1b bl 80c8a6e 80c9438: 4603 mov r3, r0 80c943a: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c943c: 7bfb ldrb r3, [r7, #15] 80c943e: 2b00 cmp r3, #0 80c9440: d001 beq.n 80c9446 80c9442: 7bfb ldrb r3, [r7, #15] 80c9444: e03d b.n 80c94c2 res = move_window(dp->obj.fs, dp->sect); 80c9446: 687b ldr r3, [r7, #4] 80c9448: 681a ldr r2, [r3, #0] 80c944a: 687b ldr r3, [r7, #4] 80c944c: 6b9b ldr r3, [r3, #56] ; 0x38 80c944e: 4619 mov r1, r3 80c9450: 4610 mov r0, r2 80c9452: f7fe fc86 bl 80c7d62 80c9456: 4603 mov r3, r0 80c9458: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c945a: 7bfb ldrb r3, [r7, #15] 80c945c: 2b00 cmp r3, #0 80c945e: d001 beq.n 80c9464 80c9460: 7bfb ldrb r3, [r7, #15] 80c9462: e02e b.n 80c94c2 if (dp->dir[XDIR_Type] != 0xC1) return FR_INT_ERR; 80c9464: 687b ldr r3, [r7, #4] 80c9466: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9468: 781b ldrb r3, [r3, #0] 80c946a: 2bc1 cmp r3, #193 ; 0xc1 80c946c: d001 beq.n 80c9472 80c946e: 2302 movs r3, #2 80c9470: e027 b.n 80c94c2 if (i < MAXDIRB(_MAX_LFN)) mem_cpy(dirb + i, dp->dir, SZDIRE); 80c9472: 697b ldr r3, [r7, #20] 80c9474: f5b3 7f18 cmp.w r3, #608 ; 0x260 80c9478: d208 bcs.n 80c948c 80c947a: 693a ldr r2, [r7, #16] 80c947c: 697b ldr r3, [r7, #20] 80c947e: 18d0 adds r0, r2, r3 80c9480: 687b ldr r3, [r7, #4] 80c9482: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9484: 2220 movs r2, #32 80c9486: 4619 mov r1, r3 80c9488: f7fe fbaa bl 80c7be0 } while ((i += SZDIRE) < sz_ent); 80c948c: 697b ldr r3, [r7, #20] 80c948e: 3320 adds r3, #32 80c9490: 617b str r3, [r7, #20] 80c9492: 697a ldr r2, [r7, #20] 80c9494: 68bb ldr r3, [r7, #8] 80c9496: 429a cmp r2, r3 80c9498: d3ca bcc.n 80c9430 /* Sanity check (do it when accessible object name) */ if (i <= MAXDIRB(_MAX_LFN)) { 80c949a: 697b ldr r3, [r7, #20] 80c949c: f5b3 7f18 cmp.w r3, #608 ; 0x260 80c94a0: d80e bhi.n 80c94c0 if (xdir_sum(dirb) != ld_word(dirb + XDIR_SetSum)) return FR_INT_ERR; 80c94a2: 6938 ldr r0, [r7, #16] 80c94a4: f7ff fe3f bl 80c9126 80c94a8: 4603 mov r3, r0 80c94aa: 461c mov r4, r3 80c94ac: 693b ldr r3, [r7, #16] 80c94ae: 3302 adds r3, #2 80c94b0: 4618 mov r0, r3 80c94b2: f7fe f9d3 bl 80c785c 80c94b6: 4603 mov r3, r0 80c94b8: 429c cmp r4, r3 80c94ba: d001 beq.n 80c94c0 80c94bc: 2302 movs r3, #2 80c94be: e000 b.n 80c94c2 } return FR_OK; 80c94c0: 2300 movs r3, #0 } 80c94c2: 4618 mov r0, r3 80c94c4: 371c adds r7, #28 80c94c6: 46bd mov sp, r7 80c94c8: bd90 pop {r4, r7, pc} 80c94ca: bf00 nop 80c94cc: 88888889 .word 0x88888889 080c94d0 : 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 */ ) { 80c94d0: b590 push {r4, r7, lr} 80c94d2: b085 sub sp, #20 80c94d4: af00 add r7, sp, #0 80c94d6: 6078 str r0, [r7, #4] 80c94d8: 6039 str r1, [r7, #0] FRESULT res; /* Open object containing directory */ dp->obj.fs = obj->fs; 80c94da: 683b ldr r3, [r7, #0] 80c94dc: 681a ldr r2, [r3, #0] 80c94de: 687b ldr r3, [r7, #4] 80c94e0: 601a str r2, [r3, #0] dp->obj.sclust = obj->c_scl; 80c94e2: 683b ldr r3, [r7, #0] 80c94e4: 6a1a ldr r2, [r3, #32] 80c94e6: 687b ldr r3, [r7, #4] 80c94e8: 609a str r2, [r3, #8] dp->obj.stat = (BYTE)obj->c_size; 80c94ea: 683b ldr r3, [r7, #0] 80c94ec: 6a5b ldr r3, [r3, #36] ; 0x24 80c94ee: b2da uxtb r2, r3 80c94f0: 687b ldr r3, [r7, #4] 80c94f2: 71da strb r2, [r3, #7] dp->obj.objsize = obj->c_size & 0xFFFFFF00; 80c94f4: 683b ldr r3, [r7, #0] 80c94f6: 6a5b ldr r3, [r3, #36] ; 0x24 80c94f8: f04f 0400 mov.w r4, #0 80c94fc: f06f 01ff mvn.w r1, #255 ; 0xff 80c9500: f04f 0200 mov.w r2, #0 80c9504: ea03 0301 and.w r3, r3, r1 80c9508: ea04 0402 and.w r4, r4, r2 80c950c: 687a ldr r2, [r7, #4] 80c950e: e9c2 3404 strd r3, r4, [r2, #16] dp->blk_ofs = obj->c_ofs; 80c9512: 683b ldr r3, [r7, #0] 80c9514: 6a9a ldr r2, [r3, #40] ; 0x28 80c9516: 687b ldr r3, [r7, #4] 80c9518: 64da str r2, [r3, #76] ; 0x4c res = dir_sdi(dp, dp->blk_ofs); /* Goto object's entry block */ 80c951a: 687b ldr r3, [r7, #4] 80c951c: 6cdb ldr r3, [r3, #76] ; 0x4c 80c951e: 4619 mov r1, r3 80c9520: 6878 ldr r0, [r7, #4] 80c9522: f7ff fa1e bl 80c8962 80c9526: 4603 mov r3, r0 80c9528: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80c952a: 7bfb ldrb r3, [r7, #15] 80c952c: 2b00 cmp r3, #0 80c952e: d104 bne.n 80c953a res = load_xdir(dp); /* Load the object's entry block */ 80c9530: 6878 ldr r0, [r7, #4] 80c9532: f7ff ff0f bl 80c9354 80c9536: 4603 mov r3, r0 80c9538: 73fb strb r3, [r7, #15] } return res; 80c953a: 7bfb ldrb r3, [r7, #15] } 80c953c: 4618 mov r0, r3 80c953e: 3714 adds r7, #20 80c9540: 46bd mov sp, r7 80c9542: bd90 pop {r4, r7, pc} 080c9544 : /*-----------------------------------------------*/ static FRESULT store_xdir ( DIR* dp /* Pointer to the direcotry object */ ) { 80c9544: b590 push {r4, r7, lr} 80c9546: b087 sub sp, #28 80c9548: af00 add r7, sp, #0 80c954a: 6078 str r0, [r7, #4] FRESULT res; UINT nent; BYTE* dirb = dp->obj.fs->dirbuf; /* Pointer to the direcotry entry block 85+C0+C1s */ 80c954c: 687b ldr r3, [r7, #4] 80c954e: 681b ldr r3, [r3, #0] 80c9550: 691b ldr r3, [r3, #16] 80c9552: 60fb str r3, [r7, #12] /* Create set sum */ st_word(dirb + XDIR_SetSum, xdir_sum(dirb)); 80c9554: 68fb ldr r3, [r7, #12] 80c9556: 1c9c adds r4, r3, #2 80c9558: 68f8 ldr r0, [r7, #12] 80c955a: f7ff fde4 bl 80c9126 80c955e: 4603 mov r3, r0 80c9560: 4619 mov r1, r3 80c9562: 4620 mov r0, r4 80c9564: f7fe fa64 bl 80c7a30 nent = dirb[XDIR_NumSec] + 1; 80c9568: 68fb ldr r3, [r7, #12] 80c956a: 3301 adds r3, #1 80c956c: 781b ldrb r3, [r3, #0] 80c956e: 3301 adds r3, #1 80c9570: 613b str r3, [r7, #16] /* Store the set of directory to the volume */ res = dir_sdi(dp, dp->blk_ofs); 80c9572: 687b ldr r3, [r7, #4] 80c9574: 6cdb ldr r3, [r3, #76] ; 0x4c 80c9576: 4619 mov r1, r3 80c9578: 6878 ldr r0, [r7, #4] 80c957a: f7ff f9f2 bl 80c8962 80c957e: 4603 mov r3, r0 80c9580: 75fb strb r3, [r7, #23] while (res == FR_OK) { 80c9582: e026 b.n 80c95d2 res = move_window(dp->obj.fs, dp->sect); 80c9584: 687b ldr r3, [r7, #4] 80c9586: 681a ldr r2, [r3, #0] 80c9588: 687b ldr r3, [r7, #4] 80c958a: 6b9b ldr r3, [r3, #56] ; 0x38 80c958c: 4619 mov r1, r3 80c958e: 4610 mov r0, r2 80c9590: f7fe fbe7 bl 80c7d62 80c9594: 4603 mov r3, r0 80c9596: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c9598: 7dfb ldrb r3, [r7, #23] 80c959a: 2b00 cmp r3, #0 80c959c: d11d bne.n 80c95da mem_cpy(dp->dir, dirb, SZDIRE); 80c959e: 687b ldr r3, [r7, #4] 80c95a0: 6bdb ldr r3, [r3, #60] ; 0x3c 80c95a2: 2220 movs r2, #32 80c95a4: 68f9 ldr r1, [r7, #12] 80c95a6: 4618 mov r0, r3 80c95a8: f7fe fb1a bl 80c7be0 dp->obj.fs->wflag = 1; 80c95ac: 687b ldr r3, [r7, #4] 80c95ae: 681b ldr r3, [r3, #0] 80c95b0: 2201 movs r2, #1 80c95b2: 70da strb r2, [r3, #3] if (--nent == 0) break; 80c95b4: 693b ldr r3, [r7, #16] 80c95b6: 3b01 subs r3, #1 80c95b8: 613b str r3, [r7, #16] 80c95ba: 693b ldr r3, [r7, #16] 80c95bc: 2b00 cmp r3, #0 80c95be: d00e beq.n 80c95de dirb += SZDIRE; 80c95c0: 68fb ldr r3, [r7, #12] 80c95c2: 3320 adds r3, #32 80c95c4: 60fb str r3, [r7, #12] res = dir_next(dp, 0); 80c95c6: 2100 movs r1, #0 80c95c8: 6878 ldr r0, [r7, #4] 80c95ca: f7ff fa50 bl 80c8a6e 80c95ce: 4603 mov r3, r0 80c95d0: 75fb strb r3, [r7, #23] while (res == FR_OK) { 80c95d2: 7dfb ldrb r3, [r7, #23] 80c95d4: 2b00 cmp r3, #0 80c95d6: d0d5 beq.n 80c9584 80c95d8: e002 b.n 80c95e0 if (res != FR_OK) break; 80c95da: bf00 nop 80c95dc: e000 b.n 80c95e0 if (--nent == 0) break; 80c95de: bf00 nop } return (res == FR_OK || res == FR_DISK_ERR) ? res : FR_INT_ERR; 80c95e0: 7dfb ldrb r3, [r7, #23] 80c95e2: 2b00 cmp r3, #0 80c95e4: d002 beq.n 80c95ec 80c95e6: 7dfb ldrb r3, [r7, #23] 80c95e8: 2b01 cmp r3, #1 80c95ea: d101 bne.n 80c95f0 80c95ec: 7dfb ldrb r3, [r7, #23] 80c95ee: e000 b.n 80c95f2 80c95f0: 2302 movs r3, #2 } 80c95f2: 4618 mov r0, r3 80c95f4: 371c adds r7, #28 80c95f6: 46bd mov sp, r7 80c95f8: bd90 pop {r4, r7, pc} 080c95fa : static void create_xdir ( BYTE* dirb, /* Pointer to the direcotry entry block buffer */ const WCHAR* lfn /* Pointer to the nul terminated file name */ ) { 80c95fa: b590 push {r4, r7, lr} 80c95fc: b085 sub sp, #20 80c95fe: af00 add r7, sp, #0 80c9600: 6078 str r0, [r7, #4] 80c9602: 6039 str r1, [r7, #0] BYTE nb, nc; WCHAR chr; /* Create 85+C0 entry */ mem_set(dirb, 0, 2 * SZDIRE); 80c9604: 2240 movs r2, #64 ; 0x40 80c9606: 2100 movs r1, #0 80c9608: 6878 ldr r0, [r7, #4] 80c960a: f7fe fb0a bl 80c7c22 dirb[XDIR_Type] = 0x85; 80c960e: 687b ldr r3, [r7, #4] 80c9610: 2285 movs r2, #133 ; 0x85 80c9612: 701a strb r2, [r3, #0] dirb[XDIR_Type + SZDIRE] = 0xC0; 80c9614: 687b ldr r3, [r7, #4] 80c9616: 3320 adds r3, #32 80c9618: 22c0 movs r2, #192 ; 0xc0 80c961a: 701a strb r2, [r3, #0] /* Create C1 entries */ nc = 0; nb = 1; chr = 1; i = SZDIRE * 2; 80c961c: 2300 movs r3, #0 80c961e: 72bb strb r3, [r7, #10] 80c9620: 2301 movs r3, #1 80c9622: 72fb strb r3, [r7, #11] 80c9624: 2301 movs r3, #1 80c9626: 813b strh r3, [r7, #8] 80c9628: 2340 movs r3, #64 ; 0x40 80c962a: 60fb str r3, [r7, #12] do { dirb[i++] = 0xC1; dirb[i++] = 0; /* Entry type C1 */ 80c962c: 68fb ldr r3, [r7, #12] 80c962e: 1c5a adds r2, r3, #1 80c9630: 60fa str r2, [r7, #12] 80c9632: 687a ldr r2, [r7, #4] 80c9634: 4413 add r3, r2 80c9636: 22c1 movs r2, #193 ; 0xc1 80c9638: 701a strb r2, [r3, #0] 80c963a: 68fb ldr r3, [r7, #12] 80c963c: 1c5a adds r2, r3, #1 80c963e: 60fa str r2, [r7, #12] 80c9640: 687a ldr r2, [r7, #4] 80c9642: 4413 add r3, r2 80c9644: 2200 movs r2, #0 80c9646: 701a strb r2, [r3, #0] do { /* Fill name field */ if (chr && (chr = lfn[nc]) != 0) nc++; /* Get a character if exist */ 80c9648: 893b ldrh r3, [r7, #8] 80c964a: 2b00 cmp r3, #0 80c964c: d00b beq.n 80c9666 80c964e: 7abb ldrb r3, [r7, #10] 80c9650: 005b lsls r3, r3, #1 80c9652: 683a ldr r2, [r7, #0] 80c9654: 4413 add r3, r2 80c9656: 881b ldrh r3, [r3, #0] 80c9658: 813b strh r3, [r7, #8] 80c965a: 893b ldrh r3, [r7, #8] 80c965c: 2b00 cmp r3, #0 80c965e: d002 beq.n 80c9666 80c9660: 7abb ldrb r3, [r7, #10] 80c9662: 3301 adds r3, #1 80c9664: 72bb strb r3, [r7, #10] st_word(dirb + i, chr); /* Store it */ 80c9666: 687a ldr r2, [r7, #4] 80c9668: 68fb ldr r3, [r7, #12] 80c966a: 4413 add r3, r2 80c966c: 893a ldrh r2, [r7, #8] 80c966e: 4611 mov r1, r2 80c9670: 4618 mov r0, r3 80c9672: f7fe f9dd bl 80c7a30 } while ((i += 2) % SZDIRE != 0); 80c9676: 68fb ldr r3, [r7, #12] 80c9678: 3302 adds r3, #2 80c967a: 60fb str r3, [r7, #12] 80c967c: 68fb ldr r3, [r7, #12] 80c967e: f003 031f and.w r3, r3, #31 80c9682: 2b00 cmp r3, #0 80c9684: d1e0 bne.n 80c9648 nb++; 80c9686: 7afb ldrb r3, [r7, #11] 80c9688: 3301 adds r3, #1 80c968a: 72fb strb r3, [r7, #11] } while (lfn[nc]); /* Fill next entry if any char follows */ 80c968c: 7abb ldrb r3, [r7, #10] 80c968e: 005b lsls r3, r3, #1 80c9690: 683a ldr r2, [r7, #0] 80c9692: 4413 add r3, r2 80c9694: 881b ldrh r3, [r3, #0] 80c9696: 2b00 cmp r3, #0 80c9698: d1c8 bne.n 80c962c dirb[XDIR_NumName] = nc; /* Set name length */ 80c969a: 687b ldr r3, [r7, #4] 80c969c: 3323 adds r3, #35 ; 0x23 80c969e: 7aba ldrb r2, [r7, #10] 80c96a0: 701a strb r2, [r3, #0] dirb[XDIR_NumSec] = nb; /* Set block length */ 80c96a2: 687b ldr r3, [r7, #4] 80c96a4: 3301 adds r3, #1 80c96a6: 7afa ldrb r2, [r7, #11] 80c96a8: 701a strb r2, [r3, #0] st_word(dirb + XDIR_NameHash, xname_sum(lfn)); /* Set name hash */ 80c96aa: 687b ldr r3, [r7, #4] 80c96ac: f103 0424 add.w r4, r3, #36 ; 0x24 80c96b0: 6838 ldr r0, [r7, #0] 80c96b2: f7ff fd71 bl 80c9198 80c96b6: 4603 mov r3, r0 80c96b8: 4619 mov r1, r3 80c96ba: 4620 mov r0, r4 80c96bc: f7fe f9b8 bl 80c7a30 } 80c96c0: bf00 nop 80c96c2: 3714 adds r7, #20 80c96c4: 46bd mov sp, r7 80c96c6: bd90 pop {r4, r7, pc} 080c96c8 : static FRESULT dir_read ( DIR* dp, /* Pointer to the directory object */ int vol /* Filtered by 0:file/directory or 1:volume label */ ) { 80c96c8: b580 push {r7, lr} 80c96ca: b086 sub sp, #24 80c96cc: af00 add r7, sp, #0 80c96ce: 6078 str r0, [r7, #4] 80c96d0: 6039 str r1, [r7, #0] FRESULT res = FR_NO_FILE; 80c96d2: 2304 movs r3, #4 80c96d4: 75fb strb r3, [r7, #23] FATFS *fs = dp->obj.fs; 80c96d6: 687b ldr r3, [r7, #4] 80c96d8: 681b ldr r3, [r3, #0] 80c96da: 613b str r3, [r7, #16] BYTE a, c; #if _USE_LFN != 0 BYTE ord = 0xFF, sum = 0xFF; 80c96dc: 23ff movs r3, #255 ; 0xff 80c96de: 757b strb r3, [r7, #21] 80c96e0: 23ff movs r3, #255 ; 0xff 80c96e2: 753b strb r3, [r7, #20] #endif while (dp->sect) { 80c96e4: e0a6 b.n 80c9834 res = move_window(fs, dp->sect); 80c96e6: 687b ldr r3, [r7, #4] 80c96e8: 6b9b ldr r3, [r3, #56] ; 0x38 80c96ea: 4619 mov r1, r3 80c96ec: 6938 ldr r0, [r7, #16] 80c96ee: f7fe fb38 bl 80c7d62 80c96f2: 4603 mov r3, r0 80c96f4: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c96f6: 7dfb ldrb r3, [r7, #23] 80c96f8: 2b00 cmp r3, #0 80c96fa: f040 80a1 bne.w 80c9840 c = dp->dir[DIR_Name]; /* Test for the entry type */ 80c96fe: 687b ldr r3, [r7, #4] 80c9700: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9702: 781b ldrb r3, [r3, #0] 80c9704: 75bb strb r3, [r7, #22] if (c == 0) { 80c9706: 7dbb ldrb r3, [r7, #22] 80c9708: 2b00 cmp r3, #0 80c970a: d102 bne.n 80c9712 res = FR_NO_FILE; break; /* Reached to end of the directory */ 80c970c: 2304 movs r3, #4 80c970e: 75fb strb r3, [r7, #23] 80c9710: e09d b.n 80c984e } #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c9712: 693b ldr r3, [r7, #16] 80c9714: 781b ldrb r3, [r3, #0] 80c9716: 2b04 cmp r3, #4 80c9718: d11f bne.n 80c975a if (_USE_LABEL && vol) { 80c971a: 683b ldr r3, [r7, #0] 80c971c: 2b00 cmp r3, #0 80c971e: d003 beq.n 80c9728 if (c == 0x83) break; /* Volume label entry? */ 80c9720: 7dbb ldrb r3, [r7, #22] 80c9722: 2b83 cmp r3, #131 ; 0x83 80c9724: d17d bne.n 80c9822 80c9726: e092 b.n 80c984e } else { if (c == 0x85) { /* Start of the file entry block? */ 80c9728: 7dbb ldrb r3, [r7, #22] 80c972a: 2b85 cmp r3, #133 ; 0x85 80c972c: d179 bne.n 80c9822 dp->blk_ofs = dp->dptr; /* Get location of the block */ 80c972e: 687b ldr r3, [r7, #4] 80c9730: 6b1a ldr r2, [r3, #48] ; 0x30 80c9732: 687b ldr r3, [r7, #4] 80c9734: 64da str r2, [r3, #76] ; 0x4c res = load_xdir(dp); /* Load the entry block */ 80c9736: 6878 ldr r0, [r7, #4] 80c9738: f7ff fe0c bl 80c9354 80c973c: 4603 mov r3, r0 80c973e: 75fb strb r3, [r7, #23] if (res == FR_OK) { 80c9740: 7dfb ldrb r3, [r7, #23] 80c9742: 2b00 cmp r3, #0 80c9744: d17e bne.n 80c9844 dp->obj.attr = fs->dirbuf[XDIR_Attr] & AM_MASK; /* Get attribute */ 80c9746: 693b ldr r3, [r7, #16] 80c9748: 691b ldr r3, [r3, #16] 80c974a: 3304 adds r3, #4 80c974c: 781b ldrb r3, [r3, #0] 80c974e: f003 033f and.w r3, r3, #63 ; 0x3f 80c9752: b2da uxtb r2, r3 80c9754: 687b ldr r3, [r7, #4] 80c9756: 719a strb r2, [r3, #6] } break; 80c9758: e074 b.n 80c9844 } } } else #endif { /* On the FAT12/16/32 volume */ dp->obj.attr = a = dp->dir[DIR_Attr] & AM_MASK; /* Get attribute */ 80c975a: 687b ldr r3, [r7, #4] 80c975c: 6bdb ldr r3, [r3, #60] ; 0x3c 80c975e: 330b adds r3, #11 80c9760: 781b ldrb r3, [r3, #0] 80c9762: f003 033f and.w r3, r3, #63 ; 0x3f 80c9766: 73fb strb r3, [r7, #15] 80c9768: 687b ldr r3, [r7, #4] 80c976a: 7bfa ldrb r2, [r7, #15] 80c976c: 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 */ 80c976e: 7dbb ldrb r3, [r7, #22] 80c9770: 2be5 cmp r3, #229 ; 0xe5 80c9772: d00e beq.n 80c9792 80c9774: 7dbb ldrb r3, [r7, #22] 80c9776: 2b2e cmp r3, #46 ; 0x2e 80c9778: d00b beq.n 80c9792 80c977a: 7bfb ldrb r3, [r7, #15] 80c977c: f023 0320 bic.w r3, r3, #32 80c9780: 2b08 cmp r3, #8 80c9782: bf0c ite eq 80c9784: 2301 moveq r3, #1 80c9786: 2300 movne r3, #0 80c9788: b2db uxtb r3, r3 80c978a: 461a mov r2, r3 80c978c: 683b ldr r3, [r7, #0] 80c978e: 429a cmp r2, r3 80c9790: d002 beq.n 80c9798 ord = 0xFF; 80c9792: 23ff movs r3, #255 ; 0xff 80c9794: 757b strb r3, [r7, #21] 80c9796: e044 b.n 80c9822 } else { if (a == AM_LFN) { /* An LFN entry is found */ 80c9798: 7bfb ldrb r3, [r7, #15] 80c979a: 2b0f cmp r3, #15 80c979c: d12f bne.n 80c97fe if (c & LLEF) { /* Is it start of an LFN sequence? */ 80c979e: 7dbb ldrb r3, [r7, #22] 80c97a0: f003 0340 and.w r3, r3, #64 ; 0x40 80c97a4: 2b00 cmp r3, #0 80c97a6: d00d beq.n 80c97c4 sum = dp->dir[LDIR_Chksum]; 80c97a8: 687b ldr r3, [r7, #4] 80c97aa: 6bdb ldr r3, [r3, #60] ; 0x3c 80c97ac: 7b5b ldrb r3, [r3, #13] 80c97ae: 753b strb r3, [r7, #20] c &= (BYTE)~LLEF; ord = c; 80c97b0: 7dbb ldrb r3, [r7, #22] 80c97b2: f023 0340 bic.w r3, r3, #64 ; 0x40 80c97b6: 75bb strb r3, [r7, #22] 80c97b8: 7dbb ldrb r3, [r7, #22] 80c97ba: 757b strb r3, [r7, #21] dp->blk_ofs = dp->dptr; 80c97bc: 687b ldr r3, [r7, #4] 80c97be: 6b1a ldr r2, [r3, #48] ; 0x30 80c97c0: 687b ldr r3, [r7, #4] 80c97c2: 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; 80c97c4: 7dba ldrb r2, [r7, #22] 80c97c6: 7d7b ldrb r3, [r7, #21] 80c97c8: 429a cmp r2, r3 80c97ca: d115 bne.n 80c97f8 80c97cc: 687b ldr r3, [r7, #4] 80c97ce: 6bdb ldr r3, [r3, #60] ; 0x3c 80c97d0: 330d adds r3, #13 80c97d2: 781b ldrb r3, [r3, #0] 80c97d4: 7d3a ldrb r2, [r7, #20] 80c97d6: 429a cmp r2, r3 80c97d8: d10e bne.n 80c97f8 80c97da: 693b ldr r3, [r7, #16] 80c97dc: 68da ldr r2, [r3, #12] 80c97de: 687b ldr r3, [r7, #4] 80c97e0: 6bdb ldr r3, [r3, #60] ; 0x3c 80c97e2: 4619 mov r1, r3 80c97e4: 4610 mov r0, r2 80c97e6: f7ff fb23 bl 80c8e30 80c97ea: 4603 mov r3, r0 80c97ec: 2b00 cmp r3, #0 80c97ee: d003 beq.n 80c97f8 80c97f0: 7d7b ldrb r3, [r7, #21] 80c97f2: 3b01 subs r3, #1 80c97f4: b2db uxtb r3, r3 80c97f6: e000 b.n 80c97fa 80c97f8: 23ff movs r3, #255 ; 0xff 80c97fa: 757b strb r3, [r7, #21] 80c97fc: e011 b.n 80c9822 } else { /* An SFN entry is found */ if (ord || sum != sum_sfn(dp->dir)) { /* Is there a valid LFN? */ 80c97fe: 7d7b ldrb r3, [r7, #21] 80c9800: 2b00 cmp r3, #0 80c9802: d109 bne.n 80c9818 80c9804: 687b ldr r3, [r7, #4] 80c9806: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9808: 4618 mov r0, r3 80c980a: f7ff fc6b bl 80c90e4 80c980e: 4603 mov r3, r0 80c9810: 461a mov r2, r3 80c9812: 7d3b ldrb r3, [r7, #20] 80c9814: 4293 cmp r3, r2 80c9816: d017 beq.n 80c9848 dp->blk_ofs = 0xFFFFFFFF; /* It has no LFN. */ 80c9818: 687b ldr r3, [r7, #4] 80c981a: f04f 32ff mov.w r2, #4294967295 80c981e: 64da str r2, [r3, #76] ; 0x4c } break; 80c9820: e012 b.n 80c9848 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 */ 80c9822: 2100 movs r1, #0 80c9824: 6878 ldr r0, [r7, #4] 80c9826: f7ff f922 bl 80c8a6e 80c982a: 4603 mov r3, r0 80c982c: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c982e: 7dfb ldrb r3, [r7, #23] 80c9830: 2b00 cmp r3, #0 80c9832: d10b bne.n 80c984c while (dp->sect) { 80c9834: 687b ldr r3, [r7, #4] 80c9836: 6b9b ldr r3, [r3, #56] ; 0x38 80c9838: 2b00 cmp r3, #0 80c983a: f47f af54 bne.w 80c96e6 80c983e: e006 b.n 80c984e if (res != FR_OK) break; 80c9840: bf00 nop 80c9842: e004 b.n 80c984e break; 80c9844: bf00 nop 80c9846: e002 b.n 80c984e break; 80c9848: bf00 nop 80c984a: e000 b.n 80c984e if (res != FR_OK) break; 80c984c: bf00 nop } if (res != FR_OK) dp->sect = 0; /* Terminate the read operation on error or EOT */ 80c984e: 7dfb ldrb r3, [r7, #23] 80c9850: 2b00 cmp r3, #0 80c9852: d002 beq.n 80c985a 80c9854: 687b ldr r3, [r7, #4] 80c9856: 2200 movs r2, #0 80c9858: 639a str r2, [r3, #56] ; 0x38 return res; 80c985a: 7dfb ldrb r3, [r7, #23] } 80c985c: 4618 mov r0, r3 80c985e: 3718 adds r7, #24 80c9860: 46bd mov sp, r7 80c9862: bd80 pop {r7, pc} 080c9864 : static FRESULT dir_find ( /* FR_OK(0):succeeded, !=0:error */ DIR* dp /* Pointer to the directory object with the file name */ ) { 80c9864: b590 push {r4, r7, lr} 80c9866: b089 sub sp, #36 ; 0x24 80c9868: af00 add r7, sp, #0 80c986a: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs = dp->obj.fs; 80c986c: 687b ldr r3, [r7, #4] 80c986e: 681b ldr r3, [r3, #0] 80c9870: 60fb str r3, [r7, #12] BYTE c; #if _USE_LFN != 0 BYTE a, ord, sum; #endif res = dir_sdi(dp, 0); /* Rewind directory object */ 80c9872: 2100 movs r1, #0 80c9874: 6878 ldr r0, [r7, #4] 80c9876: f7ff f874 bl 80c8962 80c987a: 4603 mov r3, r0 80c987c: 77fb strb r3, [r7, #31] if (res != FR_OK) return res; 80c987e: 7ffb ldrb r3, [r7, #31] 80c9880: 2b00 cmp r3, #0 80c9882: d001 beq.n 80c9888 80c9884: 7ffb ldrb r3, [r7, #31] 80c9886: e112 b.n 80c9aae #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c9888: 68fb ldr r3, [r7, #12] 80c988a: 781b ldrb r3, [r3, #0] 80c988c: 2b04 cmp r3, #4 80c988e: d164 bne.n 80c995a BYTE nc; UINT di, ni; WORD hash = xname_sum(fs->lfnbuf); /* Hash value of the name to find */ 80c9890: 68fb ldr r3, [r7, #12] 80c9892: 68db ldr r3, [r3, #12] 80c9894: 4618 mov r0, r3 80c9896: f7ff fc7f bl 80c9198 80c989a: 4603 mov r3, r0 80c989c: 817b strh r3, [r7, #10] while ((res = dir_read(dp, 0)) == FR_OK) { /* Read an item */ 80c989e: e04f b.n 80c9940 #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 */ 80c98a0: 68fb ldr r3, [r7, #12] 80c98a2: 691b ldr r3, [r3, #16] 80c98a4: 3324 adds r3, #36 ; 0x24 80c98a6: 4618 mov r0, r3 80c98a8: f7fd ffd8 bl 80c785c 80c98ac: 4603 mov r3, r0 80c98ae: 461a mov r2, r3 80c98b0: 897b ldrh r3, [r7, #10] 80c98b2: 4293 cmp r3, r2 80c98b4: d000 beq.n 80c98b8 80c98b6: e043 b.n 80c9940 for (nc = fs->dirbuf[XDIR_NumName], di = SZDIRE * 2, ni = 0; nc; nc--, di += 2, ni++) { /* Compare the name */ 80c98b8: 68fb ldr r3, [r7, #12] 80c98ba: 691b ldr r3, [r3, #16] 80c98bc: f893 3023 ldrb.w r3, [r3, #35] ; 0x23 80c98c0: 76fb strb r3, [r7, #27] 80c98c2: 2340 movs r3, #64 ; 0x40 80c98c4: 617b str r3, [r7, #20] 80c98c6: 2300 movs r3, #0 80c98c8: 613b str r3, [r7, #16] 80c98ca: e029 b.n 80c9920 if ((di % SZDIRE) == 0) di += 2; 80c98cc: 697b ldr r3, [r7, #20] 80c98ce: f003 031f and.w r3, r3, #31 80c98d2: 2b00 cmp r3, #0 80c98d4: d102 bne.n 80c98dc 80c98d6: 697b ldr r3, [r7, #20] 80c98d8: 3302 adds r3, #2 80c98da: 617b str r3, [r7, #20] if (ff_wtoupper(ld_word(fs->dirbuf + di)) != ff_wtoupper(fs->lfnbuf[ni])) break; 80c98dc: 68fb ldr r3, [r7, #12] 80c98de: 691a ldr r2, [r3, #16] 80c98e0: 697b ldr r3, [r7, #20] 80c98e2: 4413 add r3, r2 80c98e4: 4618 mov r0, r3 80c98e6: f7fd ffb9 bl 80c785c 80c98ea: 4603 mov r3, r0 80c98ec: 4618 mov r0, r3 80c98ee: f004 faa5 bl 80cde3c 80c98f2: 4603 mov r3, r0 80c98f4: 461c mov r4, r3 80c98f6: 68fb ldr r3, [r7, #12] 80c98f8: 68da ldr r2, [r3, #12] 80c98fa: 693b ldr r3, [r7, #16] 80c98fc: 005b lsls r3, r3, #1 80c98fe: 4413 add r3, r2 80c9900: 881b ldrh r3, [r3, #0] 80c9902: 4618 mov r0, r3 80c9904: f004 fa9a bl 80cde3c 80c9908: 4603 mov r3, r0 80c990a: 429c cmp r4, r3 80c990c: d10c bne.n 80c9928 for (nc = fs->dirbuf[XDIR_NumName], di = SZDIRE * 2, ni = 0; nc; nc--, di += 2, ni++) { /* Compare the name */ 80c990e: 7efb ldrb r3, [r7, #27] 80c9910: 3b01 subs r3, #1 80c9912: 76fb strb r3, [r7, #27] 80c9914: 697b ldr r3, [r7, #20] 80c9916: 3302 adds r3, #2 80c9918: 617b str r3, [r7, #20] 80c991a: 693b ldr r3, [r7, #16] 80c991c: 3301 adds r3, #1 80c991e: 613b str r3, [r7, #16] 80c9920: 7efb ldrb r3, [r7, #27] 80c9922: 2b00 cmp r3, #0 80c9924: d1d2 bne.n 80c98cc 80c9926: e000 b.n 80c992a if (ff_wtoupper(ld_word(fs->dirbuf + di)) != ff_wtoupper(fs->lfnbuf[ni])) break; 80c9928: bf00 nop } if (nc == 0 && !fs->lfnbuf[ni]) break; /* Name matched? */ 80c992a: 7efb ldrb r3, [r7, #27] 80c992c: 2b00 cmp r3, #0 80c992e: d107 bne.n 80c9940 80c9930: 68fb ldr r3, [r7, #12] 80c9932: 68da ldr r2, [r3, #12] 80c9934: 693b ldr r3, [r7, #16] 80c9936: 005b lsls r3, r3, #1 80c9938: 4413 add r3, r2 80c993a: 881b ldrh r3, [r3, #0] 80c993c: 2b00 cmp r3, #0 80c993e: d009 beq.n 80c9954 while ((res = dir_read(dp, 0)) == FR_OK) { /* Read an item */ 80c9940: 2100 movs r1, #0 80c9942: 6878 ldr r0, [r7, #4] 80c9944: f7ff fec0 bl 80c96c8 80c9948: 4603 mov r3, r0 80c994a: 77fb strb r3, [r7, #31] 80c994c: 7ffb ldrb r3, [r7, #31] 80c994e: 2b00 cmp r3, #0 80c9950: d0a6 beq.n 80c98a0 80c9952: e000 b.n 80c9956 if (nc == 0 && !fs->lfnbuf[ni]) break; /* Name matched? */ 80c9954: bf00 nop } return res; 80c9956: 7ffb ldrb r3, [r7, #31] 80c9958: e0a9 b.n 80c9aae } #endif /* On the FAT12/16/32 volume */ #if _USE_LFN != 0 ord = sum = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */ 80c995a: 23ff movs r3, #255 ; 0xff 80c995c: 773b strb r3, [r7, #28] 80c995e: 7f3b ldrb r3, [r7, #28] 80c9960: 777b strb r3, [r7, #29] 80c9962: 687b ldr r3, [r7, #4] 80c9964: f04f 32ff mov.w r2, #4294967295 80c9968: 64da str r2, [r3, #76] ; 0x4c #endif do { res = move_window(fs, dp->sect); 80c996a: 687b ldr r3, [r7, #4] 80c996c: 6b9b ldr r3, [r3, #56] ; 0x38 80c996e: 4619 mov r1, r3 80c9970: 68f8 ldr r0, [r7, #12] 80c9972: f7fe f9f6 bl 80c7d62 80c9976: 4603 mov r3, r0 80c9978: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c997a: 7ffb ldrb r3, [r7, #31] 80c997c: 2b00 cmp r3, #0 80c997e: f040 8090 bne.w 80c9aa2 c = dp->dir[DIR_Name]; 80c9982: 687b ldr r3, [r7, #4] 80c9984: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9986: 781b ldrb r3, [r3, #0] 80c9988: 77bb strb r3, [r7, #30] if (c == 0) { res = FR_NO_FILE; break; } /* Reached to end of table */ 80c998a: 7fbb ldrb r3, [r7, #30] 80c998c: 2b00 cmp r3, #0 80c998e: d102 bne.n 80c9996 80c9990: 2304 movs r3, #4 80c9992: 77fb strb r3, [r7, #31] 80c9994: e08a b.n 80c9aac #if _USE_LFN != 0 /* LFN configuration */ dp->obj.attr = a = dp->dir[DIR_Attr] & AM_MASK; 80c9996: 687b ldr r3, [r7, #4] 80c9998: 6bdb ldr r3, [r3, #60] ; 0x3c 80c999a: 330b adds r3, #11 80c999c: 781b ldrb r3, [r3, #0] 80c999e: f003 033f and.w r3, r3, #63 ; 0x3f 80c99a2: 727b strb r3, [r7, #9] 80c99a4: 687b ldr r3, [r7, #4] 80c99a6: 7a7a ldrb r2, [r7, #9] 80c99a8: 719a strb r2, [r3, #6] if (c == DDEM || ((a & AM_VOL) && a != AM_LFN)) { /* An entry without valid data */ 80c99aa: 7fbb ldrb r3, [r7, #30] 80c99ac: 2be5 cmp r3, #229 ; 0xe5 80c99ae: d007 beq.n 80c99c0 80c99b0: 7a7b ldrb r3, [r7, #9] 80c99b2: f003 0308 and.w r3, r3, #8 80c99b6: 2b00 cmp r3, #0 80c99b8: d009 beq.n 80c99ce 80c99ba: 7a7b ldrb r3, [r7, #9] 80c99bc: 2b0f cmp r3, #15 80c99be: d006 beq.n 80c99ce ord = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */ 80c99c0: 23ff movs r3, #255 ; 0xff 80c99c2: 777b strb r3, [r7, #29] 80c99c4: 687b ldr r3, [r7, #4] 80c99c6: f04f 32ff mov.w r2, #4294967295 80c99ca: 64da str r2, [r3, #76] ; 0x4c 80c99cc: e05e b.n 80c9a8c } else { if (a == AM_LFN) { /* An LFN entry is found */ 80c99ce: 7a7b ldrb r3, [r7, #9] 80c99d0: 2b0f cmp r3, #15 80c99d2: d136 bne.n 80c9a42 if (!(dp->fn[NSFLAG] & NS_NOLFN)) { 80c99d4: 687b ldr r3, [r7, #4] 80c99d6: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80c99da: f003 0340 and.w r3, r3, #64 ; 0x40 80c99de: 2b00 cmp r3, #0 80c99e0: d154 bne.n 80c9a8c if (c & LLEF) { /* Is it start of LFN sequence? */ 80c99e2: 7fbb ldrb r3, [r7, #30] 80c99e4: f003 0340 and.w r3, r3, #64 ; 0x40 80c99e8: 2b00 cmp r3, #0 80c99ea: d00d beq.n 80c9a08 sum = dp->dir[LDIR_Chksum]; 80c99ec: 687b ldr r3, [r7, #4] 80c99ee: 6bdb ldr r3, [r3, #60] ; 0x3c 80c99f0: 7b5b ldrb r3, [r3, #13] 80c99f2: 773b strb r3, [r7, #28] c &= (BYTE)~LLEF; ord = c; /* LFN start order */ 80c99f4: 7fbb ldrb r3, [r7, #30] 80c99f6: f023 0340 bic.w r3, r3, #64 ; 0x40 80c99fa: 77bb strb r3, [r7, #30] 80c99fc: 7fbb ldrb r3, [r7, #30] 80c99fe: 777b strb r3, [r7, #29] dp->blk_ofs = dp->dptr; /* Start offset of LFN */ 80c9a00: 687b ldr r3, [r7, #4] 80c9a02: 6b1a ldr r2, [r3, #48] ; 0x30 80c9a04: 687b ldr r3, [r7, #4] 80c9a06: 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; 80c9a08: 7fba ldrb r2, [r7, #30] 80c9a0a: 7f7b ldrb r3, [r7, #29] 80c9a0c: 429a cmp r2, r3 80c9a0e: d115 bne.n 80c9a3c 80c9a10: 687b ldr r3, [r7, #4] 80c9a12: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9a14: 330d adds r3, #13 80c9a16: 781b ldrb r3, [r3, #0] 80c9a18: 7f3a ldrb r2, [r7, #28] 80c9a1a: 429a cmp r2, r3 80c9a1c: d10e bne.n 80c9a3c 80c9a1e: 68fb ldr r3, [r7, #12] 80c9a20: 68da ldr r2, [r3, #12] 80c9a22: 687b ldr r3, [r7, #4] 80c9a24: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9a26: 4619 mov r1, r3 80c9a28: 4610 mov r0, r2 80c9a2a: f7ff f991 bl 80c8d50 80c9a2e: 4603 mov r3, r0 80c9a30: 2b00 cmp r3, #0 80c9a32: d003 beq.n 80c9a3c 80c9a34: 7f7b ldrb r3, [r7, #29] 80c9a36: 3b01 subs r3, #1 80c9a38: b2db uxtb r3, r3 80c9a3a: e000 b.n 80c9a3e 80c9a3c: 23ff movs r3, #255 ; 0xff 80c9a3e: 777b strb r3, [r7, #29] 80c9a40: e024 b.n 80c9a8c } } else { /* An SFN entry is found */ if (!ord && sum == sum_sfn(dp->dir)) break; /* LFN matched? */ 80c9a42: 7f7b ldrb r3, [r7, #29] 80c9a44: 2b00 cmp r3, #0 80c9a46: d109 bne.n 80c9a5c 80c9a48: 687b ldr r3, [r7, #4] 80c9a4a: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9a4c: 4618 mov r0, r3 80c9a4e: f7ff fb49 bl 80c90e4 80c9a52: 4603 mov r3, r0 80c9a54: 461a mov r2, r3 80c9a56: 7f3b ldrb r3, [r7, #28] 80c9a58: 4293 cmp r3, r2 80c9a5a: d024 beq.n 80c9aa6 if (!(dp->fn[NSFLAG] & NS_LOSS) && !mem_cmp(dp->dir, dp->fn, 11)) break; /* SFN matched? */ 80c9a5c: 687b ldr r3, [r7, #4] 80c9a5e: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80c9a62: f003 0301 and.w r3, r3, #1 80c9a66: 2b00 cmp r3, #0 80c9a68: d10a bne.n 80c9a80 80c9a6a: 687b ldr r3, [r7, #4] 80c9a6c: 6bd8 ldr r0, [r3, #60] ; 0x3c 80c9a6e: 687b ldr r3, [r7, #4] 80c9a70: 3340 adds r3, #64 ; 0x40 80c9a72: 220b movs r2, #11 80c9a74: 4619 mov r1, r3 80c9a76: f7fe f8ee bl 80c7c56 80c9a7a: 4603 mov r3, r0 80c9a7c: 2b00 cmp r3, #0 80c9a7e: d014 beq.n 80c9aaa ord = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */ 80c9a80: 23ff movs r3, #255 ; 0xff 80c9a82: 777b strb r3, [r7, #29] 80c9a84: 687b ldr r3, [r7, #4] 80c9a86: f04f 32ff mov.w r2, #4294967295 80c9a8a: 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 */ 80c9a8c: 2100 movs r1, #0 80c9a8e: 6878 ldr r0, [r7, #4] 80c9a90: f7fe ffed bl 80c8a6e 80c9a94: 4603 mov r3, r0 80c9a96: 77fb strb r3, [r7, #31] } while (res == FR_OK); 80c9a98: 7ffb ldrb r3, [r7, #31] 80c9a9a: 2b00 cmp r3, #0 80c9a9c: f43f af65 beq.w 80c996a 80c9aa0: e004 b.n 80c9aac if (res != FR_OK) break; 80c9aa2: bf00 nop 80c9aa4: e002 b.n 80c9aac if (!ord && sum == sum_sfn(dp->dir)) break; /* LFN matched? */ 80c9aa6: bf00 nop 80c9aa8: e000 b.n 80c9aac if (!(dp->fn[NSFLAG] & NS_LOSS) && !mem_cmp(dp->dir, dp->fn, 11)) break; /* SFN matched? */ 80c9aaa: bf00 nop return res; 80c9aac: 7ffb ldrb r3, [r7, #31] } 80c9aae: 4618 mov r0, r3 80c9ab0: 3724 adds r7, #36 ; 0x24 80c9ab2: 46bd mov sp, r7 80c9ab4: bd90 pop {r4, r7, pc} ... 080c9ab8 : 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 */ ) { 80c9ab8: b590 push {r4, r7, lr} 80c9aba: b0a1 sub sp, #132 ; 0x84 80c9abc: af00 add r7, sp, #0 80c9abe: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs = dp->obj.fs; 80c9ac0: 687b ldr r3, [r7, #4] 80c9ac2: 681b ldr r3, [r3, #0] 80c9ac4: 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 */ 80c9ac6: 687b ldr r3, [r7, #4] 80c9ac8: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80c9acc: f003 03a0 and.w r3, r3, #160 ; 0xa0 80c9ad0: 2b00 cmp r3, #0 80c9ad2: d001 beq.n 80c9ad8 80c9ad4: 2306 movs r3, #6 80c9ad6: e191 b.n 80c9dfc for (nlen = 0; fs->lfnbuf[nlen]; nlen++) ; /* Get lfn length */ 80c9ad8: 2300 movs r3, #0 80c9ada: 677b str r3, [r7, #116] ; 0x74 80c9adc: e002 b.n 80c9ae4 80c9ade: 6f7b ldr r3, [r7, #116] ; 0x74 80c9ae0: 3301 adds r3, #1 80c9ae2: 677b str r3, [r7, #116] ; 0x74 80c9ae4: 6efb ldr r3, [r7, #108] ; 0x6c 80c9ae6: 68da ldr r2, [r3, #12] 80c9ae8: 6f7b ldr r3, [r7, #116] ; 0x74 80c9aea: 005b lsls r3, r3, #1 80c9aec: 4413 add r3, r2 80c9aee: 881b ldrh r3, [r3, #0] 80c9af0: 2b00 cmp r3, #0 80c9af2: d1f4 bne.n 80c9ade #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c9af4: 6efb ldr r3, [r7, #108] ; 0x6c 80c9af6: 781b ldrb r3, [r3, #0] 80c9af8: 2b04 cmp r3, #4 80c9afa: f040 80a3 bne.w 80c9c44 DIR dj; nent = (nlen + 14) / 15 + 2; /* Number of entries to allocate (85+C0+C1s) */ 80c9afe: 6f7b ldr r3, [r7, #116] ; 0x74 80c9b00: 330e adds r3, #14 80c9b02: 4aa4 ldr r2, [pc, #656] ; (80c9d94 ) 80c9b04: fba2 2303 umull r2, r3, r2, r3 80c9b08: 08db lsrs r3, r3, #3 80c9b0a: 3302 adds r3, #2 80c9b0c: 673b str r3, [r7, #112] ; 0x70 res = dir_alloc(dp, nent); /* Allocate entries */ 80c9b0e: 6f39 ldr r1, [r7, #112] ; 0x70 80c9b10: 6878 ldr r0, [r7, #4] 80c9b12: f7ff f881 bl 80c8c18 80c9b16: 4603 mov r3, r0 80c9b18: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c9b1c: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9b20: 2b00 cmp r3, #0 80c9b22: d002 beq.n 80c9b2a 80c9b24: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9b28: e168 b.n 80c9dfc dp->blk_ofs = dp->dptr - SZDIRE * (nent - 1); /* Set the allocated entry block offset */ 80c9b2a: 687b ldr r3, [r7, #4] 80c9b2c: 6b1a ldr r2, [r3, #48] ; 0x30 80c9b2e: 6f39 ldr r1, [r7, #112] ; 0x70 80c9b30: f06f 4378 mvn.w r3, #4160749568 ; 0xf8000000 80c9b34: 440b add r3, r1 80c9b36: 015b lsls r3, r3, #5 80c9b38: 1ad2 subs r2, r2, r3 80c9b3a: 687b ldr r3, [r7, #4] 80c9b3c: 64da str r2, [r3, #76] ; 0x4c if (dp->obj.sclust != 0 && (dp->obj.stat & 4)) { /* Has the sub-directory been stretched? */ 80c9b3e: 687b ldr r3, [r7, #4] 80c9b40: 689b ldr r3, [r3, #8] 80c9b42: 2b00 cmp r3, #0 80c9b44: d074 beq.n 80c9c30 80c9b46: 687b ldr r3, [r7, #4] 80c9b48: 79db ldrb r3, [r3, #7] 80c9b4a: f003 0304 and.w r3, r3, #4 80c9b4e: 2b00 cmp r3, #0 80c9b50: d06e beq.n 80c9c30 dp->obj.objsize += (DWORD)fs->csize * SS(fs); /* Increase the directory size by cluster size */ 80c9b52: 687b ldr r3, [r7, #4] 80c9b54: e9d3 1204 ldrd r1, r2, [r3, #16] 80c9b58: 6efb ldr r3, [r7, #108] ; 0x6c 80c9b5a: 895b ldrh r3, [r3, #10] 80c9b5c: 025b lsls r3, r3, #9 80c9b5e: f04f 0400 mov.w r4, #0 80c9b62: 185b adds r3, r3, r1 80c9b64: eb44 0402 adc.w r4, r4, r2 80c9b68: 687a ldr r2, [r7, #4] 80c9b6a: e9c2 3404 strd r3, r4, [r2, #16] res = fill_first_frag(&dp->obj); /* Fill first fragment on the FAT if needed */ 80c9b6e: 687b ldr r3, [r7, #4] 80c9b70: 4618 mov r0, r3 80c9b72: f7fe fca3 bl 80c84bc 80c9b76: 4603 mov r3, r0 80c9b78: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c9b7c: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9b80: 2b00 cmp r3, #0 80c9b82: d002 beq.n 80c9b8a 80c9b84: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9b88: e138 b.n 80c9dfc res = fill_last_frag(&dp->obj, dp->clust, 0xFFFFFFFF); /* Fill last fragment on the FAT if needed */ 80c9b8a: 6878 ldr r0, [r7, #4] 80c9b8c: 687b ldr r3, [r7, #4] 80c9b8e: 6b5b ldr r3, [r3, #52] ; 0x34 80c9b90: f04f 32ff mov.w r2, #4294967295 80c9b94: 4619 mov r1, r3 80c9b96: f7fe fcc0 bl 80c851a 80c9b9a: 4603 mov r3, r0 80c9b9c: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c9ba0: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9ba4: 2b00 cmp r3, #0 80c9ba6: d002 beq.n 80c9bae 80c9ba8: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9bac: e126 b.n 80c9dfc res = load_obj_dir(&dj, &dp->obj); /* Load the object status */ 80c9bae: 687a ldr r2, [r7, #4] 80c9bb0: f107 0308 add.w r3, r7, #8 80c9bb4: 4611 mov r1, r2 80c9bb6: 4618 mov r0, r3 80c9bb8: f7ff fc8a bl 80c94d0 80c9bbc: 4603 mov r3, r0 80c9bbe: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c9bc2: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9bc6: 2b00 cmp r3, #0 80c9bc8: d002 beq.n 80c9bd0 80c9bca: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9bce: e115 b.n 80c9dfc st_qword(fs->dirbuf + XDIR_FileSize, dp->obj.objsize); /* Update the allocation status */ 80c9bd0: 6efb ldr r3, [r7, #108] ; 0x6c 80c9bd2: 691b ldr r3, [r3, #16] 80c9bd4: f103 0138 add.w r1, r3, #56 ; 0x38 80c9bd8: 687b ldr r3, [r7, #4] 80c9bda: e9d3 3404 ldrd r3, r4, [r3, #16] 80c9bde: 461a mov r2, r3 80c9be0: 4623 mov r3, r4 80c9be2: 4608 mov r0, r1 80c9be4: f7fd ff6b bl 80c7abe st_qword(fs->dirbuf + XDIR_ValidFileSize, dp->obj.objsize); 80c9be8: 6efb ldr r3, [r7, #108] ; 0x6c 80c9bea: 691b ldr r3, [r3, #16] 80c9bec: f103 0128 add.w r1, r3, #40 ; 0x28 80c9bf0: 687b ldr r3, [r7, #4] 80c9bf2: e9d3 3404 ldrd r3, r4, [r3, #16] 80c9bf6: 461a mov r2, r3 80c9bf8: 4623 mov r3, r4 80c9bfa: 4608 mov r0, r1 80c9bfc: f7fd ff5f bl 80c7abe fs->dirbuf[XDIR_GenFlags] = dp->obj.stat | 1; 80c9c00: 6efb ldr r3, [r7, #108] ; 0x6c 80c9c02: 691b ldr r3, [r3, #16] 80c9c04: 3321 adds r3, #33 ; 0x21 80c9c06: 687a ldr r2, [r7, #4] 80c9c08: 79d2 ldrb r2, [r2, #7] 80c9c0a: f042 0201 orr.w r2, r2, #1 80c9c0e: b2d2 uxtb r2, r2 80c9c10: 701a strb r2, [r3, #0] res = store_xdir(&dj); /* Store the object status */ 80c9c12: f107 0308 add.w r3, r7, #8 80c9c16: 4618 mov r0, r3 80c9c18: f7ff fc94 bl 80c9544 80c9c1c: 4603 mov r3, r0 80c9c1e: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c9c22: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9c26: 2b00 cmp r3, #0 80c9c28: d002 beq.n 80c9c30 80c9c2a: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9c2e: e0e5 b.n 80c9dfc } create_xdir(fs->dirbuf, fs->lfnbuf); /* Create on-memory directory block to be written later */ 80c9c30: 6efb ldr r3, [r7, #108] ; 0x6c 80c9c32: 691a ldr r2, [r3, #16] 80c9c34: 6efb ldr r3, [r7, #108] ; 0x6c 80c9c36: 68db ldr r3, [r3, #12] 80c9c38: 4619 mov r1, r3 80c9c3a: 4610 mov r0, r2 80c9c3c: f7ff fcdd bl 80c95fa return FR_OK; 80c9c40: 2300 movs r3, #0 80c9c42: e0db b.n 80c9dfc } #endif /* On the FAT12/16/32 volume */ mem_cpy(sn, dp->fn, 12); 80c9c44: 687b ldr r3, [r7, #4] 80c9c46: f103 0140 add.w r1, r3, #64 ; 0x40 80c9c4a: f107 035c add.w r3, r7, #92 ; 0x5c 80c9c4e: 220c movs r2, #12 80c9c50: 4618 mov r0, r3 80c9c52: f7fd ffc5 bl 80c7be0 if (sn[NSFLAG] & NS_LOSS) { /* When LFN is out of 8.3 format, generate a numbered name */ 80c9c56: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c9c5a: f003 0301 and.w r3, r3, #1 80c9c5e: 2b00 cmp r3, #0 80c9c60: d033 beq.n 80c9cca dp->fn[NSFLAG] = NS_NOLFN; /* Find only SFN */ 80c9c62: 687b ldr r3, [r7, #4] 80c9c64: 2240 movs r2, #64 ; 0x40 80c9c66: f883 204b strb.w r2, [r3, #75] ; 0x4b for (n = 1; n < 100; n++) { 80c9c6a: 2301 movs r3, #1 80c9c6c: 67bb str r3, [r7, #120] ; 0x78 80c9c6e: e016 b.n 80c9c9e gen_numname(dp->fn, sn, fs->lfnbuf, n); /* Generate a numbered name */ 80c9c70: 687b ldr r3, [r7, #4] 80c9c72: f103 0040 add.w r0, r3, #64 ; 0x40 80c9c76: 6efb ldr r3, [r7, #108] ; 0x6c 80c9c78: 68da ldr r2, [r3, #12] 80c9c7a: f107 015c add.w r1, r7, #92 ; 0x5c 80c9c7e: 6fbb ldr r3, [r7, #120] ; 0x78 80c9c80: f7ff f9a2 bl 80c8fc8 res = dir_find(dp); /* Check if the name collides with existing SFN */ 80c9c84: 6878 ldr r0, [r7, #4] 80c9c86: f7ff fded bl 80c9864 80c9c8a: 4603 mov r3, r0 80c9c8c: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) break; 80c9c90: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9c94: 2b00 cmp r3, #0 80c9c96: d106 bne.n 80c9ca6 for (n = 1; n < 100; n++) { 80c9c98: 6fbb ldr r3, [r7, #120] ; 0x78 80c9c9a: 3301 adds r3, #1 80c9c9c: 67bb str r3, [r7, #120] ; 0x78 80c9c9e: 6fbb ldr r3, [r7, #120] ; 0x78 80c9ca0: 2b63 cmp r3, #99 ; 0x63 80c9ca2: d9e5 bls.n 80c9c70 80c9ca4: e000 b.n 80c9ca8 if (res != FR_OK) break; 80c9ca6: bf00 nop } if (n == 100) return FR_DENIED; /* Abort if too many collisions */ 80c9ca8: 6fbb ldr r3, [r7, #120] ; 0x78 80c9caa: 2b64 cmp r3, #100 ; 0x64 80c9cac: d101 bne.n 80c9cb2 80c9cae: 2307 movs r3, #7 80c9cb0: e0a4 b.n 80c9dfc if (res != FR_NO_FILE) return res; /* Abort if the result is other than 'not collided' */ 80c9cb2: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9cb6: 2b04 cmp r3, #4 80c9cb8: d002 beq.n 80c9cc0 80c9cba: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9cbe: e09d b.n 80c9dfc dp->fn[NSFLAG] = sn[NSFLAG]; 80c9cc0: f897 2067 ldrb.w r2, [r7, #103] ; 0x67 80c9cc4: 687b ldr r3, [r7, #4] 80c9cc6: 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 */ 80c9cca: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c9cce: f003 0302 and.w r3, r3, #2 80c9cd2: 2b00 cmp r3, #0 80c9cd4: d007 beq.n 80c9ce6 80c9cd6: 6f7b ldr r3, [r7, #116] ; 0x74 80c9cd8: 330c adds r3, #12 80c9cda: 4a2f ldr r2, [pc, #188] ; (80c9d98 ) 80c9cdc: fba2 2303 umull r2, r3, r2, r3 80c9ce0: 089b lsrs r3, r3, #2 80c9ce2: 3301 adds r3, #1 80c9ce4: e000 b.n 80c9ce8 80c9ce6: 2301 movs r3, #1 80c9ce8: 673b str r3, [r7, #112] ; 0x70 res = dir_alloc(dp, nent); /* Allocate entries */ 80c9cea: 6f39 ldr r1, [r7, #112] ; 0x70 80c9cec: 6878 ldr r0, [r7, #4] 80c9cee: f7fe ff93 bl 80c8c18 80c9cf2: 4603 mov r3, r0 80c9cf4: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK && --nent) { /* Set LFN entry if needed */ 80c9cf8: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9cfc: 2b00 cmp r3, #0 80c9cfe: d14e bne.n 80c9d9e 80c9d00: 6f3b ldr r3, [r7, #112] ; 0x70 80c9d02: 3b01 subs r3, #1 80c9d04: 673b str r3, [r7, #112] ; 0x70 80c9d06: 6f3b ldr r3, [r7, #112] ; 0x70 80c9d08: 2b00 cmp r3, #0 80c9d0a: d048 beq.n 80c9d9e res = dir_sdi(dp, dp->dptr - nent * SZDIRE); 80c9d0c: 687b ldr r3, [r7, #4] 80c9d0e: 6b1a ldr r2, [r3, #48] ; 0x30 80c9d10: 6f3b ldr r3, [r7, #112] ; 0x70 80c9d12: 015b lsls r3, r3, #5 80c9d14: 1ad3 subs r3, r2, r3 80c9d16: 4619 mov r1, r3 80c9d18: 6878 ldr r0, [r7, #4] 80c9d1a: f7fe fe22 bl 80c8962 80c9d1e: 4603 mov r3, r0 80c9d20: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK) { 80c9d24: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9d28: 2b00 cmp r3, #0 80c9d2a: d138 bne.n 80c9d9e sum = sum_sfn(dp->fn); /* Checksum value of the SFN tied to the LFN */ 80c9d2c: 687b ldr r3, [r7, #4] 80c9d2e: 3340 adds r3, #64 ; 0x40 80c9d30: 4618 mov r0, r3 80c9d32: f7ff f9d7 bl 80c90e4 80c9d36: 4603 mov r3, r0 80c9d38: f887 306b strb.w r3, [r7, #107] ; 0x6b do { /* Store LFN entries in bottom first */ res = move_window(fs, dp->sect); 80c9d3c: 687b ldr r3, [r7, #4] 80c9d3e: 6b9b ldr r3, [r3, #56] ; 0x38 80c9d40: 4619 mov r1, r3 80c9d42: 6ef8 ldr r0, [r7, #108] ; 0x6c 80c9d44: f7fe f80d bl 80c7d62 80c9d48: 4603 mov r3, r0 80c9d4a: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) break; 80c9d4e: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9d52: 2b00 cmp r3, #0 80c9d54: d122 bne.n 80c9d9c put_lfn(fs->lfnbuf, dp->dir, (BYTE)nent, sum); 80c9d56: 6efb ldr r3, [r7, #108] ; 0x6c 80c9d58: 68d8 ldr r0, [r3, #12] 80c9d5a: 687b ldr r3, [r7, #4] 80c9d5c: 6bd9 ldr r1, [r3, #60] ; 0x3c 80c9d5e: 6f3b ldr r3, [r7, #112] ; 0x70 80c9d60: b2da uxtb r2, r3 80c9d62: f897 306b ldrb.w r3, [r7, #107] ; 0x6b 80c9d66: f7ff f8c7 bl 80c8ef8 fs->wflag = 1; 80c9d6a: 6efb ldr r3, [r7, #108] ; 0x6c 80c9d6c: 2201 movs r2, #1 80c9d6e: 70da strb r2, [r3, #3] res = dir_next(dp, 0); /* Next entry */ 80c9d70: 2100 movs r1, #0 80c9d72: 6878 ldr r0, [r7, #4] 80c9d74: f7fe fe7b bl 80c8a6e 80c9d78: 4603 mov r3, r0 80c9d7a: f887 307f strb.w r3, [r7, #127] ; 0x7f } while (res == FR_OK && --nent); 80c9d7e: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9d82: 2b00 cmp r3, #0 80c9d84: d10b bne.n 80c9d9e 80c9d86: 6f3b ldr r3, [r7, #112] ; 0x70 80c9d88: 3b01 subs r3, #1 80c9d8a: 673b str r3, [r7, #112] ; 0x70 80c9d8c: 6f3b ldr r3, [r7, #112] ; 0x70 80c9d8e: 2b00 cmp r3, #0 80c9d90: d1d4 bne.n 80c9d3c 80c9d92: e004 b.n 80c9d9e 80c9d94: 88888889 .word 0x88888889 80c9d98: 4ec4ec4f .word 0x4ec4ec4f if (res != FR_OK) break; 80c9d9c: bf00 nop res = dir_alloc(dp, 1); /* Allocate an entry for SFN */ #endif /* Set SFN entry */ if (res == FR_OK) { 80c9d9e: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9da2: 2b00 cmp r3, #0 80c9da4: d128 bne.n 80c9df8 res = move_window(fs, dp->sect); 80c9da6: 687b ldr r3, [r7, #4] 80c9da8: 6b9b ldr r3, [r3, #56] ; 0x38 80c9daa: 4619 mov r1, r3 80c9dac: 6ef8 ldr r0, [r7, #108] ; 0x6c 80c9dae: f7fd ffd8 bl 80c7d62 80c9db2: 4603 mov r3, r0 80c9db4: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK) { 80c9db8: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9dbc: 2b00 cmp r3, #0 80c9dbe: d11b bne.n 80c9df8 mem_set(dp->dir, 0, SZDIRE); /* Clean the entry */ 80c9dc0: 687b ldr r3, [r7, #4] 80c9dc2: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9dc4: 2220 movs r2, #32 80c9dc6: 2100 movs r1, #0 80c9dc8: 4618 mov r0, r3 80c9dca: f7fd ff2a bl 80c7c22 mem_cpy(dp->dir + DIR_Name, dp->fn, 11); /* Put SFN */ 80c9dce: 687b ldr r3, [r7, #4] 80c9dd0: 6bd8 ldr r0, [r3, #60] ; 0x3c 80c9dd2: 687b ldr r3, [r7, #4] 80c9dd4: 3340 adds r3, #64 ; 0x40 80c9dd6: 220b movs r2, #11 80c9dd8: 4619 mov r1, r3 80c9dda: f7fd ff01 bl 80c7be0 #if _USE_LFN != 0 dp->dir[DIR_NTres] = dp->fn[NSFLAG] & (NS_BODY | NS_EXT); /* Put NT flag */ 80c9dde: 687b ldr r3, [r7, #4] 80c9de0: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9de2: 330c adds r3, #12 80c9de4: 687a ldr r2, [r7, #4] 80c9de6: f892 204b ldrb.w r2, [r2, #75] ; 0x4b 80c9dea: f002 0218 and.w r2, r2, #24 80c9dee: b2d2 uxtb r2, r2 80c9df0: 701a strb r2, [r3, #0] #endif fs->wflag = 1; 80c9df2: 6efb ldr r3, [r7, #108] ; 0x6c 80c9df4: 2201 movs r2, #1 80c9df6: 70da strb r2, [r3, #3] } } return res; 80c9df8: f897 307f ldrb.w r3, [r7, #127] ; 0x7f } 80c9dfc: 4618 mov r0, r3 80c9dfe: 3784 adds r7, #132 ; 0x84 80c9e00: 46bd mov sp, r7 80c9e02: bd90 pop {r4, r7, pc} 080c9e04 : static FRESULT dir_remove ( /* FR_OK:Succeeded, FR_DISK_ERR:A disk error */ DIR* dp /* Directory object pointing the entry to be removed */ ) { 80c9e04: b580 push {r7, lr} 80c9e06: b086 sub sp, #24 80c9e08: af00 add r7, sp, #0 80c9e0a: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs = dp->obj.fs; 80c9e0c: 687b ldr r3, [r7, #4] 80c9e0e: 681b ldr r3, [r3, #0] 80c9e10: 613b str r3, [r7, #16] #if _USE_LFN != 0 /* LFN configuration */ DWORD last = dp->dptr; 80c9e12: 687b ldr r3, [r7, #4] 80c9e14: 6b1b ldr r3, [r3, #48] ; 0x30 80c9e16: 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 */ 80c9e18: 687b ldr r3, [r7, #4] 80c9e1a: 6cdb ldr r3, [r3, #76] ; 0x4c 80c9e1c: f1b3 3fff cmp.w r3, #4294967295 80c9e20: d007 beq.n 80c9e32 80c9e22: 687b ldr r3, [r7, #4] 80c9e24: 6cdb ldr r3, [r3, #76] ; 0x4c 80c9e26: 4619 mov r1, r3 80c9e28: 6878 ldr r0, [r7, #4] 80c9e2a: f7fe fd9a bl 80c8962 80c9e2e: 4603 mov r3, r0 80c9e30: e000 b.n 80c9e34 80c9e32: 2300 movs r3, #0 80c9e34: 75fb strb r3, [r7, #23] if (res == FR_OK) { 80c9e36: 7dfb ldrb r3, [r7, #23] 80c9e38: 2b00 cmp r3, #0 80c9e3a: d136 bne.n 80c9eaa do { res = move_window(fs, dp->sect); 80c9e3c: 687b ldr r3, [r7, #4] 80c9e3e: 6b9b ldr r3, [r3, #56] ; 0x38 80c9e40: 4619 mov r1, r3 80c9e42: 6938 ldr r0, [r7, #16] 80c9e44: f7fd ff8d bl 80c7d62 80c9e48: 4603 mov r3, r0 80c9e4a: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c9e4c: 7dfb ldrb r3, [r7, #23] 80c9e4e: 2b00 cmp r3, #0 80c9e50: d123 bne.n 80c9e9a /* Mark an entry 'deleted' */ if (_FS_EXFAT && fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c9e52: 693b ldr r3, [r7, #16] 80c9e54: 781b ldrb r3, [r3, #0] 80c9e56: 2b04 cmp r3, #4 80c9e58: d109 bne.n 80c9e6e dp->dir[XDIR_Type] &= 0x7F; 80c9e5a: 687b ldr r3, [r7, #4] 80c9e5c: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9e5e: 687a ldr r2, [r7, #4] 80c9e60: 6bd2 ldr r2, [r2, #60] ; 0x3c 80c9e62: 7812 ldrb r2, [r2, #0] 80c9e64: f002 027f and.w r2, r2, #127 ; 0x7f 80c9e68: b2d2 uxtb r2, r2 80c9e6a: 701a strb r2, [r3, #0] 80c9e6c: e003 b.n 80c9e76 } else { /* On the FAT12/16/32 volume */ dp->dir[DIR_Name] = DDEM; 80c9e6e: 687b ldr r3, [r7, #4] 80c9e70: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9e72: 22e5 movs r2, #229 ; 0xe5 80c9e74: 701a strb r2, [r3, #0] } fs->wflag = 1; 80c9e76: 693b ldr r3, [r7, #16] 80c9e78: 2201 movs r2, #1 80c9e7a: 70da strb r2, [r3, #3] if (dp->dptr >= last) break; /* If reached last entry then all entries of the object has been deleted. */ 80c9e7c: 687b ldr r3, [r7, #4] 80c9e7e: 6b1a ldr r2, [r3, #48] ; 0x30 80c9e80: 68fb ldr r3, [r7, #12] 80c9e82: 429a cmp r2, r3 80c9e84: d20b bcs.n 80c9e9e res = dir_next(dp, 0); /* Next entry */ 80c9e86: 2100 movs r1, #0 80c9e88: 6878 ldr r0, [r7, #4] 80c9e8a: f7fe fdf0 bl 80c8a6e 80c9e8e: 4603 mov r3, r0 80c9e90: 75fb strb r3, [r7, #23] } while (res == FR_OK); 80c9e92: 7dfb ldrb r3, [r7, #23] 80c9e94: 2b00 cmp r3, #0 80c9e96: d0d1 beq.n 80c9e3c 80c9e98: e002 b.n 80c9ea0 if (res != FR_OK) break; 80c9e9a: bf00 nop 80c9e9c: e000 b.n 80c9ea0 if (dp->dptr >= last) break; /* If reached last entry then all entries of the object has been deleted. */ 80c9e9e: bf00 nop if (res == FR_NO_FILE) res = FR_INT_ERR; 80c9ea0: 7dfb ldrb r3, [r7, #23] 80c9ea2: 2b04 cmp r3, #4 80c9ea4: d101 bne.n 80c9eaa 80c9ea6: 2302 movs r3, #2 80c9ea8: 75fb strb r3, [r7, #23] dp->dir[DIR_Name] = DDEM; fs->wflag = 1; } #endif return res; 80c9eaa: 7dfb ldrb r3, [r7, #23] } 80c9eac: 4618 mov r0, r3 80c9eae: 3718 adds r7, #24 80c9eb0: 46bd mov sp, r7 80c9eb2: bd80 pop {r7, pc} 080c9eb4 : static void get_fileinfo ( /* No return code */ DIR* dp, /* Pointer to the directory object */ FILINFO* fno /* Pointer to the file information to be filled */ ) { 80c9eb4: b590 push {r4, r7, lr} 80c9eb6: b089 sub sp, #36 ; 0x24 80c9eb8: af00 add r7, sp, #0 80c9eba: 6078 str r0, [r7, #4] 80c9ebc: 6039 str r1, [r7, #0] UINT i, j; TCHAR c; DWORD tm; #if _USE_LFN != 0 WCHAR w, lfv; FATFS *fs = dp->obj.fs; 80c9ebe: 687b ldr r3, [r7, #4] 80c9ec0: 681b ldr r3, [r3, #0] 80c9ec2: 613b str r3, [r7, #16] #endif fno->fname[0] = 0; /* Invaidate file info */ 80c9ec4: 683b ldr r3, [r7, #0] 80c9ec6: 2200 movs r2, #0 80c9ec8: 769a strb r2, [r3, #26] if (!dp->sect) return; /* Exit if read pointer has reached end of directory */ 80c9eca: 687b ldr r3, [r7, #4] 80c9ecc: 6b9b ldr r3, [r3, #56] ; 0x38 80c9ece: 2b00 cmp r3, #0 80c9ed0: f000 80d7 beq.w 80ca082 #if _USE_LFN != 0 /* LFN configuration */ #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c9ed4: 693b ldr r3, [r7, #16] 80c9ed6: 781b ldrb r3, [r3, #0] 80c9ed8: 2b04 cmp r3, #4 80c9eda: d106 bne.n 80c9eea get_xdir_info(fs->dirbuf, fno); 80c9edc: 693b ldr r3, [r7, #16] 80c9ede: 691b ldr r3, [r3, #16] 80c9ee0: 6839 ldr r1, [r7, #0] 80c9ee2: 4618 mov r0, r3 80c9ee4: f7ff f9b4 bl 80c9250 return; 80c9ee8: e0cc b.n 80ca084 } else #endif { /* On the FAT12/16/32 volume */ if (dp->blk_ofs != 0xFFFFFFFF) { /* Get LFN if available */ 80c9eea: 687b ldr r3, [r7, #4] 80c9eec: 6cdb ldr r3, [r3, #76] ; 0x4c 80c9eee: f1b3 3fff cmp.w r3, #4294967295 80c9ef2: d032 beq.n 80c9f5a i = j = 0; 80c9ef4: 2300 movs r3, #0 80c9ef6: 61bb str r3, [r7, #24] 80c9ef8: 69bb ldr r3, [r7, #24] 80c9efa: 61fb str r3, [r7, #28] while ((w = fs->lfnbuf[j++]) != 0) { /* Get an LFN character */ 80c9efc: e01b b.n 80c9f36 #if !_LFN_UNICODE w = ff_convert(w, 0); /* Unicode -> OEM */ 80c9efe: 89fb ldrh r3, [r7, #14] 80c9f00: 2100 movs r1, #0 80c9f02: 4618 mov r0, r3 80c9f04: f003 ff5e bl 80cddc4 80c9f08: 4603 mov r3, r0 80c9f0a: 81fb strh r3, [r7, #14] if (w == 0) { i = 0; break; } /* No LFN if it could not be converted */ 80c9f0c: 89fb ldrh r3, [r7, #14] 80c9f0e: 2b00 cmp r3, #0 80c9f10: d102 bne.n 80c9f18 80c9f12: 2300 movs r3, #0 80c9f14: 61fb str r3, [r7, #28] 80c9f16: e01a b.n 80c9f4e 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 */ 80c9f18: 69fb ldr r3, [r7, #28] 80c9f1a: 2bfe cmp r3, #254 ; 0xfe 80c9f1c: d902 bls.n 80c9f24 80c9f1e: 2300 movs r3, #0 80c9f20: 61fb str r3, [r7, #28] 80c9f22: e014 b.n 80c9f4e fno->fname[i++] = (TCHAR)w; 80c9f24: 69fb ldr r3, [r7, #28] 80c9f26: 1c5a adds r2, r3, #1 80c9f28: 61fa str r2, [r7, #28] 80c9f2a: 89fa ldrh r2, [r7, #14] 80c9f2c: b2d1 uxtb r1, r2 80c9f2e: 683a ldr r2, [r7, #0] 80c9f30: 4413 add r3, r2 80c9f32: 460a mov r2, r1 80c9f34: 769a strb r2, [r3, #26] while ((w = fs->lfnbuf[j++]) != 0) { /* Get an LFN character */ 80c9f36: 693b ldr r3, [r7, #16] 80c9f38: 68da ldr r2, [r3, #12] 80c9f3a: 69bb ldr r3, [r7, #24] 80c9f3c: 1c59 adds r1, r3, #1 80c9f3e: 61b9 str r1, [r7, #24] 80c9f40: 005b lsls r3, r3, #1 80c9f42: 4413 add r3, r2 80c9f44: 881b ldrh r3, [r3, #0] 80c9f46: 81fb strh r3, [r7, #14] 80c9f48: 89fb ldrh r3, [r7, #14] 80c9f4a: 2b00 cmp r3, #0 80c9f4c: d1d7 bne.n 80c9efe } fno->fname[i] = 0; /* Terminate the LFN */ 80c9f4e: 683a ldr r2, [r7, #0] 80c9f50: 69fb ldr r3, [r7, #28] 80c9f52: 4413 add r3, r2 80c9f54: 331a adds r3, #26 80c9f56: 2200 movs r2, #0 80c9f58: 701a strb r2, [r3, #0] } } i = j = 0; 80c9f5a: 2300 movs r3, #0 80c9f5c: 61bb str r3, [r7, #24] 80c9f5e: 69bb ldr r3, [r7, #24] 80c9f60: 61fb str r3, [r7, #28] lfv = fno->fname[i]; /* LFN is exist if non-zero */ 80c9f62: 683a ldr r2, [r7, #0] 80c9f64: 69fb ldr r3, [r7, #28] 80c9f66: 4413 add r3, r2 80c9f68: 331a adds r3, #26 80c9f6a: 781b ldrb r3, [r3, #0] 80c9f6c: 81bb strh r3, [r7, #12] while (i < 11) { /* Copy name body and extension */ 80c9f6e: e04c b.n 80ca00a c = (TCHAR)dp->dir[i++]; 80c9f70: 687b ldr r3, [r7, #4] 80c9f72: 6bda ldr r2, [r3, #60] ; 0x3c 80c9f74: 69fb ldr r3, [r7, #28] 80c9f76: 1c59 adds r1, r3, #1 80c9f78: 61f9 str r1, [r7, #28] 80c9f7a: 4413 add r3, r2 80c9f7c: 781b ldrb r3, [r3, #0] 80c9f7e: 75fb strb r3, [r7, #23] if (c == ' ') continue; /* Skip padding spaces */ 80c9f80: 7dfb ldrb r3, [r7, #23] 80c9f82: 2b20 cmp r3, #32 80c9f84: d100 bne.n 80c9f88 80c9f86: e040 b.n 80ca00a if (c == RDDEM) c = (TCHAR)DDEM; /* Restore replaced DDEM character */ 80c9f88: 7dfb ldrb r3, [r7, #23] 80c9f8a: 2b05 cmp r3, #5 80c9f8c: d101 bne.n 80c9f92 80c9f8e: 23e5 movs r3, #229 ; 0xe5 80c9f90: 75fb strb r3, [r7, #23] if (i == 9) { /* Insert a . if extension is exist */ 80c9f92: 69fb ldr r3, [r7, #28] 80c9f94: 2b09 cmp r3, #9 80c9f96: d10f bne.n 80c9fb8 if (!lfv) fno->fname[j] = '.'; 80c9f98: 89bb ldrh r3, [r7, #12] 80c9f9a: 2b00 cmp r3, #0 80c9f9c: d105 bne.n 80c9faa 80c9f9e: 683a ldr r2, [r7, #0] 80c9fa0: 69bb ldr r3, [r7, #24] 80c9fa2: 4413 add r3, r2 80c9fa4: 331a adds r3, #26 80c9fa6: 222e movs r2, #46 ; 0x2e 80c9fa8: 701a strb r2, [r3, #0] fno->altname[j++] = '.'; 80c9faa: 69bb ldr r3, [r7, #24] 80c9fac: 1c5a adds r2, r3, #1 80c9fae: 61ba str r2, [r7, #24] 80c9fb0: 683a ldr r2, [r7, #0] 80c9fb2: 4413 add r3, r2 80c9fb4: 222e movs r2, #46 ; 0x2e 80c9fb6: 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; 80c9fb8: 683a ldr r2, [r7, #0] 80c9fba: 69bb ldr r3, [r7, #24] 80c9fbc: 4413 add r3, r2 80c9fbe: 330d adds r3, #13 80c9fc0: 7dfa ldrb r2, [r7, #23] 80c9fc2: 701a strb r2, [r3, #0] if (!lfv) { 80c9fc4: 89bb ldrh r3, [r7, #12] 80c9fc6: 2b00 cmp r3, #0 80c9fc8: d11c bne.n 80ca004 if (IsUpper(c) && (dp->dir[DIR_NTres] & ((i >= 9) ? NS_EXT : NS_BODY))) { 80c9fca: 7dfb ldrb r3, [r7, #23] 80c9fcc: 2b40 cmp r3, #64 ; 0x40 80c9fce: d913 bls.n 80c9ff8 80c9fd0: 7dfb ldrb r3, [r7, #23] 80c9fd2: 2b5a cmp r3, #90 ; 0x5a 80c9fd4: d810 bhi.n 80c9ff8 80c9fd6: 687b ldr r3, [r7, #4] 80c9fd8: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9fda: 330c adds r3, #12 80c9fdc: 781b ldrb r3, [r3, #0] 80c9fde: 461a mov r2, r3 80c9fe0: 69fb ldr r3, [r7, #28] 80c9fe2: 2b08 cmp r3, #8 80c9fe4: d901 bls.n 80c9fea 80c9fe6: 2310 movs r3, #16 80c9fe8: e000 b.n 80c9fec 80c9fea: 2308 movs r3, #8 80c9fec: 4013 ands r3, r2 80c9fee: 2b00 cmp r3, #0 80c9ff0: d002 beq.n 80c9ff8 c += 0x20; /* To lower */ 80c9ff2: 7dfb ldrb r3, [r7, #23] 80c9ff4: 3320 adds r3, #32 80c9ff6: 75fb strb r3, [r7, #23] } fno->fname[j] = c; 80c9ff8: 683a ldr r2, [r7, #0] 80c9ffa: 69bb ldr r3, [r7, #24] 80c9ffc: 4413 add r3, r2 80c9ffe: 331a adds r3, #26 80ca000: 7dfa ldrb r2, [r7, #23] 80ca002: 701a strb r2, [r3, #0] } j++; 80ca004: 69bb ldr r3, [r7, #24] 80ca006: 3301 adds r3, #1 80ca008: 61bb str r3, [r7, #24] while (i < 11) { /* Copy name body and extension */ 80ca00a: 69fb ldr r3, [r7, #28] 80ca00c: 2b0a cmp r3, #10 80ca00e: d9af bls.n 80c9f70 } if (!lfv) { 80ca010: 89bb ldrh r3, [r7, #12] 80ca012: 2b00 cmp r3, #0 80ca014: d10d bne.n 80ca032 fno->fname[j] = 0; 80ca016: 683a ldr r2, [r7, #0] 80ca018: 69bb ldr r3, [r7, #24] 80ca01a: 4413 add r3, r2 80ca01c: 331a adds r3, #26 80ca01e: 2200 movs r2, #0 80ca020: 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. */ 80ca022: 687b ldr r3, [r7, #4] 80ca024: 6bdb ldr r3, [r3, #60] ; 0x3c 80ca026: 330c adds r3, #12 80ca028: 781b ldrb r3, [r3, #0] 80ca02a: 2b00 cmp r3, #0 80ca02c: d101 bne.n 80ca032 80ca02e: 2300 movs r3, #0 80ca030: 61bb str r3, [r7, #24] } fno->altname[j] = 0; /* Terminate the SFN */ 80ca032: 683a ldr r2, [r7, #0] 80ca034: 69bb ldr r3, [r7, #24] 80ca036: 4413 add r3, r2 80ca038: 330d adds r3, #13 80ca03a: 2200 movs r2, #0 80ca03c: 701a strb r2, [r3, #0] fno->fname[j++] = c; } fno->fname[j] = 0; #endif fno->fattrib = dp->dir[DIR_Attr]; /* Attribute */ 80ca03e: 687b ldr r3, [r7, #4] 80ca040: 6bdb ldr r3, [r3, #60] ; 0x3c 80ca042: 7ada ldrb r2, [r3, #11] 80ca044: 683b ldr r3, [r7, #0] 80ca046: 731a strb r2, [r3, #12] fno->fsize = ld_dword(dp->dir + DIR_FileSize); /* Size */ 80ca048: 687b ldr r3, [r7, #4] 80ca04a: 6bdb ldr r3, [r3, #60] ; 0x3c 80ca04c: 331c adds r3, #28 80ca04e: 4618 mov r0, r3 80ca050: f7fd fc1c bl 80c788c 80ca054: 4603 mov r3, r0 80ca056: f04f 0400 mov.w r4, #0 80ca05a: 683a ldr r2, [r7, #0] 80ca05c: e882 0018 stmia.w r2, {r3, r4} tm = ld_dword(dp->dir + DIR_ModTime); /* Timestamp */ 80ca060: 687b ldr r3, [r7, #4] 80ca062: 6bdb ldr r3, [r3, #60] ; 0x3c 80ca064: 3316 adds r3, #22 80ca066: 4618 mov r0, r3 80ca068: f7fd fc10 bl 80c788c 80ca06c: 60b8 str r0, [r7, #8] fno->ftime = (WORD)tm; fno->fdate = (WORD)(tm >> 16); 80ca06e: 68bb ldr r3, [r7, #8] 80ca070: b29a uxth r2, r3 80ca072: 683b ldr r3, [r7, #0] 80ca074: 815a strh r2, [r3, #10] 80ca076: 68bb ldr r3, [r7, #8] 80ca078: 0c1b lsrs r3, r3, #16 80ca07a: b29a uxth r2, r3 80ca07c: 683b ldr r3, [r7, #0] 80ca07e: 811a strh r2, [r3, #8] 80ca080: e000 b.n 80ca084 if (!dp->sect) return; /* Exit if read pointer has reached end of directory */ 80ca082: bf00 nop } 80ca084: 3724 adds r7, #36 ; 0x24 80ca086: 46bd mov sp, r7 80ca088: bd90 pop {r4, r7, pc} ... 080ca08c : 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 */ ) { 80ca08c: b580 push {r7, lr} 80ca08e: b08a sub sp, #40 ; 0x28 80ca090: af00 add r7, sp, #0 80ca092: 6078 str r0, [r7, #4] 80ca094: 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; 80ca096: 683b ldr r3, [r7, #0] 80ca098: 681b ldr r3, [r3, #0] 80ca09a: 613b str r3, [r7, #16] 80ca09c: 687b ldr r3, [r7, #4] 80ca09e: 681b ldr r3, [r3, #0] 80ca0a0: 68db ldr r3, [r3, #12] 80ca0a2: 60fb str r3, [r7, #12] 80ca0a4: 2300 movs r3, #0 80ca0a6: 617b str r3, [r7, #20] 80ca0a8: 697b ldr r3, [r7, #20] 80ca0aa: 61bb str r3, [r7, #24] for (;;) { w = p[si++]; /* Get a character */ 80ca0ac: 69bb ldr r3, [r7, #24] 80ca0ae: 1c5a adds r2, r3, #1 80ca0b0: 61ba str r2, [r7, #24] 80ca0b2: 693a ldr r2, [r7, #16] 80ca0b4: 4413 add r3, r2 80ca0b6: 781b ldrb r3, [r3, #0] 80ca0b8: 84bb strh r3, [r7, #36] ; 0x24 if (w < ' ') break; /* Break if end of the path name */ 80ca0ba: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca0bc: 2b1f cmp r3, #31 80ca0be: d940 bls.n 80ca142 if (w == '/' || w == '\\') { /* Break if a separator is found */ 80ca0c0: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca0c2: 2b2f cmp r3, #47 ; 0x2f 80ca0c4: d006 beq.n 80ca0d4 80ca0c6: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca0c8: 2b5c cmp r3, #92 ; 0x5c 80ca0ca: d110 bne.n 80ca0ee while (p[si] == '/' || p[si] == '\\') si++; /* Skip duplicated separator if exist */ 80ca0cc: e002 b.n 80ca0d4 80ca0ce: 69bb ldr r3, [r7, #24] 80ca0d0: 3301 adds r3, #1 80ca0d2: 61bb str r3, [r7, #24] 80ca0d4: 693a ldr r2, [r7, #16] 80ca0d6: 69bb ldr r3, [r7, #24] 80ca0d8: 4413 add r3, r2 80ca0da: 781b ldrb r3, [r3, #0] 80ca0dc: 2b2f cmp r3, #47 ; 0x2f 80ca0de: d0f6 beq.n 80ca0ce 80ca0e0: 693a ldr r2, [r7, #16] 80ca0e2: 69bb ldr r3, [r7, #24] 80ca0e4: 4413 add r3, r2 80ca0e6: 781b ldrb r3, [r3, #0] 80ca0e8: 2b5c cmp r3, #92 ; 0x5c 80ca0ea: d0f0 beq.n 80ca0ce break; 80ca0ec: e02a b.n 80ca144 } if (di >= _MAX_LFN) return FR_INVALID_NAME; /* Reject too long name */ 80ca0ee: 697b ldr r3, [r7, #20] 80ca0f0: 2bfe cmp r3, #254 ; 0xfe 80ca0f2: d901 bls.n 80ca0f8 80ca0f4: 2306 movs r3, #6 80ca0f6: e177 b.n 80ca3e8 #if !_LFN_UNICODE w &= 0xFF; 80ca0f8: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca0fa: b2db uxtb r3, r3 80ca0fc: 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 */ 80ca0fe: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca100: 2101 movs r1, #1 80ca102: 4618 mov r0, r3 80ca104: f003 fe5e bl 80cddc4 80ca108: 4603 mov r3, r0 80ca10a: 84bb strh r3, [r7, #36] ; 0x24 if (!w) return FR_INVALID_NAME; /* Reject invalid code */ 80ca10c: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca10e: 2b00 cmp r3, #0 80ca110: d101 bne.n 80ca116 80ca112: 2306 movs r3, #6 80ca114: e168 b.n 80ca3e8 #endif if (w < 0x80 && chk_chr("\"*:<>\?|\x7F", w)) return FR_INVALID_NAME; /* Reject illegal characters for LFN */ 80ca116: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca118: 2b7f cmp r3, #127 ; 0x7f 80ca11a: d809 bhi.n 80ca130 80ca11c: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca11e: 4619 mov r1, r3 80ca120: 48b3 ldr r0, [pc, #716] ; (80ca3f0 ) 80ca122: f7fd fdbf bl 80c7ca4 80ca126: 4603 mov r3, r0 80ca128: 2b00 cmp r3, #0 80ca12a: d001 beq.n 80ca130 80ca12c: 2306 movs r3, #6 80ca12e: e15b b.n 80ca3e8 lfn[di++] = w; /* Store the Unicode character */ 80ca130: 697b ldr r3, [r7, #20] 80ca132: 1c5a adds r2, r3, #1 80ca134: 617a str r2, [r7, #20] 80ca136: 005b lsls r3, r3, #1 80ca138: 68fa ldr r2, [r7, #12] 80ca13a: 4413 add r3, r2 80ca13c: 8cba ldrh r2, [r7, #36] ; 0x24 80ca13e: 801a strh r2, [r3, #0] w = p[si++]; /* Get a character */ 80ca140: e7b4 b.n 80ca0ac if (w < ' ') break; /* Break if end of the path name */ 80ca142: bf00 nop } *path = &p[si]; /* Return pointer to the next segment */ 80ca144: 693a ldr r2, [r7, #16] 80ca146: 69bb ldr r3, [r7, #24] 80ca148: 441a add r2, r3 80ca14a: 683b ldr r3, [r7, #0] 80ca14c: 601a str r2, [r3, #0] cf = (w < ' ') ? NS_LAST : 0; /* Set last segment flag if end of the path */ 80ca14e: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca150: 2b1f cmp r3, #31 80ca152: d801 bhi.n 80ca158 80ca154: 2304 movs r3, #4 80ca156: e000 b.n 80ca15a 80ca158: 2300 movs r3, #0 80ca15a: 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 */ 80ca15e: e011 b.n 80ca184 w = lfn[di - 1]; 80ca160: 697a ldr r2, [r7, #20] 80ca162: f06f 4300 mvn.w r3, #2147483648 ; 0x80000000 80ca166: 4413 add r3, r2 80ca168: 005b lsls r3, r3, #1 80ca16a: 68fa ldr r2, [r7, #12] 80ca16c: 4413 add r3, r2 80ca16e: 881b ldrh r3, [r3, #0] 80ca170: 84bb strh r3, [r7, #36] ; 0x24 if (w != ' ' && w != '.') break; 80ca172: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca174: 2b20 cmp r3, #32 80ca176: d002 beq.n 80ca17e 80ca178: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca17a: 2b2e cmp r3, #46 ; 0x2e 80ca17c: d106 bne.n 80ca18c di--; 80ca17e: 697b ldr r3, [r7, #20] 80ca180: 3b01 subs r3, #1 80ca182: 617b str r3, [r7, #20] while (di) { /* Snip off trailing spaces and dots if exist */ 80ca184: 697b ldr r3, [r7, #20] 80ca186: 2b00 cmp r3, #0 80ca188: d1ea bne.n 80ca160 80ca18a: e000 b.n 80ca18e if (w != ' ' && w != '.') break; 80ca18c: bf00 nop } lfn[di] = 0; /* LFN is created */ 80ca18e: 697b ldr r3, [r7, #20] 80ca190: 005b lsls r3, r3, #1 80ca192: 68fa ldr r2, [r7, #12] 80ca194: 4413 add r3, r2 80ca196: 2200 movs r2, #0 80ca198: 801a strh r2, [r3, #0] if (di == 0) return FR_INVALID_NAME; /* Reject nul name */ 80ca19a: 697b ldr r3, [r7, #20] 80ca19c: 2b00 cmp r3, #0 80ca19e: d101 bne.n 80ca1a4 80ca1a0: 2306 movs r3, #6 80ca1a2: e121 b.n 80ca3e8 /* Create SFN in directory form */ mem_set(dp->fn, ' ', 11); 80ca1a4: 687b ldr r3, [r7, #4] 80ca1a6: 3340 adds r3, #64 ; 0x40 80ca1a8: 220b movs r2, #11 80ca1aa: 2120 movs r1, #32 80ca1ac: 4618 mov r0, r3 80ca1ae: f7fd fd38 bl 80c7c22 for (si = 0; lfn[si] == ' ' || lfn[si] == '.'; si++) ; /* Strip leading spaces and dots */ 80ca1b2: 2300 movs r3, #0 80ca1b4: 61bb str r3, [r7, #24] 80ca1b6: e002 b.n 80ca1be 80ca1b8: 69bb ldr r3, [r7, #24] 80ca1ba: 3301 adds r3, #1 80ca1bc: 61bb str r3, [r7, #24] 80ca1be: 69bb ldr r3, [r7, #24] 80ca1c0: 005b lsls r3, r3, #1 80ca1c2: 68fa ldr r2, [r7, #12] 80ca1c4: 4413 add r3, r2 80ca1c6: 881b ldrh r3, [r3, #0] 80ca1c8: 2b20 cmp r3, #32 80ca1ca: d0f5 beq.n 80ca1b8 80ca1cc: 69bb ldr r3, [r7, #24] 80ca1ce: 005b lsls r3, r3, #1 80ca1d0: 68fa ldr r2, [r7, #12] 80ca1d2: 4413 add r3, r2 80ca1d4: 881b ldrh r3, [r3, #0] 80ca1d6: 2b2e cmp r3, #46 ; 0x2e 80ca1d8: d0ee beq.n 80ca1b8 if (si) cf |= NS_LOSS | NS_LFN; 80ca1da: 69bb ldr r3, [r7, #24] 80ca1dc: 2b00 cmp r3, #0 80ca1de: d009 beq.n 80ca1f4 80ca1e0: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80ca1e4: f043 0303 orr.w r3, r3, #3 80ca1e8: f887 3026 strb.w r3, [r7, #38] ; 0x26 while (di && lfn[di - 1] != '.') di--; /* Find extension (di<=si: no extension) */ 80ca1ec: e002 b.n 80ca1f4 80ca1ee: 697b ldr r3, [r7, #20] 80ca1f0: 3b01 subs r3, #1 80ca1f2: 617b str r3, [r7, #20] 80ca1f4: 697b ldr r3, [r7, #20] 80ca1f6: 2b00 cmp r3, #0 80ca1f8: d009 beq.n 80ca20e 80ca1fa: 697a ldr r2, [r7, #20] 80ca1fc: f06f 4300 mvn.w r3, #2147483648 ; 0x80000000 80ca200: 4413 add r3, r2 80ca202: 005b lsls r3, r3, #1 80ca204: 68fa ldr r2, [r7, #12] 80ca206: 4413 add r3, r2 80ca208: 881b ldrh r3, [r3, #0] 80ca20a: 2b2e cmp r3, #46 ; 0x2e 80ca20c: d1ef bne.n 80ca1ee i = b = 0; ni = 8; 80ca20e: 2300 movs r3, #0 80ca210: f887 3027 strb.w r3, [r7, #39] ; 0x27 80ca214: 2300 movs r3, #0 80ca216: 623b str r3, [r7, #32] 80ca218: 2308 movs r3, #8 80ca21a: 61fb str r3, [r7, #28] for (;;) { w = lfn[si++]; /* Get an LFN character */ 80ca21c: 69bb ldr r3, [r7, #24] 80ca21e: 1c5a adds r2, r3, #1 80ca220: 61ba str r2, [r7, #24] 80ca222: 005b lsls r3, r3, #1 80ca224: 68fa ldr r2, [r7, #12] 80ca226: 4413 add r3, r2 80ca228: 881b ldrh r3, [r3, #0] 80ca22a: 84bb strh r3, [r7, #36] ; 0x24 if (!w) break; /* Break on end of the LFN */ 80ca22c: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca22e: 2b00 cmp r3, #0 80ca230: f000 8090 beq.w 80ca354 if (w == ' ' || (w == '.' && si != di)) { /* Remove spaces and dots */ 80ca234: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca236: 2b20 cmp r3, #32 80ca238: d006 beq.n 80ca248 80ca23a: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca23c: 2b2e cmp r3, #46 ; 0x2e 80ca23e: d10a bne.n 80ca256 80ca240: 69ba ldr r2, [r7, #24] 80ca242: 697b ldr r3, [r7, #20] 80ca244: 429a cmp r2, r3 80ca246: d006 beq.n 80ca256 cf |= NS_LOSS | NS_LFN; continue; 80ca248: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80ca24c: f043 0303 orr.w r3, r3, #3 80ca250: f887 3026 strb.w r3, [r7, #38] ; 0x26 80ca254: e07d b.n 80ca352 } if (i >= ni || si == di) { /* Extension or end of SFN */ 80ca256: 6a3a ldr r2, [r7, #32] 80ca258: 69fb ldr r3, [r7, #28] 80ca25a: 429a cmp r2, r3 80ca25c: d203 bcs.n 80ca266 80ca25e: 69ba ldr r2, [r7, #24] 80ca260: 697b ldr r3, [r7, #20] 80ca262: 429a cmp r2, r3 80ca264: d123 bne.n 80ca2ae if (ni == 11) { /* Long extension */ 80ca266: 69fb ldr r3, [r7, #28] 80ca268: 2b0b cmp r3, #11 80ca26a: d106 bne.n 80ca27a cf |= NS_LOSS | NS_LFN; break; 80ca26c: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80ca270: f043 0303 orr.w r3, r3, #3 80ca274: f887 3026 strb.w r3, [r7, #38] ; 0x26 80ca278: e06f b.n 80ca35a } if (si != di) cf |= NS_LOSS | NS_LFN; /* Out of 8.3 format */ 80ca27a: 69ba ldr r2, [r7, #24] 80ca27c: 697b ldr r3, [r7, #20] 80ca27e: 429a cmp r2, r3 80ca280: d005 beq.n 80ca28e 80ca282: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80ca286: f043 0303 orr.w r3, r3, #3 80ca28a: f887 3026 strb.w r3, [r7, #38] ; 0x26 if (si > di) break; /* No extension */ 80ca28e: 69ba ldr r2, [r7, #24] 80ca290: 697b ldr r3, [r7, #20] 80ca292: 429a cmp r2, r3 80ca294: d860 bhi.n 80ca358 si = di; i = 8; ni = 11; /* Enter extension section */ 80ca296: 697b ldr r3, [r7, #20] 80ca298: 61bb str r3, [r7, #24] 80ca29a: 2308 movs r3, #8 80ca29c: 623b str r3, [r7, #32] 80ca29e: 230b movs r3, #11 80ca2a0: 61fb str r3, [r7, #28] b <<= 2; continue; 80ca2a2: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80ca2a6: 009b lsls r3, r3, #2 80ca2a8: f887 3027 strb.w r3, [r7, #39] ; 0x27 80ca2ac: e051 b.n 80ca352 } if (w >= 0x80) { /* Non ASCII character */ 80ca2ae: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca2b0: 2b7f cmp r3, #127 ; 0x7f 80ca2b2: d914 bls.n 80ca2de #ifdef _EXCVT w = ff_convert(w, 0); /* Unicode -> OEM code */ 80ca2b4: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca2b6: 2100 movs r1, #0 80ca2b8: 4618 mov r0, r3 80ca2ba: f003 fd83 bl 80cddc4 80ca2be: 4603 mov r3, r0 80ca2c0: 84bb strh r3, [r7, #36] ; 0x24 if (w) w = ExCvt[w - 0x80]; /* Convert extended character to upper (SBCS) */ 80ca2c2: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca2c4: 2b00 cmp r3, #0 80ca2c6: d004 beq.n 80ca2d2 80ca2c8: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca2ca: 3b80 subs r3, #128 ; 0x80 80ca2cc: 4a49 ldr r2, [pc, #292] ; (80ca3f4 ) 80ca2ce: 5cd3 ldrb r3, [r2, r3] 80ca2d0: 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 */ 80ca2d2: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80ca2d6: f043 0302 orr.w r3, r3, #2 80ca2da: 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 */ 80ca2de: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca2e0: 2b00 cmp r3, #0 80ca2e2: d007 beq.n 80ca2f4 80ca2e4: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca2e6: 4619 mov r1, r3 80ca2e8: 4843 ldr r0, [pc, #268] ; (80ca3f8 ) 80ca2ea: f7fd fcdb bl 80c7ca4 80ca2ee: 4603 mov r3, r0 80ca2f0: 2b00 cmp r3, #0 80ca2f2: d008 beq.n 80ca306 w = '_'; cf |= NS_LOSS | NS_LFN;/* Lossy conversion */ 80ca2f4: 235f movs r3, #95 ; 0x5f 80ca2f6: 84bb strh r3, [r7, #36] ; 0x24 80ca2f8: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80ca2fc: f043 0303 orr.w r3, r3, #3 80ca300: f887 3026 strb.w r3, [r7, #38] ; 0x26 80ca304: e01b b.n 80ca33e } else { if (IsUpper(w)) { /* ASCII large capital */ 80ca306: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca308: 2b40 cmp r3, #64 ; 0x40 80ca30a: d909 bls.n 80ca320 80ca30c: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca30e: 2b5a cmp r3, #90 ; 0x5a 80ca310: d806 bhi.n 80ca320 b |= 2; 80ca312: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80ca316: f043 0302 orr.w r3, r3, #2 80ca31a: f887 3027 strb.w r3, [r7, #39] ; 0x27 80ca31e: e00e b.n 80ca33e } else { if (IsLower(w)) { /* ASCII small capital */ 80ca320: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca322: 2b60 cmp r3, #96 ; 0x60 80ca324: d90b bls.n 80ca33e 80ca326: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca328: 2b7a cmp r3, #122 ; 0x7a 80ca32a: d808 bhi.n 80ca33e b |= 1; w -= 0x20; 80ca32c: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80ca330: f043 0301 orr.w r3, r3, #1 80ca334: f887 3027 strb.w r3, [r7, #39] ; 0x27 80ca338: 8cbb ldrh r3, [r7, #36] ; 0x24 80ca33a: 3b20 subs r3, #32 80ca33c: 84bb strh r3, [r7, #36] ; 0x24 } } } } dp->fn[i++] = (BYTE)w; 80ca33e: 6a3b ldr r3, [r7, #32] 80ca340: 1c5a adds r2, r3, #1 80ca342: 623a str r2, [r7, #32] 80ca344: 8cba ldrh r2, [r7, #36] ; 0x24 80ca346: b2d1 uxtb r1, r2 80ca348: 687a ldr r2, [r7, #4] 80ca34a: 4413 add r3, r2 80ca34c: 460a mov r2, r1 80ca34e: f883 2040 strb.w r2, [r3, #64] ; 0x40 w = lfn[si++]; /* Get an LFN character */ 80ca352: e763 b.n 80ca21c if (!w) break; /* Break on end of the LFN */ 80ca354: bf00 nop 80ca356: e000 b.n 80ca35a if (si > di) break; /* No extension */ 80ca358: bf00 nop } if (dp->fn[0] == DDEM) dp->fn[0] = RDDEM; /* If the first character collides with DDEM, replace it with RDDEM */ 80ca35a: 687b ldr r3, [r7, #4] 80ca35c: f893 3040 ldrb.w r3, [r3, #64] ; 0x40 80ca360: 2be5 cmp r3, #229 ; 0xe5 80ca362: d103 bne.n 80ca36c 80ca364: 687b ldr r3, [r7, #4] 80ca366: 2205 movs r2, #5 80ca368: f883 2040 strb.w r2, [r3, #64] ; 0x40 if (ni == 8) b <<= 2; 80ca36c: 69fb ldr r3, [r7, #28] 80ca36e: 2b08 cmp r3, #8 80ca370: d104 bne.n 80ca37c 80ca372: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80ca376: 009b lsls r3, r3, #2 80ca378: 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 */ 80ca37c: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80ca380: f003 030c and.w r3, r3, #12 80ca384: 2b0c cmp r3, #12 80ca386: d005 beq.n 80ca394 80ca388: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80ca38c: f003 0303 and.w r3, r3, #3 80ca390: 2b03 cmp r3, #3 80ca392: d105 bne.n 80ca3a0 80ca394: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80ca398: f043 0302 orr.w r3, r3, #2 80ca39c: 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 */ 80ca3a0: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80ca3a4: f003 0302 and.w r3, r3, #2 80ca3a8: 2b00 cmp r3, #0 80ca3aa: d117 bne.n 80ca3dc if ((b & 0x03) == 0x01) cf |= NS_EXT; /* NT flag (Extension has only small capital) */ 80ca3ac: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80ca3b0: f003 0303 and.w r3, r3, #3 80ca3b4: 2b01 cmp r3, #1 80ca3b6: d105 bne.n 80ca3c4 80ca3b8: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80ca3bc: f043 0310 orr.w r3, r3, #16 80ca3c0: f887 3026 strb.w r3, [r7, #38] ; 0x26 if ((b & 0x0C) == 0x04) cf |= NS_BODY; /* NT flag (Filename has only small capital) */ 80ca3c4: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80ca3c8: f003 030c and.w r3, r3, #12 80ca3cc: 2b04 cmp r3, #4 80ca3ce: d105 bne.n 80ca3dc 80ca3d0: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80ca3d4: f043 0308 orr.w r3, r3, #8 80ca3d8: f887 3026 strb.w r3, [r7, #38] ; 0x26 } dp->fn[NSFLAG] = cf; /* SFN is created */ 80ca3dc: 687b ldr r3, [r7, #4] 80ca3de: f897 2026 ldrb.w r2, [r7, #38] ; 0x26 80ca3e2: f883 204b strb.w r2, [r3, #75] ; 0x4b return FR_OK; 80ca3e6: 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 */ } 80ca3e8: 4618 mov r0, r3 80ca3ea: 3728 adds r7, #40 ; 0x28 80ca3ec: 46bd mov sp, r7 80ca3ee: bd80 pop {r7, pc} 80ca3f0: 080d75e0 .word 0x080d75e0 80ca3f4: 0817063c .word 0x0817063c 80ca3f8: 080d75ec .word 0x080d75ec 080ca3fc : 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 */ ) { 80ca3fc: b590 push {r4, r7, lr} 80ca3fe: b087 sub sp, #28 80ca400: af00 add r7, sp, #0 80ca402: 6078 str r0, [r7, #4] 80ca404: 6039 str r1, [r7, #0] FRESULT res; BYTE ns; _FDID *obj = &dp->obj; 80ca406: 687b ldr r3, [r7, #4] 80ca408: 613b str r3, [r7, #16] FATFS *fs = obj->fs; 80ca40a: 693b ldr r3, [r7, #16] 80ca40c: 681b ldr r3, [r3, #0] 80ca40e: 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 */ 80ca410: e002 b.n 80ca418 80ca412: 683b ldr r3, [r7, #0] 80ca414: 3301 adds r3, #1 80ca416: 603b str r3, [r7, #0] 80ca418: 683b ldr r3, [r7, #0] 80ca41a: 781b ldrb r3, [r3, #0] 80ca41c: 2b2f cmp r3, #47 ; 0x2f 80ca41e: d0f8 beq.n 80ca412 80ca420: 683b ldr r3, [r7, #0] 80ca422: 781b ldrb r3, [r3, #0] 80ca424: 2b5c cmp r3, #92 ; 0x5c 80ca426: d0f4 beq.n 80ca412 obj->sclust = 0; /* Start from root directory */ 80ca428: 693b ldr r3, [r7, #16] 80ca42a: 2200 movs r2, #0 80ca42c: 609a str r2, [r3, #8] } #if _FS_EXFAT obj->n_frag = 0; /* Invalidate last fragment counter of the object */ 80ca42e: 693b ldr r3, [r7, #16] 80ca430: 2200 movs r2, #0 80ca432: 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 */ 80ca434: 683b ldr r3, [r7, #0] 80ca436: 781b ldrb r3, [r3, #0] 80ca438: 2b1f cmp r3, #31 80ca43a: d80a bhi.n 80ca452 dp->fn[NSFLAG] = NS_NONAME; 80ca43c: 687b ldr r3, [r7, #4] 80ca43e: 2280 movs r2, #128 ; 0x80 80ca440: f883 204b strb.w r2, [r3, #75] ; 0x4b res = dir_sdi(dp, 0); 80ca444: 2100 movs r1, #0 80ca446: 6878 ldr r0, [r7, #4] 80ca448: f7fe fa8b bl 80c8962 80ca44c: 4603 mov r3, r0 80ca44e: 75fb strb r3, [r7, #23] 80ca450: e077 b.n 80ca542 } else { /* Follow path */ for (;;) { res = create_name(dp, &path); /* Get a segment name of the path */ 80ca452: 463b mov r3, r7 80ca454: 4619 mov r1, r3 80ca456: 6878 ldr r0, [r7, #4] 80ca458: f7ff fe18 bl 80ca08c 80ca45c: 4603 mov r3, r0 80ca45e: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80ca460: 7dfb ldrb r3, [r7, #23] 80ca462: 2b00 cmp r3, #0 80ca464: d168 bne.n 80ca538 res = dir_find(dp); /* Find an object with the segment name */ 80ca466: 6878 ldr r0, [r7, #4] 80ca468: f7ff f9fc bl 80c9864 80ca46c: 4603 mov r3, r0 80ca46e: 75fb strb r3, [r7, #23] ns = dp->fn[NSFLAG]; 80ca470: 687b ldr r3, [r7, #4] 80ca472: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80ca476: 72fb strb r3, [r7, #11] if (res != FR_OK) { /* Failed to find the object */ 80ca478: 7dfb ldrb r3, [r7, #23] 80ca47a: 2b00 cmp r3, #0 80ca47c: d00a beq.n 80ca494 if (res == FR_NO_FILE) { /* Object is not found */ 80ca47e: 7dfb ldrb r3, [r7, #23] 80ca480: 2b04 cmp r3, #4 80ca482: d15b bne.n 80ca53c 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 */ 80ca484: 7afb ldrb r3, [r7, #11] 80ca486: f003 0304 and.w r3, r3, #4 80ca48a: 2b00 cmp r3, #0 80ca48c: d156 bne.n 80ca53c 80ca48e: 2305 movs r3, #5 80ca490: 75fb strb r3, [r7, #23] } } break; 80ca492: e053 b.n 80ca53c } if (ns & NS_LAST) break; /* Last segment matched. Function completed. */ 80ca494: 7afb ldrb r3, [r7, #11] 80ca496: f003 0304 and.w r3, r3, #4 80ca49a: 2b00 cmp r3, #0 80ca49c: d150 bne.n 80ca540 /* Get into the sub-directory */ if (!(obj->attr & AM_DIR)) { /* It is not a sub-directory and cannot follow */ 80ca49e: 693b ldr r3, [r7, #16] 80ca4a0: 799b ldrb r3, [r3, #6] 80ca4a2: f003 0310 and.w r3, r3, #16 80ca4a6: 2b00 cmp r3, #0 80ca4a8: d102 bne.n 80ca4b0 res = FR_NO_PATH; break; 80ca4aa: 2305 movs r3, #5 80ca4ac: 75fb strb r3, [r7, #23] 80ca4ae: e048 b.n 80ca542 } #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* Save containing directory information for next dir */ 80ca4b0: 68fb ldr r3, [r7, #12] 80ca4b2: 781b ldrb r3, [r3, #0] 80ca4b4: 2b04 cmp r3, #4 80ca4b6: d12f bne.n 80ca518 obj->c_scl = obj->sclust; 80ca4b8: 693b ldr r3, [r7, #16] 80ca4ba: 689a ldr r2, [r3, #8] 80ca4bc: 693b ldr r3, [r7, #16] 80ca4be: 621a str r2, [r3, #32] obj->c_size = ((DWORD)obj->objsize & 0xFFFFFF00) | obj->stat; 80ca4c0: 693b ldr r3, [r7, #16] 80ca4c2: e9d3 3404 ldrd r3, r4, [r3, #16] 80ca4c6: f023 03ff bic.w r3, r3, #255 ; 0xff 80ca4ca: 693a ldr r2, [r7, #16] 80ca4cc: 79d2 ldrb r2, [r2, #7] 80ca4ce: 431a orrs r2, r3 80ca4d0: 693b ldr r3, [r7, #16] 80ca4d2: 625a str r2, [r3, #36] ; 0x24 obj->c_ofs = dp->blk_ofs; 80ca4d4: 687b ldr r3, [r7, #4] 80ca4d6: 6cda ldr r2, [r3, #76] ; 0x4c 80ca4d8: 693b ldr r3, [r7, #16] 80ca4da: 629a str r2, [r3, #40] ; 0x28 obj->sclust = ld_dword(fs->dirbuf + XDIR_FstClus); /* Open next directory */ 80ca4dc: 68fb ldr r3, [r7, #12] 80ca4de: 691b ldr r3, [r3, #16] 80ca4e0: 3334 adds r3, #52 ; 0x34 80ca4e2: 4618 mov r0, r3 80ca4e4: f7fd f9d2 bl 80c788c 80ca4e8: 4602 mov r2, r0 80ca4ea: 693b ldr r3, [r7, #16] 80ca4ec: 609a str r2, [r3, #8] obj->stat = fs->dirbuf[XDIR_GenFlags] & 2; 80ca4ee: 68fb ldr r3, [r7, #12] 80ca4f0: 691b ldr r3, [r3, #16] 80ca4f2: 3321 adds r3, #33 ; 0x21 80ca4f4: 781b ldrb r3, [r3, #0] 80ca4f6: f003 0302 and.w r3, r3, #2 80ca4fa: b2da uxtb r2, r3 80ca4fc: 693b ldr r3, [r7, #16] 80ca4fe: 71da strb r2, [r3, #7] obj->objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80ca500: 68fb ldr r3, [r7, #12] 80ca502: 691b ldr r3, [r3, #16] 80ca504: 3338 adds r3, #56 ; 0x38 80ca506: 4618 mov r0, r3 80ca508: f7fd f9e3 bl 80c78d2 80ca50c: 4603 mov r3, r0 80ca50e: 460c mov r4, r1 80ca510: 693a ldr r2, [r7, #16] 80ca512: e9c2 3404 strd r3, r4, [r2, #16] 80ca516: e79c b.n 80ca452 } else #endif { obj->sclust = ld_clust(fs, fs->win + dp->dptr % SS(fs)); /* Open next directory */ 80ca518: 68fb ldr r3, [r7, #12] 80ca51a: f103 0238 add.w r2, r3, #56 ; 0x38 80ca51e: 687b ldr r3, [r7, #4] 80ca520: 6b1b ldr r3, [r3, #48] ; 0x30 80ca522: f3c3 0308 ubfx r3, r3, #0, #9 80ca526: 4413 add r3, r2 80ca528: 4619 mov r1, r3 80ca52a: 68f8 ldr r0, [r7, #12] 80ca52c: f7fe fbd0 bl 80c8cd0 80ca530: 4602 mov r2, r0 80ca532: 693b ldr r3, [r7, #16] 80ca534: 609a str r2, [r3, #8] res = create_name(dp, &path); /* Get a segment name of the path */ 80ca536: e78c b.n 80ca452 if (res != FR_OK) break; 80ca538: bf00 nop 80ca53a: e002 b.n 80ca542 break; 80ca53c: bf00 nop 80ca53e: e000 b.n 80ca542 if (ns & NS_LAST) break; /* Last segment matched. Function completed. */ 80ca540: bf00 nop } } } return res; 80ca542: 7dfb ldrb r3, [r7, #23] } 80ca544: 4618 mov r0, r3 80ca546: 371c adds r7, #28 80ca548: 46bd mov sp, r7 80ca54a: bd90 pop {r4, r7, pc} 080ca54c : static int get_ldnumber ( /* Returns logical drive number (-1:invalid drive) */ const TCHAR** path /* Pointer to pointer to the path name */ ) { 80ca54c: b480 push {r7} 80ca54e: b087 sub sp, #28 80ca550: af00 add r7, sp, #0 80ca552: 6078 str r0, [r7, #4] const TCHAR *tp, *tt; UINT i; int vol = -1; 80ca554: f04f 33ff mov.w r3, #4294967295 80ca558: 613b str r3, [r7, #16] char c; TCHAR tc; #endif if (*path) { /* If the pointer is not a null */ 80ca55a: 687b ldr r3, [r7, #4] 80ca55c: 681b ldr r3, [r3, #0] 80ca55e: 2b00 cmp r3, #0 80ca560: d031 beq.n 80ca5c6 for (tt = *path; (UINT)*tt >= (_USE_LFN ? ' ' : '!') && *tt != ':'; tt++) ; /* Find ':' in the path */ 80ca562: 687b ldr r3, [r7, #4] 80ca564: 681b ldr r3, [r3, #0] 80ca566: 617b str r3, [r7, #20] 80ca568: e002 b.n 80ca570 80ca56a: 697b ldr r3, [r7, #20] 80ca56c: 3301 adds r3, #1 80ca56e: 617b str r3, [r7, #20] 80ca570: 697b ldr r3, [r7, #20] 80ca572: 781b ldrb r3, [r3, #0] 80ca574: 2b1f cmp r3, #31 80ca576: d903 bls.n 80ca580 80ca578: 697b ldr r3, [r7, #20] 80ca57a: 781b ldrb r3, [r3, #0] 80ca57c: 2b3a cmp r3, #58 ; 0x3a 80ca57e: d1f4 bne.n 80ca56a if (*tt == ':') { /* If a ':' is exist in the path name */ 80ca580: 697b ldr r3, [r7, #20] 80ca582: 781b ldrb r3, [r3, #0] 80ca584: 2b3a cmp r3, #58 ; 0x3a 80ca586: d11c bne.n 80ca5c2 tp = *path; 80ca588: 687b ldr r3, [r7, #4] 80ca58a: 681b ldr r3, [r3, #0] 80ca58c: 60fb str r3, [r7, #12] i = *tp++ - '0'; 80ca58e: 68fb ldr r3, [r7, #12] 80ca590: 1c5a adds r2, r3, #1 80ca592: 60fa str r2, [r7, #12] 80ca594: 781b ldrb r3, [r3, #0] 80ca596: 3b30 subs r3, #48 ; 0x30 80ca598: 60bb str r3, [r7, #8] if (i < 10 && tp == tt) { /* Is there a numeric drive id? */ 80ca59a: 68bb ldr r3, [r7, #8] 80ca59c: 2b09 cmp r3, #9 80ca59e: d80e bhi.n 80ca5be 80ca5a0: 68fa ldr r2, [r7, #12] 80ca5a2: 697b ldr r3, [r7, #20] 80ca5a4: 429a cmp r2, r3 80ca5a6: d10a bne.n 80ca5be if (i < _VOLUMES) { /* If a drive id is found, get the value and strip it */ 80ca5a8: 68bb ldr r3, [r7, #8] 80ca5aa: 2b00 cmp r3, #0 80ca5ac: d107 bne.n 80ca5be vol = (int)i; 80ca5ae: 68bb ldr r3, [r7, #8] 80ca5b0: 613b str r3, [r7, #16] *path = ++tt; 80ca5b2: 697b ldr r3, [r7, #20] 80ca5b4: 3301 adds r3, #1 80ca5b6: 617b str r3, [r7, #20] 80ca5b8: 687b ldr r3, [r7, #4] 80ca5ba: 697a ldr r2, [r7, #20] 80ca5bc: 601a str r2, [r3, #0] vol = (int)i; *path = tt; } } #endif return vol; 80ca5be: 693b ldr r3, [r7, #16] 80ca5c0: e002 b.n 80ca5c8 } #if _FS_RPATH != 0 && _VOLUMES >= 2 vol = CurrVol; /* Current drive */ #else vol = 0; /* Drive 0 */ 80ca5c2: 2300 movs r3, #0 80ca5c4: 613b str r3, [r7, #16] #endif } return vol; 80ca5c6: 693b ldr r3, [r7, #16] } 80ca5c8: 4618 mov r0, r3 80ca5ca: 371c adds r7, #28 80ca5cc: 46bd mov sp, r7 80ca5ce: f85d 7b04 ldr.w r7, [sp], #4 80ca5d2: 4770 bx lr 080ca5d4 : 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 */ ) { 80ca5d4: b580 push {r7, lr} 80ca5d6: b082 sub sp, #8 80ca5d8: af00 add r7, sp, #0 80ca5da: 6078 str r0, [r7, #4] 80ca5dc: 6039 str r1, [r7, #0] fs->wflag = 0; fs->winsect = 0xFFFFFFFF; /* Invaidate window */ 80ca5de: 687b ldr r3, [r7, #4] 80ca5e0: 2200 movs r2, #0 80ca5e2: 70da strb r2, [r3, #3] 80ca5e4: 687b ldr r3, [r7, #4] 80ca5e6: f04f 32ff mov.w r2, #4294967295 80ca5ea: 635a str r2, [r3, #52] ; 0x34 if (move_window(fs, sect) != FR_OK) return 4; /* Load boot record */ 80ca5ec: 6839 ldr r1, [r7, #0] 80ca5ee: 6878 ldr r0, [r7, #4] 80ca5f0: f7fd fbb7 bl 80c7d62 80ca5f4: 4603 mov r3, r0 80ca5f6: 2b00 cmp r3, #0 80ca5f8: d001 beq.n 80ca5fe 80ca5fa: 2304 movs r3, #4 80ca5fc: e044 b.n 80ca688 if (ld_word(fs->win + BS_55AA) != 0xAA55) return 3; /* Check boot record signature (always placed here even if the sector size is >512) */ 80ca5fe: 687b ldr r3, [r7, #4] 80ca600: 3338 adds r3, #56 ; 0x38 80ca602: f503 73ff add.w r3, r3, #510 ; 0x1fe 80ca606: 4618 mov r0, r3 80ca608: f7fd f928 bl 80c785c 80ca60c: 4603 mov r3, r0 80ca60e: 461a mov r2, r3 80ca610: f64a 2355 movw r3, #43605 ; 0xaa55 80ca614: 429a cmp r2, r3 80ca616: d001 beq.n 80ca61c 80ca618: 2303 movs r3, #3 80ca61a: e035 b.n 80ca688 if (fs->win[BS_JmpBoot] == 0xE9 || (fs->win[BS_JmpBoot] == 0xEB && fs->win[BS_JmpBoot + 2] == 0x90)) { 80ca61c: 687b ldr r3, [r7, #4] 80ca61e: f893 3038 ldrb.w r3, [r3, #56] ; 0x38 80ca622: 2be9 cmp r3, #233 ; 0xe9 80ca624: d009 beq.n 80ca63a 80ca626: 687b ldr r3, [r7, #4] 80ca628: f893 3038 ldrb.w r3, [r3, #56] ; 0x38 80ca62c: 2beb cmp r3, #235 ; 0xeb 80ca62e: d11e bne.n 80ca66e 80ca630: 687b ldr r3, [r7, #4] 80ca632: f893 303a ldrb.w r3, [r3, #58] ; 0x3a 80ca636: 2b90 cmp r3, #144 ; 0x90 80ca638: d119 bne.n 80ca66e if ((ld_dword(fs->win + BS_FilSysType) & 0xFFFFFF) == 0x544146) return 0; /* Check "FAT" string */ 80ca63a: 687b ldr r3, [r7, #4] 80ca63c: 3338 adds r3, #56 ; 0x38 80ca63e: 3336 adds r3, #54 ; 0x36 80ca640: 4618 mov r0, r3 80ca642: f7fd f923 bl 80c788c 80ca646: 4603 mov r3, r0 80ca648: f023 437f bic.w r3, r3, #4278190080 ; 0xff000000 80ca64c: 4a10 ldr r2, [pc, #64] ; (80ca690 ) 80ca64e: 4293 cmp r3, r2 80ca650: d101 bne.n 80ca656 80ca652: 2300 movs r3, #0 80ca654: e018 b.n 80ca688 if (ld_dword(fs->win + BS_FilSysType32) == 0x33544146) return 0; /* Check "FAT3" string */ 80ca656: 687b ldr r3, [r7, #4] 80ca658: 3338 adds r3, #56 ; 0x38 80ca65a: 3352 adds r3, #82 ; 0x52 80ca65c: 4618 mov r0, r3 80ca65e: f7fd f915 bl 80c788c 80ca662: 4602 mov r2, r0 80ca664: 4b0b ldr r3, [pc, #44] ; (80ca694 ) 80ca666: 429a cmp r2, r3 80ca668: d101 bne.n 80ca66e 80ca66a: 2300 movs r3, #0 80ca66c: e00c b.n 80ca688 } #if _FS_EXFAT if (!mem_cmp(fs->win + BS_JmpBoot, "\xEB\x76\x90" "EXFAT ", 11)) return 1; 80ca66e: 687b ldr r3, [r7, #4] 80ca670: 3338 adds r3, #56 ; 0x38 80ca672: 220b movs r2, #11 80ca674: 4908 ldr r1, [pc, #32] ; (80ca698 ) 80ca676: 4618 mov r0, r3 80ca678: f7fd faed bl 80c7c56 80ca67c: 4603 mov r3, r0 80ca67e: 2b00 cmp r3, #0 80ca680: d101 bne.n 80ca686 80ca682: 2301 movs r3, #1 80ca684: e000 b.n 80ca688 #endif return 2; 80ca686: 2302 movs r3, #2 } 80ca688: 4618 mov r0, r3 80ca68a: 3708 adds r7, #8 80ca68c: 46bd mov sp, r7 80ca68e: bd80 pop {r7, pc} 80ca690: 00544146 .word 0x00544146 80ca694: 33544146 .word 0x33544146 80ca698: 080d75f4 .word 0x080d75f4 080ca69c : 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 */ ) { 80ca69c: b590 push {r4, r7, lr} 80ca69e: b099 sub sp, #100 ; 0x64 80ca6a0: af00 add r7, sp, #0 80ca6a2: 60f8 str r0, [r7, #12] 80ca6a4: 60b9 str r1, [r7, #8] 80ca6a6: 4613 mov r3, r2 80ca6a8: 71fb strb r3, [r7, #7] FATFS *fs; UINT i; /* Get logical drive number */ *rfs = 0; 80ca6aa: 68bb ldr r3, [r7, #8] 80ca6ac: 2200 movs r2, #0 80ca6ae: 601a str r2, [r3, #0] vol = get_ldnumber(path); 80ca6b0: 68f8 ldr r0, [r7, #12] 80ca6b2: f7ff ff4b bl 80ca54c 80ca6b6: 6478 str r0, [r7, #68] ; 0x44 if (vol < 0) return FR_INVALID_DRIVE; 80ca6b8: 6c7b ldr r3, [r7, #68] ; 0x44 80ca6ba: 2b00 cmp r3, #0 80ca6bc: da01 bge.n 80ca6c2 80ca6be: 230b movs r3, #11 80ca6c0: e327 b.n 80cad12 /* Check if the file system object is valid or not */ fs = FatFs[vol]; /* Get pointer to the file system object */ 80ca6c2: 4ab0 ldr r2, [pc, #704] ; (80ca984 ) 80ca6c4: 6c7b ldr r3, [r7, #68] ; 0x44 80ca6c6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80ca6ca: 643b str r3, [r7, #64] ; 0x40 if (!fs) return FR_NOT_ENABLED; /* Is the file system object available? */ 80ca6cc: 6c3b ldr r3, [r7, #64] ; 0x40 80ca6ce: 2b00 cmp r3, #0 80ca6d0: d101 bne.n 80ca6d6 80ca6d2: 230c movs r3, #12 80ca6d4: e31d b.n 80cad12 ENTER_FF(fs); /* Lock the volume */ *rfs = fs; /* Return pointer to the file system object */ 80ca6d6: 68bb ldr r3, [r7, #8] 80ca6d8: 6c3a ldr r2, [r7, #64] ; 0x40 80ca6da: 601a str r2, [r3, #0] mode &= (BYTE)~FA_READ; /* Desired access mode, write access or not */ 80ca6dc: 79fb ldrb r3, [r7, #7] 80ca6de: f023 0301 bic.w r3, r3, #1 80ca6e2: 71fb strb r3, [r7, #7] if (fs->fs_type) { /* If the volume has been mounted */ 80ca6e4: 6c3b ldr r3, [r7, #64] ; 0x40 80ca6e6: 781b ldrb r3, [r3, #0] 80ca6e8: 2b00 cmp r3, #0 80ca6ea: d01a beq.n 80ca722 stat = disk_status(fs->drv); 80ca6ec: 6c3b ldr r3, [r7, #64] ; 0x40 80ca6ee: 785b ldrb r3, [r3, #1] 80ca6f0: 4618 mov r0, r3 80ca6f2: f7fd f815 bl 80c7720 80ca6f6: 4603 mov r3, r0 80ca6f8: f887 303f strb.w r3, [r7, #63] ; 0x3f if (!(stat & STA_NOINIT)) { /* and the physical drive is kept initialized */ 80ca6fc: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80ca700: f003 0301 and.w r3, r3, #1 80ca704: 2b00 cmp r3, #0 80ca706: d10c bne.n 80ca722 if (!_FS_READONLY && mode && (stat & STA_PROTECT)) { /* Check write protection if needed */ 80ca708: 79fb ldrb r3, [r7, #7] 80ca70a: 2b00 cmp r3, #0 80ca70c: d007 beq.n 80ca71e 80ca70e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80ca712: f003 0304 and.w r3, r3, #4 80ca716: 2b00 cmp r3, #0 80ca718: d001 beq.n 80ca71e return FR_WRITE_PROTECTED; 80ca71a: 230a movs r3, #10 80ca71c: e2f9 b.n 80cad12 } return FR_OK; /* The file system object is valid */ 80ca71e: 2300 movs r3, #0 80ca720: e2f7 b.n 80cad12 } /* 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 */ 80ca722: 6c3b ldr r3, [r7, #64] ; 0x40 80ca724: 2200 movs r2, #0 80ca726: 701a strb r2, [r3, #0] fs->drv = LD2PD(vol); /* Bind the logical drive and a physical drive */ 80ca728: 6c7b ldr r3, [r7, #68] ; 0x44 80ca72a: b2da uxtb r2, r3 80ca72c: 6c3b ldr r3, [r7, #64] ; 0x40 80ca72e: 705a strb r2, [r3, #1] stat = disk_initialize(fs->drv); /* Initialize the physical drive */ 80ca730: 6c3b ldr r3, [r7, #64] ; 0x40 80ca732: 785b ldrb r3, [r3, #1] 80ca734: 4618 mov r0, r3 80ca736: f7fd f80d bl 80c7754 80ca73a: 4603 mov r3, r0 80ca73c: f887 303f strb.w r3, [r7, #63] ; 0x3f if (stat & STA_NOINIT) { /* Check if the initialization succeeded */ 80ca740: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80ca744: f003 0301 and.w r3, r3, #1 80ca748: 2b00 cmp r3, #0 80ca74a: d001 beq.n 80ca750 return FR_NOT_READY; /* Failed to initialize due to no medium or hard error */ 80ca74c: 2303 movs r3, #3 80ca74e: e2e0 b.n 80cad12 } if (!_FS_READONLY && mode && (stat & STA_PROTECT)) { /* Check disk write protection if needed */ 80ca750: 79fb ldrb r3, [r7, #7] 80ca752: 2b00 cmp r3, #0 80ca754: d007 beq.n 80ca766 80ca756: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80ca75a: f003 0304 and.w r3, r3, #4 80ca75e: 2b00 cmp r3, #0 80ca760: d001 beq.n 80ca766 return FR_WRITE_PROTECTED; 80ca762: 230a movs r3, #10 80ca764: e2d5 b.n 80cad12 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; 80ca766: 2300 movs r3, #0 80ca768: 65bb str r3, [r7, #88] ; 0x58 fmt = check_fs(fs, bsect); /* Load sector 0 and check if it is an FAT-VBR as SFD */ 80ca76a: 6db9 ldr r1, [r7, #88] ; 0x58 80ca76c: 6c38 ldr r0, [r7, #64] ; 0x40 80ca76e: f7ff ff31 bl 80ca5d4 80ca772: 4603 mov r3, r0 80ca774: f887 305f strb.w r3, [r7, #95] ; 0x5f if (fmt == 2 || (fmt < 2 && LD2PT(vol) != 0)) { /* Not an FAT-VBR or forced partition number */ 80ca778: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80ca77c: 2b02 cmp r3, #2 80ca77e: d14b bne.n 80ca818 for (i = 0; i < 4; i++) { /* Get partition offset */ 80ca780: 2300 movs r3, #0 80ca782: 64bb str r3, [r7, #72] ; 0x48 80ca784: e01f b.n 80ca7c6 pt = fs->win + (MBR_Table + i * SZ_PTE); 80ca786: 6c3b ldr r3, [r7, #64] ; 0x40 80ca788: f103 0238 add.w r2, r3, #56 ; 0x38 80ca78c: 6cbb ldr r3, [r7, #72] ; 0x48 80ca78e: 011b lsls r3, r3, #4 80ca790: f503 73df add.w r3, r3, #446 ; 0x1be 80ca794: 4413 add r3, r2 80ca796: 63bb str r3, [r7, #56] ; 0x38 br[i] = pt[PTE_System] ? ld_dword(pt + PTE_StLba) : 0; 80ca798: 6bbb ldr r3, [r7, #56] ; 0x38 80ca79a: 3304 adds r3, #4 80ca79c: 781b ldrb r3, [r3, #0] 80ca79e: 2b00 cmp r3, #0 80ca7a0: d006 beq.n 80ca7b0 80ca7a2: 6bbb ldr r3, [r7, #56] ; 0x38 80ca7a4: 3308 adds r3, #8 80ca7a6: 4618 mov r0, r3 80ca7a8: f7fd f870 bl 80c788c 80ca7ac: 4602 mov r2, r0 80ca7ae: e000 b.n 80ca7b2 80ca7b0: 2200 movs r2, #0 80ca7b2: 6cbb ldr r3, [r7, #72] ; 0x48 80ca7b4: 009b lsls r3, r3, #2 80ca7b6: f107 0160 add.w r1, r7, #96 ; 0x60 80ca7ba: 440b add r3, r1 80ca7bc: f843 2c4c str.w r2, [r3, #-76] for (i = 0; i < 4; i++) { /* Get partition offset */ 80ca7c0: 6cbb ldr r3, [r7, #72] ; 0x48 80ca7c2: 3301 adds r3, #1 80ca7c4: 64bb str r3, [r7, #72] ; 0x48 80ca7c6: 6cbb ldr r3, [r7, #72] ; 0x48 80ca7c8: 2b03 cmp r3, #3 80ca7ca: d9dc bls.n 80ca786 } i = LD2PT(vol); /* Partition number: 0:auto, 1-4:forced */ 80ca7cc: 2300 movs r3, #0 80ca7ce: 64bb str r3, [r7, #72] ; 0x48 if (i) i--; 80ca7d0: 6cbb ldr r3, [r7, #72] ; 0x48 80ca7d2: 2b00 cmp r3, #0 80ca7d4: d002 beq.n 80ca7dc 80ca7d6: 6cbb ldr r3, [r7, #72] ; 0x48 80ca7d8: 3b01 subs r3, #1 80ca7da: 64bb str r3, [r7, #72] ; 0x48 do { /* Find an FAT volume */ bsect = br[i]; 80ca7dc: 6cbb ldr r3, [r7, #72] ; 0x48 80ca7de: 009b lsls r3, r3, #2 80ca7e0: f107 0260 add.w r2, r7, #96 ; 0x60 80ca7e4: 4413 add r3, r2 80ca7e6: f853 3c4c ldr.w r3, [r3, #-76] 80ca7ea: 65bb str r3, [r7, #88] ; 0x58 fmt = bsect ? check_fs(fs, bsect) : 3; /* Check the partition */ 80ca7ec: 6dbb ldr r3, [r7, #88] ; 0x58 80ca7ee: 2b00 cmp r3, #0 80ca7f0: d005 beq.n 80ca7fe 80ca7f2: 6db9 ldr r1, [r7, #88] ; 0x58 80ca7f4: 6c38 ldr r0, [r7, #64] ; 0x40 80ca7f6: f7ff feed bl 80ca5d4 80ca7fa: 4603 mov r3, r0 80ca7fc: e000 b.n 80ca800 80ca7fe: 2303 movs r3, #3 80ca800: f887 305f strb.w r3, [r7, #95] ; 0x5f } while (LD2PT(vol) == 0 && fmt >= 2 && ++i < 4); 80ca804: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80ca808: 2b01 cmp r3, #1 80ca80a: d905 bls.n 80ca818 80ca80c: 6cbb ldr r3, [r7, #72] ; 0x48 80ca80e: 3301 adds r3, #1 80ca810: 64bb str r3, [r7, #72] ; 0x48 80ca812: 6cbb ldr r3, [r7, #72] ; 0x48 80ca814: 2b03 cmp r3, #3 80ca816: d9e1 bls.n 80ca7dc } if (fmt == 4) return FR_DISK_ERR; /* An error occured in the disk I/O layer */ 80ca818: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80ca81c: 2b04 cmp r3, #4 80ca81e: d101 bne.n 80ca824 80ca820: 2301 movs r3, #1 80ca822: e276 b.n 80cad12 if (fmt >= 2) return FR_NO_FILESYSTEM; /* No FAT volume is found */ 80ca824: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80ca828: 2b01 cmp r3, #1 80ca82a: d901 bls.n 80ca830 80ca82c: 230d movs r3, #13 80ca82e: e270 b.n 80cad12 /* An FAT volume is found (bsect). Following code initializes the file system object */ #if _FS_EXFAT if (fmt == 1) { 80ca830: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80ca834: 2b01 cmp r3, #1 80ca836: f040 80f3 bne.w 80caa20 QWORD maxlba; for (i = BPB_ZeroedEx; i < BPB_ZeroedEx + 53 && fs->win[i] == 0; i++) ; /* Check zero filler */ 80ca83a: 230b movs r3, #11 80ca83c: 64bb str r3, [r7, #72] ; 0x48 80ca83e: e002 b.n 80ca846 80ca840: 6cbb ldr r3, [r7, #72] ; 0x48 80ca842: 3301 adds r3, #1 80ca844: 64bb str r3, [r7, #72] ; 0x48 80ca846: 6cbb ldr r3, [r7, #72] ; 0x48 80ca848: 2b3f cmp r3, #63 ; 0x3f 80ca84a: d806 bhi.n 80ca85a 80ca84c: 6c3a ldr r2, [r7, #64] ; 0x40 80ca84e: 6cbb ldr r3, [r7, #72] ; 0x48 80ca850: 4413 add r3, r2 80ca852: 3338 adds r3, #56 ; 0x38 80ca854: 781b ldrb r3, [r3, #0] 80ca856: 2b00 cmp r3, #0 80ca858: d0f2 beq.n 80ca840 if (i < BPB_ZeroedEx + 53) return FR_NO_FILESYSTEM; 80ca85a: 6cbb ldr r3, [r7, #72] ; 0x48 80ca85c: 2b3f cmp r3, #63 ; 0x3f 80ca85e: d801 bhi.n 80ca864 80ca860: 230d movs r3, #13 80ca862: e256 b.n 80cad12 if (ld_word(fs->win + BPB_FSVerEx) != 0x100) return FR_NO_FILESYSTEM; /* Check exFAT revision (Must be 1.0) */ 80ca864: 6c3b ldr r3, [r7, #64] ; 0x40 80ca866: 3338 adds r3, #56 ; 0x38 80ca868: 3368 adds r3, #104 ; 0x68 80ca86a: 4618 mov r0, r3 80ca86c: f7fc fff6 bl 80c785c 80ca870: 4603 mov r3, r0 80ca872: f5b3 7f80 cmp.w r3, #256 ; 0x100 80ca876: d001 beq.n 80ca87c 80ca878: 230d movs r3, #13 80ca87a: e24a b.n 80cad12 if (1 << fs->win[BPB_BytsPerSecEx] != SS(fs)) { /* (BPB_BytsPerSecEx must be equal to the physical sector size) */ 80ca87c: 6c3b ldr r3, [r7, #64] ; 0x40 80ca87e: f893 30a4 ldrb.w r3, [r3, #164] ; 0xa4 80ca882: 2b09 cmp r3, #9 80ca884: d001 beq.n 80ca88a return FR_NO_FILESYSTEM; 80ca886: 230d movs r3, #13 80ca888: e243 b.n 80cad12 } maxlba = ld_qword(fs->win + BPB_TotSecEx) + bsect; /* Last LBA + 1 of the volume */ 80ca88a: 6c3b ldr r3, [r7, #64] ; 0x40 80ca88c: 3338 adds r3, #56 ; 0x38 80ca88e: 3348 adds r3, #72 ; 0x48 80ca890: 4618 mov r0, r3 80ca892: f7fd f81e bl 80c78d2 80ca896: 460a mov r2, r1 80ca898: 4601 mov r1, r0 80ca89a: 6dbb ldr r3, [r7, #88] ; 0x58 80ca89c: f04f 0400 mov.w r4, #0 80ca8a0: 185b adds r3, r3, r1 80ca8a2: eb44 0402 adc.w r4, r4, r2 80ca8a6: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if (maxlba >= 0x100000000) return FR_NO_FILESYSTEM; /* (It cannot be handled in 32-bit LBA) */ 80ca8aa: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 80ca8ae: 2c01 cmp r4, #1 80ca8b0: bf08 it eq 80ca8b2: 2b00 cmpeq r3, #0 80ca8b4: d301 bcc.n 80ca8ba 80ca8b6: 230d movs r3, #13 80ca8b8: e22b b.n 80cad12 fs->fsize = ld_dword(fs->win + BPB_FatSzEx); /* Number of sectors per FAT */ 80ca8ba: 6c3b ldr r3, [r7, #64] ; 0x40 80ca8bc: 3338 adds r3, #56 ; 0x38 80ca8be: 3354 adds r3, #84 ; 0x54 80ca8c0: 4618 mov r0, r3 80ca8c2: f7fc ffe3 bl 80c788c 80ca8c6: 4602 mov r2, r0 80ca8c8: 6c3b ldr r3, [r7, #64] ; 0x40 80ca8ca: 621a str r2, [r3, #32] fs->n_fats = fs->win[BPB_NumFATsEx]; /* Number of FATs */ 80ca8cc: 6c3b ldr r3, [r7, #64] ; 0x40 80ca8ce: f893 20a6 ldrb.w r2, [r3, #166] ; 0xa6 80ca8d2: 6c3b ldr r3, [r7, #64] ; 0x40 80ca8d4: 709a strb r2, [r3, #2] if (fs->n_fats != 1) return FR_NO_FILESYSTEM; /* (Supports only 1 FAT) */ 80ca8d6: 6c3b ldr r3, [r7, #64] ; 0x40 80ca8d8: 789b ldrb r3, [r3, #2] 80ca8da: 2b01 cmp r3, #1 80ca8dc: d001 beq.n 80ca8e2 80ca8de: 230d movs r3, #13 80ca8e0: e217 b.n 80cad12 fs->csize = 1 << fs->win[BPB_SecPerClusEx]; /* Cluster size */ 80ca8e2: 6c3b ldr r3, [r7, #64] ; 0x40 80ca8e4: f893 30a5 ldrb.w r3, [r3, #165] ; 0xa5 80ca8e8: 461a mov r2, r3 80ca8ea: 2301 movs r3, #1 80ca8ec: 4093 lsls r3, r2 80ca8ee: b29a uxth r2, r3 80ca8f0: 6c3b ldr r3, [r7, #64] ; 0x40 80ca8f2: 815a strh r2, [r3, #10] if (fs->csize == 0) return FR_NO_FILESYSTEM; /* (Must be 1..32768) */ 80ca8f4: 6c3b ldr r3, [r7, #64] ; 0x40 80ca8f6: 895b ldrh r3, [r3, #10] 80ca8f8: 2b00 cmp r3, #0 80ca8fa: d101 bne.n 80ca900 80ca8fc: 230d movs r3, #13 80ca8fe: e208 b.n 80cad12 nclst = ld_dword(fs->win + BPB_NumClusEx); /* Number of clusters */ 80ca900: 6c3b ldr r3, [r7, #64] ; 0x40 80ca902: 3338 adds r3, #56 ; 0x38 80ca904: 335c adds r3, #92 ; 0x5c 80ca906: 4618 mov r0, r3 80ca908: f7fc ffc0 bl 80c788c 80ca90c: 62f8 str r0, [r7, #44] ; 0x2c if (nclst > MAX_EXFAT) return FR_NO_FILESYSTEM; /* (Too many clusters) */ 80ca90e: 6afb ldr r3, [r7, #44] ; 0x2c 80ca910: 4a1d ldr r2, [pc, #116] ; (80ca988 ) 80ca912: 4293 cmp r3, r2 80ca914: d901 bls.n 80ca91a 80ca916: 230d movs r3, #13 80ca918: e1fb b.n 80cad12 fs->n_fatent = nclst + 2; 80ca91a: 6afb ldr r3, [r7, #44] ; 0x2c 80ca91c: 1c9a adds r2, r3, #2 80ca91e: 6c3b ldr r3, [r7, #64] ; 0x40 80ca920: 61da str r2, [r3, #28] /* Boundaries and Limits */ fs->volbase = bsect; 80ca922: 6c3b ldr r3, [r7, #64] ; 0x40 80ca924: 6dba ldr r2, [r7, #88] ; 0x58 80ca926: 625a str r2, [r3, #36] ; 0x24 fs->database = bsect + ld_dword(fs->win + BPB_DataOfsEx); 80ca928: 6c3b ldr r3, [r7, #64] ; 0x40 80ca92a: 3338 adds r3, #56 ; 0x38 80ca92c: 3358 adds r3, #88 ; 0x58 80ca92e: 4618 mov r0, r3 80ca930: f7fc ffac bl 80c788c 80ca934: 4602 mov r2, r0 80ca936: 6dbb ldr r3, [r7, #88] ; 0x58 80ca938: 441a add r2, r3 80ca93a: 6c3b ldr r3, [r7, #64] ; 0x40 80ca93c: 631a str r2, [r3, #48] ; 0x30 fs->fatbase = bsect + ld_dword(fs->win + BPB_FatOfsEx); 80ca93e: 6c3b ldr r3, [r7, #64] ; 0x40 80ca940: 3338 adds r3, #56 ; 0x38 80ca942: 3350 adds r3, #80 ; 0x50 80ca944: 4618 mov r0, r3 80ca946: f7fc ffa1 bl 80c788c 80ca94a: 4602 mov r2, r0 80ca94c: 6dbb ldr r3, [r7, #88] ; 0x58 80ca94e: 441a add r2, r3 80ca950: 6c3b ldr r3, [r7, #64] ; 0x40 80ca952: 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) */ 80ca954: 6c3b ldr r3, [r7, #64] ; 0x40 80ca956: 6b1b ldr r3, [r3, #48] ; 0x30 80ca958: 4619 mov r1, r3 80ca95a: f04f 0200 mov.w r2, #0 80ca95e: 6c3b ldr r3, [r7, #64] ; 0x40 80ca960: 895b ldrh r3, [r3, #10] 80ca962: 4618 mov r0, r3 80ca964: 6afb ldr r3, [r7, #44] ; 0x2c 80ca966: fb03 f300 mul.w r3, r3, r0 80ca96a: f04f 0400 mov.w r4, #0 80ca96e: 185b adds r3, r3, r1 80ca970: eb44 0402 adc.w r4, r4, r2 80ca974: e9d7 120c ldrd r1, r2, [r7, #48] ; 0x30 80ca978: 42a2 cmp r2, r4 80ca97a: bf08 it eq 80ca97c: 4299 cmpeq r1, r3 80ca97e: d205 bcs.n 80ca98c 80ca980: 230d movs r3, #13 80ca982: e1c6 b.n 80cad12 80ca984: 200216fc .word 0x200216fc 80ca988: 7ffffffd .word 0x7ffffffd fs->dirbase = ld_dword(fs->win + BPB_RootClusEx); 80ca98c: 6c3b ldr r3, [r7, #64] ; 0x40 80ca98e: 3338 adds r3, #56 ; 0x38 80ca990: 3360 adds r3, #96 ; 0x60 80ca992: 4618 mov r0, r3 80ca994: f7fc ff7a bl 80c788c 80ca998: 4602 mov r2, r0 80ca99a: 6c3b ldr r3, [r7, #64] ; 0x40 80ca99c: 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; 80ca99e: 6c3b ldr r3, [r7, #64] ; 0x40 80ca9a0: 6adb ldr r3, [r3, #44] ; 0x2c 80ca9a2: 4619 mov r1, r3 80ca9a4: 6c38 ldr r0, [r7, #64] ; 0x40 80ca9a6: f7fd fa77 bl 80c7e98 80ca9aa: 4603 mov r3, r0 80ca9ac: 4619 mov r1, r3 80ca9ae: 6c38 ldr r0, [r7, #64] ; 0x40 80ca9b0: f7fd f9d7 bl 80c7d62 80ca9b4: 4603 mov r3, r0 80ca9b6: 2b00 cmp r3, #0 80ca9b8: d001 beq.n 80ca9be 80ca9ba: 2301 movs r3, #1 80ca9bc: e1a9 b.n 80cad12 for (i = 0; i < SS(fs); i += SZDIRE) { 80ca9be: 2300 movs r3, #0 80ca9c0: 64bb str r3, [r7, #72] ; 0x48 80ca9c2: e015 b.n 80ca9f0 if (fs->win[i] == 0x81 && ld_dword(fs->win + i + 20) == 2) break; /* 81 entry with cluster #2? */ 80ca9c4: 6c3a ldr r2, [r7, #64] ; 0x40 80ca9c6: 6cbb ldr r3, [r7, #72] ; 0x48 80ca9c8: 4413 add r3, r2 80ca9ca: 3338 adds r3, #56 ; 0x38 80ca9cc: 781b ldrb r3, [r3, #0] 80ca9ce: 2b81 cmp r3, #129 ; 0x81 80ca9d0: d10b bne.n 80ca9ea 80ca9d2: 6c3b ldr r3, [r7, #64] ; 0x40 80ca9d4: f103 0238 add.w r2, r3, #56 ; 0x38 80ca9d8: 6cbb ldr r3, [r7, #72] ; 0x48 80ca9da: 3314 adds r3, #20 80ca9dc: 4413 add r3, r2 80ca9de: 4618 mov r0, r3 80ca9e0: f7fc ff54 bl 80c788c 80ca9e4: 4603 mov r3, r0 80ca9e6: 2b02 cmp r3, #2 80ca9e8: d007 beq.n 80ca9fa for (i = 0; i < SS(fs); i += SZDIRE) { 80ca9ea: 6cbb ldr r3, [r7, #72] ; 0x48 80ca9ec: 3320 adds r3, #32 80ca9ee: 64bb str r3, [r7, #72] ; 0x48 80ca9f0: 6cbb ldr r3, [r7, #72] ; 0x48 80ca9f2: f5b3 7f00 cmp.w r3, #512 ; 0x200 80ca9f6: d3e5 bcc.n 80ca9c4 80ca9f8: e000 b.n 80ca9fc if (fs->win[i] == 0x81 && ld_dword(fs->win + i + 20) == 2) break; /* 81 entry with cluster #2? */ 80ca9fa: bf00 nop } if (i == SS(fs)) return FR_NO_FILESYSTEM; 80ca9fc: 6cbb ldr r3, [r7, #72] ; 0x48 80ca9fe: f5b3 7f00 cmp.w r3, #512 ; 0x200 80caa02: d101 bne.n 80caa08 80caa04: 230d movs r3, #13 80caa06: e184 b.n 80cad12 #if !_FS_READONLY fs->last_clst = fs->free_clst = 0xFFFFFFFF; /* Initialize cluster allocation information */ 80caa08: 6c3b ldr r3, [r7, #64] ; 0x40 80caa0a: f04f 32ff mov.w r2, #4294967295 80caa0e: 619a str r2, [r3, #24] 80caa10: 6c3b ldr r3, [r7, #64] ; 0x40 80caa12: 699a ldr r2, [r3, #24] 80caa14: 6c3b ldr r3, [r7, #64] ; 0x40 80caa16: 615a str r2, [r3, #20] #endif fmt = FS_EXFAT; /* FAT sub-type */ 80caa18: 2304 movs r3, #4 80caa1a: f887 305f strb.w r3, [r7, #95] ; 0x5f 80caa1e: e163 b.n 80cace8 } 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) */ 80caa20: 6c3b ldr r3, [r7, #64] ; 0x40 80caa22: 3338 adds r3, #56 ; 0x38 80caa24: 330b adds r3, #11 80caa26: 4618 mov r0, r3 80caa28: f7fc ff18 bl 80c785c 80caa2c: 4603 mov r3, r0 80caa2e: f5b3 7f00 cmp.w r3, #512 ; 0x200 80caa32: d001 beq.n 80caa38 80caa34: 230d movs r3, #13 80caa36: e16c b.n 80cad12 fasize = ld_word(fs->win + BPB_FATSz16); /* Number of sectors per FAT */ 80caa38: 6c3b ldr r3, [r7, #64] ; 0x40 80caa3a: 3338 adds r3, #56 ; 0x38 80caa3c: 3316 adds r3, #22 80caa3e: 4618 mov r0, r3 80caa40: f7fc ff0c bl 80c785c 80caa44: 4603 mov r3, r0 80caa46: 657b str r3, [r7, #84] ; 0x54 if (fasize == 0) fasize = ld_dword(fs->win + BPB_FATSz32); 80caa48: 6d7b ldr r3, [r7, #84] ; 0x54 80caa4a: 2b00 cmp r3, #0 80caa4c: d106 bne.n 80caa5c 80caa4e: 6c3b ldr r3, [r7, #64] ; 0x40 80caa50: 3338 adds r3, #56 ; 0x38 80caa52: 3324 adds r3, #36 ; 0x24 80caa54: 4618 mov r0, r3 80caa56: f7fc ff19 bl 80c788c 80caa5a: 6578 str r0, [r7, #84] ; 0x54 fs->fsize = fasize; 80caa5c: 6c3b ldr r3, [r7, #64] ; 0x40 80caa5e: 6d7a ldr r2, [r7, #84] ; 0x54 80caa60: 621a str r2, [r3, #32] fs->n_fats = fs->win[BPB_NumFATs]; /* Number of FATs */ 80caa62: 6c3b ldr r3, [r7, #64] ; 0x40 80caa64: f893 2048 ldrb.w r2, [r3, #72] ; 0x48 80caa68: 6c3b ldr r3, [r7, #64] ; 0x40 80caa6a: 709a strb r2, [r3, #2] if (fs->n_fats != 1 && fs->n_fats != 2) return FR_NO_FILESYSTEM; /* (Must be 1 or 2) */ 80caa6c: 6c3b ldr r3, [r7, #64] ; 0x40 80caa6e: 789b ldrb r3, [r3, #2] 80caa70: 2b01 cmp r3, #1 80caa72: d005 beq.n 80caa80 80caa74: 6c3b ldr r3, [r7, #64] ; 0x40 80caa76: 789b ldrb r3, [r3, #2] 80caa78: 2b02 cmp r3, #2 80caa7a: d001 beq.n 80caa80 80caa7c: 230d movs r3, #13 80caa7e: e148 b.n 80cad12 fasize *= fs->n_fats; /* Number of sectors for FAT area */ 80caa80: 6c3b ldr r3, [r7, #64] ; 0x40 80caa82: 789b ldrb r3, [r3, #2] 80caa84: 461a mov r2, r3 80caa86: 6d7b ldr r3, [r7, #84] ; 0x54 80caa88: fb02 f303 mul.w r3, r2, r3 80caa8c: 657b str r3, [r7, #84] ; 0x54 fs->csize = fs->win[BPB_SecPerClus]; /* Cluster size */ 80caa8e: 6c3b ldr r3, [r7, #64] ; 0x40 80caa90: f893 3045 ldrb.w r3, [r3, #69] ; 0x45 80caa94: b29a uxth r2, r3 80caa96: 6c3b ldr r3, [r7, #64] ; 0x40 80caa98: 815a strh r2, [r3, #10] if (fs->csize == 0 || (fs->csize & (fs->csize - 1))) return FR_NO_FILESYSTEM; /* (Must be power of 2) */ 80caa9a: 6c3b ldr r3, [r7, #64] ; 0x40 80caa9c: 895b ldrh r3, [r3, #10] 80caa9e: 2b00 cmp r3, #0 80caaa0: d008 beq.n 80caab4 80caaa2: 6c3b ldr r3, [r7, #64] ; 0x40 80caaa4: 895b ldrh r3, [r3, #10] 80caaa6: 461a mov r2, r3 80caaa8: 6c3b ldr r3, [r7, #64] ; 0x40 80caaaa: 895b ldrh r3, [r3, #10] 80caaac: 3b01 subs r3, #1 80caaae: 4013 ands r3, r2 80caab0: 2b00 cmp r3, #0 80caab2: d001 beq.n 80caab8 80caab4: 230d movs r3, #13 80caab6: e12c b.n 80cad12 fs->n_rootdir = ld_word(fs->win + BPB_RootEntCnt); /* Number of root directory entries */ 80caab8: 6c3b ldr r3, [r7, #64] ; 0x40 80caaba: 3338 adds r3, #56 ; 0x38 80caabc: 3311 adds r3, #17 80caabe: 4618 mov r0, r3 80caac0: f7fc fecc bl 80c785c 80caac4: 4603 mov r3, r0 80caac6: 461a mov r2, r3 80caac8: 6c3b ldr r3, [r7, #64] ; 0x40 80caaca: 811a strh r2, [r3, #8] if (fs->n_rootdir % (SS(fs) / SZDIRE)) return FR_NO_FILESYSTEM; /* (Must be sector aligned) */ 80caacc: 6c3b ldr r3, [r7, #64] ; 0x40 80caace: 891b ldrh r3, [r3, #8] 80caad0: f003 030f and.w r3, r3, #15 80caad4: b29b uxth r3, r3 80caad6: 2b00 cmp r3, #0 80caad8: d001 beq.n 80caade 80caada: 230d movs r3, #13 80caadc: e119 b.n 80cad12 tsect = ld_word(fs->win + BPB_TotSec16); /* Number of sectors on the volume */ 80caade: 6c3b ldr r3, [r7, #64] ; 0x40 80caae0: 3338 adds r3, #56 ; 0x38 80caae2: 3313 adds r3, #19 80caae4: 4618 mov r0, r3 80caae6: f7fc feb9 bl 80c785c 80caaea: 4603 mov r3, r0 80caaec: 653b str r3, [r7, #80] ; 0x50 if (tsect == 0) tsect = ld_dword(fs->win + BPB_TotSec32); 80caaee: 6d3b ldr r3, [r7, #80] ; 0x50 80caaf0: 2b00 cmp r3, #0 80caaf2: d106 bne.n 80cab02 80caaf4: 6c3b ldr r3, [r7, #64] ; 0x40 80caaf6: 3338 adds r3, #56 ; 0x38 80caaf8: 3320 adds r3, #32 80caafa: 4618 mov r0, r3 80caafc: f7fc fec6 bl 80c788c 80cab00: 6538 str r0, [r7, #80] ; 0x50 nrsv = ld_word(fs->win + BPB_RsvdSecCnt); /* Number of reserved sectors */ 80cab02: 6c3b ldr r3, [r7, #64] ; 0x40 80cab04: 3338 adds r3, #56 ; 0x38 80cab06: 330e adds r3, #14 80cab08: 4618 mov r0, r3 80cab0a: f7fc fea7 bl 80c785c 80cab0e: 4603 mov r3, r0 80cab10: 857b strh r3, [r7, #42] ; 0x2a if (nrsv == 0) return FR_NO_FILESYSTEM; /* (Must not be 0) */ 80cab12: 8d7b ldrh r3, [r7, #42] ; 0x2a 80cab14: 2b00 cmp r3, #0 80cab16: d101 bne.n 80cab1c 80cab18: 230d movs r3, #13 80cab1a: e0fa b.n 80cad12 /* Determine the FAT sub type */ sysect = nrsv + fasize + fs->n_rootdir / (SS(fs) / SZDIRE); /* RSV + FAT + DIR */ 80cab1c: 8d7a ldrh r2, [r7, #42] ; 0x2a 80cab1e: 6d7b ldr r3, [r7, #84] ; 0x54 80cab20: 4413 add r3, r2 80cab22: 6c3a ldr r2, [r7, #64] ; 0x40 80cab24: 8912 ldrh r2, [r2, #8] 80cab26: 0912 lsrs r2, r2, #4 80cab28: b292 uxth r2, r2 80cab2a: 4413 add r3, r2 80cab2c: 627b str r3, [r7, #36] ; 0x24 if (tsect < sysect) return FR_NO_FILESYSTEM; /* (Invalid volume size) */ 80cab2e: 6d3a ldr r2, [r7, #80] ; 0x50 80cab30: 6a7b ldr r3, [r7, #36] ; 0x24 80cab32: 429a cmp r2, r3 80cab34: d201 bcs.n 80cab3a 80cab36: 230d movs r3, #13 80cab38: e0eb b.n 80cad12 nclst = (tsect - sysect) / fs->csize; /* Number of clusters */ 80cab3a: 6d3a ldr r2, [r7, #80] ; 0x50 80cab3c: 6a7b ldr r3, [r7, #36] ; 0x24 80cab3e: 1ad3 subs r3, r2, r3 80cab40: 6c3a ldr r2, [r7, #64] ; 0x40 80cab42: 8952 ldrh r2, [r2, #10] 80cab44: fbb3 f3f2 udiv r3, r3, r2 80cab48: 62fb str r3, [r7, #44] ; 0x2c if (nclst == 0) return FR_NO_FILESYSTEM; /* (Invalid volume size) */ 80cab4a: 6afb ldr r3, [r7, #44] ; 0x2c 80cab4c: 2b00 cmp r3, #0 80cab4e: d101 bne.n 80cab54 80cab50: 230d movs r3, #13 80cab52: e0de b.n 80cad12 fmt = FS_FAT32; 80cab54: 2303 movs r3, #3 80cab56: f887 305f strb.w r3, [r7, #95] ; 0x5f if (nclst <= MAX_FAT16) fmt = FS_FAT16; 80cab5a: 6afb ldr r3, [r7, #44] ; 0x2c 80cab5c: f64f 72f5 movw r2, #65525 ; 0xfff5 80cab60: 4293 cmp r3, r2 80cab62: d802 bhi.n 80cab6a 80cab64: 2302 movs r3, #2 80cab66: f887 305f strb.w r3, [r7, #95] ; 0x5f if (nclst <= MAX_FAT12) fmt = FS_FAT12; 80cab6a: 6afb ldr r3, [r7, #44] ; 0x2c 80cab6c: f640 72f5 movw r2, #4085 ; 0xff5 80cab70: 4293 cmp r3, r2 80cab72: d802 bhi.n 80cab7a 80cab74: 2301 movs r3, #1 80cab76: f887 305f strb.w r3, [r7, #95] ; 0x5f /* Boundaries and Limits */ fs->n_fatent = nclst + 2; /* Number of FAT entries */ 80cab7a: 6afb ldr r3, [r7, #44] ; 0x2c 80cab7c: 1c9a adds r2, r3, #2 80cab7e: 6c3b ldr r3, [r7, #64] ; 0x40 80cab80: 61da str r2, [r3, #28] fs->volbase = bsect; /* Volume start sector */ 80cab82: 6c3b ldr r3, [r7, #64] ; 0x40 80cab84: 6dba ldr r2, [r7, #88] ; 0x58 80cab86: 625a str r2, [r3, #36] ; 0x24 fs->fatbase = bsect + nrsv; /* FAT start sector */ 80cab88: 8d7a ldrh r2, [r7, #42] ; 0x2a 80cab8a: 6dbb ldr r3, [r7, #88] ; 0x58 80cab8c: 441a add r2, r3 80cab8e: 6c3b ldr r3, [r7, #64] ; 0x40 80cab90: 629a str r2, [r3, #40] ; 0x28 fs->database = bsect + sysect; /* Data start sector */ 80cab92: 6dba ldr r2, [r7, #88] ; 0x58 80cab94: 6a7b ldr r3, [r7, #36] ; 0x24 80cab96: 441a add r2, r3 80cab98: 6c3b ldr r3, [r7, #64] ; 0x40 80cab9a: 631a str r2, [r3, #48] ; 0x30 if (fmt == FS_FAT32) { 80cab9c: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80caba0: 2b03 cmp r3, #3 80caba2: d11e bne.n 80cabe2 if (ld_word(fs->win + BPB_FSVer32) != 0) return FR_NO_FILESYSTEM; /* (Must be FAT32 revision 0.0) */ 80caba4: 6c3b ldr r3, [r7, #64] ; 0x40 80caba6: 3338 adds r3, #56 ; 0x38 80caba8: 332a adds r3, #42 ; 0x2a 80cabaa: 4618 mov r0, r3 80cabac: f7fc fe56 bl 80c785c 80cabb0: 4603 mov r3, r0 80cabb2: 2b00 cmp r3, #0 80cabb4: d001 beq.n 80cabba 80cabb6: 230d movs r3, #13 80cabb8: e0ab b.n 80cad12 if (fs->n_rootdir) return FR_NO_FILESYSTEM; /* (BPB_RootEntCnt must be 0) */ 80cabba: 6c3b ldr r3, [r7, #64] ; 0x40 80cabbc: 891b ldrh r3, [r3, #8] 80cabbe: 2b00 cmp r3, #0 80cabc0: d001 beq.n 80cabc6 80cabc2: 230d movs r3, #13 80cabc4: e0a5 b.n 80cad12 fs->dirbase = ld_dword(fs->win + BPB_RootClus32); /* Root directory start cluster */ 80cabc6: 6c3b ldr r3, [r7, #64] ; 0x40 80cabc8: 3338 adds r3, #56 ; 0x38 80cabca: 332c adds r3, #44 ; 0x2c 80cabcc: 4618 mov r0, r3 80cabce: f7fc fe5d bl 80c788c 80cabd2: 4602 mov r2, r0 80cabd4: 6c3b ldr r3, [r7, #64] ; 0x40 80cabd6: 62da str r2, [r3, #44] ; 0x2c szbfat = fs->n_fatent * 4; /* (Needed FAT size) */ 80cabd8: 6c3b ldr r3, [r7, #64] ; 0x40 80cabda: 69db ldr r3, [r3, #28] 80cabdc: 009b lsls r3, r3, #2 80cabde: 64fb str r3, [r7, #76] ; 0x4c 80cabe0: e01f b.n 80cac22 } else { if (fs->n_rootdir == 0) return FR_NO_FILESYSTEM;/* (BPB_RootEntCnt must not be 0) */ 80cabe2: 6c3b ldr r3, [r7, #64] ; 0x40 80cabe4: 891b ldrh r3, [r3, #8] 80cabe6: 2b00 cmp r3, #0 80cabe8: d101 bne.n 80cabee 80cabea: 230d movs r3, #13 80cabec: e091 b.n 80cad12 fs->dirbase = fs->fatbase + fasize; /* Root directory start sector */ 80cabee: 6c3b ldr r3, [r7, #64] ; 0x40 80cabf0: 6a9a ldr r2, [r3, #40] ; 0x28 80cabf2: 6d7b ldr r3, [r7, #84] ; 0x54 80cabf4: 441a add r2, r3 80cabf6: 6c3b ldr r3, [r7, #64] ; 0x40 80cabf8: 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); 80cabfa: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80cabfe: 2b02 cmp r3, #2 80cac00: d103 bne.n 80cac0a 80cac02: 6c3b ldr r3, [r7, #64] ; 0x40 80cac04: 69db ldr r3, [r3, #28] 80cac06: 005b lsls r3, r3, #1 80cac08: e00a b.n 80cac20 80cac0a: 6c3b ldr r3, [r7, #64] ; 0x40 80cac0c: 69da ldr r2, [r3, #28] 80cac0e: 4613 mov r3, r2 80cac10: 005b lsls r3, r3, #1 80cac12: 4413 add r3, r2 80cac14: 085a lsrs r2, r3, #1 80cac16: 6c3b ldr r3, [r7, #64] ; 0x40 80cac18: 69db ldr r3, [r3, #28] 80cac1a: f003 0301 and.w r3, r3, #1 80cac1e: 4413 add r3, r2 szbfat = (fmt == FS_FAT16) ? /* (Needed FAT size) */ 80cac20: 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) */ 80cac22: 6c3b ldr r3, [r7, #64] ; 0x40 80cac24: 6a1a ldr r2, [r3, #32] 80cac26: 6cfb ldr r3, [r7, #76] ; 0x4c 80cac28: f203 13ff addw r3, r3, #511 ; 0x1ff 80cac2c: 0a5b lsrs r3, r3, #9 80cac2e: 429a cmp r2, r3 80cac30: d201 bcs.n 80cac36 80cac32: 230d movs r3, #13 80cac34: e06d b.n 80cad12 #if !_FS_READONLY /* Get FSINFO if available */ fs->last_clst = fs->free_clst = 0xFFFFFFFF; /* Initialize cluster allocation information */ 80cac36: 6c3b ldr r3, [r7, #64] ; 0x40 80cac38: f04f 32ff mov.w r2, #4294967295 80cac3c: 619a str r2, [r3, #24] 80cac3e: 6c3b ldr r3, [r7, #64] ; 0x40 80cac40: 699a ldr r2, [r3, #24] 80cac42: 6c3b ldr r3, [r7, #64] ; 0x40 80cac44: 615a str r2, [r3, #20] fs->fsi_flag = 0x80; 80cac46: 6c3b ldr r3, [r7, #64] ; 0x40 80cac48: 2280 movs r2, #128 ; 0x80 80cac4a: 711a strb r2, [r3, #4] #if (_FS_NOFSINFO & 3) != 3 if (fmt == FS_FAT32 /* Enable FSINFO only if FAT32 and BPB_FSInfo32 == 1 */ 80cac4c: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80cac50: 2b03 cmp r3, #3 80cac52: d149 bne.n 80cace8 && ld_word(fs->win + BPB_FSInfo32) == 1 80cac54: 6c3b ldr r3, [r7, #64] ; 0x40 80cac56: 3338 adds r3, #56 ; 0x38 80cac58: 3330 adds r3, #48 ; 0x30 80cac5a: 4618 mov r0, r3 80cac5c: f7fc fdfe bl 80c785c 80cac60: 4603 mov r3, r0 80cac62: 2b01 cmp r3, #1 80cac64: d140 bne.n 80cace8 && move_window(fs, bsect + 1) == FR_OK) 80cac66: 6dbb ldr r3, [r7, #88] ; 0x58 80cac68: 3301 adds r3, #1 80cac6a: 4619 mov r1, r3 80cac6c: 6c38 ldr r0, [r7, #64] ; 0x40 80cac6e: f7fd f878 bl 80c7d62 80cac72: 4603 mov r3, r0 80cac74: 2b00 cmp r3, #0 80cac76: d137 bne.n 80cace8 { fs->fsi_flag = 0; 80cac78: 6c3b ldr r3, [r7, #64] ; 0x40 80cac7a: 2200 movs r2, #0 80cac7c: 711a strb r2, [r3, #4] if (ld_word(fs->win + BS_55AA) == 0xAA55 /* Load FSINFO data if available */ 80cac7e: 6c3b ldr r3, [r7, #64] ; 0x40 80cac80: 3338 adds r3, #56 ; 0x38 80cac82: f503 73ff add.w r3, r3, #510 ; 0x1fe 80cac86: 4618 mov r0, r3 80cac88: f7fc fde8 bl 80c785c 80cac8c: 4603 mov r3, r0 80cac8e: 461a mov r2, r3 80cac90: f64a 2355 movw r3, #43605 ; 0xaa55 80cac94: 429a cmp r2, r3 80cac96: d127 bne.n 80cace8 && ld_dword(fs->win + FSI_LeadSig) == 0x41615252 80cac98: 6c3b ldr r3, [r7, #64] ; 0x40 80cac9a: 3338 adds r3, #56 ; 0x38 80cac9c: 4618 mov r0, r3 80cac9e: f7fc fdf5 bl 80c788c 80caca2: 4602 mov r2, r0 80caca4: 4b1d ldr r3, [pc, #116] ; (80cad1c ) 80caca6: 429a cmp r2, r3 80caca8: d11e bne.n 80cace8 && ld_dword(fs->win + FSI_StrucSig) == 0x61417272) 80cacaa: 6c3b ldr r3, [r7, #64] ; 0x40 80cacac: 3338 adds r3, #56 ; 0x38 80cacae: f503 73f2 add.w r3, r3, #484 ; 0x1e4 80cacb2: 4618 mov r0, r3 80cacb4: f7fc fdea bl 80c788c 80cacb8: 4602 mov r2, r0 80cacba: 4b19 ldr r3, [pc, #100] ; (80cad20 ) 80cacbc: 429a cmp r2, r3 80cacbe: d113 bne.n 80cace8 { #if (_FS_NOFSINFO & 1) == 0 fs->free_clst = ld_dword(fs->win + FSI_Free_Count); 80cacc0: 6c3b ldr r3, [r7, #64] ; 0x40 80cacc2: 3338 adds r3, #56 ; 0x38 80cacc4: f503 73f4 add.w r3, r3, #488 ; 0x1e8 80cacc8: 4618 mov r0, r3 80cacca: f7fc fddf bl 80c788c 80cacce: 4602 mov r2, r0 80cacd0: 6c3b ldr r3, [r7, #64] ; 0x40 80cacd2: 619a str r2, [r3, #24] #endif #if (_FS_NOFSINFO & 2) == 0 fs->last_clst = ld_dword(fs->win + FSI_Nxt_Free); 80cacd4: 6c3b ldr r3, [r7, #64] ; 0x40 80cacd6: 3338 adds r3, #56 ; 0x38 80cacd8: f503 73f6 add.w r3, r3, #492 ; 0x1ec 80cacdc: 4618 mov r0, r3 80cacde: f7fc fdd5 bl 80c788c 80cace2: 4602 mov r2, r0 80cace4: 6c3b ldr r3, [r7, #64] ; 0x40 80cace6: 615a str r2, [r3, #20] } #endif /* (_FS_NOFSINFO & 3) != 3 */ #endif /* !_FS_READONLY */ } fs->fs_type = fmt; /* FAT sub-type */ 80cace8: 6c3b ldr r3, [r7, #64] ; 0x40 80cacea: f897 205f ldrb.w r2, [r7, #95] ; 0x5f 80cacee: 701a strb r2, [r3, #0] fs->id = ++Fsid; /* File system mount ID */ 80cacf0: 4b0c ldr r3, [pc, #48] ; (80cad24 ) 80cacf2: 881b ldrh r3, [r3, #0] 80cacf4: 3301 adds r3, #1 80cacf6: b29a uxth r2, r3 80cacf8: 4b0a ldr r3, [pc, #40] ; (80cad24 ) 80cacfa: 801a strh r2, [r3, #0] 80cacfc: 4b09 ldr r3, [pc, #36] ; (80cad24 ) 80cacfe: 881a ldrh r2, [r3, #0] 80cad00: 6c3b ldr r3, [r7, #64] ; 0x40 80cad02: 80da strh r2, [r3, #6] #if _USE_LFN == 1 fs->lfnbuf = LfnBuf; /* Static LFN working buffer */ 80cad04: 6c3b ldr r3, [r7, #64] ; 0x40 80cad06: 4a08 ldr r2, [pc, #32] ; (80cad28 ) 80cad08: 60da str r2, [r3, #12] #if _FS_EXFAT fs->dirbuf = DirBuf; /* Static directory block scratchpad buuffer */ 80cad0a: 6c3b ldr r3, [r7, #64] ; 0x40 80cad0c: 4a07 ldr r2, [pc, #28] ; (80cad2c ) 80cad0e: 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; 80cad10: 2300 movs r3, #0 } 80cad12: 4618 mov r0, r3 80cad14: 3764 adds r7, #100 ; 0x64 80cad16: 46bd mov sp, r7 80cad18: bd90 pop {r4, r7, pc} 80cad1a: bf00 nop 80cad1c: 41615252 .word 0x41615252 80cad20: 61417272 .word 0x61417272 80cad24: 20021700 .word 0x20021700 80cad28: 20021964 .word 0x20021964 80cad2c: 20021704 .word 0x20021704 080cad30 : 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 */ ) { 80cad30: b580 push {r7, lr} 80cad32: b084 sub sp, #16 80cad34: af00 add r7, sp, #0 80cad36: 6078 str r0, [r7, #4] 80cad38: 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)) { 80cad3a: 687b ldr r3, [r7, #4] 80cad3c: 2b00 cmp r3, #0 80cad3e: d01a beq.n 80cad76 80cad40: 687b ldr r3, [r7, #4] 80cad42: 681b ldr r3, [r3, #0] 80cad44: 2b00 cmp r3, #0 80cad46: d016 beq.n 80cad76 80cad48: 687b ldr r3, [r7, #4] 80cad4a: 681b ldr r3, [r3, #0] 80cad4c: 781b ldrb r3, [r3, #0] 80cad4e: 2b00 cmp r3, #0 80cad50: d011 beq.n 80cad76 80cad52: 687b ldr r3, [r7, #4] 80cad54: 681b ldr r3, [r3, #0] 80cad56: 88da ldrh r2, [r3, #6] 80cad58: 687b ldr r3, [r7, #4] 80cad5a: 889b ldrh r3, [r3, #4] 80cad5c: 429a cmp r2, r3 80cad5e: d10a bne.n 80cad76 80cad60: 687b ldr r3, [r7, #4] 80cad62: 681b ldr r3, [r3, #0] 80cad64: 785b ldrb r3, [r3, #1] 80cad66: 4618 mov r0, r3 80cad68: f7fc fcda bl 80c7720 80cad6c: 4603 mov r3, r0 80cad6e: f003 0301 and.w r3, r3, #1 80cad72: 2b00 cmp r3, #0 80cad74: d005 beq.n 80cad82 *fs = 0; 80cad76: 683b ldr r3, [r7, #0] 80cad78: 2200 movs r2, #0 80cad7a: 601a str r2, [r3, #0] res = FR_INVALID_OBJECT; /* The object is invalid */ 80cad7c: 2309 movs r3, #9 80cad7e: 73fb strb r3, [r7, #15] 80cad80: e005 b.n 80cad8e } else { *fs = obj->fs; /* Owner file sytem object */ 80cad82: 687b ldr r3, [r7, #4] 80cad84: 681a ldr r2, [r3, #0] 80cad86: 683b ldr r3, [r7, #0] 80cad88: 601a str r2, [r3, #0] ENTER_FF(obj->fs); /* Lock file system */ res = FR_OK; /* Valid object */ 80cad8a: 2300 movs r3, #0 80cad8c: 73fb strb r3, [r7, #15] } return res; 80cad8e: 7bfb ldrb r3, [r7, #15] } 80cad90: 4618 mov r0, r3 80cad92: 3710 adds r7, #16 80cad94: 46bd mov sp, r7 80cad96: bd80 pop {r7, pc} 080cad98 : 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 */ ) { 80cad98: b580 push {r7, lr} 80cad9a: b088 sub sp, #32 80cad9c: af00 add r7, sp, #0 80cad9e: 60f8 str r0, [r7, #12] 80cada0: 60b9 str r1, [r7, #8] 80cada2: 4613 mov r3, r2 80cada4: 71fb strb r3, [r7, #7] FATFS *cfs; int vol; FRESULT res; const TCHAR *rp = path; 80cada6: 68bb ldr r3, [r7, #8] 80cada8: 613b str r3, [r7, #16] /* Get logical drive number */ vol = get_ldnumber(&rp); 80cadaa: f107 0310 add.w r3, r7, #16 80cadae: 4618 mov r0, r3 80cadb0: f7ff fbcc bl 80ca54c 80cadb4: 61f8 str r0, [r7, #28] if (vol < 0) return FR_INVALID_DRIVE; 80cadb6: 69fb ldr r3, [r7, #28] 80cadb8: 2b00 cmp r3, #0 80cadba: da01 bge.n 80cadc0 80cadbc: 230b movs r3, #11 80cadbe: e028 b.n 80cae12 cfs = FatFs[vol]; /* Pointer to fs object */ 80cadc0: 4a16 ldr r2, [pc, #88] ; (80cae1c ) 80cadc2: 69fb ldr r3, [r7, #28] 80cadc4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80cadc8: 61bb str r3, [r7, #24] if (cfs) { 80cadca: 69bb ldr r3, [r7, #24] 80cadcc: 2b00 cmp r3, #0 80cadce: d002 beq.n 80cadd6 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 */ 80cadd0: 69bb ldr r3, [r7, #24] 80cadd2: 2200 movs r2, #0 80cadd4: 701a strb r2, [r3, #0] } if (fs) { 80cadd6: 68fb ldr r3, [r7, #12] 80cadd8: 2b00 cmp r3, #0 80cadda: d002 beq.n 80cade2 fs->fs_type = 0; /* Clear new fs object */ 80caddc: 68fb ldr r3, [r7, #12] 80cadde: 2200 movs r2, #0 80cade0: 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 */ 80cade2: 68fa ldr r2, [r7, #12] 80cade4: 490d ldr r1, [pc, #52] ; (80cae1c ) 80cade6: 69fb ldr r3, [r7, #28] 80cade8: 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 */ 80cadec: 68fb ldr r3, [r7, #12] 80cadee: 2b00 cmp r3, #0 80cadf0: d002 beq.n 80cadf8 80cadf2: 79fb ldrb r3, [r7, #7] 80cadf4: 2b01 cmp r3, #1 80cadf6: d001 beq.n 80cadfc 80cadf8: 2300 movs r3, #0 80cadfa: e00a b.n 80cae12 res = find_volume(&path, &fs, 0); /* Force mounted the volume */ 80cadfc: f107 010c add.w r1, r7, #12 80cae00: f107 0308 add.w r3, r7, #8 80cae04: 2200 movs r2, #0 80cae06: 4618 mov r0, r3 80cae08: f7ff fc48 bl 80ca69c 80cae0c: 4603 mov r3, r0 80cae0e: 75fb strb r3, [r7, #23] LEAVE_FF(fs, res); 80cae10: 7dfb ldrb r3, [r7, #23] } 80cae12: 4618 mov r0, r3 80cae14: 3720 adds r7, #32 80cae16: 46bd mov sp, r7 80cae18: bd80 pop {r7, pc} 80cae1a: bf00 nop 80cae1c: 200216fc .word 0x200216fc 080cae20 : 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 */ ) { 80cae20: b5b0 push {r4, r5, r7, lr} 80cae22: b0a2 sub sp, #136 ; 0x88 80cae24: af00 add r7, sp, #0 80cae26: 60f8 str r0, [r7, #12] 80cae28: 60b9 str r1, [r7, #8] 80cae2a: 4613 mov r3, r2 80cae2c: 71fb strb r3, [r7, #7] FSIZE_t ofs; #endif DEF_NAMBUF if (!fp) return FR_INVALID_OBJECT; 80cae2e: 68fb ldr r3, [r7, #12] 80cae30: 2b00 cmp r3, #0 80cae32: d101 bne.n 80cae38 80cae34: 2309 movs r3, #9 80cae36: e24c b.n 80cb2d2 /* 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; 80cae38: 79fb ldrb r3, [r7, #7] 80cae3a: f003 033f and.w r3, r3, #63 ; 0x3f 80cae3e: 71fb strb r3, [r7, #7] res = find_volume(&path, &fs, mode); 80cae40: 79fa ldrb r2, [r7, #7] 80cae42: f107 0114 add.w r1, r7, #20 80cae46: f107 0308 add.w r3, r7, #8 80cae4a: 4618 mov r0, r3 80cae4c: f7ff fc26 bl 80ca69c 80cae50: 4603 mov r3, r0 80cae52: f887 3087 strb.w r3, [r7, #135] ; 0x87 if (res == FR_OK) { 80cae56: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80cae5a: 2b00 cmp r3, #0 80cae5c: f040 8230 bne.w 80cb2c0 dj.obj.fs = fs; 80cae60: 697b ldr r3, [r7, #20] 80cae62: 61bb str r3, [r7, #24] INIT_NAMBUF(fs); res = follow_path(&dj, path); /* Follow the file path */ 80cae64: 68ba ldr r2, [r7, #8] 80cae66: f107 0318 add.w r3, r7, #24 80cae6a: 4611 mov r1, r2 80cae6c: 4618 mov r0, r3 80cae6e: f7ff fac5 bl 80ca3fc 80cae72: 4603 mov r3, r0 80cae74: f887 3087 strb.w r3, [r7, #135] ; 0x87 #if !_FS_READONLY /* R/W configuration */ if (res == FR_OK) { 80cae78: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80cae7c: 2b00 cmp r3, #0 80cae7e: d107 bne.n 80cae90 if (dj.fn[NSFLAG] & NS_NONAME) { /* Origin directory itself? */ 80cae80: f897 3063 ldrb.w r3, [r7, #99] ; 0x63 80cae84: b25b sxtb r3, r3 80cae86: 2b00 cmp r3, #0 80cae88: da02 bge.n 80cae90 res = FR_INVALID_NAME; 80cae8a: 2306 movs r3, #6 80cae8c: 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)) { 80cae90: 79fb ldrb r3, [r7, #7] 80cae92: f003 031c and.w r3, r3, #28 80cae96: 2b00 cmp r3, #0 80cae98: f000 8102 beq.w 80cb0a0 if (res != FR_OK) { /* No file, create new */ 80cae9c: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80caea0: 2b00 cmp r3, #0 80caea2: d010 beq.n 80caec6 if (res == FR_NO_FILE) { /* There is no file to open, create a new entry */ 80caea4: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80caea8: 2b04 cmp r3, #4 80caeaa: d107 bne.n 80caebc #if _FS_LOCK != 0 res = enq_lock() ? dir_register(&dj) : FR_TOO_MANY_OPEN_FILES; #else res = dir_register(&dj); 80caeac: f107 0318 add.w r3, r7, #24 80caeb0: 4618 mov r0, r3 80caeb2: f7fe fe01 bl 80c9ab8 80caeb6: 4603 mov r3, r0 80caeb8: f887 3087 strb.w r3, [r7, #135] ; 0x87 #endif } mode |= FA_CREATE_ALWAYS; /* File is created */ 80caebc: 79fb ldrb r3, [r7, #7] 80caebe: f043 0308 orr.w r3, r3, #8 80caec2: 71fb strb r3, [r7, #7] 80caec4: e010 b.n 80caee8 } else { /* Any object is already existing */ if (dj.obj.attr & (AM_RDO | AM_DIR)) { /* Cannot overwrite it (R/O or DIR) */ 80caec6: 7fbb ldrb r3, [r7, #30] 80caec8: f003 0311 and.w r3, r3, #17 80caecc: 2b00 cmp r3, #0 80caece: d003 beq.n 80caed8 res = FR_DENIED; 80caed0: 2307 movs r3, #7 80caed2: f887 3087 strb.w r3, [r7, #135] ; 0x87 80caed6: e007 b.n 80caee8 } else { if (mode & FA_CREATE_NEW) res = FR_EXIST; /* Cannot create as new file */ 80caed8: 79fb ldrb r3, [r7, #7] 80caeda: f003 0304 and.w r3, r3, #4 80caede: 2b00 cmp r3, #0 80caee0: d002 beq.n 80caee8 80caee2: 2308 movs r3, #8 80caee4: f887 3087 strb.w r3, [r7, #135] ; 0x87 } } if (res == FR_OK && (mode & FA_CREATE_ALWAYS)) { /* Truncate it if overwrite mode */ 80caee8: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80caeec: 2b00 cmp r3, #0 80caeee: f040 80f1 bne.w 80cb0d4 80caef2: 79fb ldrb r3, [r7, #7] 80caef4: f003 0308 and.w r3, r3, #8 80caef8: 2b00 cmp r3, #0 80caefa: f000 80eb beq.w 80cb0d4 dw = GET_FATTIME(); 80caefe: f7f9 fb9d bl 80c463c 80caf02: 6778 str r0, [r7, #116] ; 0x74 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80caf04: 697b ldr r3, [r7, #20] 80caf06: 781b ldrb r3, [r3, #0] 80caf08: 2b04 cmp r3, #4 80caf0a: f040 8082 bne.w 80cb012 /* Get current allocation info */ fp->obj.fs = fs; 80caf0e: 697a ldr r2, [r7, #20] 80caf10: 68fb ldr r3, [r7, #12] 80caf12: 601a str r2, [r3, #0] fp->obj.sclust = ld_dword(fs->dirbuf + XDIR_FstClus); 80caf14: 697b ldr r3, [r7, #20] 80caf16: 691b ldr r3, [r3, #16] 80caf18: 3334 adds r3, #52 ; 0x34 80caf1a: 4618 mov r0, r3 80caf1c: f7fc fcb6 bl 80c788c 80caf20: 4602 mov r2, r0 80caf22: 68fb ldr r3, [r7, #12] 80caf24: 609a str r2, [r3, #8] fp->obj.objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80caf26: 697b ldr r3, [r7, #20] 80caf28: 691b ldr r3, [r3, #16] 80caf2a: 3338 adds r3, #56 ; 0x38 80caf2c: 4618 mov r0, r3 80caf2e: f7fc fcd0 bl 80c78d2 80caf32: 4602 mov r2, r0 80caf34: 460b mov r3, r1 80caf36: 68f9 ldr r1, [r7, #12] 80caf38: e9c1 2304 strd r2, r3, [r1, #16] fp->obj.stat = fs->dirbuf[XDIR_GenFlags] & 2; 80caf3c: 697b ldr r3, [r7, #20] 80caf3e: 691b ldr r3, [r3, #16] 80caf40: 3321 adds r3, #33 ; 0x21 80caf42: 781b ldrb r3, [r3, #0] 80caf44: f003 0302 and.w r3, r3, #2 80caf48: b2da uxtb r2, r3 80caf4a: 68fb ldr r3, [r7, #12] 80caf4c: 71da strb r2, [r3, #7] fp->obj.n_frag = 0; 80caf4e: 68fb ldr r3, [r7, #12] 80caf50: 2200 movs r2, #0 80caf52: 61da str r2, [r3, #28] /* Initialize directory entry block */ st_dword(fs->dirbuf + XDIR_CrtTime, dw); /* Set created time */ 80caf54: 697b ldr r3, [r7, #20] 80caf56: 691b ldr r3, [r3, #16] 80caf58: 3308 adds r3, #8 80caf5a: 6f79 ldr r1, [r7, #116] ; 0x74 80caf5c: 4618 mov r0, r3 80caf5e: f7fc fd82 bl 80c7a66 fs->dirbuf[XDIR_CrtTime10] = 0; 80caf62: 697b ldr r3, [r7, #20] 80caf64: 691b ldr r3, [r3, #16] 80caf66: 3314 adds r3, #20 80caf68: 2200 movs r2, #0 80caf6a: 701a strb r2, [r3, #0] st_dword(fs->dirbuf + XDIR_ModTime, dw); /* Set modified time */ 80caf6c: 697b ldr r3, [r7, #20] 80caf6e: 691b ldr r3, [r3, #16] 80caf70: 330c adds r3, #12 80caf72: 6f79 ldr r1, [r7, #116] ; 0x74 80caf74: 4618 mov r0, r3 80caf76: f7fc fd76 bl 80c7a66 fs->dirbuf[XDIR_ModTime10] = 0; 80caf7a: 697b ldr r3, [r7, #20] 80caf7c: 691b ldr r3, [r3, #16] 80caf7e: 3315 adds r3, #21 80caf80: 2200 movs r2, #0 80caf82: 701a strb r2, [r3, #0] fs->dirbuf[XDIR_Attr] = AM_ARC; /* Reset attribute */ 80caf84: 697b ldr r3, [r7, #20] 80caf86: 691b ldr r3, [r3, #16] 80caf88: 3304 adds r3, #4 80caf8a: 2220 movs r2, #32 80caf8c: 701a strb r2, [r3, #0] st_dword(fs->dirbuf + XDIR_FstClus, 0); /* Reset file allocation info */ 80caf8e: 697b ldr r3, [r7, #20] 80caf90: 691b ldr r3, [r3, #16] 80caf92: 3334 adds r3, #52 ; 0x34 80caf94: 2100 movs r1, #0 80caf96: 4618 mov r0, r3 80caf98: f7fc fd65 bl 80c7a66 st_qword(fs->dirbuf + XDIR_FileSize, 0); 80caf9c: 697b ldr r3, [r7, #20] 80caf9e: 691b ldr r3, [r3, #16] 80cafa0: f103 0138 add.w r1, r3, #56 ; 0x38 80cafa4: f04f 0200 mov.w r2, #0 80cafa8: f04f 0300 mov.w r3, #0 80cafac: 4608 mov r0, r1 80cafae: f7fc fd86 bl 80c7abe st_qword(fs->dirbuf + XDIR_ValidFileSize, 0); 80cafb2: 697b ldr r3, [r7, #20] 80cafb4: 691b ldr r3, [r3, #16] 80cafb6: f103 0128 add.w r1, r3, #40 ; 0x28 80cafba: f04f 0200 mov.w r2, #0 80cafbe: f04f 0300 mov.w r3, #0 80cafc2: 4608 mov r0, r1 80cafc4: f7fc fd7b bl 80c7abe fs->dirbuf[XDIR_GenFlags] = 1; 80cafc8: 697b ldr r3, [r7, #20] 80cafca: 691b ldr r3, [r3, #16] 80cafcc: 3321 adds r3, #33 ; 0x21 80cafce: 2201 movs r2, #1 80cafd0: 701a strb r2, [r3, #0] res = store_xdir(&dj); 80cafd2: f107 0318 add.w r3, r7, #24 80cafd6: 4618 mov r0, r3 80cafd8: f7fe fab4 bl 80c9544 80cafdc: 4603 mov r3, r0 80cafde: f887 3087 strb.w r3, [r7, #135] ; 0x87 if (res == FR_OK && fp->obj.sclust) { /* Remove the cluster chain if exist */ 80cafe2: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80cafe6: 2b00 cmp r3, #0 80cafe8: d174 bne.n 80cb0d4 80cafea: 68fb ldr r3, [r7, #12] 80cafec: 689b ldr r3, [r3, #8] 80cafee: 2b00 cmp r3, #0 80caff0: d070 beq.n 80cb0d4 res = remove_chain(&fp->obj, fp->obj.sclust, 0); 80caff2: 68f8 ldr r0, [r7, #12] 80caff4: 68fb ldr r3, [r7, #12] 80caff6: 689b ldr r3, [r3, #8] 80caff8: 2200 movs r2, #0 80caffa: 4619 mov r1, r3 80caffc: f7fd fabe bl 80c857c 80cb000: 4603 mov r3, r0 80cb002: f887 3087 strb.w r3, [r7, #135] ; 0x87 fs->last_clst = fp->obj.sclust - 1; /* Reuse the cluster hole */ 80cb006: 697b ldr r3, [r7, #20] 80cb008: 68fa ldr r2, [r7, #12] 80cb00a: 6892 ldr r2, [r2, #8] 80cb00c: 3a01 subs r2, #1 80cb00e: 615a str r2, [r3, #20] 80cb010: e060 b.n 80cb0d4 } } else #endif { /* Clean directory info */ st_dword(dj.dir + DIR_CrtTime, dw); /* Set created time */ 80cb012: 6d7b ldr r3, [r7, #84] ; 0x54 80cb014: 330e adds r3, #14 80cb016: 6f79 ldr r1, [r7, #116] ; 0x74 80cb018: 4618 mov r0, r3 80cb01a: f7fc fd24 bl 80c7a66 st_dword(dj.dir + DIR_ModTime, dw); /* Set modified time */ 80cb01e: 6d7b ldr r3, [r7, #84] ; 0x54 80cb020: 3316 adds r3, #22 80cb022: 6f79 ldr r1, [r7, #116] ; 0x74 80cb024: 4618 mov r0, r3 80cb026: f7fc fd1e bl 80c7a66 dj.dir[DIR_Attr] = AM_ARC; /* Reset attribute */ 80cb02a: 6d7b ldr r3, [r7, #84] ; 0x54 80cb02c: 330b adds r3, #11 80cb02e: 2220 movs r2, #32 80cb030: 701a strb r2, [r3, #0] cl = ld_clust(fs, dj.dir); /* Get cluster chain */ 80cb032: 697b ldr r3, [r7, #20] 80cb034: 6d7a ldr r2, [r7, #84] ; 0x54 80cb036: 4611 mov r1, r2 80cb038: 4618 mov r0, r3 80cb03a: f7fd fe49 bl 80c8cd0 80cb03e: 6738 str r0, [r7, #112] ; 0x70 st_clust(fs, dj.dir, 0); /* Reset file allocation info */ 80cb040: 697b ldr r3, [r7, #20] 80cb042: 6d79 ldr r1, [r7, #84] ; 0x54 80cb044: 2200 movs r2, #0 80cb046: 4618 mov r0, r3 80cb048: f7fd fe61 bl 80c8d0e st_dword(dj.dir + DIR_FileSize, 0); 80cb04c: 6d7b ldr r3, [r7, #84] ; 0x54 80cb04e: 331c adds r3, #28 80cb050: 2100 movs r1, #0 80cb052: 4618 mov r0, r3 80cb054: f7fc fd07 bl 80c7a66 fs->wflag = 1; 80cb058: 697b ldr r3, [r7, #20] 80cb05a: 2201 movs r2, #1 80cb05c: 70da strb r2, [r3, #3] if (cl) { /* Remove the cluster chain if exist */ 80cb05e: 6f3b ldr r3, [r7, #112] ; 0x70 80cb060: 2b00 cmp r3, #0 80cb062: d037 beq.n 80cb0d4 dw = fs->winsect; 80cb064: 697b ldr r3, [r7, #20] 80cb066: 6b5b ldr r3, [r3, #52] ; 0x34 80cb068: 677b str r3, [r7, #116] ; 0x74 res = remove_chain(&dj.obj, cl, 0); 80cb06a: f107 0318 add.w r3, r7, #24 80cb06e: 2200 movs r2, #0 80cb070: 6f39 ldr r1, [r7, #112] ; 0x70 80cb072: 4618 mov r0, r3 80cb074: f7fd fa82 bl 80c857c 80cb078: 4603 mov r3, r0 80cb07a: f887 3087 strb.w r3, [r7, #135] ; 0x87 if (res == FR_OK) { 80cb07e: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80cb082: 2b00 cmp r3, #0 80cb084: d126 bne.n 80cb0d4 res = move_window(fs, dw); 80cb086: 697b ldr r3, [r7, #20] 80cb088: 6f79 ldr r1, [r7, #116] ; 0x74 80cb08a: 4618 mov r0, r3 80cb08c: f7fc fe69 bl 80c7d62 80cb090: 4603 mov r3, r0 80cb092: f887 3087 strb.w r3, [r7, #135] ; 0x87 fs->last_clst = cl - 1; /* Reuse the cluster hole */ 80cb096: 697b ldr r3, [r7, #20] 80cb098: 6f3a ldr r2, [r7, #112] ; 0x70 80cb09a: 3a01 subs r2, #1 80cb09c: 615a str r2, [r3, #20] 80cb09e: e019 b.n 80cb0d4 } } } } else { /* Open an existing file */ if (res == FR_OK) { /* Following succeeded */ 80cb0a0: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80cb0a4: 2b00 cmp r3, #0 80cb0a6: d115 bne.n 80cb0d4 if (dj.obj.attr & AM_DIR) { /* It is a directory */ 80cb0a8: 7fbb ldrb r3, [r7, #30] 80cb0aa: f003 0310 and.w r3, r3, #16 80cb0ae: 2b00 cmp r3, #0 80cb0b0: d003 beq.n 80cb0ba res = FR_NO_FILE; 80cb0b2: 2304 movs r3, #4 80cb0b4: f887 3087 strb.w r3, [r7, #135] ; 0x87 80cb0b8: e00c b.n 80cb0d4 } else { if ((mode & FA_WRITE) && (dj.obj.attr & AM_RDO)) { /* R/O violation */ 80cb0ba: 79fb ldrb r3, [r7, #7] 80cb0bc: f003 0302 and.w r3, r3, #2 80cb0c0: 2b00 cmp r3, #0 80cb0c2: d007 beq.n 80cb0d4 80cb0c4: 7fbb ldrb r3, [r7, #30] 80cb0c6: f003 0301 and.w r3, r3, #1 80cb0ca: 2b00 cmp r3, #0 80cb0cc: d002 beq.n 80cb0d4 res = FR_DENIED; 80cb0ce: 2307 movs r3, #7 80cb0d0: f887 3087 strb.w r3, [r7, #135] ; 0x87 } } } } if (res == FR_OK) { 80cb0d4: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80cb0d8: 2b00 cmp r3, #0 80cb0da: d10f bne.n 80cb0fc if (mode & FA_CREATE_ALWAYS) /* Set file change flag if created or overwritten */ 80cb0dc: 79fb ldrb r3, [r7, #7] 80cb0de: f003 0308 and.w r3, r3, #8 80cb0e2: 2b00 cmp r3, #0 80cb0e4: d003 beq.n 80cb0ee mode |= FA_MODIFIED; 80cb0e6: 79fb ldrb r3, [r7, #7] 80cb0e8: f043 0340 orr.w r3, r3, #64 ; 0x40 80cb0ec: 71fb strb r3, [r7, #7] fp->dir_sect = fs->winsect; /* Pointer to the directory entry */ 80cb0ee: 697b ldr r3, [r7, #20] 80cb0f0: 6b5a ldr r2, [r3, #52] ; 0x34 80cb0f2: 68fb ldr r3, [r7, #12] 80cb0f4: 649a str r2, [r3, #72] ; 0x48 fp->dir_ptr = dj.dir; 80cb0f6: 6d7a ldr r2, [r7, #84] ; 0x54 80cb0f8: 68fb ldr r3, [r7, #12] 80cb0fa: 64da str r2, [r3, #76] ; 0x4c } } } #endif if (res == FR_OK) { 80cb0fc: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80cb100: 2b00 cmp r3, #0 80cb102: f040 80dd bne.w 80cb2c0 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80cb106: 697b ldr r3, [r7, #20] 80cb108: 781b ldrb r3, [r3, #0] 80cb10a: 2b04 cmp r3, #4 80cb10c: d12c bne.n 80cb168 fp->obj.c_scl = dj.obj.sclust; /* Get containing directory info */ 80cb10e: 6a3a ldr r2, [r7, #32] 80cb110: 68fb ldr r3, [r7, #12] 80cb112: 621a str r2, [r3, #32] fp->obj.c_size = ((DWORD)dj.obj.objsize & 0xFFFFFF00) | dj.obj.stat; 80cb114: e9d7 230a ldrd r2, r3, [r7, #40] ; 0x28 80cb118: 4613 mov r3, r2 80cb11a: f023 03ff bic.w r3, r3, #255 ; 0xff 80cb11e: 7ffa ldrb r2, [r7, #31] 80cb120: 431a orrs r2, r3 80cb122: 68fb ldr r3, [r7, #12] 80cb124: 625a str r2, [r3, #36] ; 0x24 fp->obj.c_ofs = dj.blk_ofs; 80cb126: 6e7a ldr r2, [r7, #100] ; 0x64 80cb128: 68fb ldr r3, [r7, #12] 80cb12a: 629a str r2, [r3, #40] ; 0x28 fp->obj.sclust = ld_dword(fs->dirbuf + XDIR_FstClus); /* Get object allocation info */ 80cb12c: 697b ldr r3, [r7, #20] 80cb12e: 691b ldr r3, [r3, #16] 80cb130: 3334 adds r3, #52 ; 0x34 80cb132: 4618 mov r0, r3 80cb134: f7fc fbaa bl 80c788c 80cb138: 4602 mov r2, r0 80cb13a: 68fb ldr r3, [r7, #12] 80cb13c: 609a str r2, [r3, #8] fp->obj.objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80cb13e: 697b ldr r3, [r7, #20] 80cb140: 691b ldr r3, [r3, #16] 80cb142: 3338 adds r3, #56 ; 0x38 80cb144: 4618 mov r0, r3 80cb146: f7fc fbc4 bl 80c78d2 80cb14a: 4602 mov r2, r0 80cb14c: 460b mov r3, r1 80cb14e: 68f9 ldr r1, [r7, #12] 80cb150: e9c1 2304 strd r2, r3, [r1, #16] fp->obj.stat = fs->dirbuf[XDIR_GenFlags] & 2; 80cb154: 697b ldr r3, [r7, #20] 80cb156: 691b ldr r3, [r3, #16] 80cb158: 3321 adds r3, #33 ; 0x21 80cb15a: 781b ldrb r3, [r3, #0] 80cb15c: f003 0302 and.w r3, r3, #2 80cb160: b2da uxtb r2, r3 80cb162: 68fb ldr r3, [r7, #12] 80cb164: 71da strb r2, [r3, #7] 80cb166: e014 b.n 80cb192 } else #endif { fp->obj.sclust = ld_clust(fs, dj.dir); /* Get object allocation info */ 80cb168: 697b ldr r3, [r7, #20] 80cb16a: 6d7a ldr r2, [r7, #84] ; 0x54 80cb16c: 4611 mov r1, r2 80cb16e: 4618 mov r0, r3 80cb170: f7fd fdae bl 80c8cd0 80cb174: 4602 mov r2, r0 80cb176: 68fb ldr r3, [r7, #12] 80cb178: 609a str r2, [r3, #8] fp->obj.objsize = ld_dword(dj.dir + DIR_FileSize); 80cb17a: 6d7b ldr r3, [r7, #84] ; 0x54 80cb17c: 331c adds r3, #28 80cb17e: 4618 mov r0, r3 80cb180: f7fc fb84 bl 80c788c 80cb184: 4603 mov r3, r0 80cb186: 461a mov r2, r3 80cb188: f04f 0300 mov.w r3, #0 80cb18c: 68f9 ldr r1, [r7, #12] 80cb18e: e9c1 2304 strd r2, r3, [r1, #16] } #if _USE_FASTSEEK fp->cltbl = 0; /* Disable fast seek mode */ 80cb192: 68fb ldr r3, [r7, #12] 80cb194: 2200 movs r2, #0 80cb196: 651a str r2, [r3, #80] ; 0x50 #endif fp->obj.fs = fs; /* Validate the file object */ 80cb198: 697a ldr r2, [r7, #20] 80cb19a: 68fb ldr r3, [r7, #12] 80cb19c: 601a str r2, [r3, #0] fp->obj.id = fs->id; 80cb19e: 697b ldr r3, [r7, #20] 80cb1a0: 88da ldrh r2, [r3, #6] 80cb1a2: 68fb ldr r3, [r7, #12] 80cb1a4: 809a strh r2, [r3, #4] fp->flag = mode; /* Set file access mode */ 80cb1a6: 68fb ldr r3, [r7, #12] 80cb1a8: 79fa ldrb r2, [r7, #7] 80cb1aa: f883 2030 strb.w r2, [r3, #48] ; 0x30 fp->err = 0; /* Clear error flag */ 80cb1ae: 68fb ldr r3, [r7, #12] 80cb1b0: 2200 movs r2, #0 80cb1b2: f883 2031 strb.w r2, [r3, #49] ; 0x31 fp->sect = 0; /* Invalidate current data sector */ 80cb1b6: 68fb ldr r3, [r7, #12] 80cb1b8: 2200 movs r2, #0 80cb1ba: 645a str r2, [r3, #68] ; 0x44 fp->fptr = 0; /* Set file pointer top of the file */ 80cb1bc: 68f9 ldr r1, [r7, #12] 80cb1be: f04f 0200 mov.w r2, #0 80cb1c2: f04f 0300 mov.w r3, #0 80cb1c6: 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 */ 80cb1ca: 79fb ldrb r3, [r7, #7] 80cb1cc: f003 0320 and.w r3, r3, #32 80cb1d0: 2b00 cmp r3, #0 80cb1d2: d075 beq.n 80cb2c0 80cb1d4: 68fb ldr r3, [r7, #12] 80cb1d6: e9d3 2304 ldrd r2, r3, [r3, #16] 80cb1da: 4313 orrs r3, r2 80cb1dc: d070 beq.n 80cb2c0 fp->fptr = fp->obj.objsize; /* Offset to seek */ 80cb1de: 68fb ldr r3, [r7, #12] 80cb1e0: e9d3 2304 ldrd r2, r3, [r3, #16] 80cb1e4: 68f9 ldr r1, [r7, #12] 80cb1e6: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 bcs = (DWORD)fs->csize * SS(fs); /* Cluster size in byte */ 80cb1ea: 697b ldr r3, [r7, #20] 80cb1ec: 895b ldrh r3, [r3, #10] 80cb1ee: 025b lsls r3, r3, #9 80cb1f0: 66fb str r3, [r7, #108] ; 0x6c clst = fp->obj.sclust; /* Follow the cluster chain */ 80cb1f2: 68fb ldr r3, [r7, #12] 80cb1f4: 689b ldr r3, [r3, #8] 80cb1f6: f8c7 3080 str.w r3, [r7, #128] ; 0x80 for (ofs = fp->obj.objsize; res == FR_OK && ofs > bcs; ofs -= bcs) { 80cb1fa: 68fb ldr r3, [r7, #12] 80cb1fc: e9d3 2304 ldrd r2, r3, [r3, #16] 80cb200: e9c7 231e strd r2, r3, [r7, #120] ; 0x78 80cb204: e021 b.n 80cb24a clst = get_fat(&fp->obj, clst); 80cb206: 68fb ldr r3, [r7, #12] 80cb208: f8d7 1080 ldr.w r1, [r7, #128] ; 0x80 80cb20c: 4618 mov r0, r3 80cb20e: f7fc fe63 bl 80c7ed8 80cb212: f8c7 0080 str.w r0, [r7, #128] ; 0x80 if (clst <= 1) res = FR_INT_ERR; 80cb216: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cb21a: 2b01 cmp r3, #1 80cb21c: d802 bhi.n 80cb224 80cb21e: 2302 movs r3, #2 80cb220: f887 3087 strb.w r3, [r7, #135] ; 0x87 if (clst == 0xFFFFFFFF) res = FR_DISK_ERR; 80cb224: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cb228: f1b3 3fff cmp.w r3, #4294967295 80cb22c: d102 bne.n 80cb234 80cb22e: 2301 movs r3, #1 80cb230: f887 3087 strb.w r3, [r7, #135] ; 0x87 for (ofs = fp->obj.objsize; res == FR_OK && ofs > bcs; ofs -= bcs) { 80cb234: 6efb ldr r3, [r7, #108] ; 0x6c 80cb236: 461a mov r2, r3 80cb238: f04f 0300 mov.w r3, #0 80cb23c: e9d7 011e ldrd r0, r1, [r7, #120] ; 0x78 80cb240: 1a82 subs r2, r0, r2 80cb242: eb61 0303 sbc.w r3, r1, r3 80cb246: e9c7 231e strd r2, r3, [r7, #120] ; 0x78 80cb24a: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80cb24e: 2b00 cmp r3, #0 80cb250: d109 bne.n 80cb266 80cb252: 6efb ldr r3, [r7, #108] ; 0x6c 80cb254: 4618 mov r0, r3 80cb256: f04f 0100 mov.w r1, #0 80cb25a: e9d7 231e ldrd r2, r3, [r7, #120] ; 0x78 80cb25e: 4299 cmp r1, r3 80cb260: bf08 it eq 80cb262: 4290 cmpeq r0, r2 80cb264: d3cf bcc.n 80cb206 } fp->clust = clst; 80cb266: 68fb ldr r3, [r7, #12] 80cb268: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80cb26c: 641a str r2, [r3, #64] ; 0x40 if (res == FR_OK && ofs % SS(fs)) { /* Fill sector buffer if not on the sector boundary */ 80cb26e: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80cb272: 2b00 cmp r3, #0 80cb274: d124 bne.n 80cb2c0 80cb276: e9d7 231e ldrd r2, r3, [r7, #120] ; 0x78 80cb27a: f240 10ff movw r0, #511 ; 0x1ff 80cb27e: f04f 0100 mov.w r1, #0 80cb282: ea02 0200 and.w r2, r2, r0 80cb286: ea03 0301 and.w r3, r3, r1 80cb28a: 4313 orrs r3, r2 80cb28c: d018 beq.n 80cb2c0 if ((sc = clust2sect(fs, clst)) == 0) { 80cb28e: 697b ldr r3, [r7, #20] 80cb290: f8d7 1080 ldr.w r1, [r7, #128] ; 0x80 80cb294: 4618 mov r0, r3 80cb296: f7fc fdff bl 80c7e98 80cb29a: 66b8 str r0, [r7, #104] ; 0x68 80cb29c: 6ebb ldr r3, [r7, #104] ; 0x68 80cb29e: 2b00 cmp r3, #0 80cb2a0: d103 bne.n 80cb2aa res = FR_INT_ERR; 80cb2a2: 2302 movs r3, #2 80cb2a4: f887 3087 strb.w r3, [r7, #135] ; 0x87 80cb2a8: e00a b.n 80cb2c0 } else { fp->sect = sc + (DWORD)(ofs / SS(fs)); 80cb2aa: e9d7 231e ldrd r2, r3, [r7, #120] ; 0x78 80cb2ae: 0a54 lsrs r4, r2, #9 80cb2b0: ea44 54c3 orr.w r4, r4, r3, lsl #23 80cb2b4: 0a5d lsrs r5, r3, #9 80cb2b6: 4622 mov r2, r4 80cb2b8: 6ebb ldr r3, [r7, #104] ; 0x68 80cb2ba: 441a add r2, r3 80cb2bc: 68fb ldr r3, [r7, #12] 80cb2be: 645a str r2, [r3, #68] ; 0x44 } FREE_NAMBUF(); } if (res != FR_OK) fp->obj.fs = 0; /* Invalidate file object on error */ 80cb2c0: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80cb2c4: 2b00 cmp r3, #0 80cb2c6: d002 beq.n 80cb2ce 80cb2c8: 68fb ldr r3, [r7, #12] 80cb2ca: 2200 movs r2, #0 80cb2cc: 601a str r2, [r3, #0] LEAVE_FF(fs, res); 80cb2ce: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 } 80cb2d2: 4618 mov r0, r3 80cb2d4: 3788 adds r7, #136 ; 0x88 80cb2d6: 46bd mov sp, r7 80cb2d8: bdb0 pop {r4, r5, r7, pc} 080cb2da : 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 */ ) { 80cb2da: b5b0 push {r4, r5, r7, lr} 80cb2dc: b090 sub sp, #64 ; 0x40 80cb2de: af00 add r7, sp, #0 80cb2e0: 60f8 str r0, [r7, #12] 80cb2e2: 60b9 str r1, [r7, #8] 80cb2e4: 607a str r2, [r7, #4] 80cb2e6: 603b str r3, [r7, #0] FRESULT res; FATFS *fs; DWORD clst, sect; FSIZE_t remain; UINT rcnt, cc, csect; BYTE *rbuff = (BYTE*)buff; 80cb2e8: 68bb ldr r3, [r7, #8] 80cb2ea: 62fb str r3, [r7, #44] ; 0x2c *br = 0; /* Clear read byte counter */ 80cb2ec: 683b ldr r3, [r7, #0] 80cb2ee: 2200 movs r2, #0 80cb2f0: 601a str r2, [r3, #0] res = validate(&fp->obj, &fs); /* Check validity of the file object */ 80cb2f2: 68fb ldr r3, [r7, #12] 80cb2f4: f107 0214 add.w r2, r7, #20 80cb2f8: 4611 mov r1, r2 80cb2fa: 4618 mov r0, r3 80cb2fc: f7ff fd18 bl 80cad30 80cb300: 4603 mov r3, r0 80cb302: f887 303f strb.w r3, [r7, #63] ; 0x3f if (res != FR_OK || (res = (FRESULT)fp->err) != FR_OK) LEAVE_FF(fs, res); /* Check validity */ 80cb306: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80cb30a: 2b00 cmp r3, #0 80cb30c: d108 bne.n 80cb320 80cb30e: 68fb ldr r3, [r7, #12] 80cb310: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 80cb314: f887 303f strb.w r3, [r7, #63] ; 0x3f 80cb318: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80cb31c: 2b00 cmp r3, #0 80cb31e: d002 beq.n 80cb326 80cb320: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80cb324: e118 b.n 80cb558 if (!(fp->flag & FA_READ)) LEAVE_FF(fs, FR_DENIED); /* Check access mode */ 80cb326: 68fb ldr r3, [r7, #12] 80cb328: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80cb32c: f003 0301 and.w r3, r3, #1 80cb330: 2b00 cmp r3, #0 80cb332: d101 bne.n 80cb338 80cb334: 2307 movs r3, #7 80cb336: e10f b.n 80cb558 remain = fp->obj.objsize - fp->fptr; 80cb338: 68fb ldr r3, [r7, #12] 80cb33a: e9d3 0104 ldrd r0, r1, [r3, #16] 80cb33e: 68fb ldr r3, [r7, #12] 80cb340: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb344: 1a82 subs r2, r0, r2 80cb346: eb61 0303 sbc.w r3, r1, r3 80cb34a: e9c7 2308 strd r2, r3, [r7, #32] if (btr > remain) btr = (UINT)remain; /* Truncate btr by remaining bytes */ 80cb34e: 687b ldr r3, [r7, #4] 80cb350: 461a mov r2, r3 80cb352: f04f 0300 mov.w r3, #0 80cb356: e9d7 0108 ldrd r0, r1, [r7, #32] 80cb35a: 4299 cmp r1, r3 80cb35c: bf08 it eq 80cb35e: 4290 cmpeq r0, r2 80cb360: f080 80f5 bcs.w 80cb54e 80cb364: 6a3b ldr r3, [r7, #32] 80cb366: 607b str r3, [r7, #4] for ( ; btr; /* Repeat until all data read */ 80cb368: e0f1 b.n 80cb54e rbuff += rcnt, fp->fptr += rcnt, *br += rcnt, btr -= rcnt) { if (fp->fptr % SS(fs) == 0) { /* On the sector boundary? */ 80cb36a: 68fb ldr r3, [r7, #12] 80cb36c: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb370: f240 10ff movw r0, #511 ; 0x1ff 80cb374: f04f 0100 mov.w r1, #0 80cb378: ea02 0200 and.w r2, r2, r0 80cb37c: ea03 0301 and.w r3, r3, r1 80cb380: 4313 orrs r3, r2 80cb382: f040 809b bne.w 80cb4bc csect = (UINT)(fp->fptr / SS(fs) & (fs->csize - 1)); /* Sector offset in the cluster */ 80cb386: 68fb ldr r3, [r7, #12] 80cb388: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb38c: 0a54 lsrs r4, r2, #9 80cb38e: ea44 54c3 orr.w r4, r4, r3, lsl #23 80cb392: 0a5d lsrs r5, r3, #9 80cb394: 4622 mov r2, r4 80cb396: 697b ldr r3, [r7, #20] 80cb398: 895b ldrh r3, [r3, #10] 80cb39a: 3b01 subs r3, #1 80cb39c: 4013 ands r3, r2 80cb39e: 61fb str r3, [r7, #28] if (csect == 0) { /* On the cluster boundary? */ 80cb3a0: 69fb ldr r3, [r7, #28] 80cb3a2: 2b00 cmp r3, #0 80cb3a4: d132 bne.n 80cb40c if (fp->fptr == 0) { /* On the top of the file? */ 80cb3a6: 68fb ldr r3, [r7, #12] 80cb3a8: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb3ac: 4313 orrs r3, r2 80cb3ae: d103 bne.n 80cb3b8 clst = fp->obj.sclust; /* Follow cluster chain from the origin */ 80cb3b0: 68fb ldr r3, [r7, #12] 80cb3b2: 689b ldr r3, [r3, #8] 80cb3b4: 63bb str r3, [r7, #56] ; 0x38 80cb3b6: e013 b.n 80cb3e0 } else { /* Middle or end of the file */ #if _USE_FASTSEEK if (fp->cltbl) { 80cb3b8: 68fb ldr r3, [r7, #12] 80cb3ba: 6d1b ldr r3, [r3, #80] ; 0x50 80cb3bc: 2b00 cmp r3, #0 80cb3be: d007 beq.n 80cb3d0 clst = clmt_clust(fp, fp->fptr); /* Get cluster# from the CLMT */ 80cb3c0: 68fb ldr r3, [r7, #12] 80cb3c2: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb3c6: 68f8 ldr r0, [r7, #12] 80cb3c8: f7fd fa8d bl 80c88e6 80cb3cc: 63b8 str r0, [r7, #56] ; 0x38 80cb3ce: e007 b.n 80cb3e0 } else #endif { clst = get_fat(&fp->obj, fp->clust); /* Follow cluster chain on the FAT */ 80cb3d0: 68fa ldr r2, [r7, #12] 80cb3d2: 68fb ldr r3, [r7, #12] 80cb3d4: 6c1b ldr r3, [r3, #64] ; 0x40 80cb3d6: 4619 mov r1, r3 80cb3d8: 4610 mov r0, r2 80cb3da: f7fc fd7d bl 80c7ed8 80cb3de: 63b8 str r0, [r7, #56] ; 0x38 } } if (clst < 2) ABORT(fs, FR_INT_ERR); 80cb3e0: 6bbb ldr r3, [r7, #56] ; 0x38 80cb3e2: 2b01 cmp r3, #1 80cb3e4: d805 bhi.n 80cb3f2 80cb3e6: 68fb ldr r3, [r7, #12] 80cb3e8: 2202 movs r2, #2 80cb3ea: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cb3ee: 2302 movs r3, #2 80cb3f0: e0b2 b.n 80cb558 if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80cb3f2: 6bbb ldr r3, [r7, #56] ; 0x38 80cb3f4: f1b3 3fff cmp.w r3, #4294967295 80cb3f8: d105 bne.n 80cb406 80cb3fa: 68fb ldr r3, [r7, #12] 80cb3fc: 2201 movs r2, #1 80cb3fe: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cb402: 2301 movs r3, #1 80cb404: e0a8 b.n 80cb558 fp->clust = clst; /* Update current cluster */ 80cb406: 68fb ldr r3, [r7, #12] 80cb408: 6bba ldr r2, [r7, #56] ; 0x38 80cb40a: 641a str r2, [r3, #64] ; 0x40 } sect = clust2sect(fs, fp->clust); /* Get current sector */ 80cb40c: 697a ldr r2, [r7, #20] 80cb40e: 68fb ldr r3, [r7, #12] 80cb410: 6c1b ldr r3, [r3, #64] ; 0x40 80cb412: 4619 mov r1, r3 80cb414: 4610 mov r0, r2 80cb416: f7fc fd3f bl 80c7e98 80cb41a: 61b8 str r0, [r7, #24] if (!sect) ABORT(fs, FR_INT_ERR); 80cb41c: 69bb ldr r3, [r7, #24] 80cb41e: 2b00 cmp r3, #0 80cb420: d105 bne.n 80cb42e 80cb422: 68fb ldr r3, [r7, #12] 80cb424: 2202 movs r2, #2 80cb426: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cb42a: 2302 movs r3, #2 80cb42c: e094 b.n 80cb558 sect += csect; 80cb42e: 69ba ldr r2, [r7, #24] 80cb430: 69fb ldr r3, [r7, #28] 80cb432: 4413 add r3, r2 80cb434: 61bb str r3, [r7, #24] cc = btr / SS(fs); /* When remaining bytes >= sector size, */ 80cb436: 687b ldr r3, [r7, #4] 80cb438: 0a5b lsrs r3, r3, #9 80cb43a: 633b str r3, [r7, #48] ; 0x30 if (cc) { /* Read maximum contiguous sectors directly */ 80cb43c: 6b3b ldr r3, [r7, #48] ; 0x30 80cb43e: 2b00 cmp r3, #0 80cb440: d039 beq.n 80cb4b6 if (csect + cc > fs->csize) { /* Clip at cluster boundary */ 80cb442: 69fa ldr r2, [r7, #28] 80cb444: 6b3b ldr r3, [r7, #48] ; 0x30 80cb446: 4413 add r3, r2 80cb448: 697a ldr r2, [r7, #20] 80cb44a: 8952 ldrh r2, [r2, #10] 80cb44c: 4293 cmp r3, r2 80cb44e: d905 bls.n 80cb45c cc = fs->csize - csect; 80cb450: 697b ldr r3, [r7, #20] 80cb452: 895b ldrh r3, [r3, #10] 80cb454: 461a mov r2, r3 80cb456: 69fb ldr r3, [r7, #28] 80cb458: 1ad3 subs r3, r2, r3 80cb45a: 633b str r3, [r7, #48] ; 0x30 } if (disk_read(fs->drv, rbuff, sect, cc) != RES_OK) ABORT(fs, FR_DISK_ERR); 80cb45c: 697b ldr r3, [r7, #20] 80cb45e: 7858 ldrb r0, [r3, #1] 80cb460: 6b3b ldr r3, [r7, #48] ; 0x30 80cb462: 69ba ldr r2, [r7, #24] 80cb464: 6af9 ldr r1, [r7, #44] ; 0x2c 80cb466: f7fc f99b bl 80c77a0 80cb46a: 4603 mov r3, r0 80cb46c: 2b00 cmp r3, #0 80cb46e: d005 beq.n 80cb47c 80cb470: 68fb ldr r3, [r7, #12] 80cb472: 2201 movs r2, #1 80cb474: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cb478: 2301 movs r3, #1 80cb47a: e06d b.n 80cb558 #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) { 80cb47c: 697b ldr r3, [r7, #20] 80cb47e: 78db ldrb r3, [r3, #3] 80cb480: 2b00 cmp r3, #0 80cb482: d014 beq.n 80cb4ae 80cb484: 697b ldr r3, [r7, #20] 80cb486: 6b5a ldr r2, [r3, #52] ; 0x34 80cb488: 69bb ldr r3, [r7, #24] 80cb48a: 1ad2 subs r2, r2, r3 80cb48c: 6b3b ldr r3, [r7, #48] ; 0x30 80cb48e: 429a cmp r2, r3 80cb490: d20d bcs.n 80cb4ae mem_cpy(rbuff + ((fs->winsect - sect) * SS(fs)), fs->win, SS(fs)); 80cb492: 697b ldr r3, [r7, #20] 80cb494: 6b5a ldr r2, [r3, #52] ; 0x34 80cb496: 69bb ldr r3, [r7, #24] 80cb498: 1ad3 subs r3, r2, r3 80cb49a: 025b lsls r3, r3, #9 80cb49c: 6afa ldr r2, [r7, #44] ; 0x2c 80cb49e: 18d0 adds r0, r2, r3 80cb4a0: 697b ldr r3, [r7, #20] 80cb4a2: 3338 adds r3, #56 ; 0x38 80cb4a4: f44f 7200 mov.w r2, #512 ; 0x200 80cb4a8: 4619 mov r1, r3 80cb4aa: f7fc fb99 bl 80c7be0 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 */ 80cb4ae: 6b3b ldr r3, [r7, #48] ; 0x30 80cb4b0: 025b lsls r3, r3, #9 80cb4b2: 637b str r3, [r7, #52] ; 0x34 continue; 80cb4b4: e030 b.n 80cb518 } #endif if (disk_read(fs->drv, fp->buf, sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); /* Fill sector cache */ } #endif fp->sect = sect; 80cb4b6: 68fb ldr r3, [r7, #12] 80cb4b8: 69ba ldr r2, [r7, #24] 80cb4ba: 645a str r2, [r3, #68] ; 0x44 } rcnt = SS(fs) - (UINT)fp->fptr % SS(fs); /* Number of bytes left in the sector */ 80cb4bc: 68fb ldr r3, [r7, #12] 80cb4be: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb4c2: 4613 mov r3, r2 80cb4c4: f3c3 0308 ubfx r3, r3, #0, #9 80cb4c8: f5c3 7300 rsb r3, r3, #512 ; 0x200 80cb4cc: 637b str r3, [r7, #52] ; 0x34 if (rcnt > btr) rcnt = btr; /* Clip it by btr if needed */ 80cb4ce: 6b7a ldr r2, [r7, #52] ; 0x34 80cb4d0: 687b ldr r3, [r7, #4] 80cb4d2: 429a cmp r2, r3 80cb4d4: d901 bls.n 80cb4da 80cb4d6: 687b ldr r3, [r7, #4] 80cb4d8: 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 */ 80cb4da: 697a ldr r2, [r7, #20] 80cb4dc: 68fb ldr r3, [r7, #12] 80cb4de: 6c5b ldr r3, [r3, #68] ; 0x44 80cb4e0: 4619 mov r1, r3 80cb4e2: 4610 mov r0, r2 80cb4e4: f7fc fc3d bl 80c7d62 80cb4e8: 4603 mov r3, r0 80cb4ea: 2b00 cmp r3, #0 80cb4ec: d005 beq.n 80cb4fa 80cb4ee: 68fb ldr r3, [r7, #12] 80cb4f0: 2201 movs r2, #1 80cb4f2: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cb4f6: 2301 movs r3, #1 80cb4f8: e02e b.n 80cb558 mem_cpy(rbuff, fs->win + fp->fptr % SS(fs), rcnt); /* Extract partial sector */ 80cb4fa: 697b ldr r3, [r7, #20] 80cb4fc: f103 0138 add.w r1, r3, #56 ; 0x38 80cb500: 68fb ldr r3, [r7, #12] 80cb502: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb506: 4613 mov r3, r2 80cb508: f3c3 0308 ubfx r3, r3, #0, #9 80cb50c: 440b add r3, r1 80cb50e: 6b7a ldr r2, [r7, #52] ; 0x34 80cb510: 4619 mov r1, r3 80cb512: 6af8 ldr r0, [r7, #44] ; 0x2c 80cb514: f7fc fb64 bl 80c7be0 rbuff += rcnt, fp->fptr += rcnt, *br += rcnt, btr -= rcnt) { 80cb518: 6afa ldr r2, [r7, #44] ; 0x2c 80cb51a: 6b7b ldr r3, [r7, #52] ; 0x34 80cb51c: 4413 add r3, r2 80cb51e: 62fb str r3, [r7, #44] ; 0x2c 80cb520: 68fb ldr r3, [r7, #12] 80cb522: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80cb526: 6b7b ldr r3, [r7, #52] ; 0x34 80cb528: 461a mov r2, r3 80cb52a: f04f 0300 mov.w r3, #0 80cb52e: 1812 adds r2, r2, r0 80cb530: eb43 0301 adc.w r3, r3, r1 80cb534: 68f9 ldr r1, [r7, #12] 80cb536: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 80cb53a: 683b ldr r3, [r7, #0] 80cb53c: 681a ldr r2, [r3, #0] 80cb53e: 6b7b ldr r3, [r7, #52] ; 0x34 80cb540: 441a add r2, r3 80cb542: 683b ldr r3, [r7, #0] 80cb544: 601a str r2, [r3, #0] 80cb546: 687a ldr r2, [r7, #4] 80cb548: 6b7b ldr r3, [r7, #52] ; 0x34 80cb54a: 1ad3 subs r3, r2, r3 80cb54c: 607b str r3, [r7, #4] for ( ; btr; /* Repeat until all data read */ 80cb54e: 687b ldr r3, [r7, #4] 80cb550: 2b00 cmp r3, #0 80cb552: f47f af0a bne.w 80cb36a #else mem_cpy(rbuff, fp->buf + fp->fptr % SS(fs), rcnt); /* Extract partial sector */ #endif } LEAVE_FF(fs, FR_OK); 80cb556: 2300 movs r3, #0 } 80cb558: 4618 mov r0, r3 80cb55a: 3740 adds r7, #64 ; 0x40 80cb55c: 46bd mov sp, r7 80cb55e: bdb0 pop {r4, r5, r7, pc} 080cb560 : 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 */ ) { 80cb560: b5b0 push {r4, r5, r7, lr} 80cb562: b08c sub sp, #48 ; 0x30 80cb564: af00 add r7, sp, #0 80cb566: 60f8 str r0, [r7, #12] 80cb568: 60b9 str r1, [r7, #8] 80cb56a: 607a str r2, [r7, #4] 80cb56c: 603b str r3, [r7, #0] FRESULT res; FATFS *fs; DWORD clst, sect; UINT wcnt, cc, csect; const BYTE *wbuff = (const BYTE*)buff; 80cb56e: 68bb ldr r3, [r7, #8] 80cb570: 61fb str r3, [r7, #28] *bw = 0; /* Clear write byte counter */ 80cb572: 683b ldr r3, [r7, #0] 80cb574: 2200 movs r2, #0 80cb576: 601a str r2, [r3, #0] res = validate(&fp->obj, &fs); /* Check validity of the file object */ 80cb578: 68fb ldr r3, [r7, #12] 80cb57a: f107 0210 add.w r2, r7, #16 80cb57e: 4611 mov r1, r2 80cb580: 4618 mov r0, r3 80cb582: f7ff fbd5 bl 80cad30 80cb586: 4603 mov r3, r0 80cb588: f887 302f strb.w r3, [r7, #47] ; 0x2f if (res != FR_OK || (res = (FRESULT)fp->err) != FR_OK) LEAVE_FF(fs, res); /* Check validity */ 80cb58c: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80cb590: 2b00 cmp r3, #0 80cb592: d108 bne.n 80cb5a6 80cb594: 68fb ldr r3, [r7, #12] 80cb596: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 80cb59a: f887 302f strb.w r3, [r7, #47] ; 0x2f 80cb59e: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80cb5a2: 2b00 cmp r3, #0 80cb5a4: d002 beq.n 80cb5ac 80cb5a6: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80cb5aa: e175 b.n 80cb898 if (!(fp->flag & FA_WRITE)) LEAVE_FF(fs, FR_DENIED); /* Check access mode */ 80cb5ac: 68fb ldr r3, [r7, #12] 80cb5ae: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80cb5b2: f003 0302 and.w r3, r3, #2 80cb5b6: 2b00 cmp r3, #0 80cb5b8: d101 bne.n 80cb5be 80cb5ba: 2307 movs r3, #7 80cb5bc: e16c b.n 80cb898 /* 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) { 80cb5be: 693b ldr r3, [r7, #16] 80cb5c0: 781b ldrb r3, [r3, #0] 80cb5c2: 2b04 cmp r3, #4 80cb5c4: f000 8158 beq.w 80cb878 80cb5c8: 68fb ldr r3, [r7, #12] 80cb5ca: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb5ce: 687b ldr r3, [r7, #4] 80cb5d0: 18d1 adds r1, r2, r3 80cb5d2: 68fb ldr r3, [r7, #12] 80cb5d4: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb5d8: 4613 mov r3, r2 80cb5da: 4299 cmp r1, r3 80cb5dc: f080 814c bcs.w 80cb878 btw = (UINT)(0xFFFFFFFF - (DWORD)fp->fptr); 80cb5e0: 68fb ldr r3, [r7, #12] 80cb5e2: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb5e6: 4613 mov r3, r2 80cb5e8: 43db mvns r3, r3 80cb5ea: 607b str r3, [r7, #4] } for ( ; btw; /* Repeat until all data written */ 80cb5ec: e144 b.n 80cb878 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? */ 80cb5ee: 68fb ldr r3, [r7, #12] 80cb5f0: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb5f4: f240 10ff movw r0, #511 ; 0x1ff 80cb5f8: f04f 0100 mov.w r1, #0 80cb5fc: ea02 0200 and.w r2, r2, r0 80cb600: ea03 0301 and.w r3, r3, r1 80cb604: 4313 orrs r3, r2 80cb606: f040 80dc bne.w 80cb7c2 csect = (UINT)(fp->fptr / SS(fs)) & (fs->csize - 1); /* Sector offset in the cluster */ 80cb60a: 68fb ldr r3, [r7, #12] 80cb60c: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb610: 0a54 lsrs r4, r2, #9 80cb612: ea44 54c3 orr.w r4, r4, r3, lsl #23 80cb616: 0a5d lsrs r5, r3, #9 80cb618: 4622 mov r2, r4 80cb61a: 693b ldr r3, [r7, #16] 80cb61c: 895b ldrh r3, [r3, #10] 80cb61e: 3b01 subs r3, #1 80cb620: 4013 ands r3, r2 80cb622: 61bb str r3, [r7, #24] if (csect == 0) { /* On the cluster boundary? */ 80cb624: 69bb ldr r3, [r7, #24] 80cb626: 2b00 cmp r3, #0 80cb628: d146 bne.n 80cb6b8 if (fp->fptr == 0) { /* On the top of the file? */ 80cb62a: 68fb ldr r3, [r7, #12] 80cb62c: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb630: 4313 orrs r3, r2 80cb632: d10c bne.n 80cb64e clst = fp->obj.sclust; /* Follow from the origin */ 80cb634: 68fb ldr r3, [r7, #12] 80cb636: 689b ldr r3, [r3, #8] 80cb638: 62bb str r3, [r7, #40] ; 0x28 if (clst == 0) { /* If no cluster is allocated, */ 80cb63a: 6abb ldr r3, [r7, #40] ; 0x28 80cb63c: 2b00 cmp r3, #0 80cb63e: d11a bne.n 80cb676 clst = create_chain(&fp->obj, 0); /* create a new cluster chain */ 80cb640: 68fb ldr r3, [r7, #12] 80cb642: 2100 movs r1, #0 80cb644: 4618 mov r0, r3 80cb646: f7fd f84d bl 80c86e4 80cb64a: 62b8 str r0, [r7, #40] ; 0x28 80cb64c: e013 b.n 80cb676 } } else { /* On the middle or end of the file */ #if _USE_FASTSEEK if (fp->cltbl) { 80cb64e: 68fb ldr r3, [r7, #12] 80cb650: 6d1b ldr r3, [r3, #80] ; 0x50 80cb652: 2b00 cmp r3, #0 80cb654: d007 beq.n 80cb666 clst = clmt_clust(fp, fp->fptr); /* Get cluster# from the CLMT */ 80cb656: 68fb ldr r3, [r7, #12] 80cb658: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb65c: 68f8 ldr r0, [r7, #12] 80cb65e: f7fd f942 bl 80c88e6 80cb662: 62b8 str r0, [r7, #40] ; 0x28 80cb664: e007 b.n 80cb676 } else #endif { clst = create_chain(&fp->obj, fp->clust); /* Follow or stretch cluster chain on the FAT */ 80cb666: 68fa ldr r2, [r7, #12] 80cb668: 68fb ldr r3, [r7, #12] 80cb66a: 6c1b ldr r3, [r3, #64] ; 0x40 80cb66c: 4619 mov r1, r3 80cb66e: 4610 mov r0, r2 80cb670: f7fd f838 bl 80c86e4 80cb674: 62b8 str r0, [r7, #40] ; 0x28 } } if (clst == 0) break; /* Could not allocate a new cluster (disk full) */ 80cb676: 6abb ldr r3, [r7, #40] ; 0x28 80cb678: 2b00 cmp r3, #0 80cb67a: f000 8102 beq.w 80cb882 if (clst == 1) ABORT(fs, FR_INT_ERR); 80cb67e: 6abb ldr r3, [r7, #40] ; 0x28 80cb680: 2b01 cmp r3, #1 80cb682: d105 bne.n 80cb690 80cb684: 68fb ldr r3, [r7, #12] 80cb686: 2202 movs r2, #2 80cb688: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cb68c: 2302 movs r3, #2 80cb68e: e103 b.n 80cb898 if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80cb690: 6abb ldr r3, [r7, #40] ; 0x28 80cb692: f1b3 3fff cmp.w r3, #4294967295 80cb696: d105 bne.n 80cb6a4 80cb698: 68fb ldr r3, [r7, #12] 80cb69a: 2201 movs r2, #1 80cb69c: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cb6a0: 2301 movs r3, #1 80cb6a2: e0f9 b.n 80cb898 fp->clust = clst; /* Update current cluster */ 80cb6a4: 68fb ldr r3, [r7, #12] 80cb6a6: 6aba ldr r2, [r7, #40] ; 0x28 80cb6a8: 641a str r2, [r3, #64] ; 0x40 if (fp->obj.sclust == 0) fp->obj.sclust = clst; /* Set start cluster if the first write */ 80cb6aa: 68fb ldr r3, [r7, #12] 80cb6ac: 689b ldr r3, [r3, #8] 80cb6ae: 2b00 cmp r3, #0 80cb6b0: d102 bne.n 80cb6b8 80cb6b2: 68fb ldr r3, [r7, #12] 80cb6b4: 6aba ldr r2, [r7, #40] ; 0x28 80cb6b6: 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 */ 80cb6b8: 693b ldr r3, [r7, #16] 80cb6ba: 6b5a ldr r2, [r3, #52] ; 0x34 80cb6bc: 68fb ldr r3, [r7, #12] 80cb6be: 6c5b ldr r3, [r3, #68] ; 0x44 80cb6c0: 429a cmp r2, r3 80cb6c2: d10c bne.n 80cb6de 80cb6c4: 693b ldr r3, [r7, #16] 80cb6c6: 4618 mov r0, r3 80cb6c8: f7fc fb07 bl 80c7cda 80cb6cc: 4603 mov r3, r0 80cb6ce: 2b00 cmp r3, #0 80cb6d0: d005 beq.n 80cb6de 80cb6d2: 68fb ldr r3, [r7, #12] 80cb6d4: 2201 movs r2, #1 80cb6d6: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cb6da: 2301 movs r3, #1 80cb6dc: e0dc b.n 80cb898 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 */ 80cb6de: 693a ldr r2, [r7, #16] 80cb6e0: 68fb ldr r3, [r7, #12] 80cb6e2: 6c1b ldr r3, [r3, #64] ; 0x40 80cb6e4: 4619 mov r1, r3 80cb6e6: 4610 mov r0, r2 80cb6e8: f7fc fbd6 bl 80c7e98 80cb6ec: 6178 str r0, [r7, #20] if (!sect) ABORT(fs, FR_INT_ERR); 80cb6ee: 697b ldr r3, [r7, #20] 80cb6f0: 2b00 cmp r3, #0 80cb6f2: d105 bne.n 80cb700 80cb6f4: 68fb ldr r3, [r7, #12] 80cb6f6: 2202 movs r2, #2 80cb6f8: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cb6fc: 2302 movs r3, #2 80cb6fe: e0cb b.n 80cb898 sect += csect; 80cb700: 697a ldr r2, [r7, #20] 80cb702: 69bb ldr r3, [r7, #24] 80cb704: 4413 add r3, r2 80cb706: 617b str r3, [r7, #20] cc = btw / SS(fs); /* When remaining bytes >= sector size, */ 80cb708: 687b ldr r3, [r7, #4] 80cb70a: 0a5b lsrs r3, r3, #9 80cb70c: 623b str r3, [r7, #32] if (cc) { /* Write maximum contiguous sectors directly */ 80cb70e: 6a3b ldr r3, [r7, #32] 80cb710: 2b00 cmp r3, #0 80cb712: d039 beq.n 80cb788 if (csect + cc > fs->csize) { /* Clip at cluster boundary */ 80cb714: 69ba ldr r2, [r7, #24] 80cb716: 6a3b ldr r3, [r7, #32] 80cb718: 4413 add r3, r2 80cb71a: 693a ldr r2, [r7, #16] 80cb71c: 8952 ldrh r2, [r2, #10] 80cb71e: 4293 cmp r3, r2 80cb720: d905 bls.n 80cb72e cc = fs->csize - csect; 80cb722: 693b ldr r3, [r7, #16] 80cb724: 895b ldrh r3, [r3, #10] 80cb726: 461a mov r2, r3 80cb728: 69bb ldr r3, [r7, #24] 80cb72a: 1ad3 subs r3, r2, r3 80cb72c: 623b str r3, [r7, #32] } if (disk_write(fs->drv, wbuff, sect, cc) != RES_OK) ABORT(fs, FR_DISK_ERR); 80cb72e: 693b ldr r3, [r7, #16] 80cb730: 7858 ldrb r0, [r3, #1] 80cb732: 6a3b ldr r3, [r7, #32] 80cb734: 697a ldr r2, [r7, #20] 80cb736: 69f9 ldr r1, [r7, #28] 80cb738: f7fc f852 bl 80c77e0 80cb73c: 4603 mov r3, r0 80cb73e: 2b00 cmp r3, #0 80cb740: d005 beq.n 80cb74e 80cb742: 68fb ldr r3, [r7, #12] 80cb744: 2201 movs r2, #1 80cb746: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cb74a: 2301 movs r3, #1 80cb74c: e0a4 b.n 80cb898 #if _FS_MINIMIZE <= 2 #if _FS_TINY if (fs->winsect - sect < cc) { /* Refill sector cache if it gets invalidated by the direct write */ 80cb74e: 693b ldr r3, [r7, #16] 80cb750: 6b5a ldr r2, [r3, #52] ; 0x34 80cb752: 697b ldr r3, [r7, #20] 80cb754: 1ad2 subs r2, r2, r3 80cb756: 6a3b ldr r3, [r7, #32] 80cb758: 429a cmp r2, r3 80cb75a: d211 bcs.n 80cb780 mem_cpy(fs->win, wbuff + ((fs->winsect - sect) * SS(fs)), SS(fs)); 80cb75c: 693b ldr r3, [r7, #16] 80cb75e: f103 0038 add.w r0, r3, #56 ; 0x38 80cb762: 693b ldr r3, [r7, #16] 80cb764: 6b5a ldr r2, [r3, #52] ; 0x34 80cb766: 697b ldr r3, [r7, #20] 80cb768: 1ad3 subs r3, r2, r3 80cb76a: 025b lsls r3, r3, #9 80cb76c: 69fa ldr r2, [r7, #28] 80cb76e: 4413 add r3, r2 80cb770: f44f 7200 mov.w r2, #512 ; 0x200 80cb774: 4619 mov r1, r3 80cb776: f7fc fa33 bl 80c7be0 fs->wflag = 0; 80cb77a: 693b ldr r3, [r7, #16] 80cb77c: 2200 movs r2, #0 80cb77e: 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 */ 80cb780: 6a3b ldr r3, [r7, #32] 80cb782: 025b lsls r3, r3, #9 80cb784: 627b str r3, [r7, #36] ; 0x24 continue; 80cb786: e04d b.n 80cb824 } #if _FS_TINY if (fp->fptr >= fp->obj.objsize) { /* Avoid silly cache filling on the growing edge */ 80cb788: 68fb ldr r3, [r7, #12] 80cb78a: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80cb78e: 68fb ldr r3, [r7, #12] 80cb790: e9d3 2304 ldrd r2, r3, [r3, #16] 80cb794: 4299 cmp r1, r3 80cb796: bf08 it eq 80cb798: 4290 cmpeq r0, r2 80cb79a: d30f bcc.n 80cb7bc if (sync_window(fs) != FR_OK) ABORT(fs, FR_DISK_ERR); 80cb79c: 693b ldr r3, [r7, #16] 80cb79e: 4618 mov r0, r3 80cb7a0: f7fc fa9b bl 80c7cda 80cb7a4: 4603 mov r3, r0 80cb7a6: 2b00 cmp r3, #0 80cb7a8: d005 beq.n 80cb7b6 80cb7aa: 68fb ldr r3, [r7, #12] 80cb7ac: 2201 movs r2, #1 80cb7ae: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cb7b2: 2301 movs r3, #1 80cb7b4: e070 b.n 80cb898 fs->winsect = sect; 80cb7b6: 693b ldr r3, [r7, #16] 80cb7b8: 697a ldr r2, [r7, #20] 80cb7ba: 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; 80cb7bc: 68fb ldr r3, [r7, #12] 80cb7be: 697a ldr r2, [r7, #20] 80cb7c0: 645a str r2, [r3, #68] ; 0x44 } wcnt = SS(fs) - (UINT)fp->fptr % SS(fs); /* Number of bytes left in the sector */ 80cb7c2: 68fb ldr r3, [r7, #12] 80cb7c4: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb7c8: 4613 mov r3, r2 80cb7ca: f3c3 0308 ubfx r3, r3, #0, #9 80cb7ce: f5c3 7300 rsb r3, r3, #512 ; 0x200 80cb7d2: 627b str r3, [r7, #36] ; 0x24 if (wcnt > btw) wcnt = btw; /* Clip it by btw if needed */ 80cb7d4: 6a7a ldr r2, [r7, #36] ; 0x24 80cb7d6: 687b ldr r3, [r7, #4] 80cb7d8: 429a cmp r2, r3 80cb7da: d901 bls.n 80cb7e0 80cb7dc: 687b ldr r3, [r7, #4] 80cb7de: 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 */ 80cb7e0: 693a ldr r2, [r7, #16] 80cb7e2: 68fb ldr r3, [r7, #12] 80cb7e4: 6c5b ldr r3, [r3, #68] ; 0x44 80cb7e6: 4619 mov r1, r3 80cb7e8: 4610 mov r0, r2 80cb7ea: f7fc faba bl 80c7d62 80cb7ee: 4603 mov r3, r0 80cb7f0: 2b00 cmp r3, #0 80cb7f2: d005 beq.n 80cb800 80cb7f4: 68fb ldr r3, [r7, #12] 80cb7f6: 2201 movs r2, #1 80cb7f8: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cb7fc: 2301 movs r3, #1 80cb7fe: e04b b.n 80cb898 mem_cpy(fs->win + fp->fptr % SS(fs), wbuff, wcnt); /* Fit data to the sector */ 80cb800: 693b ldr r3, [r7, #16] 80cb802: f103 0138 add.w r1, r3, #56 ; 0x38 80cb806: 68fb ldr r3, [r7, #12] 80cb808: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb80c: 4613 mov r3, r2 80cb80e: f3c3 0308 ubfx r3, r3, #0, #9 80cb812: 440b add r3, r1 80cb814: 6a7a ldr r2, [r7, #36] ; 0x24 80cb816: 69f9 ldr r1, [r7, #28] 80cb818: 4618 mov r0, r3 80cb81a: f7fc f9e1 bl 80c7be0 fs->wflag = 1; 80cb81e: 693b ldr r3, [r7, #16] 80cb820: 2201 movs r2, #1 80cb822: 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) { 80cb824: 69fa ldr r2, [r7, #28] 80cb826: 6a7b ldr r3, [r7, #36] ; 0x24 80cb828: 4413 add r3, r2 80cb82a: 61fb str r3, [r7, #28] 80cb82c: 68fb ldr r3, [r7, #12] 80cb82e: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80cb832: 6a7b ldr r3, [r7, #36] ; 0x24 80cb834: 461a mov r2, r3 80cb836: f04f 0300 mov.w r3, #0 80cb83a: 1812 adds r2, r2, r0 80cb83c: eb43 0301 adc.w r3, r3, r1 80cb840: 68f9 ldr r1, [r7, #12] 80cb842: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 80cb846: 68fb ldr r3, [r7, #12] 80cb848: e9d3 2304 ldrd r2, r3, [r3, #16] 80cb84c: 68f9 ldr r1, [r7, #12] 80cb84e: e9d1 010e ldrd r0, r1, [r1, #56] ; 0x38 80cb852: 428b cmp r3, r1 80cb854: bf08 it eq 80cb856: 4282 cmpeq r2, r0 80cb858: d201 bcs.n 80cb85e 80cb85a: 4602 mov r2, r0 80cb85c: 460b mov r3, r1 80cb85e: 68f9 ldr r1, [r7, #12] 80cb860: e9c1 2304 strd r2, r3, [r1, #16] 80cb864: 683b ldr r3, [r7, #0] 80cb866: 681a ldr r2, [r3, #0] 80cb868: 6a7b ldr r3, [r7, #36] ; 0x24 80cb86a: 441a add r2, r3 80cb86c: 683b ldr r3, [r7, #0] 80cb86e: 601a str r2, [r3, #0] 80cb870: 687a ldr r2, [r7, #4] 80cb872: 6a7b ldr r3, [r7, #36] ; 0x24 80cb874: 1ad3 subs r3, r2, r3 80cb876: 607b str r3, [r7, #4] for ( ; btw; /* Repeat until all data written */ 80cb878: 687b ldr r3, [r7, #4] 80cb87a: 2b00 cmp r3, #0 80cb87c: f47f aeb7 bne.w 80cb5ee 80cb880: e000 b.n 80cb884 if (clst == 0) break; /* Could not allocate a new cluster (disk full) */ 80cb882: 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 */ 80cb884: 68fb ldr r3, [r7, #12] 80cb886: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80cb88a: f043 0340 orr.w r3, r3, #64 ; 0x40 80cb88e: b2da uxtb r2, r3 80cb890: 68fb ldr r3, [r7, #12] 80cb892: f883 2030 strb.w r2, [r3, #48] ; 0x30 LEAVE_FF(fs, FR_OK); 80cb896: 2300 movs r3, #0 } 80cb898: 4618 mov r0, r3 80cb89a: 3730 adds r7, #48 ; 0x30 80cb89c: 46bd mov sp, r7 80cb89e: bdb0 pop {r4, r5, r7, pc} 080cb8a0 : /*-----------------------------------------------------------------------*/ FRESULT f_sync ( FIL* fp /* Pointer to the file object */ ) { 80cb8a0: b590 push {r4, r7, lr} 80cb8a2: b09b sub sp, #108 ; 0x6c 80cb8a4: af00 add r7, sp, #0 80cb8a6: 6078 str r0, [r7, #4] #if _FS_EXFAT DIR dj; DEF_NAMBUF #endif res = validate(&fp->obj, &fs); /* Check validity of the file object */ 80cb8a8: 687b ldr r3, [r7, #4] 80cb8aa: f107 0258 add.w r2, r7, #88 ; 0x58 80cb8ae: 4611 mov r1, r2 80cb8b0: 4618 mov r0, r3 80cb8b2: f7ff fa3d bl 80cad30 80cb8b6: 4603 mov r3, r0 80cb8b8: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80cb8bc: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80cb8c0: 2b00 cmp r3, #0 80cb8c2: f040 80eb bne.w 80cba9c if (fp->flag & FA_MODIFIED) { /* Is there any change to the file? */ 80cb8c6: 687b ldr r3, [r7, #4] 80cb8c8: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80cb8cc: f003 0340 and.w r3, r3, #64 ; 0x40 80cb8d0: 2b00 cmp r3, #0 80cb8d2: f000 80e3 beq.w 80cba9c 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 */ 80cb8d6: f7f8 feb1 bl 80c463c 80cb8da: 6638 str r0, [r7, #96] ; 0x60 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80cb8dc: 6dbb ldr r3, [r7, #88] ; 0x58 80cb8de: 781b ldrb r3, [r3, #0] 80cb8e0: 2b04 cmp r3, #4 80cb8e2: f040 8090 bne.w 80cba06 res = fill_first_frag(&fp->obj); /* Fill first fragment on the FAT if needed */ 80cb8e6: 687b ldr r3, [r7, #4] 80cb8e8: 4618 mov r0, r3 80cb8ea: f7fc fde7 bl 80c84bc 80cb8ee: 4603 mov r3, r0 80cb8f0: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80cb8f4: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80cb8f8: 2b00 cmp r3, #0 80cb8fa: d10a bne.n 80cb912 res = fill_last_frag(&fp->obj, fp->clust, 0xFFFFFFFF); /* Fill last fragment on the FAT if needed */ 80cb8fc: 6878 ldr r0, [r7, #4] 80cb8fe: 687b ldr r3, [r7, #4] 80cb900: 6c1b ldr r3, [r3, #64] ; 0x40 80cb902: f04f 32ff mov.w r2, #4294967295 80cb906: 4619 mov r1, r3 80cb908: f7fc fe07 bl 80c851a 80cb90c: 4603 mov r3, r0 80cb90e: f887 3067 strb.w r3, [r7, #103] ; 0x67 } if (res == FR_OK) { 80cb912: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80cb916: 2b00 cmp r3, #0 80cb918: f040 80c0 bne.w 80cba9c INIT_NAMBUF(fs); res = load_obj_dir(&dj, &fp->obj); /* Load directory entry block */ 80cb91c: 687a ldr r2, [r7, #4] 80cb91e: f107 0308 add.w r3, r7, #8 80cb922: 4611 mov r1, r2 80cb924: 4618 mov r0, r3 80cb926: f7fd fdd3 bl 80c94d0 80cb92a: 4603 mov r3, r0 80cb92c: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80cb930: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80cb934: 2b00 cmp r3, #0 80cb936: f040 80b1 bne.w 80cba9c fs->dirbuf[XDIR_Attr] |= AM_ARC; /* Set archive bit */ 80cb93a: 6dbb ldr r3, [r7, #88] ; 0x58 80cb93c: 691b ldr r3, [r3, #16] 80cb93e: 3304 adds r3, #4 80cb940: 6dba ldr r2, [r7, #88] ; 0x58 80cb942: 6912 ldr r2, [r2, #16] 80cb944: 3204 adds r2, #4 80cb946: 7812 ldrb r2, [r2, #0] 80cb948: f042 0220 orr.w r2, r2, #32 80cb94c: b2d2 uxtb r2, r2 80cb94e: 701a strb r2, [r3, #0] fs->dirbuf[XDIR_GenFlags] = fp->obj.stat | 1; /* Update file allocation info */ 80cb950: 6dbb ldr r3, [r7, #88] ; 0x58 80cb952: 691b ldr r3, [r3, #16] 80cb954: 3321 adds r3, #33 ; 0x21 80cb956: 687a ldr r2, [r7, #4] 80cb958: 79d2 ldrb r2, [r2, #7] 80cb95a: f042 0201 orr.w r2, r2, #1 80cb95e: b2d2 uxtb r2, r2 80cb960: 701a strb r2, [r3, #0] st_dword(fs->dirbuf + XDIR_FstClus, fp->obj.sclust); 80cb962: 6dbb ldr r3, [r7, #88] ; 0x58 80cb964: 691b ldr r3, [r3, #16] 80cb966: f103 0234 add.w r2, r3, #52 ; 0x34 80cb96a: 687b ldr r3, [r7, #4] 80cb96c: 689b ldr r3, [r3, #8] 80cb96e: 4619 mov r1, r3 80cb970: 4610 mov r0, r2 80cb972: f7fc f878 bl 80c7a66 st_qword(fs->dirbuf + XDIR_FileSize, fp->obj.objsize); 80cb976: 6dbb ldr r3, [r7, #88] ; 0x58 80cb978: 691b ldr r3, [r3, #16] 80cb97a: f103 0138 add.w r1, r3, #56 ; 0x38 80cb97e: 687b ldr r3, [r7, #4] 80cb980: e9d3 3404 ldrd r3, r4, [r3, #16] 80cb984: 461a mov r2, r3 80cb986: 4623 mov r3, r4 80cb988: 4608 mov r0, r1 80cb98a: f7fc f898 bl 80c7abe st_qword(fs->dirbuf + XDIR_ValidFileSize, fp->obj.objsize); 80cb98e: 6dbb ldr r3, [r7, #88] ; 0x58 80cb990: 691b ldr r3, [r3, #16] 80cb992: f103 0128 add.w r1, r3, #40 ; 0x28 80cb996: 687b ldr r3, [r7, #4] 80cb998: e9d3 3404 ldrd r3, r4, [r3, #16] 80cb99c: 461a mov r2, r3 80cb99e: 4623 mov r3, r4 80cb9a0: 4608 mov r0, r1 80cb9a2: f7fc f88c bl 80c7abe st_dword(fs->dirbuf + XDIR_ModTime, tm); /* Update modified time */ 80cb9a6: 6dbb ldr r3, [r7, #88] ; 0x58 80cb9a8: 691b ldr r3, [r3, #16] 80cb9aa: 330c adds r3, #12 80cb9ac: 6e39 ldr r1, [r7, #96] ; 0x60 80cb9ae: 4618 mov r0, r3 80cb9b0: f7fc f859 bl 80c7a66 fs->dirbuf[XDIR_ModTime10] = 0; 80cb9b4: 6dbb ldr r3, [r7, #88] ; 0x58 80cb9b6: 691b ldr r3, [r3, #16] 80cb9b8: 3315 adds r3, #21 80cb9ba: 2200 movs r2, #0 80cb9bc: 701a strb r2, [r3, #0] st_dword(fs->dirbuf + XDIR_AccTime, 0); 80cb9be: 6dbb ldr r3, [r7, #88] ; 0x58 80cb9c0: 691b ldr r3, [r3, #16] 80cb9c2: 3310 adds r3, #16 80cb9c4: 2100 movs r1, #0 80cb9c6: 4618 mov r0, r3 80cb9c8: f7fc f84d bl 80c7a66 res = store_xdir(&dj); /* Restore it to the directory */ 80cb9cc: f107 0308 add.w r3, r7, #8 80cb9d0: 4618 mov r0, r3 80cb9d2: f7fd fdb7 bl 80c9544 80cb9d6: 4603 mov r3, r0 80cb9d8: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80cb9dc: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80cb9e0: 2b00 cmp r3, #0 80cb9e2: d15b bne.n 80cba9c res = sync_fs(fs); 80cb9e4: 6dbb ldr r3, [r7, #88] ; 0x58 80cb9e6: 4618 mov r0, r3 80cb9e8: f7fc f9e8 bl 80c7dbc 80cb9ec: 4603 mov r3, r0 80cb9ee: f887 3067 strb.w r3, [r7, #103] ; 0x67 fp->flag &= (BYTE)~FA_MODIFIED; 80cb9f2: 687b ldr r3, [r7, #4] 80cb9f4: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80cb9f8: f023 0340 bic.w r3, r3, #64 ; 0x40 80cb9fc: b2da uxtb r2, r3 80cb9fe: 687b ldr r3, [r7, #4] 80cba00: f883 2030 strb.w r2, [r3, #48] ; 0x30 80cba04: e04a b.n 80cba9c FREE_NAMBUF(); } } else #endif { res = move_window(fs, fp->dir_sect); 80cba06: 6dba ldr r2, [r7, #88] ; 0x58 80cba08: 687b ldr r3, [r7, #4] 80cba0a: 6c9b ldr r3, [r3, #72] ; 0x48 80cba0c: 4619 mov r1, r3 80cba0e: 4610 mov r0, r2 80cba10: f7fc f9a7 bl 80c7d62 80cba14: 4603 mov r3, r0 80cba16: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80cba1a: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80cba1e: 2b00 cmp r3, #0 80cba20: d13c bne.n 80cba9c dir = fp->dir_ptr; 80cba22: 687b ldr r3, [r7, #4] 80cba24: 6cdb ldr r3, [r3, #76] ; 0x4c 80cba26: 65fb str r3, [r7, #92] ; 0x5c dir[DIR_Attr] |= AM_ARC; /* Set archive bit */ 80cba28: 6dfb ldr r3, [r7, #92] ; 0x5c 80cba2a: 330b adds r3, #11 80cba2c: 6dfa ldr r2, [r7, #92] ; 0x5c 80cba2e: 320b adds r2, #11 80cba30: 7812 ldrb r2, [r2, #0] 80cba32: f042 0220 orr.w r2, r2, #32 80cba36: b2d2 uxtb r2, r2 80cba38: 701a strb r2, [r3, #0] st_clust(fp->obj.fs, dir, fp->obj.sclust); /* Update file allocation info */ 80cba3a: 687b ldr r3, [r7, #4] 80cba3c: 6818 ldr r0, [r3, #0] 80cba3e: 687b ldr r3, [r7, #4] 80cba40: 689b ldr r3, [r3, #8] 80cba42: 461a mov r2, r3 80cba44: 6df9 ldr r1, [r7, #92] ; 0x5c 80cba46: f7fd f962 bl 80c8d0e st_dword(dir + DIR_FileSize, (DWORD)fp->obj.objsize); /* Update file size */ 80cba4a: 6dfb ldr r3, [r7, #92] ; 0x5c 80cba4c: f103 021c add.w r2, r3, #28 80cba50: 687b ldr r3, [r7, #4] 80cba52: e9d3 3404 ldrd r3, r4, [r3, #16] 80cba56: 4619 mov r1, r3 80cba58: 4610 mov r0, r2 80cba5a: f7fc f804 bl 80c7a66 st_dword(dir + DIR_ModTime, tm); /* Update modified time */ 80cba5e: 6dfb ldr r3, [r7, #92] ; 0x5c 80cba60: 3316 adds r3, #22 80cba62: 6e39 ldr r1, [r7, #96] ; 0x60 80cba64: 4618 mov r0, r3 80cba66: f7fb fffe bl 80c7a66 st_word(dir + DIR_LstAccDate, 0); 80cba6a: 6dfb ldr r3, [r7, #92] ; 0x5c 80cba6c: 3312 adds r3, #18 80cba6e: 2100 movs r1, #0 80cba70: 4618 mov r0, r3 80cba72: f7fb ffdd bl 80c7a30 fs->wflag = 1; 80cba76: 6dbb ldr r3, [r7, #88] ; 0x58 80cba78: 2201 movs r2, #1 80cba7a: 70da strb r2, [r3, #3] res = sync_fs(fs); /* Restore it to the directory */ 80cba7c: 6dbb ldr r3, [r7, #88] ; 0x58 80cba7e: 4618 mov r0, r3 80cba80: f7fc f99c bl 80c7dbc 80cba84: 4603 mov r3, r0 80cba86: f887 3067 strb.w r3, [r7, #103] ; 0x67 fp->flag &= (BYTE)~FA_MODIFIED; 80cba8a: 687b ldr r3, [r7, #4] 80cba8c: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80cba90: f023 0340 bic.w r3, r3, #64 ; 0x40 80cba94: b2da uxtb r2, r3 80cba96: 687b ldr r3, [r7, #4] 80cba98: f883 2030 strb.w r2, [r3, #48] ; 0x30 } } } } LEAVE_FF(fs, res); 80cba9c: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 } 80cbaa0: 4618 mov r0, r3 80cbaa2: 376c adds r7, #108 ; 0x6c 80cbaa4: 46bd mov sp, r7 80cbaa6: bd90 pop {r4, r7, pc} 080cbaa8 : /*-----------------------------------------------------------------------*/ FRESULT f_close ( FIL* fp /* Pointer to the file object to be closed */ ) { 80cbaa8: b580 push {r7, lr} 80cbaaa: b084 sub sp, #16 80cbaac: af00 add r7, sp, #0 80cbaae: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs; #if !_FS_READONLY res = f_sync(fp); /* Flush cached data */ 80cbab0: 6878 ldr r0, [r7, #4] 80cbab2: f7ff fef5 bl 80cb8a0 80cbab6: 4603 mov r3, r0 80cbab8: 73fb strb r3, [r7, #15] if (res == FR_OK) 80cbaba: 7bfb ldrb r3, [r7, #15] 80cbabc: 2b00 cmp r3, #0 80cbabe: d10e bne.n 80cbade #endif { res = validate(&fp->obj, &fs); /* Lock volume */ 80cbac0: 687b ldr r3, [r7, #4] 80cbac2: f107 0208 add.w r2, r7, #8 80cbac6: 4611 mov r1, r2 80cbac8: 4618 mov r0, r3 80cbaca: f7ff f931 bl 80cad30 80cbace: 4603 mov r3, r0 80cbad0: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80cbad2: 7bfb ldrb r3, [r7, #15] 80cbad4: 2b00 cmp r3, #0 80cbad6: d102 bne.n 80cbade #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 */ 80cbad8: 687b ldr r3, [r7, #4] 80cbada: 2200 movs r2, #0 80cbadc: 601a str r2, [r3, #0] #if _FS_REENTRANT unlock_fs(fs, FR_OK); /* Unlock volume */ #endif } } return res; 80cbade: 7bfb ldrb r3, [r7, #15] } 80cbae0: 4618 mov r0, r3 80cbae2: 3710 adds r7, #16 80cbae4: 46bd mov sp, r7 80cbae6: bd80 pop {r7, pc} 080cbae8 : FRESULT f_lseek ( FIL* fp, /* Pointer to the file object */ FSIZE_t ofs /* File pointer from top of file */ ) { 80cbae8: e92d 43b0 stmdb sp!, {r4, r5, r7, r8, r9, lr} 80cbaec: b094 sub sp, #80 ; 0x50 80cbaee: af00 add r7, sp, #0 80cbaf0: 60f8 str r0, [r7, #12] 80cbaf2: 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 */ 80cbaf6: 68fb ldr r3, [r7, #12] 80cbaf8: f107 0210 add.w r2, r7, #16 80cbafc: 4611 mov r1, r2 80cbafe: 4618 mov r0, r3 80cbb00: f7ff f916 bl 80cad30 80cbb04: 4603 mov r3, r0 80cbb06: f887 304f strb.w r3, [r7, #79] ; 0x4f if (res == FR_OK) res = (FRESULT)fp->err; 80cbb0a: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80cbb0e: 2b00 cmp r3, #0 80cbb10: d104 bne.n 80cbb1c 80cbb12: 68fb ldr r3, [r7, #12] 80cbb14: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 80cbb18: f887 304f strb.w r3, [r7, #79] ; 0x4f #if _FS_EXFAT && !_FS_READONLY if (res == FR_OK && fs->fs_type == FS_EXFAT) { 80cbb1c: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80cbb20: 2b00 cmp r3, #0 80cbb22: d10e bne.n 80cbb42 80cbb24: 693b ldr r3, [r7, #16] 80cbb26: 781b ldrb r3, [r3, #0] 80cbb28: 2b04 cmp r3, #4 80cbb2a: d10a bne.n 80cbb42 res = fill_last_frag(&fp->obj, fp->clust, 0xFFFFFFFF); /* Fill last fragment on the FAT if needed */ 80cbb2c: 68f8 ldr r0, [r7, #12] 80cbb2e: 68fb ldr r3, [r7, #12] 80cbb30: 6c1b ldr r3, [r3, #64] ; 0x40 80cbb32: f04f 32ff mov.w r2, #4294967295 80cbb36: 4619 mov r1, r3 80cbb38: f7fc fcef bl 80c851a 80cbb3c: 4603 mov r3, r0 80cbb3e: f887 304f strb.w r3, [r7, #79] ; 0x4f } #endif if (res != FR_OK) LEAVE_FF(fs, res); 80cbb42: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80cbb46: 2b00 cmp r3, #0 80cbb48: d002 beq.n 80cbb50 80cbb4a: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80cbb4e: e24f b.n 80cbff0 #if _USE_FASTSEEK if (fp->cltbl) { /* Fast seek */ 80cbb50: 68fb ldr r3, [r7, #12] 80cbb52: 6d1b ldr r3, [r3, #80] ; 0x50 80cbb54: 2b00 cmp r3, #0 80cbb56: f000 80c8 beq.w 80cbcea if (ofs == CREATE_LINKMAP) { /* Create CLMT */ 80cbb5a: e897 0018 ldmia.w r7, {r3, r4} 80cbb5e: f1b4 3fff cmp.w r4, #4294967295 80cbb62: bf08 it eq 80cbb64: f1b3 3fff cmpeq.w r3, #4294967295 80cbb68: d15c bne.n 80cbc24 tbl = fp->cltbl; 80cbb6a: 68fb ldr r3, [r7, #12] 80cbb6c: 6d1b ldr r3, [r3, #80] ; 0x50 80cbb6e: 637b str r3, [r7, #52] ; 0x34 tlen = *tbl++; ulen = 2; /* Given table size and required table size */ 80cbb70: 6b7b ldr r3, [r7, #52] ; 0x34 80cbb72: 1d1a adds r2, r3, #4 80cbb74: 637a str r2, [r7, #52] ; 0x34 80cbb76: 681b ldr r3, [r3, #0] 80cbb78: 633b str r3, [r7, #48] ; 0x30 80cbb7a: 2302 movs r3, #2 80cbb7c: 63bb str r3, [r7, #56] ; 0x38 cl = fp->obj.sclust; /* Origin of the chain */ 80cbb7e: 68fb ldr r3, [r7, #12] 80cbb80: 689b ldr r3, [r3, #8] 80cbb82: 643b str r3, [r7, #64] ; 0x40 if (cl) { 80cbb84: 6c3b ldr r3, [r7, #64] ; 0x40 80cbb86: 2b00 cmp r3, #0 80cbb88: d03c beq.n 80cbc04 do { /* Get a fragment */ tcl = cl; ncl = 0; ulen += 2; /* Top, length and used items */ 80cbb8a: 6c3b ldr r3, [r7, #64] ; 0x40 80cbb8c: 62fb str r3, [r7, #44] ; 0x2c 80cbb8e: 2300 movs r3, #0 80cbb90: 63fb str r3, [r7, #60] ; 0x3c 80cbb92: 6bbb ldr r3, [r7, #56] ; 0x38 80cbb94: 3302 adds r3, #2 80cbb96: 63bb str r3, [r7, #56] ; 0x38 do { pcl = cl; ncl++; 80cbb98: 6c3b ldr r3, [r7, #64] ; 0x40 80cbb9a: 62bb str r3, [r7, #40] ; 0x28 80cbb9c: 6bfb ldr r3, [r7, #60] ; 0x3c 80cbb9e: 3301 adds r3, #1 80cbba0: 63fb str r3, [r7, #60] ; 0x3c cl = get_fat(&fp->obj, cl); 80cbba2: 68fb ldr r3, [r7, #12] 80cbba4: 6c39 ldr r1, [r7, #64] ; 0x40 80cbba6: 4618 mov r0, r3 80cbba8: f7fc f996 bl 80c7ed8 80cbbac: 6438 str r0, [r7, #64] ; 0x40 if (cl <= 1) ABORT(fs, FR_INT_ERR); 80cbbae: 6c3b ldr r3, [r7, #64] ; 0x40 80cbbb0: 2b01 cmp r3, #1 80cbbb2: d805 bhi.n 80cbbc0 80cbbb4: 68fb ldr r3, [r7, #12] 80cbbb6: 2202 movs r2, #2 80cbbb8: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cbbbc: 2302 movs r3, #2 80cbbbe: e217 b.n 80cbff0 if (cl == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80cbbc0: 6c3b ldr r3, [r7, #64] ; 0x40 80cbbc2: f1b3 3fff cmp.w r3, #4294967295 80cbbc6: d105 bne.n 80cbbd4 80cbbc8: 68fb ldr r3, [r7, #12] 80cbbca: 2201 movs r2, #1 80cbbcc: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cbbd0: 2301 movs r3, #1 80cbbd2: e20d b.n 80cbff0 } while (cl == pcl + 1); 80cbbd4: 6abb ldr r3, [r7, #40] ; 0x28 80cbbd6: 1c5a adds r2, r3, #1 80cbbd8: 6c3b ldr r3, [r7, #64] ; 0x40 80cbbda: 429a cmp r2, r3 80cbbdc: d0dc beq.n 80cbb98 if (ulen <= tlen) { /* Store the length and top of the fragment */ 80cbbde: 6bba ldr r2, [r7, #56] ; 0x38 80cbbe0: 6b3b ldr r3, [r7, #48] ; 0x30 80cbbe2: 429a cmp r2, r3 80cbbe4: d809 bhi.n 80cbbfa *tbl++ = ncl; *tbl++ = tcl; 80cbbe6: 6b7b ldr r3, [r7, #52] ; 0x34 80cbbe8: 1d1a adds r2, r3, #4 80cbbea: 637a str r2, [r7, #52] ; 0x34 80cbbec: 6bfa ldr r2, [r7, #60] ; 0x3c 80cbbee: 601a str r2, [r3, #0] 80cbbf0: 6b7b ldr r3, [r7, #52] ; 0x34 80cbbf2: 1d1a adds r2, r3, #4 80cbbf4: 637a str r2, [r7, #52] ; 0x34 80cbbf6: 6afa ldr r2, [r7, #44] ; 0x2c 80cbbf8: 601a str r2, [r3, #0] } } while (cl < fs->n_fatent); /* Repeat until end of chain */ 80cbbfa: 693b ldr r3, [r7, #16] 80cbbfc: 69da ldr r2, [r3, #28] 80cbbfe: 6c3b ldr r3, [r7, #64] ; 0x40 80cbc00: 429a cmp r2, r3 80cbc02: d8c2 bhi.n 80cbb8a } *fp->cltbl = ulen; /* Number of items used */ 80cbc04: 68fb ldr r3, [r7, #12] 80cbc06: 6d1b ldr r3, [r3, #80] ; 0x50 80cbc08: 6bba ldr r2, [r7, #56] ; 0x38 80cbc0a: 601a str r2, [r3, #0] if (ulen <= tlen) { 80cbc0c: 6bba ldr r2, [r7, #56] ; 0x38 80cbc0e: 6b3b ldr r3, [r7, #48] ; 0x30 80cbc10: 429a cmp r2, r3 80cbc12: d803 bhi.n 80cbc1c *tbl = 0; /* Terminate table */ 80cbc14: 6b7b ldr r3, [r7, #52] ; 0x34 80cbc16: 2200 movs r2, #0 80cbc18: 601a str r2, [r3, #0] 80cbc1a: e1e7 b.n 80cbfec } else { res = FR_NOT_ENOUGH_CORE; /* Given table size is smaller than required */ 80cbc1c: 2311 movs r3, #17 80cbc1e: f887 304f strb.w r3, [r7, #79] ; 0x4f 80cbc22: e1e3 b.n 80cbfec } } else { /* Fast seek */ if (ofs > fp->obj.objsize) ofs = fp->obj.objsize; /* Clip offset at the file size */ 80cbc24: 68fb ldr r3, [r7, #12] 80cbc26: e9d3 1204 ldrd r1, r2, [r3, #16] 80cbc2a: e897 0018 ldmia.w r7, {r3, r4} 80cbc2e: 42a2 cmp r2, r4 80cbc30: bf08 it eq 80cbc32: 4299 cmpeq r1, r3 80cbc34: d204 bcs.n 80cbc40 80cbc36: 68fb ldr r3, [r7, #12] 80cbc38: e9d3 3404 ldrd r3, r4, [r3, #16] 80cbc3c: e887 0018 stmia.w r7, {r3, r4} fp->fptr = ofs; /* Set file pointer */ 80cbc40: 68fa ldr r2, [r7, #12] 80cbc42: e897 0018 ldmia.w r7, {r3, r4} 80cbc46: e9c2 340e strd r3, r4, [r2, #56] ; 0x38 if (ofs) { 80cbc4a: e897 0018 ldmia.w r7, {r3, r4} 80cbc4e: 4323 orrs r3, r4 80cbc50: f000 81cc beq.w 80cbfec fp->clust = clmt_clust(fp, ofs - 1); 80cbc54: e897 0018 ldmia.w r7, {r3, r4} 80cbc58: f113 33ff adds.w r3, r3, #4294967295 80cbc5c: f144 34ff adc.w r4, r4, #4294967295 80cbc60: 461a mov r2, r3 80cbc62: 4623 mov r3, r4 80cbc64: 68f8 ldr r0, [r7, #12] 80cbc66: f7fc fe3e bl 80c88e6 80cbc6a: 4602 mov r2, r0 80cbc6c: 68fb ldr r3, [r7, #12] 80cbc6e: 641a str r2, [r3, #64] ; 0x40 dsc = clust2sect(fs, fp->clust); 80cbc70: 693a ldr r2, [r7, #16] 80cbc72: 68fb ldr r3, [r7, #12] 80cbc74: 6c1b ldr r3, [r3, #64] ; 0x40 80cbc76: 4619 mov r1, r3 80cbc78: 4610 mov r0, r2 80cbc7a: f7fc f90d bl 80c7e98 80cbc7e: 6278 str r0, [r7, #36] ; 0x24 if (!dsc) ABORT(fs, FR_INT_ERR); 80cbc80: 6a7b ldr r3, [r7, #36] ; 0x24 80cbc82: 2b00 cmp r3, #0 80cbc84: d105 bne.n 80cbc92 80cbc86: 68fb ldr r3, [r7, #12] 80cbc88: 2202 movs r2, #2 80cbc8a: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cbc8e: 2302 movs r3, #2 80cbc90: e1ae b.n 80cbff0 dsc += (DWORD)((ofs - 1) / SS(fs)) & (fs->csize - 1); 80cbc92: e897 0018 ldmia.w r7, {r3, r4} 80cbc96: f113 33ff adds.w r3, r3, #4294967295 80cbc9a: f144 34ff adc.w r4, r4, #4294967295 80cbc9e: ea4f 2853 mov.w r8, r3, lsr #9 80cbca2: ea48 58c4 orr.w r8, r8, r4, lsl #23 80cbca6: ea4f 2954 mov.w r9, r4, lsr #9 80cbcaa: 4642 mov r2, r8 80cbcac: 693b ldr r3, [r7, #16] 80cbcae: 895b ldrh r3, [r3, #10] 80cbcb0: 3b01 subs r3, #1 80cbcb2: 4013 ands r3, r2 80cbcb4: 6a7a ldr r2, [r7, #36] ; 0x24 80cbcb6: 4413 add r3, r2 80cbcb8: 627b str r3, [r7, #36] ; 0x24 if (fp->fptr % SS(fs) && dsc != fp->sect) { /* Refill sector cache if needed */ 80cbcba: 68fb ldr r3, [r7, #12] 80cbcbc: e9d3 340e ldrd r3, r4, [r3, #56] ; 0x38 80cbcc0: f240 11ff movw r1, #511 ; 0x1ff 80cbcc4: f04f 0200 mov.w r2, #0 80cbcc8: ea03 0301 and.w r3, r3, r1 80cbccc: ea04 0402 and.w r4, r4, r2 80cbcd0: 4323 orrs r3, r4 80cbcd2: f000 818b beq.w 80cbfec 80cbcd6: 68fb ldr r3, [r7, #12] 80cbcd8: 6c5a ldr r2, [r3, #68] ; 0x44 80cbcda: 6a7b ldr r3, [r7, #36] ; 0x24 80cbcdc: 429a cmp r2, r3 80cbcde: f000 8185 beq.w 80cbfec 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; 80cbce2: 68fb ldr r3, [r7, #12] 80cbce4: 6a7a ldr r2, [r7, #36] ; 0x24 80cbce6: 645a str r2, [r3, #68] ; 0x44 80cbce8: e180 b.n 80cbfec #endif /* Normal Seek */ { #if _FS_EXFAT if (fs->fs_type != FS_EXFAT && ofs >= 0x100000000) ofs = 0xFFFFFFFF; /* Clip at 4GiB-1 if at FATxx */ 80cbcea: 693b ldr r3, [r7, #16] 80cbcec: 781b ldrb r3, [r3, #0] 80cbcee: 2b04 cmp r3, #4 80cbcf0: d00b beq.n 80cbd0a 80cbcf2: e9d7 2300 ldrd r2, r3, [r7] 80cbcf6: 2b01 cmp r3, #1 80cbcf8: bf08 it eq 80cbcfa: 2a00 cmpeq r2, #0 80cbcfc: d305 bcc.n 80cbd0a 80cbcfe: f04f 32ff mov.w r2, #4294967295 80cbd02: f04f 0300 mov.w r3, #0 80cbd06: 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 */ 80cbd0a: 68fb ldr r3, [r7, #12] 80cbd0c: e9d3 0104 ldrd r0, r1, [r3, #16] 80cbd10: e9d7 2300 ldrd r2, r3, [r7] 80cbd14: 4299 cmp r1, r3 80cbd16: bf08 it eq 80cbd18: 4290 cmpeq r0, r2 80cbd1a: d20b bcs.n 80cbd34 80cbd1c: 68fb ldr r3, [r7, #12] 80cbd1e: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80cbd22: f003 0302 and.w r3, r3, #2 80cbd26: 2b00 cmp r3, #0 80cbd28: d104 bne.n 80cbd34 ofs = fp->obj.objsize; 80cbd2a: 68fb ldr r3, [r7, #12] 80cbd2c: e9d3 2304 ldrd r2, r3, [r3, #16] 80cbd30: e9c7 2300 strd r2, r3, [r7] } ifptr = fp->fptr; 80cbd34: 68fb ldr r3, [r7, #12] 80cbd36: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cbd3a: e9c7 2306 strd r2, r3, [r7, #24] fp->fptr = nsect = 0; 80cbd3e: 2300 movs r3, #0 80cbd40: 647b str r3, [r7, #68] ; 0x44 80cbd42: 68f9 ldr r1, [r7, #12] 80cbd44: f04f 0200 mov.w r2, #0 80cbd48: f04f 0300 mov.w r3, #0 80cbd4c: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 if (ofs) { 80cbd50: e9d7 2300 ldrd r2, r3, [r7] 80cbd54: 4313 orrs r3, r2 80cbd56: f000 811b beq.w 80cbf90 bcs = (DWORD)fs->csize * SS(fs); /* Cluster size (byte) */ 80cbd5a: 693b ldr r3, [r7, #16] 80cbd5c: 895b ldrh r3, [r3, #10] 80cbd5e: 025b lsls r3, r3, #9 80cbd60: 617b str r3, [r7, #20] if (ifptr > 0 && 80cbd62: e9d7 2306 ldrd r2, r3, [r7, #24] 80cbd66: 4313 orrs r3, r2 80cbd68: d045 beq.n 80cbdf6 (ofs - 1) / bcs >= (ifptr - 1) / bcs) { /* When seek to same or following cluster, */ 80cbd6a: e9d7 2300 ldrd r2, r3, [r7] 80cbd6e: f112 30ff adds.w r0, r2, #4294967295 80cbd72: f143 31ff adc.w r1, r3, #4294967295 80cbd76: 697b ldr r3, [r7, #20] 80cbd78: 461a mov r2, r3 80cbd7a: f04f 0300 mov.w r3, #0 80cbd7e: f754 fc35 bl 80205ec <__aeabi_uldivmod> 80cbd82: 4602 mov r2, r0 80cbd84: 460b mov r3, r1 80cbd86: 4690 mov r8, r2 80cbd88: 4699 mov r9, r3 80cbd8a: e9d7 2306 ldrd r2, r3, [r7, #24] 80cbd8e: f112 30ff adds.w r0, r2, #4294967295 80cbd92: f143 31ff adc.w r1, r3, #4294967295 80cbd96: 697b ldr r3, [r7, #20] 80cbd98: 461a mov r2, r3 80cbd9a: f04f 0300 mov.w r3, #0 80cbd9e: f754 fc25 bl 80205ec <__aeabi_uldivmod> 80cbda2: 4602 mov r2, r0 80cbda4: 460b mov r3, r1 if (ifptr > 0 && 80cbda6: 4599 cmp r9, r3 80cbda8: bf08 it eq 80cbdaa: 4590 cmpeq r8, r2 80cbdac: d323 bcc.n 80cbdf6 fp->fptr = (ifptr - 1) & ~(FSIZE_t)(bcs - 1); /* start from the current cluster */ 80cbdae: e9d7 2306 ldrd r2, r3, [r7, #24] 80cbdb2: f112 30ff adds.w r0, r2, #4294967295 80cbdb6: f143 31ff adc.w r1, r3, #4294967295 80cbdba: 697b ldr r3, [r7, #20] 80cbdbc: 3b01 subs r3, #1 80cbdbe: 461a mov r2, r3 80cbdc0: f04f 0300 mov.w r3, #0 80cbdc4: ea6f 0202 mvn.w r2, r2 80cbdc8: ea6f 0303 mvn.w r3, r3 80cbdcc: ea02 0200 and.w r2, r2, r0 80cbdd0: ea03 0301 and.w r3, r3, r1 80cbdd4: 68f9 ldr r1, [r7, #12] 80cbdd6: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 ofs -= fp->fptr; 80cbdda: 68fb ldr r3, [r7, #12] 80cbddc: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cbde0: e9d7 0100 ldrd r0, r1, [r7] 80cbde4: 1a82 subs r2, r0, r2 80cbde6: eb61 0303 sbc.w r3, r1, r3 80cbdea: e9c7 2300 strd r2, r3, [r7] clst = fp->clust; 80cbdee: 68fb ldr r3, [r7, #12] 80cbdf0: 6c1b ldr r3, [r3, #64] ; 0x40 80cbdf2: 64bb str r3, [r7, #72] ; 0x48 80cbdf4: e024 b.n 80cbe40 } else { /* When seek to back cluster, */ clst = fp->obj.sclust; /* start from the first cluster */ 80cbdf6: 68fb ldr r3, [r7, #12] 80cbdf8: 689b ldr r3, [r3, #8] 80cbdfa: 64bb str r3, [r7, #72] ; 0x48 #if !_FS_READONLY if (clst == 0) { /* If no cluster chain, create a new chain */ 80cbdfc: 6cbb ldr r3, [r7, #72] ; 0x48 80cbdfe: 2b00 cmp r3, #0 80cbe00: d11b bne.n 80cbe3a clst = create_chain(&fp->obj, 0); 80cbe02: 68fb ldr r3, [r7, #12] 80cbe04: 2100 movs r1, #0 80cbe06: 4618 mov r0, r3 80cbe08: f7fc fc6c bl 80c86e4 80cbe0c: 64b8 str r0, [r7, #72] ; 0x48 if (clst == 1) ABORT(fs, FR_INT_ERR); 80cbe0e: 6cbb ldr r3, [r7, #72] ; 0x48 80cbe10: 2b01 cmp r3, #1 80cbe12: d105 bne.n 80cbe20 80cbe14: 68fb ldr r3, [r7, #12] 80cbe16: 2202 movs r2, #2 80cbe18: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cbe1c: 2302 movs r3, #2 80cbe1e: e0e7 b.n 80cbff0 if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80cbe20: 6cbb ldr r3, [r7, #72] ; 0x48 80cbe22: f1b3 3fff cmp.w r3, #4294967295 80cbe26: d105 bne.n 80cbe34 80cbe28: 68fb ldr r3, [r7, #12] 80cbe2a: 2201 movs r2, #1 80cbe2c: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cbe30: 2301 movs r3, #1 80cbe32: e0dd b.n 80cbff0 fp->obj.sclust = clst; 80cbe34: 68fb ldr r3, [r7, #12] 80cbe36: 6cba ldr r2, [r7, #72] ; 0x48 80cbe38: 609a str r2, [r3, #8] } #endif fp->clust = clst; 80cbe3a: 68fb ldr r3, [r7, #12] 80cbe3c: 6cba ldr r2, [r7, #72] ; 0x48 80cbe3e: 641a str r2, [r3, #64] ; 0x40 } if (clst != 0) { 80cbe40: 6cbb ldr r3, [r7, #72] ; 0x48 80cbe42: 2b00 cmp r3, #0 80cbe44: f000 80a4 beq.w 80cbf90 while (ofs > bcs) { /* Cluster following loop */ 80cbe48: e068 b.n 80cbf1c ofs -= bcs; fp->fptr += bcs; 80cbe4a: 697b ldr r3, [r7, #20] 80cbe4c: 461a mov r2, r3 80cbe4e: f04f 0300 mov.w r3, #0 80cbe52: e9d7 0100 ldrd r0, r1, [r7] 80cbe56: 1a82 subs r2, r0, r2 80cbe58: eb61 0303 sbc.w r3, r1, r3 80cbe5c: e9c7 2300 strd r2, r3, [r7] 80cbe60: 68fb ldr r3, [r7, #12] 80cbe62: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80cbe66: 697b ldr r3, [r7, #20] 80cbe68: 461a mov r2, r3 80cbe6a: f04f 0300 mov.w r3, #0 80cbe6e: 1812 adds r2, r2, r0 80cbe70: eb43 0301 adc.w r3, r3, r1 80cbe74: 68f9 ldr r1, [r7, #12] 80cbe76: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 #if !_FS_READONLY if (fp->flag & FA_WRITE) { /* Check if in write mode or not */ 80cbe7a: 68fb ldr r3, [r7, #12] 80cbe7c: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80cbe80: f003 0302 and.w r3, r3, #2 80cbe84: 2b00 cmp r3, #0 80cbe86: d028 beq.n 80cbeda if (_FS_EXFAT && fp->fptr > fp->obj.objsize) { /* No FAT chain object needs correct objsize to generate FAT value */ 80cbe88: 68fb ldr r3, [r7, #12] 80cbe8a: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cbe8e: 68f9 ldr r1, [r7, #12] 80cbe90: e9d1 0104 ldrd r0, r1, [r1, #16] 80cbe94: 4299 cmp r1, r3 80cbe96: bf08 it eq 80cbe98: 4290 cmpeq r0, r2 80cbe9a: d20e bcs.n 80cbeba fp->obj.objsize = fp->fptr; 80cbe9c: 68fb ldr r3, [r7, #12] 80cbe9e: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cbea2: 68f9 ldr r1, [r7, #12] 80cbea4: e9c1 2304 strd r2, r3, [r1, #16] fp->flag |= FA_MODIFIED; 80cbea8: 68fb ldr r3, [r7, #12] 80cbeaa: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80cbeae: f043 0340 orr.w r3, r3, #64 ; 0x40 80cbeb2: b2da uxtb r2, r3 80cbeb4: 68fb ldr r3, [r7, #12] 80cbeb6: f883 2030 strb.w r2, [r3, #48] ; 0x30 } clst = create_chain(&fp->obj, clst); /* Follow chain with forceed stretch */ 80cbeba: 68fb ldr r3, [r7, #12] 80cbebc: 6cb9 ldr r1, [r7, #72] ; 0x48 80cbebe: 4618 mov r0, r3 80cbec0: f7fc fc10 bl 80c86e4 80cbec4: 64b8 str r0, [r7, #72] ; 0x48 if (clst == 0) { /* Clip file size in case of disk full */ 80cbec6: 6cbb ldr r3, [r7, #72] ; 0x48 80cbec8: 2b00 cmp r3, #0 80cbeca: d10c bne.n 80cbee6 ofs = 0; break; 80cbecc: f04f 0200 mov.w r2, #0 80cbed0: f04f 0300 mov.w r3, #0 80cbed4: e9c7 2300 strd r2, r3, [r7] 80cbed8: e02a b.n 80cbf30 } } else #endif { clst = get_fat(&fp->obj, clst); /* Follow cluster chain if not in write mode */ 80cbeda: 68fb ldr r3, [r7, #12] 80cbedc: 6cb9 ldr r1, [r7, #72] ; 0x48 80cbede: 4618 mov r0, r3 80cbee0: f7fb fffa bl 80c7ed8 80cbee4: 64b8 str r0, [r7, #72] ; 0x48 } if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80cbee6: 6cbb ldr r3, [r7, #72] ; 0x48 80cbee8: f1b3 3fff cmp.w r3, #4294967295 80cbeec: d105 bne.n 80cbefa 80cbeee: 68fb ldr r3, [r7, #12] 80cbef0: 2201 movs r2, #1 80cbef2: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cbef6: 2301 movs r3, #1 80cbef8: e07a b.n 80cbff0 if (clst <= 1 || clst >= fs->n_fatent) ABORT(fs, FR_INT_ERR); 80cbefa: 6cbb ldr r3, [r7, #72] ; 0x48 80cbefc: 2b01 cmp r3, #1 80cbefe: d904 bls.n 80cbf0a 80cbf00: 693b ldr r3, [r7, #16] 80cbf02: 69da ldr r2, [r3, #28] 80cbf04: 6cbb ldr r3, [r7, #72] ; 0x48 80cbf06: 429a cmp r2, r3 80cbf08: d805 bhi.n 80cbf16 80cbf0a: 68fb ldr r3, [r7, #12] 80cbf0c: 2202 movs r2, #2 80cbf0e: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cbf12: 2302 movs r3, #2 80cbf14: e06c b.n 80cbff0 fp->clust = clst; 80cbf16: 68fb ldr r3, [r7, #12] 80cbf18: 6cba ldr r2, [r7, #72] ; 0x48 80cbf1a: 641a str r2, [r3, #64] ; 0x40 while (ofs > bcs) { /* Cluster following loop */ 80cbf1c: 697b ldr r3, [r7, #20] 80cbf1e: 4618 mov r0, r3 80cbf20: f04f 0100 mov.w r1, #0 80cbf24: e9d7 2300 ldrd r2, r3, [r7] 80cbf28: 4299 cmp r1, r3 80cbf2a: bf08 it eq 80cbf2c: 4290 cmpeq r0, r2 80cbf2e: d38c bcc.n 80cbe4a } fp->fptr += ofs; 80cbf30: 68fb ldr r3, [r7, #12] 80cbf32: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80cbf36: e9d7 2300 ldrd r2, r3, [r7] 80cbf3a: 1812 adds r2, r2, r0 80cbf3c: eb43 0301 adc.w r3, r3, r1 80cbf40: 68f9 ldr r1, [r7, #12] 80cbf42: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 if (ofs % SS(fs)) { 80cbf46: e9d7 2300 ldrd r2, r3, [r7] 80cbf4a: f240 10ff movw r0, #511 ; 0x1ff 80cbf4e: f04f 0100 mov.w r1, #0 80cbf52: ea02 0200 and.w r2, r2, r0 80cbf56: ea03 0301 and.w r3, r3, r1 80cbf5a: 4313 orrs r3, r2 80cbf5c: d018 beq.n 80cbf90 nsect = clust2sect(fs, clst); /* Current sector */ 80cbf5e: 693b ldr r3, [r7, #16] 80cbf60: 6cb9 ldr r1, [r7, #72] ; 0x48 80cbf62: 4618 mov r0, r3 80cbf64: f7fb ff98 bl 80c7e98 80cbf68: 6478 str r0, [r7, #68] ; 0x44 if (!nsect) ABORT(fs, FR_INT_ERR); 80cbf6a: 6c7b ldr r3, [r7, #68] ; 0x44 80cbf6c: 2b00 cmp r3, #0 80cbf6e: d105 bne.n 80cbf7c 80cbf70: 68fb ldr r3, [r7, #12] 80cbf72: 2202 movs r2, #2 80cbf74: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cbf78: 2302 movs r3, #2 80cbf7a: e039 b.n 80cbff0 nsect += (DWORD)(ofs / SS(fs)); 80cbf7c: e9d7 2300 ldrd r2, r3, [r7] 80cbf80: 0a54 lsrs r4, r2, #9 80cbf82: ea44 54c3 orr.w r4, r4, r3, lsl #23 80cbf86: 0a5d lsrs r5, r3, #9 80cbf88: 4622 mov r2, r4 80cbf8a: 6c7b ldr r3, [r7, #68] ; 0x44 80cbf8c: 4413 add r3, r2 80cbf8e: 647b str r3, [r7, #68] ; 0x44 } } } if (!_FS_READONLY && fp->fptr > fp->obj.objsize) { /* Set file change flag if the file size is extended */ 80cbf90: 68fb ldr r3, [r7, #12] 80cbf92: e9d3 340e ldrd r3, r4, [r3, #56] ; 0x38 80cbf96: 68fa ldr r2, [r7, #12] 80cbf98: e9d2 1204 ldrd r1, r2, [r2, #16] 80cbf9c: 42a2 cmp r2, r4 80cbf9e: bf08 it eq 80cbfa0: 4299 cmpeq r1, r3 80cbfa2: d20e bcs.n 80cbfc2 fp->obj.objsize = fp->fptr; 80cbfa4: 68fb ldr r3, [r7, #12] 80cbfa6: e9d3 340e ldrd r3, r4, [r3, #56] ; 0x38 80cbfaa: 68fa ldr r2, [r7, #12] 80cbfac: e9c2 3404 strd r3, r4, [r2, #16] fp->flag |= FA_MODIFIED; 80cbfb0: 68fb ldr r3, [r7, #12] 80cbfb2: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80cbfb6: f043 0340 orr.w r3, r3, #64 ; 0x40 80cbfba: b2da uxtb r2, r3 80cbfbc: 68fb ldr r3, [r7, #12] 80cbfbe: f883 2030 strb.w r2, [r3, #48] ; 0x30 } if (fp->fptr % SS(fs) && nsect != fp->sect) { /* Fill sector cache if needed */ 80cbfc2: 68fb ldr r3, [r7, #12] 80cbfc4: e9d3 340e ldrd r3, r4, [r3, #56] ; 0x38 80cbfc8: f240 11ff movw r1, #511 ; 0x1ff 80cbfcc: f04f 0200 mov.w r2, #0 80cbfd0: ea03 0301 and.w r3, r3, r1 80cbfd4: ea04 0402 and.w r4, r4, r2 80cbfd8: 4323 orrs r3, r4 80cbfda: d007 beq.n 80cbfec 80cbfdc: 68fb ldr r3, [r7, #12] 80cbfde: 6c5a ldr r2, [r3, #68] ; 0x44 80cbfe0: 6c7b ldr r3, [r7, #68] ; 0x44 80cbfe2: 429a cmp r2, r3 80cbfe4: d002 beq.n 80cbfec 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; 80cbfe6: 68fb ldr r3, [r7, #12] 80cbfe8: 6c7a ldr r2, [r7, #68] ; 0x44 80cbfea: 645a str r2, [r3, #68] ; 0x44 } } LEAVE_FF(fs, res); 80cbfec: f897 304f ldrb.w r3, [r7, #79] ; 0x4f } 80cbff0: 4618 mov r0, r3 80cbff2: 3750 adds r7, #80 ; 0x50 80cbff4: 46bd mov sp, r7 80cbff6: e8bd 83b0 ldmia.w sp!, {r4, r5, r7, r8, r9, pc} 080cbffa : FRESULT f_opendir ( DIR* dp, /* Pointer to directory object to create */ const TCHAR* path /* Pointer to the directory path */ ) { 80cbffa: b590 push {r4, r7, lr} 80cbffc: b087 sub sp, #28 80cbffe: af00 add r7, sp, #0 80cc000: 6078 str r0, [r7, #4] 80cc002: 6039 str r1, [r7, #0] FATFS *fs; _FDID *obj; DEF_NAMBUF if (!dp) return FR_INVALID_OBJECT; 80cc004: 687b ldr r3, [r7, #4] 80cc006: 2b00 cmp r3, #0 80cc008: d101 bne.n 80cc00e 80cc00a: 2309 movs r3, #9 80cc00c: e080 b.n 80cc110 /* Get logical drive */ obj = &dp->obj; 80cc00e: 687b ldr r3, [r7, #4] 80cc010: 613b str r3, [r7, #16] res = find_volume(&path, &fs, 0); 80cc012: f107 010c add.w r1, r7, #12 80cc016: 463b mov r3, r7 80cc018: 2200 movs r2, #0 80cc01a: 4618 mov r0, r3 80cc01c: f7fe fb3e bl 80ca69c 80cc020: 4603 mov r3, r0 80cc022: 75fb strb r3, [r7, #23] if (res == FR_OK) { 80cc024: 7dfb ldrb r3, [r7, #23] 80cc026: 2b00 cmp r3, #0 80cc028: d16b bne.n 80cc102 obj->fs = fs; 80cc02a: 68fa ldr r2, [r7, #12] 80cc02c: 693b ldr r3, [r7, #16] 80cc02e: 601a str r2, [r3, #0] INIT_NAMBUF(fs); res = follow_path(dp, path); /* Follow the path to the directory */ 80cc030: 683b ldr r3, [r7, #0] 80cc032: 4619 mov r1, r3 80cc034: 6878 ldr r0, [r7, #4] 80cc036: f7fe f9e1 bl 80ca3fc 80cc03a: 4603 mov r3, r0 80cc03c: 75fb strb r3, [r7, #23] if (res == FR_OK) { /* Follow completed */ 80cc03e: 7dfb ldrb r3, [r7, #23] 80cc040: 2b00 cmp r3, #0 80cc042: d159 bne.n 80cc0f8 if (!(dp->fn[NSFLAG] & NS_NONAME)) { /* It is not the origin directory itself */ 80cc044: 687b ldr r3, [r7, #4] 80cc046: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80cc04a: b25b sxtb r3, r3 80cc04c: 2b00 cmp r3, #0 80cc04e: db46 blt.n 80cc0de if (obj->attr & AM_DIR) { /* This object is a sub-directory */ 80cc050: 693b ldr r3, [r7, #16] 80cc052: 799b ldrb r3, [r3, #6] 80cc054: f003 0310 and.w r3, r3, #16 80cc058: 2b00 cmp r3, #0 80cc05a: d03e beq.n 80cc0da #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80cc05c: 68fb ldr r3, [r7, #12] 80cc05e: 781b ldrb r3, [r3, #0] 80cc060: 2b04 cmp r3, #4 80cc062: d12f bne.n 80cc0c4 obj->c_scl = obj->sclust; /* Get containing directory inforamation */ 80cc064: 693b ldr r3, [r7, #16] 80cc066: 689a ldr r2, [r3, #8] 80cc068: 693b ldr r3, [r7, #16] 80cc06a: 621a str r2, [r3, #32] obj->c_size = ((DWORD)obj->objsize & 0xFFFFFF00) | obj->stat; 80cc06c: 693b ldr r3, [r7, #16] 80cc06e: e9d3 3404 ldrd r3, r4, [r3, #16] 80cc072: f023 03ff bic.w r3, r3, #255 ; 0xff 80cc076: 693a ldr r2, [r7, #16] 80cc078: 79d2 ldrb r2, [r2, #7] 80cc07a: 431a orrs r2, r3 80cc07c: 693b ldr r3, [r7, #16] 80cc07e: 625a str r2, [r3, #36] ; 0x24 obj->c_ofs = dp->blk_ofs; 80cc080: 687b ldr r3, [r7, #4] 80cc082: 6cda ldr r2, [r3, #76] ; 0x4c 80cc084: 693b ldr r3, [r7, #16] 80cc086: 629a str r2, [r3, #40] ; 0x28 obj->sclust = ld_dword(fs->dirbuf + XDIR_FstClus); /* Get object allocation info */ 80cc088: 68fb ldr r3, [r7, #12] 80cc08a: 691b ldr r3, [r3, #16] 80cc08c: 3334 adds r3, #52 ; 0x34 80cc08e: 4618 mov r0, r3 80cc090: f7fb fbfc bl 80c788c 80cc094: 4602 mov r2, r0 80cc096: 693b ldr r3, [r7, #16] 80cc098: 609a str r2, [r3, #8] obj->objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80cc09a: 68fb ldr r3, [r7, #12] 80cc09c: 691b ldr r3, [r3, #16] 80cc09e: 3338 adds r3, #56 ; 0x38 80cc0a0: 4618 mov r0, r3 80cc0a2: f7fb fc16 bl 80c78d2 80cc0a6: 4603 mov r3, r0 80cc0a8: 460c mov r4, r1 80cc0aa: 693a ldr r2, [r7, #16] 80cc0ac: e9c2 3404 strd r3, r4, [r2, #16] obj->stat = fs->dirbuf[XDIR_GenFlags] & 2; 80cc0b0: 68fb ldr r3, [r7, #12] 80cc0b2: 691b ldr r3, [r3, #16] 80cc0b4: 3321 adds r3, #33 ; 0x21 80cc0b6: 781b ldrb r3, [r3, #0] 80cc0b8: f003 0302 and.w r3, r3, #2 80cc0bc: b2da uxtb r2, r3 80cc0be: 693b ldr r3, [r7, #16] 80cc0c0: 71da strb r2, [r3, #7] 80cc0c2: e00c b.n 80cc0de } else #endif { obj->sclust = ld_clust(fs, dp->dir); /* Get object allocation info */ 80cc0c4: 68fa ldr r2, [r7, #12] 80cc0c6: 687b ldr r3, [r7, #4] 80cc0c8: 6bdb ldr r3, [r3, #60] ; 0x3c 80cc0ca: 4619 mov r1, r3 80cc0cc: 4610 mov r0, r2 80cc0ce: f7fc fdff bl 80c8cd0 80cc0d2: 4602 mov r2, r0 80cc0d4: 693b ldr r3, [r7, #16] 80cc0d6: 609a str r2, [r3, #8] 80cc0d8: e001 b.n 80cc0de } } else { /* This object is a file */ res = FR_NO_PATH; 80cc0da: 2305 movs r3, #5 80cc0dc: 75fb strb r3, [r7, #23] } } if (res == FR_OK) { 80cc0de: 7dfb ldrb r3, [r7, #23] 80cc0e0: 2b00 cmp r3, #0 80cc0e2: d109 bne.n 80cc0f8 obj->id = fs->id; 80cc0e4: 68fb ldr r3, [r7, #12] 80cc0e6: 88da ldrh r2, [r3, #6] 80cc0e8: 693b ldr r3, [r7, #16] 80cc0ea: 809a strh r2, [r3, #4] res = dir_sdi(dp, 0); /* Rewind directory */ 80cc0ec: 2100 movs r1, #0 80cc0ee: 6878 ldr r0, [r7, #4] 80cc0f0: f7fc fc37 bl 80c8962 80cc0f4: 4603 mov r3, r0 80cc0f6: 75fb strb r3, [r7, #23] } #endif } } FREE_NAMBUF(); if (res == FR_NO_FILE) res = FR_NO_PATH; 80cc0f8: 7dfb ldrb r3, [r7, #23] 80cc0fa: 2b04 cmp r3, #4 80cc0fc: d101 bne.n 80cc102 80cc0fe: 2305 movs r3, #5 80cc100: 75fb strb r3, [r7, #23] } if (res != FR_OK) obj->fs = 0; /* Invalidate the directory object if function faild */ 80cc102: 7dfb ldrb r3, [r7, #23] 80cc104: 2b00 cmp r3, #0 80cc106: d002 beq.n 80cc10e 80cc108: 693b ldr r3, [r7, #16] 80cc10a: 2200 movs r2, #0 80cc10c: 601a str r2, [r3, #0] LEAVE_FF(fs, res); 80cc10e: 7dfb ldrb r3, [r7, #23] } 80cc110: 4618 mov r0, r3 80cc112: 371c adds r7, #28 80cc114: 46bd mov sp, r7 80cc116: bd90 pop {r4, r7, pc} 080cc118 : /*-----------------------------------------------------------------------*/ FRESULT f_closedir ( DIR *dp /* Pointer to the directory object to be closed */ ) { 80cc118: b580 push {r7, lr} 80cc11a: b084 sub sp, #16 80cc11c: af00 add r7, sp, #0 80cc11e: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs; res = validate(&dp->obj, &fs); /* Check validity of the file object */ 80cc120: 687b ldr r3, [r7, #4] 80cc122: f107 0208 add.w r2, r7, #8 80cc126: 4611 mov r1, r2 80cc128: 4618 mov r0, r3 80cc12a: f7fe fe01 bl 80cad30 80cc12e: 4603 mov r3, r0 80cc130: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80cc132: 7bfb ldrb r3, [r7, #15] 80cc134: 2b00 cmp r3, #0 80cc136: d102 bne.n 80cc13e res = dec_lock(dp->obj.lockid); } if (res == FR_OK) #endif { dp->obj.fs = 0; /* Invalidate directory object */ 80cc138: 687b ldr r3, [r7, #4] 80cc13a: 2200 movs r2, #0 80cc13c: 601a str r2, [r3, #0] } #if _FS_REENTRANT unlock_fs(fs, FR_OK); /* Unlock volume */ #endif } return res; 80cc13e: 7bfb ldrb r3, [r7, #15] } 80cc140: 4618 mov r0, r3 80cc142: 3710 adds r7, #16 80cc144: 46bd mov sp, r7 80cc146: bd80 pop {r7, pc} 080cc148 : FRESULT f_readdir ( DIR* dp, /* Pointer to the open directory object */ FILINFO* fno /* Pointer to file information to return */ ) { 80cc148: b580 push {r7, lr} 80cc14a: b084 sub sp, #16 80cc14c: af00 add r7, sp, #0 80cc14e: 6078 str r0, [r7, #4] 80cc150: 6039 str r1, [r7, #0] FRESULT res; FATFS *fs; DEF_NAMBUF res = validate(&dp->obj, &fs); /* Check validity of the directory object */ 80cc152: 687b ldr r3, [r7, #4] 80cc154: f107 0208 add.w r2, r7, #8 80cc158: 4611 mov r1, r2 80cc15a: 4618 mov r0, r3 80cc15c: f7fe fde8 bl 80cad30 80cc160: 4603 mov r3, r0 80cc162: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80cc164: 7bfb ldrb r3, [r7, #15] 80cc166: 2b00 cmp r3, #0 80cc168: d126 bne.n 80cc1b8 if (!fno) { 80cc16a: 683b ldr r3, [r7, #0] 80cc16c: 2b00 cmp r3, #0 80cc16e: d106 bne.n 80cc17e res = dir_sdi(dp, 0); /* Rewind the directory object */ 80cc170: 2100 movs r1, #0 80cc172: 6878 ldr r0, [r7, #4] 80cc174: f7fc fbf5 bl 80c8962 80cc178: 4603 mov r3, r0 80cc17a: 73fb strb r3, [r7, #15] 80cc17c: e01c b.n 80cc1b8 } else { INIT_NAMBUF(fs); res = dir_read(dp, 0); /* Read an item */ 80cc17e: 2100 movs r1, #0 80cc180: 6878 ldr r0, [r7, #4] 80cc182: f7fd faa1 bl 80c96c8 80cc186: 4603 mov r3, r0 80cc188: 73fb strb r3, [r7, #15] if (res == FR_NO_FILE) res = FR_OK; /* Ignore end of directory */ 80cc18a: 7bfb ldrb r3, [r7, #15] 80cc18c: 2b04 cmp r3, #4 80cc18e: d101 bne.n 80cc194 80cc190: 2300 movs r3, #0 80cc192: 73fb strb r3, [r7, #15] if (res == FR_OK) { /* A valid entry is found */ 80cc194: 7bfb ldrb r3, [r7, #15] 80cc196: 2b00 cmp r3, #0 80cc198: d10e bne.n 80cc1b8 get_fileinfo(dp, fno); /* Get the object information */ 80cc19a: 6839 ldr r1, [r7, #0] 80cc19c: 6878 ldr r0, [r7, #4] 80cc19e: f7fd fe89 bl 80c9eb4 res = dir_next(dp, 0); /* Increment index for next */ 80cc1a2: 2100 movs r1, #0 80cc1a4: 6878 ldr r0, [r7, #4] 80cc1a6: f7fc fc62 bl 80c8a6e 80cc1aa: 4603 mov r3, r0 80cc1ac: 73fb strb r3, [r7, #15] if (res == FR_NO_FILE) res = FR_OK; /* Ignore end of directory now */ 80cc1ae: 7bfb ldrb r3, [r7, #15] 80cc1b0: 2b04 cmp r3, #4 80cc1b2: d101 bne.n 80cc1b8 80cc1b4: 2300 movs r3, #0 80cc1b6: 73fb strb r3, [r7, #15] } FREE_NAMBUF(); } } LEAVE_FF(fs, res); 80cc1b8: 7bfb ldrb r3, [r7, #15] } 80cc1ba: 4618 mov r0, r3 80cc1bc: 3710 adds r7, #16 80cc1be: 46bd mov sp, r7 80cc1c0: bd80 pop {r7, pc} 080cc1c2 : 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 */ ) { 80cc1c2: b580 push {r7, lr} 80cc1c4: b09a sub sp, #104 ; 0x68 80cc1c6: af00 add r7, sp, #0 80cc1c8: 60f8 str r0, [r7, #12] 80cc1ca: 60b9 str r1, [r7, #8] 80cc1cc: 607a str r2, [r7, #4] BYTE *p; _FDID obj; /* Get logical drive */ res = find_volume(&path, &fs, 0); 80cc1ce: f107 0140 add.w r1, r7, #64 ; 0x40 80cc1d2: f107 030c add.w r3, r7, #12 80cc1d6: 2200 movs r2, #0 80cc1d8: 4618 mov r0, r3 80cc1da: f7fe fa5f bl 80ca69c 80cc1de: 4603 mov r3, r0 80cc1e0: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80cc1e4: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80cc1e8: 2b00 cmp r3, #0 80cc1ea: f040 80e6 bne.w 80cc3ba *fatfs = fs; /* Return ptr to the fs object */ 80cc1ee: 6c3a ldr r2, [r7, #64] ; 0x40 80cc1f0: 687b ldr r3, [r7, #4] 80cc1f2: 601a str r2, [r3, #0] /* If free_clst is valid, return it without full cluster scan */ if (fs->free_clst <= fs->n_fatent - 2) { 80cc1f4: 6c3b ldr r3, [r7, #64] ; 0x40 80cc1f6: 699a ldr r2, [r3, #24] 80cc1f8: 6c3b ldr r3, [r7, #64] ; 0x40 80cc1fa: 69db ldr r3, [r3, #28] 80cc1fc: 3b02 subs r3, #2 80cc1fe: 429a cmp r2, r3 80cc200: d804 bhi.n 80cc20c *nclst = fs->free_clst; 80cc202: 6c3b ldr r3, [r7, #64] ; 0x40 80cc204: 699a ldr r2, [r3, #24] 80cc206: 68bb ldr r3, [r7, #8] 80cc208: 601a str r2, [r3, #0] 80cc20a: e0d6 b.n 80cc3ba } else { /* Get number of free clusters */ nfree = 0; 80cc20c: 2300 movs r3, #0 80cc20e: 663b str r3, [r7, #96] ; 0x60 if (fs->fs_type == FS_FAT12) { /* FAT12: Sector unalighed FAT entries */ 80cc210: 6c3b ldr r3, [r7, #64] ; 0x40 80cc212: 781b ldrb r3, [r3, #0] 80cc214: 2b01 cmp r3, #1 80cc216: d128 bne.n 80cc26a clst = 2; obj.fs = fs; 80cc218: 2302 movs r3, #2 80cc21a: 65fb str r3, [r7, #92] ; 0x5c 80cc21c: 6c3b ldr r3, [r7, #64] ; 0x40 80cc21e: 613b str r3, [r7, #16] do { stat = get_fat(&obj, clst); 80cc220: f107 0310 add.w r3, r7, #16 80cc224: 6df9 ldr r1, [r7, #92] ; 0x5c 80cc226: 4618 mov r0, r3 80cc228: f7fb fe56 bl 80c7ed8 80cc22c: 6478 str r0, [r7, #68] ; 0x44 if (stat == 0xFFFFFFFF) { res = FR_DISK_ERR; break; } 80cc22e: 6c7b ldr r3, [r7, #68] ; 0x44 80cc230: f1b3 3fff cmp.w r3, #4294967295 80cc234: d103 bne.n 80cc23e 80cc236: 2301 movs r3, #1 80cc238: f887 3067 strb.w r3, [r7, #103] ; 0x67 80cc23c: e0b0 b.n 80cc3a0 if (stat == 1) { res = FR_INT_ERR; break; } 80cc23e: 6c7b ldr r3, [r7, #68] ; 0x44 80cc240: 2b01 cmp r3, #1 80cc242: d103 bne.n 80cc24c 80cc244: 2302 movs r3, #2 80cc246: f887 3067 strb.w r3, [r7, #103] ; 0x67 80cc24a: e0a9 b.n 80cc3a0 if (stat == 0) nfree++; 80cc24c: 6c7b ldr r3, [r7, #68] ; 0x44 80cc24e: 2b00 cmp r3, #0 80cc250: d102 bne.n 80cc258 80cc252: 6e3b ldr r3, [r7, #96] ; 0x60 80cc254: 3301 adds r3, #1 80cc256: 663b str r3, [r7, #96] ; 0x60 } while (++clst < fs->n_fatent); 80cc258: 6dfb ldr r3, [r7, #92] ; 0x5c 80cc25a: 3301 adds r3, #1 80cc25c: 65fb str r3, [r7, #92] ; 0x5c 80cc25e: 6c3b ldr r3, [r7, #64] ; 0x40 80cc260: 69db ldr r3, [r3, #28] 80cc262: 6dfa ldr r2, [r7, #92] ; 0x5c 80cc264: 429a cmp r2, r3 80cc266: d3db bcc.n 80cc220 80cc268: e09a b.n 80cc3a0 } else { #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* exFAT: Scan bitmap table */ 80cc26a: 6c3b ldr r3, [r7, #64] ; 0x40 80cc26c: 781b ldrb r3, [r3, #0] 80cc26e: 2b04 cmp r3, #4 80cc270: d146 bne.n 80cc300 BYTE bm; UINT b; clst = fs->n_fatent - 2; 80cc272: 6c3b ldr r3, [r7, #64] ; 0x40 80cc274: 69db ldr r3, [r3, #28] 80cc276: 3b02 subs r3, #2 80cc278: 65fb str r3, [r7, #92] ; 0x5c sect = fs->database; 80cc27a: 6c3b ldr r3, [r7, #64] ; 0x40 80cc27c: 6b1b ldr r3, [r3, #48] ; 0x30 80cc27e: 65bb str r3, [r7, #88] ; 0x58 i = 0; 80cc280: 2300 movs r3, #0 80cc282: 657b str r3, [r7, #84] ; 0x54 do { if (i == 0 && (res = move_window(fs, sect++)) != FR_OK) break; 80cc284: 6d7b ldr r3, [r7, #84] ; 0x54 80cc286: 2b00 cmp r3, #0 80cc288: d10d bne.n 80cc2a6 80cc28a: 6c38 ldr r0, [r7, #64] ; 0x40 80cc28c: 6dbb ldr r3, [r7, #88] ; 0x58 80cc28e: 1c5a adds r2, r3, #1 80cc290: 65ba str r2, [r7, #88] ; 0x58 80cc292: 4619 mov r1, r3 80cc294: f7fb fd65 bl 80c7d62 80cc298: 4603 mov r3, r0 80cc29a: f887 3067 strb.w r3, [r7, #103] ; 0x67 80cc29e: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80cc2a2: 2b00 cmp r3, #0 80cc2a4: d179 bne.n 80cc39a for (b = 8, bm = fs->win[i]; b && clst; b--, clst--) { 80cc2a6: 2308 movs r3, #8 80cc2a8: 64bb str r3, [r7, #72] ; 0x48 80cc2aa: 6c3a ldr r2, [r7, #64] ; 0x40 80cc2ac: 6d7b ldr r3, [r7, #84] ; 0x54 80cc2ae: 4413 add r3, r2 80cc2b0: 3338 adds r3, #56 ; 0x38 80cc2b2: 781b ldrb r3, [r3, #0] 80cc2b4: f887 304f strb.w r3, [r7, #79] ; 0x4f 80cc2b8: e013 b.n 80cc2e2 if (!(bm & 1)) nfree++; 80cc2ba: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80cc2be: f003 0301 and.w r3, r3, #1 80cc2c2: 2b00 cmp r3, #0 80cc2c4: d102 bne.n 80cc2cc 80cc2c6: 6e3b ldr r3, [r7, #96] ; 0x60 80cc2c8: 3301 adds r3, #1 80cc2ca: 663b str r3, [r7, #96] ; 0x60 bm >>= 1; 80cc2cc: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80cc2d0: 085b lsrs r3, r3, #1 80cc2d2: f887 304f strb.w r3, [r7, #79] ; 0x4f for (b = 8, bm = fs->win[i]; b && clst; b--, clst--) { 80cc2d6: 6cbb ldr r3, [r7, #72] ; 0x48 80cc2d8: 3b01 subs r3, #1 80cc2da: 64bb str r3, [r7, #72] ; 0x48 80cc2dc: 6dfb ldr r3, [r7, #92] ; 0x5c 80cc2de: 3b01 subs r3, #1 80cc2e0: 65fb str r3, [r7, #92] ; 0x5c 80cc2e2: 6cbb ldr r3, [r7, #72] ; 0x48 80cc2e4: 2b00 cmp r3, #0 80cc2e6: d002 beq.n 80cc2ee 80cc2e8: 6dfb ldr r3, [r7, #92] ; 0x5c 80cc2ea: 2b00 cmp r3, #0 80cc2ec: d1e5 bne.n 80cc2ba } i = (i + 1) % SS(fs); 80cc2ee: 6d7b ldr r3, [r7, #84] ; 0x54 80cc2f0: 3301 adds r3, #1 80cc2f2: f3c3 0308 ubfx r3, r3, #0, #9 80cc2f6: 657b str r3, [r7, #84] ; 0x54 } while (clst); 80cc2f8: 6dfb ldr r3, [r7, #92] ; 0x5c 80cc2fa: 2b00 cmp r3, #0 80cc2fc: d1c2 bne.n 80cc284 80cc2fe: e04f b.n 80cc3a0 } else #endif { /* FAT16/32: Sector alighed FAT entries */ clst = fs->n_fatent; sect = fs->fatbase; 80cc300: 6c3b ldr r3, [r7, #64] ; 0x40 80cc302: 69db ldr r3, [r3, #28] 80cc304: 65fb str r3, [r7, #92] ; 0x5c 80cc306: 6c3b ldr r3, [r7, #64] ; 0x40 80cc308: 6a9b ldr r3, [r3, #40] ; 0x28 80cc30a: 65bb str r3, [r7, #88] ; 0x58 i = 0; p = 0; 80cc30c: 2300 movs r3, #0 80cc30e: 657b str r3, [r7, #84] ; 0x54 80cc310: 2300 movs r3, #0 80cc312: 653b str r3, [r7, #80] ; 0x50 do { if (i == 0) { 80cc314: 6d7b ldr r3, [r7, #84] ; 0x54 80cc316: 2b00 cmp r3, #0 80cc318: d113 bne.n 80cc342 res = move_window(fs, sect++); 80cc31a: 6c38 ldr r0, [r7, #64] ; 0x40 80cc31c: 6dbb ldr r3, [r7, #88] ; 0x58 80cc31e: 1c5a adds r2, r3, #1 80cc320: 65ba str r2, [r7, #88] ; 0x58 80cc322: 4619 mov r1, r3 80cc324: f7fb fd1d bl 80c7d62 80cc328: 4603 mov r3, r0 80cc32a: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res != FR_OK) break; 80cc32e: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80cc332: 2b00 cmp r3, #0 80cc334: d133 bne.n 80cc39e p = fs->win; 80cc336: 6c3b ldr r3, [r7, #64] ; 0x40 80cc338: 3338 adds r3, #56 ; 0x38 80cc33a: 653b str r3, [r7, #80] ; 0x50 i = SS(fs); 80cc33c: f44f 7300 mov.w r3, #512 ; 0x200 80cc340: 657b str r3, [r7, #84] ; 0x54 } if (fs->fs_type == FS_FAT16) { 80cc342: 6c3b ldr r3, [r7, #64] ; 0x40 80cc344: 781b ldrb r3, [r3, #0] 80cc346: 2b02 cmp r3, #2 80cc348: d10f bne.n 80cc36a if (ld_word(p) == 0) nfree++; 80cc34a: 6d38 ldr r0, [r7, #80] ; 0x50 80cc34c: f7fb fa86 bl 80c785c 80cc350: 4603 mov r3, r0 80cc352: 2b00 cmp r3, #0 80cc354: d102 bne.n 80cc35c 80cc356: 6e3b ldr r3, [r7, #96] ; 0x60 80cc358: 3301 adds r3, #1 80cc35a: 663b str r3, [r7, #96] ; 0x60 p += 2; i -= 2; 80cc35c: 6d3b ldr r3, [r7, #80] ; 0x50 80cc35e: 3302 adds r3, #2 80cc360: 653b str r3, [r7, #80] ; 0x50 80cc362: 6d7b ldr r3, [r7, #84] ; 0x54 80cc364: 3b02 subs r3, #2 80cc366: 657b str r3, [r7, #84] ; 0x54 80cc368: e010 b.n 80cc38c } else { if ((ld_dword(p) & 0x0FFFFFFF) == 0) nfree++; 80cc36a: 6d38 ldr r0, [r7, #80] ; 0x50 80cc36c: f7fb fa8e bl 80c788c 80cc370: 4603 mov r3, r0 80cc372: f023 4370 bic.w r3, r3, #4026531840 ; 0xf0000000 80cc376: 2b00 cmp r3, #0 80cc378: d102 bne.n 80cc380 80cc37a: 6e3b ldr r3, [r7, #96] ; 0x60 80cc37c: 3301 adds r3, #1 80cc37e: 663b str r3, [r7, #96] ; 0x60 p += 4; i -= 4; 80cc380: 6d3b ldr r3, [r7, #80] ; 0x50 80cc382: 3304 adds r3, #4 80cc384: 653b str r3, [r7, #80] ; 0x50 80cc386: 6d7b ldr r3, [r7, #84] ; 0x54 80cc388: 3b04 subs r3, #4 80cc38a: 657b str r3, [r7, #84] ; 0x54 } } while (--clst); 80cc38c: 6dfb ldr r3, [r7, #92] ; 0x5c 80cc38e: 3b01 subs r3, #1 80cc390: 65fb str r3, [r7, #92] ; 0x5c 80cc392: 6dfb ldr r3, [r7, #92] ; 0x5c 80cc394: 2b00 cmp r3, #0 80cc396: d1bd bne.n 80cc314 80cc398: e002 b.n 80cc3a0 if (i == 0 && (res = move_window(fs, sect++)) != FR_OK) break; 80cc39a: bf00 nop 80cc39c: e000 b.n 80cc3a0 if (res != FR_OK) break; 80cc39e: bf00 nop } } *nclst = nfree; /* Return the free clusters */ 80cc3a0: 68bb ldr r3, [r7, #8] 80cc3a2: 6e3a ldr r2, [r7, #96] ; 0x60 80cc3a4: 601a str r2, [r3, #0] fs->free_clst = nfree; /* Now free_clst is valid */ 80cc3a6: 6c3b ldr r3, [r7, #64] ; 0x40 80cc3a8: 6e3a ldr r2, [r7, #96] ; 0x60 80cc3aa: 619a str r2, [r3, #24] fs->fsi_flag |= 1; /* FSInfo is to be updated */ 80cc3ac: 6c3b ldr r3, [r7, #64] ; 0x40 80cc3ae: 6c3a ldr r2, [r7, #64] ; 0x40 80cc3b0: 7912 ldrb r2, [r2, #4] 80cc3b2: f042 0201 orr.w r2, r2, #1 80cc3b6: b2d2 uxtb r2, r2 80cc3b8: 711a strb r2, [r3, #4] } } LEAVE_FF(fs, res); 80cc3ba: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 } 80cc3be: 4618 mov r0, r3 80cc3c0: 3768 adds r7, #104 ; 0x68 80cc3c2: 46bd mov sp, r7 80cc3c4: bd80 pop {r7, pc} 080cc3c6 : /*-----------------------------------------------------------------------*/ FRESULT f_unlink ( const TCHAR* path /* Pointer to the file or directory path */ ) { 80cc3c6: b590 push {r4, r7, lr} 80cc3c8: b0bb sub sp, #236 ; 0xec 80cc3ca: af00 add r7, sp, #0 80cc3cc: 6078 str r0, [r7, #4] FRESULT res; DIR dj, sdj; DWORD dclst = 0; 80cc3ce: 2300 movs r3, #0 80cc3d0: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 #endif DEF_NAMBUF /* Get logical drive */ res = find_volume(&path, &fs, FA_WRITE); 80cc3d4: f107 013c add.w r1, r7, #60 ; 0x3c 80cc3d8: 1d3b adds r3, r7, #4 80cc3da: 2202 movs r2, #2 80cc3dc: 4618 mov r0, r3 80cc3de: f7fe f95d bl 80ca69c 80cc3e2: 4603 mov r3, r0 80cc3e4: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 dj.obj.fs = fs; 80cc3e8: 6bfb ldr r3, [r7, #60] ; 0x3c 80cc3ea: f8c7 3090 str.w r3, [r7, #144] ; 0x90 if (res == FR_OK) { 80cc3ee: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80cc3f2: 2b00 cmp r3, #0 80cc3f4: f040 80b6 bne.w 80cc564 INIT_NAMBUF(fs); res = follow_path(&dj, path); /* Follow the file path */ 80cc3f8: 687a ldr r2, [r7, #4] 80cc3fa: f107 0390 add.w r3, r7, #144 ; 0x90 80cc3fe: 4611 mov r1, r2 80cc400: 4618 mov r0, r3 80cc402: f7fd fffb bl 80ca3fc 80cc406: 4603 mov r3, r0 80cc408: 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 */ 80cc40c: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80cc410: 2b00 cmp r3, #0 80cc412: f040 80a7 bne.w 80cc564 if (dj.fn[NSFLAG] & NS_NONAME) { 80cc416: f897 30db ldrb.w r3, [r7, #219] ; 0xdb 80cc41a: b25b sxtb r3, r3 80cc41c: 2b00 cmp r3, #0 80cc41e: da03 bge.n 80cc428 res = FR_INVALID_NAME; /* Cannot remove the origin directory */ 80cc420: 2306 movs r3, #6 80cc422: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 80cc426: e008 b.n 80cc43a } else { if (dj.obj.attr & AM_RDO) { 80cc428: f897 3096 ldrb.w r3, [r7, #150] ; 0x96 80cc42c: f003 0301 and.w r3, r3, #1 80cc430: 2b00 cmp r3, #0 80cc432: d002 beq.n 80cc43a res = FR_DENIED; /* Cannot remove R/O object */ 80cc434: 2307 movs r3, #7 80cc436: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 } } if (res == FR_OK) { 80cc43a: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80cc43e: 2b00 cmp r3, #0 80cc440: d166 bne.n 80cc510 #if _FS_EXFAT obj.fs = fs; 80cc442: 6bfb ldr r3, [r7, #60] ; 0x3c 80cc444: 60bb str r3, [r7, #8] if (fs->fs_type == FS_EXFAT) { 80cc446: 6bfb ldr r3, [r7, #60] ; 0x3c 80cc448: 781b ldrb r3, [r3, #0] 80cc44a: 2b04 cmp r3, #4 80cc44c: d11d bne.n 80cc48a obj.sclust = dclst = ld_dword(fs->dirbuf + XDIR_FstClus); 80cc44e: 6bfb ldr r3, [r7, #60] ; 0x3c 80cc450: 691b ldr r3, [r3, #16] 80cc452: 3334 adds r3, #52 ; 0x34 80cc454: 4618 mov r0, r3 80cc456: f7fb fa19 bl 80c788c 80cc45a: f8c7 00e0 str.w r0, [r7, #224] ; 0xe0 80cc45e: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80cc462: 613b str r3, [r7, #16] obj.objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80cc464: 6bfb ldr r3, [r7, #60] ; 0x3c 80cc466: 691b ldr r3, [r3, #16] 80cc468: 3338 adds r3, #56 ; 0x38 80cc46a: 4618 mov r0, r3 80cc46c: f7fb fa31 bl 80c78d2 80cc470: 4603 mov r3, r0 80cc472: 460c mov r4, r1 80cc474: e9c7 3406 strd r3, r4, [r7, #24] obj.stat = fs->dirbuf[XDIR_GenFlags] & 2; 80cc478: 6bfb ldr r3, [r7, #60] ; 0x3c 80cc47a: 691b ldr r3, [r3, #16] 80cc47c: 3321 adds r3, #33 ; 0x21 80cc47e: 781b ldrb r3, [r3, #0] 80cc480: f003 0302 and.w r3, r3, #2 80cc484: b2db uxtb r3, r3 80cc486: 73fb strb r3, [r7, #15] 80cc488: e008 b.n 80cc49c } else #endif { dclst = ld_clust(fs, dj.dir); 80cc48a: 6bfb ldr r3, [r7, #60] ; 0x3c 80cc48c: f8d7 20cc ldr.w r2, [r7, #204] ; 0xcc 80cc490: 4611 mov r1, r2 80cc492: 4618 mov r0, r3 80cc494: f7fc fc1c bl 80c8cd0 80cc498: f8c7 00e0 str.w r0, [r7, #224] ; 0xe0 } if (dj.obj.attr & AM_DIR) { /* Is it a sub-directory? */ 80cc49c: f897 3096 ldrb.w r3, [r7, #150] ; 0x96 80cc4a0: f003 0310 and.w r3, r3, #16 80cc4a4: 2b00 cmp r3, #0 80cc4a6: d033 beq.n 80cc510 if (dclst == fs->cdir) { /* Is it the current directory? */ res = FR_DENIED; } else #endif { sdj.obj.fs = fs; /* Open the sub-directory */ 80cc4a8: 6bfb ldr r3, [r7, #60] ; 0x3c 80cc4aa: 643b str r3, [r7, #64] ; 0x40 sdj.obj.sclust = dclst; 80cc4ac: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80cc4b0: 64bb str r3, [r7, #72] ; 0x48 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80cc4b2: 6bfb ldr r3, [r7, #60] ; 0x3c 80cc4b4: 781b ldrb r3, [r3, #0] 80cc4b6: 2b04 cmp r3, #4 80cc4b8: d106 bne.n 80cc4c8 sdj.obj.objsize = obj.objsize; 80cc4ba: e9d7 3406 ldrd r3, r4, [r7, #24] 80cc4be: e9c7 3414 strd r3, r4, [r7, #80] ; 0x50 sdj.obj.stat = obj.stat; 80cc4c2: 7bfb ldrb r3, [r7, #15] 80cc4c4: f887 3047 strb.w r3, [r7, #71] ; 0x47 } #endif res = dir_sdi(&sdj, 0); 80cc4c8: f107 0340 add.w r3, r7, #64 ; 0x40 80cc4cc: 2100 movs r1, #0 80cc4ce: 4618 mov r0, r3 80cc4d0: f7fc fa47 bl 80c8962 80cc4d4: 4603 mov r3, r0 80cc4d6: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 if (res == FR_OK) { 80cc4da: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80cc4de: 2b00 cmp r3, #0 80cc4e0: d116 bne.n 80cc510 res = dir_read(&sdj, 0); /* Read an item */ 80cc4e2: f107 0340 add.w r3, r7, #64 ; 0x40 80cc4e6: 2100 movs r1, #0 80cc4e8: 4618 mov r0, r3 80cc4ea: f7fd f8ed bl 80c96c8 80cc4ee: 4603 mov r3, r0 80cc4f0: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 if (res == FR_OK) res = FR_DENIED; /* Not empty? */ 80cc4f4: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80cc4f8: 2b00 cmp r3, #0 80cc4fa: d102 bne.n 80cc502 80cc4fc: 2307 movs r3, #7 80cc4fe: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 if (res == FR_NO_FILE) res = FR_OK; /* Empty? */ 80cc502: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80cc506: 2b04 cmp r3, #4 80cc508: d102 bne.n 80cc510 80cc50a: 2300 movs r3, #0 80cc50c: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 } } } } if (res == FR_OK) { 80cc510: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80cc514: 2b00 cmp r3, #0 80cc516: d125 bne.n 80cc564 res = dir_remove(&dj); /* Remove the directory entry */ 80cc518: f107 0390 add.w r3, r7, #144 ; 0x90 80cc51c: 4618 mov r0, r3 80cc51e: f7fd fc71 bl 80c9e04 80cc522: 4603 mov r3, r0 80cc524: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 if (res == FR_OK && dclst) { /* Remove the cluster chain if exist */ 80cc528: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80cc52c: 2b00 cmp r3, #0 80cc52e: d10e bne.n 80cc54e 80cc530: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80cc534: 2b00 cmp r3, #0 80cc536: d00a beq.n 80cc54e #if _FS_EXFAT res = remove_chain(&obj, dclst, 0); 80cc538: f107 0308 add.w r3, r7, #8 80cc53c: 2200 movs r2, #0 80cc53e: f8d7 10e0 ldr.w r1, [r7, #224] ; 0xe0 80cc542: 4618 mov r0, r3 80cc544: f7fc f81a bl 80c857c 80cc548: 4603 mov r3, r0 80cc54a: 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); 80cc54e: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80cc552: 2b00 cmp r3, #0 80cc554: d106 bne.n 80cc564 80cc556: 6bfb ldr r3, [r7, #60] ; 0x3c 80cc558: 4618 mov r0, r3 80cc55a: f7fb fc2f bl 80c7dbc 80cc55e: 4603 mov r3, r0 80cc560: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 } } FREE_NAMBUF(); } LEAVE_FF(fs, res); 80cc564: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 } 80cc568: 4618 mov r0, r3 80cc56a: 37ec adds r7, #236 ; 0xec 80cc56c: 46bd mov sp, r7 80cc56e: bd90 pop {r4, r7, pc} 080cc570 : /*-----------------------------------------------------------------------*/ FRESULT f_mkdir ( const TCHAR* path /* Pointer to the directory path */ ) { 80cc570: b590 push {r4, r7, lr} 80cc572: b0a1 sub sp, #132 ; 0x84 80cc574: af00 add r7, sp, #0 80cc576: 6078 str r0, [r7, #4] DWORD dsc, dcl, pcl, tm; DEF_NAMBUF /* Get logical drive */ res = find_volume(&path, &fs, FA_WRITE); 80cc578: f107 010c add.w r1, r7, #12 80cc57c: 1d3b adds r3, r7, #4 80cc57e: 2202 movs r2, #2 80cc580: 4618 mov r0, r3 80cc582: f7fe f88b bl 80ca69c 80cc586: 4603 mov r3, r0 80cc588: f887 307f strb.w r3, [r7, #127] ; 0x7f dj.obj.fs = fs; 80cc58c: 68fb ldr r3, [r7, #12] 80cc58e: 613b str r3, [r7, #16] if (res == FR_OK) { 80cc590: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80cc594: 2b00 cmp r3, #0 80cc596: f040 812c bne.w 80cc7f2 INIT_NAMBUF(fs); res = follow_path(&dj, path); /* Follow the file path */ 80cc59a: 687a ldr r2, [r7, #4] 80cc59c: f107 0310 add.w r3, r7, #16 80cc5a0: 4611 mov r1, r2 80cc5a2: 4618 mov r0, r3 80cc5a4: f7fd ff2a bl 80ca3fc 80cc5a8: 4603 mov r3, r0 80cc5aa: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK) res = FR_EXIST; /* Any object with same name is already existing */ 80cc5ae: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80cc5b2: 2b00 cmp r3, #0 80cc5b4: d102 bne.n 80cc5bc 80cc5b6: 2308 movs r3, #8 80cc5b8: 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 */ 80cc5bc: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80cc5c0: 2b04 cmp r3, #4 80cc5c2: f040 8116 bne.w 80cc7f2 dcl = create_chain(&dj.obj, 0); /* Allocate a cluster for the new directory table */ 80cc5c6: f107 0310 add.w r3, r7, #16 80cc5ca: 2100 movs r1, #0 80cc5cc: 4618 mov r0, r3 80cc5ce: f7fc f889 bl 80c86e4 80cc5d2: 66f8 str r0, [r7, #108] ; 0x6c dj.obj.objsize = (DWORD)fs->csize * SS(fs); 80cc5d4: 68fb ldr r3, [r7, #12] 80cc5d6: 895b ldrh r3, [r3, #10] 80cc5d8: 025b lsls r3, r3, #9 80cc5da: f04f 0400 mov.w r4, #0 80cc5de: e9c7 3408 strd r3, r4, [r7, #32] res = FR_OK; 80cc5e2: 2300 movs r3, #0 80cc5e4: f887 307f strb.w r3, [r7, #127] ; 0x7f if (dcl == 0) res = FR_DENIED; /* No space to allocate a new cluster */ 80cc5e8: 6efb ldr r3, [r7, #108] ; 0x6c 80cc5ea: 2b00 cmp r3, #0 80cc5ec: d102 bne.n 80cc5f4 80cc5ee: 2307 movs r3, #7 80cc5f0: f887 307f strb.w r3, [r7, #127] ; 0x7f if (dcl == 1) res = FR_INT_ERR; 80cc5f4: 6efb ldr r3, [r7, #108] ; 0x6c 80cc5f6: 2b01 cmp r3, #1 80cc5f8: d102 bne.n 80cc600 80cc5fa: 2302 movs r3, #2 80cc5fc: f887 307f strb.w r3, [r7, #127] ; 0x7f if (dcl == 0xFFFFFFFF) res = FR_DISK_ERR; 80cc600: 6efb ldr r3, [r7, #108] ; 0x6c 80cc602: f1b3 3fff cmp.w r3, #4294967295 80cc606: d102 bne.n 80cc60e 80cc608: 2301 movs r3, #1 80cc60a: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK) res = sync_window(fs); /* Flush FAT */ 80cc60e: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80cc612: 2b00 cmp r3, #0 80cc614: d106 bne.n 80cc624 80cc616: 68fb ldr r3, [r7, #12] 80cc618: 4618 mov r0, r3 80cc61a: f7fb fb5e bl 80c7cda 80cc61e: 4603 mov r3, r0 80cc620: f887 307f strb.w r3, [r7, #127] ; 0x7f tm = GET_FATTIME(); 80cc624: f7f8 f80a bl 80c463c 80cc628: 66b8 str r0, [r7, #104] ; 0x68 if (res == FR_OK) { /* Initialize the new directory table */ 80cc62a: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80cc62e: 2b00 cmp r3, #0 80cc630: d16e bne.n 80cc710 dsc = clust2sect(fs, dcl); 80cc632: 68fb ldr r3, [r7, #12] 80cc634: 6ef9 ldr r1, [r7, #108] ; 0x6c 80cc636: 4618 mov r0, r3 80cc638: f7fb fc2e bl 80c7e98 80cc63c: 6778 str r0, [r7, #116] ; 0x74 dir = fs->win; 80cc63e: 68fb ldr r3, [r7, #12] 80cc640: 3338 adds r3, #56 ; 0x38 80cc642: 667b str r3, [r7, #100] ; 0x64 mem_set(dir, 0, SS(fs)); 80cc644: f44f 7200 mov.w r2, #512 ; 0x200 80cc648: 2100 movs r1, #0 80cc64a: 6e78 ldr r0, [r7, #100] ; 0x64 80cc64c: f7fb fae9 bl 80c7c22 if (!_FS_EXFAT || fs->fs_type != FS_EXFAT) { 80cc650: 68fb ldr r3, [r7, #12] 80cc652: 781b ldrb r3, [r3, #0] 80cc654: 2b04 cmp r3, #4 80cc656: d036 beq.n 80cc6c6 mem_set(dir + DIR_Name, ' ', 11); /* Create "." entry */ 80cc658: 220b movs r2, #11 80cc65a: 2120 movs r1, #32 80cc65c: 6e78 ldr r0, [r7, #100] ; 0x64 80cc65e: f7fb fae0 bl 80c7c22 dir[DIR_Name] = '.'; 80cc662: 6e7b ldr r3, [r7, #100] ; 0x64 80cc664: 222e movs r2, #46 ; 0x2e 80cc666: 701a strb r2, [r3, #0] dir[DIR_Attr] = AM_DIR; 80cc668: 6e7b ldr r3, [r7, #100] ; 0x64 80cc66a: 330b adds r3, #11 80cc66c: 2210 movs r2, #16 80cc66e: 701a strb r2, [r3, #0] st_dword(dir + DIR_ModTime, tm); 80cc670: 6e7b ldr r3, [r7, #100] ; 0x64 80cc672: 3316 adds r3, #22 80cc674: 6eb9 ldr r1, [r7, #104] ; 0x68 80cc676: 4618 mov r0, r3 80cc678: f7fb f9f5 bl 80c7a66 st_clust(fs, dir, dcl); 80cc67c: 68fb ldr r3, [r7, #12] 80cc67e: 6efa ldr r2, [r7, #108] ; 0x6c 80cc680: 6e79 ldr r1, [r7, #100] ; 0x64 80cc682: 4618 mov r0, r3 80cc684: f7fc fb43 bl 80c8d0e mem_cpy(dir + SZDIRE, dir, SZDIRE); /* Create ".." entry */ 80cc688: 6e7b ldr r3, [r7, #100] ; 0x64 80cc68a: 3320 adds r3, #32 80cc68c: 2220 movs r2, #32 80cc68e: 6e79 ldr r1, [r7, #100] ; 0x64 80cc690: 4618 mov r0, r3 80cc692: f7fb faa5 bl 80c7be0 dir[SZDIRE + 1] = '.'; pcl = dj.obj.sclust; 80cc696: 6e7b ldr r3, [r7, #100] ; 0x64 80cc698: 3321 adds r3, #33 ; 0x21 80cc69a: 222e movs r2, #46 ; 0x2e 80cc69c: 701a strb r2, [r3, #0] 80cc69e: 69bb ldr r3, [r7, #24] 80cc6a0: 673b str r3, [r7, #112] ; 0x70 if (fs->fs_type == FS_FAT32 && pcl == fs->dirbase) pcl = 0; 80cc6a2: 68fb ldr r3, [r7, #12] 80cc6a4: 781b ldrb r3, [r3, #0] 80cc6a6: 2b03 cmp r3, #3 80cc6a8: d106 bne.n 80cc6b8 80cc6aa: 68fb ldr r3, [r7, #12] 80cc6ac: 6ada ldr r2, [r3, #44] ; 0x2c 80cc6ae: 6f3b ldr r3, [r7, #112] ; 0x70 80cc6b0: 429a cmp r2, r3 80cc6b2: d101 bne.n 80cc6b8 80cc6b4: 2300 movs r3, #0 80cc6b6: 673b str r3, [r7, #112] ; 0x70 st_clust(fs, dir + SZDIRE, pcl); 80cc6b8: 68f8 ldr r0, [r7, #12] 80cc6ba: 6e7b ldr r3, [r7, #100] ; 0x64 80cc6bc: 3320 adds r3, #32 80cc6be: 6f3a ldr r2, [r7, #112] ; 0x70 80cc6c0: 4619 mov r1, r3 80cc6c2: f7fc fb24 bl 80c8d0e } for (n = fs->csize; n; n--) { /* Write dot entries and clear following sectors */ 80cc6c6: 68fb ldr r3, [r7, #12] 80cc6c8: 895b ldrh r3, [r3, #10] 80cc6ca: 67bb str r3, [r7, #120] ; 0x78 80cc6cc: e01b b.n 80cc706 fs->winsect = dsc++; 80cc6ce: 68fa ldr r2, [r7, #12] 80cc6d0: 6f7b ldr r3, [r7, #116] ; 0x74 80cc6d2: 1c59 adds r1, r3, #1 80cc6d4: 6779 str r1, [r7, #116] ; 0x74 80cc6d6: 6353 str r3, [r2, #52] ; 0x34 fs->wflag = 1; 80cc6d8: 68fb ldr r3, [r7, #12] 80cc6da: 2201 movs r2, #1 80cc6dc: 70da strb r2, [r3, #3] res = sync_window(fs); 80cc6de: 68fb ldr r3, [r7, #12] 80cc6e0: 4618 mov r0, r3 80cc6e2: f7fb fafa bl 80c7cda 80cc6e6: 4603 mov r3, r0 80cc6e8: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) break; 80cc6ec: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80cc6f0: 2b00 cmp r3, #0 80cc6f2: d10c bne.n 80cc70e mem_set(dir, 0, SS(fs)); 80cc6f4: f44f 7200 mov.w r2, #512 ; 0x200 80cc6f8: 2100 movs r1, #0 80cc6fa: 6e78 ldr r0, [r7, #100] ; 0x64 80cc6fc: f7fb fa91 bl 80c7c22 for (n = fs->csize; n; n--) { /* Write dot entries and clear following sectors */ 80cc700: 6fbb ldr r3, [r7, #120] ; 0x78 80cc702: 3b01 subs r3, #1 80cc704: 67bb str r3, [r7, #120] ; 0x78 80cc706: 6fbb ldr r3, [r7, #120] ; 0x78 80cc708: 2b00 cmp r3, #0 80cc70a: d1e0 bne.n 80cc6ce 80cc70c: e000 b.n 80cc710 if (res != FR_OK) break; 80cc70e: bf00 nop } } if (res == FR_OK) { 80cc710: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80cc714: 2b00 cmp r3, #0 80cc716: d107 bne.n 80cc728 res = dir_register(&dj); /* Register the object to the directoy */ 80cc718: f107 0310 add.w r3, r7, #16 80cc71c: 4618 mov r0, r3 80cc71e: f7fd f9cb bl 80c9ab8 80cc722: 4603 mov r3, r0 80cc724: f887 307f strb.w r3, [r7, #127] ; 0x7f } if (res == FR_OK) { 80cc728: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80cc72c: 2b00 cmp r3, #0 80cc72e: d159 bne.n 80cc7e4 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* Initialize directory entry block */ 80cc730: 68fb ldr r3, [r7, #12] 80cc732: 781b ldrb r3, [r3, #0] 80cc734: 2b04 cmp r3, #4 80cc736: d134 bne.n 80cc7a2 st_dword(fs->dirbuf + XDIR_ModTime, tm); /* Created time */ 80cc738: 68fb ldr r3, [r7, #12] 80cc73a: 691b ldr r3, [r3, #16] 80cc73c: 330c adds r3, #12 80cc73e: 6eb9 ldr r1, [r7, #104] ; 0x68 80cc740: 4618 mov r0, r3 80cc742: f7fb f990 bl 80c7a66 st_dword(fs->dirbuf + XDIR_FstClus, dcl); /* Table start cluster */ 80cc746: 68fb ldr r3, [r7, #12] 80cc748: 691b ldr r3, [r3, #16] 80cc74a: 3334 adds r3, #52 ; 0x34 80cc74c: 6ef9 ldr r1, [r7, #108] ; 0x6c 80cc74e: 4618 mov r0, r3 80cc750: f7fb f989 bl 80c7a66 st_dword(fs->dirbuf + XDIR_FileSize, (DWORD)dj.obj.objsize); /* File size needs to be valid */ 80cc754: 68fb ldr r3, [r7, #12] 80cc756: 691b ldr r3, [r3, #16] 80cc758: f103 0238 add.w r2, r3, #56 ; 0x38 80cc75c: e9d7 3408 ldrd r3, r4, [r7, #32] 80cc760: 4619 mov r1, r3 80cc762: 4610 mov r0, r2 80cc764: f7fb f97f bl 80c7a66 st_dword(fs->dirbuf + XDIR_ValidFileSize, (DWORD)dj.obj.objsize); 80cc768: 68fb ldr r3, [r7, #12] 80cc76a: 691b ldr r3, [r3, #16] 80cc76c: f103 0228 add.w r2, r3, #40 ; 0x28 80cc770: e9d7 3408 ldrd r3, r4, [r7, #32] 80cc774: 4619 mov r1, r3 80cc776: 4610 mov r0, r2 80cc778: f7fb f975 bl 80c7a66 fs->dirbuf[XDIR_GenFlags] = 3; /* Initialize the object flag (contiguous) */ 80cc77c: 68fb ldr r3, [r7, #12] 80cc77e: 691b ldr r3, [r3, #16] 80cc780: 3321 adds r3, #33 ; 0x21 80cc782: 2203 movs r2, #3 80cc784: 701a strb r2, [r3, #0] fs->dirbuf[XDIR_Attr] = AM_DIR; /* Attribute */ 80cc786: 68fb ldr r3, [r7, #12] 80cc788: 691b ldr r3, [r3, #16] 80cc78a: 3304 adds r3, #4 80cc78c: 2210 movs r2, #16 80cc78e: 701a strb r2, [r3, #0] res = store_xdir(&dj); 80cc790: f107 0310 add.w r3, r7, #16 80cc794: 4618 mov r0, r3 80cc796: f7fc fed5 bl 80c9544 80cc79a: 4603 mov r3, r0 80cc79c: f887 307f strb.w r3, [r7, #127] ; 0x7f 80cc7a0: e014 b.n 80cc7cc } else #endif { dir = dj.dir; 80cc7a2: 6cfb ldr r3, [r7, #76] ; 0x4c 80cc7a4: 667b str r3, [r7, #100] ; 0x64 st_dword(dir + DIR_ModTime, tm); /* Created time */ 80cc7a6: 6e7b ldr r3, [r7, #100] ; 0x64 80cc7a8: 3316 adds r3, #22 80cc7aa: 6eb9 ldr r1, [r7, #104] ; 0x68 80cc7ac: 4618 mov r0, r3 80cc7ae: f7fb f95a bl 80c7a66 st_clust(fs, dir, dcl); /* Table start cluster */ 80cc7b2: 68fb ldr r3, [r7, #12] 80cc7b4: 6efa ldr r2, [r7, #108] ; 0x6c 80cc7b6: 6e79 ldr r1, [r7, #100] ; 0x64 80cc7b8: 4618 mov r0, r3 80cc7ba: f7fc faa8 bl 80c8d0e dir[DIR_Attr] = AM_DIR; /* Attribute */ 80cc7be: 6e7b ldr r3, [r7, #100] ; 0x64 80cc7c0: 330b adds r3, #11 80cc7c2: 2210 movs r2, #16 80cc7c4: 701a strb r2, [r3, #0] fs->wflag = 1; 80cc7c6: 68fb ldr r3, [r7, #12] 80cc7c8: 2201 movs r2, #1 80cc7ca: 70da strb r2, [r3, #3] } if (res == FR_OK) { 80cc7cc: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80cc7d0: 2b00 cmp r3, #0 80cc7d2: d10e bne.n 80cc7f2 res = sync_fs(fs); 80cc7d4: 68fb ldr r3, [r7, #12] 80cc7d6: 4618 mov r0, r3 80cc7d8: f7fb faf0 bl 80c7dbc 80cc7dc: 4603 mov r3, r0 80cc7de: f887 307f strb.w r3, [r7, #127] ; 0x7f 80cc7e2: e006 b.n 80cc7f2 } } else { remove_chain(&dj.obj, dcl, 0); /* Could not register, remove cluster chain */ 80cc7e4: f107 0310 add.w r3, r7, #16 80cc7e8: 2200 movs r2, #0 80cc7ea: 6ef9 ldr r1, [r7, #108] ; 0x6c 80cc7ec: 4618 mov r0, r3 80cc7ee: f7fb fec5 bl 80c857c } } FREE_NAMBUF(); } LEAVE_FF(fs, res); 80cc7f2: f897 307f ldrb.w r3, [r7, #127] ; 0x7f } 80cc7f6: 4618 mov r0, r3 80cc7f8: 3784 adds r7, #132 ; 0x84 80cc7fa: 46bd mov sp, r7 80cc7fc: bd90 pop {r4, r7, pc} ... 080cc800 : /*-----------------------------------------------------------------------*/ FRESULT f_setlabel ( const TCHAR* label /* Pointer to the volume label to set */ ) { 80cc800: b580 push {r7, lr} 80cc802: b0a4 sub sp, #144 ; 0x90 80cc804: af00 add r7, sp, #0 80cc806: 6078 str r0, [r7, #4] WCHAR w; static const char badchr[] = "\"*+,.:;<=>\?[]|\x7F"; /* Get logical drive */ res = find_volume(&label, &fs, FA_WRITE); 80cc808: f107 0124 add.w r1, r7, #36 ; 0x24 80cc80c: 1d3b adds r3, r7, #4 80cc80e: 2202 movs r2, #2 80cc810: 4618 mov r0, r3 80cc812: f7fd ff43 bl 80ca69c 80cc816: 4603 mov r3, r0 80cc818: f887 308f strb.w r3, [r7, #143] ; 0x8f if (res != FR_OK) LEAVE_FF(fs, res); 80cc81c: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80cc820: 2b00 cmp r3, #0 80cc822: d002 beq.n 80cc82a 80cc824: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80cc828: e186 b.n 80ccb38 dj.obj.fs = fs; 80cc82a: 6a7b ldr r3, [r7, #36] ; 0x24 80cc82c: 62bb str r3, [r7, #40] ; 0x28 /* Get length of given volume label */ for (slen = 0; (UINT)label[slen] >= ' '; slen++) ; /* Get name length */ 80cc82e: 2300 movs r3, #0 80cc830: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80cc834: e004 b.n 80cc840 80cc836: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cc83a: 3301 adds r3, #1 80cc83c: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80cc840: 687a ldr r2, [r7, #4] 80cc842: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cc846: 4413 add r3, r2 80cc848: 781b ldrb r3, [r3, #0] 80cc84a: 2b1f cmp r3, #31 80cc84c: d8f3 bhi.n 80cc836 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80cc84e: 6a7b ldr r3, [r7, #36] ; 0x24 80cc850: 781b ldrb r3, [r3, #0] 80cc852: 2b04 cmp r3, #4 80cc854: d14d bne.n 80cc8f2 for (i = j = 0; i < slen; ) { /* Create volume label in directory form */ 80cc856: 2300 movs r3, #0 80cc858: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80cc85c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cc860: f8c7 3088 str.w r3, [r7, #136] ; 0x88 80cc864: e035 b.n 80cc8d2 w = label[i++]; 80cc866: 687a ldr r2, [r7, #4] 80cc868: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80cc86c: 1c59 adds r1, r3, #1 80cc86e: f8c7 1088 str.w r1, [r7, #136] ; 0x88 80cc872: 4413 add r3, r2 80cc874: 781b ldrb r3, [r3, #0] 80cc876: 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); 80cc87a: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80cc87e: 2101 movs r1, #1 80cc880: 4618 mov r0, r3 80cc882: f001 fa9f bl 80cddc4 80cc886: 4603 mov r3, r0 80cc888: 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 */ 80cc88c: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80cc890: 2b00 cmp r3, #0 80cc892: d00c beq.n 80cc8ae 80cc894: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80cc898: 4619 mov r1, r3 80cc89a: 48a9 ldr r0, [pc, #676] ; (80ccb40 ) 80cc89c: f7fb fa02 bl 80c7ca4 80cc8a0: 4603 mov r3, r0 80cc8a2: 2b00 cmp r3, #0 80cc8a4: d103 bne.n 80cc8ae 80cc8a6: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cc8aa: 2b16 cmp r3, #22 80cc8ac: d101 bne.n 80cc8b2 LEAVE_FF(fs, FR_INVALID_NAME); 80cc8ae: 2306 movs r3, #6 80cc8b0: e142 b.n 80ccb38 } st_word(dirvn + j, w); j += 2; 80cc8b2: f107 020c add.w r2, r7, #12 80cc8b6: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cc8ba: 4413 add r3, r2 80cc8bc: f8b7 207e ldrh.w r2, [r7, #126] ; 0x7e 80cc8c0: 4611 mov r1, r2 80cc8c2: 4618 mov r0, r3 80cc8c4: f7fb f8b4 bl 80c7a30 80cc8c8: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cc8cc: 3302 adds r3, #2 80cc8ce: f8c7 3084 str.w r3, [r7, #132] ; 0x84 for (i = j = 0; i < slen; ) { /* Create volume label in directory form */ 80cc8d2: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80cc8d6: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cc8da: 429a cmp r2, r3 80cc8dc: d3c3 bcc.n 80cc866 } slen = j; 80cc8de: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cc8e2: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80cc8e6: e08e b.n 80cca06 } else #endif { /* On the FAT12/16/32 volume */ for ( ; slen && label[slen - 1] == ' '; slen--) ; /* Remove trailing spaces */ 80cc8e8: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cc8ec: 3b01 subs r3, #1 80cc8ee: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80cc8f2: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cc8f6: 2b00 cmp r3, #0 80cc8f8: d007 beq.n 80cc90a 80cc8fa: 687a ldr r2, [r7, #4] 80cc8fc: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cc900: 3b01 subs r3, #1 80cc902: 4413 add r3, r2 80cc904: 781b ldrb r3, [r3, #0] 80cc906: 2b20 cmp r3, #32 80cc908: d0ee beq.n 80cc8e8 if (slen) { /* Is there a volume label to be set? */ 80cc90a: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cc90e: 2b00 cmp r3, #0 80cc910: d079 beq.n 80cca06 dirvn[0] = 0; i = j = 0; /* Create volume label in directory form */ 80cc912: 2300 movs r3, #0 80cc914: 733b strb r3, [r7, #12] 80cc916: 2300 movs r3, #0 80cc918: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80cc91c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cc920: 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++]; 80cc924: 687a ldr r2, [r7, #4] 80cc926: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80cc92a: 1c59 adds r1, r3, #1 80cc92c: f8c7 1088 str.w r1, [r7, #136] ; 0x88 80cc930: 4413 add r3, r2 80cc932: 781b ldrb r3, [r3, #0] 80cc934: 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); 80cc938: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80cc93c: 2101 movs r1, #1 80cc93e: 4618 mov r0, r3 80cc940: f001 fa40 bl 80cddc4 80cc944: 4603 mov r3, r0 80cc946: 4618 mov r0, r3 80cc948: f001 fa78 bl 80cde3c 80cc94c: 4603 mov r3, r0 80cc94e: 2100 movs r1, #0 80cc950: 4618 mov r0, r3 80cc952: f001 fa37 bl 80cddc4 80cc956: 4603 mov r3, r0 80cc958: 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 */ 80cc95c: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80cc960: 2b00 cmp r3, #0 80cc962: d013 beq.n 80cc98c 80cc964: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80cc968: 4619 mov r1, r3 80cc96a: 4875 ldr r0, [pc, #468] ; (80ccb40 ) 80cc96c: f7fb f99a bl 80c7ca4 80cc970: 4603 mov r3, r0 80cc972: 2b00 cmp r3, #0 80cc974: d10a bne.n 80cc98c 80cc976: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80cc97a: 2bff cmp r3, #255 ; 0xff 80cc97c: d901 bls.n 80cc982 80cc97e: 220a movs r2, #10 80cc980: e000 b.n 80cc984 80cc982: 220b movs r2, #11 80cc984: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cc988: 429a cmp r2, r3 80cc98a: d801 bhi.n 80cc990 LEAVE_FF(fs, FR_INVALID_NAME); 80cc98c: 2306 movs r3, #6 80cc98e: e0d3 b.n 80ccb38 } if (w >= 0x100) dirvn[j++] = (BYTE)(w >> 8); 80cc990: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80cc994: 2bff cmp r3, #255 ; 0xff 80cc996: d90e bls.n 80cc9b6 80cc998: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cc99c: 1c5a adds r2, r3, #1 80cc99e: f8c7 2084 str.w r2, [r7, #132] ; 0x84 80cc9a2: f8b7 207e ldrh.w r2, [r7, #126] ; 0x7e 80cc9a6: 0a12 lsrs r2, r2, #8 80cc9a8: b292 uxth r2, r2 80cc9aa: b2d2 uxtb r2, r2 80cc9ac: f107 0190 add.w r1, r7, #144 ; 0x90 80cc9b0: 440b add r3, r1 80cc9b2: f803 2c84 strb.w r2, [r3, #-132] dirvn[j++] = (BYTE)w; 80cc9b6: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cc9ba: 1c5a adds r2, r3, #1 80cc9bc: f8c7 2084 str.w r2, [r7, #132] ; 0x84 80cc9c0: f8b7 207e ldrh.w r2, [r7, #126] ; 0x7e 80cc9c4: b2d2 uxtb r2, r2 80cc9c6: f107 0190 add.w r1, r7, #144 ; 0x90 80cc9ca: 440b add r3, r1 80cc9cc: f803 2c84 strb.w r2, [r3, #-132] } while (i < slen); 80cc9d0: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80cc9d4: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cc9d8: 429a cmp r2, r3 80cc9da: d3a3 bcc.n 80cc924 while (j < 11) dirvn[j++] = ' '; /* Fill remaining name field */ 80cc9dc: e00a b.n 80cc9f4 80cc9de: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cc9e2: 1c5a adds r2, r3, #1 80cc9e4: f8c7 2084 str.w r2, [r7, #132] ; 0x84 80cc9e8: f107 0290 add.w r2, r7, #144 ; 0x90 80cc9ec: 4413 add r3, r2 80cc9ee: 2220 movs r2, #32 80cc9f0: f803 2c84 strb.w r2, [r3, #-132] 80cc9f4: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cc9f8: 2b0a cmp r3, #10 80cc9fa: d9f0 bls.n 80cc9de if (dirvn[0] == DDEM) LEAVE_FF(fs, FR_INVALID_NAME); /* Reject illegal name (heading DDEM) */ 80cc9fc: 7b3b ldrb r3, [r7, #12] 80cc9fe: 2be5 cmp r3, #229 ; 0xe5 80cca00: d101 bne.n 80cca06 80cca02: 2306 movs r3, #6 80cca04: e098 b.n 80ccb38 } } /* Set volume label */ dj.obj.sclust = 0; /* Open root directory */ 80cca06: 2300 movs r3, #0 80cca08: 633b str r3, [r7, #48] ; 0x30 res = dir_sdi(&dj, 0); 80cca0a: f107 0328 add.w r3, r7, #40 ; 0x28 80cca0e: 2100 movs r1, #0 80cca10: 4618 mov r0, r3 80cca12: f7fb ffa6 bl 80c8962 80cca16: 4603 mov r3, r0 80cca18: f887 308f strb.w r3, [r7, #143] ; 0x8f if (res == FR_OK) { 80cca1c: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80cca20: 2b00 cmp r3, #0 80cca22: f040 8087 bne.w 80ccb34 res = dir_read(&dj, 1); /* Get volume label entry */ 80cca26: f107 0328 add.w r3, r7, #40 ; 0x28 80cca2a: 2101 movs r1, #1 80cca2c: 4618 mov r0, r3 80cca2e: f7fc fe4b bl 80c96c8 80cca32: 4603 mov r3, r0 80cca34: f887 308f strb.w r3, [r7, #143] ; 0x8f if (res == FR_OK) { 80cca38: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80cca3c: 2b00 cmp r3, #0 80cca3e: d12e bne.n 80cca9e if (_FS_EXFAT && fs->fs_type == FS_EXFAT) { 80cca40: 6a7b ldr r3, [r7, #36] ; 0x24 80cca42: 781b ldrb r3, [r3, #0] 80cca44: 2b04 cmp r3, #4 80cca46: d110 bne.n 80cca6a dj.dir[XDIR_NumLabel] = (BYTE)(slen / 2); /* Change the volume label */ 80cca48: 6e7b ldr r3, [r7, #100] ; 0x64 80cca4a: 3301 adds r3, #1 80cca4c: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80cca50: 0852 lsrs r2, r2, #1 80cca52: b2d2 uxtb r2, r2 80cca54: 701a strb r2, [r3, #0] mem_cpy(dj.dir + XDIR_Label, dirvn, slen); 80cca56: 6e7b ldr r3, [r7, #100] ; 0x64 80cca58: 3302 adds r3, #2 80cca5a: f107 010c add.w r1, r7, #12 80cca5e: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80cca62: 4618 mov r0, r3 80cca64: f7fb f8bc bl 80c7be0 80cca68: e00e b.n 80cca88 } else { if (slen) { 80cca6a: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cca6e: 2b00 cmp r3, #0 80cca70: d007 beq.n 80cca82 mem_cpy(dj.dir, dirvn, 11); /* Change the volume label */ 80cca72: 6e7b ldr r3, [r7, #100] ; 0x64 80cca74: f107 010c add.w r1, r7, #12 80cca78: 220b movs r2, #11 80cca7a: 4618 mov r0, r3 80cca7c: f7fb f8b0 bl 80c7be0 80cca80: e002 b.n 80cca88 } else { dj.dir[DIR_Name] = DDEM; /* Remove the volume label */ 80cca82: 6e7b ldr r3, [r7, #100] ; 0x64 80cca84: 22e5 movs r2, #229 ; 0xe5 80cca86: 701a strb r2, [r3, #0] } } fs->wflag = 1; 80cca88: 6a7b ldr r3, [r7, #36] ; 0x24 80cca8a: 2201 movs r2, #1 80cca8c: 70da strb r2, [r3, #3] res = sync_fs(fs); 80cca8e: 6a7b ldr r3, [r7, #36] ; 0x24 80cca90: 4618 mov r0, r3 80cca92: f7fb f993 bl 80c7dbc 80cca96: 4603 mov r3, r0 80cca98: f887 308f strb.w r3, [r7, #143] ; 0x8f 80cca9c: e04a b.n 80ccb34 } else { /* No volume label entry is found or error */ if (res == FR_NO_FILE) { 80cca9e: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80ccaa2: 2b04 cmp r3, #4 80ccaa4: d146 bne.n 80ccb34 res = FR_OK; 80ccaa6: 2300 movs r3, #0 80ccaa8: f887 308f strb.w r3, [r7, #143] ; 0x8f if (slen) { /* Create a volume label entry */ 80ccaac: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80ccab0: 2b00 cmp r3, #0 80ccab2: d03f beq.n 80ccb34 res = dir_alloc(&dj, 1); /* Allocate an entry */ 80ccab4: f107 0328 add.w r3, r7, #40 ; 0x28 80ccab8: 2101 movs r1, #1 80ccaba: 4618 mov r0, r3 80ccabc: f7fc f8ac bl 80c8c18 80ccac0: 4603 mov r3, r0 80ccac2: f887 308f strb.w r3, [r7, #143] ; 0x8f if (res == FR_OK) { 80ccac6: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80ccaca: 2b00 cmp r3, #0 80ccacc: d132 bne.n 80ccb34 mem_set(dj.dir, 0, SZDIRE); /* Clear the entry */ 80ccace: 6e7b ldr r3, [r7, #100] ; 0x64 80ccad0: 2220 movs r2, #32 80ccad2: 2100 movs r1, #0 80ccad4: 4618 mov r0, r3 80ccad6: f7fb f8a4 bl 80c7c22 if (_FS_EXFAT && fs->fs_type == FS_EXFAT) { 80ccada: 6a7b ldr r3, [r7, #36] ; 0x24 80ccadc: 781b ldrb r3, [r3, #0] 80ccade: 2b04 cmp r3, #4 80ccae0: d113 bne.n 80ccb0a dj.dir[XDIR_Type] = 0x83; /* Create 83 entry */ 80ccae2: 6e7b ldr r3, [r7, #100] ; 0x64 80ccae4: 2283 movs r2, #131 ; 0x83 80ccae6: 701a strb r2, [r3, #0] dj.dir[XDIR_NumLabel] = (BYTE)(slen / 2); 80ccae8: 6e7b ldr r3, [r7, #100] ; 0x64 80ccaea: 3301 adds r3, #1 80ccaec: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80ccaf0: 0852 lsrs r2, r2, #1 80ccaf2: b2d2 uxtb r2, r2 80ccaf4: 701a strb r2, [r3, #0] mem_cpy(dj.dir + XDIR_Label, dirvn, slen); 80ccaf6: 6e7b ldr r3, [r7, #100] ; 0x64 80ccaf8: 3302 adds r3, #2 80ccafa: f107 010c add.w r1, r7, #12 80ccafe: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80ccb02: 4618 mov r0, r3 80ccb04: f7fb f86c bl 80c7be0 80ccb08: e00a b.n 80ccb20 } else { dj.dir[DIR_Attr] = AM_VOL; /* Create volume label entry */ 80ccb0a: 6e7b ldr r3, [r7, #100] ; 0x64 80ccb0c: 330b adds r3, #11 80ccb0e: 2208 movs r2, #8 80ccb10: 701a strb r2, [r3, #0] mem_cpy(dj.dir, dirvn, 11); 80ccb12: 6e7b ldr r3, [r7, #100] ; 0x64 80ccb14: f107 010c add.w r1, r7, #12 80ccb18: 220b movs r2, #11 80ccb1a: 4618 mov r0, r3 80ccb1c: f7fb f860 bl 80c7be0 } fs->wflag = 1; 80ccb20: 6a7b ldr r3, [r7, #36] ; 0x24 80ccb22: 2201 movs r2, #1 80ccb24: 70da strb r2, [r3, #3] res = sync_fs(fs); 80ccb26: 6a7b ldr r3, [r7, #36] ; 0x24 80ccb28: 4618 mov r0, r3 80ccb2a: f7fb f947 bl 80c7dbc 80ccb2e: 4603 mov r3, r0 80ccb30: f887 308f strb.w r3, [r7, #143] ; 0x8f } } } } LEAVE_FF(fs, res); 80ccb34: f897 308f ldrb.w r3, [r7, #143] ; 0x8f } 80ccb38: 4618 mov r0, r3 80ccb3a: 3790 adds r7, #144 ; 0x90 80ccb3c: 46bd mov sp, r7 80ccb3e: bd80 pop {r7, pc} 80ccb40: 081706cc .word 0x081706cc 080ccb44 : BYTE opt, /* Format option */ DWORD au, /* Size of allocation unit (cluster) [byte] */ void* work, /* Pointer to working buffer */ UINT len /* Size of working buffer */ ) { 80ccb44: b590 push {r4, r7, lr} 80ccb46: b0a9 sub sp, #164 ; 0xa4 80ccb48: af00 add r7, sp, #0 80ccb4a: 60f8 str r0, [r7, #12] 80ccb4c: 607a str r2, [r7, #4] 80ccb4e: 603b str r3, [r7, #0] 80ccb50: 460b mov r3, r1 80ccb52: 72fb strb r3, [r7, #11] const UINT n_fats = 1; /* Number of FATs for FAT12/16/32 volume (1 or 2) */ 80ccb54: 2301 movs r3, #1 80ccb56: 657b str r3, [r7, #84] ; 0x54 const UINT n_rootdir = 512; /* Number of root directory entries for FAT12/16 volume */ 80ccb58: f44f 7300 mov.w r3, #512 ; 0x200 80ccb5c: 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 */ 80ccb5e: f107 030c add.w r3, r7, #12 80ccb62: 4618 mov r0, r3 80ccb64: f7fd fcf2 bl 80ca54c 80ccb68: 64f8 str r0, [r7, #76] ; 0x4c if (vol < 0) return FR_INVALID_DRIVE; 80ccb6a: 6cfb ldr r3, [r7, #76] ; 0x4c 80ccb6c: 2b00 cmp r3, #0 80ccb6e: da02 bge.n 80ccb76 80ccb70: 230b movs r3, #11 80ccb72: f001 b8c4 b.w 80cdcfe if (FatFs[vol]) FatFs[vol]->fs_type = 0; /* Clear the volume */ 80ccb76: 4abf ldr r2, [pc, #764] ; (80cce74 ) 80ccb78: 6cfb ldr r3, [r7, #76] ; 0x4c 80ccb7a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80ccb7e: 2b00 cmp r3, #0 80ccb80: d005 beq.n 80ccb8e 80ccb82: 4abc ldr r2, [pc, #752] ; (80cce74 ) 80ccb84: 6cfb ldr r3, [r7, #76] ; 0x4c 80ccb86: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80ccb8a: 2200 movs r2, #0 80ccb8c: 701a strb r2, [r3, #0] pdrv = LD2PD(vol); /* Physical drive */ 80ccb8e: 6cfb ldr r3, [r7, #76] ; 0x4c 80ccb90: f887 304b strb.w r3, [r7, #75] ; 0x4b part = LD2PT(vol); /* Partition (0:create as new, 1-4:get from partition table) */ 80ccb94: 2300 movs r3, #0 80ccb96: f887 304a strb.w r3, [r7, #74] ; 0x4a /* Check physical drive status */ stat = disk_initialize(pdrv); 80ccb9a: f897 304b ldrb.w r3, [r7, #75] ; 0x4b 80ccb9e: 4618 mov r0, r3 80ccba0: f7fa fdd8 bl 80c7754 80ccba4: 4603 mov r3, r0 80ccba6: f887 3049 strb.w r3, [r7, #73] ; 0x49 if (stat & STA_NOINIT) return FR_NOT_READY; 80ccbaa: f897 3049 ldrb.w r3, [r7, #73] ; 0x49 80ccbae: f003 0301 and.w r3, r3, #1 80ccbb2: 2b00 cmp r3, #0 80ccbb4: d002 beq.n 80ccbbc 80ccbb6: 2303 movs r3, #3 80ccbb8: f001 b8a1 b.w 80cdcfe if (stat & STA_PROTECT) return FR_WRITE_PROTECTED; 80ccbbc: f897 3049 ldrb.w r3, [r7, #73] ; 0x49 80ccbc0: f003 0304 and.w r3, r3, #4 80ccbc4: 2b00 cmp r3, #0 80ccbc6: d002 beq.n 80ccbce 80ccbc8: 230a movs r3, #10 80ccbca: f001 b898 b.w 80cdcfe 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 */ 80ccbce: f107 0220 add.w r2, r7, #32 80ccbd2: f897 304b ldrb.w r3, [r7, #75] ; 0x4b 80ccbd6: 2103 movs r1, #3 80ccbd8: 4618 mov r0, r3 80ccbda: f7fa fe21 bl 80c7820 80ccbde: 4603 mov r3, r0 80ccbe0: 2b00 cmp r3, #0 80ccbe2: d10c bne.n 80ccbfe 80ccbe4: 6a3b ldr r3, [r7, #32] 80ccbe6: 2b00 cmp r3, #0 80ccbe8: d009 beq.n 80ccbfe 80ccbea: 6a3b ldr r3, [r7, #32] 80ccbec: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 80ccbf0: d805 bhi.n 80ccbfe 80ccbf2: 6a3b ldr r3, [r7, #32] 80ccbf4: 1e5a subs r2, r3, #1 80ccbf6: 6a3b ldr r3, [r7, #32] 80ccbf8: 4013 ands r3, r2 80ccbfa: 2b00 cmp r3, #0 80ccbfc: d001 beq.n 80ccc02 80ccbfe: 2301 movs r3, #1 80ccc00: 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; 80ccc02: f44f 7300 mov.w r3, #512 ; 0x200 80ccc06: 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 */ 80ccc0a: 687b ldr r3, [r7, #4] 80ccc0c: 2b00 cmp r3, #0 80ccc0e: d004 beq.n 80ccc1a 80ccc10: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80ccc14: 687b ldr r3, [r7, #4] 80ccc16: 429a cmp r2, r3 80ccc18: d809 bhi.n 80ccc2e 80ccc1a: 687b ldr r3, [r7, #4] 80ccc1c: f1b3 7f80 cmp.w r3, #16777216 ; 0x1000000 80ccc20: d805 bhi.n 80ccc2e 80ccc22: 687b ldr r3, [r7, #4] 80ccc24: 1e5a subs r2, r3, #1 80ccc26: 687b ldr r3, [r7, #4] 80ccc28: 4013 ands r3, r2 80ccc2a: 2b00 cmp r3, #0 80ccc2c: d002 beq.n 80ccc34 80ccc2e: 2313 movs r3, #19 80ccc30: f001 b865 b.w 80cdcfe au /= ss; /* Cluster size in unit of sector */ 80ccc34: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80ccc38: 687a ldr r2, [r7, #4] 80ccc3a: fbb2 f3f3 udiv r3, r2, r3 80ccc3e: 607b str r3, [r7, #4] /* Get working buffer */ buf = (BYTE*)work; /* Working buffer */ 80ccc40: 683b ldr r3, [r7, #0] 80ccc42: 643b str r3, [r7, #64] ; 0x40 sz_buf = len / ss; /* Size of working buffer (sector) */ 80ccc44: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80ccc48: f8d7 20b0 ldr.w r2, [r7, #176] ; 0xb0 80ccc4c: fbb2 f3f3 udiv r3, r2, r3 80ccc50: 63fb str r3, [r7, #60] ; 0x3c szb_buf = sz_buf * ss; /* Size of working buffer (byte) */ 80ccc52: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80ccc56: 6bfa ldr r2, [r7, #60] ; 0x3c 80ccc58: fb02 f303 mul.w r3, r2, r3 80ccc5c: 63bb str r3, [r7, #56] ; 0x38 if (!szb_buf) return FR_MKFS_ABORTED; 80ccc5e: 6bbb ldr r3, [r7, #56] ; 0x38 80ccc60: 2b00 cmp r3, #0 80ccc62: d102 bne.n 80ccc6a 80ccc64: 230e movs r3, #14 80ccc66: f001 b84a b.w 80cdcfe 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; 80ccc6a: f107 021c add.w r2, r7, #28 80ccc6e: f897 304b ldrb.w r3, [r7, #75] ; 0x4b 80ccc72: 2101 movs r1, #1 80ccc74: 4618 mov r0, r3 80ccc76: f7fa fdd3 bl 80c7820 80ccc7a: 4603 mov r3, r0 80ccc7c: 2b00 cmp r3, #0 80ccc7e: d002 beq.n 80ccc86 80ccc80: 2301 movs r3, #1 80ccc82: f001 b83c b.w 80cdcfe b_vol = (opt & FM_SFD) ? 0 : 63; /* Volume start sector */ 80ccc86: 7afb ldrb r3, [r7, #11] 80ccc88: f003 0308 and.w r3, r3, #8 80ccc8c: 2b00 cmp r3, #0 80ccc8e: d001 beq.n 80ccc94 80ccc90: 2300 movs r3, #0 80ccc92: e000 b.n 80ccc96 80ccc94: 233f movs r3, #63 ; 0x3f 80ccc96: 637b str r3, [r7, #52] ; 0x34 if (sz_vol < b_vol) return FR_MKFS_ABORTED; 80ccc98: 69fa ldr r2, [r7, #28] 80ccc9a: 6b7b ldr r3, [r7, #52] ; 0x34 80ccc9c: 429a cmp r2, r3 80ccc9e: d202 bcs.n 80ccca6 80ccca0: 230e movs r3, #14 80ccca2: f001 b82c b.w 80cdcfe sz_vol -= b_vol; /* Volume size */ 80ccca6: 69fa ldr r2, [r7, #28] 80ccca8: 6b7b ldr r3, [r7, #52] ; 0x34 80cccaa: 1ad3 subs r3, r2, r3 80cccac: 61fb str r3, [r7, #28] } if (sz_vol < 128) return FR_MKFS_ABORTED; /* Check if volume size is >=128s */ 80cccae: 69fb ldr r3, [r7, #28] 80cccb0: 2b7f cmp r3, #127 ; 0x7f 80cccb2: d802 bhi.n 80cccba 80cccb4: 230e movs r3, #14 80cccb6: f001 b822 b.w 80cdcfe /* Pre-determine the FAT type */ do { if (_FS_EXFAT && (opt & FM_EXFAT)) { /* exFAT possible? */ 80cccba: 7afb ldrb r3, [r7, #11] 80cccbc: f003 0304 and.w r3, r3, #4 80cccc0: 2b00 cmp r3, #0 80cccc2: d00f beq.n 80ccce4 if ((opt & FM_ANY) == FM_EXFAT || sz_vol >= 0x4000000 || au > 128) { /* exFAT only, vol >= 64Ms or au > 128s ? */ 80cccc4: 7afb ldrb r3, [r7, #11] 80cccc6: f003 0307 and.w r3, r3, #7 80cccca: 2b04 cmp r3, #4 80ccccc: d006 beq.n 80cccdc 80cccce: 69fb ldr r3, [r7, #28] 80cccd0: f1b3 6f80 cmp.w r3, #67108864 ; 0x4000000 80cccd4: d202 bcs.n 80cccdc 80cccd6: 687b ldr r3, [r7, #4] 80cccd8: 2b80 cmp r3, #128 ; 0x80 80cccda: d903 bls.n 80ccce4 fmt = FS_EXFAT; break; 80cccdc: 2304 movs r3, #4 80cccde: f887 309f strb.w r3, [r7, #159] ; 0x9f 80ccce2: e023 b.n 80ccd2c } } if (au > 128) return FR_INVALID_PARAMETER; /* Too large au for FAT/FAT32 */ 80ccce4: 687b ldr r3, [r7, #4] 80ccce6: 2b80 cmp r3, #128 ; 0x80 80ccce8: d902 bls.n 80cccf0 80cccea: 2313 movs r3, #19 80cccec: f001 b807 b.w 80cdcfe if (opt & FM_FAT32) { /* FAT32 possible? */ 80cccf0: 7afb ldrb r3, [r7, #11] 80cccf2: f003 0302 and.w r3, r3, #2 80cccf6: 2b00 cmp r3, #0 80cccf8: d00d beq.n 80ccd16 if ((opt & FM_ANY) == FM_FAT32 || !(opt & FM_FAT)) { /* FAT32 only or no-FAT? */ 80cccfa: 7afb ldrb r3, [r7, #11] 80cccfc: f003 0307 and.w r3, r3, #7 80ccd00: 2b02 cmp r3, #2 80ccd02: d004 beq.n 80ccd0e 80ccd04: 7afb ldrb r3, [r7, #11] 80ccd06: f003 0301 and.w r3, r3, #1 80ccd0a: 2b00 cmp r3, #0 80ccd0c: d103 bne.n 80ccd16 fmt = FS_FAT32; break; 80ccd0e: 2303 movs r3, #3 80ccd10: f887 309f strb.w r3, [r7, #159] ; 0x9f 80ccd14: e00a b.n 80ccd2c } } if (!(opt & FM_FAT)) return FR_INVALID_PARAMETER; /* no-FAT? */ 80ccd16: 7afb ldrb r3, [r7, #11] 80ccd18: f003 0301 and.w r3, r3, #1 80ccd1c: 2b00 cmp r3, #0 80ccd1e: d102 bne.n 80ccd26 80ccd20: 2313 movs r3, #19 80ccd22: f000 bfec b.w 80cdcfe fmt = FS_FAT16; 80ccd26: 2302 movs r3, #2 80ccd28: f887 309f strb.w r3, [r7, #159] ; 0x9f } while (0); #if _FS_EXFAT if (fmt == FS_EXFAT) { /* Create an exFAT volume */ 80ccd2c: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80ccd30: 2b04 cmp r3, #4 80ccd32: f040 842c bne.w 80cd58e 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? */ 80ccd36: 69fb ldr r3, [r7, #28] 80ccd38: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80ccd3c: d202 bcs.n 80ccd44 80ccd3e: 230e movs r3, #14 80ccd40: f000 bfdd b.w 80cdcfe #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 */ 80ccd44: 687b ldr r3, [r7, #4] 80ccd46: 2b00 cmp r3, #0 80ccd48: d10e bne.n 80ccd68 au = 8; 80ccd4a: 2308 movs r3, #8 80ccd4c: 607b str r3, [r7, #4] if (sz_vol >= 0x80000) au = 64; /* >= 512Ks */ 80ccd4e: 69fb ldr r3, [r7, #28] 80ccd50: f5b3 2f00 cmp.w r3, #524288 ; 0x80000 80ccd54: d301 bcc.n 80ccd5a 80ccd56: 2340 movs r3, #64 ; 0x40 80ccd58: 607b str r3, [r7, #4] if (sz_vol >= 0x4000000) au = 256; /* >= 64Ms */ 80ccd5a: 69fb ldr r3, [r7, #28] 80ccd5c: f1b3 6f80 cmp.w r3, #67108864 ; 0x4000000 80ccd60: d302 bcc.n 80ccd68 80ccd62: f44f 7380 mov.w r3, #256 ; 0x100 80ccd66: 607b str r3, [r7, #4] } b_fat = b_vol + 32; /* FAT start at offset 32 */ 80ccd68: 6b7b ldr r3, [r7, #52] ; 0x34 80ccd6a: 3320 adds r3, #32 80ccd6c: f8c7 3088 str.w r3, [r7, #136] ; 0x88 sz_fat = ((sz_vol / au + 2) * 4 + ss - 1) / ss; /* Number of FAT sectors */ 80ccd70: 69fa ldr r2, [r7, #28] 80ccd72: 687b ldr r3, [r7, #4] 80ccd74: fbb2 f3f3 udiv r3, r2, r3 80ccd78: 3302 adds r3, #2 80ccd7a: 009a lsls r2, r3, #2 80ccd7c: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80ccd80: 4413 add r3, r2 80ccd82: 1e5a subs r2, r3, #1 80ccd84: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80ccd88: fbb2 f3f3 udiv r3, r2, r3 80ccd8c: 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 */ 80ccd90: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80ccd94: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80ccd98: 441a add r2, r3 80ccd9a: 6a3b ldr r3, [r7, #32] 80ccd9c: 4413 add r3, r2 80ccd9e: 1e5a subs r2, r3, #1 80ccda0: 6a3b ldr r3, [r7, #32] 80ccda2: 425b negs r3, r3 80ccda4: 4013 ands r3, r2 80ccda6: 633b str r3, [r7, #48] ; 0x30 if (b_data >= sz_vol / 2) return FR_MKFS_ABORTED; /* Too small volume? */ 80ccda8: 69fb ldr r3, [r7, #28] 80ccdaa: 085a lsrs r2, r3, #1 80ccdac: 6b3b ldr r3, [r7, #48] ; 0x30 80ccdae: 429a cmp r2, r3 80ccdb0: d802 bhi.n 80ccdb8 80ccdb2: 230e movs r3, #14 80ccdb4: f000 bfa3 b.w 80cdcfe n_clst = (sz_vol - (b_data - b_vol)) / au; /* Number of clusters */ 80ccdb8: 6b7a ldr r2, [r7, #52] ; 0x34 80ccdba: 6b3b ldr r3, [r7, #48] ; 0x30 80ccdbc: 1ad2 subs r2, r2, r3 80ccdbe: 69fb ldr r3, [r7, #28] 80ccdc0: 441a add r2, r3 80ccdc2: 687b ldr r3, [r7, #4] 80ccdc4: fbb2 f3f3 udiv r3, r2, r3 80ccdc8: 62fb str r3, [r7, #44] ; 0x2c if (n_clst <16) return FR_MKFS_ABORTED; /* Too few clusters? */ 80ccdca: 6afb ldr r3, [r7, #44] ; 0x2c 80ccdcc: 2b0f cmp r3, #15 80ccdce: d802 bhi.n 80ccdd6 80ccdd0: 230e movs r3, #14 80ccdd2: f000 bf94 b.w 80cdcfe if (n_clst > MAX_EXFAT) return FR_MKFS_ABORTED; /* Too many clusters? */ 80ccdd6: 6afb ldr r3, [r7, #44] ; 0x2c 80ccdd8: 4a27 ldr r2, [pc, #156] ; (80cce78 ) 80ccdda: 4293 cmp r3, r2 80ccddc: d902 bls.n 80ccde4 80ccdde: 230e movs r3, #14 80ccde0: f000 bf8d b.w 80cdcfe szb_bit = (n_clst + 7) / 8; /* Size of allocation bitmap */ 80ccde4: 6afb ldr r3, [r7, #44] ; 0x2c 80ccde6: 3307 adds r3, #7 80ccde8: 08db lsrs r3, r3, #3 80ccdea: 62bb str r3, [r7, #40] ; 0x28 tbl[0] = (szb_bit + au * ss - 1) / (au * ss); /* Number of allocation bitmap clusters */ 80ccdec: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80ccdf0: 687a ldr r2, [r7, #4] 80ccdf2: fb02 f203 mul.w r2, r2, r3 80ccdf6: 6abb ldr r3, [r7, #40] ; 0x28 80ccdf8: 4413 add r3, r2 80ccdfa: 1e5a subs r2, r3, #1 80ccdfc: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cce00: 6879 ldr r1, [r7, #4] 80cce02: fb01 f303 mul.w r3, r1, r3 80cce06: fbb2 f3f3 udiv r3, r2, r3 80cce0a: 613b str r3, [r7, #16] /* Create a compressed up-case table */ sect = b_data + au * tbl[0]; /* Table start sector */ 80cce0c: 693b ldr r3, [r7, #16] 80cce0e: 687a ldr r2, [r7, #4] 80cce10: fb02 f203 mul.w r2, r2, r3 80cce14: 6b3b ldr r3, [r7, #48] ; 0x30 80cce16: 4413 add r3, r2 80cce18: f8c7 3094 str.w r3, [r7, #148] ; 0x94 sum = 0; /* Table checksum to be stored in the 82 entry */ 80cce1c: 2300 movs r3, #0 80cce1e: 673b str r3, [r7, #112] ; 0x70 st = si = i = j = szb_case = 0; 80cce20: 2300 movs r3, #0 80cce22: 677b str r3, [r7, #116] ; 0x74 80cce24: 2300 movs r3, #0 80cce26: 663b str r3, [r7, #96] ; 0x60 80cce28: 6e3b ldr r3, [r7, #96] ; 0x60 80cce2a: 67bb str r3, [r7, #120] ; 0x78 80cce2c: 6fbb ldr r3, [r7, #120] ; 0x78 80cce2e: f8a7 3064 strh.w r3, [r7, #100] ; 0x64 80cce32: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80cce36: 65fb str r3, [r7, #92] ; 0x5c do { switch (st) { 80cce38: 6dfb ldr r3, [r7, #92] ; 0x5c 80cce3a: 2b00 cmp r3, #0 80cce3c: d002 beq.n 80cce44 80cce3e: 2b01 cmp r3, #1 80cce40: d045 beq.n 80ccece 80cce42: e054 b.n 80cceee case 0: ch = ff_wtoupper(si); /* Get an up-case char */ 80cce44: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80cce48: 4618 mov r0, r3 80cce4a: f000 fff7 bl 80cde3c 80cce4e: 4603 mov r3, r0 80cce50: f8a7 3066 strh.w r3, [r7, #102] ; 0x66 if (ch != si) { 80cce54: f8b7 2066 ldrh.w r2, [r7, #102] ; 0x66 80cce58: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80cce5c: 429a cmp r2, r3 80cce5e: d005 beq.n 80cce6c si++; break; /* Store the up-case char if exist */ 80cce60: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80cce64: 3301 adds r3, #1 80cce66: f8a7 3064 strh.w r3, [r7, #100] ; 0x64 80cce6a: e04e b.n 80ccf0a } for (j = 1; (WCHAR)(si + j) && (WCHAR)(si + j) == ff_wtoupper((WCHAR)(si + j)); j++) ; /* Get run length of no-case block */ 80cce6c: 2301 movs r3, #1 80cce6e: 663b str r3, [r7, #96] ; 0x60 80cce70: e007 b.n 80cce82 80cce72: bf00 nop 80cce74: 200216fc .word 0x200216fc 80cce78: 7ffffffd .word 0x7ffffffd 80cce7c: 6e3b ldr r3, [r7, #96] ; 0x60 80cce7e: 3301 adds r3, #1 80cce80: 663b str r3, [r7, #96] ; 0x60 80cce82: 6e3b ldr r3, [r7, #96] ; 0x60 80cce84: b29a uxth r2, r3 80cce86: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80cce8a: 4413 add r3, r2 80cce8c: b29b uxth r3, r3 80cce8e: 2b00 cmp r3, #0 80cce90: d011 beq.n 80cceb6 80cce92: 6e3b ldr r3, [r7, #96] ; 0x60 80cce94: b29a uxth r2, r3 80cce96: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80cce9a: 4413 add r3, r2 80cce9c: b29c uxth r4, r3 80cce9e: 6e3b ldr r3, [r7, #96] ; 0x60 80ccea0: b29a uxth r2, r3 80ccea2: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80ccea6: 4413 add r3, r2 80ccea8: b29b uxth r3, r3 80cceaa: 4618 mov r0, r3 80cceac: f000 ffc6 bl 80cde3c 80cceb0: 4603 mov r3, r0 80cceb2: 429c cmp r4, r3 80cceb4: d0e2 beq.n 80cce7c if (j >= 128) { 80cceb6: 6e3b ldr r3, [r7, #96] ; 0x60 80cceb8: 2b7f cmp r3, #127 ; 0x7f 80cceba: d906 bls.n 80cceca ch = 0xFFFF; st = 2; break; /* Compress the no-case block if run is >= 128 */ 80ccebc: f64f 73ff movw r3, #65535 ; 0xffff 80ccec0: f8a7 3066 strh.w r3, [r7, #102] ; 0x66 80ccec4: 2302 movs r3, #2 80ccec6: 65fb str r3, [r7, #92] ; 0x5c 80ccec8: e01f b.n 80ccf0a } st = 1; /* Do not compress short run */ 80cceca: 2301 movs r3, #1 80ccecc: 65fb str r3, [r7, #92] ; 0x5c /* go to next case */ case 1: ch = si++; /* Fill the short run */ 80ccece: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80cced2: 1c5a adds r2, r3, #1 80cced4: f8a7 2064 strh.w r2, [r7, #100] ; 0x64 80cced8: f8a7 3066 strh.w r3, [r7, #102] ; 0x66 if (--j == 0) st = 0; 80ccedc: 6e3b ldr r3, [r7, #96] ; 0x60 80ccede: 3b01 subs r3, #1 80ccee0: 663b str r3, [r7, #96] ; 0x60 80ccee2: 6e3b ldr r3, [r7, #96] ; 0x60 80ccee4: 2b00 cmp r3, #0 80ccee6: d10f bne.n 80ccf08 80ccee8: 2300 movs r3, #0 80cceea: 65fb str r3, [r7, #92] ; 0x5c break; 80cceec: e00c b.n 80ccf08 default: ch = (WCHAR)j; si += j; /* Number of chars to skip */ 80cceee: 6e3b ldr r3, [r7, #96] ; 0x60 80ccef0: f8a7 3066 strh.w r3, [r7, #102] ; 0x66 80ccef4: 6e3b ldr r3, [r7, #96] ; 0x60 80ccef6: b29a uxth r2, r3 80ccef8: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80ccefc: 4413 add r3, r2 80ccefe: f8a7 3064 strh.w r3, [r7, #100] ; 0x64 st = 0; 80ccf02: 2300 movs r3, #0 80ccf04: 65fb str r3, [r7, #92] ; 0x5c 80ccf06: e000 b.n 80ccf0a break; 80ccf08: bf00 nop } sum = xsum32(buf[i + 0] = (BYTE)ch, sum); /* Put it into the write buffer */ 80ccf0a: 6c3a ldr r2, [r7, #64] ; 0x40 80ccf0c: 6fbb ldr r3, [r7, #120] ; 0x78 80ccf0e: 4413 add r3, r2 80ccf10: f8b7 2066 ldrh.w r2, [r7, #102] ; 0x66 80ccf14: b2d2 uxtb r2, r2 80ccf16: 701a strb r2, [r3, #0] 80ccf18: 781b ldrb r3, [r3, #0] 80ccf1a: 6f39 ldr r1, [r7, #112] ; 0x70 80ccf1c: 4618 mov r0, r3 80ccf1e: f7fc f97b bl 80c9218 80ccf22: 6738 str r0, [r7, #112] ; 0x70 sum = xsum32(buf[i + 1] = (BYTE)(ch >> 8), sum); 80ccf24: 6fbb ldr r3, [r7, #120] ; 0x78 80ccf26: 3301 adds r3, #1 80ccf28: 6c3a ldr r2, [r7, #64] ; 0x40 80ccf2a: 4413 add r3, r2 80ccf2c: f8b7 2066 ldrh.w r2, [r7, #102] ; 0x66 80ccf30: 0a12 lsrs r2, r2, #8 80ccf32: b292 uxth r2, r2 80ccf34: b2d2 uxtb r2, r2 80ccf36: 701a strb r2, [r3, #0] 80ccf38: 781b ldrb r3, [r3, #0] 80ccf3a: 6f39 ldr r1, [r7, #112] ; 0x70 80ccf3c: 4618 mov r0, r3 80ccf3e: f7fc f96b bl 80c9218 80ccf42: 6738 str r0, [r7, #112] ; 0x70 i += 2; szb_case += 2; 80ccf44: 6fbb ldr r3, [r7, #120] ; 0x78 80ccf46: 3302 adds r3, #2 80ccf48: 67bb str r3, [r7, #120] ; 0x78 80ccf4a: 6f7b ldr r3, [r7, #116] ; 0x74 80ccf4c: 3302 adds r3, #2 80ccf4e: 677b str r3, [r7, #116] ; 0x74 if (!si || i == szb_buf) { /* Write buffered data when buffer full or end of process */ 80ccf50: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80ccf54: 2b00 cmp r3, #0 80ccf56: d003 beq.n 80ccf60 80ccf58: 6fba ldr r2, [r7, #120] ; 0x78 80ccf5a: 6bbb ldr r3, [r7, #56] ; 0x38 80ccf5c: 429a cmp r2, r3 80ccf5e: d122 bne.n 80ccfa6 n = (i + ss - 1) / ss; 80ccf60: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80ccf64: 6fbb ldr r3, [r7, #120] ; 0x78 80ccf66: 4413 add r3, r2 80ccf68: 1e5a subs r2, r3, #1 80ccf6a: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80ccf6e: fbb2 f3f3 udiv r3, r2, r3 80ccf72: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, n) != RES_OK) return FR_DISK_ERR; 80ccf76: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80ccf7a: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80ccf7e: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80ccf82: 6c39 ldr r1, [r7, #64] ; 0x40 80ccf84: f7fa fc2c bl 80c77e0 80ccf88: 4603 mov r3, r0 80ccf8a: 2b00 cmp r3, #0 80ccf8c: d002 beq.n 80ccf94 80ccf8e: 2301 movs r3, #1 80ccf90: f000 beb5 b.w 80cdcfe sect += n; i = 0; 80ccf94: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80ccf98: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80ccf9c: 4413 add r3, r2 80ccf9e: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80ccfa2: 2300 movs r3, #0 80ccfa4: 67bb str r3, [r7, #120] ; 0x78 } } while (si); 80ccfa6: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80ccfaa: 2b00 cmp r3, #0 80ccfac: f47f af44 bne.w 80cce38 tbl[1] = (szb_case + au * ss - 1) / (au * ss); /* Number of up-case table clusters */ 80ccfb0: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80ccfb4: 687a ldr r2, [r7, #4] 80ccfb6: fb02 f203 mul.w r2, r2, r3 80ccfba: 6f7b ldr r3, [r7, #116] ; 0x74 80ccfbc: 4413 add r3, r2 80ccfbe: 1e5a subs r2, r3, #1 80ccfc0: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80ccfc4: 6879 ldr r1, [r7, #4] 80ccfc6: fb01 f303 mul.w r3, r1, r3 80ccfca: fbb2 f3f3 udiv r3, r2, r3 80ccfce: 617b str r3, [r7, #20] tbl[2] = 1; /* Number of root dir clusters */ 80ccfd0: 2301 movs r3, #1 80ccfd2: 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 */ 80ccfd4: 6b3b ldr r3, [r7, #48] ; 0x30 80ccfd6: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80ccfda: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80ccfde: 6abb ldr r3, [r7, #40] ; 0x28 80ccfe0: 4413 add r3, r2 80ccfe2: 1e5a subs r2, r3, #1 80ccfe4: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80ccfe8: fbb2 f3f3 udiv r3, r2, r3 80ccfec: f8c7 3090 str.w r3, [r7, #144] ; 0x90 nb = tbl[0] + tbl[1] + tbl[2]; /* Number of clusters in-use by system */ 80ccff0: 693a ldr r2, [r7, #16] 80ccff2: 697b ldr r3, [r7, #20] 80ccff4: 441a add r2, r3 80ccff6: 69bb ldr r3, [r7, #24] 80ccff8: 4413 add r3, r2 80ccffa: 66fb str r3, [r7, #108] ; 0x6c do { mem_set(buf, 0, szb_buf); 80ccffc: 6bba ldr r2, [r7, #56] ; 0x38 80ccffe: 2100 movs r1, #0 80cd000: 6c38 ldr r0, [r7, #64] ; 0x40 80cd002: f7fa fe0e bl 80c7c22 for (i = 0; nb >= 8 && i < szb_buf; buf[i++] = 0xFF, nb -= 8) ; 80cd006: 2300 movs r3, #0 80cd008: 67bb str r3, [r7, #120] ; 0x78 80cd00a: e009 b.n 80cd020 80cd00c: 6fbb ldr r3, [r7, #120] ; 0x78 80cd00e: 1c5a adds r2, r3, #1 80cd010: 67ba str r2, [r7, #120] ; 0x78 80cd012: 6c3a ldr r2, [r7, #64] ; 0x40 80cd014: 4413 add r3, r2 80cd016: 22ff movs r2, #255 ; 0xff 80cd018: 701a strb r2, [r3, #0] 80cd01a: 6efb ldr r3, [r7, #108] ; 0x6c 80cd01c: 3b08 subs r3, #8 80cd01e: 66fb str r3, [r7, #108] ; 0x6c 80cd020: 6efb ldr r3, [r7, #108] ; 0x6c 80cd022: 2b07 cmp r3, #7 80cd024: d903 bls.n 80cd02e 80cd026: 6fba ldr r2, [r7, #120] ; 0x78 80cd028: 6bbb ldr r3, [r7, #56] ; 0x38 80cd02a: 429a cmp r2, r3 80cd02c: d3ee bcc.n 80cd00c for (b = 1; nb && i < szb_buf; buf[i] |= b, b <<= 1, nb--) ; 80cd02e: 2301 movs r3, #1 80cd030: f887 305b strb.w r3, [r7, #91] ; 0x5b 80cd034: e013 b.n 80cd05e 80cd036: 6c3a ldr r2, [r7, #64] ; 0x40 80cd038: 6fbb ldr r3, [r7, #120] ; 0x78 80cd03a: 4413 add r3, r2 80cd03c: 6c39 ldr r1, [r7, #64] ; 0x40 80cd03e: 6fba ldr r2, [r7, #120] ; 0x78 80cd040: 440a add r2, r1 80cd042: 7811 ldrb r1, [r2, #0] 80cd044: f897 205b ldrb.w r2, [r7, #91] ; 0x5b 80cd048: 430a orrs r2, r1 80cd04a: b2d2 uxtb r2, r2 80cd04c: 701a strb r2, [r3, #0] 80cd04e: f897 305b ldrb.w r3, [r7, #91] ; 0x5b 80cd052: 005b lsls r3, r3, #1 80cd054: f887 305b strb.w r3, [r7, #91] ; 0x5b 80cd058: 6efb ldr r3, [r7, #108] ; 0x6c 80cd05a: 3b01 subs r3, #1 80cd05c: 66fb str r3, [r7, #108] ; 0x6c 80cd05e: 6efb ldr r3, [r7, #108] ; 0x6c 80cd060: 2b00 cmp r3, #0 80cd062: d003 beq.n 80cd06c 80cd064: 6fba ldr r2, [r7, #120] ; 0x78 80cd066: 6bbb ldr r3, [r7, #56] ; 0x38 80cd068: 429a cmp r2, r3 80cd06a: d3e4 bcc.n 80cd036 n = (nsect > sz_buf) ? sz_buf : nsect; /* Write the buffered data */ 80cd06c: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80cd070: 6bfb ldr r3, [r7, #60] ; 0x3c 80cd072: 4293 cmp r3, r2 80cd074: bf28 it cs 80cd076: 4613 movcs r3, r2 80cd078: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, n) != RES_OK) return FR_DISK_ERR; 80cd07c: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cd080: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cd084: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cd088: 6c39 ldr r1, [r7, #64] ; 0x40 80cd08a: f7fa fba9 bl 80c77e0 80cd08e: 4603 mov r3, r0 80cd090: 2b00 cmp r3, #0 80cd092: d002 beq.n 80cd09a 80cd094: 2301 movs r3, #1 80cd096: f000 be32 b.w 80cdcfe sect += n; nsect -= n; 80cd09a: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cd09e: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cd0a2: 4413 add r3, r2 80cd0a4: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cd0a8: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80cd0ac: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cd0b0: 1ad3 subs r3, r2, r3 80cd0b2: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80cd0b6: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80cd0ba: 2b00 cmp r3, #0 80cd0bc: d19e bne.n 80ccffc /* Initialize the FAT */ sect = b_fat; nsect = sz_fat; /* Start of FAT and number of FAT sectors */ 80cd0be: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80cd0c2: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cd0c6: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cd0ca: f8c7 3090 str.w r3, [r7, #144] ; 0x90 j = nb = cl = 0; 80cd0ce: 2300 movs r3, #0 80cd0d0: 66bb str r3, [r7, #104] ; 0x68 80cd0d2: 6ebb ldr r3, [r7, #104] ; 0x68 80cd0d4: 66fb str r3, [r7, #108] ; 0x6c 80cd0d6: 6efb ldr r3, [r7, #108] ; 0x6c 80cd0d8: 663b str r3, [r7, #96] ; 0x60 do { mem_set(buf, 0, szb_buf); i = 0; /* Clear work area and reset write index */ 80cd0da: 6bba ldr r2, [r7, #56] ; 0x38 80cd0dc: 2100 movs r1, #0 80cd0de: 6c38 ldr r0, [r7, #64] ; 0x40 80cd0e0: f7fa fd9f bl 80c7c22 80cd0e4: 2300 movs r3, #0 80cd0e6: 67bb str r3, [r7, #120] ; 0x78 if (cl == 0) { /* Set entry 0 and 1 */ 80cd0e8: 6ebb ldr r3, [r7, #104] ; 0x68 80cd0ea: 2b00 cmp r3, #0 80cd0ec: d134 bne.n 80cd158 st_dword(buf + i, 0xFFFFFFF8); i += 4; cl++; 80cd0ee: 6c3a ldr r2, [r7, #64] ; 0x40 80cd0f0: 6fbb ldr r3, [r7, #120] ; 0x78 80cd0f2: 4413 add r3, r2 80cd0f4: f06f 0107 mvn.w r1, #7 80cd0f8: 4618 mov r0, r3 80cd0fa: f7fa fcb4 bl 80c7a66 80cd0fe: 6fbb ldr r3, [r7, #120] ; 0x78 80cd100: 3304 adds r3, #4 80cd102: 67bb str r3, [r7, #120] ; 0x78 80cd104: 6ebb ldr r3, [r7, #104] ; 0x68 80cd106: 3301 adds r3, #1 80cd108: 66bb str r3, [r7, #104] ; 0x68 st_dword(buf + i, 0xFFFFFFFF); i += 4; cl++; 80cd10a: 6c3a ldr r2, [r7, #64] ; 0x40 80cd10c: 6fbb ldr r3, [r7, #120] ; 0x78 80cd10e: 4413 add r3, r2 80cd110: f04f 31ff mov.w r1, #4294967295 80cd114: 4618 mov r0, r3 80cd116: f7fa fca6 bl 80c7a66 80cd11a: 6fbb ldr r3, [r7, #120] ; 0x78 80cd11c: 3304 adds r3, #4 80cd11e: 67bb str r3, [r7, #120] ; 0x78 80cd120: 6ebb ldr r3, [r7, #104] ; 0x68 80cd122: 3301 adds r3, #1 80cd124: 66bb str r3, [r7, #104] ; 0x68 } do { /* Create chains of bitmap, up-case and root dir */ while (nb && i < szb_buf) { /* Create a chain */ 80cd126: e017 b.n 80cd158 st_dword(buf + i, (nb > 1) ? cl + 1 : 0xFFFFFFFF); 80cd128: 6c3a ldr r2, [r7, #64] ; 0x40 80cd12a: 6fbb ldr r3, [r7, #120] ; 0x78 80cd12c: 441a add r2, r3 80cd12e: 6efb ldr r3, [r7, #108] ; 0x6c 80cd130: 2b01 cmp r3, #1 80cd132: d902 bls.n 80cd13a 80cd134: 6ebb ldr r3, [r7, #104] ; 0x68 80cd136: 3301 adds r3, #1 80cd138: e001 b.n 80cd13e 80cd13a: f04f 33ff mov.w r3, #4294967295 80cd13e: 4619 mov r1, r3 80cd140: 4610 mov r0, r2 80cd142: f7fa fc90 bl 80c7a66 i += 4; cl++; nb--; 80cd146: 6fbb ldr r3, [r7, #120] ; 0x78 80cd148: 3304 adds r3, #4 80cd14a: 67bb str r3, [r7, #120] ; 0x78 80cd14c: 6ebb ldr r3, [r7, #104] ; 0x68 80cd14e: 3301 adds r3, #1 80cd150: 66bb str r3, [r7, #104] ; 0x68 80cd152: 6efb ldr r3, [r7, #108] ; 0x6c 80cd154: 3b01 subs r3, #1 80cd156: 66fb str r3, [r7, #108] ; 0x6c while (nb && i < szb_buf) { /* Create a chain */ 80cd158: 6efb ldr r3, [r7, #108] ; 0x6c 80cd15a: 2b00 cmp r3, #0 80cd15c: d003 beq.n 80cd166 80cd15e: 6fba ldr r2, [r7, #120] ; 0x78 80cd160: 6bbb ldr r3, [r7, #56] ; 0x38 80cd162: 429a cmp r2, r3 80cd164: d3e0 bcc.n 80cd128 } if (!nb && j < 3) nb = tbl[j++]; /* Next chain */ 80cd166: 6efb ldr r3, [r7, #108] ; 0x6c 80cd168: 2b00 cmp r3, #0 80cd16a: d10c bne.n 80cd186 80cd16c: 6e3b ldr r3, [r7, #96] ; 0x60 80cd16e: 2b02 cmp r3, #2 80cd170: d809 bhi.n 80cd186 80cd172: 6e3b ldr r3, [r7, #96] ; 0x60 80cd174: 1c5a adds r2, r3, #1 80cd176: 663a str r2, [r7, #96] ; 0x60 80cd178: 009b lsls r3, r3, #2 80cd17a: f107 02a0 add.w r2, r7, #160 ; 0xa0 80cd17e: 4413 add r3, r2 80cd180: f853 3c90 ldr.w r3, [r3, #-144] 80cd184: 66fb str r3, [r7, #108] ; 0x6c } while (nb && i < szb_buf); 80cd186: 6efb ldr r3, [r7, #108] ; 0x6c 80cd188: 2b00 cmp r3, #0 80cd18a: d003 beq.n 80cd194 80cd18c: 6fba ldr r2, [r7, #120] ; 0x78 80cd18e: 6bbb ldr r3, [r7, #56] ; 0x38 80cd190: 429a cmp r2, r3 80cd192: d3e1 bcc.n 80cd158 n = (nsect > sz_buf) ? sz_buf : nsect; /* Write the buffered data */ 80cd194: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80cd198: 6bfb ldr r3, [r7, #60] ; 0x3c 80cd19a: 4293 cmp r3, r2 80cd19c: bf28 it cs 80cd19e: 4613 movcs r3, r2 80cd1a0: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, n) != RES_OK) return FR_DISK_ERR; 80cd1a4: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cd1a8: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cd1ac: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cd1b0: 6c39 ldr r1, [r7, #64] ; 0x40 80cd1b2: f7fa fb15 bl 80c77e0 80cd1b6: 4603 mov r3, r0 80cd1b8: 2b00 cmp r3, #0 80cd1ba: d002 beq.n 80cd1c2 80cd1bc: 2301 movs r3, #1 80cd1be: f000 bd9e b.w 80cdcfe sect += n; nsect -= n; 80cd1c2: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cd1c6: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cd1ca: 4413 add r3, r2 80cd1cc: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cd1d0: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80cd1d4: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cd1d8: 1ad3 subs r3, r2, r3 80cd1da: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80cd1de: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80cd1e2: 2b00 cmp r3, #0 80cd1e4: f47f af79 bne.w 80cd0da /* Initialize the root directory */ mem_set(buf, 0, szb_buf); 80cd1e8: 6bba ldr r2, [r7, #56] ; 0x38 80cd1ea: 2100 movs r1, #0 80cd1ec: 6c38 ldr r0, [r7, #64] ; 0x40 80cd1ee: f7fa fd18 bl 80c7c22 buf[SZDIRE * 0 + 0] = 0x83; /* 83 entry (volume label) */ 80cd1f2: 6c3b ldr r3, [r7, #64] ; 0x40 80cd1f4: 2283 movs r2, #131 ; 0x83 80cd1f6: 701a strb r2, [r3, #0] buf[SZDIRE * 1 + 0] = 0x81; /* 81 entry (allocation bitmap) */ 80cd1f8: 6c3b ldr r3, [r7, #64] ; 0x40 80cd1fa: 3320 adds r3, #32 80cd1fc: 2281 movs r2, #129 ; 0x81 80cd1fe: 701a strb r2, [r3, #0] st_dword(buf + SZDIRE * 1 + 20, 2); 80cd200: 6c3b ldr r3, [r7, #64] ; 0x40 80cd202: 3334 adds r3, #52 ; 0x34 80cd204: 2102 movs r1, #2 80cd206: 4618 mov r0, r3 80cd208: f7fa fc2d bl 80c7a66 st_dword(buf + SZDIRE * 1 + 24, szb_bit); 80cd20c: 6c3b ldr r3, [r7, #64] ; 0x40 80cd20e: 3338 adds r3, #56 ; 0x38 80cd210: 6ab9 ldr r1, [r7, #40] ; 0x28 80cd212: 4618 mov r0, r3 80cd214: f7fa fc27 bl 80c7a66 buf[SZDIRE * 2 + 0] = 0x82; /* 82 entry (up-case table) */ 80cd218: 6c3b ldr r3, [r7, #64] ; 0x40 80cd21a: 3340 adds r3, #64 ; 0x40 80cd21c: 2282 movs r2, #130 ; 0x82 80cd21e: 701a strb r2, [r3, #0] st_dword(buf + SZDIRE * 2 + 4, sum); 80cd220: 6c3b ldr r3, [r7, #64] ; 0x40 80cd222: 3344 adds r3, #68 ; 0x44 80cd224: 6f39 ldr r1, [r7, #112] ; 0x70 80cd226: 4618 mov r0, r3 80cd228: f7fa fc1d bl 80c7a66 st_dword(buf + SZDIRE * 2 + 20, 2 + tbl[0]); 80cd22c: 6c3b ldr r3, [r7, #64] ; 0x40 80cd22e: f103 0254 add.w r2, r3, #84 ; 0x54 80cd232: 693b ldr r3, [r7, #16] 80cd234: 3302 adds r3, #2 80cd236: 4619 mov r1, r3 80cd238: 4610 mov r0, r2 80cd23a: f7fa fc14 bl 80c7a66 st_dword(buf + SZDIRE * 2 + 24, szb_case); 80cd23e: 6c3b ldr r3, [r7, #64] ; 0x40 80cd240: 3358 adds r3, #88 ; 0x58 80cd242: 6f79 ldr r1, [r7, #116] ; 0x74 80cd244: 4618 mov r0, r3 80cd246: f7fa fc0e bl 80c7a66 sect = b_data + au * (tbl[0] + tbl[1]); nsect = au; /* Start of the root directory and number of sectors */ 80cd24a: 693a ldr r2, [r7, #16] 80cd24c: 697b ldr r3, [r7, #20] 80cd24e: 4413 add r3, r2 80cd250: 687a ldr r2, [r7, #4] 80cd252: fb02 f203 mul.w r2, r2, r3 80cd256: 6b3b ldr r3, [r7, #48] ; 0x30 80cd258: 4413 add r3, r2 80cd25a: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cd25e: 687b ldr r3, [r7, #4] 80cd260: f8c7 3090 str.w r3, [r7, #144] ; 0x90 do { /* Fill root directory sectors */ n = (nsect > sz_buf) ? sz_buf : nsect; 80cd264: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80cd268: 6bfb ldr r3, [r7, #60] ; 0x3c 80cd26a: 4293 cmp r3, r2 80cd26c: bf28 it cs 80cd26e: 4613 movcs r3, r2 80cd270: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, n) != RES_OK) return FR_DISK_ERR; 80cd274: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cd278: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cd27c: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cd280: 6c39 ldr r1, [r7, #64] ; 0x40 80cd282: f7fa faad bl 80c77e0 80cd286: 4603 mov r3, r0 80cd288: 2b00 cmp r3, #0 80cd28a: d002 beq.n 80cd292 80cd28c: 2301 movs r3, #1 80cd28e: f000 bd36 b.w 80cdcfe mem_set(buf, 0, ss); 80cd292: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cd296: 461a mov r2, r3 80cd298: 2100 movs r1, #0 80cd29a: 6c38 ldr r0, [r7, #64] ; 0x40 80cd29c: f7fa fcc1 bl 80c7c22 sect += n; nsect -= n; 80cd2a0: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cd2a4: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cd2a8: 4413 add r3, r2 80cd2aa: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cd2ae: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80cd2b2: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cd2b6: 1ad3 subs r3, r2, r3 80cd2b8: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80cd2bc: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80cd2c0: 2b00 cmp r3, #0 80cd2c2: d1cf bne.n 80cd264 /* Create two set of the exFAT VBR blocks */ sect = b_vol; 80cd2c4: 6b7b ldr r3, [r7, #52] ; 0x34 80cd2c6: f8c7 3094 str.w r3, [r7, #148] ; 0x94 for (n = 0; n < 2; n++) { 80cd2ca: 2300 movs r3, #0 80cd2cc: f8c7 308c str.w r3, [r7, #140] ; 0x8c 80cd2d0: e157 b.n 80cd582 /* Main record (+0) */ mem_set(buf, 0, ss); 80cd2d2: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cd2d6: 461a mov r2, r3 80cd2d8: 2100 movs r1, #0 80cd2da: 6c38 ldr r0, [r7, #64] ; 0x40 80cd2dc: f7fa fca1 bl 80c7c22 mem_cpy(buf + BS_JmpBoot, "\xEB\x76\x90" "EXFAT ", 11); /* Boot jump code (x86), OEM name */ 80cd2e0: 220b movs r2, #11 80cd2e2: 49b5 ldr r1, [pc, #724] ; (80cd5b8 ) 80cd2e4: 6c38 ldr r0, [r7, #64] ; 0x40 80cd2e6: f7fa fc7b bl 80c7be0 st_dword(buf + BPB_VolOfsEx, b_vol); /* Volume offset in the physical drive [sector] */ 80cd2ea: 6c3b ldr r3, [r7, #64] ; 0x40 80cd2ec: 3340 adds r3, #64 ; 0x40 80cd2ee: 6b79 ldr r1, [r7, #52] ; 0x34 80cd2f0: 4618 mov r0, r3 80cd2f2: f7fa fbb8 bl 80c7a66 st_dword(buf + BPB_TotSecEx, sz_vol); /* Volume size [sector] */ 80cd2f6: 6c3b ldr r3, [r7, #64] ; 0x40 80cd2f8: 3348 adds r3, #72 ; 0x48 80cd2fa: 69fa ldr r2, [r7, #28] 80cd2fc: 4611 mov r1, r2 80cd2fe: 4618 mov r0, r3 80cd300: f7fa fbb1 bl 80c7a66 st_dword(buf + BPB_FatOfsEx, b_fat - b_vol); /* FAT offset [sector] */ 80cd304: 6c3b ldr r3, [r7, #64] ; 0x40 80cd306: f103 0050 add.w r0, r3, #80 ; 0x50 80cd30a: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80cd30e: 6b7b ldr r3, [r7, #52] ; 0x34 80cd310: 1ad3 subs r3, r2, r3 80cd312: 4619 mov r1, r3 80cd314: f7fa fba7 bl 80c7a66 st_dword(buf + BPB_FatSzEx, sz_fat); /* FAT size [sector] */ 80cd318: 6c3b ldr r3, [r7, #64] ; 0x40 80cd31a: 3354 adds r3, #84 ; 0x54 80cd31c: f8d7 1080 ldr.w r1, [r7, #128] ; 0x80 80cd320: 4618 mov r0, r3 80cd322: f7fa fba0 bl 80c7a66 st_dword(buf + BPB_DataOfsEx, b_data - b_vol); /* Data offset [sector] */ 80cd326: 6c3b ldr r3, [r7, #64] ; 0x40 80cd328: f103 0058 add.w r0, r3, #88 ; 0x58 80cd32c: 6b3a ldr r2, [r7, #48] ; 0x30 80cd32e: 6b7b ldr r3, [r7, #52] ; 0x34 80cd330: 1ad3 subs r3, r2, r3 80cd332: 4619 mov r1, r3 80cd334: f7fa fb97 bl 80c7a66 st_dword(buf + BPB_NumClusEx, n_clst); /* Number of clusters */ 80cd338: 6c3b ldr r3, [r7, #64] ; 0x40 80cd33a: 335c adds r3, #92 ; 0x5c 80cd33c: 6af9 ldr r1, [r7, #44] ; 0x2c 80cd33e: 4618 mov r0, r3 80cd340: f7fa fb91 bl 80c7a66 st_dword(buf + BPB_RootClusEx, 2 + tbl[0] + tbl[1]); /* Root dir cluster # */ 80cd344: 6c3b ldr r3, [r7, #64] ; 0x40 80cd346: f103 0060 add.w r0, r3, #96 ; 0x60 80cd34a: 693a ldr r2, [r7, #16] 80cd34c: 697b ldr r3, [r7, #20] 80cd34e: 4413 add r3, r2 80cd350: 3302 adds r3, #2 80cd352: 4619 mov r1, r3 80cd354: f7fa fb87 bl 80c7a66 st_dword(buf + BPB_VolIDEx, GET_FATTIME()); /* VSN */ 80cd358: 6c3b ldr r3, [r7, #64] ; 0x40 80cd35a: f103 0464 add.w r4, r3, #100 ; 0x64 80cd35e: f7f7 f96d bl 80c463c 80cd362: 4603 mov r3, r0 80cd364: 4619 mov r1, r3 80cd366: 4620 mov r0, r4 80cd368: f7fa fb7d bl 80c7a66 st_word(buf + BPB_FSVerEx, 0x100); /* File system version (1.00) */ 80cd36c: 6c3b ldr r3, [r7, #64] ; 0x40 80cd36e: 3368 adds r3, #104 ; 0x68 80cd370: f44f 7180 mov.w r1, #256 ; 0x100 80cd374: 4618 mov r0, r3 80cd376: f7fa fb5b bl 80c7a30 for (buf[BPB_BytsPerSecEx] = 0, i = ss; i >>= 1; buf[BPB_BytsPerSecEx]++) ; /* Log2 of sector size [byte] */ 80cd37a: 6c3b ldr r3, [r7, #64] ; 0x40 80cd37c: 336c adds r3, #108 ; 0x6c 80cd37e: 2200 movs r2, #0 80cd380: 701a strb r2, [r3, #0] 80cd382: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cd386: 67bb str r3, [r7, #120] ; 0x78 80cd388: e005 b.n 80cd396 80cd38a: 6c3b ldr r3, [r7, #64] ; 0x40 80cd38c: 336c adds r3, #108 ; 0x6c 80cd38e: 781a ldrb r2, [r3, #0] 80cd390: 3201 adds r2, #1 80cd392: b2d2 uxtb r2, r2 80cd394: 701a strb r2, [r3, #0] 80cd396: 6fbb ldr r3, [r7, #120] ; 0x78 80cd398: 085b lsrs r3, r3, #1 80cd39a: 67bb str r3, [r7, #120] ; 0x78 80cd39c: 6fbb ldr r3, [r7, #120] ; 0x78 80cd39e: 2b00 cmp r3, #0 80cd3a0: d1f3 bne.n 80cd38a for (buf[BPB_SecPerClusEx] = 0, i = au; i >>= 1; buf[BPB_SecPerClusEx]++) ; /* Log2 of cluster size [sector] */ 80cd3a2: 6c3b ldr r3, [r7, #64] ; 0x40 80cd3a4: 336d adds r3, #109 ; 0x6d 80cd3a6: 2200 movs r2, #0 80cd3a8: 701a strb r2, [r3, #0] 80cd3aa: 687b ldr r3, [r7, #4] 80cd3ac: 67bb str r3, [r7, #120] ; 0x78 80cd3ae: e005 b.n 80cd3bc 80cd3b0: 6c3b ldr r3, [r7, #64] ; 0x40 80cd3b2: 336d adds r3, #109 ; 0x6d 80cd3b4: 781a ldrb r2, [r3, #0] 80cd3b6: 3201 adds r2, #1 80cd3b8: b2d2 uxtb r2, r2 80cd3ba: 701a strb r2, [r3, #0] 80cd3bc: 6fbb ldr r3, [r7, #120] ; 0x78 80cd3be: 085b lsrs r3, r3, #1 80cd3c0: 67bb str r3, [r7, #120] ; 0x78 80cd3c2: 6fbb ldr r3, [r7, #120] ; 0x78 80cd3c4: 2b00 cmp r3, #0 80cd3c6: d1f3 bne.n 80cd3b0 buf[BPB_NumFATsEx] = 1; /* Number of FATs */ 80cd3c8: 6c3b ldr r3, [r7, #64] ; 0x40 80cd3ca: 336e adds r3, #110 ; 0x6e 80cd3cc: 2201 movs r2, #1 80cd3ce: 701a strb r2, [r3, #0] buf[BPB_DrvNumEx] = 0x80; /* Drive number (for int13) */ 80cd3d0: 6c3b ldr r3, [r7, #64] ; 0x40 80cd3d2: 336f adds r3, #111 ; 0x6f 80cd3d4: 2280 movs r2, #128 ; 0x80 80cd3d6: 701a strb r2, [r3, #0] st_word(buf + BS_BootCodeEx, 0xFEEB); /* Boot code (x86) */ 80cd3d8: 6c3b ldr r3, [r7, #64] ; 0x40 80cd3da: 3378 adds r3, #120 ; 0x78 80cd3dc: f64f 61eb movw r1, #65259 ; 0xfeeb 80cd3e0: 4618 mov r0, r3 80cd3e2: f7fa fb25 bl 80c7a30 st_word(buf + BS_55AA, 0xAA55); /* Signature (placed here regardless of sector size) */ 80cd3e6: 6c3b ldr r3, [r7, #64] ; 0x40 80cd3e8: f503 73ff add.w r3, r3, #510 ; 0x1fe 80cd3ec: f64a 2155 movw r1, #43605 ; 0xaa55 80cd3f0: 4618 mov r0, r3 80cd3f2: f7fa fb1d bl 80c7a30 for (i = sum = 0; i < ss; i++) { /* VBR checksum */ 80cd3f6: 2300 movs r3, #0 80cd3f8: 673b str r3, [r7, #112] ; 0x70 80cd3fa: 2300 movs r3, #0 80cd3fc: 67bb str r3, [r7, #120] ; 0x78 80cd3fe: e014 b.n 80cd42a if (i != BPB_VolFlagEx && i != BPB_VolFlagEx + 1 && i != BPB_PercInUseEx) sum = xsum32(buf[i], sum); 80cd400: 6fbb ldr r3, [r7, #120] ; 0x78 80cd402: 2b6a cmp r3, #106 ; 0x6a 80cd404: d00e beq.n 80cd424 80cd406: 6fbb ldr r3, [r7, #120] ; 0x78 80cd408: 2b6b cmp r3, #107 ; 0x6b 80cd40a: d00b beq.n 80cd424 80cd40c: 6fbb ldr r3, [r7, #120] ; 0x78 80cd40e: 2b70 cmp r3, #112 ; 0x70 80cd410: d008 beq.n 80cd424 80cd412: 6c3a ldr r2, [r7, #64] ; 0x40 80cd414: 6fbb ldr r3, [r7, #120] ; 0x78 80cd416: 4413 add r3, r2 80cd418: 781b ldrb r3, [r3, #0] 80cd41a: 6f39 ldr r1, [r7, #112] ; 0x70 80cd41c: 4618 mov r0, r3 80cd41e: f7fb fefb bl 80c9218 80cd422: 6738 str r0, [r7, #112] ; 0x70 for (i = sum = 0; i < ss; i++) { /* VBR checksum */ 80cd424: 6fbb ldr r3, [r7, #120] ; 0x78 80cd426: 3301 adds r3, #1 80cd428: 67bb str r3, [r7, #120] ; 0x78 80cd42a: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80cd42e: 6fbb ldr r3, [r7, #120] ; 0x78 80cd430: 429a cmp r2, r3 80cd432: d8e5 bhi.n 80cd400 } if (disk_write(pdrv, buf, sect++, 1) != RES_OK) return FR_DISK_ERR; 80cd434: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cd438: 1c53 adds r3, r2, #1 80cd43a: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cd43e: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cd442: 2301 movs r3, #1 80cd444: 6c39 ldr r1, [r7, #64] ; 0x40 80cd446: f7fa f9cb bl 80c77e0 80cd44a: 4603 mov r3, r0 80cd44c: 2b00 cmp r3, #0 80cd44e: d002 beq.n 80cd456 80cd450: 2301 movs r3, #1 80cd452: f000 bc54 b.w 80cdcfe /* Extended bootstrap record (+1..+8) */ mem_set(buf, 0, ss); 80cd456: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cd45a: 461a mov r2, r3 80cd45c: 2100 movs r1, #0 80cd45e: 6c38 ldr r0, [r7, #64] ; 0x40 80cd460: f7fa fbdf bl 80c7c22 st_word(buf + ss - 2, 0xAA55); /* Signature (placed at end of sector) */ 80cd464: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cd468: 3b02 subs r3, #2 80cd46a: 6c3a ldr r2, [r7, #64] ; 0x40 80cd46c: 4413 add r3, r2 80cd46e: f64a 2155 movw r1, #43605 ; 0xaa55 80cd472: 4618 mov r0, r3 80cd474: f7fa fadc bl 80c7a30 for (j = 1; j < 9; j++) { 80cd478: 2301 movs r3, #1 80cd47a: 663b str r3, [r7, #96] ; 0x60 80cd47c: e026 b.n 80cd4cc for (i = 0; i < ss; sum = xsum32(buf[i++], sum)) ; /* VBR checksum */ 80cd47e: 2300 movs r3, #0 80cd480: 67bb str r3, [r7, #120] ; 0x78 80cd482: e00a b.n 80cd49a 80cd484: 6fbb ldr r3, [r7, #120] ; 0x78 80cd486: 1c5a adds r2, r3, #1 80cd488: 67ba str r2, [r7, #120] ; 0x78 80cd48a: 6c3a ldr r2, [r7, #64] ; 0x40 80cd48c: 4413 add r3, r2 80cd48e: 781b ldrb r3, [r3, #0] 80cd490: 6f39 ldr r1, [r7, #112] ; 0x70 80cd492: 4618 mov r0, r3 80cd494: f7fb fec0 bl 80c9218 80cd498: 6738 str r0, [r7, #112] ; 0x70 80cd49a: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80cd49e: 6fbb ldr r3, [r7, #120] ; 0x78 80cd4a0: 429a cmp r2, r3 80cd4a2: d8ef bhi.n 80cd484 if (disk_write(pdrv, buf, sect++, 1) != RES_OK) return FR_DISK_ERR; 80cd4a4: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cd4a8: 1c53 adds r3, r2, #1 80cd4aa: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cd4ae: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cd4b2: 2301 movs r3, #1 80cd4b4: 6c39 ldr r1, [r7, #64] ; 0x40 80cd4b6: f7fa f993 bl 80c77e0 80cd4ba: 4603 mov r3, r0 80cd4bc: 2b00 cmp r3, #0 80cd4be: d002 beq.n 80cd4c6 80cd4c0: 2301 movs r3, #1 80cd4c2: f000 bc1c b.w 80cdcfe for (j = 1; j < 9; j++) { 80cd4c6: 6e3b ldr r3, [r7, #96] ; 0x60 80cd4c8: 3301 adds r3, #1 80cd4ca: 663b str r3, [r7, #96] ; 0x60 80cd4cc: 6e3b ldr r3, [r7, #96] ; 0x60 80cd4ce: 2b08 cmp r3, #8 80cd4d0: d9d5 bls.n 80cd47e } /* OEM/Reserved record (+9..+10) */ mem_set(buf, 0, ss); 80cd4d2: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cd4d6: 461a mov r2, r3 80cd4d8: 2100 movs r1, #0 80cd4da: 6c38 ldr r0, [r7, #64] ; 0x40 80cd4dc: f7fa fba1 bl 80c7c22 for ( ; j < 11; j++) { 80cd4e0: e025 b.n 80cd52e for (i = 0; i < ss; sum = xsum32(buf[i++], sum)) ; /* VBR checksum */ 80cd4e2: 2300 movs r3, #0 80cd4e4: 67bb str r3, [r7, #120] ; 0x78 80cd4e6: e00a b.n 80cd4fe 80cd4e8: 6fbb ldr r3, [r7, #120] ; 0x78 80cd4ea: 1c5a adds r2, r3, #1 80cd4ec: 67ba str r2, [r7, #120] ; 0x78 80cd4ee: 6c3a ldr r2, [r7, #64] ; 0x40 80cd4f0: 4413 add r3, r2 80cd4f2: 781b ldrb r3, [r3, #0] 80cd4f4: 6f39 ldr r1, [r7, #112] ; 0x70 80cd4f6: 4618 mov r0, r3 80cd4f8: f7fb fe8e bl 80c9218 80cd4fc: 6738 str r0, [r7, #112] ; 0x70 80cd4fe: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80cd502: 6fbb ldr r3, [r7, #120] ; 0x78 80cd504: 429a cmp r2, r3 80cd506: d8ef bhi.n 80cd4e8 if (disk_write(pdrv, buf, sect++, 1) != RES_OK) return FR_DISK_ERR; 80cd508: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cd50c: 1c53 adds r3, r2, #1 80cd50e: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cd512: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cd516: 2301 movs r3, #1 80cd518: 6c39 ldr r1, [r7, #64] ; 0x40 80cd51a: f7fa f961 bl 80c77e0 80cd51e: 4603 mov r3, r0 80cd520: 2b00 cmp r3, #0 80cd522: d001 beq.n 80cd528 80cd524: 2301 movs r3, #1 80cd526: e3ea b.n 80cdcfe for ( ; j < 11; j++) { 80cd528: 6e3b ldr r3, [r7, #96] ; 0x60 80cd52a: 3301 adds r3, #1 80cd52c: 663b str r3, [r7, #96] ; 0x60 80cd52e: 6e3b ldr r3, [r7, #96] ; 0x60 80cd530: 2b0a cmp r3, #10 80cd532: d9d6 bls.n 80cd4e2 } /* Sum record (+11) */ for (i = 0; i < ss; i += 4) st_dword(buf + i, sum); /* Fill with checksum value */ 80cd534: 2300 movs r3, #0 80cd536: 67bb str r3, [r7, #120] ; 0x78 80cd538: e009 b.n 80cd54e 80cd53a: 6c3a ldr r2, [r7, #64] ; 0x40 80cd53c: 6fbb ldr r3, [r7, #120] ; 0x78 80cd53e: 4413 add r3, r2 80cd540: 6f39 ldr r1, [r7, #112] ; 0x70 80cd542: 4618 mov r0, r3 80cd544: f7fa fa8f bl 80c7a66 80cd548: 6fbb ldr r3, [r7, #120] ; 0x78 80cd54a: 3304 adds r3, #4 80cd54c: 67bb str r3, [r7, #120] ; 0x78 80cd54e: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80cd552: 6fbb ldr r3, [r7, #120] ; 0x78 80cd554: 429a cmp r2, r3 80cd556: d8f0 bhi.n 80cd53a if (disk_write(pdrv, buf, sect++, 1) != RES_OK) return FR_DISK_ERR; 80cd558: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cd55c: 1c53 adds r3, r2, #1 80cd55e: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cd562: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cd566: 2301 movs r3, #1 80cd568: 6c39 ldr r1, [r7, #64] ; 0x40 80cd56a: f7fa f939 bl 80c77e0 80cd56e: 4603 mov r3, r0 80cd570: 2b00 cmp r3, #0 80cd572: d001 beq.n 80cd578 80cd574: 2301 movs r3, #1 80cd576: e3c2 b.n 80cdcfe for (n = 0; n < 2; n++) { 80cd578: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cd57c: 3301 adds r3, #1 80cd57e: f8c7 308c str.w r3, [r7, #140] ; 0x8c 80cd582: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cd586: 2b01 cmp r3, #1 80cd588: f67f aea3 bls.w 80cd2d2 80cd58c: e31a b.n 80cdbc4 } else #endif /* _FS_EXFAT */ { /* Create an FAT12/16/32 volume */ do { pau = au; 80cd58e: 687b ldr r3, [r7, #4] 80cd590: f8c7 3098 str.w r3, [r7, #152] ; 0x98 /* Pre-determine number of clusters and FAT sub-type */ if (fmt == FS_FAT32) { /* FAT32 volume */ 80cd594: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cd598: 2b03 cmp r3, #3 80cd59a: d149 bne.n 80cd630 if (!pau) { /* au auto-selection */ 80cd59c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cd5a0: 2b00 cmp r3, #0 80cd5a2: d122 bne.n 80cd5ea n = sz_vol / 0x20000; /* Volume size in unit of 128KS */ 80cd5a4: 69fb ldr r3, [r7, #28] 80cd5a6: 0c5b lsrs r3, r3, #17 80cd5a8: f8c7 308c str.w r3, [r7, #140] ; 0x8c for (i = 0, pau = 1; cst32[i] && cst32[i] <= n; i++, pau <<= 1) ; /* Get from table */ 80cd5ac: 2300 movs r3, #0 80cd5ae: 67bb str r3, [r7, #120] ; 0x78 80cd5b0: 2301 movs r3, #1 80cd5b2: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80cd5b6: e009 b.n 80cd5cc 80cd5b8: 080d75f4 .word 0x080d75f4 80cd5bc: 6fbb ldr r3, [r7, #120] ; 0x78 80cd5be: 3301 adds r3, #1 80cd5c0: 67bb str r3, [r7, #120] ; 0x78 80cd5c2: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cd5c6: 005b lsls r3, r3, #1 80cd5c8: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80cd5cc: 4aba ldr r2, [pc, #744] ; (80cd8b8 ) 80cd5ce: 6fbb ldr r3, [r7, #120] ; 0x78 80cd5d0: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cd5d4: 2b00 cmp r3, #0 80cd5d6: d008 beq.n 80cd5ea 80cd5d8: 4ab7 ldr r2, [pc, #732] ; (80cd8b8 ) 80cd5da: 6fbb ldr r3, [r7, #120] ; 0x78 80cd5dc: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cd5e0: 461a mov r2, r3 80cd5e2: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cd5e6: 429a cmp r2, r3 80cd5e8: d9e8 bls.n 80cd5bc } n_clst = sz_vol / pau; /* Number of clusters */ 80cd5ea: 69fa ldr r2, [r7, #28] 80cd5ec: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cd5f0: fbb2 f3f3 udiv r3, r2, r3 80cd5f4: 62fb str r3, [r7, #44] ; 0x2c sz_fat = (n_clst * 4 + 8 + ss - 1) / ss; /* FAT size [sector] */ 80cd5f6: 6afb ldr r3, [r7, #44] ; 0x2c 80cd5f8: 3302 adds r3, #2 80cd5fa: 009a lsls r2, r3, #2 80cd5fc: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cd600: 4413 add r3, r2 80cd602: 1e5a subs r2, r3, #1 80cd604: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cd608: fbb2 f3f3 udiv r3, r2, r3 80cd60c: f8c7 3080 str.w r3, [r7, #128] ; 0x80 sz_rsv = 32; /* Number of reserved sectors */ 80cd610: 2320 movs r3, #32 80cd612: f8c7 3084 str.w r3, [r7, #132] ; 0x84 sz_dir = 0; /* No static directory */ 80cd616: 2300 movs r3, #0 80cd618: 67fb str r3, [r7, #124] ; 0x7c if (n_clst <= MAX_FAT16 || n_clst > MAX_FAT32) return FR_MKFS_ABORTED; 80cd61a: 6afb ldr r3, [r7, #44] ; 0x2c 80cd61c: f64f 72f5 movw r2, #65525 ; 0xfff5 80cd620: 4293 cmp r3, r2 80cd622: d903 bls.n 80cd62c 80cd624: 6afb ldr r3, [r7, #44] ; 0x2c 80cd626: 4aa5 ldr r2, [pc, #660] ; (80cd8bc ) 80cd628: 4293 cmp r3, r2 80cd62a: d959 bls.n 80cd6e0 80cd62c: 230e movs r3, #14 80cd62e: e366 b.n 80cdcfe } else { /* FAT12/16 volume */ if (!pau) { /* au auto-selection */ 80cd630: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cd634: 2b00 cmp r3, #0 80cd636: d120 bne.n 80cd67a n = sz_vol / 0x1000; /* Volume size in unit of 4KS */ 80cd638: 69fb ldr r3, [r7, #28] 80cd63a: 0b1b lsrs r3, r3, #12 80cd63c: f8c7 308c str.w r3, [r7, #140] ; 0x8c for (i = 0, pau = 1; cst[i] && cst[i] <= n; i++, pau <<= 1) ; /* Get from table */ 80cd640: 2300 movs r3, #0 80cd642: 67bb str r3, [r7, #120] ; 0x78 80cd644: 2301 movs r3, #1 80cd646: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80cd64a: e007 b.n 80cd65c 80cd64c: 6fbb ldr r3, [r7, #120] ; 0x78 80cd64e: 3301 adds r3, #1 80cd650: 67bb str r3, [r7, #120] ; 0x78 80cd652: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cd656: 005b lsls r3, r3, #1 80cd658: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80cd65c: 4a98 ldr r2, [pc, #608] ; (80cd8c0 ) 80cd65e: 6fbb ldr r3, [r7, #120] ; 0x78 80cd660: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cd664: 2b00 cmp r3, #0 80cd666: d008 beq.n 80cd67a 80cd668: 4a95 ldr r2, [pc, #596] ; (80cd8c0 ) 80cd66a: 6fbb ldr r3, [r7, #120] ; 0x78 80cd66c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cd670: 461a mov r2, r3 80cd672: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cd676: 429a cmp r2, r3 80cd678: d9e8 bls.n 80cd64c } n_clst = sz_vol / pau; 80cd67a: 69fa ldr r2, [r7, #28] 80cd67c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cd680: fbb2 f3f3 udiv r3, r2, r3 80cd684: 62fb str r3, [r7, #44] ; 0x2c if (n_clst > MAX_FAT12) { 80cd686: 6afb ldr r3, [r7, #44] ; 0x2c 80cd688: f640 72f5 movw r2, #4085 ; 0xff5 80cd68c: 4293 cmp r3, r2 80cd68e: d905 bls.n 80cd69c n = n_clst * 2 + 4; /* FAT size [byte] */ 80cd690: 6afb ldr r3, [r7, #44] ; 0x2c 80cd692: 3302 adds r3, #2 80cd694: 005b lsls r3, r3, #1 80cd696: f8c7 308c str.w r3, [r7, #140] ; 0x8c 80cd69a: e00b b.n 80cd6b4 } else { fmt = FS_FAT12; 80cd69c: 2301 movs r3, #1 80cd69e: f887 309f strb.w r3, [r7, #159] ; 0x9f n = (n_clst * 3 + 1) / 2 + 3; /* FAT size [byte] */ 80cd6a2: 6afa ldr r2, [r7, #44] ; 0x2c 80cd6a4: 4613 mov r3, r2 80cd6a6: 005b lsls r3, r3, #1 80cd6a8: 4413 add r3, r2 80cd6aa: 3301 adds r3, #1 80cd6ac: 085b lsrs r3, r3, #1 80cd6ae: 3303 adds r3, #3 80cd6b0: f8c7 308c str.w r3, [r7, #140] ; 0x8c } sz_fat = (n + ss - 1) / ss; /* FAT size [sector] */ 80cd6b4: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80cd6b8: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cd6bc: 4413 add r3, r2 80cd6be: 1e5a subs r2, r3, #1 80cd6c0: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cd6c4: fbb2 f3f3 udiv r3, r2, r3 80cd6c8: f8c7 3080 str.w r3, [r7, #128] ; 0x80 sz_rsv = 1; /* Number of reserved sectors */ 80cd6cc: 2301 movs r3, #1 80cd6ce: f8c7 3084 str.w r3, [r7, #132] ; 0x84 sz_dir = (DWORD)n_rootdir * SZDIRE / ss; /* Rootdir size [sector] */ 80cd6d2: 6d3b ldr r3, [r7, #80] ; 0x50 80cd6d4: 015a lsls r2, r3, #5 80cd6d6: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cd6da: fbb2 f3f3 udiv r3, r2, r3 80cd6de: 67fb str r3, [r7, #124] ; 0x7c } b_fat = b_vol + sz_rsv; /* FAT base */ 80cd6e0: 6b7a ldr r2, [r7, #52] ; 0x34 80cd6e2: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cd6e6: 4413 add r3, r2 80cd6e8: f8c7 3088 str.w r3, [r7, #136] ; 0x88 b_data = b_fat + sz_fat * n_fats + sz_dir; /* Data base */ 80cd6ec: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cd6f0: 6d7a ldr r2, [r7, #84] ; 0x54 80cd6f2: fb02 f203 mul.w r2, r2, r3 80cd6f6: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80cd6fa: 441a add r2, r3 80cd6fc: 6ffb ldr r3, [r7, #124] ; 0x7c 80cd6fe: 4413 add r3, r2 80cd700: 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 */ 80cd702: 6a3a ldr r2, [r7, #32] 80cd704: 6b3b ldr r3, [r7, #48] ; 0x30 80cd706: 4413 add r3, r2 80cd708: 1e5a subs r2, r3, #1 80cd70a: 6a3b ldr r3, [r7, #32] 80cd70c: 425b negs r3, r3 80cd70e: 401a ands r2, r3 80cd710: 6b3b ldr r3, [r7, #48] ; 0x30 80cd712: 1ad3 subs r3, r2, r3 80cd714: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (fmt == FS_FAT32) { /* FAT32: Move FAT base */ 80cd718: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cd71c: 2b03 cmp r3, #3 80cd71e: d10e bne.n 80cd73e sz_rsv += n; b_fat += n; 80cd720: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 80cd724: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cd728: 4413 add r3, r2 80cd72a: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80cd72e: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80cd732: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cd736: 4413 add r3, r2 80cd738: f8c7 3088 str.w r3, [r7, #136] ; 0x88 80cd73c: e009 b.n 80cd752 } else { /* FAT12/16: Expand FAT size */ sz_fat += n / n_fats; 80cd73e: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 80cd742: 6d7b ldr r3, [r7, #84] ; 0x54 80cd744: fbb2 f3f3 udiv r3, r2, r3 80cd748: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80cd74c: 4413 add r3, r2 80cd74e: 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 */ 80cd752: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cd756: 011a lsls r2, r3, #4 80cd758: 6b3b ldr r3, [r7, #48] ; 0x30 80cd75a: 441a add r2, r3 80cd75c: 6b7b ldr r3, [r7, #52] ; 0x34 80cd75e: 1ad2 subs r2, r2, r3 80cd760: 69fb ldr r3, [r7, #28] 80cd762: 429a cmp r2, r3 80cd764: d901 bls.n 80cd76a 80cd766: 230e movs r3, #14 80cd768: e2c9 b.n 80cdcfe n_clst = (sz_vol - sz_rsv - sz_fat * n_fats - sz_dir) / pau; 80cd76a: 69fa ldr r2, [r7, #28] 80cd76c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cd770: 1ad2 subs r2, r2, r3 80cd772: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cd776: 6d79 ldr r1, [r7, #84] ; 0x54 80cd778: fb01 f303 mul.w r3, r1, r3 80cd77c: 1ad2 subs r2, r2, r3 80cd77e: 6ffb ldr r3, [r7, #124] ; 0x7c 80cd780: 1ad2 subs r2, r2, r3 80cd782: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cd786: fbb2 f3f3 udiv r3, r2, r3 80cd78a: 62fb str r3, [r7, #44] ; 0x2c if (fmt == FS_FAT32) { 80cd78c: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cd790: 2b03 cmp r3, #3 80cd792: d110 bne.n 80cd7b6 if (n_clst <= MAX_FAT16) { /* Too few clusters for FAT32 */ 80cd794: 6afb ldr r3, [r7, #44] ; 0x2c 80cd796: f64f 72f5 movw r2, #65525 ; 0xfff5 80cd79a: 4293 cmp r3, r2 80cd79c: d80b bhi.n 80cd7b6 if (!au && (au = pau / 2) != 0) continue; /* Adjust cluster size and retry */ 80cd79e: 687b ldr r3, [r7, #4] 80cd7a0: 2b00 cmp r3, #0 80cd7a2: d106 bne.n 80cd7b2 80cd7a4: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cd7a8: 085b lsrs r3, r3, #1 80cd7aa: 607b str r3, [r7, #4] 80cd7ac: 687b ldr r3, [r7, #4] 80cd7ae: 2b00 cmp r3, #0 80cd7b0: d148 bne.n 80cd844 return FR_MKFS_ABORTED; 80cd7b2: 230e movs r3, #14 80cd7b4: e2a3 b.n 80cdcfe } } if (fmt == FS_FAT16) { 80cd7b6: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cd7ba: 2b02 cmp r3, #2 80cd7bc: d137 bne.n 80cd82e if (n_clst > MAX_FAT16) { /* Too many clusters for FAT16 */ 80cd7be: 6afb ldr r3, [r7, #44] ; 0x2c 80cd7c0: f64f 72f5 movw r2, #65525 ; 0xfff5 80cd7c4: 4293 cmp r3, r2 80cd7c6: d921 bls.n 80cd80c if (!au && (pau * 2) <= 64) { 80cd7c8: 687b ldr r3, [r7, #4] 80cd7ca: 2b00 cmp r3, #0 80cd7cc: d109 bne.n 80cd7e2 80cd7ce: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cd7d2: 005b lsls r3, r3, #1 80cd7d4: 2b40 cmp r3, #64 ; 0x40 80cd7d6: d804 bhi.n 80cd7e2 au = pau * 2; continue; /* Adjust cluster size and retry */ 80cd7d8: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cd7dc: 005b lsls r3, r3, #1 80cd7de: 607b str r3, [r7, #4] 80cd7e0: e035 b.n 80cd84e } if ((opt & FM_FAT32)) { 80cd7e2: 7afb ldrb r3, [r7, #11] 80cd7e4: f003 0302 and.w r3, r3, #2 80cd7e8: 2b00 cmp r3, #0 80cd7ea: d003 beq.n 80cd7f4 fmt = FS_FAT32; continue; /* Switch type to FAT32 and retry */ 80cd7ec: 2303 movs r3, #3 80cd7ee: f887 309f strb.w r3, [r7, #159] ; 0x9f 80cd7f2: e02c b.n 80cd84e } if (!au && (au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ 80cd7f4: 687b ldr r3, [r7, #4] 80cd7f6: 2b00 cmp r3, #0 80cd7f8: d106 bne.n 80cd808 80cd7fa: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cd7fe: 005b lsls r3, r3, #1 80cd800: 607b str r3, [r7, #4] 80cd802: 687b ldr r3, [r7, #4] 80cd804: 2b80 cmp r3, #128 ; 0x80 80cd806: d91f bls.n 80cd848 return FR_MKFS_ABORTED; 80cd808: 230e movs r3, #14 80cd80a: e278 b.n 80cdcfe } if (n_clst <= MAX_FAT12) { /* Too few clusters for FAT16 */ 80cd80c: 6afb ldr r3, [r7, #44] ; 0x2c 80cd80e: f640 72f5 movw r2, #4085 ; 0xff5 80cd812: 4293 cmp r3, r2 80cd814: d80b bhi.n 80cd82e if (!au && (au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ 80cd816: 687b ldr r3, [r7, #4] 80cd818: 2b00 cmp r3, #0 80cd81a: d106 bne.n 80cd82a 80cd81c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cd820: 005b lsls r3, r3, #1 80cd822: 607b str r3, [r7, #4] 80cd824: 687b ldr r3, [r7, #4] 80cd826: 2b80 cmp r3, #128 ; 0x80 80cd828: d910 bls.n 80cd84c return FR_MKFS_ABORTED; 80cd82a: 230e movs r3, #14 80cd82c: e267 b.n 80cdcfe } } if (fmt == FS_FAT12 && n_clst > MAX_FAT12) return FR_MKFS_ABORTED; /* Too many clusters for FAT12 */ 80cd82e: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cd832: 2b01 cmp r3, #1 80cd834: d10c bne.n 80cd850 80cd836: 6afb ldr r3, [r7, #44] ; 0x2c 80cd838: f640 72f5 movw r2, #4085 ; 0xff5 80cd83c: 4293 cmp r3, r2 80cd83e: d907 bls.n 80cd850 80cd840: 230e movs r3, #14 80cd842: e25c b.n 80cdcfe if (!au && (au = pau / 2) != 0) continue; /* Adjust cluster size and retry */ 80cd844: bf00 nop 80cd846: e6a2 b.n 80cd58e if (!au && (au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ 80cd848: bf00 nop 80cd84a: e6a0 b.n 80cd58e if (!au && (au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ 80cd84c: bf00 nop pau = au; 80cd84e: e69e b.n 80cd58e /* Ok, it is the valid cluster configuration */ break; 80cd850: 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); 80cd852: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cd856: 461a mov r2, r3 80cd858: 2100 movs r1, #0 80cd85a: 6c38 ldr r0, [r7, #64] ; 0x40 80cd85c: f7fa f9e1 bl 80c7c22 mem_cpy(buf + BS_JmpBoot, "\xEB\xFE\x90" "MSDOS5.0", 11);/* Boot jump code (x86), OEM name */ 80cd860: 220b movs r2, #11 80cd862: 4918 ldr r1, [pc, #96] ; (80cd8c4 ) 80cd864: 6c38 ldr r0, [r7, #64] ; 0x40 80cd866: f7fa f9bb bl 80c7be0 st_word(buf + BPB_BytsPerSec, ss); /* Sector size [byte] */ 80cd86a: 6c3b ldr r3, [r7, #64] ; 0x40 80cd86c: 330b adds r3, #11 80cd86e: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80cd872: 4611 mov r1, r2 80cd874: 4618 mov r0, r3 80cd876: f7fa f8db bl 80c7a30 buf[BPB_SecPerClus] = (BYTE)pau; /* Cluster size [sector] */ 80cd87a: 6c3b ldr r3, [r7, #64] ; 0x40 80cd87c: 330d adds r3, #13 80cd87e: f8d7 2098 ldr.w r2, [r7, #152] ; 0x98 80cd882: b2d2 uxtb r2, r2 80cd884: 701a strb r2, [r3, #0] st_word(buf + BPB_RsvdSecCnt, (WORD)sz_rsv); /* Size of reserved area */ 80cd886: 6c3b ldr r3, [r7, #64] ; 0x40 80cd888: 330e adds r3, #14 80cd88a: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 80cd88e: b292 uxth r2, r2 80cd890: 4611 mov r1, r2 80cd892: 4618 mov r0, r3 80cd894: f7fa f8cc bl 80c7a30 buf[BPB_NumFATs] = (BYTE)n_fats; /* Number of FATs */ 80cd898: 6c3b ldr r3, [r7, #64] ; 0x40 80cd89a: 3310 adds r3, #16 80cd89c: 6d7a ldr r2, [r7, #84] ; 0x54 80cd89e: b2d2 uxtb r2, r2 80cd8a0: 701a strb r2, [r3, #0] st_word(buf + BPB_RootEntCnt, (WORD)((fmt == FS_FAT32) ? 0 : n_rootdir)); /* Number of root directory entries */ 80cd8a2: 6c3b ldr r3, [r7, #64] ; 0x40 80cd8a4: f103 0211 add.w r2, r3, #17 80cd8a8: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cd8ac: 2b03 cmp r3, #3 80cd8ae: d00b beq.n 80cd8c8 80cd8b0: 6d3b ldr r3, [r7, #80] ; 0x50 80cd8b2: b29b uxth r3, r3 80cd8b4: e009 b.n 80cd8ca 80cd8b6: bf00 nop 80cd8b8: 081706dc .word 0x081706dc 80cd8bc: 0ffffff5 .word 0x0ffffff5 80cd8c0: 081706ec .word 0x081706ec 80cd8c4: 080d7600 .word 0x080d7600 80cd8c8: 2300 movs r3, #0 80cd8ca: 4619 mov r1, r3 80cd8cc: 4610 mov r0, r2 80cd8ce: f7fa f8af bl 80c7a30 if (sz_vol < 0x10000) { 80cd8d2: 69fb ldr r3, [r7, #28] 80cd8d4: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80cd8d8: d208 bcs.n 80cd8ec st_word(buf + BPB_TotSec16, (WORD)sz_vol); /* Volume size in 16-bit LBA */ 80cd8da: 6c3b ldr r3, [r7, #64] ; 0x40 80cd8dc: 3313 adds r3, #19 80cd8de: 69fa ldr r2, [r7, #28] 80cd8e0: b292 uxth r2, r2 80cd8e2: 4611 mov r1, r2 80cd8e4: 4618 mov r0, r3 80cd8e6: f7fa f8a3 bl 80c7a30 80cd8ea: e006 b.n 80cd8fa } else { st_dword(buf + BPB_TotSec32, sz_vol); /* Volume size in 32-bit LBA */ 80cd8ec: 6c3b ldr r3, [r7, #64] ; 0x40 80cd8ee: 3320 adds r3, #32 80cd8f0: 69fa ldr r2, [r7, #28] 80cd8f2: 4611 mov r1, r2 80cd8f4: 4618 mov r0, r3 80cd8f6: f7fa f8b6 bl 80c7a66 } buf[BPB_Media] = 0xF8; /* Media descriptor byte */ 80cd8fa: 6c3b ldr r3, [r7, #64] ; 0x40 80cd8fc: 3315 adds r3, #21 80cd8fe: 22f8 movs r2, #248 ; 0xf8 80cd900: 701a strb r2, [r3, #0] st_word(buf + BPB_SecPerTrk, 63); /* Number of sectors per track (for int13) */ 80cd902: 6c3b ldr r3, [r7, #64] ; 0x40 80cd904: 3318 adds r3, #24 80cd906: 213f movs r1, #63 ; 0x3f 80cd908: 4618 mov r0, r3 80cd90a: f7fa f891 bl 80c7a30 st_word(buf + BPB_NumHeads, 255); /* Number of heads (for int13) */ 80cd90e: 6c3b ldr r3, [r7, #64] ; 0x40 80cd910: 331a adds r3, #26 80cd912: 21ff movs r1, #255 ; 0xff 80cd914: 4618 mov r0, r3 80cd916: f7fa f88b bl 80c7a30 st_dword(buf + BPB_HiddSec, b_vol); /* Volume offset in the physical drive [sector] */ 80cd91a: 6c3b ldr r3, [r7, #64] ; 0x40 80cd91c: 331c adds r3, #28 80cd91e: 6b79 ldr r1, [r7, #52] ; 0x34 80cd920: 4618 mov r0, r3 80cd922: f7fa f8a0 bl 80c7a66 if (fmt == FS_FAT32) { 80cd926: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cd92a: 2b03 cmp r3, #3 80cd92c: d132 bne.n 80cd994 st_dword(buf + BS_VolID32, GET_FATTIME()); /* VSN */ 80cd92e: 6c3b ldr r3, [r7, #64] ; 0x40 80cd930: f103 0443 add.w r4, r3, #67 ; 0x43 80cd934: f7f6 fe82 bl 80c463c 80cd938: 4603 mov r3, r0 80cd93a: 4619 mov r1, r3 80cd93c: 4620 mov r0, r4 80cd93e: f7fa f892 bl 80c7a66 st_dword(buf + BPB_FATSz32, sz_fat); /* FAT size [sector] */ 80cd942: 6c3b ldr r3, [r7, #64] ; 0x40 80cd944: 3324 adds r3, #36 ; 0x24 80cd946: f8d7 1080 ldr.w r1, [r7, #128] ; 0x80 80cd94a: 4618 mov r0, r3 80cd94c: f7fa f88b bl 80c7a66 st_dword(buf + BPB_RootClus32, 2); /* Root directory cluster # (2) */ 80cd950: 6c3b ldr r3, [r7, #64] ; 0x40 80cd952: 332c adds r3, #44 ; 0x2c 80cd954: 2102 movs r1, #2 80cd956: 4618 mov r0, r3 80cd958: f7fa f885 bl 80c7a66 st_word(buf + BPB_FSInfo32, 1); /* Offset of FSINFO sector (VBR + 1) */ 80cd95c: 6c3b ldr r3, [r7, #64] ; 0x40 80cd95e: 3330 adds r3, #48 ; 0x30 80cd960: 2101 movs r1, #1 80cd962: 4618 mov r0, r3 80cd964: f7fa f864 bl 80c7a30 st_word(buf + BPB_BkBootSec32, 6); /* Offset of backup VBR (VBR + 6) */ 80cd968: 6c3b ldr r3, [r7, #64] ; 0x40 80cd96a: 3332 adds r3, #50 ; 0x32 80cd96c: 2106 movs r1, #6 80cd96e: 4618 mov r0, r3 80cd970: f7fa f85e bl 80c7a30 buf[BS_DrvNum32] = 0x80; /* Drive number (for int13) */ 80cd974: 6c3b ldr r3, [r7, #64] ; 0x40 80cd976: 3340 adds r3, #64 ; 0x40 80cd978: 2280 movs r2, #128 ; 0x80 80cd97a: 701a strb r2, [r3, #0] buf[BS_BootSig32] = 0x29; /* Extended boot signature */ 80cd97c: 6c3b ldr r3, [r7, #64] ; 0x40 80cd97e: 3342 adds r3, #66 ; 0x42 80cd980: 2229 movs r2, #41 ; 0x29 80cd982: 701a strb r2, [r3, #0] mem_cpy(buf + BS_VolLab32, "NO NAME " "FAT32 ", 19); /* Volume label, FAT signature */ 80cd984: 6c3b ldr r3, [r7, #64] ; 0x40 80cd986: 3347 adds r3, #71 ; 0x47 80cd988: 2213 movs r2, #19 80cd98a: 499d ldr r1, [pc, #628] ; (80cdc00 ) 80cd98c: 4618 mov r0, r3 80cd98e: f7fa f927 bl 80c7be0 80cd992: e021 b.n 80cd9d8 } else { st_dword(buf + BS_VolID, GET_FATTIME()); /* VSN */ 80cd994: 6c3b ldr r3, [r7, #64] ; 0x40 80cd996: f103 0427 add.w r4, r3, #39 ; 0x27 80cd99a: f7f6 fe4f bl 80c463c 80cd99e: 4603 mov r3, r0 80cd9a0: 4619 mov r1, r3 80cd9a2: 4620 mov r0, r4 80cd9a4: f7fa f85f bl 80c7a66 st_word(buf + BPB_FATSz16, (WORD)sz_fat); /* FAT size [sector] */ 80cd9a8: 6c3b ldr r3, [r7, #64] ; 0x40 80cd9aa: 3316 adds r3, #22 80cd9ac: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80cd9b0: b292 uxth r2, r2 80cd9b2: 4611 mov r1, r2 80cd9b4: 4618 mov r0, r3 80cd9b6: f7fa f83b bl 80c7a30 buf[BS_DrvNum] = 0x80; /* Drive number (for int13) */ 80cd9ba: 6c3b ldr r3, [r7, #64] ; 0x40 80cd9bc: 3324 adds r3, #36 ; 0x24 80cd9be: 2280 movs r2, #128 ; 0x80 80cd9c0: 701a strb r2, [r3, #0] buf[BS_BootSig] = 0x29; /* Extended boot signature */ 80cd9c2: 6c3b ldr r3, [r7, #64] ; 0x40 80cd9c4: 3326 adds r3, #38 ; 0x26 80cd9c6: 2229 movs r2, #41 ; 0x29 80cd9c8: 701a strb r2, [r3, #0] mem_cpy(buf + BS_VolLab, "NO NAME " "FAT ", 19); /* Volume label, FAT signature */ 80cd9ca: 6c3b ldr r3, [r7, #64] ; 0x40 80cd9cc: 332b adds r3, #43 ; 0x2b 80cd9ce: 2213 movs r2, #19 80cd9d0: 498c ldr r1, [pc, #560] ; (80cdc04 ) 80cd9d2: 4618 mov r0, r3 80cd9d4: f7fa f904 bl 80c7be0 } st_word(buf + BS_55AA, 0xAA55); /* Signature (offset is fixed here regardless of sector size) */ 80cd9d8: 6c3b ldr r3, [r7, #64] ; 0x40 80cd9da: f503 73ff add.w r3, r3, #510 ; 0x1fe 80cd9de: f64a 2155 movw r1, #43605 ; 0xaa55 80cd9e2: 4618 mov r0, r3 80cd9e4: f7fa f824 bl 80c7a30 if (disk_write(pdrv, buf, b_vol, 1) != RES_OK) return FR_DISK_ERR; /* Write it to the VBR sector */ 80cd9e8: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cd9ec: 2301 movs r3, #1 80cd9ee: 6b7a ldr r2, [r7, #52] ; 0x34 80cd9f0: 6c39 ldr r1, [r7, #64] ; 0x40 80cd9f2: f7f9 fef5 bl 80c77e0 80cd9f6: 4603 mov r3, r0 80cd9f8: 2b00 cmp r3, #0 80cd9fa: d001 beq.n 80cda00 80cd9fc: 2301 movs r3, #1 80cd9fe: e17e b.n 80cdcfe /* Create FSINFO record if needed */ if (fmt == FS_FAT32) { 80cda00: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cda04: 2b03 cmp r3, #3 80cda06: d141 bne.n 80cda8c disk_write(pdrv, buf, b_vol + 6, 1); /* Write backup VBR (VBR + 6) */ 80cda08: 6b7b ldr r3, [r7, #52] ; 0x34 80cda0a: 1d9a adds r2, r3, #6 80cda0c: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cda10: 2301 movs r3, #1 80cda12: 6c39 ldr r1, [r7, #64] ; 0x40 80cda14: f7f9 fee4 bl 80c77e0 mem_set(buf, 0, ss); 80cda18: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cda1c: 461a mov r2, r3 80cda1e: 2100 movs r1, #0 80cda20: 6c38 ldr r0, [r7, #64] ; 0x40 80cda22: f7fa f8fe bl 80c7c22 st_dword(buf + FSI_LeadSig, 0x41615252); 80cda26: 4978 ldr r1, [pc, #480] ; (80cdc08 ) 80cda28: 6c38 ldr r0, [r7, #64] ; 0x40 80cda2a: f7fa f81c bl 80c7a66 st_dword(buf + FSI_StrucSig, 0x61417272); 80cda2e: 6c3b ldr r3, [r7, #64] ; 0x40 80cda30: f503 73f2 add.w r3, r3, #484 ; 0x1e4 80cda34: 4975 ldr r1, [pc, #468] ; (80cdc0c ) 80cda36: 4618 mov r0, r3 80cda38: f7fa f815 bl 80c7a66 st_dword(buf + FSI_Free_Count, n_clst - 1); /* Number of free clusters */ 80cda3c: 6c3b ldr r3, [r7, #64] ; 0x40 80cda3e: f503 72f4 add.w r2, r3, #488 ; 0x1e8 80cda42: 6afb ldr r3, [r7, #44] ; 0x2c 80cda44: 3b01 subs r3, #1 80cda46: 4619 mov r1, r3 80cda48: 4610 mov r0, r2 80cda4a: f7fa f80c bl 80c7a66 st_dword(buf + FSI_Nxt_Free, 2); /* Last allocated cluster# */ 80cda4e: 6c3b ldr r3, [r7, #64] ; 0x40 80cda50: f503 73f6 add.w r3, r3, #492 ; 0x1ec 80cda54: 2102 movs r1, #2 80cda56: 4618 mov r0, r3 80cda58: f7fa f805 bl 80c7a66 st_word(buf + BS_55AA, 0xAA55); 80cda5c: 6c3b ldr r3, [r7, #64] ; 0x40 80cda5e: f503 73ff add.w r3, r3, #510 ; 0x1fe 80cda62: f64a 2155 movw r1, #43605 ; 0xaa55 80cda66: 4618 mov r0, r3 80cda68: f7f9 ffe2 bl 80c7a30 disk_write(pdrv, buf, b_vol + 7, 1); /* Write backup FSINFO (VBR + 7) */ 80cda6c: 6b7b ldr r3, [r7, #52] ; 0x34 80cda6e: 1dda adds r2, r3, #7 80cda70: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cda74: 2301 movs r3, #1 80cda76: 6c39 ldr r1, [r7, #64] ; 0x40 80cda78: f7f9 feb2 bl 80c77e0 disk_write(pdrv, buf, b_vol + 1, 1); /* Write original FSINFO (VBR + 1) */ 80cda7c: 6b7b ldr r3, [r7, #52] ; 0x34 80cda7e: 1c5a adds r2, r3, #1 80cda80: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cda84: 2301 movs r3, #1 80cda86: 6c39 ldr r1, [r7, #64] ; 0x40 80cda88: f7f9 feaa bl 80c77e0 } /* Initialize FAT area */ mem_set(buf, 0, (UINT)szb_buf); 80cda8c: 6bba ldr r2, [r7, #56] ; 0x38 80cda8e: 2100 movs r1, #0 80cda90: 6c38 ldr r0, [r7, #64] ; 0x40 80cda92: f7fa f8c6 bl 80c7c22 sect = b_fat; /* FAT start sector */ 80cda96: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80cda9a: f8c7 3094 str.w r3, [r7, #148] ; 0x94 for (i = 0; i < n_fats; i++) { /* Initialize FATs each */ 80cda9e: 2300 movs r3, #0 80cdaa0: 67bb str r3, [r7, #120] ; 0x78 80cdaa2: e059 b.n 80cdb58 if (fmt == FS_FAT32) { 80cdaa4: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cdaa8: 2b03 cmp r3, #3 80cdaaa: d113 bne.n 80cdad4 st_dword(buf + 0, 0xFFFFFFF8); /* Entry 0 */ 80cdaac: f06f 0107 mvn.w r1, #7 80cdab0: 6c38 ldr r0, [r7, #64] ; 0x40 80cdab2: f7f9 ffd8 bl 80c7a66 st_dword(buf + 4, 0xFFFFFFFF); /* Entry 1 */ 80cdab6: 6c3b ldr r3, [r7, #64] ; 0x40 80cdab8: 3304 adds r3, #4 80cdaba: f04f 31ff mov.w r1, #4294967295 80cdabe: 4618 mov r0, r3 80cdac0: f7f9 ffd1 bl 80c7a66 st_dword(buf + 8, 0x0FFFFFFF); /* Entry 2 (root directory) */ 80cdac4: 6c3b ldr r3, [r7, #64] ; 0x40 80cdac6: 3308 adds r3, #8 80cdac8: f06f 4170 mvn.w r1, #4026531840 ; 0xf0000000 80cdacc: 4618 mov r0, r3 80cdace: f7f9 ffca bl 80c7a66 80cdad2: e00b b.n 80cdaec } else { st_dword(buf + 0, (fmt == FS_FAT12) ? 0xFFFFF8 : 0xFFFFFFF8); /* Entry 0 and 1 */ 80cdad4: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cdad8: 2b01 cmp r3, #1 80cdada: d101 bne.n 80cdae0 80cdadc: 4b4c ldr r3, [pc, #304] ; (80cdc10 ) 80cdade: e001 b.n 80cdae4 80cdae0: f06f 0307 mvn.w r3, #7 80cdae4: 4619 mov r1, r3 80cdae6: 6c38 ldr r0, [r7, #64] ; 0x40 80cdae8: f7f9 ffbd bl 80c7a66 } nsect = sz_fat; /* Number of FAT sectors */ 80cdaec: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cdaf0: f8c7 3090 str.w r3, [r7, #144] ; 0x90 do { /* Fill FAT sectors */ n = (nsect > sz_buf) ? sz_buf : nsect; 80cdaf4: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80cdaf8: 6bfb ldr r3, [r7, #60] ; 0x3c 80cdafa: 4293 cmp r3, r2 80cdafc: bf28 it cs 80cdafe: 4613 movcs r3, r2 80cdb00: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, (UINT)n) != RES_OK) return FR_DISK_ERR; 80cdb04: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cdb08: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cdb0c: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cdb10: 6c39 ldr r1, [r7, #64] ; 0x40 80cdb12: f7f9 fe65 bl 80c77e0 80cdb16: 4603 mov r3, r0 80cdb18: 2b00 cmp r3, #0 80cdb1a: d001 beq.n 80cdb20 80cdb1c: 2301 movs r3, #1 80cdb1e: e0ee b.n 80cdcfe mem_set(buf, 0, ss); 80cdb20: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cdb24: 461a mov r2, r3 80cdb26: 2100 movs r1, #0 80cdb28: 6c38 ldr r0, [r7, #64] ; 0x40 80cdb2a: f7fa f87a bl 80c7c22 sect += n; nsect -= n; 80cdb2e: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cdb32: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cdb36: 4413 add r3, r2 80cdb38: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cdb3c: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80cdb40: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cdb44: 1ad3 subs r3, r2, r3 80cdb46: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80cdb4a: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80cdb4e: 2b00 cmp r3, #0 80cdb50: d1d0 bne.n 80cdaf4 for (i = 0; i < n_fats; i++) { /* Initialize FATs each */ 80cdb52: 6fbb ldr r3, [r7, #120] ; 0x78 80cdb54: 3301 adds r3, #1 80cdb56: 67bb str r3, [r7, #120] ; 0x78 80cdb58: 6fba ldr r2, [r7, #120] ; 0x78 80cdb5a: 6d7b ldr r3, [r7, #84] ; 0x54 80cdb5c: 429a cmp r2, r3 80cdb5e: d3a1 bcc.n 80cdaa4 } /* Initialize root directory (fill with zero) */ nsect = (fmt == FS_FAT32) ? pau : sz_dir; /* Number of root directory sectors */ 80cdb60: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cdb64: 2b03 cmp r3, #3 80cdb66: d102 bne.n 80cdb6e 80cdb68: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cdb6c: e000 b.n 80cdb70 80cdb6e: 6ffb ldr r3, [r7, #124] ; 0x7c 80cdb70: f8c7 3090 str.w r3, [r7, #144] ; 0x90 do { n = (nsect > sz_buf) ? sz_buf : nsect; 80cdb74: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80cdb78: 6bfb ldr r3, [r7, #60] ; 0x3c 80cdb7a: 4293 cmp r3, r2 80cdb7c: bf28 it cs 80cdb7e: 4613 movcs r3, r2 80cdb80: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, (UINT)n) != RES_OK) return FR_DISK_ERR; 80cdb84: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cdb88: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cdb8c: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cdb90: 6c39 ldr r1, [r7, #64] ; 0x40 80cdb92: f7f9 fe25 bl 80c77e0 80cdb96: 4603 mov r3, r0 80cdb98: 2b00 cmp r3, #0 80cdb9a: d001 beq.n 80cdba0 80cdb9c: 2301 movs r3, #1 80cdb9e: e0ae b.n 80cdcfe sect += n; nsect -= n; 80cdba0: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cdba4: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cdba8: 4413 add r3, r2 80cdbaa: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cdbae: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80cdbb2: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cdbb6: 1ad3 subs r3, r2, r3 80cdbb8: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80cdbbc: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80cdbc0: 2b00 cmp r3, #0 80cdbc2: d1d7 bne.n 80cdb74 } /* Determine system ID in the partition table */ if (_FS_EXFAT && fmt == FS_EXFAT) { 80cdbc4: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cdbc8: 2b04 cmp r3, #4 80cdbca: d103 bne.n 80cdbd4 sys = 0x07; /* HPFS/NTFS/exFAT */ 80cdbcc: 2307 movs r3, #7 80cdbce: f887 309e strb.w r3, [r7, #158] ; 0x9e 80cdbd2: e022 b.n 80cdc1a } else { if (fmt == FS_FAT32) { 80cdbd4: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cdbd8: 2b03 cmp r3, #3 80cdbda: d103 bne.n 80cdbe4 sys = 0x0C; /* FAT32X */ 80cdbdc: 230c movs r3, #12 80cdbde: f887 309e strb.w r3, [r7, #158] ; 0x9e 80cdbe2: e01a b.n 80cdc1a } else { if (sz_vol >= 0x10000) { 80cdbe4: 69fb ldr r3, [r7, #28] 80cdbe6: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80cdbea: d303 bcc.n 80cdbf4 sys = 0x06; /* FAT12/16 (>=64KS) */ 80cdbec: 2306 movs r3, #6 80cdbee: f887 309e strb.w r3, [r7, #158] ; 0x9e 80cdbf2: e012 b.n 80cdc1a } else { sys = (fmt == FS_FAT16) ? 0x04 : 0x01; /* FAT16 (<64KS) : FAT12 (<64KS) */ 80cdbf4: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cdbf8: 2b02 cmp r3, #2 80cdbfa: d10b bne.n 80cdc14 80cdbfc: 2304 movs r3, #4 80cdbfe: e00a b.n 80cdc16 80cdc00: 080d760c .word 0x080d760c 80cdc04: 080d7620 .word 0x080d7620 80cdc08: 41615252 .word 0x41615252 80cdc0c: 61417272 .word 0x61417272 80cdc10: 00fffff8 .word 0x00fffff8 80cdc14: 2301 movs r3, #1 80cdc16: 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 */ 80cdc1a: 7afb ldrb r3, [r7, #11] 80cdc1c: f003 0308 and.w r3, r3, #8 80cdc20: 2b00 cmp r3, #0 80cdc22: d15f bne.n 80cdce4 mem_set(buf, 0, ss); 80cdc24: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cdc28: 461a mov r2, r3 80cdc2a: 2100 movs r1, #0 80cdc2c: 6c38 ldr r0, [r7, #64] ; 0x40 80cdc2e: f7f9 fff8 bl 80c7c22 st_word(buf + BS_55AA, 0xAA55); /* MBR signature */ 80cdc32: 6c3b ldr r3, [r7, #64] ; 0x40 80cdc34: f503 73ff add.w r3, r3, #510 ; 0x1fe 80cdc38: f64a 2155 movw r1, #43605 ; 0xaa55 80cdc3c: 4618 mov r0, r3 80cdc3e: f7f9 fef7 bl 80c7a30 pte = buf + MBR_Table; /* Create partition table for single partition in the drive */ 80cdc42: 6c3b ldr r3, [r7, #64] ; 0x40 80cdc44: f503 73df add.w r3, r3, #446 ; 0x1be 80cdc48: 627b str r3, [r7, #36] ; 0x24 pte[PTE_Boot] = 0; /* Boot indicator */ 80cdc4a: 6a7b ldr r3, [r7, #36] ; 0x24 80cdc4c: 2200 movs r2, #0 80cdc4e: 701a strb r2, [r3, #0] pte[PTE_StHead] = 1; /* Start head */ 80cdc50: 6a7b ldr r3, [r7, #36] ; 0x24 80cdc52: 3301 adds r3, #1 80cdc54: 2201 movs r2, #1 80cdc56: 701a strb r2, [r3, #0] pte[PTE_StSec] = 1; /* Start sector */ 80cdc58: 6a7b ldr r3, [r7, #36] ; 0x24 80cdc5a: 3302 adds r3, #2 80cdc5c: 2201 movs r2, #1 80cdc5e: 701a strb r2, [r3, #0] pte[PTE_StCyl] = 0; /* Start cylinder */ 80cdc60: 6a7b ldr r3, [r7, #36] ; 0x24 80cdc62: 3303 adds r3, #3 80cdc64: 2200 movs r2, #0 80cdc66: 701a strb r2, [r3, #0] pte[PTE_System] = sys; /* System type */ 80cdc68: 6a7b ldr r3, [r7, #36] ; 0x24 80cdc6a: 3304 adds r3, #4 80cdc6c: f897 209e ldrb.w r2, [r7, #158] ; 0x9e 80cdc70: 701a strb r2, [r3, #0] n = (b_vol + sz_vol) / (63 * 255); /* (End CHS may be invalid) */ 80cdc72: 69fa ldr r2, [r7, #28] 80cdc74: 6b7b ldr r3, [r7, #52] ; 0x34 80cdc76: 441a add r2, r3 80cdc78: 4b23 ldr r3, [pc, #140] ; (80cdd08 ) 80cdc7a: fba3 1302 umull r1, r3, r3, r2 80cdc7e: 1ad2 subs r2, r2, r3 80cdc80: 0852 lsrs r2, r2, #1 80cdc82: 4413 add r3, r2 80cdc84: 0b5b lsrs r3, r3, #13 80cdc86: f8c7 308c str.w r3, [r7, #140] ; 0x8c pte[PTE_EdHead] = 254; /* End head */ 80cdc8a: 6a7b ldr r3, [r7, #36] ; 0x24 80cdc8c: 3305 adds r3, #5 80cdc8e: 22fe movs r2, #254 ; 0xfe 80cdc90: 701a strb r2, [r3, #0] pte[PTE_EdSec] = (BYTE)(n >> 2 | 63); /* End sector */ 80cdc92: 6a7b ldr r3, [r7, #36] ; 0x24 80cdc94: 3306 adds r3, #6 80cdc96: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 80cdc9a: 0892 lsrs r2, r2, #2 80cdc9c: b2d2 uxtb r2, r2 80cdc9e: f042 023f orr.w r2, r2, #63 ; 0x3f 80cdca2: b2d2 uxtb r2, r2 80cdca4: 701a strb r2, [r3, #0] pte[PTE_EdCyl] = (BYTE)n; /* End cylinder */ 80cdca6: 6a7b ldr r3, [r7, #36] ; 0x24 80cdca8: 3307 adds r3, #7 80cdcaa: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 80cdcae: b2d2 uxtb r2, r2 80cdcb0: 701a strb r2, [r3, #0] st_dword(pte + PTE_StLba, b_vol); /* Start offset in LBA */ 80cdcb2: 6a7b ldr r3, [r7, #36] ; 0x24 80cdcb4: 3308 adds r3, #8 80cdcb6: 6b79 ldr r1, [r7, #52] ; 0x34 80cdcb8: 4618 mov r0, r3 80cdcba: f7f9 fed4 bl 80c7a66 st_dword(pte + PTE_SizLba, sz_vol); /* Size in sectors */ 80cdcbe: 6a7b ldr r3, [r7, #36] ; 0x24 80cdcc0: 330c adds r3, #12 80cdcc2: 69fa ldr r2, [r7, #28] 80cdcc4: 4611 mov r1, r2 80cdcc6: 4618 mov r0, r3 80cdcc8: f7f9 fecd bl 80c7a66 if (disk_write(pdrv, buf, 0, 1) != RES_OK) return FR_DISK_ERR; /* Write it to the MBR */ 80cdccc: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cdcd0: 2301 movs r3, #1 80cdcd2: 2200 movs r2, #0 80cdcd4: 6c39 ldr r1, [r7, #64] ; 0x40 80cdcd6: f7f9 fd83 bl 80c77e0 80cdcda: 4603 mov r3, r0 80cdcdc: 2b00 cmp r3, #0 80cdcde: d001 beq.n 80cdce4 80cdce0: 2301 movs r3, #1 80cdce2: e00c b.n 80cdcfe } } if (disk_ioctl(pdrv, CTRL_SYNC, 0) != RES_OK) return FR_DISK_ERR; 80cdce4: f897 304b ldrb.w r3, [r7, #75] ; 0x4b 80cdce8: 2200 movs r2, #0 80cdcea: 2100 movs r1, #0 80cdcec: 4618 mov r0, r3 80cdcee: f7f9 fd97 bl 80c7820 80cdcf2: 4603 mov r3, r0 80cdcf4: 2b00 cmp r3, #0 80cdcf6: d001 beq.n 80cdcfc 80cdcf8: 2301 movs r3, #1 80cdcfa: e000 b.n 80cdcfe return FR_OK; 80cdcfc: 2300 movs r3, #0 } 80cdcfe: 4618 mov r0, r3 80cdd00: 37a4 adds r7, #164 ; 0xa4 80cdd02: 46bd mov sp, r7 80cdd04: bd90 pop {r4, r7, pc} 80cdd06: bf00 nop 80cdd08: 0515565b .word 0x0515565b 080cdd0c : * @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) { 80cdd0c: b480 push {r7} 80cdd0e: b087 sub sp, #28 80cdd10: af00 add r7, sp, #0 80cdd12: 60f8 str r0, [r7, #12] 80cdd14: 60b9 str r1, [r7, #8] 80cdd16: 4613 mov r3, r2 80cdd18: 71fb strb r3, [r7, #7] uint8_t ret = 1; 80cdd1a: 2301 movs r3, #1 80cdd1c: 75fb strb r3, [r7, #23] uint8_t DiskNum = 0; 80cdd1e: 2300 movs r3, #0 80cdd20: 75bb strb r3, [r7, #22] if(disk.nbr < _VOLUMES) 80cdd22: 4b1f ldr r3, [pc, #124] ; (80cdda0 ) 80cdd24: 7a5b ldrb r3, [r3, #9] 80cdd26: b2db uxtb r3, r3 80cdd28: 2b00 cmp r3, #0 80cdd2a: d131 bne.n 80cdd90 { disk.is_initialized[disk.nbr] = 0; 80cdd2c: 4b1c ldr r3, [pc, #112] ; (80cdda0 ) 80cdd2e: 7a5b ldrb r3, [r3, #9] 80cdd30: b2db uxtb r3, r3 80cdd32: 461a mov r2, r3 80cdd34: 4b1a ldr r3, [pc, #104] ; (80cdda0 ) 80cdd36: 2100 movs r1, #0 80cdd38: 5499 strb r1, [r3, r2] disk.drv[disk.nbr] = drv; 80cdd3a: 4b19 ldr r3, [pc, #100] ; (80cdda0 ) 80cdd3c: 7a5b ldrb r3, [r3, #9] 80cdd3e: b2db uxtb r3, r3 80cdd40: 4a17 ldr r2, [pc, #92] ; (80cdda0 ) 80cdd42: 009b lsls r3, r3, #2 80cdd44: 4413 add r3, r2 80cdd46: 68fa ldr r2, [r7, #12] 80cdd48: 605a str r2, [r3, #4] disk.lun[disk.nbr] = lun; 80cdd4a: 4b15 ldr r3, [pc, #84] ; (80cdda0 ) 80cdd4c: 7a5b ldrb r3, [r3, #9] 80cdd4e: b2db uxtb r3, r3 80cdd50: 461a mov r2, r3 80cdd52: 4b13 ldr r3, [pc, #76] ; (80cdda0 ) 80cdd54: 4413 add r3, r2 80cdd56: 79fa ldrb r2, [r7, #7] 80cdd58: 721a strb r2, [r3, #8] DiskNum = disk.nbr++; 80cdd5a: 4b11 ldr r3, [pc, #68] ; (80cdda0 ) 80cdd5c: 7a5b ldrb r3, [r3, #9] 80cdd5e: b2db uxtb r3, r3 80cdd60: 1c5a adds r2, r3, #1 80cdd62: b2d1 uxtb r1, r2 80cdd64: 4a0e ldr r2, [pc, #56] ; (80cdda0 ) 80cdd66: 7251 strb r1, [r2, #9] 80cdd68: 75bb strb r3, [r7, #22] path[0] = DiskNum + '0'; 80cdd6a: 7dbb ldrb r3, [r7, #22] 80cdd6c: 3330 adds r3, #48 ; 0x30 80cdd6e: b2da uxtb r2, r3 80cdd70: 68bb ldr r3, [r7, #8] 80cdd72: 701a strb r2, [r3, #0] path[1] = ':'; 80cdd74: 68bb ldr r3, [r7, #8] 80cdd76: 3301 adds r3, #1 80cdd78: 223a movs r2, #58 ; 0x3a 80cdd7a: 701a strb r2, [r3, #0] path[2] = '/'; 80cdd7c: 68bb ldr r3, [r7, #8] 80cdd7e: 3302 adds r3, #2 80cdd80: 222f movs r2, #47 ; 0x2f 80cdd82: 701a strb r2, [r3, #0] path[3] = 0; 80cdd84: 68bb ldr r3, [r7, #8] 80cdd86: 3303 adds r3, #3 80cdd88: 2200 movs r2, #0 80cdd8a: 701a strb r2, [r3, #0] ret = 0; 80cdd8c: 2300 movs r3, #0 80cdd8e: 75fb strb r3, [r7, #23] } return ret; 80cdd90: 7dfb ldrb r3, [r7, #23] } 80cdd92: 4618 mov r0, r3 80cdd94: 371c adds r7, #28 80cdd96: 46bd mov sp, r7 80cdd98: f85d 7b04 ldr.w r7, [sp], #4 80cdd9c: 4770 bx lr 80cdd9e: bf00 nop 80cdda0: 20021b64 .word 0x20021b64 080cdda4 : * @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) { 80cdda4: b580 push {r7, lr} 80cdda6: b082 sub sp, #8 80cdda8: af00 add r7, sp, #0 80cddaa: 6078 str r0, [r7, #4] 80cddac: 6039 str r1, [r7, #0] return FATFS_LinkDriverEx(drv, path, 0); 80cddae: 2200 movs r2, #0 80cddb0: 6839 ldr r1, [r7, #0] 80cddb2: 6878 ldr r0, [r7, #4] 80cddb4: f7ff ffaa bl 80cdd0c 80cddb8: 4603 mov r3, r0 } 80cddba: 4618 mov r0, r3 80cddbc: 3708 adds r7, #8 80cddbe: 46bd mov sp, r7 80cddc0: bd80 pop {r7, pc} ... 080cddc4 : 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 */ ) { 80cddc4: b480 push {r7} 80cddc6: b085 sub sp, #20 80cddc8: af00 add r7, sp, #0 80cddca: 4603 mov r3, r0 80cddcc: 6039 str r1, [r7, #0] 80cddce: 80fb strh r3, [r7, #6] WCHAR c; if (chr < 0x80) { /* ASCII */ 80cddd0: 88fb ldrh r3, [r7, #6] 80cddd2: 2b7f cmp r3, #127 ; 0x7f 80cddd4: d802 bhi.n 80cdddc c = chr; 80cddd6: 88fb ldrh r3, [r7, #6] 80cddd8: 81fb strh r3, [r7, #14] 80cddda: e025 b.n 80cde28 } else { if (dir) { /* OEMCP to Unicode */ 80cdddc: 683b ldr r3, [r7, #0] 80cddde: 2b00 cmp r3, #0 80cdde0: d00b beq.n 80cddfa c = (chr >= 0x100) ? 0 : Tbl[chr - 0x80]; 80cdde2: 88fb ldrh r3, [r7, #6] 80cdde4: 2bff cmp r3, #255 ; 0xff 80cdde6: d805 bhi.n 80cddf4 80cdde8: 88fb ldrh r3, [r7, #6] 80cddea: 3b80 subs r3, #128 ; 0x80 80cddec: 4a12 ldr r2, [pc, #72] ; (80cde38 ) 80cddee: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cddf2: e000 b.n 80cddf6 80cddf4: 2300 movs r3, #0 80cddf6: 81fb strh r3, [r7, #14] 80cddf8: e016 b.n 80cde28 } else { /* Unicode to OEMCP */ for (c = 0; c < 0x80; c++) { 80cddfa: 2300 movs r3, #0 80cddfc: 81fb strh r3, [r7, #14] 80cddfe: e009 b.n 80cde14 if (chr == Tbl[c]) break; 80cde00: 89fb ldrh r3, [r7, #14] 80cde02: 4a0d ldr r2, [pc, #52] ; (80cde38 ) 80cde04: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cde08: 88fa ldrh r2, [r7, #6] 80cde0a: 429a cmp r2, r3 80cde0c: d006 beq.n 80cde1c for (c = 0; c < 0x80; c++) { 80cde0e: 89fb ldrh r3, [r7, #14] 80cde10: 3301 adds r3, #1 80cde12: 81fb strh r3, [r7, #14] 80cde14: 89fb ldrh r3, [r7, #14] 80cde16: 2b7f cmp r3, #127 ; 0x7f 80cde18: d9f2 bls.n 80cde00 80cde1a: e000 b.n 80cde1e if (chr == Tbl[c]) break; 80cde1c: bf00 nop } c = (c + 0x80) & 0xFF; 80cde1e: 89fb ldrh r3, [r7, #14] 80cde20: 3380 adds r3, #128 ; 0x80 80cde22: b29b uxth r3, r3 80cde24: b2db uxtb r3, r3 80cde26: 81fb strh r3, [r7, #14] } } return c; 80cde28: 89fb ldrh r3, [r7, #14] } 80cde2a: 4618 mov r0, r3 80cde2c: 3714 adds r7, #20 80cde2e: 46bd mov sp, r7 80cde30: f85d 7b04 ldr.w r7, [sp], #4 80cde34: 4770 bx lr 80cde36: bf00 nop 80cde38: 081706fc .word 0x081706fc 080cde3c : WCHAR ff_wtoupper ( /* Upper converted character */ WCHAR chr /* Input character */ ) { 80cde3c: b480 push {r7} 80cde3e: b085 sub sp, #20 80cde40: af00 add r7, sp, #0 80cde42: 4603 mov r3, r0 80cde44: 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++) ; 80cde46: 2300 movs r3, #0 80cde48: 60fb str r3, [r7, #12] 80cde4a: e002 b.n 80cde52 80cde4c: 68fb ldr r3, [r7, #12] 80cde4e: 3301 adds r3, #1 80cde50: 60fb str r3, [r7, #12] 80cde52: 4a0f ldr r2, [pc, #60] ; (80cde90 ) 80cde54: 68fb ldr r3, [r7, #12] 80cde56: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cde5a: 2b00 cmp r3, #0 80cde5c: d006 beq.n 80cde6c 80cde5e: 4a0c ldr r2, [pc, #48] ; (80cde90 ) 80cde60: 68fb ldr r3, [r7, #12] 80cde62: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cde66: 88fa ldrh r2, [r7, #6] 80cde68: 429a cmp r2, r3 80cde6a: d1ef bne.n 80cde4c return tbl_lower[i] ? tbl_upper[i] : chr; 80cde6c: 4a08 ldr r2, [pc, #32] ; (80cde90 ) 80cde6e: 68fb ldr r3, [r7, #12] 80cde70: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cde74: 2b00 cmp r3, #0 80cde76: d004 beq.n 80cde82 80cde78: 4a06 ldr r2, [pc, #24] ; (80cde94 ) 80cde7a: 68fb ldr r3, [r7, #12] 80cde7c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cde80: e000 b.n 80cde84 80cde82: 88fb ldrh r3, [r7, #6] } 80cde84: 4618 mov r0, r3 80cde86: 3714 adds r7, #20 80cde88: 46bd mov sp, r7 80cde8a: f85d 7b04 ldr.w r7, [sp], #4 80cde8e: 4770 bx lr 80cde90: 081707fc .word 0x081707fc 80cde94: 081709dc .word 0x081709dc 080cde98 : /** * Init USB device Library, add supported class and start the library * @retval None */ void MX_USB_DEVICE_Init(void) { 80cde98: b580 push {r7, lr} 80cde9a: 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) 80cde9c: 2201 movs r2, #1 80cde9e: 4912 ldr r1, [pc, #72] ; (80cdee8 ) 80cdea0: 4812 ldr r0, [pc, #72] ; (80cdeec ) 80cdea2: f7f8 fb2c bl 80c64fe 80cdea6: 4603 mov r3, r0 80cdea8: 2b00 cmp r3, #0 80cdeaa: d001 beq.n 80cdeb0 { Error_Handler(); 80cdeac: f788 fcfe bl 80568ac } if (USBD_RegisterClass(&hUsbDeviceHS, &USBD_MSC) != USBD_OK) 80cdeb0: 490f ldr r1, [pc, #60] ; (80cdef0 ) 80cdeb2: 480e ldr r0, [pc, #56] ; (80cdeec ) 80cdeb4: f7f8 fb59 bl 80c656a 80cdeb8: 4603 mov r3, r0 80cdeba: 2b00 cmp r3, #0 80cdebc: d001 beq.n 80cdec2 { Error_Handler(); 80cdebe: f788 fcf5 bl 80568ac } if (USBD_MSC_RegisterStorage(&hUsbDeviceHS, &USBD_Storage_Interface_fops_HS) != USBD_OK) 80cdec2: 490c ldr r1, [pc, #48] ; (80cdef4 ) 80cdec4: 4809 ldr r0, [pc, #36] ; (80cdeec ) 80cdec6: f7f7 f855 bl 80c4f74 80cdeca: 4603 mov r3, r0 80cdecc: 2b00 cmp r3, #0 80cdece: d001 beq.n 80cded4 { Error_Handler(); 80cded0: f788 fcec bl 80568ac } if (USBD_Start(&hUsbDeviceHS) != USBD_OK) 80cded4: 4805 ldr r0, [pc, #20] ; (80cdeec ) 80cded6: f7f8 fb69 bl 80c65ac 80cdeda: 4603 mov r3, r0 80cdedc: 2b00 cmp r3, #0 80cdede: d001 beq.n 80cdee4 { Error_Handler(); 80cdee0: f788 fce4 bl 80568ac } /* USER CODE BEGIN USB_DEVICE_Init_PostTreatment */ /* USER CODE END USB_DEVICE_Init_PostTreatment */ } 80cdee4: bf00 nop 80cdee6: bd80 pop {r7, pc} 80cdee8: 20020ad0 .word 0x20020ad0 80cdeec: 20068dc0 .word 0x20068dc0 80cdef0: 200209e8 .word 0x200209e8 80cdef4: 20020b30 .word 0x20020b30 080cdef8 : void USBState(void) { 80cdef8: b580 push {r7, lr} 80cdefa: b082 sub sp, #8 80cdefc: af00 add r7, sp, #0 uint32_t timeout; if(ChangeUSBState) 80cdefe: 4b47 ldr r3, [pc, #284] ; (80ce01c ) 80cdf00: 781b ldrb r3, [r3, #0] 80cdf02: b2db uxtb r3, r3 80cdf04: 2b00 cmp r3, #0 80cdf06: f000 8084 beq.w 80ce012 { if(USBConnected) 80cdf0a: 4b45 ldr r3, [pc, #276] ; (80ce020 ) 80cdf0c: 781b ldrb r3, [r3, #0] 80cdf0e: b2db uxtb r3, r3 80cdf10: 2b00 cmp r3, #0 80cdf12: d025 beq.n 80cdf60 { timeout = HAL_GetTick(); 80cdf14: f7e9 fd86 bl 80b7a24 80cdf18: 6078 str r0, [r7, #4] { keyIns(); RedrawScreen(); }*/ if(LinkPC == 0) 80cdf1a: 4b42 ldr r3, [pc, #264] ; (80ce024 ) 80cdf1c: 781b ldrb r3, [r3, #0] 80cdf1e: b2db uxtb r3, r3 80cdf20: 2b00 cmp r3, #0 80cdf22: d111 bne.n 80cdf48 { ChargerIsConnect = true; 80cdf24: 4b40 ldr r3, [pc, #256] ; (80ce028 ) 80cdf26: 2201 movs r2, #1 80cdf28: 701a strb r2, [r3, #0] oldVbat = 0.0f; 80cdf2a: 4b40 ldr r3, [pc, #256] ; (80ce02c ) 80cdf2c: f04f 0200 mov.w r2, #0 80cdf30: 601a str r2, [r3, #0] cntVbat = 0; 80cdf32: 4b3f ldr r3, [pc, #252] ; (80ce030 ) 80cdf34: 2200 movs r2, #0 80cdf36: 601a str r2, [r3, #0] HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_SET); 80cdf38: 2201 movs r2, #1 80cdf3a: 2108 movs r1, #8 80cdf3c: 483d ldr r0, [pc, #244] ; (80ce034 ) 80cdf3e: f7ec fa2d bl 80ba39c SetupADC(); 80cdf42: f754 ff01 bl 8022d48 80cdf46: e061 b.n 80ce00c } else { menu = LINK_PC; 80cdf48: 4b3b ldr r3, [pc, #236] ; (80ce038 ) 80cdf4a: 2242 movs r2, #66 ; 0x42 80cdf4c: 701a strb r2, [r3, #0] ChargerIsConnect = false; 80cdf4e: 4b36 ldr r3, [pc, #216] ; (80ce028 ) 80cdf50: 2200 movs r2, #0 80cdf52: 701a strb r2, [r3, #0] HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_RESET); 80cdf54: 2200 movs r2, #0 80cdf56: 2108 movs r1, #8 80cdf58: 4836 ldr r0, [pc, #216] ; (80ce034 ) 80cdf5a: f7ec fa1f bl 80ba39c 80cdf5e: e055 b.n 80ce00c } } else { if(LinkPC) 80cdf60: 4b30 ldr r3, [pc, #192] ; (80ce024 ) 80cdf62: 781b ldrb r3, [r3, #0] 80cdf64: b2db uxtb r3, r3 80cdf66: 2b00 cmp r3, #0 80cdf68: d008 beq.n 80cdf7c { menu = OPTIONS; 80cdf6a: 4b33 ldr r3, [pc, #204] ; (80ce038 ) 80cdf6c: 2201 movs r2, #1 80cdf6e: 701a strb r2, [r3, #0] menupos = Mode; 80cdf70: 4b32 ldr r3, [pc, #200] ; (80ce03c ) 80cdf72: 2201 movs r2, #1 80cdf74: 701a strb r2, [r3, #0] LinkPC = 0; 80cdf76: 4b2b ldr r3, [pc, #172] ; (80ce024 ) 80cdf78: 2200 movs r2, #0 80cdf7a: 701a strb r2, [r3, #0] } if(CardState == MSD_READY) { 80cdf7c: 4b30 ldr r3, [pc, #192] ; (80ce040 ) 80cdf7e: 781b ldrb r3, [r3, #0] 80cdf80: b2db uxtb r3, r3 80cdf82: 2b03 cmp r3, #3 80cdf84: d101 bne.n 80cdf8a CheckSD(); 80cdf86: f75d fc83 bl 802b890 } if(ChargerIsConnect) 80cdf8a: 4b27 ldr r3, [pc, #156] ; (80ce028 ) 80cdf8c: 781b ldrb r3, [r3, #0] 80cdf8e: b2db uxtb r3, r3 80cdf90: 2b00 cmp r3, #0 80cdf92: d02f beq.n 80cdff4 { ChargerIsConnect = false; 80cdf94: 4b24 ldr r3, [pc, #144] ; (80ce028 ) 80cdf96: 2200 movs r2, #0 80cdf98: 701a strb r2, [r3, #0] TIMEOUT_BAT = sec5 + sec2; 80cdf9a: 4b2a ldr r3, [pc, #168] ; (80ce044 ) 80cdf9c: f44f 5260 mov.w r2, #14336 ; 0x3800 80cdfa0: 601a str r2, [r3, #0] ADCBat = 0; 80cdfa2: 4b29 ldr r3, [pc, #164] ; (80ce048 ) 80cdfa4: 2200 movs r2, #0 80cdfa6: 601a str r2, [r3, #0] adc_cnt = 0; 80cdfa8: 4b28 ldr r3, [pc, #160] ; (80ce04c ) 80cdfaa: 2200 movs r2, #0 80cdfac: 801a strh r2, [r3, #0] if(menu == POWER_OFF) 80cdfae: 4b22 ldr r3, [pc, #136] ; (80ce038 ) 80cdfb0: 781b ldrb r3, [r3, #0] 80cdfb2: 2b43 cmp r3, #67 ; 0x43 80cdfb4: d10a bne.n 80cdfcc { menu = OPTIONS; 80cdfb6: 4b20 ldr r3, [pc, #128] ; (80ce038 ) 80cdfb8: 2201 movs r2, #1 80cdfba: 701a strb r2, [r3, #0] menupos = Mode; 80cdfbc: 4b1f ldr r3, [pc, #124] ; (80ce03c ) 80cdfbe: 2201 movs r2, #1 80cdfc0: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80cdfc2: 4b23 ldr r3, [pc, #140] ; (80ce050 ) 80cdfc4: f44f 42a0 mov.w r2, #20480 ; 0x5000 80cdfc8: 601a str r2, [r3, #0] 80cdfca: e013 b.n 80cdff4 } else if(menu == POWER_OFF2) 80cdfcc: 4b1a ldr r3, [pc, #104] ; (80ce038 ) 80cdfce: 781b ldrb r3, [r3, #0] 80cdfd0: 2b44 cmp r3, #68 ; 0x44 80cdfd2: d10f bne.n 80cdff4 { //NeedOff = true; menu = OPTIONS; 80cdfd4: 4b18 ldr r3, [pc, #96] ; (80ce038 ) 80cdfd6: 2201 movs r2, #1 80cdfd8: 701a strb r2, [r3, #0] menupos = Mode; 80cdfda: 4b18 ldr r3, [pc, #96] ; (80ce03c ) 80cdfdc: 2201 movs r2, #1 80cdfde: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80cdfe0: 4b1b ldr r3, [pc, #108] ; (80ce050 ) 80cdfe2: f44f 42a0 mov.w r2, #20480 ; 0x5000 80cdfe6: 601a str r2, [r3, #0] HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_RESET); // BACKLIGHT IS ON 80cdfe8: 2200 movs r2, #0 80cdfea: f44f 7180 mov.w r1, #256 ; 0x100 80cdfee: 4819 ldr r0, [pc, #100] ; (80ce054 ) 80cdff0: f7ec f9d4 bl 80ba39c } } HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_RESET); 80cdff4: 2200 movs r2, #0 80cdff6: 2108 movs r1, #8 80cdff8: 480e ldr r0, [pc, #56] ; (80ce034 ) 80cdffa: f7ec f9cf bl 80ba39c oldVbat = 0.0f; 80cdffe: 4b0b ldr r3, [pc, #44] ; (80ce02c ) 80ce000: f04f 0200 mov.w r2, #0 80ce004: 601a str r2, [r3, #0] cntVbat = 0; 80ce006: 4b0a ldr r3, [pc, #40] ; (80ce030 ) 80ce008: 2200 movs r2, #0 80ce00a: 601a str r2, [r3, #0] } ChangeUSBState = false; 80ce00c: 4b03 ldr r3, [pc, #12] ; (80ce01c ) 80ce00e: 2200 movs r2, #0 80ce010: 701a strb r2, [r3, #0] } } 80ce012: bf00 nop 80ce014: 3708 adds r7, #8 80ce016: 46bd mov sp, r7 80ce018: bd80 pop {r7, pc} 80ce01a: bf00 nop 80ce01c: 20021b70 .word 0x20021b70 80ce020: 20021b71 .word 0x20021b71 80ce024: 20021b73 .word 0x20021b73 80ce028: 20021b72 .word 0x20021b72 80ce02c: 20020004 .word 0x20020004 80ce030: 20020d64 .word 0x20020d64 80ce034: 40020800 .word 0x40020800 80ce038: 20020fc5 .word 0x20020fc5 80ce03c: 20020070 .word 0x20020070 80ce040: 2002169c .word 0x2002169c 80ce044: 200209d4 .word 0x200209d4 80ce048: 20020d5c .word 0x20020d5c 80ce04c: 20020d60 .word 0x20020d60 80ce050: 200209d0 .word 0x200209d0 80ce054: 40020000 .word 0x40020000 080ce058 : * @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) { 80ce058: b480 push {r7} 80ce05a: b083 sub sp, #12 80ce05c: af00 add r7, sp, #0 80ce05e: 4603 mov r3, r0 80ce060: 6039 str r1, [r7, #0] 80ce062: 71fb strb r3, [r7, #7] UNUSED(speed); *length = sizeof(USBD_HS_DeviceDesc); 80ce064: 683b ldr r3, [r7, #0] 80ce066: 2212 movs r2, #18 80ce068: 801a strh r2, [r3, #0] return USBD_HS_DeviceDesc; 80ce06a: 4b03 ldr r3, [pc, #12] ; (80ce078 ) } 80ce06c: 4618 mov r0, r3 80ce06e: 370c adds r7, #12 80ce070: 46bd mov sp, r7 80ce072: f85d 7b04 ldr.w r7, [sp], #4 80ce076: 4770 bx lr 80ce078: 20020af0 .word 0x20020af0 080ce07c : * @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) { 80ce07c: b480 push {r7} 80ce07e: b083 sub sp, #12 80ce080: af00 add r7, sp, #0 80ce082: 4603 mov r3, r0 80ce084: 6039 str r1, [r7, #0] 80ce086: 71fb strb r3, [r7, #7] UNUSED(speed); *length = sizeof(USBD_LangIDDesc); 80ce088: 683b ldr r3, [r7, #0] 80ce08a: 2204 movs r2, #4 80ce08c: 801a strh r2, [r3, #0] return USBD_LangIDDesc; 80ce08e: 4b03 ldr r3, [pc, #12] ; (80ce09c ) } 80ce090: 4618 mov r0, r3 80ce092: 370c adds r7, #12 80ce094: 46bd mov sp, r7 80ce096: f85d 7b04 ldr.w r7, [sp], #4 80ce09a: 4770 bx lr 80ce09c: 20020b10 .word 0x20020b10 080ce0a0 : * @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) { 80ce0a0: b580 push {r7, lr} 80ce0a2: b082 sub sp, #8 80ce0a4: af00 add r7, sp, #0 80ce0a6: 4603 mov r3, r0 80ce0a8: 6039 str r1, [r7, #0] 80ce0aa: 71fb strb r3, [r7, #7] if(speed == 0) 80ce0ac: 79fb ldrb r3, [r7, #7] 80ce0ae: 2b00 cmp r3, #0 80ce0b0: d105 bne.n 80ce0be { USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_HS, USBD_StrDesc, length); 80ce0b2: 683a ldr r2, [r7, #0] 80ce0b4: 4907 ldr r1, [pc, #28] ; (80ce0d4 ) 80ce0b6: 4808 ldr r0, [pc, #32] ; (80ce0d8 ) 80ce0b8: f7f9 fa6f bl 80c759a 80ce0bc: e004 b.n 80ce0c8 } else { USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_HS, USBD_StrDesc, length); 80ce0be: 683a ldr r2, [r7, #0] 80ce0c0: 4904 ldr r1, [pc, #16] ; (80ce0d4 ) 80ce0c2: 4805 ldr r0, [pc, #20] ; (80ce0d8 ) 80ce0c4: f7f9 fa69 bl 80c759a } return USBD_StrDesc; 80ce0c8: 4b02 ldr r3, [pc, #8] ; (80ce0d4 ) } 80ce0ca: 4618 mov r0, r3 80ce0cc: 3708 adds r7, #8 80ce0ce: 46bd mov sp, r7 80ce0d0: bd80 pop {r7, pc} 80ce0d2: bf00 nop 80ce0d4: 20069090 .word 0x20069090 80ce0d8: 080d7634 .word 0x080d7634 080ce0dc : * @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) { 80ce0dc: b580 push {r7, lr} 80ce0de: b082 sub sp, #8 80ce0e0: af00 add r7, sp, #0 80ce0e2: 4603 mov r3, r0 80ce0e4: 6039 str r1, [r7, #0] 80ce0e6: 71fb strb r3, [r7, #7] UNUSED(speed); USBD_GetString((uint8_t *)USBD_MANUFACTURER_STRING, USBD_StrDesc, length); 80ce0e8: 683a ldr r2, [r7, #0] 80ce0ea: 4904 ldr r1, [pc, #16] ; (80ce0fc ) 80ce0ec: 4804 ldr r0, [pc, #16] ; (80ce100 ) 80ce0ee: f7f9 fa54 bl 80c759a return USBD_StrDesc; 80ce0f2: 4b02 ldr r3, [pc, #8] ; (80ce0fc ) } 80ce0f4: 4618 mov r0, r3 80ce0f6: 3708 adds r7, #8 80ce0f8: 46bd mov sp, r7 80ce0fa: bd80 pop {r7, pc} 80ce0fc: 20069090 .word 0x20069090 80ce100: 080d7648 .word 0x080d7648 080ce104 : * @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) { 80ce104: b580 push {r7, lr} 80ce106: b082 sub sp, #8 80ce108: af00 add r7, sp, #0 80ce10a: 4603 mov r3, r0 80ce10c: 6039 str r1, [r7, #0] 80ce10e: 71fb strb r3, [r7, #7] UNUSED(speed); *length = USB_SIZ_STRING_SERIAL; 80ce110: 683b ldr r3, [r7, #0] 80ce112: 221a movs r2, #26 80ce114: 801a strh r2, [r3, #0] /* Update the serial number string descriptor with the data from the unique * ID */ Get_SerialNum(); 80ce116: f000 f855 bl 80ce1c4 /* USER CODE BEGIN USBD_HS_SerialStrDescriptor */ /* USER CODE END USBD_HS_SerialStrDescriptor */ return (uint8_t *) USBD_StringSerial; 80ce11a: 4b02 ldr r3, [pc, #8] ; (80ce124 ) } 80ce11c: 4618 mov r0, r3 80ce11e: 3708 adds r7, #8 80ce120: 46bd mov sp, r7 80ce122: bd80 pop {r7, pc} 80ce124: 20020b14 .word 0x20020b14 080ce128 : * @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) { 80ce128: b580 push {r7, lr} 80ce12a: b082 sub sp, #8 80ce12c: af00 add r7, sp, #0 80ce12e: 4603 mov r3, r0 80ce130: 6039 str r1, [r7, #0] 80ce132: 71fb strb r3, [r7, #7] if(speed == USBD_SPEED_HIGH) 80ce134: 79fb ldrb r3, [r7, #7] 80ce136: 2b00 cmp r3, #0 80ce138: d105 bne.n 80ce146 { USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING_HS, USBD_StrDesc, length); 80ce13a: 683a ldr r2, [r7, #0] 80ce13c: 4907 ldr r1, [pc, #28] ; (80ce15c ) 80ce13e: 4808 ldr r0, [pc, #32] ; (80ce160 ) 80ce140: f7f9 fa2b bl 80c759a 80ce144: e004 b.n 80ce150 } else { USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING_HS, USBD_StrDesc, length); 80ce146: 683a ldr r2, [r7, #0] 80ce148: 4904 ldr r1, [pc, #16] ; (80ce15c ) 80ce14a: 4805 ldr r0, [pc, #20] ; (80ce160 ) 80ce14c: f7f9 fa25 bl 80c759a } return USBD_StrDesc; 80ce150: 4b02 ldr r3, [pc, #8] ; (80ce15c ) } 80ce152: 4618 mov r0, r3 80ce154: 3708 adds r7, #8 80ce156: 46bd mov sp, r7 80ce158: bd80 pop {r7, pc} 80ce15a: bf00 nop 80ce15c: 20069090 .word 0x20069090 80ce160: 080d7654 .word 0x080d7654 080ce164 : * @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) { 80ce164: b580 push {r7, lr} 80ce166: b082 sub sp, #8 80ce168: af00 add r7, sp, #0 80ce16a: 4603 mov r3, r0 80ce16c: 6039 str r1, [r7, #0] 80ce16e: 71fb strb r3, [r7, #7] if(speed == 0) 80ce170: 79fb ldrb r3, [r7, #7] 80ce172: 2b00 cmp r3, #0 80ce174: d105 bne.n 80ce182 { USBD_GetString((uint8_t *)USBD_INTERFACE_STRING_HS, USBD_StrDesc, length); 80ce176: 683a ldr r2, [r7, #0] 80ce178: 4907 ldr r1, [pc, #28] ; (80ce198 ) 80ce17a: 4808 ldr r0, [pc, #32] ; (80ce19c ) 80ce17c: f7f9 fa0d bl 80c759a 80ce180: e004 b.n 80ce18c } else { USBD_GetString((uint8_t *)USBD_INTERFACE_STRING_HS, USBD_StrDesc, length); 80ce182: 683a ldr r2, [r7, #0] 80ce184: 4904 ldr r1, [pc, #16] ; (80ce198 ) 80ce186: 4805 ldr r0, [pc, #20] ; (80ce19c ) 80ce188: f7f9 fa07 bl 80c759a } return USBD_StrDesc; 80ce18c: 4b02 ldr r3, [pc, #8] ; (80ce198 ) } 80ce18e: 4618 mov r0, r3 80ce190: 3708 adds r7, #8 80ce192: 46bd mov sp, r7 80ce194: bd80 pop {r7, pc} 80ce196: bf00 nop 80ce198: 20069090 .word 0x20069090 80ce19c: 080d7660 .word 0x080d7660 080ce1a0 : * @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) { 80ce1a0: b480 push {r7} 80ce1a2: b083 sub sp, #12 80ce1a4: af00 add r7, sp, #0 80ce1a6: 4603 mov r3, r0 80ce1a8: 6039 str r1, [r7, #0] 80ce1aa: 71fb strb r3, [r7, #7] UNUSED(speed); *length = sizeof(USBD_HS_BOSDesc); 80ce1ac: 683b ldr r3, [r7, #0] 80ce1ae: 220c movs r2, #12 80ce1b0: 801a strh r2, [r3, #0] return (uint8_t*)USBD_HS_BOSDesc; 80ce1b2: 4b03 ldr r3, [pc, #12] ; (80ce1c0 ) } 80ce1b4: 4618 mov r0, r3 80ce1b6: 370c adds r7, #12 80ce1b8: 46bd mov sp, r7 80ce1ba: f85d 7b04 ldr.w r7, [sp], #4 80ce1be: 4770 bx lr 80ce1c0: 20020b04 .word 0x20020b04 080ce1c4 : * @brief Create the serial number string descriptor * @param None * @retval None */ static void Get_SerialNum(void) { 80ce1c4: b580 push {r7, lr} 80ce1c6: b084 sub sp, #16 80ce1c8: af00 add r7, sp, #0 uint32_t deviceserial0, deviceserial1, deviceserial2; deviceserial0 = *(uint32_t *) DEVICE_ID1; 80ce1ca: 4b0f ldr r3, [pc, #60] ; (80ce208 ) 80ce1cc: 681b ldr r3, [r3, #0] 80ce1ce: 60fb str r3, [r7, #12] deviceserial1 = *(uint32_t *) DEVICE_ID2; 80ce1d0: 4b0e ldr r3, [pc, #56] ; (80ce20c ) 80ce1d2: 681b ldr r3, [r3, #0] 80ce1d4: 60bb str r3, [r7, #8] deviceserial2 = *(uint32_t *) DEVICE_ID3; 80ce1d6: 4b0e ldr r3, [pc, #56] ; (80ce210 ) 80ce1d8: 681b ldr r3, [r3, #0] 80ce1da: 607b str r3, [r7, #4] deviceserial0 += deviceserial2; 80ce1dc: 68fa ldr r2, [r7, #12] 80ce1de: 687b ldr r3, [r7, #4] 80ce1e0: 4413 add r3, r2 80ce1e2: 60fb str r3, [r7, #12] if (deviceserial0 != 0) 80ce1e4: 68fb ldr r3, [r7, #12] 80ce1e6: 2b00 cmp r3, #0 80ce1e8: d009 beq.n 80ce1fe { IntToUnicode(deviceserial0, &USBD_StringSerial[2], 8); 80ce1ea: 2208 movs r2, #8 80ce1ec: 4909 ldr r1, [pc, #36] ; (80ce214 ) 80ce1ee: 68f8 ldr r0, [r7, #12] 80ce1f0: f000 f814 bl 80ce21c IntToUnicode(deviceserial1, &USBD_StringSerial[18], 4); 80ce1f4: 2204 movs r2, #4 80ce1f6: 4908 ldr r1, [pc, #32] ; (80ce218 ) 80ce1f8: 68b8 ldr r0, [r7, #8] 80ce1fa: f000 f80f bl 80ce21c } } 80ce1fe: bf00 nop 80ce200: 3710 adds r7, #16 80ce202: 46bd mov sp, r7 80ce204: bd80 pop {r7, pc} 80ce206: bf00 nop 80ce208: 1ff0f420 .word 0x1ff0f420 80ce20c: 1ff0f424 .word 0x1ff0f424 80ce210: 1ff0f428 .word 0x1ff0f428 80ce214: 20020b16 .word 0x20020b16 80ce218: 20020b26 .word 0x20020b26 080ce21c : * @param pbuf: pointer to the buffer * @param len: buffer length * @retval None */ static void IntToUnicode(uint32_t value, uint8_t * pbuf, uint8_t len) { 80ce21c: b480 push {r7} 80ce21e: b087 sub sp, #28 80ce220: af00 add r7, sp, #0 80ce222: 60f8 str r0, [r7, #12] 80ce224: 60b9 str r1, [r7, #8] 80ce226: 4613 mov r3, r2 80ce228: 71fb strb r3, [r7, #7] uint8_t idx = 0; 80ce22a: 2300 movs r3, #0 80ce22c: 75fb strb r3, [r7, #23] for (idx = 0; idx < len; idx++) 80ce22e: 2300 movs r3, #0 80ce230: 75fb strb r3, [r7, #23] 80ce232: e027 b.n 80ce284 { if (((value >> 28)) < 0xA) 80ce234: 68fb ldr r3, [r7, #12] 80ce236: 0f1b lsrs r3, r3, #28 80ce238: 2b09 cmp r3, #9 80ce23a: d80b bhi.n 80ce254 { pbuf[2 * idx] = (value >> 28) + '0'; 80ce23c: 7dfb ldrb r3, [r7, #23] 80ce23e: 005b lsls r3, r3, #1 80ce240: 461a mov r2, r3 80ce242: 68bb ldr r3, [r7, #8] 80ce244: 4413 add r3, r2 80ce246: 68fa ldr r2, [r7, #12] 80ce248: 0f12 lsrs r2, r2, #28 80ce24a: b2d2 uxtb r2, r2 80ce24c: 3230 adds r2, #48 ; 0x30 80ce24e: b2d2 uxtb r2, r2 80ce250: 701a strb r2, [r3, #0] 80ce252: e00a b.n 80ce26a } else { pbuf[2 * idx] = (value >> 28) + 'A' - 10; 80ce254: 7dfb ldrb r3, [r7, #23] 80ce256: 005b lsls r3, r3, #1 80ce258: 461a mov r2, r3 80ce25a: 68bb ldr r3, [r7, #8] 80ce25c: 4413 add r3, r2 80ce25e: 68fa ldr r2, [r7, #12] 80ce260: 0f12 lsrs r2, r2, #28 80ce262: b2d2 uxtb r2, r2 80ce264: 3237 adds r2, #55 ; 0x37 80ce266: b2d2 uxtb r2, r2 80ce268: 701a strb r2, [r3, #0] } value = value << 4; 80ce26a: 68fb ldr r3, [r7, #12] 80ce26c: 011b lsls r3, r3, #4 80ce26e: 60fb str r3, [r7, #12] pbuf[2 * idx + 1] = 0; 80ce270: 7dfb ldrb r3, [r7, #23] 80ce272: 005b lsls r3, r3, #1 80ce274: 3301 adds r3, #1 80ce276: 68ba ldr r2, [r7, #8] 80ce278: 4413 add r3, r2 80ce27a: 2200 movs r2, #0 80ce27c: 701a strb r2, [r3, #0] for (idx = 0; idx < len; idx++) 80ce27e: 7dfb ldrb r3, [r7, #23] 80ce280: 3301 adds r3, #1 80ce282: 75fb strb r3, [r7, #23] 80ce284: 7dfa ldrb r2, [r7, #23] 80ce286: 79fb ldrb r3, [r7, #7] 80ce288: 429a cmp r2, r3 80ce28a: d3d3 bcc.n 80ce234 } } 80ce28c: bf00 nop 80ce28e: 371c adds r7, #28 80ce290: 46bd mov sp, r7 80ce292: f85d 7b04 ldr.w r7, [sp], #4 80ce296: 4770 bx lr 080ce298 : * @brief . * @param lun: . * @retval USBD_OK if all operations are OK else USBD_FAIL */ int8_t STORAGE_Init_HS(uint8_t lun) { 80ce298: b580 push {r7, lr} 80ce29a: b084 sub sp, #16 80ce29c: af00 add r7, sp, #0 80ce29e: 4603 mov r3, r0 80ce2a0: 71fb strb r3, [r7, #7] int8_t ret = -1; 80ce2a2: 23ff movs r3, #255 ; 0xff 80ce2a4: 73fb strb r3, [r7, #15] if(CardState == MSD_READY) 80ce2a6: 4b1d ldr r3, [pc, #116] ; (80ce31c ) 80ce2a8: 781b ldrb r3, [r3, #0] 80ce2aa: b2db uxtb r3, r3 80ce2ac: 2b03 cmp r3, #3 80ce2ae: d12b bne.n 80ce308 { if(!(SD_status(lun) & STA_NOINIT)) 80ce2b0: 79fb ldrb r3, [r7, #7] 80ce2b2: 4618 mov r0, r3 80ce2b4: f7f6 fb62 bl 80c497c 80ce2b8: 4603 mov r3, r0 80ce2ba: f003 0301 and.w r3, r3, #1 80ce2be: 2b00 cmp r3, #0 80ce2c0: d114 bne.n 80ce2ec { if(SD_initialize(lun) == RES_OK) 80ce2c2: 79fb ldrb r3, [r7, #7] 80ce2c4: 4618 mov r0, r3 80ce2c6: f7f6 fb3b bl 80c4940 80ce2ca: 4603 mov r3, r0 80ce2cc: 2b00 cmp r3, #0 80ce2ce: d11e bne.n 80ce30e { if(LinkPC == 0) 80ce2d0: 4b13 ldr r3, [pc, #76] ; (80ce320 ) 80ce2d2: 781b ldrb r3, [r3, #0] 80ce2d4: b2db uxtb r3, r3 80ce2d6: 2b00 cmp r3, #0 80ce2d8: d105 bne.n 80ce2e6 { GoLinkPC = true; 80ce2da: 4b12 ldr r3, [pc, #72] ; (80ce324 ) 80ce2dc: 2201 movs r2, #1 80ce2de: 701a strb r2, [r3, #0] LinkPC = 1; 80ce2e0: 4b0f ldr r3, [pc, #60] ; (80ce320 ) 80ce2e2: 2201 movs r2, #1 80ce2e4: 701a strb r2, [r3, #0] } ret = 0; 80ce2e6: 2300 movs r3, #0 80ce2e8: 73fb strb r3, [r7, #15] 80ce2ea: e010 b.n 80ce30e } } else { if(LinkPC == 0) 80ce2ec: 4b0c ldr r3, [pc, #48] ; (80ce320 ) 80ce2ee: 781b ldrb r3, [r3, #0] 80ce2f0: b2db uxtb r3, r3 80ce2f2: 2b00 cmp r3, #0 80ce2f4: d105 bne.n 80ce302 { GoLinkPC = true; 80ce2f6: 4b0b ldr r3, [pc, #44] ; (80ce324 ) 80ce2f8: 2201 movs r2, #1 80ce2fa: 701a strb r2, [r3, #0] LinkPC = 1; 80ce2fc: 4b08 ldr r3, [pc, #32] ; (80ce320 ) 80ce2fe: 2201 movs r2, #1 80ce300: 701a strb r2, [r3, #0] } ret = 0; 80ce302: 2300 movs r3, #0 80ce304: 73fb strb r3, [r7, #15] 80ce306: e002 b.n 80ce30e } } else { LinkPC = 0; 80ce308: 4b05 ldr r3, [pc, #20] ; (80ce320 ) 80ce30a: 2200 movs r2, #0 80ce30c: 701a strb r2, [r3, #0] } return ret; 80ce30e: f997 300f ldrsb.w r3, [r7, #15] } 80ce312: 4618 mov r0, r3 80ce314: 3710 adds r7, #16 80ce316: 46bd mov sp, r7 80ce318: bd80 pop {r7, pc} 80ce31a: bf00 nop 80ce31c: 2002169c .word 0x2002169c 80ce320: 20021b73 .word 0x20021b73 80ce324: 20021b75 .word 0x20021b75 080ce328 : * @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) { 80ce328: b580 push {r7, lr} 80ce32a: b08e sub sp, #56 ; 0x38 80ce32c: af00 add r7, sp, #0 80ce32e: 4603 mov r3, r0 80ce330: 60b9 str r1, [r7, #8] 80ce332: 607a str r2, [r7, #4] 80ce334: 73fb strb r3, [r7, #15] HAL_SD_CardInfoTypeDef info; int8_t ret = -1; 80ce336: 23ff movs r3, #255 ; 0xff 80ce338: f887 3037 strb.w r3, [r7, #55] ; 0x37 if(BSP_SD_IsDetected() != SD_NOT_PRESENT) 80ce33c: f7f6 fa6d bl 80c481a 80ce340: 4603 mov r3, r0 80ce342: 2b00 cmp r3, #0 80ce344: d019 beq.n 80ce37a { BSP_SD_GetCardInfo(&info); 80ce346: f107 0314 add.w r3, r7, #20 80ce34a: 4618 mov r0, r3 80ce34c: f7f6 fa32 bl 80c47b4 *block_num = info.LogBlockNbr; 80ce350: 6afa ldr r2, [r7, #44] ; 0x2c 80ce352: 68bb ldr r3, [r7, #8] 80ce354: 601a str r2, [r3, #0] *block_size = info.LogBlockSize; 80ce356: 6b3b ldr r3, [r7, #48] ; 0x30 80ce358: b29a uxth r2, r3 80ce35a: 687b ldr r3, [r7, #4] 80ce35c: 801a strh r2, [r3, #0] if(LinkPC == 0) 80ce35e: 4b0a ldr r3, [pc, #40] ; (80ce388 ) 80ce360: 781b ldrb r3, [r3, #0] 80ce362: b2db uxtb r3, r3 80ce364: 2b00 cmp r3, #0 80ce366: d105 bne.n 80ce374 { GoLinkPC = true; 80ce368: 4b08 ldr r3, [pc, #32] ; (80ce38c ) 80ce36a: 2201 movs r2, #1 80ce36c: 701a strb r2, [r3, #0] LinkPC = 1; 80ce36e: 4b06 ldr r3, [pc, #24] ; (80ce388 ) 80ce370: 2201 movs r2, #1 80ce372: 701a strb r2, [r3, #0] } ret = USBD_OK; 80ce374: 2300 movs r3, #0 80ce376: f887 3037 strb.w r3, [r7, #55] ; 0x37 } return ret; 80ce37a: f997 3037 ldrsb.w r3, [r7, #55] ; 0x37 } 80ce37e: 4618 mov r0, r3 80ce380: 3738 adds r7, #56 ; 0x38 80ce382: 46bd mov sp, r7 80ce384: bd80 pop {r7, pc} 80ce386: bf00 nop 80ce388: 20021b73 .word 0x20021b73 80ce38c: 20021b75 .word 0x20021b75 080ce390 : * @brief . * @param lun: . * @retval USBD_OK if all operations are OK else USBD_FAIL */ int8_t STORAGE_IsReady_HS(uint8_t lun) { 80ce390: b580 push {r7, lr} 80ce392: b084 sub sp, #16 80ce394: af00 add r7, sp, #0 80ce396: 4603 mov r3, r0 80ce398: 71fb strb r3, [r7, #7] int8_t ret = -1; 80ce39a: 23ff movs r3, #255 ; 0xff 80ce39c: 73fb strb r3, [r7, #15] if(BSP_SD_IsDetected() != SD_NOT_PRESENT) 80ce39e: f7f6 fa3c bl 80c481a 80ce3a2: 4603 mov r3, r0 80ce3a4: 2b00 cmp r3, #0 80ce3a6: d00d beq.n 80ce3c4 { ret = 0; 80ce3a8: 2300 movs r3, #0 80ce3aa: 73fb strb r3, [r7, #15] if(LinkPC == 0) 80ce3ac: 4b0a ldr r3, [pc, #40] ; (80ce3d8 ) 80ce3ae: 781b ldrb r3, [r3, #0] 80ce3b0: b2db uxtb r3, r3 80ce3b2: 2b00 cmp r3, #0 80ce3b4: d109 bne.n 80ce3ca { GoLinkPC = true; 80ce3b6: 4b09 ldr r3, [pc, #36] ; (80ce3dc ) 80ce3b8: 2201 movs r2, #1 80ce3ba: 701a strb r2, [r3, #0] LinkPC = 1; 80ce3bc: 4b06 ldr r3, [pc, #24] ; (80ce3d8 ) 80ce3be: 2201 movs r2, #1 80ce3c0: 701a strb r2, [r3, #0] 80ce3c2: e002 b.n 80ce3ca } } else LinkPC = 0; 80ce3c4: 4b04 ldr r3, [pc, #16] ; (80ce3d8 ) 80ce3c6: 2200 movs r2, #0 80ce3c8: 701a strb r2, [r3, #0] return ret; 80ce3ca: f997 300f ldrsb.w r3, [r7, #15] } 80ce3ce: 4618 mov r0, r3 80ce3d0: 3710 adds r7, #16 80ce3d2: 46bd mov sp, r7 80ce3d4: bd80 pop {r7, pc} 80ce3d6: bf00 nop 80ce3d8: 20021b73 .word 0x20021b73 80ce3dc: 20021b75 .word 0x20021b75 080ce3e0 : * @brief . * @param lun: . * @retval USBD_OK if all operations are OK else USBD_FAIL */ int8_t STORAGE_IsWriteProtected_HS(uint8_t lun) { 80ce3e0: b480 push {r7} 80ce3e2: b083 sub sp, #12 80ce3e4: af00 add r7, sp, #0 80ce3e6: 4603 mov r3, r0 80ce3e8: 71fb strb r3, [r7, #7] return USBD_OK; 80ce3ea: 2300 movs r3, #0 } 80ce3ec: 4618 mov r0, r3 80ce3ee: 370c adds r7, #12 80ce3f0: 46bd mov sp, r7 80ce3f2: f85d 7b04 ldr.w r7, [sp], #4 80ce3f6: 4770 bx lr 080ce3f8 : * @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) { 80ce3f8: b580 push {r7, lr} 80ce3fa: b086 sub sp, #24 80ce3fc: af00 add r7, sp, #0 80ce3fe: 60b9 str r1, [r7, #8] 80ce400: 607a str r2, [r7, #4] 80ce402: 461a mov r2, r3 80ce404: 4603 mov r3, r0 80ce406: 73fb strb r3, [r7, #15] 80ce408: 4613 mov r3, r2 80ce40a: 81bb strh r3, [r7, #12] int8_t ret = -1; 80ce40c: 23ff movs r3, #255 ; 0xff 80ce40e: 75fb strb r3, [r7, #23] if(LinkPC == 0) 80ce410: 4b10 ldr r3, [pc, #64] ; (80ce454 ) 80ce412: 781b ldrb r3, [r3, #0] 80ce414: b2db uxtb r3, r3 80ce416: 2b00 cmp r3, #0 80ce418: d105 bne.n 80ce426 { GoLinkPC = true; 80ce41a: 4b0f ldr r3, [pc, #60] ; (80ce458 ) 80ce41c: 2201 movs r2, #1 80ce41e: 701a strb r2, [r3, #0] LinkPC = 1; 80ce420: 4b0c ldr r3, [pc, #48] ; (80ce454 ) 80ce422: 2201 movs r2, #1 80ce424: 701a strb r2, [r3, #0] } if(SD_read(lun, buf, blk_addr, blk_len) == RES_OK) 80ce426: 89bb ldrh r3, [r7, #12] 80ce428: 7bf8 ldrb r0, [r7, #15] 80ce42a: 687a ldr r2, [r7, #4] 80ce42c: 68b9 ldr r1, [r7, #8] 80ce42e: f7f6 fab3 bl 80c4998 80ce432: 4603 mov r3, r0 80ce434: 2b00 cmp r3, #0 80ce436: d107 bne.n 80ce448 { while(BSP_SD_GetCardState() != SD_TRANSFER_OK); 80ce438: bf00 nop 80ce43a: f7f6 f9ab bl 80c4794 80ce43e: 4603 mov r3, r0 80ce440: 2b00 cmp r3, #0 80ce442: d1fa bne.n 80ce43a ret = 0; 80ce444: 2300 movs r3, #0 80ce446: 75fb strb r3, [r7, #23] } return ret; 80ce448: f997 3017 ldrsb.w r3, [r7, #23] } 80ce44c: 4618 mov r0, r3 80ce44e: 3718 adds r7, #24 80ce450: 46bd mov sp, r7 80ce452: bd80 pop {r7, pc} 80ce454: 20021b73 .word 0x20021b73 80ce458: 20021b75 .word 0x20021b75 080ce45c : * @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) { 80ce45c: b580 push {r7, lr} 80ce45e: b086 sub sp, #24 80ce460: af00 add r7, sp, #0 80ce462: 60b9 str r1, [r7, #8] 80ce464: 607a str r2, [r7, #4] 80ce466: 461a mov r2, r3 80ce468: 4603 mov r3, r0 80ce46a: 73fb strb r3, [r7, #15] 80ce46c: 4613 mov r3, r2 80ce46e: 81bb strh r3, [r7, #12] int8_t ret = -1; 80ce470: 23ff movs r3, #255 ; 0xff 80ce472: 75fb strb r3, [r7, #23] if(LinkPC == 0) 80ce474: 4b10 ldr r3, [pc, #64] ; (80ce4b8 ) 80ce476: 781b ldrb r3, [r3, #0] 80ce478: b2db uxtb r3, r3 80ce47a: 2b00 cmp r3, #0 80ce47c: d105 bne.n 80ce48a { GoLinkPC = true; 80ce47e: 4b0f ldr r3, [pc, #60] ; (80ce4bc ) 80ce480: 2201 movs r2, #1 80ce482: 701a strb r2, [r3, #0] LinkPC = 1; 80ce484: 4b0c ldr r3, [pc, #48] ; (80ce4b8 ) 80ce486: 2201 movs r2, #1 80ce488: 701a strb r2, [r3, #0] } if(SD_write(lun, buf, blk_addr, blk_len) == RES_OK) 80ce48a: 89bb ldrh r3, [r7, #12] 80ce48c: 7bf8 ldrb r0, [r7, #15] 80ce48e: 687a ldr r2, [r7, #4] 80ce490: 68b9 ldr r1, [r7, #8] 80ce492: f7f6 fae5 bl 80c4a60 80ce496: 4603 mov r3, r0 80ce498: 2b00 cmp r3, #0 80ce49a: d107 bne.n 80ce4ac { while(BSP_SD_GetCardState() != SD_TRANSFER_OK); 80ce49c: bf00 nop 80ce49e: f7f6 f979 bl 80c4794 80ce4a2: 4603 mov r3, r0 80ce4a4: 2b00 cmp r3, #0 80ce4a6: d1fa bne.n 80ce49e ret = 0; 80ce4a8: 2300 movs r3, #0 80ce4aa: 75fb strb r3, [r7, #23] } return ret; 80ce4ac: f997 3017 ldrsb.w r3, [r7, #23] } 80ce4b0: 4618 mov r0, r3 80ce4b2: 3718 adds r7, #24 80ce4b4: 46bd mov sp, r7 80ce4b6: bd80 pop {r7, pc} 80ce4b8: 20021b73 .word 0x20021b73 80ce4bc: 20021b75 .word 0x20021b75 080ce4c0 : * @brief . * @param None * @retval . */ int8_t STORAGE_GetMaxLun_HS(void) { 80ce4c0: b480 push {r7} 80ce4c2: af00 add r7, sp, #0 return (STORAGE_LUN_NBR - 1); 80ce4c4: 2300 movs r3, #0 } 80ce4c6: 4618 mov r0, r3 80ce4c8: 46bd mov sp, r7 80ce4ca: f85d 7b04 ldr.w r7, [sp], #4 80ce4ce: 4770 bx lr 080ce4d0 : LL Driver Callbacks (PCD -> USB Device Library) *******************************************************************************/ /* MSP Init */ void HAL_PCD_MspInit(PCD_HandleTypeDef* pcdHandle) { 80ce4d0: b580 push {r7, lr} 80ce4d2: b08a sub sp, #40 ; 0x28 80ce4d4: af00 add r7, sp, #0 80ce4d6: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct = {0}; 80ce4d8: f107 0314 add.w r3, r7, #20 80ce4dc: 2200 movs r2, #0 80ce4de: 601a str r2, [r3, #0] 80ce4e0: 605a str r2, [r3, #4] 80ce4e2: 609a str r2, [r3, #8] 80ce4e4: 60da str r2, [r3, #12] 80ce4e6: 611a str r2, [r3, #16] if(pcdHandle->Instance==USB_OTG_HS) 80ce4e8: 687b ldr r3, [r7, #4] 80ce4ea: 681b ldr r3, [r3, #0] 80ce4ec: 4a24 ldr r2, [pc, #144] ; (80ce580 ) 80ce4ee: 4293 cmp r3, r2 80ce4f0: d141 bne.n 80ce576 { /* USER CODE BEGIN USB_OTG_HS_MspInit 0 */ /* USER CODE END USB_OTG_HS_MspInit 0 */ __HAL_RCC_GPIOB_CLK_ENABLE(); 80ce4f2: 4a24 ldr r2, [pc, #144] ; (80ce584 ) 80ce4f4: 4b23 ldr r3, [pc, #140] ; (80ce584 ) 80ce4f6: 6b1b ldr r3, [r3, #48] ; 0x30 80ce4f8: f043 0302 orr.w r3, r3, #2 80ce4fc: 6313 str r3, [r2, #48] ; 0x30 80ce4fe: 4b21 ldr r3, [pc, #132] ; (80ce584 ) 80ce500: 6b1b ldr r3, [r3, #48] ; 0x30 80ce502: f003 0302 and.w r3, r3, #2 80ce506: 613b str r3, [r7, #16] 80ce508: 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; 80ce50a: f44f 5300 mov.w r3, #8192 ; 0x2000 80ce50e: 617b str r3, [r7, #20] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80ce510: 2302 movs r3, #2 80ce512: 61bb str r3, [r7, #24] GPIO_InitStruct.Pull = GPIO_NOPULL; 80ce514: 2300 movs r3, #0 80ce516: 61fb str r3, [r7, #28] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80ce518: 2303 movs r3, #3 80ce51a: 623b str r3, [r7, #32] GPIO_InitStruct.Alternate = GPIO_AF12_OTG_HS_FS; 80ce51c: 230c movs r3, #12 80ce51e: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 80ce520: f107 0314 add.w r3, r7, #20 80ce524: 4619 mov r1, r3 80ce526: 4818 ldr r0, [pc, #96] ; (80ce588 ) 80ce528: f7eb fc6a bl 80b9e00 GPIO_InitStruct.Pin = GPIO_PIN_14|GPIO_PIN_15; 80ce52c: f44f 4340 mov.w r3, #49152 ; 0xc000 80ce530: 617b str r3, [r7, #20] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80ce532: 2302 movs r3, #2 80ce534: 61bb str r3, [r7, #24] GPIO_InitStruct.Pull = GPIO_NOPULL; 80ce536: 2300 movs r3, #0 80ce538: 61fb str r3, [r7, #28] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80ce53a: 2303 movs r3, #3 80ce53c: 623b str r3, [r7, #32] GPIO_InitStruct.Alternate = GPIO_AF12_OTG_HS_FS; 80ce53e: 230c movs r3, #12 80ce540: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 80ce542: f107 0314 add.w r3, r7, #20 80ce546: 4619 mov r1, r3 80ce548: 480f ldr r0, [pc, #60] ; (80ce588 ) 80ce54a: f7eb fc59 bl 80b9e00 /* Peripheral clock enable */ __HAL_RCC_USB_OTG_HS_CLK_ENABLE(); 80ce54e: 4a0d ldr r2, [pc, #52] ; (80ce584 ) 80ce550: 4b0c ldr r3, [pc, #48] ; (80ce584 ) 80ce552: 6b1b ldr r3, [r3, #48] ; 0x30 80ce554: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80ce558: 6313 str r3, [r2, #48] ; 0x30 80ce55a: 4b0a ldr r3, [pc, #40] ; (80ce584 ) 80ce55c: 6b1b ldr r3, [r3, #48] ; 0x30 80ce55e: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 80ce562: 60fb str r3, [r7, #12] 80ce564: 68fb ldr r3, [r7, #12] /* Peripheral interrupt init */ HAL_NVIC_SetPriority(OTG_HS_IRQn, 10, 0); 80ce566: 2200 movs r2, #0 80ce568: 210a movs r1, #10 80ce56a: 204d movs r0, #77 ; 0x4d 80ce56c: f7ea f9b1 bl 80b88d2 HAL_NVIC_EnableIRQ(OTG_HS_IRQn); 80ce570: 204d movs r0, #77 ; 0x4d 80ce572: f7ea f9ca bl 80b890a /* USER CODE BEGIN USB_OTG_HS_MspInit 1 */ /* USER CODE END USB_OTG_HS_MspInit 1 */ } } 80ce576: bf00 nop 80ce578: 3728 adds r7, #40 ; 0x28 80ce57a: 46bd mov sp, r7 80ce57c: bd80 pop {r7, pc} 80ce57e: bf00 nop 80ce580: 40040000 .word 0x40040000 80ce584: 40023800 .word 0x40023800 80ce588: 40020400 .word 0x40020400 080ce58c : #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 */ { 80ce58c: b580 push {r7, lr} 80ce58e: b082 sub sp, #8 80ce590: af00 add r7, sp, #0 80ce592: 6078 str r0, [r7, #4] USBD_LL_SetupStage((USBD_HandleTypeDef*)hpcd->pData, (uint8_t *)hpcd->Setup); 80ce594: 687b ldr r3, [r7, #4] 80ce596: f8d3 2400 ldr.w r2, [r3, #1024] ; 0x400 80ce59a: 687b ldr r3, [r7, #4] 80ce59c: f503 7371 add.w r3, r3, #964 ; 0x3c4 80ce5a0: 4619 mov r1, r3 80ce5a2: 4610 mov r0, r2 80ce5a4: f7f8 f84d bl 80c6642 } 80ce5a8: bf00 nop 80ce5aa: 3708 adds r7, #8 80ce5ac: 46bd mov sp, r7 80ce5ae: bd80 pop {r7, pc} 080ce5b0 : #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 */ { 80ce5b0: b580 push {r7, lr} 80ce5b2: b082 sub sp, #8 80ce5b4: af00 add r7, sp, #0 80ce5b6: 6078 str r0, [r7, #4] 80ce5b8: 460b mov r3, r1 80ce5ba: 70fb strb r3, [r7, #3] USBD_LL_DataOutStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->OUT_ep[epnum].xfer_buff); 80ce5bc: 687b ldr r3, [r7, #4] 80ce5be: f8d3 0400 ldr.w r0, [r3, #1024] ; 0x400 80ce5c2: 78fa ldrb r2, [r7, #3] 80ce5c4: 6879 ldr r1, [r7, #4] 80ce5c6: 4613 mov r3, r2 80ce5c8: 00db lsls r3, r3, #3 80ce5ca: 1a9b subs r3, r3, r2 80ce5cc: 009b lsls r3, r3, #2 80ce5ce: 440b add r3, r1 80ce5d0: f503 7302 add.w r3, r3, #520 ; 0x208 80ce5d4: 681a ldr r2, [r3, #0] 80ce5d6: 78fb ldrb r3, [r7, #3] 80ce5d8: 4619 mov r1, r3 80ce5da: f7f8 f885 bl 80c66e8 } 80ce5de: bf00 nop 80ce5e0: 3708 adds r7, #8 80ce5e2: 46bd mov sp, r7 80ce5e4: bd80 pop {r7, pc} 080ce5e6 : #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 */ { 80ce5e6: b580 push {r7, lr} 80ce5e8: b082 sub sp, #8 80ce5ea: af00 add r7, sp, #0 80ce5ec: 6078 str r0, [r7, #4] 80ce5ee: 460b mov r3, r1 80ce5f0: 70fb strb r3, [r7, #3] USBD_LL_DataInStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->IN_ep[epnum].xfer_buff); 80ce5f2: 687b ldr r3, [r7, #4] 80ce5f4: f8d3 0400 ldr.w r0, [r3, #1024] ; 0x400 80ce5f8: 78fa ldrb r2, [r7, #3] 80ce5fa: 6879 ldr r1, [r7, #4] 80ce5fc: 4613 mov r3, r2 80ce5fe: 00db lsls r3, r3, #3 80ce600: 1a9b subs r3, r3, r2 80ce602: 009b lsls r3, r3, #2 80ce604: 440b add r3, r1 80ce606: 3348 adds r3, #72 ; 0x48 80ce608: 681a ldr r2, [r3, #0] 80ce60a: 78fb ldrb r3, [r7, #3] 80ce60c: 4619 mov r1, r3 80ce60e: f7f8 f8ce bl 80c67ae } 80ce612: bf00 nop 80ce614: 3708 adds r7, #8 80ce616: 46bd mov sp, r7 80ce618: bd80 pop {r7, pc} 080ce61a : #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 */ { 80ce61a: b580 push {r7, lr} 80ce61c: b082 sub sp, #8 80ce61e: af00 add r7, sp, #0 80ce620: 6078 str r0, [r7, #4] USBD_LL_SOF((USBD_HandleTypeDef*)hpcd->pData); 80ce622: 687b ldr r3, [r7, #4] 80ce624: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80ce628: 4618 mov r0, r3 80ce62a: f7f8 f9d2 bl 80c69d2 } 80ce62e: bf00 nop 80ce630: 3708 adds r7, #8 80ce632: 46bd mov sp, r7 80ce634: bd80 pop {r7, pc} 080ce636 : #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 */ { 80ce636: b580 push {r7, lr} 80ce638: b084 sub sp, #16 80ce63a: af00 add r7, sp, #0 80ce63c: 6078 str r0, [r7, #4] USBD_SpeedTypeDef speed = USBD_SPEED_FULL; 80ce63e: 2301 movs r3, #1 80ce640: 73fb strb r3, [r7, #15] if ( hpcd->Init.speed == PCD_SPEED_HIGH) 80ce642: 687b ldr r3, [r7, #4] 80ce644: 68db ldr r3, [r3, #12] 80ce646: 2b00 cmp r3, #0 80ce648: d102 bne.n 80ce650 { speed = USBD_SPEED_HIGH; 80ce64a: 2300 movs r3, #0 80ce64c: 73fb strb r3, [r7, #15] 80ce64e: e008 b.n 80ce662 } else if ( hpcd->Init.speed == PCD_SPEED_FULL) 80ce650: 687b ldr r3, [r7, #4] 80ce652: 68db ldr r3, [r3, #12] 80ce654: 2b02 cmp r3, #2 80ce656: d102 bne.n 80ce65e { speed = USBD_SPEED_FULL; 80ce658: 2301 movs r3, #1 80ce65a: 73fb strb r3, [r7, #15] 80ce65c: e001 b.n 80ce662 } else { Error_Handler(); 80ce65e: f788 f925 bl 80568ac } /* Set Speed. */ USBD_LL_SetSpeed((USBD_HandleTypeDef*)hpcd->pData, speed); 80ce662: 687b ldr r3, [r7, #4] 80ce664: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80ce668: 7bfa ldrb r2, [r7, #15] 80ce66a: 4611 mov r1, r2 80ce66c: 4618 mov r0, r3 80ce66e: f7f8 f975 bl 80c695c /* Reset Device. */ USBD_LL_Reset((USBD_HandleTypeDef*)hpcd->pData); 80ce672: 687b ldr r3, [r7, #4] 80ce674: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80ce678: 4618 mov r0, r3 80ce67a: f7f8 f92e bl 80c68da } 80ce67e: bf00 nop 80ce680: 3710 adds r7, #16 80ce682: 46bd mov sp, r7 80ce684: bd80 pop {r7, pc} ... 080ce688 : #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 */ { 80ce688: b580 push {r7, lr} 80ce68a: b082 sub sp, #8 80ce68c: af00 add r7, sp, #0 80ce68e: 6078 str r0, [r7, #4] /* Inform USB library that core enters in suspend Mode. */ USBD_LL_Suspend((USBD_HandleTypeDef*)hpcd->pData); 80ce690: 687b ldr r3, [r7, #4] 80ce692: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80ce696: 4618 mov r0, r3 80ce698: f7f8 f970 bl 80c697c __HAL_PCD_GATE_PHYCLOCK(hpcd); 80ce69c: 687b ldr r3, [r7, #4] 80ce69e: 681b ldr r3, [r3, #0] 80ce6a0: f503 6360 add.w r3, r3, #3584 ; 0xe00 80ce6a4: 461a mov r2, r3 80ce6a6: 687b ldr r3, [r7, #4] 80ce6a8: 681b ldr r3, [r3, #0] 80ce6aa: f503 6360 add.w r3, r3, #3584 ; 0xe00 80ce6ae: 681b ldr r3, [r3, #0] 80ce6b0: f043 0301 orr.w r3, r3, #1 80ce6b4: 6013 str r3, [r2, #0] /* Enter in STOP mode. */ /* USER CODE BEGIN 2 */ if (hpcd->Init.low_power_enable) 80ce6b6: 687b ldr r3, [r7, #4] 80ce6b8: 6a1b ldr r3, [r3, #32] 80ce6ba: 2b00 cmp r3, #0 80ce6bc: d005 beq.n 80ce6ca { /* Set SLEEPDEEP bit and SleepOnExit of Cortex System Control Register. */ SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); 80ce6be: 4a05 ldr r2, [pc, #20] ; (80ce6d4 ) 80ce6c0: 4b04 ldr r3, [pc, #16] ; (80ce6d4 ) 80ce6c2: 691b ldr r3, [r3, #16] 80ce6c4: f043 0306 orr.w r3, r3, #6 80ce6c8: 6113 str r3, [r2, #16] } /* USER CODE END 2 */ } 80ce6ca: bf00 nop 80ce6cc: 3708 adds r7, #8 80ce6ce: 46bd mov sp, r7 80ce6d0: bd80 pop {r7, pc} 80ce6d2: bf00 nop 80ce6d4: e000ed00 .word 0xe000ed00 080ce6d8 : #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 */ { 80ce6d8: b580 push {r7, lr} 80ce6da: b082 sub sp, #8 80ce6dc: af00 add r7, sp, #0 80ce6de: 6078 str r0, [r7, #4] /* USER CODE BEGIN 3 */ /* USER CODE END 3 */ USBD_LL_Resume((USBD_HandleTypeDef*)hpcd->pData); 80ce6e0: 687b ldr r3, [r7, #4] 80ce6e2: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80ce6e6: 4618 mov r0, r3 80ce6e8: f7f8 f95d bl 80c69a6 } 80ce6ec: bf00 nop 80ce6ee: 3708 adds r7, #8 80ce6f0: 46bd mov sp, r7 80ce6f2: bd80 pop {r7, pc} 080ce6f4 : #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 */ { 80ce6f4: b580 push {r7, lr} 80ce6f6: b082 sub sp, #8 80ce6f8: af00 add r7, sp, #0 80ce6fa: 6078 str r0, [r7, #4] 80ce6fc: 460b mov r3, r1 80ce6fe: 70fb strb r3, [r7, #3] USBD_LL_IsoOUTIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum); 80ce700: 687b ldr r3, [r7, #4] 80ce702: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80ce706: 78fa ldrb r2, [r7, #3] 80ce708: 4611 mov r1, r2 80ce70a: 4618 mov r0, r3 80ce70c: f7f8 f988 bl 80c6a20 } 80ce710: bf00 nop 80ce712: 3708 adds r7, #8 80ce714: 46bd mov sp, r7 80ce716: bd80 pop {r7, pc} 080ce718 : #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 */ { 80ce718: b580 push {r7, lr} 80ce71a: b082 sub sp, #8 80ce71c: af00 add r7, sp, #0 80ce71e: 6078 str r0, [r7, #4] 80ce720: 460b mov r3, r1 80ce722: 70fb strb r3, [r7, #3] USBD_LL_IsoINIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum); 80ce724: 687b ldr r3, [r7, #4] 80ce726: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80ce72a: 78fa ldrb r2, [r7, #3] 80ce72c: 4611 mov r1, r2 80ce72e: 4618 mov r0, r3 80ce730: f7f8 f969 bl 80c6a06 } 80ce734: bf00 nop 80ce736: 3708 adds r7, #8 80ce738: 46bd mov sp, r7 80ce73a: bd80 pop {r7, pc} 080ce73c : #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 */ { 80ce73c: b580 push {r7, lr} 80ce73e: b082 sub sp, #8 80ce740: af00 add r7, sp, #0 80ce742: 6078 str r0, [r7, #4] USBConnected = true; 80ce744: 4b08 ldr r3, [pc, #32] ; (80ce768 ) 80ce746: 2201 movs r2, #1 80ce748: 701a strb r2, [r3, #0] ChangeUSBState = true; 80ce74a: 4b08 ldr r3, [pc, #32] ; (80ce76c ) 80ce74c: 2201 movs r2, #1 80ce74e: 701a strb r2, [r3, #0] USBState(); 80ce750: f7ff fbd2 bl 80cdef8 USBD_LL_DevConnected((USBD_HandleTypeDef*)hpcd->pData); 80ce754: 687b ldr r3, [r7, #4] 80ce756: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80ce75a: 4618 mov r0, r3 80ce75c: f7f8 f96d bl 80c6a3a } 80ce760: bf00 nop 80ce762: 3708 adds r7, #8 80ce764: 46bd mov sp, r7 80ce766: bd80 pop {r7, pc} 80ce768: 20021b71 .word 0x20021b71 80ce76c: 20021b70 .word 0x20021b70 080ce770 : #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 */ { 80ce770: b580 push {r7, lr} 80ce772: b082 sub sp, #8 80ce774: af00 add r7, sp, #0 80ce776: 6078 str r0, [r7, #4] USBConnected = false; 80ce778: 4b08 ldr r3, [pc, #32] ; (80ce79c ) 80ce77a: 2200 movs r2, #0 80ce77c: 701a strb r2, [r3, #0] ChangeUSBState = true; 80ce77e: 4b08 ldr r3, [pc, #32] ; (80ce7a0 ) 80ce780: 2201 movs r2, #1 80ce782: 701a strb r2, [r3, #0] USBState(); 80ce784: f7ff fbb8 bl 80cdef8 USBD_LL_DevDisconnected((USBD_HandleTypeDef*)hpcd->pData); 80ce788: 687b ldr r3, [r7, #4] 80ce78a: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80ce78e: 4618 mov r0, r3 80ce790: f7f8 f95e bl 80c6a50 } 80ce794: bf00 nop 80ce796: 3708 adds r7, #8 80ce798: 46bd mov sp, r7 80ce79a: bd80 pop {r7, pc} 80ce79c: 20021b71 .word 0x20021b71 80ce7a0: 20021b70 .word 0x20021b70 080ce7a4 : * @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) { 80ce7a4: b580 push {r7, lr} 80ce7a6: b082 sub sp, #8 80ce7a8: af00 add r7, sp, #0 80ce7aa: 6078 str r0, [r7, #4] /* Init USB Ip. */ if (pdev->id == DEVICE_HS) { 80ce7ac: 687b ldr r3, [r7, #4] 80ce7ae: 781b ldrb r3, [r3, #0] 80ce7b0: 2b01 cmp r3, #1 80ce7b2: d140 bne.n 80ce836 /* Link the driver to the stack. */ hpcd_USB_OTG_HS.pData = pdev; 80ce7b4: 4a22 ldr r2, [pc, #136] ; (80ce840 ) 80ce7b6: 687b ldr r3, [r7, #4] 80ce7b8: f8c2 3400 str.w r3, [r2, #1024] ; 0x400 pdev->pData = &hpcd_USB_OTG_HS; 80ce7bc: 687b ldr r3, [r7, #4] 80ce7be: 4a20 ldr r2, [pc, #128] ; (80ce840 ) 80ce7c0: f8c3 22c4 str.w r2, [r3, #708] ; 0x2c4 hpcd_USB_OTG_HS.Instance = USB_OTG_HS; 80ce7c4: 4b1e ldr r3, [pc, #120] ; (80ce840 ) 80ce7c6: 4a1f ldr r2, [pc, #124] ; (80ce844 ) 80ce7c8: 601a str r2, [r3, #0] hpcd_USB_OTG_HS.Init.dev_endpoints = 9; 80ce7ca: 4b1d ldr r3, [pc, #116] ; (80ce840 ) 80ce7cc: 2209 movs r2, #9 80ce7ce: 605a str r2, [r3, #4] hpcd_USB_OTG_HS.Init.speed = PCD_SPEED_FULL; 80ce7d0: 4b1b ldr r3, [pc, #108] ; (80ce840 ) 80ce7d2: 2202 movs r2, #2 80ce7d4: 60da str r2, [r3, #12] hpcd_USB_OTG_HS.Init.dma_enable = DISABLE; 80ce7d6: 4b1a ldr r3, [pc, #104] ; (80ce840 ) 80ce7d8: 2200 movs r2, #0 80ce7da: 611a str r2, [r3, #16] hpcd_USB_OTG_HS.Init.phy_itface = USB_OTG_EMBEDDED_PHY; 80ce7dc: 4b18 ldr r3, [pc, #96] ; (80ce840 ) 80ce7de: 2202 movs r2, #2 80ce7e0: 619a str r2, [r3, #24] hpcd_USB_OTG_HS.Init.Sof_enable = DISABLE; 80ce7e2: 4b17 ldr r3, [pc, #92] ; (80ce840 ) 80ce7e4: 2200 movs r2, #0 80ce7e6: 61da str r2, [r3, #28] hpcd_USB_OTG_HS.Init.low_power_enable = DISABLE; 80ce7e8: 4b15 ldr r3, [pc, #84] ; (80ce840 ) 80ce7ea: 2200 movs r2, #0 80ce7ec: 621a str r2, [r3, #32] hpcd_USB_OTG_HS.Init.lpm_enable = DISABLE; 80ce7ee: 4b14 ldr r3, [pc, #80] ; (80ce840 ) 80ce7f0: 2200 movs r2, #0 80ce7f2: 625a str r2, [r3, #36] ; 0x24 hpcd_USB_OTG_HS.Init.vbus_sensing_enable = ENABLE; 80ce7f4: 4b12 ldr r3, [pc, #72] ; (80ce840 ) 80ce7f6: 2201 movs r2, #1 80ce7f8: 62da str r2, [r3, #44] ; 0x2c hpcd_USB_OTG_HS.Init.use_dedicated_ep1 = DISABLE; 80ce7fa: 4b11 ldr r3, [pc, #68] ; (80ce840 ) 80ce7fc: 2200 movs r2, #0 80ce7fe: 631a str r2, [r3, #48] ; 0x30 hpcd_USB_OTG_HS.Init.use_external_vbus = DISABLE; 80ce800: 4b0f ldr r3, [pc, #60] ; (80ce840 ) 80ce802: 2200 movs r2, #0 80ce804: 635a str r2, [r3, #52] ; 0x34 if (HAL_PCD_Init(&hpcd_USB_OTG_HS) != HAL_OK) 80ce806: 480e ldr r0, [pc, #56] ; (80ce840 ) 80ce808: f7ec f9ca bl 80baba0 80ce80c: 4603 mov r3, r0 80ce80e: 2b00 cmp r3, #0 80ce810: d001 beq.n 80ce816 { Error_Handler( ); 80ce812: f788 f84b bl 80568ac 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); 80ce816: f44f 7100 mov.w r1, #512 ; 0x200 80ce81a: 4809 ldr r0, [pc, #36] ; (80ce840 ) 80ce81c: f7ed fb73 bl 80bbf06 HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_HS, 0, 0x80); 80ce820: 2280 movs r2, #128 ; 0x80 80ce822: 2100 movs r1, #0 80ce824: 4806 ldr r0, [pc, #24] ; (80ce840 ) 80ce826: f7ed fb27 bl 80bbe78 HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_HS, 1, 0x174); 80ce82a: f44f 72ba mov.w r2, #372 ; 0x174 80ce82e: 2101 movs r1, #1 80ce830: 4803 ldr r0, [pc, #12] ; (80ce840 ) 80ce832: f7ed fb21 bl 80bbe78 } return USBD_OK; 80ce836: 2300 movs r3, #0 } 80ce838: 4618 mov r0, r3 80ce83a: 3708 adds r7, #8 80ce83c: 46bd mov sp, r7 80ce83e: bd80 pop {r7, pc} 80ce840: 20069290 .word 0x20069290 80ce844: 40040000 .word 0x40040000 080ce848 : * @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) { 80ce848: b580 push {r7, lr} 80ce84a: b084 sub sp, #16 80ce84c: af00 add r7, sp, #0 80ce84e: 6078 str r0, [r7, #4] HAL_StatusTypeDef hal_status = HAL_OK; 80ce850: 2300 movs r3, #0 80ce852: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80ce854: 2300 movs r3, #0 80ce856: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_Start(pdev->pData); 80ce858: 687b ldr r3, [r7, #4] 80ce85a: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80ce85e: 4618 mov r0, r3 80ce860: f7ec fac2 bl 80bade8 80ce864: 4603 mov r3, r0 80ce866: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80ce868: 7bfb ldrb r3, [r7, #15] 80ce86a: 4618 mov r0, r3 80ce86c: f000 f9a0 bl 80cebb0 80ce870: 4603 mov r3, r0 80ce872: 73bb strb r3, [r7, #14] return usb_status; 80ce874: 7bbb ldrb r3, [r7, #14] } 80ce876: 4618 mov r0, r3 80ce878: 3710 adds r7, #16 80ce87a: 46bd mov sp, r7 80ce87c: bd80 pop {r7, pc} 080ce87e : * @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) { 80ce87e: b580 push {r7, lr} 80ce880: b084 sub sp, #16 80ce882: af00 add r7, sp, #0 80ce884: 6078 str r0, [r7, #4] 80ce886: 4608 mov r0, r1 80ce888: 4611 mov r1, r2 80ce88a: 461a mov r2, r3 80ce88c: 4603 mov r3, r0 80ce88e: 70fb strb r3, [r7, #3] 80ce890: 460b mov r3, r1 80ce892: 70bb strb r3, [r7, #2] 80ce894: 4613 mov r3, r2 80ce896: 803b strh r3, [r7, #0] HAL_StatusTypeDef hal_status = HAL_OK; 80ce898: 2300 movs r3, #0 80ce89a: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80ce89c: 2300 movs r3, #0 80ce89e: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_Open(pdev->pData, ep_addr, ep_mps, ep_type); 80ce8a0: 687b ldr r3, [r7, #4] 80ce8a2: f8d3 02c4 ldr.w r0, [r3, #708] ; 0x2c4 80ce8a6: 78bb ldrb r3, [r7, #2] 80ce8a8: 883a ldrh r2, [r7, #0] 80ce8aa: 78f9 ldrb r1, [r7, #3] 80ce8ac: f7ec febd bl 80bb62a 80ce8b0: 4603 mov r3, r0 80ce8b2: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80ce8b4: 7bfb ldrb r3, [r7, #15] 80ce8b6: 4618 mov r0, r3 80ce8b8: f000 f97a bl 80cebb0 80ce8bc: 4603 mov r3, r0 80ce8be: 73bb strb r3, [r7, #14] return usb_status; 80ce8c0: 7bbb ldrb r3, [r7, #14] } 80ce8c2: 4618 mov r0, r3 80ce8c4: 3710 adds r7, #16 80ce8c6: 46bd mov sp, r7 80ce8c8: bd80 pop {r7, pc} 080ce8ca : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_CloseEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { 80ce8ca: b580 push {r7, lr} 80ce8cc: b084 sub sp, #16 80ce8ce: af00 add r7, sp, #0 80ce8d0: 6078 str r0, [r7, #4] 80ce8d2: 460b mov r3, r1 80ce8d4: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80ce8d6: 2300 movs r3, #0 80ce8d8: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80ce8da: 2300 movs r3, #0 80ce8dc: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_Close(pdev->pData, ep_addr); 80ce8de: 687b ldr r3, [r7, #4] 80ce8e0: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80ce8e4: 78fa ldrb r2, [r7, #3] 80ce8e6: 4611 mov r1, r2 80ce8e8: 4618 mov r0, r3 80ce8ea: f7ec ff06 bl 80bb6fa 80ce8ee: 4603 mov r3, r0 80ce8f0: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80ce8f2: 7bfb ldrb r3, [r7, #15] 80ce8f4: 4618 mov r0, r3 80ce8f6: f000 f95b bl 80cebb0 80ce8fa: 4603 mov r3, r0 80ce8fc: 73bb strb r3, [r7, #14] return usb_status; 80ce8fe: 7bbb ldrb r3, [r7, #14] } 80ce900: 4618 mov r0, r3 80ce902: 3710 adds r7, #16 80ce904: 46bd mov sp, r7 80ce906: bd80 pop {r7, pc} 080ce908 : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_FlushEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { 80ce908: b580 push {r7, lr} 80ce90a: b084 sub sp, #16 80ce90c: af00 add r7, sp, #0 80ce90e: 6078 str r0, [r7, #4] 80ce910: 460b mov r3, r1 80ce912: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80ce914: 2300 movs r3, #0 80ce916: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80ce918: 2300 movs r3, #0 80ce91a: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_Flush(pdev->pData, ep_addr); 80ce91c: 687b ldr r3, [r7, #4] 80ce91e: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80ce922: 78fa ldrb r2, [r7, #3] 80ce924: 4611 mov r1, r2 80ce926: 4618 mov r0, r3 80ce928: f7ed f898 bl 80bba5c 80ce92c: 4603 mov r3, r0 80ce92e: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80ce930: 7bfb ldrb r3, [r7, #15] 80ce932: 4618 mov r0, r3 80ce934: f000 f93c bl 80cebb0 80ce938: 4603 mov r3, r0 80ce93a: 73bb strb r3, [r7, #14] return usb_status; 80ce93c: 7bbb ldrb r3, [r7, #14] } 80ce93e: 4618 mov r0, r3 80ce940: 3710 adds r7, #16 80ce942: 46bd mov sp, r7 80ce944: bd80 pop {r7, pc} 080ce946 : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_StallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { 80ce946: b580 push {r7, lr} 80ce948: b084 sub sp, #16 80ce94a: af00 add r7, sp, #0 80ce94c: 6078 str r0, [r7, #4] 80ce94e: 460b mov r3, r1 80ce950: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80ce952: 2300 movs r3, #0 80ce954: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80ce956: 2300 movs r3, #0 80ce958: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_SetStall(pdev->pData, ep_addr); 80ce95a: 687b ldr r3, [r7, #4] 80ce95c: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80ce960: 78fa ldrb r2, [r7, #3] 80ce962: 4611 mov r1, r2 80ce964: 4618 mov r0, r3 80ce966: f7ec ffbf bl 80bb8e8 80ce96a: 4603 mov r3, r0 80ce96c: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80ce96e: 7bfb ldrb r3, [r7, #15] 80ce970: 4618 mov r0, r3 80ce972: f000 f91d bl 80cebb0 80ce976: 4603 mov r3, r0 80ce978: 73bb strb r3, [r7, #14] return usb_status; 80ce97a: 7bbb ldrb r3, [r7, #14] } 80ce97c: 4618 mov r0, r3 80ce97e: 3710 adds r7, #16 80ce980: 46bd mov sp, r7 80ce982: bd80 pop {r7, pc} 080ce984 : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_ClearStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { 80ce984: b580 push {r7, lr} 80ce986: b084 sub sp, #16 80ce988: af00 add r7, sp, #0 80ce98a: 6078 str r0, [r7, #4] 80ce98c: 460b mov r3, r1 80ce98e: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80ce990: 2300 movs r3, #0 80ce992: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80ce994: 2300 movs r3, #0 80ce996: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_ClrStall(pdev->pData, ep_addr); 80ce998: 687b ldr r3, [r7, #4] 80ce99a: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80ce99e: 78fa ldrb r2, [r7, #3] 80ce9a0: 4611 mov r1, r2 80ce9a2: 4618 mov r0, r3 80ce9a4: f7ed f804 bl 80bb9b0 80ce9a8: 4603 mov r3, r0 80ce9aa: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80ce9ac: 7bfb ldrb r3, [r7, #15] 80ce9ae: 4618 mov r0, r3 80ce9b0: f000 f8fe bl 80cebb0 80ce9b4: 4603 mov r3, r0 80ce9b6: 73bb strb r3, [r7, #14] return usb_status; 80ce9b8: 7bbb ldrb r3, [r7, #14] } 80ce9ba: 4618 mov r0, r3 80ce9bc: 3710 adds r7, #16 80ce9be: 46bd mov sp, r7 80ce9c0: bd80 pop {r7, pc} 080ce9c2 : * @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) { 80ce9c2: b480 push {r7} 80ce9c4: b085 sub sp, #20 80ce9c6: af00 add r7, sp, #0 80ce9c8: 6078 str r0, [r7, #4] 80ce9ca: 460b mov r3, r1 80ce9cc: 70fb strb r3, [r7, #3] PCD_HandleTypeDef *hpcd = (PCD_HandleTypeDef*) pdev->pData; 80ce9ce: 687b ldr r3, [r7, #4] 80ce9d0: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80ce9d4: 60fb str r3, [r7, #12] if((ep_addr & 0x80) == 0x80) 80ce9d6: f997 3003 ldrsb.w r3, [r7, #3] 80ce9da: 2b00 cmp r3, #0 80ce9dc: da0b bge.n 80ce9f6 { return hpcd->IN_ep[ep_addr & 0x7F].is_stall; 80ce9de: 78fb ldrb r3, [r7, #3] 80ce9e0: f003 027f and.w r2, r3, #127 ; 0x7f 80ce9e4: 68f9 ldr r1, [r7, #12] 80ce9e6: 4613 mov r3, r2 80ce9e8: 00db lsls r3, r3, #3 80ce9ea: 1a9b subs r3, r3, r2 80ce9ec: 009b lsls r3, r3, #2 80ce9ee: 440b add r3, r1 80ce9f0: 333e adds r3, #62 ; 0x3e 80ce9f2: 781b ldrb r3, [r3, #0] 80ce9f4: e00b b.n 80cea0e } else { return hpcd->OUT_ep[ep_addr & 0x7F].is_stall; 80ce9f6: 78fb ldrb r3, [r7, #3] 80ce9f8: f003 027f and.w r2, r3, #127 ; 0x7f 80ce9fc: 68f9 ldr r1, [r7, #12] 80ce9fe: 4613 mov r3, r2 80cea00: 00db lsls r3, r3, #3 80cea02: 1a9b subs r3, r3, r2 80cea04: 009b lsls r3, r3, #2 80cea06: 440b add r3, r1 80cea08: f503 73ff add.w r3, r3, #510 ; 0x1fe 80cea0c: 781b ldrb r3, [r3, #0] } } 80cea0e: 4618 mov r0, r3 80cea10: 3714 adds r7, #20 80cea12: 46bd mov sp, r7 80cea14: f85d 7b04 ldr.w r7, [sp], #4 80cea18: 4770 bx lr 080cea1a : * @param pdev: Device handle * @param dev_addr: Device address * @retval USBD status */ USBD_StatusTypeDef USBD_LL_SetUSBAddress(USBD_HandleTypeDef *pdev, uint8_t dev_addr) { 80cea1a: b580 push {r7, lr} 80cea1c: b084 sub sp, #16 80cea1e: af00 add r7, sp, #0 80cea20: 6078 str r0, [r7, #4] 80cea22: 460b mov r3, r1 80cea24: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80cea26: 2300 movs r3, #0 80cea28: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80cea2a: 2300 movs r3, #0 80cea2c: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_SetAddress(pdev->pData, dev_addr); 80cea2e: 687b ldr r3, [r7, #4] 80cea30: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80cea34: 78fa ldrb r2, [r7, #3] 80cea36: 4611 mov r1, r2 80cea38: 4618 mov r0, r3 80cea3a: f7ec fdd1 bl 80bb5e0 80cea3e: 4603 mov r3, r0 80cea40: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80cea42: 7bfb ldrb r3, [r7, #15] 80cea44: 4618 mov r0, r3 80cea46: f000 f8b3 bl 80cebb0 80cea4a: 4603 mov r3, r0 80cea4c: 73bb strb r3, [r7, #14] return usb_status; 80cea4e: 7bbb ldrb r3, [r7, #14] } 80cea50: 4618 mov r0, r3 80cea52: 3710 adds r7, #16 80cea54: 46bd mov sp, r7 80cea56: bd80 pop {r7, pc} 080cea58 : * @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) { 80cea58: b580 push {r7, lr} 80cea5a: b086 sub sp, #24 80cea5c: af00 add r7, sp, #0 80cea5e: 60f8 str r0, [r7, #12] 80cea60: 607a str r2, [r7, #4] 80cea62: 603b str r3, [r7, #0] 80cea64: 460b mov r3, r1 80cea66: 72fb strb r3, [r7, #11] HAL_StatusTypeDef hal_status = HAL_OK; 80cea68: 2300 movs r3, #0 80cea6a: 75fb strb r3, [r7, #23] USBD_StatusTypeDef usb_status = USBD_OK; 80cea6c: 2300 movs r3, #0 80cea6e: 75bb strb r3, [r7, #22] hal_status = HAL_PCD_EP_Transmit(pdev->pData, ep_addr, pbuf, size); 80cea70: 68fb ldr r3, [r7, #12] 80cea72: f8d3 02c4 ldr.w r0, [r3, #708] ; 0x2c4 80cea76: 7af9 ldrb r1, [r7, #11] 80cea78: 683b ldr r3, [r7, #0] 80cea7a: 687a ldr r2, [r7, #4] 80cea7c: f7ec feea bl 80bb854 80cea80: 4603 mov r3, r0 80cea82: 75fb strb r3, [r7, #23] usb_status = USBD_Get_USB_Status(hal_status); 80cea84: 7dfb ldrb r3, [r7, #23] 80cea86: 4618 mov r0, r3 80cea88: f000 f892 bl 80cebb0 80cea8c: 4603 mov r3, r0 80cea8e: 75bb strb r3, [r7, #22] return usb_status; 80cea90: 7dbb ldrb r3, [r7, #22] } 80cea92: 4618 mov r0, r3 80cea94: 3718 adds r7, #24 80cea96: 46bd mov sp, r7 80cea98: bd80 pop {r7, pc} 080cea9a : * @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) { 80cea9a: b580 push {r7, lr} 80cea9c: b086 sub sp, #24 80cea9e: af00 add r7, sp, #0 80ceaa0: 60f8 str r0, [r7, #12] 80ceaa2: 607a str r2, [r7, #4] 80ceaa4: 603b str r3, [r7, #0] 80ceaa6: 460b mov r3, r1 80ceaa8: 72fb strb r3, [r7, #11] HAL_StatusTypeDef hal_status = HAL_OK; 80ceaaa: 2300 movs r3, #0 80ceaac: 75fb strb r3, [r7, #23] USBD_StatusTypeDef usb_status = USBD_OK; 80ceaae: 2300 movs r3, #0 80ceab0: 75bb strb r3, [r7, #22] hal_status = HAL_PCD_EP_Receive(pdev->pData, ep_addr, pbuf, size); 80ceab2: 68fb ldr r3, [r7, #12] 80ceab4: f8d3 02c4 ldr.w r0, [r3, #708] ; 0x2c4 80ceab8: 7af9 ldrb r1, [r7, #11] 80ceaba: 683b ldr r3, [r7, #0] 80ceabc: 687a ldr r2, [r7, #4] 80ceabe: f7ec fe66 bl 80bb78e 80ceac2: 4603 mov r3, r0 80ceac4: 75fb strb r3, [r7, #23] usb_status = USBD_Get_USB_Status(hal_status); 80ceac6: 7dfb ldrb r3, [r7, #23] 80ceac8: 4618 mov r0, r3 80ceaca: f000 f871 bl 80cebb0 80ceace: 4603 mov r3, r0 80cead0: 75bb strb r3, [r7, #22] return usb_status; 80cead2: 7dbb ldrb r3, [r7, #22] } 80cead4: 4618 mov r0, r3 80cead6: 3718 adds r7, #24 80cead8: 46bd mov sp, r7 80ceada: bd80 pop {r7, pc} 080ceadc : * @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) { 80ceadc: b580 push {r7, lr} 80ceade: b082 sub sp, #8 80ceae0: af00 add r7, sp, #0 80ceae2: 6078 str r0, [r7, #4] 80ceae4: 460b mov r3, r1 80ceae6: 70fb strb r3, [r7, #3] return HAL_PCD_EP_GetRxCount((PCD_HandleTypeDef*) pdev->pData, ep_addr); 80ceae8: 687b ldr r3, [r7, #4] 80ceaea: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80ceaee: 78fa ldrb r2, [r7, #3] 80ceaf0: 4611 mov r1, r2 80ceaf2: 4618 mov r0, r3 80ceaf4: f7ec fe96 bl 80bb824 80ceaf8: 4603 mov r3, r0 } 80ceafa: 4618 mov r0, r3 80ceafc: 3708 adds r7, #8 80ceafe: 46bd mov sp, r7 80ceb00: bd80 pop {r7, pc} ... 080ceb04 : * @param hpcd: PCD handle * @param msg: LPM message * @retval None */ void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg) { 80ceb04: b580 push {r7, lr} 80ceb06: b082 sub sp, #8 80ceb08: af00 add r7, sp, #0 80ceb0a: 6078 str r0, [r7, #4] 80ceb0c: 460b mov r3, r1 80ceb0e: 70fb strb r3, [r7, #3] switch (msg) 80ceb10: 78fb ldrb r3, [r7, #3] 80ceb12: 2b00 cmp r3, #0 80ceb14: d002 beq.n 80ceb1c 80ceb16: 2b01 cmp r3, #1 80ceb18: d020 beq.n 80ceb5c /* 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; } } 80ceb1a: e03d b.n 80ceb98 if (hpcd->Init.low_power_enable) 80ceb1c: 687b ldr r3, [r7, #4] 80ceb1e: 6a1b ldr r3, [r3, #32] 80ceb20: 2b00 cmp r3, #0 80ceb22: d007 beq.n 80ceb34 SystemClockConfig_Resume(); 80ceb24: f000 f83e bl 80ceba4 SCB->SCR &= (uint32_t)~((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); 80ceb28: 4a1d ldr r2, [pc, #116] ; (80ceba0 ) 80ceb2a: 4b1d ldr r3, [pc, #116] ; (80ceba0 ) 80ceb2c: 691b ldr r3, [r3, #16] 80ceb2e: f023 0306 bic.w r3, r3, #6 80ceb32: 6113 str r3, [r2, #16] __HAL_PCD_UNGATE_PHYCLOCK(hpcd); 80ceb34: 687b ldr r3, [r7, #4] 80ceb36: 681b ldr r3, [r3, #0] 80ceb38: f503 6360 add.w r3, r3, #3584 ; 0xe00 80ceb3c: 461a mov r2, r3 80ceb3e: 687b ldr r3, [r7, #4] 80ceb40: 681b ldr r3, [r3, #0] 80ceb42: f503 6360 add.w r3, r3, #3584 ; 0xe00 80ceb46: 681b ldr r3, [r3, #0] 80ceb48: f023 0301 bic.w r3, r3, #1 80ceb4c: 6013 str r3, [r2, #0] USBD_LL_Resume(hpcd->pData); 80ceb4e: 687b ldr r3, [r7, #4] 80ceb50: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80ceb54: 4618 mov r0, r3 80ceb56: f7f7 ff26 bl 80c69a6 break; 80ceb5a: e01d b.n 80ceb98 __HAL_PCD_GATE_PHYCLOCK(hpcd); 80ceb5c: 687b ldr r3, [r7, #4] 80ceb5e: 681b ldr r3, [r3, #0] 80ceb60: f503 6360 add.w r3, r3, #3584 ; 0xe00 80ceb64: 461a mov r2, r3 80ceb66: 687b ldr r3, [r7, #4] 80ceb68: 681b ldr r3, [r3, #0] 80ceb6a: f503 6360 add.w r3, r3, #3584 ; 0xe00 80ceb6e: 681b ldr r3, [r3, #0] 80ceb70: f043 0301 orr.w r3, r3, #1 80ceb74: 6013 str r3, [r2, #0] USBD_LL_Suspend(hpcd->pData); 80ceb76: 687b ldr r3, [r7, #4] 80ceb78: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80ceb7c: 4618 mov r0, r3 80ceb7e: f7f7 fefd bl 80c697c if (hpcd->Init.low_power_enable) 80ceb82: 687b ldr r3, [r7, #4] 80ceb84: 6a1b ldr r3, [r3, #32] 80ceb86: 2b00 cmp r3, #0 80ceb88: d005 beq.n 80ceb96 SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); 80ceb8a: 4a05 ldr r2, [pc, #20] ; (80ceba0 ) 80ceb8c: 4b04 ldr r3, [pc, #16] ; (80ceba0 ) 80ceb8e: 691b ldr r3, [r3, #16] 80ceb90: f043 0306 orr.w r3, r3, #6 80ceb94: 6113 str r3, [r2, #16] break; 80ceb96: bf00 nop } 80ceb98: bf00 nop 80ceb9a: 3708 adds r7, #8 80ceb9c: 46bd mov sp, r7 80ceb9e: bd80 pop {r7, pc} 80ceba0: e000ed00 .word 0xe000ed00 080ceba4 : * @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) { 80ceba4: b580 push {r7, lr} 80ceba6: af00 add r7, sp, #0 SystemClock_Config(); 80ceba8: f787 fdd4 bl 8056754 } 80cebac: bf00 nop 80cebae: bd80 pop {r7, pc} 080cebb0 : * @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) { 80cebb0: b480 push {r7} 80cebb2: b085 sub sp, #20 80cebb4: af00 add r7, sp, #0 80cebb6: 4603 mov r3, r0 80cebb8: 71fb strb r3, [r7, #7] USBD_StatusTypeDef usb_status = USBD_OK; 80cebba: 2300 movs r3, #0 80cebbc: 73fb strb r3, [r7, #15] switch (hal_status) 80cebbe: 79fb ldrb r3, [r7, #7] 80cebc0: 2b03 cmp r3, #3 80cebc2: d817 bhi.n 80cebf4 80cebc4: a201 add r2, pc, #4 ; (adr r2, 80cebcc ) 80cebc6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80cebca: bf00 nop 80cebcc: 080cebdd .word 0x080cebdd 80cebd0: 080cebe3 .word 0x080cebe3 80cebd4: 080cebe9 .word 0x080cebe9 80cebd8: 080cebef .word 0x080cebef { case HAL_OK : usb_status = USBD_OK; 80cebdc: 2300 movs r3, #0 80cebde: 73fb strb r3, [r7, #15] break; 80cebe0: e00b b.n 80cebfa case HAL_ERROR : usb_status = USBD_FAIL; 80cebe2: 2303 movs r3, #3 80cebe4: 73fb strb r3, [r7, #15] break; 80cebe6: e008 b.n 80cebfa case HAL_BUSY : usb_status = USBD_BUSY; 80cebe8: 2301 movs r3, #1 80cebea: 73fb strb r3, [r7, #15] break; 80cebec: e005 b.n 80cebfa case HAL_TIMEOUT : usb_status = USBD_FAIL; 80cebee: 2303 movs r3, #3 80cebf0: 73fb strb r3, [r7, #15] break; 80cebf2: e002 b.n 80cebfa default : usb_status = USBD_FAIL; 80cebf4: 2303 movs r3, #3 80cebf6: 73fb strb r3, [r7, #15] break; 80cebf8: bf00 nop } return usb_status; 80cebfa: 7bfb ldrb r3, [r7, #15] } 80cebfc: 4618 mov r0, r3 80cebfe: 3714 adds r7, #20 80cec00: 46bd mov sp, r7 80cec02: f85d 7b04 ldr.w r7, [sp], #4 80cec06: 4770 bx lr 080cec08 : .section .text.Reset_Handler .weak Reset_Handler .type Reset_Handler, %function Reset_Handler: ldr sp, =_estack /* set stack pointer */ 80cec08: f8df d034 ldr.w sp, [pc, #52] ; 80cec40 /* Copy the data segment initializers from flash to SRAM */ movs r1, #0 80cec0c: 2100 movs r1, #0 b LoopCopyDataInit 80cec0e: e003 b.n 80cec18 080cec10 : CopyDataInit: ldr r3, =_sidata 80cec10: 4b0c ldr r3, [pc, #48] ; (80cec44 ) ldr r3, [r3, r1] 80cec12: 585b ldr r3, [r3, r1] str r3, [r0, r1] 80cec14: 5043 str r3, [r0, r1] adds r1, r1, #4 80cec16: 3104 adds r1, #4 080cec18 : LoopCopyDataInit: ldr r0, =_sdata 80cec18: 480b ldr r0, [pc, #44] ; (80cec48 ) ldr r3, =_edata 80cec1a: 4b0c ldr r3, [pc, #48] ; (80cec4c ) adds r2, r0, r1 80cec1c: 1842 adds r2, r0, r1 cmp r2, r3 80cec1e: 429a cmp r2, r3 bcc CopyDataInit 80cec20: d3f6 bcc.n 80cec10 ldr r2, =_sbss 80cec22: 4a0b ldr r2, [pc, #44] ; (80cec50 ) b LoopFillZerobss 80cec24: e002 b.n 80cec2c 080cec26 : /* Zero fill the bss segment. */ FillZerobss: movs r3, #0 80cec26: 2300 movs r3, #0 str r3, [r2], #4 80cec28: f842 3b04 str.w r3, [r2], #4 080cec2c : LoopFillZerobss: ldr r3, = _ebss 80cec2c: 4b09 ldr r3, [pc, #36] ; (80cec54 ) cmp r2, r3 80cec2e: 429a cmp r2, r3 bcc FillZerobss 80cec30: d3f9 bcc.n 80cec26 /* Call the clock system initialization function.*/ bl SystemInit 80cec32: f7e4 f82b bl 80b2c8c /* Call static constructors */ bl __libc_init_array 80cec36: f003 f94d bl 80d1ed4 <__libc_init_array> /* Call the application's entry point.*/ bl main 80cec3a: f787 fbd7 bl 80563ec
bx lr 80cec3e: 4770 bx lr ldr sp, =_estack /* set stack pointer */ 80cec40: 20080000 .word 0x20080000 ldr r3, =_sidata 80cec44: 0818d5f0 .word 0x0818d5f0 ldr r0, =_sdata 80cec48: 20020000 .word 0x20020000 ldr r3, =_edata 80cec4c: 20020d24 .word 0x20020d24 ldr r2, =_sbss 80cec50: 20020d40 .word 0x20020d40 ldr r3, = _ebss 80cec54: 20069698 .word 0x20069698 080cec58 : * @retval None */ .section .text.Default_Handler,"ax",%progbits Default_Handler: Infinite_Loop: b Infinite_Loop 80cec58: e7fe b.n 80cec58 ... 080cec5c : 80cec5c: b410 push {r4} 80cec5e: 088c lsrs r4, r1, #2 80cec60: d010 beq.n 80cec84 80cec62: f100 0310 add.w r3, r0, #16 80cec66: 4622 mov r2, r4 80cec68: 3a01 subs r2, #1 80cec6a: ed03 0a04 vstr s0, [r3, #-16] 80cec6e: ed03 0a03 vstr s0, [r3, #-12] 80cec72: f103 0310 add.w r3, r3, #16 80cec76: ed03 0a06 vstr s0, [r3, #-24] ; 0xffffffe8 80cec7a: ed03 0a05 vstr s0, [r3, #-20] ; 0xffffffec 80cec7e: d1f3 bne.n 80cec68 80cec80: eb00 1004 add.w r0, r0, r4, lsl #4 80cec84: f011 0103 ands.w r1, r1, #3 80cec88: d003 beq.n 80cec92 80cec8a: 3901 subs r1, #1 80cec8c: eca0 0a01 vstmia r0!, {s0} 80cec90: d1fb bne.n 80cec8a 80cec92: f85d 4b04 ldr.w r4, [sp], #4 80cec96: 4770 bx lr 080cec98 : 80cec98: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80cec9c: ea5f 0892 movs.w r8, r2, lsr #2 80ceca0: d01e beq.n 80cece0 80ceca2: f100 0410 add.w r4, r0, #16 80ceca6: f101 0310 add.w r3, r1, #16 80cecaa: 4645 mov r5, r8 80cecac: f854 cc10 ldr.w ip, [r4, #-16] 80cecb0: 3d01 subs r5, #1 80cecb2: f854 ec0c ldr.w lr, [r4, #-12] 80cecb6: f103 0310 add.w r3, r3, #16 80cecba: f854 7c08 ldr.w r7, [r4, #-8] 80cecbe: f104 0410 add.w r4, r4, #16 80cecc2: f854 6c14 ldr.w r6, [r4, #-20] 80cecc6: f843 cc20 str.w ip, [r3, #-32] 80cecca: f843 ec1c str.w lr, [r3, #-28] 80cecce: f843 7c18 str.w r7, [r3, #-24] 80cecd2: f843 6c14 str.w r6, [r3, #-20] 80cecd6: d1e9 bne.n 80cecac 80cecd8: ea4f 1808 mov.w r8, r8, lsl #4 80cecdc: 4440 add r0, r8 80cecde: 4441 add r1, r8 80cece0: f012 0203 ands.w r2, r2, #3 80cece4: d005 beq.n 80cecf2 80cece6: f850 3b04 ldr.w r3, [r0], #4 80cecea: 3a01 subs r2, #1 80cecec: f841 3b04 str.w r3, [r1], #4 80cecf0: d1f9 bne.n 80cece6 80cecf2: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80cecf6: bf00 nop 080cecf8 : 80cecf8: 2901 cmp r1, #1 80cecfa: d054 beq.n 80ceda6 80cecfc: eddf 6a2d vldr s13, [pc, #180] ; 80cedb4 80ced00: b430 push {r4, r5} 80ced02: 088d lsrs r5, r1, #2 80ced04: d052 beq.n 80cedac 80ced06: eef0 7a66 vmov.f32 s15, s13 80ced0a: f100 0310 add.w r3, r0, #16 80ced0e: 462c mov r4, r5 80ced10: ed13 7a04 vldr s14, [r3, #-16] 80ced14: 3c01 subs r4, #1 80ced16: ed13 4a03 vldr s8, [r3, #-12] 80ced1a: f103 0310 add.w r3, r3, #16 80ced1e: ee27 6a07 vmul.f32 s12, s14, s14 80ced22: ed53 4a06 vldr s9, [r3, #-24] ; 0xffffffe8 80ced26: ee37 7a87 vadd.f32 s14, s15, s14 80ced2a: ed53 5a05 vldr s11, [r3, #-20] ; 0xffffffec 80ced2e: ee24 5a04 vmul.f32 s10, s8, s8 80ced32: ee76 6a26 vadd.f32 s13, s12, s13 80ced36: ee37 7a04 vadd.f32 s14, s14, s8 80ced3a: ee24 6aa4 vmul.f32 s12, s9, s9 80ced3e: ee75 6a26 vadd.f32 s13, s10, s13 80ced42: ee77 7a24 vadd.f32 s15, s14, s9 80ced46: ee25 7aa5 vmul.f32 s14, s11, s11 80ced4a: ee76 6a26 vadd.f32 s13, s12, s13 80ced4e: ee77 7aa5 vadd.f32 s15, s15, s11 80ced52: ee77 6a26 vadd.f32 s13, s14, s13 80ced56: d1db bne.n 80ced10 80ced58: eb00 1005 add.w r0, r0, r5, lsl #4 80ced5c: f011 0303 ands.w r3, r1, #3 80ced60: d009 beq.n 80ced76 80ced62: ecb0 7a01 vldmia r0!, {s14} 80ced66: 3b01 subs r3, #1 80ced68: ee27 6a07 vmul.f32 s12, s14, s14 80ced6c: ee77 7a87 vadd.f32 s15, s15, s14 80ced70: ee76 6a86 vadd.f32 s13, s13, s12 80ced74: d1f5 bne.n 80ced62 80ced76: ee07 1a10 vmov s14, r1 80ced7a: eeb7 6a00 vmov.f32 s12, #112 ; 0x3f800000 1.0 80ced7e: eeb8 7a47 vcvt.f32.u32 s14, s14 80ced82: bc30 pop {r4, r5} 80ced84: eec7 7a87 vdiv.f32 s15, s15, s14 80ced88: ee37 6a46 vsub.f32 s12, s14, s12 80ced8c: ee87 7a06 vdiv.f32 s14, s14, s12 80ced90: eec6 6a86 vdiv.f32 s13, s13, s12 80ced94: ee67 7aa7 vmul.f32 s15, s15, s15 80ced98: ee67 7a87 vmul.f32 s15, s15, s14 80ced9c: ee76 7ae7 vsub.f32 s15, s13, s15 80ceda0: edc2 7a00 vstr s15, [r2] 80ceda4: 4770 bx lr 80ceda6: 2300 movs r3, #0 80ceda8: 6013 str r3, [r2, #0] 80cedaa: 4770 bx lr 80cedac: eef0 7a66 vmov.f32 s15, s13 80cedb0: e7d4 b.n 80ced5c 80cedb2: bf00 nop 80cedb4: 00000000 .word 0x00000000 080cedb8 : 80cedb8: b530 push {r4, r5, lr} 80cedba: 088d lsrs r5, r1, #2 80cedbc: b083 sub sp, #12 80cedbe: d047 beq.n 80cee50 80cedc0: f100 0310 add.w r3, r0, #16 80cedc4: 462c mov r4, r5 80cedc6: ed9f 0a27 vldr s0, [pc, #156] ; 80cee64 80cedca: ed53 6a04 vldr s13, [r3, #-16] 80cedce: 3c01 subs r4, #1 80cedd0: ed13 7a03 vldr s14, [r3, #-12] 80cedd4: f103 0310 add.w r3, r3, #16 80cedd8: ee26 6aa6 vmul.f32 s12, s13, s13 80ceddc: ed53 7a06 vldr s15, [r3, #-24] ; 0xffffffe8 80cede0: ee67 6a07 vmul.f32 s13, s14, s14 80cede4: ed53 5a05 vldr s11, [r3, #-20] ; 0xffffffec 80cede8: ee27 7aa7 vmul.f32 s14, s15, s15 80cedec: ee76 7a00 vadd.f32 s15, s12, s0 80cedf0: ee65 5aa5 vmul.f32 s11, s11, s11 80cedf4: ee76 7aa7 vadd.f32 s15, s13, s15 80cedf8: ee77 7a27 vadd.f32 s15, s14, s15 80cedfc: ee35 0aa7 vadd.f32 s0, s11, s15 80cee00: d1e3 bne.n 80cedca 80cee02: eb00 1005 add.w r0, r0, r5, lsl #4 80cee06: f011 0303 ands.w r3, r1, #3 80cee0a: d007 beq.n 80cee1c 80cee0c: ecb0 6a01 vldmia r0!, {s12} 80cee10: 3b01 subs r3, #1 80cee12: ee26 6a06 vmul.f32 s12, s12, s12 80cee16: ee30 0a06 vadd.f32 s0, s0, s12 80cee1a: d1f7 bne.n 80cee0c 80cee1c: ee07 1a90 vmov s15, r1 80cee20: 2300 movs r3, #0 80cee22: eef8 7a67 vcvt.f32.u32 s15, s15 80cee26: eec0 7a27 vdiv.f32 s15, s0, s15 80cee2a: eef5 7ac0 vcmpe.f32 s15, #0.0 80cee2e: eef1 fa10 vmrs APSR_nzcv, fpscr 80cee32: da02 bge.n 80cee3a 80cee34: 6013 str r3, [r2, #0] 80cee36: b003 add sp, #12 80cee38: bd30 pop {r4, r5, pc} 80cee3a: eeb1 0ae7 vsqrt.f32 s0, s15 80cee3e: eeb4 0a40 vcmp.f32 s0, s0 80cee42: eef1 fa10 vmrs APSR_nzcv, fpscr 80cee46: d106 bne.n 80cee56 80cee48: ed82 0a00 vstr s0, [r2] 80cee4c: b003 add sp, #12 80cee4e: bd30 pop {r4, r5, pc} 80cee50: ed9f 0a04 vldr s0, [pc, #16] ; 80cee64 80cee54: e7d7 b.n 80cee06 80cee56: eeb0 0a67 vmov.f32 s0, s15 80cee5a: 9201 str r2, [sp, #4] 80cee5c: f001 f9a0 bl 80d01a0 80cee60: 9a01 ldr r2, [sp, #4] 80cee62: e7f1 b.n 80cee48 80cee64: 00000000 .word 0x00000000 080cee68 : 80cee68: b430 push {r4, r5} 80cee6a: 088d lsrs r5, r1, #2 80cee6c: d031 beq.n 80ceed2 80cee6e: f100 0310 add.w r3, r0, #16 80cee72: 462c mov r4, r5 80cee74: ed9f 5a18 vldr s10, [pc, #96] ; 80ceed8 80cee78: ed53 6a04 vldr s13, [r3, #-16] 80cee7c: 3c01 subs r4, #1 80cee7e: ed13 7a03 vldr s14, [r3, #-12] 80cee82: f103 0310 add.w r3, r3, #16 80cee86: ee26 6aa6 vmul.f32 s12, s13, s13 80cee8a: ed53 7a06 vldr s15, [r3, #-24] ; 0xffffffe8 80cee8e: ee67 6a07 vmul.f32 s13, s14, s14 80cee92: ed53 5a05 vldr s11, [r3, #-20] ; 0xffffffec 80cee96: ee27 7aa7 vmul.f32 s14, s15, s15 80cee9a: ee76 7a05 vadd.f32 s15, s12, s10 80cee9e: ee65 5aa5 vmul.f32 s11, s11, s11 80ceea2: ee76 7aa7 vadd.f32 s15, s13, s15 80ceea6: ee77 7a27 vadd.f32 s15, s14, s15 80ceeaa: ee35 5aa7 vadd.f32 s10, s11, s15 80ceeae: d1e3 bne.n 80cee78 80ceeb0: eb00 1005 add.w r0, r0, r5, lsl #4 80ceeb4: f011 0103 ands.w r1, r1, #3 80ceeb8: d007 beq.n 80ceeca 80ceeba: ecb0 6a01 vldmia r0!, {s12} 80ceebe: 3901 subs r1, #1 80ceec0: ee26 6a06 vmul.f32 s12, s12, s12 80ceec4: ee35 5a06 vadd.f32 s10, s10, s12 80ceec8: d1f7 bne.n 80ceeba 80ceeca: ed82 5a00 vstr s10, [r2] 80ceece: bc30 pop {r4, r5} 80ceed0: 4770 bx lr 80ceed2: ed9f 5a01 vldr s10, [pc, #4] ; 80ceed8 80ceed6: e7ed b.n 80ceeb4 80ceed8: 00000000 .word 0x00000000 080ceedc : 80ceedc: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 80ceee0: 1e4d subs r5, r1, #1 80ceee2: f100 0c04 add.w ip, r0, #4 80ceee6: edd0 7a00 vldr s15, [r0] 80ceeea: ea5f 0995 movs.w r9, r5, lsr #2 80ceeee: d056 beq.n 80cef9e 80ceef0: 3014 adds r0, #20 80ceef2: 46c8 mov r8, r9 80ceef4: 2404 movs r4, #4 80ceef6: 2600 movs r6, #0 80ceef8: ed10 6a04 vldr s12, [r0, #-16] 80ceefc: f1a4 0a03 sub.w sl, r4, #3 80cef00: ed50 6a03 vldr s13, [r0, #-12] 80cef04: f1a4 0e02 sub.w lr, r4, #2 80cef08: eeb4 6ae7 vcmpe.f32 s12, s15 80cef0c: ed10 7a02 vldr s14, [r0, #-8] 80cef10: ed50 5a01 vldr s11, [r0, #-4] 80cef14: 1e67 subs r7, r4, #1 80cef16: 3010 adds r0, #16 80cef18: eef1 fa10 vmrs APSR_nzcv, fpscr 80cef1c: bf48 it mi 80cef1e: eef0 7a46 vmovmi.f32 s15, s12 80cef22: bf48 it mi 80cef24: 4656 movmi r6, sl 80cef26: eef4 7ae6 vcmpe.f32 s15, s13 80cef2a: eef1 fa10 vmrs APSR_nzcv, fpscr 80cef2e: bfc8 it gt 80cef30: eef0 7a66 vmovgt.f32 s15, s13 80cef34: bfc8 it gt 80cef36: 4676 movgt r6, lr 80cef38: eef4 7ac7 vcmpe.f32 s15, s14 80cef3c: eef1 fa10 vmrs APSR_nzcv, fpscr 80cef40: bfc8 it gt 80cef42: eef0 7a47 vmovgt.f32 s15, s14 80cef46: bfc8 it gt 80cef48: 463e movgt r6, r7 80cef4a: eef4 7ae5 vcmpe.f32 s15, s11 80cef4e: eef1 fa10 vmrs APSR_nzcv, fpscr 80cef52: bfc8 it gt 80cef54: 4626 movgt r6, r4 80cef56: bfc8 it gt 80cef58: eef0 7a65 vmovgt.f32 s15, s11 80cef5c: f1b8 0801 subs.w r8, r8, #1 80cef60: f104 0404 add.w r4, r4, #4 80cef64: d1c8 bne.n 80ceef8 80cef66: eb0c 1c09 add.w ip, ip, r9, lsl #4 80cef6a: f015 0003 ands.w r0, r5, #3 80cef6e: d018 beq.n 80cefa2 80cef70: 1a08 subs r0, r1, r0 80cef72: ecbc 7a01 vldmia ip!, {s14} 80cef76: eeb4 7ae7 vcmpe.f32 s14, s15 80cef7a: eef1 fa10 vmrs APSR_nzcv, fpscr 80cef7e: bf48 it mi 80cef80: 4606 movmi r6, r0 80cef82: f100 0001 add.w r0, r0, #1 80cef86: bf58 it pl 80cef88: eeb0 7a67 vmovpl.f32 s14, s15 80cef8c: 4288 cmp r0, r1 80cef8e: eef0 7a47 vmov.f32 s15, s14 80cef92: d1ee bne.n 80cef72 80cef94: ed82 7a00 vstr s14, [r2] 80cef98: 601e str r6, [r3, #0] 80cef9a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80cef9e: 464e mov r6, r9 80cefa0: e7e3 b.n 80cef6a 80cefa2: eeb0 7a67 vmov.f32 s14, s15 80cefa6: e7f5 b.n 80cef94 080cefa8 : 80cefa8: b430 push {r4, r5} 80cefaa: 088d lsrs r5, r1, #2 80cefac: d02d beq.n 80cf00a 80cefae: f100 0310 add.w r3, r0, #16 80cefb2: 462c mov r4, r5 80cefb4: eddf 7a16 vldr s15, [pc, #88] ; 80cf010 80cefb8: ed13 7a04 vldr s14, [r3, #-16] 80cefbc: 3c01 subs r4, #1 80cefbe: ed13 6a03 vldr s12, [r3, #-12] 80cefc2: f103 0310 add.w r3, r3, #16 80cefc6: ee37 7a87 vadd.f32 s14, s15, s14 80cefca: ed53 7a06 vldr s15, [r3, #-24] ; 0xffffffe8 80cefce: ed53 6a05 vldr s13, [r3, #-20] ; 0xffffffec 80cefd2: ee37 7a06 vadd.f32 s14, s14, s12 80cefd6: ee77 7a27 vadd.f32 s15, s14, s15 80cefda: ee77 7aa6 vadd.f32 s15, s15, s13 80cefde: d1eb bne.n 80cefb8 80cefe0: eb00 1005 add.w r0, r0, r5, lsl #4 80cefe4: f011 0303 ands.w r3, r1, #3 80cefe8: d005 beq.n 80ceff6 80cefea: ecb0 7a01 vldmia r0!, {s14} 80cefee: 3b01 subs r3, #1 80ceff0: ee77 7a87 vadd.f32 s15, s15, s14 80ceff4: d1f9 bne.n 80cefea 80ceff6: ee07 1a10 vmov s14, r1 80ceffa: eeb8 7a47 vcvt.f32.u32 s14, s14 80ceffe: bc30 pop {r4, r5} 80cf000: eec7 7a87 vdiv.f32 s15, s15, s14 80cf004: edc2 7a00 vstr s15, [r2] 80cf008: 4770 bx lr 80cf00a: eddf 7a01 vldr s15, [pc, #4] ; 80cf010 80cf00e: e7e9 b.n 80cefe4 80cf010: 00000000 .word 0x00000000 080cf014 : 80cf014: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 80cf018: 1e4d subs r5, r1, #1 80cf01a: f100 0c04 add.w ip, r0, #4 80cf01e: edd0 7a00 vldr s15, [r0] 80cf022: ea5f 0995 movs.w r9, r5, lsr #2 80cf026: d056 beq.n 80cf0d6 80cf028: 3014 adds r0, #20 80cf02a: 46c8 mov r8, r9 80cf02c: 2404 movs r4, #4 80cf02e: 2600 movs r6, #0 80cf030: ed10 6a04 vldr s12, [r0, #-16] 80cf034: f1a4 0a03 sub.w sl, r4, #3 80cf038: ed50 6a03 vldr s13, [r0, #-12] 80cf03c: f1a4 0e02 sub.w lr, r4, #2 80cf040: eeb4 6ae7 vcmpe.f32 s12, s15 80cf044: ed10 7a02 vldr s14, [r0, #-8] 80cf048: ed50 5a01 vldr s11, [r0, #-4] 80cf04c: 1e67 subs r7, r4, #1 80cf04e: 3010 adds r0, #16 80cf050: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf054: bfc8 it gt 80cf056: eef0 7a46 vmovgt.f32 s15, s12 80cf05a: bfc8 it gt 80cf05c: 4656 movgt r6, sl 80cf05e: eef4 7ae6 vcmpe.f32 s15, s13 80cf062: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf066: bf48 it mi 80cf068: eef0 7a66 vmovmi.f32 s15, s13 80cf06c: bf48 it mi 80cf06e: 4676 movmi r6, lr 80cf070: eef4 7ac7 vcmpe.f32 s15, s14 80cf074: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf078: bf48 it mi 80cf07a: eef0 7a47 vmovmi.f32 s15, s14 80cf07e: bf48 it mi 80cf080: 463e movmi r6, r7 80cf082: eef4 7ae5 vcmpe.f32 s15, s11 80cf086: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf08a: bf48 it mi 80cf08c: 4626 movmi r6, r4 80cf08e: bf48 it mi 80cf090: eef0 7a65 vmovmi.f32 s15, s11 80cf094: f1b8 0801 subs.w r8, r8, #1 80cf098: f104 0404 add.w r4, r4, #4 80cf09c: d1c8 bne.n 80cf030 80cf09e: eb0c 1c09 add.w ip, ip, r9, lsl #4 80cf0a2: f015 0003 ands.w r0, r5, #3 80cf0a6: d018 beq.n 80cf0da 80cf0a8: 1a08 subs r0, r1, r0 80cf0aa: ecbc 7a01 vldmia ip!, {s14} 80cf0ae: eeb4 7ae7 vcmpe.f32 s14, s15 80cf0b2: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf0b6: bfc8 it gt 80cf0b8: 4606 movgt r6, r0 80cf0ba: f100 0001 add.w r0, r0, #1 80cf0be: bfd8 it le 80cf0c0: eeb0 7a67 vmovle.f32 s14, s15 80cf0c4: 4288 cmp r0, r1 80cf0c6: eef0 7a47 vmov.f32 s15, s14 80cf0ca: d1ee bne.n 80cf0aa 80cf0cc: ed82 7a00 vstr s14, [r2] 80cf0d0: 601e str r6, [r3, #0] 80cf0d2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80cf0d6: 464e mov r6, r9 80cf0d8: e7e3 b.n 80cf0a2 80cf0da: eeb0 7a67 vmov.f32 s14, s15 80cf0de: e7f5 b.n 80cf0cc 080cf0e0 : 80cf0e0: b538 push {r3, r4, r5, lr} 80cf0e2: 4604 mov r4, r0 80cf0e4: 4608 mov r0, r1 80cf0e6: 461d mov r5, r3 80cf0e8: 2100 movs r1, #0 80cf0ea: 60a2 str r2, [r4, #8] 80cf0ec: 0102 lsls r2, r0, #4 80cf0ee: 7020 strb r0, [r4, #0] 80cf0f0: 4618 mov r0, r3 80cf0f2: f002 ff57 bl 80d1fa4 80cf0f6: 6065 str r5, [r4, #4] 80cf0f8: bd38 pop {r3, r4, r5, pc} 80cf0fa: bf00 nop 080cf0fc : 80cf0fc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80cf100: ed2d 8b10 vpush {d8-d15} 80cf104: b093 sub sp, #76 ; 0x4c 80cf106: 4691 mov r9, r2 80cf108: 7807 ldrb r7, [r0, #0] 80cf10a: ea4f 1c13 mov.w ip, r3, lsr #4 80cf10e: 6885 ldr r5, [r0, #8] 80cf110: 3528 adds r5, #40 ; 0x28 80cf112: 6846 ldr r6, [r0, #4] 80cf114: 3610 adds r6, #16 80cf116: ea4f 1acc mov.w sl, ip, lsl #7 80cf11a: 4690 mov r8, r2 80cf11c: f8cd c044 str.w ip, [sp, #68] ; 0x44 80cf120: eb02 0b0a add.w fp, r2, sl 80cf124: f003 020f and.w r2, r3, #15 80cf128: ed15 ab0a vldr d10, [r5, #-40] ; 0xffffffd8 80cf12c: ed15 cb08 vldr d12, [r5, #-32] ; 0xffffffe0 80cf130: ed15 db06 vldr d13, [r5, #-24] ; 0xffffffe8 80cf134: ed15 eb04 vldr d14, [r5, #-16] 80cf138: ed15 fb02 vldr d15, [r5, #-8] 80cf13c: 4634 mov r4, r6 80cf13e: ed16 6b04 vldr d6, [r6, #-16] 80cf142: ed16 7b02 vldr d7, [r6, #-8] 80cf146: f1bc 0f00 cmp.w ip, #0 80cf14a: f000 8139 beq.w 80cf3c0 80cf14e: f101 0080 add.w r0, r1, #128 ; 0x80 80cf152: f109 0380 add.w r3, r9, #128 ; 0x80 80cf156: f8dd e044 ldr.w lr, [sp, #68] ; 0x44 80cf15a: eeb0 2b47 vmov.f64 d2, d7 80cf15e: ed10 1b20 vldr d1, [r0, #-128] ; 0xffffff80 80cf162: ed10 3b1e vldr d3, [r0, #-120] ; 0xffffff88 80cf166: ed10 4b1c vldr d4, [r0, #-112] ; 0xffffff90 80cf16a: ee0a 6b01 vmla.f64 d6, d10, d1 80cf16e: eeb0 7b46 vmov.f64 d7, d6 80cf172: ed10 5b1a vldr d5, [r0, #-104] ; 0xffffff98 80cf176: ee0c 2b01 vmla.f64 d2, d12, d1 80cf17a: ed10 6b18 vldr d6, [r0, #-96] ; 0xffffffa0 80cf17e: ee0e 2b07 vmla.f64 d2, d14, d7 80cf182: ee0a 2b03 vmla.f64 d2, d10, d3 80cf186: ed8d 7b04 vstr d7, [sp, #16] 80cf18a: ee2f 7b07 vmul.f64 d7, d15, d7 80cf18e: ee0d 7b01 vmla.f64 d7, d13, d1 80cf192: ee0c 7b03 vmla.f64 d7, d12, d3 80cf196: ed10 1b08 vldr d1, [r0, #-32] ; 0xffffffe0 80cf19a: ed8d 1b00 vstr d1, [sp] 80cf19e: ee0e 7b02 vmla.f64 d7, d14, d2 80cf1a2: eeb0 1b47 vmov.f64 d1, d7 80cf1a6: ee0a 1b04 vmla.f64 d1, d10, d4 80cf1aa: ed10 0b06 vldr d0, [r0, #-24] ; 0xffffffe8 80cf1ae: ed8d 0b0a vstr d0, [sp, #40] ; 0x28 80cf1b2: ed8d 2b06 vstr d2, [sp, #24] 80cf1b6: ee2f 7b02 vmul.f64 d7, d15, d2 80cf1ba: ee0d 7b03 vmla.f64 d7, d13, d3 80cf1be: ee0c 7b04 vmla.f64 d7, d12, d4 80cf1c2: ed10 3b04 vldr d3, [r0, #-16] 80cf1c6: ed8d 3b0c vstr d3, [sp, #48] ; 0x30 80cf1ca: ed10 8b02 vldr d8, [r0, #-8] 80cf1ce: ed8d 8b0e vstr d8, [sp, #56] ; 0x38 80cf1d2: ee0e 7b01 vmla.f64 d7, d14, d1 80cf1d6: ee0a 7b05 vmla.f64 d7, d10, d5 80cf1da: ed8d 1b08 vstr d1, [sp, #32] 80cf1de: ee2f bb01 vmul.f64 d11, d15, d1 80cf1e2: ee0d bb04 vmla.f64 d11, d13, d4 80cf1e6: ee0c bb05 vmla.f64 d11, d12, d5 80cf1ea: ee0e bb07 vmla.f64 d11, d14, d7 80cf1ee: ee0a bb06 vmla.f64 d11, d10, d6 80cf1f2: ee2f 9b07 vmul.f64 d9, d15, d7 80cf1f6: ee0d 9b05 vmla.f64 d9, d13, d5 80cf1fa: ee0c 9b06 vmla.f64 d9, d12, d6 80cf1fe: ee0e 9b0b vmla.f64 d9, d14, d11 80cf202: ed10 3b16 vldr d3, [r0, #-88] ; 0xffffffa8 80cf206: ee0a 9b03 vmla.f64 d9, d10, d3 80cf20a: ee2f 8b0b vmul.f64 d8, d15, d11 80cf20e: ee0d 8b06 vmla.f64 d8, d13, d6 80cf212: ee0c 8b03 vmla.f64 d8, d12, d3 80cf216: ee0e 8b09 vmla.f64 d8, d14, d9 80cf21a: ed10 6b14 vldr d6, [r0, #-80] ; 0xffffffb0 80cf21e: ee0a 8b06 vmla.f64 d8, d10, d6 80cf222: ee2f 0b09 vmul.f64 d0, d15, d9 80cf226: ee0d 0b03 vmla.f64 d0, d13, d3 80cf22a: ed10 6b14 vldr d6, [r0, #-80] ; 0xffffffb0 80cf22e: ee0c 0b06 vmla.f64 d0, d12, d6 80cf232: ee0e 0b08 vmla.f64 d0, d14, d8 80cf236: ed10 6b12 vldr d6, [r0, #-72] ; 0xffffffb8 80cf23a: ee0a 0b06 vmla.f64 d0, d10, d6 80cf23e: ee2f 1b08 vmul.f64 d1, d15, d8 80cf242: ed10 6b14 vldr d6, [r0, #-80] ; 0xffffffb0 80cf246: ee0d 1b06 vmla.f64 d1, d13, d6 80cf24a: ed10 6b12 vldr d6, [r0, #-72] ; 0xffffffb8 80cf24e: ee0c 1b06 vmla.f64 d1, d12, d6 80cf252: ee0e 1b00 vmla.f64 d1, d14, d0 80cf256: ed10 6b10 vldr d6, [r0, #-64] ; 0xffffffc0 80cf25a: ee0a 1b06 vmla.f64 d1, d10, d6 80cf25e: ee2f 2b00 vmul.f64 d2, d15, d0 80cf262: ed10 6b12 vldr d6, [r0, #-72] ; 0xffffffb8 80cf266: ee0d 2b06 vmla.f64 d2, d13, d6 80cf26a: ed10 6b10 vldr d6, [r0, #-64] ; 0xffffffc0 80cf26e: ee0c 2b06 vmla.f64 d2, d12, d6 80cf272: ee0e 2b01 vmla.f64 d2, d14, d1 80cf276: ed10 6b0e vldr d6, [r0, #-56] ; 0xffffffc8 80cf27a: ee0a 2b06 vmla.f64 d2, d10, d6 80cf27e: ee2f 3b01 vmul.f64 d3, d15, d1 80cf282: ed10 6b10 vldr d6, [r0, #-64] ; 0xffffffc0 80cf286: ee0d 3b06 vmla.f64 d3, d13, d6 80cf28a: ed10 6b0e vldr d6, [r0, #-56] ; 0xffffffc8 80cf28e: ee0c 3b06 vmla.f64 d3, d12, d6 80cf292: ee0e 3b02 vmla.f64 d3, d14, d2 80cf296: ed10 6b0c vldr d6, [r0, #-48] ; 0xffffffd0 80cf29a: ee0a 3b06 vmla.f64 d3, d10, d6 80cf29e: ee2f 4b02 vmul.f64 d4, d15, d2 80cf2a2: ed10 6b0e vldr d6, [r0, #-56] ; 0xffffffc8 80cf2a6: ee0d 4b06 vmla.f64 d4, d13, d6 80cf2aa: ed10 6b0c vldr d6, [r0, #-48] ; 0xffffffd0 80cf2ae: ee0c 4b06 vmla.f64 d4, d12, d6 80cf2b2: ee0e 4b03 vmla.f64 d4, d14, d3 80cf2b6: ed10 6b0a vldr d6, [r0, #-40] ; 0xffffffd8 80cf2ba: ee0a 4b06 vmla.f64 d4, d10, d6 80cf2be: ee2f 5b03 vmul.f64 d5, d15, d3 80cf2c2: ed10 6b0c vldr d6, [r0, #-48] ; 0xffffffd0 80cf2c6: ee0d 5b06 vmla.f64 d5, d13, d6 80cf2ca: ed10 6b0a vldr d6, [r0, #-40] ; 0xffffffd8 80cf2ce: ee0c 5b06 vmla.f64 d5, d12, d6 80cf2d2: ed8d 4b02 vstr d4, [sp, #8] 80cf2d6: ee0e 5b04 vmla.f64 d5, d14, d4 80cf2da: ed9d 4b00 vldr d4, [sp] 80cf2de: ee0a 5b04 vmla.f64 d5, d10, d4 80cf2e2: ed8d 5b00 vstr d5, [sp] 80cf2e6: ed9d 6b02 vldr d6, [sp, #8] 80cf2ea: ee2f 6b06 vmul.f64 d6, d15, d6 80cf2ee: ed10 5b0a vldr d5, [r0, #-40] ; 0xffffffd8 80cf2f2: ee0d 6b05 vmla.f64 d6, d13, d5 80cf2f6: ee0c 6b04 vmla.f64 d6, d12, d4 80cf2fa: ed9d 5b04 vldr d5, [sp, #16] 80cf2fe: ed03 5b20 vstr d5, [r3, #-128] ; 0xffffff80 80cf302: ed9d 5b06 vldr d5, [sp, #24] 80cf306: ed03 5b1e vstr d5, [r3, #-120] ; 0xffffff88 80cf30a: ed9d 5b08 vldr d5, [sp, #32] 80cf30e: ed03 5b1c vstr d5, [r3, #-112] ; 0xffffff90 80cf312: ed9d 5b00 vldr d5, [sp] 80cf316: ee0e 6b05 vmla.f64 d6, d14, d5 80cf31a: ed9d 5b0a vldr d5, [sp, #40] ; 0x28 80cf31e: ee0a 6b05 vmla.f64 d6, d10, d5 80cf322: ed03 7b1a vstr d7, [r3, #-104] ; 0xffffff98 80cf326: ed9d 7b00 vldr d7, [sp] 80cf32a: ee2f 7b07 vmul.f64 d7, d15, d7 80cf32e: ee0d 7b04 vmla.f64 d7, d13, d4 80cf332: ee0c 7b05 vmla.f64 d7, d12, d5 80cf336: ed03 bb18 vstr d11, [r3, #-96] ; 0xffffffa0 80cf33a: ed03 9b16 vstr d9, [r3, #-88] ; 0xffffffa8 80cf33e: ed03 8b14 vstr d8, [r3, #-80] ; 0xffffffb0 80cf342: ed03 0b12 vstr d0, [r3, #-72] ; 0xffffffb8 80cf346: ed03 1b10 vstr d1, [r3, #-64] ; 0xffffffc0 80cf34a: ee0e 7b06 vmla.f64 d7, d14, d6 80cf34e: ed9d 4b0c vldr d4, [sp, #48] ; 0x30 80cf352: ee0a 7b04 vmla.f64 d7, d10, d4 80cf356: ed03 2b0e vstr d2, [r3, #-56] ; 0xffffffc8 80cf35a: ee2f 2b06 vmul.f64 d2, d15, d6 80cf35e: ee0d 2b05 vmla.f64 d2, d13, d5 80cf362: ee0c 2b04 vmla.f64 d2, d12, d4 80cf366: ed03 3b0c vstr d3, [r3, #-48] ; 0xffffffd0 80cf36a: ed9d 3b02 vldr d3, [sp, #8] 80cf36e: ed03 3b0a vstr d3, [r3, #-40] ; 0xffffffd8 80cf372: ed9d 5b00 vldr d5, [sp] 80cf376: ed03 5b08 vstr d5, [r3, #-32] ; 0xffffffe0 80cf37a: ed03 6b06 vstr d6, [r3, #-24] ; 0xffffffe8 80cf37e: ee0e 2b07 vmla.f64 d2, d14, d7 80cf382: ed9d 8b0e vldr d8, [sp, #56] ; 0x38 80cf386: ee0a 2b08 vmla.f64 d2, d10, d8 80cf38a: ed03 7b04 vstr d7, [r3, #-16] 80cf38e: ee2f 6b07 vmul.f64 d6, d15, d7 80cf392: ee0d 6b04 vmla.f64 d6, d13, d4 80cf396: ee0c 6b08 vmla.f64 d6, d12, d8 80cf39a: ed03 2b02 vstr d2, [r3, #-8] 80cf39e: ee0e 6b02 vmla.f64 d6, d14, d2 80cf3a2: ee2f 2b02 vmul.f64 d2, d15, d2 80cf3a6: ee0d 2b08 vmla.f64 d2, d13, d8 80cf3aa: 3080 adds r0, #128 ; 0x80 80cf3ac: 3380 adds r3, #128 ; 0x80 80cf3ae: f1be 0e01 subs.w lr, lr, #1 80cf3b2: f47f aed4 bne.w 80cf15e 80cf3b6: eeb0 7b42 vmov.f64 d7, d2 80cf3ba: 4451 add r1, sl 80cf3bc: 4658 mov r0, fp 80cf3be: e000 b.n 80cf3c2 80cf3c0: 4640 mov r0, r8 80cf3c2: 4613 mov r3, r2 80cf3c4: b19a cbz r2, 80cf3ee 80cf3c6: ecb1 5b02 vldmia r1!, {d5} 80cf3ca: ee0a 6b05 vmla.f64 d6, d10, d5 80cf3ce: eeb0 4b46 vmov.f64 d4, d6 80cf3d2: ee0c 7b05 vmla.f64 d7, d12, d5 80cf3d6: eca0 6b02 vstmia r0!, {d6} 80cf3da: ee0e 7b06 vmla.f64 d7, d14, d6 80cf3de: eeb0 6b47 vmov.f64 d6, d7 80cf3e2: ee2f 7b04 vmul.f64 d7, d15, d4 80cf3e6: ee0d 7b05 vmla.f64 d7, d13, d5 80cf3ea: 3b01 subs r3, #1 80cf3ec: d1eb bne.n 80cf3c6 80cf3ee: ed04 6b04 vstr d6, [r4, #-16] 80cf3f2: ed04 7b02 vstr d7, [r4, #-8] 80cf3f6: 3528 adds r5, #40 ; 0x28 80cf3f8: 3610 adds r6, #16 80cf3fa: 4641 mov r1, r8 80cf3fc: 3f01 subs r7, #1 80cf3fe: f47f ae93 bne.w 80cf128 80cf402: b013 add sp, #76 ; 0x4c 80cf404: ecbd 8b10 vpop {d8-d15} 80cf408: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 080cf40c : 80cf40c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80cf410: ea5f 0892 movs.w r8, r2, lsr #2 80cf414: b084 sub sp, #16 80cf416: d07f beq.n 80cf518 80cf418: f100 0420 add.w r4, r0, #32 80cf41c: f101 0510 add.w r5, r1, #16 80cf420: 4646 mov r6, r8 80cf422: 2700 movs r7, #0 80cf424: e05a b.n 80cf4dc 80cf426: eeb1 0ae7 vsqrt.f32 s0, s15 80cf42a: eeb4 0a40 vcmp.f32 s0, s0 80cf42e: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf432: f040 80a4 bne.w 80cf57e 80cf436: ed05 0a04 vstr s0, [r5, #-16] 80cf43a: ed54 7a06 vldr s15, [r4, #-24] ; 0xffffffe8 80cf43e: ed14 0a05 vldr s0, [r4, #-20] ; 0xffffffec 80cf442: ee67 7aa7 vmul.f32 s15, s15, s15 80cf446: ee20 0a00 vmul.f32 s0, s0, s0 80cf44a: ee77 7a80 vadd.f32 s15, s15, s0 80cf44e: eef5 7ac0 vcmpe.f32 s15, #0.0 80cf452: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf456: f2c0 808f blt.w 80cf578 80cf45a: eeb1 0ae7 vsqrt.f32 s0, s15 80cf45e: eeb4 0a40 vcmp.f32 s0, s0 80cf462: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf466: f040 80af bne.w 80cf5c8 80cf46a: ed05 0a03 vstr s0, [r5, #-12] 80cf46e: ed54 7a04 vldr s15, [r4, #-16] 80cf472: ed14 0a03 vldr s0, [r4, #-12] 80cf476: ee67 7aa7 vmul.f32 s15, s15, s15 80cf47a: ee20 0a00 vmul.f32 s0, s0, s0 80cf47e: ee77 7a80 vadd.f32 s15, s15, s0 80cf482: eef5 7ac0 vcmpe.f32 s15, #0.0 80cf486: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf48a: db72 blt.n 80cf572 80cf48c: eeb1 0ae7 vsqrt.f32 s0, s15 80cf490: eeb4 0a40 vcmp.f32 s0, s0 80cf494: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf498: f040 808c bne.w 80cf5b4 80cf49c: ed05 0a02 vstr s0, [r5, #-8] 80cf4a0: ed54 7a02 vldr s15, [r4, #-8] 80cf4a4: ed14 0a01 vldr s0, [r4, #-4] 80cf4a8: ee67 7aa7 vmul.f32 s15, s15, s15 80cf4ac: ee20 0a00 vmul.f32 s0, s0, s0 80cf4b0: ee77 7a80 vadd.f32 s15, s15, s0 80cf4b4: eef5 7ac0 vcmpe.f32 s15, #0.0 80cf4b8: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf4bc: db20 blt.n 80cf500 80cf4be: eeb1 0ae7 vsqrt.f32 s0, s15 80cf4c2: eeb4 0a40 vcmp.f32 s0, s0 80cf4c6: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf4ca: d169 bne.n 80cf5a0 80cf4cc: 3e01 subs r6, #1 80cf4ce: ed05 0a01 vstr s0, [r5, #-4] 80cf4d2: f104 0420 add.w r4, r4, #32 80cf4d6: f105 0510 add.w r5, r5, #16 80cf4da: d019 beq.n 80cf510 80cf4dc: ed54 7a08 vldr s15, [r4, #-32] ; 0xffffffe0 80cf4e0: ed14 0a07 vldr s0, [r4, #-28] ; 0xffffffe4 80cf4e4: ee67 7aa7 vmul.f32 s15, s15, s15 80cf4e8: ee20 0a00 vmul.f32 s0, s0, s0 80cf4ec: ee77 7a80 vadd.f32 s15, s15, s0 80cf4f0: eef5 7ac0 vcmpe.f32 s15, #0.0 80cf4f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf4f8: da95 bge.n 80cf426 80cf4fa: f845 7c10 str.w r7, [r5, #-16] 80cf4fe: e79c b.n 80cf43a 80cf500: 3e01 subs r6, #1 80cf502: f845 7c04 str.w r7, [r5, #-4] 80cf506: f104 0420 add.w r4, r4, #32 80cf50a: f105 0510 add.w r5, r5, #16 80cf50e: d1e5 bne.n 80cf4dc 80cf510: eb00 1048 add.w r0, r0, r8, lsl #5 80cf514: eb01 1108 add.w r1, r1, r8, lsl #4 80cf518: f012 0503 ands.w r5, r2, #3 80cf51c: d026 beq.n 80cf56c 80cf51e: f100 0408 add.w r4, r0, #8 80cf522: 2600 movs r6, #0 80cf524: e00c b.n 80cf540 80cf526: eeb1 0ae7 vsqrt.f32 s0, s15 80cf52a: eeb4 0a40 vcmp.f32 s0, s0 80cf52e: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf532: d12e bne.n 80cf592 80cf534: 3d01 subs r5, #1 80cf536: ed01 0a01 vstr s0, [r1, #-4] 80cf53a: f104 0408 add.w r4, r4, #8 80cf53e: d015 beq.n 80cf56c 80cf540: ed54 7a02 vldr s15, [r4, #-8] 80cf544: 3104 adds r1, #4 80cf546: ed14 0a01 vldr s0, [r4, #-4] 80cf54a: ee67 7aa7 vmul.f32 s15, s15, s15 80cf54e: ee20 0a00 vmul.f32 s0, s0, s0 80cf552: ee77 7a80 vadd.f32 s15, s15, s0 80cf556: eef5 7ac0 vcmpe.f32 s15, #0.0 80cf55a: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf55e: dae2 bge.n 80cf526 80cf560: 3d01 subs r5, #1 80cf562: f841 6c04 str.w r6, [r1, #-4] 80cf566: f104 0408 add.w r4, r4, #8 80cf56a: d1e9 bne.n 80cf540 80cf56c: b004 add sp, #16 80cf56e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80cf572: f845 7c08 str.w r7, [r5, #-8] 80cf576: e793 b.n 80cf4a0 80cf578: f845 7c0c str.w r7, [r5, #-12] 80cf57c: e777 b.n 80cf46e 80cf57e: eeb0 0a67 vmov.f32 s0, s15 80cf582: 9203 str r2, [sp, #12] 80cf584: 9102 str r1, [sp, #8] 80cf586: 9001 str r0, [sp, #4] 80cf588: f000 fe0a bl 80d01a0 80cf58c: a801 add r0, sp, #4 80cf58e: c807 ldmia r0, {r0, r1, r2} 80cf590: e751 b.n 80cf436 80cf592: eeb0 0a67 vmov.f32 s0, s15 80cf596: 9101 str r1, [sp, #4] 80cf598: f000 fe02 bl 80d01a0 80cf59c: 9901 ldr r1, [sp, #4] 80cf59e: e7c9 b.n 80cf534 80cf5a0: eeb0 0a67 vmov.f32 s0, s15 80cf5a4: 9203 str r2, [sp, #12] 80cf5a6: 9102 str r1, [sp, #8] 80cf5a8: 9001 str r0, [sp, #4] 80cf5aa: f000 fdf9 bl 80d01a0 80cf5ae: a801 add r0, sp, #4 80cf5b0: c807 ldmia r0, {r0, r1, r2} 80cf5b2: e78b b.n 80cf4cc 80cf5b4: eeb0 0a67 vmov.f32 s0, s15 80cf5b8: 9203 str r2, [sp, #12] 80cf5ba: 9102 str r1, [sp, #8] 80cf5bc: 9001 str r0, [sp, #4] 80cf5be: f000 fdef bl 80d01a0 80cf5c2: a801 add r0, sp, #4 80cf5c4: c807 ldmia r0, {r0, r1, r2} 80cf5c6: e769 b.n 80cf49c 80cf5c8: eeb0 0a67 vmov.f32 s0, s15 80cf5cc: 9203 str r2, [sp, #12] 80cf5ce: 9102 str r1, [sp, #8] 80cf5d0: 9001 str r0, [sp, #4] 80cf5d2: f000 fde5 bl 80d01a0 80cf5d6: a801 add r0, sp, #4 80cf5d8: c807 ldmia r0, {r0, r1, r2} 80cf5da: e746 b.n 80cf46a 080cf5dc : 80cf5dc: b5f0 push {r4, r5, r6, r7, lr} 80cf5de: ea5f 0e93 movs.w lr, r3, lsr #2 80cf5e2: d033 beq.n 80cf64c 80cf5e4: f100 0610 add.w r6, r0, #16 80cf5e8: f101 0510 add.w r5, r1, #16 80cf5ec: f102 0410 add.w r4, r2, #16 80cf5f0: 4677 mov r7, lr 80cf5f2: ed16 7a03 vldr s14, [r6, #-12] 80cf5f6: 3f01 subs r7, #1 80cf5f8: ed56 7a02 vldr s15, [r6, #-8] 80cf5fc: f105 0510 add.w r5, r5, #16 80cf600: ed15 6a07 vldr s12, [r5, #-28] ; 0xffffffe4 80cf604: f106 0610 add.w r6, r6, #16 80cf608: ed55 6a06 vldr s13, [r5, #-24] ; 0xffffffe8 80cf60c: f104 0410 add.w r4, r4, #16 80cf610: ed15 5a05 vldr s10, [r5, #-20] ; 0xffffffec 80cf614: ee37 6a46 vsub.f32 s12, s14, s12 80cf618: ed55 5a08 vldr s11, [r5, #-32] ; 0xffffffe0 80cf61c: ee77 6ae6 vsub.f32 s13, s15, s13 80cf620: ed16 7a05 vldr s14, [r6, #-20] ; 0xffffffec 80cf624: ed56 7a08 vldr s15, [r6, #-32] ; 0xffffffe0 80cf628: ee37 7a45 vsub.f32 s14, s14, s10 80cf62c: ed04 6a07 vstr s12, [r4, #-28] ; 0xffffffe4 80cf630: ee77 7ae5 vsub.f32 s15, s15, s11 80cf634: ed44 6a06 vstr s13, [r4, #-24] ; 0xffffffe8 80cf638: ed04 7a05 vstr s14, [r4, #-20] ; 0xffffffec 80cf63c: ed44 7a08 vstr s15, [r4, #-32] ; 0xffffffe0 80cf640: d1d7 bne.n 80cf5f2 80cf642: ea4f 140e mov.w r4, lr, lsl #4 80cf646: 4420 add r0, r4 80cf648: 4421 add r1, r4 80cf64a: 4422 add r2, r4 80cf64c: f013 0303 ands.w r3, r3, #3 80cf650: d009 beq.n 80cf666 80cf652: ecf0 7a01 vldmia r0!, {s15} 80cf656: 3b01 subs r3, #1 80cf658: ecb1 7a01 vldmia r1!, {s14} 80cf65c: ee77 7ac7 vsub.f32 s15, s15, s14 80cf660: ece2 7a01 vstmia r2!, {s15} 80cf664: d1f5 bne.n 80cf652 80cf666: bdf0 pop {r4, r5, r6, r7, pc} 080cf668 : 80cf668: b470 push {r4, r5, r6} 80cf66a: 0896 lsrs r6, r2, #2 80cf66c: d025 beq.n 80cf6ba 80cf66e: f100 0410 add.w r4, r0, #16 80cf672: f101 0310 add.w r3, r1, #16 80cf676: 4635 mov r5, r6 80cf678: ed14 6a04 vldr s12, [r4, #-16] 80cf67c: 3d01 subs r5, #1 80cf67e: ed54 6a03 vldr s13, [r4, #-12] 80cf682: f103 0310 add.w r3, r3, #16 80cf686: ed14 7a02 vldr s14, [r4, #-8] 80cf68a: ee26 6a00 vmul.f32 s12, s12, s0 80cf68e: ed54 7a01 vldr s15, [r4, #-4] 80cf692: ee66 6a80 vmul.f32 s13, s13, s0 80cf696: ee27 7a00 vmul.f32 s14, s14, s0 80cf69a: f104 0410 add.w r4, r4, #16 80cf69e: ee67 7a80 vmul.f32 s15, s15, s0 80cf6a2: ed03 6a08 vstr s12, [r3, #-32] ; 0xffffffe0 80cf6a6: ed43 6a07 vstr s13, [r3, #-28] ; 0xffffffe4 80cf6aa: ed03 7a06 vstr s14, [r3, #-24] ; 0xffffffe8 80cf6ae: ed43 7a05 vstr s15, [r3, #-20] ; 0xffffffec 80cf6b2: d1e1 bne.n 80cf678 80cf6b4: 0136 lsls r6, r6, #4 80cf6b6: 4430 add r0, r6 80cf6b8: 4431 add r1, r6 80cf6ba: f012 0203 ands.w r2, r2, #3 80cf6be: d007 beq.n 80cf6d0 80cf6c0: ecf0 7a01 vldmia r0!, {s15} 80cf6c4: 3a01 subs r2, #1 80cf6c6: ee67 7a80 vmul.f32 s15, s15, s0 80cf6ca: ece1 7a01 vstmia r1!, {s15} 80cf6ce: d1f7 bne.n 80cf6c0 80cf6d0: bc70 pop {r4, r5, r6} 80cf6d2: 4770 bx lr 080cf6d4 : 80cf6d4: b470 push {r4, r5, r6} 80cf6d6: 0896 lsrs r6, r2, #2 80cf6d8: d025 beq.n 80cf726 80cf6da: f100 0410 add.w r4, r0, #16 80cf6de: f101 0310 add.w r3, r1, #16 80cf6e2: 4635 mov r5, r6 80cf6e4: ed14 6a04 vldr s12, [r4, #-16] 80cf6e8: 3d01 subs r5, #1 80cf6ea: ed54 6a03 vldr s13, [r4, #-12] 80cf6ee: f103 0310 add.w r3, r3, #16 80cf6f2: ed14 7a02 vldr s14, [r4, #-8] 80cf6f6: ee36 6a00 vadd.f32 s12, s12, s0 80cf6fa: ed54 7a01 vldr s15, [r4, #-4] 80cf6fe: ee76 6a80 vadd.f32 s13, s13, s0 80cf702: ee37 7a00 vadd.f32 s14, s14, s0 80cf706: f104 0410 add.w r4, r4, #16 80cf70a: ee77 7a80 vadd.f32 s15, s15, s0 80cf70e: ed03 6a08 vstr s12, [r3, #-32] ; 0xffffffe0 80cf712: ed43 6a07 vstr s13, [r3, #-28] ; 0xffffffe4 80cf716: ed03 7a06 vstr s14, [r3, #-24] ; 0xffffffe8 80cf71a: ed43 7a05 vstr s15, [r3, #-20] ; 0xffffffec 80cf71e: d1e1 bne.n 80cf6e4 80cf720: 0136 lsls r6, r6, #4 80cf722: 4430 add r0, r6 80cf724: 4431 add r1, r6 80cf726: f012 0203 ands.w r2, r2, #3 80cf72a: d007 beq.n 80cf73c 80cf72c: ecf0 7a01 vldmia r0!, {s15} 80cf730: 3a01 subs r2, #1 80cf732: ee77 7a80 vadd.f32 s15, s15, s0 80cf736: ece1 7a01 vstmia r1!, {s15} 80cf73a: d1f7 bne.n 80cf72c 80cf73c: bc70 pop {r4, r5, r6} 80cf73e: 4770 bx lr 080cf740 : 80cf740: b5f0 push {r4, r5, r6, r7, lr} 80cf742: ea5f 0e93 movs.w lr, r3, lsr #2 80cf746: d033 beq.n 80cf7b0 80cf748: f100 0610 add.w r6, r0, #16 80cf74c: f101 0510 add.w r5, r1, #16 80cf750: f102 0410 add.w r4, r2, #16 80cf754: 4677 mov r7, lr 80cf756: ed16 7a04 vldr s14, [r6, #-16] 80cf75a: 3f01 subs r7, #1 80cf75c: ed15 6a04 vldr s12, [r5, #-16] 80cf760: f106 0610 add.w r6, r6, #16 80cf764: ed56 7a06 vldr s15, [r6, #-24] ; 0xffffffe8 80cf768: f105 0510 add.w r5, r5, #16 80cf76c: ee27 6a06 vmul.f32 s12, s14, s12 80cf770: ed55 6a06 vldr s13, [r5, #-24] ; 0xffffffe8 80cf774: ed16 7a07 vldr s14, [r6, #-28] ; 0xffffffe4 80cf778: f104 0410 add.w r4, r4, #16 80cf77c: ed55 5a07 vldr s11, [r5, #-28] ; 0xffffffe4 80cf780: ee67 6aa6 vmul.f32 s13, s15, s13 80cf784: ed56 7a05 vldr s15, [r6, #-20] ; 0xffffffec 80cf788: ed04 6a08 vstr s12, [r4, #-32] ; 0xffffffe0 80cf78c: ee27 7a25 vmul.f32 s14, s14, s11 80cf790: ed15 6a05 vldr s12, [r5, #-20] ; 0xffffffec 80cf794: ed44 6a06 vstr s13, [r4, #-24] ; 0xffffffe8 80cf798: ee67 7a86 vmul.f32 s15, s15, s12 80cf79c: ed04 7a07 vstr s14, [r4, #-28] ; 0xffffffe4 80cf7a0: ed44 7a05 vstr s15, [r4, #-20] ; 0xffffffec 80cf7a4: d1d7 bne.n 80cf756 80cf7a6: ea4f 140e mov.w r4, lr, lsl #4 80cf7aa: 4420 add r0, r4 80cf7ac: 4421 add r1, r4 80cf7ae: 4422 add r2, r4 80cf7b0: f013 0303 ands.w r3, r3, #3 80cf7b4: d009 beq.n 80cf7ca 80cf7b6: ecf0 7a01 vldmia r0!, {s15} 80cf7ba: 3b01 subs r3, #1 80cf7bc: ecb1 7a01 vldmia r1!, {s14} 80cf7c0: ee67 7a87 vmul.f32 s15, s15, s14 80cf7c4: ece2 7a01 vstmia r2!, {s15} 80cf7c8: d1f5 bne.n 80cf7b6 80cf7ca: bdf0 pop {r4, r5, r6, r7, pc} 080cf7cc : 80cf7cc: b5f0 push {r4, r5, r6, r7, lr} 80cf7ce: ea5f 0e93 movs.w lr, r3, lsr #2 80cf7d2: d033 beq.n 80cf83c 80cf7d4: f100 0610 add.w r6, r0, #16 80cf7d8: f101 0510 add.w r5, r1, #16 80cf7dc: f102 0410 add.w r4, r2, #16 80cf7e0: 4677 mov r7, lr 80cf7e2: ed16 7a03 vldr s14, [r6, #-12] 80cf7e6: 3f01 subs r7, #1 80cf7e8: ed56 7a02 vldr s15, [r6, #-8] 80cf7ec: f105 0510 add.w r5, r5, #16 80cf7f0: ed15 6a07 vldr s12, [r5, #-28] ; 0xffffffe4 80cf7f4: f106 0610 add.w r6, r6, #16 80cf7f8: ed55 6a06 vldr s13, [r5, #-24] ; 0xffffffe8 80cf7fc: f104 0410 add.w r4, r4, #16 80cf800: ed15 5a05 vldr s10, [r5, #-20] ; 0xffffffec 80cf804: ee37 6a06 vadd.f32 s12, s14, s12 80cf808: ed55 5a08 vldr s11, [r5, #-32] ; 0xffffffe0 80cf80c: ee77 6aa6 vadd.f32 s13, s15, s13 80cf810: ed16 7a05 vldr s14, [r6, #-20] ; 0xffffffec 80cf814: ed56 7a08 vldr s15, [r6, #-32] ; 0xffffffe0 80cf818: ee37 7a05 vadd.f32 s14, s14, s10 80cf81c: ed04 6a07 vstr s12, [r4, #-28] ; 0xffffffe4 80cf820: ee77 7aa5 vadd.f32 s15, s15, s11 80cf824: ed44 6a06 vstr s13, [r4, #-24] ; 0xffffffe8 80cf828: ed04 7a05 vstr s14, [r4, #-20] ; 0xffffffec 80cf82c: ed44 7a08 vstr s15, [r4, #-32] ; 0xffffffe0 80cf830: d1d7 bne.n 80cf7e2 80cf832: ea4f 140e mov.w r4, lr, lsl #4 80cf836: 4420 add r0, r4 80cf838: 4421 add r1, r4 80cf83a: 4422 add r2, r4 80cf83c: f013 0303 ands.w r3, r3, #3 80cf840: d009 beq.n 80cf856 80cf842: ecf0 7a01 vldmia r0!, {s15} 80cf846: 3b01 subs r3, #1 80cf848: ecb1 7a01 vldmia r1!, {s14} 80cf84c: ee77 7a87 vadd.f32 s15, s15, s14 80cf850: ece2 7a01 vstmia r2!, {s15} 80cf854: d1f5 bne.n 80cf842 80cf856: bdf0 pop {r4, r5, r6, r7, pc} 080cf858 : 80cf858: f000 b806 b.w 80cf868 080cf85c : 80cf85c: f000 b8fc b.w 80cfa58 080cf860 : 80cf860: f000 b9ca b.w 80cfbf8 080cf864 : 80cf864: f000 ba38 b.w 80cfcd8 080cf868 : 80cf868: b538 push {r3, r4, r5, lr} 80cf86a: eeb0 7b40 vmov.f64 d7, d0 80cf86e: ee17 5a90 vmov r5, s15 80cf872: 4b71 ldr r3, [pc, #452] ; (80cfa38 ) 80cf874: f025 4400 bic.w r4, r5, #2147483648 ; 0x80000000 80cf878: 429c cmp r4, r3 80cf87a: dd14 ble.n 80cf8a6 80cf87c: 4a6f ldr r2, [pc, #444] ; (80cfa3c ) 80cf87e: 4294 cmp r4, r2 80cf880: ee10 3a10 vmov r3, s0 80cf884: dc01 bgt.n 80cf88a 80cf886: d105 bne.n 80cf894 80cf888: b123 cbz r3, 80cf894 80cf88a: ee37 7b07 vadd.f64 d7, d7, d7 80cf88e: eeb0 0b47 vmov.f64 d0, d7 80cf892: bd38 pop {r3, r4, r5, pc} 80cf894: ed9f 7b4c vldr d7, [pc, #304] ; 80cf9c8 80cf898: ed9f 6b4d vldr d6, [pc, #308] ; 80cf9d0 80cf89c: 2d00 cmp r5, #0 80cf89e: bfc8 it gt 80cf8a0: eeb0 7b46 vmovgt.f64 d7, d6 80cf8a4: e7f3 b.n 80cf88e 80cf8a6: 4b66 ldr r3, [pc, #408] ; (80cfa40 ) 80cf8a8: 429c cmp r4, r3 80cf8aa: dc11 bgt.n 80cf8d0 80cf8ac: f1a3 73de sub.w r3, r3, #29097984 ; 0x1bc0000 80cf8b0: 429c cmp r4, r3 80cf8b2: dc0a bgt.n 80cf8ca 80cf8b4: eeb7 5b00 vmov.f64 d5, #112 ; 0x3f800000 1.0 80cf8b8: ed9f 6b47 vldr d6, [pc, #284] ; 80cf9d8 80cf8bc: ee30 6b06 vadd.f64 d6, d0, d6 80cf8c0: eeb4 6bc5 vcmpe.f64 d6, d5 80cf8c4: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf8c8: dce1 bgt.n 80cf88e 80cf8ca: f04f 33ff mov.w r3, #4294967295 80cf8ce: e013 b.n 80cf8f8 80cf8d0: f000 f8fe bl 80cfad0 80cf8d4: 4b5b ldr r3, [pc, #364] ; (80cfa44 ) 80cf8d6: 429c cmp r4, r3 80cf8d8: dc4d bgt.n 80cf976 80cf8da: f5a3 2350 sub.w r3, r3, #851968 ; 0xd0000 80cf8de: 429c cmp r4, r3 80cf8e0: dc3f bgt.n 80cf962 80cf8e2: eeb0 7b00 vmov.f64 d7, #0 ; 0x40000000 2.0 80cf8e6: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80cf8ea: 2300 movs r3, #0 80cf8ec: eea0 6b07 vfma.f64 d6, d0, d7 80cf8f0: ee30 0b07 vadd.f64 d0, d0, d7 80cf8f4: ee86 7b00 vdiv.f64 d7, d6, d0 80cf8f8: ed9f 5b39 vldr d5, [pc, #228] ; 80cf9e0 80cf8fc: ee27 4b07 vmul.f64 d4, d7, d7 80cf900: ee24 6b04 vmul.f64 d6, d4, d4 80cf904: ed9f 3b38 vldr d3, [pc, #224] ; 80cf9e8 80cf908: eea6 3b05 vfma.f64 d3, d6, d5 80cf90c: ed9f 5b38 vldr d5, [pc, #224] ; 80cf9f0 80cf910: eea6 5b03 vfma.f64 d5, d6, d3 80cf914: ed9f 3b38 vldr d3, [pc, #224] ; 80cf9f8 80cf918: eea6 3b05 vfma.f64 d3, d6, d5 80cf91c: ed9f 5b38 vldr d5, [pc, #224] ; 80cfa00 80cf920: eea6 5b03 vfma.f64 d5, d6, d3 80cf924: ed9f 3b38 vldr d3, [pc, #224] ; 80cfa08 80cf928: ed9f 2b39 vldr d2, [pc, #228] ; 80cfa10 80cf92c: eea6 3b05 vfma.f64 d3, d6, d5 80cf930: ed9f 5b39 vldr d5, [pc, #228] ; 80cfa18 80cf934: eea6 2b05 vfma.f64 d2, d6, d5 80cf938: ed9f 5b39 vldr d5, [pc, #228] ; 80cfa20 80cf93c: eea6 5b02 vfma.f64 d5, d6, d2 80cf940: ed9f 2b39 vldr d2, [pc, #228] ; 80cfa28 80cf944: eea6 2b05 vfma.f64 d2, d6, d5 80cf948: ed9f 5b39 vldr d5, [pc, #228] ; 80cfa30 80cf94c: 1c5a adds r2, r3, #1 80cf94e: eea6 5b02 vfma.f64 d5, d6, d2 80cf952: ee25 6b06 vmul.f64 d6, d5, d6 80cf956: ee03 6b04 vmla.f64 d6, d3, d4 80cf95a: d121 bne.n 80cf9a0 80cf95c: eea7 7b46 vfms.f64 d7, d7, d6 80cf960: e795 b.n 80cf88e 80cf962: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80cf966: 2301 movs r3, #1 80cf968: ee30 6b47 vsub.f64 d6, d0, d7 80cf96c: ee30 0b07 vadd.f64 d0, d0, d7 80cf970: ee86 7b00 vdiv.f64 d7, d6, d0 80cf974: e7c0 b.n 80cf8f8 80cf976: 4b34 ldr r3, [pc, #208] ; (80cfa48 ) 80cf978: 429c cmp r4, r3 80cf97a: dc0b bgt.n 80cf994 80cf97c: eeb7 7b08 vmov.f64 d7, #120 ; 0x3fc00000 1.5 80cf980: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 80cf984: ee30 5b47 vsub.f64 d5, d0, d7 80cf988: eea0 6b07 vfma.f64 d6, d0, d7 80cf98c: 2302 movs r3, #2 80cf98e: ee85 7b06 vdiv.f64 d7, d5, d6 80cf992: e7b1 b.n 80cf8f8 80cf994: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80cf998: 2303 movs r3, #3 80cf99a: ee86 7b00 vdiv.f64 d7, d6, d0 80cf99e: e7ab b.n 80cf8f8 80cf9a0: 4a2a ldr r2, [pc, #168] ; (80cfa4c ) 80cf9a2: 492b ldr r1, [pc, #172] ; (80cfa50 ) 80cf9a4: 00db lsls r3, r3, #3 80cf9a6: 441a add r2, r3 80cf9a8: 440b add r3, r1 80cf9aa: ed93 5b00 vldr d5, [r3] 80cf9ae: ee97 5b06 vfnms.f64 d5, d7, d6 80cf9b2: ed92 6b00 vldr d6, [r2] 80cf9b6: ee35 7b47 vsub.f64 d7, d5, d7 80cf9ba: 2d00 cmp r5, #0 80cf9bc: ee36 7b47 vsub.f64 d7, d6, d7 80cf9c0: bfb8 it lt 80cf9c2: eeb1 7b47 vneglt.f64 d7, d7 80cf9c6: e762 b.n 80cf88e 80cf9c8: 54442d18 .word 0x54442d18 80cf9cc: bff921fb .word 0xbff921fb 80cf9d0: 54442d18 .word 0x54442d18 80cf9d4: 3ff921fb .word 0x3ff921fb 80cf9d8: 8800759c .word 0x8800759c 80cf9dc: 7e37e43c .word 0x7e37e43c 80cf9e0: e322da11 .word 0xe322da11 80cf9e4: 3f90ad3a .word 0x3f90ad3a 80cf9e8: 24760deb .word 0x24760deb 80cf9ec: 3fa97b4b .word 0x3fa97b4b 80cf9f0: a0d03d51 .word 0xa0d03d51 80cf9f4: 3fb10d66 .word 0x3fb10d66 80cf9f8: c54c206e .word 0xc54c206e 80cf9fc: 3fb745cd .word 0x3fb745cd 80cfa00: 920083ff .word 0x920083ff 80cfa04: 3fc24924 .word 0x3fc24924 80cfa08: 5555550d .word 0x5555550d 80cfa0c: 3fd55555 .word 0x3fd55555 80cfa10: 52defd9a .word 0x52defd9a 80cfa14: bfadde2d .word 0xbfadde2d 80cfa18: 2c6a6c2f .word 0x2c6a6c2f 80cfa1c: bfa2b444 .word 0xbfa2b444 80cfa20: af749a6d .word 0xaf749a6d 80cfa24: bfb3b0f2 .word 0xbfb3b0f2 80cfa28: fe231671 .word 0xfe231671 80cfa2c: bfbc71c6 .word 0xbfbc71c6 80cfa30: 9998ebc4 .word 0x9998ebc4 80cfa34: bfc99999 .word 0xbfc99999 80cfa38: 440fffff .word 0x440fffff 80cfa3c: 7ff00000 .word 0x7ff00000 80cfa40: 3fdbffff .word 0x3fdbffff 80cfa44: 3ff2ffff .word 0x3ff2ffff 80cfa48: 40037fff .word 0x40037fff 80cfa4c: 0818d040 .word 0x0818d040 80cfa50: 0818d060 .word 0x0818d060 80cfa54: 00000000 .word 0x00000000 080cfa58 : 80cfa58: b51f push {r0, r1, r2, r3, r4, lr} 80cfa5a: eeb0 7b40 vmov.f64 d7, d0 80cfa5e: ee17 3a90 vmov r3, s15 80cfa62: 4a19 ldr r2, [pc, #100] ; (80cfac8 ) 80cfa64: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80cfa68: 4293 cmp r3, r2 80cfa6a: dc04 bgt.n 80cfa76 80cfa6c: ed9f 1b14 vldr d1, [pc, #80] ; 80cfac0 80cfa70: f001 fbfe bl 80d1270 <__kernel_cos> 80cfa74: e004 b.n 80cfa80 80cfa76: 4a15 ldr r2, [pc, #84] ; (80cfacc ) 80cfa78: 4293 cmp r3, r2 80cfa7a: dd04 ble.n 80cfa86 80cfa7c: ee30 0b40 vsub.f64 d0, d0, d0 80cfa80: b005 add sp, #20 80cfa82: f85d fb04 ldr.w pc, [sp], #4 80cfa86: 4668 mov r0, sp 80cfa88: f001 f882 bl 80d0b90 <__ieee754_rem_pio2> 80cfa8c: f000 0003 and.w r0, r0, #3 80cfa90: 2801 cmp r0, #1 80cfa92: ed9d 1b02 vldr d1, [sp, #8] 80cfa96: ed9d 0b00 vldr d0, [sp] 80cfa9a: d007 beq.n 80cfaac 80cfa9c: 2802 cmp r0, #2 80cfa9e: d00a beq.n 80cfab6 80cfaa0: 2800 cmp r0, #0 80cfaa2: d0e5 beq.n 80cfa70 80cfaa4: 2001 movs r0, #1 80cfaa6: f001 fec3 bl 80d1830 <__kernel_sin> 80cfaaa: e7e9 b.n 80cfa80 80cfaac: f001 fec0 bl 80d1830 <__kernel_sin> 80cfab0: eeb1 0b40 vneg.f64 d0, d0 80cfab4: e7e4 b.n 80cfa80 80cfab6: f001 fbdb bl 80d1270 <__kernel_cos> 80cfaba: e7f9 b.n 80cfab0 80cfabc: f3af 8000 nop.w ... 80cfac8: 3fe921fb .word 0x3fe921fb 80cfacc: 7fefffff .word 0x7fefffff 080cfad0 : 80cfad0: ec53 2b10 vmov r2, r3, d0 80cfad4: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80cfad8: ec43 2b10 vmov d0, r2, r3 80cfadc: 4770 bx lr ... 080cfae0 : 80cfae0: b51f push {r0, r1, r2, r3, r4, lr} 80cfae2: eeb0 7b40 vmov.f64 d7, d0 80cfae6: ee17 3a90 vmov r3, s15 80cfaea: 4a13 ldr r2, [pc, #76] ; (80cfb38 ) 80cfaec: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80cfaf0: 4293 cmp r3, r2 80cfaf2: dc05 bgt.n 80cfb00 80cfaf4: ed9f 1b0e vldr d1, [pc, #56] ; 80cfb30 80cfaf8: 2001 movs r0, #1 80cfafa: f001 fef1 bl 80d18e0 <__kernel_tan> 80cfafe: e004 b.n 80cfb0a 80cfb00: 4a0e ldr r2, [pc, #56] ; (80cfb3c ) 80cfb02: 4293 cmp r3, r2 80cfb04: dd04 ble.n 80cfb10 80cfb06: ee30 0b40 vsub.f64 d0, d0, d0 80cfb0a: b005 add sp, #20 80cfb0c: f85d fb04 ldr.w pc, [sp], #4 80cfb10: 4668 mov r0, sp 80cfb12: f001 f83d bl 80d0b90 <__ieee754_rem_pio2> 80cfb16: 0040 lsls r0, r0, #1 80cfb18: f000 0002 and.w r0, r0, #2 80cfb1c: f1c0 0001 rsb r0, r0, #1 80cfb20: ed9d 1b02 vldr d1, [sp, #8] 80cfb24: ed9d 0b00 vldr d0, [sp] 80cfb28: e7e7 b.n 80cfafa 80cfb2a: bf00 nop 80cfb2c: f3af 8000 nop.w ... 80cfb38: 3fe921fb .word 0x3fe921fb 80cfb3c: 7fefffff .word 0x7fefffff 080cfb40 : 80cfb40: b508 push {r3, lr} 80cfb42: f000 fa49 bl 80cffd8 80cfb46: eddf 7a02 vldr s15, [pc, #8] ; 80cfb50 80cfb4a: ee80 0a27 vdiv.f32 s0, s0, s15 80cfb4e: bd08 pop {r3, pc} 80cfb50: 3f317218 .word 0x3f317218 080cfb54 : 80cfb54: ee10 2a10 vmov r2, s0 80cfb58: f3c2 51c7 ubfx r1, r2, #23, #8 80cfb5c: 397f subs r1, #127 ; 0x7f 80cfb5e: 2916 cmp r1, #22 80cfb60: b510 push {r4, lr} 80cfb62: ee10 3a10 vmov r3, s0 80cfb66: dc0c bgt.n 80cfb82 80cfb68: 2900 cmp r1, #0 80cfb6a: da05 bge.n 80cfb78 80cfb6c: f002 4300 and.w r3, r2, #2147483648 ; 0x80000000 80cfb70: 6003 str r3, [r0, #0] 80cfb72: ee00 2a10 vmov s0, r2 80cfb76: bd10 pop {r4, pc} 80cfb78: 4c09 ldr r4, [pc, #36] ; (80cfba0 ) 80cfb7a: fa44 f101 asr.w r1, r4, r1 80cfb7e: 420a tst r2, r1 80cfb80: d103 bne.n 80cfb8a 80cfb82: 6002 str r2, [r0, #0] 80cfb84: f003 4200 and.w r2, r3, #2147483648 ; 0x80000000 80cfb88: e7f3 b.n 80cfb72 80cfb8a: ea22 0301 bic.w r3, r2, r1 80cfb8e: ee07 3a10 vmov s14, r3 80cfb92: ee70 7a47 vsub.f32 s15, s0, s14 80cfb96: 6003 str r3, [r0, #0] 80cfb98: ee17 2a90 vmov r2, s15 80cfb9c: e7e9 b.n 80cfb72 80cfb9e: bf00 nop 80cfba0: 007fffff .word 0x007fffff 080cfba4 : 80cfba4: ee10 0a10 vmov r0, s0 80cfba8: f3c0 53c7 ubfx r3, r0, #23, #8 80cfbac: f1a3 027f sub.w r2, r3, #127 ; 0x7f 80cfbb0: 2a16 cmp r2, #22 80cfbb2: dc15 bgt.n 80cfbe0 80cfbb4: 2a00 cmp r2, #0 80cfbb6: da08 bge.n 80cfbca 80cfbb8: 3201 adds r2, #1 80cfbba: f000 4300 and.w r3, r0, #2147483648 ; 0x80000000 80cfbbe: d101 bne.n 80cfbc4 80cfbc0: f043 537e orr.w r3, r3, #1065353216 ; 0x3f800000 80cfbc4: ee00 3a10 vmov s0, r3 80cfbc8: 4770 bx lr 80cfbca: 4908 ldr r1, [pc, #32] ; (80cfbec ) 80cfbcc: 4111 asrs r1, r2 80cfbce: 4208 tst r0, r1 80cfbd0: d0fa beq.n 80cfbc8 80cfbd2: f44f 0380 mov.w r3, #4194304 ; 0x400000 80cfbd6: 4113 asrs r3, r2 80cfbd8: 4403 add r3, r0 80cfbda: ea23 0301 bic.w r3, r3, r1 80cfbde: e7f1 b.n 80cfbc4 80cfbe0: 2a80 cmp r2, #128 ; 0x80 80cfbe2: d1f1 bne.n 80cfbc8 80cfbe4: ee30 0a00 vadd.f32 s0, s0, s0 80cfbe8: 4770 bx lr 80cfbea: bf00 nop 80cfbec: 007fffff .word 0x007fffff 080cfbf0 : 80cfbf0: f002 b91a b.w 80d1e28 080cfbf4 : 80cfbf4: f000 b9a4 b.w 80cff40 080cfbf8 : 80cfbf8: b500 push {lr} 80cfbfa: ed2d 8b02 vpush {d8} 80cfbfe: eeb0 8b40 vmov.f64 d8, d0 80cfc02: b08b sub sp, #44 ; 0x2c 80cfc04: f000 fb1c bl 80d0240 <__ieee754_log> 80cfc08: 4b2d ldr r3, [pc, #180] ; (80cfcc0 ) 80cfc0a: f993 3000 ldrsb.w r3, [r3] 80cfc0e: 1c5a adds r2, r3, #1 80cfc10: d051 beq.n 80cfcb6 80cfc12: eeb4 8b48 vcmp.f64 d8, d8 80cfc16: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfc1a: d64c bvs.n 80cfcb6 80cfc1c: eeb5 8bc0 vcmpe.f64 d8, #0.0 80cfc20: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfc24: dc47 bgt.n 80cfcb6 80cfc26: 4a27 ldr r2, [pc, #156] ; (80cfcc4 ) 80cfc28: 9201 str r2, [sp, #4] 80cfc2a: 2200 movs r2, #0 80cfc2c: 9208 str r2, [sp, #32] 80cfc2e: ed8d 8b02 vstr d8, [sp, #8] 80cfc32: ed8d 8b04 vstr d8, [sp, #16] 80cfc36: b993 cbnz r3, 80cfc5e 80cfc38: eeb5 8b40 vcmp.f64 d8, #0.0 80cfc3c: 4922 ldr r1, [pc, #136] ; (80cfcc8 ) 80cfc3e: f04f 4060 mov.w r0, #3758096384 ; 0xe0000000 80cfc42: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfc46: e9cd 0106 strd r0, r1, [sp, #24] 80cfc4a: d025 beq.n 80cfc98 80cfc4c: 2201 movs r2, #1 80cfc4e: 2b02 cmp r3, #2 80cfc50: 9200 str r2, [sp, #0] 80cfc52: d116 bne.n 80cfc82 80cfc54: f002 f938 bl 80d1ec8 <__errno> 80cfc58: 2321 movs r3, #33 ; 0x21 80cfc5a: 6003 str r3, [r0, #0] 80cfc5c: e016 b.n 80cfc8c 80cfc5e: 491b ldr r1, [pc, #108] ; (80cfccc ) 80cfc60: eeb5 8b40 vcmp.f64 d8, #0.0 80cfc64: 2000 movs r0, #0 80cfc66: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfc6a: e9cd 0106 strd r0, r1, [sp, #24] 80cfc6e: d1ed bne.n 80cfc4c 80cfc70: 2202 movs r2, #2 80cfc72: 4293 cmp r3, r2 80cfc74: 9200 str r2, [sp, #0] 80cfc76: d111 bne.n 80cfc9c 80cfc78: f002 f926 bl 80d1ec8 <__errno> 80cfc7c: 2322 movs r3, #34 ; 0x22 80cfc7e: 6003 str r3, [r0, #0] 80cfc80: e011 b.n 80cfca6 80cfc82: 4668 mov r0, sp 80cfc84: f001 ffb8 bl 80d1bf8 80cfc88: 2800 cmp r0, #0 80cfc8a: d0e3 beq.n 80cfc54 80cfc8c: 4810 ldr r0, [pc, #64] ; (80cfcd0 ) 80cfc8e: f001 ffb7 bl 80d1c00 80cfc92: ed8d 0b06 vstr d0, [sp, #24] 80cfc96: e006 b.n 80cfca6 80cfc98: 2302 movs r3, #2 80cfc9a: 9300 str r3, [sp, #0] 80cfc9c: 4668 mov r0, sp 80cfc9e: f001 ffab bl 80d1bf8 80cfca2: 2800 cmp r0, #0 80cfca4: d0e8 beq.n 80cfc78 80cfca6: 9b08 ldr r3, [sp, #32] 80cfca8: b11b cbz r3, 80cfcb2 80cfcaa: f002 f90d bl 80d1ec8 <__errno> 80cfcae: 9b08 ldr r3, [sp, #32] 80cfcb0: 6003 str r3, [r0, #0] 80cfcb2: ed9d 0b06 vldr d0, [sp, #24] 80cfcb6: b00b add sp, #44 ; 0x2c 80cfcb8: ecbd 8b02 vpop {d8} 80cfcbc: f85d fb04 ldr.w pc, [sp], #4 80cfcc0: 20020b50 .word 0x20020b50 80cfcc4: 0818d080 .word 0x0818d080 80cfcc8: c7efffff .word 0xc7efffff 80cfccc: fff00000 .word 0xfff00000 80cfcd0: 0818d4b1 .word 0x0818d4b1 80cfcd4: 00000000 .word 0x00000000 080cfcd8 : 80cfcd8: b570 push {r4, r5, r6, lr} 80cfcda: ed2d 8b0a vpush {d8-d12} 80cfcde: eeb0 9b40 vmov.f64 d9, d0 80cfce2: eeb0 8b41 vmov.f64 d8, d1 80cfce6: 4c8e ldr r4, [pc, #568] ; (80cff20 ) 80cfce8: b08a sub sp, #40 ; 0x28 80cfcea: f000 fbc9 bl 80d0480 <__ieee754_pow> 80cfcee: f994 3000 ldrsb.w r3, [r4] 80cfcf2: eeb0 ab40 vmov.f64 d10, d0 80cfcf6: 1c5a adds r2, r3, #1 80cfcf8: 4626 mov r6, r4 80cfcfa: d04b beq.n 80cfd94 80cfcfc: eeb4 8b48 vcmp.f64 d8, d8 80cfd00: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfd04: d646 bvs.n 80cfd94 80cfd06: eeb4 9b49 vcmp.f64 d9, d9 80cfd0a: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfd0e: d719 bvc.n 80cfd44 80cfd10: eeb5 8b40 vcmp.f64 d8, #0.0 80cfd14: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfd18: d13c bne.n 80cfd94 80cfd1a: 2201 movs r2, #1 80cfd1c: 9200 str r2, [sp, #0] 80cfd1e: 4981 ldr r1, [pc, #516] ; (80cff24 ) 80cfd20: 4a81 ldr r2, [pc, #516] ; (80cff28 ) 80cfd22: 9201 str r2, [sp, #4] 80cfd24: 2000 movs r0, #0 80cfd26: 2200 movs r2, #0 80cfd28: 2b02 cmp r3, #2 80cfd2a: 9208 str r2, [sp, #32] 80cfd2c: ed8d 9b02 vstr d9, [sp, #8] 80cfd30: ed8d 8b04 vstr d8, [sp, #16] 80cfd34: e9cd 0106 strd r0, r1, [sp, #24] 80cfd38: d02a beq.n 80cfd90 80cfd3a: 4668 mov r0, sp 80cfd3c: f001 ff5c bl 80d1bf8 80cfd40: bb00 cbnz r0, 80cfd84 80cfd42: e04e b.n 80cfde2 80cfd44: ed9f bb74 vldr d11, [pc, #464] ; 80cff18 80cfd48: eeb4 9b4b vcmp.f64 d9, d11 80cfd4c: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfd50: eeb0 cb4b vmov.f64 d12, d11 80cfd54: d14a bne.n 80cfdec 80cfd56: eeb4 8b4b vcmp.f64 d8, d11 80cfd5a: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfd5e: d11f bne.n 80cfda0 80cfd60: 2201 movs r2, #1 80cfd62: 9200 str r2, [sp, #0] 80cfd64: 4a70 ldr r2, [pc, #448] ; (80cff28 ) 80cfd66: 9201 str r2, [sp, #4] 80cfd68: 2200 movs r2, #0 80cfd6a: 9208 str r2, [sp, #32] 80cfd6c: ed8d 9b02 vstr d9, [sp, #8] 80cfd70: ed8d 8b04 vstr d8, [sp, #16] 80cfd74: ed8d bb06 vstr d11, [sp, #24] 80cfd78: 2b00 cmp r3, #0 80cfd7a: d0de beq.n 80cfd3a 80cfd7c: 4b69 ldr r3, [pc, #420] ; (80cff24 ) 80cfd7e: 2200 movs r2, #0 80cfd80: e9cd 2306 strd r2, r3, [sp, #24] 80cfd84: 9b08 ldr r3, [sp, #32] 80cfd86: b11b cbz r3, 80cfd90 80cfd88: f002 f89e bl 80d1ec8 <__errno> 80cfd8c: 9b08 ldr r3, [sp, #32] 80cfd8e: 6003 str r3, [r0, #0] 80cfd90: ed9d ab06 vldr d10, [sp, #24] 80cfd94: eeb0 0b4a vmov.f64 d0, d10 80cfd98: b00a add sp, #40 ; 0x28 80cfd9a: ecbd 8b0a vpop {d8-d12} 80cfd9e: bd70 pop {r4, r5, r6, pc} 80cfda0: eeb0 0b48 vmov.f64 d0, d8 80cfda4: f001 fea8 bl 80d1af8 80cfda8: 2800 cmp r0, #0 80cfdaa: d0f3 beq.n 80cfd94 80cfdac: eeb5 8bc0 vcmpe.f64 d8, #0.0 80cfdb0: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfdb4: d5ee bpl.n 80cfd94 80cfdb6: 2301 movs r3, #1 80cfdb8: 9300 str r3, [sp, #0] 80cfdba: 4b5b ldr r3, [pc, #364] ; (80cff28 ) 80cfdbc: 9301 str r3, [sp, #4] 80cfdbe: 2300 movs r3, #0 80cfdc0: 9308 str r3, [sp, #32] 80cfdc2: f994 3000 ldrsb.w r3, [r4] 80cfdc6: ed8d 9b02 vstr d9, [sp, #8] 80cfdca: ed8d 8b04 vstr d8, [sp, #16] 80cfdce: b913 cbnz r3, 80cfdd6 80cfdd0: ed8d bb06 vstr d11, [sp, #24] 80cfdd4: e7b1 b.n 80cfd3a 80cfdd6: 4955 ldr r1, [pc, #340] ; (80cff2c ) 80cfdd8: 2000 movs r0, #0 80cfdda: e9cd 0106 strd r0, r1, [sp, #24] 80cfdde: 2b02 cmp r3, #2 80cfde0: d1ab bne.n 80cfd3a 80cfde2: f002 f871 bl 80d1ec8 <__errno> 80cfde6: 2321 movs r3, #33 ; 0x21 80cfde8: 6003 str r3, [r0, #0] 80cfdea: e7cb b.n 80cfd84 80cfdec: f001 fe84 bl 80d1af8 80cfdf0: 4605 mov r5, r0 80cfdf2: 2800 cmp r0, #0 80cfdf4: d168 bne.n 80cfec8 80cfdf6: eeb0 0b49 vmov.f64 d0, d9 80cfdfa: f001 fe7d bl 80d1af8 80cfdfe: 2800 cmp r0, #0 80cfe00: d062 beq.n 80cfec8 80cfe02: eeb0 0b48 vmov.f64 d0, d8 80cfe06: f001 fe77 bl 80d1af8 80cfe0a: 2800 cmp r0, #0 80cfe0c: d05c beq.n 80cfec8 80cfe0e: eeb4 ab4a vcmp.f64 d10, d10 80cfe12: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfe16: f994 3000 ldrsb.w r3, [r4] 80cfe1a: 4a43 ldr r2, [pc, #268] ; (80cff28 ) 80cfe1c: d70e bvc.n 80cfe3c 80cfe1e: 2101 movs r1, #1 80cfe20: e88d 0006 stmia.w sp, {r1, r2} 80cfe24: 9508 str r5, [sp, #32] 80cfe26: ed8d 9b02 vstr d9, [sp, #8] 80cfe2a: ed8d 8b04 vstr d8, [sp, #16] 80cfe2e: 2b00 cmp r3, #0 80cfe30: d0ce beq.n 80cfdd0 80cfe32: ee8b 7b0b vdiv.f64 d7, d11, d11 80cfe36: ed8d 7b06 vstr d7, [sp, #24] 80cfe3a: e7d0 b.n 80cfdde 80cfe3c: 2103 movs r1, #3 80cfe3e: e88d 0006 stmia.w sp, {r1, r2} 80cfe42: 9508 str r5, [sp, #32] 80cfe44: ed8d 9b02 vstr d9, [sp, #8] 80cfe48: ed8d 8b04 vstr d8, [sp, #16] 80cfe4c: bb1b cbnz r3, 80cfe96 80cfe4e: eeb5 9bc0 vcmpe.f64 d9, #0.0 80cfe52: 4b37 ldr r3, [pc, #220] ; (80cff30 ) 80cfe54: f04f 4260 mov.w r2, #3758096384 ; 0xe0000000 80cfe58: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfe5c: e9cd 2306 strd r2, r3, [sp, #24] 80cfe60: d553 bpl.n 80cff0a 80cfe62: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80cfe66: ee28 8b07 vmul.f64 d8, d8, d7 80cfe6a: eeb0 0b48 vmov.f64 d0, d8 80cfe6e: f001 fecf bl 80d1c10 80cfe72: eeb4 8b40 vcmp.f64 d8, d0 80cfe76: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfe7a: d004 beq.n 80cfe86 80cfe7c: 4b2d ldr r3, [pc, #180] ; (80cff34 ) 80cfe7e: f04f 4260 mov.w r2, #3758096384 ; 0xe0000000 80cfe82: e9cd 2306 strd r2, r3, [sp, #24] 80cfe86: f996 3000 ldrsb.w r3, [r6] 80cfe8a: 2b02 cmp r3, #2 80cfe8c: d13d bne.n 80cff0a 80cfe8e: f002 f81b bl 80d1ec8 <__errno> 80cfe92: 2322 movs r3, #34 ; 0x22 80cfe94: e7a8 b.n 80cfde8 80cfe96: 4b28 ldr r3, [pc, #160] ; (80cff38 ) 80cfe98: eeb5 9bc0 vcmpe.f64 d9, #0.0 80cfe9c: 2200 movs r2, #0 80cfe9e: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfea2: e9cd 2306 strd r2, r3, [sp, #24] 80cfea6: d5ee bpl.n 80cfe86 80cfea8: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80cfeac: ee28 8b07 vmul.f64 d8, d8, d7 80cfeb0: eeb0 0b48 vmov.f64 d0, d8 80cfeb4: f001 feac bl 80d1c10 80cfeb8: eeb4 8b40 vcmp.f64 d8, d0 80cfebc: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfec0: d0e1 beq.n 80cfe86 80cfec2: 2200 movs r2, #0 80cfec4: 4b19 ldr r3, [pc, #100] ; (80cff2c ) 80cfec6: e7dc b.n 80cfe82 80cfec8: eeb5 ab40 vcmp.f64 d10, #0.0 80cfecc: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfed0: f47f af60 bne.w 80cfd94 80cfed4: eeb0 0b49 vmov.f64 d0, d9 80cfed8: f001 fe0e bl 80d1af8 80cfedc: 2800 cmp r0, #0 80cfede: f43f af59 beq.w 80cfd94 80cfee2: eeb0 0b48 vmov.f64 d0, d8 80cfee6: f001 fe07 bl 80d1af8 80cfeea: 2800 cmp r0, #0 80cfeec: f43f af52 beq.w 80cfd94 80cfef0: 2304 movs r3, #4 80cfef2: 9300 str r3, [sp, #0] 80cfef4: 4b0c ldr r3, [pc, #48] ; (80cff28 ) 80cfef6: 9301 str r3, [sp, #4] 80cfef8: 2300 movs r3, #0 80cfefa: 9308 str r3, [sp, #32] 80cfefc: ed8d 9b02 vstr d9, [sp, #8] 80cff00: ed8d 8b04 vstr d8, [sp, #16] 80cff04: ed8d cb06 vstr d12, [sp, #24] 80cff08: e7bd b.n 80cfe86 80cff0a: 4668 mov r0, sp 80cff0c: f001 fe74 bl 80d1bf8 80cff10: 2800 cmp r0, #0 80cff12: f47f af37 bne.w 80cfd84 80cff16: e7ba b.n 80cfe8e ... 80cff20: 20020b50 .word 0x20020b50 80cff24: 3ff00000 .word 0x3ff00000 80cff28: 0818d084 .word 0x0818d084 80cff2c: fff00000 .word 0xfff00000 80cff30: 47efffff .word 0x47efffff 80cff34: c7efffff .word 0xc7efffff 80cff38: 7ff00000 .word 0x7ff00000 80cff3c: 00000000 .word 0x00000000 080cff40 : 80cff40: b500 push {lr} 80cff42: ed2d 8b02 vpush {d8} 80cff46: eeb0 8b40 vmov.f64 d8, d0 80cff4a: b08b sub sp, #44 ; 0x2c 80cff4c: f000 ff60 bl 80d0e10 <__ieee754_sqrt> 80cff50: 4b1f ldr r3, [pc, #124] ; (80cffd0 ) 80cff52: f993 3000 ldrsb.w r3, [r3] 80cff56: 1c5a adds r2, r3, #1 80cff58: d024 beq.n 80cffa4 80cff5a: eeb4 8b48 vcmp.f64 d8, d8 80cff5e: eef1 fa10 vmrs APSR_nzcv, fpscr 80cff62: d61f bvs.n 80cffa4 80cff64: ed9f 7b18 vldr d7, [pc, #96] ; 80cffc8 80cff68: eeb4 8bc7 vcmpe.f64 d8, d7 80cff6c: eef1 fa10 vmrs APSR_nzcv, fpscr 80cff70: d518 bpl.n 80cffa4 80cff72: 2201 movs r2, #1 80cff74: 9200 str r2, [sp, #0] 80cff76: 4a17 ldr r2, [pc, #92] ; (80cffd4 ) 80cff78: 9201 str r2, [sp, #4] 80cff7a: 2200 movs r2, #0 80cff7c: 9208 str r2, [sp, #32] 80cff7e: ed8d 8b04 vstr d8, [sp, #16] 80cff82: ed8d 8b02 vstr d8, [sp, #8] 80cff86: b993 cbnz r3, 80cffae 80cff88: ed8d 7b06 vstr d7, [sp, #24] 80cff8c: 4668 mov r0, sp 80cff8e: f001 fe33 bl 80d1bf8 80cff92: b190 cbz r0, 80cffba 80cff94: 9b08 ldr r3, [sp, #32] 80cff96: b11b cbz r3, 80cffa0 80cff98: f001 ff96 bl 80d1ec8 <__errno> 80cff9c: 9b08 ldr r3, [sp, #32] 80cff9e: 6003 str r3, [r0, #0] 80cffa0: ed9d 0b06 vldr d0, [sp, #24] 80cffa4: b00b add sp, #44 ; 0x2c 80cffa6: ecbd 8b02 vpop {d8} 80cffaa: f85d fb04 ldr.w pc, [sp], #4 80cffae: 2b02 cmp r3, #2 80cffb0: ee87 6b07 vdiv.f64 d6, d7, d7 80cffb4: ed8d 6b06 vstr d6, [sp, #24] 80cffb8: d1e8 bne.n 80cff8c 80cffba: f001 ff85 bl 80d1ec8 <__errno> 80cffbe: 2321 movs r3, #33 ; 0x21 80cffc0: 6003 str r3, [r0, #0] 80cffc2: e7e7 b.n 80cff94 80cffc4: f3af 8000 nop.w ... 80cffd0: 20020b50 .word 0x20020b50 80cffd4: 0818d088 .word 0x0818d088 080cffd8 : 80cffd8: b500 push {lr} 80cffda: ed2d 8b02 vpush {d8} 80cffde: b08b sub sp, #44 ; 0x2c 80cffe0: eeb0 8a40 vmov.f32 s16, s0 80cffe4: f000 ffb2 bl 80d0f4c <__ieee754_logf> 80cffe8: 4b2f ldr r3, [pc, #188] ; (80d00a8 ) 80cffea: f993 3000 ldrsb.w r3, [r3] 80cffee: 1c5a adds r2, r3, #1 80cfff0: d055 beq.n 80d009e 80cfff2: eeb4 8a48 vcmp.f32 s16, s16 80cfff6: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfffa: d650 bvs.n 80d009e 80cfffc: eeb5 8ac0 vcmpe.f32 s16, #0.0 80d0000: eef1 fa10 vmrs APSR_nzcv, fpscr 80d0004: dc4b bgt.n 80d009e 80d0006: 4a29 ldr r2, [pc, #164] ; (80d00ac ) 80d0008: 9201 str r2, [sp, #4] 80d000a: eeb7 7ac8 vcvt.f64.f32 d7, s16 80d000e: 2200 movs r2, #0 80d0010: 9208 str r2, [sp, #32] 80d0012: ed8d 7b04 vstr d7, [sp, #16] 80d0016: ed8d 7b02 vstr d7, [sp, #8] 80d001a: b993 cbnz r3, 80d0042 80d001c: 4924 ldr r1, [pc, #144] ; (80d00b0 ) 80d001e: eeb5 8a40 vcmp.f32 s16, #0.0 80d0022: f04f 4060 mov.w r0, #3758096384 ; 0xe0000000 80d0026: eef1 fa10 vmrs APSR_nzcv, fpscr 80d002a: e9cd 0106 strd r0, r1, [sp, #24] 80d002e: d025 beq.n 80d007c 80d0030: 2201 movs r2, #1 80d0032: 2b02 cmp r3, #2 80d0034: 9200 str r2, [sp, #0] 80d0036: d116 bne.n 80d0066 80d0038: f001 ff46 bl 80d1ec8 <__errno> 80d003c: 2321 movs r3, #33 ; 0x21 80d003e: 6003 str r3, [r0, #0] 80d0040: e016 b.n 80d0070 80d0042: 491c ldr r1, [pc, #112] ; (80d00b4 ) 80d0044: eeb5 8a40 vcmp.f32 s16, #0.0 80d0048: 2000 movs r0, #0 80d004a: eef1 fa10 vmrs APSR_nzcv, fpscr 80d004e: e9cd 0106 strd r0, r1, [sp, #24] 80d0052: d1ed bne.n 80d0030 80d0054: 2202 movs r2, #2 80d0056: 4293 cmp r3, r2 80d0058: 9200 str r2, [sp, #0] 80d005a: d111 bne.n 80d0080 80d005c: f001 ff34 bl 80d1ec8 <__errno> 80d0060: 2322 movs r3, #34 ; 0x22 80d0062: 6003 str r3, [r0, #0] 80d0064: e011 b.n 80d008a 80d0066: 4668 mov r0, sp 80d0068: f001 fdc6 bl 80d1bf8 80d006c: 2800 cmp r0, #0 80d006e: d0e3 beq.n 80d0038 80d0070: 4811 ldr r0, [pc, #68] ; (80d00b8 ) 80d0072: f001 fdc5 bl 80d1c00 80d0076: ed8d 0b06 vstr d0, [sp, #24] 80d007a: e006 b.n 80d008a 80d007c: 2302 movs r3, #2 80d007e: 9300 str r3, [sp, #0] 80d0080: 4668 mov r0, sp 80d0082: f001 fdb9 bl 80d1bf8 80d0086: 2800 cmp r0, #0 80d0088: d0e8 beq.n 80d005c 80d008a: 9b08 ldr r3, [sp, #32] 80d008c: b11b cbz r3, 80d0096 80d008e: f001 ff1b bl 80d1ec8 <__errno> 80d0092: 9b08 ldr r3, [sp, #32] 80d0094: 6003 str r3, [r0, #0] 80d0096: ed9d 0b06 vldr d0, [sp, #24] 80d009a: eeb7 0bc0 vcvt.f32.f64 s0, d0 80d009e: b00b add sp, #44 ; 0x2c 80d00a0: ecbd 8b02 vpop {d8} 80d00a4: f85d fb04 ldr.w pc, [sp], #4 80d00a8: 20020b50 .word 0x20020b50 80d00ac: 0818d08d .word 0x0818d08d 80d00b0: c7efffff .word 0xc7efffff 80d00b4: fff00000 .word 0xfff00000 80d00b8: 0818d4b1 .word 0x0818d4b1 080d00bc : 80d00bc: b500 push {lr} 80d00be: ed2d 8b02 vpush {d8} 80d00c2: b08b sub sp, #44 ; 0x2c 80d00c4: eeb0 8a40 vmov.f32 s16, s0 80d00c8: f001 f832 bl 80d1130 <__ieee754_log10f> 80d00cc: 4b2f ldr r3, [pc, #188] ; (80d018c ) 80d00ce: f993 3000 ldrsb.w r3, [r3] 80d00d2: 1c5a adds r2, r3, #1 80d00d4: d055 beq.n 80d0182 80d00d6: eeb4 8a48 vcmp.f32 s16, s16 80d00da: eef1 fa10 vmrs APSR_nzcv, fpscr 80d00de: d650 bvs.n 80d0182 80d00e0: eeb5 8ac0 vcmpe.f32 s16, #0.0 80d00e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80d00e8: d84b bhi.n 80d0182 80d00ea: 4a29 ldr r2, [pc, #164] ; (80d0190 ) 80d00ec: 9201 str r2, [sp, #4] 80d00ee: eeb7 7ac8 vcvt.f64.f32 d7, s16 80d00f2: 2200 movs r2, #0 80d00f4: 9208 str r2, [sp, #32] 80d00f6: ed8d 7b04 vstr d7, [sp, #16] 80d00fa: ed8d 7b02 vstr d7, [sp, #8] 80d00fe: b993 cbnz r3, 80d0126 80d0100: 4924 ldr r1, [pc, #144] ; (80d0194 ) 80d0102: eeb5 8a40 vcmp.f32 s16, #0.0 80d0106: f04f 4060 mov.w r0, #3758096384 ; 0xe0000000 80d010a: eef1 fa10 vmrs APSR_nzcv, fpscr 80d010e: e9cd 0106 strd r0, r1, [sp, #24] 80d0112: d025 beq.n 80d0160 80d0114: 2201 movs r2, #1 80d0116: 2b02 cmp r3, #2 80d0118: 9200 str r2, [sp, #0] 80d011a: d116 bne.n 80d014a 80d011c: f001 fed4 bl 80d1ec8 <__errno> 80d0120: 2321 movs r3, #33 ; 0x21 80d0122: 6003 str r3, [r0, #0] 80d0124: e016 b.n 80d0154 80d0126: 491c ldr r1, [pc, #112] ; (80d0198 ) 80d0128: eeb5 8a40 vcmp.f32 s16, #0.0 80d012c: 2000 movs r0, #0 80d012e: eef1 fa10 vmrs APSR_nzcv, fpscr 80d0132: e9cd 0106 strd r0, r1, [sp, #24] 80d0136: d1ed bne.n 80d0114 80d0138: 2202 movs r2, #2 80d013a: 4293 cmp r3, r2 80d013c: 9200 str r2, [sp, #0] 80d013e: d111 bne.n 80d0164 80d0140: f001 fec2 bl 80d1ec8 <__errno> 80d0144: 2322 movs r3, #34 ; 0x22 80d0146: 6003 str r3, [r0, #0] 80d0148: e011 b.n 80d016e 80d014a: 4668 mov r0, sp 80d014c: f001 fd54 bl 80d1bf8 80d0150: 2800 cmp r0, #0 80d0152: d0e3 beq.n 80d011c 80d0154: 4811 ldr r0, [pc, #68] ; (80d019c ) 80d0156: f001 fd53 bl 80d1c00 80d015a: ed8d 0b06 vstr d0, [sp, #24] 80d015e: e006 b.n 80d016e 80d0160: 2302 movs r3, #2 80d0162: 9300 str r3, [sp, #0] 80d0164: 4668 mov r0, sp 80d0166: f001 fd47 bl 80d1bf8 80d016a: 2800 cmp r0, #0 80d016c: d0e8 beq.n 80d0140 80d016e: 9b08 ldr r3, [sp, #32] 80d0170: b11b cbz r3, 80d017a 80d0172: f001 fea9 bl 80d1ec8 <__errno> 80d0176: 9b08 ldr r3, [sp, #32] 80d0178: 6003 str r3, [r0, #0] 80d017a: ed9d 0b06 vldr d0, [sp, #24] 80d017e: eeb7 0bc0 vcvt.f32.f64 s0, d0 80d0182: b00b add sp, #44 ; 0x2c 80d0184: ecbd 8b02 vpop {d8} 80d0188: f85d fb04 ldr.w pc, [sp], #4 80d018c: 20020b50 .word 0x20020b50 80d0190: 0818d092 .word 0x0818d092 80d0194: c7efffff .word 0xc7efffff 80d0198: fff00000 .word 0xfff00000 80d019c: 0818d4b1 .word 0x0818d4b1 080d01a0 : 80d01a0: b500 push {lr} 80d01a2: ed2d 8b02 vpush {d8} 80d01a6: b08b sub sp, #44 ; 0x2c 80d01a8: eeb0 8a40 vmov.f32 s16, s0 80d01ac: f001 f818 bl 80d11e0 <__ieee754_sqrtf> 80d01b0: 4b21 ldr r3, [pc, #132] ; (80d0238 ) 80d01b2: f993 3000 ldrsb.w r3, [r3] 80d01b6: 1c5a adds r2, r3, #1 80d01b8: d028 beq.n 80d020c 80d01ba: eeb4 8a48 vcmp.f32 s16, s16 80d01be: eef1 fa10 vmrs APSR_nzcv, fpscr 80d01c2: d623 bvs.n 80d020c 80d01c4: eeb5 8ac0 vcmpe.f32 s16, #0.0 80d01c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80d01cc: d51e bpl.n 80d020c 80d01ce: 2201 movs r2, #1 80d01d0: eeb7 8ac8 vcvt.f64.f32 d8, s16 80d01d4: 9200 str r2, [sp, #0] 80d01d6: 4a19 ldr r2, [pc, #100] ; (80d023c ) 80d01d8: 9201 str r2, [sp, #4] 80d01da: 2200 movs r2, #0 80d01dc: 9208 str r2, [sp, #32] 80d01de: ed8d 8b04 vstr d8, [sp, #16] 80d01e2: ed8d 8b02 vstr d8, [sp, #8] 80d01e6: ed9f 7b12 vldr d7, [pc, #72] ; 80d0230 80d01ea: b9a3 cbnz r3, 80d0216 80d01ec: ed8d 7b06 vstr d7, [sp, #24] 80d01f0: 4668 mov r0, sp 80d01f2: f001 fd01 bl 80d1bf8 80d01f6: b1a0 cbz r0, 80d0222 80d01f8: 9b08 ldr r3, [sp, #32] 80d01fa: b11b cbz r3, 80d0204 80d01fc: f001 fe64 bl 80d1ec8 <__errno> 80d0200: 9b08 ldr r3, [sp, #32] 80d0202: 6003 str r3, [r0, #0] 80d0204: ed9d 0b06 vldr d0, [sp, #24] 80d0208: eeb7 0bc0 vcvt.f32.f64 s0, d0 80d020c: b00b add sp, #44 ; 0x2c 80d020e: ecbd 8b02 vpop {d8} 80d0212: f85d fb04 ldr.w pc, [sp], #4 80d0216: 2b02 cmp r3, #2 80d0218: ee87 6b07 vdiv.f64 d6, d7, d7 80d021c: ed8d 6b06 vstr d6, [sp, #24] 80d0220: d1e6 bne.n 80d01f0 80d0222: f001 fe51 bl 80d1ec8 <__errno> 80d0226: 2321 movs r3, #33 ; 0x21 80d0228: 6003 str r3, [r0, #0] 80d022a: e7e5 b.n 80d01f8 80d022c: f3af 8000 nop.w ... 80d0238: 20020b50 .word 0x20020b50 80d023c: 0818d099 .word 0x0818d099 080d0240 <__ieee754_log>: 80d0240: b537 push {r0, r1, r2, r4, r5, lr} 80d0242: ed8d 0b00 vstr d0, [sp] 80d0246: 9a01 ldr r2, [sp, #4] 80d0248: 9b00 ldr r3, [sp, #0] 80d024a: f5b2 1f80 cmp.w r2, #1048576 ; 0x100000 80d024e: da27 bge.n 80d02a0 <__ieee754_log+0x60> 80d0250: f022 4100 bic.w r1, r2, #2147483648 ; 0x80000000 80d0254: 430b orrs r3, r1 80d0256: d107 bne.n 80d0268 <__ieee754_log+0x28> 80d0258: ed9f 7b6d vldr d7, [pc, #436] ; 80d0410 <__ieee754_log+0x1d0> 80d025c: ed9f 6b6e vldr d6, [pc, #440] ; 80d0418 <__ieee754_log+0x1d8> 80d0260: ee86 0b07 vdiv.f64 d0, d6, d7 80d0264: b003 add sp, #12 80d0266: bd30 pop {r4, r5, pc} 80d0268: 2a00 cmp r2, #0 80d026a: da06 bge.n 80d027a <__ieee754_log+0x3a> 80d026c: ed9d 7b00 vldr d7, [sp] 80d0270: ee37 6b47 vsub.f64 d6, d7, d7 80d0274: ed9f 7b66 vldr d7, [pc, #408] ; 80d0410 <__ieee754_log+0x1d0> 80d0278: e7f2 b.n 80d0260 <__ieee754_log+0x20> 80d027a: ed9d 6b00 vldr d6, [sp] 80d027e: ed9f 7b68 vldr d7, [pc, #416] ; 80d0420 <__ieee754_log+0x1e0> 80d0282: ee26 7b07 vmul.f64 d7, d6, d7 80d0286: ed8d 7b00 vstr d7, [sp] 80d028a: 9a01 ldr r2, [sp, #4] 80d028c: f06f 0135 mvn.w r1, #53 ; 0x35 80d0290: 4b79 ldr r3, [pc, #484] ; (80d0478 <__ieee754_log+0x238>) 80d0292: 429a cmp r2, r3 80d0294: dd06 ble.n 80d02a4 <__ieee754_log+0x64> 80d0296: ed9d 7b00 vldr d7, [sp] 80d029a: ee37 0b07 vadd.f64 d0, d7, d7 80d029e: e7e1 b.n 80d0264 <__ieee754_log+0x24> 80d02a0: 2100 movs r1, #0 80d02a2: e7f5 b.n 80d0290 <__ieee754_log+0x50> 80d02a4: 1513 asrs r3, r2, #20 80d02a6: f3c2 0013 ubfx r0, r2, #0, #20 80d02aa: f2a3 33ff subw r3, r3, #1023 ; 0x3ff 80d02ae: 4419 add r1, r3 80d02b0: f500 2315 add.w r3, r0, #610304 ; 0x95000 80d02b4: f603 7364 addw r3, r3, #3940 ; 0xf64 80d02b8: f403 1480 and.w r4, r3, #1048576 ; 0x100000 80d02bc: f084 557f eor.w r5, r4, #1069547520 ; 0x3fc00000 80d02c0: e9dd 2300 ldrd r2, r3, [sp] 80d02c4: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80d02c8: f485 1540 eor.w r5, r5, #3145728 ; 0x300000 80d02cc: ea45 0300 orr.w r3, r5, r0 80d02d0: ec43 2b10 vmov d0, r2, r3 80d02d4: 1c82 adds r2, r0, #2 80d02d6: f3c2 0213 ubfx r2, r2, #0, #20 80d02da: 2a02 cmp r2, #2 80d02dc: eb01 5414 add.w r4, r1, r4, lsr #20 80d02e0: ee30 0b47 vsub.f64 d0, d0, d7 80d02e4: dc31 bgt.n 80d034a <__ieee754_log+0x10a> 80d02e6: eeb5 0b40 vcmp.f64 d0, #0.0 80d02ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80d02ee: d10f bne.n 80d0310 <__ieee754_log+0xd0> 80d02f0: 2c00 cmp r4, #0 80d02f2: f000 8088 beq.w 80d0406 <__ieee754_log+0x1c6> 80d02f6: ed9f 0b4c vldr d0, [pc, #304] ; 80d0428 <__ieee754_log+0x1e8> 80d02fa: ed9f 6b4d vldr d6, [pc, #308] ; 80d0430 <__ieee754_log+0x1f0> 80d02fe: ee07 4a90 vmov s15, r4 80d0302: eeb8 7be7 vcvt.f64.s32 d7, s15 80d0306: ee27 0b00 vmul.f64 d0, d7, d0 80d030a: eea7 0b06 vfma.f64 d0, d7, d6 80d030e: e7a9 b.n 80d0264 <__ieee754_log+0x24> 80d0310: ed9f 7b49 vldr d7, [pc, #292] ; 80d0438 <__ieee754_log+0x1f8> 80d0314: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80d0318: eea0 6b47 vfms.f64 d6, d0, d7 80d031c: ee20 7b00 vmul.f64 d7, d0, d0 80d0320: ee26 6b07 vmul.f64 d6, d6, d7 80d0324: b914 cbnz r4, 80d032c <__ieee754_log+0xec> 80d0326: ee30 0b46 vsub.f64 d0, d0, d6 80d032a: e79b b.n 80d0264 <__ieee754_log+0x24> 80d032c: ed9f 5b3e vldr d5, [pc, #248] ; 80d0428 <__ieee754_log+0x1e8> 80d0330: ee07 4a90 vmov s15, r4 80d0334: eeb8 7be7 vcvt.f64.s32 d7, s15 80d0338: eea7 6b45 vfms.f64 d6, d7, d5 80d033c: ee36 0b40 vsub.f64 d0, d6, d0 80d0340: ed9f 6b3b vldr d6, [pc, #236] ; 80d0430 <__ieee754_log+0x1f0> 80d0344: ee97 0b06 vfnms.f64 d0, d7, d6 80d0348: e78c b.n 80d0264 <__ieee754_log+0x24> 80d034a: eeb0 7b00 vmov.f64 d7, #0 ; 0x40000000 2.0 80d034e: ee30 7b07 vadd.f64 d7, d0, d7 80d0352: ee80 4b07 vdiv.f64 d4, d0, d7 80d0356: ee07 4a90 vmov s15, r4 80d035a: ee24 3b04 vmul.f64 d3, d4, d4 80d035e: ed9f 2b38 vldr d2, [pc, #224] ; 80d0440 <__ieee754_log+0x200> 80d0362: ee23 5b03 vmul.f64 d5, d3, d3 80d0366: eeb8 6be7 vcvt.f64.s32 d6, s15 80d036a: ed9f 7b37 vldr d7, [pc, #220] ; 80d0448 <__ieee754_log+0x208> 80d036e: eea5 7b02 vfma.f64 d7, d5, d2 80d0372: ed9f 2b37 vldr d2, [pc, #220] ; 80d0450 <__ieee754_log+0x210> 80d0376: eea5 2b07 vfma.f64 d2, d5, d7 80d037a: ed9f 7b37 vldr d7, [pc, #220] ; 80d0458 <__ieee754_log+0x218> 80d037e: eea5 7b02 vfma.f64 d7, d5, d2 80d0382: ed9f 2b37 vldr d2, [pc, #220] ; 80d0460 <__ieee754_log+0x220> 80d0386: ee27 7b03 vmul.f64 d7, d7, d3 80d038a: ed9f 3b37 vldr d3, [pc, #220] ; 80d0468 <__ieee754_log+0x228> 80d038e: f5a0 21c2 sub.w r1, r0, #397312 ; 0x61000 80d0392: f5c0 22d7 rsb r2, r0, #440320 ; 0x6b800 80d0396: eea5 2b03 vfma.f64 d2, d5, d3 80d039a: f2a1 417a subw r1, r1, #1146 ; 0x47a 80d039e: ed9f 3b34 vldr d3, [pc, #208] ; 80d0470 <__ieee754_log+0x230> 80d03a2: 3251 adds r2, #81 ; 0x51 80d03a4: 430a orrs r2, r1 80d03a6: 2a00 cmp r2, #0 80d03a8: eea5 3b02 vfma.f64 d3, d5, d2 80d03ac: eea5 7b03 vfma.f64 d7, d5, d3 80d03b0: dd1c ble.n 80d03ec <__ieee754_log+0x1ac> 80d03b2: eeb6 5b00 vmov.f64 d5, #96 ; 0x3f000000 0.5 80d03b6: ee20 5b05 vmul.f64 d5, d0, d5 80d03ba: ee25 5b00 vmul.f64 d5, d5, d0 80d03be: ee37 7b05 vadd.f64 d7, d7, d5 80d03c2: b924 cbnz r4, 80d03ce <__ieee754_log+0x18e> 80d03c4: eea4 5b47 vfms.f64 d5, d4, d7 80d03c8: ee30 0b45 vsub.f64 d0, d0, d5 80d03cc: e74a b.n 80d0264 <__ieee754_log+0x24> 80d03ce: ed9f 3b16 vldr d3, [pc, #88] ; 80d0428 <__ieee754_log+0x1e8> 80d03d2: ee26 3b03 vmul.f64 d3, d6, d3 80d03d6: eea4 3b07 vfma.f64 d3, d4, d7 80d03da: ee35 5b43 vsub.f64 d5, d5, d3 80d03de: ed9f 7b14 vldr d7, [pc, #80] ; 80d0430 <__ieee754_log+0x1f0> 80d03e2: ee35 0b40 vsub.f64 d0, d5, d0 80d03e6: ee96 0b07 vfnms.f64 d0, d6, d7 80d03ea: e73b b.n 80d0264 <__ieee754_log+0x24> 80d03ec: ee30 7b47 vsub.f64 d7, d0, d7 80d03f0: b914 cbnz r4, 80d03f8 <__ieee754_log+0x1b8> 80d03f2: eea4 0b47 vfms.f64 d0, d4, d7 80d03f6: e735 b.n 80d0264 <__ieee754_log+0x24> 80d03f8: ed9f 5b0b vldr d5, [pc, #44] ; 80d0428 <__ieee754_log+0x1e8> 80d03fc: ee25 5b46 vnmul.f64 d5, d5, d6 80d0400: eea4 5b07 vfma.f64 d5, d4, d7 80d0404: e7eb b.n 80d03de <__ieee754_log+0x19e> 80d0406: ed9f 0b02 vldr d0, [pc, #8] ; 80d0410 <__ieee754_log+0x1d0> 80d040a: e72b b.n 80d0264 <__ieee754_log+0x24> 80d040c: f3af 8000 nop.w ... 80d041c: c3500000 .word 0xc3500000 80d0420: 00000000 .word 0x00000000 80d0424: 43500000 .word 0x43500000 80d0428: 35793c76 .word 0x35793c76 80d042c: 3dea39ef .word 0x3dea39ef 80d0430: fee00000 .word 0xfee00000 80d0434: 3fe62e42 .word 0x3fe62e42 80d0438: 55555555 .word 0x55555555 80d043c: 3fd55555 .word 0x3fd55555 80d0440: df3e5244 .word 0xdf3e5244 80d0444: 3fc2f112 .word 0x3fc2f112 80d0448: 96cb03de .word 0x96cb03de 80d044c: 3fc74664 .word 0x3fc74664 80d0450: 94229359 .word 0x94229359 80d0454: 3fd24924 .word 0x3fd24924 80d0458: 55555593 .word 0x55555593 80d045c: 3fe55555 .word 0x3fe55555 80d0460: 1d8e78af .word 0x1d8e78af 80d0464: 3fcc71c5 .word 0x3fcc71c5 80d0468: d078c69f .word 0xd078c69f 80d046c: 3fc39a09 .word 0x3fc39a09 80d0470: 9997fa04 .word 0x9997fa04 80d0474: 3fd99999 .word 0x3fd99999 80d0478: 7fefffff .word 0x7fefffff 80d047c: 00000000 .word 0x00000000 080d0480 <__ieee754_pow>: 80d0480: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80d0484: ec57 6b11 vmov r6, r7, d1 80d0488: ed2d 8b02 vpush {d8} 80d048c: eeb0 8b40 vmov.f64 d8, d0 80d0490: f027 4800 bic.w r8, r7, #2147483648 ; 0x80000000 80d0494: ea58 0306 orrs.w r3, r8, r6 80d0498: b085 sub sp, #20 80d049a: ee10 ba10 vmov fp, s0 80d049e: ee18 9a90 vmov r9, s17 80d04a2: ee11 2a10 vmov r2, s2 80d04a6: 46ba mov sl, r7 80d04a8: f000 8303 beq.w 80d0ab2 <__ieee754_pow+0x632> 80d04ac: 4bb8 ldr r3, [pc, #736] ; (80d0790 <__ieee754_pow+0x310>) 80d04ae: f029 4400 bic.w r4, r9, #2147483648 ; 0x80000000 80d04b2: 429c cmp r4, r3 80d04b4: dc0b bgt.n 80d04ce <__ieee754_pow+0x4e> 80d04b6: d105 bne.n 80d04c4 <__ieee754_pow+0x44> 80d04b8: f1bb 0f00 cmp.w fp, #0 80d04bc: d107 bne.n 80d04ce <__ieee754_pow+0x4e> 80d04be: 45a0 cmp r8, r4 80d04c0: dc0d bgt.n 80d04de <__ieee754_pow+0x5e> 80d04c2: e001 b.n 80d04c8 <__ieee754_pow+0x48> 80d04c4: 4598 cmp r8, r3 80d04c6: dc02 bgt.n 80d04ce <__ieee754_pow+0x4e> 80d04c8: 4598 cmp r8, r3 80d04ca: d110 bne.n 80d04ee <__ieee754_pow+0x6e> 80d04cc: b17a cbz r2, 80d04ee <__ieee754_pow+0x6e> 80d04ce: f104 4440 add.w r4, r4, #3221225472 ; 0xc0000000 80d04d2: f504 1480 add.w r4, r4, #1048576 ; 0x100000 80d04d6: ea54 030b orrs.w r3, r4, fp 80d04da: f000 82ea beq.w 80d0ab2 <__ieee754_pow+0x632> 80d04de: 48ad ldr r0, [pc, #692] ; (80d0794 <__ieee754_pow+0x314>) 80d04e0: b005 add sp, #20 80d04e2: ecbd 8b02 vpop {d8} 80d04e6: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80d04ea: f001 bb89 b.w 80d1c00 80d04ee: f1b9 0f00 cmp.w r9, #0 80d04f2: da50 bge.n 80d0596 <__ieee754_pow+0x116> 80d04f4: 4ba8 ldr r3, [pc, #672] ; (80d0798 <__ieee754_pow+0x318>) 80d04f6: 4598 cmp r8, r3 80d04f8: dc4b bgt.n 80d0592 <__ieee754_pow+0x112> 80d04fa: f1a3 7354 sub.w r3, r3, #55574528 ; 0x3500000 80d04fe: 4598 cmp r8, r3 80d0500: dd49 ble.n 80d0596 <__ieee754_pow+0x116> 80d0502: ea4f 5328 mov.w r3, r8, asr #20 80d0506: f2a3 33ff subw r3, r3, #1023 ; 0x3ff 80d050a: 2b14 cmp r3, #20 80d050c: dd24 ble.n 80d0558 <__ieee754_pow+0xd8> 80d050e: f1c3 0334 rsb r3, r3, #52 ; 0x34 80d0512: fa22 f503 lsr.w r5, r2, r3 80d0516: fa05 f303 lsl.w r3, r5, r3 80d051a: 429a cmp r2, r3 80d051c: d13b bne.n 80d0596 <__ieee754_pow+0x116> 80d051e: f005 0501 and.w r5, r5, #1 80d0522: f1c5 0502 rsb r5, r5, #2 80d0526: 2a00 cmp r2, #0 80d0528: d15c bne.n 80d05e4 <__ieee754_pow+0x164> 80d052a: 4b99 ldr r3, [pc, #612] ; (80d0790 <__ieee754_pow+0x310>) 80d052c: 4598 cmp r8, r3 80d052e: d122 bne.n 80d0576 <__ieee754_pow+0xf6> 80d0530: f104 4340 add.w r3, r4, #3221225472 ; 0xc0000000 80d0534: f503 1380 add.w r3, r3, #1048576 ; 0x100000 80d0538: ea53 030b orrs.w r3, r3, fp 80d053c: f000 82b9 beq.w 80d0ab2 <__ieee754_pow+0x632> 80d0540: 4b96 ldr r3, [pc, #600] ; (80d079c <__ieee754_pow+0x31c>) 80d0542: 429c cmp r4, r3 80d0544: dd29 ble.n 80d059a <__ieee754_pow+0x11a> 80d0546: f1ba 0f00 cmp.w sl, #0 80d054a: f280 82b5 bge.w 80d0ab8 <__ieee754_pow+0x638> 80d054e: ed9f 7b84 vldr d7, [pc, #528] ; 80d0760 <__ieee754_pow+0x2e0> 80d0552: ed8d 7b00 vstr d7, [sp] 80d0556: e028 b.n 80d05aa <__ieee754_pow+0x12a> 80d0558: 2a00 cmp r2, #0 80d055a: d142 bne.n 80d05e2 <__ieee754_pow+0x162> 80d055c: f1c3 0314 rsb r3, r3, #20 80d0560: fa48 f503 asr.w r5, r8, r3 80d0564: fa05 f303 lsl.w r3, r5, r3 80d0568: 4598 cmp r8, r3 80d056a: f040 82ab bne.w 80d0ac4 <__ieee754_pow+0x644> 80d056e: f005 0501 and.w r5, r5, #1 80d0572: f1c5 0502 rsb r5, r5, #2 80d0576: 4b8a ldr r3, [pc, #552] ; (80d07a0 <__ieee754_pow+0x320>) 80d0578: 4598 cmp r8, r3 80d057a: d11d bne.n 80d05b8 <__ieee754_pow+0x138> 80d057c: f1ba 0f00 cmp.w sl, #0 80d0580: f280 829d bge.w 80d0abe <__ieee754_pow+0x63e> 80d0584: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80d0588: ee87 6b08 vdiv.f64 d6, d7, d8 80d058c: ed8d 6b00 vstr d6, [sp] 80d0590: e00b b.n 80d05aa <__ieee754_pow+0x12a> 80d0592: 2502 movs r5, #2 80d0594: e7c7 b.n 80d0526 <__ieee754_pow+0xa6> 80d0596: 2500 movs r5, #0 80d0598: e7c5 b.n 80d0526 <__ieee754_pow+0xa6> 80d059a: f1ba 0f00 cmp.w sl, #0 80d059e: dad6 bge.n 80d054e <__ieee754_pow+0xce> 80d05a0: f087 4400 eor.w r4, r7, #2147483648 ; 0x80000000 80d05a4: 4633 mov r3, r6 80d05a6: e88d 0018 stmia.w sp, {r3, r4} 80d05aa: ed9d 0b00 vldr d0, [sp] 80d05ae: b005 add sp, #20 80d05b0: ecbd 8b02 vpop {d8} 80d05b4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80d05b8: f1ba 4f80 cmp.w sl, #1073741824 ; 0x40000000 80d05bc: d102 bne.n 80d05c4 <__ieee754_pow+0x144> 80d05be: ee28 7b08 vmul.f64 d7, d8, d8 80d05c2: e7c6 b.n 80d0552 <__ieee754_pow+0xd2> 80d05c4: 4b77 ldr r3, [pc, #476] ; (80d07a4 <__ieee754_pow+0x324>) 80d05c6: 459a cmp sl, r3 80d05c8: d10c bne.n 80d05e4 <__ieee754_pow+0x164> 80d05ca: f1b9 0f00 cmp.w r9, #0 80d05ce: db09 blt.n 80d05e4 <__ieee754_pow+0x164> 80d05d0: eeb0 0b48 vmov.f64 d0, d8 80d05d4: b005 add sp, #20 80d05d6: ecbd 8b02 vpop {d8} 80d05da: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80d05de: f000 bc17 b.w 80d0e10 <__ieee754_sqrt> 80d05e2: 2500 movs r5, #0 80d05e4: eeb0 0b48 vmov.f64 d0, d8 80d05e8: f7ff fa72 bl 80cfad0 80d05ec: ed8d 0b00 vstr d0, [sp] 80d05f0: f1bb 0f00 cmp.w fp, #0 80d05f4: d128 bne.n 80d0648 <__ieee754_pow+0x1c8> 80d05f6: b124 cbz r4, 80d0602 <__ieee754_pow+0x182> 80d05f8: 4b69 ldr r3, [pc, #420] ; (80d07a0 <__ieee754_pow+0x320>) 80d05fa: f029 4240 bic.w r2, r9, #3221225472 ; 0xc0000000 80d05fe: 429a cmp r2, r3 80d0600: d122 bne.n 80d0648 <__ieee754_pow+0x1c8> 80d0602: f1ba 0f00 cmp.w sl, #0 80d0606: da07 bge.n 80d0618 <__ieee754_pow+0x198> 80d0608: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80d060c: ed9d 5b00 vldr d5, [sp] 80d0610: ee87 6b05 vdiv.f64 d6, d7, d5 80d0614: ed8d 6b00 vstr d6, [sp] 80d0618: f1b9 0f00 cmp.w r9, #0 80d061c: dac5 bge.n 80d05aa <__ieee754_pow+0x12a> 80d061e: f104 4440 add.w r4, r4, #3221225472 ; 0xc0000000 80d0622: f504 1480 add.w r4, r4, #1048576 ; 0x100000 80d0626: ea54 0305 orrs.w r3, r4, r5 80d062a: d106 bne.n 80d063a <__ieee754_pow+0x1ba> 80d062c: ed9d 7b00 vldr d7, [sp] 80d0630: ee37 7b47 vsub.f64 d7, d7, d7 80d0634: ee87 6b07 vdiv.f64 d6, d7, d7 80d0638: e7a8 b.n 80d058c <__ieee754_pow+0x10c> 80d063a: 2d01 cmp r5, #1 80d063c: d1b5 bne.n 80d05aa <__ieee754_pow+0x12a> 80d063e: ed9d 7b00 vldr d7, [sp] 80d0642: eeb1 7b47 vneg.f64 d7, d7 80d0646: e784 b.n 80d0552 <__ieee754_pow+0xd2> 80d0648: ea4f 79d9 mov.w r9, r9, lsr #31 80d064c: f109 30ff add.w r0, r9, #4294967295 80d0650: ea55 0300 orrs.w r3, r5, r0 80d0654: d104 bne.n 80d0660 <__ieee754_pow+0x1e0> 80d0656: ee38 8b48 vsub.f64 d8, d8, d8 80d065a: ee88 7b08 vdiv.f64 d7, d8, d8 80d065e: e778 b.n 80d0552 <__ieee754_pow+0xd2> 80d0660: 4b51 ldr r3, [pc, #324] ; (80d07a8 <__ieee754_pow+0x328>) 80d0662: 4598 cmp r8, r3 80d0664: f340 80a6 ble.w 80d07b4 <__ieee754_pow+0x334> 80d0668: f103 7304 add.w r3, r3, #34603008 ; 0x2100000 80d066c: 4598 cmp r8, r3 80d066e: dd0b ble.n 80d0688 <__ieee754_pow+0x208> 80d0670: 4b4a ldr r3, [pc, #296] ; (80d079c <__ieee754_pow+0x31c>) 80d0672: 429c cmp r4, r3 80d0674: dc0e bgt.n 80d0694 <__ieee754_pow+0x214> 80d0676: f1ba 0f00 cmp.w sl, #0 80d067a: f6bf af68 bge.w 80d054e <__ieee754_pow+0xce> 80d067e: ed9f 7b3a vldr d7, [pc, #232] ; 80d0768 <__ieee754_pow+0x2e8> 80d0682: ee27 7b07 vmul.f64 d7, d7, d7 80d0686: e764 b.n 80d0552 <__ieee754_pow+0xd2> 80d0688: 4b48 ldr r3, [pc, #288] ; (80d07ac <__ieee754_pow+0x32c>) 80d068a: 429c cmp r4, r3 80d068c: ddf3 ble.n 80d0676 <__ieee754_pow+0x1f6> 80d068e: 4b44 ldr r3, [pc, #272] ; (80d07a0 <__ieee754_pow+0x320>) 80d0690: 429c cmp r4, r3 80d0692: dd03 ble.n 80d069c <__ieee754_pow+0x21c> 80d0694: f1ba 0f00 cmp.w sl, #0 80d0698: dcf1 bgt.n 80d067e <__ieee754_pow+0x1fe> 80d069a: e758 b.n 80d054e <__ieee754_pow+0xce> 80d069c: ed9d 7b00 vldr d7, [sp] 80d06a0: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 80d06a4: ed9f 5b32 vldr d5, [pc, #200] ; 80d0770 <__ieee754_pow+0x2f0> 80d06a8: ee37 6b46 vsub.f64 d6, d7, d6 80d06ac: eeb5 7b00 vmov.f64 d7, #80 ; 0x3e800000 0.250 80d06b0: eeb1 3b46 vneg.f64 d3, d6 80d06b4: eea3 5b07 vfma.f64 d5, d3, d7 80d06b8: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80d06bc: eea3 7b05 vfma.f64 d7, d3, d5 80d06c0: ee26 5b06 vmul.f64 d5, d6, d6 80d06c4: ee27 5b05 vmul.f64 d5, d7, d5 80d06c8: ed9f 7b2b vldr d7, [pc, #172] ; 80d0778 <__ieee754_pow+0x2f8> 80d06cc: ee27 7b45 vnmul.f64 d7, d7, d5 80d06d0: ed9f 5b2b vldr d5, [pc, #172] ; 80d0780 <__ieee754_pow+0x300> 80d06d4: eea6 7b05 vfma.f64 d7, d6, d5 80d06d8: ed9f 5b2b vldr d5, [pc, #172] ; 80d0788 <__ieee754_pow+0x308> 80d06dc: eeb0 4b47 vmov.f64 d4, d7 80d06e0: eea6 4b05 vfma.f64 d4, d6, d5 80d06e4: ec53 2b14 vmov r2, r3, d4 80d06e8: 2200 movs r2, #0 80d06ea: ec43 2b14 vmov d4, r2, r3 80d06ee: eeb0 6b44 vmov.f64 d6, d4 80d06f2: eea3 6b05 vfma.f64 d6, d3, d5 80d06f6: ee37 7b46 vsub.f64 d7, d7, d6 80d06fa: 3d01 subs r5, #1 80d06fc: ea55 0300 orrs.w r3, r5, r0 80d0700: f04f 0200 mov.w r2, #0 80d0704: 463b mov r3, r7 80d0706: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80d070a: ec47 6b15 vmov d5, r6, r7 80d070e: eeb7 8b00 vmov.f64 d8, #112 ; 0x3f800000 1.0 80d0712: bf08 it eq 80d0714: eeb0 8b46 vmoveq.f64 d8, d6 80d0718: ec43 2b16 vmov d6, r2, r3 80d071c: ee27 7b05 vmul.f64 d7, d7, d5 80d0720: 4b23 ldr r3, [pc, #140] ; (80d07b0 <__ieee754_pow+0x330>) 80d0722: ee35 5b46 vsub.f64 d5, d5, d6 80d0726: ee24 6b06 vmul.f64 d6, d4, d6 80d072a: eea4 7b05 vfma.f64 d7, d4, d5 80d072e: ee37 5b06 vadd.f64 d5, d7, d6 80d0732: ee15 1a90 vmov r1, s11 80d0736: 4299 cmp r1, r3 80d0738: ee15 2a10 vmov r2, s10 80d073c: f340 819b ble.w 80d0a76 <__ieee754_pow+0x5f6> 80d0740: f101 433f add.w r3, r1, #3204448256 ; 0xbf000000 80d0744: f503 03e0 add.w r3, r3, #7340032 ; 0x700000 80d0748: 4313 orrs r3, r2 80d074a: f000 810a beq.w 80d0962 <__ieee754_pow+0x4e2> 80d074e: ed9f 7b06 vldr d7, [pc, #24] ; 80d0768 <__ieee754_pow+0x2e8> 80d0752: ee28 8b07 vmul.f64 d8, d8, d7 80d0756: ee28 7b07 vmul.f64 d7, d8, d7 80d075a: e6fa b.n 80d0552 <__ieee754_pow+0xd2> 80d075c: f3af 8000 nop.w ... 80d0768: 8800759c .word 0x8800759c 80d076c: 7e37e43c .word 0x7e37e43c 80d0770: 55555555 .word 0x55555555 80d0774: 3fd55555 .word 0x3fd55555 80d0778: 652b82fe .word 0x652b82fe 80d077c: 3ff71547 .word 0x3ff71547 80d0780: f85ddf44 .word 0xf85ddf44 80d0784: 3e54ae0b .word 0x3e54ae0b 80d0788: 60000000 .word 0x60000000 80d078c: 3ff71547 .word 0x3ff71547 80d0790: 7ff00000 .word 0x7ff00000 80d0794: 0818d4b1 .word 0x0818d4b1 80d0798: 433fffff .word 0x433fffff 80d079c: 3fefffff .word 0x3fefffff 80d07a0: 3ff00000 .word 0x3ff00000 80d07a4: 3fe00000 .word 0x3fe00000 80d07a8: 41e00000 .word 0x41e00000 80d07ac: 3feffffe .word 0x3feffffe 80d07b0: 408fffff .word 0x408fffff 80d07b4: f5b4 1f80 cmp.w r4, #1048576 ; 0x100000 80d07b8: f280 80cf bge.w 80d095a <__ieee754_pow+0x4da> 80d07bc: ed9d 6b00 vldr d6, [sp] 80d07c0: ed9f 7bc1 vldr d7, [pc, #772] ; 80d0ac8 <__ieee754_pow+0x648> 80d07c4: ee26 7b07 vmul.f64 d7, d6, d7 80d07c8: ed8d 7b00 vstr d7, [sp] 80d07cc: 9c01 ldr r4, [sp, #4] 80d07ce: f06f 0334 mvn.w r3, #52 ; 0x34 80d07d2: 1521 asrs r1, r4, #20 80d07d4: f2a1 31ff subw r1, r1, #1023 ; 0x3ff 80d07d8: 4419 add r1, r3 80d07da: 4be3 ldr r3, [pc, #908] ; (80d0b68 <__ieee754_pow+0x6e8>) 80d07dc: f3c4 0413 ubfx r4, r4, #0, #20 80d07e0: f044 5e7f orr.w lr, r4, #1069547520 ; 0x3fc00000 80d07e4: 429c cmp r4, r3 80d07e6: f44e 1e40 orr.w lr, lr, #3145728 ; 0x300000 80d07ea: dd06 ble.n 80d07fa <__ieee754_pow+0x37a> 80d07ec: 4bdf ldr r3, [pc, #892] ; (80d0b6c <__ieee754_pow+0x6ec>) 80d07ee: 429c cmp r4, r3 80d07f0: f340 80b5 ble.w 80d095e <__ieee754_pow+0x4de> 80d07f4: 3101 adds r1, #1 80d07f6: f5ae 1e80 sub.w lr, lr, #1048576 ; 0x100000 80d07fa: 2400 movs r4, #0 80d07fc: e9dd 2300 ldrd r2, r3, [sp] 80d0800: eeb7 4b00 vmov.f64 d4, #112 ; 0x3f800000 1.0 80d0804: 4673 mov r3, lr 80d0806: ec43 2b17 vmov d7, r2, r3 80d080a: 4bd9 ldr r3, [pc, #868] ; (80d0b70 <__ieee754_pow+0x6f0>) 80d080c: ea4f 0cc4 mov.w ip, r4, lsl #3 80d0810: 4463 add r3, ip 80d0812: ed93 5b00 vldr d5, [r3] 80d0816: ea4f 0e6e mov.w lr, lr, asr #1 80d081a: ee37 2b45 vsub.f64 d2, d7, d5 80d081e: ee37 6b05 vadd.f64 d6, d7, d5 80d0822: ee84 1b06 vdiv.f64 d1, d4, d6 80d0826: ee22 6b01 vmul.f64 d6, d2, d1 80d082a: ed8d 6b00 vstr d6, [sp] 80d082e: e9dd 8900 ldrd r8, r9, [sp] 80d0832: f04e 5e00 orr.w lr, lr, #536870912 ; 0x20000000 80d0836: f50e 2e00 add.w lr, lr, #524288 ; 0x80000 80d083a: f04f 0800 mov.w r8, #0 80d083e: eb0e 4384 add.w r3, lr, r4, lsl #18 80d0842: 2200 movs r2, #0 80d0844: ec49 8b14 vmov d4, r8, r9 80d0848: ec43 2b16 vmov d6, r2, r3 80d084c: eeb1 3b44 vneg.f64 d3, d4 80d0850: eea3 2b06 vfma.f64 d2, d3, d6 80d0854: ee36 6b45 vsub.f64 d6, d6, d5 80d0858: ee37 7b46 vsub.f64 d7, d7, d6 80d085c: eea3 2b07 vfma.f64 d2, d3, d7 80d0860: ed9d 7b00 vldr d7, [sp] 80d0864: ee22 2b01 vmul.f64 d2, d2, d1 80d0868: ee27 5b07 vmul.f64 d5, d7, d7 80d086c: ee37 6b04 vadd.f64 d6, d7, d4 80d0870: ed9f 1b97 vldr d1, [pc, #604] ; 80d0ad0 <__ieee754_pow+0x650> 80d0874: ee25 0b05 vmul.f64 d0, d5, d5 80d0878: ee26 6b02 vmul.f64 d6, d6, d2 80d087c: ed9f 7b96 vldr d7, [pc, #600] ; 80d0ad8 <__ieee754_pow+0x658> 80d0880: eea5 7b01 vfma.f64 d7, d5, d1 80d0884: ed9f 1b96 vldr d1, [pc, #600] ; 80d0ae0 <__ieee754_pow+0x660> 80d0888: eea5 1b07 vfma.f64 d1, d5, d7 80d088c: ed9f 7b96 vldr d7, [pc, #600] ; 80d0ae8 <__ieee754_pow+0x668> 80d0890: eea5 7b01 vfma.f64 d7, d5, d1 80d0894: ed9f 1b96 vldr d1, [pc, #600] ; 80d0af0 <__ieee754_pow+0x670> 80d0898: eea5 1b07 vfma.f64 d1, d5, d7 80d089c: ed9f 7b96 vldr d7, [pc, #600] ; 80d0af8 <__ieee754_pow+0x678> 80d08a0: eea5 7b01 vfma.f64 d7, d5, d1 80d08a4: eea0 6b07 vfma.f64 d6, d0, d7 80d08a8: eeb0 7b08 vmov.f64 d7, #8 ; 0x40400000 3.0 80d08ac: eeb0 5b47 vmov.f64 d5, d7 80d08b0: eea4 5b04 vfma.f64 d5, d4, d4 80d08b4: ee35 5b06 vadd.f64 d5, d5, d6 80d08b8: ed8d 5b02 vstr d5, [sp, #8] 80d08bc: f8cd 8008 str.w r8, [sp, #8] 80d08c0: ed9d 5b02 vldr d5, [sp, #8] 80d08c4: ee35 7b47 vsub.f64 d7, d5, d7 80d08c8: eea3 7b04 vfma.f64 d7, d3, d4 80d08cc: ee36 7b47 vsub.f64 d7, d6, d7 80d08d0: ed9d 6b00 vldr d6, [sp] 80d08d4: ee27 7b06 vmul.f64 d7, d7, d6 80d08d8: eea2 7b05 vfma.f64 d7, d2, d5 80d08dc: eeb0 6b47 vmov.f64 d6, d7 80d08e0: eea4 6b05 vfma.f64 d6, d4, d5 80d08e4: ed8d 6b00 vstr d6, [sp] 80d08e8: f8cd 8000 str.w r8, [sp] 80d08ec: ed9d 2b00 vldr d2, [sp] 80d08f0: eeb0 6b42 vmov.f64 d6, d2 80d08f4: eea3 6b05 vfma.f64 d6, d3, d5 80d08f8: ee37 7b46 vsub.f64 d7, d7, d6 80d08fc: ed9f 6b80 vldr d6, [pc, #512] ; 80d0b00 <__ieee754_pow+0x680> 80d0900: 4b9c ldr r3, [pc, #624] ; (80d0b74 <__ieee754_pow+0x6f4>) 80d0902: ee27 7b06 vmul.f64 d7, d7, d6 80d0906: ed9f 6b80 vldr d6, [pc, #512] ; 80d0b08 <__ieee754_pow+0x688> 80d090a: 4463 add r3, ip 80d090c: eea2 7b06 vfma.f64 d7, d2, d6 80d0910: ed93 6b00 vldr d6, [r3] 80d0914: 4b98 ldr r3, [pc, #608] ; (80d0b78 <__ieee754_pow+0x6f8>) 80d0916: ee37 6b06 vadd.f64 d6, d7, d6 80d091a: 449c add ip, r3 80d091c: ed9c 1b00 vldr d1, [ip] 80d0920: eeb0 4b46 vmov.f64 d4, d6 80d0924: ed9f 3b7a vldr d3, [pc, #488] ; 80d0b10 <__ieee754_pow+0x690> 80d0928: ee07 1a90 vmov s15, r1 80d092c: eea2 4b03 vfma.f64 d4, d2, d3 80d0930: eeb8 7be7 vcvt.f64.s32 d7, s15 80d0934: ee34 4b01 vadd.f64 d4, d4, d1 80d0938: ee34 5b07 vadd.f64 d5, d4, d7 80d093c: ed8d 5b00 vstr d5, [sp] 80d0940: f8cd 8000 str.w r8, [sp] 80d0944: ed9d 4b00 vldr d4, [sp] 80d0948: ee34 7b47 vsub.f64 d7, d4, d7 80d094c: ee37 7b41 vsub.f64 d7, d7, d1 80d0950: eea2 7b43 vfms.f64 d7, d2, d3 80d0954: ee36 7b47 vsub.f64 d7, d6, d7 80d0958: e6cf b.n 80d06fa <__ieee754_pow+0x27a> 80d095a: 2300 movs r3, #0 80d095c: e739 b.n 80d07d2 <__ieee754_pow+0x352> 80d095e: 2401 movs r4, #1 80d0960: e74c b.n 80d07fc <__ieee754_pow+0x37c> 80d0962: ed9f 4b6d vldr d4, [pc, #436] ; 80d0b18 <__ieee754_pow+0x698> 80d0966: ee35 5b46 vsub.f64 d5, d5, d6 80d096a: ee37 4b04 vadd.f64 d4, d7, d4 80d096e: eeb4 4bc5 vcmpe.f64 d4, d5 80d0972: eef1 fa10 vmrs APSR_nzcv, fpscr 80d0976: f73f aeea bgt.w 80d074e <__ieee754_pow+0x2ce> 80d097a: 4a80 ldr r2, [pc, #512] ; (80d0b7c <__ieee754_pow+0x6fc>) 80d097c: f021 4300 bic.w r3, r1, #2147483648 ; 0x80000000 80d0980: 4293 cmp r3, r2 80d0982: f340 808e ble.w 80d0aa2 <__ieee754_pow+0x622> 80d0986: 151b asrs r3, r3, #20 80d0988: f2a3 30fe subw r0, r3, #1022 ; 0x3fe 80d098c: f44f 1380 mov.w r3, #1048576 ; 0x100000 80d0990: 4103 asrs r3, r0 80d0992: 440b add r3, r1 80d0994: f3c3 520a ubfx r2, r3, #20, #11 80d0998: 4879 ldr r0, [pc, #484] ; (80d0b80 <__ieee754_pow+0x700>) 80d099a: f2a2 32ff subw r2, r2, #1023 ; 0x3ff 80d099e: 4110 asrs r0, r2 80d09a0: ea23 0500 bic.w r5, r3, r0 80d09a4: f3c3 0013 ubfx r0, r3, #0, #20 80d09a8: 2400 movs r4, #0 80d09aa: f440 1080 orr.w r0, r0, #1048576 ; 0x100000 80d09ae: f1c2 0214 rsb r2, r2, #20 80d09b2: ec45 4b15 vmov d5, r4, r5 80d09b6: 4110 asrs r0, r2 80d09b8: 2900 cmp r1, #0 80d09ba: bfb8 it lt 80d09bc: 4240 neglt r0, r0 80d09be: ee36 6b45 vsub.f64 d6, d6, d5 80d09c2: ee36 5b07 vadd.f64 d5, d6, d7 80d09c6: ec53 2b15 vmov r2, r3, d5 80d09ca: 2200 movs r2, #0 80d09cc: ec43 2b15 vmov d5, r2, r3 80d09d0: ed9f 4b53 vldr d4, [pc, #332] ; 80d0b20 <__ieee754_pow+0x6a0> 80d09d4: ee35 6b46 vsub.f64 d6, d5, d6 80d09d8: ee37 6b46 vsub.f64 d6, d7, d6 80d09dc: ed9f 7b52 vldr d7, [pc, #328] ; 80d0b28 <__ieee754_pow+0x6a8> 80d09e0: ee25 7b07 vmul.f64 d7, d5, d7 80d09e4: eea6 7b04 vfma.f64 d7, d6, d4 80d09e8: ed9f 6b51 vldr d6, [pc, #324] ; 80d0b30 <__ieee754_pow+0x6b0> 80d09ec: eeb0 4b47 vmov.f64 d4, d7 80d09f0: eea5 4b06 vfma.f64 d4, d5, d6 80d09f4: eeb0 3b44 vmov.f64 d3, d4 80d09f8: eea5 3b46 vfms.f64 d3, d5, d6 80d09fc: ed9f 5b4e vldr d5, [pc, #312] ; 80d0b38 <__ieee754_pow+0x6b8> 80d0a00: ee37 7b43 vsub.f64 d7, d7, d3 80d0a04: ee24 6b04 vmul.f64 d6, d4, d4 80d0a08: ed9f 3b4d vldr d3, [pc, #308] ; 80d0b40 <__ieee754_pow+0x6c0> 80d0a0c: eea4 7b07 vfma.f64 d7, d4, d7 80d0a10: eea6 3b05 vfma.f64 d3, d6, d5 80d0a14: ed9f 5b4c vldr d5, [pc, #304] ; 80d0b48 <__ieee754_pow+0x6c8> 80d0a18: eea6 5b03 vfma.f64 d5, d6, d3 80d0a1c: ed9f 3b4c vldr d3, [pc, #304] ; 80d0b50 <__ieee754_pow+0x6d0> 80d0a20: eea6 3b05 vfma.f64 d3, d6, d5 80d0a24: ed9f 5b4c vldr d5, [pc, #304] ; 80d0b58 <__ieee754_pow+0x6d8> 80d0a28: eea6 5b03 vfma.f64 d5, d6, d3 80d0a2c: eeb0 3b44 vmov.f64 d3, d4 80d0a30: eea6 3b45 vfms.f64 d3, d6, d5 80d0a34: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 80d0a38: eeb0 6b43 vmov.f64 d6, d3 80d0a3c: ee24 3b03 vmul.f64 d3, d4, d3 80d0a40: ee36 5b45 vsub.f64 d5, d6, d5 80d0a44: ee83 6b05 vdiv.f64 d6, d3, d5 80d0a48: ee36 7b47 vsub.f64 d7, d6, d7 80d0a4c: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 80d0a50: ee37 7b44 vsub.f64 d7, d7, d4 80d0a54: ee36 7b47 vsub.f64 d7, d6, d7 80d0a58: ed8d 7b00 vstr d7, [sp] 80d0a5c: 9901 ldr r1, [sp, #4] 80d0a5e: eb01 5100 add.w r1, r1, r0, lsl #20 80d0a62: f5b1 1f80 cmp.w r1, #1048576 ; 0x100000 80d0a66: da1e bge.n 80d0aa6 <__ieee754_pow+0x626> 80d0a68: eeb0 0b47 vmov.f64 d0, d7 80d0a6c: f001 f95c bl 80d1d28 80d0a70: ee20 7b08 vmul.f64 d7, d0, d8 80d0a74: e56d b.n 80d0552 <__ieee754_pow+0xd2> 80d0a76: 4b43 ldr r3, [pc, #268] ; (80d0b84 <__ieee754_pow+0x704>) 80d0a78: f021 4000 bic.w r0, r1, #2147483648 ; 0x80000000 80d0a7c: 4298 cmp r0, r3 80d0a7e: f77f af7c ble.w 80d097a <__ieee754_pow+0x4fa> 80d0a82: 4b41 ldr r3, [pc, #260] ; (80d0b88 <__ieee754_pow+0x708>) 80d0a84: 440b add r3, r1 80d0a86: 4313 orrs r3, r2 80d0a88: d002 beq.n 80d0a90 <__ieee754_pow+0x610> 80d0a8a: ed9f 7b35 vldr d7, [pc, #212] ; 80d0b60 <__ieee754_pow+0x6e0> 80d0a8e: e660 b.n 80d0752 <__ieee754_pow+0x2d2> 80d0a90: ee35 5b46 vsub.f64 d5, d5, d6 80d0a94: eeb4 7bc5 vcmpe.f64 d7, d5 80d0a98: eef1 fa10 vmrs APSR_nzcv, fpscr 80d0a9c: f63f af6d bhi.w 80d097a <__ieee754_pow+0x4fa> 80d0aa0: e7f3 b.n 80d0a8a <__ieee754_pow+0x60a> 80d0aa2: 2000 movs r0, #0 80d0aa4: e78d b.n 80d09c2 <__ieee754_pow+0x542> 80d0aa6: e9dd 2300 ldrd r2, r3, [sp] 80d0aaa: 460b mov r3, r1 80d0aac: ec43 2b10 vmov d0, r2, r3 80d0ab0: e7de b.n 80d0a70 <__ieee754_pow+0x5f0> 80d0ab2: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80d0ab6: e54c b.n 80d0552 <__ieee754_pow+0xd2> 80d0ab8: e9cd 6700 strd r6, r7, [sp] 80d0abc: e575 b.n 80d05aa <__ieee754_pow+0x12a> 80d0abe: ed8d 8b00 vstr d8, [sp] 80d0ac2: e572 b.n 80d05aa <__ieee754_pow+0x12a> 80d0ac4: 4615 mov r5, r2 80d0ac6: e556 b.n 80d0576 <__ieee754_pow+0xf6> 80d0ac8: 00000000 .word 0x00000000 80d0acc: 43400000 .word 0x43400000 80d0ad0: 4a454eef .word 0x4a454eef 80d0ad4: 3fca7e28 .word 0x3fca7e28 80d0ad8: 93c9db65 .word 0x93c9db65 80d0adc: 3fcd864a .word 0x3fcd864a 80d0ae0: a91d4101 .word 0xa91d4101 80d0ae4: 3fd17460 .word 0x3fd17460 80d0ae8: 518f264d .word 0x518f264d 80d0aec: 3fd55555 .word 0x3fd55555 80d0af0: db6fabff .word 0xdb6fabff 80d0af4: 3fdb6db6 .word 0x3fdb6db6 80d0af8: 33333303 .word 0x33333303 80d0afc: 3fe33333 .word 0x3fe33333 80d0b00: dc3a03fd .word 0xdc3a03fd 80d0b04: 3feec709 .word 0x3feec709 80d0b08: 145b01f5 .word 0x145b01f5 80d0b0c: be3e2fe0 .word 0xbe3e2fe0 80d0b10: e0000000 .word 0xe0000000 80d0b14: 3feec709 .word 0x3feec709 80d0b18: 652b82fe .word 0x652b82fe 80d0b1c: 3c971547 .word 0x3c971547 80d0b20: fefa39ef .word 0xfefa39ef 80d0b24: 3fe62e42 .word 0x3fe62e42 80d0b28: 0ca86c39 .word 0x0ca86c39 80d0b2c: be205c61 .word 0xbe205c61 80d0b30: 00000000 .word 0x00000000 80d0b34: 3fe62e43 .word 0x3fe62e43 80d0b38: 72bea4d0 .word 0x72bea4d0 80d0b3c: 3e663769 .word 0x3e663769 80d0b40: c5d26bf1 .word 0xc5d26bf1 80d0b44: bebbbd41 .word 0xbebbbd41 80d0b48: af25de2c .word 0xaf25de2c 80d0b4c: 3f11566a .word 0x3f11566a 80d0b50: 16bebd93 .word 0x16bebd93 80d0b54: bf66c16c .word 0xbf66c16c 80d0b58: 5555553e .word 0x5555553e 80d0b5c: 3fc55555 .word 0x3fc55555 80d0b60: c2f8f359 .word 0xc2f8f359 80d0b64: 01a56e1f .word 0x01a56e1f 80d0b68: 0003988e .word 0x0003988e 80d0b6c: 000bb679 .word 0x000bb679 80d0b70: 0818d0a0 .word 0x0818d0a0 80d0b74: 0818d0c0 .word 0x0818d0c0 80d0b78: 0818d0b0 .word 0x0818d0b0 80d0b7c: 3fe00000 .word 0x3fe00000 80d0b80: 000fffff .word 0x000fffff 80d0b84: 4090cbff .word 0x4090cbff 80d0b88: 3f6f3400 .word 0x3f6f3400 80d0b8c: 00000000 .word 0x00000000 080d0b90 <__ieee754_rem_pio2>: 80d0b90: b5f0 push {r4, r5, r6, r7, lr} 80d0b92: eeb0 7b40 vmov.f64 d7, d0 80d0b96: ee17 5a90 vmov r5, s15 80d0b9a: 4b97 ldr r3, [pc, #604] ; (80d0df8 <__ieee754_rem_pio2+0x268>) 80d0b9c: f025 4600 bic.w r6, r5, #2147483648 ; 0x80000000 80d0ba0: 429e cmp r6, r3 80d0ba2: b089 sub sp, #36 ; 0x24 80d0ba4: 4604 mov r4, r0 80d0ba6: dc07 bgt.n 80d0bb8 <__ieee754_rem_pio2+0x28> 80d0ba8: 2200 movs r2, #0 80d0baa: 2300 movs r3, #0 80d0bac: ed84 0b00 vstr d0, [r4] 80d0bb0: e9c0 2302 strd r2, r3, [r0, #8] 80d0bb4: 2000 movs r0, #0 80d0bb6: e01b b.n 80d0bf0 <__ieee754_rem_pio2+0x60> 80d0bb8: 4b90 ldr r3, [pc, #576] ; (80d0dfc <__ieee754_rem_pio2+0x26c>) 80d0bba: 429e cmp r6, r3 80d0bbc: dc3b bgt.n 80d0c36 <__ieee754_rem_pio2+0xa6> 80d0bbe: f5a3 231b sub.w r3, r3, #634880 ; 0x9b000 80d0bc2: 2d00 cmp r5, #0 80d0bc4: ed9f 6b7c vldr d6, [pc, #496] ; 80d0db8 <__ieee754_rem_pio2+0x228> 80d0bc8: f5a3 63f0 sub.w r3, r3, #1920 ; 0x780 80d0bcc: dd19 ble.n 80d0c02 <__ieee754_rem_pio2+0x72> 80d0bce: ee30 7b46 vsub.f64 d7, d0, d6 80d0bd2: 429e cmp r6, r3 80d0bd4: d00e beq.n 80d0bf4 <__ieee754_rem_pio2+0x64> 80d0bd6: ed9f 6b7a vldr d6, [pc, #488] ; 80d0dc0 <__ieee754_rem_pio2+0x230> 80d0bda: ee37 5b46 vsub.f64 d5, d7, d6 80d0bde: ee37 7b45 vsub.f64 d7, d7, d5 80d0be2: ed84 5b00 vstr d5, [r4] 80d0be6: ee37 7b46 vsub.f64 d7, d7, d6 80d0bea: ed84 7b02 vstr d7, [r4, #8] 80d0bee: 2001 movs r0, #1 80d0bf0: b009 add sp, #36 ; 0x24 80d0bf2: bdf0 pop {r4, r5, r6, r7, pc} 80d0bf4: ed9f 6b74 vldr d6, [pc, #464] ; 80d0dc8 <__ieee754_rem_pio2+0x238> 80d0bf8: ee37 7b46 vsub.f64 d7, d7, d6 80d0bfc: ed9f 6b74 vldr d6, [pc, #464] ; 80d0dd0 <__ieee754_rem_pio2+0x240> 80d0c00: e7eb b.n 80d0bda <__ieee754_rem_pio2+0x4a> 80d0c02: 429e cmp r6, r3 80d0c04: ee30 7b06 vadd.f64 d7, d0, d6 80d0c08: d00e beq.n 80d0c28 <__ieee754_rem_pio2+0x98> 80d0c0a: ed9f 6b6d vldr d6, [pc, #436] ; 80d0dc0 <__ieee754_rem_pio2+0x230> 80d0c0e: ee37 5b06 vadd.f64 d5, d7, d6 80d0c12: ee37 7b45 vsub.f64 d7, d7, d5 80d0c16: ed84 5b00 vstr d5, [r4] 80d0c1a: ee37 7b06 vadd.f64 d7, d7, d6 80d0c1e: f04f 30ff mov.w r0, #4294967295 80d0c22: ed84 7b02 vstr d7, [r4, #8] 80d0c26: e7e3 b.n 80d0bf0 <__ieee754_rem_pio2+0x60> 80d0c28: ed9f 6b67 vldr d6, [pc, #412] ; 80d0dc8 <__ieee754_rem_pio2+0x238> 80d0c2c: ee37 7b06 vadd.f64 d7, d7, d6 80d0c30: ed9f 6b67 vldr d6, [pc, #412] ; 80d0dd0 <__ieee754_rem_pio2+0x240> 80d0c34: e7eb b.n 80d0c0e <__ieee754_rem_pio2+0x7e> 80d0c36: 4b72 ldr r3, [pc, #456] ; (80d0e00 <__ieee754_rem_pio2+0x270>) 80d0c38: 429e cmp r6, r3 80d0c3a: dc6e bgt.n 80d0d1a <__ieee754_rem_pio2+0x18a> 80d0c3c: f7fe ff48 bl 80cfad0 80d0c40: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80d0c44: ed9f 6b64 vldr d6, [pc, #400] ; 80d0dd8 <__ieee754_rem_pio2+0x248> 80d0c48: eea0 7b06 vfma.f64 d7, d0, d6 80d0c4c: eefd 7bc7 vcvt.s32.f64 s15, d7 80d0c50: eeb8 4be7 vcvt.f64.s32 d4, s15 80d0c54: ee17 0a90 vmov r0, s15 80d0c58: eeb1 5b44 vneg.f64 d5, d4 80d0c5c: ed9f 7b56 vldr d7, [pc, #344] ; 80d0db8 <__ieee754_rem_pio2+0x228> 80d0c60: eea5 0b07 vfma.f64 d0, d5, d7 80d0c64: ed9f 7b56 vldr d7, [pc, #344] ; 80d0dc0 <__ieee754_rem_pio2+0x230> 80d0c68: 281f cmp r0, #31 80d0c6a: ee24 7b07 vmul.f64 d7, d4, d7 80d0c6e: ee30 6b47 vsub.f64 d6, d0, d7 80d0c72: dc1b bgt.n 80d0cac <__ieee754_rem_pio2+0x11c> 80d0c74: 1e42 subs r2, r0, #1 80d0c76: 4b63 ldr r3, [pc, #396] ; (80d0e04 <__ieee754_rem_pio2+0x274>) 80d0c78: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80d0c7c: 429e cmp r6, r3 80d0c7e: d015 beq.n 80d0cac <__ieee754_rem_pio2+0x11c> 80d0c80: ed84 6b00 vstr d6, [r4] 80d0c84: ed94 6b00 vldr d6, [r4] 80d0c88: 2d00 cmp r5, #0 80d0c8a: ee30 0b46 vsub.f64 d0, d0, d6 80d0c8e: ee30 7b47 vsub.f64 d7, d0, d7 80d0c92: ed84 7b02 vstr d7, [r4, #8] 80d0c96: daab bge.n 80d0bf0 <__ieee754_rem_pio2+0x60> 80d0c98: eeb1 6b46 vneg.f64 d6, d6 80d0c9c: ed84 6b00 vstr d6, [r4] 80d0ca0: eeb1 7b47 vneg.f64 d7, d7 80d0ca4: 4240 negs r0, r0 80d0ca6: ed84 7b02 vstr d7, [r4, #8] 80d0caa: e7a1 b.n 80d0bf0 <__ieee754_rem_pio2+0x60> 80d0cac: ee16 3a90 vmov r3, s13 80d0cb0: 1536 asrs r6, r6, #20 80d0cb2: f3c3 530a ubfx r3, r3, #20, #11 80d0cb6: 1af3 subs r3, r6, r3 80d0cb8: 2b10 cmp r3, #16 80d0cba: ed84 6b00 vstr d6, [r4] 80d0cbe: dde1 ble.n 80d0c84 <__ieee754_rem_pio2+0xf4> 80d0cc0: eeb0 6b40 vmov.f64 d6, d0 80d0cc4: ed9f 3b40 vldr d3, [pc, #256] ; 80d0dc8 <__ieee754_rem_pio2+0x238> 80d0cc8: eea5 6b03 vfma.f64 d6, d5, d3 80d0ccc: ee30 7b46 vsub.f64 d7, d0, d6 80d0cd0: eea5 7b03 vfma.f64 d7, d5, d3 80d0cd4: ed9f 3b3e vldr d3, [pc, #248] ; 80d0dd0 <__ieee754_rem_pio2+0x240> 80d0cd8: ee94 7b03 vfnms.f64 d7, d4, d3 80d0cdc: ee36 3b47 vsub.f64 d3, d6, d7 80d0ce0: ee13 3a90 vmov r3, s7 80d0ce4: f3c3 530a ubfx r3, r3, #20, #11 80d0ce8: 1af6 subs r6, r6, r3 80d0cea: 2e31 cmp r6, #49 ; 0x31 80d0cec: ed84 3b00 vstr d3, [r4] 80d0cf0: dd10 ble.n 80d0d14 <__ieee754_rem_pio2+0x184> 80d0cf2: eeb0 0b46 vmov.f64 d0, d6 80d0cf6: ed9f 3b3a vldr d3, [pc, #232] ; 80d0de0 <__ieee754_rem_pio2+0x250> 80d0cfa: eea5 0b03 vfma.f64 d0, d5, d3 80d0cfe: ee36 7b40 vsub.f64 d7, d6, d0 80d0d02: ed9f 6b39 vldr d6, [pc, #228] ; 80d0de8 <__ieee754_rem_pio2+0x258> 80d0d06: eea5 7b03 vfma.f64 d7, d5, d3 80d0d0a: ee94 7b06 vfnms.f64 d7, d4, d6 80d0d0e: ee30 6b47 vsub.f64 d6, d0, d7 80d0d12: e7b5 b.n 80d0c80 <__ieee754_rem_pio2+0xf0> 80d0d14: eeb0 0b46 vmov.f64 d0, d6 80d0d18: e7b4 b.n 80d0c84 <__ieee754_rem_pio2+0xf4> 80d0d1a: 4b3b ldr r3, [pc, #236] ; (80d0e08 <__ieee754_rem_pio2+0x278>) 80d0d1c: 429e cmp r6, r3 80d0d1e: dd06 ble.n 80d0d2e <__ieee754_rem_pio2+0x19e> 80d0d20: ee30 7b40 vsub.f64 d7, d0, d0 80d0d24: ed80 7b02 vstr d7, [r0, #8] 80d0d28: ed80 7b00 vstr d7, [r0] 80d0d2c: e742 b.n 80d0bb4 <__ieee754_rem_pio2+0x24> 80d0d2e: ee10 3a10 vmov r3, s0 80d0d32: 1532 asrs r2, r6, #20 80d0d34: f2a2 4216 subw r2, r2, #1046 ; 0x416 80d0d38: 4618 mov r0, r3 80d0d3a: eba6 5102 sub.w r1, r6, r2, lsl #20 80d0d3e: ec41 0b17 vmov d7, r0, r1 80d0d42: eebd 6bc7 vcvt.s32.f64 s12, d7 80d0d46: ed9f 5b2a vldr d5, [pc, #168] ; 80d0df0 <__ieee754_rem_pio2+0x260> 80d0d4a: eeb8 6bc6 vcvt.f64.s32 d6, s12 80d0d4e: ee37 7b46 vsub.f64 d7, d7, d6 80d0d52: ed8d 6b02 vstr d6, [sp, #8] 80d0d56: ee27 7b05 vmul.f64 d7, d7, d5 80d0d5a: eebd 6bc7 vcvt.s32.f64 s12, d7 80d0d5e: a908 add r1, sp, #32 80d0d60: eeb8 6bc6 vcvt.f64.s32 d6, s12 80d0d64: ee37 7b46 vsub.f64 d7, d7, d6 80d0d68: ed8d 6b04 vstr d6, [sp, #16] 80d0d6c: ee27 7b05 vmul.f64 d7, d7, d5 80d0d70: ed8d 7b06 vstr d7, [sp, #24] 80d0d74: 2303 movs r3, #3 80d0d76: ed31 7b02 vldmdb r1!, {d7} 80d0d7a: eeb5 7b40 vcmp.f64 d7, #0.0 80d0d7e: eef1 fa10 vmrs APSR_nzcv, fpscr 80d0d82: f103 30ff add.w r0, r3, #4294967295 80d0d86: d013 beq.n 80d0db0 <__ieee754_rem_pio2+0x220> 80d0d88: 4920 ldr r1, [pc, #128] ; (80d0e0c <__ieee754_rem_pio2+0x27c>) 80d0d8a: 9101 str r1, [sp, #4] 80d0d8c: 2102 movs r1, #2 80d0d8e: 9100 str r1, [sp, #0] 80d0d90: a802 add r0, sp, #8 80d0d92: 4621 mov r1, r4 80d0d94: f000 fad8 bl 80d1348 <__kernel_rem_pio2> 80d0d98: 2d00 cmp r5, #0 80d0d9a: f6bf af29 bge.w 80d0bf0 <__ieee754_rem_pio2+0x60> 80d0d9e: ed94 7b00 vldr d7, [r4] 80d0da2: eeb1 7b47 vneg.f64 d7, d7 80d0da6: ed84 7b00 vstr d7, [r4] 80d0daa: ed94 7b02 vldr d7, [r4, #8] 80d0dae: e777 b.n 80d0ca0 <__ieee754_rem_pio2+0x110> 80d0db0: 4603 mov r3, r0 80d0db2: e7e0 b.n 80d0d76 <__ieee754_rem_pio2+0x1e6> 80d0db4: f3af 8000 nop.w 80d0db8: 54400000 .word 0x54400000 80d0dbc: 3ff921fb .word 0x3ff921fb 80d0dc0: 1a626331 .word 0x1a626331 80d0dc4: 3dd0b461 .word 0x3dd0b461 80d0dc8: 1a600000 .word 0x1a600000 80d0dcc: 3dd0b461 .word 0x3dd0b461 80d0dd0: 2e037073 .word 0x2e037073 80d0dd4: 3ba3198a .word 0x3ba3198a 80d0dd8: 6dc9c883 .word 0x6dc9c883 80d0ddc: 3fe45f30 .word 0x3fe45f30 80d0de0: 2e000000 .word 0x2e000000 80d0de4: 3ba3198a .word 0x3ba3198a 80d0de8: 252049c1 .word 0x252049c1 80d0dec: 397b839a .word 0x397b839a 80d0df0: 00000000 .word 0x00000000 80d0df4: 41700000 .word 0x41700000 80d0df8: 3fe921fb .word 0x3fe921fb 80d0dfc: 4002d97b .word 0x4002d97b 80d0e00: 413921fb .word 0x413921fb 80d0e04: 0818d0d0 .word 0x0818d0d0 80d0e08: 7fefffff .word 0x7fefffff 80d0e0c: 0818d150 .word 0x0818d150 080d0e10 <__ieee754_sqrt>: 80d0e10: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80d0e14: ee10 3a90 vmov r3, s1 80d0e18: 4c4b ldr r4, [pc, #300] ; (80d0f48 <__ieee754_sqrt+0x138>) 80d0e1a: 439c bics r4, r3 80d0e1c: ee10 0a10 vmov r0, s0 80d0e20: ee10 2a90 vmov r2, s1 80d0e24: ee10 1a10 vmov r1, s0 80d0e28: d103 bne.n 80d0e32 <__ieee754_sqrt+0x22> 80d0e2a: eea0 0b00 vfma.f64 d0, d0, d0 80d0e2e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80d0e32: 2b00 cmp r3, #0 80d0e34: dc0a bgt.n 80d0e4c <__ieee754_sqrt+0x3c> 80d0e36: f023 4400 bic.w r4, r3, #2147483648 ; 0x80000000 80d0e3a: 4320 orrs r0, r4 80d0e3c: d079 beq.n 80d0f32 <__ieee754_sqrt+0x122> 80d0e3e: b12b cbz r3, 80d0e4c <__ieee754_sqrt+0x3c> 80d0e40: ee30 7b40 vsub.f64 d7, d0, d0 80d0e44: ee87 0b07 vdiv.f64 d0, d7, d7 80d0e48: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80d0e4c: 151b asrs r3, r3, #20 80d0e4e: d10c bne.n 80d0e6a <__ieee754_sqrt+0x5a> 80d0e50: 2a00 cmp r2, #0 80d0e52: d070 beq.n 80d0f36 <__ieee754_sqrt+0x126> 80d0e54: 2000 movs r0, #0 80d0e56: 02d5 lsls r5, r2, #11 80d0e58: d571 bpl.n 80d0f3e <__ieee754_sqrt+0x12e> 80d0e5a: 1e44 subs r4, r0, #1 80d0e5c: 1b1b subs r3, r3, r4 80d0e5e: f1c0 0420 rsb r4, r0, #32 80d0e62: fa21 f404 lsr.w r4, r1, r4 80d0e66: 4322 orrs r2, r4 80d0e68: 4081 lsls r1, r0 80d0e6a: f2a3 33ff subw r3, r3, #1023 ; 0x3ff 80d0e6e: f3c2 0213 ubfx r2, r2, #0, #20 80d0e72: 07dc lsls r4, r3, #31 80d0e74: f442 1280 orr.w r2, r2, #1048576 ; 0x100000 80d0e78: bf42 ittt mi 80d0e7a: 0052 lslmi r2, r2, #1 80d0e7c: eb02 72d1 addmi.w r2, r2, r1, lsr #31 80d0e80: 0049 lslmi r1, r1, #1 80d0e82: 105c asrs r4, r3, #1 80d0e84: 2500 movs r5, #0 80d0e86: eb02 73d1 add.w r3, r2, r1, lsr #31 80d0e8a: 441a add r2, r3 80d0e8c: 0049 lsls r1, r1, #1 80d0e8e: 2316 movs r3, #22 80d0e90: 4628 mov r0, r5 80d0e92: f44f 1600 mov.w r6, #2097152 ; 0x200000 80d0e96: 1987 adds r7, r0, r6 80d0e98: 4297 cmp r7, r2 80d0e9a: bfde ittt le 80d0e9c: 1bd2 suble r2, r2, r7 80d0e9e: 19b8 addle r0, r7, r6 80d0ea0: 19ad addle r5, r5, r6 80d0ea2: 0052 lsls r2, r2, #1 80d0ea4: 3b01 subs r3, #1 80d0ea6: eb02 72d1 add.w r2, r2, r1, lsr #31 80d0eaa: ea4f 0656 mov.w r6, r6, lsr #1 80d0eae: ea4f 0141 mov.w r1, r1, lsl #1 80d0eb2: d1f0 bne.n 80d0e96 <__ieee754_sqrt+0x86> 80d0eb4: f04f 0e20 mov.w lr, #32 80d0eb8: 469c mov ip, r3 80d0eba: f04f 4600 mov.w r6, #2147483648 ; 0x80000000 80d0ebe: 4282 cmp r2, r0 80d0ec0: eb06 070c add.w r7, r6, ip 80d0ec4: dc02 bgt.n 80d0ecc <__ieee754_sqrt+0xbc> 80d0ec6: d112 bne.n 80d0eee <__ieee754_sqrt+0xde> 80d0ec8: 428f cmp r7, r1 80d0eca: d810 bhi.n 80d0eee <__ieee754_sqrt+0xde> 80d0ecc: 2f00 cmp r7, #0 80d0ece: eb07 0c06 add.w ip, r7, r6 80d0ed2: da37 bge.n 80d0f44 <__ieee754_sqrt+0x134> 80d0ed4: f1bc 0f00 cmp.w ip, #0 80d0ed8: db34 blt.n 80d0f44 <__ieee754_sqrt+0x134> 80d0eda: f100 0801 add.w r8, r0, #1 80d0ede: 1a12 subs r2, r2, r0 80d0ee0: 428f cmp r7, r1 80d0ee2: bf88 it hi 80d0ee4: f102 32ff addhi.w r2, r2, #4294967295 80d0ee8: 1bc9 subs r1, r1, r7 80d0eea: 4433 add r3, r6 80d0eec: 4640 mov r0, r8 80d0eee: eb02 77d1 add.w r7, r2, r1, lsr #31 80d0ef2: f1be 0e01 subs.w lr, lr, #1 80d0ef6: 443a add r2, r7 80d0ef8: ea4f 0141 mov.w r1, r1, lsl #1 80d0efc: ea4f 0656 mov.w r6, r6, lsr #1 80d0f00: d1dd bne.n 80d0ebe <__ieee754_sqrt+0xae> 80d0f02: 430a orrs r2, r1 80d0f04: d006 beq.n 80d0f14 <__ieee754_sqrt+0x104> 80d0f06: 1c58 adds r0, r3, #1 80d0f08: bf13 iteet ne 80d0f0a: 3301 addne r3, #1 80d0f0c: 3501 addeq r5, #1 80d0f0e: 4673 moveq r3, lr 80d0f10: f023 0301 bicne.w r3, r3, #1 80d0f14: 106a asrs r2, r5, #1 80d0f16: 085b lsrs r3, r3, #1 80d0f18: 07e9 lsls r1, r5, #31 80d0f1a: f102 527f add.w r2, r2, #1069547520 ; 0x3fc00000 80d0f1e: f502 1200 add.w r2, r2, #2097152 ; 0x200000 80d0f22: bf48 it mi 80d0f24: f043 4300 orrmi.w r3, r3, #2147483648 ; 0x80000000 80d0f28: eb02 5104 add.w r1, r2, r4, lsl #20 80d0f2c: 4618 mov r0, r3 80d0f2e: ec41 0b10 vmov d0, r0, r1 80d0f32: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80d0f36: 0aca lsrs r2, r1, #11 80d0f38: 3b15 subs r3, #21 80d0f3a: 0549 lsls r1, r1, #21 80d0f3c: e788 b.n 80d0e50 <__ieee754_sqrt+0x40> 80d0f3e: 0052 lsls r2, r2, #1 80d0f40: 3001 adds r0, #1 80d0f42: e788 b.n 80d0e56 <__ieee754_sqrt+0x46> 80d0f44: 4680 mov r8, r0 80d0f46: e7ca b.n 80d0ede <__ieee754_sqrt+0xce> 80d0f48: 7ff00000 .word 0x7ff00000 080d0f4c <__ieee754_logf>: 80d0f4c: ee10 3a10 vmov r3, s0 80d0f50: f033 4200 bics.w r2, r3, #2147483648 ; 0x80000000 80d0f54: d106 bne.n 80d0f64 <__ieee754_logf+0x18> 80d0f56: eddf 7a67 vldr s15, [pc, #412] ; 80d10f4 <__ieee754_logf+0x1a8> 80d0f5a: ed9f 7a67 vldr s14, [pc, #412] ; 80d10f8 <__ieee754_logf+0x1ac> 80d0f5e: ee87 0a27 vdiv.f32 s0, s14, s15 80d0f62: 4770 bx lr 80d0f64: 2b00 cmp r3, #0 80d0f66: da04 bge.n 80d0f72 <__ieee754_logf+0x26> 80d0f68: ee30 7a40 vsub.f32 s14, s0, s0 80d0f6c: eddf 7a61 vldr s15, [pc, #388] ; 80d10f4 <__ieee754_logf+0x1a8> 80d0f70: e7f5 b.n 80d0f5e <__ieee754_logf+0x12> 80d0f72: f1b3 4fff cmp.w r3, #2139095040 ; 0x7f800000 80d0f76: db02 blt.n 80d0f7e <__ieee754_logf+0x32> 80d0f78: ee30 0a00 vadd.f32 s0, s0, s0 80d0f7c: 4770 bx lr 80d0f7e: f5b3 0f00 cmp.w r3, #8388608 ; 0x800000 80d0f82: bfbf itttt lt 80d0f84: eddf 7a5d vldrlt s15, [pc, #372] ; 80d10fc <__ieee754_logf+0x1b0> 80d0f88: ee60 7a27 vmullt.f32 s15, s0, s15 80d0f8c: f06f 0118 mvnlt.w r1, #24 80d0f90: ee17 3a90 vmovlt r3, s15 80d0f94: ea4f 52e3 mov.w r2, r3, asr #23 80d0f98: bfa8 it ge 80d0f9a: 2100 movge r1, #0 80d0f9c: 3a7f subs r2, #127 ; 0x7f 80d0f9e: 440a add r2, r1 80d0fa0: 4957 ldr r1, [pc, #348] ; (80d1100 <__ieee754_logf+0x1b4>) 80d0fa2: f3c3 0316 ubfx r3, r3, #0, #23 80d0fa6: 4419 add r1, r3 80d0fa8: f401 0100 and.w r1, r1, #8388608 ; 0x800000 80d0fac: eb02 52d1 add.w r2, r2, r1, lsr #23 80d0fb0: f081 517e eor.w r1, r1, #1065353216 ; 0x3f800000 80d0fb4: 4319 orrs r1, r3 80d0fb6: ee07 1a90 vmov s15, r1 80d0fba: f103 010f add.w r1, r3, #15 80d0fbe: f3c1 0116 ubfx r1, r1, #0, #23 80d0fc2: eeb7 0a00 vmov.f32 s0, #112 ; 0x3f800000 1.0 80d0fc6: 290f cmp r1, #15 80d0fc8: ee37 0ac0 vsub.f32 s0, s15, s0 80d0fcc: dc31 bgt.n 80d1032 <__ieee754_logf+0xe6> 80d0fce: eeb5 0a40 vcmp.f32 s0, #0.0 80d0fd2: eef1 fa10 vmrs APSR_nzcv, fpscr 80d0fd6: d10f bne.n 80d0ff8 <__ieee754_logf+0xac> 80d0fd8: 2a00 cmp r2, #0 80d0fda: f000 8087 beq.w 80d10ec <__ieee754_logf+0x1a0> 80d0fde: ee07 2a90 vmov s15, r2 80d0fe2: ed9f 0a48 vldr s0, [pc, #288] ; 80d1104 <__ieee754_logf+0x1b8> 80d0fe6: ed9f 7a48 vldr s14, [pc, #288] ; 80d1108 <__ieee754_logf+0x1bc> 80d0fea: eef8 7ae7 vcvt.f32.s32 s15, s15 80d0fee: ee27 0a80 vmul.f32 s0, s15, s0 80d0ff2: eea7 0a87 vfma.f32 s0, s15, s14 80d0ff6: 4770 bx lr 80d0ff8: eddf 7a44 vldr s15, [pc, #272] ; 80d110c <__ieee754_logf+0x1c0> 80d0ffc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80d1000: eea0 7a67 vfms.f32 s14, s0, s15 80d1004: ee60 7a00 vmul.f32 s15, s0, s0 80d1008: ee27 7a27 vmul.f32 s14, s14, s15 80d100c: b912 cbnz r2, 80d1014 <__ieee754_logf+0xc8> 80d100e: ee30 0a47 vsub.f32 s0, s0, s14 80d1012: 4770 bx lr 80d1014: ee07 2a90 vmov s15, r2 80d1018: eddf 6a3a vldr s13, [pc, #232] ; 80d1104 <__ieee754_logf+0x1b8> 80d101c: eef8 7ae7 vcvt.f32.s32 s15, s15 80d1020: eea7 7ae6 vfms.f32 s14, s15, s13 80d1024: ee37 0a40 vsub.f32 s0, s14, s0 80d1028: ed9f 7a37 vldr s14, [pc, #220] ; 80d1108 <__ieee754_logf+0x1bc> 80d102c: ee97 0a87 vfnms.f32 s0, s15, s14 80d1030: 4770 bx lr 80d1032: eef0 7a00 vmov.f32 s15, #0 ; 0x40000000 2.0 80d1036: ee70 7a27 vadd.f32 s15, s0, s15 80d103a: ed9f 5a35 vldr s10, [pc, #212] ; 80d1110 <__ieee754_logf+0x1c4> 80d103e: 4935 ldr r1, [pc, #212] ; (80d1114 <__ieee754_logf+0x1c8>) 80d1040: eec0 6a27 vdiv.f32 s13, s0, s15 80d1044: 4419 add r1, r3 80d1046: f5c3 1357 rsb r3, r3, #3522560 ; 0x35c000 80d104a: f503 7322 add.w r3, r3, #648 ; 0x288 80d104e: 430b orrs r3, r1 80d1050: 2b00 cmp r3, #0 80d1052: ee07 2a90 vmov s15, r2 80d1056: ee26 6aa6 vmul.f32 s12, s13, s13 80d105a: eef8 5ae7 vcvt.f32.s32 s11, s15 80d105e: ee26 7a06 vmul.f32 s14, s12, s12 80d1062: eddf 7a2d vldr s15, [pc, #180] ; 80d1118 <__ieee754_logf+0x1cc> 80d1066: eee7 7a05 vfma.f32 s15, s14, s10 80d106a: ed9f 5a2c vldr s10, [pc, #176] ; 80d111c <__ieee754_logf+0x1d0> 80d106e: eea7 5a27 vfma.f32 s10, s14, s15 80d1072: eddf 7a2b vldr s15, [pc, #172] ; 80d1120 <__ieee754_logf+0x1d4> 80d1076: eee7 7a05 vfma.f32 s15, s14, s10 80d107a: ed9f 5a2a vldr s10, [pc, #168] ; 80d1124 <__ieee754_logf+0x1d8> 80d107e: ee67 7a86 vmul.f32 s15, s15, s12 80d1082: ed9f 6a29 vldr s12, [pc, #164] ; 80d1128 <__ieee754_logf+0x1dc> 80d1086: eea7 5a06 vfma.f32 s10, s14, s12 80d108a: ed9f 6a28 vldr s12, [pc, #160] ; 80d112c <__ieee754_logf+0x1e0> 80d108e: eea7 6a05 vfma.f32 s12, s14, s10 80d1092: eee7 7a06 vfma.f32 s15, s14, s12 80d1096: dd1a ble.n 80d10ce <__ieee754_logf+0x182> 80d1098: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80d109c: ee20 7a07 vmul.f32 s14, s0, s14 80d10a0: ee27 7a00 vmul.f32 s14, s14, s0 80d10a4: ee77 7a87 vadd.f32 s15, s15, s14 80d10a8: b912 cbnz r2, 80d10b0 <__ieee754_logf+0x164> 80d10aa: eea6 7ae7 vfms.f32 s14, s13, s15 80d10ae: e7ae b.n 80d100e <__ieee754_logf+0xc2> 80d10b0: ed9f 6a14 vldr s12, [pc, #80] ; 80d1104 <__ieee754_logf+0x1b8> 80d10b4: ee25 6a86 vmul.f32 s12, s11, s12 80d10b8: eea6 6aa7 vfma.f32 s12, s13, s15 80d10bc: ee37 7a46 vsub.f32 s14, s14, s12 80d10c0: ee37 0a40 vsub.f32 s0, s14, s0 80d10c4: eddf 7a10 vldr s15, [pc, #64] ; 80d1108 <__ieee754_logf+0x1bc> 80d10c8: ee95 0aa7 vfnms.f32 s0, s11, s15 80d10cc: 4770 bx lr 80d10ce: ee70 7a67 vsub.f32 s15, s0, s15 80d10d2: b912 cbnz r2, 80d10da <__ieee754_logf+0x18e> 80d10d4: eea6 0ae7 vfms.f32 s0, s13, s15 80d10d8: 4770 bx lr 80d10da: ed9f 7a0a vldr s14, [pc, #40] ; 80d1104 <__ieee754_logf+0x1b8> 80d10de: ee27 7a65 vnmul.f32 s14, s14, s11 80d10e2: eea6 7aa7 vfma.f32 s14, s13, s15 80d10e6: ee37 0a40 vsub.f32 s0, s14, s0 80d10ea: e7eb b.n 80d10c4 <__ieee754_logf+0x178> 80d10ec: ed9f 0a01 vldr s0, [pc, #4] ; 80d10f4 <__ieee754_logf+0x1a8> 80d10f0: 4770 bx lr 80d10f2: bf00 nop 80d10f4: 00000000 .word 0x00000000 80d10f8: cc000000 .word 0xcc000000 80d10fc: 4c000000 .word 0x4c000000 80d1100: 004afb20 .word 0x004afb20 80d1104: 3717f7d1 .word 0x3717f7d1 80d1108: 3f317180 .word 0x3f317180 80d110c: 3eaaaaab .word 0x3eaaaaab 80d1110: 3e178897 .word 0x3e178897 80d1114: ffcf5c30 .word 0xffcf5c30 80d1118: 3e3a3325 .word 0x3e3a3325 80d111c: 3e924925 .word 0x3e924925 80d1120: 3f2aaaab .word 0x3f2aaaab 80d1124: 3e638e29 .word 0x3e638e29 80d1128: 3e1cd04f .word 0x3e1cd04f 80d112c: 3ecccccd .word 0x3ecccccd 080d1130 <__ieee754_log10f>: 80d1130: b508 push {r3, lr} 80d1132: ee10 2a10 vmov r2, s0 80d1136: f032 4300 bics.w r3, r2, #2147483648 ; 0x80000000 80d113a: ed2d 8b02 vpush {d8} 80d113e: d108 bne.n 80d1152 <__ieee754_log10f+0x22> 80d1140: eddf 7a21 vldr s15, [pc, #132] ; 80d11c8 <__ieee754_log10f+0x98> 80d1144: ed9f 7a21 vldr s14, [pc, #132] ; 80d11cc <__ieee754_log10f+0x9c> 80d1148: ee87 0a27 vdiv.f32 s0, s14, s15 80d114c: ecbd 8b02 vpop {d8} 80d1150: bd08 pop {r3, pc} 80d1152: 2a00 cmp r2, #0 80d1154: da04 bge.n 80d1160 <__ieee754_log10f+0x30> 80d1156: ee30 7a40 vsub.f32 s14, s0, s0 80d115a: eddf 7a1b vldr s15, [pc, #108] ; 80d11c8 <__ieee754_log10f+0x98> 80d115e: e7f3 b.n 80d1148 <__ieee754_log10f+0x18> 80d1160: f1b2 4fff cmp.w r2, #2139095040 ; 0x7f800000 80d1164: db02 blt.n 80d116c <__ieee754_log10f+0x3c> 80d1166: ee30 0a00 vadd.f32 s0, s0, s0 80d116a: e7ef b.n 80d114c <__ieee754_log10f+0x1c> 80d116c: f5b2 0f00 cmp.w r2, #8388608 ; 0x800000 80d1170: bfbf itttt lt 80d1172: eddf 7a17 vldrlt s15, [pc, #92] ; 80d11d0 <__ieee754_log10f+0xa0> 80d1176: ee60 7a27 vmullt.f32 s15, s0, s15 80d117a: f06f 0118 mvnlt.w r1, #24 80d117e: ee17 2a90 vmovlt r2, s15 80d1182: ea4f 53e2 mov.w r3, r2, asr #23 80d1186: bfa8 it ge 80d1188: 2100 movge r1, #0 80d118a: 3b7f subs r3, #127 ; 0x7f 80d118c: 440b add r3, r1 80d118e: 0fd9 lsrs r1, r3, #31 80d1190: 440b add r3, r1 80d1192: f3c2 0216 ubfx r2, r2, #0, #23 80d1196: f1c1 017f rsb r1, r1, #127 ; 0x7f 80d119a: ee07 3a90 vmov s15, r3 80d119e: ea42 53c1 orr.w r3, r2, r1, lsl #23 80d11a2: ee00 3a10 vmov s0, r3 80d11a6: eeb8 8ae7 vcvt.f32.s32 s16, s15 80d11aa: f7ff fecf bl 80d0f4c <__ieee754_logf> 80d11ae: eddf 7a09 vldr s15, [pc, #36] ; 80d11d4 <__ieee754_log10f+0xa4> 80d11b2: ee20 0a27 vmul.f32 s0, s0, s15 80d11b6: eddf 7a08 vldr s15, [pc, #32] ; 80d11d8 <__ieee754_log10f+0xa8> 80d11ba: eea8 0a27 vfma.f32 s0, s16, s15 80d11be: eddf 7a07 vldr s15, [pc, #28] ; 80d11dc <__ieee754_log10f+0xac> 80d11c2: eea8 0a27 vfma.f32 s0, s16, s15 80d11c6: e7c1 b.n 80d114c <__ieee754_log10f+0x1c> 80d11c8: 00000000 .word 0x00000000 80d11cc: cc000000 .word 0xcc000000 80d11d0: 4c000000 .word 0x4c000000 80d11d4: 3ede5bd9 .word 0x3ede5bd9 80d11d8: 355427db .word 0x355427db 80d11dc: 3e9a2080 .word 0x3e9a2080 080d11e0 <__ieee754_sqrtf>: 80d11e0: ee10 2a10 vmov r2, s0 80d11e4: f022 4100 bic.w r1, r2, #2147483648 ; 0x80000000 80d11e8: f1b1 4fff cmp.w r1, #2139095040 ; 0x7f800000 80d11ec: b570 push {r4, r5, r6, lr} 80d11ee: d302 bcc.n 80d11f6 <__ieee754_sqrtf+0x16> 80d11f0: eea0 0a00 vfma.f32 s0, s0, s0 80d11f4: bd70 pop {r4, r5, r6, pc} 80d11f6: b3b1 cbz r1, 80d1266 <__ieee754_sqrtf+0x86> 80d11f8: 2a00 cmp r2, #0 80d11fa: da04 bge.n 80d1206 <__ieee754_sqrtf+0x26> 80d11fc: ee70 7a40 vsub.f32 s15, s0, s0 80d1200: ee87 0aa7 vdiv.f32 s0, s15, s15 80d1204: bd70 pop {r4, r5, r6, pc} 80d1206: f5b1 0f00 cmp.w r1, #8388608 ; 0x800000 80d120a: ea4f 53e2 mov.w r3, r2, asr #23 80d120e: d204 bcs.n 80d121a <__ieee754_sqrtf+0x3a> 80d1210: 2100 movs r1, #0 80d1212: 0210 lsls r0, r2, #8 80d1214: d528 bpl.n 80d1268 <__ieee754_sqrtf+0x88> 80d1216: 3901 subs r1, #1 80d1218: 1a5b subs r3, r3, r1 80d121a: 3b7f subs r3, #127 ; 0x7f 80d121c: f3c2 0216 ubfx r2, r2, #0, #23 80d1220: 07d9 lsls r1, r3, #31 80d1222: f442 0200 orr.w r2, r2, #8388608 ; 0x800000 80d1226: bf48 it mi 80d1228: 0052 lslmi r2, r2, #1 80d122a: 1059 asrs r1, r3, #1 80d122c: 2300 movs r3, #0 80d122e: 0052 lsls r2, r2, #1 80d1230: 2419 movs r4, #25 80d1232: 461e mov r6, r3 80d1234: f04f 7080 mov.w r0, #16777216 ; 0x1000000 80d1238: 1835 adds r5, r6, r0 80d123a: 4295 cmp r5, r2 80d123c: bfde ittt le 80d123e: 182e addle r6, r5, r0 80d1240: 1b52 suble r2, r2, r5 80d1242: 181b addle r3, r3, r0 80d1244: 3c01 subs r4, #1 80d1246: ea4f 0242 mov.w r2, r2, lsl #1 80d124a: ea4f 0050 mov.w r0, r0, lsr #1 80d124e: d1f3 bne.n 80d1238 <__ieee754_sqrtf+0x58> 80d1250: b112 cbz r2, 80d1258 <__ieee754_sqrtf+0x78> 80d1252: 3301 adds r3, #1 80d1254: f023 0301 bic.w r3, r3, #1 80d1258: 105b asrs r3, r3, #1 80d125a: f103 537c add.w r3, r3, #1056964608 ; 0x3f000000 80d125e: eb03 53c1 add.w r3, r3, r1, lsl #23 80d1262: ee00 3a10 vmov s0, r3 80d1266: bd70 pop {r4, r5, r6, pc} 80d1268: 0052 lsls r2, r2, #1 80d126a: 3101 adds r1, #1 80d126c: e7d1 b.n 80d1212 <__ieee754_sqrtf+0x32> ... 080d1270 <__kernel_cos>: 80d1270: ee10 1a90 vmov r1, s1 80d1274: eeb7 5b00 vmov.f64 d5, #112 ; 0x3f800000 1.0 80d1278: f021 4100 bic.w r1, r1, #2147483648 ; 0x80000000 80d127c: f1b1 5f79 cmp.w r1, #1044381696 ; 0x3e400000 80d1280: da05 bge.n 80d128e <__kernel_cos+0x1e> 80d1282: eefd 7bc0 vcvt.s32.f64 s15, d0 80d1286: ee17 3a90 vmov r3, s15 80d128a: 2b00 cmp r3, #0 80d128c: d03d beq.n 80d130a <__kernel_cos+0x9a> 80d128e: ee20 6b00 vmul.f64 d6, d0, d0 80d1292: ee20 1b01 vmul.f64 d1, d0, d1 80d1296: ed9f 7b1e vldr d7, [pc, #120] ; 80d1310 <__kernel_cos+0xa0> 80d129a: eeb6 3b00 vmov.f64 d3, #96 ; 0x3f000000 0.5 80d129e: ed9f 4b1e vldr d4, [pc, #120] ; 80d1318 <__kernel_cos+0xa8> 80d12a2: eea6 4b07 vfma.f64 d4, d6, d7 80d12a6: ed9f 7b1e vldr d7, [pc, #120] ; 80d1320 <__kernel_cos+0xb0> 80d12aa: eea6 7b04 vfma.f64 d7, d6, d4 80d12ae: ed9f 4b1e vldr d4, [pc, #120] ; 80d1328 <__kernel_cos+0xb8> 80d12b2: eea6 4b07 vfma.f64 d4, d6, d7 80d12b6: ed9f 7b1e vldr d7, [pc, #120] ; 80d1330 <__kernel_cos+0xc0> 80d12ba: 4b21 ldr r3, [pc, #132] ; (80d1340 <__kernel_cos+0xd0>) 80d12bc: eea6 7b04 vfma.f64 d7, d6, d4 80d12c0: ed9f 4b1d vldr d4, [pc, #116] ; 80d1338 <__kernel_cos+0xc8> 80d12c4: 4299 cmp r1, r3 80d12c6: eea6 4b07 vfma.f64 d4, d6, d7 80d12ca: ee24 4b06 vmul.f64 d4, d4, d6 80d12ce: dc06 bgt.n 80d12de <__kernel_cos+0x6e> 80d12d0: ee96 1b04 vfnms.f64 d1, d6, d4 80d12d4: ee96 1b03 vfnms.f64 d1, d6, d3 80d12d8: ee35 0b41 vsub.f64 d0, d5, d1 80d12dc: 4770 bx lr 80d12de: 4b19 ldr r3, [pc, #100] ; (80d1344 <__kernel_cos+0xd4>) 80d12e0: 4299 cmp r1, r3 80d12e2: dc0f bgt.n 80d1304 <__kernel_cos+0x94> 80d12e4: 2200 movs r2, #0 80d12e6: f5a1 1300 sub.w r3, r1, #2097152 ; 0x200000 80d12ea: ec43 2b17 vmov d7, r2, r3 80d12ee: ee35 5b47 vsub.f64 d5, d5, d7 80d12f2: ee96 1b04 vfnms.f64 d1, d6, d4 80d12f6: ee96 7b03 vfnms.f64 d7, d6, d3 80d12fa: ee37 0b41 vsub.f64 d0, d7, d1 80d12fe: ee35 0b40 vsub.f64 d0, d5, d0 80d1302: 4770 bx lr 80d1304: eeb5 7b02 vmov.f64 d7, #82 ; 0x3e900000 0.2812500 80d1308: e7f1 b.n 80d12ee <__kernel_cos+0x7e> 80d130a: eeb0 0b45 vmov.f64 d0, d5 80d130e: 4770 bx lr 80d1310: be8838d4 .word 0xbe8838d4 80d1314: bda8fae9 .word 0xbda8fae9 80d1318: bdb4b1c4 .word 0xbdb4b1c4 80d131c: 3e21ee9e .word 0x3e21ee9e 80d1320: 809c52ad .word 0x809c52ad 80d1324: be927e4f .word 0xbe927e4f 80d1328: 19cb1590 .word 0x19cb1590 80d132c: 3efa01a0 .word 0x3efa01a0 80d1330: 16c15177 .word 0x16c15177 80d1334: bf56c16c .word 0xbf56c16c 80d1338: 5555554c .word 0x5555554c 80d133c: 3fa55555 .word 0x3fa55555 80d1340: 3fd33332 .word 0x3fd33332 80d1344: 3fe90000 .word 0x3fe90000 080d1348 <__kernel_rem_pio2>: 80d1348: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80d134c: ed2d 8b06 vpush {d8-d10} 80d1350: f5ad 7d13 sub.w sp, sp, #588 ; 0x24c 80d1354: 468b mov fp, r1 80d1356: 9301 str r3, [sp, #4] 80d1358: 99a2 ldr r1, [sp, #648] ; 0x288 80d135a: 4bcf ldr r3, [pc, #828] ; (80d1698 <__kernel_rem_pio2+0x350>) 80d135c: 9002 str r0, [sp, #8] 80d135e: f853 a021 ldr.w sl, [r3, r1, lsl #2] 80d1362: 9b01 ldr r3, [sp, #4] 80d1364: 9ca3 ldr r4, [sp, #652] ; 0x28c 80d1366: 3b01 subs r3, #1 80d1368: 1ed0 subs r0, r2, #3 80d136a: 2518 movs r5, #24 80d136c: ed9f 6bc4 vldr d6, [pc, #784] ; 80d1680 <__kernel_rem_pio2+0x338> 80d1370: fb90 f0f5 sdiv r0, r0, r5 80d1374: f06f 0517 mvn.w r5, #23 80d1378: ea20 70e0 bic.w r0, r0, r0, asr #31 80d137c: fb00 5505 mla r5, r0, r5, r5 80d1380: 1ac7 subs r7, r0, r3 80d1382: 4415 add r5, r2 80d1384: eb0a 0e03 add.w lr, sl, r3 80d1388: ae1a add r6, sp, #104 ; 0x68 80d138a: eb04 0c87 add.w ip, r4, r7, lsl #2 80d138e: 2200 movs r2, #0 80d1390: 4572 cmp r2, lr 80d1392: dd0f ble.n 80d13b4 <__kernel_rem_pio2+0x6c> 80d1394: f50d 7ed4 add.w lr, sp, #424 ; 0x1a8 80d1398: 2600 movs r6, #0 80d139a: 4556 cmp r6, sl 80d139c: dc27 bgt.n 80d13ee <__kernel_rem_pio2+0xa6> 80d139e: 9a01 ldr r2, [sp, #4] 80d13a0: 9f02 ldr r7, [sp, #8] 80d13a2: 4432 add r2, r6 80d13a4: a91a add r1, sp, #104 ; 0x68 80d13a6: eb01 02c2 add.w r2, r1, r2, lsl #3 80d13aa: ed9f 7bb5 vldr d7, [pc, #724] ; 80d1680 <__kernel_rem_pio2+0x338> 80d13ae: f04f 0c00 mov.w ip, #0 80d13b2: e016 b.n 80d13e2 <__kernel_rem_pio2+0x9a> 80d13b4: 42d7 cmn r7, r2 80d13b6: d409 bmi.n 80d13cc <__kernel_rem_pio2+0x84> 80d13b8: f85c 1022 ldr.w r1, [ip, r2, lsl #2] 80d13bc: ee07 1a90 vmov s15, r1 80d13c0: eeb8 7be7 vcvt.f64.s32 d7, s15 80d13c4: eca6 7b02 vstmia r6!, {d7} 80d13c8: 3201 adds r2, #1 80d13ca: e7e1 b.n 80d1390 <__kernel_rem_pio2+0x48> 80d13cc: eeb0 7b46 vmov.f64 d7, d6 80d13d0: e7f8 b.n 80d13c4 <__kernel_rem_pio2+0x7c> 80d13d2: ecb7 5b02 vldmia r7!, {d5} 80d13d6: ed32 6b02 vldmdb r2!, {d6} 80d13da: f10c 0c01 add.w ip, ip, #1 80d13de: eea5 7b06 vfma.f64 d7, d5, d6 80d13e2: 459c cmp ip, r3 80d13e4: ddf5 ble.n 80d13d2 <__kernel_rem_pio2+0x8a> 80d13e6: ecae 7b02 vstmia lr!, {d7} 80d13ea: 3601 adds r6, #1 80d13ec: e7d5 b.n 80d139a <__kernel_rem_pio2+0x52> 80d13ee: aa06 add r2, sp, #24 80d13f0: eb02 028a add.w r2, r2, sl, lsl #2 80d13f4: ed9f 9ba4 vldr d9, [pc, #656] ; 80d1688 <__kernel_rem_pio2+0x340> 80d13f8: ed9f aba5 vldr d10, [pc, #660] ; 80d1690 <__kernel_rem_pio2+0x348> 80d13fc: 9204 str r2, [sp, #16] 80d13fe: eb04 0280 add.w r2, r4, r0, lsl #2 80d1402: 9203 str r2, [sp, #12] 80d1404: 4657 mov r7, sl 80d1406: aa92 add r2, sp, #584 ; 0x248 80d1408: f107 5800 add.w r8, r7, #536870912 ; 0x20000000 80d140c: eb02 02c7 add.w r2, r2, r7, lsl #3 80d1410: f108 38ff add.w r8, r8, #4294967295 80d1414: ed12 0b28 vldr d0, [r2, #-160] ; 0xffffff60 80d1418: ea4f 08c8 mov.w r8, r8, lsl #3 80d141c: aa92 add r2, sp, #584 ; 0x248 80d141e: eb02 0008 add.w r0, r2, r8 80d1422: 3898 subs r0, #152 ; 0x98 80d1424: 2200 movs r2, #0 80d1426: 1abc subs r4, r7, r2 80d1428: 2c00 cmp r4, #0 80d142a: dc4c bgt.n 80d14c6 <__kernel_rem_pio2+0x17e> 80d142c: 4628 mov r0, r5 80d142e: 9305 str r3, [sp, #20] 80d1430: f000 fc7a bl 80d1d28 80d1434: eeb0 8b40 vmov.f64 d8, d0 80d1438: eeb4 0b00 vmov.f64 d0, #64 ; 0x3e000000 0.125 80d143c: ee28 0b00 vmul.f64 d0, d8, d0 80d1440: f000 fb62 bl 80d1b08 80d1444: eeb2 7b00 vmov.f64 d7, #32 ; 0x41000000 8.0 80d1448: eea0 8b47 vfms.f64 d8, d0, d7 80d144c: eefd 7bc8 vcvt.s32.f64 s15, d8 80d1450: 2d00 cmp r5, #0 80d1452: ee17 9a90 vmov r9, s15 80d1456: 9b05 ldr r3, [sp, #20] 80d1458: eeb8 7be7 vcvt.f64.s32 d7, s15 80d145c: ee38 8b47 vsub.f64 d8, d8, d7 80d1460: dd46 ble.n 80d14f0 <__kernel_rem_pio2+0x1a8> 80d1462: 1e78 subs r0, r7, #1 80d1464: aa06 add r2, sp, #24 80d1466: f1c5 0418 rsb r4, r5, #24 80d146a: f852 6020 ldr.w r6, [r2, r0, lsl #2] 80d146e: fa46 f204 asr.w r2, r6, r4 80d1472: 4491 add r9, r2 80d1474: 40a2 lsls r2, r4 80d1476: 1ab6 subs r6, r6, r2 80d1478: aa06 add r2, sp, #24 80d147a: f842 6020 str.w r6, [r2, r0, lsl #2] 80d147e: f1c5 0217 rsb r2, r5, #23 80d1482: 4116 asrs r6, r2 80d1484: 2e00 cmp r6, #0 80d1486: dd42 ble.n 80d150e <__kernel_rem_pio2+0x1c6> 80d1488: 2400 movs r4, #0 80d148a: f109 0901 add.w r9, r9, #1 80d148e: 4620 mov r0, r4 80d1490: f06f 4e7f mvn.w lr, #4278190080 ; 0xff000000 80d1494: 42a7 cmp r7, r4 80d1496: dc75 bgt.n 80d1584 <__kernel_rem_pio2+0x23c> 80d1498: 2d00 cmp r5, #0 80d149a: dd05 ble.n 80d14a8 <__kernel_rem_pio2+0x160> 80d149c: 2d01 cmp r5, #1 80d149e: f000 8086 beq.w 80d15ae <__kernel_rem_pio2+0x266> 80d14a2: 2d02 cmp r5, #2 80d14a4: f000 808d beq.w 80d15c2 <__kernel_rem_pio2+0x27a> 80d14a8: 2e02 cmp r6, #2 80d14aa: d130 bne.n 80d150e <__kernel_rem_pio2+0x1c6> 80d14ac: eeb7 0b00 vmov.f64 d0, #112 ; 0x3f800000 1.0 80d14b0: ee30 8b48 vsub.f64 d8, d0, d8 80d14b4: b358 cbz r0, 80d150e <__kernel_rem_pio2+0x1c6> 80d14b6: 4628 mov r0, r5 80d14b8: 9305 str r3, [sp, #20] 80d14ba: f000 fc35 bl 80d1d28 80d14be: 9b05 ldr r3, [sp, #20] 80d14c0: ee38 8b40 vsub.f64 d8, d8, d0 80d14c4: e023 b.n 80d150e <__kernel_rem_pio2+0x1c6> 80d14c6: ee20 7b09 vmul.f64 d7, d0, d9 80d14ca: eebd 7bc7 vcvt.s32.f64 s14, d7 80d14ce: ac06 add r4, sp, #24 80d14d0: eeb8 7bc7 vcvt.f64.s32 d7, s14 80d14d4: eea7 0b4a vfms.f64 d0, d7, d10 80d14d8: eebd 0bc0 vcvt.s32.f64 s0, d0 80d14dc: ee10 1a10 vmov r1, s0 80d14e0: ed30 0b02 vldmdb r0!, {d0} 80d14e4: f844 1022 str.w r1, [r4, r2, lsl #2] 80d14e8: ee37 0b00 vadd.f64 d0, d7, d0 80d14ec: 3201 adds r2, #1 80d14ee: e79a b.n 80d1426 <__kernel_rem_pio2+0xde> 80d14f0: d105 bne.n 80d14fe <__kernel_rem_pio2+0x1b6> 80d14f2: 1e7a subs r2, r7, #1 80d14f4: a906 add r1, sp, #24 80d14f6: f851 6022 ldr.w r6, [r1, r2, lsl #2] 80d14fa: 15f6 asrs r6, r6, #23 80d14fc: e7c2 b.n 80d1484 <__kernel_rem_pio2+0x13c> 80d14fe: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80d1502: eeb4 8bc7 vcmpe.f64 d8, d7 80d1506: eef1 fa10 vmrs APSR_nzcv, fpscr 80d150a: da39 bge.n 80d1580 <__kernel_rem_pio2+0x238> 80d150c: 2600 movs r6, #0 80d150e: eeb5 8b40 vcmp.f64 d8, #0.0 80d1512: eef1 fa10 vmrs APSR_nzcv, fpscr 80d1516: f040 808e bne.w 80d1636 <__kernel_rem_pio2+0x2ee> 80d151a: 1e7c subs r4, r7, #1 80d151c: 4620 mov r0, r4 80d151e: 2200 movs r2, #0 80d1520: 4550 cmp r0, sl 80d1522: da55 bge.n 80d15d0 <__kernel_rem_pio2+0x288> 80d1524: 2a00 cmp r2, #0 80d1526: d164 bne.n 80d15f2 <__kernel_rem_pio2+0x2aa> 80d1528: 2401 movs r4, #1 80d152a: f06f 0003 mvn.w r0, #3 80d152e: fb00 f204 mul.w r2, r0, r4 80d1532: 9904 ldr r1, [sp, #16] 80d1534: 588a ldr r2, [r1, r2] 80d1536: 2a00 cmp r2, #0 80d1538: d050 beq.n 80d15dc <__kernel_rem_pio2+0x294> 80d153a: aa92 add r2, sp, #584 ; 0x248 80d153c: 4490 add r8, r2 80d153e: 9a01 ldr r2, [sp, #4] 80d1540: a91a add r1, sp, #104 ; 0x68 80d1542: 443a add r2, r7 80d1544: 1c78 adds r0, r7, #1 80d1546: f1a8 0890 sub.w r8, r8, #144 ; 0x90 80d154a: eb01 02c2 add.w r2, r1, r2, lsl #3 80d154e: 4427 add r7, r4 80d1550: 42b8 cmp r0, r7 80d1552: f73f af58 bgt.w 80d1406 <__kernel_rem_pio2+0xbe> 80d1556: 9903 ldr r1, [sp, #12] 80d1558: 9e02 ldr r6, [sp, #8] 80d155a: f851 1020 ldr.w r1, [r1, r0, lsl #2] 80d155e: 9105 str r1, [sp, #20] 80d1560: ee07 1a90 vmov s15, r1 80d1564: eeb8 7be7 vcvt.f64.s32 d7, s15 80d1568: 2400 movs r4, #0 80d156a: eca2 7b02 vstmia r2!, {d7} 80d156e: ed9f 7b44 vldr d7, [pc, #272] ; 80d1680 <__kernel_rem_pio2+0x338> 80d1572: 4696 mov lr, r2 80d1574: 429c cmp r4, r3 80d1576: dd33 ble.n 80d15e0 <__kernel_rem_pio2+0x298> 80d1578: eca8 7b02 vstmia r8!, {d7} 80d157c: 3001 adds r0, #1 80d157e: e7e7 b.n 80d1550 <__kernel_rem_pio2+0x208> 80d1580: 2602 movs r6, #2 80d1582: e781 b.n 80d1488 <__kernel_rem_pio2+0x140> 80d1584: aa06 add r2, sp, #24 80d1586: f852 2024 ldr.w r2, [r2, r4, lsl #2] 80d158a: b948 cbnz r0, 80d15a0 <__kernel_rem_pio2+0x258> 80d158c: b12a cbz r2, 80d159a <__kernel_rem_pio2+0x252> 80d158e: a906 add r1, sp, #24 80d1590: f1c2 7280 rsb r2, r2, #16777216 ; 0x1000000 80d1594: f841 2024 str.w r2, [r1, r4, lsl #2] 80d1598: 2201 movs r2, #1 80d159a: 3401 adds r4, #1 80d159c: 4610 mov r0, r2 80d159e: e779 b.n 80d1494 <__kernel_rem_pio2+0x14c> 80d15a0: a906 add r1, sp, #24 80d15a2: ebae 0202 sub.w r2, lr, r2 80d15a6: f841 2024 str.w r2, [r1, r4, lsl #2] 80d15aa: 4602 mov r2, r0 80d15ac: e7f5 b.n 80d159a <__kernel_rem_pio2+0x252> 80d15ae: 1e7c subs r4, r7, #1 80d15b0: aa06 add r2, sp, #24 80d15b2: f852 2024 ldr.w r2, [r2, r4, lsl #2] 80d15b6: f3c2 0216 ubfx r2, r2, #0, #23 80d15ba: a906 add r1, sp, #24 80d15bc: f841 2024 str.w r2, [r1, r4, lsl #2] 80d15c0: e772 b.n 80d14a8 <__kernel_rem_pio2+0x160> 80d15c2: 1e7c subs r4, r7, #1 80d15c4: aa06 add r2, sp, #24 80d15c6: f852 2024 ldr.w r2, [r2, r4, lsl #2] 80d15ca: f3c2 0215 ubfx r2, r2, #0, #22 80d15ce: e7f4 b.n 80d15ba <__kernel_rem_pio2+0x272> 80d15d0: a906 add r1, sp, #24 80d15d2: f851 1020 ldr.w r1, [r1, r0, lsl #2] 80d15d6: 3801 subs r0, #1 80d15d8: 430a orrs r2, r1 80d15da: e7a1 b.n 80d1520 <__kernel_rem_pio2+0x1d8> 80d15dc: 3401 adds r4, #1 80d15de: e7a6 b.n 80d152e <__kernel_rem_pio2+0x1e6> 80d15e0: ecb6 5b02 vldmia r6!, {d5} 80d15e4: ed3e 6b02 vldmdb lr!, {d6} 80d15e8: 3401 adds r4, #1 80d15ea: eea5 7b06 vfma.f64 d7, d5, d6 80d15ee: e7c1 b.n 80d1574 <__kernel_rem_pio2+0x22c> 80d15f0: 3c01 subs r4, #1 80d15f2: ab06 add r3, sp, #24 80d15f4: 3d18 subs r5, #24 80d15f6: f853 3024 ldr.w r3, [r3, r4, lsl #2] 80d15fa: 2b00 cmp r3, #0 80d15fc: d0f8 beq.n 80d15f0 <__kernel_rem_pio2+0x2a8> 80d15fe: 4628 mov r0, r5 80d1600: eeb7 0b00 vmov.f64 d0, #112 ; 0x3f800000 1.0 80d1604: f000 fb90 bl 80d1d28 80d1608: 00e3 lsls r3, r4, #3 80d160a: ed9f 6b1f vldr d6, [pc, #124] ; 80d1688 <__kernel_rem_pio2+0x340> 80d160e: aa6a add r2, sp, #424 ; 0x1a8 80d1610: 3308 adds r3, #8 80d1612: 18d0 adds r0, r2, r3 80d1614: 4622 mov r2, r4 80d1616: 2a00 cmp r2, #0 80d1618: da4b bge.n 80d16b2 <__kernel_rem_pio2+0x36a> 80d161a: f50d 7e84 add.w lr, sp, #264 ; 0x108 80d161e: 2200 movs r2, #0 80d1620: 4677 mov r7, lr 80d1622: 1aa5 subs r5, r4, r2 80d1624: d464 bmi.n 80d16f0 <__kernel_rem_pio2+0x3a8> 80d1626: a86a add r0, sp, #424 ; 0x1a8 80d1628: eb00 05c5 add.w r5, r0, r5, lsl #3 80d162c: 491b ldr r1, [pc, #108] ; (80d169c <__kernel_rem_pio2+0x354>) 80d162e: ed9f 7b14 vldr d7, [pc, #80] ; 80d1680 <__kernel_rem_pio2+0x338> 80d1632: 2000 movs r0, #0 80d1634: e054 b.n 80d16e0 <__kernel_rem_pio2+0x398> 80d1636: 4268 negs r0, r5 80d1638: eeb0 0b48 vmov.f64 d0, d8 80d163c: f000 fb74 bl 80d1d28 80d1640: ed9f 6b13 vldr d6, [pc, #76] ; 80d1690 <__kernel_rem_pio2+0x348> 80d1644: eeb4 0bc6 vcmpe.f64 d0, d6 80d1648: eef1 fa10 vmrs APSR_nzcv, fpscr 80d164c: db28 blt.n 80d16a0 <__kernel_rem_pio2+0x358> 80d164e: ed9f 7b0e vldr d7, [pc, #56] ; 80d1688 <__kernel_rem_pio2+0x340> 80d1652: ee20 7b07 vmul.f64 d7, d0, d7 80d1656: eebd 7bc7 vcvt.s32.f64 s14, d7 80d165a: aa06 add r2, sp, #24 80d165c: eeb8 5bc7 vcvt.f64.s32 d5, s14 80d1660: eea5 0b46 vfms.f64 d0, d5, d6 80d1664: eebd 0bc0 vcvt.s32.f64 s0, d0 80d1668: 1c7c adds r4, r7, #1 80d166a: ee10 3a10 vmov r3, s0 80d166e: f842 3027 str.w r3, [r2, r7, lsl #2] 80d1672: ee17 3a10 vmov r3, s14 80d1676: 3518 adds r5, #24 80d1678: f842 3024 str.w r3, [r2, r4, lsl #2] 80d167c: e7bf b.n 80d15fe <__kernel_rem_pio2+0x2b6> 80d167e: bf00 nop ... 80d168c: 3e700000 .word 0x3e700000 80d1690: 00000000 .word 0x00000000 80d1694: 41700000 .word 0x41700000 80d1698: 0818d298 .word 0x0818d298 80d169c: 0818d258 .word 0x0818d258 80d16a0: eebd 0bc0 vcvt.s32.f64 s0, d0 80d16a4: aa06 add r2, sp, #24 80d16a6: ee10 3a10 vmov r3, s0 80d16aa: 463c mov r4, r7 80d16ac: f842 3027 str.w r3, [r2, r7, lsl #2] 80d16b0: e7a5 b.n 80d15fe <__kernel_rem_pio2+0x2b6> 80d16b2: a906 add r1, sp, #24 80d16b4: f851 1022 ldr.w r1, [r1, r2, lsl #2] 80d16b8: 9101 str r1, [sp, #4] 80d16ba: ee07 1a90 vmov s15, r1 80d16be: 3a01 subs r2, #1 80d16c0: eeb8 7be7 vcvt.f64.s32 d7, s15 80d16c4: ee27 7b00 vmul.f64 d7, d7, d0 80d16c8: ee20 0b06 vmul.f64 d0, d0, d6 80d16cc: ed20 7b02 vstmdb r0!, {d7} 80d16d0: e7a1 b.n 80d1616 <__kernel_rem_pio2+0x2ce> 80d16d2: ecb1 5b02 vldmia r1!, {d5} 80d16d6: ecb5 6b02 vldmia r5!, {d6} 80d16da: 3001 adds r0, #1 80d16dc: eea5 7b06 vfma.f64 d7, d5, d6 80d16e0: 4550 cmp r0, sl 80d16e2: dc01 bgt.n 80d16e8 <__kernel_rem_pio2+0x3a0> 80d16e4: 4290 cmp r0, r2 80d16e6: ddf4 ble.n 80d16d2 <__kernel_rem_pio2+0x38a> 80d16e8: ecae 7b02 vstmia lr!, {d7} 80d16ec: 3201 adds r2, #1 80d16ee: e798 b.n 80d1622 <__kernel_rem_pio2+0x2da> 80d16f0: 9aa2 ldr r2, [sp, #648] ; 0x288 80d16f2: 2a03 cmp r2, #3 80d16f4: d843 bhi.n 80d177e <__kernel_rem_pio2+0x436> 80d16f6: e8df f002 tbb [pc, r2] 80d16fa: 1d37 .short 0x1d37 80d16fc: 021d .short 0x021d 80d16fe: aa42 add r2, sp, #264 ; 0x108 80d1700: 4413 add r3, r2 80d1702: 461a mov r2, r3 80d1704: 4620 mov r0, r4 80d1706: 2800 cmp r0, #0 80d1708: dc56 bgt.n 80d17b8 <__kernel_rem_pio2+0x470> 80d170a: 461a mov r2, r3 80d170c: 4620 mov r0, r4 80d170e: 2801 cmp r0, #1 80d1710: dc62 bgt.n 80d17d8 <__kernel_rem_pio2+0x490> 80d1712: ed9f 7b45 vldr d7, [pc, #276] ; 80d1828 <__kernel_rem_pio2+0x4e0> 80d1716: 2c01 cmp r4, #1 80d1718: dc6e bgt.n 80d17f8 <__kernel_rem_pio2+0x4b0> 80d171a: 2e00 cmp r6, #0 80d171c: d172 bne.n 80d1804 <__kernel_rem_pio2+0x4bc> 80d171e: e9dd 2342 ldrd r2, r3, [sp, #264] ; 0x108 80d1722: e9cb 2300 strd r2, r3, [fp] 80d1726: e9dd 2344 ldrd r2, r3, [sp, #272] ; 0x110 80d172a: e9cb 2302 strd r2, r3, [fp, #8] 80d172e: ed8b 7b04 vstr d7, [fp, #16] 80d1732: e024 b.n 80d177e <__kernel_rem_pio2+0x436> 80d1734: ed9f 6b3c vldr d6, [pc, #240] ; 80d1828 <__kernel_rem_pio2+0x4e0> 80d1738: aa42 add r2, sp, #264 ; 0x108 80d173a: 4413 add r3, r2 80d173c: 4622 mov r2, r4 80d173e: 2a00 cmp r2, #0 80d1740: da2b bge.n 80d179a <__kernel_rem_pio2+0x452> 80d1742: b386 cbz r6, 80d17a6 <__kernel_rem_pio2+0x45e> 80d1744: eeb1 7b46 vneg.f64 d7, d6 80d1748: ed8b 7b00 vstr d7, [fp] 80d174c: ed9d 7b42 vldr d7, [sp, #264] ; 0x108 80d1750: aa44 add r2, sp, #272 ; 0x110 80d1752: 2301 movs r3, #1 80d1754: ee37 7b46 vsub.f64 d7, d7, d6 80d1758: 429c cmp r4, r3 80d175a: da27 bge.n 80d17ac <__kernel_rem_pio2+0x464> 80d175c: b10e cbz r6, 80d1762 <__kernel_rem_pio2+0x41a> 80d175e: eeb1 7b47 vneg.f64 d7, d7 80d1762: ed8b 7b02 vstr d7, [fp, #8] 80d1766: e00a b.n 80d177e <__kernel_rem_pio2+0x436> 80d1768: ed9f 7b2f vldr d7, [pc, #188] ; 80d1828 <__kernel_rem_pio2+0x4e0> 80d176c: aa42 add r2, sp, #264 ; 0x108 80d176e: 4413 add r3, r2 80d1770: 2c00 cmp r4, #0 80d1772: da0c bge.n 80d178e <__kernel_rem_pio2+0x446> 80d1774: b10e cbz r6, 80d177a <__kernel_rem_pio2+0x432> 80d1776: eeb1 7b47 vneg.f64 d7, d7 80d177a: ed8b 7b00 vstr d7, [fp] 80d177e: f009 0007 and.w r0, r9, #7 80d1782: f50d 7d13 add.w sp, sp, #588 ; 0x24c 80d1786: ecbd 8b06 vpop {d8-d10} 80d178a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80d178e: ed33 6b02 vldmdb r3!, {d6} 80d1792: 3c01 subs r4, #1 80d1794: ee37 7b06 vadd.f64 d7, d7, d6 80d1798: e7ea b.n 80d1770 <__kernel_rem_pio2+0x428> 80d179a: ed33 7b02 vldmdb r3!, {d7} 80d179e: 3a01 subs r2, #1 80d17a0: ee36 6b07 vadd.f64 d6, d6, d7 80d17a4: e7cb b.n 80d173e <__kernel_rem_pio2+0x3f6> 80d17a6: eeb0 7b46 vmov.f64 d7, d6 80d17aa: e7cd b.n 80d1748 <__kernel_rem_pio2+0x400> 80d17ac: ecb2 6b02 vldmia r2!, {d6} 80d17b0: 3301 adds r3, #1 80d17b2: ee37 7b06 vadd.f64 d7, d7, d6 80d17b6: e7cf b.n 80d1758 <__kernel_rem_pio2+0x410> 80d17b8: ed12 5b02 vldr d5, [r2, #-8] 80d17bc: ed12 7b04 vldr d7, [r2, #-16] 80d17c0: ee37 6b05 vadd.f64 d6, d7, d5 80d17c4: ee37 7b46 vsub.f64 d7, d7, d6 80d17c8: ee37 7b05 vadd.f64 d7, d7, d5 80d17cc: ed22 7b02 vstmdb r2!, {d7} 80d17d0: 3801 subs r0, #1 80d17d2: ed02 6b02 vstr d6, [r2, #-8] 80d17d6: e796 b.n 80d1706 <__kernel_rem_pio2+0x3be> 80d17d8: ed12 5b02 vldr d5, [r2, #-8] 80d17dc: ed12 7b04 vldr d7, [r2, #-16] 80d17e0: ee37 6b05 vadd.f64 d6, d7, d5 80d17e4: ee37 7b46 vsub.f64 d7, d7, d6 80d17e8: ee37 7b05 vadd.f64 d7, d7, d5 80d17ec: ed22 7b02 vstmdb r2!, {d7} 80d17f0: 3801 subs r0, #1 80d17f2: ed02 6b02 vstr d6, [r2, #-8] 80d17f6: e78a b.n 80d170e <__kernel_rem_pio2+0x3c6> 80d17f8: ed33 6b02 vldmdb r3!, {d6} 80d17fc: 3c01 subs r4, #1 80d17fe: ee37 7b06 vadd.f64 d7, d7, d6 80d1802: e788 b.n 80d1716 <__kernel_rem_pio2+0x3ce> 80d1804: ed97 6b00 vldr d6, [r7] 80d1808: eeb1 7b47 vneg.f64 d7, d7 80d180c: eeb1 6b46 vneg.f64 d6, d6 80d1810: ed8b 6b00 vstr d6, [fp] 80d1814: ed97 6b02 vldr d6, [r7, #8] 80d1818: eeb1 6b46 vneg.f64 d6, d6 80d181c: ed8b 6b02 vstr d6, [fp, #8] 80d1820: e785 b.n 80d172e <__kernel_rem_pio2+0x3e6> 80d1822: bf00 nop 80d1824: f3af 8000 nop.w ... 080d1830 <__kernel_sin>: 80d1830: ee10 3a90 vmov r3, s1 80d1834: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80d1838: f1b3 5f79 cmp.w r3, #1044381696 ; 0x3e400000 80d183c: da04 bge.n 80d1848 <__kernel_sin+0x18> 80d183e: eefd 7bc0 vcvt.s32.f64 s15, d0 80d1842: ee17 3a90 vmov r3, s15 80d1846: b35b cbz r3, 80d18a0 <__kernel_sin+0x70> 80d1848: ee20 6b00 vmul.f64 d6, d0, d0 80d184c: ee20 5b06 vmul.f64 d5, d0, d6 80d1850: ed9f 7b15 vldr d7, [pc, #84] ; 80d18a8 <__kernel_sin+0x78> 80d1854: ed9f 4b16 vldr d4, [pc, #88] ; 80d18b0 <__kernel_sin+0x80> 80d1858: eea6 4b07 vfma.f64 d4, d6, d7 80d185c: ed9f 7b16 vldr d7, [pc, #88] ; 80d18b8 <__kernel_sin+0x88> 80d1860: eea6 7b04 vfma.f64 d7, d6, d4 80d1864: ed9f 4b16 vldr d4, [pc, #88] ; 80d18c0 <__kernel_sin+0x90> 80d1868: eea6 4b07 vfma.f64 d4, d6, d7 80d186c: ed9f 7b16 vldr d7, [pc, #88] ; 80d18c8 <__kernel_sin+0x98> 80d1870: eea6 7b04 vfma.f64 d7, d6, d4 80d1874: b930 cbnz r0, 80d1884 <__kernel_sin+0x54> 80d1876: ed9f 4b16 vldr d4, [pc, #88] ; 80d18d0 <__kernel_sin+0xa0> 80d187a: eea6 4b07 vfma.f64 d4, d6, d7 80d187e: eea5 0b04 vfma.f64 d0, d5, d4 80d1882: 4770 bx lr 80d1884: ee27 7b45 vnmul.f64 d7, d7, d5 80d1888: eeb6 4b00 vmov.f64 d4, #96 ; 0x3f000000 0.5 80d188c: eea1 7b04 vfma.f64 d7, d1, d4 80d1890: ee96 1b07 vfnms.f64 d1, d6, d7 80d1894: ed9f 7b10 vldr d7, [pc, #64] ; 80d18d8 <__kernel_sin+0xa8> 80d1898: eea5 1b07 vfma.f64 d1, d5, d7 80d189c: ee30 0b41 vsub.f64 d0, d0, d1 80d18a0: 4770 bx lr 80d18a2: bf00 nop 80d18a4: f3af 8000 nop.w 80d18a8: 5acfd57c .word 0x5acfd57c 80d18ac: 3de5d93a .word 0x3de5d93a 80d18b0: 8a2b9ceb .word 0x8a2b9ceb 80d18b4: be5ae5e6 .word 0xbe5ae5e6 80d18b8: 57b1fe7d .word 0x57b1fe7d 80d18bc: 3ec71de3 .word 0x3ec71de3 80d18c0: 19c161d5 .word 0x19c161d5 80d18c4: bf2a01a0 .word 0xbf2a01a0 80d18c8: 1110f8a6 .word 0x1110f8a6 80d18cc: 3f811111 .word 0x3f811111 80d18d0: 55555549 .word 0x55555549 80d18d4: bfc55555 .word 0xbfc55555 80d18d8: 55555549 .word 0x55555549 80d18dc: 3fc55555 .word 0x3fc55555 080d18e0 <__kernel_tan>: 80d18e0: eeb0 7b40 vmov.f64 d7, d0 80d18e4: ee17 3a90 vmov r3, s15 80d18e8: b507 push {r0, r1, r2, lr} 80d18ea: 4981 ldr r1, [pc, #516] ; (80d1af0 <__kernel_tan+0x210>) 80d18ec: f023 4200 bic.w r2, r3, #2147483648 ; 0x80000000 80d18f0: 428a cmp r2, r1 80d18f2: dc1c bgt.n 80d192e <__kernel_tan+0x4e> 80d18f4: eefd 6bc0 vcvt.s32.f64 s13, d0 80d18f8: ee16 1a90 vmov r1, s13 80d18fc: bb69 cbnz r1, 80d195a <__kernel_tan+0x7a> 80d18fe: ee10 3a10 vmov r3, s0 80d1902: 431a orrs r2, r3 80d1904: 1c43 adds r3, r0, #1 80d1906: 4313 orrs r3, r2 80d1908: d10a bne.n 80d1920 <__kernel_tan+0x40> 80d190a: f7fe f8e1 bl 80cfad0 80d190e: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 80d1912: ee86 7b00 vdiv.f64 d7, d6, d0 80d1916: eeb0 0b47 vmov.f64 d0, d7 80d191a: b003 add sp, #12 80d191c: f85d fb04 ldr.w pc, [sp], #4 80d1920: 2801 cmp r0, #1 80d1922: d0f8 beq.n 80d1916 <__kernel_tan+0x36> 80d1924: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80d1928: ee86 7b00 vdiv.f64 d7, d6, d0 80d192c: e7f3 b.n 80d1916 <__kernel_tan+0x36> 80d192e: 4971 ldr r1, [pc, #452] ; (80d1af4 <__kernel_tan+0x214>) 80d1930: 428a cmp r2, r1 80d1932: dd12 ble.n 80d195a <__kernel_tan+0x7a> 80d1934: ed9f 6b4e vldr d6, [pc, #312] ; 80d1a70 <__kernel_tan+0x190> 80d1938: 2b00 cmp r3, #0 80d193a: bfb8 it lt 80d193c: eeb1 7b40 vneglt.f64 d7, d0 80d1940: ee36 7b47 vsub.f64 d7, d6, d7 80d1944: ed9f 6b4c vldr d6, [pc, #304] ; 80d1a78 <__kernel_tan+0x198> 80d1948: bfb8 it lt 80d194a: eeb1 1b41 vneglt.f64 d1, d1 80d194e: ee36 1b41 vsub.f64 d1, d6, d1 80d1952: ee31 7b07 vadd.f64 d7, d1, d7 80d1956: ed9f 1b4a vldr d1, [pc, #296] ; 80d1a80 <__kernel_tan+0x1a0> 80d195a: ee27 5b07 vmul.f64 d5, d7, d7 80d195e: ee25 6b05 vmul.f64 d6, d5, d5 80d1962: ed9f 3b49 vldr d3, [pc, #292] ; 80d1a88 <__kernel_tan+0x1a8> 80d1966: ee27 0b05 vmul.f64 d0, d7, d5 80d196a: ed9f 4b49 vldr d4, [pc, #292] ; 80d1a90 <__kernel_tan+0x1b0> 80d196e: eea6 4b03 vfma.f64 d4, d6, d3 80d1972: ed9f 3b49 vldr d3, [pc, #292] ; 80d1a98 <__kernel_tan+0x1b8> 80d1976: eea6 3b04 vfma.f64 d3, d6, d4 80d197a: ed9f 4b49 vldr d4, [pc, #292] ; 80d1aa0 <__kernel_tan+0x1c0> 80d197e: eea6 4b03 vfma.f64 d4, d6, d3 80d1982: ed9f 3b49 vldr d3, [pc, #292] ; 80d1aa8 <__kernel_tan+0x1c8> 80d1986: eea6 3b04 vfma.f64 d3, d6, d4 80d198a: ed9f 4b49 vldr d4, [pc, #292] ; 80d1ab0 <__kernel_tan+0x1d0> 80d198e: ed9f 2b4a vldr d2, [pc, #296] ; 80d1ab8 <__kernel_tan+0x1d8> 80d1992: eea6 4b03 vfma.f64 d4, d6, d3 80d1996: ed9f 3b4a vldr d3, [pc, #296] ; 80d1ac0 <__kernel_tan+0x1e0> 80d199a: eea6 3b02 vfma.f64 d3, d6, d2 80d199e: ed9f 2b4a vldr d2, [pc, #296] ; 80d1ac8 <__kernel_tan+0x1e8> 80d19a2: eea6 2b03 vfma.f64 d2, d6, d3 80d19a6: ed9f 3b4a vldr d3, [pc, #296] ; 80d1ad0 <__kernel_tan+0x1f0> 80d19aa: eea6 3b02 vfma.f64 d3, d6, d2 80d19ae: ed9f 2b4a vldr d2, [pc, #296] ; 80d1ad8 <__kernel_tan+0x1f8> 80d19b2: eea6 2b03 vfma.f64 d2, d6, d3 80d19b6: ed9f 3b4a vldr d3, [pc, #296] ; 80d1ae0 <__kernel_tan+0x200> 80d19ba: 494e ldr r1, [pc, #312] ; (80d1af4 <__kernel_tan+0x214>) 80d19bc: eea6 3b02 vfma.f64 d3, d6, d2 80d19c0: eeb0 6b41 vmov.f64 d6, d1 80d19c4: eea5 4b03 vfma.f64 d4, d5, d3 80d19c8: eea0 6b04 vfma.f64 d6, d0, d4 80d19cc: eea5 1b06 vfma.f64 d1, d5, d6 80d19d0: ed9f 6b45 vldr d6, [pc, #276] ; 80d1ae8 <__kernel_tan+0x208> 80d19d4: 428a cmp r2, r1 80d19d6: eea0 1b06 vfma.f64 d1, d0, d6 80d19da: ee37 6b01 vadd.f64 d6, d7, d1 80d19de: ed8d 6b00 vstr d6, [sp] 80d19e2: dd1f ble.n 80d1a24 <__kernel_tan+0x144> 80d19e4: ed9d 5b00 vldr d5, [sp] 80d19e8: 179b asrs r3, r3, #30 80d19ea: ee06 0a90 vmov s13, r0 80d19ee: ee25 3b05 vmul.f64 d3, d5, d5 80d19f2: f003 0302 and.w r3, r3, #2 80d19f6: f1c3 0301 rsb r3, r3, #1 80d19fa: eeb8 6be6 vcvt.f64.s32 d6, s13 80d19fe: ee35 4b06 vadd.f64 d4, d5, d6 80d1a02: ee83 5b04 vdiv.f64 d5, d3, d4 80d1a06: ee35 1b41 vsub.f64 d1, d5, d1 80d1a0a: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 80d1a0e: ee37 7b41 vsub.f64 d7, d7, d1 80d1a12: eea7 6b45 vfms.f64 d6, d7, d5 80d1a16: ee07 3a10 vmov s14, r3 80d1a1a: eeb8 7bc7 vcvt.f64.s32 d7, s14 80d1a1e: ee26 7b07 vmul.f64 d7, d6, d7 80d1a22: e778 b.n 80d1916 <__kernel_tan+0x36> 80d1a24: 2801 cmp r0, #1 80d1a26: d020 beq.n 80d1a6a <__kernel_tan+0x18a> 80d1a28: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80d1a2c: ed9d 3b00 vldr d3, [sp] 80d1a30: e9dd 0100 ldrd r0, r1, [sp] 80d1a34: ee86 4b03 vdiv.f64 d4, d6, d3 80d1a38: ed8d 4b00 vstr d4, [sp] 80d1a3c: e9dd 2300 ldrd r2, r3, [sp] 80d1a40: 2000 movs r0, #0 80d1a42: 4602 mov r2, r0 80d1a44: ec43 2b16 vmov d6, r2, r3 80d1a48: ec41 0b15 vmov d5, r0, r1 80d1a4c: ee35 7b47 vsub.f64 d7, d5, d7 80d1a50: ee31 1b47 vsub.f64 d1, d1, d7 80d1a54: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80d1a58: eea5 7b06 vfma.f64 d7, d5, d6 80d1a5c: eea1 7b06 vfma.f64 d7, d1, d6 80d1a60: eea4 6b07 vfma.f64 d6, d4, d7 80d1a64: eeb0 7b46 vmov.f64 d7, d6 80d1a68: e755 b.n 80d1916 <__kernel_tan+0x36> 80d1a6a: ed9d 7b00 vldr d7, [sp] 80d1a6e: e752 b.n 80d1916 <__kernel_tan+0x36> 80d1a70: 54442d18 .word 0x54442d18 80d1a74: 3fe921fb .word 0x3fe921fb 80d1a78: 33145c07 .word 0x33145c07 80d1a7c: 3c81a626 .word 0x3c81a626 ... 80d1a88: db605373 .word 0xdb605373 80d1a8c: bef375cb .word 0xbef375cb 80d1a90: a03792a6 .word 0xa03792a6 80d1a94: 3f147e88 .word 0x3f147e88 80d1a98: f2f26501 .word 0xf2f26501 80d1a9c: 3f4344d8 .word 0x3f4344d8 80d1aa0: c9560328 .word 0xc9560328 80d1aa4: 3f6d6d22 .word 0x3f6d6d22 80d1aa8: 8406d637 .word 0x8406d637 80d1aac: 3f9664f4 .word 0x3f9664f4 80d1ab0: 1110fe7a .word 0x1110fe7a 80d1ab4: 3fc11111 .word 0x3fc11111 80d1ab8: 74bf7ad4 .word 0x74bf7ad4 80d1abc: 3efb2a70 .word 0x3efb2a70 80d1ac0: 32f0a7e9 .word 0x32f0a7e9 80d1ac4: 3f12b80f .word 0x3f12b80f 80d1ac8: 1a8d1068 .word 0x1a8d1068 80d1acc: 3f3026f7 .word 0x3f3026f7 80d1ad0: fee08315 .word 0xfee08315 80d1ad4: 3f57dbc8 .word 0x3f57dbc8 80d1ad8: e96e8493 .word 0xe96e8493 80d1adc: 3f8226e3 .word 0x3f8226e3 80d1ae0: 1bb341fe .word 0x1bb341fe 80d1ae4: 3faba1ba .word 0x3faba1ba 80d1ae8: 55555563 .word 0x55555563 80d1aec: 3fd55555 .word 0x3fd55555 80d1af0: 3e2fffff .word 0x3e2fffff 80d1af4: 3fe59427 .word 0x3fe59427 080d1af8 : 80d1af8: ee10 3a90 vmov r3, s1 80d1afc: f043 4000 orr.w r0, r3, #2147483648 ; 0x80000000 80d1b00: f500 1080 add.w r0, r0, #1048576 ; 0x100000 80d1b04: 0fc0 lsrs r0, r0, #31 80d1b06: 4770 bx lr 080d1b08 : 80d1b08: ee10 1a90 vmov r1, s1 80d1b0c: f3c1 520a ubfx r2, r1, #20, #11 80d1b10: f2a2 33ff subw r3, r2, #1023 ; 0x3ff 80d1b14: 2b13 cmp r3, #19 80d1b16: b530 push {r4, r5, lr} 80d1b18: ee10 0a10 vmov r0, s0 80d1b1c: ee10 5a10 vmov r5, s0 80d1b20: dc33 bgt.n 80d1b8a 80d1b22: 2b00 cmp r3, #0 80d1b24: da17 bge.n 80d1b56 80d1b26: ed9f 7b30 vldr d7, [pc, #192] ; 80d1be8 80d1b2a: ee30 0b07 vadd.f64 d0, d0, d7 80d1b2e: eeb5 0bc0 vcmpe.f64 d0, #0.0 80d1b32: eef1 fa10 vmrs APSR_nzcv, fpscr 80d1b36: dd09 ble.n 80d1b4c 80d1b38: 2900 cmp r1, #0 80d1b3a: da50 bge.n 80d1bde 80d1b3c: f021 4300 bic.w r3, r1, #2147483648 ; 0x80000000 80d1b40: 432b orrs r3, r5 80d1b42: 4b2b ldr r3, [pc, #172] ; (80d1bf0 ) 80d1b44: f04f 0000 mov.w r0, #0 80d1b48: bf18 it ne 80d1b4a: 4619 movne r1, r3 80d1b4c: 460b mov r3, r1 80d1b4e: 4602 mov r2, r0 80d1b50: ec43 2b10 vmov d0, r2, r3 80d1b54: bd30 pop {r4, r5, pc} 80d1b56: 4a27 ldr r2, [pc, #156] ; (80d1bf4 ) 80d1b58: 411a asrs r2, r3 80d1b5a: ea01 0402 and.w r4, r1, r2 80d1b5e: 432c orrs r4, r5 80d1b60: d0f8 beq.n 80d1b54 80d1b62: ed9f 7b21 vldr d7, [pc, #132] ; 80d1be8 80d1b66: ee30 0b07 vadd.f64 d0, d0, d7 80d1b6a: eeb5 0bc0 vcmpe.f64 d0, #0.0 80d1b6e: eef1 fa10 vmrs APSR_nzcv, fpscr 80d1b72: ddeb ble.n 80d1b4c 80d1b74: 2900 cmp r1, #0 80d1b76: bfbe ittt lt 80d1b78: f44f 1080 movlt.w r0, #1048576 ; 0x100000 80d1b7c: fa40 f303 asrlt.w r3, r0, r3 80d1b80: 18c9 addlt r1, r1, r3 80d1b82: ea21 0102 bic.w r1, r1, r2 80d1b86: 2000 movs r0, #0 80d1b88: e7e0 b.n 80d1b4c 80d1b8a: 2b33 cmp r3, #51 ; 0x33 80d1b8c: dd05 ble.n 80d1b9a 80d1b8e: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80d1b92: d1df bne.n 80d1b54 80d1b94: ee30 0b00 vadd.f64 d0, d0, d0 80d1b98: bd30 pop {r4, r5, pc} 80d1b9a: f2a2 4413 subw r4, r2, #1043 ; 0x413 80d1b9e: f04f 32ff mov.w r2, #4294967295 80d1ba2: 40e2 lsrs r2, r4 80d1ba4: 4215 tst r5, r2 80d1ba6: d0d5 beq.n 80d1b54 80d1ba8: ed9f 7b0f vldr d7, [pc, #60] ; 80d1be8 80d1bac: ee30 0b07 vadd.f64 d0, d0, d7 80d1bb0: eeb5 0bc0 vcmpe.f64 d0, #0.0 80d1bb4: eef1 fa10 vmrs APSR_nzcv, fpscr 80d1bb8: ddc8 ble.n 80d1b4c 80d1bba: 2900 cmp r1, #0 80d1bbc: da02 bge.n 80d1bc4 80d1bbe: 2b14 cmp r3, #20 80d1bc0: d103 bne.n 80d1bca 80d1bc2: 3101 adds r1, #1 80d1bc4: ea20 0002 bic.w r0, r0, r2 80d1bc8: e7c0 b.n 80d1b4c 80d1bca: 2401 movs r4, #1 80d1bcc: f1c3 0334 rsb r3, r3, #52 ; 0x34 80d1bd0: fa04 f303 lsl.w r3, r4, r3 80d1bd4: 4418 add r0, r3 80d1bd6: 4285 cmp r5, r0 80d1bd8: bf88 it hi 80d1bda: 1909 addhi r1, r1, r4 80d1bdc: e7f2 b.n 80d1bc4 80d1bde: 2000 movs r0, #0 80d1be0: 4601 mov r1, r0 80d1be2: e7b3 b.n 80d1b4c 80d1be4: f3af 8000 nop.w 80d1be8: 8800759c .word 0x8800759c 80d1bec: 7e37e43c .word 0x7e37e43c 80d1bf0: bff00000 .word 0xbff00000 80d1bf4: 000fffff .word 0x000fffff 080d1bf8 : 80d1bf8: 2000 movs r0, #0 80d1bfa: 4770 bx lr 80d1bfc: 0000 movs r0, r0 ... 080d1c00 : 80d1c00: ed9f 0b01 vldr d0, [pc, #4] ; 80d1c08 80d1c04: 4770 bx lr 80d1c06: bf00 nop 80d1c08: 00000000 .word 0x00000000 80d1c0c: 7ff80000 .word 0x7ff80000 080d1c10 : 80d1c10: b530 push {r4, r5, lr} 80d1c12: b085 sub sp, #20 80d1c14: ed8d 0b00 vstr d0, [sp] 80d1c18: 9b01 ldr r3, [sp, #4] 80d1c1a: 9d00 ldr r5, [sp, #0] 80d1c1c: f3c3 510a ubfx r1, r3, #20, #11 80d1c20: f2a1 30ff subw r0, r1, #1023 ; 0x3ff 80d1c24: 2813 cmp r0, #19 80d1c26: 462a mov r2, r5 80d1c28: ea4f 74d3 mov.w r4, r3, lsr #31 80d1c2c: dc5a bgt.n 80d1ce4 80d1c2e: 2800 cmp r0, #0 80d1c30: da2f bge.n 80d1c92 80d1c32: f023 4200 bic.w r2, r3, #2147483648 ; 0x80000000 80d1c36: 432a orrs r2, r5 80d1c38: d027 beq.n 80d1c8a 80d1c3a: f3c3 0213 ubfx r2, r3, #0, #20 80d1c3e: 4315 orrs r5, r2 80d1c40: 426a negs r2, r5 80d1c42: 432a orrs r2, r5 80d1c44: 0b12 lsrs r2, r2, #12 80d1c46: 0c5b lsrs r3, r3, #17 80d1c48: f402 2200 and.w r2, r2, #524288 ; 0x80000 80d1c4c: 045b lsls r3, r3, #17 80d1c4e: e9dd 0100 ldrd r0, r1, [sp] 80d1c52: ea42 0103 orr.w r1, r2, r3 80d1c56: 4b32 ldr r3, [pc, #200] ; (80d1d20 ) 80d1c58: eb03 03c4 add.w r3, r3, r4, lsl #3 80d1c5c: ed93 6b00 vldr d6, [r3] 80d1c60: ec41 0b17 vmov d7, r0, r1 80d1c64: ee37 7b06 vadd.f64 d7, d7, d6 80d1c68: ed8d 7b02 vstr d7, [sp, #8] 80d1c6c: ed9d 7b02 vldr d7, [sp, #8] 80d1c70: ee37 7b46 vsub.f64 d7, d7, d6 80d1c74: ed8d 7b00 vstr d7, [sp] 80d1c78: 9901 ldr r1, [sp, #4] 80d1c7a: e9dd 2300 ldrd r2, r3, [sp] 80d1c7e: f021 4100 bic.w r1, r1, #2147483648 ; 0x80000000 80d1c82: ea41 73c4 orr.w r3, r1, r4, lsl #31 80d1c86: e9cd 2300 strd r2, r3, [sp] 80d1c8a: ed9d 0b00 vldr d0, [sp] 80d1c8e: b005 add sp, #20 80d1c90: bd30 pop {r4, r5, pc} 80d1c92: 4924 ldr r1, [pc, #144] ; (80d1d24 ) 80d1c94: 4101 asrs r1, r0 80d1c96: ea03 0501 and.w r5, r3, r1 80d1c9a: 4315 orrs r5, r2 80d1c9c: d0f5 beq.n 80d1c8a 80d1c9e: 0849 lsrs r1, r1, #1 80d1ca0: ea03 0501 and.w r5, r3, r1 80d1ca4: 432a orrs r2, r5 80d1ca6: d00b beq.n 80d1cc0 80d1ca8: ea23 0101 bic.w r1, r3, r1 80d1cac: f44f 2380 mov.w r3, #262144 ; 0x40000 80d1cb0: 2813 cmp r0, #19 80d1cb2: fa43 f300 asr.w r3, r3, r0 80d1cb6: bf0c ite eq 80d1cb8: f04f 4200 moveq.w r2, #2147483648 ; 0x80000000 80d1cbc: 2200 movne r2, #0 80d1cbe: 430b orrs r3, r1 80d1cc0: 4619 mov r1, r3 80d1cc2: 4b17 ldr r3, [pc, #92] ; (80d1d20 ) 80d1cc4: eb03 04c4 add.w r4, r3, r4, lsl #3 80d1cc8: ed94 6b00 vldr d6, [r4] 80d1ccc: 4610 mov r0, r2 80d1cce: ec41 0b17 vmov d7, r0, r1 80d1cd2: ee37 7b06 vadd.f64 d7, d7, d6 80d1cd6: ed8d 7b02 vstr d7, [sp, #8] 80d1cda: ed9d 7b02 vldr d7, [sp, #8] 80d1cde: ee37 7b46 vsub.f64 d7, d7, d6 80d1ce2: e008 b.n 80d1cf6 80d1ce4: 2833 cmp r0, #51 ; 0x33 80d1ce6: dd09 ble.n 80d1cfc 80d1ce8: f5b0 6f80 cmp.w r0, #1024 ; 0x400 80d1cec: d1cd bne.n 80d1c8a 80d1cee: ed9d 7b00 vldr d7, [sp] 80d1cf2: ee37 7b07 vadd.f64 d7, d7, d7 80d1cf6: ed8d 7b00 vstr d7, [sp] 80d1cfa: e7c6 b.n 80d1c8a 80d1cfc: f2a1 4013 subw r0, r1, #1043 ; 0x413 80d1d00: f04f 31ff mov.w r1, #4294967295 80d1d04: 40c1 lsrs r1, r0 80d1d06: 420d tst r5, r1 80d1d08: d0bf beq.n 80d1c8a 80d1d0a: 0849 lsrs r1, r1, #1 80d1d0c: 420d tst r5, r1 80d1d0e: bf1f itttt ne 80d1d10: f04f 4280 movne.w r2, #1073741824 ; 0x40000000 80d1d14: ea25 0101 bicne.w r1, r5, r1 80d1d18: 4102 asrne r2, r0 80d1d1a: 430a orrne r2, r1 80d1d1c: e7d0 b.n 80d1cc0 80d1d1e: bf00 nop 80d1d20: 0818d2a8 .word 0x0818d2a8 80d1d24: 000fffff .word 0x000fffff 080d1d28 : 80d1d28: b500 push {lr} 80d1d2a: ed2d 8b02 vpush {d8} 80d1d2e: b083 sub sp, #12 80d1d30: ed8d 0b00 vstr d0, [sp] 80d1d34: e89d 000a ldmia.w sp, {r1, r3} 80d1d38: f3c3 520a ubfx r2, r3, #20, #11 80d1d3c: b9a2 cbnz r2, 80d1d68 80d1d3e: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80d1d42: 430b orrs r3, r1 80d1d44: d03a beq.n 80d1dbc 80d1d46: ed9f 7b2e vldr d7, [pc, #184] ; 80d1e00 80d1d4a: 4a35 ldr r2, [pc, #212] ; (80d1e20 ) 80d1d4c: ee20 7b07 vmul.f64 d7, d0, d7 80d1d50: 4290 cmp r0, r2 80d1d52: ed8d 7b00 vstr d7, [sp] 80d1d56: 9b01 ldr r3, [sp, #4] 80d1d58: da11 bge.n 80d1d7e 80d1d5a: ed9f 7b2b vldr d7, [pc, #172] ; 80d1e08 80d1d5e: ed9d 6b00 vldr d6, [sp] 80d1d62: ee27 7b06 vmul.f64 d7, d7, d6 80d1d66: e007 b.n 80d1d78 80d1d68: f240 71ff movw r1, #2047 ; 0x7ff 80d1d6c: 428a cmp r2, r1 80d1d6e: d109 bne.n 80d1d84 80d1d70: ed9d 7b00 vldr d7, [sp] 80d1d74: ee37 7b07 vadd.f64 d7, d7, d7 80d1d78: ed8d 7b00 vstr d7, [sp] 80d1d7c: e01e b.n 80d1dbc 80d1d7e: f3c3 520a ubfx r2, r3, #20, #11 80d1d82: 3a36 subs r2, #54 ; 0x36 80d1d84: 4402 add r2, r0 80d1d86: f240 71fe movw r1, #2046 ; 0x7fe 80d1d8a: 428a cmp r2, r1 80d1d8c: dd0a ble.n 80d1da4 80d1d8e: ed9f 8b20 vldr d8, [pc, #128] ; 80d1e10 80d1d92: eeb0 0b48 vmov.f64 d0, d8 80d1d96: ed9d 1b00 vldr d1, [sp] 80d1d9a: f000 f881 bl 80d1ea0 80d1d9e: ee20 7b08 vmul.f64 d7, d0, d8 80d1da2: e7e9 b.n 80d1d78 80d1da4: 2a00 cmp r2, #0 80d1da6: dd10 ble.n 80d1dca 80d1da8: e9dd 0100 ldrd r0, r1, [sp] 80d1dac: f023 43ff bic.w r3, r3, #2139095040 ; 0x7f800000 80d1db0: f423 03e0 bic.w r3, r3, #7340032 ; 0x700000 80d1db4: ea43 5102 orr.w r1, r3, r2, lsl #20 80d1db8: e9cd 0100 strd r0, r1, [sp] 80d1dbc: ed9d 0b00 vldr d0, [sp] 80d1dc0: b003 add sp, #12 80d1dc2: ecbd 8b02 vpop {d8} 80d1dc6: f85d fb04 ldr.w pc, [sp], #4 80d1dca: f112 0f35 cmn.w r2, #53 ; 0x35 80d1dce: da06 bge.n 80d1dde 80d1dd0: f24c 3350 movw r3, #50000 ; 0xc350 80d1dd4: 4298 cmp r0, r3 80d1dd6: dcda bgt.n 80d1d8e 80d1dd8: ed9f 8b0b vldr d8, [pc, #44] ; 80d1e08 80d1ddc: e7d9 b.n 80d1d92 80d1dde: e9dd 0100 ldrd r0, r1, [sp] 80d1de2: f023 43ff bic.w r3, r3, #2139095040 ; 0x7f800000 80d1de6: 3236 adds r2, #54 ; 0x36 80d1de8: f423 03e0 bic.w r3, r3, #7340032 ; 0x700000 80d1dec: ea43 5102 orr.w r1, r3, r2, lsl #20 80d1df0: ec41 0b17 vmov d7, r0, r1 80d1df4: ed9f 6b08 vldr d6, [pc, #32] ; 80d1e18 80d1df8: e7b3 b.n 80d1d62 80d1dfa: bf00 nop 80d1dfc: f3af 8000 nop.w 80d1e00: 00000000 .word 0x00000000 80d1e04: 43500000 .word 0x43500000 80d1e08: c2f8f359 .word 0xc2f8f359 80d1e0c: 01a56e1f .word 0x01a56e1f 80d1e10: 8800759c .word 0x8800759c 80d1e14: 7e37e43c .word 0x7e37e43c 80d1e18: 00000000 .word 0x00000000 80d1e1c: 3c900000 .word 0x3c900000 80d1e20: ffff3cb0 .word 0xffff3cb0 80d1e24: 00000000 .word 0x00000000 080d1e28 : 80d1e28: b51f push {r0, r1, r2, r3, r4, lr} 80d1e2a: eeb0 7b40 vmov.f64 d7, d0 80d1e2e: ee17 3a90 vmov r3, s15 80d1e32: 4a19 ldr r2, [pc, #100] ; (80d1e98 ) 80d1e34: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80d1e38: 4293 cmp r3, r2 80d1e3a: dc05 bgt.n 80d1e48 80d1e3c: ed9f 1b14 vldr d1, [pc, #80] ; 80d1e90 80d1e40: 2000 movs r0, #0 80d1e42: f7ff fcf5 bl 80d1830 <__kernel_sin> 80d1e46: e004 b.n 80d1e52 80d1e48: 4a14 ldr r2, [pc, #80] ; (80d1e9c ) 80d1e4a: 4293 cmp r3, r2 80d1e4c: dd04 ble.n 80d1e58 80d1e4e: ee30 0b40 vsub.f64 d0, d0, d0 80d1e52: b005 add sp, #20 80d1e54: f85d fb04 ldr.w pc, [sp], #4 80d1e58: 4668 mov r0, sp 80d1e5a: f7fe fe99 bl 80d0b90 <__ieee754_rem_pio2> 80d1e5e: f000 0003 and.w r0, r0, #3 80d1e62: 2801 cmp r0, #1 80d1e64: ed9d 1b02 vldr d1, [sp, #8] 80d1e68: ed9d 0b00 vldr d0, [sp] 80d1e6c: d004 beq.n 80d1e78 80d1e6e: 2802 cmp r0, #2 80d1e70: d005 beq.n 80d1e7e 80d1e72: b950 cbnz r0, 80d1e8a 80d1e74: 2001 movs r0, #1 80d1e76: e7e4 b.n 80d1e42 80d1e78: f7ff f9fa bl 80d1270 <__kernel_cos> 80d1e7c: e7e9 b.n 80d1e52 80d1e7e: 2001 movs r0, #1 80d1e80: f7ff fcd6 bl 80d1830 <__kernel_sin> 80d1e84: eeb1 0b40 vneg.f64 d0, d0 80d1e88: e7e3 b.n 80d1e52 80d1e8a: f7ff f9f1 bl 80d1270 <__kernel_cos> 80d1e8e: e7f9 b.n 80d1e84 ... 80d1e98: 3fe921fb .word 0x3fe921fb 80d1e9c: 7fefffff .word 0x7fefffff 080d1ea0 : 80d1ea0: ec53 2b10 vmov r2, r3, d0 80d1ea4: ee11 0a90 vmov r0, s3 80d1ea8: f023 4100 bic.w r1, r3, #2147483648 ; 0x80000000 80d1eac: f000 4000 and.w r0, r0, #2147483648 ; 0x80000000 80d1eb0: ea41 0300 orr.w r3, r1, r0 80d1eb4: ec43 2b10 vmov d0, r2, r3 80d1eb8: 4770 bx lr 080d1eba : 80d1eba: 2100 movs r1, #0 80d1ebc: f000 bfb8 b.w 80d2e30 080d1ec0 : 80d1ec0: 220a movs r2, #10 80d1ec2: 2100 movs r1, #0 80d1ec4: f001 b872 b.w 80d2fac 080d1ec8 <__errno>: 80d1ec8: 4b01 ldr r3, [pc, #4] ; (80d1ed0 <__errno+0x8>) 80d1eca: 6818 ldr r0, [r3, #0] 80d1ecc: 4770 bx lr 80d1ece: bf00 nop 80d1ed0: 20020b54 .word 0x20020b54 080d1ed4 <__libc_init_array>: 80d1ed4: b570 push {r4, r5, r6, lr} 80d1ed6: 4e0d ldr r6, [pc, #52] ; (80d1f0c <__libc_init_array+0x38>) 80d1ed8: 4c0d ldr r4, [pc, #52] ; (80d1f10 <__libc_init_array+0x3c>) 80d1eda: 1ba4 subs r4, r4, r6 80d1edc: 10a4 asrs r4, r4, #2 80d1ede: 2500 movs r5, #0 80d1ee0: 42a5 cmp r5, r4 80d1ee2: d109 bne.n 80d1ef8 <__libc_init_array+0x24> 80d1ee4: 4e0b ldr r6, [pc, #44] ; (80d1f14 <__libc_init_array+0x40>) 80d1ee6: 4c0c ldr r4, [pc, #48] ; (80d1f18 <__libc_init_array+0x44>) 80d1ee8: f002 ffc2 bl 80d4e70 <_init> 80d1eec: 1ba4 subs r4, r4, r6 80d1eee: 10a4 asrs r4, r4, #2 80d1ef0: 2500 movs r5, #0 80d1ef2: 42a5 cmp r5, r4 80d1ef4: d105 bne.n 80d1f02 <__libc_init_array+0x2e> 80d1ef6: bd70 pop {r4, r5, r6, pc} 80d1ef8: f856 3025 ldr.w r3, [r6, r5, lsl #2] 80d1efc: 4798 blx r3 80d1efe: 3501 adds r5, #1 80d1f00: e7ee b.n 80d1ee0 <__libc_init_array+0xc> 80d1f02: f856 3025 ldr.w r3, [r6, r5, lsl #2] 80d1f06: 4798 blx r3 80d1f08: 3501 adds r5, #1 80d1f0a: e7f2 b.n 80d1ef2 <__libc_init_array+0x1e> 80d1f0c: 0818d5e8 .word 0x0818d5e8 80d1f10: 0818d5e8 .word 0x0818d5e8 80d1f14: 0818d5e8 .word 0x0818d5e8 80d1f18: 0818d5ec .word 0x0818d5ec 080d1f1c <__itoa>: 80d1f1c: 1e93 subs r3, r2, #2 80d1f1e: 2b22 cmp r3, #34 ; 0x22 80d1f20: b510 push {r4, lr} 80d1f22: 460c mov r4, r1 80d1f24: d904 bls.n 80d1f30 <__itoa+0x14> 80d1f26: 2300 movs r3, #0 80d1f28: 700b strb r3, [r1, #0] 80d1f2a: 461c mov r4, r3 80d1f2c: 4620 mov r0, r4 80d1f2e: bd10 pop {r4, pc} 80d1f30: 2a0a cmp r2, #10 80d1f32: d109 bne.n 80d1f48 <__itoa+0x2c> 80d1f34: 2800 cmp r0, #0 80d1f36: da07 bge.n 80d1f48 <__itoa+0x2c> 80d1f38: 232d movs r3, #45 ; 0x2d 80d1f3a: 700b strb r3, [r1, #0] 80d1f3c: 4240 negs r0, r0 80d1f3e: 2101 movs r1, #1 80d1f40: 4421 add r1, r4 80d1f42: f001 f849 bl 80d2fd8 <__utoa> 80d1f46: e7f1 b.n 80d1f2c <__itoa+0x10> 80d1f48: 2100 movs r1, #0 80d1f4a: e7f9 b.n 80d1f40 <__itoa+0x24> 080d1f4c : 80d1f4c: f7ff bfe6 b.w 80d1f1c <__itoa> 080d1f50 : 80d1f50: 4b02 ldr r3, [pc, #8] ; (80d1f5c ) 80d1f52: 4601 mov r1, r0 80d1f54: 6818 ldr r0, [r3, #0] 80d1f56: f000 b87b b.w 80d2050 <_malloc_r> 80d1f5a: bf00 nop 80d1f5c: 20020b54 .word 0x20020b54 080d1f60 : 80d1f60: 4b02 ldr r3, [pc, #8] ; (80d1f6c ) 80d1f62: 4601 mov r1, r0 80d1f64: 6818 ldr r0, [r3, #0] 80d1f66: f000 b825 b.w 80d1fb4 <_free_r> 80d1f6a: bf00 nop 80d1f6c: 20020b54 .word 0x20020b54 080d1f70 : 80d1f70: b510 push {r4, lr} 80d1f72: 3901 subs r1, #1 80d1f74: 4402 add r2, r0 80d1f76: 4290 cmp r0, r2 80d1f78: d101 bne.n 80d1f7e 80d1f7a: 2000 movs r0, #0 80d1f7c: bd10 pop {r4, pc} 80d1f7e: f810 3b01 ldrb.w r3, [r0], #1 80d1f82: f811 4f01 ldrb.w r4, [r1, #1]! 80d1f86: 42a3 cmp r3, r4 80d1f88: d0f5 beq.n 80d1f76 80d1f8a: 1b18 subs r0, r3, r4 80d1f8c: bd10 pop {r4, pc} 080d1f8e : 80d1f8e: b510 push {r4, lr} 80d1f90: 1e43 subs r3, r0, #1 80d1f92: 440a add r2, r1 80d1f94: 4291 cmp r1, r2 80d1f96: d100 bne.n 80d1f9a 80d1f98: bd10 pop {r4, pc} 80d1f9a: f811 4b01 ldrb.w r4, [r1], #1 80d1f9e: f803 4f01 strb.w r4, [r3, #1]! 80d1fa2: e7f7 b.n 80d1f94 080d1fa4 : 80d1fa4: 4402 add r2, r0 80d1fa6: 4603 mov r3, r0 80d1fa8: 4293 cmp r3, r2 80d1faa: d100 bne.n 80d1fae 80d1fac: 4770 bx lr 80d1fae: f803 1b01 strb.w r1, [r3], #1 80d1fb2: e7f9 b.n 80d1fa8 080d1fb4 <_free_r>: 80d1fb4: b538 push {r3, r4, r5, lr} 80d1fb6: 4605 mov r5, r0 80d1fb8: 2900 cmp r1, #0 80d1fba: d045 beq.n 80d2048 <_free_r+0x94> 80d1fbc: f851 3c04 ldr.w r3, [r1, #-4] 80d1fc0: 1f0c subs r4, r1, #4 80d1fc2: 2b00 cmp r3, #0 80d1fc4: bfb8 it lt 80d1fc6: 18e4 addlt r4, r4, r3 80d1fc8: f001 fc44 bl 80d3854 <__malloc_lock> 80d1fcc: 4a1f ldr r2, [pc, #124] ; (80d204c <_free_r+0x98>) 80d1fce: 6813 ldr r3, [r2, #0] 80d1fd0: 4610 mov r0, r2 80d1fd2: b933 cbnz r3, 80d1fe2 <_free_r+0x2e> 80d1fd4: 6063 str r3, [r4, #4] 80d1fd6: 6014 str r4, [r2, #0] 80d1fd8: 4628 mov r0, r5 80d1fda: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 80d1fde: f001 bc3a b.w 80d3856 <__malloc_unlock> 80d1fe2: 42a3 cmp r3, r4 80d1fe4: d90c bls.n 80d2000 <_free_r+0x4c> 80d1fe6: 6821 ldr r1, [r4, #0] 80d1fe8: 1862 adds r2, r4, r1 80d1fea: 4293 cmp r3, r2 80d1fec: bf04 itt eq 80d1fee: 681a ldreq r2, [r3, #0] 80d1ff0: 685b ldreq r3, [r3, #4] 80d1ff2: 6063 str r3, [r4, #4] 80d1ff4: bf04 itt eq 80d1ff6: 1852 addeq r2, r2, r1 80d1ff8: 6022 streq r2, [r4, #0] 80d1ffa: 6004 str r4, [r0, #0] 80d1ffc: e7ec b.n 80d1fd8 <_free_r+0x24> 80d1ffe: 4613 mov r3, r2 80d2000: 685a ldr r2, [r3, #4] 80d2002: b10a cbz r2, 80d2008 <_free_r+0x54> 80d2004: 42a2 cmp r2, r4 80d2006: d9fa bls.n 80d1ffe <_free_r+0x4a> 80d2008: 6819 ldr r1, [r3, #0] 80d200a: 1858 adds r0, r3, r1 80d200c: 42a0 cmp r0, r4 80d200e: d10b bne.n 80d2028 <_free_r+0x74> 80d2010: 6820 ldr r0, [r4, #0] 80d2012: 4401 add r1, r0 80d2014: 1858 adds r0, r3, r1 80d2016: 4282 cmp r2, r0 80d2018: 6019 str r1, [r3, #0] 80d201a: d1dd bne.n 80d1fd8 <_free_r+0x24> 80d201c: 6810 ldr r0, [r2, #0] 80d201e: 6852 ldr r2, [r2, #4] 80d2020: 605a str r2, [r3, #4] 80d2022: 4401 add r1, r0 80d2024: 6019 str r1, [r3, #0] 80d2026: e7d7 b.n 80d1fd8 <_free_r+0x24> 80d2028: d902 bls.n 80d2030 <_free_r+0x7c> 80d202a: 230c movs r3, #12 80d202c: 602b str r3, [r5, #0] 80d202e: e7d3 b.n 80d1fd8 <_free_r+0x24> 80d2030: 6820 ldr r0, [r4, #0] 80d2032: 1821 adds r1, r4, r0 80d2034: 428a cmp r2, r1 80d2036: bf04 itt eq 80d2038: 6811 ldreq r1, [r2, #0] 80d203a: 6852 ldreq r2, [r2, #4] 80d203c: 6062 str r2, [r4, #4] 80d203e: bf04 itt eq 80d2040: 1809 addeq r1, r1, r0 80d2042: 6021 streq r1, [r4, #0] 80d2044: 605c str r4, [r3, #4] 80d2046: e7c7 b.n 80d1fd8 <_free_r+0x24> 80d2048: bd38 pop {r3, r4, r5, pc} 80d204a: bf00 nop 80d204c: 20021b78 .word 0x20021b78 080d2050 <_malloc_r>: 80d2050: b570 push {r4, r5, r6, lr} 80d2052: 1ccd adds r5, r1, #3 80d2054: f025 0503 bic.w r5, r5, #3 80d2058: 3508 adds r5, #8 80d205a: 2d0c cmp r5, #12 80d205c: bf38 it cc 80d205e: 250c movcc r5, #12 80d2060: 2d00 cmp r5, #0 80d2062: 4606 mov r6, r0 80d2064: db01 blt.n 80d206a <_malloc_r+0x1a> 80d2066: 42a9 cmp r1, r5 80d2068: d903 bls.n 80d2072 <_malloc_r+0x22> 80d206a: 230c movs r3, #12 80d206c: 6033 str r3, [r6, #0] 80d206e: 2000 movs r0, #0 80d2070: bd70 pop {r4, r5, r6, pc} 80d2072: f001 fbef bl 80d3854 <__malloc_lock> 80d2076: 4a23 ldr r2, [pc, #140] ; (80d2104 <_malloc_r+0xb4>) 80d2078: 6814 ldr r4, [r2, #0] 80d207a: 4621 mov r1, r4 80d207c: b991 cbnz r1, 80d20a4 <_malloc_r+0x54> 80d207e: 4c22 ldr r4, [pc, #136] ; (80d2108 <_malloc_r+0xb8>) 80d2080: 6823 ldr r3, [r4, #0] 80d2082: b91b cbnz r3, 80d208c <_malloc_r+0x3c> 80d2084: 4630 mov r0, r6 80d2086: f000 f859 bl 80d213c <_sbrk_r> 80d208a: 6020 str r0, [r4, #0] 80d208c: 4629 mov r1, r5 80d208e: 4630 mov r0, r6 80d2090: f000 f854 bl 80d213c <_sbrk_r> 80d2094: 1c43 adds r3, r0, #1 80d2096: d126 bne.n 80d20e6 <_malloc_r+0x96> 80d2098: 230c movs r3, #12 80d209a: 6033 str r3, [r6, #0] 80d209c: 4630 mov r0, r6 80d209e: f001 fbda bl 80d3856 <__malloc_unlock> 80d20a2: e7e4 b.n 80d206e <_malloc_r+0x1e> 80d20a4: 680b ldr r3, [r1, #0] 80d20a6: 1b5b subs r3, r3, r5 80d20a8: d41a bmi.n 80d20e0 <_malloc_r+0x90> 80d20aa: 2b0b cmp r3, #11 80d20ac: d90f bls.n 80d20ce <_malloc_r+0x7e> 80d20ae: 600b str r3, [r1, #0] 80d20b0: 50cd str r5, [r1, r3] 80d20b2: 18cc adds r4, r1, r3 80d20b4: 4630 mov r0, r6 80d20b6: f001 fbce bl 80d3856 <__malloc_unlock> 80d20ba: f104 000b add.w r0, r4, #11 80d20be: 1d23 adds r3, r4, #4 80d20c0: f020 0007 bic.w r0, r0, #7 80d20c4: 1ac3 subs r3, r0, r3 80d20c6: d01b beq.n 80d2100 <_malloc_r+0xb0> 80d20c8: 425a negs r2, r3 80d20ca: 50e2 str r2, [r4, r3] 80d20cc: bd70 pop {r4, r5, r6, pc} 80d20ce: 428c cmp r4, r1 80d20d0: bf0d iteet eq 80d20d2: 6863 ldreq r3, [r4, #4] 80d20d4: 684b ldrne r3, [r1, #4] 80d20d6: 6063 strne r3, [r4, #4] 80d20d8: 6013 streq r3, [r2, #0] 80d20da: bf18 it ne 80d20dc: 460c movne r4, r1 80d20de: e7e9 b.n 80d20b4 <_malloc_r+0x64> 80d20e0: 460c mov r4, r1 80d20e2: 6849 ldr r1, [r1, #4] 80d20e4: e7ca b.n 80d207c <_malloc_r+0x2c> 80d20e6: 1cc4 adds r4, r0, #3 80d20e8: f024 0403 bic.w r4, r4, #3 80d20ec: 42a0 cmp r0, r4 80d20ee: d005 beq.n 80d20fc <_malloc_r+0xac> 80d20f0: 1a21 subs r1, r4, r0 80d20f2: 4630 mov r0, r6 80d20f4: f000 f822 bl 80d213c <_sbrk_r> 80d20f8: 3001 adds r0, #1 80d20fa: d0cd beq.n 80d2098 <_malloc_r+0x48> 80d20fc: 6025 str r5, [r4, #0] 80d20fe: e7d9 b.n 80d20b4 <_malloc_r+0x64> 80d2100: bd70 pop {r4, r5, r6, pc} 80d2102: bf00 nop 80d2104: 20021b78 .word 0x20021b78 80d2108: 20021b7c .word 0x20021b7c 080d210c : 80d210c: b40f push {r0, r1, r2, r3} 80d210e: 4b0a ldr r3, [pc, #40] ; (80d2138 ) 80d2110: b513 push {r0, r1, r4, lr} 80d2112: 681c ldr r4, [r3, #0] 80d2114: b124 cbz r4, 80d2120 80d2116: 69a3 ldr r3, [r4, #24] 80d2118: b913 cbnz r3, 80d2120 80d211a: 4620 mov r0, r4 80d211c: f000 ffdc bl 80d30d8 <__sinit> 80d2120: ab05 add r3, sp, #20 80d2122: 9a04 ldr r2, [sp, #16] 80d2124: 68a1 ldr r1, [r4, #8] 80d2126: 9301 str r3, [sp, #4] 80d2128: 4620 mov r0, r4 80d212a: f002 f903 bl 80d4334 <_vfiprintf_r> 80d212e: b002 add sp, #8 80d2130: e8bd 4010 ldmia.w sp!, {r4, lr} 80d2134: b004 add sp, #16 80d2136: 4770 bx lr 80d2138: 20020b54 .word 0x20020b54 080d213c <_sbrk_r>: 80d213c: b538 push {r3, r4, r5, lr} 80d213e: 4c06 ldr r4, [pc, #24] ; (80d2158 <_sbrk_r+0x1c>) 80d2140: 2300 movs r3, #0 80d2142: 4605 mov r5, r0 80d2144: 4608 mov r0, r1 80d2146: 6023 str r3, [r4, #0] 80d2148: f7e0 fd40 bl 80b2bcc <_sbrk> 80d214c: 1c43 adds r3, r0, #1 80d214e: d102 bne.n 80d2156 <_sbrk_r+0x1a> 80d2150: 6823 ldr r3, [r4, #0] 80d2152: b103 cbz r3, 80d2156 <_sbrk_r+0x1a> 80d2154: 602b str r3, [r5, #0] 80d2156: bd38 pop {r3, r4, r5, pc} 80d2158: 20069694 .word 0x20069694 080d215c : 80d215c: b40e push {r1, r2, r3} 80d215e: b500 push {lr} 80d2160: b09c sub sp, #112 ; 0x70 80d2162: f44f 7102 mov.w r1, #520 ; 0x208 80d2166: ab1d add r3, sp, #116 ; 0x74 80d2168: f8ad 1014 strh.w r1, [sp, #20] 80d216c: 9002 str r0, [sp, #8] 80d216e: 9006 str r0, [sp, #24] 80d2170: f06f 4100 mvn.w r1, #2147483648 ; 0x80000000 80d2174: 480a ldr r0, [pc, #40] ; (80d21a0 ) 80d2176: 9104 str r1, [sp, #16] 80d2178: 9107 str r1, [sp, #28] 80d217a: f64f 71ff movw r1, #65535 ; 0xffff 80d217e: f853 2b04 ldr.w r2, [r3], #4 80d2182: f8ad 1016 strh.w r1, [sp, #22] 80d2186: 6800 ldr r0, [r0, #0] 80d2188: 9301 str r3, [sp, #4] 80d218a: a902 add r1, sp, #8 80d218c: f001 ffb4 bl 80d40f8 <_svfiprintf_r> 80d2190: 9b02 ldr r3, [sp, #8] 80d2192: 2200 movs r2, #0 80d2194: 701a strb r2, [r3, #0] 80d2196: b01c add sp, #112 ; 0x70 80d2198: f85d eb04 ldr.w lr, [sp], #4 80d219c: b003 add sp, #12 80d219e: 4770 bx lr 80d21a0: 20020b54 .word 0x20020b54 080d21a4 : 80d21a4: b510 push {r4, lr} 80d21a6: 4602 mov r2, r0 80d21a8: 4613 mov r3, r2 80d21aa: 3201 adds r2, #1 80d21ac: 781c ldrb r4, [r3, #0] 80d21ae: 2c00 cmp r4, #0 80d21b0: d1fa bne.n 80d21a8 80d21b2: 3b01 subs r3, #1 80d21b4: f811 2b01 ldrb.w r2, [r1], #1 80d21b8: f803 2f01 strb.w r2, [r3, #1]! 80d21bc: 2a00 cmp r2, #0 80d21be: d1f9 bne.n 80d21b4 80d21c0: bd10 pop {r4, pc} 080d21c2 : 80d21c2: b2c9 uxtb r1, r1 80d21c4: 4603 mov r3, r0 80d21c6: f810 2b01 ldrb.w r2, [r0], #1 80d21ca: b11a cbz r2, 80d21d4 80d21cc: 4291 cmp r1, r2 80d21ce: d1f9 bne.n 80d21c4 80d21d0: 4618 mov r0, r3 80d21d2: 4770 bx lr 80d21d4: 2900 cmp r1, #0 80d21d6: bf0c ite eq 80d21d8: 4618 moveq r0, r3 80d21da: 2000 movne r0, #0 80d21dc: 4770 bx lr 080d21de : 80d21de: 4603 mov r3, r0 80d21e0: f811 2b01 ldrb.w r2, [r1], #1 80d21e4: f803 2b01 strb.w r2, [r3], #1 80d21e8: 2a00 cmp r2, #0 80d21ea: d1f9 bne.n 80d21e0 80d21ec: 4770 bx lr 080d21ee : 80d21ee: b570 push {r4, r5, r6, lr} 80d21f0: 4603 mov r3, r0 80d21f2: 461a mov r2, r3 80d21f4: f812 5b01 ldrb.w r5, [r2], #1 80d21f8: b14d cbz r5, 80d220e 80d21fa: 1e4c subs r4, r1, #1 80d21fc: e001 b.n 80d2202 80d21fe: 42b5 cmp r5, r6 80d2200: d005 beq.n 80d220e 80d2202: f814 6f01 ldrb.w r6, [r4, #1]! 80d2206: 2e00 cmp r6, #0 80d2208: d1f9 bne.n 80d21fe 80d220a: 4613 mov r3, r2 80d220c: e7f1 b.n 80d21f2 80d220e: 1a18 subs r0, r3, r0 80d2210: bd70 pop {r4, r5, r6, pc} 080d2212 : 80d2212: b5f0 push {r4, r5, r6, r7, lr} 80d2214: 7803 ldrb r3, [r0, #0] 80d2216: b133 cbz r3, 80d2226 80d2218: 4603 mov r3, r0 80d221a: 4618 mov r0, r3 80d221c: 1c5e adds r6, r3, #1 80d221e: 781b ldrb r3, [r3, #0] 80d2220: b933 cbnz r3, 80d2230 80d2222: 4618 mov r0, r3 80d2224: bdf0 pop {r4, r5, r6, r7, pc} 80d2226: 780b ldrb r3, [r1, #0] 80d2228: 2b00 cmp r3, #0 80d222a: bf18 it ne 80d222c: 2000 movne r0, #0 80d222e: bdf0 pop {r4, r5, r6, r7, pc} 80d2230: 1e4d subs r5, r1, #1 80d2232: 1e44 subs r4, r0, #1 80d2234: f815 2f01 ldrb.w r2, [r5, #1]! 80d2238: 2a00 cmp r2, #0 80d223a: d0f3 beq.n 80d2224 80d223c: f814 7f01 ldrb.w r7, [r4, #1]! 80d2240: 4297 cmp r7, r2 80d2242: 4633 mov r3, r6 80d2244: d0f6 beq.n 80d2234 80d2246: e7e8 b.n 80d221a 080d2248 : 80d2248: b570 push {r4, r5, r6, lr} 80d224a: 4604 mov r4, r0 80d224c: 460d mov r5, r1 80d224e: 4616 mov r6, r2 80d2250: ec45 4b10 vmov d0, r4, r5 80d2254: f001 fdc0 bl 80d3dd8 <__ulp> 80d2258: b17e cbz r6, 80d227a 80d225a: f3c5 530a ubfx r3, r5, #20, #11 80d225e: f1c3 036b rsb r3, r3, #107 ; 0x6b 80d2262: 2b00 cmp r3, #0 80d2264: dd09 ble.n 80d227a 80d2266: 051b lsls r3, r3, #20 80d2268: f103 517f add.w r1, r3, #1069547520 ; 0x3fc00000 80d226c: 2000 movs r0, #0 80d226e: f501 1140 add.w r1, r1, #3145728 ; 0x300000 80d2272: ec41 0b17 vmov d7, r0, r1 80d2276: ee20 0b07 vmul.f64 d0, d0, d7 80d227a: bd70 pop {r4, r5, r6, pc} 80d227c: 0000 movs r0, r0 ... 080d2280 <_strtod_l>: 80d2280: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80d2284: ed2d 8b0c vpush {d8-d13} 80d2288: 4698 mov r8, r3 80d228a: b09b sub sp, #108 ; 0x6c 80d228c: 2300 movs r3, #0 80d228e: 4604 mov r4, r0 80d2290: 4640 mov r0, r8 80d2292: 460e mov r6, r1 80d2294: 9211 str r2, [sp, #68] ; 0x44 80d2296: 9316 str r3, [sp, #88] ; 0x58 80d2298: f001 fac8 bl 80d382c <__localeconv_l> 80d229c: 4681 mov r9, r0 80d229e: 6800 ldr r0, [r0, #0] 80d22a0: f74e f838 bl 8020314 80d22a4: f04f 0a00 mov.w sl, #0 80d22a8: 4607 mov r7, r0 80d22aa: f04f 0b00 mov.w fp, #0 80d22ae: 9615 str r6, [sp, #84] ; 0x54 80d22b0: 9b15 ldr r3, [sp, #84] ; 0x54 80d22b2: 781a ldrb r2, [r3, #0] 80d22b4: 2a0d cmp r2, #13 80d22b6: d834 bhi.n 80d2322 <_strtod_l+0xa2> 80d22b8: 2a09 cmp r2, #9 80d22ba: d238 bcs.n 80d232e <_strtod_l+0xae> 80d22bc: 2a00 cmp r2, #0 80d22be: d040 beq.n 80d2342 <_strtod_l+0xc2> 80d22c0: 2300 movs r3, #0 80d22c2: 930c str r3, [sp, #48] ; 0x30 80d22c4: 9d15 ldr r5, [sp, #84] ; 0x54 80d22c6: 782b ldrb r3, [r5, #0] 80d22c8: 2b30 cmp r3, #48 ; 0x30 80d22ca: f040 810d bne.w 80d24e8 <_strtod_l+0x268> 80d22ce: 786b ldrb r3, [r5, #1] 80d22d0: 2b58 cmp r3, #88 ; 0x58 80d22d2: d001 beq.n 80d22d8 <_strtod_l+0x58> 80d22d4: 2b78 cmp r3, #120 ; 0x78 80d22d6: d16c bne.n 80d23b2 <_strtod_l+0x132> 80d22d8: 9b0c ldr r3, [sp, #48] ; 0x30 80d22da: 9301 str r3, [sp, #4] 80d22dc: ab16 add r3, sp, #88 ; 0x58 80d22de: 9300 str r3, [sp, #0] 80d22e0: f8cd 8008 str.w r8, [sp, #8] 80d22e4: ab17 add r3, sp, #92 ; 0x5c 80d22e6: 4ab1 ldr r2, [pc, #708] ; (80d25ac <_strtod_l+0x32c>) 80d22e8: a915 add r1, sp, #84 ; 0x54 80d22ea: 4620 mov r0, r4 80d22ec: f000 ffc8 bl 80d3280 <__gethex> 80d22f0: f010 0607 ands.w r6, r0, #7 80d22f4: 4607 mov r7, r0 80d22f6: d005 beq.n 80d2304 <_strtod_l+0x84> 80d22f8: 2e06 cmp r6, #6 80d22fa: d12c bne.n 80d2356 <_strtod_l+0xd6> 80d22fc: 3501 adds r5, #1 80d22fe: 2300 movs r3, #0 80d2300: 9515 str r5, [sp, #84] ; 0x54 80d2302: 930c str r3, [sp, #48] ; 0x30 80d2304: 9b11 ldr r3, [sp, #68] ; 0x44 80d2306: 2b00 cmp r3, #0 80d2308: f040 856d bne.w 80d2de6 <_strtod_l+0xb66> 80d230c: 9b0c ldr r3, [sp, #48] ; 0x30 80d230e: b1eb cbz r3, 80d234c <_strtod_l+0xcc> 80d2310: ec4b ab17 vmov d7, sl, fp 80d2314: eeb1 0b47 vneg.f64 d0, d7 80d2318: b01b add sp, #108 ; 0x6c 80d231a: ecbd 8b0c vpop {d8-d13} 80d231e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80d2322: 2a2b cmp r2, #43 ; 0x2b 80d2324: d006 beq.n 80d2334 <_strtod_l+0xb4> 80d2326: 2a2d cmp r2, #45 ; 0x2d 80d2328: d013 beq.n 80d2352 <_strtod_l+0xd2> 80d232a: 2a20 cmp r2, #32 80d232c: d1c8 bne.n 80d22c0 <_strtod_l+0x40> 80d232e: 3301 adds r3, #1 80d2330: 9315 str r3, [sp, #84] ; 0x54 80d2332: e7bd b.n 80d22b0 <_strtod_l+0x30> 80d2334: 2200 movs r2, #0 80d2336: 920c str r2, [sp, #48] ; 0x30 80d2338: 1c5a adds r2, r3, #1 80d233a: 9215 str r2, [sp, #84] ; 0x54 80d233c: 785b ldrb r3, [r3, #1] 80d233e: 2b00 cmp r3, #0 80d2340: d1c0 bne.n 80d22c4 <_strtod_l+0x44> 80d2342: 9b11 ldr r3, [sp, #68] ; 0x44 80d2344: 9615 str r6, [sp, #84] ; 0x54 80d2346: 2b00 cmp r3, #0 80d2348: f040 854b bne.w 80d2de2 <_strtod_l+0xb62> 80d234c: ec4b ab10 vmov d0, sl, fp 80d2350: e7e2 b.n 80d2318 <_strtod_l+0x98> 80d2352: 2201 movs r2, #1 80d2354: e7ef b.n 80d2336 <_strtod_l+0xb6> 80d2356: 9a16 ldr r2, [sp, #88] ; 0x58 80d2358: b13a cbz r2, 80d236a <_strtod_l+0xea> 80d235a: 2135 movs r1, #53 ; 0x35 80d235c: a818 add r0, sp, #96 ; 0x60 80d235e: f001 fe26 bl 80d3fae <__copybits> 80d2362: 9916 ldr r1, [sp, #88] ; 0x58 80d2364: 4620 mov r0, r4 80d2366: f001 faab bl 80d38c0 <_Bfree> 80d236a: 3e01 subs r6, #1 80d236c: 2e04 cmp r6, #4 80d236e: d808 bhi.n 80d2382 <_strtod_l+0x102> 80d2370: e8df f006 tbb [pc, r6] 80d2374: 1a17030c .word 0x1a17030c 80d2378: 0c .byte 0x0c 80d2379: 00 .byte 0x00 80d237a: f8dd a060 ldr.w sl, [sp, #96] ; 0x60 80d237e: f8dd b064 ldr.w fp, [sp, #100] ; 0x64 80d2382: 073b lsls r3, r7, #28 80d2384: d5be bpl.n 80d2304 <_strtod_l+0x84> 80d2386: f04b 4b00 orr.w fp, fp, #2147483648 ; 0x80000000 80d238a: e7bb b.n 80d2304 <_strtod_l+0x84> 80d238c: 9b19 ldr r3, [sp, #100] ; 0x64 80d238e: 9a17 ldr r2, [sp, #92] ; 0x5c 80d2390: f8dd a060 ldr.w sl, [sp, #96] ; 0x60 80d2394: f423 1380 bic.w r3, r3, #1048576 ; 0x100000 80d2398: f202 4233 addw r2, r2, #1075 ; 0x433 80d239c: ea43 5b02 orr.w fp, r3, r2, lsl #20 80d23a0: e7ef b.n 80d2382 <_strtod_l+0x102> 80d23a2: f8df b214 ldr.w fp, [pc, #532] ; 80d25b8 <_strtod_l+0x338> 80d23a6: e7ec b.n 80d2382 <_strtod_l+0x102> 80d23a8: f06f 4b00 mvn.w fp, #2147483648 ; 0x80000000 80d23ac: f04f 3aff mov.w sl, #4294967295 80d23b0: e7e7 b.n 80d2382 <_strtod_l+0x102> 80d23b2: 9b15 ldr r3, [sp, #84] ; 0x54 80d23b4: 1c5a adds r2, r3, #1 80d23b6: 9215 str r2, [sp, #84] ; 0x54 80d23b8: 785b ldrb r3, [r3, #1] 80d23ba: 2b30 cmp r3, #48 ; 0x30 80d23bc: d0f9 beq.n 80d23b2 <_strtod_l+0x132> 80d23be: 2b00 cmp r3, #0 80d23c0: d0a0 beq.n 80d2304 <_strtod_l+0x84> 80d23c2: 2301 movs r3, #1 80d23c4: 930d str r3, [sp, #52] ; 0x34 80d23c6: 9b15 ldr r3, [sp, #84] ; 0x54 80d23c8: 930e str r3, [sp, #56] ; 0x38 80d23ca: 2300 movs r3, #0 80d23cc: 9304 str r3, [sp, #16] 80d23ce: 9306 str r3, [sp, #24] 80d23d0: 461d mov r5, r3 80d23d2: 220a movs r2, #10 80d23d4: 9815 ldr r0, [sp, #84] ; 0x54 80d23d6: f890 8000 ldrb.w r8, [r0] 80d23da: f1a8 0330 sub.w r3, r8, #48 ; 0x30 80d23de: b2d9 uxtb r1, r3 80d23e0: 2909 cmp r1, #9 80d23e2: f240 8083 bls.w 80d24ec <_strtod_l+0x26c> 80d23e6: 463a mov r2, r7 80d23e8: f8d9 1000 ldr.w r1, [r9] 80d23ec: f002 fa97 bl 80d491e 80d23f0: 2800 cmp r0, #0 80d23f2: f000 808b beq.w 80d250c <_strtod_l+0x28c> 80d23f6: 2000 movs r0, #0 80d23f8: 4642 mov r2, r8 80d23fa: 462b mov r3, r5 80d23fc: 4601 mov r1, r0 80d23fe: 9008 str r0, [sp, #32] 80d2400: 2a65 cmp r2, #101 ; 0x65 80d2402: d002 beq.n 80d240a <_strtod_l+0x18a> 80d2404: 2a45 cmp r2, #69 ; 0x45 80d2406: f040 8100 bne.w 80d260a <_strtod_l+0x38a> 80d240a: b923 cbnz r3, 80d2416 <_strtod_l+0x196> 80d240c: b910 cbnz r0, 80d2414 <_strtod_l+0x194> 80d240e: 9b0d ldr r3, [sp, #52] ; 0x34 80d2410: 2b00 cmp r3, #0 80d2412: d096 beq.n 80d2342 <_strtod_l+0xc2> 80d2414: 2300 movs r3, #0 80d2416: 9e15 ldr r6, [sp, #84] ; 0x54 80d2418: 1c72 adds r2, r6, #1 80d241a: 9215 str r2, [sp, #84] ; 0x54 80d241c: 7872 ldrb r2, [r6, #1] 80d241e: 2a2b cmp r2, #43 ; 0x2b 80d2420: f000 80da beq.w 80d25d8 <_strtod_l+0x358> 80d2424: 2a2d cmp r2, #45 ; 0x2d 80d2426: f000 80dd beq.w 80d25e4 <_strtod_l+0x364> 80d242a: f04f 0c00 mov.w ip, #0 80d242e: f1a2 0e30 sub.w lr, r2, #48 ; 0x30 80d2432: f1be 0f09 cmp.w lr, #9 80d2436: f200 80e7 bhi.w 80d2608 <_strtod_l+0x388> 80d243a: 2a30 cmp r2, #48 ; 0x30 80d243c: f000 80d5 beq.w 80d25ea <_strtod_l+0x36a> 80d2440: f1a2 0e31 sub.w lr, r2, #49 ; 0x31 80d2444: f1be 0f08 cmp.w lr, #8 80d2448: f200 80df bhi.w 80d260a <_strtod_l+0x38a> 80d244c: f1a2 0830 sub.w r8, r2, #48 ; 0x30 80d2450: 9a15 ldr r2, [sp, #84] ; 0x54 80d2452: 920f str r2, [sp, #60] ; 0x3c 80d2454: 9a15 ldr r2, [sp, #84] ; 0x54 80d2456: f102 0e01 add.w lr, r2, #1 80d245a: f8cd e054 str.w lr, [sp, #84] ; 0x54 80d245e: 7852 ldrb r2, [r2, #1] 80d2460: f1a2 0930 sub.w r9, r2, #48 ; 0x30 80d2464: f1b9 0f09 cmp.w r9, #9 80d2468: f240 80c6 bls.w 80d25f8 <_strtod_l+0x378> 80d246c: 9f0f ldr r7, [sp, #60] ; 0x3c 80d246e: ebae 0e07 sub.w lr, lr, r7 80d2472: f1be 0f08 cmp.w lr, #8 80d2476: f644 6e1f movw lr, #19999 ; 0x4e1f 80d247a: f300 80c3 bgt.w 80d2604 <_strtod_l+0x384> 80d247e: 45f0 cmp r8, lr 80d2480: bfa8 it ge 80d2482: 46f0 movge r8, lr 80d2484: f1bc 0f00 cmp.w ip, #0 80d2488: d001 beq.n 80d248e <_strtod_l+0x20e> 80d248a: f1c8 0800 rsb r8, r8, #0 80d248e: 2b00 cmp r3, #0 80d2490: f040 80e1 bne.w 80d2656 <_strtod_l+0x3d6> 80d2494: 2800 cmp r0, #0 80d2496: f47f af35 bne.w 80d2304 <_strtod_l+0x84> 80d249a: 9b0d ldr r3, [sp, #52] ; 0x34 80d249c: 2b00 cmp r3, #0 80d249e: f47f af31 bne.w 80d2304 <_strtod_l+0x84> 80d24a2: 9b08 ldr r3, [sp, #32] 80d24a4: 2b00 cmp r3, #0 80d24a6: f47f af4c bne.w 80d2342 <_strtod_l+0xc2> 80d24aa: 2a4e cmp r2, #78 ; 0x4e 80d24ac: f000 80b6 beq.w 80d261c <_strtod_l+0x39c> 80d24b0: f300 80ae bgt.w 80d2610 <_strtod_l+0x390> 80d24b4: 2a49 cmp r2, #73 ; 0x49 80d24b6: f47f af44 bne.w 80d2342 <_strtod_l+0xc2> 80d24ba: 493d ldr r1, [pc, #244] ; (80d25b0 <_strtod_l+0x330>) 80d24bc: a815 add r0, sp, #84 ; 0x54 80d24be: f001 f90f bl 80d36e0 <__match> 80d24c2: 2800 cmp r0, #0 80d24c4: f43f af3d beq.w 80d2342 <_strtod_l+0xc2> 80d24c8: 9b15 ldr r3, [sp, #84] ; 0x54 80d24ca: 493a ldr r1, [pc, #232] ; (80d25b4 <_strtod_l+0x334>) 80d24cc: 3b01 subs r3, #1 80d24ce: a815 add r0, sp, #84 ; 0x54 80d24d0: 9315 str r3, [sp, #84] ; 0x54 80d24d2: f001 f905 bl 80d36e0 <__match> 80d24d6: b910 cbnz r0, 80d24de <_strtod_l+0x25e> 80d24d8: 9b15 ldr r3, [sp, #84] ; 0x54 80d24da: 3301 adds r3, #1 80d24dc: 9315 str r3, [sp, #84] ; 0x54 80d24de: f8df b0d8 ldr.w fp, [pc, #216] ; 80d25b8 <_strtod_l+0x338> 80d24e2: f04f 0a00 mov.w sl, #0 80d24e6: e70d b.n 80d2304 <_strtod_l+0x84> 80d24e8: 2300 movs r3, #0 80d24ea: e76b b.n 80d23c4 <_strtod_l+0x144> 80d24ec: 2d08 cmp r5, #8 80d24ee: bfd5 itete le 80d24f0: 9906 ldrle r1, [sp, #24] 80d24f2: 9904 ldrgt r1, [sp, #16] 80d24f4: fb02 3301 mlale r3, r2, r1, r3 80d24f8: fb02 3301 mlagt r3, r2, r1, r3 80d24fc: f100 0001 add.w r0, r0, #1 80d2500: bfd4 ite le 80d2502: 9306 strle r3, [sp, #24] 80d2504: 9304 strgt r3, [sp, #16] 80d2506: 3501 adds r5, #1 80d2508: 9015 str r0, [sp, #84] ; 0x54 80d250a: e763 b.n 80d23d4 <_strtod_l+0x154> 80d250c: 9b15 ldr r3, [sp, #84] ; 0x54 80d250e: 19da adds r2, r3, r7 80d2510: 9215 str r2, [sp, #84] ; 0x54 80d2512: 5dda ldrb r2, [r3, r7] 80d2514: 2d00 cmp r5, #0 80d2516: d159 bne.n 80d25cc <_strtod_l+0x34c> 80d2518: 4628 mov r0, r5 80d251a: 2a30 cmp r2, #48 ; 0x30 80d251c: d02d beq.n 80d257a <_strtod_l+0x2fa> 80d251e: f1a2 0331 sub.w r3, r2, #49 ; 0x31 80d2522: 2b08 cmp r3, #8 80d2524: f200 8464 bhi.w 80d2df0 <_strtod_l+0xb70> 80d2528: 9b15 ldr r3, [sp, #84] ; 0x54 80d252a: 930e str r3, [sp, #56] ; 0x38 80d252c: 4601 mov r1, r0 80d252e: 2000 movs r0, #0 80d2530: 4603 mov r3, r0 80d2532: f1b2 0930 subs.w r9, r2, #48 ; 0x30 80d2536: f100 0701 add.w r7, r0, #1 80d253a: d012 beq.n 80d2562 <_strtod_l+0x2e2> 80d253c: 4439 add r1, r7 80d253e: eb00 0c03 add.w ip, r0, r3 80d2542: 461f mov r7, r3 80d2544: f04f 0e0a mov.w lr, #10 80d2548: 4567 cmp r7, ip 80d254a: d11c bne.n 80d2586 <_strtod_l+0x306> 80d254c: 4418 add r0, r3 80d254e: 2808 cmp r0, #8 80d2550: f100 0301 add.w r3, r0, #1 80d2554: dc32 bgt.n 80d25bc <_strtod_l+0x33c> 80d2556: 9a06 ldr r2, [sp, #24] 80d2558: 200a movs r0, #10 80d255a: fb00 9202 mla r2, r0, r2, r9 80d255e: 9206 str r2, [sp, #24] 80d2560: 2700 movs r7, #0 80d2562: 9a15 ldr r2, [sp, #84] ; 0x54 80d2564: 1c50 adds r0, r2, #1 80d2566: 9015 str r0, [sp, #84] ; 0x54 80d2568: 7852 ldrb r2, [r2, #1] 80d256a: 4638 mov r0, r7 80d256c: f1a2 0730 sub.w r7, r2, #48 ; 0x30 80d2570: 2f09 cmp r7, #9 80d2572: d9de bls.n 80d2532 <_strtod_l+0x2b2> 80d2574: 2701 movs r7, #1 80d2576: 9708 str r7, [sp, #32] 80d2578: e742 b.n 80d2400 <_strtod_l+0x180> 80d257a: 9b15 ldr r3, [sp, #84] ; 0x54 80d257c: 1c5a adds r2, r3, #1 80d257e: 9215 str r2, [sp, #84] ; 0x54 80d2580: 3001 adds r0, #1 80d2582: 785a ldrb r2, [r3, #1] 80d2584: e7c9 b.n 80d251a <_strtod_l+0x29a> 80d2586: 3701 adds r7, #1 80d2588: f107 38ff add.w r8, r7, #4294967295 80d258c: f1b8 0f08 cmp.w r8, #8 80d2590: dc04 bgt.n 80d259c <_strtod_l+0x31c> 80d2592: 9a06 ldr r2, [sp, #24] 80d2594: fb0e f202 mul.w r2, lr, r2 80d2598: 9206 str r2, [sp, #24] 80d259a: e7d5 b.n 80d2548 <_strtod_l+0x2c8> 80d259c: 2f10 cmp r7, #16 80d259e: bfde ittt le 80d25a0: 9a04 ldrle r2, [sp, #16] 80d25a2: fb0e f202 mulle.w r2, lr, r2 80d25a6: 9204 strle r2, [sp, #16] 80d25a8: e7ce b.n 80d2548 <_strtod_l+0x2c8> 80d25aa: bf00 nop 80d25ac: 0818d2c8 .word 0x0818d2c8 80d25b0: 0818d2bc .word 0x0818d2bc 80d25b4: 0818d2bf .word 0x0818d2bf 80d25b8: 7ff00000 .word 0x7ff00000 80d25bc: 2b10 cmp r3, #16 80d25be: bfdf itttt le 80d25c0: 9a04 ldrle r2, [sp, #16] 80d25c2: 200a movle r0, #10 80d25c4: fb00 9202 mlale r2, r0, r2, r9 80d25c8: 9204 strle r2, [sp, #16] 80d25ca: e7c9 b.n 80d2560 <_strtod_l+0x2e0> 80d25cc: 4601 mov r1, r0 80d25ce: 462b mov r3, r5 80d25d0: e7cc b.n 80d256c <_strtod_l+0x2ec> 80d25d2: 2301 movs r3, #1 80d25d4: 9308 str r3, [sp, #32] 80d25d6: e719 b.n 80d240c <_strtod_l+0x18c> 80d25d8: f04f 0c00 mov.w ip, #0 80d25dc: 1cb2 adds r2, r6, #2 80d25de: 9215 str r2, [sp, #84] ; 0x54 80d25e0: 78b2 ldrb r2, [r6, #2] 80d25e2: e724 b.n 80d242e <_strtod_l+0x1ae> 80d25e4: f04f 0c01 mov.w ip, #1 80d25e8: e7f8 b.n 80d25dc <_strtod_l+0x35c> 80d25ea: 9a15 ldr r2, [sp, #84] ; 0x54 80d25ec: f102 0e01 add.w lr, r2, #1 80d25f0: f8cd e054 str.w lr, [sp, #84] ; 0x54 80d25f4: 7852 ldrb r2, [r2, #1] 80d25f6: e720 b.n 80d243a <_strtod_l+0x1ba> 80d25f8: 270a movs r7, #10 80d25fa: fb07 2808 mla r8, r7, r8, r2 80d25fe: f1a8 0830 sub.w r8, r8, #48 ; 0x30 80d2602: e727 b.n 80d2454 <_strtod_l+0x1d4> 80d2604: 46f0 mov r8, lr 80d2606: e73d b.n 80d2484 <_strtod_l+0x204> 80d2608: 9615 str r6, [sp, #84] ; 0x54 80d260a: f04f 0800 mov.w r8, #0 80d260e: e73e b.n 80d248e <_strtod_l+0x20e> 80d2610: 2a69 cmp r2, #105 ; 0x69 80d2612: f43f af52 beq.w 80d24ba <_strtod_l+0x23a> 80d2616: 2a6e cmp r2, #110 ; 0x6e 80d2618: f47f ae93 bne.w 80d2342 <_strtod_l+0xc2> 80d261c: 4988 ldr r1, [pc, #544] ; (80d2840 <_strtod_l+0x5c0>) 80d261e: a815 add r0, sp, #84 ; 0x54 80d2620: f001 f85e bl 80d36e0 <__match> 80d2624: 2800 cmp r0, #0 80d2626: f43f ae8c beq.w 80d2342 <_strtod_l+0xc2> 80d262a: 9b15 ldr r3, [sp, #84] ; 0x54 80d262c: 781b ldrb r3, [r3, #0] 80d262e: 2b28 cmp r3, #40 ; 0x28 80d2630: d10e bne.n 80d2650 <_strtod_l+0x3d0> 80d2632: aa18 add r2, sp, #96 ; 0x60 80d2634: 4983 ldr r1, [pc, #524] ; (80d2844 <_strtod_l+0x5c4>) 80d2636: a815 add r0, sp, #84 ; 0x54 80d2638: f001 f865 bl 80d3706 <__hexnan> 80d263c: 2805 cmp r0, #5 80d263e: d107 bne.n 80d2650 <_strtod_l+0x3d0> 80d2640: 9b19 ldr r3, [sp, #100] ; 0x64 80d2642: f8dd a060 ldr.w sl, [sp, #96] ; 0x60 80d2646: f043 4bff orr.w fp, r3, #2139095040 ; 0x7f800000 80d264a: f44b 0be0 orr.w fp, fp, #7340032 ; 0x700000 80d264e: e659 b.n 80d2304 <_strtod_l+0x84> 80d2650: f8df b200 ldr.w fp, [pc, #512] ; 80d2854 <_strtod_l+0x5d4> 80d2654: e745 b.n 80d24e2 <_strtod_l+0x262> 80d2656: eddd 7a06 vldr s15, [sp, #24] 80d265a: 2d00 cmp r5, #0 80d265c: bf08 it eq 80d265e: 461d moveq r5, r3 80d2660: eeb8 7b67 vcvt.f64.u32 d7, s15 80d2664: 2b10 cmp r3, #16 80d2666: 461a mov r2, r3 80d2668: bfa8 it ge 80d266a: 2210 movge r2, #16 80d266c: ed8d 7b08 vstr d7, [sp, #32] 80d2670: 2a09 cmp r2, #9 80d2672: eba8 0801 sub.w r8, r8, r1 80d2676: e9dd ab08 ldrd sl, fp, [sp, #32] 80d267a: dd0e ble.n 80d269a <_strtod_l+0x41a> 80d267c: 4972 ldr r1, [pc, #456] ; (80d2848 <_strtod_l+0x5c8>) 80d267e: eddd 7a04 vldr s15, [sp, #16] 80d2682: eb01 01c2 add.w r1, r1, r2, lsl #3 80d2686: ed11 6b12 vldr d6, [r1, #-72] ; 0xffffffb8 80d268a: ed9d 5b08 vldr d5, [sp, #32] 80d268e: eeb8 7b67 vcvt.f64.u32 d7, s15 80d2692: eea5 7b06 vfma.f64 d7, d5, d6 80d2696: ec5b ab17 vmov sl, fp, d7 80d269a: 2b0f cmp r3, #15 80d269c: dc38 bgt.n 80d2710 <_strtod_l+0x490> 80d269e: f1b8 0f00 cmp.w r8, #0 80d26a2: f43f ae2f beq.w 80d2304 <_strtod_l+0x84> 80d26a6: dd24 ble.n 80d26f2 <_strtod_l+0x472> 80d26a8: f1b8 0f16 cmp.w r8, #22 80d26ac: dc0b bgt.n 80d26c6 <_strtod_l+0x446> 80d26ae: 4966 ldr r1, [pc, #408] ; (80d2848 <_strtod_l+0x5c8>) 80d26b0: eb01 08c8 add.w r8, r1, r8, lsl #3 80d26b4: ed98 7b00 vldr d7, [r8] 80d26b8: ec4b ab16 vmov d6, sl, fp 80d26bc: ee27 7b06 vmul.f64 d7, d7, d6 80d26c0: ec5b ab17 vmov sl, fp, d7 80d26c4: e61e b.n 80d2304 <_strtod_l+0x84> 80d26c6: f1c3 0125 rsb r1, r3, #37 ; 0x25 80d26ca: 4588 cmp r8, r1 80d26cc: dc20 bgt.n 80d2710 <_strtod_l+0x490> 80d26ce: 4a5e ldr r2, [pc, #376] ; (80d2848 <_strtod_l+0x5c8>) 80d26d0: f1c3 030f rsb r3, r3, #15 80d26d4: eb02 01c3 add.w r1, r2, r3, lsl #3 80d26d8: ed91 7b00 vldr d7, [r1] 80d26dc: ec4b ab16 vmov d6, sl, fp 80d26e0: eba8 0303 sub.w r3, r8, r3 80d26e4: eb02 02c3 add.w r2, r2, r3, lsl #3 80d26e8: ee27 7b06 vmul.f64 d7, d7, d6 80d26ec: ed92 6b00 vldr d6, [r2] 80d26f0: e7e4 b.n 80d26bc <_strtod_l+0x43c> 80d26f2: f118 0f16 cmn.w r8, #22 80d26f6: db0b blt.n 80d2710 <_strtod_l+0x490> 80d26f8: 4953 ldr r1, [pc, #332] ; (80d2848 <_strtod_l+0x5c8>) 80d26fa: eba1 08c8 sub.w r8, r1, r8, lsl #3 80d26fe: ed98 7b00 vldr d7, [r8] 80d2702: ec4b ab15 vmov d5, sl, fp 80d2706: ee85 6b07 vdiv.f64 d6, d5, d7 80d270a: ec5b ab16 vmov sl, fp, d6 80d270e: e5f9 b.n 80d2304 <_strtod_l+0x84> 80d2710: 1a9a subs r2, r3, r2 80d2712: 4442 add r2, r8 80d2714: 2a00 cmp r2, #0 80d2716: dd73 ble.n 80d2800 <_strtod_l+0x580> 80d2718: f012 000f ands.w r0, r2, #15 80d271c: d00a beq.n 80d2734 <_strtod_l+0x4b4> 80d271e: 494a ldr r1, [pc, #296] ; (80d2848 <_strtod_l+0x5c8>) 80d2720: eb01 01c0 add.w r1, r1, r0, lsl #3 80d2724: ed91 7b00 vldr d7, [r1] 80d2728: ec4b ab16 vmov d6, sl, fp 80d272c: ee27 7b06 vmul.f64 d7, d7, d6 80d2730: ec5b ab17 vmov sl, fp, d7 80d2734: f032 020f bics.w r2, r2, #15 80d2738: d04f beq.n 80d27da <_strtod_l+0x55a> 80d273a: f5b2 7f9a cmp.w r2, #308 ; 0x134 80d273e: dd22 ble.n 80d2786 <_strtod_l+0x506> 80d2740: 2500 movs r5, #0 80d2742: 462f mov r7, r5 80d2744: 9504 str r5, [sp, #16] 80d2746: 46a8 mov r8, r5 80d2748: 2322 movs r3, #34 ; 0x22 80d274a: f8df b10c ldr.w fp, [pc, #268] ; 80d2858 <_strtod_l+0x5d8> 80d274e: 6023 str r3, [r4, #0] 80d2750: f04f 0a00 mov.w sl, #0 80d2754: 9b04 ldr r3, [sp, #16] 80d2756: 2b00 cmp r3, #0 80d2758: f43f add4 beq.w 80d2304 <_strtod_l+0x84> 80d275c: 9916 ldr r1, [sp, #88] ; 0x58 80d275e: 4620 mov r0, r4 80d2760: f001 f8ae bl 80d38c0 <_Bfree> 80d2764: 4641 mov r1, r8 80d2766: 4620 mov r0, r4 80d2768: f001 f8aa bl 80d38c0 <_Bfree> 80d276c: 4639 mov r1, r7 80d276e: 4620 mov r0, r4 80d2770: f001 f8a6 bl 80d38c0 <_Bfree> 80d2774: 9904 ldr r1, [sp, #16] 80d2776: 4620 mov r0, r4 80d2778: f001 f8a2 bl 80d38c0 <_Bfree> 80d277c: 4629 mov r1, r5 80d277e: 4620 mov r0, r4 80d2780: f001 f89e bl 80d38c0 <_Bfree> 80d2784: e5be b.n 80d2304 <_strtod_l+0x84> 80d2786: 4931 ldr r1, [pc, #196] ; (80d284c <_strtod_l+0x5cc>) 80d2788: e9cd ab04 strd sl, fp, [sp, #16] 80d278c: 2700 movs r7, #0 80d278e: 1112 asrs r2, r2, #4 80d2790: 463e mov r6, r7 80d2792: 4608 mov r0, r1 80d2794: 2a01 cmp r2, #1 80d2796: dc23 bgt.n 80d27e0 <_strtod_l+0x560> 80d2798: b10f cbz r7, 80d279e <_strtod_l+0x51e> 80d279a: e9dd ab04 ldrd sl, fp, [sp, #16] 80d279e: eb00 00c6 add.w r0, r0, r6, lsl #3 80d27a2: f1ab 7b54 sub.w fp, fp, #55574528 ; 0x3500000 80d27a6: ed90 7b00 vldr d7, [r0] 80d27aa: ec4b ab16 vmov d6, sl, fp 80d27ae: ee27 7b06 vmul.f64 d7, d7, d6 80d27b2: ec5b ab17 vmov sl, fp, d7 80d27b6: f02b 4200 bic.w r2, fp, #2147483648 ; 0x80000000 80d27ba: 0d12 lsrs r2, r2, #20 80d27bc: 4824 ldr r0, [pc, #144] ; (80d2850 <_strtod_l+0x5d0>) 80d27be: 0512 lsls r2, r2, #20 80d27c0: 4282 cmp r2, r0 80d27c2: 4659 mov r1, fp 80d27c4: d8bc bhi.n 80d2740 <_strtod_l+0x4c0> 80d27c6: f5a0 1080 sub.w r0, r0, #1048576 ; 0x100000 80d27ca: 4282 cmp r2, r0 80d27cc: bf86 itte hi 80d27ce: f8df b08c ldrhi.w fp, [pc, #140] ; 80d285c <_strtod_l+0x5dc> 80d27d2: f04f 3aff movhi.w sl, #4294967295 80d27d6: f101 7b54 addls.w fp, r1, #55574528 ; 0x3500000 80d27da: f04f 0900 mov.w r9, #0 80d27de: e070 b.n 80d28c2 <_strtod_l+0x642> 80d27e0: f012 0f01 tst.w r2, #1 80d27e4: d008 beq.n 80d27f8 <_strtod_l+0x578> 80d27e6: ed9d 6b04 vldr d6, [sp, #16] 80d27ea: ed91 7b00 vldr d7, [r1] 80d27ee: ee26 7b07 vmul.f64 d7, d6, d7 80d27f2: ed8d 7b04 vstr d7, [sp, #16] 80d27f6: 2701 movs r7, #1 80d27f8: 3601 adds r6, #1 80d27fa: 1052 asrs r2, r2, #1 80d27fc: 3108 adds r1, #8 80d27fe: e7c9 b.n 80d2794 <_strtod_l+0x514> 80d2800: d0eb beq.n 80d27da <_strtod_l+0x55a> 80d2802: 4252 negs r2, r2 80d2804: f012 000f ands.w r0, r2, #15 80d2808: d00a beq.n 80d2820 <_strtod_l+0x5a0> 80d280a: 490f ldr r1, [pc, #60] ; (80d2848 <_strtod_l+0x5c8>) 80d280c: eb01 01c0 add.w r1, r1, r0, lsl #3 80d2810: ed91 7b00 vldr d7, [r1] 80d2814: ec4b ab15 vmov d5, sl, fp 80d2818: ee85 6b07 vdiv.f64 d6, d5, d7 80d281c: ec5b ab16 vmov sl, fp, d6 80d2820: 1112 asrs r2, r2, #4 80d2822: d0da beq.n 80d27da <_strtod_l+0x55a> 80d2824: 2a1f cmp r2, #31 80d2826: dd1b ble.n 80d2860 <_strtod_l+0x5e0> 80d2828: 2500 movs r5, #0 80d282a: 462f mov r7, r5 80d282c: 9504 str r5, [sp, #16] 80d282e: 46a8 mov r8, r5 80d2830: 2322 movs r3, #34 ; 0x22 80d2832: f04f 0a00 mov.w sl, #0 80d2836: f04f 0b00 mov.w fp, #0 80d283a: 6023 str r3, [r4, #0] 80d283c: e78a b.n 80d2754 <_strtod_l+0x4d4> 80d283e: bf00 nop 80d2840: 0818d2c5 .word 0x0818d2c5 80d2844: 0818d2dc .word 0x0818d2dc 80d2848: 0818d3d8 .word 0x0818d3d8 80d284c: 0818d3b0 .word 0x0818d3b0 80d2850: 7ca00000 .word 0x7ca00000 80d2854: fff80000 .word 0xfff80000 80d2858: 7ff00000 .word 0x7ff00000 80d285c: 7fefffff .word 0x7fefffff 80d2860: e9cd ab04 strd sl, fp, [sp, #16] 80d2864: f012 0910 ands.w r9, r2, #16 80d2868: 49ad ldr r1, [pc, #692] ; (80d2b20 <_strtod_l+0x8a0>) 80d286a: bf18 it ne 80d286c: f04f 096a movne.w r9, #106 ; 0x6a 80d2870: 2000 movs r0, #0 80d2872: 2a00 cmp r2, #0 80d2874: f300 810e bgt.w 80d2a94 <_strtod_l+0x814> 80d2878: b108 cbz r0, 80d287e <_strtod_l+0x5fe> 80d287a: e9dd ab04 ldrd sl, fp, [sp, #16] 80d287e: f1b9 0f00 cmp.w r9, #0 80d2882: d017 beq.n 80d28b4 <_strtod_l+0x634> 80d2884: f3cb 520a ubfx r2, fp, #20, #11 80d2888: f1c2 026b rsb r2, r2, #107 ; 0x6b 80d288c: 2a00 cmp r2, #0 80d288e: 4659 mov r1, fp 80d2890: dd10 ble.n 80d28b4 <_strtod_l+0x634> 80d2892: 2a1f cmp r2, #31 80d2894: f340 810c ble.w 80d2ab0 <_strtod_l+0x830> 80d2898: 2a34 cmp r2, #52 ; 0x34 80d289a: bfde ittt le 80d289c: 3a20 suble r2, #32 80d289e: f04f 30ff movle.w r0, #4294967295 80d28a2: fa00 f202 lslle.w r2, r0, r2 80d28a6: f04f 0a00 mov.w sl, #0 80d28aa: bfcc ite gt 80d28ac: f04f 7b5c movgt.w fp, #57671680 ; 0x3700000 80d28b0: ea02 0b01 andle.w fp, r2, r1 80d28b4: ec4b ab17 vmov d7, sl, fp 80d28b8: eeb5 7b40 vcmp.f64 d7, #0.0 80d28bc: eef1 fa10 vmrs APSR_nzcv, fpscr 80d28c0: d0b2 beq.n 80d2828 <_strtod_l+0x5a8> 80d28c2: 9a06 ldr r2, [sp, #24] 80d28c4: 9200 str r2, [sp, #0] 80d28c6: 990e ldr r1, [sp, #56] ; 0x38 80d28c8: 462a mov r2, r5 80d28ca: 4620 mov r0, r4 80d28cc: f001 f84a bl 80d3964 <__s2b> 80d28d0: 9004 str r0, [sp, #16] 80d28d2: 2800 cmp r0, #0 80d28d4: f43f af34 beq.w 80d2740 <_strtod_l+0x4c0> 80d28d8: f1b8 0f00 cmp.w r8, #0 80d28dc: f1c8 0300 rsb r3, r8, #0 80d28e0: ed9f 9b89 vldr d9, [pc, #548] ; 80d2b08 <_strtod_l+0x888> 80d28e4: bfa8 it ge 80d28e6: 2300 movge r3, #0 80d28e8: ed9f ab89 vldr d10, [pc, #548] ; 80d2b10 <_strtod_l+0x890> 80d28ec: ed9f bb8a vldr d11, [pc, #552] ; 80d2b18 <_strtod_l+0x898> 80d28f0: 930d str r3, [sp, #52] ; 0x34 80d28f2: 2500 movs r5, #0 80d28f4: ea28 73e8 bic.w r3, r8, r8, asr #31 80d28f8: 930e str r3, [sp, #56] ; 0x38 80d28fa: 462f mov r7, r5 80d28fc: 9b04 ldr r3, [sp, #16] 80d28fe: 4620 mov r0, r4 80d2900: 6859 ldr r1, [r3, #4] 80d2902: f000 ffa9 bl 80d3858 <_Balloc> 80d2906: 4680 mov r8, r0 80d2908: 2800 cmp r0, #0 80d290a: f43f af1d beq.w 80d2748 <_strtod_l+0x4c8> 80d290e: 9b04 ldr r3, [sp, #16] 80d2910: 691a ldr r2, [r3, #16] 80d2912: 3202 adds r2, #2 80d2914: f103 010c add.w r1, r3, #12 80d2918: 0092 lsls r2, r2, #2 80d291a: 300c adds r0, #12 80d291c: f7ff fb37 bl 80d1f8e 80d2920: aa18 add r2, sp, #96 ; 0x60 80d2922: a917 add r1, sp, #92 ; 0x5c 80d2924: ec4b ab10 vmov d0, sl, fp 80d2928: 4620 mov r0, r4 80d292a: e9cd ab08 strd sl, fp, [sp, #32] 80d292e: f001 fac9 bl 80d3ec4 <__d2b> 80d2932: 9016 str r0, [sp, #88] ; 0x58 80d2934: 2800 cmp r0, #0 80d2936: f43f af07 beq.w 80d2748 <_strtod_l+0x4c8> 80d293a: 2101 movs r1, #1 80d293c: 4620 mov r0, r4 80d293e: f001 f89d bl 80d3a7c <__i2b> 80d2942: 4607 mov r7, r0 80d2944: 2800 cmp r0, #0 80d2946: f43f aeff beq.w 80d2748 <_strtod_l+0x4c8> 80d294a: 9e17 ldr r6, [sp, #92] ; 0x5c 80d294c: 9a18 ldr r2, [sp, #96] ; 0x60 80d294e: 2e00 cmp r6, #0 80d2950: bfb1 iteee lt 80d2952: 9b0e ldrlt r3, [sp, #56] ; 0x38 80d2954: 9b0d ldrge r3, [sp, #52] ; 0x34 80d2956: 980e ldrge r0, [sp, #56] ; 0x38 80d2958: 199b addge r3, r3, r6 80d295a: bfba itte lt 80d295c: 1b98 sublt r0, r3, r6 80d295e: 9b0d ldrlt r3, [sp, #52] ; 0x34 80d2960: 9306 strge r3, [sp, #24] 80d2962: eba6 0609 sub.w r6, r6, r9 80d2966: bfb8 it lt 80d2968: 9306 strlt r3, [sp, #24] 80d296a: 4416 add r6, r2 80d296c: 4b6d ldr r3, [pc, #436] ; (80d2b24 <_strtod_l+0x8a4>) 80d296e: 3e01 subs r6, #1 80d2970: 429e cmp r6, r3 80d2972: f1c2 0236 rsb r2, r2, #54 ; 0x36 80d2976: f280 80ae bge.w 80d2ad6 <_strtod_l+0x856> 80d297a: 1b9b subs r3, r3, r6 80d297c: 2b1f cmp r3, #31 80d297e: eba2 0203 sub.w r2, r2, r3 80d2982: f04f 0101 mov.w r1, #1 80d2986: f300 809a bgt.w 80d2abe <_strtod_l+0x83e> 80d298a: fa01 f303 lsl.w r3, r1, r3 80d298e: 9310 str r3, [sp, #64] ; 0x40 80d2990: 2300 movs r3, #0 80d2992: 930f str r3, [sp, #60] ; 0x3c 80d2994: 9b06 ldr r3, [sp, #24] 80d2996: 4413 add r3, r2 80d2998: 4402 add r2, r0 80d299a: eb09 0602 add.w r6, r9, r2 80d299e: 9a06 ldr r2, [sp, #24] 80d29a0: 429a cmp r2, r3 80d29a2: bfa8 it ge 80d29a4: 461a movge r2, r3 80d29a6: 42b2 cmp r2, r6 80d29a8: bfa8 it ge 80d29aa: 4632 movge r2, r6 80d29ac: 2a00 cmp r2, #0 80d29ae: dd04 ble.n 80d29ba <_strtod_l+0x73a> 80d29b0: 9906 ldr r1, [sp, #24] 80d29b2: 1a9b subs r3, r3, r2 80d29b4: 1ab6 subs r6, r6, r2 80d29b6: 1a8a subs r2, r1, r2 80d29b8: 9206 str r2, [sp, #24] 80d29ba: 9a0d ldr r2, [sp, #52] ; 0x34 80d29bc: b1c2 cbz r2, 80d29f0 <_strtod_l+0x770> 80d29be: 4639 mov r1, r7 80d29c0: 4620 mov r0, r4 80d29c2: 9313 str r3, [sp, #76] ; 0x4c 80d29c4: f001 f8f0 bl 80d3ba8 <__pow5mult> 80d29c8: 4607 mov r7, r0 80d29ca: 2800 cmp r0, #0 80d29cc: f43f aebc beq.w 80d2748 <_strtod_l+0x4c8> 80d29d0: 4601 mov r1, r0 80d29d2: 9a16 ldr r2, [sp, #88] ; 0x58 80d29d4: 4620 mov r0, r4 80d29d6: f001 f85a bl 80d3a8e <__multiply> 80d29da: 9012 str r0, [sp, #72] ; 0x48 80d29dc: 2800 cmp r0, #0 80d29de: f43f aeb3 beq.w 80d2748 <_strtod_l+0x4c8> 80d29e2: 9916 ldr r1, [sp, #88] ; 0x58 80d29e4: 4620 mov r0, r4 80d29e6: f000 ff6b bl 80d38c0 <_Bfree> 80d29ea: 9a12 ldr r2, [sp, #72] ; 0x48 80d29ec: 9b13 ldr r3, [sp, #76] ; 0x4c 80d29ee: 9216 str r2, [sp, #88] ; 0x58 80d29f0: 2b00 cmp r3, #0 80d29f2: dc75 bgt.n 80d2ae0 <_strtod_l+0x860> 80d29f4: 9b0e ldr r3, [sp, #56] ; 0x38 80d29f6: 2b00 cmp r3, #0 80d29f8: d17b bne.n 80d2af2 <_strtod_l+0x872> 80d29fa: 2e00 cmp r6, #0 80d29fc: dd08 ble.n 80d2a10 <_strtod_l+0x790> 80d29fe: 4641 mov r1, r8 80d2a00: 4632 mov r2, r6 80d2a02: 4620 mov r0, r4 80d2a04: f001 f91e bl 80d3c44 <__lshift> 80d2a08: 4680 mov r8, r0 80d2a0a: 2800 cmp r0, #0 80d2a0c: f43f ae9c beq.w 80d2748 <_strtod_l+0x4c8> 80d2a10: 9b06 ldr r3, [sp, #24] 80d2a12: 2b00 cmp r3, #0 80d2a14: dd08 ble.n 80d2a28 <_strtod_l+0x7a8> 80d2a16: 4639 mov r1, r7 80d2a18: 461a mov r2, r3 80d2a1a: 4620 mov r0, r4 80d2a1c: f001 f912 bl 80d3c44 <__lshift> 80d2a20: 4607 mov r7, r0 80d2a22: 2800 cmp r0, #0 80d2a24: f43f ae90 beq.w 80d2748 <_strtod_l+0x4c8> 80d2a28: 4642 mov r2, r8 80d2a2a: 9916 ldr r1, [sp, #88] ; 0x58 80d2a2c: 4620 mov r0, r4 80d2a2e: f001 f974 bl 80d3d1a <__mdiff> 80d2a32: 4605 mov r5, r0 80d2a34: 2800 cmp r0, #0 80d2a36: f43f ae87 beq.w 80d2748 <_strtod_l+0x4c8> 80d2a3a: 68c3 ldr r3, [r0, #12] 80d2a3c: 9306 str r3, [sp, #24] 80d2a3e: 2300 movs r3, #0 80d2a40: 60c3 str r3, [r0, #12] 80d2a42: 4639 mov r1, r7 80d2a44: f001 f94f bl 80d3ce6 <__mcmp> 80d2a48: 2800 cmp r0, #0 80d2a4a: da6d bge.n 80d2b28 <_strtod_l+0x8a8> 80d2a4c: 9b06 ldr r3, [sp, #24] 80d2a4e: b9e3 cbnz r3, 80d2a8a <_strtod_l+0x80a> 80d2a50: f1ba 0f00 cmp.w sl, #0 80d2a54: d119 bne.n 80d2a8a <_strtod_l+0x80a> 80d2a56: f3cb 0313 ubfx r3, fp, #0, #20 80d2a5a: b9b3 cbnz r3, 80d2a8a <_strtod_l+0x80a> 80d2a5c: f02b 4300 bic.w r3, fp, #2147483648 ; 0x80000000 80d2a60: 0d1b lsrs r3, r3, #20 80d2a62: 051b lsls r3, r3, #20 80d2a64: f1b3 6fd6 cmp.w r3, #112197632 ; 0x6b00000 80d2a68: d90f bls.n 80d2a8a <_strtod_l+0x80a> 80d2a6a: 696b ldr r3, [r5, #20] 80d2a6c: b913 cbnz r3, 80d2a74 <_strtod_l+0x7f4> 80d2a6e: 692b ldr r3, [r5, #16] 80d2a70: 2b01 cmp r3, #1 80d2a72: dd0a ble.n 80d2a8a <_strtod_l+0x80a> 80d2a74: 4629 mov r1, r5 80d2a76: 2201 movs r2, #1 80d2a78: 4620 mov r0, r4 80d2a7a: f001 f8e3 bl 80d3c44 <__lshift> 80d2a7e: 4639 mov r1, r7 80d2a80: 4605 mov r5, r0 80d2a82: f001 f930 bl 80d3ce6 <__mcmp> 80d2a86: 2800 cmp r0, #0 80d2a88: dc7d bgt.n 80d2b86 <_strtod_l+0x906> 80d2a8a: f1b9 0f00 cmp.w r9, #0 80d2a8e: f040 8088 bne.w 80d2ba2 <_strtod_l+0x922> 80d2a92: e663 b.n 80d275c <_strtod_l+0x4dc> 80d2a94: 07d6 lsls r6, r2, #31 80d2a96: d508 bpl.n 80d2aaa <_strtod_l+0x82a> 80d2a98: ed9d 6b04 vldr d6, [sp, #16] 80d2a9c: ed91 7b00 vldr d7, [r1] 80d2aa0: ee26 7b07 vmul.f64 d7, d6, d7 80d2aa4: ed8d 7b04 vstr d7, [sp, #16] 80d2aa8: 2001 movs r0, #1 80d2aaa: 1052 asrs r2, r2, #1 80d2aac: 3108 adds r1, #8 80d2aae: e6e0 b.n 80d2872 <_strtod_l+0x5f2> 80d2ab0: f04f 31ff mov.w r1, #4294967295 80d2ab4: fa01 f202 lsl.w r2, r1, r2 80d2ab8: ea02 0a0a and.w sl, r2, sl 80d2abc: e6fa b.n 80d28b4 <_strtod_l+0x634> 80d2abe: f1c6 467f rsb r6, r6, #4278190080 ; 0xff000000 80d2ac2: f506 067f add.w r6, r6, #16711680 ; 0xff0000 80d2ac6: f506 467b add.w r6, r6, #64256 ; 0xfb00 80d2aca: 36e2 adds r6, #226 ; 0xe2 80d2acc: fa01 f306 lsl.w r3, r1, r6 80d2ad0: 930f str r3, [sp, #60] ; 0x3c 80d2ad2: 9110 str r1, [sp, #64] ; 0x40 80d2ad4: e75e b.n 80d2994 <_strtod_l+0x714> 80d2ad6: 2300 movs r3, #0 80d2ad8: 930f str r3, [sp, #60] ; 0x3c 80d2ada: 2301 movs r3, #1 80d2adc: 9310 str r3, [sp, #64] ; 0x40 80d2ade: e759 b.n 80d2994 <_strtod_l+0x714> 80d2ae0: 461a mov r2, r3 80d2ae2: 9916 ldr r1, [sp, #88] ; 0x58 80d2ae4: 4620 mov r0, r4 80d2ae6: f001 f8ad bl 80d3c44 <__lshift> 80d2aea: 9016 str r0, [sp, #88] ; 0x58 80d2aec: 2800 cmp r0, #0 80d2aee: d181 bne.n 80d29f4 <_strtod_l+0x774> 80d2af0: e62a b.n 80d2748 <_strtod_l+0x4c8> 80d2af2: 4641 mov r1, r8 80d2af4: 9a0e ldr r2, [sp, #56] ; 0x38 80d2af6: 4620 mov r0, r4 80d2af8: f001 f856 bl 80d3ba8 <__pow5mult> 80d2afc: 4680 mov r8, r0 80d2afe: 2800 cmp r0, #0 80d2b00: f47f af7b bne.w 80d29fa <_strtod_l+0x77a> 80d2b04: e620 b.n 80d2748 <_strtod_l+0x4c8> 80d2b06: bf00 nop 80d2b08: 94a03595 .word 0x94a03595 80d2b0c: 3fdfffff .word 0x3fdfffff 80d2b10: 35afe535 .word 0x35afe535 80d2b14: 3fe00000 .word 0x3fe00000 80d2b18: 94a03595 .word 0x94a03595 80d2b1c: 3fcfffff .word 0x3fcfffff 80d2b20: 0818d2f0 .word 0x0818d2f0 80d2b24: fffffc02 .word 0xfffffc02 80d2b28: f040 8084 bne.w 80d2c34 <_strtod_l+0x9b4> 80d2b2c: 9a06 ldr r2, [sp, #24] 80d2b2e: f3cb 0313 ubfx r3, fp, #0, #20 80d2b32: b322 cbz r2, 80d2b7e <_strtod_l+0x8fe> 80d2b34: 4ab6 ldr r2, [pc, #728] ; (80d2e10 <_strtod_l+0xb90>) 80d2b36: 4293 cmp r3, r2 80d2b38: 4659 mov r1, fp 80d2b3a: d152 bne.n 80d2be2 <_strtod_l+0x962> 80d2b3c: 4650 mov r0, sl 80d2b3e: f1b9 0f00 cmp.w r9, #0 80d2b42: d019 beq.n 80d2b78 <_strtod_l+0x8f8> 80d2b44: 4bb3 ldr r3, [pc, #716] ; (80d2e14 <_strtod_l+0xb94>) 80d2b46: 400b ands r3, r1 80d2b48: f1b3 6fd4 cmp.w r3, #111149056 ; 0x6a00000 80d2b4c: f04f 32ff mov.w r2, #4294967295 80d2b50: d803 bhi.n 80d2b5a <_strtod_l+0x8da> 80d2b52: 0d1b lsrs r3, r3, #20 80d2b54: f1c3 036b rsb r3, r3, #107 ; 0x6b 80d2b58: 409a lsls r2, r3 80d2b5a: 4282 cmp r2, r0 80d2b5c: d141 bne.n 80d2be2 <_strtod_l+0x962> 80d2b5e: 4bae ldr r3, [pc, #696] ; (80d2e18 <_strtod_l+0xb98>) 80d2b60: 4299 cmp r1, r3 80d2b62: d102 bne.n 80d2b6a <_strtod_l+0x8ea> 80d2b64: 3201 adds r2, #1 80d2b66: f43f adef beq.w 80d2748 <_strtod_l+0x4c8> 80d2b6a: 4baa ldr r3, [pc, #680] ; (80d2e14 <_strtod_l+0xb94>) 80d2b6c: 400b ands r3, r1 80d2b6e: f503 1b80 add.w fp, r3, #1048576 ; 0x100000 80d2b72: f04f 0a00 mov.w sl, #0 80d2b76: e788 b.n 80d2a8a <_strtod_l+0x80a> 80d2b78: f04f 32ff mov.w r2, #4294967295 80d2b7c: e7ed b.n 80d2b5a <_strtod_l+0x8da> 80d2b7e: bb83 cbnz r3, 80d2be2 <_strtod_l+0x962> 80d2b80: f1ba 0f00 cmp.w sl, #0 80d2b84: d12d bne.n 80d2be2 <_strtod_l+0x962> 80d2b86: f02b 4300 bic.w r3, fp, #2147483648 ; 0x80000000 80d2b8a: 0d1b lsrs r3, r3, #20 80d2b8c: 051b lsls r3, r3, #20 80d2b8e: f1b9 0f00 cmp.w r9, #0 80d2b92: d01d beq.n 80d2bd0 <_strtod_l+0x950> 80d2b94: f1b3 6fd6 cmp.w r3, #112197632 ; 0x6b00000 80d2b98: dc1a bgt.n 80d2bd0 <_strtod_l+0x950> 80d2b9a: f1b3 7f5c cmp.w r3, #57671680 ; 0x3700000 80d2b9e: f77f ae47 ble.w 80d2830 <_strtod_l+0x5b0> 80d2ba2: 4b9e ldr r3, [pc, #632] ; (80d2e1c <_strtod_l+0xb9c>) 80d2ba4: 930b str r3, [sp, #44] ; 0x2c 80d2ba6: 2300 movs r3, #0 80d2ba8: 930a str r3, [sp, #40] ; 0x28 80d2baa: ed9d 6b0a vldr d6, [sp, #40] ; 0x28 80d2bae: ec4b ab17 vmov d7, sl, fp 80d2bb2: ee27 7b06 vmul.f64 d7, d7, d6 80d2bb6: ec5b ab17 vmov sl, fp, d7 80d2bba: f1bb 0f00 cmp.w fp, #0 80d2bbe: f47f adcd bne.w 80d275c <_strtod_l+0x4dc> 80d2bc2: f1ba 0f00 cmp.w sl, #0 80d2bc6: f47f adc9 bne.w 80d275c <_strtod_l+0x4dc> 80d2bca: 2322 movs r3, #34 ; 0x22 80d2bcc: 6023 str r3, [r4, #0] 80d2bce: e5c5 b.n 80d275c <_strtod_l+0x4dc> 80d2bd0: f5a3 1380 sub.w r3, r3, #1048576 ; 0x100000 80d2bd4: ea6f 5b13 mvn.w fp, r3, lsr #20 80d2bd8: ea6f 5b0b mvn.w fp, fp, lsl #20 80d2bdc: f04f 3aff mov.w sl, #4294967295 80d2be0: e753 b.n 80d2a8a <_strtod_l+0x80a> 80d2be2: 9b0f ldr r3, [sp, #60] ; 0x3c 80d2be4: b18b cbz r3, 80d2c0a <_strtod_l+0x98a> 80d2be6: ea13 0f0b tst.w r3, fp 80d2bea: f43f af4e beq.w 80d2a8a <_strtod_l+0x80a> 80d2bee: 9b06 ldr r3, [sp, #24] 80d2bf0: 464a mov r2, r9 80d2bf2: 4650 mov r0, sl 80d2bf4: 4659 mov r1, fp 80d2bf6: b163 cbz r3, 80d2c12 <_strtod_l+0x992> 80d2bf8: f7ff fb26 bl 80d2248 80d2bfc: ed9d 7b08 vldr d7, [sp, #32] 80d2c00: ee37 7b00 vadd.f64 d7, d7, d0 80d2c04: ec5b ab17 vmov sl, fp, d7 80d2c08: e73f b.n 80d2a8a <_strtod_l+0x80a> 80d2c0a: 9b10 ldr r3, [sp, #64] ; 0x40 80d2c0c: ea13 0f0a tst.w r3, sl 80d2c10: e7eb b.n 80d2bea <_strtod_l+0x96a> 80d2c12: f7ff fb19 bl 80d2248 80d2c16: ed9d 7b08 vldr d7, [sp, #32] 80d2c1a: ee37 7b40 vsub.f64 d7, d7, d0 80d2c1e: ed8d 7b06 vstr d7, [sp, #24] 80d2c22: eeb5 7b40 vcmp.f64 d7, #0.0 80d2c26: eef1 fa10 vmrs APSR_nzcv, fpscr 80d2c2a: e9dd ab06 ldrd sl, fp, [sp, #24] 80d2c2e: f43f adff beq.w 80d2830 <_strtod_l+0x5b0> 80d2c32: e72a b.n 80d2a8a <_strtod_l+0x80a> 80d2c34: 4639 mov r1, r7 80d2c36: 4628 mov r0, r5 80d2c38: f001 f993 bl 80d3f62 <__ratio> 80d2c3c: eeb0 7b00 vmov.f64 d7, #0 ; 0x40000000 2.0 80d2c40: eeb4 0bc7 vcmpe.f64 d0, d7 80d2c44: eef1 fa10 vmrs APSR_nzcv, fpscr 80d2c48: d864 bhi.n 80d2d14 <_strtod_l+0xa94> 80d2c4a: 9b06 ldr r3, [sp, #24] 80d2c4c: 2b00 cmp r3, #0 80d2c4e: d041 beq.n 80d2cd4 <_strtod_l+0xa54> 80d2c50: 4b73 ldr r3, [pc, #460] ; (80d2e20 <_strtod_l+0xba0>) 80d2c52: 2200 movs r2, #0 80d2c54: eeb7 8b00 vmov.f64 d8, #112 ; 0x3f800000 1.0 80d2c58: 486e ldr r0, [pc, #440] ; (80d2e14 <_strtod_l+0xb94>) 80d2c5a: 4972 ldr r1, [pc, #456] ; (80d2e24 <_strtod_l+0xba4>) 80d2c5c: ea00 060b and.w r6, r0, fp 80d2c60: 428e cmp r6, r1 80d2c62: f040 8086 bne.w 80d2d72 <_strtod_l+0xaf2> 80d2c66: 900f str r0, [sp, #60] ; 0x3c 80d2c68: e9dd 0108 ldrd r0, r1, [sp, #32] 80d2c6c: f1ab 7b54 sub.w fp, fp, #55574528 ; 0x3500000 80d2c70: ec4b ab10 vmov d0, sl, fp 80d2c74: ec43 2b1c vmov d12, r2, r3 80d2c78: e9cd 010a strd r0, r1, [sp, #40] ; 0x28 80d2c7c: f001 f8ac bl 80d3dd8 <__ulp> 80d2c80: ec4b ab1d vmov d13, sl, fp 80d2c84: 980f ldr r0, [sp, #60] ; 0x3c 80d2c86: eeac db00 vfma.f64 d13, d12, d0 80d2c8a: ec5b ab1d vmov sl, fp, d13 80d2c8e: 4b66 ldr r3, [pc, #408] ; (80d2e28 <_strtod_l+0xba8>) 80d2c90: ea00 020b and.w r2, r0, fp 80d2c94: 429a cmp r2, r3 80d2c96: d947 bls.n 80d2d28 <_strtod_l+0xaa8> 80d2c98: 9a0b ldr r2, [sp, #44] ; 0x2c 80d2c9a: f103 7354 add.w r3, r3, #55574528 ; 0x3500000 80d2c9e: 429a cmp r2, r3 80d2ca0: d103 bne.n 80d2caa <_strtod_l+0xa2a> 80d2ca2: 9b0a ldr r3, [sp, #40] ; 0x28 80d2ca4: 3301 adds r3, #1 80d2ca6: f43f ad4f beq.w 80d2748 <_strtod_l+0x4c8> 80d2caa: f8df b16c ldr.w fp, [pc, #364] ; 80d2e18 <_strtod_l+0xb98> 80d2cae: f04f 3aff mov.w sl, #4294967295 80d2cb2: 9916 ldr r1, [sp, #88] ; 0x58 80d2cb4: 4620 mov r0, r4 80d2cb6: f000 fe03 bl 80d38c0 <_Bfree> 80d2cba: 4641 mov r1, r8 80d2cbc: 4620 mov r0, r4 80d2cbe: f000 fdff bl 80d38c0 <_Bfree> 80d2cc2: 4639 mov r1, r7 80d2cc4: 4620 mov r0, r4 80d2cc6: f000 fdfb bl 80d38c0 <_Bfree> 80d2cca: 4629 mov r1, r5 80d2ccc: 4620 mov r0, r4 80d2cce: f000 fdf7 bl 80d38c0 <_Bfree> 80d2cd2: e613 b.n 80d28fc <_strtod_l+0x67c> 80d2cd4: f1ba 0f00 cmp.w sl, #0 80d2cd8: d112 bne.n 80d2d00 <_strtod_l+0xa80> 80d2cda: f3cb 0313 ubfx r3, fp, #0, #20 80d2cde: b9b3 cbnz r3, 80d2d0e <_strtod_l+0xa8e> 80d2ce0: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80d2ce4: eeb4 0bc7 vcmpe.f64 d0, d7 80d2ce8: eef1 fa10 vmrs APSR_nzcv, fpscr 80d2cec: eeb6 8b00 vmov.f64 d8, #96 ; 0x3f000000 0.5 80d2cf0: d401 bmi.n 80d2cf6 <_strtod_l+0xa76> 80d2cf2: ee20 8b08 vmul.f64 d8, d0, d8 80d2cf6: eeb1 7b48 vneg.f64 d7, d8 80d2cfa: ec53 2b17 vmov r2, r3, d7 80d2cfe: e7ab b.n 80d2c58 <_strtod_l+0x9d8> 80d2d00: f1ba 0f01 cmp.w sl, #1 80d2d04: d103 bne.n 80d2d0e <_strtod_l+0xa8e> 80d2d06: f1bb 0f00 cmp.w fp, #0 80d2d0a: f43f ad91 beq.w 80d2830 <_strtod_l+0x5b0> 80d2d0e: 2200 movs r2, #0 80d2d10: 4b46 ldr r3, [pc, #280] ; (80d2e2c <_strtod_l+0xbac>) 80d2d12: e79f b.n 80d2c54 <_strtod_l+0x9d4> 80d2d14: 9b06 ldr r3, [sp, #24] 80d2d16: eeb6 8b00 vmov.f64 d8, #96 ; 0x3f000000 0.5 80d2d1a: ee20 8b08 vmul.f64 d8, d0, d8 80d2d1e: 2b00 cmp r3, #0 80d2d20: d0e9 beq.n 80d2cf6 <_strtod_l+0xa76> 80d2d22: ec53 2b18 vmov r2, r3, d8 80d2d26: e797 b.n 80d2c58 <_strtod_l+0x9d8> 80d2d28: f10b 7b54 add.w fp, fp, #55574528 ; 0x3500000 80d2d2c: f1b9 0f00 cmp.w r9, #0 80d2d30: d1bf bne.n 80d2cb2 <_strtod_l+0xa32> 80d2d32: f02b 4300 bic.w r3, fp, #2147483648 ; 0x80000000 80d2d36: 0d1b lsrs r3, r3, #20 80d2d38: 051b lsls r3, r3, #20 80d2d3a: 429e cmp r6, r3 80d2d3c: d1b9 bne.n 80d2cb2 <_strtod_l+0xa32> 80d2d3e: eebd 0bc8 vcvt.s32.f64 s0, d8 80d2d42: 9b06 ldr r3, [sp, #24] 80d2d44: eeb8 0bc0 vcvt.f64.s32 d0, s0 80d2d48: ee38 8b40 vsub.f64 d8, d8, d0 80d2d4c: b92b cbnz r3, 80d2d5a <_strtod_l+0xada> 80d2d4e: f1ba 0f00 cmp.w sl, #0 80d2d52: d102 bne.n 80d2d5a <_strtod_l+0xada> 80d2d54: f3cb 0213 ubfx r2, fp, #0, #20 80d2d58: b3e2 cbz r2, 80d2dd4 <_strtod_l+0xb54> 80d2d5a: eeb4 8bc9 vcmpe.f64 d8, d9 80d2d5e: eef1 fa10 vmrs APSR_nzcv, fpscr 80d2d62: f53f acfb bmi.w 80d275c <_strtod_l+0x4dc> 80d2d66: eeb4 8bca vcmpe.f64 d8, d10 80d2d6a: eef1 fa10 vmrs APSR_nzcv, fpscr 80d2d6e: dda0 ble.n 80d2cb2 <_strtod_l+0xa32> 80d2d70: e4f4 b.n 80d275c <_strtod_l+0x4dc> 80d2d72: f1b9 0f00 cmp.w r9, #0 80d2d76: d01d beq.n 80d2db4 <_strtod_l+0xb34> 80d2d78: f1b6 6fd4 cmp.w r6, #111149056 ; 0x6a00000 80d2d7c: d81a bhi.n 80d2db4 <_strtod_l+0xb34> 80d2d7e: ed9f 7b22 vldr d7, [pc, #136] ; 80d2e08 <_strtod_l+0xb88> 80d2d82: eeb4 8bc7 vcmpe.f64 d8, d7 80d2d86: eef1 fa10 vmrs APSR_nzcv, fpscr 80d2d8a: d810 bhi.n 80d2dae <_strtod_l+0xb2e> 80d2d8c: eefc 7bc8 vcvt.u32.f64 s15, d8 80d2d90: ee17 3a90 vmov r3, s15 80d2d94: 2b00 cmp r3, #0 80d2d96: bf08 it eq 80d2d98: 2301 moveq r3, #1 80d2d9a: ee07 3a90 vmov s15, r3 80d2d9e: 9b06 ldr r3, [sp, #24] 80d2da0: eeb8 8b67 vcvt.f64.u32 d8, s15 80d2da4: b99b cbnz r3, 80d2dce <_strtod_l+0xb4e> 80d2da6: eeb1 7b48 vneg.f64 d7, d8 80d2daa: ec53 2b17 vmov r2, r3, d7 80d2dae: f103 61d6 add.w r1, r3, #112197632 ; 0x6b00000 80d2db2: 1b8b subs r3, r1, r6 80d2db4: ed9d 0b08 vldr d0, [sp, #32] 80d2db8: ec43 2b1c vmov d12, r2, r3 80d2dbc: f001 f80c bl 80d3dd8 <__ulp> 80d2dc0: ed9d 7b08 vldr d7, [sp, #32] 80d2dc4: eeac 7b00 vfma.f64 d7, d12, d0 80d2dc8: ec5b ab17 vmov sl, fp, d7 80d2dcc: e7ae b.n 80d2d2c <_strtod_l+0xaac> 80d2dce: ec53 2b18 vmov r2, r3, d8 80d2dd2: e7ec b.n 80d2dae <_strtod_l+0xb2e> 80d2dd4: eeb4 8bcb vcmpe.f64 d8, d11 80d2dd8: eef1 fa10 vmrs APSR_nzcv, fpscr 80d2ddc: f57f af69 bpl.w 80d2cb2 <_strtod_l+0xa32> 80d2de0: e4bc b.n 80d275c <_strtod_l+0x4dc> 80d2de2: 2300 movs r3, #0 80d2de4: 930c str r3, [sp, #48] ; 0x30 80d2de6: 9a11 ldr r2, [sp, #68] ; 0x44 80d2de8: 9b15 ldr r3, [sp, #84] ; 0x54 80d2dea: 6013 str r3, [r2, #0] 80d2dec: f7ff ba8e b.w 80d230c <_strtod_l+0x8c> 80d2df0: 2a65 cmp r2, #101 ; 0x65 80d2df2: f04f 0100 mov.w r1, #0 80d2df6: f43f abec beq.w 80d25d2 <_strtod_l+0x352> 80d2dfa: 2701 movs r7, #1 80d2dfc: 460b mov r3, r1 80d2dfe: 9708 str r7, [sp, #32] 80d2e00: f7ff bb00 b.w 80d2404 <_strtod_l+0x184> 80d2e04: f3af 8000 nop.w 80d2e08: ffc00000 .word 0xffc00000 80d2e0c: 41dfffff .word 0x41dfffff 80d2e10: 000fffff .word 0x000fffff 80d2e14: 7ff00000 .word 0x7ff00000 80d2e18: 7fefffff .word 0x7fefffff 80d2e1c: 39500000 .word 0x39500000 80d2e20: 3ff00000 .word 0x3ff00000 80d2e24: 7fe00000 .word 0x7fe00000 80d2e28: 7c9fffff .word 0x7c9fffff 80d2e2c: bff00000 .word 0xbff00000 080d2e30 : 80d2e30: b538 push {r3, r4, r5, lr} 80d2e32: 4c1b ldr r4, [pc, #108] ; (80d2ea0 ) 80d2e34: 4a1b ldr r2, [pc, #108] ; (80d2ea4 ) 80d2e36: 6825 ldr r5, [r4, #0] 80d2e38: 6a2b ldr r3, [r5, #32] 80d2e3a: 2b00 cmp r3, #0 80d2e3c: bf08 it eq 80d2e3e: 4613 moveq r3, r2 80d2e40: 460a mov r2, r1 80d2e42: 4601 mov r1, r0 80d2e44: 4628 mov r0, r5 80d2e46: f7ff fa1b bl 80d2280 <_strtod_l> 80d2e4a: eeb4 0b40 vcmp.f64 d0, d0 80d2e4e: eef1 fa10 vmrs APSR_nzcv, fpscr 80d2e52: eeb0 7b40 vmov.f64 d7, d0 80d2e56: d704 bvc.n 80d2e62 80d2e58: 2000 movs r0, #0 80d2e5a: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 80d2e5e: f001 bd15 b.w 80d488c 80d2e62: eeb7 0bc0 vcvt.f32.f64 s0, d0 80d2e66: eddf 6a10 vldr s13, [pc, #64] ; 80d2ea8 80d2e6a: eeb0 6ac0 vabs.f32 s12, s0 80d2e6e: eeb4 6a66 vcmp.f32 s12, s13 80d2e72: eef1 fa10 vmrs APSR_nzcv, fpscr 80d2e76: dd0b ble.n 80d2e90 80d2e78: eeb0 7bc7 vabs.f64 d7, d7 80d2e7c: ed9f 6b06 vldr d6, [pc, #24] ; 80d2e98 80d2e80: eeb4 7b46 vcmp.f64 d7, d6 80d2e84: eef1 fa10 vmrs APSR_nzcv, fpscr 80d2e88: bfde ittt le 80d2e8a: 6823 ldrle r3, [r4, #0] 80d2e8c: 2222 movle r2, #34 ; 0x22 80d2e8e: 601a strle r2, [r3, #0] 80d2e90: bd38 pop {r3, r4, r5, pc} 80d2e92: bf00 nop 80d2e94: f3af 8000 nop.w 80d2e98: ffffffff .word 0xffffffff 80d2e9c: 7fefffff .word 0x7fefffff 80d2ea0: 20020b54 .word 0x20020b54 80d2ea4: 20020bb8 .word 0x20020bb8 80d2ea8: 7f7fffff .word 0x7f7fffff 080d2eac <_strtol_l.isra.0>: 80d2eac: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} 80d2eb0: 4680 mov r8, r0 80d2eb2: 4689 mov r9, r1 80d2eb4: 4692 mov sl, r2 80d2eb6: 461f mov r7, r3 80d2eb8: 468b mov fp, r1 80d2eba: 465d mov r5, fp 80d2ebc: 980a ldr r0, [sp, #40] ; 0x28 80d2ebe: f815 4b01 ldrb.w r4, [r5], #1 80d2ec2: f000 fcb0 bl 80d3826 <__locale_ctype_ptr_l> 80d2ec6: 4420 add r0, r4 80d2ec8: 7846 ldrb r6, [r0, #1] 80d2eca: f016 0608 ands.w r6, r6, #8 80d2ece: d10b bne.n 80d2ee8 <_strtol_l.isra.0+0x3c> 80d2ed0: 2c2d cmp r4, #45 ; 0x2d 80d2ed2: d10b bne.n 80d2eec <_strtol_l.isra.0+0x40> 80d2ed4: 782c ldrb r4, [r5, #0] 80d2ed6: 2601 movs r6, #1 80d2ed8: f10b 0502 add.w r5, fp, #2 80d2edc: b167 cbz r7, 80d2ef8 <_strtol_l.isra.0+0x4c> 80d2ede: 2f10 cmp r7, #16 80d2ee0: d114 bne.n 80d2f0c <_strtol_l.isra.0+0x60> 80d2ee2: 2c30 cmp r4, #48 ; 0x30 80d2ee4: d00a beq.n 80d2efc <_strtol_l.isra.0+0x50> 80d2ee6: e011 b.n 80d2f0c <_strtol_l.isra.0+0x60> 80d2ee8: 46ab mov fp, r5 80d2eea: e7e6 b.n 80d2eba <_strtol_l.isra.0+0xe> 80d2eec: 2c2b cmp r4, #43 ; 0x2b 80d2eee: bf04 itt eq 80d2ef0: 782c ldrbeq r4, [r5, #0] 80d2ef2: f10b 0502 addeq.w r5, fp, #2 80d2ef6: e7f1 b.n 80d2edc <_strtol_l.isra.0+0x30> 80d2ef8: 2c30 cmp r4, #48 ; 0x30 80d2efa: d127 bne.n 80d2f4c <_strtol_l.isra.0+0xa0> 80d2efc: 782b ldrb r3, [r5, #0] 80d2efe: f003 03df and.w r3, r3, #223 ; 0xdf 80d2f02: 2b58 cmp r3, #88 ; 0x58 80d2f04: d14b bne.n 80d2f9e <_strtol_l.isra.0+0xf2> 80d2f06: 786c ldrb r4, [r5, #1] 80d2f08: 2710 movs r7, #16 80d2f0a: 3502 adds r5, #2 80d2f0c: 2e00 cmp r6, #0 80d2f0e: bf0c ite eq 80d2f10: f06f 4100 mvneq.w r1, #2147483648 ; 0x80000000 80d2f14: f04f 4100 movne.w r1, #2147483648 ; 0x80000000 80d2f18: 2200 movs r2, #0 80d2f1a: fbb1 fef7 udiv lr, r1, r7 80d2f1e: 4610 mov r0, r2 80d2f20: fb07 1c1e mls ip, r7, lr, r1 80d2f24: f1a4 0330 sub.w r3, r4, #48 ; 0x30 80d2f28: 2b09 cmp r3, #9 80d2f2a: d811 bhi.n 80d2f50 <_strtol_l.isra.0+0xa4> 80d2f2c: 461c mov r4, r3 80d2f2e: 42a7 cmp r7, r4 80d2f30: dd1d ble.n 80d2f6e <_strtol_l.isra.0+0xc2> 80d2f32: 1c53 adds r3, r2, #1 80d2f34: d007 beq.n 80d2f46 <_strtol_l.isra.0+0x9a> 80d2f36: 4586 cmp lr, r0 80d2f38: d316 bcc.n 80d2f68 <_strtol_l.isra.0+0xbc> 80d2f3a: d101 bne.n 80d2f40 <_strtol_l.isra.0+0x94> 80d2f3c: 45a4 cmp ip, r4 80d2f3e: db13 blt.n 80d2f68 <_strtol_l.isra.0+0xbc> 80d2f40: fb00 4007 mla r0, r0, r7, r4 80d2f44: 2201 movs r2, #1 80d2f46: f815 4b01 ldrb.w r4, [r5], #1 80d2f4a: e7eb b.n 80d2f24 <_strtol_l.isra.0+0x78> 80d2f4c: 270a movs r7, #10 80d2f4e: e7dd b.n 80d2f0c <_strtol_l.isra.0+0x60> 80d2f50: f1a4 0341 sub.w r3, r4, #65 ; 0x41 80d2f54: 2b19 cmp r3, #25 80d2f56: d801 bhi.n 80d2f5c <_strtol_l.isra.0+0xb0> 80d2f58: 3c37 subs r4, #55 ; 0x37 80d2f5a: e7e8 b.n 80d2f2e <_strtol_l.isra.0+0x82> 80d2f5c: f1a4 0361 sub.w r3, r4, #97 ; 0x61 80d2f60: 2b19 cmp r3, #25 80d2f62: d804 bhi.n 80d2f6e <_strtol_l.isra.0+0xc2> 80d2f64: 3c57 subs r4, #87 ; 0x57 80d2f66: e7e2 b.n 80d2f2e <_strtol_l.isra.0+0x82> 80d2f68: f04f 32ff mov.w r2, #4294967295 80d2f6c: e7eb b.n 80d2f46 <_strtol_l.isra.0+0x9a> 80d2f6e: 1c53 adds r3, r2, #1 80d2f70: d108 bne.n 80d2f84 <_strtol_l.isra.0+0xd8> 80d2f72: 2322 movs r3, #34 ; 0x22 80d2f74: f8c8 3000 str.w r3, [r8] 80d2f78: 4608 mov r0, r1 80d2f7a: f1ba 0f00 cmp.w sl, #0 80d2f7e: d107 bne.n 80d2f90 <_strtol_l.isra.0+0xe4> 80d2f80: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 80d2f84: b106 cbz r6, 80d2f88 <_strtol_l.isra.0+0xdc> 80d2f86: 4240 negs r0, r0 80d2f88: f1ba 0f00 cmp.w sl, #0 80d2f8c: d00c beq.n 80d2fa8 <_strtol_l.isra.0+0xfc> 80d2f8e: b122 cbz r2, 80d2f9a <_strtol_l.isra.0+0xee> 80d2f90: 3d01 subs r5, #1 80d2f92: f8ca 5000 str.w r5, [sl] 80d2f96: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 80d2f9a: 464d mov r5, r9 80d2f9c: e7f9 b.n 80d2f92 <_strtol_l.isra.0+0xe6> 80d2f9e: 2430 movs r4, #48 ; 0x30 80d2fa0: 2f00 cmp r7, #0 80d2fa2: d1b3 bne.n 80d2f0c <_strtol_l.isra.0+0x60> 80d2fa4: 2708 movs r7, #8 80d2fa6: e7b1 b.n 80d2f0c <_strtol_l.isra.0+0x60> 80d2fa8: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 080d2fac : 80d2fac: 4b08 ldr r3, [pc, #32] ; (80d2fd0 ) 80d2fae: b537 push {r0, r1, r2, r4, r5, lr} 80d2fb0: 681c ldr r4, [r3, #0] 80d2fb2: 4d08 ldr r5, [pc, #32] ; (80d2fd4 ) 80d2fb4: 6a23 ldr r3, [r4, #32] 80d2fb6: 2b00 cmp r3, #0 80d2fb8: bf08 it eq 80d2fba: 462b moveq r3, r5 80d2fbc: 9300 str r3, [sp, #0] 80d2fbe: 4613 mov r3, r2 80d2fc0: 460a mov r2, r1 80d2fc2: 4601 mov r1, r0 80d2fc4: 4620 mov r0, r4 80d2fc6: f7ff ff71 bl 80d2eac <_strtol_l.isra.0> 80d2fca: b003 add sp, #12 80d2fcc: bd30 pop {r4, r5, pc} 80d2fce: bf00 nop 80d2fd0: 20020b54 .word 0x20020b54 80d2fd4: 20020bb8 .word 0x20020bb8 080d2fd8 <__utoa>: 80d2fd8: b5f0 push {r4, r5, r6, r7, lr} 80d2fda: 4c1e ldr r4, [pc, #120] ; (80d3054 <__utoa+0x7c>) 80d2fdc: b08b sub sp, #44 ; 0x2c 80d2fde: 4603 mov r3, r0 80d2fe0: 460f mov r7, r1 80d2fe2: 466d mov r5, sp 80d2fe4: f104 0e20 add.w lr, r4, #32 80d2fe8: 6820 ldr r0, [r4, #0] 80d2fea: 6861 ldr r1, [r4, #4] 80d2fec: 462e mov r6, r5 80d2fee: c603 stmia r6!, {r0, r1} 80d2ff0: 3408 adds r4, #8 80d2ff2: 4574 cmp r4, lr 80d2ff4: 4635 mov r5, r6 80d2ff6: d1f7 bne.n 80d2fe8 <__utoa+0x10> 80d2ff8: 7921 ldrb r1, [r4, #4] 80d2ffa: 7131 strb r1, [r6, #4] 80d2ffc: 1e91 subs r1, r2, #2 80d2ffe: 6820 ldr r0, [r4, #0] 80d3000: 6030 str r0, [r6, #0] 80d3002: 2922 cmp r1, #34 ; 0x22 80d3004: f04f 0100 mov.w r1, #0 80d3008: d904 bls.n 80d3014 <__utoa+0x3c> 80d300a: 7039 strb r1, [r7, #0] 80d300c: 460f mov r7, r1 80d300e: 4638 mov r0, r7 80d3010: b00b add sp, #44 ; 0x2c 80d3012: bdf0 pop {r4, r5, r6, r7, pc} 80d3014: 1e78 subs r0, r7, #1 80d3016: 4606 mov r6, r0 80d3018: fbb3 f5f2 udiv r5, r3, r2 80d301c: f10d 0e28 add.w lr, sp, #40 ; 0x28 80d3020: fb02 3315 mls r3, r2, r5, r3 80d3024: 4473 add r3, lr 80d3026: 1c4c adds r4, r1, #1 80d3028: f813 3c28 ldrb.w r3, [r3, #-40] 80d302c: f806 3f01 strb.w r3, [r6, #1]! 80d3030: 462b mov r3, r5 80d3032: b965 cbnz r5, 80d304e <__utoa+0x76> 80d3034: 553d strb r5, [r7, r4] 80d3036: 187a adds r2, r7, r1 80d3038: 1acc subs r4, r1, r3 80d303a: 42a3 cmp r3, r4 80d303c: dae7 bge.n 80d300e <__utoa+0x36> 80d303e: 7844 ldrb r4, [r0, #1] 80d3040: 7815 ldrb r5, [r2, #0] 80d3042: f800 5f01 strb.w r5, [r0, #1]! 80d3046: 3301 adds r3, #1 80d3048: f802 4901 strb.w r4, [r2], #-1 80d304c: e7f4 b.n 80d3038 <__utoa+0x60> 80d304e: 4621 mov r1, r4 80d3050: e7e2 b.n 80d3018 <__utoa+0x40> 80d3052: bf00 nop 80d3054: 0818d318 .word 0x0818d318 080d3058 <_cleanup_r>: 80d3058: 4901 ldr r1, [pc, #4] ; (80d3060 <_cleanup_r+0x8>) 80d305a: f000 b8a9 b.w 80d31b0 <_fwalk_reent> 80d305e: bf00 nop 80d3060: 080d4c35 .word 0x080d4c35 080d3064 : 80d3064: 2300 movs r3, #0 80d3066: b510 push {r4, lr} 80d3068: 4604 mov r4, r0 80d306a: 6003 str r3, [r0, #0] 80d306c: 6043 str r3, [r0, #4] 80d306e: 6083 str r3, [r0, #8] 80d3070: 8181 strh r1, [r0, #12] 80d3072: 6643 str r3, [r0, #100] ; 0x64 80d3074: 81c2 strh r2, [r0, #14] 80d3076: 6103 str r3, [r0, #16] 80d3078: 6143 str r3, [r0, #20] 80d307a: 6183 str r3, [r0, #24] 80d307c: 4619 mov r1, r3 80d307e: 2208 movs r2, #8 80d3080: 305c adds r0, #92 ; 0x5c 80d3082: f7fe ff8f bl 80d1fa4 80d3086: 4b05 ldr r3, [pc, #20] ; (80d309c ) 80d3088: 6263 str r3, [r4, #36] ; 0x24 80d308a: 4b05 ldr r3, [pc, #20] ; (80d30a0 ) 80d308c: 62a3 str r3, [r4, #40] ; 0x28 80d308e: 4b05 ldr r3, [pc, #20] ; (80d30a4 ) 80d3090: 62e3 str r3, [r4, #44] ; 0x2c 80d3092: 4b05 ldr r3, [pc, #20] ; (80d30a8 ) 80d3094: 6224 str r4, [r4, #32] 80d3096: 6323 str r3, [r4, #48] ; 0x30 80d3098: bd10 pop {r4, pc} 80d309a: bf00 nop 80d309c: 080d4899 .word 0x080d4899 80d30a0: 080d48bb .word 0x080d48bb 80d30a4: 080d48f3 .word 0x080d48f3 80d30a8: 080d4917 .word 0x080d4917 080d30ac <__sfmoreglue>: 80d30ac: b570 push {r4, r5, r6, lr} 80d30ae: 1e4a subs r2, r1, #1 80d30b0: 2568 movs r5, #104 ; 0x68 80d30b2: 4355 muls r5, r2 80d30b4: 460e mov r6, r1 80d30b6: f105 0174 add.w r1, r5, #116 ; 0x74 80d30ba: f7fe ffc9 bl 80d2050 <_malloc_r> 80d30be: 4604 mov r4, r0 80d30c0: b140 cbz r0, 80d30d4 <__sfmoreglue+0x28> 80d30c2: 2100 movs r1, #0 80d30c4: e880 0042 stmia.w r0, {r1, r6} 80d30c8: 300c adds r0, #12 80d30ca: 60a0 str r0, [r4, #8] 80d30cc: f105 0268 add.w r2, r5, #104 ; 0x68 80d30d0: f7fe ff68 bl 80d1fa4 80d30d4: 4620 mov r0, r4 80d30d6: bd70 pop {r4, r5, r6, pc} 080d30d8 <__sinit>: 80d30d8: 6983 ldr r3, [r0, #24] 80d30da: b510 push {r4, lr} 80d30dc: 4604 mov r4, r0 80d30de: bb33 cbnz r3, 80d312e <__sinit+0x56> 80d30e0: 6483 str r3, [r0, #72] ; 0x48 80d30e2: 64c3 str r3, [r0, #76] ; 0x4c 80d30e4: 6503 str r3, [r0, #80] ; 0x50 80d30e6: 4b12 ldr r3, [pc, #72] ; (80d3130 <__sinit+0x58>) 80d30e8: 4a12 ldr r2, [pc, #72] ; (80d3134 <__sinit+0x5c>) 80d30ea: 681b ldr r3, [r3, #0] 80d30ec: 6282 str r2, [r0, #40] ; 0x28 80d30ee: 4298 cmp r0, r3 80d30f0: bf04 itt eq 80d30f2: 2301 moveq r3, #1 80d30f4: 6183 streq r3, [r0, #24] 80d30f6: f000 f81f bl 80d3138 <__sfp> 80d30fa: 6060 str r0, [r4, #4] 80d30fc: 4620 mov r0, r4 80d30fe: f000 f81b bl 80d3138 <__sfp> 80d3102: 60a0 str r0, [r4, #8] 80d3104: 4620 mov r0, r4 80d3106: f000 f817 bl 80d3138 <__sfp> 80d310a: 2200 movs r2, #0 80d310c: 60e0 str r0, [r4, #12] 80d310e: 2104 movs r1, #4 80d3110: 6860 ldr r0, [r4, #4] 80d3112: f7ff ffa7 bl 80d3064 80d3116: 2201 movs r2, #1 80d3118: 2109 movs r1, #9 80d311a: 68a0 ldr r0, [r4, #8] 80d311c: f7ff ffa2 bl 80d3064 80d3120: 2202 movs r2, #2 80d3122: 2112 movs r1, #18 80d3124: 68e0 ldr r0, [r4, #12] 80d3126: f7ff ff9d bl 80d3064 80d312a: 2301 movs r3, #1 80d312c: 61a3 str r3, [r4, #24] 80d312e: bd10 pop {r4, pc} 80d3130: 0818d2b8 .word 0x0818d2b8 80d3134: 080d3059 .word 0x080d3059 080d3138 <__sfp>: 80d3138: b5f8 push {r3, r4, r5, r6, r7, lr} 80d313a: 4b1c ldr r3, [pc, #112] ; (80d31ac <__sfp+0x74>) 80d313c: 681e ldr r6, [r3, #0] 80d313e: 69b3 ldr r3, [r6, #24] 80d3140: 4607 mov r7, r0 80d3142: b913 cbnz r3, 80d314a <__sfp+0x12> 80d3144: 4630 mov r0, r6 80d3146: f7ff ffc7 bl 80d30d8 <__sinit> 80d314a: 3648 adds r6, #72 ; 0x48 80d314c: 68b4 ldr r4, [r6, #8] 80d314e: 6873 ldr r3, [r6, #4] 80d3150: 3b01 subs r3, #1 80d3152: d503 bpl.n 80d315c <__sfp+0x24> 80d3154: 6833 ldr r3, [r6, #0] 80d3156: b133 cbz r3, 80d3166 <__sfp+0x2e> 80d3158: 6836 ldr r6, [r6, #0] 80d315a: e7f7 b.n 80d314c <__sfp+0x14> 80d315c: f9b4 500c ldrsh.w r5, [r4, #12] 80d3160: b16d cbz r5, 80d317e <__sfp+0x46> 80d3162: 3468 adds r4, #104 ; 0x68 80d3164: e7f4 b.n 80d3150 <__sfp+0x18> 80d3166: 2104 movs r1, #4 80d3168: 4638 mov r0, r7 80d316a: f7ff ff9f bl 80d30ac <__sfmoreglue> 80d316e: 6030 str r0, [r6, #0] 80d3170: 2800 cmp r0, #0 80d3172: d1f1 bne.n 80d3158 <__sfp+0x20> 80d3174: 230c movs r3, #12 80d3176: 603b str r3, [r7, #0] 80d3178: 4604 mov r4, r0 80d317a: 4620 mov r0, r4 80d317c: bdf8 pop {r3, r4, r5, r6, r7, pc} 80d317e: f64f 73ff movw r3, #65535 ; 0xffff 80d3182: 81e3 strh r3, [r4, #14] 80d3184: 2301 movs r3, #1 80d3186: 81a3 strh r3, [r4, #12] 80d3188: 6665 str r5, [r4, #100] ; 0x64 80d318a: 6025 str r5, [r4, #0] 80d318c: 60a5 str r5, [r4, #8] 80d318e: 6065 str r5, [r4, #4] 80d3190: 6125 str r5, [r4, #16] 80d3192: 6165 str r5, [r4, #20] 80d3194: 61a5 str r5, [r4, #24] 80d3196: 2208 movs r2, #8 80d3198: 4629 mov r1, r5 80d319a: f104 005c add.w r0, r4, #92 ; 0x5c 80d319e: f7fe ff01 bl 80d1fa4 80d31a2: 6365 str r5, [r4, #52] ; 0x34 80d31a4: 63a5 str r5, [r4, #56] ; 0x38 80d31a6: 64a5 str r5, [r4, #72] ; 0x48 80d31a8: 64e5 str r5, [r4, #76] ; 0x4c 80d31aa: e7e6 b.n 80d317a <__sfp+0x42> 80d31ac: 0818d2b8 .word 0x0818d2b8 080d31b0 <_fwalk_reent>: 80d31b0: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} 80d31b4: 4680 mov r8, r0 80d31b6: 4689 mov r9, r1 80d31b8: f100 0448 add.w r4, r0, #72 ; 0x48 80d31bc: 2600 movs r6, #0 80d31be: b914 cbnz r4, 80d31c6 <_fwalk_reent+0x16> 80d31c0: 4630 mov r0, r6 80d31c2: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} 80d31c6: 68a5 ldr r5, [r4, #8] 80d31c8: 6867 ldr r7, [r4, #4] 80d31ca: 3f01 subs r7, #1 80d31cc: d501 bpl.n 80d31d2 <_fwalk_reent+0x22> 80d31ce: 6824 ldr r4, [r4, #0] 80d31d0: e7f5 b.n 80d31be <_fwalk_reent+0xe> 80d31d2: 89ab ldrh r3, [r5, #12] 80d31d4: 2b01 cmp r3, #1 80d31d6: d907 bls.n 80d31e8 <_fwalk_reent+0x38> 80d31d8: f9b5 300e ldrsh.w r3, [r5, #14] 80d31dc: 3301 adds r3, #1 80d31de: d003 beq.n 80d31e8 <_fwalk_reent+0x38> 80d31e0: 4629 mov r1, r5 80d31e2: 4640 mov r0, r8 80d31e4: 47c8 blx r9 80d31e6: 4306 orrs r6, r0 80d31e8: 3568 adds r5, #104 ; 0x68 80d31ea: e7ee b.n 80d31ca <_fwalk_reent+0x1a> 080d31ec : 80d31ec: b5f0 push {r4, r5, r6, r7, lr} 80d31ee: 6906 ldr r6, [r0, #16] 80d31f0: 114b asrs r3, r1, #5 80d31f2: 42b3 cmp r3, r6 80d31f4: f100 0514 add.w r5, r0, #20 80d31f8: da2b bge.n 80d3252 80d31fa: f011 011f ands.w r1, r1, #31 80d31fe: eb05 0686 add.w r6, r5, r6, lsl #2 80d3202: eb05 0283 add.w r2, r5, r3, lsl #2 80d3206: d108 bne.n 80d321a 80d3208: 4629 mov r1, r5 80d320a: 42b2 cmp r2, r6 80d320c: 460b mov r3, r1 80d320e: d210 bcs.n 80d3232 80d3210: f852 3b04 ldr.w r3, [r2], #4 80d3214: f841 3b04 str.w r3, [r1], #4 80d3218: e7f7 b.n 80d320a 80d321a: f855 4023 ldr.w r4, [r5, r3, lsl #2] 80d321e: f1c1 0e20 rsb lr, r1, #32 80d3222: 3204 adds r2, #4 80d3224: 40cc lsrs r4, r1 80d3226: 462b mov r3, r5 80d3228: 42b2 cmp r2, r6 80d322a: d308 bcc.n 80d323e 80d322c: 601c str r4, [r3, #0] 80d322e: b104 cbz r4, 80d3232 80d3230: 3304 adds r3, #4 80d3232: 1b5b subs r3, r3, r5 80d3234: 109b asrs r3, r3, #2 80d3236: 6103 str r3, [r0, #16] 80d3238: b903 cbnz r3, 80d323c 80d323a: 6143 str r3, [r0, #20] 80d323c: bdf0 pop {r4, r5, r6, r7, pc} 80d323e: 6817 ldr r7, [r2, #0] 80d3240: fa07 f70e lsl.w r7, r7, lr 80d3244: 433c orrs r4, r7 80d3246: f843 4b04 str.w r4, [r3], #4 80d324a: f852 4b04 ldr.w r4, [r2], #4 80d324e: 40cc lsrs r4, r1 80d3250: e7ea b.n 80d3228 80d3252: 462b mov r3, r5 80d3254: e7ed b.n 80d3232 080d3256 <__hexdig_fun>: 80d3256: f1a0 0330 sub.w r3, r0, #48 ; 0x30 80d325a: 2b09 cmp r3, #9 80d325c: d802 bhi.n 80d3264 <__hexdig_fun+0xe> 80d325e: 3820 subs r0, #32 80d3260: b2c0 uxtb r0, r0 80d3262: 4770 bx lr 80d3264: f1a0 0361 sub.w r3, r0, #97 ; 0x61 80d3268: 2b05 cmp r3, #5 80d326a: d801 bhi.n 80d3270 <__hexdig_fun+0x1a> 80d326c: 3847 subs r0, #71 ; 0x47 80d326e: e7f7 b.n 80d3260 <__hexdig_fun+0xa> 80d3270: f1a0 0341 sub.w r3, r0, #65 ; 0x41 80d3274: 2b05 cmp r3, #5 80d3276: d801 bhi.n 80d327c <__hexdig_fun+0x26> 80d3278: 3827 subs r0, #39 ; 0x27 80d327a: e7f1 b.n 80d3260 <__hexdig_fun+0xa> 80d327c: 2000 movs r0, #0 80d327e: 4770 bx lr 080d3280 <__gethex>: 80d3280: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80d3284: b08b sub sp, #44 ; 0x2c 80d3286: 468a mov sl, r1 80d3288: 9002 str r0, [sp, #8] 80d328a: 9816 ldr r0, [sp, #88] ; 0x58 80d328c: 9306 str r3, [sp, #24] 80d328e: 4690 mov r8, r2 80d3290: f000 facc bl 80d382c <__localeconv_l> 80d3294: 6803 ldr r3, [r0, #0] 80d3296: 9303 str r3, [sp, #12] 80d3298: 4618 mov r0, r3 80d329a: f74d f83b bl 8020314 80d329e: 9b03 ldr r3, [sp, #12] 80d32a0: 9001 str r0, [sp, #4] 80d32a2: 4403 add r3, r0 80d32a4: f04f 0b00 mov.w fp, #0 80d32a8: f813 3c01 ldrb.w r3, [r3, #-1] 80d32ac: 9307 str r3, [sp, #28] 80d32ae: f8da 3000 ldr.w r3, [sl] 80d32b2: 3302 adds r3, #2 80d32b4: 461f mov r7, r3 80d32b6: f813 0b01 ldrb.w r0, [r3], #1 80d32ba: 2830 cmp r0, #48 ; 0x30 80d32bc: d06c beq.n 80d3398 <__gethex+0x118> 80d32be: f7ff ffca bl 80d3256 <__hexdig_fun> 80d32c2: 4604 mov r4, r0 80d32c4: 2800 cmp r0, #0 80d32c6: d16a bne.n 80d339e <__gethex+0x11e> 80d32c8: 9a01 ldr r2, [sp, #4] 80d32ca: 9903 ldr r1, [sp, #12] 80d32cc: 4638 mov r0, r7 80d32ce: f001 fb26 bl 80d491e 80d32d2: 2800 cmp r0, #0 80d32d4: d166 bne.n 80d33a4 <__gethex+0x124> 80d32d6: 9b01 ldr r3, [sp, #4] 80d32d8: 5cf8 ldrb r0, [r7, r3] 80d32da: 18fe adds r6, r7, r3 80d32dc: f7ff ffbb bl 80d3256 <__hexdig_fun> 80d32e0: 2800 cmp r0, #0 80d32e2: d062 beq.n 80d33aa <__gethex+0x12a> 80d32e4: 4633 mov r3, r6 80d32e6: 7818 ldrb r0, [r3, #0] 80d32e8: 2830 cmp r0, #48 ; 0x30 80d32ea: 461f mov r7, r3 80d32ec: f103 0301 add.w r3, r3, #1 80d32f0: d0f9 beq.n 80d32e6 <__gethex+0x66> 80d32f2: f7ff ffb0 bl 80d3256 <__hexdig_fun> 80d32f6: fab0 f580 clz r5, r0 80d32fa: 096d lsrs r5, r5, #5 80d32fc: 4634 mov r4, r6 80d32fe: f04f 0b01 mov.w fp, #1 80d3302: 463a mov r2, r7 80d3304: 4616 mov r6, r2 80d3306: 3201 adds r2, #1 80d3308: 7830 ldrb r0, [r6, #0] 80d330a: f7ff ffa4 bl 80d3256 <__hexdig_fun> 80d330e: 2800 cmp r0, #0 80d3310: d1f8 bne.n 80d3304 <__gethex+0x84> 80d3312: 9a01 ldr r2, [sp, #4] 80d3314: 9903 ldr r1, [sp, #12] 80d3316: 4630 mov r0, r6 80d3318: f001 fb01 bl 80d491e 80d331c: b950 cbnz r0, 80d3334 <__gethex+0xb4> 80d331e: b954 cbnz r4, 80d3336 <__gethex+0xb6> 80d3320: 9b01 ldr r3, [sp, #4] 80d3322: 18f4 adds r4, r6, r3 80d3324: 4622 mov r2, r4 80d3326: 4616 mov r6, r2 80d3328: 3201 adds r2, #1 80d332a: 7830 ldrb r0, [r6, #0] 80d332c: f7ff ff93 bl 80d3256 <__hexdig_fun> 80d3330: 2800 cmp r0, #0 80d3332: d1f8 bne.n 80d3326 <__gethex+0xa6> 80d3334: b10c cbz r4, 80d333a <__gethex+0xba> 80d3336: 1ba4 subs r4, r4, r6 80d3338: 00a4 lsls r4, r4, #2 80d333a: 7833 ldrb r3, [r6, #0] 80d333c: 2b50 cmp r3, #80 ; 0x50 80d333e: d001 beq.n 80d3344 <__gethex+0xc4> 80d3340: 2b70 cmp r3, #112 ; 0x70 80d3342: d140 bne.n 80d33c6 <__gethex+0x146> 80d3344: 7873 ldrb r3, [r6, #1] 80d3346: 2b2b cmp r3, #43 ; 0x2b 80d3348: d035 beq.n 80d33b6 <__gethex+0x136> 80d334a: 2b2d cmp r3, #45 ; 0x2d 80d334c: d02f beq.n 80d33ae <__gethex+0x12e> 80d334e: 1c71 adds r1, r6, #1 80d3350: f04f 0900 mov.w r9, #0 80d3354: 7808 ldrb r0, [r1, #0] 80d3356: f7ff ff7e bl 80d3256 <__hexdig_fun> 80d335a: 1e43 subs r3, r0, #1 80d335c: b2db uxtb r3, r3 80d335e: 2b18 cmp r3, #24 80d3360: d831 bhi.n 80d33c6 <__gethex+0x146> 80d3362: f1a0 0210 sub.w r2, r0, #16 80d3366: f811 0f01 ldrb.w r0, [r1, #1]! 80d336a: f7ff ff74 bl 80d3256 <__hexdig_fun> 80d336e: 1e43 subs r3, r0, #1 80d3370: b2db uxtb r3, r3 80d3372: 2b18 cmp r3, #24 80d3374: d922 bls.n 80d33bc <__gethex+0x13c> 80d3376: f1b9 0f00 cmp.w r9, #0 80d337a: d000 beq.n 80d337e <__gethex+0xfe> 80d337c: 4252 negs r2, r2 80d337e: 4414 add r4, r2 80d3380: f8ca 1000 str.w r1, [sl] 80d3384: b30d cbz r5, 80d33ca <__gethex+0x14a> 80d3386: f1bb 0f00 cmp.w fp, #0 80d338a: bf14 ite ne 80d338c: 2700 movne r7, #0 80d338e: 2706 moveq r7, #6 80d3390: 4638 mov r0, r7 80d3392: b00b add sp, #44 ; 0x2c 80d3394: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80d3398: f10b 0b01 add.w fp, fp, #1 80d339c: e78a b.n 80d32b4 <__gethex+0x34> 80d339e: 2500 movs r5, #0 80d33a0: 462c mov r4, r5 80d33a2: e7ae b.n 80d3302 <__gethex+0x82> 80d33a4: 463e mov r6, r7 80d33a6: 2501 movs r5, #1 80d33a8: e7c7 b.n 80d333a <__gethex+0xba> 80d33aa: 4604 mov r4, r0 80d33ac: e7fb b.n 80d33a6 <__gethex+0x126> 80d33ae: f04f 0901 mov.w r9, #1 80d33b2: 1cb1 adds r1, r6, #2 80d33b4: e7ce b.n 80d3354 <__gethex+0xd4> 80d33b6: f04f 0900 mov.w r9, #0 80d33ba: e7fa b.n 80d33b2 <__gethex+0x132> 80d33bc: 230a movs r3, #10 80d33be: fb03 0202 mla r2, r3, r2, r0 80d33c2: 3a10 subs r2, #16 80d33c4: e7cf b.n 80d3366 <__gethex+0xe6> 80d33c6: 4631 mov r1, r6 80d33c8: e7da b.n 80d3380 <__gethex+0x100> 80d33ca: 1bf3 subs r3, r6, r7 80d33cc: 3b01 subs r3, #1 80d33ce: 4629 mov r1, r5 80d33d0: 2b07 cmp r3, #7 80d33d2: dc49 bgt.n 80d3468 <__gethex+0x1e8> 80d33d4: 9802 ldr r0, [sp, #8] 80d33d6: f000 fa3f bl 80d3858 <_Balloc> 80d33da: 9b01 ldr r3, [sp, #4] 80d33dc: f100 0914 add.w r9, r0, #20 80d33e0: f04f 0b00 mov.w fp, #0 80d33e4: f1c3 0301 rsb r3, r3, #1 80d33e8: 4605 mov r5, r0 80d33ea: f8cd 9010 str.w r9, [sp, #16] 80d33ee: 46da mov sl, fp 80d33f0: 9308 str r3, [sp, #32] 80d33f2: 42b7 cmp r7, r6 80d33f4: d33b bcc.n 80d346e <__gethex+0x1ee> 80d33f6: 9804 ldr r0, [sp, #16] 80d33f8: f840 ab04 str.w sl, [r0], #4 80d33fc: eba0 0009 sub.w r0, r0, r9 80d3400: 1080 asrs r0, r0, #2 80d3402: 6128 str r0, [r5, #16] 80d3404: 0147 lsls r7, r0, #5 80d3406: 4650 mov r0, sl 80d3408: f000 faea bl 80d39e0 <__hi0bits> 80d340c: f8d8 6000 ldr.w r6, [r8] 80d3410: 1a3f subs r7, r7, r0 80d3412: 42b7 cmp r7, r6 80d3414: dd64 ble.n 80d34e0 <__gethex+0x260> 80d3416: 1bbf subs r7, r7, r6 80d3418: 4639 mov r1, r7 80d341a: 4628 mov r0, r5 80d341c: f000 fde1 bl 80d3fe2 <__any_on> 80d3420: 4682 mov sl, r0 80d3422: b178 cbz r0, 80d3444 <__gethex+0x1c4> 80d3424: 1e7b subs r3, r7, #1 80d3426: 1159 asrs r1, r3, #5 80d3428: f003 021f and.w r2, r3, #31 80d342c: f04f 0a01 mov.w sl, #1 80d3430: f859 1021 ldr.w r1, [r9, r1, lsl #2] 80d3434: fa0a f202 lsl.w r2, sl, r2 80d3438: 420a tst r2, r1 80d343a: d003 beq.n 80d3444 <__gethex+0x1c4> 80d343c: 4553 cmp r3, sl 80d343e: dc46 bgt.n 80d34ce <__gethex+0x24e> 80d3440: f04f 0a02 mov.w sl, #2 80d3444: 4639 mov r1, r7 80d3446: 4628 mov r0, r5 80d3448: f7ff fed0 bl 80d31ec 80d344c: 443c add r4, r7 80d344e: f8d8 3008 ldr.w r3, [r8, #8] 80d3452: 429c cmp r4, r3 80d3454: dd52 ble.n 80d34fc <__gethex+0x27c> 80d3456: 4629 mov r1, r5 80d3458: 9802 ldr r0, [sp, #8] 80d345a: f000 fa31 bl 80d38c0 <_Bfree> 80d345e: 9a14 ldr r2, [sp, #80] ; 0x50 80d3460: 2300 movs r3, #0 80d3462: 6013 str r3, [r2, #0] 80d3464: 27a3 movs r7, #163 ; 0xa3 80d3466: e793 b.n 80d3390 <__gethex+0x110> 80d3468: 3101 adds r1, #1 80d346a: 105b asrs r3, r3, #1 80d346c: e7b0 b.n 80d33d0 <__gethex+0x150> 80d346e: 1e73 subs r3, r6, #1 80d3470: 9305 str r3, [sp, #20] 80d3472: 9a07 ldr r2, [sp, #28] 80d3474: f816 3c01 ldrb.w r3, [r6, #-1] 80d3478: 4293 cmp r3, r2 80d347a: d018 beq.n 80d34ae <__gethex+0x22e> 80d347c: f1bb 0f20 cmp.w fp, #32 80d3480: d107 bne.n 80d3492 <__gethex+0x212> 80d3482: 9b04 ldr r3, [sp, #16] 80d3484: f8c3 a000 str.w sl, [r3] 80d3488: 3304 adds r3, #4 80d348a: f04f 0a00 mov.w sl, #0 80d348e: 9304 str r3, [sp, #16] 80d3490: 46d3 mov fp, sl 80d3492: f816 0c01 ldrb.w r0, [r6, #-1] 80d3496: f7ff fede bl 80d3256 <__hexdig_fun> 80d349a: f000 000f and.w r0, r0, #15 80d349e: fa00 f00b lsl.w r0, r0, fp 80d34a2: ea4a 0a00 orr.w sl, sl, r0 80d34a6: f10b 0b04 add.w fp, fp, #4 80d34aa: 9b05 ldr r3, [sp, #20] 80d34ac: e00d b.n 80d34ca <__gethex+0x24a> 80d34ae: 9b05 ldr r3, [sp, #20] 80d34b0: 9a08 ldr r2, [sp, #32] 80d34b2: 4413 add r3, r2 80d34b4: 429f cmp r7, r3 80d34b6: d8e1 bhi.n 80d347c <__gethex+0x1fc> 80d34b8: 4618 mov r0, r3 80d34ba: 9a01 ldr r2, [sp, #4] 80d34bc: 9903 ldr r1, [sp, #12] 80d34be: 9309 str r3, [sp, #36] ; 0x24 80d34c0: f001 fa2d bl 80d491e 80d34c4: 9b09 ldr r3, [sp, #36] ; 0x24 80d34c6: 2800 cmp r0, #0 80d34c8: d1d8 bne.n 80d347c <__gethex+0x1fc> 80d34ca: 461e mov r6, r3 80d34cc: e791 b.n 80d33f2 <__gethex+0x172> 80d34ce: 1eb9 subs r1, r7, #2 80d34d0: 4628 mov r0, r5 80d34d2: f000 fd86 bl 80d3fe2 <__any_on> 80d34d6: 2800 cmp r0, #0 80d34d8: d0b2 beq.n 80d3440 <__gethex+0x1c0> 80d34da: f04f 0a03 mov.w sl, #3 80d34de: e7b1 b.n 80d3444 <__gethex+0x1c4> 80d34e0: da09 bge.n 80d34f6 <__gethex+0x276> 80d34e2: 1bf7 subs r7, r6, r7 80d34e4: 4629 mov r1, r5 80d34e6: 463a mov r2, r7 80d34e8: 9802 ldr r0, [sp, #8] 80d34ea: f000 fbab bl 80d3c44 <__lshift> 80d34ee: 1be4 subs r4, r4, r7 80d34f0: 4605 mov r5, r0 80d34f2: f100 0914 add.w r9, r0, #20 80d34f6: f04f 0a00 mov.w sl, #0 80d34fa: e7a8 b.n 80d344e <__gethex+0x1ce> 80d34fc: f8d8 0004 ldr.w r0, [r8, #4] 80d3500: 4284 cmp r4, r0 80d3502: da6a bge.n 80d35da <__gethex+0x35a> 80d3504: 1b04 subs r4, r0, r4 80d3506: 42a6 cmp r6, r4 80d3508: dc2e bgt.n 80d3568 <__gethex+0x2e8> 80d350a: f8d8 300c ldr.w r3, [r8, #12] 80d350e: 2b02 cmp r3, #2 80d3510: d022 beq.n 80d3558 <__gethex+0x2d8> 80d3512: 2b03 cmp r3, #3 80d3514: d024 beq.n 80d3560 <__gethex+0x2e0> 80d3516: 2b01 cmp r3, #1 80d3518: d115 bne.n 80d3546 <__gethex+0x2c6> 80d351a: 42a6 cmp r6, r4 80d351c: d113 bne.n 80d3546 <__gethex+0x2c6> 80d351e: 2e01 cmp r6, #1 80d3520: dc0b bgt.n 80d353a <__gethex+0x2ba> 80d3522: 9a06 ldr r2, [sp, #24] 80d3524: f8d8 3004 ldr.w r3, [r8, #4] 80d3528: 6013 str r3, [r2, #0] 80d352a: 2301 movs r3, #1 80d352c: 612b str r3, [r5, #16] 80d352e: f8c9 3000 str.w r3, [r9] 80d3532: 9b14 ldr r3, [sp, #80] ; 0x50 80d3534: 2762 movs r7, #98 ; 0x62 80d3536: 601d str r5, [r3, #0] 80d3538: e72a b.n 80d3390 <__gethex+0x110> 80d353a: 1e71 subs r1, r6, #1 80d353c: 4628 mov r0, r5 80d353e: f000 fd50 bl 80d3fe2 <__any_on> 80d3542: 2800 cmp r0, #0 80d3544: d1ed bne.n 80d3522 <__gethex+0x2a2> 80d3546: 4629 mov r1, r5 80d3548: 9802 ldr r0, [sp, #8] 80d354a: f000 f9b9 bl 80d38c0 <_Bfree> 80d354e: 9a14 ldr r2, [sp, #80] ; 0x50 80d3550: 2300 movs r3, #0 80d3552: 6013 str r3, [r2, #0] 80d3554: 2750 movs r7, #80 ; 0x50 80d3556: e71b b.n 80d3390 <__gethex+0x110> 80d3558: 9b15 ldr r3, [sp, #84] ; 0x54 80d355a: 2b00 cmp r3, #0 80d355c: d0e1 beq.n 80d3522 <__gethex+0x2a2> 80d355e: e7f2 b.n 80d3546 <__gethex+0x2c6> 80d3560: 9b15 ldr r3, [sp, #84] ; 0x54 80d3562: 2b00 cmp r3, #0 80d3564: d1dd bne.n 80d3522 <__gethex+0x2a2> 80d3566: e7ee b.n 80d3546 <__gethex+0x2c6> 80d3568: 1e67 subs r7, r4, #1 80d356a: f1ba 0f00 cmp.w sl, #0 80d356e: d131 bne.n 80d35d4 <__gethex+0x354> 80d3570: b127 cbz r7, 80d357c <__gethex+0x2fc> 80d3572: 4639 mov r1, r7 80d3574: 4628 mov r0, r5 80d3576: f000 fd34 bl 80d3fe2 <__any_on> 80d357a: 4682 mov sl, r0 80d357c: 117a asrs r2, r7, #5 80d357e: 2301 movs r3, #1 80d3580: f007 071f and.w r7, r7, #31 80d3584: fa03 f707 lsl.w r7, r3, r7 80d3588: f859 3022 ldr.w r3, [r9, r2, lsl #2] 80d358c: 4621 mov r1, r4 80d358e: 421f tst r7, r3 80d3590: 4628 mov r0, r5 80d3592: bf18 it ne 80d3594: f04a 0a02 orrne.w sl, sl, #2 80d3598: 1b36 subs r6, r6, r4 80d359a: f7ff fe27 bl 80d31ec 80d359e: f8d8 4004 ldr.w r4, [r8, #4] 80d35a2: 2702 movs r7, #2 80d35a4: f1ba 0f00 cmp.w sl, #0 80d35a8: d045 beq.n 80d3636 <__gethex+0x3b6> 80d35aa: f8d8 300c ldr.w r3, [r8, #12] 80d35ae: 2b02 cmp r3, #2 80d35b0: d015 beq.n 80d35de <__gethex+0x35e> 80d35b2: 2b03 cmp r3, #3 80d35b4: d017 beq.n 80d35e6 <__gethex+0x366> 80d35b6: 2b01 cmp r3, #1 80d35b8: d109 bne.n 80d35ce <__gethex+0x34e> 80d35ba: f01a 0f02 tst.w sl, #2 80d35be: d006 beq.n 80d35ce <__gethex+0x34e> 80d35c0: f8d9 3000 ldr.w r3, [r9] 80d35c4: ea4a 0a03 orr.w sl, sl, r3 80d35c8: f01a 0f01 tst.w sl, #1 80d35cc: d10e bne.n 80d35ec <__gethex+0x36c> 80d35ce: f047 0710 orr.w r7, r7, #16 80d35d2: e030 b.n 80d3636 <__gethex+0x3b6> 80d35d4: f04f 0a01 mov.w sl, #1 80d35d8: e7d0 b.n 80d357c <__gethex+0x2fc> 80d35da: 2701 movs r7, #1 80d35dc: e7e2 b.n 80d35a4 <__gethex+0x324> 80d35de: 9b15 ldr r3, [sp, #84] ; 0x54 80d35e0: f1c3 0301 rsb r3, r3, #1 80d35e4: 9315 str r3, [sp, #84] ; 0x54 80d35e6: 9b15 ldr r3, [sp, #84] ; 0x54 80d35e8: 2b00 cmp r3, #0 80d35ea: d0f0 beq.n 80d35ce <__gethex+0x34e> 80d35ec: f8d5 9010 ldr.w r9, [r5, #16] 80d35f0: f105 0314 add.w r3, r5, #20 80d35f4: ea4f 0a89 mov.w sl, r9, lsl #2 80d35f8: eb03 010a add.w r1, r3, sl 80d35fc: 2000 movs r0, #0 80d35fe: 681a ldr r2, [r3, #0] 80d3600: f1b2 3fff cmp.w r2, #4294967295 80d3604: d01c beq.n 80d3640 <__gethex+0x3c0> 80d3606: 3201 adds r2, #1 80d3608: 601a str r2, [r3, #0] 80d360a: 2f02 cmp r7, #2 80d360c: f105 0314 add.w r3, r5, #20 80d3610: d138 bne.n 80d3684 <__gethex+0x404> 80d3612: f8d8 2000 ldr.w r2, [r8] 80d3616: 3a01 subs r2, #1 80d3618: 4296 cmp r6, r2 80d361a: d10a bne.n 80d3632 <__gethex+0x3b2> 80d361c: 1171 asrs r1, r6, #5 80d361e: 2201 movs r2, #1 80d3620: f006 061f and.w r6, r6, #31 80d3624: f853 3021 ldr.w r3, [r3, r1, lsl #2] 80d3628: fa02 f606 lsl.w r6, r2, r6 80d362c: 421e tst r6, r3 80d362e: bf18 it ne 80d3630: 4617 movne r7, r2 80d3632: f047 0720 orr.w r7, r7, #32 80d3636: 9b14 ldr r3, [sp, #80] ; 0x50 80d3638: 601d str r5, [r3, #0] 80d363a: 9b06 ldr r3, [sp, #24] 80d363c: 601c str r4, [r3, #0] 80d363e: e6a7 b.n 80d3390 <__gethex+0x110> 80d3640: f843 0b04 str.w r0, [r3], #4 80d3644: 4299 cmp r1, r3 80d3646: d8da bhi.n 80d35fe <__gethex+0x37e> 80d3648: 68ab ldr r3, [r5, #8] 80d364a: 4599 cmp r9, r3 80d364c: db12 blt.n 80d3674 <__gethex+0x3f4> 80d364e: 6869 ldr r1, [r5, #4] 80d3650: 9802 ldr r0, [sp, #8] 80d3652: 3101 adds r1, #1 80d3654: f000 f900 bl 80d3858 <_Balloc> 80d3658: 692a ldr r2, [r5, #16] 80d365a: 3202 adds r2, #2 80d365c: f105 010c add.w r1, r5, #12 80d3660: 4683 mov fp, r0 80d3662: 0092 lsls r2, r2, #2 80d3664: 300c adds r0, #12 80d3666: f7fe fc92 bl 80d1f8e 80d366a: 4629 mov r1, r5 80d366c: 9802 ldr r0, [sp, #8] 80d366e: f000 f927 bl 80d38c0 <_Bfree> 80d3672: 465d mov r5, fp 80d3674: 692b ldr r3, [r5, #16] 80d3676: 1c5a adds r2, r3, #1 80d3678: eb05 0383 add.w r3, r5, r3, lsl #2 80d367c: 612a str r2, [r5, #16] 80d367e: 2201 movs r2, #1 80d3680: 615a str r2, [r3, #20] 80d3682: e7c2 b.n 80d360a <__gethex+0x38a> 80d3684: 692a ldr r2, [r5, #16] 80d3686: 4591 cmp r9, r2 80d3688: da0b bge.n 80d36a2 <__gethex+0x422> 80d368a: 2101 movs r1, #1 80d368c: 4628 mov r0, r5 80d368e: f7ff fdad bl 80d31ec 80d3692: f8d8 3008 ldr.w r3, [r8, #8] 80d3696: 3401 adds r4, #1 80d3698: 429c cmp r4, r3 80d369a: f73f aedc bgt.w 80d3456 <__gethex+0x1d6> 80d369e: 2701 movs r7, #1 80d36a0: e7c7 b.n 80d3632 <__gethex+0x3b2> 80d36a2: f016 061f ands.w r6, r6, #31 80d36a6: d0fa beq.n 80d369e <__gethex+0x41e> 80d36a8: 449a add sl, r3 80d36aa: f1c6 0620 rsb r6, r6, #32 80d36ae: f85a 0c04 ldr.w r0, [sl, #-4] 80d36b2: f000 f995 bl 80d39e0 <__hi0bits> 80d36b6: 42b0 cmp r0, r6 80d36b8: dbe7 blt.n 80d368a <__gethex+0x40a> 80d36ba: e7f0 b.n 80d369e <__gethex+0x41e> 080d36bc : 80d36bc: f1c2 0208 rsb r2, r2, #8 80d36c0: 0092 lsls r2, r2, #2 80d36c2: b570 push {r4, r5, r6, lr} 80d36c4: f1c2 0620 rsb r6, r2, #32 80d36c8: 6843 ldr r3, [r0, #4] 80d36ca: 6804 ldr r4, [r0, #0] 80d36cc: fa03 f506 lsl.w r5, r3, r6 80d36d0: 432c orrs r4, r5 80d36d2: 40d3 lsrs r3, r2 80d36d4: 6004 str r4, [r0, #0] 80d36d6: f840 3f04 str.w r3, [r0, #4]! 80d36da: 4288 cmp r0, r1 80d36dc: d3f4 bcc.n 80d36c8 80d36de: bd70 pop {r4, r5, r6, pc} 080d36e0 <__match>: 80d36e0: b530 push {r4, r5, lr} 80d36e2: 6803 ldr r3, [r0, #0] 80d36e4: f811 4b01 ldrb.w r4, [r1], #1 80d36e8: 3301 adds r3, #1 80d36ea: b914 cbnz r4, 80d36f2 <__match+0x12> 80d36ec: 6003 str r3, [r0, #0] 80d36ee: 2001 movs r0, #1 80d36f0: bd30 pop {r4, r5, pc} 80d36f2: 781a ldrb r2, [r3, #0] 80d36f4: f1a2 0541 sub.w r5, r2, #65 ; 0x41 80d36f8: 2d19 cmp r5, #25 80d36fa: bf98 it ls 80d36fc: 3220 addls r2, #32 80d36fe: 42a2 cmp r2, r4 80d3700: d0f0 beq.n 80d36e4 <__match+0x4> 80d3702: 2000 movs r0, #0 80d3704: bd30 pop {r4, r5, pc} 080d3706 <__hexnan>: 80d3706: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80d370a: 680b ldr r3, [r1, #0] 80d370c: 6801 ldr r1, [r0, #0] 80d370e: 115f asrs r7, r3, #5 80d3710: eb02 0787 add.w r7, r2, r7, lsl #2 80d3714: f013 031f ands.w r3, r3, #31 80d3718: b087 sub sp, #28 80d371a: bf18 it ne 80d371c: 3704 addne r7, #4 80d371e: 2500 movs r5, #0 80d3720: 1f3e subs r6, r7, #4 80d3722: 4682 mov sl, r0 80d3724: 4690 mov r8, r2 80d3726: 9302 str r3, [sp, #8] 80d3728: f847 5c04 str.w r5, [r7, #-4] 80d372c: 46b1 mov r9, r6 80d372e: 4634 mov r4, r6 80d3730: 9501 str r5, [sp, #4] 80d3732: 46ab mov fp, r5 80d3734: 784a ldrb r2, [r1, #1] 80d3736: 1c4b adds r3, r1, #1 80d3738: 9303 str r3, [sp, #12] 80d373a: b342 cbz r2, 80d378e <__hexnan+0x88> 80d373c: 4610 mov r0, r2 80d373e: 9105 str r1, [sp, #20] 80d3740: 9204 str r2, [sp, #16] 80d3742: f7ff fd88 bl 80d3256 <__hexdig_fun> 80d3746: 2800 cmp r0, #0 80d3748: d143 bne.n 80d37d2 <__hexnan+0xcc> 80d374a: 9a04 ldr r2, [sp, #16] 80d374c: 9905 ldr r1, [sp, #20] 80d374e: 2a20 cmp r2, #32 80d3750: d818 bhi.n 80d3784 <__hexnan+0x7e> 80d3752: 9b01 ldr r3, [sp, #4] 80d3754: 459b cmp fp, r3 80d3756: dd13 ble.n 80d3780 <__hexnan+0x7a> 80d3758: 454c cmp r4, r9 80d375a: d206 bcs.n 80d376a <__hexnan+0x64> 80d375c: 2d07 cmp r5, #7 80d375e: dc04 bgt.n 80d376a <__hexnan+0x64> 80d3760: 462a mov r2, r5 80d3762: 4649 mov r1, r9 80d3764: 4620 mov r0, r4 80d3766: f7ff ffa9 bl 80d36bc 80d376a: 4544 cmp r4, r8 80d376c: d944 bls.n 80d37f8 <__hexnan+0xf2> 80d376e: 2300 movs r3, #0 80d3770: f1a4 0904 sub.w r9, r4, #4 80d3774: f844 3c04 str.w r3, [r4, #-4] 80d3778: f8cd b004 str.w fp, [sp, #4] 80d377c: 464c mov r4, r9 80d377e: 461d mov r5, r3 80d3780: 9903 ldr r1, [sp, #12] 80d3782: e7d7 b.n 80d3734 <__hexnan+0x2e> 80d3784: 2a29 cmp r2, #41 ; 0x29 80d3786: d14a bne.n 80d381e <__hexnan+0x118> 80d3788: 3102 adds r1, #2 80d378a: f8ca 1000 str.w r1, [sl] 80d378e: f1bb 0f00 cmp.w fp, #0 80d3792: d044 beq.n 80d381e <__hexnan+0x118> 80d3794: 454c cmp r4, r9 80d3796: d206 bcs.n 80d37a6 <__hexnan+0xa0> 80d3798: 2d07 cmp r5, #7 80d379a: dc04 bgt.n 80d37a6 <__hexnan+0xa0> 80d379c: 462a mov r2, r5 80d379e: 4649 mov r1, r9 80d37a0: 4620 mov r0, r4 80d37a2: f7ff ff8b bl 80d36bc 80d37a6: 4544 cmp r4, r8 80d37a8: d928 bls.n 80d37fc <__hexnan+0xf6> 80d37aa: 4643 mov r3, r8 80d37ac: f854 2b04 ldr.w r2, [r4], #4 80d37b0: f843 2b04 str.w r2, [r3], #4 80d37b4: 42a6 cmp r6, r4 80d37b6: d2f9 bcs.n 80d37ac <__hexnan+0xa6> 80d37b8: 2200 movs r2, #0 80d37ba: f843 2b04 str.w r2, [r3], #4 80d37be: 429e cmp r6, r3 80d37c0: d2fb bcs.n 80d37ba <__hexnan+0xb4> 80d37c2: 6833 ldr r3, [r6, #0] 80d37c4: b91b cbnz r3, 80d37ce <__hexnan+0xc8> 80d37c6: 4546 cmp r6, r8 80d37c8: d127 bne.n 80d381a <__hexnan+0x114> 80d37ca: 2301 movs r3, #1 80d37cc: 6033 str r3, [r6, #0] 80d37ce: 2005 movs r0, #5 80d37d0: e026 b.n 80d3820 <__hexnan+0x11a> 80d37d2: 3501 adds r5, #1 80d37d4: 2d08 cmp r5, #8 80d37d6: f10b 0b01 add.w fp, fp, #1 80d37da: dd06 ble.n 80d37ea <__hexnan+0xe4> 80d37dc: 4544 cmp r4, r8 80d37de: d9cf bls.n 80d3780 <__hexnan+0x7a> 80d37e0: 2300 movs r3, #0 80d37e2: f844 3c04 str.w r3, [r4, #-4] 80d37e6: 2501 movs r5, #1 80d37e8: 3c04 subs r4, #4 80d37ea: 6822 ldr r2, [r4, #0] 80d37ec: f000 000f and.w r0, r0, #15 80d37f0: ea40 1002 orr.w r0, r0, r2, lsl #4 80d37f4: 6020 str r0, [r4, #0] 80d37f6: e7c3 b.n 80d3780 <__hexnan+0x7a> 80d37f8: 2508 movs r5, #8 80d37fa: e7c1 b.n 80d3780 <__hexnan+0x7a> 80d37fc: 9b02 ldr r3, [sp, #8] 80d37fe: 2b00 cmp r3, #0 80d3800: d0df beq.n 80d37c2 <__hexnan+0xbc> 80d3802: f04f 32ff mov.w r2, #4294967295 80d3806: f1c3 0320 rsb r3, r3, #32 80d380a: fa22 f303 lsr.w r3, r2, r3 80d380e: f857 2c04 ldr.w r2, [r7, #-4] 80d3812: 401a ands r2, r3 80d3814: f847 2c04 str.w r2, [r7, #-4] 80d3818: e7d3 b.n 80d37c2 <__hexnan+0xbc> 80d381a: 3e04 subs r6, #4 80d381c: e7d1 b.n 80d37c2 <__hexnan+0xbc> 80d381e: 2004 movs r0, #4 80d3820: b007 add sp, #28 80d3822: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 080d3826 <__locale_ctype_ptr_l>: 80d3826: f8d0 00ec ldr.w r0, [r0, #236] ; 0xec 80d382a: 4770 bx lr 080d382c <__localeconv_l>: 80d382c: 30f0 adds r0, #240 ; 0xf0 80d382e: 4770 bx lr 080d3830 <__ascii_mbtowc>: 80d3830: b082 sub sp, #8 80d3832: b901 cbnz r1, 80d3836 <__ascii_mbtowc+0x6> 80d3834: a901 add r1, sp, #4 80d3836: b142 cbz r2, 80d384a <__ascii_mbtowc+0x1a> 80d3838: b14b cbz r3, 80d384e <__ascii_mbtowc+0x1e> 80d383a: 7813 ldrb r3, [r2, #0] 80d383c: 600b str r3, [r1, #0] 80d383e: 7812 ldrb r2, [r2, #0] 80d3840: 1c10 adds r0, r2, #0 80d3842: bf18 it ne 80d3844: 2001 movne r0, #1 80d3846: b002 add sp, #8 80d3848: 4770 bx lr 80d384a: 4610 mov r0, r2 80d384c: e7fb b.n 80d3846 <__ascii_mbtowc+0x16> 80d384e: f06f 0001 mvn.w r0, #1 80d3852: e7f8 b.n 80d3846 <__ascii_mbtowc+0x16> 080d3854 <__malloc_lock>: 80d3854: 4770 bx lr 080d3856 <__malloc_unlock>: 80d3856: 4770 bx lr 080d3858 <_Balloc>: 80d3858: b570 push {r4, r5, r6, lr} 80d385a: 6a45 ldr r5, [r0, #36] ; 0x24 80d385c: 4604 mov r4, r0 80d385e: 460e mov r6, r1 80d3860: b93d cbnz r5, 80d3872 <_Balloc+0x1a> 80d3862: 2010 movs r0, #16 80d3864: f7fe fb74 bl 80d1f50 80d3868: 6260 str r0, [r4, #36] ; 0x24 80d386a: 6045 str r5, [r0, #4] 80d386c: 6085 str r5, [r0, #8] 80d386e: 6005 str r5, [r0, #0] 80d3870: 60c5 str r5, [r0, #12] 80d3872: 6a65 ldr r5, [r4, #36] ; 0x24 80d3874: 68eb ldr r3, [r5, #12] 80d3876: b183 cbz r3, 80d389a <_Balloc+0x42> 80d3878: 6a63 ldr r3, [r4, #36] ; 0x24 80d387a: 68db ldr r3, [r3, #12] 80d387c: f853 0026 ldr.w r0, [r3, r6, lsl #2] 80d3880: b9b8 cbnz r0, 80d38b2 <_Balloc+0x5a> 80d3882: 2101 movs r1, #1 80d3884: fa01 f506 lsl.w r5, r1, r6 80d3888: 1d6a adds r2, r5, #5 80d388a: 0092 lsls r2, r2, #2 80d388c: 4620 mov r0, r4 80d388e: f000 fbc9 bl 80d4024 <_calloc_r> 80d3892: b160 cbz r0, 80d38ae <_Balloc+0x56> 80d3894: 6046 str r6, [r0, #4] 80d3896: 6085 str r5, [r0, #8] 80d3898: e00e b.n 80d38b8 <_Balloc+0x60> 80d389a: 2221 movs r2, #33 ; 0x21 80d389c: 2104 movs r1, #4 80d389e: 4620 mov r0, r4 80d38a0: f000 fbc0 bl 80d4024 <_calloc_r> 80d38a4: 6a63 ldr r3, [r4, #36] ; 0x24 80d38a6: 60e8 str r0, [r5, #12] 80d38a8: 68db ldr r3, [r3, #12] 80d38aa: 2b00 cmp r3, #0 80d38ac: d1e4 bne.n 80d3878 <_Balloc+0x20> 80d38ae: 2000 movs r0, #0 80d38b0: bd70 pop {r4, r5, r6, pc} 80d38b2: 6802 ldr r2, [r0, #0] 80d38b4: f843 2026 str.w r2, [r3, r6, lsl #2] 80d38b8: 2300 movs r3, #0 80d38ba: 6103 str r3, [r0, #16] 80d38bc: 60c3 str r3, [r0, #12] 80d38be: bd70 pop {r4, r5, r6, pc} 080d38c0 <_Bfree>: 80d38c0: b570 push {r4, r5, r6, lr} 80d38c2: 6a44 ldr r4, [r0, #36] ; 0x24 80d38c4: 4606 mov r6, r0 80d38c6: 460d mov r5, r1 80d38c8: b93c cbnz r4, 80d38da <_Bfree+0x1a> 80d38ca: 2010 movs r0, #16 80d38cc: f7fe fb40 bl 80d1f50 80d38d0: 6270 str r0, [r6, #36] ; 0x24 80d38d2: 6044 str r4, [r0, #4] 80d38d4: 6084 str r4, [r0, #8] 80d38d6: 6004 str r4, [r0, #0] 80d38d8: 60c4 str r4, [r0, #12] 80d38da: b13d cbz r5, 80d38ec <_Bfree+0x2c> 80d38dc: 6a73 ldr r3, [r6, #36] ; 0x24 80d38de: 686a ldr r2, [r5, #4] 80d38e0: 68db ldr r3, [r3, #12] 80d38e2: f853 1022 ldr.w r1, [r3, r2, lsl #2] 80d38e6: 6029 str r1, [r5, #0] 80d38e8: f843 5022 str.w r5, [r3, r2, lsl #2] 80d38ec: bd70 pop {r4, r5, r6, pc} 080d38ee <__multadd>: 80d38ee: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80d38f2: 690d ldr r5, [r1, #16] 80d38f4: 461f mov r7, r3 80d38f6: 4606 mov r6, r0 80d38f8: 460c mov r4, r1 80d38fa: f101 0e14 add.w lr, r1, #20 80d38fe: 2300 movs r3, #0 80d3900: f8de 0000 ldr.w r0, [lr] 80d3904: b281 uxth r1, r0 80d3906: fb02 7101 mla r1, r2, r1, r7 80d390a: 0c0f lsrs r7, r1, #16 80d390c: 0c00 lsrs r0, r0, #16 80d390e: fb02 7000 mla r0, r2, r0, r7 80d3912: b289 uxth r1, r1 80d3914: 3301 adds r3, #1 80d3916: eb01 4100 add.w r1, r1, r0, lsl #16 80d391a: 429d cmp r5, r3 80d391c: ea4f 4710 mov.w r7, r0, lsr #16 80d3920: f84e 1b04 str.w r1, [lr], #4 80d3924: dcec bgt.n 80d3900 <__multadd+0x12> 80d3926: b1d7 cbz r7, 80d395e <__multadd+0x70> 80d3928: 68a3 ldr r3, [r4, #8] 80d392a: 429d cmp r5, r3 80d392c: db12 blt.n 80d3954 <__multadd+0x66> 80d392e: 6861 ldr r1, [r4, #4] 80d3930: 4630 mov r0, r6 80d3932: 3101 adds r1, #1 80d3934: f7ff ff90 bl 80d3858 <_Balloc> 80d3938: 6922 ldr r2, [r4, #16] 80d393a: 3202 adds r2, #2 80d393c: f104 010c add.w r1, r4, #12 80d3940: 4680 mov r8, r0 80d3942: 0092 lsls r2, r2, #2 80d3944: 300c adds r0, #12 80d3946: f7fe fb22 bl 80d1f8e 80d394a: 4621 mov r1, r4 80d394c: 4630 mov r0, r6 80d394e: f7ff ffb7 bl 80d38c0 <_Bfree> 80d3952: 4644 mov r4, r8 80d3954: eb04 0385 add.w r3, r4, r5, lsl #2 80d3958: 3501 adds r5, #1 80d395a: 615f str r7, [r3, #20] 80d395c: 6125 str r5, [r4, #16] 80d395e: 4620 mov r0, r4 80d3960: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 080d3964 <__s2b>: 80d3964: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} 80d3968: 460c mov r4, r1 80d396a: 4615 mov r5, r2 80d396c: 461f mov r7, r3 80d396e: 2209 movs r2, #9 80d3970: 3308 adds r3, #8 80d3972: 4606 mov r6, r0 80d3974: fb93 f3f2 sdiv r3, r3, r2 80d3978: 2100 movs r1, #0 80d397a: 2201 movs r2, #1 80d397c: 429a cmp r2, r3 80d397e: db20 blt.n 80d39c2 <__s2b+0x5e> 80d3980: 4630 mov r0, r6 80d3982: f7ff ff69 bl 80d3858 <_Balloc> 80d3986: 9b08 ldr r3, [sp, #32] 80d3988: 6143 str r3, [r0, #20] 80d398a: 2d09 cmp r5, #9 80d398c: f04f 0301 mov.w r3, #1 80d3990: 6103 str r3, [r0, #16] 80d3992: dd19 ble.n 80d39c8 <__s2b+0x64> 80d3994: f104 0909 add.w r9, r4, #9 80d3998: 46c8 mov r8, r9 80d399a: 442c add r4, r5 80d399c: f818 3b01 ldrb.w r3, [r8], #1 80d39a0: 4601 mov r1, r0 80d39a2: 3b30 subs r3, #48 ; 0x30 80d39a4: 220a movs r2, #10 80d39a6: 4630 mov r0, r6 80d39a8: f7ff ffa1 bl 80d38ee <__multadd> 80d39ac: 45a0 cmp r8, r4 80d39ae: d1f5 bne.n 80d399c <__s2b+0x38> 80d39b0: f1a5 0408 sub.w r4, r5, #8 80d39b4: 444c add r4, r9 80d39b6: 1b2d subs r5, r5, r4 80d39b8: 1963 adds r3, r4, r5 80d39ba: 42bb cmp r3, r7 80d39bc: db07 blt.n 80d39ce <__s2b+0x6a> 80d39be: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} 80d39c2: 0052 lsls r2, r2, #1 80d39c4: 3101 adds r1, #1 80d39c6: e7d9 b.n 80d397c <__s2b+0x18> 80d39c8: 340a adds r4, #10 80d39ca: 2509 movs r5, #9 80d39cc: e7f3 b.n 80d39b6 <__s2b+0x52> 80d39ce: f814 3b01 ldrb.w r3, [r4], #1 80d39d2: 4601 mov r1, r0 80d39d4: 3b30 subs r3, #48 ; 0x30 80d39d6: 220a movs r2, #10 80d39d8: 4630 mov r0, r6 80d39da: f7ff ff88 bl 80d38ee <__multadd> 80d39de: e7eb b.n 80d39b8 <__s2b+0x54> 080d39e0 <__hi0bits>: 80d39e0: 0c02 lsrs r2, r0, #16 80d39e2: 0412 lsls r2, r2, #16 80d39e4: 4603 mov r3, r0 80d39e6: b9b2 cbnz r2, 80d3a16 <__hi0bits+0x36> 80d39e8: 0403 lsls r3, r0, #16 80d39ea: 2010 movs r0, #16 80d39ec: f013 4f7f tst.w r3, #4278190080 ; 0xff000000 80d39f0: bf04 itt eq 80d39f2: 021b lsleq r3, r3, #8 80d39f4: 3008 addeq r0, #8 80d39f6: f013 4f70 tst.w r3, #4026531840 ; 0xf0000000 80d39fa: bf04 itt eq 80d39fc: 011b lsleq r3, r3, #4 80d39fe: 3004 addeq r0, #4 80d3a00: f013 4f40 tst.w r3, #3221225472 ; 0xc0000000 80d3a04: bf04 itt eq 80d3a06: 009b lsleq r3, r3, #2 80d3a08: 3002 addeq r0, #2 80d3a0a: 2b00 cmp r3, #0 80d3a0c: db06 blt.n 80d3a1c <__hi0bits+0x3c> 80d3a0e: 005b lsls r3, r3, #1 80d3a10: d503 bpl.n 80d3a1a <__hi0bits+0x3a> 80d3a12: 3001 adds r0, #1 80d3a14: 4770 bx lr 80d3a16: 2000 movs r0, #0 80d3a18: e7e8 b.n 80d39ec <__hi0bits+0xc> 80d3a1a: 2020 movs r0, #32 80d3a1c: 4770 bx lr 080d3a1e <__lo0bits>: 80d3a1e: 6803 ldr r3, [r0, #0] 80d3a20: f013 0207 ands.w r2, r3, #7 80d3a24: 4601 mov r1, r0 80d3a26: d00b beq.n 80d3a40 <__lo0bits+0x22> 80d3a28: 07da lsls r2, r3, #31 80d3a2a: d423 bmi.n 80d3a74 <__lo0bits+0x56> 80d3a2c: 0798 lsls r0, r3, #30 80d3a2e: bf49 itett mi 80d3a30: 085b lsrmi r3, r3, #1 80d3a32: 089b lsrpl r3, r3, #2 80d3a34: 2001 movmi r0, #1 80d3a36: 600b strmi r3, [r1, #0] 80d3a38: bf5c itt pl 80d3a3a: 600b strpl r3, [r1, #0] 80d3a3c: 2002 movpl r0, #2 80d3a3e: 4770 bx lr 80d3a40: b298 uxth r0, r3 80d3a42: b9a8 cbnz r0, 80d3a70 <__lo0bits+0x52> 80d3a44: 0c1b lsrs r3, r3, #16 80d3a46: 2010 movs r0, #16 80d3a48: f013 0fff tst.w r3, #255 ; 0xff 80d3a4c: bf04 itt eq 80d3a4e: 0a1b lsreq r3, r3, #8 80d3a50: 3008 addeq r0, #8 80d3a52: 071a lsls r2, r3, #28 80d3a54: bf04 itt eq 80d3a56: 091b lsreq r3, r3, #4 80d3a58: 3004 addeq r0, #4 80d3a5a: 079a lsls r2, r3, #30 80d3a5c: bf04 itt eq 80d3a5e: 089b lsreq r3, r3, #2 80d3a60: 3002 addeq r0, #2 80d3a62: 07da lsls r2, r3, #31 80d3a64: d402 bmi.n 80d3a6c <__lo0bits+0x4e> 80d3a66: 085b lsrs r3, r3, #1 80d3a68: d006 beq.n 80d3a78 <__lo0bits+0x5a> 80d3a6a: 3001 adds r0, #1 80d3a6c: 600b str r3, [r1, #0] 80d3a6e: 4770 bx lr 80d3a70: 4610 mov r0, r2 80d3a72: e7e9 b.n 80d3a48 <__lo0bits+0x2a> 80d3a74: 2000 movs r0, #0 80d3a76: 4770 bx lr 80d3a78: 2020 movs r0, #32 80d3a7a: 4770 bx lr 080d3a7c <__i2b>: 80d3a7c: b510 push {r4, lr} 80d3a7e: 460c mov r4, r1 80d3a80: 2101 movs r1, #1 80d3a82: f7ff fee9 bl 80d3858 <_Balloc> 80d3a86: 2201 movs r2, #1 80d3a88: 6144 str r4, [r0, #20] 80d3a8a: 6102 str r2, [r0, #16] 80d3a8c: bd10 pop {r4, pc} 080d3a8e <__multiply>: 80d3a8e: e92d 4ff7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} 80d3a92: 4614 mov r4, r2 80d3a94: 690a ldr r2, [r1, #16] 80d3a96: 6923 ldr r3, [r4, #16] 80d3a98: 429a cmp r2, r3 80d3a9a: bfb8 it lt 80d3a9c: 460b movlt r3, r1 80d3a9e: 4689 mov r9, r1 80d3aa0: bfbc itt lt 80d3aa2: 46a1 movlt r9, r4 80d3aa4: 461c movlt r4, r3 80d3aa6: f8d9 7010 ldr.w r7, [r9, #16] 80d3aaa: f8d4 a010 ldr.w sl, [r4, #16] 80d3aae: f8d9 3008 ldr.w r3, [r9, #8] 80d3ab2: f8d9 1004 ldr.w r1, [r9, #4] 80d3ab6: eb07 060a add.w r6, r7, sl 80d3aba: 429e cmp r6, r3 80d3abc: bfc8 it gt 80d3abe: 3101 addgt r1, #1 80d3ac0: f7ff feca bl 80d3858 <_Balloc> 80d3ac4: f100 0514 add.w r5, r0, #20 80d3ac8: eb05 0886 add.w r8, r5, r6, lsl #2 80d3acc: 462b mov r3, r5 80d3ace: 2200 movs r2, #0 80d3ad0: 4543 cmp r3, r8 80d3ad2: d316 bcc.n 80d3b02 <__multiply+0x74> 80d3ad4: f104 0214 add.w r2, r4, #20 80d3ad8: f109 0114 add.w r1, r9, #20 80d3adc: eb02 038a add.w r3, r2, sl, lsl #2 80d3ae0: eb01 0787 add.w r7, r1, r7, lsl #2 80d3ae4: 9301 str r3, [sp, #4] 80d3ae6: 9c01 ldr r4, [sp, #4] 80d3ae8: 4294 cmp r4, r2 80d3aea: 4613 mov r3, r2 80d3aec: d80c bhi.n 80d3b08 <__multiply+0x7a> 80d3aee: 2e00 cmp r6, #0 80d3af0: dd03 ble.n 80d3afa <__multiply+0x6c> 80d3af2: f858 3d04 ldr.w r3, [r8, #-4]! 80d3af6: 2b00 cmp r3, #0 80d3af8: d054 beq.n 80d3ba4 <__multiply+0x116> 80d3afa: 6106 str r6, [r0, #16] 80d3afc: b003 add sp, #12 80d3afe: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80d3b02: f843 2b04 str.w r2, [r3], #4 80d3b06: e7e3 b.n 80d3ad0 <__multiply+0x42> 80d3b08: f8b3 a000 ldrh.w sl, [r3] 80d3b0c: 3204 adds r2, #4 80d3b0e: f1ba 0f00 cmp.w sl, #0 80d3b12: d020 beq.n 80d3b56 <__multiply+0xc8> 80d3b14: 46ae mov lr, r5 80d3b16: 4689 mov r9, r1 80d3b18: f04f 0c00 mov.w ip, #0 80d3b1c: f859 4b04 ldr.w r4, [r9], #4 80d3b20: f8be b000 ldrh.w fp, [lr] 80d3b24: b2a3 uxth r3, r4 80d3b26: fb0a b303 mla r3, sl, r3, fp 80d3b2a: ea4f 4b14 mov.w fp, r4, lsr #16 80d3b2e: f8de 4000 ldr.w r4, [lr] 80d3b32: 4463 add r3, ip 80d3b34: ea4f 4c14 mov.w ip, r4, lsr #16 80d3b38: fb0a c40b mla r4, sl, fp, ip 80d3b3c: eb04 4413 add.w r4, r4, r3, lsr #16 80d3b40: b29b uxth r3, r3 80d3b42: ea43 4304 orr.w r3, r3, r4, lsl #16 80d3b46: 454f cmp r7, r9 80d3b48: ea4f 4c14 mov.w ip, r4, lsr #16 80d3b4c: f84e 3b04 str.w r3, [lr], #4 80d3b50: d8e4 bhi.n 80d3b1c <__multiply+0x8e> 80d3b52: f8ce c000 str.w ip, [lr] 80d3b56: f832 9c02 ldrh.w r9, [r2, #-2] 80d3b5a: f1b9 0f00 cmp.w r9, #0 80d3b5e: d01f beq.n 80d3ba0 <__multiply+0x112> 80d3b60: 682b ldr r3, [r5, #0] 80d3b62: 46ae mov lr, r5 80d3b64: 468c mov ip, r1 80d3b66: f04f 0a00 mov.w sl, #0 80d3b6a: f8bc 4000 ldrh.w r4, [ip] 80d3b6e: f8be b002 ldrh.w fp, [lr, #2] 80d3b72: fb09 b404 mla r4, r9, r4, fp 80d3b76: 44a2 add sl, r4 80d3b78: b29b uxth r3, r3 80d3b7a: ea43 430a orr.w r3, r3, sl, lsl #16 80d3b7e: f84e 3b04 str.w r3, [lr], #4 80d3b82: f85c 3b04 ldr.w r3, [ip], #4 80d3b86: f8be 4000 ldrh.w r4, [lr] 80d3b8a: 0c1b lsrs r3, r3, #16 80d3b8c: fb09 4303 mla r3, r9, r3, r4 80d3b90: eb03 431a add.w r3, r3, sl, lsr #16 80d3b94: 4567 cmp r7, ip 80d3b96: ea4f 4a13 mov.w sl, r3, lsr #16 80d3b9a: d8e6 bhi.n 80d3b6a <__multiply+0xdc> 80d3b9c: f8ce 3000 str.w r3, [lr] 80d3ba0: 3504 adds r5, #4 80d3ba2: e7a0 b.n 80d3ae6 <__multiply+0x58> 80d3ba4: 3e01 subs r6, #1 80d3ba6: e7a2 b.n 80d3aee <__multiply+0x60> 080d3ba8 <__pow5mult>: 80d3ba8: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} 80d3bac: 4615 mov r5, r2 80d3bae: f012 0203 ands.w r2, r2, #3 80d3bb2: 4606 mov r6, r0 80d3bb4: 460f mov r7, r1 80d3bb6: d007 beq.n 80d3bc8 <__pow5mult+0x20> 80d3bb8: 3a01 subs r2, #1 80d3bba: 4c21 ldr r4, [pc, #132] ; (80d3c40 <__pow5mult+0x98>) 80d3bbc: 2300 movs r3, #0 80d3bbe: f854 2022 ldr.w r2, [r4, r2, lsl #2] 80d3bc2: f7ff fe94 bl 80d38ee <__multadd> 80d3bc6: 4607 mov r7, r0 80d3bc8: 10ad asrs r5, r5, #2 80d3bca: d035 beq.n 80d3c38 <__pow5mult+0x90> 80d3bcc: 6a74 ldr r4, [r6, #36] ; 0x24 80d3bce: b93c cbnz r4, 80d3be0 <__pow5mult+0x38> 80d3bd0: 2010 movs r0, #16 80d3bd2: f7fe f9bd bl 80d1f50 80d3bd6: 6270 str r0, [r6, #36] ; 0x24 80d3bd8: 6044 str r4, [r0, #4] 80d3bda: 6084 str r4, [r0, #8] 80d3bdc: 6004 str r4, [r0, #0] 80d3bde: 60c4 str r4, [r0, #12] 80d3be0: f8d6 8024 ldr.w r8, [r6, #36] ; 0x24 80d3be4: f8d8 4008 ldr.w r4, [r8, #8] 80d3be8: b94c cbnz r4, 80d3bfe <__pow5mult+0x56> 80d3bea: f240 2171 movw r1, #625 ; 0x271 80d3bee: 4630 mov r0, r6 80d3bf0: f7ff ff44 bl 80d3a7c <__i2b> 80d3bf4: 2300 movs r3, #0 80d3bf6: f8c8 0008 str.w r0, [r8, #8] 80d3bfa: 4604 mov r4, r0 80d3bfc: 6003 str r3, [r0, #0] 80d3bfe: f04f 0800 mov.w r8, #0 80d3c02: 07eb lsls r3, r5, #31 80d3c04: d50a bpl.n 80d3c1c <__pow5mult+0x74> 80d3c06: 4639 mov r1, r7 80d3c08: 4622 mov r2, r4 80d3c0a: 4630 mov r0, r6 80d3c0c: f7ff ff3f bl 80d3a8e <__multiply> 80d3c10: 4639 mov r1, r7 80d3c12: 4681 mov r9, r0 80d3c14: 4630 mov r0, r6 80d3c16: f7ff fe53 bl 80d38c0 <_Bfree> 80d3c1a: 464f mov r7, r9 80d3c1c: 106d asrs r5, r5, #1 80d3c1e: d00b beq.n 80d3c38 <__pow5mult+0x90> 80d3c20: 6820 ldr r0, [r4, #0] 80d3c22: b938 cbnz r0, 80d3c34 <__pow5mult+0x8c> 80d3c24: 4622 mov r2, r4 80d3c26: 4621 mov r1, r4 80d3c28: 4630 mov r0, r6 80d3c2a: f7ff ff30 bl 80d3a8e <__multiply> 80d3c2e: 6020 str r0, [r4, #0] 80d3c30: f8c0 8000 str.w r8, [r0] 80d3c34: 4604 mov r4, r0 80d3c36: e7e4 b.n 80d3c02 <__pow5mult+0x5a> 80d3c38: 4638 mov r0, r7 80d3c3a: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} 80d3c3e: bf00 nop 80d3c40: 0818d4a0 .word 0x0818d4a0 080d3c44 <__lshift>: 80d3c44: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 80d3c48: 460c mov r4, r1 80d3c4a: ea4f 1a62 mov.w sl, r2, asr #5 80d3c4e: 6923 ldr r3, [r4, #16] 80d3c50: 6849 ldr r1, [r1, #4] 80d3c52: eb0a 0903 add.w r9, sl, r3 80d3c56: 68a3 ldr r3, [r4, #8] 80d3c58: 4607 mov r7, r0 80d3c5a: 4616 mov r6, r2 80d3c5c: f109 0501 add.w r5, r9, #1 80d3c60: 42ab cmp r3, r5 80d3c62: db31 blt.n 80d3cc8 <__lshift+0x84> 80d3c64: 4638 mov r0, r7 80d3c66: f7ff fdf7 bl 80d3858 <_Balloc> 80d3c6a: 2200 movs r2, #0 80d3c6c: 4680 mov r8, r0 80d3c6e: f100 0314 add.w r3, r0, #20 80d3c72: 4611 mov r1, r2 80d3c74: 4552 cmp r2, sl 80d3c76: db2a blt.n 80d3cce <__lshift+0x8a> 80d3c78: 6920 ldr r0, [r4, #16] 80d3c7a: ea2a 7aea bic.w sl, sl, sl, asr #31 80d3c7e: f104 0114 add.w r1, r4, #20 80d3c82: f016 021f ands.w r2, r6, #31 80d3c86: eb03 038a add.w r3, r3, sl, lsl #2 80d3c8a: eb01 0e80 add.w lr, r1, r0, lsl #2 80d3c8e: d022 beq.n 80d3cd6 <__lshift+0x92> 80d3c90: f1c2 0c20 rsb ip, r2, #32 80d3c94: 2000 movs r0, #0 80d3c96: 680e ldr r6, [r1, #0] 80d3c98: 4096 lsls r6, r2 80d3c9a: 4330 orrs r0, r6 80d3c9c: f843 0b04 str.w r0, [r3], #4 80d3ca0: f851 0b04 ldr.w r0, [r1], #4 80d3ca4: 458e cmp lr, r1 80d3ca6: fa20 f00c lsr.w r0, r0, ip 80d3caa: d8f4 bhi.n 80d3c96 <__lshift+0x52> 80d3cac: 6018 str r0, [r3, #0] 80d3cae: b108 cbz r0, 80d3cb4 <__lshift+0x70> 80d3cb0: f109 0502 add.w r5, r9, #2 80d3cb4: 3d01 subs r5, #1 80d3cb6: 4638 mov r0, r7 80d3cb8: f8c8 5010 str.w r5, [r8, #16] 80d3cbc: 4621 mov r1, r4 80d3cbe: f7ff fdff bl 80d38c0 <_Bfree> 80d3cc2: 4640 mov r0, r8 80d3cc4: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80d3cc8: 3101 adds r1, #1 80d3cca: 005b lsls r3, r3, #1 80d3ccc: e7c8 b.n 80d3c60 <__lshift+0x1c> 80d3cce: f843 1022 str.w r1, [r3, r2, lsl #2] 80d3cd2: 3201 adds r2, #1 80d3cd4: e7ce b.n 80d3c74 <__lshift+0x30> 80d3cd6: 3b04 subs r3, #4 80d3cd8: f851 2b04 ldr.w r2, [r1], #4 80d3cdc: f843 2f04 str.w r2, [r3, #4]! 80d3ce0: 458e cmp lr, r1 80d3ce2: d8f9 bhi.n 80d3cd8 <__lshift+0x94> 80d3ce4: e7e6 b.n 80d3cb4 <__lshift+0x70> 080d3ce6 <__mcmp>: 80d3ce6: 6903 ldr r3, [r0, #16] 80d3ce8: 690a ldr r2, [r1, #16] 80d3cea: 1a9b subs r3, r3, r2 80d3cec: b530 push {r4, r5, lr} 80d3cee: d10c bne.n 80d3d0a <__mcmp+0x24> 80d3cf0: 0092 lsls r2, r2, #2 80d3cf2: 3014 adds r0, #20 80d3cf4: 3114 adds r1, #20 80d3cf6: 1884 adds r4, r0, r2 80d3cf8: 4411 add r1, r2 80d3cfa: f854 5d04 ldr.w r5, [r4, #-4]! 80d3cfe: f851 2d04 ldr.w r2, [r1, #-4]! 80d3d02: 4295 cmp r5, r2 80d3d04: d003 beq.n 80d3d0e <__mcmp+0x28> 80d3d06: d305 bcc.n 80d3d14 <__mcmp+0x2e> 80d3d08: 2301 movs r3, #1 80d3d0a: 4618 mov r0, r3 80d3d0c: bd30 pop {r4, r5, pc} 80d3d0e: 42a0 cmp r0, r4 80d3d10: d3f3 bcc.n 80d3cfa <__mcmp+0x14> 80d3d12: e7fa b.n 80d3d0a <__mcmp+0x24> 80d3d14: f04f 33ff mov.w r3, #4294967295 80d3d18: e7f7 b.n 80d3d0a <__mcmp+0x24> 080d3d1a <__mdiff>: 80d3d1a: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 80d3d1e: 460d mov r5, r1 80d3d20: 4607 mov r7, r0 80d3d22: 4611 mov r1, r2 80d3d24: 4628 mov r0, r5 80d3d26: 4614 mov r4, r2 80d3d28: f7ff ffdd bl 80d3ce6 <__mcmp> 80d3d2c: 1e06 subs r6, r0, #0 80d3d2e: d108 bne.n 80d3d42 <__mdiff+0x28> 80d3d30: 4631 mov r1, r6 80d3d32: 4638 mov r0, r7 80d3d34: f7ff fd90 bl 80d3858 <_Balloc> 80d3d38: 2301 movs r3, #1 80d3d3a: 6103 str r3, [r0, #16] 80d3d3c: 6146 str r6, [r0, #20] 80d3d3e: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80d3d42: bfa4 itt ge 80d3d44: 4623 movge r3, r4 80d3d46: 462c movge r4, r5 80d3d48: 4638 mov r0, r7 80d3d4a: 6861 ldr r1, [r4, #4] 80d3d4c: bfa6 itte ge 80d3d4e: 461d movge r5, r3 80d3d50: 2600 movge r6, #0 80d3d52: 2601 movlt r6, #1 80d3d54: f7ff fd80 bl 80d3858 <_Balloc> 80d3d58: 692b ldr r3, [r5, #16] 80d3d5a: 60c6 str r6, [r0, #12] 80d3d5c: 6926 ldr r6, [r4, #16] 80d3d5e: f105 0914 add.w r9, r5, #20 80d3d62: f104 0214 add.w r2, r4, #20 80d3d66: eb02 0786 add.w r7, r2, r6, lsl #2 80d3d6a: eb09 0883 add.w r8, r9, r3, lsl #2 80d3d6e: f100 0514 add.w r5, r0, #20 80d3d72: f04f 0c00 mov.w ip, #0 80d3d76: f852 ab04 ldr.w sl, [r2], #4 80d3d7a: f859 4b04 ldr.w r4, [r9], #4 80d3d7e: fa1c f18a uxtah r1, ip, sl 80d3d82: b2a3 uxth r3, r4 80d3d84: 1ac9 subs r1, r1, r3 80d3d86: 0c23 lsrs r3, r4, #16 80d3d88: ebc3 431a rsb r3, r3, sl, lsr #16 80d3d8c: eb03 4321 add.w r3, r3, r1, asr #16 80d3d90: b289 uxth r1, r1 80d3d92: ea4f 4c23 mov.w ip, r3, asr #16 80d3d96: 45c8 cmp r8, r9 80d3d98: ea41 4303 orr.w r3, r1, r3, lsl #16 80d3d9c: 4696 mov lr, r2 80d3d9e: f845 3b04 str.w r3, [r5], #4 80d3da2: d8e8 bhi.n 80d3d76 <__mdiff+0x5c> 80d3da4: 45be cmp lr, r7 80d3da6: d305 bcc.n 80d3db4 <__mdiff+0x9a> 80d3da8: f855 3d04 ldr.w r3, [r5, #-4]! 80d3dac: b18b cbz r3, 80d3dd2 <__mdiff+0xb8> 80d3dae: 6106 str r6, [r0, #16] 80d3db0: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80d3db4: f85e 1b04 ldr.w r1, [lr], #4 80d3db8: fa1c f381 uxtah r3, ip, r1 80d3dbc: 141a asrs r2, r3, #16 80d3dbe: eb02 4211 add.w r2, r2, r1, lsr #16 80d3dc2: b29b uxth r3, r3 80d3dc4: ea43 4302 orr.w r3, r3, r2, lsl #16 80d3dc8: ea4f 4c22 mov.w ip, r2, asr #16 80d3dcc: f845 3b04 str.w r3, [r5], #4 80d3dd0: e7e8 b.n 80d3da4 <__mdiff+0x8a> 80d3dd2: 3e01 subs r6, #1 80d3dd4: e7e8 b.n 80d3da8 <__mdiff+0x8e> ... 080d3dd8 <__ulp>: 80d3dd8: 4b12 ldr r3, [pc, #72] ; (80d3e24 <__ulp+0x4c>) 80d3dda: ee10 2a90 vmov r2, s1 80d3dde: 401a ands r2, r3 80d3de0: f1a2 7350 sub.w r3, r2, #54525952 ; 0x3400000 80d3de4: 2b00 cmp r3, #0 80d3de6: dd04 ble.n 80d3df2 <__ulp+0x1a> 80d3de8: 2000 movs r0, #0 80d3dea: 4619 mov r1, r3 80d3dec: ec41 0b10 vmov d0, r0, r1 80d3df0: 4770 bx lr 80d3df2: 425b negs r3, r3 80d3df4: 151b asrs r3, r3, #20 80d3df6: 2b13 cmp r3, #19 80d3df8: f04f 0000 mov.w r0, #0 80d3dfc: f04f 0100 mov.w r1, #0 80d3e00: dc04 bgt.n 80d3e0c <__ulp+0x34> 80d3e02: f44f 2200 mov.w r2, #524288 ; 0x80000 80d3e06: fa42 f103 asr.w r1, r2, r3 80d3e0a: e7ef b.n 80d3dec <__ulp+0x14> 80d3e0c: 3b14 subs r3, #20 80d3e0e: 2b1e cmp r3, #30 80d3e10: f04f 0201 mov.w r2, #1 80d3e14: bfda itte le 80d3e16: f1c3 031f rsble r3, r3, #31 80d3e1a: fa02 f303 lslle.w r3, r2, r3 80d3e1e: 4613 movgt r3, r2 80d3e20: 4618 mov r0, r3 80d3e22: e7e3 b.n 80d3dec <__ulp+0x14> 80d3e24: 7ff00000 .word 0x7ff00000 080d3e28 <__b2d>: 80d3e28: b5f8 push {r3, r4, r5, r6, r7, lr} 80d3e2a: 6905 ldr r5, [r0, #16] 80d3e2c: f100 0714 add.w r7, r0, #20 80d3e30: eb07 0585 add.w r5, r7, r5, lsl #2 80d3e34: 1f2e subs r6, r5, #4 80d3e36: f855 4c04 ldr.w r4, [r5, #-4] 80d3e3a: 4620 mov r0, r4 80d3e3c: f7ff fdd0 bl 80d39e0 <__hi0bits> 80d3e40: f1c0 0320 rsb r3, r0, #32 80d3e44: 280a cmp r0, #10 80d3e46: 600b str r3, [r1, #0] 80d3e48: f8df e074 ldr.w lr, [pc, #116] ; 80d3ec0 <__b2d+0x98> 80d3e4c: dc14 bgt.n 80d3e78 <__b2d+0x50> 80d3e4e: f1c0 0c0b rsb ip, r0, #11 80d3e52: fa24 f10c lsr.w r1, r4, ip 80d3e56: 42b7 cmp r7, r6 80d3e58: ea41 030e orr.w r3, r1, lr 80d3e5c: bf34 ite cc 80d3e5e: f855 1c08 ldrcc.w r1, [r5, #-8] 80d3e62: 2100 movcs r1, #0 80d3e64: 3015 adds r0, #21 80d3e66: fa04 f000 lsl.w r0, r4, r0 80d3e6a: fa21 f10c lsr.w r1, r1, ip 80d3e6e: ea40 0201 orr.w r2, r0, r1 80d3e72: ec43 2b10 vmov d0, r2, r3 80d3e76: bdf8 pop {r3, r4, r5, r6, r7, pc} 80d3e78: 42b7 cmp r7, r6 80d3e7a: bf3a itte cc 80d3e7c: f1a5 0608 subcc.w r6, r5, #8 80d3e80: f855 1c08 ldrcc.w r1, [r5, #-8] 80d3e84: 2100 movcs r1, #0 80d3e86: 380b subs r0, #11 80d3e88: d015 beq.n 80d3eb6 <__b2d+0x8e> 80d3e8a: 4084 lsls r4, r0 80d3e8c: f1c0 0520 rsb r5, r0, #32 80d3e90: f044 547f orr.w r4, r4, #1069547520 ; 0x3fc00000 80d3e94: f444 1440 orr.w r4, r4, #3145728 ; 0x300000 80d3e98: 42be cmp r6, r7 80d3e9a: fa21 fe05 lsr.w lr, r1, r5 80d3e9e: ea44 030e orr.w r3, r4, lr 80d3ea2: bf8c ite hi 80d3ea4: f856 4c04 ldrhi.w r4, [r6, #-4] 80d3ea8: 2400 movls r4, #0 80d3eaa: fa01 f000 lsl.w r0, r1, r0 80d3eae: 40ec lsrs r4, r5 80d3eb0: ea40 0204 orr.w r2, r0, r4 80d3eb4: e7dd b.n 80d3e72 <__b2d+0x4a> 80d3eb6: ea44 030e orr.w r3, r4, lr 80d3eba: 460a mov r2, r1 80d3ebc: e7d9 b.n 80d3e72 <__b2d+0x4a> 80d3ebe: bf00 nop 80d3ec0: 3ff00000 .word 0x3ff00000 080d3ec4 <__d2b>: 80d3ec4: e92d 43f7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, lr} 80d3ec8: 460e mov r6, r1 80d3eca: 2101 movs r1, #1 80d3ecc: ec59 8b10 vmov r8, r9, d0 80d3ed0: 4615 mov r5, r2 80d3ed2: f7ff fcc1 bl 80d3858 <_Balloc> 80d3ed6: f3c9 540a ubfx r4, r9, #20, #11 80d3eda: 4607 mov r7, r0 80d3edc: f3c9 0313 ubfx r3, r9, #0, #20 80d3ee0: bb34 cbnz r4, 80d3f30 <__d2b+0x6c> 80d3ee2: 9301 str r3, [sp, #4] 80d3ee4: f1b8 0f00 cmp.w r8, #0 80d3ee8: d027 beq.n 80d3f3a <__d2b+0x76> 80d3eea: a802 add r0, sp, #8 80d3eec: f840 8d08 str.w r8, [r0, #-8]! 80d3ef0: f7ff fd95 bl 80d3a1e <__lo0bits> 80d3ef4: 9900 ldr r1, [sp, #0] 80d3ef6: b1f0 cbz r0, 80d3f36 <__d2b+0x72> 80d3ef8: 9a01 ldr r2, [sp, #4] 80d3efa: f1c0 0320 rsb r3, r0, #32 80d3efe: fa02 f303 lsl.w r3, r2, r3 80d3f02: 430b orrs r3, r1 80d3f04: 40c2 lsrs r2, r0 80d3f06: 617b str r3, [r7, #20] 80d3f08: 9201 str r2, [sp, #4] 80d3f0a: 9b01 ldr r3, [sp, #4] 80d3f0c: 61bb str r3, [r7, #24] 80d3f0e: 2b00 cmp r3, #0 80d3f10: bf14 ite ne 80d3f12: 2102 movne r1, #2 80d3f14: 2101 moveq r1, #1 80d3f16: 6139 str r1, [r7, #16] 80d3f18: b1c4 cbz r4, 80d3f4c <__d2b+0x88> 80d3f1a: f2a4 4433 subw r4, r4, #1075 ; 0x433 80d3f1e: 4404 add r4, r0 80d3f20: 6034 str r4, [r6, #0] 80d3f22: f1c0 0035 rsb r0, r0, #53 ; 0x35 80d3f26: 6028 str r0, [r5, #0] 80d3f28: 4638 mov r0, r7 80d3f2a: b003 add sp, #12 80d3f2c: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 80d3f30: f443 1380 orr.w r3, r3, #1048576 ; 0x100000 80d3f34: e7d5 b.n 80d3ee2 <__d2b+0x1e> 80d3f36: 6179 str r1, [r7, #20] 80d3f38: e7e7 b.n 80d3f0a <__d2b+0x46> 80d3f3a: a801 add r0, sp, #4 80d3f3c: f7ff fd6f bl 80d3a1e <__lo0bits> 80d3f40: 9b01 ldr r3, [sp, #4] 80d3f42: 617b str r3, [r7, #20] 80d3f44: 2101 movs r1, #1 80d3f46: 6139 str r1, [r7, #16] 80d3f48: 3020 adds r0, #32 80d3f4a: e7e5 b.n 80d3f18 <__d2b+0x54> 80d3f4c: eb07 0381 add.w r3, r7, r1, lsl #2 80d3f50: f2a0 4032 subw r0, r0, #1074 ; 0x432 80d3f54: 6030 str r0, [r6, #0] 80d3f56: 6918 ldr r0, [r3, #16] 80d3f58: f7ff fd42 bl 80d39e0 <__hi0bits> 80d3f5c: ebc0 1041 rsb r0, r0, r1, lsl #5 80d3f60: e7e1 b.n 80d3f26 <__d2b+0x62> 080d3f62 <__ratio>: 80d3f62: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} 80d3f64: 460e mov r6, r1 80d3f66: 4669 mov r1, sp 80d3f68: 4607 mov r7, r0 80d3f6a: f7ff ff5d bl 80d3e28 <__b2d> 80d3f6e: a901 add r1, sp, #4 80d3f70: 4630 mov r0, r6 80d3f72: ec55 4b10 vmov r4, r5, d0 80d3f76: f7ff ff57 bl 80d3e28 <__b2d> 80d3f7a: 693b ldr r3, [r7, #16] 80d3f7c: 6936 ldr r6, [r6, #16] 80d3f7e: 1b9e subs r6, r3, r6 80d3f80: e89d 000c ldmia.w sp, {r2, r3} 80d3f84: 1ad3 subs r3, r2, r3 80d3f86: eb03 1346 add.w r3, r3, r6, lsl #5 80d3f8a: ec51 0b10 vmov r0, r1, d0 80d3f8e: 2b00 cmp r3, #0 80d3f90: bfd6 itet le 80d3f92: ebc3 3303 rsble r3, r3, r3, lsl #12 80d3f96: eb05 5503 addgt.w r5, r5, r3, lsl #20 80d3f9a: eb01 5103 addle.w r1, r1, r3, lsl #20 80d3f9e: ec45 4b17 vmov d7, r4, r5 80d3fa2: ec41 0b16 vmov d6, r0, r1 80d3fa6: ee87 0b06 vdiv.f64 d0, d7, d6 80d3faa: b003 add sp, #12 80d3fac: bdf0 pop {r4, r5, r6, r7, pc} 080d3fae <__copybits>: 80d3fae: 3901 subs r1, #1 80d3fb0: b510 push {r4, lr} 80d3fb2: 1149 asrs r1, r1, #5 80d3fb4: 6914 ldr r4, [r2, #16] 80d3fb6: 3101 adds r1, #1 80d3fb8: f102 0314 add.w r3, r2, #20 80d3fbc: eb00 0181 add.w r1, r0, r1, lsl #2 80d3fc0: eb03 0484 add.w r4, r3, r4, lsl #2 80d3fc4: 42a3 cmp r3, r4 80d3fc6: 4602 mov r2, r0 80d3fc8: d303 bcc.n 80d3fd2 <__copybits+0x24> 80d3fca: 2300 movs r3, #0 80d3fcc: 428a cmp r2, r1 80d3fce: d305 bcc.n 80d3fdc <__copybits+0x2e> 80d3fd0: bd10 pop {r4, pc} 80d3fd2: f853 2b04 ldr.w r2, [r3], #4 80d3fd6: f840 2b04 str.w r2, [r0], #4 80d3fda: e7f3 b.n 80d3fc4 <__copybits+0x16> 80d3fdc: f842 3b04 str.w r3, [r2], #4 80d3fe0: e7f4 b.n 80d3fcc <__copybits+0x1e> 080d3fe2 <__any_on>: 80d3fe2: f100 0214 add.w r2, r0, #20 80d3fe6: 6900 ldr r0, [r0, #16] 80d3fe8: 114b asrs r3, r1, #5 80d3fea: 4298 cmp r0, r3 80d3fec: b510 push {r4, lr} 80d3fee: db11 blt.n 80d4014 <__any_on+0x32> 80d3ff0: dd0a ble.n 80d4008 <__any_on+0x26> 80d3ff2: f011 011f ands.w r1, r1, #31 80d3ff6: d007 beq.n 80d4008 <__any_on+0x26> 80d3ff8: f852 4023 ldr.w r4, [r2, r3, lsl #2] 80d3ffc: fa24 f001 lsr.w r0, r4, r1 80d4000: fa00 f101 lsl.w r1, r0, r1 80d4004: 428c cmp r4, r1 80d4006: d10b bne.n 80d4020 <__any_on+0x3e> 80d4008: eb02 0383 add.w r3, r2, r3, lsl #2 80d400c: 4293 cmp r3, r2 80d400e: d803 bhi.n 80d4018 <__any_on+0x36> 80d4010: 2000 movs r0, #0 80d4012: bd10 pop {r4, pc} 80d4014: 4603 mov r3, r0 80d4016: e7f7 b.n 80d4008 <__any_on+0x26> 80d4018: f853 1d04 ldr.w r1, [r3, #-4]! 80d401c: 2900 cmp r1, #0 80d401e: d0f5 beq.n 80d400c <__any_on+0x2a> 80d4020: 2001 movs r0, #1 80d4022: bd10 pop {r4, pc} 080d4024 <_calloc_r>: 80d4024: b538 push {r3, r4, r5, lr} 80d4026: fb02 f401 mul.w r4, r2, r1 80d402a: 4621 mov r1, r4 80d402c: f7fe f810 bl 80d2050 <_malloc_r> 80d4030: 4605 mov r5, r0 80d4032: b118 cbz r0, 80d403c <_calloc_r+0x18> 80d4034: 4622 mov r2, r4 80d4036: 2100 movs r1, #0 80d4038: f7fd ffb4 bl 80d1fa4 80d403c: 4628 mov r0, r5 80d403e: bd38 pop {r3, r4, r5, pc} 080d4040 <__ssputs_r>: 80d4040: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 80d4044: 688e ldr r6, [r1, #8] 80d4046: 429e cmp r6, r3 80d4048: 4682 mov sl, r0 80d404a: 460c mov r4, r1 80d404c: 4691 mov r9, r2 80d404e: 4698 mov r8, r3 80d4050: d835 bhi.n 80d40be <__ssputs_r+0x7e> 80d4052: 898a ldrh r2, [r1, #12] 80d4054: f412 6f90 tst.w r2, #1152 ; 0x480 80d4058: d031 beq.n 80d40be <__ssputs_r+0x7e> 80d405a: 6825 ldr r5, [r4, #0] 80d405c: 6909 ldr r1, [r1, #16] 80d405e: 1a6f subs r7, r5, r1 80d4060: 6965 ldr r5, [r4, #20] 80d4062: 2302 movs r3, #2 80d4064: eb05 0545 add.w r5, r5, r5, lsl #1 80d4068: fb95 f5f3 sdiv r5, r5, r3 80d406c: f108 0301 add.w r3, r8, #1 80d4070: 443b add r3, r7 80d4072: 429d cmp r5, r3 80d4074: bf38 it cc 80d4076: 461d movcc r5, r3 80d4078: 0553 lsls r3, r2, #21 80d407a: d531 bpl.n 80d40e0 <__ssputs_r+0xa0> 80d407c: 4629 mov r1, r5 80d407e: f7fd ffe7 bl 80d2050 <_malloc_r> 80d4082: 4606 mov r6, r0 80d4084: b950 cbnz r0, 80d409c <__ssputs_r+0x5c> 80d4086: 230c movs r3, #12 80d4088: f8ca 3000 str.w r3, [sl] 80d408c: 89a3 ldrh r3, [r4, #12] 80d408e: f043 0340 orr.w r3, r3, #64 ; 0x40 80d4092: 81a3 strh r3, [r4, #12] 80d4094: f04f 30ff mov.w r0, #4294967295 80d4098: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80d409c: 463a mov r2, r7 80d409e: 6921 ldr r1, [r4, #16] 80d40a0: f7fd ff75 bl 80d1f8e 80d40a4: 89a3 ldrh r3, [r4, #12] 80d40a6: f423 6390 bic.w r3, r3, #1152 ; 0x480 80d40aa: f043 0380 orr.w r3, r3, #128 ; 0x80 80d40ae: 81a3 strh r3, [r4, #12] 80d40b0: 6126 str r6, [r4, #16] 80d40b2: 6165 str r5, [r4, #20] 80d40b4: 443e add r6, r7 80d40b6: 1bed subs r5, r5, r7 80d40b8: 6026 str r6, [r4, #0] 80d40ba: 60a5 str r5, [r4, #8] 80d40bc: 4646 mov r6, r8 80d40be: 4546 cmp r6, r8 80d40c0: bf28 it cs 80d40c2: 4646 movcs r6, r8 80d40c4: 4632 mov r2, r6 80d40c6: 4649 mov r1, r9 80d40c8: 6820 ldr r0, [r4, #0] 80d40ca: f000 fe53 bl 80d4d74 80d40ce: 68a3 ldr r3, [r4, #8] 80d40d0: 1b9b subs r3, r3, r6 80d40d2: 60a3 str r3, [r4, #8] 80d40d4: 6823 ldr r3, [r4, #0] 80d40d6: 441e add r6, r3 80d40d8: 6026 str r6, [r4, #0] 80d40da: 2000 movs r0, #0 80d40dc: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80d40e0: 462a mov r2, r5 80d40e2: f000 fe61 bl 80d4da8 <_realloc_r> 80d40e6: 4606 mov r6, r0 80d40e8: 2800 cmp r0, #0 80d40ea: d1e1 bne.n 80d40b0 <__ssputs_r+0x70> 80d40ec: 6921 ldr r1, [r4, #16] 80d40ee: 4650 mov r0, sl 80d40f0: f7fd ff60 bl 80d1fb4 <_free_r> 80d40f4: e7c7 b.n 80d4086 <__ssputs_r+0x46> ... 080d40f8 <_svfiprintf_r>: 80d40f8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80d40fc: b09d sub sp, #116 ; 0x74 80d40fe: 4680 mov r8, r0 80d4100: 9303 str r3, [sp, #12] 80d4102: 898b ldrh r3, [r1, #12] 80d4104: 061c lsls r4, r3, #24 80d4106: 460d mov r5, r1 80d4108: 4616 mov r6, r2 80d410a: d50f bpl.n 80d412c <_svfiprintf_r+0x34> 80d410c: 690b ldr r3, [r1, #16] 80d410e: b96b cbnz r3, 80d412c <_svfiprintf_r+0x34> 80d4110: 2140 movs r1, #64 ; 0x40 80d4112: f7fd ff9d bl 80d2050 <_malloc_r> 80d4116: 6028 str r0, [r5, #0] 80d4118: 6128 str r0, [r5, #16] 80d411a: b928 cbnz r0, 80d4128 <_svfiprintf_r+0x30> 80d411c: 230c movs r3, #12 80d411e: f8c8 3000 str.w r3, [r8] 80d4122: f04f 30ff mov.w r0, #4294967295 80d4126: e0c5 b.n 80d42b4 <_svfiprintf_r+0x1bc> 80d4128: 2340 movs r3, #64 ; 0x40 80d412a: 616b str r3, [r5, #20] 80d412c: 2300 movs r3, #0 80d412e: 9309 str r3, [sp, #36] ; 0x24 80d4130: 2320 movs r3, #32 80d4132: f88d 3029 strb.w r3, [sp, #41] ; 0x29 80d4136: 2330 movs r3, #48 ; 0x30 80d4138: f88d 302a strb.w r3, [sp, #42] ; 0x2a 80d413c: f04f 0b01 mov.w fp, #1 80d4140: 4637 mov r7, r6 80d4142: 463c mov r4, r7 80d4144: f814 3b01 ldrb.w r3, [r4], #1 80d4148: 2b00 cmp r3, #0 80d414a: d13c bne.n 80d41c6 <_svfiprintf_r+0xce> 80d414c: ebb7 0a06 subs.w sl, r7, r6 80d4150: d00b beq.n 80d416a <_svfiprintf_r+0x72> 80d4152: 4653 mov r3, sl 80d4154: 4632 mov r2, r6 80d4156: 4629 mov r1, r5 80d4158: 4640 mov r0, r8 80d415a: f7ff ff71 bl 80d4040 <__ssputs_r> 80d415e: 3001 adds r0, #1 80d4160: f000 80a3 beq.w 80d42aa <_svfiprintf_r+0x1b2> 80d4164: 9b09 ldr r3, [sp, #36] ; 0x24 80d4166: 4453 add r3, sl 80d4168: 9309 str r3, [sp, #36] ; 0x24 80d416a: 783b ldrb r3, [r7, #0] 80d416c: 2b00 cmp r3, #0 80d416e: f000 809c beq.w 80d42aa <_svfiprintf_r+0x1b2> 80d4172: 2300 movs r3, #0 80d4174: f04f 32ff mov.w r2, #4294967295 80d4178: 9304 str r3, [sp, #16] 80d417a: 9307 str r3, [sp, #28] 80d417c: 9205 str r2, [sp, #20] 80d417e: 9306 str r3, [sp, #24] 80d4180: f88d 3053 strb.w r3, [sp, #83] ; 0x53 80d4184: 931a str r3, [sp, #104] ; 0x68 80d4186: 2205 movs r2, #5 80d4188: 7821 ldrb r1, [r4, #0] 80d418a: 4850 ldr r0, [pc, #320] ; (80d42cc <_svfiprintf_r+0x1d4>) 80d418c: f74c f8d0 bl 8020330 80d4190: 1c67 adds r7, r4, #1 80d4192: 9b04 ldr r3, [sp, #16] 80d4194: b9d8 cbnz r0, 80d41ce <_svfiprintf_r+0xd6> 80d4196: 06d9 lsls r1, r3, #27 80d4198: bf44 itt mi 80d419a: 2220 movmi r2, #32 80d419c: f88d 2053 strbmi.w r2, [sp, #83] ; 0x53 80d41a0: 071a lsls r2, r3, #28 80d41a2: bf44 itt mi 80d41a4: 222b movmi r2, #43 ; 0x2b 80d41a6: f88d 2053 strbmi.w r2, [sp, #83] ; 0x53 80d41aa: 7822 ldrb r2, [r4, #0] 80d41ac: 2a2a cmp r2, #42 ; 0x2a 80d41ae: d016 beq.n 80d41de <_svfiprintf_r+0xe6> 80d41b0: 9a07 ldr r2, [sp, #28] 80d41b2: 2100 movs r1, #0 80d41b4: 200a movs r0, #10 80d41b6: 4627 mov r7, r4 80d41b8: 3401 adds r4, #1 80d41ba: 783b ldrb r3, [r7, #0] 80d41bc: 3b30 subs r3, #48 ; 0x30 80d41be: 2b09 cmp r3, #9 80d41c0: d951 bls.n 80d4266 <_svfiprintf_r+0x16e> 80d41c2: b1c9 cbz r1, 80d41f8 <_svfiprintf_r+0x100> 80d41c4: e011 b.n 80d41ea <_svfiprintf_r+0xf2> 80d41c6: 2b25 cmp r3, #37 ; 0x25 80d41c8: d0c0 beq.n 80d414c <_svfiprintf_r+0x54> 80d41ca: 4627 mov r7, r4 80d41cc: e7b9 b.n 80d4142 <_svfiprintf_r+0x4a> 80d41ce: 4a3f ldr r2, [pc, #252] ; (80d42cc <_svfiprintf_r+0x1d4>) 80d41d0: 1a80 subs r0, r0, r2 80d41d2: fa0b f000 lsl.w r0, fp, r0 80d41d6: 4318 orrs r0, r3 80d41d8: 9004 str r0, [sp, #16] 80d41da: 463c mov r4, r7 80d41dc: e7d3 b.n 80d4186 <_svfiprintf_r+0x8e> 80d41de: 9a03 ldr r2, [sp, #12] 80d41e0: 1d11 adds r1, r2, #4 80d41e2: 6812 ldr r2, [r2, #0] 80d41e4: 9103 str r1, [sp, #12] 80d41e6: 2a00 cmp r2, #0 80d41e8: db01 blt.n 80d41ee <_svfiprintf_r+0xf6> 80d41ea: 9207 str r2, [sp, #28] 80d41ec: e004 b.n 80d41f8 <_svfiprintf_r+0x100> 80d41ee: 4252 negs r2, r2 80d41f0: f043 0302 orr.w r3, r3, #2 80d41f4: 9207 str r2, [sp, #28] 80d41f6: 9304 str r3, [sp, #16] 80d41f8: 783b ldrb r3, [r7, #0] 80d41fa: 2b2e cmp r3, #46 ; 0x2e 80d41fc: d10e bne.n 80d421c <_svfiprintf_r+0x124> 80d41fe: 787b ldrb r3, [r7, #1] 80d4200: 2b2a cmp r3, #42 ; 0x2a 80d4202: f107 0101 add.w r1, r7, #1 80d4206: d132 bne.n 80d426e <_svfiprintf_r+0x176> 80d4208: 9b03 ldr r3, [sp, #12] 80d420a: 1d1a adds r2, r3, #4 80d420c: 681b ldr r3, [r3, #0] 80d420e: 9203 str r2, [sp, #12] 80d4210: 2b00 cmp r3, #0 80d4212: bfb8 it lt 80d4214: f04f 33ff movlt.w r3, #4294967295 80d4218: 3702 adds r7, #2 80d421a: 9305 str r3, [sp, #20] 80d421c: 4c2c ldr r4, [pc, #176] ; (80d42d0 <_svfiprintf_r+0x1d8>) 80d421e: 7839 ldrb r1, [r7, #0] 80d4220: 2203 movs r2, #3 80d4222: 4620 mov r0, r4 80d4224: f74c f884 bl 8020330 80d4228: b138 cbz r0, 80d423a <_svfiprintf_r+0x142> 80d422a: 2340 movs r3, #64 ; 0x40 80d422c: 1b00 subs r0, r0, r4 80d422e: fa03 f000 lsl.w r0, r3, r0 80d4232: 9b04 ldr r3, [sp, #16] 80d4234: 4303 orrs r3, r0 80d4236: 9304 str r3, [sp, #16] 80d4238: 3701 adds r7, #1 80d423a: 7839 ldrb r1, [r7, #0] 80d423c: 4825 ldr r0, [pc, #148] ; (80d42d4 <_svfiprintf_r+0x1dc>) 80d423e: f88d 1028 strb.w r1, [sp, #40] ; 0x28 80d4242: 2206 movs r2, #6 80d4244: 1c7e adds r6, r7, #1 80d4246: f74c f873 bl 8020330 80d424a: 2800 cmp r0, #0 80d424c: d035 beq.n 80d42ba <_svfiprintf_r+0x1c2> 80d424e: 4b22 ldr r3, [pc, #136] ; (80d42d8 <_svfiprintf_r+0x1e0>) 80d4250: b9fb cbnz r3, 80d4292 <_svfiprintf_r+0x19a> 80d4252: 9b03 ldr r3, [sp, #12] 80d4254: 3307 adds r3, #7 80d4256: f023 0307 bic.w r3, r3, #7 80d425a: 3308 adds r3, #8 80d425c: 9303 str r3, [sp, #12] 80d425e: 9b09 ldr r3, [sp, #36] ; 0x24 80d4260: 444b add r3, r9 80d4262: 9309 str r3, [sp, #36] ; 0x24 80d4264: e76c b.n 80d4140 <_svfiprintf_r+0x48> 80d4266: fb00 3202 mla r2, r0, r2, r3 80d426a: 2101 movs r1, #1 80d426c: e7a3 b.n 80d41b6 <_svfiprintf_r+0xbe> 80d426e: 2300 movs r3, #0 80d4270: 9305 str r3, [sp, #20] 80d4272: 4618 mov r0, r3 80d4274: 240a movs r4, #10 80d4276: 460f mov r7, r1 80d4278: 3101 adds r1, #1 80d427a: 783a ldrb r2, [r7, #0] 80d427c: 3a30 subs r2, #48 ; 0x30 80d427e: 2a09 cmp r2, #9 80d4280: d903 bls.n 80d428a <_svfiprintf_r+0x192> 80d4282: 2b00 cmp r3, #0 80d4284: d0ca beq.n 80d421c <_svfiprintf_r+0x124> 80d4286: 9005 str r0, [sp, #20] 80d4288: e7c8 b.n 80d421c <_svfiprintf_r+0x124> 80d428a: fb04 2000 mla r0, r4, r0, r2 80d428e: 2301 movs r3, #1 80d4290: e7f1 b.n 80d4276 <_svfiprintf_r+0x17e> 80d4292: ab03 add r3, sp, #12 80d4294: 9300 str r3, [sp, #0] 80d4296: 462a mov r2, r5 80d4298: 4b10 ldr r3, [pc, #64] ; (80d42dc <_svfiprintf_r+0x1e4>) 80d429a: a904 add r1, sp, #16 80d429c: 4640 mov r0, r8 80d429e: f3af 8000 nop.w 80d42a2: f1b0 3fff cmp.w r0, #4294967295 80d42a6: 4681 mov r9, r0 80d42a8: d1d9 bne.n 80d425e <_svfiprintf_r+0x166> 80d42aa: 89ab ldrh r3, [r5, #12] 80d42ac: 065b lsls r3, r3, #25 80d42ae: f53f af38 bmi.w 80d4122 <_svfiprintf_r+0x2a> 80d42b2: 9809 ldr r0, [sp, #36] ; 0x24 80d42b4: b01d add sp, #116 ; 0x74 80d42b6: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80d42ba: ab03 add r3, sp, #12 80d42bc: 9300 str r3, [sp, #0] 80d42be: 462a mov r2, r5 80d42c0: 4b06 ldr r3, [pc, #24] ; (80d42dc <_svfiprintf_r+0x1e4>) 80d42c2: a904 add r1, sp, #16 80d42c4: 4640 mov r0, r8 80d42c6: f000 f9c1 bl 80d464c <_printf_i> 80d42ca: e7ea b.n 80d42a2 <_svfiprintf_r+0x1aa> 80d42cc: 0818d4ac .word 0x0818d4ac 80d42d0: 0818d4b2 .word 0x0818d4b2 80d42d4: 0818d4b6 .word 0x0818d4b6 80d42d8: 00000000 .word 0x00000000 80d42dc: 080d4041 .word 0x080d4041 080d42e0 <__sfputc_r>: 80d42e0: 6893 ldr r3, [r2, #8] 80d42e2: 3b01 subs r3, #1 80d42e4: 2b00 cmp r3, #0 80d42e6: b410 push {r4} 80d42e8: 6093 str r3, [r2, #8] 80d42ea: da09 bge.n 80d4300 <__sfputc_r+0x20> 80d42ec: 6994 ldr r4, [r2, #24] 80d42ee: 42a3 cmp r3, r4 80d42f0: db02 blt.n 80d42f8 <__sfputc_r+0x18> 80d42f2: b2cb uxtb r3, r1 80d42f4: 2b0a cmp r3, #10 80d42f6: d103 bne.n 80d4300 <__sfputc_r+0x20> 80d42f8: f85d 4b04 ldr.w r4, [sp], #4 80d42fc: f000 bb22 b.w 80d4944 <__swbuf_r> 80d4300: 6813 ldr r3, [r2, #0] 80d4302: 1c58 adds r0, r3, #1 80d4304: 6010 str r0, [r2, #0] 80d4306: 7019 strb r1, [r3, #0] 80d4308: b2c8 uxtb r0, r1 80d430a: f85d 4b04 ldr.w r4, [sp], #4 80d430e: 4770 bx lr 080d4310 <__sfputs_r>: 80d4310: b5f8 push {r3, r4, r5, r6, r7, lr} 80d4312: 4606 mov r6, r0 80d4314: 460f mov r7, r1 80d4316: 4614 mov r4, r2 80d4318: 18d5 adds r5, r2, r3 80d431a: 42ac cmp r4, r5 80d431c: d101 bne.n 80d4322 <__sfputs_r+0x12> 80d431e: 2000 movs r0, #0 80d4320: e007 b.n 80d4332 <__sfputs_r+0x22> 80d4322: 463a mov r2, r7 80d4324: f814 1b01 ldrb.w r1, [r4], #1 80d4328: 4630 mov r0, r6 80d432a: f7ff ffd9 bl 80d42e0 <__sfputc_r> 80d432e: 1c43 adds r3, r0, #1 80d4330: d1f3 bne.n 80d431a <__sfputs_r+0xa> 80d4332: bdf8 pop {r3, r4, r5, r6, r7, pc} 080d4334 <_vfiprintf_r>: 80d4334: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80d4338: b09d sub sp, #116 ; 0x74 80d433a: 460c mov r4, r1 80d433c: 4617 mov r7, r2 80d433e: 9303 str r3, [sp, #12] 80d4340: 4606 mov r6, r0 80d4342: b118 cbz r0, 80d434c <_vfiprintf_r+0x18> 80d4344: 6983 ldr r3, [r0, #24] 80d4346: b90b cbnz r3, 80d434c <_vfiprintf_r+0x18> 80d4348: f7fe fec6 bl 80d30d8 <__sinit> 80d434c: 4b7c ldr r3, [pc, #496] ; (80d4540 <_vfiprintf_r+0x20c>) 80d434e: 429c cmp r4, r3 80d4350: d157 bne.n 80d4402 <_vfiprintf_r+0xce> 80d4352: 6874 ldr r4, [r6, #4] 80d4354: 89a3 ldrh r3, [r4, #12] 80d4356: 0718 lsls r0, r3, #28 80d4358: d55d bpl.n 80d4416 <_vfiprintf_r+0xe2> 80d435a: 6923 ldr r3, [r4, #16] 80d435c: 2b00 cmp r3, #0 80d435e: d05a beq.n 80d4416 <_vfiprintf_r+0xe2> 80d4360: 2300 movs r3, #0 80d4362: 9309 str r3, [sp, #36] ; 0x24 80d4364: 2320 movs r3, #32 80d4366: f88d 3029 strb.w r3, [sp, #41] ; 0x29 80d436a: 2330 movs r3, #48 ; 0x30 80d436c: f88d 302a strb.w r3, [sp, #42] ; 0x2a 80d4370: f04f 0b01 mov.w fp, #1 80d4374: 46b8 mov r8, r7 80d4376: 4645 mov r5, r8 80d4378: f815 3b01 ldrb.w r3, [r5], #1 80d437c: 2b00 cmp r3, #0 80d437e: d155 bne.n 80d442c <_vfiprintf_r+0xf8> 80d4380: ebb8 0a07 subs.w sl, r8, r7 80d4384: d00b beq.n 80d439e <_vfiprintf_r+0x6a> 80d4386: 4653 mov r3, sl 80d4388: 463a mov r2, r7 80d438a: 4621 mov r1, r4 80d438c: 4630 mov r0, r6 80d438e: f7ff ffbf bl 80d4310 <__sfputs_r> 80d4392: 3001 adds r0, #1 80d4394: f000 80c4 beq.w 80d4520 <_vfiprintf_r+0x1ec> 80d4398: 9b09 ldr r3, [sp, #36] ; 0x24 80d439a: 4453 add r3, sl 80d439c: 9309 str r3, [sp, #36] ; 0x24 80d439e: f898 3000 ldrb.w r3, [r8] 80d43a2: 2b00 cmp r3, #0 80d43a4: f000 80bc beq.w 80d4520 <_vfiprintf_r+0x1ec> 80d43a8: 2300 movs r3, #0 80d43aa: f04f 32ff mov.w r2, #4294967295 80d43ae: 9304 str r3, [sp, #16] 80d43b0: 9307 str r3, [sp, #28] 80d43b2: 9205 str r2, [sp, #20] 80d43b4: 9306 str r3, [sp, #24] 80d43b6: f88d 3053 strb.w r3, [sp, #83] ; 0x53 80d43ba: 931a str r3, [sp, #104] ; 0x68 80d43bc: 2205 movs r2, #5 80d43be: 7829 ldrb r1, [r5, #0] 80d43c0: 4860 ldr r0, [pc, #384] ; (80d4544 <_vfiprintf_r+0x210>) 80d43c2: f74b ffb5 bl 8020330 80d43c6: f105 0801 add.w r8, r5, #1 80d43ca: 9b04 ldr r3, [sp, #16] 80d43cc: 2800 cmp r0, #0 80d43ce: d131 bne.n 80d4434 <_vfiprintf_r+0x100> 80d43d0: 06d9 lsls r1, r3, #27 80d43d2: bf44 itt mi 80d43d4: 2220 movmi r2, #32 80d43d6: f88d 2053 strbmi.w r2, [sp, #83] ; 0x53 80d43da: 071a lsls r2, r3, #28 80d43dc: bf44 itt mi 80d43de: 222b movmi r2, #43 ; 0x2b 80d43e0: f88d 2053 strbmi.w r2, [sp, #83] ; 0x53 80d43e4: 782a ldrb r2, [r5, #0] 80d43e6: 2a2a cmp r2, #42 ; 0x2a 80d43e8: d02c beq.n 80d4444 <_vfiprintf_r+0x110> 80d43ea: 9a07 ldr r2, [sp, #28] 80d43ec: 2100 movs r1, #0 80d43ee: 200a movs r0, #10 80d43f0: 46a8 mov r8, r5 80d43f2: 3501 adds r5, #1 80d43f4: f898 3000 ldrb.w r3, [r8] 80d43f8: 3b30 subs r3, #48 ; 0x30 80d43fa: 2b09 cmp r3, #9 80d43fc: d96d bls.n 80d44da <_vfiprintf_r+0x1a6> 80d43fe: b371 cbz r1, 80d445e <_vfiprintf_r+0x12a> 80d4400: e026 b.n 80d4450 <_vfiprintf_r+0x11c> 80d4402: 4b51 ldr r3, [pc, #324] ; (80d4548 <_vfiprintf_r+0x214>) 80d4404: 429c cmp r4, r3 80d4406: d101 bne.n 80d440c <_vfiprintf_r+0xd8> 80d4408: 68b4 ldr r4, [r6, #8] 80d440a: e7a3 b.n 80d4354 <_vfiprintf_r+0x20> 80d440c: 4b4f ldr r3, [pc, #316] ; (80d454c <_vfiprintf_r+0x218>) 80d440e: 429c cmp r4, r3 80d4410: bf08 it eq 80d4412: 68f4 ldreq r4, [r6, #12] 80d4414: e79e b.n 80d4354 <_vfiprintf_r+0x20> 80d4416: 4621 mov r1, r4 80d4418: 4630 mov r0, r6 80d441a: f000 fb05 bl 80d4a28 <__swsetup_r> 80d441e: 2800 cmp r0, #0 80d4420: d09e beq.n 80d4360 <_vfiprintf_r+0x2c> 80d4422: f04f 30ff mov.w r0, #4294967295 80d4426: b01d add sp, #116 ; 0x74 80d4428: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80d442c: 2b25 cmp r3, #37 ; 0x25 80d442e: d0a7 beq.n 80d4380 <_vfiprintf_r+0x4c> 80d4430: 46a8 mov r8, r5 80d4432: e7a0 b.n 80d4376 <_vfiprintf_r+0x42> 80d4434: 4a43 ldr r2, [pc, #268] ; (80d4544 <_vfiprintf_r+0x210>) 80d4436: 1a80 subs r0, r0, r2 80d4438: fa0b f000 lsl.w r0, fp, r0 80d443c: 4318 orrs r0, r3 80d443e: 9004 str r0, [sp, #16] 80d4440: 4645 mov r5, r8 80d4442: e7bb b.n 80d43bc <_vfiprintf_r+0x88> 80d4444: 9a03 ldr r2, [sp, #12] 80d4446: 1d11 adds r1, r2, #4 80d4448: 6812 ldr r2, [r2, #0] 80d444a: 9103 str r1, [sp, #12] 80d444c: 2a00 cmp r2, #0 80d444e: db01 blt.n 80d4454 <_vfiprintf_r+0x120> 80d4450: 9207 str r2, [sp, #28] 80d4452: e004 b.n 80d445e <_vfiprintf_r+0x12a> 80d4454: 4252 negs r2, r2 80d4456: f043 0302 orr.w r3, r3, #2 80d445a: 9207 str r2, [sp, #28] 80d445c: 9304 str r3, [sp, #16] 80d445e: f898 3000 ldrb.w r3, [r8] 80d4462: 2b2e cmp r3, #46 ; 0x2e 80d4464: d110 bne.n 80d4488 <_vfiprintf_r+0x154> 80d4466: f898 3001 ldrb.w r3, [r8, #1] 80d446a: 2b2a cmp r3, #42 ; 0x2a 80d446c: f108 0101 add.w r1, r8, #1 80d4470: d137 bne.n 80d44e2 <_vfiprintf_r+0x1ae> 80d4472: 9b03 ldr r3, [sp, #12] 80d4474: 1d1a adds r2, r3, #4 80d4476: 681b ldr r3, [r3, #0] 80d4478: 9203 str r2, [sp, #12] 80d447a: 2b00 cmp r3, #0 80d447c: bfb8 it lt 80d447e: f04f 33ff movlt.w r3, #4294967295 80d4482: f108 0802 add.w r8, r8, #2 80d4486: 9305 str r3, [sp, #20] 80d4488: 4d31 ldr r5, [pc, #196] ; (80d4550 <_vfiprintf_r+0x21c>) 80d448a: f898 1000 ldrb.w r1, [r8] 80d448e: 2203 movs r2, #3 80d4490: 4628 mov r0, r5 80d4492: f74b ff4d bl 8020330 80d4496: b140 cbz r0, 80d44aa <_vfiprintf_r+0x176> 80d4498: 2340 movs r3, #64 ; 0x40 80d449a: 1b40 subs r0, r0, r5 80d449c: fa03 f000 lsl.w r0, r3, r0 80d44a0: 9b04 ldr r3, [sp, #16] 80d44a2: 4303 orrs r3, r0 80d44a4: 9304 str r3, [sp, #16] 80d44a6: f108 0801 add.w r8, r8, #1 80d44aa: f898 1000 ldrb.w r1, [r8] 80d44ae: 4829 ldr r0, [pc, #164] ; (80d4554 <_vfiprintf_r+0x220>) 80d44b0: f88d 1028 strb.w r1, [sp, #40] ; 0x28 80d44b4: 2206 movs r2, #6 80d44b6: f108 0701 add.w r7, r8, #1 80d44ba: f74b ff39 bl 8020330 80d44be: 2800 cmp r0, #0 80d44c0: d034 beq.n 80d452c <_vfiprintf_r+0x1f8> 80d44c2: 4b25 ldr r3, [pc, #148] ; (80d4558 <_vfiprintf_r+0x224>) 80d44c4: bb03 cbnz r3, 80d4508 <_vfiprintf_r+0x1d4> 80d44c6: 9b03 ldr r3, [sp, #12] 80d44c8: 3307 adds r3, #7 80d44ca: f023 0307 bic.w r3, r3, #7 80d44ce: 3308 adds r3, #8 80d44d0: 9303 str r3, [sp, #12] 80d44d2: 9b09 ldr r3, [sp, #36] ; 0x24 80d44d4: 444b add r3, r9 80d44d6: 9309 str r3, [sp, #36] ; 0x24 80d44d8: e74c b.n 80d4374 <_vfiprintf_r+0x40> 80d44da: fb00 3202 mla r2, r0, r2, r3 80d44de: 2101 movs r1, #1 80d44e0: e786 b.n 80d43f0 <_vfiprintf_r+0xbc> 80d44e2: 2300 movs r3, #0 80d44e4: 9305 str r3, [sp, #20] 80d44e6: 4618 mov r0, r3 80d44e8: 250a movs r5, #10 80d44ea: 4688 mov r8, r1 80d44ec: 3101 adds r1, #1 80d44ee: f898 2000 ldrb.w r2, [r8] 80d44f2: 3a30 subs r2, #48 ; 0x30 80d44f4: 2a09 cmp r2, #9 80d44f6: d903 bls.n 80d4500 <_vfiprintf_r+0x1cc> 80d44f8: 2b00 cmp r3, #0 80d44fa: d0c5 beq.n 80d4488 <_vfiprintf_r+0x154> 80d44fc: 9005 str r0, [sp, #20] 80d44fe: e7c3 b.n 80d4488 <_vfiprintf_r+0x154> 80d4500: fb05 2000 mla r0, r5, r0, r2 80d4504: 2301 movs r3, #1 80d4506: e7f0 b.n 80d44ea <_vfiprintf_r+0x1b6> 80d4508: ab03 add r3, sp, #12 80d450a: 9300 str r3, [sp, #0] 80d450c: 4622 mov r2, r4 80d450e: 4b13 ldr r3, [pc, #76] ; (80d455c <_vfiprintf_r+0x228>) 80d4510: a904 add r1, sp, #16 80d4512: 4630 mov r0, r6 80d4514: f3af 8000 nop.w 80d4518: f1b0 3fff cmp.w r0, #4294967295 80d451c: 4681 mov r9, r0 80d451e: d1d8 bne.n 80d44d2 <_vfiprintf_r+0x19e> 80d4520: 89a3 ldrh r3, [r4, #12] 80d4522: 065b lsls r3, r3, #25 80d4524: f53f af7d bmi.w 80d4422 <_vfiprintf_r+0xee> 80d4528: 9809 ldr r0, [sp, #36] ; 0x24 80d452a: e77c b.n 80d4426 <_vfiprintf_r+0xf2> 80d452c: ab03 add r3, sp, #12 80d452e: 9300 str r3, [sp, #0] 80d4530: 4622 mov r2, r4 80d4532: 4b0a ldr r3, [pc, #40] ; (80d455c <_vfiprintf_r+0x228>) 80d4534: a904 add r1, sp, #16 80d4536: 4630 mov r0, r6 80d4538: f000 f888 bl 80d464c <_printf_i> 80d453c: e7ec b.n 80d4518 <_vfiprintf_r+0x1e4> 80d453e: bf00 nop 80d4540: 0818d360 .word 0x0818d360 80d4544: 0818d4ac .word 0x0818d4ac 80d4548: 0818d380 .word 0x0818d380 80d454c: 0818d340 .word 0x0818d340 80d4550: 0818d4b2 .word 0x0818d4b2 80d4554: 0818d4b6 .word 0x0818d4b6 80d4558: 00000000 .word 0x00000000 80d455c: 080d4311 .word 0x080d4311 080d4560 <_printf_common>: 80d4560: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 80d4564: 4691 mov r9, r2 80d4566: 461f mov r7, r3 80d4568: 688a ldr r2, [r1, #8] 80d456a: 690b ldr r3, [r1, #16] 80d456c: f8dd 8020 ldr.w r8, [sp, #32] 80d4570: 4293 cmp r3, r2 80d4572: bfb8 it lt 80d4574: 4613 movlt r3, r2 80d4576: f8c9 3000 str.w r3, [r9] 80d457a: f891 2043 ldrb.w r2, [r1, #67] ; 0x43 80d457e: 4606 mov r6, r0 80d4580: 460c mov r4, r1 80d4582: b112 cbz r2, 80d458a <_printf_common+0x2a> 80d4584: 3301 adds r3, #1 80d4586: f8c9 3000 str.w r3, [r9] 80d458a: 6823 ldr r3, [r4, #0] 80d458c: 0699 lsls r1, r3, #26 80d458e: bf42 ittt mi 80d4590: f8d9 3000 ldrmi.w r3, [r9] 80d4594: 3302 addmi r3, #2 80d4596: f8c9 3000 strmi.w r3, [r9] 80d459a: 6825 ldr r5, [r4, #0] 80d459c: f015 0506 ands.w r5, r5, #6 80d45a0: d107 bne.n 80d45b2 <_printf_common+0x52> 80d45a2: f104 0a19 add.w sl, r4, #25 80d45a6: 68e3 ldr r3, [r4, #12] 80d45a8: f8d9 2000 ldr.w r2, [r9] 80d45ac: 1a9b subs r3, r3, r2 80d45ae: 429d cmp r5, r3 80d45b0: db29 blt.n 80d4606 <_printf_common+0xa6> 80d45b2: f894 3043 ldrb.w r3, [r4, #67] ; 0x43 80d45b6: 6822 ldr r2, [r4, #0] 80d45b8: 3300 adds r3, #0 80d45ba: bf18 it ne 80d45bc: 2301 movne r3, #1 80d45be: 0692 lsls r2, r2, #26 80d45c0: d42e bmi.n 80d4620 <_printf_common+0xc0> 80d45c2: f104 0243 add.w r2, r4, #67 ; 0x43 80d45c6: 4639 mov r1, r7 80d45c8: 4630 mov r0, r6 80d45ca: 47c0 blx r8 80d45cc: 3001 adds r0, #1 80d45ce: d021 beq.n 80d4614 <_printf_common+0xb4> 80d45d0: 6823 ldr r3, [r4, #0] 80d45d2: 68e5 ldr r5, [r4, #12] 80d45d4: f8d9 2000 ldr.w r2, [r9] 80d45d8: f003 0306 and.w r3, r3, #6 80d45dc: 2b04 cmp r3, #4 80d45de: bf08 it eq 80d45e0: 1aad subeq r5, r5, r2 80d45e2: 68a3 ldr r3, [r4, #8] 80d45e4: 6922 ldr r2, [r4, #16] 80d45e6: bf0c ite eq 80d45e8: ea25 75e5 biceq.w r5, r5, r5, asr #31 80d45ec: 2500 movne r5, #0 80d45ee: 4293 cmp r3, r2 80d45f0: bfc4 itt gt 80d45f2: 1a9b subgt r3, r3, r2 80d45f4: 18ed addgt r5, r5, r3 80d45f6: f04f 0900 mov.w r9, #0 80d45fa: 341a adds r4, #26 80d45fc: 454d cmp r5, r9 80d45fe: d11b bne.n 80d4638 <_printf_common+0xd8> 80d4600: 2000 movs r0, #0 80d4602: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80d4606: 2301 movs r3, #1 80d4608: 4652 mov r2, sl 80d460a: 4639 mov r1, r7 80d460c: 4630 mov r0, r6 80d460e: 47c0 blx r8 80d4610: 3001 adds r0, #1 80d4612: d103 bne.n 80d461c <_printf_common+0xbc> 80d4614: f04f 30ff mov.w r0, #4294967295 80d4618: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80d461c: 3501 adds r5, #1 80d461e: e7c2 b.n 80d45a6 <_printf_common+0x46> 80d4620: 18e1 adds r1, r4, r3 80d4622: 1c5a adds r2, r3, #1 80d4624: 2030 movs r0, #48 ; 0x30 80d4626: f881 0043 strb.w r0, [r1, #67] ; 0x43 80d462a: 4422 add r2, r4 80d462c: f894 1045 ldrb.w r1, [r4, #69] ; 0x45 80d4630: f882 1043 strb.w r1, [r2, #67] ; 0x43 80d4634: 3302 adds r3, #2 80d4636: e7c4 b.n 80d45c2 <_printf_common+0x62> 80d4638: 2301 movs r3, #1 80d463a: 4622 mov r2, r4 80d463c: 4639 mov r1, r7 80d463e: 4630 mov r0, r6 80d4640: 47c0 blx r8 80d4642: 3001 adds r0, #1 80d4644: d0e6 beq.n 80d4614 <_printf_common+0xb4> 80d4646: f109 0901 add.w r9, r9, #1 80d464a: e7d7 b.n 80d45fc <_printf_common+0x9c> 080d464c <_printf_i>: 80d464c: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 80d4650: 4617 mov r7, r2 80d4652: 7e0a ldrb r2, [r1, #24] 80d4654: b085 sub sp, #20 80d4656: 2a6e cmp r2, #110 ; 0x6e 80d4658: 4698 mov r8, r3 80d465a: 4606 mov r6, r0 80d465c: 460c mov r4, r1 80d465e: 9b0c ldr r3, [sp, #48] ; 0x30 80d4660: f101 0e43 add.w lr, r1, #67 ; 0x43 80d4664: f000 80bc beq.w 80d47e0 <_printf_i+0x194> 80d4668: d81a bhi.n 80d46a0 <_printf_i+0x54> 80d466a: 2a63 cmp r2, #99 ; 0x63 80d466c: d02e beq.n 80d46cc <_printf_i+0x80> 80d466e: d80a bhi.n 80d4686 <_printf_i+0x3a> 80d4670: 2a00 cmp r2, #0 80d4672: f000 80c8 beq.w 80d4806 <_printf_i+0x1ba> 80d4676: 2a58 cmp r2, #88 ; 0x58 80d4678: f000 808a beq.w 80d4790 <_printf_i+0x144> 80d467c: f104 0542 add.w r5, r4, #66 ; 0x42 80d4680: f884 2042 strb.w r2, [r4, #66] ; 0x42 80d4684: e02a b.n 80d46dc <_printf_i+0x90> 80d4686: 2a64 cmp r2, #100 ; 0x64 80d4688: d001 beq.n 80d468e <_printf_i+0x42> 80d468a: 2a69 cmp r2, #105 ; 0x69 80d468c: d1f6 bne.n 80d467c <_printf_i+0x30> 80d468e: 6821 ldr r1, [r4, #0] 80d4690: 681a ldr r2, [r3, #0] 80d4692: f011 0f80 tst.w r1, #128 ; 0x80 80d4696: d023 beq.n 80d46e0 <_printf_i+0x94> 80d4698: 1d11 adds r1, r2, #4 80d469a: 6019 str r1, [r3, #0] 80d469c: 6813 ldr r3, [r2, #0] 80d469e: e027 b.n 80d46f0 <_printf_i+0xa4> 80d46a0: 2a73 cmp r2, #115 ; 0x73 80d46a2: f000 80b4 beq.w 80d480e <_printf_i+0x1c2> 80d46a6: d808 bhi.n 80d46ba <_printf_i+0x6e> 80d46a8: 2a6f cmp r2, #111 ; 0x6f 80d46aa: d02a beq.n 80d4702 <_printf_i+0xb6> 80d46ac: 2a70 cmp r2, #112 ; 0x70 80d46ae: d1e5 bne.n 80d467c <_printf_i+0x30> 80d46b0: 680a ldr r2, [r1, #0] 80d46b2: f042 0220 orr.w r2, r2, #32 80d46b6: 600a str r2, [r1, #0] 80d46b8: e003 b.n 80d46c2 <_printf_i+0x76> 80d46ba: 2a75 cmp r2, #117 ; 0x75 80d46bc: d021 beq.n 80d4702 <_printf_i+0xb6> 80d46be: 2a78 cmp r2, #120 ; 0x78 80d46c0: d1dc bne.n 80d467c <_printf_i+0x30> 80d46c2: 2278 movs r2, #120 ; 0x78 80d46c4: f884 2045 strb.w r2, [r4, #69] ; 0x45 80d46c8: 496e ldr r1, [pc, #440] ; (80d4884 <_printf_i+0x238>) 80d46ca: e064 b.n 80d4796 <_printf_i+0x14a> 80d46cc: 681a ldr r2, [r3, #0] 80d46ce: f101 0542 add.w r5, r1, #66 ; 0x42 80d46d2: 1d11 adds r1, r2, #4 80d46d4: 6019 str r1, [r3, #0] 80d46d6: 6813 ldr r3, [r2, #0] 80d46d8: f884 3042 strb.w r3, [r4, #66] ; 0x42 80d46dc: 2301 movs r3, #1 80d46de: e0a3 b.n 80d4828 <_printf_i+0x1dc> 80d46e0: f011 0f40 tst.w r1, #64 ; 0x40 80d46e4: f102 0104 add.w r1, r2, #4 80d46e8: 6019 str r1, [r3, #0] 80d46ea: d0d7 beq.n 80d469c <_printf_i+0x50> 80d46ec: f9b2 3000 ldrsh.w r3, [r2] 80d46f0: 2b00 cmp r3, #0 80d46f2: da03 bge.n 80d46fc <_printf_i+0xb0> 80d46f4: 222d movs r2, #45 ; 0x2d 80d46f6: 425b negs r3, r3 80d46f8: f884 2043 strb.w r2, [r4, #67] ; 0x43 80d46fc: 4962 ldr r1, [pc, #392] ; (80d4888 <_printf_i+0x23c>) 80d46fe: 220a movs r2, #10 80d4700: e017 b.n 80d4732 <_printf_i+0xe6> 80d4702: 6820 ldr r0, [r4, #0] 80d4704: 6819 ldr r1, [r3, #0] 80d4706: f010 0f80 tst.w r0, #128 ; 0x80 80d470a: d003 beq.n 80d4714 <_printf_i+0xc8> 80d470c: 1d08 adds r0, r1, #4 80d470e: 6018 str r0, [r3, #0] 80d4710: 680b ldr r3, [r1, #0] 80d4712: e006 b.n 80d4722 <_printf_i+0xd6> 80d4714: f010 0f40 tst.w r0, #64 ; 0x40 80d4718: f101 0004 add.w r0, r1, #4 80d471c: 6018 str r0, [r3, #0] 80d471e: d0f7 beq.n 80d4710 <_printf_i+0xc4> 80d4720: 880b ldrh r3, [r1, #0] 80d4722: 4959 ldr r1, [pc, #356] ; (80d4888 <_printf_i+0x23c>) 80d4724: 2a6f cmp r2, #111 ; 0x6f 80d4726: bf14 ite ne 80d4728: 220a movne r2, #10 80d472a: 2208 moveq r2, #8 80d472c: 2000 movs r0, #0 80d472e: f884 0043 strb.w r0, [r4, #67] ; 0x43 80d4732: 6865 ldr r5, [r4, #4] 80d4734: 60a5 str r5, [r4, #8] 80d4736: 2d00 cmp r5, #0 80d4738: f2c0 809c blt.w 80d4874 <_printf_i+0x228> 80d473c: 6820 ldr r0, [r4, #0] 80d473e: f020 0004 bic.w r0, r0, #4 80d4742: 6020 str r0, [r4, #0] 80d4744: 2b00 cmp r3, #0 80d4746: d13f bne.n 80d47c8 <_printf_i+0x17c> 80d4748: 2d00 cmp r5, #0 80d474a: f040 8095 bne.w 80d4878 <_printf_i+0x22c> 80d474e: 4675 mov r5, lr 80d4750: 2a08 cmp r2, #8 80d4752: d10b bne.n 80d476c <_printf_i+0x120> 80d4754: 6823 ldr r3, [r4, #0] 80d4756: 07da lsls r2, r3, #31 80d4758: d508 bpl.n 80d476c <_printf_i+0x120> 80d475a: 6923 ldr r3, [r4, #16] 80d475c: 6862 ldr r2, [r4, #4] 80d475e: 429a cmp r2, r3 80d4760: bfde ittt le 80d4762: 2330 movle r3, #48 ; 0x30 80d4764: f805 3c01 strble.w r3, [r5, #-1] 80d4768: f105 35ff addle.w r5, r5, #4294967295 80d476c: ebae 0305 sub.w r3, lr, r5 80d4770: 6123 str r3, [r4, #16] 80d4772: f8cd 8000 str.w r8, [sp] 80d4776: 463b mov r3, r7 80d4778: aa03 add r2, sp, #12 80d477a: 4621 mov r1, r4 80d477c: 4630 mov r0, r6 80d477e: f7ff feef bl 80d4560 <_printf_common> 80d4782: 3001 adds r0, #1 80d4784: d155 bne.n 80d4832 <_printf_i+0x1e6> 80d4786: f04f 30ff mov.w r0, #4294967295 80d478a: b005 add sp, #20 80d478c: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 80d4790: f881 2045 strb.w r2, [r1, #69] ; 0x45 80d4794: 493c ldr r1, [pc, #240] ; (80d4888 <_printf_i+0x23c>) 80d4796: 6822 ldr r2, [r4, #0] 80d4798: 6818 ldr r0, [r3, #0] 80d479a: f012 0f80 tst.w r2, #128 ; 0x80 80d479e: f100 0504 add.w r5, r0, #4 80d47a2: 601d str r5, [r3, #0] 80d47a4: d001 beq.n 80d47aa <_printf_i+0x15e> 80d47a6: 6803 ldr r3, [r0, #0] 80d47a8: e002 b.n 80d47b0 <_printf_i+0x164> 80d47aa: 0655 lsls r5, r2, #25 80d47ac: d5fb bpl.n 80d47a6 <_printf_i+0x15a> 80d47ae: 8803 ldrh r3, [r0, #0] 80d47b0: 07d0 lsls r0, r2, #31 80d47b2: bf44 itt mi 80d47b4: f042 0220 orrmi.w r2, r2, #32 80d47b8: 6022 strmi r2, [r4, #0] 80d47ba: b91b cbnz r3, 80d47c4 <_printf_i+0x178> 80d47bc: 6822 ldr r2, [r4, #0] 80d47be: f022 0220 bic.w r2, r2, #32 80d47c2: 6022 str r2, [r4, #0] 80d47c4: 2210 movs r2, #16 80d47c6: e7b1 b.n 80d472c <_printf_i+0xe0> 80d47c8: 4675 mov r5, lr 80d47ca: fbb3 f0f2 udiv r0, r3, r2 80d47ce: fb02 3310 mls r3, r2, r0, r3 80d47d2: 5ccb ldrb r3, [r1, r3] 80d47d4: f805 3d01 strb.w r3, [r5, #-1]! 80d47d8: 4603 mov r3, r0 80d47da: 2800 cmp r0, #0 80d47dc: d1f5 bne.n 80d47ca <_printf_i+0x17e> 80d47de: e7b7 b.n 80d4750 <_printf_i+0x104> 80d47e0: 6808 ldr r0, [r1, #0] 80d47e2: 681a ldr r2, [r3, #0] 80d47e4: 6949 ldr r1, [r1, #20] 80d47e6: f010 0f80 tst.w r0, #128 ; 0x80 80d47ea: d004 beq.n 80d47f6 <_printf_i+0x1aa> 80d47ec: 1d10 adds r0, r2, #4 80d47ee: 6018 str r0, [r3, #0] 80d47f0: 6813 ldr r3, [r2, #0] 80d47f2: 6019 str r1, [r3, #0] 80d47f4: e007 b.n 80d4806 <_printf_i+0x1ba> 80d47f6: f010 0f40 tst.w r0, #64 ; 0x40 80d47fa: f102 0004 add.w r0, r2, #4 80d47fe: 6018 str r0, [r3, #0] 80d4800: 6813 ldr r3, [r2, #0] 80d4802: d0f6 beq.n 80d47f2 <_printf_i+0x1a6> 80d4804: 8019 strh r1, [r3, #0] 80d4806: 2300 movs r3, #0 80d4808: 6123 str r3, [r4, #16] 80d480a: 4675 mov r5, lr 80d480c: e7b1 b.n 80d4772 <_printf_i+0x126> 80d480e: 681a ldr r2, [r3, #0] 80d4810: 1d11 adds r1, r2, #4 80d4812: 6019 str r1, [r3, #0] 80d4814: 6815 ldr r5, [r2, #0] 80d4816: 6862 ldr r2, [r4, #4] 80d4818: 2100 movs r1, #0 80d481a: 4628 mov r0, r5 80d481c: f74b fd88 bl 8020330 80d4820: b108 cbz r0, 80d4826 <_printf_i+0x1da> 80d4822: 1b40 subs r0, r0, r5 80d4824: 6060 str r0, [r4, #4] 80d4826: 6863 ldr r3, [r4, #4] 80d4828: 6123 str r3, [r4, #16] 80d482a: 2300 movs r3, #0 80d482c: f884 3043 strb.w r3, [r4, #67] ; 0x43 80d4830: e79f b.n 80d4772 <_printf_i+0x126> 80d4832: 6923 ldr r3, [r4, #16] 80d4834: 462a mov r2, r5 80d4836: 4639 mov r1, r7 80d4838: 4630 mov r0, r6 80d483a: 47c0 blx r8 80d483c: 3001 adds r0, #1 80d483e: d0a2 beq.n 80d4786 <_printf_i+0x13a> 80d4840: 6823 ldr r3, [r4, #0] 80d4842: 079b lsls r3, r3, #30 80d4844: d507 bpl.n 80d4856 <_printf_i+0x20a> 80d4846: 2500 movs r5, #0 80d4848: f104 0919 add.w r9, r4, #25 80d484c: 68e3 ldr r3, [r4, #12] 80d484e: 9a03 ldr r2, [sp, #12] 80d4850: 1a9b subs r3, r3, r2 80d4852: 429d cmp r5, r3 80d4854: db05 blt.n 80d4862 <_printf_i+0x216> 80d4856: 68e0 ldr r0, [r4, #12] 80d4858: 9b03 ldr r3, [sp, #12] 80d485a: 4298 cmp r0, r3 80d485c: bfb8 it lt 80d485e: 4618 movlt r0, r3 80d4860: e793 b.n 80d478a <_printf_i+0x13e> 80d4862: 2301 movs r3, #1 80d4864: 464a mov r2, r9 80d4866: 4639 mov r1, r7 80d4868: 4630 mov r0, r6 80d486a: 47c0 blx r8 80d486c: 3001 adds r0, #1 80d486e: d08a beq.n 80d4786 <_printf_i+0x13a> 80d4870: 3501 adds r5, #1 80d4872: e7eb b.n 80d484c <_printf_i+0x200> 80d4874: 2b00 cmp r3, #0 80d4876: d1a7 bne.n 80d47c8 <_printf_i+0x17c> 80d4878: 780b ldrb r3, [r1, #0] 80d487a: f884 3042 strb.w r3, [r4, #66] ; 0x42 80d487e: f104 0542 add.w r5, r4, #66 ; 0x42 80d4882: e765 b.n 80d4750 <_printf_i+0x104> 80d4884: 0818d4ce .word 0x0818d4ce 80d4888: 0818d4bd .word 0x0818d4bd 080d488c : 80d488c: ed9f 0a01 vldr s0, [pc, #4] ; 80d4894 80d4890: 4770 bx lr 80d4892: bf00 nop 80d4894: 7fc00000 .word 0x7fc00000 080d4898 <__sread>: 80d4898: b510 push {r4, lr} 80d489a: 460c mov r4, r1 80d489c: f9b1 100e ldrsh.w r1, [r1, #14] 80d48a0: f000 faa8 bl 80d4df4 <_read_r> 80d48a4: 2800 cmp r0, #0 80d48a6: bfab itete ge 80d48a8: 6d63 ldrge r3, [r4, #84] ; 0x54 80d48aa: 89a3 ldrhlt r3, [r4, #12] 80d48ac: 181b addge r3, r3, r0 80d48ae: f423 5380 biclt.w r3, r3, #4096 ; 0x1000 80d48b2: bfac ite ge 80d48b4: 6563 strge r3, [r4, #84] ; 0x54 80d48b6: 81a3 strhlt r3, [r4, #12] 80d48b8: bd10 pop {r4, pc} 080d48ba <__swrite>: 80d48ba: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80d48be: 461f mov r7, r3 80d48c0: 898b ldrh r3, [r1, #12] 80d48c2: 05db lsls r3, r3, #23 80d48c4: 4605 mov r5, r0 80d48c6: 460c mov r4, r1 80d48c8: 4616 mov r6, r2 80d48ca: d505 bpl.n 80d48d8 <__swrite+0x1e> 80d48cc: 2302 movs r3, #2 80d48ce: 2200 movs r2, #0 80d48d0: f9b1 100e ldrsh.w r1, [r1, #14] 80d48d4: f000 f9d8 bl 80d4c88 <_lseek_r> 80d48d8: 89a3 ldrh r3, [r4, #12] 80d48da: f9b4 100e ldrsh.w r1, [r4, #14] 80d48de: f423 5380 bic.w r3, r3, #4096 ; 0x1000 80d48e2: 81a3 strh r3, [r4, #12] 80d48e4: 4632 mov r2, r6 80d48e6: 463b mov r3, r7 80d48e8: 4628 mov r0, r5 80d48ea: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} 80d48ee: f000 b889 b.w 80d4a04 <_write_r> 080d48f2 <__sseek>: 80d48f2: b510 push {r4, lr} 80d48f4: 460c mov r4, r1 80d48f6: f9b1 100e ldrsh.w r1, [r1, #14] 80d48fa: f000 f9c5 bl 80d4c88 <_lseek_r> 80d48fe: 1c43 adds r3, r0, #1 80d4900: 89a3 ldrh r3, [r4, #12] 80d4902: bf15 itete ne 80d4904: 6560 strne r0, [r4, #84] ; 0x54 80d4906: f423 5380 biceq.w r3, r3, #4096 ; 0x1000 80d490a: f443 5380 orrne.w r3, r3, #4096 ; 0x1000 80d490e: 81a3 strheq r3, [r4, #12] 80d4910: bf18 it ne 80d4912: 81a3 strhne r3, [r4, #12] 80d4914: bd10 pop {r4, pc} 080d4916 <__sclose>: 80d4916: f9b1 100e ldrsh.w r1, [r1, #14] 80d491a: f000 b8f3 b.w 80d4b04 <_close_r> 080d491e : 80d491e: b510 push {r4, lr} 80d4920: b16a cbz r2, 80d493e 80d4922: 3901 subs r1, #1 80d4924: 1884 adds r4, r0, r2 80d4926: f810 3b01 ldrb.w r3, [r0], #1 80d492a: f811 2f01 ldrb.w r2, [r1, #1]! 80d492e: 4293 cmp r3, r2 80d4930: d103 bne.n 80d493a 80d4932: 42a0 cmp r0, r4 80d4934: d001 beq.n 80d493a 80d4936: 2b00 cmp r3, #0 80d4938: d1f5 bne.n 80d4926 80d493a: 1a98 subs r0, r3, r2 80d493c: bd10 pop {r4, pc} 80d493e: 4610 mov r0, r2 80d4940: bd10 pop {r4, pc} ... 080d4944 <__swbuf_r>: 80d4944: b5f8 push {r3, r4, r5, r6, r7, lr} 80d4946: 460e mov r6, r1 80d4948: 4614 mov r4, r2 80d494a: 4605 mov r5, r0 80d494c: b118 cbz r0, 80d4956 <__swbuf_r+0x12> 80d494e: 6983 ldr r3, [r0, #24] 80d4950: b90b cbnz r3, 80d4956 <__swbuf_r+0x12> 80d4952: f7fe fbc1 bl 80d30d8 <__sinit> 80d4956: 4b21 ldr r3, [pc, #132] ; (80d49dc <__swbuf_r+0x98>) 80d4958: 429c cmp r4, r3 80d495a: d12a bne.n 80d49b2 <__swbuf_r+0x6e> 80d495c: 686c ldr r4, [r5, #4] 80d495e: 69a3 ldr r3, [r4, #24] 80d4960: 60a3 str r3, [r4, #8] 80d4962: 89a3 ldrh r3, [r4, #12] 80d4964: 071a lsls r2, r3, #28 80d4966: d52e bpl.n 80d49c6 <__swbuf_r+0x82> 80d4968: 6923 ldr r3, [r4, #16] 80d496a: b363 cbz r3, 80d49c6 <__swbuf_r+0x82> 80d496c: 6923 ldr r3, [r4, #16] 80d496e: 6820 ldr r0, [r4, #0] 80d4970: 1ac0 subs r0, r0, r3 80d4972: 6963 ldr r3, [r4, #20] 80d4974: b2f6 uxtb r6, r6 80d4976: 4298 cmp r0, r3 80d4978: 4637 mov r7, r6 80d497a: db04 blt.n 80d4986 <__swbuf_r+0x42> 80d497c: 4621 mov r1, r4 80d497e: 4628 mov r0, r5 80d4980: f000 f958 bl 80d4c34 <_fflush_r> 80d4984: bb28 cbnz r0, 80d49d2 <__swbuf_r+0x8e> 80d4986: 68a3 ldr r3, [r4, #8] 80d4988: 3b01 subs r3, #1 80d498a: 60a3 str r3, [r4, #8] 80d498c: 6823 ldr r3, [r4, #0] 80d498e: 1c5a adds r2, r3, #1 80d4990: 6022 str r2, [r4, #0] 80d4992: 701e strb r6, [r3, #0] 80d4994: 6963 ldr r3, [r4, #20] 80d4996: 3001 adds r0, #1 80d4998: 4298 cmp r0, r3 80d499a: d004 beq.n 80d49a6 <__swbuf_r+0x62> 80d499c: 89a3 ldrh r3, [r4, #12] 80d499e: 07db lsls r3, r3, #31 80d49a0: d519 bpl.n 80d49d6 <__swbuf_r+0x92> 80d49a2: 2e0a cmp r6, #10 80d49a4: d117 bne.n 80d49d6 <__swbuf_r+0x92> 80d49a6: 4621 mov r1, r4 80d49a8: 4628 mov r0, r5 80d49aa: f000 f943 bl 80d4c34 <_fflush_r> 80d49ae: b190 cbz r0, 80d49d6 <__swbuf_r+0x92> 80d49b0: e00f b.n 80d49d2 <__swbuf_r+0x8e> 80d49b2: 4b0b ldr r3, [pc, #44] ; (80d49e0 <__swbuf_r+0x9c>) 80d49b4: 429c cmp r4, r3 80d49b6: d101 bne.n 80d49bc <__swbuf_r+0x78> 80d49b8: 68ac ldr r4, [r5, #8] 80d49ba: e7d0 b.n 80d495e <__swbuf_r+0x1a> 80d49bc: 4b09 ldr r3, [pc, #36] ; (80d49e4 <__swbuf_r+0xa0>) 80d49be: 429c cmp r4, r3 80d49c0: bf08 it eq 80d49c2: 68ec ldreq r4, [r5, #12] 80d49c4: e7cb b.n 80d495e <__swbuf_r+0x1a> 80d49c6: 4621 mov r1, r4 80d49c8: 4628 mov r0, r5 80d49ca: f000 f82d bl 80d4a28 <__swsetup_r> 80d49ce: 2800 cmp r0, #0 80d49d0: d0cc beq.n 80d496c <__swbuf_r+0x28> 80d49d2: f04f 37ff mov.w r7, #4294967295 80d49d6: 4638 mov r0, r7 80d49d8: bdf8 pop {r3, r4, r5, r6, r7, pc} 80d49da: bf00 nop 80d49dc: 0818d360 .word 0x0818d360 80d49e0: 0818d380 .word 0x0818d380 80d49e4: 0818d340 .word 0x0818d340 080d49e8 <__ascii_wctomb>: 80d49e8: b149 cbz r1, 80d49fe <__ascii_wctomb+0x16> 80d49ea: 2aff cmp r2, #255 ; 0xff 80d49ec: bf85 ittet hi 80d49ee: 238a movhi r3, #138 ; 0x8a 80d49f0: 6003 strhi r3, [r0, #0] 80d49f2: 700a strbls r2, [r1, #0] 80d49f4: f04f 30ff movhi.w r0, #4294967295 80d49f8: bf98 it ls 80d49fa: 2001 movls r0, #1 80d49fc: 4770 bx lr 80d49fe: 4608 mov r0, r1 80d4a00: 4770 bx lr ... 080d4a04 <_write_r>: 80d4a04: b538 push {r3, r4, r5, lr} 80d4a06: 4c07 ldr r4, [pc, #28] ; (80d4a24 <_write_r+0x20>) 80d4a08: 4605 mov r5, r0 80d4a0a: 4608 mov r0, r1 80d4a0c: 4611 mov r1, r2 80d4a0e: 2200 movs r2, #0 80d4a10: 6022 str r2, [r4, #0] 80d4a12: 461a mov r2, r3 80d4a14: f7de f8bd bl 80b2b92 <_write> 80d4a18: 1c43 adds r3, r0, #1 80d4a1a: d102 bne.n 80d4a22 <_write_r+0x1e> 80d4a1c: 6823 ldr r3, [r4, #0] 80d4a1e: b103 cbz r3, 80d4a22 <_write_r+0x1e> 80d4a20: 602b str r3, [r5, #0] 80d4a22: bd38 pop {r3, r4, r5, pc} 80d4a24: 20069694 .word 0x20069694 080d4a28 <__swsetup_r>: 80d4a28: 4b32 ldr r3, [pc, #200] ; (80d4af4 <__swsetup_r+0xcc>) 80d4a2a: b570 push {r4, r5, r6, lr} 80d4a2c: 681d ldr r5, [r3, #0] 80d4a2e: 4606 mov r6, r0 80d4a30: 460c mov r4, r1 80d4a32: b125 cbz r5, 80d4a3e <__swsetup_r+0x16> 80d4a34: 69ab ldr r3, [r5, #24] 80d4a36: b913 cbnz r3, 80d4a3e <__swsetup_r+0x16> 80d4a38: 4628 mov r0, r5 80d4a3a: f7fe fb4d bl 80d30d8 <__sinit> 80d4a3e: 4b2e ldr r3, [pc, #184] ; (80d4af8 <__swsetup_r+0xd0>) 80d4a40: 429c cmp r4, r3 80d4a42: d10f bne.n 80d4a64 <__swsetup_r+0x3c> 80d4a44: 686c ldr r4, [r5, #4] 80d4a46: f9b4 300c ldrsh.w r3, [r4, #12] 80d4a4a: b29a uxth r2, r3 80d4a4c: 0715 lsls r5, r2, #28 80d4a4e: d42c bmi.n 80d4aaa <__swsetup_r+0x82> 80d4a50: 06d0 lsls r0, r2, #27 80d4a52: d411 bmi.n 80d4a78 <__swsetup_r+0x50> 80d4a54: 2209 movs r2, #9 80d4a56: 6032 str r2, [r6, #0] 80d4a58: f043 0340 orr.w r3, r3, #64 ; 0x40 80d4a5c: 81a3 strh r3, [r4, #12] 80d4a5e: f04f 30ff mov.w r0, #4294967295 80d4a62: bd70 pop {r4, r5, r6, pc} 80d4a64: 4b25 ldr r3, [pc, #148] ; (80d4afc <__swsetup_r+0xd4>) 80d4a66: 429c cmp r4, r3 80d4a68: d101 bne.n 80d4a6e <__swsetup_r+0x46> 80d4a6a: 68ac ldr r4, [r5, #8] 80d4a6c: e7eb b.n 80d4a46 <__swsetup_r+0x1e> 80d4a6e: 4b24 ldr r3, [pc, #144] ; (80d4b00 <__swsetup_r+0xd8>) 80d4a70: 429c cmp r4, r3 80d4a72: bf08 it eq 80d4a74: 68ec ldreq r4, [r5, #12] 80d4a76: e7e6 b.n 80d4a46 <__swsetup_r+0x1e> 80d4a78: 0751 lsls r1, r2, #29 80d4a7a: d512 bpl.n 80d4aa2 <__swsetup_r+0x7a> 80d4a7c: 6b61 ldr r1, [r4, #52] ; 0x34 80d4a7e: b141 cbz r1, 80d4a92 <__swsetup_r+0x6a> 80d4a80: f104 0344 add.w r3, r4, #68 ; 0x44 80d4a84: 4299 cmp r1, r3 80d4a86: d002 beq.n 80d4a8e <__swsetup_r+0x66> 80d4a88: 4630 mov r0, r6 80d4a8a: f7fd fa93 bl 80d1fb4 <_free_r> 80d4a8e: 2300 movs r3, #0 80d4a90: 6363 str r3, [r4, #52] ; 0x34 80d4a92: 89a3 ldrh r3, [r4, #12] 80d4a94: f023 0324 bic.w r3, r3, #36 ; 0x24 80d4a98: 81a3 strh r3, [r4, #12] 80d4a9a: 2300 movs r3, #0 80d4a9c: 6063 str r3, [r4, #4] 80d4a9e: 6923 ldr r3, [r4, #16] 80d4aa0: 6023 str r3, [r4, #0] 80d4aa2: 89a3 ldrh r3, [r4, #12] 80d4aa4: f043 0308 orr.w r3, r3, #8 80d4aa8: 81a3 strh r3, [r4, #12] 80d4aaa: 6923 ldr r3, [r4, #16] 80d4aac: b94b cbnz r3, 80d4ac2 <__swsetup_r+0x9a> 80d4aae: 89a3 ldrh r3, [r4, #12] 80d4ab0: f403 7320 and.w r3, r3, #640 ; 0x280 80d4ab4: f5b3 7f00 cmp.w r3, #512 ; 0x200 80d4ab8: d003 beq.n 80d4ac2 <__swsetup_r+0x9a> 80d4aba: 4621 mov r1, r4 80d4abc: 4630 mov r0, r6 80d4abe: f000 f919 bl 80d4cf4 <__smakebuf_r> 80d4ac2: 89a2 ldrh r2, [r4, #12] 80d4ac4: f012 0301 ands.w r3, r2, #1 80d4ac8: d00c beq.n 80d4ae4 <__swsetup_r+0xbc> 80d4aca: 2300 movs r3, #0 80d4acc: 60a3 str r3, [r4, #8] 80d4ace: 6963 ldr r3, [r4, #20] 80d4ad0: 425b negs r3, r3 80d4ad2: 61a3 str r3, [r4, #24] 80d4ad4: 6923 ldr r3, [r4, #16] 80d4ad6: b953 cbnz r3, 80d4aee <__swsetup_r+0xc6> 80d4ad8: f9b4 300c ldrsh.w r3, [r4, #12] 80d4adc: f013 0080 ands.w r0, r3, #128 ; 0x80 80d4ae0: d1ba bne.n 80d4a58 <__swsetup_r+0x30> 80d4ae2: bd70 pop {r4, r5, r6, pc} 80d4ae4: 0792 lsls r2, r2, #30 80d4ae6: bf58 it pl 80d4ae8: 6963 ldrpl r3, [r4, #20] 80d4aea: 60a3 str r3, [r4, #8] 80d4aec: e7f2 b.n 80d4ad4 <__swsetup_r+0xac> 80d4aee: 2000 movs r0, #0 80d4af0: e7f7 b.n 80d4ae2 <__swsetup_r+0xba> 80d4af2: bf00 nop 80d4af4: 20020b54 .word 0x20020b54 80d4af8: 0818d360 .word 0x0818d360 80d4afc: 0818d380 .word 0x0818d380 80d4b00: 0818d340 .word 0x0818d340 080d4b04 <_close_r>: 80d4b04: b538 push {r3, r4, r5, lr} 80d4b06: 4c06 ldr r4, [pc, #24] ; (80d4b20 <_close_r+0x1c>) 80d4b08: 2300 movs r3, #0 80d4b0a: 4605 mov r5, r0 80d4b0c: 4608 mov r0, r1 80d4b0e: 6023 str r3, [r4, #0] 80d4b10: f7de f888 bl 80b2c24 <_close> 80d4b14: 1c43 adds r3, r0, #1 80d4b16: d102 bne.n 80d4b1e <_close_r+0x1a> 80d4b18: 6823 ldr r3, [r4, #0] 80d4b1a: b103 cbz r3, 80d4b1e <_close_r+0x1a> 80d4b1c: 602b str r3, [r5, #0] 80d4b1e: bd38 pop {r3, r4, r5, pc} 80d4b20: 20069694 .word 0x20069694 080d4b24 <__sflush_r>: 80d4b24: 898a ldrh r2, [r1, #12] 80d4b26: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80d4b2a: 4605 mov r5, r0 80d4b2c: 0710 lsls r0, r2, #28 80d4b2e: 460c mov r4, r1 80d4b30: d45a bmi.n 80d4be8 <__sflush_r+0xc4> 80d4b32: 684b ldr r3, [r1, #4] 80d4b34: 2b00 cmp r3, #0 80d4b36: dc05 bgt.n 80d4b44 <__sflush_r+0x20> 80d4b38: 6c0b ldr r3, [r1, #64] ; 0x40 80d4b3a: 2b00 cmp r3, #0 80d4b3c: dc02 bgt.n 80d4b44 <__sflush_r+0x20> 80d4b3e: 2000 movs r0, #0 80d4b40: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80d4b44: 6ae6 ldr r6, [r4, #44] ; 0x2c 80d4b46: 2e00 cmp r6, #0 80d4b48: d0f9 beq.n 80d4b3e <__sflush_r+0x1a> 80d4b4a: 2300 movs r3, #0 80d4b4c: f412 5280 ands.w r2, r2, #4096 ; 0x1000 80d4b50: 682f ldr r7, [r5, #0] 80d4b52: 602b str r3, [r5, #0] 80d4b54: d033 beq.n 80d4bbe <__sflush_r+0x9a> 80d4b56: 6d60 ldr r0, [r4, #84] ; 0x54 80d4b58: 89a3 ldrh r3, [r4, #12] 80d4b5a: 075a lsls r2, r3, #29 80d4b5c: d505 bpl.n 80d4b6a <__sflush_r+0x46> 80d4b5e: 6863 ldr r3, [r4, #4] 80d4b60: 1ac0 subs r0, r0, r3 80d4b62: 6b63 ldr r3, [r4, #52] ; 0x34 80d4b64: b10b cbz r3, 80d4b6a <__sflush_r+0x46> 80d4b66: 6c23 ldr r3, [r4, #64] ; 0x40 80d4b68: 1ac0 subs r0, r0, r3 80d4b6a: 2300 movs r3, #0 80d4b6c: 4602 mov r2, r0 80d4b6e: 6ae6 ldr r6, [r4, #44] ; 0x2c 80d4b70: 6a21 ldr r1, [r4, #32] 80d4b72: 4628 mov r0, r5 80d4b74: 47b0 blx r6 80d4b76: 1c43 adds r3, r0, #1 80d4b78: 89a3 ldrh r3, [r4, #12] 80d4b7a: d106 bne.n 80d4b8a <__sflush_r+0x66> 80d4b7c: 6829 ldr r1, [r5, #0] 80d4b7e: 291d cmp r1, #29 80d4b80: d84b bhi.n 80d4c1a <__sflush_r+0xf6> 80d4b82: 4a2b ldr r2, [pc, #172] ; (80d4c30 <__sflush_r+0x10c>) 80d4b84: 40ca lsrs r2, r1 80d4b86: 07d6 lsls r6, r2, #31 80d4b88: d547 bpl.n 80d4c1a <__sflush_r+0xf6> 80d4b8a: 2200 movs r2, #0 80d4b8c: 6062 str r2, [r4, #4] 80d4b8e: 04d9 lsls r1, r3, #19 80d4b90: 6922 ldr r2, [r4, #16] 80d4b92: 6022 str r2, [r4, #0] 80d4b94: d504 bpl.n 80d4ba0 <__sflush_r+0x7c> 80d4b96: 1c42 adds r2, r0, #1 80d4b98: d101 bne.n 80d4b9e <__sflush_r+0x7a> 80d4b9a: 682b ldr r3, [r5, #0] 80d4b9c: b903 cbnz r3, 80d4ba0 <__sflush_r+0x7c> 80d4b9e: 6560 str r0, [r4, #84] ; 0x54 80d4ba0: 6b61 ldr r1, [r4, #52] ; 0x34 80d4ba2: 602f str r7, [r5, #0] 80d4ba4: 2900 cmp r1, #0 80d4ba6: d0ca beq.n 80d4b3e <__sflush_r+0x1a> 80d4ba8: f104 0344 add.w r3, r4, #68 ; 0x44 80d4bac: 4299 cmp r1, r3 80d4bae: d002 beq.n 80d4bb6 <__sflush_r+0x92> 80d4bb0: 4628 mov r0, r5 80d4bb2: f7fd f9ff bl 80d1fb4 <_free_r> 80d4bb6: 2000 movs r0, #0 80d4bb8: 6360 str r0, [r4, #52] ; 0x34 80d4bba: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80d4bbe: 6a21 ldr r1, [r4, #32] 80d4bc0: 2301 movs r3, #1 80d4bc2: 4628 mov r0, r5 80d4bc4: 47b0 blx r6 80d4bc6: 1c41 adds r1, r0, #1 80d4bc8: d1c6 bne.n 80d4b58 <__sflush_r+0x34> 80d4bca: 682b ldr r3, [r5, #0] 80d4bcc: 2b00 cmp r3, #0 80d4bce: d0c3 beq.n 80d4b58 <__sflush_r+0x34> 80d4bd0: 2b1d cmp r3, #29 80d4bd2: d001 beq.n 80d4bd8 <__sflush_r+0xb4> 80d4bd4: 2b16 cmp r3, #22 80d4bd6: d101 bne.n 80d4bdc <__sflush_r+0xb8> 80d4bd8: 602f str r7, [r5, #0] 80d4bda: e7b0 b.n 80d4b3e <__sflush_r+0x1a> 80d4bdc: 89a3 ldrh r3, [r4, #12] 80d4bde: f043 0340 orr.w r3, r3, #64 ; 0x40 80d4be2: 81a3 strh r3, [r4, #12] 80d4be4: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80d4be8: 690f ldr r7, [r1, #16] 80d4bea: 2f00 cmp r7, #0 80d4bec: d0a7 beq.n 80d4b3e <__sflush_r+0x1a> 80d4bee: 0793 lsls r3, r2, #30 80d4bf0: 680e ldr r6, [r1, #0] 80d4bf2: bf08 it eq 80d4bf4: 694b ldreq r3, [r1, #20] 80d4bf6: 600f str r7, [r1, #0] 80d4bf8: bf18 it ne 80d4bfa: 2300 movne r3, #0 80d4bfc: eba6 0807 sub.w r8, r6, r7 80d4c00: 608b str r3, [r1, #8] 80d4c02: f1b8 0f00 cmp.w r8, #0 80d4c06: dd9a ble.n 80d4b3e <__sflush_r+0x1a> 80d4c08: 4643 mov r3, r8 80d4c0a: 463a mov r2, r7 80d4c0c: 6a21 ldr r1, [r4, #32] 80d4c0e: 6aa6 ldr r6, [r4, #40] ; 0x28 80d4c10: 4628 mov r0, r5 80d4c12: 47b0 blx r6 80d4c14: 2800 cmp r0, #0 80d4c16: dc07 bgt.n 80d4c28 <__sflush_r+0x104> 80d4c18: 89a3 ldrh r3, [r4, #12] 80d4c1a: f043 0340 orr.w r3, r3, #64 ; 0x40 80d4c1e: 81a3 strh r3, [r4, #12] 80d4c20: f04f 30ff mov.w r0, #4294967295 80d4c24: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80d4c28: 4407 add r7, r0 80d4c2a: eba8 0800 sub.w r8, r8, r0 80d4c2e: e7e8 b.n 80d4c02 <__sflush_r+0xde> 80d4c30: 20400001 .word 0x20400001 080d4c34 <_fflush_r>: 80d4c34: b538 push {r3, r4, r5, lr} 80d4c36: 690b ldr r3, [r1, #16] 80d4c38: 4605 mov r5, r0 80d4c3a: 460c mov r4, r1 80d4c3c: b1db cbz r3, 80d4c76 <_fflush_r+0x42> 80d4c3e: b118 cbz r0, 80d4c48 <_fflush_r+0x14> 80d4c40: 6983 ldr r3, [r0, #24] 80d4c42: b90b cbnz r3, 80d4c48 <_fflush_r+0x14> 80d4c44: f7fe fa48 bl 80d30d8 <__sinit> 80d4c48: 4b0c ldr r3, [pc, #48] ; (80d4c7c <_fflush_r+0x48>) 80d4c4a: 429c cmp r4, r3 80d4c4c: d109 bne.n 80d4c62 <_fflush_r+0x2e> 80d4c4e: 686c ldr r4, [r5, #4] 80d4c50: f9b4 300c ldrsh.w r3, [r4, #12] 80d4c54: b17b cbz r3, 80d4c76 <_fflush_r+0x42> 80d4c56: 4621 mov r1, r4 80d4c58: 4628 mov r0, r5 80d4c5a: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 80d4c5e: f7ff bf61 b.w 80d4b24 <__sflush_r> 80d4c62: 4b07 ldr r3, [pc, #28] ; (80d4c80 <_fflush_r+0x4c>) 80d4c64: 429c cmp r4, r3 80d4c66: d101 bne.n 80d4c6c <_fflush_r+0x38> 80d4c68: 68ac ldr r4, [r5, #8] 80d4c6a: e7f1 b.n 80d4c50 <_fflush_r+0x1c> 80d4c6c: 4b05 ldr r3, [pc, #20] ; (80d4c84 <_fflush_r+0x50>) 80d4c6e: 429c cmp r4, r3 80d4c70: bf08 it eq 80d4c72: 68ec ldreq r4, [r5, #12] 80d4c74: e7ec b.n 80d4c50 <_fflush_r+0x1c> 80d4c76: 2000 movs r0, #0 80d4c78: bd38 pop {r3, r4, r5, pc} 80d4c7a: bf00 nop 80d4c7c: 0818d360 .word 0x0818d360 80d4c80: 0818d380 .word 0x0818d380 80d4c84: 0818d340 .word 0x0818d340 080d4c88 <_lseek_r>: 80d4c88: b538 push {r3, r4, r5, lr} 80d4c8a: 4c07 ldr r4, [pc, #28] ; (80d4ca8 <_lseek_r+0x20>) 80d4c8c: 4605 mov r5, r0 80d4c8e: 4608 mov r0, r1 80d4c90: 4611 mov r1, r2 80d4c92: 2200 movs r2, #0 80d4c94: 6022 str r2, [r4, #0] 80d4c96: 461a mov r2, r3 80d4c98: f7dd ffeb bl 80b2c72 <_lseek> 80d4c9c: 1c43 adds r3, r0, #1 80d4c9e: d102 bne.n 80d4ca6 <_lseek_r+0x1e> 80d4ca0: 6823 ldr r3, [r4, #0] 80d4ca2: b103 cbz r3, 80d4ca6 <_lseek_r+0x1e> 80d4ca4: 602b str r3, [r5, #0] 80d4ca6: bd38 pop {r3, r4, r5, pc} 80d4ca8: 20069694 .word 0x20069694 080d4cac <__swhatbuf_r>: 80d4cac: b570 push {r4, r5, r6, lr} 80d4cae: 460e mov r6, r1 80d4cb0: f9b1 100e ldrsh.w r1, [r1, #14] 80d4cb4: 2900 cmp r1, #0 80d4cb6: b090 sub sp, #64 ; 0x40 80d4cb8: 4614 mov r4, r2 80d4cba: 461d mov r5, r3 80d4cbc: da07 bge.n 80d4cce <__swhatbuf_r+0x22> 80d4cbe: 2300 movs r3, #0 80d4cc0: 602b str r3, [r5, #0] 80d4cc2: 89b3 ldrh r3, [r6, #12] 80d4cc4: 061a lsls r2, r3, #24 80d4cc6: d410 bmi.n 80d4cea <__swhatbuf_r+0x3e> 80d4cc8: f44f 6380 mov.w r3, #1024 ; 0x400 80d4ccc: e00e b.n 80d4cec <__swhatbuf_r+0x40> 80d4cce: aa01 add r2, sp, #4 80d4cd0: f000 f8a2 bl 80d4e18 <_fstat_r> 80d4cd4: 2800 cmp r0, #0 80d4cd6: dbf2 blt.n 80d4cbe <__swhatbuf_r+0x12> 80d4cd8: 9a02 ldr r2, [sp, #8] 80d4cda: f402 4270 and.w r2, r2, #61440 ; 0xf000 80d4cde: f5a2 5300 sub.w r3, r2, #8192 ; 0x2000 80d4ce2: 425a negs r2, r3 80d4ce4: 415a adcs r2, r3 80d4ce6: 602a str r2, [r5, #0] 80d4ce8: e7ee b.n 80d4cc8 <__swhatbuf_r+0x1c> 80d4cea: 2340 movs r3, #64 ; 0x40 80d4cec: 2000 movs r0, #0 80d4cee: 6023 str r3, [r4, #0] 80d4cf0: b010 add sp, #64 ; 0x40 80d4cf2: bd70 pop {r4, r5, r6, pc} 080d4cf4 <__smakebuf_r>: 80d4cf4: 898b ldrh r3, [r1, #12] 80d4cf6: b573 push {r0, r1, r4, r5, r6, lr} 80d4cf8: 079d lsls r5, r3, #30 80d4cfa: 4606 mov r6, r0 80d4cfc: 460c mov r4, r1 80d4cfe: d507 bpl.n 80d4d10 <__smakebuf_r+0x1c> 80d4d00: f104 0347 add.w r3, r4, #71 ; 0x47 80d4d04: 6023 str r3, [r4, #0] 80d4d06: 6123 str r3, [r4, #16] 80d4d08: 2301 movs r3, #1 80d4d0a: 6163 str r3, [r4, #20] 80d4d0c: b002 add sp, #8 80d4d0e: bd70 pop {r4, r5, r6, pc} 80d4d10: ab01 add r3, sp, #4 80d4d12: 466a mov r2, sp 80d4d14: f7ff ffca bl 80d4cac <__swhatbuf_r> 80d4d18: 9900 ldr r1, [sp, #0] 80d4d1a: 4605 mov r5, r0 80d4d1c: 4630 mov r0, r6 80d4d1e: f7fd f997 bl 80d2050 <_malloc_r> 80d4d22: b948 cbnz r0, 80d4d38 <__smakebuf_r+0x44> 80d4d24: f9b4 300c ldrsh.w r3, [r4, #12] 80d4d28: 059a lsls r2, r3, #22 80d4d2a: d4ef bmi.n 80d4d0c <__smakebuf_r+0x18> 80d4d2c: f023 0303 bic.w r3, r3, #3 80d4d30: f043 0302 orr.w r3, r3, #2 80d4d34: 81a3 strh r3, [r4, #12] 80d4d36: e7e3 b.n 80d4d00 <__smakebuf_r+0xc> 80d4d38: 4b0d ldr r3, [pc, #52] ; (80d4d70 <__smakebuf_r+0x7c>) 80d4d3a: 62b3 str r3, [r6, #40] ; 0x28 80d4d3c: 89a3 ldrh r3, [r4, #12] 80d4d3e: 6020 str r0, [r4, #0] 80d4d40: f043 0380 orr.w r3, r3, #128 ; 0x80 80d4d44: 81a3 strh r3, [r4, #12] 80d4d46: 9b00 ldr r3, [sp, #0] 80d4d48: 6163 str r3, [r4, #20] 80d4d4a: 9b01 ldr r3, [sp, #4] 80d4d4c: 6120 str r0, [r4, #16] 80d4d4e: b15b cbz r3, 80d4d68 <__smakebuf_r+0x74> 80d4d50: f9b4 100e ldrsh.w r1, [r4, #14] 80d4d54: 4630 mov r0, r6 80d4d56: f000 f871 bl 80d4e3c <_isatty_r> 80d4d5a: b128 cbz r0, 80d4d68 <__smakebuf_r+0x74> 80d4d5c: 89a3 ldrh r3, [r4, #12] 80d4d5e: f023 0303 bic.w r3, r3, #3 80d4d62: f043 0301 orr.w r3, r3, #1 80d4d66: 81a3 strh r3, [r4, #12] 80d4d68: 89a3 ldrh r3, [r4, #12] 80d4d6a: 431d orrs r5, r3 80d4d6c: 81a5 strh r5, [r4, #12] 80d4d6e: e7cd b.n 80d4d0c <__smakebuf_r+0x18> 80d4d70: 080d3059 .word 0x080d3059 080d4d74 : 80d4d74: 4288 cmp r0, r1 80d4d76: b510 push {r4, lr} 80d4d78: eb01 0302 add.w r3, r1, r2 80d4d7c: d803 bhi.n 80d4d86 80d4d7e: 1e42 subs r2, r0, #1 80d4d80: 4299 cmp r1, r3 80d4d82: d10c bne.n 80d4d9e 80d4d84: bd10 pop {r4, pc} 80d4d86: 4298 cmp r0, r3 80d4d88: d2f9 bcs.n 80d4d7e 80d4d8a: 1881 adds r1, r0, r2 80d4d8c: 1ad2 subs r2, r2, r3 80d4d8e: 42d3 cmn r3, r2 80d4d90: d100 bne.n 80d4d94 80d4d92: bd10 pop {r4, pc} 80d4d94: f813 4d01 ldrb.w r4, [r3, #-1]! 80d4d98: f801 4d01 strb.w r4, [r1, #-1]! 80d4d9c: e7f7 b.n 80d4d8e 80d4d9e: f811 4b01 ldrb.w r4, [r1], #1 80d4da2: f802 4f01 strb.w r4, [r2, #1]! 80d4da6: e7eb b.n 80d4d80 080d4da8 <_realloc_r>: 80d4da8: b5f8 push {r3, r4, r5, r6, r7, lr} 80d4daa: 4607 mov r7, r0 80d4dac: 4614 mov r4, r2 80d4dae: 460e mov r6, r1 80d4db0: b921 cbnz r1, 80d4dbc <_realloc_r+0x14> 80d4db2: 4611 mov r1, r2 80d4db4: e8bd 40f8 ldmia.w sp!, {r3, r4, r5, r6, r7, lr} 80d4db8: f7fd b94a b.w 80d2050 <_malloc_r> 80d4dbc: b922 cbnz r2, 80d4dc8 <_realloc_r+0x20> 80d4dbe: f7fd f8f9 bl 80d1fb4 <_free_r> 80d4dc2: 4625 mov r5, r4 80d4dc4: 4628 mov r0, r5 80d4dc6: bdf8 pop {r3, r4, r5, r6, r7, pc} 80d4dc8: f000 f848 bl 80d4e5c <_malloc_usable_size_r> 80d4dcc: 4284 cmp r4, r0 80d4dce: d90f bls.n 80d4df0 <_realloc_r+0x48> 80d4dd0: 4621 mov r1, r4 80d4dd2: 4638 mov r0, r7 80d4dd4: f7fd f93c bl 80d2050 <_malloc_r> 80d4dd8: 4605 mov r5, r0 80d4dda: 2800 cmp r0, #0 80d4ddc: d0f2 beq.n 80d4dc4 <_realloc_r+0x1c> 80d4dde: 4631 mov r1, r6 80d4de0: 4622 mov r2, r4 80d4de2: f7fd f8d4 bl 80d1f8e 80d4de6: 4631 mov r1, r6 80d4de8: 4638 mov r0, r7 80d4dea: f7fd f8e3 bl 80d1fb4 <_free_r> 80d4dee: e7e9 b.n 80d4dc4 <_realloc_r+0x1c> 80d4df0: 4635 mov r5, r6 80d4df2: e7e7 b.n 80d4dc4 <_realloc_r+0x1c> 080d4df4 <_read_r>: 80d4df4: b538 push {r3, r4, r5, lr} 80d4df6: 4c07 ldr r4, [pc, #28] ; (80d4e14 <_read_r+0x20>) 80d4df8: 4605 mov r5, r0 80d4dfa: 4608 mov r0, r1 80d4dfc: 4611 mov r1, r2 80d4dfe: 2200 movs r2, #0 80d4e00: 6022 str r2, [r4, #0] 80d4e02: 461a mov r2, r3 80d4e04: f7dd fea8 bl 80b2b58 <_read> 80d4e08: 1c43 adds r3, r0, #1 80d4e0a: d102 bne.n 80d4e12 <_read_r+0x1e> 80d4e0c: 6823 ldr r3, [r4, #0] 80d4e0e: b103 cbz r3, 80d4e12 <_read_r+0x1e> 80d4e10: 602b str r3, [r5, #0] 80d4e12: bd38 pop {r3, r4, r5, pc} 80d4e14: 20069694 .word 0x20069694 080d4e18 <_fstat_r>: 80d4e18: b538 push {r3, r4, r5, lr} 80d4e1a: 4c07 ldr r4, [pc, #28] ; (80d4e38 <_fstat_r+0x20>) 80d4e1c: 2300 movs r3, #0 80d4e1e: 4605 mov r5, r0 80d4e20: 4608 mov r0, r1 80d4e22: 4611 mov r1, r2 80d4e24: 6023 str r3, [r4, #0] 80d4e26: f7dd ff09 bl 80b2c3c <_fstat> 80d4e2a: 1c43 adds r3, r0, #1 80d4e2c: d102 bne.n 80d4e34 <_fstat_r+0x1c> 80d4e2e: 6823 ldr r3, [r4, #0] 80d4e30: b103 cbz r3, 80d4e34 <_fstat_r+0x1c> 80d4e32: 602b str r3, [r5, #0] 80d4e34: bd38 pop {r3, r4, r5, pc} 80d4e36: bf00 nop 80d4e38: 20069694 .word 0x20069694 080d4e3c <_isatty_r>: 80d4e3c: b538 push {r3, r4, r5, lr} 80d4e3e: 4c06 ldr r4, [pc, #24] ; (80d4e58 <_isatty_r+0x1c>) 80d4e40: 2300 movs r3, #0 80d4e42: 4605 mov r5, r0 80d4e44: 4608 mov r0, r1 80d4e46: 6023 str r3, [r4, #0] 80d4e48: f7dd ff08 bl 80b2c5c <_isatty> 80d4e4c: 1c43 adds r3, r0, #1 80d4e4e: d102 bne.n 80d4e56 <_isatty_r+0x1a> 80d4e50: 6823 ldr r3, [r4, #0] 80d4e52: b103 cbz r3, 80d4e56 <_isatty_r+0x1a> 80d4e54: 602b str r3, [r5, #0] 80d4e56: bd38 pop {r3, r4, r5, pc} 80d4e58: 20069694 .word 0x20069694 080d4e5c <_malloc_usable_size_r>: 80d4e5c: f851 0c04 ldr.w r0, [r1, #-4] 80d4e60: 2800 cmp r0, #0 80d4e62: f1a0 0004 sub.w r0, r0, #4 80d4e66: bfbc itt lt 80d4e68: 580b ldrlt r3, [r1, r0] 80d4e6a: 18c0 addlt r0, r0, r3 80d4e6c: 4770 bx lr ... 080d4e70 <_init>: 80d4e70: b5f8 push {r3, r4, r5, r6, r7, lr} 80d4e72: bf00 nop 80d4e74: bcf8 pop {r3, r4, r5, r6, r7} 80d4e76: bc08 pop {r3} 80d4e78: 469e mov lr, r3 80d4e7a: 4770 bx lr 080d4e7c <_fini>: 80d4e7c: b5f8 push {r3, r4, r5, r6, r7, lr} 80d4e7e: bf00 nop 80d4e80: bcf8 pop {r3, r4, r5, r6, r7} 80d4e82: bc08 pop {r3} 80d4e84: 469e mov lr, r3 80d4e86: 4770 bx lr